From 7ae606c50b534cc9dcf788bc2987fe4c4d372fbc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 2 Jul 2024 15:06:10 -0400 Subject: [PATCH 001/510] Create central toolchain directory --- README.md | 4 ++-- repos/kaleido/README-CC.md | 2 +- repos/win_scripts/README.md | 10 +++++----- BUILD_AND_RELEASE.md => toolchain/BUILD_AND_RELEASE.md | 0 4 files changed, 8 insertions(+), 8 deletions(-) rename BUILD_AND_RELEASE.md => toolchain/BUILD_AND_RELEASE.md (100%) diff --git a/README.md b/README.md index 2233f3c4..96ec65d1 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # Overview -Kaleido is a cross-platform library for generating static images (e.g. png, svg, pdf, etc.) for web-based visualization libraries. +Kaleido is a cross-platform library for generating static images (e.g. png, svg, pdf, etc.) for web-based visualization libraries. In short: If you `pip install kaleido` you can use `fig.write_image("filename.png")`. -It is designed to be relatively straight-forward to extend to other web-based visualization libraries (and other programming languages)- see [BUILD_AND_RELEASE.md](BUILD_AND_RELEASE.md) for that and other developer questions. +It is designed to be relatively straight-forward to extend to other web-based visualization libraries (and other programming languages)- see [BUILD_AND_RELEASE.md](toolchain/BUILD_AND_RELEASE.md) for that and other developer questions. [Here is the historical readme](README-HISTORICAL.md) diff --git a/repos/kaleido/README-CC.md b/repos/kaleido/README-CC.md index 32156885..99badbc2 100644 --- a/repos/kaleido/README-CC.md +++ b/repos/kaleido/README-CC.md @@ -1,6 +1,6 @@ You'll see some different cc folders. -The cc folder that works with a particular chromium build is marked in [BUILD_AND_RELEASE.md](../../BUILD_AND_RELEASE.md). +The cc folder that works with a particular chromium build is marked in [BUILD_AND_RELEASE.md](../../toolchain/BUILD_AND_RELEASE.md). Chromium had two APIs for headless integration, they axed the one we were using after letting it degrade. diff --git a/repos/win_scripts/README.md b/repos/win_scripts/README.md index 6c8cdac1..169461c9 100644 --- a/repos/win_scripts/README.md +++ b/repos/win_scripts/README.md @@ -1,4 +1,4 @@ -At the bottom there are build notes for specific dates and versions. +At the bottom there are build notes for specific dates and versions. You should have at least 20GB free, compiling takes 3-6 hours on a 4 core 8GB RAM machine. @@ -10,7 +10,7 @@ The same script also include a TODO note you need to read regarding avoiding upd The `/repos/win_scripts/build_kaleido.ps1` has one environmental variable to set the cc version. -Heed the advice about patches in the main [BUILD_AND_RELEASE.md](../../BUILD_AND_RELEASE.md). +Heed the advice about patches in the main [BUILD_AND_RELEASE.md](../../toolchain/BUILD_AND_RELEASE.md). Otherwise, best of luck. @@ -18,7 +18,7 @@ Otherwise, best of luck. ### Dependencies: -* Visual Studio 2019+ (community edition is fine) +* Visual Studio 2019+ (community edition is fine) * nodejs 12 * Python 3 @@ -29,7 +29,7 @@ _NB: Go to the chromium repo online, the correct tag, the docs/ folder, and look $ /repos/win_scripts/fetch_chromium.ps1 ``` -Then build Kaleido to `repos/build/kaleido`. +Then build Kaleido to `repos/build/kaleido`. ``` # For a 64-bit build $ /repos/win_scripts/build_kaleido.ps1 x64 @@ -48,7 +48,7 @@ The build step will also create the Python wheel under `repos/kaleido/py/dist/` Docs ask for: * Windows 11 SDK version 10.0.22621.2428. This can be installed separately or by checking the appropriate box in the Visual Studio Installer. -* (Windows 11) SDK Debugging Tools 10.0.22621.755 or higher +* (Windows 11) SDK Debugging Tools 10.0.22621.755 or higher You can do that through Visual Studio Installer + Windows control panel to activate the debugger, but I find it easier to just install from here using checkboxes: [Microsoft SDK-Archive](https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/). diff --git a/BUILD_AND_RELEASE.md b/toolchain/BUILD_AND_RELEASE.md similarity index 100% rename from BUILD_AND_RELEASE.md rename to toolchain/BUILD_AND_RELEASE.md From 7d603e5388b830ba2745c9c2989d90b0c79f8b30 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 2 Jul 2024 15:13:30 -0400 Subject: [PATCH 002/510] Add filter to circleci for only:master --- .circleci/config.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index dd41de79..198e82ca 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -330,6 +330,10 @@ workflows: jobs: - hold: type: approval + filters: + branches: + only: + - master - windows_fetch: requires: - hold @@ -341,6 +345,10 @@ workflows: jobs: - hold: type: approval + filters: + branches: + only: + - master - windows_fetch: requires: - hold @@ -352,6 +360,10 @@ workflows: jobs: - hold: type: approval + filters: + branches: + only: + - master - mac_fetch: requires: - hold @@ -366,6 +378,10 @@ workflows: jobs: - hold: type: approval + filters: + branches: + only: + - master - mac_fetch: requires: - hold @@ -380,6 +396,10 @@ workflows: jobs: - hold: type: approval + filters: + branches: + only: + - master - linux_fetch: requires: - hold @@ -397,6 +417,10 @@ workflows: jobs: - hold: type: approval + filters: + branches: + only: + - master - linux_fetch: requires: - hold @@ -408,6 +432,10 @@ workflows: jobs: - hold: type: approval + filters: + branches: + only: + - master - linux_fetch: requires: - hold From c743a3d2d19eb13a8e903910989c5838c12b5d55 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 2 Jul 2024 17:12:26 -0400 Subject: [PATCH 003/510] Add first build step + some utilities --- .gitignore | 1 + toolchain/DEV_README.md | 10 +++ toolchain/stages/00-set_version.sh | 82 +++++++++++++++++++ toolchain/stages/include/utilities.sh | 16 ++++ .../version_configurations/108.0.5359.125 | 2 + .../version_configurations/88.0.4324.150 | 2 + 6 files changed, 113 insertions(+) create mode 100644 toolchain/DEV_README.md create mode 100755 toolchain/stages/00-set_version.sh create mode 100644 toolchain/stages/include/utilities.sh create mode 100644 toolchain/version_configurations/108.0.5359.125 create mode 100644 toolchain/version_configurations/88.0.4324.150 diff --git a/.gitignore b/.gitignore index 128d1356..86889fc6 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ repos/kaleido/py/scratch/ repos/CREDITS.html repos/*.tar.gz *.sw* +.set_version diff --git a/toolchain/DEV_README.md b/toolchain/DEV_README.md new file mode 100644 index 00000000..ccfc0f40 --- /dev/null +++ b/toolchain/DEV_README.md @@ -0,0 +1,10 @@ +# Developing the Toolchain + +Bash is dangerous and hard to test, but portable across platforms and flexible, so keep modules as small as possible. + +# build stage scripts + +They are all numbered by supposed order and have a verbose --help. + +- stages/00-set_version.sh + diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh new file mode 100755 index 00000000..c23062b5 --- /dev/null +++ b/toolchain/stages/00-set_version.sh @@ -0,0 +1,82 @@ +#!/bin/bash + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange +. $SCRIPT_DIR/include/utilities.sh + +usage=( + "set_version will check to see if the chromium/depot_tools version are set- if not," + "set_version helps specify the versions. Choose from a list of known combinations" + "or specify refs exactly for both. Known combinations are in version_configurations." + "A file will be created in the root of the git directory, .set_version, with the environmental variables." + "You can also just set flags or environmental variables, and .set_version file will be rewritten." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "" + "Display this help:" + "set_version [-h|--h]" + "" + "Specify a known chromium/depot_tools combo (see version_configurations/):" + "set_version [-c|--chromium] KNOWN_REF" + "" + "Specify the refs directly:" + "set_version [-c|--chromium] REF [-d|--depot] REF" + "" + "Force ask:" + "set_version [-a|--ask]" +) +## PROCESS FLAGS + +print_usage() { + printf "Usage: ..." +} + +ASK=false +while (( $# )); do + case $1 in + -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; + -c|--chromium) shift; CHROMIUM_VERSION_TAG="$1" ;; + -d|--depot) shift; DEPOT_TOOLS_COMMIT="$1" ;; + -a|--ask) ASK=true + *) printf "%s\n" "${usage[@]}"; exit 1 ;; + esac + shift +done + +if $ASK; then + : +elif [ -n "${CHROMIUM_VERSION_TAG}" ]; then + if [ -n "${DEPOT_TOOLS_COMMIT}" ]; then + : + else: + if test -f $MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}: then + . $MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG} + else: + error "Could not find a know configuration for ${CHROMIUMPVERSION_TAG}, see --help" + fi +else: + ASK=true +fi + +if $ASK; then + PS3="c) Custom"$'\n'"Select a preset version combination (1, 2, etc), or 'c' to specify your own: " + options=($(ls -v $MAIN_DIR/toolchain/version_configurations)) # they say not to ever parse ls, oop + select opt in "${options[@]}" + do + echo "$REPLY, $opt" + if [ "$REPLY" == "c" ] or [ "$REPLY" == "C" ]; then + read -p "Chromium version tag (or ref): " CHROMIUM_VERSION_TAG + read -p "Depot tools commit (or ref): " DEPOT_TOOLS_COMMIT + elif [ "$opt" == "" ]; then + . $MAIN_DIR/toolchain/version_configurations/$opt + else + error "$REPLY not understood" + fi + break + done +fi + +echo "CHROMIUM_VERSION_TAG=${CHROMIUM_VERSION_TAG}" > $MAIN_DIR/.set_version +echo "DEPOT_TOOLS_COMMIT=${DEPOT_TOOLS_COMMIT}" >> $MAIN_DIR/.set_version + +export CHROMIUM_VERSION_TAG +export DEPOT_TOOLS_COMMIT diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh new file mode 100644 index 00000000..dfb189fe --- /dev/null +++ b/toolchain/stages/include/utilities.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e # exit on any error + +error() +{ + echo "Error: $@" >&2 + exit 1 +} +export -f error + +export MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory + +if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then + error "git rev-parse returned an empty directory, are we in a git directory?" +fi diff --git a/toolchain/version_configurations/108.0.5359.125 b/toolchain/version_configurations/108.0.5359.125 new file mode 100644 index 00000000..fc4fe100 --- /dev/null +++ b/toolchain/version_configurations/108.0.5359.125 @@ -0,0 +1,2 @@ +CHROMIUM_VERSION_TAG="108.0.5359.125" +DEPOT_TOOLS_COMMIT="f9f61a9d" diff --git a/toolchain/version_configurations/88.0.4324.150 b/toolchain/version_configurations/88.0.4324.150 new file mode 100644 index 00000000..3d32e16b --- /dev/null +++ b/toolchain/version_configurations/88.0.4324.150 @@ -0,0 +1,2 @@ +CHROMIUM_VERSION_TAG="88.0.4324.150" +DEPOT_TOOLS_COMMIT="f9f61a9d" From 3ac4ed44079a28be27cc0b2f1133a25a94def885 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 2 Jul 2024 18:17:33 -0400 Subject: [PATCH 004/510] Add check in 00-set_version for .set_version --- toolchain/stages/00-set_version.sh | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index c23062b5..203ddc2e 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -45,14 +45,16 @@ done if $ASK; then : elif [ -n "${CHROMIUM_VERSION_TAG}" ]; then - if [ -n "${DEPOT_TOOLS_COMMIT}" ]; then - : + if [ -n "${DEPOT_TOOLS_COMMIT}" ]; then + : + else: + if test -f $MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}: then + . $MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG} else: - if test -f $MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}: then - . $MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG} - else: - error "Could not find a know configuration for ${CHROMIUMPVERSION_TAG}, see --help" - fi + error "Could not find a know configuration for ${CHROMIUM_VERSION_TAG}, see --help" + fi +elif test -f $MAIN_DIR/.set_version: then + . $MAIN_DIR/.set_version else: ASK=true fi From aa3c1ff77c53a09351aa54f1e3763f06a6e4d2e4 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 2 Jul 2024 18:18:04 -0400 Subject: [PATCH 005/510] Fix indentation --- toolchain/stages/00-set_version.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index 203ddc2e..d1bcd3ec 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -64,16 +64,16 @@ if $ASK; then options=($(ls -v $MAIN_DIR/toolchain/version_configurations)) # they say not to ever parse ls, oop select opt in "${options[@]}" do - echo "$REPLY, $opt" - if [ "$REPLY" == "c" ] or [ "$REPLY" == "C" ]; then - read -p "Chromium version tag (or ref): " CHROMIUM_VERSION_TAG - read -p "Depot tools commit (or ref): " DEPOT_TOOLS_COMMIT - elif [ "$opt" == "" ]; then - . $MAIN_DIR/toolchain/version_configurations/$opt - else - error "$REPLY not understood" - fi - break + echo "$REPLY, $opt" + if [ "$REPLY" == "c" ] or [ "$REPLY" == "C" ]; then + read -p "Chromium version tag (or ref): " CHROMIUM_VERSION_TAG + read -p "Depot tools commit (or ref): " DEPOT_TOOLS_COMMIT + elif [ "$opt" == "" ]; then + . $MAIN_DIR/toolchain/version_configurations/$opt + else + error "$REPLY not understood" + fi + break done fi From 14e616f165639dc782de11664792d024b83f6e64 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 2 Jul 2024 18:18:59 -0400 Subject: [PATCH 006/510] Fix bad syntax --- toolchain/stages/00-set_version.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index d1bcd3ec..f66069a9 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -47,15 +47,15 @@ if $ASK; then elif [ -n "${CHROMIUM_VERSION_TAG}" ]; then if [ -n "${DEPOT_TOOLS_COMMIT}" ]; then : - else: - if test -f $MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}: then + else + if test -f $MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}; then . $MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG} - else: + else error "Could not find a know configuration for ${CHROMIUM_VERSION_TAG}, see --help" fi -elif test -f $MAIN_DIR/.set_version: then +elif test -f $MAIN_DIR/.set_version; then . $MAIN_DIR/.set_version -else: +else ASK=true fi From 3c4481efccaf9fae676a6ab9c9c07c96c420d133 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 2 Jul 2024 18:28:04 -0400 Subject: [PATCH 007/510] Fix basic typos in bash --- toolchain/stages/00-set_version.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index f66069a9..5770760c 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -36,7 +36,7 @@ while (( $# )); do -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; -c|--chromium) shift; CHROMIUM_VERSION_TAG="$1" ;; -d|--depot) shift; DEPOT_TOOLS_COMMIT="$1" ;; - -a|--ask) ASK=true + -a|--ask) ASK=true ;; *) printf "%s\n" "${usage[@]}"; exit 1 ;; esac shift @@ -53,6 +53,7 @@ elif [ -n "${CHROMIUM_VERSION_TAG}" ]; then else error "Could not find a know configuration for ${CHROMIUM_VERSION_TAG}, see --help" fi + fi elif test -f $MAIN_DIR/.set_version; then . $MAIN_DIR/.set_version else @@ -64,11 +65,10 @@ if $ASK; then options=($(ls -v $MAIN_DIR/toolchain/version_configurations)) # they say not to ever parse ls, oop select opt in "${options[@]}" do - echo "$REPLY, $opt" - if [ "$REPLY" == "c" ] or [ "$REPLY" == "C" ]; then + if [ "$REPLY" == "c" ] || [ "$REPLY" == "C" ]; then read -p "Chromium version tag (or ref): " CHROMIUM_VERSION_TAG read -p "Depot tools commit (or ref): " DEPOT_TOOLS_COMMIT - elif [ "$opt" == "" ]; then + elif [ "$opt" != "" ]; then . $MAIN_DIR/toolchain/version_configurations/$opt else error "$REPLY not understood" From 762a173886b80ad75932e34764cbbf84c3871d33 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 2 Jul 2024 18:28:21 -0400 Subject: [PATCH 008/510] Add utilities for get/export version in bash --- toolchain/stages/00-set_version.sh | 3 +-- toolchain/stages/include/utilities.sh | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index 5770760c..ac3fa3c0 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -80,5 +80,4 @@ fi echo "CHROMIUM_VERSION_TAG=${CHROMIUM_VERSION_TAG}" > $MAIN_DIR/.set_version echo "DEPOT_TOOLS_COMMIT=${DEPOT_TOOLS_COMMIT}" >> $MAIN_DIR/.set_version -export CHROMIUM_VERSION_TAG -export DEPOT_TOOLS_COMMIT +export_version diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index dfb189fe..b0302e61 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -14,3 +14,20 @@ export MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then error "git rev-parse returned an empty directory, are we in a git directory?" fi + +get_version() +{ + if test -f $MAIN_DIR/.set_version; then + . $MAIN_DIR/.set_version + elif [ -z "${DEPO_TOOLS_COMMIT}" ] || [ -z "${CHROMIUM_VERSION_TAG}" ]; then + error "Couldn't find or set env vars for versions, please run set_version." + fi +} +export -f get_version + +export_version() +{ + export CHROMIUM_VERSION_TAG + export DEPOT_TOOLS_COMMIT +} +export -f export_version From 55de6c690776cf85257a97005d6f4d876b2332af Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 2 Jul 2024 18:38:43 -0400 Subject: [PATCH 009/510] Add 01-fetch_tools --- toolchain/stages/01-fetch_tools.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100755 toolchain/stages/01-fetch_tools.sh diff --git a/toolchain/stages/01-fetch_tools.sh b/toolchain/stages/01-fetch_tools.sh new file mode 100755 index 00000000..84b3edec --- /dev/null +++ b/toolchain/stages/01-fetch_tools.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange +. $SCRIPT_DIR/include/utilities.sh + +get_version +export_version + +# Get depot_tools +git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $MAIN_DIR/repos/depo_tools/ + +git -C $MAIN_DIR/repos/depot_tools/ reset --hard ${DEPOT_TOOLS_COMMIT} +git -C $MAIN_DIR/repos/depot_tools/ clean -ffd + From 36771a9d90e6f4b6330fe7d928b291c60d59c958 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 2 Jul 2024 18:39:01 -0400 Subject: [PATCH 010/510] Add depot_tools path during utilities.sh --- toolchain/stages/include/utilities.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index b0302e61..19d28395 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -10,6 +10,7 @@ error() export -f error export MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory +export PATH=$MAIN_DIR/repos/depot_tools/bootstrap:$PATH if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then error "git rev-parse returned an empty directory, are we in a git directory?" From 23d39eff619552d295fead35a76cde5f51025577 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 2 Jul 2024 18:44:57 -0400 Subject: [PATCH 011/510] Properly quote all paths --- toolchain/DEV_README.md | 3 +++ toolchain/stages/00-set_version.sh | 18 +++++++++--------- toolchain/stages/01-fetch_tools.sh | 8 ++++---- toolchain/stages/include/utilities.sh | 6 +++--- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/toolchain/DEV_README.md b/toolchain/DEV_README.md index ccfc0f40..c9dd5ad9 100644 --- a/toolchain/DEV_README.md +++ b/toolchain/DEV_README.md @@ -2,6 +2,9 @@ Bash is dangerous and hard to test, but portable across platforms and flexible, so keep modules as small as possible. +- shellcheck.net +- https://github.com/kward/shunit2 + # build stage scripts They are all numbered by supposed order and have a verbose --help. diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index ac3fa3c0..e8725e54 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange -. $SCRIPT_DIR/include/utilities.sh +. "$SCRIPT_DIR/include/utilities.sh" usage=( "set_version will check to see if the chromium/depot_tools version are set- if not," @@ -48,28 +48,28 @@ elif [ -n "${CHROMIUM_VERSION_TAG}" ]; then if [ -n "${DEPOT_TOOLS_COMMIT}" ]; then : else - if test -f $MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}; then - . $MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG} + if test -f "$MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}"; then + . "$MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}" else error "Could not find a know configuration for ${CHROMIUM_VERSION_TAG}, see --help" fi fi -elif test -f $MAIN_DIR/.set_version; then - . $MAIN_DIR/.set_version +elif test -f "$MAIN_DIR/.set_version"; then + . "$MAIN_DIR/.set_version" else ASK=true fi if $ASK; then PS3="c) Custom"$'\n'"Select a preset version combination (1, 2, etc), or 'c' to specify your own: " - options=($(ls -v $MAIN_DIR/toolchain/version_configurations)) # they say not to ever parse ls, oop + options=($(ls -v "$MAIN_DIR/toolchain/version_configurations")) # they say not to ever parse ls, oop select opt in "${options[@]}" do if [ "$REPLY" == "c" ] || [ "$REPLY" == "C" ]; then read -p "Chromium version tag (or ref): " CHROMIUM_VERSION_TAG read -p "Depot tools commit (or ref): " DEPOT_TOOLS_COMMIT elif [ "$opt" != "" ]; then - . $MAIN_DIR/toolchain/version_configurations/$opt + . "$MAIN_DIR/toolchain/version_configurations/$opt" else error "$REPLY not understood" fi @@ -77,7 +77,7 @@ if $ASK; then done fi -echo "CHROMIUM_VERSION_TAG=${CHROMIUM_VERSION_TAG}" > $MAIN_DIR/.set_version -echo "DEPOT_TOOLS_COMMIT=${DEPOT_TOOLS_COMMIT}" >> $MAIN_DIR/.set_version +echo "CHROMIUM_VERSION_TAG=${CHROMIUM_VERSION_TAG}" > "$MAIN_DIR/.set_version" +echo "DEPOT_TOOLS_COMMIT=${DEPOT_TOOLS_COMMIT}" >> "$MAIN_DIR/.set_version" export_version diff --git a/toolchain/stages/01-fetch_tools.sh b/toolchain/stages/01-fetch_tools.sh index 84b3edec..ad6403d9 100755 --- a/toolchain/stages/01-fetch_tools.sh +++ b/toolchain/stages/01-fetch_tools.sh @@ -1,14 +1,14 @@ #!/bin/bash SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange -. $SCRIPT_DIR/include/utilities.sh +. "$SCRIPT_DIR/include/utilities.sh" get_version export_version # Get depot_tools -git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $MAIN_DIR/repos/depo_tools/ +git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "$MAIN_DIR/repos/depo_tools/" -git -C $MAIN_DIR/repos/depot_tools/ reset --hard ${DEPOT_TOOLS_COMMIT} -git -C $MAIN_DIR/repos/depot_tools/ clean -ffd +git -C "$MAIN_DIR/repos/depot_tools/" reset --hard ${DEPOT_TOOLS_COMMIT} +git -C "$MAIN_DIR/repos/depot_tools/" clean -ffd diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index 19d28395..fdb4bb15 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -10,7 +10,7 @@ error() export -f error export MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory -export PATH=$MAIN_DIR/repos/depot_tools/bootstrap:$PATH +export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then error "git rev-parse returned an empty directory, are we in a git directory?" @@ -18,8 +18,8 @@ fi get_version() { - if test -f $MAIN_DIR/.set_version; then - . $MAIN_DIR/.set_version + if test -f "$MAIN_DIR/.set_version"; then + . "$MAIN_DIR/.set_version" elif [ -z "${DEPO_TOOLS_COMMIT}" ] || [ -z "${CHROMIUM_VERSION_TAG}" ]; then error "Couldn't find or set env vars for versions, please run set_version." fi From 10a126910e3efcfbaae3ef901cb7b82396411fb5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 11:46:47 -0400 Subject: [PATCH 012/510] Add fake namespace to bash util functions --- toolchain/stages/00-set_version.sh | 6 +++--- toolchain/stages/01-fetch_tools.sh | 4 ++-- toolchain/stages/include/utilities.sh | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index e8725e54..c9d15f72 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -51,7 +51,7 @@ elif [ -n "${CHROMIUM_VERSION_TAG}" ]; then if test -f "$MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}"; then . "$MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}" else - error "Could not find a know configuration for ${CHROMIUM_VERSION_TAG}, see --help" + util_error "Could not find a know configuration for ${CHROMIUM_VERSION_TAG}, see --help" fi fi elif test -f "$MAIN_DIR/.set_version"; then @@ -71,7 +71,7 @@ if $ASK; then elif [ "$opt" != "" ]; then . "$MAIN_DIR/toolchain/version_configurations/$opt" else - error "$REPLY not understood" + util_error "$REPLY not understood" fi break done @@ -80,4 +80,4 @@ fi echo "CHROMIUM_VERSION_TAG=${CHROMIUM_VERSION_TAG}" > "$MAIN_DIR/.set_version" echo "DEPOT_TOOLS_COMMIT=${DEPOT_TOOLS_COMMIT}" >> "$MAIN_DIR/.set_version" -export_version +util_export_version diff --git a/toolchain/stages/01-fetch_tools.sh b/toolchain/stages/01-fetch_tools.sh index ad6403d9..ea0405b5 100755 --- a/toolchain/stages/01-fetch_tools.sh +++ b/toolchain/stages/01-fetch_tools.sh @@ -3,8 +3,8 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange . "$SCRIPT_DIR/include/utilities.sh" -get_version -export_version +util_get_version +util_export_version # Get depot_tools git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "$MAIN_DIR/repos/depo_tools/" diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index fdb4bb15..e8600f58 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -2,7 +2,7 @@ set -e # exit on any error -error() +util_error() { echo "Error: $@" >&2 exit 1 @@ -16,7 +16,7 @@ if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then error "git rev-parse returned an empty directory, are we in a git directory?" fi -get_version() +util_get_version() { if test -f "$MAIN_DIR/.set_version"; then . "$MAIN_DIR/.set_version" @@ -26,7 +26,7 @@ get_version() } export -f get_version -export_version() +util_export_version() { export CHROMIUM_VERSION_TAG export DEPOT_TOOLS_COMMIT From a62e86f28dbda3e13dcc6f9eb566386368f05153 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 11:49:27 -0400 Subject: [PATCH 013/510] Fix export given new namespace --- toolchain/stages/include/utilities.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index e8600f58..4afb0939 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -7,7 +7,7 @@ util_error() echo "Error: $@" >&2 exit 1 } -export -f error +export -f util_error export MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" @@ -24,11 +24,11 @@ util_get_version() error "Couldn't find or set env vars for versions, please run set_version." fi } -export -f get_version +export -f util_get_version util_export_version() { export CHROMIUM_VERSION_TAG export DEPOT_TOOLS_COMMIT } -export -f export_version +export -f util_export_version From 1d4bbd9a88e292a999d1a66a498b9dfcd3ed2397 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 11:49:40 -0400 Subject: [PATCH 014/510] Fix up usage help --- toolchain/stages/00-set_version.sh | 4 ---- toolchain/stages/01-fetch_tools.sh | 19 +++++++++++++++++++ toolchain/stages/xx-template.sh | 8 ++++++++ 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100755 toolchain/stages/xx-template.sh diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index c9d15f72..f091d2b8 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -26,10 +26,6 @@ usage=( ) ## PROCESS FLAGS -print_usage() { - printf "Usage: ..." -} - ASK=false while (( $# )); do case $1 in diff --git a/toolchain/stages/01-fetch_tools.sh b/toolchain/stages/01-fetch_tools.sh index ea0405b5..5ce38f08 100755 --- a/toolchain/stages/01-fetch_tools.sh +++ b/toolchain/stages/01-fetch_tools.sh @@ -6,6 +6,25 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) util_get_version util_export_version + +usage=( + "fetch_tools has no interface, it simply fetches depot_tools with git at the specified version." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "" + "Display this help:" + "set_version [-h|--h]" +) +## PROCESS FLAGS + +while (( $# )); do + case $1 in + -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; + *) printf "%s\n" "${usage[@]}"; exit 1 ;; + esac + shift +done + # Get depot_tools git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "$MAIN_DIR/repos/depo_tools/" diff --git a/toolchain/stages/xx-template.sh b/toolchain/stages/xx-template.sh new file mode 100755 index 00000000..1e1dc0e9 --- /dev/null +++ b/toolchain/stages/xx-template.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange +. "$SCRIPT_DIR/include/utilities.sh" + +get_version +export_version + From 631ad6e0cf8cdc23122afce86863ed04ce9455fe Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 12:08:47 -0400 Subject: [PATCH 015/510] Fix more namespace errors --- toolchain/stages/include/utilities.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index 4afb0939..2f1df9a4 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -13,7 +13,7 @@ export MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then - error "git rev-parse returned an empty directory, are we in a git directory?" + util_error "git rev-parse returned an empty directory, are we in a git directory?" fi util_get_version() @@ -21,7 +21,7 @@ util_get_version() if test -f "$MAIN_DIR/.set_version"; then . "$MAIN_DIR/.set_version" elif [ -z "${DEPO_TOOLS_COMMIT}" ] || [ -z "${CHROMIUM_VERSION_TAG}" ]; then - error "Couldn't find or set env vars for versions, please run set_version." + util_error "Couldn't find or set env vars for versions, please run set_version." fi } export -f util_get_version From 2483e95fff794c3d4de7328543f87ddf73fc22a4 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 12:09:18 -0400 Subject: [PATCH 016/510] Fixed up scripts with verbose options --- toolchain/stages/00-set_version.sh | 25 +++++++++++++++++++------ toolchain/stages/01-fetch_tools.sh | 19 ++++++++++++------- toolchain/stages/include/utilities.sh | 4 +++- 3 files changed, 34 insertions(+), 14 deletions(-) diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index f091d2b8..cd89e6d3 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -1,8 +1,5 @@ #!/bin/bash -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange -. "$SCRIPT_DIR/include/utilities.sh" - usage=( "set_version will check to see if the chromium/depot_tools version are set- if not," "set_version helps specify the versions. Choose from a list of known combinations" @@ -11,6 +8,7 @@ usage=( "You can also just set flags or environmental variables, and .set_version file will be rewritten." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" "" "Display this help:" "set_version [-h|--h]" @@ -27,33 +25,46 @@ usage=( ## PROCESS FLAGS ASK=false +NO_VERBOSE=true while (( $# )); do case $1 in -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; -c|--chromium) shift; CHROMIUM_VERSION_TAG="$1" ;; -d|--depot) shift; DEPOT_TOOLS_COMMIT="$1" ;; + -v|--verbose) NO_VERBOSE=false ;; -a|--ask) ASK=true ;; *) printf "%s\n" "${usage[@]}"; exit 1 ;; esac shift done +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange +. "$SCRIPT_DIR/include/utilities.sh" + if $ASK; then - : + $NO_VERBOSE || echo "--ask forced" elif [ -n "${CHROMIUM_VERSION_TAG}" ]; then + $NO_VERBOSE || echo "Found chromium ref: ${CHROMIUM_VERSION_TAG}." if [ -n "${DEPOT_TOOLS_COMMIT}" ]; then - : + $NO_VERBOSE || echo "Found depo_tools ref: ${DEPO_TOOLS_COMMIT}." else + $NO_VERBOSE || echo "No depo_tools ref found, looking for file w/ that chromium tag." if test -f "$MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}"; then . "$MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}" + $NO_VERBOSE || echo "Sourced known configuration:" + $NO_VERBOSE || echo "Chromium ref: ${CHROMIUM_VERSION_TAG}, depot_tools ref: ${DEPOT_TOOLS_COMMIT}" else util_error "Could not find a know configuration for ${CHROMIUM_VERSION_TAG}, see --help" fi fi elif test -f "$MAIN_DIR/.set_version"; then + $NO_VERBOSE || echo "Found a .set_version file." . "$MAIN_DIR/.set_version" + $NO_VERBOSE || echo "Sourced known configuration:" + $NO_VERBOSE || echo "Chromium ref: ${CHROMIUM_VERSION_TAG}, depot_tools ref: ${DEPOT_TOOLS_COMMIT}" else ASK=true + $NO_VERBOSE || echo "Don't know what you want, will ask." fi if $ASK; then @@ -66,6 +77,8 @@ if $ASK; then read -p "Depot tools commit (or ref): " DEPOT_TOOLS_COMMIT elif [ "$opt" != "" ]; then . "$MAIN_DIR/toolchain/version_configurations/$opt" + $NO_VERBOSE || echo "Sourced known configuration:" + $NO_VERBOSE || echo "Chromium ref: ${CHROMIUM_VERSION_TAG}, depot_tools ref: ${DEPOT_TOOLS_COMMIT}." else util_error "$REPLY not understood" fi @@ -75,5 +88,5 @@ fi echo "CHROMIUM_VERSION_TAG=${CHROMIUM_VERSION_TAG}" > "$MAIN_DIR/.set_version" echo "DEPOT_TOOLS_COMMIT=${DEPOT_TOOLS_COMMIT}" >> "$MAIN_DIR/.set_version" - +$NO_VERBOSE || echo "Wrote .set_version." util_export_version diff --git a/toolchain/stages/01-fetch_tools.sh b/toolchain/stages/01-fetch_tools.sh index 5ce38f08..276256b6 100755 --- a/toolchain/stages/01-fetch_tools.sh +++ b/toolchain/stages/01-fetch_tools.sh @@ -1,33 +1,38 @@ #!/bin/bash -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange -. "$SCRIPT_DIR/include/utilities.sh" - -util_get_version -util_export_version - - usage=( "fetch_tools has no interface, it simply fetches depot_tools with git at the specified version." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" "" "Display this help:" "set_version [-h|--h]" ) ## PROCESS FLAGS +NO_VERBOSE=true while (( $# )); do case $1 in -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; + -v|--verbose) NO_VERBOSE=false ;; *) printf "%s\n" "${usage[@]}"; exit 1 ;; esac shift done +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange +. "$SCRIPT_DIR/include/utilities.sh" + +util_get_version +util_export_version + # Get depot_tools +$NO_VERBOSE || echo "Downloading depot_tools:" git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "$MAIN_DIR/repos/depo_tools/" +$NO_VERBOSE || echo "Resetting depot_tools:" git -C "$MAIN_DIR/repos/depot_tools/" reset --hard ${DEPOT_TOOLS_COMMIT} +$NO_VERBOSE || echo "Cleaning depot_tools:" git -C "$MAIN_DIR/repos/depot_tools/" clean -ffd diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index 2f1df9a4..c69ecedd 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -10,7 +10,9 @@ util_error() export -f util_error export MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory -export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" +$NO_VERBOSE || echo "Found main dir: ${MAIN_DIR}" +export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS +$NO_VERBOSE || echo "Modified path to add future boostrap directory" if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then util_error "git rev-parse returned an empty directory, are we in a git directory?" From e09c06b2489dc38a028e6cae1b7c6567b05a4e8b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 12:13:45 -0400 Subject: [PATCH 017/510] Add tag to get latest known version --- toolchain/stages/00-set_version.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index cd89e6d3..1e7126ac 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -13,6 +13,9 @@ usage=( "Display this help:" "set_version [-h|--h]" "" + "Just get the latest known configuration:" + "set_version [-l|--latest]" + "" "Specify a known chromium/depot_tools combo (see version_configurations/):" "set_version [-c|--chromium] KNOWN_REF" "" @@ -26,12 +29,14 @@ usage=( ASK=false NO_VERBOSE=true +LATEST=false while (( $# )); do case $1 in -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; -c|--chromium) shift; CHROMIUM_VERSION_TAG="$1" ;; -d|--depot) shift; DEPOT_TOOLS_COMMIT="$1" ;; -v|--verbose) NO_VERBOSE=false ;; + -l|--latest) LATEST=true ;; -a|--ask) ASK=true ;; *) printf "%s\n" "${usage[@]}"; exit 1 ;; esac @@ -40,8 +45,12 @@ done SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange . "$SCRIPT_DIR/include/utilities.sh" - -if $ASK; then +if $LATEST; then + $NO_VERBOSE || echo "Getting latest:" + . "$MAIN_DIR/toolchain/version_configurations/$(ls -v "$MAIN_DIR/toolchain/version_configurations" | tail -1)" + $NO_VERBOSE || echo "Sourced known configuration:" + $NO_VERBOSE || echo "Chromium ref: ${CHROMIUM_VERSION_TAG}, depot_tools ref: ${DEPOT_TOOLS_COMMIT}" +elif $ASK; then $NO_VERBOSE || echo "--ask forced" elif [ -n "${CHROMIUM_VERSION_TAG}" ]; then $NO_VERBOSE || echo "Found chromium ref: ${CHROMIUM_VERSION_TAG}." From 6c73c3068770a42090996cb2b5677a59017c26a0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 12:21:00 -0400 Subject: [PATCH 018/510] Add script to grab platform --- toolchain/stages/include/utilities.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index c69ecedd..791d00aa 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -34,3 +34,19 @@ util_export_version() export DEPOT_TOOLS_COMMIT } export -f util_export_version + +PLATFORM="" +case "$OSTYPE" in + solaris*) PLATFORM="SOLARIS" ;; + darwin*) PLATFORM="OSX" ;; + linux*) PLATFORM="LINUX" ;; + bsd*) PLATFORM="BSD" ;; + msys*) PLATFORM="WINDOWS" ;; + cygwin*) PLATFORM="WRONG_WINDOWS" ;; # our scripts should always return msys + *) PLATFORM="$OSTYPE" ;; +esac + +if ! [[ "$PLATFORM" =~ ^(OSX|LINUX|WINDOWS)$ ]]; then + util_error "$PLATFORM is not a supported platform for building." +fi +$NO_VERBOSE || echo "Found platform: $PLATFORM" From 393597141398d0c79ac1c13228b076988dc7453d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 12:25:22 -0400 Subject: [PATCH 019/510] Add script to find architecture --- toolchain/stages/include/utilities.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index 791d00aa..b74939ad 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -50,3 +50,18 @@ if ! [[ "$PLATFORM" =~ ^(OSX|LINUX|WINDOWS)$ ]]; then util_error "$PLATFORM is not a supported platform for building." fi $NO_VERBOSE || echo "Found platform: $PLATFORM" + + +ARCH=$(uname -m) +if [[ "$ARCH" == x86_64* ]]; then + ARCH="x64" +elif [[ "$ARCH" == i*86 ]]; then + ARCH="x32" +elif [[ "$ARCH" == arm* ]]; then + ARCH="arm" +fi + +if ! [[ "$ARCH" =~ ^(x64|x32|arm)$ ]]; then + util_error "$ARCH is not a supported architecture for building." +fi +$NO_VERBOSE || echo "Found architecture: $ARCH" From dc600cf228622608f896be1e399612ab8279ed0a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 13:35:46 -0400 Subject: [PATCH 020/510] Reorganize utilities to support platform switch --- toolchain/stages/include/utilities.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index b74939ad..fe07fdc3 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -9,11 +9,6 @@ util_error() } export -f util_error -export MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory -$NO_VERBOSE || echo "Found main dir: ${MAIN_DIR}" -export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS -$NO_VERBOSE || echo "Modified path to add future boostrap directory" - if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then util_error "git rev-parse returned an empty directory, are we in a git directory?" fi @@ -65,3 +60,14 @@ if ! [[ "$ARCH" =~ ^(x64|x32|arm)$ ]]; then util_error "$ARCH is not a supported architecture for building." fi $NO_VERBOSE || echo "Found architecture: $ARCH" + +export MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory +$NO_VERBOSE || echo "Found main dir: ${MAIN_DIR}" + +if [ "$PLATFORM" == "WINDOWS" ]; then + export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS + $NO_VERBOSE || echo "Modified path to add future boostrap directory" +else + util_error "Non-windows not supported yet" +fi + From 1d7acc97f6df51cd3bc85c91b307de777ee7df60 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 13:55:29 -0400 Subject: [PATCH 021/510] Remove filters from circle ci --- .circleci/config.yml | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 198e82ca..dd41de79 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -330,10 +330,6 @@ workflows: jobs: - hold: type: approval - filters: - branches: - only: - - master - windows_fetch: requires: - hold @@ -345,10 +341,6 @@ workflows: jobs: - hold: type: approval - filters: - branches: - only: - - master - windows_fetch: requires: - hold @@ -360,10 +352,6 @@ workflows: jobs: - hold: type: approval - filters: - branches: - only: - - master - mac_fetch: requires: - hold @@ -378,10 +366,6 @@ workflows: jobs: - hold: type: approval - filters: - branches: - only: - - master - mac_fetch: requires: - hold @@ -396,10 +380,6 @@ workflows: jobs: - hold: type: approval - filters: - branches: - only: - - master - linux_fetch: requires: - hold @@ -417,10 +397,6 @@ workflows: jobs: - hold: type: approval - filters: - branches: - only: - - master - linux_fetch: requires: - hold @@ -432,10 +408,6 @@ workflows: jobs: - hold: type: approval - filters: - branches: - only: - - master - linux_fetch: requires: - hold From 6249077bda0054053d59643031a5ade23d585ca7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 14:11:12 -0400 Subject: [PATCH 022/510] Add line to delete depot_tools/.git --- toolchain/stages/01-fetch_tools.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/toolchain/stages/01-fetch_tools.sh b/toolchain/stages/01-fetch_tools.sh index 276256b6..dc97669f 100755 --- a/toolchain/stages/01-fetch_tools.sh +++ b/toolchain/stages/01-fetch_tools.sh @@ -36,3 +36,5 @@ git -C "$MAIN_DIR/repos/depot_tools/" reset --hard ${DEPOT_TOOLS_COMMIT} $NO_VERBOSE || echo "Cleaning depot_tools:" git -C "$MAIN_DIR/repos/depot_tools/" clean -ffd +$NO_VERBOSE || echo "Deleting depot_tools.git" +rm -rf "$MAIN_DIR/repos/depot_tools/.git" # oof dangerous From bd3152036724b707f810cbe693d400feb335b2b1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 14:26:58 -0400 Subject: [PATCH 023/510] Archive old config.yml and write simple one --- .circleci/config.yml | 413 ++------------------------------------ .circleci/config.yml.old | 416 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 427 insertions(+), 402 deletions(-) create mode 100644 .circleci/config.yml.old diff --git a/.circleci/config.yml b/.circleci/config.yml index dd41de79..faed8668 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,416 +1,25 @@ version: 2.1 -orbs: - win: circleci/windows@2.4.0 # The Windows orb give you everything you need to start using the Windows executor. - -commands: - linux_build: - parameters: - arch: - default: "x64" - type: string - steps: - - checkout - - attach_workspace: - at: ./repos - - run: ./repos/linux_scripts/build_kaleido <> - - run: ./repos/linux_scripts/bundle_artifacts <> - - store_artifacts: - path: ./repos/kaleido/kaleido_artifacts_linux_<>.zip - - persist_to_workspace: - root: ./repos - paths: - - kaleido/py/ - - kaleido/tests/ - - windows_build: - parameters: - arch: - default: "x64" - type: string - steps: - - checkout - - run: - name: Update PowerShell.Archive to fix slash direction - command: Install-Module Microsoft.PowerShell.Archive -MinimumVersion 1.2.3.0 -Repository PSGallery -Force - - run: - name: Install Debugging Tools for Windows SDK 10.0.19041.685 - command: choco install windows-sdk-10-version-2004-windbg - - attach_workspace: - at: .\repos - - run: .\repos\win_scripts\build_kaleido.ps1 <> - - run: python .\repos\kaleido\py\setup.py bundle_hash_artifacts - - store_artifacts: - path: ./repos/kaleido/kaleido_artifacts_win_<>.zip - - mac_build_blink: - parameters: - arch: - default: "x64" - type: string - steps: - - checkout - - run: - name: Delete simulators and unused platforms to save space - command: | - sudo rm -rf /Library/Developer/CoreSimulator - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform - - attach_workspace: - at: ./repos - - run: - command: ./repos/mac_scripts/build_blink <> - no_output_timeout: 30m - - persist_to_workspace: - root: ./repos - paths: - - src - - depot_tools - - .gclient - - .gclient_entries - - kaleido/version - - CREDITS.html - - mac_build: - parameters: - arch: - default: "x64" - type: string +commands: # all jobs/workflows use same commands + set_version: steps: - checkout - run: - name: Delete simulators and unused platforms to save space - command: | - sudo rm -rf /Library/Developer/CoreSimulator - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform - - attach_workspace: - at: ./repos - - run: - command: ./repos/mac_scripts/build_kaleido <> - no_output_timeout: 30m - - run: python3 ./repos/kaleido/py/setup.py bundle_hash_artifacts - - store_artifacts: - path: ./repos/kaleido/kaleido_artifacts_mac_<>.zip - - + name: set_version + command: ./toolchain/stages/00-set_version.sh --latest --verbose jobs: - linux_fetch: - machine: - image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run - resource_class: large - steps: - - checkout - - run: docker pull jonmmease/chromium-builder:0.8 - - run: - name: Fetch detpot_tools and chromium source tree - command: ./repos/linux_scripts/fetch_chromium - no_output_timeout: 30m - - run: - name: Delete .git directories to save space (skipping angle taken from electron circleci build) - command: | - cd ./repos/src - sudo rm -rf .git - - run: - name: Open permissions of fetched src directory - command: | - sudo chmod -R 777 ./repos/src - - persist_to_workspace: - root: ./repos - paths: - - src - - depot_tools - - .gclient - - .gclient_entries - - kaleido/version - - CREDITS.html - - linux_build_x64: - machine: - image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run - resource_class: xlarge - environment: - KALEIDO_ARCH: "x64" - steps: - - linux_build: - arch: "x64" - - linux_build_arm64: - machine: - image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run - resource_class: xlarge - environment: - KALEIDO_ARCH: "arm64" - steps: - - linux_build: - arch: "arm64" - - linux_build_arm: - machine: - image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run - resource_class: xlarge - environment: - KALEIDO_ARCH: "arm" - steps: - - linux_build: - arch: "arm" - - linux_test_37: - docker: - - image: continuumio/miniconda3 - steps: - - checkout - - attach_workspace: - at: ./repos - - run: - name: Install dependencies - command: | - conda install python=3.7 poppler - pip install pytest plotly pandas - pip install ./repos/kaleido/py/dist/kaleido-*.whl - - run: - name: Test Python - command: | - cd ./repos/kaleido/tests/ - pytest -s test_py/ - - store_artifacts: - path: ./repos/kaleido/py/tests/baselines/plotly/failed/* - - linux_test_27: - docker: - - image: continuumio/miniconda2 - steps: - - attach_workspace: - at: ./repos - - run: - name: Install dependencies - command: | - conda install python=2.7 poppler - pip install pytest plotly pandas mock pathlib - pip install ./repos/kaleido/py/dist/kaleido-*.whl - - run: - name: Test Python - command: | - cd ./repos/kaleido/tests/ - pytest -s test_py/ - - store_artifacts: - path: ./repos/kaleido/py/tests/baselines/plotly/failed/* - - mac_fetch: - macos: # indicate that we are using the macOS executor - xcode: 11.1.0 # indicate our selected version of Xcode - resource_class: large - steps: - - checkout - - run: - name: Delete simulators and unused platforms to save space - command: | - sudo rm -rf /Library/Developer/CoreSimulator - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform - - run: - name: Fetch detpot_tools and chromium source tree - command: ./repos/mac_scripts/fetch_chromium - no_output_timeout: 30m - - run: - name: Delete .git directories to save space (skipping angle taken from electron circleci build) - command: | - cd ./repos/src - ( find . -type d -name ".git" -not -path "./third_party/angle/*" ) | xargs rm -rf - - persist_to_workspace: - root: ./repos - paths: - - src - - depot_tools - - .gclient - - .gclient_entries - - kaleido/version - - CREDITS.html - - - mac_build_blink_x64: - macos: # indicate that we are using the macOS executor - xcode: 12.2.0 # indicate our selected version of Xcode - resource_class: large - environment: - KALEIDO_ARCH: "x64" - steps: - - mac_build_blink: - arch: "x64" - - mac_build_blink_arm64: - macos: # indicate that we are using the macOS executor - xcode: 12.2.0 # indicate our selected version of Xcode - resource_class: large - environment: - KALEIDO_ARCH: "arm64" - steps: - - mac_build_blink: - arch: "arm64" - - - mac_build_x64: - macos: # indicate that we are using the macOS executor - xcode: 12.2.0 # indicate our selected version of Xcode - resource_class: large - environment: - KALEIDO_ARCH: "x64" - steps: - - mac_build: - arch: "x64" - - mac_build_arm64: - macos: # indicate that we are using the macOS executor - xcode: 12.2.0 # indicate our selected version of Xcode - resource_class: large - environment: - KALEIDO_ARCH: "arm64" - steps: - - mac_build: - arch: "arm64" - - - windows_fetch: - executor: - name: win/default - size: "large" - shell: powershell.exe - steps: - - checkout - - run: echo $Host.Version - - run: - command: .\repos\win_scripts\fetch_chromium.ps1 - no_output_timeout: 30m - - persist_to_workspace: - root: ./repos - paths: - - src - - depot_tools - - .gclient - - .gclient_entries - - kaleido/version - - CREDITS.html - - windows_build_x64: - executor: - name: win/default - size: "xlarge" - shell: powershell.exe - environment: - KALEIDO_ARCH: "x64" - steps: - - windows_build: - arch: "x64" - - windows_build_x86: - executor: - name: win/default - size: "xlarge" - shell: powershell.exe - environment: - KALEIDO_ARCH: "x86" + linux-x64: + machine: # machine specifies a linux vm + image: ubuntu-1604:201903-01 + resource_class: small steps: - - windows_build: - arch: "x86" + - set_version workflows: - build-windows-x64: - jobs: - - hold: - type: approval - - windows_fetch: - requires: - - hold - - windows_build_x64: - requires: - - windows_fetch - - build-windows-x86: - jobs: - - hold: - type: approval - - windows_fetch: - requires: - - hold - - windows_build_x86: - requires: - - windows_fetch - - build-mac-x64: - jobs: - - hold: - type: approval - - mac_fetch: - requires: - - hold - - mac_build_blink_x64: - requires: - - mac_fetch - - mac_build_x64: - requires: - - mac_build_blink_x64 - - build-mac-arm64: - jobs: - - hold: - type: approval - - mac_fetch: - requires: - - hold - - mac_build_blink_arm64: - requires: - - mac_fetch - - mac_build_arm64: - requires: - - mac_build_blink_arm64 - - build-linux-x64: + build-basics: # this workflow will do mac, linux, and windows without arch xcompile jobs: - hold: type: approval - - linux_fetch: + - linux-x64: requires: - hold - - linux_build_x64: - requires: - - linux_fetch - - linux_test_37: - requires: - - linux_build_x64 - - linux_test_27: - requires: - - linux_build_x64 - - build-linux-arm64: - jobs: - - hold: - type: approval - - linux_fetch: - requires: - - hold - - linux_build_arm64: - requires: - - linux_fetch - - build-linux-arm: - jobs: - - hold: - type: approval - - linux_fetch: - requires: - - hold - - linux_build_arm: - requires: - - linux_fetch diff --git a/.circleci/config.yml.old b/.circleci/config.yml.old new file mode 100644 index 00000000..dd41de79 --- /dev/null +++ b/.circleci/config.yml.old @@ -0,0 +1,416 @@ +version: 2.1 + +orbs: + win: circleci/windows@2.4.0 # The Windows orb give you everything you need to start using the Windows executor. + +commands: + linux_build: + parameters: + arch: + default: "x64" + type: string + steps: + - checkout + - attach_workspace: + at: ./repos + - run: ./repos/linux_scripts/build_kaleido <> + - run: ./repos/linux_scripts/bundle_artifacts <> + - store_artifacts: + path: ./repos/kaleido/kaleido_artifacts_linux_<>.zip + - persist_to_workspace: + root: ./repos + paths: + - kaleido/py/ + - kaleido/tests/ + + windows_build: + parameters: + arch: + default: "x64" + type: string + steps: + - checkout + - run: + name: Update PowerShell.Archive to fix slash direction + command: Install-Module Microsoft.PowerShell.Archive -MinimumVersion 1.2.3.0 -Repository PSGallery -Force + - run: + name: Install Debugging Tools for Windows SDK 10.0.19041.685 + command: choco install windows-sdk-10-version-2004-windbg + - attach_workspace: + at: .\repos + - run: .\repos\win_scripts\build_kaleido.ps1 <> + - run: python .\repos\kaleido\py\setup.py bundle_hash_artifacts + - store_artifacts: + path: ./repos/kaleido/kaleido_artifacts_win_<>.zip + + mac_build_blink: + parameters: + arch: + default: "x64" + type: string + steps: + - checkout + - run: + name: Delete simulators and unused platforms to save space + command: | + sudo rm -rf /Library/Developer/CoreSimulator + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform + - attach_workspace: + at: ./repos + - run: + command: ./repos/mac_scripts/build_blink <> + no_output_timeout: 30m + - persist_to_workspace: + root: ./repos + paths: + - src + - depot_tools + - .gclient + - .gclient_entries + - kaleido/version + - CREDITS.html + + mac_build: + parameters: + arch: + default: "x64" + type: string + steps: + - checkout + - run: + name: Delete simulators and unused platforms to save space + command: | + sudo rm -rf /Library/Developer/CoreSimulator + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform + - attach_workspace: + at: ./repos + - run: + command: ./repos/mac_scripts/build_kaleido <> + no_output_timeout: 30m + - run: python3 ./repos/kaleido/py/setup.py bundle_hash_artifacts + - store_artifacts: + path: ./repos/kaleido/kaleido_artifacts_mac_<>.zip + + +jobs: + linux_fetch: + machine: + image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run + resource_class: large + steps: + - checkout + - run: docker pull jonmmease/chromium-builder:0.8 + - run: + name: Fetch detpot_tools and chromium source tree + command: ./repos/linux_scripts/fetch_chromium + no_output_timeout: 30m + - run: + name: Delete .git directories to save space (skipping angle taken from electron circleci build) + command: | + cd ./repos/src + sudo rm -rf .git + - run: + name: Open permissions of fetched src directory + command: | + sudo chmod -R 777 ./repos/src + - persist_to_workspace: + root: ./repos + paths: + - src + - depot_tools + - .gclient + - .gclient_entries + - kaleido/version + - CREDITS.html + + linux_build_x64: + machine: + image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run + resource_class: xlarge + environment: + KALEIDO_ARCH: "x64" + steps: + - linux_build: + arch: "x64" + + linux_build_arm64: + machine: + image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run + resource_class: xlarge + environment: + KALEIDO_ARCH: "arm64" + steps: + - linux_build: + arch: "arm64" + + linux_build_arm: + machine: + image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run + resource_class: xlarge + environment: + KALEIDO_ARCH: "arm" + steps: + - linux_build: + arch: "arm" + + linux_test_37: + docker: + - image: continuumio/miniconda3 + steps: + - checkout + - attach_workspace: + at: ./repos + - run: + name: Install dependencies + command: | + conda install python=3.7 poppler + pip install pytest plotly pandas + pip install ./repos/kaleido/py/dist/kaleido-*.whl + - run: + name: Test Python + command: | + cd ./repos/kaleido/tests/ + pytest -s test_py/ + - store_artifacts: + path: ./repos/kaleido/py/tests/baselines/plotly/failed/* + + linux_test_27: + docker: + - image: continuumio/miniconda2 + steps: + - attach_workspace: + at: ./repos + - run: + name: Install dependencies + command: | + conda install python=2.7 poppler + pip install pytest plotly pandas mock pathlib + pip install ./repos/kaleido/py/dist/kaleido-*.whl + - run: + name: Test Python + command: | + cd ./repos/kaleido/tests/ + pytest -s test_py/ + - store_artifacts: + path: ./repos/kaleido/py/tests/baselines/plotly/failed/* + + mac_fetch: + macos: # indicate that we are using the macOS executor + xcode: 11.1.0 # indicate our selected version of Xcode + resource_class: large + steps: + - checkout + - run: + name: Delete simulators and unused platforms to save space + command: | + sudo rm -rf /Library/Developer/CoreSimulator + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform + - run: + name: Fetch detpot_tools and chromium source tree + command: ./repos/mac_scripts/fetch_chromium + no_output_timeout: 30m + - run: + name: Delete .git directories to save space (skipping angle taken from electron circleci build) + command: | + cd ./repos/src + ( find . -type d -name ".git" -not -path "./third_party/angle/*" ) | xargs rm -rf + - persist_to_workspace: + root: ./repos + paths: + - src + - depot_tools + - .gclient + - .gclient_entries + - kaleido/version + - CREDITS.html + + + mac_build_blink_x64: + macos: # indicate that we are using the macOS executor + xcode: 12.2.0 # indicate our selected version of Xcode + resource_class: large + environment: + KALEIDO_ARCH: "x64" + steps: + - mac_build_blink: + arch: "x64" + + mac_build_blink_arm64: + macos: # indicate that we are using the macOS executor + xcode: 12.2.0 # indicate our selected version of Xcode + resource_class: large + environment: + KALEIDO_ARCH: "arm64" + steps: + - mac_build_blink: + arch: "arm64" + + + mac_build_x64: + macos: # indicate that we are using the macOS executor + xcode: 12.2.0 # indicate our selected version of Xcode + resource_class: large + environment: + KALEIDO_ARCH: "x64" + steps: + - mac_build: + arch: "x64" + + mac_build_arm64: + macos: # indicate that we are using the macOS executor + xcode: 12.2.0 # indicate our selected version of Xcode + resource_class: large + environment: + KALEIDO_ARCH: "arm64" + steps: + - mac_build: + arch: "arm64" + + + windows_fetch: + executor: + name: win/default + size: "large" + shell: powershell.exe + steps: + - checkout + - run: echo $Host.Version + - run: + command: .\repos\win_scripts\fetch_chromium.ps1 + no_output_timeout: 30m + - persist_to_workspace: + root: ./repos + paths: + - src + - depot_tools + - .gclient + - .gclient_entries + - kaleido/version + - CREDITS.html + + windows_build_x64: + executor: + name: win/default + size: "xlarge" + shell: powershell.exe + environment: + KALEIDO_ARCH: "x64" + steps: + - windows_build: + arch: "x64" + + windows_build_x86: + executor: + name: win/default + size: "xlarge" + shell: powershell.exe + environment: + KALEIDO_ARCH: "x86" + steps: + - windows_build: + arch: "x86" + +workflows: + build-windows-x64: + jobs: + - hold: + type: approval + - windows_fetch: + requires: + - hold + - windows_build_x64: + requires: + - windows_fetch + + build-windows-x86: + jobs: + - hold: + type: approval + - windows_fetch: + requires: + - hold + - windows_build_x86: + requires: + - windows_fetch + + build-mac-x64: + jobs: + - hold: + type: approval + - mac_fetch: + requires: + - hold + - mac_build_blink_x64: + requires: + - mac_fetch + - mac_build_x64: + requires: + - mac_build_blink_x64 + + build-mac-arm64: + jobs: + - hold: + type: approval + - mac_fetch: + requires: + - hold + - mac_build_blink_arm64: + requires: + - mac_fetch + - mac_build_arm64: + requires: + - mac_build_blink_arm64 + + build-linux-x64: + jobs: + - hold: + type: approval + - linux_fetch: + requires: + - hold + - linux_build_x64: + requires: + - linux_fetch + - linux_test_37: + requires: + - linux_build_x64 + - linux_test_27: + requires: + - linux_build_x64 + + build-linux-arm64: + jobs: + - hold: + type: approval + - linux_fetch: + requires: + - hold + - linux_build_arm64: + requires: + - linux_fetch + + build-linux-arm: + jobs: + - hold: + type: approval + - linux_fetch: + requires: + - hold + - linux_build_arm: + requires: + - linux_fetch From 00d58b35fbaa45495361e750fed69059a3dfdc29 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 14:28:17 -0400 Subject: [PATCH 024/510] Upgrade resource class, small doesn't exist --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index faed8668..59eb38d5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,9 +9,9 @@ commands: # all jobs/workflows use same commands command: ./toolchain/stages/00-set_version.sh --latest --verbose jobs: linux-x64: - machine: # machine specifies a linux vm + machine: # machine specifies a linux vm, can we just use docker for the pull? image: ubuntu-1604:201903-01 - resource_class: small + resource_class: medium steps: - set_version From 3a1b09ed58e4ff2260e96c428908a4877d8faff7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 14:32:51 -0400 Subject: [PATCH 025/510] Remove resource class --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 59eb38d5..6521faeb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,7 +11,7 @@ jobs: linux-x64: machine: # machine specifies a linux vm, can we just use docker for the pull? image: ubuntu-1604:201903-01 - resource_class: medium + # resource_class: medium steps: - set_version From 603b4505dc9c4b4416f1740fa31873a9240b70e2 Mon Sep 17 00:00:00 2001 From: personal <30324885+ayjayt@users.noreply.github.com> Date: Wed, 3 Jul 2024 14:35:45 -0400 Subject: [PATCH 026/510] Updated config.yml --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6521faeb..c5c547f6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,7 +11,7 @@ jobs: linux-x64: machine: # machine specifies a linux vm, can we just use docker for the pull? image: ubuntu-1604:201903-01 - # resource_class: medium + resource_class: large steps: - set_version From 5039c7144090ad8f51d19cb12fe3c5f8d745f2ef Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 14:36:35 -0400 Subject: [PATCH 027/510] Use more modern ubuntu for ci --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c5c547f6..b03155f8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,8 +10,8 @@ commands: # all jobs/workflows use same commands jobs: linux-x64: machine: # machine specifies a linux vm, can we just use docker for the pull? - image: ubuntu-1604:201903-01 - resource_class: large + image: ubuntu-2004:202010-01 + resource_class: medium steps: - set_version From 6f43d61081e88858eadb513b7b81ae8fe22e3d06 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 14:48:15 -0400 Subject: [PATCH 028/510] Switch to default linux imagine for circleci --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b03155f8..4e55b181 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,7 +10,7 @@ commands: # all jobs/workflows use same commands jobs: linux-x64: machine: # machine specifies a linux vm, can we just use docker for the pull? - image: ubuntu-2004:202010-01 + image: default # maybe specify an image? circle-ci changes them resource_class: medium steps: - set_version From 7a7e89df57ea5bd431c2ba5d52eb0ee76264bd34 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 14:48:22 -0400 Subject: [PATCH 029/510] Print out some diagnostics --- toolchain/stages/00-set_version.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index 1e7126ac..0b72d48a 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -1,5 +1,10 @@ #!/bin/bash +echo $PWD +ls +ls / +echo $USER + usage=( "set_version will check to see if the chromium/depot_tools version are set- if not," "set_version helps specify the versions. Choose from a list of known combinations" From 1e9056a3e84e4e7a4f61267b89ad9165734bcac0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 14:49:59 -0400 Subject: [PATCH 030/510] Print out some diagnostics 2 --- toolchain/stages/00-set_version.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index 0b72d48a..fd513d5e 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -1,8 +1,8 @@ #!/bin/bash echo $PWD -ls -ls / +ls -la +ls / -la echo $USER usage=( From ddf8b6ed6b270a7f254d03ad025e72471016bd57 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 14:51:42 -0400 Subject: [PATCH 031/510] Fix bad line order cause false error --- toolchain/stages/00-set_version.sh | 5 ----- toolchain/stages/include/utilities.sh | 8 ++++---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index fd513d5e..1e7126ac 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -1,10 +1,5 @@ #!/bin/bash -echo $PWD -ls -la -ls / -la -echo $USER - usage=( "set_version will check to see if the chromium/depot_tools version are set- if not," "set_version helps specify the versions. Choose from a list of known combinations" diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index fe07fdc3..7ac31a95 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -9,10 +9,6 @@ util_error() } export -f util_error -if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then - util_error "git rev-parse returned an empty directory, are we in a git directory?" -fi - util_get_version() { if test -f "$MAIN_DIR/.set_version"; then @@ -64,6 +60,10 @@ $NO_VERBOSE || echo "Found architecture: $ARCH" export MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory $NO_VERBOSE || echo "Found main dir: ${MAIN_DIR}" +if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then + util_error "git rev-parse returned an empty directory, are we in a git directory?" +fi + if [ "$PLATFORM" == "WINDOWS" ]; then export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS $NO_VERBOSE || echo "Modified path to add future boostrap directory" From e262593b964fd29be4b14548e296c4973e62a6f2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 14:53:25 -0400 Subject: [PATCH 032/510] Allow multi-platform builds --- toolchain/stages/include/utilities.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index 7ac31a95..5661ed8e 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -67,7 +67,5 @@ fi if [ "$PLATFORM" == "WINDOWS" ]; then export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS $NO_VERBOSE || echo "Modified path to add future boostrap directory" -else - util_error "Non-windows not supported yet" fi From d756fd6406dafc066a66681189b922ee95bf8ae1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 15:09:11 -0400 Subject: [PATCH 033/510] Add windows box --- .circleci/config.yml | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4e55b181..795775f1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,25 +1,44 @@ version: 2.1 +orbs: + win: circleci/windows@5.0 + commands: # all jobs/workflows use same commands + # can we make an "all" command? set_version: steps: - - checkout - run: name: set_version - command: ./toolchain/stages/00-set_version.sh --latest --verbose + command: bash ./toolchain/stages/00-set_version.sh --latest --verbose + jobs: linux-x64: machine: # machine specifies a linux vm, can we just use docker for the pull? image: default # maybe specify an image? circle-ci changes them resource_class: medium steps: + - checkout + - set_version + + windows-x64: + executor: + name: win/default + steps: + - checkout + - run: + name: Install Dependencies + command: choco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" - set_version + workflows: - build-basics: # this workflow will do mac, linux, and windows without arch xcompile + 1-arch-3-os: # this workflow will do mac, linux, and windows without arch xcompile jobs: - hold: type: approval - linux-x64: requires: - hold + - windows-x64: + requires: + - hold From f395942e394b6381551ca65d7d77015a891a1643 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 15:22:05 -0400 Subject: [PATCH 034/510] Remove redundant dep install --- .circleci/config.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 795775f1..4b06176d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -25,9 +25,10 @@ jobs: name: win/default steps: - checkout - - run: - name: Install Dependencies - command: choco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" + # The following actually comes installed already: +# - run: +# name: Install Dependencies +# command: choco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" - set_version From 84f636f96def5358f5d1e017becc2db209184385 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 15:22:13 -0400 Subject: [PATCH 035/510] Add option to delete git --- toolchain/stages/01-fetch_tools.sh | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/toolchain/stages/01-fetch_tools.sh b/toolchain/stages/01-fetch_tools.sh index dc97669f..16509d08 100755 --- a/toolchain/stages/01-fetch_tools.sh +++ b/toolchain/stages/01-fetch_tools.sh @@ -1,22 +1,27 @@ #!/bin/bash usage=( - "fetch_tools has no interface, it simply fetches depot_tools with git at the specified version." + "fetch_tools has no real interface, it simply fetches depot_tools with git at the specified version." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" "" "Display this help:" "set_version [-h|--h]" + "" + "Delete .git to save space:" + "set_version [-d|--delete-git]" ) ## PROCESS FLAGS +DELETE_GIT=false NO_VERBOSE=true while (( $# )); do case $1 in - -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; - -v|--verbose) NO_VERBOSE=false ;; - *) printf "%s\n" "${usage[@]}"; exit 1 ;; + -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; + -v|--verbose) NO_VERBOSE=false ;; + -d|--delete-git) DELETE_GIT=true ;; + *) printf "%s\n" "${usage[@]}"; exit 1 ;; esac shift done @@ -36,5 +41,7 @@ git -C "$MAIN_DIR/repos/depot_tools/" reset --hard ${DEPOT_TOOLS_COMMIT} $NO_VERBOSE || echo "Cleaning depot_tools:" git -C "$MAIN_DIR/repos/depot_tools/" clean -ffd -$NO_VERBOSE || echo "Deleting depot_tools.git" -rm -rf "$MAIN_DIR/repos/depot_tools/.git" # oof dangerous +if $DELETE_GIT; then: + $NO_VERBOSE || echo "Deleting depot_tools/.git" + rm -rf "$MAIN_DIR/repos/depot_tools/.git" # oof dangerous +fi From 504fbf0e67bff1f5da0b7331ab57ac4e6d75cf26 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 15:34:40 -0400 Subject: [PATCH 036/510] Add mac CI --- .circleci/config.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4b06176d..7f1a2030 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,6 +23,7 @@ jobs: windows-x64: executor: name: win/default + resource_class: medium steps: - checkout # The following actually comes installed already: @@ -31,6 +32,23 @@ jobs: # command: choco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" - set_version + osx: + macos: # indicate that we are using the macOS executor + xcode: 15.4.0 + resource_class: macos.m1.medium.gen1 + steps: + - checkout + - run: + name: Delete simulators and unused platforms to save space + command: | + sudo rm -rf /Library/Developer/CoreSimulator + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform + sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform + - set_version workflows: 1-arch-3-os: # this workflow will do mac, linux, and windows without arch xcompile @@ -43,3 +61,6 @@ workflows: - windows-x64: requires: - hold + - osx: + requires: + - hold From 46a3647ac3c3d5b8e74564aed21806eaf252a256 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 15:35:34 -0400 Subject: [PATCH 037/510] Remove resource class from win circleci --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7f1a2030..26e6886c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,7 +23,6 @@ jobs: windows-x64: executor: name: win/default - resource_class: medium steps: - checkout # The following actually comes installed already: From 52f24332eebfacb9c600e93a246758edf9c5b3cc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 15:38:50 -0400 Subject: [PATCH 038/510] Remove long-runing delete process from mac --- .circleci/config.yml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 26e6886c..93233896 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -30,23 +30,24 @@ jobs: # name: Install Dependencies # command: choco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" - set_version - +# osx: macos: # indicate that we are using the macOS executor xcode: 15.4.0 resource_class: macos.m1.medium.gen1 steps: - checkout - - run: - name: Delete simulators and unused platforms to save space - command: | - sudo rm -rf /Library/Developer/CoreSimulator - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform + # The following recommended by circle CI, but it takes time, costs money, and may not be necessary +# - run: +# name: Delete simulators and unused platforms to save space +# command: | +# sudo rm -rf /Library/Developer/CoreSimulator &> /dev/null +# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform &> /dev/null +# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform &> /dev/null +# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform &> /dev/null +# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform &> /dev/null +# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform &> /dev/null +# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform &> /dev/null - set_version workflows: From 46ff12c5c244c4c31a14b8d0fca1505660129a8f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 15:40:33 -0400 Subject: [PATCH 039/510] Fix yaml syntax --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 93233896..9cdfd885 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -37,7 +37,7 @@ jobs: resource_class: macos.m1.medium.gen1 steps: - checkout - # The following recommended by circle CI, but it takes time, costs money, and may not be necessary + # The following recommended by circle CI, but it takes time, costs money, and may not be necessary # - run: # name: Delete simulators and unused platforms to save space # command: | From c06ee9782048fe5bb87ea491d3084f75e1778bb0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 16:10:18 -0400 Subject: [PATCH 040/510] Add utility to put build scripts in bin --- .gitignore | 1 + toolchain/stages/00-set_version.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 86889fc6..e70f1c35 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ repos/CREDITS.html repos/*.tar.gz *.sw* .set_version +bin diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index 1e7126ac..7c125876 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -45,6 +45,7 @@ done SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange . "$SCRIPT_DIR/include/utilities.sh" + if $LATEST; then $NO_VERBOSE || echo "Getting latest:" . "$MAIN_DIR/toolchain/version_configurations/$(ls -v "$MAIN_DIR/toolchain/version_configurations" | tail -1)" From c3c5b7b73c21e5337f40879d943cf8a3744d3574 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 16:14:24 -0400 Subject: [PATCH 041/510] Add to git file from previous commit --- toolchain/make_bin | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 toolchain/make_bin diff --git a/toolchain/make_bin b/toolchain/make_bin new file mode 100644 index 00000000..c4f9688d --- /dev/null +++ b/toolchain/make_bin @@ -0,0 +1,33 @@ +set -e +MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory +if [ "${MAIN_DIR}" == "" ] || [ "${MAIN_DIR}" == "/" ]; then + echo "We need to be in the git directory." >&2 + exit 1 +fi +BIN_DIR="$(realpath $MAIN_DIR/bin)" +bash -c '( + MAIN_DIR="$(git rev-parse --show-toplevel)" + if [ "${MAIN_DIR}" == "" ] || [ "${MAIN_DIR}" == "/" ]; then + echo "We need to be in the git directory." >&2 + exit 1 + fi + BIN_DIR="$(realpath $MAIN_DIR/bin)" + mkdir -p "${BIN_DIR}" + + make_link() + { + name="${1//[0-9]*-/}" + name=${name%.sh} + ln -fs "$MAIN_DIR/toolchain/stages/$1" "$BIN_DIR/$name" + } + + make_link 00-set_version.sh + make_link 01-fetch_tools.sh +)' + +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + echo "Please source this script, don't execute it." >&2 + exit 1 +fi + +export PATH="$BIN_DIR:$PATH" From a04fc56241fcdce5a1bfb4f2bb44c0889e5edb97 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 16:18:50 -0400 Subject: [PATCH 042/510] Add cheap linux build --- .circleci/config.yml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9cdfd885..9fffc314 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,8 +12,16 @@ commands: # all jobs/workflows use same commands command: bash ./toolchain/stages/00-set_version.sh --latest --verbose jobs: + linux-docker: # similiar to the one below us + docker: # machine specifies a linux vm, can we just use docker for the pull? + - image: cimg/python + resource_class: small + steps: + - checkout + - set_version + linux-x64: - machine: # machine specifies a linux vm, can we just use docker for the pull? + machine: image: default # maybe specify an image? circle-ci changes them resource_class: medium steps: @@ -64,3 +72,10 @@ workflows: - osx: requires: - hold + cheap_test: + jobs: + - hold: + type: approval + - linux-docker: + requires: + -hold From 11c6298cf24f37f3d3a5e1f15eb8eba8c492b105 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 16:19:30 -0400 Subject: [PATCH 043/510] Fix yaml --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9fffc314..75b5708d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -78,4 +78,4 @@ workflows: type: approval - linux-docker: requires: - -hold + - hold From c67d9c29fda5ac841224b94a3f350bb09e662b92 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 16:21:28 -0400 Subject: [PATCH 044/510] Add version to python --- .circleci/config.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 75b5708d..9b0e6914 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,11 +14,14 @@ commands: # all jobs/workflows use same commands jobs: linux-docker: # similiar to the one below us docker: # machine specifies a linux vm, can we just use docker for the pull? - - image: cimg/python + - image: cimg/python:3.12.3 resource_class: small steps: - checkout - set_version + - run: + name: check git + command: git --version linux-x64: machine: From 7f99d5c4ebcbcc0672d39a252a7e646fa4c4eb53 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 3 Jul 2024 16:22:14 -0400 Subject: [PATCH 045/510] Remove debugging print --- .circleci/config.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9b0e6914..cbe496d6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,9 +19,6 @@ jobs: steps: - checkout - set_version - - run: - name: check git - command: git --version linux-x64: machine: From f058851e6c95380a939b8577333626dffc306e32 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 4 Jul 2024 12:18:38 -0400 Subject: [PATCH 046/510] Reformat comments a bit --- .circleci/config.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cbe496d6..43a97632 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -34,11 +34,11 @@ jobs: steps: - checkout # The following actually comes installed already: -# - run: -# name: Install Dependencies -# command: choco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" + #- run: + #name: Install Dependencies + #command: choco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" - set_version -# + osx: macos: # indicate that we are using the macOS executor xcode: 15.4.0 @@ -46,16 +46,16 @@ jobs: steps: - checkout # The following recommended by circle CI, but it takes time, costs money, and may not be necessary -# - run: -# name: Delete simulators and unused platforms to save space -# command: | -# sudo rm -rf /Library/Developer/CoreSimulator &> /dev/null -# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform &> /dev/null -# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform &> /dev/null -# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform &> /dev/null -# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform &> /dev/null -# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform &> /dev/null -# sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform &> /dev/null + #- run: + #name: Delete simulators and unused platforms to save space + #command: | + #sudo rm -rf /Library/Developer/CoreSimulator &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform &> /dev/null - set_version workflows: From aba2d655ddf4622c048a5accf80cf0b687f8b557 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 11:06:14 -0400 Subject: [PATCH 047/510] Reorganize dev interface a bit --- toolchain/DEV_README.md | 13 -------- toolchain/README.md | 32 +++++++++++++++++++ toolchain/stages/00-set_version.sh | 2 +- toolchain/stages/include/utilities.sh | 16 +++++++--- toolchain/{make_bin => stages/xx-make_bin.sh} | 9 ++++-- 5 files changed, 51 insertions(+), 21 deletions(-) delete mode 100644 toolchain/DEV_README.md create mode 100644 toolchain/README.md rename toolchain/{make_bin => stages/xx-make_bin.sh} (74%) diff --git a/toolchain/DEV_README.md b/toolchain/DEV_README.md deleted file mode 100644 index c9dd5ad9..00000000 --- a/toolchain/DEV_README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Developing the Toolchain - -Bash is dangerous and hard to test, but portable across platforms and flexible, so keep modules as small as possible. - -- shellcheck.net -- https://github.com/kward/shunit2 - -# build stage scripts - -They are all numbered by supposed order and have a verbose --help. - -- stages/00-set_version.sh - diff --git a/toolchain/README.md b/toolchain/README.md new file mode 100644 index 00000000..9b48a859 --- /dev/null +++ b/toolchain/README.md @@ -0,0 +1,32 @@ +# Developing the Toolchain + +Bash is dangerous and hard to test, but portable across platforms and flexible, so keep modules as small as possible. + +- shellcheck.net +- https://github.com/kward/shunit2 + +The files in `toolchain/version_configuration/` are combinations of chromium/depot_tool versions that are known to work. + +# Build Scripts + +They are all numbered by supposed order and have a verbose --help. + +- stages/00-set_version.sh +- stages/01-fetch_tools.sh + +There are utility scripts: + +- stages/xx-make_bin.sh (described below) +- stages/xx-all.sh (will run all stages) +- stages/xx-template (just a template for writing new stages) + +As well as well commented `toolchain/stages/include/` folder. + +## Adding Scripts to Path + +If you want to be able to run build scripts as commands, like +```bash +set_version -c "108.123.01.2" -d "HEAD" +fetch_tools --verbose --delete-git +``` +then you should run `source ./toolschain/stages/xx-make_bin.sh`. diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index 7c125876..c3b3fbbe 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -43,7 +43,7 @@ while (( $# )); do shift done -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" if $LATEST; then diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index 5661ed8e..4b3d5d1c 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -1,14 +1,17 @@ #!/bin/bash -set -e # exit on any error +# exit whole script on any error +set -e -util_error() +# util_error will take a string as an argument and print it to error, and quit +util_error() # print error and quit { echo "Error: $@" >&2 exit 1 } export -f util_error +# util_get_version will load the version in .set_version or try to find it in env vars util_get_version() { if test -f "$MAIN_DIR/.set_version"; then @@ -19,6 +22,7 @@ util_get_version() } export -f util_get_version +# util will simple export the version variables for use in subshells util_export_version() { export CHROMIUM_VERSION_TAG @@ -26,6 +30,7 @@ util_export_version() } export -f util_export_version +# The following code tries to determine what operating system we're running PLATFORM="" case "$OSTYPE" in solaris*) PLATFORM="SOLARIS" ;; @@ -42,7 +47,7 @@ if ! [[ "$PLATFORM" =~ ^(OSX|LINUX|WINDOWS)$ ]]; then fi $NO_VERBOSE || echo "Found platform: $PLATFORM" - +# The following code tries to determine what architecture we're running ARCH=$(uname -m) if [[ "$ARCH" == x86_64* ]]; then ARCH="x64" @@ -57,13 +62,16 @@ if ! [[ "$ARCH" =~ ^(x64|x32|arm)$ ]]; then fi $NO_VERBOSE || echo "Found architecture: $ARCH" -export MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory +# Lets find our top level directory +export MAIN_DIR="$(git rev-parse --show-toplevel)" $NO_VERBOSE || echo "Found main dir: ${MAIN_DIR}" if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then util_error "git rev-parse returned an empty directory, are we in a git directory?" fi +# This will add depot_tools to our path, +# It would make sense to put this elsewhere but we need it in every script if [ "$PLATFORM" == "WINDOWS" ]; then export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS $NO_VERBOSE || echo "Modified path to add future boostrap directory" diff --git a/toolchain/make_bin b/toolchain/stages/xx-make_bin.sh similarity index 74% rename from toolchain/make_bin rename to toolchain/stages/xx-make_bin.sh index c4f9688d..5b799c22 100644 --- a/toolchain/make_bin +++ b/toolchain/stages/xx-make_bin.sh @@ -1,5 +1,7 @@ set -e -MAIN_DIR="$(git rev-parse --show-toplevel)" # let's get base directory + +# Lets get main directory +MAIN_DIR="$(git rev-parse --show-toplevel)" if [ "${MAIN_DIR}" == "" ] || [ "${MAIN_DIR}" == "/" ]; then echo "We need to be in the git directory." >&2 exit 1 @@ -26,8 +28,9 @@ bash -c '( )' if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then - echo "Please source this script, don't execute it." >&2 - exit 1 + echo "You may rerun this script using \`source\` to modify your shell's path or, on your command line, run:" + echo "export PATH=\"${BIN_DIR}:\$PATH\"" + exit 0 fi export PATH="$BIN_DIR:$PATH" From 1e90824e6dde28ccaf09cd6b70e3e32ef60ba39f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 11:51:45 -0400 Subject: [PATCH 048/510] Create defaults for build --- toolchain/stages/00-set_version.sh | 12 ++++++----- toolchain/stages/01-fetch_tools.sh | 8 +++++--- toolchain/stages/include/defaults.sh | 2 ++ toolchain/stages/include/utilities.sh | 29 +++++++++++++++------------ toolchain/stages/xx-make_bin.sh | 14 ++++++------- toolchain/stages/xx-template.sh | 6 +++++- 6 files changed, 42 insertions(+), 29 deletions(-) create mode 100644 toolchain/stages/include/defaults.sh mode change 100644 => 100755 toolchain/stages/xx-make_bin.sh mode change 100755 => 100644 toolchain/stages/xx-template.sh diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index c3b3fbbe..c90ca6a3 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -1,4 +1,6 @@ #!/bin/bash +set -e +set -u usage=( "set_version will check to see if the chromium/depot_tools version are set- if not," @@ -43,7 +45,7 @@ while (( $# )); do shift done -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" if $LATEST; then @@ -53,9 +55,9 @@ if $LATEST; then $NO_VERBOSE || echo "Chromium ref: ${CHROMIUM_VERSION_TAG}, depot_tools ref: ${DEPOT_TOOLS_COMMIT}" elif $ASK; then $NO_VERBOSE || echo "--ask forced" -elif [ -n "${CHROMIUM_VERSION_TAG}" ]; then +elif [ -n "${CHROMIUM_VERSION_TAG:-}" ]; then $NO_VERBOSE || echo "Found chromium ref: ${CHROMIUM_VERSION_TAG}." - if [ -n "${DEPOT_TOOLS_COMMIT}" ]; then + if [ -n "${DEPOT_TOOLS_COMMIT:-}" ]; then $NO_VERBOSE || echo "Found depo_tools ref: ${DEPO_TOOLS_COMMIT}." else $NO_VERBOSE || echo "No depo_tools ref found, looking for file w/ that chromium tag." @@ -82,10 +84,10 @@ if $ASK; then options=($(ls -v "$MAIN_DIR/toolchain/version_configurations")) # they say not to ever parse ls, oop select opt in "${options[@]}" do - if [ "$REPLY" == "c" ] || [ "$REPLY" == "C" ]; then + if [[ "$REPLY" == "c" ]] || [[ "$REPLY" == "C" ]]; then read -p "Chromium version tag (or ref): " CHROMIUM_VERSION_TAG read -p "Depot tools commit (or ref): " DEPOT_TOOLS_COMMIT - elif [ "$opt" != "" ]; then + elif [[ "$opt" != "" ]]; then . "$MAIN_DIR/toolchain/version_configurations/$opt" $NO_VERBOSE || echo "Sourced known configuration:" $NO_VERBOSE || echo "Chromium ref: ${CHROMIUM_VERSION_TAG}, depot_tools ref: ${DEPOT_TOOLS_COMMIT}." diff --git a/toolchain/stages/01-fetch_tools.sh b/toolchain/stages/01-fetch_tools.sh index 16509d08..1cf24904 100755 --- a/toolchain/stages/01-fetch_tools.sh +++ b/toolchain/stages/01-fetch_tools.sh @@ -1,4 +1,6 @@ #!/bin/bash +set -e +set -u usage=( "fetch_tools has no real interface, it simply fetches depot_tools with git at the specified version." @@ -26,7 +28,7 @@ while (( $# )); do shift done -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" util_get_version @@ -34,14 +36,14 @@ util_export_version # Get depot_tools $NO_VERBOSE || echo "Downloading depot_tools:" -git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "$MAIN_DIR/repos/depo_tools/" +git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "$MAIN_DIR/repos/depot_tools/" $NO_VERBOSE || echo "Resetting depot_tools:" git -C "$MAIN_DIR/repos/depot_tools/" reset --hard ${DEPOT_TOOLS_COMMIT} $NO_VERBOSE || echo "Cleaning depot_tools:" git -C "$MAIN_DIR/repos/depot_tools/" clean -ffd -if $DELETE_GIT; then: +if $DELETE_GIT; then $NO_VERBOSE || echo "Deleting depot_tools/.git" rm -rf "$MAIN_DIR/repos/depot_tools/.git" # oof dangerous fi diff --git a/toolchain/stages/include/defaults.sh b/toolchain/stages/include/defaults.sh new file mode 100644 index 00000000..3d058c05 --- /dev/null +++ b/toolchain/stages/include/defaults.sh @@ -0,0 +1,2 @@ +export TARGET_ARCH=${TARGET_ARCH:-x64} +export CPUS=${CPUS:-1} diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index 4b3d5d1c..dfae9e4b 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -3,6 +3,9 @@ # exit whole script on any error set -e +# don't allow undefined env var expansion +set -u + # util_error will take a string as an argument and print it to error, and quit util_error() # print error and quit { @@ -16,7 +19,7 @@ util_get_version() { if test -f "$MAIN_DIR/.set_version"; then . "$MAIN_DIR/.set_version" - elif [ -z "${DEPO_TOOLS_COMMIT}" ] || [ -z "${CHROMIUM_VERSION_TAG}" ]; then + elif [[ -z "${DEPO_TOOLS_COMMIT:-}" ]] || [[ -z "${CHROMIUM_VERSION_TAG:-}" ]]; then util_error "Couldn't find or set env vars for versions, please run set_version." fi } @@ -48,31 +51,31 @@ fi $NO_VERBOSE || echo "Found platform: $PLATFORM" # The following code tries to determine what architecture we're running -ARCH=$(uname -m) -if [[ "$ARCH" == x86_64* ]]; then - ARCH="x64" -elif [[ "$ARCH" == i*86 ]]; then - ARCH="x32" -elif [[ "$ARCH" == arm* ]]; then - ARCH="arm" +HOST_ARCH=$(uname -m) +if [[ "$HOST_ARCH" == x86_64* ]]; then + HOST_ARCH="x64" +elif [[ "$HOST_ARCH" == i*86 ]]; then + HOST_ARCH="x32" +elif [[ "$HOST_ARCH" == arm* ]]; then + HOST_ARCH="arm" fi -if ! [[ "$ARCH" =~ ^(x64|x32|arm)$ ]]; then - util_error "$ARCH is not a supported architecture for building." +if ! [[ "$HOST_ARCH" =~ ^(x64|x32|arm)$ ]]; then + util_error "$HOST_ARCH is not a supported architecture for building." fi -$NO_VERBOSE || echo "Found architecture: $ARCH" +$NO_VERBOSE || echo "Found architecture: $HOST_ARCH" # Lets find our top level directory export MAIN_DIR="$(git rev-parse --show-toplevel)" $NO_VERBOSE || echo "Found main dir: ${MAIN_DIR}" -if [ "$MAIN_DIR" == "" ] || [ "$MAIN_DIR" == "/" ]; then +if [[ "$MAIN_DIR" == "" ]] || [[ "$MAIN_DIR" == "/" ]]; then util_error "git rev-parse returned an empty directory, are we in a git directory?" fi # This will add depot_tools to our path, # It would make sense to put this elsewhere but we need it in every script -if [ "$PLATFORM" == "WINDOWS" ]; then +if [[ "$PLATFORM" == "WINDOWS" ]]; then export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS $NO_VERBOSE || echo "Modified path to add future boostrap directory" fi diff --git a/toolchain/stages/xx-make_bin.sh b/toolchain/stages/xx-make_bin.sh old mode 100644 new mode 100755 index 5b799c22..9fbdad74 --- a/toolchain/stages/xx-make_bin.sh +++ b/toolchain/stages/xx-make_bin.sh @@ -1,15 +1,13 @@ -set -e - # Lets get main directory MAIN_DIR="$(git rev-parse --show-toplevel)" -if [ "${MAIN_DIR}" == "" ] || [ "${MAIN_DIR}" == "/" ]; then +if [[ "${MAIN_DIR}" == "" ]] || [[ "${MAIN_DIR}" = "/" ]]; then echo "We need to be in the git directory." >&2 exit 1 fi BIN_DIR="$(realpath $MAIN_DIR/bin)" bash -c '( MAIN_DIR="$(git rev-parse --show-toplevel)" - if [ "${MAIN_DIR}" == "" ] || [ "${MAIN_DIR}" == "/" ]; then + if [[ "${MAIN_DIR}" == "" ]] || [[ "${MAIN_DIR}" == "/" ]]; then echo "We need to be in the git directory." >&2 exit 1 fi @@ -20,11 +18,13 @@ bash -c '( { name="${1//[0-9]*-/}" name=${name%.sh} + echo "linking $MAIN_DIR/toolchain/stages/$1 $BIN_DIR/$name" ln -fs "$MAIN_DIR/toolchain/stages/$1" "$BIN_DIR/$name" } - - make_link 00-set_version.sh - make_link 01-fetch_tools.sh + shopt -s extglob + for script in $MAIN_DIR/toolchain/stages/[0-9]*-*.sh; do + make_link "$(basename -- $script)" + done )' if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then diff --git a/toolchain/stages/xx-template.sh b/toolchain/stages/xx-template.sh old mode 100755 new mode 100644 index 1e1dc0e9..6ebfae02 --- a/toolchain/stages/xx-template.sh +++ b/toolchain/stages/xx-template.sh @@ -1,6 +1,10 @@ #!/bin/bash -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # stolen from stack exchange +set -e +set -u +# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" get_version From 6e4613bdd0512b2e42939f9fb0f47566608d9d72 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 12:01:08 -0400 Subject: [PATCH 049/510] Add script to run all --- toolchain/stages/00-set_version.sh | 2 ++ toolchain/stages/01-fetch_tools.sh | 2 ++ toolchain/stages/xx-all.sh | 4 ++++ 3 files changed, 8 insertions(+) create mode 100755 toolchain/stages/xx-all.sh diff --git a/toolchain/stages/00-set_version.sh b/toolchain/stages/00-set_version.sh index c90ca6a3..18e81077 100755 --- a/toolchain/stages/00-set_version.sh +++ b/toolchain/stages/00-set_version.sh @@ -45,6 +45,8 @@ while (( $# )); do shift done +$NO_VERBOSE || echo "Running 00-set_version.sh" + SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" diff --git a/toolchain/stages/01-fetch_tools.sh b/toolchain/stages/01-fetch_tools.sh index 1cf24904..49c159b9 100755 --- a/toolchain/stages/01-fetch_tools.sh +++ b/toolchain/stages/01-fetch_tools.sh @@ -28,6 +28,8 @@ while (( $# )); do shift done +$NO_VERBOSE || echo "Running 01-fetch_tools.sh" + SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" diff --git a/toolchain/stages/xx-all.sh b/toolchain/stages/xx-all.sh new file mode 100755 index 00000000..5c0a6aad --- /dev/null +++ b/toolchain/stages/xx-all.sh @@ -0,0 +1,4 @@ +set -e +set -u +./00-set_version.sh $@ +./01-fetch_tools.sh $@ From d9ef495643c2afe5425d9de714b5449f54cecbf1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 12:02:02 -0400 Subject: [PATCH 050/510] Update toolchain/README.md --- toolchain/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/toolchain/README.md b/toolchain/README.md index 9b48a859..73420012 100644 --- a/toolchain/README.md +++ b/toolchain/README.md @@ -9,7 +9,7 @@ The files in `toolchain/version_configuration/` are combinations of chromium/de # Build Scripts -They are all numbered by supposed order and have a verbose --help. +They are all numbered by supposed order and have a verbose --help. These must be cross platform! - stages/00-set_version.sh - stages/01-fetch_tools.sh @@ -20,6 +20,8 @@ There are utility scripts: - stages/xx-all.sh (will run all stages) - stages/xx-template (just a template for writing new stages) +These may or may not work on your OS of choice, they will all work on linux. + As well as well commented `toolchain/stages/include/` folder. ## Adding Scripts to Path From d445b6d43350153587e72e2dc384002465b32f46 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 12:09:44 -0400 Subject: [PATCH 051/510] Improve build template --- toolchain/stages/xx-template.sh | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/toolchain/stages/xx-template.sh b/toolchain/stages/xx-template.sh index 6ebfae02..60e8d22d 100644 --- a/toolchain/stages/xx-template.sh +++ b/toolchain/stages/xx-template.sh @@ -1,12 +1,36 @@ #!/bin/bash - set -e set -u + # Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! +usage=( + "xx_template s a template: more description." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" + "Display this help:" + "xx_template [-h|--h]" + "" + "Something else you can do" + "xx_template [-l|--long]" +) +## PROCESS FLAGS + +NO_VERBOSE=true +while (( $# )); do + case $1 in + -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; + -v|--verbose) NO_VERBOSE=false ;; + *) printf "%s\n" "${usage[@]}"; exit 1 ;; + esac + shift +done + +$NO_VERBOSE || echo "Running xx-template.sh" SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" -get_version -export_version - +util_get_version +util_export_version From d2299f91de7f36e9d2e4ddcf5acc19c82066261f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 12:43:15 -0400 Subject: [PATCH 052/510] Add path modifications to utilties for all plats --- toolchain/stages/include/utilities.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/toolchain/stages/include/utilities.sh b/toolchain/stages/include/utilities.sh index dfae9e4b..4ffeda5f 100644 --- a/toolchain/stages/include/utilities.sh +++ b/toolchain/stages/include/utilities.sh @@ -77,6 +77,11 @@ fi # It would make sense to put this elsewhere but we need it in every script if [[ "$PLATFORM" == "WINDOWS" ]]; then export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS - $NO_VERBOSE || echo "Modified path to add future boostrap directory" + $NO_VERBOSE || echo "Modified path to add future depot_tools/bootstrap/ directory" +elif [[ "$PLATFORM" == "LINUX" ]]; then + export PATH="$MAIN_DIR/repos/depot_tools/:$PATH" + $NO_VERBOSE || echo "Modified path to add future depot_tools/ directory" +elif [[ "$PLATFORM" == "OSX" ]]; then + export PATH="$MAIN_DIR/repos/depot_tools/:$PATH" + $NO_VERBOSE || echo "Modified path to add future depot_tools/ directory" fi - From 70036569291706ae80094fa93c7c7e233f4101ac Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 12:43:41 -0400 Subject: [PATCH 053/510] Add build artifact to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e70f1c35..4a381e6f 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ repos/*.tar.gz *.sw* .set_version bin +toolchain/install-build-deps.sh From 0232303d597259cbb45fbf92e81bd2c4518a370a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 13:06:21 -0400 Subject: [PATCH 054/510] Fix up circle ci --- .circleci/config.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 43a97632..03b4f45d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,7 +4,6 @@ orbs: win: circleci/windows@5.0 commands: # all jobs/workflows use same commands - # can we make an "all" command? set_version: steps: - run: @@ -46,16 +45,16 @@ jobs: steps: - checkout # The following recommended by circle CI, but it takes time, costs money, and may not be necessary - #- run: - #name: Delete simulators and unused platforms to save space - #command: | - #sudo rm -rf /Library/Developer/CoreSimulator &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform &> /dev/null + #- run: + #name: Delete simulators and unused platforms to save space + #command: | + #sudo rm -rf /Library/Developer/CoreSimulator &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform &> /dev/null + #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform &> /dev/null - set_version workflows: From 55639bcf8374a91328d9e6910a69fad12fc7f076 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 15:43:05 -0400 Subject: [PATCH 055/510] Create docker helper script + init_tools start --- toolchain/README.md | 30 +++++++++++ toolchain/stages/02-init_tools.sh | 60 +++++++++++++++++++++ toolchain/stages/xx-kdocker.sh | 87 +++++++++++++++++++++++++++++++ toolchain/stages/xx-template.sh | 2 +- 4 files changed, 178 insertions(+), 1 deletion(-) create mode 100755 toolchain/stages/02-init_tools.sh create mode 100755 toolchain/stages/xx-kdocker.sh diff --git a/toolchain/README.md b/toolchain/README.md index 73420012..76be631c 100644 --- a/toolchain/README.md +++ b/toolchain/README.md @@ -1,3 +1,32 @@ +# Building Locally + +Whats your OS? + +### Windows + +Isolation seems difficult, probably need to install visual studio + windows SDK to your system. Specific versions depend on which version of Chromium you want to install. + +TODO: Add specific instructions for version. + +### Linux + +Chromium expects to be built in Ubuntu (maybe anything with `apt`?). Recommended to use LXC or docker. + +#### Building in Docker + +You can use the same docker image we use in circle-ci, which is their convenience image `cimg/python:X.X` on [dockerhub](https://hub.docker.com/r/cimg/python). + +Use our convenience script to pull and boot it: + +```bash +./toolchain/stage/xx-kdocker.sh +## see --help for more advanced usage. +``` + +### Mac + +TODO + # Developing the Toolchain Bash is dangerous and hard to test, but portable across platforms and flexible, so keep modules as small as possible. @@ -19,6 +48,7 @@ There are utility scripts: - stages/xx-make_bin.sh (described below) - stages/xx-all.sh (will run all stages) - stages/xx-template (just a template for writing new stages) +- stages/xx-kdocker.sh (see [above](#linux)) These may or may not work on your OS of choice, they will all work on linux. diff --git a/toolchain/stages/02-init_tools.sh b/toolchain/stages/02-init_tools.sh new file mode 100755 index 00000000..da43ba33 --- /dev/null +++ b/toolchain/stages/02-init_tools.sh @@ -0,0 +1,60 @@ +#!/bin/bash +set -e +set -u + +# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! +usage=( + "init_tools will run some some commands that google recommends or requires before other build steps." + "It can be version and platform dependent." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" + "Display this help:" + "init_tools [-h|--h]" + "" + "Dry run: just show me the scripts that would be run, don't run them." + "init_tools [-d|--dry-run]" +) +## PROCESS FLAGS + +SHOW=false +NO_VERBOSE=true +while (( $# )); do + case $1 in + -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; + -d|--dry-run) SHOW=true ;; + -v|--verbose) NO_VERBOSE=false ;; + *) printf "%s\n" "${usage[@]}"; exit 1 ;; + esac + shift +done + +$NO_VERBOSE || echo "Running 02-init_tools.sh" + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +. "$SCRIPT_DIR/include/utilities.sh" + +util_get_version +util_export_version + +# This may change with depot tools vesion, and it still needs to be worked out per platform +if [[ "$PLATFORM" == "WINDOWS" ]]; then + $NO_VERBOSE || echo "Modified path to add future depot_tools/bootstrap/ directory" +elif [[ "$PLATFORM" == "LINUX" ]]; then + # I don't love curling this out of something we'll download later but its how they do it and we haven't cloned the repo yet + # https://issues.chromium.org/issues/40243622 + curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.sh?format=TEXT \ + | base64 -d > $MAIN_DIR/toolchain/install-build-deps.sh + if $SHOW; then + cat $MAIN_DIR/toolchain/install-build-deps.sh + echo -e "\n\nSee file in $MAIN_DIR/toolchain/install-build-deps.sh" + exit 0 + fi + chmod +x $MAIN_DIR/toolchain/install-build-deps.sh + ./install-build-deps.sh --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt + # runhooks? i don't think we need to TODO but mentioned + $NO_VERBOSE || echo "Downloaded and installed build-deps." +elif [[ "$PLATFORM" == "OSX" ]]; then + $NO_VERBOSE || echo "Did nothing for OSX, we will have to do something, probably the same as linux." +fi diff --git a/toolchain/stages/xx-kdocker.sh b/toolchain/stages/xx-kdocker.sh new file mode 100755 index 00000000..d616bf9e --- /dev/null +++ b/toolchain/stages/xx-kdocker.sh @@ -0,0 +1,87 @@ +#!/bin/bash +set -e +set -u + +# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! + +IMAGE="cimg/python:3.12.3" +usage=( + "kdocker is convenience script to start dockers for building on linux." + "You need to be in the docker group to run it." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" + "Display this help:" + "kdocker [-h|--h]" + "" + "kdocker [-i|--image IMAGE] [-d|--detach] [[-g|--git]|[-r|--repo REPO]] COMMAND" + " We first run \`sudo apt-get update\`, so passing command \`./kaleido/my_script.sh\` makes:" + " \`sudo apt-get update; ./kaleido/my_script.sh\`." + " Your shell is then started as a subshell." + "" + "Recomended use is to run without flags, and to detach and attach to the session w/ \`docker\`." + "See docker tips below." + "" + "Default behavior is to mount the git folder onto /home/circleci/project/kaleido". + "" + "" + "-i|--image IMAGE IMAGE will be used instead of the default, $IMAGE." + " If this is not the same as circle-ci, please submit a pull request" + " updating this script" + "" + "-d|--detach This will run the container and immediately detach." + " The container will also exit immediately after finishing." + "-g|--git The default behavior is to mount your plotly/kaleido git folder" + " into the docker, but this will try to re-clone it instead. Your" + " current working directory will be mounted into project/." + "-r|--repo REPO This is like --git, except it will run \`git clone REPO\`. You can pass" + " flags and stuff in quotes: \`-r \"-b my_branch my_user/my_repo\"\`." + " It will override -g." + "" + "Docker tips:" + " Ending the first session will always end the docker. \`ctl+d\` will exit bash and session." + " \`ctl+p ctl+q\` (instead of \`ctl+d\`) will leave bash running. You can reattach to (only)" + " the first session with: \`docker attach CONTAINER_NAME\`. Containers can be listed with" + " \`docker container ls\`. You can get a new secondary session with:" + " \`docker exec -it CONTAINER_NAME bash\`." +) + +## PROCESS FLAGS +COMMAND="sudo apt-get update; " +DETACH="" +CLONE=false +NO_VERBOSE=true +REPO="plotly/kaleido" +while (( $# )); do + case $1 in + -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; + -i|--image) shift; IMAGE="$1" ;; + -d|--detach) DETACH="d" ;; + -g|--git) CLONE=true ;; + -r|--repo) shift; CLONE=true; REPO="$1" ;; + -v|--verbose) NO_VERBOSE=false ;; + *) break;; + esac + shift +done + +$NO_VERBOSE || echo "Running xx-kdocker.sh" + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +. "$SCRIPT_DIR/include/utilities.sh" + +# figure out persisting +# figure out exiting w/o +VOLUME="$MAIN_DIR:/home/circleci/project/kaleido" +if $CLONE; then + COMMAND+="git clone $REPO; " + VOLUME="$(pwd):/home/circleci/project/" +fi +if [[ -n "${@}" ]]; then + COMMAND+="${@}; " +fi +COMMAND+="bash" + +docker pull $IMAGE +docker container run --rm -it$DETACH -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" diff --git a/toolchain/stages/xx-template.sh b/toolchain/stages/xx-template.sh index 60e8d22d..8072074b 100644 --- a/toolchain/stages/xx-template.sh +++ b/toolchain/stages/xx-template.sh @@ -4,7 +4,7 @@ set -u # Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! usage=( - "xx_template s a template: more description." + "xx_template is a template: more description." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" From ed755d011e4229cb908dc041b4ebccccfe2d8eea Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 15:53:51 -0400 Subject: [PATCH 056/510] Rename stages-->src + add new to bin --- toolchain/README.md | 18 +++++++++--------- toolchain/{stages => src}/00-set_version.sh | 0 toolchain/{stages => src}/01-fetch_tools.sh | 0 toolchain/{stages => src}/02-init_tools.sh | 0 toolchain/{stages => src}/include/defaults.sh | 0 toolchain/{stages => src}/include/utilities.sh | 0 toolchain/src/xx-all.sh | 5 +++++ toolchain/{stages => src}/xx-kdocker.sh | 0 toolchain/{stages => src}/xx-make_bin.sh | 10 ++++++---- toolchain/{stages => src}/xx-template.sh | 0 toolchain/stages/xx-all.sh | 4 ---- 11 files changed, 20 insertions(+), 17 deletions(-) rename toolchain/{stages => src}/00-set_version.sh (100%) rename toolchain/{stages => src}/01-fetch_tools.sh (100%) rename toolchain/{stages => src}/02-init_tools.sh (100%) rename toolchain/{stages => src}/include/defaults.sh (100%) rename toolchain/{stages => src}/include/utilities.sh (100%) create mode 100755 toolchain/src/xx-all.sh rename toolchain/{stages => src}/xx-kdocker.sh (100%) rename toolchain/{stages => src}/xx-make_bin.sh (76%) rename toolchain/{stages => src}/xx-template.sh (100%) delete mode 100755 toolchain/stages/xx-all.sh diff --git a/toolchain/README.md b/toolchain/README.md index 76be631c..fec02916 100644 --- a/toolchain/README.md +++ b/toolchain/README.md @@ -19,7 +19,7 @@ You can use the same docker image we use in circle-ci, which is their convenienc Use our convenience script to pull and boot it: ```bash -./toolchain/stage/xx-kdocker.sh +./toolchain/src/xx-kdocker.sh ## see --help for more advanced usage. ``` @@ -40,19 +40,19 @@ The files in `toolchain/version_configuration/` are combinations of chromium/de They are all numbered by supposed order and have a verbose --help. These must be cross platform! -- stages/00-set_version.sh -- stages/01-fetch_tools.sh +- src/00-set_version.sh +- src/01-fetch_tools.sh There are utility scripts: -- stages/xx-make_bin.sh (described below) -- stages/xx-all.sh (will run all stages) -- stages/xx-template (just a template for writing new stages) -- stages/xx-kdocker.sh (see [above](#linux)) +- src/xx-make_bin.sh (described below) +- src/xx-all.sh (will run all stages) +- src/xx-template (just a template for writing new stages) +- src/xx-kdocker.sh (see [above](#linux)) These may or may not work on your OS of choice, they will all work on linux. -As well as well commented `toolchain/stages/include/` folder. +As well as well commented `toolchain/src/include/` folder. ## Adding Scripts to Path @@ -61,4 +61,4 @@ If you want to be able to run build scripts as commands, like set_version -c "108.123.01.2" -d "HEAD" fetch_tools --verbose --delete-git ``` -then you should run `source ./toolschain/stages/xx-make_bin.sh`. +then you should run `source ./toolschain/src/xx-make_bin.sh`. diff --git a/toolchain/stages/00-set_version.sh b/toolchain/src/00-set_version.sh similarity index 100% rename from toolchain/stages/00-set_version.sh rename to toolchain/src/00-set_version.sh diff --git a/toolchain/stages/01-fetch_tools.sh b/toolchain/src/01-fetch_tools.sh similarity index 100% rename from toolchain/stages/01-fetch_tools.sh rename to toolchain/src/01-fetch_tools.sh diff --git a/toolchain/stages/02-init_tools.sh b/toolchain/src/02-init_tools.sh similarity index 100% rename from toolchain/stages/02-init_tools.sh rename to toolchain/src/02-init_tools.sh diff --git a/toolchain/stages/include/defaults.sh b/toolchain/src/include/defaults.sh similarity index 100% rename from toolchain/stages/include/defaults.sh rename to toolchain/src/include/defaults.sh diff --git a/toolchain/stages/include/utilities.sh b/toolchain/src/include/utilities.sh similarity index 100% rename from toolchain/stages/include/utilities.sh rename to toolchain/src/include/utilities.sh diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh new file mode 100755 index 00000000..0f5dd6a6 --- /dev/null +++ b/toolchain/src/xx-all.sh @@ -0,0 +1,5 @@ +set -e +set -u +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +$SCRIPT_DIR/00-set_version.sh $@ +$SCRIPT_DIR/01-fetch_tools.sh $@ diff --git a/toolchain/stages/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh similarity index 100% rename from toolchain/stages/xx-kdocker.sh rename to toolchain/src/xx-kdocker.sh diff --git a/toolchain/stages/xx-make_bin.sh b/toolchain/src/xx-make_bin.sh similarity index 76% rename from toolchain/stages/xx-make_bin.sh rename to toolchain/src/xx-make_bin.sh index 9fbdad74..f76744cc 100755 --- a/toolchain/stages/xx-make_bin.sh +++ b/toolchain/src/xx-make_bin.sh @@ -16,15 +16,17 @@ bash -c '( make_link() { - name="${1//[0-9]*-/}" + name="${1//[0-9x]*-/}" name=${name%.sh} - echo "linking $MAIN_DIR/toolchain/stages/$1 $BIN_DIR/$name" - ln -fs "$MAIN_DIR/toolchain/stages/$1" "$BIN_DIR/$name" + echo "linking $MAIN_DIR/toolchain/src/$1 $BIN_DIR/$name" + ln -fs "$MAIN_DIR/toolchain/src/$1" "$BIN_DIR/$name" } shopt -s extglob - for script in $MAIN_DIR/toolchain/stages/[0-9]*-*.sh; do + for script in $MAIN_DIR/toolchain/src/[0-9]*-*.sh; do make_link "$(basename -- $script)" done + make_link "xx-kdocker.sh" + make_link "xx-all.sh" )' if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then diff --git a/toolchain/stages/xx-template.sh b/toolchain/src/xx-template.sh similarity index 100% rename from toolchain/stages/xx-template.sh rename to toolchain/src/xx-template.sh diff --git a/toolchain/stages/xx-all.sh b/toolchain/stages/xx-all.sh deleted file mode 100755 index 5c0a6aad..00000000 --- a/toolchain/stages/xx-all.sh +++ /dev/null @@ -1,4 +0,0 @@ -set -e -set -u -./00-set_version.sh $@ -./01-fetch_tools.sh $@ From 55f047f7c80961f3f02386d8c63f35cc37a19a99 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 16:10:12 -0400 Subject: [PATCH 057/510] Organize folders a bit more --- .gitignore | 2 +- toolchain/README.md | 2 +- toolchain/src/02-init_tools.sh | 15 ++++++++------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 4a381e6f..c6fbb7eb 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,4 @@ repos/*.tar.gz *.sw* .set_version bin -toolchain/install-build-deps.sh +toolchain/tmp/install-build-deps.sh diff --git a/toolchain/README.md b/toolchain/README.md index fec02916..7cc8c838 100644 --- a/toolchain/README.md +++ b/toolchain/README.md @@ -43,7 +43,7 @@ They are all numbered by supposed order and have a verbose --help. These must be - src/00-set_version.sh - src/01-fetch_tools.sh -There are utility scripts: +There are utility scripts, only guarenteed to work on linux: - src/xx-make_bin.sh (described below) - src/xx-all.sh (will run all stages) diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index da43ba33..3a07fdb4 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -40,21 +40,22 @@ util_export_version # This may change with depot tools vesion, and it still needs to be worked out per platform if [[ "$PLATFORM" == "WINDOWS" ]]; then - $NO_VERBOSE || echo "Modified path to add future depot_tools/bootstrap/ directory" + $NO_VERBOSE || echo "TODO" # TODO elif [[ "$PLATFORM" == "LINUX" ]]; then + mkdir -p "$MAIN_DIR/toolchain/tmp" # I don't love curling this out of something we'll download later but its how they do it and we haven't cloned the repo yet # https://issues.chromium.org/issues/40243622 curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.sh?format=TEXT \ - | base64 -d > $MAIN_DIR/toolchain/install-build-deps.sh + | base64 -d > $MAIN_DIR/toolchain/tmp/install-build-deps.sh if $SHOW; then - cat $MAIN_DIR/toolchain/install-build-deps.sh - echo -e "\n\nSee file in $MAIN_DIR/toolchain/install-build-deps.sh" + cat "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" + echo -e "\n\nSee file in $MAIN_DIR/toolchain/tmp/install-build-deps.sh" exit 0 fi - chmod +x $MAIN_DIR/toolchain/install-build-deps.sh - ./install-build-deps.sh --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt + chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" + "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt # runhooks? i don't think we need to TODO but mentioned $NO_VERBOSE || echo "Downloaded and installed build-deps." elif [[ "$PLATFORM" == "OSX" ]]; then - $NO_VERBOSE || echo "Did nothing for OSX, we will have to do something, probably the same as linux." + $NO_VERBOSE || echo "Did nothing for OSX, we will have to do something, probably the same as linux." # TODO fi From aa8d23ba943e08b1fe337a29ac590dd78189b480 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 16:13:06 -0400 Subject: [PATCH 058/510] Bring vendor tools to vendor, not repo The directory should be like: src/ <-- only stuff we write vendor/ <-- mathjax, chromium, depot_tools, etc toolchain/ --- toolchain/src/01-fetch_tools.sh | 8 ++++---- toolchain/src/include/utilities.sh | 8 +++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/toolchain/src/01-fetch_tools.sh b/toolchain/src/01-fetch_tools.sh index 49c159b9..15cf2c67 100755 --- a/toolchain/src/01-fetch_tools.sh +++ b/toolchain/src/01-fetch_tools.sh @@ -38,14 +38,14 @@ util_export_version # Get depot_tools $NO_VERBOSE || echo "Downloading depot_tools:" -git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "$MAIN_DIR/repos/depot_tools/" +git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "$MAIN_DIR/vendor/depot_tools/" $NO_VERBOSE || echo "Resetting depot_tools:" -git -C "$MAIN_DIR/repos/depot_tools/" reset --hard ${DEPOT_TOOLS_COMMIT} +git -C "$MAIN_DIR/vendor/depot_tools/" reset --hard ${DEPOT_TOOLS_COMMIT} $NO_VERBOSE || echo "Cleaning depot_tools:" -git -C "$MAIN_DIR/repos/depot_tools/" clean -ffd +git -C "$MAIN_DIR/vendor/depot_tools/" clean -ffd if $DELETE_GIT; then $NO_VERBOSE || echo "Deleting depot_tools/.git" - rm -rf "$MAIN_DIR/repos/depot_tools/.git" # oof dangerous + rm -rf "$MAIN_DIR/vendor/depot_tools/.git" # oof dangerous fi diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh index 4ffeda5f..643268e3 100644 --- a/toolchain/src/include/utilities.sh +++ b/toolchain/src/include/utilities.sh @@ -73,15 +73,17 @@ if [[ "$MAIN_DIR" == "" ]] || [[ "$MAIN_DIR" == "/" ]]; then util_error "git rev-parse returned an empty directory, are we in a git directory?" fi +mkdir -p "$MAIN_DIR"/vendor # probably exists, but maybe not + # This will add depot_tools to our path, # It would make sense to put this elsewhere but we need it in every script if [[ "$PLATFORM" == "WINDOWS" ]]; then - export PATH="$MAIN_DIR/repos/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS + export PATH="$MAIN_DIR/vendor/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS $NO_VERBOSE || echo "Modified path to add future depot_tools/bootstrap/ directory" elif [[ "$PLATFORM" == "LINUX" ]]; then - export PATH="$MAIN_DIR/repos/depot_tools/:$PATH" + export PATH="$MAIN_DIR/vendor/depot_tools/:$PATH" $NO_VERBOSE || echo "Modified path to add future depot_tools/ directory" elif [[ "$PLATFORM" == "OSX" ]]; then - export PATH="$MAIN_DIR/repos/depot_tools/:$PATH" + export PATH="$MAIN_DIR/vendor/depot_tools/:$PATH" $NO_VERBOSE || echo "Modified path to add future depot_tools/ directory" fi From d68c115af01ef702f8aa1e27e3dab9be7eb061d8 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 6 Jul 2024 21:39:29 -0400 Subject: [PATCH 059/510] Copy some host env to docker env for ease --- toolchain/src/xx-kdocker.sh | 32 ++++++++++++++------------------ toolchain/src/xx-make_bin.sh | 2 +- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index d616bf9e..4ac45105 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -7,7 +7,10 @@ set -u IMAGE="cimg/python:3.12.3" usage=( "kdocker is convenience script to start dockers for building on linux." - "You need to be in the docker group to run it." + "" + "You need to be in the docker group to run it. Script pulls an image and ads" + "the user who ran the script the docker, and mount the project directory as well." + "See bottom for tips on detaching and reattaching to the docker." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" @@ -16,15 +19,6 @@ usage=( "kdocker [-h|--h]" "" "kdocker [-i|--image IMAGE] [-d|--detach] [[-g|--git]|[-r|--repo REPO]] COMMAND" - " We first run \`sudo apt-get update\`, so passing command \`./kaleido/my_script.sh\` makes:" - " \`sudo apt-get update; ./kaleido/my_script.sh\`." - " Your shell is then started as a subshell." - "" - "Recomended use is to run without flags, and to detach and attach to the session w/ \`docker\`." - "See docker tips below." - "" - "Default behavior is to mount the git folder onto /home/circleci/project/kaleido". - "" "" "-i|--image IMAGE IMAGE will be used instead of the default, $IMAGE." " If this is not the same as circle-ci, please submit a pull request" @@ -32,9 +26,11 @@ usage=( "" "-d|--detach This will run the container and immediately detach." " The container will also exit immediately after finishing." + "" "-g|--git The default behavior is to mount your plotly/kaleido git folder" " into the docker, but this will try to re-clone it instead. Your" " current working directory will be mounted into project/." + "" "-r|--repo REPO This is like --git, except it will run \`git clone REPO\`. You can pass" " flags and stuff in quotes: \`-r \"-b my_branch my_user/my_repo\"\`." " It will override -g." @@ -48,7 +44,8 @@ usage=( ) ## PROCESS FLAGS -COMMAND="sudo apt-get update; " +COMMAND="sudo apt-get update; sudo useradd --uid=$UID --shell /bin/bash --create-home $USER; echo '$USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null;" +USER_COMMAND='export PATH+=:~/kaleido/bin/; ' DETACH="" CLONE=false NO_VERBOSE=true @@ -71,17 +68,16 @@ $NO_VERBOSE || echo "Running xx-kdocker.sh" SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" -# figure out persisting -# figure out exiting w/o -VOLUME="$MAIN_DIR:/home/circleci/project/kaleido" +VOLUME="$MAIN_DIR:/home/$USER/kaleido" if $CLONE; then - COMMAND+="git clone $REPO; " - VOLUME="$(pwd):/home/circleci/project/" + USER_COMMAND+="git clone $REPO; " + VOLUME="$(pwd):/home/$USER/" fi if [[ -n "${@}" ]]; then - COMMAND+="${@}; " + USER_COMMAND+="${@}; " fi -COMMAND+="bash" +COMMAND+="echo '$USER_COMMAND' | sudo tee -a /home/$USER/.temp_script.sh &> /dev/null; echo . /home/$USER/.temp_script.sh | sudo tee -a /home/$USER/.bash_login &> /dev/null; " +COMMAND+="sudo su - $USER" docker pull $IMAGE docker container run --rm -it$DETACH -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" diff --git a/toolchain/src/xx-make_bin.sh b/toolchain/src/xx-make_bin.sh index f76744cc..112fe464 100755 --- a/toolchain/src/xx-make_bin.sh +++ b/toolchain/src/xx-make_bin.sh @@ -19,7 +19,7 @@ bash -c '( name="${1//[0-9x]*-/}" name=${name%.sh} echo "linking $MAIN_DIR/toolchain/src/$1 $BIN_DIR/$name" - ln -fs "$MAIN_DIR/toolchain/src/$1" "$BIN_DIR/$name" + ln -fs "../toolchain/src/$1" "$BIN_DIR/$name" } shopt -s extglob for script in $MAIN_DIR/toolchain/src/[0-9]*-*.sh; do From a41d281531a592582b74239b0d297875dcef308e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 8 Jul 2024 10:57:36 -0400 Subject: [PATCH 060/510] Rework docker build a bit: To make it make sense, we had to let the user log in as their local user. We also didn't need all that git clone stuff, they can do that themselves with a command, we now mount the main repo to /usr/share, and we give them a convenience option to reclone that to their home directory. --- toolchain/src/xx-kdocker.sh | 68 ++++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 27 deletions(-) diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 4ac45105..3bed2988 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -8,8 +8,8 @@ IMAGE="cimg/python:3.12.3" usage=( "kdocker is convenience script to start dockers for building on linux." "" - "You need to be in the docker group to run it. Script pulls an image and ads" - "the user who ran the script the docker, and mount the project directory as well." + "You need to be in the docker group to run kdocker. kdocker 1) pulls an image 2) adds" + "the user who ran kdocker, 3) mounts the project directory to /usr/share/kaleido." "See bottom for tips on detaching and reattaching to the docker." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" @@ -18,7 +18,10 @@ usage=( "Display this help:" "kdocker [-h|--h]" "" - "kdocker [-i|--image IMAGE] [-d|--detach] [[-g|--git]|[-r|--repo REPO]] COMMAND" + "kdocker [-u USER] [-i|--image IMAGE] [-d|--detach] COMMAND" + "" + "-u|--user USER If you are running kdocker as sudo, you can use this to specify which" + " user you normally are." "" "-i|--image IMAGE IMAGE will be used instead of the default, $IMAGE." " If this is not the same as circle-ci, please submit a pull request" @@ -27,57 +30,68 @@ usage=( "-d|--detach This will run the container and immediately detach." " The container will also exit immediately after finishing." "" - "-g|--git The default behavior is to mount your plotly/kaleido git folder" - " into the docker, but this will try to re-clone it instead. Your" - " current working directory will be mounted into project/." - "" - "-r|--repo REPO This is like --git, except it will run \`git clone REPO\`. You can pass" - " flags and stuff in quotes: \`-r \"-b my_branch my_user/my_repo\"\`." - " It will override -g." - "" + "-c|--copy This will reclone your git project to ~/kaleido and also patch over" + " all uncommited, staged and unstaged, tracked changes. Untracked changes" + " will not be cloned over. " + " Hint: Use \`git add -N PATH\` to track files without staging them for commit." + " Hint: Don't work out of the clone ~/kaleido directory." + " Hint: Use \`refresh\` to re-clone/patch ~/kaleido after changes." + " Hint: If you use -c (or `refresh`), kaleido build commands (set_version, etc)" + " will always be run from ~/kaleido, not /usr/share/kaleido." "Docker tips:" " Ending the first session will always end the docker. \`ctl+d\` will exit bash and session." " \`ctl+p ctl+q\` (instead of \`ctl+d\`) will leave bash running. You can reattach to (only)" " the first session with: \`docker attach CONTAINER_NAME\`. Containers can be listed with" " \`docker container ls\`. You can get a new secondary session with:" - " \`docker exec -it CONTAINER_NAME bash\`." + " \`docker exec --user \$USER -it CONTAINER_NAME bash\`." ) ## PROCESS FLAGS -COMMAND="sudo apt-get update; sudo useradd --uid=$UID --shell /bin/bash --create-home $USER; echo '$USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null;" -USER_COMMAND='export PATH+=:~/kaleido/bin/; ' DETACH="" -CLONE=false NO_VERBOSE=true -REPO="plotly/kaleido" +COPY=false +LOCAL_USER="$USER" while (( $# )); do case $1 in -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; -i|--image) shift; IMAGE="$1" ;; + -u|--user) shift; LOCAL_USER="$1" ;; -d|--detach) DETACH="d" ;; - -g|--git) CLONE=true ;; - -r|--repo) shift; CLONE=true; REPO="$1" ;; -v|--verbose) NO_VERBOSE=false ;; - *) break;; + -c|--copy) COPY=true ;; + *) break ;; esac shift done +LOCAL_UID="$(id -u $LOCAL_USER)" +COMMAND="true || sudo apt-get update; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null;" +USER_COMMAND='' $NO_VERBOSE || echo "Running xx-kdocker.sh" SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" -VOLUME="$MAIN_DIR:/home/$USER/kaleido" -if $CLONE; then - USER_COMMAND+="git clone $REPO; " - VOLUME="$(pwd):/home/$USER/" -fi +VOLUME="$MAIN_DIR:/usr/share/kaleido" if [[ -n "${@}" ]]; then USER_COMMAND+="${@}; " fi -COMMAND+="echo '$USER_COMMAND' | sudo tee -a /home/$USER/.temp_script.sh &> /dev/null; echo . /home/$USER/.temp_script.sh | sudo tee -a /home/$USER/.bash_login &> /dev/null; " -COMMAND+="sudo su - $USER" + +SUDO="sudo sudo -u $LOCAL_USER" +_OUT="1> /dev/null" +BASH_LOGIN="/home/$LOCAL_USER/.bash_login" +TEMP_SCRIPT="/home/$LOCAL_USER/.temp_script.sh" +COMMAND+="\ + echo '$USER_COMMAND' | $SUDO tee -a $TEMP_SCRIPT $_OUT; \ + echo . $TEMP_SCRIPT | $SUDO tee -a $BASH_LOGIN $_OUT; \ + echo 'rm -f $TEMP_SCRIPT' | $SUDO tee -a $BASH_LOGIN $_OUT; \ + echo 'head -n -3 $BASH_LOGIN > $BASH_LOGIN' | $SUDO tee -a $BASH_LOGIN $_OUT; " +if $COPY; then + COMMAND+="$SUDO -- git clone /usr/share/kaleido /home/$LOCAL_USER/kaleido; \ + $SUDO git -C /usr/share/kaleido diff -p HEAD | $SUDO tee /home/$LOCAL_USER/.git_patch_1 $_OUT; \ + $SUDO git -C /home/$LOCAL_USER/kaleido apply /home/$LOCAL_USER/.git_patch_1; " +fi +COMMAND+="sudo su - $LOCAL_USER" docker pull $IMAGE -docker container run --rm -it$DETACH -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" +docker container run -e TERM=$TERM --rm -it$DETACH -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" From f49e66b7088feba9ff36c1c9d84327a1d0e0c0aa Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 8 Jul 2024 11:38:04 -0400 Subject: [PATCH 061/510] Add krefresh command to do clean build --- toolchain/src/xx-kdocker.sh | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 3bed2988..0b516b22 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -35,8 +35,8 @@ usage=( " will not be cloned over. " " Hint: Use \`git add -N PATH\` to track files without staging them for commit." " Hint: Don't work out of the clone ~/kaleido directory." - " Hint: Use \`refresh\` to re-clone/patch ~/kaleido after changes." - " Hint: If you use -c (or `refresh`), kaleido build commands (set_version, etc)" + " Hint: Use \`krefresh\` to re-clone/patch ~/kaleido after changes." + " Hint: If you use -c (or \`krefresh\`), kaleido build commands (set_version, etc)" " will always be run from ~/kaleido, not /usr/share/kaleido." "Docker tips:" " Ending the first session will always end the docker. \`ctl+d\` will exit bash and session." @@ -86,10 +86,27 @@ COMMAND+="\ echo . $TEMP_SCRIPT | $SUDO tee -a $BASH_LOGIN $_OUT; \ echo 'rm -f $TEMP_SCRIPT' | $SUDO tee -a $BASH_LOGIN $_OUT; \ echo 'head -n -3 $BASH_LOGIN > $BASH_LOGIN' | $SUDO tee -a $BASH_LOGIN $_OUT; " + +REFRESH="\n\ + FORCE=false; \n\ + REPLAY=false; \n\ + if [[ \"\$1\" == \"--force\" ]] || [[ \"\$1\" == \"-f\" ]]; then FORCE=true; fi; \n\ + if ! \$FORCE; then \n\ + read -p \"Are you sure? (Y/n)\" -n 1 -r; \n\ + echo; \n\ + fi; \n\ + if \$FORCE || [[ \"\$REPLY\" =~ ^[Yy]$ ]] || [[ \"\$REPLY\" == \"\" ]]; then \n\ + $SUDO rm -rf /home/$LOCAL_USER/kaleido 2> /dev/null; \n\ + $SUDO -- git clone /usr/share/kaleido /home/$LOCAL_USER/kaleido; \n\ + $SUDO git -C /usr/share/kaleido diff -p HEAD | $SUDO tee /home/$LOCAL_USER/.git_patch_1 $_OUT; \n\ + $SUDO git -C /home/$LOCAL_USER/kaleido apply /home/$LOCAL_USER/.git_patch_1; \n\ + fi; " +COMMAND+="echo -e '$REFRESH' | sudo tee /usr/bin/krefresh $_OUT; " +COMMAND+="sudo chmod o+rx /usr/bin/krefresh; " +# TODO This also has to do bin if $COPY; then - COMMAND+="$SUDO -- git clone /usr/share/kaleido /home/$LOCAL_USER/kaleido; \ - $SUDO git -C /usr/share/kaleido diff -p HEAD | $SUDO tee /home/$LOCAL_USER/.git_patch_1 $_OUT; \ - $SUDO git -C /home/$LOCAL_USER/kaleido apply /home/$LOCAL_USER/.git_patch_1; " + #COMMAND+="krefresh --force; " + : fi COMMAND+="sudo su - $LOCAL_USER" From ab416ac4190fb74844b321fa6cb8f81cd7ee42c7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 8 Jul 2024 15:35:01 -0400 Subject: [PATCH 062/510] Fix up verbose --- toolchain/src/xx-kdocker.sh | 27 ++++++++++++++++++++++++--- toolchain/src/xx-make_bin.sh | 13 +++++++++++++ 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 0b516b22..305e7d47 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -38,6 +38,7 @@ usage=( " Hint: Use \`krefresh\` to re-clone/patch ~/kaleido after changes." " Hint: If you use -c (or \`krefresh\`), kaleido build commands (set_version, etc)" " will always be run from ~/kaleido, not /usr/share/kaleido." + " Hint: Pass --force to \`krefresh\` to skip confirmation." "Docker tips:" " Ending the first session will always end the docker. \`ctl+d\` will exit bash and session." " \`ctl+p ctl+q\` (instead of \`ctl+d\`) will leave bash running. You can reattach to (only)" @@ -64,10 +65,13 @@ while (( $# )); do shift done LOCAL_UID="$(id -u $LOCAL_USER)" + + COMMAND="true || sudo apt-get update; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null;" -USER_COMMAND='' +USER_COMMAND="export PATH=/home/$LOCAL_USER/kaleido/bin:$PATH; " $NO_VERBOSE || echo "Running xx-kdocker.sh" +$NO_VERBOSE || echo "User: $LOCAL_USER w/ ID $LOCAL_UID" SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" @@ -91,24 +95,41 @@ REFRESH="\n\ FORCE=false; \n\ REPLAY=false; \n\ if [[ \"\$1\" == \"--force\" ]] || [[ \"\$1\" == \"-f\" ]]; then FORCE=true; fi; \n\ + echo FORCE=\$FORCE; \n\ if ! \$FORCE; then \n\ read -p \"Are you sure? (Y/n)\" -n 1 -r; \n\ echo; \n\ fi; \n\ if \$FORCE || [[ \"\$REPLY\" =~ ^[Yy]$ ]] || [[ \"\$REPLY\" == \"\" ]]; then \n\ + echo removing current...; \n\ $SUDO rm -rf /home/$LOCAL_USER/kaleido 2> /dev/null; \n\ + echo cloning...; \n\ $SUDO -- git clone /usr/share/kaleido /home/$LOCAL_USER/kaleido; \n\ + echo calculating diff...; \n\ $SUDO git -C /usr/share/kaleido diff -p HEAD | $SUDO tee /home/$LOCAL_USER/.git_patch_1 $_OUT; \n\ + echo patching...; \n\ $SUDO git -C /home/$LOCAL_USER/kaleido apply /home/$LOCAL_USER/.git_patch_1; \n\ + $SUDO bash -c \"pwd && echo $USER && cd /home/$USER/kaleido && ./toolchain/src/xx-make_bin.sh -n\"; \n\ fi; " COMMAND+="echo -e '$REFRESH' | sudo tee /usr/bin/krefresh $_OUT; " COMMAND+="sudo chmod o+rx /usr/bin/krefresh; " # TODO This also has to do bin if $COPY; then - #COMMAND+="krefresh --force; " - : + $NO_VERBOSE || echo "Copy set" + if $NO_VERBOSE; then + COMMAND+="krefresh --force &> /dev/null; " + else + COMMAND+="krefresh --force; " + fi fi COMMAND+="sudo su - $LOCAL_USER" +$NO_VERBOSE || echo -e "User Command Set:\n$USER_COMMAND" +$NO_VERBOSE || echo -e "Command Set:\n$COMMAND" +$NO_VERBOSE || echo -e "Refresh Script:\n$REFRESH" + +$NO_VERBOSE || echo "Pulling $IMAGE" docker pull $IMAGE + +$NO_VERBOSE || echo "docker container run -e TERM=$TERM -rm -it$DETACH -v $VOLUME $IMAGE bash -c COMMAND" docker container run -e TERM=$TERM --rm -it$DETACH -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" diff --git a/toolchain/src/xx-make_bin.sh b/toolchain/src/xx-make_bin.sh index 112fe464..eeb23159 100755 --- a/toolchain/src/xx-make_bin.sh +++ b/toolchain/src/xx-make_bin.sh @@ -1,4 +1,15 @@ # Lets get main directory + +NO_PATH=false +if [[ "$1" == "--no-path" ]] || [[ "$1" == "-n" ]]; then + NO_PATH=true + shift +fi +if [[ "$1" != "" ]]; then + echo "make_bin takes one optional flag: -n|--no-path to skip setting the path" + exit 1; +fi + MAIN_DIR="$(git rev-parse --show-toplevel)" if [[ "${MAIN_DIR}" == "" ]] || [[ "${MAIN_DIR}" = "/" ]]; then echo "We need to be in the git directory." >&2 @@ -29,6 +40,8 @@ bash -c '( make_link "xx-all.sh" )' +if $NO_PATH; then exit 0; fi + if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then echo "You may rerun this script using \`source\` to modify your shell's path or, on your command line, run:" echo "export PATH=\"${BIN_DIR}:\$PATH\"" From c3c14575741d0d0fd8c741b5a1eb962ebdb707ab Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 8 Jul 2024 15:37:15 -0400 Subject: [PATCH 063/510] Add usage to two scripts --- toolchain/src/xx-kdocker.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 305e7d47..b934f3a4 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -94,7 +94,11 @@ COMMAND+="\ REFRESH="\n\ FORCE=false; \n\ REPLAY=false; \n\ - if [[ \"\$1\" == \"--force\" ]] || [[ \"\$1\" == \"-f\" ]]; then FORCE=true; fi; \n\ + if [[ \"\$1\" == \"--force\" ]] || [[ \"\$1\" == \"-f\" ]]; then \n\ + FORCE=true; \n\ + elif [[ -n \"\$1\" ]]; then \n\ + echo krefresh takes one possible argument, --force|-f, to ignore confirmation.; \n\ + fi; \n\ echo FORCE=\$FORCE; \n\ if ! \$FORCE; then \n\ read -p \"Are you sure? (Y/n)\" -n 1 -r; \n\ From 2542475f019ef6bcbdb6fd018e7f5ced120f408c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 8 Jul 2024 16:40:56 -0400 Subject: [PATCH 064/510] Cache apt-get update --- .gitignore | 3 ++- toolchain/src/xx-kdocker.sh | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c6fbb7eb..4d2ca7b5 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,5 @@ repos/*.tar.gz *.sw* .set_version bin -toolchain/tmp/install-build-deps.sh +toolchain/tmp/ + diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index b934f3a4..169ce028 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -67,7 +67,7 @@ done LOCAL_UID="$(id -u $LOCAL_USER)" -COMMAND="true || sudo apt-get update; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null;" +COMMAND="sudo apt-get update; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null;" USER_COMMAND="export PATH=/home/$LOCAL_USER/kaleido/bin:$PATH; " $NO_VERBOSE || echo "Running xx-kdocker.sh" @@ -77,6 +77,9 @@ SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> / . "$SCRIPT_DIR/include/utilities.sh" VOLUME="$MAIN_DIR:/usr/share/kaleido" +APT_CACHE="$MAIN_DIR/toolchain/tmp/apt_cache/" +mkdir -p $APT_CACHE +APT_VOLUME="$APT_CACHE:/var/lib/apt/lists/" if [[ -n "${@}" ]]; then USER_COMMAND+="${@}; " fi @@ -136,4 +139,4 @@ $NO_VERBOSE || echo "Pulling $IMAGE" docker pull $IMAGE $NO_VERBOSE || echo "docker container run -e TERM=$TERM -rm -it$DETACH -v $VOLUME $IMAGE bash -c COMMAND" -docker container run -e TERM=$TERM --rm -it$DETACH -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" +docker container run -e TERM=$TERM --rm -it$DETACH -v "$APT_VOLUME" -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" From 1909b7ad0cd2d0d2c190cc0ccf637b879c5388ee Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 8 Jul 2024 20:41:48 +0000 Subject: [PATCH 065/510] Add .gitconfig to docker user --- toolchain/src/xx-kdocker.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 169ce028..5170709f 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -66,7 +66,7 @@ while (( $# )); do done LOCAL_UID="$(id -u $LOCAL_USER)" - +GIT_CONFIG="$(cat /home/$LOCAL_USER/.gitconfig)" COMMAND="sudo apt-get update; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null;" USER_COMMAND="export PATH=/home/$LOCAL_USER/kaleido/bin:$PATH; " @@ -92,7 +92,8 @@ COMMAND+="\ echo '$USER_COMMAND' | $SUDO tee -a $TEMP_SCRIPT $_OUT; \ echo . $TEMP_SCRIPT | $SUDO tee -a $BASH_LOGIN $_OUT; \ echo 'rm -f $TEMP_SCRIPT' | $SUDO tee -a $BASH_LOGIN $_OUT; \ - echo 'head -n -3 $BASH_LOGIN > $BASH_LOGIN' | $SUDO tee -a $BASH_LOGIN $_OUT; " + echo 'head -n -3 $BASH_LOGIN > $BASH_LOGIN' | $SUDO tee -a $BASH_LOGIN $_OUT; \ + echo '$GIT_CONFIG' | $SUDO tee -a /home/$LOCAL_USER/.gitconfig $_OUT;" REFRESH="\n\ FORCE=false; \n\ From 3802da9e86183d5f69abac2dd93736d410fba3f5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 8 Jul 2024 20:42:59 +0000 Subject: [PATCH 066/510] Improve kdocker help --- toolchain/src/xx-kdocker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 5170709f..3c67c6c6 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -35,10 +35,10 @@ usage=( " will not be cloned over. " " Hint: Use \`git add -N PATH\` to track files without staging them for commit." " Hint: Don't work out of the clone ~/kaleido directory." + " Hint: It's easier to push outside of docker." " Hint: Use \`krefresh\` to re-clone/patch ~/kaleido after changes." " Hint: If you use -c (or \`krefresh\`), kaleido build commands (set_version, etc)" " will always be run from ~/kaleido, not /usr/share/kaleido." - " Hint: Pass --force to \`krefresh\` to skip confirmation." "Docker tips:" " Ending the first session will always end the docker. \`ctl+d\` will exit bash and session." " \`ctl+p ctl+q\` (instead of \`ctl+d\`) will leave bash running. You can reattach to (only)" From ccb8f36435afe79a3e50a84b00a6cfdb6bc84623 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 8 Jul 2024 20:11:00 -0400 Subject: [PATCH 067/510] Rework and comment utilities a bit --- toolchain/src/include/defaults.sh | 2 -- toolchain/src/include/globals | 14 +++++++++ toolchain/src/include/utilities.sh | 49 ++++++++++++++++++------------ 3 files changed, 43 insertions(+), 22 deletions(-) delete mode 100644 toolchain/src/include/defaults.sh create mode 100644 toolchain/src/include/globals diff --git a/toolchain/src/include/defaults.sh b/toolchain/src/include/defaults.sh deleted file mode 100644 index 3d058c05..00000000 --- a/toolchain/src/include/defaults.sh +++ /dev/null @@ -1,2 +0,0 @@ -export TARGET_ARCH=${TARGET_ARCH:-x64} -export CPUS=${CPUS:-1} diff --git a/toolchain/src/include/globals b/toolchain/src/include/globals new file mode 100644 index 00000000..ef347496 --- /dev/null +++ b/toolchain/src/include/globals @@ -0,0 +1,14 @@ +export TARGET_ARCH=${TARGET_ARCH:-x64} +export CPUS=${CPUS:-1} + +# Add depot_tools to our path, +if [[ "$PLATFORM" == "WINDOWS" ]]; then + export PATH="$MAIN_DIR/vendor/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS + $NO_VERBOSE || echo "Modified path to add future depot_tools/bootstrap/ directory" +elif [[ "$PLATFORM" == "LINUX" ]]; then + export PATH="$MAIN_DIR/vendor/depot_tools:$PATH" + $NO_VERBOSE || echo "Modified path to add future depot_tools/ directory" +elif [[ "$PLATFORM" == "OSX" ]]; then + export PATH="$MAIN_DIR/vendor/depot_tools:$PATH" + $NO_VERBOSE || echo "Modified path to add future depot_tools/ directory" +fi diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh index 643268e3..22a64205 100644 --- a/toolchain/src/include/utilities.sh +++ b/toolchain/src/include/utilities.sh @@ -1,10 +1,22 @@ #!/bin/bash -# exit whole script on any error -set -e +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + echo "To include utilities.sh, don't execute it- source it" + exit 1 +fi + +### +### SETTING BASH MODES ### +### + +# It's good to put this at the tope of the script anyway -# don't allow undefined env var expansion -set -u +set -e # exit whole script on any error +set -u # don't allow undefined env var expansion + +### +### DEFINING UTILITY FUNCTIONS ### +### # util_error will take a string as an argument and print it to error, and quit util_error() # print error and quit @@ -25,7 +37,7 @@ util_get_version() } export -f util_get_version -# util will simple export the version variables for use in subshells +# util_export_version will simple export the version variables for use in subshells util_export_version() { export CHROMIUM_VERSION_TAG @@ -33,6 +45,10 @@ util_export_version() } export -f util_export_version +### +### DETERMING PLATFORM AND OS ### +### + # The following code tries to determine what operating system we're running PLATFORM="" case "$OSTYPE" in @@ -65,7 +81,10 @@ if ! [[ "$HOST_ARCH" =~ ^(x64|x32|arm)$ ]]; then fi $NO_VERBOSE || echo "Found architecture: $HOST_ARCH" -# Lets find our top level directory +### +### FIND THE GIT DIRECTORY ### +### + export MAIN_DIR="$(git rev-parse --show-toplevel)" $NO_VERBOSE || echo "Found main dir: ${MAIN_DIR}" @@ -73,17 +92,7 @@ if [[ "$MAIN_DIR" == "" ]] || [[ "$MAIN_DIR" == "/" ]]; then util_error "git rev-parse returned an empty directory, are we in a git directory?" fi -mkdir -p "$MAIN_DIR"/vendor # probably exists, but maybe not - -# This will add depot_tools to our path, -# It would make sense to put this elsewhere but we need it in every script -if [[ "$PLATFORM" == "WINDOWS" ]]; then - export PATH="$MAIN_DIR/vendor/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS - $NO_VERBOSE || echo "Modified path to add future depot_tools/bootstrap/ directory" -elif [[ "$PLATFORM" == "LINUX" ]]; then - export PATH="$MAIN_DIR/vendor/depot_tools/:$PATH" - $NO_VERBOSE || echo "Modified path to add future depot_tools/ directory" -elif [[ "$PLATFORM" == "OSX" ]]; then - export PATH="$MAIN_DIR/vendor/depot_tools/:$PATH" - $NO_VERBOSE || echo "Modified path to add future depot_tools/ directory" -fi +mkdir -p "$MAIN_DIR/vendor" + + +. "$MAIN_DIR"/toolchain/src/include/globals From 2f446972428510278e56131924b7cb354960bfa7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 10 Jul 2024 15:16:40 -0400 Subject: [PATCH 068/510] Refactor build strategy --- toolchain/src/00-set_version.sh | 29 ++--- toolchain/src/01-fetch_tools.sh | 21 ++-- toolchain/src/02-init_tools.sh | 19 +-- toolchain/src/include/utilities.sh | 60 +++++++++- toolchain/src/xx-all.sh | 81 ++++++++++++- toolchain/src/xx-kdocker.sh | 180 ++++++++++++++++++----------- toolchain/src/xx-make_bin.sh | 43 ++++--- toolchain/src/xx-template.sh | 21 ++-- 8 files changed, 310 insertions(+), 144 deletions(-) diff --git a/toolchain/src/00-set_version.sh b/toolchain/src/00-set_version.sh index 18e81077..91d4e3fa 100755 --- a/toolchain/src/00-set_version.sh +++ b/toolchain/src/00-set_version.sh @@ -27,29 +27,22 @@ usage=( "Force ask:" "set_version [-a|--ask]" ) -## PROCESS FLAGS -ASK=false -NO_VERBOSE=true -LATEST=false -while (( $# )); do - case $1 in - -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; - -c|--chromium) shift; CHROMIUM_VERSION_TAG="$1" ;; - -d|--depot) shift; DEPOT_TOOLS_COMMIT="$1" ;; - -v|--verbose) NO_VERBOSE=false ;; - -l|--latest) LATEST=true ;; - -a|--ask) ASK=true ;; - *) printf "%s\n" "${usage[@]}"; exit 1 ;; - esac - shift -done - -$NO_VERBOSE || echo "Running 00-set_version.sh" +FLAGS=("-l" "--latest" "-a" "--ask") +ARGFLAGS=("-c" "--chromium" "-d" "--depot") SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" +ASK="$(flags_resolve false "-a" "--ask")" + +LATEST="$(flags_resolve false "-l" "--latest")" + +CHROMIUM_VERSION_TAG=$(flags_resolve ${CHROMIUM_VERSION_TAG-""} -c --chromium) +DEPOT_TOOLS_COMMIT=$(flags_resolve ${DEPOT_TOOLS_COMMIT-""} -d --depot) + +$NO_VERBOSE || echo "Running 00-set_version.sh" + if $LATEST; then $NO_VERBOSE || echo "Getting latest:" . "$MAIN_DIR/toolchain/version_configurations/$(ls -v "$MAIN_DIR/toolchain/version_configurations" | tail -1)" diff --git a/toolchain/src/01-fetch_tools.sh b/toolchain/src/01-fetch_tools.sh index 15cf2c67..e2210dee 100755 --- a/toolchain/src/01-fetch_tools.sh +++ b/toolchain/src/01-fetch_tools.sh @@ -14,25 +14,18 @@ usage=( "Delete .git to save space:" "set_version [-d|--delete-git]" ) -## PROCESS FLAGS - -DELETE_GIT=false -NO_VERBOSE=true -while (( $# )); do - case $1 in - -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; - -v|--verbose) NO_VERBOSE=false ;; - -d|--delete-git) DELETE_GIT=true ;; - *) printf "%s\n" "${usage[@]}"; exit 1 ;; - esac - shift -done -$NO_VERBOSE || echo "Running 01-fetch_tools.sh" + +FLAGS=("-d" "--delete-git") +ARGFLAGS=() SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" +DELETE_GIT="$(flags_resolve false "-d" "--delete-git")" # will resolve true if existing, false if no + +$NO_VERBOSE || echo "Running 01-fetch_tools.sh" + util_get_version util_export_version diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 3a07fdb4..249bb30f 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -18,23 +18,16 @@ usage=( ) ## PROCESS FLAGS -SHOW=false -NO_VERBOSE=true -while (( $# )); do - case $1 in - -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; - -d|--dry-run) SHOW=true ;; - -v|--verbose) NO_VERBOSE=false ;; - *) printf "%s\n" "${usage[@]}"; exit 1 ;; - esac - shift -done - -$NO_VERBOSE || echo "Running 02-init_tools.sh" +FLAGS=("-d" "--dry-run") +ARGFLAGS=() SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" +SHOW="$(flags_resolve false "-d" "--dry-run")" + +$NO_VERBOSE || echo "Running 02-init_tools.sh" + util_get_version util_export_version diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh index 22a64205..26cd04fa 100644 --- a/toolchain/src/include/utilities.sh +++ b/toolchain/src/include/utilities.sh @@ -19,12 +19,11 @@ set -u # don't allow undefined env var expansion ### # util_error will take a string as an argument and print it to error, and quit -util_error() # print error and quit +util_error() { - echo "Error: $@" >&2 + echo -e "Error: $@" >&2 exit 1 } -export -f util_error # util_get_version will load the version in .set_version or try to find it in env vars util_get_version() @@ -35,7 +34,6 @@ util_get_version() util_error "Couldn't find or set env vars for versions, please run set_version." fi } -export -f util_get_version # util_export_version will simple export the version variables for use in subshells util_export_version() @@ -43,7 +41,59 @@ util_export_version() export CHROMIUM_VERSION_TAG export DEPOT_TOOLS_COMMIT } -export -f util_export_version + +### +### FLAGS +### + +if [[ -z "${usage-}" ]]; then + util_error "The script author must create a \`usage\` string-array prior to calling utilities.sh or flags.sh" +fi + +if [[ ! "$(declare -p FLAGS)" =~ "declare -a" ]] || [[ ! "$(declare -p ARGFLAGS)" =~ "declare -a" ]]; then + util_error "The script author must at least declare a FLAGS and ARGFLAGS array. FLAGS=(); ARGFLAGS=();" +fi + +declare -A ARGS +NO_VERBOSE=true +while (( $# )); do + case $1 in + -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; + -v|--verbose) NO_VERBOSE=false ;; + *) + if [[ "${1}" == -* ]]; then + if [[ " ${FLAGS[*]} " =~ " ${1} " ]]; then + ARGS["${1}"]=true + elif [[ " ${ARGFLAGS[*]} " =~ " ${1} " ]]; then + KEY="${1}"; shift + ARGS["$KEY"]="${1}" + else + util_error "Unknown flag: \"${1}\". See --help." + fi + elif [[ " ${FLAGS[*]} " =~ " : " ]]; then + ARGS[":"]="${@}" + break 1 + else + util_error "Unknown argument: ${1}. See --help" || true + fi + ;; + esac + shift +done + +# flags_resolve checks several keys and returns the first one that has a value +flags_resolve() +{ + DEFAULT="$1" + shift + while (( $# )); do + [[ -v ARGS["$1"] ]] && echo "${ARGS[$1]}" && break || true + shift + done + echo "$DEFAULT" +} + +$NO_VERBOSE || printf "Flags:\n%s\n" "${!array[@]}" "${array[@]}" | pr -2t ### ### DETERMING PLATFORM AND OS ### diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 0f5dd6a6..2fa1b195 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -1,5 +1,82 @@ +#!/bin/bash set -e set -u + +# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! +usage=( + "all is a shortcut to running the scripts. If the first argument is a number, -0, -1, -2, it will run that stage." + "Anything besides that or after that will be passed to the command or every command run." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" + "Display this help:" + "all [-h|--h]" + "" + "Example: You can specify a specific stage and its flags. The following are equivalent:" + "all -0 --latest" + "set_version --latest" + + "Or, you can skip the number and everything will be passed to every command." + "So, it really only works with --help, or --verbose." +) + +FLAGS=(":", "-0", "-1", "-2", "-3", "-4", "-5", "-6", "-7", "-8") +ARGFLAGS=("") + SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) -$SCRIPT_DIR/00-set_version.sh $@ -$SCRIPT_DIR/01-fetch_tools.sh $@ +. "$SCRIPT_DIR/include/utilities.sh" + +ZERO=$(flags_resolve false "-0") +ONE=$(flags_resolve false "-1") +TWO=$(flags_resolve false "-2") +THREE=$(flags_resolve false "-3") +FOUR=$(flags_resolve false "-4") +FIVE=$(flags_resolve false "-5") +SIX=$(flags_resolve false "-6") +SEVEN=$(flags_resolve false "-7") +EIGHT=$(flags_resolve false "-8") +NOT_ALL=$ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || false + +$NO_VERBOSE || echo "Running xx-all.sh" + +# check for something in path before running +if [[ $ZERO ]] || [[ $ALL ]]; then + if $(which set_version &>/dev/null); then + set_version $(flags_resolve "" ":") + else + $SCRIPT_DIR/00-set_version.sh $(flags_resolve "" ":") + fi +fi +if [[ $ONE ]] || [[ $ALL ]]; then + if $(which fetch_tools &>/dev/null); then + fetch_tools $(flags_resolve "" ":") + else + $SCRIPT_DIR/01-fetch_tools.sh $(flags_resolve "" ":") + fi +fi +if [[ $TWO ]] || [[ $ALL ]]; then + if $(which init_tools &>/dev/null); then + fetch_tools $(flags_resolve "" ":") + else + $SCRIPT_DIR/02-init_tools.sh $(flags_resolve "" ":") + fi +fi +if [[ $THREE]] || [[ $ALL ]]; then + +fi +if [[ $FOUR ]] || [[ $ALL ]]; then + +fi +if [[ $FIVE ]] || [[ $ALL ]]; then + +fi +if [[ $SIX ]] || [[ $ALL ]]; then + +fi +if [[ $SEVEN ]] || [[ $ALL ]]; then + +fi +if [[ $EIGHT ]] || [[ $ALL ]]; then + +fi diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 3c67c6c6..b4d412a5 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -1,10 +1,24 @@ #!/bin/bash +# This is a script to help get us into a workable dev-environment inside a docker container +# ⚠️⚠️⚠️ HERE BE DRAGONS ⚠️⚠️⚠️ +# \****__ ____ +# | *****\_ --/ *\-__ +# /_ (_ ./ ,/----' +# \__ (_./ / +# \__ \___----^__ +# _/ _ \ +# | _/ __/ )\"\ _____ *\ +# |\__/ / ^ ^ \____ ) +# \___--" \_____ ) +# +# ASCII Credit: IronWing + set -e set -u # Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! -IMAGE="cimg/python:3.12.3" +IMAGE="${IMAGE-cimg/python:3.12.3}" usage=( "kdocker is convenience script to start dockers for building on linux." "" @@ -35,7 +49,7 @@ usage=( " will not be cloned over. " " Hint: Use \`git add -N PATH\` to track files without staging them for commit." " Hint: Don't work out of the clone ~/kaleido directory." - " Hint: It's easier to push outside of docker." + " Hint: Its easier to push outside of docker." " Hint: Use \`krefresh\` to re-clone/patch ~/kaleido after changes." " Hint: If you use -c (or \`krefresh\`), kaleido build commands (set_version, etc)" " will always be run from ~/kaleido, not /usr/share/kaleido." @@ -47,81 +61,115 @@ usage=( " \`docker exec --user \$USER -it CONTAINER_NAME bash\`." ) -## PROCESS FLAGS -DETACH="" -NO_VERBOSE=true -COPY=false -LOCAL_USER="$USER" -while (( $# )); do - case $1 in - -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; - -i|--image) shift; IMAGE="$1" ;; - -u|--user) shift; LOCAL_USER="$1" ;; - -d|--detach) DETACH="d" ;; - -v|--verbose) NO_VERBOSE=false ;; - -c|--copy) COPY=true ;; - *) break ;; - esac - shift -done -LOCAL_UID="$(id -u $LOCAL_USER)" +FLAGS=(":" "-c" "--copy" "-d" "--detach") +ARGFLAGS=("-i" "--image" "-u" "--user") + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +. "$SCRIPT_DIR/include/utilities.sh" + +$(flags_resolve "false" "-d" "--detach") && DETACH=d || DETACH="" +$NO_VERBOSE || echo "Detach flag: '$DETACH'" + +COPY="$(flags_resolve "false" "-c" "--copy")" +$NO_VERBOSE || echo "Copy: $COPY" -GIT_CONFIG="$(cat /home/$LOCAL_USER/.gitconfig)" -COMMAND="sudo apt-get update; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null;" -USER_COMMAND="export PATH=/home/$LOCAL_USER/kaleido/bin:$PATH; " +IMAGE=$(flags_resolve ${IMAGE} -i --image) +$NO_VERBOSE || echo "Image: $IMAGE" + +LOCAL_USER=$(flags_resolve ${USER} -u --user) $NO_VERBOSE || echo "Running xx-kdocker.sh" -$NO_VERBOSE || echo "User: $LOCAL_USER w/ ID $LOCAL_UID" -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) -. "$SCRIPT_DIR/include/utilities.sh" +LOCAL_UID="$(id -u $LOCAL_USER)" +$NO_VERBOSE || echo "User: $LOCAL_USER w/ ID $LOCAL_UID" +# Set up mounting some of our directories into docker VOLUME="$MAIN_DIR:/usr/share/kaleido" + APT_CACHE="$MAIN_DIR/toolchain/tmp/apt_cache/" mkdir -p $APT_CACHE APT_VOLUME="$APT_CACHE:/var/lib/apt/lists/" -if [[ -n "${@}" ]]; then - USER_COMMAND+="${@}; " -fi -SUDO="sudo sudo -u $LOCAL_USER" -_OUT="1> /dev/null" -BASH_LOGIN="/home/$LOCAL_USER/.bash_login" -TEMP_SCRIPT="/home/$LOCAL_USER/.temp_script.sh" + +# COMMAND is what we run to set up the user and do some basics +COMMAND="sudo apt-get update; echo ok; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null; " + +# USER_COMMAND is what we run once we are logged in as the intended user, +# including the actual user's desired command +# \$PATH means we don't want to expand path now, but in docker, it makes it to USER_COMMAND as $PATH, literally +USER_COMMAND="export PATH=/home/$LOCAL_USER/kaleido/bin:\$PATH; " + +# ":" is the bash noop, it is also the key for extra user arguments +# so this prints ":" if it can't find an argument of key ":" +USER_COMMAND+="$(flags_resolve ":" ":"); " # if the user passed \$VAR, it will make it to USER_COMMAND as $VAR, literally + +# Let's grab the users git config so they can use it in docker. +# We could mount, but we copy +# They won't have ssh though, so only commit, no push +gitconfig="$(cat /home/$LOCAL_USER/.gitconfig)" + +# Some short cuts to make this less or maybe more readable +sudo="sudo sudo -u $LOCAL_USER" # will throw background errors in docker, is fine +silence="1> /dev/null" +bash_login="/home/$LOCAL_USER/.bash_login" +temp_script="/home/$LOCAL_USER/.temp_script.sh" + +# Understanding bash expansion rules: +# KEY="value" +# +# echo "$KEY" +# value +# +# echo '$KEY' +# $KEY +# +# echo "'$KEY'" +# 'value' +# +# So while $USER_COMMAND is expanded to the bash command, +# When it is echos, it will be between '', so it will echo literaly to the file +# Which will later be executed, and then will be expanded COMMAND+="\ - echo '$USER_COMMAND' | $SUDO tee -a $TEMP_SCRIPT $_OUT; \ - echo . $TEMP_SCRIPT | $SUDO tee -a $BASH_LOGIN $_OUT; \ - echo 'rm -f $TEMP_SCRIPT' | $SUDO tee -a $BASH_LOGIN $_OUT; \ - echo 'head -n -3 $BASH_LOGIN > $BASH_LOGIN' | $SUDO tee -a $BASH_LOGIN $_OUT; \ - echo '$GIT_CONFIG' | $SUDO tee -a /home/$LOCAL_USER/.gitconfig $_OUT;" - -REFRESH="\n\ - FORCE=false; \n\ - REPLAY=false; \n\ - if [[ \"\$1\" == \"--force\" ]] || [[ \"\$1\" == \"-f\" ]]; then \n\ - FORCE=true; \n\ - elif [[ -n \"\$1\" ]]; then \n\ - echo krefresh takes one possible argument, --force|-f, to ignore confirmation.; \n\ - fi; \n\ - echo FORCE=\$FORCE; \n\ - if ! \$FORCE; then \n\ - read -p \"Are you sure? (Y/n)\" -n 1 -r; \n\ - echo; \n\ - fi; \n\ - if \$FORCE || [[ \"\$REPLY\" =~ ^[Yy]$ ]] || [[ \"\$REPLY\" == \"\" ]]; then \n\ - echo removing current...; \n\ - $SUDO rm -rf /home/$LOCAL_USER/kaleido 2> /dev/null; \n\ - echo cloning...; \n\ - $SUDO -- git clone /usr/share/kaleido /home/$LOCAL_USER/kaleido; \n\ - echo calculating diff...; \n\ - $SUDO git -C /usr/share/kaleido diff -p HEAD | $SUDO tee /home/$LOCAL_USER/.git_patch_1 $_OUT; \n\ - echo patching...; \n\ - $SUDO git -C /home/$LOCAL_USER/kaleido apply /home/$LOCAL_USER/.git_patch_1; \n\ - $SUDO bash -c \"pwd && echo $USER && cd /home/$USER/kaleido && ./toolchain/src/xx-make_bin.sh -n\"; \n\ - fi; " -COMMAND+="echo -e '$REFRESH' | sudo tee /usr/bin/krefresh $_OUT; " + echo '$USER_COMMAND' | $sudo tee -a $temp_script $silence; \ + echo . $temp_script | $sudo tee -a $bash_login $silence; \ + echo 'rm -f $temp_script' | $sudo tee -a $bash_login $silence; \ + echo 'head -n -3 $bash_login > $bash_login' | $sudo tee -a $bash_login $silence; \ + echo '$gitconfig' | $sudo tee -a /home/$LOCAL_USER/.gitconfig $silence; " + +# Create the krefresh command, kinda awful doing it here +# read -d '' always exits >0, use `|| true` to evade set -o +# have to escape $ and | +read -r -d '' REFRESH << EndOfScript || true + FORCE=false + REPLAY=false + if [[ "\$1" == "--force" ]] || [[ "\$1" == "-f" ]]; then + FORCE=true + elif [[ -n "\$1" ]]; then + echo "krefresh takes one possible argument, --force|-f, to ignore confirmation." + echo "Not sure what is '\$1'" + exit 1 + fi + echo "Force? \$FORCE" + if ! \$FORCE; then + read -p "Are you sure? (Y/n)" -n 1 -r + echo + fi + if \$FORCE || [[ "\$REPLY" =~ ^[Yy]$ ]] || [[ "\$REPLY" == "" ]]; then + echo "removing current..." + $sudo rm -rf /home/$LOCAL_USER/kaleido 2> /dev/null + echo "cloning..." + $sudo -- git clone /usr/share/kaleido /home/$LOCAL_USER/kaleido + echo "calculating diff..." + $sudo git -C /usr/share/kaleido diff -p HEAD | $sudo tee /home/$LOCAL_USER/.git_patch_1 $silence + echo "patching..." + $sudo git -C /home/$LOCAL_USER/kaleido apply /home/$LOCAL_USER/.git_patch_1 + $sudo bash -c "cd /home/$LOCAL_USER/kaleido && ./toolchain/src/xx-make_bin.sh -n" + fi +EndOfScript + +COMMAND+="echo '$REFRESH' | sudo tee /usr/bin/krefresh $silence; " COMMAND+="sudo chmod o+rx /usr/bin/krefresh; " -# TODO This also has to do bin + if $COPY; then $NO_VERBOSE || echo "Copy set" if $NO_VERBOSE; then @@ -139,5 +187,5 @@ $NO_VERBOSE || echo -e "Refresh Script:\n$REFRESH" $NO_VERBOSE || echo "Pulling $IMAGE" docker pull $IMAGE -$NO_VERBOSE || echo "docker container run -e TERM=$TERM -rm -it$DETACH -v $VOLUME $IMAGE bash -c COMMAND" +$NO_VERBOSE || set -x # to print out the line w/o rewriting it docker container run -e TERM=$TERM --rm -it$DETACH -v "$APT_VOLUME" -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" diff --git a/toolchain/src/xx-make_bin.sh b/toolchain/src/xx-make_bin.sh index eeb23159..eeb7681b 100755 --- a/toolchain/src/xx-make_bin.sh +++ b/toolchain/src/xx-make_bin.sh @@ -1,21 +1,36 @@ +#!/bin/bash +set -e +set -u + +# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! +usage=( + "xx-make_bin.sh will create shortcuts to the utilties and optionally set the path," + "if its sourced. xx-make_bin.sh doesn't add a shortcut for itself, so always call it here." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" + "Display this help:" + "xx-make_bin [-h|--h]" + "" + "You can totally skip setting path:" + "xx_template [-n|--no-path]" +) # Lets get main directory -NO_PATH=false -if [[ "$1" == "--no-path" ]] || [[ "$1" == "-n" ]]; then - NO_PATH=true - shift -fi -if [[ "$1" != "" ]]; then - echo "make_bin takes one optional flag: -n|--no-path to skip setting the path" - exit 1; -fi +FLAGS=("-n" "--no-path") +ARGFLAGS=() + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +. "$SCRIPT_DIR/include/utilities.sh" + +NO_PATH="$(flags_resolve false "-n" "--no-path")" + +$NO_VERBOSE || echo "Running xx-make_bin.sh" -MAIN_DIR="$(git rev-parse --show-toplevel)" -if [[ "${MAIN_DIR}" == "" ]] || [[ "${MAIN_DIR}" = "/" ]]; then - echo "We need to be in the git directory." >&2 - exit 1 -fi BIN_DIR="$(realpath $MAIN_DIR/bin)" + +# really awful way to make sure this is bash lol bash -c '( MAIN_DIR="$(git rev-parse --show-toplevel)" if [[ "${MAIN_DIR}" == "" ]] || [[ "${MAIN_DIR}" == "/" ]]; then diff --git a/toolchain/src/xx-template.sh b/toolchain/src/xx-template.sh index 8072074b..3769a2b4 100644 --- a/toolchain/src/xx-template.sh +++ b/toolchain/src/xx-template.sh @@ -15,22 +15,19 @@ usage=( "Something else you can do" "xx_template [-l|--long]" ) -## PROCESS FLAGS -NO_VERBOSE=true -while (( $# )); do - case $1 in - -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; - -v|--verbose) NO_VERBOSE=false ;; - *) printf "%s\n" "${usage[@]}"; exit 1 ;; - esac - shift -done - -$NO_VERBOSE || echo "Running xx-template.sh" +FLAGS=("-l" "--long" "-f" "--full") # add ":" to accept variable arguments after flags +ARGFLAGS=("-t" "--target") # arg flags will take the following word as an argument SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" +LONG="$(flags_resolve false "-l" "--long")" # will resolve true if existing, false if no +FULL="$(flags_resolve false "-f" "--full")" +TARGET=$(flags_resolve ${TARGET-""} -t --target) # set double-layer default + +$NO_VERBOSE || echo "Running xx-template.sh" + + util_get_version util_export_version From fe4fe4a2f16fe7a00fe0acd7c2394ca63b477eed Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 10 Jul 2024 15:28:42 -0400 Subject: [PATCH 069/510] Add some more flag syntax --- toolchain/src/include/utilities.sh | 5 ++++ toolchain/src/xx-all.sh | 39 +++++++++++++++++++----------- 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh index 26cd04fa..d41487d6 100644 --- a/toolchain/src/include/utilities.sh +++ b/toolchain/src/include/utilities.sh @@ -64,6 +64,11 @@ while (( $# )); do if [[ "${1}" == -* ]]; then if [[ " ${FLAGS[*]} " =~ " ${1} " ]]; then ARGS["${1}"]=true + if [[ "${1}" == *: ]]; then + shift + ARGS[":"]="${@}" + break 1 + fi elif [[ " ${ARGFLAGS[*]} " =~ " ${1} " ]]; then KEY="${1}"; shift ARGS["$KEY"]="${1}" diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 2fa1b195..4823f20a 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -4,7 +4,7 @@ set -u # Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! usage=( - "all is a shortcut to running the scripts. If the first argument is a number, -0, -1, -2, it will run that stage." + "all is a shortcut to running the scripts. If the first argument is a number, -0:, -1:, -2:, it will run that stage." "Anything besides that or after that will be passed to the command or every command run." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" @@ -14,28 +14,39 @@ usage=( "all [-h|--h]" "" "Example: You can specify a specific stage and its flags. The following are equivalent:" - "all -0 --latest" + "all -0: --latest" "set_version --latest" - + "" "Or, you can skip the number and everything will be passed to every command." - "So, it really only works with --help, or --verbose." + "So, it really only works with --help and --verbose." + "" + "-0: set_version" + "-1: fetch_tools" + "-2: init_tools" + "-3:" + "-4:" + "-5:" + "-6:" + "-7:" + "-8:" ) -FLAGS=(":", "-0", "-1", "-2", "-3", "-4", "-5", "-6", "-7", "-8") +FLAGS=(":" "-0:" "-1:" "-2:" "-3:" "-4:" "-5:" "-6:" "-7:", "-8:") ARGFLAGS=("") SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" -ZERO=$(flags_resolve false "-0") -ONE=$(flags_resolve false "-1") -TWO=$(flags_resolve false "-2") -THREE=$(flags_resolve false "-3") -FOUR=$(flags_resolve false "-4") -FIVE=$(flags_resolve false "-5") -SIX=$(flags_resolve false "-6") -SEVEN=$(flags_resolve false "-7") -EIGHT=$(flags_resolve false "-8") +ZERO=$(flags_resolve false "-0:") +ONE=$(flags_resolve false "-1:") +TWO=$(flags_resolve false "-2:") +THREE=$(flags_resolve false "-3:") +FOUR=$(flags_resolve false "-4:") +FIVE=$(flags_resolve false "-5:") +SIX=$(flags_resolve false "-6:") +SEVEN=$(flags_resolve false "-7:") +EIGHT=$(flags_resolve false "-8:") + NOT_ALL=$ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || false $NO_VERBOSE || echo "Running xx-all.sh" From 46a86ad4639f0f7480a800cd12963a40511b63e7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 10 Jul 2024 19:34:26 +0000 Subject: [PATCH 070/510] Fix bools in all/ --- toolchain/src/00-set_version.sh | 2 ++ toolchain/src/01-fetch_tools.sh | 6 ++++-- toolchain/src/02-init_tools.sh | 2 ++ toolchain/src/xx-all.sh | 5 +++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/toolchain/src/00-set_version.sh b/toolchain/src/00-set_version.sh index 91d4e3fa..7fe97040 100755 --- a/toolchain/src/00-set_version.sh +++ b/toolchain/src/00-set_version.sh @@ -26,6 +26,8 @@ usage=( "" "Force ask:" "set_version [-a|--ask]" + "" + "" ) FLAGS=("-l" "--latest" "-a" "--ask") diff --git a/toolchain/src/01-fetch_tools.sh b/toolchain/src/01-fetch_tools.sh index e2210dee..ae1c292f 100755 --- a/toolchain/src/01-fetch_tools.sh +++ b/toolchain/src/01-fetch_tools.sh @@ -9,10 +9,12 @@ usage=( "You can always try -v or --verbose" "" "Display this help:" - "set_version [-h|--h]" + "fetch_tools [-h|--h]" "" "Delete .git to save space:" - "set_version [-d|--delete-git]" + "fetch_tools [-d|--delete-git]" + "" + "" ) diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 249bb30f..2aded942 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -15,6 +15,8 @@ usage=( "" "Dry run: just show me the scripts that would be run, don't run them." "init_tools [-d|--dry-run]" + "" + "" ) ## PROCESS FLAGS diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 4823f20a..44690fe4 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -18,7 +18,7 @@ usage=( "set_version --latest" "" "Or, you can skip the number and everything will be passed to every command." - "So, it really only works with --help and --verbose." + "So, it really only works with --verbose." "" "-0: set_version" "-1: fetch_tools" @@ -48,7 +48,8 @@ SEVEN=$(flags_resolve false "-7:") EIGHT=$(flags_resolve false "-8:") NOT_ALL=$ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || false - +ALL=false +if $NOT_ALL: ALL=true $NO_VERBOSE || echo "Running xx-all.sh" # check for something in path before running From cc3d9a5ef9f75fcdb867452aa3ec4d00e2d46579 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 10 Jul 2024 15:36:39 -0400 Subject: [PATCH 071/510] Fix some typos --- toolchain/src/xx-all.sh | 18 ++++++++++++------ toolchain/src/xx-kdocker.sh | 2 +- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 44690fe4..1e185d83 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -74,21 +74,27 @@ if [[ $TWO ]] || [[ $ALL ]]; then $SCRIPT_DIR/02-init_tools.sh $(flags_resolve "" ":") fi fi -if [[ $THREE]] || [[ $ALL ]]; then +if [[ $THREE ]] || [[ $ALL ]]; then + : fi -if [[ $FOUR ]] || [[ $ALL ]]; then +if [[ $FOUR ]] || [[ $ALL ]]; then + : fi -if [[ $FIVE ]] || [[ $ALL ]]; then +if [[ $FIVE ]] || [[ $ALL ]]; then + : fi -if [[ $SIX ]] || [[ $ALL ]]; then +if [[ $SIX ]] || [[ $ALL ]]; then + : fi -if [[ $SEVEN ]] || [[ $ALL ]]; then +if [[ $SEVEN ]] || [[ $ALL ]]; then + : fi -if [[ $EIGHT ]] || [[ $ALL ]]; then +if [[ $EIGHT ]] || [[ $ALL ]]; then + : fi diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index b4d412a5..19c978fa 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -92,7 +92,7 @@ APT_VOLUME="$APT_CACHE:/var/lib/apt/lists/" # COMMAND is what we run to set up the user and do some basics -COMMAND="sudo apt-get update; echo ok; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null; " +COMMAND="sudo apt-get update; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null; " # USER_COMMAND is what we run once we are logged in as the intended user, # including the actual user's desired command From fbb50cb2fcb1c59acda8c1c3d58c4b6dd627b130 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 10 Jul 2024 15:44:51 -0400 Subject: [PATCH 072/510] Fix up bad logic --- toolchain/src/xx-all.sh | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 1e185d83..e6677bed 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -49,52 +49,60 @@ EIGHT=$(flags_resolve false "-8:") NOT_ALL=$ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || false ALL=false -if $NOT_ALL: ALL=true +if $NOT_ALL; then ALL=true; fi + $NO_VERBOSE || echo "Running xx-all.sh" +$NO_VERBOSE || echo "Running all? $ALL" +$NO_VERBOSE || echo "Running 2? $TWO" # check for something in path before running if [[ $ZERO ]] || [[ $ALL ]]; then + $NO_VERBOSE || echo "Running 0" if $(which set_version &>/dev/null); then set_version $(flags_resolve "" ":") else $SCRIPT_DIR/00-set_version.sh $(flags_resolve "" ":") fi fi -if [[ $ONE ]] || [[ $ALL ]]; then + +if $ONE || $ALL; then + $NO_VERBOSE || echo "Running 1" if $(which fetch_tools &>/dev/null); then fetch_tools $(flags_resolve "" ":") else $SCRIPT_DIR/01-fetch_tools.sh $(flags_resolve "" ":") fi fi -if [[ $TWO ]] || [[ $ALL ]]; then - if $(which init_tools &>/dev/null); then - fetch_tools $(flags_resolve "" ":") + +if $TWO || $ALL; then + $NO_VERBOSE || echo "Running 2" + if $(which init_tools &> /dev/null); then + init_tools $(flags_resolve "" ":") else $SCRIPT_DIR/02-init_tools.sh $(flags_resolve "" ":") fi fi -if [[ $THREE ]] || [[ $ALL ]]; then +if $THREE || $ALL; then : fi -if [[ $FOUR ]] || [[ $ALL ]]; then +if $FOUR || $ALL; then : fi -if [[ $FIVE ]] || [[ $ALL ]]; then +if $FIVE || $ALL; then : fi -if [[ $SIX ]] || [[ $ALL ]]; then +if $SIX || $ALL; then : fi -if [[ $SEVEN ]] || [[ $ALL ]]; then +if $SEVEN || $ALL; then : fi -if [[ $EIGHT ]] || [[ $ALL ]]; then +if $EIGHT || $ALL; then : fi From 2107d1b80a4d376bbe68c6c5251a72b0f078d382 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 10 Jul 2024 15:50:14 -0400 Subject: [PATCH 073/510] Fix bad logic --- toolchain/src/xx-all.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index e6677bed..b49c3154 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -47,9 +47,10 @@ SIX=$(flags_resolve false "-6:") SEVEN=$(flags_resolve false "-7:") EIGHT=$(flags_resolve false "-8:") -NOT_ALL=$ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || false -ALL=false -if $NOT_ALL; then ALL=true; fi +ALL=true +if $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT; then + ALL=false +fi $NO_VERBOSE || echo "Running xx-all.sh" $NO_VERBOSE || echo "Running all? $ALL" From d9075350f2b9b01ceb3442f05faa48f7aefc3ca8 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 10 Jul 2024 16:31:01 -0400 Subject: [PATCH 074/510] Fix main_repo --- toolchain/src/include/utilities.sh | 2 +- toolchain/src/xx-kdocker.sh | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh index d41487d6..ffa4504d 100644 --- a/toolchain/src/include/utilities.sh +++ b/toolchain/src/include/utilities.sh @@ -140,7 +140,7 @@ $NO_VERBOSE || echo "Found architecture: $HOST_ARCH" ### FIND THE GIT DIRECTORY ### ### -export MAIN_DIR="$(git rev-parse --show-toplevel)" +export MAIN_DIR="${MAIN_DIR-$(git rev-parse --show-toplevel)}" $NO_VERBOSE || echo "Found main dir: ${MAIN_DIR}" if [[ "$MAIN_DIR" == "" ]] || [[ "$MAIN_DIR" == "/" ]]; then diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 19c978fa..ea139c47 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -52,7 +52,8 @@ usage=( " Hint: Its easier to push outside of docker." " Hint: Use \`krefresh\` to re-clone/patch ~/kaleido after changes." " Hint: If you use -c (or \`krefresh\`), kaleido build commands (set_version, etc)" - " will always be run from ~/kaleido, not /usr/share/kaleido." + " will always be run from ~/kaleido, not /usr/share/kaleido. So all changes" + " need to be \`krefresh\`ed." ## TODO: we don't wanna krefresh everytime we change the C "Docker tips:" " Ending the first session will always end the docker. \`ctl+d\` will exit bash and session." " \`ctl+p ctl+q\` (instead of \`ctl+d\`) will leave bash running. You can reattach to (only)" @@ -163,7 +164,13 @@ read -r -d '' REFRESH << EndOfScript || true $sudo git -C /usr/share/kaleido diff -p HEAD | $sudo tee /home/$LOCAL_USER/.git_patch_1 $silence echo "patching..." $sudo git -C /home/$LOCAL_USER/kaleido apply /home/$LOCAL_USER/.git_patch_1 + if ! $COPY; then + echo " !!!! To set the main github repo to the copy (recommended):" + echo " export MAIN_DIR=\"/home/$LOCAL_USER/kaleido\"" + echo " !!!!" + fi $sudo bash -c "cd /home/$LOCAL_USER/kaleido && ./toolchain/src/xx-make_bin.sh -n" + export MAIN_DIR="/home/$LOCAL_USER/kaleido" fi EndOfScript @@ -177,8 +184,9 @@ if $COPY; then else COMMAND+="krefresh --force; " fi + COMMAND+="echo 'export MAIN_REPO=\"/home/$LOCAL_USER/kaleido\"' | $sudo cat - $bash_login | $sudo tee $bash_login $silence; " fi -COMMAND+="sudo su - $LOCAL_USER" +COMMAND+="sudo -E su - $LOCAL_USER" $NO_VERBOSE || echo -e "User Command Set:\n$USER_COMMAND" $NO_VERBOSE || echo -e "Command Set:\n$COMMAND" From 99e567a8a78aad44e79a9d97812541b500b6c58b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 10 Jul 2024 16:33:30 -0400 Subject: [PATCH 075/510] Fix logic in all --- toolchain/src/xx-all.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index b49c3154..af60094e 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -48,7 +48,8 @@ SEVEN=$(flags_resolve false "-7:") EIGHT=$(flags_resolve false "-8:") ALL=true -if $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT; then +if $ZERO || $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT; then + $NO_VERBOSE || echo "Turning off ALL" ALL=false fi @@ -57,7 +58,7 @@ $NO_VERBOSE || echo "Running all? $ALL" $NO_VERBOSE || echo "Running 2? $TWO" # check for something in path before running -if [[ $ZERO ]] || [[ $ALL ]]; then +if $ZERO || $ALL; then $NO_VERBOSE || echo "Running 0" if $(which set_version &>/dev/null); then set_version $(flags_resolve "" ":") From e9c5b36c6df1637a552644686772fa9497765879 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 10 Jul 2024 20:36:04 +0000 Subject: [PATCH 076/510] Fix env var typo --- toolchain/src/xx-kdocker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index ea139c47..a08c4d33 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -184,7 +184,7 @@ if $COPY; then else COMMAND+="krefresh --force; " fi - COMMAND+="echo 'export MAIN_REPO=\"/home/$LOCAL_USER/kaleido\"' | $sudo cat - $bash_login | $sudo tee $bash_login $silence; " + COMMAND+="echo 'export MAIN_DIR=\"/home/$LOCAL_USER/kaleido\"' | $sudo cat - $bash_login | $sudo tee $bash_login $silence; " fi COMMAND+="sudo -E su - $LOCAL_USER" From c4f64faba66d7afbca619d245f0e04c914d2b28e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 12:24:44 -0400 Subject: [PATCH 077/510] Tune make_bin to work with zsh --- toolchain/src/xx-make_bin.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/toolchain/src/xx-make_bin.sh b/toolchain/src/xx-make_bin.sh index eeb7681b..3f660f7f 100755 --- a/toolchain/src/xx-make_bin.sh +++ b/toolchain/src/xx-make_bin.sh @@ -21,7 +21,16 @@ usage=( FLAGS=("-n" "--no-path") ARGFLAGS=() -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +if [ -n "${BASH_VERSION-""}" ]; then + SOURCE="${BASH_SOURCE[0]}" +elif [ -n "${ZSH_VERSION-""}" ]; then # if sourcing, we may not be in /bin/bash + SOURCE="${(%):-%N}" +else + echo "Unknown shell, cannot source" &>2 + exit 1 +fi + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${SOURCE}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" NO_PATH="$(flags_resolve false "-n" "--no-path")" From 5ba9595650ad33cd6522f276d799a03d3f0bbd10 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 13:06:55 -0400 Subject: [PATCH 078/510] Skip all automatic sourcing --- toolchain/src/xx-make_bin.sh | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/toolchain/src/xx-make_bin.sh b/toolchain/src/xx-make_bin.sh index 3f660f7f..842dc9a1 100755 --- a/toolchain/src/xx-make_bin.sh +++ b/toolchain/src/xx-make_bin.sh @@ -4,8 +4,7 @@ set -u # Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! usage=( - "xx-make_bin.sh will create shortcuts to the utilties and optionally set the path," - "if its sourced. xx-make_bin.sh doesn't add a shortcut for itself, so always call it here." + "xx-make_bin.sh will create shortcuts to the utilties and tell you how to set your path." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" @@ -13,7 +12,7 @@ usage=( "Display this help:" "xx-make_bin [-h|--h]" "" - "You can totally skip setting path:" + "You can skip the path recommendation:" "xx_template [-n|--no-path]" ) # Lets get main directory @@ -21,16 +20,7 @@ usage=( FLAGS=("-n" "--no-path") ARGFLAGS=() -if [ -n "${BASH_VERSION-""}" ]; then - SOURCE="${BASH_SOURCE[0]}" -elif [ -n "${ZSH_VERSION-""}" ]; then # if sourcing, we may not be in /bin/bash - SOURCE="${(%):-%N}" -else - echo "Unknown shell, cannot source" &>2 - exit 1 -fi - -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${SOURCE}") )" &> /dev/null && pwd ) +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" NO_PATH="$(flags_resolve false "-n" "--no-path")" @@ -66,10 +56,5 @@ bash -c '( if $NO_PATH; then exit 0; fi -if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then - echo "You may rerun this script using \`source\` to modify your shell's path or, on your command line, run:" - echo "export PATH=\"${BIN_DIR}:\$PATH\"" - exit 0 -fi - -export PATH="$BIN_DIR:$PATH" +echo "You should run:" +echo "export PATH=\"${BIN_DIR}:\$PATH\"" From 9c095d2eda9df3bb9242bdd5b26841b14998357e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 13:50:18 -0400 Subject: [PATCH 079/510] Upgrade to new version of chromium: Build system has degraded for linux in old version of chromium, so while building it for windows worked, it is failing in odd ways for linux. NB: Making work would be out of scope for this particular PR/project. --- toolchain/src/02-init_tools.sh | 38 ++++++++++++++----- .../version_configurations/126.0.6478.126 | 2 + 2 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 toolchain/version_configurations/126.0.6478.126 diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 2aded942..74048ba4 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -35,20 +35,40 @@ util_export_version # This may change with depot tools vesion, and it still needs to be worked out per platform if [[ "$PLATFORM" == "WINDOWS" ]]; then - $NO_VERBOSE || echo "TODO" # TODO + $NO_VERBOSE || echo "TODO" # TODO (look at your comment in fetch_chromium) elif [[ "$PLATFORM" == "LINUX" ]]; then mkdir -p "$MAIN_DIR/toolchain/tmp" # I don't love curling this out of something we'll download later but its how they do it and we haven't cloned the repo yet # https://issues.chromium.org/issues/40243622 - curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.sh?format=TEXT \ - | base64 -d > $MAIN_DIR/toolchain/tmp/install-build-deps.sh - if $SHOW; then - cat "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" - echo -e "\n\nSee file in $MAIN_DIR/toolchain/tmp/install-build-deps.sh" - exit 0 + + if [[ "$CHROMIUM_VERSION_TAG" == "88.0.4324.150" ]]; then + util_error "Script exiting as 88.0.4324.150's build script doesn't seem to function, look at 02-init_tools.sh if important" + #### THIS IS WHAT IT WAS: + + curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.sh?format=TEXT \ + | base64 -d > $MAIN_DIR/toolchain/tmp/install-build-deps.sh + if $SHOW; then + echo -e "\n\nSee file in $MAIN_DIR/toolchain/tmp/install-build-deps.sh" + exit 0 + fi + chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" + "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt + elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]]; then + curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.sh?format=TEXT \ + | base64 -d > $MAIN_DIR/toolchain/tmp/install-build-deps.sh + curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.sh?format=TEXT \ + | base64 -d > $MAIN_DIR/toolchain/tmp/install-build-deps.py + if $SHOW; then + echo -e "\n\nSee file in $MAIN_DIR/toolchain/tmp/install-build-deps.sh" + echo -e "\n\nSee file in $MAIN_DIR/toolchain/tmp/install-build-deps.py" + exit 0 + fi + chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" + "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt + + else + util-error "Unknown CHROMUM_VERSION_TAG, please create a branch for it in 02-init_tools.sh" fi - chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" - "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt # runhooks? i don't think we need to TODO but mentioned $NO_VERBOSE || echo "Downloaded and installed build-deps." elif [[ "$PLATFORM" == "OSX" ]]; then diff --git a/toolchain/version_configurations/126.0.6478.126 b/toolchain/version_configurations/126.0.6478.126 new file mode 100644 index 00000000..803ba8b3 --- /dev/null +++ b/toolchain/version_configurations/126.0.6478.126 @@ -0,0 +1,2 @@ +CHROMIUM_VERSION_TAG="126.0.6478.126" +DEPOT_TOOLS_COMMIT="01e29c8" From 3e3c31585b907fb171960d276c417e5f46789224 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 14:48:22 -0400 Subject: [PATCH 080/510] Pull out krefresh and add --toolchain --- toolchain/src/xx-kdocker.sh | 46 ++------------------ toolchain/src/xx-krefresh.sh | 83 ++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 42 deletions(-) create mode 100755 toolchain/src/xx-krefresh.sh diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index a08c4d33..033081e1 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -137,60 +137,22 @@ COMMAND+="\ echo 'head -n -3 $bash_login > $bash_login' | $sudo tee -a $bash_login $silence; \ echo '$gitconfig' | $sudo tee -a /home/$LOCAL_USER/.gitconfig $silence; " -# Create the krefresh command, kinda awful doing it here -# read -d '' always exits >0, use `|| true` to evade set -o -# have to escape $ and | -read -r -d '' REFRESH << EndOfScript || true - FORCE=false - REPLAY=false - if [[ "\$1" == "--force" ]] || [[ "\$1" == "-f" ]]; then - FORCE=true - elif [[ -n "\$1" ]]; then - echo "krefresh takes one possible argument, --force|-f, to ignore confirmation." - echo "Not sure what is '\$1'" - exit 1 - fi - echo "Force? \$FORCE" - if ! \$FORCE; then - read -p "Are you sure? (Y/n)" -n 1 -r - echo - fi - if \$FORCE || [[ "\$REPLY" =~ ^[Yy]$ ]] || [[ "\$REPLY" == "" ]]; then - echo "removing current..." - $sudo rm -rf /home/$LOCAL_USER/kaleido 2> /dev/null - echo "cloning..." - $sudo -- git clone /usr/share/kaleido /home/$LOCAL_USER/kaleido - echo "calculating diff..." - $sudo git -C /usr/share/kaleido diff -p HEAD | $sudo tee /home/$LOCAL_USER/.git_patch_1 $silence - echo "patching..." - $sudo git -C /home/$LOCAL_USER/kaleido apply /home/$LOCAL_USER/.git_patch_1 - if ! $COPY; then - echo " !!!! To set the main github repo to the copy (recommended):" - echo " export MAIN_DIR=\"/home/$LOCAL_USER/kaleido\"" - echo " !!!!" - fi - $sudo bash -c "cd /home/$LOCAL_USER/kaleido && ./toolchain/src/xx-make_bin.sh -n" - export MAIN_DIR="/home/$LOCAL_USER/kaleido" - fi -EndOfScript - -COMMAND+="echo '$REFRESH' | sudo tee /usr/bin/krefresh $silence; " +COMMAND+="sudo ln -s /usr/share/kaleido/toolchain/src/xx-krefresh.sh /usr/bin/krefresh $silence; " COMMAND+="sudo chmod o+rx /usr/bin/krefresh; " if $COPY; then $NO_VERBOSE || echo "Copy set" + COMMAND+="echo 'export MAIN_DIR=\"/home/$LOCAL_USER/kaleido\"' | $sudo cat - $bash_login | $sudo tee $bash_login $silence; " if $NO_VERBOSE; then - COMMAND+="krefresh --force &> /dev/null; " + COMMAND+="$sudo krefresh -q -a --force &> /dev/null; " # TODO CURRENTLY THIS WILL THROW WARNING ABOUT PATH else - COMMAND+="krefresh --force; " + COMMAND+="$sudo krefresh -q -a --force; " fi - COMMAND+="echo 'export MAIN_DIR=\"/home/$LOCAL_USER/kaleido\"' | $sudo cat - $bash_login | $sudo tee $bash_login $silence; " fi COMMAND+="sudo -E su - $LOCAL_USER" $NO_VERBOSE || echo -e "User Command Set:\n$USER_COMMAND" $NO_VERBOSE || echo -e "Command Set:\n$COMMAND" -$NO_VERBOSE || echo -e "Refresh Script:\n$REFRESH" $NO_VERBOSE || echo "Pulling $IMAGE" docker pull $IMAGE diff --git a/toolchain/src/xx-krefresh.sh b/toolchain/src/xx-krefresh.sh new file mode 100755 index 00000000..b7b484ff --- /dev/null +++ b/toolchain/src/xx-krefresh.sh @@ -0,0 +1,83 @@ +#!/bin/bash +set -e +set -u + +if test -d /usr/share/kaleido; then + : +else + echo "Only run from within docker from kdocker 1>&2" + exit 1 +fi +( + cd /usr/share/kaleido + usage=( + "krefresh is a utility to incremently modify the kaleido repository without necessarily prompting a full rebuild." + "It is only to be used within kdocker, and is better to be used with '-c|--copy'" + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" + "Display this help:" + "krefresh [-h|--h]" + "" + "Skip confirmation" + "krefresh [-f|--force]" + "" + "Completely erase ~/kaleido and replace" + "krefresh [-a|--all]" + "" + "Only replace the build toolchain" + "krefresh [-t|--toolchain]" + "" + ) + + FLAGS=("-q" "-f" "--force" "-a" "--all" "-t" "--toolchain") # will need to add --c + ARGFLAGS=() + + . "/usr/share/kaleido/toolchain/src/include/utilities.sh" + + FORCE="$(flags_resolve false "-f" "--force")" + ALL="$(flags_resolve false "-a" "--all")" + TOOLCHAIN="$(flags_resolve false "-t" "--toolchain")" + QUIET="$(flags_resolve false "-q")" + + if ! $ALL && ! $TOOLCHAIN; then + util_error "krefresh must be run with one of -t or -a, see --help" + fi + + $NO_VERBOSE || echo "Running xx-krefresh.sh" + + echo "Force? $FORCE" + REPLY='Y' + if ! $FORCE; then + read -p "Are you sure? (Y/n)" -n 1 -r + echo + fi + if [[ ! "$REPLY" =~ ^[Yy]$ ]] && [[ "$REPLY" != "" ]]; then + exit 0 + fi + + if $ALL; then + echo "removing current..." + rm -rf ${HOME}/kaleido 2> /dev/null + echo "cloning..." + git clone /usr/share/kaleido ${HOME}/kaleido + echo "calculating diff..." + git -C /usr/share/kaleido diff -p HEAD > ${HOME}/.git_patch_1 + echo "patching..." + git -C ${HOME}/kaleido apply ${HOME}/.git_patch_1 + if ! $QUIET && [[ "${MAIN_DIR}" == "/usr/share/kaleido" ]]; then + echo " !!!! Set the main github repo to the copy clone!!!!!" + echo " All temporary files should be copied there, keep your main clone clean." + echo "" + echo " export MAIN_DIR=\"${HOME}/kaleido\"" + echo " !!!!" + fi + bash -c "cd ${HOME}/kaleido && ./toolchain/src/xx-make_bin.sh -n" + elif $TOOLCHAIN; then + echo "removing current..." + rm -rf ${HOME}/kaleido/toolchain/src 2> /dev/null + echo "copying manually..." + cp -r /usr/share/kaleido/toolchain/src ${HOME}/kaleido/toolchain/src + fi +) From 4ca9346016a953aff4ba67cab244d30a3245e5bc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 14:56:17 -0400 Subject: [PATCH 081/510] Leverage git for refresh, not cp --- toolchain/src/xx-krefresh.sh | 50 +++++++++++++++++------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/toolchain/src/xx-krefresh.sh b/toolchain/src/xx-krefresh.sh index b7b484ff..6efc1f32 100755 --- a/toolchain/src/xx-krefresh.sh +++ b/toolchain/src/xx-krefresh.sh @@ -26,25 +26,17 @@ fi "Completely erase ~/kaleido and replace" "krefresh [-a|--all]" "" - "Only replace the build toolchain" - "krefresh [-t|--toolchain]" - "" ) - FLAGS=("-q" "-f" "--force" "-a" "--all" "-t" "--toolchain") # will need to add --c + FLAGS=("-q" "-f" "--force" "-a" "--all") ARGFLAGS=() . "/usr/share/kaleido/toolchain/src/include/utilities.sh" FORCE="$(flags_resolve false "-f" "--force")" ALL="$(flags_resolve false "-a" "--all")" - TOOLCHAIN="$(flags_resolve false "-t" "--toolchain")" QUIET="$(flags_resolve false "-q")" - if ! $ALL && ! $TOOLCHAIN; then - util_error "krefresh must be run with one of -t or -a, see --help" - fi - $NO_VERBOSE || echo "Running xx-krefresh.sh" echo "Force? $FORCE" @@ -60,24 +52,30 @@ fi if $ALL; then echo "removing current..." rm -rf ${HOME}/kaleido 2> /dev/null + fi + + if test -d ${HOME}/kaleido/.git; then + echo "Cleaning.." + git -C ${HOME}/kaleido/ clean -fdd + echo "Restoring..." + git -C ${HOME}/kaleido/ restore . + echo "Pulling" + git -C ${HOME}/kaleido/ pull + + else echo "cloning..." git clone /usr/share/kaleido ${HOME}/kaleido - echo "calculating diff..." - git -C /usr/share/kaleido diff -p HEAD > ${HOME}/.git_patch_1 - echo "patching..." - git -C ${HOME}/kaleido apply ${HOME}/.git_patch_1 - if ! $QUIET && [[ "${MAIN_DIR}" == "/usr/share/kaleido" ]]; then - echo " !!!! Set the main github repo to the copy clone!!!!!" - echo " All temporary files should be copied there, keep your main clone clean." - echo "" - echo " export MAIN_DIR=\"${HOME}/kaleido\"" - echo " !!!!" - fi - bash -c "cd ${HOME}/kaleido && ./toolchain/src/xx-make_bin.sh -n" - elif $TOOLCHAIN; then - echo "removing current..." - rm -rf ${HOME}/kaleido/toolchain/src 2> /dev/null - echo "copying manually..." - cp -r /usr/share/kaleido/toolchain/src ${HOME}/kaleido/toolchain/src fi + echo "calculating diff..." + git -C /usr/share/kaleido diff -p HEAD > ${HOME}/.git_patch_1 + echo "patching..." + git -C ${HOME}/kaleido apply ${HOME}/.git_patch_1 + if ! $QUIET && [[ "${MAIN_DIR}" == "/usr/share/kaleido" ]]; then + echo " !!!! Set the main github repo to the copy clone!!!!!" + echo " All temporary files should be copied there, keep your main clone clean." + echo "" + echo " export MAIN_DIR=\"${HOME}/kaleido\"" + echo " !!!!" + fi + bash -c "cd ${HOME}/kaleido && ./toolchain/src/xx-make_bin.sh -n" ) From 1f69ddeaf2440443068969feb6c0041ddb1ece46 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 14:56:47 -0400 Subject: [PATCH 082/510] Allow empty patches --- toolchain/src/xx-krefresh.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/xx-krefresh.sh b/toolchain/src/xx-krefresh.sh index 6efc1f32..9dba98d9 100755 --- a/toolchain/src/xx-krefresh.sh +++ b/toolchain/src/xx-krefresh.sh @@ -69,7 +69,7 @@ fi echo "calculating diff..." git -C /usr/share/kaleido diff -p HEAD > ${HOME}/.git_patch_1 echo "patching..." - git -C ${HOME}/kaleido apply ${HOME}/.git_patch_1 + git -C ${HOME}/kaleido apply ${HOME}/.git_patch_1 --allow-empty if ! $QUIET && [[ "${MAIN_DIR}" == "/usr/share/kaleido" ]]; then echo " !!!! Set the main github repo to the copy clone!!!!!" echo " All temporary files should be copied there, keep your main clone clean." From 5f1c769b873584ec28921855ec132daa750050ba Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 15:11:38 -0400 Subject: [PATCH 083/510] Remove comment --- toolchain/src/xx-kdocker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 033081e1..a173264e 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -144,7 +144,7 @@ if $COPY; then $NO_VERBOSE || echo "Copy set" COMMAND+="echo 'export MAIN_DIR=\"/home/$LOCAL_USER/kaleido\"' | $sudo cat - $bash_login | $sudo tee $bash_login $silence; " if $NO_VERBOSE; then - COMMAND+="$sudo krefresh -q -a --force &> /dev/null; " # TODO CURRENTLY THIS WILL THROW WARNING ABOUT PATH + COMMAND+="$sudo krefresh -q -a --force &> /dev/null; " else COMMAND+="$sudo krefresh -q -a --force; " fi From 4595cb1a2475bfbccfac263fdc52563970da7268 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 19:33:32 +0000 Subject: [PATCH 084/510] Fix up a bit bash outputs --- toolchain/src/xx-kdocker.sh | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index a173264e..7f21acb8 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -112,6 +112,9 @@ gitconfig="$(cat /home/$LOCAL_USER/.gitconfig)" # Some short cuts to make this less or maybe more readable sudo="sudo sudo -u $LOCAL_USER" # will throw background errors in docker, is fine silence="1> /dev/null" +if ! $NO_VERBOSE; then + silence="" +fi bash_login="/home/$LOCAL_USER/.bash_login" temp_script="/home/$LOCAL_USER/.temp_script.sh" @@ -132,9 +135,9 @@ temp_script="/home/$LOCAL_USER/.temp_script.sh" # Which will later be executed, and then will be expanded COMMAND+="\ echo '$USER_COMMAND' | $sudo tee -a $temp_script $silence; \ - echo . $temp_script | $sudo tee -a $bash_login $silence; \ - echo 'rm -f $temp_script' | $sudo tee -a $bash_login $silence; \ - echo 'head -n -3 $bash_login > $bash_login' | $sudo tee -a $bash_login $silence; \ + echo 'touch $temp_script' | $sudo tee -a $bash_login $silence; \ + echo '. $temp_script' | $sudo tee -a $bash_login $silence; \ + echo 'rm -f $temp_script &> /dev/null' | $sudo tee -a $bash_login $silence; \ echo '$gitconfig' | $sudo tee -a /home/$LOCAL_USER/.gitconfig $silence; " COMMAND+="sudo ln -s /usr/share/kaleido/toolchain/src/xx-krefresh.sh /usr/bin/krefresh $silence; " @@ -142,14 +145,18 @@ COMMAND+="sudo chmod o+rx /usr/bin/krefresh; " if $COPY; then $NO_VERBOSE || echo "Copy set" - COMMAND+="echo 'export MAIN_DIR=\"/home/$LOCAL_USER/kaleido\"' | $sudo cat - $bash_login | $sudo tee $bash_login $silence; " + COMMAND+="echo 'export MAIN_DIR=\"/home/$LOCAL_USER/kaleido\"' | $sudo tee -a $bash_login $silence; " if $NO_VERBOSE; then COMMAND+="$sudo krefresh -q -a --force &> /dev/null; " else COMMAND+="$sudo krefresh -q -a --force; " fi fi -COMMAND+="sudo -E su - $LOCAL_USER" +COMMAND+="\ + $sudo cp $bash_login ${HOME}/.bash_login.log; \ + $sudo cp $temp_script ${HOME}/.temp_script.sh.log; " + +COMMAND+="sleep 1; sudo -E su - $LOCAL_USER; " $NO_VERBOSE || echo -e "User Command Set:\n$USER_COMMAND" $NO_VERBOSE || echo -e "Command Set:\n$COMMAND" From 134f3f25bc42aebe1b06732654be2e05c31a65f2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 19:35:56 +0000 Subject: [PATCH 085/510] List unrefreshed files --- toolchain/src/xx-krefresh.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/toolchain/src/xx-krefresh.sh b/toolchain/src/xx-krefresh.sh index 9dba98d9..84070f6e 100755 --- a/toolchain/src/xx-krefresh.sh +++ b/toolchain/src/xx-krefresh.sh @@ -78,4 +78,7 @@ fi echo " !!!!" fi bash -c "cd ${HOME}/kaleido && ./toolchain/src/xx-make_bin.sh -n" + echo "The following files were not copied over as they are untracked (git add -N...):" + git -C /usr/share/kaleido ls-files --others --exclude-standard + echo "/end list" ) From d4ca1d5e4e83715f17013cef7e273ea2c6e7bdf3 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 19:41:08 +0000 Subject: [PATCH 086/510] Add depot_tools to git ignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 4d2ca7b5..6e837c5c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ repos/CREDITS.html repos/src -repos/depot_tools +vendor/depot_tools *.DS_Store *.kate-swp repos/.cipd/ From 530051d39b0aeb4a97c1df99bafa4a72f815f75f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 15:43:10 -0400 Subject: [PATCH 087/510] Fix typo in init_tools --- toolchain/src/02-init_tools.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 74048ba4..b292d54a 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -56,7 +56,7 @@ elif [[ "$PLATFORM" == "LINUX" ]]; then elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]]; then curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.sh?format=TEXT \ | base64 -d > $MAIN_DIR/toolchain/tmp/install-build-deps.sh - curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.sh?format=TEXT \ + curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.py?format=TEXT \ | base64 -d > $MAIN_DIR/toolchain/tmp/install-build-deps.py if $SHOW; then echo -e "\n\nSee file in $MAIN_DIR/toolchain/tmp/install-build-deps.sh" From f159d3ba2175fe1aafb5c459e6dd5bd33dd23661 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 15:44:03 -0400 Subject: [PATCH 088/510] Make python build executable --- toolchain/src/02-init_tools.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index b292d54a..2a52398d 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -64,6 +64,7 @@ elif [[ "$PLATFORM" == "LINUX" ]]; then exit 0 fi chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" + chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.py" "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt else From d2336a90fb29022d6cf3ccc3fee2c7536ea8ce23 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 15:54:42 -0400 Subject: [PATCH 089/510] Make install-build-deps noninteractive --- toolchain/src/02-init_tools.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 2a52398d..531d904d 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -65,7 +65,7 @@ elif [[ "$PLATFORM" == "LINUX" ]]; then fi chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.py" - "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt + DEBIAN_FRONTEND=noninteractive "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt else util-error "Unknown CHROMUM_VERSION_TAG, please create a branch for it in 02-init_tools.sh" From 58530b73e96f8354da42a98cf71a38e00e68a0ee Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 16:01:54 -0400 Subject: [PATCH 090/510] Fix up verbosity --- toolchain/src/xx-krefresh.sh | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/toolchain/src/xx-krefresh.sh b/toolchain/src/xx-krefresh.sh index 84070f6e..3f209455 100755 --- a/toolchain/src/xx-krefresh.sh +++ b/toolchain/src/xx-krefresh.sh @@ -39,36 +39,42 @@ fi $NO_VERBOSE || echo "Running xx-krefresh.sh" - echo "Force? $FORCE" REPLY='Y' if ! $FORCE; then read -p "Are you sure? (Y/n)" -n 1 -r echo + else + $NO_VERBOSE || echo "Skipped confirmation" fi + if [[ ! "$REPLY" =~ ^[Yy]$ ]] && [[ "$REPLY" != "" ]]; then + $NO_VERBOSE || echo "Cancelled" exit 0 fi + if $QUIET; then + exec &>/dev/null + fi if $ALL; then - echo "removing current..." - rm -rf ${HOME}/kaleido 2> /dev/null + $NO_VERBOSE || echo "Erasing ${HOME}" + rm -rf ${HOME}/kaleido fi if test -d ${HOME}/kaleido/.git; then - echo "Cleaning.." + $NO_VERBOSE || echo "Cleaning.." git -C ${HOME}/kaleido/ clean -fdd - echo "Restoring..." + $NO_VERBOSE || echo "Restoring..." git -C ${HOME}/kaleido/ restore . - echo "Pulling" + $NO_VERBOSE || echo "Pulling" git -C ${HOME}/kaleido/ pull else - echo "cloning..." + $NO_VERBOSE || echo "cloning..." git clone /usr/share/kaleido ${HOME}/kaleido fi - echo "calculating diff..." + $NO_VERBOSE || echo "calculating diff..." git -C /usr/share/kaleido diff -p HEAD > ${HOME}/.git_patch_1 - echo "patching..." + $NO_VERBOSE || echo "patching..." git -C ${HOME}/kaleido apply ${HOME}/.git_patch_1 --allow-empty if ! $QUIET && [[ "${MAIN_DIR}" == "/usr/share/kaleido" ]]; then echo " !!!! Set the main github repo to the copy clone!!!!!" @@ -77,8 +83,10 @@ fi echo " export MAIN_DIR=\"${HOME}/kaleido\"" echo " !!!!" fi - bash -c "cd ${HOME}/kaleido && ./toolchain/src/xx-make_bin.sh -n" - echo "The following files were not copied over as they are untracked (git add -N...):" - git -C /usr/share/kaleido ls-files --others --exclude-standard - echo "/end list" + bash -c "NO_VERBOSE=$NO_VERBOSE cd ${HOME}/kaleido && ./toolchain/src/xx-make_bin.sh -n" + if ! $QUIET; then + echo "The following files were not copied over as they are untracked (git add -N...):" + git -C /usr/share/kaleido ls-files --others --exclude-standard + echo "/end list" + fi ) From 9e9b8dadc9e95595d2dc83a44b2ee6d93f2bfab6 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 17:10:31 -0400 Subject: [PATCH 091/510] Create 03-ksync --- toolchain/src/03-ksync.sh | 47 ++++++++++++++++++++++++++++++++++++++ toolchain/src/xx-all.sh | 9 ++++++-- {repos => vendor}/.gclient | 0 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100755 toolchain/src/03-ksync.sh rename {repos => vendor}/.gclient (100%) diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh new file mode 100755 index 00000000..c458e874 --- /dev/null +++ b/toolchain/src/03-ksync.sh @@ -0,0 +1,47 @@ +#!/bin/bash +set -e +set -u + +# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! +usage=( + "ksync will set some env vars and run gclient sync in an OS dependent manner" + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" + "Display this help:" + "ksync [-h|--h]" + "" + "Set number of cpus:" + "ksync [-c|--cpus] CPUS" + "" + "" +) +## PROCESS FLAGS + +FLAGS=() +ARGFLAGS=("-c" "--cpus") + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +. "$SCRIPT_DIR/include/utilities.sh" + +CPUS="$(flags_resolve ${CPUS:-1} "-c" "--cpus")" + +$NO_VERBOSE || echo "Running 03-ksync.sh" +$NO_VERBOSE || echo "with $CPUS cpus" + +util_get_version +util_export_version + +export DEPOT_TOOLS_UPDATE=0 # otherwise it advances to the tip of branch main +## but sometimes it does other necessary things! + + +# This may change with depot tools vesion, and it still needs to be worked out per platform +if [[ "$PLATFORM" == "WINDOWS" ]]; then + $NO_VERBOSE || echo "TODO" # TODO (look at your comment in fetch_chromium) +elif [[ "$PLATFORM" == "LINUX" ]]; then + ( cd $MAIN_DIR/vendor/; gclient sync -D --force --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG ) +elif [[ "$PLATFORM" == "OSX" ]]; then + $NO_VERBOSE || echo "Did nothing for OSX, we will have to do something, probably the same as linux." # TODO +fi diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index af60094e..82b67d5c 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -23,7 +23,7 @@ usage=( "-0: set_version" "-1: fetch_tools" "-2: init_tools" - "-3:" + "-3: ksync" "-4:" "-5:" "-6:" @@ -86,7 +86,12 @@ if $TWO || $ALL; then fi if $THREE || $ALL; then - : + $NO_VERBOSE || echo "Running 3" + if $(which ksync &> /dev/null); then + ksync $(flags_resolve "" ":") + else + $SCRIPT_DIR/03-ksync.sh $(flags_resolve "" ":") + fi fi if $FOUR || $ALL; then diff --git a/repos/.gclient b/vendor/.gclient similarity index 100% rename from repos/.gclient rename to vendor/.gclient From a6588b9471b1e841a8c0536db75fa20d338c12a0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 17:13:43 -0400 Subject: [PATCH 092/510] Remove OS-switches from ksync --- toolchain/src/03-ksync.sh | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh index c458e874..9c0ca03c 100755 --- a/toolchain/src/03-ksync.sh +++ b/toolchain/src/03-ksync.sh @@ -4,7 +4,7 @@ set -u # Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! usage=( - "ksync will set some env vars and run gclient sync in an OS dependent manner" + "ksync will set some env vars and run gclient sync." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" @@ -36,12 +36,4 @@ util_export_version export DEPOT_TOOLS_UPDATE=0 # otherwise it advances to the tip of branch main ## but sometimes it does other necessary things! - -# This may change with depot tools vesion, and it still needs to be worked out per platform -if [[ "$PLATFORM" == "WINDOWS" ]]; then - $NO_VERBOSE || echo "TODO" # TODO (look at your comment in fetch_chromium) -elif [[ "$PLATFORM" == "LINUX" ]]; then - ( cd $MAIN_DIR/vendor/; gclient sync -D --force --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG ) -elif [[ "$PLATFORM" == "OSX" ]]; then - $NO_VERBOSE || echo "Did nothing for OSX, we will have to do something, probably the same as linux." # TODO -fi +( cd $MAIN_DIR/vendor/; gclient sync -D --force --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG ) From d026a8fcdd2da36db4f040054e4827e2bb678c1f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 18:43:54 -0400 Subject: [PATCH 093/510] Fix bad logic --- toolchain/src/include/utilities.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh index ffa4504d..d176b52f 100644 --- a/toolchain/src/include/utilities.sh +++ b/toolchain/src/include/utilities.sh @@ -92,7 +92,7 @@ flags_resolve() DEFAULT="$1" shift while (( $# )); do - [[ -v ARGS["$1"] ]] && echo "${ARGS[$1]}" && break || true + [[ -v ARGS["$1"] ]] && echo "${ARGS[$1]}" && return || true shift done echo "$DEFAULT" From e2bdb9e42f2176204bb12576b68c92c2fc0cf0d5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 11 Jul 2024 18:54:06 -0400 Subject: [PATCH 094/510] Add windows build step NOTES for sync --- toolchain/src/02-init_tools.sh | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 531d904d..9bdecc36 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -35,7 +35,21 @@ util_export_version # This may change with depot tools vesion, and it still needs to be worked out per platform if [[ "$PLATFORM" == "WINDOWS" ]]; then - $NO_VERBOSE || echo "TODO" # TODO (look at your comment in fetch_chromium) + if [[ "$CHROMIUM_VERSION_TAG" == "88.0.4324.150" ]]; then + util_error "Try to execute the following manually first" + # What's the deal with this really though, how do you call this + # Do we expect to be in the depot_tools directory? + cmd.exe /c cipd_bin_setup.bat + cmd.exe /c 'bootstrap\win_tools.bat' + elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]]; then + util_error "Try to execute the following manually first" + # What's the deal with this really though, how do you call this + # Do we expect to be in the depot_tools directory? + cmd.exe /c cipd_bin_setup.bat + cmd.exe /c 'bootstrap\win_tools.bat' + else + util_error "No elif branch in 02-init_tools.sh for this version $CHROMIUM_VERSION_TAG, as of today, you still have to add the branch manually. You can add an elif statement right where you find this error, so search for it." + fi elif [[ "$PLATFORM" == "LINUX" ]]; then mkdir -p "$MAIN_DIR/toolchain/tmp" # I don't love curling this out of something we'll download later but its how they do it and we haven't cloned the repo yet @@ -68,7 +82,7 @@ elif [[ "$PLATFORM" == "LINUX" ]]; then DEBIAN_FRONTEND=noninteractive "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt else - util-error "Unknown CHROMUM_VERSION_TAG, please create a branch for it in 02-init_tools.sh" + util_error "No elif branch in 02-init_tools.sh for this version $CHROMIUM_VERSION_TAG, as of today, you still have to add the branch manually. You can add an elif statement right where you find this error, so search for it." fi # runhooks? i don't think we need to TODO but mentioned $NO_VERBOSE || echo "Downloaded and installed build-deps." From 07fb2db2d91a4c5a602ec0df9dbce07b9a8f9125 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 15 Jul 2024 18:07:37 -0400 Subject: [PATCH 095/510] Fix comment in ksync --- toolchain/src/03-ksync.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh index 9c0ca03c..cc317a7f 100755 --- a/toolchain/src/03-ksync.sh +++ b/toolchain/src/03-ksync.sh @@ -34,6 +34,6 @@ util_get_version util_export_version export DEPOT_TOOLS_UPDATE=0 # otherwise it advances to the tip of branch main -## but sometimes it does other necessary things! +## but sometimes it skips other necessary things! Thats why we had init_tools ( cd $MAIN_DIR/vendor/; gclient sync -D --force --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG ) From c19dddc55cace47a002fbfbb5b6fb70207c5eee1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 15 Jul 2024 21:32:11 -0400 Subject: [PATCH 096/510] Add patch_chromium build step --- .../chromium}/108.0.5359.125/README.md | 0 .../build/compute_build_timestamp.py | 0 .../chromium}/88.0.4324.150/README.md | 0 .../build/compute_build_timestamp.py | 0 .../build/toolchain/win/setup_toolchain.py | 0 toolchain/src/04-patch_chromium.sh | 33 +++++++++++++++++++ toolchain/src/xx-all.sh | 9 +++-- 7 files changed, 40 insertions(+), 2 deletions(-) rename {repos/patches => patches/chromium}/108.0.5359.125/README.md (100%) rename {repos/patches => patches/chromium}/108.0.5359.125/build/compute_build_timestamp.py (100%) rename {repos/patches => patches/chromium}/88.0.4324.150/README.md (100%) rename {repos/patches => patches/chromium}/88.0.4324.150/build/compute_build_timestamp.py (100%) rename {repos/patches => patches/chromium}/88.0.4324.150/build/toolchain/win/setup_toolchain.py (100%) create mode 100644 toolchain/src/04-patch_chromium.sh diff --git a/repos/patches/108.0.5359.125/README.md b/patches/chromium/108.0.5359.125/README.md similarity index 100% rename from repos/patches/108.0.5359.125/README.md rename to patches/chromium/108.0.5359.125/README.md diff --git a/repos/patches/108.0.5359.125/build/compute_build_timestamp.py b/patches/chromium/108.0.5359.125/build/compute_build_timestamp.py similarity index 100% rename from repos/patches/108.0.5359.125/build/compute_build_timestamp.py rename to patches/chromium/108.0.5359.125/build/compute_build_timestamp.py diff --git a/repos/patches/88.0.4324.150/README.md b/patches/chromium/88.0.4324.150/README.md similarity index 100% rename from repos/patches/88.0.4324.150/README.md rename to patches/chromium/88.0.4324.150/README.md diff --git a/repos/patches/88.0.4324.150/build/compute_build_timestamp.py b/patches/chromium/88.0.4324.150/build/compute_build_timestamp.py similarity index 100% rename from repos/patches/88.0.4324.150/build/compute_build_timestamp.py rename to patches/chromium/88.0.4324.150/build/compute_build_timestamp.py diff --git a/repos/patches/88.0.4324.150/build/toolchain/win/setup_toolchain.py b/patches/chromium/88.0.4324.150/build/toolchain/win/setup_toolchain.py similarity index 100% rename from repos/patches/88.0.4324.150/build/toolchain/win/setup_toolchain.py rename to patches/chromium/88.0.4324.150/build/toolchain/win/setup_toolchain.py diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh new file mode 100644 index 00000000..c122b2a4 --- /dev/null +++ b/toolchain/src/04-patch_chromium.sh @@ -0,0 +1,33 @@ +#!/bin/bash +set -e +set -u + +# TODO: add --check and --stat, and defaults + +usage=( + "patch_chromuium will run patches stored in the patches/ folder." + "patch needs for a particular version may change over time." + "directory for the particular version of the software." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" +) +## PROCESS FLAGS + +FLAGS=() +ARGFLAGS=() + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +. "$SCRIPT_DIR/include/utilities.sh" + +$NO_VERBOSE || echo "Running 04-patch_chromium" + +PATCH_DIR="$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" +if [ -d "" ]; then + for patch in $(find $PATCH_DIR -name '*.patch'); do + git apply $patch + done +else + mkdir -p "$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" + $NO_VERBOSE || echo "No patches found for $CHROMIUM_VERSION_TAG, creating directory." +fi diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 82b67d5c..88c54b70 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -24,7 +24,7 @@ usage=( "-1: fetch_tools" "-2: init_tools" "-3: ksync" - "-4:" + "-4: patch_chromium" "-5:" "-6:" "-7:" @@ -95,7 +95,12 @@ if $THREE || $ALL; then fi if $FOUR || $ALL; then - : + $NO_VERBOSE || echo "Running 4" + if $(which patch_chromium &> /dev/null); then + patch_chromium $(flags_resolve "" ":") + else + $SCRIPT_DIR/04-patch_chromium.sh $(flags_resolve "" ":") + fi fi if $FIVE || $ALL; then From eb7a4f9f2d1eb77e25bc3731de76b0524e962398 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 00:59:43 -0400 Subject: [PATCH 097/510] Add no py3 flag to old versions --- toolchain/src/include/globals | 2 +- toolchain/version_configurations/108.0.5359.125 | 3 +++ toolchain/version_configurations/88.0.4324.150 | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/toolchain/src/include/globals b/toolchain/src/include/globals index ef347496..17475713 100644 --- a/toolchain/src/include/globals +++ b/toolchain/src/include/globals @@ -3,7 +3,7 @@ export CPUS=${CPUS:-1} # Add depot_tools to our path, if [[ "$PLATFORM" == "WINDOWS" ]]; then - export PATH="$MAIN_DIR/vendor/depot_tools/bootstrap:$PATH" # TODO TODO WE MAY NOT WANT THIS IN NON-WINDOWS + export PATH="$MAIN_DIR/vendor/depot_tools/bootstrap:$PATH" $NO_VERBOSE || echo "Modified path to add future depot_tools/bootstrap/ directory" elif [[ "$PLATFORM" == "LINUX" ]]; then export PATH="$MAIN_DIR/vendor/depot_tools:$PATH" diff --git a/toolchain/version_configurations/108.0.5359.125 b/toolchain/version_configurations/108.0.5359.125 index fc4fe100..e6a47e08 100644 --- a/toolchain/version_configurations/108.0.5359.125 +++ b/toolchain/version_configurations/108.0.5359.125 @@ -1,2 +1,5 @@ CHROMIUM_VERSION_TAG="108.0.5359.125" DEPOT_TOOLS_COMMIT="f9f61a9d" + +# used to be required for old versions +GCLIENT_PY3=0 diff --git a/toolchain/version_configurations/88.0.4324.150 b/toolchain/version_configurations/88.0.4324.150 index 3d32e16b..0ef89590 100644 --- a/toolchain/version_configurations/88.0.4324.150 +++ b/toolchain/version_configurations/88.0.4324.150 @@ -1,2 +1,5 @@ CHROMIUM_VERSION_TAG="88.0.4324.150" DEPOT_TOOLS_COMMIT="f9f61a9d" + +# Was required for older versions +GCLIENT_PY3=0 From 991906850f5f287a618f2976ee9862d6c9728b21 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 01:28:39 -0400 Subject: [PATCH 098/510] Remove historical readme --- README-HISTORICAL.md | 206 ------------------------------------------- 1 file changed, 206 deletions(-) delete mode 100644 README-HISTORICAL.md diff --git a/README-HISTORICAL.md b/README-HISTORICAL.md deleted file mode 100644 index e606529a..00000000 --- a/README-HISTORICAL.md +++ /dev/null @@ -1,206 +0,0 @@ -# Overview -Kaleido is a cross-platform library for generating static images (e.g. png, svg, pdf, etc.) for web-based visualization libraries, with a particular focus on eliminating external dependencies. The project's initial focus is on the export of plotly.js images from Python for use by plotly.py, but it is designed to be relatively straight-forward to extend to other web-based visualization libraries, and other programming languages. The primary focus of Kaleido (at least initially) is to serve as a dependency of web-based visualization libraries like plotly.py. As such, the focus is on providing a programmatic-friendly, rather than user-friendly, API. - -# Installing Kaleido - -The kaleido package can be installed from [PyPI](https://pypi.org/) using pip... - -``` -$ pip install kaleido -``` - -or from [conda-forge](https://conda-forge.org/) using conda. - -``` -$ conda install -c conda-forge python-kaleido -``` - -Releases of the core kaleido C++ executable are attached as assets to GitHub releases at https://github.com/plotly/Kaleido/releases. - -# Use Kaleido to export plotly.py figures as static images - -Versions 4.9 and above of the Plotly Python library will automatically use kaleido for static image export when kaleido is installed. For example: - -```python -import plotly.express as px -fig = px.scatter(px.data.iris(), x="sepal_length", y="sepal_width", color="species") -fig.write_image("figure.png", engine="kaleido") -``` - -Then, open `figure.png` in the current working directory. - -![fig](https://user-images.githubusercontent.com/15064365/101241780-3590b580-36c7-11eb-8eba-eb1fae256ad0.png) - - -See the plotly static image export documentation for more information: https://plotly.com/python/static-image-export/. - -# Low-level Kaleido Scope Developer API - -The kaleido Python package provides a low-level Python API that is designed to be used by high-level plotting libraries like Plotly. Here is an example of exporting a Plotly figure using the low-level Kaleido API: - -> Note: This particular example uses an online copy of the plotly JavaScript library from a CDN location, so it will not work without an internet connection. When the plotly Python library uses Kaleido (as in the example above), it provides the path to its own local offline copy of plotly.js and so no internet connection is required. - -```python -from kaleido.scopes.plotly import PlotlyScope -import plotly.graph_objects as go -scope = PlotlyScope( - plotlyjs="https://cdn.plot.ly/plotly-latest.min.js", - # plotlyjs="/path/to/local/plotly.js", -) - -fig = go.Figure(data=[go.Scatter(y=[1, 3, 2])]) -with open("figure.png", "wb") as f: - f.write(scope.transform(fig, format="png")) -``` - -Then, open `figure.png` in the current working directory. - -![figure](https://user-images.githubusercontent.com/15064365/86343448-f8f7f400-bc26-11ea-9191-6803748c2dc9.png) - - -# Background -As simple as it sounds, programmatically generating static images (e.g. raster images like PNGs or vector images like SVGs) from web-based visualization libraries (e.g. Plotly.js, Vega-Lite, etc.) is a complex problem. It's a problem that library developers have struggled with for years, and it has delayed the adoption of these libraries among scientific communities that rely on print-based publications for sharing their research. The core difficulty is that web-based visualization libraries don't actually render plots (i.e. color the pixels) on their own, instead they delegate this work to web technologies like SVG, Canvas, WebGL, etc. Similar to how Matplotlib relies on various backends to display figures, web-based visualization libraries rely on a web browser rendering engine to display figures. - -When the figure is displayed in a browser window, it's relatively straight-forward for a visualization library to provide an export-image button because it has full access to the browser for rendering. The difficulty arises when trying to export an image programmatically (e.g. from Python) without displaying it in a browser and without user interaction. To accomplish this, the Python portion of the visualization library needs programmatic access to a web browser's rendering engine. - -There are three main approaches that are currently in use among Python web-based visualization libraries: - - 1. Bokeh, Altair, bqplot, and ipyvolume rely on the Selenium Python library to control a system web browser such as Firefox or Chrome/Chromium to perform image rendering. - 2. plotly.py relies on Orca, which is a custom headless Electron application that uses the Chromium browser engine built into Electron to perform image rendering. Orca runs as a local web server and plotly.py sends requests to it using a local port. - 3. When operating in the Jupyter notebook or JupyterLab, ipyvolume also supports programmatic image export by sending export requests to the browser using the ipywidgets protocol. - -While approaches 1 and 2 can both be installed using conda, they still rely on all of the system dependencies of a complete web browser, even the parts that aren't actually necessary for rendering a visualization. For example, on Linux both require the installation of system libraries related to audio (libasound.so), video (libffmpeg.so), GUI toolkit (libgtk-3.so), screensaver (libXss.so), and X11 (libX11-xcb.so) support. Many of these are not typically included in headless Linux installations like you find in JupyterHub, Binder, Colab, Azure notebooks, SageMaker, etc. Also, conda is still not as universally available as the pip package manager and neither approach is installable using pip packages. - -Additionally, both 1 and 2 communicate between the Python process and the web browser over a local network port. While not typically a problem, certain firewall and container configurations can interfere with this local network connection. - -The advantage of options 3 is that it introduces no additional system dependencies. The disadvantage is that it only works when running in a notebook, so it can't be used in standalone Python scripts. - -The end result is that all of these libraries have in-depth documentation pages on how to get image export working, and how to troubleshoot the inevitable failures and edge cases. While this is a great improvement over the state of affairs just a couple of years ago, and a lot of excellent work has gone into making these approaches work as seamlessly as possible, the fundamental limitations detailed above still result in sub-optimal user experiences. This is especially true when comparing web-based plotting libraries to traditional plotting libraries like matplotlib and ggplot2 where there's never a question of whether image export will work in a particular context. - -The goal of the Kaleido project is to make static image export of web-based visualization libraries as universally available and reliable as it is in matplotlib and ggplot2. - -# Approach -To accomplish this goal, Kaleido introduces a new approach. The core of Kaleido is a standalone C++ application that embeds the open-source Chromium browser as a library. This architecture allows Kaleido to communicate with the Chromium browser engine using the C++ API rather than requiring a local network connection. A thin Python wrapper runs the Kaleido C++ application as a subprocess and communicates with it by writing image export requests to standard-in and retrieving results by reading from standard-out. Other language wrappers (e.g. R, Julia, Scala, Rust, etc.) can fairly easily be written in the future because the interface relies only on standard-in / standard-out communication using JSON requests. - -By compiling Chromium as a library, we have a degree of control over what is included in the Chromium build. In particular, on Linux we can build Chromium in [headless](https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md#usage-as-a-c_library) mode which eliminates a large number of runtime dependencies, including the audio, video, GUI toolkit, screensaver, and X11 dependencies mentioned above. The remaining dependencies can then be bundled with the library, making it possible to run Kaleido in minimal Linux environments with no additional dependencies required. In this way, Kaleido can be distributed as a self-contained library that plays a similar role to a matplotlib backend. - -# Advantages -Compared to Orca, Kaleido brings a wide range of improvements to plotly.py users. - -## pip installation support -Pre-compiled wheels for 64-bit Linux, MacOS, and Windows are available on PyPI and can be installed using pip. As with Orca, Kaleido can also be installed using conda. - -## Improved startup time and resource usage -Kaleido starts up about twice as fast as Orca, and uses about half as much system memory. - -## Docker compatibility -Kaleido can operate inside docker containers based on Ubuntu 14.04+ or Centos 7+ (or most any other Linux distro released after ~2014) without the need to install additional dependencies using apt or yum, and without relying on Xvfb as a headless X11 Server. - -## Hosted notebook service compatibility -Kaleido can be used in just about any online notebook service that permits the use of pip to install the kaleido package. These include Colab, Sagemaker, Azure Notebooks, Databricks, Kaggle, etc. In addition, Kaleido is compatible with the default Docker image used by Binder. - -## Security policy / Firewall compatibility -There were occasionally situations where strict security policies and/or firewall services would block Orca’s ability to bind to a local port. Kaleido does not have this limitation since it does not use ports for communication. - -# Disadvantages -While this approach has many advantages, the main disadvantage is that building Chromium is not for the faint of heart. Even on powerful workstations, downloading and building the Chromium code base takes 50+ GB of disk space and several hours. - -# Scope (Plugin) architecture -While motivated by the needs of plotly.py, we made the decision early on to design Kaleido to make it fairly straightforward to add support for additional libraries. Plugins in Kaleido are called "scopes". For more information, see https://github.com/plotly/Kaleido/wiki/Scope-(Plugin)-Architecture. - -# Language wrapper architecture -While Python is the initial target language for Kaleido, it has been designed to make it fairly straightforward to add support for additional languages. For more information, see https://github.com/plotly/Kaleido/wiki/Language-wrapper-architecture. - -# Building Kaleido -Instructions for building Kaleido differ slightly across operating systems. All of these approaches assume that the Kaleido repository has been cloned and that the working directory is set to the repository root. - -``` -$ git clone git@github.com:plotly/Kaleido.git -$ cd Kaleido -``` - -## Linux -The Linux build relies on the `jonmmease/chromium-builder` docker image, and the scripts in `repos/linux_scripts`, to download the chromium source to a local folder and then build it. -Download docker image -``` -$ docker pull jonmmease/chromium-builder:0.9 -``` - -Fetch the Chromium codebase and checkout the specific tag, then sync all dependencies - -``` -$ /repos/linux_scripts/fetch_chromium -``` - -Then build the `kaleido` application to `repos/build/kaleido`, and bundle shared libraries and fonts. The input source for this application is stored under `repos/kaleido/cc/`. The build step will also -create the Python wheel under `repos/kaleido/py/dist/` - -``` -$ /repos/linux_scripts/build_kaleido x64 -``` - -The above command will build Kaleido for the 64-bit Intel architecture. Kaleido can also be build for 64-bit ARM architecture with - -``` -$ /repos/linux_scripts/build_kaleido arm64 -``` - -## MacOS -To build on MacOS, first install XCode version 11.0+, nodejs 12, and Python 3. See https://chromium.googlesource.com/chromium/src/+/master/docs/mac_build_instructions.md for more information on build requirements. - -Then fetch the chromium codebase - -``` -$ /repos/mac_scripts/fetch_chromium -``` - -Then build Kaleido to `repos/build/kaleido`. The build step will also create the Python wheel under `repos/kaleido/py/dist/` - -``` -$ /repos/mac_scripts/build_kaleido -``` - -## Windows -To build on Windows, first install Visual Studio 2019 (community edition is fine), nodejs 12, and Python 3. See https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md for more information on build requirements. - -Then fetch the chromium codebase from a Power Shell command prompt - -``` -$ /repos/win_scripts/fetch_chromium.ps1 -``` - -Then build Kaleido to `repos/build/kaleido`. The build step will also create the Python wheel under `repos/kaleido/py/dist/` -``` -$ /repos/win_scripts/build_kaleido.ps1 x64 -``` - -The above commnad will generate a 64-bit build. A 32-bit build can be generated using -``` -$ /repos/win_scripts/build_kaleido.ps1 x86 -``` - -# Building Docker containers -## chromium-builder -The `chromium-builder` container mostly follows the instructions at https://chromium.googlesource.com/chromium/src/+/master/docs/linux/build_instructions.md to install `depot_tools` and run `install-build-deps.sh` to install the required build dependencies the appropriate stable version of Chromium. The image is based on ubuntu 16.04, which is the recommended OS for building Chromium on Linux. - -Build container with: - -``` -$ docker build -t jonmmease/chromium-builder:0.9 -f repos/linux_scripts/Dockerfile . -``` - -# Updating chromium version -To update the version of Chromium in the future, the docker images will need to be updated. Follow the instructions for the `DEPOT_TOOLS_COMMIT` and `CHROMIUM_TAG` environment variables in `linux_scripts/Dockerfile`. - -> Find a stable chromium version tag from https://chromereleases.googleblog.com/search/label/Desktop%20Update. Look up date of associated tag in GitHub at https://github.com/chromium/chromium/ -E.g. Stable chrome version tag on 05/19/2020: 83.0.4103.61, set `CHROMIUM_TAG="83.0.4103.61"` -> -> Search through depot_tools commitlog (https://chromium.googlesource.com/chromium/tools/depot_tools/+log) for commit hash of commit from the same day. -E.g. depot_tools commit hash from 05/19/2020: e67e41a, set `DEPOT_TOOLS_COMMIT=e67e41a` - -The environment variable must also be updated in the `repos/linux_scripts/checkout_revision`, `repos/mac_scripts/fetch_chromium`, and `repos/win_scripts/fetch_chromium.ps1` scripts. - -**Note:** This is the recommendation by google as well, but as of right now the windows build breaks if depot_tools auto-update is turned off because it also pulls in some dependencies. A solution maybe delete the .git folder in depot_tools or look at installing the dependencies separately. But if your chrome version is sufficiently new for the build, you can just let depo_tools use the tip of branch main. - -# CMakeLists.txt -The CMakeLists.txt file in `repos/` is only there to help IDE's like `CLion`/`KDevelop` figure out how to index the chromium source tree. It can't be used to actually build chromium. Using this approach, it's possible to get full completion and code navigation from `repos/kaleido/cc/kaleido.cc` in CLion. From 854c42828aaf2d5f1c2df4881ab3fcdf4553e020 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 01:32:24 -0400 Subject: [PATCH 099/510] Add verbose flag to gsync --- toolchain/src/03-ksync.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh index cc317a7f..8c27b661 100755 --- a/toolchain/src/03-ksync.sh +++ b/toolchain/src/03-ksync.sh @@ -35,5 +35,6 @@ util_export_version export DEPOT_TOOLS_UPDATE=0 # otherwise it advances to the tip of branch main ## but sometimes it skips other necessary things! Thats why we had init_tools - -( cd $MAIN_DIR/vendor/; gclient sync -D --force --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG ) +V_FLAG="" +$NO_VERBOSE || V_FLAG="--verbose" +( cd $MAIN_DIR/vendor/; gclient sync -D --force "${V_FLAG}" --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG ) From 0d53787af0d5070a34b45e6d2192aa4f485271e9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 01:46:27 -0400 Subject: [PATCH 100/510] Use git patch instead of cp for patching --- .../108.0.5359.125/108.0.5359.125.patch | 147 +++++++++ .../build/compute_build_timestamp.py | 13 - .../88.0.4324.150/88.0.4324.150.patch | 147 +++++++++ .../build/compute_build_timestamp.py | 13 - .../build/toolchain/win/setup_toolchain.py | 305 ------------------ toolchain/src/04-patch_chromium.sh | 4 +- 6 files changed, 295 insertions(+), 334 deletions(-) create mode 100644 patches/chromium/108.0.5359.125/108.0.5359.125.patch delete mode 100644 patches/chromium/108.0.5359.125/build/compute_build_timestamp.py create mode 100644 patches/chromium/88.0.4324.150/88.0.4324.150.patch delete mode 100644 patches/chromium/88.0.4324.150/build/compute_build_timestamp.py delete mode 100644 patches/chromium/88.0.4324.150/build/toolchain/win/setup_toolchain.py diff --git a/patches/chromium/108.0.5359.125/108.0.5359.125.patch b/patches/chromium/108.0.5359.125/108.0.5359.125.patch new file mode 100644 index 00000000..87c3798b --- /dev/null +++ b/patches/chromium/108.0.5359.125/108.0.5359.125.patch @@ -0,0 +1,147 @@ +diff --git a/build/compute_build_timestamp.py b/build/compute_build_timestamp.py +index ca1cc44dab..fa36266de3 100755 +--- a/build/compute_build_timestamp.py ++++ b/build/compute_build_timestamp.py +@@ -1,138 +1,13 @@ + #!/usr/bin/env python +-# Copyright 2018 The Chromium Authors +-# Use of this source code is governed by a BSD-style license that can be +-# found in the LICENSE file. +-"""Returns a timestamp that approximates the build date. +- +-build_type impacts the timestamp generated, both relative to the date of the +-last recent commit: +-- default: the build date is set to the most recent first Sunday of a month at +- 5:00am. The reason is that it is a time where invalidating the build cache +- shouldn't have major repercussions (due to lower load). +-- official: the build date is set to the time of the most recent commit. +-Either way, it is guaranteed to be in the past and always in UTC. +-""" +- +-# The requirements for the timestamp: +-# (1) for the purposes of continuous integration, longer duration +-# between cache invalidation is better, but >=1mo is preferable. +-# (2) for security purposes, timebombs would ideally be as close to +-# the actual time of the build as possible. It must be in the past. +-# (3) HSTS certificate pinning is valid for 70 days. To make CI builds enforce +-# HTST pinning, <=1mo is preferable. +-# +-# On Windows, the timestamp is also written in the PE/COFF file header of +-# executables of dlls. That timestamp and the executable's file size are +-# the only two pieces of information that identify a given executable on +-# the symbol server, so rarely changing timestamps can cause conflicts there +-# as well. We only upload symbols for official builds to the symbol server. +- + from __future__ import print_function +- +-import argparse +-import calendar ++import time + import datetime +-import doctest +-import os + import sys + +- +-THIS_DIR = os.path.abspath(os.path.dirname(__file__)) +- +- +-def GetFirstSundayOfMonth(year, month): +- """Returns the first sunday of the given month of the given year. +- +- >>> GetFirstSundayOfMonth(2016, 2) +- 7 +- >>> GetFirstSundayOfMonth(2016, 3) +- 6 +- >>> GetFirstSundayOfMonth(2000, 1) +- 2 +- """ +- weeks = calendar.Calendar().monthdays2calendar(year, month) +- # Return the first day in the first week that is a Sunday. +- return [date_day[0] for date_day in weeks[0] if date_day[1] == 6][0] +- +- +-def GetUnofficialBuildDate(build_date): +- """Gets the approximate build date given the specific build type. +- +- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 6, 1, 2, 3)) +- datetime.datetime(2016, 1, 3, 5, 0) +- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 7, 5)) +- datetime.datetime(2016, 2, 7, 5, 0) +- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 8, 5)) +- datetime.datetime(2016, 2, 7, 5, 0) +- """ +- +- if build_date.hour < 5: +- # The time is locked at 5:00 am in UTC to cause the build cache +- # invalidation to not happen exactly at midnight. Use the same calculation +- # as the day before. +- # See //base/build_time.cc. +- build_date = build_date - datetime.timedelta(days=1) +- build_date = datetime.datetime(build_date.year, build_date.month, +- build_date.day, 5, 0, 0) +- +- day = build_date.day +- month = build_date.month +- year = build_date.year +- first_sunday = GetFirstSundayOfMonth(year, month) +- # If our build is after the first Sunday, we've already refreshed our build +- # cache on a quiet day, so just use that day. +- # Otherwise, take the first Sunday of the previous month. +- if day >= first_sunday: +- day = first_sunday +- else: +- month -= 1 +- if month == 0: +- month = 12 +- year -= 1 +- day = GetFirstSundayOfMonth(year, month) +- return datetime.datetime( +- year, month, day, build_date.hour, build_date.minute, build_date.second) +- +- + def main(): +- if doctest.testmod()[0]: +- return 1 +- argument_parser = argparse.ArgumentParser() +- argument_parser.add_argument( +- 'build_type', help='The type of build', choices=('official', 'default')) +- args = argument_parser.parse_args() +- +- # The mtime of the revision in build/util/LASTCHANGE is stored in a file +- # next to it. Read it, to get a deterministic time close to "now". +- # That date is then modified as described at the top of the file so that +- # it changes less frequently than with every commit. +- # This intentionally always uses build/util/LASTCHANGE's commit time even if +- # use_dummy_lastchange is set. +- lastchange_file = os.path.join(THIS_DIR, 'util', 'LASTCHANGE.committime') +- last_commit_timestamp = int(open(lastchange_file).read()) +- build_date = datetime.datetime.utcfromtimestamp(last_commit_timestamp) +- +- # For official builds we want full fidelity time stamps because official +- # builds are typically added to symbol servers and Windows symbol servers +- # use the link timestamp as the prime differentiator, but for unofficial +- # builds we do lots of quantization to avoid churn. +- offset = 0 +- if args.build_type == 'official': +- if os.name == 'nt': +- version_path = os.path.join(THIS_DIR, os.pardir, 'chrome', 'VERSION') +- with open(version_path) as f: +- patch_line = f.readlines()[3].strip() +- # Use the patch number as an offset to the build date so that multiple +- # versions with different patch numbers built from the same source code +- # will get different build_date values. This is critical for Windows +- # symbol servers, to avoid collisions. +- assert patch_line.startswith('PATCH=') +- offset = int(patch_line[6:]) +- else: +- build_date = GetUnofficialBuildDate(build_date) +- print(offset + int(calendar.timegm(build_date.utctimetuple()))) +- return 0 +- ++ # All this to get a POSIX timestamp integer ++ print(int(time.mktime(datetime.datetime.now().timetuple()))) ++ return 0 + + if __name__ == '__main__': + sys.exit(main()) diff --git a/patches/chromium/108.0.5359.125/build/compute_build_timestamp.py b/patches/chromium/108.0.5359.125/build/compute_build_timestamp.py deleted file mode 100644 index fa36266d..00000000 --- a/patches/chromium/108.0.5359.125/build/compute_build_timestamp.py +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env python -from __future__ import print_function -import time -import datetime -import sys - -def main(): - # All this to get a POSIX timestamp integer - print(int(time.mktime(datetime.datetime.now().timetuple()))) - return 0 - -if __name__ == '__main__': - sys.exit(main()) diff --git a/patches/chromium/88.0.4324.150/88.0.4324.150.patch b/patches/chromium/88.0.4324.150/88.0.4324.150.patch new file mode 100644 index 00000000..7a26bcaa --- /dev/null +++ b/patches/chromium/88.0.4324.150/88.0.4324.150.patch @@ -0,0 +1,147 @@ +diff --git a/build/compute_build_timestamp.py b/build/compute_build_timestamp.py +index ceb507b26c..fa36266de3 100755 +--- a/build/compute_build_timestamp.py ++++ b/build/compute_build_timestamp.py +@@ -1,126 +1,13 @@ + #!/usr/bin/env python +-# Copyright 2018 The Chromium Authors. All rights reserved. +-# Use of this source code is governed by a BSD-style license that can be +-# found in the LICENSE file. +-"""Returns a timestamp that approximates the build date. +- +-build_type impacts the timestamp generated, both relative to the date of the +-last recent commit: +-- default: the build date is set to the most recent first Sunday of a month at +- 5:00am. The reason is that it is a time where invalidating the build cache +- shouldn't have major repercussions (due to lower load). +-- official: the build date is set to the time of the most recent commit. +-Either way, it is guaranteed to be in the past and always in UTC. +-""" +- +-# The requirements for the timestamp: +-# (1) for the purposes of continuous integration, longer duration +-# between cache invalidation is better, but >=1mo is preferable. +-# (2) for security purposes, timebombs would ideally be as close to +-# the actual time of the build as possible. It must be in the past. +-# (3) HSTS certificate pinning is valid for 70 days. To make CI builds enforce +-# HTST pinning, <=1mo is preferable. +-# +-# On Windows, the timestamp is also written in the PE/COFF file header of +-# executables of dlls. That timestamp and the executable's file size are +-# the only two pieces of information that identify a given executable on +-# the symbol server, so rarely changing timestamps can cause conflicts there +-# as well. We only upload symbols for official builds to the symbol server. +- + from __future__ import print_function +- +-import argparse +-import calendar ++import time + import datetime +-import doctest +-import os + import sys + +- +-THIS_DIR = os.path.abspath(os.path.dirname(__file__)) +- +- +-def GetFirstSundayOfMonth(year, month): +- """Returns the first sunday of the given month of the given year. +- +- >>> GetFirstSundayOfMonth(2016, 2) +- 7 +- >>> GetFirstSundayOfMonth(2016, 3) +- 6 +- >>> GetFirstSundayOfMonth(2000, 1) +- 2 +- """ +- weeks = calendar.Calendar().monthdays2calendar(year, month) +- # Return the first day in the first week that is a Sunday. +- return [date_day[0] for date_day in weeks[0] if date_day[1] == 6][0] +- +- +-def GetUnofficialBuildDate(build_date): +- """Gets the approximate build date given the specific build type. +- +- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 6, 1, 2, 3)) +- datetime.datetime(2016, 1, 3, 5, 0) +- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 7, 5)) +- datetime.datetime(2016, 2, 7, 5, 0) +- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 8, 5)) +- datetime.datetime(2016, 2, 7, 5, 0) +- """ +- +- if build_date.hour < 5: +- # The time is locked at 5:00 am in UTC to cause the build cache +- # invalidation to not happen exactly at midnight. Use the same calculation +- # as the day before. +- # See //base/build_time.cc. +- build_date = build_date - datetime.timedelta(days=1) +- build_date = datetime.datetime(build_date.year, build_date.month, +- build_date.day, 5, 0, 0) +- +- day = build_date.day +- month = build_date.month +- year = build_date.year +- first_sunday = GetFirstSundayOfMonth(year, month) +- # If our build is after the first Sunday, we've already refreshed our build +- # cache on a quiet day, so just use that day. +- # Otherwise, take the first Sunday of the previous month. +- if day >= first_sunday: +- day = first_sunday +- else: +- month -= 1 +- if month == 0: +- month = 12 +- year -= 1 +- day = GetFirstSundayOfMonth(year, month) +- return datetime.datetime( +- year, month, day, build_date.hour, build_date.minute, build_date.second) +- +- + def main(): +- if doctest.testmod()[0]: +- return 1 +- argument_parser = argparse.ArgumentParser() +- argument_parser.add_argument( +- 'build_type', help='The type of build', choices=('official', 'default')) +- args = argument_parser.parse_args() +- +- # The mtime of the revision in build/util/LASTCHANGE is stored in a file +- # next to it. Read it, to get a deterministic time close to "now". +- # That date is then modified as described at the top of the file so that +- # it changes less frequently than with every commit. +- # This intentionally always uses build/util/LASTCHANGE's commit time even if +- # use_dummy_lastchange is set. +- lastchange_file = os.path.join(THIS_DIR, 'util', 'LASTCHANGE.committime') +- last_commit_timestamp = int(open(lastchange_file).read()) +- build_date = datetime.datetime.utcfromtimestamp(last_commit_timestamp) +- +- # For official builds we want full fidelity time stamps because official +- # builds are typically added to symbol servers and Windows symbol servers +- # use the link timestamp as the prime differentiator, but for unofficial +- # builds we do lots of quantization to avoid churn. +- if args.build_type != 'official': +- build_date = GetUnofficialBuildDate(build_date) +- print(int(calendar.timegm(build_date.utctimetuple()))) +- return 0 +- ++ # All this to get a POSIX timestamp integer ++ print(int(time.mktime(datetime.datetime.now().timetuple()))) ++ return 0 + + if __name__ == '__main__': + sys.exit(main()) +diff --git a/build/toolchain/win/setup_toolchain.py b/build/toolchain/win/setup_toolchain.py +index 47309866ca..3fb765ffb5 100644 +--- a/build/toolchain/win/setup_toolchain.py ++++ b/build/toolchain/win/setup_toolchain.py +@@ -277,6 +277,7 @@ def main(): + return s if re.match(r'^[a-zA-Z0-9._/\\:-]*$', s) else '"' + s + '"' + include_I = ' '.join([q('/I' + i) for i in include]) + include_imsvc = ' '.join([q('-imsvc' + i) for i in include]) ++ lib = ["C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/atlmfc/lib/spectre/" + cpu] + lib + libpath_flags = ' '.join([q('-libpath:' + i) for i in lib]) + + if (environment_block_name != ''): diff --git a/patches/chromium/88.0.4324.150/build/compute_build_timestamp.py b/patches/chromium/88.0.4324.150/build/compute_build_timestamp.py deleted file mode 100644 index fa36266d..00000000 --- a/patches/chromium/88.0.4324.150/build/compute_build_timestamp.py +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env python -from __future__ import print_function -import time -import datetime -import sys - -def main(): - # All this to get a POSIX timestamp integer - print(int(time.mktime(datetime.datetime.now().timetuple()))) - return 0 - -if __name__ == '__main__': - sys.exit(main()) diff --git a/patches/chromium/88.0.4324.150/build/toolchain/win/setup_toolchain.py b/patches/chromium/88.0.4324.150/build/toolchain/win/setup_toolchain.py deleted file mode 100644 index 3fb765ff..00000000 --- a/patches/chromium/88.0.4324.150/build/toolchain/win/setup_toolchain.py +++ /dev/null @@ -1,305 +0,0 @@ -# Copyright (c) 2013 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. -# -# Copies the given "win tool" (which the toolchain uses to wrap compiler -# invocations) and the environment blocks for the 32-bit and 64-bit builds on -# Windows to the build directory. -# -# The arguments are the visual studio install location and the location of the -# win tool. The script assumes that the root build directory is the current dir -# and the files will be written to the current directory. - -from __future__ import print_function - -import errno -import json -import os -import re -import subprocess -import sys - -sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir)) -import gn_helpers - -SCRIPT_DIR = os.path.dirname(__file__) - -def _ExtractImportantEnvironment(output_of_set): - """Extracts environment variables required for the toolchain to run from - a textual dump output by the cmd.exe 'set' command.""" - envvars_to_save = ( - 'cipd_cache_dir', # needed by vpython - 'homedrive', # needed by vpython - 'homepath', # needed by vpython - 'goma_.*', # TODO(scottmg): This is ugly, but needed for goma. - 'include', - 'lib', - 'libpath', - 'luci_context', # needed by vpython - 'path', - 'pathext', - 'systemroot', - 'temp', - 'tmp', - 'userprofile', # needed by vpython - 'vpython_virtualenv_root' # needed by vpython - ) - env = {} - # This occasionally happens and leads to misleading SYSTEMROOT error messages - # if not caught here. - if output_of_set.count('=') == 0: - raise Exception('Invalid output_of_set. Value is:\n%s' % output_of_set) - for line in output_of_set.splitlines(): - for envvar in envvars_to_save: - if re.match(envvar + '=', line.lower()): - var, setting = line.split('=', 1) - if envvar == 'path': - # Our own rules and actions in Chromium rely on python being in the - # path. Add the path to this python here so that if it's not in the - # path when ninja is run later, python will still be found. - setting = os.path.dirname(sys.executable) + os.pathsep + setting - env[var.upper()] = setting - break - if sys.platform in ('win32', 'cygwin'): - for required in ('SYSTEMROOT', 'TEMP', 'TMP'): - if required not in env: - raise Exception('Environment variable "%s" ' - 'required to be set to valid path' % required) - return env - - -def _DetectVisualStudioPath(): - """Return path to the installed Visual Studio. - """ - - # Use the code in build/vs_toolchain.py to avoid duplicating code. - chromium_dir = os.path.abspath(os.path.join(SCRIPT_DIR, '..', '..', '..')) - sys.path.append(os.path.join(chromium_dir, 'build')) - import vs_toolchain - return vs_toolchain.DetectVisualStudioPath() - - -def _LoadEnvFromBat(args): - """Given a bat command, runs it and returns env vars set by it.""" - args = args[:] - args.extend(('&&', 'set')) - popen = subprocess.Popen( - args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - variables, _ = popen.communicate() - if popen.returncode != 0: - raise Exception('"%s" failed with error %d' % (args, popen.returncode)) - return variables.decode(errors='ignore') - - -def _LoadToolchainEnv(cpu, sdk_dir, target_store): - """Returns a dictionary with environment variables that must be set while - running binaries from the toolchain (e.g. INCLUDE and PATH for cl.exe).""" - # Check if we are running in the SDK command line environment and use - # the setup script from the SDK if so. |cpu| should be either - # 'x86' or 'x64' or 'arm' or 'arm64'. - assert cpu in ('x86', 'x64', 'arm', 'arm64') - if bool(int(os.environ.get('DEPOT_TOOLS_WIN_TOOLCHAIN', 1))) and sdk_dir: - # Load environment from json file. - env = os.path.normpath(os.path.join(sdk_dir, 'bin/SetEnv.%s.json' % cpu)) - env = json.load(open(env))['env'] - if env['VSINSTALLDIR'] == [["..", "..\\"]]: - # Old-style paths were relative to the win_sdk\bin directory. - json_relative_dir = os.path.join(sdk_dir, 'bin') - else: - # New-style paths are relative to the toolchain directory, which is the - # parent of the SDK directory. - json_relative_dir = os.path.split(sdk_dir)[0] - for k in env: - entries = [os.path.join(*([json_relative_dir] + e)) for e in env[k]] - # clang-cl wants INCLUDE to be ;-separated even on non-Windows, - # lld-link wants LIB to be ;-separated even on non-Windows. Path gets :. - # The separator for INCLUDE here must match the one used in main() below. - sep = os.pathsep if k == 'PATH' else ';' - env[k] = sep.join(entries) - # PATH is a bit of a special case, it's in addition to the current PATH. - env['PATH'] = env['PATH'] + os.pathsep + os.environ['PATH'] - # Augment with the current env to pick up TEMP and friends. - for k in os.environ: - if k not in env: - env[k] = os.environ[k] - - varlines = [] - for k in sorted(env.keys()): - varlines.append('%s=%s' % (str(k), str(env[k]))) - variables = '\n'.join(varlines) - - # Check that the json file contained the same environment as the .cmd file. - if sys.platform in ('win32', 'cygwin'): - script = os.path.normpath(os.path.join(sdk_dir, 'Bin/SetEnv.cmd')) - arg = '/' + cpu - json_env = _ExtractImportantEnvironment(variables) - cmd_env = _ExtractImportantEnvironment(_LoadEnvFromBat([script, arg])) - assert _LowercaseDict(json_env) == _LowercaseDict(cmd_env) - else: - if 'GYP_MSVS_OVERRIDE_PATH' not in os.environ: - os.environ['GYP_MSVS_OVERRIDE_PATH'] = _DetectVisualStudioPath() - # We only support x64-hosted tools. - script_path = os.path.normpath(os.path.join( - os.environ['GYP_MSVS_OVERRIDE_PATH'], - 'VC/vcvarsall.bat')) - if not os.path.exists(script_path): - # vcvarsall.bat for VS 2017 fails if run after running vcvarsall.bat from - # VS 2013 or VS 2015. Fix this by clearing the vsinstalldir environment - # variable. Since vcvarsall.bat appends to the INCLUDE, LIB, and LIBPATH - # environment variables we need to clear those to avoid getting double - # entries when vcvarsall.bat has been run before gn gen. vcvarsall.bat - # also adds to PATH, but there is no clean way of clearing that and it - # doesn't seem to cause problems. - if 'VSINSTALLDIR' in os.environ: - del os.environ['VSINSTALLDIR'] - del os.environ['INCLUDE'] - del os.environ['LIB'] - del os.environ['LIBPATH'] - other_path = os.path.normpath(os.path.join( - os.environ['GYP_MSVS_OVERRIDE_PATH'], - 'VC/Auxiliary/Build/vcvarsall.bat')) - if not os.path.exists(other_path): - raise Exception('%s is missing - make sure VC++ tools are installed.' % - script_path) - script_path = other_path - cpu_arg = "amd64" - if (cpu != 'x64'): - # x64 is default target CPU thus any other CPU requires a target set - cpu_arg += '_' + cpu - args = [script_path, cpu_arg, ] - # Store target must come before any SDK version declaration - if (target_store): - args.append('store') - # Explicitly specifying the SDK version to build with to avoid accidentally - # building with a new and untested SDK. This should stay in sync with the - # packaged toolchain in build/vs_toolchain.py. - args.append('10.0.19041.0') - variables = _LoadEnvFromBat(args) - return _ExtractImportantEnvironment(variables) - - -def _FormatAsEnvironmentBlock(envvar_dict): - """Format as an 'environment block' directly suitable for CreateProcess. - Briefly this is a list of key=value\0, terminated by an additional \0. See - CreateProcess documentation for more details.""" - block = '' - nul = '\0' - for key, value in envvar_dict.items(): - block += key + '=' + value + nul - block += nul - return block - - -def _LowercaseDict(d): - """Returns a copy of `d` with both key and values lowercased. - - Args: - d: dict to lowercase (e.g. {'A': 'BcD'}). - - Returns: - A dict with both keys and values lowercased (e.g.: {'a': 'bcd'}). - """ - return {k.lower(): d[k].lower() for k in d} - - -def FindFileInEnvList(env, env_name, separator, file_name, optional=False): - parts = env[env_name].split(separator) - for path in parts: - if os.path.exists(os.path.join(path, file_name)): - return os.path.realpath(path) - assert optional, "%s is not found in %s:\n%s\nCheck if it is installed." % ( - file_name, env_name, '\n'.join(parts)) - return '' - - -def main(): - if len(sys.argv) != 7: - print('Usage setup_toolchain.py ' - ' ' - ' ' - '') - sys.exit(2) - win_sdk_path = sys.argv[2] - runtime_dirs = sys.argv[3] - target_os = sys.argv[4] - target_cpu = sys.argv[5] - environment_block_name = sys.argv[6] - if (environment_block_name == 'none'): - environment_block_name = '' - - if (target_os == 'winuwp'): - target_store = True - else: - target_store = False - - cpus = ('x86', 'x64', 'arm', 'arm64') - assert target_cpu in cpus - vc_bin_dir = '' - vc_lib_path = '' - vc_lib_atlmfc_path = '' - vc_lib_um_path = '' - include = '' - lib = '' - - # TODO(scottmg|goma): Do we need an equivalent of - # ninja_use_custom_environment_files? - - for cpu in cpus: - if cpu == target_cpu: - # Extract environment variables for subprocesses. - env = _LoadToolchainEnv(cpu, win_sdk_path, target_store) - env['PATH'] = runtime_dirs + os.pathsep + env['PATH'] - - vc_bin_dir = FindFileInEnvList(env, 'PATH', os.pathsep, 'cl.exe') - vc_lib_path = FindFileInEnvList(env, 'LIB', ';', 'msvcrt.lib') - vc_lib_atlmfc_path = FindFileInEnvList( - env, 'LIB', ';', 'atls.lib', optional=True) - vc_lib_um_path = FindFileInEnvList(env, 'LIB', ';', 'user32.lib') - - # The separator for INCLUDE here must match the one used in - # _LoadToolchainEnv() above. - include = [p.replace('"', r'\"') for p in env['INCLUDE'].split(';') if p] - - # Make include path relative to builddir when cwd and sdk in same drive. - try: - include = list(map(os.path.relpath, include)) - except ValueError: - pass - - lib = [p.replace('"', r'\"') for p in env['LIB'].split(';') if p] - # Make lib path relative to builddir when cwd and sdk in same drive. - try: - lib = list(map(os.path.relpath, lib)) - except ValueError: - pass - - def q(s): # Quote s if it contains spaces or other weird characters. - return s if re.match(r'^[a-zA-Z0-9._/\\:-]*$', s) else '"' + s + '"' - include_I = ' '.join([q('/I' + i) for i in include]) - include_imsvc = ' '.join([q('-imsvc' + i) for i in include]) - lib = ["C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/atlmfc/lib/spectre/" + cpu] + lib - libpath_flags = ' '.join([q('-libpath:' + i) for i in lib]) - - if (environment_block_name != ''): - env_block = _FormatAsEnvironmentBlock(env) - with open(environment_block_name, 'w') as f: - f.write(env_block) - - print('vc_bin_dir = ' + gn_helpers.ToGNString(vc_bin_dir)) - assert include_I - print('include_flags_I = ' + gn_helpers.ToGNString(include_I)) - assert include_imsvc - print('include_flags_imsvc = ' + gn_helpers.ToGNString(include_imsvc)) - print('vc_lib_path = ' + gn_helpers.ToGNString(vc_lib_path)) - # Possible atlmfc library path gets introduced in the future for store thus - # output result if a result exists. - if (vc_lib_atlmfc_path != ''): - print('vc_lib_atlmfc_path = ' + gn_helpers.ToGNString(vc_lib_atlmfc_path)) - print('vc_lib_um_path = ' + gn_helpers.ToGNString(vc_lib_um_path)) - print('paths = ' + gn_helpers.ToGNString(env['PATH'])) - assert libpath_flags - print('libpath_flags = ' + gn_helpers.ToGNString(libpath_flags)) - - -if __name__ == '__main__': - main() diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh index c122b2a4..291dbb4e 100644 --- a/toolchain/src/04-patch_chromium.sh +++ b/toolchain/src/04-patch_chromium.sh @@ -24,9 +24,7 @@ $NO_VERBOSE || echo "Running 04-patch_chromium" PATCH_DIR="$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" if [ -d "" ]; then - for patch in $(find $PATCH_DIR -name '*.patch'); do - git apply $patch - done + git -C $MAIN_DIR/vendor/src/ apply *.$patch else mkdir -p "$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" $NO_VERBOSE || echo "No patches found for $CHROMIUM_VERSION_TAG, creating directory." From d3cd9f597b07ee34160de6be02eb7d3ba0bb962d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 01:58:16 -0400 Subject: [PATCH 101/510] Add gen_preamble to build tools --- toolchain/src/05-gen_preamble.sh | 32 ++++++++++++++++++++++++++++++++ toolchain/src/xx-all.sh | 7 ++++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 toolchain/src/05-gen_preamble.sh diff --git a/toolchain/src/05-gen_preamble.sh b/toolchain/src/05-gen_preamble.sh new file mode 100644 index 00000000..65a06f82 --- /dev/null +++ b/toolchain/src/05-gen_preamble.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -e +set -u + +# TODO: add --check and --stat, and defaults + +usage=( + "gen_preamble will generate a license file, etc." + "It copies some stuff into the src/kaleido directory, not sure why." + "It shouldn't provoke the build system to rebuild anything, we just use copy." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" +) +## PROCESS FLAGS + +FLAGS=() +ARGFLAGS=() + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +. "$SCRIPT_DIR/include/utilities.sh" + +$NO_VERBOSE || echo "Running 05-gen_preamble.sh" + +# old versions may not work with python3 +# +python3 $MAIN_DIR\vendor\src\tools\licenses\licenses.py credits > $MAIN_DIR\CREDITS.html || python $MAIN_DIR\vendor\src\tools\licenses\licenses.py credits > $MAIN_DIR\CREDITS.html + +cp $MAIN_DIR\README.md $MAIN_DIR/src/kaleido/ +cp $MAIN_DIR\LICENSE.txt $MAIN_DIR/src/kaleido/ +cp $MAIN_DIR\CREDITS.html $MAIN_DIR/src/kaleido/ + diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 88c54b70..60773345 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -104,7 +104,12 @@ if $FOUR || $ALL; then fi if $FIVE || $ALL; then - : + $NO_VERBOSE || echo "Running 5" + if $(which gen_preamble &> /dev/null); then + gen_preamble $(flags_resolve "" ":") + else + $SCRIPT_DIR/05-gen_preamble.sh $(flags_resolve "" ":") + fi fi if $SIX || $ALL; then From 49f91e72f27b523931b37c235e38ff7c3602b283 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 02:01:27 -0400 Subject: [PATCH 102/510] Make 04/05 executable --- toolchain/src/04-patch_chromium.sh | 0 toolchain/src/05-gen_preamble.sh | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 toolchain/src/04-patch_chromium.sh mode change 100644 => 100755 toolchain/src/05-gen_preamble.sh diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh old mode 100644 new mode 100755 diff --git a/toolchain/src/05-gen_preamble.sh b/toolchain/src/05-gen_preamble.sh old mode 100644 new mode 100755 From c7bdb2b72a1b21c82a3831d8c5740bac2d505c94 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 02:04:45 -0400 Subject: [PATCH 103/510] Remember to set version env vars --- toolchain/src/04-patch_chromium.sh | 3 +++ toolchain/src/05-gen_preamble.sh | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh index 291dbb4e..acdbcce4 100755 --- a/toolchain/src/04-patch_chromium.sh +++ b/toolchain/src/04-patch_chromium.sh @@ -20,6 +20,9 @@ ARGFLAGS=() SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" +util_get_version +util_export_version + $NO_VERBOSE || echo "Running 04-patch_chromium" PATCH_DIR="$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" diff --git a/toolchain/src/05-gen_preamble.sh b/toolchain/src/05-gen_preamble.sh index 65a06f82..28d2b734 100755 --- a/toolchain/src/05-gen_preamble.sh +++ b/toolchain/src/05-gen_preamble.sh @@ -22,8 +22,10 @@ SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> / $NO_VERBOSE || echo "Running 05-gen_preamble.sh" -# old versions may not work with python3 -# +util_get_version +util_export_version + +# old versions may not work with python3, so do || python python3 $MAIN_DIR\vendor\src\tools\licenses\licenses.py credits > $MAIN_DIR\CREDITS.html || python $MAIN_DIR\vendor\src\tools\licenses\licenses.py credits > $MAIN_DIR\CREDITS.html cp $MAIN_DIR\README.md $MAIN_DIR/src/kaleido/ From 42b5cb3fd3bd5787f8c7fa6ecbabbd5506409160 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 02:06:39 -0400 Subject: [PATCH 104/510] Copy 108 patches to 126 --- .../126.0.6478.126/108.0.5359.125.patch | 147 ++++++++++++++++++ patches/chromium/126.0.6478.126/README.md | 3 + 2 files changed, 150 insertions(+) create mode 100644 patches/chromium/126.0.6478.126/108.0.5359.125.patch create mode 100644 patches/chromium/126.0.6478.126/README.md diff --git a/patches/chromium/126.0.6478.126/108.0.5359.125.patch b/patches/chromium/126.0.6478.126/108.0.5359.125.patch new file mode 100644 index 00000000..87c3798b --- /dev/null +++ b/patches/chromium/126.0.6478.126/108.0.5359.125.patch @@ -0,0 +1,147 @@ +diff --git a/build/compute_build_timestamp.py b/build/compute_build_timestamp.py +index ca1cc44dab..fa36266de3 100755 +--- a/build/compute_build_timestamp.py ++++ b/build/compute_build_timestamp.py +@@ -1,138 +1,13 @@ + #!/usr/bin/env python +-# Copyright 2018 The Chromium Authors +-# Use of this source code is governed by a BSD-style license that can be +-# found in the LICENSE file. +-"""Returns a timestamp that approximates the build date. +- +-build_type impacts the timestamp generated, both relative to the date of the +-last recent commit: +-- default: the build date is set to the most recent first Sunday of a month at +- 5:00am. The reason is that it is a time where invalidating the build cache +- shouldn't have major repercussions (due to lower load). +-- official: the build date is set to the time of the most recent commit. +-Either way, it is guaranteed to be in the past and always in UTC. +-""" +- +-# The requirements for the timestamp: +-# (1) for the purposes of continuous integration, longer duration +-# between cache invalidation is better, but >=1mo is preferable. +-# (2) for security purposes, timebombs would ideally be as close to +-# the actual time of the build as possible. It must be in the past. +-# (3) HSTS certificate pinning is valid for 70 days. To make CI builds enforce +-# HTST pinning, <=1mo is preferable. +-# +-# On Windows, the timestamp is also written in the PE/COFF file header of +-# executables of dlls. That timestamp and the executable's file size are +-# the only two pieces of information that identify a given executable on +-# the symbol server, so rarely changing timestamps can cause conflicts there +-# as well. We only upload symbols for official builds to the symbol server. +- + from __future__ import print_function +- +-import argparse +-import calendar ++import time + import datetime +-import doctest +-import os + import sys + +- +-THIS_DIR = os.path.abspath(os.path.dirname(__file__)) +- +- +-def GetFirstSundayOfMonth(year, month): +- """Returns the first sunday of the given month of the given year. +- +- >>> GetFirstSundayOfMonth(2016, 2) +- 7 +- >>> GetFirstSundayOfMonth(2016, 3) +- 6 +- >>> GetFirstSundayOfMonth(2000, 1) +- 2 +- """ +- weeks = calendar.Calendar().monthdays2calendar(year, month) +- # Return the first day in the first week that is a Sunday. +- return [date_day[0] for date_day in weeks[0] if date_day[1] == 6][0] +- +- +-def GetUnofficialBuildDate(build_date): +- """Gets the approximate build date given the specific build type. +- +- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 6, 1, 2, 3)) +- datetime.datetime(2016, 1, 3, 5, 0) +- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 7, 5)) +- datetime.datetime(2016, 2, 7, 5, 0) +- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 8, 5)) +- datetime.datetime(2016, 2, 7, 5, 0) +- """ +- +- if build_date.hour < 5: +- # The time is locked at 5:00 am in UTC to cause the build cache +- # invalidation to not happen exactly at midnight. Use the same calculation +- # as the day before. +- # See //base/build_time.cc. +- build_date = build_date - datetime.timedelta(days=1) +- build_date = datetime.datetime(build_date.year, build_date.month, +- build_date.day, 5, 0, 0) +- +- day = build_date.day +- month = build_date.month +- year = build_date.year +- first_sunday = GetFirstSundayOfMonth(year, month) +- # If our build is after the first Sunday, we've already refreshed our build +- # cache on a quiet day, so just use that day. +- # Otherwise, take the first Sunday of the previous month. +- if day >= first_sunday: +- day = first_sunday +- else: +- month -= 1 +- if month == 0: +- month = 12 +- year -= 1 +- day = GetFirstSundayOfMonth(year, month) +- return datetime.datetime( +- year, month, day, build_date.hour, build_date.minute, build_date.second) +- +- + def main(): +- if doctest.testmod()[0]: +- return 1 +- argument_parser = argparse.ArgumentParser() +- argument_parser.add_argument( +- 'build_type', help='The type of build', choices=('official', 'default')) +- args = argument_parser.parse_args() +- +- # The mtime of the revision in build/util/LASTCHANGE is stored in a file +- # next to it. Read it, to get a deterministic time close to "now". +- # That date is then modified as described at the top of the file so that +- # it changes less frequently than with every commit. +- # This intentionally always uses build/util/LASTCHANGE's commit time even if +- # use_dummy_lastchange is set. +- lastchange_file = os.path.join(THIS_DIR, 'util', 'LASTCHANGE.committime') +- last_commit_timestamp = int(open(lastchange_file).read()) +- build_date = datetime.datetime.utcfromtimestamp(last_commit_timestamp) +- +- # For official builds we want full fidelity time stamps because official +- # builds are typically added to symbol servers and Windows symbol servers +- # use the link timestamp as the prime differentiator, but for unofficial +- # builds we do lots of quantization to avoid churn. +- offset = 0 +- if args.build_type == 'official': +- if os.name == 'nt': +- version_path = os.path.join(THIS_DIR, os.pardir, 'chrome', 'VERSION') +- with open(version_path) as f: +- patch_line = f.readlines()[3].strip() +- # Use the patch number as an offset to the build date so that multiple +- # versions with different patch numbers built from the same source code +- # will get different build_date values. This is critical for Windows +- # symbol servers, to avoid collisions. +- assert patch_line.startswith('PATCH=') +- offset = int(patch_line[6:]) +- else: +- build_date = GetUnofficialBuildDate(build_date) +- print(offset + int(calendar.timegm(build_date.utctimetuple()))) +- return 0 +- ++ # All this to get a POSIX timestamp integer ++ print(int(time.mktime(datetime.datetime.now().timetuple()))) ++ return 0 + + if __name__ == '__main__': + sys.exit(main()) diff --git a/patches/chromium/126.0.6478.126/README.md b/patches/chromium/126.0.6478.126/README.md new file mode 100644 index 00000000..8f2abe39 --- /dev/null +++ b/patches/chromium/126.0.6478.126/README.md @@ -0,0 +1,3 @@ +# build/compute_build_timestamp.py + +Google has a complex way to embed a timestamp into all of their source files and libraries. It has to do with cache optimization and symbol lookup for proprietary servers they have. It didn't work in 2024 and their most recent build (which we can't use yet) doesn't even have this file. But I just replace the file with a simple timestamp since that's suitable for Kaleido's purposes. From cbf81fbf3218c75eddd9f40267dd3fc75c48d70e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 02:08:16 -0400 Subject: [PATCH 105/510] Fix silly typo --- toolchain/src/04-patch_chromium.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh index acdbcce4..483e4836 100755 --- a/toolchain/src/04-patch_chromium.sh +++ b/toolchain/src/04-patch_chromium.sh @@ -26,7 +26,7 @@ util_export_version $NO_VERBOSE || echo "Running 04-patch_chromium" PATCH_DIR="$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" -if [ -d "" ]; then +if [ -d "$PATCH_DIR" ]; then git -C $MAIN_DIR/vendor/src/ apply *.$patch else mkdir -p "$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" From c034858ff6e8dd4490cb2efa7592c7835c5204e6 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 02:08:53 -0400 Subject: [PATCH 106/510] Fix silly typo2 --- toolchain/src/04-patch_chromium.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh index 483e4836..31ac3898 100755 --- a/toolchain/src/04-patch_chromium.sh +++ b/toolchain/src/04-patch_chromium.sh @@ -27,7 +27,7 @@ $NO_VERBOSE || echo "Running 04-patch_chromium" PATCH_DIR="$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" if [ -d "$PATCH_DIR" ]; then - git -C $MAIN_DIR/vendor/src/ apply *.$patch + git -C $MAIN_DIR/vendor/src/ apply *.patch else mkdir -p "$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" $NO_VERBOSE || echo "No patches found for $CHROMIUM_VERSION_TAG, creating directory." From 6e7bf60326abaf3c3db2771a278f822b074911ce Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 02:20:32 -0400 Subject: [PATCH 107/510] Fix patch, try w/o patches for 126 --- .../126.0.6478.126/108.0.5359.125.patch | 147 ------------------ patches/chromium/126.0.6478.126/README.md | 3 - toolchain/src/04-patch_chromium.sh | 2 +- 3 files changed, 1 insertion(+), 151 deletions(-) delete mode 100644 patches/chromium/126.0.6478.126/108.0.5359.125.patch diff --git a/patches/chromium/126.0.6478.126/108.0.5359.125.patch b/patches/chromium/126.0.6478.126/108.0.5359.125.patch deleted file mode 100644 index 87c3798b..00000000 --- a/patches/chromium/126.0.6478.126/108.0.5359.125.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff --git a/build/compute_build_timestamp.py b/build/compute_build_timestamp.py -index ca1cc44dab..fa36266de3 100755 ---- a/build/compute_build_timestamp.py -+++ b/build/compute_build_timestamp.py -@@ -1,138 +1,13 @@ - #!/usr/bin/env python --# Copyright 2018 The Chromium Authors --# Use of this source code is governed by a BSD-style license that can be --# found in the LICENSE file. --"""Returns a timestamp that approximates the build date. -- --build_type impacts the timestamp generated, both relative to the date of the --last recent commit: --- default: the build date is set to the most recent first Sunday of a month at -- 5:00am. The reason is that it is a time where invalidating the build cache -- shouldn't have major repercussions (due to lower load). --- official: the build date is set to the time of the most recent commit. --Either way, it is guaranteed to be in the past and always in UTC. --""" -- --# The requirements for the timestamp: --# (1) for the purposes of continuous integration, longer duration --# between cache invalidation is better, but >=1mo is preferable. --# (2) for security purposes, timebombs would ideally be as close to --# the actual time of the build as possible. It must be in the past. --# (3) HSTS certificate pinning is valid for 70 days. To make CI builds enforce --# HTST pinning, <=1mo is preferable. --# --# On Windows, the timestamp is also written in the PE/COFF file header of --# executables of dlls. That timestamp and the executable's file size are --# the only two pieces of information that identify a given executable on --# the symbol server, so rarely changing timestamps can cause conflicts there --# as well. We only upload symbols for official builds to the symbol server. -- - from __future__ import print_function -- --import argparse --import calendar -+import time - import datetime --import doctest --import os - import sys - -- --THIS_DIR = os.path.abspath(os.path.dirname(__file__)) -- -- --def GetFirstSundayOfMonth(year, month): -- """Returns the first sunday of the given month of the given year. -- -- >>> GetFirstSundayOfMonth(2016, 2) -- 7 -- >>> GetFirstSundayOfMonth(2016, 3) -- 6 -- >>> GetFirstSundayOfMonth(2000, 1) -- 2 -- """ -- weeks = calendar.Calendar().monthdays2calendar(year, month) -- # Return the first day in the first week that is a Sunday. -- return [date_day[0] for date_day in weeks[0] if date_day[1] == 6][0] -- -- --def GetUnofficialBuildDate(build_date): -- """Gets the approximate build date given the specific build type. -- -- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 6, 1, 2, 3)) -- datetime.datetime(2016, 1, 3, 5, 0) -- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 7, 5)) -- datetime.datetime(2016, 2, 7, 5, 0) -- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 8, 5)) -- datetime.datetime(2016, 2, 7, 5, 0) -- """ -- -- if build_date.hour < 5: -- # The time is locked at 5:00 am in UTC to cause the build cache -- # invalidation to not happen exactly at midnight. Use the same calculation -- # as the day before. -- # See //base/build_time.cc. -- build_date = build_date - datetime.timedelta(days=1) -- build_date = datetime.datetime(build_date.year, build_date.month, -- build_date.day, 5, 0, 0) -- -- day = build_date.day -- month = build_date.month -- year = build_date.year -- first_sunday = GetFirstSundayOfMonth(year, month) -- # If our build is after the first Sunday, we've already refreshed our build -- # cache on a quiet day, so just use that day. -- # Otherwise, take the first Sunday of the previous month. -- if day >= first_sunday: -- day = first_sunday -- else: -- month -= 1 -- if month == 0: -- month = 12 -- year -= 1 -- day = GetFirstSundayOfMonth(year, month) -- return datetime.datetime( -- year, month, day, build_date.hour, build_date.minute, build_date.second) -- -- - def main(): -- if doctest.testmod()[0]: -- return 1 -- argument_parser = argparse.ArgumentParser() -- argument_parser.add_argument( -- 'build_type', help='The type of build', choices=('official', 'default')) -- args = argument_parser.parse_args() -- -- # The mtime of the revision in build/util/LASTCHANGE is stored in a file -- # next to it. Read it, to get a deterministic time close to "now". -- # That date is then modified as described at the top of the file so that -- # it changes less frequently than with every commit. -- # This intentionally always uses build/util/LASTCHANGE's commit time even if -- # use_dummy_lastchange is set. -- lastchange_file = os.path.join(THIS_DIR, 'util', 'LASTCHANGE.committime') -- last_commit_timestamp = int(open(lastchange_file).read()) -- build_date = datetime.datetime.utcfromtimestamp(last_commit_timestamp) -- -- # For official builds we want full fidelity time stamps because official -- # builds are typically added to symbol servers and Windows symbol servers -- # use the link timestamp as the prime differentiator, but for unofficial -- # builds we do lots of quantization to avoid churn. -- offset = 0 -- if args.build_type == 'official': -- if os.name == 'nt': -- version_path = os.path.join(THIS_DIR, os.pardir, 'chrome', 'VERSION') -- with open(version_path) as f: -- patch_line = f.readlines()[3].strip() -- # Use the patch number as an offset to the build date so that multiple -- # versions with different patch numbers built from the same source code -- # will get different build_date values. This is critical for Windows -- # symbol servers, to avoid collisions. -- assert patch_line.startswith('PATCH=') -- offset = int(patch_line[6:]) -- else: -- build_date = GetUnofficialBuildDate(build_date) -- print(offset + int(calendar.timegm(build_date.utctimetuple()))) -- return 0 -- -+ # All this to get a POSIX timestamp integer -+ print(int(time.mktime(datetime.datetime.now().timetuple()))) -+ return 0 - - if __name__ == '__main__': - sys.exit(main()) diff --git a/patches/chromium/126.0.6478.126/README.md b/patches/chromium/126.0.6478.126/README.md index 8f2abe39..e69de29b 100644 --- a/patches/chromium/126.0.6478.126/README.md +++ b/patches/chromium/126.0.6478.126/README.md @@ -1,3 +0,0 @@ -# build/compute_build_timestamp.py - -Google has a complex way to embed a timestamp into all of their source files and libraries. It has to do with cache optimization and symbol lookup for proprietary servers they have. It didn't work in 2024 and their most recent build (which we can't use yet) doesn't even have this file. But I just replace the file with a simple timestamp since that's suitable for Kaleido's purposes. diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh index 31ac3898..1fdfb023 100755 --- a/toolchain/src/04-patch_chromium.sh +++ b/toolchain/src/04-patch_chromium.sh @@ -27,7 +27,7 @@ $NO_VERBOSE || echo "Running 04-patch_chromium" PATCH_DIR="$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" if [ -d "$PATCH_DIR" ]; then - git -C $MAIN_DIR/vendor/src/ apply *.patch + git -C $MAIN_DIR/vendor/src/ apply $PATCH_DIR/*.patch else mkdir -p "$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" $NO_VERBOSE || echo "No patches found for $CHROMIUM_VERSION_TAG, creating directory." From fd53884e919155507ab3bbd2d09ad5d1f0e98366 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 02:23:16 -0400 Subject: [PATCH 108/510] Update README.md --- toolchain/src/xx-all.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 60773345..188f1f98 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -20,12 +20,12 @@ usage=( "Or, you can skip the number and everything will be passed to every command." "So, it really only works with --verbose." "" - "-0: set_version" - "-1: fetch_tools" - "-2: init_tools" - "-3: ksync" - "-4: patch_chromium" - "-5:" + "-0: set_version - just sets some env vars for versions" + "-1: fetch_tools - clones depot_tools" + "-2: init_tools - runs whatever depot_tools downloads it wants" + "-3: ksync - downloads chromium" + "-4: patch_chromium - patches chromium w/ our patches" + "-5: gen_preamble - copies readme, licenses, etc" "-6:" "-7:" "-8:" From 5551fccd4492a4ba207973ac4de632977b8464a4 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 02:25:02 -0400 Subject: [PATCH 109/510] Update gitignore to reflect directory changes --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6e837c5c..d1c2950d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ repos/CREDITS.html -repos/src +vendor/src vendor/depot_tools *.DS_Store *.kate-swp From c8f2e1083c51972cdb0b97e7bf8f02d11eb9e39e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 02:26:26 -0400 Subject: [PATCH 110/510] Move kaleido from repos/ to src/ --- {repos => src}/kaleido/README-CC.md | 0 {repos => src}/kaleido/cc-1.5/kaleido.cc | 0 {repos => src}/kaleido/cc-1.5/kaleido.h | 0 {repos => src}/kaleido/cc-1.5/scopes/Base.h | 0 {repos => src}/kaleido/cc-1.5/scopes/Factory.h | 0 {repos => src}/kaleido/cc-1.5/scopes/Plotly.h | 0 {repos => src}/kaleido/cc-1.5/utils.h | 0 {repos => src}/kaleido/cc/kaleido.cc | 0 {repos => src}/kaleido/cc/kaleido.h | 0 {repos => src}/kaleido/cc/scopes/Base.h | 0 {repos => src}/kaleido/cc/scopes/Factory.h | 0 {repos => src}/kaleido/cc/scopes/Plotly.h | 0 {repos => src}/kaleido/cc/utils.h | 0 {repos => src}/kaleido/js/package-lock.json | 0 {repos => src}/kaleido/js/package.json | 0 {repos => src}/kaleido/js/src/index.js | 0 {repos => src}/kaleido/js/src/plotly/constants.js | 0 .../kaleido/js/src/plotly/is-non-empty-string.js | 0 .../kaleido/js/src/plotly/is-positive-numeric.js | 0 {repos => src}/kaleido/js/src/plotly/parse.js | 0 {repos => src}/kaleido/js/src/plotly/render.js | 0 {repos => src}/kaleido/py/kaleido/__init__.py | 0 .../kaleido/py/kaleido/scopes/__init__.py | 0 {repos => src}/kaleido/py/kaleido/scopes/base.py | 0 {repos => src}/kaleido/py/kaleido/scopes/plotly.py | 0 {repos => src}/kaleido/py/setup.cfg | 0 {repos => src}/kaleido/py/setup.py | 0 {repos => src}/kaleido/tests/test_py/__init__.py | 0 .../test_py/baselines/plotly/failed/mathjax.eps | 0 .../test_py/baselines/plotly/failed/mathjax.jpeg | Bin .../test_py/baselines/plotly/failed/mathjax.png | Bin .../test_py/baselines/plotly/failed/mathjax.webp | Bin .../test_py/baselines/plotly/failed/simple.eps | 0 .../test_py/baselines/plotly/failed/simple.jpeg | Bin .../test_py/baselines/plotly/failed/simple.png | Bin .../test_py/baselines/plotly/failed/simple.webp | Bin .../test_py/baselines/plotly/failed/topojson.eps | 0 .../test_py/baselines/plotly/failed/topojson.jpeg | Bin .../test_py/baselines/plotly/failed/topojson.png | Bin .../test_py/baselines/plotly/failed/topojson.webp | Bin .../tests/test_py/baselines/plotly/failed/webgl.eps | 0 .../test_py/baselines/plotly/failed/webgl.jpeg | Bin .../tests/test_py/baselines/plotly/failed/webgl.png | Bin .../test_py/baselines/plotly/failed/webgl.webp | Bin .../tests/test_py/baselines/plotly/mapbox.eps | 0 .../tests/test_py/baselines/plotly/mapbox.jpeg | Bin .../tests/test_py/baselines/plotly/mapbox.pdf | Bin .../tests/test_py/baselines/plotly/mapbox.png | Bin .../tests/test_py/baselines/plotly/mapbox.svg | 0 .../tests/test_py/baselines/plotly/mapbox.webp | Bin .../tests/test_py/baselines/plotly/mathjax.eps | 0 .../tests/test_py/baselines/plotly/mathjax.jpeg | Bin .../tests/test_py/baselines/plotly/mathjax.pdf | Bin .../tests/test_py/baselines/plotly/mathjax.png | Bin .../tests/test_py/baselines/plotly/mathjax.svg | 0 .../tests/test_py/baselines/plotly/mathjax.webp | Bin .../tests/test_py/baselines/plotly/simple.eps | 0 .../tests/test_py/baselines/plotly/simple.jpeg | Bin .../tests/test_py/baselines/plotly/simple.pdf | Bin .../tests/test_py/baselines/plotly/simple.png | Bin .../tests/test_py/baselines/plotly/simple.svg | 0 .../tests/test_py/baselines/plotly/simple.webp | Bin .../tests/test_py/baselines/plotly/topojson.eps | 0 .../tests/test_py/baselines/plotly/topojson.jpeg | Bin .../tests/test_py/baselines/plotly/topojson.pdf | Bin .../tests/test_py/baselines/plotly/topojson.png | Bin .../tests/test_py/baselines/plotly/topojson.svg | 0 .../tests/test_py/baselines/plotly/topojson.webp | Bin .../tests/test_py/baselines/plotly/webgl.eps | 0 .../tests/test_py/baselines/plotly/webgl.jpeg | Bin .../tests/test_py/baselines/plotly/webgl.pdf | Bin .../tests/test_py/baselines/plotly/webgl.png | Bin .../tests/test_py/baselines/plotly/webgl.svg | 0 .../tests/test_py/baselines/plotly/webgl.webp | Bin .../kaleido/tests/test_py/test_plotly/__init__.py | 0 .../kaleido/tests/test_py/test_plotly/fixtures.py | 0 .../test_py/test_plotly/resources/plotly.min.js | 0 .../tests/test_py/test_plotly/test_plotly.py | 0 78 files changed, 0 insertions(+), 0 deletions(-) rename {repos => src}/kaleido/README-CC.md (100%) rename {repos => src}/kaleido/cc-1.5/kaleido.cc (100%) rename {repos => src}/kaleido/cc-1.5/kaleido.h (100%) rename {repos => src}/kaleido/cc-1.5/scopes/Base.h (100%) rename {repos => src}/kaleido/cc-1.5/scopes/Factory.h (100%) rename {repos => src}/kaleido/cc-1.5/scopes/Plotly.h (100%) rename {repos => src}/kaleido/cc-1.5/utils.h (100%) rename {repos => src}/kaleido/cc/kaleido.cc (100%) rename {repos => src}/kaleido/cc/kaleido.h (100%) rename {repos => src}/kaleido/cc/scopes/Base.h (100%) rename {repos => src}/kaleido/cc/scopes/Factory.h (100%) rename {repos => src}/kaleido/cc/scopes/Plotly.h (100%) rename {repos => src}/kaleido/cc/utils.h (100%) rename {repos => src}/kaleido/js/package-lock.json (100%) rename {repos => src}/kaleido/js/package.json (100%) rename {repos => src}/kaleido/js/src/index.js (100%) rename {repos => src}/kaleido/js/src/plotly/constants.js (100%) rename {repos => src}/kaleido/js/src/plotly/is-non-empty-string.js (100%) rename {repos => src}/kaleido/js/src/plotly/is-positive-numeric.js (100%) rename {repos => src}/kaleido/js/src/plotly/parse.js (100%) rename {repos => src}/kaleido/js/src/plotly/render.js (100%) rename {repos => src}/kaleido/py/kaleido/__init__.py (100%) rename {repos => src}/kaleido/py/kaleido/scopes/__init__.py (100%) rename {repos => src}/kaleido/py/kaleido/scopes/base.py (100%) rename {repos => src}/kaleido/py/kaleido/scopes/plotly.py (100%) rename {repos => src}/kaleido/py/setup.cfg (100%) rename {repos => src}/kaleido/py/setup.py (100%) rename {repos => src}/kaleido/tests/test_py/__init__.py (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/mathjax.eps (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/mathjax.jpeg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/mathjax.png (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/mathjax.webp (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/simple.eps (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/simple.jpeg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/simple.png (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/simple.webp (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/topojson.eps (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/topojson.jpeg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/topojson.png (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/topojson.webp (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/webgl.eps (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/webgl.jpeg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/webgl.png (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/failed/webgl.webp (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mapbox.eps (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mapbox.jpeg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mapbox.pdf (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mapbox.png (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mapbox.svg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mapbox.webp (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mathjax.eps (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mathjax.jpeg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mathjax.pdf (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mathjax.png (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mathjax.svg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/mathjax.webp (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/simple.eps (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/simple.jpeg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/simple.pdf (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/simple.png (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/simple.svg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/simple.webp (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/topojson.eps (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/topojson.jpeg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/topojson.pdf (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/topojson.png (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/topojson.svg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/topojson.webp (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/webgl.eps (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/webgl.jpeg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/webgl.pdf (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/webgl.png (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/webgl.svg (100%) rename {repos => src}/kaleido/tests/test_py/baselines/plotly/webgl.webp (100%) rename {repos => src}/kaleido/tests/test_py/test_plotly/__init__.py (100%) rename {repos => src}/kaleido/tests/test_py/test_plotly/fixtures.py (100%) rename {repos => src}/kaleido/tests/test_py/test_plotly/resources/plotly.min.js (100%) rename {repos => src}/kaleido/tests/test_py/test_plotly/test_plotly.py (100%) diff --git a/repos/kaleido/README-CC.md b/src/kaleido/README-CC.md similarity index 100% rename from repos/kaleido/README-CC.md rename to src/kaleido/README-CC.md diff --git a/repos/kaleido/cc-1.5/kaleido.cc b/src/kaleido/cc-1.5/kaleido.cc similarity index 100% rename from repos/kaleido/cc-1.5/kaleido.cc rename to src/kaleido/cc-1.5/kaleido.cc diff --git a/repos/kaleido/cc-1.5/kaleido.h b/src/kaleido/cc-1.5/kaleido.h similarity index 100% rename from repos/kaleido/cc-1.5/kaleido.h rename to src/kaleido/cc-1.5/kaleido.h diff --git a/repos/kaleido/cc-1.5/scopes/Base.h b/src/kaleido/cc-1.5/scopes/Base.h similarity index 100% rename from repos/kaleido/cc-1.5/scopes/Base.h rename to src/kaleido/cc-1.5/scopes/Base.h diff --git a/repos/kaleido/cc-1.5/scopes/Factory.h b/src/kaleido/cc-1.5/scopes/Factory.h similarity index 100% rename from repos/kaleido/cc-1.5/scopes/Factory.h rename to src/kaleido/cc-1.5/scopes/Factory.h diff --git a/repos/kaleido/cc-1.5/scopes/Plotly.h b/src/kaleido/cc-1.5/scopes/Plotly.h similarity index 100% rename from repos/kaleido/cc-1.5/scopes/Plotly.h rename to src/kaleido/cc-1.5/scopes/Plotly.h diff --git a/repos/kaleido/cc-1.5/utils.h b/src/kaleido/cc-1.5/utils.h similarity index 100% rename from repos/kaleido/cc-1.5/utils.h rename to src/kaleido/cc-1.5/utils.h diff --git a/repos/kaleido/cc/kaleido.cc b/src/kaleido/cc/kaleido.cc similarity index 100% rename from repos/kaleido/cc/kaleido.cc rename to src/kaleido/cc/kaleido.cc diff --git a/repos/kaleido/cc/kaleido.h b/src/kaleido/cc/kaleido.h similarity index 100% rename from repos/kaleido/cc/kaleido.h rename to src/kaleido/cc/kaleido.h diff --git a/repos/kaleido/cc/scopes/Base.h b/src/kaleido/cc/scopes/Base.h similarity index 100% rename from repos/kaleido/cc/scopes/Base.h rename to src/kaleido/cc/scopes/Base.h diff --git a/repos/kaleido/cc/scopes/Factory.h b/src/kaleido/cc/scopes/Factory.h similarity index 100% rename from repos/kaleido/cc/scopes/Factory.h rename to src/kaleido/cc/scopes/Factory.h diff --git a/repos/kaleido/cc/scopes/Plotly.h b/src/kaleido/cc/scopes/Plotly.h similarity index 100% rename from repos/kaleido/cc/scopes/Plotly.h rename to src/kaleido/cc/scopes/Plotly.h diff --git a/repos/kaleido/cc/utils.h b/src/kaleido/cc/utils.h similarity index 100% rename from repos/kaleido/cc/utils.h rename to src/kaleido/cc/utils.h diff --git a/repos/kaleido/js/package-lock.json b/src/kaleido/js/package-lock.json similarity index 100% rename from repos/kaleido/js/package-lock.json rename to src/kaleido/js/package-lock.json diff --git a/repos/kaleido/js/package.json b/src/kaleido/js/package.json similarity index 100% rename from repos/kaleido/js/package.json rename to src/kaleido/js/package.json diff --git a/repos/kaleido/js/src/index.js b/src/kaleido/js/src/index.js similarity index 100% rename from repos/kaleido/js/src/index.js rename to src/kaleido/js/src/index.js diff --git a/repos/kaleido/js/src/plotly/constants.js b/src/kaleido/js/src/plotly/constants.js similarity index 100% rename from repos/kaleido/js/src/plotly/constants.js rename to src/kaleido/js/src/plotly/constants.js diff --git a/repos/kaleido/js/src/plotly/is-non-empty-string.js b/src/kaleido/js/src/plotly/is-non-empty-string.js similarity index 100% rename from repos/kaleido/js/src/plotly/is-non-empty-string.js rename to src/kaleido/js/src/plotly/is-non-empty-string.js diff --git a/repos/kaleido/js/src/plotly/is-positive-numeric.js b/src/kaleido/js/src/plotly/is-positive-numeric.js similarity index 100% rename from repos/kaleido/js/src/plotly/is-positive-numeric.js rename to src/kaleido/js/src/plotly/is-positive-numeric.js diff --git a/repos/kaleido/js/src/plotly/parse.js b/src/kaleido/js/src/plotly/parse.js similarity index 100% rename from repos/kaleido/js/src/plotly/parse.js rename to src/kaleido/js/src/plotly/parse.js diff --git a/repos/kaleido/js/src/plotly/render.js b/src/kaleido/js/src/plotly/render.js similarity index 100% rename from repos/kaleido/js/src/plotly/render.js rename to src/kaleido/js/src/plotly/render.js diff --git a/repos/kaleido/py/kaleido/__init__.py b/src/kaleido/py/kaleido/__init__.py similarity index 100% rename from repos/kaleido/py/kaleido/__init__.py rename to src/kaleido/py/kaleido/__init__.py diff --git a/repos/kaleido/py/kaleido/scopes/__init__.py b/src/kaleido/py/kaleido/scopes/__init__.py similarity index 100% rename from repos/kaleido/py/kaleido/scopes/__init__.py rename to src/kaleido/py/kaleido/scopes/__init__.py diff --git a/repos/kaleido/py/kaleido/scopes/base.py b/src/kaleido/py/kaleido/scopes/base.py similarity index 100% rename from repos/kaleido/py/kaleido/scopes/base.py rename to src/kaleido/py/kaleido/scopes/base.py diff --git a/repos/kaleido/py/kaleido/scopes/plotly.py b/src/kaleido/py/kaleido/scopes/plotly.py similarity index 100% rename from repos/kaleido/py/kaleido/scopes/plotly.py rename to src/kaleido/py/kaleido/scopes/plotly.py diff --git a/repos/kaleido/py/setup.cfg b/src/kaleido/py/setup.cfg similarity index 100% rename from repos/kaleido/py/setup.cfg rename to src/kaleido/py/setup.cfg diff --git a/repos/kaleido/py/setup.py b/src/kaleido/py/setup.py similarity index 100% rename from repos/kaleido/py/setup.py rename to src/kaleido/py/setup.py diff --git a/repos/kaleido/tests/test_py/__init__.py b/src/kaleido/tests/test_py/__init__.py similarity index 100% rename from repos/kaleido/tests/test_py/__init__.py rename to src/kaleido/tests/test_py/__init__.py diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/mathjax.eps b/src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.eps similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/mathjax.eps rename to src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.eps diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/mathjax.jpeg b/src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.jpeg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/mathjax.jpeg rename to src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.jpeg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/mathjax.png b/src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.png similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/mathjax.png rename to src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.png diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/mathjax.webp b/src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.webp similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/mathjax.webp rename to src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.webp diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/simple.eps b/src/kaleido/tests/test_py/baselines/plotly/failed/simple.eps similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/simple.eps rename to src/kaleido/tests/test_py/baselines/plotly/failed/simple.eps diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/simple.jpeg b/src/kaleido/tests/test_py/baselines/plotly/failed/simple.jpeg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/simple.jpeg rename to src/kaleido/tests/test_py/baselines/plotly/failed/simple.jpeg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/simple.png b/src/kaleido/tests/test_py/baselines/plotly/failed/simple.png similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/simple.png rename to src/kaleido/tests/test_py/baselines/plotly/failed/simple.png diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/simple.webp b/src/kaleido/tests/test_py/baselines/plotly/failed/simple.webp similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/simple.webp rename to src/kaleido/tests/test_py/baselines/plotly/failed/simple.webp diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/topojson.eps b/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.eps similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/topojson.eps rename to src/kaleido/tests/test_py/baselines/plotly/failed/topojson.eps diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/topojson.jpeg b/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.jpeg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/topojson.jpeg rename to src/kaleido/tests/test_py/baselines/plotly/failed/topojson.jpeg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/topojson.png b/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.png similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/topojson.png rename to src/kaleido/tests/test_py/baselines/plotly/failed/topojson.png diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/topojson.webp b/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.webp similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/topojson.webp rename to src/kaleido/tests/test_py/baselines/plotly/failed/topojson.webp diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/webgl.eps b/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.eps similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/webgl.eps rename to src/kaleido/tests/test_py/baselines/plotly/failed/webgl.eps diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/webgl.jpeg b/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.jpeg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/webgl.jpeg rename to src/kaleido/tests/test_py/baselines/plotly/failed/webgl.jpeg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/webgl.png b/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.png similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/webgl.png rename to src/kaleido/tests/test_py/baselines/plotly/failed/webgl.png diff --git a/repos/kaleido/tests/test_py/baselines/plotly/failed/webgl.webp b/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.webp similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/failed/webgl.webp rename to src/kaleido/tests/test_py/baselines/plotly/failed/webgl.webp diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mapbox.eps b/src/kaleido/tests/test_py/baselines/plotly/mapbox.eps similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mapbox.eps rename to src/kaleido/tests/test_py/baselines/plotly/mapbox.eps diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mapbox.jpeg b/src/kaleido/tests/test_py/baselines/plotly/mapbox.jpeg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mapbox.jpeg rename to src/kaleido/tests/test_py/baselines/plotly/mapbox.jpeg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mapbox.pdf b/src/kaleido/tests/test_py/baselines/plotly/mapbox.pdf similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mapbox.pdf rename to src/kaleido/tests/test_py/baselines/plotly/mapbox.pdf diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mapbox.png b/src/kaleido/tests/test_py/baselines/plotly/mapbox.png similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mapbox.png rename to src/kaleido/tests/test_py/baselines/plotly/mapbox.png diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mapbox.svg b/src/kaleido/tests/test_py/baselines/plotly/mapbox.svg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mapbox.svg rename to src/kaleido/tests/test_py/baselines/plotly/mapbox.svg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mapbox.webp b/src/kaleido/tests/test_py/baselines/plotly/mapbox.webp similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mapbox.webp rename to src/kaleido/tests/test_py/baselines/plotly/mapbox.webp diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mathjax.eps b/src/kaleido/tests/test_py/baselines/plotly/mathjax.eps similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mathjax.eps rename to src/kaleido/tests/test_py/baselines/plotly/mathjax.eps diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mathjax.jpeg b/src/kaleido/tests/test_py/baselines/plotly/mathjax.jpeg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mathjax.jpeg rename to src/kaleido/tests/test_py/baselines/plotly/mathjax.jpeg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mathjax.pdf b/src/kaleido/tests/test_py/baselines/plotly/mathjax.pdf similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mathjax.pdf rename to src/kaleido/tests/test_py/baselines/plotly/mathjax.pdf diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mathjax.png b/src/kaleido/tests/test_py/baselines/plotly/mathjax.png similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mathjax.png rename to src/kaleido/tests/test_py/baselines/plotly/mathjax.png diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mathjax.svg b/src/kaleido/tests/test_py/baselines/plotly/mathjax.svg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mathjax.svg rename to src/kaleido/tests/test_py/baselines/plotly/mathjax.svg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/mathjax.webp b/src/kaleido/tests/test_py/baselines/plotly/mathjax.webp similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/mathjax.webp rename to src/kaleido/tests/test_py/baselines/plotly/mathjax.webp diff --git a/repos/kaleido/tests/test_py/baselines/plotly/simple.eps b/src/kaleido/tests/test_py/baselines/plotly/simple.eps similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/simple.eps rename to src/kaleido/tests/test_py/baselines/plotly/simple.eps diff --git a/repos/kaleido/tests/test_py/baselines/plotly/simple.jpeg b/src/kaleido/tests/test_py/baselines/plotly/simple.jpeg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/simple.jpeg rename to src/kaleido/tests/test_py/baselines/plotly/simple.jpeg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/simple.pdf b/src/kaleido/tests/test_py/baselines/plotly/simple.pdf similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/simple.pdf rename to src/kaleido/tests/test_py/baselines/plotly/simple.pdf diff --git a/repos/kaleido/tests/test_py/baselines/plotly/simple.png b/src/kaleido/tests/test_py/baselines/plotly/simple.png similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/simple.png rename to src/kaleido/tests/test_py/baselines/plotly/simple.png diff --git a/repos/kaleido/tests/test_py/baselines/plotly/simple.svg b/src/kaleido/tests/test_py/baselines/plotly/simple.svg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/simple.svg rename to src/kaleido/tests/test_py/baselines/plotly/simple.svg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/simple.webp b/src/kaleido/tests/test_py/baselines/plotly/simple.webp similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/simple.webp rename to src/kaleido/tests/test_py/baselines/plotly/simple.webp diff --git a/repos/kaleido/tests/test_py/baselines/plotly/topojson.eps b/src/kaleido/tests/test_py/baselines/plotly/topojson.eps similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/topojson.eps rename to src/kaleido/tests/test_py/baselines/plotly/topojson.eps diff --git a/repos/kaleido/tests/test_py/baselines/plotly/topojson.jpeg b/src/kaleido/tests/test_py/baselines/plotly/topojson.jpeg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/topojson.jpeg rename to src/kaleido/tests/test_py/baselines/plotly/topojson.jpeg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/topojson.pdf b/src/kaleido/tests/test_py/baselines/plotly/topojson.pdf similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/topojson.pdf rename to src/kaleido/tests/test_py/baselines/plotly/topojson.pdf diff --git a/repos/kaleido/tests/test_py/baselines/plotly/topojson.png b/src/kaleido/tests/test_py/baselines/plotly/topojson.png similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/topojson.png rename to src/kaleido/tests/test_py/baselines/plotly/topojson.png diff --git a/repos/kaleido/tests/test_py/baselines/plotly/topojson.svg b/src/kaleido/tests/test_py/baselines/plotly/topojson.svg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/topojson.svg rename to src/kaleido/tests/test_py/baselines/plotly/topojson.svg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/topojson.webp b/src/kaleido/tests/test_py/baselines/plotly/topojson.webp similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/topojson.webp rename to src/kaleido/tests/test_py/baselines/plotly/topojson.webp diff --git a/repos/kaleido/tests/test_py/baselines/plotly/webgl.eps b/src/kaleido/tests/test_py/baselines/plotly/webgl.eps similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/webgl.eps rename to src/kaleido/tests/test_py/baselines/plotly/webgl.eps diff --git a/repos/kaleido/tests/test_py/baselines/plotly/webgl.jpeg b/src/kaleido/tests/test_py/baselines/plotly/webgl.jpeg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/webgl.jpeg rename to src/kaleido/tests/test_py/baselines/plotly/webgl.jpeg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/webgl.pdf b/src/kaleido/tests/test_py/baselines/plotly/webgl.pdf similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/webgl.pdf rename to src/kaleido/tests/test_py/baselines/plotly/webgl.pdf diff --git a/repos/kaleido/tests/test_py/baselines/plotly/webgl.png b/src/kaleido/tests/test_py/baselines/plotly/webgl.png similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/webgl.png rename to src/kaleido/tests/test_py/baselines/plotly/webgl.png diff --git a/repos/kaleido/tests/test_py/baselines/plotly/webgl.svg b/src/kaleido/tests/test_py/baselines/plotly/webgl.svg similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/webgl.svg rename to src/kaleido/tests/test_py/baselines/plotly/webgl.svg diff --git a/repos/kaleido/tests/test_py/baselines/plotly/webgl.webp b/src/kaleido/tests/test_py/baselines/plotly/webgl.webp similarity index 100% rename from repos/kaleido/tests/test_py/baselines/plotly/webgl.webp rename to src/kaleido/tests/test_py/baselines/plotly/webgl.webp diff --git a/repos/kaleido/tests/test_py/test_plotly/__init__.py b/src/kaleido/tests/test_py/test_plotly/__init__.py similarity index 100% rename from repos/kaleido/tests/test_py/test_plotly/__init__.py rename to src/kaleido/tests/test_py/test_plotly/__init__.py diff --git a/repos/kaleido/tests/test_py/test_plotly/fixtures.py b/src/kaleido/tests/test_py/test_plotly/fixtures.py similarity index 100% rename from repos/kaleido/tests/test_py/test_plotly/fixtures.py rename to src/kaleido/tests/test_py/test_plotly/fixtures.py diff --git a/repos/kaleido/tests/test_py/test_plotly/resources/plotly.min.js b/src/kaleido/tests/test_py/test_plotly/resources/plotly.min.js similarity index 100% rename from repos/kaleido/tests/test_py/test_plotly/resources/plotly.min.js rename to src/kaleido/tests/test_py/test_plotly/resources/plotly.min.js diff --git a/repos/kaleido/tests/test_py/test_plotly/test_plotly.py b/src/kaleido/tests/test_py/test_plotly/test_plotly.py similarity index 100% rename from repos/kaleido/tests/test_py/test_plotly/test_plotly.py rename to src/kaleido/tests/test_py/test_plotly/test_plotly.py From aa3d1871a39f1f34094a268fb3707109431d1242 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 02:28:37 -0400 Subject: [PATCH 111/510] Fix slash direction --- toolchain/src/05-gen_preamble.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/05-gen_preamble.sh b/toolchain/src/05-gen_preamble.sh index 28d2b734..791a2629 100755 --- a/toolchain/src/05-gen_preamble.sh +++ b/toolchain/src/05-gen_preamble.sh @@ -26,7 +26,7 @@ util_get_version util_export_version # old versions may not work with python3, so do || python -python3 $MAIN_DIR\vendor\src\tools\licenses\licenses.py credits > $MAIN_DIR\CREDITS.html || python $MAIN_DIR\vendor\src\tools\licenses\licenses.py credits > $MAIN_DIR\CREDITS.html +python3 $MAIN_DIR/vendor/src/tools/licenses/licenses.py credits > $MAIN_DIR/CREDITS.html || python $MAIN_DIR/vendor/src/tools/licenses/licenses.py credits > $MAIN_DIR/CREDITS.html cp $MAIN_DIR\README.md $MAIN_DIR/src/kaleido/ cp $MAIN_DIR\LICENSE.txt $MAIN_DIR/src/kaleido/ From f6f721a63983561ef519f9c9d835c0b0160a582f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 02:30:12 -0400 Subject: [PATCH 112/510] Fix slash direction2 --- toolchain/src/05-gen_preamble.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/toolchain/src/05-gen_preamble.sh b/toolchain/src/05-gen_preamble.sh index 791a2629..7670b700 100755 --- a/toolchain/src/05-gen_preamble.sh +++ b/toolchain/src/05-gen_preamble.sh @@ -28,7 +28,7 @@ util_export_version # old versions may not work with python3, so do || python python3 $MAIN_DIR/vendor/src/tools/licenses/licenses.py credits > $MAIN_DIR/CREDITS.html || python $MAIN_DIR/vendor/src/tools/licenses/licenses.py credits > $MAIN_DIR/CREDITS.html -cp $MAIN_DIR\README.md $MAIN_DIR/src/kaleido/ -cp $MAIN_DIR\LICENSE.txt $MAIN_DIR/src/kaleido/ -cp $MAIN_DIR\CREDITS.html $MAIN_DIR/src/kaleido/ +cp $MAIN_DIR/README.md $MAIN_DIR/src/kaleido/ +cp $MAIN_DIR/LICENSE.txt $MAIN_DIR/src/kaleido/ +cp $MAIN_DIR/CREDITS.html $MAIN_DIR/src/kaleido/ From d3106916ad535f170ee1fd2446298eebbe33a9b4 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 11:15:00 -0400 Subject: [PATCH 113/510] Reorg gitignore --- .gitignore | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index d1c2950d..f7ba6bad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,16 @@ -repos/CREDITS.html +*.sw* +.set_version +bin +toolchain/tmp/ vendor/src vendor/depot_tools *.DS_Store *.kate-swp +*.pyc +*.egg-info/ +.idea/ + +repos/CREDITS.html repos/.cipd/ repos/.gclient_entries repos/.idea @@ -18,19 +26,12 @@ repos/kaleido/py/README.md repos/kaleido/py/tests/baselines/plotly/failed repos/kaleido/artifacts repos/kaleido/kaleido_artifacts*.zip -*.pyc win_toolchain/*.zip repos/kaleido/py/kaleido/executable repos/kaleido/py/kaleido/_version.py repos/kaleido/py/build/ repos/kaleido/py/dist/ -*.egg-info/ repos/kaleido/py/scratch/ -.idea/ repos/CREDITS.html repos/*.tar.gz -*.sw* -.set_version -bin -toolchain/tmp/ From e49687baa954f62bf5cac88dc0c470f9a73fb911 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 11:39:02 -0400 Subject: [PATCH 114/510] Add 06, append gn directives --- toolchain/gn_append.patch | 17 ++++++++++++++++ toolchain/src/04-patch_chromium.sh | 1 + toolchain/src/06-append_gn.sh | 32 ++++++++++++++++++++++++++++++ toolchain/src/xx-all.sh | 2 +- 4 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 toolchain/gn_append.patch create mode 100644 toolchain/src/06-append_gn.sh diff --git a/toolchain/gn_append.patch b/toolchain/gn_append.patch new file mode 100644 index 00000000..4e255e3c --- /dev/null +++ b/toolchain/gn_append.patch @@ -0,0 +1,17 @@ +diff --git a/headless/BUILD.gn b/headless/BUILD.gn +index 3792e09b13..29dd004e5c 100644 +--- a/headless/BUILD.gn ++++ b/headless/BUILD.gn +@@ -899,3 +899,12 @@ executable("headless_shell") { + "//build/config/compiler:wexit_time_destructors", + ] + } ++ ++executable("kaleido") { ++ sources = [ "app/kaleido.cc" ] ++ ++ deps = [ ++ ":headless_shell_lib", ++ "//skia", ++ ] ++} diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh index 1fdfb023..4d9e4d18 100755 --- a/toolchain/src/04-patch_chromium.sh +++ b/toolchain/src/04-patch_chromium.sh @@ -26,6 +26,7 @@ util_export_version $NO_VERBOSE || echo "Running 04-patch_chromium" PATCH_DIR="$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" + if [ -d "$PATCH_DIR" ]; then git -C $MAIN_DIR/vendor/src/ apply $PATCH_DIR/*.patch else diff --git a/toolchain/src/06-append_gn.sh b/toolchain/src/06-append_gn.sh new file mode 100644 index 00000000..b8dd194b --- /dev/null +++ b/toolchain/src/06-append_gn.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -e +set -u + +# TODO: add --check and --stat, and defaults + +usage=( + "append_gn will append a build directive to the headless gn configuration." + "we originally only do this in windows, I'm not sure why, and I believe the gn gen" + "line would do it automatically, so we should test remove it by trial and error." + "Furthermore, this patch will probably have to be adjust by version." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" +) +## PROCESS FLAGS + +FLAGS=() +ARGFLAGS=() + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +. "$SCRIPT_DIR/include/utilities.sh" + +$NO_VERBOSE || echo "Running 06-append_gn.sh" + +util_get_version +util_export_version + +PATCH="$MAIN_DIR/toolschain/gn_append.patch" + +git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" && exit 0 || true +git -C $MAIN_DIR/vendor/src apply "$PATCH" diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 188f1f98..55d56d37 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -26,7 +26,7 @@ usage=( "-3: ksync - downloads chromium" "-4: patch_chromium - patches chromium w/ our patches" "-5: gen_preamble - copies readme, licenses, etc" - "-6:" + "-6: append_gn - appends a build directive to gn" "-7:" "-8:" ) From 81f920d1b699e3469837585a7b4be61b3e01ab8f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 11:45:03 -0400 Subject: [PATCH 115/510] Add platform swtich to 06-append_gn --- toolchain/src/06-append_gn.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/toolchain/src/06-append_gn.sh b/toolchain/src/06-append_gn.sh index b8dd194b..2380c4a7 100644 --- a/toolchain/src/06-append_gn.sh +++ b/toolchain/src/06-append_gn.sh @@ -28,5 +28,8 @@ util_export_version PATCH="$MAIN_DIR/toolschain/gn_append.patch" -git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" && exit 0 || true -git -C $MAIN_DIR/vendor/src apply "$PATCH" +echo "THIS NEEDS TO BE INSPECTED. IS IT NECESSARY? WHY ONLY ON WINDOWS?" +if [[ "$PLATFORM" == "WINDOWS" ]]; then + git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" && exit 0 || true + git -C $MAIN_DIR/vendor/src apply "$PATCH" +fi From 2686b39cad7a1160fb166d66a1896c134bc29663 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 11:46:08 -0400 Subject: [PATCH 116/510] Remove old build system --- repos/CMakeLists.txt | 10 - repos/linux_scripts/Dockerfile | 60 ------ repos/linux_scripts/README.md | 44 ----- repos/linux_scripts/args_arm.gn | 9 - repos/linux_scripts/args_arm64.gn | 9 - repos/linux_scripts/args_x64.gn | 9 - repos/linux_scripts/build_kaleido | 22 --- repos/linux_scripts/build_kaleido_docker | 21 --- repos/linux_scripts/bundle_artifacts | 9 - repos/linux_scripts/bundle_artifacts_docker | 8 - repos/linux_scripts/checkout_revision_docker | 33 ---- repos/linux_scripts/fetch_chromium | 12 -- repos/linux_scripts/fetch_chromium_docker | 17 -- repos/linux_scripts/gclient | 10 - repos/linux_scripts/launch_script | 10 - repos/linux_scripts/minimal_launch_script | 6 - repos/linux_scripts/perform_kaleido_build | 101 ----------- repos/mac_scripts/README.md | 19 -- repos/mac_scripts/args_arm64.gn | 20 -- repos/mac_scripts/args_x64.gn | 20 -- repos/mac_scripts/build_blink | 33 ---- repos/mac_scripts/build_kaleido | 116 ------------ repos/mac_scripts/fetch_chromium | 32 ---- repos/vendor/Mathjax-2.7.5.zip | Bin 1931789 -> 0 bytes repos/version/build_pep440_version.py | 33 ---- repos/win_scripts/README.md | 59 ------ repos/win_scripts/args_x64.gn | 20 -- repos/win_scripts/args_x86.gn | 19 -- repos/win_scripts/build_kaleido.ps1 | 181 ------------------- repos/win_scripts/build_target.py | 8 - repos/win_scripts/fetch_chromium.ps1 | 123 ------------- repos/win_scripts/kaleido.cmd | 4 - 32 files changed, 1077 deletions(-) delete mode 100644 repos/CMakeLists.txt delete mode 100644 repos/linux_scripts/Dockerfile delete mode 100644 repos/linux_scripts/README.md delete mode 100644 repos/linux_scripts/args_arm.gn delete mode 100644 repos/linux_scripts/args_arm64.gn delete mode 100644 repos/linux_scripts/args_x64.gn delete mode 100755 repos/linux_scripts/build_kaleido delete mode 100755 repos/linux_scripts/build_kaleido_docker delete mode 100755 repos/linux_scripts/bundle_artifacts delete mode 100755 repos/linux_scripts/bundle_artifacts_docker delete mode 100755 repos/linux_scripts/checkout_revision_docker delete mode 100755 repos/linux_scripts/fetch_chromium delete mode 100755 repos/linux_scripts/fetch_chromium_docker delete mode 100644 repos/linux_scripts/gclient delete mode 100755 repos/linux_scripts/launch_script delete mode 100755 repos/linux_scripts/minimal_launch_script delete mode 100755 repos/linux_scripts/perform_kaleido_build delete mode 100644 repos/mac_scripts/README.md delete mode 100644 repos/mac_scripts/args_arm64.gn delete mode 100644 repos/mac_scripts/args_x64.gn delete mode 100755 repos/mac_scripts/build_blink delete mode 100755 repos/mac_scripts/build_kaleido delete mode 100755 repos/mac_scripts/fetch_chromium delete mode 100644 repos/vendor/Mathjax-2.7.5.zip delete mode 100644 repos/version/build_pep440_version.py delete mode 100644 repos/win_scripts/README.md delete mode 100644 repos/win_scripts/args_x64.gn delete mode 100644 repos/win_scripts/args_x86.gn delete mode 100644 repos/win_scripts/build_kaleido.ps1 delete mode 100644 repos/win_scripts/build_target.py delete mode 100644 repos/win_scripts/fetch_chromium.ps1 delete mode 100644 repos/win_scripts/kaleido.cmd diff --git a/repos/CMakeLists.txt b/repos/CMakeLists.txt deleted file mode 100644 index 4faf61ab..00000000 --- a/repos/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.16) -project(chromium) - -set(CMAKE_CXX_STANDARD 14) - -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/out/Kaleido_linux_x64/gen) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/kaleido/cc) - -add_executable(kaleido kaleido/cc/kaleido.cc kaleido/cc/kaleido.h kaleido/cc/scopes/Plotly.h kaleido/cc/scopes/Base.h) diff --git a/repos/linux_scripts/Dockerfile b/repos/linux_scripts/Dockerfile deleted file mode 100644 index 15f9d441..00000000 --- a/repos/linux_scripts/Dockerfile +++ /dev/null @@ -1,60 +0,0 @@ -# CLion remote docker environment (How to build docker container, run and stop it) -# -# Build and run: -# docker build -t jonmmease/chromium-builder:0.6 -f Dockerfile . - -FROM ubuntu:16.04 - -# Find stable chromium version tag from https://chromereleases.googleblog.com/search/label/Desktop%20Update -# Look up date of tag in GitHub at https://github.com/chromium/chromium/ -# Stable chrome version tag on 05/19/2020: 83.0.4103.61 - -# depot_tools commitlog: https://chromium.googlesource.com/chromium/tools/depot_tools/+log -# depot_tools commit hash from 05/19/2020: e67e41a -ENV DEPOT_TOOLS_COMMIT=e342fb1 CHROMIUM_TAG="88.0.4324.150" - -ENV DEPOT_TOOLS_UPDATE=0 - -# Reference: https://github.com/chromedp/docker-chromium-builder/blob/master/Dockerfile -RUN apt-get update - -RUN \ - apt-get update && apt-get install -y ssh git curl wget lsb-base lsb-release sudo python2.7 python3-pip - -RUN python3 -m pip install -U wheel setuptools - -# Add npm -RUN \ - curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - \ - && apt-get install -y nodejs - -# Set default Python to 2.7 for gclient -RUN \ - sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 10 \ - && python --version - -# Force gclient to use Python 2 -ENV GCLIENT_PY3=0 - -RUN \ - cd / \ - && git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git \ - && cd depot_tools \ - && git reset --hard $DEPOT_TOOLS_COMMIT - -# timezone config -RUN \ - echo Etc/UTC > /etc/timezone - -RUN \ - echo tzdata tzdata/Areas select Etc | debconf-set-selections - -RUN \ - echo tzdata tzdata/Zones/Etc UTC | debconf-set-selections - -ENV PATH=/depot_tools:$PATH - -RUN \ - curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_TAG/build/install-build-deps.sh?format=TEXT \ - | base64 -d > install-build-deps.sh && chmod +x ./install-build-deps.sh && \ - ./install-build-deps.sh --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt diff --git a/repos/linux_scripts/README.md b/repos/linux_scripts/README.md deleted file mode 100644 index 269e4a80..00000000 --- a/repos/linux_scripts/README.md +++ /dev/null @@ -1,44 +0,0 @@ -This is a stub with just some stuff copied and pasted from the legacy readme. - -------------------------- - -To update the version of Chromium in the future, the docker images will need to be updated. Follow the instructions for the `DEPOT_TOOLS_COMMIT` and `CHROMIUM_TAG` environment variables in `linux_scripts/Dockerfile`. - -Update `checkout_revision_docker`. - -## chromium-builder -The `chromium-builder` container mostly follows the instructions at https://chromium.googlesource.com/chromium/src/+/master/docs/linux/build_instructions.md to install `depot_tools` and run `install-build-deps.sh` to install the required build dependencies the appropriate stable version of Chromium. The image is based on ubuntu 16.04, which is the recommended OS for building Chromium on Linux. - -Build container with: - -``` -$ docker build -t jonmmease/chromium-builder:0.9 -f repos/linux_scripts/Dockerfile . -``` - -## Linux -The Linux build relies on the `jonmmease/chromium-builder` docker image, and the scripts in `repos/linux_scripts`, to download the chromium source to a local folder and then build it. -Download docker image -``` -$ docker pull jonmmease/chromium-builder:0.9 -``` - -Fetch the Chromium codebase and checkout the specific tag, then sync all dependencies - -``` -$ /repos/linux_scripts/fetch_chromium -``` - -Then build the `kaleido` application to `repos/build/kaleido`, and bundle shared libraries and fonts. The input source for this application is stored under `repos/kaleido/cc/`. The build step will also -create the Python wheel under `repos/kaleido/py/dist/` - -``` -$ /repos/linux_scripts/build_kaleido x64 -``` - -The above command will build Kaleido for the 64-bit Intel architecture. Kaleido can also be build for 64-bit ARM architecture with - -``` -$ /repos/linux_scripts/build_kaleido arm64 -``` - - diff --git a/repos/linux_scripts/args_arm.gn b/repos/linux_scripts/args_arm.gn deleted file mode 100644 index fe93b103..00000000 --- a/repos/linux_scripts/args_arm.gn +++ /dev/null @@ -1,9 +0,0 @@ -import("//build/args/headless.gn") -enable_nacl=false -is_component_build=false - -symbol_level=0 -blink_symbol_level=0 -is_debug=false - -target_cpu="arm" diff --git a/repos/linux_scripts/args_arm64.gn b/repos/linux_scripts/args_arm64.gn deleted file mode 100644 index 8e5784da..00000000 --- a/repos/linux_scripts/args_arm64.gn +++ /dev/null @@ -1,9 +0,0 @@ -import("//build/args/headless.gn") -enable_nacl=false -is_component_build=false - -symbol_level=0 -blink_symbol_level=0 -is_debug=false - -target_cpu="arm64" \ No newline at end of file diff --git a/repos/linux_scripts/args_x64.gn b/repos/linux_scripts/args_x64.gn deleted file mode 100644 index 5474bbeb..00000000 --- a/repos/linux_scripts/args_x64.gn +++ /dev/null @@ -1,9 +0,0 @@ -import("//build/args/headless.gn") -enable_nacl=false -is_component_build=false - -symbol_level=0 -blink_symbol_level=0 -is_debug=false - -target_cpu="x64" \ No newline at end of file diff --git a/repos/linux_scripts/build_kaleido b/repos/linux_scripts/build_kaleido deleted file mode 100755 index c3b48472..00000000 --- a/repos/linux_scripts/build_kaleido +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -if [ $# -eq 0 ]; then - echo "No architecture provided" - exit 1 -fi -export KALEIDO_ARCH=$1 - -# full path to linux_scripots/ directory -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - -# cd to the top-level project directory -cd $DIR/../.. - -# Update version based on git tags -python ./repos/version/build_pep440_version.py - -# Copy README and LICENSE to kaleido directory so it's available in the docker container -cp ./README.md ./repos/kaleido/ -cp ./LICENSE.txt ./repos/kaleido/ - -# Perform build using docker -docker run -it -v `pwd`/repos/:/repos jonmmease/chromium-builder:0.9 /repos/linux_scripts/build_kaleido_docker $KALEIDO_ARCH diff --git a/repos/linux_scripts/build_kaleido_docker b/repos/linux_scripts/build_kaleido_docker deleted file mode 100755 index e7a32ffd..00000000 --- a/repos/linux_scripts/build_kaleido_docker +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# docker run -it -v /media/jmmease/SSD1/chromium_build/repos/:/repos jonmmease/chromium-builder:0.9 /repos/build_headless -if [ $# -eq 0 ]; then - echo "No architecture provided" - exit 1 -fi - -export KALEIDO_ARCH=$1 - - -cd /repos/src - -# Make output directory -mkdir -p out/Kaleido_linux_$KALEIDO_ARCH - -# Write out/Kaleido_linux_$KALEIDO_ARCH/args.gn -cp /repos/linux_scripts/args_$KALEIDO_ARCH.gn out/Kaleido_linux_$KALEIDO_ARCH/args.gn -gn gen out/Kaleido_linux_$KALEIDO_ARCH - -# perform_kaleido_build expect to be run from src directory -/repos/linux_scripts/perform_kaleido_build diff --git a/repos/linux_scripts/bundle_artifacts b/repos/linux_scripts/bundle_artifacts deleted file mode 100755 index b5297a14..00000000 --- a/repos/linux_scripts/bundle_artifacts +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -if [ $# -eq 0 ]; then - echo "No architecture provided" - exit 1 -fi -export KALEIDO_ARCH=$1 - -# Perform build using docker -docker run -it -v `pwd`/repos/:/repos jonmmease/chromium-builder:0.9 /repos/linux_scripts/bundle_artifacts_docker $KALEIDO_ARCH diff --git a/repos/linux_scripts/bundle_artifacts_docker b/repos/linux_scripts/bundle_artifacts_docker deleted file mode 100755 index 5c4d8d3c..00000000 --- a/repos/linux_scripts/bundle_artifacts_docker +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -if [ $# -eq 0 ]; then - echo "No architecture provided" - exit 1 -fi -export KALEIDO_ARCH=$1 - -python3 /repos/kaleido/py/setup.py bundle_hash_artifacts diff --git a/repos/linux_scripts/checkout_revision_docker b/repos/linux_scripts/checkout_revision_docker deleted file mode 100755 index 5fdfe853..00000000 --- a/repos/linux_scripts/checkout_revision_docker +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -CHROMIUM_TAG="88.0.4324.150" - -# Replace any prior .gclient file -cp ./linux_scripts/gclient .gclient - -cd /repos/src -git reset --hard -git checkout tags/$CHROMIUM_TAG -gclient sync -D --force --reset -gclient runhooks - -# Append kaleido section to headless build file (src/headless/BUILD.gn) -echo " -executable(\"kaleido\") { - sources = [ \"app/kaleido.cc\" ] - - deps = [ - \":headless_shell_lib\", - \"//skia\", # we need this to override font render hinting in headless build - ] -}" >> headless/BUILD.gn - -# Install sysroots -/repos/src/build/linux/sysroot_scripts/install-sysroot.py --all - -# Note: line below will build the CREDITS.html file, but with CHROMIUM_TAG="83.0.4103.61" this file was missing the -# vulkan license info. So the file has not been manually updated by downloading the contents of the chrome://credits/ -# page, which does include vulkan -# -## Build credits -# python /repos/src/tools/licenses.py credits > /repos/CREDITS.html -# diff --git a/repos/linux_scripts/fetch_chromium b/repos/linux_scripts/fetch_chromium deleted file mode 100755 index af642b95..00000000 --- a/repos/linux_scripts/fetch_chromium +++ /dev/null @@ -1,12 +0,0 @@ -# full path to linux_scripots/ directory -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - -# cd to the top-level project directory -cd $DIR/../.. -echo `pwd` - -# Download chromium -docker run -it -v `pwd`/repos/:/repos jonmmease/chromium-builder:0.9 /repos/linux_scripts/fetch_chromium_docker - -# Checkout revision -docker run -it -v `pwd`/repos/:/repos jonmmease/chromium-builder:0.9 /repos/linux_scripts/checkout_revision_docker diff --git a/repos/linux_scripts/fetch_chromium_docker b/repos/linux_scripts/fetch_chromium_docker deleted file mode 100755 index 69f296e4..00000000 --- a/repos/linux_scripts/fetch_chromium_docker +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# docker run -it -v /media/jmmease/SSD1/chromium_build/repos/:/repos jonmmease/chromium-builder:0.9 /repos/fetch_chromium_docker - -# Update depot tools for fetch -cd /depot_tools/ -git pull - -cd /repos - -## Remove any prior .gclient file -rm -f .gclient - -echo "fetch chromium" -fetch --nohooks chromium - -## Write out credits -python /repos/src/tools/licenses.py credits > /repos/CREDITS.html diff --git a/repos/linux_scripts/gclient b/repos/linux_scripts/gclient deleted file mode 100644 index 3f241623..00000000 --- a/repos/linux_scripts/gclient +++ /dev/null @@ -1,10 +0,0 @@ -solutions = [ - { - "url": "https://chromium.googlesource.com/chromium/src.git", - "managed": False, - "name": "src", - "custom_deps": {}, - "custom_vars": {}, - }, -] -target_cpu=["x64", "arm64"] \ No newline at end of file diff --git a/repos/linux_scripts/launch_script b/repos/linux_scripts/launch_script deleted file mode 100755 index 5c440461..00000000 --- a/repos/linux_scripts/launch_script +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - -export LD_LIBRARY_PATH=$DIR/lib:$LD_LIBRARY_PATH -export FONTCONFIG_PATH=$DIR/etc/fonts -export XDG_DATA_HOME=$DIR/xdg -unset LD_PRELOAD - -cd $DIR -./bin/kaleido $@ diff --git a/repos/linux_scripts/minimal_launch_script b/repos/linux_scripts/minimal_launch_script deleted file mode 100755 index 058a935c..00000000 --- a/repos/linux_scripts/minimal_launch_script +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -unset LD_PRELOAD - -cd $DIR -./bin/kaleido --no-sandbox --allow-file-access-from-files --disable-breakpad $@ diff --git a/repos/linux_scripts/perform_kaleido_build b/repos/linux_scripts/perform_kaleido_build deleted file mode 100755 index 071da04c..00000000 --- a/repos/linux_scripts/perform_kaleido_build +++ /dev/null @@ -1,101 +0,0 @@ -# Copy kaleido/kaleido.cc to src/headless/app/kaleido.cc -rm -rf headless/app/scopes -cp -r /repos/kaleido/cc/* headless/app/ - -# Perform build, result will be out/Kaleido_linux_$KALEIDO_ARCH/kaleido -ninja -C out/Kaleido_linux_$KALEIDO_ARCH -j 16 kaleido - -if [ ! -f "out/Kaleido_linux_$KALEIDO_ARCH/kaleido" ] -then - echo "Error: Kaleido executable was not built"; - exit 1 -fi - -## First build up kaledo_minimal directory with core kaleido files -mkdir -p /repos/build/kaleido_minimal/ -rm -rf /repos/build/kaleido_minimal/* - -mkdir -p /repos/build/kaleido_minimal/bin -cp out/Kaleido_linux_$KALEIDO_ARCH/kaleido /repos/build/kaleido_minimal/bin -cp -r out/Kaleido_linux_$KALEIDO_ARCH/swiftshader/ /repos/build/kaleido_minimal/bin - -# version -cp /repos/kaleido/version /repos/build/kaleido_minimal/ - -# license -cp /repos/kaleido/LICENSE.txt /repos/build/kaleido_minimal/ -cp /repos/kaleido/README.md /repos/build/kaleido_minimal/ -cp /repos/CREDITS.html /repos/build/kaleido_minimal/ - -# Copy javascript -pushd /repos/kaleido/js/ -mkdir -p build/ -npm install -npm run clean -npm run build -popd - -mkdir -p /repos/build/kaleido_minimal/js/ -cp /repos/kaleido/js/build/*.js /repos/build/kaleido_minimal/js/ - -## Copy kaleido_minimal/ directory to kaleido/, where we'll add vendored libraries -rm -rf /repos/build/kaleido -cp -r /repos/build/kaleido_minimal/ /repos/build/kaleido/ - -# copy shared libraries -mkdir -p /repos/build/kaleido/lib/ - -if [ $KALEIDO_ARCH == "x64" ]; then - # /usr/lib/x86_64-linux-gnu/ - for SO_FILE in libnss3.so libnssutil3.so libnspr4.so libplc4.so libplds4.so libsqlite3.so.0 - do - cp /usr/lib/x86_64-linux-gnu/$SO_FILE /repos/build/kaleido/lib/$SO_FILE - done - - # /usr/lib/x86_64-linux-gnu/nss - cp /usr/lib/x86_64-linux-gnu/nss/* /repos/build/kaleido/lib/ - - # /lib/x86_64-linux-gnu/ - for SO_FILE in libexpat.so.1 # libdl.so.2 libpthread.so.0 librt.so.1 libm.so.6 libgcc_s.so.1 libc.so.6 - do - cp /lib/x86_64-linux-gnu/$SO_FILE /repos/build/kaleido/lib/$SO_FILE - done - -elif [ $KALEIDO_ARCH == "arm64" ]; then - # /usr/lib/aarch64-linux-gnu/ - for SO_FILE in libnss3.so libnssutil3.so libnspr4.so libplc4.so libplds4.so libsqlite3.so.0 - do - cp /repos/src/build/linux/debian_sid_arm64-sysroot/usr/lib/aarch64-linux-gnu/$SO_FILE /repos/build/kaleido/lib/$SO_FILE - done - - # /usr/lib/aarch64-linux-gnu/nss - cp /repos/src/build/linux/debian_sid_arm64-sysroot/usr/lib/aarch64-linux-gnu/nss/* /repos/build/kaleido/lib/ - -fi - -# fonts -mkdir -p /repos/build/kaleido/etc/ -cp -r /etc/fonts/ /repos/build/kaleido/etc/fonts -mkdir -p /repos/build/kaleido/xdg -cp -r /usr/share/fonts/ /repos/build/kaleido/xdg/ - -# mathjax -unzip /repos/vendor/Mathjax-2.7.5.zip -d /repos/build/kaleido/etc/ -mv /repos/build/kaleido/etc/Mathjax-2.7.5 /repos/build/kaleido/etc/mathjax - -# Add full launch script -cp /repos/linux_scripts/launch_script /repos/build/kaleido/kaleido - -# Add minimal launch script -cp /repos/linux_scripts/minimal_launch_script /repos/build/kaleido_minimal/kaleido - -# Build python wheel -python3 -m pip install setuptools==50 - -cd /repos/kaleido/py/ -rm -rf ./dist -python3 setup.py package - -if [ $KALEIDO_ARCH == "x64" ]; then - python3 setup.py package_source -fi \ No newline at end of file diff --git a/repos/mac_scripts/README.md b/repos/mac_scripts/README.md deleted file mode 100644 index 12954620..00000000 --- a/repos/mac_scripts/README.md +++ /dev/null @@ -1,19 +0,0 @@ -This is a stub with just some stuff copied and pasted from the legacy readme. - -------------------------- - - -## MacOS -To build on MacOS, first install XCode version 11.0+, nodejs 12, and Python 3. See https://chromium.googlesource.com/chromium/src/+/master/docs/mac_build_instructions.md for more information on build requirements. - -Then fetch the chromium codebase - -``` -$ /repos/mac_scripts/fetch_chromium -``` - -Then build Kaleido to `repos/build/kaleido`. The build step will also create the Python wheel under `repos/kaleido/py/dist/` - -``` -$ /repos/mac_scripts/build_kaleido -``` diff --git a/repos/mac_scripts/args_arm64.gn b/repos/mac_scripts/args_arm64.gn deleted file mode 100644 index cc4d2dbf..00000000 --- a/repos/mac_scripts/args_arm64.gn +++ /dev/null @@ -1,20 +0,0 @@ -# Copied mac compatible options from //build/args/headless.gn -# Embed resource.pak into binary to simplify deployment. -headless_use_embedded_resources = true -headless_enable_commands = false - -# Use embedded data instead external files for headless in order -# to simplify deployment. -v8_use_external_startup_data = false - -enable_nacl = false -enable_remoting = false - -# Debug / symbols -symbol_level=0 -blink_symbol_level=0 -is_debug=false -is_component_build=false -is_official_build=false - -target_cpu = "arm64" diff --git a/repos/mac_scripts/args_x64.gn b/repos/mac_scripts/args_x64.gn deleted file mode 100644 index 945a6852..00000000 --- a/repos/mac_scripts/args_x64.gn +++ /dev/null @@ -1,20 +0,0 @@ -# Copied mac compatible options from //build/args/headless.gn -# Embed resource.pak into binary to simplify deployment. -headless_use_embedded_resources = true -headless_enable_commands = false - -# Use embedded data instead external files for headless in order -# to simplify deployment. -v8_use_external_startup_data = false - -enable_nacl = false -enable_remoting = false - -# Debug / symbols -symbol_level=0 -blink_symbol_level=0 -is_debug=false -is_component_build=false -is_official_build=false - -target_cpu = "x64" diff --git a/repos/mac_scripts/build_blink b/repos/mac_scripts/build_blink deleted file mode 100755 index 55f78b0c..00000000 --- a/repos/mac_scripts/build_blink +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -if [ $# -eq 0 ]; then - echo "No architecture provided" - exit 1 -fi - -export KALEIDO_ARCH=$1 - -# Don't autoupdate depottools version -export DEPOT_TOOLS_UPDATE=0 - -# full path to mac_scripts/ directory -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - -# cd to repos directory -cd $DIR/.. - -# Add depot_tools directory to PATH -export PATH="$PATH:`pwd`/depot_tools" - -# Make output directory -mkdir -p ./src/out/Kaleido_mac_$KALEIDO_ARCH/ - -# Write out/Kaleido_mac_$KALEIDO_ARCH/args.gn -cp ./mac_scripts/args_$KALEIDO_ARCH.gn ./src/out/Kaleido_mac_$KALEIDO_ARCH/args.gn - -# cd to repos/src -cd src - -# 4) Perform build, result will be out/Kaleido_mac_$KALEIDO_ARCH/kaleido -gn gen out/Kaleido_mac_$KALEIDO_ARCH -ninja -C out/Kaleido_mac_$KALEIDO_ARCH -j 8 gl_blink diff --git a/repos/mac_scripts/build_kaleido b/repos/mac_scripts/build_kaleido deleted file mode 100755 index 68f9bb90..00000000 --- a/repos/mac_scripts/build_kaleido +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash - -if [ $# -eq 0 ]; then - echo "No architecture provided" - exit 1 -fi - -export KALEIDO_ARCH=$1 - -# Don't autoupdate depottools version -export DEPOT_TOOLS_UPDATE=0 - -# full path to mac_scripts/ directory -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - -# cd to repos directory -cd $DIR/.. - -# Update version based on git tag -python3 ./version/build_pep440_version.py - -# Copy README and LICENSE to kaleido (For consistency with Linux docker build process) -cp ../README.md ./kaleido/ -cp ../LICENSE.txt ./kaleido/ -cp ./CREDITS.html ./kaleido/ - -# Add depot_tools directory to PATH -export PATH="$PATH:`pwd`/depot_tools" - -# Make output directory -mkdir -p ./src/out/Kaleido_mac_$KALEIDO_ARCH/ - -# Write out/Kaleido_mac_$KALEIDO_ARCH/args.gn -cp ./mac_scripts/args_$KALEIDO_ARCH.gn ./src/out/Kaleido_mac_$KALEIDO_ARCH/args.gn - -# cd to repos/src -cd src - -# 1) Reset headless/BUILD.gn -git checkout HEAD -- headless/BUILD.gn - -# 2) Append kaleido section to headless build file (src/headless/BUILD.gn) -echo " -executable(\"kaleido\") { - sources = [ \"app/kaleido.cc\" ] - - deps = [ - \":headless_shell_lib\", - \"//skia\", # we need this to override font render hinting in headless build - ] -}" >> headless/BUILD.gn - -# 3) Copy kaleido/kaleido.cc to src/headless/app/kaleido.cc -rm -rf headless/app/plugins -cp -r ../kaleido/cc/* headless/app/ - -# 4) Perform build, result will be out/Kaleido_mac_$KALEIDO_ARCH/kaleido -gn gen out/Kaleido_mac_$KALEIDO_ARCH -ninja -C out/Kaleido_mac_$KALEIDO_ARCH -j 8 kaleido - -if [ ! -f "out/Kaleido_mac_$KALEIDO_ARCH/kaleido" ] -then - echo "Error: Kaleido executable was not built"; - exit 1 -fi - -# 5) Copy build files -mkdir -p ../build/kaleido/ -rm -r ../build/kaleido/* -mkdir -p ../build/kaleido/bin -cp out/Kaleido_mac_$KALEIDO_ARCH/kaleido ../build/kaleido/bin - -# mathjax -mkdir -p ../build/kaleido/etc -unzip ../vendor/Mathjax-2.7.5.zip -d ../build/kaleido/etc/ -mv ../build/kaleido/etc/Mathjax-2.7.5 ../build/kaleido/etc/mathjax - -# Copy icudtl.dat and settings.dat -cp ./out/Kaleido_mac_$KALEIDO_ARCH/icudtl.dat ../build/kaleido/bin - -# Copy dynamic libraries -cp ./out/Kaleido_mac_$KALEIDO_ARCH/libswiftshader*.dylib ../build/kaleido/bin -cp ./out/Kaleido_mac_$KALEIDO_ARCH/libGLES*.dylib ../build/kaleido/bin -cp ./out/Kaleido_mac_$KALEIDO_ARCH/libEGL*.dylib ../build/kaleido/bin - -# launch script -echo "#!/bin/bash -DIR=\"\$( cd \"\$( dirname \"\${BASH_SOURCE[0]}\" )\" >/dev/null 2>&1 && pwd )\" - -cd \$DIR -./bin/kaleido \$@ -" > ../build/kaleido/kaleido -chmod +x ../build/kaleido/kaleido - -# version -cp ../kaleido/version ../build/kaleido/ - -# license -cp ../kaleido/LICENSE.txt ../build/kaleido/ -cp ../kaleido/CREDITS.html ../build/kaleido/ -cp ../kaleido/README.md ../build/kaleido/ - -# Copy javascript -pushd ../kaleido/js/ -mkdir -p build/ -npm install -npm run clean -npm run build -popd - -mkdir -p ../build/kaleido/js/ -cp ../kaleido/js/build/*.js ../build/kaleido/js/ - -# Build python wheel -cd ../kaleido/py -python3 setup.py package diff --git a/repos/mac_scripts/fetch_chromium b/repos/mac_scripts/fetch_chromium deleted file mode 100755 index 8f571a63..00000000 --- a/repos/mac_scripts/fetch_chromium +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -# Commits -DEPOT_TOOLS_COMMIT="" # Can't set a version for Windows, maybe we can for make depending on TODO below, probably won't -CHROMIUM_TAG="124.0.6367.60" -export DEPOT_TOOLS_UPDATE=0 # TODO: Don't know if this will work on Mac - -# full path to mac_scripts/ directory -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - -# cd to repos directory -cd $DIR/.. - -# Get depot_tools -git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git -cd depot_tools - -# Add cloned depot_tools directory to PATH -export PATH="$PATH:`pwd`" - -# Reset to proper commit -git reset --hard $DEPOT_TOOLS_COMMIT -git clean -ffd - -# Move back to repos directory -cd ../src - -gclient sync -D --force --reset --no-history --jobs=3 --revision=$CHROMIUM_TAG - -# Write out credits file -cd .. -python ./src/tools/licenses.py credits > ./CREDITS.html diff --git a/repos/vendor/Mathjax-2.7.5.zip b/repos/vendor/Mathjax-2.7.5.zip deleted file mode 100644 index 96576d23d384d25ccf1e351ed34ad28f9b38e794..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1931789 zcma&NQ?w}EmaVyLYcJcjZQHi@vTfVm%eHOXwr#Wae=@68JDIoLQ}GZH4>9BEn|+Ml zM})i-FbE33KSznVrsBVD{`&;?_bOxHWNvBTM#D(UM$1Ac|F36(03ZNZgdU_D8}~zO z-~j-1sQ~~`|JSq95<()fN+MgDT8SIYs6H<>{45J+*Dy3(7W1sriTgTimN-|_mO5;S zW5B`zNR|ou01i#(H8*X$q7of0CALp)NK%AwaMMRzI~=>vcWr!;x+z>F+ZT$?vR!V+ zW4`1Ujc0=^4=cg1nU|s#@cS1lH9hVQb2jMjY&E)9FCT4%zmJD)^jJERJ)eMnZR_oP zHKIi>CA)bxv}Y?o< z_iCQEsr6vme-Y$V*h?u#$_!MmNC@@n^vDM!24~BZamgZzEZ#Po3)wbu zsT0WJX(EN*g8h}i#T93`n(sS2uw}3(9DB0^~ZWR zz16Sjm5!@pvJ1|4jugHfQy~S_-OCN|9Ik1o`dkBLJu8W<))}fJr zy$I+cbdyLx7luzh=(Fa@rSXxgwMYTOYt#B0G|#TQ{SxjIr`5=soX^rq^R;es46YFl z5=dc=!%H#5FW(mPrw&cA)?HkifhRZB-bq?KQ`blkLvb3<5jq~g%&&$Fe0mOA_PzJ? zN*?aSrh<}Y$nNyP$d~zf0h0W3Pij8R4uXiL$nUzJ!4RnS?6Xc&12B$Td}~w&`JQi} z2xtxkxHgG5$#^i>&qg22jlCaB3krAHSd{}tU29ZOK#Oi42rd`bWMg2u79kg>KkL_i zVq~{k?E?|9lF@VO7?j%hIe6`UAd)!(8&?d#=0PXy=UEqVvw*x85e{cffpVoCe3VZZ z?l9$M#Aa|??arA)sy`sRl^-TRy2Vl;shS~5poLcs1SlFSs}~UB_LMuTyMg*qQlL1& zh1BXKa}r9ew5>CEN7nl%N-VJKQsN`sVBK5i6MaV4jd*7brfQSo$ft5wBMOE2FHX^l zN=vvn@GUaNO|X2>gTlnBb{N?e0O95o64Y?Qiuk!wGRZvWq_V`79m1p!OyA{$5e@_; z)(tw$Su*X?A_aI9);q`{yQ6gRIOA2;MkpU&$u~l&2tb9M-enoT-)uGjT-bqpitfp3zpEg?Wdkwe^D5(iZmc)NRI`F9Q8j?qw914D6L`mo4H?Xe5vfFTQ zmftrTNx7X_9Eu5cDrYPj(f2=A65#HUSFaqIi-M1BNPa-(&5*jFkf%C$Y#=@hk>|&b z)|wF^_E|Oqc}m5foO`)s^oxCR;&K`9no-Ev@DGkWn=91;o3KLdLy{K|5`z~#cq<}t zK5anUE$lWI0eU*NiS}m};Q`OBINqrhs{MZf5{_cYst;0Qd1vx{?dN}}F4nQT4{}2_-9kJy%qiu@mz8fUG z*>K3ft4kZbAB!;?=P-cgI*m;av>^$&{_%IE)lWYMm!>!82;q{9vOn>pK z4y?`gk{`Se5L^_?Y!}S|7vX0C==s#+M==6-ksbt;OX8s-PJ<*9LavSNudctrvSyP3 zmnEYja&cc87qzTqs}vV>xDegE#P`fjR8?|WMw=ybVwMbDPbK>f?g(OCbsAR_ z_T$qhj$c}+KLFk1-`sn*gg$2)%cMMMSuLOvtjdfuiT;l5iUTg}Pm7VocuY}=(+cN9 z9(^1BB1Ekmt*WxWCc%J-RmebmL-qxmk(wLr!g}%(`@NVF37}3*{)fE}k&+kOP8nI< z{zU7FxI}uIBghEUw{cKe07j|Kf*5QZB}3s4Mc$k^$FY>IzKS*uy~vy=fodUiP*nh( z(5=Wt0P`g>RY-vC@xJU)Vjjout#Kj2W+N0J>_z_#>DyC`6fs(Xb%@Mp00$JYQS;p& zQq@C?jY*PENMb5QDq%2*yd}yZ-D(+N9>kRwKOI}$!S3?}IZnaC-wJxlu^+H@6(K}~ z=0}TcE}^d{hq(#o1NLNhJjrvlC!`yR;B4WNMtH$rT=34+Aqb7|?E~z4*K;NtM1wVW2I~)Nq?OHiNM7Yt7mbQ@mCU9h za*6GyGsEw4MMrzV^N3LN3|FKl-J$<9QGsHOnkPA}${s0s^bng+ArP%T%E&8$;Urci z29qirq?|lC0gyOl+kr_Pv#Rtey$z$4sHXT|m?+WiU}e=QdM8l`@v9mK(Vge`Uw3Z<7HI7T8| z(5Fw0)Du)d{rs-m86#p$L{ff1dry!iUwwzej{g(>PJwN!oP1th2ixe3!~m$?`U8E< zJSHF-?jrQ;}KBzb-l8K?)!iSTl)AKKO@74MWTU zQ{y7&D97N|qS5tuJZ#9=Riv1=Kqh{^xY+dWR+uV5?!=HXo_mus^Oyuw)~13~g}vS; ziv&4&m^~xP#IVF+5mFlao`!|%o7B&9X%J{j+v_wpg3}?xBPd!j`if3sl2&}*>%eZ3 zu)#o;b=bqfDLIYz+KqeEpuAevFUEFBakQvX~tctcFLhY^@IqJ>Rak2NHd zQF?=>$yHrcoP|x0!>(M>3o*zdu5HkE@G=0rP=9C@>33d9K`-AcOkRvMPdQ_t8_>2n zLPhiZeb>DG&E5^rH;6nsM3|8Jq??lo1P6HW=2|oY=C)obgE!;~di_wFhA}hylj1X= z+50!q>7h{?9-IIcGwuB1SWB7e7ptYOXAtO?zg%r$qEy~(CR$C20#+^KZ446JsSaW$ zT-IXFq?r&aXwRFaT`@>)(Kq)mwRMGypw#B3SBOvKONTHC1eGo9R{x@DEUiiq;6o8h z-FcKsakz)Jn}qUTrBraRF8}QLy48X9e6%;doo{w@ zytLQXXcZqvPnw&XM=SSiH-m;x4X+;#&Y(_W53sjHvSK=%;iTGS^$Zr{_!)`geoElx z4r9uT2y04VphnwtH#>U2^q-a{j?TBX9G+G#{#2{I1izlWUth)M9_@!7eH?wwpa|Zi zyi{DU^zhc+GTQud-K~Yc`Q^I*Jg{{&^`22dvxCO!)&TJSQd?H61>T;%S8az$yUSta zQ4ycB;BOU1>lL(5M_|KBcVtoE*c*P^3RvAlWb9hJSSMpD|MF7F96d#+DVM1c)73M% z=SWXM>rrzg%I4(WJvdI~_w59H*2lP85fYM}OXRe^R!XvIEC2xeHkzxnAqxCKxnzQ9 z+YvcN&L-=_i*@r$8pW=7=M)x^Q_&{!Auv*QnC1;CQND#2@r~-tTo_k>knuCrRpLu$d-xgaAaMvZ7~(I|Bk7PXJbHeiu3gmDo`&XH~nZ%ua=%RN<^+;;)jBX1kn&x%X9tF7! zCt2zhvm@xXDpfzSALqQhOVPg2BRAO7scUYl((llkltO>>%qGZo=mv{VlnA#8svsQW zZm%VvlRmGzuVk0R3tV%0A7;eX3}ocuJtlFzm>``*HLu=CtEq0I8&QRh@lQSH5rN? z%zwAjJR}n6(7fFv^3)>sKxi z&-SWPQQ`mu1xm;k@C|H9f+BQ$o~UV9EZjBjSL+ahAQe>Ec{0g<)YjHczlOi__NNvL zyxq}(I$ti6aptGPNAlYjmA_l?k;RnH z$~kKFCl?wX|NU!jk{9K`uBlz&EE%<(05*eNn;rPb+%6iOdq9(+>+O-QCpQDZjdOd% zb0XMtg*`_?2+m>xXItHozHnkt5AOCv?GE}3)&qB|{#!Ek1HY_3#{!dAZeeAZ#`kAHnYJ{@{WC!1-iDK42JKA%5Rjr)O=pQCe2ig&^(-q5sRVCaW9#x?5AP z2PD~IES3JTq&3v{xnn&i)0ZyJn_fCH1mI(dPEl*Vpa8g#GsHUG$&fG zM&%<7b?kJ-js$`K9IXI9!Q&GoKw)e`cg_FkED#bP%2<#Zq&SA{Q;UadZzih5J-C~1 z4@96I28fG0AVGT-p^>|Z^^J#ukAqGyjhfx!a`+NcrQLC>)V}1yXHlO>gDK=Z0|swJ zrjcIyTV`ATj7UV zq$X5aWFwG5RbxCsc`>eL)^i|bDECHqlct5NsV6lRbYP`18F6mPG4GM_njC^3w))_ckI=wV>uxIICaqf~(&S0Yt*11(2a z1MO2J4PV@Gkygs@*PY2s)+iM3eb`f~3GH*k$CjNDr5|jHiK&Pr4NK^ZGK1ulU5fsw z-Uf5x_5`nn%I_uLr=-Vrj}XXm=*JM9Q@*{6nj=ONQp&UG5oN$burQmb)f9X#LqXcY zUu}#>ZAa}N#&3EC`3>&2jzp}Pqy#%-5#KWVl(-Otlw73pvt|}c{J_VUFmDD^?_@bE zGsI^gzSR*BHC`fPL7wav%4X1IW8_rXh>f{MhfG+=VCYsmLmRovv0zQ(nqPpMDKN9T zWPHeR!ttU=jX3Gt(;PKb%TWFuYVv(glD2|BcGBHt{>pr93hpI)#J*n{rwh(8U7(mP zAfW6JGZQg9!b>ET)AxNPFjNC2b_x#^SwbKpaT3nEI@odnnI1bklB0yk*}bR2a!mmc zQW@$kerHe{5M=7uhQ7PJ61RV_MAZZ9NY!}MYTz2^(E~V4UP>F59KAWN>;;V`tWDDZ z&pq-@u!1}Pisllmdk>Nq{|?r2b1vjQi$qZ?>45K67%*QAq##@8>k;Z5#E|kzj}3=v zeV}U4fmqN~his&GDvw1}kK9EkOs1`>o%AH6MW;K3rK@go_S+3B#CzpwBO2?|#p@UL z=?vKTsTNm3rk18`&d=B>I3WqEX%f1}$c@hrcPlEmk4H~CY&j{zqm2*VCeCXs$LnW5 zJov_QdO`b?OmK8gESf0d*vhShFFyfJ9-z+L=(thWi7o#8Anp;i09(}zB?3%_Pn)|V zxSqb#?BV+AyQh_PL76!Vi+8R;3>@s#Z2pWlo(a(>UM24K*watwQ1$|z4p_S*0lm|@s8^`_a z$Iqv)BltAc751#$wJo>?V~s4jKw60d>!YCG*L`pgkdhv`J-RYC7Q|HnOY2(VIGi)? zbgC8(g(7mKcv)fz`|jvyciONDGXy;Q_$;ECj#CRdyGph#$xRHqC_*-zr6;N&G6ES9 zDHnn#8HH3B+lk&}Vox+%36+i7@<fC!KZ;|fFqPcu_RX9{*-13Fpb>^b) zkEP$TOg>Iu0^V+ zi||I&3Ucwa<)vcC?R@f)D+zpOkCX+O$tL8%biZ$TUHdsSK3H-+^ylGSNS4*?g$jxV z9?ooHQ5u$}Va1kOcX2_lV+3k%KrpQrRxvETGyvtoaDs2OaJ;;nt2ULvC6jSGfH)UK zzcyAUuDq^|Sz`3u%w+t9&uOiW?6@pf{6WE&PDMK^WW~y&|Vs7Aul~000C+{GTeaqKJU7j0o*-V{a85+XGevuag>ed^#F^ zjvE03d^HpaI7mBw2Yx*Z3z|E@cqqQg*B#fCB-9g+-w1E~5+!>TK5FOZ z5#6=ZW7zdYh!w`z7FHH`pV%D2MJeix@r^`$byoQ^c_#1WvF~lLrjm>4>>A#LE?xH0 z;CQDBJ-0iVisxtcfeqR1(Nzrf{L^IFQLaf~+2+rCEICxM-3Pm>09yIr!l&XmVhdc? z=ByU-7W(I1&4=)d9>2O+a1`5fjLGaKXydPA)|<2)W;#m-uXa11x+tv15>*k+sBPoE z^|K_7!*2S84|D>RqqBr;A$g)v9+=;1Q!t+3o!T9Oaf5T^?FW^lxoKfRd?rY9%O6lU zj>07$q!ZyJJmPLJG)~!0mW-L)qCotz|71U5h69WEiZ{SfU#!aJUcA7nrV8^Q7h)r< z3YKxC4NA_sc25zVh9&<#(9Gnbm0|o&Q%$-upAkIlbL!U)N8v_vio{bt>!L}H4KZU3 z&ywW;=r7AM#fj$0TQg&lRp(OU*bpv2kLe+j=td@5gAWwmgG6OOfOM5 z*!3^s4XADPXhiE$D9`g;fS=M@UM^fXmmB=vNPUFX%kTY~STF)aBiV9P!F?WBJ~h%b zq4Pn}5orQzw+`D;nr#K$^->DTY-L%e)ND-sQ1D!!?;B9Z`3u}9{h%A859KD#KCgflFpn(@qHqH>9I}s4O$J5JF#?j z8mB{*ghE&}$j0Xw=WhRTm4_cE>|NT4N-G(YUy(y2dr26qa>Y@w)7oYOaFlw9+^4h zOUZbh3r65dx^==MobJUu29D09(uwHj>6G%au^hVsef?k-2xZ?wqaI-qgCN97`!f5c zQJu1hS?fL>7UXcw1d64|lxEbX(+i1?$N0x9W#ZR^&!Ei(u&8!klT$>V1sv5}cD#&s zzp~hX8Q85AL*XyOpT~nVo%rV?ucqlBK>>umfFnNR4V8s7=kiemC)|`hPJ2};#9^SQ zvh1L7Y8ridI@;}D6mWAU!xN7FQkem3W^GOYU89bDyL7}F^;dDP&C^PY;{}w*5jBjd zJB*~`60jEXl$t$Kf|%3%Q)6Kde<=neu5c6 zHDEUQ>^?iYBO<|S=8$%#shZA1#+bBVAK6sc{C>QUKp}5#FBE+JDhC6y9=i+r6<$~PW zm(dN$j%L@>&Voxn)9+L=!EXB~9PJxxZEJU{z7Kp>AXD(WnyXuE_P5Z<5dl8XQj+hb zpU0mbXFO?u>}p2}O5F|gvUK{K>0X^#vfDm>#-YHFMuiINicNU!DM|UvX#ylni~1PY zNrXo|-TVDCmIJB%iC*MnM7d;CPjt=hR_Ou^Y{+Y+70FLI#%_>j=!ST*EP+p-5D8G z7mDj^ys(7tZ%+VRWX0_Q(EC^YX9Tc^Z6+Lkk?N_jL2iOxI3tkk5r!;b9#@=FO82V_ zcF-XRzufXfRcrIRMAP*Pm1Sb6le5GaF0cI}>PD(l$tG7al+==R=S){46dPS4vK$i< z2=|aHc5ewGF{P0c@T~tmI=NHeo*n;PI+NJK4P8W5Pdz7?k-rs#qa1VL#NfPHg7|n* z7r6kFRra#&dD2<}m0pB|Vain7-k*?$Ql{*MGHo2dT_pFW#ReuS|UxA{96N zr)8FT{gK2(=MdH=&*KgJgiv27{gXlJ@`5(MS+g ztF)T^3i4=Gh8tdf^qu|_^6qg;|*IY4a4obq(-t8lF4tL3|~e@^e6ZGR5_%x32wP)<>t#~BY#b| z04B=L(7*6}Clz6YmHn*yl5{!-Un)*uKVYyc9sGHziZ8EaazoGF;fcZJ@GwK&!`YF% z&S@bK3N^axs`+{yky{XbVf%M@d_Qhn0e}DiTK~dB^B>_6wY70lGjOo6urYJ|7ez9* z|Ds4Oik$-$a7A%xnMYwn!9s@`Ly@Z71APG9Hpunt8tGE>?FOe?Ta4#%78Qu*;rJ?Z zWWe|79}xn*MZNlF!u=8~QV-KJ4^H5v_)(SU5TFU3jDFDvd(}=Rqq*-2w)X)2%hK1A z)BQURu_tCJI#Kkzs&Z(a6@_9#2xFtw189G?x4A7=)vkc0Vir_CSYjP=z=8Y=OJM_;Y($* z@uZ}PZ1I1DC=L1WJbwL_U*a8K`r$XM)TCyPAa>C20@H8Ysf(ybG4GttBN1kv$$H@e zW|0mYu0rgUHkgV7-soJtSe;VSUFoitZLARV4eR?36-2*#0|8ZiINn|DaU)7bS}Sh?2Onj5LjqlG4A6 zQC1dIpjDaWMONtnWg}b)j0K7cPo+T=S$~I;)W{#P#Jdl< zIP1C+gD7T6t#TLdl>o&gFs4%DkbfXjEc`sBr2XXo{i>ekW`xcPP(sD=E0tzMK&2KL zJZ@ajBu-+qHv|e~vqW7JAF^yc85A;|aM8HsN&qK%C1KN**zz~%0jO(I=SCKhz^X1= zO;yv;;y(}xQ>`g+zC;o&zDC-y#_qp`nY_rf)bkthAKXOzg^1UWTtk&|nYtN)g&dY} zWt61?bFGO~iqW;NG`cEyIE9SJh^30^W4J|^7~U67|0D>6EQ}xu=M`zt;If(8)xe>v zQ)ZV|y()kl@`Qm}jb2Ms%>ap(Xxlp&zdiKE!08C6-pUK%T54;uSFp?;rJ=x^VIK<- z%NfN)Qrbd@LXPY~@(`lULzu>$oLu2%lzC^lcChk@!d$F5I{nR)`Nq7E@AUqVX4>#9 zoLZ_euGqXq2t4_K(_0?r#T{VFgB#2eYI^YF)Z1=TDR@#a9HxOnU1#s&V^}6VlY$#w z_C^Pn{L*(IPOhU44h*Um_`xMmapKs= z#M$8!mv{^NEWN14Z|tRxJSzbV%1DkyN-^M=J_8b_?+YqiFCn8h&9rx9^cH}*)WM<9 zn1fua)iGf5tK8;MVq*g#5}<3QO6<4*>6`L|!f^ylhmGs}oZ%bsYfq#umxQ|nF3RoS z)A9IQxtS}=ZI);tG7GQuiI-MNAV-Lnfg;R3F^LyaDLl+uQbt{&6G#s+C51R`w5HEDbDstA zeSe#x9`?v0x(99+#kKm47*NZ-aDvi)PfURx+*tn%|Fn18FSdRzl~LNpNrpfEOf26V zwp+@<*?kMAPS4yP$Di4SLGYjCZJyhtusAV8FWt`vdVl1w_ILhWi(to{Mv?yNkS-Vi z0MUQcA`{zx@KL_8U7$z!+V0s$u~3X`FRWq)%zn;u$|S#7w}6BJfoL0JVPSWMdV<{k(qLdRv=o_`#sL<@1v=RkK~yAyys-`RSupV-ytWxvf|W7%ty5 z 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/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�|NOoGM(9{H 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�ga`&1nngLE^akL4c_2|c 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 g(r4{8b|9~IcwNXRFD@qU4TvQq8t_8B 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 z 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­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�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 Mbiw7dbaEBRJj<`n&{b0=000?YQP+ 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�s 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

+zm^;usc4IvIq8`vH1LX@ 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∓)N=7I^UFmI;r_1G0$r3Gt^47?{l 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�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≀*Sy*zui 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 diff --git a/repos/version/build_pep440_version.py b/repos/version/build_pep440_version.py deleted file mode 100644 index f38eef37..00000000 --- a/repos/version/build_pep440_version.py +++ /dev/null @@ -1,33 +0,0 @@ -import subprocess -import os - - -def git_pep440_version(path): - def git_command(args): - prefix = ['git', '-C', path] - return str(subprocess.check_output(prefix + args).decode().strip()) - version_full = git_command(['describe', '--tags', '--dirty=.dirty']) - version_tag = git_command(['describe', '--tags', '--abbrev=0']) - - # Strip leaving v (e.g. "v0.0.1" -> "0.0.1") - if version_tag[0] == "v": - version_tag = version_tag[1:] - version_tail = version_full[len(version_tag) + 1:] - else: - version_tail = version_full[len(version_tag):] - - return version_tag + version_tail.replace('-', '.dev', 1).replace('-', '+', 1) - - -if __name__ == "__main__": - repo_path = os.path.dirname( - os.path.dirname( - os.path.dirname(os.path.realpath(__file__)))) - version_file_path = os.path.join(repo_path, "repos", "kaleido", 'version') - version = git_pep440_version(repo_path) - with open(version_file_path, 'w') as f: - f.write(version) - print("Wrote {version} to {version_file_path}".format( - version=version, - version_file_path=version_file_path, - )) diff --git a/repos/win_scripts/README.md b/repos/win_scripts/README.md deleted file mode 100644 index 169461c9..00000000 --- a/repos/win_scripts/README.md +++ /dev/null @@ -1,59 +0,0 @@ -At the bottom there are build notes for specific dates and versions. - -You should have at least 20GB free, compiling takes 3-6 hours on a 4 core 8GB RAM machine. - -## Preparing a Build - -### Files to change: -The `/repos/win_scripts/fetch_chromium.ps1` has two environmental variables to set the Chromium tag and depot version. -The same script also include a TODO note you need to read regarding avoiding update in depot_tools but NOT avoiding init. - -The `/repos/win_scripts/build_kaleido.ps1` has one environmental variable to set the cc version. - -Heed the advice about patches in the main [BUILD_AND_RELEASE.md](../../toolchain/BUILD_AND_RELEASE.md). - -Otherwise, best of luck. - -## Building - -### Dependencies: - -* Visual Studio 2019+ (community edition is fine) -* nodejs 12 -* Python 3 - -_NB: Go to the chromium repo online, the correct tag, the docs/ folder, and look for windows build instructions for specific version information_ - -### Run Scripts: -``` -$ /repos/win_scripts/fetch_chromium.ps1 -``` - -Then build Kaleido to `repos/build/kaleido`. -``` -# For a 64-bit build -$ /repos/win_scripts/build_kaleido.ps1 x64 -# Or, for a 32-but build -$ /repos/win_scripts/build_kaleido.ps1 x86 -``` - -You can add `--from-ninja` to resume from a compile error. - -The build step will also create the Python wheel under `repos/kaleido/py/dist/` - -## Build Notes - -### Chromium 108.0.5359.125 on 4/20/2024 (cc-1.5) - -Docs ask for: - -* Windows 11 SDK version 10.0.22621.2428. This can be installed separately or by checking the appropriate box in the Visual Studio Installer. -* (Windows 11) SDK Debugging Tools 10.0.22621.755 or higher - -You can do that through Visual Studio Installer + Windows control panel to activate the debugger, but I find it easier to just install from here using checkboxes: [Microsoft SDK-Archive](https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/). - -I didn't want to install all the options, but I did have to install the debugging tools and the stuff marked as Desktop Apps. Visual Studio has the option to install it as well but it misses the debugging tools and therefore doesn't work (unless control panel modifications). - -### Chromium 88.0.4324.150 on 4/21/2024 (cc) - -I also had to install the SDK manually like in 108. In addition, I had to go to Visual Studio Installer, Build Tools-->Modify, search and install ATL, which required a patch, described in the path folder for 88. diff --git a/repos/win_scripts/args_x64.gn b/repos/win_scripts/args_x64.gn deleted file mode 100644 index 2762e920..00000000 --- a/repos/win_scripts/args_x64.gn +++ /dev/null @@ -1,20 +0,0 @@ -# Copied windows compatible options from //build/args/headless.gn -# Embed resource.pak into binary to simplify deployment. -headless_use_embedded_resources = true -# Chromium 124 needs this but no effect on Chomrium 108 -headless_enable_commands = false - -# Use embedded data instead external files for headless in order -# to simplify deployment. -v8_use_external_startup_data = false - -enable_nacl = false -enable_remoting = false - -# Debug / symbols -symbol_level=0 -blink_symbol_level=0 -is_debug=false -is_component_build=false - -target_cpu = "x64" diff --git a/repos/win_scripts/args_x86.gn b/repos/win_scripts/args_x86.gn deleted file mode 100644 index fc727bac..00000000 --- a/repos/win_scripts/args_x86.gn +++ /dev/null @@ -1,19 +0,0 @@ -# Copied windows compatible options from //build/args/headless.gn -# Embed resource.pak into binary to simplify deployment. -headless_use_embedded_resources = true -headless_enable_commands = false - -# Use embedded data instead external files for headless in order -# to simplify deployment. -v8_use_external_startup_data = false - -enable_nacl = false -enable_remoting = false - -# Debug / symbols -symbol_level=0 -blink_symbol_level=0 -is_debug=false -is_component_build=false - -target_cpu = "x86" diff --git a/repos/win_scripts/build_kaleido.ps1 b/repos/win_scripts/build_kaleido.ps1 deleted file mode 100644 index af571bcf..00000000 --- a/repos/win_scripts/build_kaleido.ps1 +++ /dev/null @@ -1,181 +0,0 @@ -$Env:CC_VERSION="cc" - -if ($env:cpus -eq $null -or $env:cpus -notmatch '^\d+$') { - # Set the cpus environment variable to 4 - $env:cpus = 4 -} - -$ErrorActionPreference = "Stop" - -$original_path = $env:path -$original_pwd = $pwd | Select -ExpandProperty Path -function CleanUp { - $env:path = "$original_path" - cd $original_pwd -} - -trap { CleanUp } -function CheckLastExitCode { - param ([int[]]$SuccessCodes = @(0), [scriptblock]$CleanupScript=$null) - - if ($SuccessCodes -notcontains $LastExitCode) { - $msg = @" -EXE RETURNED EXIT CODE $LastExitCode -CALLSTACK:$(Get-PSCallStack | Out-String) -"@ - throw $msg - } -} - -$arch = $args[0] -$ninja = $false -if ($args[1] -eq "--from-ninja") { - $ninja = $true -} elseif ($args[0] -eq "--from_ninja") { - $ninja = $true - $arch = $args[1] -} -echo $arch -if (-not ($arch -eq "x86" -or $arch -eq "x64")) { - throw "Invalid architecture,: must be one of x86 or x64: received $arch" -} - - -# save current directory - -# cd to repos directory -cd $PSScriptRoot\.. - -# Add depot_tools to path -$env:path = "$pwd\depot_tools;$pwd\depot_tools\bootstrap;$env:path" -echo $env:path - -# Tell gclient not to update depot_tools -$env:DEPOT_TOOLS_UPDATE=0 -# Tell gclient to use local Vistual Studio install -$env:DEPOT_TOOLS_WIN_TOOLCHAIN=0 - - -$env:GCLIENT_PY3=0 - -# Write Versions -if (-not $ninja) { - - # Update version based on git tag - python3 .\version\build_pep440_version.py - CheckLastExitCode - - # Copy README and LICENSE to kaleido (For consistency with Linux docker build process) - cp ..\README.md .\kaleido\ - cp ..\LICENSE.txt .\kaleido\ - cp .\CREDITS.html .\kaleido\ - - # Check python version - python3 --version - CheckLastExitCode - python3 -c "import sys; print(sys.prefix)" - CheckLastExitCode -} -# cd to repos/src -cd src - -# Prep for Ninja -if (-not $ninja) { - # Make output directory - if (-Not (Test-Path out\Kaleido_win_$arch)) { - New-Item -Path out\Kaleido_win_$arch -ItemType "directory" -ErrorAction Ignore - } - - # Write out/Kaleido_win/args.gn - Copy-Item ..\win_scripts\args_$arch.gn -Destination out\Kaleido_win_$arch\args.gn - - - # Perform build, result will be out/Kaleido_win/kaleido - gn gen out\Kaleido_win_$arch - CheckLastExitCode -} - -# Copy kaleido/kaleido.cc to src/headless/app/kaleido.cc -if (Test-Path headless\app\scopes) { - Remove-Item -Recurse -Force headless\app\scopes -} - -Copy-Item ..\kaleido\${env:CC_VERSION}\* -Destination headless\app\ -Recurse # we do this twice to make sure it has ur changes after gn ge -ninja -C out\Kaleido_win_$arch -j $env:cpus kaleido -CheckLastExitCode - -# Copy build files -if (-Not (Test-Path ..\build\kaleido)) { - New-Item -Path ..\build\kaleido -ItemType "directory" -} -Remove-Item -Recurse -Force ..\build\kaleido\* -ErrorAction Ignore -New-Item -Path ..\build\kaleido\bin -ItemType "directory" - -Copy-Item out\Kaleido_win_$arch\kaleido.exe -Destination ..\build\kaleido\bin -Recurse - -Copy-Item out\Kaleido_win_$arch\swiftshader -Destination ..\build\kaleido\bin -Recurse - -# version -cp ..\kaleido\version ..\build\kaleido\ - -# license -cp ..\kaleido\LICENSE.txt ..\build\kaleido\ -cp ..\kaleido\CREDITS.html ..\build\kaleido\ - -# mathjax -if (-Not (Test-Path ..\build\kaleido\etc)) { - New-Item -Path ..\build\kaleido\etc -ItemType "directory" -} -Expand-Archive -LiteralPath '..\vendor\Mathjax-2.7.5.zip' -DestinationPath ..\build\kaleido\etc\ -Rename-Item -Path ..\build\kaleido\etc\Mathjax-2.7.5 -NewName mathjax - -# Copy icudtl.dat -Copy-Item .\out\Kaleido_win_$arch\icudtl.dat -Destination ..\build\kaleido\bin - -# Copy javascript -cd ..\kaleido\js\ -if (-Not (Test-Path build)) { - New-Item -Path build -ItemType "directory" -} -npm install -CheckLastExitCode -npm run clean -CheckLastExitCode -npm run build -CheckLastExitCode - -# Back to src -cd ..\..\src -if (-Not (Test-Path ..\build\kaleido\js\)) { - New-Item -Path ..\build\kaleido\js\ -ItemType "directory" -} -Copy-Item ..\kaleido\js\build\*.js -Destination ..\build\kaleido\js\ -Recurse - -# Copy kaleido.cmd launch script -Copy-Item ..\win_scripts\kaleido.cmd -Destination ..\build\kaleido\ - -# Build python wheel -$env:path = $original_path -cd ..\kaleido\py -$env:KALEIDO_ARCH=$arch -python3 setup.py package -CheckLastExitCode - -# Change up to kaleido/ directory -cd .. - -# Build kaleido zip archive -if (Test-Path ..\build\kaleido_win.zip) { - Remove-Item -Recurse -Force ..\build\kaleido_win.zip -} -Compress-Archive -Force -Path ..\build\kaleido -DestinationPath ..\build\kaleido_win_$arch.zip - -# Build wheel zip archive -if (Test-Path ..\kaleido\py\kaleido_wheel.zip) { - Remove-Item -Recurse -Force ..\kaleido\py\kaleido_wheel.zip -} -Compress-Archive -Force -Path ..\kaleido\py\dist -DestinationPath ..\kaleido\py\kaleido_wheel.zip - -cd ..\.. - -CleanUp diff --git a/repos/win_scripts/build_target.py b/repos/win_scripts/build_target.py deleted file mode 100644 index f6d7f1f5..00000000 --- a/repos/win_scripts/build_target.py +++ /dev/null @@ -1,8 +0,0 @@ -executable("kaleido") { - sources = [ "app/kaleido.cc" ] - - deps = [ - ":headless_shell_lib", - "//skia", - ] -} \ No newline at end of file diff --git a/repos/win_scripts/fetch_chromium.ps1 b/repos/win_scripts/fetch_chromium.ps1 deleted file mode 100644 index d0bc952c..00000000 --- a/repos/win_scripts/fetch_chromium.ps1 +++ /dev/null @@ -1,123 +0,0 @@ -# Commits -$env:DEPOT_TOOLS_COMMIT="f9f61a9d7c0c76a71dc1db860d1994c53c8aa148" -$env:CHROMIUM_VERSION_TAG="88.0.4324.150" - -if ($env:cpus -eq $null -or $env:cpus -notmatch '^\d+$') { - # Set the cpus environment variable to 4 - $env:cpus = 4 -} - -$ErrorActionPreference = "Stop" - -$original_path = $env:path -$original_pwd = $pwd | Select -ExpandProperty Path -function CleanUp { - $env:path = "$original_path" - cd $original_pwd -} - -trap { CleanUp } -function CheckLastExitCode { - param ([int[]]$SuccessCodes = @(0), [scriptblock]$CleanupScript=$null) - - if ($SuccessCodes -notcontains $LastExitCode) { - $msg = @" -EXE RETURNED EXIT CODE $LastExitCode -CALLSTACK:$(Get-PSCallStack | Out-String) -"@ - throw $msg - } -} - -# Tell gclient to use local Vistual Studio install -$env:DEPOT_TOOLS_WIN_TOOLCHAIN=0 - -# cd to repos directory -cd repos - -# Get depot_tools -git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git -cd depot_tools -CheckLastExitCode - -git reset --hard ${env:DEPOT_TOOLS_COMMIT} -git clean -ffd -CheckLastExitCode -# GCLIENT_PY3 was experimental when this was configured -$env:GCLIENT_PY3=0 - -# Add cloned depot_tools directory to PATH -$env:path = "$pwd;$pwd\bootstrap;$env:path" -echo $env:path - -# Reset to proper commit -git --no-pager log -2 - - -# TODO: READ IF UPDATING (not actually a TODO, just a highlight to attract your attention) -# This will turn off auto-update so we can stick with the version we picked -$env:DEPOT_TOOLS_UPDATE=0 -# However, the .\update_dpot_tools.bat file which we don't want to run also has two calls at the end -# which we do need to run! Google design flaw. - -cmd.exe /c cipd_bin_setup.bat -CheckLastExitCode -cmd.exe /c bootstrap\win_tools.bat -CheckLastExitCode -# If you're updating the DEPOT_TOOLS_COMMIT, you should read the skipped bat file to make sure that -# init steps like this are included here, but don't include any steps to update git. /end TODO - -cd .. - -cmd.exe /c gclient sync -D --force --reset --no-history --jobs=$env:cpus --revision=%CHROMIUM_VERSION_TAG% -CheckLastExitCode -# google wants cmd.exe not powershell -# cmd not strictly necessary as gclient is a .bat that invokes cmd intrinsically but better safe than sorry - -cd src -# Append kaleido section to headless build file (src\headless\BUILD.gn) -cat ..\win_scripts\build_target.py | Add-Content -Path .\headless\BUILD.gn -CheckLastExitCode - -## Write out credits - -python3 $pwd\tools\licenses\licenses.py credits *> ..\CREDITS.html -if ($LASTEXITCODE -ne 0) { - python $pwd\tools\licenses\licenses.py credits *> ..\CREDITS.html - CheckLastExitCode -} - -# Apply patches - -cd .. - -# Define the source and destination directories -$sourceDirectory = "$pwd\patches\$Env:CHROMIUM_VERSION_TAG" -$destinationDirectory = "$pwd\src" - -# Check if the directory exists -if (Test-Path -Path $sourceDirectory -PathType Container) { - $itemsToCopy = Get-ChildItem -Path $sourceDirectory -Recurse -File | Where-Object { $_.Name -ne "README.md" } - # Copy each file from the source directory to the destination directory - foreach ($item in $itemsToCopy) { - Write-Output "LOOP!" - $outPath = $destinationDirectory + $item.DirectoryName.Replace($sourceDirectory, "") + "\" + $item.Name - Write-Output $relative_file - # Ensure the destination directory exists - $null = New-Item -Path (Split-Path $outPath) -ItemType Directory -Force - - # Copy the file to the destination directory - Copy-Item -Path $item.FullName -Destination $outPath -Force - Write-Output " " - } -} else { - Write-Host "No patch directory for $Env:CHROMIUM_VERSION_TAG" -} - - -# Copy files from the source directory to the destination directory recursively - - - -## Go back to root directory -cd .. diff --git a/repos/win_scripts/kaleido.cmd b/repos/win_scripts/kaleido.cmd deleted file mode 100644 index 79a25b0b..00000000 --- a/repos/win_scripts/kaleido.cmd +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -setlocal -chdir /d "%~dp0" -.\bin\kaleido.exe %* From 9169ebc3320aec5577b814d9359201464437291b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 11:47:34 -0400 Subject: [PATCH 117/510] Move patches to src/vendor-patches --- .../chromium/108.0.5359.125/108.0.5359.125.patch | 0 .../vendor-patches}/chromium/108.0.5359.125/README.md | 0 .../vendor-patches}/chromium/126.0.6478.126/README.md | 0 .../chromium/88.0.4324.150/88.0.4324.150.patch | 0 .../vendor-patches}/chromium/88.0.4324.150/README.md | 0 toolchain/src/04-patch_chromium.sh | 4 ++-- 6 files changed, 2 insertions(+), 2 deletions(-) rename {patches => src/vendor-patches}/chromium/108.0.5359.125/108.0.5359.125.patch (100%) rename {patches => src/vendor-patches}/chromium/108.0.5359.125/README.md (100%) rename {patches => src/vendor-patches}/chromium/126.0.6478.126/README.md (100%) rename {patches => src/vendor-patches}/chromium/88.0.4324.150/88.0.4324.150.patch (100%) rename {patches => src/vendor-patches}/chromium/88.0.4324.150/README.md (100%) diff --git a/patches/chromium/108.0.5359.125/108.0.5359.125.patch b/src/vendor-patches/chromium/108.0.5359.125/108.0.5359.125.patch similarity index 100% rename from patches/chromium/108.0.5359.125/108.0.5359.125.patch rename to src/vendor-patches/chromium/108.0.5359.125/108.0.5359.125.patch diff --git a/patches/chromium/108.0.5359.125/README.md b/src/vendor-patches/chromium/108.0.5359.125/README.md similarity index 100% rename from patches/chromium/108.0.5359.125/README.md rename to src/vendor-patches/chromium/108.0.5359.125/README.md diff --git a/patches/chromium/126.0.6478.126/README.md b/src/vendor-patches/chromium/126.0.6478.126/README.md similarity index 100% rename from patches/chromium/126.0.6478.126/README.md rename to src/vendor-patches/chromium/126.0.6478.126/README.md diff --git a/patches/chromium/88.0.4324.150/88.0.4324.150.patch b/src/vendor-patches/chromium/88.0.4324.150/88.0.4324.150.patch similarity index 100% rename from patches/chromium/88.0.4324.150/88.0.4324.150.patch rename to src/vendor-patches/chromium/88.0.4324.150/88.0.4324.150.patch diff --git a/patches/chromium/88.0.4324.150/README.md b/src/vendor-patches/chromium/88.0.4324.150/README.md similarity index 100% rename from patches/chromium/88.0.4324.150/README.md rename to src/vendor-patches/chromium/88.0.4324.150/README.md diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh index 4d9e4d18..28d5e3b9 100755 --- a/toolchain/src/04-patch_chromium.sh +++ b/toolchain/src/04-patch_chromium.sh @@ -25,11 +25,11 @@ util_export_version $NO_VERBOSE || echo "Running 04-patch_chromium" -PATCH_DIR="$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" +PATCH_DIR="$MAIN_DIR/src/vendor-patches/chromium/$CHROMIUM_VERSION_TAG" if [ -d "$PATCH_DIR" ]; then git -C $MAIN_DIR/vendor/src/ apply $PATCH_DIR/*.patch else - mkdir -p "$MAIN_DIR/patches/chromium/$CHROMIUM_VERSION_TAG" + mkdir -p "$PATCH_DIR" $NO_VERBOSE || echo "No patches found for $CHROMIUM_VERSION_TAG, creating directory." fi From 72ab5ceb79f2be12eaaf39800197206cecc7fd4a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 12:23:01 -0400 Subject: [PATCH 118/510] Add more gn stuff to append_gn, change name: Change name to refect increased scope, will try to run whole gn process --- toolchain/src/05-gen_preamble.sh | 2 -- .../{06-append_gn.sh => 06-build_ninja.sh} | 21 ++++++++++++------- toolchain/src/include/globals | 5 ++++- toolchain/src/xx-all.sh | 9 ++++++-- 4 files changed, 25 insertions(+), 12 deletions(-) rename toolchain/src/{06-append_gn.sh => 06-build_ninja.sh} (51%) diff --git a/toolchain/src/05-gen_preamble.sh b/toolchain/src/05-gen_preamble.sh index 7670b700..7b07c70d 100755 --- a/toolchain/src/05-gen_preamble.sh +++ b/toolchain/src/05-gen_preamble.sh @@ -2,8 +2,6 @@ set -e set -u -# TODO: add --check and --stat, and defaults - usage=( "gen_preamble will generate a license file, etc." "It copies some stuff into the src/kaleido directory, not sure why." diff --git a/toolchain/src/06-append_gn.sh b/toolchain/src/06-build_ninja.sh similarity index 51% rename from toolchain/src/06-append_gn.sh rename to toolchain/src/06-build_ninja.sh index 2380c4a7..f63cf352 100644 --- a/toolchain/src/06-append_gn.sh +++ b/toolchain/src/06-build_ninja.sh @@ -2,16 +2,15 @@ set -e set -u -# TODO: add --check and --stat, and defaults - usage=( - "append_gn will append a build directive to the headless gn configuration." - "we originally only do this in windows, I'm not sure why, and I believe the gn gen" - "line would do it automatically, so we should test remove it by trial and error." - "Furthermore, this patch will probably have to be adjust by version." + "build_ninja will run modify and run gn, the last build step before actual chromium build." + "It appends information about our app to the gn configuration in src/headless." + "" "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" + "" + "TODO: add check, list, etc" ) ## PROCESS FLAGS @@ -21,15 +20,23 @@ ARGFLAGS=() SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" -$NO_VERBOSE || echo "Running 06-append_gn.sh" +$NO_VERBOSE || echo "Running 06-build_ninja.sh" util_get_version util_export_version PATCH="$MAIN_DIR/toolschain/gn_append.patch" +$NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" echo "THIS NEEDS TO BE INSPECTED. IS IT NECESSARY? WHY ONLY ON WINDOWS?" if [[ "$PLATFORM" == "WINDOWS" ]]; then git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" && exit 0 || true git -C $MAIN_DIR/vendor/src apply "$PATCH" fi + +$NO_VERBOSE || echo "Create build directory and placing build arguments inside of it, and running gn gen" + +mkdir -p $MAIN_DIR/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH} +cp ..\win_scripts\args_$arch.gn -Destination out\Kaleido_win_$arch\args.gn +# Perform build, result will be out/Kaleido_win/kaleido +gn gen out\Kaleido_win_$arch diff --git a/toolchain/src/include/globals b/toolchain/src/include/globals index 17475713..0dabcc9e 100644 --- a/toolchain/src/include/globals +++ b/toolchain/src/include/globals @@ -3,7 +3,7 @@ export CPUS=${CPUS:-1} # Add depot_tools to our path, if [[ "$PLATFORM" == "WINDOWS" ]]; then - export PATH="$MAIN_DIR/vendor/depot_tools/bootstrap:$PATH" + export PATH="$MAIN_DIR/vendor/depot_tools/bootstrap:$MAIN_DIR/vendor/depot_tools/:$PATH" $NO_VERBOSE || echo "Modified path to add future depot_tools/bootstrap/ directory" elif [[ "$PLATFORM" == "LINUX" ]]; then export PATH="$MAIN_DIR/vendor/depot_tools:$PATH" @@ -12,3 +12,6 @@ elif [[ "$PLATFORM" == "OSX" ]]; then export PATH="$MAIN_DIR/vendor/depot_tools:$PATH" $NO_VERBOSE || echo "Modified path to add future depot_tools/ directory" fi + +export DEPOT_TOOLS_UPDATE=0 # don't automatically checkout main when sync'ing depot_tools +export DEPOT_TOOLS_WIN_TOOLCHAIN=0 # we install our windows sdk's manually (automatic is for googlers only) diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 55d56d37..a557b434 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -26,7 +26,7 @@ usage=( "-3: ksync - downloads chromium" "-4: patch_chromium - patches chromium w/ our patches" "-5: gen_preamble - copies readme, licenses, etc" - "-6: append_gn - appends a build directive to gn" + "-6: build_ninja - prepares gn and runs gn gen to build ninja" "-7:" "-8:" ) @@ -113,7 +113,12 @@ if $FIVE || $ALL; then fi if $SIX || $ALL; then - : + $NO_VERBOSE || echo "Running 6" + if $(which buil_ninja &> /dev/null); then + build_ninja $(flags_resolve "" ":") + else + $SCRIPT_DIR/06-build_ninja.sh $(flags_resolve "" ":") + fi fi if $SEVEN || $ALL; then From 733495e28f538395feb530b2a93618037e28738a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 12:56:06 -0400 Subject: [PATCH 119/510] Remove host-arch detect, unnecessary --- toolchain/src/include/utilities.sh | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh index d176b52f..89a18778 100644 --- a/toolchain/src/include/utilities.sh +++ b/toolchain/src/include/utilities.sh @@ -121,21 +121,6 @@ if ! [[ "$PLATFORM" =~ ^(OSX|LINUX|WINDOWS)$ ]]; then fi $NO_VERBOSE || echo "Found platform: $PLATFORM" -# The following code tries to determine what architecture we're running -HOST_ARCH=$(uname -m) -if [[ "$HOST_ARCH" == x86_64* ]]; then - HOST_ARCH="x64" -elif [[ "$HOST_ARCH" == i*86 ]]; then - HOST_ARCH="x32" -elif [[ "$HOST_ARCH" == arm* ]]; then - HOST_ARCH="arm" -fi - -if ! [[ "$HOST_ARCH" =~ ^(x64|x32|arm)$ ]]; then - util_error "$HOST_ARCH is not a supported architecture for building." -fi -$NO_VERBOSE || echo "Found architecture: $HOST_ARCH" - ### ### FIND THE GIT DIRECTORY ### ### From 167635f65b7f5e025e8c5aa6d3282f7be2c7ae7a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 12:56:18 -0400 Subject: [PATCH 120/510] Finish ninja gn build --- toolchain/gn_args.gn.template | 23 +++++++++++++++++ toolchain/src/06-build_ninja.sh | 45 ++++++++++++++++++++++++++++----- toolchain/src/include/globals | 2 ++ 3 files changed, 63 insertions(+), 7 deletions(-) create mode 100644 toolchain/gn_args.gn.template diff --git a/toolchain/gn_args.gn.template b/toolchain/gn_args.gn.template new file mode 100644 index 00000000..4b28d4c7 --- /dev/null +++ b/toolchain/gn_args.gn.template @@ -0,0 +1,23 @@ +# Copied windows/linux/mac compatible options from //build/args/headless.gn +# Embed resource.pak into binary to simplify deployment. +headless_use_embedded_resources = true + +# Chromium 124 needs this but no effect on Chomrium 108 +headless_enable_commands = false + +# Use embedded data instead external files for headless in order +# to simplify deployment. +v8_use_external_startup_data = false + +enable_nacl = false +enable_remoting = false + +# Debug / symbols +symbol_level=0 +blink_symbol_level=0 +is_debug=false + +# The following will be generated by the buildscript +# is_component_build=false +# is_official_build=false +# target_cpu = "x64" diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index f63cf352..f302dcc1 100644 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -5,38 +5,69 @@ set -u usage=( "build_ninja will run modify and run gn, the last build step before actual chromium build." "It appends information about our app to the gn configuration in src/headless." + "This is currently not version or platform dependent, but it is reasonable it will have to be one day." "" "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" "" "TODO: add check, list, etc" + + "Final: this will generate a release build, meaning longer compile, faster startup, perfect timestamp." + "Updating timestamp will prompt a rebuild of lots of libraries you otherwise don't need to rebuild, so" + "do this at the end." + "build_ninja [-f|--final]" ) ## PROCESS FLAGS -FLAGS=() +FLAGS=("-f" "--final") ARGFLAGS=() SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" +FINAL="$(flags_resolve false "-f" "--final")" +$FINAL && DEV=false || DEV=true + $NO_VERBOSE || echo "Running 06-build_ninja.sh" +$NO_VERBOSE || echo "Release build: $FINAL" +$NO_VERBOSE || echo "Dev build: $DEV" + util_get_version util_export_version PATCH="$MAIN_DIR/toolschain/gn_append.patch" -$NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" echo "THIS NEEDS TO BE INSPECTED. IS IT NECESSARY? WHY ONLY ON WINDOWS?" +echo "What if we remove it from windows?" +echo "What if we add it to linux, to mac?" + +$NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" if [[ "$PLATFORM" == "WINDOWS" ]]; then git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" && exit 0 || true - git -C $MAIN_DIR/vendor/src apply "$PATCH" + git -C $MAIN_DIR/vendor/src apply "$PATCH" || util_error "Could not apply gn_append.patch, please inspect" fi $NO_VERBOSE || echo "Create build directory and placing build arguments inside of it, and running gn gen" -mkdir -p $MAIN_DIR/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH} -cp ..\win_scripts\args_$arch.gn -Destination out\Kaleido_win_$arch\args.gn -# Perform build, result will be out/Kaleido_win/kaleido -gn gen out\Kaleido_win_$arch +OUTDIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" +ARGS_FILE="${OUTDIR}/args.gn" +TEMPLATE_FILE="${MAIN_DIR}/toolchain/gn_args.gn.template" + +mkdir -p ${OUTDIR} + +SUFFIX=" +is_component_build=$DEV +is_official_build=$FINAL +target_cpu=${TARGET_ARCH}" + +if [[ ! -f "${ARGS_FILE}" ]] or [[ $(diff $ARGS_FILE <(cat $TEMPLATE_FILE <(echo $SUFFIX))) ]]; then + cp "${TEMPLATE_FILE}" "${ARGS_FILE}" + echo "$SUFFIX" >> "${ARGS_FILE}" +fi + +$NO_VERBOSE || echo "Args file:" +$NO_VERBOSE || cat ${ARGS_FILE} + +gn gen $OUTDIR diff --git a/toolchain/src/include/globals b/toolchain/src/include/globals index 0dabcc9e..c5621802 100644 --- a/toolchain/src/include/globals +++ b/toolchain/src/include/globals @@ -1,4 +1,6 @@ export TARGET_ARCH=${TARGET_ARCH:-x64} +# could add verification here for x64. arm64, and arm (linux only... arm w/o 64 is beyond unlikely) + export CPUS=${CPUS:-1} # Add depot_tools to our path, From 6fbb28fcd3f22179468994b9c0d5ffd2eb592eca Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 12:57:52 -0400 Subject: [PATCH 121/510] Reorg gn-ninja fragments --- toolchain/{ => gn_fragments}/gn_append.patch | 0 toolchain/{ => gn_fragments}/gn_args.gn.template | 0 toolchain/src/06-build_ninja.sh | 7 ++++--- 3 files changed, 4 insertions(+), 3 deletions(-) rename toolchain/{ => gn_fragments}/gn_append.patch (100%) rename toolchain/{ => gn_fragments}/gn_args.gn.template (100%) diff --git a/toolchain/gn_append.patch b/toolchain/gn_fragments/gn_append.patch similarity index 100% rename from toolchain/gn_append.patch rename to toolchain/gn_fragments/gn_append.patch diff --git a/toolchain/gn_args.gn.template b/toolchain/gn_fragments/gn_args.gn.template similarity index 100% rename from toolchain/gn_args.gn.template rename to toolchain/gn_fragments/gn_args.gn.template diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index f302dcc1..bbb081fe 100644 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -17,8 +17,9 @@ usage=( "Updating timestamp will prompt a rebuild of lots of libraries you otherwise don't need to rebuild, so" "do this at the end." "build_ninja [-f|--final]" + ) -## PROCESS FLAGS +#TODO: add list FLAGS=("-f" "--final") ARGFLAGS=() @@ -37,7 +38,7 @@ $NO_VERBOSE || echo "Dev build: $DEV" util_get_version util_export_version -PATCH="$MAIN_DIR/toolschain/gn_append.patch" +PATCH="$MAIN_DIR/toolschain/gn_fragments/gn_append.patch" echo "THIS NEEDS TO BE INSPECTED. IS IT NECESSARY? WHY ONLY ON WINDOWS?" echo "What if we remove it from windows?" @@ -53,7 +54,7 @@ $NO_VERBOSE || echo "Create build directory and placing build arguments inside o OUTDIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" ARGS_FILE="${OUTDIR}/args.gn" -TEMPLATE_FILE="${MAIN_DIR}/toolchain/gn_args.gn.template" +TEMPLATE_FILE="${MAIN_DIR}/toolchain/gn_fragments/gn_args.gn.template" mkdir -p ${OUTDIR} From 593ababada962a942156a596e90f84ae372283cd Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:02:18 -0400 Subject: [PATCH 122/510] Update .gitignore --- .gitignore | 49 ++++++++++++++++++++----------------------------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/.gitignore b/.gitignore index f7ba6bad..bbf6164d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,37 +1,28 @@ +# Py build stuff +*.pyc +*.egg-info/ + +# Text editor stuff +*.DS_Store +*.kate-swp *.sw* + +# Old, don't know +.idea/ + +# Toolchain artifacts .set_version bin toolchain/tmp/ + +# Vendor repos vendor/src vendor/depot_tools -*.DS_Store -*.kate-swp -*.pyc -*.egg-info/ -.idea/ -repos/CREDITS.html -repos/.cipd/ -repos/.gclient_entries -repos/.idea -repos/build -repos/cmake-build-debug -repos/kaleido/js/node_modules -repos/kaleido/js/build -repos/kaleido/version -repos/kaleido/LICENSE.txt -repos/kaleido/README.md -repos/kaleido/py/LICENSE.txt -repos/kaleido/py/README.md -repos/kaleido/py/tests/baselines/plotly/failed -repos/kaleido/artifacts -repos/kaleido/kaleido_artifacts*.zip -win_toolchain/*.zip -repos/kaleido/py/kaleido/executable -repos/kaleido/py/kaleido/_version.py -repos/kaleido/py/build/ -repos/kaleido/py/dist/ -repos/kaleido/py/scratch/ -repos/CREDITS.html -repos/*.tar.gz +# Build artifacts +src/kaleido/LICENSE.txt +src/kaleido/README.md +src/kaleido/CREDITS.html +CREDTS.html + From 8d97e3417af815db23e705cd7dc63339b7cd182f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:03:42 -0400 Subject: [PATCH 123/510] Fix typo in gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index bbf6164d..72da0f81 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,6 @@ vendor/depot_tools src/kaleido/LICENSE.txt src/kaleido/README.md src/kaleido/CREDITS.html -CREDTS.html +CREDITS.html From d6c2be8a2db337b9c225967e638e7d5788071452 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:06:21 -0400 Subject: [PATCH 124/510] Set chmod 06-* +x --- toolchain/src/06-build_ninja.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 toolchain/src/06-build_ninja.sh diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh old mode 100644 new mode 100755 From aafb633e0b8261e624488a39d5ce0a32dad38221 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:07:19 -0400 Subject: [PATCH 125/510] Fix syntax typo --- toolchain/src/06-build_ninja.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index bbb081fe..ea4e2944 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -11,7 +11,6 @@ usage=( "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" "" - "TODO: add check, list, etc" "Final: this will generate a release build, meaning longer compile, faster startup, perfect timestamp." "Updating timestamp will prompt a rebuild of lots of libraries you otherwise don't need to rebuild, so" @@ -63,7 +62,7 @@ is_component_build=$DEV is_official_build=$FINAL target_cpu=${TARGET_ARCH}" -if [[ ! -f "${ARGS_FILE}" ]] or [[ $(diff $ARGS_FILE <(cat $TEMPLATE_FILE <(echo $SUFFIX))) ]]; then +if [[ ! -f "${ARGS_FILE}" ]] || [[ $(diff $ARGS_FILE <(cat $TEMPLATE_FILE <(echo $SUFFIX))) ]]; then cp "${TEMPLATE_FILE}" "${ARGS_FILE}" echo "$SUFFIX" >> "${ARGS_FILE}" fi From 663ef2005c0ea2df36ffc57c5069fd93125f4721 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:08:04 -0400 Subject: [PATCH 126/510] Add cd to gen out per gn error --- toolchain/src/06-build_ninja.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index ea4e2944..6787072b 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -70,4 +70,4 @@ fi $NO_VERBOSE || echo "Args file:" $NO_VERBOSE || cat ${ARGS_FILE} -gn gen $OUTDIR +( cd $MAIN_DIR/vendor/src && gn gen $OUTDIR ) From 56c32c11cacc6d5e2ee7e8b718af28eed28aae17 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:15:06 -0400 Subject: [PATCH 127/510] Add quotes to gn arg file --- toolchain/src/06-build_ninja.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 6787072b..9068494b 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -60,7 +60,7 @@ mkdir -p ${OUTDIR} SUFFIX=" is_component_build=$DEV is_official_build=$FINAL -target_cpu=${TARGET_ARCH}" +target_cpu=\"${TARGET_ARCH}\"" if [[ ! -f "${ARGS_FILE}" ]] || [[ $(diff $ARGS_FILE <(cat $TEMPLATE_FILE <(echo $SUFFIX))) ]]; then cp "${TEMPLATE_FILE}" "${ARGS_FILE}" From 8e9037f05dcd12b263e56f80b6e441f9ee250376 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:28:10 -0400 Subject: [PATCH 128/510] Create 07-write_kversion --- toolchain/build_pep440_version.py | 27 +++++++++++++++++++++++++ toolchain/src/06-build_ninja.sh | 1 - toolchain/src/07-write_kversion.sh | 32 ++++++++++++++++++++++++++++++ toolchain/src/xx-all.sh | 9 +++++++-- 4 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 toolchain/build_pep440_version.py create mode 100755 toolchain/src/07-write_kversion.sh diff --git a/toolchain/build_pep440_version.py b/toolchain/build_pep440_version.py new file mode 100644 index 00000000..d6756587 --- /dev/null +++ b/toolchain/build_pep440_version.py @@ -0,0 +1,27 @@ +import subprocess +import os + + +def git_pep440_version(path): + def git_command(args): + prefix = ['git', '-C', path] + return str(subprocess.check_output(prefix + args).decode().strip()) + version_full = git_command(['describe', '--tags', '--dirty=.dirty']) + version_tag = git_command(['describe', '--tags', '--abbrev=0']) + + # Strip leaving v (e.g. "v0.0.1" -> "0.0.1") + if version_tag[0] == "v": + version_tag = version_tag[1:] + version_tail = version_full[len(version_tag) + 1:] + else: + version_tail = version_full[len(version_tag):] + + return version_tag + version_tail.replace('-', '.dev', 1).replace('-', '+', 1) + + +if __name__ == "__main__": + repo_path = os.path.dirname( + os.path.dirname( + os.path.dirname(os.path.realpath(__file__)))) + version = git_pep440_version(repo_path) + print(version) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 9068494b..ec708b56 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -18,7 +18,6 @@ usage=( "build_ninja [-f|--final]" ) -#TODO: add list FLAGS=("-f" "--final") ARGFLAGS=() diff --git a/toolchain/src/07-write_kversion.sh b/toolchain/src/07-write_kversion.sh new file mode 100755 index 00000000..5d220339 --- /dev/null +++ b/toolchain/src/07-write_kversion.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -e +set -u + +usage=( + "write_kversion creates at text file that lists the kaleido version" + "It is not listed as a dependency so it should not provoke a rebuild." + "However, it is a runtime dependency and kaleido will crash without it." + "" + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" +) + +FLAGS=() +ARGFLAGS=() + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +. "$SCRIPT_DIR/include/utilities.sh" + +FINAL="$(flags_resolve false "-f" "--final")" +$FINAL && DEV=false || DEV=true + +$NO_VERBOSE || echo "Running 07-write_kversion" + +util_get_version +util_export_version + +version=$(python3 ${MAIN_DIR}/toolchain/build_pep440_version.py) +$NO_VERBOSE || echo "Version: $version" +echo -n $version > ${MAIN_DIR}/src/kaleido/version diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index a557b434..300ee430 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -114,7 +114,7 @@ fi if $SIX || $ALL; then $NO_VERBOSE || echo "Running 6" - if $(which buil_ninja &> /dev/null); then + if $(which build_ninja &> /dev/null); then build_ninja $(flags_resolve "" ":") else $SCRIPT_DIR/06-build_ninja.sh $(flags_resolve "" ":") @@ -122,7 +122,12 @@ if $SIX || $ALL; then fi if $SEVEN || $ALL; then - : + $NO_VERBOSE || echo "Running 7" + if $(which write_kversion &> /dev/null); then + write_kversion $(flags_resolve "" ":") + else + $SCRIPT_DIR/07-write_kversion.sh $(flags_resolve "" ":") + fi fi if $EIGHT || $ALL; then From 2370da0f53ffbd7e064e8faca0d6ca907840f27b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:29:55 -0400 Subject: [PATCH 129/510] Fix typos in xx-all.sh --- toolchain/src/xx-all.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 300ee430..298e1115 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -27,11 +27,11 @@ usage=( "-4: patch_chromium - patches chromium w/ our patches" "-5: gen_preamble - copies readme, licenses, etc" "-6: build_ninja - prepares gn and runs gn gen to build ninja" - "-7:" + "-7: write_kversion - writes a version text file for kaleido" "-8:" ) -FLAGS=(":" "-0:" "-1:" "-2:" "-3:" "-4:" "-5:" "-6:" "-7:", "-8:") +FLAGS=(":" "-0:" "-1:" "-2:" "-3:" "-4:" "-5:" "-6:" "-7:" "-8:") ARGFLAGS=("") SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) From ee0752b32bebd1434a9bf67412ddf1f57d9e273d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:31:43 -0400 Subject: [PATCH 130/510] Add debug info to version py --- toolchain/build_pep440_version.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/toolchain/build_pep440_version.py b/toolchain/build_pep440_version.py index d6756587..6633c782 100644 --- a/toolchain/build_pep440_version.py +++ b/toolchain/build_pep440_version.py @@ -1,6 +1,9 @@ import subprocess import os +import sys +def eprint(*args, **kwargs): + print(*args, file=sys.stderr, **kwargs), def git_pep440_version(path): def git_command(args): @@ -23,5 +26,6 @@ def git_command(args): repo_path = os.path.dirname( os.path.dirname( os.path.dirname(os.path.realpath(__file__)))) + eprint(repo_path) version = git_pep440_version(repo_path) print(version) From 0fdb8708bc5705c777efb1f7e25634fe49a939cc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:36:06 -0400 Subject: [PATCH 131/510] Fix path semantics in version.py --- toolchain/build_pep440_version.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/toolchain/build_pep440_version.py b/toolchain/build_pep440_version.py index 6633c782..320e0003 100644 --- a/toolchain/build_pep440_version.py +++ b/toolchain/build_pep440_version.py @@ -23,9 +23,6 @@ def git_command(args): if __name__ == "__main__": - repo_path = os.path.dirname( - os.path.dirname( - os.path.dirname(os.path.realpath(__file__)))) - eprint(repo_path) + repo_path = os.path.realpath(__file__) # this will resolve to kaleido/toolchain, which is fine version = git_pep440_version(repo_path) print(version) From 9748ae2963467a89f05ad8a0315f92dccc67da6a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:39:10 -0400 Subject: [PATCH 132/510] Revert subtle change to version.py --- toolchain/build_pep440_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/build_pep440_version.py b/toolchain/build_pep440_version.py index 320e0003..6997940c 100644 --- a/toolchain/build_pep440_version.py +++ b/toolchain/build_pep440_version.py @@ -23,6 +23,6 @@ def git_command(args): if __name__ == "__main__": - repo_path = os.path.realpath(__file__) # this will resolve to kaleido/toolchain, which is fine + repo_path = os.path.dirname(os.path.realpath(__file__)) version = git_pep440_version(repo_path) print(version) From 369bff8e40b48fe8cbd01efb80431272e28357f7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 13:46:14 -0400 Subject: [PATCH 133/510] Remove vestigal flag from 07 --- toolchain/src/07-write_kversion.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/toolchain/src/07-write_kversion.sh b/toolchain/src/07-write_kversion.sh index 5d220339..d171f777 100755 --- a/toolchain/src/07-write_kversion.sh +++ b/toolchain/src/07-write_kversion.sh @@ -19,9 +19,6 @@ ARGFLAGS=() SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) . "$SCRIPT_DIR/include/utilities.sh" -FINAL="$(flags_resolve false "-f" "--final")" -$FINAL && DEV=false || DEV=true - $NO_VERBOSE || echo "Running 07-write_kversion" util_get_version From 2dfddd18b49973df3219f570b8252c912e19ff2c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:11:15 -0400 Subject: [PATCH 134/510] Rework c++ naming and add 08-sync_cpp --- src/kaleido/{README-CC.md => README.md} | 0 .../{cc-1.5 => cc-108.0.5359.125}/kaleido.cc | 0 .../{cc-1.5 => cc-108.0.5359.125}/kaleido.h | 0 .../scopes/Base.h | 0 .../scopes/Factory.h | 0 .../scopes/Plotly.h | 0 .../{cc-1.5 => cc-108.0.5359.125}/utils.h | 0 src/kaleido/cc-126.0.6478.126/kaleido.cc | 649 ++++++++++++++++++ .../{cc => cc-126.0.6478.126}/kaleido.h | 0 .../{cc => cc-126.0.6478.126}/scopes/Base.h | 0 .../scopes/Factory.h | 0 .../{cc => cc-126.0.6478.126}/scopes/Plotly.h | 0 src/kaleido/{cc => cc-126.0.6478.126}/utils.h | 0 .../{cc => cc-88.0.4324.150}/kaleido.cc | 0 src/kaleido/cc-88.0.4324.150/kaleido.h | 77 +++ src/kaleido/cc-88.0.4324.150/scopes/Base.h | 80 +++ src/kaleido/cc-88.0.4324.150/scopes/Factory.h | 22 + src/kaleido/cc-88.0.4324.150/scopes/Plotly.h | 128 ++++ src/kaleido/cc-88.0.4324.150/utils.h | 27 + toolchain/src/08-sync_cpp.sh | 27 + toolchain/src/xx-all.sh | 28 +- 21 files changed, 1035 insertions(+), 3 deletions(-) rename src/kaleido/{README-CC.md => README.md} (100%) rename src/kaleido/{cc-1.5 => cc-108.0.5359.125}/kaleido.cc (100%) rename src/kaleido/{cc-1.5 => cc-108.0.5359.125}/kaleido.h (100%) rename src/kaleido/{cc-1.5 => cc-108.0.5359.125}/scopes/Base.h (100%) rename src/kaleido/{cc-1.5 => cc-108.0.5359.125}/scopes/Factory.h (100%) rename src/kaleido/{cc-1.5 => cc-108.0.5359.125}/scopes/Plotly.h (100%) rename src/kaleido/{cc-1.5 => cc-108.0.5359.125}/utils.h (100%) create mode 100644 src/kaleido/cc-126.0.6478.126/kaleido.cc rename src/kaleido/{cc => cc-126.0.6478.126}/kaleido.h (100%) rename src/kaleido/{cc => cc-126.0.6478.126}/scopes/Base.h (100%) rename src/kaleido/{cc => cc-126.0.6478.126}/scopes/Factory.h (100%) rename src/kaleido/{cc => cc-126.0.6478.126}/scopes/Plotly.h (100%) rename src/kaleido/{cc => cc-126.0.6478.126}/utils.h (100%) rename src/kaleido/{cc => cc-88.0.4324.150}/kaleido.cc (100%) create mode 100644 src/kaleido/cc-88.0.4324.150/kaleido.h create mode 100644 src/kaleido/cc-88.0.4324.150/scopes/Base.h create mode 100644 src/kaleido/cc-88.0.4324.150/scopes/Factory.h create mode 100644 src/kaleido/cc-88.0.4324.150/scopes/Plotly.h create mode 100644 src/kaleido/cc-88.0.4324.150/utils.h create mode 100755 toolchain/src/08-sync_cpp.sh diff --git a/src/kaleido/README-CC.md b/src/kaleido/README.md similarity index 100% rename from src/kaleido/README-CC.md rename to src/kaleido/README.md diff --git a/src/kaleido/cc-1.5/kaleido.cc b/src/kaleido/cc-108.0.5359.125/kaleido.cc similarity index 100% rename from src/kaleido/cc-1.5/kaleido.cc rename to src/kaleido/cc-108.0.5359.125/kaleido.cc diff --git a/src/kaleido/cc-1.5/kaleido.h b/src/kaleido/cc-108.0.5359.125/kaleido.h similarity index 100% rename from src/kaleido/cc-1.5/kaleido.h rename to src/kaleido/cc-108.0.5359.125/kaleido.h diff --git a/src/kaleido/cc-1.5/scopes/Base.h b/src/kaleido/cc-108.0.5359.125/scopes/Base.h similarity index 100% rename from src/kaleido/cc-1.5/scopes/Base.h rename to src/kaleido/cc-108.0.5359.125/scopes/Base.h diff --git a/src/kaleido/cc-1.5/scopes/Factory.h b/src/kaleido/cc-108.0.5359.125/scopes/Factory.h similarity index 100% rename from src/kaleido/cc-1.5/scopes/Factory.h rename to src/kaleido/cc-108.0.5359.125/scopes/Factory.h diff --git a/src/kaleido/cc-1.5/scopes/Plotly.h b/src/kaleido/cc-108.0.5359.125/scopes/Plotly.h similarity index 100% rename from src/kaleido/cc-1.5/scopes/Plotly.h rename to src/kaleido/cc-108.0.5359.125/scopes/Plotly.h diff --git a/src/kaleido/cc-1.5/utils.h b/src/kaleido/cc-108.0.5359.125/utils.h similarity index 100% rename from src/kaleido/cc-1.5/utils.h rename to src/kaleido/cc-108.0.5359.125/utils.h diff --git a/src/kaleido/cc-126.0.6478.126/kaleido.cc b/src/kaleido/cc-126.0.6478.126/kaleido.cc new file mode 100644 index 00000000..e5c5a2d6 --- /dev/null +++ b/src/kaleido/cc-126.0.6478.126/kaleido.cc @@ -0,0 +1,649 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// A small example application showing the use of the C++ Headless Chrome +// library. It navigates to a web site given on the command line, waits for it +// to load and prints out the DOM. +// +// Tip: start reading from the main() function below. + +#include "base/bind.h" +#include "base/command_line.h" +#include "base/memory/weak_ptr.h" +#include "base/json/json_reader.h" +#include "base/json/json_writer.h" +#include "base/strings/stringprintf.h" +#include "base/strings/string_split.h" +#include "base/files/file_util.h" +#include "base/environment.h" +#include "headless/public/devtools/domains/page.h" +#include "headless/public/devtools/domains/runtime.h" +#include "headless/public/headless_browser.h" +#include "headless/public/headless_devtools_client.h" +#include "headless/public/headless_devtools_target.h" +#include "headless/public/headless_web_contents.h" +#include "ui/gfx/geometry/size.h" +#include "third_party/abseil-cpp/absl/types/optional.h" + +#include "headless/app/kaleido.h" +#include "scopes/Factory.h" +#include "scopes/Base.h" +#include "utils.h" + +#include +#include +#include +#include +#include "stdlib.h" + + +#if defined(OS_WIN) +#include "content/public/app/sandbox_helper_win.h" +#include "sandbox/win/src/sandbox_types.h" + +namespace base { + // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here + bool ExecutableExistsInPath(Environment* env, + const std::string& executable) { + std::string path; + if (!env->GetVar("PATH", &path)) { + LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; + return false; + } + + for (const StringPiece& cur_path: + SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { + + // Build wide strings using wstringstreams + std::wstringstream wpath_ss; + wpath_ss << std::string(cur_path).c_str(); + + std::wstringstream wexecutable_ss; + wexecutable_ss << executable.c_str() << ".exe"; + + std::wstring wpath_ss_as_string = wpath_ss.str(); + FilePath::StringPieceType w_cur_path(wpath_ss_as_string); + FilePath file(w_cur_path); + + if (PathExists(file.Append(wexecutable_ss.str()))) { + return true; + } + } + return false; + } +} +#endif + +Kaleido::Kaleido( + headless::HeadlessBrowser* browser, + headless::HeadlessWebContents* web_contents, + std::string tmpFileName, + kaleido::scopes::BaseScope *scope_ptr +) + : tmpFileName(tmpFileName), + scope(scope_ptr), + env(base::Environment::Create()), + popplerAvailable(base::ExecutableExistsInPath(env.get(), "pdftops")), + inkscapeAvailable(base::ExecutableExistsInPath(env.get(), "inkscape")), + browser_(browser), + web_contents_(web_contents), + devtools_client_(headless::HeadlessDevToolsClient::Create()) { + + // Populate remainingLocalScriptsFiles vector + for (std::string const &s: scope_ptr->LocalScriptFiles()) { + localScriptFiles.push_back(s); + } + base::GetCurrentDirectory(&cwd); + web_contents_->AddObserver(this); +} + +Kaleido::~Kaleido() { + + // Delete tmp file + std::remove(tmpFileName.c_str()); + + // Note that we shut down the browser last, because it owns objects such as + // the web contents which can no longer be accessed after the browser is gone. + devtools_client_->GetPage()->RemoveObserver(this); + web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get()); + web_contents_->RemoveObserver(this); + browser_->Shutdown(); +} + +// This method is called when the tab is ready for DevTools inspection. +void Kaleido::DevToolsTargetReady() { + // Attach our DevTools client to the tab so that we can send commands to it + // and observe events. + web_contents_->GetDevToolsTarget()->AttachClient(devtools_client_.get()); + + // Start observing events from DevTools's page domain. This lets us get + // notified when the page has finished loading. Note that it is possible + // the page has already finished loading by now. See + // HeadlessShell::DevToolTargetReady for how to handle that case correctly. + devtools_client_->GetPage()->AddObserver(this); + devtools_client_->GetPage()->Enable(); + + devtools_client_->GetRuntime()->AddObserver(this); + devtools_client_->GetRuntime()->Enable(); +} + +void Kaleido::OnLoadEventFired( + const headless::page::LoadEventFiredParams& params) { + // Enable runtime + nextScriptIndex = 0; + LoadNextScript(); +} + +void Kaleido::OnExecutionContextCreated( + const headless::runtime::ExecutionContextCreatedParams& params) { + contextId = params.GetContext()->GetId(); +} + +void Kaleido::LoadNextScript() { + if (localScriptFiles.size() <= nextScriptIndex) { + // Finished processing startup scripts, get heap memory usage, which will then start ExportNext loop + devtools_client_->GetRuntime()->Evaluate( + "JSON.stringify({jsHeapSizeLimit: window.performance.memory.jsHeapSizeLimit})", + base::BindOnce(&Kaleido::OnHeapEvalComplete, weak_factory_.GetWeakPtr())); + return; + } else { + // Load Script + std::string scriptPath(localScriptFiles[nextScriptIndex++]); + std::ifstream t(scriptPath); + if (!t.is_open()) { + // Reached end of file, + // Shut down the browser (see ~Kaleido). + LOG(ERROR) << "Failed to find, or open, local file at " + << scriptPath << " with working directory " << cwd.value() << std::endl; + delete g_example; + g_example = nullptr; + return; + } + std::string scriptString((std::istreambuf_iterator(t)), + std::istreambuf_iterator()); + + devtools_client_->GetRuntime()->CompileScript( + scriptString, + scriptPath, + true, + base::BindOnce(&Kaleido::OnScriptCompileComplete, weak_factory_.GetWeakPtr())); + } +} + +void Kaleido::ExportNext() { + std::string exportSpec; + while (true) { + // Loop until we receive a valid export request, break loop below when a valid request is received + if (!std::getline(std::cin, exportSpec)) { + // Reached end of file, + // Shut down the browser (see ~Kaleido). + delete g_example; + g_example = nullptr; + return; + } + + absl::optional json = base::JSONReader::Read(exportSpec); + + if (!json.has_value()) { + kaleido::utils::writeJsonMessage(1, "Invalid JSON"); + continue; + } + base::Value::Dict &jsonDict = json->GetDict(); + + // Read "operation" key, defaulting to "export" if none provided. + std::string *maybe_operation = jsonDict.FindString("operation"); + std::string operation; // We're avoiding carrying pointers through ops + if (maybe_operation) { + operation = *maybe_operation; + } else { + operation = std::string("export"); + } + + // Only operation right now is export, but others can be added in the future + if (operation != "export") { + // Unsupported operation + kaleido::utils::writeJsonMessage(1, base::StringPrintf("Invalid operation: %s", operation.c_str())); + continue; + } else { + std::string *maybe_format = jsonDict.FindString("format"); + if (maybe_format) { + std::string format = *maybe_format; + + // Validate poppler installed if format is eps + if (format == "eps" && !popplerAvailable) { + kaleido::utils::writeJsonMessage( + 530, + "Exporting to EPS format requires the pdftops command " + "which is provided by the poppler library. " + "Please install poppler and make sure the pdftops command " + "is available on the PATH"); + continue; + } + + // Validate inkscape installed if format is emf + if (format == "emf" && !inkscapeAvailable) { + kaleido::utils::writeJsonMessage( + 530, + "Exporting to EMF format requires inkscape. " + "Please install inkscape and make sure it is available on the PATH"); + continue; + } + } + + std::string exportFunction = base::StringPrintf( + "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", + scope->ScopeName().c_str()); + + std::vector> args = scope->BuildCallArguments(); + + // Prepend Export spec as first argument + args.insert(args.begin(), + headless::runtime::CallArgument::Builder() + .SetValue(base::Value::ToUniquePtrValue(json->Clone())) + .Build() + ); + + std::unique_ptr eval_params = + headless::runtime::CallFunctionOnParams::Builder() + .SetFunctionDeclaration(exportFunction) + .SetArguments(std::move(args)) + .SetExecutionContextId(contextId) + .SetAwaitPromise(true).Build(); + + devtools_client_->GetRuntime()->CallFunctionOn( + std::move(eval_params), + base::BindOnce(&Kaleido::OnExportComplete, weak_factory_.GetWeakPtr())); + // Break out of loop, OnExportComplete callback responsible for calling ExportNext again after this + // the current request is processed. + break; + } + } +} + +void Kaleido::OnExportComplete( + std::unique_ptr result) { + + // Make sure the evaluation succeeded before reading the result. + if (result->HasExceptionDetails()) { + std::string error = base::StringPrintf( + "Failed to serialize document: %s", result->GetExceptionDetails()->GetText().c_str()); + kaleido::utils::writeJsonMessage(1, error); + Reload(); + return; + } else { + // JSON parse result to get format + std::string responseString = result->GetResult()->GetValue()->GetString(); + absl::optional responseJson = base::JSONReader::Read(responseString); + if (!responseJson.has_value()) { + std::string error = base::StringPrintf("Export returned null"); + kaleido::utils::writeJsonMessage(1, error); + Reload(); + return; + } + base::Value::Dict &responseDict = responseJson->GetDict(); + + // format + std::string *format_maybe = responseDict.FindString("format"); + + if (!format_maybe) { + std::string error = base::StringPrintf("Malformed Export JSON: format key not found."); + kaleido::utils::writeJsonMessage(1, error); + Reload(); + return; + } + + std::string format = *format_maybe; + + if (format == "pdf" || format == "eps") { + // Lots of possible undefined behavior here if these things don't exist + // But all are unused variables that were in the original. + + + //std::string &bgColor = *responseDict.FindString("pdfBgColor"); + //std::string &imgData = *responseDict.FindString("result"); + + //int width = responseDict.FindInt("width").value(); + //int height = responseDict.FindInt("height").value(); + + //double scale = responseDict.FindDouble("scale").value(); + + devtools_client_->GetPage()->GetExperimental()->PrintToPDF( + headless::page::PrintToPDFParams::Builder() + .SetMarginBottom(0) + .SetMarginTop(0) + .SetMarginLeft(0) + .SetMarginRight(0) + .SetPrintBackground(true) + .SetPreferCSSPageSize(true) // Use @page {size: } CSS style + .Build(), + base::BindOnce(&Kaleido::OnPDFCreated, weak_factory_.GetWeakPtr(), responseString)); + } else if (format == "emf"){ + // Write SVG data to temporary file + std::string &svgData = *responseDict.FindString("result"); // Hope it is there! + + // Write pdf to temporary file + std::string inFileName = std::tmpnam(nullptr) + std::string(".svg"); + std::ofstream svgFile; + svgFile.open(inFileName, std::ios::out); + svgFile << svgData; + svgFile.close(); + + // Convert pdf to eps temporary file + std::string outFileName = std::tmpnam(nullptr) + std::string(".emf"); + std::string command = std::string("inkscape --file ") + inFileName + " --export-emf " + outFileName; + int exitCode = std::system(command.c_str()); + if (exitCode != 0) { + kaleido::utils::writeJsonMessage(exitCode, "SVG to EMF conversion failed"); + Reload(); + return; + } + + // Read EMF file as binary + std::ifstream emfStream(outFileName, std::ios::ate | std::ios::binary); + std::streamsize size = emfStream.tellg(); + emfStream.seekg(0, std::ios::beg); + std::vector emfBuffer(size); + if (emfStream.read((char*)emfBuffer.data(), size)) + { + // cleanup temporary files + std::remove(inFileName.c_str()); + std::remove(outFileName.c_str()); + + // Base64 encode EMF data + std::string base64emf = headless::protocol::Binary::fromVector(emfBuffer).toBase64(); + + // Add base64 encoded EMF data to result dict + responseDict.Set("result", base64emf); + // I'm very curious if we can't just write directly to svgData to chane this value since it's a reference to it + // Clearly less readable though - AJP + + // Write results JSON string + std::string response; + // DictionaryValue was a subclass of Value, but not anymore -- AJP + // https://chromium.googlesource.com/chromium/src/+/refs/tags/108.0.5359.125/base/values.h#164 + base::JSONWriter::Write(base::Value(std::move(responseDict)), &response); + + std::cout << response << "\n"; + + Reload(); + return; + } else { + // cleanup temporary files + std::remove(inFileName.c_str()); + std::remove(outFileName.c_str()); + + kaleido::utils::writeJsonMessage(1, "Failed to read temporary EMF file"); + Reload(); + return; + } + } else { + std::cout << result->GetResult()->GetValue()->GetString().c_str() << std::endl; // So python processes the JSON? - AJP + Reload(); + return; + } + } +} + +void Kaleido::Reload() { + std::unique_ptr params = + headless::runtime::GetHeapUsageParams::Builder().Build(); + devtools_client_->GetRuntime()->GetExperimental()->GetHeapUsage( + std::move(params), base::BindOnce(&Kaleido::OnHeapUsageComplete, weak_factory_.GetWeakPtr())); +} + +void Kaleido::OnHeapUsageComplete(std::unique_ptr result) { + double heapUsageRatio = result->GetUsedSize() / jsHeapSizeLimit; + if (heapUsageRatio >= 0.5) { + // Reload page to clear memory + std::unique_ptr params = + headless::page::ReloadParams::Builder().Build(); + devtools_client_->GetPage()->Reload(std::move(params)); + } else { + // Memory usage low enough, keep going without reloading page + ExportNext(); + } +} + +void Kaleido::OnHeapEvalComplete(std::unique_ptr result) { + if (result->HasExceptionDetails()) { + std::string error = base::StringPrintf( + "Failed to get window.performance.memory: %s", result->GetExceptionDetails()->GetText().c_str()); + kaleido::utils::writeJsonMessage(1, error); + Reload(); + return; + } else { + std::string responseString = result->GetResult()->GetValue()->GetString(); + absl::optional responseJson = base::JSONReader::Read(responseString); + base::Value::Dict & responseDict = responseJson->GetDict(); + + // jsHeapSizeLimit + responseDict.FindDouble("jsHeapSizeLimit"); + + ExportNext(); + } +} + +void Kaleido::OnPDFCreated( + std::string responseString, + std::unique_ptr result +) { + if (!result) { + std::string error = std::string("Export to PDF failed"); + kaleido::utils::writeJsonMessage(1, error); + } else { + absl::optional responseJson = base::JSONReader::Read(responseString); + base::Value::Dict &responseDict = responseJson->GetDict(); + + // format + std::string *format_maybe = responseDict.FindString("format"); + if (!format_maybe) { + kaleido::utils::writeJsonMessage(1, "Malformed json, missing key 'format', PDF to EPS conversion failed."); + Reload(); + return; + } + std::string format = *format_maybe; + + + // Initialize empty result + std::string stringResult; + + if (format == "eps") { + // Write pdf to temporary file + std::string inFileName = std::tmpnam(nullptr) + std::string(".pdf"); + std::ofstream pdfFile; + pdfFile.open(inFileName, std::ios::out | std::ios::binary); + pdfFile.write((char*)result->GetData().data(), result->GetData().size()); + pdfFile.close(); + + // Convert pdf to eps temporary file + std::string outFileName = std::tmpnam(nullptr) + std::string(".eps"); + std::string command = std::string("pdftops -eps ") + inFileName + " " + outFileName; + int exitCode = std::system(command.c_str()); + if (exitCode != 0) { + kaleido::utils::writeJsonMessage(exitCode, "PDF to EPS conversion failed"); + Reload(); + return; + } + + // Read EPS file as Text + std::ifstream epsStream(outFileName, std::ios::in); + stringResult = std::string((std::istreambuf_iterator(epsStream)), + std::istreambuf_iterator()); + + // cleanup temporary files + std::remove(inFileName.c_str()); + std::remove(outFileName.c_str()); + } else { // format == "pdf" + // Add base64 encoded PDF bytes to result dict + stringResult = result->GetData().toBase64(); + } + + // Add base64 encoded PDF bytes to result dict + responseDict.Set("result", stringResult); + + // Write results JSON string + std::string response; + base::JSONWriter::Write(base::Value(std::move(responseDict)), &response); + std::cout << response << "\n"; + } + + Reload(); + return; +} + +void Kaleido::OnScriptCompileComplete( + std::unique_ptr result) { + // Make sure the evaluation succeeded before running script + if (result->HasExceptionDetails()) { + LOG(ERROR) << "Failed to compile script: " + << result->GetExceptionDetails()->GetText(); + } else { + std::string plotlyjsScriptId = result->GetScriptId(); + devtools_client_->GetRuntime()->RunScript( + plotlyjsScriptId, + base::BindOnce(&Kaleido::OnRunScriptComplete, weak_factory_.GetWeakPtr()) + ); + } +} + +void Kaleido::OnRunScriptComplete( + std::unique_ptr result) { + // Make sure the evaluation succeeded before reading the result. + if (result->HasExceptionDetails()) { + LOG(ERROR) << "Failed to run script: " + << result->GetExceptionDetails()->GetText(); + } else { + LoadNextScript(); + } +} + +// This function is called by the headless library after the browser has been +// initialized. It runs on the UI thread. +void OnHeadlessBrowserStarted(headless::HeadlessBrowser* browser) { + // In order to open tabs, we first need a browser context. It corresponds to a + // user profile and contains things like the user's cookies, local storage, + // cache, etc. + headless::HeadlessBrowserContext::Builder context_builder = + browser->CreateBrowserContextBuilder(); + + // Here we can set options for the browser context. As an example we enable + // incognito mode, which makes sure profile data is not written to disk. + context_builder.SetIncognitoMode(true); + + // Construct the context and set it as the default. The default browser + // context is used by the Target.createTarget() DevTools command when no other + // context is given. + headless::HeadlessBrowserContext* browser_context = context_builder.Build(); + browser->SetDefaultBrowserContext(browser_context); + + // Get the URL from the command line. + base::CommandLine::StringVector args = + base::CommandLine::ForCurrentProcess()->GetArgs(); + if (args.empty()) { + kaleido::utils::writeJsonMessage(1, "No Scope Specified"); + browser->Shutdown(); + exit(EXIT_FAILURE); + } + + // Get first command line argument as a std::string using a string stream. + // This handles the case where args[0] is a wchar_t on Windows + std::stringstream scope_stringstream; + scope_stringstream << args[0]; + std::string scope_name = scope_stringstream.str(); + + // Instantiate renderer scope + kaleido::scopes::BaseScope *scope = LoadScope(scope_name); + + if (!scope) { + // Invalid scope name + kaleido::utils::writeJsonMessage(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); + browser->Shutdown(); + exit(EXIT_FAILURE); + } else if (!scope->errorMessage.empty()) { + kaleido::utils::writeJsonMessage(1, scope->errorMessage); + browser->Shutdown(); + exit(EXIT_FAILURE); + } + + // Add javascript bundle + scope->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); + + // Build initial HTML file + std::list scriptTags = scope->ScriptTags(); + std::stringstream htmlStringStream; + htmlStringStream << ""; + + // Add script tags + while (!scriptTags.empty()) { + std::string tagValue = scriptTags.front(); + GURL tagUrl(tagValue); + if (tagUrl.is_valid()) { + // Value is a url, use a src of script tag + htmlStringStream << ""; + } else { + // Value is not a url, use a inline JavaScript code + htmlStringStream << "\n"; + } + scriptTags.pop_front(); + } + // Close head and add body with img tag place holder for PDF export + htmlStringStream << ""; + + // Write html to temp file + std::string tmpFileName = std::tmpnam(nullptr) + std::string(".html"); + std::ofstream htmlFile; + htmlFile.open(tmpFileName, std::ios::out); + htmlFile << htmlStringStream.str(); + htmlFile.close(); + + // Create file:// url to temp file + GURL url = GURL(std::string("file://") + tmpFileName); + + // Open a tab (i.e., HeadlessWebContents) in the newly created browser context. + headless::HeadlessWebContents::Builder tab_builder( + browser_context->CreateWebContentsBuilder()); + + // We could set other options for the opened tab here, for now only set URL + tab_builder.SetInitialURL(url); + + // Create an instance of Kaleido + headless::HeadlessWebContents *web_contents = tab_builder.Build(); + + // Initialization succeeded + kaleido::utils::writeJsonMessage(0, "Success"); + + // TODO make scope a unique ptr and use move semantics here + g_example = new Kaleido(browser, web_contents, tmpFileName, scope); +} + +int main(int argc, const char** argv) { +#if !defined(OS_WIN) + // This function must be the first thing we call to make sure child processes + // such as the renderer are started properly. The headless library starts + // child processes by forking and exec'ing the main application. + headless::RunChildProcessIfNeeded(argc, argv); +#endif + + // Create a headless browser instance. There can be one of these per process + // and it can only be initialized once. + headless::HeadlessBrowser::Options::Builder builder(argc, argv); + +#if defined(OS_WIN) + // In windows, you must initialize and set the sandbox, or pass it along + // if it has already been initialized. + sandbox::SandboxInterfaceInfo sandbox_info = {}; + content::InitializeSandboxInfo(&sandbox_info); + builder.SetSandboxInfo(&sandbox_info); +#endif + // Here you can customize browser options. As an example we set the window + // size. + builder.SetWindowSize(gfx::Size(800, 600)); + + // Pass control to the headless library. It will bring up the browser and + // invoke the given callback on the browser UI thread. Note: if you need to + // pass more parameters to the callback, you can add them to the Bind() call + // below. + return headless::HeadlessBrowserMain( + builder.Build(), base::BindOnce(&OnHeadlessBrowserStarted)); +} diff --git a/src/kaleido/cc/kaleido.h b/src/kaleido/cc-126.0.6478.126/kaleido.h similarity index 100% rename from src/kaleido/cc/kaleido.h rename to src/kaleido/cc-126.0.6478.126/kaleido.h diff --git a/src/kaleido/cc/scopes/Base.h b/src/kaleido/cc-126.0.6478.126/scopes/Base.h similarity index 100% rename from src/kaleido/cc/scopes/Base.h rename to src/kaleido/cc-126.0.6478.126/scopes/Base.h diff --git a/src/kaleido/cc/scopes/Factory.h b/src/kaleido/cc-126.0.6478.126/scopes/Factory.h similarity index 100% rename from src/kaleido/cc/scopes/Factory.h rename to src/kaleido/cc-126.0.6478.126/scopes/Factory.h diff --git a/src/kaleido/cc/scopes/Plotly.h b/src/kaleido/cc-126.0.6478.126/scopes/Plotly.h similarity index 100% rename from src/kaleido/cc/scopes/Plotly.h rename to src/kaleido/cc-126.0.6478.126/scopes/Plotly.h diff --git a/src/kaleido/cc/utils.h b/src/kaleido/cc-126.0.6478.126/utils.h similarity index 100% rename from src/kaleido/cc/utils.h rename to src/kaleido/cc-126.0.6478.126/utils.h diff --git a/src/kaleido/cc/kaleido.cc b/src/kaleido/cc-88.0.4324.150/kaleido.cc similarity index 100% rename from src/kaleido/cc/kaleido.cc rename to src/kaleido/cc-88.0.4324.150/kaleido.cc diff --git a/src/kaleido/cc-88.0.4324.150/kaleido.h b/src/kaleido/cc-88.0.4324.150/kaleido.h new file mode 100644 index 00000000..f9de9a6e --- /dev/null +++ b/src/kaleido/cc-88.0.4324.150/kaleido.h @@ -0,0 +1,77 @@ +#include "base/memory/weak_ptr.h" +#include "base/files/file_util.h" +#include "headless/public/devtools/domains/page.h" +#include "headless/public/devtools/domains/runtime.h" +#include "headless/public/headless_browser.h" +#include "headless/public/headless_devtools_client.h" +#include "headless/public/headless_devtools_target.h" +#include "headless/public/headless_web_contents.h" + +#include "scopes/Base.h" + +#ifndef CHROMIUM_ORCA_NEXT_H +#define CHROMIUM_ORCA_NEXT_H + + +class Kaleido : public headless::HeadlessWebContents::Observer, + public headless::page::Observer, + public headless::runtime::Observer +{ +public: + Kaleido(headless::HeadlessBrowser* browser, + headless::HeadlessWebContents* web_contents, + std::string tmpFileName, + kaleido::scopes::BaseScope *scope); + + ~Kaleido() override; + + // headless::HeadlessWebContents::Observer implementation: + void DevToolsTargetReady() override; + + // headless::page::Observer implementation: + void OnLoadEventFired( + const headless::page::LoadEventFiredParams& params) override; + + void OnExecutionContextCreated(const headless::runtime::ExecutionContextCreatedParams& params) override; + + void ExportNext(); + void Reload(); + void OnHeapUsageComplete(std::unique_ptr result); + void OnHeapEvalComplete(std::unique_ptr result); + + void LoadNextScript(); + void OnPDFCreated(std::string responseString, std::unique_ptr result); + + void OnExportComplete(std::unique_ptr result); + void OnScriptCompileComplete(std::unique_ptr result); + void OnRunScriptComplete(std::unique_ptr result); + +private: + int contextId; + double jsHeapSizeLimit; + std::string tmpFileName; + std::vector localScriptFiles; + size_t nextScriptIndex; + kaleido::scopes::BaseScope *scope; + std::unique_ptr env; + bool popplerAvailable; + bool inkscapeAvailable; + base::FilePath cwd; + + + // The headless browser instance. Owned by the headless library. See main(). + headless::HeadlessBrowser* browser_; + // Our tab. Owned by |browser_|. + headless::HeadlessWebContents* web_contents_; + // The DevTools client used to control the tab. + std::unique_ptr devtools_client_; + // A helper for creating weak pointers to this class. + // weak_factory_ MUST BE LAST PROPERTY DEFINED! + base::WeakPtrFactory weak_factory_{this}; +}; + +namespace { + Kaleido* g_example; +} + +#endif //CHROMIUM_ORCA_NEXT_H diff --git a/src/kaleido/cc-88.0.4324.150/scopes/Base.h b/src/kaleido/cc-88.0.4324.150/scopes/Base.h new file mode 100644 index 00000000..836c0b3e --- /dev/null +++ b/src/kaleido/cc-88.0.4324.150/scopes/Base.h @@ -0,0 +1,80 @@ +// +// Created by jmmease on 6/17/20. +// + +#include "headless/public/devtools/domains/runtime.h" +#include "base/strings/string_util.h" + +#include +#include +#include + +#ifndef CHROMIUM_BASESCOPE_H +#define CHROMIUM_BASESCOPE_H + +namespace kaleido { + namespace scopes { + class BaseScope { + public: + BaseScope(); + BaseScope(const BaseScope &v); + virtual ~BaseScope(); + + virtual std::string ScopeName() = 0; + virtual std::vector> BuildCallArguments(); + std::list ScriptTags(); + std::list LocalScriptFiles(); + std::string GetCommandLineSwitch(std::string name); + bool HasCommandLineSwitch(std::string name); + + std::string errorMessage; + + public: + std::list scriptTags; + std::list localScriptFiles; + const BaseScope *plugin; + }; + + BaseScope::BaseScope(): errorMessage(), scriptTags(), localScriptFiles() {} + BaseScope::BaseScope(const BaseScope &v): + scriptTags(v.scriptTags), + localScriptFiles(v.localScriptFiles) + {} + + BaseScope::~BaseScope() { + delete plugin; + } + + std::vector> BaseScope::BuildCallArguments() { + return std::vector>(); + } + + std::list BaseScope::ScriptTags() { + // Return vector as value so that it is copied and caller is free to mutate it + return scriptTags; + } + + std::list BaseScope::LocalScriptFiles() { + // Return vector as value so that it is copied and caller is free to mutate it + return localScriptFiles; + } + + bool BaseScope::HasCommandLineSwitch(std::string name) { + base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); + return commandLine->HasSwitch(name); + } + + std::string BaseScope::GetCommandLineSwitch(std::string name) { + base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); + std::string value = commandLine->GetSwitchValueASCII(name); + + // Trim single and double quotes + base::TrimString(value, "\"", &value); + base::TrimString(value, "\'", &value); + + return value; + } + } +} + +#endif //CHROMIUM_BASESCOPE_H diff --git a/src/kaleido/cc-88.0.4324.150/scopes/Factory.h b/src/kaleido/cc-88.0.4324.150/scopes/Factory.h new file mode 100644 index 00000000..3941cfcc --- /dev/null +++ b/src/kaleido/cc-88.0.4324.150/scopes/Factory.h @@ -0,0 +1,22 @@ +// +// Created by jmmease on 6/17/20. +// + +#include "base/strings/string_util.h" + +#include "Plotly.h" +#include "Base.h" + +#ifndef CHROMIUM_FACTORY_H +#define CHROMIUM_FACTORY_H + +kaleido::scopes::BaseScope* LoadScope(std::string name) { + std::string name_lower = base::ToLowerASCII(name); + if (name_lower == "plotly") { + return new kaleido::scopes::PlotlyScope(); + } else { + return nullptr; + } +} + +#endif //CHROMIUM_FACTORY_H diff --git a/src/kaleido/cc-88.0.4324.150/scopes/Plotly.h b/src/kaleido/cc-88.0.4324.150/scopes/Plotly.h new file mode 100644 index 00000000..db83f47e --- /dev/null +++ b/src/kaleido/cc-88.0.4324.150/scopes/Plotly.h @@ -0,0 +1,128 @@ +// +// Created by jmmease on 6/17/20. +// +#include "Base.h" +#include "base/bind.h" +#include "base/command_line.h" +#include "base/strings/string_util.h" +#include "base/strings/stringprintf.h" +#include "headless/public/devtools/domains/runtime.h" +#include "../utils.h" +#include +#include +#include +#include +#include + +#ifndef CHROMIUM_PLOTLYSCOPE_H +#define CHROMIUM_PLOTLYSCOPE_H + +namespace kaleido { + namespace scopes { + + class PlotlyScope : public BaseScope { + public: + PlotlyScope(); + + ~PlotlyScope() override; + + PlotlyScope(const PlotlyScope &v); + + std::string ScopeName() override; + + std::vector> BuildCallArguments() override; + + public: + std::string topojsonUrl; + std::string mapboxToken; + }; + + PlotlyScope::PlotlyScope() : topojsonUrl(), mapboxToken() { + // Add MathJax config + scriptTags.emplace_back("window.PlotlyConfig = {MathJaxConfig: 'local'}"); + + // Process plotlyjs + if (HasCommandLineSwitch("plotlyjs")) { + std::string plotlyjsArg = GetCommandLineSwitch("plotlyjs"); + + // Check if value is a URL + GURL plotlyjsUrl(plotlyjsArg); + if (plotlyjsUrl.is_valid()) { + scriptTags.push_back(plotlyjsArg); + } else { + // Check if this is a local file path + if (std::ifstream(plotlyjsArg)) { + localScriptFiles.emplace_back(plotlyjsArg); + } else { + errorMessage = base::StringPrintf("--plotlyjs argument is not a valid URL or file path: %s", + plotlyjsArg.c_str()); + return; + } + } + } else { + scriptTags.emplace_back("https://cdn.plot.ly/plotly-latest.min.js"); + } + + // MathJax + if (HasCommandLineSwitch("mathjax")) { + std::string mathjaxArg = GetCommandLineSwitch("mathjax"); + + GURL mathjaxUrl(mathjaxArg); + if (mathjaxUrl.is_valid()) { + std::stringstream mathjaxStringStream; + mathjaxStringStream << mathjaxArg << "?config=TeX-AMS-MML_SVG"; + scriptTags.push_back(mathjaxStringStream.str()); + } else { + errorMessage = base::StringPrintf("--mathjax argument is not a valid URL: %s", mathjaxArg.c_str()); + return; + } + } + + // Topojson + if (HasCommandLineSwitch("topojson")) { + std::string topojsonArg = GetCommandLineSwitch("topojson"); + if (GURL(topojsonArg).is_valid()) { + topojsonUrl = topojsonArg; + } else { + errorMessage = base::StringPrintf("--topojson argument is not a valid URL: %s", + topojsonArg.c_str()); + return; + } + } + + // Process mapbox-token + if (HasCommandLineSwitch("mapbox-access-token")) { + mapboxToken = GetCommandLineSwitch("mapbox-access-token"); + } + } + + PlotlyScope::~PlotlyScope() {} + + PlotlyScope::PlotlyScope(const PlotlyScope &v) : topojsonUrl(v.topojsonUrl), mapboxToken(v.mapboxToken) {} + + std::string PlotlyScope::ScopeName() { + return "plotly"; + } + + std::vector> PlotlyScope::BuildCallArguments() { + std::vector> args; + + // Add mapbox token from command line + args.push_back( + headless::runtime::CallArgument::Builder() + .SetValue(std::make_unique(base::StringPiece(mapboxToken))) + .Build() + ); + + // Add topojson url from command-line + args.push_back( + headless::runtime::CallArgument::Builder() + .SetValue(std::make_unique(base::StringPiece(topojsonUrl))) + .Build() + ); + return args; + } + } +} + +#endif //CHROMIUM_PLOTLYSCOPE_H diff --git a/src/kaleido/cc-88.0.4324.150/utils.h b/src/kaleido/cc-88.0.4324.150/utils.h new file mode 100644 index 00000000..86871131 --- /dev/null +++ b/src/kaleido/cc-88.0.4324.150/utils.h @@ -0,0 +1,27 @@ +// +// Created by jmmease on 6/23/20. +// + +#include +#include + +#ifndef CHROMIUM_UTILS_H +#define CHROMIUM_UTILS_H + +namespace kaleido { + namespace utils { + // Load version string + std::ifstream verStream("version"); + std::string version(( + std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); + + void writeJsonMessage(int code, std::string message) { + std::string error = base::StringPrintf( + "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}\n", + code, message.c_str(), version.c_str()); + std::cout << error; + } + } +} + +#endif //CHROMIUM_UTILS_H diff --git a/toolchain/src/08-sync_cpp.sh b/toolchain/src/08-sync_cpp.sh new file mode 100755 index 00000000..0ed7f445 --- /dev/null +++ b/toolchain/src/08-sync_cpp.sh @@ -0,0 +1,27 @@ +#!/bin/bash +set -e +set -u + +usage=( + "sync_cpp will copy kaleido c++ source in chromium source for build" + "it uses rsync to preserver modification times and no unnecessary update things" + "" + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" +) + +FLAGS=() +ARGFLAGS=() + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +. "$SCRIPT_DIR/include/utilities.sh" + +$NO_VERBOSE || echo "Running 08-sync_cpp.sh" + +util_get_version +util_export_version + + +rsync -av --delete ${MAIN_DIR}/src/kaleido/cc-${CHROMIUM_VERSION_TAG}/ ${MAIN_DIR}/vendor/src/headless/app diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 298e1115..5e2a62be 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -28,10 +28,16 @@ usage=( "-5: gen_preamble - copies readme, licenses, etc" "-6: build_ninja - prepares gn and runs gn gen to build ninja" "-7: write_kversion - writes a version text file for kaleido" - "-8:" + "-8: sync_cpp" - will sync kaleido c++ do chromium src + "-9:" # build + "-10:" # package + # what about javascript + # what about python + # ugh ) +## TODO, quit with the -999: dumbness -FLAGS=(":" "-0:" "-1:" "-2:" "-3:" "-4:" "-5:" "-6:" "-7:" "-8:") +FLAGS=(":" "-0:" "-1:" "-2:" "-3:" "-4:" "-5:" "-6:" "-7:" "-8:" "-9:" "-10:") ARGFLAGS=("") SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) @@ -46,9 +52,11 @@ FIVE=$(flags_resolve false "-5:") SIX=$(flags_resolve false "-6:") SEVEN=$(flags_resolve false "-7:") EIGHT=$(flags_resolve false "-8:") +NINE=$(flags_resolve false "-9:") +TEN=$(flags_resolve false "-10:") ALL=true -if $ZERO || $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT; then +if $ZERO || $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || $NINE || $TEN; then $NO_VERBOSE || echo "Turning off ALL" ALL=false fi @@ -131,5 +139,19 @@ if $SEVEN || $ALL; then fi if $EIGHT || $ALL; then + $NO_VERBOSE || echo "Running 8" + if $(which sync_cpp &> /dev/null); then + sync_cpp $(flags_resolve "" ":") + else + $SCRIPT_DIR/08-sync_cpp.sh $(flags_resolve "" ":") + fi + : +fi + +if $NINE || $ALL; then + : +fi + +if $TEN || $ALL; then : fi From 9fa8a8beb7b8ab9014a473d9e830d0edd96b529d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:11:32 -0400 Subject: [PATCH 135/510] Change 04-patch to precheck for patches in dir --- toolchain/src/04-patch_chromium.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh index 28d5e3b9..5fc49047 100755 --- a/toolchain/src/04-patch_chromium.sh +++ b/toolchain/src/04-patch_chromium.sh @@ -27,8 +27,8 @@ $NO_VERBOSE || echo "Running 04-patch_chromium" PATCH_DIR="$MAIN_DIR/src/vendor-patches/chromium/$CHROMIUM_VERSION_TAG" -if [ -d "$PATCH_DIR" ]; then - git -C $MAIN_DIR/vendor/src/ apply $PATCH_DIR/*.patch +if [ -d "$PATCH_DIR" ] && [ -e "$PATCH_DIR/*.patch" ]; then + git -C $MAIN_DIR/vendor/src/ apply $PATCH_DIR/*.patch else mkdir -p "$PATCH_DIR" $NO_VERBOSE || echo "No patches found for $CHROMIUM_VERSION_TAG, creating directory." From 851a15dfabafbdeaf961938c4a3fb7704f33664b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:17:54 -0400 Subject: [PATCH 136/510] Add DEPS template to all versions: Since I'm not intending to support 88 or 108, I just use the 126 tag DEPs from src/headless/app as a template. But if you wanted to try and build these, you'd retrieve the DEPS file from the same directory but at the right git checkout. --- src/kaleido/cc-108.0.5359.125/DEPS | 7 +++++++ src/kaleido/cc-126.0.6478.126/DEPS | 7 +++++++ src/kaleido/cc-88.0.4324.150/DEPS | 7 +++++++ 3 files changed, 21 insertions(+) create mode 100644 src/kaleido/cc-108.0.5359.125/DEPS create mode 100644 src/kaleido/cc-126.0.6478.126/DEPS create mode 100644 src/kaleido/cc-88.0.4324.150/DEPS diff --git a/src/kaleido/cc-108.0.5359.125/DEPS b/src/kaleido/cc-108.0.5359.125/DEPS new file mode 100644 index 00000000..7ea04c01 --- /dev/null +++ b/src/kaleido/cc-108.0.5359.125/DEPS @@ -0,0 +1,7 @@ +include_rules = { + "+cc/base/switches.h", + "+components/devtools/simple_devtools_protocol_client", + "+components/viz/common/switches.h", + "+sandbox/mac", +} + diff --git a/src/kaleido/cc-126.0.6478.126/DEPS b/src/kaleido/cc-126.0.6478.126/DEPS new file mode 100644 index 00000000..7ea04c01 --- /dev/null +++ b/src/kaleido/cc-126.0.6478.126/DEPS @@ -0,0 +1,7 @@ +include_rules = { + "+cc/base/switches.h", + "+components/devtools/simple_devtools_protocol_client", + "+components/viz/common/switches.h", + "+sandbox/mac", +} + diff --git a/src/kaleido/cc-88.0.4324.150/DEPS b/src/kaleido/cc-88.0.4324.150/DEPS new file mode 100644 index 00000000..7ea04c01 --- /dev/null +++ b/src/kaleido/cc-88.0.4324.150/DEPS @@ -0,0 +1,7 @@ +include_rules = { + "+cc/base/switches.h", + "+components/devtools/simple_devtools_protocol_client", + "+components/viz/common/switches.h", + "+sandbox/mac", +} + From 4401b421b1e0420efafdd5b1fea50ea517c19da7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:28:10 -0400 Subject: [PATCH 137/510] Add 09-build_kaleido --- toolchain/src/09-build_kaleido.sh | 33 +++++++++++++++++++++++++++++++ toolchain/src/xx-all.sh | 12 +++++++---- 2 files changed, 41 insertions(+), 4 deletions(-) create mode 100755 toolchain/src/09-build_kaleido.sh diff --git a/toolchain/src/09-build_kaleido.sh b/toolchain/src/09-build_kaleido.sh new file mode 100755 index 00000000..94e2da9f --- /dev/null +++ b/toolchain/src/09-build_kaleido.sh @@ -0,0 +1,33 @@ +#!/bin/bash +set -e +set -u + +usage=( + "build_kaleido does the c++ build." + "" + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" + "Set number of cpus:" + "build_kaleido [-c|--cpus] CPUS" +) + +FLAGS=() +ARGFLAGS=() + +SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +. "$SCRIPT_DIR/include/utilities.sh" + +ARGFLAGS=("-c" "--cpus") + +$NO_VERBOSE || echo "Running 09-build_kaleido.sh" + +CPUS="$(flags_resolve ${CPUS:-1} "-c" "--cpus")" + +util_get_version +util_export_version + +OUTDIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" + +( cd "${MAIN_DIR}/vendor/src"; ninja -C $OUTDIR -j $CPUS kaleido ) diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 5e2a62be..83f187ea 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -28,8 +28,8 @@ usage=( "-5: gen_preamble - copies readme, licenses, etc" "-6: build_ninja - prepares gn and runs gn gen to build ninja" "-7: write_kversion - writes a version text file for kaleido" - "-8: sync_cpp" - will sync kaleido c++ do chromium src - "-9:" # build + "-8: sync_cpp - will sync kaleido c++ do chromium src" + "-9: build_kaleido - builds kaleido's c++" "-10:" # package # what about javascript # what about python @@ -145,11 +145,15 @@ if $EIGHT || $ALL; then else $SCRIPT_DIR/08-sync_cpp.sh $(flags_resolve "" ":") fi - : fi if $NINE || $ALL; then - : + $NO_VERBOSE || echo "Running 9" + if $(which build_kaleido &> /dev/null); then + build_kaleido $(flags_resolve "" ":") + else + $SCRIPT_DIR/09-build_kaleido.sh $(flags_resolve "" ":") + fi fi if $TEN || $ALL; then From 78b3ba108813b497224464b7b895f40d9b430840 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:30:25 -0400 Subject: [PATCH 138/510] Add BUILD.gn.patch to all platforms --- toolchain/src/06-build_ninja.sh | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index ec708b56..91ad7f18 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -38,15 +38,9 @@ util_export_version PATCH="$MAIN_DIR/toolschain/gn_fragments/gn_append.patch" -echo "THIS NEEDS TO BE INSPECTED. IS IT NECESSARY? WHY ONLY ON WINDOWS?" -echo "What if we remove it from windows?" -echo "What if we add it to linux, to mac?" - $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" -if [[ "$PLATFORM" == "WINDOWS" ]]; then - git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" && exit 0 || true - git -C $MAIN_DIR/vendor/src apply "$PATCH" || util_error "Could not apply gn_append.patch, please inspect" -fi +git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" && exit 0 || true +git -C $MAIN_DIR/vendor/src apply "$PATCH" || util_error "Could not apply gn_append.patch, please inspect" $NO_VERBOSE || echo "Create build directory and placing build arguments inside of it, and running gn gen" From 0f19e30a333d254c63b191654ded9318fbd9608c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:31:23 -0400 Subject: [PATCH 139/510] Fix typo in dir name --- toolchain/src/06-build_ninja.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 91ad7f18..bbb3e078 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -36,7 +36,7 @@ $NO_VERBOSE || echo "Dev build: $DEV" util_get_version util_export_version -PATCH="$MAIN_DIR/toolschain/gn_fragments/gn_append.patch" +PATCH="$MAIN_DIR/toolchain/gn_fragments/gn_append.patch" $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" && exit 0 || true From 3783fc7080faa7b34c1d64040786dd1f272ebbee Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:35:19 -0400 Subject: [PATCH 140/510] Remove unnecessary deps from gn_append --- toolchain/gn_fragments/gn_append.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/gn_fragments/gn_append.patch b/toolchain/gn_fragments/gn_append.patch index 4e255e3c..f8e21236 100644 --- a/toolchain/gn_fragments/gn_append.patch +++ b/toolchain/gn_fragments/gn_append.patch @@ -11,7 +11,7 @@ index 3792e09b13..29dd004e5c 100644 + sources = [ "app/kaleido.cc" ] + + deps = [ -+ ":headless_shell_lib", -+ "//skia", +#+ ":headless_shell_lib", # not sure we really need these, we'll see, cruft from examples +#+ "//skia", + ] +} From dc11d0a1319cd5a3f177877e9346af961bb63c5b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:38:03 -0400 Subject: [PATCH 141/510] Replace 126 kaleido w/ headless exampel app --- .../cc-126.0.6478.126/headless_shell_main.cc | 37 + src/kaleido/cc-126.0.6478.126/kaleido.cc | 830 +++++------------- src/kaleido/cc-126.0.6478.126/kaleido.h | 77 -- src/kaleido/cc-126.0.6478.126/scopes/Base.h | 80 -- .../cc-126.0.6478.126/scopes/Factory.h | 22 - src/kaleido/cc-126.0.6478.126/scopes/Plotly.h | 128 --- src/kaleido/cc-126.0.6478.126/utils.h | 27 - 7 files changed, 266 insertions(+), 935 deletions(-) create mode 100644 src/kaleido/cc-126.0.6478.126/headless_shell_main.cc delete mode 100644 src/kaleido/cc-126.0.6478.126/kaleido.h delete mode 100644 src/kaleido/cc-126.0.6478.126/scopes/Base.h delete mode 100644 src/kaleido/cc-126.0.6478.126/scopes/Factory.h delete mode 100644 src/kaleido/cc-126.0.6478.126/scopes/Plotly.h delete mode 100644 src/kaleido/cc-126.0.6478.126/utils.h diff --git a/src/kaleido/cc-126.0.6478.126/headless_shell_main.cc b/src/kaleido/cc-126.0.6478.126/headless_shell_main.cc new file mode 100644 index 00000000..f8287680 --- /dev/null +++ b/src/kaleido/cc-126.0.6478.126/headless_shell_main.cc @@ -0,0 +1,37 @@ +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "build/build_config.h" +#include "headless/public/headless_shell.h" + +#if BUILDFLAG(IS_WIN) +#include "content/public/app/sandbox_helper_win.h" +#include "sandbox/win/src/sandbox_types.h" // nogncheck +#elif BUILDFLAG(IS_MAC) +#include "base/check.h" +#include "sandbox/mac/seatbelt_exec.h" +#endif + +int main(int argc, const char** argv) { + content::ContentMainParams params(nullptr); +#if BUILDFLAG(IS_WIN) + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; +#elif !BUILDFLAG(IS_ANDROID) + params.argc = argc; + params.argv = argv; +#if BUILDFLAG(IS_MAC) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); + } +#endif // BUILDFLAG(IS_MAC) +#endif // BUILDFLAG(IS_WIN) + + return headless::HeadlessShellMain(std::move(params)); +} diff --git a/src/kaleido/cc-126.0.6478.126/kaleido.cc b/src/kaleido/cc-126.0.6478.126/kaleido.cc index e5c5a2d6..02a11f07 100644 --- a/src/kaleido/cc-126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc-126.0.6478.126/kaleido.cc @@ -1,649 +1,277 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// A small example application showing the use of the C++ Headless Chrome -// library. It navigates to a web site given on the command line, waits for it -// to load and prints out the DOM. -// -// Tip: start reading from the main() function below. +#include "headless/public/headless_shell.h" -#include "base/bind.h" +#include + +#include "base/base_switches.h" #include "base/command_line.h" -#include "base/memory/weak_ptr.h" -#include "base/json/json_reader.h" -#include "base/json/json_writer.h" -#include "base/strings/stringprintf.h" -#include "base/strings/string_split.h" #include "base/files/file_util.h" -#include "base/environment.h" -#include "headless/public/devtools/domains/page.h" -#include "headless/public/devtools/domains/runtime.h" +#include "base/functional/bind.h" +#include "base/logging.h" +#include "base/task/thread_pool.h" +#include "build/branding_buildflags.h" +#include "build/build_config.h" +#include "content/public/app/content_main.h" +#include "content/public/common/content_switches.h" +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/lib/browser/headless_web_contents_impl.h" +#include "headless/lib/headless_content_main_delegate.h" #include "headless/public/headless_browser.h" -#include "headless/public/headless_devtools_client.h" -#include "headless/public/headless_devtools_target.h" +#include "headless/public/headless_browser_context.h" #include "headless/public/headless_web_contents.h" -#include "ui/gfx/geometry/size.h" -#include "third_party/abseil-cpp/absl/types/optional.h" - -#include "headless/app/kaleido.h" -#include "scopes/Factory.h" -#include "scopes/Base.h" -#include "utils.h" - -#include -#include -#include -#include -#include "stdlib.h" +#include "headless/public/switches.h" +#include "net/base/filename_util.h" +#include "url/gurl.h" +#if BUILDFLAG(IS_MAC) +#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck +#endif -#if defined(OS_WIN) -#include "content/public/app/sandbox_helper_win.h" +#if BUILDFLAG(IS_WIN) +#include "base/strings/utf_string_conversions.h" +#include "components/crash/core/app/crash_switches.h" // nogncheck +#include "components/crash/core/app/run_as_crashpad_handler_win.h" #include "sandbox/win/src/sandbox_types.h" - -namespace base { - // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here - bool ExecutableExistsInPath(Environment* env, - const std::string& executable) { - std::string path; - if (!env->GetVar("PATH", &path)) { - LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; - return false; - } - - for (const StringPiece& cur_path: - SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { - - // Build wide strings using wstringstreams - std::wstringstream wpath_ss; - wpath_ss << std::string(cur_path).c_str(); - - std::wstringstream wexecutable_ss; - wexecutable_ss << executable.c_str() << ".exe"; - - std::wstring wpath_ss_as_string = wpath_ss.str(); - FilePath::StringPieceType w_cur_path(wpath_ss_as_string); - FilePath file(w_cur_path); - - if (PathExists(file.Append(wexecutable_ss.str()))) { - return true; - } - } - return false; - } -} #endif -Kaleido::Kaleido( - headless::HeadlessBrowser* browser, - headless::HeadlessWebContents* web_contents, - std::string tmpFileName, - kaleido::scopes::BaseScope *scope_ptr -) - : tmpFileName(tmpFileName), - scope(scope_ptr), - env(base::Environment::Create()), - popplerAvailable(base::ExecutableExistsInPath(env.get(), "pdftops")), - inkscapeAvailable(base::ExecutableExistsInPath(env.get(), "inkscape")), - browser_(browser), - web_contents_(web_contents), - devtools_client_(headless::HeadlessDevToolsClient::Create()) { - - // Populate remainingLocalScriptsFiles vector - for (std::string const &s: scope_ptr->LocalScriptFiles()) { - localScriptFiles.push_back(s); - } - base::GetCurrentDirectory(&cwd); - web_contents_->AddObserver(this); -} +#if defined(HEADLESS_USE_POLICY) +#include "components/headless/policy/headless_mode_policy.h" // nogncheck +#endif -Kaleido::~Kaleido() { +#if defined(HEADLESS_ENABLE_COMMANDS) +#include "components/headless/command_handler/headless_command_handler.h" // nogncheck +#endif - // Delete tmp file - std::remove(tmpFileName.c_str()); +namespace headless { - // Note that we shut down the browser last, because it owns objects such as - // the web contents which can no longer be accessed after the browser is gone. - devtools_client_->GetPage()->RemoveObserver(this); - web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get()); - web_contents_->RemoveObserver(this); - browser_->Shutdown(); -} +namespace { -// This method is called when the tab is ready for DevTools inspection. -void Kaleido::DevToolsTargetReady() { - // Attach our DevTools client to the tab so that we can send commands to it - // and observe events. - web_contents_->GetDevToolsTarget()->AttachClient(devtools_client_.get()); - - // Start observing events from DevTools's page domain. This lets us get - // notified when the page has finished loading. Note that it is possible - // the page has already finished loading by now. See - // HeadlessShell::DevToolTargetReady for how to handle that case correctly. - devtools_client_->GetPage()->AddObserver(this); - devtools_client_->GetPage()->Enable(); - - devtools_client_->GetRuntime()->AddObserver(this); - devtools_client_->GetRuntime()->Enable(); -} +#if BUILDFLAG(IS_WIN) +const wchar_t kAboutBlank[] = L"about:blank"; +#else +const char kAboutBlank[] = "about:blank"; +#endif -void Kaleido::OnLoadEventFired( - const headless::page::LoadEventFiredParams& params) { - // Enable runtime - nextScriptIndex = 0; - LoadNextScript(); -} +GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { +#if BUILDFLAG(IS_WIN) + GURL url(base::WideToUTF8(arg)); +#else + GURL url(arg); +#endif + if (url.is_valid() && url.has_scheme()) + return url; -void Kaleido::OnExecutionContextCreated( - const headless::runtime::ExecutionContextCreatedParams& params) { - contextId = params.GetContext()->GetId(); + return net::FilePathToFileURL( + base::MakeAbsoluteFilePath(base::FilePath(arg))); } -void Kaleido::LoadNextScript() { - if (localScriptFiles.size() <= nextScriptIndex) { - // Finished processing startup scripts, get heap memory usage, which will then start ExportNext loop - devtools_client_->GetRuntime()->Evaluate( - "JSON.stringify({jsHeapSizeLimit: window.performance.memory.jsHeapSizeLimit})", - base::BindOnce(&Kaleido::OnHeapEvalComplete, weak_factory_.GetWeakPtr())); - return; - } else { - // Load Script - std::string scriptPath(localScriptFiles[nextScriptIndex++]); - std::ifstream t(scriptPath); - if (!t.is_open()) { - // Reached end of file, - // Shut down the browser (see ~Kaleido). - LOG(ERROR) << "Failed to find, or open, local file at " - << scriptPath << " with working directory " << cwd.value() << std::endl; - delete g_example; - g_example = nullptr; - return; - } - std::string scriptString((std::istreambuf_iterator(t)), - std::istreambuf_iterator()); - - devtools_client_->GetRuntime()->CompileScript( - scriptString, - scriptPath, - true, - base::BindOnce(&Kaleido::OnScriptCompileComplete, weak_factory_.GetWeakPtr())); - } -} +// An application which implements a simple headless browser. +class HeadlessShell { + public: + HeadlessShell() = default; -void Kaleido::ExportNext() { - std::string exportSpec; - while (true) { - // Loop until we receive a valid export request, break loop below when a valid request is received - if (!std::getline(std::cin, exportSpec)) { - // Reached end of file, - // Shut down the browser (see ~Kaleido). - delete g_example; - g_example = nullptr; - return; - } - - absl::optional json = base::JSONReader::Read(exportSpec); - - if (!json.has_value()) { - kaleido::utils::writeJsonMessage(1, "Invalid JSON"); - continue; - } - base::Value::Dict &jsonDict = json->GetDict(); - - // Read "operation" key, defaulting to "export" if none provided. - std::string *maybe_operation = jsonDict.FindString("operation"); - std::string operation; // We're avoiding carrying pointers through ops - if (maybe_operation) { - operation = *maybe_operation; - } else { - operation = std::string("export"); - } - - // Only operation right now is export, but others can be added in the future - if (operation != "export") { - // Unsupported operation - kaleido::utils::writeJsonMessage(1, base::StringPrintf("Invalid operation: %s", operation.c_str())); - continue; - } else { - std::string *maybe_format = jsonDict.FindString("format"); - if (maybe_format) { - std::string format = *maybe_format; - - // Validate poppler installed if format is eps - if (format == "eps" && !popplerAvailable) { - kaleido::utils::writeJsonMessage( - 530, - "Exporting to EPS format requires the pdftops command " - "which is provided by the poppler library. " - "Please install poppler and make sure the pdftops command " - "is available on the PATH"); - continue; - } - - // Validate inkscape installed if format is emf - if (format == "emf" && !inkscapeAvailable) { - kaleido::utils::writeJsonMessage( - 530, - "Exporting to EMF format requires inkscape. " - "Please install inkscape and make sure it is available on the PATH"); - continue; - } - } - - std::string exportFunction = base::StringPrintf( - "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", - scope->ScopeName().c_str()); - - std::vector> args = scope->BuildCallArguments(); - - // Prepend Export spec as first argument - args.insert(args.begin(), - headless::runtime::CallArgument::Builder() - .SetValue(base::Value::ToUniquePtrValue(json->Clone())) - .Build() - ); - - std::unique_ptr eval_params = - headless::runtime::CallFunctionOnParams::Builder() - .SetFunctionDeclaration(exportFunction) - .SetArguments(std::move(args)) - .SetExecutionContextId(contextId) - .SetAwaitPromise(true).Build(); - - devtools_client_->GetRuntime()->CallFunctionOn( - std::move(eval_params), - base::BindOnce(&Kaleido::OnExportComplete, weak_factory_.GetWeakPtr())); - // Break out of loop, OnExportComplete callback responsible for calling ExportNext again after this - // the current request is processed. - break; - } - } -} + HeadlessShell(const HeadlessShell&) = delete; + HeadlessShell& operator=(const HeadlessShell&) = delete; -void Kaleido::OnExportComplete( - std::unique_ptr result) { - - // Make sure the evaluation succeeded before reading the result. - if (result->HasExceptionDetails()) { - std::string error = base::StringPrintf( - "Failed to serialize document: %s", result->GetExceptionDetails()->GetText().c_str()); - kaleido::utils::writeJsonMessage(1, error); - Reload(); - return; - } else { - // JSON parse result to get format - std::string responseString = result->GetResult()->GetValue()->GetString(); - absl::optional responseJson = base::JSONReader::Read(responseString); - if (!responseJson.has_value()) { - std::string error = base::StringPrintf("Export returned null"); - kaleido::utils::writeJsonMessage(1, error); - Reload(); - return; - } - base::Value::Dict &responseDict = responseJson->GetDict(); - - // format - std::string *format_maybe = responseDict.FindString("format"); - - if (!format_maybe) { - std::string error = base::StringPrintf("Malformed Export JSON: format key not found."); - kaleido::utils::writeJsonMessage(1, error); - Reload(); - return; - } - - std::string format = *format_maybe; - - if (format == "pdf" || format == "eps") { - // Lots of possible undefined behavior here if these things don't exist - // But all are unused variables that were in the original. - - - //std::string &bgColor = *responseDict.FindString("pdfBgColor"); - //std::string &imgData = *responseDict.FindString("result"); - - //int width = responseDict.FindInt("width").value(); - //int height = responseDict.FindInt("height").value(); - - //double scale = responseDict.FindDouble("scale").value(); - - devtools_client_->GetPage()->GetExperimental()->PrintToPDF( - headless::page::PrintToPDFParams::Builder() - .SetMarginBottom(0) - .SetMarginTop(0) - .SetMarginLeft(0) - .SetMarginRight(0) - .SetPrintBackground(true) - .SetPreferCSSPageSize(true) // Use @page {size: } CSS style - .Build(), - base::BindOnce(&Kaleido::OnPDFCreated, weak_factory_.GetWeakPtr(), responseString)); - } else if (format == "emf"){ - // Write SVG data to temporary file - std::string &svgData = *responseDict.FindString("result"); // Hope it is there! - - // Write pdf to temporary file - std::string inFileName = std::tmpnam(nullptr) + std::string(".svg"); - std::ofstream svgFile; - svgFile.open(inFileName, std::ios::out); - svgFile << svgData; - svgFile.close(); - - // Convert pdf to eps temporary file - std::string outFileName = std::tmpnam(nullptr) + std::string(".emf"); - std::string command = std::string("inkscape --file ") + inFileName + " --export-emf " + outFileName; - int exitCode = std::system(command.c_str()); - if (exitCode != 0) { - kaleido::utils::writeJsonMessage(exitCode, "SVG to EMF conversion failed"); - Reload(); - return; - } - - // Read EMF file as binary - std::ifstream emfStream(outFileName, std::ios::ate | std::ios::binary); - std::streamsize size = emfStream.tellg(); - emfStream.seekg(0, std::ios::beg); - std::vector emfBuffer(size); - if (emfStream.read((char*)emfBuffer.data(), size)) - { - // cleanup temporary files - std::remove(inFileName.c_str()); - std::remove(outFileName.c_str()); - - // Base64 encode EMF data - std::string base64emf = headless::protocol::Binary::fromVector(emfBuffer).toBase64(); - - // Add base64 encoded EMF data to result dict - responseDict.Set("result", base64emf); - // I'm very curious if we can't just write directly to svgData to chane this value since it's a reference to it - // Clearly less readable though - AJP - - // Write results JSON string - std::string response; - // DictionaryValue was a subclass of Value, but not anymore -- AJP - // https://chromium.googlesource.com/chromium/src/+/refs/tags/108.0.5359.125/base/values.h#164 - base::JSONWriter::Write(base::Value(std::move(responseDict)), &response); - - std::cout << response << "\n"; - - Reload(); - return; - } else { - // cleanup temporary files - std::remove(inFileName.c_str()); - std::remove(outFileName.c_str()); - - kaleido::utils::writeJsonMessage(1, "Failed to read temporary EMF file"); - Reload(); - return; - } - } else { - std::cout << result->GetResult()->GetValue()->GetString().c_str() << std::endl; // So python processes the JSON? - AJP - Reload(); - return; - } - } -} + ~HeadlessShell() = default; -void Kaleido::Reload() { - std::unique_ptr params = - headless::runtime::GetHeapUsageParams::Builder().Build(); - devtools_client_->GetRuntime()->GetExperimental()->GetHeapUsage( - std::move(params), base::BindOnce(&Kaleido::OnHeapUsageComplete, weak_factory_.GetWeakPtr())); -} + void OnBrowserStart(HeadlessBrowser* browser); -void Kaleido::OnHeapUsageComplete(std::unique_ptr result) { - double heapUsageRatio = result->GetUsedSize() / jsHeapSizeLimit; - if (heapUsageRatio >= 0.5) { - // Reload page to clear memory - std::unique_ptr params = - headless::page::ReloadParams::Builder().Build(); - devtools_client_->GetPage()->Reload(std::move(params)); - } else { - // Memory usage low enough, keep going without reloading page - ExportNext(); - } -} + private: +#if defined(HEADLESS_ENABLE_COMMANDS) + void OnProcessCommandsDone(HeadlessCommandHandler::Result result); +#endif + void ShutdownSoon(); + void Shutdown(); -void Kaleido::OnHeapEvalComplete(std::unique_ptr result) { - if (result->HasExceptionDetails()) { - std::string error = base::StringPrintf( - "Failed to get window.performance.memory: %s", result->GetExceptionDetails()->GetText().c_str()); - kaleido::utils::writeJsonMessage(1, error); - Reload(); - return; - } else { - std::string responseString = result->GetResult()->GetValue()->GetString(); - absl::optional responseJson = base::JSONReader::Read(responseString); - base::Value::Dict & responseDict = responseJson->GetDict(); - - // jsHeapSizeLimit - responseDict.FindDouble("jsHeapSizeLimit"); - - ExportNext(); - } -} + raw_ptr browser_ = nullptr; +}; -void Kaleido::OnPDFCreated( - std::string responseString, - std::unique_ptr result -) { - if (!result) { - std::string error = std::string("Export to PDF failed"); - kaleido::utils::writeJsonMessage(1, error); - } else { - absl::optional responseJson = base::JSONReader::Read(responseString); - base::Value::Dict &responseDict = responseJson->GetDict(); - - // format - std::string *format_maybe = responseDict.FindString("format"); - if (!format_maybe) { - kaleido::utils::writeJsonMessage(1, "Malformed json, missing key 'format', PDF to EPS conversion failed."); - Reload(); - return; - } - std::string format = *format_maybe; - - - // Initialize empty result - std::string stringResult; - - if (format == "eps") { - // Write pdf to temporary file - std::string inFileName = std::tmpnam(nullptr) + std::string(".pdf"); - std::ofstream pdfFile; - pdfFile.open(inFileName, std::ios::out | std::ios::binary); - pdfFile.write((char*)result->GetData().data(), result->GetData().size()); - pdfFile.close(); - - // Convert pdf to eps temporary file - std::string outFileName = std::tmpnam(nullptr) + std::string(".eps"); - std::string command = std::string("pdftops -eps ") + inFileName + " " + outFileName; - int exitCode = std::system(command.c_str()); - if (exitCode != 0) { - kaleido::utils::writeJsonMessage(exitCode, "PDF to EPS conversion failed"); - Reload(); - return; - } - - // Read EPS file as Text - std::ifstream epsStream(outFileName, std::ios::in); - stringResult = std::string((std::istreambuf_iterator(epsStream)), - std::istreambuf_iterator()); - - // cleanup temporary files - std::remove(inFileName.c_str()); - std::remove(outFileName.c_str()); - } else { // format == "pdf" - // Add base64 encoded PDF bytes to result dict - stringResult = result->GetData().toBase64(); - } - - // Add base64 encoded PDF bytes to result dict - responseDict.Set("result", stringResult); - - // Write results JSON string - std::string response; - base::JSONWriter::Write(base::Value(std::move(responseDict)), &response); - std::cout << response << "\n"; - } +void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { + browser_ = browser; - Reload(); +#if defined(HEADLESS_USE_POLICY) + if (HeadlessModePolicy::IsHeadlessModeDisabled( + static_cast(browser)->GetPrefs())) { + LOG(ERROR) << "Headless mode is disallowed by the system admin."; + ShutdownSoon(); return; -} + } +#endif -void Kaleido::OnScriptCompileComplete( - std::unique_ptr result) { - // Make sure the evaluation succeeded before running script - if (result->HasExceptionDetails()) { - LOG(ERROR) << "Failed to compile script: " - << result->GetExceptionDetails()->GetText(); - } else { - std::string plotlyjsScriptId = result->GetScriptId(); - devtools_client_->GetRuntime()->RunScript( - plotlyjsScriptId, - base::BindOnce(&Kaleido::OnRunScriptComplete, weak_factory_.GetWeakPtr()) - ); - } -} + HeadlessBrowserContext::Builder context_builder = + browser_->CreateBrowserContextBuilder(); -void Kaleido::OnRunScriptComplete( - std::unique_ptr result) { - // Make sure the evaluation succeeded before reading the result. - if (result->HasExceptionDetails()) { - LOG(ERROR) << "Failed to run script: " - << result->GetExceptionDetails()->GetText(); - } else { - LoadNextScript(); - } -} + // Create browser context and set it as the default. The default browser + // context is used by the Target.createTarget() DevTools command when no other + // context is given. + HeadlessBrowserContext* browser_context = context_builder.Build(); + browser_->SetDefaultBrowserContext(browser_context); -// This function is called by the headless library after the browser has been -// initialized. It runs on the UI thread. -void OnHeadlessBrowserStarted(headless::HeadlessBrowser* browser) { - // In order to open tabs, we first need a browser context. It corresponds to a - // user profile and contains things like the user's cookies, local storage, - // cache, etc. - headless::HeadlessBrowserContext::Builder context_builder = - browser->CreateBrowserContextBuilder(); - - // Here we can set options for the browser context. As an example we enable - // incognito mode, which makes sure profile data is not written to disk. - context_builder.SetIncognitoMode(true); - - // Construct the context and set it as the default. The default browser - // context is used by the Target.createTarget() DevTools command when no other - // context is given. - headless::HeadlessBrowserContext* browser_context = context_builder.Build(); - browser->SetDefaultBrowserContext(browser_context); - - // Get the URL from the command line. - base::CommandLine::StringVector args = - base::CommandLine::ForCurrentProcess()->GetArgs(); - if (args.empty()) { - kaleido::utils::writeJsonMessage(1, "No Scope Specified"); - browser->Shutdown(); - exit(EXIT_FAILURE); - } + const bool devtools_enabled = static_cast(browser) + ->options() + ->DevtoolsServerEnabled(); - // Get first command line argument as a std::string using a string stream. - // This handles the case where args[0] is a wchar_t on Windows - std::stringstream scope_stringstream; - scope_stringstream << args[0]; - std::string scope_name = scope_stringstream.str(); - - // Instantiate renderer scope - kaleido::scopes::BaseScope *scope = LoadScope(scope_name); - - if (!scope) { - // Invalid scope name - kaleido::utils::writeJsonMessage(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); - browser->Shutdown(); - exit(EXIT_FAILURE); - } else if (!scope->errorMessage.empty()) { - kaleido::utils::writeJsonMessage(1, scope->errorMessage); - browser->Shutdown(); - exit(EXIT_FAILURE); - } + // If no explicit URL is present navigate to about:blank unless we're being + // driven by a debugger. + base::CommandLine::StringVector args = + base::CommandLine::ForCurrentProcess()->GetArgs(); + args.erase( + std::remove(args.begin(), args.end(), base::CommandLine::StringType()), + args.end()); - // Add javascript bundle - scope->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); - - // Build initial HTML file - std::list scriptTags = scope->ScriptTags(); - std::stringstream htmlStringStream; - htmlStringStream << ""; - - // Add script tags - while (!scriptTags.empty()) { - std::string tagValue = scriptTags.front(); - GURL tagUrl(tagValue); - if (tagUrl.is_valid()) { - // Value is a url, use a src of script tag - htmlStringStream << ""; - } else { - // Value is not a url, use a inline JavaScript code - htmlStringStream << "\n"; - } - scriptTags.pop_front(); - } - // Close head and add body with img tag place holder for PDF export - htmlStringStream << ""; + if (args.empty() && !devtools_enabled) { + args.push_back(kAboutBlank); + } - // Write html to temp file - std::string tmpFileName = std::tmpnam(nullptr) + std::string(".html"); - std::ofstream htmlFile; - htmlFile.open(tmpFileName, std::ios::out); - htmlFile << htmlStringStream.str(); - htmlFile.close(); + if (args.empty()) { + return; + } + + GURL target_url = ConvertArgumentToURL(args.front()); + HeadlessWebContents::Builder builder( + browser_context->CreateWebContentsBuilder()); + + // If driven by a debugger just open the target page and + // leave expecting the debugger will do what they need. + if (devtools_enabled) { + HeadlessWebContents* web_contents = + builder.SetInitialURL(target_url).Build(); + if (!web_contents) { + LOG(ERROR) << "Navigation to " << target_url << " failed."; + ShutdownSoon(); + } + return; + } + + // Otherwise instantiate headless shell command handler that will + // execute the commands against the target page. +#if defined(HEADLESS_ENABLE_COMMANDS) + GURL handler_url = HeadlessCommandHandler::GetHandlerUrl(); + HeadlessWebContents* web_contents = + builder.SetInitialURL(handler_url).Build(); + if (!web_contents) { + LOG(ERROR) << "Navigation to " << handler_url << " failed."; + ShutdownSoon(); + return; + } - // Create file:// url to temp file - GURL url = GURL(std::string("file://") + tmpFileName); + HeadlessCommandHandler::ProcessCommands( + HeadlessWebContentsImpl::From(web_contents)->web_contents(), + std::move(target_url), + base::BindOnce(&HeadlessShell::OnProcessCommandsDone, + base::Unretained(this))); +#endif +} - // Open a tab (i.e., HeadlessWebContents) in the newly created browser context. - headless::HeadlessWebContents::Builder tab_builder( - browser_context->CreateWebContentsBuilder()); +#if defined(HEADLESS_ENABLE_COMMANDS) +void HeadlessShell::OnProcessCommandsDone( + HeadlessCommandHandler::Result result) { + if (result != HeadlessCommandHandler::Result::kSuccess) { + static_cast(browser_)->ShutdownWithExitCode( + static_cast(result)); + return; + } + Shutdown(); +} +#endif - // We could set other options for the opened tab here, for now only set URL - tab_builder.SetInitialURL(url); +void HeadlessShell::ShutdownSoon() { + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&HeadlessShell::Shutdown, base::Unretained(this))); +} - // Create an instance of Kaleido - headless::HeadlessWebContents *web_contents = tab_builder.Build(); +void HeadlessShell::Shutdown() { + browser_.ExtractAsDangling()->Shutdown(); +} - // Initialization succeeded - kaleido::utils::writeJsonMessage(0, "Success"); +void HeadlessChildMain(content::ContentMainParams params) { + HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); - // TODO make scope a unique ptr and use move semantics here - g_example = new Kaleido(browser, web_contents, tmpFileName, scope); + // Note that exiting from here means that base::AtExitManager objects will not + // have a chance to be destroyed (typically in main/WinMain). + // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown + // crashes and slowdowns on shutdown. + base::Process::TerminateCurrentProcessImmediately(rc); } -int main(int argc, const char** argv) { -#if !defined(OS_WIN) - // This function must be the first thing we call to make sure child processes - // such as the renderer are started properly. The headless library starts - // child processes by forking and exec'ing the main application. - headless::RunChildProcessIfNeeded(argc, argv); +int HeadlessBrowserMain(content::ContentMainParams params) { +#if DCHECK_IS_ON() + // The browser can only be initialized once. + static bool browser_was_initialized; + DCHECK(!browser_was_initialized); + browser_was_initialized = true; + + // Child processes should not end up here. + DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( + ::switches::kProcessType)); +#endif +#if defined(HEADLESS_ENABLE_COMMANDS) + base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); + if (HeadlessCommandHandler::HasHeadlessCommandSwitches(command_line)) { + if (command_line.HasSwitch(::switches::kRemoteDebuggingPort) || + command_line.HasSwitch(::switches::kRemoteDebuggingPipe)) { + LOG(ERROR) + << "Headless commands are not compatible with remote debugging."; + return EXIT_FAILURE; + } + command_line.AppendSwitch(switches::kDisableLazyLoading); + } #endif - // Create a headless browser instance. There can be one of these per process - // and it can only be initialized once. - headless::HeadlessBrowser::Options::Builder builder(argc, argv); + HeadlessShell shell; + auto browser = std::make_unique( + base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); + HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; + return content::ContentMain(std::move(params)); +} + +} // namespace + +int HeadlessShellMain(content::ContentMainParams params) { +#if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); +#else + base::CommandLine::Init(params.argc, params.argv); +#endif // BUILDFLAG(IS_WIN) + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + std::string process_type = + command_line.GetSwitchValueASCII(::switches::kProcessType); +#if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } +#endif // defined(HEADLESS_USE_CRASHPAD) + + if (!process_type.empty()) { + HeadlessChildMain(std::move(params)); + NOTREACHED(); + } + +#if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); +#endif -#if defined(OS_WIN) - // In windows, you must initialize and set the sandbox, or pass it along - // if it has already been initialized. - sandbox::SandboxInterfaceInfo sandbox_info = {}; - content::InitializeSandboxInfo(&sandbox_info); - builder.SetSandboxInfo(&sandbox_info); +#if BUILDFLAG(IS_FUCHSIA) + // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. + command_line.AppendSwitch(::switches::kDisableGpu); #endif - // Here you can customize browser options. As an example we set the window - // size. - builder.SetWindowSize(gfx::Size(800, 600)); - - // Pass control to the headless library. It will bring up the browser and - // invoke the given callback on the browser UI thread. Note: if you need to - // pass more parameters to the callback, you can add them to the Bind() call - // below. - return headless::HeadlessBrowserMain( - builder.Build(), base::BindOnce(&OnHeadlessBrowserStarted)); + + if (command_line.GetArgs().size() > 1) { + LOG(ERROR) << "Multiple targets are not supported."; + return EXIT_FAILURE; + } + + return HeadlessBrowserMain(std::move(params)); } + +} // namespace headless diff --git a/src/kaleido/cc-126.0.6478.126/kaleido.h b/src/kaleido/cc-126.0.6478.126/kaleido.h deleted file mode 100644 index f9de9a6e..00000000 --- a/src/kaleido/cc-126.0.6478.126/kaleido.h +++ /dev/null @@ -1,77 +0,0 @@ -#include "base/memory/weak_ptr.h" -#include "base/files/file_util.h" -#include "headless/public/devtools/domains/page.h" -#include "headless/public/devtools/domains/runtime.h" -#include "headless/public/headless_browser.h" -#include "headless/public/headless_devtools_client.h" -#include "headless/public/headless_devtools_target.h" -#include "headless/public/headless_web_contents.h" - -#include "scopes/Base.h" - -#ifndef CHROMIUM_ORCA_NEXT_H -#define CHROMIUM_ORCA_NEXT_H - - -class Kaleido : public headless::HeadlessWebContents::Observer, - public headless::page::Observer, - public headless::runtime::Observer -{ -public: - Kaleido(headless::HeadlessBrowser* browser, - headless::HeadlessWebContents* web_contents, - std::string tmpFileName, - kaleido::scopes::BaseScope *scope); - - ~Kaleido() override; - - // headless::HeadlessWebContents::Observer implementation: - void DevToolsTargetReady() override; - - // headless::page::Observer implementation: - void OnLoadEventFired( - const headless::page::LoadEventFiredParams& params) override; - - void OnExecutionContextCreated(const headless::runtime::ExecutionContextCreatedParams& params) override; - - void ExportNext(); - void Reload(); - void OnHeapUsageComplete(std::unique_ptr result); - void OnHeapEvalComplete(std::unique_ptr result); - - void LoadNextScript(); - void OnPDFCreated(std::string responseString, std::unique_ptr result); - - void OnExportComplete(std::unique_ptr result); - void OnScriptCompileComplete(std::unique_ptr result); - void OnRunScriptComplete(std::unique_ptr result); - -private: - int contextId; - double jsHeapSizeLimit; - std::string tmpFileName; - std::vector localScriptFiles; - size_t nextScriptIndex; - kaleido::scopes::BaseScope *scope; - std::unique_ptr env; - bool popplerAvailable; - bool inkscapeAvailable; - base::FilePath cwd; - - - // The headless browser instance. Owned by the headless library. See main(). - headless::HeadlessBrowser* browser_; - // Our tab. Owned by |browser_|. - headless::HeadlessWebContents* web_contents_; - // The DevTools client used to control the tab. - std::unique_ptr devtools_client_; - // A helper for creating weak pointers to this class. - // weak_factory_ MUST BE LAST PROPERTY DEFINED! - base::WeakPtrFactory weak_factory_{this}; -}; - -namespace { - Kaleido* g_example; -} - -#endif //CHROMIUM_ORCA_NEXT_H diff --git a/src/kaleido/cc-126.0.6478.126/scopes/Base.h b/src/kaleido/cc-126.0.6478.126/scopes/Base.h deleted file mode 100644 index 836c0b3e..00000000 --- a/src/kaleido/cc-126.0.6478.126/scopes/Base.h +++ /dev/null @@ -1,80 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// - -#include "headless/public/devtools/domains/runtime.h" -#include "base/strings/string_util.h" - -#include -#include -#include - -#ifndef CHROMIUM_BASESCOPE_H -#define CHROMIUM_BASESCOPE_H - -namespace kaleido { - namespace scopes { - class BaseScope { - public: - BaseScope(); - BaseScope(const BaseScope &v); - virtual ~BaseScope(); - - virtual std::string ScopeName() = 0; - virtual std::vector> BuildCallArguments(); - std::list ScriptTags(); - std::list LocalScriptFiles(); - std::string GetCommandLineSwitch(std::string name); - bool HasCommandLineSwitch(std::string name); - - std::string errorMessage; - - public: - std::list scriptTags; - std::list localScriptFiles; - const BaseScope *plugin; - }; - - BaseScope::BaseScope(): errorMessage(), scriptTags(), localScriptFiles() {} - BaseScope::BaseScope(const BaseScope &v): - scriptTags(v.scriptTags), - localScriptFiles(v.localScriptFiles) - {} - - BaseScope::~BaseScope() { - delete plugin; - } - - std::vector> BaseScope::BuildCallArguments() { - return std::vector>(); - } - - std::list BaseScope::ScriptTags() { - // Return vector as value so that it is copied and caller is free to mutate it - return scriptTags; - } - - std::list BaseScope::LocalScriptFiles() { - // Return vector as value so that it is copied and caller is free to mutate it - return localScriptFiles; - } - - bool BaseScope::HasCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - return commandLine->HasSwitch(name); - } - - std::string BaseScope::GetCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - std::string value = commandLine->GetSwitchValueASCII(name); - - // Trim single and double quotes - base::TrimString(value, "\"", &value); - base::TrimString(value, "\'", &value); - - return value; - } - } -} - -#endif //CHROMIUM_BASESCOPE_H diff --git a/src/kaleido/cc-126.0.6478.126/scopes/Factory.h b/src/kaleido/cc-126.0.6478.126/scopes/Factory.h deleted file mode 100644 index 3941cfcc..00000000 --- a/src/kaleido/cc-126.0.6478.126/scopes/Factory.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// - -#include "base/strings/string_util.h" - -#include "Plotly.h" -#include "Base.h" - -#ifndef CHROMIUM_FACTORY_H -#define CHROMIUM_FACTORY_H - -kaleido::scopes::BaseScope* LoadScope(std::string name) { - std::string name_lower = base::ToLowerASCII(name); - if (name_lower == "plotly") { - return new kaleido::scopes::PlotlyScope(); - } else { - return nullptr; - } -} - -#endif //CHROMIUM_FACTORY_H diff --git a/src/kaleido/cc-126.0.6478.126/scopes/Plotly.h b/src/kaleido/cc-126.0.6478.126/scopes/Plotly.h deleted file mode 100644 index db83f47e..00000000 --- a/src/kaleido/cc-126.0.6478.126/scopes/Plotly.h +++ /dev/null @@ -1,128 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// -#include "Base.h" -#include "base/bind.h" -#include "base/command_line.h" -#include "base/strings/string_util.h" -#include "base/strings/stringprintf.h" -#include "headless/public/devtools/domains/runtime.h" -#include "../utils.h" -#include -#include -#include -#include -#include - -#ifndef CHROMIUM_PLOTLYSCOPE_H -#define CHROMIUM_PLOTLYSCOPE_H - -namespace kaleido { - namespace scopes { - - class PlotlyScope : public BaseScope { - public: - PlotlyScope(); - - ~PlotlyScope() override; - - PlotlyScope(const PlotlyScope &v); - - std::string ScopeName() override; - - std::vector> BuildCallArguments() override; - - public: - std::string topojsonUrl; - std::string mapboxToken; - }; - - PlotlyScope::PlotlyScope() : topojsonUrl(), mapboxToken() { - // Add MathJax config - scriptTags.emplace_back("window.PlotlyConfig = {MathJaxConfig: 'local'}"); - - // Process plotlyjs - if (HasCommandLineSwitch("plotlyjs")) { - std::string plotlyjsArg = GetCommandLineSwitch("plotlyjs"); - - // Check if value is a URL - GURL plotlyjsUrl(plotlyjsArg); - if (plotlyjsUrl.is_valid()) { - scriptTags.push_back(plotlyjsArg); - } else { - // Check if this is a local file path - if (std::ifstream(plotlyjsArg)) { - localScriptFiles.emplace_back(plotlyjsArg); - } else { - errorMessage = base::StringPrintf("--plotlyjs argument is not a valid URL or file path: %s", - plotlyjsArg.c_str()); - return; - } - } - } else { - scriptTags.emplace_back("https://cdn.plot.ly/plotly-latest.min.js"); - } - - // MathJax - if (HasCommandLineSwitch("mathjax")) { - std::string mathjaxArg = GetCommandLineSwitch("mathjax"); - - GURL mathjaxUrl(mathjaxArg); - if (mathjaxUrl.is_valid()) { - std::stringstream mathjaxStringStream; - mathjaxStringStream << mathjaxArg << "?config=TeX-AMS-MML_SVG"; - scriptTags.push_back(mathjaxStringStream.str()); - } else { - errorMessage = base::StringPrintf("--mathjax argument is not a valid URL: %s", mathjaxArg.c_str()); - return; - } - } - - // Topojson - if (HasCommandLineSwitch("topojson")) { - std::string topojsonArg = GetCommandLineSwitch("topojson"); - if (GURL(topojsonArg).is_valid()) { - topojsonUrl = topojsonArg; - } else { - errorMessage = base::StringPrintf("--topojson argument is not a valid URL: %s", - topojsonArg.c_str()); - return; - } - } - - // Process mapbox-token - if (HasCommandLineSwitch("mapbox-access-token")) { - mapboxToken = GetCommandLineSwitch("mapbox-access-token"); - } - } - - PlotlyScope::~PlotlyScope() {} - - PlotlyScope::PlotlyScope(const PlotlyScope &v) : topojsonUrl(v.topojsonUrl), mapboxToken(v.mapboxToken) {} - - std::string PlotlyScope::ScopeName() { - return "plotly"; - } - - std::vector> PlotlyScope::BuildCallArguments() { - std::vector> args; - - // Add mapbox token from command line - args.push_back( - headless::runtime::CallArgument::Builder() - .SetValue(std::make_unique(base::StringPiece(mapboxToken))) - .Build() - ); - - // Add topojson url from command-line - args.push_back( - headless::runtime::CallArgument::Builder() - .SetValue(std::make_unique(base::StringPiece(topojsonUrl))) - .Build() - ); - return args; - } - } -} - -#endif //CHROMIUM_PLOTLYSCOPE_H diff --git a/src/kaleido/cc-126.0.6478.126/utils.h b/src/kaleido/cc-126.0.6478.126/utils.h deleted file mode 100644 index 86871131..00000000 --- a/src/kaleido/cc-126.0.6478.126/utils.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// Created by jmmease on 6/23/20. -// - -#include -#include - -#ifndef CHROMIUM_UTILS_H -#define CHROMIUM_UTILS_H - -namespace kaleido { - namespace utils { - // Load version string - std::ifstream verStream("version"); - std::string version(( - std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); - - void writeJsonMessage(int code, std::string message) { - std::string error = base::StringPrintf( - "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}\n", - code, message.c_str(), version.c_str()); - std::cout << error; - } - } -} - -#endif //CHROMIUM_UTILS_H From 5a12666f9963e43daabfb4b22a2b2f2de9bce2c9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:49:59 -0400 Subject: [PATCH 142/510] Change gn_append.patch --- toolchain/gn_fragments/gn_append.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/toolchain/gn_fragments/gn_append.patch b/toolchain/gn_fragments/gn_append.patch index f8e21236..1c6c8edb 100644 --- a/toolchain/gn_fragments/gn_append.patch +++ b/toolchain/gn_fragments/gn_append.patch @@ -10,8 +10,8 @@ index 3792e09b13..29dd004e5c 100644 +executable("kaleido") { + sources = [ "app/kaleido.cc" ] + -+ deps = [ -#+ ":headless_shell_lib", # not sure we really need these, we'll see, cruft from examples -#+ "//skia", -+ ] ++ deps = [] ++ ++ ++ +} From 96c15587545bef76fa983ed81e99ddaac3e87a93 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:52:11 -0400 Subject: [PATCH 143/510] Continue even if gn patch applied --- toolchain/src/06-build_ninja.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index bbb3e078..ca13e975 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -39,7 +39,7 @@ util_export_version PATCH="$MAIN_DIR/toolchain/gn_fragments/gn_append.patch" $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" -git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" && exit 0 || true +git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" || true git -C $MAIN_DIR/vendor/src apply "$PATCH" || util_error "Could not apply gn_append.patch, please inspect" $NO_VERBOSE || echo "Create build directory and placing build arguments inside of it, and running gn gen" From 3361aae03991d2d928e7c7dbb014d4c0bd1fd452 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:53:36 -0400 Subject: [PATCH 144/510] Fix continue semantics --- toolchain/src/06-build_ninja.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index ca13e975..0b999543 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -39,8 +39,7 @@ util_export_version PATCH="$MAIN_DIR/toolchain/gn_fragments/gn_append.patch" $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" -git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" || true -git -C $MAIN_DIR/vendor/src apply "$PATCH" || util_error "Could not apply gn_append.patch, please inspect" +git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" || git -C $MAIN_DIR/vendor/src apply "$PATCH" || util_error "Could not apply gn_append.patch, please inspect" $NO_VERBOSE || echo "Create build directory and placing build arguments inside of it, and running gn gen" From 1a7531d5215f77601e0abfca8e7e134f5bfe48ae Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 14:54:28 -0400 Subject: [PATCH 145/510] Fix continue semantics2 --- toolchain/src/06-build_ninja.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 0b999543..2c6ec94a 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -39,7 +39,7 @@ util_export_version PATCH="$MAIN_DIR/toolchain/gn_fragments/gn_append.patch" $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" -git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" || git -C $MAIN_DIR/vendor/src apply "$PATCH" || util_error "Could not apply gn_append.patch, please inspect" +git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" || git -C $MAIN_DIR/vendor/src apply "$PATCH" $NO_VERBOSE || echo "Create build directory and placing build arguments inside of it, and running gn gen" From 6733aded1791724011cb643d6afba22e7caf067f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 15:00:36 -0400 Subject: [PATCH 146/510] Remove official_build flag --- toolchain/src/06-build_ninja.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 2c6ec94a..484d8c64 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -49,9 +49,12 @@ TEMPLATE_FILE="${MAIN_DIR}/toolchain/gn_fragments/gn_args.gn.template" mkdir -p ${OUTDIR} +# can't do is_official_build w/o more work, prob shouldn't do it +# but is till want an accurate timestamp? look src/build/compute_timestamp.py (or something like that) +# TODO SUFFIX=" is_component_build=$DEV -is_official_build=$FINAL +is_official_build=false target_cpu=\"${TARGET_ARCH}\"" if [[ ! -f "${ARGS_FILE}" ]] || [[ $(diff $ARGS_FILE <(cat $TEMPLATE_FILE <(echo $SUFFIX))) ]]; then From b55b7ee613e22b53cd4ba569c24bb1bea750cacb Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 15:05:32 -0400 Subject: [PATCH 147/510] Fix up gn_args template --- toolchain/gn_fragments/gn_args.gn.template | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/toolchain/gn_fragments/gn_args.gn.template b/toolchain/gn_fragments/gn_args.gn.template index 4b28d4c7..02bd2cdf 100644 --- a/toolchain/gn_fragments/gn_args.gn.template +++ b/toolchain/gn_fragments/gn_args.gn.template @@ -1,21 +1,11 @@ -# Copied windows/linux/mac compatible options from //build/args/headless.gn -# Embed resource.pak into binary to simplify deployment. -headless_use_embedded_resources = true +import('//build/args/headless.gn') -# Chromium 124 needs this but no effect on Chomrium 108 -headless_enable_commands = false -# Use embedded data instead external files for headless in order -# to simplify deployment. -v8_use_external_startup_data = false - -enable_nacl = false -enable_remoting = false # Debug / symbols -symbol_level=0 -blink_symbol_level=0 -is_debug=false +#symbol_level=0 +#blink_symbol_level=0 +#is_debug=false # The following will be generated by the buildscript # is_component_build=false From a5ea075099e1bd707fe53f51cc0de237290c6eb6 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 15:06:26 -0400 Subject: [PATCH 148/510] Fix syntax error '-->" --- toolchain/gn_fragments/gn_args.gn.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/gn_fragments/gn_args.gn.template b/toolchain/gn_fragments/gn_args.gn.template index 02bd2cdf..92206315 100644 --- a/toolchain/gn_fragments/gn_args.gn.template +++ b/toolchain/gn_fragments/gn_args.gn.template @@ -1,8 +1,8 @@ -import('//build/args/headless.gn') +import("//build/args/headless.gn") -# Debug / symbols +# Debug / symbols-- do I need these? #symbol_level=0 #blink_symbol_level=0 #is_debug=false From d94ccfef47f278b2590048a37612c2c5467e375e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 15:23:31 -0400 Subject: [PATCH 149/510] Refix example port to proper naming --- .../cc-126.0.6478.126/headless_shell.cc | 277 +++++++++++++++++ .../cc-126.0.6478.126/headless_shell_main.cc | 37 --- src/kaleido/cc-126.0.6478.126/kaleido.cc | 286 ++---------------- 3 files changed, 300 insertions(+), 300 deletions(-) create mode 100644 src/kaleido/cc-126.0.6478.126/headless_shell.cc delete mode 100644 src/kaleido/cc-126.0.6478.126/headless_shell_main.cc diff --git a/src/kaleido/cc-126.0.6478.126/headless_shell.cc b/src/kaleido/cc-126.0.6478.126/headless_shell.cc new file mode 100644 index 00000000..02a11f07 --- /dev/null +++ b/src/kaleido/cc-126.0.6478.126/headless_shell.cc @@ -0,0 +1,277 @@ +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "headless/public/headless_shell.h" + +#include + +#include "base/base_switches.h" +#include "base/command_line.h" +#include "base/files/file_util.h" +#include "base/functional/bind.h" +#include "base/logging.h" +#include "base/task/thread_pool.h" +#include "build/branding_buildflags.h" +#include "build/build_config.h" +#include "content/public/app/content_main.h" +#include "content/public/common/content_switches.h" +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/lib/browser/headless_web_contents_impl.h" +#include "headless/lib/headless_content_main_delegate.h" +#include "headless/public/headless_browser.h" +#include "headless/public/headless_browser_context.h" +#include "headless/public/headless_web_contents.h" +#include "headless/public/switches.h" +#include "net/base/filename_util.h" +#include "url/gurl.h" + +#if BUILDFLAG(IS_MAC) +#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck +#endif + +#if BUILDFLAG(IS_WIN) +#include "base/strings/utf_string_conversions.h" +#include "components/crash/core/app/crash_switches.h" // nogncheck +#include "components/crash/core/app/run_as_crashpad_handler_win.h" +#include "sandbox/win/src/sandbox_types.h" +#endif + +#if defined(HEADLESS_USE_POLICY) +#include "components/headless/policy/headless_mode_policy.h" // nogncheck +#endif + +#if defined(HEADLESS_ENABLE_COMMANDS) +#include "components/headless/command_handler/headless_command_handler.h" // nogncheck +#endif + +namespace headless { + +namespace { + +#if BUILDFLAG(IS_WIN) +const wchar_t kAboutBlank[] = L"about:blank"; +#else +const char kAboutBlank[] = "about:blank"; +#endif + +GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { +#if BUILDFLAG(IS_WIN) + GURL url(base::WideToUTF8(arg)); +#else + GURL url(arg); +#endif + if (url.is_valid() && url.has_scheme()) + return url; + + return net::FilePathToFileURL( + base::MakeAbsoluteFilePath(base::FilePath(arg))); +} + +// An application which implements a simple headless browser. +class HeadlessShell { + public: + HeadlessShell() = default; + + HeadlessShell(const HeadlessShell&) = delete; + HeadlessShell& operator=(const HeadlessShell&) = delete; + + ~HeadlessShell() = default; + + void OnBrowserStart(HeadlessBrowser* browser); + + private: +#if defined(HEADLESS_ENABLE_COMMANDS) + void OnProcessCommandsDone(HeadlessCommandHandler::Result result); +#endif + void ShutdownSoon(); + void Shutdown(); + + raw_ptr browser_ = nullptr; +}; + +void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { + browser_ = browser; + +#if defined(HEADLESS_USE_POLICY) + if (HeadlessModePolicy::IsHeadlessModeDisabled( + static_cast(browser)->GetPrefs())) { + LOG(ERROR) << "Headless mode is disallowed by the system admin."; + ShutdownSoon(); + return; + } +#endif + + HeadlessBrowserContext::Builder context_builder = + browser_->CreateBrowserContextBuilder(); + + // Create browser context and set it as the default. The default browser + // context is used by the Target.createTarget() DevTools command when no other + // context is given. + HeadlessBrowserContext* browser_context = context_builder.Build(); + browser_->SetDefaultBrowserContext(browser_context); + + const bool devtools_enabled = static_cast(browser) + ->options() + ->DevtoolsServerEnabled(); + + // If no explicit URL is present navigate to about:blank unless we're being + // driven by a debugger. + base::CommandLine::StringVector args = + base::CommandLine::ForCurrentProcess()->GetArgs(); + args.erase( + std::remove(args.begin(), args.end(), base::CommandLine::StringType()), + args.end()); + + if (args.empty() && !devtools_enabled) { + args.push_back(kAboutBlank); + } + + if (args.empty()) { + return; + } + + GURL target_url = ConvertArgumentToURL(args.front()); + HeadlessWebContents::Builder builder( + browser_context->CreateWebContentsBuilder()); + + // If driven by a debugger just open the target page and + // leave expecting the debugger will do what they need. + if (devtools_enabled) { + HeadlessWebContents* web_contents = + builder.SetInitialURL(target_url).Build(); + if (!web_contents) { + LOG(ERROR) << "Navigation to " << target_url << " failed."; + ShutdownSoon(); + } + return; + } + + // Otherwise instantiate headless shell command handler that will + // execute the commands against the target page. +#if defined(HEADLESS_ENABLE_COMMANDS) + GURL handler_url = HeadlessCommandHandler::GetHandlerUrl(); + HeadlessWebContents* web_contents = + builder.SetInitialURL(handler_url).Build(); + if (!web_contents) { + LOG(ERROR) << "Navigation to " << handler_url << " failed."; + ShutdownSoon(); + return; + } + + HeadlessCommandHandler::ProcessCommands( + HeadlessWebContentsImpl::From(web_contents)->web_contents(), + std::move(target_url), + base::BindOnce(&HeadlessShell::OnProcessCommandsDone, + base::Unretained(this))); +#endif +} + +#if defined(HEADLESS_ENABLE_COMMANDS) +void HeadlessShell::OnProcessCommandsDone( + HeadlessCommandHandler::Result result) { + if (result != HeadlessCommandHandler::Result::kSuccess) { + static_cast(browser_)->ShutdownWithExitCode( + static_cast(result)); + return; + } + Shutdown(); +} +#endif + +void HeadlessShell::ShutdownSoon() { + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&HeadlessShell::Shutdown, base::Unretained(this))); +} + +void HeadlessShell::Shutdown() { + browser_.ExtractAsDangling()->Shutdown(); +} + +void HeadlessChildMain(content::ContentMainParams params) { + HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); + + // Note that exiting from here means that base::AtExitManager objects will not + // have a chance to be destroyed (typically in main/WinMain). + // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown + // crashes and slowdowns on shutdown. + base::Process::TerminateCurrentProcessImmediately(rc); +} + +int HeadlessBrowserMain(content::ContentMainParams params) { +#if DCHECK_IS_ON() + // The browser can only be initialized once. + static bool browser_was_initialized; + DCHECK(!browser_was_initialized); + browser_was_initialized = true; + + // Child processes should not end up here. + DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( + ::switches::kProcessType)); +#endif +#if defined(HEADLESS_ENABLE_COMMANDS) + base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); + if (HeadlessCommandHandler::HasHeadlessCommandSwitches(command_line)) { + if (command_line.HasSwitch(::switches::kRemoteDebuggingPort) || + command_line.HasSwitch(::switches::kRemoteDebuggingPipe)) { + LOG(ERROR) + << "Headless commands are not compatible with remote debugging."; + return EXIT_FAILURE; + } + command_line.AppendSwitch(switches::kDisableLazyLoading); + } +#endif + + HeadlessShell shell; + auto browser = std::make_unique( + base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); + HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; + return content::ContentMain(std::move(params)); +} + +} // namespace + +int HeadlessShellMain(content::ContentMainParams params) { +#if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); +#else + base::CommandLine::Init(params.argc, params.argv); +#endif // BUILDFLAG(IS_WIN) + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + std::string process_type = + command_line.GetSwitchValueASCII(::switches::kProcessType); +#if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } +#endif // defined(HEADLESS_USE_CRASHPAD) + + if (!process_type.empty()) { + HeadlessChildMain(std::move(params)); + NOTREACHED(); + } + +#if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); +#endif + +#if BUILDFLAG(IS_FUCHSIA) + // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. + command_line.AppendSwitch(::switches::kDisableGpu); +#endif + + if (command_line.GetArgs().size() > 1) { + LOG(ERROR) << "Multiple targets are not supported."; + return EXIT_FAILURE; + } + + return HeadlessBrowserMain(std::move(params)); +} + +} // namespace headless diff --git a/src/kaleido/cc-126.0.6478.126/headless_shell_main.cc b/src/kaleido/cc-126.0.6478.126/headless_shell_main.cc deleted file mode 100644 index f8287680..00000000 --- a/src/kaleido/cc-126.0.6478.126/headless_shell_main.cc +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2016 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "build/build_config.h" -#include "headless/public/headless_shell.h" - -#if BUILDFLAG(IS_WIN) -#include "content/public/app/sandbox_helper_win.h" -#include "sandbox/win/src/sandbox_types.h" // nogncheck -#elif BUILDFLAG(IS_MAC) -#include "base/check.h" -#include "sandbox/mac/seatbelt_exec.h" -#endif - -int main(int argc, const char** argv) { - content::ContentMainParams params(nullptr); -#if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; -#elif !BUILDFLAG(IS_ANDROID) - params.argc = argc; - params.argv = argv; -#if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } -#endif // BUILDFLAG(IS_MAC) -#endif // BUILDFLAG(IS_WIN) - - return headless::HeadlessShellMain(std::move(params)); -} diff --git a/src/kaleido/cc-126.0.6478.126/kaleido.cc b/src/kaleido/cc-126.0.6478.126/kaleido.cc index 02a11f07..f8287680 100644 --- a/src/kaleido/cc-126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc-126.0.6478.126/kaleido.cc @@ -2,276 +2,36 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "headless/public/headless_shell.h" - -#include - -#include "base/base_switches.h" -#include "base/command_line.h" -#include "base/files/file_util.h" -#include "base/functional/bind.h" -#include "base/logging.h" -#include "base/task/thread_pool.h" -#include "build/branding_buildflags.h" #include "build/build_config.h" -#include "content/public/app/content_main.h" -#include "content/public/common/content_switches.h" -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/lib/browser/headless_web_contents_impl.h" -#include "headless/lib/headless_content_main_delegate.h" -#include "headless/public/headless_browser.h" -#include "headless/public/headless_browser_context.h" -#include "headless/public/headless_web_contents.h" -#include "headless/public/switches.h" -#include "net/base/filename_util.h" -#include "url/gurl.h" - -#if BUILDFLAG(IS_MAC) -#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck -#endif - -#if BUILDFLAG(IS_WIN) -#include "base/strings/utf_string_conversions.h" -#include "components/crash/core/app/crash_switches.h" // nogncheck -#include "components/crash/core/app/run_as_crashpad_handler_win.h" -#include "sandbox/win/src/sandbox_types.h" -#endif - -#if defined(HEADLESS_USE_POLICY) -#include "components/headless/policy/headless_mode_policy.h" // nogncheck -#endif - -#if defined(HEADLESS_ENABLE_COMMANDS) -#include "components/headless/command_handler/headless_command_handler.h" // nogncheck -#endif - -namespace headless { - -namespace { - -#if BUILDFLAG(IS_WIN) -const wchar_t kAboutBlank[] = L"about:blank"; -#else -const char kAboutBlank[] = "about:blank"; -#endif +#include "headless/public/headless_shell.h" -GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { #if BUILDFLAG(IS_WIN) - GURL url(base::WideToUTF8(arg)); -#else - GURL url(arg); -#endif - if (url.is_valid() && url.has_scheme()) - return url; - - return net::FilePathToFileURL( - base::MakeAbsoluteFilePath(base::FilePath(arg))); -} - -// An application which implements a simple headless browser. -class HeadlessShell { - public: - HeadlessShell() = default; - - HeadlessShell(const HeadlessShell&) = delete; - HeadlessShell& operator=(const HeadlessShell&) = delete; - - ~HeadlessShell() = default; - - void OnBrowserStart(HeadlessBrowser* browser); - - private: -#if defined(HEADLESS_ENABLE_COMMANDS) - void OnProcessCommandsDone(HeadlessCommandHandler::Result result); -#endif - void ShutdownSoon(); - void Shutdown(); - - raw_ptr browser_ = nullptr; -}; - -void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { - browser_ = browser; - -#if defined(HEADLESS_USE_POLICY) - if (HeadlessModePolicy::IsHeadlessModeDisabled( - static_cast(browser)->GetPrefs())) { - LOG(ERROR) << "Headless mode is disallowed by the system admin."; - ShutdownSoon(); - return; - } -#endif - - HeadlessBrowserContext::Builder context_builder = - browser_->CreateBrowserContextBuilder(); - - // Create browser context and set it as the default. The default browser - // context is used by the Target.createTarget() DevTools command when no other - // context is given. - HeadlessBrowserContext* browser_context = context_builder.Build(); - browser_->SetDefaultBrowserContext(browser_context); - - const bool devtools_enabled = static_cast(browser) - ->options() - ->DevtoolsServerEnabled(); - - // If no explicit URL is present navigate to about:blank unless we're being - // driven by a debugger. - base::CommandLine::StringVector args = - base::CommandLine::ForCurrentProcess()->GetArgs(); - args.erase( - std::remove(args.begin(), args.end(), base::CommandLine::StringType()), - args.end()); - - if (args.empty() && !devtools_enabled) { - args.push_back(kAboutBlank); - } - - if (args.empty()) { - return; - } - - GURL target_url = ConvertArgumentToURL(args.front()); - HeadlessWebContents::Builder builder( - browser_context->CreateWebContentsBuilder()); - - // If driven by a debugger just open the target page and - // leave expecting the debugger will do what they need. - if (devtools_enabled) { - HeadlessWebContents* web_contents = - builder.SetInitialURL(target_url).Build(); - if (!web_contents) { - LOG(ERROR) << "Navigation to " << target_url << " failed."; - ShutdownSoon(); - } - return; - } - - // Otherwise instantiate headless shell command handler that will - // execute the commands against the target page. -#if defined(HEADLESS_ENABLE_COMMANDS) - GURL handler_url = HeadlessCommandHandler::GetHandlerUrl(); - HeadlessWebContents* web_contents = - builder.SetInitialURL(handler_url).Build(); - if (!web_contents) { - LOG(ERROR) << "Navigation to " << handler_url << " failed."; - ShutdownSoon(); - return; - } - - HeadlessCommandHandler::ProcessCommands( - HeadlessWebContentsImpl::From(web_contents)->web_contents(), - std::move(target_url), - base::BindOnce(&HeadlessShell::OnProcessCommandsDone, - base::Unretained(this))); -#endif -} - -#if defined(HEADLESS_ENABLE_COMMANDS) -void HeadlessShell::OnProcessCommandsDone( - HeadlessCommandHandler::Result result) { - if (result != HeadlessCommandHandler::Result::kSuccess) { - static_cast(browser_)->ShutdownWithExitCode( - static_cast(result)); - return; - } - Shutdown(); -} +#include "content/public/app/sandbox_helper_win.h" +#include "sandbox/win/src/sandbox_types.h" // nogncheck +#elif BUILDFLAG(IS_MAC) +#include "base/check.h" +#include "sandbox/mac/seatbelt_exec.h" #endif -void HeadlessShell::ShutdownSoon() { - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&HeadlessShell::Shutdown, base::Unretained(this))); -} - -void HeadlessShell::Shutdown() { - browser_.ExtractAsDangling()->Shutdown(); -} - -void HeadlessChildMain(content::ContentMainParams params) { - HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - - // Note that exiting from here means that base::AtExitManager objects will not - // have a chance to be destroyed (typically in main/WinMain). - // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown - // crashes and slowdowns on shutdown. - base::Process::TerminateCurrentProcessImmediately(rc); -} - -int HeadlessBrowserMain(content::ContentMainParams params) { -#if DCHECK_IS_ON() - // The browser can only be initialized once. - static bool browser_was_initialized; - DCHECK(!browser_was_initialized); - browser_was_initialized = true; - - // Child processes should not end up here. - DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( - ::switches::kProcessType)); -#endif -#if defined(HEADLESS_ENABLE_COMMANDS) - base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); - if (HeadlessCommandHandler::HasHeadlessCommandSwitches(command_line)) { - if (command_line.HasSwitch(::switches::kRemoteDebuggingPort) || - command_line.HasSwitch(::switches::kRemoteDebuggingPipe)) { - LOG(ERROR) - << "Headless commands are not compatible with remote debugging."; - return EXIT_FAILURE; - } - command_line.AppendSwitch(switches::kDisableLazyLoading); - } -#endif - - HeadlessShell shell; - auto browser = std::make_unique( - base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); - HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; - return content::ContentMain(std::move(params)); -} - -} // namespace - -int HeadlessShellMain(content::ContentMainParams params) { +int main(int argc, const char** argv) { + content::ContentMainParams params(nullptr); #if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); -#else - base::CommandLine::Init(params.argc, params.argv); -#endif // BUILDFLAG(IS_WIN) - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - std::string process_type = - command_line.GetSwitchValueASCII(::switches::kProcessType); -#if defined(HEADLESS_USE_CRASHPAD) - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } -#endif // defined(HEADLESS_USE_CRASHPAD) - - if (!process_type.empty()) { - HeadlessChildMain(std::move(params)); - NOTREACHED(); - } - + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; +#elif !BUILDFLAG(IS_ANDROID) + params.argc = argc; + params.argv = argv; #if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); -#endif - -#if BUILDFLAG(IS_FUCHSIA) - // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. - command_line.AppendSwitch(::switches::kDisableGpu); -#endif - - if (command_line.GetArgs().size() > 1) { - LOG(ERROR) << "Multiple targets are not supported."; - return EXIT_FAILURE; + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); } +#endif // BUILDFLAG(IS_MAC) +#endif // BUILDFLAG(IS_WIN) - return HeadlessBrowserMain(std::move(params)); + return headless::HeadlessShellMain(std::move(params)); } - -} // namespace headless From c0d5dc13403bae877a66f60a0b82bec4a65171ee Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 15:25:40 -0400 Subject: [PATCH 150/510] Follow example for BUILD.gn more closely --- toolchain/gn_fragments/gn_append.patch | 37 +++++++++++++++++++++----- 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/toolchain/gn_fragments/gn_append.patch b/toolchain/gn_fragments/gn_append.patch index 1c6c8edb..eb2f5b7e 100644 --- a/toolchain/gn_fragments/gn_append.patch +++ b/toolchain/gn_fragments/gn_append.patch @@ -2,16 +2,41 @@ diff --git a/headless/BUILD.gn b/headless/BUILD.gn index 3792e09b13..29dd004e5c 100644 --- a/headless/BUILD.gn +++ b/headless/BUILD.gn -@@ -899,3 +899,12 @@ executable("headless_shell") { +@@ -899,3 +899,37 @@ executable("headless_shell") { "//build/config/compiler:wexit_time_destructors", ] } + +executable("kaleido") { ++ configs -= [ "//build/config/compiler:thinlto_optimize_default" ] ++ configs += [ "//build/config/compiler:thinlto_optimize_max" ] + sources = [ "app/kaleido.cc" ] -+ -+ deps = [] -+ -+ -+ ++ defines = [] ++ deps = [ ":headless_shell_lib" ] ++ if (proprietary_codecs) { ++ deps += [ ":generate_headless_shell_license_file" ] ++ } ++ if (!headless_use_embedded_resources) { ++ data = [ ++ "$root_out_dir/headless_lib_data.pak", ++ "$root_out_dir/headless_lib_strings.pak", ++ ] ++ } ++ if (is_win) { ++ deps += [ ++ "//build/win:default_exe_manifest", ++ "//content/public/app", ++ ] ++ configs += [ "//build/config/win:delayloads" ] ++ } ++ if (is_mac) { ++ deps += [ "//sandbox/mac:seatbelt" ] ++ } ++ if (bundle_hyphen_data) { ++ deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ] ++ } ++ configs += [ ++ ":headless_defines_config", ++ "//build/config/compiler:wexit_time_destructors", ++ ] +} From 1690366a552ff34c7d03a52278068e74ae91acf8 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 15:32:12 -0400 Subject: [PATCH 151/510] Ammend gn build to remove weird flag --- toolchain/gn_fragments/gn_append.patch | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/toolchain/gn_fragments/gn_append.patch b/toolchain/gn_fragments/gn_append.patch index eb2f5b7e..0861d4ba 100644 --- a/toolchain/gn_fragments/gn_append.patch +++ b/toolchain/gn_fragments/gn_append.patch @@ -2,7 +2,7 @@ diff --git a/headless/BUILD.gn b/headless/BUILD.gn index 3792e09b13..29dd004e5c 100644 --- a/headless/BUILD.gn +++ b/headless/BUILD.gn -@@ -899,3 +899,37 @@ executable("headless_shell") { +@@ -899,3 +899,28 @@ executable("headless_shell") { "//build/config/compiler:wexit_time_destructors", ] } @@ -16,12 +16,6 @@ index 3792e09b13..29dd004e5c 100644 + if (proprietary_codecs) { + deps += [ ":generate_headless_shell_license_file" ] + } -+ if (!headless_use_embedded_resources) { -+ data = [ -+ "$root_out_dir/headless_lib_data.pak", -+ "$root_out_dir/headless_lib_strings.pak", -+ ] -+ } + if (is_win) { + deps += [ + "//build/win:default_exe_manifest", @@ -32,9 +26,6 @@ index 3792e09b13..29dd004e5c 100644 + if (is_mac) { + deps += [ "//sandbox/mac:seatbelt" ] + } -+ if (bundle_hyphen_data) { -+ deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ] -+ } + configs += [ + ":headless_defines_config", + "//build/config/compiler:wexit_time_destructors", From 522a560465f9a410eba9467c4a61ccf33c95c082 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 19:03:11 -0400 Subject: [PATCH 152/510] Rework ninja build --- toolchain/gn_fragments/BUILD.gn | 34 ++++++++++++ toolchain/gn_fragments/README.md | 8 +++ .../{gn_args.gn.template => args.gn} | 8 ++- toolchain/gn_fragments/gn_append.patch | 33 ------------ toolchain/src/06-build_ninja.sh | 54 +++++++++++++++---- 5 files changed, 89 insertions(+), 48 deletions(-) create mode 100644 toolchain/gn_fragments/BUILD.gn create mode 100644 toolchain/gn_fragments/README.md rename toolchain/gn_fragments/{gn_args.gn.template => args.gn} (78%) delete mode 100644 toolchain/gn_fragments/gn_append.patch diff --git a/toolchain/gn_fragments/BUILD.gn b/toolchain/gn_fragments/BUILD.gn new file mode 100644 index 00000000..50bca4bc --- /dev/null +++ b/toolchain/gn_fragments/BUILD.gn @@ -0,0 +1,34 @@ +### FOR KALEIDO ### +executable("kaleido") { + configs -= [ "//build/config/compiler:thinlto_optimize_default" ] + configs += [ "//build/config/compiler:thinlto_optimize_max" ] + sources = [ "app/kaleido.cc" ] + defines = [] + deps = [ ":headless_shell_lib" ] + if (proprietary_codecs) { + deps += [ ":generate_headless_shell_license_file" ] + } + if (!headless_use_embedded_resources) { + data = [ + "$root_out_dir/headless_lib_data.pak", + "$root_out_dir/headless_lib_strings.pak", + ] + } + if (is_win) { + deps += [ + "//build/win:default_exe_manifest", + "//content/public/app", + ] + configs += [ "//build/config/win:delayloads" ] + } + if (is_mac) { + deps += [ "//sandbox/mac:seatbelt" ] + } + if (bundle_hyphen_data) { + deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ] + } + configs += [ + ":headless_defines_config", + "//build/config/compiler:wexit_time_destructors", + ] +} diff --git a/toolchain/gn_fragments/README.md b/toolchain/gn_fragments/README.md new file mode 100644 index 00000000..30d2c667 --- /dev/null +++ b/toolchain/gn_fragments/README.md @@ -0,0 +1,8 @@ +1. We have to define a kaleido executable. To do that, we hijack chromium's headless app. That executable is defined at the bottom of `src/headless/BUILD.gn`. We copy and adapt that definition to kaleido (what you see in this `BUILD.gn`) and append it to the bottom of the former. +2. Arguments are specified in an args.gn in our desired output directory, which is passed as an argument to the `ninja` command in the ??-build_kaleido.sh script. + +As well as these files and their includes, reading `src/headless/BUILD.gn` and `src/headless/headless.gni` will help to understand possible arguments in `args.gn`. + +If its not already, its very likely these will have to be adapted per chromium version. + +`enable_printing` and `proprietary_codecs` are particularly interesting, and deserve investigation. diff --git a/toolchain/gn_fragments/gn_args.gn.template b/toolchain/gn_fragments/args.gn similarity index 78% rename from toolchain/gn_fragments/gn_args.gn.template rename to toolchain/gn_fragments/args.gn index 92206315..9bd9ebaa 100644 --- a/toolchain/gn_fragments/gn_args.gn.template +++ b/toolchain/gn_fragments/args.gn @@ -1,11 +1,9 @@ import("//build/args/headless.gn") - - # Debug / symbols-- do I need these? -#symbol_level=0 -#blink_symbol_level=0 -#is_debug=false +symbol_level=0 +blink_symbol_level=0 +is_debug=false # The following will be generated by the buildscript # is_component_build=false diff --git a/toolchain/gn_fragments/gn_append.patch b/toolchain/gn_fragments/gn_append.patch deleted file mode 100644 index 0861d4ba..00000000 --- a/toolchain/gn_fragments/gn_append.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/headless/BUILD.gn b/headless/BUILD.gn -index 3792e09b13..29dd004e5c 100644 ---- a/headless/BUILD.gn -+++ b/headless/BUILD.gn -@@ -899,3 +899,28 @@ executable("headless_shell") { - "//build/config/compiler:wexit_time_destructors", - ] - } -+ -+executable("kaleido") { -+ configs -= [ "//build/config/compiler:thinlto_optimize_default" ] -+ configs += [ "//build/config/compiler:thinlto_optimize_max" ] -+ sources = [ "app/kaleido.cc" ] -+ defines = [] -+ deps = [ ":headless_shell_lib" ] -+ if (proprietary_codecs) { -+ deps += [ ":generate_headless_shell_license_file" ] -+ } -+ if (is_win) { -+ deps += [ -+ "//build/win:default_exe_manifest", -+ "//content/public/app", -+ ] -+ configs += [ "//build/config/win:delayloads" ] -+ } -+ if (is_mac) { -+ deps += [ "//sandbox/mac:seatbelt" ] -+ } -+ configs += [ -+ ":headless_defines_config", -+ "//build/config/compiler:wexit_time_destructors", -+ ] -+} diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 484d8c64..2f03260e 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -16,10 +16,18 @@ usage=( "Updating timestamp will prompt a rebuild of lots of libraries you otherwise don't need to rebuild, so" "do this at the end." "build_ninja [-f|--final]" - + "" + "Show: show will just let you know if you last did a development build or not" + "build_ninja [-s|--show]" + "" + "List: list is a shortcut for gn args --list, which must be run after running build_ninja once and will show" + "will show you all possible arguments." + "build_ninja [-l|--list]" ) -FLAGS=("-f" "--final") +# todo args --list +# todo show +FLAGS=("-f" "--final" "-s" "--show" "-l" "--list") ARGFLAGS=() SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) @@ -28,6 +36,11 @@ SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> / FINAL="$(flags_resolve false "-f" "--final")" $FINAL && DEV=false || DEV=true +SHOW="$(flags_resolve false "-s" "--show")" +LIST="$(flags_resolve false "-l" "--list")" + + + $NO_VERBOSE || echo "Running 06-build_ninja.sh" $NO_VERBOSE || echo "Release build: $FINAL" @@ -36,22 +49,43 @@ $NO_VERBOSE || echo "Dev build: $DEV" util_get_version util_export_version -PATCH="$MAIN_DIR/toolchain/gn_fragments/gn_append.patch" +BUILD_SUFFIX="$MAIN_DIR/toolchain/gn_fragments/BUILD.gn" +TARGET="$MAIN_DIR/vendor/src/headless/BUILD.gn" +OUTDIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" +ARGS_FILE="${OUTDIR}/args.gn" +TEMPLATE_FILE="${MAIN_DIR}/toolchain/gn_fragments/args.gn" + +if [[ $SHOW ]]; then + if [[ -f "${ARGS_FILE}" ]]; then + cat "${ARGS_FILE}" + else + echo "Script never run, nothing to show" + fi + exit 0 +fi + +if [[ $LIST ]]; then + if [[ -f "${ARGS_FILE}" ]]; then + ( cd $MAIN_DIR/vendor/src && gn args --list $OUTDIR ) + else + echo "You haven't run the main script yet, that needs to happen once before this will work" + fi + exit 0 +fi +LINE_NO=$(grep "$TARGET" -ne "### FOR KALEIDO ###" | cut -f1 -d:) +if [[ -n "$LINE_NO" ]]; then + head "$TARGET" -n $(($LINE_NO - 1)) > "$TARGET" +fi $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" -git -C $MAIN_DIR/vendor/src apply --check --reverse "$PATCH" && echo "Patch seems to be already applied" || git -C $MAIN_DIR/vendor/src apply "$PATCH" +cat "$BUILD_SUFFIX" >> "$TARGET" $NO_VERBOSE || echo "Create build directory and placing build arguments inside of it, and running gn gen" -OUTDIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" -ARGS_FILE="${OUTDIR}/args.gn" -TEMPLATE_FILE="${MAIN_DIR}/toolchain/gn_fragments/gn_args.gn.template" mkdir -p ${OUTDIR} -# can't do is_official_build w/o more work, prob shouldn't do it -# but is till want an accurate timestamp? look src/build/compute_timestamp.py (or something like that) -# TODO +# note- this will make timestamp not accurate for chromium, but best choice rn, see build/compute_build_timestamp.py SUFFIX=" is_component_build=$DEV is_official_build=false From 7ca0bcb8c729da179b15b762c1fb0df510293d27 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 19:47:07 -0400 Subject: [PATCH 153/510] Fix boolean logic error --- toolchain/src/06-build_ninja.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 2f03260e..191a60ee 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -55,7 +55,7 @@ OUTDIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" ARGS_FILE="${OUTDIR}/args.gn" TEMPLATE_FILE="${MAIN_DIR}/toolchain/gn_fragments/args.gn" -if [[ $SHOW ]]; then +if $SHOW; then if [[ -f "${ARGS_FILE}" ]]; then cat "${ARGS_FILE}" else @@ -64,7 +64,7 @@ if [[ $SHOW ]]; then exit 0 fi -if [[ $LIST ]]; then +if $LIST; then if [[ -f "${ARGS_FILE}" ]]; then ( cd $MAIN_DIR/vendor/src && gn args --list $OUTDIR ) else From ea7b9aa3f8c784cd20ad00450f13a7c1171ba868 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 19:49:30 -0400 Subject: [PATCH 154/510] Remove weird build artifacts --- toolchain/gn_fragments/BUILD.gn | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/toolchain/gn_fragments/BUILD.gn b/toolchain/gn_fragments/BUILD.gn index 50bca4bc..61af56a6 100644 --- a/toolchain/gn_fragments/BUILD.gn +++ b/toolchain/gn_fragments/BUILD.gn @@ -1,13 +1,15 @@ ### FOR KALEIDO ### + +# certain portions commented because a) they will always resolve false and b) they fail anyway executable("kaleido") { configs -= [ "//build/config/compiler:thinlto_optimize_default" ] configs += [ "//build/config/compiler:thinlto_optimize_max" ] sources = [ "app/kaleido.cc" ] defines = [] deps = [ ":headless_shell_lib" ] - if (proprietary_codecs) { - deps += [ ":generate_headless_shell_license_file" ] - } +# if (proprietary_codecs) { +# deps += [ ":generate_headless_shell_license_file" ] +# } if (!headless_use_embedded_resources) { data = [ "$root_out_dir/headless_lib_data.pak", @@ -24,9 +26,9 @@ executable("kaleido") { if (is_mac) { deps += [ "//sandbox/mac:seatbelt" ] } - if (bundle_hyphen_data) { - deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ] - } +# if (bundle_hyphen_data) { +# deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ] +3 } configs += [ ":headless_defines_config", "//build/config/compiler:wexit_time_destructors", From ec7b90a6669fd1a087df7c549559ae82e61e0ecd Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 19:50:07 -0400 Subject: [PATCH 155/510] Remove weird build artifacts2 w/ typo --- toolchain/gn_fragments/BUILD.gn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/gn_fragments/BUILD.gn b/toolchain/gn_fragments/BUILD.gn index 61af56a6..081c30f5 100644 --- a/toolchain/gn_fragments/BUILD.gn +++ b/toolchain/gn_fragments/BUILD.gn @@ -28,7 +28,7 @@ executable("kaleido") { } # if (bundle_hyphen_data) { # deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ] -3 } +# } configs += [ ":headless_defines_config", "//build/config/compiler:wexit_time_destructors", From e38eb0e287d626004d8dd99228d9a7cc06bc2911 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 19:52:51 -0400 Subject: [PATCH 156/510] Improve verbosity of build ninja --- toolchain/gn_fragments/BUILD.gn | 12 ++++++------ toolchain/src/06-build_ninja.sh | 2 ++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/toolchain/gn_fragments/BUILD.gn b/toolchain/gn_fragments/BUILD.gn index 081c30f5..93754341 100644 --- a/toolchain/gn_fragments/BUILD.gn +++ b/toolchain/gn_fragments/BUILD.gn @@ -7,9 +7,9 @@ executable("kaleido") { sources = [ "app/kaleido.cc" ] defines = [] deps = [ ":headless_shell_lib" ] -# if (proprietary_codecs) { -# deps += [ ":generate_headless_shell_license_file" ] -# } + if (proprietary_codecs) { + deps += [ ":generate_headless_shell_license_file" ] + } if (!headless_use_embedded_resources) { data = [ "$root_out_dir/headless_lib_data.pak", @@ -26,9 +26,9 @@ executable("kaleido") { if (is_mac) { deps += [ "//sandbox/mac:seatbelt" ] } -# if (bundle_hyphen_data) { -# deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ] -# } + if (bundle_hyphen_data) { + deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ] + } configs += [ ":headless_defines_config", "//build/config/compiler:wexit_time_destructors", diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 191a60ee..2bde29e8 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -80,6 +80,8 @@ fi $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" cat "$BUILD_SUFFIX" >> "$TARGET" +$NO_VERBOSE || cat $TARGET + $NO_VERBOSE || echo "Create build directory and placing build arguments inside of it, and running gn gen" From 00a6631f834c4a1df2922f3d79d22dfcb4120cfb Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 19:59:25 -0400 Subject: [PATCH 157/510] Fix BUILD.gn for version --- toolchain/gn_fragments/BUILD.gn | 4 ---- 1 file changed, 4 deletions(-) diff --git a/toolchain/gn_fragments/BUILD.gn b/toolchain/gn_fragments/BUILD.gn index 93754341..e9e07641 100644 --- a/toolchain/gn_fragments/BUILD.gn +++ b/toolchain/gn_fragments/BUILD.gn @@ -1,6 +1,5 @@ ### FOR KALEIDO ### -# certain portions commented because a) they will always resolve false and b) they fail anyway executable("kaleido") { configs -= [ "//build/config/compiler:thinlto_optimize_default" ] configs += [ "//build/config/compiler:thinlto_optimize_max" ] @@ -26,9 +25,6 @@ executable("kaleido") { if (is_mac) { deps += [ "//sandbox/mac:seatbelt" ] } - if (bundle_hyphen_data) { - deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ] - } configs += [ ":headless_defines_config", "//build/config/compiler:wexit_time_destructors", From 8e10fb04633d0cacca8f2b7fbeee68d17300d5fb Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 20:04:21 -0400 Subject: [PATCH 158/510] Try process sub to not eat my own tail --- toolchain/src/06-build_ninja.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 2bde29e8..78c68bf0 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -73,9 +73,9 @@ if $LIST; then exit 0 fi -LINE_NO=$(grep "$TARGET" -ne "### FOR KALEIDO ###" | cut -f1 -d:) +LINE_NO=$(grep "$TARGET" -ne $(head -n 1 $BUILD_SUFFIX) | cut -f1 -d:) if [[ -n "$LINE_NO" ]]; then - head "$TARGET" -n $(($LINE_NO - 1)) > "$TARGET" + cat <(head "$TARGET" -n $(($LINE_NO - 1))) > "$TARGET" fi $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" cat "$BUILD_SUFFIX" >> "$TARGET" From 562112ff1094aa8c043f209263d78eb54d3ece0a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 20:07:49 -0400 Subject: [PATCH 159/510] Try sed for truncate --- toolchain/src/06-build_ninja.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 78c68bf0..b1f6f8c9 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -75,7 +75,7 @@ fi LINE_NO=$(grep "$TARGET" -ne $(head -n 1 $BUILD_SUFFIX) | cut -f1 -d:) if [[ -n "$LINE_NO" ]]; then - cat <(head "$TARGET" -n $(($LINE_NO - 1))) > "$TARGET" + sed -i "$(($LINE_NO - 1)),\$d" "$TARGET" fi $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" cat "$BUILD_SUFFIX" >> "$TARGET" From e5775df4c5ab63ca777a7cadf40077563b359128 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 20:09:48 -0400 Subject: [PATCH 160/510] Use tempfile, not sed --- toolchain/src/06-build_ninja.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index b1f6f8c9..a8a83ca6 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -75,7 +75,8 @@ fi LINE_NO=$(grep "$TARGET" -ne $(head -n 1 $BUILD_SUFFIX) | cut -f1 -d:) if [[ -n "$LINE_NO" ]]; then - sed -i "$(($LINE_NO - 1)),\$d" "$TARGET" + head "$TARGET" -n $(($LINE_NO - 1)) > "${TARGET}.TEMP" + mv "${TARGET}.TEMP" $TARGET fi $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" cat "$BUILD_SUFFIX" >> "$TARGET" From ef5ea78c507f66d97483cfd57b4b901d3d06f54c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 20:11:15 -0400 Subject: [PATCH 161/510] Add verbosity --- toolchain/src/06-build_ninja.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index a8a83ca6..fe180ab5 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -73,7 +73,9 @@ if $LIST; then exit 0 fi -LINE_NO=$(grep "$TARGET" -ne $(head -n 1 $BUILD_SUFFIX) | cut -f1 -d:) +LINE_NO=$(grep "$TARGET" -ne "$(head -n 1 $BUILD_SUFFIX)" | cut -f1 -d:) +$NO_VERBOSE || echo "$(head -n 1 $BUILD_SUFFIX)" +$NO_VERBOSE || echo "$LINE_NO" if [[ -n "$LINE_NO" ]]; then head "$TARGET" -n $(($LINE_NO - 1)) > "${TARGET}.TEMP" mv "${TARGET}.TEMP" $TARGET From c5ecde1ac1186ba14b86da504d3d182662a31849 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 20:15:43 -0400 Subject: [PATCH 162/510] Make ninja build versiond dependent --- toolchain/gn_fragments/{ => 126.0.6478.126}/BUILD.gn | 0 toolchain/gn_fragments/{ => 126.0.6478.126}/args.gn | 0 toolchain/src/06-build_ninja.sh | 8 ++++++-- 3 files changed, 6 insertions(+), 2 deletions(-) rename toolchain/gn_fragments/{ => 126.0.6478.126}/BUILD.gn (100%) rename toolchain/gn_fragments/{ => 126.0.6478.126}/args.gn (100%) diff --git a/toolchain/gn_fragments/BUILD.gn b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn similarity index 100% rename from toolchain/gn_fragments/BUILD.gn rename to toolchain/gn_fragments/126.0.6478.126/BUILD.gn diff --git a/toolchain/gn_fragments/args.gn b/toolchain/gn_fragments/126.0.6478.126/args.gn similarity index 100% rename from toolchain/gn_fragments/args.gn rename to toolchain/gn_fragments/126.0.6478.126/args.gn diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index fe180ab5..e5e72718 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -49,11 +49,11 @@ $NO_VERBOSE || echo "Dev build: $DEV" util_get_version util_export_version -BUILD_SUFFIX="$MAIN_DIR/toolchain/gn_fragments/BUILD.gn" +BUILD_SUFFIX="$MAIN_DIR/toolchain/gn_fragments/$CHROMIUM_VERSION_TAG/BUILD.gn" TARGET="$MAIN_DIR/vendor/src/headless/BUILD.gn" OUTDIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" ARGS_FILE="${OUTDIR}/args.gn" -TEMPLATE_FILE="${MAIN_DIR}/toolchain/gn_fragments/args.gn" +TEMPLATE_FILE="${MAIN_DIR}/toolchain/gn_fragments/$CHROMIUM_VERSION_TAG/args.gn" if $SHOW; then if [[ -f "${ARGS_FILE}" ]]; then @@ -73,6 +73,10 @@ if $LIST; then exit 0 fi +if [[ ! -d "${MAIN_DIR}/toolchain/gn_fragments/$CHROMIUM_VERSION_TAG" ]]; then + util_error "Couldn't find a toolchain/gn_fragments folder for $CHROMIUM_VERSION_TAG" +fi + LINE_NO=$(grep "$TARGET" -ne "$(head -n 1 $BUILD_SUFFIX)" | cut -f1 -d:) $NO_VERBOSE || echo "$(head -n 1 $BUILD_SUFFIX)" $NO_VERBOSE || echo "$LINE_NO" From fc5ef6e1e346b020d9b5b718aa8892fe9d9d9b78 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 21:29:19 -0400 Subject: [PATCH 163/510] Refactor build a bit: All version folders must be the version purely, no suffix or prefix. All bash variabels quoted where they need to. --try and -t will now allow you to default back to the latest version of a bash script. --- .../108.0.5359.125}/DEPS | 0 .../108.0.5359.125}/kaleido.cc | 0 .../108.0.5359.125}/kaleido.h | 0 .../108.0.5359.125}/scopes/Base.h | 0 .../108.0.5359.125}/scopes/Factory.h | 0 .../108.0.5359.125}/scopes/Plotly.h | 0 .../108.0.5359.125}/utils.h | 0 .../126.0.6478.126}/DEPS | 0 .../126.0.6478.126}/headless_shell.cc | 0 .../126.0.6478.126}/kaleido.cc | 0 .../88.0.4324.150}/DEPS | 0 .../88.0.4324.150}/kaleido.cc | 0 .../88.0.4324.150}/kaleido.h | 0 .../88.0.4324.150}/scopes/Base.h | 0 .../88.0.4324.150}/scopes/Factory.h | 0 .../88.0.4324.150}/scopes/Plotly.h | 0 .../88.0.4324.150}/utils.h | 0 toolchain/src/00-set_version.sh | 6 +-- toolchain/src/01-fetch_tools.sh | 2 +- toolchain/src/02-init_tools.sh | 11 ++-- toolchain/src/03-ksync.sh | 5 +- toolchain/src/04-patch_chromium.sh | 23 ++++++--- toolchain/src/05-gen_preamble.sh | 11 ++-- toolchain/src/06-build_ninja.sh | 45 +++++++++------- toolchain/src/07-write_kversion.sh | 6 +-- toolchain/src/08-sync_cpp.sh | 16 ++++-- toolchain/src/09-build_kaleido.sh | 2 +- toolchain/src/include/utilities.sh | 9 ++-- toolchain/src/xx-all.sh | 51 +++++++++---------- toolchain/src/xx-kdocker.sh | 14 ++--- toolchain/src/xx-make_bin.sh | 2 +- toolchain/src/xx-template.sh | 4 +- 32 files changed, 116 insertions(+), 91 deletions(-) rename src/kaleido/{cc-108.0.5359.125 => cc/108.0.5359.125}/DEPS (100%) rename src/kaleido/{cc-108.0.5359.125 => cc/108.0.5359.125}/kaleido.cc (100%) rename src/kaleido/{cc-108.0.5359.125 => cc/108.0.5359.125}/kaleido.h (100%) rename src/kaleido/{cc-108.0.5359.125 => cc/108.0.5359.125}/scopes/Base.h (100%) rename src/kaleido/{cc-108.0.5359.125 => cc/108.0.5359.125}/scopes/Factory.h (100%) rename src/kaleido/{cc-108.0.5359.125 => cc/108.0.5359.125}/scopes/Plotly.h (100%) rename src/kaleido/{cc-108.0.5359.125 => cc/108.0.5359.125}/utils.h (100%) rename src/kaleido/{cc-126.0.6478.126 => cc/126.0.6478.126}/DEPS (100%) rename src/kaleido/{cc-126.0.6478.126 => cc/126.0.6478.126}/headless_shell.cc (100%) rename src/kaleido/{cc-126.0.6478.126 => cc/126.0.6478.126}/kaleido.cc (100%) rename src/kaleido/{cc-88.0.4324.150 => cc/88.0.4324.150}/DEPS (100%) rename src/kaleido/{cc-88.0.4324.150 => cc/88.0.4324.150}/kaleido.cc (100%) rename src/kaleido/{cc-88.0.4324.150 => cc/88.0.4324.150}/kaleido.h (100%) rename src/kaleido/{cc-88.0.4324.150 => cc/88.0.4324.150}/scopes/Base.h (100%) rename src/kaleido/{cc-88.0.4324.150 => cc/88.0.4324.150}/scopes/Factory.h (100%) rename src/kaleido/{cc-88.0.4324.150 => cc/88.0.4324.150}/scopes/Plotly.h (100%) rename src/kaleido/{cc-88.0.4324.150 => cc/88.0.4324.150}/utils.h (100%) diff --git a/src/kaleido/cc-108.0.5359.125/DEPS b/src/kaleido/cc/108.0.5359.125/DEPS similarity index 100% rename from src/kaleido/cc-108.0.5359.125/DEPS rename to src/kaleido/cc/108.0.5359.125/DEPS diff --git a/src/kaleido/cc-108.0.5359.125/kaleido.cc b/src/kaleido/cc/108.0.5359.125/kaleido.cc similarity index 100% rename from src/kaleido/cc-108.0.5359.125/kaleido.cc rename to src/kaleido/cc/108.0.5359.125/kaleido.cc diff --git a/src/kaleido/cc-108.0.5359.125/kaleido.h b/src/kaleido/cc/108.0.5359.125/kaleido.h similarity index 100% rename from src/kaleido/cc-108.0.5359.125/kaleido.h rename to src/kaleido/cc/108.0.5359.125/kaleido.h diff --git a/src/kaleido/cc-108.0.5359.125/scopes/Base.h b/src/kaleido/cc/108.0.5359.125/scopes/Base.h similarity index 100% rename from src/kaleido/cc-108.0.5359.125/scopes/Base.h rename to src/kaleido/cc/108.0.5359.125/scopes/Base.h diff --git a/src/kaleido/cc-108.0.5359.125/scopes/Factory.h b/src/kaleido/cc/108.0.5359.125/scopes/Factory.h similarity index 100% rename from src/kaleido/cc-108.0.5359.125/scopes/Factory.h rename to src/kaleido/cc/108.0.5359.125/scopes/Factory.h diff --git a/src/kaleido/cc-108.0.5359.125/scopes/Plotly.h b/src/kaleido/cc/108.0.5359.125/scopes/Plotly.h similarity index 100% rename from src/kaleido/cc-108.0.5359.125/scopes/Plotly.h rename to src/kaleido/cc/108.0.5359.125/scopes/Plotly.h diff --git a/src/kaleido/cc-108.0.5359.125/utils.h b/src/kaleido/cc/108.0.5359.125/utils.h similarity index 100% rename from src/kaleido/cc-108.0.5359.125/utils.h rename to src/kaleido/cc/108.0.5359.125/utils.h diff --git a/src/kaleido/cc-126.0.6478.126/DEPS b/src/kaleido/cc/126.0.6478.126/DEPS similarity index 100% rename from src/kaleido/cc-126.0.6478.126/DEPS rename to src/kaleido/cc/126.0.6478.126/DEPS diff --git a/src/kaleido/cc-126.0.6478.126/headless_shell.cc b/src/kaleido/cc/126.0.6478.126/headless_shell.cc similarity index 100% rename from src/kaleido/cc-126.0.6478.126/headless_shell.cc rename to src/kaleido/cc/126.0.6478.126/headless_shell.cc diff --git a/src/kaleido/cc-126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc similarity index 100% rename from src/kaleido/cc-126.0.6478.126/kaleido.cc rename to src/kaleido/cc/126.0.6478.126/kaleido.cc diff --git a/src/kaleido/cc-88.0.4324.150/DEPS b/src/kaleido/cc/88.0.4324.150/DEPS similarity index 100% rename from src/kaleido/cc-88.0.4324.150/DEPS rename to src/kaleido/cc/88.0.4324.150/DEPS diff --git a/src/kaleido/cc-88.0.4324.150/kaleido.cc b/src/kaleido/cc/88.0.4324.150/kaleido.cc similarity index 100% rename from src/kaleido/cc-88.0.4324.150/kaleido.cc rename to src/kaleido/cc/88.0.4324.150/kaleido.cc diff --git a/src/kaleido/cc-88.0.4324.150/kaleido.h b/src/kaleido/cc/88.0.4324.150/kaleido.h similarity index 100% rename from src/kaleido/cc-88.0.4324.150/kaleido.h rename to src/kaleido/cc/88.0.4324.150/kaleido.h diff --git a/src/kaleido/cc-88.0.4324.150/scopes/Base.h b/src/kaleido/cc/88.0.4324.150/scopes/Base.h similarity index 100% rename from src/kaleido/cc-88.0.4324.150/scopes/Base.h rename to src/kaleido/cc/88.0.4324.150/scopes/Base.h diff --git a/src/kaleido/cc-88.0.4324.150/scopes/Factory.h b/src/kaleido/cc/88.0.4324.150/scopes/Factory.h similarity index 100% rename from src/kaleido/cc-88.0.4324.150/scopes/Factory.h rename to src/kaleido/cc/88.0.4324.150/scopes/Factory.h diff --git a/src/kaleido/cc-88.0.4324.150/scopes/Plotly.h b/src/kaleido/cc/88.0.4324.150/scopes/Plotly.h similarity index 100% rename from src/kaleido/cc-88.0.4324.150/scopes/Plotly.h rename to src/kaleido/cc/88.0.4324.150/scopes/Plotly.h diff --git a/src/kaleido/cc-88.0.4324.150/utils.h b/src/kaleido/cc/88.0.4324.150/utils.h similarity index 100% rename from src/kaleido/cc-88.0.4324.150/utils.h rename to src/kaleido/cc/88.0.4324.150/utils.h diff --git a/toolchain/src/00-set_version.sh b/toolchain/src/00-set_version.sh index 7fe97040..8d2063a5 100755 --- a/toolchain/src/00-set_version.sh +++ b/toolchain/src/00-set_version.sh @@ -33,15 +33,15 @@ usage=( FLAGS=("-l" "--latest" "-a" "--ask") ARGFLAGS=("-c" "--chromium" "-d" "--depot") -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" ASK="$(flags_resolve false "-a" "--ask")" LATEST="$(flags_resolve false "-l" "--latest")" -CHROMIUM_VERSION_TAG=$(flags_resolve ${CHROMIUM_VERSION_TAG-""} -c --chromium) -DEPOT_TOOLS_COMMIT=$(flags_resolve ${DEPOT_TOOLS_COMMIT-""} -d --depot) +CHROMIUM_VERSION_TAG="$(flags_resolve ${CHROMIUM_VERSION_TAG-""} -c --chromium)" +DEPOT_TOOLS_COMMIT="$(flags_resolve ${DEPOT_TOOLS_COMMIT-""} -d --depot)" $NO_VERBOSE || echo "Running 00-set_version.sh" diff --git a/toolchain/src/01-fetch_tools.sh b/toolchain/src/01-fetch_tools.sh index ae1c292f..88cfda68 100755 --- a/toolchain/src/01-fetch_tools.sh +++ b/toolchain/src/01-fetch_tools.sh @@ -21,7 +21,7 @@ usage=( FLAGS=("-d" "--delete-git") ARGFLAGS=() -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" DELETE_GIT="$(flags_resolve false "-d" "--delete-git")" # will resolve true if existing, false if no diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 9bdecc36..5f92882c 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -17,16 +17,19 @@ usage=( "init_tools [-d|--dry-run]" "" "" + "Try: if it can find a matching version to the one select, use the latest" + "init_tools [-t|--try]" ) ## PROCESS FLAGS -FLAGS=("-d" "--dry-run") +FLAGS=("-d" "--dry-run" "-t" "--try") ARGFLAGS=() -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" SHOW="$(flags_resolve false "-d" "--dry-run")" +TRY="$(flags_resolve false "-t" "--try")" $NO_VERBOSE || echo "Running 02-init_tools.sh" @@ -41,7 +44,7 @@ if [[ "$PLATFORM" == "WINDOWS" ]]; then # Do we expect to be in the depot_tools directory? cmd.exe /c cipd_bin_setup.bat cmd.exe /c 'bootstrap\win_tools.bat' - elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]]; then + elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]] || $TRY; then util_error "Try to execute the following manually first" # What's the deal with this really though, how do you call this # Do we expect to be in the depot_tools directory? @@ -67,7 +70,7 @@ elif [[ "$PLATFORM" == "LINUX" ]]; then fi chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt - elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]]; then + elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]] || $TRY; then curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.sh?format=TEXT \ | base64 -d > $MAIN_DIR/toolchain/tmp/install-build-deps.sh curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.py?format=TEXT \ diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh index 8c27b661..12c5c30c 100755 --- a/toolchain/src/03-ksync.sh +++ b/toolchain/src/03-ksync.sh @@ -17,12 +17,11 @@ usage=( "" "" ) -## PROCESS FLAGS FLAGS=() ARGFLAGS=("-c" "--cpus") -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" CPUS="$(flags_resolve ${CPUS:-1} "-c" "--cpus")" @@ -37,4 +36,4 @@ export DEPOT_TOOLS_UPDATE=0 # otherwise it advances to the tip of branch main ## but sometimes it skips other necessary things! Thats why we had init_tools V_FLAG="" $NO_VERBOSE || V_FLAG="--verbose" -( cd $MAIN_DIR/vendor/; gclient sync -D --force "${V_FLAG}" --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG ) +( cd "$MAIN_DIR/vendor/"; gclient sync -D --force "${V_FLAG}" --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG ) diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh index 5fc49047..a59064e3 100755 --- a/toolchain/src/04-patch_chromium.sh +++ b/toolchain/src/04-patch_chromium.sh @@ -2,34 +2,41 @@ set -e set -u -# TODO: add --check and --stat, and defaults - usage=( - "patch_chromuium will run patches stored in the patches/ folder." + "patch_chromium will run patches stored in the patches/ folder." "patch needs for a particular version may change over time." "directory for the particular version of the software." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" + "" + "Try: Will use the latest version's patch dir if it can't find its own" + "patch_chromium [-t|--try]" + "" + "" ) ## PROCESS FLAGS -FLAGS=() +FLAGS=("-t" "--try") ARGFLAGS=() -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" +TRY="$(flags_resolve false "-t" "--try")" + util_get_version util_export_version $NO_VERBOSE || echo "Running 04-patch_chromium" PATCH_DIR="$MAIN_DIR/src/vendor-patches/chromium/$CHROMIUM_VERSION_TAG" +if [ ! -d "$PATCH_DIR" ] && $TRY; then + PATCH_DIR="$MAIN_DIR/src/vendor-patches/chromium/$(ls $MAIN_DIR/src/vendor-patches/chromium -vt | head -1)" +else + util_error "No chromium patch dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" +fi if [ -d "$PATCH_DIR" ] && [ -e "$PATCH_DIR/*.patch" ]; then git -C $MAIN_DIR/vendor/src/ apply $PATCH_DIR/*.patch -else - mkdir -p "$PATCH_DIR" - $NO_VERBOSE || echo "No patches found for $CHROMIUM_VERSION_TAG, creating directory." fi diff --git a/toolchain/src/05-gen_preamble.sh b/toolchain/src/05-gen_preamble.sh index 7b07c70d..86c5be4e 100755 --- a/toolchain/src/05-gen_preamble.sh +++ b/toolchain/src/05-gen_preamble.sh @@ -10,12 +10,11 @@ usage=( "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" ) -## PROCESS FLAGS FLAGS=() ARGFLAGS=() -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" $NO_VERBOSE || echo "Running 05-gen_preamble.sh" @@ -24,9 +23,9 @@ util_get_version util_export_version # old versions may not work with python3, so do || python -python3 $MAIN_DIR/vendor/src/tools/licenses/licenses.py credits > $MAIN_DIR/CREDITS.html || python $MAIN_DIR/vendor/src/tools/licenses/licenses.py credits > $MAIN_DIR/CREDITS.html +python3 "$MAIN_DIR/vendor/src/tools/licenses/licenses.py" credits > "$MAIN_DIR/CREDITS.html" || python "$MAIN_DIR/vendor/src/tools/licenses/licenses.py" credits > "$MAIN_DIR/CREDITS.html" -cp $MAIN_DIR/README.md $MAIN_DIR/src/kaleido/ -cp $MAIN_DIR/LICENSE.txt $MAIN_DIR/src/kaleido/ -cp $MAIN_DIR/CREDITS.html $MAIN_DIR/src/kaleido/ +cp "$MAIN_DIR/README.md" "$MAIN_DIR/src/kaleido/" +cp "$MAIN_DIR/LICENSE.txt" "$MAIN_DIR/src/kaleido/" +cp "$MAIN_DIR/CREDITS.html" "$MAIN_DIR/src/kaleido/" diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index e5e72718..4fbf1891 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -23,14 +23,18 @@ usage=( "List: list is a shortcut for gn args --list, which must be run after running build_ninja once and will show" "will show you all possible arguments." "build_ninja [-l|--list]" + "" + "Try: Will use the latest version's patch dir if it can't find its own" + "build_ninja [-t|--try]" + "" ) # todo args --list # todo show -FLAGS=("-f" "--final" "-s" "--show" "-l" "--list") +FLAGS=("-f" "--final" "-s" "--show" "-l" "--list" "-t" "--try") ARGFLAGS=() -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" FINAL="$(flags_resolve false "-f" "--final")" @@ -46,14 +50,23 @@ $NO_VERBOSE || echo "Running 06-build_ninja.sh" $NO_VERBOSE || echo "Release build: $FINAL" $NO_VERBOSE || echo "Dev build: $DEV" +TRY="$(flags_resolve false "-t" "--try")" + util_get_version util_export_version -BUILD_SUFFIX="$MAIN_DIR/toolchain/gn_fragments/$CHROMIUM_VERSION_TAG/BUILD.gn" -TARGET="$MAIN_DIR/vendor/src/headless/BUILD.gn" +GN_FRAG_DIR="${MAIN_DIR}/toolchain/gn_fragments/$CHROMIUM_VERSION_TAG" +if [ ! -d "$GN_FRAG_DIR" ] && $TRY; then + GN_FRAG_DIR="${MAIN_DIR}/toolchain/gn_fragments/$(ls "${MAIN_DIR}/src/vendor-patches/chromium" -vt | head -1)" +else + util_error "No gn_fragment dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" +fi + +BUILD_SUFFIX="${GN_FRAG_DIR}/BUILD.gn" +TARGET="${MAIN_DIR}/vendor/src/headless/BUILD.gn" OUTDIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" ARGS_FILE="${OUTDIR}/args.gn" -TEMPLATE_FILE="${MAIN_DIR}/toolchain/gn_fragments/$CHROMIUM_VERSION_TAG/args.gn" +TEMPLATE_FILE="${GN_FRAG_DIR}/args.gn" if $SHOW; then if [[ -f "${ARGS_FILE}" ]]; then @@ -66,33 +79,29 @@ fi if $LIST; then if [[ -f "${ARGS_FILE}" ]]; then - ( cd $MAIN_DIR/vendor/src && gn args --list $OUTDIR ) + ( cd "$MAIN_DIR/vendor/src" && gn args --list "$OUTDIR" ) else echo "You haven't run the main script yet, that needs to happen once before this will work" fi exit 0 fi -if [[ ! -d "${MAIN_DIR}/toolchain/gn_fragments/$CHROMIUM_VERSION_TAG" ]]; then - util_error "Couldn't find a toolchain/gn_fragments folder for $CHROMIUM_VERSION_TAG" -fi - -LINE_NO=$(grep "$TARGET" -ne "$(head -n 1 $BUILD_SUFFIX)" | cut -f1 -d:) -$NO_VERBOSE || echo "$(head -n 1 $BUILD_SUFFIX)" +LINE_NO=$(grep "$TARGET" -ne "$(head -n 1 "$BUILD_SUFFIX")" | cut -f1 -d:) +$NO_VERBOSE || echo "$(head -n 1 "$BUILD_SUFFIX")" $NO_VERBOSE || echo "$LINE_NO" if [[ -n "$LINE_NO" ]]; then head "$TARGET" -n $(($LINE_NO - 1)) > "${TARGET}.TEMP" - mv "${TARGET}.TEMP" $TARGET + mv "${TARGET}.TEMP" "$TARGET" fi $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" cat "$BUILD_SUFFIX" >> "$TARGET" -$NO_VERBOSE || cat $TARGET +$NO_VERBOSE || cat "$TARGET" $NO_VERBOSE || echo "Create build directory and placing build arguments inside of it, and running gn gen" -mkdir -p ${OUTDIR} +mkdir -p "${OUTDIR}" # note- this will make timestamp not accurate for chromium, but best choice rn, see build/compute_build_timestamp.py SUFFIX=" @@ -100,12 +109,12 @@ is_component_build=$DEV is_official_build=false target_cpu=\"${TARGET_ARCH}\"" -if [[ ! -f "${ARGS_FILE}" ]] || [[ $(diff $ARGS_FILE <(cat $TEMPLATE_FILE <(echo $SUFFIX))) ]]; then +if [[ ! -f "${ARGS_FILE}" ]] || [[ $(diff "$ARGS_FILE" <(cat "$TEMPLATE_FILE" <(echo "$SUFFIX"))) ]]; then cp "${TEMPLATE_FILE}" "${ARGS_FILE}" echo "$SUFFIX" >> "${ARGS_FILE}" fi $NO_VERBOSE || echo "Args file:" -$NO_VERBOSE || cat ${ARGS_FILE} +$NO_VERBOSE || cat "${ARGS_FILE}" -( cd $MAIN_DIR/vendor/src && gn gen $OUTDIR ) +( cd "$MAIN_DIR/vendor/src" && gn gen "$OUTDIR" ) diff --git a/toolchain/src/07-write_kversion.sh b/toolchain/src/07-write_kversion.sh index d171f777..af4253f4 100755 --- a/toolchain/src/07-write_kversion.sh +++ b/toolchain/src/07-write_kversion.sh @@ -16,7 +16,7 @@ usage=( FLAGS=() ARGFLAGS=() -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" $NO_VERBOSE || echo "Running 07-write_kversion" @@ -24,6 +24,6 @@ $NO_VERBOSE || echo "Running 07-write_kversion" util_get_version util_export_version -version=$(python3 ${MAIN_DIR}/toolchain/build_pep440_version.py) +version="$(python3 "${MAIN_DIR}/toolchain/build_pep440_version.py")" $NO_VERBOSE || echo "Version: $version" -echo -n $version > ${MAIN_DIR}/src/kaleido/version +echo -n "$version" > "${MAIN_DIR}/src/kaleido/version" diff --git a/toolchain/src/08-sync_cpp.sh b/toolchain/src/08-sync_cpp.sh index 0ed7f445..b7024e33 100755 --- a/toolchain/src/08-sync_cpp.sh +++ b/toolchain/src/08-sync_cpp.sh @@ -10,18 +10,28 @@ usage=( "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" "" + "Try: Will use the latest version's patch dir if it can't find its own" + "sync_cpp [-t|--try]" + "" ) -FLAGS=() +FLAGS=("-t" "--try") ARGFLAGS=() -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" +CC_DIR="${MAIN_DIR}/src/kaleido/cc/$CHROMIUM_VERSION_TAG" +if [ ! -d "$CC_DIR" ] && $TRY; then + CC_DIR="${MAIN_DIR}/src/kaleido/cc/$(ls "${MAIN_DIR}/src/kaleido/cc/" -vt | head -1)" +else + util_error "No cc dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" +fi + $NO_VERBOSE || echo "Running 08-sync_cpp.sh" util_get_version util_export_version -rsync -av --delete ${MAIN_DIR}/src/kaleido/cc-${CHROMIUM_VERSION_TAG}/ ${MAIN_DIR}/vendor/src/headless/app +rsync -av --delete "${CC_DIR}/" "${MAIN_DIR}/vendor/src/headless/app" diff --git a/toolchain/src/09-build_kaleido.sh b/toolchain/src/09-build_kaleido.sh index 94e2da9f..f77086d5 100755 --- a/toolchain/src/09-build_kaleido.sh +++ b/toolchain/src/09-build_kaleido.sh @@ -16,7 +16,7 @@ usage=( FLAGS=() ARGFLAGS=() -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" ARGFLAGS=("-c" "--cpus") diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh index 89a18778..db399877 100644 --- a/toolchain/src/include/utilities.sh +++ b/toolchain/src/include/utilities.sh @@ -64,14 +64,13 @@ while (( $# )); do if [[ "${1}" == -* ]]; then if [[ " ${FLAGS[*]} " =~ " ${1} " ]]; then ARGS["${1}"]=true - if [[ "${1}" == *: ]]; then - shift - ARGS[":"]="${@}" - break 1 - fi elif [[ " ${ARGFLAGS[*]} " =~ " ${1} " ]]; then KEY="${1}"; shift ARGS["$KEY"]="${1}" + elif [[ "${1}" == "--" ]]; then + shift + ARGS[":"]="${@}" + break 1 else util_error "Unknown flag: \"${1}\". See --help." fi diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 83f187ea..093e024f 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -14,46 +14,46 @@ usage=( "all [-h|--h]" "" "Example: You can specify a specific stage and its flags. The following are equivalent:" - "all -0: --latest" + "all -0 -- --latest" "set_version --latest" "" "Or, you can skip the number and everything will be passed to every command." "So, it really only works with --verbose." "" - "-0: set_version - just sets some env vars for versions" - "-1: fetch_tools - clones depot_tools" - "-2: init_tools - runs whatever depot_tools downloads it wants" - "-3: ksync - downloads chromium" - "-4: patch_chromium - patches chromium w/ our patches" - "-5: gen_preamble - copies readme, licenses, etc" - "-6: build_ninja - prepares gn and runs gn gen to build ninja" - "-7: write_kversion - writes a version text file for kaleido" - "-8: sync_cpp - will sync kaleido c++ do chromium src" - "-9: build_kaleido - builds kaleido's c++" - "-10:" # package + "-0 set_version - just sets some env vars for versions" + "-1 fetch_tools - clones depot_tools" + "-2 init_tools - runs whatever depot_tools downloads it wants" + "-3 ksync - downloads chromium" + "-4 patch_chromium - patches chromium w/ our patches" + "-5 gen_preamble - copies readme, licenses, etc" + "-6 build_ninja - prepares gn and runs gn gen to build ninja" + "-7 write_kversion - writes a version text file for kaleido" + "-8 sync_cpp - will sync kaleido c++ do chromium src" + "-9 build_kaleido - builds kaleido's c++" + "-10 " # package # what about javascript # what about python # ugh ) ## TODO, quit with the -999: dumbness -FLAGS=(":" "-0:" "-1:" "-2:" "-3:" "-4:" "-5:" "-6:" "-7:" "-8:" "-9:" "-10:") +FLAGS=(":" "-0" "-1" "-2" "-3" "-4" "-5" "-6" "-7" "-8" "-9" "-10") ARGFLAGS=("") -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" -ZERO=$(flags_resolve false "-0:") -ONE=$(flags_resolve false "-1:") -TWO=$(flags_resolve false "-2:") -THREE=$(flags_resolve false "-3:") -FOUR=$(flags_resolve false "-4:") -FIVE=$(flags_resolve false "-5:") -SIX=$(flags_resolve false "-6:") -SEVEN=$(flags_resolve false "-7:") -EIGHT=$(flags_resolve false "-8:") -NINE=$(flags_resolve false "-9:") -TEN=$(flags_resolve false "-10:") +ZERO=$(flags_resolve false "-0") +ONE=$(flags_resolve false "-1") +TWO=$(flags_resolve false "-2") +THREE=$(flags_resolve false "-3") +FOUR=$(flags_resolve false "-4") +FIVE=$(flags_resolve false "-5") +SIX=$(flags_resolve false "-6") +SEVEN=$(flags_resolve false "-7") +EIGHT=$(flags_resolve false "-8") +NINE=$(flags_resolve false "-9") +TEN=$(flags_resolve false "-10") ALL=true if $ZERO || $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || $NINE || $TEN; then @@ -63,7 +63,6 @@ fi $NO_VERBOSE || echo "Running xx-all.sh" $NO_VERBOSE || echo "Running all? $ALL" -$NO_VERBOSE || echo "Running 2? $TWO" # check for something in path before running if $ZERO || $ALL; then diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 7f21acb8..a8ded555 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -65,7 +65,7 @@ usage=( FLAGS=(":" "-c" "--copy" "-d" "--detach") ARGFLAGS=("-i" "--image" "-u" "--user") -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" $(flags_resolve "false" "-d" "--detach") && DETACH=d || DETACH="" @@ -74,21 +74,21 @@ $NO_VERBOSE || echo "Detach flag: '$DETACH'" COPY="$(flags_resolve "false" "-c" "--copy")" $NO_VERBOSE || echo "Copy: $COPY" -IMAGE=$(flags_resolve ${IMAGE} -i --image) +IMAGE=$(flags_resolve "${IMAGE}" -i --image) $NO_VERBOSE || echo "Image: $IMAGE" -LOCAL_USER=$(flags_resolve ${USER} -u --user) +LOCAL_USER=$(flags_resolve "${USER}" -u --user) $NO_VERBOSE || echo "Running xx-kdocker.sh" -LOCAL_UID="$(id -u $LOCAL_USER)" +LOCAL_UID="$(id -u "$LOCAL_USER")" $NO_VERBOSE || echo "User: $LOCAL_USER w/ ID $LOCAL_UID" # Set up mounting some of our directories into docker VOLUME="$MAIN_DIR:/usr/share/kaleido" APT_CACHE="$MAIN_DIR/toolchain/tmp/apt_cache/" -mkdir -p $APT_CACHE +mkdir -p "$APT_CACHE" APT_VOLUME="$APT_CACHE:/var/lib/apt/lists/" @@ -162,7 +162,7 @@ $NO_VERBOSE || echo -e "User Command Set:\n$USER_COMMAND" $NO_VERBOSE || echo -e "Command Set:\n$COMMAND" $NO_VERBOSE || echo "Pulling $IMAGE" -docker pull $IMAGE +docker pull "$IMAGE" $NO_VERBOSE || set -x # to print out the line w/o rewriting it -docker container run -e TERM=$TERM --rm -it$DETACH -v "$APT_VOLUME" -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" +docker container run -e "TERM=$TERM" --rm -it$DETACH -v "$APT_VOLUME" -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" diff --git a/toolchain/src/xx-make_bin.sh b/toolchain/src/xx-make_bin.sh index 842dc9a1..db7fecc0 100755 --- a/toolchain/src/xx-make_bin.sh +++ b/toolchain/src/xx-make_bin.sh @@ -20,7 +20,7 @@ usage=( FLAGS=("-n" "--no-path") ARGFLAGS=() -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" NO_PATH="$(flags_resolve false "-n" "--no-path")" diff --git a/toolchain/src/xx-template.sh b/toolchain/src/xx-template.sh index 3769a2b4..942016f1 100644 --- a/toolchain/src/xx-template.sh +++ b/toolchain/src/xx-template.sh @@ -19,12 +19,12 @@ usage=( FLAGS=("-l" "--long" "-f" "--full") # add ":" to accept variable arguments after flags ARGFLAGS=("-t" "--target") # arg flags will take the following word as an argument -SCRIPT_DIR=$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd ) +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" LONG="$(flags_resolve false "-l" "--long")" # will resolve true if existing, false if no FULL="$(flags_resolve false "-f" "--full")" -TARGET=$(flags_resolve ${TARGET-""} -t --target) # set double-layer default +TARGET="$(flags_resolve ${TARGET-""} -t --target)" # set double-layer default $NO_VERBOSE || echo "Running xx-template.sh" From 6f4691b053c75dd68ea3ed8d9f25360f1e878545 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 21:37:42 -0400 Subject: [PATCH 164/510] Remove unneeded todos --- toolchain/src/xx-all.sh | 1 - toolchain/src/xx-kdocker.sh | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 093e024f..1d0f8c3f 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -35,7 +35,6 @@ usage=( # what about python # ugh ) -## TODO, quit with the -999: dumbness FLAGS=(":" "-0" "-1" "-2" "-3" "-4" "-5" "-6" "-7" "-8" "-9" "-10") ARGFLAGS=("") diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index a8ded555..824cc9f4 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -53,7 +53,7 @@ usage=( " Hint: Use \`krefresh\` to re-clone/patch ~/kaleido after changes." " Hint: If you use -c (or \`krefresh\`), kaleido build commands (set_version, etc)" " will always be run from ~/kaleido, not /usr/share/kaleido. So all changes" - " need to be \`krefresh\`ed." ## TODO: we don't wanna krefresh everytime we change the C + " need to be \`krefresh\`ed." "Docker tips:" " Ending the first session will always end the docker. \`ctl+d\` will exit bash and session." " \`ctl+p ctl+q\` (instead of \`ctl+d\`) will leave bash running. You can reattach to (only)" From 972bf6ee2e16321111166e967baa6cb664c2dd38 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 22:15:54 -0400 Subject: [PATCH 165/510] Add rsync as docker/image dependency rsync helps prevent rebuilds --- .circleci/config.yml | 14 ++++++++++++-- toolchain/src/xx-kdocker.sh | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 03b4f45d..d34aa7b3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,6 +17,9 @@ jobs: resource_class: small steps: - checkout + - run: + name: Install Dependencies + command: sudo apt-get update && sudo apt-get install rsync - set_version linux-x64: @@ -25,6 +28,9 @@ jobs: resource_class: medium steps: - checkout + - run: + name: Install Dependencies + command: sudo apt-get update && sudo apt-get install rsync - set_version windows-x64: @@ -33,9 +39,10 @@ jobs: steps: - checkout # The following actually comes installed already: - #- run: - #name: Install Dependencies + - run: + name: Install Dependencies #command: choco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" + command: choco install rsync - set_version osx: @@ -44,6 +51,9 @@ jobs: resource_class: macos.m1.medium.gen1 steps: - checkout + - run: + name: Install Dependencies + command: brew install rsync # The following recommended by circle CI, but it takes time, costs money, and may not be necessary #- run: #name: Delete simulators and unused platforms to save space diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 824cc9f4..9d84594e 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -93,7 +93,7 @@ APT_VOLUME="$APT_CACHE:/var/lib/apt/lists/" # COMMAND is what we run to set up the user and do some basics -COMMAND="sudo apt-get update; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null; " +COMMAND="sudo apt-get update; sudo apt-get install rsync; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null; " # USER_COMMAND is what we run once we are logged in as the intended user, # including the actual user's desired command From 726e57b473b3505ca527a9b8686e810dff360432 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 16 Jul 2024 23:53:43 -0400 Subject: [PATCH 166/510] Make own copy of headless lib to be kaleido lib --- .../gn_fragments/126.0.6478.126/BUILD.gn | 69 ++++++++++++++++++- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn index e9e07641..90a3178d 100644 --- a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn +++ b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn @@ -1,11 +1,76 @@ ### FOR KALEIDO ### +static_library("kaleido_lib") { + sources = [ + "app/kaleido.cc", + "app/kaleido.h", + ] + defines = [] + if (!is_component_build) { + sources += [ + "lib/utility/headless_content_utility_client.cc", + "lib/utility/headless_content_utility_client.h", + ] + } + deps = [ + "//build:branding_buildflags", + "//components/devtools/simple_devtools_protocol_client", + "//components/embedder_support", + "//components/policy/content", + "//components/security_state/content", + "//content", + "//content/public/app", + "//content/public/browser", + "//content/public/child:child", + "//content/public/common", + "//content/public/utility", + "//printing/buildflags", + ] + public_deps = [ + ":headless_non_renderer", + "//base", + "//third_party/inspector_protocol:crdtp", + ] + if (!is_component_build) { + public_deps += [ ":headless_non_renderer" ] + } + if (!is_fuchsia) { + deps += [ "//components/crash/content/browser" ] + } + if (enable_printing) { + deps += [ + "//components/printing/browser", + "//components/printing/browser/headless:headless", + "//components/printing/renderer", + "//components/services/print_compositor", + "//components/services/print_compositor/public/mojom", + ] + } + if (is_win) { + defines = [ "HEADLESS_USE_CRASHPAD" ] + deps += [ + "//components/crash/core/app:run_as_crashpad_handler", + "//content:sandbox_helper_win", + "//sandbox", + ] + } + if (is_mac) { + deps += [ "//components/os_crypt/sync" ] + } + if (is_win || (is_posix && !is_mac)) { + deps += [ "//components/crash/core/app" ] + } + configs += [ + ":headless_defines_config", + "//build/config/compiler:wexit_time_destructors", + ] +} executable("kaleido") { configs -= [ "//build/config/compiler:thinlto_optimize_default" ] configs += [ "//build/config/compiler:thinlto_optimize_max" ] - sources = [ "app/kaleido.cc" ] + sources = [ "app/app.cc" ] defines = [] - deps = [ ":headless_shell_lib" ] +# deps = [ ":kaleido_lib" ] if (proprietary_codecs) { deps += [ ":generate_headless_shell_license_file" ] } From 2e2f588a4cacec90eecce3ae71320a9760d3b753 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 00:02:49 -0400 Subject: [PATCH 167/510] Create kaleido base for sanity testing structure --- src/kaleido/cc/126.0.6478.126/app.cc | 43 +++ .../cc/126.0.6478.126/headless_shell.cc | 277 ----------------- src/kaleido/cc/126.0.6478.126/kaleido.cc | 289 ++++++++++++++++-- src/kaleido/cc/126.0.6478.126/kaleido.h | 17 ++ 4 files changed, 323 insertions(+), 303 deletions(-) create mode 100644 src/kaleido/cc/126.0.6478.126/app.cc delete mode 100644 src/kaleido/cc/126.0.6478.126/headless_shell.cc create mode 100644 src/kaleido/cc/126.0.6478.126/kaleido.h diff --git a/src/kaleido/cc/126.0.6478.126/app.cc b/src/kaleido/cc/126.0.6478.126/app.cc new file mode 100644 index 00000000..f77fdc1e --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/app.cc @@ -0,0 +1,43 @@ +// app.cc +// goals: +// Almost none. We just start up the main kaleido process, see kaleido.cc. +// Much of app.cc is boilerplate taking from headless/app/ example: +// - it starts sandboxes +// - it, depending on platform, moves argc and argv towards a HeadlessBrowser instance +// +// It is better not to pass whatever chromium flag into kaleido, +// unless there was a flag specifically for that "--chromium_flags="--whatever=23,-f," etc + +#include "build/build_config.h" +// #include "headless/app/kaleido.h" + +#if BUILDFLAG(IS_WIN) +#include "content/public/app/sandbox_helper_win.h" +#include "sandbox/win/src/sandbox_types.h" // nogncheck +#elif BUILDFLAG(IS_MAC) +#include "base/check.h" +#include "sandbox/mac/seatbelt_exec.h" +#endif + +int main(int argc, const char** argv) { + content::ContentMainParams params(nullptr); +#if BUILDFLAG(IS_WIN) + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; +#else + params.argc = argc; + params.argv = argv; +#if BUILDFLAG(IS_MAC) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); + } +#endif // BUILDFLAG(IS_MAC) +#endif // BUILDFLAG(IS_WIN) + return 0 + //return headless::HeadlessShellMain(std::move(params)); +} diff --git a/src/kaleido/cc/126.0.6478.126/headless_shell.cc b/src/kaleido/cc/126.0.6478.126/headless_shell.cc deleted file mode 100644 index 02a11f07..00000000 --- a/src/kaleido/cc/126.0.6478.126/headless_shell.cc +++ /dev/null @@ -1,277 +0,0 @@ -// Copyright 2016 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "headless/public/headless_shell.h" - -#include - -#include "base/base_switches.h" -#include "base/command_line.h" -#include "base/files/file_util.h" -#include "base/functional/bind.h" -#include "base/logging.h" -#include "base/task/thread_pool.h" -#include "build/branding_buildflags.h" -#include "build/build_config.h" -#include "content/public/app/content_main.h" -#include "content/public/common/content_switches.h" -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/lib/browser/headless_web_contents_impl.h" -#include "headless/lib/headless_content_main_delegate.h" -#include "headless/public/headless_browser.h" -#include "headless/public/headless_browser_context.h" -#include "headless/public/headless_web_contents.h" -#include "headless/public/switches.h" -#include "net/base/filename_util.h" -#include "url/gurl.h" - -#if BUILDFLAG(IS_MAC) -#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck -#endif - -#if BUILDFLAG(IS_WIN) -#include "base/strings/utf_string_conversions.h" -#include "components/crash/core/app/crash_switches.h" // nogncheck -#include "components/crash/core/app/run_as_crashpad_handler_win.h" -#include "sandbox/win/src/sandbox_types.h" -#endif - -#if defined(HEADLESS_USE_POLICY) -#include "components/headless/policy/headless_mode_policy.h" // nogncheck -#endif - -#if defined(HEADLESS_ENABLE_COMMANDS) -#include "components/headless/command_handler/headless_command_handler.h" // nogncheck -#endif - -namespace headless { - -namespace { - -#if BUILDFLAG(IS_WIN) -const wchar_t kAboutBlank[] = L"about:blank"; -#else -const char kAboutBlank[] = "about:blank"; -#endif - -GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { -#if BUILDFLAG(IS_WIN) - GURL url(base::WideToUTF8(arg)); -#else - GURL url(arg); -#endif - if (url.is_valid() && url.has_scheme()) - return url; - - return net::FilePathToFileURL( - base::MakeAbsoluteFilePath(base::FilePath(arg))); -} - -// An application which implements a simple headless browser. -class HeadlessShell { - public: - HeadlessShell() = default; - - HeadlessShell(const HeadlessShell&) = delete; - HeadlessShell& operator=(const HeadlessShell&) = delete; - - ~HeadlessShell() = default; - - void OnBrowserStart(HeadlessBrowser* browser); - - private: -#if defined(HEADLESS_ENABLE_COMMANDS) - void OnProcessCommandsDone(HeadlessCommandHandler::Result result); -#endif - void ShutdownSoon(); - void Shutdown(); - - raw_ptr browser_ = nullptr; -}; - -void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { - browser_ = browser; - -#if defined(HEADLESS_USE_POLICY) - if (HeadlessModePolicy::IsHeadlessModeDisabled( - static_cast(browser)->GetPrefs())) { - LOG(ERROR) << "Headless mode is disallowed by the system admin."; - ShutdownSoon(); - return; - } -#endif - - HeadlessBrowserContext::Builder context_builder = - browser_->CreateBrowserContextBuilder(); - - // Create browser context and set it as the default. The default browser - // context is used by the Target.createTarget() DevTools command when no other - // context is given. - HeadlessBrowserContext* browser_context = context_builder.Build(); - browser_->SetDefaultBrowserContext(browser_context); - - const bool devtools_enabled = static_cast(browser) - ->options() - ->DevtoolsServerEnabled(); - - // If no explicit URL is present navigate to about:blank unless we're being - // driven by a debugger. - base::CommandLine::StringVector args = - base::CommandLine::ForCurrentProcess()->GetArgs(); - args.erase( - std::remove(args.begin(), args.end(), base::CommandLine::StringType()), - args.end()); - - if (args.empty() && !devtools_enabled) { - args.push_back(kAboutBlank); - } - - if (args.empty()) { - return; - } - - GURL target_url = ConvertArgumentToURL(args.front()); - HeadlessWebContents::Builder builder( - browser_context->CreateWebContentsBuilder()); - - // If driven by a debugger just open the target page and - // leave expecting the debugger will do what they need. - if (devtools_enabled) { - HeadlessWebContents* web_contents = - builder.SetInitialURL(target_url).Build(); - if (!web_contents) { - LOG(ERROR) << "Navigation to " << target_url << " failed."; - ShutdownSoon(); - } - return; - } - - // Otherwise instantiate headless shell command handler that will - // execute the commands against the target page. -#if defined(HEADLESS_ENABLE_COMMANDS) - GURL handler_url = HeadlessCommandHandler::GetHandlerUrl(); - HeadlessWebContents* web_contents = - builder.SetInitialURL(handler_url).Build(); - if (!web_contents) { - LOG(ERROR) << "Navigation to " << handler_url << " failed."; - ShutdownSoon(); - return; - } - - HeadlessCommandHandler::ProcessCommands( - HeadlessWebContentsImpl::From(web_contents)->web_contents(), - std::move(target_url), - base::BindOnce(&HeadlessShell::OnProcessCommandsDone, - base::Unretained(this))); -#endif -} - -#if defined(HEADLESS_ENABLE_COMMANDS) -void HeadlessShell::OnProcessCommandsDone( - HeadlessCommandHandler::Result result) { - if (result != HeadlessCommandHandler::Result::kSuccess) { - static_cast(browser_)->ShutdownWithExitCode( - static_cast(result)); - return; - } - Shutdown(); -} -#endif - -void HeadlessShell::ShutdownSoon() { - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&HeadlessShell::Shutdown, base::Unretained(this))); -} - -void HeadlessShell::Shutdown() { - browser_.ExtractAsDangling()->Shutdown(); -} - -void HeadlessChildMain(content::ContentMainParams params) { - HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - - // Note that exiting from here means that base::AtExitManager objects will not - // have a chance to be destroyed (typically in main/WinMain). - // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown - // crashes and slowdowns on shutdown. - base::Process::TerminateCurrentProcessImmediately(rc); -} - -int HeadlessBrowserMain(content::ContentMainParams params) { -#if DCHECK_IS_ON() - // The browser can only be initialized once. - static bool browser_was_initialized; - DCHECK(!browser_was_initialized); - browser_was_initialized = true; - - // Child processes should not end up here. - DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( - ::switches::kProcessType)); -#endif -#if defined(HEADLESS_ENABLE_COMMANDS) - base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); - if (HeadlessCommandHandler::HasHeadlessCommandSwitches(command_line)) { - if (command_line.HasSwitch(::switches::kRemoteDebuggingPort) || - command_line.HasSwitch(::switches::kRemoteDebuggingPipe)) { - LOG(ERROR) - << "Headless commands are not compatible with remote debugging."; - return EXIT_FAILURE; - } - command_line.AppendSwitch(switches::kDisableLazyLoading); - } -#endif - - HeadlessShell shell; - auto browser = std::make_unique( - base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); - HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; - return content::ContentMain(std::move(params)); -} - -} // namespace - -int HeadlessShellMain(content::ContentMainParams params) { -#if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); -#else - base::CommandLine::Init(params.argc, params.argv); -#endif // BUILDFLAG(IS_WIN) - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - std::string process_type = - command_line.GetSwitchValueASCII(::switches::kProcessType); -#if defined(HEADLESS_USE_CRASHPAD) - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } -#endif // defined(HEADLESS_USE_CRASHPAD) - - if (!process_type.empty()) { - HeadlessChildMain(std::move(params)); - NOTREACHED(); - } - -#if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); -#endif - -#if BUILDFLAG(IS_FUCHSIA) - // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. - command_line.AppendSwitch(::switches::kDisableGpu); -#endif - - if (command_line.GetArgs().size() > 1) { - LOG(ERROR) << "Multiple targets are not supported."; - return EXIT_FAILURE; - } - - return HeadlessBrowserMain(std::move(params)); -} - -} // namespace headless diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index f8287680..ce6fc11b 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -1,37 +1,274 @@ -// Copyright 2016 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. +// kaleido.cc: +// goals: +// * start up the browser +// * start up the tab manager +// * start up the IO thread +/* +#include "headless/app/kaleido.h" + +#include + +#include "base/base_switches.h" +#include "base/command_line.h" +#include "base/files/file_util.h" +#include "base/functional/bind.h" +#include "base/logging.h" +#include "base/task/thread_pool.h" +#include "build/branding_buildflags.h" #include "build/build_config.h" -#include "headless/public/headless_shell.h" +#include "content/public/app/content_main.h" +#include "content/public/common/content_switches.h" +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/lib/browser/headless_web_contents_impl.h" +#include "headless/lib/headless_content_main_delegate.h" +#include "headless/public/headless_browser.h" +#include "headless/public/headless_browser_context.h" +#include "headless/public/headless_web_contents.h" +#include "headless/public/switches.h" + +#include "net/base/filename_util.h" +#include "url/gurl.h" + +#if BUILDFLAG(IS_MAC) +#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck +#endif #if BUILDFLAG(IS_WIN) -#include "content/public/app/sandbox_helper_win.h" -#include "sandbox/win/src/sandbox_types.h" // nogncheck -#elif BUILDFLAG(IS_MAC) -#include "base/check.h" -#include "sandbox/mac/seatbelt_exec.h" +#include "base/strings/utf_string_conversions.h" +#include "components/crash/core/app/crash_switches.h" // nogncheck +#include "components/crash/core/app/run_as_crashpad_handler_win.h" +#include "sandbox/win/src/sandbox_types.h" #endif -int main(int argc, const char** argv) { - content::ContentMainParams params(nullptr); +namespace kaleido { + +namespace { + #if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; -#elif !BUILDFLAG(IS_ANDROID) - params.argc = argc; - params.argv = argv; -#if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); +const wchar_t kAboutBlank[] = L"about:blank"; +#else +const char kAboutBlank[] = "about:blank"; +#endif + +GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { +#if BUILDFLAG(IS_WIN) + GURL url(base::WideToUTF8(arg)); +#else + GURL url(arg); +#endif + if (url.is_valid() && url.has_scheme()) + return url; + + return net::FilePathToFileURL( + base::MakeAbsoluteFilePath(base::FilePath(arg))); +} + +// An application which implements a simple headless browser. +class HeadlessShell { + public: + HeadlessShell() = default; + + HeadlessShell(const HeadlessShell&) = delete; + HeadlessShell& operator=(const HeadlessShell&) = delete; + + ~HeadlessShell() = default; + + void OnBrowserStart(HeadlessBrowser* browser); + + private: +#if defined(HEADLESS_ENABLE_COMMANDS) + void OnProcessCommandsDone(HeadlessCommandHandler::Result result); +#endif + void ShutdownSoon(); + void Shutdown(); + + raw_ptr browser_ = nullptr; +}; + +void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { + browser_ = browser; + +#if defined(HEADLESS_USE_POLICY) + if (HeadlessModePolicy::IsHeadlessModeDisabled( + static_cast(browser)->GetPrefs())) { + LOG(ERROR) << "Headless mode is disallowed by the system admin."; + ShutdownSoon(); + return; + } +#endif + + HeadlessBrowserContext::Builder context_builder = + browser_->CreateBrowserContextBuilder(); + + // Create browser context and set it as the default. The default browser + // context is used by the Target.createTarget() DevTools command when no other + // context is given. + HeadlessBrowserContext* browser_context = context_builder.Build(); + browser_->SetDefaultBrowserContext(browser_context); + + const bool devtools_enabled = static_cast(browser) + ->options() + ->DevtoolsServerEnabled(); + + // If no explicit URL is present navigate to about:blank unless we're being + // driven by a debugger. + base::CommandLine::StringVector args = + base::CommandLine::ForCurrentProcess()->GetArgs(); + args.erase( + std::remove(args.begin(), args.end(), base::CommandLine::StringType()), + args.end()); + + if (args.empty() && !devtools_enabled) { + args.push_back(kAboutBlank); + } + + if (args.empty()) { + return; } -#endif // BUILDFLAG(IS_MAC) + + GURL target_url = ConvertArgumentToURL(args.front()); + HeadlessWebContents::Builder builder( + browser_context->CreateWebContentsBuilder()); + + // If driven by a debugger just open the target page and + // leave expecting the debugger will do what they need. + if (devtools_enabled) { + HeadlessWebContents* web_contents = + builder.SetInitialURL(target_url).Build(); + if (!web_contents) { + LOG(ERROR) << "Navigation to " << target_url << " failed."; + ShutdownSoon(); + } + return; + } + + // Otherwise instantiate headless shell command handler that will + // execute the commands against the target page. +#if defined(HEADLESS_ENABLE_COMMANDS) + GURL handler_url = HeadlessCommandHandler::GetHandlerUrl(); + HeadlessWebContents* web_contents = + builder.SetInitialURL(handler_url).Build(); + if (!web_contents) { + LOG(ERROR) << "Navigation to " << handler_url << " failed."; + ShutdownSoon(); + return; + } + + HeadlessCommandHandler::ProcessCommands( + HeadlessWebContentsImpl::From(web_contents)->web_contents(), + std::move(target_url), + base::BindOnce(&HeadlessShell::OnProcessCommandsDone, + base::Unretained(this))); +#endif +} + +#if defined(HEADLESS_ENABLE_COMMANDS) +void HeadlessShell::OnProcessCommandsDone( + HeadlessCommandHandler::Result result) { + if (result != HeadlessCommandHandler::Result::kSuccess) { + static_cast(browser_)->ShutdownWithExitCode( + static_cast(result)); + return; + } + Shutdown(); +} +#endif + +void HeadlessShell::ShutdownSoon() { + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&HeadlessShell::Shutdown, base::Unretained(this))); +} + +void HeadlessShell::Shutdown() { + browser_.ExtractAsDangling()->Shutdown(); +} + +void HeadlessChildMain(content::ContentMainParams params) { + HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); + + // Note that exiting from here means that base::AtExitManager objects will not + // have a chance to be destroyed (typically in main/WinMain). + // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown + // crashes and slowdowns on shutdown. + base::Process::TerminateCurrentProcessImmediately(rc); +} + +int HeadlessBrowserMain(content::ContentMainParams params) { +#if DCHECK_IS_ON() + // The browser can only be initialized once. + static bool browser_was_initialized; + DCHECK(!browser_was_initialized); + browser_was_initialized = true; + + // Child processes should not end up here. + DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( + ::switches::kProcessType)); +#endif +#if defined(HEADLESS_ENABLE_COMMANDS) + base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); + if (HeadlessCommandHandler::HasHeadlessCommandSwitches(command_line)) { + if (command_line.HasSwitch(::switches::kRemoteDebuggingPort) || + command_line.HasSwitch(::switches::kRemoteDebuggingPipe)) { + LOG(ERROR) + << "Headless commands are not compatible with remote debugging."; + return EXIT_FAILURE; + } + command_line.AppendSwitch(switches::kDisableLazyLoading); + } +#endif + + HeadlessShell shell; + auto browser = std::make_unique( + base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); + HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; + return content::ContentMain(std::move(params)); +} + +} // namespace + +int HeadlessShellMain(content::ContentMainParams params) { +#if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); +#else + base::CommandLine::Init(params.argc, params.argv); #endif // BUILDFLAG(IS_WIN) + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + std::string process_type = + command_line.GetSwitchValueASCII(::switches::kProcessType); +#if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } +#endif // defined(HEADLESS_USE_CRASHPAD) + + if (!process_type.empty()) { + HeadlessChildMain(std::move(params)); + NOTREACHED(); + } - return headless::HeadlessShellMain(std::move(params)); +#if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); +#endif + +#if BUILDFLAG(IS_FUCHSIA) + // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. + command_line.AppendSwitch(::switches::kDisableGpu); +#endif + + if (command_line.GetArgs().size() > 1) { + LOG(ERROR) << "Multiple targets are not supported."; + return EXIT_FAILURE; + } + + return HeadlessBrowserMain(std::move(params)); } + +} // namespace headless\ +*/ diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h new file mode 100644 index 00000000..233b6ff6 --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -0,0 +1,17 @@ +/* +#ifndef KALEIDO_H_ +#define KALEIDO_H_ + +#include "content/public/app/content_main.h" + +namespace kaleido { + +// Start the headless shell applications. +// Note that the |ContentMainDelegate| is ignored and +// |HeadlessContentMainDelegate| is used instead. +int HeadlessShellMain(const content::ContentMainParams params); + +} + +#endif // KALEIDO_H_ +*/ From f78771f512667da1b1e4dd175866a5031ab4153a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 00:05:43 -0400 Subject: [PATCH 168/510] Add more info to 06 help --- toolchain/src/06-build_ninja.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 4fbf1891..630f4538 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -6,6 +6,9 @@ usage=( "build_ninja will run modify and run gn, the last build step before actual chromium build." "It appends information about our app to the gn configuration in src/headless." "This is currently not version or platform dependent, but it is reasonable it will have to be one day." + "It is important to understand that we cannabilize the headless/app example in order to absorb its boilerplate." + "This script will modify the headless directory's build configurations (see gn_fragments in toolchain)," + "mainly for renaming and reducing unecessary dependencies, and sync_cpp will replace the example app with kaleido." "" "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" From 358c2728b74fd4dc5a1e2be66b72e3f955a102da Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 00:22:34 -0400 Subject: [PATCH 169/510] Enable kaleido_lib --- toolchain/gn_fragments/126.0.6478.126/BUILD.gn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn index 90a3178d..afe5a4b4 100644 --- a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn +++ b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn @@ -70,7 +70,7 @@ executable("kaleido") { configs += [ "//build/config/compiler:thinlto_optimize_max" ] sources = [ "app/app.cc" ] defines = [] -# deps = [ ":kaleido_lib" ] + deps = [ ":kaleido_lib" ] if (proprietary_codecs) { deps += [ ":generate_headless_shell_license_file" ] } From c63979e255bee1355df035f6d48e8c7fbdeb6f09 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 00:29:45 -0400 Subject: [PATCH 170/510] Write optimistic paths into TRY --- toolchain/src/04-patch_chromium.sh | 2 ++ toolchain/src/06-build_ninja.sh | 2 ++ toolchain/src/08-sync_cpp.sh | 2 ++ 3 files changed, 6 insertions(+) diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh index a59064e3..3e152c2d 100755 --- a/toolchain/src/04-patch_chromium.sh +++ b/toolchain/src/04-patch_chromium.sh @@ -33,6 +33,8 @@ $NO_VERBOSE || echo "Running 04-patch_chromium" PATCH_DIR="$MAIN_DIR/src/vendor-patches/chromium/$CHROMIUM_VERSION_TAG" if [ ! -d "$PATCH_DIR" ] && $TRY; then PATCH_DIR="$MAIN_DIR/src/vendor-patches/chromium/$(ls $MAIN_DIR/src/vendor-patches/chromium -vt | head -1)" +elif [ -d "$PATCH_DIR" ]; then + : # optimistic path else util_error "No chromium patch dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" fi diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 630f4538..920b7bc8 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -61,6 +61,8 @@ util_export_version GN_FRAG_DIR="${MAIN_DIR}/toolchain/gn_fragments/$CHROMIUM_VERSION_TAG" if [ ! -d "$GN_FRAG_DIR" ] && $TRY; then GN_FRAG_DIR="${MAIN_DIR}/toolchain/gn_fragments/$(ls "${MAIN_DIR}/src/vendor-patches/chromium" -vt | head -1)" +elif [ ! -d "$GN_FRAG_DIR" ]; then + : # optimistic path else util_error "No gn_fragment dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" fi diff --git a/toolchain/src/08-sync_cpp.sh b/toolchain/src/08-sync_cpp.sh index b7024e33..9b691bc6 100755 --- a/toolchain/src/08-sync_cpp.sh +++ b/toolchain/src/08-sync_cpp.sh @@ -24,6 +24,8 @@ SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> CC_DIR="${MAIN_DIR}/src/kaleido/cc/$CHROMIUM_VERSION_TAG" if [ ! -d "$CC_DIR" ] && $TRY; then CC_DIR="${MAIN_DIR}/src/kaleido/cc/$(ls "${MAIN_DIR}/src/kaleido/cc/" -vt | head -1)" +elif [ -d "$CC_DIR" ]; then + : # optimistic path else util_error "No cc dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" fi From 02a48e885fdbee00df7ea34501f1b46811df294c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 00:32:06 -0400 Subject: [PATCH 171/510] Fix syntax typo --- toolchain/src/06-build_ninja.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 920b7bc8..a84f67b3 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -61,7 +61,7 @@ util_export_version GN_FRAG_DIR="${MAIN_DIR}/toolchain/gn_fragments/$CHROMIUM_VERSION_TAG" if [ ! -d "$GN_FRAG_DIR" ] && $TRY; then GN_FRAG_DIR="${MAIN_DIR}/toolchain/gn_fragments/$(ls "${MAIN_DIR}/src/vendor-patches/chromium" -vt | head -1)" -elif [ ! -d "$GN_FRAG_DIR" ]; then +elif [ -d "$GN_FRAG_DIR" ]; then : # optimistic path else util_error "No gn_fragment dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" From e0fc277fcdd9abc1e8424ef7585d857078b46bfa Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 00:34:11 -0400 Subject: [PATCH 172/510] Reorder to set variable properly --- toolchain/src/08-sync_cpp.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/src/08-sync_cpp.sh b/toolchain/src/08-sync_cpp.sh index 9b691bc6..2e0c6db5 100755 --- a/toolchain/src/08-sync_cpp.sh +++ b/toolchain/src/08-sync_cpp.sh @@ -21,6 +21,8 @@ ARGFLAGS=() SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" +$NO_VERBOSE || echo "Running 08-sync_cpp.sh" + CC_DIR="${MAIN_DIR}/src/kaleido/cc/$CHROMIUM_VERSION_TAG" if [ ! -d "$CC_DIR" ] && $TRY; then CC_DIR="${MAIN_DIR}/src/kaleido/cc/$(ls "${MAIN_DIR}/src/kaleido/cc/" -vt | head -1)" @@ -30,8 +32,6 @@ else util_error "No cc dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" fi -$NO_VERBOSE || echo "Running 08-sync_cpp.sh" - util_get_version util_export_version From 9b0acfb0be22a0818f7fc271fcdfff1a4f6984b2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 00:36:21 -0400 Subject: [PATCH 173/510] Reorder to set variable properly2 --- toolchain/src/08-sync_cpp.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/toolchain/src/08-sync_cpp.sh b/toolchain/src/08-sync_cpp.sh index 2e0c6db5..6f89a31e 100755 --- a/toolchain/src/08-sync_cpp.sh +++ b/toolchain/src/08-sync_cpp.sh @@ -23,6 +23,9 @@ SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> $NO_VERBOSE || echo "Running 08-sync_cpp.sh" +util_get_version +util_export_version + CC_DIR="${MAIN_DIR}/src/kaleido/cc/$CHROMIUM_VERSION_TAG" if [ ! -d "$CC_DIR" ] && $TRY; then CC_DIR="${MAIN_DIR}/src/kaleido/cc/$(ls "${MAIN_DIR}/src/kaleido/cc/" -vt | head -1)" @@ -32,8 +35,5 @@ else util_error "No cc dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" fi -util_get_version -util_export_version - rsync -av --delete "${CC_DIR}/" "${MAIN_DIR}/vendor/src/headless/app" From 52f12e30cfd21db7dd9eb3e1f899f0c2c6a5f3ee Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 00:38:47 -0400 Subject: [PATCH 174/510] Add missing ; --- src/kaleido/cc/126.0.6478.126/app.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/app.cc b/src/kaleido/cc/126.0.6478.126/app.cc index f77fdc1e..a8d8c46b 100644 --- a/src/kaleido/cc/126.0.6478.126/app.cc +++ b/src/kaleido/cc/126.0.6478.126/app.cc @@ -38,6 +38,6 @@ int main(int argc, const char** argv) { } #endif // BUILDFLAG(IS_MAC) #endif // BUILDFLAG(IS_WIN) - return 0 + return 0; //return headless::HeadlessShellMain(std::move(params)); } From cfa7ffe5bffbaffb3ae24a9ae69f0bd865a06441 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 00:41:34 -0400 Subject: [PATCH 175/510] Uncomment some boilerplate --- src/kaleido/cc/126.0.6478.126/app.cc | 2 +- src/kaleido/cc/126.0.6478.126/kaleido.cc | 4 ++-- src/kaleido/cc/126.0.6478.126/kaleido.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/app.cc b/src/kaleido/cc/126.0.6478.126/app.cc index a8d8c46b..eac398bb 100644 --- a/src/kaleido/cc/126.0.6478.126/app.cc +++ b/src/kaleido/cc/126.0.6478.126/app.cc @@ -9,7 +9,7 @@ // unless there was a flag specifically for that "--chromium_flags="--whatever=23,-f," etc #include "build/build_config.h" -// #include "headless/app/kaleido.h" +#include "headless/app/kaleido.h" #if BUILDFLAG(IS_WIN) #include "content/public/app/sandbox_helper_win.h" diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index ce6fc11b..ca173743 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -4,11 +4,11 @@ // * start up the tab manager // * start up the IO thread -/* + #include "headless/app/kaleido.h" #include - +/* #include "base/base_switches.h" #include "base/command_line.h" #include "base/files/file_util.h" diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 233b6ff6..f0be65e4 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -1,9 +1,9 @@ -/* + #ifndef KALEIDO_H_ #define KALEIDO_H_ #include "content/public/app/content_main.h" - +/* namespace kaleido { // Start the headless shell applications. From 77d71d48faf7a2503d9584f48523f26c7e788293 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 00:42:49 -0400 Subject: [PATCH 176/510] Fix syntax error w/ macro --- src/kaleido/cc/126.0.6478.126/kaleido.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index f0be65e4..831c57b4 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -12,6 +12,5 @@ namespace kaleido { int HeadlessShellMain(const content::ContentMainParams params); } - -#endif // KALEIDO_H_ */ +#endif // KALEIDO_H_ From 7b5a2e5b797321064465fdd3a5b719e9af875768 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 01:01:13 -0400 Subject: [PATCH 177/510] Add more comments --- src/kaleido/cc/126.0.6478.126/app.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/app.cc b/src/kaleido/cc/126.0.6478.126/app.cc index eac398bb..1822ea3c 100644 --- a/src/kaleido/cc/126.0.6478.126/app.cc +++ b/src/kaleido/cc/126.0.6478.126/app.cc @@ -2,7 +2,11 @@ // goals: // Almost none. We just start up the main kaleido process, see kaleido.cc. // Much of app.cc is boilerplate taking from headless/app/ example: -// - it starts sandboxes +// - it starts sandboxes, which may be pointless, but our flags are chaos +// - init_tools flags no sandbox +// - here we initialize it +// - python then turns it off again +// - it is not really necessary // - it, depending on platform, moves argc and argv towards a HeadlessBrowser instance // // It is better not to pass whatever chromium flag into kaleido, From d90050e913caf9b389b6b7c21a936026203c94e1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 01:09:14 -0400 Subject: [PATCH 178/510] Reorganize namespaces --- src/kaleido/cc/126.0.6478.126/app.cc | 32 +++---------------- src/kaleido/cc/126.0.6478.126/kaleido.cc | 40 +++++++++++++++++++++++- src/kaleido/cc/126.0.6478.126/kaleido.h | 12 ++----- 3 files changed, 45 insertions(+), 39 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/app.cc b/src/kaleido/cc/126.0.6478.126/app.cc index 1822ea3c..1997b6e7 100644 --- a/src/kaleido/cc/126.0.6478.126/app.cc +++ b/src/kaleido/cc/126.0.6478.126/app.cc @@ -12,36 +12,12 @@ // It is better not to pass whatever chromium flag into kaleido, // unless there was a flag specifically for that "--chromium_flags="--whatever=23,-f," etc -#include "build/build_config.h" #include "headless/app/kaleido.h" -#if BUILDFLAG(IS_WIN) -#include "content/public/app/sandbox_helper_win.h" -#include "sandbox/win/src/sandbox_types.h" // nogncheck -#elif BUILDFLAG(IS_MAC) -#include "base/check.h" -#include "sandbox/mac/seatbelt_exec.h" -#endif int main(int argc, const char** argv) { - content::ContentMainParams params(nullptr); -#if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; -#else - params.argc = argc; - params.argv = argv; -#if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } -#endif // BUILDFLAG(IS_MAC) -#endif // BUILDFLAG(IS_WIN) - return 0; - //return headless::HeadlessShellMain(std::move(params)); + + // These switches likely to processed at some point + // Browser probably needs to be started to use Chromium's builtins + return kaleido::KaleidoMain(argc, argv); } diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index ca173743..f538c908 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -6,9 +6,47 @@ #include "headless/app/kaleido.h" +#include "content/public/app/content_main.h" + +#include "build/build_config.h" // IS_WIN and stuff like that +#if BUILDFLAG(IS_WIN) +#include "content/public/app/sandbox_helper_win.h" +#include "sandbox/win/src/sandbox_types.h" // nogncheck +#elif BUILDFLAG(IS_MAC) +#include "base/check.h" +#include "sandbox/mac/seatbelt_exec.h" +#endif + +namespace kaleido { + +int KaleidoMain(int argc, const char** argv) { + content::ContentMainParams params(nullptr); +#if BUILDFLAG(IS_WIN) + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; +#else + params.argc = argc; + params.argv = argv; +#if BUILDFLAG(IS_MAC) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); + } +#endif // BUILDFLAG(IS_MAC) +#endif // BUILDFLAG(IS_WIN) + return 0; + // return kaleido::HeadlessShellMain(std::move(params)); +} + +} -#include /* +#include + #include "base/base_switches.h" #include "base/command_line.h" #include "base/files/file_util.h" diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 831c57b4..4ba97cbc 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -1,16 +1,8 @@ - #ifndef KALEIDO_H_ #define KALEIDO_H_ -#include "content/public/app/content_main.h" -/* -namespace kaleido { - -// Start the headless shell applications. -// Note that the |ContentMainDelegate| is ignored and -// |HeadlessContentMainDelegate| is used instead. -int HeadlessShellMain(const content::ContentMainParams params); +namespace kaleido { + int KaleidoMain(int argc, const char** argv); } -*/ #endif // KALEIDO_H_ From 0a2d1edbee603beca0e40151bfcec8638c2c04cc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 01:12:42 -0400 Subject: [PATCH 179/510] Add logic to process command line --- src/kaleido/cc/126.0.6478.126/app.cc | 10 --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 87 +++++++++++++----------- 2 files changed, 47 insertions(+), 50 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/app.cc b/src/kaleido/cc/126.0.6478.126/app.cc index 1997b6e7..dfaf4b78 100644 --- a/src/kaleido/cc/126.0.6478.126/app.cc +++ b/src/kaleido/cc/126.0.6478.126/app.cc @@ -1,16 +1,6 @@ // app.cc // goals: // Almost none. We just start up the main kaleido process, see kaleido.cc. -// Much of app.cc is boilerplate taking from headless/app/ example: -// - it starts sandboxes, which may be pointless, but our flags are chaos -// - init_tools flags no sandbox -// - here we initialize it -// - python then turns it off again -// - it is not really necessary -// - it, depending on platform, moves argc and argv towards a HeadlessBrowser instance -// -// It is better not to pass whatever chromium flag into kaleido, -// unless there was a flag specifically for that "--chromium_flags="--whatever=23,-f," etc #include "headless/app/kaleido.h" diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index f538c908..4c1b45df 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -19,6 +19,16 @@ namespace kaleido { +// Much of KaleidoMain is boilerplate taking from headless/app/ example: +// - it starts sandboxes, which may be pointless, but our flags are chaos +// - init_tools flags no sandbox +// - here we initialize it +// - python then turns it off again +// - it is not really necessary +// - it, depending on platform, moves argc and argv towards a HeadlessBrowser instance +// +// It is better not to pass whatever chromium flag into kaleido, +// unless there was a flag specifically for that "--chromium_flags="--whatever=23,-f," etc int KaleidoMain(int argc, const char** argv) { content::ContentMainParams params(nullptr); #if BUILDFLAG(IS_WIN) @@ -38,7 +48,43 @@ int KaleidoMain(int argc, const char** argv) { } #endif // BUILDFLAG(IS_MAC) #endif // BUILDFLAG(IS_WIN) + +#if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); +#else + base::CommandLine::Init(params.argc, params.argv); +#endif // BUILDFLAG(IS_WIN) + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + std::string process_type = + command_line.GetSwitchValueASCII(::switches::kProcessType); +#if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } +#endif // defined(HEADLESS_USE_CRASHPAD) + + if (!process_type.empty()) { + HeadlessChildMain(std::move(params)); + NOTREACHED(); + } + +#if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); +#endif + +#if BUILDFLAG(IS_FUCHSIA) + // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. + command_line.AppendSwitch(::switches::kDisableGpu); +#endif + + if (command_line.GetArgs().size() > 1) { + LOG(ERROR) << "Multiple targets are not supported."; + return EXIT_FAILURE; + } return 0; + // return HeadlessBrowserMain(std::move(params)); // return kaleido::HeadlessShellMain(std::move(params)); } @@ -269,44 +315,5 @@ int HeadlessBrowserMain(content::ContentMainParams params) { } // namespace -int HeadlessShellMain(content::ContentMainParams params) { -#if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); -#else - base::CommandLine::Init(params.argc, params.argv); -#endif // BUILDFLAG(IS_WIN) - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - std::string process_type = - command_line.GetSwitchValueASCII(::switches::kProcessType); -#if defined(HEADLESS_USE_CRASHPAD) - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } -#endif // defined(HEADLESS_USE_CRASHPAD) - - if (!process_type.empty()) { - HeadlessChildMain(std::move(params)); - NOTREACHED(); - } - -#if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); -#endif - -#if BUILDFLAG(IS_FUCHSIA) - // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. - command_line.AppendSwitch(::switches::kDisableGpu); -#endif - - if (command_line.GetArgs().size() > 1) { - LOG(ERROR) << "Multiple targets are not supported."; - return EXIT_FAILURE; - } - - return HeadlessBrowserMain(std::move(params)); -} - -} // namespace headless\ +} // namespace headless */ From 2d294f5a7039623f4eb38b5d31cb95e9085b2361 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 01:14:21 -0400 Subject: [PATCH 180/510] Add some CLI includes --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 4c1b45df..b4394796 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -17,6 +17,11 @@ #include "sandbox/mac/seatbelt_exec.h" #endif +// CLI includes +#include "base/base_switches.h" +#include "headless/public/switches.h" +#include "base/command_line.h" + namespace kaleido { // Much of KaleidoMain is boilerplate taking from headless/app/ example: @@ -93,8 +98,6 @@ int KaleidoMain(int argc, const char** argv) { /* #include -#include "base/base_switches.h" -#include "base/command_line.h" #include "base/files/file_util.h" #include "base/functional/bind.h" #include "base/logging.h" @@ -109,7 +112,6 @@ int KaleidoMain(int argc, const char** argv) { #include "headless/public/headless_browser.h" #include "headless/public/headless_browser_context.h" #include "headless/public/headless_web_contents.h" -#include "headless/public/switches.h" #include "net/base/filename_util.h" #include "url/gurl.h" From ae87419ab8eee91fe97527c175e16ee0bde2bf92 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 01:15:35 -0400 Subject: [PATCH 181/510] Add some CLI includes2 --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index b4394796..4d2b5b25 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -6,7 +6,10 @@ #include "headless/app/kaleido.h" + +// fundamental chromium includes #include "content/public/app/content_main.h" +#include "base/logging.h" #include "build/build_config.h" // IS_WIN and stuff like that #if BUILDFLAG(IS_WIN) @@ -21,6 +24,7 @@ #include "base/base_switches.h" #include "headless/public/switches.h" #include "base/command_line.h" +#include "content/public/common/content_switches.h" namespace kaleido { @@ -100,12 +104,10 @@ int KaleidoMain(int argc, const char** argv) { #include "base/files/file_util.h" #include "base/functional/bind.h" -#include "base/logging.h" #include "base/task/thread_pool.h" #include "build/branding_buildflags.h" #include "build/build_config.h" #include "content/public/app/content_main.h" -#include "content/public/common/content_switches.h" #include "headless/lib/browser/headless_browser_impl.h" #include "headless/lib/browser/headless_web_contents_impl.h" #include "headless/lib/headless_content_main_delegate.h" From 0cfb9caeb62bb27b37a5aae1d988e54af2dc6642 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 01:16:42 -0400 Subject: [PATCH 182/510] Remove check for process flag from example --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 4d2b5b25..73eecb9a 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -74,11 +74,6 @@ int KaleidoMain(int argc, const char** argv) { } #endif // defined(HEADLESS_USE_CRASHPAD) - if (!process_type.empty()) { - HeadlessChildMain(std::move(params)); - NOTREACHED(); - } - #if BUILDFLAG(IS_MAC) command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); #endif From 496cdb1134a13df5493acc62026dae2f9158c889 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 01:18:28 -0400 Subject: [PATCH 183/510] Add failure as test --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 73eecb9a..256e2d3a 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -66,7 +66,8 @@ int KaleidoMain(int argc, const char** argv) { base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); -#if defined(HEADLESS_USE_CRASHPAD) +#if defined(HEADLESS_USE_CRASHPAD) // basically IS_WIN + return 1; if (process_type == crash_reporter::switches::kCrashpadHandler) { return crash_reporter::RunAsCrashpadHandler( *base::CommandLine::ForCurrentProcess(), base::FilePath(), From 05125513b224309d23e50e73375d34ec0b577424 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 01:40:37 -0400 Subject: [PATCH 184/510] Dump flags for info --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 37 ++++++++++++++---------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 256e2d3a..e2cf4ee8 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -39,7 +39,9 @@ namespace kaleido { // It is better not to pass whatever chromium flag into kaleido, // unless there was a flag specifically for that "--chromium_flags="--whatever=23,-f," etc int KaleidoMain(int argc, const char** argv) { - content::ContentMainParams params(nullptr); + content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR + +// LETS CONSTRUCT SANDBOX THAT WE THEN DISABLE #if BUILDFLAG(IS_WIN) sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; content::InitializeSandboxInfo(&sandbox_info); @@ -58,32 +60,35 @@ int KaleidoMain(int argc, const char** argv) { #endif // BUILDFLAG(IS_MAC) #endif // BUILDFLAG(IS_WIN) +// BUILD A COMMAND LINE SO WE CAN CONTROL IT #if BUILDFLAG(IS_WIN) base::CommandLine::Init(0, nullptr); #else base::CommandLine::Init(params.argc, params.argv); #endif // BUILDFLAG(IS_WIN) + + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - std::string process_type = - command_line.GetSwitchValueASCII(::switches::kProcessType); -#if defined(HEADLESS_USE_CRASHPAD) // basically IS_WIN - return 1; - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } -#endif // defined(HEADLESS_USE_CRASHPAD) + // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility -#if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); + +// BELOW IS A TEMPORARY MUST-REMOVE TEST +#if BUILDFLAG(IS_WIN) +#if defined(HEADLESS_USE_CRASHPAD) + LOG(FATAL) << "crashpad IS used on windows, reactivate comments. Need command_line boilerplate." << std::endl; +#else + LOG(FATAL) << "we can get rid of all crashpad" << std::endl; +#endif #endif -#if BUILDFLAG(IS_FUCHSIA) - // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. - command_line.AppendSwitch(::switches::kDisableGpu); +// EXAMPLE SAYS WE NEED THIS +#if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); #endif + for (const auto &piece : command_line.GetArgs()) { + std::cout << piece << std::endl; + } if (command_line.GetArgs().size() > 1) { LOG(ERROR) << "Multiple targets are not supported."; return EXIT_FAILURE; From d54bcd4426dccf1c70947a0e984b7afd9926a88c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 05:57:19 +0000 Subject: [PATCH 185/510] Log commandline information --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index e2cf4ee8..1f7c3192 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -4,7 +4,6 @@ // * start up the tab manager // * start up the IO thread - #include "headless/app/kaleido.h" // fundamental chromium includes @@ -85,14 +84,13 @@ int KaleidoMain(int argc, const char** argv) { #if BUILDFLAG(IS_MAC) command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); #endif - + LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); + LOG(INFO) << "Args size: " << command_line.GetArgs().size(); for (const auto &piece : command_line.GetArgs()) { - std::cout << piece << std::endl; - } - if (command_line.GetArgs().size() > 1) { - LOG(ERROR) << "Multiple targets are not supported."; - return EXIT_FAILURE; + LOG(INFO) << piece << std::endl; } + + // return EXIT_FAILURE; return 0; // return HeadlessBrowserMain(std::move(params)); // return kaleido::HeadlessShellMain(std::move(params)); From ad0853eef21527e3e0e18d1d4b545df6e4e1cf27 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:09:03 -0400 Subject: [PATCH 186/510] Organize switches --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 65 +++++++----------------- 1 file changed, 18 insertions(+), 47 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 1f7c3192..7193a92f 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -19,11 +19,14 @@ #include "sandbox/mac/seatbelt_exec.h" #endif -// CLI includes -#include "base/base_switches.h" -#include "headless/public/switches.h" +// CLI includes, not sure if using all #include "base/command_line.h" +#include "base/base_switches.h" #include "content/public/common/content_switches.h" +#include "headless/public/switches.h" +#if BUILDFLAG(IS_MAC) +#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck +#endif namespace kaleido { @@ -59,13 +62,7 @@ int KaleidoMain(int argc, const char** argv) { #endif // BUILDFLAG(IS_MAC) #endif // BUILDFLAG(IS_WIN) -// BUILD A COMMAND LINE SO WE CAN CONTROL IT -#if BUILDFLAG(IS_WIN) base::CommandLine::Init(0, nullptr); -#else - base::CommandLine::Init(params.argc, params.argv); -#endif // BUILDFLAG(IS_WIN) - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility @@ -80,23 +77,29 @@ int KaleidoMain(int argc, const char** argv) { #endif #endif -// EXAMPLE SAYS WE NEED THIS +// EXAMPLE SAYS WE (MAC USERS) NEED THIS #if BUILDFLAG(IS_MAC) command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); #endif + + // Some Logging LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); LOG(INFO) << "Args size: " << command_line.GetArgs().size(); for (const auto &piece : command_line.GetArgs()) { LOG(INFO) << piece << std::endl; } - // return EXIT_FAILURE; - return 0; - // return HeadlessBrowserMain(std::move(params)); - // return kaleido::HeadlessShellMain(std::move(params)); + // Now we're going to start the browser + HeadlessShell shell; + auto browser = std::make_unique( + base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); + HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; + return content::ContentMain(std::move(params)); + // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? } -} +} // namespace kaleido /* #include @@ -117,9 +120,6 @@ int KaleidoMain(int argc, const char** argv) { #include "net/base/filename_util.h" #include "url/gurl.h" -#if BUILDFLAG(IS_MAC) -#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck -#endif #if BUILDFLAG(IS_WIN) #include "base/strings/utf_string_conversions.h" @@ -285,35 +285,6 @@ void HeadlessChildMain(content::ContentMainParams params) { } int HeadlessBrowserMain(content::ContentMainParams params) { -#if DCHECK_IS_ON() - // The browser can only be initialized once. - static bool browser_was_initialized; - DCHECK(!browser_was_initialized); - browser_was_initialized = true; - - // Child processes should not end up here. - DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( - ::switches::kProcessType)); -#endif -#if defined(HEADLESS_ENABLE_COMMANDS) - base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); - if (HeadlessCommandHandler::HasHeadlessCommandSwitches(command_line)) { - if (command_line.HasSwitch(::switches::kRemoteDebuggingPort) || - command_line.HasSwitch(::switches::kRemoteDebuggingPipe)) { - LOG(ERROR) - << "Headless commands are not compatible with remote debugging."; - return EXIT_FAILURE; - } - command_line.AppendSwitch(switches::kDisableLazyLoading); - } -#endif - - HeadlessShell shell; - auto browser = std::make_unique( - base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); - HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; - return content::ContentMain(std::move(params)); } } // namespace From e55d370e8071e2f421e26f13adf6875d6f492772 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:11:35 -0400 Subject: [PATCH 187/510] Add comment about processing commandline --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 7193a92f..d245c659 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -64,6 +64,11 @@ int KaleidoMain(int argc, const char** argv) { base::CommandLine::Init(0, nullptr); + // It's a good way to process CommandLine, but is windows really not capable of using it? +/*#else + base::CommandLine::Init(params.argc, params.argv); +#endif // BUILDFLAG(IS_WIN)*/ + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility @@ -90,13 +95,15 @@ int KaleidoMain(int argc, const char** argv) { } // Now we're going to start the browser + /* HeadlessShell shell; auto browser = std::make_unique( base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); HeadlessContentMainDelegate delegate(std::move(browser)); params.delegate = &delegate; return content::ContentMain(std::move(params)); - // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? + */ + return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? } } // namespace kaleido From ac0c2ca7839d18e4a9999d088f95188af1c14572 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:14:50 -0400 Subject: [PATCH 188/510] Add notes about parameters --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index d245c659..00410d01 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -68,6 +68,9 @@ int KaleidoMain(int argc, const char** argv) { /*#else base::CommandLine::Init(params.argc, params.argv); #endif // BUILDFLAG(IS_WIN)*/ + // GetSwitches + // RemoveSwitch + // Nothing to do about arguments, they are there base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility From 2878b497718d62399261333e9b2a4b91f2977ebf Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:16:19 -0400 Subject: [PATCH 189/510] Remove irrelevant part of examples --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 00410d01..3e68fe03 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -148,19 +148,6 @@ const wchar_t kAboutBlank[] = L"about:blank"; const char kAboutBlank[] = "about:blank"; #endif -GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { -#if BUILDFLAG(IS_WIN) - GURL url(base::WideToUTF8(arg)); -#else - GURL url(arg); -#endif - if (url.is_valid() && url.has_scheme()) - return url; - - return net::FilePathToFileURL( - base::MakeAbsoluteFilePath(base::FilePath(arg))); -} - // An application which implements a simple headless browser. class HeadlessShell { public: From 2d5d1c08fac110425269f2f3319572b9e5c68590 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:19:53 -0400 Subject: [PATCH 190/510] Strip more unnecessary out of example --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 3e68fe03..a39ab0eb 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -49,9 +49,6 @@ int KaleidoMain(int argc, const char** argv) { content::InitializeSandboxInfo(&sandbox_info); // Sandbox info has to be set and initialized. params.sandbox_info = &sandbox_info; -#else - params.argc = argc; - params.argv = argv; #if BUILDFLAG(IS_MAC) sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = sandbox::SeatbeltExecServer::CreateFromArguments( @@ -63,10 +60,10 @@ int KaleidoMain(int argc, const char** argv) { #endif // BUILDFLAG(IS_WIN) base::CommandLine::Init(0, nullptr); - // It's a good way to process CommandLine, but is windows really not capable of using it? + // Above was on windows only /*#else - base::CommandLine::Init(params.argc, params.argv); + base::CommandLine::Init(argc, argv); #endif // BUILDFLAG(IS_WIN)*/ // GetSwitches // RemoveSwitch @@ -269,21 +266,6 @@ void HeadlessShell::Shutdown() { browser_.ExtractAsDangling()->Shutdown(); } -void HeadlessChildMain(content::ContentMainParams params) { - HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - - // Note that exiting from here means that base::AtExitManager objects will not - // have a chance to be destroyed (typically in main/WinMain). - // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown - // crashes and slowdowns on shutdown. - base::Process::TerminateCurrentProcessImmediately(rc); -} - -int HeadlessBrowserMain(content::ContentMainParams params) { -} - } // namespace } // namespace headless From c9f3d252c5abb840f35c06e2030c28bdc9b15219 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:23:57 -0400 Subject: [PATCH 191/510] Remove more unnecesary parts of example --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 45 ------------------------ 1 file changed, 45 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index a39ab0eb..979bdcf1 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -158,27 +158,14 @@ class HeadlessShell { void OnBrowserStart(HeadlessBrowser* browser); private: -#if defined(HEADLESS_ENABLE_COMMANDS) - void OnProcessCommandsDone(HeadlessCommandHandler::Result result); -#endif void ShutdownSoon(); void Shutdown(); - raw_ptr browser_ = nullptr; }; void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { browser_ = browser; -#if defined(HEADLESS_USE_POLICY) - if (HeadlessModePolicy::IsHeadlessModeDisabled( - static_cast(browser)->GetPrefs())) { - LOG(ERROR) << "Headless mode is disallowed by the system admin."; - ShutdownSoon(); - return; - } -#endif - HeadlessBrowserContext::Builder context_builder = browser_->CreateBrowserContextBuilder(); @@ -224,38 +211,6 @@ void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { return; } - // Otherwise instantiate headless shell command handler that will - // execute the commands against the target page. -#if defined(HEADLESS_ENABLE_COMMANDS) - GURL handler_url = HeadlessCommandHandler::GetHandlerUrl(); - HeadlessWebContents* web_contents = - builder.SetInitialURL(handler_url).Build(); - if (!web_contents) { - LOG(ERROR) << "Navigation to " << handler_url << " failed."; - ShutdownSoon(); - return; - } - - HeadlessCommandHandler::ProcessCommands( - HeadlessWebContentsImpl::From(web_contents)->web_contents(), - std::move(target_url), - base::BindOnce(&HeadlessShell::OnProcessCommandsDone, - base::Unretained(this))); -#endif -} - -#if defined(HEADLESS_ENABLE_COMMANDS) -void HeadlessShell::OnProcessCommandsDone( - HeadlessCommandHandler::Result result) { - if (result != HeadlessCommandHandler::Result::kSuccess) { - static_cast(browser_)->ShutdownWithExitCode( - static_cast(result)); - return; - } - Shutdown(); -} -#endif - void HeadlessShell::ShutdownSoon() { browser_->BrowserMainThread()->PostTask( FROM_HERE, From 8ce36f32c4e1f86df66e4da0f65af0ef5c34dffb Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:27:29 -0400 Subject: [PATCH 192/510] Improve comments --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 979bdcf1..7e443611 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -61,13 +61,11 @@ int KaleidoMain(int argc, const char** argv) { base::CommandLine::Init(0, nullptr); // It's a good way to process CommandLine, but is windows really not capable of using it? - // Above was on windows only + // Above was on windows only, below was all else /*#else base::CommandLine::Init(argc, argv); #endif // BUILDFLAG(IS_WIN)*/ - // GetSwitches - // RemoveSwitch - // Nothing to do about arguments, they are there + // GetSwitches, RemoveSwitch, Nothing to do about arguments, they are there base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility From 69d95ca002c7cd6fbea3499739461296b1b01f73 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:34:41 -0400 Subject: [PATCH 193/510] Shim out kaleido class --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 33 +++++++++++++----------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 7e443611..493544d5 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -104,6 +104,24 @@ int KaleidoMain(int argc, const char** argv) { return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? } +// Kaleido manages a browser and its tabs +class Kaleido { + public: + Kaleido() = default; + + Kaleido(const Kaleido&) = delete; + Kaleido& operator=(const Kaleido&) = delete; + + ~Kaleido() = default; + + void OnBrowserStart(HeadlessBrowser* browser); + + private: + void ShutdownSoon(); + void Shutdown(); + raw_ptr browser_ = nullptr; +}; + } // namespace kaleido /* @@ -143,22 +161,7 @@ const wchar_t kAboutBlank[] = L"about:blank"; const char kAboutBlank[] = "about:blank"; #endif -// An application which implements a simple headless browser. -class HeadlessShell { - public: - HeadlessShell() = default; - - HeadlessShell(const HeadlessShell&) = delete; - HeadlessShell& operator=(const HeadlessShell&) = delete; - - ~HeadlessShell() = default; - - void OnBrowserStart(HeadlessBrowser* browser); - private: - void ShutdownSoon(); - void Shutdown(); - raw_ptr browser_ = nullptr; }; void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { From e4a56f6c5566b579e8a50a0c8a84c58accfafb32 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:36:00 -0400 Subject: [PATCH 194/510] Add deps for Browser --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 493544d5..972f3943 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -28,6 +28,13 @@ #include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck #endif +// Browser Includes +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/public/headless_browser.h" + + +// Can you clear up deps in build? + namespace kaleido { // Much of KaleidoMain is boilerplate taking from headless/app/ example: @@ -133,10 +140,8 @@ class Kaleido { #include "build/branding_buildflags.h" #include "build/build_config.h" #include "content/public/app/content_main.h" -#include "headless/lib/browser/headless_browser_impl.h" #include "headless/lib/browser/headless_web_contents_impl.h" #include "headless/lib/headless_content_main_delegate.h" -#include "headless/public/headless_browser.h" #include "headless/public/headless_browser_context.h" #include "headless/public/headless_web_contents.h" From 8c083e86d7207515c3a59e5dc5990672e56758ee Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:46:13 -0400 Subject: [PATCH 195/510] Introduce HeadlessBrowser into k namespace --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 972f3943..c16d2ec3 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -114,6 +114,7 @@ int KaleidoMain(int argc, const char** argv) { // Kaleido manages a browser and its tabs class Kaleido { public: + using headless::HeadlessBrowser; Kaleido() = default; Kaleido(const Kaleido&) = delete; From ab7d3a832864ddc4c96a20303fe09247ed26768f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:47:36 -0400 Subject: [PATCH 196/510] Move headless back out --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index c16d2ec3..49fdf3a0 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -114,7 +114,6 @@ int KaleidoMain(int argc, const char** argv) { // Kaleido manages a browser and its tabs class Kaleido { public: - using headless::HeadlessBrowser; Kaleido() = default; Kaleido(const Kaleido&) = delete; @@ -122,12 +121,12 @@ class Kaleido { ~Kaleido() = default; - void OnBrowserStart(HeadlessBrowser* browser); + void OnBrowserStart(headless::HeadlessBrowser* browser); private: void ShutdownSoon(); void Shutdown(); - raw_ptr browser_ = nullptr; + raw_ptr browser_ = nullptr; }; } // namespace kaleido From c77ce0ab8ba99099c332494378418c2cf4840a58 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:51:12 -0400 Subject: [PATCH 197/510] Start browser --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 49fdf3a0..e19609cc 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -6,11 +6,14 @@ #include "headless/app/kaleido.h" -// fundamental chromium includes +// Fundamental chromium includes #include "content/public/app/content_main.h" +#include "headless/lib/headless_content_main_delegate.h" #include "base/logging.h" #include "build/build_config.h" // IS_WIN and stuff like that + +// Sandbox Includes #if BUILDFLAG(IS_WIN) #include "content/public/app/sandbox_helper_win.h" #include "sandbox/win/src/sandbox_types.h" // nogncheck @@ -32,7 +35,6 @@ #include "headless/lib/browser/headless_browser_impl.h" #include "headless/public/headless_browser.h" - // Can you clear up deps in build? namespace kaleido { @@ -100,15 +102,13 @@ int KaleidoMain(int argc, const char** argv) { } // Now we're going to start the browser - /* - HeadlessShell shell; - auto browser = std::make_unique( - base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); - HeadlessContentMainDelegate delegate(std::move(browser)); + Kaleido kmanager; + auto browser = std::make_unique( + base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); + headless::HeadlessContentMainDelegate delegate(std::move(browser)); params.delegate = &delegate; return content::ContentMain(std::move(params)); - */ - return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? + // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? } // Kaleido manages a browser and its tabs @@ -139,9 +139,7 @@ class Kaleido { #include "base/task/thread_pool.h" #include "build/branding_buildflags.h" #include "build/build_config.h" -#include "content/public/app/content_main.h" #include "headless/lib/browser/headless_web_contents_impl.h" -#include "headless/lib/headless_content_main_delegate.h" #include "headless/public/headless_browser_context.h" #include "headless/public/headless_web_contents.h" From 56b625e5846ab8b91b0c782c6153694cb9f50076 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:52:14 -0400 Subject: [PATCH 198/510] Fix capitalization typo --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index e19609cc..9780899e 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -102,9 +102,9 @@ int KaleidoMain(int argc, const char** argv) { } // Now we're going to start the browser - Kaleido kmanager; + kaleido kmanager; auto browser = std::make_unique( - base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); + base::BindOnce(&kaleido::OnBrowserStart, base::Unretained(&kmanager))); headless::HeadlessContentMainDelegate delegate(std::move(browser)); params.delegate = &delegate; return content::ContentMain(std::move(params)); From 798fc9138d04455e9dc60399458fa066992760f6 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:55:08 -0400 Subject: [PATCH 199/510] Declare class Kaleido in .h --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 4 ++-- src/kaleido/cc/126.0.6478.126/kaleido.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 9780899e..e19609cc 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -102,9 +102,9 @@ int KaleidoMain(int argc, const char** argv) { } // Now we're going to start the browser - kaleido kmanager; + Kaleido kmanager; auto browser = std::make_unique( - base::BindOnce(&kaleido::OnBrowserStart, base::Unretained(&kmanager))); + base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); headless::HeadlessContentMainDelegate delegate(std::move(browser)); params.delegate = &delegate; return content::ContentMain(std::move(params)); diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 4ba97cbc..83057220 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -4,5 +4,6 @@ namespace kaleido { int KaleidoMain(int argc, const char** argv); + class Kaleido; } #endif // KALEIDO_H_ From 09ba9df0d9b6f6c67450c93a7ccb6587d5cae727 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:57:13 -0400 Subject: [PATCH 200/510] Reorder class declaration to avoid incomplete type --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 35 ++++++++++++------------ src/kaleido/cc/126.0.6478.126/kaleido.h | 1 - 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index e19609cc..868b3a69 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -39,6 +39,24 @@ namespace kaleido { +// Kaleido manages a browser and its tabs +class Kaleido { + public: + Kaleido() = default; + + Kaleido(const Kaleido&) = delete; + Kaleido& operator=(const Kaleido&) = delete; + + ~Kaleido() = default; + + void OnBrowserStart(headless::HeadlessBrowser* browser); + + private: + void ShutdownSoon(); + void Shutdown(); + raw_ptr browser_ = nullptr; +}; + // Much of KaleidoMain is boilerplate taking from headless/app/ example: // - it starts sandboxes, which may be pointless, but our flags are chaos // - init_tools flags no sandbox @@ -111,23 +129,6 @@ int KaleidoMain(int argc, const char** argv) { // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? } -// Kaleido manages a browser and its tabs -class Kaleido { - public: - Kaleido() = default; - - Kaleido(const Kaleido&) = delete; - Kaleido& operator=(const Kaleido&) = delete; - - ~Kaleido() = default; - - void OnBrowserStart(headless::HeadlessBrowser* browser); - - private: - void ShutdownSoon(); - void Shutdown(); - raw_ptr browser_ = nullptr; -}; } // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 83057220..4ba97cbc 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -4,6 +4,5 @@ namespace kaleido { int KaleidoMain(int argc, const char** argv); - class Kaleido; } #endif // KALEIDO_H_ From d73e5036fda56db8b3206cd55e4c533e2706780f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:58:35 -0400 Subject: [PATCH 201/510] Finish callback definition --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 868b3a69..e999e6ba 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -57,6 +57,10 @@ class Kaleido { raw_ptr browser_ = nullptr; }; +void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { + browser_ = browser; +} + // Much of KaleidoMain is boilerplate taking from headless/app/ example: // - it starts sandboxes, which may be pointless, but our flags are chaos // - init_tools flags no sandbox @@ -168,8 +172,6 @@ const char kAboutBlank[] = "about:blank"; }; -void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { - browser_ = browser; HeadlessBrowserContext::Builder context_builder = browser_->CreateBrowserContextBuilder(); From 35fc0a39cc7af0909a62774a580ffc3393dc5e6d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 02:59:10 -0400 Subject: [PATCH 202/510] Fix namespace typos --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index e999e6ba..00d0ff0f 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -57,7 +57,7 @@ class Kaleido { raw_ptr browser_ = nullptr; }; -void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { +void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; } From f77ab3c9ec93c2c3fe3d9d2d9d17c2243e8d86c9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 03:20:11 -0400 Subject: [PATCH 203/510] Readd some process type switches --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 49 ++++++++++++++++++------ 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 00d0ff0f..c0702395 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -9,7 +9,10 @@ // Fundamental chromium includes #include "content/public/app/content_main.h" #include "headless/lib/headless_content_main_delegate.h" + +// Fundamental utilities #include "base/logging.h" +#include "base/files/file_util.h" #include "build/build_config.h" // IS_WIN and stuff like that @@ -35,6 +38,13 @@ #include "headless/lib/browser/headless_browser_impl.h" #include "headless/public/headless_browser.h" +#if BUILDFLAG(IS_WIN) +#include "base/strings/utf_string_conversions.h" +#include "components/crash/core/app/crash_switches.h" // nogncheck +#include "components/crash/core/app/run_as_crashpad_handler_win.h" +#include "sandbox/win/src/sandbox_types.h" +#endif + // Can you clear up deps in build? namespace kaleido { @@ -71,6 +81,11 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // // It is better not to pass whatever chromium flag into kaleido, // unless there was a flag specifically for that "--chromium_flags="--whatever=23,-f," etc +// This function will be called several times as several processes are started by the main process +// with a variety of command line flags. +// Filtering out flags may not be reasonable in this case, and some of the switches deleted may be necessary: +// HeadlessChildMain +// HEADLESS_USE_CRASHPAD -> kCrashpadHandler int KaleidoMain(int argc, const char** argv) { content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR @@ -90,17 +105,26 @@ int KaleidoMain(int argc, const char** argv) { #endif // BUILDFLAG(IS_MAC) #endif // BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); + //base::CommandLine::Init(0, nullptr); // It's a good way to process CommandLine, but is windows really not capable of using it? // Above was on windows only, below was all else -/*#else - base::CommandLine::Init(argc, argv); +/*#else*/ + base::CommandLine::Init(argc, argv);/* #endif // BUILDFLAG(IS_WIN)*/ // GetSwitches, RemoveSwitch, Nothing to do about arguments, they are there base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); + LOG(INFO) << "Process type: " << process_type; // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility +#if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } +#endif // defined(HEADLESS_USE_CRASHPAD) // BELOW IS A TEMPORARY MUST-REMOVE TEST #if BUILDFLAG(IS_WIN) @@ -110,7 +134,17 @@ int KaleidoMain(int argc, const char** argv) { LOG(FATAL) << "we can get rid of all crashpad" << std::endl; #endif #endif - + if (!process_type.empty()) { + headless::HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); + // Note that exiting from here means that base::AtExitManager objects will not + // have a chance to be destroyed (typically in main/WinMain). + // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown + // crashes and slowdowns on shutdown. + base::Process::TerminateCurrentProcessImmediately(rc); + NOTREACHED_IN_MIGRATION(); + } // EXAMPLE SAYS WE (MAC USERS) NEED THIS #if BUILDFLAG(IS_MAC) command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); @@ -139,7 +173,6 @@ int KaleidoMain(int argc, const char** argv) { /* #include -#include "base/files/file_util.h" #include "base/functional/bind.h" #include "base/task/thread_pool.h" #include "build/branding_buildflags.h" @@ -152,12 +185,6 @@ int KaleidoMain(int argc, const char** argv) { #include "url/gurl.h" -#if BUILDFLAG(IS_WIN) -#include "base/strings/utf_string_conversions.h" -#include "components/crash/core/app/crash_switches.h" // nogncheck -#include "components/crash/core/app/run_as_crashpad_handler_win.h" -#include "sandbox/win/src/sandbox_types.h" -#endif namespace kaleido { From 7b06beac7388ca20ca6cd084b023708d9455cc81 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 03:25:09 -0400 Subject: [PATCH 204/510] Add destructors --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 38 ++++++++++++------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index c0702395..e54ca7f3 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -69,6 +69,17 @@ class Kaleido { void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; + ShutdownSoon(); +} + +void Kaleido::ShutdownSoon() { + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Kaleido::Shutdown, base::Unretained(this))); +} + +void Kaleido::Shutdown() { + browser_.ExtractAsDangling()->Shutdown(); } // Much of KaleidoMain is boilerplate taking from headless/app/ example: @@ -134,28 +145,26 @@ int KaleidoMain(int argc, const char** argv) { LOG(FATAL) << "we can get rid of all crashpad" << std::endl; #endif #endif + // Some Logging + LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); + LOG(INFO) << "Args size: " << command_line.GetArgs().size(); + for (const auto &piece : command_line.GetArgs()) { + LOG(INFO) << piece << std::endl; + } if (!process_type.empty()) { headless::HeadlessContentMainDelegate delegate(nullptr); params.delegate = &delegate; int rc = content::ContentMain(std::move(params)); - // Note that exiting from here means that base::AtExitManager objects will not - // have a chance to be destroyed (typically in main/WinMain). - // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown - // crashes and slowdowns on shutdown. base::Process::TerminateCurrentProcessImmediately(rc); NOTREACHED_IN_MIGRATION(); } + // So we must be the main process... + // EXAMPLE SAYS WE (MAC USERS) NEED THIS #if BUILDFLAG(IS_MAC) command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); #endif - // Some Logging - LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); - LOG(INFO) << "Args size: " << command_line.GetArgs().size(); - for (const auto &piece : command_line.GetArgs()) { - LOG(INFO) << piece << std::endl; - } // Now we're going to start the browser Kaleido kmanager; @@ -245,15 +254,6 @@ const char kAboutBlank[] = "about:blank"; return; } -void HeadlessShell::ShutdownSoon() { - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&HeadlessShell::Shutdown, base::Unretained(this))); -} - -void HeadlessShell::Shutdown() { - browser_.ExtractAsDangling()->Shutdown(); -} } // namespace From 6edeebaffd51eb28e6325002ed9ecf9387296615 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 03:30:38 -0400 Subject: [PATCH 205/510] Restore IS_WIN buildflag --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index e54ca7f3..47c88ab8 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -97,6 +97,7 @@ void Kaleido::Shutdown() { // Filtering out flags may not be reasonable in this case, and some of the switches deleted may be necessary: // HeadlessChildMain // HEADLESS_USE_CRASHPAD -> kCrashpadHandler + int KaleidoMain(int argc, const char** argv) { content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR @@ -116,13 +117,12 @@ int KaleidoMain(int argc, const char** argv) { #endif // BUILDFLAG(IS_MAC) #endif // BUILDFLAG(IS_WIN) - //base::CommandLine::Init(0, nullptr); +if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); // It's a good way to process CommandLine, but is windows really not capable of using it? - // Above was on windows only, below was all else -/*#else*/ - base::CommandLine::Init(argc, argv);/* -#endif // BUILDFLAG(IS_WIN)*/ - // GetSwitches, RemoveSwitch, Nothing to do about arguments, they are there +#else + base::CommandLine::Init(argc, argv); +#endif // BUILDFLAG(IS_WIN) base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); From 47a445befb1fd6db535df4a81cd2c03b1216a77d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 12:29:27 -0400 Subject: [PATCH 206/510] Move main to app.cc --- src/kaleido/cc/126.0.6478.126/app.cc | 78 +++++++++++++++++++++++- src/kaleido/cc/126.0.6478.126/kaleido.cc | 77 ----------------------- src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 3 files changed, 76 insertions(+), 81 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/app.cc b/src/kaleido/cc/126.0.6478.126/app.cc index dfaf4b78..227b3535 100644 --- a/src/kaleido/cc/126.0.6478.126/app.cc +++ b/src/kaleido/cc/126.0.6478.126/app.cc @@ -7,7 +7,79 @@ int main(int argc, const char** argv) { - // These switches likely to processed at some point - // Browser probably needs to be started to use Chromium's builtins - return kaleido::KaleidoMain(argc, argv); + content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR + +// LETS CONSTRUCT SANDBOX THAT WE THEN DISABLE +#if BUILDFLAG(IS_WIN) + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; +#if BUILDFLAG(IS_MAC) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); + } +#endif // BUILDFLAG(IS_MAC) +#endif // BUILDFLAG(IS_WIN) + +if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); + // It's a good way to process CommandLine, but is windows really not capable of using it? +#else + base::CommandLine::Init(argc, argv); +#endif // BUILDFLAG(IS_WIN) + + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); + LOG(INFO) << "Process type: " << process_type; + // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility + +#if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } +#endif // defined(HEADLESS_USE_CRASHPAD) + +// BELOW IS A TEMPORARY MUST-REMOVE TEST +#if BUILDFLAG(IS_WIN) +#if defined(HEADLESS_USE_CRASHPAD) + LOG(FATAL) << "crashpad IS used on windows, reactivate comments. Need command_line boilerplate." << std::endl; +#else + LOG(FATAL) << "we can get rid of all crashpad" << std::endl; +#endif +#endif + // Some Logging + LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); + LOG(INFO) << "Args size: " << command_line.GetArgs().size(); + for (const auto &piece : command_line.GetArgs()) { + LOG(INFO) << piece << std::endl; + } + if (!process_type.empty()) { + headless::HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); + base::Process::TerminateCurrentProcessImmediately(rc); + NOTREACHED_IN_MIGRATION(); + } + // So we must be the main process... + +// EXAMPLE SAYS WE (MAC USERS) NEED THIS +#if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); +#endif + + + // Now we're going to start the browser + Kaleido kmanager; + auto browser = std::make_unique( + base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); + headless::HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; + return content::ContentMain(std::move(params)); + // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? } diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 47c88ab8..11a89f32 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -98,83 +98,6 @@ void Kaleido::Shutdown() { // HeadlessChildMain // HEADLESS_USE_CRASHPAD -> kCrashpadHandler -int KaleidoMain(int argc, const char** argv) { - content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR - -// LETS CONSTRUCT SANDBOX THAT WE THEN DISABLE -#if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; -#if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } -#endif // BUILDFLAG(IS_MAC) -#endif // BUILDFLAG(IS_WIN) - -if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); - // It's a good way to process CommandLine, but is windows really not capable of using it? -#else - base::CommandLine::Init(argc, argv); -#endif // BUILDFLAG(IS_WIN) - - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); - LOG(INFO) << "Process type: " << process_type; - // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility - -#if defined(HEADLESS_USE_CRASHPAD) - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } -#endif // defined(HEADLESS_USE_CRASHPAD) - -// BELOW IS A TEMPORARY MUST-REMOVE TEST -#if BUILDFLAG(IS_WIN) -#if defined(HEADLESS_USE_CRASHPAD) - LOG(FATAL) << "crashpad IS used on windows, reactivate comments. Need command_line boilerplate." << std::endl; -#else - LOG(FATAL) << "we can get rid of all crashpad" << std::endl; -#endif -#endif - // Some Logging - LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); - LOG(INFO) << "Args size: " << command_line.GetArgs().size(); - for (const auto &piece : command_line.GetArgs()) { - LOG(INFO) << piece << std::endl; - } - if (!process_type.empty()) { - headless::HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - base::Process::TerminateCurrentProcessImmediately(rc); - NOTREACHED_IN_MIGRATION(); - } - // So we must be the main process... - -// EXAMPLE SAYS WE (MAC USERS) NEED THIS -#if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); -#endif - - - // Now we're going to start the browser - Kaleido kmanager; - auto browser = std::make_unique( - base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); - headless::HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; - return content::ContentMain(std::move(params)); - // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? -} } // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 4ba97cbc..7f34a0d3 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -3,6 +3,6 @@ namespace kaleido { - int KaleidoMain(int argc, const char** argv); + class Kaleido; } #endif // KALEIDO_H_ From 0cef37d5b3a0e0d47570926bcf5625330a0c403a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 17:55:29 +0000 Subject: [PATCH 207/510] Move boiler plate into app.cc --- src/kaleido/cc/126.0.6478.126/app.cc | 167 +++++++++++++++-------- src/kaleido/cc/126.0.6478.126/kaleido.cc | 67 +++------ src/kaleido/cc/126.0.6478.126/kaleido.h | 20 ++- 3 files changed, 144 insertions(+), 110 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/app.cc b/src/kaleido/cc/126.0.6478.126/app.cc index 227b3535..bae1ff38 100644 --- a/src/kaleido/cc/126.0.6478.126/app.cc +++ b/src/kaleido/cc/126.0.6478.126/app.cc @@ -1,85 +1,132 @@ // app.cc // goals: -// Almost none. We just start up the main kaleido process, see kaleido.cc. +// +// the build system thinks these are deps of kaleido.cc and kaleido.h, +// it only works because they all have to be in the same namespace anyway +// since they're linked together #include "headless/app/kaleido.h" +// Fundamental chromium includes +#include "content/public/app/content_main.h" -int main(int argc, const char** argv) { +// Fundamental utilities +#include "base/logging.h" +#include "base/files/file_util.h" - content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR +#include "build/build_config.h" // IS_WIN and stuff like that -// LETS CONSTRUCT SANDBOX THAT WE THEN DISABLE +// Sandbox Includes #if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; +#include "content/public/app/sandbox_helper_win.h" +#include "sandbox/win/src/sandbox_types.h" // nogncheck +#elif BUILDFLAG(IS_MAC) +#include "base/check.h" +#include "sandbox/mac/seatbelt_exec.h" +#endif + +// CLI includes, not sure if using all +#include "base/command_line.h" +#include "base/base_switches.h" +#include "content/public/common/content_switches.h" +#include "headless/public/switches.h" #if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } -#endif // BUILDFLAG(IS_MAC) -#endif // BUILDFLAG(IS_WIN) +#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck +#endif -if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); - // It's a good way to process CommandLine, but is windows really not capable of using it? -#else - base::CommandLine::Init(argc, argv); -#endif // BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_WIN) +#include "base/strings/utf_string_conversions.h" +#include "components/crash/core/app/crash_switches.h" // nogncheck +#include "components/crash/core/app/run_as_crashpad_handler_win.h" +#include "sandbox/win/src/sandbox_types.h" +#endif - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); - LOG(INFO) << "Process type: " << process_type; - // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility +void buildSandbox(content::ContentMainParams); +void processCommandline(content::ContentMainParams, int argc, const char** argv); -#if defined(HEADLESS_USE_CRASHPAD) - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } -#endif // defined(HEADLESS_USE_CRASHPAD) +int main(int argc, const char** argv) { + content::ContentMainParams params(nullptr); -// BELOW IS A TEMPORARY MUST-REMOVE TEST -#if BUILDFLAG(IS_WIN) -#if defined(HEADLESS_USE_CRASHPAD) - LOG(FATAL) << "crashpad IS used on windows, reactivate comments. Need command_line boilerplate." << std::endl; -#else - LOG(FATAL) << "we can get rid of all crashpad" << std::endl; -#endif -#endif + LOG(INFO) << "Building sandbox"; + buildSandbox(std::move(params)); + + // chromium restarts this process several times to create child processes + // this boilerplate helps the process determine if its a // Can you clear up deps in build?child process or not + // we cannot intercept chromium commandline flags easily due to this + LOG(INFO) << "Processing commandlines"; + processCommandline(std::move(params), argc, argv); + + // Make a Kaleido browser + LOG(INFO) << "Making a kaleido browser"; + kaleido::Kaleido kbrowser(std::move(params)); + + // Run chromium'smmain loop + LOG(INFO) << "Running main content loop"; + return content::ContentMain(std::move(params)); + // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? +} + +// Construct sandbox (even tho we will disable it) +void buildSandbox(content::ContentMainParams params) { + #if BUILDFLAG(IS_WIN) + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; + #if BUILDFLAG(IS_MAC) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); + } + #endif // BUILDFLAG(IS_MAC) + #endif // BUILDFLAG(IS_WIN) +} + +void processCommandline(content::ContentMainParams params, int argc, const char** argv) { + #if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); // Windows takes no commands, I guess? + #else + base::CommandLine::Init(argc, argv); + #endif // BUILDFLAG(IS_WIN) + + + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility + // It is possible, that if we see we're not a child process, we can add the switches needed + // Some Logging LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); LOG(INFO) << "Args size: " << command_line.GetArgs().size(); for (const auto &piece : command_line.GetArgs()) { LOG(INFO) << piece << std::endl; } + + // This is where Chromium determines if it is a child or the main process + std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); + LOG(INFO) << "Process type: " << process_type; + + #if defined(HEADLESS_USE_CRASHPAD) + LOG(INFO) << "Defined: HEADLESS_USE_CRASHPAD"; + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } + #endif // defined(HEADLESS_USE_CRASHPAD) + if (!process_type.empty()) { - headless::HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - base::Process::TerminateCurrentProcessImmediately(rc); - NOTREACHED_IN_MIGRATION(); + LOG(INFO) << "Is child process."; + kaleido::ChildProcess(std::move(params)); + } else { + // So we must be the main process... + LOG(INFO) << "Is not child process."; } - // So we must be the main process... - -// EXAMPLE SAYS WE (MAC USERS) NEED THIS -#if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); -#endif - // Now we're going to start the browser - Kaleido kmanager; - auto browser = std::make_unique( - base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); - headless::HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; - return content::ContentMain(std::move(params)); - // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? + #if BUILDFLAG(IS_MAC) + LOG(INFO) << "IS_MAC appending kUseMockKeychain"; + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); + #endif } diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 11a89f32..b67223ed 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -4,71 +4,41 @@ // * start up the tab manager // * start up the IO thread +#include #include "headless/app/kaleido.h" // Fundamental chromium includes #include "content/public/app/content_main.h" #include "headless/lib/headless_content_main_delegate.h" -// Fundamental utilities -#include "base/logging.h" -#include "base/files/file_util.h" - -#include "build/build_config.h" // IS_WIN and stuff like that - -// Sandbox Includes -#if BUILDFLAG(IS_WIN) -#include "content/public/app/sandbox_helper_win.h" -#include "sandbox/win/src/sandbox_types.h" // nogncheck -#elif BUILDFLAG(IS_MAC) -#include "base/check.h" -#include "sandbox/mac/seatbelt_exec.h" -#endif - -// CLI includes, not sure if using all -#include "base/command_line.h" -#include "base/base_switches.h" -#include "content/public/common/content_switches.h" -#include "headless/public/switches.h" -#if BUILDFLAG(IS_MAC) -#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck -#endif - // Browser Includes #include "headless/lib/browser/headless_browser_impl.h" #include "headless/public/headless_browser.h" -#if BUILDFLAG(IS_WIN) -#include "base/strings/utf_string_conversions.h" -#include "components/crash/core/app/crash_switches.h" // nogncheck -#include "components/crash/core/app/run_as_crashpad_handler_win.h" -#include "sandbox/win/src/sandbox_types.h" -#endif - -// Can you clear up deps in build? +#include "base/functional/bind.h" namespace kaleido { -// Kaleido manages a browser and its tabs -class Kaleido { - public: - Kaleido() = default; - - Kaleido(const Kaleido&) = delete; - Kaleido& operator=(const Kaleido&) = delete; - - ~Kaleido() = default; - - void OnBrowserStart(headless::HeadlessBrowser* browser); +// This is here because we can't put headless_content_main_delegate.h in app.cc, +// something breaks, probs misconfigured BUILD.gn +void ChildProcess(content::ContentMainParams params) { + headless::HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); + base::Process::TerminateCurrentProcessImmediately(rc); + NOTREACHED_IN_MIGRATION(); +} - private: - void ShutdownSoon(); - void Shutdown(); - raw_ptr browser_ = nullptr; -}; +Kaleido::Kaleido(content::ContentMainParams params) { + auto browser = std::make_unique( + base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(this))); + headless::HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; +} void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; + std::cout << "We made it!" << std::endl; ShutdownSoon(); } @@ -105,7 +75,6 @@ void Kaleido::Shutdown() { /* #include -#include "base/functional/bind.h" #include "base/task/thread_pool.h" #include "build/branding_buildflags.h" #include "build/build_config.h" diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 7f34a0d3..031b0b63 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -1,8 +1,26 @@ #ifndef KALEIDO_H_ #define KALEIDO_H_ +// Fundamental chromium includes +#include "content/public/app/content_main.h" +#include "headless/public/headless_browser.h" namespace kaleido { - class Kaleido; + class Kaleido { + public: + Kaleido(content::ContentMainParams); + Kaleido(const Kaleido&) = delete; + Kaleido& operator=(const Kaleido&) = delete; + ~Kaleido() = default; + + void OnBrowserStart(headless::HeadlessBrowser* browser); + private: + void ShutdownSoon(); + void Shutdown(); + raw_ptr browser_ = nullptr; + }; + void ChildProcess(content::ContentMainParams); } + + #endif // KALEIDO_H_ From ad80c1c4b48ea8aa28e72c451d60dd676ea84395 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 18:07:11 +0000 Subject: [PATCH 208/510] Revert "Move boiler plate into app.cc" This reverts commit 0cef37d5b3a0e0d47570926bcf5625330a0c403a. --- src/kaleido/cc/126.0.6478.126/app.cc | 167 ++++++++--------------- src/kaleido/cc/126.0.6478.126/kaleido.cc | 67 ++++++--- src/kaleido/cc/126.0.6478.126/kaleido.h | 20 +-- 3 files changed, 110 insertions(+), 144 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/app.cc b/src/kaleido/cc/126.0.6478.126/app.cc index bae1ff38..227b3535 100644 --- a/src/kaleido/cc/126.0.6478.126/app.cc +++ b/src/kaleido/cc/126.0.6478.126/app.cc @@ -1,132 +1,85 @@ // app.cc // goals: -// +// Almost none. We just start up the main kaleido process, see kaleido.cc. -// the build system thinks these are deps of kaleido.cc and kaleido.h, -// it only works because they all have to be in the same namespace anyway -// since they're linked together #include "headless/app/kaleido.h" -// Fundamental chromium includes -#include "content/public/app/content_main.h" -// Fundamental utilities -#include "base/logging.h" -#include "base/files/file_util.h" +int main(int argc, const char** argv) { -#include "build/build_config.h" // IS_WIN and stuff like that + content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR -// Sandbox Includes +// LETS CONSTRUCT SANDBOX THAT WE THEN DISABLE #if BUILDFLAG(IS_WIN) -#include "content/public/app/sandbox_helper_win.h" -#include "sandbox/win/src/sandbox_types.h" // nogncheck -#elif BUILDFLAG(IS_MAC) -#include "base/check.h" -#include "sandbox/mac/seatbelt_exec.h" -#endif - -// CLI includes, not sure if using all -#include "base/command_line.h" -#include "base/base_switches.h" -#include "content/public/common/content_switches.h" -#include "headless/public/switches.h" + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; #if BUILDFLAG(IS_MAC) -#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck -#endif - -#if BUILDFLAG(IS_WIN) -#include "base/strings/utf_string_conversions.h" -#include "components/crash/core/app/crash_switches.h" // nogncheck -#include "components/crash/core/app/run_as_crashpad_handler_win.h" -#include "sandbox/win/src/sandbox_types.h" -#endif - -void buildSandbox(content::ContentMainParams); -void processCommandline(content::ContentMainParams, int argc, const char** argv); - -int main(int argc, const char** argv) { - content::ContentMainParams params(nullptr); - - LOG(INFO) << "Building sandbox"; - buildSandbox(std::move(params)); - - // chromium restarts this process several times to create child processes - // this boilerplate helps the process determine if its a // Can you clear up deps in build?child process or not - // we cannot intercept chromium commandline flags easily due to this - LOG(INFO) << "Processing commandlines"; - processCommandline(std::move(params), argc, argv); - - // Make a Kaleido browser - LOG(INFO) << "Making a kaleido browser"; - kaleido::Kaleido kbrowser(std::move(params)); - - // Run chromium'smmain loop - LOG(INFO) << "Running main content loop"; - return content::ContentMain(std::move(params)); - // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? -} - -// Construct sandbox (even tho we will disable it) -void buildSandbox(content::ContentMainParams params) { - #if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; - #if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } - #endif // BUILDFLAG(IS_MAC) - #endif // BUILDFLAG(IS_WIN) -} - -void processCommandline(content::ContentMainParams params, int argc, const char** argv) { - #if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); // Windows takes no commands, I guess? - #else - base::CommandLine::Init(argc, argv); - #endif // BUILDFLAG(IS_WIN) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); + } +#endif // BUILDFLAG(IS_MAC) +#endif // BUILDFLAG(IS_WIN) +if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); + // It's a good way to process CommandLine, but is windows really not capable of using it? +#else + base::CommandLine::Init(argc, argv); +#endif // BUILDFLAG(IS_WIN) base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); + LOG(INFO) << "Process type: " << process_type; // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility - // It is possible, that if we see we're not a child process, we can add the switches needed - + +#if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } +#endif // defined(HEADLESS_USE_CRASHPAD) + +// BELOW IS A TEMPORARY MUST-REMOVE TEST +#if BUILDFLAG(IS_WIN) +#if defined(HEADLESS_USE_CRASHPAD) + LOG(FATAL) << "crashpad IS used on windows, reactivate comments. Need command_line boilerplate." << std::endl; +#else + LOG(FATAL) << "we can get rid of all crashpad" << std::endl; +#endif +#endif // Some Logging LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); LOG(INFO) << "Args size: " << command_line.GetArgs().size(); for (const auto &piece : command_line.GetArgs()) { LOG(INFO) << piece << std::endl; } - - // This is where Chromium determines if it is a child or the main process - std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); - LOG(INFO) << "Process type: " << process_type; - - #if defined(HEADLESS_USE_CRASHPAD) - LOG(INFO) << "Defined: HEADLESS_USE_CRASHPAD"; - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } - #endif // defined(HEADLESS_USE_CRASHPAD) - if (!process_type.empty()) { - LOG(INFO) << "Is child process."; - kaleido::ChildProcess(std::move(params)); - } else { - // So we must be the main process... - LOG(INFO) << "Is not child process."; + headless::HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); + base::Process::TerminateCurrentProcessImmediately(rc); + NOTREACHED_IN_MIGRATION(); } + // So we must be the main process... + +// EXAMPLE SAYS WE (MAC USERS) NEED THIS +#if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); +#endif - #if BUILDFLAG(IS_MAC) - LOG(INFO) << "IS_MAC appending kUseMockKeychain"; - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); - #endif + // Now we're going to start the browser + Kaleido kmanager; + auto browser = std::make_unique( + base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); + headless::HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; + return content::ContentMain(std::move(params)); + // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? } diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index b67223ed..11a89f32 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -4,41 +4,71 @@ // * start up the tab manager // * start up the IO thread -#include #include "headless/app/kaleido.h" // Fundamental chromium includes #include "content/public/app/content_main.h" #include "headless/lib/headless_content_main_delegate.h" +// Fundamental utilities +#include "base/logging.h" +#include "base/files/file_util.h" + +#include "build/build_config.h" // IS_WIN and stuff like that + +// Sandbox Includes +#if BUILDFLAG(IS_WIN) +#include "content/public/app/sandbox_helper_win.h" +#include "sandbox/win/src/sandbox_types.h" // nogncheck +#elif BUILDFLAG(IS_MAC) +#include "base/check.h" +#include "sandbox/mac/seatbelt_exec.h" +#endif + +// CLI includes, not sure if using all +#include "base/command_line.h" +#include "base/base_switches.h" +#include "content/public/common/content_switches.h" +#include "headless/public/switches.h" +#if BUILDFLAG(IS_MAC) +#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck +#endif + // Browser Includes #include "headless/lib/browser/headless_browser_impl.h" #include "headless/public/headless_browser.h" -#include "base/functional/bind.h" +#if BUILDFLAG(IS_WIN) +#include "base/strings/utf_string_conversions.h" +#include "components/crash/core/app/crash_switches.h" // nogncheck +#include "components/crash/core/app/run_as_crashpad_handler_win.h" +#include "sandbox/win/src/sandbox_types.h" +#endif + +// Can you clear up deps in build? namespace kaleido { -// This is here because we can't put headless_content_main_delegate.h in app.cc, -// something breaks, probs misconfigured BUILD.gn -void ChildProcess(content::ContentMainParams params) { - headless::HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - base::Process::TerminateCurrentProcessImmediately(rc); - NOTREACHED_IN_MIGRATION(); -} +// Kaleido manages a browser and its tabs +class Kaleido { + public: + Kaleido() = default; -Kaleido::Kaleido(content::ContentMainParams params) { - auto browser = std::make_unique( - base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(this))); - headless::HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; -} + Kaleido(const Kaleido&) = delete; + Kaleido& operator=(const Kaleido&) = delete; + + ~Kaleido() = default; + + void OnBrowserStart(headless::HeadlessBrowser* browser); + + private: + void ShutdownSoon(); + void Shutdown(); + raw_ptr browser_ = nullptr; +}; void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; - std::cout << "We made it!" << std::endl; ShutdownSoon(); } @@ -75,6 +105,7 @@ void Kaleido::Shutdown() { /* #include +#include "base/functional/bind.h" #include "base/task/thread_pool.h" #include "build/branding_buildflags.h" #include "build/build_config.h" diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 031b0b63..7f34a0d3 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -1,26 +1,8 @@ #ifndef KALEIDO_H_ #define KALEIDO_H_ -// Fundamental chromium includes -#include "content/public/app/content_main.h" -#include "headless/public/headless_browser.h" namespace kaleido { - class Kaleido { - public: - Kaleido(content::ContentMainParams); - Kaleido(const Kaleido&) = delete; - Kaleido& operator=(const Kaleido&) = delete; - ~Kaleido() = default; - - void OnBrowserStart(headless::HeadlessBrowser* browser); - private: - void ShutdownSoon(); - void Shutdown(); - raw_ptr browser_ = nullptr; - }; - void ChildProcess(content::ContentMainParams); + class Kaleido; } - - #endif // KALEIDO_H_ From d11097399adb8624459a396a9de8274a151321cd Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 18:07:40 +0000 Subject: [PATCH 209/510] Revert "Move main to app.cc" This reverts commit 47a445befb1fd6db535df4a81cd2c03b1216a77d. --- src/kaleido/cc/126.0.6478.126/app.cc | 78 +----------------------- src/kaleido/cc/126.0.6478.126/kaleido.cc | 77 +++++++++++++++++++++++ src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 3 files changed, 81 insertions(+), 76 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/app.cc b/src/kaleido/cc/126.0.6478.126/app.cc index 227b3535..dfaf4b78 100644 --- a/src/kaleido/cc/126.0.6478.126/app.cc +++ b/src/kaleido/cc/126.0.6478.126/app.cc @@ -7,79 +7,7 @@ int main(int argc, const char** argv) { - content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR - -// LETS CONSTRUCT SANDBOX THAT WE THEN DISABLE -#if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; -#if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } -#endif // BUILDFLAG(IS_MAC) -#endif // BUILDFLAG(IS_WIN) - -if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); - // It's a good way to process CommandLine, but is windows really not capable of using it? -#else - base::CommandLine::Init(argc, argv); -#endif // BUILDFLAG(IS_WIN) - - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); - LOG(INFO) << "Process type: " << process_type; - // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility - -#if defined(HEADLESS_USE_CRASHPAD) - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } -#endif // defined(HEADLESS_USE_CRASHPAD) - -// BELOW IS A TEMPORARY MUST-REMOVE TEST -#if BUILDFLAG(IS_WIN) -#if defined(HEADLESS_USE_CRASHPAD) - LOG(FATAL) << "crashpad IS used on windows, reactivate comments. Need command_line boilerplate." << std::endl; -#else - LOG(FATAL) << "we can get rid of all crashpad" << std::endl; -#endif -#endif - // Some Logging - LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); - LOG(INFO) << "Args size: " << command_line.GetArgs().size(); - for (const auto &piece : command_line.GetArgs()) { - LOG(INFO) << piece << std::endl; - } - if (!process_type.empty()) { - headless::HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - base::Process::TerminateCurrentProcessImmediately(rc); - NOTREACHED_IN_MIGRATION(); - } - // So we must be the main process... - -// EXAMPLE SAYS WE (MAC USERS) NEED THIS -#if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); -#endif - - - // Now we're going to start the browser - Kaleido kmanager; - auto browser = std::make_unique( - base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); - headless::HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; - return content::ContentMain(std::move(params)); - // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? + // These switches likely to processed at some point + // Browser probably needs to be started to use Chromium's builtins + return kaleido::KaleidoMain(argc, argv); } diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 11a89f32..47c88ab8 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -98,6 +98,83 @@ void Kaleido::Shutdown() { // HeadlessChildMain // HEADLESS_USE_CRASHPAD -> kCrashpadHandler +int KaleidoMain(int argc, const char** argv) { + content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR + +// LETS CONSTRUCT SANDBOX THAT WE THEN DISABLE +#if BUILDFLAG(IS_WIN) + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; +#if BUILDFLAG(IS_MAC) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); + } +#endif // BUILDFLAG(IS_MAC) +#endif // BUILDFLAG(IS_WIN) + +if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); + // It's a good way to process CommandLine, but is windows really not capable of using it? +#else + base::CommandLine::Init(argc, argv); +#endif // BUILDFLAG(IS_WIN) + + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); + LOG(INFO) << "Process type: " << process_type; + // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility + +#if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } +#endif // defined(HEADLESS_USE_CRASHPAD) + +// BELOW IS A TEMPORARY MUST-REMOVE TEST +#if BUILDFLAG(IS_WIN) +#if defined(HEADLESS_USE_CRASHPAD) + LOG(FATAL) << "crashpad IS used on windows, reactivate comments. Need command_line boilerplate." << std::endl; +#else + LOG(FATAL) << "we can get rid of all crashpad" << std::endl; +#endif +#endif + // Some Logging + LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); + LOG(INFO) << "Args size: " << command_line.GetArgs().size(); + for (const auto &piece : command_line.GetArgs()) { + LOG(INFO) << piece << std::endl; + } + if (!process_type.empty()) { + headless::HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); + base::Process::TerminateCurrentProcessImmediately(rc); + NOTREACHED_IN_MIGRATION(); + } + // So we must be the main process... + +// EXAMPLE SAYS WE (MAC USERS) NEED THIS +#if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); +#endif + + + // Now we're going to start the browser + Kaleido kmanager; + auto browser = std::make_unique( + base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); + headless::HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; + return content::ContentMain(std::move(params)); + // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? +} } // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 7f34a0d3..4ba97cbc 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -3,6 +3,6 @@ namespace kaleido { - class Kaleido; + int KaleidoMain(int argc, const char** argv); } #endif // KALEIDO_H_ From bb25649a932d232978082ef1376dbd8601574054 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 18:09:33 +0000 Subject: [PATCH 210/510] Fix macro typo --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 47c88ab8..d9de14a2 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -117,7 +117,7 @@ int KaleidoMain(int argc, const char** argv) { #endif // BUILDFLAG(IS_MAC) #endif // BUILDFLAG(IS_WIN) -if BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_WIN) base::CommandLine::Init(0, nullptr); // It's a good way to process CommandLine, but is windows really not capable of using it? #else From d43efe82b31c93689cb3291189890910e54b908a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 18:19:58 +0000 Subject: [PATCH 211/510] Factor boilerplate into kaleido_main.cc: And make it part of the dependency. --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 230 +----------------- src/kaleido/cc/126.0.6478.126/kaleido.h | 20 ++ src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 126 ++++++++++ .../gn_fragments/126.0.6478.126/BUILD.gn | 1 + 4 files changed, 148 insertions(+), 229 deletions(-) create mode 100644 src/kaleido/cc/126.0.6478.126/kaleido_main.cc diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index d9de14a2..1ce75287 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -6,67 +6,12 @@ #include "headless/app/kaleido.h" -// Fundamental chromium includes -#include "content/public/app/content_main.h" -#include "headless/lib/headless_content_main_delegate.h" - -// Fundamental utilities -#include "base/logging.h" -#include "base/files/file_util.h" - -#include "build/build_config.h" // IS_WIN and stuff like that - -// Sandbox Includes -#if BUILDFLAG(IS_WIN) -#include "content/public/app/sandbox_helper_win.h" -#include "sandbox/win/src/sandbox_types.h" // nogncheck -#elif BUILDFLAG(IS_MAC) -#include "base/check.h" -#include "sandbox/mac/seatbelt_exec.h" -#endif - -// CLI includes, not sure if using all -#include "base/command_line.h" -#include "base/base_switches.h" -#include "content/public/common/content_switches.h" -#include "headless/public/switches.h" -#if BUILDFLAG(IS_MAC) -#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck -#endif - -// Browser Includes #include "headless/lib/browser/headless_browser_impl.h" #include "headless/public/headless_browser.h" - -#if BUILDFLAG(IS_WIN) -#include "base/strings/utf_string_conversions.h" -#include "components/crash/core/app/crash_switches.h" // nogncheck -#include "components/crash/core/app/run_as_crashpad_handler_win.h" -#include "sandbox/win/src/sandbox_types.h" -#endif - -// Can you clear up deps in build? +#include "base/functional/bind.h" namespace kaleido { -// Kaleido manages a browser and its tabs -class Kaleido { - public: - Kaleido() = default; - - Kaleido(const Kaleido&) = delete; - Kaleido& operator=(const Kaleido&) = delete; - - ~Kaleido() = default; - - void OnBrowserStart(headless::HeadlessBrowser* browser); - - private: - void ShutdownSoon(); - void Shutdown(); - raw_ptr browser_ = nullptr; -}; - void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; ShutdownSoon(); @@ -82,180 +27,7 @@ void Kaleido::Shutdown() { browser_.ExtractAsDangling()->Shutdown(); } -// Much of KaleidoMain is boilerplate taking from headless/app/ example: -// - it starts sandboxes, which may be pointless, but our flags are chaos -// - init_tools flags no sandbox -// - here we initialize it -// - python then turns it off again -// - it is not really necessary -// - it, depending on platform, moves argc and argv towards a HeadlessBrowser instance -// -// It is better not to pass whatever chromium flag into kaleido, -// unless there was a flag specifically for that "--chromium_flags="--whatever=23,-f," etc -// This function will be called several times as several processes are started by the main process -// with a variety of command line flags. -// Filtering out flags may not be reasonable in this case, and some of the switches deleted may be necessary: -// HeadlessChildMain -// HEADLESS_USE_CRASHPAD -> kCrashpadHandler - -int KaleidoMain(int argc, const char** argv) { - content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR - -// LETS CONSTRUCT SANDBOX THAT WE THEN DISABLE -#if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; -#if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } -#endif // BUILDFLAG(IS_MAC) -#endif // BUILDFLAG(IS_WIN) - -#if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); - // It's a good way to process CommandLine, but is windows really not capable of using it? -#else - base::CommandLine::Init(argc, argv); -#endif // BUILDFLAG(IS_WIN) - - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); - LOG(INFO) << "Process type: " << process_type; - // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility - -#if defined(HEADLESS_USE_CRASHPAD) - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } -#endif // defined(HEADLESS_USE_CRASHPAD) - -// BELOW IS A TEMPORARY MUST-REMOVE TEST -#if BUILDFLAG(IS_WIN) -#if defined(HEADLESS_USE_CRASHPAD) - LOG(FATAL) << "crashpad IS used on windows, reactivate comments. Need command_line boilerplate." << std::endl; -#else - LOG(FATAL) << "we can get rid of all crashpad" << std::endl; -#endif -#endif - // Some Logging - LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); - LOG(INFO) << "Args size: " << command_line.GetArgs().size(); - for (const auto &piece : command_line.GetArgs()) { - LOG(INFO) << piece << std::endl; - } - if (!process_type.empty()) { - headless::HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - base::Process::TerminateCurrentProcessImmediately(rc); - NOTREACHED_IN_MIGRATION(); - } - // So we must be the main process... - -// EXAMPLE SAYS WE (MAC USERS) NEED THIS -#if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); -#endif - - - // Now we're going to start the browser - Kaleido kmanager; - auto browser = std::make_unique( - base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); - headless::HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; - return content::ContentMain(std::move(params)); - // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? -} } // namespace kaleido -/* -#include - -#include "base/functional/bind.h" -#include "base/task/thread_pool.h" -#include "build/branding_buildflags.h" -#include "build/build_config.h" -#include "headless/lib/browser/headless_web_contents_impl.h" -#include "headless/public/headless_browser_context.h" -#include "headless/public/headless_web_contents.h" - -#include "net/base/filename_util.h" -#include "url/gurl.h" - - - -namespace kaleido { - -namespace { - -#if BUILDFLAG(IS_WIN) -const wchar_t kAboutBlank[] = L"about:blank"; -#else -const char kAboutBlank[] = "about:blank"; -#endif - - -}; - - - HeadlessBrowserContext::Builder context_builder = - browser_->CreateBrowserContextBuilder(); - - // Create browser context and set it as the default. The default browser - // context is used by the Target.createTarget() DevTools command when no other - // context is given. - HeadlessBrowserContext* browser_context = context_builder.Build(); - browser_->SetDefaultBrowserContext(browser_context); - - const bool devtools_enabled = static_cast(browser) - ->options() - ->DevtoolsServerEnabled(); - - // If no explicit URL is present navigate to about:blank unless we're being - // driven by a debugger. - base::CommandLine::StringVector args = - base::CommandLine::ForCurrentProcess()->GetArgs(); - args.erase( - std::remove(args.begin(), args.end(), base::CommandLine::StringType()), - args.end()); - - if (args.empty() && !devtools_enabled) { - args.push_back(kAboutBlank); - } - - if (args.empty()) { - return; - } - - GURL target_url = ConvertArgumentToURL(args.front()); - HeadlessWebContents::Builder builder( - browser_context->CreateWebContentsBuilder()); - - // If driven by a debugger just open the target page and - // leave expecting the debugger will do what they need. - if (devtools_enabled) { - HeadlessWebContents* web_contents = - builder.SetInitialURL(target_url).Build(); - if (!web_contents) { - LOG(ERROR) << "Navigation to " << target_url << " failed."; - ShutdownSoon(); - } - return; - } - - -} // namespace - -} // namespace headless -*/ diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 4ba97cbc..afc8883f 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -1,8 +1,28 @@ #ifndef KALEIDO_H_ #define KALEIDO_H_ +// Browser Includes +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/public/headless_browser.h" namespace kaleido { int KaleidoMain(int argc, const char** argv); + // Kaleido manages a browser and its tabs + class Kaleido { + public: + Kaleido() = default; + + Kaleido(const Kaleido&) = delete; + Kaleido& operator=(const Kaleido&) = delete; + + ~Kaleido() = default; + + void OnBrowserStart(headless::HeadlessBrowser* browser); + + private: + void ShutdownSoon(); + void Shutdown(); + raw_ptr browser_ = nullptr; + }; } #endif // KALEIDO_H_ diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc new file mode 100644 index 00000000..8e6d662b --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -0,0 +1,126 @@ + +#include "headless/app/kaleido.h" + +// Fundamental chromium includes +#include "content/public/app/content_main.h" +#include "headless/lib/headless_content_main_delegate.h" + +// Fundamental utilities +#include "base/logging.h" +#include "base/files/file_util.h" +#include "base/functional/bind.h" + +#include "build/build_config.h" // IS_WIN and stuff like that + +// Sandbox Includes +#if BUILDFLAG(IS_WIN) +#include "content/public/app/sandbox_helper_win.h" +#include "sandbox/win/src/sandbox_types.h" // nogncheck +#elif BUILDFLAG(IS_MAC) +#include "base/check.h" +#include "sandbox/mac/seatbelt_exec.h" +#endif + +// CLI includes, not sure if using all +#include "base/command_line.h" +#include "base/base_switches.h" +#include "content/public/common/content_switches.h" +#include "headless/public/switches.h" +#if BUILDFLAG(IS_MAC) +#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck +#endif + +// Browser Includes +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/public/headless_browser.h" + +#if BUILDFLAG(IS_WIN) +#include "base/strings/utf_string_conversions.h" +#include "components/crash/core/app/crash_switches.h" // nogncheck +#include "components/crash/core/app/run_as_crashpad_handler_win.h" +#include "sandbox/win/src/sandbox_types.h" +#endif + +// Can you clear up deps in build? +// +namespace kaleido { + +int KaleidoMain(int argc, const char** argv) { + content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR + +// LETS CONSTRUCT SANDBOX THAT WE THEN DISABLE +#if BUILDFLAG(IS_WIN) + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; +#if BUILDFLAG(IS_MAC) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); + } +#endif // BUILDFLAG(IS_MAC) +#endif // BUILDFLAG(IS_WIN) + +#if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); + // It's a good way to process CommandLine, but is windows really not capable of using it? +#else + base::CommandLine::Init(argc, argv); +#endif // BUILDFLAG(IS_WIN) + + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); + LOG(INFO) << "Process type: " << process_type; + // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility + +#if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } +#endif // defined(HEADLESS_USE_CRASHPAD) + +// BELOW IS A TEMPORARY MUST-REMOVE TEST +#if BUILDFLAG(IS_WIN) +#if defined(HEADLESS_USE_CRASHPAD) + LOG(FATAL) << "crashpad IS used on windows, reactivate comments. Need command_line boilerplate." << std::endl; +#else + LOG(FATAL) << "we can get rid of all crashpad" << std::endl; +#endif +#endif + // Some Logging + LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); + LOG(INFO) << "Args size: " << command_line.GetArgs().size(); + for (const auto &piece : command_line.GetArgs()) { + LOG(INFO) << piece << std::endl; + } + if (!process_type.empty()) { + headless::HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); + base::Process::TerminateCurrentProcessImmediately(rc); + NOTREACHED_IN_MIGRATION(); + } + // So we must be the main process... + +// EXAMPLE SAYS WE (MAC USERS) NEED THIS +#if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); +#endif + + + // Now we're going to start the browser + Kaleido kmanager; + auto browser = std::make_unique( + base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); + headless::HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; + return content::ContentMain(std::move(params)); + // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? +} + +} // namespace kaleido diff --git a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn index afe5a4b4..4a1f48b8 100644 --- a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn +++ b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn @@ -2,6 +2,7 @@ static_library("kaleido_lib") { sources = [ "app/kaleido.cc", + "app/kaleido_main.cc", "app/kaleido.h", ] defines = [] From a78e2886f5f23720f238136c58af864a5d4d552a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 18:28:49 +0000 Subject: [PATCH 212/510] Factor our commandline processing --- src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 66 +++++++++++-------- 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index 8e6d662b..b64ff0a8 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -45,24 +45,47 @@ // namespace kaleido { +namespace { + void buildSandbox(content::ContentMainParams); + void processCommandLine(content::ContentMainParams, int argc, const char** argv); +} + + int KaleidoMain(int argc, const char** argv) { - content::ContentMainParams params(nullptr); // TODO WHAT IS THIS REALLY FOR + content::ContentMainParams params(nullptr); + buildSandbox(std::move(params)); + processCommandLine(std::move(params), argc, argv); -// LETS CONSTRUCT SANDBOX THAT WE THEN DISABLE -#if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; -#if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } -#endif // BUILDFLAG(IS_MAC) -#endif // BUILDFLAG(IS_WIN) + // Now we're going to start the browser + Kaleido kmanager; + auto browser = std::make_unique( + base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); + headless::HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; + return content::ContentMain(std::move(params)); + // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? +} + +namespace { + +void buildSandbox(content::ContentMainParams) { + #if BUILDFLAG(IS_WIN) + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; + #if BUILDFLAG(IS_MAC) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); + } + #endif // BUILDFLAG(IS_MAC) + #endif // BUILDFLAG(IS_WIN) +} + +void processCommandLine(content::ContentMainParams params, int argc, const char** argv) { #if BUILDFLAG(IS_WIN) base::CommandLine::Init(0, nullptr); @@ -111,16 +134,7 @@ int KaleidoMain(int argc, const char** argv) { #if BUILDFLAG(IS_MAC) command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); #endif - - - // Now we're going to start the browser - Kaleido kmanager; - auto browser = std::make_unique( - base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); - headless::HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; - return content::ContentMain(std::move(params)); - // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? } +} // namespace } // namespace kaleido From c1869e047ca7a584d9da906e3825b9ed5638eeea Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 18:37:31 +0000 Subject: [PATCH 213/510] Move app into kaleido_main.cc --- src/kaleido/cc/126.0.6478.126/app.cc | 13 ------ src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 7 ++- .../gn_fragments/126.0.6478.126/BUILD.gn | 43 +++++-------------- 3 files changed, 14 insertions(+), 49 deletions(-) delete mode 100644 src/kaleido/cc/126.0.6478.126/app.cc diff --git a/src/kaleido/cc/126.0.6478.126/app.cc b/src/kaleido/cc/126.0.6478.126/app.cc deleted file mode 100644 index dfaf4b78..00000000 --- a/src/kaleido/cc/126.0.6478.126/app.cc +++ /dev/null @@ -1,13 +0,0 @@ -// app.cc -// goals: -// Almost none. We just start up the main kaleido process, see kaleido.cc. - -#include "headless/app/kaleido.h" - - -int main(int argc, const char** argv) { - - // These switches likely to processed at some point - // Browser probably needs to be started to use Chromium's builtins - return kaleido::KaleidoMain(argc, argv); -} diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index b64ff0a8..1ef56c4a 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -43,20 +43,19 @@ // Can you clear up deps in build? // -namespace kaleido { - namespace { void buildSandbox(content::ContentMainParams); void processCommandLine(content::ContentMainParams, int argc, const char** argv); } -int KaleidoMain(int argc, const char** argv) { +int main(int argc, const char** argv) { content::ContentMainParams params(nullptr); buildSandbox(std::move(params)); processCommandLine(std::move(params), argc, argv); // Now we're going to start the browser + using kaleido::Kaleido; Kaleido kmanager; auto browser = std::make_unique( base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); @@ -66,6 +65,7 @@ int KaleidoMain(int argc, const char** argv) { // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? } + namespace { void buildSandbox(content::ContentMainParams) { @@ -137,4 +137,3 @@ void processCommandLine(content::ContentMainParams params, int argc, const char* } } // namespace -} // namespace kaleido diff --git a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn index 4a1f48b8..81ca25f1 100644 --- a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn +++ b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn @@ -1,5 +1,5 @@ ### FOR KALEIDO ### -static_library("kaleido_lib") { +executable("kaleido") { sources = [ "app/kaleido.cc", "app/kaleido_main.cc", @@ -12,6 +12,9 @@ static_library("kaleido_lib") { "lib/utility/headless_content_utility_client.h", ] } + if (proprietary_codecs) { + deps += [ ":generate_headless_shell_license_file" ] + } deps = [ "//build:branding_buildflags", "//components/devtools/simple_devtools_protocol_client", @@ -52,47 +55,23 @@ static_library("kaleido_lib") { "//components/crash/core/app:run_as_crashpad_handler", "//content:sandbox_helper_win", "//sandbox", + "//build/win:default_exe_manifest", + "//content/public/app", ] + configs += [ "//build/config/win:delayloads" ] } if (is_mac) { - deps += [ "//components/os_crypt/sync" ] + deps += [ "//components/os_crypt/sync" , + "//sandbox/mac:seatbelt" ] } if (is_win || (is_posix && !is_mac)) { deps += [ "//components/crash/core/app" ] } - configs += [ - ":headless_defines_config", - "//build/config/compiler:wexit_time_destructors", - ] -} - -executable("kaleido") { configs -= [ "//build/config/compiler:thinlto_optimize_default" ] - configs += [ "//build/config/compiler:thinlto_optimize_max" ] - sources = [ "app/app.cc" ] - defines = [] - deps = [ ":kaleido_lib" ] - if (proprietary_codecs) { - deps += [ ":generate_headless_shell_license_file" ] - } - if (!headless_use_embedded_resources) { - data = [ - "$root_out_dir/headless_lib_data.pak", - "$root_out_dir/headless_lib_strings.pak", - ] - } - if (is_win) { - deps += [ - "//build/win:default_exe_manifest", - "//content/public/app", - ] - configs += [ "//build/config/win:delayloads" ] - } - if (is_mac) { - deps += [ "//sandbox/mac:seatbelt" ] - } configs += [ ":headless_defines_config", "//build/config/compiler:wexit_time_destructors", + "//build/config/compiler:thinlto_optimize_max", ] + assert(headless_use_embedded_resources) } From 20778e1c96089b97702f47c25d5571f8db0e939d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 18:40:03 +0000 Subject: [PATCH 214/510] Add notes and indentation --- src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 52 ++++++++----------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index 1ef56c4a..74746edd 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -87,40 +87,35 @@ void buildSandbox(content::ContentMainParams) { void processCommandLine(content::ContentMainParams params, int argc, const char** argv) { -#if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); - // It's a good way to process CommandLine, but is windows really not capable of using it? -#else - base::CommandLine::Init(argc, argv); -#endif // BUILDFLAG(IS_WIN) + #if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); + #else + base::CommandLine::Init(argc, argv); + #endif // BUILDFLAG(IS_WIN) base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); - LOG(INFO) << "Process type: " << process_type; // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility + // could be used to always put on essential switches -#if defined(HEADLESS_USE_CRASHPAD) - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } -#endif // defined(HEADLESS_USE_CRASHPAD) - -// BELOW IS A TEMPORARY MUST-REMOVE TEST -#if BUILDFLAG(IS_WIN) -#if defined(HEADLESS_USE_CRASHPAD) - LOG(FATAL) << "crashpad IS used on windows, reactivate comments. Need command_line boilerplate." << std::endl; -#else - LOG(FATAL) << "we can get rid of all crashpad" << std::endl; -#endif -#endif - // Some Logging LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); LOG(INFO) << "Args size: " << command_line.GetArgs().size(); for (const auto &piece : command_line.GetArgs()) { LOG(INFO) << piece << std::endl; } + + + std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); + LOG(INFO) << "Process type: " << process_type; + + #if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } + #endif // defined(HEADLESS_USE_CRASHPAD) + + // Chromium starts child processes, and we need this to catch them and their flags if (!process_type.empty()) { headless::HeadlessContentMainDelegate delegate(nullptr); params.delegate = &delegate; @@ -130,10 +125,9 @@ void processCommandLine(content::ContentMainParams params, int argc, const char* } // So we must be the main process... -// EXAMPLE SAYS WE (MAC USERS) NEED THIS -#if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); -#endif + #if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); + #endif } } // namespace From 9772cd6694a1c6f01a44237341b8e1bdf7762ad4 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 19:14:05 +0000 Subject: [PATCH 215/510] Make namespaced calls more readable --- src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index 74746edd..97d4474b 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -55,10 +55,11 @@ int main(int argc, const char** argv) { processCommandLine(std::move(params), argc, argv); // Now we're going to start the browser - using kaleido::Kaleido; - Kaleido kmanager; + // Would love to do this inside the constructor but + // ... chromium just hates it. + kaleido::Kaleido kbrowser; auto browser = std::make_unique( - base::BindOnce(&Kaleido::OnBrowserStart, base::Unretained(&kmanager))); + base::BindOnce(&kaleido::Kaleido::OnBrowserStart, base::Unretained(&kbrowser))); headless::HeadlessContentMainDelegate delegate(std::move(browser)); params.delegate = &delegate; return content::ContentMain(std::move(params)); From 4ede0a758327a82b1b5e8e8e7d6e69bed2a403fa Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 19:20:57 +0000 Subject: [PATCH 216/510] Fix verbose flag in build --- toolchain/src/03-ksync.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh index 12c5c30c..a4065ba3 100755 --- a/toolchain/src/03-ksync.sh +++ b/toolchain/src/03-ksync.sh @@ -35,5 +35,5 @@ util_export_version export DEPOT_TOOLS_UPDATE=0 # otherwise it advances to the tip of branch main ## but sometimes it skips other necessary things! Thats why we had init_tools V_FLAG="" -$NO_VERBOSE || V_FLAG="--verbose" -( cd "$MAIN_DIR/vendor/"; gclient sync -D --force "${V_FLAG}" --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG ) +$NO_VERBOSE || V_FLAG=" --verbose" +( cd "$MAIN_DIR/vendor/"; gclient sync -D --force"${V_FLAG}" --reset --no-history --jobs=$CPUS --revision="$CHROMIUM_VERSION_TAG" ) From 46b7b39798badc26cf93a430886416750ce96638 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 16:08:48 -0400 Subject: [PATCH 217/510] Fix verbose in ksync --- toolchain/src/03-ksync.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh index a4065ba3..f7e67c96 100755 --- a/toolchain/src/03-ksync.sh +++ b/toolchain/src/03-ksync.sh @@ -35,5 +35,8 @@ util_export_version export DEPOT_TOOLS_UPDATE=0 # otherwise it advances to the tip of branch main ## but sometimes it skips other necessary things! Thats why we had init_tools V_FLAG="" -$NO_VERBOSE || V_FLAG=" --verbose" -( cd "$MAIN_DIR/vendor/"; gclient sync -D --force"${V_FLAG}" --reset --no-history --jobs=$CPUS --revision="$CHROMIUM_VERSION_TAG" ) +if ! $NO_VERBOSE; then + ( cd "$MAIN_DIR/vendor/"; gclient sync -D --force --verbose --reset --no-history --jobs=$CPUS --revision="$CHROMIUM_VERSION_TAG" ) +else + ( cd "$MAIN_DIR/vendor/"; gclient sync -D --force --reset --no-history --jobs=$CPUS --revision="$CHROMIUM_VERSION_TAG" ) +fi From 1fa35a7e6db0e5f6bb9673fb23bf879033680ce3 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 17 Jul 2024 21:04:58 +0000 Subject: [PATCH 218/510] Add basic JSON interpreter --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 58 ++++++++++++++++++++++-- src/kaleido/cc/126.0.6478.126/kaleido.h | 12 +++-- 2 files changed, 64 insertions(+), 6 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 1ce75287..182e4b18 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -10,11 +10,65 @@ #include "headless/public/headless_browser.h" #include "base/functional/bind.h" +#include "base/logging.h" +#include "base/task/thread_pool.h" + +#include "third_party/abseil-cpp/absl/types/optional.h" +#include +#include "base/json/json_reader.h" + namespace kaleido { +void Kaleido::Kaleido() { + output_sequence = base::ThreadPool::CreateSequencedTaskRunner(); +} void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; - ShutdownSoon(); + // now we have a browser, lets start a sequence of echoing!# + PostListen(); + //ShutdownSoon(); +} + + +void Kaleido::Listen() { + std::string in; + if (!std::getline(std::cin, in).good()) { + std::string eof = std::cin.eof() ? "EOF" : ""; + std::string bad = std::cin.eof() ? "BAD" : "GOOD"; + std::string fail = std::cin.eof() ? "FAIL" : "SUCCESS"; + LOG(INFO) << eof << "|" << bad << "|" << fail << "|" << in; + // TODO: post end to controller, we're shutting down, just let it go.... + return; + } + ReadJSON(in); + PostListen(); +} + +void Kaleido::ReadJSON(std::string &msg) { + absl::optional json = base::JSONReader::Read(msg); + if (!json.has_value()) { + PostEcho("This wasn't valid JSON:\n " + msg); + return; + } + PostEcho("Thanks for the JSON:\n " + msg); + base::Value::Dict &jsonDict = json->GetDict(); + + std::string *operation = jsonDict.FindString("operation"); + if (operation) { + PostEcho("Found operation: " + *operation); // Are all these concates copies? + } else { + PostEcho("No operation"); + } +} + +void Kaleido::PostEcho(const std::string &msg) { + auto echo = [](const std::string &msg){ std::cout << msg << std::endl; } + output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)) +} +void Kaleido::PostListen() { + base::ThreadPool::PostTask( + FROM_HERE, {base::TaskPriority::BEST_EFFORT, base::MayBlock()}, + base::BindOnce(&Kaleido::Listen, base::Unretained(this))); } void Kaleido::ShutdownSoon() { @@ -27,7 +81,5 @@ void Kaleido::Shutdown() { browser_.ExtractAsDangling()->Shutdown(); } - - } // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index afc8883f..d9055d2b 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -10,7 +10,7 @@ namespace kaleido { // Kaleido manages a browser and its tabs class Kaleido { public: - Kaleido() = default; + Kaleido(); Kaleido(const Kaleido&) = delete; Kaleido& operator=(const Kaleido&) = delete; @@ -20,9 +20,15 @@ namespace kaleido { void OnBrowserStart(headless::HeadlessBrowser* browser); private: - void ShutdownSoon(); - void Shutdown(); + void ShutdownSoon(); // shut down browser (it will post it as a task) + void Shutdown(); // shut down + void Listen(); // read stdin + void PostListen(); // post Listen as a task + void PostEcho(const std::string&); // echo something out + void ReadJSON(std::string&); // try to turn message into json object + raw_ptr browser_ = nullptr; + scoped_refptr output_sequence(); }; } #endif // KALEIDO_H_ From d8b6268468127348c430cd39b932b4304f081175 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 18 Jul 2024 01:03:27 +0000 Subject: [PATCH 219/510] Reorganized a but, comments, tabs, interfaces --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 96 ++++++++++++------- src/kaleido/cc/126.0.6478.126/kaleido.h | 38 +++++--- src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 4 +- 3 files changed, 91 insertions(+), 47 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 182e4b18..e92cd2a8 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -6,44 +6,86 @@ #include "headless/app/kaleido.h" +// Browser stuff #include "headless/lib/browser/headless_browser_impl.h" #include "headless/public/headless_browser.h" -#include "base/functional/bind.h" +#include "headless/public/headless_browser_context.h" +// Derp #include "base/logging.h" + +// Callbacks and threads +#include "base/functional/bind.h" #include "base/task/thread_pool.h" +// For JS #include "third_party/abseil-cpp/absl/types/optional.h" #include #include "base/json/json_reader.h" +#include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" + namespace kaleido { +// Constructor will initialize our threads void Kaleido::Kaleido() { - output_sequence = base::ThreadPool::CreateSequencedTaskRunner(); + output_sequence = base::ThreadPool::CreateSequencedTaskRunner(); } + void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; - // now we have a browser, lets start a sequence of echoing!# + + HeadlessBrowserContext::Builder context_builder = + browser_->CreateBrowserContextBuilder(); + + // Create browser context and set it as the default. The default browser + // context is used by the Target.createTarget() DevTools command when no other + // context is given. -- from original example + HeadlessBrowserContext* browser_context = context_builder.Build(); + browser_->SetDefaultBrowserContext(browser_context); + + // We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? + browser_devtools_client_.AttachToBrowser(); + // Okay, lets get the ID browser_devtools_client_.GetTargetId() + // Target.createTarget + // Target.getTargets + // event Target.targetCreated + // Target.closeTarget + // Target.attachToTarget + // Lets try to open a new tab + PostListen(); //ShutdownSoon(); } - -void Kaleido::Listen() { - std::string in; - if (!std::getline(std::cin, in).good()) { - std::string eof = std::cin.eof() ? "EOF" : ""; - std::string bad = std::cin.eof() ? "BAD" : "GOOD"; - std::string fail = std::cin.eof() ? "FAIL" : "SUCCESS"; - LOG(INFO) << eof << "|" << bad << "|" << fail << "|" << in; - // TODO: post end to controller, we're shutting down, just let it go.... - return; +void Kaleido::PostListen() { + if(listening.test_and_set(std::memory_order_relaxed)) return; + auto listen = [](){ + std::string in; + if (!std::getline(std::cin, in).good()) { + LOG(INFO) << in << ": " + << std::cin.eof() ? "EOF | " : "" + << std::cin.eof() ? "BAD | " : "GOOD | " + << std::cin.eof() ? "FAIL" : "SUCCESS"; + // TODO: post end to controller, we're shutting down, just let it go.... + return; + } + ReadJSON(in); + PostListen(); } - ReadJSON(in); - PostListen(); + base::ThreadPool::PostTask( + FROM_HERE, + {base::TaskPriority::BEST_EFFORT, base::MayBlock()}, + base::BindOnce(&listen) + ); } +void Kaleido::PostEcho(const std::string &msg) { + auto echo = [](const std::string &msg){ std::cout << msg << std::endl; } + output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)) +} + + void Kaleido::ReadJSON(std::string &msg) { absl::optional json = base::JSONReader::Read(msg); if (!json.has_value()) { @@ -51,24 +93,14 @@ void Kaleido::ReadJSON(std::string &msg) { return; } PostEcho("Thanks for the JSON:\n " + msg); - base::Value::Dict &jsonDict = json->GetDict(); - - std::string *operation = jsonDict.FindString("operation"); - if (operation) { - PostEcho("Found operation: " + *operation); // Are all these concates copies? - } else { - PostEcho("No operation"); - } -} + base::Value::Dict &jsonDict = json->GetDict(); -void Kaleido::PostEcho(const std::string &msg) { - auto echo = [](const std::string &msg){ std::cout << msg << std::endl; } - output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)) -} -void Kaleido::PostListen() { - base::ThreadPool::PostTask( - FROM_HERE, {base::TaskPriority::BEST_EFFORT, base::MayBlock()}, - base::BindOnce(&Kaleido::Listen, base::Unretained(this))); + std::string *operation = jsonDict.FindString("operation"); + if (operation) { + PostEcho("Found operation: " + *operation); // Are all these concates copies? + } else { + PostEcho("No operation."); + } } void Kaleido::ShutdownSoon() { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index d9055d2b..5684e60c 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -5,30 +5,40 @@ #include "headless/lib/browser/headless_browser_impl.h" #include "headless/public/headless_browser.h" +#include namespace kaleido { - int KaleidoMain(int argc, const char** argv); - // Kaleido manages a browser and its tabs + + // Kaleido manages several threads, basically. + // a) it starts a thread for standard out, so all calls are guarenteed to be ordered class Kaleido { - public: - Kaleido(); + public: + Kaleido(); - Kaleido(const Kaleido&) = delete; - Kaleido& operator=(const Kaleido&) = delete; + Kaleido(const Kaleido&) = delete; + Kaleido& operator=(const Kaleido&) = delete; - ~Kaleido() = default; + ~Kaleido() = default; - void OnBrowserStart(headless::HeadlessBrowser* browser); + void OnBrowserStart(headless::HeadlessBrowser* browser); // this is basically a "main" function + // it's called when chromium is done with all its init stuff - private: - void ShutdownSoon(); // shut down browser (it will post it as a task) - void Shutdown(); // shut down - void Listen(); // read stdin - void PostListen(); // post Listen as a task + private: + + void PostListen(); // read stdin on a task + std::atomic_flag listening = ATOMIC_FLAG_INIT; void PostEcho(const std::string&); // echo something out void ReadJSON(std::string&); // try to turn message into json object + void ShutdownSoon(); // shut down browser (it will post it as a task) + void Shutdown(); // shut down + // a browser raw_ptr browser_ = nullptr; - scoped_refptr output_sequence(); + + // a thread, essentially, for output + scoped_refptr output_sequence(); + + // a devtools client for the _whole_ browser process (not a tab) + SimpleDevToolsProtocolClient browser_devtools_client_; }; } #endif // KALEIDO_H_ diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index 97d4474b..73837062 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -1,4 +1,4 @@ - +// kaleido_main.cc runs main() and includes a lot of google boilerplate. #include "headless/app/kaleido.h" // Fundamental chromium includes @@ -51,7 +51,9 @@ namespace { int main(int argc, const char** argv) { content::ContentMainParams params(nullptr); + buildSandbox(std::move(params)); + processCommandLine(std::move(params), argc, argv); // Now we're going to start the browser From 45b9159897dd866e657bb4f117a55850843724fc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 18 Jul 2024 01:05:22 +0000 Subject: [PATCH 220/510] Add missing ; --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index e92cd2a8..2e6a532c 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -82,7 +82,7 @@ void Kaleido::PostListen() { void Kaleido::PostEcho(const std::string &msg) { auto echo = [](const std::string &msg){ std::cout << msg << std::endl; } - output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)) + output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); } From 7d7963f71f5ef5e1900ad743ffa41784c04359b1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 18 Jul 2024 01:06:34 +0000 Subject: [PATCH 221/510] Lambdas terminate in ; --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 2e6a532c..731a6040 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -69,7 +69,7 @@ void Kaleido::PostListen() { << std::cin.eof() ? "FAIL" : "SUCCESS"; // TODO: post end to controller, we're shutting down, just let it go.... return; - } + }; ReadJSON(in); PostListen(); } @@ -81,7 +81,7 @@ void Kaleido::PostListen() { } void Kaleido::PostEcho(const std::string &msg) { - auto echo = [](const std::string &msg){ std::cout << msg << std::endl; } + auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); } From b896a128758d28344aefb42c20fa57f63324bba7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 18 Jul 2024 01:07:17 +0000 Subject: [PATCH 222/510] Add namespace to devtools clients --- src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 5684e60c..3c126f52 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -38,7 +38,7 @@ namespace kaleido { scoped_refptr output_sequence(); // a devtools client for the _whole_ browser process (not a tab) - SimpleDevToolsProtocolClient browser_devtools_client_; + simple_dev_tools_protocol_client::SimpleDevToolsProtocolClient browser_devtools_client_; }; } #endif // KALEIDO_H_ From 2712d148ed75a71e08f8d45f659713943a9c5319 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 18 Jul 2024 01:10:33 +0000 Subject: [PATCH 223/510] Fix typo in namespace --- src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 3c126f52..01ad60d2 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -38,7 +38,7 @@ namespace kaleido { scoped_refptr output_sequence(); // a devtools client for the _whole_ browser process (not a tab) - simple_dev_tools_protocol_client::SimpleDevToolsProtocolClient browser_devtools_client_; + simple_devtools_protocol_client::SimpleDevToolsProtocolClient browser_devtools_client_; }; } #endif // KALEIDO_H_ From 7e61ed7b58acf1aa74d52307ffe369d1531a0c40 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 18 Jul 2024 02:12:28 +0000 Subject: [PATCH 224/510] Move header to correct file --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 1 - src/kaleido/cc/126.0.6478.126/kaleido.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 731a6040..4b4e51cc 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -23,7 +23,6 @@ #include #include "base/json/json_reader.h" -#include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" namespace kaleido { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 01ad60d2..74b08a20 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -4,6 +4,7 @@ // Browser Includes #include "headless/lib/browser/headless_browser_impl.h" #include "headless/public/headless_browser.h" +#include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" #include namespace kaleido { From e9b17bde64039b1a58069f02c301c43aa6d59643 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 18 Jul 2024 02:13:00 +0000 Subject: [PATCH 225/510] Set defaults explicitly per chromium request --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 5 +++-- src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 4b4e51cc..37342d2e 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -27,9 +27,10 @@ namespace kaleido { // Constructor will initialize our threads -void Kaleido::Kaleido() { - output_sequence = base::ThreadPool::CreateSequencedTaskRunner(); +Kaleido::Kaleido() { + output_sequence = base::ThreadPool::CreateSequencedTaskRunner({base::TaskPriority::USER_VISIBLE}); } +inline Kaleido::~Kaleido() = default; // style guide wont let me do it in .h void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 74b08a20..15cd6801 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -14,11 +14,11 @@ namespace kaleido { class Kaleido { public: Kaleido(); + ~Kaleido(); Kaleido(const Kaleido&) = delete; Kaleido& operator=(const Kaleido&) = delete; - ~Kaleido() = default; void OnBrowserStart(headless::HeadlessBrowser* browser); // this is basically a "main" function // it's called when chromium is done with all its init stuff From a0016196855683e25a93587fb8c734c33a755a09 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 18 Jul 2024 02:13:30 +0000 Subject: [PATCH 226/510] Fix some syntax typos --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 4 ++-- src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 37342d2e..d23e3170 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -35,13 +35,13 @@ inline Kaleido::~Kaleido() = default; // style guide wont let me do it in .h void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; - HeadlessBrowserContext::Builder context_builder = + headless::HeadlessBrowserContext::Builder context_builder = browser_->CreateBrowserContextBuilder(); // Create browser context and set it as the default. The default browser // context is used by the Target.createTarget() DevTools command when no other // context is given. -- from original example - HeadlessBrowserContext* browser_context = context_builder.Build(); + headless::HeadlessBrowserContext* browser_context = context_builder.Build(); browser_->SetDefaultBrowserContext(browser_context); // We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 15cd6801..9f13bc3b 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -36,7 +36,7 @@ namespace kaleido { raw_ptr browser_ = nullptr; // a thread, essentially, for output - scoped_refptr output_sequence(); + scoped_refptr output_sequence; // a devtools client for the _whole_ browser process (not a tab) simple_devtools_protocol_client::SimpleDevToolsProtocolClient browser_devtools_client_; From e0f44cfff79d643fa4fdf29a8141ceb203cbf23c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 18 Jul 2024 02:13:45 +0000 Subject: [PATCH 227/510] Remove lambda function as base::bind lacks support chromium's bind can't deal with bind `this` to a lambda function, only to an actual method, so thats where we are. --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 33 +++++++++++++----------- src/kaleido/cc/126.0.6478.126/kaleido.h | 1 + 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index d23e3170..1db18e01 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -58,26 +58,29 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { //ShutdownSoon(); } +// this is the task, we'd like it to be lambda +// chromium's bind only supports non-capture lambdas +// which wouldn't have access to `this` +void Kaleido::listen() { + std::string in; + if (!std::getline(std::cin, in).good()) { + LOG(INFO) << in << ": " + << (std::cin.eof() ? "EOF | " : "") + << (std::cin.eof() ? "BAD | " : "GOOD | ") + << (std::cin.eof() ? "FAIL" : "SUCCESS"); + // TODO: post end to controller, we're shutting down, just let it go.... + return; + }; + ReadJSON(in); + PostListen(); +} + void Kaleido::PostListen() { if(listening.test_and_set(std::memory_order_relaxed)) return; - auto listen = [](){ - std::string in; - if (!std::getline(std::cin, in).good()) { - LOG(INFO) << in << ": " - << std::cin.eof() ? "EOF | " : "" - << std::cin.eof() ? "BAD | " : "GOOD | " - << std::cin.eof() ? "FAIL" : "SUCCESS"; - // TODO: post end to controller, we're shutting down, just let it go.... - return; - }; - ReadJSON(in); - PostListen(); - } base::ThreadPool::PostTask( FROM_HERE, {base::TaskPriority::BEST_EFFORT, base::MayBlock()}, - base::BindOnce(&listen) - ); + base::BindOnce(&Kaleido::listen, base::Unretained(this))); } void Kaleido::PostEcho(const std::string &msg) { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 9f13bc3b..76ef4136 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -26,6 +26,7 @@ namespace kaleido { private: void PostListen(); // read stdin on a task + void listen(); // see note in .cc, or ignore this std::atomic_flag listening = ATOMIC_FLAG_INIT; void PostEcho(const std::string&); // echo something out void ReadJSON(std::string&); // try to turn message into json object From cb55bae4602beb5029f44024fd921c9c158c8148 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 01:39:23 +0000 Subject: [PATCH 228/510] Remove inline marker- chromum complains --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 1db18e01..a23a0187 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -30,7 +30,8 @@ namespace kaleido { Kaleido::Kaleido() { output_sequence = base::ThreadPool::CreateSequencedTaskRunner({base::TaskPriority::USER_VISIBLE}); } -inline Kaleido::~Kaleido() = default; // style guide wont let me do it in .h + +Kaleido::~Kaleido() {} // style guide wont let me do it in .h void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; From ef2ab0a7914e9c8176e6d53c276d0f45b4178a0a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 02:37:35 +0000 Subject: [PATCH 229/510] Create dispatch subclass shim: Dispatch will be controlling our tabs and jobs --- src/kaleido/cc/126.0.6478.126/DEPS | 1 - src/kaleido/cc/126.0.6478.126/dispatch/DEPS | 4 ++ .../cc/126.0.6478.126/dispatch/dispatch.cc | 14 +++++++ .../cc/126.0.6478.126/dispatch/dispatch.h | 41 +++++++++++++++++++ src/kaleido/cc/126.0.6478.126/kaleido.cc | 14 ++----- src/kaleido/cc/126.0.6478.126/kaleido.h | 13 +++--- .../gn_fragments/126.0.6478.126/BUILD.gn | 32 ++++++++++++--- 7 files changed, 97 insertions(+), 22 deletions(-) create mode 100644 src/kaleido/cc/126.0.6478.126/dispatch/DEPS create mode 100644 src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc create mode 100644 src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h diff --git a/src/kaleido/cc/126.0.6478.126/DEPS b/src/kaleido/cc/126.0.6478.126/DEPS index 7ea04c01..7646185a 100644 --- a/src/kaleido/cc/126.0.6478.126/DEPS +++ b/src/kaleido/cc/126.0.6478.126/DEPS @@ -1,6 +1,5 @@ include_rules = { "+cc/base/switches.h", - "+components/devtools/simple_devtools_protocol_client", "+components/viz/common/switches.h", "+sandbox/mac", } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/DEPS b/src/kaleido/cc/126.0.6478.126/dispatch/DEPS new file mode 100644 index 00000000..84fd89c1 --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/dispatch/DEPS @@ -0,0 +1,4 @@ +include_rules = { + "+components/devtools/simple_devtools_protocol_client", +} + diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc new file mode 100644 index 00000000..206fcd88 --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -0,0 +1,14 @@ + +#include "base/logging.h" +#include "base/functional/bind.h" +#include "headless/app/dispatch/dispatch.h" + +// We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? + +namespace kaleido { + + Dispatch::Dispatch() { + browser_devtools_client_.AttachToBrowser(); + } + +} diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h new file mode 100644 index 00000000..6bc4126d --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -0,0 +1,41 @@ +#ifndef DISPATCH_H_ +#define DISPATCH_H_ + +#include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" + +#include "base/task/sequenced_task_runner.h" + +namespace kaleido { + // probably should be a singleton + class Dispatch { + public: + Dispatch(); + ~Dispatch() = default; + + Dispatch(const Dispatch&) = delete; + Dispatch& operator=(const Dispatch&) = delete; + + private: + // a devtools client for the _whole_ browser process (not a tab) + simple_devtools_protocol_client::SimpleDevToolsProtocolClient browser_devtools_client_; + }; +} + +#endif // DISPATCH_H_ + // We need to some manual devtools client stuff just to see how stuff is different + // --> Create Tab + // --> Queue Job + // --> Get Status + /* + TabDispatch { + freeTabs + busyTabs + QueuedJobs (jobs should also be an object) + Sequence + AddTab + AddJob + */ + + + + diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index a23a0187..69a4fd74 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -35,7 +35,7 @@ Kaleido::~Kaleido() {} // style guide wont let me do it in .h void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; - + dispatch = std::make_unique(); headless::HeadlessBrowserContext::Builder context_builder = browser_->CreateBrowserContextBuilder(); @@ -45,16 +45,6 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { headless::HeadlessBrowserContext* browser_context = context_builder.Build(); browser_->SetDefaultBrowserContext(browser_context); - // We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? - browser_devtools_client_.AttachToBrowser(); - // Okay, lets get the ID browser_devtools_client_.GetTargetId() - // Target.createTarget - // Target.getTargets - // event Target.targetCreated - // Target.closeTarget - // Target.attachToTarget - // Lets try to open a new tab - PostListen(); //ShutdownSoon(); } @@ -105,6 +95,8 @@ void Kaleido::ReadJSON(std::string &msg) { } else { PostEcho("No operation."); } + // Really no arbitrary strings to PostEcho TODO + } void Kaleido::ShutdownSoon() { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 76ef4136..4a229056 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -1,16 +1,19 @@ #ifndef KALEIDO_H_ #define KALEIDO_H_ +#include // Browser Includes #include "headless/lib/browser/headless_browser_impl.h" #include "headless/public/headless_browser.h" -#include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" -#include +#include "base/task/sequenced_task_runner.h" +#include "headless/app/dispatch/dispatch.h" + namespace kaleido { // Kaleido manages several threads, basically. // a) it starts a thread for standard out, so all calls are guarenteed to be ordered + // probably should be a singleton class Kaleido { public: Kaleido(); @@ -19,7 +22,6 @@ namespace kaleido { Kaleido(const Kaleido&) = delete; Kaleido& operator=(const Kaleido&) = delete; - void OnBrowserStart(headless::HeadlessBrowser* browser); // this is basically a "main" function // it's called when chromium is done with all its init stuff @@ -39,8 +41,9 @@ namespace kaleido { // a thread, essentially, for output scoped_refptr output_sequence; - // a devtools client for the _whole_ browser process (not a tab) - simple_devtools_protocol_client::SimpleDevToolsProtocolClient browser_devtools_client_; + // our tab dispatch, our actual browser controller + std::unique_ptr dispatch = nullptr; + }; } #endif // KALEIDO_H_ diff --git a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn index 81ca25f1..ce13d835 100644 --- a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn +++ b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn @@ -1,10 +1,33 @@ ### FOR KALEIDO ### + +# probably shouldn't be in app/ +# but kaleido should not be in headless/ +# if we're organized to OCD levels +# but this is intuitive, so its fine +static_library("dispatch") { + sources = [ + "app/dispatch/dispatch.cc", + "app/dispatch/dispatch.h", + ] + defines = [] + deps = [ + "//components/devtools/simple_devtools_protocol_client", + ] + + public_deps = [ + "//base", + ] +} + executable("kaleido") { sources = [ "app/kaleido.cc", "app/kaleido_main.cc", "app/kaleido.h", ] + deps = [ + ":dispatch", + ] defines = [] if (!is_component_build) { sources += [ @@ -12,12 +35,8 @@ executable("kaleido") { "lib/utility/headless_content_utility_client.h", ] } - if (proprietary_codecs) { - deps += [ ":generate_headless_shell_license_file" ] - } - deps = [ + deps += [ "//build:branding_buildflags", - "//components/devtools/simple_devtools_protocol_client", "//components/embedder_support", "//components/policy/content", "//components/security_state/content", @@ -29,6 +48,9 @@ executable("kaleido") { "//content/public/utility", "//printing/buildflags", ] + if (proprietary_codecs) { + deps += [ ":generate_headless_shell_license_file" ] + } public_deps = [ ":headless_non_renderer", "//base", From 4bee382b0c39082c0517e2081455ff89e3a45b99 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 02:43:06 +0000 Subject: [PATCH 230/510] Add task runner to dispatch --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 6 +++++- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 206fcd88..d3ff09c2 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -3,12 +3,16 @@ #include "base/functional/bind.h" #include "headless/app/dispatch/dispatch.h" +// Callbacks and threads +#include "base/functional/bind.h" +#include "base/task/thread_pool.h" // We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? namespace kaleido { Dispatch::Dispatch() { browser_devtools_client_.AttachToBrowser(); + job_line = base::ThreadPool::CreateSequencedTaskRunner({base::TaskPriority::USER_VISIBLE}); } - + Dispatch::~Dispatch() = default; } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 6bc4126d..87f35ee8 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -10,7 +10,7 @@ namespace kaleido { class Dispatch { public: Dispatch(); - ~Dispatch() = default; + ~Dispatch(); Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; @@ -18,6 +18,7 @@ namespace kaleido { private: // a devtools client for the _whole_ browser process (not a tab) simple_devtools_protocol_client::SimpleDevToolsProtocolClient browser_devtools_client_; + scoped_refptr job_line; }; } From fa7371dc7f0caf9cbbcaea84974b1e165ddd7980 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 03:57:51 +0000 Subject: [PATCH 231/510] Add queue and shim for posting tasks --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 4 ++++ src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index d3ff09c2..12bde346 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -15,4 +15,8 @@ namespace kaleido { job_line = base::ThreadPool::CreateSequencedTaskRunner({base::TaskPriority::USER_VISIBLE}); } Dispatch::~Dispatch() = default; + + void Dispatch::createTab() { + // + } } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 87f35ee8..88c88141 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -1,6 +1,8 @@ #ifndef DISPATCH_H_ #define DISPATCH_H_ +#include + #include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" #include "base/task/sequenced_task_runner.h" @@ -14,13 +16,25 @@ namespace kaleido { Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; + inline void CreateTab() { job_line->PostTask(FROM_HERE, base::BindOnce(&Dispatch::createTab, base::Unretained(this))); } private: // a devtools client for the _whole_ browser process (not a tab) simple_devtools_protocol_client::SimpleDevToolsProtocolClient browser_devtools_client_; scoped_refptr job_line; + + std::queue tabs; + void createTab(); }; } + // What do we need to initialize with the browser? (look at python) + // What does it manage for us? + + // We need to create at least one tab right away. SessionId MessageId? + // We need to put that tab on the not busy Q + // We can, if we want, run CheckForWork which looks for jobs and free tabs. + // We have no concept of jobs and free tabs yet tho. + // We probably at this point need to finish the rest of the build #endif // DISPATCH_H_ // We need to some manual devtools client stuff just to see how stuff is different From 3e4065a2b832ddd6f615f56573cbcdf3a63390a0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 05:11:58 +0000 Subject: [PATCH 232/510] Fix up control flow of initialization --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 11 +++++++++-- src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 6 +++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 69a4fd74..de791c35 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -28,12 +28,19 @@ namespace kaleido { // Constructor will initialize our threads Kaleido::Kaleido() { - output_sequence = base::ThreadPool::CreateSequencedTaskRunner({base::TaskPriority::USER_VISIBLE}); + // Fake constructor + // We have to build a Browser and ContentMain, both from chromium, + // before we can use any of their APIs more or less. + // And we can do either of those things there because Chromium + // gets v angry. } -Kaleido::~Kaleido() {} // style guide wont let me do it in .h +Kaleido::~Kaleido() = default; // compiler enforced style guide wont let me do it in .h void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { + output_sequence = base::ThreadPool::CreateSequencedTaskRunner( + {base::TaskPriority::USER_VISIBLE} + ); browser_ = browser; dispatch = std::make_unique(); headless::HeadlessBrowserContext::Builder context_builder = diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index 73837062..d9428275 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -65,7 +65,11 @@ int main(int argc, const char** argv) { headless::HeadlessContentMainDelegate delegate(std::move(browser)); params.delegate = &delegate; return content::ContentMain(std::move(params)); - // return EXIT_FAILURE; // save for future use, where does EXIT_FAILURE come from? + // My main problem is that I don't know how to properly end this processes and all of its children. + // Are we making zombies? Does chrome keep on running? + // I very much like "ending parent process ends all spawned processes" + // And I'm not sure I'll get that here. + // Shutting down the browser shuts down everything though, so I should trap SIGTERM at least. } From ea5002d5947422b74e5ec27de72c60d8616f328e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 05:13:57 +0000 Subject: [PATCH 233/510] Build first createTab method --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 15 ++++++++-- .../cc/126.0.6478.126/dispatch/dispatch.h | 30 +++++++++++++++---- 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 12bde346..0d816dd6 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -16,7 +16,18 @@ namespace kaleido { } Dispatch::~Dispatch() = default; - void Dispatch::createTab() { - // + void Dispatch::createTab1(const std::string &url) { + base::Value::Dict params; + params.Set("url", url); + browser_devtools_client_.SendCommand("Target.createTarget", + std::move(params), + base::BindOnce(&Dispatch::createTab2, base::Unretained(this))); + // Note: You may think "good place for BindRepeating, we can reuse that instead of calling BindOnce everytime!" + // Yes, but the time saved at runtime is trivial and negative^2 impact on readability. + + //new unique_ptr to simpleDevtoolsClient browser_devtools_client_.CreateSession(sId); + } + void Dispatch::createTab2(base::Value::Dict result) { + } } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 88c88141..9a0fcd60 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -8,7 +8,25 @@ #include "base/task/sequenced_task_runner.h" namespace kaleido { - // probably should be a singleton + using namespace simple_devtools_protocol_client; + // probably should be a singleton, could use static, make_unique, etc + + // This class interacts with several child processes, and all dispatching + // must occur one after another to maintain memory consistency among several objects. + // Therefore, public members are just inline wrappers to post the proper task + // onto the one thread (job_line). E.g. CreateTab() posts createTab() onto job_line. + // Concurrency management becomes an implementation detail while the public API is + // guarenteed to be executed in call-order, but results can come in out-of-order + // as tasks are done in parallel and some finish early. + // Sadly, callback hell persists in google's chromium. + // DevTools is an asynchronous IPC messaging platform, their internal API uses callbacks, + // not pubsub, nor blockable coroutines- just callbacks without async/await to linearize + // the architecture. So how do we make it easier to read? I can't use lambda functions because + // lambda functions + class methods don't mix w/ google's callback utilities. + // A full state machine that manages callbacks as subroutines would + // be absurdly out of scope, as would mixing in a pubsub structure. + // + // Ergo, patterns like createTab1, createTab2, ...3, clarify the chain of a single concept. class Dispatch { public: Dispatch(); @@ -16,15 +34,17 @@ namespace kaleido { Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; - inline void CreateTab() { job_line->PostTask(FROM_HERE, base::BindOnce(&Dispatch::createTab, base::Unretained(this))); } + inline void CreateTab(const std::string &url = "") { job_line->PostTask(FROM_HERE, + base::BindOnce(&Dispatch::createTab1, base::Unretained(this), url)); } private: // a devtools client for the _whole_ browser process (not a tab) - simple_devtools_protocol_client::SimpleDevToolsProtocolClient browser_devtools_client_; + SimpleDevToolsProtocolClient browser_devtools_client_; scoped_refptr job_line; - std::queue tabs; - void createTab(); + std::queue> tabs; + void createTab1(const std::string &url); + void createTab2(base::Value::Dict); }; } // What do we need to initialize with the browser? (look at python) From 329e7354bc37f31f8ff558f7068ee4fbe6f280a9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 06:02:14 +0000 Subject: [PATCH 234/510] Add notes from 2 hours of work --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 3 ++- src/kaleido/cc/126.0.6478.126/kaleido.h | 5 +++-- src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index de791c35..98ececf3 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -4,6 +4,8 @@ // * start up the tab manager // * start up the IO thread +#include + #include "headless/app/kaleido.h" // Browser stuff @@ -25,7 +27,6 @@ namespace kaleido { - // Constructor will initialize our threads Kaleido::Kaleido() { // Fake constructor diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 4a229056..20808ef2 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -13,7 +13,8 @@ namespace kaleido { // Kaleido manages several threads, basically. // a) it starts a thread for standard out, so all calls are guarenteed to be ordered - // probably should be a singleton + // probably should be a singleton, non-trivial work, would allows catching SIGINT and SIGTERM + // could also do global browser.. class Kaleido { public: Kaleido(); @@ -36,7 +37,7 @@ namespace kaleido { void Shutdown(); // shut down // a browser - raw_ptr browser_ = nullptr; + raw_ptr browser_; // a thread, essentially, for output scoped_refptr output_sequence; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index d9428275..69cdfd84 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -70,6 +70,7 @@ int main(int argc, const char** argv) { // I very much like "ending parent process ends all spawned processes" // And I'm not sure I'll get that here. // Shutting down the browser shuts down everything though, so I should trap SIGTERM at least. + // But can't without making kaleido a singleton } From 7124e5717707949e543a0c5db199b06f82a6aca2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 07:21:45 +0000 Subject: [PATCH 235/510] Save work --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 35 +++++++++++++------ .../cc/126.0.6478.126/dispatch/dispatch.h | 12 ++++--- src/kaleido/cc/126.0.6478.126/kaleido.cc | 1 + 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 0d816dd6..0917253e 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -6,6 +6,7 @@ // Callbacks and threads #include "base/functional/bind.h" #include "base/task/thread_pool.h" +#include "base/task/bind_post_task.h" // We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? namespace kaleido { @@ -16,18 +17,32 @@ namespace kaleido { } Dispatch::~Dispatch() = default; - void Dispatch::createTab1(const std::string &url) { - base::Value::Dict params; - params.Set("url", url); - browser_devtools_client_.SendCommand("Target.createTarget", - std::move(params), - base::BindOnce(&Dispatch::createTab2, base::Unretained(this))); - // Note: You may think "good place for BindRepeating, we can reuse that instead of calling BindOnce everytime!" - // Yes, but the time saved at runtime is trivial and negative^2 impact on readability. + void Dispatch::createTab1_createTarget(const std::string &url) { + LOG(INFO) << "Creating target."; + base::Value::Dict params; + params.Set("url", url); + auto cb = base::BindOnce(&Dispatch::createTab2_attachTarget, base::Unretained(this)); + browser_devtools_client_.SendCommand("Target.createTarget", + std::move(params), + base::BindPostTask(job_line, std::move(cb))); + // Note: You may think "good place for BindRepeating, we can reuse that instead of calling BindOnce everytime!" + // Yes, but the time saved at runtime is trivial and negative^2 impact on readability. - //new unique_ptr to simpleDevtoolsClient browser_devtools_client_.CreateSession(sId); } - void Dispatch::createTab2(base::Value::Dict result) { + void Dispatch::createTab2_attachTarget(base::Value::Dict result) { + LOG(INFO) << "Reading Target.createTarget response"; + std::string *targetId = result.FindString("targetId"); + if (targetId) { + LOG(INFO) << "Created target."; + } else { + LOG(INFO) << "Failed to create target."; + } + } + void Dispatch::createTab3_storeSession(base::Value::Dict result) { + // get targetid and attach } + + // createTarget + // attachToTarget } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 9a0fcd60..635d0fec 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -26,7 +26,7 @@ namespace kaleido { // A full state machine that manages callbacks as subroutines would // be absurdly out of scope, as would mixing in a pubsub structure. // - // Ergo, patterns like createTab1, createTab2, ...3, clarify the chain of a single concept. + // Ergo, patterns like createTab1_description, createTab2_description clarify the concepts. class Dispatch { public: Dispatch(); @@ -34,8 +34,9 @@ namespace kaleido { Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; - inline void CreateTab(const std::string &url = "") { job_line->PostTask(FROM_HERE, - base::BindOnce(&Dispatch::createTab1, base::Unretained(this), url)); } + inline void CreateTab(const std::string &url = "") { + job_line->PostTask(FROM_HERE, base::BindOnce( + &Dispatch::createTab1_createTarget, base::Unretained(this), url)); } private: // a devtools client for the _whole_ browser process (not a tab) @@ -43,8 +44,9 @@ namespace kaleido { scoped_refptr job_line; std::queue> tabs; - void createTab1(const std::string &url); - void createTab2(base::Value::Dict); + void createTab1_createTarget(const std::string &url); + void createTab2_attachTarget(base::Value::Dict); + void createTab3_storeSession(base::Value::Dict); }; } // What do we need to initialize with the browser? (look at python) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 98ececf3..4a1dc2aa 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -53,6 +53,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { headless::HeadlessBrowserContext* browser_context = context_builder.Build(); browser_->SetDefaultBrowserContext(browser_context); + dispatch->CreateTab(); PostListen(); //ShutdownSoon(); } From 65a2d73dbe6e795f1dc49a7356abbdb9ec8ea42e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 07:24:07 +0000 Subject: [PATCH 236/510] Remove concurrency --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 5 ++++- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 0917253e..728e0832 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -24,7 +24,7 @@ namespace kaleido { auto cb = base::BindOnce(&Dispatch::createTab2_attachTarget, base::Unretained(this)); browser_devtools_client_.SendCommand("Target.createTarget", std::move(params), - base::BindPostTask(job_line, std::move(cb))); + std::move(cb)); // Note: You may think "good place for BindRepeating, we can reuse that instead of calling BindOnce everytime!" // Yes, but the time saved at runtime is trivial and negative^2 impact on readability. @@ -35,6 +35,9 @@ namespace kaleido { if (targetId) { LOG(INFO) << "Created target."; } else { + if (result.FindString("error")) { + LOG(INFO) << "Found error"; + } LOG(INFO) << "Failed to create target."; } } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 635d0fec..14983d12 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -27,6 +27,7 @@ namespace kaleido { // be absurdly out of scope, as would mixing in a pubsub structure. // // Ergo, patterns like createTab1_description, createTab2_description clarify the concepts. + // class Dispatch { public: Dispatch(); @@ -34,9 +35,8 @@ namespace kaleido { Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; - inline void CreateTab(const std::string &url = "") { - job_line->PostTask(FROM_HERE, base::BindOnce( - &Dispatch::createTab1_createTarget, base::Unretained(this), url)); } + inline void CreateTab(const std::string &url = "") { createTab1_createTarget(url); } + private: // a devtools client for the _whole_ browser process (not a tab) From 100943cf936da013da621b3b032f6d78fb0562cc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 07:25:18 +0000 Subject: [PATCH 237/510] Revert "Remove concurrency" This reverts commit 65a2d73dbe6e795f1dc49a7356abbdb9ec8ea42e. --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 5 +---- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 6 +++--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 728e0832..0917253e 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -24,7 +24,7 @@ namespace kaleido { auto cb = base::BindOnce(&Dispatch::createTab2_attachTarget, base::Unretained(this)); browser_devtools_client_.SendCommand("Target.createTarget", std::move(params), - std::move(cb)); + base::BindPostTask(job_line, std::move(cb))); // Note: You may think "good place for BindRepeating, we can reuse that instead of calling BindOnce everytime!" // Yes, but the time saved at runtime is trivial and negative^2 impact on readability. @@ -35,9 +35,6 @@ namespace kaleido { if (targetId) { LOG(INFO) << "Created target."; } else { - if (result.FindString("error")) { - LOG(INFO) << "Found error"; - } LOG(INFO) << "Failed to create target."; } } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 14983d12..635d0fec 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -27,7 +27,6 @@ namespace kaleido { // be absurdly out of scope, as would mixing in a pubsub structure. // // Ergo, patterns like createTab1_description, createTab2_description clarify the concepts. - // class Dispatch { public: Dispatch(); @@ -35,8 +34,9 @@ namespace kaleido { Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; - inline void CreateTab(const std::string &url = "") { createTab1_createTarget(url); } - + inline void CreateTab(const std::string &url = "") { + job_line->PostTask(FROM_HERE, base::BindOnce( + &Dispatch::createTab1_createTarget, base::Unretained(this), url)); } private: // a devtools client for the _whole_ browser process (not a tab) From c0fb9db06162674fca926f474497477bd8bf3899 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 08:03:21 +0000 Subject: [PATCH 238/510] Revert "Revert "Remove concurrency"" This reverts commit 100943cf936da013da621b3b032f6d78fb0562cc. --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 5 ++++- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 0917253e..728e0832 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -24,7 +24,7 @@ namespace kaleido { auto cb = base::BindOnce(&Dispatch::createTab2_attachTarget, base::Unretained(this)); browser_devtools_client_.SendCommand("Target.createTarget", std::move(params), - base::BindPostTask(job_line, std::move(cb))); + std::move(cb)); // Note: You may think "good place for BindRepeating, we can reuse that instead of calling BindOnce everytime!" // Yes, but the time saved at runtime is trivial and negative^2 impact on readability. @@ -35,6 +35,9 @@ namespace kaleido { if (targetId) { LOG(INFO) << "Created target."; } else { + if (result.FindString("error")) { + LOG(INFO) << "Found error"; + } LOG(INFO) << "Failed to create target."; } } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 635d0fec..14983d12 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -27,6 +27,7 @@ namespace kaleido { // be absurdly out of scope, as would mixing in a pubsub structure. // // Ergo, patterns like createTab1_description, createTab2_description clarify the concepts. + // class Dispatch { public: Dispatch(); @@ -34,9 +35,8 @@ namespace kaleido { Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; - inline void CreateTab(const std::string &url = "") { - job_line->PostTask(FROM_HERE, base::BindOnce( - &Dispatch::createTab1_createTarget, base::Unretained(this), url)); } + inline void CreateTab(const std::string &url = "") { createTab1_createTarget(url); } + private: // a devtools client for the _whole_ browser process (not a tab) From c3462fc928bf1b350fcbaf2264a77eecbeb83a58 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 08:37:49 +0000 Subject: [PATCH 239/510] Use devtools to open a tab --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 37 +++++++++++++------ .../cc/126.0.6478.126/dispatch/dispatch.h | 11 +----- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 728e0832..90609075 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -18,7 +18,6 @@ namespace kaleido { Dispatch::~Dispatch() = default; void Dispatch::createTab1_createTarget(const std::string &url) { - LOG(INFO) << "Creating target."; base::Value::Dict params; params.Set("url", url); auto cb = base::BindOnce(&Dispatch::createTab2_attachTarget, base::Unretained(this)); @@ -29,21 +28,35 @@ namespace kaleido { // Yes, but the time saved at runtime is trivial and negative^2 impact on readability. } - void Dispatch::createTab2_attachTarget(base::Value::Dict result) { - LOG(INFO) << "Reading Target.createTarget response"; - std::string *targetId = result.FindString("targetId"); - if (targetId) { - LOG(INFO) << "Created target."; - } else { - if (result.FindString("error")) { - LOG(INFO) << "Found error"; + void Dispatch::createTab2_attachTarget(base::Value::Dict msg) { + base::Value::Dict *result = msg.FindDict("result"); + if (result) { + std::string *tId = result->FindString("targetId"); + if (tId) { + base::Value::Dict params; + params.Set("flatten", true); + params.Set("targetId", *tId); + auto cb = base::BindOnce(&Dispatch::createTab3_storeSession, base::Unretained(this)); + browser_devtools_client_.SendCommand("Target.attachToTarget", + std::move(params), + std::move(cb)); + return; } - LOG(INFO) << "Failed to create target."; } + LOG(ERROR) << "Failure to create target"; } - void Dispatch::createTab3_storeSession(base::Value::Dict result) { - // get targetid and attach + void Dispatch::createTab3_storeSession(base::Value::Dict msg) { + base::Value::Dict *result = msg.FindDict("result"); + if (result) { + std::string *sId = result->FindString("sessionId"); + if (sId) { + LOG(INFO) << "Created."; + tabs.push(browser_devtools_client_.CreateSession(*sId)); // Todo get it pushed + return; + } + } + LOG(ERROR) << "Failure to create target"; } // createTarget diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 14983d12..0ba1d391 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -11,20 +11,13 @@ namespace kaleido { using namespace simple_devtools_protocol_client; // probably should be a singleton, could use static, make_unique, etc - // This class interacts with several child processes, and all dispatching - // must occur one after another to maintain memory consistency among several objects. - // Therefore, public members are just inline wrappers to post the proper task - // onto the one thread (job_line). E.g. CreateTab() posts createTab() onto job_line. - // Concurrency management becomes an implementation detail while the public API is - // guarenteed to be executed in call-order, but results can come in out-of-order - // as tasks are done in parallel and some finish early. // Sadly, callback hell persists in google's chromium. // DevTools is an asynchronous IPC messaging platform, their internal API uses callbacks, - // not pubsub, nor blockable coroutines- just callbacks without async/await to linearize + // not blockable coroutines- just callbacks without async/await to linearize // the architecture. So how do we make it easier to read? I can't use lambda functions because // lambda functions + class methods don't mix w/ google's callback utilities. // A full state machine that manages callbacks as subroutines would - // be absurdly out of scope, as would mixing in a pubsub structure. + // be absurdly out of scope. // // Ergo, patterns like createTab1_description, createTab2_description clarify the concepts. // From 97b385141fbd0b9f63ab8100efa993ca5473191f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 16:21:58 +0000 Subject: [PATCH 240/510] Finish 4 task for createTab- store --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 20 +++++++-- .../cc/126.0.6478.126/dispatch/dispatch.h | 41 ++++++++----------- 2 files changed, 33 insertions(+), 28 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 90609075..edb61bed 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -46,19 +46,31 @@ namespace kaleido { LOG(ERROR) << "Failure to create target"; } - void Dispatch::createTab3_storeSession(base::Value::Dict msg) { + void Dispatch::createTab3_startSession(base::Value::Dict msg) { base::Value::Dict *result = msg.FindDict("result"); if (result) { std::string *sId = result->FindString("sessionId"); if (sId) { LOG(INFO) << "Created."; - tabs.push(browser_devtools_client_.CreateSession(*sId)); // Todo get it pushed + job_line->PostTask( + FROM_HERE, + {base::TaskPriority::BEST_EFFORT}, + base::BindOnce( + &Kaleido::createTab4_storeSession, + base::Unretained(this), + std::move(browser_devtools_client_.CreateSession(*sId)); + )); + tabs.push(browser_devtools_client_.CreateSession(*sId)); return; } } LOG(ERROR) << "Failure to create target"; } - // createTarget - // attachToTarget + void Dispatch::createTab4_storeSession(std::unique_ptr newTab) { + // We could run one command here to see if it is valid, it should be valid! + // At some point we need to concern ourselves with failure paths. + tabs.push(newTab); + } + } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 0ba1d391..24799d31 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -19,7 +19,8 @@ namespace kaleido { // A full state machine that manages callbacks as subroutines would // be absurdly out of scope. // - // Ergo, patterns like createTab1_description, createTab2_description clarify the concepts. + // Ergo, patterns like createTab1_desc(), createTab2_desc() clarify the concepts, + // the process started by a CreateTab() public call. // class Dispatch { public: @@ -34,37 +35,29 @@ namespace kaleido { private: // a devtools client for the _whole_ browser process (not a tab) SimpleDevToolsProtocolClient browser_devtools_client_; - scoped_refptr job_line; + // Represent connections to a tab std::queue> tabs; + + // All queue operations happen on a SequencedTaskRunner for memory safety + // Note: no callbacks allowed from within the SequencedTaskRunner + scoped_refptr job_line; + void createTab1_createTarget(const std::string &url); void createTab2_attachTarget(base::Value::Dict); - void createTab3_storeSession(base::Value::Dict); + void createTab3_startSession(base::Value::Dict); + void createTab4_storeSession(std::unique_ptr); // This is a task }; } - // What do we need to initialize with the browser? (look at python) - // What does it manage for us? - - // We need to create at least one tab right away. SessionId MessageId? - // We need to put that tab on the not busy Q - // We can, if we want, run CheckForWork which looks for jobs and free tabs. - // We have no concept of jobs and free tabs yet tho. - // We probably at this point need to finish the rest of the build #endif // DISPATCH_H_ - // We need to some manual devtools client stuff just to see how stuff is different - // --> Create Tab - // --> Queue Job - // --> Get Status - /* - TabDispatch { - freeTabs - busyTabs - QueuedJobs (jobs should also be an object) - Sequence - AddTab - AddJob - */ + + // [x] Create Tab (needs to check for jobs) + // [ ] Link JSON to create tab + // [ ] Get Status + // [ ] Link JSON to Status + // [ ] Queue Job (needs to check for jobs) + // [ ] Check for jobs From 8f1cd721d9a83ebc90bbb9e464f7786fc0782c0e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 17:08:20 +0000 Subject: [PATCH 241/510] Make note of strategies --- src/kaleido/cc/126.0.6478.126/README.md | 68 +++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/kaleido/cc/126.0.6478.126/README.md diff --git a/src/kaleido/cc/126.0.6478.126/README.md b/src/kaleido/cc/126.0.6478.126/README.md new file mode 100644 index 00000000..0f52e60d --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/README.md @@ -0,0 +1,68 @@ + + +# Basic Architecture + +We provide an API on stdin/stdout, expecting JSON, which can + +1. start tabs +2. start jobs on tabs + +``` + all within one c++ executable + ----------------------------------------------------- +Plotly <-- JSON via STDIN/OUT --> [ kaleido <-- SimpleDevToolsClient --> Browser/Tabs ] +``` + +There are three parts: + +1. `kaleido_main()`, which is responsible for inits boilerplate. +2. `Kaleido`, which sits between the user and Dispatch handling IO + some init. +3. `Dispatch`, which manages jobs and tabs. + +# Concurency + +*About Chromium's Model:* + +Chromium uses callbacks and allows posting tasks to protothreads (`Sequence`s). +You can start your own sequences with various `TaskTraits`- pooled, parallel, ordered, etc. +Callbacks registered from `Sequence`s are perilous (point A), and limited tools are provided to +ensure they pass chromium's own race condition checks. `BindPostTask` doesn't always work. + +Chromium highly discourages use of concurrency primitives (spinlocks, mutexes, etc). +It provides no safe messaging interface between tasks or sequences (like +Go's `chan<-`). + +Without the above, memory must be handled from tasks posted to an `OrderedSequence`. +Callback's cannot be registered easily from an `OrderedSequence` (point A). +Combined **you cannot access stateful memory from callbacks.** + +## How it is solved: + +### Output to User + +Requirement: Output to user cannot be mixed- messages must be whole. + +Therefore: All complete messages are tasks posted to a `SequencedTaskRunner` (`output_sequence`). + +Rules: Such a task can be posted from anywhere. + +### Input from User + +The input listener is started in a parallel threadpool. Only one input listener runs, +and it must call itself to restart, ensuring order. + +### SimpleDevToolsClient Tab Comms + +DevTools Protocol uses message/session id labels, internally managed by `SimpleDevToolsClient`. +You register callbacks w/ your requests. Very NodeJS like, no async/await available. + +## Tab Dispatch + +`Dispatch` sends jobs to tabs as tabs free up, using queues to manage. +Most of `SimpleDevToolsClient` cannot be executed on a sequence (sequences +registering callbacks makes Chromium angry). +So while most of `Dispatch`'s methods are a chain of callbacks, the last step in every +chain, which registers no callbacks, will post a task to a sequence (`job_line`), +who will make the actually memory modification in an atomic way relave to other +memory operations. + From cd1cef9d51865100d3949b78dfb4cee8d98e3549 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 17:37:36 +0000 Subject: [PATCH 242/510] Make basic error handling for JSON input --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 67 +++++++++++------------- src/kaleido/cc/126.0.6478.126/kaleido.h | 48 +++++++++++------ 2 files changed, 64 insertions(+), 51 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 4a1dc2aa..c48a7d51 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -27,44 +27,35 @@ namespace kaleido { -// Constructor will initialize our threads -Kaleido::Kaleido() { - // Fake constructor - // We have to build a Browser and ContentMain, both from chromium, - // before we can use any of their APIs more or less. - // And we can do either of those things there because Chromium - // gets v angry. -} - -Kaleido::~Kaleido() = default; // compiler enforced style guide wont let me do it in .h void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { + browser_ = browser; // Global by another name + + // Actual constructor duties, init stuff output_sequence = base::ThreadPool::CreateSequencedTaskRunner( {base::TaskPriority::USER_VISIBLE} - ); - browser_ = browser; - dispatch = std::make_unique(); - headless::HeadlessBrowserContext::Builder context_builder = - browser_->CreateBrowserContextBuilder(); + ); // Can't do this before OnBrowserStart! + + dispatch = std::make_unique(); // Tab manager // Create browser context and set it as the default. The default browser // context is used by the Target.createTarget() DevTools command when no other - // context is given. -- from original example + // context is given. + headless::HeadlessBrowserContext::Builder context_builder = + browser_->CreateBrowserContextBuilder(); headless::HeadlessBrowserContext* browser_context = context_builder.Build(); browser_->SetDefaultBrowserContext(browser_context); + // Run dispatch->CreateTab(); PostListen(); - //ShutdownSoon(); } -// this is the task, we'd like it to be lambda -// chromium's bind only supports non-capture lambdas -// which wouldn't have access to `this` -void Kaleido::listen() { +// Wish this were a lambda (as in PostEcho) but would have no access to private vars +void Kaleido::listenTask() { std::string in; if (!std::getline(std::cin, in).good()) { - LOG(INFO) << in << ": " + LOG(WARNING) << in << ": " << (std::cin.eof() ? "EOF | " : "") << (std::cin.eof() ? "BAD | " : "GOOD | ") << (std::cin.eof() ? "FAIL" : "SUCCESS"); @@ -92,30 +83,34 @@ void Kaleido::PostEcho(const std::string &msg) { void Kaleido::ReadJSON(std::string &msg) { absl::optional json = base::JSONReader::Read(msg); if (!json.has_value()) { - PostEcho("This wasn't valid JSON:\n " + msg); + LOG(WARNING) << "Recieved invalid JSON from client connected to Kaleido:"; + LOG(WARNING) << json.DumpString(); + Api_ErrorInvalidJSON(); return; } - PostEcho("Thanks for the JSON:\n " + msg); base::Value::Dict &jsonDict = json->GetDict(); - + std::string *id = jsonDict.FindInt("id"); std::string *operation = jsonDict.FindString("operation"); - if (operation) { - PostEcho("Found operation: " + *operation); // Are all these concates copies? - } else { - PostEcho("No operation."); + if !(operation && id) { + Api_ErrorMissingBasicFields(); + return; } - // Really no arbitrary strings to PostEcho TODO + if (!messageIds.insert(*id).second) { + Api_ErrorDuplicateId(); + return; + } +} +void Kaleido::Api_ErrorInvalidJSON() { + Kaleido::PostEcho(R"({"error":"malformed JSON string"})"); } -void Kaleido::ShutdownSoon() { - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Kaleido::Shutdown, base::Unretained(this))); +void Kaleido::Api_ErrorMissingBasicFields() { + Kaleido::PostEcho(R"({"error":"all messages must contain an 'id' integer and an 'operation' string"})"); } -void Kaleido::Shutdown() { - browser_.ExtractAsDangling()->Shutdown(); +void Kaleido::Api_ErrorDepulicateId() { + Kaleido::PostEcho(R"({"error":"all messages must contain a unique 'id' integer for the entire session."})"); } } // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 20808ef2..f9c6f196 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -1,7 +1,9 @@ #ifndef KALEIDO_H_ #define KALEIDO_H_ +#include #include + // Browser Includes #include "headless/lib/browser/headless_browser_impl.h" #include "headless/public/headless_browser.h" @@ -11,14 +13,14 @@ namespace kaleido { - // Kaleido manages several threads, basically. - // a) it starts a thread for standard out, so all calls are guarenteed to be ordered - // probably should be a singleton, non-trivial work, would allows catching SIGINT and SIGTERM - // could also do global browser.. + // Kaleido is our app, basically. + // Should be singleton, but non-trivial work + // SIGINT and SIGTERM would be nice + // TODO: For now, they can catch and write a message to shutdown to its own stdin class Kaleido { public: - Kaleido(); - ~Kaleido(); + Kaleido() = default; // OnBrowserStart is the real constructor + ~Kaleido() = default; Kaleido(const Kaleido&) = delete; Kaleido& operator=(const Kaleido&) = delete; @@ -28,23 +30,39 @@ namespace kaleido { private: - void PostListen(); // read stdin on a task - void listen(); // see note in .cc, or ignore this - std::atomic_flag listening = ATOMIC_FLAG_INIT; + // a browser, global basically + raw_ptr browser_; + + // User IO stuff for main + void PostListen(); // continually reads stdin on parallel task + void listenTask(); // see note in .cc, or ignore this + std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call PostListen() once void PostEcho(const std::string&); // echo something out - void ReadJSON(std::string&); // try to turn message into json object - void ShutdownSoon(); // shut down browser (it will post it as a task) - void Shutdown(); // shut down - // a browser - raw_ptr browser_; + std::unordered_set messageIds; // every message must have a unique id + void ReadJSON(std::string&); // try to turn message into json object - // a thread, essentially, for output + // a thread, for making sure output is orderer and messages aren't mixed scoped_refptr output_sequence; // our tab dispatch, our actual browser controller std::unique_ptr dispatch = nullptr; + // JSON Helper functions for creating common messages to user + void Api_ErrorInvalidJSON(); + void Api_ErrorMissingBasicFields(); + void Api_ErrorDepulicateId(); + + + // Control Flow, declare here + void ShutdownSoon() { + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Kaleido::ShutdownTask, base::Unretained(this))); + } + void ShutdownTask() { + browser_.ExtractAsDangling()->Shutdown(); + } }; } #endif // KALEIDO_H_ From 60ad345bc2d91ef8baea393fe6f7d7d054d78714 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 18:12:29 +0000 Subject: [PATCH 243/510] Fix some naming and syntax bugs --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 15 ++++---- src/kaleido/cc/126.0.6478.126/kaleido.cc | 38 ++++++++++--------- src/kaleido/cc/126.0.6478.126/kaleido.h | 19 ++++++---- 3 files changed, 39 insertions(+), 33 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index edb61bed..7532f22e 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -13,7 +13,7 @@ namespace kaleido { Dispatch::Dispatch() { browser_devtools_client_.AttachToBrowser(); - job_line = base::ThreadPool::CreateSequencedTaskRunner({base::TaskPriority::USER_VISIBLE}); + job_line = base::ThreadPool::CreateSequencedTaskRunner({base::TaskPriority::BEST_EFFORT}); } Dispatch::~Dispatch() = default; @@ -36,7 +36,7 @@ namespace kaleido { base::Value::Dict params; params.Set("flatten", true); params.Set("targetId", *tId); - auto cb = base::BindOnce(&Dispatch::createTab3_storeSession, base::Unretained(this)); + auto cb = base::BindOnce(&Dispatch::createTab3_startSession, base::Unretained(this)); browser_devtools_client_.SendCommand("Target.attachToTarget", std::move(params), std::move(cb)); @@ -54,13 +54,12 @@ namespace kaleido { LOG(INFO) << "Created."; job_line->PostTask( FROM_HERE, - {base::TaskPriority::BEST_EFFORT}, base::BindOnce( - &Kaleido::createTab4_storeSession, + &Dispatch::createTab4_storeSession, base::Unretained(this), - std::move(browser_devtools_client_.CreateSession(*sId)); - )); - tabs.push(browser_devtools_client_.CreateSession(*sId)); + browser_devtools_client_.CreateSession(*sId) + ) + ); return; } } @@ -70,7 +69,7 @@ namespace kaleido { void Dispatch::createTab4_storeSession(std::unique_ptr newTab) { // We could run one command here to see if it is valid, it should be valid! // At some point we need to concern ourselves with failure paths. - tabs.push(newTab); + tabs.push(std::move(newTab)); } } diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index c48a7d51..4c4eb6ef 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -28,12 +28,15 @@ namespace kaleido { +Kaleido::Kaleido() = default; // Redefine here or else chromium complains. +Kaleido::~Kaleido() = default; + void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; // Global by another name // Actual constructor duties, init stuff output_sequence = base::ThreadPool::CreateSequencedTaskRunner( - {base::TaskPriority::USER_VISIBLE} + {base::TaskPriority::BEST_EFFORT} ); // Can't do this before OnBrowserStart! dispatch = std::make_unique(); // Tab manager @@ -48,7 +51,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // Run dispatch->CreateTab(); - PostListen(); + StartListen(); } // Wish this were a lambda (as in PostEcho) but would have no access to private vars @@ -63,18 +66,15 @@ void Kaleido::listenTask() { return; }; ReadJSON(in); - PostListen(); + postListenTask(); } -void Kaleido::PostListen() { +void Kaleido::StartListen() { if(listening.test_and_set(std::memory_order_relaxed)) return; - base::ThreadPool::PostTask( - FROM_HERE, - {base::TaskPriority::BEST_EFFORT, base::MayBlock()}, - base::BindOnce(&Kaleido::listen, base::Unretained(this))); + postListenTask(); } -void Kaleido::PostEcho(const std::string &msg) { +void Kaleido::PostEchoTask(const std::string &msg) { auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); } @@ -82,35 +82,37 @@ void Kaleido::PostEcho(const std::string &msg) { void Kaleido::ReadJSON(std::string &msg) { absl::optional json = base::JSONReader::Read(msg); - if (!json.has_value()) { + if (!json) { LOG(WARNING) << "Recieved invalid JSON from client connected to Kaleido:"; - LOG(WARNING) << json.DumpString(); + LOG(WARNING) << msg; Api_ErrorInvalidJSON(); return; } base::Value::Dict &jsonDict = json->GetDict(); - std::string *id = jsonDict.FindInt("id"); + absl::optional id = jsonDict.FindInt("id"); std::string *operation = jsonDict.FindString("operation"); - if !(operation && id) { + if (!operation || !id) { Api_ErrorMissingBasicFields(); return; } - if (!messageIds.insert(*id).second) { + if (!messageIds.insert(*id).second) { Api_ErrorDuplicateId(); return; } + + // Now } void Kaleido::Api_ErrorInvalidJSON() { - Kaleido::PostEcho(R"({"error":"malformed JSON string"})"); + Kaleido::PostEchoTask(R"({"error":"malformed JSON string"})"); } void Kaleido::Api_ErrorMissingBasicFields() { - Kaleido::PostEcho(R"({"error":"all messages must contain an 'id' integer and an 'operation' string"})"); + Kaleido::PostEchoTask(R"({"error":"all messages must contain an 'id' integer and an 'operation' string"})"); } -void Kaleido::Api_ErrorDepulicateId() { - Kaleido::PostEcho(R"({"error":"all messages must contain a unique 'id' integer for the entire session."})"); +void Kaleido::Api_ErrorDuplicateId() { + Kaleido::PostEchoTask(R"({"error":"all messages must contain a unique 'id' integer for the entire session."})"); } } // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index f9c6f196..d68ceecc 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -11,6 +11,8 @@ #include "base/task/sequenced_task_runner.h" #include "headless/app/dispatch/dispatch.h" +#include "base/task/thread_pool.h" + namespace kaleido { // Kaleido is our app, basically. @@ -19,8 +21,8 @@ namespace kaleido { // TODO: For now, they can catch and write a message to shutdown to its own stdin class Kaleido { public: - Kaleido() = default; // OnBrowserStart is the real constructor - ~Kaleido() = default; + Kaleido(); + ~Kaleido(); Kaleido(const Kaleido&) = delete; Kaleido& operator=(const Kaleido&) = delete; @@ -34,10 +36,13 @@ namespace kaleido { raw_ptr browser_; // User IO stuff for main - void PostListen(); // continually reads stdin on parallel task - void listenTask(); // see note in .cc, or ignore this - std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call PostListen() once - void PostEcho(const std::string&); // echo something out + void StartListen(); // continually reads stdin on parallel task + void listenTask(); + inline void postListenTask() { base::ThreadPool::PostTask( + FROM_HERE, {base::TaskPriority::BEST_EFFORT, base::MayBlock()}, + base::BindOnce(&Kaleido::listenTask, base::Unretained(this)));} + std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call postListenTask() once + void PostEchoTask(const std::string&); // echo something out std::unordered_set messageIds; // every message must have a unique id void ReadJSON(std::string&); // try to turn message into json object @@ -51,7 +56,7 @@ namespace kaleido { // JSON Helper functions for creating common messages to user void Api_ErrorInvalidJSON(); void Api_ErrorMissingBasicFields(); - void Api_ErrorDepulicateId(); + void Api_ErrorDuplicateId(); // Control Flow, declare here From c7821f2f59f93de5f1c994cbf9cebfc6426cf545 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 19:26:56 +0000 Subject: [PATCH 244/510] Rectify destructor to prevent segfault --- src/kaleido/cc/126.0.6478.126/README.md | 1 + .../cc/126.0.6478.126/dispatch/dispatch.cc | 15 +++++--- .../cc/126.0.6478.126/dispatch/dispatch.h | 4 ++ src/kaleido/cc/126.0.6478.126/kaleido.cc | 37 +++++++++++++------ src/kaleido/cc/126.0.6478.126/kaleido.h | 13 ++++--- 5 files changed, 48 insertions(+), 22 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/README.md b/src/kaleido/cc/126.0.6478.126/README.md index 0f52e60d..7d3cd36c 100644 --- a/src/kaleido/cc/126.0.6478.126/README.md +++ b/src/kaleido/cc/126.0.6478.126/README.md @@ -27,6 +27,7 @@ Chromium uses callbacks and allows posting tasks to protothreads (`Sequence`s). You can start your own sequences with various `TaskTraits`- pooled, parallel, ordered, etc. Callbacks registered from `Sequence`s are perilous (point A), and limited tools are provided to ensure they pass chromium's own race condition checks. `BindPostTask` doesn't always work. +Maybe try again but BindPostTask a non nestable task? Maybe never use chromium again. Chromium highly discourages use of concurrency primitives (spinlocks, mutexes, etc). It provides no safe messaging interface between tasks or sequences (like diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 7532f22e..8cf1da29 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -13,9 +13,13 @@ namespace kaleido { Dispatch::Dispatch() { browser_devtools_client_.AttachToBrowser(); - job_line = base::ThreadPool::CreateSequencedTaskRunner({base::TaskPriority::BEST_EFFORT}); + job_line = base::ThreadPool::CreateSequencedTaskRunner({ + base::TaskPriority::BEST_EFFORT, + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); + } + Dispatch::~Dispatch() { + browser_devtools_client_.DetachClient(); // How can I ensure it is not in a chain of callbacks to do this } - Dispatch::~Dispatch() = default; void Dispatch::createTab1_createTarget(const std::string &url) { base::Value::Dict params; @@ -43,7 +47,7 @@ namespace kaleido { return; } } - LOG(ERROR) << "Failure to create target"; + LOG(ERROR) << "Failure to create target."; } void Dispatch::createTab3_startSession(base::Value::Dict msg) { @@ -51,7 +55,7 @@ namespace kaleido { if (result) { std::string *sId = result->FindString("sessionId"); if (sId) { - LOG(INFO) << "Created."; + LOG(INFO) << "Target created."; job_line->PostTask( FROM_HERE, base::BindOnce( @@ -63,13 +67,14 @@ namespace kaleido { return; } } - LOG(ERROR) << "Failure to create target"; + LOG(ERROR) << "Failure to create target."; } void Dispatch::createTab4_storeSession(std::unique_ptr newTab) { // We could run one command here to see if it is valid, it should be valid! // At some point we need to concern ourselves with failure paths. tabs.push(std::move(newTab)); + LOG(INFO) << "Targed stored."; } } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 24799d31..7cbeb55c 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -53,6 +53,10 @@ namespace kaleido { #endif // DISPATCH_H_ // [x] Create Tab (needs to check for jobs) + // [ ] Link JSON to shutdown + // [ ] Handle better the signals + // [ ] How to handles errors in callback chain to user + // [ ] How to handle dispatch shut down during callback chain // [ ] Link JSON to create tab // [ ] Get Status // [ ] Link JSON to Status diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 4c4eb6ef..7633f801 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -32,11 +32,11 @@ Kaleido::Kaleido() = default; // Redefine here or else chromium complains. Kaleido::~Kaleido() = default; void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { - browser_ = browser; // Global by another name + browser_ = browser; // global by another name // Actual constructor duties, init stuff output_sequence = base::ThreadPool::CreateSequencedTaskRunner( - {base::TaskPriority::BEST_EFFORT} + {base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN} ); // Can't do this before OnBrowserStart! dispatch = std::make_unique(); // Tab manager @@ -44,8 +44,8 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // Create browser context and set it as the default. The default browser // context is used by the Target.createTarget() DevTools command when no other // context is given. - headless::HeadlessBrowserContext::Builder context_builder = - browser_->CreateBrowserContextBuilder(); + // This stuff has weird side effects and I'm not sure its necessary. + headless::HeadlessBrowserContext::Builder context_builder = browser_->CreateBrowserContextBuilder(); headless::HeadlessBrowserContext* browser_context = context_builder.Build(); browser_->SetDefaultBrowserContext(browser_context); @@ -65,10 +65,18 @@ void Kaleido::listenTask() { // TODO: post end to controller, we're shutting down, just let it go.... return; }; - ReadJSON(in); - postListenTask(); + if (ReadJSON(in)) postListenTask(); } +void Kaleido::postListenTask() { + base::ThreadPool::PostTask( + FROM_HERE, { + base::TaskPriority::BEST_EFFORT, + base::MayBlock(), + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, + base::BindOnce(&Kaleido::listenTask, base::Unretained(this)) + ); +} void Kaleido::StartListen() { if(listening.test_and_set(std::memory_order_relaxed)) return; postListenTask(); @@ -80,27 +88,34 @@ void Kaleido::PostEchoTask(const std::string &msg) { } -void Kaleido::ReadJSON(std::string &msg) { +bool Kaleido::ReadJSON(std::string &msg) { absl::optional json = base::JSONReader::Read(msg); if (!json) { LOG(WARNING) << "Recieved invalid JSON from client connected to Kaleido:"; LOG(WARNING) << msg; Api_ErrorInvalidJSON(); - return; + return true; } base::Value::Dict &jsonDict = json->GetDict(); absl::optional id = jsonDict.FindInt("id"); std::string *operation = jsonDict.FindString("operation"); + // The only operation we handle here. We're shutting down. + // Trust chromium to handle it all when the browser exits + // Doesn't need id, no return + if (operation && *operation == "shutdown") { + ShutdownSoon(); + return false; + } if (!operation || !id) { Api_ErrorMissingBasicFields(); - return; + return true; } if (!messageIds.insert(*id).second) { Api_ErrorDuplicateId(); - return; + return true; } + return true; - // Now } void Kaleido::Api_ErrorInvalidJSON() { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index d68ceecc..94d4399f 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -27,8 +27,9 @@ namespace kaleido { Kaleido(const Kaleido&) = delete; Kaleido& operator=(const Kaleido&) = delete; - void OnBrowserStart(headless::HeadlessBrowser* browser); // this is basically a "main" function - // it's called when chromium is done with all its init stuff + // This is basically a singleton. Could we pass the constructor instead of on browser start? + void OnBrowserStart(headless::HeadlessBrowser* browser); + private: @@ -38,14 +39,12 @@ namespace kaleido { // User IO stuff for main void StartListen(); // continually reads stdin on parallel task void listenTask(); - inline void postListenTask() { base::ThreadPool::PostTask( - FROM_HERE, {base::TaskPriority::BEST_EFFORT, base::MayBlock()}, - base::BindOnce(&Kaleido::listenTask, base::Unretained(this)));} + void postListenTask(); std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call postListenTask() once void PostEchoTask(const std::string&); // echo something out std::unordered_set messageIds; // every message must have a unique id - void ReadJSON(std::string&); // try to turn message into json object + bool ReadJSON(std::string&); // try to turn message into json object // a thread, for making sure output is orderer and messages aren't mixed scoped_refptr output_sequence; @@ -66,6 +65,8 @@ namespace kaleido { base::BindOnce(&Kaleido::ShutdownTask, base::Unretained(this))); } void ShutdownTask() { + LOG(INFO) << "Calling shutdown on browser"; + dispatch.reset(); // Fine to destruct what we have here. browser_.ExtractAsDangling()->Shutdown(); } }; From 97eeabcba929a512a7d03f6321d11597975f8141 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 20:32:48 +0000 Subject: [PATCH 245/510] Add ID to dispatch operations --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 16 +++++++++------- .../cc/126.0.6478.126/dispatch/dispatch.h | 18 +++++++++--------- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 8cf1da29..95217a7d 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -18,13 +18,14 @@ namespace kaleido { base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); } Dispatch::~Dispatch() { - browser_devtools_client_.DetachClient(); // How can I ensure it is not in a chain of callbacks to do this + browser_devtools_client_.DetachClient(); + // All subclients will also detach automatically. } - void Dispatch::createTab1_createTarget(const std::string &url) { + void Dispatch::createTab1_createTarget(int id, const std::string &url) { base::Value::Dict params; params.Set("url", url); - auto cb = base::BindOnce(&Dispatch::createTab2_attachTarget, base::Unretained(this)); + auto cb = base::BindOnce(&Dispatch::createTab2_attachTarget, base::Unretained(this), id); browser_devtools_client_.SendCommand("Target.createTarget", std::move(params), std::move(cb)); @@ -32,7 +33,7 @@ namespace kaleido { // Yes, but the time saved at runtime is trivial and negative^2 impact on readability. } - void Dispatch::createTab2_attachTarget(base::Value::Dict msg) { + void Dispatch::createTab2_attachTarget(int id, base::Value::Dict msg) { base::Value::Dict *result = msg.FindDict("result"); if (result) { std::string *tId = result->FindString("targetId"); @@ -40,7 +41,7 @@ namespace kaleido { base::Value::Dict params; params.Set("flatten", true); params.Set("targetId", *tId); - auto cb = base::BindOnce(&Dispatch::createTab3_startSession, base::Unretained(this)); + auto cb = base::BindOnce(&Dispatch::createTab3_startSession, base::Unretained(this), id); browser_devtools_client_.SendCommand("Target.attachToTarget", std::move(params), std::move(cb)); @@ -50,7 +51,7 @@ namespace kaleido { LOG(ERROR) << "Failure to create target."; } - void Dispatch::createTab3_startSession(base::Value::Dict msg) { + void Dispatch::createTab3_startSession(int id, base::Value::Dict msg) { base::Value::Dict *result = msg.FindDict("result"); if (result) { std::string *sId = result->FindString("sessionId"); @@ -61,6 +62,7 @@ namespace kaleido { base::BindOnce( &Dispatch::createTab4_storeSession, base::Unretained(this), + id, browser_devtools_client_.CreateSession(*sId) ) ); @@ -70,7 +72,7 @@ namespace kaleido { LOG(ERROR) << "Failure to create target."; } - void Dispatch::createTab4_storeSession(std::unique_ptr newTab) { + void Dispatch::createTab4_storeSession(int id, std::unique_ptr newTab) { // We could run one command here to see if it is valid, it should be valid! // At some point we need to concern ourselves with failure paths. tabs.push(std::move(newTab)); diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 7cbeb55c..8d34e5e5 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -29,10 +29,11 @@ namespace kaleido { Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; - inline void CreateTab(const std::string &url = "") { createTab1_createTarget(url); } + inline void CreateTab(int id, const std::string &url = "") { createTab1_createTarget(id, url); } private: + raw_ptr parent_; // a devtools client for the _whole_ browser process (not a tab) SimpleDevToolsProtocolClient browser_devtools_client_; @@ -43,25 +44,24 @@ namespace kaleido { // Note: no callbacks allowed from within the SequencedTaskRunner scoped_refptr job_line; - void createTab1_createTarget(const std::string &url); - void createTab2_attachTarget(base::Value::Dict); - void createTab3_startSession(base::Value::Dict); - void createTab4_storeSession(std::unique_ptr); // This is a task + void createTab1_createTarget(int id, const std::string &url); + void createTab2_attachTarget(int id, base::Value::Dict); + void createTab3_startSession(int id, base::Value::Dict); + void createTab4_storeSession(int id, std::unique_ptr); // This is a task }; } #endif // DISPATCH_H_ // [x] Create Tab (needs to check for jobs) - // [ ] Link JSON to shutdown - // [ ] Handle better the signals + // [x] Link JSON to shutdown + // [x] Link JSON to create tab // [ ] How to handles errors in callback chain to user - // [ ] How to handle dispatch shut down during callback chain - // [ ] Link JSON to create tab // [ ] Get Status // [ ] Link JSON to Status // [ ] Queue Job (needs to check for jobs) // [ ] Check for jobs + // [ ] Handle better the signals (besides don't use stdin) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 7633f801..4f43dc98 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -50,7 +50,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_->SetDefaultBrowserContext(browser_context); // Run - dispatch->CreateTab(); + dispatch->CreateTab(-1); // Negative numbers indicate our orders, + user orders StartListen(); } From 53e35f753962335ec2db21ca360663b049b59b16 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 20:56:20 +0000 Subject: [PATCH 246/510] Switch from unordered set to unordered map --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 1 - src/kaleido/cc/126.0.6478.126/kaleido.cc | 7 ++++--- src/kaleido/cc/126.0.6478.126/kaleido.h | 6 ++++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 8d34e5e5..d6e08ee2 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -33,7 +33,6 @@ namespace kaleido { private: - raw_ptr parent_; // a devtools client for the _whole_ browser process (not a tab) SimpleDevToolsProtocolClient browser_devtools_client_; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 4f43dc98..501894ed 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -97,7 +97,7 @@ bool Kaleido::ReadJSON(std::string &msg) { return true; } base::Value::Dict &jsonDict = json->GetDict(); - absl::optional id = jsonDict.FindInt("id"); + absl::optional id = jsonDict.FindInt("id"); std::string *operation = jsonDict.FindString("operation"); // The only operation we handle here. We're shutting down. // Trust chromium to handle it all when the browser exits @@ -110,10 +110,11 @@ bool Kaleido::ReadJSON(std::string &msg) { Api_ErrorMissingBasicFields(); return true; } - if (!messageIds.insert(*id).second) { + if (messageIds.find(*id) != messageIds.end()) { Api_ErrorDuplicateId(); return true; } + messageIds.emplace(*id, *operation); return true; } @@ -127,7 +128,7 @@ void Kaleido::Api_ErrorMissingBasicFields() { } void Kaleido::Api_ErrorDuplicateId() { - Kaleido::PostEchoTask(R"({"error":"all messages must contain a unique 'id' integer for the entire session."})"); + Kaleido::PostEchoTask(R"({"error":"message using already-used 'id' integer"})"); } } // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 94d4399f..c34840af 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -1,7 +1,7 @@ #ifndef KALEIDO_H_ #define KALEIDO_H_ -#include +#include #include // Browser Includes @@ -30,6 +30,8 @@ namespace kaleido { // This is basically a singleton. Could we pass the constructor instead of on browser start? void OnBrowserStart(headless::HeadlessBrowser* browser); + // Dispatch uses this to let us know how things went + void ReportOperation(int id, bool success, base::Value::Dict msg); private: @@ -43,7 +45,7 @@ namespace kaleido { std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call postListenTask() once void PostEchoTask(const std::string&); // echo something out - std::unordered_set messageIds; // every message must have a unique id + std::unordered_map messageIds; // every message must have a unique id bool ReadJSON(std::string&); // try to turn message into json object // a thread, for making sure output is orderer and messages aren't mixed From cd6a5896fbddc2871d778f2a3f18ec6e876741e1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 21:04:27 +0000 Subject: [PATCH 247/510] Add kaleido as parent_ in Dispatch --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 2 +- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 4 +++- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 95217a7d..0361616b 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -11,7 +11,7 @@ namespace kaleido { - Dispatch::Dispatch() { + Dispatch::Dispatch(raw_ptr parent_): parent_(parent_) { browser_devtools_client_.AttachToBrowser(); job_line = base::ThreadPool::CreateSequencedTaskRunner({ base::TaskPriority::BEST_EFFORT, diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index d6e08ee2..66501071 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -8,6 +8,7 @@ #include "base/task/sequenced_task_runner.h" namespace kaleido { + class Kaleido; using namespace simple_devtools_protocol_client; // probably should be a singleton, could use static, make_unique, etc @@ -24,7 +25,7 @@ namespace kaleido { // class Dispatch { public: - Dispatch(); + Dispatch(raw_ptr parent_); ~Dispatch(); Dispatch(const Dispatch&) = delete; @@ -33,6 +34,7 @@ namespace kaleido { private: + raw_ptr parent_; // a devtools client for the _whole_ browser process (not a tab) SimpleDevToolsProtocolClient browser_devtools_client_; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 501894ed..e4c5b377 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -39,7 +39,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { {base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN} ); // Can't do this before OnBrowserStart! - dispatch = std::make_unique(); // Tab manager + dispatch = std::make_unique(this); // Tab manager // Create browser context and set it as the default. The default browser // context is used by the Target.createTarget() DevTools command when no other From a45be24a2ef627dc1b988be23b3d9597cb854f0b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 22:17:04 +0000 Subject: [PATCH 248/510] Make dispatch raw_ptr and remove destructor Wanted to use scoped reference counter but enjoy this very recent bug: https://issues.chromium.org/issues/349207015 Since the object lives for the entire length of the program, it seems like raw_ptr woudl be acceptable. --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 3 +- .../cc/126.0.6478.126/dispatch/dispatch.h | 5 +-- src/kaleido/cc/126.0.6478.126/kaleido.cc | 34 ++++++++++++++++--- src/kaleido/cc/126.0.6478.126/kaleido.h | 6 ++-- 4 files changed, 39 insertions(+), 9 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 0361616b..c9e4f77a 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -17,7 +17,8 @@ namespace kaleido { base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); } - Dispatch::~Dispatch() { + + void Dispatch::Release() { browser_devtools_client_.DetachClient(); // All subclients will also detach automatically. } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 66501071..6d007834 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -26,12 +26,13 @@ namespace kaleido { class Dispatch { public: Dispatch(raw_ptr parent_); - ~Dispatch(); + ~Dispatch() = delete; Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; - inline void CreateTab(int id, const std::string &url = "") { createTab1_createTarget(id, url); } + void CreateTab(int id, const std::string &url) { createTab1_createTarget(id, url); } + void Release(); private: raw_ptr parent_; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index e4c5b377..e5c79acc 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -5,6 +5,7 @@ // * start up the IO thread #include +#include #include "headless/app/kaleido.h" @@ -39,7 +40,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { {base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN} ); // Can't do this before OnBrowserStart! - dispatch = std::make_unique(this); // Tab manager + dispatch = new Dispatch(this); // Tab manager // Create browser context and set it as the default. The default browser // context is used by the Target.createTarget() DevTools command when no other @@ -50,7 +51,10 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_->SetDefaultBrowserContext(browser_context); // Run - dispatch->CreateTab(-1); // Negative numbers indicate our orders, + user orders + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), -1, "")); + StartListen(); } @@ -104,19 +108,33 @@ bool Kaleido::ReadJSON(std::string &msg) { // Doesn't need id, no return if (operation && *operation == "shutdown") { ShutdownSoon(); - return false; + return false; // breaks stdin loop } if (!operation || !id) { Api_ErrorMissingBasicFields(); return true; } + if (*id < 0) { + Api_ErrorNegativeId(); + return true; + } if (messageIds.find(*id) != messageIds.end()) { Api_ErrorDuplicateId(); return true; } + + if (*operation == "create_tab") { + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), *id, "")); + } else { + Api_ErrorUnknownOperation(*operation); + return true; + } + + messageIds.emplace(*id, *operation); return true; - } void Kaleido::Api_ErrorInvalidJSON() { @@ -131,5 +149,13 @@ void Kaleido::Api_ErrorDuplicateId() { Kaleido::PostEchoTask(R"({"error":"message using already-used 'id' integer"})"); } +void Kaleido::Api_ErrorNegativeId() { + Kaleido::PostEchoTask(R"({"error":"must use 'id' integer >=0"})"); +} + +void Kaleido::Api_ErrorUnknownOperation(const std::string& op) { + Kaleido::PostEchoTask(R"({"error":"Unknown operation:)"+op+R"("})"); +} + } // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index c34840af..f49779ff 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -52,12 +52,14 @@ namespace kaleido { scoped_refptr output_sequence; // our tab dispatch, our actual browser controller - std::unique_ptr dispatch = nullptr; + raw_ptr dispatch; // JSON Helper functions for creating common messages to user void Api_ErrorInvalidJSON(); void Api_ErrorMissingBasicFields(); void Api_ErrorDuplicateId(); + void Api_ErrorNegativeId(); + void Api_ErrorUnknownOperation(const std::string& op); // Control Flow, declare here @@ -68,7 +70,7 @@ namespace kaleido { } void ShutdownTask() { LOG(INFO) << "Calling shutdown on browser"; - dispatch.reset(); // Fine to destruct what we have here. + dispatch->Release(); // Fine to destruct what we have here. browser_.ExtractAsDangling()->Shutdown(); } }; From 05a18a314e4b814a544cded8febc43c517732394 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 19 Jul 2024 23:26:04 +0000 Subject: [PATCH 249/510] Add error handling --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 8 +- .../cc/126.0.6478.126/dispatch/dispatch.h | 12 +-- src/kaleido/cc/126.0.6478.126/kaleido.cc | 74 +++++++++++++++---- src/kaleido/cc/126.0.6478.126/kaleido.h | 33 ++++----- src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 10 +-- 5 files changed, 83 insertions(+), 54 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index c9e4f77a..807954d6 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -18,11 +18,6 @@ namespace kaleido { base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); } - void Dispatch::Release() { - browser_devtools_client_.DetachClient(); - // All subclients will also detach automatically. - } - void Dispatch::createTab1_createTarget(int id, const std::string &url) { base::Value::Dict params; params.Set("url", url); @@ -77,7 +72,8 @@ namespace kaleido { // We could run one command here to see if it is valid, it should be valid! // At some point we need to concern ourselves with failure paths. tabs.push(std::move(newTab)); - LOG(INFO) << "Targed stored."; + parent_->ReportSuccess(id); } + } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 6d007834..66f65a9a 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -6,6 +6,7 @@ #include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" #include "base/task/sequenced_task_runner.h" +#include "headless/app/kaleido.h" namespace kaleido { class Kaleido; @@ -32,7 +33,7 @@ namespace kaleido { Dispatch& operator=(const Dispatch&) = delete; void CreateTab(int id, const std::string &url) { createTab1_createTarget(id, url); } - void Release(); + void Release() { browser_devtools_client_.DetachClient(); } // subclients go with it private: raw_ptr parent_; @@ -58,12 +59,13 @@ namespace kaleido { // [x] Create Tab (needs to check for jobs) // [x] Link JSON to shutdown // [x] Link JSON to create tab - // [ ] How to handles errors in callback chain to user - // [ ] Get Status - // [ ] Link JSON to Status + // [x] How to handles errors in callback chain to user + // [ ] Change over to printf // [ ] Queue Job (needs to check for jobs) // [ ] Check for jobs - // [ ] Handle better the signals (besides don't use stdin) + // [ ] Get Status + // [ ] Link JSON to Status + diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index e5c79acc..885c6326 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -6,6 +6,7 @@ #include #include +#include #include "headless/app/kaleido.h" @@ -30,7 +31,18 @@ namespace kaleido { Kaleido::Kaleido() = default; // Redefine here or else chromium complains. -Kaleido::~Kaleido() = default; + +// Control Flow, declare here +void Kaleido::ShutdownSoon() { + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Kaleido::ShutdownTask, base::Unretained(this))); +} +void Kaleido::ShutdownTask() { + LOG(INFO) << "Calling shutdown on browser"; + dispatch->Release(); // Fine to destruct what we have here. + browser_.ExtractAsDangling()->Shutdown(); +} void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { browser_ = browser; // global by another name @@ -101,7 +113,7 @@ bool Kaleido::ReadJSON(std::string &msg) { return true; } base::Value::Dict &jsonDict = json->GetDict(); - absl::optional id = jsonDict.FindInt("id"); + absl::optional id = jsonDict.FindInt("id"); std::string *operation = jsonDict.FindString("operation"); // The only operation we handle here. We're shutting down. // Trust chromium to handle it all when the browser exits @@ -111,15 +123,15 @@ bool Kaleido::ReadJSON(std::string &msg) { return false; // breaks stdin loop } if (!operation || !id) { - Api_ErrorMissingBasicFields(); + Api_ErrorMissingBasicFields(id); return true; } if (*id < 0) { - Api_ErrorNegativeId(); + Api_ErrorNegativeId(*id); return true; } if (messageIds.find(*id) != messageIds.end()) { - Api_ErrorDuplicateId(); + Api_ErrorDuplicateId(*id); return true; } @@ -127,8 +139,8 @@ bool Kaleido::ReadJSON(std::string &msg) { browser_->BrowserMainThread()->PostTask( FROM_HERE, base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), *id, "")); - } else { - Api_ErrorUnknownOperation(*operation); + } else if (*operation == "noop") {} else { + Api_ErrorUnknownOperation(*id, *operation); return true; } @@ -137,24 +149,54 @@ bool Kaleido::ReadJSON(std::string &msg) { return true; } +void Kaleido::ReportOperation(int id, bool success, base::Value::Dict msg) { + if (!success && id < 0) { + LOG(ERROR) << "Failure of internal dev tools operation id " + << std::to_string(id) + << " and msg: " + << msg; + return; + } + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":)"+std::to_string(success)+R"(, "msg":)"+msg.DebugString()+R"(})"); +} +void Kaleido::ReportFailure(int id, const std::string& msg) { + if (id < 0) { + LOG(ERROR) << "Failure of internal dev tools operation id " + << std::to_string(id) + << " and msg: " + << msg; + return; + } + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":false, "msg":")"+msg+R"("})"); +} + +void Kaleido::ReportSuccess(int id) { + if (id < 0) return; + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":true})"); +} + void Kaleido::Api_ErrorInvalidJSON() { - Kaleido::PostEchoTask(R"({"error":"malformed JSON string"})"); + PostEchoTask(R"({"error":"malformed JSON string"})"); } -void Kaleido::Api_ErrorMissingBasicFields() { - Kaleido::PostEchoTask(R"({"error":"all messages must contain an 'id' integer and an 'operation' string"})"); +void Kaleido::Api_ErrorMissingBasicFields(absl::optional id) { + if (id) { + PostEchoTask(R"({"id":)"+std::to_string(*id)+R"(,"error":"all messages must contain an 'id' integer and an 'operation' string"})"); + } else { + PostEchoTask(R"({"error":"all messages must contain an 'id' integer and an 'operation' string"})"); + } } -void Kaleido::Api_ErrorDuplicateId() { - Kaleido::PostEchoTask(R"({"error":"message using already-used 'id' integer"})"); +void Kaleido::Api_ErrorDuplicateId(int id) { + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"message using already-used 'id' integer"})"); } -void Kaleido::Api_ErrorNegativeId() { - Kaleido::PostEchoTask(R"({"error":"must use 'id' integer >=0"})"); +void Kaleido::Api_ErrorNegativeId(int id) { + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"must use 'id' integer >=0"})"); } -void Kaleido::Api_ErrorUnknownOperation(const std::string& op) { - Kaleido::PostEchoTask(R"({"error":"Unknown operation:)"+op+R"("})"); +void Kaleido::Api_ErrorUnknownOperation(int id, const std::string& op) { + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"Unknown operation:)"+op+R"("})"); } } // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index f49779ff..336f42c3 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -3,6 +3,7 @@ #include #include +#include "third_party/abseil-cpp/absl/types/optional.h" // Browser Includes #include "headless/lib/browser/headless_browser_impl.h" @@ -14,7 +15,7 @@ #include "base/task/thread_pool.h" namespace kaleido { - + class Dispatch; // Kaleido is our app, basically. // Should be singleton, but non-trivial work // SIGINT and SIGTERM would be nice @@ -22,7 +23,7 @@ namespace kaleido { class Kaleido { public: Kaleido(); - ~Kaleido(); + ~Kaleido() = delete; Kaleido(const Kaleido&) = delete; Kaleido& operator=(const Kaleido&) = delete; @@ -32,6 +33,9 @@ namespace kaleido { // Dispatch uses this to let us know how things went void ReportOperation(int id, bool success, base::Value::Dict msg); + void ReportSuccess(int id); + void ReportFailure(int id, const std::string& msg); + private: @@ -56,23 +60,14 @@ namespace kaleido { // JSON Helper functions for creating common messages to user void Api_ErrorInvalidJSON(); - void Api_ErrorMissingBasicFields(); - void Api_ErrorDuplicateId(); - void Api_ErrorNegativeId(); - void Api_ErrorUnknownOperation(const std::string& op); - - - // Control Flow, declare here - void ShutdownSoon() { - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Kaleido::ShutdownTask, base::Unretained(this))); - } - void ShutdownTask() { - LOG(INFO) << "Calling shutdown on browser"; - dispatch->Release(); // Fine to destruct what we have here. - browser_.ExtractAsDangling()->Shutdown(); - } + void Api_ErrorMissingBasicFields(absl::optional); + void Api_ErrorDuplicateId(int); + void Api_ErrorNegativeId(int); + void Api_ErrorUnknownOperation(int id, const std::string& op); + + void ShutdownSoon(); + void ShutdownTask(); }; } #endif // KALEIDO_H_ + diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index 69cdfd84..f85df299 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -59,18 +59,12 @@ int main(int argc, const char** argv) { // Now we're going to start the browser // Would love to do this inside the constructor but // ... chromium just hates it. - kaleido::Kaleido kbrowser; auto browser = std::make_unique( - base::BindOnce(&kaleido::Kaleido::OnBrowserStart, base::Unretained(&kbrowser))); + base::BindOnce(&kaleido::Kaleido::OnBrowserStart, base::Unretained(new kaleido::Kaleido()))); + // Should be a lambda that starts a Kaleido, not a function in Kaleido headless::HeadlessContentMainDelegate delegate(std::move(browser)); params.delegate = &delegate; return content::ContentMain(std::move(params)); - // My main problem is that I don't know how to properly end this processes and all of its children. - // Are we making zombies? Does chrome keep on running? - // I very much like "ending parent process ends all spawned processes" - // And I'm not sure I'll get that here. - // Shutting down the browser shuts down everything though, so I should trap SIGTERM at least. - // But can't without making kaleido a singleton } From 8709d5d110c99ff5bb99d0b570844dbb27f63e11 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 20 Jul 2024 22:41:24 +0000 Subject: [PATCH 250/510] Add raw archive descriptions --- .../extract_config/126.0.6478.126/README.md | 9 + .../linux-archive-rel.json-original | 146 ++++++++++++++ .../mac-archive-rel.json-original | 73 +++++++ .../win-archive-rel.json-original | 179 +++++++++++++++++ .../win32-archive-rel.json-original | 187 ++++++++++++++++++ toolchain/extract_config/README.md | 17 ++ 6 files changed, 611 insertions(+) create mode 100644 toolchain/extract_config/126.0.6478.126/README.md create mode 100644 toolchain/extract_config/126.0.6478.126/linux-archive-rel.json-original create mode 100644 toolchain/extract_config/126.0.6478.126/mac-archive-rel.json-original create mode 100644 toolchain/extract_config/126.0.6478.126/win-archive-rel.json-original create mode 100644 toolchain/extract_config/126.0.6478.126/win32-archive-rel.json-original create mode 100644 toolchain/extract_config/README.md diff --git a/toolchain/extract_config/126.0.6478.126/README.md b/toolchain/extract_config/126.0.6478.126/README.md new file mode 100644 index 00000000..0b0048cf --- /dev/null +++ b/toolchain/extract_config/126.0.6478.126/README.md @@ -0,0 +1,9 @@ +This directory contains the configurations of which binaries get archived on +Chromium builders, and controls how and where they're stored. This applies +mostly to the `*-archive-*` builders on this +[console](https://ci.chromium.org/p/chromium/g/chromium/console). + +Each JSON file here corresponds to the archive configuration for a single +builder. See the +[properties.proto](https://source.chromium.org/chromium/chromium/tools/build/+/main:recipes/recipe_modules/archive/properties.proto;drc=cca630e6c409dcdcc18567b94fcdc782b337e0ab;l=270) +definition of the archive recipe module for the schema of these files. diff --git a/toolchain/extract_config/126.0.6478.126/linux-archive-rel.json-original b/toolchain/extract_config/126.0.6478.126/linux-archive-rel.json-original new file mode 100644 index 00000000..c8c8af09 --- /dev/null +++ b/toolchain/extract_config/126.0.6478.126/linux-archive-rel.json-original @@ -0,0 +1,146 @@ +{ + "archive_datas": [ + { + "files": [ + "chrome", + "chrome-wrapper", + "chrome_100_percent.pak", + "chrome_200_percent.pak", + "chrome_crashpad_handler", + "chrome_sandbox", + "icudtl.dat", + "libEGL.so", + "libGLESv2.so", + "libvk_swiftshader.so", + "libvulkan.so.1", + "MEIPreload/manifest.json", + "MEIPreload/preloaded_data.pb", + "product_logo_48.png", + "resources.pak", + "v8_context_snapshot.bin", + "vk_swiftshader_icd.json", + "xdg-mime", + "xdg-settings" + ], + "dirs": ["locales", "resources"], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chrome-linux"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Linux_x64/{%position%}/chrome-linux.zip", + "archive_type": "ARCHIVE_TYPE_ZIP", + "latest_upload": { + "gcs_path": "Linux_x64/LAST_CHANGE", + "gcs_file_content": "{%position%}" + }, + "revisions_file": { + "gcs_path": "Linux_x64/{%position%}/REVISIONS" + } + }, + { + "files": [ + "chromedriver", + "LICENSE.chromedriver" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chromedriver_linux64"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Linux_x64/{%position%}/chromedriver_linux64.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "content_shell", + "content_shell.pak", + "dump_syms", + "icudtl.dat", + "minidump_stackwalk", + "v8_context_snapshot.bin" + ], + "dirs": ["resources"], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "content-shell"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Linux_x64/{%position%}/content-shell.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "dirs": ["gen/third_party/devtools-frontend/src/front_end"], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "devtools-frontend"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Linux_x64/{%position%}/devtools-frontend.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "headless_lib_data.pak", + "headless_lib_strings.pak", + "headless_shell" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "headless-shell"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Linux_x64/{%position%}/headless-shell.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "gen/mojo/public/js/bindings.js", + "gen/third_party/blink/public/mojom/contacts/contacts_manager.mojom.m.js", + "gen/third_party/blink/public/mojom/content_index/content_index.mojom.m.js", + "gen/components/payments/mojom/payment_request_data.mojom.m.js", + "gen/third_party/blink/public/mojom/sms/webotp_service.mojom.m.js", + "gen/third_party/blink/public/mojom/idle/idle_manager.mojom.m.js", + "gen/media/capture/mojom/image_capture.mojom.m.js", + "gen/skia/public/mojom/image_info.mojom.m.js", + "gen/skia/public/mojom/bitmap.mojom.m.js", + "gen/gpu/ipc/common/sync_token.mojom.m.js", + "gen/ui/display/mojom/display.mojom.m.js", + "gen/ui/gfx/geometry/mojom/geometry.mojom.m.js", + "gen/device/gamepad/public/mojom/gamepad.mojom.m.js", + "gen/device/vr/public/mojom/vr_service.mojom.m.js", + "gen/device/vr/public/mojom/xr_session.mojom.m.js", + "gen/url/mojom/url.mojom.m.js", + "gen/third_party/blink/public/mojom/usb/web_usb_service.mojom.m.js", + "gen/device/bluetooth/public/mojom/uuid.mojom.m.js", + "gen/url/mojom/origin.mojom.m.js", + "gen/device/bluetooth/public/mojom/test/fake_bluetooth.mojom.m.js", + "gen/content/web_test/common/fake_bluetooth_chooser.mojom.m.js", + "gen/services/device/public/mojom/nfc.mojom.m.js", + "gen/services/device/public/mojom/serial.mojom.m.js", + "gen/third_party/blink/public/mojom/serial/serial.mojom.m.js", + "gen/services/device/public/mojom/battery_monitor.mojom.m.js", + "gen/services/device/public/mojom/battery_status.mojom.m.js", + "gen/services/device/public/mojom/pressure_manager.mojom.m.js", + "gen/services/device/public/mojom/pressure_update.mojom.m.js" + ], + "file_globs": [ + "gen/gpu/ipc/common/mailbox*.mojom.m.js", + "gen/mojo/public/mojom/base/*.mojom.m.js", + "gen/services/device/public/mojom/usb_*.mojom.m.js", + "gen/services/shape_detection/public/mojom/*.mojom.m.js", + "gen/ui/gfx/mojom/*.mojom.m.js" + ], + "dirs":["gen/layout_test_data/mojo/public/js"], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "mojojs"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Linux_x64/{%position%}/mojojs.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "updater.zip" + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Linux_x64/{%position%}", + "archive_type": "ARCHIVE_TYPE_FILES" + } + ] +} diff --git a/toolchain/extract_config/126.0.6478.126/mac-archive-rel.json-original b/toolchain/extract_config/126.0.6478.126/mac-archive-rel.json-original new file mode 100644 index 00000000..a537a65a --- /dev/null +++ b/toolchain/extract_config/126.0.6478.126/mac-archive-rel.json-original @@ -0,0 +1,73 @@ +{ + "archive_datas": [ + { + "dirs": ["Chromium.app"], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chrome-mac"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Mac/{%position%}/chrome-mac.zip", + "archive_type": "ARCHIVE_TYPE_ZIP", + "latest_upload": { + "gcs_path": "Mac/LAST_CHANGE", + "gcs_file_content": "{%position%}" + }, + "revisions_file": { + "gcs_path": "Mac/{%position%}/REVISIONS" + } + }, + { + "files": [ + "chromedriver", + "LICENSE.chromedriver" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chromedriver_mac64"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Mac/{%position%}/chromedriver_mac64.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "content_shell.pak", + "icudtl.dat" + ], + "dirs": [ + "Content Shell.app", + "resources" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "content-shell"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Mac/{%position%}/content-shell.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "dirs": ["gen/third_party/devtools-frontend/src/front_end"], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "devtools-frontend"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Mac/{%position%}/devtools-frontend.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "remoting-me2me-host-mac.zip" + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Mac/{%position%}", + "archive_type": "ARCHIVE_TYPE_FILES" + }, + { + "files": [ + "updater.zip" + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Mac/{%position%}", + "archive_type": "ARCHIVE_TYPE_FILES" + } + ] +} diff --git a/toolchain/extract_config/126.0.6478.126/win-archive-rel.json-original b/toolchain/extract_config/126.0.6478.126/win-archive-rel.json-original new file mode 100644 index 00000000..a2f1239e --- /dev/null +++ b/toolchain/extract_config/126.0.6478.126/win-archive-rel.json-original @@ -0,0 +1,179 @@ +{ + "archive_datas": [ + { + "files": [ + "chrome.exe", + "chrome.dll", + "chrome_100_percent.pak", + "chrome_200_percent.pak", + "chrome_elf.dll", + "chrome_proxy.exe", + "chrome_pwa_launcher.exe", + "chrome_wer.dll", + "D3DCompiler_47.dll", + "dxcompiler.dll", + "dxil.dll", + "elevation_service.exe", + "eventlog_provider.dll", + "First Run", + "icudtl.dat", + "interactive_ui_tests.exe", + "libEGL.dll", + "libGLESv2.dll", + "MEIPreload\\manifest.json", + "MEIPreload\\preloaded_data.pb", + "mojo_core.dll", + "notification_helper.exe", + "resources.pak", + "v8_context_snapshot.bin", + "vk_swiftshader.dll", + "vk_swiftshader_icd.json", + "vulkan-1.dll" + ], + "file_globs": [ + "locales\\*.pak", + "*.manifest" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chrome-win"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win_x64/{%position%}/chrome-win.zip", + "archive_type": "ARCHIVE_TYPE_ZIP", + "latest_upload": { + "gcs_path": "Win_x64/LAST_CHANGE", + "gcs_file_content": "{%position%}" + }, + "revisions_file": { + "gcs_path": "Win_x64/{%position%}/REVISIONS" + } + }, + { + "files": [ + "chrome.dll.pdb", + "chrome.exe.pdb", + "chrome_elf.dll.pdb", + "chrome_proxy.exe.pdb", + "chrome_pwa_launcher.exe.pdb", + "chrome_wer.dll.pdb", + "elevation_service.exe.pdb", + "eventlog_provider.dll.pdb", + "gaia1_0.dll.pdb", + "gcapi_dll.dll.pdb", + "gcp_setup.exe.pdb", + "libEGL.dll.pdb", + "libGLESv2.dll.pdb", + "mini_installer.exe.pdb", + "mojo_core.dll.pdb", + "notification_helper.exe.pdb", + "setup.exe.pdb", + "vk_swiftshader.dll.pdb", + "vulkan-1.dll.pdb" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chrome-win32-syms"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win_x64/{%position%}/chrome-win32-syms.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "chromedriver.exe.pdb" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chromedriver_win32-syms"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win_x64/{%position%}/chromedriver_win32-syms.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "chromedriver.exe", + "LICENSE.chromedriver" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chromedriver_win32"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win_x64/{%position%}/chromedriver_win32.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "content_shell.exe", + "content_shell.pak", + "icudtl.dat", + "v8_context_snapshot.bin" + ], + "dirs": ["resources"], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "content-shell"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win_x64/{%position%}/content-shell.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "dirs": ["gen\\third_party\\devtools-frontend\\src\\front_end"], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "devtools-frontend"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win_x64/{%position%}/devtools-frontend.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "gcapi.h", + "gcapi_dll.dll", + "gcapi_dll.dll.lib" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "gcapi"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win_x64/{%position%}/gcapi.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "actions.xml", + "histograms.xml", + "ukm.xml" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "metrics-metadata"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win_x64/{%position%}/metrics-metadata.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "mini_installer.exe" + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win_x64/{%position%}", + "archive_type": "ARCHIVE_TYPE_FILES" + }, + { + "files": [ + "updater.zip" + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win_x64/{%position%}", + "archive_type": "ARCHIVE_TYPE_FILES" + }, + { + "files": [ + "updater.exe.pdb", + "UpdaterSetup.exe.pdb" + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win_x64/{%position%}/updater-syms.zip", + "archive_type":"ARCHIVE_TYPE_ZIP" + } + ] +} diff --git a/toolchain/extract_config/126.0.6478.126/win32-archive-rel.json-original b/toolchain/extract_config/126.0.6478.126/win32-archive-rel.json-original new file mode 100644 index 00000000..9626be94 --- /dev/null +++ b/toolchain/extract_config/126.0.6478.126/win32-archive-rel.json-original @@ -0,0 +1,187 @@ +{ + "archive_datas": [ + { + "files": [ + "chrome.exe", + "chrome.dll", + "chrome_100_percent.pak", + "chrome_200_percent.pak", + "chrome_elf.dll", + "chrome_proxy.exe", + "chrome_pwa_launcher.exe", + "chrome_wer.dll", + "D3DCompiler_47.dll", + "dxcompiler.dll", + "dxil.dll", + "elevation_service.exe", + "eventlog_provider.dll", + "First Run", + "icudtl.dat", + "interactive_ui_tests.exe", + "libEGL.dll", + "libGLESv2.dll", + "MEIPreload\\manifest.json", + "MEIPreload\\preloaded_data.pb", + "mojo_core.dll", + "notification_helper.exe", + "resources.pak", + "v8_context_snapshot.bin", + "vk_swiftshader.dll", + "vk_swiftshader_icd.json", + "vulkan-1.dll" + ], + "file_globs": [ + "locales\\*.pak", + "*.manifest" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chrome-win"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}/chrome-win.zip", + "archive_type": "ARCHIVE_TYPE_ZIP", + "latest_upload": { + "gcs_path": "Win/LAST_CHANGE", + "gcs_file_content": "{%position%}" + }, + "revisions_file": { + "gcs_path": "Win/{%position%}/REVISIONS" + } + }, + { + "files": [ + "chrome.dll.pdb", + "chrome.exe.pdb", + "chrome_elf.dll.pdb", + "chrome_proxy.exe.pdb", + "chrome_pwa_launcher.exe.pdb", + "chrome_wer.dll.pdb", + "elevation_service.exe.pdb", + "eventlog_provider.dll.pdb", + "gaia1_0.dll.pdb", + "gcapi_dll.dll.pdb", + "gcp_setup.exe.pdb", + "libEGL.dll.pdb", + "libGLESv2.dll.pdb", + "mini_installer.exe.pdb", + "mojo_core.dll.pdb", + "notification_helper.exe.pdb", + "setup.exe.pdb", + "vk_swiftshader.dll.pdb", + "vulkan-1.dll.pdb" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chrome-win32-syms"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}/chrome-win32-syms.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "chromedriver.exe.pdb" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chromedriver_win32-syms"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}/chromedriver_win32-syms.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "chromedriver.exe", + "LICENSE.chromedriver" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "chromedriver_win32"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}/chromedriver_win32.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "content_shell.exe", + "content_shell.pak", + "icudtl.dat", + "v8_context_snapshot.bin" + ], + "dirs": ["resources"], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "content-shell"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}/content-shell.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "dirs": ["gen\\third_party\\devtools-frontend\\src\\front_end"], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "devtools-frontend"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}/devtools-frontend.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "gcapi.h", + "gcapi_dll.dll", + "gcapi_dll.dll.lib" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "gcapi"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}/gcapi.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "actions.xml", + "histograms.xml", + "ukm.xml" + ], + "rename_dirs": [ + {"from_dir": ".", "to_dir": "metrics-metadata"} + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}/metrics-metadata.zip", + "archive_type": "ARCHIVE_TYPE_ZIP" + }, + { + "files": [ + "mini_installer.exe" + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}", + "archive_type": "ARCHIVE_TYPE_FILES" + }, + { + "files": [ + "remoting-me2me-host-win.zip" + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}", + "archive_type": "ARCHIVE_TYPE_FILES" + }, + { + "files": [ + "updater.zip" + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}", + "archive_type": "ARCHIVE_TYPE_FILES" + }, + { + "files": [ + "updater.exe.pdb", + "UpdaterSetup.exe.pdb" + ], + "gcs_bucket": "chromium-browser-snapshots", + "gcs_path": "Win/{%position%}/updater-syms.zip", + "archive_type":"ARCHIVE_TYPE_ZIP" + } + ] +} diff --git a/toolchain/extract_config/README.md b/toolchain/extract_config/README.md new file mode 100644 index 00000000..538e9249 --- /dev/null +++ b/toolchain/extract_config/README.md @@ -0,0 +1,17 @@ +This directory is used by `10-extract.sh` and it's subscript, `10-extract_subscript.py`. + + +Chromium documents the files necessary for building installers in `src/infra/archive_config/*.json`. + +When releasing a new version of Kaleido, we + +a) See if their configuration has changed at all (if it has 10-extract wil fail and you will have to do this process). +b) Modify the new config if we don't need all the same files or need to change names. +-- What should you modify? That's a tougher question... trial and error. +c) Save the original config and the modification as a patch. + +Even if a new version of chromium can use the older version's, it is recommended you create a new version folder identical +to the old so as to be explicit about that fact. + +Furthermore, the `10-extract.sh `script should be dry run before any build so as not to fail a continuous integration run at +this late, trivial stage. From cc65416e6ea672838ff822a3d9c619c8bfe6f68b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sat, 20 Jul 2024 22:41:43 +0000 Subject: [PATCH 251/510] Add utility for understanding archive situation --- toolchain/src/10-extract_subscript.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 toolchain/src/10-extract_subscript.py diff --git a/toolchain/src/10-extract_subscript.py b/toolchain/src/10-extract_subscript.py new file mode 100644 index 00000000..09514bcc --- /dev/null +++ b/toolchain/src/10-extract_subscript.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +import json + +def find_archive_name(archive): + title = None + if 'rename-dirs' in archive: + for pair in archive['rename-dirs']: + if pair['from-dir'] == '.': + title = pair['to-dir'] + break + if not title: + if 'gcs_path' in archive: + title = archive['gcs_path'] + return title + +def match_json_to_directory(config_file): + data = None + with open(config_file) as f: + data = json.load(f) + if not data: + raise ValueError(f"Couldn't find the file {config_file} to load") + for archive in data['archive_datas']: + title = find_archive_name(archive) + if not title: title = "unamed" + print(title) +# 1) load a json and begin processing it +# 2) list what files you can and can't find From a2b4267c356a0c1f6fedc4d844c2c8fe049bfce5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 16:31:10 +0000 Subject: [PATCH 252/510] Add tooling to 10-extract --- .../win32-archive-rel.json-original | 187 ------------------ toolchain/src/10-extract.sh | 86 ++++++++ toolchain/src/10-extract_subscript.py | 55 +++++- toolchain/src/include/utilities.sh | 2 +- 4 files changed, 136 insertions(+), 194 deletions(-) delete mode 100644 toolchain/extract_config/126.0.6478.126/win32-archive-rel.json-original create mode 100755 toolchain/src/10-extract.sh diff --git a/toolchain/extract_config/126.0.6478.126/win32-archive-rel.json-original b/toolchain/extract_config/126.0.6478.126/win32-archive-rel.json-original deleted file mode 100644 index 9626be94..00000000 --- a/toolchain/extract_config/126.0.6478.126/win32-archive-rel.json-original +++ /dev/null @@ -1,187 +0,0 @@ -{ - "archive_datas": [ - { - "files": [ - "chrome.exe", - "chrome.dll", - "chrome_100_percent.pak", - "chrome_200_percent.pak", - "chrome_elf.dll", - "chrome_proxy.exe", - "chrome_pwa_launcher.exe", - "chrome_wer.dll", - "D3DCompiler_47.dll", - "dxcompiler.dll", - "dxil.dll", - "elevation_service.exe", - "eventlog_provider.dll", - "First Run", - "icudtl.dat", - "interactive_ui_tests.exe", - "libEGL.dll", - "libGLESv2.dll", - "MEIPreload\\manifest.json", - "MEIPreload\\preloaded_data.pb", - "mojo_core.dll", - "notification_helper.exe", - "resources.pak", - "v8_context_snapshot.bin", - "vk_swiftshader.dll", - "vk_swiftshader_icd.json", - "vulkan-1.dll" - ], - "file_globs": [ - "locales\\*.pak", - "*.manifest" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chrome-win"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}/chrome-win.zip", - "archive_type": "ARCHIVE_TYPE_ZIP", - "latest_upload": { - "gcs_path": "Win/LAST_CHANGE", - "gcs_file_content": "{%position%}" - }, - "revisions_file": { - "gcs_path": "Win/{%position%}/REVISIONS" - } - }, - { - "files": [ - "chrome.dll.pdb", - "chrome.exe.pdb", - "chrome_elf.dll.pdb", - "chrome_proxy.exe.pdb", - "chrome_pwa_launcher.exe.pdb", - "chrome_wer.dll.pdb", - "elevation_service.exe.pdb", - "eventlog_provider.dll.pdb", - "gaia1_0.dll.pdb", - "gcapi_dll.dll.pdb", - "gcp_setup.exe.pdb", - "libEGL.dll.pdb", - "libGLESv2.dll.pdb", - "mini_installer.exe.pdb", - "mojo_core.dll.pdb", - "notification_helper.exe.pdb", - "setup.exe.pdb", - "vk_swiftshader.dll.pdb", - "vulkan-1.dll.pdb" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chrome-win32-syms"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}/chrome-win32-syms.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "chromedriver.exe.pdb" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chromedriver_win32-syms"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}/chromedriver_win32-syms.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "chromedriver.exe", - "LICENSE.chromedriver" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chromedriver_win32"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}/chromedriver_win32.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "content_shell.exe", - "content_shell.pak", - "icudtl.dat", - "v8_context_snapshot.bin" - ], - "dirs": ["resources"], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "content-shell"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}/content-shell.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "dirs": ["gen\\third_party\\devtools-frontend\\src\\front_end"], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "devtools-frontend"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}/devtools-frontend.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "gcapi.h", - "gcapi_dll.dll", - "gcapi_dll.dll.lib" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "gcapi"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}/gcapi.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "actions.xml", - "histograms.xml", - "ukm.xml" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "metrics-metadata"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}/metrics-metadata.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "mini_installer.exe" - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}", - "archive_type": "ARCHIVE_TYPE_FILES" - }, - { - "files": [ - "remoting-me2me-host-win.zip" - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}", - "archive_type": "ARCHIVE_TYPE_FILES" - }, - { - "files": [ - "updater.zip" - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}", - "archive_type": "ARCHIVE_TYPE_FILES" - }, - { - "files": [ - "updater.exe.pdb", - "UpdaterSetup.exe.pdb" - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win/{%position%}/updater-syms.zip", - "archive_type":"ARCHIVE_TYPE_ZIP" - } - ] -} diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh new file mode 100755 index 00000000..9c94722f --- /dev/null +++ b/toolchain/src/10-extract.sh @@ -0,0 +1,86 @@ +#!/bin/bash +set -e +set -u + +# Detect if component build is true, and if so, exit TODO + +# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! +usage=( + "extract will attempt to pull all runtime dependencies, including the executable," + "out of chromium's build directory into a build/ folder." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" + "Display this help:" + "extract [-h|--h]" + "" + "Try: Will use the latest version's patch dir if it can't find its own" + "extract [-t|--try]" + "" + "extract [-s|--assess] will look at the original config for the version and" + " see out of our output which files we have" + "" +) + +FLAGS=("-t" "--try" "-s" "--assess") +ARGFLAGS=() + +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" +. "$SCRIPT_DIR/include/utilities.sh" + +util_get_version +util_export_version + +$NO_VERBOSE || echo "Running 10-extract.sh" + +TRY="$(flags_resolve false "-t" "--try")" +ASSESS="$(flags_resolve false "-s" "--assess")" + +BUILD_DIR="${MAIN_DIR}/build/cc/" +if [[ ! -d "$BUILD_DIR" ]]; then + mkdir -p "$BUILD_DIR" +else + rm -rf "${MAIN_DIR}/build/cc/*" # rm rf, spell it out to prevent rm -rf accidents +fi + +# mainly reexported, but making sure the python script has it +export MAIN_DIR +export CHROMIUM_VERSION_TAG +export PLATFORM +export TARGET_ARCH +export BUILD_DIR +export SRC_DIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" +IMPORT='extract = __import__("10-extract_subscript")' + +if [[ "$PLATFORM" == "WINDOWS" ]]; then + CONFIG="${MAIN_DIR}/toolchain/extract_config/${CHROMIUM_VERSION_TAG}/win-archive-rel.json" +elif [[ "$PLATFORM" == "LINUX" ]]; then + CONFIG="${MAIN_DIR}/toolchain/extract_config/${CHROMIUM_VERSION_TAG}/linux-archive-rel.json" +elif [[ "$PLATFORM" == "OSX" ]]; then + CONFIG="${MAIN_DIR}/toolchain/extract_config/${CHROMIUM_VERSION_TAG}/mac-archive-rel.json" +fi +export CONFIG + +if [[ -z "${PYTHON-""}" ]] && which python3 &> /dev/null; then + PYTHON="python3" +else + util_error "Couldn't find python3, set in path or set var PYTHON" +fi + +export PYTHONPATH="${MAIN_DIR}/toolchain/src/:${PYTHONPATH-""}" + +if $ASSESS; then + echo -e "$($PYTHON -c "$IMPORT; extract.match_json_to_directory('${CONFIG}-original','$SRC_DIR', missing=True, annotate=True)")" + exit 0 +fi + +echo -e "$($PYTHON -c "$IMPORT; extract.hello_world()")" +exit 0 + +if [[ "$PLATFORM" == "LINUX" ]]; then + if [[ "${CHROMIUM_VERSION_TAG}" == "126.0.6478.126" ]] || $TRY; then + cp "${SRC_DIR}/kaleido" "${BUILD_DIR}" + fi +fi + diff --git a/toolchain/src/10-extract_subscript.py b/toolchain/src/10-extract_subscript.py index 09514bcc..9a1bca87 100644 --- a/toolchain/src/10-extract_subscript.py +++ b/toolchain/src/10-extract_subscript.py @@ -1,19 +1,49 @@ #!/usr/bin/env python3 +import os import json +import glob +import itertools + +MAIN_DIR = os.environ['MAIN_DIR'] +CHROMIUM_VERSION_TAG = os.environ['CHROMIUM_VERSION_TAG'] +PLATFORM = os.environ['PLATFORM'] +TARGET_ARCH = os.environ['TARGET_ARCH'] +BUILD_DIR = os.environ['BUILD_DIR'] +SRC_DIR = os.environ['SRC_DIR'] + +def hello_world(): + print("Hello world!") + print(f"MAIN_DIR: {MAIN_DIR}") + print(f"CHROMIUM_VERSION_TAG: {CHROMIUM_VERSION_TAG}") + print(f"PLATFORM: {PLATFORM}") + print(f"TARGET_ARCH: {TARGET_ARCH}") + print(f"BUILD_DIR: {BUILD_DIR}") + print(f"SRC_DIR: {SRC_DIR}") def find_archive_name(archive): title = None - if 'rename-dirs' in archive: - for pair in archive['rename-dirs']: - if pair['from-dir'] == '.': - title = pair['to-dir'] + if 'rename_dirs' in archive: + for pair in archive['rename_dirs']: + if pair['from_dir'] == '.': + title = pair['to_dir'] break if not title: if 'gcs_path' in archive: title = archive['gcs_path'] return title -def match_json_to_directory(config_file): +def get_files_and_dirs_full_path(archive, src_dir): + files = archive['files'] if 'files' in archive else [] + files = [ src_dir + "/" + f for f in files ] + file_globs = archive['file_globs'] if 'file_globs' in archive else [] + file_globs = [ src_dir + "/" + file_glob for file_glob in file_globs ] + for file_glob in file_globs: + files.extend(glob.glob(file_glob)) + dirs = archive['dirs'] if 'dirs' in archive else [] # ruff + dirs = [ src_dir + "/" + d for d in dirs ] + return files, dirs + +def match_json_to_directory(config_file, src_dir, exists=True, missing=False, annotate=False): data = None with open(config_file) as f: data = json.load(f) @@ -22,6 +52,19 @@ def match_json_to_directory(config_file): for archive in data['archive_datas']: title = find_archive_name(archive) if not title: title = "unamed" - print(title) + print(" " + title) + files, dirs = get_files_and_dirs_full_path(archive, src_dir) + for f in itertools.chain(files, dirs): + if (os.path.exists(f) and exists): + if annotate: + print(f"exists: {f}") + else: + print(f) + if (not os.path.exists(f) and missing): + if annotate: + print(f"missing: {f}") + else: + print(f) + # 1) load a json and begin processing it # 2) list what files you can and can't find diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh index db399877..79c65ae5 100644 --- a/toolchain/src/include/utilities.sh +++ b/toolchain/src/include/utilities.sh @@ -30,7 +30,7 @@ util_get_version() { if test -f "$MAIN_DIR/.set_version"; then . "$MAIN_DIR/.set_version" - elif [[ -z "${DEPO_TOOLS_COMMIT:-}" ]] || [[ -z "${CHROMIUM_VERSION_TAG:-}" ]]; then + elif [[ -z "${DEPOT_TOOLS_COMMIT:-}" ]] || [[ -z "${CHROMIUM_VERSION_TAG:-}" ]]; then util_error "Couldn't find or set env vars for versions, please run set_version." fi } From f0d1309b31ad87eabe9172b1d2ac55548ff41840 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 16:51:54 +0000 Subject: [PATCH 253/510] Format extract output for automatic consumption --- toolchain/src/10-extract.sh | 3 ++- toolchain/src/10-extract_subscript.py | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 9c94722f..d23528ed 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -71,7 +71,7 @@ fi export PYTHONPATH="${MAIN_DIR}/toolchain/src/:${PYTHONPATH-""}" if $ASSESS; then - echo -e "$($PYTHON -c "$IMPORT; extract.match_json_to_directory('${CONFIG}-original','$SRC_DIR', missing=True, annotate=True)")" + echo -e "$($PYTHON -c "$IMPORT; extract.match_json_to_directory('${CONFIG}-original','$SRC_DIR', missing=True, annotate=True, relative=False)")" exit 0 fi @@ -80,6 +80,7 @@ exit 0 if [[ "$PLATFORM" == "LINUX" ]]; then if [[ "${CHROMIUM_VERSION_TAG}" == "126.0.6478.126" ]] || $TRY; then + # fix as to not always put full path there, so we can use it cp "${SRC_DIR}/kaleido" "${BUILD_DIR}" fi fi diff --git a/toolchain/src/10-extract_subscript.py b/toolchain/src/10-extract_subscript.py index 9a1bca87..e55c1c4a 100644 --- a/toolchain/src/10-extract_subscript.py +++ b/toolchain/src/10-extract_subscript.py @@ -43,7 +43,7 @@ def get_files_and_dirs_full_path(archive, src_dir): dirs = [ src_dir + "/" + d for d in dirs ] return files, dirs -def match_json_to_directory(config_file, src_dir, exists=True, missing=False, annotate=False): +def match_json_to_directory(config_file, src_dir, relative=True, exists=True, missing=False, annotate=False): data = None with open(config_file) as f: data = json.load(f) @@ -52,15 +52,19 @@ def match_json_to_directory(config_file, src_dir, exists=True, missing=False, an for archive in data['archive_datas']: title = find_archive_name(archive) if not title: title = "unamed" - print(" " + title) + if annotate: print(" " + title) files, dirs = get_files_and_dirs_full_path(archive, src_dir) for f in itertools.chain(files, dirs): if (os.path.exists(f) and exists): + if relative: + f = f.removeprefix(src_dir) if annotate: print(f"exists: {f}") else: print(f) if (not os.path.exists(f) and missing): + if relative: + f = f.removeprefix(src_dir) if annotate: print(f"missing: {f}") else: From 209a850fa171a257a3b319c11b1cc66c24b79c4a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 17:26:08 +0000 Subject: [PATCH 254/510] Execute extract function and add to xx-all --- toolchain/extract_config/README.md | 13 ++--------- toolchain/src/10-extract.sh | 36 +++++++++++++++++++++--------- toolchain/src/xx-all.sh | 9 ++++++-- 3 files changed, 34 insertions(+), 24 deletions(-) diff --git a/toolchain/extract_config/README.md b/toolchain/extract_config/README.md index 538e9249..e74c8aca 100644 --- a/toolchain/extract_config/README.md +++ b/toolchain/extract_config/README.md @@ -3,15 +3,6 @@ This directory is used by `10-extract.sh` and it's subscript, `10-extract_subscr Chromium documents the files necessary for building installers in `src/infra/archive_config/*.json`. -When releasing a new version of Kaleido, we +We make copies of them and add -original -a) See if their configuration has changed at all (if it has 10-extract wil fail and you will have to do this process). -b) Modify the new config if we don't need all the same files or need to change names. --- What should you modify? That's a tougher question... trial and error. -c) Save the original config and the modification as a patch. - -Even if a new version of chromium can use the older version's, it is recommended you create a new version folder identical -to the old so as to be explicit about that fact. - -Furthermore, the `10-extract.sh `script should be dry run before any build so as not to fail a continuous integration run at -this late, trivial stage. +If this project were to survive, a diffing mechanism on more than just these files (like BUILD.gn and arg.gn) would make transitions nicer. diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index d23528ed..a0b73aa0 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -7,7 +7,8 @@ set -u # Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! usage=( "extract will attempt to pull all runtime dependencies, including the executable," - "out of chromium's build directory into a build/ folder." + "out of chromium's build directory into a build/ folder. It compares a chromium zip builder" + "to a list of what was built what we have and then pulls out what agrees to our build folder." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" @@ -18,8 +19,7 @@ usage=( "Try: Will use the latest version's patch dir if it can't find its own" "extract [-t|--try]" "" - "extract [-s|--assess] will look at the original config for the version and" - " see out of our output which files we have" + "extract [-s|--assess] will dump its analysis of the situation" "" ) @@ -53,12 +53,21 @@ export BUILD_DIR export SRC_DIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" IMPORT='extract = __import__("10-extract_subscript")' +CONFIG_DIR="${MAIN_DIR}/toolchain/extract_config/${CHROMIUM_VERSION_TAG}/" +if [ ! -d "${CONFIG_DIR}" ] && $TRY; then + CONFIG_DIR="${MAIN_DIR}/toolchain/extract_config/$(ls "${MAIN_DIR}/toolchain/extract_config" -vt | head -1)" +elif [ -d "${CONFIG_DIR}" ]; then + : # optimistic path +else + util_error "No config dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" +fi + if [[ "$PLATFORM" == "WINDOWS" ]]; then - CONFIG="${MAIN_DIR}/toolchain/extract_config/${CHROMIUM_VERSION_TAG}/win-archive-rel.json" + CONFIG="$CONFIG_DIR/win-archive-rel.json" elif [[ "$PLATFORM" == "LINUX" ]]; then - CONFIG="${MAIN_DIR}/toolchain/extract_config/${CHROMIUM_VERSION_TAG}/linux-archive-rel.json" + CONFIG="$CONFIG_DIR/linux-archive-rel.json" elif [[ "$PLATFORM" == "OSX" ]]; then - CONFIG="${MAIN_DIR}/toolchain/extract_config/${CHROMIUM_VERSION_TAG}/mac-archive-rel.json" + CONFIG="$CONFIG_DIR/mac-archive-rel.json" fi export CONFIG @@ -75,13 +84,18 @@ if $ASSESS; then exit 0 fi -echo -e "$($PYTHON -c "$IMPORT; extract.hello_world()")" -exit 0 +# echo -e "$($PYTHON -c "$IMPORT; extract.hello_world()")" + if [[ "$PLATFORM" == "LINUX" ]]; then - if [[ "${CHROMIUM_VERSION_TAG}" == "126.0.6478.126" ]] || $TRY; then - # fix as to not always put full path there, so we can use it - cp "${SRC_DIR}/kaleido" "${BUILD_DIR}" + if [[ "${CHROMIUM_VERSION_TAG}" == "126.0.6478.126" ]] || $TRY; then + # fix as to not always put full path there, so we can use it + cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" + FILES=$(echo -e "$($PYTHON -c "$IMPORT; extract.match_json_to_directory('${CONFIG}-original','$SRC_DIR', missing=False, annotate=False, relative=True)")") + for f in $FILES; do + mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" + echo Brrrr: $f + done fi fi diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 1d0f8c3f..a3abdfa6 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -30,7 +30,7 @@ usage=( "-7 write_kversion - writes a version text file for kaleido" "-8 sync_cpp - will sync kaleido c++ do chromium src" "-9 build_kaleido - builds kaleido's c++" - "-10 " # package + "-10 extract - attempts to extract our build from chromium src folder" # what about javascript # what about python # ugh @@ -155,5 +155,10 @@ if $NINE || $ALL; then fi if $TEN || $ALL; then - : + $NO_VERBOSE || echo "Running 10" + if $(which extract &> /dev/null); then + extract $(flags_resolve "" ":") + else + $SCRIPT_DIR/10-extract.sh $(flags_resolve "" ":") + fi fi From d069f9a1b3addceb0ec94a9155feacf46188ddbb Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 17:26:33 +0000 Subject: [PATCH 255/510] Remove debug print --- toolchain/src/10-extract.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index a0b73aa0..8b9390e0 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -94,7 +94,6 @@ if [[ "$PLATFORM" == "LINUX" ]]; then FILES=$(echo -e "$($PYTHON -c "$IMPORT; extract.match_json_to_directory('${CONFIG}-original','$SRC_DIR', missing=False, annotate=False, relative=True)")") for f in $FILES; do mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" - echo Brrrr: $f done fi fi From 024419a9442338b8637f828a7c3603db602381d9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 18:14:02 +0000 Subject: [PATCH 256/510] Add metadata to 10-extract --- toolchain/src/10-extract.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 8b9390e0..b8278f5a 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -9,6 +9,7 @@ usage=( "extract will attempt to pull all runtime dependencies, including the executable," "out of chromium's build directory into a build/ folder. It compares a chromium zip builder" "to a list of what was built what we have and then pulls out what agrees to our build folder." + "It also pulls out some other stuff." "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" @@ -95,6 +96,13 @@ if [[ "$PLATFORM" == "LINUX" ]]; then for f in $FILES; do mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" done + + # just making sure to litter these files everywhere at every step fi fi +cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MAIN_DIR}/src/kaleido/CREDITS.html" "${BUILD_DIR}" || echo "Missing some meta files, ignoring issue" + +mkdir "${BUILD_DIR}/etc" + +cp "${MAIN_DIR}/vendor/MathJax*.zip" "${BUILD_DIR}/etc/mathjax" From f28ebe461389949e4c7cb89c600d2d19ff74fe01 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 18:24:53 +0000 Subject: [PATCH 257/510] Fix mathjax copy --- toolchain/src/10-extract.sh | 2 +- vendor/mathjax/Mathjax-2.7.5.zip | Bin 0 -> 1931789 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 vendor/mathjax/Mathjax-2.7.5.zip diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index b8278f5a..888547c2 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -105,4 +105,4 @@ cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MA mkdir "${BUILD_DIR}/etc" -cp "${MAIN_DIR}/vendor/MathJax*.zip" "${BUILD_DIR}/etc/mathjax" +cp "${MAIN_DIR}/vendor/mathjax/MathJax*.zip" "${BUILD_DIR}/etc/mathjax" diff --git a/vendor/mathjax/Mathjax-2.7.5.zip b/vendor/mathjax/Mathjax-2.7.5.zip new file mode 100644 index 0000000000000000000000000000000000000000..96576d23d384d25ccf1e351ed34ad28f9b38e794 GIT binary patch literal 1931789 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 z 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/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�|NOoGM(9{H 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�ga`&1nngLE^akL4c_2|c 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 g(r4{8b|9~IcwNXRFD@qU4TvQq8t_8B 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 z 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­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�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 Mbiw7dbaEBRJj<`n&{b0=000?YQP+ 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�s zJmz3(eNQKBXIOS^k_QFd1?Uyl(^l|2dhy3g_q5UC3`Z;fYj?V(+cta6bd|8+RK#I~ zq$U&vVBXkRsFrGOVyiF84O`32V9Z}bDp`Nd9ES4h52J}T0ui5&8aE-he{RBr_nZb$ zXJ9C$P6fBLL2JSkF~m;kx%IMc;H$L&8V{gD@KW98*EG&!A-P=<58vR4$O}r@T8ZAp zNt_KDe>l%^V3QQ6n;Ti}7R=>QaWVM$w4vaKhNG*xOi>&ODMiyIzmv|z_Z(c#Cqys? z2BOfUA%2K6s(j>{F{-wdtNqqpi}M6vQnqD;V3(7Ihhegvs<@G|8aWybPa0%eSuM#tMjE+Zf@Ku77d+Wln)=m|6L;ayek;!>^{Q~N0JAMgf zY|1Z!?-Qg9#Wu@SqaOnkm5ZmzC4-O#jBspZy-{?7U=~|nAnhTY9@o@r!LkLgPcU~O zoyyTB!b5MfsTaEsF3Stqgc-y3rauh_-E<(&W2>gO@WI=1E5c1;nVe~PpVix)n9(>2 z71ICmVj7Cmz#&|kixXl_%o^iS)P?$ zei$qhV|pY@Ns-*(JX46x)`hxPx|la3v+YH8-+;&|-WsCi_L^H7B>J(6L6os}pEH7N zc5;OK-r*0LAqWwYOt0T=?P>vY$VNa&jfi7od6goK13x=$9iuEFOqT5s!#;htp&Y4< zNQD<(WraxKRQTuLe13GOG*KbRX40W|U$A@rS$u7>wRF*RvAh2odB`%)K@?Ha<87f% zFftyjf9RPjSxeR>_{wX1Ejqnb3YSBsKA9;9HvL4ux1(Ih;t$r04>4PU)$6j##457( zztYr&j4F0F414fEbmW@|o^=$vwMXiU0$0`bz$LomGEzKRDXtVpG}%e{SiU#=~Yn;!zj%ri2X9S$0SBwTy(0))H{k~V){-~F)c!XLjIDHDz!7N zLeFLpUd$9NKTkbo34>PM6&ga3k*~JVcntE46!EhWebr5iu@01Hn`*TZ6v z2ufe3CneuFmKQdtY%CUGdkFE=A_k#ZD&)@hEuxr!kpqpyYWhE(39E$qNu03a9y4arllt#GhQxzaDMnhdwF{8 z)hI?JuTC4SSk%4>TY4LGus~DA6d#_xX zS4uoG5Q#5f9nm#+r(B`Dz2xa8bzzFeg3%hT?M%<)a5|e!e7EaA;wZindQJPiG4nq= zCp*>gHLHugNbmNuZR|ELOVR5*>}_14m-#eVH9jrL#-H0TcsM(;aeU>KNn7gf$GMGp zsiM{{$4ZHEPgX2sYCLrC&~T3CpOlFAN4i4DnokCF?F*H2Uf}#7`0`{%LHQBc@~Fz~ ziEw6B>qy`!Q}R;&68@)j8s$P)rs$0e#$=Ild+c*EGR?QlHBvNY-R+S+(Ae`zUyeQd z`}OLP;}VdK(Z727F5cOTqpR`ZtlN;jOr|`m%~E#{Ye6HA-01^2SC%m4ELhI}#1BteEJW+wh%e^b z?aH3}dAPIV$cw8Zcl8!WZ{8nUaCPAtyUGsVd%v5q^j#$eu!1CwFNFQZqCv$-tIx9| zt^zZ%e|e3hs?MoI+`SbZge?rzkq3oJHibGBwZJ1Z?~|&9J}Ft=d0I-y>-<(vDO*<( z%=ntQb1ELL#Z^fcc>K8_~s>-1{-Ol882yCewQ=vnWvTf5C8Q!(&{YK+XkjnPtXb+|t}~O6 zt1+}-NPvyTBEZiz=v2o*XB2oMB#B7|K<>NQq9fh`a9PYp*~2!Lrpa(aOIyY=19ziv zNT@)`xo3hufS@2ly3m=q!WjZ#zI3%OC$6RVZbM*@VJZuU;a}w~j&cO+H4&PG#bTbj zj%go~h#BGb_*I1%^OrdEQ85%Af)-N2^0dRdzQ9=_Y*DzXCJEI5dxL3{)jv4?ESFZ= z(yJ#aQxHY%axgpx$k^sFcSiECM=8bBN+@&h)2f25mMpXGB+Qyg&q1ePajb_}Rlm>x zAAk2ncn`U1Uto!34%!mP^b)wksHFxO1ex}{ju~wuQDq2bK(nS7s%IgAp<3xp0`1VK z!S|Swv>i#>;c&rhm%J2(YN2g@8W@v`k|NSU7^7lUpMiFEG7yh0%LbC!*59C4VGpYcmPZXK@|?BgS#0C>l2rv=?uL_g!APAIVR5LCmA8Jsu!=ul$=Ku@AC6s!RLgFrTnP;S zDc$nxb{NjUFElCe^Mas%&AXHp9wQwSpJk)j~`GycXU*Nuh z!wx>29RGk(EG^721aa%J=uTeNJx1st2vlMLnDk_y5hHJw1bkl+n+jUk4M3M_&|*kV zay;vp99lv%E`((vg9O3WK$JN|N37zn+-{Uv9m9-BoU&DSDFhp%9lXU#;ADw;%*<72 z(atpoVy3;*va(W@c$#W@-jvlu?RsJQp>jAIbWajP=3BIl*M*3Q1&sCEHUO%8(b1K1h@i-jW@JzcZLl&~pZ;v|52+ms-by zps4o?di4DTJ(`oKImu5^#Joj~m&lcXN+T+D3erlTP%Lq>FL$$wFjhJ;f>6hnAuk#atOcldY?SOA=;TGk!HjU zTma>N*LP7WF$a+&G|`pr95_*hl2YIsm9dt|B)b_Rrp*vYV;I1Z((TWlE8=FMkzF|l z+<7x%$m~dR%?U~xUwn;%HIth>%daUjtxDPHr)RViBG@vLBKr((wcM4BnipWm)`CsZ zIx$qR^Aw`jFs7^ZEwCOFRZ{I>SZy>my?cHO;Y4LPv8vKPsO^@)<(uWOpoR4i>RZ`} zWGZO+4|}M|BBW-0YYqs~VQqewU@9uL@K{*9`&LxrZZr_hBZKMU9=SHvRot_^D&(>* zaQ^YU;#p92aVYhd*T;1A)6wO!XuR~XHsb$wOICYXxBs8-_2%`A81P?>X8pJ8g7W`v z4E`^9+SJbVH#5Ke-wQ8Z>IW>yl*V{~e9xn=X4eoxis^>%oC183KZ4ui2wSsj|FvQ&>Tp-x4`s8S(^ zaUzhD%HJ!`=QP3(Y1mBbJ<+dGB0gPI?kwW-#)IoN2JthL;#SuHAX~00odiXGsHDV6 zjwbX4euY7vpb`AGnrbQ<-TjEgnndnL_^*E3Ha99jI?efiDt|Fd*w z!iP1p@tUS9Pp|*4%n7Vy(=%mqWq4y(gUx| z0{#c!&#;FG4|>1eMG-(i8i%#lLRuJc(@2>TQhp*8HTYCu&>H5hJP#3wMEC{@4%m9< z&j5yPoguOUT_lv~ex(8C7QAvJ0uCI@tt_4`*IOOq0h8b4ZP|T`C(kPRRbm7Hz*0{w^67BuZIX2D&wo}r4gKNO$Z@Q?$#a5cUZB{pp3|STo0@WI}Q|+ z3^TCkSO>xPr(n_1gEOkITPZb2S=e3`m2-fr4BKB41WS-p-lPJwCpHjXt|t`77PL$u z!XxWIJ?x1VpDnJW92<;XT3m1OwU5C>P>fvgwR6gqDJ{Cl@*mzH?+N8{$O*zb=91mw z;2o$ab-e4lhyfAvkjsdn{Qb^kOKPgEp5Tnm@MEb7@4*0YXu*B5Q}`f)Ca&E(3}PtD z;8=*VQ~Vb8uA%TQVWHR<51DmC@DV1(OnnELDG~Ay!hjw|BgvU_bqxPMBBe|ogGoNq zZ7Uh>kC*qyHYe8$4r2B5XS`~T$1LX<{PBa}_>YtXAW&`>(<$Y)N%2O15o|^eEWA`g zCXOLVdQli>ZTL29h39iW{)ntmB;Z`9Xw-3>vnsr)*Pp^|w8M*S2_*2G24;b2@IF9% z;jF8y0Y5PO5#$Z~sI)dADhBGrH!v&-_9J>Kmu^A;~dQ4$noO9=a` z;c6eVqjgJz+=od0kb)skK+{8Qiex4ZiG4q985MKAH}U@Ehtp9aOL?cLd(1n{m1o4c zS_2b^@YYF<;l;X`)Y#rZU8Si7!n28}>tsy8^%_JwrG<~avl|zGB#E|hx|OMyG1jZt zKa!|*M7lnz8(Na%y6DjzoSUScIPJL9t@7I*_=p)!VRB{vXF;EC(2XE6&4d0-uTg{$ z<04z2^r|uB2ynaFvW#}?YIsvTg1_e)3C^3St!&$xinMZ!h^T&0J?z1;r&Ov8fDBuba)aMlboGj&aSLtz(YuI|8v_U_Dd-s(9Gx@h}^$a z882cJaQ0EiXrqpIP`4`Iqh-Fl*sxr2tfs_!1}P3U4)I-s5oGJbpVK{BiUaH9ob*dPt(m*IT&xD76dq1!HU)Ro%^W5SQ1=^e~l&nL}wm0c3Vy7Ea8q1@|< z0tmO)bvUXHC>DuWdCNep^zSTHtPs4{3^mv#fh94I(thmUZg!aAfwL7E+fem9ehJl? zJ>_C+!Wi&3^X{FdmC5;MCR3wG%{w>dvuE3U8Am%^Puf*nv#rMFKvoIGpO;Lbs;-#V zGJo@aOKHDR+?Q>kzLS!bCu+gLv*c69*EOm1I^=&1$M7mDg5|7W0kT)Y$@Z)vv;Z}& zO|R$4?A{Xp*kF}H$yFPxqTw=~)p1d}Q~?)buhmd3 z#VJluD6tdTe!vAjr5Fd#pg|Dk*ty)_C~dnJoXfXEXJt|{0AP4;J5KH=527t}gmxj4 zhW+Bw?$i^_(*j5KOmc{md%!?*aWD^`qoc{>j5rQs*K`UoHO1Ss`V%;k<@c=D+2z}^ z6%j$&+j4n~Q3lw#VPsR|b!NTvPJeFspnbV?X%lk5_v`40ICKr)S+MOj2$XyZvjwX^ zOt2}U_O}uOPj_+=1sh|K@KoL7b)<3J%J^FuJX(1nenhLE`R`bUI{23G$fjmpJn}s^ z%~gNCB(=pBb*%ozs`(lU_N2QEws!9nm6oc>My9maNw?g_hZE^Oc9>%NB}bt}S#|dCzaOL#hAL<61XC{|fIooB6){X?2>QZQaMFZ0kdWH=S>e4FNtD50#Gf zi%i(LP^fKjr7D+5er=h({F~uca^l0tnt8h?Mm0+f;uO^$wm=Itrb_B*-@Z4W%%A`5 z(bU~8dvljcY^<};+T(E0@)GZLlkfkpAFS*C=YL_xJxZ^0g#Hc})xRnU_5bH<>VGjX z?*6CK;+Gxg$iP4#tGh1y$4xeW>vLeM6cVBPva1f>{M?2)K_s>0szmtb#aDbX?ih7* zIEJ8T zM?CCBN2U^C*0WaSUUK`QcyMjyL3ou7fmU=5#=H|U^rR1!DuJ?+B{WsL4w=vuGMYoN z+H4Z8wPc9glZm>V6d#2w4Al>$ zKtxkJhCF6#!T%$Z$QlZvWc`?1ND3eA6)Y<|wGz*SG}~NsJbC)?Ua1zY-ttPduKrvG zZ0uGgE>ZrAOIDwZ*7N5!{!BfVX;Ox&OB=tPGVi=Ae>w}1$Q>R(tDDPU>P~!%>$Zg* zysE&(`=Uzzq##c`(QmVll;1@8j%n zM2Sqn3R7g4UK~KtA%SR)51y>`VrBKJ(yEVECNjNs21&)(5D>^qrAW}&OgCSREjEpq zirt&wxbj}c`8zDcr=@n{^eR>?w=Y^`&S3x&t!)kd)6@m`jC)1TN8{M?1v zHs+a2CQ&gW=s`0G4FBU|MpQHmX`h(=Y^20EdOg1DMN%nCyW4Y+!{*ZF&_4{EW78q0 zS1{*yU@}a-a(aBE4UkbWu42k7+r(i(8$MEnkv%+`k@wpfJJOotIR}-T9X2q! zilR2-{>O=`0R*TgGo-L}? zLVKA0;7}<8@YvcgHv>4`1Vv^SFJg(t2*#Zjc11t+_AekvOY2!(Qv}2nI8F!*za{gg zAPFfK_7dYTJ2zKs;}wcqoB~lsFH}N0pxLf&W+JO%n^~PQdej{8?K4;$3?~hMrc1*P zxkC!LlbF&SFL=~e8a!yo$@)0in~i-@4Cg}BZNOC`#xNU0-#9^`uKP@`O^&R;IzqcP zQ(DFb(Bm^h>YgtS(_&G%j8DW|-+Y9(hTc@lFPt>gA4guXfJT773yar3!o)U3GK9Oe zWV;H7sC;k(P*;Ck7XGccT_^jA`R;r(QOv`>=gC4%qOZLi!Yi$m@;7_9E4UNSRxj@G zThq}wWPDb#fV==_H$W#m)>7C24p3YeyDJF{ztxcXkldvwsTV!U?(?aGC2qT38>@X` zeXhtE< z)cg97rd=;98fc4{R{UrYy8r@8py%b$wZD>Q%dp-#C$h${6%9>;t&&Gm2G*bt4Qf8udGY=fM;Crmy>AeE!5vWr$JCIU^SZ*X_#l2 z6AL1LlxRqd$$$XHi~Vw#DFc`raYBpCxbpbLJXH!Cx`(-swZBikUrTIOJ&GrXtcJa?>F->%8K`%^ z!jf2Y3gR@RDIUp}M+_O5`vQ!B>&OabA~rg57z4i(kMFp0M=YdS>svKp&DlF6EZ-r+ zq2>f1tks}EW{U?UxDPbtMb0GnBD()2~S_$PR8r@n&(naAK$*bStjMlZ5p1A zze>M3Zkz^zfJ0k2i41wCP+?R-x`Iq32BO8zKg`5| z7@o(dKfmV|kpC)x^J52oM;ja_{G4&`x#a^M14u+qT<*hG=%vXMhG z@LfxWm$9uo+t0w{-0C-A5-4sv1JqF0r-LS#d;9eKN?w~nXl_GhjGt-4x%XiL(B-0Y z^7OXnha-s~YfJ!)$w_0sDn*RoJH4JwJNN*EFT=VA!a=IPY-QGwn+U?+gV6C6n57`5jJJpM zlxJepJ2!yjkOPbNdWaAP%qWErrbo4UGeGn%igeEa)+h&w_{s<^3xH)UGgS>vBq_2K zVQ39x-dPChpw5`EUji8&G5=tI%#R3Cj!^_TLEdpv62z1s`LiRBRq!l!<*ybED?owK zzDGJx#%~}LzR!?EaQ^d={{w3OGG_X%8jtrqEyS6cpC2k;$OB5xoFpCkpc{6Qi2;)} z2SNn#Y7}huGrmf9nb+WccM8SE=&l(b?{U=JzN2TD3W+}jTJwNL1NpN%tiOx95Z{VZ zBb2eGx9A-`2XOb(A($dx0HTtW#U3J|s82dvZYhi@HTr~oTN`@lmn0K>Y6ytaKXIq; zj5tX#3IGUI(>$7^NizQ3;QCp}4SMQf3$xvQ2c9TWejBJdvqaQd{r7BmkPpI_%2*S(vT-2I9-wjo&FMzZkzY7bzQ6}-=eqdC*hTl6XjXA)xF4EFk$Gr z!gx8~$jE-VXHJDem;&?D-JTB_Qk9yFfv{7Lu`WJ|EL zBHgDU6QKBt%{Qt8C4VBH75nN8jzROnuqubH6WE#4-&hiAkR>ix4~Fc!EIba2m0Vb? ziRnX@1La0RtV9S7s};{I{aM0-%KzJAl=ryFMY@4^%*M`4fMw1MZWTE<4b# z#o@=D$mzK{0%nKx$y@UDRgNmqgWTDV9dE`k6e$rs`h7*F{9MUj#s?6R>dX!_pAM&8 zTI5pe9t1843fN{OC43LeMlru_mi!2hb)WlGum%N1(HCU}^Hz`TEbr%ASC_fFc=T<2 zb#-*CwDOR1f$4og(o34;U`kLS%Ww`F6QxWSSc@yf3Q344Y+O+eO zy=@a#WV#ize=hc~#A?Ef9%1P9&R^d-jko>g^bix+B#L*@8q1g_9|{+OsbGAay@;Q8 zpIPgBJQ65Rj|1H3rS0A@9coxTnLo&1Cj26ct#r~6K9W&fNlu%|dztVxmL zKL*v6J!Lwuqcon6p*Q*NHyK$4%>j?O;ek-+qT@>PHW^+|tY1k$Bs@q*Z8s}cJd3eR z_5PSuPNZ)vq@>&lGMxgt>IFb~6V-j7pm&O#_hta?C#ctDlz3%u46!&PK-|Sf@`L89 zhmhc*TEKb`pI*Bn1dKSu3UCNC3d26hV3(KqxJM=_Lv)YiI-0I_Mz)p*H49+=);g zVg!XVz%nM=B%x4G8JECZBExZtfIKA05f=$osdsVJmo6=> zLvKOD`&|v|jcpqw?uWM$t!ITmH<#KrF`LmpJYc-TukCj9alEipw$jW8S+TiniB|~Z zI5Bm(+0#O9+hy4>c}mO4eg;3&Yr(fy;C3g0S2u?)#hTD^c9@bYy}Kal1>Q7PEMvl@c-$Z;X_ zV{pNwgR*x-u;G&0%}$aAG$95fzTU%(7f4QbqTu0=5lz7nOvQ@C3cx_`a>aw|V!%8Z z1RG6(xDJUYI3*RB_Dht5Z*qkKJIz2#KIc>GtLLnQ-XUGy7|;3| zqrsIGf2qbA!a~lVwk4C@CaR`vyMs}g%CO)nC)|-14O5a_<$Kw9Lx;r=^>r5GV%x^R+2$+v~KEPFWeFCzD& z!S#2_J22xR#nd1#Mm8kiBZhGcC1rTKy{#+x@eLd8 z*saq9g98;UP9@Ek5e@U9J6i%3oN&6^;NVo z?+OTeyjlLc>q95<7+M7xv~VnY|8^PDj>c2Ep7u)mlr7~>OhPr!vx@8~6k+c{#!?I_ zNCQ)7L-3Zql)5n(ln5^(ubrkkXfX^OD6A%pTvnJ{MdyT;71m%DJDnz!It4^`5o!iNj3KpP=ZLyv*3 zHB+nRrg?B@D)smpthv2`X$BCdMO8Oc<}!!^`b$*k{v40#3WoHc0k?Rdb2Q zt}0I^8h~{16016AMfL=ZS?xDQ(J`}MTXvA3=R}L34l}le{bneh`BJkCuo<4m3E>^| zNm{kT?Sv>G#zQ?^+F1cyJt%-G4v4EJI8$dyQ7>-*TeVel`+E_Wk)v){vd%XF%2Y}f z%4LVbSh+Xts7<`QOy5Xzg)XgH} zQK>D;lTtUO-RsviR;CFhIAd%MpvdbU>p;zuU%50|l(O%r+C zQ<1mL;Jflguz^^CP7;bT_FR#fU|e5-M#;n2z)Itlsw<0%ZJu)ocX+G=Tq~R8oedgL zbJ6i@yN0zy1@kXGG)zyN88T>?)z|0{b0$Fkz~eW*gB(wPlRt9pRu_6TPc&>}0!}!| zo0JPQ$_ac|N@;6A7Hr7me(+^L3nX~Oow$rcvCtVD0NBSj4CysWjF)bXm7cNbuXs@{ zlTN3$k0_zEt6}G>y<4V&_H7}FyFC0GVY=|RlBY46Aw-p>vtUOETvvUg(Bo&S@`|e0H07ikW)T+9XLYNX!6^ax1N%%B5fG zm>QcXzrG0Z+c$Os2NRX|1q8FU7vmIAu3`C0ufJB-W@rafy=KKEdjO`)8_n{ZwO%zn zY;qj7yh6ju%*wUhz7^GggVDm~+`Y9zb!}d(ag4UtzMR4YO^L2G4R2HwCvb+~#55FW zwdLucg*8Ruo?>+WM+&(I=28JLE2^AATh_;sFSbl|I;*uUIC;-jsNctP zhAz1jG(J=@JZY)Xc8Ti-Hdoka2h#Iz-ZVk|M9tngt7W7tD+sKL$xqlRH54I4%J1wzB+9T|Ez0QvSU8*Q6uT#XE9;%V6&om zL94&+{;F|}J?AVW=9eW&FV4E9-vcxB+uD1lihN6TCxbj`U911Y1Kn=piQx6tl`5R_ z4X-IJYYFC~>D{WJeiI>5_pl7CQ#S{ST-dtH9I1a838wV1-pDUojq!zM~)cNTZS=vG6oL=|yh%CwwJs1oJ>H+72M7kf+JV7qcM1`n6p=i*}^VhaPv$vbZ0B>7if9abA zW!pLszmOSHcBiqL+PXWMc5{B;Bf34i!{5(NAL7CO*+Z*3b#&_fc{B{}e zlL@buqRDs*5|B!Mas+2nWx0R1+a?SVgR7f*8?+W`{QP>UOtPY9Ly}xFsQMJXIoHkX zcq(8pJ+KE*&08%^ejw(d;2)v>k{4dfwLS6{9%ezOfZ_K*8b)PLxx*h+yZOUC-Xhy1 z3?=aG=AYYoQAyvKQKM1}@GaQNE`-mDrD>grWucz{YtQZPe8c04*y=MM)ia`2T?O;* zVvxRFR_%1uN!f{A$Aax+5`M6I$)}F!SEja9z7dkJtPP?;KR}Q|$Y7 zeeR8V#w>(4Y-W-cW0|ItnaiKbNfV?B;BFT$v2;hv5C;rg(7oD4jV2oE(*at}F>kSpVoI3+|@1uXBIE z|7QW}6ZP2800sbn@HcNr@_*B zUaYP_)4Ed!l_r)zq#kuF3|;n*-!`*XEKFSTHvG#zMf#r^mzSrfr_GFdiA&XJoiMoT zq}>{B>PBOBBi;irI9QEn&34J@@#TSkUPsOgQ)oP1;=Od7Cuj9Dz>lb%&R=wr6vQ-~ zykvK|HT&7M^7`%F5I_w6$Ib$G@d?t=wSLWPWZMi_Bz71iWYCTe4@0jx4hY{EZ;9f* zd#r?LlY}aUob4Da(G_k;fGekhCBs6Zpq?#jz@X69I zabP3iq(bb9GRP*Q6PY$&xcLt>!3jf!hA3|(5tx$5P$D`Y zH9PP^jW=103Mfb51Xt=%*HUV95g@4D88{O8nTYmjn*nx!Vj#q#sYn_%208rHVnlTp zb?R5cMl;!lJS@F{I2h^0g7-bRYyb~IH$Db}y#qEsm|cxIp09ZuiS}mN>;m=YwU9ep ztTB}}j0v6k;&j2%H%KHq46Lcka^emTba%^SkaXwBbNZnGhMIwjp2|&FR43@a&Mh{M zRQ&K~cXWI66L&w7CH;A@Vat!Kguv7f+l$xFtYC_r7w~@szj?9xZIPgYf@7I7`XPSfrR_yO;IaK*|i3D8?1D2@8)DA=l=mU|Rkndx`hWT%aiY4UaB@z7NA;^i1EV7~YX0V2I&cW!8AHbmM-%`jg$i5sO^yENM&S-ku<(7;<%wR99GBK6qVk5sD~6g(>`PjIUkBnlNx;Y|5R+vT0eKn;k)-SG%z^z$Z*bR~Y8*tk(j6D`@ri`PX}Fc~p|{|| zfQDL)#j^DnWZ@OilS(DX%D;G?3OB#+x7J8^!zgG)tfVg7DWl3PJIiOdCIyLf9tV+> ziP+1TPShfp2SGTCnwldkT%B=35Nfyjt~fPPeW+k!JSg`p?me5EmVz*3CNI&fekHJ@ zY>9&PzZ`mUBFPL8l%^+KUWY1{XWh6?gPCRQ0%pBXnG4Lemwcw_)kj#bK^4($ zkavqOQeWMY%&~Ny%9RZVOWUY$6a{UME=_5u)7?feq(#jci}62bo>+U{H8}Tw&w&#f&}V!q9z;B7z4;mt7!sS8vCIF@5644);O&_yx## zgWKO?6X>^L5=K4cyZ-tRuMbd_E7SRZtW9~?Q+fgFH=iUKKG_UdV-|hg!7;n$6%Pqs zwxHjHaTzIAVr=eY#Ofi7fP_L)JGFfpHNPE|!D%{z!Lx#)^um2U!8M0IGCa4EgJ`W+ z;mm?66gKL}E)r;VLYJ|1G+i;G1Zr5gESp$a>3GysQ9*N4+a==z63KN;sK0_nR-w~Z zI>qA*L|7gPMySgg(Pby-6qsD4T78SF+H1Y*co+LQx%^AMpY$y4^&GL+UHp6kSAMuJ zlbjRBrw`YSD6MArSHRNTCtx^?jo32_kO*4EI^8zRVgRaV)G1g)0hw0i zHZx~^t;+XR45q{_KC8IjYVekPUsn5Lz~(6@=3A<+Ttt+;Rm-Xa@VL;=1Fkw<{Or}U zQwbXIr9Rz$_z;Uwsr}uYSZVPZVuHqiRh74@M~bIdfyhL>?;vxuDPUWATlX z%<+1*VcYIdhu}l40j5Nt2mzPhv%Vb>PG-M%&atp8eASTA6AoW^EWh@QH;^fn!%oKb zWIGtmC>ZcU?JquLOqMs?1g68&VnRB~03}S^<{2Mw9#bp(bsvitb*$gY#hW@IB8^}C zccbDHKns6 aR$u3hnjYM25g^+7c6s1z|%MJ=Mpp|(j&T1#&W9M-N_;^}y=STf6; zy#eFTFPPo*1KmOQr3^h|Z)FDdTV6>l+nNpPna$1ZbKP?)o!;Q7`&8+xl=d~t+m0px zY?-x``-KIRC_=95L(_%gl=vBFf=9I#dTp{*|y&eW2B-thP z92sPRF+WOK4I;TQYRN1@dG-CQC*+_nR$}uCistFDjb`806LV|g(-}2{kRs?eTVCc6 zAfq#|69Nww!1y6knY*mm+1 zIjBvJYBWWUOYB{2vNlvja2Tk%K071RXCG%5C${jC{sxz2)1~_GZy7&$9)M&bp!_>P z_*sl5Nwnt4XRyc_>3U7WdcPAeerM5jOS5ussnV#uLMblmvjxpYaZMo!r**CaNmXXLpHRt$S~?2`7$EMAqTsl9fy=TC5Mnsolbv?r+IGzh3$I_rGluHD$w zN#D13O6sQy6CM>;%8zVsa_+C&b~P|ayZfV1y#Ve_zK-)aWY$>$21bP=?_GR%Kl}Us zpWkY!1Eim;nyL;5agJ_!%Q$dgd8t3;w(8)~^b)zaJ9qnwYssoO=obu^dMKGm(rB;_ zg&q~6y}WGWPjX@ie9NAy8nGiI=#`-?7{6$0+&}V4e$J1pWU_=%NX`=M^J57 zyDP+dr`$%hie&9A#uLz&&t>0suqP%E+&O2G%G+A~go((*jD~u}3?(p_T3UMtp_L&; z(HxmqL~vJwG9|`dC92o4cBx%382vM0H1xFp9_HXEgh9jWIU0P=9OtQSJB zF#|e&_*&F=LRnD?S}A!W8sn@EW(c$LZ*5Wv#h6zlWP{L}_G+YA2Wf$Hku}5sXi6#KHh;Yw5u_Z4$5JCHB%Nz@5U?j!Cg*WFjH3?B~jMHbBXzg+=-0rVJOoX~c| zzx5tuqIi-GYfDCpw_ovfq-sh0WR-{xDT`1C1||Zg7H7XGr1VfcMo4F-7uaP4k;G>l zEKL0?*&xx;_GInGkTvw-%bE?7i}Ie6L;$H5(&7V58@;>ucXWsh)ZqmbRSQFeG$M=~ z7Jd-P6WS`k(|mt?WK=h55UD{!l~`-gSm_Jf0_vVc9iv3bc^-W5a&%9u?iBHG6_*Zm z^64JoNu*ThK?%s-np%-WCBMmCVLWeH3<+?;F61@~eJGtriXEHgVBs~vZ3Kv}Jdw`2 zIZLVcXT&s5n;b9mh4HeeB#M(GH-f99F5XJWj)GRYt*}>CFZJj}sb(mvN&85dWD6X+ zSO*j2Rpb+*vYaeeE}v z%zn=wL%4jg^z`C$A1Aipmvja{eqY{9`5pQD&3c9`zp!1h#Z^8B5;*vSmyBH{^n3y( zPaBLJ#~nb$)g&4Zk~AWr+a}dfH5@fgG-t8vf<05Jk~u#rc3W|EbY-t=>eVxft1j1r z{N+((mQhe)k2Tf`6-D0%h7^3iau;B&^XEceX z)&jqLJ)U9Laa-Z#AqqChz}rUt1&R6_y^VII8hFu(5G{@M?OFvZG$fVc=)>8fU4L^J zYOv|jWh2vjMwu3xg6W3`7zI~V)pV?H-|!k4qi+#*+AA#yCS7w;-Rc2S*UimboSPxt zvS26AXUTX9`6iBI6MK(K%^1vV5o&b)KHa)9o0n0}9dMDHczn>Y?nJVv6{1&yL(Hjj z)k-%d>@n7LDaO#{#-fAbzONui?Pt8+=!~UXzYBdHN6~ zZB)B)k0UQuZADi7aZwK^Lf2OX+{LaKODT!zlFvAVE98LHqb&8}fY?7KC$hbj(*kh;(kdHaICOcKe&k@sEdc!j zfzOepV+e3%&hPpo#pdM2G>_y>D?YJw!cyj>N&cNzVsT`r`TcHz#??;WmxHZZMog$= zHcVe%u=S5~kK-Q3V3mlcw--~%x|SM8-TrdeO*nm={u%lH>Mr~bE(_i-zWY^6rcZPJOcuN0ALk< zl<7?G(vkelDTe+AuK)K?*8kuj6aH@*MF%HSH%n9Z|J;zuvhte(2)(E3F+M>P_$(KI zppFcIP|6ZZ94Le%hPLuKrI)(y?l|N>ea7Sh7WAnbsmIG+J3YRSJjk$w7+?tcA}2vr(N>jnd!wKq0Yj`+j4|&|hAa_b4Qb05I7kWH_<*-{$GIDi zi^-1QhBN&&fG+R@xdqFyYa$(lOLAD(MU(#yZrCbl>qy)7qc0u5E`^TxwG5#rWL2S) zGF6h={zz#BDuVhOf4#%CCC3%phs1FOu*ZLhoA-*VwJbo={uB1=*(6yQ zRH8cSa;}N|@w87)5<2a8jM%YX^L*$aXT*dYgPyB+YvBuJxY% zSz}V-Ziu!^o?K?>h0=J{-sn|3!_oL$mzXv+*G6Eao)#VRO0^i&KqwWBOFU0$S4&zd zg`cB|^yhr$33V|sUHJokspsnS6%N2AZ*g~klC%^Y%^|DQZ|*69w%Ysw$}{rl$)ii6 zPC0YJkSR-_EXtJqa1K4PDE^uyL+>lV7Dqn>+m5oH1QG z)5)dFRwP0(i&cA4R3N4;xysHhP2+_}N-epyu-(otby;^1x#_OLfhc9l1GV1{hRuTo zz~lLt+n)CW6{SBi_LBEJemV@O4J8i#c+C638_HCa;es3d70z&cw!)*38EKxBB}(AGV63{iYa< z-+Vp6QwmsG3MPgc$3*a{SwzcYUe#$AKzS5=SSU9Nv<7%X^9#vO zFm6q{0ENKf>CSt}V0_ySZ_hsax@)KXJmh=)0PRDpx1;GO{Txdqv1LzQ&fduN4?MOZ zbtq%nrXj^gkz*OM#E@kG2vV7W1~9;j-F4BgycdLzWo^wD zwkK*#aP%MidFQ6o^Jle{*xGuIe^{e8^JCl!<@Q?;JPXai3xjwrXOFF4F z#p$=$9Zml8zx;m)JEtH|qA<(<%eIX!+qP}nR+rUf+qP}nwr$&8uI<^~iP)Xk*vXg7 zhs?)}d+#~l`JKJn;t-2;;S}+^52o1%O@X&G+nQTGo4vz_Z=d!Z6Lrq5?ZFGXFS<<= zH|y_b2%6R0y;++tJ8+6G)}s>FmDN6xVtXpJQ23KDdI_6pe^eKZiE5gE|K#5Sv9hn_ zCw7omy5@v{nsg&Hha{U~7_H*f;y0D9Te+A7shSb5d&DnyRnb_7b9>|~cqT0Y7I`0O zpJ=%ry}O;G=M4N*4F%ZTjXOkWCTP6M*rL@a^SduOl!=0}7Y7M(ptI$gbab%;C)uXj z58`n=`}Tif^A)YKBYNQ*XDVPlRG`0niK`!wb>0W5`lQtKHfEmKytuZp{LQ_*|5>s9 zpKHwDN?J|oe|2mgEdMX!?EkUGIGeiv@AFr)_K(|!81hecuTjCf)i^rv=|(5&#iWzY zZlzcFV&wMAyWbOSou3ksq9o?W`sXcsqkfUDy1YtrrL!7_y0hL#Sbdu{yZy<$wCB}JvN;e!b8rZ z^>gVy6j{uxwJrwl!-0}!5!*ZhadbniTx z+ok*7@qyg;d#0@)svo9*kI=UEh?kZmP!0zk9lDE%jMg?C0xFJ_H41+#*B>>aW$p=X z-|vg(B-HGi&Vi*u;<`-UzXy!|X$T?h4CNR%%+8-dHw15FIOw}2^G+@l&$pYWAc`c{ zxuB*uhXhT`MN2fvVlFc0FmjR4V5jgu4&HmxJbJ5GJ-1=Y^n=O|B*}IomdtY5(aX`- z(baEKyfa!u_#H$h`0>>OudKs{9a62(0EJW7g|rF4j+s`D`8#K+kRXeFVj)D(V3K05 zL8WVgZRUX;v)W$FMN3|@OCoSwkD1kI-PYy0H@*IR+)Us0>Fn`%{Xt;2SK5d`FjHek zM_;r51;OF#`#gO-ef&Yq^Ff}a`vv>c(e*w85fd>O{)*SZSOWwGCt2=I#p*uYPC7&r zFJwy12W7qws*W+cYBOV)v-QA2)~j>xjAcfgG*%0iOQ93OIXT?Cv0y!;j2*{627Se@=8|FyD=%f(gIS?=oqUMu|zcPFrqdq$xfDfj$+sTg@VFR9W5u z|Bd#y2u44R<8D!4sY+gmB$|aJLJ+)_)GM zb;_&0QssT0kqp;>dUfKaVA5Ah%3$`uZ9^4DrjMjjVN0HB?eJ25fKL7%pu9~Dbl3Fb_{fu{*mgx_HBt2 zsCdYG39gz*Ezu5}_^QHlr-0-K-R@qZ#qtXhr#!ksfVyN2jg+OgZ%x_*X36p!myu|M zkhH=E4IZig?#d8Bw}bD@80y`+4Y2C32Wt*%FFkan}(^pseWE;Eyq85oHzh7gOaEZ z^ud|7t${*{je#fcmcyZA z7G;@JOo{#ris@!t!u@(P)6JeJQW!Siizcdy#8D)-2%uVt%!%rfz5@cx7QX?a^^(HV zEo!Wt0JMzgzbY~`#xcbJAcsi^YeVc)PxA@Jlt4%UF@Z|xGs$}CTYf#+eCBXZB*RhB zKs39pp{L(_oQ+f?oYOB052)Rzc88l`a0OHY#gGsF7KX(W&*8`|H@cc*H72zPx-DL3 zEL*t`N`bDCQpy>TVRq100EQ$<892+n@B)m$i5Q+h&mx3IPcA?UdKz@;3RF7Z#3@4@!tE6Mt9`r{pDmy@$&nOI)3%~!V4{UKL4h09+ zX>@+9mYB48pbmI0x8RxkJz|J@^0$I^5q2I$>4{Co-UTheE}nF_NM*W3Ra3z*OIZsj z|I7U*FK5XGSLby+>lEYRBJ*R?lCi<$t)R(y@a{KLH+u<&5HaS&+g}>-{llqeo?;YW z0xK%s=-L>;D8dUaTx0O;$nxgf^)8v8#Tl1KC~cB`*kNqK5gn{uVS*Gs)EM(K1u8k6 zz9v>p1*f`XjB!M}FpLfkY=nsvQ*}fUo}AN2z938uX&zjH)EYWdD78x)qUHL8fuGEa zH0?uHNb$g%F>3FwB#XL0*P?gKH>6HNQP@R@N>K#t(HzV=Wy$44lmpCSW4BR>>pkto zLsyFl3;gf43Rtt*%L=irvZ|g}$BHnwvYLU5zh^aUO^P0<^im*7l4WVC<%lkkY@$Vu zXPerRnBGzYYcBYBvtf(G$4h|F={2kaaX{4mT|b`pR!mISzQg5}87We7>4SFi^1Ol% zysHzT%|4oH^GN@3uSYGCLLQG0t}u4HqY@Z4(}>Kw|1ABDT8)WfS-;y!jCoMg&Gwbx zjQA?2T7qRn!f5>=oA%lvkj##-atHL`5F+dsXW>ox6fhb~RDG(+W0)HhE-+O3DieXjxhCBv^qfDmavS9Ct_SM}Nyn`~qi;=#htm2C z(w9LQN(7D`3OCJ=h2^zgK$Z*B0c@(Q>_SrSmyybZJEj|@rWh^+DEDX$@DE3}4g2Su zlWo+7ll$gPjgDtnZ`ytFLLi!E8q11W?&?sFzS~!k-z}tzj2@-?GEN%O9RQH2ePbv8})f#mI zGCJT zf*LmwCH?C^wE#lfEoA48^)LUKe7T|O*=fB5Y%fHzfcI})=3a?yH>F;iVQR&g=ErXJ zCv$+U0?auGSW(hyGQGw5uOdQBsjlUz#*70KmupK*Z)N|Ew&C_}WkJI3+T3e+Pjvjf zx=8gpj@A|!l$=~|s9t4uH`X@j*I&hFjNpp;Ru>AYTqcO0=rStp61WR`Ht!@N+}?@_ zGSeUXjcQbMv@=&)Y>t_+*2z%tt-4!?uh>Z0ka8c;L_@1poNsrx=9zuKP$$L{g&#gr zFy{^W|K;FtgpOk!+sxFFU0J*7z16rz#6 zVl;siU6a>nzywW5*)?ZI*3gn&?u`dJR# z>ynzLK&|z5GL8qUCkm2^2PQ5<7d4pxL5#JHI?XVMB>LE?wEZjW??CCuhsv?jcEKhG zZ9MLL>#f~NsSAaTN-=b-{E)6G5|OjrF*UWzuK{4nwB)6B8Ju8q^d7VL+zgnyTj{uk zswghjeblS%CCl{uWjV3os^A*gsLtFi=r65VX`8ub2+SQ-A`;vicE18G-8heLf2JCqQw&YF(13-rt}GtG3mR&_7zH@`U0}d6dl|TvD$k zbzT!-)QIYTDxW)tQyR7Bax(nZ8V_6NMo|8I)a*SAil>x|5X|iM^!D5hGrQ1Gr8!Sf zv=YM~BmbJH7M_;Zv%4rWd8<1Y$wvJ!2lskp%wwVBf$V>(vw|{MEFTuGqf;)wJ&XR5 zQbQ7N7rI9mOve`Ke8i4m#$OdB#lEP5C7#^~bTHPe32S|>iVu+9^2&di?>jq0z>BirgFPAS-b_lkN&IkE8dn}g%$-A|78(;K{eA8MS3&`^9MwV0x^v zJTPZOFx|z%H!}QN4rR>(Hwj}}_9KthjAO~h!2q!{Ea?PLwlzh5Q^pi?&3>I6o%EZI zx9yhYjTh}Ft2gle;DwBr)kGarlyYtWyvimV+Nx?xllTwr_xRlO#pE{5 zKO%K1)TcENyuqz15;-}InV?5bMZxA?Dn`gNr{gxvdLH4E9Eg!9y9zAk#(Eu|UWt_` zmjoM%5#TYru2{daT^8PwE8_wif9J}_?)OINIyAn=@5T&QBc-QMEgmu_r^|PZnY1kJ zo68QK&3a^z6NCA%9@+pEu5G{@m(OL;gJ}=?EM=slu}7V@?**G(CXZQkXhM-GOVR3k#gjCK-*$sTXAL0IS^wrt;NU#P+Pm)Vc$QfVO zyo^Y5Go)r8>XBl80x!0SurTi&Z8hsOmxZR=EI$|8EL)D3PD`L*nsdjElz6O`0H$hP z!sL$=Z%_=w5X~9eb48W}-KbO#?-uJI4;^2D^E*my1lw!BoT^_&!NI_pWEPEcHRM2p zU?}avzcADcR?R!SaSMW+4BBkZh971u848o>M`)@0xwU*MYRn~2Dq>=Z_!NvQt)%qK zA+My3rbxR$*m|;5zFxLIJU5%Nm!v&4h06P6!m>8`2wl=>-QpJ+qS;jMwTK2ky@cq=6SPio%Mxc0-oh)`BZac$$v8-T{ ze=%nUcMuu~I0dtPU(@rxT|pg0c)AE(QC}MMw3Ja12ngEPrYC738l)2u^ew7A9sSM? zSs63b{ielj9!JN68}$mOgT`CAP%qKyaV%o7JK?X|Kq69(rxKi;B$FUbsNa}2!U9!? zY4%sh$pYIL^@~Jy%X*CPM#YM>I0B~Je{Rf}l`NqR8SkNYN-mR zi$ESMjY(i4%_hZDk3fn$Yw$TDaHcG%{euS~vxN?lH+C$)M|bBq?;Wv9J;b9^08lYGvtJXs0n-`HR+o(q4=ns8%!jpXUZAs~V3R0&^cbXKA-G|rP_fNV z9}F7pi@`xlIIJjj4y|rSt58!}FOe{;n(#z8tVqbnxrs$NAg*5lxR2p+WPCEnZ?#84 zSf4W5CsrQLP+rAHee4*ThYPze<%Rs$>mzTlNGxZ6Ni$UxjdGUI;?4x54d#)OS(7T} zpR7m7o~=Zp4{}04lo!N)(DQGBJ$x`ZECohDR40fowvd1y8X@xpsFNLuV_-a(qd|^D zj_3gN%o25ws;Ixn(v|}i4)I!?n>RahfYLArn3(ayxqFvht+1R-XoW@$3b#h=Zcc7i zPiA(E-@VnwC@gRQc0H&G2Z{0=; zDA4h~o|0>}w7Ja+0Eu8j#F10~sM)87H#=j#a=@3Z-{bLfpYVt4`)>br`}plVs{6-p zc=Gab^6~HO-bEB%??>?0;pg^c{;c8w8@&TU*t|j+aSQTO{~Ytaqd{~6a@`d&o)Ogi z2=KQKs)qRnG(%*#9I>)x8(ayF_F(Zyx1O(}8G7gQuD3VqP!@Y%o}WS3*W=S5Y@4|_ zqSChAQFdcM-i{U~E(h5j}z1C8cPYC=)+BRj(Je9l8jA0!l}Oo0a@4b z1F5J!v+_R|l+lD9-tlHnBoP9ZBN%=|;S=M~1zly3#TTvf%5T6z=7?D67cCjzrlt!= z;h+ZZ{3b0rl4`GW7 zB&e=LUmb;+>r=a;#&NSHe4Jd11PF!UxW6j7aqI%Qim^S-?r zpWaVKV|yPMpL~Lee4Z_!B5yWhKE$UTNaC|HiV^0401Q6(KKx$Wy_$;4^@#> zA#aOs!xJl;!;wDUKfQ*ww^*qvKNm;>Yuv?w@#dGqf!|La@c+@Ze6Bf_Ar zDp9I46BATD=1Z@-nvmJ}rhGP`6)=~M4+j>IPal^M#6oDpkI)X>rm34to`5=hq$5qJ zzYNrvo~dt62#fhC*7zgDV!L3g{J>R0My+y-ct}`9?&e$sKopqtFcRO}7fbl0$Noc8 zp-3P!%^#@Vk!>`H?<%a@SuoHl3%XcVn0XYZ0;j(<&E>k%SP`*9pzd7i{s>%HSxpyq z94)Td^LGVUMt5!K^avez0h)LnjANTcW1IsWYm1307d#(~Nd@Vxa%TnDgJ2NXFOYjG%5SO zJe)j4l!^E{myhyU-0z>CN6Litv~6A@NLBV!?c z?=8M(F=}5dTl!eZh}eFk8O%j!;@;=id=*U%>2JY~=QE_N#MN+rT7+mb$GH}LN%Tr{ z^2>$*y&wi=#tP+;2Ck1DF-@Ra`?WArpQuqvxfvp(ygAq>Ai{td%Jb<>wVl?LygLlJ z>yDMv@wX_ReTLKa&*8TpCyB@L>8ltAA79^#Xqgi^!^#`_|fIQKuHwwCa#4Kh@M|?iXASl zUBC6VI8TGy6S-LT5|MI9=PB)Lotj{c2UD9ASTRRC+(DGCv-Ce$y=tgs>U-DweUEo0 zq4W%-{)-`S?bPM4sNC** z&e(>*u*dJp00s33ZWG5%Y0Cl!?%GgexvXZ0*%XDo?_D;cg#rmh_(V*y4P1TrP?G3u zI63xaX;pL3IcNoDv%GB8otB-u0s!RNFJ{d) z1OaqLtD$gs#A}KWW`QPNAVNucP%F)J(N$r-^xIB)X;Kf=tO}{QaH{BoIh$|UyF0jJ zKLjI(uwuaZzQ63b@9S2B7*bZ)#qk6Io3XcX%X4eOh#y~lBEUdLl;|;ot-SJY*W@Cj zbyB^9*WK+E*$=KzWcmv1uj_WS4lf;>o5yP+lWK80 z!g9XYL_F`_+N_*v^P2pwuKSLUWh9CkRXov zs7?slKvJtY)W@sCZ5QLJt_B3IL)0g&X~CFdhEIONm30whnf+$4LFa7VySdB&eSwAf z&^o?)eLnw)O&z4A=Hm##uQ1}{@pmbLG#_|^IxaxXW9U~;5aAh~DbH?-mp2}|7(MB2HX((NV4bP5BodC zn(!bD1|o6-O}_y>CTPxzowY?@m931|hXY?rcC%f#_U01VnMU|ol6SXl7QV*?X~RhCpkD6SCUHbD2e3m!Zd}eYzc47&9svB=KQnyXF&WHAZK~kK2Nt$JX|z zA3C9@7#MaQA-4y?%a?F?+1NTsXhNs$OF`lMt2h5I#pivwR%pdm#UuM_IV)=2qUB9Ki({ zd%SBBb}5E@eln#usr1HTI2qnWJj#}@%OTeJstUiHn2>)0gRF5byQ8&S>6>IQU1{`uqD|4sMg>g7Pj z%;(p7m2$2UUd#zlH0xsF9W3ckpR=QU0C_F)dKR0p_u%uxNcq#+ySN*ytq3dN1R_Sz z1NdB`{$!~fO#J{M7R=~<+yHtdNy8HL;npB6*{Sd8)vROq;1*~49 zMLE7;ohJ}lxO9vSlTI^&;8_l~H&5{>6=R$)NCa_7ThQ6Sw8|6=>|f_EoC@}|E+iat zypyxlMCy@@1gWQX9n*0gvY8=5#V|+iry5MW@?cyJ(I~R-w6~N&iE5S}jB!e!k8iUU z=@eDA1ncc-jK*L2(Za*W@!tq&_Uk*ToU7Qz&t9ac8N9k6+688mnFT$Z+KR7hxF8uo zBiO8(l!hXlv4WH7nvBN*xrP?WX=){h9b)oLyW|3=h9O{sP*LPSxNzi$k~YQOnEE+g zUcOKSAs85gkCXTJpgX#KXWMW8P~WfHoZp@xgO9s=rT1@_m~C~I!?!6BHUgqxoXO@h zfhaTFQVLcJ_T5M2Y2m2V)Td~q*E&0nss)O5M-_-0=+G5unw;$vL53qWyiCzC16FY6 zs_Dp3L4&P>`iJv(Pfr#c@05HVzNoo6IoV=&9uRvelxev7dNH%US$#x%W(gCHWG7H7 zx~%&lJe7=*d1NnE zmsF^x2uZvn4Emv(vWmzh)QFiQdyDeCbB-N@Md0gl^9IN0oLcZf7j;V52fG@~Fklyzi#vf62mLF_SliY0*yrUka3*WZ6WgSFN>Uhl&S9`m9$NY-|LLNVH= z6}i7p{~Q7Jm4W-gnTb|gFb3XXu~vbnWgL`FSmjY0;%RUNHB3B~@ooS`iYCqS)xhz6 zc!LyD`S{B7F7`mOCx#Cv&8heG%Sek2(7)mi8_eet-Td;)mGD3TA2l^YVF+UnLG#4- zu={n{f{kPd!IDhH?UxDLX!E!k5&){l+iPcI+tmBFOWT|kZGx252lt`Qo~Ay~`idAA z=bd~Cj$QSbLVNT5HRuqM4VPPLr`ZXOcC?zK4i&bcf?`Dgjmh*}mN(ZDo7EAO&=95RwOio`|KOnRuEgQD%~(#aO=Bd+Ri z8^$oX4+~s&i*2R~^?}*HwkDb0jpgnEEvHGy`MfQ%BV3kOMhj!M%0|{)6ncbQoq6U{ zb$b3%sGKp5&+aN89xzoiNiH=AZ@WiQ5r6kxXQxrA-HmDC6o?ohNk&I> z_8{Xx(ZO>F0x2%~ihjAt`9>V}723~AIhIUY5Ixv9S#>5Ay{hIeVna(} z82aMa{VgnGwtnr~HW4`9tl;A%>=GLD8uvv>E%Tb1^Xj3P_#3i=@^Pf1ylZk8 zTT<1({(&9HAm`ZB0%HYeeHpVywtD|kiGl_b_fTtj6<@8^&Ii-gVVJ+vroakHKemq8 zK^_TR#@0~88KU~xi*6u*#O=;#1f2UDZ(Olb%u!CD^M49CD=d_YR8T;WWp+eli$@a2 z;@HQn%T`pOJJ&l8AZz<8VxatqS7%*+?r%*xO|?pta8MJ*4)`(WKmfHB0#o7DhV+@a zSL2RPmg0=(sX;mLdWjykTk3ek8M9`Uprn*FGT9ypBpeVLT4z5t{OKj#*+2PhejRGw zt=I5TvHH=vdCz!&9~dQyK%`FP>5!M5>wrg^Uz;4xKzSDe+~zD09`rV$q+Fk+R&?&&X9VXhRK?39P4!LKDUH3)f&6 z=-TckwE4J0%^Se7KD>6mjVW{Z3%;V^3Uy>$nNKxgSir(|7#_$3eM<^@@V zBfv;%{f*d99kEYeX5P6R##^W7cFk5fY-+HGzMc4E9_}m~LU8v$Cqp^$#5GdJ-EGPi z3lu^>EGU6KgCL zxwS)BeobaznlK7vDJFA;JSlydY2HY$f#*%rYVps4A2ZAg7MIT{A9Usu0rC}ZRj})R zQHEX5;v<@gSRH8@pE3IyH1%=LHw)=4@7$1HymZR^B3+Db(?jEo-t#sBKUJpR7<=YRFF{Wp1z|M{({yMv9rqp9P+t=X`4wEZSW!;d;HKB5HV zAeSzU9TC5NT*nMs>)TmmX16Y;n4n}+wOERGLRPHHXYVd7KZ#U|?q9!9x3+512xeS( z^N?OFCibqhpTyoedFtHlNX;Y+V&lR9^I@wuN?8ItrU{W#y}P^QxpOM02ntzTx38f_ z_)Nt3mMc;*-8OJwYbVhJIWqiFIww&P07 zoYh$#AJlYl=$p}iIS-c1(L4S9coNyX{?qGujl>Kz=JL2U;_y3s2)67(&~s-8 ztl6t-*z;_nWOXuG$CDgXxQ!;KvgOZ+k2HiV~d(aOG0$ks%>^2s9J^vYkT-hYe!M|Rw!F%~!Hac48d9&;) zimORU{NkbvqosbQ0icgGx?!bH!R}IVMX4%Fqu(#jq1$`01JG zpyCAOD6qo8r$%PUqZ>HPZA<1J9ZL%dZ?>3eORU^F&}Q+jM9Xb6fzU3H=V!HcC-^e*H<`7A&L-)X@h6Sqry}0YHRV4+fO|Q3Rr9Sk zt~k)^2r!XiV<*K;Lo*#ul-@JM#TS*_Kg(X#xzSoASqA9}NxGo%9Fg*@e(?uDLVYkX z!T{$ZyZdu}^~@TyiWNAT5!vYQMG}UcIIsBb!h9^=+bm@Eqob>xOnZG^Uysp;F3fwW z(x`*|-rc!!uXcrH0{Ybm$s#cpZp{rx0bnsmQqA;H-k(&B*@t_Vm&QAz#Y}@>Y)fy1 zFC<43C;)B2d3H}03GN=G7@1f0od8eoqYVdCkIjjOvjIu!wGU(5xvwdQ)&sWDV)g}~ zK85={=?Ch-Y3dpw1%V8)tKx#*EMF&Hk*NPwUV(^k_qGIa{UQJ6Q9}Hd1`MEzc5rZB=I{(Y z6wTT|)!dzKJ44UNf;oo`H`Voi<@Y>GDIV>NML4e`$d5gUiu+x_FrC4?m6vV-194~^ zmW>Gzk6x=;~9u+WLE^+J;OWaLRZ?Il~SP6lBq1}kR7hTAKRW0qVsGrrG%PN zOc$BqrNBex?`FdT0jgeE6jY!_a1S}@LZEofhEt_B_4T)Qc6hhoL-5;=<>#ZMHRun0 z$)&j3G^z^mdO_k0cE(TVo6e4;@x$Qd2jFKLp4tP;R9%NkP-VnylL~$%MW1GSkR%qt zcl8xP9!ml@LWzWN=xfpNjg1SX2x{mS4r$Xb@+f%#|9xc9LyOb$YvBPNpU^2oJ%Y78 z<%EuG_t673$5id@S2A71bg(2o>2~a45z6FUQK%JZJt$k|2>gZBLVczD!#RD* zBcgb$VE#Jm^?7RF`}qK4VrYqOl=6bFC15j#_stgfBivOwpfYWD;pGpjK*lwmC$hS5 zV*e)O4rfdrr)O1l`%9&VqL2J5IVw+rvRGRwWDV zpxCbqicr~K4`{1b1SY-)dUPhudfOnWkuHeumbHUl61|pAwK}bec)apm7lh{T;_TIV$T=!dlbteHc(3dhihPl!qQR6U@auql3wwL# z1{zSQ*2JHTJp10PDO;$)v!&17EEcVuIydsVzD`YI?o|OxT5?%?=*VIZy%|Is0j?+IfUUS&H-8Wr!TPmZUv`9q3-dbP{}W7vE^%K zowUL_%>+pyDD4erY-1=yNKg$AO3DfNaMgcrkQzV_e_k2jJ30z@6k6`p!vaBe?*bK| z@Olb3GzRQwf%^Tct_wjk$mU6hS`P(JTT&UMgg>`f~|ibRb}ZZ-b7PSYBHN4&IEI74$a58d%; z_Q_CHD2-6Z4#1_Wroi4yo6>$3)@Ev?ClF7rfb~y8%~cTQgD}~&Mua7oaY1u@h=rMA z>)Ienb^A=iiCP4yO9}V7_cOezDR%?J;04T^>M9{nc9}?#F%#0SV{~DiV=8jiEt0K7 zpjAw}NwP`n2r(PD`EyDs^*4$KV?^L>YK3kjU2&q7{TUF*K25t6p%7R4Gf50V5NDxl zdiFkvGH8YtB-%su&+c}zIy)ljzm8LW`+p*ttFmNb7C{5Z^P)h}KiHo|Tx0}K@~4a( zXg~+cL^V*jqvpBTmZhz)v+eEcn$Iz4j;{|bfvIg{bv%PltMHkMZC5fG-pG+dku688 z9u3>(^1bM&tNq{sG2sJiwV~B9=l|Le3in(B-BiJ9(R?S96TV*@q?Z*T0$DC4S-j{!RZ%gH7Y1JlaR4&~ zFHae2`i7cziwbiM$EHa35Fb*DNvP{mXBzgh2G(Ak`>|RB^gO;pY8}E38zMcs1Rv&j z?9u+XT<;dmeoe>EpC&x!J?^Te~bc ztH4AVvP8%At^Z>UkWd3N-~_i0cnVaX{4z$pnQsG2|HpBqFc(MVv49%0rgRL)pQwep z8xmNDZw%d+x!OQxFidQ;SyZLBg7_hI^!2j-@n-J8&OmZ=++8xLnYo>y#JcQPrKzVu z4Clb;yK$P*4`mwtJ(1L@rD^)*ztiTaUBdG2&4_7*!Ymzf8j5z6d%fmZVrLJtBYQ3b z0&nTYOnU?bvA}ffLs_?T1?s%Pln7UC{09Enyj2q$WBJ^5)Rx$_p_|oAljGi;-A+|) z@D!fvbaM}9d#Q;AI+$`E)E+3<9|bURfoetNNv1%Z;xFqQx;5&-8$qQtOKE~yWW zxUDZHka9gf18CTL{U?~8(^kMsdx%NkQ9b@ zCRsMz&59$6DbYNKtyEJkYg{_ySXRW?2|2SX)ZBx$pF==6{gRyJ=lm^e*1t}nYwFK{ zCefNs)d%VNtD+?Xf;9oj(yMHbEr>G%?HnVpx(T;Ub>3Nm@9Y?ETb?vI3(K^4@ zKRQXa<-iAU(d>$L9PY(uuJw7(=Uv?)-_^h_d`~g-`iPv^mx784_j6)>Qjyj#V@_b2;o=F;d!)v6ot=jIH5MwiPT+$OwYXt2LF!J8V8w{O z8k&uOOkw+?hSm|?nGuEl5HIh(*6z8>6Nb>Q&@R^sRT*DvK? zRwa)bcWWJ;PrE^)x=Pyr?P~J zFVPY+{oc|dF7#-`EkKA}KV_lMS`c}zp643AsVuShpv90K>~I2|<45LgY-t|YUQ5xH zzDiC^9$NxstRQzpC> zx|Hp@WV{trc?n#NH3U3)vAJJpN0DI%-%%+xH<>mC!}WTy6Yr0Fn;H3Z=XcU49TWdF z4i__fd;P?Q*o}F7T0zV4EkgWBh-;J9z?>J>k~t@Zy;SBVSZ^skZ6l4n%8y%P)!3s) zhNN*^FTcoyF#r~dJ+t7s#i@oa`eVihBEofdX9cIV3k5ruyNjTa+NBt{Q(awx(u~G^ z@rOsPRrFrvYu*|emMX7gW~lszj{XM1UBp+c^9c!5cw^mXV;x>gYd^Db3=j~yTPn}w zuxZuLo#oyK1E(y)#In967!&n(?4vxdBe8ehwgMz|RRz**$EzKh;epD@6_ zmpOETa8i8^{lxZ`P&*W@?))x_X74wRJ>JAe$g6M1U*P%8&2JbnTi?Lo;&7A)xum-f zycd$__?zKgbwzN^AmC%sQ^xT`xOy&kiM~ zbj;+;^isnI<0~|b9~}=cL9TZg( z6Z-o;?QVVyKC}`ZX|jk38k_FBUb>|z|6L21yzIbokQ4qON-XNzX?k@lM|1bJf<{PB z72VK@sj(zuJ(lD^Vle^tR8E$U%B~jj<_2|ZoBVYxGIBvIbf|}Cej}oUM?dVi{BrpA z4~Ls)g+l`-e%7#)yXyihHGqts=Rw$%5#iLfmqP)_|w19Vqp%=Q2Lq z*q`}#JqB#BCPUL-9-#~!R8+r{YgZ1O6t`5Lh$960fl#9il9jQfSs0I2lpV%Y)`b454Br+f=)Vi-BvC_ z3!+Ab8Yu8ewKJrKgK8!S$3tDEm&QvPAWb(iVWD1vFZD=DG)k7+{z{xk50*}4P{}z5 zn$ro6CTqtF5RkC1plEcIpscBp^8}Ke0nYS<=0max0I+D}fSeVQoAJ(J*ikXLyq~I! zB%q^yLe9VVPv$yi@(EMXm-CQ4^UX#=GECGf-;QhCnbb zGh=-q+4H)3kQ-Ho$6u2p;{&0yg>+q5PsjdnrOP)PT#TL{GLD8)(b9$dH%H`V0DWkQh(Jx(sM>>uRuLK3M7q~4AqTP990kkb-& zT?KC;Ppex*-EShBcM~Ei*u@4$Dvkl#*fP)KFRc5jK#=X+D%kAC;eZB&9pZm()QDxqx*=vWf$FU}Q)q?QoDS+~B`S*M zPmwZd#ve2Ck;|?=y?s0pEDg7-)?f;{C`V9OsBv`Sq@U>(guuEI>?mFC%& zPkJR3v?hRAO2#TsfhW}`HQ(@ZiTc*P&|2aV_%Z9Zl@rSyNUlAiQ+m5ra#Ue~DojY= z;j?&3VdZ$JMgE>M-HHAB64xQ)QTGl1tLscUcBd4>sK_imXuX{zBl78c%bOoJsEv?u ze{;zG2YHl4`$WCb}y(u1{Gy_*#M&2CF*&=@5 z=)Ff;mB^gqTtWRqFnOT)a`d0CV-pX{4LLF7Ho`z|IU;pZqPF!27?N#dGx+W5v@?LL@S5!|DtogI0&&(9S%a#>j&2=BcmmfnFSy4U9`p0BZMM9cYn>7-BaHobA` zmhqeZ*N9(V9N*+qj;U&;`)48?B`@i`j-ZAoRR@I(#Ym5~jJ;bGa zy* zL;e1w@xA#T{{S09<;OA#C~iF8!Rmj%pK*7sJ^N7mk$#W<=unVt z&3ffNRlC=m=DqOVeAKR*U$s2%SYJJD?(V)kd|ZEhajjz$0RdT=$jkG5YXSoh>A&ZR z$h99~+s?53!TSaLQ?~>B!jwhF3k1S|OkRs7fs}mMA?J_`i2aAhRQ==p4S>SlvQguS z3DpIm@-Bg~L7Sn^_E{(ml=`y);c@>tm<2e80P$9c5w4r@^st^PUwcyiXP4OvUeKPYo?`i9yu#eqcj7j` zI@_ND6lu|jWVoWc;C_>G41}It|BKLgYS!PZ8~zH_%r`_@8l3R9c^S_8Syb`C2h)pv zZq%{DTNE^tl#nC)_XNZ9fNAzbP+iV7+G_b3gPfeqbBUSk0*xq4k6afJ72s%C)~q=H zdxua%vLZ~@!|4LU0xAIBb*zaG3NrdrP7YrRXJd3^8>0#(?xqJ#g!6FKb>{sNs1Ebp z!II&wAw{yzrkRf2&x);B*HG4N(6(`i1Ce?tPX#yeWL|qDexO*??d0b$il25*6fx)X zk{pEe>9{e~a%M**(f3<8*3uMsgL-*&QHKBt^11X{LMoHbva9abNF7BHk)Ki#ZRd9O5h>3j7u>Gxf6 zfzm~@pNPPBx9wKM=RgjSm1{zw4Yw*;XW#ZSW%2A2W|2oY`YQdbJg9Q4PaH6fBun}? zapk?Z#w3uaCo}fSxOJ~N@H>MfU%pko`9zqcugNQZlN>R=@J~yWPqe{b;66=J%VAv@ zmYFP2-b;3xX@2~cwuMc|VwGBuMTBerOuB9Axf%<-3Wly`)LIxFs@W}kv8IWtK zP23yUE~EQI^CL$Wmd|Y=IT~_gWnN6dcodTHSe7j^&U%x=_uy3`1ay&kz#zQ(LO+KO4uu{3mVEgbCQk@sq z80;r{iNqzIB~5Y+LZ)7KZ}n)&w-AoZ$mW{&2ii(6I1$RLkPsgYBpKI~cJnOXXN&jx zL=D0ta-PsyR5fx7z8FalYDg;kvQ3_b=JW}`ewsp#2VgBYLaYuMe$*6pY_3Gq#W5MX zR}Zg5xg*2JAD+{_GfFh?7;|i7Q@-uWs+D-*Zhs=9Z}T;>HKBEn)en&Gx(tqi+B2z@ zphj@m@%ElSonYx(X#2BL1uFu6DJo$R0U2f51#}^U$Xy9n#JyrnS!Jqgy;enSkU&cD zN7&7x;(%MH=Gn4@RqoOXbP9)*=HvY^syyw&`)znYOOo|sz3}!n`Zl<|W()Aiul!9d z70DlZdv+}%z=^Rk{Y(il}nf2h0QD|v1^dN&t-%V)VlM!)_@MadB6E< z(*!C^dv*_jqBK90Ft^epz;N!t$s2o%3pJ+rm9$;q{cqABm2iv)ik#91IJ#VPGFP9t z-W@G%M+s1!nS!yo7P`S}24OI@v9vX5=bKuNN9*|@$M56Y%-6cT<+D~k-^nNKH^y~3 z<-R1sWCKbTgfT{Z*EIxc1}ggW%tJ_OzO`?Y1-H%iN^{AXnu z%BgyM)V_H5Fph@T7)ju@tjS38dLsKsaj#pXZwBL9SIY?+7bj4)C|DDR4cfZC0QaofGxVecdY%Ni< zpgAm|CvILcbJ8~zNFNJP6P~Xr?MbqhLRUx2K8+mwVe?D0xuZ7zxnefbb9zaW_?Znc zsIDz@&xi3k5U@xebB(OyA4}c}>|^9dGeI;7kl4uYZUyW<8fBuMqGxJ@Ul8T-jD))7 zW!Rp_nezI*3D?jYq++&X4$7Djz#(3oXzll!jF7`6f zFT!^5Ixl<jpE)XXW?2*c-ng$n+#@UtFHQGtIW3}niKCVmDU1kG~ro>AYPQ|S*KR_gFKHgXM` z8vfyr8AKI=vjh7nRqHg$P^VbBBl{XtLegSk^Eog5+a`+GP<@H)+44gBFXkt)iXGdv zTUBACc7+sD#4KRlzT3igq z#&l#Vyn#%sG+I0MaokiL(FgWrV#a8D>Nhz`&q!+I9OnT4@7o0zEB zbD?O@SNX!;2gl@k%4 z_5PpZzlmbCyc?*aq~Pvgpfra+WtCc{wllQs$GkI2G1O6bmsEA*k_4QIwRZ=a<9yrqO&&d>Z9xZ{ ztl1aXLo@?3AUIrEFk|#keXlm2guJVsE3DbZEBJ4vY2AxYS{q@ZUN_Dz3@WQ-GeO1y zyagtufds=V6`=-7HNyAjj+E9+*FwuQj+JevHxnJf+op5RzU=H|u}&g*FUs0pJPbV{ z9W=ca-Nn7}+c`?{tU|C9|x)O2zR7Wehrjp^Ah7&;845y0gEc2@EkeT9hh~Pdw3A|I ziR03klTlD=)$vGO*WZE2aGJPzR*@8UrOM-m3hUW`{Y@P=_%qPMTBXgm)=}28S%HN| zmZgDSr=8?*F0qROk@J@riw9>+0c9S3iQ-s-(e*=F{cW7qI`JdA8*+?uO!Z57*ua}& zsc&&)A#x&vjOX-REX6jVtyfhuVEg^_8}`5|iSK)?(=MQZ;Y>$GAt;99tad{14Y=}y zWdx>3C)jCYj7;|q@(HN!XZEvh4MEe?0f-P5QDq=+oBgMJZx{L7_@jVL#5!~ZwgyX! zrP<8l&s^qzF8r{4ga7ZrDTM}u#-@L$bu1VFfaSkCEyl+Gp0<`omNu3yo^-aRcCP>I zmKZhJe?eWuFPd0*@QC_o=d)jdh{d&C6Lz}pNpNmJLJ(5LHsq1TXcerXH9x%~7d&!N ze56QWM_C*!_Mu$Tm9#6&vxp=}{N43V=qPf*vliLr5nBu9392u`))}^FlAjD$o?6Kr zGf%yUtch5CnFqZa_*ZV12H-FCNcVqW_xX(CkzX9}l-?|J>~p5T4i z1$Z-b95sd9d=T&L`@~KY`1wO=SU^M1ti~tharM$mw~BjFpxGt~DJR%I!3UAUMct_p z3d;iuAo=q}e@z-WCY9+Vx8g?3o@31I(uvPJwNoq5XXJy5H%~6fkz9tod zHV_0^NI(3>YX=;)A@a2sp)I7(v;i)o?63_fFlwh(LPh$}5Z6fYYZZM05zVx3duHr| zI#Rh5m75iI+G1j@$pPfmA-g_@Zj|=|&gSV@CLZRA`&L-ijI0KO!<=IaA z5BmNjy_h0Ap1)TqY3Wqf@_n3qmY)J3rsx=^JxJv#k0?W?U2!-aH=XRL5xdlQ71Y07 zv#zes7rg%@@!gw(8O9=B(K`DJa9Pb{>|o5|yQkDZiMGY3y@c6yGd%Zz7x=0Vi(}iB zH1<3zr2_1+6X8dr3EXw3%t?;{m91(P&b5L)h)5ALz~>t+Pl_WW4Hsi^st4jfgMMTa zFj1U?=8ZJP>z4=|s;xUzT)M3z6gM96z-kH>%_%aj315{V1f*=Rb9igy63d?{#M=ug z;v6|iozn(U4Qjxp4S$KgnEgJ7XRSa{s;qOTRos#BJ*)|rN2k-aP6#JXL7MI z5w|HDgCl_)xN*DA*n-PUb^oC*Qz%nu?jCsebrktmPAhKPL&+(tA^G?0@+O5D`yi06 zPxHTi8T-mJjOr|6`7L*hG+J2_bb%-8oEfvQaYPf#(i3JsdZmKhi?+J8i60~KbwWd( zA|z?2LhZj_|MAgxxW`Y(39RN0CUu||8+B= z{(rw27s>1lQzT$H7u}?ytyN-!-ZBh0kWm5Ec4DQ5G-bH{Yu8;umv+en0yJ0bByPtU+zm z!0kdLio#b)wXC?q1h*V2xV9+0j=7*(_L37+4&E_PIrr!S5S{`|Bm&VuyDB3R3D*)l zERnBjxXys{A`-SSiKjGCun_x+MS%@^Vmcb*8J6Jh&>e9qM~PhUD{lTGR8-;}F`#gH zd*P(BKJ_xjbSdrVnV~e^U+;{X>TH^N@uXAsSMkIb_aS@{^DNtPN5S?EC#F12;%4%n zu4>8_E*0cQlq9J+;S=uFOJRT~nVk^Ja4|bNPK>*~j@)7V-+xA)6QpDJq0Ga$A!hy5 zXM_7NxlJ2M)3m5ZJWjVKJ%pMe<5}v*ZV6?`VF3@2M@NUtg5igU_>RgX1G67fh?lF3 zT8A~+^OX=v0-cKsfA0P6b`+I>z*rXbmv|ulOBqp34?OtQJkTxB&KK|Zs1rpXwjYG9 zB6X7KxEYP=zVQ{CKHYv9dvrJ+v4>kHOzuE)3R7h3^)V0y)R1> z?Nxx4FAnAI_`0+;l!ccMs}YbZE!pOJV#>~+ACzon%q^hI|S({ z- zTVQ3{U7__XsJ%*4T-Gb%9{JJ!G0%3Vug3zUT+5q&c9F4FIT^*qqa**t63{SKaJTF? z7}QCDDY~-3wve&Lf+#_^aym-vD%X-2cdZI#NjgWS4KOlS2{D?P1Wnc4CRoO($XZ(a z=~pUf)do+|tFFTiOO*v=n!NUs0-fQMbU$v(YNi@yI!6EBXGC# z<<_+>Yk0Bw74n{A(7LH+!6+zinMj3d-V+(v8$g?c-ao+HU(m&z zFn8j>d?Z2miV7u1!9#WJ9Ay}4uo03dkk(WeB^g60O-3<9UT&vXM1UjdoIacmAju_c zCJ|SY&n2p^tTymCDQwyg2(mY=4H>$-omN3|P9%I-5PH8ewax zZvDfP{Vyzt!4UjCHe8W?@+ZAKa9zBp8a@n)GQ~3qGxl7hY>+m$HpbQe(ewG~{p8|1 z_xJ0op;;B2Jonc!J|8OcpP5Y}Ff3%E`#89bI^oE$(<=y%K`NR^6Wb?9UO#D+rofQs z{gmwtv+V)xBdN`?w2byhy$~YWqKlGtf^z}v5`Irt$9BF;BstaYaSdUC00_+E7QH$z zvK8Ym3nBM3YFewNp|AM_@vfTvgCCIpeFv?Q+QVo0*VoPE_dO0m$j zn*k&ksAbdk!b8y@X_SQp3*H3O+PSD04}Xwg>gUHKOH3k35k%;_zugdVw=Dk=G`y+g z3Oh<`<~K%sU50Q-d5t}d<3h)BqF+eJ=9{;93+;Ma#)L^mg#)Hh!h zgjj*XFK5pFnSV?bNAXakR1KRiPkWv+b>@aHx;8)!F{5IT9UT%vw50|U9GfTgwVdVGcBSo1>_m=VThFNU|x<VLey z@W^~zoiolTrhEkea%9>%{^EFY@eEK#5kkzIzBP?i-lXk3cokWgfxf3%AqLTA%LK9J zzQRiFykU_~LuJ=~^}z5(B0hpjR-1}#@3iFf_FX=yYph+WQ@h<@Te*Bz|LxqJKsSIN zbDdMH8b1dD>&{8j)*dw#V2<5P8%08NN*28}6~Gse0q^;3r4eBJcg3m?^8BH9ou@ zgcGDiuPGuBGAMqlMwp;$^d={+%bmMudQ6!Qr^I_K5`4WqzwEwoAVI_)yip^Hd}}l* zHhe=AkiXp7$*m$8u35CGELn!do~A%A-2t;it3ic~7^8(~%pm5tnDIg@h<^QV4t)4S zEF*|dEO^9<;S|^b4;g74**i)(AT1!!nL*AxZO!CI!)0vVMA4uCh$6ZmOH5frz!KB~ zkW4>k?p*j(I`OFvert5pqI()a)+t?)uVHph-uFDe1sCevSBlcnU>;WlY@1`Tj&rY zQ4#P)ztg(QtfQ0MW$qNu=f@$rSteQUgs2C<;a-x=!_=`xycp{b<+$@F*w!(eP1m%Z z{g_T|?f8=obDEFTzmh|R`2#lP^c>ukl_XRf;QV%l`Izihc2}}R_x_kR8L-zugO!cb8DtGp`lbRf9+QJw(PnMca#%fFggX(X*^k`KY{^ zrUjIZw>ps1jEk7lp+Bm}?<(9lRxgWTzC&|T+#~gbD$FXwlrEdft=4&N_sm@aAL)YP zJnGSR!e^g#ZaQ|tH(|^exHcNtOB78wpGqyM3EF?bl-KbkQl`g)S3n4#q1_-4$AFYDb_Z3Tu<0 z)7t%P;2P{joEe8`^_SPQ1W1jzt0a{>o{1{7g(bzqfdl+BbK*#QV{&1sOrI zJSFG@mHuod%Dc)|`z$|c#&y)&G^wTpHJW`wj>bI$Gaw%x_F4w7zq;QMvRcV`;JNz8 z0ze;eJbjQG>I`VW_^U-FiBRDvDRsEOFO>hFsxV`yH<VIMiVK zb=eeO_1>kiEsh#*@Xby8cH^3-9bKVLL?V!!_|?R&ZRd{(CW&=$Bu08qew z1Au8G3oI_iXh}AVF0x9`9H&41sw<3h1F?r>y!kQg%}?`*cOnX>CJ2Lb8wU@g++d`B z66mxI5uPR@e0&MO^o>!_Ehqk21evi1nyl;QQ0e5cTv4y9LQ*4I#;V?n8q&)-!J}S! zyIg*yGT71*JS8ON>`1p!?{2Us*)(f*LMrAvsl^|7Ad_4yCk*TQ(|N=t6f*P)ITPD4 z*1A8g#@;!Rw%cpYvpW@HFN%aYTt6mkNYhz(m+$1=6~f!XH9V^4q1td55lneo>#Mc% zp4B&`mmkK%0~?P4F-FH=8p$kckcMyXEGy{^mtJEb zt~C85M>iR9&1Ce!$LjYt1>bz$EM`fhUL4Vy&@qPFaw((6+aQQsEX+T#NCgDxKfVPW z2fa+^W;A^D)+-Za*kON2Z@Z=wzhn!%$^PN`2@BL(RZ!nDo)IZ4FsTV3BL=Z;UXGpI z8HfX3b=L}k#{1uJPkL{{E*$@Y7!IW|fYzat^_@JZ2q{#~+e6^U6@ds9{m zxKmZ{s?4=W?TMt;xZYFuX1Wa0jj$CoEndH~_U6~8m1wiQke>F0!NGGF)&=P>;cuJ% zii&#w?ZabsCTkm*Uuv%776aQ#B{II1XVZZ!srBcR2NkXEexLPz=yQmSo7ruIM-T!sr(gXZTm5jIGP5}p zsqozTyC*2n+MFPs<0Gj&s`t=F0g!e4h4#ln?8Vq4+&;Jphk-YH3MF78qlWPm(5p3?nxxma>DG8`ay8QJ1NmXX?c#w_` zFFk`Hb?cBtkPEMP2-3j}tNmAkY^A3GO*pgsrL_}~^1A!UVHSBdS&J_C#TlvOO90%E zOb?_WeQ>$06XGKNgWz%$9J2!|Ry;7;o7_@M&S?O3CQ&w_UM+}&16O$KyrHz@e1EqoR5@5DceZ3t=AVa)+v@Xdd4iW17b zX#y_ilJ|eVV9R90nsd+*xlA78dzu8e>8;+-)k`*z!(JcmnMII_Qj2BJ?rI`QBy5>* zE=k7w%~(Fx3Ko%x*3UX&p;|i!JIfyAyQ~7>HI$LahcW=b8Mz?ICaPlKEdXo7qGW2; zE%j*9P(>T`YAlkfPCLT6Pt}GS5&0?*jFWHQB0)^|FHqz<`^-(N)yA|vfZ_&eo(rY8 z*n=(I@+Md%N*|FsZ;}w%EEpw^gZV$&lQU{YlQd-WSBOU`R9KL)R|3u`T3Tk zt9DAd5V~JAaT3*eHPk6hY-pfR>HKKgmDVdZB+l~TP>`t)Hul5E%VupA;mVhGTw6g; zjS+dn=5LGP`G#7&S6>vc?pf=fdLPp~icV0=UcxNoADoi{YB-{=WnFlPQ=Dmq66w|F zq*4+!S0TX3${9nNH3Jl85|+HSPTsR9aJAkM<=p9(h1lJ3#sXLDpgJMG2f^moYWsK< z^F-dGXNpFl-Z#^)w902JNjek0&Fr-eivS6mbjb|DeS$~eYbP=m2Ue5uzcT^|UJcm* zK~ym_>*ZlU3;CI%LzILj3WMN`$3sLoLCLhsHVitJh!=32y%^Y(tMv!jZA`RK?4F!a z5cN|U`c+HvPX~>jzu#Vt&v$E*Kv1i&`f^dL!E)|d?YUs2-CG=r9RVbDn!q@tV&m$k zP^FZj>sc`rr+>X`*_`u{N8O9Mgm`6(haYU1xTnNt+u1RwKT?}3+ZkeLP)!DPu-{vJ zmXs62GBitU7*D2F)@bW|OQ$NSr%=ppL1qOQWnaR)`d<|w#rP`{bnmJlCefYx%902C z2?dpN@darfJ{~;P(-!{;xZimXO#S;8wRL|k7N-OwEu^{n<< z?lPE30dL@SXMe}-V$_~rof6Sh8W2Y1xgZxIsGtXI-_UHq?$nk#*YR%# z2b9YBvUXjdw4xm08pAI`0-zW zzl(sK(bw#LH37xtZfi7yRjFJ1e*Rr4QBuI`yj3o`ieSzVAKWNr#Zbdr%guI^yyc%x zyFH-%kw>@!nVYTRV|>$t6mM36hU54l30^w2}6{X0_QYGi#qzZlpM7Kji{m3Z_Rk44-q*yPk9 zA!6et(MkoGH)p>Hei{LR)AvgOH{ZJ1Heh-EX&B^KP-}P2=ff;OF@cASS$}A9PO$m7 zAZiiH*fBn%AMy4do>DyNEq?S5tZjvHC}H0wW8><}aL^ZD2Hf24d{ZBU!96DR`TW&K zioKeCXEvYW=%EK@0}^_w6ivxO8CZxGQhA3Bw~Q`d){G58m?A+qQm9=u9l5Y`Cry;LTcWLr9z>R4Hn6NAYEb(y1{Y!xpXB2( zZkVw7pq}Kdwb1|NF}TUrG~;Y%$;r#|!TFmp6E|~R3SO3~mrqeoi;E=-#st0H{U*QNJ>Ml{@c9EC z)3-F6^|LaYB`h#rMUa88Eo5K!?Q8#gB@3i922lOD+euw>9vS2R<;L;iD&wq6Phg#d zCof|VOOZK!s+pvNqQ({_98h#gwAjG7kUx<)+p!JwVTtblk&sv%Dg6#h%3pg$GJH(O>_SxsTP zpksZ2wf2N}wF|F)DyNqvmH8wpGeW4>q~yRc-)Qo~pi5e{mI62iHBPI30v_C=}OMTHAFmQ|_@j5OYNneqrpKQ5zH{mU2+$!8`34U*B_6k<{F9W*xE#KRS`+;9Y& zmeXS0bcj@or563()rwWj9WyHDk&0Vs#8enwSVeAyZCNfN++$4UO@=tS16VsAj@mtd z7k+k}93Cc@kIZpttj>mtxx9jE&Mo2CFR@G%OGYdD=1PQTn3OyPJfe1BwfFHO;f2#> zsPF-^T8>F_p{UV0NyTmMv*+5wfRJb8D&@X{F;i*t;bU-~FVFo~ciMsOS$A&n3KB}E zX57m7x0K*jj_NeR71F+AXc+AJ&pZ^mGV5?pqDB#?q^M`~7+v10R^MntmW_C`jWQ4W zl4>_=v?0MpDPyCKRts5e{O{vYt|rjKjUzKk?I8uQcp1Mmd!4oyf zG2uO9_X;AX0x2ZdNo8B_mgddwCXW-r=u{=t*lvzIL}Klxn*G29sVZo4c;jZ08(5VS zVYM|MY#Y+?%T6wQqSUw)&w1nFXP6V)k-)wo0`O?hgq#NDXjy$W{{619N)S+5TWNbM zJDQ+~Xffurdv;Xv-hk*TYOx4RZ-Vu*GZ_S}nz}H`7YuWmMZPDRc$HAxK|F~uY|7O63g?h8G_+udrB#!UqUhpavK(z zK)!DnSEm@FP}&U3z@&_k+@v`mu68@fTdwJqGn+7#lRsQBfy^Kp+C=HP^W;OAkUbOk zPj`1y)V`438!RtRR_UmogkxyYHN-j)1DlV6aAydka&jku)P9#@sbq{Rwx={fq z=DJX^94o;eXm5$gs;j-X?6HqN_E(>&7CMVv?2Xe%zQq%=#xOkbhfJb%vW5ac2+bwWd3#LQ=;B*Az_x zP6HrgseIl#nBYG*PnS^zfoo6kCQ*J&n5$uZI#SatZHV(gM{vg0r?Q6v>xY~X^ zJ)vmMEB5W*%r92FE*_qy^=fW!)fkGNocGJsI``|3 z^Q*aOTn@P2;xzE6l~LC+qXnE<`cK^0cx1{+Ib|-%~-3) zC*U8NNmk-6@3+}NV>A1GE8EGHx1XbZIa;!=T!dD82zfMisWk>usob0#m?#h&Vquuh z;bzeYJPl8qram~CdPPdy1^le5!KmNSinHTX1$h_OUTRk`N#_@M6AVVvC>dFyaTA;< z-506WlCvAAgu9n8!5w$F#2FoWXi*3TCCe9MM2AcwX!OWS3R)}^X7?y_b_N*v@&Y)g zX;`p7le(hmKh{pEB#{~YeAPWc%O^KCkxFLy>^S>6Tv|JbS($rX?k3mR$Q(3 z7;!BLi2TUUqEm>lKL(oaJ}B}=MSU9xC3|T$Uij=RqNv+)>va;%H<_pTJ$a>j*R!g* z{lL~wtf+r)wNGGSa(N|hE)j3i@L%5iOj`OTh#9+Rco$#ZP7{>g)Fq{SJ&Dr|79W7= zuU&*^9e~L%r7#6Rbk zE#*pVpI4>uj_Q`pZ(nzPN#RKiWl!Y%L(n2MC8j0)@_Jq)`1sAxhh+VBQMuDujcTJt zeO%);5`p{C(t{t4MXeWEH%V#9mL(}<#_A6JQX!8%5Ei8 zwb)6eM@u`Spr!^GPLxw(!m{UB0cy7w5g0;EixM4=4lKh{h*GB@x$gST%5stwn=`Ph zzmh*RP7!BX>3t+s!5TDE66SpL?R(8=0+@i}PeRH?hezJVMFqu`@fx18V*+8dx|Xl{ zN;1#u?GAElo9*Vpd5|_X%DM+~u{P{KekR?fm?_>Yyh1ZGYg&r9>^wq~Z6pY28;8^7K| z>2qsM)Q&1Oa%Dx6>#(SIgdCA)w%2>j)@UTpYyqn&;us$EJc3nj!zz%Em%z2@u3RWUbvq`i#4{@(a>ffBjXNv z$HX?y`+EtOX5VpNTtz%TUmr^DHZlZBfjJ;!g-Y{s?}aXC=Ux!ZqjNh&Kyfl1?pp~q zDHQ$~xFMp%D($!)*e_wL_8zA-837B**^`jWQ3YqlERIfio}=G6Y@Kh8CcHc7oDit~ zE%U`w!vSEjjKh(wE^Bf{+K-omonD=u0r{?*k`bvc_wzb;k{EIbZ5bb%ew=)?!py@Y z2Cty=lqQ(wepS7T(Q;6c-9CI6=WSn*NbgIYB44=8fx}pf2J61g@-aZ!m8CEtK)FA2 zGo%Mthqd4$>VtD5*7OdqwcIqcYh4~*a(z*hWy;_iZp7f8*O7GnC8?`jDQMbdip+WO z9T#mB80Wp^QYbF+tSJ5hjXUi4jYZxAZmTJT9^DR6L0Wo-cjKGJube-SujGn|A@Z{o z>_)D9YhmJ%g(<1J|x)*vc+%9&m$E2$o1kz9M0AK(E zMM4k%Upxj)<3hA?0*voq@Pr?zj+G7)1|yo)wB=(q$@Ja)A$xhUK3hM9QW7)W-`=HZ=T>CDerr$lEww(L7{`M|%lbFG z>DYTdWXwe@)>-Eq+jFe7Z$K6K0&_)``QJlj|6Sh|5SD)M5Okz+tSO%#yJSxil6Wb0 zN|4Um{1~hj=)XStf2_S_SYAuBAd0)Y1b26Lcb7nLhv4o6cL?t8?(PJK;O_1gJotUt z-#0UN=gd8GXP@&UPiobApJsJcby-(;?Q|9}@@RVJcF;@E3N7sjFfIM+7bEXMG;kK5 zCvMx!8SOF6e}c7-kVpdlbpF`u90N|sJ@pf#Z4$cVb=S?x?+7H3wgpY6K z>s`^&cTEU7ag{QeaBS0{gKg+4M{jvQAQ6y(J}9_L;a8lfPa?}x2}a?il}xRJLOhG# zfkzoNHi|8Fow0E}64P>B(0mGCFL0aKVUNF}!R>;d?QbTpy*4PK3F<%X%!*gdqx!~nNp=;S(hV-ioefi~NKqavOi+F? z6nz!X`2o91Le9cOBOCF#n^CVNFCMdK%scI(kVQqaNh)Y|x>k8u>XR)YWz3rYGSQh( zj0H=}z^iY-6$3^MMR#~02oj)0V4S&39I1lL=dh(dAz}JnMWn16jEZgJPRV1UK~2RF z?0B1tt4u=RTHsw_xT%8C29W*im_;B1Hl!_drtnV2YV>RNR_p?m0}lF5;NNeWx_VMW zXJ^EHyEbL(#ZP?nRX4Zm9#j;&KiCk3VYnxVMli05+A4oZ`gEa4gXtp!=L$y-Y5Fq!)rFK{` z96jmBLVn#3ZI21ZSE`Aao*6Rc0a3C6uk((D^+iL0?;X$)7_bC$c>E%`bxAJ@g(>s1$aL&#!lusSMP^^u^@^U-}-sWM~;#RY)WP#qMsNyV21_<1Sl`!5+J! znd~-*>8=V znfe@ge)M~fI5kNHvN>MQ)Z$0gj=+1s@}`(`aSE&{ZJ6+;{OO(kGaPq*McOJCYJYW1DhGP~AkPJQkxj`!5I&%u2;)$Qe5A?FH-~cs)c_eEb$(erR^p}r)*tc!bj>{j< ztFyED>NlcZZr}t}^7502Uk)n+x)tORzkF+E&^jC+Q(5l&uDBh$ldZn0m%%zokD$OH z7L=X5iW%|k3hY+KTXDHs@xIF2$Nur*>+-2rJlD8m!DsOHcY_ghNA+JqwT~|}x`)bY zRO&5sWru5hp%zig&ejEkW;0&=hc%pU#;LMe*6?IY5^*oehF{PF$MT zN>8ez_DsF)DyK)ldyo-@WUJ%?hiK|TNgI-UAkil>?k<#QSn%T2PwdQHGA7?XU%L9} zoWh9@9zJ&5rqY9SLy-sAb7!C0QWp32R4SgYIe(kT^*%^%m}o_;{?YqA`1$g2+S=K< z{@WmKcJ-ut@zrwiX4T92H@%jf?MP2p9#_Iut#`z~7vSN7ljphv4uC`h8Whw19}A%W zebbhOq1DG_Tl+W`wyWaz)l2ohg5pNvPPnXvqY!2J>^A31iJ9wY)Jngwq^&69wqubl%VvgI3!Q^*C1Wr+J2uuCE9-h*@%c3xf`F;fRxnS zf}~~Z%2TR!_)Q4uj{Ou0(X*kGf%U|aR>x>`Y2QHogV$H#(=)AupVBLrvp={M?*I#z zR)I^XkwD|)IqnnH_(pN-72N=A?J`Wx1kzF12$+CCw5QbKnQcog0^ba^vv zQbtL|S{NS4Gs_r;cUGr+_;ClG@$^YV7Y#;1jig%#=4Wu@`GeH8*l^2hMB?A%X+_9i zDWuFRq_8UdUrJ^S4Y$Bz1;eUK3anB{6~eaSUUW0EPS}xuF6dcT*1e!)mFfIEv0y_iN^<*FWB5qbuZ>N73`lvn z4n8+u60}W=MJcsVAgb1Xwod}}!%zftq{c1<`<7MWR?;N$Py*|uh@0n$pJ#mCru(pqN&L&ox_H+I$!ihmraew zmYG>H(S#T^D<$)$5+o>6+7!$0`aU?l^j!s9C)@TKFUoO77=!M5KaBsro5NspB+PCp z;%%_iHVQM1)P}Jn#J}*GQ3f3?9}n{>fmEz1@G)*9hbjPiE`7dnw&g5F=w;ZxKmAp!23h=6-Ctn8I$IC&JO!V{X?Z{fsuA>ifaleWajdsowExO}CN+72UB zKrox7ZU2}BU2+D~35MqeVP@CsVE^ld?7Ao9aR`i-_B$qQWT4!y;27xD$rD@7sTmDW z*-9}?XkNw{2tqGoTH_y}DyH)tbM;8GbM{*Scv~|Wn&e+ZgCbE9AeiK0Xn&w~JPzZw z@D=Wqi&d`juP12);Y>ZQkP4yCFe-bgdYybtX)9?AqdP)DS}4W^)oLg{l(FmpGdkVp zlROvhLy9RL4L#8-&k^j>w>6LgV$Ab_1?9*9FZx8}wwrINk{$_%N1>9W`Z+c%SgF3R zkz!fJOU=P_0y!q*&aTP1iNto&Nk$ek`YT}-cT(GFqO#fqQ?tdf;_B#tuEXQaYW%3I z{BVq=jTCxETaJ057T=3d3S{s?J?RpLWv-~P;+_eqi->}Mx{-y zMi{@Mxbm-K)XCHxhj8G2M@n*UX_@1hcE6~5pcOD-MS{nj1_%O{qxrpodX%zEW+*F|O}K6&Xz*K~d^bk}UK+pLJAk-*nuMxFh)%{m z*F|bmbS7nanHj2+?huMrR1C}i6_|Ok;>Rq!xgkHW0hoL&%aW`%Z&n@DT1pK@!}2Kl z@h<~Mxr7KTi(iiXbv>?6v~sBrd0EU>7swEx3O~1^=K5SZRB6WNaxmPXPm#>iqh6|Q zoCj8wTv6TgR}ti^Nm+lCAiHa`H>X55?5mW5CrfrlRjZQkb}4E@VN$hsD9?=#ss$mv zMFvO`iLwpD&it4PKwz#Ju&r{Xtk-#hq+bMiI5WWp zXdTy4%k#;FwQ3*?Dc6!n0;nO0qg)LN9BR5NAAyg(U*3e{$~-(BKGdJ5S=(JYyDZA} zw+IH6HHFf$rGg`H@&-#mG~ZW{IekIl1JK+E6ZsbP3l0m-`?RPs7kXRDLmm{qY0vh- z5crvGh~*`taV`eKi=hW9J~f&zTKoYL&9z3{HzKnBw|Lt;MMEi2u-^Pyn3mFkrtWT$S)o5VPNXyN+1R0r84yW zVW2gJY+;MNenYH#!{|1PT};Y2@3AcVz3Qc4F2lA7Q0(-0LvP5@)#Um!L#w^&4#^st zqf8eOW=m_{*C}(#& zqoqy|5l8F^q50fN!9?u!?x9PGX>m0*VrzkEPAJRWi_{3@##rp(&09xDPN_eV#-BIo z`AnbU(mlOG8`ZAUpJe1dL-l5jkwt{(W7l_n#}n>oBMQI;`tm}r-+>Pb%eZQ&`?Gxy zWtxHnBKDljkZOn|{Ja@q_~%>C1gD1Bz+u3|&g1!Q-QCxo!(ZdTFpfo;ooQLG*M0L^ zg;mE$Oc!Jge2)Fav@4d^W8#G>Wvq<3%o3mi4`|HxwVUXiLZP-8)C?R~^2nE*ZouJ4 z=7+IE7gb(s8xobu9lW=93?OvF%hc(sNv*7VA(U6C?4FKHK}e0NYM_Kq)}g2r^i!w5 zuLCO{ls+dnaF_bm+?rh{D?=ZtZL{v|+tRY!cLC`Y$8hndYbbb*vz|{zvQljQ#z$|B z9f~e`SwfK8=B_PnmdNb8WJQ~eI-m;j7^mo}*M}eu-L7m(G%}M-M}zIpsc80us$|z% z&)?g^DYT}DQbUu!)47TZBgR2G^(Yr#t*jZK|ZG;(6G;9D6$dV-ix@=KQ%n%ghP zkqs+;L3H-BOHP+_ji1s{z)At5=*!AhT~f*<$?Ym5cB19s$d^gw(ng7-QRMOron{%5Yo+!8 z#0xBkVjK9HNK~PE=^wIuoSkrH0Dt|tK16n_?=T;0%loc7#Sc|wTA_?a8P_v}*}UBB zmdqV9te>ytz2WAo`2mTq6&shFYuDsV%{8`@r6aL#j_soQeP*3eUy`qz`rP7g>rq9! zkm-v}zbhe|<;H7hh}ACGq<*bVjT28=vGv2XesBz=x!K>KV6*S#JQe%hm?smSTl(+q zCw9MzPQMMht(j2B49D!uzhg#CP_2Jd7ta+br6s5Xy;#%ePole z1LEG}mqlWl#w0XLEHrCE&lKCE>pN6P#zt#D7Y5g!L({selr^cQCzlp-zx~^V2YBoM zp+ytmD9!(&MUyq)0F5=^w%mXBYWm*|LjC`L5R?CGod5HI%K!N>fN`8{ES&zwXdpmP zKx`s6vh{7b-J^i7F#`o05&FOSs(+1UWnyCnI4=Y^s2*2~+(!r}_ADE#GS1{{HVna! z$=xGr*29mB$xqN{?5m318!^!0KYHRuy@46Gg11&Og>BwL8`F;vunf4w6AbLutk#0X z8H86J72H$ZWvXase&7T;YwhZee1fEaRM3FcC8Per#6RltM>Tc#&SN5UEUx0iq-8c4 zKJ`tH3gV%$5AQbunRhYogo=c)YXsXDH0gISw3N4b%{ey#&$8g`k@&r=n0CY^Cv3av zB6nciiAVylV-sw9ruO%J?C41xDFa=J6Z~&~58p~5k_~}@fq>KjXITFUflO>n9L(GS z1WKG?vgsp4^WE+&F4;IkHNHU`QCb_v%Yz&C1_zte2!s+#LYxEL1K|^#R6V0-ylQ)7 zddbe(uJd)yuYrQ>!L1kvfgrGO3xOaPIzF>o4uM*Pko;MnWz4O;1u8JG9=wB^2L-&) z=%)mhFkwrTF*PQ!z%I7d&ss<#zhQo=0fr7{4R!@JqkhvATBa>>?pgAU?z$`kQ>|<) zHyYgO!loIvGU2&nt$vhma0_r%!}u6o`Pxh*e)&ET17gMXmeo|%mp7j`ul+0U1HQCr zp5jmgMJXh$nl#9SS8orMeqlFXs-W(x{xu`d-@FIf%w`wgg{jAq~ z3FS7u)o?iot9ag#H)FOIdECXpeMr&+Qy)-J;V@wK%Y#w!g>tMNBj_Z41Z3Y{Dap#x z6CVmF5rln_IExLMhAEh*s=qmvItiRRF6c>;S0*VCr_gjIx)VNeR^D4wz_Hc)`?SF0 zF5n;lQyKtV`|wYuNt!BO=EG89$7cpQtPFC# zdkYi4@-~A4MOmR7M{c3TM({A9yM^;9M49Q5pTtJ=Tyc?jGDOV`xrLR~HgjzE8~a(= zC=y0PJWs(*L!a)@z10?t>}@Agx_Gr#%!i&D<%nEAS-|j$e1X?M{~5F;$)dt2;gm}a z^+Ta`C-K4W@kOaCzdW1t<(il6z1}>pO>#6Zk?ec*U=3d+%*4~d{PZ0@Za4<6TlXHI z7)(Box+~{qi?@bqI5>no?Kb=O*eb{0iCd3^+!_Or8Dju}IRXCzw)*~)R(bzX^*P#^ zm>7SE%mfnxKvx9;mSQMxK0e{+Fy@?oYb17YFlx0>l{=_TjR0m=E2}p?FAo)nI5E^8 zP%R=#*tA{WYmm`6$A=sOmGZa36Tzu+_beL~FTv3)ONGx(9sP4cR|p=lENz|4|LXA<70m=#7;s__S$R*6bD(zU{l5}h3cpJF_DqSl^4O@B*3>S&Yu?AN z!V%DQ=J=7K#b3oW`$rI9fgx~PuMm9g^wt{3;R*2D{SAkxGiv8>c#wVCs7(evAu{?g%CN5U&7%T|u#7oSheGy*!@GRdpXOM-vh(xteywacL z0u5JH7BTYAxkjWnpGGBixZq8BhG;g^VQN{Fi{n^lGL81Z?2V~0<9LqJ(JrM^%`>Ia zO<3PF#E`{GG4r~VRVdGMrGJn&p@@C+5_Ek2qnY;WyAe$sfEp42YH<7m8FsSxOFcwI zcfxc)%R0zcH2(( zgP|nEdu*u)UozGW$s;ciKmVS+-PH?sJ?o-qwC`IHE zUl_)Tp2v#RF(q(p;&SYuFzY0~?DF-ldQE2@R2ySiXY@(8lh5bxOczdxQ1Jsy4;&!G z{QqQ{Cf0T)4hBxn4j;-eqDp;qL_z+ilvP+8U#F_L6&`n&i2DmDe=IAFj}#|2Gc-^Y{<`AoKs# zOT~L z0=GAcx7O19Yh)n7*6cR#G_?E3hz(*%&G&v8Hg%KzkE-q!0mI|A^+mBJi{`?jmz*-m7v}_e_ zy5oa9S)C-!+zMJp5#LUjY*L5lAV&TmST(xGKg^ce0qLMaei^V9GXhD-VRB70+|K+6 zwbvwz@4FT|GDPTVat%G)CCd-qN)bOPcrmtj({XnEU z0YCzP2LSK_biK(h0XQpXXC3VcQPpP;Y^M{A3v%d~0a`U=PqOv&3G<-UA#7LI_lDC3 zPCIp1*RR}e4XlNFNUUd`(*{O6bJw(ojnf7}JAN0VC$`fQH2Q2Eg|p6;$t%}op)OkDM> zOq`rd931}>`HzH)l1p?-a6pBHVZND(NUSJJR92ovk#PhRHA)LsT1YoGa!Zedk(C}l ziV=45KbAnGA{!|xe}yJ;{29hX(Rur8Wo_=0u&E}Jk^1O%5Z6*BK$HA29l`0GXH39U zzyS`h@IRW4nS+UmCEdS8A26HD_+IILMkK*YAF&k2ARTqBwR~DnWu#kjeACrsc2+s* zIEaF^r8afb+j(n?4besH%+kYspkrnM`yg#Iw6X=7_W zZ2^(@OHe#t{INI6GEu_Mhly{!!Kl8BCh`kk^ry7I5jB-?Nz2fZm_`7dI72nkbIv9_ zS=b{*wO3T1zxGw<=}hfPnyy=gW$dT%q=dA?r)eCc*yX*btQo=Q= zECj=nQK)WG;p_1Z4YgQFX=S}y?AGEKRSVak;|IIOvx6*8&Sby60*@E#d!cN_>}|w~ z9XMx7>)GtArr*d~qe z8QDLyfu5O(t+k2MUygET8jr&&BU12lhJW9eAl-x#C$D1=Di$h2n56BPK)AT9T0VYR zge~HDk|RT4vWO-us&-h#3uDap=60Y5F`sWPEU9&o?Rq-8Z43cs4;0_#zD0I!PvNz2 zt=fpyQmt1{UZic-aF@&boam(viw!I&b2Tf6QD~~tI_l{{*o;zl#g-{OlPeSssUAaC zQOExHfh?Yq{Lo05LK2Q!6{xP~I54XP5&At?d}l}MJ)oS8QlM}+`7X)0-If&4vm+1x zNJ*3XyZlJA?6l34n>0B7j&V52^J4HX5=8e13gg3-F;iiY$D}gueeTf9r;fSq2vy@$ zTHrvlSm}&L?c-Z8An_t-a0-DYDH>2>D?`ZqV4JT2eMG$N{ZjB-KQScWx7QFt1Aepb z`{Dcu!i&V|>469l33LIE!RZ+Wyfv_b>=#10Va^`i5wRAYPC97l^a%;8y016bT>sgN zUm`mpUL*(4*HT|gHAdeM@AJ%VtY18MzRG1A8#Vuvr6}ug8^LA4vOFB_*IJ8FBXo_e zY$Noqyv2)8*jqgfQtyf_(dTVV0UA1{28h4=q_S(iV+gt3AcLdp5G4NkoZ3;{S}!nv zpX--UY`ni~?U&%)!A#gFIG?F}Kr@gbYt`a^4;;ZH#B^v03?mQapI73hBpe5PGBul4 znclufnPt-9Yx9*cFI3pDmyH(gxdCb3`2&{a_ULo= z?m(Uy1NU`oA*R*9MGxqAcyGZlitO#)>u`Kg5gEi928g`aT+C$P;z?1~H(CYqPR|+O z9OmPuh4H95yS{wI;ggnam6{9-pgIgu$8bv0gLqmm{o@PgZoN`4hFd2gR=h;%{YD_(%sPfGGq_5i+Gib#|-(t&U^Ru?H| z4A-z7A}$cyc;ogpKHr>T4t#9?=m&9n`|tjHvT$7I!f+$0aazLTY~p0ut~awBE-zJ z?{rEnnRg*M(UBz<$E$+Ek)&M zBL3@T7xY?~*_KQ?>tqZviVNCVhZhg_22-O8^y_`p<(mve()$Nbz(z z_O{R3BD1$M%@bBVK4z^oKh0x&^mV`qLC%GiyWwf*qu21xhb5nt<1RyoKC|++7H!Ln zA?&L6|Bue(JbD9E zA88W-NFX4=|BBVH{?|1$QFDCqeT-OxSD7j~t`mUDv2}BE3L9Un4f1HCuS4oP(t-(~ zOpNwm^x{}FM0}H`G7}0eRWmRDxAF@PE4B;Daz}*YI zlxjf`XYdS;;1R8}#6@6v=;!p+0ZHSEU*p`v7f=VoATWK0n-wt~W3-J~R#JH8Y4Pw? zX#c{bA?#UJLJ6-UiZEX=y_|Dcc{)#0UBE}GWHIU?ihxK}z9QDeNSgr*gjeS+SFRULvBOiHcvyUO2p3vBN-Mrnz|p!-sU9WF1Sc zY$>$M7&zAI(v&@@Q^o4?piP)mr@dOfQN`+f2d)bRx80Mnt}+5vvaZncp8WM;Jz1jr z@4-xL{1;te0JRb`caG6Py+ZaP>p6I+hrs zdu!>2it^Mj`*1XbImET0p&^Fl%1tpOMp_SbRwuQJ=p^Kdl{6A7Q z|B9ciY+X$p=!|Wh0o6Bj27v2WZ9dWtg-J{wev=r$ZwmMlgq^lMoJkm?W)mX?>{kPZ zOU_D|8Yz(v+B$*kRjXJt6g{)WFeNqaS^oM>;F}t@O#04z{{_9r)u=@;XA;D?R)ZeS6`$ zmwN$Pzb;S1plos*TL@Dk&+km^*c56D*Ib+~h8&2`+WMCpp61nHu%YV!r&(qLULe-@ zu)qwqf?mkuHqtXA0p*3&d(VcHFKiRpqdA#O`yl@pALQQA!Q6Y=HNKDWeS zYYK>mL)tfZg5wp|s|X83GA_v+O}G8^pmjLg*{rA$2Hp!&;!kg}Et&1z`xqwzf-}a< zp$Q&=fp%U?b@EL@f65tJvVyAKrsX%g@&b|c!rq~6Ux9NYUO@RPf!*LEEm+4>8NPd{ zAMc>x0aHvd*03Yo9vMVkq+iE|e`JU?x_?eAJRxYj}D@wc(&?k`o0$+lL!*BV#z>dfUXv+8oXfw}9qOsqhzvvY{SkC6a zlULq5bHc9}K6#Z@2^*61SL$qR==>4nY>-U4qycFBiUb5C^N(o!XX3-r$ic$yW7Re; zjLH8H!~);yR1h*9&%+cQtD>93-MGZTY(x`xDPG-^|BanqZ{ z&LrF2T24o>>m0GR478P-$H_$+vFy12!zhg*LHN?1KO#_7xtxZ_SI_lg)6>?FeKs#J zF;4AYOg;3NULZ9?;MpJ*2(_h;i*sn4*rf1&q~V|u~Y41jL} zSvmGL11+{}@%Vlo(!lT)nK~goM{b~t!|-d8o8ivkIss;&6da&2B9@wNLmF2>#IXS` z8~St(oyR8ig`fdL$`gW)&;nHL20o5lh(&4zi8Z1iO0a%@R;dz*&Gc;zB~%=@8FR{f zmmN5Y-G<7%!G288QSu8yn#_!@(2e8@t~tMyCu9`6t;&@7%{}mn;RZf?7x3S0>w9Zn zp%Xv^N>G4+6#rX9;3M}%_dn&Ja=umhhay(+_C~qByj(BB3a}I)1?Ef}P1G;xn<6F_ zj9Y&<*w37udE;Uxf5pH4AW$LO@yq&C3LdJlsg4fz=7CU)WO918l0lg%;GUwikkn<( zRC~r+v5e#_Q~W@SgjMN-Vx_pxrY?`KiH~AdG~V^PpT}8$ThC`EspR|l0XgGf!A#`< zOZbw*w}3R5_n_v;fwqGX~(!-y@PUZW70ykM~Df;rmM}lEZ^~3^+;BaE}DG=}fGKSQ@-v_F1HCQn`|3Ua}0n;E8yi zTsc#^F-R3qHx+v#TZUJ_o%|KEl)hj^q%2G|)!RFfy1u#;0E`!mo>|hXnd-roGCx0& z1AtALd6%f=MMS`JTLR!$*~;r@r@IS(6u>$sOYJFu00FsS|I<+5FGXr>VFuW~{!pSz zV^u4F4Zm&oY!G+Z!Zijnh%ml0SXDfYUP!SZ&Zzh@x}9|y*u+t83u|{z2+79=$y=?^ z@0cz#nY>i@KN1WU&x5?xH*Ib6%(H9gc*g9{Lh=n5FkKX@9k|977*aLG*{o4qI&Cy5 z%$()w*p~dI(+Z1pkVh;{MAI6wc-H;? zPTQJ&&4{hF(`#%c4HlnEhYTK{%Y+OWpUV~tc;t$Oh|lGV1>l6X-8ZuCauTsk z7A+$c(40`pP{}d_*F?oAa#@sSrQob2C~7PCGW!c~xWnigolr=2oKQ~PJ?p+=GOt9A zWxt={r-bGYW1ik>`lCN7 zY7}4YUZ`qnk9}AzZ4J0pJRUUWl(iMsA>bnyp9jdrKeIj}?Xk=8gS3joe-}b9cR<{u zm*XE9(~Tw1_CK51V~LSrZAElQCC?7{d3pmr+`+Hs4*<|VfDa5j0NDJ%;C%oe7|`MF zXRCJ-%PkP>2RQA|gF)_9$_e(MTiV!WzBD5(M0O_F93VEybL%<|5xvWd_B19+~MOs_1r2d!YLsU@{oJ z9Jd0uWv;c=u)5GV4Sq8Np0t1{;5Jb>6$U$jKgZhBYz20DLfWjh7kB=VqVO2MIIaV* zIsp|3Ncq3T^87n;aCCBTHnIe8ymMYo#b5B#(3NMk|8hN~Amd%IKc7V^-=fo!9T`fZ zTglv2l=FF%$pP!RZBc31yN62eWO8PZ0EZ)noEJW{x*4%a#7xE`FKRDoD*ZQ$!-{@! z-snF2n7XHoy8+)rC30_LBVg&gKR;PNm+*a!0 z`Xu(S(+wA7stvz@pDagq_6LfAaCZEV3V?TqxOU**wCVgKuAH{!1>7bF1mwW_-w{_j zT71O+|F5_*ZQN#75H09|S8U%IGj%E2$i+TG)2|YynzLkeMs5Ot6?a^KCN~Alw>u9~s+6!(5rlF(i!#3sboQjfW z<}rc|du#%sS*HsFF?g4WsymLN!Hglj1yZ*M_64E{x}jw3cL+o7ndY1!w<cr%b+kg6`>6MaE6~fh?0QYYs1kPL3XDXo0o^N_d?#f z*9+ZVcNav}VB{8Ot&{hqFzxo7-aS7l0}G1$vCVp;4=Tuv%9GO>qVtJxhxS%j8(Y4A zUvmhmC#6y+97gHh(&!zc-YODOnDc-ixoICzY{3YYjBMTr7Y5ZV+Na^T(9sTlg|tBj z&gCPcK6l~7!IE#<*~tO+6Xf)66Y2K7ZlZTaV@4v^k?^1wC&eH^ZY9hdhic^Fo<27% z$-~}1`^_gTezhV`av_ShAcYouBPBubT8nEI$*F>;;}ddpjZjII<@{dAoC+hFFd8TK z%h;?qc#~dzz3$N+lcH62y6Vi{dM5Hl!+J)WFm9!w$md!m7+r zvjKaE9Wh($lCXIz*_#ZuFx+GsW+5;R+z4z8G{XUu>7c*+5CW@F|4YUzp8xl&SGyn$ z)nOVnm+(uw(=vSy+)$?GPYHr5=n*sA6P!udqo6E@vP~Q*EDo=hl>QM6VxS=gscLn- zhnk-pvlKlJdaU*qhJPlDBQ$SmP^~H3xlEjeF@4o-)<6#1=FJ@`F*87{PD_>G~h^;wTqA)mAA;T-aqgf!NUb~(jkkmqjXzb<@alv zAEqPz@sUa|RQ}By>#l4ro2(=H79t4#G*yI0)g$nwQGyn(r4}Fq>e^MsEVz#lG|*^_)kNI02sI+fD`^-$YdCq z8#ovk{d-5ca;g^Q$44e(y%>tawX{jC4H|F#(*O~vSy)li9!g5Kics9yC?-uHt564T%=CLLWLfwUsP_2 z!=%pqCu@3SsW@iG)2;j-yY_pkrz8hnTaDsPuI>ndzdOz>1zf|v0B_0-;7zIiw|G;I z1~!g#jwTKkrvIayrE$Jhz7JqAx3d6k4H1;@D;*8f=>(TJl;9@%Q#j>+EeVFc7&dfZ z<=*CsJUHc3y;bu(807Dm7|u>(3|M(F9w31>_YLj=kNWZW-^0Bnyvj7*3RiVeEM60^&^GmkY4P3R2a03#XT zCktf39K#|=`LOp1X_T)OD9}NH9yoU`p5_CE^ML{eplm)+JRd0hnC=JCH;TO6v#`YM zoU@3;0Egx3u*71;s)$7R1YE;??1Xf~eWX#k+H01CRl|L#QM}q~*o1b&eXayg!+oq# z@7imS(P#}WziY*cj=*cliVpv}HU4g4O`B{L%CYl$xAq-@2YbF_-w_Ei<{kvKjM0R8ZyXs0H^H$YDMrLas01JMLj^LiNA_mGN(Hc z{27se04k+r?WZpik%5b|11o|Vm!G2fECw+O{z&n!fxy`Qf}Nw_Y?so6nw^>;D)M|ABOCP6Rsx(T0xF+EVN|3*A6nAa=yIWDz(x%#Gh=n(a8^l)2p8YADy{(vP!ZSTZEJHyiA)Cp9tF9ZZB=D@jhv z?bnp^jZYx$WXU%X!c@salUS2>rp zt&Q#f$|3)i(E11?^=&f!`2;cRTDH4R0X1FVB+H~>;cyJ5rx9T$(TO*i7eA?d_TLRE zcWCEol}Jor8fzD*=L%EJ#^&!+RY#S>CT=J*F~2sbtFX+fX)hE>*RisQRrOI?l6u^| zss*Z5;6|@l(Ka%6D~_G6%9Zg$bc)UEOs%S}gLaC{dr!5i@&R>9%)1I*s@(BSS(kMo zKKYgr`0^K=gyit3dV@Trlo9w{DBl@P@s;_2v?1#DMf=S5Z-~ep=S$m$ON1;H`x~O@Tg0HC(Iz=OM2_@fyx%N@qBE#`Gcz`97mTs05OjSoRpCK zN8tA~UoeD%Y_fwRlepYm>DoxR3eFI&i#BubJ4uniTwH5BQ zOESIILd}^-PrsetKO;t4I)Q2BfQiiag;nheG3dG~`VHMIL&WQ^iim73wesTTs!2p5 z8(>kFFvV{JS~Rq$HfqRJ7|ZF;$H07VFCOlmR>;c7gI{GI0 zqEs9SE^UczVl|2!F>)*Y!@dRGG0bCoVO1dZeqDPdl+2_r$dDd0XOpxj6(eabY;7P| zdDJy5bk`*M40cIbwQT5gH|t~~cjfiv(|bN5gTmhpMgK&@QwLymtOIiX|IF_GYwP-d zt&aau?6}Y=4aH)5jgV`i>zU(OaK)%Fca{A^%gVm1~P zR(NP-G;s_CJt^<&{ouI-lN`8$&4fgb+5V&+*v6<7XN_k$C@i$fQz}fu||fNSU4uj-9W!x zRjPAc6~aXF`n!R3o|ry~8TTNWsfu=bPZ7O#fBE?&Ba0YI{n)-SK6z0+I|)aVX2L<1 z>BSGXxD|hbRg1KNpi~|2Z)8Fk%fgFR>|!j=-L-X}ZEx*!Df~lVy^$eWw!*e{e-JXT z%Cu}nC=LecAXB&0Pza-A-iwuN|L}uy*5*XZ^@9~bPHV9v6^6x(7Bk=d5eB8B&552H z0&7P6>tS0P?2TVLv}ZF!2Ko21T_Wa}7w;Afzivd1kC*Czmuq2wm!8OP8zDym{)tur zBm7cLBgUX3O(|!Rb=Kskq^l-%MkDtrR+P*9@!m-lL&g+wc#O-KBTup}X_HMdvg~nI zsUs7lS_XBFBkHMV!gXxq?FqCE&DC*1_v}dkAj~+oQ;rPw+?rg|+;)=`_WZmZfO(Ap zyrLNq_I##VKHuQK__Ihh=lfMjIDo|*fIO@0e+!HM7k59l{sIKi2Cq65rhm4<25+?I zD|XC3>+Bj9G^poPYL_kjwe@Ei74e9Ix}S03JHSBk^QVAgGurk~m0X6l9}1#MIxq@_ zZ*CZe~`aTk}X7P}O?N--*^fCc*{9u}OBNBw^R@Y3!Z0wI+9TUxM5Ti) z=G(JuS>bR%PUPB8_8@y=f=Zm}ec8>Xy+}i+us&!=myn28E09o!2K*EFFYw&K#PMT?_y6lqK%{I29pGHR|Gp@?7pBx5W+Y@0 zgDm-Ak7j=1gp!ORsi5c((+>_BBD~)L_zzXYTD51wfDQ!II0z`k{YT&Ym(~A&Nc+a{ zNVjd>*tR;hZQFLI(=j@>ZQHhOCmp9_yOWM>>sGI`*WP!pbMNzY$Lb=?P{>p;3ob6VF|e0VI|lGxkn}avUwj$-_?{ej{$=G|$K309u0g=gWhBiYLnt zLq;rk0)F0IgBF#+X27)^#Ip5J?h5+%$692mq9~M={;xh>u9Bi;EvuZqKX1uap@d`{ ztLtSG(U!4*QMGgh!smfka|qtweS8`|N>tZ`J<4vw-+Ua*S;egVV`UzGvgo%f_E4lK zs(^hfk;^wyii?~em&t~e*by5=}i<EVMyife4;4|l79 z2FahUo=MUpUB@CQm8!|gFRX#IP;vWXc{^smQ2VCT1s?5I_K_4yFtmIC&&4WhJ` zxO;r%!Hlm)Xs zn$m^pEjy8rWhCUn+!i2(86-BPt_pR134@tHJBLuKEM?5kU{ujMWHvbxALI0KgbQ_R zK25(UzCy*tWCXU!qK9z|SNq?mNrpx`bvr1LJBbrqmRwdDZ`5W-6aWV{W7p z({};I#aT^rw>V2wKvP}+S$axHS4(lo-GD(-jvx`Ry~Tdv5&?!C=}fjB;rHFYv3s1T zlFE9U?^}UxBU=m$jAL-kP|Q~%%;#Q^DQxYl@x`Y&bVDUjgkzY$Q4oe^Y}DJgRb540CV5o4!y@=*<+~9g#d;F0BpHG@h6+no zUkXVv3V&3MCQ6DJ$oVYB%!6mv*{DIW>#a0TCnQZf?!=0rFy}*~hq}3}ozyV(Bo@m< z>>EzZs~6rSZN%&N!`tn!I5~Tma}b#~eAYR1v^?1_1EL%l1xqQ|b1)PY=E0>s4aYS$ z^O{&lf)ozfIRd(2U)vy^DasLMNG-%DCI;ii5j;H$OfoGBTZ$FK^{22%;aXBBizFr@ zlCzpBbw??)eIF7+@s@}{;D?;+ES7qA7n|qdGDOZ2x=>pTD$#8Q;d&?ha>{6H=<9$RFK|!oY)cF zIx#|G)yMwqwZj*M0G^S|+EJTgmwp)kB}{xfSTm9llU^-Y6!-34)G=;|F(?feLaZOk3dNIC4lC9tnQvwt;HBiaWF_8A866kK@kg)dm|(6y%!% zJS3`0q7WX;9HJ`e@htnm#66Rb3Cin6eQbX@EZ^>V@ly2AUvf$fya{Q!+a{%AU?jrn z7iq$NtoUv5z<4R{3_-aOP)8l@g1N+rTo%kK7Z|jdS5W(GlUOkJeg2h^t23!G_!*N9 zhH@Y(u{2%3KsXqVqq^v*vY9USxNZ|Bk9Cw!Vz?M%pw949>Nm$l}P_ zfQW8Xx~k@%-ZRvM3Y9{O;02C#H15mf^9Nf-T^c1}v5veD4KYz?oAUtPxyy*!n8lIp6G>h9S_DfYXY%OSN2px@hvE^C$1Xa>K1Y=C#)3;~e7Q3=k= zU~IfEzYO(BJIubS(ktWNM+R*?o-~^FfCoM(&2%agG9B=87%*V_;dc<}hKUaV9tWFugNq2EhyNRq&MBxvoF zGbftWrK+wB*vT0X1fxK6cn=c82aa({x@*_*!07GT` zn2x3c+N>67K_p~A=fOUokwhmPVJsVPIbXRnCK-ExHHH|ca&t7uQ5Xl`pd6&EEr4kD zZJqTakb7Y>r4UZzCm2o$D^qnGdJjr5#5um>sr4-DrUulpytF&TKr)|m0Dg+=TDQBK7hE{*a_I)22~S*In8ao3Txs+1aXds9(bzpwcT zmBX5IwK~Sqc)x}SkQo*{``{Vwi0TJeM4sa{nO^kf z2k9-xe0_X{Ea=YMAssqJ%bzPzoJJjr7Gf%~J%FOPdHYG8$MOKeOP3rFu72jgc;Kqb z2%4nf8VbT)LVvn`m#vs=x2uZmkW>tthXaTgaW?xYzN zCG=88tIAyHWyX%f;C%Pms8F&jYGeY@ZVM4lB27J6-=1Q&Vl(PCNp5i-D+5tstfB{V z>!q!ZLE5DAfgFrKi@p5flTN6R4ij!f)ZHZvzTB}W8C`?1NZvoLTN6cRRwc;$mRjx{ zHvNcOC815(OY|6>jUvA3z$D(tMo*H54tOXqc*W^?-NyWqzHds!I#+( zoq_9b*}yqXx}=f=T~d0%mg@z_LcS?>odfe-T^WZNl)-2xED+6DTft{DDhfgfTv_wl z4k7+{cC7~;D}=>-75*1;Tf{4t%G#P6Xg>@C$7ru{Wk~rA?!j5 z-r0MY6)iQAhmRT4uQ2em^#jGP7nT9V_lD@$+FBFO;m83GPf?IRKXEJ!X8%Oy*@_rk zAZ3^F*sSqYrLVZu#rCfV#nz@go$HT%qf)=}(!;b|J|VH;u9bNw_p8hE*d9a;szx9Y z6D>n^O4mB5a#BZ89n#ELQ$6e1uV)s(UpJho-PX@XLz_m!1FK_s)*?@Gs13jU#%BiU z8Vn*cCrYTlyA33t=2hb*1&Ks+!VV1`=xorlxpxmTK1_^dN`#?BT20hi;o<$ZMsOi5 zfWN^hG8i+=F=6mfM+uoucs~68N%_>1HkFWi=en1gL-V_s!B{ij@^fmk404~Yn7b9h zm*M+y3g&3aAcFhU>Vw2nbyFVbwJ-eprvgpNcc<9}%AB6#bZ?#}>TKCYVnJb^<6LxW zCcosq*Vwiwp6$=Ejv9n|?HN`d?+9rO7VE#E%>!>#@$dI~i|n&$f}?(S7tFNXOL1oE zOb^F+OpSP<#71B&#IBdc;9Yi`itLJCXYH$U;@IE!{?dFfhj6+tq!fsiX8G}*4fgPy zUxC*ghj&Y=fPepm|KKT=Cj6+54EKG2OI&ZkgNME3!ylzt=v4uk@uFf#GsSyN^!oCESSd44bTqT9%7T5I=I zUqPn`7-CBtHLHoL@{OoUL@lOiyJgqjh-IeOkWRf%pl$>FDK#3rI!7paHSf+Rt~qLV zhiW-f1z@^b*l(l!YE{=|_-D@T+@qZ$2|nhZNC>kjQ8}oCWkcY8nfnlz1(t!Ck#v(3 z%@)xXscKRK-E2l$+&b%|%^pX~9fgg3J}IB&5;GXRRdI?a?Hn@R{_+BDrU9n8xV{$X zF#<|J3(>>eCZIWxsq~57t|rYyoNp{(5am9DSVa(IT->T>CEYegPRQ}5u)vq1v)Dy$ zbw5Ppve+%8d7hG4#YBahAKY?2a&n1YsN0SXDO7WOcHUaLlI=^ju{7``V~IiWY`f)M zKr_Ty`ZZbLGG48U^K+S;kMc!N@%^qM3BIr;wPr&?Q3kcL+j3|G5?*J~IvEwU#fj@= znqr)|0_QHg!68c_A>K6vqfvQm^^c;AYFG9AnSpjEaTMGK@_pr2g32LNQD9YMic%`eRubTVu(zj@N@29Xldz@d3^Y27 zWY98J0lQL9m=w=rJw2+3uI9Gcn870!#WIkcKT?K`<0uFCQN!}5J_D%BbC3z=>9$-# z5qwgGMp*fXAlN~W#hkzbV;dC3Hz`g7x!~Ju9rFmHl9Ax$5yAsGa1st8cG|;GsQvB0 ztX2-J@3cYh~?$*$jMhYc#@FEG(Tvj%*;zva6qX%rZupU&xmc>(7 zuX!u*+nh#sN_}=D!De=V4z`O+Z{CEAZ z!?6q}3m)KLXny$ssfaR}dbC$ICi2Qe;G04V51CBpFs~icUMuPcXlGL;j>5a62QIIp zA2xVE6 zzgAmDCiH*)wYvyT;|BsJm18OA+cZ3q|(})bboGE|2XBo1YxXFCR#L zQtE+yR2^>+NN>BAQ9dH}^4z7}Y@`g8ON5`Nq_;>JI+v3rw}c#>qf1Jv;v7$u;bV^} zosi^lLr>SHX>l_yN|QSnMEZVZ$*a&0A*(C^Z?TjeWM%XSK^Y| zixIp|ZWASQ6T9{~gTj8Lbz-yi@g_$(Q0H5p!jTYt6B2?EPTFFa%sGfUufLL5_Ybr{ z>>I8i#CQK643V9kZ;a23IvXW7I-%%;cz#+UmBN+G#bE#=K+EG4#vnL8M4 zNqg0sJ|upadiO1HD`n=8L2ai=H*eB@iPzx^6n-aVU~4VgunUFD7@lB<55$d|>C&H(Oq31D^_GR`fCmTb@&G;Y2-O2Z4 z?NTUIM~9!Npmr(31gxX_&#SUufy6Nt`) zVO97LiV6+EjWqWz(m3w9izj%XGnYj>g!?KO6_;2F%}?JDNG6Q2%QvXN;T ziywsR!Rytqwt_UI*5TLItliQs!lDaT_O8HUQk*I}bS0;~%WlVLia_@!#}Y07y2DGB zPtv3_J+*YKDEoQ&yyiC7wE*)YqJ5os>G8Ga+?KWgybdvdTI+ukS$DDp zkjv2hcR=Qp^|~t7-~;dA$O-M~2@ie=&s0;0Ac!ifAeF)P)w;agC!TZxRkg&BEhf!c zgJEY~I0`lM3YZOtXqPawx5>Bn$BrC@*B@Wz;pH}-4yAS&|aXj653GXE(>%$7lys%N6<+ed&&B|Y^j@5lG`+fb%s{=9bV7Ba} z`>b709D{Ui0;dPNug`v;wDo)XMdpz3gvO<2`%`iw#5z&5s80}CM`4{}Jq`YgQoT*C zQH>cq>k1jqhrCZ<=;`4L0`=FlSR7z_Ts8TIL=lM` ztMf)NWPb_Iw(;?gL?&4+^{sMC<(0XV^t>QtbkWFUW?{J#32F08VzZMcPm9_`#i8Z4#1GUqTnktDjvn2iu75=Vq#5m&u_ZYg9HvPd zhRLzYjV<0;R8>>)tkH+<%dXsA!E{^B6$L^}efefKO_Ezm=J+!mrMahxuCHIUW z-;pI_MthdrWbMv-wm8EeH4>XPJZrIGqUrMf*8iOPpd}fa1^Kg|Ez1-Ir{airX-iV> z;B@c`ZYpeU`t&hNBOW37g?4dE@|?xFtjz?$nvK)(GSk~n0y8bLg)J64f$L~s@GQ_ z9+O!&c0w`fVkOs>Ji)fOzYo7ipC+q>T=JZ3^Kcc2s@_SDfrqB!ck5#atl&myXCZ>0 z@`}FFddyP59YPYG^xJjAG3+b!{Iqd;&Y9;(1~82$&d}9ZB&(8U`EF(+7xCFY8&h1w zAeAIxRFULw;0F5uB%*h?ttFPUd0}y;6JX$!e2dcF1gIkHLckG3DQKz1O+ovu;c_w= zehS;gMH9UxmVIIpu}YMHe-^xy6uh`d^d?#o)oPp1a84B0V962A+8+c%gp7)@sF<$) zL~2gNaqRuGp%8k-OJ%Nbaazi^)n)Y;WY%a2N3y&y`boplJ~*Foj{GQ-Xpj`8>Zj^M zSdDBcR|DR?Cou5J+S5=k`Qa^6@K&g#T{l$V%;9vFiMEG==ozbTmCFao>aKJ6x)bfq z4-HKh!5qMT!VQ&SNHAv&GgccMHNEZ(H_$mJLPE4`Eio|PkAe+=&KeckQs+7hzCS1_ zLT4uMcj}>0OZiEu6rD+mA|*AGFbP#gvi8O;7#LHm!z+5Lulneez3#>jeDIIFgdWDJmGF7dY_P5*Ziv$c&qfH~ne8gaf2!T&dAZgaSm4ct1{xjKpbe#jsY zIZi27Oze9HY#4mlDAz`&(YeNZh_vh}Re>=%cfx8p>8vq}<=RmM8AlT7Hs6SmdRWa= zIiuSFmGto{iUNRRW$xbAqJ7L)NnR40IXom0x!_R}n*SpimICDvYWB3r?FT)loG7G?DWCA4yBH*c))9hn%+LJAy}>R0BE8(r#$hY5LId4DqqKc!(Lq&r}}bTlD&j!>u; zV{klN5p#oiU-B~`(><Q}ro=CYQSR+cXxVPiZJu^eznx$2e3lq2mH^I8W>iO+lc^P72*@T0 zr}OW|AX;$Ksc*2Kjp?!{38alwKjIxhF0Kg7p02 zi730F1VNGdGJqUPf6N^2U#O^|1ZMDHfq&bI>3O5)#*H`&PJ`keDyf+^8HCnf?ubvE zLw<@)&zVy!c_4IcJ{AZ#Q7nBRd~FW+E?IuGiS~!ys=C!KFkxL&9E>nu;qADQ#nc1Y z$|#LrZiRq+@{lYRE~<(+_{&;}D_HP0D_a~>L6|MtS;2LD&X@*5==B4;U#TCJ zS>)ePM9ZFm;ADBhK~ZrnzD6?Jr+{x*DHXk1lHCco^q|wjN5T%)K{?b_*of(cGfFRI z^fT-z&x;wZH!1`_PLiRy({HeG6MT?YYTyEM9bhC2{U(*9`87<~V+Y zXZJ+HK(eXdrXZKf-87h!$P@9fX*haWqHUr7;s?%c3A?^cQL}7Iu=0i717`<7GkQCR zw(Z6K`f7_f4{7*$KG~$ny)wq>j>t5HiJ6r9&jTlE4KObq13(1Ae`{L*13&=4-rL&PSpSj#nkr-e3&7*`-~f}fNb7qEwF0jHmGFlu zMm?S31XjcdxvH>TIoEd`%hxS^NP{MPnq0-ZC7+LtJ+yuG;X8`qXuJ0+menzAnDGf&|=i9yg}uP0u^X_1sLV!@^B?=PRdB=HqJc@bCVq0i)n+JEXg=MsKa(%~u&YC5!o$Q~{!@Ppy zQK&?nL027xWcUDL_CeHrg0ZFrP|;Uxmid%j2+G1D-fp6v>{eyIav{!xbC>4avkOjM zwi%STB1vauk=G4Ss-e=@t2e}4xEc(K+k%LZ?e^BLs8APZC#K76MCdj!+iGW9k(>@j zTVzz|w&!EQj8`*ZVJSGJwy+ZT{(e&?7(>dIIzJQm7Z;N~M(0iQ-CZ%zmV2C}bhK*aHmc^7u^SV1OF}yXYkk!}97ph^b zxj~%W8?&yo-Ef$`+}nK}oM~hGDPFVUgh7o^H|NlvTt-QQ%68^LK}eUqE!7~I-YrPn z?Uh=Z+YR2>W`v`70OnZ~<(8f6f31pc501~`DyvY_L5y4oS7q*eAvV=A&F=_%Gs@#0eJrc^Z$n5&Hu*nV+~vZaQw{(%IATO-QUsAaYgGm zEl_{qxf=FrdNXP3Mk>0OPIGLSg@1kWp;WDhb26A$#I6`~&lB!qzha)?nBr7%Vq2-NM7+?#H z*7O9KL60B`&DPBHJ&X_oH6X+wL6R_Fst(r`q2&))MvG8E`fP9oKG3Y0>9>p=0Ui3K zjuWzu0t1uqe()E{fS;z0ALYdkP3Sd$G2z&YnNZ?`9ejRg3^w3I_wOqnYPWk{uRuzh z!+4@@1Oh_qw^w#2kpFHY^;Fe(l>y+(k9hy9L?9z$OLHp#tH~dz{VJ_C>orEK%@?%5 zeY98wtrc3CO&G94O~+hPZ4;3QdNMLee_q*PgtTiY?>gl$hWfb2gvouvYnN9Fst?y| ztSLs4%_a%zi>Kq!4l=}R#GeF{oisK9EuXb9l3d<)_l$yY)oBR2=rB5ZjOD1ciJl)j z@)T5#{MFP@&pe%Q*v&}*mTMzJ*RjfWAgXq%1~!ucr?Fe!ynAO~{p5Pwcc zcjO){BRsrJ96cp%{&niKI#KovC&-W8??RFANRnU^lZpqylzJ8`^;*}1(C*;SABR}3 zsVw!GOkAyj%-`N_UnSt9TWMQ_;xT{$^l=>`Gnq!_EDn`d@dZS4#Ok1Q`c=TJT6h>? zy5yYIm%`STE(aT`>z*TrWnUw<8#-`PLJ*fDn5_w#{ct)qX4Il(j1C47~g zH$H|G2{O1zFh35$)}`rK-{s;D^cJP>e0>`GT}G)L%#H(JaW9c6--pveYmrz7LkTk2 zDX8AbWRi`rH@cE9EC!L9p%Rnc3VD_A4fn;lo4IlE!Y34aW(Lj^8)}$9zjfA5xR>a# zLD^Y)ft)E<0#m5lA>AS$;8nUGfgq@6Kgv7#NrruEvq=Bm_#?qjCCnGvAG{QzV&ez- zUZoYj_)qf9Cj_&Q>{pwhHN=G_bj*wmiw{c}3>DMOxm%!GYE&A@V)gCL{+06}kprt( zFaSq^7A`3ZjinB2ThQe+FkUHcV}N~j{hZu{y4S8O@NI2vCpNzORJ-pl*syl_{`R~9 z=Xe`zdOA3e*Y{TeY^px{HCGRO- z0boDtCz{U=DZ^$Yf0^y}CSJGiXV5cGEL<~dyy=wJP4`S|DnO}eYy+K2>uT)EY8={I zAE($txqy&P!$odEh?0NqE?4XtBCGw`Ul-&Z_7#e_PE;UhUk_xhRIWogMqE%dJ*5nM zW;CA5s659NVR9tT&;^lhJS-z8_r1X;jWEzzlVrH8sS ze;BboRcfF~Cz4*?Hs~rHhJ!vLvME-vMEvyjrB10ngPZ5Q&-$r#&-wVYNAPj($L8H%UP{RTpa$s3r zZ~j(s-`WJJ4?A61hc!x`RCvwku-?xvrfX?Thk_0)sb^Mn2U^1i_mc)lJmp{7s6ulnT_x z-Cf_57~RrpBe#zwAe+^{lu?{cXpl&#F1GmX{C($k#-_*T1?g8{VjRPuDLiyE=lxxF zw;V_;K?2=bqYtmGR~c^}rAHFG_NumUIkH+)Z>hXgc{3B%Oe%Fav*7pZ5bf5V+g=1l!Lho)9Pq5PsV6&>k~Jt%f2Di6AE(AZi??7e_QX^B?Wa~ z4>+)I8<3jzp%3+qhg&&`KS5ztmE@RrI*aymW$KLGoTX#tv{!`^p!@{kNfzTIN&)Af z^T~D?4|(RRqIzmQ>Pnb?-gL%*C8SOS^-o`fY@{=Pm8?36FX5(&Uh;S>;w)!L%+~Y# zpX3*78ih@I15u817M`^#m9A{rb3HseK!#f*CTbgU5y4xK8i<P> z+c}k&#Iv4U3I3^t-oddSiRySlkrK2y5iJPGx!pE}-r{FgN~dY&5#Ll|tAawyxksc3 znd>Ht7IKTSug63qL**GALirf@Q^<%9X@1PKo3P*Z`;jlL?EM(49!B5zf^e)5NIb*nA7TH2?mOf^m^Dj&B9d z2a}-YQzNUfzZ9%AiUsn%q?z0n^bRwf@gDmt>GknCDhgp&nY(con2T@6f%9>eGUmW@ zfl0ESvRI0?PKkRVP{ux{s$}gHQpI^QT(|gu_nQ;bgB>ub)bkc%H9$sQB^Bmy$$x?# zzou8ro;$@4qOzo^A?VWfxD$65ui|Jb(V&OpQ#Z{46&ocsevpsxDxiU#&olafHSX&S zd~7}Loy!L&3p|)uTl&t*QyO?q=&uX)c+RH{HwsF z&X#4#(bs`FmN0wM>WykXQi_Za!>FRI)V}kko$eE&BGX>%LCjN^_xz@KxG+YEvYzp6 za~3$5aFr*O28DcH#-c$`Ev~E_GNSS?(GlNBcE7na+?t-;YA|FZxJMZ|6L8VRnG}4r zE<0G2B?NPewjfFo^*tCK3#4E7w_-C9iP^UswvZ$X!bwQbNrkH}?4~W4^Qu^oEHHb- zaI;!B@3g80kpYQ1Y#7p(Vrm^CakMg8<}vI|k%)!k5sprmak<{11Cv&qtt4n1Q~D$B zWFGGChU(HHzQ`wiw7`t}ompgu3Yt@9&_Kf5Hd9MmNA8e4BB}AvgJHH+AwPi!SbbIa zK+WKYh)^dZ1Bn8+`P_FtP1xnI+@*-STNs0N8zP0EnnZN=6N6PTw&S8;)_7)9?I;Fwz9NVg%4MFVe4Oo z<*f608FoJuSK}2H*c=&D=7)Xx;^#VJB(6-d{v^Vowq15stvV|lK970*Z3C**GCEjv zMmq@{Er>)Fjh`}$kGw>p%4}d;Fkkg!Do9P@vq$cIVa^Ldb4Eq89Igw|Vq$yDAgVm) zxd61hmL;X^imoRs{J!xthY9D{N2b@O7uIZrsfkGhPrceXR4j}4bv7HuTPYn@~?FqZC_LY$tKOyNt!nI zKfRls+h?6%>6|;tHPgNt@g<)5_Rq0^-%27(l|>s;D&yr(b2{duBFwzA-7FSC+d6US zJUo6qwsVD$oI9A7O@8Dh3OS?|%LWcP_;u+-iDMrs&YeB!M^$Q5ii&qb>-J-b!A zE+mschO}wO^FyByj1FN5E4y?;zfG%Huzyylh24Jxsn)Syw8k&E1bcHVok-6-_zHy| zns(3@fsVF|@m{fi7G|j~Z0jc2qVG+maK=7?jrkD`y`(askEC$Vn|!pLE@k<2JPHa~k?u@Qy%*_GJV(F-KdH!pEi_fT?AK+{j__d;$r&*Z>@50K*wzX({aT-7@Q!@g zdpLSZv6K@9Bst6z>~-mI`gs-J*mY5h*FG8nJriAN9Akdqa-b;0w{r+*bOc}Xx+k=)~Om*XR4wFk~mRBE62Oc^VM#x74 zrPa*pR_jgSjwa+0jmz(F4twQky7W6w1Lf!1QRA8iQtIy16$ii5(eZhdvR7S;veM|g zdn^+vR<9OJcFN11&eQ@-is<}qfsP~zy#zg>Nr4I}`~rP%$zp*C{lMxWB`N(*L78I( z5ym8&i2d+Dl#>Lbfv!kni3r)Ccd=sI!R$dKML@W~3#t4vfoJ0dCxMaMC@_6P*Arv} zMbAgk35kCvqsMvJgNBaqwSkN7X0HPi+bf*^2&J%Bzz2HrP>A;-#u>w}dWGA=slpR# zlc$LRDA@rr(lZ*bvBv1M-9Yx(t6o9&5UTJ*R!Wk-=B*b1a@No1#-I~HwcQ~0V%4)n z+yrSD#`d&>)OCf^TBd9i_s<+)j5ql|Q{LQj1u)y>H~XI5iw}0{E%FK>hE+C;t^1{%80kX}%5SyCM=Gd{PoyrZV7lG~asBp+rl6 zMQt#zCrd>1JJ}k$PaFxMq@y41=h?d)<@thAb#lGgS7MUH1n+?Wa}yPV5iPgPEBnhL zyfOI;wXIE`?5n<=yW6Z@wb5|VIHKtGlm5GVCigyuRPsJ*5EfER5xrzEIU#MXpAN>dBx`~sup`$s#SNWF!7rtYDdIjJ~MgVW7F|?lgg9Ib88ejPLHCK%E=KEDM2aTHtc6#Zi%RHlncu9v$v zB5;~+yHkR68@I3-&EW(i=ke|a9HM7>%fTrVy%o3HB;({eikmcc z+!jScBouAC<8`kMKchx{u+q;=%Dd9FICVf3RykHeKFou1ItVrk}nfBM5-j~t$H>fI>WfWCGP}w~w4fjw+ z>sCQ%3>yQDml*y;+x}_`OS(-c3hte*J+mXkc&EXlqf&wHY%4=NSrurAv~No>QgauWj%x}UhG7!4-1`^PER*~#6jNcLrwhmf~Ts`~b( zkY5^W`r?AxJC;!~!a;2Ibc7GUvp};nX4GnGWn)>nIQjjW7q;I&BATIM7r8n4p{t-{ zLln62@nV+l-y**9yft3-Avd?bvUm)hB4+$WTCEwzV=xi0Vln`x&%fKK#+Jrb0LpCr zKh#E&5~l!REV!WyUa>?6MB5D~TTt_duz)4^!B_#c^!$8t#D37z0g}@}TdV@P5Y`9f zJ%_3bfM)L^kCi7h#GSBV#lxU{&o(6Nj>Q)<$mD{EyBJUU#-L&%4F|Ilnss4QgJxMb zBued?hZo@#q`G^eC%$a&&Sj>4Vo3Hhj^fld4D0es=bL{hT*%q6mhh;D{1 zE4X_S5aSn$m3v$$WOS|4Q9GAyZt^XxerbQ`W#t8_aND&?nB;n?a9}q_uAG`MM9c=6 zWCQ2Dn>pt1JIuqNxZ7$Tuy4!!QZtO71U#M(_}XeqPT8cCO?+%oUYdVcJH?}TOrjEW zr?a|4T}iLr{j?rGZcj(!2y`W@x`o5gkUe)|w(~*OElt}gp@z{MI*GFM&#@0t)Se(u z@ED$kA)hymaf+{pekJWkXyNudiMbJGl3M)+CkR!1(9e9U<-e13~ap- zKXUSgSsrJR>iKRFf{?Y+X(FR{osET_f*xJqk37Zia2l>3Ik+!-_7fx`-^FhNtXb5S zfIp+lmp4Ag`j)9bhRidh6ne#6x;uWZ-B-Z?Qr4703SNVlifLde0Xnt5LjYAJj4-uG z20Tv&Tmxp~%O$M#crlvK^vw&BvO|`3^*a99&R-Zv?kCq2K>%a46fp7qou>Jx6lqg@ zofRO&4A5#t)~SMCZ)4u-l{Uo;h81p$g_BasEkg><^<(zMyaY<4Vx7BGeU6vUneG~9 z*sudR;n7D{_vIU(0Lu!c^lD8+g}VlU=VXFwPchX5h|pgcG{*4?qcCObXX7%u=J4+3 z>2i*v4x^xC;s@hey(#O3_7!Gc&+H(SR4vGak)XJwwDuFAxv6`@70M|$MpJvC_1|qv zL^K(G#%+ePkDz+)CT?MCGmZ_yWsH@nvA9k5d%sP7UG;+BY``di-K5c|vst>R!THMU zz*g3$XDAxb zpCY(H+M-aQfWC$cuuT3=!~Ro?G;6#9A&?OXphX&E=a>T&CWM3+O$g!KYt6~oL2mv%ELnhx5 z$nFK6H`Boy*vJyd$*!W0R`Uy6@>q2!!${huL1>j8r8TLyC1nzj0*$n@ssz+yD`@h1 zGHv9r!dUKzy7Jf$miG`w!HTG2YZh@TnuZ`u)Gf8VZl@N~C+K>1%R0)f%@@P9vW}e= zYFKPv-2P&{J!N$>B>>to4KNP>6A98kr>8$9NV8&uU;+R`5FqdR+H?z~E2aa+vk)sw zJ|LARd9E9f0rjOVgX8jJCx)kUd-qY%FC zPQ7`>c@iW=_4aA!k-7MnYVq)2a0?q>ztp(_DoX!1EBdDjX;xGnK!p@Zfk{L{sbhm3HNvxst;On{GL;6iy^eqUX~uLH#@@uMVdCi9@&C zjp7W^3jxzw%5l$EO@nBRWZ4IawuvWtI%NT@aQ%{~iXyDzya)r=MZP+zhwHFod!jG5 zC$Rq>eZUc#-kk+hN9b=ZEB_QB1sIEes;XW`asrv^8HvCV6)FXy79a)tbE-2;C$RYu zgSV@$T+@9V*wEa8NM`2wf&}`pefDLcAYCb`5rjyG4`8+rH1Lz>T@F0I4fG?Qi>j^0 zz9mkry<_ihyv%mjSl*u|t&NN9uuV67EH-Z$dsX&Abjs0XX%2@O@q=zN8HaC=e-Ky}u!;L7GfM}Dgd%3nK)CV#G zm+jPcN~FSCKB}&e*@4j9BR3t;30I+Z)|PNJ)6#s$(BZBMaIfcHf9xSpnzrlg9v6ln1{ij#( zSZ)2ke5aw9pB_Is9uWVAh;y|yQPPvdssPN~N5(xBoc)OIWDPSl(o~K2oIQL{Ro0WM zcsXOm)Kjkj^?me=vW?UfG^TXET)o0TEu|8|+eJA}PL4gulDVzN>mPF$;Me?bh8i>A z-2ZgrWXP3wb-xy;dD{xYioib2d^-6 zj1RE}LDv=|fdN z?L~Lovt!bs#|(bG?WtqgN8V-V&3UbtWrvp~%@is-+Rt>-ZJ&7xiuViXl>ZH_Q8tsS zI|P2t%_H*^7_S%TRQwICaW<7}H9Rly0klyz$5tEDWnd;nqT8nb!D26}UAE-D8)P;Q z=v4SkrBU|7mYda97?%R=jVI7lZ*PKaw&=ba(A0Eqf_=8?{u5MooS*50+amK6#bqQs zFZRKxQTEhU8kVd5WWo>Lue~g6mzJDU;`?r$w~n;;3Vm)cX$Lf}fYPX&blL&#@6wX@6v?Zx3mLjUW^yhA8yUeQ;3(Er#YVvRz`UR`V8xQ?lVmpZeBrR2H&}CvjfI& zZ~-?SjJQQJPZ3;Bza@n786T64I~@xd9;gERX&@Ym%Q0BmI~VEg1-RA?uH@lQSmtTi-yijDGJhNu(EM=} zY4OLAb4%=W52jJiIXx=hn}-nj5kAWEgMZ~X=IAZ?QegB(IYu2>P?^WG*+e?9{!Fev3{}QfC=*WN-^%G7)d?a|>dY956F)Z?W z5aZJg(-d^1#Wa$tAcg^#P=IjNjbXbRCuQF7REQOBZn|LHP@kl8;H@^M{;7rOEGG_; zjnX3z2ipr_kZYq*gK=KIP|fl$UL5X&58%+cK#qx??C66Z{8DoD5YY3S70sknu_Dzk zgme!^i`c%dD)aBAYL(h!QoX6%bLP<>qQ`5=X+ zeJuil!k)}Tv3{XTAClUGNsvO-JMHtJzx@>xQve(df9yEo?Hcw4Rsb?E_m|?!1*SlN zhwYH+<1qm>l)@&0^47xFr|R7ZpyFC;AhDdw&q@bChKM3##htf0`l%c0Om1GZG~Q)v zm+oI4DMoe}zW&-nBX`GxR4YLzzU{6QaUy`#>_elq7v0HQ&PPBYfEKJt@Ey8Lh(qw37iu~x)%Mqo(!$%xjraO-eloKD+4t5xb!l!in?o%P5=pak*=U6Ed74Eshm&s+-cia!|(;!oLI@6i~y;<$sP z;VtD}2@OVZC2T6Z{OP&iQT+ObixD599&w;@)sRz*pm3S3y#AzVqL3{uLor7Qsb*>2gi3MK32oiE6z^7;9FO<~ z6S`gmP%oFwlE8W!5Dh!%Qc8mWxU+{^e{h0BCilee4fzXDyI0R#Eo!6aKj#=*CMopG zgGWZ$t4B_Q3)pbV`E~71!$%+aeJG8{pWY_YnyXXcGCG}g%^CGohRsnlSc9v?co^nF zKSPT*eBrK$Dq{U+T=?Dci>9dIhr2^Oc~MKmP*Z#pPoYq^@uGCE`UOmY2Bb?%n28;O zQqlKgJX$#Q^T*&*2KRgP@|Yl@!|3rtqc2g?#qC;HqUZmIwYLnYqX`xTahKrk8r*}s zySqzpcMb0D?s{+w?(PKF;C3KDAh^Ag@7}$8_uKvR?!G_MHPux$b7t!FbXS**BL&QX8Zll6SCRc$ZXs=@iu1!B%VSbxNBS<{O8E zWdcr(Tt+9wIHV2fUNlNMjEmW3{uo0#EqQNUd#|ovLLnSs-^H)drr_MAJ0=73{l9`^O#Tzt{K8n@Qhq zM+tm*_{?47JK#v#O!3KZm+54h9J-3ULJb~6^zP4}Gta(IW%bmxbh`;pt!*hGBXd1X zJMeGs_$NnX6N|q|4q9+O-tTSwq=A2GYXW}0pY$C)Zaxa|6g2PuVtYSWea!5oUhRhY z7H>59O>&Ix=?7fg&BZVE1VxLqH$80ktQjRZEh%jMXL|t;o0cH~Uus``p>| zlqj(A&kBM8`=pSpU~E`1<5IfI>)=siYH-5S!^J_ue?q~A^%>CJ)ADZJ+~k>Pfc!ry z!TQ6rQ)|HD=)j!LsDewq%hbV~f-+8%jtNlO&||iCRu8oe>?;Zk5sm9cOs!&~tih+} zwK!zdR4O1ped#5a$xfskmS%_^yOCm*jXtQfdACL~RKf(ahYq~F*V9sBwpZrRhJgla zO9{4>I-SyTh|CfJ?;kO3j^jv`RRL?sDA4nMmd(}moM4)DBNuAMr{Th=ra+x9zqtio zPMYevAA)bl2WaBKs8GQ>9Rl0VvodP~NduEAmmOB@+0rx#0~sy)?V3_Sz{Ij;=$;xJ zL}uC_ebHt$EtJBVGE4OAEVl(P`qX?WE6oKN$eOr645IAG9=qhfzu1~;szySxMDYU8 zhN#8JWWiicXq5bab^bA5{s9{C>yxis!8g?Xm52h{GYD;RauaCX$t*F9+}}>LH&X9G zXzsh_yl-)o{z_M;VB$~g9Q#bsr8(;E{67zBL927u8_> z{fkpk1`wg3hkZozQPdi(14~*b(Br#7B~%FkCdLe1X#hM2k;N5EM`#8}2mf{okmR4y zn1JMnLb#^4UQgA^#O_b61m}Y;mp~Y90sG3(7u*Lk`xOnf1?<>RP{)%{_wYPO6US8$ zjlgX)HU#vts+Q23>fl)!1JCwiEzTCS)h)kzqDg<_A%x2in>?d+8M;ok-i1)79f64_K zq>%^aJ@b^2E~s*VU&_Oh7T6@qbWz>2C-}Hcd@xQfOMn-d#9)h(!Q4+SyTx=mv@cBAh7#)>U0&P z(jxSDQpK=h9#pE?m@&PFRk}KCP693cF!Wki?{ zHBkn0YJ8;WYcwxTfzgiVRP1ukPkwd(lbjK8)qlFtC~57v+axVzE#|A5mG7eP;jaMD zt5N@MNw|4eB`Y+*On2@Y?`}|vLs(MZwr)ypcysVO^1kBfU0fp)APj*rPW2{@xM;@f zP*=aoua)Jx#k6TAAIoWuTM;)dtQyv6Vr<;ZWV*J(n8L_s2eV5w#GRaET5j!6>^}XH zK<(n5DYn|Z^K&^jnS%cmo+#zb*Jrx!iY_D`?>$p}N8|W7cV>}Wa4(o$@atl{_1k-y zpNz`6;q{R4@MVJ=f|mS{(bd!ZrS7zYo~gjW!c)b*vnYuJRsdI1K<60$wR6$t>BpYt z?{+=3K7=7Yo}tnHk)N-bkS9LVSu_!#kCg{=Cia*3&He;6%?jBNwcddr2^ZQU3{hqjgf+J?B@-UIY1-IS?v&$mq#m4kA1Lc}P?$-%5PRQFB*x~S zlO20%fNJYJhx}A`d!8y2l&V-6pm8wd;{$ zdSwy3cv}Px-wD;@W{4tgJ9;@r%}`jr=BC}x$+#1Aa4_!x4vE&{wAXixJty~i@}*AL z=z-L%s~YLF%%#Z1fuXG`iPA{LfuO8WDIR3H;^h@!mDsAkMJkn{gj<6vNogRiXqoT2imtkr0I401;fB+Bw18>@k>|= zO@8e^d_@B$FTz3Mue>XjvLZlc=jq!?Pt8<9jGK0FCt(xh#cDKfAvyv57T`RszhfxE z&@AABB&aiSl|GrPgPYg*Ohm^PLX01~u(DS;v@#g$j7v=9w!<^j=$_s4J{w|7S+N=) zVWy3w1xjpt$1N0@q1|K~D4xyz9Cqy)qyJEdY0GC^N&hwu5c{UVeYr8#RF~7t87487 z*Txx^Ct+{kxnP@b1Ve%0THXs>e|WXL`e{$ybDp~$>PWH$L?)DnCNA6@W^rOU-~)T3 zg@kqe47Kjl#x!t7<=#2eX^8wp0}qEXGq%;EUM zk#+|agK}y^O(2+3&GXR`$gPU_S?N@o(Lx|=5NAAm?$GAQqdOLh?uB!#u1I`6!Xdn| z)4p#nxA_|vB&x6ceNxW$cT@JYZP{xeuh~5xyiM(0CVP1KMB_<@lDqfHg;mmd!kfoT zU#h!7udTqe#mivgGjldmDNsSyo1o+U`tn4CSCdGhPN)!(FcXkHey8Oe1iMJ6hqxw1 ztuxN+L&9`A{)A(>sRi^Ms9>A&F`CcWX4^aquu;=Hd`_vIbKp&}U#T77VFZ447fq>2 z*0pvS1>`B635mtj+>(|_jEVoW4&%ZtxWyT|{za4B7#~2a*R(&$n%#(?m$D}usO^l0 zH=_wLEIVWy@Y2MF4q^X8)-b5os?0!BPQx;-)H^?qS>T`s<@0pAe09r0i+oAT!XHCp zQ6nG}hqn0a&gi!NC<$&JLd!mC>@4LbfkxMY3)6a2<)7Wm0urNNg>o--JM`Pxj6x3V zb#H|7w_2L|O=fce{f#>UwqCEbH;wx*fiSCnA#I{u6X!KrW}HTKudCnQ{}o*0au2Yu z1(_0uKu-3;|9_Uw|5@=qZ+Yr(94Pd>fDxMawnS0)1`%?@KI*3!Yc_?N$FgCO`O1&@ z#mZ#lVvHH4)oAyN;TwOF&?abFOoAXuLYxrVelv^BE0&w`VNnilK_;!u^G_VyGz!a6 zGo-RxV)cGEv;geJ30`Db3xu9AF32MrIM=R??+5g1g2c?GU*zo~1ivdL6>7=@AZpEQ zC!sv1hGo?!M$6@mJ>`)MXwo>*Jc-HreW|^qKQ>H8jeK`68I!&WC&-Vle&)1*&|_z{ z#yH1>2S&+onkd>SWc7cSmk(l+LQ3$vlX0(;|yQw^DxXI~fP;irx{w3*K~w{QSs^%Tlk4LtkraTrMlxr?$=eg}_N(9jaE0 z1ay|Rvw)Ol7KcUeNTs(-xX4YHw}SL@%U1nadmb$s*d}Tv%C>`OC_1aiP3Jw|5k8=_ z)l4s6L-64-u4}(w-M^g&d)tlieu7@47Rvv0W%eI75Hk~}zpjEH8%WuTo>B-4ChWDR z(8$7xfc%MlFKgbYS6s%hm0zW@bu$DqW(kv@=M){Pt%8!PU&sf_;c7F)iG_rDn(D+j znhDj}D1EZ(%njh3ZNfrs)O_N3Xu|Egy&?i2mG(BAuvU8Xr#1cEDA|PVXnIL1T~QUG zOgU$@lscW_%rbI4uy_3RHOKvpk<$^gWNL<>RW^$rLvI<{gwJY?V6o1YNTlYeleQ+i zSc8WVA;W@w-2H3yV1oe%gW1A)#ti9NR4u~L{X9!KK3Vlb5%T9yJtTLNpMu#BzZ{#d zGVSjP8)s0i6>gPT%c13Y#Zx#QRJcO4QTdCt*g53Y^Z!b}MbMADX>ZZklOQa?QE7>vg!*&_2;--*QabaIU2{eD z!M2*KaN?&9v|><T3ng^Z@-3d<{&4&jm-B}5F-gkV zvFkSSZFT@Tp}W*K#{9I|xw+X3UG3$RD*1t}n;uDbKm{ogTm zX?YIm9w6<({vQtm{}JZ$w^rcaFqe@ug}>FL!ay5^N1TWV_SS16g*c~8K-0*GVH;D} zk55>`+vgmlR8YDT;^sIKD-S=r@e+jYInvNdr7JL@1(5DJAVM0|cP{6AC1E*2_)o}J z+&U|eR*lsbA4{XhqR2@1F=Yl6M1>{(IN{DSGmw@1@LNaAoDjt<%%tWcz9RLImBn_i z{Z092ku6G;GS-roBLiYVwrw^)R7}Vtys%c(gF)h$cFQ|?e`D!Mgr!fQf{_+wP~H11 z4mwOB?s^oTiQ}jyI;=nxxeDIXz}RwDpaPEEwqbjQ)a&-(j9+A=WHD6V@x*SeHgG2A zQEE=6O*Z#yBRrvZJc)zK+0^*&nPy{Xu~vxXLqT_wJLVuuA@B~_r_p_(Jl`{PL#7ex zfQ5OdTv5_Lr~Dj2!me_r@ju@FBjPw7$-a@jA?s8$r`o zX9s_D8&-(muB=Ps_ljdAgiKnlE}Am9Hw3pz9-prNwNvzHpw#^WvWl*O++_ZDa!dT* zmg4`On&bbKTOwP*bpsU7ef5S#T;Lj66ffrpK2-HlxERuqwkx8IXGZnQ{ATC85cjpH zKJ6Z}czN)4(#O+&;OZgscQ6b7N31o`x2>KrXzMd}$9H#%K5ai7lCzVk7s_v^?>tEv z8Gr!6F`=DM^uudJzDbs=IvIZRv-PMrOn7VJT@zz5-a62_pk%uzGbdGdgZCB z(pA^ojdE!^_~D$uQ^(=STz9z?DgV{t@oRG;-nTXsz4!7df|@?pJ@S%inIEc9adg-* z?rRd)tVs2M5qDkZ$C;d+*29DOMU8y*FL6$tmy3~M0;pyr4%z-< z1~|P+=V}hu2a$LId%m_R(Axu=-}%-M0$_9OGJ5YV+R$4nV*9}5KE;R|0BsV3$vJNFykRm64XLdFmLgFP__nenOln$?&Ly`+oGa1#3hNxE@18 ze5XVD)*TUuF3D#BFvaFToX|9}#3hasw!#kr;|R7R3KyspDpVw`OOxD0Y*CwzCSGh9 zJ1Vw8aP~3%!~DnjNmzHp^~Qc_Ft5mk&y!7t`SW%66{ODv=?2a?e!N?o}oS%1_TIHd1fU=<@x}snJr$zFJ|=^40eGU z77JT7L(Yiz=!gVB^{lGjKn5$7B-1J|Tn*}(T3*67V@vHd;etu=GBp~qm_UQw-%*yX zWs}FUc{%6QB1bTU9aY)%?hbW1RCHgao78voKi70PsH)@5=Ko(rVn;Ap>A-CIFpgFJ zYrEmq27PPoOS?6{s7Yk*RTaE+J_0T!l@62eBcCCcOp{wAjqqlZj)jJ;^@b;eGy-$& zI(7z73aM+~g-iBJYll7*s+%3q3dY<5z=&sCT)z+daCAlqO_O!T#C!2 zHDu}s$Vafx@0vnKS5k&q^6LFN+*SeEgx=KrsiQ>K6K&y2UW_#wopz6#NhivY-){z} z9Bak{3luSW!yJ~~vgNHQ?bk+w)|!ZU_KI(ITdr+jPgXm>C4AyiH$YO)7%{ld8D#fv zXmahRa+KJFwz{vzdV;3UQj8)F;vMuM-*o@Q5lUq~MBZSDKP?B_&%lj6);r%2X1$FJ zq-Wh;z9N{%`=PG!9mTYNj-$}t{aCMt5F_px$EHvn^Gn5EsWMZz-aNt+D)-Pm-2)rU z+cQhcxsXuY!mjAejfqQaXR!)>zr!)ID5!G;SoMj#6 zj{3ys*zEi36{n-(Uns5#`hILVejFG-#5>HsyG$s*YAqZ0h0bkAnVY(Wt5>K4 zK5v55a*-o10q}_)2~#JQE*Q0|5?P(4E5PshUmi8gh<4?6AZ_iy``=4}^Y4%1U!DDr zDtG@8OAMOx)UHXnZYX0y@A?No->w*vk}6)uXCGr$WK4)gMo_A&6rp?w+%R1oGdO&m zoee=gQ4@I}{^-nXfqPxb<}-73?dizuceK-1ueeNmS=q{*W}f0kwRQDmwe9-7+2S0) z;jTPlv55G}=J48b;(1k7Qta|=xyR4{wT2oXcTRJSvC-6`;b>a7ZA5*KwmTzrfG5#9 z2uRc9e3Rq6h9OiBR0+c7#Hg?lQK@aTsnwVXvyoBJscF((9_$Dl5`=CYsEosIbyFdR z#xhl}l<0A)-!T_fk(aQP+C6<`w!XsuM*S9iv)hN;G{1vV>#Ana=0T3}3d zwoCXfarM3KvR2W4jV5djua(A5Xf(THytexipcfI#ayPdDSgP^%34kWyJ_=~oyi==u zH>g|qP+ra|7#zKb$QNJR$yXFQHO z^D`L?$IyJO28Jktl}{3PCJz~mTbuSU0~~8%oV^6n0See1owM0je^I1UxvI$DAT+oI z`B&jc@H}c9Rxwc|+RtHnKO{pjm3d{ISz=8fb%zy)S;CPkq0=HwkO&%1SINU!?fQ>@ zM&gb(fLD9bo8qEcHRxSQAen6hT0D`OehtNKcq0a#ZUwsEQ<~x)z+6;VqAkYd>?r*^ zuTw#dh`BLHsTDyPGL-*EL-7BXOAF(F(`*^X4X00|d%i-@&jqf5P{|x$`sW$9A2bDU zH*rJa;&3#7Z=Vx-Z{k^(K7_9Y%-Mf^eK}m{Xt(+`t3`wJ=#F`EROEls=&Z$b z8$+%$mgdXd!IJ%=plj6a*36I0r=d(Ou?_!9UiH>;&?Z!a?fq0Rw>dYf^r6cPAivSN z`Nk=MmX=q<*JflSp_HG$`q0ULC@(TA4=P#e%Wqyt3W?!@G;T}Grk+>?e+GUN9ubRa zZZ4__wthl(g5csHstC@rOJ)X*my^g0<~=3Ggn2j^>IXm0N6e;@7zO`?kodrVs4Bvw zFuoe-H!D_$c{myB2RTlLnngFh6zT_c7#T5*Y5rBT7y2+WLZ5!T75)h&kr*|Letav` z4|N;t91lF-a5n4DwwgG12~InxhZLz zQ0CO|KQ&4HGodiIwzPKpyB2NDn{YXhMhU;V#Y8E1A+@1c|H63aY-ntXQmn8Uttvw- zQwO|^_IcPNj|M}}l1>_zlj6J8+6zg4O+uXbc=Zv?HS~zMd73-9d3=3IFq&iTvV98R z{V-^KeYtx|I03B&=H7n4-MpUEpRC^4Ke)FSfA|M%_g&R1eWaeKmG%1N&bpi3o?JaI zuO>`ccD#fev3tK8xChXm)22+=u~FZgX$SY;8Qr&|#S_Fu`M$wp)O|FK#%+CE9Ydldxl)>eWP#vkqOPhd4uo;b+Daper>|fs8{qZWar$daVn>(F+ zX6BQ(lRHpl70(D;Z^6sDyEf$N>-vwIzWVKT5?29@p>AXt6lFI3Za*xl@GR?r7K%n9 z=!7K&rNwY7n1EoRUX-h@+r>@q2bb-F_`ALr^>4ITF$3mk;D{Y<l*KxS=bx^p1bYY5tZHh5B8% zmO!+y17G<(0EN^p;Y;BtCE2_vVkM^pA1dn%Ohu!jbhCO%hfY~YM7Fiuk}jQjbZaIr zVk^5!ihY)YCSn#kV|h;NMpER%ckxVz{bkS_9R+zjp#CRKF!=^o?|)?ax!(to!%#EpjWVAHr#VFpk# z*&R5U#1Br0!iJHAAWp&Q;~qFRsqZ($_J+A%FlHuwiE_8HJ8&=|a!33+t$PBfTO;H0B zH^<#pTwiV`DoZ+C!%KDa#|W=m>qNAZHk1~MPK&s6!{!H-{}eAgK5`BhR2c`vYMSuN zT-Q%#%HZ=n1A0-tvmT>3L!Ve2%HjIm*4}jPKB;%ei#C3md($o(4J;R9JBH= z7>qn8kDi5m-3mDtwVDC(<2-|khSik`Rr%Cd3V`HmG5_i!y93zu^I9=HwX8*vuxxBzLsO`P4>`OfROrl%KX#Txv6ko)S%rG7njdd8bjIzBP|RvQ0` zsS<9d)HK>Y0Cd_auwv?o+i5+Gp3Gaog0L*8X;y&SnKiAFJV_!K`b-kjXoR$_{}u1I zejrPyC6sn-p4sVF_OVDySna)h3S&l(#G0RXAnUy$}~msJ?C)eGTjUv1wMbmK08G zZK5-S7iS`u&}ix?`!%~}nlOU3a?Gnyj>>h$c`EmgMe*(vqer!Qk@VDbi2RgKEcT0L z(-M*O@9A+|>+M?#)m^g(e4jtZg3LZXFT8~LOsk6(jblr;f>XEe;&Vb<_(WP4TU4L8 z@gTP@))D(bMG;}*;^q9ccik|Zx{{d5zR+RdbMe)on>K2hHEaq51a+d}%{MGN`=d>D z6OZU$jYm(nj+?{O#?z;0AJ5<(Pd1Am>Y9BDksPB^V7T_cbZV|;ApcJx;iiqvtZQ-p zQERo6{gN~Bh*jDben=j_%*fp-*a}Um4>qXdd5E-8A8t8d**|3+$#{q2LXbzENjH@275U$FvhYSl(q=4dcQIMK0^62Ax{$`4uD0)F9=o5yuQsa~qP(QXHAg>63H8 z3VNrl4UZy@JgMX4=+JYO-MBPH#c9RfW<5v7;ly>IZT2|Wbq6yLoj_U&)K}E+&wo^J z!4r@>lQfc{h6?Z%;mzvy9Q1+e&bV|(@J<{ zW7km>HMO9<80+?!eI)*iPClLKKI9kieL-ij;o&~b?8MTWvP{u+xx?Z5mFU7hYshFa zCk~Oh+)I*Zskz-`_VrrN^B8Lb)lXv& zrds|R{2ZRJDQ~}}ynEa2(`~i{<(9{-4vHdJ!j{@|im$6oT+8v>_|)z&E3hME;(F$y zsd!9*l0L!JYHvt1nNTu`J?@AFBvsIr(zGy@e(}w6L*`@K$fLe!(sCMRZjQ zMbA()?a0ZbzLrFSLaHPxNy?-u-qFodsm)@o$$Wg@YuNPnims@cYWBU%Yh6B~F5)wQ zo-RN8cmP-;(}n`5+7bEvSUMdyVxO9|R>W3lG3oV`B3-839}>OrBQqI4QF4A$5gg77 z8$2R3QoYr>5Zm%5)t?=NX7%M1GB*e{wGhxr)vLRU7@iUy?w*KtnaTqrbta6=bXSm> z*`Ws8rv|p85Tq_$2tbk6-s|^IZN~zB{Bp@&yfMe(H7UUBG)~J-xicr?H>vmTI&JGz zdo;)3wXa|AHs1hXyqFX4TNd#29=-w=-zX9Dn&+mCXh}G5z?1pC1`W@_O_7VcI1&{_ zD}J@fl47%UBEnc>f|y$&tMF9~B&93%Tmp?DCW!caWB$eup&K@rmjfWPrQ7p_a?G3%?> z)IRBj#J~w);6aG6Dg~>L?opJTyUzudSLL+K#%hX<5Gc84Hgo-*lXEFg?U_{{Zsr-S+yBJ+zPdj)ulLu)BeX%TbZGHzI5X zbTG#eExoAF@tlx)FdSKk?@HVS@Yo={}lt zfeiPV`##zjAkMNsaDg=#lik{Cw|Cx=hn z)Q!UGfn`gYd@%Q%&Gkey)?xU9xSe1EliiVKa{A&2iez9%*g!AZ44ikV+-&|V%L`iD zE^6FY#fFN>wJmVOW)ib5#z`vp0_s;({Mz$5x|_g!&c9 z%@(K|Lq+PdbxEdvx+!Dg@m=e`klG3s;>u1n9z$4bn_^&IyrY)WKEDZ>@!zRb6 zqx@9Y4Yqv=0D}WD&V(EerbF#ZV6l*Zm{dVbF`w`nse;^kpiXfB5QUT)BHxjcQMAyd zGerB{wlu(%lL4eLVx>cAP=gvMg_{OgU}RMYO_b71b~2=f{b09f00>el4UzQl@knO) zVOxwqVE{s4swQ;xe~4WN=P&MiXeHLgs&QXT!d}f&rDiRl@}#Rs8>H5b7VR)LNU6ZT z8Vu5_n)^O*gCPrd{w%QUg@dsL2uKf`Qlg_Lw0)C|e}{%?gG@XcXiAkue(43ndcq;v zau5-O&nQ+7SbO*si`j#S=3q&d5L`x^O1bg|1NhCP*lrN%htDKbCGUKpfXnlY!>|=E zA&8h>rrpVX&sqr#A`jo(9zOwzoWy&{hXsk`+ESFRV|9NC;LT?$=*n2oSp7q;I;Agk zFI5$IW+X40;fEJkK(FhA%%qO*E$xHM^Q1AH z1N=J9%*-7^)Zj;7t~#bSJ}LC~^izq_04wxQ(c$kSE&AGFyC(?H{RuH4={p8!f0)Z# z`+32Hw4ndsU%VpsY+k-(sFv)623j%_?_%gVVtnfE{>J0}+ddG}>*G>msW}IevgFc8 zk&zcM5yE!1Clc2sC2)7}EvD)t-bdf$SN3U#*tLH1t1#KIx2OuS0(D7}q2f;86|Lgt zX>rHrPx2i1&RwZxj;;dI8Dd%S{)tQyXPf#7<44M04@i=1`vWysOB{J}pH8KARPpCe zeaabOn{nUd^&ra~-2`gVLv-T(wHYn`vJ@RD@BdCH;xrbnKL6cBsL1yIy9pEadnYl$ z)Lv-`34xroaLKuM1EIXe>f3|S$G@CuJ~lI@9YA)t^Z#SU<^RgsRJ$sbuwe`;hyXG! z-}qqv`OIgtQ7Z4Ff=x0SIIuPvM)&SZTK#y);85BuHXXZTNjcy1a552tz9SLzunXPj z*~{bIOCRhFngU$$r~iy=^RUJrz1{NV_FgnTo~*3w{xdizQDk&$;N!31n$b6bBcu8D z`n#v ztff#3Aggqs0t8k=RNFuS_@Zn^HQ1|dkO00>HnSS8)j%FlW#8rCYHZDAMCCgwKw`CM zHIS+j27NiXI$d*_UKyDRfTdMi16VD@mr+O4lF(eHs2oLK&aPh3T+RUi3^FQB>!ND` zZG|?{>hM}rn#+93oK%3+YSn6>K&3AFa(FeD<}yYl$BV|OMwZ4MxO(;*-3ed|@C-*c z6QJRwVWQy=k@mHZt^;Il77USXHnQ)qvDNSg2jMoHmuCUb2q3!F6F`r~9Wsa)*slRw z4desKTTZHu*IY(be(N%l_$ZoOWh%~S4w;rtB&)cFVlxv7-~PTVU%@nbyb=YhYmDX+$rGaq9nEde#w%w&HX#2ryd*7R}Ro{(5m zh9m)R)U0??G3*^kbIjXtyC$h|{o|Q>%f5d_kE1a%*?NG~T8;<|O!fbWdHFw`30&P= z+|6wN**ckUz!&+e-T4s98;CGsc2~IUJRvFEB~4b@roeCqA7jib;%?W1L&Gy!OUw2C zkE+lv;L24>ObSb6PnT=JKQ?BVumY;}y_=ku1%nQa#PXOs22W3#FTWQHV`C;09FkKH z)>d!G>4z$@Va|%-_H~`SZ3UH@K6>|WR&N(+aBlhUL`wY)v&sdl-M61^!pDWG@IyS# z!)1u7ml~5cAc2f2_<*H(>0d%6Tm*O2YP>3C7$t6CF&k#8J+gO_z)zL_)b0S)3P~Vb zB_y?bxvHfkkiHNlYpFvvkD#i)`a@$$!k}^?Oy#+}vvSp)+Pz9OLlUT0$d$PyT_!0B zm}#_6FnFkhd)k+ZYFkNPUEwC#iWL{Lux<}Go8B%Vwx^)l~Ita03e;N zl|z-}FXW&BT#Qt5~~9Tq~CPPzE@c;m&gj> zSM|{)EFbsLq^&W{Xo=Jq0H7N96%5sTiSfi*Mq=o2h(1v<)%#hp23h6cq&brCi}Q6? z`X#W0oyviT&@x5-gyW=HzVL`UdaHQL8ws~e#Y{pzpce}msuSl?MBan2aPefkyAnsv z9?(C?nCVcW(AwYSrb>n`A-yZcImu!x_afL_VHqUK~L@$_}Pd1*Bp1hUB^!N z`!xhO(i-N5Bg8v<&u1g#lhBkpB>`=+1$}ZE=0tL|IbQUi$`BaMf8$C+ z!YiabN~P1Qq|;R?<>-45?G5EvC=owRZi12u~iqR z>0s4Q)3vj0O4GZKshi+bHkeg6l&G&I(Oo!U{bX>T@29(f!1A!e@<>JCQw<}k8_Xdf z;^4>fpuqBw|8K}N6asAt{X+71bu=6eG#o9oi0bj$%PgJQgYvwwiM%n9*#njnXZ@3; z^uqkAK|y7cIZYF#ssptaACbvb9~cF6T1E{uiAc*#TtsNvWXT6t`iC=0Je|rC;OuL(gE$ zFa`bUYrbs=(>7s5fY4Pv{l!SmK^!%XWp8g3u844n{)S6dwLEy!9`}7HQXf;}kEhP% z!=Z2A@Hj)kq&xbd>3?%6?=$K}wWXpv%253rl^I8ZWsy;R<60W3QeSwU7LC3(J-nYVn`+iJ{fyRQ5Pw#1((g5)oYG3=@_?D{eFIJ{Qcy18*J+!$8QT=gS(MI(5CkySYh z{yjd5=JDBa`382j5>Lsm{j=k-jqEPYj0&zUQ5T04>l0Z`DQZnADNQK{O|JeGn<^0X z78}Nli^;ZGT%GCG2ew(*22=X_JLma$bARk97u$r(9VxPU<1C)Br~lNaz04SUHU@QR zfA7+sG+;PmO5bCe6wvSzwH*pwxxvttqi#u8v|^+vGLZfCU~F7wosEd7fSZf-p3U~y zIhxP$*t>pM+CTA-WCj;n3e#-nGv#o|$XDKWLF>4l^s{NG$KrEs5u%5Ws`x^RXktF5 zn~y5knaqHUQu@LhDwXSVA5!^;-2I<#G729Vhkw3BDSa@LxXrWRs!QUkBjBnpAkl%t zq%pt5v8uUwcx zrIN3t(+Hx|u+sq0Y5=4)0JwlZv_BPMa0-}I{dfx>-IDefN1~Nru?xNsZ2vTAe{>W1 zeYQ4IQ4*~rgV3G3A|Qbu0k_bmlY7B{xTc)})6md^e5@Qk;dD z*=H*T_&5vUl8anuu>%MzLIQj#kppQfLda|a3$tXXI<~QSFD{P!;L((MFG76huKiee z1#IDz#-a&YD>n4(Sn!!V7co)<1vFu`hN923RtV_X!QeAJiniCXlVNG82U@D}HKl|G zGCY!0tsUrBjYrOwI8K&h$FuSKv+;+sC@1mlBnG1l*iD7n<7*?Ll30j%It=Dsjie4; znyj038X}vm(c2!i#T#`R=9{eu4qYC#_6xVZ*^$n#Q>PdMNyvjk#*%Giv!;a!;XEHa zx1@BN?`uFa!=2LHccB5x-XOxaC}az#bD7vdk{}c+FaztIu9L?(X?zt^8&nfhxX~c zs*8?}Qe#tkQxlAiPDxG8dJX265Cq{<-jB^MX?I!j#ULiKb6(n&IFi-_gBN+YSxRT)7)jyW0H)B#oYkQXK_% zKz!^+w3_+XaL##dh+f~LpHjqrzo7hTKlNgV)I;ytu3y`y`a92mUQUUctuN=^`n;T* ztvWODd6_U@wWrt6mS#+M);hP*RUQjA6P+eQRVw{ECif(EU~Jwxbrbt0oX1xJAItCH zpk{RT;`}`BJHMIJxWt^S3SqKnZoDW_jHt6!$CCZ~;KS#KB>zc)2BnUK3$;tLmsDT7 zf}7TMqRB?&+4w~%OPsTk=9K#%>p%S6JcLQ|wi!fYXhxF7-z=&hpT>fc3Jga5U;n@z zTN5P2*(91keO(at!LFQk6}QNTrn}{@XPXP1?VK_@rXV}4 zfPitJf{HR7!-4&!iqc`>sa+gNS$C|@ImBV3pvFkJ6lM==z9`a+==M1U_mcs6N5`c3CO#@41cYm+LG6%MlkqG|52>t#DzkF1l zfe6CmAz4(E8a!`?f+?yeeZhjcBXPlqp=Qm&A)YJN0>LZRjDm+uu@iygHSYwT^X@Uo z0ME%VD1Mr03LX=tad=l=n(3fimXpKK{odQB34)JYZvKz{FZva$>p#2#7AGnR{J(I- z2VVU~CDaHUvZPTZK`a;K%70#qS{mE0N@yqZ9oV`uf_iyFybt&Y-ncSK1c7dSAK=+# zDER3=uvkmzDJ8Y02@FJV4TA9V+Ex6?vf61)F>s*SoK=RYnW9gJC4v<7BQuO-!8s>! zIc4EFC%tV_p*UqT@gI1-yq0LqmT1vzQdw=OLJh0xdR}E6H=|Bl&T$n8SP1$q_}#ZZZ85mbH^|QWmjPmO5O81>DdQ`km+MZa=m$IhYSQgt@*4tPP z+xvoN_44Nd$Tcr%_S^NT?tRHCZ_#>f?Mlzp!U0AUH!pOFJFDJL{#1t#Sj#x}o^IIO z?ohe9V2T2$iVA^hL%Un&13_sO@!o2Tzsr4o=GYA8IC*h_9?VbmvF<9#?kZ3Z(Oo(I z9ksoyqvjSzQoA*j^WyZFg4nP^2)fwT&n~oK1&o*+N%Su>ep?*kTf5h^M)oGo6>&}# zSWXprCyH`T6=4J3OCdvE=QM+PnuB>B`FxB6M1=WqD8%{4-&tqu(Pr$;vNt6;+ax%( zwpKdQRw37HDTVJ3vecFf~~KHMU1D1IfF$jk~v?qx!Ws+ao{4V=3|dD1YugBX{n8 z+~3xRdqnTmDf-K`Q}htKqubo{&9Ao1(QcXHBm19iJ8(MzV*W282JpNd ze8KTHnyX1OK;9Oe?SGWe3kX0guj9R6(vVUxa6eqqh*0`pti5G)9Zj<}cErqNv1Fme z%*>1yGcz-z#TGNO#mvl17E2a0Gh>dQd{2`5CM#>@-u#-Hnq4(L)4k5j>FL^A=Ust- zv1heoQPxiPbT4Cx%luX|)JFF-_2S*Aav(<8!bNclJq$%b@k`v++Hr3HMtkHpR|>^5 zTisf2p;`y`LY0?xf9^|^iw?M!TfXTmw?OVo296jhdyc+4K3bVeM+48$;A4EWVz(*= z8|Uhg`jG{3|5J#t``f(}7{`0c)(gzBemeEgVfcc6BglhoMlcum2>}8E=B=W^btOL` zSejK~nFgqEbEMmRUgUh#Dgxcd;kTe2Z!#N{iXHRQ^U&9x+E?P4l)7it> zyyDrsF}z*`J`Z@l4~>qCsk`Fm4TO!3{FcQ0mW=$CX}->n!YOb!h-ha+p)js%{ovd? z4874@GBsdGXgmT=zv?XsSl+*+XT!~|VygbA(@X$fVB=qbaY&(GSAclyq;3r_I z+v2H5^-+)b)C8{8tHpX*LbOr&}Dp>-#bZ5UY>JL!gB);=h(;k zmpud*VuH#JAywqTRpcR5VxW>79iimBUWv}nM;n@BiaULH&d;akHa_1^KmY4m$b8$5 z04-o$UOZ4<`F~JcVFVQ7G%)&C`!0b|9$2FL!_D`{ek)i}QKD@a08W@pY`~sW{B%H) z=8s@m*_#_)JX>orOT!K3^Tk_Nhnw%FV_GOt96g6=2cC@wG^SeXMoWU)s5lQqkw_Dh zckMokuOKn)^B(!UkcO#JY`hAZY1XNn;7uLgHF!C$-O%o6-k6qWh!nJxdaO(>0rTUE+-4J=(=*F0(S{-Ns?b)A)<|0NvJTK2zDo=XfF1;hOu`k#$ox%&^ z=`ti>m-;OeLv;^ZF;(}qrr<^>*h?*6S9w)z=}yloJ#RJ7e`oV$`BN;{7c%Gyg)G&B zqK6o?5ZrA8W&jyPXYP27TaZTtSvl}^9NPS*HOU0|fgKRyS6#m_JD0?Cq~JpX4*gVuI#CXTfB=61Fw&i_!qpJz!om$jh!A3mzp;5`al zuQRWo9DM}o@&Y*qX+fa^Uyn2nyY;-Se*`N?CIwwIURdJ_osd+QeWzOSd&eP7n?~h( za_X7uz2x^r@FsUp#W>{J?;hQX=?&2P#6xt8d>M}0_s9&{-Ko0hRu_@`7ID^d%A~IJtJtLrZK+d%ydvtP!Xy!6N$HR1+sAr8C(h5< z%m7-mE%yp@1xU=q3p`2e6(uoL6JtS6hq%OWT9f<+55r#0{>9>&eRL%oSh%r4WXaD zKP1V)%f%x`9KjAYmj3AJf2;mPYgRTE4sJp~k;*~QRJd@xR4_x71`B;o+TyZV82Jsi z7tJ3l(DmJB^Glb9O$*u?_!w(n>(47PrKewFPrrU%At<@$q3A9{54-l&i#@FfJ)u+c zjEMA&E0y{#>w9)lV#{SgJj_kk9GFMVD>#60Gy!yEHZ&%ik4eYsf?Rz3x)-#Lt9M@c zEm`YSjX2It${Ot3#&lX2Hx;imd6Ugu*4{m*Q+jV+_#7Irf5yF6M}d6|P8HSpzYfhC z9}TA&Eof)L6oV)dfIu&Q<6jzSwut6*U97xelB@e3G;`m8W!yf%CPGW@Jl0-FWNMJS z!Bqr4p8^N?(*Z&g(O*JXmIkKYY!D!#Qh48k;QlpTIzyF70qfL_MTs2mz=Xo)mL~^{ z!8}N?4Dd7_TEM8YoB_2!03T1 z70}9FHA&VKBTB)%bXa=)#3RVE>~hpwHHPT;$epUT9B~lKn#DyR$GL!SHFMo0F%Wv~ zm?0Xe$rv!%<+6kL6=p))#jVcJq_t)VFREu`W8 zwip_nTlvZ22#zFq0PMnvrI$n9~Q1VGD(CsJu|YFuP7y zne{cT9?Miv`Z_4;mk(be(F$NIv9;`2EcA{67a>fq=evtkS4oi2>l)L3dWS3vvL4N5 z@2LDW?H;{G>{Di<$>}RASQLhQcF$s3KLCZxUD@90Hc@_T<=1HWy;br`Bx!>Ud?FDk+Lp~R5Xd_v2RFKPEcm>1a3q%@TW!TOUe(VS_21U zEUv}k9efyBtJbfB55VH7*chvpuM-be;=q3$1e!It6p*T?!VR_IfL1dG@wV5Pu~D}g zRY*RQTq6IG03R?!$Q|ZWdLEQAu_@pK6EX}LVCbR?i=+itJ!gMB$_TKSG!|f4?7ZD& z4H(I(<^cr_3SlW)u3Z`>ic>e~jps4Md_|XSdTj@!N>{)scZq)>PN+%(XdRq>&$I50 zu8uP=>MB<}j5%g=$!?yLfFQFM*?dda9Pg?y_BJA8&O&KMM_88+P_|bzehvQoZrCfc zE`Q-H7sQIFGe?wu$51ir>#>uuomnj+K%;7r;(ND%clo&KUxOi8sP5(ReIsp;5N-&5 zD_$i^uLHqajCH-~Z6FhBJrUj=%lHcl?T|1N@E-{a zcDR^~-D43!m$!})VxU#3?;nJgA%R3;e|Vk0-7I145hc&^gqbk@k{uDsQpr<+e?d;{ z(G(Z5!-olWX;9A>F8MQ@MfKDW-md;Tdag{|oH#%o!$&Bq+>$__D{Y#Bu))?#sr?)V zRWhpZMM>0G@M|+moSDiVHf%SE7{xNuRHU!HE^?3)XTFdBafer&*?Q!4=IdvwwDUyK zq{rCd*Pj@NEPFH#avEoPHq~DrE~6f>G>*Q0ycPm-SiGixXs9;p2+BBF6)Vm6&&ODD zc10JaLBw{~Bwr4~-0r;GzL7p4z0;nmNGjbhF9k@MfK*WD@AkPW%eSYPHT-BMJxPo< zVR28HiY2%1>d z@_(n`CE^F7?M?-6Sav#xvu1blU5)V^{?JP@c~ziD#n@UQatF47uGJ8Qp`3S0P6oDGWz9EcBkQWq?01KjEr%B}~Ot z9J%q4yYiZx7Zye^NL{5da0jBWI-=-Z#$CTQFatQaspQ0wBVH;9`?A!j2SQ^=Jh*tr zc<9uroHZ3Q2#M<59&6OSsQd2~yLp@$G#A>+P;oAg6qu{o4<_rQJjw;x8u}4&VtWXT zrQ0WD!Rnf!R(=cRu@H${Av=euufoNz21S`;nOX=qdLgG^>g9rbI};qbgmG@c?s)(H zQUTZr#zf5pe!D-ll=^eF;1BJEyyG`LwuKbQuWea*&LL!3R$40D-X>a|p1NUa_2$UuOLaABf=684E#1&jpiNa7DnBmV+wH zlS3d28=y3lg)dkr*QY^Jku;H$Aoq=t0(G|E&mf*Hkm`z7^l)M$d7)i@46~rfP5)u5 zC`b~+b#7TWuY-q{$bj<4`CTn=E|h%h`qp6Wb8NOUp^t}nacp{_e_ z7LN(YZM;t|<8rzz@;JP}9 z1Slj6%eqUyZUxxmWognqJ`o9$U74fa<39+JUSc1{y)&W%MEe2<&^MAv#!sHnW0W zUFbLzd&05b2zn6cI8=H{vEM*?Qnc-h{h67cNc^i?wvs?~(|U6NG8>^z5SbahIUqm_ z4njM%SMRS+8bUk0SMRTn8bUj*HwHj{*>45W!4}jFlG=e}hki8#|ADA~!`GqGqs9CL zPr#4Y@C&&2XiWTT)pCDQ@4k>aAg6^X=Rd4$|MD8*O zDdP48+13K?4jVylGWO5vbOzgJU?*Sfg7@JAy-v!|ZotgClSDFE!?WwHfebDL(vL=n z1}8kp7d<;PYh}uZwa(K?$i-7e$8_cYpnMub{-WGwA^YY%Xx6#4p#Nf;&;B|1UK@I4 zLGbBu4gOyz4yx8Mta5{M*c?hUm{cVZ>UBTJ* zgoD0jxRO`IJR~trLGn#4`LatLlrl)zjIeO6 zuX&c+?XVe^t2bUPiLzVvsuqc9^7IN;sds?63GeMG#;F zhRcH}F{Ojwron!-|-cVX0cF_WunxJMN0L7kPYP2#Nn=grxPVxTk#5OY=$&S)ztVV)hy*# zF4u=r*PQuc$n7eFME+S3AB+}3?YnF=9(IA&w@K}vSQ`~olTCeIGxe}~*1TTJa< z%y!-s)|SZSF8uZ6ch&(E2{X=sn*rg0Cc5HC%CZHcFnTxGhV4&i>@hLx96J28QCBcW z1o>lI`kN=Rw%xu1eFV$tEJhPKRYo)FIi?;qdKA^;w&ts8b`_W)-YhO za~{4Umy1>vZVhi74nKyQoj3AD@A*FXv$!s56xNreaFF5^<=_eLpqQYso*h*6o|h%J z5)mj%1to~E`Og_Vzx|OxVD}k!UV5{j3D;@+e82w>6&Uv6OCn9+;FrSvpDpG3KS>^J zfVzeM2RX@dvyzb@@aNn+M~IaXq)#GH#ueX6-Oe)T_ri$oFl$|rn;y!^48HTiC?)ut z9-GgTm%Rh#Ge?UTmXccsN6UzsK{7`BoEw3q+cs*>VWhKa+iOrpaB21K$(eMDv4!dZ zAMDSO!${zAB)^wN$7~FGK3*S3?~llZj)@>W3%_4ew+bw67w#|HD(=ZFP?Zm4k?g7- zMqt%Y9psT%r5z(Zr(l;6gBc|q;Q{P`4c17k@45_EAwBH|*TqzJmRmpl-Ntt&zi&+R zcp-FPMzX7UIDuUvT&>b<2<_9tcQp5$*0@V2HM3l8fLuloYL#{*1w0bC>tNEWdejCy z0y+pHQ%X7pdR_q?e32<-9rHb}&>bL=DWx3~J+I&$#E~iG9cw+W@Es_TkA*kc@EyZW zx}mO@7*y2^S6zS@*UKcTYL=@mP@ttkRn2tO1p>4dsH)kny1;-|rOL)?&npPeYG<>e z2QJtp#g+NvhU&fzLWf>Y!MYcBQZw_F?_c1#%Em^|D_BR$qptOCQg}?`CyINR3n!z; zbqw+1?m*%@Vl5v9dG$5S0AyxrMl!dy5QJy`dVNjlAL zAUy-W9P=h%$$~J>dXZlypc)oF%IM-^3`kt2b>Lfu#ceQqz*G>6c~0-O`#KSv#&0k` zOKl28-DQumKO+7GcjZ1Jb9b73>c0QS^kMy4Mx!}!6pO(F022SLWw-y-!Q0x|>iyUG zUsc(d3X|Kr{!21we>%$tLG;4D)K4|K}L`@3{6%U-zmrZE&)Gpfz!#?qXQ@9u-)R4ibSHvix zqdiIJ6HD6PRGI3*hWiNn11kbB5OWP-g#^lzpr8^pz*VA~=JPuo*YseIV&O5+W+n)aign>KJ*#}1E( zNKaomP}k?T;BV_@67C>3!=B8EI&ya0J1v}t@St~@;0JJ47f18q(cg&?*SW6xBykIW z(_Fz)o;cxA1!`K~W2hUu@wQ~4_gG#~fu?Q@fWA(mD5vQM>_?@E_CWAdL`5x3nBL?O= zaz-?ptF+b_gsEvnD`gjqKl&Fa!Ol&kzEGCy8WJC8 zHVyD3AQaq5S7cRCTMl*CRV4|L?`QcU(+;g6Ll(v;Yp%fBkvTLj@V#9yPu-w{{<56; z4bW=SJX|Y>txn{|43>)=fs?hCiyVNRH6G%{iN6h>_{IwPT_c~$_9Nv=9MbvtO7>2O zbGM?7yhEEKT}MR`*9Hf;V_WUX=TYEXuTYS05{OH`aQT(;8b^1e0n50SY#xFDv}SUNNLxIUPDu&v6v4}J4Px<(}p}4Z~0AML#ZBm1;a%7)k0S!%#2DD zrIMUc-*8^0eJgu~^I?L{bNUTPYD%V;fgBR_702+$7u9+A6VEWicp^ldu&=F?*PhzS z_2{zD`x*ffL#K*FmpBPV&*|w#@^ZzGZmf_` zWy?=l6=Rzt8b1``_)_#Aw-%^i#mtuE*y?B&I%wFfg+gJRyCZQS-qOTpP=ZpT%ZYT0)E8ex7#PFR6*GbQ{W ztM{unc_8yJP4O@8MiWu0hQ5!EXc3Hp_%q zy*MdYyC0#?qmE;@(2HdI7dTJ#*{jlj#uSyiA7>d0f^2QMGYoFb;5fw;3E(fc3De?m z7rX3ZGYNuRHTE)-xC&WKFf#^%>RbPW5;#j-Om%xRlJe&?;Ko|UuI$v=vNFxsJ-b>u z%Y4dvmet@fkj83A<}t#g1T=Z_uo|Q^46QMvDL^&BvVa-DX{u$zK%)cnw0LIpr8SMR z9U##GMr7G?3}RLjtQn~)0YzgHy);Gl%3kkVlEOAG8oys0CJ{|lwhntG1kchJW85(H zrTpuM7MFhw^on^BV%eS)UAN4VX!1|7`RGDMYt~=Ng_A7$D872xWx%UvrsS&ZtYNTN zG@3DsWwvLoe{{gdh}8SYhodba%V|e1`qYqBC2}}$zFv7?+sf8|lMUZhJ!m$zDvKlA zY1u!EKQwttoM>Y2EcD&x&d{Y~(0wQgl~q}Mxj*?|%BuhBQnpKY%NqipTQfj5BE|pK zbL;<+jmXr|z{=Uh@t;0xG04}{B-?iZ*)w*krQtXa8Ay^8!hf&-~*as&AKIhy2;u-OcGK9$QBHe@=LiBE+V% zrgCC}%#@tmH*t`&&?Y%+IbXN%P_vXLIU6~lw(wB0m?t^wIYYPb(6Ry!;H{^A7uEa7 zI)|h)H*gMbS)*pf9Yk4ArEGN&a~-BT**bNB9@749oymmDxMk(I44W!C&|b~7>+z6x z9!h6!;@k|Z7j-62XRhTW>|G(}Ql3m(&AjYcA?8v`cQSG6f-*}vnqV^=c@5f<_jqlb4Qo z^adXVq5YP9;3R=)A$dKfE8r+19RYQV8gHbj)Zw!`Zv2>@j6S^#9xn^rmr$12n2FzU zXbs$>rTw-Mj!k-LE_uB-PCS~CvUA@QLTaZQ5vmR%xzT}cSB4tj;qfh79D~&3R;k0; zQsU;I$i2au=r8oW_Qzl7uK~or7+najzXw~k2#GwhQ~Y$_{zJNZZ@CTB3OJwzaR30B z|6d05|79#M0jaeV&_lL;{2FD&yajkh6B0hD^)cknGxstl@ zLHk}uYQ3kQU0fZQt{sjpbXpuz%Ihm?ZI4F7@ zo2JD?Fj>iXx6yd7T`dsqN0J6jmp#(UcdOFeu-wJH;hLm}XcU~%EvOY-jUvNyOrYiCF~ISbq#PTA;K)KTm_yJ;`+L`Ffqwud9 zdg~vZkGr1^`&NYG)GeWK493BQNuKa|C?up+BlimBqtKGvm*_$uB&6px#KD?Tu?-1R zMDwP>h4@a0c~)W)tJqk`Ck#Tfs4c-W2qdI7F4WNLOhU8Cn1W$9(D6-GUxeI%F`|{k z^CrQCmF8f11V9icOz;cP+gON<0}REi`+>aA6W&{p>&fBiEK$6U_kGp7DUX zu>AjnLG5Vb(zBvx&`7A?N_`^qHQ$-Oucc zX&dfnyW`INvaDT9-<)Qs60N?e&kgu`CfIuSr%4975W8+)=BPfljimegZ8u%?{_4=s zr|T5Asd$v5;i>r3jfL^+m6wh7K!%{k;2;rR@ac_lHhP#eh$3Heu&Eq$ z!G40Yc{WiWs_3{`%FJ6KR=%B#9$%+O5amXphH3V9eqVHfy*U|879C8b{=wlG&@k_| zaIM?a>!(*D?GK(>X0c0!D=b+K`MArQf*Pqm3?u-;Dvv@Qu|`Sd!R-K8cQ+q36(qk8 z=HL{0Nhp#R|G<4^B~$n*1^e8G{jr`DY9qhaY?3!Agd8yMsiAJb)0W&D8GY0dD3Je) z&kEwH0^@9YRXUikeA~*udgVzC`jQgf&Sk}Qkeqa=`H>I;`Pq3smEVg}oe$S!|I;Z- z-n9rpkdI_N>bQA>x&LXZ{-xEbE%dVRS3h9c;{A0N{YN!=AKcdt!1klt&YY4t5A6?1 zcT&XYpS_H*$%KQ_M)u)>`{LJ;j8B1ox8zb&2i3RjF#!KJiR>@^Xy`l`P=ryvP=C9a z*~mWRZx^q9$t(bNvAqF&$h1DNi%sCGfL;7yWbzRw)GO^^Zw1eGW}}xv7)0UPtD-(E znlT{j8OeU+y7UVx6nd*1ut=)^6A%DP^c4gJwBkDe7qte&|2Yemh#Z6wH0nD*3$;en zzZOuou_XgK_4ly0L=VJYG&M}i-(Y(Z5O(mIKib7Ei9TT;_D(}r zIE6e7_tFKbD&ydSGsELh0-`G7q=P%KNZ7$0jeg#tIMRs? zfipFUK|;48lQe@nTK&`}-cyQNLmA0py}=fGF*Ft;LbKXyhQQN*1;U7!F$V3vG#(Kjk6g@bSDR8hjf(3mX76%bPQxQjx;`mi8 z8N9AR>?16;>Wc=-$QaHun$XzcC`ka1CW)Vz#50cu+Q=%-Gc57`t+6l>uGOAZaN=|V zZGd%UTsKjnclH^yvDwcz4B+9taDnWKxNc&glLu|2p7qAw z2WTAnIr}ZT{m3i6~*{Q%fE*h+J;Z2{~EMy z)hG19K!d6+<%IsPhoa5zN@j1m_f<0ci2V33pLQ_2)+0TIlH7h_l&TPgiu)h ztN8Xy8x)R&p1kZKweu!(Y*%*rl=P9V8Icb!YnI>4`=r2&rzO{Pu2*`%-Tk~XpWq`S z*zsxUaYw*~&i|eWWW5^xpG1HsX+&xHkEY+9*ER+3^m_#h=68daC`Ya0FFB90f!sx( z9`XT$@3Z2M5~H0LF4bul5Y914Yl_v}hHWV`K;>Tc&I^RObKyskQT)d?qhfA7 za~Hd`3k+xZq_uY4$LM2U$o1@a?qe4UnaAcCUS-E$ofnD6ABb(2No%jVkJ-l`1Z{^> z7sA!AJ2?^)$PV@e!&+> z@$DxrYBG=VBfN|0-7%dPBy;b~&Q_C~F4gU(ZF+*ui*M_9ZMem+tbd(0)$Jy2egU?X z&+Vr!ZZeP6GnK4TN-Z71kV=6p9HVJ zPHi?VKb>3mZOuF8^OxT5(xpRp{f$_CS%)vSy%r3wpFe~eZoK`n_Uq=b!;`FpTANh+ z7K)iMsY!&eHK@1Q%Xh<)aD`fHRr?x?m{F*Wgs`=!x8r9W2FGag)-XE6L zh0=hhNT1P&NaD*hygjsU@Yod%zX~Lw~15J;w zi4?%Rt+IQ!`)LZ!H-Ec-P`|16ZkQ4zT=jQQRujh=d@%`hv93IN*1J;(pifrw2Sz zUWil+M8OWcf!Yu5w0S}_mGmU*0c`cwN_7M9scLqy{3EfK=BQ(HL1DT9Yb!0xouJ>S zVsGGjT%x_I)%0Uv&z>Q+iifjKF*tHTp@7N39kDzin7$JMBVUQ#O4W$OAsm5jE=QkE zPzWl8E4ZG@c-$ilO2vS9Jpf(iT9R%6EJn!_#1@@pnL7bTKBzblU7Svp4Q2T~_iw{1 zN_RYR1tD;N?zO*e&F{JUSpHtsf8D|mTtGK!2GA{6(i0AB_;_)|VE{9gJuot|0SMU& zgw+NnkG26OZ^;K$1Hyg(!fi`>egfeKJR8)t_kUveyn^pdqo0BQgbLO4f5KJ(FUoWZ z_Y@;cAt3A@n0R#$B*rqZ^^=+Gzp0T6KpBCzW5T0KH-MI^2H2hqPP;NS{ZQC5;K@v< zZtq}8O9cAp0qjm2GSvbRu!X?;%Y3+gim_Y(>IG~=+U&C<||JQw_5D@*Z8;#0-2bi!m4S1KLU^D-PwB&+f{hPe1q$lZL zI4+evuup;Tb$)Bj6xrJ+dCNL+*qgYkPelRVD?O5-O}+R3kkS~|{MHA;3IHsvg8&5o zTQAH1OvV2%L2}^ha;J}E!fspi#m76Wc%>FfcIbwO_Wh2?-OZrZNK4vw`$jdz z1(WL+8A!0gR|}y~Q$s7`G(I$pX~^(jUy*0a*xw$5YHz_^G#{!UdBr}8ec$|rJ*l&& z)!%0wu8O$#q;ob!hK)TWoIopu$38bJoTrMvauBC1x+Tk&wYeief?!)&I5fxDi4hfW z>?(X0P2Na@{SL1pmO{lG{P4Jky*bf64o$zzHw~+@8_8Q&Im*1?eeREYq@kpe@WMRx zTG094o6jeO=757eh5|+Q{EBZDq%r(i2FtMx?wtr@@U3w&$*;aaJ=OxpXXxTu65`Je z=em8Up7vEa@`^!;3i?t!x#6Gec}CGhxxm`Y9sR^n`nqpqXmjXYL(Mr=7BpQbtede8 zl_3S!6cW4^9$x%}8aH03o6B;%>e{;3KfMiS6{R%a8p;{z&{TZNx1T_;IW?|XM`w8$ z^Sut;@-ws)S6#QM8^erQurg=)#-7x6X0b?=iV5ER{$v_;OJ6N2uYn4PNoK{@2kRQ0 zSF4r#EXRua6xqa{>Smd`HTvN08O9%=Ydhw^%P}7uu<*p)L)YhQTia*tpE7vevt9Z| zgI!ULfPYbUyo+HQ5B{j?_2&s&+b~JnYrYKlIVzC!^b@M}sx?~otFjQCe{RDwhIkfs_to0TUOs$WxDe5O!A8G|^hkOGV8)_d3OdIsG0RZ~BcC;6KIe+WE3S z1G6N;d@>X6eUuU(St!81O4 zNdOY&lD+GuT=N>>obR58RX~~uqu0{cA}G$qGTT}v^qXqz4SCS|hGba1!pY@524|YZ z2ZTnwFB}k~fujcY&-YLFtzo>-nRH_nNqyxuCa2SbBKum;h3d?7fL-;t^QYYvr!`7~ zPo?&gy&t`M{0b8H&CevaH!1%2oEpY!fhf+lJJwf)SM=Xf}Ahv z*Nrv$$CN$e3vUhmdEZv#On;EXEt6xXX$DG!G!FMt@kQ`FTLhE(vh`a)8&g8zC7xiL ztpt17%eV*o4Ko#ae&jqKhvD;jR|bEfWU6$bRID@C&z_K{$f2e_R=z#9j(Ghphl#{= zzmwCzJLyI%9>-%@LV_QGjW|g1?w&H>U(;T~sp715nGiP5DQ6kqPD~{5bJp zUP9|@sDxtiC%Ol1rocPO8a4=`jE?#MGR|xbM*Yx*#08oT{xzg^2sV!f_{l0<*=?Y} zOuz*UxN4fJSljhg^!INAeQ4kB+b6;`2I*!gwivLd@Ei`p7{!NXuxB$XV?emecw0hR zv>28jKg$H#al}PKr>2f`4TpJTsG-fkZDD4w$zy%u>C(cq`r6xN1ItZ%T;%%^&DVR4 zcEX-d&Es?XWbqi!d(jS$m>t9#p_Y){;N)7uNh(`&!-K3KvN*PqGaZDbiEud`z_DC+ z!o+^2a*Qm8dc9r8mHavLK53j}({pZ=rNG7}@bocD+bKycDBwM1`gt3}j*w#AWyx37 z&=7~%3mWR5IkNnlO?szYB_=p_Lq`-Lj|LYzPs0y`VP$7Sh8ovGL8{3%-sCuP<3OY0 zELjBeCkyg3c9^`(0l-NN{zik++yorg+5Buz65lp`OZ_8=*P8*A1vPOH9jS;swCttc zeGXXz|Le0G6oU|sOCb~Ap7G`IXgvL7Cnn9c;F4!iT)RLuBfY=2TyaAC9V|mTH(B$a zXt9SeWj2LlTJZXZrECfR^_j1Xk5G=Yk4Bp#DNVXVot~o6Eh<=>*nX{a@ILEBAQlUV zW)SS5NcVJLPM?hVI-OR?Ui}Zt#7`3D49Yu9U|M~7z0Dl%w4Nk8I|J|yB7>8xaZ@v1 z#Isf=4rEznzDU@?daXPGWYKG&=@5^h$M^0MLnQ~^^^jIygT~OyluA7Hp z2e!}!z7G&_op;KM`At9}DQ^Z7M&qT{rPaq!?}1lVDs;@o;(vIt*~ zL0jfG1u=Dmsdj~J$(Crk-i^hE)wDOLAHN&ID~{)8DT@=*Sl<#r6z|UD3)%|L7c7`; zYpkoK8}ojBJmWMhoTq$Do!M7JfnT;xuPBKheKq+*OerZMN$OGlZNuz0Wo`NZb{dHY z$RwH4!}*nALq(kaPh(Z=P59S`c3%?2a+Ibs?mYhV z6x~gL{F)h;SX}nu>`Jj4X>BQ*&kR$ODBn`-7)PtrQ3VCrt5_;S5F>j_UIWR~)TG}mA9GZuf8Q1rX z-Gt+3e61|X1+TtVNo%-OfsSU^DIiFw=FPs?2(--LoSB8ZfrE zol$w`k6-Ee~zWx-)IF3L=d4@6`Pf&6SI&En;ze*w5=z!(FthJ0u$`PSqM^6rG8bv*(ns=ccJ~t}lkkYFxMWBWBGj?mJp~`*_z` zqWmaHdMova37)jE4RDzgjd0Qe>!^7?)v=`ZHfiy5<$P2DE7LV+7nP*jp7cn=ui%&q z$?KY-XNLR|_Y$V&r-pNm9Dk8H-Fm{dbXTdawdKF7b`=#rZJ zR`_y=-E`}M+NXyl@h!OUTe;brHFP}mr1KyqCwIL=)+RI_s0ApClp(&lIr?hBp>TFA zWlh&)JZ{=KGGxULE;dOxl!YmeD%EN|yq+XVTCkuZEhkL1SMcjFaVCjTIl>i(UIq@r z$2m#qa6}&?n23BcIi{#cdy}|r07_!H4#`2CP#fe$OsNYCl1YnR6!gA7omYJ(5V+fbSuOW!@` zsF#OZ8N!r(6sA{S9nz*6uWA=K@7bne5E|mGS1NK48p5xul;ZN2F3OgoXxzyT+z&O3-j{0xld96bvN&>2)*h6!)RC~P=d z%+nI}iCQ-CtbF@#QHa)je4FCc9R1z_Yl79Iw7zPccEpc^@ogyc^p!q8P4As>->%nO zj7^C7f=Et5TV2Sy?Iago(H-YrBqGd&jNHiUR44WuaBoHmMfQ>(HF)5d9!8#2`Q5H4 zBM~@{A5JMy;zqKnq~o0utxxK9L+XA*F{0q54}N;fQ%RUp7Dag)LAQ_prt;T&;5thr ze^IikMGGJCIgjiryn?ZBb?lQk1ksVZerPR^EH&XfTQ5pknj=ei#b;HjZU27%?!E9M z?9_EQsN^m^HA+82fhIg|RGeA&~_XpuPT`*~I z`PBiJx)5ScKW|y=Vi^H3V!YL>8dLr9yI8%)Gt_H9-fWC&wTf7R7iSW@#qoU<&h*|F z9;dM;Ftun>y%(rfqT7YB-E@}8b)O+vh+nNup^F4{27xY0?8^>{$&&X}H(n-s-ei3r zp6z{Ym}Tid?{uYIpVli%5f0X-();w^llA*=PQU24C{WpK8g!mZst()MM#)ewUB369 z0(m2T>W&p(NNS2MT}qIrIArqJ307~$QqPooxu zu&WS-@&-u*Vc`jqVIZh!j_R-fcsXi}32MS%gq7hQgNfhXw=X z=DKBQd1_5xX@G#M*E-^drh%J?? zvD};jKj*-VWXhtUssD?>L?~^w7Mh2frZV7)=pdrhWc&&Za)tv6*Y+hfy#3Px+uRR$!$O2n2{n}@KU`0~>9L@F?IugwpT07&L{%$eFF4-Bus!5!EL~&bTo5Re zH=YBZ)xnAlaPxNHXIGOCkO3xtrdg#C=CANDyZzk4qi?6IFl0AuC62e-&>+W?K{Eg40ALX9Yn1w=~<*V!jf?=wB6R+34KA54C2tgAYyqVW^ zyl&z#lotg7XfE-E(XwoiIiP8zyp4hGu3dw&Gb(`0VkFA?;>Q_g_Zr8SI2xyIid%%Z z=ZjGh9D(MB4wE}ZfR_V;ARA3ht=99X3no2QU}&0fdt=TXmk&AeXrNqj$8`cc9o?)z z4LbIU4R0-auH_fnc-`M2>r?VP4FCxeKLu#x=0`Aw;yXz&AuUi7w=1w6?K_-f94#Za zJ3R0n1CB4=6gfYpT92TaCi9&h5>6|sNWiTyvm$ehm-6Q%2UiJ-|jPxkK=z7Q0DY{?Gap11j&T8`iWTg|uFxJ#*Dw~6k?VD4*qgabe zCB$!za=cVQ6BbO2uBGI}?xDCPnCq*9O!+8PBmB`b^?|*O9FhrN^#?IgsXFpQw zvz(ttARusgwtB~3RBSB8)Ddxq_n*s#7lgE2MsrNOQ;$7d0i?$t{7XwP^H{(fCE#6* zoh9&+d+#9v&3|WNQ_pJqKex&tR`svaFCoOv6_5RKZ(+{i-JAxo@bf0$XRe&%_%&$% zabGNb5X_P<-yZJ&hDZ#HIQX8)Vr zh_}wE%!-Q2c%x2bW!A~x6Ry2q!6_j8tOYufB-TtcC?fwNX^FRzEt0LRleYZL=`?{8 zmod`xdd?%s!Dqv>iQ7-&I>?sK{TzG2L;7q5OMx(`Mc7ZW`zb$CQ-$rc`Bs^L_xtUg z1MXs5sN&%1RM7Eu4o6Uxj$44r3-Ep*$zPWf{~1wp=U&^SmnSq%v^eV&N3h%LTNx1M z&t60dc}R$MYZeP^7Rej)Q{p5r5kWn+r26}0M>%ybL@ZT@g|*+pCUnpQ2Eu*_YagUJ za_9W}^Bct?x#9_VPCmNRBhUri!vRqqn~E;4+sIqPE1rc`D)1+1JXwCp$DPh%Zs>RS zmje{yku8XAzQrwd&qhY>U_88rAG7o*=NFH?k>R;nWz2%NSaRp&!ZLap3w9qrSfAx2 zC;OErxQi+iMCycro-fR8b$4u=zz2X~cL0R6-5eu8h{p=qKrW{%Dq>x;K8_Xnd;z_} z1q2q44MD-tA#~e>BH->USySe8H%9v-8UUCz-6Z928=;F{+_=M8PHR-*6aF>00t84r zV4@f(>eN^fFbIrh*K7|%Z0vT5zJNgbZ1g^V9{sv0p()J$jG2j8!W_fir$>|i7AQ4f zki^=m5`1;U!B`Pzoe)|Wps5|a4Kl?v1jPo{?350}yC#=T04vRzitW19b!=ULW?b(* zEVnmJv1sVs2i{G`?Ar*vt&Z$w=)DKR!r@-2uh59Shr5_F`$ZcYl~VlxzPuP)?sAf` z`bT4*^DbDdv!8haQ!Dv5F0WcILD}syzQ!d28h`5ZR+v({(^1~*tFDqeaF0befN&?c zmlsxPcj=TeG0y{6C7MITK+EF~3}%-iBay#^E~d&ULo*kGB+zsX&4^WosMqQirZx?lk?3k2@XXD^u zz`bl)w%meK_m<~b`(ZlcuZ4DDYWGV=?Wv~-M}hD4S7s5eID=1#U&eCn5)Hy-dU>Kj6J<|ptIOz%6%jGxlhr@6m{Vd2mEW5kc+5Mi&Tfv}7cX9Ik0=3b6( zqH~EQkr-7VCk;4<{N8BXZI5Y-9XC^SjPK~(w>~Of+EDKug%9YrUY1*LyoP$Z$sf7( zJ^CVMg)>EyTl*xegxFHi6|XGc*uJRRV zy}>zV%MSx=7SCJIR&BQ|Sa^*YHHl0W1jR69@~k*DonM@LCSp|4(|&O!%)==BV(UnP zm;O7M0ZKkIdI{)UZa|PTawa;2$ZT9ZF(Zj{y;>2Wi*l7!t6pl_HSoZrl zaSD*5M#K(AyfHMEk+7FH;Wcep0y}*x6_EKNa|87JrdcEvsX1>${v|Io1M2(+>W@|I zuQf}ZL2)VDM;U~t2yuL2f$kGHlmex6hB{bQPjzu;urSEB0fe7|e;Y-|0~h0gf+c2K z{w3TsY+a=O0V)+oSvXBs!cvs3KrQ0wIYb{8?$;G*fX_ ziEV1OuNr(b$0r3i?sC!cuW2xBBIzOWLwp!>2^EX{_Td?GM*=A;MAHaPR!sDJ=`q=B zU!Gvxxh4-7RvNXr(EyqVj3fx&09kG+*YPKESl4Y@vNv(t&jT44^;lO)^TcQ`W^y{d_^=K<$btxFWeL_* z06jWP1&^SKWfi@(T|>9A)PjkmR`eq=TyYT)R68Un?Ca<~fv#u4QA)-{B&t$Zs|!wgJKi#jr0QVdkW zd9v_)P{nn4z?1>fL()OgIEfX(w&XY>Vu60u1@pWiw}8eKNN-fNQm-%3!Sc2LId}F zB!YeSgZJFZ7%tLwF3En;3GHE5{Km{x4ltV#=RlFOF_y3EiDbuqmK~LUfW6?bXA`?t z^U}jLdIju(uMDu_xVkwWu{#>RhV*dQayKubW+uCn7_F6~5O>L3nsDciwPEEbqVYPW z?fUCYIxW^g3X|yl>iJ?5A&XdL&Qc{7&jsZsUoRdj;o#D()95oF$gGe0ht}~6>44_Jlg~PiP%C`M=Q+w3nt|sgYG^udWholb$ z7GWJiH$Bw%$Ws%I02iHqV~1-t)nL%rISUxRJbsZ8KG5Lpl<*2umcA7~e$P`O{&I~< zFqE)#0fHK3ihH)Louo-x+)=gFS5erw7u!cv7P_X6UNdHz$zxP64?J!Mr%$Lnh(@{- zbNXV;^Z>E>F(dm2F@aYXR9n{v*tBF4c~di-{!*eW4`M?stXOC(Ns#FC!3MhN%q(0} z>=f$EG*@i{!y2{j1%_NN&b-cuu;0D0&on)5lUR} zc3FADE%7UyUs!$Wi~0dCV<%ieWN9p`>or_Q_@F2lM=ERBP0RWTJ%bv#%F=Q2;y!okdu zz-6UeSV$8QZ&PY~f#A}vh9NiTM#S+cEaC*`8%k}0LsU(In=i$H+Xg(&EIB`za8>K< z$*h4D7FHn#V}i$wY%MZze0Vc>t}ytvHvPSDW7Y4rxyS za@oHAfm4eEX=Ny`Jg2?8=?&-_4Hzzb;K*yx$E=K3C#+-M)A3bOQQY(2l>-c5wb_m!ZMrRV50XU6!U-NMi zsTluW{4v&U()yfgAYTR4Bhg>38b*BD2ex!Y-0Bcu?mp(?$y;)4e;L9ZXrNd$|L|?S zJ3+bvS(07DeThGFQL7D#J~eAYI|!o1_Wg`CJgg*qPZGpr8_py~-o(sd-E28tnXlN5 zm`AgsVQxI$yu(VoPfZDV<{U743A#2XB{F~S$ivP-lb2lQulpVZ`eY=O3059`5|X8S zt=X|abNM8i>p5MQn93tRvJywdNhR7Fmv0| z+-EM;A?oVsy9qT)?YK=RVL84~8fjmXajoc0Y8O*gqPmylinNx#i`t<2%k+rOEE6u9 z*$6!X<+70M9(kBqPBs(zM!PDv02?+2nRXzgYRz1f=>-?xTHyl)Z9En3&%S0qHwa;P zZH@@cfzDi+iW8UWavAV(y(!uKCT<5nPEK)T2u{8-{VSqgflVvUoR^0rlEhi;pV>Y7 zN)#j~`Uf)TGD#s?J{JoOa>f%2CZ@E3Q$e07BNAGZsiw@)T)OIFSx1zsSQ5y%Hbs1O z=0w2mm*&CSX#7sXtEeT-S)b2v6Eq!h93Y)PK;q52NA9W|otnQmSThVzWIJw+go@{r zejVuS^@G7ECnx46Rqir7H#p2V$%qgH8Ri1#B#N7Eg=Si}#kqxVfyElpFxkO6NZ-)S z764!akKX6COb6{`iy3?yCszcy`mI(4=s~X@G=_j_H8fq2isEUJ)1ZR-*Hhzr zoOP*S!w~F37=#uv$k0}s#`n@Ul+GwDTa?WJ$*W9l#>{eS$DTHC8PlkmfCn*H-k4`N zU&+ExkYVsePU~^aYJnF+_7}m`^xD*;2AC*UsZE0bE8XQZ+?G-pC*!>Y;9C1w@{ zrEjU5!Op+4*hp97-fhb3EuF5^d-|1;^@N{$=w^I+R>4-kMAveHrTf16clrYa;-t}t zlf7o=Kmm*J)!d!%rt6rDZ^Ap0kAszZIPrPz$@tE+-yle66^%xm?*GgsLiSAOA59K( zHgf6|C|de89_^cEdJXOur)f9^X__;^H=IFLP1E5WltO|43XhFGzU!rt&RZPJ;ludf zQ%E*QKKq0O&A{LZtkIipzi#T-L;6jVc4vm1)20UKTrtw-i%S0LU~qS-((4A?Gr=#Fys;uL{4!~wGsG2sQkgOwZI8g1QV z0bqj%zFMw(X~q+WhOU#`Z_@B9SzJRG3k`E-4tmB8Gq@j%ZjjT7yyn(PX10t=V++-x zojauWFddBwV~V>q5Lb*_7x~nQF^VR;)%n3N;y6UY`vnS0 z!uzjefY~)mx1LEXh7Q?=X%mEhpT)}~!J}375)%ISri}JGD}XpYbFr$)FG~|tjFexK z8qgIrv{p~Gm9C5oG@OHYAJY=Vc!={UJ&=SucM6F>db9MJH*V4~Y zIc%AClMv~?x_0fSn;k*;hb=~0?&+(5;SLa4oM;HSFPd!YaBko7D&h<|cq`d-+LpQ` zukWSJCOkM2a)iPD)L3+Iv#nd`rYDv@vAROP)Bk)7%>7P}s0Ljns;9BAkLA9kBb@+3 zw+=ACheMz#mhv}(I?*tM9xt9rJjP;aVY&Ra!p15IP3O`SpeOF*>D$t7s&Y&{ECxLH}f7`{|jdJ+!)1#@v~vuflZR>(pgg>go(?;h2-H+o}y z$3;q%aH-i#P>?my;urS@LS_Jb`(3)Ewl&4fFTj5MXj?!=0t;0h4e%Q+S{n$a{*!I{ z3;-uEumc~T4!Jd-hkZO)WtaoLNX|Lx7iE(esL~C?tM|c)x}lu0{Z^Z{Wh6V&&wD2P z4wiaP`QdZ5Vp9yYgsnSMNQ#uf>>sw}t7mmGNQg$iS+IGi5R`A#XwZrqAp6vp#FMWD+30nV>c~;KmM9OA4jwf*69cN_&U#x*o7Pe4_+TzMD%f)6n(VMn0 z`tJpItE{q3i0!tSEm68MLoQIoCx{3v7EJ}*AxrryYBsU$qPL{2CSAi-P?~%iE(;9q z!IS-nSRs>wO}Gtu?JjhY2kw1s4CPm;;8-v9xaQZyK~|HIv9wZ-Ig~~gTBSmLdCkZlo)zwJ1k^M}h^LsJM#e0Y@5&TPy{OI*lda*`%Y7`Y{rY-yxl5Y0 z8=sI-?tu91N7Ab;-hLBT{SbI10W7nuDlUX`fFl)nxo(r!UyS=EoiHfeAMidvw1N$W zDnSLho4`(hS5^uE*RtE}xl$(JLzPJl_*h>il)6G4cV{lbQ;0q;kbo+N0D89;tnRRf zUyGK-hY}(uqoHn-959Bqe9(R-o7||rk;Ha<@a2Sdy;TCb$+sI`2=G;z*9^}}#f4m_ z9%c1uyRJmSg}=}Go(ae*Y7-ST~fP8A){#>-eUe@qK$C5)a(=@$|_nJz3GDZ zOYRg|rb%C{ouXdTx&?PP-2GpG*i7ULlTlq_Zu%|1!sX2i@jf-7!&ehFtYMZm@VlG= zfQZcpB9BlgJWt=fySww`hVRpD5``SQ+QhIdYM9zcUkWX@{I`^0CeO`zXWKzKGBC2b z0$Ap@TQuW0?-(-Rd-d>&`Q)dy^+%E+=Q|_dQrh3zv5W~^^Jrxdr2FrmQ%?9>Vp~ZQIuBPTO}+l< z6U9()f%Ej1Z4pKHEn(M`RBz8gt}>_0O_z|Olp1Lt*j}M3BWyZgFY30~1iS$8=rL0U z%k`ACM~P6RZ~~bxs^J}3^NJ#h3f{3ls%f{6 z<;+SGs2VVX%*L2of)ahR|t%UZhs5(=KAZtOXZj>wBTI|hwF9}vSo z7_oCfnAJsfbBDN3SG_X(ljoHk|3=|EYC}PKR$}h^Cjh4)94xYWZhuM7sYLW}klTb1!jk7p|s(X!<0rwnD*3p~LKL$P&XiDYhb8zvr@SeERS zUvJ|*`}60+2v(N}y=z2aGQ&ZQp*rSXA3tf;a&Zq?2-x+mYn^(q0pi!Pp-1AFMl`GI z^v0R0J>oNin2r9`g9g<(9)jz;zXHEqDg^H3mqgc0+l1J z5V>Py!pPzBfGdF}8Vqy;XZAEoS)72Ob@o!ATid7JpA-?~VsFyfD}{w0x-~q@Od(D^ z1sjZCaAM;TOxIhvxlmVVS)W2SWmz3@nuhg>9O)3ot9JkoDN~gLo4fSNPrwI)Ecngz$ z3q^JRWkpjOz!aFx!?zQs3J&6BcR?Sr)EssD5p)(}@)$CD#{`S?5nUv#HxBdFhIvK0-YwL(u}HetX< zx%jh;V9gFb)Xst`ME`(r+WP`a)wriUV7#a7ugn--ZH||+b2Z_5onH~IKG;?ettr|D z6XM`>bKWb+>3$THw(<@9SnE4-stjOB4?uj+4+3I|H)@Ow1j_&~3~Dq9+-5a!lt}qx zlxbt4EtsaDBYNS~ec8WvwUQwqaGjDfSFr8z?`Lq0j)QD z?;^uI5e{{AYU&Qv1bEB5jC=B1fS{_qW~NaE)i7=*ls24S!|W|EIwe;eYD zleI_qy~*%R@RD|Nq|69D{|3qIGIEtOWTx#S{JxCOZsRH9zQ%P@yynM$XGnYAiBFRR zb6ig)yW~(`-eY!?Bd19w=2eqaTp#1_*1V)`2Cico1(b-$j%7XN%wVtBiNW~s7RpDN zQRzOsy)-yz%$*WdtqV(4aacMPKF}05H7?UJ<+^_ZV=c!*J%0{#}e~4=nz_${iL<)JTS#rI#Z7uX*C$}wi!q8%`??s`4ps&VANR` zP7VhXwPaG2?VIjH#hMCtjlNE}g>6!_+JnbW%5Wuk9{S6T@Nr1h;kapkvt*IZwYf(m zh$59mBDa+;n6k4Avn}IQLEDPi^mmFq)8g*RHqs_RlVjh51%eyhJS3pOnB}Z;z`f>8 zf_;Q)#trH*({XkQKx-Hdma@=L4vb{!ix=gc3RBPdBS;-A|E$#(veum+so7~Ba(`uK zwyQIV0d0@=`}FJGGq+`VihFl8UA)lf3~tx&>4|5ey_QvjO^dX=4uEzDJ;;ADZCaYI zp(luEQBdVo$P=Ta+wwHfsPg(9$sX-Mu&j7;8)lHoL0ijSx z)y68#S#q`0j|8G~A@Esvmli#emgX6z5a0c*fevt!3b{9cJ{fwMHq%hHrKmY=Tq2>S zR5ar?yh+YDJBAp^qj>_-8%8WZW2p9OmfO(-P?pzGiE(al79iA?0w5qyM;L6T!fWRH zX6q?(YPyE7r!$ccp=+k~7JPM&wd38MPt49ArZCLj3DVKWxE&EWY~+tJXwIVD_%Mg0 z9$HEZp4pYD7NCD)DIP~((wJxq%T&tlj8btj%W_X5C{teZsN)m8CTX2d&(|N=Tj`~tCfrWRL8`_R)!z$ zwY}iW_|I)toZiE_m71=Jm@W!~;~%q89TRfhIm1i$3K5^QtS=el)RlqLo7PD>!eoii zF*9Z~`iC-luob|9f9t#L00oOa_6ETT`xZZT5!{s)tZw1(rqeYjh-}x)F7=H5F!LHR4#z$Sb_r4Y_ zXd=5!97c8MsWP=$UNLwG9lExUmiNqJXTNrI01KPV9MnP&+inis zhg;%T;jRG*A@-1U6U;drntJ9Do-(IUCj@80e1AnKiVZ^+OLXCI#C9W>H1UfwYq#Ae zeJZn)`k-=-S!#)S4X+7hl7`=_$2G-}p#j&kXo{kds)$6&r({diT6@)L|4MHjusrc) zU<@wRkFCq}th+sh&jttS?>FSf0>gw>xBA}se*15j3!z<*zb}XY0A0KPZ-RZ!c6L9c zg#VkpI^nRtinO^?W9P~P-HY+7VSpe2ERqwT3EO596bzGD?{Id&W^?Y_`_3`aD>_kq z$Oa5Ikc+s2>7w(zrzd)4&Z-?Q`kNDub)@I})tNh^xQ{5jr9;kr?GAsWV)u+ss>sCr zg|B6yqrSKc17%hKqlbT%>5Cec;aWxMi=}a z`m|~ne49VOH^3ik+hF7q6yEN4HoYGuJvo14ozgZz7nc6c?1(OMLG zhf-@`W9EiH!i_WQ${u)UW+q@5C8o!K=Qrxgo_c4;f3Sxze4rJ9McE|Ky$GgJ<_uBh zj8W#SR%RU@2YWV&j`d5IV$zc?`Av)Ap-uSM(p-R;N!M)BGw-LUcI?aByj5puDb>`6zGPfEZf$xo690G|K=|6@~pm&4GQ1%ZePK!gP$Zy6wO`5|xZ zAkCDUa_f)~Fi8lIBz!|8e8DAsL!|gGlp?U=s)!7m!+Wicj*O`3={4P4o6F7T2tXOf z(Fet;L-7bh@rXn5s6+4Fc?+Bgex37^Edt^%0OBtK=FIv9|6B>2sQ}JM5cif5_f`P+ z77~|z#eevm-(=QLx)7MR7?`&dm^TkthStL9c;fz-Zt;{SZ`_+F*~6RFal*=jCTD2N zFu^udfNLb^9R|!kBhKJayh+{PKb#Q-ua}1`ec%Wgq*Z?D*IO8jl|zzMki}J=Ys{*RF#ckXP8+pnW*nIV!4*UP zgL9-H6tOPrk!JjwHe@mRlRNtM*9ApLb(e}alFGNLjBEo%WrSRIs=Kgx?SlGH%j55t z0UQtfPt<_sj-`MfGn+XQn>iAi(ZV#ML1;jOS82^vM=*)f)MC^Duo^@!g>w8MKK2!@ z)LQZvz^Lmr8wAQjbY%FaYO*g%t*ux`{p3fbNJ6_S8ICsJu;N67vb%DdVeoaO_fi+Q z%*UDk`#ksW65*$%dJnLPWFd`WK73%z|3vRw5-yjahLKH8m7{LX|+)d zVTqFxYT`4*YJwPrjLNo zp}pBwb{zkR0h{Ul+Kd+V%lwFeBT1nMFh%&FWOs_d3&Ir*__k;FQP7LLaCb}cJnuaD zFTuR`w$%5w-1oM?_c9ksreR)Y?2q3Tm)f(d9i??HkcK`A3bx9JkwRu$1*O}W5Lc3e z&BSQNx5#bRUqVvbd|+cAVkB-phVd_K6mC8T@h(I;^=gor%j5fvDh4G>B3UZve>Aj* z&9g??-Yd^g3!Cgg&1tm+&h@FqdF(*TLTU)IGA#uP)LNQrZD>uj;f=N7O|)YSw54DP zcyAh5r#~u#9(Z}IwoAaLKOS%0auT3v&06+6|8^UK3EJFXf82Vxk__729DxE{eG|U! zdWu(&hkJcnJ#Sz%?1-j*y{kQ61gzD>nD(5Pp)pf^SktW85>I=3F@HSmU9Onc>pn@t z5@dg|4qvt)n)L7{f4%EHUmW}lxs)!SOsL*Q6~@HuNN?1s-DY&gJoHF)of|#2!z6i` zRPN(y<6mkew}GkM;A;-$q|O6?=s(2D0yuNJ4Y?_EIh!BOz-yEgY?xQj{Q<%}H%mS9@0;>stNBUc?Lt6hqHY_FU|BY*q#|a|jEFNf~2#v)>n}Sh%gf!QAYWD8vJsCUG7D$MkjNR+z zkCU^@RBpUw;u2tbkd2jYM;-)s@qay)MaWr&bRc^{fv*QT@B7Wq6AD#IUFq8n1YJtq z>C0JRE|=F(Y7JXzEm9iAxHwE;VF=XJj>dAY5@`Lm3PSU$3c_$-C6LjPx<9o8HP4f5 zhwNT_2A2m5^+=wA6xr(93}_lx=C-Y%!I9SNkgQb<8XkWLB$FUxmu!}-6|x=jy0R!J zs#Fj^O8K;)7Ai|m`4ps5klYouyfxTKGJuuEpB2@AxtHJ4H*(?o#86S8GT;RceHZ%Pl z0~Kz)A7Wh)LIWGP3f6y_jK8A7Mff1MDl)e!FxQ!Jww=IC8>lguwS@7>%c%N>*xc*J z@2M+f`6s7!M^~vyKvD?|+R(TbK?TgZlF2L}NdUVBhVFbF*LUzK9sA&C+j~m)x^$o7 zb?q|2@78HhP;d$Kpmix5w)?rEt?COckY9do=xzzKh1P#>=%+2`y<_t@id4sxRj;>Y z-oYF^Xo0`?#GtKSUj?o7DE!(>x{duz9HWK~xrX&ZjB9(Tm$%X?JBGyi4zV+b{1ZkY zM)d=fD4yDHRQcP>cX_u0zo7}T# z_T_-0a0$e?2|VFrcq2wJruFZu{()oiya~j#2|V#*coRl)y@w7G9USSV4w)l|Y9oh$ zLx+GrcFJgoC!#KM%$_&FkTwCFBmtZz0UU`;6~3_|$U-!3;81$RD950FhH>pAO>3c_ zTHhgg=1_XVD95ONhG{M3rHIEvK|tyLKv?NMBdJ-C*e*=T(~BI7BX!H8Q1=JVl(uD0S zLCWZO?5xh{;^WojuQGgcuqOSAlDX{zjU9h;riGfYlv2})7`VrQoN%O|nW?MY>{HwJ?iK(C3jNJGDP7YMrtqefYQv$SOp|!iPLxza`NMGdTrWm(4!QZLN>3GH?T{ZPT20I!bT|=Rs@t?gTA{58dMv?fg!&cEolM&j(yj1a|iW5FfCuJNxPFmLDUz z7?_Xa-xuBRcLl{j13e+e*n(3%3QmG>IKTXM=!u6hJGkDjnoGmiJ9T^PGSk7Skaa#D zX@_hyeiBtb?6`~8y4Gmyx{FqRtr5^ePP*TBi!bo{lJ`MHB)Yw%ZW|i$Emx#&*fe9P z+5*W$aI~~I8sQv^0_=-^KR*topMOW#Mq@qmLg8AAE7b9de;O6Mx)>~)3$|mD54K}5 zJNOErM4xNYd=<_a>raT4_EvVVeUDVchj#duEx2CB9`%}UV6sH+_m*c zcxq<`;41CAeo1uhddA>CBLghTe(DT}nnR*Z5#d(oFgtWqeG##gB&&Bb;|yMny#+Dt zk4Jen)A!N{S$xX%=1LJKjg8aB}&q7TJ>QEZHs`&L=%i zmZd9U;RSxn4dz)5Uf9KfpS3=_%)jAtz&PV(>^JB8T`f_DHS-vB4EkLmp$nv_&q_Uq4)D9`Eh^8X@D87_?z>JbY*Et3JXH~_W^gX|(90pPTjKOZuTwL}Hk zVl(c%L+rdG?7TBrH3{{K-dYD}I>LzI zv*0WRw+F z0B2-ynFXNHOH-@G8I08#z#TSl4o;4~=f&MspqN2nq)^EAC~$EUID+!*!efPIR&k;E z40R&7FLl$p*yU2E;!0 zzgL-hFQdIEab3n=Yxqk+ei1WUSz{&}Yf)abs6tzGZ($y&EJa+afwi|3-wodP@dplU z@P+s$8RF|bGiZ^1by=SI-?5t(k2pC#oc71Qn<#Dehg-yn_w{~T41IP^Sq)5Vkb?>I zku=^oFWNXS#yBtH_>US+iKgfl_RkhTThM*d82O&P!gS8H%487|Tp$wQg#FU2^@m>0 zUcL zAr!+ssCEe+5IYYOo^{GK)^Zp%A5%5fWVd(BRMcE*6ytsxbTJ7P`AMNp3tC7l9goZ?Ur z#eos3jUgx<*6SlQk*m^7LM@M5zfHW~AusSKAF^VNdk{4a#4ZlDRU9re1mHxV*NwsM zyn|(pAxc^wYpj1Upnq}T#||uV^zvMm>9x%?u2<@s1TUx51sxGJbDSS3BwMG2S*Jx> z^A57&8)m>aTnT!`P}fy9vCvss2Tf=gTB%#Y&{;;^8Pkej4_8qLw=^ScjSD$N2A*O- z$-5F=E}lnzT=hCx0czn z6B;?9vPCFjcz*YN@`IPXyT)t}BVsH_v$;xos;IpA{$i*O7c`xkU!CU$her;|lBqZb zv+d5rOfB%j_40X#gcng;aZ779d1I)P>ECwti5?Ep)^WE+Ntn5yA$EzZ8myOA*fVoFUB1hdRl*2R{CD=$GL1KMq=u?jJ`jSpAQ~ z7PR@taS2}A#t~pN{CzESxsD&vJ}%QhYRyYOP$jh^W*NDW+8wrt)=lq~S;Xn#@XILY z@b&^?Q*``<1GT9>eieb*6r8%-Kxs|-If2T~^5+EQUDlrys(Y=MaC-FpHp)1>r-0B) zIlNcE`UX`UKl?#tdt5%3|F!4;+Q0u=B(Q(#$^NyR|6199t--(c&p-B?>iy&Z{lAiQ zy39Za-a!BWE?ED6%uO2EIvZFS)9M=<8r%GYL=d*34v)| z6i0LwzF+}Q=9(VLEJ}F2rd;v;0X8Xybm@?EweaYq3|N!NjV}BBg}9P$#1hjp`)|TnJMJgON@dlv{1}|_ z#Chql^+blaXixbcY-_4vZ12iw#0}egHWgNboi4J9j!ZArm+2|`T0{r!2l37a6XNxU z9?NB?rI9K#S=&wJ)CFF-oX#yg_{^)|992BHt&5t-pd39Zo&M&)r23<1+_q)^uip}f zHd^DmI-hvW=%kK4oXwSoT$=QY*s&h=lmQ-f5E~II!Cf6X=qnnv=u}~w5mK0&5u0u3 zld9M-C9uckQHwIzZ-X7AB^eG|T^Wi}lU})OzT(*&3D6>RIz!nvqpSNGrQ|*k8@&-B zK(QYl=N#4-)%cM=i=- zdvI63or~#U3jVyx^NxNx?|Wggd&sJ-dHH0w z7?>V@BY0d`#7w6)YZ_gwJNYAFagt@fIGh>tpnt5+Z_>}XQ|5HR9lf6>f06md^g@5_ zJa7l?Mcau6n-?O_^+~l8J7d91aa~2Z4-+5%Y>YE{WYl5+YXKJ8t`x+4I_7;mJHYUE779+*4 z%k??iVzZeY(8k`sbqKYP_L>87RJwgVk5(3;rPaT2h^J#`7q-uiJocC_N3mGPV(Mx^ zH=(N6$3l|-IPK&0kJ9AH^!CZ0O(uMLcYlC_UyK8xZkYDWF z9uQh1uoo`97*PFbB}%$W9E_I|@2^a!zKe3kt<^2r6FbB%O&z+lQk~IKlNj14h_)8z zV|LXT7bH31C)-gC#OgBoIhD=bW&m-jC4)2N6+iq-ISP}0K>Hx(HU#VJsJL47hr|xNDT}iHJ3~}6IqJU*JrHPAlcJ9 z%T{R8P<#?p(+R9XTd->-kuPKFDt~9Bp%zt*P-j=GFH#l{s+Z7HnRkR=_|Gy41GTdHCbNe9r&*GrScMfITDC6s+lrviJy8|ITD#N zWM?^4WqEQ#ZzG5@WI;KIfHJ6t@`Rh7N`5&=A(eolvVcO;%Z{=${^A~CB&Qr7^U}rv z(2L=pRRPw?bWlT5iStY=y{nPSpYlZhA5Uukx4XV8w&_L_Y_toc<8;m+cPR!N~D0w67l6KAj(JP3@Y=w?-|OZ66G3* zN=J9-oAZjw^OaN*@=M{l<=hyw0?J6glSs-eM1C*5NHF}glH}*0@{(jhxsUe;{(pVS z9^52)$Nk_zUWotzr2a?U^MA*Km^;AxK0wZucT5fyo6?O8JZxqNU@ z6Pi8^2wIVIg72g+BSA0rtJOZ=kT=(f*<(VH|<7O4a?G{(AbX2Y`3v`?hu<<7~X zkxetYfVT}Psuk|Gbtw(hVI4SItAk3Q9-3u z>_D^{Rl|;gGY$Ic!9dPL&~a28L|v)|QD=$S=2MEEah!2M5=l5|$&!_fS#!Va2o*@h3S)jQM0=X1kX$8S zENi6yQ&p@Q`I@2TO>zj%e^gOBn3Y58@~o*dQ!K6UQ|X)yLGANw9*ionm38 zP4(hjMlf-NazeSo@X4%9bfMl(&yiDDrDn)v8u;jwRvuX-j#MHA0RPLd={9(MTdlO1 z(zgxVPzxqyaa$CaNgHU>da{vPOMU};s@(~)wuLpIf}yZEWKiWd2#v!;8PY3n(-`ji zLqmxi*XslHC&wG`V5NFi+HiDPR1}y{`;QE?;leg#Q&(N2m?D6qguW|R(KBoM$|=&W zjb$LcpO2`uEwlR^X|ImOA%&lhthFt>$k~!#T_s>OkcBG8{&;fe;p`GuJ*zF9IPmGR8>Jnf{PO|rGPGgt}X)w zxa0jFy8g&DaPI*OH!e1&o)^&DFy+}*$S-|HrpODVgIwPPXNHun%^R0*fd3l#&3j|U zb3b&2xgP?j;QuJ{|JBws(|545wYB+&RoL`@ScOW{c%Kmin;=i1&#f%r7{5ye3;?T} zjNh&cB7xL7B?8Veiez5s$5wR3{%Wa>^L;TJ+|Z1#Iy>p-cw=6<{k?gfvYi&a+{KTP zXr^EN2nw2;<|`_?jVqd~=KgR~Q>)9t=a{K{G0&WDs6?cbU91Httv*gVH8s@%!A zph%zrLU))O?FM|tdYu|S5y>YSHO$2K{hej#2w=0S>Ll z>esKwv_uLiteLK&-o(Zp*CYg5%JzU2P=|s}hA>HZSED@*Zw6iw09uP06#{4kg&r`c zg@q41iy{kF;HIPl)=RksGpvdHhN)v~&`XQ30Wy+3xB59#ZJ~+G2C6ak z+mxByB6MWgVhU@Gp~|VXK?C7A{+QpR5$T#X$8bZqp|s~wsi3^(IXUsGkavuCD$qUP zX4O`SxUI#H8vKtOybFaX(#*5UDY|{mo+2NyUUeuINvMMNH82z}X>NOAIk@-}P>28z zmB0j>a+%gqbv5M;mRE7=bF*KLKKA-rWRCzL*{^4~r*X?AZG}OVGxD-nhqrK9V-D~M ziR9a$hQy*y>!Xnx+y5Fc*jeuDsy_iU`9n99`yU0&f9LBs{wK2bCwl&&)&5J@@yzyb zuLCy3-Z+SKW}WGtSp-412L&R8q^%ehTBmV<9Z2q2T*Yts>n;ux9;`_iM+xEYNs(A^)C{6g6PYUX*ul86M4e-cT1<*>zg2Y z1MKmWO|~(#K=A!Y9U-G>si_6#@UzE5s%o{?L-6H5d$fPm9`?@@eF6z?d8^s$8zXvy z=GpL7w$(QOFVfyINVleG7i_zGw{6?DZQHiF+qP{RyKURH?e5)nPe0F@b0*#|Vj?Eq zx&N#}R^GJ=xvH|Rtc2+Cmv6yi)m~K(+7T$*__d|A_mgJZYHx(_1@c3;>A1H{ z_yPJ;w)LPtTjT{RsQuG^CfFI75P@6xwSj_`KTRyp%>@~V0kwVPo%)-6)w_*~}$SsVcjY5oeGvr~7Fo$EwG=Uq< zczmW4U>lY~40asFA!h-08(3;w2g=c?MXJEHY!Z>1CS04>Po@s&q4IrUpIUzwYk`8A}T+&<5)N(B8@asa1 zkFME5_O0h>to-{v74OqVGtpbYXHM@+?a}uPZ{ePU>#FjrmhX-0E=Bh)L>3B$t+^)nT94zF^g zw&yV;*GDn^<}kvG9(|ga7G$7!@(G+L-9}g0osrE0iuIW>UKVIBoLgGSyJz;xE0b}n zJ5kdDCqJW)znXcPy(QP6YRqI6Pr z`+l=307!s_2k>7YqdFb0pDN&?%)S>UWb5_PZLdbm*sT&>g-Z}Vf7eb>m5*I4q~zYU zyP)%Xuu_l(5M$}@*1Puc2~~}0hTBFq$E?G=Qt#7~x`Y%uwLn0vsmOVECx+zxFB12V zX@DFEeOC^ZO@_uo6gMD@2T`Sh(%>|BC-{Hg?Jx9+N>jxlsL?7Iz8iB?|3=lY8c76V zU%gLLm)-LW?|a;rZ=~-gYY51SB?0x+D|qg9A(te7PUP_a8c7Jip`YX0{k_Xj7BuB~ z0251sf)-$J(~B=$Mi5N!yOz2s)qZhSDQ^>ixH#==P%vhi9y@y&D}L9PSNW50YPuoqGM6C-eo=9~LkWtk_@m;x;la~r z-F)6mqWV?XZAGDR?;Pdvy=<@nuSr*~_Ay?w!;I2?{9{dkG>>rVa}D~%mrw0Li6*5) zNsi8#H56P*(-&5HWTF`=ii6!OX@ z9HVeCO@SlF7_V0$1=DZj(hR8ShQ#@NoR+2NmMzl2f=(+CMQ@SjCZARck}aFRNxgZx zFu*mJW1nJ`gV@Fham9fY)XVvs?Tmn(y@4-HSL{*2lE6%@Oc5P#snsD{Z(;PEvH z-NKv4z!-WtPyQ`DV0{iOz6OMP2?WFi2hptdTVAeVo<(k-qPJJF3_Q--((gFEm4S9a zr@0tO_0eS$nd3A|iEXS!Kz47L?KN}%W}|2{GKV9eTLuVhE#6BJ%Z+Whm7x$ zRk$dkfumkv0Y<$h*M0{rDO{MLx7zWpupbI-HA zoUn=%Z6>A_{=4Dhd;Z`9A@5`WeP5nv zvKZU`r@690a1tuOAP(4KsV}g^V8k94v=nu^HN%fhFRLYfmjcAr&K7h;k!8yh_xAFYdgT!xhW@pOL-y&h2W zcXSC}0B33e0_LHq!wd{fTVbsE+v_@?>o?|_kAlTjoSGE+#_K!?)T=O6^I<ut8b$nRS6;(2FB`g-HLP zGtTu6aJ)nvS9j>Y*;Sa5AYg*@E7JPz!k#g7OM&^30j4`M zT@E1e>X|vrlZcFfTGPW@PKajtqyyEBsxo-Sn;xr}POy`(Sl|LYdg{*_wTltlh9}11 zXBi2*j1_LS(bw54%==R#nhQ!A5b1@q%H`jCfnz?9svtB@`y4FcDN!yqZt$ zs3~aTueQVc);WE8=;qRYQYcJ?bBw!CbbU_SZy3X9Ktk9-3Hm4MXK0};X52m2@nqfD-F=8v4grkhi_St>=> z{DL1CZ)3mV({L&K4enl%V+hezD8|q`6xnNeDFydE$RPsFE_qt1JH^-h0-68f8Kde3 z4KP2dCKl5X+;Ga9Gx@q`yrJM~9agg*mh#Zhd0E)yD{MOXW)t%5TR>|2GDH))ZBiv2 z1}34b@wh#hxFXXr-{VwwBBq+Y#z@)d{@&+cr_En^&wq}D9-R%f$PfGd(>A+KbV&y- zkCumJr5)n0R=uK#?Jv=_1$puO%-Avxv=Sl?%wRrL;|GtiPg{jP>4pGx!FR3l=Gqv7 ztH+sJlg&G^>3HJldTccQUHMB*MNYor`90}meI;tL(o3wMRYU!~U9SpkY7}V%X5z7e zn+y9FYcm_8KQ z@2@fxS+lzFZr|hlW(iV5W=|mLmzW;k!W5n!4LDgk3x15nVf8gO&?Nq_a1uCKl1oJp~Elas$ukqb!4 zBBH^{){5D(;yUFGZwpRSI?1{{e5T(NMX}uhkprt$E|)EnTw}bo_7VJz*Xj{__%BpO zbz;o2dQ7!jNN?~KT(TdJWg|4I<=(UTqNiBdvvbw6LS67^sC0G=s0HhFG)_i76#E85 zG3_-pQ6&))3w%#qtL(QA3@GX;)VM2Tzxvw60Ul$tlviH=)QIsE9GbWDT_m|cfHdcl z*nQ_(eP~luWZoMOd(j0tp|H3QaydsDx9`^J{8Go|)2%e-#4IReJ1r}H_j&mr9&;wy z$GUV-0RVI_008*^`wgCfqobYMzdAh~DJM!Uxb2zRy!!4^C?LqaYy92_6eSIrsRH2a zAj!~U=Bcr^=jD$dx!qa8gr-%W3l&;i?TpU(ID+zy+!l&pHi*Lzy2o$;HZRa`F#g~J_`iN8d2?Q|!2 z-)hj5d@-TSugq({+U$CfI&Z3M09uvUaheH9}a-VfaiM&T^L3PL;!1{np_j|{>K%zZ4$Do$cyXA!D* zt8yzwJ_XJ;lzJss$;eh@W!-WFZw0!uZ3 zMuizoswrj7q$-)A>s24qUU(MuGA(GI302aO-ip^g#o3?m6>y+0#Fm|yU28#rfa@t} z-2?gX_De1kyHKWfP%O|W*$Xs*T5Tvc7eS1@^?kx-`akF46OA`&11lB z6m}wCOI|WiowBrgA}T;8XDp7%AOcbS?NW$>EAJ8j&fa(xU(l6bLd3p;@ceFwetz3Q zd+H7BxI*vDh{H{R33;uqa^ztg(1zFsBM#Xb^uQg#FZ;f`bkg33L^Kli;$W z{p>U&L9;+sI*^vtn>}?In>Y8crLApk+xzJ0Z2Q3On&qznv&9{4dEbFFq5)F6CyTj` z-V;$s{tHHRepbs#d10Zt!muR|TH*a#zr}n>0yLHK2;;ED`&FW~)DD>xJKi3*kw&%S z&~1j#b(|Fz`5GB58}j7pyEX`?$qw6 z=DI%Ajvz!EtoiouWdjwC5M)GQG58)FA2BEo)vZVbFQg6K?R~_bdDdG>@~^Gp@vPRj z&?958{F2=WTsWY59OK0fXds)1KCw+^jw5J&FXqHfQ$1vX|4LKBNy)d4iU&iPhy>XD z=H(l-s5jRd!Ybe9G?`Mgi&Ym2qLCMQMUS|PyNs~SeJeXq>2L} zTJN%7=K*E&lI&YX2;!{az#+?5B9I&^5rAUJa>D$9=~&+{Sgp`Gh3*mK9Aq;83WD!e z*e%@9EZZV*pGec~_Xt_ULVi5CGab+Na4vhG(K<`qbuTn@%L4;H!dmcD;Vj!`cFz$%b%RSppirlW0vl0_B(&CR4jXgqk?p$1;OHdm5#wX%S!v*Z?}1iD=QQ1tJMway`~ zXOFPQ2Y?ppzZ@d1)MmSc|NCx6*Emia1GF2x53aQpALR4RW%*qTw5&ZkQ`Rzc0d9aj ze6GbD>y14TPqwv1$6vbdup8w%+#xOyS?d9}`!R8f7|@iuQ3Hi*7}X|Nm3}GnI2&R* z+`&%-S?2}OH&hhG?CTxU1+S2(KxLd!#4z%Y*v!cC4g}oz_6*VBR6EabXU&?U#2Bav za*2qde!_-a<_Qi;5g2`YuNkmFkEC6L_dN?Ikb|HUXFYbg- zCx0d@wFC-Zn3G8wqAy{9YjZ9SE#EF;ORnmR$=JHkpr>z;?$gHr}0=qnP@*)_j6eCG9^3Z&DhGKiKC9= z3rsE~JzmjH3?B@>YPCTZ$yXN8BAAEa00kfro)`~_SW%lsVGip;2FBJE!%aDcS`7B( zd}zX}eZWWxQ_H}6e!6F)0D&CoXa&pch}2(Xc#2M&+ZXOPR`3P(xN z^HtezDNpbR)?VuByyQenPBDOOT`GEy@c#o-oh+62G6G@ZOM?(#vEs`O> zTJ%)gQR5P42T0I7atFp&2nQn$U9`36!CsDa$Dr3g`;nLPto#}dHvX6!m5;iQ<8R)dxy@jOqOf zJhss)dssLmd}0BHXrXiW#2Yr3<3dwcy|w9xxpC4eLs1}=F?MLn#5k?Ct^+Y9P=J%G zO_kq?nyy%Q2F(6MN#xsp6Lf~HAb(CP+99eW!VDj^WqOvU6|d{poz4aC>>$mtQoXxP z5&We0&EXbtb1H9I2y2(`r@{WzYtR@b>t_TR3E13W&y$%ZKhXXP+@xpJHMlWH5^{-$ z!LuyQQ~5fxzim#8R_i2iyRAnW2wk_>!=h8MJzpx$6_aSIZccz=tR~qNzG{MLNX<2q zXd8NRe5M5?Go{;^^t>vcYIftDslx~(ZqW=nWR~%ZFG%B2JE$IPX;fsUd5I=TQby0M zbWl)eS7SsrnuU6&%;b=om%x!tHdnPYgPh%W7jwAPd>+@nKt8H36lUNZ>>JIJIV;*% zqKue}LFQ|_n|cLDJ0heT#>kQr*Wu3C?Y*Lpu>jwD3a^Z1>QsCne=1E|ttPAA?w)Co zqTz1@o_TahS8dWh4CT~5SaRGCjbE4hpr<_?lp_*ikPVdmXh*DAoBmRAJ`8mfpZSnC zy_=OQ75(c~Q&^e4<+aW|XOJF+?);P<))ycxgby1*WllpaBBmf^ha!^NUKelav~o$ zb0i#Cc$5mtIm~tvNhO2Ep}2HCc{vZ|1*S8W{JGw@I*SgfGc&jXatG#_*k|or@|w*f=m*@ zCU-{cp#rmr=}ZZhNMh3+_7zQP?<4onT6DES_O)MpoF@5#Dt|mKeq}CyggP$T>52Cq z!*XB@Tz2g~9l_Z0*@~_2`rO_r;)CdVHai|}PR|~7md$*VzVJoEhJbIsPd6fQ zJ$lD7rcZsX4J83?2Pf~FO1ZN&a1YdeWW0f5i@HyKj4U0yVv5+Y39#@lixnJWBn9r=d|u;IO7w(S`ojeN8+#fM(kp%eAY<&!E&=SfK*5(Yc&`>LUNoK#lk5+gHpehmG=sjB zK({7T@&HvzDftMNR^mOA6Vi#4uW^7(_tX;Y(kRmX)15Ndtpo&-M*RzdVeyGWwI{fu z@@j7peN z%AK3FIsAYw+9|aJV6R0ctugF z2Su=)NjpbhycpnXisRgh7Xx+>+0GNhfl)@eFkc7+JGN;f;*FIi>&*&zNldW{u#OpC zkqU&46Inu)=_OBPi3RaARuLcW@eHwwDk+EG(H?Mib`mK|{gvB)d3My4JP9~& z1P;SehXb&lj5ZP;llJfxBU9EKPuDzrS16R%12Tjus|_NZl}t}QvMd>LvRhSww1<5b zUrptPYTuskaf=)TOBv6(D?$o0E#22_o#+1?D>nTOD)%gTVX_aQ<>9SC6 zkQqlB(@lRrq(6i)P>QKp4hSDit*yFE?!d_19%IK z+|J{r&Vq8JV_j73)eG$UMhiZB)BBh?ObXLrja}YpxL?#GDI(Fk@WqPn0`!@v>I6qs z4AAbff9 z$x+7ekRhGTC?()j77xFFZ3Z(AUp)j`1$umR_isY0CDP>=!XrMIbP-Ldp zvG<}#iomNMH?|K>ebX!XQ{&DDjw zFdws6)Ie7PgK7*3Y9X(k*b29SI_hqxNL&Tf{b@;)&WRuzbouxC1ME!WH^ zG~QGSMLe^@dMF`I<<}GV11_rA28EIq%9}He$3natkpvwq9LF)nZ;&v85kgnbtW+mh&g z2=i+RbH&j39=Phr7FcK=Nxxk5D`dv9jli4Cu`JW2JmUF_;N^?CZx0LEhLRqnGuBcU zXuF=G)6(51sfZkq7CprW=GM=I0<*p=wN=68M!1>nn}~_6tKt#%P3~O|s(Z$*Yd)CT}n8(49rZ{3p$|=AAzAWBrJihvjvQ* zb=74{tOue(CM(#1VO7i!>FS2$;^`ls%pG~=sYGlM(TbUzp&75koy~HgmMBilIZR!K z+?sl{T|itJu}L+wig|bO)O6A&Ra!aY#+?bqj5)8v2bLNPuOLx2X^B!_Ls4Tr>{xJt zNS5p+^45vgVQH;{Sd4)1XQ!;<)o!*Jy)|eyKTQVzCFJ~~o}+|Zi9bOx0;0ezDr_JJ zdXSt;jC4Yl4m*NC^Va|AzR=UCG41xjL$J<{ep~8bhzBZV00^_`$QU8PXfou!RjjJ#bzy187QC{jjcI9zGHwX=y6S8t&9wW^tEoAL zw{7HtXHeT-X$vWiV*uBE7p{C!&-uU}E~e@*$j!#;CBg?Q;8aO!Q&7# z$^dwmGoX3E03oy_F>&_tk7Eo;)Q=nT>om1`4F#dJlk4@u=c5` zqF}ynR6udu6`UV+tWBm)3=t!TCFr9E&xz1Q@H_iQvIn8T^fMy^Js(y}9s&e;?mh|D z4cAQy{xJ_vR3I;K=TFW8W*qTThCS^0e&hSkQ-=n*bcpmHDEd1&0D$s;rMmu~Q1t%? zUq@qTXKnm1L{&#_gC05L=9#KO+X)c(ycb74t>n)y8|e(ztNx;r@Qhznct}+HJu}te zVOOghr3-BWWuBYea+^gXH?^hYwTL;9r`(7p55I4bNjgy~E50gq+pY=%%XSq_k1E2a za|?>ycXhTgzbW%%g5MI$pVL`7txcoL8ba5+lj+PLQ#C4ePuis0JlS$u3TRP2%--Xb zoD)@DxTd@4XTUpV?22}+m{Ph*5)~I4pt~e#v?8nb=K`{)A-irwpjUkSg_gNMsJz>> zjM3F-yoM|p7`R$){< z>YQKS2h4I+!mrcWk9vmc7w@RW+_U80Yj#0vx0ebnXY^V6&Q`+QUev1rZ7;1m&wY0Z`G(Bz3A$;@TDJ<{xuAQ}%|&cqwg638vL1Dn z(s${xT|w_oGCL*JBA8C(!Es!MS$@mZHE~zUA=85MRkvbgw{!eBc#GMXu^M+W4&@ee z&2uttIpMf_U*&L=^@vHL*e6Jl-%q>(why2?& zbL`XRX?17#NhfZa*l-8|DZFIhel(>|j;KQ=q{Yi;@_VC$!X3`0U1s@Ya;rH5CxHaq zWeMzj!uuu(`7(@}waS)NL+>_O3!|aMc+4R9&)8c6-PU|6P9jODYB%eZ6y30o^%|tc z7wktRufnSBX6+lrmI-(%T&OG4%oyW9hEn3=k?qz~B18RQ-t_{%cNZLTU5~!^~U~tWT#W*h!)bx3iSbp8T zvCAJ5sK);J(OEL@1!_jwn1z`}Bo6`L@5~l@w^;SPahlfRZ-gtZZ72)To4+(5Xw~voWv-t=~mJ*zGO}n}vGxg`niaQwBf91-QeuOVwe!frr4^eRFHsEFY z1GUw}0{~F{uSCKBJJgou{}`xLua4PbD!>QtdFKE9bsU(wq6f{si}VHrGAC_zK1gB{#7YjPsT;`ZjjAa(!kbMX*;&?Y|}G1(FP zNw{o+389$DTv8toL)3BC54hMUQTgPSnq;3)md&yhZVco2@ zw%v;h&@o~vr~EY7iwo2-V=AZewAkwddkL7yqqN2Z{0>_eYVBH7PXzpaMbe>Q)^I}U zWvkx<>>4ecI{HwgbeISOn;|tt$bV- z_EN6bwqY%Od>ZC*rnlRqL5_@8W9lN*@J+|*0b z&#o@DH80?Iw7PF^yAf8`KhA$#6CL6091reHEI|IEvej&c;`>ZRPpIWE4BE9iys91$ zY#$FFMNWY1w`{ilW=j|Rh`~y&#bXNFaXPqzB?@p4#Y&|^a0+v4b9l|E^K*~=$pvB< zeBW&C+@K@i-5oxHTt)M%C>^Nf9OGblM6aH zcCWonC>54?($)#B3QsoUyjwOq#JW8)Tk%6yS!@>CugP zO;Nsih8!fvIu*~h+P7>kxHM|FZSHL~)(vO?iDd!o-Ej1KV#@bQGrly?Rx;yd3>iP6| zRb<&j5U22b^C+R(<{+m}$QWSROv~tn!p;b#7ox*aNJG+a`x`gY;`^iUOJeD5*hm%9 zKn%ekoUVqWP)uPM2>Lf$8IXe0`6r=++FXoEpqPTwQX!m9hKryQ1t+P3&RQ9mg3|>i zt%A8-+EgXq7w8x+!D2Y-vA`{q!flmw;GK^)95 zCHE`C-=q9PR!OfF_8RgJnNk|g;BT=XvNftnTtgrHD83nN z!~QyhH{jSx>W$(;N6q&eYYdb6@gwKVk9Qz%Ae7&Mes~$Tm*Fb6GC;hnduvEFyILS0 zqd{hJg8_C(x8aa8IeDPIGQF`f?oWd>FIYf6hW!m>&V4(Gw@OGkJaf=rF@AC~?ykW2 zFK~c-OnYn5{<|F@ADcmDY%l>g2)F5wGq%JaJ7l|Pq}&~S@E?ADGe6V^1TS%ZdO!ag zLJX7X0@O|aQ!Zi`!^6jha|2G(XKhK>e5tHa_12Dm_a7?Ee(0VXp2i)CPE zAsAX0A>n=e12_nWXUx;MNd?rN+7~_%$rb@|V6XtxFatYQbont74VpG^F**Tr{C#dO zSLjBp&a=Rsydm>MB*N8aFjCFh-Y0aTHAOc=J*8UWIi~vcM-%BgIq1R^(Q3vw@y?gQ zw!V>meRTtLrADIr)6_Jc@qK9z`I64t_=-U!NTpF?)WZZ|s&f_lQQ!Usaz2S)0>1D6 z1KB?)VfRA&gW2%|2LKTIFI&Rd(ZbBm*3QPn+0o;tIjWO*YzOFJf`1l{yO&7DS19eE zxFE?6!RyNS41h2LZng6e(O;KEb*%S1V;}t7=j;P{#pv*Gejrj@fyhx^tcgmzQRggY z2y5h!G*SD%RTs6`CvU^a95C45K+3BLt!2>?s+ilTo}@BEfhXqs*<{`N)`&%&d$``_ zbI+fg>hf^IC&;&>%-Ku!FyT>))s0%c2m+E30;t@Gs(_8Jvf-P1lHWJT4B&wa3Hr_> zK%alnz(r6I)$P>FO0xw;e)DKo)tEtT`$d*oAVz zy*OsHn=DyJC-Nqd7wI6I16S)T_5Acda5xeWzg>lXx})(2LM8BDc89sg&#kII8<&5r zX{(b2V*VYQPEdy|WT&>SPN5aha>K#q<^cg(<${}C5?UfM5F}-5dvrqEWMA8{vljk1 zeQ@G^%CY!y<#WfD$+=c?$7*hh{IFz~Uga5pu0$Vm2s1d~v9oX2lBWWc6)|Qc>Xs%u zxSBQzGW0SmABkMkP}Mdn?u1_BUkZ5R3=9<^$hC$%??8+(qpjp?{6I{-xHh%gfe>xl zI#E=Smcz!uerLL=Mw+>m<`vc$cdhN{a@*2VWaE^8OI;NALbTp44ZGF4+lI=i zo+=H+Qa zT60v(8%{#F-M0TJI%c50=x~3;#xm4@-$N$WCN@9!Nf`XE>5|MByH5{4^!|>VVinQh zy0PS9T?pu^V)I{yBK|t;*ZTH3{Srpf`6it!p+sIt0YtSj49xL zfgUa!i%}&ySaH~>I&M?vvN2f{ZJJZ;ZRnNH%o!3LOX-^~?{3_y>LuSv^?Ab_24)yc zBV|Bwq;n>hY~QC1tb$8t>7jFwwAd*+(v?aF2iz%Vc+MzkuA*dyQT20E>}44TW38Odek~cYb#qgG6zn%`zic)4XiUYU1pQtNJ4ON>qJ*WN6*?5fof3ORi1bDr#><+kA4 zsMEww;QdeI+mh#72nlgO0M&I^0G9vn;^BXP67?)he&qAzr&TNwM+_fSPp+K7L*~iU zVa-h{a28s(>x!$4nw`taq%$2Vv>xGAStF75p1mmt+WS^+>sktOlDNdf*9;&W*lD@5 zd>zF%)Ud{wCyb$yq2I5$Jzuwo+T(cju5)+r#?fDeFZX=jy18Iu1W_pp8S%NU4vL?Y z4$>wuVhVHoAxGzJuyKFQ?Kb!ro`?MNXrp}ip=co zQF~@yqA6Tn(kWbD%DI`oXDMEqw}m{aR^*{_7JNWH^|IBabU1v9G$F6u<3k=40qUo) zD1YJ;StaqQ%xoIuOpg$cI_MgVk~fTKCap1Hn0y5W)PIzF9>?6(ebhJ?T%!4Ve5Lks zd@lrQpqEby&gCBYhEMi~348;wY1Bq2emIJ%dS+L}KA(5`#uaD@CoXd~t7Dc6O z(5>-d`Ust*4VtDIJYW)+0$_6zj(>}|kvC4AVw`92&-qAj#}Vo^{>$qu4ci7T!emF@GC08mW`ZLG@ST76%x8!dd@@nE+VM%p_BP!>W?{cf2{zce?#PvLs_Bt?sB zti(OofD%KCiJxW}W!rOz2sRm@0n2`FUkS^)l(XeCCIaPA9rh^SfNnlZuT;H%l`7pl zE~qP%&J5Y&fQ%QAl-BnCx$S3q^hk;jp`FxA^4?JJCg+O{R&7~;LZZG0kdGH?uU{}o z@&*3@kcTb|DS*C;71~l$xfqB*f;wiQ(H@?k=(iV&=)LG9o%*;P@VVr<>mSOo>IV#C z;-}J6CqTN&!5lRk0yl17<+G>6b}sh^KmZMyJh1gG7?K^d8G{*p1ccJq{IWw(l&iU1 zYlW-H5T-&etv8{ac|O1Ix+*Q^{Kvofw3?w_&hms&8tpUj%*Wr4fyd9O=`s=R6$o8S zl*D0Pai%fMiBE?XX9Wmm9fC`A;tzer$KityTl^?JJk46$EV9PFG&5%zl-pM@%y{06|80s?^>h|2hUK|f&c{;vBy;HT$rtaQm z?l+INPqJsGzKHE>y*d^w^2pLo*z>a(itUwwl)eM{pWQ^KmWMFZQC6)Hx%BFIhS*E1 z7)w&ilEErpA$xCaMU23i?7$mzzcNjx{+x-cVX1`G^NK`U$*k zU<@!h4I`Di6JpQMk>|8A<=o^4ki7#A+|R%dG}sR#;q|*HIsvWdF&O98IE%U;lrVJ` zR@4yH)aWs|L~jMw8>3PA-RaQ_=Q?3B5kL2yAlq8`%e`WOU9=>O!%XtrN~E5zPWTFV z&m&@a8$HLJz=Uv{8IIluBi}`B3FRErEN{65eRT_Qb$WF+)Cg!I;mbIPU;mYTLQ$s4 zhS229j}ygJWnQJVVrBk@ZOH>&`X)!3?woSME-o!q>D-w;$qs@g(=bo_B%9n`7~Szk zI^x_(8u%4=NO}B7z)42~aWrS+&1keqA|Q#uYJ-7rmPp8_h&;z!J)QO6vJKf$u{lXRR?Jj#v^63>XpMiFHJDG)@+MzDWle-I1*fe^+= zxc@COv~x79XUq)qQXDk`+rw~0uuJENNBD)y_T>dOh%d||LE2NXW853vBi(=w5_eC}201x~E)c{>L^R&Z3*L5Y0;5<~o|%cQ{v{fB zm@$Z8Vi3DEp&UbjsS%($o^^{r6klvvx@z>qL}JQ!Vf54>Gx-G?u|{^u;FV6#2>XD; zJ@2-d->o#l>DAdiY^*-OSXIs_ZN*qOa$zDl{(vKU>&C9oGa!*{(02nqft@l3J#InU z2cF@ilK@VQq#HoJ;91q}mU!f>ejS}ooz9Ss=sJSq39P zn$F+fRDBXvqNA%H5*06v54f?2#J_+`M{o2dMiSo(8mE``@L4DQLvG2Wl#A z_7kh~=HX(u4+o!bWR}(L?sB*WfG|v`vrAHaO z`##`q6xtY7OlSkkOul0wAC2A4pb&^S@C_hB2@q?b^w<{@ASFzCSbT(f6k)`&ZVY4I z<5Y0j5c4pA@H!fT1o7UIxYr;(Quf#a0wCl5<`8j4z)YcIC7*OZWEf#UaidK_!tesy zA8!sXM`7|Dgwfat8gMQRqra!=z~k=x$pJW`v_y$H7G;R;L3^;}gImAGzGMnzx}>dt&9(->mhqnyfZ`T@#8JY_Q&IsL zei~eQIrW43Dwq1Iv-(BWZ0eu5AEG5bb;;(fv;>Pim*itrH-QPm!LX@xTwkVQMQCqx(ohyw4#Ntl zolH3{P^J!5qJyvyPRG-pCMQ zyIzr}%1#r5nd^r?2d@3W5C3Ktli5p0Bc@}k-7Bi4fj6)efrb&-nKVy-wm-_hE;iJ` zrg+)7y-`6|#}#=LSQ}t6fNhl#0-(mjgefZs*eJb2fLE9Q$!UhkAhJ~!?-p!n`=>5; z7|d%zB}4_B9DOx?nO-tuX*9z=#1O zxGNZU2(v%8vs&p?kOuPT z7R8grG`W*c!=M(Ot*npZV`h*RHGpMg8zY#l@k>+Zb2)8+ar_I3c<){aI{VNX6BJ8w z3MuMM6}C+_)HYXP!7y=g6ctPTbX_-7!0whmeJ=}0)FuIQBLp~7 zXD62F6c&%1Evu@xOvcej%SFHK!pjw`YYzBm*+jtJGx74p6<6KUTyG|i%_r~UhSlf; z2k+p9*63sA4Lz6pE>kNkO6rpE_Wxq*s)FKZqBZUkf;)r&!66Xb36S9KuEE`10>Rzg zVQ~#^0fH_b++_*wE_cZPa;xrr=<3s-^_eOtX1kV|cAAsRfb-rvipa(H>`g96$*rBC z-zG8y6l_^1gWqHnN;Kj3h|XOTqI+H-4x`c5uv#X}%;UY+IK0;@6tO!KZrK(}6gQ zV)}KgfyQENsoKC{)<+}gnF=yt&x~EbITUF#8CX?`~PFlFv>r#c@pnlchk###5=Ut7DJhkG@ z89EInEQumCalQXOURTehp+E8vzrl2lRQ~ZZ@hBNWYI@xC5u(c9?x=vE-~F|cpx&rE z4wvzDgEQ9d#0G+f2!*0D8(I=U=55X+hQfx4q1+VHS!@GSPH@>+njOi^aqkOdv;Vn+vr?NcI#IR_tdcL_sc| z(UH)=H|tkr@o-e~$hom!-l@OK%Rn2<&!vF#-U7YvpTFVDtig1c@(#nkQ}%aLBZH&! zEX??Uc}C-nabe4hq7+Dtb~Vidt4vgIUsEl>4tvby11-j^g{powHH-}h`i?7*r9SIb z&M%BCF8gJzRPD6?;O#>Imlr;}uNU@TD~t}dMWUc3?YH(nr1vCN_a?x_t~IzFUQr#B zm2A#d=&c`Tlz&A%&NlT()U($%%W8{OGqdZaBt?!cMvu;ve_B7It=;FYQwp8Ii*opA zrYmW-4>Ri0(?3`N8La3udi$-qFPY$)l#srh_Ud^Roemvq@nUjgC5IhkI% zDN3m=p1eFmnlzuHB6T`+1QiA^xUkPL@NKlzC zQ9>4~JU)GD=pa!$TYZ-x(H9>Y7j?daW8NT0`(RKICVsML-@#eDtFKYGq; z#KJ^)sk9(6JVYqu@MHe9`aHHA4g*xx+fG#jzbc=G_C&;ATtuHvW}o$)$$a!QX}4ae zqM2?GZK+yTH4Anut6Q{6z2C2y%x!LZ>CjlDsyia(jP@NZV;X^seGR& z-K>j+shf7>cYeAv_zrjLh}zVW$@s708gz}C+L7=A=+`nI^d(CzertfI4Q7Lf6Wn=* z@rj;S@ZfFd*bU>=)$|S?c zFU?<)B*iu9joc)7M1q^b-zQ6Z5iKh)meI%^N_!3L@<^LFAMD5-3VRL0^Nt=kGakqt z0yn>?SB-6iZ3Oal)gy0YNfYI3IYRD#B(A1??><}nn|hONSn!!X?EN@GFjvb7?karw zd-sRxk0Me!n?LC4Oe%9+NOyT;#EL3Bn*j6Jmop>!V4PmXx;Jbe`;rC6UVE@ zT6)>mL>Hiky!Q$~D?C9kAtnp#z>sQ1#m4!1hCn#djXpx7T&>15e#Z0FjUaUs_alKJ z_PwB&=4C_7THv+?c8>bPx;Pm$*`c(u#i0)n1us+2&EvBxQF?#`+i^ zjX=ry?p^9riASRM8Qe_IevLAHjk=^^4*hkXh#jRGbaJMqDJ0~5cj(gngHLQ75=J}t3rm(ul%>HO70h+1VCG1YMMYVsD2h^Gx z<_v$?P6jwPaWvHx3Cwlo+(xbUaRg#7VJ*8|^_3`viz@FZG$V-PP|B(Px+hS`p*ThK zJ&m|)L4B;Fgwyv8>?XhKNqLAZLQ;}fEGiY?K>bK?x5G+8(xbVB1jdUtU_A?BnkQ$F zx9`*>s$`jnPo*Zhc`P0|VAagQ9Di7EJ975;DHGsv{-h3f>%{0M%MVtkc9?IF`LT=p zM~7T1)S@g4R3BH+yrwn-ZP-*sB(8espQF2v?R%O?%S@%mG%5u?7w$QHHDpr&xV%@6 z4B$vgOvUUA>0{nN<7NNFmV^-bgFjL5%~?d?{uCcZcdUY5Xp!TqXg&(D&ULE_$a2cM z*662*S%7l>#~@ZTS0dQtI#mTkIc0h5O6VY3qhZXa@*9|wsx9MrkbdhP*oNjisNHNL zuBr9y9&m+q>sBrjxCEU48{xD-|zVcwebBU6~W zz0jxYeN(do3{j4Jqc-1r6c6gxAwVh8_4q%xnGe2l_r$tcE{Kve8sMWV*p5kPh_CzI-h~0oECrT_`f0 zMlw1+`OQan@Wz|1zciO0x_+lN-wy?8z+f4FbTfHJh8D?60}f~*n52|Jkd>s7tS!U= zB67U3Q@wuyN^FZQxYu=NpQ%e^Sh)}uWQp!|{bLqwoB&(h@0_01qaV;Ea0Ltz|1;uS z#Q}Rh4T&2#_Pi2qwfVJiLq?O-QMZr_-xoaFx;G09$)od)9Sf5M!;!kbGe`wGN9SFD zCDmA@?l`dA9i6{=Wyd2|x`8Fe*gX0xI~BPy2rN0r=A&NOnaGtsV5v7YFZ;^QMXrnj z%aF18u~&8>a-|noR_QW&%G$YJB5@f*PEPh}Z3n<>YrtEIBeS}?3VwGH^7;8m#sssw zK0im3VVfU5K9LIWg6HoZ_&hT+YcFoxE`RX+XLNcs&gOsn;NZ2~uNWI*^)Pc}wD+^n zSt{Z7doz^lB8xnq#nl(@?|1xmBcG^iYWrI(2FYkJR zILu07Zw2qXEq}$0I1%q|<)DGi6Fr_|deW7=#3QRjnTQ-YHEJx$Db4jU*7Hr(U03B% z=sdlVHIo7}9?7xHqA`>wLjX(}A?p>NouBg3Qy;%3@lh2-Zj|VvJEX9k;9T!^imR)ElkfCdi=)Y=p66QOnkgw zvZqb$nU>hi4?AWQ0fgZ0*|8n2PnP~OWR!1oWS*Fr6 z!?+h$!J(leHag3o5}1#Ql-*`%-L4z1<_OeE6c?Q8!hdH^AFzc4&S?iux-#RVHb ztV3D^B)hp0(XQ3ccU`zhZ_ufyc65*j20et6=_~%?9LSJ%y%#onlr|Un0<-)riC_4N z4`#-NC}lt~mIsq>KIuG;5Ny+y(bL_6w1VnQldl6Z~dNap2qU!VWER@opNL7`pvZJY;`5~l{ z)ST;YLkf5)(bKpcqQuZ-$5}XwqXP)n+jvh3RC_jw43+e%?OI{-Yq_yAT6iGTzO#>X|6wU1^?|`eD2WA|6+a~ zZf+K>JU81u)~4VdgJ<3~H+(q4A`;7suk|FQO@M#HcHCw3O$S1Yg)I9%FN~D~{5v*9 ziOEAe%;umXiMYs@`>dXI+z-_aYyBFC@M@NSPm|Th3R&p}HRQGNh{lAF7XE zT;b+Xgx*=>`}XI{+l?sO*ed&lSch47+HM62w=V_SyF6?Xbu_cdJ`x%prLW$(a#4V8 z8zlz^a*K16;r{TZ5J*E>DIT_LEo$W`vz{0i-*qo$x8`n^??IzM`hH|u9h{LerV$9GfpjTbZ;^JC6FU5V&7|DkJa)X zcozC?0JWX&v~b}it9psgcwfX4&k4|MR<)MK$!cMFaYPrEnK8Lp6GOWP_Ks8OiO9N~ zH-bPVp3RZxC5S1|dVfiC@6CyBS%|6+F^uN`>|zyp>FF$Uo*!_=XtinH5#!{Fp)YEq z`9hKIMnzXqyf%cmpE3^ut;HuD>G)To$TY>Hm->oov?5UNAFa(e$}SG3S8=6u-dP?*`XcYxP}jT4RXLCk*Mc*)YMBOHe!+v;tjQYUU5;@J~ZE+y^jV+{#`F{4VPLfJ&l&yTR z@5*)Ks*OHdayDPt>OSKdYqFD2atiMVYSR=xR?V|j-x+}L&kn)RVw zT7Iz`FS^K<&bUbY`E~JQ%jYG77Q6O=4c?fJcza!=1{RaNr8B$Dz#lUZx>QruBa~kp zH3QC4^@gphrrv*e-@ild_4_vFhkKk-&WdfR3#EUW&Juh)C`p=f+UQqb5M(rL}L@$pNb@@=+{=9@qn|8C9O zUTDs|nVd9{hPFQ#wZjgFc3)$r*<_LxK^Ng#o^WYCt>%Q5bY1Z?W*_UxL-VwfQ~;#iIf1u=);?jQJZYzl*T5$^3rzW^>3R#CPvlrTjvru1;0^C=#^Ptad zG5ehQN#}za`!#s&AklJ=QFCejlP*e`EVt|xmQ!T?K&)*eZP&74%qqFA9M!n`a^lFE0w8E`u+y z+Xk2>>-cCE{y?iCzCE!BgOg-~gDeP>P+t!NBA?!&qsJx)#D<+D^P%J1^1ztw{|u9Y z-I*o(ae#KxhBfHsMd8$SD-FB7@`~7%Eo?ZKHyL(lmwj?twN=F#>4vhfc%#7d@)k*9 zk=#2{*y2HVsc2SqJwGLSj?xbbU%=qgW!2Q+FN)6! zTfNAZNQT$eO?2O?_QXA-K;bXpD_+rP4`w!KKVUd$ys)j#G8?&T?J0GT33RC$Lb%(X z(jeP_t-#v8pqAv9 z_oc;ZbeCFGGisma@GaoG97I37nQeGdsmDmTx{FkQJIo^{@G~zXJqs~)!B)f zn-b@TEw68Di-(~igzU1)$`JOPY<$(6WrR?r=g4gRYMy~MB zu$}BY{<`D$st@Oli@p?!SszS(JbPw4wPcWR!0%qhFNTv>B&l{tFuWv1r9ml=oC?lY6pH^VqHUl8U0MR$Ecwe?@}jN(M4|Cbiex3#wJOWx|c@5gv_?==f!fh_5W zhHrP3o$=;oST(xn8EN9{ql|&T!o#fT+rvuv*QQ>FF_hnb)VK#K>?5@{Qf6hJc{zW6gT>>n)~F%H2Ok#-zSE* z1#0gRD!-s<$EDhe-}`>l_Q=*a@i1~5$4=mvm$~4tt%RKEKq$30oW@XcDl1P3>wC>- zP;!_mPUq!6nJ{=)X>Qav;tCq8-2!dYf5*+fEgJx%aOx!_A5tN zb)lQbh<*jWT@}j|GkE#+r_Yi@K0v)wX&H#m_t>jsoReXZ@Y_ zrpwsd>Pn_FqWV6onYYzL$;~@DECxq!p(>N0zS$5$Rn|g%i$V~#a)g?(lzVheSa7%x zKWn9ID{c&uZ@u_LCwcHa81lo&EITX2lk2wCmF@Q4ld4%Pht56S^Rp%$dY-UK{b~E( z6i~XX>?dNYS!>o=YlT_sJ&=XVquRrsh%^)&6Ex*FWdB@h|G;E_0^lLLzV8x(l5_DI z;Qok6`@=Iq6E(nH=JvPbe_1!s2?}XlKd7CGU_3LjYD;yn@i;EZm2?sjNJl*^Xn~5_ zh2c*}Wz26$hEze z?QLt>9Z?S>mwAD)$w&1wI4e#&A}g-ab^Jt1oUguKc@zwuIy_{puNNBwN87qCQgxA1 zZ#RzCG$j+}TcuGpClmGplM7S*Z1(LC@Nj7{iYZLwIA5gC_mnt)L;JpT9kr}Q9_sd{ zyCGM0NdNFid2_{__ucJmSy>$O+b>UH;zh&;N}`DncVS{JxCT;)*o;Ffrd&z>H`;90 zH$Uv?f|l(5d<}XSY4{2qKrR*ZZE&{7yYZ4qA9wA1cIu~hzxRmx%uny4hh%VfHCmLo z`#DT7EepoR5Gq-A`D~i-|rLuK7-qhiZh=t;k`jI=MhzC=X zA(2oa#V zxWQu>0tqI{#$GwSJ@+=&OF`>Eq|60Vs+KG< zA3*m+vdxbNtui2si@SunOZ-7r8RqUb7czQFhhEtP1@bK8-IwPwse0J~e|HGe^|HgJ zr6J{h;NS3fRE}wFFcw;6D zEN|Ob`*>^G&4SCW4-L3|d6^`Iyv^n zOv6u$Ww2HmOOWj5aW>Gi-nCDbAc5x)b#C$KYqj`bD{nyZ8_W&Hi?n z#jIAMPx5gd_)40uoLp+&80?o2m9ONU3`?!H{j!~Ky8wm>*B+k>*IxI99?H4QdIu-A z`_F9Tc4PJcH)ontxg2B}NcL=a%J#(|$TIm4NYe|8zTP(1&LimFqS+8Cko7@_J|S``t* zv0qzy*4hfRpjB=bQDznaGPBA{kAs8=gDmwdK_0bgW2nXH_$r@R@IYy|3qEljZyH?f(Ly{~h(MF855%hS#JlmBPrtVF0{4hd|F6&Q7P6H;j&(JavUp8@ z623EWYR=~alTTd@!QGL_yA<6BOVhb`2X$6hYOYM8BUR$tbyhZO?*vrS2RHBWi^PwH z5q^&tB+ePRv8}8B8nhpkx@3I7mhjLM>Qefl_fqm_x9ZDITqC_z^`HGxj6kXI4-F8n z`%^ydIwDRQDunYdA^D>r@Xp?)dorW;k}0K`cd&$9RF?QgK~-n!$KZj}Y6- zROTqD)~EV%In#QL!Puudas_~nlh``c2QWJ7X3v+TEtVLtb*p7`yi7$8laL$LY5sIf zwGgOoE;3;IRLd*_@Np7yhdK>&N8RtbWjnR$8YU5IMsRteW{KUlZcSCMZT}mc`|-5#K|{9GogJ;n%@}) zS(W6wDk8cnir$yD*q095m#&=sd0G)6CR>IQ2G&+2SxVf;kS;r(NZgOkRI>Sr*f~@? zv&$*BN2VNuDifC>UCSV?EW?vc4aMYYhS&{0>^3xa^*@$pSkaG^dSmK>`q-@KVBG!`Jb7!e6 z31Lu>gp^y6W>vcbBbb+0KZ?k5Od$Dve1>+>nxBr-_SCqu5VKxSh1=Gf*)Y+Ny-^q7 zRmK&gC^a7$5E<$}YNz2EnW}LxB+!*Ws!1G6v_63+i>tDhVlFX?R54F)O}wK^&DTq^ zeF)(H+{ZE1o)+i{DUFo3pC9<^V=d77CQVchj3E$k5r;a|v&Ceff3)S?j%K@1$7s>F z&UL7FAmk#xXkMV$3aKI+r@wdIGJ}oEKsQ}}<)D9$h49*DPPY*stoy;jy%2}4`voDs z5R0C6)lmDJ;kv#EHV;#F$-`33SLsbX+By07c$+PMGAzsc<7Df0Hj z929h3nJSl~YZtI^mCV|<3R8c;#L>1IZ#I`UNZMsmtm-!p{bUH4Aa~t;t`WQc6}?RE z`8-Uy6iJFRex$S6lEss~M0rM{D*!8hHNSk*JiT_)?9_GQAlV9xwi5?)mo?+!t~iJ& zi~!9tG}{K4l4f~>Z6o>(_OZ2*D5Uj*Z=H{)|?soj9R zDzvUo9?d0kSe`smsNie$H!sFX6xVw7=Ip~^lN~5&-Vp?-}go46RFUw22U&g z;ABTLcPoBZh|YXcT&Z{)3ybZD!?rLGkO-3g?RonWzb zNrHUNDx+b)?pzjmFXJu9?wsk^=98^lcQX%9WJZF=a%QZ9Q@$%2~h|?*}PjK^t5+7t(ny$1fOO+{reERkD=qbhv2;FX;xm3 zn=7HWx%Fw*WRF`Dfp?YQ;q19%_}t`C&e#6>uC`Iwd6Jur?l=2pJ|;~Ov-J8taP%Y-u0{t%aPV@6SedYyym z&9|#b>iT_y7_T!T`hD5854rk`rf0W!rC*LG+&W=>AZ=o6ceclTYjK?ySrwUSC63l; z({3Gx_s6!Woe4mhZg_8Nm5S#pxn0RS2d}W)FJg@E1e{A}9f%(36eL4T@zqj(w=)1k zTaWA_S{E3=ESIAd$@|Pz7#nrXXVS2y8+qNf@U4qV;vs9<#nX4cRyw9b>~F1`l;E0~!g zj|%av&0R4KwA%+pQwnk?B`^$ufyIJ7s=|KmH0ug#DFwC6gLVT;cLU3IMb*dVtK-$) z+PdA%);~ZPNR)sRv^b4TabGiC{qko=8zv?w#I!#Ze;h`-gww=ZNV!l0ZY6|LY4-acl{y44GhUCbPSL;JdC^hLCu5*bVEtrGf>^RE7L zTtzm4lKf$Q_B>E1%FC$5n7hcd1>ly$GBlBDuzjpCvNq`74)}CarJAi(ol~yO=6!8I zk-<`6}oH&0-m9<3@R0L4PS70ZfB%t!UK<@DHNlGO9QR}VH}J>9 zfoA5Ye$4ZUjtZQF3>n6NeD2{f?rY)P&{^8Zr00f2a&ysS67yxU!$ShG%nf=8=QlD( zxDjO~GRJ8$$6dMcQNVaq;7Vl39}Gwg3Ye1$oP`VlV?g9lz!+5EiD34IUw0xs3#NT{ zv%weTq+mZ~`)dM+&Q$x(`He@-o(1#17OsuurH#kZbrRN1{#1LiL;Gjh9v+iE!Zdpc zS8hK=`)C4(0h-KOQZSIoMg=ZFhD>5Ws!_nmRA4)r%r!vY7MQ^PEF;5>&6k;jo0)kA z84A8I3BBNgr!{{}OSdluV$|&&fkzu)gX>AbEFZy?=8t!ly?2(O7bhrk;M!I}w!R%H#6pva&zI@WgBWrPh7yj|Bc4k(OcIKAXEY$7?%JbVdRV9!fOca z0Lln6;7L3wt=YavSzK7+`c9qGH6z#e_TLOHlS7df^ef9EEBbH#n~9t3{j9`i;i0N= zekXnOxFu^i1Yv1Z4muuLRuTPgfp>VJ3%Ygg2HIzpa@L*!-Ap-eMBH>P;pSD-IH@m-gJ101!){{DKA){48n& z7_S-DlHVyagl5LNI_c0B9`kIOlRo^L^_-Om>h8o=NN836&E7i|tR@$stu4RHdt=AQ z_jj>|7mX8M3%KFof5oPk=}PU;E~ZOuYu*0*VX8W5OA2x0L1ZDkguQ9)f=PFM;AzD- z_eAkNvk2&MqTc%A4aGmG88!&~#7N^IA(EOz)~*DnaBs5xfg0Z0mGG2b%stz}JrTak zECzZUueZJkFkGkmAn@}cjYk8b0V@oG)8IGRu|QpGg+X}g{r%J%5aB`6sSx;C-eltw zk(rWK@tAejhn^k+Nz^}ggQ3Tvd!2GO6xHU^l@a){f@$*s!&Evu0zX?Y?Q2V;=}rjz zl1SrmKq{FPGr_5M(5ZI;VCdB%Ig^Lk`1*Pc)p(MRPJySHKz&sS)Cr>QO2B4x<^5PM znUwtIKs^fr>UL3gz1K?s0h$Yh4G$paPd<<{?uIn(28b5Q0Fe#_|7)k;U+Z=;_f^2q zUzn_Zj;1HBlpLdFY=_r~TvBH+lkQ$$I!=j;rwjlVd37IV(mm=+$1W31bN?)7h(Ecf z_Zn@C<#UoNCwnf+0vfvHy5?!yS5122PNwTphPchULdNw5zEws`Ct}l~;*~2i#f+*C z5gbR^ToH?CpEZ*$ZaOq)XmE!`WxUpbD0zisy+tt~YC>Pr+T!6MLW`rCvAW^uNt{Vo z9ZzNP`8mHcKELMl2EUP2OOxZD!lZ&R;h$n&6;I+-f!8%GO}P@?)m8eva19sl6*1Mr z`8RWSGBBc{lI)I05`nl>i6 zQWl9)7GO`$1YNcIRxZ&MZBbPzIaj_+1x$%jMCnqg*&*8$Y)g}1B2CdJ@sChd$a(}8 z)}M*A->FK;yFO$p#7LA%N|$yGOPNN2Itk-^>p$P0e4JvVo$C9+QTzE`Q(}0(OirSZ z7U&&)n7Ld@nQCU{El4S(ZiEPw9i=c1>@Ah3`$yqw7U^mhAR_BV7S-1x71kK@=&wGs zRpjlvQO%qHs`$hec-ol=to?pKl~nhesJxRnuTxv}N%>=W)t$@T*i{nmU5ip$-Q2D* zNIvF6Bb^tiU~$Oj(B4GFj{D5-N;!3NTgISq!4J6fUOs}w_xyoM1$A8O0EF~GmEKDX zfLc0~O6s^ajX^oZ3`z7}#sGx;Q>na;YXg9I8D{CdlmX~#jZ$?T7m$?$rpIOQasr^R zGNt;upFmcQF}*6ogDe0omKV0>6s7u;iQw zGY`HpKMB~UGpy^3JN>ouo7Q>U^#n=#K{9q*x#k+ppJeUQrB`+2-T$7rP3s)(dV;0> z$}@IFx#p(z?%S3*=9BrMoL%x5TRj%=LaW?o%p>RBSI*!*VnWb^lLLFmsL+Q zcfaPA>I0)XUJ);#MX68vUiwdBW_nikPokk||4&k(ikHR<`}9tkj40G<;8XGW_w~2a zPjL?4%ih6C6S%fAma4IWaB-8A25Y8`MH)jCE6Yj~9YeANQ9YOgHA^r(W@WT#2jK&J+&M z`_%1NL0rJqL>i^gcHUzY+{*!k@+*N)F#8?Yylj3ata{Z@*%%-I-L=gyNzajiMy~4Zr-Ai4@q1Yj+b5r`6V;ooCP=l zkD0Ahmc*R#tB1aL#?o1U;5A51szYL~z#ahW3TLdH1s-VtrI6H$#N3wc>y`yGw$1|U z0Juvl^)x^hstrR!B8C2&?Dr|0*&8X+->*n9oD|b;&GEv!*F<9g`SOidxDw$Il}#+EP-6;Q3T1&HkYzo?a6%yU&BkZyhuBuzQ+ zcM#dTma~`r;%TXa*QzYaAoe7ZfVwJ$YG(>`u(o9tGc? z22=eDo@JsJm2rIx*Ik#{eO$|Z9PbnlrJW4Fy%KNr56o%|O1mI_dlud*7-m%-r5zf- zT>+J)!T&}ifNMMOMiup>9KPL8c|EFmz2nlI zq>SrNvH@H>f%q01;&`XNitA&|>-}2pweamgCJ%ml0p98)%xX1CJ3M~7otFC=Jz1Qd&;*BYP?fHhST}Yjs(2bA(&M=6#gc6mf2ouruC<)ZsUj>u$H?ys=GdpyY<;> zIo>MJPuD*=7gIYIs{4z=dTqbgTH|Ra&`$|W4AW}cw+&sOpS)M^YUAlDkW<#}H2Sit zudV;oDx^(6I>0}=PWU2a$hl!yoYuuKS`4fgZY2ykw+s=+D`CGcWQG#*EBmUYGP$Sr zTVNp}tMh#=ztQdS^$$;Ny^%vXJ#07Ph6BJF>0Z~+tXci2A+qiT?(6MiqW;i8 z^L}zyi(-2Vr7k(+z${dh1H4=jqBIn^wcTGGX+7zaK@rD##cx#iC@4K`*lc?LhjxE1 zr1dBOPhPj~M&%ZULj2>OL=;p{$+B(^cUlh+*X!1OsO}L^t6H#XmT$oW?fz~^>sg=H zb8xz`^|~oxxEl~EmIpaA&S9Rzp`I<#HOg$cGtOXqMWDJgVAVim;N5or8>ICPAc|3*cn{8K_osrhHvt^k+;(R$(OBKJfC#kNK8AYx14^zYIH z7Odd3tqnNnObyuQ3MjMaPF1i)aumB~XUht*vM)S0ifAeH|(a1|e8oOa!BaiJf9 zp6Fh<&7(ut-gMgmL|yDF!3T5O1~_!K0Y@i=Kg+8l{*@qwezZlum4~k}##8q3@DWfg zQrMRTLoy>}?}&?@x4nCY=2JuC2wBo!5u75yo&5fx`9yrheO2bgR|vhxcPIZB0F@~0 zYcjXKLI_2jJNdr>h)ZE#m-!xmF8qp~cZ|A+<~d^2_YIjtULl7f!Cj+10IF8oH)S4p zg^Y`Qca3@hXk2yQg1Pt=QZ4G-4V)#<*v*pa7=tet;v6GSy3asW^RrGzq%ZH6eJ#f6 z7=HgNQs~MD{}uXl48#8lTDtO)f5piMhOvLe&kyC`e}&%%hKVs~3;6U7oKmO}1zeoM z{36_O^!+pJewgM5{A{J1`M=cGK_8KiE*w60HUseXCs6(w+0q* zemHD;H<9?79pzyGAl^3eY=v})8``}(R5F}w=lO81!2sdd*s>l%nqMRK>iDCUKzyx^ zbFB_6zRsyd5MQIBJoE!9n5Nm?kPb=1lUKX3HmU7ABF=RWKo~X6?u3x$)lj`U7S&>i zT_by=Uq#m1KDNMnlCLKL(RtIS^^hm@?@wdE;@!`FGCSH2hkZb;^jhaA%+msH8!VyOR0 zgf9UEAIifD;FxMY$|;}yvs5|#fi`BzMsIg_G~V%T%gTmn^mZuDt}XyD#yBdqtZbRu zf@eR_rY!jYP-KK-e2c(30A+lj%~%oxpu{}pkGpKkwY zoD*GcAH#XQNuSwJPX~wF`s4ZB_q~=)#G0q5bQUO7qCH}?t&!$DgRO{zhg*&vGSD|9 zV(g8B6nF*&j%z5r1%0EQY@;4sbf@&X`FDtYxny&rNNMI6+0DY6<4Ytr zPNbw?^IOowy$Ug`4FJ(ehPm*@cb4kW63DU@AgiVHo}}`w1(<5G7{GFcbOTsmXSa}v zdxOX}dJys)13mdo#R&dlNdN@Z^cEp;uSN`O6X1v=8((-sc7+rJ5Mq;C@Wj1#p22I@ zZ|F;MX}!-3^CeT~fh!S^zuo+mK(;XiM1ehe@yUxlgUf(^4K9LN1o;oJvTfeb)20E2 zjdHS$a)8)72MF(JD(`w=57q3`{?N56q^>0j6%5+fs0gx+ejtkIHLCLfs}mri$>krX zIR;!*cP7qEM*HO4Ry7Q{42?=g;6EG|%N%lGd+lhPnGE#Fu}iCCV9W0Ukh1L#(wRvQ z0Qsq5V8~|xP=eu3^JznWpWIJyS&bEY?X-+?QbEr&1~%VVrZUeP{-cioM3H3NJxvBc z)(Sk2d`GXUqeQB%X=niAm*v^xBYjo1CT?{oGy9dKiO_|5mgqdov6CuApUbs8W|`SK zDa||F@r`|^R{b|uY*o~3ox7#e^_BNVkE~hj!rDnC2?Ji_<1U87=Ep1=rLGVE=0jig z`LuAM>eu5!<{Mm=;FNpYn9&h$YQl!TIZ|0og-Qbz26|AKGp=_A;tUZ&V{u?QJt)0C zcd@&aQ$>Xxel`$Z6{-NGv~+h0@sLAPSm0M~c3Cdo$5K4hQYJJ@X?W`D5tppFP*W8? zg4yWsecG?8U`UCn0wo%KVc0cY#Pt zdGRa7XMcX(C#WD^1(7G&CKOUU1uQiB{J?whJ6|e16}CwF;{5x4FJTh^m?nI<#`G&&Sl9H<#CdP4~=&5tPEwsQx ziwHQ#VvW&_ifmhrgpGCZXFK*_#}FBy9B4in<3=F-O|TWfwZ%So8_7oI$*va^IY+P+ z$F+q%=pMvI=Ec4m5a~v+6~?s%J9z8QmhH(dCp>^W;J!P?4Nq7?u+_q~r5=06FyOv1 zcFQ+->y>r(`xmB>Ari_~_=*Sh_@{lE3%R#Ok$kI>*s%_QY{#DLf0$Ss}N z=(k-LO!dPwvi3SgH@Rj~+lbU@m%O8b_`m@B_{P4_(=QzAEXJ&N&v}&v_)q^QI+#A8 zR%9ja(Lq1S)Q6=ora{jLHrH@_`eaolqIqH`JNp7Q+jzylCvB#Y>rVxR_-`&z2j+#O z7K0*h2)1~ZAd6HvR(4M~7fXqCxl=A%3zz_5AtPMegVo$1W}V?B@Hgr#QL#C&uB=hBtQaDPA;O@&IPWEpDRlQ&T`UZh)l=uP{)a3o*|5cY~AM4(he<6gV?QI zIM74~AjW?MFye)VnTA*WsXy^e-tqqh1Zv#vZ`|qgh(O-U4tWw@kc>A0X76Cke*M_U zT{zc5!`?Bsvst&GCO&=G@m)9)M8=CjvE4X?Lcoq-;6-KXhC|cKz)Wl9yCF^ zEI_*qK%i(rp0q%`5&9A!`-I?k13<6mAgG9qp^4|6V8;AkjjfB=~2GL^z0S2-#`~IUm z*FxUlgZH5!>okGTV}s-Z_vL`!#RnIh&K3YHBU&*@P)0Z$#XA%ScM^f(`XdZKa=MFy(9 zPf)H~$c~Mu)g(c{h{$}K$Q?I=PsqM@exG>#!xiJnpif4mp@d{YL~}N0K6;OoX9caKO(9<#Sny znkz{^SieS=&CU7bOJ{uuw3Bik`7(s>oo(>l*l$eWrdk`CSJq~MAphZIZFACpAZ%^p zoY;RLZ5v%zcA(OfdPDQ#+TuT@!DV@KmVY2rZI+y=e;^T?9G8}VN`U(2x%N7N&|~{m zuhY$yJmGsL8$_3@3;BW6053Ke@_S>tn#bHqgz!ucy7ATiC`U)5ambi6_0ug6^IM>uxZJud$z7 z)aEVImKWQWN9V|(u<1*&sZDxSLw-f5xCu_N$wPXTLw=Q~uqi^ZS%Bhh5%~rl z^><(9eSXdTPsE`q4F59m%?k3X9mP$ZTfkbxn@!{!d{h?ArytwCU-RIH`#<=H+2Ds+ zg>p6m@hS+QA~diYC7jQ256M#yf#y#m(Ypo~fI`y&o3YZbE)^qK!Je z5I=^Jt+kERbT<;Lc5BpHou2nHdq#Q+%j}x#MkCt`o|56cjKXqPg(dz3BK>&h_T@46 zO-Xp}LM?0!RC5_LF)urcbt(~RCn*wD&dO=w7;lC;%8Wt1tj>w!7>|WI3X4IN)pqOH zrUFMC4*-sp+`P7_^4O^I#;E3!P0FrgovMV|$%{nM5^@4L#&e*K;(#Cyx3Fz05ybHX z;F#V`e4DD*O2H2ZQjW}N;26h39LHjoVs%{2@F?1}R=5Hxu^O76$KK@&c@hCzNBn2@kukqJoY2C)z?UO7fHh=r|h!2*#@ec<*1vta~fe*(+*Ox8=24*)?Uss|<- z9=v?Oc#Xk$H{b)z^u2ufL0i&6w7o%R2W9O0DEpAm49pooGJl^TzCge*feHf?E^_vR zlzr+l0d+vFjNI*X`2Z}L04!jJOu>GDvX21Gz#d2;JePfe;4}dH{ufeES)v;!4+Mom z&;*!JJ)e4kh+qOW0y09B?fWVFP|$WQfQjgHmTBl7LolD;z`m3paZbQtDFlsxiT-~H zxpWXpAmdOi&yhdD2(0+ufzobdY~ttu_8jAfoL~>4C5&E}Lf~ z`;0(5+X1DFFMv|?=^+2web5F<-NeD({7Yout$G^WJr!xeJDE*8iOlB@QTD;18JPZ; zYI=dtFb1o>gcM|P4o1oY!IKGy1Q6B^h@DPCsf;^C!bdZ^Uv(he>B9Y`60 zSpD~=978GdgCeDaKm%Kz+%y=b6bym=_CGCWeo!NsfYtvP8aJ>GgAknS{}^F0_ks55 zAUpr{B{KXX7zCTJ`u`-*DEh|!W0+(k7pH?%{8xOGlaSLGEc?GB1QPmaDEj`_6)@rP z2f_pRmP}0|0%v%K3AE?GuKv}4r|A1%yFjTfW3aCOC7K3GfBJAAk+ao^z}ZSa#DVFG z5Dz}j^u9kb2tdsBVp8QsLCa@7cdbLqPdsu*%=^D&jx9b<_`d^?-#ofEq1U{Fc?*-_ z7jo?3EL+SlSAwg=+io#SJBKNBpnf{Q$;X;DS$EBT=euW;)l5_%%}g3$#uu^}-pK)9P@2xjg>Ys1}|o%Wrz|t_}@`E$d8dZ4MlFow;snh zc8UX}Zw6A&Fsw|}`4gwJbld~L_0~K3e&UZu$#q*f_psi0;BH_OzAB{c!lJ5y>yzct zx$Y_l$NNS_(b06eo0K$I5(=~RP`B!I-GZs>)SB?X2Bri0NFk1o5Y}UuX1mYtua}!H}EHe$cq4*DT!;^e@tHaZpLT~~+!i{wqC$_9R!{EU#MR>%&=V|fQ_ZCW~R zR$qXcrx;p-UG+0dUc;M5wFQzc6TH_T(1$x-ULT0T*bxJl=+ll+RUmE_@fE#uW(hntOeWs^hrlnrG|B- z5xnwaq)nxnt(j)c-3qrdhIV?TyooZ~1v5~y(kQ1Q>a6q}ZAoS7b#h)S{r}4lG1H`z zRkdMOZOEy3H8HL10;rk_;$s?)`@Ay2B0nP2^8X11P z3CgU$dqqu0W@*i!a$2qQJUX-@Gae|sepbh!YEGm4I5eQ*`FEG!JG1ilwn~nz%n}y7 zGMjnQ@_zB&yDJX*Td04Mk@2dG()xvv_bV{a zF^`s?#voUb5gsAtjd;8U%q%+S1qJ+opye+*BM#oe>&+atByuPq{dtU;g|vC{VLa zerRzFjbB^1&%=g@_ynJjhs&)AR|Zg&O9|<*LBLz5R#= zR`(E>RoeF)+W|f^WQl0;nE?6pKUx*oF$UzlJ3@>%?|o^2r%3-hII!y(AN4*TiT-!A ze`6hVMlAG6!hagax}f)QK`#q1W(^iev^V#jz5ehVYckqAt;yyag5Xa$7EnD?Abw(C zGknHVeeT$Obw798&D(IE>A{~7VR->DoZvggAcP5h&NKNeH@;9eGh{cLELRBc0if@x z5V_uAxq*bt0XvDn{3*)~Dbx)yEU!Bh5x9UE$X5zPE{}0SU>;+DKXKs6G^5FG8Nx0A z$j6C9c#i>n4+Q3e69e;D0^%ii+gS*3o*}`X(}6*eMvd915u)Arf7lcRUJ2f>SYQ}D zDexrX1P#^WDn=G6mo!%ZSk>Hv`R4nrj}+KU4$63+^WeQXFpU7*Q<^l_pBz|}({z_> z|ApgUQ1xH%OAd&f`wxlrFR1Y!k}}YJGF>Q(T@FVJKs`KF0az2RLJPgo6t<~)`)@t9 z_t3}%3T@;UHEi(7uT@bulDQ1$l7-Z|`ReKHfil^K-`~VbboC>t4u&&;dz;rxxvQ=1 zyD+;@t*KgHn4%W9E!Y0H@TNJgZn;`6bl^m&f>P+78Eu6_$22@Q=K&eT)@3b`RGL^Mnf->!QcG2drS`vjetbmf$--bo;6gs#xDdK5uUQ)JqKMchTk` zeF{54rYi|Cmx%I7zSU~|(dnZsgnt%w2PJTS8(P+E)ljAm(V`Hwui?+AUZU)1KL4$& zf9Ph8;-sEvJwn1YD9?^`n^Yt6&_gy0`~$8J>$X<7zJ=c|{2a1R!wvZM5#(PQs=j74 zos_VbKn78Po1p<@5B+|N3+U+pLQWoFj8)(!^c1>B<2mrh#!!mgiYf_~YDeWSlb4=V zjUI-U)EQrX{|16VEQfFU-=S{_n}pt>9lw1E5e(Lp&KPxX)ufl=F`aQ3rrHOny;Ztj z5DWoOc9a=Ik*MN& zTFN|{VzHJjZ*YraD&_dzcAii!oG-k{{&;2c@V2zF8+va20OeX;hw*;Puab}>=@K!& znFh_iEVU6JwZTbkE3UjAQ{IH5YgxlSb6J||o_TJ^QnF*L1wVNFDrh5zF!)~A+T3xD z-m||*_bqDytbvOO=)jr2-W=&+c>hU|eaG#)wcf?;osPV{ z$ObyP{gu=&r1X-|u^=pP0x=KM(?kr ze15i5zRhNPC@uLCtK428gq8$*5`_}aiB~A=vcMC;E2L(a)Fy{-ARaybhIEYdUGfp; zvIPLsycXQK^tXSD`?~)lu>%?)aYwL8NcXhcvVOIR^5SVa^ln)izOgO*Ai3s7teF5^| zi^7Jtby+9?Ug#Q&+p8Cu^%@X(`oXW^A#kl5#UAJj1N~HBZSWO{z3QJ2^+ZSu_9nOB zT~(;N`^^eKuMumD7f)1&o@X4&RVtN zyPmmP&I;<9!AX6~G8ODc;Wazsf_(0XD7?Qbgcb`eo6UD>UJ3mn^OT=w%UeET3me%C zEh~te$q59qBEM#w3JEOmm5+$QQC=7TAdr@l4ir9O*;V{Wk(PF7!_F7gEn6(x(GpU5 zxJr)vihxF13iM@1Ue5M4YuIf`!+kl~h@18*-~ha}z7I3w-B($A$a%y~SXKv031D!l z??ar`p?3~ZXUBJq&-K)`qI9KXy8FuAst&j|=fbb`+*KDy@YaQU>R4=8`H;JC?M3t6 zy2k9Degm_8!wcW*41)z+o~v*5rmJoBCa7<{ZJQg|9-o^}>3qoKR{76OFZG_Doa;w8 zKlT8A$VRun;$&Cl;R7QU&W{X(?XOs`I^Ea4DXq5sBP=R6w|~`cZs99-53scQM;I1^ z;%fo{IlE7=ale1`J3dJ}_%uiX?Vp!(Kv?fNZ(f6S3Ud$2)^!i^A-;lm5#EBm8#1CC z?c*!;aLy9!21P69D1%)Tus|#K|3<0sl`o$U<-4PN+M?A7qSeW1d5N64{7GbWi40$Z z2t1cHG4_mVqa1E)qHe;)R6_)8DoNfA)iDa#9Cj$~>~eU#p!vo-i)dbwQh8pJ(t(!C zgDc~cV%83OrMrNOXH@ zKwv7Fwk)L`B&E$wZ7ZX^o?hP65IWxlZ>2>=2a$rwO??S2Ye^U(^(LsEDN!@Is%6Pk z-n6P{nP(yOCaSVd318ycRi#5m*GQ5uKOHCaCak=URXE=>o5FtWO;}V&V+&7hdr{s* zXesrU2y}GG><`;0vg+&bUud@T#Xgj%YPcIB?+uP9U{~7 zd5$-UZJvW6h{(qQ@svRP7!cnG#E)R=csbczjWq!ACP4h!)1f>PU;EO-)_2>TBs67t zxp%KSb0A?2NNBklBXGq;1LS6>dpqrKBnfCg9nQ4yz5JGzzhb_$YUqd=m`$4T<9mr# zmH#waN$On%9QM?C>3ZF*Z6?k10OO{>_(oE1+rwc2!0+n+E~d7RO3S43?hG|YN5o1V zPqjIFENoHOPl9ACTx|fPnraV~LJgJbMSX0EH}q=%cyhNMn&y+L-*UQFVq`+(>}x$$&o%+OaJFpx9qa>ZRYs2U(ESoSD4@HCj9BN zpYXK^+CL$Vpy~KCntW`EM=>^SQMg5afK$|9TAsQ*Q>$N^jnPK}p!bHk_ zeYQf_Q3xw7Ws_k>Ma@J3dvsizRdx|#b?XNBhFrO7cIv5UzA*XtEq>$WFM^z=nQt{QzSmF<-$U`Hs5Uv{2XIW$rzMLV#IIzOk(xChN@DHM?KUO$ zVwmB~ixnl+vjMuSEkzDRc%gW&RM}?|dy|ZC=8KA_iN@QUgU@)fF};p)x8{r3{^CIQ zfGwbGu%R8;3eJy|Q{}fT;jzm}TL3Nq)rb~}G*|egvhXuHP%b*K6Z3?XZaPvcTiasp z4KsD$q%8;Rh@uf`$o!d2DRg*GE7zi# zVU}CRsOt$q`=@B6jz5W5t;^73H-@=8uA4bOV&^>{;#<;?Cler-!#B*@p{9jtRMPG9!*kVA~`^=5fZ_etgVc7_^v+5k_US z>L6=W?5rV91*%kle)Mr)#xN(s(}L`gB{GI(Xf?e)a2kd95g>i_W=RrY~U3fW-F_;+*IY@w-sxFU-XqWufmU%w8gH%r zB)4T*cOmBuxOzyO&*A^ou^{2(j{8PE-NJL}x@9SUEl2pcbyifs<4fjVRsnD&k+aP2 zrbldYmk0MPE(zpET@WNZv&@h4jyo{8#753H=H=ub?w$L7uoDq?Ywt3$YWqq(<)q|4 zJ6Ve~y-?Y!Nb%@TDtrDV-fXbpI`+HdD>tCNC(`dmoPv%pyapU# ziS*sVv+bV7b=%)K!f}%5_Mx;xfA5_Ii_?z)A|3+%9IPi4x%N3ifX5XX_ubOa?LMbq zJG@IFbMjsxadC466b*xZ&%y7j19n6+2Kp}5Z2ZX)rcp^ZS5D`swqYK%&Y!gSlu_Nn z1Z;>_r|>>2vUBHM<~A$ur(aTSTYKHU&4(E<3cF?RxBNCW1J(PIanA8k*IfTSlyZuS zmn(i?hpOm?W1i|gc0GfazJ-%3b|A?PJr{V|*e5GK<5{B5W1RSMPd4_JWPYY{16p@} zd|bK%Cn2Z0b=;!mtM>W!j$heB>(0-Q*#Fh6@vHp(`eW<-tG4yE7q9yBTBYjR zkxS^DMO(`Ccgdn}%L9)s&>Vs0+j8g+-EYei9*b%(vCT%>^tq{4qMu-kk9`>_7h};j z;gl4g-3PjlfwUI*EF&KMepC1q#v9j<5P69nQg8#*)h(-w zcLxCtwJzqhb8o!7H>)=0mFIT6Tn5is-&R8$uZ~;$>D+GcQ!bMIQ!WZ2_PmCj2mE=<2Bh~5 zx6fY-yU&09pW*hk19EiT@b3z{t0&%4>E|DHn!MW?n`1M#)5tXSz5(c46>6nB1f05A ze)@2^5&wb+kpo^YO*!hOh01%byd=B3=iN~bmA(JG`{DoV&1gm4u|;#nU3d9DC-?DP zIq&g(A>r{oDf98W_vCa`+a|Z@4{giW#rbae*dM-DGUv+1R(ZJIJL2`x2Uwl^)}GOs z%Ta{*6Sb-gz%6Wa*OW#lrLqt{t}!I>r~6mDvn04Zu~yUSOZ?cv(6s#&y19Y5?W#kU+DyOOxIE;jd4as%xJ)=`S|e~ep+&I5 zsFxjfD#jtoa3%79JpSz?m{oKvvPor$E z|I5MmlK6Fo%kGYulkjMz^}F{gS7fcPqMzYL!y9Bq4Of5NUk?Bzu`yj&>jdc1VE)N4 zk>2GW`xB5CC*SF`6LCeqkANYWlobne8D<)93y3)ib4>A)DckP{j8f8T%&+6Lql{r+ z&<2apd#Cbwtul`O?sv=>ELv2kshF`;>=lsA7r1NE#Kij`c+E=)g%_Z@evw&w1*1y<;1&M z=o4Ac#S0>ft3T2~7znA3JmUeuCVdOxQpDdy09$pu4nWN8h?*{)TN{BY zZ}u`kUEtOYF3ycYIycLY^Rja&{2P6VYv2DPGz`=-U(My4l0(yzZ-SZHH&Lm#Np)cu zn&(7lI}Q0;&G6>uXVxZnC5!9;k8pmEem#W%qQ_u7@(|3wu%wtHN>gMDWPY%Ml%yyM z-{W4zhh9dn(I9c}HN0a*h3kl;$Xp0=Wb&9YDC~64KNGi8>p;JQ!N{xNK;%TLkknV; zF$%2_H7ZS@TjVv*n)Pr?@9YoLYuMd+)D4s!5;=c>s;K`6ktpu3nq3L67X*nrYOmrU zgUima%WMldl`UkCf*W>$zgCQs(smQh>|-@AWM_;*e8D6d!`KLoEME+TE`XJdDnR!t z8dXq$B-=JJhfbmY)7{U95q~y)_R2oXmU4{>Y3a;OA@(a%TUfM$i(EBz#!Qo&m+*)y z5*g9czV=4ePX1?}s88Cf*p)qM=;>>QbPbI9g#^m3)tlh6e$0)x%m-|O;9ofi;=yf* zvD-B&iJg^F%b_+r;0M$F9s-Vu1&+xeJyMPQJ*_N&n-W7y@VD}9D9I{u(N9&ia@C}$ zYSk(VRb7uy4gWN%(NUiFMQJ6LiU=yUq{{KTHQI^v+oHb*&lb;AL%@CT+ItY+sg62D zg($KK#S)936u&825sIZ8{nkvac$2W4rDXDSlV*u^oXV*3^U@S!0PGz<_Gi-bIc5){nuQcSR(H%YnRr-}_y zg?GUGl|m;|xPnFw>5b1PY(f^{^i>g%ud~( zGn{2d)T5PTy&(=y*udps&4?)%ei5%`Dx0)hXEhnB4^^V(=VBw8EeYUVG^z8pzYQ_- z4&Cu94EDhP@hHA+aD+oL^n-Cn_8f>j;O!3^3NQzyJV+iweMwby)uR$MB0+RCl<>8; zO_cDfpu$le&FdEMc5T>cP{d0;65+h6W=q~k2%1~x$yMpG3ZZU!u696gX4yaOACd#{ z-NAix(?9&sF?27W{pbO`J=l`8O&z$dX_7u5hfUtkZ9KHOnje}${6KxBoBknMEjhM< zTCBF71DBDE1DpJu{p1lw%c-^}R2e6?UavAj%KB{xg-Uu2kaE|CkYt_vT0BlJz$(*+ zE{w9*S2uBXW7-`ZaTN`_HS4{40g{Rz7;*a>_F$9)eO`zbiVS6MGGvzLMM6StAw;4a4lTRT$oOgE7 zpwhyT$Sm{`X0^71)q-p99LWMALG%4@U=L`D=ux|3LG{8}+-;Au5BuE+s=AOyj(8+zZSC_v+^tMC#& zUz>5{my)YNYT>(4#d8zBu75*wQQCi#s{}{VN<+~W2y6iv#}8{nRJh{WRTHd$@5ci> zG3IaBFLy*>UlTQJ4{tfV_{k>qEppULVH=@J*z0$B?3hTC>-E!Qk8m@9P9h>t?^LS3VWkzTD2~K!!3Ph-QK_+Y1 zL&9HN`v-1gU6g=0r)fIYsbL%~>=Z-OTlArH#Jp;VSdVhn8U&oWjxs&|EQ{M zuu!`tJfE$F582i~?n4VRvzgC@Gak(E#{zSt`_$wg>0o`}ybTHmL~wk&yv1c{9qg!Q zMk`Q7LRT{;?cv!Y2(-Ngv7+Ps;6*aoC5Y4#^4BAoP!CttCooS|_yUT=)g>qjv5Os{ z%~DqQ;45S1+Bq_uJUtr{?%$MgpwNZNdWs5G{VTaJ^t{G#1KB&)LkTn39gz7^u2oi{ZZC3<`~m z6%JCa3l?=4z+q73rO8U}J2#EV(-Qm;FOZYH^lT36h^JBvy5l~6TIka7>@kLE4IuiV zcL8k$sq(HkDu`pwzq2T;Bm%ylMlOYj7Tnl*Wj*fhU}F=)(cCvuSHQ#=XK1DH89LM2 zx&pQxcTQBpYGea`Hq`vOV%4kDn~qNOE&mr>lWXF5IFZ}Pnux2isH2;E9t$M@5gUKn ze32lU(rTS8;tV9w-OSCq0i)g9nE^(brBA&o_~N(}+ARF!xPq3&San_rc;R{Z!la%;0GkgX&E%AaadKYFP2i8L?pq8g zwfAc!+VO=g;;v%8in`h%srfyaey>g!nv2UOzH0z_VQESI+LXs})hyW}t(iXbVsZ(# zLR(FBP*J$?znpjsJI~)u1cL{&HNbvGzB#9;b?A1uGb@PK;XHk8g*B6 zM71#V?Bu;GY-irEhie%qfiV4hJ8GekrSx;GN~I&Lt@vg<#d=D>QAzH6$N~HULn(`( z#uD_xu&)Bz=yk9q9&cT#1lp9)X*{lWlpEmd>|6=OdeG)Hk@z$(KMKxo1n5CvLG*)t(9lCF0@} zL@s867)D5fj~}sNl}eQrm0qn8OTsAtKg!dV(TKho;p^dvnkoU`Qcx|Fu@or4Otap$ z?p`jtHpxza>!BolEjV$NNii7dGker6&lNF0vtyi<69*WzYtvk#+00ufjM5@%ss9@6 zd7LFcLf8J5T=Cp+^yk;aIK$kqta6cNz}n-<6{D`C#j{(9wa5B0T05g5Pl%r;^bK*@ zz6Y@#uO9(;C;g~*^?Y~-?p~W6kG|Dp2|DePV^gB}?I55;Il^I ziCc26L6EibSk3E$R~Kn6fkEJL5z0)u{c~_@#+X}xOG$>!w>~iRLQ{|nd4%klWfJN zZG(RQ*zzj~(jz;?zl&5pd*zoI($APm4~M27R!R>r$K`8234YC#ho@HJGYpwcw!X77 z#V+q{d2)c~_Fl!`N8VR;dU$xsou%{bdP^8JZ<-E!kb_q`&Cilo9n8Ot8^p=G_& zp>Gl0I*PMGr@^h37QE7WjjH3Tcf4?Q1$6y>{|JF3!-EY$!3~y#d1qZlhWi3hhKBrJ zWEQ_vYq?|$10wqr?XpvC^_$3-$_;K=EN_LK*f+Esae^Og6+f7N(${!53oO~rsvF;H zNyD;PlyPytGV510EjYx2R1m_)U5%)M6O%azYC}HDC^+qTOa$K@nznKUFItjX>3ejG z%u6}f)1?-!gIHRA{|5H1YQu+%W8{>>$ODm`jL2E!k}^9?OO|PDG?*5*~Nv zs&Vf54Ynhf5cO!M7S1k}n!cwgnu4Wfd%bc!t+(iwrl<0y<49DizEBU4PwKyyIqmn5^3LtxMmH|FBpkJ$ zmf~&8Qs^aLf{GTT!!6xOvmu~N9&Hp6#(!?v2)qg&UWnxz1WTf$)pZ2$Oy(BKZ zqP4CGm~glp41O6%V`)>h30OPEYdUizOkY4e(~5<=4P@zprq~7oSi;=L7gG+b+|Ma= z2=*;cW1vr#b_{i-9?ubtdL%z7n~n5r_pV~r%W|^d4SDP;%(Y@#fT zv|G!MSWc2Ha7W6QbtUA!7*D11FURJ*M00hto*en*_459X+u$4*_9}FlmOF%SW`SF= zbh?;dRpzEEMUh=F9hvj!Jt9|;5*H&*QEK>EF9%TdmCJ}NLQ&_8SXkB7vwzC&I__2H z8eNCW*;KG4CH>2fzDKuZ5z1swUi7yiAAPw&)UDM)8M#qsR|#(n`z?OZL%kkRGGF4= zL-3sgljBN)_NL0O*;Z78U!8N4b96*{7K6%}2PLQI&*a5<;`a3^MU|2(877(l zO0s*J;~H_yA=;0k>117Ha+=4#6Xge89~xA{DBlO(9i}|BU&k&FvWBnz7tM-x-x&i!gbB+85vPPqARuhaKbQm6uXs0 zIB6V=>|PI2W50y8(-AO!z%jT-nHS8W{6l)zUs-Ocl^|8YXNkMQc7w8ek24=&905I{ z)vy2v%CS$nIS7Tv=~Nl`EaSZbUBq(wF&q}Pgd^yGRh z7}z?qtrB#>z#fy0AGT+pZj;o2p*`X5Ka}D}ge(_2@Jk2w*}d+g1~o=4hjpPtHlY(C zeGiV@-SBJ|FjbDVRmo5Y_Fni_IRf~)zscS4WZPS2Y@)}nZ*U?$IX-HVvH*#XeI*uT??-MEtRNMv~Pmkwu z_PlHx&{if*AKnH1U(H<-qXSuB&qR(-cd#MFsGtE|p8t%{0 zi`$A_xqX;bt-)jpL~#{rQS8I%a5BBE#f+C!udkOL7cR8L_H@+0rZf6`E~Xf9YSB>n zwQCR`wnTAf=Q)p+ga0sfv);L<-Iksc$S4xbsyrYoUyarx#|pdAqQO zT!O}>`xdS5jJiYSW3K7Zd=s}#O`_KpnyT}sY-^I)!pYJQ0mNk$zI8IZHfvLz-CNgs zOviyEi`3bAv3gc*$gfPKOEp0Iaa9l3j??rDki`nJmVan<|XN}unRpmz}EPBY%{+^3GSyVKVan|pKe zfV=9|u;T{C&Z;smy9%a8Zd7-}LVjRNj~b5i1hc-U4gsBEN6L&+XL*1uvx~!aUgtT} zZy;P59B;r~`47(NZ(mUX?W!?a-H$4vMjQcLvW)jBev+N)BgF=3pXRAwS+yBREq3@; z`yD6EUEC@!jAiStrS3TLr&A^F{c?}eQUcrCBtho$ybZ|>m7cof2l2^L!)PlXZBnW- z&Y;6iSxK@VL)`_R`^5{l^yP+{!VR>ILRKc!T|(Z0RF(jyUxns&h+rE8O#75rnlI(a7ZIE+`LffGsPsflViqHHml`(%W$Lq92U zh>H@EmA{%J`U_;l=_2w~#-1&7(GBKt_(Zu_iw2cRMe3-#M296-oIsPNpP7!obB|vs z5gE(VCNQ1J5Ku;hGXSrF8vsAzfiDSbpb6zK^}ZX=D10}b&$y*;@Z+ef^=sAE_^{Jb z{-B3v_V3GJd&FKCbhY>Mwa)O{!Yp-NJ%*~=UOo%J*o?fm4IuNF!V1URZDIa%>|2e~ z6HMq0?f~9V0b8Dod4kzSPoi9!P>sf!FvAE^Tgwk zbK+VMDib^KiO@h55wG>e&CgBscf-W$F-vh8=!Ki|WaDyc&U)tZ>yz?gi(gA~jmWU? zvDeJSl_MQ5-PWHtPCnYT-`w6Rg_LYQN4KQHaIaThvhd;gK^+@5CZ=9QEKhA)+|z-C~a&; zD=TnQa5KklyuW|+8Yv)wqrZ!b&zehoGk^iZ=?}mciXcwtv~(Yh+ocKHt%@-?3={mk zbJY4CjaJg@cfV1@v$9+*aK+sCQEC3BYPg}?^+>TA9-i>G#-A_I{pNex&u=B2yXd)A zeys4#MZ6ab^F;TAFRlQV^p~P9{U^!Xk7R)@F?;rlC0c*PQ;ApEfkQFR(}CnU5?a|u z8H^Javgy%-h3v+kj;O3^n%PfE#Z-HBMG3@&r=RR+2j~J5guvTV$)y~(FPssaE7u~J zW$y^Co*_F&GvF|+_s_f+&W*kK`VyriKH2%77+|mueHS$8iuwXz7>~LuLb@w(e{nVx zs8$?$bN+nfu5JxsD$JziRRs&~ySqzGc{%L!6Id|+^d-QQBASzY#7P`C{-bV;AL1FS zbsLJm0{>Bo1m8VJinH#qJ>v9Ke&E%s3;WF@@8Bh}lHQoy9hLB?Rjzwm%P)6b8eg94 zFciy`^W>^-F+k_Jhe@tb@Kd~|qII`V+8iMd#^W-(NC5O&w@rO(azQrs0#xR#rZ)7I zrYQ`o)n|Y60yEV#*?wY~tM9M-USb`K@Ug$NWz7&&bDEaC4F?zBn_y>SxkSG(Oy}-#fGTmi_YI? zN|MMcQshlo|K-uM1%n3g8q$}YdF3V6a-5(>&jZetgmUE3;r{yOO?BJ%lcQF=Et!J7 z%!IM(&IucHyx!=YAe~SFE^zIAmE=OXw&5W|*eP-NDEDD5^*w zOULRqL{KC;*h2+hau!pl)3N=Ga~Z3r?8_u!f`W)yL2R3??oGXiU%$r}k|m32Lioo3 zfA*U+9mwPzp4g%Y`{IK~?O<{AqLn;(SKJx~4z=lXDkCfD49$;&S*}o>Qg(D!z%(qO zkr4o$>EiXoyvbkg#X(!tr=;t$m#LM_Ie@qj;*PfQml}C3z zsT}S;A6etMd_OlEGRI|BrM;tfaDdnRgOKii7ZW%wE(Y5T1=@M4HSCxbvKXnVQ$kY9 zHQvN~>ic}0H|no0xl|PJDw9_IAwz(-Z7l7d)ki7*Uxuj684r;mxVP3xFg}Oo(=2z4uwPgC<{tB%U zcYvI!ZWW0k(wLciej*G>f(t6k>|#eh%SB79zW{fGfr}GAcxrT{I2xL81GL;KR~n|k zv?DILuF`G_6^H04aS>z>7An? zhKs@0si{zczVI<_<4kV8dqH)9x7=6m>yQ&G@a3uYC!BO;sNtq}g?rrY3rb@c$#H{j z{dCnsWplj{gIc}6#u)K30|XNb?p(xhvR-N1A``%vzs`vn2zJA#y4 z!9L2u@*>)pP+CnUmwSGp2Qs)4?77pB6~Q|=aB4?2#1X&_C9$+tUxR`qNi-XzADed{%#x>rb?Yp)sfImVMQk2&4~ zZU!eU9RLePmqgYrBv6G`Mqi3)HT_dWM}RQ-%wW3Ioq{}F4lX0>+tLk=(w~7pw(2We z8sBA5e8PN)=jsm*wl4$9x21*VAD3Zj@RFOtY8g<=^V)o%T>j40pVa-t1C`lQD+~~O zMu^NX z*Z~Cf4_j_0SL|pAC7puPI zC#RlJd7o`}y`4_dk5+66?J_6|uwl^R@3q^~kZ{o=P>@Wn_@ZS>t$(Lc4J;UTB32UE zyCzG#KKS*^l_IEM%*LE~6Ut$7vhoi49{a(4hjB^TK;*XVs#!4=P5T#z8b(-lR22!t zT62dXK0PkE;u}|%6y=DeTr9daSzWD)*}=ehjNa2zyK)o1SQ&f$fF0nhrfCZe@ zFNQWfc+T26^LqYZ>g)w(CqmpSj$IL_AN*&-F%IKq7(R8Xh##6p*>-)H~9Wday}8{gB16=%hsr-shxbMonv zVx!;bVM`4xK9K0)^vG?91uwmjn&I?BhFk5{(oFVBZC)gb6TVkZHX6=1#C0#rFkM-7 ztWCBfG7kzr1L+$g%c&h7Mw*d2OlwrPh#ESiALTt&dATNIEexW*eSXCQ+)4Z9%^h8f z-u}*6A3!*rQ#Q{{`BEXc?Q00v%nLX{)Q zz6BK=947ud@xPwGEQ11jNH@JE059}VV70*>xOHM+OY_;jW*yDj90BBVg9ny%CH}1H zfwO`_O7<#$=})k!)a^Q7$AYq-SdLXIS+6}t|s&ucX!R&`x- zPzx{g{;(Nu_2#Z*U8|xGT6z?tl#6vn&O<=<;slpL{hYbRNGuP{f;t%WgSaQ!xkZOt z{Hqu_4k;RvfQ2(2qZoa5AOcNaWc7-a&abR1*GOW4`k4*lBr87uG)?Aa570|+yhe!i zE9`{`;to!2_B8Tvx~9z~9{Q;SUsz`U5ag7@KWT@s=}LctHpZg zqCY=|APLj^a7*9Nwczx)HCmaU3n-ppITXe|)LL;##?_Hd$W3uPlWV&R-JbGR`2B0# zNkM(o`=TPPPA^lU~L|@ zhG*fuP0d=~E@w#~`s9f$4$Fmb;N@A`jqb}CS`YwoiRkGM_errkSR+IYtBIy)y*y+# zm<(B14Y;NUnD0*iqaSr${VBVjVU=s^49dHE(Aft4zE?okhnKfaQ)vEj zg!~hXf``9oip$;yewfBfeDFd|{he!{0*uaKuW2~-4g)KS>;u!Aa@>h3j^C&$u?J0w z>v$f~Y%( zxXvHngL#fZ(mxzI0nrjr-#@9yv+u|l-p9Tlr;upJDc_5~z+#Ma1iYvR$26X#l7~B* zd-jw7Y-9nOxxKWE{`F9r-je958OW+esxs=_qOXbCGF9b5mUtTV4^7LH7rPB zL#I1aQ2ai-Eu3FHNSh(3J8$(|H4lc+-A|iAsXN#5Ts;Va*w{@QfvB^7_E@$2Q`FGQ zSbL=pp6!PvXpoNf5g!RgIiLx^<&F01Au0RzBN z(3n4Xvj2dW>PC&8_Wdu&>5jhIQ}A~UVO&Mcxh%YPfs08vMM~wNJbtKse+Y|5BOPCs z+!RspTzKpV%V+#kBV&{qa?B2usv-_w0@MUB=aCvc>TTwt4x^d9pcjEPlI~K5(z@nd z?GN`J5g0Y3E7a!rA-Ut1J_MinXBnMHn8JG%nLyc)^4^-0CqouUXc%0;!p)wk_<{Vt zup(UwL-QC)#MS@;WujMxq!khzRRrp;6ZVc-}#8Nz6h0n+g zNDE~aoo9GU#;C3pw7se^KaLYHci2GGVHGj(U%&D6fH{+a^bJqs)(uJso;6scb-i>@ zh5CB)Nm8_6jWtXpq65Ik^{|H$601fgrB{~LGd#d%2u*^&DuaHip+}L?2No!8idKYi z!ibmj%djl{EA+yIBUC-=(;S29Z$^}Pz+PuNl1b_b1cJ;%tQbwYaKwcPXQ)~}@fg-I ze=w*&8gSVX)PIj2FNsa1OiO4y6SY(zB+;tgD^#)eH5Hyz!CaX&G3l21@KM zlO($+4ykUI6Ou(Np3MWwkqjGTGGUkX(}{nsIUs*@r)%ZoFEiD8`IkVw zHoiD-dAsD`a^FMh#%U0c+Sn+1WSb_2Hgx_gdY^YRIgz1&AbAI4S-C{-=T}0mzb)RY zK!x)>gl^Xx8zsZlber3s4cCw$yKF$cbdDnx*GF3xi|Hen!41l!HOPFx*1>X7)*NN} zwC2l#GRc28n(@U!;4iNv$MNSPvVs7g?FPf0oS-`lu0r|wx#mcK5Gwofum$0_UvX7_YXXp&^OA>smAUhP^qdoo7x3S$9w!9b&#F4kcm$9r!K_ zDf$UqBNGoMq`x$bQV&#i=XwNvg;OON$=0RTH4f4htxj(HL->bLR2v-G$ayfdkUro9);Re9N@W=uh7hvmGs!3+~CmR8GyfZPa_ zDN66zFd2i_*tRSF!{yMXR$(5{ipTyZm3Nbl>X?`pp<%yoB$q60Ogk(pvM+u;Uz~HR_@wJl)cIDG~X6BLj`jaDIqTHR<@mbXIAK33ZdJ(U0#B2wHv` zC^ayUvpXQnFD$*W1JkA3C_i-j7jZ{&+<3H*@;B)kkW4SMABO^f|ALj`S`?1` z(oD@+i5d+3ZdW`~ye>*@&>TXlUDCZBhBs0zgd0k#dD8_v*`r!I&VqH6pP4kCl$p&u zJic9FX8hgp-Z4o2!F_4xUU@HKQ8q>?d)ibv$IV1ES6I(tf{66tvu5#Y?{l6*!{V>p zYkw9L9t#Nz8$D^@2w8V!klMq%$zmhaFS5ZLHoO)RW*&NvKxxSut5CHMCk|aRtop=g z?hdwdN9_2C-^C;U@q{#i(0{~@;?7aZ7Ozq888cOH`$I8G&<%BHFsL$BgSjlKMx-R6 z7UctJY^gKl0>uR2=Td9$F`&^DX~DDEar7v}7gQArkA2q z%6b`3Z;(QcS)ee*uiv>6Hpw*Ftrp7etXh)i*toLV@*x@Zl$zG! zo+ahU)KK8m2wdads~qy3nb0!@hL&SIK-0R!>34}@>8Sjysc~~x@?~mpaA^dtbKf-# z^$w03SpJU}%TBi#FKQzG^AB2zvhfHCtAZqU+lA{{su4)#5rPmJ&~#DpvuuEl;x;_^ zPK_%yqa%gPIgT^##v1McH0=3~94mMncc5`6#`G*lhCt)uQ@X^VW0EM;ocLBk>7R>P zv^#du@QbGEZvVUXd3raQx4t)W>GAFh9s8Dq2icql6Z?e5{$c_$K1LX} z9Tb5xD+PuPI4WqxKj$LTTet}oPrB=il&D)qF@81Sv&j8KIEH4m_+=<})eyR73*yzc z#(J%ojUd@yfx($=MmDfU3LxC$usS<>$b5B#65gRgD`^L9S%f3o)mMmS80Y9Kh%agw zd3YL2`cPRXP|sP=Y9>BnPw87s?ef3|ijBna0fK)OlHJ@v_c|JEQPNMs)(?o+$zM3^_Gj<-mZkcX`9`q8U_jHp)2+dV9HK)zOZl$eBQmm}2eWG1{gX~dtgTwE*xNvy1SEDZ|D9FH zD^aRYFdhDTf-h{;+mT@Dd0u$}2CVa9G+%T%&XD-$Q=a&5-FqLXL=qK}O3O zI(l3oM)sf63wdK8Ik4k(G9S_6kggW#@PLoWPL2aP>ADUBPBA6fo zd9*1ANde@9NXL>X$GL-b4J2X4; zPz>s)&W~mi8VZc$UqC`l0%u2vS_!80gcMXn4I~>(Zu~QF#AcI*Qz1nKE?4#%(+W)- zair$XhEowm1*Y8jIId3 zQ32X{wJD;9Pr)ey8;0`aqDT?I6ASmYe<0(IB=n;~BS84`^U>YqPzL*$a^qwQfr(;4 zZ(5nn8W!?)efVfB&#RDvlepeN_zu@*K#=u*ZtFemH^D}NecTA9oi`z(vw_&{fX>r5 zNGY(qhdeo_u`sYm++JR-uR5SxSO+lmni%7S`v4aK`~|)Rr`BSTa6v$XD4ikqUKTSu zS^{G6zQ6K3s0O9Cw&RMh`oWkh8=uHB=J?+KiHnd#8%W@k7!Jh15 zUMpH={!3mfH`@!TQpU1`(R**ka@CLPzAQjdSRvA9T~Tcix<9u*E8+nDyCG}!AM^lj zeL_&f%aE}8H@ZL97A#`W_NX{CPBptUPpA z%q4%GNEM06!)(9bR?!g469<)h9X+8TM=hoSBR2f;O^cVMRGq6H37N`~lg04}xAS40 z(ADA>Sx`>X6VF09lsvT<;@{pD)ch#@>O!o&=Il>lMoW{$1}Ja%pD}%g*fmU@X=1G6 zHV-chgR-G?)O@~o8*g&WS{Ox8;gnjF+xDiF&4(EEB&ckJjHT2Wfp^1}p|h}P3Pv!S ze(){I6nRkQV_PYzlO@IJMse*Q=+gW=KrSuMINnYeGR+_*N{@djZxQ^=@xR6^S^bVrTl0BttRg{-Eac^`yHV`rHO` zS~1;x`}(%v*EuH>JXRn{>8&=j*({jQ5KSn zp#Q|78L$Z@s=$!ZRZ%W2cF<`QQm&U~PJd@i_}x=-@QS=MjT||!(S!!yUxyKRnXrem zk!yO92Eilf;M;NON}gdY$wtmYff9jM#t{GA7yf^6y#ahV;(9jJ1A4cFHbF&UJ%APr zWA|)Z(yf(!qgtv=W&pVvF{TN~LLHk&2U@dHE*Z}P(Q8ffeg-f5rP@ga6Sxqz`OhM9lm$xJ{EsCvfkQD+)DZ{e^hhTdDaHkwdE*IG6b>3Y7wQBm zMr|P=4(iU>>9-JkYeS^MH~8zpeQ6B6|BO#|e7N7GCC#b3EbUk3_)UCxO6^5(ts94^ z?k;f3cPvY)5F6f#>A{id3+lle$BhUqZ(b6T@U{`tG<;?YaLCm4whiTzjSxjeQ0c4) zZgSul1PVqUpDwOmKXerri^4Hh!98wk2o#;6ka<)4MVMsLu9B5XszBq3Fd0w}l>TSX zwaLdC(Tkg8aL(#r)i$lQS6NYj=W-m2F@X_)mfI3_p3JI=VO0!*Hz4v^ZbQ?_QHXy! z81Y^B!j&S`AO#iSH&L2G@Ib5KZR!{20fo#De%+LqMeZc9)($W&>vk8$wH&bXY&kGN zU()1eU7WHsGB?s&wQ9%N{hVlKD$gER--Y0;Wn64sx!ZTt*TV2&@kC9CA*`LXI8{kV zc%nsr$*y@T&;}vA^Hcc4q86zh%xUp2@wH-U@!K5DWdS;AlD9Yfdg>SDez98Hw{Dl@dEGC zF7vmoNrQ43yDq9EUGKJ7ClwwG)DY#Vt%dUXBr{e1x@~U7I2;c_5^TX#U5Njp*Ils9 zscZc2j_~KIt+Bh02^0g|MZ%Qzv+mSEc1YK ztdjz;L-)FXu-dQNKgmGAHC9alH5d5E6#eh2P`l07@aw8ukwahn2E^;?V(QR=5EXa0 zdF|FOKLgBui&4*n84?cg(_HWEHMpt(qlYTFfh?)9u|iv%@4zYb4g&IbPIAOW854VT z=RQkYr=rC+z#`QEm4voy328JOTJXVUg$&|Uu)-#8FMG-UHNxtHR;+P zO3jYVuaX8Ud5Va!x;EeDnBPP601gg>;&v>Tp58=`wFR@Ee$(x6D7ayMsudjdJk42g z-TL17<+JvAj6H9240WDKzha_UKEkzv6|l3CvQJaSFgE3VI@CiC?euK&9c_Q(i7}Psy=_HY1oJhX{1+D2#?}-r?;FoEP}UHiLKhQc#$pG< za^Xu&7TX9Dryv?(?q3W^mRkG($_87J&mZjR24lZ|@B7y}rxxHd`|rvr`PzhhyhFF_ zg1EoxW>z8R40;v0eH9$vDR679ATO73rPAq;d#Yv2^OD=Txi0UuP$}50v!<3XzFb6= z`zH5ow>yq?dh$dhupz@I>+67HyjQP2p>6!0tjA;D{0sTU?rm3?lyHiWZi>zV}2BRuJLz>=}zXcKWWC*#nx!2dr zNC{b3!_Nk)iI!ZO*;5)5dh6IT+NSbgw4xVpM+ZQ`D;aB>z)xqYX$Wx1n83$n;Ii_> zs7B<5|ByI1`WN*pb_gRIzrbE@aC%irg6Cur)2e;D6n4 zKyF{-Ah%;|RvmImuB1e_S62(3EwyPHx9(Tr$kvIjZoR*tIPH0bT%@w5k?dH60C*Zlw?Na?((Xos-{ z#tEdYNfq{h=i`9-$4k-oFj3It@B4#))?wGOIgJJ>%>>w@OV(RO%#``{U|1E~KW5MV zwtU{656nlcKKbxMUpA70wl70Nmis`5m#K7;X@{HlzO9n%e3ew#ACvrpjoI`pS)4V+ z_y@^viEjG0t&wG>ye4xQY+$PXrU2<1-NSAKm4VL8$E!iPGXu-fKH5 z+Zht+QSqxb1_|$P@F%f^mbL#DgR&#ys||H&blDm+S=$8|(QM>$agXJ}mk*B2)C~)?{b;lx+a5V^Dwx7WZn#6~Vv;su8rtpH zpU0aFc_D!>nM^eHH_VhggFfX%o^FDsIGiX;>us}sy+xHSOrL}0Tq4#&>qAeChIdcZ zd`br)>5>s1hIknNlz!?1JX0{XmGxM+duSFKPJiut2LXoqv6dC}9EQ{QGT&Dd_rBz4 z3B5|UFCe}5eGhE;OIaX9PFoBfpucR&^Eb{|elGGj^)x=U=FB|W*L@E$MJs(fO*K5j zRu8GO^%P zl2KlVgc;h6iTJybA+E$`8v}F4aTx=%bJ0?&fJZ&xPfDUPG1=oTXUuxC#(>C)f9kx-}cZfVYHyGZsZ_Y%>qP#SeSw{HbGyF27skXfb zg~|X#1pL%2Ma2I_5VY!-LdR zj9O_#BKFU=js>Em-=~}3z_?UL=l3d~h=9yxyk$$h8U`1Vr@{c;Z%UDce~ZC2FT??a z3Kyor{yi4aB|B~hU&{W)sg6pk@9G1U;o2K{_J?dNqncKCf2`*;O?En&hJGy(e{e7u zFxPkHU}en@ad)vi-X*Wq#tg)k`Nv)ZE8%^`WjMDTN;EcewVhysa5nwKH?F*uRuW3C zki<>{ZWBE2nCtD?G$EGVA;a1i1sHlHp^e@2`l99|mW|IS$p*8eb~sExj0AKCD-=;a`aklTIMTD-xFQld&QD#!y!LyYkuXwX(q$)7Jk zY2apv?v&|)aipe$U}i9kFp@b!Bk|yKNa;x7JbtOnkp1|z_(%@VWIi%C4jdg&_J8Se zEap#;ZgEf>Y?hR1F=P7Qr(xH4yfZiheH49L^~@KmVOE&sS8o0?NYEH9If$0v)&vWQ zuZb~XRVHj2NRLy-zUPf*zNuHA&Xst9@0pi4Ecwj^R%pf$*z5E>SfJUUawOko>HIROAv_LOvKYA& zHAi%Xcaf4V*s^RyRm5t!TTX&fKYU^Q?|grG!TI*tW}YkS<7;}SHcM*hHC_B)n>@eJ zBLUVe<)62I+iBA#X0}Pp{?R}8g`PQ+0;==Kx}48w{9*{LJmCm7sNn7eXsisXKJixK zDb5IROMu&2=;H~T0}20AkCH8b?>a-x-%}`F*~&jy%fEDrxWo?E0XID-J07tc6uG*2 zid#IYkAC@GPDd)IsK;wBdm@=Q6sOT%Yj~UzxW^gxm1)HvQYS95Ss z3K9tI?05%}FWfLl7TGvS&+e%cch1}23wj`mc>yNhwSwpTKbM>3VQsG@8Q-B*aSBjmcx+9;}C`bbkQyFRV&=3B( z&KRm`8>*v4lv{xST>2?wDByA=AWK;BK@UH2_xX`1%%t7^&%*+I=BTYT`q`H-zDoQuwE;dgyLeywIKZK%OUXSOd2p z#MPc)hHHyBDI(SbR|Pi-`U(m9_3A8To!E*-f$NuB^@R)vt z-T{7?o7<)09j&aBRn2|MM_FV~dy73W-YLXw&TOKcb?m@_Z`<*1>zMUTI53BF?<*@; zrk22XQV(c60ls5^N=nuN3zS=SsL;>1yp?j+t{)_1wMp6(CI41~+sT9VpLSYtTsU2j z-XQ7-7z|*XB zC?e3IH^Dp(2r2!$W`G=Oo5xAXCto?vwJmmO+uz4X)lm6Cb0JcdXt8vl?ZMfQ(Cw&> z19EiJiYG^}Y*@O$&1u*YCW?_m?6jjgVfMrm3)gUAS=iTd&pwO;HAPnXo0YxIz5I)e z%A{uSyj|x&Mes(rJzQP-1+Fcg_Kjy}ujCN4Erd@|x`Z%k{>#A2h_k-udA1Wj3sAc3 zUWWdclcm-H2fW$S@{8_QCyka6{ba@2+!1dab-7z^W_NwA(99guW@@VvNb{qtE?ADh z`)#L;U0Voux5K`%lehtz+nrU_G8VPYOr>f;FC%Kfu`lU}kdGim*B!uL3BPSjG@%RiX8(@B?;Ae8o>_0(gCVS=$y=zwlSn0W8^bGg> z{TuvI>)Wk=$+TSKE8oPWPw@{qrkQ4kMwVn+zehemTz-{|iUcLPhOhBfrh4-P2!bKp${IguO7cfgtaEK$dUsLs} zi`wMP^5;U}x)dJx@KTAUu!qfRcqcelBvwP{7x z)$D-3UU2#WL4rz}+3MZq_`YP<&K!5S32IG3ZR43DTbxdtJDy{IS%t12P@#v~?lm+{ z@j&dt*cl?;HHSaITPU%PzxD+2*z#KlOhmB93@YSS5$118T=?*ZNYaGuP{(0E#G5ub zYEj=Eu*_VRVeI3*ijaplQ}FlTsLI6Ck!z#nLb=^T(souzx_^;>Pk3?!KvASd5vHDN z^-+Wr4{98FAW15W|7*6?0B&onD<}j~ED&_5D?e)@s;oa%JJ_bz3=xA(Yb{=VSF;dm zENb%|KkDcOvSCN%1C~_KqSFbZPaJ)egU|Z|{eyK>g)2u9vY(>oxd7s!PDm7ix}!-O z;79IY?QXCg1rbfDP1TGXh)IZ5TkfYJd#?8!CKMYjop@XC2 zo0V0Kv8|*_AQLXf=u4zLv6tPnO?nfz$sAJX2}RT53Zh3;)@wPl_#_L!Ruo8h#U0_T z{r>?m$E(vS?g5+SoqeHr3wi$lOBX)#aksxscppRr|hJAqp6#*v>o^UUF*yBNah2I{Is2X zEP?(=W5ch06YnV#{n$oZMOz}N?Eq!^lZ`aWqs1QP-W`d~W_dzVgX2S)qR|}*ZIWM= zpDhLouhSGH8i!pQX|&tT-Rd-kY2SamdLQKVv8y3XDR#!SRaCN8!mu@b;v2&hD(4#y zHYrzdT|yx;Ismv%nciM{=J>IU$nFDud&RerNg3oI4|8|rZO67znCoBnQpAA4ze_`uy(M3K)@w1}T$-FcU?l4D_JNC;qFcq|PYT!IM*16^9euG+sXnQQ9h2l9g{Si@{kN z?u9;)p*K(vgO&Nkq`oY5`@;FfZr(Ir1&yE=>2LcppZKN&*NhvHX-pR3q~Q7l)MLcZ%3w4J--zu ztkq(L`w(~}00qS&EV;DR!`u@(L(T$O9$rTQtqB>*PipOz`1pFBP>fAP?=W;%3?70c>IS5D0?@qgb`J!1U%L zb`(Tk!)HPqq)ELQM}yiZP`Zj9>UDLHI@1mkbxN$NAUmfdt*Lcmp_c$Og6yb|)}LQ_U|(Z*`6<6Tl2NwI9h`-pu~K`w z&_xMf-ms)p?wY1tPW^3t@VVt`9&UPL^IhSH94_dXapA?Rx?Dd;0T$E>8OE;GOe%4b zflG|t7^2K7D%vLKgF`I~{@e)FFDdn#BPPpo5mx69`ZdiO{-lbs@zkBczfzv!WpENR zM`fGGy+<^pY3|)zo!3U?Sok-lz4EdtOOquIJ8t(n;++5xas6$}k9$4>q$oeEnGqvV zCTWAz53f&?29^WYFDtgJKe|N_bqeXr9_Ks>L>OXVDln(qs}BU8=dJ9L25asv-bnz` zI2$*zR?EZB?vwKm79>Okq_Ah0xAVk34{qES2HQZ@U*JEyY};~K5hi(oyNWIXSw+RP ztlBp8OcxiOSLxLcf8A$j%HpP0vtu>opET8@^z`+gy~6INtia+ifmt*B@*a4z$q2jW zr@;^79(tGf6UX#cv5JdzsVY`XE(IOowVA{l+@y4dqQ;n-iyl)I9{xxaKNKtbKANgkH@Pah-9KF%s3t%~kHJ{+?K! zF7c%ft`4By!%PLg;@LWIxx_q4^7^`P?`h1(o8`EH zb98%BFQ44Y99izQ_Z5v)M72e*>LU3|uT{u2kHx6QM1!iLIBz_CxaLn0=l+jAf(()g+ZoqUAgHf2$vG=`D}X1@SE8i?qY2=h($2AJlz(K9+X?R1TYpmc zbfv^$XA-KpbnZdC7px5)5fKWdx6nkqFOU7Kq`-B2%vLlU+vKz8YOzs9^a#vLVp0mYVv_3uKK!6Tru@vo4htTH`;_oQ-R2rW z0|wdj$tCZ)#uiVH+xkLFEN?&SX&^3_?nP5kdN{b(B8PW2*%-5Z#{k;Boh75SA8PKl zxlFghez-<8F^`G$`oE9@SmG|*eARe{V9(C1+`KTxrHMFazt1g)H9~bJ1LO5)t@RP% z58E<~tNIp$-woSGFH4Mwch9^j_1njJ@#`AW{t;#gG`=%?=tOn9L_K|O04N0!t<_`5 zp4R)(3Z4afwF|e)<)4Dp+z9^kRIGbx_Dwp5RgwV0W8Ld2NnB@j2kOA3has@#$MJ>v z=st)Pc*IsP)Uj(JMQ*=8awmkI|0FM|_{cU54n)Q0iZ|k&$9S?&Hahg~neYa-?_|{k zYmpFcTFbmbZB^%r6Z(jyT=T-rqdSPPfLQ~?XV{eWwDB)ozWy#vCZudCEF-#-m>YG{&+3Tym_Wy5ag$1&kyb;Y?eE@g;5e^r_zv4l#)$A zq|D;&5n|4VlgIn{qfm+<%(}Y-KR$#yNj>KHNg~k$8b6*qL8WezJ(8Q2{TWBMLzi?oiGu3jP-@K1Twc z=ARUmt`&zyz{fi;gSKa9(g(kUDYZHj)xoN+Z_I7W`#>1R00h|I8x%5#o1hY zj+Z;%oYqQ6YLk>@C9mHE;Au%-6sx86!ZrFbxW`^J40VMnnWeZmRk)Vf*@>jSgw`Cd z-C%O+dCLVNknIQYS-RUt<=dIBqsqbBF{<%olyH#eV!LY)Yl}!*+8<3Izs)6*=xiXa zd3y~xVM$TU#*@x+hMnl_o#BDi4x07MvO==q0xQPOp?PG4MSFkU-A6lp9nMwUjPfI+ zf`_?C(>jy9I?>?bc1W;c;o~CfW}C1zV_?DJJIhoG35GwObl*G#4Z(f7&)H z8@uxc=jbAA=2itbO5Qm>4MM%6QDs{7-1TNTW-9*}kvw6jwQ(DY>z+B^M0l-Bm;VmU zU&rF3FetnSH(UEVVCB7%fb?aBVxmD?2?_q_>D`KBwMs7>>e(B<1^!`3kd~+qgY!>= z^S1kC17q2x-7#fd3kv^3YRhRBmJTE6$LT^O!>CK~rVa4^lyq*c0`N26>ljhj16z^{ z7EXU}udT;o&c9}c;z}tyc}KvXwsRW}9r1c`b{-QsIqP1haXOYyZ1zz8bfwl>L{DiA zkk)}lZD_86P?TBTTR@^GR|6*Tkh7mPUc^An7xD{hjXDOUpDa+f)A;o@*@tr4ar6br z3Op1Z`qRYUjk3t07!$A*cjL_fUFkxnN^RH7_J1nsRd(<=J)a>IW&x>a;jKyuZ$c>?>KMlSxi89;P_|jpF3OlmXPmzT zBnNPnvbwA`A_QBb)eO5cJC#`nkH}{jeGVR8qBSix-0IGyj4MkJ%7haZqf@b@t5R2T zpM_(DOm(t!|F-0(X9)--eE%%dQ&`JK5ndqvE_d6lXF0*h;=C2ABb0-I0EJzd$UsH6 zA-c5@;ucayNh){--qKv){$rHnXA6)r++x3&A6DPk^9O?;`b@+(=)OXt=cSh3BmOl^ zKUMMfk_Rall)o1L7$GaX_QJGj$~WDEXl($l5GOi|DJ~u4!GAs!=$#$BwB4woz$MJJ z*>EyjdQ^=D#D;rGFsF!2gH1C593u?b4S&CatinUD;EJA*0aK#=VjPYbX%eyEI%xZJ1ri<2V1J6)dCFcS2-}1O!GFT^vNQA-kA|R$iWs+879-iRWRj2)ia)I|mni zm+Y_U2bPm`6+*}8ZP!=tSZ*;n*j8ij$!M}{4b2A;2V=DJH#^-dS91wh6J#M=54*dq z6;Jrp@ceH*t*iEoy->E49)so`uQ?**i2V=jJ8t=pVMeD0DvQClzJDs&8!Ov>;N`23 zmdP?Y0JJMc24-{19YD-QqdwGxtvGrb%eUGNzj`|5%a6_*F8Z`(GMc#FT!8v5o*zBe2tg;pQ=;Jaoitc}iVedd;P zMHxaYNYAUhA?DxXMjAf9L!jH_z*aX`TW57d-JctfJ}zumnIDTy*!ZJ+2?%McH_4Y8 z7+q27W}N6AF&0gxdCe9f@b%r4SyNJ+-;qsx+ridGO1|6t8TsoycZXyYD&QyDTA-}T z@HM}n^j1!!XSk5(LR-5Co-)p9Bkq!5kBO3OzV6hf?U`K!{#tT8zaz&FBK(e=(yV$t zvRNBR{=;l%U&>96F;(#xwu42sWp#8_{*n9}uQ7wm)9K#(Rwp==YBK&SiN)NLud{WU zkI)U;hPcQI5|5E3B^hy%J8c%fzQ6Id0u%E2(Pa>s%1vi57PyQa$8OnnZM?)OuQt7# zA64Celh;ng1KCqQzqXeiW<%CEUlHTZ0mfo41}mv}NZ$CiT0&_YjlV1VoD=r(at5xK z%|xOeX;_=1H{#96w^+Mzs)t+72R(`__dY~|>-4L~@jv~wN1yaBG`9;DtlWrY)e~Rp zKjDs^OefEJKV0ta&pi|JXQr&IWjSGs^HHbnvw0zB?xo5gumopx$ZGSBh+^MGRBs~M zpMKSGG3;*Kz#R+b!EHEg8uBs>%l<(r{c%qp5_QlH;2BN)p)F|U3a3{mzZqubxRLFL z40*3{Vy;If%8S33d)w;varXCjIfrIq!M9a?UVh8o<4kC)J%K(f82)e2(ryO3a&s3YBm9}O%`QW_+rVujccA9k5cQlM8L*8EI| zyjWM?^5=8hQt$3I;gHlZ0AG52ucJD&r@Lu8IoRM>LvwNYURU&0Gnv4c9@Tt;NZR2eXMsxnOl8@YYXz7Ws2EE|nau~=LTQ5lfeWW2z z?|kz{G(*0x>Y2YZy$e)4ebS7O>(-kJdJ9uE&1|<5y!}wIvPbs2E`TAB*$`Vx=@ z7OB3)J6v)a;d)+VMwwH(9#t@9RV8 z-?ZnI=>TYi? zPO^)!Ug5AEK0aM^$x5D3{dw+F92oMV_dx4k9g4RoD| zI#z!6)H1+Cn0i|!I_Kw<2fxaXJICuGI&S?)X;aZ(vjP5<1st_uF)hPD|12r%uWF_L zMbVn%;sn5m&GwRRbxfsO3bj$P$;U31mXxLY$+*soA7S}*dNE+BuzX2aIkwXj-P{Ne zqt9nzr5*bvbRoxR^Sxcc)ke2CN?YD)nyPqJJ}oTI%GdTX{lhY8s!G!8n0z?BiV0_W z`(J9GA=Tnbf5X31CLEJLgX}X`7asekScJlU8SGx^4gZI+s|tv#XWGS~SaElX6nBT> z4#i!HyHkq0dvSMnhs9kME$;5_4&T!E;=lcG9y0UH%%083BumaoqPusWe!hJR)Jnb` zBfl?J?00nSgsZ?PAa8o`D>{POSQ;?f(x7dP0I2O-eJ_GEGS2q=ie*3gY8Qj@y$#E& zje0+`>ZDs~f^7bep&Ddg@2J`rK;9_Xe1oewLKqTnB#VrSr}B{DQ{u8e#mtJ( zdPwK|zq%1@h1s*uA1abdSR_x50*<#*xZTTFvl&x=y~fO%L@1jzn3MWc><6EEDS?GS z17`GhG&N2~^zd;Y5w^a^*dy@Tqrb}w{y+(9BOuH3DBlgI<+v;SLPsR`^>R8=y>CM| ztZn69gumZmc_Uw-m)T*Jfh3P4eKe-~`#!T+r8~J?BxA1CGdEu#N^_YdYlef_W;`Nb zU#SD=ogn+Z4WWT&-0MN~-jEX#SrB8ss8Q;Su)I}h+*vZm{{3~#)5fJ)NE^zPIT^QC z+AMRV@#$g3IXEyrtnAYt={~8)=Fd4DRwqNwS)v-=SDCZ)rlMu-t}Ufj&hlnSjv1v1 zA*H*~r8CKF<%(+D+EGl(mxTijCPjqepr z9m>(=+TB_%c8%5Lqa!?;jhVB-npC<`>CH8-=_&BYnks{`_0UaE^mH^m!v0K!o;l=d z2kob+NCQ`XHjIlzgo&4nV&XDnt%mm8*K2_MKDq|Qmw5!+(@dLFNTW*2OAX|)!s8<1 z&f~6?Sn1lL0^TTXwPpF%>ubk5`->$2##d!UmmPqnE(QgV#YnW2ISo;anr=cnff|Sw zqe8>Edjj|pC0O|Z(6rF6%opt)53VJLAh5BU$@ZmdC!U)Z zYV5hw5}~Af41~o5sjdiH6CpYAM>3}SFGimq*_muyI~%Bi58DGn2BxNsSKZ^%qi0nF z9xbW$w&tWD2AF_4QSG0*yq z+dH0xTBJa^xE?+_MB;(QSz(oiQq1PrRmSbY!O8|lS5JrSNBo~0qHsI%E)HPgz(=dr zW?;=9Tre_QtN5jm5d7Zw+?Se*zu)!~TI!AK$6WSI2>70Vru6NgQU|=b463pQ2TxUZq)$2Icq#nZ8|3=5x(`MfdtM8+Ulkv~O^(5RRb%_N`-n zts!hk6VDs&hArckwA~vnKy-htn2=9Aw4eGLyr7gXVf|H5Lc0L8U03znAMa3oEARP~ z>Zl7<3;HctIau6)N(fG7OMVtyj2oK##4Ehh#{IE(#a;whNh6 zvWicFrERvB8FB{8&ecH#a!Pk^x#*PCC)IjCnSl_P+4lWurrqaf-%PeWK_?y@v?5CQ zA5D%-qAV!$0WkBow6O%`$CA0Yr6soB$Yehq5deQZ&d-06TLqU?u}3enKpXWyWAm8x zBx1oXuQ=O!>f-QBz+j28!Mfj$U_P#@h{BsqtTmrvCt~0+M?c%?1PcAt7eNe|QO8Me z=9w~QHY6VId+g~Yw;1oy(a`C&GJ=7AnpJr! zns2?|N-oDU@-~@{bYh-?w60cPhd0^OM=MbT44WHBG}}n6kQ%IO4ER+(1Mbj6TKVf@ zMeokZGlfbxOJ#o^^(5-4L)93@=~SZ=ybMm?{)vctU*HS@r!7n6rG$%`^Xx(VH!GFU zP;Ni7$*B(d54%CXDOd8rKh@1@_$*^;iVNKGeB-ibR}BvEk#^Z1d2v#0|55SVox5C4u{{DU&A3c7bYo{hBK;X zZ&bt*Nx9k;`A_MMo`t{QMw*we27*odp&)-qwJq;GY1Tuwzx00>A)ptjce{3028^+; zR^H!}Vq{_QrazTYT$|hZ$*rmtE!W<)HbgpqgfrRTiM4=WvAda;p?y z;V`SL5chd%F-F$Zr5I_cRT%1q^J>b_`GwzQOoa*QubV;1;L(HUS#H@De(G-jS+Za> zZZRgXhNHs5=lI#za<87}yS%G53Z}!{V~yQzS!=Pvd8Y~suXPgX@kcnD)%fG% zh8M=rdtC*R(0M(ukR{#Ma7<{GRcWl}8*WWPo!BAH>o%@Q>`<%3O#P5H_JBrk- z3g=~_aj*bmxB&$gzy`Mkett~-uvL=1_VcfYN-bm}y8;^<(JSa*!HPYTa_%|DizuJ} zWG+|+fPq%t-)Er2z4CxI*Qu_t#&3a5aC23&eO(Tb*x*(CUC zsh`9hUeo(>ck@2FpQ~vRQyLh}$|f+`G=5dOALO5Ey|UA=ha;Ex__NJljx*VA^)g3< zNsUX|NySYXFz7GdmCUJ%EZk1`G351R@O+|8O})H*kv@)Tx>RO!LeTpCR(+fsjsm6t7vmWkI%g8%ZQen|<=KnXg}_hXY47L(GBu zwFU{bW*VmISg}W6e-z!1!84y_mAjz5=$cm=jH!00?OiI~ zre2mfOL$ve@JU^4KlP?nx0IAX>T{k4^@RF#8$eH#JJrdWV#^`oy{}C5Bs;XJGW%eF zR`VJ3#MA82>bzP;_o4w=!)1Oz-qr8`DA&wt22)olj(#|!mZni`PZuAyl-`P4_kCNF z6oZ+E1^RXIQyhA*ep;R738A+Z!WQm`y982XYCjpP1=vdYPqJV0mZFllMbRD*2T#oo z?Gf>%wlvcE!ELW*)_M2hQ_i}b-z|7gUKq?eIOV$w-ioe_a}jicY>7wDivfwLA-~;t zxeEjp6N*GdClJN6cGyG;wB!APqCP@dKBq*G|^V|&{uy2WG?@S4}LTbW{EvW~Vtareag0&Ck2g0)LAT5sOWwZZjxeWK&C+|&qh=HT*LbkReDtIUgS%PX#KmL?PG((T3I%JkoQ%$vu{2r=O$a+j-dy5_XAwEf3-#S1nE!Ix26`AZK(KcU#hM&P(aJ6fuLW&vk=Q^% z_bc#E4DL;d@RG??iBeU-hLbw_{>(Emrw-<6^9}Rr{ZS3oPyxr`ms<@d@>Bn!GRc*l z$_?CVv#>B}g+#FVmyrjgU>AV_6~0>ye+y6W=U^RMu_u?97p7pCd=!m)(u zs3JKXd)3bk-y$-jqs?StwB2ey6_kGV zVcVHP=ktlh0G$F`NJbwxRa5fBoQ-#V5XspdlTetVCqt=?OO~rRThP0U8=fF~8ixC* z;WB}*{Ia?ww42N9wRT2rNePka3ib`S!9)Ble7!ejPdDLygwPLbzV&ZtI#y;nQ1|<$ zX90TiL@I(q9BSSl==zc=jc`%CUm=y-62Zd^L8Z(_4=$z3O2&O%Rl9hUIyL2tK5(4=8UI?N2JJ{(fKGmzjQ?Aq8uFG@J%Vh=iN*wRfGto;#}yXlpa>ni&ED;H<+qo z2WkS!q!kuVyiiiZR+%V1-*uA+q@~M4Gvn#avABk>C5AFZDzMQ|fEm|O=A?uGnMk>V z4&CnYDH&!{&WXcGw)3dre_8(^I76x(VzMPRu&;RiLz_2kd1svHZULo}6WZZ*HVRtk zQ=rT+o6a>rqk!*Q&muRq1i)uLOV;n&8r>N3mEy4b3H(!wg9ihX| zwh40>?G0 zzgEGPP+>Iv?JD-sr+aS--ZBhxvbxolf9JbOe_3M3W>{sI4&s}^SyNI5c*&6>?wgmi zNpmki^)i4rao6m;0Rt4em`UHPX;Ba(r6oDg5}Rv<3Hy(EAwH_d2Aw8be8=9->{r; zb{Os}H-ChRj=AcC-wFB&et9a`baB8_6W+FiQgqCOimbB=(RdyH_&Gf+aOuZMK88`_ zSAia^$_w2oml{Moc?AN))qkg43guzRV?U2+2;m z5f2xow!4#dK zv7~1NZ}36|PokAwd`7XoC;9Dve*Aj-XQOSYfX8Z6R(>~4cer-hiddw?QJ9?^@-baHA7)j=s`+RiZAlGf~ z3R{hM1r=M%;>C2%%^k+vOlD6n%tPQU?w@u4Zbh$>9vj@TerpKlv@rioG7C}>r6^Bf zqH2?hWJ?`G6X85VJJ|K)!TK60Dz{zXCucZ)l_016%hRq*IJELtv1dUpYL@OyfJS~P zi$!GAUvo+J!lMSy$cH5|qJo z*Ogz_lU3FH&E}KG+P=p8gZjMeRE`)LvQc0B7;NZb*qr*#3vDdREw=%pE8OdD74^mV!pg8aFF`FdQn}*KM zZG^(`%owxm6nXB{JMQVJZ6I ztCe_2n+ZBUoJRNT@jK-=qm?8oGhCLg*cJYDk2BL>1blt`=?x%PSB$!5_!Xa9rS;iL zv7IRcIx&x(o&IUzp_z#p+%o(5ZR4PsjUL>xSPR@pVX7q^wmi1+j=qePr7r;VTEGO5 zL8q*B>F5edc3zR98eJe+uYtQd{ZM-dGO-crkM%dL<>9W>61q(K)D7^XxxduadjMNc zcco?Q@OzHNQ#xz?N5I$C2Dj!X#Kj}uN*r*S$@8!GO|2D?Hu~;MY`#_(t&MlSe6s|x z7gtYrJ>1o%fP${Xy3;@_{R!s+uH&axny0S2+a!wQ`R&3^vT6u46I2c6HEmjGPw6Iv zTEu}}j#yc-{X0^-rHs224J87suys~rO52Oa^_8+E#^_X)BPxJL)xaZNr)_IQ%ykov zAGs9vf$BbYRc`D?YPt98nL6S+2bLU!^t>u-?)-T?O2iQWWdZ|I*xKI>wm5Nqi|OL& z*AOY(D5mkXa}(hZpwoS7-Ci!Pq#by7`_A@tfsJa&(2|U($JMPiItvnH8y93>szpMy!xfWD{^a;X;^KfGq6#j)Q~55 zh3iMkk@v;aA(3{HaivzG@Xg>R{ukv$VT7R%l_>VI_sbb_=d)-0o0jOK>1*1odL;jw zE_%Uz>-$4ir#!Pl#;jSWqUP24=OH!q%StD@vi5*p33CeQ(%(~SV3NU(-vBnR_X!2& zWsMB5DSU#v6PY91s;$FmW$l63OSxLw=Pu8Q1?pr|jsC_oN#UxgKDP<*b6}1$`nwd- zxg*h&#{)<+)$)t{ox%j)e%(I|@=V4WC~V*IM+1B+aqXJqlXl;J57o;Ol(8$Xgr*g5 zvj0qX+2n2TeIXgCTQlYp%2u*AGxk1e<9ChYou+V6*teJwMhZSj?(#pmfSOb5CA{`E z8a#ogv$A}@(*aLtCRS7KrI(lB-!7(~-VnZg#s*VNrm0N>j<&!#kntX4E}J z3}dllT_1M8tlO{>R$3KPw6RCgPB7`GGAx}~1t{;Aus^+4mPMPzC-J(B*VA}u<+cra zI6f&UF(@nPJA7^qDdU`CUK8t2=-O<_nVO$%MtBaFYoay_PPA(%t&&w^zBLs7nO#~P zidD04)@jqEkTM9=y>xiskZsFthZD`~L@vX2gwvba%io+@DBp6v#Z0pkPt&j`l&Z7# zAi~E^-aoey#;nTS>f=PW>{5-<{Zia`&t%aA&|;F6CxQM6STT}a7iMHCon&JS2r*R_ zd8xK&NF2GTg`N-P}(S0B!Op3N`B-AN!;Uap!E#^6Czl`5h&)vniK zBgGV1?oi`N{cF*&{>WJb11_*5NN5$!0(qDKtb!>Lh`_pLm~w)3e<++GdA1<|+~V&2 zoRPcoCNUTyy$}YWQ@(PwPfoh(UcS_R{cZH?a*|{Q0l>ZV*K!n;olVJp|FXLLI-_%y z%F3H^ksAJDQ&@#r#(0BA*{CC3__w@g3#ZE_hBPWE?hs#tqUC_HlU>lkVze1<2dt=3 z73V6IXl^Y1uF) ze;R>XU(FA@L(-(<1f9GS1vlmtL`lIkf55Mxu`AEp0D5b;+n!slmiHU5xMat&f{;7b zcP=*vo~yb(=(t2|2z`pq_*nLKeznA$PSenOl4CJ;e4w~a91*?3Jl2FkUh+Zao8**7 zB21Gvp@6ZZHV<{{rSMq$-E*7fAD23DP2f0%v}M(jB)+9p!Pn)OZV}Tj4S=)27!VvkQ4SK)+S7{L7>iSy5SonhYb zL9_eG@0Ucky}KUGnzNqj zRd#z%9dR14nx>s%JnOyRdV6;a%ul51)Rk0Qf3|9PkaddF7I>9>@zX7`rQ+rIiWHqC zaD~Bo#IG4F`;a92l%)CKEOVK~dYLuz5O*k->!f2tJpC&AT4r~@BsTl1JkMvfe4u}d zA$e&^}14M?e7r-fnh3BKZarY$?$W8G(*R49#_;w&o&B#SKL@SN>y374yRx;&k^Y&5v$r*> zOJu+2ZE?>8SxwNY8c{Fuw^_K?AWG_WHj2U{1?POCy|&6E*EM#RZ_8sUN(obqEBXFJlVR>hyx_ySw(-0W*gzvRIhWlLqM6FR=fqzV64m6>B-deWwc)jT# zTra)Uf-Y|{EzTMrIA)cuN~?3aZPuyueg`dv$2u;wE-0yWBDQmb$PB>cj=(F{#eHdl5vY0%z5@=SCXs;+@{*p<<57v6}DBZP`tE~BNSAWJs!HP zCOxH=J_<_-d_sXSMv}|rt@mAd`hoxwSbO%1l_LyD-U=-T47ia6fZqnxH-C$zep24) z#;9I9C)-YI1&Gd+oe{**hzhW)vIUD@>RH)kjQ7=xC3@QcXew@NH~T6GQDPZP9bvOr zJL#08C+izlgdP}eS*316Hu}#`Y1GSBO&5Q;Nc1=>nk^Ad-kkLH@Er9o+v%+CVh1~< z@LD{ClS)uThy894*Cq9|@Ur|3?yi_3o_id&Ud7C}SJ8oIYw7)1(2&-U;4_=h_DcFa z7QGYE+iJ9S3*|`0R^S!eWg!l;!*CmU(_0e7qsBJk=m@1deBGa>Qyll{itLiIem1(I z+v1kcwFMa6mo>@32iI$hU$h=a=<*i&ARN8;8WnuFi`W8WDRqBTxTS1#NLLL-^d(GX zi*UXTxt-KgdnWg%J!&0z+9YUn`oho-i)A3+%w1UDGA{A^srBl%Hf*6Sj6yf$^<1$r zOx;AZ*HTr0%ow#3yFkMhO-;(S^K*$Rl!qI=sBks8-`8*IL5G0U-&LZ*GWF{0qGhHx zbV)gX3LkyJW?2f0|NhD4!gaW1sYg|{8DuPay?sHuglRqxaz(%M zK{^RtCp$8hZs#paqIE9DT>47P_xKW53Talw-`Uxg*YNp!>+K_@iX^EV*vyV3k-&TY zAMxjBh0Nur`ra&W()!JDJxi9QH>1BmUR_i3+ZM$RHgs8OE4N!uVw%#Ml4k3o-N!pc zaEqx>LDMBi^IxXo6Vd%kg7$RxeiHWJ^w>ji7Bc*bRIHLTe6u^mg!Xs} zO|>5Y_i9LC>L#B+Uk zK1iO<@B)~+Ez}e_RfS1}<*|_4tOa zDzE8NxwSnS5}#Ftx``*>RxaD_C_dj7pq)Jh@g}D1&d-Q_M!4g3g^k#RjPEG;mo>nx zkKL{uhITnTVo?Mcr%4r)MLzmrMOSXL&}}H+5RobEkg2Kf_voHmTl|#=-&%A$mKjp2 zUh5o`qikLySwZ@;TU&bNr@d76tCI0q-FnLRmco(~A&b^zqTftMU6w-hx~UBSBx#j!sr-F>r=8Vdi~P6A)AjeBWG34f^vWpsh76 z=Oyo&Y62>A(?e~8fv)W7stWX-NM-uHb9ud(31A&a?qia_xNy1!$N~AbkXFSH>iNE& z*}cH#G*0&s$Ptpv917S6uaVVvST_B=LE#3?_TIs!H2U`wj1!T}Ts1TczoT$lH-+;c zfJ`@i?ZxNF;zL*l2o|G%JcgCt5anEPly33%5j(kBu1sy9Xr3S7Arj>Xd2*f|kU0KW z&e)D3WajuW5yj&+Iy$+#V=s=Jf>Yc%NWf=g@DNeTYowd4OYCwJqmgs^#X&p__==R1 zXglN#N|MC1A!lpDi^jnr=jVX~>;2ec?tz0$@TB*50Wd0Eo_t z<6(zBw-abVGrXafk3YugRVs?-VGAmJqjoVtkkwH+TUq&XdZXF0N6X->-{Q;U1WaOM zH=VWxGz{#?xMQuRo7-}=4nQNi7p+@bjaN5m>l-@$%5du)*c){NGO@Fp&hU5`Z8P1* zVgPy968aINu^(5hlRpKQ6-~BuRUeBu|AiE!EXC4+F^3!KR#bDz$e(qi?dfM~7-lJreUjaLwu%lLEDgmW$~i7p^spwq zZ@P036a!qW-`3Pz)ypDO%Zh`OPaeNm-RLH;DoWw`LT?}!4Kl393Q1S=t{BgrIAY)T z;YxRruXOe7r!V)5@8y4Lv~6FW zK#jQp*Ax-@jqAhErdF!j?b`KLn`jzsh3T+ncdVO7*S%z+Tr+~t$#51`NQ8|uw|Ati zLkQ{U9Emgq2H9LOI$yPSnHjnid4Awgu(>zM17#wnMISsVE(VWcVG*(|hAn)VMdViv>G4#DIwPHc-(^|o?) z;SkaU^=55&C<-88U@0zgxbsW`&d~RDpAeVUYi?9FbIi+H1f3>1_0Fb?$V)9@U7=_% zX9!S?Jbs4eorQunl!9Pyc#%A8NsiArJxHhs@@ zuneHfKXX^8K)EB(5%cAKQWWdv&jwO0%+Te1x9On7fpWYWriyX5CCk$%0ve+qNI%{) ze>T#~1Qj7%N%QnWJ3*!E-{11|Suz5)46^!-(T6%-i1WVReN9rRX4qu@e21Ye=6eFv z{Q!3ys9FYwj{sir3dGM>Qv5INBM3F{IO)g-CxB%mbLElq!Mbw&2)Z>)10B>6KUXU} zT-mZ-_D)i%-=4+09Bj7j(Z=*TK*AgQeF4b6y$)0uIqV#jc4loGqY8s(?An8`KRb}B zR=T?sXTUp0_@vWtTY2{mf5hG@YCzvy6hc24cyso@U~iH}IcUfPgHFZ@F$?7_<&aBy(y`>3leE5kkFy{RI=rNt&XXRSV!%S!ATV(|spP!JIuK=g>n+}mXbC3LrOKA2R~K0+4&WsBhuOz2xsJN zU@tH@@;gFqK(|6ZV@PD71X#9f%?isUFeGtkxAg(n2-PEGdvCZ_q$f09DzxPN z(>L^O!6;I(E~*(m0z8N?&&wQNBi>@;4mC?0+L5P6?k{R$Mx637uDvOnyww5x{viv| zzWtH#YhivtB`32m5Tn!ns=N9D*VU!?5jY~n-}VuTY6JR1Wps_hciOPTj~qDrghNO& z!>_9wapbT?@~wlEOn%fwaF|{+2U%k?3gzcK^=-j@ZsV`X_W7gKN8%5Q5sQ~gx9y9k zX7oE6JBN9w$D%JJg6n~+CLsX`8}T!Z9^?524v*X= z=sG4L?RcBljMLz)mhGXZ(RNXLo*&aCn2Q6mjW4VVsYSiKo<2%;%}X-x%Z}XT7=IDw zo;IzjW{{>j;ah^0 z-7e~bnDD^T1hgN1nO}QfNbv?1x_HUb%BGnYfDze*vHiT7rw(y*dXf{-+i6{P>_J*Jex!D;;)nnW;R@dMuYJKWgGjUr_56%#EZ zWOxGMSj|xiypwjkc_7O+X>WjK)AAyoawqXgK^C6i9rS-83td z<{u*e!|S0B&HO)X{fAlq(ElHr{zK`Zxs}>4dNCC(Y9w;RT8?o-Z32yZX93NgR%6z1 zm-h>)po2mVYS=hP`+BG6SA4(B%jr2D3wm&Sj`6|R@7=IvaP@^x&);l)xtGZmwhCc^+xuf^MeVE@GstUGP-o<}A*SOgBBZx?ZkjA;< z${a&HmyeEVMm0^*?xTOBIJk|c@CyatXFHlie<3kFNPi>~8Diodv~7IW*4vz3FI*kg z0Qla*qBx}6=nDu1q!;7ee1w`sOcxJ{adh?<%yV26_6)4@N*fnNnnx5H!%8`zX=}YC zHAR%y+g>-ug%*3B-w7(Is(QbAkoQhwCxf|!UITrIMq9VA37!MK?M2LDQ2G!auTdjO z@D=nMh-zsQya0V7tF0NEn4))f)dc~g45}!O1HbJ8hZu$UO;8jQGgkozJ~mmLzguq( zNGRjL$03W`b`ze*PDx+Di;9dL&S~H50}0D`ZUaL*2Wxf~5i)Y;h^8Rn)4H8agv|H_ zqNkyeLxe3hC`_CO84x=Ke-97T2~OGnrZj=J{a7&QYc z4p%a&rGh+H2>)x|{KL$D=tZ6OK&B$TF^`N-)fZlXTSF#KW}L<{-lz8uCI2Cdu{$UU2#n=H%^&#) z`>&%eN(AVF@Z~vb1xujsSBAg~a9143p5rX+CL+t_OS}0vYWe;VSNR`A>wkpYKZ5HY zvGtE||BsOUN3i`P{{AC){v%}m5lpvirv&zkHz2&61~u9!PE&kYcX3|ksKRzK8*K59 z_8y*Rejd`>KUMG22i!7S;@Q%)UsuX6#L`KhC|##J1Z#`8|pAA={$}e z|GeQMVnOz^UDZhcOcDPx74G`abVcpM6fe1MVrONs3)C3)$DuzOg9|$&s4=wE`F=Ep z48)JdaAu_sY7CC15RP~M=kndY)t>Z2sfR2MvIFPC2f5bY*ny%=&h^GRnwI+hpakg( zabKN!Kw@uU=h794Y9gj_a^mdQjCL2vWcn;yZSH(+8HZ1@Y$JyOWH6J;!fA4xA7bWz zqJQ$ZiSGt4D7H@_ZY3xVgjp$*6ez3@`wXkc&Zngx(-$C}uxzh5Qg$ROA`yuA`;U~=n-T6~&<`)7Ab0I~yYn=YD|tDf{28%@qCGUa{7HEmj@Bb(*vv6(Ci zu)!;sfNi&p=cjZUq*|rC@l|m9ejuE8BM<9o6#qt@(<*l8O@33O@MIdm&m{GpKFODN z!vO1P5&!lzXCmTnC+SU#!c!LPDuIh`4WRM-hL{5?uA_bwO@%lt z*WZN>OirKm;8x2$-|;>;Z%U`SyH_3|wG|BAX<@&cn^<_i^dqt)NUmw|N?3===m^-q z^Wyv{M%mF;0C%y{dsiJY4oLH3GDE+UW3o<432~xFnHUI9BcT{!&z(eK@u#79VjWK- zu^2Alq|Rtie&6sT{Lq@I2L&KpRWQKgrXEn*4mx*c9ck&Jp*7RwesCy<~>mymZWY8E1yYsHWH3>wC_cSaA;?r zn?df|>ZL9YAa}|-EC5d)9FWEEix`z=;1bHH6oQpM(#48>kflBG5=cz0%H3>XFV*P>c}S+m4SI6PO=4 zXQuU$Q%W`;X{K$H2tr=l55%|oz?XlxV*gQYbNIk?#}D*yN`!wrh#<;u{g!egvpR$e z8m{`>G~z(xR15>qJpeZJrM3_>$bspDj_)KTM;c8983g!ifJPh%#W|1= zk!=0Jge|^;Ttk?aT?1g@@ateeu9t>)7a-S&Q9?eU0Fk)GGm!O2av~)dIF6^s5x^k5wViln%GBikR}SjNTo%ZRv*~RGJ0+m? z_9NEq95N`@MVcXqz~&qT^KdA2lbmWCFEt=epVQU|RnBjNcOFD{x*EpWq2BDt%JfK9 zr|pBhi8*X7K=g833dqmmdJp86Ja#SHBl#r_D>)!;qoG6rv`gz;q1Y)GoN5|w!#=r$ zwZ%+k+(!LB;_p8~>>mO9A5r&@7%zMRN~2n_&+4iEA+9U&J>@4kvb~o4v8e3rF7G#7 z__XYXD#AXyJ|4GGlk&!%2^l$d({xU*ZdKT6O(|%=@_Nb*hm>|`J1zNRLB<<&3Ed{p ze%!DM-aK-CohDDqpl`u8-4so}U|DEOBpEX=v(Ep=YLCV9Spqe6;^vfW*qr}^u6X<) zM)w>+#GkZ@TM%K(KMx}MA79o4M~n&2rQ#~HaDP+wJ_fApGb`oE$*#)Hh{fIPp{=7Q z8*vB_V)D-h7?vn_4$GQHRSX~!s`ZlBJWgf(8vn$tk|$Lap;W#hz+Xu!A?Ij}tO+lp zm`c=cx}SPbrqCJV%qAZByt{3YY{a5=m(M`ZyKnth)h)pltLl^gdRcIf;l*Z9gz* z@OuR!mbGvg`+RP!(eB82DMaMXH??2N1ZLzaEwyn+-^o%&5(tzBH|5Pd>2QaYyqsh* z)Wjj6zp<>WO8mJ>$+Rcq8ZmVnh|H(TI>h1lljBinx+3A{U<^7hL+mP!<~b9I^-reu z;<;0H?8(jue-T6^Ic3&i3df%`kmZ_$#ns5f%uV!;g8d++1O9}{1UPHwp{Tj-_6JAoNhpw_-~s1p}*Zu1CL+7wYIj@ zdAfI@Us}fgH$xjZ#ErZz&Kw(C2zx`p(l{ioZ8Lt0QCPM{8lBHDeV@YZU9M*WnyRIB z)7SQ?+P2er57#sS&DEASg<)>qr~Ken%@MKessISgY8t1P=N>sHJ}atPLg-0vX}hDQ zJiJg!Im`?bY!Nk+wEkceNFL_$jZPdz0E_%vy&%%;(_l)H{ZCV&G;i3QILq+BY zkho8Y9y_!LL=Prb-20}{${))T*Jh+lu!?3!ZCQp{)tIz3myncU=tH2!`j!vv@!eEr_If1QCa)DZkm58-gSInPWyPv}MVQEd7s zzG*=3EcJE{`DnX8sNuv|BEM67aO?f&MDJTbm#wNd!eR7g=qnzlQw3Pkm;Q-b6OXJ! z4-D$+lLXoJPe{h<9q#4rO>yR&QgSqpn#$Ra^c^U0?RW|>V_jP4&p~?=}8fazD zx%Thv|CJH>t_-C4<_;T+G@pXQkv&%CL-p_bGBn?B3HOW%+aCe7Bi}Uywd0hJWw#^W z;{;bW*EszhsTJGeFPau%o=dSBAOB=%wU2$-I!mKx8GED@G$wa=3ba~08n+9A0o*Me zI8s9>%+w<5LTN0GU~}inInK8EA0Cmet{9%jsBn9%qyY7J+f!m=70&G_pQv?t+gH*- zj7{HCLNgk--&azAb|rS7Yb!rhYk~e)DXJ4#zu0|`jYdYTVjLPG_PNql-+o&Qu8vmV2%SM@*&@Xv8gVMe)N_RyXYLU|+%2&i;V)6{FhO z-=0#u+7&{$5hJ4*Prb?(Npu>lhcIE8&_F5N8EI3t&-`mfo3h>AU*m1c_Dg?**U3x` z%{9M6UoGAns{4_p5lk*)a~Cz=atc0BgF^+^h(ed4`ECuw#*Ea0T#&`@NG+!2;E2Z- zGOk)kOWQ)qboxp<&~ne^_Q$`fSp#>(_5juW9v2w11wikW?Q++8-@(S%ohqU0C6f$2 zS3(1p#`Y~s<0}^y$H#WUO?mqep)k-;z}{h`q>#M*l13pY;VJo?IMp=MP{7_n&2Pr3 zCfibT%>i?|fcKT)9nsF%yNpf6=3{bdPPW6@HcWxr{sFfSD|*7PBb00>*r)8`4>S~@ zCg_ip6wot;Y!}<7jN!+2vVD4Wx(TbDnYxD%Q($}DJ_nZ=0^L_aGdd63q4zo4ezSdf zU$9@oQ&M2P#7xa+sA#wyu37yO?o$Ix3C%Eh>>b8R3Y<>M z4k7%XS97<2JaWN06i7X{UyeDfmhXoGzv4yyGN*=xZl{kSTademu@Q z%rq3Rckq=II8DuVk$tOWJrq4w6BC_^y0Cl z_wKBM$Ki-$$X<0Hppog>tbnv3MHsQBV`i)KcilFO&Dz?>Qck`7l&<$l*2|-1HS<-IV7_dp zZ{1#_9c*3PMvEzRxe0q8;`N7c-P?rAIP8U8P1e+Nu|uFIz2fcHBwk6FlgXU_4pl7P zD!cuqnMhz615XmQ@4bo*>BZ?&l*d^v!w)(5IDH@Gg^J9GBa zAn!dBFtK427W+I}_3H6;SVU#Js2UI3UX-rHKNdAsy;1hk+huWDRzKPA4!M4^Ub%^S zdA#0~veHa`tI{OVle942;|jCNUQ%}DOn@QF)jFl&{qedY!z1~E*10FmqGQP*G7mPYpE_D)q zkkV(&G9%2n)|7E)?L%~Yy`>d619}`&fAk+A_Hb(Pd;H10gU_&2TSo;w;;*rdX|-z zPW2fsL?OgLP;17iAxTVbrZNm$wTh07nZgdb>L<;G-d&FX5ge&?pBvpqrUnhcRaP9a z#nId(j2axPNkAJQEFs|)T*mVh3yZWYXW?_$M9FvfM8emQ;I4dT0b2|M&n-5X-7Dv| zq6XA0=Y1|+Rwa&Vae>)bUXDaMl}T9`CL@kBmKKvt`7Gx+~`oa97TK{#M|!O}ngW_3F!%mIXM-Yx4^>v@7@A}0--pY$UqXdWi~^j_EdlSzWRH~q9m9r`%VvjqZNp=DqPm%ux|* zdJ$2n0n=%}efz1X{4gk=W8!O%8DfTs#)zvS1G0EVoy0L4Kv8sn(1pn6XV35vsaC)INXM5DKl0<3NIGR_#>q-T802);a^<0!Ru`g zK2aF66;?-uTRwauFyRRZ>Xkr-D0pmzt4cx?9LI!joG^zvd+HzdQEwgRA>%xjGg5Ss z6D@|(a$IAQn8|X+szEu8+6BToi0(v7_p)UIV_1kfG^LCB%zA0G4$JtxlsJcpyR3)- z;$W!a*D3bJGLNMvJ_lnxXIS+CE`0y?bCqxhbRAe zlS2LdBEx$X7S($je>|Qpk@0M39*@QTVx5crdUx2KDk?Wzt_F@mhtLKMIMZ<=^Ntznkwu0HJZelDsQ+7f>XlKs6TMpfrDi zbm@Iw#P6%1pE8MxqIUov6M@V}-oOm@dx9O34!VkxcpD=f)UvRh)-KH7eij3%%Kmp6 zGZ{JUd-XfCKHm||30L#51g45hQ4Fyfzb70uFR}+cTKRGlmC?;N4HtPe#~yx5_Oin{ zOY`oV-qvisCpMKNN%;Oca;)Pe>tB(*A$Etx0d?b~`0@R2$VH8OGuSn&rvn@3V-4Us z%dsX(cxWf+U>8x)qb+#Zr%HIR?4XM_uSQN2EeVNnthoaEGCC!2ABU6XY~RX8*?|HZ zEx64}ti;F9mGD@L+CDEG5wlG(XLk#al^whXBQC?$b+zf1Q}s^l=9J-LQe zEroX~zhUo%f~Tr*qyCA3$Bt>X&go?5L3_yj)+?grGJg9tJxnW-YQs)#lCw|QrOwnu z2duThsk2G?FLu=NvdV!DP&!zg_jRk^EN-(Bun_OY3KYs!=FELoJ>>C+aFxNO4piV^ z$+2+mR==qHw56D9_Ofs!2aDrwbrD#=#m@K@Z@+98S$)}Ay<-tolsAS{PyB6BfATFp zddl+c+pqU+lZzeo>(sqi4?wkHv0N;S`dpnyhX-hHT`Yc@(ji;xV!_jA_Tj2pxZo27 zI9P5*Je_Lkr^*uGJIt6n!_(Mfcc8hZ(5=-leIcJ~$#+SZGTtLl<3r6c84uAYu-?li z7WE{AqV#@|Cu2M&=q{BM6&hF{dTCaMWnASDsY<Oh+0?U&L2@k(1IQE6Z$q zON_i#p!ZhywVE$Bu{2-oP8Bxa3d@jqO!-(PiEPNNGTC^+@+F>fTS5Zl1swbZ@@22~ z6qlPY1;;yun!XxzSqC1wQzK8ERTHh$Upii~vu)AMUsOBr%1Gu%Sf{(}BqXOgwJcWILtk6@Py~W*+6t@aMUJ9DoifApSUlZ=&%!E`jf%SZ1~Qy?TAB z`c>9sIXKIau_idnma(8^@jmS>_hH@+bEC95NUJVPkisByQ07r_EL?FH*tdrcSUR!9 zSW1c~Xah97?tqh)ZU~mH`eIi~OE*GGcfd(Y=faHv0x@sXJ}mPLMNYsPETSLf6^PBS zak|V7JZb5sVCk}D8NQbmZw9x=fhR5A9DiSsh)w5lwLZ8{y#C1wfu_+qkIS%UHKJqO znXiYl2`X2(GV(8xowOhZ_;xKo92<+)xiUCb*FvZbERb9SG2B0m=+%uVxRIv$DZHUCXzAdJK97t*8G7sk&H2as7)ke%O7bI$(Zt8Z6X;< z{#ctx#*jbJCepFvX%p#~nQ9YnEbRQ5F)|%Pb7N#WmV9GmI;H|+WHPn_%NUuAvA{M) zCSxt=8zYl37dXbqWb6e4V`MT014Vng&C)C?cHuJ4=->-R`baYB0#_eNhFdV!N0MRQ+%EU+z06}HT_Az|5S zEW3-0%AkSc5LsP>nV0VvW>Tqb`=K#&Ww@V>Q;ei#1VWO}bbf`5v>5 zvTao6uhJuwL(9SlU17#*a_sjzSK+lD*oz(Z%bh!$iW(LUo9~x( zi0YXi6;*PQWt=3kJmABjhAFvmrvwqORSgP;@9UVAKQP4{Juz<84Rqu%iJ_k1w$%E^7FdJL;=y=~b;`cHIV6>_B<>*7dgF!fG^BR_)fq z8g^uKsR~xGtGr^>so=4)s!jz@jIPeX3iebN=~oliX}K=S!JJ)2Qv>pcmTqXDN+gq4 z-=aXZJBAGYBFU;ul+6SLGV*{;#?FNg$77rc~!NOl3v5IdA}Bv$dM zQlP^CRv8=8LWcA#Feq|W^`%n|Y8lk#KxHuR5ha|OEFpG9K(s86IYDGRpUFF?1_!4M z?27Yi0T7Jkv8e1)5+&I>54W#goA~i>^A;1sZ$a=g&9?w9dmCbhBRbvzg8RS48w3x0gPEoI2Iz-@nXUL1 zVCuEutp8iRiDUdthyY|st8d#;uJIZ}jtZNOZ9d7p9x|xQfy!WGRtYaTa_juQJ#Nt< zQ<{BWXTRA+A7nTW%lExqNDGFo0*`6PZyYJ5%o&SW_c8er6T52uOszKd%rzl))BGX{ z)1|bq0jscBC&KQKZ`8nXCwX@69)x707rRKlL+Ip)2W9%I?{o5_fI5z%&eI~RA zhwW9`mH86v6GIc47q>O2ie>q#ZnQWlvn5=%1heKazsX*(%9{z%338%fOpk17aXof@ zoST;?H2tlFplKq^ml;0}1m%v-JPRrfRh5`^2PR(JR`&tbd0AyZm*whIU*q^=MIqiA z2TZ}(mbuyVQbkX-2D^ukRBy`GTf{}Q6rE4D&GES&qN|%sF0tQt_*~~uSl=g~R@ZPH z5)ftUXqG{1&d{288kSXv6O8qq~y}9Kk?3oh# zmXRm$`2!2?KeFI~<_h9Ie>wyM!ON<+$M2hmYLSf5DHg|iChwvj_LYYYvj9^xjFr-F z7rk+`U=!xMEK7mgnWmgO>zj8)35_bt`@t68e_wk#*OfUWmzT+KE*icv;%5!uas+!C zXo-LqJlHed#lrddVmD5^%xpaos8wd1O9v14jItYL=ICg^Z8F6+h)w9_LP_R3%@}GY z*Go$ae7DH}PvyA?^F?pJJLNmBo~rBOdq=Y)yP$K*6ROcyQbHIM@^#(_mkAin)VR*J zaoy-EbXhPq;oYu0Mmu3M;Prc547bXg_0czb3G-EPdWl|{Rd04kA$)AO`WIw!4xFph zj2`59II?bwT?!=A12YZ3q{b9Sh8pl(D4C#ZstIAmv5`hR*MUrKVyF#aK~Jp-pYm+0 zHY%oyO{lIoQ)$8uIec8q)ml+Y(>KH-u|t+hsa7YQ0!|Rm2&sDkXlikXuIp>-tR#* zGcwj&B-JM?h^t$WdZ}utjmGBs%l*2O6=b4akgICZ9na8gzX%U0?a!O#_SNAs9nP-# z#>M1yDP%e`z4w7!j+4<`bG$etdukgKnP{LPde~$tsJb(FOZyZT zn_d~li3~Z%FQR~%KCgEj&RDI(w9C;$&;dGy+%Ijz2b^Z-uW4Ui$Xm+bEa0!)zD7pEN6K57@puTpU|uX)JZ_+31OvsFb-?``ArL z(K;?l`Pm-34=pjW^nN4RfQG3=O}p}r?OIF zGmrSoQY_FVFb8VXZTR~3-^Fq-Y<_Tl^RNru7_G%?bsZ;gI|p`m@{<_#Ssu3oZr?R8 zo4`8iGTX*U5*9KTv_A-w?S2!kDj>N%M`jPG9Cnoa?boDzi`_TNCJGD1&+=s)bp$og zft&{*_4O{nZ)^WpFSl~$H$`QCNIG5f?DL^YsdQPUDNzyZp3g|+5RdTtK(MtX7OA` z1>QUw)9hW?_M?oGm8_p)2jj!lHqMWo^zsRrOfZXFEV3`ZDCqV7$tE>P!3@Zz&yFpN{WIO6tC@Tjwxrv??~14kX>ueZ%Au^$2*o#(}HLD z-hR%j%j+b=#{+Lo-@SIbL`m78*)hvkqK72Cr%230aXYZ>3j&>T7S5;3`l8~>Y1T28 z+P~kb_qbV%8F;Tp_W-4q!8f>V6*zpMBk2%R3*H$@%7i6{sFtX`&Q&3)F)Zi8apnlu z`;}~B!?G=G<7In$)bPOw5_V(f+fSnUr8@*Hox)*B*m=nz&L*O-@AJt}CG@e3tl>J8bfvzH zmk`1Av2m10K|`K1t(Uz0BHBbo9l${OnWktlG)o>d|2gtfMXwyY9M z=XfkhXb~+jfezz?{jH<+q~b6iYZ9-+)xM**ESoSJUwp2rb$d}=s4iQx3obM|*86&^ z02su<0Ix?;&Zj(F%AE}Y8*sle-2RYEN{k(nsC!d{HvJGi7N3`r3hiUp`BVuidu1ls z4GEf!CICn(*H#(ku@nhrB+ujb;VP{Bjmuc#z!p$!0sdoLl#vVt^~h9gtRNbez$Z(; zulpi$sJ3s7uxfZ>`2a6{H?U%BiGprc?O38?xYTNqZ~{NiFMZPu}N`WynB zsP0242+J@TzWwq+Mw-H;-tz6g7x7YBwi$!ixg?^%IcP`f7_6*vY#DyI&6S0JXQJFXC%>RKgQc|#bb|H?Al+K^~Ae?co(gji-MFn z<`tQKG!m_VmL7FtMn#W<_22^wy^IB(g4q?t@(~+0n9d1ZzJm zDc22CBs#PB;X10k$}$~nWqYFat_%q8eFn_n4*4-60UhGw`}QF$3LW9lI9(?D*Qm}+ zoOWK~N!TvVK87etD;D&l=6O`?GUS^DdhvNFI)NPKp?2sPm|N|fWXvgEi&a8^Q#Mx_ zcE-c5qD1Om9pXpk4iP<3&WLlUDV)gd3*o`mc;|t3Ibu2qhbByNwGXlhl8J|C53$Jk7Zms z9NT12M-M5h`;fAZ`R#@suNCZx0vkFaE7*`3-tMbJws3i;3?^F685S%qU-n_yf~s-L z8CE_Bh3hatfnWu?7OR9Qy5n(eRzY!YpELM5ZRI)~1Hd8=xOL2;54knXqO*)G-0N7z z79AY!m|M?qc_-XDhRY24d81_nEXCa^n9gYrux6Z+HP&Jh@Ek8B2kW!T%Nhs)v(y~; z7`4J^M;N2#7wZdS@Y|W#-Bz0i>36@e14eQlZjhB04>hoi5)R>5L9~z~Rvn^_yRplv zO2&X1kGZu9&*I|=w|1*(3of|F>#faQleA|{Sry)-ON)-(@)B<2Bo2??jlV~{RO31K z^OA~)k4J{6N(2o5al9$jx8i7td~U z+Z2&j^gyNPjBWgMsQ(fixe;qWB5wni6>uV>jj?Y~Nf|%wQ)DWcPB2$?b%%Fv6Xn~u zjKefMYT_&Bauw-e~dF(@=iu6(X)>jNRxA2AS$x|;w+MG;khvkk8+2@oJH??yI=RyW| zj-~#IqeNbfywkO)6L~&jT`f?D3?im{?y{~1z`0}d5l~nbQ(goVmcR5+!qdqGm_5bo z_RL1>V)lqAJ}kQ_H;QlWKPVJp9y}xz!smt)aK5hkywCy`niD%qKAFMao_z-wp`Xn- zG6R(lf2Xg-GWbyCqaTiE+G=K0q|Y?jT>O|bTDkBEK4Q6O4;@%sKbAk`hFd7Pviuo7 zvM3uLS92rp!ZJ&~T1wcnFE)}zHTZ#|LYT-yCIU+lF1F?CDud6Vx#H^Bl1$3hms*71 zhk#O_lW*>@>?`x|Lv|-OH(@HQ>tws#*@)HleRdNi zBfHL$T?DVYT+G>jPNmuteNGm_;bLy-*Q;e!?MaShpNU+|IUOC6iPr(YVKocwtNUr{ zU@>HUgEvViXH>%fyb!2=#N>SDg{ z>oT8WMKL?(v+?JWV*-J4cdSSMX+p&8nh)OXP?U$uoDQGw!@5!OXr17@c^C7TpMoI7 zd;FR%!}r()1}^3^Z^LUhLFEfx9%lozoB56*K`2n!#r){!V=d~hHPq9A-e!Uwc=!;n zKZNUQk%zf(CR0n{W(+ik;$&*8(7`?K1dHA5qGK!I2^au*vL0}`M-Mn>GXd{!J$`*J zIAs2u%%MZm=8wlqe5&g(3Rbnu&}-?FXjLc9T_)M``6Vu*UY?bLyE@*0Aj=jtnPRt5 z?ZtAdJoHA^iv$chj-6S&FLn&F&HGr#Aotnh@-oH4CtW7kuK&<=dM|Og>6I_nUkQ3e znP<;pt1667xe?u|^Cokm$)B`NUqE_cv8=9&k%mJ~WZk(u>f6j@oASxrhyA9=Eg%zYje2-zv4q>y2cqjOoeVtSCB3V|Hve$^ zcvJ5~4{9=*Au}l*Uje&nCfhEm0QuUrAR%JkEc1PJORQMByhbY-aD+J(lX$f+4)!4v z3)+Rum*8RdfSse$&uRLX`?sG~V&urKc<``W!RnqIRkwIVlzzh6Ox-;`M!H3F!QZ*Js@f*?V6dZONs#$a>h7L6tWZ{Bq-A zmj#`OU>uGIUQxaci_PhTl8iWDBy~~h6Y%Xkid_P`vWKLlVOUa!llBHll~*cGb<1c<{(D4%>OyRX5G5IH({;?>y|*n?~vD2Kj1(;Pd<8;p|Ds3elOLK*>1d*}3W}1aP*evOw!Y*og zl~D!;aus;ky(^X5{Zxsi_|0CDtq)Q3Qk#U`!E#eTUYU>yDUxhgW5awM0njlY3RDF& zYOkvH;5pmIt5p*9iZa^D1g0DTvC!c1XG$+{9n~V%>N1hJ%1bac0;Lz(rz^yXIU4ai z(T9C4xDUs!f4H~|kR{Xz4ZmOK`*V;y1P;J}^V1PCe4~QhVsN2yTt3)M22HjM>F|(e z_Z@KMoaZt>eV`X;c`oZ#F6pJsp6haQbe3X0RQW6O3@q)Kdr@BPsNyJ0_?Z$eE(C1r zg^`x5z36OOSsoc{AUP6sY=V0`A9wq0b9Wth`6!U#ikk)d*%9Fr#e9kO> zdKV7fW|zJShd}9lcHud6hhO$XR3|?2nOQ5;G+fquoHyv;9ef^^)Z&tPgYc!r=MR8o zET&_iki(nv20?U|VKnl*Z{}54n&^)E?Wf+=RhnoH7H>Xa=gMkG z$=iR(YMAU8ESTuAfOcvzN-U0g0V zPg(waJZ>0O=_z(H^b|YG7N$j=5+S(?b&wwaz>YPovVC>HD2blRUb)ZHDm6lM$+si_ zW{u^QO|o=de_!uC<=OTiw~e-oNbE$PddEUw2je{~)oiiJ@=}mr((3foGv_Rk&$w-| zo=WkYCmxtRU+z+skEQ-l~Xoa**Q@)w6JQ%~pK`t4QRrB3J_0js#a=6f>3s_R>wSzV$)}Ap-F3 zg~kXwp1EE`N%kV+_gR+`fGHt8FvaUNRvs!5_#<{Sy0Fx(vc9`cx)%gkTvW4*bd~cT zzx%`Q#0u%(wqd#X=gTG*yW?HBj6VKeKzqOYkN+v`ZAI{rL-PzN18(LVt$-AWz5XS^$U;;8U0dY-0#wH*W6A;e?WU2z8oo$9)SbT61 zRX*DK3v`qg;dYU9ox7w0bG`tB4t@p_mb0Q?@^{@#wm}5~mcS{^!ku&qL;wq_lyrrW zWuPmJuqiK+Vfx^K9T^9_t8y!=;n4u~klzIbeh{eE@@b07%1xC2vna#7kWEkh5tuIc zc&FPjsevR1@yKFb6n9JqB*~tO9Zg?uBC$>qBjs6!bFpsMJ9{HrKL8g9kU{>OjR4==y}2T-h+uxy)iwDmi2PObQnr0C zEwXn__8_vi-9_z>h%NG8uE~Fa$bZR_vYpbSMgG@+{okLj;q^1tX_k4GZMJ~MwkffN z6_OYeX!7f)KW(;<2qy5{R5(0-4!%d#@iCb%n=)Ub6&0;ROyHBIz$c)vAJAwA*c?J8aS3@b*jR{RLmtqF4N7gTKW1ORppH&e)Y7CKSsMyA{TgFT?^DtuPaR8 zHOzrGNI%|wd@WHw!{sk}>Dy2H$~#mw$Hf~IZH1g{4*Y>_@`kUp8hhOtHZwn6$9BUKK>6REL%k~Qfn`*1CH zcohGwy4b4z^9QVVt+M4|KXqXjKU|~hr{V{UcDc1MYaln_HBvnN16uhn#U3&WuPdk6 zMbS!DInNDyS3f<2_AcF%l5cm7#c%b<7_?Oo$#LO(LFT)Ly{{hsfqfgvlKrwy&sBrB zak?*?rG4Hum+IRMb1rEX`Bdv=R4rJ;a-T~b&cU^Q^$=8D@?ZZafC>_Xn>PP~=YN?J5be}VPIFwKf+y-z!`vR0yv z^?cD>&KLM<9+cQN6t)GtmZ>+7Wr{x~AsLQwiUc~K-u38dL$;Z9J z{B>EW9)ASw=+Y0u-ipn_5Bqr4c0IM^)?uUG4v*r$n40*-ER|Q=t}zkSPdj+wowl8H zErA~z0`=1mpui9NFfXM7<)YYKOB|o8{{fqSzubhm{7p)tbCBVwbS?DTU3uB)%1iDx zvFIIpw7ic!H@et!0xx)zxMN$_!Z+v`90P9~w?KP}^`r_kn8MNx+^6CbJT$bV<5Rg< z=xmz{!gb!Ta+Qt4=BGC5xly|3HQbxqsBHtaUBex$jcORc>fu{#<0Z^@a&SC|j`_cS z_q+ceP)h>@6aWGM2mm!h^Gs`#g^fZE008L}001%o002#4bZBZ}cr7w6H!d|VWq5RD zZgXjGZgVeTF)?{BX>N95Y-wa)Yh`(Ga%FRKE^lXN?O1(SlSj6ne1Hi=d;!y1DGHLP(V>@*Jn|IMNqy$ ztF7xt7Z5+zZf)!Kx_akLaK-N4r}ugG-v4%dF3xr+2WjDZhnwn`{FaF*Y*xJYa!m^%|2AyJ*}sQj02mU#s0N{g_i z)3ei-Mdog0W~M9REL>(d)8E(k*S>H2`(rENY^=g;@#;7n5CXu;qjSSdc`ho%O&sNV zk0Bn|_Rv-Q4z-x!|IYe;c3!2su|}+3?_D%hDF@huk3|JEl}1EzSFu;cYfHRVK}sD2 zdFdDr5x;6egVNxrh_py`&o_`#^5?*349JT|Aa9zfS|C1aC}|FYa;yMJREcfSG(&Zf z=dCI3@;&RKA_jPu7k}g1J62*ZRvSvf1D?65wu%Z|tU6dCNo9$xsF$t^6TuzW2A!p; z`b7b&g`w{|+r6(rT( zW;{>=K!j=pt7C%K=t2f#<=0MU-JDa`>r-7V(;Z%hc1}HaG-Bpud zXQjN_3Wp3_jLI3fzp0wq11Zmz!b-!w4oKOwq*oXs+8`zQybwJc(P3HdRWs9lpHc0E zQ4Qxm*B>70hE!zF{ae+@z#DQFkl}fS$liUMzv7TarqY;URE3-WebJB8zGSzOYVpkQ zbed7Og2b-ML8V?+!0|vxaxbN!l2?sF?Y@_u+s8RpQ!M2+Hq@2-_w!C(u{0|lHlK7@ zN%8AKR{OMcp)pwj6Y<*~2Td7DPQ@i|Yw19x9Fq>Uv*5>sdlB2Zrc_2-7v&tQ&b8w< zSm9)1rU4-GuZ&^pqSy6X#vqj)?FcJ>)IVS}CRCoEdQG37aAx=V>!nFQ?*1CqXZf4s z^{EMORO`{{x;ny({7w+*v?`hw zIx3J4J10f|IxG6^)X{*Xn75PUaars1S?f>d-~2T7=8wDoG^ZxbvmDV8fEC)M9IXdO zdoQqp6)sHctrgM=RR>|8EWdxTKy$^Uvw@MflG!yn&T%0KoLs7b{E<-I^Xyt^yz z#k;^fO3&5+uqnadjsJHscvGPxP~$0Jhz2JegCd)|hVa(y+ougCl9_hN;3M=@-8X#*ST=W1M94 zOb+8ylm+&Z`mVd6bZ;{ei1C1-Q6v~93y*kd>KhH#RYHdavKV=|w!ZKPOqS9O_2zb- z?7LtrM8(SGrL%0ac?K%7NXy6b?_euHjpmti7Nw)HGI@RyQ&XRAFq_TC?L#7IaLuG^ z`9)KoU~`+!Ekk73a`{OKw%88M5BmIta=22`Iz0}X^59%MB}#q`j_Xqa*5ma<)EyWw zke1gRDCd^74y)`J2y5Ma@Jeq0I_dSam_A=mcO&A~!&1@2o@~D=u0jF0UPOR@rBP|UQovjQl)hnD&|d3dq$Ljoc~Mb~-&FMhsox|_ zZ^AjQFq%&pb(U-gm14Xgj>(eu=uj!-t(9`vssWLgNjCy{P5{JO&_3EbNn9$jz>VSn zr6L)F8zQA=S*+!4sP_!F8o+${6`oa7vlw%)Im5g_CYL9*^DJ1-ob$zCgRodZJGU%z zJ%(DU>**F~5s2A_Yx${P>Wg?^9DjJD9e^jqd7uXWR@|CEj+;GCkiy2|rI21y3A6E3 zL~Q4-(xD{s&%99rUB0|+0!yeSgj-<)DdiPQ_jQB5+5KNNe3+bBGPF634fshO2%i1+ zdh3dd;luHppha=YY|Nr2dLBj0F~yRg1$M+HmbHo1ep4*tSYl>(-hjy4y=p?iJCf%h z=5V^>lA}2)6qWK%$CpWKk7`kA%XoabU!!p%v8<&>Q6A1YHI`WB=dv_Y*4S}9qp6La zyp790MNcm8CT&c~XVPggI31;A zw#pIZa7;8QRE|m^FIGyfRXIZE#K5+wgw|yQ!sM7P@^Y2CY(7d}xY&BDz&A`~oet&j zLyJ93bR#_?%sDSAQPYr1L9aHV1I$U5UhSvS9flSDj+8YPiYoqfsay@HGL*A8*G`Ao~DIUhWM8{7b>)Zr_eQ_?cC zcNFYWs?_C`B+IZX*agD`TNn}|$fLWuy~S9xcnQK8bBd~$kdUKx^H@OBtR9o&TW{L|5O+y& zy+yH$z3lR;;}0GmE9(8}`ww`F?)=JuHfS&3UN%+Aeec?M6DskL14>v|!}xus{-HWB zRb@{&F#K%Q7imwGf_W*aXYM`Uf;ErH2(Y~QHDHIQ+tDG?)rEgqm~#-PuRkl8m$~)F z?D8zE*$rlcU>)(wKF<{`acQAVF-bOE=$Br5a4S~6h`6R+*Wk3q?n=eWk$}6-GhO@f zFEMeSB1vo;@;Zhk80)-oN-2xUXegs%`<4s< z7Qb`r;i>YSCn;+;Bd^IPSYFbkYP*V;7>hlz> z0-&a9i>4HQfJ&OU$_{+A^43@Urd4%Y0?GK|o8L}uPk2NPxD<{c&#?@>nek8gz04Ct z@$o>-1vQd9`#gJi(!|Xfb;IE>0GZ>GGvJc;FE%DU+M&O2S#^Q`Y)^j2Xo9VmldaVq z<^gcgPW;9WX+ZcTe4la2AhsLbmhKLfj7uVpvf+c%H+}{_?>apJSy)0yA$-*T_m{fs z9KX&+!kMpLz8_xY=v4i|?Im!LO(qb1*cp_z)}fpIRCE4s6#zg-A3XF#;yN5qoqp+2 zGzsCZ#Gmg$rC@=wQvqBEf~#~#p{rz!ZcJ1%Da?k}KyVoVWeIpO{d~{b=J#vG)z=j{ zw}=1svO4}RV(%P9S+~o#@E|F&X!~Xw)2Cy<@ahpNjGS^3_A0jr;6hzk2o4}!n}|Ra z=e;7YB`g#ae3lX=UR?L#I(jlEsyK@kq8Ue+MY;J`C?7@<jW>kMB1vj619IP7Ws) ze0vt)FMuZ2C*yCWYVNC?XZGog?S~XD<#*@*hBa8u%K2oEiI13TK5LP4O=JNG|38^2lf`=>9ZefaME zPW||VunOMqRc_Zw4D-maRwoUcDRR6>1!H-gwNA$D=y zdTEEVv!CeCtSg)-nV<8J@V9E8U!DBBf7TyPtu`-0`yY(`^#|@?QTNL3lkXNz_zc#= z!Hdf~P9?;i*!97mA6>{id1~WiU&MKB;*G(b1?j#%ofKzaGtXg8`EO850|XQR0ssgA zHAC}E?Xz-wfm{Iqf@uc;EC2uiO<{CsYGHUSGA=hRH7{j&bY*UHX>V?GFJUn;c`t2Y zbZBZ}cr9~sWiD!S?EU{=+dA?njQ`GG5q$U3crlOwElpA%E`{_Q?(*$T((~m~-aN7` zhipT_CZR1`^7-38nvrCWY}qkw&)NIDUeE4nNNi~|8jVIXqtR$;;os2&6X{|Sz4*1H}miVuBG7R~6#-rN9I1;bsx4d?6&qDD>z42vB=eO97g0cxP{!lO`!JLWWOjNiRzhYXj#^wrX{NL?-e&62O`uzFxCPR!jMYpy_ zvg~Z@$7e@gjSG^AcKDb3 zDfB>~IRtX@2x-^j+(03oNR(#xJRHWuP;_lPcwhrw8%#d&=>T6qpubr3sCLh%cf%PB z>r5aR0hrP7Za8Oie3a|g=E^5Ft^MtvGZ;u;{e61+y6C9yo8t4H`{cnvulN46d(-W` z^jDkNr)TFkX9xY`U%NM_2N$L9d)+>LAMtoN<`+}Z*mVBr=No%^a^i<^2>oz;fBtyS z1s9zM|K#D^tUTniecSWLwys}iUf_l9SGMXOOsDK|^L{#+PXOfFns}xvlZSP76_iY9eKG;`k$dG18|y7lA#uhl&8vRxk$&= zfMd)Pply(jZvt7Bz0f_W=aCHFu+0%459YV~U!%!bbf~F1BxdUR`t_o%9ybKe3&H_e z*akwyeG{C({I6sFWe(GiU6qgZwV%fr2)NK)B~w_}c{iQh;RyOvN-e`lEM~JgtiFO( zdSY=J4?tM0`-1(Ebwj`5MGA3((=e`w2?gaqa6epMSNMIEqzvkUiLUsy>nRd17SSev z%6CswTMfde$uO!3((C@pYIVUto#?6pv7)pl8NB<+=uxO2Bj1$cUW6SIvUUxPHMZ^MHj|9U-N#8e`ooIbsQ-EDX*By>(jhNA)=(PK2$2ZeJqtTroy1&}J~xX^*Zk8*eqrh}QEUB^W4p<%I{xbxfT z-`I0z!x=ykD7#pm&%JxXFXhZYIhH_Icj_XuK`d{O40?& z?Es}I*In{K_shM#-FL&O0LG?+hdVx=gYH$KQ6?0*!NZ6pY7xjoH<>x>j+0IvfmC!n z7K}7zqa0NVCWkM-iuo=X0){^F^}u>u@CSbrb+~4W*oQfQ{oV}OXe7ok_Qb?+UB&vt zHupZYXP_$FURjNxQDzhLv* zoBRNovr|m7rzb)VA!ZxbaxM}TDQO`TuzA=Er^EaC(-ZwwcYx&1I@Bj)+|gq!xBv!x zb~}uPOmaK!YWgN6z7Qz;p%4gu&;|hziG>$F1?98)p?HcV+gKddJ~@UG<%~QRe6*^$ zK{8nAlTL3Qo}BmIUv_WapXpLJM?$MP>-K~ow-r=xJK@@zfFc1%&^PcS0m@xuc>rmkSmUVs_WjRdLdahy=Z6O; zUEkqjM?UCZzVG!#?|aAnZc?h(zdSzd-<+Nwb#H(^!jyO`Y6&|+f;{dWoSdBhcGK_n z`ZwoiCx3`iM_pf&a&2ujZCY08o*f7XH;2Dmo(ntU;Ns$@ckoVFCx@5E7yX-)^Mj+~ zv!9^>Ii{lbpN5gCHi#irY;!z5okR~KellUg&bkrICFP=$hZI6BWMd`q9>7co>lqE? zJA|+)MeS;exoYAYK@h^n#`@*TQ(Ui03u@>=A$WviezHnuy z#R?=u!$UYv>HxS!;mcAUj`)br!3G8VzctdV*ShCb`m#cbM~Jp@uV)f-;8 zIbyTuB!)1STvID-aZ1zdMIXVVMF1y;FBVjThZ{Oj5wQ!b%AOgasiby zES%lr`y0W@<^$gX<)%)jWi$zKwR6!1(aV+zMG^Y!{OquMBY3#qy*#_|xBmO;!{_y_ zn~m%BEC2dy!`oi`ZL5=MAJFXBkgy2lItbW*J@DycPYh8ADx)*QDpzBubL{}3u@wG( zdSU?eV6MCzbq60~DGS1zb3U7k)`STQSgB6^dT?@l1QYbVm{meNLATh(zYjM4&&}Vi z)wjk*Yg7FCyXc-A7RmG3NwsRMZ{p$8)2cAFHkv+2Z_cLSZQa^tX4)N(h1Meknrx*e zX3uy&jE7>ml5;GXyg!RCr4v}bgr!9&EkgW>*~`bZ5fqMuwh>OIQ$gp^<7Vw_GUuLZ zaYp94Dl4jvC(}DNs>uPFZPtX6_NaYWwb|s3*FFmE23%!A3)&D;BLrP&JgCj){C*Q0 zYcE8>(eNW5J=W&aM|dSPENCE+BDGILCVt2^YI8O~PuNU6x@Xflzy^ohIAn7^X5iKe z#6mlguDr>^T%e;oW#}?elBxDi0J)n?K~at;wHfDa^x4hYTU!HB@j>WGle;aT>WFWJ zqsi<+bYL_LrfmAS^?CSlxJ3rNy}`yC-QKGW`Evt0w82KG)6IvU_{My)LFFb0#uY7b z@5o^F=As8T>Jf+qi|kcYL5Jj6kSzc)JQ|@tPsmNNjuG*@yagf6Oi`Gw1m7#BmkZTI z%}^MNnVXwH>FNQ>u!JT#P;&C@CdJu&E*jW`MSfLEJoy;(fX$!J&wn;ad&tI;oEdb` z%plKZYEdg_P8K?jRueNOg%7hQ3q5!gTs*%8pbIKy(<0h5Ad8#jWg*q@S0UkOlljib z1!zX(i**n+6y{r(JLY=QqGVdgs`66cu4Kl>|0*U@+u^fUjt9fkMy_`jMXXF#lbr5i zvC7Njq|)5sZFlx6^K#KCu9|OWb+rIpwF+6LBzkhJoVrNtsXSu7=@I!st%@N~qbihE z={}_Tfihhadv@RA^uuNN@Ifpl5IZ~d`?GUnq{Po zl2s>sz{1Cbr!y2?&FbBi7TM*^NPj^pyyNNQE>)mO{hSiL`d!P0+3Njt2pck!+H!=; zmXiWX3Qbl~e8%T}p=q5932QYw3XC4r524+GChBQj=nmu(uIK{h28!)an0P|UiJl03 zZzJNt!=T2;pN7-P7&KXDy)L-44O&kdweyZ*G$GzUvuSiBJ7D0p=xCZhJ>`}}n_Htu z%nFsSM0`?v{a_pkrRz*cw0eOobr)U{EdMJVX$SnqZfY`6I2ltY5cvkDH2#2DUl zVStUpM~ibcYlI$kFS=((-Lu2vZtq6g&-xWIkDAve+yvahu)EO`M>D&7nOOOw$)GLAg#ia5i@ zUC@XSVLTGl?i48ArLLI@IwST_!?56`_pl0NyRl^E6)$15ea-g^MhqK|hXRd}Dq?{V zEDUW>&8vXTaHxDo`O)CzJH@N!#;u(E;D}-2{FDpsh-d+0WFN*LH90U0n6Ii*?G9@> z$&w(Zd`~Pc!giUAf9CUf##sz=O1k84eCcECFiCXzG^0O|;)$Z1J|bR3?Wd9N=0mV$ z6FkI9QT9@aWFZmLO$LG{Y-un}+yW5()wLRGU<>Vtc;7od`}wB(>%mFtzU&^H=-1uf zFU~LfJwNM^G}k}>YvL`<3tc}enJp};ov8GjF-G7O1ndN5YhP-9t=UQT{cCaEt$nTO{Zy$cf9cc~9eCmUHN6SZdEqWXHV<#> zxIhcV*xngtn2p)jTHb$7dZ+u_73jWwux_}}t!nfVeHeEZZr$yC7&{tZDv~qnHrWiY z$dW`_SVY0sRDEp=UC*vk!X7zLt!=ZDJP_1vp;@F7^Ih6KS8tM`k6+GQ54J`P0ZBY{ zZZVJ4rO&aPwg5u!cck=!J@Ves;YDV6#sWGx#Q6FP=Y?2KmMwnag5Z+l4r6MfbV-DJx;r*8{KVwgoMO&Zyq4t%=W#=Cypb>dRkg zjg5`K+ZJ__=nJv@{BtrKW7DLQ?}TLTJ&wa0tLB;66vTDtosjD{y+6(l4OOSKB+y9< z<^b0|TIcuElV9fZ`%9^Lb%M=_(C&qe%;%2Byw#?#e*^=<6z`|yrwwA~;- z_XDB9&F;mN;C+ZrK^;a)?J!Zzm0}~uD_Ngzisfd;$r5Vo(|qoS7}p_%T9^VxZ8Xx+ zAci`%o>?xv*w2rQkPZMMcE8ef0QoP5rC@98f7E8kq3@rrg~d#*YPEaovt(U{d`2svYU9*oWR2*u^3eoM1f4@KE0FtOx6kwq#}r zbnm|rn0WSb;bWs!W1j9o~O#pkgl7Eb&BfCW-%AAm8*5^r=8(}Lk* zYHm9iX6JOWW#qD;1wf#J!g5>r^NEVgL2i@=m2)LAsQre~s@DROP`9RVGm0TPSnBC1 z9}kj5SlGf{wJ)j%Qr~m}BIWV0Qb9x+8%(Zk{#?vRb*(_*$Cvik(&DH$&lr)bIa(7+IaG(g1#cd~|bhd4AEo z?Ei6d4Kd5M=l;4}>mG*Dp%7@ogul__CQKxI3#+SEP^#LL-%UR8Y)#o0p9zx70!iF~ z171p@Hf?5}*YizCZAERC+HpuML9H#kr4eCHoHBXMBFE%koXFr17?AQ8Y;A7G#T?kX2{G1b6F51K9>y46sCo&0?^L^&&!9Jn2QR-#mlh+mAw@fn9R{ zFuS#oG&?E~f(x3O-ZLM58ICi!8M7pCVLtdlx|=edeD-qzjB9JK3c=To}oQ$_d7Z6?w7P7B#=hi=5YUCV!saRVwWLIIp$TE_ZLXur z$3*3FCgRTvg>f5BxfsZ<^pw{f8Ab}h%`#fRnG0KY>z`s!WK5PLUI^OoslT$?6yF6C z3j6u+b~uXa8W@jGn7yK&Phygf%0qPdr~L zpkwTtss{EZ(??y3^t({PI~7C|NWs4G(-T{GQIX4M!*KarU3=!45j-&>1xh`v!O|k#B2$-+BAT&2PV)pL8AHR-iY36xQc{*pAvZRc_H?V!dYTqKS3EBW^oN zm1L`f=djniIXgJT1DQAP&h{&m5fI^+Qxbk~Xdq~_oHKp&S*NgPps!~4ElSY2I6nJ1 z4Z}5CsZ!TXgJNb`)B_d$I_38xCf13q4_`n0t$y|2i|ciFu{H2W=_q3YiK@u6!F~Xd z|H9NKWK$sU7LtGg|#859WPl!ZP#n>%QMr&kl(V|>e} z!}%<`tm$o*5H<(HblDYBE&1LNljK1(atPD+Ci5n(0Sj74pQOI;$y6{0L%$kDAoSvN zWmQUBJ*(1fY`Y%!w>vzi?BQ{p=!$P_U;D{BIJT3_%k;EHc&&9$h(<{C%?v_FIJNDO zG=`BsQUl@B#7}2Gl%PT|)c)jZWNzzcU`|oasa0~bR!dN-yS9S@YMTt4=TcGI#KYp` z+#io2*ur~^%j8UYRfd5)PpGbt^dl(@k#tEnL3 zC<)sF8Yh8WtR~@OlyptObvrA(m>+SWhy_oUbb33}=@^caXkrdvS1s*uXV4k=14<4d zB8#YlK_-N=#Vq&z$cc(?~CX+LYj@_u+B8L~ladaco? z`I5+$4mt3J<7BmG0!me(Rmi=NVK{@sTVX!&04)v&QVXLql!zeV36Pxvr+*CblJ)VV zMqp_{<6`VIoV?4TuT;+-XCpBm4%4bPcvP&zbmW~{OXO3fxEtL}AL_p5+Cq*>lQ)Pa z$SL-~?Ie4g^@zH*wN1MZ%5J*?R3Yw@MLIMO>B%a%1$%gMAXJFsvtIw;?68}U&!|Kt z%Yms%ttInMskHf8!`b^WZ1RG_ek1fhFYJbbVJa%8DV6|%|p@)r?XNmzE(%L{W8BB9VwT?O+H5#%;8n zk%SJh5#+f-0*>>)RU7Ws(;4z$w$1E&d(gv^iNCl>Ot|tvl$UnRpvlt0nP?|-Bp{@> zm`olBSK+1N<*3ees* zXH&7j`I*DC5ZoL2aAGpr4;6rRgbF|O86y4slYc?_{}(}Mv_mX#$1+K$s@feZT3rLZid-uZ;4NIr-)t zc4w;_4fuzx`iE%Ut$*135V?Qf8m2CcwYBEUpJcWNA%>gRE*w4z>M!bb*Z=9O5vhru zyxQ+y$y%wRKlx`Nu&08#SCv0dY3NOTnwjq*r z7YA_#OTR8C&1R3|um+K@Kh>IEO;C-eL*FW>RR6lU32|5RMa{2$UAWnLH;|{thJ15D zROgauI_5k|W~a?N%toKt<4n6glYpx9$Q%?J^G~>?Z!e?x$1X^Oom3`fq(WOFOCTYL zKK5Ax$R%l=3W^8;voFNXs(rP1dcqmHircv3iL_;%q3Ofb%SU!wL2Vwm`zvrJuwfeF z@5dju(_6B)}tbY9hDFMEc;-PzBNB(_z$~NaaF50Yzxe z$LRy5pd9gg8P~6&&H58)D}8p)z#RuWN%FTaw1wzRD>J8hp%!Y7iYN zKQX~rzxuBS{=lJeOXumP?qo8DqZ#-9N{M$j(%PhAGdN*5yyKIHc|GzPU{b@K8f z5a4`BcGY1=q?5V=AzKooURaeh39%QlAIJ@nxk%7DrW3<3%h=5@?UWBDGKeSh|unuCMp3Le{v>+HuEWAK`ZcfHPL>jKSzCQ5%G+a&4YoX$o z;cF@Nfp-pNI0m^^k6|r)P|Gq9DB-c&Z zS`NXIJ|xGgGEzV+panyUNkjtaT-ao?>j*cxu?-lzPUNMm=@-laI35o^AL&0TF60Tt zZb_#EgXborA%4sm%$5&xE(*JlI6ABgd@-TiP0Ysmz!r<8D$bM4dE~b&swMQ)$Lprb zR}J%JMb!%u(FV-^)%XeiVPSn_28Lf7Ge!>*ojUn5c1ba4<>@KPJn4jz(HW-xgFZ2T zbu~8`R1-N_n=2@jmB5xamBCL>OtBwjbF%x*q$RFVtA&$?kqmJL>jlM(XNdr2t~xfI zuAC(-A(sqliYOr|XO5>BUE$m*Ai~<(YS3}(xiBPQVZZ?#T0tc+6P5?0r($~Px*_L3 zu(53BM{9NsaJ2rII^fZO9CBQc)+TncWn!Sag#ndVNDirdfZwqA!Y$Hmd%^#!>-a> zVcF=m9lpY&Q%s()3A~C&u@*qb!B9xrX_A+st4`}!L(?-EM$)rAfwy8k+|%v7O3(H< z4rwqwkNmAIRya+>M1$dov#FJ$#pINZ0F?A?n)0`hb9Jxe&L~zaVPPg05y4ZazZ&aR z+Zu*vu4qxZdI^z+;YvuVdYqov4Smcz3vp*_Yw4t4y7tOaIkh3tG#ks7Zk&Nc^)ms8 z#WbV2dRd`aLBTP7gL>^WW}O!KOJQY`L6`@v@_^NJ4rKO(+a~XDR=cbgCuI zn0mIYA+v;R3Nxc5%AElr-=YoU#BEcIgjf&?mI@d8&?!ORO{`OSP~M8CT0~Y>8*U7Z7|gehg_)|h4zF(GoMaI8E>q$Kvo(V z!em(uDS)2ShGe&AVI|c7|5<3+*Vzoomw_>rgJ)LGu7uCQUj~R8>2;RWFy^PFsgiUr z9#0kxA(vK|_O*>L=o>c#6z{26nwcM({y0BMP0n{CHkkQ5eLy`XXfCHN58~U<*pV(t zL*2gc2%!5+D4rImxwXgwI?seAx;l-Q1$;qAIwevNL{;5_j}il7QO>>z73foT500VS zd(Gb(g&WI365~iq8uq`lt+t*EnuBF-g%J%oTlisI-a3utE^32W20pYvQ!eB*Ra5~$ zvODfCX;|1)!gSz%voNMmF%XF-K8b!i3D)>S5l>*&E%p`cPnj$ z+Qa10!Jq68!-4R0A6Oq?u9TD+JG=EEP=2q!ZOMeRDe91KMx(A+cwq#gD+2;I!y)-V zQWdjuq6wj~#sPxF1W71QB^=WPWtrV|O`|-A=H^qKT0wb5;<$HnesXkk+!gvg-FK&S z)$wcP6Ia+*UP>|Cfs$?`UVrgM<&d3CLqAKY7wh#hwDz6J7*T-$Fdho#9&o2E9zsiw zyYBcOoWki}e*rfHy!i0KL-opaYW8y!1c{79-FNV>Xc5}_33m}>rJo!*aaEXaP_)a^ ziPREoZ$P}py*OCcqM~CSB&C3vxEbaWcsXSXW}heW*iOrOG6lV8Gf&q{(1arg(}6_p zlpE;$qi@`F_`MbF(g6o}8yYi(jgam78J-Lwwu2x8@JYfXwo@ySKA&RoyJ^cFoKb?t z>|q44(U6u9o0!ssV!!lHPm);*DaBGpxU#CK?y_IEHYdIf0j^N-FgK!ADAocVgLqc< zn-<+3`d_(G@9g~MsC&@^zXR;A0#;;VrD9Zx_CzsVqL9<*(C4mKSY_R}rB707{=x`u2xLM43ioRaq2kr2e3Aky^a&W+A$ku-a+(&z zwB7>17W4eOh%-5yR5~N&JK5x82p*_kN#w3+AlC9}UIMtD(8`!XDdnR2lJM0ZKEnfH zUSM#AK*+k}XLV?yF4zN!>gCfvfa%|P;bv8hg)m(8MCsWDY zuUjUyT|rFGoX5WDRMU5+*z(UqcbadQ_LbIM^LncS+d>~$%&y60HmurBqhl|}G&z2j z92Cl^5^HNKC0atEc0iSatYaainp$lw22y9R+-e#W#Ig%o8?o$ozKVrlTV&q3)>dvk zK^reMtFoDd#A3d-c5C{UXz~xB>1w$HporFmq}~Vh4~A?}ZD~jZx6L1&g#4APd@EvA zgR{ORtrf3>a}riwyb5M8DCwA6jQ7$$(*V#Euk@?vZ>nr7WYdlJQq{nVy}>t9$c(?e z@#8GvZv26jayHbKQ_fb)O1YJs<358a9>ve%T0l)R-+?{nvT>Ck6&H}6(A{@3$wTYT zdbSYBVaROR8&ic@ymZ|47hYD47OPJCMYf@Y5GtC&t(o!kXwZHb>n^HN3k&cpN-r`f z*|r^1Vd1YDWMT73pf6j<2-bqfn~-|0e4E&~SYRc8vjE;yaCO}=lQ4YP8hDs@m6+3| zQIK%-bZsrUxRM-T$E=UhzRHhmjaXT<{ z^;b3>!nw#<+q_O(yxdIQZT{N5>>Zz<`OfyH_`j2REAJBR`B!k8s3+#3bDb%1C+5yS z*_U7W6s{KrFngQ3SuhXNk?-i6?ZRlh`OjIzN5fB3G2`c3Q!4|Z8$L?p@rhfbRcieBM&HZx*dG{Wo7y=0KNcik`9yOiOci2Qr&B`7Li zr7e+&y1g)yOI5#B!1lGR%3O7!q@`iK`1Eu#hy49kwsd2h$4`Fqy%o&HubYMoXV>ec471A{PbAg^MR+BT)hS; z0AS9F{~C5WAP+wmrQ8|CugNPt@r&s6c^H1=5!??MZD8Y$t2rBE%~M_FcUUbih2b@t z3tfZ!N)Iq6JW{uIPE5c%COB(awS&OJrK6lcEEwc?_QRTr3pw|PH6b`?<4$JgvbP1| zG$&wf1^+plj4{wCH?`}8Po|eD}KZ6-< z?=#$(uO-5jgsHe{|N8jPA8vdeENPq9QjIClSiBKwwL2>_GUhN!Y3)3 z1St>DtMR+c)&QpxlQ-dLcppsQ+BY_5>6yeOKNHyk2gM&Crq4Dg zX76B=u(*GBno26yVi_o7>9rM9IY5h&(v9b3G`8 z7$Va6wyQZK$1AqdYI!1yQ>K($iqCrDvW*sHl7^z8B22qFt`!Gn=Rv#XhorW7!yG-9=54p09 z{eMOd36tK#t)L6^a~L^Cmtm%3et!&7!8+auYr&1=6wjln(&K`^)FkHNY(BNk5!ig0 zjO8|&PKx$*;YH{)i)5a9b%qu)@peM-;lokZ3~ZrYjUL1x(%S~>E_f*G=)kd4FZHvB zczuiMH_tTTSz)+2ObnJjO!`+eKL`aD<*=}eg>!?z!MU-r9M%tJV1&7xdo#$`_?Gr7 zK~@Z>() zz!QJVWh}h|K7T=Iy#S6|IE9T32Aj~JXbN73LkwEoE{7+EB+v3f+ys6_aY7pQlw+UV z5 zyhvHMuYGW0cfJLHq|LQoTKAhEBW3>#z&I{{2H<2=p9%YdO=p?IcT`cgO40p*7y0vDA50^K4BqfQBOzEOF)xAiJ#W*=5C+x+{5Ty!eotd^Fh9GI%uCBMG z6+dTMBIPPzU18A7tZBL#n}93~#Pfu{4ly8zXYXa)Kq{2kif94R|XHF{7FdI(8;~j2@HDLfoX$msZ zJ??q~nPf@-mZ=70(c9t<%Ys1icx??VfPvD}H=6pzK)y&4?Kf!+c%P=7#BvG_90$Q% z!n}-_qW#$C2|;7GGax@@YRveJiPYdtii?)ujY8jr^t2V^a41#RJZXwoyQZrFd5Rid z>_>`4aX|D*+c$zL{LKK5+=f?>neEz-$o(C~b2hZhxBoYG3D?xnHcynEX?jQswQt#X zdgoechhfj5ZgCkb(XrU|!nV+(Mv`$F8t&d=JoHU%iKj@4FH>s@63$QVJVI&2K;Eg0 zE6i&`#y-TYi!m8_Gj^ozMft>knat*L{>eaI{EfRW_)xj)CvwwQg3|-i)$deb7ja~j z3}HPv(vd9oX>-z`_rF8gmvGP%;5)P1$yC@UDsUXU0seOwA}V1f8+{bR>+~MSbM{36 zpYc1mcOsnmn2dCY(dnGh>=Z7kfg8qE1q_^_1$y{ov-iuv$;tU|x*L!R_+iSElo1eV z)8q45;)e=Zc+1mP+4SSXy}v>m#z&iH=Vx6NIyb`&MD_i+>+7b5;XG+as2C6TaNnHF zOHt~(kPW$n;WmYEn!%kr!#Sq#pZQ-ej{Aqdw4M8*SnVC}@}S>sJ7V;?tQv*R6gyP|f)d8W1`V5WBO^h8vh-HikehrOOaA)L*`b2t(&USMK- z(X->j?(b0Y(?rb7FQT*oS)U03I_I`CRTeS7wy2>tm0M^roJC|Q)mt2 zP5@zbGoJXasa~AiBpiqZPLzZS`GR<*n!feZHSbhc8+IMp7~Z;OqB#>X8Gq0lFnK1drub#f$z)2HkFOeV_1RM5<*||s@#E0ax7+1P2n=%+HU`CdycpB1!e<@$ zJH0*xvMR5_{grELWpoym^=w#5n-0HdJ=!Yo&>Lg8Wtg)o}L<=(s?H+0r$qq zr3hr6TnofkAqk$I)K5*3P7IH5$xEJyHgPR53VLQKMI56qHe;Rp7n^Wflvm)e z@$!uFsF2#q!);0|oEH*FnV_miHz55=YF43N79y(#uZXbJjh{lT22+t;TGXoSDc%KI zsd|18$mM1gG02TeCOoO814yLwunkdhJ4wutvh8NzchN_@RRRx7Ad%UWR|wy=AeP|( z+Mrc4kgGZ_A2t-z6RPf4?$`MSbGPcjM&fc?ugh$blZSCs5C2|oZg6)!`a55D#DD9t zEBR2YwE?<=gu3Koy*F$fRu5zXNssMwT^!y@kgfLzQ9}W-Z~>wO9*90-;UEEJ4cE^Zcy`7YxBNShalxz-C4g~cU+;s4#Xd) zJiua#0q2Z|*Ex9+-7VNpKX1+q*7XGIQva^U*EKVac4PiWWV7`FR2e6ny; zsVMO&L8nMMzo_Gzno8H^z9@yF$yu<2BdtU)=Ma%<3mr3K-og=XNZ*<|FQ~X*S&mQM z(!-2*YWpB3%)py6`wR|WKtF_=vC9l8^a<<1n-0Ug@Ir{(^Ow4vYcMn6Q<5;(<@ zmK6GCLA%jxfUIqJ+utT^39l#4Dok@F1(&|wB>7!UW(pfWFXXtEjWUfE@g}+&sTi); zdSkvsVXsWnP#H-A0$e`o>yqilwQIez4oX2HO-b7tmuNyj)4;q048ir;03a>6G-d2I zQ{r!}t76LH1D~dJX|6Y2w=9yG!SzXnQiXXd9ImROcOB`Vha_;LP{QZ9*~l3$`&g)O z^kAQ*Xc|zM<#WIQ<7Mi)`Iah7>=$p|UUm=uQ9JE*4>3n)mC60W+4|{)lEj4#{uQE_ zO41i^@K+6P0rq7!vH$7(^rG_|dH&)J{HXOVy4|B^!7ya;i#PIT?WFr__k_Yx8#h{J zzky|cK6!tC5Bb(0A=dhfnhIK#>Cgn37p3Exu%1O`zuC&ecYacGxi>2o%+KJ+Sw<}9 z8FFTwGRyd}e|*}l&X0F9$&qCZeltG?e&eTLKOo0t+Kw=vf{rHh#pQYL{OFIGWi;hD z!kxDMa`xF5gVRPvaZ9^WKIRG=Jn|$KkyL^u=V6vESH#Hfw~aIFC1#Oj$8X`f%U1A%hbdE& zDtkLkY4C_y&$Ym+;@(RGtTJ_{idv^KF~iMOVHkuY;x%lX1V%&2>C-~AioAsKWXcc0 zDw$p^Lw>l}PH*HCpl4x^A4o5);t5H9r*(HksvM`B+5RV?1nr<}OfvAYq0HOwe-2(; zU8`9*d^$ELFK$pCR>6l|`+>E)*^+70Kq(4!dsLa1WYjU_llzSzA)G1!NzLhR1&A?O zDUwv-vx59`H_~J0C$)&i@QrBbU@)(|Nw*R=*t*%P02`yBAP?EVvf(nE$*d>o1yz%W z`TfH@b&Q8HV>qM_PXZJYdnC+}TPV#X45 zli=<=*i3DUw?cKnntw<|6aNP3nR{3;X+BFEyWK3MN5yDrgQhAcbddV!tncMfa*yt} zsP_T^2gQuz*>NMInVzN+KWajKh?Rq3h(&`f5wQ$%216AcPTJFFJ~9RORgt#srFZ4X z$kN*7!-&`9bgXH#+RnAsQ&|!!UW9TU+|Q&o1b?!C)2@Jv(;*C;akVUd^|;^UT?wH z7k-?cINt2jz*ca((P(UmcTScWrV`6DjZ~4jWyN3UVoy)$27M0d^u}`g;zTU#$&K0X zFOU6lgce!)X&$oVsq#WgM3$knYGoDE_wrRgca{Ny?Vp|^jPI6zAx?Y0WO`u3TBEX% zzzaRxSZtTh!lYXWuAC$qVwUOv;`fXP08dXQ*ItxS($X-Qmz#K;r+ajBc7D{oIqr8a z5BleqH~l{@y6z%G-$JAr=IVOEbX;!WhnvGWism!^1&<(ia?f0yeI}PVA;m=u;|XW+ z*(A#3^RY5%LW;VxxwZB8t8nr#p4b2G`i*NLhOLwXO1zb+rvD83y*)oa=^mWfDVAgh zsfC*=-8F{t7vY&ro$}+*?Da1p)w&f+$4Rl2+ff9`qsbjz!_?2s`2?5tf-PU%0&94Y zpPpKO6XD5qwKKzLI*lL$dOEy29_KV8BkB0sIGEjcAn~}+G&}h{@}EA;*5APEpWZkw zLQD?&s#b(;bJIQRANP+T=Yz8*mJ~-Us-CkpNWQVVd;Rra50muq{bYvUwQ8q8V&VYA zJm**ro}O^)OvRxt&FU(X5~!WWJYhhsmjZEhRl5MU*6RDKqxsWd{v_~z0)(FcQ}@H? zbwMe4f|jX$JU}3*JLp{#O0$5u>ZJGRKo}x+2CmvxUNz=L`!bCiE?#Z<9S#X4^e^@( zz)2{(Ox~}TD=}O&%VpxW5K^|GoVaRSw|SD*O*!-3{3FHaF|1Lf*Tj zy!MXH58tQ1Tj_6@=L*wC`t;r9!Ox@*P4Dcye~^N2Zktm?%_bm0hN0nj4-6B$f}0@7 zPsp&yr}MXX`64>DJ>#`>>&oG|~tbtp?R{5Hc(1zF^u+f1Uwb*G|u|Y3S1G z{Qb_BsA{YJlUsk|)<10h-Q5}(mnQ_C^S9=Q>4)*(w*R&R=@Mn(&2>>BEGdkiJB~if zButPdWWQSXbx1$1#==Kky zJ>&EJq|9arl#~vSXxC-E4G{8V5^ogyS<= zqR!a>Oa=Qkpn93%TXkF%!qebMKG;5eXKoOkqG@Ug&R6?=HkfHZl{{UZjapyQ*0Kn5 zQXMW1FD##y%iXe(@3p=|MWE5W3;1X>oZa#$*RMqy!H!DyQ1!PV!>p@j61yN%m{KcdLG758 z9C{DqVF)_p8#3tNgd#IqozM}21zzJ))TY&63V(KLi|EGM2 zNZaU+nve}4lFZG?g>A~zYfL8vbv`^quNw{L4IHtCA3+>DKfw=CWW9O4uNXmSFjwpA zf*IODau&}tZVlW{x(Dz22S3A&H>c;0=bRqH#~FNp6#;*H>JA*E-to_8=a*fq>6~^i zFV8P)rx(8*ob}I7Yp1=7gTrp^^x#C4`uXzw{e}8|dT{v+ZujROzM}O>o~13d7bA{AV(XX(uQ}P42CY zF5vM4?wQW~7pu!=J6LiDOYXeJ&j3F|{EYCE!{;uR*+po(2yGW3>|(9m7Jg#gU97u{b$4Z5 z#O)=v^%CK{LI4>D~BD9wX?Il8cDWJu?*}%^o{M^OQm-zV#K6mi# zEy~E&rgA@lf_x9kuY+s>gR#vye!{SA$Gp7*kR;vKsNI@r+n%;< zPusRVZQHhO+dXY-+O}=my!D>*@!XI9jrb#;+IuN7va+(WGP72$1^X_9#H{Q+P zMxphCC{oBsI7>~y~abVbcd_yp4mu)%kx;dRnE?Pj2sBTo3Cni;I zT>QKc#@`g)d+2KR6S6LnJ?rWx_7gf)YYqSd%}3w~nV&b(DOsF%-$Q~L&x%DUnTPa{ zX53cOLjkU~sVbjaS#}`QK&M<@%aCpvnWrq@47q(2;nKeyf(*_cqCIEbJ1cTJ=4EwG z$UI(0EIta0a_B#Zr)32`h-YP6ypbx%s)F5T%}>eJUc&}Uif+uzJTa!}3L_ROU?w!m&IxqrPoz&d54HB&58KP<KsBy|7 z#wak)f}|oBnB-VQRs0~XN9t`G`!Mf9TBkKoe;h$RC~5`s)2(d^epEkTB|@SFOp=&J z&#{lwOj#E8?h~Auwv5ZUsoT4edUa^&Hpcf~hB&ZtBDy~=yTEPY0scq%cptm@`WzZL zS$P@o(SCfr^7*)U;`@|^8(GQvsiz;_}r)ulojpqB%*E%nhg zmj}?Ce}7Y&FjSh@`3y;V@vpIlwZUFE68@#k-hz{{nGVlv&r#lfQ=vqE027oT% zdkVxC2^DT|bAtSSfd?c6Vo;O_;H+U5f9-w1QW4(Ww#!efc}+g#y?+3Y8?nNNBHpY$re0n0qn80kR<^+ZO)ko4*v z>4jawV~e=QdLhqd@qYnPi}YLlKOp#4|99#Qr@4oYhjz#43yrq&vNr!)in2EUiGUW# zxBCAKK&KA(?9=v!DFAe4Il8mF-GyG>;&1OruN@oAhhLJbYbg!QbY?cXvzuLoonGP| zZ}E?hB)FX^A_Wa(HKwvUGua*aJZ{1sx8c#7RGjWLran4xpSDea%}1RBbjmBuh*E_R zW+F9;cA-Qy2*M6JfWL~^L<5PxjW0OL7|!iM0zJIT)i4wZ2UGysa|}cuRz!e~IS?;D z3yzZDYk(sMnB#ood0izyE2ENS4khxFWReXRkg^JQ` z)M3>|=54~Po8yA5J4|!d+7fXhZu@K!pwXOR&!Dx$pE6b4`KOFQ6<0V zQV?90WcrVGiZ^zjRHQahrHN=P1u1!4%6uqiA=L9w%4Nh+OakjfEfzWE9=q3o$GGsf zVW6K$r=gS!@`}~-N(E7+oVfB%ocX7Y^M%Wb#vJ((0`p2^>aF`t2+60jhzmtT<&vUG zDbc00xboVZ`E8CuPA8%Nfn&_s=o%Oh-8L%(h(315`zw0PQ3yRMw0s0nIf2OFQWNvl z^cEp)Oc`Af;*bh5TaxfT{?*) zpT&{S=^*5E7CR+#=ksh8 z{I?LbioVtVGk58aM=Tdp7OOc+4SY3bK04i68EEmrft2avxdo^Z5x^vOp z#kfAwT%Uh)xJEd42y<=bsjA;z9^_vDPEIKaGMEBN@;uod~3kzS41h(RRsHeuQgur}fmne&LuyGLUD6;aG; zBxE%lx*ChvNI+yRC^8=$Sqh8!t$}ZzKC)CFL;epv)Tpu@)eh+Dg|9PL?nZGFAbuot zH6F2%gveY{WIj1kVD%!_IYT26v5}m}TwY{8KeAL9Q$B(*AI(^ZW;FC~j)K_75RFj8 zMg$^r0;q{R!ZDNeCd5WkB6Dex`Si$A7EE~y#{5Mip{kKkjfDTPV;8WR5|O1z81hsM zyYeheQ%E^jiHIzK)sPdJ&y6hQ$CM9X%>QmI1Unk~UpqKh$p1n)fny_XXI^RFQ8aiC z7jtvDV)&JVjke^FCbULzZk0aLa4*j6tRelrKKQRE_k2&+cP!pb*9ki&zJRlI5x}oJQ?Tq}k8I!+0;AwC3;|PM zB=8;=U?xgVxyI>b{b>qpfc;|}NdG$oGU${GNFXLa`3;M(_U{J7HH4iI2tJ`_f~qvFB&8a%~rcd3t4 zhKGuw|AnIJE~S0K;8ZkJV~SoHz+DV?`;1Cwd?G}VnZFZh zW9W&!w}!Db*zU#?)i+5yG0!(x<`b#-g;Da!AoF3E$p%fHhc!MjllqEia4H&FhEGuJ z9SBf%f5~kc5i~1Okr%7TNmb>hYVb2O`tL5G!GF=f7r);@7UO205G=WWMK8X&G;DU? zX~1(}SeC0yy0d~TDXvXYMT0$s?^bl8o_%JRtYF+if$;HI=;f;-kQ}N1>FkJ~Ca$4( z9Ha`rxIT}A)HzvfRjq?OPr6WWA80q#`MozqWiRe_;B8+s9&<+H!0dhyO%KgQj0ajX zoV1;^(xziA{KPmGW762k9kH;Ddfbw&%yl>F1X*K=dVkKiHYScdMJd<`!he(`Nkm7- zc+Zebjx{>BHp!Vi9h@+==6ddg9n)#Ohk0(r-b28v`3y;x)2#a^?dSq6*-~Ge{%L>= zZ_M}^Z2a}&0%$CtjE48ON~nz>HRdkxrYSZb@aou4@5>#s9#2Tp7NFn*O}eaI7W7s00u?Fk(HT^s#O!>%n}?P2@ogssjuZqQ-V0)+IQ zeYGl~#85Xv4xvthm8b?U2xB1xNCZ8=t8X5Yow3_%A%;T>uUoY)V|2hh)kBJYHL_<3*2cvU*=`lO=C?gypDN*ue84hCt+WhhHO$ zJ}UndL5tyMA%fObWbAr@44al(5r;dYb;d;IvAi0^4B6;af?KQECrkDTI?yG^tF>6G zsa>QJxc(8{}Hcm>u(zT59@A`XT-iR1R3J6Fk8YvWP(hH9U%xZ0d~Z`9f%MjoM>13eq?Z$ z45DnULxrEuI6DrR@gBFx;LyK~LumvpF%8BLG)ZG537gJY>iR8=!j^`SYV3}6i6lEj zl3f88hKQdQfiVIBJM(%qe~DjMJIx5*(13xLmJ0~kvm~ZXanXJ zF$S$d3@F0j+0;DdUobmNfiaR8e@G&C2;>J5cm<#TvP}J};O%>Dr*910H}oy~8wB6a zXMjW!^Eau*kx`2?4Ml}~S}oGpfErma4ehynphOD9|3pA%2UBod6_L$NM@i;IjK)}X zl{poV(|a(wC{)fCcPd@zj$F3+|FfuE6jtGgta?IPJv)Igwx_Yt-`Ivp2v<7KEMI0O z5-J$Tp6fp+^sNMwKnf*XI&U9b;z* z0>8B`Olw7`+LBO}^4(JI<+hn5wJo^nity)C77X-Q&jr(f|d_?d2 z&tc}@ZWr+WSJ=yBRub2hG!9IKKV9gkawXXNab3U0Kn}?QK!lU zq36=q#%W*EJm49D#)_a(J?O?gH1i>v`Djh)z%8NYe;rDVo8`u=^~+1qio?wbnj7eq zm7pC!8mHCF@_x?>EYt;+8(U!OTN9021%`9O+KF~bO{4UrQQF!d=U|q1x+L&X6!a<#{Sbk6 zicT|6r%|fgAlGf0=RG6vkq>ZK$Sw-6+YVS0_%y}xX%5@aWIoVjUIBm+B?cr~#R`J# z#{zNui5R89?GBPDr zKq}yAn(0$jX}^Gpf}_5pnb*+F>u8pqH_NTqSaAj9~9c&RdiQjbb#`1oM_!FxwdR1?PcsUp<(6?4K>e^)PP9 z0}3_aG>1c4M1TfrC#?)X;viw6V(u#PH70D7ijBI?*fc$u@D?j6u zQBr0%5B_+H-RN-Yr$-jD?kAV~-GDAT(Wsv?5%nV@tg?N9?3mQccY9_@mWe8<}rHC+> z>YqA@($8G{qnP0v1HeTj$z3i~vt6ku1qyF~<%%%pdYU?@IONz(Ui>D^ut67o;w>-r z6k%Wuy_V>@+IMe=HG?o08k{P^+|Qg(P>cx65M>%_CL}0Dgk^v=^J6iEPy_9fW~L=1 zb&#i@`I4a64xS;(Bh+kNP-+j)0Luz@?nfxQw|Za+4HSK`J`w|LLa14)kklVy1FRU_ zIoI>lLBW1zJi_7|1Unq`*;`<1*%Z-2f*AP%zu$(ik+>GQU7J5)EB#(oKp(2UpK8L+ zH)ECBusntz8eb8ll91IlV;|$2<@yx*ea3x%6~+2TMa@Ve^Hm#h?yrNQ5G#p?wkiMV{jCjP4YnJx}8--@Gim zVemgyL`~2i_O$0?T;%ySg)f}ZtyZ@H}Q7 zHAQ2%I|Z^P@LrrA+jA@Y&3ACGGA`3E9RZU^xQ@J6xp!{hSyNoc>Kpv%_i$~wF4NyS z189$N9r>?vq20l?r@4;(H~%x&8n6Hyg1v7nXdupyeINpG2#%k_|6oGvWD34FC!O0h z+8P+?iU?@=-}1&;qq|<=If}VXkD&Q(Ho_19#+-o3vD@L^`N48UwT4t1gn8M>M`+u5P zDy7PXfX)L6H zROVC~0B+Tc_&y>6iYJxkr`^AUcjQKcwYgwT=F%ABsc|N2ac9=$qNT$=SR7NxyDrIt zwImXN^<@wLb=b&{vBSrTI}bKbQKPMvD{es%q{OH)xUFG&j(R^yC7_ujiLnWLR7m&7 zP78TzJLi?tqoro!Hyz7O`}eJoJs$zTw-d0>LoSl?8D4D;7vxZrj9V_N;|aVguv;G9 zE7|+Y^C+JOr@^C(e5D7x^`qHI($=lOu~$~Q%^cjvt-S%XO%&SxN!0ehjE1e8kG=Ev z=K7%K_$K0nv@f7-Tjj0ZK1qVJ_ai|YXo9@F{%=fMxGr>KJvk7E z99$=lZ~1E6m{WHHn_(q@CkRqXe8G~yiB~V^hW?1aAT_<<|0(_vdH)4+D%N-*N?51h zKeBe0P(axB?kbh-C&s(|NGGu0;sYp#t0t82#m@LLy(>{#>B&cX`&dQT#|@pq2a4$d z_Mki5d2s&%Pt<6D+RqvOMkjC#$co{6y`qCYxc0%z%D;Z@hA1ewd$N&jb2WM73opHg z4Xt{2OGU+jeun1ogjD>{4NQKZ@7E=vgP(NoygayR7g)IF3s>4vD9yQ_ETcxVXK`I1iz%_ZmlxW`w+fDV?!ZF`tiuvyS6fcihWK4Cz zw)aSu|BHk11wBux&^M!m<;&oAy}{5PALo|UkiwT?Lgha7xlejhltar_%%s~_%B69T z6JfW(49zVg_vB_y7tPSlbLG~@ODps*XQEHOpkBu6XM!k`v>r6wYa%(dm+#`q5oXT` zX8J6ARSYOTsDzI*Wk#Uy2tt*I!)o9*p0ayaGL!I9bVl~OoiNug!cVukJ~~jZ+sDTk zkIEF2X?y!yYyBs037sF$&j6;fA^UflcoZAT=Gfh~?GaZCAd$>4w;iPMD(1J6WeOF=x7-3uHNyxJEt0%5) zE^@R{2*T9v8(#uAzutADLmJTG*Wjvec7Gr5V2+M71^j_gGn=8%Bk%N##E zJ?R|?@*TLmLX6G?0y3QhS0v5u+8{Vj99iCoovUn}`!58N%gdvf$v#GKz13!( z2Yp%AA`N-iP=1hmL4Y0p!@x1Q{Hd3tu-yZEMD$05@; zp=GoPsav;Y-UXImEWq24l$ZXg1&|pP=^8zH(lo|0F+L$>9&GO*^=O!q5x_VUGWVU_uXYg`9sOgcu4T0Wh zl2gaq1@61YTF&us35bIy5D0L9Kfuwxot{`u7CSs-LLJv%P8sC-T=WgY_mlhVzG7bI zczz!b2?T%S&j*DrV?h_5wAGO;VwRA8fjS^{OQOx!@SROjh%Rqdh>u_D+?#{uXY=I3 z-rR^`_j>t65jmfvwP++E8!nF&WOzL^sNfVS#{Qiii+MN_4-$%l-**qn984g^Zv`6m zQZ`OW0JfR)9%-U@XzFI)0eu6qFbp3o&ycm zF9=BMYDl*gPdm3wbRb*fY?(ul;M84KOxUL2FH}pIShWI(eN`j~0(`4}MijxWc$Ii} zCZRj2u4yWKz-udyoLcR07rhiIywBg_(k2hejYyNshK-nX{)AWr1Xl-}>E1PsjzvZ! z4y?71Nu1BoO`Gs058~EhC@Qt$_#T-FwKG!yCY<;23#bnI{MVgmZihE%du|TZJF@mq zL?VWhej

+zm^;usc4IvIq8`vH1LX@ zs2Vh=r{jQXjQ+`c>DnYq#VhtLrNl~p7O9?YElBAKTU5X}*Dp6}5H^|BUZT)yUxTcBG>}j^ThTOQc~xBXih$b2--H>|_?Q-TVws0L zyPpyIS2g7Bv65;_O8QPEUMT%?B@%lO%C*J4oVfMPwk|$&STji@u`4aG=XcJv$cvJj z%H>@-zE$CJqqJSIHLBY!S4KGp-BL=0tkA@S8^!ycrL;rUT6M1rDye+0il_tWzim#q zO!k}oQzDuSXUVMU1ulEQdc(NOzFFjwJ2y7emvWEvkgIG<((abkXop#ACtPmlR%rJ- z$gXwSVh@jxz=`nlfLkQ5Re|uP{@gMPdHUs@0e^O|E7yH`F->EzC-B`LwxpiQnP!ul z=R{E2W(I_)Mk0mi^dk?1AzSJ!XIY7UVJQgx8J6xm(0k{mw_>{uxw58x=P+`LO?ZPA z+U5+BeMXWr{8@KK8P&Qkr=(=IQO3QiPx{%ALLx=;L>7*1C#Hz}HR%DW&6dl(DG@%s zm43B2V@Cox(Hqb?X5B*baGI&Dz7U(e(7(!>pr#swaIbm4WvzW?g?RVqW+!yw*MJs! zp;QxxNdS}c&^PQ(@TKWIx%RVai=a>0M`H?C(b5!?=qobcr4% zf$|{JG^7nN##+OPU?dlpPsEkJto=-LZz~%w%Ba69xLnonqHsfO+wZa$(C?)d ze>?g*&fdtxd3x<~aM$AEsmRJ+lIg9i&dLv`{Y)(>V}gAk!+&WJ`=ZK=?kNU}qYftn z_sQ(OvcL(FR^$41Rr>S1oAz7swjs(^FJ)<#bC9u{I#(ycFZ(C4_YYx=q@$92kT%r; zj}sFn_eB2tKpq*qL%v*5uq(@y!lL|k;&F!=zbEwT8?>){F44&Tn(MS@XY&%%(a}+! znf9^jSDi(Cx7{TP;@$gj@U))bzf-?CDAUhCtu)%MLyK#KZ$BI+ioz2l z)d&An!h{PfzF1XF;KhCisxuyrKk(o31|;#z?^Bd>u&+mlFoJ(>OFrlKLwO5}?`fGJ zeqA`TA2D_>J{e~7)39y-Sy?gqJV%SG&L0L8AtSgA)6VX|y`#Is>o#ctEpCR6LJRr* zx!wW#P~Y{ih5zf!XU$$aXzW>^`P4TYJrq#Z`$}|rdNE{WvByDAd@;#o$BVyo}$c2-`lI@jg?d zQy7XQk}Why=*zjGYT+j|m3x^xppa(qVT!pqWe^5Cl%x|wQYtaa6a;Gvr~?CV_szTu zj#J6%g)Is{-yHYuHU}RHeI8v~>baTECx-#FTyxi196$E%o9 z-Rn_|8d$k##Zv-w_T3`h#G&>%xB98Jst`X4Q+iN;g~u8zP9AE7z13&y8PYj&wasbW zvt9OkI}X%v;Y^^B-jCWjLU`2-L2mB!MVwC~{c_-1y+jd=tP=h%qQ4Ix`;8cG)`gy%`Y=VEqbv54e!KXFw{Md+WGF(Kg<~3PXHk+E4(1mbyz)&lx&A4}e?Z^MvLtf6dw_#&rGHlW0W zlHj)Dr7j{uSgIWj^x?ZnFR2-%3|kVa+@7%@3N7;|Z{iBK5wIZNKrc&I?aNt0GRVn~ zux8R?se>uNYlxByPG2A#GA-bMth$qRL%jmiQkoA#Ef8Sb{ovY$Nha>0me?{T07C&8 z6X+3^4np{a$zL0tRA&&cg4N}S$uN+W>iNP27M@3Na|T{kO@x}I9V^V#25)? z6ooLJ{9B9K{@1oTHMnBMM{+!?PsK{LzD00D-5-pg-@KVI=L4J$;8fjxGrTS`Nnf4T zbl8-8NFp;pew2^_{Y2iHE+T=T@tbIq$F#S3(POWsfRms#EDo@_`wgCGt8i6=5WKU*c8y~E~5j{X{gu5t#B;S&XLLO``vMm z4ax%1v&b0e$}*MomBvqgs)6V^UqaC3oXCd{ty_>c<7PNtb);9~1`$goHg)VgJ=I`A z<4nM}fFjXYaeNVls=mVxCHzr4oPk^eL*mtfJg0V_uX(A2@mE9>&sZtuiBvZT@ba;c zjT)H%6=NqfV?cK*MSp2!=oqAlUGd#CZ?$YS2j;MC-Y=^Gzg~Lrs;3iiZ;#L1j;uO6 z*9^fiL1b;LrQ|ro^k0LFKyRs%#rnI@cHv;x3GsaA#GfJ46VL=A^BkKyLFwXc4?`1( zu_~m-4r?9);LM`1$yy5fJx6F^^@X$J3S|n4zdV074f50f>G@+>(|8FdXWh_FlMJ!` z%qm}8O9k4U_&qVo$q*G7ZF;Dmt9eY*Unkibg{@FRxS!Z#*bt?BoFZpShR|WZSRm3w zRFQiPXA-G>t;JIGh%S=+-W-YPivy_}M3FiYu$LP{SWQ0WK9rz&Gfg9!Ts|Po$qD zs=V#jGl7fbPV{>koR0i3Nx!RYz~V=u&*_-;L>yu#GZ_j!REXr)&|3wdWmQ>CPmkZU?C=9nxv(0 zLG$4I6prFo*gh1{p$RFt)wN+!8?s_Ye8)ta5O!UF{pDD7KUzR8n`I1pYm>&`zmuBJ z&rSu@OzySNp|e=fqixFC=v<-~NE!WA#Mz<3{7DSBf=x}J=eG#`@qluL-Mu;%0C#53 z*!Fg7gPm!j!f7h=`D^EsI?tlz&qTS(IdfJwX1ht43o=(hxfjF;y$>K?U;9joxW2JU zi5kY|qqm|tOhco__e*#NSjZoFal)`%%d#Sn0{tu`usxW_Wc^?bdCK2>|RiTM{233 zO4cLk7U}-owko;q`Smr^v66{TMNK#yVqFc?92$QOme%@Xm{_ExnYiP0r1knD{Gj-z zqnEsv-_Ft?J+2Qr$*@wW;T{M$X#>F9zR2d*yM$Tzw3Ej1#IdV8&E|kjHYC+g1M7h$ z@4VDJ$F>z~L5DM^6lt(79Z*tp2g)|uqMl-Re7fvthWqKD zl@f_C33#QY2#~To*Z=Z`Mx(O^diGWyIF<7Hl@YCcKzVb95-(iJ^;P>~&hlqO`$w|09=kfMmX4dQ8Z55PY^p13 z#+q~GDYg1?C&`f8S@l^^lE%P1w7sC{IJulUr~XREG;OntT$c%QU-IwPJ>=NVx`RI% z+etHVUHrca+ch5)d!g|8Pc%l=6gR9LT73b^jnqs$dze zLx=p?Rzs&8B=Oc8=}jFE1XFUFNuKX=to_?!CTjSCIZQ>9E~%3;Y`DJPPYT(9Sic+sSy8V$x)|F#1i$=#-WuOtnT8_L+_?9KEFKy=`?ND|@giPpCzNQwDNRdvSMV zdU^+c_d{!`RPKy_7S0@=vO;q1`}XD~*hp-puknOQEQ4f3+DKIuEcB;N2vQmOc-({4 zhvcnh$g58$z0np?=AbrX81+VK`tGz1Sz4*1F5doBDiOUb{L}?}ejv6om{-zJzmWGu zq+W?0*^3pbj*ADTxn(a7l$e-sO~ znLWO-yRBZB^qCN*(cF-TRGl2#K3v$Twruy?i1uzC`WrU`6z4l-SM{-G630E5gj|U^ zUm`(;#l=zqA3wTkYe!8kqzy^iV|DewJB2bj!9$MdA%be$E-alhgQIp`=2|gw)EryH zx|_PVK1-D3dzlKUG>MgS02EI#D^C~ak;*#qOXpR~$gWzSjgpRE@2YD86sd5oguM>6 zabAXqlqiM{Z5mtKpxCGolB>AKjQic{+a#K?OLe(YZ)U1Qi9=1rG40{$1MY3H(U8V0 zC*Y0zbpcJ`-7Za+{pfkCPLLZz=OUcw_(tewS2(JX=-XjuQ(-wrY@X;Q_h@5 zLrhea-Ypv1gDLmtbqE5Lmf+M;Wdb2d*rke68r`q71-`CGV49L#Ead$ktq8z|4XaRU zP^#68WqEIx&gHGBW_wA@+^4Fj#GMD!_MJ&Tl;^iaLO+g1pxOKE0@6Z*iS!={A)0Zy zBSaB{Nw|4#3rb2V&hiOj;{Tixhy~nUP@aHSmM_btfSSVWdlK7AgTc-wtX}t6@!>PK zOnC$SAx80Mn1~aXCcwbFY8OElDMJ288pl-5g0ZKMCESC6h-mrL8~h&Ch-8zojB>%L z5|OmwQ~cmO&~e>H$tEGxt{YtcV#_@Z<5YkURKI!9uKWw`;Nw&}JKkt4=lP}6`W6#V z#+K4VqxE)pU!%G8kSds*&!n>!26?6;ZD?W+P;?Jczub{MbFz%^lGA$M0hqZQh}pF| zWt(zzOn8NeDNOj9TJ)#2X$0vMTf9drU9+A9ii`n_WHmj8oJ^K5tx4&}IOfJ+qe>m9 zep>yzy6w%n;jdkUB~2^O5-_z%Ci^}CODEL1G)^U|i&GWGMg;R4EcY*ZT-z1KRawsd z%-8Gez57TOa-|CroZpl^mj0iBbuI2XaGrN_F~^mGFhjIq3*V&F7vxSPy7Z=66R;RZz=%i95-uRMvFL6ndIF zB(Ngg93k4{p|aTiDNxLi7_>~R^LB~}JFRyPaaeWDpsXy!yp$mV_FzHAzQ(AUoDS}K zYLCg zX!Rmf^6Se1^1FYv@QbDgYRz+FZ6Q**H#$vsN+M*Lz)8~%1)WkxRIPLF;*T(dw~Lg1E1~oSPm~t|=AprqI&32PIt|y>^@vm0 zjMvaP4^djnQ|2+#I$ zhaK72HG9Rtap;dkb@-tAH z*iC3OK+KoQZ;r)itXHP)!2RBvAI07N2#1L^@qAeJ<>4sm`rzrP9V{ygyHQ-Mm?CVXJcsPCuVmC$GR|eS!A<_0_5EA-j^sXXDbty{cU2 zyUISPRT3(<;z~O4?a)-sy^5M_4jbgG9{sOCQ(@O8GKQT30eBsIXTs82I$WC2sOTv| zIxQuxp+JN3oy(8|{+yAEm?__MJYh8u-d0-$m!{eEJ}xN&iXjOK+m5`t4wqB7aeroQ zRvF0vA<7ybpHY6ejt7{>x(FGKL`UqCX4hog)SN65|92GokDRScoE*G>*>5fuC>w88 zaQyDKa8i}111#|}<6LC$x zxoH%tV1tFM%egYsWZ*$@UNort(I(;;q)_B=if2XCagJa8GYNpwkmK7BX!0MbT0Oi!t{{QhiHv^p9k|Ir2!$Gw+{o4c}5*RellhGSSERY7_op zG^%~agl`Bk3~v91>ViH|57U}pz^_g$FSqg)+MEZwC%Ul?tE2Q|!{?+77#H@f>WF@{ zZcF;ySYj^S{EgUTGVCwJ<`>r zOW%1XAL_RMj-LJ3M(wP{_%|`k)B6p2<=yWfwnc>ShadNngh+6-wA+*`w*odXKFMLP z$zW{5aSG#C?55(7Sz;LcFIjDrOYcwv&lbB1mtewJ{PvihCT^uNoLXZsr(^QApa-TD ztdy54Kac0#5pwI&Tf>peQ5F_$JH-|?o&`Bp0;5nGs1B}t&qT5?d7W3I>s`@iR}`0( znQqB>G?#;_o6Od?(Ma3x(8KEltL2qWqgj0QAYmFQKXUYeBZt$U&Rh@6UCSDlxE z|0K=$0n9%GjiRA&*i>b9LTnwePd3l6edIeBLk=fJ30JxU6pkFVloc{X{1+0c-Fl=g6rISviMw8L` zBx6b6vk%ijSW87Kd1+?M_&xRT<0YYA4WP0zUQ(+ky*MEb#}d*s&KxKQnXnt>(#tz& zB;GXOIFzO4*!3rbuE}HT8p{yJ1$wdOfTlT)O00In%6H5rxaO+0+R>pE{HZ3cKn`Q-WzeyKRI@L)hB$Xcpax6dx%3yjdKB6MW-E5*Q>qT!Ux$Zp zZ2$+n`sR-^^#Mik(&ox+WYWU664V%jgkH_wDzUs&t)L}T!m_!d3%3r#_%AoNug}2h z0s>+e{Z53)GYRqNP}&qlSv%C{>O1E=d~dQq6KTJ%XAIN4us=X?@A3nF!@hJKV8Rx{ zd7eOa9E@8@(PPjX-`=cU)DtsL_GjAyr`0#&@#hkdltoBwp25v1_p!!|arBbc4ET{N z2frhHPZr8|8LsL_4ffj?ev$wEwb;;LJ>;%PTTq5J{LymA4>S!T*);OI_p{#;fj0UZ zoiO4s+*>xW@(Ojsbo?kWVxP3guOSpF6B)L|;xg2LQHKht;y-E#!8sKermNb1vl6j| zpTjS((grAYjahYzV`38!c_t<7aO)omDEGN_gnJV|m5bMY>)t2h^}yefIn)142t$^8^ zIf~Mx+aB_9Hx@0`n$D%7#LM03!voPT8B8Wu7P=)}?82y5Ccsf3O7aqA+;%#9@zOkG za#S*8kTn{+|KgOMblNiZU7F$a32ya-|LgYo2@bcmktI@M)MO5hQM*K$8kNygZ_$-j zH5CHw8sl6j8S&}%oo%F0vaCYm(^}kkM72vdd{@31(1MwVmy7+ZSrYp3^X#M7SQSn; zOd&1~X%P;y-QIvaC5Zn5-0DqQ#a>e1f!B?0e-|Y=rOm^tyq-gEOhkZIAxQNL^^6ad z#Bv`MY!mOkt&^newN`4#+qS-*IjnsEra`iua^$T+srFZBbE`M?^3Onpw9@G@D>9e0 zrUTM7|LwVvqtAUI<`nH!MzX0q%x1+n_Jek_h7f4X07VTv<@&lp7c+cIUO@ftn&Kr0 zhN2oda$E$!x9ZnNrX<3x6`r%KOr5GPb2SOnzKj?k13XH&dOKL7D6=+5vkp5kE6+`{ z)Ih`A>mjIEE*|?`Js>vl;zZ5gB(`2r1{nf`NeRA1zhfC)x=Ha?|H2glw~vMYFdo5B zpURFwa!=;Gp2~Y;M^7e~2eU-J{7qNif!I#+_Mtcf43};Yorf@QMLaf49XRJep;ivKD zoX){=U=jM8>WDZIKX?R>ASP2ao~q9A_e0lOhQ+4^I>%dvndWbn=n%?#92~6Y zWC>l+f+{!Ert%*>!c*{;#V1xpSN-6Xm;1+$F1wE%l{K~E8m1~y3|=NGWu?x0J-2cR z_k(`34>E^o)B|!C)GFekTI{Hhg`OdjhEhr)R&ht{Y$i_yJMSN^7`tlNA!`iHx^Sna zj4#i&KBFtH?09-w+BYWw3P_T(CsHKJmz}PIEEEUy@Kds~@MyNGJ9VA)m&R{3XFC!P zw6ubs8zV1%ydKKVMNvY(Z80TNnWmhIT!P+5w8)YVj|mFJ3B~=LV|PNcKHJ;CBo(4B z>W#ftQ-b7SP3wbHWqf6P%M&})H>&Cu2W|68kLO0NiJEm>3=wn1=Kfx+11v?q_T?+I+D*o-EPpV4@hS$Q@jm9-0I zO0UqDEHfkJ3r)l#@27Wp%9k!4zf??@6=~U(DHZjaee~*yMc=&bUT>WJ49}mJ_V6rk z_=t{DW9v?UTAU2jl{wwRo6RU|Q5DQiu399{XA#??IQnx8(a0G+(_DSDvu%y_Vk z;tF77@qCcuJ8%f~C`^0-WtE$X!e#O`C&{PjYoJV2Ox_97@2xxw1e3gbU@`EB%@xqi zg{pbquwV2)34{df*%=J8OQOBH@GnYC+U7YJ-I!sbX_>}JpCjjbm6zq=SpX;H1^8PK zd|I5>bwMVnbR+6r?&r#Fwf@_RD8`w1XoI#(B5&AWyiwynLGGE)b38)$5U0FX_0&C$7|ErIkaB5HzvyIWGY2}ux}{J_Mxin${@(0%kzio z2`?$|?gV&gMiduY>Y$$npy05N*o)KDa~im{S!m3?Pk#~JIqmw~GSQ{YW0exyC3 zDyktiTBB|CR16D6OSw1KYfXKp`f14oj~IO4C(a7FXDXx=H=VaucG|&u^&75S*XQH$ zB`LnWBfy{j+IUDRx2WxRKXj7LatLB{==vO>=^~na66ivLjZm49UP_J(Fr|*v4^NwL z^+Ih~IN97_vUtzN<4U#k2xCTtmS!7o4>o_4Sqlqndvp!nRh(#|&jXxz=|W?zTIU6i zq{V=ab2-{LZ3#8w7jgX6oJv5lg0c<&!VkWjZ2t-U29BKje&0xNTZiO4nWRClgK;{+ zc#JjwrcQFYQ!txtnfe9y#0_Q?samXqiXLU)v$N9g3jsOr(+dXNb^ZE|&$lpmlILlj zb%b67-#PRLD>hfXS9myFtqW^Aj0HAUWmrR8!$kiqw^wF@f}+9A-0m3N+p=XVFH3m6 zr6!}M$IpG#Jb{x9LWjGZseK9>guGKuF6@+)FE_<9BY8yMR>N%j+EPG`R10B-4qr6 z5YFO8kerrJl?v(F&Fl-^p%u%49j~EEkVs;u)?zb}ykYH_?cnMwb!8p`&V~v&6*m^oQ)en_i;zC;>PNEM|WVU z->xcqJWVdCY)H1)Kvkw7;_=ld(~)UFQghZxj43w~_DC3Yf8Z2VtG{+j&S`>$97YFg!tjm%k#|*5 z2~~0U7sMGqeMW%IE1)*HmJ~WG)`GszhC}Wqg-}k9>~yTjd*a5{v#!U+TtNNjjebqm z<%?ljnm>o)Q-GVVanrQpEr%B!+Q#e?`u_oqKytqaM@QYG(jqt*r6s@@o-LsL@hO=1 zZ?k347epF*f3dX0+vSBYv~B z>0Gm=M4{1S2IchF5+pC{zqNx?EI`-THsV}K4r@oQ%+bR z_ z#K3b>1zRk+Hq(`6$%XF(etq~lzD@!h5H@C5m4riJ2F@W<>O=7y_k*XS4 zl~&Y;!d%xnk`;$8Sp}EPZGc!wXyqPpXH+0L5};4J^L!B;EX zx8s~{@)S%`8=aT(#bjQ9lAYz2UlS@8Ztp5fogDqHEeBom^99!PT-ZUbo8@eru+=wq z2ow$Psw%HD-Luk;Nj1dYv*%-onvQMsar?O1iHVY97Iy3{!Rg=J0kIquqF)+VhCMIX z?6adylsfA^hM923RPl5MyDTr4yV@obr9b98-a4PPi*Axr~WrD zM9O@xt_lU&_%(A9jwf^UyJxr0^2Y|Nu3Uz1pz7*gW>jU?dgHeC95j{>!0|YI#PBij zSDW6gFeg8Xf1}RG53W95cRmV}QkcP)UFGd?)U?hDYh*E6Ld&z*mChmK zA$KcYO-`a3ZAiqH2Kmy}PkN4?V>(s0)=SOX<{P_3-Yj$zydU37(qKU7lD4J)<~jY! zf?r|=!#ZZ$z_kNE5yk&J&A?6!V|}n)p}opBZy8Zo)7YO7RbHb>a#1w6Ji^=h)_;GP z{rzuS?!G$MVc>vXEJ_~f_LRFJjO=Pm{W1Ss%cI{(eC0%VO%~Yb-3M4=MVfpb^Xbtfe7J*IfrO_QW*7R@GKlGTD9gO8Cqw)=oAbNwmpPw~*$CQ? zCU={^pPux%m`MLE@%gxi3;QxhLYIx__NwGB*x{ICOfCnlhUPYWd#v#LAf3{*{w3mKJn4)l-(!7Rt)$|#Sz+|(=CX}{lkdO^PH%l ztgV?%JU!KoM!w23s8)gU4ox=4Ybyk$=VMmqY)EYml&&uP|zQp z2_~k(?(qYU_6DB7iAcDjT}&74-)e{Q#&vVEB56>CI@?;@PxJG(Sx4yP;H$gV;pU-n z6CEB&(Fal9@J=Muk_&&hCHcWREiF3jz=Fw)oA^XnB10j$tf1eQ@jX_p{~ z-4eJNDPJhTbftPJq#L;$t`rt3T#vt@K?&<7zXIDz`Pq12wQ$w9KGe4co^$0$w{H5_ zg~!*~$2EBBWuJ!P=?f=xUL>OVfA`MMh;q78PPXjf@KvUhz+ZQ4M>*&Ph{@Gv#r&4E z16roum=x%`3n?h*Zn;X+pUu#(OtUMtIgGsUx($Ev&f_YLreUJ=*6dFD1E9I&mf`12 zcndQ*(n|?$2asHoIH$ob6$G{ufvYTYCus#)w6-Sb4C^bp!>pAtf?wE=pZIY!D|R`< z)pYWhdQ$#mILm};kbX&ABCs@P*_Y!S94u8P zM5J|}KZucZZx|^-gEKsPV;>m^yue-gD^TkfYEJIJ7)k|ORP4evQ;HRrbMyI-Gtnv~ z^eTy7S<;o_W23-3>de!S4;O&C9$7k=3e?Pw{dX0f$0z$jWY)7|z0U&vEl4vNK z**7e%a^CA3b;5+x3+t$`xTJ!X;xd9n`EO->L|6m^GSn*wS0Uad1Ro*X%1~4VV<(d; zaF`J^-{R80710}VSF|%L+uGVnt|Q5r-NXYU=X`fO9fr3mlJ{%=*=Bb-otSx*@JSla ztHOBi_-w`o+!uzI0Cx@7_rEy78Te&Dn;I`r1%epP7}kpV0p*gNB!bU3XX% z@yPKGPWs);vxENeuia|ZM(Del4?l6oJN)JN z*6*J6D^^2M<9OZEw{UBD@0W`0k)wQ$hqLeE9MXMUR;rDAdiV06ps0Rc5nJ#xJKk|6 z3|E|?z)WwxRsyg0g&ptW;Ib+OrBN-a;Dc&a|_`^#$0%(RZ+c>O;vs@1^&l7(fuar{x>tqVt!v5W>>ZCHfDXEyqXj-x;- z8LGrUtc}@#T#YiES((wzfa3YTnNY=Bt}cl+hgj|slOrBH30*SwenpU+t+gnxI$K^cI};4*yI@cjbZS2GayYzD(*bOdUU8X%sSfA;ZDR@sSy6 zh<3s)o8eA;pAG78^7#1!)Wm@{&q{<-E`+S&ySj5XoqWc4r4j@$F5jPZkM_T*{mn*# zft}1qyf>OKrk4@v8Gc+OHfTw zvb!cTRxo=G>CA>FWY;D;!7CL>RFLi}S6hfvWOkV;DwmT)a~PBc1{3!6*KZqN7-7rY z71+{EJ2^igJ(&tb%%1O|XMSC4Vsd5>5R!1K1O2SSd~hdlA!oug!-rTeu7Ydvrf9Gb z7ZWPxj;`2vnSxQ!{i6F3YD0^(O6nDkaZ&>OD49@?$iBRg}QG=o)m6tJ?zQ1nlEo%DY6kaQ?u+;ByuLJ?9m%=RK)|6F2C|wkQF+Fv^S4}JEe`~E z0Osil)FGE##ws)L2Nmamg;NX+Eb)!njk((FL=#B$pT@ID0gK9+D%0r5wC%|zd2%p* zDOs0>>lEL5*&&&8!8jr@U63uv_{lQ2tcRHr@{uEKBJSWQ4k}t&=xA~G>qP<#dS#@` zur1&IS5z?C&L=hkoBsGr{T`0h6S=;(g<<_L=8@GLO%X2oXm651A;}$4I?LvJ+ zVd!DTB^jWQ4&9Q5)O05oBS?!4#-Lj3r0rnQvGnd9mdptRX=UyuH%kFAFU0p7sg$yE zK%wQDQxta*5r7LYfiNGTPOg+5J?-c^koai-*%WTe8hV>hG`tef(Ag5jFy9RF6>7uL zl@Pnv@)F_wa*|iX*5A3nbW^U3XRk+`?Qf(*+r(FiA0l zctZ;=`n9xqEXQL*3-J=xux^X4)**q{Y5=R%y_mtn$-}HS3`WE801~3%r5W<4bzrD@ zmm8JN(mv+^J_ywW7dn(+%c)SR5>kbHNpPiAb220-Bq2?c(^|9Dz-;NK2XHj(Gxd10 zd(u7ap7n3e&X2kU3~@Xd3spgqCsnDMh54m&W@{iXCt8KSrg~bk>VfmrA}maU#z;t7 zFlbelD*FHi%lakp%Z^uI*f5zKK;-m1H~=l0;ZPDBkKCeaWnb56vHT9P5-)=aphfK5n5kq$bD(mk!LG%eiH$7H8f zJ>|(Blu)jT7u;rBWjv|*yCn+!#dg;}qq#J!TZWr@lQ2Kkq>t!${AoCY#Jbvno80?Z z>PzY*;pTA1oEg=f(J4Rj;|TV^?Za3UNw7JL7COw%bF3_4I0bWQH>(aG2qI5<@SZd3 zurKAwvt({ZU!#!=lcuRIt3rmIK2Jh?4noJke-Msky^Hf1?5uWTy^^6cWgs?5w-LUf zQMnzvtWDC0E3ZUGA@H1*+xd&je$g2KJ4S zoBuB&=KqU`c}_%3X0Il@HaRM*mb2;?WM#^qJPj)BNu(JgSt84Iz!+L_SNZ_8J{C=m zVW(M{B8PK!4@-r+u+GQra)1^Y^gUBFc;@Oa5Kv6zAJ+FHDd zX}iPZN>X%1Czm)-6I46l_d!J3O~Fi@h&82j^z^ja>@2H_*%!{I!@+ROMm3eX6E2lp zUNQ6>O`IC2<`t_2X*D()J=SDE5RXXXi{)T)OTBppjT}cb!gRuYu|UoswZUj2tlf2| z{bBt7{6GKC?fh=^VeG7176@Yp=>j9P1ox~vSWnb(+Y}rW@HCn-9d4Z9 z5R*%u$>7(?)QiQe8*~O{^5j^&hiihNz^z|w3gV5FIDu~6&h3(Ec#9VXfy?stxr%dy z8na63Fn}NWLSb$-Qr5 zayc$_p3F2xj3o7CIt&;Nl#`$%Ta+(t#j`_pbLe0$Yu}nzn%;S_B=rs`hfA;Ee0zL$ zetLXxqQ=g^B0YMMM8DB9gs@~88Hw3O9p;XJ#`V=rlw zV)ZUQ1tS)Aiamv4fO$1+cN$*jaX%S&RAU2jnGI$COO6!CR3+kdG0>MHQyG^Egh zu3~Q>*5D-UYaLM@^zNw)@-y?btYXZy2>f<8`lol`|;c{(CjCKm~vMQSeKZA5iI za2kA;2qDbtiKhCWD}vH?3I)(gzATx0aM8tx&*jTmR%n(-KqaF>y$SkMqco{}JA2XX zWH7s6pSTlftuOW=fCrX7VLEYtiE0Y3{M;+Whk%3o6*0TZ+myE`; zqkxfJWxB=vl&e&5j_bCOCK#Grj{Ea`LSs<{6d21M_n+e1u}vkC^zJw}-*Jnp(nasx zBfK0ebE#mdCVTY$^z@IyEwjA2rwxw6oi%E{nd78JGAGNj14-mqsl-z7ygUro+HjG5 zP@^((-!X13D9Yu>%q#Mi4G_7^5W+W>lvOtvl51{qU0I^{e52Z+?F757q%zsqUzT&3 z)cw9yAFD87>Logx&N#XZ1j|F%+Wy2}J`k_S`fTdpherZimQ$&m$BEe&TTD&Ex1 z;aA&_H+7dR6@`et%cg%$wdjmkRvD^Si&iPQttqoDnwO1I?y$a7OqEkqC{yGwbGD9x zq9@Z?wX&un`uOU`PV#oa6-8eob@6?kC^Zz=z2 z8MMUn2AO7s?AH#q++k7>ZNRZhl-JNB%%xTgx2m}Ms&}K(0r1rNHoNEHkd2_5H<%3x z)L||J9G8ap614EZ9Ha^-8&l1~jVYcc^(oqzviMyWyv&frq|d_CjQx-Xs1LIDOqZPb zHB!6Z)TR2q zlBw&%rZ(=SW8fCeZqdmW4J`_-3XDrr|7B)(XE|oi40lp{bGeXhodLV_b`iX}r$a@h zAVB66NAWbti}!-%Ar|9=>PvPZ^8#yubY-e?dcS;wG114-T+DAXChy^`;ksmAzJPi9 z6SNpU#e^T+CA)_UoI_nc+l(is3{^*t+fBY^hD7T zuJUqzQqwiD|6L8hl`pAJOpaqA8!t%$m4urYY+EF;Gy8S>j+|Q7%>7u*)u0j~D03eQ zn9H449Hf*gbH%wC0S%1WSm4sBfQzeW1 z7@;inZ#r2d@aOItRg;bBB>S$tg5di=Y+t+IyJN9ad8?=p#O}AR72h9VQno!OUazRg z?rWDAm`hV>t7vc%h+E#w_v~_Ty2+<%kkYD>i2v?rxNI_~?^)J({g+c$zYm$@-M7CSPSMrbNU=DGuK^4B)ccB!y0$^A>#68ZF2B-`$AcF9@vSa)rHQxlV*UXDcQ zs(=O|5BkG9J}JtPo2e|x<-Ke)%riGQ(ETYJ&qgv?mg#rX-ZV0$%Mz4A61TdUnJ;e?{K;8oD$4)XDT>7=AQziUQL}zmu>{2GhyISgB`eY0N%+%Y@Z5!l!UJ zEL-HL`|jZVN&n{E`DOR#%k%eVM>lFw2w3>BDqL0w_wB*qKQ!E2cWkA6Cm20&r&9q@ zC@PRtS?6hCIH4QigV~KQw1KFNAKNcqdIKRW#_fg&t+X2p^&4L|)DI}8U*lint*R;t zExbpuoJ>Avfz$foBP)WA5boGOSi7tMKP>Y3Rv3tdZD0|kgB8ujB2V?~@a68~W=~IW zFTi99naq+@hVWp&jM7)C&^25~CYU<(OG^jRFFU%w1wntyX6K*B7gNXvKYy${_}qaT zUGQ7GNoB496V4*Sjf{#H!^9I(TxiLqH7rdF$-D-LrzCA8&^?v^_!#F13VTS28TmmS z|H4$qp}+_D4IaU$;FADPkE`yH2IT{6)_5lxZ+hxciHM+k&x3&FHB!qZNl*~)DHCX~ z%j3|9ulf#{s;}6(yr4`a#Y@FRo7FRd!}U_(q~E4bAX(^2DfU&7Uy6HWe6fG<~xgK0E3; zRWhm5d}SO6*BSQqord5TeO>V{!@=!H{F~ENSKB1yB^@jM)M&b_#>3cBr(z=qqtUmt zV^k}zB{W7PYvpEy`Pcn~H+PyVimao}_yWpGpT@%!cCL~lV)@n=k>b)qA|&tRCE{mz zO^&)VM<{R*Yx8wc*y7URDnLV;n=-kS{m2cqY!lGh4p8T;+-Kp11`#&KRE1MMznw(S zfsy4BwXuvI3rRn`@1D6GBLih8OpgqiJ*q?EOC_?(aVTJJvb}91^W?sc2Ts_M19X(! zq@@hOtI#`B`x_}Dc4MhR>auGqOdL%AHCL z4rio2+x_Fx&7sszR1uu43mr^KW_KNv5!k@^A$ig<0Qn)& zzcPuK3Okq;s-}|!dRKr4Gw~oLl|UoNC|zWJH~OIrP%`+Lw#r98Q`np>r&+2eU{zy%__3OnmUlY15p=a0Vf zIzS2PI@HCY;p~3I9(`vx9u3EQBN$D<%cNi5a#U%e&D-^8Gg{wl!nJ(q>rZ@&xt9*a z0FC_(C}O<7W7ENK+@IY0=99OR`FwKcuQ(fx&BjYwG#gSqMrIek_zn`y6ibQ7}ffZ74`aVC&Z$BY@cnlltTNVGqHTce!x8JeH#2| zop<(WP^$NuO%~6`m3-k!6A})82pk;r$f^GSNOibS^DUp!rtVWdrIST7D9~=sdUfY^ zKEH2oZGHaydGqtm=43k9+HN!&ThMh+C{N+s!SHzJVa6pbpzkR$!fypV!1-3R_+!XP zE=pc%aJb3-_U+_L9f}x>FwS{Z+*=9NR&ylfs;ZJn3*vlnylC^w#%?43>JeT&T3?|O z1h4VS`fE!OshB|-`3(!zqnwbR!|pYtuoPBxF1;^#>qYrC;^AoIc%>{;MrN5OMe%cB zGV37U5bh~eM1Z)@b2r`>&Bn5|!%2H26yX}%uUEF)yd`!U1hHs(rp4N66NIHw zHik(NQKM6+KEhk=D=ef{vDB{S!08ZoPrzpUS2o&DzO~tN{W}Cn6&K}yEqaqm-Ao99 z%bSbn;nD z2*@RKvT@k!IqkIQwLBMOo>EI(ocSAqESTBdj?mBgvwB02av`s90#}6*tyG8Qf9?JH zb2~X^W-g-%(UJlgz1R7ruL-3~WStNxDG7{>adJ4hyPJ#wR#M0;Au0Ovl-&u-(RQFn zu%9Rf@f13R#bgT0l_*6XLUhb@67tz>Ld&Adt~VDF;wC+aA!ynY1j69cpZOe8QxhCq zicp$~*LMc;kz>3!&qh`2Ko%)GJi&e!y0Z05YZg9Smlf<=p87$XI#@GROxDihF|gxd zD!e94#irIi9VVk^bJ^0dC5~G=b;yw0V3{mY3T;q;S5~VxkShU}@gviqT-i&P!9%34-%D0<^rdJK2f@^cY_J zrjNa(JOH``#?WMWS#4Fig`y}*?Z0GjK z4`8S2)@b1YxY-4$&8?+aS;&2C-?QY@#GD_3y zHlXfFvoVH&JDG%R1j7b5aS2%|#u%Mu6928*)5aE*%{WST^&=l&<5bpy78aQ4Naa?osbMUCXP5&nDyhF>f)M%Tt@@ojmf1km%k;D!r$Ywqweqe2mDPQVE*sqOWLsR6#Pw|=IC|v?)}-J{}suA$Q*Sq`oFZTSHXIh z2S>+;2PfqPMI+wf`RQBHXYARH#MI7si#$SU9T?sf<26hh|7$QAMbI+`zHG!(_E7+H z(kH_?6VsVIkOye+ftY_oVL0614nurTes4foSu4UrJ{w|vc?dsR9?>RL`|wphg>S;f zn#}ISl!PBL=or3<2GAFR5cQ9=U5O{YoQV};L)gc|*vb4hxNn3J>Ftk7Q;uZ6$!NRPxZEO`s8*p9sXMgRQl|WMbn4RfeAVx@BJ+k zGL?ZzT|Ve%2frTwd?1YJuj;DNrWo$xx=C9#zuP0mR`LbH)|)^fu23w1sT&9!+LEHNi-wmJ57`PJkI9)uKPu> zp&;Dmm%C9kx!XKCKfM4QWtv=5#q>2*@BO#R_mo_9}9JlkcP{qE0~2ewzBt5_b(OeJ2y#he9|r0Q{gX?q9D zy!G*KmZ!b{y0jHe6fNt!L?^Sn?Sp8uJXboD9c7t@<+@WiLPz|5ew%77MiGp(Jfr2Z zhvv&cs!Kf+XP#MlPzYP*Ch)iytJ~_9@|Tzb98KidkDs2bnjmfn4rHFU;+gpS=}C{n zYC8NkpMuJ-zV~&gl}a#O+;P#}r>FYTGJ-z1SGu&|)!>@u@n2RJZ^jTjTRlQHcBfRqB&K>8q|>U7SzrtAFt5mLlvIl(Nv&BiRtkNgXew+nBXjDG1|{@p?<)Nz)7Y1a9PjJG zvl*tF8N1Y~7s4gJ0@gd#-miQbOlI72gnxO*i6c%8)p}EDr5W@#(O8$q<>+JSbg;Aa zXfpfj@$8-*6=P{3rm#Q$Vhj@(jH~=}6$bgOV4L_qImB5mg{^_HL&cr{dkMiz9 zO9#awA#MGc@6^Pv+WhmRHou*6UW+FW!jc<);XsQmJ;2NtE@hr)`H z-)F)cO}^giuai)J8&AgSTf{^8ZCUqkAI8y?N3;Iqx5+dzcTL&<^qbuslCY<6jIU4w ziboUJ$l`J4*t&W1t;yq%pov@V{ntS&vw9{P6<=bfW0Q6UB{7q?pCsK8!}7N+2(^J}y!Iz>S2mo3RbYOR$zN->(-LCPI{0v#JQPDDAMTKcVmvw#kJ-a$-ZolTSXUs~fy2qe zxG3mLo3ge1$%7?isjrLKvMyxmdax)kgU7HL@aw~9z><~z#&Vl6HAz=lHYsiPiBWv} zr{cHDnuS2tq9VA{E{){EYel4kd>NEM-c#(Z7G+^X_vI3p%^!kU^V={}-1}7x;Slzs zR-2y6Y1}s4=wj?GN!at9A&z(EFBuY2RJ5(zS?i|;1!!Vz*~^WS*?B;{3^7!Xp;Jxbxez-Y%2;@Yqf_Jiu@~2{c0dlw$cTobcUjg** z75a=EP%iNuiT=vS3Y$Z#)XSc7luB)AxQCM6r>_E~cK)?M8A2v3Z{9A-5zRY}z6;Gl z1k2E~sddoApF_%Yv+l_T|RCWBEZHP4izh`_)h*wNHFmP8s!5l9rx6-gmYg?uziotO+8n_NcrUPvacSNs~UH?-~do@nqAbV9!i#(IDsGfE218}pljdHO6h4`p& zSi2y_9oxSUnIs_BT|QXPmQCf@+$3=`-#S`<2||^J>o39PIpby7O8Jv8vLZui^VguF z31b;3h;|h!)MUzk!19#>lPehcT`@wSEJFs~_fuksq=8-en>3gEd#r{Df;>1p?4I?@ z7T5PlKbQJ3?DWp>1sCiDBSQK8HF7S%I?Aw-_@f3nfhET{{rMLRaT0C#!$ue&E+63Y zPgTd)O6khOiy;!$-P4l6C6V^WvmW}NbDK&9j?(NEbrl?;l59uae)sb9`0U`UuN zG7iKtbJFei!JA<(^7Cc4`;YP>=lx&0m$HcKf@5$ve$ZEfUR^Ji1%i&jdB@)>)94Uy zVqwGayh{4;T2aKA1IM;z;IVBx>rBiBFYul5WDXhE>%tn*jte+_lG@!E{S5csIM+#R z|72Q&BW$h%+drb}6f(v9OO%AO9pZ;53jXan2_W;Fdv!mO{3Y+mgQlnvlx}-Q5bMtc zi^QGSXIK2X!v%}LSPE)}Y+etG;_BjcXAAoW#*FG;q%nU|i0h#sH2M2hJb@b^#GKxk z$s{D=p#xUbwXP1k^^RK*8w^=U@D|ru>Hbc#C9_&#+h(2*Pe37dh^Y9lbS3+QAw0JCBekM?D^{w(?9 z6$;V;{rm;d?zlEUhm*TNOw5bPY#tB4WGzs7I8I3it0pT1vgI|t+GlE;CNSC^!5=u7 zS=bYL$_|ZD_KXvu33z$JBipD79HEav*e%5cj-`DYE|qH0qzGi#MWeN3Gy-^2hQE$(js#UtY>;R=F zJ!C8OK`gWIlzXb3J7HTYY`hiAQQKk(`JD5%p5b$93!NLLJN$*I)+Q%F^|$;PvEl6#rxnl9C_BnNsn!Cco3urTSa;l&SnxlRu3k zr>fh$20v%%0aRU7x2M}uhf#51!elD42kK}l{vn4m)fd4tD@x3?)1#^IrIwPAoKsD{ z)@F})!DK|vt*V}&dL)mqiVyP?tNLEU7y3Y}{Hu?(!e>pNO5Kq2R2_81KiPM9_7yCh zfKAgQuxQ%ill)QGa5|aICJ%G_k=XQY_GqmBU6T*6O#ZNJT0c27doX3eFs#LxtBaB@ zca~QFtSNpoPS(mFHT*>e(j2RWrw`e-%|o{8?$04|0X=WazuXI5QF6zMI(mD;KMB>? z)KMV+0a+sW-97)e(0)3@PCR(+V!Co*iLE z)`(fMM$B?+1eOErcq9fL)*-S`h>FImbhQ|%=bY67Tqvq%RnR1wG700~WVuK?Pu`NH zgJ4sOc(#z33+aPwYKDOQbCOv|;E~ZkN$S}om~wM9!AG>HkPn56%8yUmP_DS0JDNseWU4viSW<{e}=_@pDiA#NM~==fgYk z^tF0A3FqvS_}x;!$3oPa@Agnl1B zOlQMSESFwFzt5HshHAxh!c*Mh7R;*cZL$!*BVy0Est?=)^YpIAJ+EpsoXSF*i zHl(_h)wKRysA)w!6bpAsLg04sYLe(&cYIbnVtK90pl}Uh-kG6$Ny!v}?jRUhKPMVk zvM7))quv#=e=<`OgD15qk0#;?mP@oT31S*Pj6_FPq*4~(3{DiF;lG6pH#~%@CsNeWdh3}7b(BFuZ@RP zUu!nTiHi#|fz5O#u)I&!mMsjz^q8AT21)%AkQWkCFOnt(wkC*6L%zH!%Dg8X6I>mG zNqiFO+NK8~)F#u%BQ9lhHmp8q6ou0j$Orluq-jQdtWib!)2_}0uIwgXovBVQ-Lxd)n z?%v(cA1wpd@O?^K<+oj1)6cCB6JqAxq-0dD^bKF7=;2N56uBe~VoGz(&5%TbvTd%M zN;OIz0UK8!@V!hY`jSX6YB4QTt{hxFpi5cA* z$)bo!dcQ&%-nIjuj)z%*+7AA4yngq0VY$Mm&b!vv^uKjU3pPNT9=)dmxVs*qW9%RNnewFr}-^-kuW_~jSKAsug77X zMFB156?VXiI%)zi!gvZiNm=YUA3oF_mn7SjAXedo33gGDMxKT|~q&9mLHo})p%$TMJG$a%X^^Ub}d7}w(TPN;u1X^orb>?I4IHBNuT$E3h zCDSAHR|xQ$fbKzq;eI_J{3cQHu+_Hlh7NV;rUjGk=x6SNA>M_|mvS!2PRHP46UDi3 z(ml`5p1N)zdEk2I!9RuVy!nwo!qMnNH59e!R3V4eeajdoh}8qPc-Agi(WIv6$a8c> z60n}kb}>`deLB_mo%D(^c}UT5IwU!K+Mj-U);LLg3@6-StGw+bu^HArD8jw7&wjED zLrH5j{zd3aGjzDY>g0Avw(?T( zNTXdm$9q;jb4X&I3Y@k)U0B=|BM0SDBEH8?q)&{sXiI(OR$fG@JyE0=I#enJ*pKtUt#W^nz4!DVDN zu2vw39)v~i7uA88Z<$xJR*^2lmM#1p$K8yFBe?UUAcjyT!tHIj3%4lNPOq4YT$0|h z=}|#1tHTr$JP%j8$$YDB)}xRkg>3;-M5=C&r8F<;b81y->D{SW#P7k*f$qxFo&%GY7d=wwlZhl@o7ccRI@ zxt$gB>MA=DhNQtK`724KTia);cNZNj4#2`H_KQia?Rog=W-#jN`(!BNFNz9LkCc4I zkEAW@%L~lZ{immVemjXWP~NEqW@Sw!g*JPlJ$_Sge^xyFa-%2xOco55fubvK6j?9% zy5-@=!v_KIPFL=s1qPWSgiS!2!&|%D=QWAX?Dtyvh8d#Tu!Q%^WiyKEaHXWeB)WbM z9;3Z$Vr&`R#~Hr>=DdJp=dt?;81)ir8n`{pJqj*syr2`6ZfE<~|@Q4P1ABwb6z> zh1mq-i3fE@L+(nanil%Hff@+Y&6hP#*IRAo=2vDW=fxNnFlRry&6i8b zY)$F0_{Peyu${i6>cMCPuV&v+U5c4+?z3pUyw80h2+VtD^&sds*;^EC$A8Ld{6i3+ zQd!&s?em%Gl`SqF$?K%6l?K$GUwX>Nl~9L4&R58{fVB9k;`=a)_UMnZgVW=~wxjl1 z9Phv0cQ5~FJE#Ub-rMu@lkUM8MB0k!$i^6c*oO)b04&O@T`x7V`QfBjZze;>^uDqv7XMk zW^}y{x`#<$Fwt{Q#E4|lSuP=Nu6cv731oeVX$5E*UN7`PB*0zeQ^<9OI^dQxUN~`5 z>m8d9EzPTJBAMoef)}MjjrwMw4T{VKd?k1-x6D)4mHHjd#)9c*Z7fwN@Jj5mDJQ3V zM_uMQ5=uH`^S7!_1{$8NVWnIc1xR_9iHhbIQJJ`#hZAO5>7{gjq-88Dpw?UU&C1L%i;M7?bVnq@3E= zZd-+!Mj&&Cdgd`6c+WBnWXiE@%I3vzJL83d!$-PQr=Xr*a57bo2X6jj#?S_Z&dxxASmGN&t%=_MIyPqRvV$xMUW^|FJ%+E}<17QFmiqc{}I zv=s|!bJz5gN`|CxdgdyCR6P1j=mlPK zE#6=x{rk&faQbI@_P;1SqlBK#as+PKj3lXCF(1H6ns3B+u0DMJ5Y?{Noh$);LBI$% z($d!T=2Y{VZfrdRsT@wZWSSAsDBVpm(Oot1g;b>pzN#Vh;hFgi znz_su5hT6f3pdT0{ondVp%3*Bv%mi@wFM=v>hJT2*6=Zw_Y_&4!i#fESoVYhyYpiDV=TH8$~sN#c88M z(=W&CC6fXiCL2Y!4FX__4*sizE>1j&V1kWsKc(g6u8{crZ0T4k?5a1Ci^*DEe+EkM z3=J?PNH&n5H3JL_2v@FUV9VHOe=TGW8=JqRQdgT^_~6~p>Wp}5tWk~HF#8gcFGub; zc73XZ4~nI?gF6&-M%8qSm_gKRPpuf4L(uZ_cLiBN(yFl@kGmIW8R1#d`5~7??UTsK z;j)||Y1N}+1!5kx0V4GgEB<2x)Z%3%xiM14wcrLUse`qMfo3cXhd^Ffi(&7Aajn6V zv*qTqf&vwts6oo|)YE_+_QBWM4XJ0B%6T>C8&9+!h>K`=_v*F7*m27Zwy+y8p5c7 zoi|N3aeteUvrgF6z6Q0ZXjt2|qtUamA7^&wn2Ts$f}W^wYEF7M&Q))KR*lLTx#L}r z_4#B&QMWErP5UP`0aZ5X21W@BI2@H9h|+yNUBc_hkR;K~3@Dc2vL!q+ccrCf!%ZL> zg*YYun$ZKvZ;cr?F|c5gNY`1vQiVsV@{kvLwLG$pg6ysaPQZ!aI2HMd8g^jy4YX6P z<`${W?EzL_a>mUTdC3^yp2Y-{G~w(Ff0<)L`+hCBWCsr62iSZozijva*Q7Q5cC7pY zOwN7BWkyX+^)Ojw6H=#tXfia0?4|a;68;O% zX4F9Yco=G6Vr zCx=tH*b3#)w0^hc?UNm~*r~bP-Z*HtO3>nefU0?!SHy)HA!s5OvH+Ab&3&J352!bi zZsdEg(r_Ve+<)=8`cruD&CA=+Xbd`YNV*b&aRj@K+VSn=Ai+5E6R_Z3xUOnjGNR%W zQx>u{L?lwuxle%MWxH!E;$}rOij6Z6EdgFO^n@RNp+mwcuvERvf5n`fM&|hGDx8{6?x9#*``!gJqHlD-|Vdm)(?ipN2QJwM2ewpmKDV~BYQgV-it-#8hSJR@7af_l@T0e(DP4I0a3apOR}Sc^6>^SAt>2cwRp)X^U>vx<})wq zYdUPtIITI*&{nsRFJj*3WbiNVQO$?zs8c8k^TKrpFCmQPs*=KkGb!FRGzSbU0B!zx-bCS=ify0Uq->N6US{nE=+`L2Dom zg+;jZFhE>B8~zJ+2nJ)hnV#Q)z1u{tq5V!^@^36)^rSLu_vxaU&5EEu=E)68< zPT^48glXafafBeHKW; zsEnolhll;lL{zmB2JQaxv%Ayz(rQN@JMeRoE+A}i$g@XVUoY9&COSWLS>t?hW zI;B>x9FZr3Q)0S^Xe_1_hMMk~iyu1lUr8wW!3$z!d~BITCn7k~W4<-%@~661{t-l? zwdg^(aNu?BK79hAxtufZA&}Xb;2&J;E4TG%lKn9Yd``?Y=qN!OJhu}mkK&zw*nq+o zJ(0yy5;7hY61ccd$`5PozL|8OW4ZEO*<3mLS}?5HyCWHXIV>*iYz7P!#6dnc9eOMR z=551x!^B2$T6VjBv;7hq@r3WHNW{eLJrj29(fsC0U8*xCx?^sYg3j>W&h34-?5MRa zCp@C?PgAqT4pAw=ZziEs<4>%-(|Q|!;h^2n&96(R7eUh)v;OecE_x{@&JrQsoZVnW z@0tGC?LX|!S8>7LV*WmhZ{086bvA+x|8Z-#{amleud6rw3I4E1FG`XLF(P5&FmJ#2 zl(_e5Z-vVcit%96FE%5uHY4xss0o_ERL}?X3IB7AJ-5#{XM&+W!gs%a!QJlo-d*?a z?2Epx?jQ>TEe?>X*{A(m!Z|zO#Da>*_;th^V6Hd0cf%g}a6!xRt`dV4%y%nT`7!u% z?6Vc^@1QpY+Ggq}T<*m-(v z0=W=TXe1_Q86~GlrQ8E|iF`EX5OEmuE{8|717Hq4PG`1fb|sAXQY#pkViJJ1h`Wb8ahbbGxDuB)lc$#WxG+y4 zS5O=+TK%Zy-Sg>zU>4RoDjrM#*$nN|wA8IjHOYhm2M4J}b4O7FRe&`_23+q`FYOEbugBUfjD9{IP)p7u95ZIV3YX0PWIv)9>EeQ@yw4Q9pN=x;5(xVHIX|Q0;aD4K z79PGH&)=U{CZ#FW+e>-a4WSLt#gq)_kSA_j1}n>{9Q`>XR#I?SdYJE}Qp%w7#6a-W zNAi9A>!Wr%J?Y==^E5e0N+Bg0n-8{S#V#(=gO{IT8kAQMi8?b^@<1mxX>}lqM7iOE zm$wk*oPVXWLr4_f=;4?iZQF^XsrZ}BjL(R^Q5dC97&-sS(j-Z>c+0|-PNoOk?61DH z(3Rrif=5FmAZ|LLxTsYd>dc|SftSZX0XyMp1Dy551^c%j6K=4ctjhTPbToFaSu74X zU{L6^ci-{3&KjvLJMuRYMb=SPn&hbiQ690N`1LEP`&(~cHyKRm9ko|1=ueVq3gc1g)cyJE@cElV zS!AYoZmKwunesi&sm;nhy<>-TSe<|Jp&`zk19b687PL21|3lYZTT&4Vf33WyEZ_X% zaJ3Y!>K49q{h<$g?so9w+v-qoV7O&bx{}iV$#i)FqFg$nx9M+EpKT#(b!R2E=`Biq zM1B6UA|hn4l2igidLG!$dLxk4fH+^Y`W(rtr}22f9P%sM^>A^+oB_1LT)Xm`gV6%@ zKB+9Oy~+K5L+(p!+%*Oi4W>%q$a}K-atS$pVRCD5QojZLM(#yE&xC%IquO5AeMLv2 z4f%f=t5#CwEntqHWYh3&hZnA=z{ej(!N*(l+<^>0(m}801VyR9z&1}fZOJ9tR%xsK zS{zu5=he|qSvqoW@}jApu}6LcSxohckRBZyD%CIt^(Ke~b8UiCV!Lf<$Hb^qK5R?#r4X_?h*u&V7u|Q6$LU#keU9% z@sS)c)h}t)dPuRk!&Q@DTvViy{R#d$Out+Rh+Oi`g_5NKCs+9ucUR4LDeWhMplxZ` zHd&lL8?%uwjp;Zhd_ZmHBJxQMh$U}EL$ll?8E_)aZ*-|AYOT)Ew+uUS@)+H4VsKt1 z=;9{abasq;O#CmAutn7DaW}pj$FVlvCA9Y&gn}Sm8dhy&u=L#VjRZ*_PD5MLkrpU^ z`%hSe`;2i}Rr*&h756kr+cb^O^#~UEH-a)ziYQ#1@8=V_A{y2Ouv!w8@u-h6*qb+- z8}`~9b&R=c2p_pOVo^>0saAJx9daGBROuA1e3*EULn;`f+|?d7{U1TFj7cZFb$4F&T)Q=FCN-gZ{9wA3 z-%c>V{t!>h|ICSwRCb9J2CtbpE!j^QXaFYTc%1pq<-`@5du4~AM4*T2QUp)FgXe%- zH1}{Xmd6Z*-rX>OzOzdWR5$Y!%y7xH`($Q+_%ZkQL?C*A1}lzm2$e}+2UHYMvL49~ zQ8~GmM|D5clj-)Fm0oCHUYyN0f=Y4;){I9XKG=A3Ki?2Z{=XwooLx}e9Uy>$s zl15dbTqhT^;!G0fFI=`;ZNpiGT;ja$&;cmp*P6>tS(?L*4|4k?=zD_ovaLLBck&Y= z6oN%)M?Hj6bQUH!dT)h`p@|&;-GoR|<(zIP@y^U$*`d9;rDX5fOabzKh3w=@M-TEM z?LVN}`m}()LH>F>)z`mSQwAd*B_%1&FB@>&D79{2+PcBGDx_+;?WpJ5Q!OefLly6o7!tBn$L$T94^%AfAPe>hYQEoZNzN9dB z)=cR^;rX#^&i5Z&374Xnnj~nLG1j2XiK~7xoiQO7Rj{A0eYmHjI(nT##vR=?OA+{J z_-0o(IY~DtquBtv01pu!3Y;_Y-vBDGLOD(nOc{C-l+Ki@Po< zQuc^cV^R3P1+17U%UK&;*7&AdB4fGfWGs!rC*#CY!Jeksjn3HI7iiBHE}V+@U&*na z`xvJ|vs^B+)OL5rU@_WF!tE;eF8xa)+LL0fy_^^e{7qFJ?@Yy7Q~U!m9S}4*2p6$P z=vK+fAjsNC3T{X97_?x3tmrHq4H#E}Q;JNL$>fdycNerd+sf}czqvUi3gCUCrJJ)H z0P1=)tjEBB71Oh*kLd__6wd;mAQXxc#*FS657VWWl8{M{OeE6e(v15=K+!w@id?Y0Efcl}?yheQ)KyD6b0Ed?t~tg3>&?rJR40^wb)Sz1Qo zxI-qMmT83j1AaQ(g~dI&B2kxHh=~=40zqZitTO!U%4@%L93L>D@0Et_qu$%&`Mv1X z?L+w8F8us&?p7Q=zzfl8TlBzWPyODPU?W1euUjsHKN)6_#=k9QPtl<n_}fgB8k{UJYHW#K{M5 z*Vq;UW30@{N0e>gN7Z_`!=L-x#~d=+20knW*LnFFx%oH}aRX)tkD3ka2oG9^H4S!1r*z!FOwZUt%(vXv^(=;@B!r@H|7^Gq%svWB2R2t{SA> zYP;LD|N0H&!JD2k6-xGHBv%=NDvYfbLm>8D60zc>wtF+hTgC4fMcgE34s&{wppY|C z&`0ii!&kKtO(IxdD5&BmSOE1I-cS#cS(Kkr0_dKB$-<4kS#FgWwn4{X; zzS}Ihih^N*=Te6wcBUhTzlh=eAwKOng3|h)yYT5TrT&IY5rZMtA6Z<(yItbKHXAA* zQ7XEcERdnaHHTP9Nqn7M)}hC|&%^h?Y;o%D4H0@!7gY@aOEO9zZ*3RA0~mUsj@W!b zr8imP|68b60Zo=6_F0P4xDGOJE7g&cjj*xv4*MDYi0~i*m*JW>(TI)(-~069p3GH4Bd5Kq8gef>S$k+93=4=sqK*3>&6% zzf#a9NIsbT21NE`(`1vTP=3%%p<)Rc&ch3YnQFxW9x`j0C=rZ=E|2Cjg@yRD7 z@RX<&E>^_HkGy>wcVda}Z%taJdmTDYUJNVM!vLkk<~v)$8lbSfO(XZH*gA`krR zQE8z>FoP(_bZRZ!rV`*HsgCH7_4sgP!h>LMA%)R3*omc+@|(mfIibzMB3Q8(RYnOW zDcXyp_#KTDod@ntpPV98twV+JV=0pihDe3xN<1te~FpjjE%dM_}~DOXj6iW{4F^$QF}&UBLnGjg9Zhzl>qa18VWIQ(QPSX(CyDnnV9 zD+PFvK(BR*KMK1TXtS#vqX591Y|gd|x@6*jZ3+z-t#nCU+vosRf{Szu8Rbq=y9$iJ zs6#uU#52i>`9_YVN9YMPnwG})TGl!{mnW@MRo$dLj=vS%;gMD>YnP(VxhhrHFVpJ*cWw-=TBH3QG z)FWip+cMhqq-~LG+|cx>Ju%V$IVA|F zjdMxNvO|4aT(K8lCny{e5@--**5FYyTc@(THwdRlqeou zOX!uxBJ%mGNdm;#i+r!3)9F5)%u&5MFSMd5H+yDm8HL6HhnP#Yb&UTu0XHw4JUaR@ z1xN!%b@Xu`1)&ny*XgT zw;t2fKQRg&u@|_K^Mw&E@Pp>28_0eZy{P6Je-(h3s`Z6Sf#FrPC?FfIK%>yA&7#Zu_i-nae|D2*a zd@=q>pFo?XD7+VwE1_0!Q)M}a;gq`%ZjO{@rSd?<8Kcl4jaeW`8Tp+RKW;}ynzXNV zo=_pEMd{3n`ZP<7ai28j^S32Az5J-8!PO*ZOv*qyHK%U>NDdP=(aa*MC31ZQo&CSQ zK=$#9%&~bj_TUQGBrowwX7SdRIp6yAOqq+|gC^l3NCf0=$LToVWZry{l@cHg-m#ta zlxDd;6rRjJfZKhfJ;nMqBy;Sb$kfSrB~OD1UPa4l zg)@z%9FC_VMj^l14PqL|YbOhjWA3(q?BK1OZheH+$ak)I5c9y7s7JNMvxP;`!JVT* zDe^$84S;S!JTyev!rGeDP4y>2&7O;n0OkgR8<=_O>ZfNwsecB zOdwD?WPVO-|83eFoA~oL6=t^~^6z&AFsYp49j#flcXdEdsoHMRcpr{5v5yn4@cGkW z9IhBKmTp1}BjkHZJm8f?>QPxNsUGm3Ui+z}obsu3TxTBn1fNh7J<_rujwx+$Y`nmW zARl((ph&D9rwvseCbd25dEFxIMG6=*{#w_dAPp+pwRGaqcL=&ZO=K;W*PmMosFQHq zv=%5YcvDKIs#1@_=UaDDFdt_Gq%L%_+EceCf8SkkHp*H}8~Hk?6+Eg`k37g`=!`tE z$t|Ckw|A>K0ZE5+{6)bqg6i%r{#1kCL$S)IP-*-QU=X$rekqpnOabpT&s zmS@dTUfetOsp_WGm4cw=UkG8-sMMTE?j79{Al*Ucx6vFZBzQPoQQ?|3_O6!6UA!`# zpaDLq(S7I&IfD2H-x{&a{cyDp#zA=j{-65vAUAOb1uR6y%vPJPzJPYhWOzMpX(cNL z0iv6HW(WtH#<@e`g^Nb0?wGdv9#L&%obd`BgY&R-CB%JVadksaId<&NK9)Pi6RW0G zjt69W<-mxG=6{s1Rih>*V4D=TD$YE=bAV!xLW=6V60lyuYBW()G2vr9IX6L3KG8F6 zQ8v+{R9dR?oIEXGY%BGT&}WS_sHRm zW=+dVJ#@D?w?A-noV#r-zhwezY7ki)7WqE!c|8YzwEA{;VoiH2I%X=K7%#x|wVeJC zv4%)?#CD~#GNTfVmy<}EB0>50h9EnT_2kO=?n>^BaByJQKPb2re~S7iD=OH=Unlf( z+Il|BAs#y|LKzo>=jl!rqt@HfqNzhbR0AdZ(XHyo?7E}d%4pJCvM({$n^*-RPOxTB zJiv0Ae9lR-o^QC4}w=<17 z5q3jY(jj%y(d}r&Qc8kcQC1*+GCDSB*AAQxDpSn__P za&dM&i+WCe@^7A5x1WOg(G+z83Kusy2VQ}CHY!fjzU4<`)1D&M{;1o+H?Ga~x@Z(; z>A^Yr52|)1S3icY^A|hCYKl@;ZZF)n+u9oh?jI<>(H^Y zx9(SKUTqIs>JT0yu^j4RJMJ9U|M-V%8UkQ>q+G{bFBl`edT0P2foWGv5Xv~XC>uoF z>kS@%2kBtW;sotKtg}t>UxA`Lhd7(rMoZ9i;X9|ZgiX{<0C2+3z1{9jSa(TpTGmdD z%?(5vvQd}SS_iX8r3oDEgR~Zi(wNAUKN+octcXicsTEmOzQxv>b2;pl#lm@3OtNmH zjN>*#d*tb~#H+S9_#QXWyT)1y<;+E0ATgZxyqQ1v3}7y{K!=iiSUMjUej*FYWkbDG zu@E0X42&HUF}ZEkzB%kEpv2>TjEwE+>~qy3yQYqy7*G1jz_bk)(w+xO$6ytn8gg#1 zH?MnlifMb9t>s@y zK4Yl@x&`x69p)x7fn$Pz>t!g|d_hmV5(aN8dZ?2IRH55z30%7C!P0{Dl#Bjafq+RE z1`0Ue`p;gDttnl#3BRCv!M3Akg%rllS)GVgN~M~uE+H{k;Bi&V89JkU?<{hCKfVnu zo=((h%a-tUz$wemZi|*TxlG2%2eVpczLSwxhbkl)m)-q0J3RH}Gv+Jnffb43%>WO= zbL0m(dIVV)rIlhynx;9$5Bu*EZCb(7SKDhn$Wli$HEv> zf9j5E1TUI4s7)iy64YOFjZUY~7h_i@Qzk^_K!J+909NEf0_Hl4ylIvkz{xtc;;y;6 zZ3%lQ+cmO)Ds$RTlmSf%kVuz!{kMgZ#;&{21$rF&yGuRsqq!9sg|t1YxJYB>m0i`-2O@AUv(e0z$hmZGK_uzz0FWzo-P zffz`?2#{0dx9Wlcu^gZRk!l`P(gAc`)V7CFHge3^mXq%Y-FW*@EeXNr#1JJ71`_Wa z7*hcZ40rv66iD;dOb{DbCNr2KXDT+DGn9!KP5M0|h63csb9_ye;(7j_66vJ0cPNL5 zj%ly3d?EYKmhpvHKU~HA>-AO22jInqBnSGll9u`g@;{zjS_jhmaZ%M!1?rX#SeLwN{c2Ry5_Ev8X4H0%n?|lE? z@ijQA7?(>V_;FvFx7uW~VE{`5obJr8m&k0U9R5=v8u9~;_+o$&B}d|WdQCo}lc&E&J%KHy0vZFgo@?58hnu#dWUiiWR$=Qc@~VuBp@?OwpBIWEY8LT34Q;^iG8zb zkP|{Wq#~WifUjTVKOz|pw;Ul)WkAM~HuW#`$sx&swI>x2prMqvlSl<*BVHy|bjArW zjiuBegw%!-$7^L6ZeTZ{$kY|HqmH~VKa{Cw7f>SiT<9|+zx5_lx>FvuPr_iF04-vy zKp^Q>AakyuG}mAgO)4f)GJ*XswS;#rzGaGO3mT%fBXvrNqAsgDla!Z+zmRqQn)q!k zE8nj0lvJ+ii*=tyJ~2nk6r_t4N7@ZUX@b3U9%p?VCXZ6gJcq>bRfAx+F12Vr9w+M_ zbF~c$#+|WtRS(ys3|Qoot+sOs)^&XTW1jFWyJuYmB38*-iy$>y9AjZXE@j@qBi3cC z3qesDhRV^7m`OPa>_Dw2qIg~ZvG2FO3WQT8dVy{Utm`(jCgUvzrXD-0J2NDE{zIS+h`nFyt4;%Y z(r_mWhX`?s4e9HLaWg0EV*rTL!xZ%@0=P&yWXegtQWqE13vxFW24fJc8>pZQ@WbI> z|Bm5YqzY=<h%(&*Y%i?ATR&e8y^~61)~kn;?x`!BkQ)Hf3k47?l0}n<7$S`CL|#IxD4WjCMJ5 zK5ZqY>w&sogzZ*{HthD>(2vY20M|OsF#kr4&r0?&1UYlrB9LKiM4zF6V+Ry*55BZp zFLYANcHXDvPT7S5ZB`^a z3RBE?RUA`I@Ax1a^_1kCiqa$LkW4y+XX?Ia ze859GABM;-VwFCZKO_I@xGEWVR1bh(Tg_JG{$9>Y!$96V9hXh7D>u7tG2wO#^Z06U zit>2t@{{9O4;@mqu~mJUzmkOeeYWXLZJ@7gQA4Cak^8 zv+&ZPPvH%9-eR#1wx{YvQ;c)F+9l|~F+marlX^dMY#+01P@edF=d?3c2YO*(Shfg| zfb|@rz)R;(#+GLwi4(Hs64=%Dp@P(8UqpF3di2XYeShYt>?$&wlNRz^YByQa6GxnJ zrTDH-WEf`N)Dk#)jRyBhAr-4;#QHpeq|Y*#m@jqt3)wAoIg}@zS4|~oBm{|7$i0Dj zK(w7g1g2n)zy|KweAoHAiL*h>!= zgN5N1=|t`*vffHjQzESoNc)Hz9M{c6n4}3GR_W zQTwrMJ|cgkx_tP{4GFG6CL!oN5(R}C_xmTg4-l$6XoiQwW6NZbM~r!n%A}pS3Nwip zC`oA*p)z%w@Lt!ZE4^-{`gI@TpvL|54Q={EKbal1fK^wE0UZJr+B{9U`4BCPr`lhf zU7RI@p2r4Qd=|K_(eR_dqGF0Pvct^TWljNbGL-<-k6Ut%d?*uH;a*9sun5(folKmtK@vv+bzceM{wq*v@~@j=`x)SBO$grXbmNp zwA6n=3WmsTb#Jt`j;{xLme-&RrXX}{Y~z<|7im!bf;-v(cH}z$4Zau*B&_vW7iBUd zi~p?<7pxfkuzdaMu5`pS94$?af4m`@GMuXzpN&~ebwqZGtb#1Ee2;0#olA)w*&dVu z43Lf+?erGSXPGukBrEyy3+}mm*U+yzxEGoKqEBDP7MOzx@PnM2CDY z_N=*vVK+_p;Jlxz9D4}9+0h((T*zKzK|<@A!;ZE@jq|!HF?;Zg zJAtx`-Q6M9JbC{1?~cHZD395M-aL2~X0-Qbw9aSfB({y-ep&8`XOw=d~Q-djZ-)_lWs~jI+_-tczr=jv!XWBm5aElfxOmEykQNydy;e_DWzarMh^Q80e zK=msTl%`AZJZECk@{uWw4f`riw60R6Z7b7uj5hDzzZ-Ch zTqI(zP)-v|q0`PD>7wTW1Ivi>N7GLKy`@N$isSVd8a-&BPLDThYG+vTQRPNV^clQ_iCeyNkI`W zJ85QFm;_3>%o~fB(W6X4#Noma5jPeZDRABk$;#MA`9Kz2qT9xF%m%s<9%8Z2K)fw!3~+9Nya7cn%5D3N^%2g_9Ekx@+Q>PngGnW* z%6sK-217JE*z8)t0HbUf87w|aWfU+;W|X$vNHt1(O;Qg6np*ewJ?Ieh24tY?uSOcI z{ka#JdC~|D8+kLfpJixTTi6jkooK>f2D_@#h&gXls!@ z8+?fIr$<7$%(J(KHy8BhBYs%<_a$`*9a|85vk$=xN6I_?D54=_zKXPAh>5Q_jw}ny z-5YS;D$!C=X-x<>_9lvz&Y-*VN?jqT43(zokWwn|JE!3~!nN84C_xXYGYZ%L z;Ur9Nj6~3A_1v^{$E3Y~27fs!UChJ6oa3_{3YA|C;)je?! z{GGP{BrI*7C%r>4GtTsG&{mUQhfB$%L$_IvUT z`Oiu8Y^zM@fP$laVj>*|-Cc_t{8X_RE`tjXESJum>p=-YO7KIW2+V6xNGB^|bqS!; ziiwkEy|quvxW&Ely>V0GW{G!22DGuY4$4*D-No=kr7!Y)m!(L8N_qau%CiGapsA;7 z|94;M?C|;BgEW3DS{#pgMhZdWqC@H2@k#PVLg_i#VinMhRiZ>`f+|+7w~3Nl8V$Pw zXfx5XVgZ}%Mm~v3WAmR*!OCwWoL8StsI=oEyUu}s!HqzNlJnN_`^)?dwiw5<5gpGr ze@H4XLkUSYBdxBj-Ny$_Z03$J4w#-0AH$MAeVm>=7FT9YG0qdN|1fX<1zeKE>K)WR z9l{#eFoydKnKZ4rA+b|mgCzt#J7zdPCXh@n+aLUJPT1FjtziBksQK+PO^=*S#9xm$ z-DK8oe`l5-$MYJN#}BynosH$bL^mAi`oqZ^(GXT~Q$!V9M^U&{jNzAFP2twxUibgJ#?+|N zuC=;>KI|7UXu(a@@_xxl)z|tqdg;cAF8a)OpT-Lx`pnN|@BKgdSO4*$tetS`F>^H| zca?k-t#s`WrB7(=tf>y_?bye4fX(FVezv~@mEysgQh}Pd{>azl`CaBge)PzKizPbH zGFPEc$3}<$tTkN8k^i8MT>kPD#oNFB@0#mio-1FV{vPx66{`QzZ(}3v_cUjMXPkHu zf+x!T8?Ubir;{0=W2;t0|LVpmq zC{{K$OQq@C8X>^IzHQcU-GDsRC(02wM_nvYOjzYY=#!+OCf&Qka*5|1@o z>=p?3Bsb1wp5w{paUb`z0CW>2gUb`@WH%-ejee)|UgDFM?S8s>^7`-pZ1y3Q2i{?< zDslq)DF)hu)u+CpyA;_}r~XdNvpq(LFO}4mq`?=V?QO&OQ^X`ZAur4#0V+UZ_Z6_6 zPKh6NOYMpcbvZpVoxIgEjTu?Cn;2Bmw%>NC+FQ`}qO#;}`AUJJ`E> zxGVa3d0>eA^Zv@!*Gu}H(^tDY+KbZ@zyI<7jqvz90)BqK=R-y6pU>5Q*vy7G-ycuw zZ&`W%Z%?g1eIKF-wH6Qtm|N2SUw2>{SslLH2EV}`^kDJ%pMlIcWC|Y- zZHQl$`J1lfhcViOERqM74Qm>%s;@$$)V4(oFn-Rd-`QC1AhSf-ps*Dh#!#^CKQvu+ zkSOP%;isAtGCtwkx>JQ$(jRRu+zCPYbRIy|Ng1iFl-5x0CbF3Yn)hF%L|Ah*wBgJq z^OaY%)|)ywa?xZ2;ij5kdmDN2Nqx1~*{MVPSV^Uquf00q-{|Qt5qQOqnKDLg?|1JH z=oez2kL{Ome(L!o_Q9TeY%j1zN!61k=h@dsDWPuQW0+I^m$RbDL)p^b4kv8Q>l;6z z51wksH>k`nu}f!$pePPJ~qgS)j3OSqKB;pN_O-WpPt>{VB%?u${R1(KO4-FQy-E9m7!icN{V; zt&v&>;Fe)i7cDq)ZhX1m^tLg5e!=5!bz0fIhOzzkuU5R(1O)ed)IoT}#&%g8w#c2T z&a7%02g95?E2ttjZ?d$}f|4~@U6k@-S{-cafz)9~?BFzGr_z+~=|3G27--VNgG^T! zd(w#^H|*kWJ3XoDN!VSk=96IbD%BYq()jwZ*F^;GL2?hchToZk9qAm>OJw0@OSUCRsy73F49sy(7Kf=g34%3l^wp zDdCLxdM$=_cHBtFa%=UIBFX3{xig&*&*V%WU6kT0__k1_|NUDtpBuoE@fz9Wl0&~I zf<+I!4bgoW6OH!|S)4e=TPV#ff6Onrq__|hKz|S&0Cpw4^;699fOaIN>p1cl!h+qu_YU)c|X^4?20Oh-Gm95!RpWB;7nK8 z7zhdQEg?QV0lo@TQJ*b__IZ7Yp1cvm=5T{1xek+sk5np_&r!sOT4M80IAn%rj;G8L8_%9B7KwhRmF zVa$5K9NB1C3A?==_k!hHgobMOgA{&o39jW5A_r$W{9H%y3r?SVDEd$j8(Gs;`un^w zA_F@adQ${s2wTpt?2eIWjvm1vjgs@ac;7>qa~w%Uwr9RAlVVZj!GU^Jsl!WYoM6*;Q!+|l_6V`^s$cb5g_KMPK%|a& z^J)P#s2r!E9_clvB;u_{b)5!{gp8a|q5TPAM^x6ZZL5a?tX6}MLvLZ6k9{&n>`VKm zi-ktt7E*YN#&g!(5iA8aXcFpqTP$A`M##<}!FGaDH72t_56oAMogVgq&Jt{$g;Ce~ zIa$<}o2-<-U5`Hf1BJ#3GM;FuU;05wquR9G7{?Q9c-l+;)}nO9nwhS$IgbYau^(YQ zbOn^!-fxv`B{ck~8p{hX&2Uqo`(RTmP6h4S9H!LmNyTUsjfp#4_*OC6;$*D0)7wB+ z^1aB!VoJimg|W*bGJoa?1b`)4Z6Q_cm@qi@jbdkjd z^45tIB6`L_s_vPWwNM{rzZ4;r&O=yZ0=23JCxZ&RgAVO7LR^#)F?x)Zl8K0q?fnMRD|kQ8JOnf=`*t)p262kGS( z18Gutpk{4`uoh0Q7U21k=LW$-?3V(cF2P!rJ-NEBUN!Mf#zQPl@?M835E?v6gU!qx z;%#Xr29^2jy;&6KT1Bj4D7?Z% zYx@7bL(s7@Nt=Yd&jScbmX5lqeWDTcn9kfKS1gI~=C!o5pH%IQl5AW|<>3iX6hYPR z=*SbKzdOH)%F0J12r+`4aH8M7diUIuN4B%Dg1bvuxYGVsS@e{1<%~29BGv+o3hEK zkg%%gt`K^~)*%;m0>u{|UyvK^8%4)g7ypud^1NaTrvp@njdu}je#WEg%Yy_=2C710KbCkFfMxO7+D8jBe0g%QO$VF#yMyW#1u zm7gr616NBE&N8#gZ@phZ`qoruOsOk%S`BO_k`}fpt)%SO*q3bU2%dkKJY@4wcG+OY zSbk4TD1fHqmlIN#zoS)S$D$h8k-)W^*M-;iNviLCb!Ymq5Xy7-n&QqCf0^ngb3UswVOL9hpFdn7-|;7XEg*g=WB=e_lL^9@Tb>96Jg z4`1gLoLRtV*^X`7wr#6p+qTuQZCjmA^2N4o+qRud{(Glpre><<GX8SIm`XSO`zsP}l87-N&oqAN}{i#@- zr-v;htb5#mkX>H5fp!Tgy%0ue^!_~A)=m;7gaRYsDI~?eKD$+Ft)o)cb}W;E z#-}X<2?MSor&Y|!nyZ`PnlK-S-uchms4i_!u4< zM#csepdy!cP-`KarILW~VJI%xMH=HYPOLOATnAnJFP`$|FBREI{o;c$#;_>X@YF#a zbcNH^Sf%1zkz<$oTpJ}F7Tp-JRHl^uzMi&-Cde$P85g^L{BNlehOeu_Zt{>=h*#{f zSot$Tgv#X+r^btiCEk$KrQ;%2RWtwin)7k;R@%XcC~l&xUmgU)eY;M~ox^*HB`&_m5Gk6SVx0+|mvEqjYp9VxLg zfK_9~ysIShtjfv?&X*k1{%#mC|NFNI%1lU~6sR#p;WRa%PEKGKq%7+?PZS_M`&_KZ z6snaCdSppnTpY^QPuX7cFm4H?bGXJ!nVhu_;WKLoTMAoy_Q%uep09KqG(;f>L@0d7 zCw9oMw(Ah=foj=VL}D2Oyzn|ad5hiL1{*|Vom8@Lw+WI2c{C1TB9^FY$Ku8O)s?4;{lI0pG_z4MgM6yfzBR$Rn+&>JDdvdtw+YrdMeM#@sIicuVYfoHO`8h#s)wti zx{wmylmcw^2uiHA%Z*t(L39WC!97~0{%{lx;w_c{F?j+Lhax%_m2Sv@){L`lyy;Fm3vwBuFkK0(XO>A{>NpBj{ zmLRzpw~KoG%Mocj`DqK?_65G|5Z+X8PDe{dZ>NQledo=N3??;Ofta8hEdL3~C5FHz zMikhct94%&Oq4;Zx~R4MDq#FMQ}EXg7(cV9&bcs;?&JY3 z^{)+7B%hdWAIU)fZ0sbZ61h)R)ZrDK*}t(Q77td+3g%3fCE~XAu%%a~!4r&>HDB}x zam+y{{lcG5)LL@ifw~ml<~H;UKAjmwBv*PFFO+x`q>AFr!!WCjJaF1ta2sdy{?)F- z#6Xq&g5T{XmF>`m@%>hHP5RCH{EouJ>$6N`K zRv8RECMFW{qpD5QXgCULCUYO%%&coS0}56Rh}F|L%7ZB?}fvT`?@$L&ve=M#_R7$8-l+7D(L1 zhc}0%7r7g@m?ZvHOd}XS)I3Tff>i;#M8doZ`j;p4V;wPSMh&R zYw&W{Vl}hULn{p*ZYXqXdF%6BXEp<5x|3;2kZZC&PkaKTd=Z5;T=CFkx8-Fd66s@T z0?cmOu%v5*lNpM@um@R8kZI|+WBD%;Xs?zU4=;ARTVcL@-w4srxlDSl$hw9j^S1~t zcp!p6%>8P@2)85z@i$<#6Q?y&8}A*EBxpRu8KbsiH5M~tt^K^N0c%@7ThT8h<4(Xo zGH?kQj0`Obi@DaRF1~Eh3V2o+iO=1juwBNDO|oq{@s4!OcCZos;C)?d8@RHhpORgi ze+w?w%^mT_HpD)WFk;;L)ggea7^B9GqJ3#*?J*2!Ik+8f8XJ@&z725s$R71y=_gv= z`JG4jJf3mi7l#J-{m0a-mw)@~B5&0__<+7gvqlSVuT+XS<*j?2W&x(yHWF)uuWC2} z-sTKXU8y$ zd9aWF@{j4$>d&W)ShBd%OtJM-Ht#@7$*3kwy#08yFJi-w6Vhy9CRx6iq}CZ>XZl&m z`exE!BPTF;gW!e-e$Az^sF;zU8H};0Sj`DHJaF+IdY+FTcBz}Ke$W;dGahlT%HMCm zUf`U1Ib#9j(Jes2yslO{skH9>%l$$sW6YWRnE&oSX zu?W(cTr45%>5rGxSL7~3@!g96(p2x*VcxH|6RK~>gv3|xR&;H`G2*Xlv4)*(7}ADh zRvjYt%0B-h5W6=AgCMyhphEI{P?X??;1|^JF4zmG%|h-cz@brvt^M~drKJIBHHIC=>iWbG?iC)v$Ie#g zx??-ZgM8SU>XHxlet2y}`EJ}VFMH;w_}YW5^`QBoF9iO#%s*zli5UFCeQq1ye0_q9 zXmOGL2Y+iIa&V=aj6;zG1UzhZya(d$T8dLGu77^u^^o`#VR7UB9$(o!VORapgzDIz`xHhEzCE7)oV6GbIGyYpJbXL5 zH!s)}^PBh-E4dGZ%4s9}0K?fO*}DaO?Q*{M`-9;2-R*ti*>UCJ20bCuESeiM6mx5J z4RL+7+45g$;{_WAJ_c&FZb~2hZzrS2uRb+K5`u?>z z{cC6O+<5T)Czv@0Zahf{6^#sv%5E#-9!{3h0$k%m%<}6k-3x~m8l4lGmYmc5Edmv= zIi6-w9r3g@b6+j9z*Y;q)n2bJKdX-y^&H(|fx>-uwTTrY`x*&bN%-+%6*%ye5M|=M zqu1inM;PKLg0wadiz;yP2*p8;x@#4-{4`Wj~no z>V?$5BP9mq;EJa0V8Pc%NBD<^zq~n43}-$ zo3ATAOO|+4;lQRlJSR4bl)ria!vQ%J-^dKJJi901lcfDt<@4Y*uG$d0luzz&u+q*) z#$y@Lpo>{uCa4i|aKo$af4!9$uxNOA=ASYb zV!h_`ecVG;8%sgiNv-Z5-;W!QeH74q&d>hRweGN9{hj{$ce#6!9I7q9`87#l&H&<70VTy}Khh zFpxhqZHEQqidS3A*-A%Sz~9}xOpbSgr(M0BXQ@AD6Dm`$eF@>Y=KPpw&8IJXLqxU- z+5NzjA^c+!7jE{JHu$?IbN9)Jb-EwkM}Dz;Q-p6)h{5#&Cj}(Q(Phdk#bp=C^{-Ao z*Y+f&yevYMES|6VhD2ni`MMz%a- z=`*yEuL%_YCM{E))2dWDhsL`6Ph4QEce;scJIq`#LOlt-Iv%1N^xV(0jZj$jyDKX0W$+MG4| z%>*uN70Dcb+T254(4~6iue3l030MyKC@Wn#;AMe0@pku4tH#U}%)eWe=GQ=!ID>gO$Wo+!ff5D*fNAj|Ws+y2CQ?|r$IzDo*3 zc)r?QmM8j1SqoZa(Kyq|I&S(_OvVPsZNE20XDRMT+6dD7#ByMht@v+3{<)s~NNNNO z%o-vVQ`T)G$fz=Ig4sm4RI#i{$n{R&`vjg2Yr^saupNUhTc-|T4D_}53yEQIrCYb9{h=5Cg{nfca_-0;k7JM5v&nCimCrqlgv_nwJhPPV=KOT>&pk>!6w zLCIiKv8FMJ?_{W~ZxfF`qVtD~4{`4Guf$qkt&z)F&jkE>-;eL5emj@D+rA&({(jf{ z+dpAd?T>f7uTT7M{5^e)Z?Bi-;clQWxZ7*cKcDi^A){(m`D)B4~g_XWpWapZE^LywBS z^bw=qL(w7i$SgH$i{;sL37Sr0a?4jXXIV*N(@9aO!^w=;X%=Nt_LPwG_>M>b06_mR zB#Mh`G5RpAD+w*U*DQ*b>RmOFj5IIU?+{?LDVGbzrH~U=5pISv?m2z$p{e#CAfy=n z+4&jtj?nda_1>SGB&){_Jfx30OVt`=Em>EG48I?k2o|%iLR=N*mb}^0u1Q}&&|p3f z_ps4PE;{sOc2wHx^Fk85Avu2hEW#Leg7)t_P!(z5szMvfF~X`<_3p9ij=Y|qe{uNT9O`leV?!9A0N_j)&x z%=Pb1n6zEgd331*(%@Rw)o95BXbLF3UvFOjDrh(9GfbFC`Iq#CC8=+tEVs<{PCbmj z&0P0?BKj%4$=#g=jL)IK(ZZU^`3VF>`}{>7Ro5zsw`437l+nnY{|oPu+>&kt}Y4%Zp-AR$ayQ^(QVJMkSiPIHEIn)m|3%Ed# z-J8CowOe(&n@iT|GQ^r?xfYL7aRiVYlpiGFp#j0dX<_<1hLl=k#Z^v6JSO-(zngux zLu^~)$dV(#>O>*KFpifpn-W!mW2(7wW}&vJ&E}_wGQ&4&GmzWWXH?K}=Q77MY%rzc zQQy9icC8)jZ5rH5>xm;^jrTDT&RVh^$c|!{M5i1jo*L{XZ(z?8`bp-QB)qh+t6$JB zFjG=8C$O)Lnq`nkMQX5(@<>5bg)j_t6-}`LoZcAN9cw)^OQ&?|TGBu(>>?Hk^!Ly9 zWFgjAb!b}XyNbr2B@8G{mQe|`{$%YHX_5p&Hd-%>SZ`y}vF4$Y=fbbyr2{ejj?-weQbIxT@$lu5KQ z)f6W4d5eXCuc6GW4x_D^MgBv4?2&$zg#H5`nF{$9R3wD0_zEeY8XXD$#OEgYFU7N5 z|H>`G(|uC4>a|%YLjqiw$Wlj*I-%iEj(2gTUsa^sn&O{338Oz9kOVJlEfz~=d2C34 zM`KfOS)10bh%IR5nN{yCKrQ0&-(Y+FkhAIfP;G|UaGP^7c z=We9QWO<+ejVf95q|=y2WPzOL&&-{R(K?{L{fkaFnccbWN+%|x zw?I>{LaQ|C154HJfmYgby-i77+i$UFkEQYHCimVgCGRo~bN`V+P8w?2FW5tAcK(tC ztd^t7-0vx6M8j4)yKhZM{-qHag1^N5stx_s7`qbq)5_|x;eIZBRE3h~Jk4z%C;eIV z+ChtHVFrPMHwx!f&m+d5%u_>Ob#ya1f=KJY6%rChMFr{yhw%m?JaN7ULoJAGn+pb3 zH^rQWUF%oxg~R31(DGt+O4tPp`8K^LrfV6E2y3H9v|`gOD--6?CvaunBgJ}Tv54*_ zm(DOarokG8LgRMU(jPnkt6CR(?{HE)nY8%cXa$Z*7J<>iydT6HT~kmKvJav)jvl3D zY9dZ=Q0>#KmX1**-_w)AQ)rlc)Gg{%$y^4maRJ7L$g07XjQr6r%#k^xSeNzlj53014&yxs>yy_Px(IxW_7buh^vG^Z5ug~115l1mIGKgFJ#c~d{B zByx@-Y=HKhfcm)xkg)fHQshY~(ou>ajgNkI<$UZ?q)p`~q}^OV3@?QY_OnCuTjU6i z+CzI_5{T|7j>kQROM@d`{&TI$lQ;k+)h>3jyps=Wi8X~VzT2UMzFHYfOS5Q@67Fu? z${>9uR%a>i0+RQn1jMjf5D272Z7vR0OzI^u)w~u-0i^AMQoPhcYU^BX=v1kgtg{nX#j#3;5vx1P5<@CPn^|k94KFC55LDM^&3LATzduSl-K@GFQ2*iopeF zhIyA7vA?#{d0e(0RvLQLX}Lz2SKgvqVwPC1TF2zn^+KD#z2HF6lP=a(27^@!glHaj z?oK#{c0)&NWLC1E6bz_@F`CtqPfTr~cCT)>kw?bJFjI-gha*%((}{8-BabRoYInvW5o35qpQ5>lV zX_WU@dwj*1)<~io@q$iMlqRS-W;5DJPeK-Wsh5`(fRQ+7S-&TQo$&g1-u*=l4cSMP1|CCKeq!w!<^UU`866fg=1V8>vT9QA9gZ z$aHhYZ8BMMgMUd-`wjT_cr{+jX*zB~67JuPQO~=Hrlk5OT<&abI;LS+9s9S_J~AW5 z7tkn>$rAr8Yc2BQ4^rLrl@`9=|Acw4L_*U$?5deJS(TPXT-by3*;oGTm)obGmWHa^ zYvKAh&hLFsLOZH8WM-g?_B63kMdznwBWGHBvB_p!G_1_78mj)dz1QFzwA?Wo$*bE- z5J;}EM58csBTbKk`s`+7Q&rr<&0>aRtGO{lY*!m z>Bh2qTWyN!C?9thF+^fZsu+F~;_!B`CKj7DsbvD}G-bFJV+UFU4dk$cJW&aaMs#QSG$!Ydh*z^mlZdx?fPBZ@@eL0n8Ml@Hui5T?F=uqoUtk^B| z2(Law@(i(_@M=59VCJ-Fl$3Xbj~h|DbCPxCnjm;_5}Qm$Mh7Zi)($er3>^cuF*^@M zb4XUlrP&o5BdwDB=R{COAri;&0z3L!I3O zFPe%g0yoZk_xYjhvy3&t9tx>T{RN9H(&fZ>@sJv*@eERB8%^P;wYAyM<@Dsd_%UNp zZw_pqD}%KRLlV%fKK=iA|1!g*JZKQll3UuxYr`~uMCtkdRGNxMp?f=$8xiG9vQYo* zF>t?HE7`gcR^*(&6ysj@WXhV`t=BoLyHa_Lb`%Du9E!+f*qp%>bQ`Xrs2dYQf)2bR zCU&QyJ*YnPGWxa=HU42;pTMB+3#w3B+q!<9AETcs^90U8C>C6qcvRuIv4~&}7Ut2B z|K12bC+*Gk*jB_1Dz5T3Jv96ciE-jW8!3W<8pXBKQ2fQmD#_}~#I=~>3XD@@j`#Nw zXqw5Xp$8)w-!8&j_HzClJ+=PzhqF$(~o8eiSDppHf^{XXM85sPF z(IBQQSK=aH6zj3K+$RL8I3B-4%7k31A;9xxkbVd_an+QH$=P#^#xp&Vvn;z^p9m#} z1F&JfiP>k+U#(P08;0geBFYQ595aG7MHK#DB!=q|RDOJ~TH=e^p@4|$w78Q;Vt%S=kTZFSTp7@12}dx2OPx3D^$`v<_R{EbJV2)mn1 z=K0xzuyepsjyBLu6i>o>LQ_mFeKo=kmLU%+ik_$+DG%yGEjf_xXV_@AcV6!z$=9`p zuojgG(QU*34n?Z+>qrznc3)TJSP$)QteSLIG`!fj;_9X8wj~wvKpm8x?G@u>LxKmK z6zM^OA>G)@zubYSiohfj)&uDh#y6qa;9$OllsXhyNLCgSx~Nxja$?eF?ClJLrrIjy z#Q@8QXYVRnfywQoixNiYHio|cD-m=WUV~28YtWN$cGd-39%n;hkvb5^A;^4lvUZV( zfcIyprwLv^Lj&s1B5ZHKk|CZH@+L)$jORRXb7z&0X+$1jaslW|sg#>(07IWD7}|RLq<8O! z2ufD{pt?Q~tvZ^nnnDtwk%G+f&NXi8*1peR5bYS_l)1udsj;69_LX7??rO+Fsr8y+ zMN-T+AbeIwmbFPRy12=a`)2r@?28$gq<^U!%{IZ-VE3HbN$yS!I-M|XVIMQ_5uMXU zl}!<1-0cV|dYzhtIyi)4ON$cTZZXobGTOaBE^XE~NCtP zMG5*$zm-Vl9{4Zq}6P+s6 zK{6!NbPu~z(#06|akhk2KO4sdRN^=Bo%LIh(52+0(r2WW%NY%sN@A#~s&&y`HMuQp z&`k0&FBZ0zwZZ~MN8$6jf5p8zg}xxJ>nK7Cd%)#v5Ne6A={c`WP`GY#DN{-nlEH61 zy+oVTrvX?#xPO5*G>HbhN(To)6pFpz`rws7B9va2l@tw@u&8O3u#*^bh*0T;zsm%F z8u^COt`8or&z5}#3~oj=XY+kfeSiMSsoY>wPc6-CwV$I*^M%}meW(djnWatcK*xjtR) zl4`l;YjU0;5b(l=?OxHp+A;63MKx+m_K0zAH4ZH~aG$ogKSRckCm_i)^nLp>;uDkJ zLSE@zX$fOPTD#X-!&T|}VLHgQ;DT2QIe@G}uIt&?hgX*-xeoWeq3K=UaLsIlAxL<0 z=-IbMRC9On6@Not>{9F4t3@@b54;?RaRc*SU&=>UUyZBRtNKGxY8L1> zqT-GBxW#I1j?`WC_^cRVPFND@uOJs*@t}4=ZZIHc05gGNnET%^6OCeQuPZ06_A6TU z`V41Hz^m%(rH_GEeXq*Y^Kk#@Rk+8lCs*@K$38)lRaXBmKG}P9*cb?*1VFHP!|n>E z;M-j2gv|i3tY4_wd>#0!Y}MTy*x?ufrE>Wn^ttfl9ll$vTU@vcoIx#@|A3uaY_IG8 za2=F@+W+D@4SWrpYlNadTxaQr>x`wYhDDZYJ#r6)=Nau|3hX}8fw+fqVm!sG3Y=F~ zmojNBG8CO4?>e9XO3z!8fOa9bSBqIdqydN<4a2n3cth);24q+leYgR{B3NTAk;PiSffz2bc-wzrU0oB4iW>XYW+d%t zNrohLTD#$VGFuYqz#?9e`X>{(CSLeL%XsK(R@hKQjjskY6eCAw9;!{8oZro zrxVdjW*)FbnX9(`4cw`&6@zB_;Qtk7)eiA+N^wjH@7i5U?op8xQqC));plmFOSb4T zgBye8KDgU{ZTEs0Z$R4Gd6W;t?j-UG)aQs!PY^a#6;aUvc~)tkbCFxv`dunG`rEhR zZk)%}Sydv9Cjcd~WP5yG1YfPxO6uQ&^=oG(a~>M5K6Dwa_=@Vj7g_Q7?PhXQaejmn zk6=(JDBo!%u31&0PIZ8jYN>jGEQtaX)MPl%vLVY0THT*<dZH*idV>P zyKnD(`Xz;E4LP9O7SU;1N(xW3Bo>%bs1^& zH*sMJnbZQ|<1xv$w9SOs5!lw?++nQPc|r6f85F07IEN{qNy&J4Qg`}UHJ8?|y=rZ> zo;rRj6&G zgLUF-Jpe+hAH%ZjcG}Qz**W9!VUo-GST~!~i^Wh>=UMlgwmDh0%kanZbWnT7pNjj2fT@Wm}OH3hG*dQ8p^;7%Nu5$|&|bM@yXnkqUjpaU1`r{C4P` z^hZhlLK_Y93#Cx}-P`zkfTgm1H~%U-0JV|(^>}QC4G6TL(d(0@q~-vT%ir=Jt}&G@ zoQewEwzDQR*$Ryew-PUc0?vFUwE|?F9f8di75E)CMPan4`Q{n1;iiZf#=cj*qBo+Z zW?}@lSZMzqf(~zz{v8dCx`2z|EDZAz!|!nl%pu6y(CdCIA5b&eyJ!E%OC7D=d7VH( z29T4fV4^5yw$!p@^G9hdw@hduVpC^{!cBm7{C65@aw?DWAeJiHKsT-se3r8M8rqF-Jy zS9!mnT|SskW)Eb?mPio|C4)ulb34D_r+Gwz<_^0VEY2FxeDgEZ5k(1U8OXXvJ%DK# zM*d8#2y7}iKR!!geFSdO$Ddb{V}i}3U!3jsq=FUk7tO?{0tZ?p$f+Nj+FKKP8(q3W zDA8(3L}Udqsk2X$#A(KI%p1Ew4xoDIynKr>RcEt`G&d^5G33$duC6Rex(fHbL5SAc zrDhCCcjIXk{S{I{E6IFOi|b{PBTfJf^~@RJ_^@y>BZdmmR1aeU6}Z2ky0D*A$G;(w z?j)bC8>aBvV8U$PlsD$J!iAiKxNMXTVD1&>Mv>QYmzg4ytltB<7;10bp9yfccA8+PgH|K4$n zyJcf5=EH@f6G|aarpyMDRoPtgjaUQIr-&rF_F`6%!UZ`oCZf0DB1;WNCtU=PZU%9U z7kb2al8eZ>y5|1ruTNmQ_J5|B2{rW?JZ@05@R%zg8x1tJqnLRdu8FFvSoC>gf^9qF zPtGnew||ZHn842~tyGebRE{ROn`_ZCYV0p3i!6|hKww3xJ zhL5o#oGx>Y_QTuxK|onIWWq!g%Q9Y<25pu!S>`6Ik!gYUMmfUDxuet5FRSAb!?iH# zusJFJI7r5^$*^)LO&&7NUm?H8D^3Zn&F;k-KAh32Ij#kKI=;@I<-U8?`+s5_&%eI6 zhP!{dF3m5`JRk3TUwi}I^k0uR)p33xA2@s4P#WKQ#>=^pk1p&s-_D=^-Em>^ zd7csG4Q-RJ!XtuHFg>-lflfhf&*sD$H)N|TdUe@UJ&$HEc9L5j!F(QvHA`FkNWuY8mv1KL{q5vJ7l;r<*@P73M(LAtHcYrrcSmK?X!1yra*Da(hMH$y5i2+gmQ_e?mH32L=O?_8i5+KBB_Ha;sy z0W$c0{id9axvdQ-k1-C1U;Ct!990$ZNffDuRVwise3fiow3XSs_LeO4%?kb@oF!}6 zX)5!iwh1mR%19ggFz*QrV-c#b@cv?HWXTK{vRdqd31O_34Gdm(pv9Vpdi>NBS@9jL zWSggjQJqXq-H8hk#qO+RMY1=YBZe?I?RrjKIc-2EK~7yn(lbAs80uG*l8Tolkz zXlphP7jg&D--R{#Fl5r9m`t3^B2_#(yFaSsl2i!Z#)2x-^g~HlN(p4!mRRLR>hVuf z57Hp!+_UNsV|Iu$uE*5Qd!A$WaJVBMAXPYDevuRfKkXbZq9p*t8ljcML9v>Yxd(H0#rxxec)uh~sK^?YV zW`l>3`ALN-+W7jh62hF?rADPlfM$V8bC& z2I?=9Bl<1P3=47J&zrv3)_*8sl@qo<*7E|&SoOVs3Y62`gE?w;$8$gTxW4&p8%^k- zMIJ}M<$B^B>c)Cq3N>_G--{C3;ZaPfh1l*?OelEzn`PqD(VM@G4ctCiB>VY$d3y4C z;ZT+*ht>o@hU=ZY!U9kp&=^~3_*=B)*L^ESRW&l2=(m{`B$0|Z1lbJith||C*1BE) zrvw$>shF4y@gs1HZykue>0eqA$htM@Tv=+Q<5szzR3Vf4pBX68-Xd6XPyiSC)fsbe zl50KJNM;&jPHVD=y|7bqqL3F|RpoeCdgHT6S30cS&vM3|A~Xhqs3Oxcy&qu7s{RsI zy~MI#RUsrw#p^?ulqSa+vCSWw-7G zt`3bhxVGUl?=iWSVWD=q;qw zyjNoY2@4S!&S}YhEVO}si}8B`kN+B(rf@7qnuXcj-+kVIo|b3OnRO%|i8+WjfL{nc zVefz+K$xTD4^P{CnSBH`l;pR4#z!K(!v45r2fX^RVaHW*n&|yQ1J?=%d>7$_9b^UI z-E5?`MD%HfyEb-dc^vU>ktijGUqV@HhmwZ#kmvxA0pri&C#gJV>{;m^Di=I|9+Avy-4 zwtiJ1f~~!zb! zNvrtBy;W34x9QWXgg%`w%HbGU>_JV`&UIQO3=LqB?}WJYpvJyxnd0*s+YLk`VMHlb z^@8ITaFqaf-ax73EXUCWYJ6+bVl2##gQhYUaHR02D24s6uA8AjkH8P%bMskfC9X(d zunBhozpj1Z`eAF)u4W-^tTCEO+Kq%4WIK9|=$sWPuqQ$P0jpp_&6n=DopGR{WY=xS zNyQWz@mvRmz=Lbe21rc^kY$4f4R0w5+hz{;G`v%o4ez6|@WLreg;~m8 zmCa5XX6$k_u4~%|ag!m+ahPfPBX$(8cxWlNnJMCrnLp4t+Jd`2++meaE~qc^Ld!Fw zl%JsHSa6+_ho&uK@p!gNgB~O0w1p#^r$(PmNiJjx zpid}ExgkZgJ_REHY8;yx2Yf8$t@2Rpgh9t>we5|ygJtrw0a1;R?k-!oLo zavDImnkOk3MQGdUj98mior{mat&V)O5A6266LqyW8B*yTHzVY)`mt`@R($bziUkm%MoWMUy=*CX$)7C!1e`ql^E7N~M?-{X9I3v7));f)2hZ{ID9I>+zxB%F_c=*Zrj zuNXeF&3U@39$ZA^;qj<1%xDSBXC9J63&IcNKp^!8w0CEfk$l|(zVHe-+~0g@u*ApX z2l^!7&UKYbT;mp=;6fUbMXw}zDF&oUsGw!L)UoKC`TMrVbDn7${nVERmG&r1DCp|L z?!XiSXXAJUR9R>AN^Q%-_fJl!eSS!Nc;%<*az-Lm!#z#CRxb3HLVxr89d%XCRp!#QRuV9r?*(&1us(6uME$s}uzkE!6vI8fpvLE~Ei?xQ4>|w}D6Q@szrz zVo=1hU*&Np* zhV-D>3m7YWr6lOHf4#7=q3koQ?_ZJT~1W4?GdF}42o4d1+4iV(G9v_f@ z-1r_?{0U-{3wuq^>js(=^LQ-ek$7__YeXcB;)6yiY+dP3J2u}*GU>UOu3==ywsL_>CE^ls2n00&?-~~uI+6Cl4 zHyjp+2d%=;%nmw*+}mX({Qi8ixR-h}0(*~-w85X4N-b1t0WpRm>izMT$YA=48r|~u zSPXB)q~66Y7&5pqHuL*r^aKq}eWgkx80nP`{8-dlr+C>O{r=83BvYV_8&si8iOLVR zwJ=K@VKK`hbCL~oxql_?Vfie7^F#|$#1{kZ{~kkC-dR$zAL$p5&j0GfkEACk|UNJ7NH^OFHX2VJz zhz_`>zkw8aQqCH>8&DmA61CKF#U)b(@tV|NI0d_h9DVqg%j1m@0(|55Fs_smV-ovv zhpKn$V?QNN=?m3#8upM`iA(phBL{{^kq>6VB;O%lF1VN+r$zhBc#hY}+RY&Xt0Kb` zHg2%f?eJM?J61p4I$eyf29e1${)`8qqfy*G9+KUx1zO7nJ9#`_|eOYZC8W!1PL z%jf-m|JXiunx1vDrarDtKWS=ss>I|z=y4$hC(oAmggm8p9^!B(0HUw2pl`ou2l>=C~ZNx|CgkX;VkrT@&RY#T{Jfn+a)5;5(mLE zIx&riMCEAsGWFL^w;@M{y&C96jh0s44n9byQpVRnC9tQ;aJlP!AMh~ikK!f9qqNgE z=9)0A0|fBs;|V>@chwJ-&~Zo6?hk0%KzG4Xoex*bYrR zFMBim8DRxz2sJFBfqBMD$I&~c++y50oHDE=aH-0ve>Ch|FmG*woQ2dMa#3Q5 zbbZB$8N5a-wpLGXZ)fE_L<)t%2e3^L&rpp;yFiW+aX~ZoT;ASZR!6I~vIpQzlvVh` zMmX$Q?iWoqbb_#?3o2aH)tozGi8;+2M%;e$c78shelD(_Zni&94hod^j;yVM8E$R{ zgww{I!8WuN5BGpOP21D(K zi8fvv+=6QDvp@0~VA=qqC4133s4@OA2&_5JFybkh?O0Sd+7Au#1r-K+fw*&Pvvj+o zhuxl@#Et&;o3pr7r)TOnd69yfOZ3umL{l8a@(q-xqb>x$6FH;Dg=lECEadIz?upWc z1dHMC+{FD_n&{sD7yu<#0)O$gnlZa08=yFQxIP2WY>w`&&!;S0OgBbf?aPLDga(eq zss4S|22pYhKmNDfFCP&wfd>3FWGQDe{6W&QTo9c4dUZhMVJjOpM268h6j@}OnU5NOVAhZ%ODWi!6#bOpAp@EEAOPc?d zBi3j7LcHqfm33+(x7XQ_7rBd3J?c)4K?hq6LQD%gMaUqq0@2@Rnx(}-3-FKqiG$2= zYgm#E+XhvPEJNnT61=?;GLOW9XIBkKP}6Cy$Jd1rV0`?Gq)NZYfQ-xioiN(I1)Wr! zAJt0wIpHst9UmS=iea&b>J%P1rL3XZ)Q<*b0#Yj3#e5WDid5J`zc@qMuXZQJRF@bB z>wrcag^lQ{A5M*&41M710X;>xmw_-U1={#)_hh7%mbr<>^5{ztq9P?m6?W?%@kMTc0;&9@ z?({ZK?e6rtPwn?MBV}6ff^Yvh=Ed`Q?{wyUd7ANLe*s*7aK6}0zgpgGb~!V@ zT=l#j@3g;9b%Ss7IpiXAy)St(yU*Cd zre1g6->0&ApMS0ZV%zWhgZbr)=XkmId7Gyju1mn>i-q$-nT6{R^9w_?EruVDPk`%f zx#!MY`8(&3*Y_@)AF>0>_i1l2tKN75#2VjrkMW1(o+uAc-r3X_%jc^pzud{!>Qr&dptU!fVRQ2{h)z{5uothA1=24KrIg79mtrzsV^F4h>Oje zALdU#V4I}=1l;LUFZQm?-Ts6< z(>&nxN@SI`moJz~a>E7A5EH);ZLFBuQ-VZz)&Y&lFAFXSNl+;J_@FvWf)?(RzzYWM za>y>LO9m@~r>Z|m1F`0Sv0k<^UT9J0R=KT;{P1L4&)z@6gF41LT?stQ8B1Rg@JxZ! zMz??9PT_V;uVdm04uxW)sdKEm&`~xLN5$L$(usB=ClRQ94f}%3vmgQs+P@X9lWQsV zlWt2V90!>aV!`cj*$ElRW$Z`NHxQDhtgnv`c)CZuQVJ`EvZ2X_BG#B9STsitElC6Y z$8rh$B;?yLE@elg_vQcP=e`^oUKTZ8%hziNbFlsLqrjvru3*r4uz-!dcYi8#FLKW| zSHc6M!d={qcg!fTKV_5~$pH_aW7|34F%RW3+^(sb3zkhg-t`W){2ej9d8 zZr@1ae1Ewwu^JGm)c+#)^G@7YM&Vtvz&5k%5ccOyWc16{s{l>ofC!jMz-5;N#6WiJ z`+jZso&5Q_;FoQq*j2}u_2nvWxp3;OK~{kN1!k4mK+q=3=-G0hW+{M^nsYAPw8m)H z{?ixa9dOFiO)cybHSXKoL>eHxelt@X$5Q#Rr?pp&I_n|s4|D1bG*RZ!ZroOdnYEA{d{a4=)cNWk6NbSMj!mXo+?GKh+q1@P2`hmS86h6BY|yG3S-U z4$s@Y+w*PkV#>`kY{DD?eoy%Pr7M@vpM7|kNkC*1)Ct#bVCq~mlR zxcdwTi_mM?Y+Ay6p8V%GrRN}ygJ~-94T6Jc;48JrJO>D&J}d}Z_Ye;bkS`*WPa=#b zu-eE2`-bL1`VdlMp|=y^Hk#{BF1$FW*%;E&Sw!GyPk8WfK`KfOVJCx{p5#Cfr8E!_ z;gg0RGq~ReX&fy2veJry<`fWdoenhOQ_4XrEK4aWZaO~~BV(4d&?_56;8c&2!WT&a zM5!$mp}?_!M;>4a2X{^usBwbukfP5Ctt(GFs|8iq{_frqNt727SNKLvrBk%05YnED zEcTSt4<71TYCR9M!%p+r!O-bLyuo%914V=IMHguE%Z1Zp3hWu8vredhC*pVUjo>>( z(S(y=ac-Ludj+S~U_=a!)n=d=m*4HF?U5uGgc+W$-c;YP3e#A92Vn?R;DT^+)!B=4 zsN=9%*jzR>guU7@`3JJY*@~M`n3D+cJXw2lUlsHVHfZe8Z*i!IU!6`OZebQhrt81K zmk~!T*SKWZ^wuRz1>g1gKRbC zY3Z^r;{@N7-JgiP5?EYv z@WtFHVXMZZ5-~!s=cZmhQk=K|`lKGY=`N~7s4ic6HQ>v`6FjT2P%j2zI+VI%bYE$y&oSnDr)puCoLJbGa$PGkS&}w*P~%Zwk^R*t-3C z+O}=m)3(iN+qP|M+O}=mwr$(EbN+i@&eMPEp|YYPvLf=KcCNj0?Y-{Q>rQpT3}|rT zE}MfC$E#+p-9}A0C77OSAtTv#>_W+ofUHL+&5M0si)@lKFMIP1)>F-}ej(YY#&6ks zyj{xn=%KJrWKO5h*V)R37O~Q<9)|4p71QqkrLKkG`lZob@$;R#@#(FCZYv~_2dKXl zd+%md7ABIQD$Z%-{AqDA{1u_Qp;FOGKU75f_QmkHLfKKVk+ zNnu8G-WVdqMr>mW0tptc*zJj)u}UwV(A4^Je>X$U$IHuijhNGWKt2=u4?iqa*fykf z40fw;g^JZ=^Z9ytxCnMjJ3R-RC+&bfBuOO5%~m4c$K>Guczt@USS&1{nA8!FP99-k zc(wa)QW}y|C{AYeJ{E&$p#`pMf5;NTJfH&KyXs zg`iBtxH0v6piDNs&v0jo(xP&Oj`n3hBp)Chh z@h^z@HH}n&HqY$(U~>`@NmRIP%ydvXIMzyGNQ#8r1ZZ0ai4>urTU{{XoEIFRnCpb zA;Ik5C#^>ttUZ)8!vAu*|D?>{G-&~CnH!;Ik=XS}MplMz8Dbwg4UUln==6B_(8vHB zgzr)D=9114LUvyf{Lf=y`awgg`15+}Wm_0!t5YGxZwV>2dL781X3Rrt#YsvA&=364 zoROYU9|?B22o2P0lSX%wRu~wiyEmZ=)D4{O;4YvlDF8a`tp3lut$u1MH-?^$*DpMiE>h92@}N7g_g!~UJ> zo!FU}*eXDwsTuP^7ccxWPHRkS9rSgmnxw9+t@rPg_OR< z@v0Qv^1T~d)$}s5z45~pRHYa6?LtW%S7+5Ox5Wv{r5tyO1N%&SCSm@48;rM!IPrm; zjIhn?5LV&X+s1>-ae~92?*s(cvYrJN+7^PGy_r2 zTum-inDYYwyO9KxRt+8iYuLt1Z*_T&4DBop(X@T!MVZFu(rF3xS0$~0kD<%rg=Jl7 zoK1JnHBP=4J6ku{m}qZg4ybQ%oV+jP)4=B@uuprmJ6W@yqS)+ZG zlxPPjCVtA~+pW%G7cmtfd_Tt6K4BVF!mmF@3OT5Y&&S90{ldSne|Xf8sH>ZGp1w#_jYHhy@CP+W=3Oo?qunZL{Gp0l!@E^;*;!AfqcY2q# zy8Uqy@7QDrf%9E95wgK^mU0K%#7P#f|J5Om{h&dYW1`(Z2aOX^NA6CD43`2ShNVej zI|K%jlPXyd=>^JV*E$D!xaXjiIhVcTWKKD=o(&33&Z0(>=|pRkqQ%4(y|slMA(Cb0 zxd@W)pK$K-?mwQ^1NyrEyo9jLDy$x9dtEDhBtv5;csC7WfsaU2jc)mJfUYm(m|99} zR;>X1%zTqIjj9>vN?Mow7SdwCW%`#tzv7TW3RW9+9yYbjYqCVR43@_Og|;P#hlf$u z9}%W1JNI}sg)NwxyJ6Nl)^cvp_-c>M^ews0b0ag@v*MZdoCESHXwK!-;nI+qf`Qe- zQBOmlfX!+T1NN8F1QR2nM1;ALCL$K{gI6jmz_t-fy#2Gh*l}zqB{rU3!~3XQTs`3k zWE9;971TJzFgs}LH;EYqgHFEVF;)t48X0&X0_xQ}^=__)_lbfZb)wXD-`LHmmb$lP zW=HYEh)Fj$lxa~lzP7q&w7|M8%)EeM+%-Gc84$k(>#y^T;kfr|M)940FJ^I&ax9He zz1_I-oy*7TxI`8!fNdE9lc=p zY8{iY91B8&RpJCwDL5Wjdqg5S^J}u@QYP&V4FKllRQ23wYY?lZEu}!X)WVH%4!DuI zy}Y=aOl@X=1LE=VxhDn@?Fr79w{qcEtePXPeL6NE5d;2^*sypwxHl(##MN#VH8WA`VBE7l&XhEnU zG1ReOoIpIOR1`Cf`;CRIco#!doi-d0M;W8IaMkVPOAA4pF^CWznP@3tr5M1L(9+@B z;pr+$44fw25U|Tno<`ybzWIrxaC{VZDc-eNJU!#!Cvt|qrZ3Aeeq+XS)}n)?*SBF2 z+qu={55BbdKtA}%#?+YQ#HrUp#pS?Ee@4+z(*=CZpgEZ&0`#`nRd%V^UG&#BIIzxV zcQqg-oV#1dwlAAz)L^;Jn(;3Qb|xXTlIqsFAe3Z9pun!1C3bQ{^?E8wX%>+}yOU`x zpy!Gtl38O54>Gdt)g~@)cevK@7Kd+={^8Bd7PUn2qHhWGhByTF2!V-F{2j=fdV)7) zl{%IQ{q^pCBYur#lY7#8p~c!~Ji-g{Ak8dDlprmigueiq_ktiTZ&zdnl4~Q>>?HGX z;u1x=xX6Nre)D>J)hOh|Vix1EYOB+pgFu^Qx_2dphYvr=-K`=t1QnJk24~=?oY(g` zk0F_giKgq@oCT_rO>`$UQ9z2j6^Vtikw_YU>mO;+$F6>JC|YbrlX{&*ZpNf>yhXS? z{7#y|9Nfx^jqZr99N)@ipT*_fS|BBKWsBk2bnHuZN!7Jn+PFT4-l<921wPpb(=nG( zj;nrpNLj*^79Jeh1@G_zmb5o*LYnNIIw4$XDZC$k33nk7Etl@jk;s{916WIiCqd*j zGUOP|($q6CWhb2ci&8V-Zu1d1*?>V+A(WW2wS>YO86W-eetEbg)h-sSd?bzjg;Bj{ zVgNOFocj`^Rw2D^`Wb|8iWL`bYZ{}ab(C2uKyhq|$YK5Ymz1wqg3IBy#;@0r0t{N@ z72(nAI-VnO1)HyMzVB+R=`likb#ft07ZQ_|ZNjQ)s^7o{&h-cg3P=0ZQ0w&Q!SwZH zYW7Bbv=E-w-{{-QfH6&nH%;Wb17ioFvsS!{e4@^-j6CeIH~>T?OT1`&imGw=?LDCM z=Vgw?>?J+`2qzZ|d)M&1tZp-59#2ELYGpEESGt zWq;ks{~bbwinNI)FLM=2U&XmU#3U+WW{U=z%EU~`+|-r$(c0KlWT@l%|MOO zF&C1k#76avPy0&`l!g;)mvcxahlA%k$T>A9W}B#KQor6L-L_UpQHMiN_VaP!1!hWH zDJ}`8y-suGURY#N>LI0|sIALhgn3oE81+Ry9~>=y`3_}1%(g)Csj*SVAF_V&wvvvEc=yRi3oz{s(bw zU6BH=Y?;2hBC8>%U$is}^JnM)R;occDFK~<)CGA_>Y{O&rsJF4dr+rC4igk*+Rs}J z(eoNP@|AXlSMp^{mjFGfz&tI(O{9D;C~P=g*mfkDx+(!v?Y|h0PT{m_L+o=2OOda~ z@?)otWe<@Yv+-|-6$#KCvMvIRxbW7$y`Cid&va+ycfFlhl2Iqjej?P>&(0jb!4l}B zfTM@Vma&a!qR<#K6Q}YgVw|B!;;tTZt*^kWPO@l8k`FY&Jd550H~gp(l+MyAI$PQl z88(p^qIE-U?6wFkEijRfFI!T?Vo&$v=FuzTZOz#OFDFJAf6%Ovrb`?tdWlVapDmvW zae+;1cGRZAD8&^5V%(JFrd(`E>b%Kzt(<|MNzZSUT5k&g(O{h4t0=P|Y zE{8~wuvhnSYq7ij+_`BkiIJYlv6^V^-Ea*~aA8J?1FR`zo_BX4BC-#mOHR0C!XM%* zw=d5e`s{faz?L-yK^FK5uqxE+pUU>op)nAViU;Gv(rh|0!p*B95IfaOL3sPZ`QQ;^ z3WDGn0q+8Z4MT|veu;Mbc~AJLQIz@1j!Ye>E7jZy&wlu#HF3zh>53{2^o^{#$D6hR zT=EujKcl3Daxy15^CU8r_;j{P;AMB1^J~fMj$f|gW~)2+)df&@LXW4Uyzy># z`)$sNNt?7<`F{5@iGpx}0?l&vwGc&XGk?>EdwR?F#yrvhimXpxuCMxa&OBqP_ zywU8FnlwXO^YQXrz79ajcJ<2T&=L^sB2j$MvTX9?b3tU{sB4SYd>(^thj0>sH8W7q@Wf6ja^ zap&&Mx*E<%6FOs@n*%V1bpnOydL1tEP7356TMc&W1EI->b6~koAUg8pD+I_I*-h0B z+rMAPHiK}VUrVA_JaKgdIa^e2VCutclllJn(!{Xl%&eD+U<23VG$L`LFPozX_3>UC zzRSes9s@)k6YKPh#LX{BojBlovk_E_w5r8jMrYqxOrJ;_WO2c@$bpwv3|Z6{m)3xD z+-@$P?y8+_;l4p!F*V_ylh9dz?7}nhihu~2fo;2v8j)N_cV&M>83QPt<$1t9PpW?K z<)wf@PyqkAO3XAA|L5WV-EjYnGWt$t7W!_qOmysYtn|iiPR2Hl=C(GD^vcHS^#6D2 zF8~C9Rp>z)On}t|GsNzW@~O}OlRR(rDmPD(Tw&_SgUGi=5Xz&Qt zoR1T@hgR9v3HW5;`fTi&u$>+T5t#hB?*#latYYYRi{XiS4Lq8MAe}NB+liIbl4X}H znDIDV!t+=+1ia$(Z1M5|cG3$8v2|9%0&;3m^& zkkN~W+0|VziWi<9hmSnU=(tI_9eDiq@#xT+L~iW}UE8`^GH7e<7_zO=_xK?GG`06c z1sdty6aCDaKLkcXMN!UvgCNVqk5{Lb8&~E=wT#bqWvclzO{k_>P5K)Yb)|@bZXn*^ z_!1=_CHYUw^C0Uw)I{Z2>8ngv#EpAQw*xMDvbm<3ZPGgiOs$Te!*zCp6<^qLlk^w~ z2%(n;P^~f6_S6mXBNCmy9pVq|w+Dm!oVblmwSCi;(RD@SH|>PMyk7Fd3(usWYLn1z zH_zbGCu_iM&TB+XFv>J_!ofu3fq61$j#gGWqu05GD-8YE>!i2)+bhOcI|WgNCEo9B zqet2Wj0E#6Rcai|@$HDY>1SYo5U7hz5soVp|x?1ZhQk+Qgk_ag zat(jbXeJJHl1R2ct>uFT!N~1cR;^FpAu=y3YH-MkANvA_Z3JAv^efJSs!Zs$8u7A? ze)Z=V4V^JoV}cc$ z31GY=ao01FNe7@4&<~1z!=z>BWed(?rlnBpp!8d1Kb?(A%N^;N6+foTo$lFQcUy_Y z@|0>knYcS{sj;FaYS-l2TDu@JEoJ_R>6U`ee6+i>D8kcVxC-2G|G>LAOss~{IRL2> zjh412*44;VZxl^WeZlUOV)RYh*@oqYA(^>T-I^yb8?50#E0o-KGcTAXx|f&Vzlth| zn-1`603*Thqv>aMJ$ zGVe5K#ZR`HCS9rQMJu&KpyD|h?i-B-%j$d1vk&4z&CIs@9>^O*2u9^&wNzI4IM}nt z6Qh_M^oV_W=4?Q*#}`N`NQH?`S+sH?Dli*|QGd>3^O=M1<~4!%&Q!qSxA*HCa1B)O z#1OKr;e5>mMZ_a1*oT zSq#+WT@CCU*6lhY*y-8>%;_d}&-YlJLNE59Z98o{{IMFQRZrwo5%px~WBdNF(7i%N z9EuOM0RO5=kvw%8O3=cM@wqtaQhWP>e-`m$?bFbYzGys4~1OSl!Z`+rlt(C3A zznyDK!_#qt4e4hm=a+GMnbAa&Fc0O@${e%G#frMkLQK|0FA+&y9zQAw?T4c8%LXU} z@2B{J<#DmA1(E3L%e8F^VC|fjbCZvRJa5F~kjq1=Ao#YWUe4>9kq(};D;$np{K#jP zyhk(?l2EUO<`hvZ{6_7i{Nr$W=TUr+Bz`VlXcy~hm&#RaO9TFo-${+vGsHLHVbJ)K z>tpr!HOWCd{(Y&(m`^!fKLN^fP5i!sZo?Ft9=07D(Flq<9QxkBavEP`28XKEu@E|8 zaS$`3fKk>X(GN95$l#uPPS~VsB=|Rd63Um-+wsF>$VRI`M94A?kh&2f`Q9+~E#=Xn z4E^9rkgghpID$-@RIwzHBA5qE;q(xu6(j?NL#Vdr)%lajPsNptTUlmZ`YGEg@UGZP zn*D*9yRpUS{wp35eOd`~1v1$x9loF%x;BuUL~bDXSV6)sw?HDv%T--|eS&?ATq5P5 zKw9ly(mdtS*x$Z`b(V!eFsg#}*i>XU^3+v;r*Kqa zO$)}(yc{56N(}gJ{X`HEFI!g85uT@b@-%O)1Q5-Ewt$i#v?0M*F!N8i_M~!Zs7Rnv z9K=ACJh=H1`g_8S37v=K!uVzYW5A6Xft+bmv`jdYrVkPG_bx7PS8MPohgZA%26i5t z8IxmcpqN=%F{UXE4N9-9q=5@LV=oO0_Q4Fg0y$gOpu>Qe_f+NMGni>iYK}UXCZ)M# z+RvgMztdN$Vro%U!bgzM+<$%1qVdayg=eXF{Cn<58}X`nAYoh$+fpBttbEdXW^IGm|d;^8->y^Z81+**Im+-kSuiSPAeQ@^heC+fId zCdx1S@|)M0XPbMXZ7&sC+x%T{C>0@D*EEzsmk{cUvca1L6f8Z#E$ptyP!I^uLrB%# zDag+S=*|&oIaZ;35y$Z)c$X{A>`q;>ghzH;Qf*2B3td546|kBE5`uW|ih>Ya!;N4U zOQp-1%UmHivqK-stO>X!yk&Aq4wDYbB(Yg#7l)&^fT~V0rj2NQcCqg{_`pGyxQwij z3<)8v8~W50slV_WuqC{bV|y{^S{JRd6{^gK>UQpA02LZYE2zhJ4#L>d5u<7EI2#un z*SG{wwN%a*&SCg@*%eGS*tBpCy(H7>B@1BFd4@yzTVsUl)LArw+V@&EiJ}`ydK1_} za^%ECM!hUhDCOeZgT2zTLZiEHX`1D3(|R_uW-RT4H=_X%*iIdRwu|)E62iuk$%p_W z*HsHlhfZ}d-YE%Jv1pf-!%rEEULMULo#S;UZW(P)VD@qYJ(~sVj;*9j0Yc}ht<2*w zz6JnNN-JBo>^g2@(~Utll=_?_#N?p2v@NFERzmx-6FD)l_oXeKKphvJGgdLItlqs{ zTC68i`O8kdRAHoSSH{ zXbkm^gW`F6yMZ8zb-Xq(%aX@u-klIhkA&ydKf61}z%4qgqFWjTHlu$6F;+CTJPMQu zOnD&8F;}pw1SF^R%=WK2gcbr$U~D{xTDfev{_>jk?+AE;o*A9DX33s&I&CNJ&EdMh zEKdizJwRB-EL^82WJcNnz2vblTRbinms!@Wf(5r~x2)OANYI_yTr*FbTWnmh5Y~iD zc6OR)CFd=Sjs|z`-6E2vY zM7IjI7PtJiy!dV0ce_gka9C#t`4T96+i1yZs2yrDF^YNOiB$SU*@{9Cs$MPGX3Fn` zq;C0&+WaM4L@8XeO7J0jDbPO->O-{ee?c{T>)=pMI(&)^#su&$@B*R&sU(Z0Z3T#+b_=fw>XJK z=dd^u`ZF-(ERJXsOn1 zz}b5D^Yg^cXUt0Aeace(-79B~DUR1;7b6Y|8w-cZwjc8t)1p!pxlQr6IX7Wuv$C)i zR*-UXBmI%jG#{ML%IHlG@CBbZ&qG!mdZMX~z>N1dK}7~f!eK}sKBT6NtPWRsnGQQ| zG17ugnaX+E0huriJUk}bC0n0J_f4aQv1SN^oL+MBxpi+8)O_!Op3>iYgpIsl@H?A!A+R8G`Sx3 zrYGLkXHS^PQ|=W*05)Jj0F9wbF*E~a@wLOwaUi&IaPFHq5l+=H_(!YYI!&M?b0Ynq zi0}o!cef$1S5O!FK}PJ!-9%H-6$2F<=jTKG>1kl8Bv|d@ZTvv6`<^QDJuj-Ocy29b z;LLC$sPi9`%xH~2=oFmq2uN&Ac%k=!&8cKc~y3y^NqL;s@X@E4e3c&7I*ioxms6FZVr-zugh=_ z6oYpH1q=ux*ArA>?v5t?1}1@}kduvZ#6kXQ#Q$kq1Njo3_;g@+_i^Fm1d_ePyfwJn z&X#Cq#3^VvXo&30HqF6#w%@2yx4y#gdXZ=d+lm$LiZ4>-e9%ve*6N+)9vkuSX@T~&HlwzJ!G(jjoR0DOPNpR+-E8( z#{H7tvqw-a4Exh&YrrYSum=3a!WJ&S zihiXC{#)@W;y zv84R*CO<9tfbr1&^2pVtrDkz?lIAG$erG^ucQ%A{6#3SAN$(h7>Z|UgeR-H&lIiw> z1TyK~0kN#5y4!p{#DGw936&H&!A1I2>)@kFunvk`}$k8|V)dWis^R_wSS9n?-udglZ;wOSqURDVnV(RI*vt<*NuXn_yz#LWj|gb!aP21uaKQ&B_kdelX&!TN+Ie1s`cw?(rrjf-j;2=9xOs&%{K; z#B>c&ENHQMbs3#50Ok9qWxCl~l=|f0GVp2L)n}XBbpNe&V08*Ec6s7NLH^5UCQ!(Q z|I}8DtDxm_TNl4R$&^Ma79PW^82&bm2j|EB20;LDyz{oE|2nbSmQnS6&KvV;I6SZz z+wbHw<%?CNwjEKEm80}4pReSCW7l$*&3G-Mp==}#y=uj#Rj);%U-edQH&iMltosCv zqkS4!Ev{82pLGv%{BknbSpCw&^*Vv;h-yIhpoD}yX1`=mx0-4B;r&w2*4G!p_j|P3 zAGyuh4|0KG?9(fnBFN>~lK{3`kMoqAuv^Yg?KO^>?L#*^w{_LOVZ;MMZ;Z0SSC}O` zKeK9!98DB+LJ3azGimD`$nxAZ$PWsI~LzS=O)&DI6 zK*+{sx;Tu;()n}wHMVs2S4R0C^YwN1uv5LZBS%LsM^`OJu6FrAitXF|YUkno{`RZe z+lU#%-oO z-myWpL=>481D+p8-0~z1b&b(~3p$d|XxaY({KOTF0(z3M^C=}XJxlIw6G-;hXLN*R zNk}rL(1;ilfmFABdx3Bw0cSD<^($*%eBv7Bx!(q)ztRXZI3$|{ZE{XrAu#}@HYAf0 zsN3CyFNRBxsLz0hpr4tfO@B2xA7;XD*aPkXU%;C9%+1m8e1KT%4&St_{L_szIfZKSFntx- za-VDhM+p~Fd0Mtn{cBc?L8hs2ksNFV4w6(Vz){i{F_M74bxY- zBFT-P{h@C&TRl@44@3b0?;4CP1srqFzdqfq#T{W0Xp1JG{b(7ML5zstl8O1$WDXae z@;MlUx;bY=<(v_nDHsysx3aKAuRHqgCSX8XK7plI&p^FIqW3{oFY!7?UB!prW-LDl zn+S|+KebTc0Pzfy{ahewrf{9)+Wgd%faD7O7j`GGC5YJk?_^=<4rl99J%*=>C&mnc zsiUgR!KYqgN_)syLQAnoXXa>`C9J$^++kV%SVWV#B#7Z^`6a6G`y;4>ZycnZb;dsg zGi}57yYiwU!!Ds61jCMelS&h+hQK%i>@QDlu&7*J*Mh|t{u#*gb1Ue#f2`EN<2q^t}QiK-D zFdh<0af}9`mCZKu3CqlcMsBuHpitN)^1;#CE$IyKR*~0aECO-}L|oYIa_3ag~`+w6Wc6qoNs_5X}s9AXH{XDPy`bKO5?V3x-YJv%q1B z6~mUQZ+g%YbrJ%e?L110a+RtNZgJol>~)JvJl(I zKj2huD}T?g6g2e=$x|szM@MOErN46-hi1RMoxlyxf5IPDn_B{rxG1@54@m}97{qK%uT3h#0~SLf^X zjKktn>C;hvqaGA9x)%{)HRrQAdwFfvSMBkBJXdiw!aaWknK4%E7+5k!^nZ{J7q2B% zNKPPBtb;o&?ZqZ1bi_*Gjutx9tIN}zAr8hzC0XaSMF|e{TSRw%>)9>-P0(aP16R~{ z%kGcKk?w>g-8(xa{XGvZOgYtm*iFmY~rBf9-byWTR7B<*C19wU(rNdQ`Ej( ze^8WfuY5Ze7V5z;X+b;DWCv z68IHZ=D?VT6rCaA8|B5qm`j@u6${K!{uG@vJ-97BQ;ypz;d0vic~X@mXaGnq=;l+{ zyVOvYgM(kW?%dYG`0f=H*RcmFE2U9dDdGR_hAhmd<~4_|8l?CuN096E*GCk)NC<$7 z`l2Ua(N<=MHs@i;st7Vns=pC|GwL)4{IoOyiFu1#fdih5mx#bzwLYDotks?v6#Y@tT&kG{35 zzGdE=38H4Eyz6+jlpJok=|)mjg?wIQ`E-uL@ zBJ@3|?Xr%1dN-TNVj=NVDN6LpPI{+QR(VN=0q(CnUL4yl+KMkvcU`*PuqDA+GJn_!Xnr#CoS^afi&CP;CFPFA4RI~ny|;J1QUt3ouWh4?lBTr+BviP8~wlQnim z^ObG$b!Tn5SWbRzI%m6JVfyjlo$bZmsT1bDVG0V@2`wRXsICTk5~+cAJiU5b+a9uC zUs^T>sKL2{cthO4@Dz2Vl&z)qy$CncLJ7|@bZ=Wc=DjgT@AjQEM>ALK^-#eKCwOSJ zQ?ZJ--hJ_TWL9!@+I4zVjp;&$g?|3aA$+J<(0*B1Pl*z#3eR9%;VXJ}7y9NeAkEs< z-zCZAi_%Qi^Q)6aqLo0L>X&P`?3pTo0ch#_(X6?B|1z@`zRqSnKBG^1oW8uYR~jVg0GPB#Bw5cYjcxa>5tS?;#ygRr8Tv^LCuTqb}EiJNFS0Hd+v~& zp-2-nPh(%*$t{$D%F`beC%p1)aF8h<=Y~q6cEc^WIvLF5g9qYyjfk<->z3BE%fXh% z>&D*F@a>>}Y_xI@KU|!p_G{Fj;-n1Piiq$@>fg+fa`o;|0~uW$)PwjZel>))`^TgF ziVHS(X(GGyLhfMD*;LTa&6xj;hOWHBwv=O^CG+XuPcrL0&qnpB|aLA$zM zEQa%anug!Xu|648Y~eDV{|J4UhO^Z)`DApB8!k*$K8JlV-JHACFDW?dMZ=RjrERS- zh2I*%8Qymfr*>-{EQDzO)MWX@}>0tvfrc|>&04tE7-rQdSvqA{mr`bs_b4* z-jXhAEQCjz)q?i5TdiF+QqW5?d6`!kSp=Fhehq|Y3B(GRS_3J!cm8xBFKrsDFQxi} z6PZFJaXXsTeG)09z3#+~{I^yF^&f*wcMd|A@UFoofPUO?@Q>M)kCEp9}Mn>6i1k+|deN7&(Yg%fx zYYh4O{CUj_GZKkC7e2vus8d;@M)&=Cso8bXOH5(p=tMZe1%YQ6M}7wXqYK#Th7v9) z{8ZFc40*?SafIsz#vX)GOe1aO@AF*DPR~i%>6+WiLY?Q{+@{_uJ9iz_7P2ASSD&n1 z!zZ?N!Y%XdrS{b(SJJnwwEeR>d!eh_KS>iS1uQnT)&h)$4|k6x4`X@lJ!=jFmj@&F z377*Z!6Z!CL>n%})u@811sihvQRVo-wrm3izrBHbu-#Q8_K)oq^m@3pJI*W`5MBQs z;^=@Ws0#ra9-HGMCv1w!Z~vUZa{Goc-XmRiB6B>d>Q?d{($4=TgE2?gcQPLT%u!*a_`%139Gxm8cbmh+4z9ZpQ zKhYG0@_5K?NOD7rM9L0*@j(i9BW{fPdtbeqCoRU_K`yb+d$q2Q2Qr+qB@Fk+b9#H5 zw|lVOv&-^k#;KWNu(LZ>#W$@mncYZP{^rgK`eq7H6Oa)VJQGBL$)mD+=~vD3QfgBi z_s6 z3*FUw&Pnj?wjpFW+Xt_Vy3O+DpO@FqSmkn8=v4&pva)o zBxqa)XYvlhA71U89M};xHJb4Tj+t>(I^Q`cYVoEss`0>JH+1{yqdJGXYLcz=B@J=g z7OYolX!P?KF7h{|E_mf7cQvl1o10BC-WqL2Ou5Mfe0o~d3Lo}AShPpTZ_hCR7W|RO zg*Uf(V34n%ItS$ydR_S)Kj)mx$2@U-;_QxSIIhaa2w~Gggq*nSW1I0vSlGRn^Y5wI zZW*K{7w9X5K|+9a0YVKMNylDX*-4&GqtS^+aY*ecu2PeBN{v@KzR1$?KuQJcw`O-uS!-#K`Kq{SMMZy<_au z=Q0tbb?}4~6xCYKGxoQ zMkgya9Mt`L#`V`DaI3M)N63|!mu(x1paiqVgB-D{`d=zE*gxs-FT-{1J+2y8!h^7f z>F~sO&|}1->ZN~yDstn2lYl#p>=rKuqx)4%wp@rs9@b&p;>uZif2k0}9{XWLB!N=C z#FD}I4!SC{tGo$B8d>I{Kkw~-p6G_WzCbOTc^fXHT&b-`5D_DiKdT0vV*J+CgJ^ni zPG~>~^)LnCx0225_49?|F}gh^uk<+mhAZbsfg|`E+;68$1T#oPx+<8hIf)ISl3Wrn z7AHh`xs0n^QO5A5MXlg(JUSy!H1cQj2*gBl;A}%9BUY@Sp2qt)>iMs%sQHkUsO>*& z@^)?#_OD9h#(4Zck}b+0(Uw5qS{zzv%HMJINdFXDW-*?r5M~l(!Kh4_db5U_1}s_G z;usYo@~h;ttS(-K3cy6(KKMS#;xSt1s@%0he3Hr`&{co^HC{)1vn;~%C`6>NPRSGjw?#l_BB{t-5$h^U zHE(@u9LC_PEMEYm9$R8l=C}2 z>-|gKW!w|)N|^_^;WxAiuO=%{ct5!Pa~cPcDJ`j(BI2rtBN!HAI28QXA5KA4iXozm z_X4?Y@rZ+kt5swO2~fB(TN)|v(OLFpg$ZLH81n~xiY!p&88?HS!b6gN?si_$C=!kPK4kswz^ zctrv6Ovj~7loBFaeXtZ#>6sH_DTYdBY?hfE@=IN5mJ?N4h%i1llS<^XR3ujCZH3K= zFkR0sJt;9RwYS138M|dAJXLOOZg3y>|7p8B?i>sz#*idi-AHX^~n+&oZ_N?(lSRX?tcJ5_v2-X_vm_xR`PYtVs$YabXlrX z3thAfsGJN&8+KHtW&ZhvIX#DoLj}Zlgwz4gJG$#SYRAEK(Gve9i1+a?YsDMHWj%;q zSwDo`WQ>)K_{PVtDCHT-L+%C(pPr8$`c<$WcZzenqaN4mN-!7x93tEeb|89<5KAPZ z`>V*_knEu!$zS$$MY*|OJMo(&!ox{@=ScCzq=KGhCrr40(YGY3imv%u<` zw$Y|fPqFEYdFAiMC*A)J!V`=vzRAD<05CWJK=J<*gbi%1jQ$gVRdyWLMG<^XYF6ij zz;NOyn6rxA+`7gnaE^H=&xW4fUmAwc6?e| zgwba^PW!54?ICW4WLF1A6X*oWQBa@6E3IqnR7oGC+#0)v;||~+2w}WlMHVCI^vEL# z)kz4rumCqMGhA04n=l5B497 zlCt2L>n0wwPJf1WMM{(?|IfH^&~>O^3ds~vNA&`Bu#k+^VzZbKpeuJ*ut^4iO)ZZx zyc<&0+dp+U31S(i_hyGCQnRwZ8BSk(uVLT$I{n=uXP|0h>(}EdBa~L7rPWcS{VRkA ztPqEb#N8}uv|mx9m0-d2@z1!Sh1W)qwWZ&uMNa7N{S`QSsz{a!RdK5A-+wlPUO z^WwZ>yi-~g`&-bYcN;5-Md#`5BsNB9Fy-Y~2X4)81ydj0XxPo3P`K{YcOLcJpF1K^ zL`uAZ>P@`GELZ)r=|6Ok4KXa0N(|Dq$7v2r+a$PI6%SgKXC_t56s z1#RZ~`11lc>ID8)pUrmz)M$?b5l`~KLN9+lJVHi^7O{sg{wzI-mN7m}y7hNcnUejgl4!u=BZ#GB@DWv>f<6>t64q9t~PQGv?H$!Dym%+@{LRp_6d)qO_ zv^0&1+Ci5iAtPaCoim6A<%Mv7OC9_E%BDxJC_p$`jd(o)-W=rGSzWHF_V7TJ<-{IM zl5TqzwZ42+)>#qN3KBUmz%ISuV+jsNc=jw?pq09R0<%A>(Sg=cLQEFf%6L4Gk)uKL z_c4Zv#vGTz=%(jTJ^w^ksHn+Fx6OB{Q~h7}cULw>_}^k}xKTA^FYrC#&JG;km`+$! z)r+V?o)}ri+Pu=*lc|MgByJ0s%DnOdmn zyGXopzD42gBH>wB*XzU8KtHj{ep4#pTzz;pZzpSXC=kZ`&Zk}4de{t?fws4r0Lt{R z{Tz+eigelsLq@82Dy#E;OYwyQe?4-wUlWOPS5v00n^U0VM{EEQ@J3#_T0oR4ow?R)gt*1 zO}N6r_c#(FFH+WW=e3~Gt`=>u1yH;)WXtbA`u;W%B z2M?dn{pN%|X1-R9kBA~&mrC7Sdn7`y2}?ADLecmS3@VtCu7CcCU**m1c-YvsPVzS>j!nE@&yp%yIqt38GjZ65e5??mk5tI_OJ}C2%}% z3zYg#Q^xe4?Ub4TSRzGs#Q(;81{AzUMl~Cx#*}PQi@U9JczHbhoiD4u_ z5%R+?gq~=L&qRxszYpV>!~dB7ifL%f8~(kHHS_@A+S~0Byh4QJdP6N5)OcAV%<&dV z6$Ot z+zjNuPF{rRCp|teLu(b_3SOBFndP5(^Bb+Pw?(MS3pSXY9dK$(A9z7wKaFR!Oiaq? z0tSOc4D1^bQnTL$e=pY|;Stl50~Z}6b&;aaU+^hR^B5l@OxQcQadc;t*`@F06mLz+ zYOv~^Bjd}yvNwyZm)8TIDN$$Q&XOl|Fa*aLVTNcGXh9)ghTPEt;_vp1eaR`g`-xLN zHG#bh$3;f$q%H~Ub=of5`GwV}0kutOo2RpG0&zF|${5R|`izD#ZznFZ0CSiiLh?u( z&!&zBqnR$W|2 z`Ul^Y(rZ6q^p##k3E31nR}x-)yWak?8`02A4o4Z0kGe5q@@vM+vl(Dz@?xcOy z4^Vym7e?5fQxynMe83q*%MS<_r*G3#`&C3w{vcex_{6z|#bMj)-?h?3`@42oxYzjB zqXJCs0q;$9SC$4%;_}Mhtm%{6%N%G`|2C-BS@&BVAMpK^<&*0CCX~hXER<{I3_gCz z(7r+b*C}o%*dv+-1_V_3Lx7Y0PYO*^RZjLtowcglIqY*GeQg^srz7fE5?j&cx`CgE z>lUtF0M`a=*)P}1Q!o$O?H}5fqY;0-$Kr>l^CPHr^`enGon*FKj2(DT{^7F{5sbEk z6-d?~5gi09LyVD5s;MMK+LmcgYAu9WthWS(^evQtV@iCE@ZQPqrk2tts0JpbV+JU2 zkC$f|`0?0S{fzJ_SFkt8Ka|!_nLVBla!L$ZW2KyBJ3ZM>{U-u4pv>(=GpJd{H7H9l zL(iE7ix57Ds3hb9rP^ew^`&qml2TMGXX*l3f(IKRfYc+{!Tro2ZO!oL=KE%fZGl0o zgQhd0uqjz8^%CvTibu@|>;)*8L){FzkDQQ~h9n4|QV|s(%q#3Awt+^H@@)!@H4@slhrD?7vb6u0eL7WMSD5AUqiMZ-B4wMLO z$h!JWWzVVm z>;!I85J@_!N!2paeAqIqcwD09$}Cjj*xU#y^0g90-X%3BNWc4E zgB3IMn<1_%cW7J;Hh3Q6D6U~@qs zCfO?4Xt42=x==^hXoHiu;n!0_Gw|bKQB)$DHE6gfz`4<>lgoygM}DtKX-=Xk9s7Sv z%5@Lfne$Fws^cEcS8_z$gQYj{fq2lrmx0fQzR!Oyb8EM9Msbdg;4ffF6%FB2lc*-{ zn6AsnZ31uAh)NfQE@oixEj0?&#;Lbzkr@8{43nqP0iJ^`HBfBr6?W-bg&M+a7cGxr zO-@WZs7LGeLtA#KFyyp=okVZLxH?Sp68p1`f_nyYT@AsQR8lA=>{Oj<)a@>2i2Xsb;#_V{1$@KzzLqIv zPCyTvSd&H#Xx#|ADq9YMpUWv}>7x)yj>Jfi>aE?{sk{@{#oB?;JSt)&+2`-@>(>z3 z#IOc(56xLt9PAyhtD}eC;aTVkt(6`QZ(>E)v|jYSdoQF3M`hb}FNeC8N|F;Uf3|!- zg!bzM)01=2_1r|x4+{1#H>0Wsl~s$?0BJwv5lcNAE$!rd)ZM=&nDnz;98SU35lm-+ z!?Eyq36cy74+{c=3>xu#2uj}Jp$pzQTB8@o4O*RLAAs6&lnAN6ASvWiZ$9?KcV!r~ z;;m5G;9{Rz-VjPX8k13@Y_1{^RAuCam_Fz|VhJ{yDB>62$U_UKMRVEx-fpF{2G13h zg06xwn#H&r!)jYj?JCinEcxI&dk#oDt9P}T#>=k!ecY9h6XtP_+*skjyB_<(M645; zMI067{aiEkk^=MTdb1Z?=_7{LCR#Q|LT+B`={gPu+m9?u&IhDMn1=tr~W?f;(RQ z>49;lWn+5hzs@x`kW81(A9c$2bH$VKf0}D{W~Np~?p8Kd^e$!|ZYKXZfM)18Z*ZXn z?A+6`U5F;(gM`?+cb{DZqn?JyfzT&h#_~bE8&)@xYovj~4g2qyI5#GU8=0qDS@}Mk zo&I&9Q~G}F_mP);3Qzb|71V!LgTM;TXB0&FNbFPhYnPeFjPXKb@M5{vR{_BDeJm?rs;_xFGo(CCSpvq2C@HS-ViX$lb3!14Vmy^-;GUrty{RNyk8pdV= z4@d(}eN;U9(5o|HP=*`JaV%`IEI>(1fQAhmm=4uM9*d-9a*P3Bw(YIgC{CsNXwf2@ zh$ohFk&cx|%A-`Zg<0eaRlaoT=gXI~XW{ChF4Tw9a#aet*l%tLzk|T<$b0V-mjz0` zB(ii$BuO2jtNpZ+8%b#-m*mXPs zgT*2o@E)dJQQ{}TabM`8j?&X9&EPz-NyWcJ-U*aJ; zE;?!;SX{bL=9&tppg5CF1wrjmyFiBH5s{kMsUy2h(9ZL`SLI8P`_UQ+c)29Zzaz*! z&x#}U>nKf;RaB3fl5EzMACr?^#g{j-bMI@7*SS+I?l84-knXx@3T>3FR=z5FD|6^} z(0Q&FoN5sT#$ZkD3My2sd?-hzw91l9T{j`mXK2+}q&l3Cd~S5#=jd z4TrdW}SPj;J-}xln`lC%4N03cWlyen#?vrOuTT$JCT)Icp9~W zu4?N0cET+c*THNncRjjQO4H>^rt>a3Oa!Uq{Kk_?G-WtPDHZCO*7GJ*@f5%ZlRzr7 zx_iRm)uT0MY}(obJ;mlNkJvF1LEh#o9Q(NsB52i}z{gEujGb;d4NNvnZCMNH_Sc&b z?l@qTXcFpK@V};DrWCkR?*fY-GoDq)CqBV1zJuF^`H^&kFrp0K?)l?4u>=Ik*g|ZQSD|%+@cJIxMW1`_Go>9#;Q@MD4 zX7za2DJ|J6pD`B-#61RF(Rds1aBep3AgZ!hZI8Hm-qaiC6uHsCPPC>VX#Bb}L&|6K#eK%4E-? z@XVrCtseASkjvpIdVN7m+C*Hap38mFgtvyvm}mor^kOB~&b355k7%nK;KVZNg)iHU%Em9r+HJ%I$9-0Yi zeZv0NzrZkzjx*Vhxis`C~#``ujdxx)EjzTvvh`qr@=8H}mQWM$Itq=+1sxeCTrAqWpx$c{H$+&_kGhGLvU{@Y^1FF||tvNptFBvKe zX8k?o1N?wY>{kh2or&^lf5)nJLSyVZ-;g~d@#B>5>lfEZiic^!ueAo$m)ztsKjD+4 zn(@UOm9iaUmzvStgVFJTDetSB&j$A=y1{n_iBwBsiE3MeW5>6!1dNp-B_2|X+0=QO zhH}8Sg|EK}=C#{GRIOQO*3iEwf%05FG1khze?n>+TC32z;w1h2>NjLo}mR3ks`5htNbktjg5G9*_4-seUM6-S6% zAW7wm2jg0}&;dKn@u|$MC_So}n=e{J$%f1txTJOTT3Nx^B3iTMh~fPsdqyTnYlf;D z4>3I9vnH}zZ=QdL#t75$(wu^`sBa&L89}!%Gm?D=uZOG9B9y5X;!|8Y8f_P(MBBZm z%_Z2#raon66<@J=F!F(jp1_wEj5%w>_PpEfD3HaOo8CRYZ~bNk?7nAojFeB$5(o?mXH^8%%@F`%Oj9#!Z3;>Od-Xo{kBXlEHXGv$c)<>^EX=aN1Os}f! zz7gSe+e7O%_UzhZzh{xlR!;}XE@Uy{)Fo9i%0#004vhm2Vr|ER&kN2}fdy^f?m}|N zJmEuCdwM{+fnrw4ZrlmY-POIr<#)G_kV?tT=dHY0<^Y760KfU(@Chk|04iD+zIr*+ z>>WdSI#oApuAT>6m3b0We+l+IXNBw+Hdgc7uPp8Qp+or9{!yGbftC@^GmP)|c6X5$ zWol^^2lYDzMW{-*_V(-J71HLteEuG^DP9Raprf!(pc(QdZt!D{1)ftt=Jksusv<*z z)!5Md^PaNHMQQv;?)6|Gj3Vl~!fxd>6GMFRmMwtD%FAHNjo0>oFT|I}dw=VzjLn9S zHqGpCt6U>^%ZO7&Yn?r8bi%T`#0hs+f(v@hgC}#=VQA2C)l#*OCgEj+{rryaqO>bC zBT;Hr#jQA|Ry&fW=8C*Zk;Tt$=my!Ka{o4^E;V{W+xG+boGG>^I4P7RhX;1&e!o3QW}$ok*tiGhZd=b$noSrus{ zu3XGpt$Z`Lp~-uA(XUz84j|y2w(;g-$j=#dm8DWsB}+1(O&P;8H>}bL{j-F^ ze$xpMITMx!@kya&_>c zK)icOB9RmzGP|^4t6Fs%lN4Wy(x(V^1Wlssqr*WSSdrC1U{kt~cYWe{g)F*pV0`o| zwBf-ZUOwz#q9Js|X04m7NI9s$-$J%v9X3WjY8s?Ts1JD}5SEBm*h$W5h7S{K&h#kg zP$u=~2%VQ;PX>_Q+lfFor6$`WjJ06^*I9)7 zuqz|wS`6ruaF&C|Md8o5T>aW|f0n^{cYekoE1H72)svJ}uJk~}Iq*)1prob4M0q5D zSMs6u_#o|$v5LE@t?@uIM&jh!>5#$@uS3Chwg2@H6t+q_}$EZz_8#q7fS%l@PR zx{LLTmzUo;zw_5m3Ht4h$j0Tc%CjXVz~UpjJLkjr;*3Mc-E2U>Zv>Ajp!84<*&o%3 zpR;(IE1VJc&4oSvOsGNm{!XavF|ZVo!q%umh~M{F@kb+%x$D<1)UQO0zEioJ|;~T-n%1R*f&V zfU7R6;O%wc#;$9&t9yDYd!Zy%PdtM<{x%Gn-rhu5j0#Bv%{4Mlx^YwW43?6A$0iQk zd>p;OX0}%Mqwyb}Y(d|Fcf<@AkExQgtjL=$AX8}Ao2%H)pcSySXQGLHaCAXa7>a9V z`MhZikNZYm`Tp4j5?z#Qn#nfZ9*(RUzA#nHDJW-T0~=oorCYCfiza-@_IWP0$*rK6 z6)o>8pZi)?_o|W3^=hxtS_}g>H-#qj?d9Hf-KwHt4fl+uQPLHcOc>smkYoXF`G?pv z8f%?qfZf-?H;ndN|9@3{sJXX@n?H)L8|HtJN*S5B{B%0~NAvwSn*VPSt0-y0nDQ_) z)i|bs=--oT~X_LJQ$+S$16{#jQnP7eW5I?3~~NoUA>S#I=_qq-&hr#$zcv-%c<$1MK>kuhqx zuRvza1Do~m`guK+W1}pXqQKIu+&kYsI*nsK@_O67X^U39N z&BiUiW*(9573rv(Q=E)_p;&F%}p|-0E7^ZP%BJ;$(UzeQG^?CyqNw$v-~%@fYg1e0Di>m(cXsK7Q4xX zenkh0otgob!{GE?=+t2Y&8#s6npkB_o){j-f;~Aqx8aPz&qt;CC}k?!)8W7*l-=eY zGVRTyF0WqB6)*&Qw|vLXckoU`m!?fj2N8n*;pgJBJvhLR`A0FNE{tymurtd{jAZ3a zM}F#ws6GaCKEM*}smh4F$XN2A{V{{wO%BqC?%DnQs(DOK(E*mKqhZS{idKe#7~l~n zW>lG8j29nwNQ2Ulu%_0wUMTWzb4ix38TW=q595=4Wew84IbbziL+_P4Yusq~7kmbg z>#`ud?lK!r89XF6+)BT$_(n}@L@UCDeof#MOEDDIP_jExzP`x}*BG0b&X5<^?N z62&&v#~M>t!wyr%q%|kyiT9M_$B*rXfg;e@ef-6Q=XvwXpA9c`cIwjcWAFSP%l@5{ z^K~sr_BuNF^$c=_N5vhUsL=r0l4Nb&iforz-$=y#mQ);UA{Ylii1s%mtk8Be*4f>FssgiGkz6|oM^R7;IBr6`z#wem3~<& zJ-7v{Zn7%XcK5ZXtSV{@>o{;Stu?dt4WxmSCGyQ^n5qc|Sf>lM$?bPT_kJgM2^FDH zR%F}3B9XDbfSScEP?QGwIBRJAOsvf714=ZM;s#cucOGgz?O8dXemufp_nnb*aBo~M z{X_%x6!T*TC1Quddowx|R#a;OMa~!DhV7-Gl2y~t%i(h|Y^9N;zK}z9!*&mpPqk#f z_^jARh0{NA{rZS&FXtB*J`D&#H2JPSv5#L*LjSOCZ$M`^|2Od4XxThR#W&akz9v2k zlx-`gy>_iSu!L?J}cKE#R1 zT&6?Jd;E)}GeQ2JT+*7G-fr!uoBHqD-}C>?7A+U_9m@V8B0X9E7hQG2aw^WAc0Wjt z^M6L9j*iOaZ2Og#w ze>O~_=eDP)eT~>=hskCYuFnk0uO8X_^=6Z(9DL@u6TY2WWl6ihVx5~FKIkSURFaVA zo~`o2orKncP_U#qO!kP0aE)Ikz7I%G!=&D_LI;BqNx%7>vSzj;7j0c9_$`%YVVRur zOzG&-xIz%KLj+_~XQhD0<~VrD^AH6mDaQ|SXZ~P}Sg}nYgCI=)g1i<4#I2S9!S*C^ z8I}B|P6#oKW-1Eldtozc*dI|C&@RM$PpJ`Y+YOS=ik16fkV?Y72f7}NK=boXN*pms z-G9+yN_$dJSpDZZd?3x4M8_4&vHRfyV8`2$9j7etV85`z8@x-1sf%I?wwlwAOb;^e z;{^33b&zv}4~`jPO)EJ5M`zlQGft+Ex3)1wb&?s*JvF2?h_-0=81gy=#FU4b4C*dj zR|aXiD_>tWo^v!;{jSh%a6OTKwUz7b?9ZN;w8_iT(~GUQWw5n9;E+Dj`;eFjJ6*sMlUkbEMZ)RgqJ$$crip8!t~y)hmqvG^HRoso2P6*WQ0swq6qoh zdH#i)pFG)Aj&%o=_ZwmME?6vOkn9eH2@%wx^WjbG9gkzPcz#cvH)9m>rVj^BF?|Mx z+|*BQ5uYXS(mnYPWWm2y#Q5*gN+77BgvWWWScj`E^bWm)^X*X0*Vp)x)d-2{X_qGn z3P~Z1vMbz7ifsVLY9-g=Zmg_-Xlp8U=9q)&o3RNX+rcy|EYS1vZ+qR=DjOmxTqn-r ztByrGlWaVzUQa4@J9FcaK{MA zXvDc{MJFcqIuiJOnrbJ4bG}4Ep_THX*+fErFl5KfOwV+MQu9#&od5v`jqJbOj%mn;iay{5XN(Wy9rXQ$TvacRzg;iAESd=YQ<0o$`=hIj$N z@VGFUjmK#Y;w%lc&H$elEy8C&!#pmTBp8>AuGDW0aNF~;%sc}Gnk6DnX8OReeH8eR z2pshas#nC=;4Voa_$?TAm|ioKx#xloG0?rjMO@h452pJ;utl#mE{ow@U=L?+_e*)Q z>@eY3xGRrS-QA#cg6jH8p+JL+n>D^r5J>ArNzwr)dG>7b$2*Xy_O25y`D&5T2k`T# zzXg?xXkVlMl=ZnEY^VlXb;;6}Pmnc>=psRrRqmT!F=!3KZky>Lp?Rl88L5?>VwN%qr!5 zRyhmAxI{5`zcodSmRBhktXfBdypW4Kslj-63-BK9H5q|WOM&o08q0)7uH(NtC#o-nJ_S!raYp9jbOECqPdSQ)25xT~-lWvZYV$2W9(XhOv6QxNYZ$$lJ zYD&ny#xN3(!J28AGffTNHeES(E|Y4Jn8AH z$p#KY&Veep^m}bC3?E91Q>mS{^Yh8ZSPRTE=OT?YSXb1v$9v9PeJ_w9l43qKWkMNQ;GNv|D+9G z=KiY)Fnb&7?uC`A=bO7dtgY*9p#+MA9#OIjh1K4YWh@ple%3u^3FMMKZ4LaBYIHlR zD_%6=z}%?&8^vyxKS`Y`s;07rw%DZ^S5X*Av(t+u%IwpZD#c=`@G_Mf2VGS4*IrRI z53aO}8ABIK1F?01Q?2aRGJb_F1dAAa>EXobWP`+yyH}ErTr~ZZr0AkHrGPHIp(x7N z51!a59a+(qbR$cGOkVQ_#@i7IrzBrHrL|n^#o*xZM>pf3k^T;>#Y6&&V(!UNVZ0^L zaKWTPifM#en(N$ z4%>=4pQr|Spc=ZPeS0GG+~`hv2WhIv=+zisX!6u#-j0pd3bE2dagh|Nqv*Ao%qZoQ zq~A!c3{Gb141rz**zx8b!W1=ccJ{v_@eeoe{{m(YI_g#;=tO%f!y_DcFZq%CC0R}l zkIQ^o-03ELC#`*{)Bk-0{au<05azBt06gc)p-(L(ZO)0oO;hQpi2jRO&W*SqL|{O6 zwfg-rs$y)ZlRKYzv4tc{EpuM6BDqdku?L4W$0iXzw#ZClO^TwD?{#M)BVLi#5r z=&7Yn<6X8X{Th9&Y}1OiwX!nj@QG!tvkx*C@yTQPge-<$?NyOKwYM-Zobl%2T#y6P z%jak`YwQ>$t~dm96uI>gDz|LJ>{lxqgG%yE0J)k)yV}0t_!@t=m#tMe!KBnhvJL*` z20urXo%-J5)=DO?qVgj__T#|vIgKtyifX#xVhnZyBKdk9H+c8h)6@De4zEci;aXtQ zTj1JSlvA~o?<7LXn&7_nCrK6U#JJ64v{0)m!*EcM@7TK!Jo(z#)h#=kjkZsX*=%am zcvzQW73CsH0ghhkRM2^)ZkV`GB>&HA(#pgI7T>cp?JlL0;lv+IlyuL7llSZOK35ip zZJ&$Lyv8tXlXtgW*}Ebyvj%Y~=QSmKc=Dy+Q7G?rA2YM$m)JWOx(j(mHR+srdn-!P zWwGs-xxmZS&b8;)7|&O~(je{%(Hi?jV`Dcu zwZp9?;16j=C7%_OE*FC1<>*Zy`?p?@ydlH_NvLOS~5 zP;7=)CW5@~aYzeFK<`l0Ou$lHdJGbo7-LfC<^lLWYZ9@FO71twq_`{6oV2eB;;PJY z(oz^{HyI0Zr3$JrHe|N7*7ZgCiEQV%(+o`KmI@f)Qr(OKm6yd;e|a}5QHrM6h*+H< z(4V=^lNqdSlOm3EZCwgQ>UBs)tHy`aqIWNxo$-wImt{DS*Dd^hT*lX3QTlntphr@0 zq)_D!DE1IcTtA%66FJet`Y37pJ4c=n>m`eAJ&BfIxxQ9Gfg-b?W|J=eV;kX+{)Ljx zIj3cOYHEgd^;}i}xwNLFSOykUQPzn2cvyn9nH>MHP2WaIcqV7S*9edr@4wAWwW(-n z1%#!-Q>XKy(pq!XZ4YZ`fFGwA$d_i`QEV$TY5v{e@$jK5n$dtfKlAM-2Ot%(z*>_P zli;pu3a@uC{7YWb#lU1;)7{@1IUe3)7vSd;@bUS0dEp8a(b0tLIp*JIBihdJ8{w#n`bVYem?5e=uz5ES71{tN7#6R!2wW_R;L+&#+oV`0>`3f3gbIgg1$(_!dSDTE1E*I zx+G9km10}zgxFNXnL8sx^+ai?-z|^BfdVeNyH-%Oj>+j zeDtd%oc}imD4$282kXa;Km8%vDE}w&!_3~q*1`GzbaDUx77$XGy8QnElO4}N?Dy-g z7D^&=OG8h9TU^rCC5t4Koq`6weSe)V+bzPcfen+CcAw;Vmj?NsUO(>zM>qmquj8u} z9(D=<=ZR;W^_j~oE6i-hP*UEAKUQNxZyT`$m{j)>UVy(ljxPdJEfp-^V4c=+xU6RH zO$`Sk6K8${E(2eIeGI)m^R^&8>X}t^O=&Xr%7L1hkYPRrLrh9Q1rmPVsCzt zgHpqmDiYYP@ac+9Un6N^6)86)k$?w*(#J%Jd#0*;)eARgkeCd@#Uh@xnBu@hMaptj zW&MQ}H^wm=L(zoJWVvjwsY8!;`g1j-rs6#vVxE<=A&|7-1-qjwDEu!}U$oEzLkE+k z!ZlywF)Q@?T@RK1JPfs}=t6p5Kf0O_DVMdD+yDb-xk%=X_P2V~W6!t0F8$xi--KlG zt2lofAjiXh{qlYDhHj?OOTkK-NJ+@TtW;{WKH)178LE&imb;>|Al|CtB>0G1P{qM} z58uTBF84Zmkf$39rlKN5q%cfDAw!ZM9YF=_L1bPnvlbCP`mKebjyzu*+QcKEL1bKs zJ;A#0+p7IsS{V;_|5)257ct1NdHrQN=_xcOxCBjo@b%EehZ+Al(xccdm%MC={7cPI z%AS!h;An)-RAxWB0UipPE=}^f0zP6w0w8C09Ed{OYt(cR9Z^kFy7gz7Z{oWS2t3|w zH>Qj!ljp{qEmxL58o-*_+uf5lICFY#?ZTWLQ|{;qUY?F=k-UC*7v$z(07RPS+e;4ek%KReIN_WP&sM_D2}fiR-B|{eLZph;-Z@z*1?4O_k@Ju zb7JbG7MfB`7JsU{N465gDK!7um7PM2j;rK0y399>iL{`!e^us^_?LWy&Z-!cEUrFr zGy$H2nrY!J++TfcItn9>FR{YvLJBQ?%VwgP1&&-GHg}y!C+__j7P(~YF^Ce{N3paI z8UUq1shRYNMq)ap_-9VWt3}5?c6;hxe9>=Tx;YdWA8_sf%mcuqara{ri4-3_Yzem# zv5#qzwWaDvSgX$Q)KGd@HtWC2kM>MP^nkKlv9d<~imXn4m-E#74a;7btmc|kcD}mK zRcI&HG~@cJG8RU56!2wP&Tow+Qf$l>SX#aCZ44shOQ^m?Rh5e6_Mj)EYA`!fsOA)& zv$Z%!vyI9!Cd=P1DEA?urx5x`-UwX1cD3UgyEr(tnDF$@Htd6zJp2apMDq|8%iTPK^h4Qm%9Zv<)*&Ti0*XM4GWp~;&vtiSPWg}(rs;MC#@?V zj*V-hArMY}reiV|t6ulz2XF8ECtADQb8$KNxTUH1F?&dODtQQ68{nJ@?cX&$#*uGv zZN49%kHgYi2sDs+g4aBYo1349o+S_Oxp$lE1OcM4I8GR_ZyPkXZ2_iVyi~k{Td{`e zw%v6akG(aEBDH!rB7R%4b(Q;h{-WW@GU{GxOR)=WwjWofH4sJh9xt@>qw-3(^!f*er7tZaRBl_lNus;2;!vEv017kA_ zD|-uogRA3@f7GgN_n*e-pRh9!aO|ZVR+KyaSN9izyM$}bh@G7U-N{B=Eg}-Qlq6LU zxDajE()XtuCJ}T}(tFyXsj2ds9-SNJ90LZo*Q~_cuM1`RkqqBC!Valcx(n#!SCKvtV1j|@&-R8?rk@#_6q&n1fa0i@DTs;tJ&3LCx&JutQtjGdE3??!jNUf4wP6wB+qG|o zBrilRR2NSpXBQJP&d%1CoscT_n0x123}HDg)t4?cT)f8Jg0RVOzcC-^l(8Mq(i=|G zEcsLqZobl(OVD3p^jr)H;Zz^>w9qfAc@4dZf-n)xX|ZKCMO%&ZWy>;_F-yIk?LS>U zzUw?K9v+(mT)mwH%vL!sF5b?UM=wVo(R+H$ldBEZ5HU6CjVT5knG#=AEpci$sMMi)6T_b1A($s74kfg&NP61Ya$q>> z<0}q(Hr(8myf=UB$4LP}lZ!#|xeRf}WPi%{zu~Gv$gB@9hx!@y%Il+h}ibX)4`QMB|3zon|>V9mz+~jtT=&xP-o#O+=m*f^p++8c=_<8Ia#gI)|UNnvRdXvilcdI1;vy zkB}-_8cJuiL_NYuo5%aC(PBVS0o(@xS;V*v4=vuiT3Y|saxrSe5B#2<8`9ImSK5&> z8;a^Z6>en;frT&B*$W-k3fPQRKpn|HpxhvdNJ;{@Ydq)4fNF_MDsn`+^Fk<~mUXRL z?D2m(HgthVtazb}sVS_#l_3|1^O(~3ENHb6!B@z=Y*Q;eTm9iEU_o@I7UOMq$C|bh zo*Lb6m8;>A=Vg1@`-urq8FEY5WyW(295M~(msya5AS6?8rggWW7(BLQI2~26zTRvU zJkztZ_SqbcP3@&3@`Ug?Q=AU-ir3DSm&(RqB1I}G?@I)gnfV0>m>#q!I;I5e-CcIk z0I9dTq7^V_X;lerHqz<$q>hpyfs$`wtn+k*TY*i%s`zMcADWeMZLWuQV(%X>zr`S| zI+zcyJFgo+Z9q78lKVca^I5&q{AJ5f19tSCFq zE)Opt^Shi6GW-~~lqv{*yLp>~?o=61$Kh@y0H3?YGDEOIDcd%n+ZNvWYgfF(0?H_Q;UJPZg@tnHfZ}2_%`aZrusz^%}&Y<@X%H zT|t$VU?5q>{|0B;2VwLd=Q2^M4Nfxw_WhW*Z`_-i_WJ=fVz+f{{{k5$A?o(42G;t) zvn{xM;DXk#6Z$fuE)4hi5|&G4gif2b&+}*VoiJaRVD7Dpg9hfK{{Z=BJT$vJ*pen{ zILyYz4>9roabjhsr%qu3($6Sb*b%o6f|m2Y7y*~6A1bFGRkYt|M3X0W77G-gk>vIc zJ}b{o$G^DN*>;Py=oX&sGaFY!LVDB_kg1r2l8#1AiD5RD2p_pnO__*^6dW0Ef+Omc4vA(8%!8}z(aW7wW;VDoQ$!#K-F1FJGDPv9XB0%L&iZQ_v)=1O= z03^y*pa}UNFFVEzw~&mW7`C`{ebb`NTqUq-PrgdylinNos=SW)N}@Q* z#SOqkB7$0NtT-GyH^%>FF7S~`6DWL{XfI#GcKvPy<8#JC1+3Q?zO7_iR}1mUG55co?Kc16hF>+(-@eT?1X`zZx~cxT>njapNv zvkmui`2(qPndR zp-+e=xEBnLRdP9^SguMStlLS>ffh<0In~nU%l;|OiFcT=j`WNu@c{iVwz`ac0v>i= z*1&?$*6@9lVEoR(=sf~)l;B>@L_o6O6e(uoJ+ zIrt%6$d7r>NX$RlNrL)YuJP?n(4h z#b&IDSKMED%drYbk^Jscl=9g9)35EuzdOU0Y~EuyD)UN30=qn0$?m$iiL#UED>;79 z!bD5$aC_vUl1nueuxqh9P6SjC0CP|&}A42ZUL%r*e zVk^xn_7nnv9#S*_7oK z6y5=|t?FKmn7RHz3sBRpku$eG;t0V)h574(`n!!L2VrZzyN6U|by^yMpj~cJ@SHz4 zy!54y?&{_o#1f74qS{oogD4E8{)|rcOuD*o6)cLEE&cKdxn1r`&9X+E4=kzsmeXtL zC?Z9)k@1p*R|joLMhH)xd$rTxP!n60!Z8+Xw+rDHySxcsBwWx%PWoJa9ln~qww$N1 zb2)2=!URawdbb^Qi>?Bz$|!zPVzASy!n^!~>cOSbD!90x8Rhp~-i8KiS{n?u*9<@C zl*)RBILCIk=UIp3%RNwDyt7$=rGo_H&Zr$`x1_u#w&6xX6PP3XGJt8{a{a9ZZ0t>k zWB6CY3U~!&l~EIEF*epe{NdOkMn`QEH$Ma+)U+BdopRd!^8?W#gg=`k_~5P=t0aAI z9U7|-1S?u-5X#$snYXO*rgt9M9|4C6eULWM94X3!sh=U_Sp6(5fVL4mzaVYi8W(>^ zwtb)0%%GZ1MW^w_UZZ?#g%Sj4v~Oi$aZhi$my;!nQ^KPc5pFYh*$*E(OoLXSPx84b z6oP2mof0^&TTYZv;1eE4f*Mw=V}k^3UOuh1Dk^GeJ2H6aRSTpbtp`FOg(aY%&G~|%S<7UTvSlqOxJE9zabNJ97J^% zf3o5{5RxbTC<;2pK_wq__-h=cYB(2D6*my(#kvq-uR838$;eikJ}tIe;-Ah$XJOdK z>;wRQHu!IVD`acMDxZNc;F(jV=}x1Tbo=@qFM!?(TMhf2vgRBiqEHHy_v`3;P!yN8 zC*%J4J2H{B!l>YbdF4|uV7Kb;r#sN!*_LwJrwPcHAtavrFaj}mKij86e|Qn4Z_xjW z_tC1@Ksi7y({zoX0GQW`TE) zg;s{cdxJXC2EhOw`?UNQXUKebX?o>KUeu43%+gz32NayOVz;;}3^J`4XtSC@I^?gK zzxr4vI#7#bdjJHA&=5gl&2G>-MQ(s3=DMdIhV*Vk1n)v3qy%Y}xSU<3 z&QI`w82$&wFo>erOUV@)=J6<m?Jh1!x^>C7!8_2 zGNP9xR}nXiJM@-HnuVkEmyfVD39a=6;d~#tY-OYP=f?BzG0Q2PO-5}g64qj?6Pn>I z*r{JG^4jP*2}3w|s2@;Raj_2JA(0vC=1O#IBZ+<^N!;~VCc7eyMO=(=>SDB_TX>KO zYnPI7be!ta%~$!=1sXX{?(u~c)ChU<#f8<5H??XA;P1&F(C}xwgG??E4BLZZ2n(Jv zM1g~Ra0CC^<@G^;NT(M9H}lb{s^ClfZG>UzIP|Qf-u({c8NO59ar%=gi;?W%c0RxK3p7D8Jx* zs&;R=RJ-}-GbVwRs9LeM=4f_z!6TQClLl`)6_+r_sc(}w^~W46w#=k;M0fD=5ztWr}JY!9z>f=XLTjZ z+8HqgiZ*}UkgMy_p{z}KuE4$_Ky<)xUuCKflrAQGSA+EX{?L!j7gZkzac>;6c-Q_; z{$l&k+5wuZTg_YOf_yMDqzb=ynAqtbQ1u-nGCe# zn*0D=xnAw}QS3v1{{2h&fyHKwYe`(U({7|Dejx;*Hv>_;VOQ)#QtBn!>;yLCJv_mafgqze%g__ z{^MR0-fyWBF^4&(_i8Dt=*WtoJW-g^BzRVa)S|Qj&8)G|P5?6u`}f;VG{H-`Sy*2$ z;l6e>VrBBOQ{o{6!e=%Vup5a+9r8bqvv zM)Q`~Eg@!k&w$^&5Tp-r%%qLOlz5 zRHZPB^rB4gf8&^W9*!QbBVgG9a}rLZQHhO?$}OtY}>YNJK3>q zJ9%R#XMc6-zc~NZ*HvA8w=Q~CtsblAGskd1n|Bt!amG?EN6tZ393{XWJ5N;P+SgX@ zAn&MdFiA$I;s{k{28I=887KCKzL{s&&bUtp5B?*~f~+jG6d3ZSlO0{rbmrBj78>nW z#G3G|6gS)K5LXH-n0Ik#n+*N{wgw^CEHZunba69t!nrb&)=Lc0ALItAX=Az43V((S za#OC;eO!{|N7&8hU&&{W>Zo^0c+O!2kaLG|V>tJNr(rqiFI^uBPZ~d*8=uf$U3;%< z_TV*#cZZeR{2z`@C5S{-p}C-gG6<4l70=gd2#k~(g5oTFhkG}HQkliX)Vg1SsB-B6 z@|v7E;Xxy5ENP!x@b8ck5bi(44N}sz^rp9im(&a)K z{DAO%6lf5ZZy=`B<#Uo&Yhui(XuJd~T6LXp+@-TUQ8rut8-gH5mOrI+_;O$)YWzj1DJKgc61yx*^g4`EZ$|eb31D%Mf-KmslrQYE3vB z2RlHpKWPy)+P6v+gruG2Bu?x*0YkcfWYpJJ?GY<^+uOG;{0m=R`BF({1+MOrqf~qT z5_d*16RIBWA%t4x`jt`4s1%Hy(PRuAO|5K#qYs@lkTiXVu_*^7n2t<&Elf+a za=A3qag%K0Datd`r!uerR|90)Iw>dHM$4FS0^yLG8$>XZTBPo7b^R=H&5#!EZ*NDwqgau8);mTtXW`9z;bH2j{k#Tnh#`DUj% zX$+namclEH{3xC5Juqy>S&$Mm(bq_4$T|$N0V14YnXJu~GKlC&3LOb9g$Z|*7PKpN zdnbup(5O0mt6uY#>}iu`f^u_0)aKJ`FjXg;-)d?@?dyGTu5{1F7)!eu&Q7{yoP#pJfvR* z5<4zoUj_Enf6n6Q>+B_tL|#rxc`%>6MJPp`y!bdT<4k_;K^))O!?6;?#Q=aR(d^6YGTrX&?`kk=(p{tc=T z%nx$|%C#EV)^6egTQ4w@(5ls`q{sljMk$)|R!PRB40x1z~P80nQPE%pdPm3u)6?N&>r!Z&$pdX7-%I{| zH;h>5=m{Z6_ymR_+ZPZthf$i6@-Qu)cQnWtZJlOb(&&vW*&1&7*Gg_7`z==k(SLQw zv*ykEnxDIR8}emd=PqFgH_gx$IIG_; zGUTc*^}{l|!)*4_!=XA4mevT3yw@oR?7Xw%SwPQ}m3d-s&#d3=xJ9)kNr| zopyl!v^mgQy4AVKmY8VO@0?HB?o@Y5$*}P2{s)8(oM@undkEU?9;=o=>52S<=ZK>- zNds$V2f{u6U8=p-7=sEl6~rspr!iQv`#>~8NcecTE!s82qjYaYW%m+1_iCI|j>WWi zB?WdM6wx%195n`gK#(QdxAezsOk)$oW_?z>f@apDi0m2Pe5TjB#o zY|Lf{-L%(TyVeK$iEVE_uIZAD#eM96@{y-hqLNj{&VksJ3Qg*b!mSl%T~!HdviP@@ zMPXo#B1OhSpx?5Rt~JW46n`C{dmA?&q-!nRj`T`T*z)fP=WR-+(USRBFEd{>DAmt8 z5gBK#_eyd_I@g=ZR(r0KT={iDM$7|82Y5VS>qSPv%^_o$8r#NgeTK3-arJs^vk}7l zSgU)@P;(3r#fR*%MBU^!eONNkoe!`}yMr~%m`&b&dMWx*AhuPH>>G819nqOSRtpZ~ zkPW(WsG?5_IlOjz&W9pkLmo>#4Mm@t|jxJgGCF zyjr#J=kKg#{4HXNwSS%e$f}LP>2JED%m1Bm4tjxbgf$VrhGpvBIPAbf+>D1r(B>pR z2-U!vPyT%_&zvLGp!3GFlVD<4ZO>GNGCu2l%Cn?As8ln=k4s2K*mb9e(>o_<28H(V z*E}_ooBiw5qG7Mrs!-6LA{BVrYI~h1tRK7AJ-sMnR>ORNf7_cWw~G$Lk07f-nY6xT z4f{jqMZ)9<^S8p}9}Ma^-R(#QV!cR&19qXPFad@6`xE* zaJvSd1Wv%FU$(0CWUo20{(coKq5y%FZ$KJwQ*y7B(EDOv7iea8nC zdfbLmnT(1cuj=P33k!&}U&Jl$TBoIf(wGr*DrCU$@0W(n?J_=(9LSFO55TTxN?}Ni z-_Qsbz_~lwqt)6ryuuj`aW!V6z%KfkD&gZMxovQLd(~&$w%<6*oZH0f?elk!rz`08 z^X6&S%LfcNefR!fM3I0=nZEA>;;nDq?kVrgAnD9=*=N|-{<$eM-A!Bu2rh%hF9VPU ztRV5wn&`1Mqs-xhS`0{sRfVLf5`;(d+n3kmv)IIC5o~%pr{5oXZflocKDYJm01oz^ zeJgSx6mzM}uuC$x0y~NV#H2%D9ndb7RM1C<<2L}A4(_u;?!nc1!KMj2h-TyX1p?HV zNMqC_r;H0R+9zrit~$q7Y&@m!S8%#HA#f_^Na$2~&?X~r>rzxSL8 zc;5*(>BD`X!{^q~TV-FLpS%01muPcVanzS2kogD2VbT1$X)|On#y0=xuUY2Q`@9t+ zn8jQ^Mtkt&w;i~%m~Nib;whbC+>LuMsy>+^-e?Sj$wW`z(~@iem{DrkzD*8JwTjE& zrz?qonS_U;5P=t%1&UDnA7AU zCi#duuU;q?6^9koe#D?zx;NK$l^lE+2y7Deacr`!u6Cxa=IRxj_mdbxa_R@jZf zwtxLixJNA)S=+xo8gH@Dn?Hl}1KM4BQ{?y-Jm-nkE}gVk__>N^w8sh|7M zVI!I7fC?nO3-H}5=VjBFoDeusXjb_M@B}`l4-WZdwIDD%;_9+*ihl7=C8SGuH&$FU z{#*blXfG_QZZpaWH6>7_4hTb?BeYk^9|S)7x)?1F%Zr4!e{C2A^tM=|8z~o9R$)X0 z%|E%&z~M7+bLTwC26BKE~zSWdBgTp5&a| zT>mZDWhDMz3~7^4WN~@tXOQr}aqCvVfI%stTneyL(ZN9*NAmpv9*^i={UP2{r$)Gm z`KX=aE*_6x9^Bk1gp3S7O*}Ji%0m7fJ$QXd)4s^FLm^dbG|lull8Rg>^KZ}#nvMHO zdqEaokI)AKM5>p>2jE7rduBmSA{ zx(_&4AgyPGRkU$Fq;9n$EnG;u)vwkCi0M7!HPNo@8l}vFZCQ3xGKohh5MOjs8HnZ1 zUVkxcX&Bt_pf?IN?k(TGuVZM2Omqwp)`u)9k$vGXT+=1>s)Frd{W<7XSWU|rGP*54 z~f2ec1&qcsG4dxo>gc_KST^bXfp5{cT76uaxKUBD5|L@mSf;hf!ja@gVLTa4BpPqG~97p1l*Ad|J zmdwvpuSFu+{mYB~rlVX)c&AK}p~Ex{4WyXBxIcusL@a%*uY`S0_VWyIg%9`#1K~kc z^gd#RLVur|M8onmOF$e0Utpl1_^eEH0iN?SehY;3uKv7w57>RHO>nCZzGfRN;l>9N z7A1@p4`=rAMZ5?T-tZ5IhXf>B+K~m0Auux<{)jhz;NNsJ>Yx@3AqbaF^Fm=`|E$ss z9Yu*oAAF;{6x;Dan7Fy1GE2wJ@dfCIrb%2t!7Gd>R;t)#G4};fl$fsF5-m)i|H$0r z2Gki&rc&L%J)(>x8*~!!Q)OVPGR?EcGd*OViFEgVsJC=4SGCEazggcI+` z!)`4FB{%Nw92$S#d^JnY_*6`+J^6-f;FY=ic>rESPG@HfA`xCf5|OnaOlRL{UiY+z zOUZmD>ZhXy#dI&wXo<>DoP_Ww^d)}1vE4zwCW#;W;X%G&J)6yPxmf+wc7Ye*VehMz z?K1aoMKQAt)?ph$8-czflROXLY`{rdp*9niL&z>A2kMF$^@eZ-y4|%EDOD@A0UXK} z{P6w07Ft|HB}Uq=Z62)YBhqgy6Hbuq;T|r^(U?3taO*b;aBI(m@I3ZX1|&ofM--YA zLTK^(k3u(&CItFKNpL5>SPZn~Puo?D`q2OIa^*AFWBr`~&oNarwjLJpgHZz-JH$t- zjOeX2mtlxB+?E>p_(s>2j1zRN|6!ZHtB;i#S3Cw!hLgB|!GYs6EKupA*_WPIz!K9D znCf(?WIh%cK`U*x@}PJU3RjQQ>e^VD+;Wl{y&Q)AjBIxkc_llu-eKB99Vo1!-h~Pf z0*mEku&H1DsA`a_y-JiY&q}m`D$Lt`IXn8p%*-wEv&2L2jPQLA3*qZ)z*WBo@!MQF z!&NNO;?y26S8^z11}&4gQ+R_yUm#a0I7MICU1wg@tO~Z=EWRAi_{$ejsL}wx!i| zv?tuu#r*vz8Y!14-lhazSzTUL(hw{_#L7ThV%!OOic99+2$js87jvxWb;ZdlgZ@>M z0r8A;1SP(G#Lu%FwzLDsX^1JjgT5c;#_l2*lvJ?>MW!N9ZJ2BxX{&NwzdPjD6d zL7Fzb1N_?HBp_;x8j=0eDLg0L%|D!X5Hpu^*Hs|I;SCeQM}+y%1ZR9*(yIh=-Yx4o zGK8gaTwWfb8*!G)+D84MoC6s}X~(b@RQhBu0SG&^Z6=A&0_>-!yn}nXm%cr(82Dj$ zC!JJO$_UZ5e85S57~L!Dy7{t#M1l%_k`-0Yob2dwb*izGIn4$WkrtHRW>lb-5M;ko z**a20(l_b?b)pEW>^6W29hq2Oi2nRC^XroZAEo`GTXg5fihN%3*B$yaP@8P$BYwZdA*q}L^-~@5o*CuGM6Q{p(tACQz0A1 z_X6V(dd;s+MGHAc!^M0?jC2O3<&gr~$O_h36}aHwTA&x*QXFa$aWp7a2&!+xmkf+> zH23R3!;_&eS+5{ zl`uK)JwVa%CdZz3E_CjjF9d*$sP5e4AXkY0^{SS{gW{t|$J}NKm4iJ1#`M+qvLRY# z_;(kTQ}&vnpI=vRuyyo40?tg}|0d=2(+YGtIzh(nCC~C>oLnn>3~4*YFQigP<4x6a z?{#}N3=E~AlltT8*zvA`EEKHQgHi+b*F1fvP6bOfLY?Z!E}+(Z0rWwBljv<+Ap_-8>ZqKK7=dCu58qs@od7E{t&%4#my z2;YiX>0MBeWE=o0XKLUx;^uyQ=1}uaASZ~*fJB-2hd~Ms7FkE#m3COLEqbg{Lkv6W z!l!luS1pK7rLpp)wIYgZxjVUA^Q>%qf_(~sP?r}MJxOsL<1&KM1-GhO)*I-;n@Q#% zoZ6IgE^utP5l#r+B(&Jr(ms+ULDJzNm-oUau-%BiXTO;Zf{i;b&!)twW5$V=Veo>m zFedRwb(tfBBq+ zpHvH0%|xlos!j^(QRX9rgwCeruy94WnzVs^MwwEM6w;SOu)?-+IFZI8)X7=^%#{Ml zPl0^MkBP*5WwPChqR7Z9A%Wv~cc-(n9U`f89jbdX@V>R8Pd$s32I({ZNa*W@4#LP^ zlRNh>EZ!(e+V*clGGS+)+>JxXTOOw zc48zX?<+$Uy%23&!Kyp+7#hZ=G^x~~KpznqRPyHq)1LPE$i07RU@HTwYw^IN?D1D~ zD0g9EB4o*#j4*T|50d*Q&W#`bSMXakGiSoF<;Yqs@w&PPo4dhgpb`Xkf6sMMZ?k3f zO;Yir8RWBA0@$y4FDzKb%luVuOP8??gdz?b zUJ3_=Fs;yrHC!5MSpZW?GX@|8y%|<_6#MMrcsy1~%kHmI$@S*(nPD$XQX2x1Gik== zu#B(NGqPPf@pX(ZAec(?lb!=T?dRDDdUPAyhU2Vxc9e!%^QzvdXnuijF!!wcaauZ( zV_fUp-KRThgp2pz4w`SAn4T|VZIr|3SFR7!k~B6f%-FJ0*hN?8`@KF$QfGI`Xi#@A zpzjmqU*ZI%sUpQfsXka2GLTAr+~6kTd9968MQzwJP&RMj(9lccIEjk12`imsD+SpwOSc&<|Q}e^g-iM3bxYD6DSS03 zeYKmf_wxMh+p}xCIqoCb$cSjqrG}#%4N2314TqSxGz0%)YeQDh@QE^jL#Th%KlYV!Is?qwkjihg@-8#xF@1`2Mwq=`YKL-k7! zMULU2_-7mQRA00G=UrppbAu8p%UNgsgRX1qU>#cS4St(LzVQ+rXg+h623FRjSy8~d zpq6;wdXcTv)>Ii?!9diuH(dUZ^n|TU5EV0NDQ^9;Iq;`iQJarayZ^lkWOzagX-({m zjOGwpGj_Y6N}LJ z83p6^!EX|u_M#V~THdDGuIn;OW6hBPbBkSNJlv2*3$7rf)sJX;5mI7D-v?3r#2I|k z#uoftbhX)*nEFB8yQxq9Ix;MH2}vNc)Xg<)%Z|U)rPA!Bsn#}w2BhRq;X(cYMkSC6 zX?rjgXXB-N;X1P3PNzLTYmI>XpDmlot#BWClu_yhIuD!|9x?3>!QRRKzQNtyWYJpd zUxo+u7D~$?Xpb4}q|_f)k^8&F@<+v``d|kZGInIude*D4Zi_dyExJR4c;o*t#`m6i z6rd(jd+loL4j#JQ&0M*Bsq!8>;Zt3Y`^5Ewf0@;}%wKp`I?66uOBNh|HR1 zbcm(8(el(vx%q}2(MzwYb5Rv`S%0bffrfJcpKFtRICZ~*D_PQLD#-`3>q%kTE1|mO zPMoXr+qOWXlQ>R(p*SeDfeb7$w?Xw~v4o4oQ7egd3!x#*%P;48zfvSszoX;dMcR2B zwdm*gF`&?HV(9*no}`H?1{mS@>K-G?j#Q;|=OzexpLmWl@XnctI|3csPCYZKBZ{E8 zV9b3Rmf@r49t@S<9q@i(mTf7ZGySHwB-SJ+#CANfuF*P-$oTMt;Hj9Bq(utH%A<~b zV2#j(u*S&Qimy3z>3%Jk*tbfb(;PI-iV6md)lD%ftq?)CwRCkc9fI26T_sO67gb;P zsbiL2heZw6TUAm$t0b7$@@qzw>3C4epFU3VDk^|sZw9aXXT4Y1hDDkFDR>hTGNWic=#98(lcrc*FP}A2)EN9V&jda(B z4UXOum-oquh|G43k61w9fU9Jt#Uf#BNj^Sf6myN8QKDY>C1L{sBQ_Fpdy9eLrI>q< z_5xt~zH@{;P;GA=eQr<1a6Sc2`pw2G{BdH0yJpO+rio2)@$`A3%s($2z784B;rLOIKgsLF16u94l*pPTVOT;M=IGF5kzp{h{6 zqnNVa;B?q@pumo$MTgV+p;Y~QCHV&fa^o?YC;Bpo5+uwlZ)iC(we7XQqDV0rZA4TS z0;LI6!|%7k8=}ZsbEHHcG@?x!I07`*sB`WC4Kri8GYso1rN>mS7WpoB`943Qe{S|p zQGu6l6I|a2YTQ~g$p93BI}9mH_7HEkJNzmb$7taDqI1rv2fx96&v}GbO>_UB@|{N> zs8GaJzb7@vnlyQ&$$CZ6T|_pZ!HGTKTUynt!i-+;;4Y_0%0Fjrmz$j61iwi%OA0Bc z>IOBtH{!Ep7~i7#+~x$OyfUC5vt_8+@0Q9v0?ML0uD? z3`leCV|2fSXOSqrFF|JL|7s(vSRSV!oSHH5O%|my6Msb}o5DFGQ)EDd>nbpPhPOiW zfFwXP66!cQmxEmyq_53#PZIuTQN>1+!i4Z-Widaz*rM#5-yCTEvZnhNd$%*IUSba%VY$;eL>Pii* zz)e=Z?|5hICi4rY6NmCrA+A0!q_BzG+vSc?!G`tDX32QB0snIK*uMl~)TuzO4=RNL z9KM;ZzUyzo+KW>c#6}GRixbld`T;hy?PP-!TXPVCCB1R&F7&L3fCtdE&w1oRYsTEB zQ-04yrK+`iJs+Ya?}ZYoP9Ry7P7s~-IoNg1XEKM(O2-ya6eG1@Ty0-Ewewjm23R9U zqz)S0J?CG>l34vwTTPc`sktT$z2ySid0YP1?>wErrcyRc&NtXq^Z6J!DS0$h_y?_g zeQ~cRKR>nAmDaSYc-qswjH<4VJv*I!ze{Od>^4^Y2i%WU?gfKW@h3FrsHVlFRoSv$ zfY=B%oq`zk<~VlB#-GQrSvXf)Edb6Z*20TK?T>5eN{$KpYfP?cPtg^rlxXWQ%*O#N z3e{M9EbrU1Ebn8K5VdL7<8N^R?Zq9H0;(_Ko`br?4cS6}W$xFLHedMGKO>oS{@M5b zYL8SI*n{?q%y+SCL<^PK$K#c5)Ra!q!zk^=B;mD9Y$1yL-{hB3lIt{`_V3i!^64>$ zn4i@hd325TnH1!iLf_3rHLooa<*~E>kzA zsMc!6-hdXILaGJHFJS(|5!W>3d%ST#~*A{so8f+65B^DD+=@C$<}jY z)*=dThPcAa!8)&qV`kz}^%oQ`v2Z)+l69WqrI>-4+dm)$kczL5T(p_qrbktzlP@Pm z$q%d|C>Uzh#JrW+LbQCmtg&}Kjb_ck$dINWpuO$PMedJm6p1cXiO{5P&h;kvEPum@ zTH4|fibMB4cxaN%_F#=qytP8?4tt7z-(#csvaB&BrXAqZ*r6-PMIIdBZF8K>o?)v- z;c=)Dc3t>nZqQ0op&a_Z%^q%{Sm3Ow$rd4?(}ZRc7~01)v~w$J1wY>`9?(rc-Y+<2 z-?6rt-KMy<9h$Dj`|c|BNt$<+$W zN(MtQXa*Tx)TNFzl3nLCVq+JickaN%cxS3Z$!b&T!7z%||Ax?_lT!M}ZkAX{lWHJg zb*(mPOA8q-s5b#&7wkW^?d6t{yc~v^yjF6W<{&D!vl{d$2dNTXRte$Ngo0K>KQnyB z;w?IfM%lC> zw!BP!l8t)lYL^q$qciF)1>>w{!qo2(BFai)lJ}3by75d9C#+BE`fy5yjb2(@y#0C% zzp*~+zUlYmK9K;BbeS+u3=2OAlA7d}#~O1qvXpg2gnK*C@H~r8-Fo~13-fxryqUbQ zZbx|_iPsHC91HW$bBf5b^8B3s{*^#D?RW15{RrtWvveilwtM^%NugXEaixD}&#gDXS6E$hg6T()RQ8j){g&!){ceMmGt z4}%zA4C6GO0KH*EY>e>9e*hc81Y$8MMyrYJs0qWih@-_`@cX{XEOCc2^bt;j7O**7 z2386)aL%S;<+yZBpEen9Sun(!BMNkMFYk3&8-~S;JDQO9c41*ULZ( z(zpmXdqFSOjwEo}D6j%CaNCf;7Kc9wZ(u$Uo$+-utCq*|Ts zH-8^A!yBsHNRvapX6gON2kX}sshuE^_xSp2!7tf+QsRjG^#$DsrpdjFM~tmeM;;mU zjzT{N$GTz<_jgd_eSv)*{$CMunNM&i&OBFfV{*oqjc-s>9RA8hB+kIk^so2Bx*M>x zYNM;?7v+^|M}L)bQqw9wshc+`8(_Ewvj3bGgH&qIU5)5otCc_d4${2e!0c)WC5}1f zH)flN<5UF`Xoc?FoT_Xf#1vI@)xpd3>A#oU-*Fo`_hOS55y6b!YsTOYG3u_X>3wNw zpFm0XEexs~xjE^P&fETT%9AaA147B3EdBoGsC{2&T}?c9r7NpsXK8npd|@}4H?J)& zco})7a0` zbO+cHXR>wu*o5{WYMmMsxm`}yTBNixesfMYvRWhHm^)6D(T*zDHnQRy;vH(LGAL$- zGPvG3!Pe(qpsjgKBNM{AB)nea|C&ovDu`n+K9EUVYA2;i)yhc}F4^}z-BkLRv=htH z_F>#w`y|fW1yt)JDkO;}DcNhzQOAymbW(>cqgy|hikHaWs8j_|g0X=6V8F@kT!Ek6 z5<)X_Zyls0n7e~`jK8;MfO2RaCR*_8^WB@u=3PQNUYx$y7Wez?DU^*opd4xib95;W zQ5?-q7yP_vig0ku2VvUSQxO9$^%<8&+;3U27FU%7)!|?B!iAX|Ylcz)PG5WDRyy$U zNx;8sxm7lWyn;1w%?u~vAyl6>61FG{&~`RS_S6>dF(OpKFy`;SXiX50R`jT>Q)418 zB9$;mpf(y$%!8HX?RtDsjeVli8#mi%^UA92!oY3nTS~{+Keq7O>>Ptcz4&V+yaGhz znwD8&#$2)vL!06)+PvA8W|+6_?hpk9VrdR!!kJ^m2ZVzx$Ho!0#e$;z6KFsLHDP6L z8Z!Plb9!)z15Q%&r--M?=+#&*qP>K%o#7dnN?2)*1n$->+A~kIM3K1HhomNL;Am%{ zpfahVs6q@4P~tL-n;9O`)6qtf8~!SbcEp!(4SLX#>PJ8c!lJEY4zCZ&5v-A%Zb+^s z@UCPMhB?Oa!n|2zx0^6wPp^_MOGQ-STP{=gb1CNUapEyHJ7+J5l0==;4q_Qa<}$Y9 z@trnc7mNF6QC&1}`jX;Dp$72C(~aUCCR<0*EncxWqMaaff$jrB3-$Lf)0I>80>Phz zw9q+=T1q015IL_dyS2*}scIss)G}&yuC517{OAX9J;dQQs%M&*thsHP z-(&S}?AnfFv$u9sWWS&jWVjWFpe@^uyk;T4)OYUq z`aZkhrI0pv;n2);$j#!4?FcUBxRO}*a;60=_rE&KSrwS&Z_B$${T@{zqdnOn+8RUF z!%>PvWrD(05k;Rm2%`X_J1FtlOCeDSW{K!McIvux%_ zT%MHkfst)fhp>{KA(OBd$Id`#&UQt2AJ#;Iv0}8c+>DD-VTM7$LsboSTZxQAS7svc zX(+oGg+MicoD3MWfzNJ{Hn*LMR3+17XHzR_V_C0}c#!}+tpcP~a#b47p=fV!FiGZp zx%rq*>t$^5hy*fthZNn`Wb1@Y$@y^X3Gjuyi_T&8_zQiiU7&scZOOP5IP^|jG!woF zBBO5VXj1`7lTq@_6|g73VhxHN2W!lxNt#wk_PAi41-C2DVr3+>}+m>5$U0)Uj{QD6lnwyIy!V+t3tt%xHjjl2>P?@J?W>; zIQa{f@(t+cIp;>;dNB;J$8WC?ykGz`X)ILe$Vg@c1%Zcp|DMxhuu68;D)v(*a1vgmj}tLc!Og zl}c3OX2GetQ~ZD)eiTmXH37Wu%nYhh1#;m4zYEew$)};A)8FaO_pxwQ<8+$}&G#vTwy_y*;tTHqhnTEe$1dFp zx2(WtVg*eVE7}B+1yR?a1k^sFH7&nUE`W1ac$$}m_XeNy7Sao?&C3dv&`{#A35owU z3U&M%6Lw5t`jzCe31qKi!{L>Bq9rHhGY;+-0eTTP^e5ebI0MK|Y8%KQvIy>IVf8z1 ze}5ugWuzD<{1LkS2shvbn*MDN?={?Fay(Cc;{MFP9NfBvuCs+ox`AV7LBgL`i6uI`%H# z$L5s?mrB}T*|5qrh_80@PgVcsOy$?JR|bX6IDYmbc0iXfxV%B5#n%UQ^m?K<1q;3p zxtJE0$DC36!kEpPBFh10S%U97F8XDr#yeOd?PV#5?<_GIW_HAr`T>yaIyZU}G`mH1 zjv15-AmkI4z1@~Jc~CT?ECb)O^g#afH98|7$SuiuI@K$?Rc-RoeL=o;Wv&WVst;_* z^k+qrv7}H^5u10*38&(t>WTVb@brBH42h3Ml(g&SxwG0%qqS*Od|ZJ1 zSsKF{WoAr4568w^5~=Z%{r@6;|15fd$}F^%|MUER*S|vpkla6H&&tSyj+vf=o{iz3 zZN8bE^FOy{X9iU>O$J*F6ALq27KZ;z1v2^|R*J9!0kt3k1JVDtOZ@Lr{|+A4KGxow z?2UkzPZ-rF^+eaS&6@~3iZRDTTemE7h3uQ>?!tpGWXr4uQf1QPN$CrFKXah?;TYm$ znGNT0JGuxUh@b&O`hLT;b+Vdmbk9?s8~(R0A2W%=IoJcxgK1oM^fqH})Rt0B?gw(n zBblWGaFmycoU0^$+ulvjg>^EG9hW>&JK2M?dWAif&d}M{cYr|WhbH*N*6A)v;19)7 z4xYj1cJFyRM*~k3uOGTAe@CBdDaIkJ`^Gmi+0%}EPy`RSE(x+h`!IHw>6Jp+^AwS} zuO$86}`+wGP4(-Ee z4PivM+et8y{s0om-^y@^#iaVS$=IqD_r+4)fkPZG8U8NylCcPoNBspS)EAxUj*!{P zYQP!p=a4)$JXmKTd~Lxnn2Y61X9vGGzzr9Ov@N$6i30M?iD3Iz1CPVLC{BcDo}A0e z%T_r@yN`WO^T7-8oV;E9zVG8BS6G0&_7`_nyOOA|doMs3^YJWo4S0{ORl@&zxR<;i z?Ah~7SnG;pXSD!Ql*c~tuRv7Y^<0SqE<>b*L+wJVV}2FF(<(K;q#`U$@uC`Spjv-YSmM<|Hlj@RW5(zou<2H(<4F|RKbv()Vglu+ zQN7HhVWw}v@ie2oAH|KUJJ#+r3M-IWi+Sip&k`@VzbD~0DVVC`#Q;gS1}jL&10zrK zEjgRgN!fJ2O^RVEmVs#pTSV^9pX}#kK(4N7HHTlpH}DP7@=?Bt>a_zXc*&hh|L&L| zQ7KV7#YabQ3M-*@qTq0aMU|FM4|Ib!h-E2kzYe-19YFF#>k6K~58@0}HZtg~MB(K! zD9#Y=b7~@xx*UpenzW4iLQSE*!hz#57x7*)VjbUE8^zyB7;HIi@oPn&VOmKV4`uG05vqOd^mezi^ho7Vj&8Y3*a0O;%H2!eKd?(^p zxcn!XYA=xm@JV{kO@osmJGi6l%$Xc`D?)BOfTK<(YRY2V+{gV!+X7@#Z^4RJDG@M} z!cF#R6pC5tfNo0glt%M&s9IvL$H7SFO0wjUB&)QK%f3Hg2+-=hZ=!}@9QLVDWg-r9 z5;i!RA)Fxcf(8KoNnvV8S&2hKBGm6QdtpH_N6N~0UCY&62)XM0iFQwW(0(&aB}1J1 zRfdjkp$ABou}5QMCgszWEw+NeYbpeyx#}k-8I!VDH4eccC@-{jVuZm`%|KkUvYa(m z`RaJbs@W!DR%-vE7MnA@UbKtiW6>~QwHcfanvqV@L5QEBk~NbEC9tuNR>D&7vnbJL z;C-UEpud@4m}YD0o(oz+o(S?TkjmCcIPlvZHbGB;K4CfT3-jjp#AUm&4*i+|GXt{3 zdNo?2>&8bPDCN*6iLg+hBo`()0sPrwKOoMBWR#)B3BUyPLPBN=Tb$yh5Y^#)5r38r z5gJH(DStmN#mE+UDokT(Q%$G?pD!T%0%!d$Zw&$tqLYc(z6;2(nZu|TRFapqyVP35 zXU_q4h1SNuvsGWvke(3Sl-U%7H*y+%{bLm;Vt}JcPHLd6>~xnd2`z4b8ha@!+9VNF z$z7(_tlwEdTW}DC+c@iX27!{^r#+VGDyXC?Nrv{ug$B7&xO@AwZ{OA?@#CxT;}(W0 zScU3u_amX+vu&qwA6tOH>i;hPz={q}0_IQMud$Oa}UC1WIR;T;1QQ znr%L3%18PXas>83QcAuW003YIaPe1u>Awi(VTMkBh{0V$h?oWbdB@BQ^xBIXs0EqL zM-PM5SZXV0S@<632+KA!Ml&7-|1qQU?5cKvSH?q6ftIZzQLxGYP(t z5qGVJ9~fg|E85^uvs);Rh-APH?+b-g_Qr({Bbs5gW+tslX=v`$LEH0Sq8EQrQ8yBx z6N%9pitQe{0lv!}xsKrBiDTIFE+SINfrpfYI0j1V}d9Hi($b=63SaQOxF zQ(r@3It^t+^C-Bhum?OkY*23u?D&!mOEsPB+sV-vOkX1e=dNgki_0nr5oI-Wl(7Gc z(Jo0lgf$#XiL!i&#t=~@1%JnB6|(0pL%=$q33(*bW#w3rKMjuyA+1_0h3q~M54?6p z33H>3ZKYf4Pl)7YAe-mGsBDM|*V0lXgFok<74we}9Up|qOcvd1C>l6RZ@ox<5Kg7* zfF*aaj#S%l-n>99rT4%TVZf~K632cvC$dXr{Upje&=Cb)f<&C|^doB$iD-|x+p zoOM|S9=#s}uhP*9*G{vGLORm{& zYV6r(Jd|8w(`SGcLu1`yf=97of>cNVtPlR=`q$;xhzkR5`g!8b?|g5FGyf#jsz(}E zX{*jB_SmLTLVAa)1@UU!C7gChs7PLv4mEe|;kIR;g}3fSOPIKTzmJwWJ{zk9Dywn) zt;E+{TnA(=7-2z0D?d%uIYxR_EkiU?l4~`7i({a#%&4$-XNNfFzk(b{fB|bF3SNJ6 zWVDsN8{+zZ)rh&@n$?96j49mRsyrW_ok#uP*5>D$4G?%E>#kKL;A~bodvmvF#PS5( z+97$O__e-spzrzh(*sr?_Gih$9lY5Z%1Fla4$&Z^-dzq1y7n>6D68QBwwU(uIl)|3 z$xlc-GgbgDaFV-4dH#Gngz=5>Fth8cBNMSQk)eqVPp0@+S11K_z%Buwxhu^EIP3j6 z1N`#cOwT`q4xzRu7s>|XOUtge!!$a(YLW!-<5Hk?RRzU0Pwuj zSp}-(ODzy<(3)K-(#T4SdQT|O1sg^$Z;eI^opDf6x}B>cn_>`EQ+^xT=lNV5+ILG} z1zJyeUwI1ta#W_;W+)6gyHKmM0ip&Y6PvZWD=6L=zC|(`qx{RVf#aZ;-lcO7IWicz z{HJ9Nu(HI9@woeL!g+p`C%Y~VJ+wxU=|(I-aH;0$qLBYcb(v;p5m((V4Dt9&A|$c6_3(B{ z3V!1{+I?w2HcAV!{b1hn#6^pxLC$Adb*-YMI)VlI@E`KDriWlvQQK5~Jb_(Zok_ZK zIpnHc)Y~Z7uhm`}j4d|^=JQ|(B`i-Z1v^}3``kguPd zu?KR>V!J!~1MFRxYd<-9V+Z1(Vg2o?1q$`l;%VuaY2RhV&p=~yJ@>QHE<79of*!{2 zeu212;ntG$J^$W}mBR0A2_xEAt&$-NIQre8UrT_?&}@z3Tx>+glS~N`l8UwuyuxB|KP=V^J)Ap86h0-6 zJGo#KkM-js@+gM%PR!w(fZON;C4c?1H+q}u8wz`^_qq8Sv^DQllEd$iXPl-T7dD&A zVvArv>hn$K{Yhu_K;W&c6m*w=70m2iA|^L|<^o^3SI?q*UETh)AShEK1>b_cd1b{W zb?M(6S_~fNwnvpIME6romM&E2oH-yNMCx5@C?3b#{K?qvWDIGk_b5=hD-pysE%9|kEJ!>0`5lf&c)ac@!+R@?-sF98qj47S{1^o&*$Ch^^F_N$O9$( z6FO*YP?N(={|OboV!WU(9uFb+iQRo)XAXTtLwJj(?V7hA^@L?HWkWTNn&ws`{ypUx zy*x=|uRBz83cWL{J*zRR4G8nC&BX%|%N;QIY#p=++fji_d%esexcj(k;Eg4;S4=;KW?}+X7a4MPxPu1u#(HB2IG!gp(qg+h>OIshefCUsLUaS+yg3KfLU*cXm;ox>A55S7`WLye6?)VOp8i1SxOd2 zbTQfoE#9VH_WkW11DES0i=9N}ZTiL@nOc7viMMs6?E-{PWQ#b$Ce1SN6-P6CQgUtU z%1U_f?@t2~K_QZ2wi>1b-v(HQQBt6+AEUxs`<$o!a!+e(J+GI!+8DEs@%4@ox%$_a zEhXFsWAkVn83e6~77RwU+q7^cZu`wqK`OvL7CpA#pS4Bl+^g<^LV#J?O&k*`A%H^CtWo*D~{0PeT!=sDj7L)gOHsyp&oh(k=#X z!|=19I{2^3SZz<`20#Xg!M>=8SMGP*1*KVNcA5c1@a)7~Ta8?oU>!zpg1nn0lvgFZ z*LFJ^2k|{;pYJaD7x_h-zXgf_f{opqeV9HDWXSa&?u~uhap2OSxn9j}hCC4HI}6CN zFU=Q!=}k%r2&gqnO|6=dmyO@3{y8~V60Mh?8d+I^i+}*CH%!TVEo6-=0~ig(9hZs# zQ0iUuvH4l<;U2Mjz#T99o9VjhPKCT2*7?)zlX>l~T=I2`TS+0=vgPBS4i~Wt>>5?? zU-Mh^WaQo&{=ayNuHXrxS}z%D-eGxAtrnHHx(K*TOI}D8xEUxbM|OF%y|PPL^>A=V zqg^JVO@Y-v#`%*Ozr3s-mEBA}-Yux>cv#W1lPV_}`T=OQU$jVcxdSU_yNL)!=L&x{ zW9}O+k$B;E>m|D~F!*n*MmtA{J;*KCYT4h4T{T8s0y*GByQ@oTD|LGZ|5}{QH^{;M zHbq{b;i$j&3O*|XW*L;P-sk;v?}7PleBcYAxjhkbhh}EPC)jM(Zsw}$|AP$se7IBM z(y&!l&MA*Z%VufRF~sIHufG>V@ie`K?dNDN_fAH4X}-54bbw2P|FN9tf-2Jm)nK9v zNIvevPxqPxZ6YQ_&MctkG1P|;ev>LUqSGNVknzfLsAOkF(AWPRfmj2gCug6psv(Y^ zI^Gl-cJ1=`U6Up>$_=IKTbikn(w^usi)NA8exAhVn)oi;#4Kfy$mlP3zAsoQ`S{X# zB}MU#bzM5a8YoR!@++9(-Y9V;jL(nPIVt=K-nrVb!7{HG4t+n2C;_P(=HZ$teE1K>nI*{uP3c0>FrfEXG=VV-*KODqr@$! zdsrI+9g#7u;Y2}U-U!WKg-G67IO*_5mXwh#-Z2FW&nlCDp5IvFmJyH~)Je=;r~8t~ z;iXI32Gud82*0Imkq{nsSQN#{VTnO=qJgXeyNLrxhR;8ib%xbP$X8{t^5$EUmzuTP z)M47oWAHhv)@(u0c4uK5%0kIRUqbg>7FSaN{gq^0D2g&Ir6{ktHTpZu@-`WI%7(w1 z*+_m-Ky=q|=-Ce+en@h(- z%sH0_0Fag&UP-^8V23G;y_td62`-mD%o3$TTQMmx<(MZVy`s8D&L~!ENnl+`*j@G=pmT4eiGm0&8GUHu<0Ukt5lRR_h3v4eus~SHzlSaHnc15ssd+5 z8i0Kg039_529iMp8KVz3hB@%|+u(H6;1ndo69KCnD~2S%(PNA48x2sL5V3_V1gMS=UJb9`4LE{7a{K3I zN(gT zE7zY0j9?Ua>JwV;O z**&$3#V@ZWzwnUPsuu2*}BYIEUsB;C0JxNahf=`2<?+R4%zzL5Yd_ z?Ewif-?~md&gYSHlwlzDJI%yOxQiUvu~hk&Zfr_N|Y@j^(@>-76^Q6Op<`WaPhvieGqLZ6KI*46|3JES{v(Q#U zjCb3Iv1zg&VPyxBQ~}jVl0SJoUT%qfJLLTawA&*e?KCF3LnDc_yuwDyK_uV*81K&w zuZp4Suft)F!sjP;CkpeA{ZFy)W9mtSEP6_p=1Er+R^*Ux3y^Q!>)5Sh+Zou3^c@1j zpnRM-S4>{O4wvrak>~_FrUtY$f3vo|{frE84TiT{^|jx9sBISb&Llz-9&49=4u)df z(OUL`zz(szvzpGKj2<6s3!G$n8JOflr*;;~nN!F8ovdJ@+Pn?c#ou=U>&`yuBGgQR zt&_fsV2%$vrpR85NA4&TrF&25G}NC=k|eMtf59bxPjYto%AZk@FV;OXVtvZh>h4ui zvyg*n%q5eeMCKc=H02!8Q*6`|EgqSg2o=Yu2*f@()Gus_HW2{r>8ZsOdfBU>L9b|C z_Av`Is-iQ%AzM`H9>NS%7L&#_+V^DXm~)#x;l-(_M9XiDQO4O0V{MCFa$WxlbU z3D(!Rjo&zyl+dJ2A1j(Y{Q9GkUDCF)TnX7cE{yRQ%fPD(z0=ZtRr@*h)QNa@m<1R2 z&dvQTlT;W7JI7qWrgp#BBMwWcR{zSrhACK$-!qh z;bnzN>EgJ0{~SIQB|#|m@RD_dJjhH04CwL?D^mAXdpg9j!uTOgu>->73A#Y?04Fuh z+-2&T9Cq)TnVr=yw#+NroYkHNir!3?JppoYiew0b+diMY)io`YrfP>I>Ovb=mo^y5 zz5p|=*3xy`)6R0F>=5ky53Fx|na0PWLS8g>ZH4C2NIn13`QNZ>VU=U}_u8L7=*O_}{#wpzcp;)U{>%P(_oYCoBK?@2%dSs3hsVcpf} zmMaf1&dL9}+rzzs$2<|?PYBbN3Wt{Fx#T~sf;wbbhPcgt{Z>yb246t4{riWdc)Ao` zG$w= zg;O-lKFh$ac#w1bNvg52qSf&fT!u!|q0es6viRRp!DF*a_L9d2*rBqpYb*1Ws!^82 zsEjL$vbIEJxp%!na+K-nhj!>awafm`8xx23OqZbQX1zrBDqg+oV(jb57_cqMg-0KQ zgeyEdH!T%+ShoNJqhNCkh_ov+E2iG-s4F5tx%}hdbC@$aVj8=2W2oZ|xAXD?1BK+h zFA5pjCZJ7ijC}M)j$9APGcoWjD|(NdCJV;KbNnynM=O4~ZRr8*y#NQNDbj@ORXc5O z6&zC3E4zkOdudm-0donW>6w&ozGSf?T}wg?E^4PcqZ zmhW0MX)xZukdP+J10XLaW$vxSCAN2%>Ueew%>F)AzNusNsBIQ@=GE>j+-?&~`ukI@ zTwYyrj_2ES)Oj>D^G<-wO5xZW!aehDyy=-Rs)p84vybI;7|u?sT=bj2IT=QG#-4-Z z-k}>|FU`>-{R$*i(WC`kgOq31AQ85w74+J^R34ViJc-t!b5gpcGQ=?anY$VPD534? zf{L-HFcA-ULR*2H@?B2g_l{B+oK;)djncGNCt?d9W12Ho2YJGV zG|9_6cRzCSz2tfiQ`SCDS`{D?H#~*zk@LGd^v52Y8LG+(?qLzl>Pup^@Mi5-xJY~BqWF7iRui&^cPOB`g5URZm)l6L47 z@94|c>T5G#`13u*TZ}u06DkNpa@mtRrUN;3FXv~0UhauogYur7p0NhIkWlxtg6Sa{ zVpHH~WZN-!x}{>Mz@#wPRTR2XRESG~v<&1xg(dvOK2p=Xig$LRnP%}xCNz7TgYNJv$THlTsVv3^)m@p|*kxh@ z)KeXwha!@i2PyrcBfZ5flVyblaz%Ovf{KRs(FXQjt*VaTUOH}t-3rz1!PiiHv>vPK z23WV2@3DL!xENxx<$uE>9@j4bx6<%Mz`P^Fv_n8CdeA^Z-?ekRzn^@I_W`pT}=ia*#PqWC9MIX|bIw<}Bf;p*D1KF)5)R66|;EU3Fmby)P9JCadcO;8Kb4J47Z9!kK6u%Ae$Zo&zp zI)k&aa{7c=?X~$!tgXUa+eTNS+;Yb+t82zURK;b8D*OuDjeAc=V=Z|*+bFM1Fo|~X z7zym7nf5U2fprIzHtd?s0xla?_F$XVHi!)?e6+l{w8qXB?Flh~&&}=whzkAG2U7_M zB3>98%g^P{>Y?X#3(QB5;1(q|VuIw{g^onw8Rsy`&9W@LY3jyp+fEbKGXWNz*|0*S zbTa%h<$D3rB zFX-gEk(Mx|Tg$ZN}TAip)|*+8KOQQH|Uh7@q*e8ePX-^-Nk*inHrAg{oCz{!2sll-W7;Orn%K~EJjQWNs6=Zjc zh0WfcswMXnJNEj~mFKKP+dlb9yWkR}s<4lw4YafYw%k8T_-9Eq=S{U8Sx?c~kwqX? zxt{8Ft(B^cuHHnMd*pzUwP*6;ZE_Nxbtf6yplx>GvBw!%+s|!wzGjUl^2hCek6q3- zyBv!&*68Vlf)VnA(0l7Vg#9Im_N}yYo!lk)kMPVd%w6-3nMF3qBJZ4xSU~PzBOLx} z>#PMDm(yH6MYg)k=6rdN-$*fV)=Y$^iluj3&izwg3iD=+x9<_#(@g~TJO#i9)$t4$ zDaT%X`!D(7Ty*4gb9HLjjo8W+c;?sA^h#Gx(YiI8A-Y+Fm1sjmAS&DE{)NsMv3)Rg zZ#dyTuTS#)94eoJx~RKgM);64db~!J1PzITqi{X|S7R*Jorb)!#q5OYx?M z4R&&#q~^b92$HcH9WePb+6cQn>lpf;a>@&rqZl_#gE1fyOMRu-2p9FXj?mI3g(c%6PBi5rW0F+?&uOMOIGeN6 zPn;ajoD9nf_7vM0?0_sVUSm1FgCzF(H+5Jq)-(OwvQuT}eltU`_|#0{PM{GzmsTb+ z2=Xr$^IJw%8Yrm=Pg%ei7_rp%Xb@+b*~Nn7mmc(vy7x(3Zzb;m_ED4&pNfg*%J3-` zq-WdL4_R}r^Rp6}0VkV?=f-QM3IpEOyA8$|_sLw%#q&}%ou?-3BpteHnu*&NSIoau zC;FcTJi#$eQ&3SRj%||JXw$`tKwG;zBG9YA;MvtSICGdX>PE)L3uXFC>Uo4o*jB^J zV(GAT8>qUCW5TBEm8+a>%ci4}ZqCzffR%}iAD^4sG5e2~(YqW6y0aa{R6=jA(eLkB z%|Ie`{g8IW+=ZNV-1;Wy+i{wK8mLBbRr^qrznfhF^r&pgLRWiM&CN-@yPCZ1d2QM9 z(OHH?`cCrFvYo(ngh6>3EuX^R^)!VSuh1gu!!x%yCUU|PxAhh=X|ur_X!=wm0R~OC zj_2U_y20>$U6^x-5Ha;ANiOpff4#cSPJgkE3`ageCe5md9Y`xCyU(~vL(`H45Ax<9 zVJ=&Q56H(6UMXD?7=4@)NCXn}FD7<&=d1NX(hHu;>f&ee2P=K?<3F4&{_>B>7+YR7 zV#>uA^kK8C?VI*{j2fM)EqO4eYhmWQaC4?V>K(muBR!O`-<{m^M%NR39Jlqcah_M$ zCUtnG1L+EH>RL{ELA+&d|1P#;e?#n9B6A1$BI}&UkuTj$^@RNJG55Ydf8h3 zJm0#u?6rtNszFM^@u`zil_CVz-m2$(AkCzaK1c^*EfX|3-XXf?#Le+b)=%q!n}Uo( zP5`(?PFxyNHRZFkc(8*Xs_ZRh3#vJ_Xnh4tJXdYh0R|}Im(Vu}`m*X2n1h|RRt9GGxYpGz`7X0h>@7IG)|0D8 zn0BV}(N;=w5^3dN!3Kd_%)#l_;qqRJ(=a<3sbLa(Ll6{qDi=cueFBu)fFg2`xiY7(aSm<`1(!V0ntjs2zADtBKIWj-bL z(Q8-!Vg=qOqfNzq{MLv&InI^;t(1QUdhWqgSy{cjtYOE^(MSp6c!mJR6qFMtdRDY`eHcUid-| z3F}@6(v5?ih{PRIu9qJ|!f~}jrrY98-!(yf%{oY z>>WIa&oEG*B5+@&%}Uo0KE-9TL5pin2lLzXxv+f!tqkw z7pjgxFuI3Z63W+oO69;Wn~v#18-xHLq+K1Jci_fhAd5G4_3nx8X+c3F<>cM5vro~8 zf0J=0(}0E0a58lEi-eEME4fVWqHI<0L%o-&)ftXQHj)joZ;R*ZXFB^FG@Dhd)TG}k zFy22T?qF{1o3$lwI*NTaC?6>YPYo&cx@P7@lppSC_1&w>>=0fsMm0*A6}feW68|&{ zMt8LU|32j&?Fd2pXn2;KO(Bvn+g>J$56M2Mis|j3fxGvi#Yt_N}acKi*ghGtS`! zkgVoI86%)JHrpX9+Y9P|36vryix#hVcY)U4Vw&qr${rSG}Sp zuUqV5^Ae-yfx7YxQ*ZSAG@?(9<7XAp&k#!vSw$E}s{j2ham9VNZavMf+IxLe->X$R za4q~nzRLiS9n9an?awQ@pdk%V@}>VT?=G~4(~an$_uJh^0Y) z_+|Msr5}IN^fncGbWSAfn@o6roFBT5+3KIjzmjV1Wh_#ELoWj|+}*n6`8Lw&Jt-*r zSZ|kRB$MdwWu)`B_mqIJDg258I3bsw`kw?ZQ}REEwY^!gI;Wy{=ge$sBH-TKjzqCM z)#)?-WjOuKTX0V!x+2IC}c4<$|7EIU9NGGkNFhOLx#zCq+vD| zJ{HwNrSZr}hV6&rF;x6zCIR_FTN~P4GeEz4-BSdyENXGlZa^E zE-h4#&8Do>?UoLhDiUh?V2}_^u?E5bK-O9TuX2)Y7=>mZc5yk82*pQr&Hrg_5S)EApVZ&c5QuE)+{MoXcaDEHP&N?tRbY zLIsGNx^H!>w_mT~;oPC+;2IM%!^Dl@S-kvkMA^!{vN8z$WWiC-RD0ux`9&xs#Q#B{ zD4gFsUf(#G>Caol3{eQrT%o?61*+j_3A#)@P@55$XL()aU}FqgR4*dq1>?QsH0l3n zA}PF|e;axo10*?GqwUFUOBrtqK!wE{y-3aJsp{Z^ujf?GCUB^ouirA_gdf!Vr=W;_ z?#8YeirFZ^QAl>1nY@V?L?TC$j%Fc89`Cs61IM!#W+5j&p}XtDqNef6j+2Ro^={}ZVaWVWRP3u-lg(xOuTj!Z^v=J6} z3>d}}|DAKzHQ+*lj+~e}fXruP%LdQ*o=BlS%HUiK9CP!hZ>4$ojE7jk&%(>9Zp(_d zK7%=yrG-R+&n*Uf=l&~S5wEL5k@;nK0e?JM+bNm}57QA(k6H}j7j8SqKA*zny zMfMEe=Nq4|mr|=kvHbOGId4f>2tVU0lApVt^&Hgr8WtstAjCvg>0q&-RAy+&DcL=J zFq6h%sWo0hr~5#^92OxtYa~0c%wfW5R+hw_m{qe*veakD4V$|q1rmgMc>5c7yZOXr z;o6Sn-+^yNUL;OtL9Aj-hZwN7t+Z~oQzNx3IU`5C;;m0LHpBj9-Cg79)gGvoPM>g_ zH4^0i_G)xE3q!XwKzlQ7;rNTDA9&!lG^Uu8`8f~h{de1ADem0Mf*U<~t4~leVx2xr zj*EfKlEG~3ln_X9PtpjOtb-?K7Jr(!vZuJ@?>BGv5Pu~Uzj`#EZwUG$8?ru|MmaY; z9B*J86P!2L;`)$}77JHSzaF)Ao7rgL8M35#Sx%X096EATj$Nx`R=S7{)*?)dsW)=g z>~LfbEfq6AXYp_{G9V~NUEIi&ML$@a#%x@((}5yp&=OCoS(msTOK56;_EtSGl~%O& zKIT@pfn55H-CUU-q6eo6M&P8hLZR`M9_4L>V$WIYO67(Kyw@2$8KcHVd_%4*ea7>k zy!y!6li7&$=tub>z7Y#YIlk7(@W^P1P`mwb$8Khm_XqrWwvqYd;n9%3S(iZ$Iym#S zDP&UNs}O?IRfqiJf^(ZB?af2aLWhYIypN4dM}6>^!>=bDu94JYC*W#xy7%7luO-)? z_tSAF*ZkHHuYXIW?VHY}yJ8u*R^ndI!m$v4j)xFH_wq%>l<)}cS3|g{HG|_v;Y~{X zPluGCJdN^l+-$PCE(s_(~KtJI>{dDhncoH=^`kRDvu4+}l8P`9a3=*eiVyt)@cF z&zu3;{d@3?zFmW zf6$tU97WsHA>j>K_q91pFtyUL70OMkoGI6Tv#xrQuX~zRJ?hjwZbOL!ha>`tY0R&B zot>3=d3dYVV$003-4H>2;kL4STUj+GqXAOvoypW%YgRZ}S8H`w+bg~_>!xGXNVeyn zQC$1k$E^<{_&ZSzz9PiVVtpa^z%BRW26)Uye;&wDQFH~`pE9OKA8CX*a0a6waGCBj z6Z+8dBe)@yn@rm4*GJ6mbuNaIASasIqi>QZ8J)T9)SAME1l|zH3l~kU4+WH_qBra9 zjodK=Ckq}XziNk})Un&*^@E}PKC>20Uk|=rk@m~i`&;!*Ia}lL!u2gOHjfrCjc%76 z(0ugIB5{*N1@_h^FB`EzLU;@2Yd1}<0m)PMS5i&L1ho6F;ra*d&~Mx^yrbz%2i%*s z;ds5=g_Yg^OB-NeWPzQ;>MS@MzYpauR@vc*rh)V%!ms%Huve6{h+&-E(F}w2;?ACK zGuS=eBiOP|J1gS`3fb>|zW~_aPEg5`j^?YFI$wsRo!|i^V{rYR!hVg$w^P2a0CVQh z&|%yozbZ$ETL%nH2|+Z_+>IA&FDU4+AX8t^ANeOn`);VUE7DKn$!B^7A;DBuE5img zE*p`6 zfS-N2^`{RlBci}$KSx8l-!9KuPd$YF2TkAj{jwyDRfMQWW9HWrV|gBD9UvE*AMLmD z2i+XQxRy-7mVd6?eu`ewH!@)+l@HrcNP6Wt65arGcHc90%U^;oJ>vQHejv7n`1?F(o1ewj-0cCS zE+kh7Pbi1@l~KTHLlfB<@gVwMynQB7W~chuS(&C^@H;)gVBH*FyUVxP$Kr4O5+20@ zDO&i19FvH$59@}>hiMV|TtjxW1V{FA5Dx_9>GaU5d-Y+jpk z`lWdi$U4VwRxjGiIA_w`_<<7b6gP-|Xw77EvF>d{jVznSOHb#ppMsN)*CZ4pcD2j~ zbYa_Gw*HX~8$Xc$jU##gcz$j{00EsL0s;NY%l-coO-4rc9{(VuT6JsZtu~Y|fPQ1T z?O2hhVjHusPG=ss(;>T+@wjoPEO!(aXktP{2&o3pN^#P+w>z*>(V@xvftc|l@O2(< z_aEJW9hUPP*L}6I9z_0T@a065&`z+#aUKr*;j*seMH~7hX^(pDRgo!7o*Uu$s(e@Z zF7pN?O+r=QgbsHng~5(afiuXApbV67H0yv!1D(wb!Hz~=1cJ0( zqlzzNONJ?<{g>v^G-DiLLY<1BKm$Q1c9 zBr*tIuJ-p2F0-bU-D>#~>G^^zCt|R$#^9*^HqDGlvsJyj!dIRqzi1zlmW;AprfQ5L zT-p$6fE1B=YI>IeGXGEx&DueOJ`4>8q%yJUs9vY4KRY6ONDbBDC?E+ANnKL@A zI>b29eu3^7sSIe47O6|cTq+fZw9_BcaCCFkCe{a#^+!1zK!TIy!o|w3)G|u=-;qH$ zE}Cdc*wp|b#}ttemYKyip#^4BY9dKkmw#U5e%>ElVKJVAj~c->9aNnw+vHh8j(~>- zY>N`xL~5_LedIYw=Tasy&a8>;69))7IV!6YfO6Yu6=dTv7r(2hPG)70QSYMPTcwy` zVB@axq>&DW8jj^~80|mRJ*MsoUrof_I7j)gcS}9lp zmhw~g&WRH?vou$V)vj!A1E7zfucH%p$0gxS?`9n@UHORkM-@g}+S&k|IU0+tFon*R zqQnfT+Yd&X3{FiZ0Gypgx=d$xOh}#T51j5S>X$u?!Cix)M=&y+IDyW;tcOJFMEmgg z`rXfWD0@gm#Nh7ngITCuo`Gl%cZTrzVGj4V7ZNzYcYuDFI|JxG7N?wUslqWRN@=ZB zM-B*$z1 zu9r*Q)$9Ru8#y2hdi(eN=b_sn`<~>T6Ty4c-|&QQc)=s8oXmf)rw&t72(>~$Q)&=% zMy(k#Qaw#LiqhgM!2YdC?taFJS=AWE#Rd~7pdVTJuP7p*aM%f#kJCysKtuc*O7|gm zI^bF%iqppJp1$I^Nsz!b`#Vqvouhdq&g~G>NAHqVxl|)+u76@E?Ec%JVDj9;hfwgMi4ZS^l!T7mZ&ivu;SIwZCZ}VxL zow9A*jPk)X-J*T$2e2cJ!f9cYOs>EiqkWDc4TNFbicwW+8Q-?a#18OgVF2_bYaoLq z&v?5lro-L`P@MC%2Ac`wcDnIbU@d-;f7b=x2%)Y^n=$3KkZ|;6wCoH&N(T2FMMm+_ zVXMjyRVKgowylpDYE2H2hOe&>NW8yzQXN`Vt#Vh_zIn5B2WR5nrFbQ`uEM=%xPJ59 ze!2$*{#eBz*05yT^zE?i<=ryw4*BEk2z&W166xO>@}r-P0Z))E^mG3P6eK6R{Upo% z>3U209K=OFF7N0*QX~JQymb>BDzk9eFBwUUdCG_- zKkw-5oYl%Imo*-4))FnmilNOYvNhILfD3*~$X;$-+sk!v-D2BUB88ooyAAd(ZkE`# zd|kCdVh_tyJYBtPEL3g^DvhuD)CMq_8@;!>m5d8rCcX1>e5L)km0|Ki4$Lmu5U&YbRUew9S z-pTo2fjrUv_#blpsd+RI-?=%&?RfCe(kK{h%01YmQ5s@|l5x#g6*(N_N z*b7V2AdH^>SOy2|-4{T^vwf=imVd(lME-=NNGJRw^6z+a54v;keR|hPkyHMr^y3%! z15wDt^&3BOGDjE+m9P*lG1sTy6L@CdSyWCr0m3sCKog8q_MW&Nt6R|oA)(HM7-e4t5lSd&51~i&?r!WTfjZfQ*k==2I3!6#%h4F7Z+yA zBF8f`jsrzyD<^~mmL@_kmdGAe2uKmHKr7N1LfR8mffX6~HB#DX^(`b0ms|;k0XB+q zD6tjtV1*QyU&iT%Bf$jSv6SLfib!uf%>EmL3N6ps(u7LVKhwQ;uH_cL%J60U@K*w` zETcWpah!e+Vh3&0NdzP@T2k^zt7&JN>($|~S1xUTTi*z`zE=DD;py1ebT;mIm+r#9 z!9K<+n;^L|AZuP?Jpue2%&F`p(Mc0f46a+*gZS3e3ADyIwjwt=ziqX2!r|@Tv~5Zi ziBQuBWGrQ*HW2QV`iBVNP=rb;{VM>TuO=y*ac>-MhP3u;67QQUvp(s1JaQg3Rf;(l z^gvs>Xo{i&Gx;KKH+00o7=-Y}%j<8-w#*Q(*=>xdQ!7ZrM@B7|J!hX0K!mAOeu%Mr zC;_;tpyxQF>0ZGXPJ@Dc?Qoy0ScBk1}y4LoXE zgW?dmMsDC+zyr#eL1cb$SX10lG?t1~JW>E6c9w*)M2r&*CBFi~=mvl>+9$P zG@xcz7D^$b0UW48%iUj9Q5*S0qM@yW_DY#0o%7d7jR3cCj1gBE6qOmCa+=XX7%kdh zZ#9V;Ids^xlqYeRT4l`(o_}fAu!mE;3wxRYBA&(djjyux^^Je66I(Rzl!#@H1QWbv z1kQ_^fndo*obs{%tnCdn?!NZRNa!uoPz3YB-OB(uFpal~Xq6etYC$cm@*6F9xmc1L|?RaQ_P1q8lK(jg^7&ac?g9M-Gn4VzOY(-usM zVy}YG<@YVX!M){eM_3r<@UCb?A{FT;zj7cYkZ;T>7#(hdp8yd@vCqHr{00{soi>9a z2o4}7MLdD?)H9BkFeQFh)^yahqo~_MBif7_uzD@nYTkG4Ucb2z>Alo*o7>eLQvEnA z^7Y!_1q^P0>$x(>oM;LGtC3wm?`hPE>BM6I?s$F$GB^ z*DXU6MigT0UluK*eUM;{y7NRZ+D*Kd4ymxldAZJnaZ@eTp=RI)B5_zgT2UN`-%vH4+pH23WhqFoDx$ekeuBcM!-=JU- zBwHvFQOc7M9?GUDiT1k-!UmkCOI#l^9S-d0=;b!kIX&$RIEHp}_!NXLPlYr8C<(jC zu-8VkwUS)(+)a6VPP+~@^lSVndvYD5w-u%yPC_I_Ln*B|s8X0s6SC)Y@eWzT35Nfr zazosw6dx=xS$Pm`%bu1^6T|b8r!iXW;rue~&kq|eWf=oMtUeqs5=g_+r7!%gj6S{V> zBcF;@)+*uK{TXh`i<2GgxmeB+R=331WE2}_%MiKknudaXv_tb-SCn~$P1Fm?dT%)Y z??$;s^ywCbqUsuGEOO6pR1 zl~9M}S4;El5MDGpH`54yJOz?GsYl7AX^lPk4)SBHGjwTQPCkx-zMACKC|;6Xv}^dF zjL4z$jHHow&AD|LVPMHIJ#imUt@`?lMMwd`gyQ~*jArgxR1kp~GEh0tSH`RGa>Y>I zs#eU7c}!l*Iei*i#B7!L-TnCNf`N-B)10`ULrRTiq8a*#f zS?<)Gvd)(+4;A8O2}xG62|I=>q=T!o`u0b5@t}66rogwNqp@y%ELS@B{!jFd0PAtkc3YJ z(uAByq=q*X4s(w;?+Ud=L^$4?9@K2t$=q zGTDPgMq3fX=BuXxc#Cng%AvjnXA+k84J<;j-mdXwZ$IqYEzBgm zKKLNSZFh%0MVvq7HZx*EM_+>twqg&RW zqh*;E?++1Uw|xur4%b`b@fBKo1RbP49v(1`>K!tX>&x!B)iztZUltx+YegJsw{Pa> zs>)}gx#tY{I@{5W^DO7JbBg&tD6B4zmuVx*83ImQl;ISSHN?3}8QO{oxbjrO75KiS zid81Wo>s5LWRzuk5r*`FtYC)qk{k#SXQr3u#1g&hVk?9w&`uKlIWYq5Kkfx4y}Zn` zgv-is%?||LN-g%Osv`+3woJ~h8`22aUx1mz9w~)s6ECe0JYw`Q;b)-D;e9m<@4f=G zt7)lqrIA2VzkqyL`?40Q#%X!8Mb9L827d!=54fjw)=OiX@1`H`v(yQ(C-^9p9roeJ zXf36^3B3#6@VnT5n^3jqLYlL&>AA<-O*3FT(H-ClJT>V4HNSq-lt}bTpm>wXHL#V7 zKCP&2&l}sH6H#x7?@Zex_)$r+rGeNC z2+;b6iOlCeQ@YT!eD!b5_FTsuG9nCfZlZ9<3Tg|R|9-JNhTEIB4sL`4RUqULluK29 z2f{pg=?(kn7G49tEoL2MOC1m{jGiO^YeWPer1t2+F}eE>BY{yU(ngO zUr4<>`BQmi$g_RTT>?QZsN;#Q7N5ET_OvQj-gw2T|Z|C=fOKLmq zXyNVuQMG2tY28mtf4a?4_K4E}8;c&TRfNZU^r$S?`&p<1;hah+T)8K7A})sgClMVn z&i2!0n{81-yFGc&s((D4$n5*q*Ic@^o%Z@h^A_8WIO6Ps{(s+oLOnU*fuMkZ4$**s z{!g=`fBA*R|8YjG)%ag$RDk}XqN>soPKc~kGCbBeo<}pOpCtBLcFIi`P6_a=mOVx6 zz{r}v{Hp~i82j$*PNz=6;?on)j=Z}(VlBsl&vMA)#0maeDxJn9DRG)EQsK1lMv6@q zJ7^Ys=w9f&rLz2+&)^qA%jyG1ZSNYcMnnN9RXWkK9_}5t?qR#m%Pzi)1eob}dOvT0 ze}FT2ul|N`G`|Ev88OWATFB4hWqv&V`gaaB_A?WVQ9dLTJNSho7F=LBY@*1o-eAp? z090^6@=P>XggS%A5b(-gwS`ar&)QY^B9GLFPKrSnS_?uvzrB%ocSb>nP0AGLWy(Zi zSc^z4H*&m|mt9DP2F3oVI!K;Kk@$OXNVcDWPzF`G306Oo@f-3mA=<2|RYu9zJal=5QUy zoMhx*`s6}U4!Z%YS(9Ya9ZN@1D&$64lkn@QoQvOGKwR;m22bORIJkH9-yW=Xlyv!G z$%yHM6nB;WuB-hSF>>P$p5VdL(FYdHT|EPf-sk$C(EYLWVetFsoZAunBhVWG0^q+> zyF($zbL;~Ouu2?poW*BCg4aSHV`hKP6obnPvBDVTff1`Z#v$pJj$;NEG?co}%M{l# zZn%hSl$&O4W2t6gxi18d^9G0_|1)6Re2IV22DKGa8_vvdpGs)qH&OOR0#`;7wcbzQ<&6^O*+aZLXNdTQlc5ctBJn{*Drw z{A6K2@!JfTtMoxzk^7tp>JtQZ;P@#%Ylbq0g)DGWI`Y1R|IL>5H?R2b6mqn=Ufv|0 ziVLi~zV&5cKGZ@5m9$4Jom=t#mBJp0LS3ZLwRGwmEni_jgKCXe|s)f~RXvW20)<1J7F)M!T6g6hZ z;MlDX6_ zjZ8jQrW*Ced9_NNzZqoAlOAlD^(PT|a)!=TLWsG>)|>kmmD>inQMl5*_|mcz#IABe7xS5S#NI7yjyim(du8xa48gR>;PfJZ4#NC=vWw?0jE0T znKzFP^t{y=C{h$z0Eaz>0GD;=dO+5dJ^q3y%#$wWM=E8uw*ZbZ*HwaFIj3NXKhsE3 z2=|h{Ee(-$>IAyf^8hP!dkLrtXt;f$tzi9n@GuMn9gJjFh@&l47ou6|l{sesLS3VT zV5h@{B88#SRPR0*RQ4=9Ohe9E`x9g9Ip+{1%_YCB{9@Eur$`jO{c54X{8eYepT>zT zt&m|=B!?JA@%U#=*M$HP{*#?voUgctC_`KeS;?5F^37vZ*&=MR@;A;%fTzVFvJqsW z<+j<4+edAoG<0BVjqa3}zS0`av&Z~%&2ar;9~7Y#om^ae{K4`0Ih0&oeSM{OK(b%| zUchg*3stm5Z~feA2C8bI$ZcCZTzqE0U3uFg&`|{*{{FcZzkmF^@0X9oF~^*)yRxR` zIfIU03`HVLvTyl;hHDUT8TScwA3GK|JEh?B{zL$tvn$B%;otj^5sJHN==NW`HwD1t_kNjWe=x z%C2ElXE1EtAu;Z*YGeAOH~Jl-+u~BoT z{orJNKrTNx*DfIU+ua~_o_#^i+M*w-nkPa3+_|KNM!bR&%JoaSBJHkTDxoQ@N8{?!QdwmdpdRWw%TO_} zja(_B#vj)h&bnS={Ego4Sr}`OTwWS2T8NH+r3h?Z_Q5XkM%}7+6^-} z^aWx5b^oWY2j`T*bm__Zo(#P2LjAD%zIWAjp$?7reL)SLIkx(+p}KGpvN6xIck;uj zyVXuMFV7B8qvc;j{TJBhRd+SfMxsK~`V3m)3$@q`Xc$wQf(u|qELnP4cCHTEw_j-0 zYl$O2@_tB_{%0;2Fm=HZM{FaxT?cFD=06qwd`+v|JTu|m)&+-|Y1MMyi2?Vw`D3aJ zR245}Q^X5rs>H@&;sXD@LS^;+?xCqIyA+=z^m&6D%>&sx^XJm&6>-(OzG`oarVh>f zvbYEAmH#N5kjY)3U)eD-)3Nvr;P!D znpxVJ{!b&JW-EUrhV=da0B}H$zn)()a<5W?5{E{rdJW=33ZeK40g+HRQB-Z5iL;#T z_3f^4(i8u^Giy6BFGZEw6|%jVmz{a$nOXXK(A(?5xmw^5K8Z(RLM=0U05V-*YI|19 zO)p_-D&qrqFuh6;<0HmH7&!C2eyhI+k1`p8K?~L#4uIaKptmg!Kkg4%g>?SQY61TN zoC~}9B-VXgTTG2qsp-$~wx6nNifk!UT=);hX}ZU3B@KikH)tTQH6T=})hecNzvh^R zB(n-EzIC{!LVoSTI-Su8eu0$JTcA?*qTn0#IW&w&|f*{fP|5MU`!@Ys>(H?mT! zxs*|^Nrh9~!qElF6_ykZu0@i?xU=F_!RMdmbN|S>Xn)%Z$uZszq4@))zC-q<2tZh? z+v#U_WN)N%)xbV7fYRpCWCDMwjLu%ihoQ!GxgQ}5#5mCLL_rLdE$e*6= zo4eijQ|F*&QSbj)J7kYkw$UWd2F z_Wb;;X&58dia(Piu63>_$K#V=GCpo-25FW%J%;vDXkr9iLsr>MhJI+a2U3pkp3$ge zN4o^9VMsOErpi}dXN##^Lc2`auM0@Rsz%#beQxJXn`cm0=qTq?Oy{Zf`tC6@qKf*L z%GmbZ7Vq9WceK~#i0*mpxy6V0m$_NB2~I!Zi?WQ_zoAyGgWd6?Q(2Zocm@#%RMr1k zU@opkAuB$Rv2#$Hj~?g|E3r7@Ig1wC-d!cTfB*j!cJ((o{vg|! zU~U{nJK~RQLuN$5hal>TZL0p==Gx|W;zKy;iY&-Qp6zZ6_?z9p-~49xNvDfNpv;&2 zwGIqe;SahJ?symul_a>Nw?2{SPcqd)|=!(f^NZ2`VuenLMU2I3|J)a1Ga zkAS?BK$1c3LwTPuoQ%zq!p~K|@xSXlpLRDlZ*FcppZe@2>D6Y$WwXuWqrHQd=LZ|m zZ&mAc90ge>(%|2-Foi)6?u0*uehvKr^fvNu1Q3gVl?IRplMMa1Nkg177v_1K-}q@j za7JO4r{Q3hTZmJ=gwdM?0Cj#WoZh)OI(NkL-uclvlgpcIyy?iHrIeNM8iU80C4F$K;6vqG^4H2cmi1BwG1Xd@;33n=+ z2E%Y14qx;JdxF*C0KNY_ooSnmv#IA6*y&t{D&d!?5 zIY0XOW$zd=B#nA|eiRM-;d}2qyo&v(<=}z^QWIix6IK+a(cowu15<(pi?CGn1H~mg z#UubWb_1GYLhh>GxRlBuyRsvYG%x!0J5<#}4M%MWC=K#i8W&9-Cqq99|0JY&zk5hg zcda$1(Yi9O%)7jFR39BT9QFI&Fo}nL-n#628IrLFb)uG^Ud@Ovxm)cvRmF9O-4sH0 zG|YNw3X4Z$@pSM7oKOwKx z8YM&Oi>H3zM)K)Xr!Ag}C)6!$$GEQ&-|IFF~d$TMUqAoLeUKg%Zf zlF1;917J|&@Tz6tg)u$~BLA){wjOs}vBG~qDM+ui91NU zB2Q<5y963lA(+%Pp=vushR+J9nE47CT>)+tDpxFne31Z_A*CzEev~cjsSOeT?EyD#==dh)A#eLz*ih|~+1av>lhR9x!pDyXJ4b-ey21;uuSYe{dK)GT)xYuXL z%Q0F8=a0lVg`FHKE2s<>#E2N>h+YhvAal>IWEMg=7r|SnD=z7;3vhh-L+(9TeDih# zkm~dmZ*b0YKSiRTit0l=_BuwH6CY$AD!{*V4$TqJ4KAZ&Spt7<$c%F9D6UMRjUnf* z-%cU}*y%Kgi>?$OeafD@jDZ^v6O)^BDdE7_m(CL{OA?-BW!YQ?_?rO)Cr+T3d6K|x zkgCrp;SL)~I1Tz!0vW;fKFpIe3<^lF*<}fEdZQ|Aq`;DiRGqsZgA|a46Wo5%OeINx zH{mG1?uzd_z<{m;6tlYG5q!w(C>TQm;>Al7*fv`&fD{C=NA<)8R%~x>w^jK(nRZ28 zd4>%Y9$|$?Z41d+eisEMVSOXn{qMa&GRqyEBg8bxLc~l2JBB)vD0;6r_X^6xdo^}k^-~qI*+Ee0-6Ca7SZXCMljV~XDgV9?O=jn zaNEA3@c<=7NeaNe*{A;?mr}aUAc8^$@Zk)m1!rUwjQv?elsN`6+!*_lFuDT}6A*Vm zZrK)7KL{b0xv|Z#~Y=|lv`m6zw_O2$-{IdqT-3V{uRz9p=!#dw zb3O#S4{@u0*mkh#qXXII+^uI@p87gLeH~!fj0{TPYLqKM!&1O>b(BZyS)f12k_eQs z1|~&ou$e{K%u+EvCEPmOK$B9s6&;jttDJKSvY-dyNPM$L|KYv`a(x&hJCZC=b3i>w zz|R0OX+UK*jqLn?8gnDX;;Ztu8i=34+Uomt56)Hx;C~t0e;>wH%Z!e45Q{8^Bw2?r zc?Stk$UnB^ZTG(~G$1J_c-fe(v3P|_1Ia%_= zZ+@WvD#DhM(r`#*L4ZL$?4_X}iCG*DlTjc}&L86V&0qh1#ktyN+h;Y9QM~ksR-BE*4Gf1t< zE-W0(88DpWJ|ohkx+Te!8e7sy-HhsK(G+*N39L1UB~*Uw4}xg5^(DSX7UDg6WG^-G zNGG?O)QB*L9e22_GiNi>#6MQ{E?P~-a4V94>W@s7`jXKdDJWvzO9#7uh%nqbV(L-ww~Z%R#A(ed>ys;$rr1|PnM{~_4|?Ya4(sqVUUWK!OcTg zepKx#Y-`#6-a?C#3tn{ae@m!{W?O*t5?fPV%$=OHdJ7UwmsX{`$7&}3r%s}!zjfTo z_UAmo%|ZNt+k=Ec?pf*890X#(4xSC=99&`cy4Pr)uiH9^K|cs5(V8=6x zuH0^wc4|rGGoi1{ZP(PlbM3}@(K|jraK+*2uLozY_~qaodcn}8brxKO889mkt@rtC zdYB~d*|T*(UQ2Nn_@g_=)gDIWUnG!*Gtc&Ea&3?PcrVa{u|u_}2g_<5;&{0{bak~h ztqnqe-6k&iy@vGAivybtaMiJy){?0*Qa{G6Qg2{|+| zc0vdOg1CR#`?c!xJf95+T#J#(jbU>q$p`d$hcUTxBA6U(5r}ufU?pI{OmGJ}A&6XR zYFgxHW?w_Qppxt+%!k*4Gd<|_9*FWfd*}nt1KfEB=XQ^v%l>gndBx{jhOx z@%pTQQY4?h>g|x!IYGTIr;@rBj*IAhCP-N?NJ;W6CqkaJAf0SH-Zk` zX^P|Mv?YGugy>W(!wARf7j7d*G3?ZN3jw>BI^R(Qhe=Al)?7~PvsA@lXn+@swV`?4 zY>{V_%}VY#Nr%Dl#hK<|*p&xN(&8iig<-L~)}zl)pFYmjI>31ug&&|q5hijKkZ&->(x#?{jn zySux>N%KgL+Qi+2i5SDFJc+fI11L~IFeI166xBF`1y1ds@Rti2qd`O=j$J8|7IPMDRZb9( z48kG&8#7*%E$Ees77fhZ%S+YUx$FEk>vZ;ibozZ`WfZX-A26m4n%lb$qfyJ+zzK=W zz7gf=EHEdN2p}1cVb0#56OW^RJu>ad(2U(`srBu)SQiecPdmoyyoI7nbW{H-cc^TadJ zkkhgnYYR|jc*kOa0i7t$+-eNVk<0<@VTZj`hMrJZ$|Q_i9hcJ4tb-T<8p(ne=(=lh zM?Kww&BkxVKmH*e+~L2@kjDDfLAhJ)Bn1^{q{?E@jEyyp$iXJeEcHVYzfnr_=erW@ zcMY&FlBrk@8%mXVHVu^*jyWd8ZHz{JxpVE!QY`Wkl3)watP5}#7~Mr^6|N__C~>?3 zt?f4cjV)zEHOyrER`1e8tf!QUK<6XZJ^&|>qrV+ zCjgQxH^nw2$YGnc?uuH2B+rwHs+K2HyVg5hYi`ZPEfgv92JzHbHyg};conpbwm)K* z&2kkmR#m&%GRMD_axN6UZ9R5xH|S#=B}rOgU7OqO_6`hvV^?f<=C-K9a!#=*!pztL z3(^(=NWdjx&O#z)6>%`Rfe$8ov*{gcQQM;cw)Ln3ED5S^h;8a2Y?Hdi%{3NkF;FCK z`Rf6!fs#mw;MYs-6V(FDa(apMB+#M||G{zhfk+J0{AyT zqaCbmI;24CAQ&0t^)`GdO}A%c2!$DQ*0KA2B9OW$h6X5a$iDl00jz~)T^ra*^5^r# zy{fV7+8};GEAK)ewZ`3fS^6;q7F>T&_ja8`6Eg>R8f4t9n=%V&k%~35u#Xxa5LY$T z3ntSXgockzSuHKl(W0Z# z*ivPk0;0BJlkf|^dZM(C7eG~@?383tj1bQ+!by(s;|aE-ef~JwZ+iu(USXQY(ixY_0G=ObfV*r6 znjkchC&j5A+j@@xO{zpFfPTYh=3$YStt}U`+y$qtq?wMoxEjpPePF({KypnQv!<5M zF)UOmyRb4K^vk$U#308|5^1P?3D?e*o4*aPm|TSmG?>n zEx?v3znNg`fbP`nqE>0_+hPhvR!5Gf| zTV3qmSzEzS)%`i<(_2ClJxuvVx`(nibw-xeYQgJ6zXMbX|x?-TQ+& z(FS4*+6<3CekQb8ZUbZc=jQ?AUD=;jNdDs83#c#}|DtI3pn z>NR3zjr`0utBOnmeeouKKD=&iN^1Y4@VwcsQLA20cf^9hYp6UzgYHVEnpO!7Y@9_L z+XKh+`i|783JX1~riYM35y|}(n>WRM%7@oo>c1J@4CU_25d78MQ`WC>9#(z8X!e_^z49;OXGPC<(IoVUAH+cqm?YeS!EgW}wQa!z}owe8qJTtur!nNs4DX%O=jAU+*ok&#_Y(im(;2DAVTOSA#7 zq9sE`xh<;wb3h`Vp);XTu1-a3q9wHWh4FNjAMGO=H%jEBHe%G|!c1M<^^Bo*IlW9+ zN}ScUJfna0lB^s@*{&!d^`Z!Kvsy4XMyQb);dh6#0S*(Y!IvGe!>AnO_M#Oe9uqaubv)+dg=sru1%GdO4eD zZA5QMa+f|8ygJMmS5Y$XBjJz7ewf0R64I?{0qhjf9Xr-;eAse*%(;pT(nY1;1WPcD z?%EO$i>xws<{9_CFd1;su8|r@8*%Or$h-tY+}PSNy;Md{r|My$>Q!5dYH=mA&FdJM zylh6(nK=;C@uJK*Y#pzi^cBaaHk5|8^#H3z^@d)Kb>M!X^M42qlQjG@iF3S=tPUUW zFO;f_&-AkEaGV3PY?p$T&E-mim22Bxrcn^f^`|UZ+M>zIwoH4z?O86W-)aR8V*<8z=AUWtynkyO)z+-_*DOmdCbxqB|54BX{{a5~ zN7a#m`)08=pCT=q&I!y-qS1w3yk_~j_znx6xz^{Fh4eplyyl2776vb59EWi*st!K4 zM{d+K3QBWCsepl{iPc-(vbY{sX@(k}cdYExHNOo2E&gkO3*=9PzBA zitAbKxwNOcf^0#0ZS+*#mYKaX7v0rCRrG&LENW3P3})y6e?-FRSss}`Dk75YrDH=8 zP)rZRDaA5HxKk-UucXMbdOZ|H+v*xJ|3k2sB=5tr21b?>&cV%6Ufs!><&ct zH4u!V$`T{t{anD~P!xFr&pZI)@o_NtcjqrZr&f3dODEFsyn$i`@^|S_3XMPJcx=8^ zQLz`JabiWg3!4rttclM#qQI#}^!eJNn00N-wFB36 zCVUzon!@GjG8b2#TOcyUpGHOdbcA8xLp0g`PLB0&wnb_``*k=P1#vmL7$7QVt)3Xu z#6uDtQIRZ0Hz44IxuxT8wWkOKTOqL>m*KQ)H%CU3wSXlV{LU^A@(OqQuKw8Sw-pu) zXWrrvq9T%CyI8bvXvyxnfPpeTUKsdFwW(CAXpoHAlJ~T#x@iC5;{KOA&;V&RZ3JYx z{4Ft;ZTRjQV^p_sE+bEBA&twBTgHL zLt(DKWp+8~*W$C1S*uQ4B^x3DRlYF~lZ}mfd*%WUcHR1<;-;gR4`x+;{MwaW4^^xV z*YNi1VheoAHgBc-`Vslo5z4YYVx6SK!*OMYxK+T4kg(%r8^%B$WfzS%#-vz1lAGC% zeW+8?U!6}!Zac{72`%+eYW1BWG?k39w$0`qL9i3uPm?0cj7v6CwPx5m##cT%OotBY zw{d+aK~h(mM|&tB)fbmBVOSngp9x3c?O%9_6B7ZR6<1bt#RLqV6DAq81)lvEwNVrlguT5eUnI>!qi_sMJY5GnJq zQzpz82sG41X+E+{!m>}+aek7?xbQ9-m7U@gupg{FNwXU*o30IGMiP~ZmR+I(6?EE}Q9s7)PNr==4Gdoh& zSxU_;k8-tHFg0w_woTEN*;rV1V=-SPy!C6ewqDa(gAKl+xvEv18`J^Eu6SVXY^zw{ zKc_8(UXT1FH}6SsN8G`EOlBHfy@P z={imkr2p3l%*Fv3l8>b{oYC`blL-pQH=yDQX|f&JqA~HIz0;GE9=#T&#pSYy%yM-} z=a@I#!$ha3xQ1&9$nxkixqsGtJqP1`(vTv{@HeG`xr<0vIrrE?8yCI3!hjlj} zDEynq6UKtHDLG~hHJ-nIu5K1piibU zc#q4HB2LBkzGvT1r8J5CQ0}wU!jG(tUHjQIna=QXY6p!j&fNWq%2$J)RJ&IHrbVhW zr7de)KxE;Gz8s&X1dYESg|_lW7Hii<<;Y_H#m*~3zv$sV{MmT^Gb{^_3phYcOAYqU z8eXyP2*Eq&?sWy!LmE|FlG6*Ul_;B;q3)F@0HcXNucHG;XPX!F74#x0t0wbZ#B z`vn~_!i?2(m#xdf4C`w4Mn)u>z)gcY4_EVd`;4q>k7lKfK9V3n~iSg{qRMIwY1a7Nito?3O9F5{>TOIk_% zZafIycvb7l3dah{Ruh;d!$OyJ|97i6Rzoj^^g+?k|R`tS1dFTnv$I zwxeJ#O*qniQV!y@#=&OIPSvDo0)qVVmiPB45@9Bin1Zb`jK}vQf%o_)ct|Tx;;cro zIP2{noi0=>KA>1WhyqiukP3jxB1zU#EsA$jNN0FKzBc&zMvghA(NsRUIWLv26mGqSZ8O6nj%{QEk*wNPg7IW zp#D~)LNW8Z1rhAjniLFX!KlW2I50R}N>wsZm|>6hWWg~=1^QVi~mY>MyV?<=t}FRo#pF`RE1-zCJLa+ zFzdsksN9n9C@VmUD%1x^)dW9jQq!pClyaDH0au?xlSc>TWZ)r2nvVM0d*-$vWI!?M z8+DiQ7=utsw{vqOakau?h&%GUei7!}YBYP5>#t$d$GztV#|ydi zY5{BinWp|P;~q<5!}!_J1*Z4@XPs|eXfj%2URlf={xY&kXHlT<`m9rWUmqW=5c;S? zp4>0>Y9%Qe_vw-dbZmW)MxnpOx%K6wMUTktG~UScb*J&mAefYJNEg?ToH&FDoyYt>o&gEDDRu%=dwiy_I$Og*j>bXF#x)& zx^RRyfWQxEU;T7k=i4noUjpy^`0(wvvl_6|SzbUZels}!yeB+)6odil4~8heD%RI<%%qy|FfaF_VZKW z$T$>9g<$i~i{tT~YAiTIk`dvOSt_i-%G0xe%l{njbaJ+~JKqAT-D2@NBpe&d*Iv5H z4~)o*Yf$I#J!8%~X17%(yKdnqm%Ul`x-jT?!EL_bN8uIhGwNXs>$%(~ct@R{=81n> zJlX1OcSvkPzu!1YZsc?4?&7yi55C9$Ir_Fc$NL`0())p670=^NZ|QhUP9_ zy558YA24v82IH=Co#)f;=H|`K4c@bOO&12FSDOw_ODPejr;NrXrHh}OGOxrl9;>c6 z^plw1GczcOW%HVn3&^fSqEhHkHk&dimLnqhw*2ochdM_9_d`EQu7J_-bH==c)D2A| z&TJcJ8R{Rn>htoIYq9Z?c0AI>O*BdjSPT^#DKcz1KK519ESjxb7ws0lVbo`4Vi z8Kn>PEtO#$2dTUljL#Ix7z;bix<3prHqZ#*n{kSZ8SoZ9Lb!GN9uLpH-Hcb#j+JL# zDpy=Lxl;o~KBr;4rqf#Ta)f%ihoPA7ifwMUt;aXacKC6Qmf6nXh6#dk(%yX3UT=7x z$^>3=hMO(v=eX=~ZB#nEyuT}T*XR`rr#qIsCl_n8*jG$_vEP_4kPrsUGn=KNJJyx6 zMS5LFBqK0-QtgQKh%c=}{dBK+fJ2^f8_7#xt8B~)*KPnykJRd?z{=VDv~9axzNX5+ zYU$$KnztM*Mj)E34enZvv}H{hN?!l!z2&=zm^YLlXS7bt@9H?64z;7}wMz~Em z6uY>NWw1j>@#`$$IhZX}k2Uk_ehkPCob zNO~(fEWcd&aMC*~`JF*C4~iQ&EjlPn&C2AVcAJx9$98m_oE#g}s>Q6$sovPTnSruB`WYBd>y>e-?`>qMDCMJ#rG-{ZZOqBSjuw4}B)%~l> zue=>r#?2cdM75XWjJye+{}ST;(7`Cf8`ki)TS>2=8wpaQSk_ppjQ9V}f?3cqFtNfi zS5twDylt-Xx*PJWtLN$lyivMCKt$WuO%`p)=Q8wLXS{Z0PP=4LsfKpn6ow6+s)GKFjGHvff$#r>@0ULP z={oR7Pk)*Oxlg{;-G}Nn|A%yQAXM0WNY~49Thhp>T zPc)vV&N}^FcYfOBgr7FK8C3cC4fNfIg)O!F~eW;Q=ROUz=FA@6?vs!H&*uv&EaacG;L}+bE38|I~ ze(se0MX1h^aRPKeVGdxbn1_Z&_)m)eP~oqM9JwrHypU0ftVPua7iykewM7$U%WU1C zlBevL8HSh6vtQN3Y zv+dIGOl#fxoAvF-=4N$h!d(iM{SG!<9@+X~32=iomP@la_7JVmj~?^+IeHC2}JuJ1qCVE#4!S8k3gfQFfz7jt-s(lG#yvU_CU^71ASIc%y-t`Y;L!eF2~cf@n&PYW4}*%w*u66Ce%X{ zD$ml!VFm1shXy~u;;nmEr*629JGR(SqaDLcpa%fZ#UgDW(1TM_jFDA08bv^ECy%bj8ng~XTY;|Dygs!rBNzox)aW*7dDR%!exA^yJ!yxpyOS;3+I({3iw|?_}8-3S)24CMkBdMcp#lx!}`)L-u0M#m&fbCUXYRpO|eV=+**4mcM zfpJTC<6M+3HE&m@0uR;Fl&m%1Ol`ym7M0M)z8p?9I8a#m2!(avOXn;|gLs7AeMs#$ zJU**7XhY?Q|075fA`T#u3wkcwXPeY48VS&R@V%Ztp^VdRm&^nj%&Q>9*a8Wr_I)rR zs?Z1c2Gf-5`d0xkKkv$O1-j9{Z5Qn|vj(Y*6I1vzNhToIjY=l7|G?xr#=z=I#fpb1 zSOM&oi02#IlPsUT4v@47q6D#br^7J@r(}wodl^ z?DWm~!I=au13xgtFUw#~@P4QB^WM)zFr4bBcftiSSKRn%tWQ|W2VD4}F!p~?=q8Rm z4sMF^Q!M8cnAJ25@x`#>bw2Jv8CrG|(%!m!Py)7LpiYCKcgse#G7uiYiEZFgr6qzu zC)tCYd=lX1tkR^11<(Fvc?vt{BWZ!${@z0iiNqoykI?9${pU?E_$AD3E>W06baUta z*iSm)jK&sY7L!e(HaleZEJHl;!16Xsu6#l{JD!6|i z>&stCuzkA*Par*}r>4?rdVgEq6;+}Z6arSH6DYcvPUva|oVGAKI{0Vp&;bTxZ*eE9 zhiWA#J2+lJ|6OIHdr#T9$KmwN}t`~qJL2%iP~v?860VFz*1Oxuj*H+R@nGg4-S zUN~A9W=|7MdvQ7`uv>HYSQUN~D{6lJp(s+hJfOaBW!s)fBiL`IM|GpI?4eu>H61Kg z2^#6=Yo9s11=yUgl?4+WQRDz1wRw<`;x;wl>V3_KNGeG_B!-JrH2h0gys#IE!65H#cCH&;y6c;hQWIDv%Y8C@48Ik^s_*9lq;5}W& zEB;(*GSlY!BS*=P8JX zewX@5KUeA~l|&z^oDCE$WD6j4MByaNgAuv+EbP~Jw`or3+T`GNii`|}L4?2rDyELbS8m3oR>lsU9UvNC?&|L*D4?OyS_>3nQW>>NL(h&<)=A`5TrTbO1^SjW6dZoaDLVGhI8F30dOR`73l~HgB7*vhB2*YQp$bKtz4LPp+Oa2cVQiPG zSJ+y#2@WssM&!yOb~s64C&v&g^1`M8&Rc6?fAP{z`P?prX7QExsT3iKebVm#anfi< zYzjx_DwR3lHcO$*#-zby$gR(DjqE?3pF;90NiY z^d9j)OC!rTh*e&np|$gvRsp_<9Z+Kls@&4X3bwhZFyMlvvj+fuq zij*7R>xUM60}daYkFy+)UGwUQ1 zx##i|b;82Ivypq0=GafHWT+7ADz&O&Cw_uIjC`O} zYtEgxQ^f&^i#^yVEy~bSW!MShVKf5_)kg}N$u1^lP8wS(CoVa zgs>vL7>?zHvMN&HIFVdlzMf_lw(`CTOIVZcCvs%byQggEk_rWJA}J+9B4|`v+sKei z>U9PR9L*GLKK(?%S$>xzYjRlX=R`~~LA{b9j0Z=&7eL7%<^#K*;pvsOx}ef69%Rzj zRqm`A&NdwH&w=#Vk+>|M=8YsQ4u!`fM3_7=>(av`5(OOTd3-9v7#5+U_V5+gl%6U6 zsE_-U4XW5r74ND0p$f=TPsYHFqhH48L1mU#gYexm*s;JLUYq6WPEDzH7Tt7b21oLs zE@d^0JfNw&z-;U09!$XSf2v1EX^uD0&99p#i)uyyX-e38R=`byvK*)qD|5`ezT zN16i1{V3nCFjVBZ9S~c>9JzyLQsrjtl9maoeoT92t#YsAt5C)hSsUAZwfEorL@|(;IwpD<=z_W-y=INu4|FF@VZAzp(vtG& zx*MHsD_TZId5QV$%0*md8j=s8v@U(u@4MybWLJFTSH`;JcXEaCtfflg`24Q$=k2;{ zalaNj$Nl0gxB^y<0va0fX46B^V_MDukm?@MgX7v0%e49(cj`OM8EG<=+^qKjXhO7Z zuEXKAk{xK%D5{&bl|ab%;{6DHG`5mvS zl73`|9AVe(XnSHZe7vfxS>frlvm(f%db~=NH;UD0k!JRMl_t@a$j`MdY*H0#Xi{ab z)MTMSE^bmO&<#z>?76<-;?V9bh*RY2=e8!Xo1w*dL0QdzsTFz{ZmR;ADKhERYEQ-2tu zkwW71B6usVF+mB098s#vEr3;Ub?hYYgwk1{%wXpPQ}W#Ehy&B09?mMF_~z|Km}Eep6A$?J z>%iPkW=~t^4l-DZhVE#}%BmcWxF!D!Vpk=5REfLW*ASnkoI)yh5YtXA&F)!NdCd35}53{%$+gf6^*vW zdeIe|P6RCeuMotnwyeP9dE*{<@`^p6xceOkx#{cRjKy2vB{`g=zsa?{PbIQ(3eQtz zW|bew6$)u&Azr-OkO5UUOisDFmL2Jrqs!yJM!WcUQ#_I|Wy7eAmd1Xcc4f0GY>=p@ z0Zoo^%oIg}ALu+B271_aOu10-8Yux(1{qgEusIL~S#vD~sKwl)YYq92iFdjvu`<)x zi`AE^Y6ElwQt(hf12v&V2DdghcfWQtz&F7_fx8I?ZDafSOn^sp^^pWg_aJ>%4;N$N z{NkuU1^za1@mU>5AdCtIr*QE#JKf9t*hjv?4bdm-(4X0yg!}Vd8oUBLN0HBvF+s?b zuK@cZNGCyNfaZiRgnW!~iRfZWV+KtLf>XW__RAnSm_5AuM!OI?J8r0n5z}>ZxB=y~ZJFCofJKFu7{(ON|!vukXa(HzevGWx~T4fY)Mph}Y ztS|F=i-%$H;X~JhFbeZKT&>o3zqz}1q^ABfjXAzmMpzCLv;HEq9K{#@;54OR8TeqY zGb|uT6`YJMg}T(T5g$wUjrIW62)wn3<(jUD@|2BWWg=l!EQnDNQ(mI7FrXYo_arc` z_WJDDq%LX$(i*9&AbTALsp1-y=Sh-&Ib6~e3wtqN*^;LFAa9rEzd|p3<1*`pns|kr zaY+h&%6j;l`=V^f3+_r;aAAbu5GWb1?Mn`FX)&sLtBjpPlptZdq|3H#SC`dg+qP}n zwr!)!wr$(C?Yi~P+*!;l?wQFdY(d6{ zW(oIWVFMI}f0LIe+`@PClk{>A6sAz-u!E^Kmw${^D{l1LR6j9XDh_;hSf^nOTn&B% z-GXg-^@7%F?g`3Z0=iJDc*GXWkz!~!3VPIC^Cq=wIQEC#u*(mpN4N{FIAT{J*dQ<2WAg5iw}1mfm#_fEyHh%5IFEt=<5fg3c_yYQX9>!gUuv z>giiLUp`#Y9xMb`Yht6TkGydlA+kp7C(}H2W6&3*T70yU zNvyaozda}S%ij289AnX&1X`F_1-wkL@?sG+f6#C^zN!_|>PRGOM*~z699PFEeuRv)h^*I#CSHlnPNCZq0C4F9GxUXVt&+m7&mx}E=MIU^cx4&S z#1ciBR`JLH?|$?C-|=pPqs>5;U$#9iBLD!w|3sir)HgByjdo9A|FZ2_?>l@!``gS1 z(+aFuVpYm-MD7YzEJiRV%;yys;e-T`ka?U)4n=9cUN%7a5WFa!pBNmkrAYugBE1b= z$1b>tuS~5Sa$YM%w`VOg+|6qby^#iaBHc3=%$H;A*x>qk-m;pOL`JLCSBbU#zbhLS z+(oJb%S0K6A!p#)L3kRlUk};9cdnigK=i&Rci{Sd5FKRR_F=oOYBi_#|A_5ZG8Hf# z`%DiuznWsu2%-VzV&)I_TSw-h1kq8D`^3$ek1{eECe~{%o** zKH#d#ETG4!KjGCS6(QAvb6s% z9)wUrI;1$oO4Pwlz=LtkLR(v#{Xe~R>3MhZq+azCD>t`K7pG0IVV3m|3>*?-%8wZ; zz75$M2yGzKoLX%$TL_GpX+U(`VcXl^V7B0N_NXf^t!o8*2eVR`W!oZfE zxZDuiSe$-7dpm>^hqH2qR10!4pXBXtp;YW{LzGB z1Vo~BKVjWj$UutSe$$3_GdGkVFU#f#?!D!zg_oM_zRW(+%*`7F7~uPdyCaBJa`3_P z_L@y}v{p!YPbv*Khg>IFRmB(j@Dlz>IN{DlBP~v`Xap<)=BKbvezDTR9)x=)SXG2W zyi*q_9mu>C!AdE;LYKSbxYvcp)*+X<~MEiXmk?NhXcBsI};dFx^tZ za}G?hO0?de-!fyba0n+tM2`--W8&^Q;#i0=Hlsn5!kg5A)EQoJ=erbyFzv@*VGaFY z2~IF{>*#s}HT32dq~zu8<8ynCUL_%ovwG|YLkqTvuc?bQ{C~ttWH)JgPpxAwJ7#jx zSzl4+ooERK&}QBQdc7`CfhF=rYVRfN5g$jRLNKYrtEUvQfJ@2D(}$BhbdSw}?44I@DF-QQ+$)$X`o-NR zEG0;fgyB-p%=o=w@)N9f|By37^>@6#i~W_iMis80^VM@ZN?Jh{8v?A6lTqOcLP(8N z?$SQiNu`d7*ij>pY4AMZH|8cxWi+ybW#d->^i})6YaEkeQNrg@hb*q_Z;^0FzxJ2R9XH`PUVu z5%;g5!nh66BT!^OCIGEhW!JEEHV5vPwSb8^5+X;iXHUsA6QzW5z8*>|=;I5#{|vec zyS(=JYD<)^wBCFfmdv*mkWhmq{ii&bf(U993&ux%PWYnCG~Yl9SN%0ETzI52CZSI8TowA-cGc&l2KqoLnORh+}QXeDk!=Q zIMY0mr;UzA96306eY>BAtUvlnPG&Adqfp7}Wf`(aV4`8+KIimr;u@NJH7=%fzbiF0 zRsms6@Cn7$VG6$b#dA=$6Sdi@I#r-!B*xfqwO((f9v2Z;4bbqBc406uf*oGU@02H~ zM{x@1B#I6Rzha6$C;?BrknhBFHmOXY$0MdcL?FO0V15bQDTQ0%tAPYVsdRm>VX z1#mtNe6I6_K93Yitzrejjp7-{K&7CIrc^S~vfY2D*9?x6t3FF3ejUKI;B$oWrfEcQ zVjKp^81m?176Pk^&vRA8KiuK0mS<@K6^DiJpSh4#&R&VJ4v8`^2jcAE{`QeTC;EN<$9NlUd_sZ8)`_5vGnEL z_u$c(x&yFD38v-R*QNu#eAlno}y!@Y2aMhtTtiA`2ijRTWGmh zlu*-joila||5@O3&&&GG&#{cl&s?3n4dBY3wpFUJ9MOm|?_IWfT8{D1zo~r2!@xg? zTHroR6aGIKnqw9sXk4&h;~#|rBI>FvWB;hCfe*&zD@U`ZR2hOypimSEa<b4mPJy8>bW5J=#?h5J@(E5BL$;Ls;O1Tcp7$hL3og2fH<3Alm_oWPztUc>$N zgGO2ELL5-Y>(H1jX*Y0@$i~nEj2$opx^?{(Ye}W|LSSz)(gq?MgERUeM(&$c)bdmV z;x9nK>Fw>21=rQyCC>^W$zyLLPEMq3 z^8N;XifD}HhFFW4Q28}KdQzp%Vc@5LtoZj7qAceNZ@dl}wpLNfSF%pi8@PG}78iIBNVidCn&t<6jr^CB|%c+yq;S1Zy*%LinUs z0nA^AMp!reSFPd?;FH+DcQ*xSt0Sf4dx0y+)Sc;1WTs7J%L-tfy(BN?s-|*%0{h}G zkbvg>o}_oreY=i5JT{0$uY9SCZkxL*ATdvBy4ni3MpS7}Wy;+ntGo#!)Y-3c;9hfu zZY{xr(hF?X*lGXO)+#vKVYsE>1kDra-JwUOhgNJOU>wKBX3eRT6D!bD)k})>pA*2m z=$9bmv1I(g@$bQHwC7OqN)0)$^Tr5Z+G~Ep_4>kNoz6(brcI|;?;eb`r?3x!neKS{ z#kg711aB8;gH}4VBw0XoO@6}AWIjcA5o8K0z{_qh?R}-LhM#$JJwCo}t?lD0RD`c@ z~U8i6a}lB;A^lnpM#` zhR74rgb$c?Aa=k;Y+C%eSF9nHPaCSLC$5uxg|`Y~0&nUaNeu&>eSx2?1l`jrJpx(q z^SLI(nC5Hw=_il5bulRA?BMV43 z?DvOPK#^Y~!#O_4!ZP^h`xhrFN1WZ_4o`Yd{@vW6>l}vi!kkNL zU;8q?rDb#W1eM2qr8l}AsaAMK1X-N@;ENSUl#h-y&`e5e4Mu4$xOeHOIGRWF>TNQ zA@zfUS9j+`v8rmuPN{Uj$#qx;vIG)J!R4mb#aG$}eZCzDwhb&alW{Wxq+xyix_YSc z<>Rc4G?C8<&PM2KRv2^JJlpgMN@Mi(>hGF=h-EArqbjFi8x}*rfqI|Nm~ri%1kvoT zyfw+Xx|3h7jZ{DX$g()dM=m%}N9un4`UPV8_D@QJUY|o?Bl#7+_^+f)@UhLSZf=im zz`*hK?xCW-f-zWl$qGulFCn6_qp}KgWs(nL`zy9cUYK|AIwZkF1%Zs$6{xM$%qWYuAcH*eBMFr7-QCv63;xf=t zrVRJYKi?P_?c_KGw6RMOva1Wa4aq{gQXQj79_rlY;g2;BA`{m&QF8fqQX{lii*s*xLOK$SxE!z|rKPaRsRCQ@F! zU7{cA#elpeG>xB3rP+`QdR-R1OG5qGYEm<@W_1y?U?%#S^N*pE`x;BA)5*LTK}b(q z_w5(_HS35JBW~ZF9W=4$&egN-Q{Gw12^vob(p}%EML_dOpRj9=EAMQYA0;K0X$_t$ zbSh$khf$lwV=pn;UwkFo&V_@)8*FmqEtlg!lv0+wc;c)tLMpoHaE^m8E4z`fjQC!5L%>n&*&`x2RLr47edA6p|n& z6zz;Nv!*;^uS;WQk@RuMO1TM4CT_I|hVOb#p3gr_NE}>nF?qrOIa~MZ+{1O^s?S&Wfiy(#YYv#r_%mv;W1k@agKSQJK87+)flIb)=Lp;JM zQ*Qfai01k3)}buzP`I3I#}AvNz!&kep|PF-Y{Mq)yWDW!h+KDZ+Dc}O(I(p4;0~ji zV%3NNpSFmeBE<+Hw~35VYBNd075ue5SAE?0Tv~c?Vni89r=;dY+$o|7#~a@RVM*My z2GYMsNjhrDOl`r)Mhzc~?4~0s)oxG8#1t>yy_gF{ zAdgf1a7ms~Yd&2HjtM2CN=*@-pPR{l6Wp#kst+$FrH5Ehc6~_~zISez+MS|bBPq*} z`3$1G)E>_{XoPffYzKJGQh}aOuAKLihpp=vAO{>@WF`$Tj!}=uI=cZaaRaAWK{XUN z8;KTg5RuL_1i}fzj2Rak|4{FNVEUil)?Vq+a~TAfbA7UU>^Sm?1B64VsP{K_Qr}2$ zy}!1d3nm5a&t714tf86R_cZ&F?z_b>kWR#TG;|KlM(0$Nf(9Sbx{bw49&WZJBu-`%cJt_IB^w~{m_X~eG4p%E{WC|Tfi|z-K%bVO-3BID zsx=ViVk~dwBfr#ohXW!+$*Vh+vGrqvZW@)+v1uDMpaWB_D_38}IRwwZkv=G;aNFM1 zvQ5o9tatv3HJfzTWMKGW_ed~*<^A3&i;AkaQOESm4t;;NP@Nu6g8z74t~y_Aa=dTi zZ%-DSvRtZ>12}4l`9PCL1TbT_#*d6Jb9sz5b#&wy&X`2w*l%i*O%+h|cQnvzC?jif zP_71nps>B@XxFYbYe<2lf|S1%%v9cvwN5cX#qIu@(@JSUO3?0h%N*k^XQlem;QAEp zT7>UL0D8Ft|Dn*RD5cBp*fX}f9T(?m9JoyzWt?9C_|mRgjlRw6Z~n6bq=|^}14T}& z)=Fj4Q_EmXnXa(TIUHL&0vHs?v*ef&_=#Z9-5P~>6x=!|Y4-xpp?u5)-?fvYF9Yk- z`sKq_H~&uefGpI?PtU+A$TaJTJ5MaQcV3z~I~(5xdvu$cNRpTuiEx^6bdY;ilSk+#0RQ`WyID~q_yxU zGuRonMjt1nd*|NMcTyD+sdRG&bYGLK$wHm%y?M_vPhDF1rq2*@wgR2a?T2CVxx%V3 zr6w$dDCE^dLW}Tut06d-~tXrgkrV-|F`BL4 zm~#m?b9rMVS00|V-t+)B_z^W1l^5qyK7VYOJ{NjA#sSMF!8~eIkmn$0-HQ4n95o}P z(>tT~#HAF4IvnG9G&KI(*28_LW6Utd;K9jqrOe zT)NXp1)2(lND3hiKDewNNfQ8+I#es7K>XR_=h{*3pQa-T!6JQ<;U2+@-CY1u+B;bW z;dE@Scp_oo>o!;7|61$k%gbGm zoa=R5SeWE(Jpi1$RQ`p|coaQ4KIy9cR`tiXB&a%j_%V*78j9zvUIzvYYUgOUPV2b& zmF<;K7B&-*E5XgPtvLb?0UjEVpw5jk*m6Y^$ae@%Da&-K;Cv5Y0iW<^m3wqnhj)ct?gAkbI>jr}Ti_q1M|r=J&JduQa8aqGU& z8!ytp7!zp)tie+vr4B_e3@1G*-%GVh&~E}JHn?l@gQ|z+XwHJyo6E=jO#!QTmFIdLD@r76M~5XjFApqtpcmXe)NSMkGTnYG3c`gZTa=5|(ciBdI>pZ?M{25QvhMaO+FmDjRCDGPpPgi7 zN^np8EObPh?@bsZ%t~a&V{(4%#S&dq(J1Bz&i-~(^sX=GZ1&RF_ zS4LPvr%^Uc!h*F#E{zeH8_6bZ@qgJY9Q_Sy*6BXW^-aXm{S@$^`*X~0B%%;D*>(3+ zsIX50w)Fi-m1uGxI*Tea0KVuypY}T~a~|*Z;KE>;}>YZUl0{n##c(YAVn+P2e)x+Rk&thA1@(|hfC{c@$7R7+QB!S{Fcgn!lumThlYnk6SR?~-u&rN z46(FW;9q2aVVE>3UWnhuCK`L@+ZeXlcLF++1duX>Veu0U|2#^0>X7LdGVSs^cO1@F zI+dcxyc1OhSo@T+(AWW4WL58iwntm}&mJzoVYdAu+^^9uQy`=b5hU%2r5E~Hf-Ly_ zjj11EOkH(Q>A4q~()1MbCkONv;3zR=IWgYaJXmX#_e!ruizmt2U|c2s{0%yW|piAFZsrT%aA_HDFpW6Vhc|^ zuYc_BLXv z)I_<=9))HcHg~fSfP*JsSx9DxYS}uVlr5}QS3O@KHkXllhwCfE7nwVx3fMD4_f`QA zcf)b$ao7PZ$=0+;{h~_M=joGk2hZb%mml_I1Gt@1X6P_V2QLxjXlK3aWr_}1;r^ZO ze~&7EB@#fXnTEoD_Wx%i_&xX!aQass(J<1o(X!APyEz%#IGWqqIMV$u61CKSuLk<9 z=wT6jkV@rfM=K@+0KonL0ATq4SZ!!)^Ls)k8tdPySX=!^gK>X&Zm=fs*8D&zx$a1m zKe^zCCl{TNT(NdY&s)}e?r5L0CW(zXQ7Dj7@~*%7_Fw{#03s0Zt4m~kWo&UUK*IRB z>zmMH!10oQ{gUO}4?RW>Z>ED2Ck=hGWy0~>b<&;{O;a9KUs)dmDcNP;KZSR--THp- z)O9XAd`NC0w6C)i5*?}ey`8}B%^}ja3?2S9Hm)JEnPVm|ILMFes3SS|M~5TJW3>XE z)F*{h$m{7F{D3=3$=?>#&vq!V6Y=Gvr}W&oV0AQj!0T_CWn9pc(%iNc%X!$ zNAhl=zjTJaXQ482fKCZk+MnXFK$+GQdROPiGGZop;U@nMLg|l$ajMJ?P(O26`XON` zC_?taK;nTXBt2_G+-vQ-_DR3>w_?Wd-;f2Mpzspes*s*EO5HayfiR@@IMxTnnu2>a z2c6CXqvpwtaEF{2=75f~;&H!avR!pXmlR*%1M~WSC(fB|4&)-gKj3}21%JAftG zr__O8`GaQ@007yn{u(-~&|KvH;iX2vKqGF4Mpu(Fosf{9?7LIM*@F*$3bPH8nDA+& zn%uf55EZdakC8`sP0ibR z@Zjj^=)mE!9|r4tntZmTt7@P{N@1@zMAh0hb^YDOjun_=y!VC zNb+Q%ngi0chJBzUpq|Evx||HiQmb=|>fkl_1hiRY)p}L|;=rl$o$n*KJeP=KWp%hc zhtj@%bGp92k9c(xf7sv7N)yp*a=kwyIzPj?+~4-k8dhd>y8U*#iOK1{Q$G*ZB1^gV z0r&L?ZY*#Qu=EOeh?X2N!F1hon8T%*$SiHI=|0&jX|-&!ibYcpPcINyYza*uB?y9% zU#W8`8;d%baiClZ0;P0)GymnW(Oi+ubCAM|o7O>|K-4~b@#4G62gei62lm?4I|yf4 zDpPG4*x{^4I%l&(3RYL*t&3OZy(bAH9U|H;_ecad)kYN<`(6daO&Uy8_gc(O}%CL zDRz54v+ zPk;i|jpt4Bi&gUz#Ig_H&IE%Cg~f_{qJi4r|3wUH*qYECD68{L?%J;WH*NW_!nXgZ zqg|5+o9{OAo3|qZFqW}SVIp@q*5f1T6yzxla!D*{bW))P5BYRw;_&cFf)6p=aw=tK z&=KVYqEus>t{N#~!Sv#Otsg=I7{)zE0+^;4DTPk-&er6ju#)@%dR_+)+Y<$GVQjys z?OKu1v15zwat62*0TfABP6XscSkBVa+__I3AwgfQ^kx$UFHeR;g;2XJ69syuwq$|m zv`f$NfBFE3(*C)Pa}pjGAlI6QM&LOOdc`U;JOS>$lePC8`;)zYrU%RMR|;{|kM3?P z9ltdj#z_{4-@zgrhDd)?K7Jg~?|G%LW#lf?Wjrh1umH*w5`W|xgwuimH!ACK?K$6ZI_L;ua z2(^Sg&1wM4=VcehKvf%ZV|pg!YUk`h)=U{PM0dAXzDx{v-n<8iN4m@x7pFsac&? z0%(-ny}4MbZ7hpMQYNca!Tu@t!-X$ zHcQ;3l2)B~90r+?4dSkZwe2_;xTC1zme4sd?my{C3V}HJatb;qv+`?USqf$+B*rHh z8cGwey!UH)HWsY{;ouS}#M{y2j@CP|NeT!+R@#){p1zFR8Y}WE7+*{;AFj)$-WK8^ zyn?8N8WB_(9-_arJ7P`+zEakltR{A`(qF4+e^ysUssz{nX$rjTbS4oL&noiC0D1}x z;#rZ(z8WIB&hpFSbRzEFPMI&+U@F)SI8+FQC~@?m<#>4v?ZO5y0Gf{<`;38XTju*z$v`O);$Og?5G&P;zw0W1r^L{l&Pb>_MzSd+TA5 z&E*D^0T`TzwMO1*W<5ZQINq#9f*)U=!m|+~)uD6ojbpk$5^rJ1pM6D|P4f^39&-WUVH5^RLI=44z!ksA*DjcV z>3_drdjxbn#7&0p(|F)u%9u0RGk1m`Lt#Drumq96_FECr5gsCo7ROPvP&^xDx}rBE z>A&yf^1~+)x`_Dmcd>UKl&U{~AdP4~$j@!LiGuAjsIj|azV%f%eB@>oarLnfG;5Oy z%-2yK1dppFOSa)Kj5ts~MSuz56@S~k9`#VU-!FW%q{$A(9{Uh{+-srmgKukY5kGs; zc0I`cowQ;A45fNMtAM*pX0m5~v~HmOjrItk2jq^~crB-4p4n`VD#x{&1qPkHZt~sU zeIHzYRmdngH%IaxTy^u%L&(&8hYUW1s0%6&AEP~J?WfArQ`BA6izkiIu2VWtQ4R-XcEgro-|!gt$i zn}K^Tb1*Ckn%&|90TVJCDa%VhILW+9IQn9NFFsU|x!Q2iL~@WO|MH26R^NnLN$(u% z%^m*;Xb#6s2T`nAEx3R|=a`dUyH%?S_-#RINsF+M*5j13zFp~+#o5cXs-xa4?KodH zCCJ>Lpo}VE5-_SIH9?wP)_J?i87@s>9buf+2vtlkf>^DUNX%^$Y*;{HLk_uC)=1Q- zF1HV^AmP6cvlabPV190UhARw#?ed@yTXx0}BK4eFDbEpp9CM(c%EU zA1n)xDaBCD|83!tlnlij1K4p|uYKD4*=~{SNCS0&@gaf!Ysa35dsdI92w;cKVJdJ; zWVG${oz?-7V4B_YC#Spv!jS{h@WQ|cnpb8%(e2;#?$oK$v-2zSKgFb7dmgoa3rMX} z%4*}zWNnZ3U16#$D-xV9br_;fZlcM1Oel{O$Cx?LK~MtP)|d>tPoCz*324gZq0^#z zkL|bvB>G-mL0G)Z455|63#mLaz1}%Lg<^;V(BLz^H6248KLN&nsqewbl!7L(k4>M~ zbh-G2cpOtiykbg=rWwIg$K1+W^Bt_5EZLh_SBA|@(qC@mpVXzAVv2m2tqJfWSz3m% zID$Os{eK&KW1I*xa0w)TqsIeGVcZX+^C~eq4#j7zY8pzWGwM|W$VD3a2Fk!?QyyP|fCXv9dIr+jsX;yJV@w}LSCv9T~tLZ%t z3Y+supj;GS#5X&MG51)n=@2x0x`%TVQOwB({rh@N=K>H*PU~RKGrLfL3!;YD@WBDc zoSxw(CGk{b80FhJ92N1?o3GiK2)2VIo5epSPFyNca0dcDH9GyeF2cdp=};~Ln&cUJ z$DzNh&Zh~n(b%2KD|s1uT%A4K&LQd7ij4A#UajLs_Z=~EPP z8S+tYBV@bo!0vJTZBqATTp*Pun`Xs6u~{!-t?FM?y9wXZ+vKeffK(aAq>pXPy zSR%E;;=z?t-Z&E_<8ebxy!ro0vq&%cMaE$Y6yj=Ylb=_Q>hpYoOh&k91-*-KnC4a1 zKgpgKFrrGhZCX|pq!iVaG!d8gsP4%c1Rz}o%r88ETg*QG#{R7Qq_I~dd_{V`6wd$Z zNXW>gNN7rZqXc&lKvjj(KqHoEh{GP7qPrRHC1tjV;wHU&0<)VNT6 zMjVW5V}FYWrKU2-P14pHO!5%QzCE~y9riME^k8CM`O)1F2Ga$+nNJ=uxQK^bKTUDi$`~rBgGy^!43UzKTVk z-s-J#1KmxSWzm_TWLXsTjF6Z#Gvkmb5cbbZ3f^}YRw5-TG-T35I)K6>RMtFUVng_( z+;!`t>jMqi)Qy41J(3g(r(b5Vg~Ocvc<_pVqkYPT?(l6ZiM)0@9MEC@+9dT^egAIxQgBPQ1@6aDwe4+>h>1aZ z@}2wX?9@-8cXN}Q=ExX(okd74-hmD|IyKiFxx7W<5@Q*_R72XHYM_@6RXj#xoVLGe ztXQ!WC@3MYND90Vi?q>XSp3v4d>3RFeCk%gF#IjT=ot=6>EJGPH26;&=~Ie|H<_-H zw;nLO6_|U5Yu<6Zc4=ZIGELsGwmVw3NMhvz$FnLc_wY*t-u4m))Lk*M+tODjjw!XN zc*E1@Ih@ZjV8b=0bvb9JozCIHI*88X1idm{h>F>M*CmHk_c&+em&dKF2x!Bf&so_T z%R5d?-%L8ACYhSEr+{{z!YoQnj5G`7mtHb=Pb{~JGrkQY?ndN*P+WTYe+>N@ptboJ z>-IAN(0VRZj-1ALLStmrTk`G=F7^ig+2&N7pz)!P36i|oxz28$|JuP-B8*Z227!=Y z0YpNZq>s+2A!VRasCjbyvE0~}{4N*ZY>-DwpW-lQyX~iKn{yn^+pAmbSozoWk_^7x z?bg1@1hS7;HWfx6dA4M1MjSV`YwJ394BCSdbsgKLtg`|giUe7_-Mz!P5EN+X`ZQ5q zwlz2DEuF{MgiKLR4E=HM1f9-?Wc^|}v>l}Mr6*iX*Q#f1N3dvTQr0gAXL41xkd&X+ z14i&%xa-GID$o&0CG>tdIPkWlKxjHr&>JXY2#;9XthKMGs?X~J6(~c?TPrW@&tTUbGDd6~0rAxyfR;0hPCal_50J2I$t&** z7c-6O9i~ON9;%re{yD-6tmcTSUJaDE1~4zoT7hfTveqLT9=6|+GGi{%o z#~el4pmQ!^izqJ<*s95RIzec@J{RH8KNa&{>pbjYiSKqcFWVVAW^`kZ;I&w&_7pY=x@ub0PD^i#k z-=pU{F*dVg*;Z$itW{@}g|vqb_xrGV9;IY7cEXP#5i2)n!fR5QBZ6isr&Z!UqL3{O zb&Yc+Bvu)>H4jI{Cx89q)n$L7%COJsO7Q8n-p_iHKfSG5hp^Es?TWE7A#1rQ!=hu= zDwaK$SN$V5%e>B87<3S+*$c`sADEFCuT=*MbV~pI_nTo1`BHpaRJV*oj#wUV_^1~K z;AU=2Pr68vZ=`mvtAI&;xoWp3Pl>~8rk2RqD9U0cS*1BGmS%0M(>Q9hNJc#)#<%`= ztc215n!CPejH11iAljvDTr#Zk=)$F{f3ET%rUF*pZ_`4%>{Ph60#N9iG1Bp9h`oXC zUi}h!M|%^JN^b1AGe2VJT4WQ@h-O}>Oou@yGHjlZZXstn%?W_85L z9Xfwu?K$CKdfws_*gOhiZPuLut0ui|_7Ju8rKPg={2b^$U zWlOrl%%n-OCH!DulRZ|#>26u&W!L1@vXl(Am^9V8)xA)p<7(Y>Eq$t8)y2L%G`IXx z7P%GS-0>i*oy~u+Q8mX_HG^JIVc~J9eo3?5H4Z|wUPN6eT4i$ZqETZ9S|ki7j%-GT z^H%=FAOF0Uwrhhy5Ovqg#NViOT$M%tbRupj7c(ET_ixqGmHeGsJF;+c8m)gijV<@rQ>P#)1UYpuM@X-Mf%jbNQD~LK zteYjbEiBeAGBjf+HRAw1*eU$bAk~w;zv!1BU&Y}q?-Vdx-J_=Dis7s5bnCM~(r*a6 zAoHQ$!G>0?Dim&NC6V91DT+x8Y#aYQ?%8C~VLYHETvtcai9D;$U=8xVR0hy46)laA zS_R}-0S;8zZr_7Ku-x=jV0Q6qh0^ z8z?%Zcimr<^db*ZZ_9L79+^8mTM-^n*?v&nZZh6VJ<|BkK!(#_al=y1DXh1o0mGQF zjV`8s&TO*tk@Dn=fs=aN&IXJBn&n;Qa_F2M7n`S!eY2 zm|ogjL^KvZ^<6Kze*B3K+Qr(}i?=5wxpjM}j&>(2hH<8bxDBsY-Ct)x9F{c{OkLB% zT*rEVcHw|@uA(zr=HJQHr(EZfNd|G8vr7Ay@|;^|ji<==(z}~%GJuQGIUAn%+v zszGVfv8_vA!q#&P92FYB(OI2s$H5g5H&)t*+2Nv<=RUcB$g`g5Mo|o~%`}^&+N6%W zs`8>vwP}qo1Z!PCgmqfJ5wio@6U82?c5z32!{Id3{73e~?1%O0NIX^RwR32VG(gqb z^GV@`&4;d)sik+9sivi`h3yFmhA#=y<^~gFH4iM-Ed6>Y833+R&1x=Z-A8GEv*IfC z%vy!0)^|?YIr7>D&{U;=$g^LvaIG>WP+K+0X>LuIr}cO2$M8Hzg_&`tc>^hS$2Q}0 zCm#OTf4m!2TGbrg-qmIjJ?$xTR@fnZL-=C(B15};GBs2yee-dE{>%vZ#muaZ#*cXD zMG{HP+2mX-BfI7bhjP{Zh`~BQW+GQ&saW}1lB;HYfsE7U6tupOUmi3m$n9RTQQWXD zdJTk7M#75?m2Gt8R2eOcDw>z!gz8K1#`dFUDQJ!5seUG8xinW}QOMuGu6QF8ek8|A zw`H{@)f;r+jq=LD~Lb+J1}aV|hzA9t>;EFVnd*^XgM1gMeqzLFYW~$K88t{I^?lrai{89h zE<|61r=s+nd@$RaRFN7e-BH?08C8O=gSMNg_A-NL%`RDZF4bg2rOedWN+k(tVw<`X z;KFN2vDHq`3YqYfVE)=9wA{D&^0lRzXnhbJk$hWLl>{$%>q4tNp2fq!l#c9cl5OwA z8OkRo>`ojVAZFrOUo%>DIc_pPK1$+7)qMl(vkKtl3YfbvcX?%{`t3NBLg3nbL^X_W zFNT8#+=>JmBo){9i-Wb43}$MAVuU=VV3!s(a8;mmf^|@FYSP(8iR2*YrKTyeGP1sw zaFDfWfizM4-zUM#w(%j#Z{+}=oc+yqMUhn+_*^(^!Wits+Nkb~Ma{^xzvs4&kI9Ng zxS%qhw!*Net{6;a2Qei-b|*anHt9-GbmX`x*2Z^G~-)D&-_`ONWE2JAw27$Y(3gY zjjTOw21bH#4_rk$3XxkX7V!sY3ocbOe<~jqw&S0Jo(DGg%;J2YU|8BXVTN!6|E!bx zcywLMa5>3YogtYjaFx05ji=rf5ZEn;zYxz}v%kZ%&**a$i-FnEs|deVYIOqk*hW2g z^YdCRF$9sdZ_&EX-X`8ZqHPsv{kG?lTfK~;g->nwNUGqD+k}KebDeT6( zYjtQRv~l&RNx$v5n8#YA2)97CfegPY&A>W4p##XhC*m^r{jF=nfG1mkFTI5B61>01 zcT@H8IS!Ki{fgp}+%ae!l)gfqribQ+yL^ExKy#=5ja-bR+uLa_0?fh|n>UIMg-zq< z+;7e`SccoyJI!2&hf?l+i>%Xm9$6bRb4%C?=n-_KicTeEA%|Di*}iy2OQl|U<*twg z#uZJG9?_UwD+j7+-9Zqr$t9ClQ&1`fbvst&#AL^9_$pk zUG1M-R;fXQ0%3c*exCAIhUD?gWeQ8_Fp1VQ8eK(+W>WI99FRD?TvTwOzy1-(upWy7 zfWSyLyI~fbtKn4PL#w7jWG|3+ZA-B+b{=}Kl+jmMCLhtYMc#fKXmk!;rDi01Td7qY zyaC{)9bz&~=IobRM|lM%ZR#m%9gd!eKT5y1099=BIepaAMU}ls*bO{QSl%}4@ugd{ zQTD#anvv!(r`9{}Dz=5TQO;AIMBf%RS4murriN-z(Wu*?sfh7eLl2npIYEQQR{kT^ zu$4>#p1)LVcax6YtnfkA8{k^xlq3WyxdQqFDxzrs>sMSmo9EvkH+HYOw+|1NVHSIrL7Gg@v!7>oqAB zPh2t4MVY`^l6eSj^D9Tn^>4I-dirt&p#DiLlA=0|c!9=?-T|6Cilc%<)H(7dG6`~8 zQ92wf%Wc8#?xtk7(S%O>6^qCs!(wLVd%Cq9hQFq=v@TX#(u zqn*C{lDC02kyYeTxMj8MuW#f+`%RYh4`lQ>yqQ^+E0e6Sx%Yg5%5v~jUW7m^=crH| zPd*qYSgLuZI5VZPb~|AJsnN?|V@AETFD6_#r&CSbEj6V1Tu4lX7xV;ADUsx`HXHQ- zYveq$gY_>B#bhp zr`89d>jZX}LerOH1r%UE4kFEZ!7b>ZgMQ0rk)|t{_=TNeSR3~;&MMmAXbMGxu|B@K zjx!sElFdIz1&qwKEP!@ye{&IOS->_yqP*JbQ*6Wgc_68j$f)JRdD#+TGVmL9MV)r3AX|zZg4*@XVsFO~R*%h0(LLhvAtNd8^ubo8D=r&wlPa#ZTK02$Qm)il6Zw=;Cf0ST^-Y?;**f5 z5xAt4$5IV}5dz%B&Ek0%@Sxwq@aoyNOGo)!M*{aN-vN|7T23MO&u1yIEz8{%ZAQ1r zQqnO6rhgmMvynqmn3j|9=eB!+Jt*sq(Ds8|XbGh_nm{ei5p!a9NN%&g*#1`j4!P7R zC5qOcPCgjplMJx@pg46^PY~q9YM{2-mf7BN23!E;>aC`>74*!m=*Fm{A}9A1c`zZ&-GW| zpLViab>%e^$Xj{b1Dza(1MgPXkq|C9&y@dquhnIWa@%Ri)37f3WxS2oOA`m3) zx;`ZG(+(E)&+GiK@t6sZxNgQx#jz$faKVoIB7RO5qW*W9$^!oKRJF77A&YI>DBtJe z_ao1`3SyIEx$_;B#sgP&GQa5f;cSIQIbV5M>7k%oBfKGW5RX+?^BNFNdwi2g$tJ#8(Wu|D z(}dDR#~~qy&YDA55mo)V-m-k(tGt2#zPa!UbmCQX^*Q;I5P2Tf){dCLgwic`u%6Zp z#;}=W=4V1pd!>igA=0wH^WBpEsxMyeX&x&-B5*e%(BSK0 zBsj-)U&xFc-*x@MKfW`yhYb7npf}ue=-`k@LSb1q4>;|WX%0w%|Gv_K?<&^m@AbQR z-=VZUr7Xon)G3tBv{~8~pKX_o(3J}mJD{BYTdmp2(={uo!mVfj{c-U4Jaa)jO2h}d zoPqY;3nX11%!!`6+N`SQM+S5WPiQ_udi439oRvoLYoDsCx$wmp7SeaC2Ka^3)=MiZ zb}LmDY{t#b>G&}$zpwJXMM7`bxpVkqtL&N4Uf?&uPUan=v1vsDw9uA+{AKVZ42eIN zj-SQ&3^WA4nBK~%>g1nI(R3MD>a5KE7$W-(%7)AzyqJdVOZ$9oias;8g+9U*D%i{S ze}#KcnqjQIp#uSZ_yGY?{(ofNehNn{|1;@ksklB;_iwa1HUE$vr8l0K(g{UPu?AXm zcZ;V9Bn#odw&P&ZmMr5z5UnSOe@?D+f;xv=&{!7m5( zg>okwgYjLtZSlaKXJh7OQ?gs=V#_vM`>*t0f5Gl!AI#`P9aSyfb`gS8e(VYT>*v`e zTNubDys6Gk>FcRolI;*_CNIIxh z5S+gp=!cYyL8}O*w*aKCk_aeBie!U?c!QP?cHH#aB`^^P#{<+gGnOi>?O=M`eJl_$ zpsvm;BM|vLf&+Ofq$gdo%7zjMo&l-^dDR6HZp3jE$OH>SN)kY1AQi?D#wuM+JnuGXrs#`K%+5?<9eP(Tzu-M0p5vHc& z_Jx0AiHy7|KVtbg#5_vFTT_W7fCnGK03qJre_T;|l@8^I4Psj4@=Jagrr&kLU>X!_ zfD{%V&6+^o3{fh7ogK<-G$iO6xUrM~BpX>hZ;Mgv-+Nnaj`%wi@;{YV8**M;bIPV-(plQYG>wUyOS zE0NNTKq<<4qRHIi8B7r>?mebC=09RFy&=rh6g?Qc5e}fI-j9^2>XE}F5pTZkwvIiF z{pRs=4#F=t8E@|Im)noe$HPJN*PFPGx0|oW!^gvr=bKAR`>!wE10VYBZayM3HAv7| zO~$_hphV%$%Xt*XyXb}BWGLsDZwoah$-oP(_l11LMpu4p&VD5uO2XsT%$!Y!YRL6q z`bn&KQXY2)k`>Blq6St&3R992sLVncA~r2gc&MimpCNBr?ss8=9N z@~0IADt}^a%)WtUIQpbaPoD=sV#O1pJ7lAVb(ne6Z)`VkvDEj1X7d76*J^T@c+f3) zW_$M(L>!I&paBo>?ajWrr&40g$nuP)7w$wfh;R^fvk#Fd4mlYUsYMt}hP3i=XriMf zo-tQU4$s()fPo}!0SrHm&VbS899D(-TJ1J!xPLbaGQc_>)x3sbO{&4kqcsxkk#nH9 zz52h5SaFb{O|!UDP`H@D7_?(c0HpSR&)0Q;a3;aQf6KXgU?6+y1Z(|Pi6oM~57g<2 zMRe%9;z6=76z(wqU)t6z?Wv=|QERjQ6b$G)IX&dDeBfH)O8N-4F)+{2qjx0(wtwo` zzHO@J?+{*wW1$`E$%S#7KtfAOT9xC4^Hb((=ta3DqR3^Bj;AoN zF;c8K834%Y#Ix;NxVby373c54H6I3O2utTCv346%dy0)1wn6p?A{QWc3R9d}_2wUv zgGon;gB{b^jS}6)p)kp@1lwjM+VXQncy78uu}t(7K$jpU(C;aXIP_15@%K|}7jQs7I@s7n1+h0V0`14GIPAl*~VW&^)r zQuu=hkD}@V1cyYHwf3h6Qto=mKsnJvInc63ld_~k$swlfu1!v=_BVa zK+B48nn{2I9zJC%5hCXwuo{OR5PWY*+DW;hS{J59NfnS>IY^|QzK0Y_SI@CjL{&T` zQ$t`0o!NQXv0}3%j=m`^9(~d+s`058-ovo>l zksGY%e#1Iz9*WN!EL+@|cW+l7E8Lh6Z`Tc5Xhejn{uirs{pxa;B8EN8FRQ6>kD8!d3ut# z@_zI+Xw;nEEok(`#V_0bt7G46qGIp+`I1cR2AxO}&{ZyP`-sicQK-(_<ScEIc24(z3&d7P-#3Ir?5hHC@d@?mG1KiLZk)tCuIDSrPIUU zc4t4{lRvEexWJO%minvlk{x;}!u7P-0GQP&+1V&aOz-v2N;;~thhn-`%X5!@vTbWN zpb-HSe-U9IQ6kdY#apIZ&inB&Ds+DRaM`8Y;8T5R<9@YSet;*DKdv(fPj;<%BLO+3&nS^nQL*jj5wp6Mhdh94#=q}c@QMw#}Qn|R~lo=cY!Dh+z z*&J6H5?3KDvO)OebNodrGsP4rZZ9Z3R$$V{_kMq=uiXFit&l9Pgdxo{9?r>@{}7}! zS~ucFtb7N8`14eGdiEmzG!v&Z*5jYbPuRLS0&#tUxbbe`{f*OA(r2_>jN6yB)Z;Y^ zf2Ce$W|#wtA5*l7pTGbOb;_#!Y)wfFra1nz(Q3ZAqd^zxxDRlkfQaFaB;$rzve{a+ zDy;;#R>U}P#kWQc^uy3|xa-v#>SuaIE3r>lbxOfa>-@GkIfuY1iDNB@?pacCmUCK9 zZ};D+U^UB#6t#FoEpj+Rh|qS^_fk%J0C-S9h4{<~up&NVfzAp%Ac;$Q;fi5)|Ssy<~Z7u?D4ax`w5 zN#8VW+N!1Q+q}9$ZqFPUBi=s*UE}OQXoRKRIO<59+z z1b3;%blGeWWWB+pK2r}a^-idF!Ld4l7IeWc>m6M-UK^o3I*nY~vstu6Yk9SWriO@c zIL6rv^RyP#${xw(WrFEmRf^qaxn=&Y*wcB>D;yW6rV`30w>|E-X8P(h)=f3Vmi55) zwar{1p@No0!;W9v%F)C3U9W`Cbh(fk2R+DeWdIi&kK%jchRU%TYYG4A?S7$YW*H~! z+6Pj|3r0xv^4~%)O;Lo42HxNr@-7n{l$hC$bJ;y6FFZdxb^gNCO^@yg9qExdjB3x0 zz6wgFdw`kNTaqsf?H zQ7?~&Htov?LDC?j!o2#iJsjIJn~U)crzT>DWTLytW;wG&>{W>BjtL|0T6tVL;-XxO z;Sjnwq&Lw{(!nw*$6NwX>1>khodB?Pi2pXnW#0TZe>A@^H3w94wmS3gA^I3U7XYLw04f(h7QCE@HoTFn4Hb%0V zp@-N`^Zt_8GNmQnw~%u+Q8dJ>Xg6>6t9n`!i0#0aj~3sBS4{>d>!q!R57D3IYnyhQ z%P|Y9P9{U8@GCO-v$g6yrl+YVyqTFS3P;XkpgDY!hIxg-*StLoWxE$2c2tK=IW&Wb z@3A*H##ly8AT0ed^C*zvS+&cekSd_gdtGXo-Eg^TOlQKi@J@FwQ$Cl~==4)KE&_+` zo-+}jkw&$smajd3Y@>Mmj(RLpcZ;TufluBYTo-*r1jFEnY$#f{N+~u0gjv$piqCx# zn{<7IoVCs?dE8hd>mPs*-jmV{2i@jn+&Q0}!I!pAyBtf%L~4l7&$Vuq|O11GW6zRQyAi`Xyl<;$T@ zU8up^eBvFCvhb80-4Eq>HK-|dhVlYLnU-$upfcr<^$n>p&ibZ@M3yC>DPPFUmIja6RL_5)#vJv5hq9E4Z4An`zaSoFq?a>AfJDd=(*-z>QAAJL* zz!kfzE325MU15dvy*B|`KAIKUa?(QfrJwp`>Ul_k7!<+h85U#HN*wJ0q@|1|YLvD- zRH?o)#vWa|j@Rkz{0m}`gFI|g%<=%ljwT8GX(9Fi2E~l?P)y37trv+r7s0Am>k@>((~@!>BZU zW8zeLa_Q%b2q^2|24J#atfO4%jxP*{W~K#}g=;icEh`1l!A+|~%W^!_8C6~84k?DFXM?nturz<2^e>Z9<}fY+TWdR`3TL6WtU(;YOsR_` z@iaLO3Ql#jrhx#)gG?R*PzFDElFDDOgg7n`%4fCETxyK-$f*(DE@ea6>KkiF=aHOE z_+S>dW*5+-HT>REfETcRf1^I(O7=mhi zBiiaU`*-eZHEQpU^tmW-!MkBZi7oTIir@?by3QQ7uo`Q9?5}Ahn9G@wDouwIH%roF znG<%CjgI~N4VyRpUVF@6cN5ccVA(nbmJPDHUCB|e!@t5AO6;jvk*XCfY|3zlgauEC z_a+AH?4uyba_NC$#;_||8QDsU7p%*wAMu%~S1E4-P`9I^=ZIqn%zNj(T4WRjFCqas5h9Rh2rS&zFi> zFEM{YZOg!8=-!$T*PT5**(!Lt$1?lhOqCA@n&EaZ>8DnvRJ>mcBKI+sL$g0D8}C9T z4VWXeLrI3qIsQzbCT|@l!@^h+K10aBir#>pnia9j zk(4kzAB^_RS}V4llC=h0d^}{;-lzVxUr73=J<4|_@}y6fIqNdSXX0Ekx`KJn`26Jf zF|1NGD9htFQ*POE<6ojHw*_5{h-d-O9;hl!#ENhTi96=F#C4pBfq$JU=@rd9hD~hl zR3IDGL^;MPc;CZ-$*Y1xAROSug_C{n_s>iD?VL^wPpKkVX>G|H)68RwRl6->fp4@l zSrVoz7=|Nhfyh?v!0!YZ-G1M7g?0CDWQ(7_z}(2Fna6aqq?L7<=eHY$`>X|*k~Nc62N!(HUW8uzL)v48c=lQ);Pne2IqHZ`-7=X9wuy{LSRCFCJy zmL?d!;S-NDqSMfi&9#mCLl{A{iO_2TrwnPfB=>Ks%n{Q@6)ezf`uomo`W`4YcX{8h zitT_K8h4wW>d_^qx<*#Rm|a9%r5p;9()BtJhL6~u|| z{i?CK_M4^Jm<3%BscOub<$|Mg#OrvNTm_A~_@vIEwN;Sp>;oyiA#j*;aiP*d_kV(> z#&8az(Bh>O5sReyP{Ze`&kS+&G?3;rg17UA@o0I*#_|qC&@`N49bNjKi6?&yt)pK63k7Q}rwY*c_apSK)*#!LgH*@NyQGx9L*@Ki^jgT%N2H=% ze62<;=~}p=CR5Ki&U*yv{g5E0mAJ&dq*kwE26lY*a+8eaoWFFIY=IIeo?F!f>C-Jm zY>I2s`dZ64Z*^bb$$3)Uec`99d3CJO*D|c>3u_3CT9wv7!Fpea|8;$ALyFi54hsad zOb-M^_5WBO8=9#a8;JdMrXBvXK-RE!SZ_i8y3(y3ZrzGymsxF<^dMdAjKe?PV|A`d zj^Bv-Nzjs!_3lPU`6e$6e0R13NyNoh43s)tK2+SMqSUmna9r>at*!-qZhCP}lWYa2 zTm+9YVk#~I$BFSMzlXygdJEN;hH~4{Jzt7U*t%{6Q>J@0H_opG;l?!x+Jj3G@B(*? zVe2ejoP-3h#}Q5X+^qt?fpVH!+{I67dRDnoizbg@AOt12c)suelHjTei{`)E{*V!i zd|8(u9h2c?A?V%h8Us{x`~ z_Hs!K;z&K{ZPegsqjFNkr2o>93+fas+N)uiK({qy!cx-WJ22f;q&wc z;=>zqHCTPKTpwY|XXl7VKX5#sX(b>E&XpuS6u>)$D-~&FFiwRyC=qC;{hQt{pqI0K z*DYMEH}NG3@3tqMWNZ+T3>;tSS_(qz)}}LLJ5hq; z@4k9`PkruG-Tb1eQwQ#4O(^?UuQa6Az|EcBm3fY_4~CnkNg)`}1P_=bD`I>uHiHhH zE{}&O`EJ=>`TKIkeIAiBQQcO?DlVfWS(t(xn9$SlLBeGjk+ z4XawSVy*L%nXVj(-_tb_K3C~8l$DKL>3mbNyp5Sv!B7ue-zX@=;GMEtq}4`NDUi~e z1~Z;ZSaFa&On@0R@h}U36!`}kU)Ns<{5>{nx#}gAeb=}Sdhx8f_Ll?)?jt?3G3L?R zf$*(7-sjd8CCEE?t5wbxMIjHJstYId1t)&2Gk{h=0Z$bNlgVuR^N*}d3 zNrqE3m?@P>z@3ox<%Vx;Cz1|rA4Nz8?>mdu{i*hWTWt9CTqTqnMpHZBukNsNWjzlc+_g?Rlrq2P7Vbr_1C0)6m z0&llt6cEFdst%1&LoQcz%uui3OWml7_<$JHLM^E6gb9)GuH%cVC~B_)C5|XXx^V+A zEFO1*-TO#K!tVO&6>@M*i^`O8Gj5y%`8#f#K;b_wdLqsuja|&hi%{Siit_v!0WEwyw9p zl*Jr*SVwz?;#U)TnA4Szfu`Teo&E&nu9}om#*G^JzKxPtM|n-fS+V<__lgyKLR`?W z8+*SE5|rB(H}@vkG__1OhJ7hg&Oo#37c^gHMIrBLm81dxulLmvl2EhYy)2zFBE~!JOVQwo1k;hkl`h^ihc4@ zHZ(B+1hrzS*8<}Mf^m~`8N|sx{Iw}~>+&7)M>=>*aBq_N2_&ygh&vnfi*!s#TQq=4 zwOFj@c8}H`dLta|{b{wH*Yw+M3gzBjQ26IHaSf#?T>^$TD^I^4Whq*;ib^SOd4)qs z+8jmy3$39IZFy)z0t$Y-antfq=VFE0;r7^OWVCrGJ4kxD%99MEN_4h^dM_VGafHq4}tvVhZS47hD4#}nOAS1w@;ND$SfqV zS49hCVtvx7B0Dy-<>Ewg_u7!J1v%^XfG>GOmw~LTA%=bPVcWL%g{x0W`%1@iBb7D7$|o{S^R=f3)Ks>% z!KN_$DM0i9Le$gimao6~-!0nx_*F_0$HawKoj~~CvAvyR>9QnMid=WDnJupQi?=G+ zO*PJ3)xTV;&c+eFdh6?(1Dy`%t&N!MpLZT90zRh4+yC_}y;pzDf%OA@T_pkn`k@g0 z_wXVKV=FrmbA2mY)1QO%;eQU&>?mKJU+A1h8UO^*aoL2TyO#hG8dLJ@1qaE9N7y#k1R1R(t7Md8Uq)*%H&6$Cib?)0M+~zJ{|8NM+uu> z#4?T}n1J7enBBN@PTpP?ItO~%SW6vY2W!o(2wXxwOdByg7rV150(O%y?Rud*m$P*- zV_OeFzw?S_OMn~|G^Iv{LA#V}Tna`)ZH$U8MR5(9rdDKtVOA53@|S2;YZaSmZ1hFs zz(H0dro#6T#F^}dwY18pFWG>8LvDYL zw|rXers&-_>%9}aHdpm8WU-vr_&uhhVdWm)MOk0b2!?Br5Fe&mH9~HMzfHfnLV82; z{ReI=Zch6Tv1yNz0^};&{+U7j{_WwN$l$%q|Kp~9mK{=OdTjGxzwo%Q{$`2xefcWP z>@%0#N33LI2go*dS=()_cjvoyB^q?>Y$=?Y&@;}il`Pvg%kh6%A{X6-Is>0yJ{>Ug zv5rEue(VrbLw*B+{BoBQCq)N@UWBEyzo4YIh&P$iHp1Gy%F;6$en?KesA^55phlAa zRxZ&Ekz44*bBGDDH{kwodxw1Ss2Xx!+9j#S$#x~X(qsiAdtqqs*Ay5{hFWAj!bkW5 zVL#N7^e%vRRSe+=T%}D}QPW*W4!FW)uk1oH8-y?mF_R*1$VNdNTY~>yfC%N~%0--* zlL(0sQd1%(FoLLo7r`D68xbO#oMq5JMJ}}iCL@8ux%tBIwc|=FV?ZfFK=|_&ufi7+ z95AYuArV;U4kJX;)G<#FQGxsyrWa#&O-%(l$d0`-O+>5e4@@EWdV_)hoqQKN8zhZ& zs@hxuxC3eYTT@zH{8R1(Ym`*5#)<;{P^hCfSNHC!Ab8uSY^X$ zefKmy5C<5y+50py+e*&&c)XG&y?FCjQxh?CL9hWyBnfk8+H72feE37kQgS?S;WE$( zs+aDn4|n~a7JTrPZXK6`f)Fstgzbb0Oa+ZX2=((P+d8lrd!>hnWf-W|D!qP z=`PcZ%L3tjGiC&jBmQl@9P5z2LCKk$P^g&ft<9&m7CHr+fu_**18)!aj4cy+0UdmoUNdtIb0 z^cGhj2-VtvL5bATaD3{fS?!eK;2uq(G5vKx6Y!|l`lo%ywc_by3@A1-w+sd-CMhSV zQTUtM-@smYj*1W(Je3A4at#`-C`14$q1qEWbX28iA#LHuKGqOD9KDjE3(4m7N)1Eu zw%6YAwnl=G{1hK}yv~n#yN5f(of2=lq~}!|Ia4t~cW3(JcAc*p?+7jqo{v(K51=^-uT=Ju&Dx^tmsTs za0iBvaIWe$EIKE?^7vpmvx)-I+^yj@Sj27QkeHz5;4gxj_Pe1|2s#)V*H`&mEPSR# z8wx0FP#R5T4d;Dt^IH}7>@O%+ysjGQpZ?8y#;t}q&!Uvpw)KN1`d& zk>>M3WV)*7S2fMs(LnVp6z3nY&DZc2Rxq`(`>PPh>$i07=#DkET@DTo9myW(b_(Oa zGRuKpzp(dZbKa9&58kQi5p)_;Vy^TT=~r<7QU?3|2@4W(H40Ss9Skxi3H0C(A_{uL zrvFZ3FSSGh(`QePtS?s1L!L>zDfCZ#!>1NoRtN@;MUGl9t%&%5OH7_~T@b-OcU?~Q z<6A0M673LBP|S=PsC0~<6p0^MfwWArwC#{N>$b0nt2)tzyLK8ALr%nMmbF{R5XBLR zgk6zzDEt#E_&umtEg<;>_oaipy31hs9>SQi&-`_Ya;W=(DFi8-VQ)8}FvnoVN zd(M$b(SIBMd*_47DbYZBnHdBK0EPQ3cVqr|DYfIszs=Tuf2DYXw~4$If5+CuG) zHsVx#kXg{@$pbrR1EZInCSVZlmO)MvuCS%2^?WIAx40m+ghchn$3;x0IF%~mk`mlM zfG)18W-`5xE$RHXz#(jQLe+V!+(j)F*|)4G4^zJISo^97Oa^x9Y{H%qZ?XySO9{(+ zI!Wp~8r{H{x!ZyLRgQmJs4|ZJ_8fQ?z=AruHcP|Q&DL6`(!d}_aPqoA%J>&303?x) zYmZ+ekv_uIS4B)!YMD(K{HX8o=B{hVg{*TGkN11&_Zk{6C&DaCYHUNFgl{VM0jmn? z2z%WOJyesO#6V$bhr$a`d)DJk++V0@dO^wt=1u7-G*;F;=MfCx?Ls0&UsUH>k~e#) zRZ;YDG$O2IOUD-^Tv&gO5F2y7f=CA>S%B6jLV83dJOym})QxN*c3jYcsGg!5EU%8? zu)QcSjwU+Z`>7x60;)I@*5mIql46~iU4cSmOBV;-HIKFJ(A*q#9V`0u6-9Iaiy>}IUmT> zVOB6#77^AbVl;uX70WBvPGGh;{CGfJu5OSm7Moehh}}mZkvsvgrHa<5`Ip|P&sCCe z;ytPmZb=}<wmCgOWKPrxZSpy@xuSw@1Q*pHhSJ-`_@;PovYR2A4`QZu1kU5;u$~ zE^n^h7cVbZdq5sE>U|jl{fI(wMaLjj&&7bq2)L*WM?W&p%l4*eUz)c+cGsXh$0|_7;g?!-26H1?Xz;;bsd14{O4?prKFK+ zZ)rB<^JO2!oFMnN=k_J>pC-4rI-kegyN*?@H^)J%)`P)bd5H&RL%kckP}cNE`6*q$ zMd!G`CznFE;pLEwG2q?b)6yn&g5?B0w@bra@SQV46&4CCp7c9?V+Q3y(lGik5e?vxS@e$oM<^nImR)U-`?#+zxr2J5H01U8#z+}8aR zlkNyS^*E#{Th-FMkeCnW9N{v~rs7QsN1k>yTsB08Y+aWEc-ud$n-{%cISf`oC*iTY zY9L=KmtU-xAg`T0$o!doj^;t$AnnE`_CVV&?=<@hF{I9}BF*R34?o0ioIEQlQ$JZW zs+hY(JlGhCsO%Kv&4`cnF!1=2Nrw~WQRRcw(IKiG3#gR0PW(*68e9z|$9z2MvXQ&qFBFbfezHZD+UMIMY#UNNR55!7>o0dH$-XzMnB_HIps@;>Au zM)bI)4kv@HCFqjs5iyt;f7ugJGi2VQ(QN z?d>47u)ruND{&)`W70*&SkIKn2WzO(Y2(tVGdzKVU+%dzDW$*3iwz%ax~~rjzfJp2 z#!|(0@S#a;&-3(vumVE|SV6m-T=`)>S!Fw93J>R#pKDH*OjG3VVofpV*?Bv&rbkXq z-(2!OOnV1>M^8nQ>_Fk!4A{mkyF#!kA(imZA>%o0F&Y#}qh64bmTq=Ho3LO52KpGx=a8NRIrCmj~&INx&rJ}oj zgJ^r3YPFO3TQexzErHasf}E3>a>y|UM8tOM7mki~TQ1&fCWaQW9czw?xpCv2;*=d2 z;}h1FCOCfrFppcg+ZaJ3@m8|60$xV9-uz_zbLUOWK{EUl6bNGFS5kGfI~u?1kxsHM zRr7&LBbI$Tmm;$XQVzT#JXEE42We(=BgN#pOo@*ygY9VhBGX;Ml0zj4opf~em>kn>#9?AmsM3qCPffKZoEL!iig;HqGe!IAzP zSdvJZHl;z>;0a+#r>9H!m$D>X+^NKBZR@x^eXP`76a*X-PMdE!$2Pr_gf`jJHBL`>$$b}zv#yRZts9)kc;5CUhdY@rYD{wYJ z%|XYF&_d8y(d5Mt>Q@zlp_u2b&gKg7zxQf{zD*lNT@a08K75s=JQKAWfxFwn(|^Ifm1s4Nd>Q_iu<}g-pnfJK30qES~pxv z;Mv2)w_gyK^YlTa5eC)tciWpd`8HgZ|h2c1*T+bV}o;hd|52 zH*LAeihO^#2I56&$?J&d*_z?y9Y~;?qI4gW`d`2fYX)J8QSw{%+{METoLA@yWSN#e~88@{o}C zVQ1Q;VoT6-MG5hhh(n0=gR|&-RcSF1(lf{s&?Fxg0X{?QCfHMLrDu$hkwD{B8cY&< z#Z}`M-cVcNq#j1Kl+Jp&_=3YaL@y-YcI8G~vh-e)<0HX_Evd`FxNz#iw zeYeLSu_`FLBJSi5qy2H;ikqjlW{d9ti-gCKTRi&$7AM=^NnZW4fmPWRiptHV)ecCo z=G$n=B&g1F&vV6W^c%F7)o^qf=&XogCG{|Ga8AFl!Ht1gIx#ANl|_Q?fTe=C`!>kX zNb(AGaL#mqLW~qVFgF5wQ$br=Ab5_)tE_lpFp#tn@o!aPSkxWb8xK*LH;rp==lK9o zzGb-HK=+KuiQBN$5Fu{#2ndA{T6;eaj z%;onXy@5Vd`5y1A*e>pO=_0z6La}O83+~{0>q1FhQb@a(!@O?p)t>k^<`silb+lh4 zCrih|0XBUr#a@~*motEAT28;4wMj3t3yz&S ztXqtaiK|qsa)jo6+uipI%w>()e2d^ z2nk_bR3-?=9GNSL@WkvqT^%=i_-%I~9t#SE)A87}3L~&(e$)qZ#A}G)8ad)gV>}M* z0}%vayQ(_ze!HApfw52^yl5iUVYl+MdP4+64Ag2+tmCYryv5j%-uwsmFq>F1A$+lQ zo+WU`XC@BXbyXs}blsTI0y*pUM_VkRYZNLtuSe@uY7FT_NC zMz479nP(Dbnxb&Go?VhpCTl_XLL$isYd?KI#djxkHU0oZ_~$rn@1?S zbB@rHb(e_&HaxnWKnQ|{GnpPUFA0dw$7$7qKh>Byzx*_182WB*W!;F%D z;K5Y6^O8D=AGC%bhX_1|AGt#yl}ZL?5{~iW25}h&9YcAk7!g(vcrKQiIzM+ZankOK z$VbW$zU6s))YFP(u7@C4nsECrbt7u{ux13|avEy1QnGRH%l;Vpul+Q;$k>9)GkO$+ zvg)J3D$^QOm*GnRC8w&Vtr1*1d;K)84~`v~_Ug#S%=;xNXaOj&h$?u*=$}${aIlwu z^5GqL&3#p?ZUbAhIe@wWuP9Es&k%l~Qc-fiSXW$#C%B?m)B!0;rT#vi3Q#Q|ZOE>)Bj zIG__}?_zcp4U+Rgah|{$U)L?rk61i_oV!8+-~c#Gd_V}vC`u}j?+LE@&lo-a!w5L= zQm6f6ElEw^p5^eezI{eO!=ziH8$`HEc!S{YO#rk8<}dNu8xIs9unD%U|5}U<%s&|rVdq**3p>A0_RcSKoi*ZDtW=X5S=C%lbZ>fj4L?7o(OYaSDDS%)2!6=Do< zt)cCrvXJsR9R4n<wrxAv zyo(RJwY&eWnVzniJ|BB(PWN-3pRjCUA`VCN6EGVi3nuA;74HD9nyN)pUPhVp3-_1h z)=1X2C5$yxz%Najff46Cd|hV8qXUAEPcZm>mbnH~(A^u!fYMyx;UTl6QmqwDW1+gQ zlB6jKRZ-xKouPefu>NAp78wdllW>mfst)7%J$EN~Ze^+OyVLiee&=H6S?lZDW-)8f z>+3tSuzM6hEA`RQSNFs@`Z}x;!&cZAp8NSO5u~{{ouo>wL#obwHwD?0x;_%pD9^6S z{uq+^pL~t>vmh8V+?9J+Nna=4k<0&$-fOHMx{-*&;%B1+l_61thR-F!+uubsJNb2`U{ zcxoz^*p`Y#lYKC=s$@cCfQCSwn2>lz1?pE7x_BQ(hr$ay8?F)cPBFkI)I|+z#TKi@ zb4cY)R|;u&*d_TEo&c6CW6lKIePmN2Nj2U%VJge%p0E#zv16t4+q$=r?81zrOR&M3 zsg>~*(NxJgiCmiox^fw2u?WV}{cr86+(NVCum zlVI4GtFuQ!A9G-IKDO1_Y9$pUziHaTarMT-pQ=2|h9GYH0FmBmW2z!<&3K&N)gddlnQe_ZIM{vyO03FRg;cw$Cx~0p#TQl1Z z&!wboPO9s&8AR=u6sUXS@w$ek>=&9 z&{0g+37>7jNR-+=EvAj0y7t>(h2QsIS*~&dJ`sFipJ-5SKS*Tco)B$C)KJi^gB2wv zxDf-^j>&6D>+^hvyuXxmiqe}ddTyy^^%OTYi!bi5N?LXI!dR^%vDp&ss9EZG7mCD@ zVUb2;6&uoT?{bPko1x)#p44;C#s(zR!YI#(#L;mK*eXKjcy`g)Rbn15gnOi@HYmC6 zZUqrZgx)4FFir8OcD8qkubLkkh@Wy$DIlmNAqDaa)rbUkQ9>Tcp_4TyF#`4my~mtn zRw2UJ1mYBoTDb|%0|g?sxN(YrO2u4Z^1O2qVm9i87Tq@cISMJ@S-qo3I>-a# zX8HF9+hFp&c$wkJ+R1)&(@W!iyczXIJriwm?etg-_hlCTyK-A$Q`$h)MB9$Br4YLC z-^Q5m41XEatGq$=N+fEOn$;}MMw?xhvLoHFx=IA8n+~o>0B2hKkb-h=4?*YcuCmd+ zP@@KGJF4ITFC^71ln+?6C&!eHiLOfJ9fFD$xyrUF9X_Vkvqe9GLpbJE$&IdX7|5wA zEKTJ!bv9-{MD{WdaJjG63Q_qu^ZlN6q#D==ep5oEB%}*RayX>#3Sd?=asHVfgq6`7cBXFkPf5>*2Qfv3A5;ZOZ8P|WtYTXT=!M|T$@Ux;_N ziQY_#9elX)Nc4;qjf$ZkJN0-S+Uf?r@9|QS)?yCxw>I^&8*(F>sj|(x*~x1_nDqc6Z*sSygYNl_vXg+NqgdeO6t%OBr>3d zPxbIUio9uFAN2|ZrNMg=WyF*D;Q)WfY{YN^2)Al1lPnQW7n$|7w^Pq;AeA$n;4GjH zAh6fq;W(j`DqxfX;7wU)l5<}9p!P{_{CCVTJ9OnCtGUFcWo2vY>R+vzHFWTJAFy;5 zi3Khy)Y3V777&-dI4A^pu>wrWH}dx=X6hFZFt~3$Pwj*z#O^3%=@uFGMUg&~-_$;_ znaD7pL|VNDI^fH7iFbOCYMlj;H_Vs&_!{Np$zr_l0YbtHq6FiZkN->l5Ms}iwD|E! zgzabg$y-BfW20s@cdq$!!lNe{V%^&G-Ko91GW<^ z^fZnuJv&}@XYkR=-0RfYP}&zKI~P_~l-PiitLHGRoSbg#aNz>dtLq>b+0EKaVd4ty zLB4!`r%8knfS`~u1surFG)HR~fJ)KLT7ukw27Acd&`OBk)EbMW33QNPv`#RF44ATF zKT=2}{fiT2B@9ewAjVn-${n(R`o+{xz=!GQ^D53K^Xn83HZ~p}G_0R%tlZwgY{*=9 zCwgZg((9HfUMqU%lhX6V?Irf`$a8w*$=8C{*<-8m)NLz6nDnAV_EV^3|1-(#2En4G zcx~2@{O6r2xs{xYW359j+{nS)SnLS^sIb=paZbnzuI!>yPGJ-i%pXE_%&)N17V()l z1D@xG4VUz%#>Rnr`#vcjpzL(}S?xSDc5u)hb7^za@?HQZ3VTM^6(hQ?R9Y=y)0KV+ zf9o@Fz(3(2LVSrT=!Xxu8!nZ~VW^43A|43HRsr|416;T!HcQ?a!jMq|ZzH=KD>0qr z90FscPHTmYAC4YoEa@M3ZKo0emY21<(AcV=H1*q^kKo6mF^-I@b8jhaa~=kbz#_zb zeYlhQ<)g-#D6H#7OL*o+0Snq`C<==RRe%oKSVxi{yF^xRujs0Rbi)dZwl?C+)e%JkK)a zd0@DwS*bQ(zmQH{V*OGX!`;RrvzMcXtr~u1k$p6e27qaqi9Yy1YP}#08j&-1$LsHJ zu;iZ?B4xVLDsYH=tL#O%e!?Kikqxggw3rF?L}s}@`8VsC z9DfA*><=bB7|4k|ZW+`~{w8r==NwTqe9pi(Ua9M-W3~rx1Rh90<{ysmAEjI5lHjq# zPFdEMAmfm$jtQ>NANym545e$d+e3vYx&1MvQ^6eKO!s^CK+_xu+k!8^RqF75|NJ|{ z8T%_>vEf*!k)_$XQ(B3?+4M2}X>OznjNO2b6U0ys{V&+JQi%|%CSt6CV|q&Kt@?Jp zeDGjJ1!FH@B^Z*r1qiG^qK>&J-pHp%pe;s{c3uh_mLciKr{Vt`W9I? z)TUv{V{ao0Xg^HCKkW(NX5+CmcUBy#pr_KGXHza2{!mN#-vJd75Xn)^wtU3fXf5s% z7RT6IKBX%(R7DH;iv|z;(F{+c0`*`dZ_OEhIsBHH=P;WdZf|D+zM^t2xNVGen7(PA zu(rBrl!@O%`eqFQ1&iD(h32q26qUlnQIOj+d!glqPc312?(xSCh_Xfo3h(-c+`T>L zjg~+)|Ayo|GTMHX!Na-@nzcXjKuoQjj<8|QI*FA*++5xUVG3i7E6RP@lJ1kC5xg*B*v<-c`rPxx*q5d)->*?(^ z!UVVlbTWdj02YgN7pZRoZI`HX*1r}&?IH3Or9Ju@9_S_$7xLm^RzV1B6gymR{{lt8VV9xm#tg;bSUo4N@~ z=d-=sNRw5M8hWCe^xDRmM7^_oj@ zY;Pg1W&ph~R9O2bo!;#iy9kM|CC<39vtx$(vQFxGdW+asBbnh6kIf$awry@y3h@mZ z#SErhnHX5)k~ci=H4%oMfL&?@{a%{38Ud|@J--f|Oa+mviVZkfGI&-Z@z#zl@=sE$ za8|42@r5P#O{B;{B|_`Ui+&eFtvOJnch;~0E+1EUi*0xM-uR7HCgqz2bOF<&xNC_P z3ksmGD#$R9qtz#+6!b<5iql9@a?#BX_{IQ3*vncDD>i#3k+8o=tI3qwdb)E z8;x{kkN{z^6uwdpk0gpzW6lZNCom`=SCb~BYDU?kXMX9&whaHZ!7Dh)1p@r5!qYxa8Kyslz(fYJ5i%&N z!zPVwb`&dPA}ZtRC0Ri$V?Yq@5mx^O&7af7pOJv(I*!U9RcrPg6A0qgy2EU^8J_ms zcFOY8VFSLCl%l}&M_FzlNChT1M%E&>>I9CPx~tNtqabB0BrMMb;5$cYJJocfBy7(I zkyONY*(Zs<<*7F39~`cmFGIzYzt0lU&+9p6|0L*av0Mdd6Xwu^^}+?aJQ*wM>Us#I z?eU^Cd}<(3@`1^aqF@i_X%?MpnNC{xAgqH~@&fxZUdx?ak`9A53lALbB1DWdiJ8*i zn^a&)7=Jrw6s_7cJ+nSVGSd8}w^&w5UTQv#>(~tzMCWOu!hJnU>gU1yHmo!OF$2_W zCDWOPffo!kNZxxR9_&+KB%(;*)1RpG@PZ$-uh6O|!ZB!fubjCrfQMc!{(Ku7E$5K} z;zwo7J$?GM+alkX(#Bi#aWe8+o-r3m|DLgFCZsrX5UfO$LqCp?ld=Hj zT0dzf9S+&9ad3+u(Vfgs%t%mweLHhVY;N>D;-4FXslYW_|FP6ehHb6$0LPCfw`@P_ z))uQMe5T9C)t98Oa2^%#*O?g_H63Y>W4NmD_yv%6@i8hfKLub$B^%im3?A}Tvm6IP zs880WoptusLiR^_zEy7npr$WbeQU`L%e}4@7rcnhc@Z69hsam#9-Ha0r2|%h}lzxx-505IdyL^fo;p5nHA1VCsJV z=4|ES^1BSMB;fZ_#Dp|e(VUG8rgI+5*{5|6$xzn=6>*dH40{?Sgpf#6_~UrL63k)` z^266op+D4YOE2-f+c~kJa@XJiHaiulEtf0(s4xxclBk9b$jrTA*)+*L?jP1Bui6w=7mKz-4#TBlvi&jlS zjG`0f8|0BoA$0=sN8dbA$c*wX{#{}7JG9Glu&2(Q{#aS>Q@*yR{xQ)q>-KTFs7ltC&?zr?_A|GTS zy&l)GE!|fZ`n3)Vy(@cNp?P45w7-GdKSF!xJEvi8TU>$JG9; zYA84}{jQjHK66PG=oUY8xT@-+f6_+UE6VPy;z7TWXn73l1d~X@{Z#mOsB#@E5J{td z0R4qCC`tC1Cww9H0y{ogIM#<_%6@A8VMtB~MeM%}a3elY5oeki*w-QF18xNwjWzaC z)fR_B+CEhQtJmm}=`Q+2ZN32d41nMPt=fr1R{b5rOuxElX-*OgP&Ex$_w|;1>V<X>5h!4mMyRGK<4Jf`lx=T^ldQ@Um$ftIX2np<>1f|Z6uR>e%s)Z||M z5hiE0VM6^ZCA^a}$Jqsb$zJQ}bAaK!7JNlL8j+G)O(9aE#|Pbc1r=+k41D*Sr<}J= zKXcubR4mRW8Q#uT6WLS+``8hZp=tjTB^=cNMdh;n5fr+I^l&ovM}dk2EQuwSJAviA zbZE4N4CHB$Pi8-c=N!0Q)pq`I<{23x1BA_n$-5+vEsMh7+!>$A^%>l_=%9k}WUt_M zZ@Y3D@@}z>BiOY+W= z`jhofb;D~WsI$d1ONC>ngb%R4imDBoCnF?HC9qz2qJ1X;Hv-l6PvG8+=tE50DDV-4n!}&w|tc#1ysix*4BAiJ%9IeR8BW@5EZdZWFtTL}lu{iY+9gPMb zAAE;_!(E+MSD6*l*p0FF>l2=($R&5G_pE3oRBE12cH%IrtXK?U6=~;!x-yL<$k9F zi9i=GAd@&!Y-oF#5k|KTD%z*P5%VTq80~%F#B|cnAE0X zGY?$IdF8xg-w3_cb&K<`WsVbMyA@A_GctkLW-qz*geC16HsuA2TRb}g98H%K6#PPA zmNC_P<3i1MP)SqLOaQ63uO)@3T;W?>s@^#tqaKaUY~xr0SgIwv#i&|}nchie-MBKB z|N3}1!_a9CF+>H)E)#0&;+uD4X=4*^;G6A∓)N=7I^UFmI;r_1G0$r3Gt^47?{l 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�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≀*Sy*zui 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 literal 0 HcmV?d00001 From 1aca1cba2638818fa46aa8ed924ddb492dd6673e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 18:29:48 +0000 Subject: [PATCH 258/510] Add 11-build-js.sh command --- toolchain/src/11-build_js.sh | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 toolchain/src/11-build_js.sh diff --git a/toolchain/src/11-build_js.sh b/toolchain/src/11-build_js.sh new file mode 100755 index 00000000..fcf522d4 --- /dev/null +++ b/toolchain/src/11-build_js.sh @@ -0,0 +1,48 @@ +#!/bin/bash +set -e +set -u + +# Detect if component build is true, and if so, exit TODO + +# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! +usage=( + "build_js will run npm build commands in the js src repo and copy the build artifacts" + "into our build directory." + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" + "Display this help:" + "extract [-h|--h]" + "" + "" +) + +FLAGS=() +ARGFLAGS=() + +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" +. "$SCRIPT_DIR/include/utilities.sh" + +util_get_version +util_export_version + +$NO_VERBOSE || echo "Running 10-extract.sh" + +export BUILD_DIR="${MAIN_DIR}/build/js/" +if [[ ! -d "$BUILD_DIR" ]]; then + mkdir -p "$BUILD_DIR" +else + rm -rf "${MAIN_DIR}/build/js/*" # rm rf, spell it out to prevent rm -rf accidents +fi + +export SRC_DIR="${MAIN_DIR}/src/kaleido/js/" + +pushd "${SRC_DIR}" +mkdir -p build/ +npm install +npm run clean +npm run build +popd + +cp -r "${SRC_DIR}/build/*" "${BUILD_DIR}" From 293ba4edd461c05344420f8a4470e4320844d074 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 18:32:05 +0000 Subject: [PATCH 259/510] Add more build artifacts to .gitignore --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 72da0f81..6af3fc46 100644 --- a/.gitignore +++ b/.gitignore @@ -20,9 +20,9 @@ vendor/src vendor/depot_tools # Build artifacts +build/ src/kaleido/LICENSE.txt src/kaleido/README.md src/kaleido/CREDITS.html +src/kaleido/version CREDITS.html - - From fdd099ddfd105fac611bb2aba364bd4ab13c8db5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 18:32:28 +0000 Subject: [PATCH 260/510] Fix MathJax --> Mathjax --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 888547c2..a3f3e0da 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -105,4 +105,4 @@ cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MA mkdir "${BUILD_DIR}/etc" -cp "${MAIN_DIR}/vendor/mathjax/MathJax*.zip" "${BUILD_DIR}/etc/mathjax" +cp "${MAIN_DIR}/vendor/mathjax/Mathjax*.zip" "${BUILD_DIR}/etc/mathjax" From a9133b1fea62386d28148a90a8b21aecc877893a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 18:46:59 +0000 Subject: [PATCH 261/510] Set up deps for nodejs work --- .circleci/config.yml | 2 +- toolchain/src/xx-all.sh | 15 +++++++++++++-- toolchain/src/xx-kdocker.sh | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d34aa7b3..4aaa9bb2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,7 +19,7 @@ jobs: - checkout - run: name: Install Dependencies - command: sudo apt-get update && sudo apt-get install rsync + command: sudo apt-get update && sudo apt-get install rsync npm nodejs - set_version linux-x64: diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index a3abdfa6..7e638444 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -31,12 +31,13 @@ usage=( "-8 sync_cpp - will sync kaleido c++ do chromium src" "-9 build_kaleido - builds kaleido's c++" "-10 extract - attempts to extract our build from chromium src folder" + "-11 build_js - uses npm to build js and move to build folder" # what about javascript # what about python # ugh ) -FLAGS=(":" "-0" "-1" "-2" "-3" "-4" "-5" "-6" "-7" "-8" "-9" "-10") +FLAGS=(":" "-0" "-1" "-2" "-3" "-4" "-5" "-6" "-7" "-8" "-9" "-10" "-11") ARGFLAGS=("") SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" @@ -53,9 +54,10 @@ SEVEN=$(flags_resolve false "-7") EIGHT=$(flags_resolve false "-8") NINE=$(flags_resolve false "-9") TEN=$(flags_resolve false "-10") +ELEVEN=$(flags_resolve false "-11") ALL=true -if $ZERO || $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || $NINE || $TEN; then +if $ZERO || $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || $NINE || $TEN || $ELEVEN; then $NO_VERBOSE || echo "Turning off ALL" ALL=false fi @@ -162,3 +164,12 @@ if $TEN || $ALL; then $SCRIPT_DIR/10-extract.sh $(flags_resolve "" ":") fi fi + +if $ELEVEN || $ALL; then + $NO_VERBOSE || echo "Running 11" + if $(which build_js &> /dev/null); then + build_js $(flags_resolve "" ":") + else + $SCRIPT_DIR/11-build_js.sh $(flags_resolve "" ":") + fi +fi diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 9d84594e..2227f293 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -93,7 +93,7 @@ APT_VOLUME="$APT_CACHE:/var/lib/apt/lists/" # COMMAND is what we run to set up the user and do some basics -COMMAND="sudo apt-get update; sudo apt-get install rsync; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null; " +COMMAND="sudo apt-get update; sudo apt-get install npm nodejs rsync; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null; " # USER_COMMAND is what we run once we are logged in as the intended user, # including the actual user's desired command From 0627b541b408d3a1c3a3832415dfe3162e0fb2dc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 18:51:26 +0000 Subject: [PATCH 262/510] Hide more build artifacts from git --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6af3fc46..f51d78f9 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ src/kaleido/README.md src/kaleido/CREDITS.html src/kaleido/version CREDITS.html +src/kaleido/README.md From 57c53db13fbfb9dfe1e9e511bcb4cb11a1cab070 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 19:02:56 +0000 Subject: [PATCH 263/510] Correct .gitignore --- .gitignore | 1 - toolchain/src/10-extract.sh | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f51d78f9..6af3fc46 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,3 @@ src/kaleido/README.md src/kaleido/CREDITS.html src/kaleido/version CREDITS.html -src/kaleido/README.md diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index a3f3e0da..f2ef561e 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -97,10 +97,10 @@ if [[ "$PLATFORM" == "LINUX" ]]; then mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" done - # just making sure to litter these files everywhere at every step fi fi +# just making sure to litter these files everywhere at every step cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MAIN_DIR}/src/kaleido/CREDITS.html" "${BUILD_DIR}" || echo "Missing some meta files, ignoring issue" mkdir "${BUILD_DIR}/etc" From 6b4266eb607bba7e077364b4f8063b3294d6091b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 19:05:26 +0000 Subject: [PATCH 264/510] Clean etc/ as well as cc/ in 10-extract --- toolchain/src/10-extract.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index f2ef561e..baf0e154 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -43,6 +43,7 @@ if [[ ! -d "$BUILD_DIR" ]]; then mkdir -p "$BUILD_DIR" else rm -rf "${MAIN_DIR}/build/cc/*" # rm rf, spell it out to prevent rm -rf accidents + rm -rf "${MAIN_DIR}/build/etc/" fi # mainly reexported, but making sure the python script has it @@ -103,6 +104,6 @@ fi # just making sure to litter these files everywhere at every step cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MAIN_DIR}/src/kaleido/CREDITS.html" "${BUILD_DIR}" || echo "Missing some meta files, ignoring issue" -mkdir "${BUILD_DIR}/etc" +mkdir -p "${BUILD_DIR}/etc" cp "${MAIN_DIR}/vendor/mathjax/Mathjax*.zip" "${BUILD_DIR}/etc/mathjax" From fe4fc77f2b2a46f23066d06470ac8150c92b5229 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 21 Jul 2024 19:32:54 +0000 Subject: [PATCH 265/510] Add 12-roll_wheel --- toolchain/src/10-extract.sh | 2 +- toolchain/src/11-build_js.sh | 4 ++-- toolchain/src/12-roll_wheel.sh | 38 ++++++++++++++++++++++++++++++++++ toolchain/src/xx-all.sh | 15 ++++++++++++-- 4 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 toolchain/src/12-roll_wheel.sh diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index baf0e154..0c131c61 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -106,4 +106,4 @@ cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MA mkdir -p "${BUILD_DIR}/etc" -cp "${MAIN_DIR}/vendor/mathjax/Mathjax*.zip" "${BUILD_DIR}/etc/mathjax" +cp "${MAIN_DIR}/vendor/mathjax/"*.zip "${BUILD_DIR}/etc/mathjax" diff --git a/toolchain/src/11-build_js.sh b/toolchain/src/11-build_js.sh index fcf522d4..7ef0e7b3 100755 --- a/toolchain/src/11-build_js.sh +++ b/toolchain/src/11-build_js.sh @@ -27,7 +27,7 @@ SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> util_get_version util_export_version -$NO_VERBOSE || echo "Running 10-extract.sh" +$NO_VERBOSE || echo "Running 11-build_js.sh" export BUILD_DIR="${MAIN_DIR}/build/js/" if [[ ! -d "$BUILD_DIR" ]]; then @@ -45,4 +45,4 @@ npm run clean npm run build popd -cp -r "${SRC_DIR}/build/*" "${BUILD_DIR}" +cp -r "${SRC_DIR}/build/"* "${BUILD_DIR}" diff --git a/toolchain/src/12-roll_wheel.sh b/toolchain/src/12-roll_wheel.sh new file mode 100644 index 00000000..da4d400c --- /dev/null +++ b/toolchain/src/12-roll_wheel.sh @@ -0,0 +1,38 @@ +#!/bin/bash +set -e +set -u + +# Detect if component build is true, and if so, exit TODO + +# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! +usage=( + "roll_wheel runs setup.py and creates the python wheel. You made it!" + "" + "Usage (DO NOT USE --long-flags=something, just --long-flag something):" + "You can always try -v or --verbose" + "" + "Display this help:" + "extract [-h|--h]" + "" + "" +) + +FLAGS=() +ARGFLAGS=() + +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" +. "$SCRIPT_DIR/include/utilities.sh" + +util_get_version +util_export_version + +$NO_VERBOSE || echo "Running 12-roll_wheel.sh" + +pushd "${MAIN_DIR}/src/kaleido/py" +python3 setup.py package +popd +rm "${MAIN_DIR}/build/kaleido_${PLATFORM}_${TARGET_ARCH}" || true +zip "${MAIN_DIR}/build/kaleido_${PLATFORM}_${TARGET_ARCH}.zip" "${MAIN_DIR}/build/cc/*" + +rm "${MAIN_DIR}/build/kaleido.whl" || true +zip "${MAIN_DIR}/build/kaleido_${PLATFORM}_${TARGET_ARCH}.whl" "${MAIN_DIR}/src/kaleido/py/dist/*" diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 7e638444..42eb5dd3 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -32,12 +32,13 @@ usage=( "-9 build_kaleido - builds kaleido's c++" "-10 extract - attempts to extract our build from chromium src folder" "-11 build_js - uses npm to build js and move to build folder" + "-12 roll_wheel - build python wheel # what about javascript # what about python # ugh ) -FLAGS=(":" "-0" "-1" "-2" "-3" "-4" "-5" "-6" "-7" "-8" "-9" "-10" "-11") +FLAGS=(":" "-0" "-1" "-2" "-3" "-4" "-5" "-6" "-7" "-8" "-9" "-10" "-11" "-12") ARGFLAGS=("") SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" @@ -55,9 +56,10 @@ EIGHT=$(flags_resolve false "-8") NINE=$(flags_resolve false "-9") TEN=$(flags_resolve false "-10") ELEVEN=$(flags_resolve false "-11") +ELEVEN=$(flags_resolve false "-12") ALL=true -if $ZERO || $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || $NINE || $TEN || $ELEVEN; then +if $ZERO || $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || $NINE || $TEN || $ELEVEN || $TWELVE; then $NO_VERBOSE || echo "Turning off ALL" ALL=false fi @@ -173,3 +175,12 @@ if $ELEVEN || $ALL; then $SCRIPT_DIR/11-build_js.sh $(flags_resolve "" ":") fi fi + +if $TWELVE || $ALL; then + $NO_VERBOSE || echo "Running 12" + if $(which roll_wheel &> /dev/null); then + roll_wheel $(flags_resolve "" ":") + else + $SCRIPT_DIR/12-roll_wheel.sh $(flags_resolve "" ":") + fi +fi From a6f0b3a4332b5e371d87a40e0877d7e6d39ea757 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 13:33:26 +0000 Subject: [PATCH 266/510] Make room from 11-extract_etc.sh --- toolchain/src/10-extract.sh | 4 ++- .../src/{11-build_js.sh => 12-build_js.sh} | 1 - .../{12-roll_wheel.sh => 13-roll_wheel.sh} | 1 - toolchain/src/xx-all.sh | 30 ++++++++++++------- 4 files changed, 22 insertions(+), 14 deletions(-) rename toolchain/src/{11-build_js.sh => 12-build_js.sh} (94%) rename toolchain/src/{12-roll_wheel.sh => 13-roll_wheel.sh} (94%) mode change 100644 => 100755 diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 0c131c61..622dd48e 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -106,4 +106,6 @@ cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MA mkdir -p "${BUILD_DIR}/etc" -cp "${MAIN_DIR}/vendor/mathjax/"*.zip "${BUILD_DIR}/etc/mathjax" +cp "${MAIN_DIR}/vendor/mathjax/"*.zip "${BUILD_DIR}/etc/mathjax" +# TODO unzip not copy, also copy fonts and libs? depends on whether or not is minimal +-- fix this now, compare to other scripts diff --git a/toolchain/src/11-build_js.sh b/toolchain/src/12-build_js.sh similarity index 94% rename from toolchain/src/11-build_js.sh rename to toolchain/src/12-build_js.sh index 7ef0e7b3..1e9030c9 100755 --- a/toolchain/src/11-build_js.sh +++ b/toolchain/src/12-build_js.sh @@ -2,7 +2,6 @@ set -e set -u -# Detect if component build is true, and if so, exit TODO # Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! usage=( diff --git a/toolchain/src/12-roll_wheel.sh b/toolchain/src/13-roll_wheel.sh old mode 100644 new mode 100755 similarity index 94% rename from toolchain/src/12-roll_wheel.sh rename to toolchain/src/13-roll_wheel.sh index da4d400c..a806d7c0 --- a/toolchain/src/12-roll_wheel.sh +++ b/toolchain/src/13-roll_wheel.sh @@ -2,7 +2,6 @@ set -e set -u -# Detect if component build is true, and if so, exit TODO # Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! usage=( diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 42eb5dd3..6020c7d7 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -31,11 +31,9 @@ usage=( "-8 sync_cpp - will sync kaleido c++ do chromium src" "-9 build_kaleido - builds kaleido's c++" "-10 extract - attempts to extract our build from chromium src folder" - "-11 build_js - uses npm to build js and move to build folder" - "-12 roll_wheel - build python wheel - # what about javascript - # what about python - # ugh + "-11 extract_etc - moves extraneous, extra, and vendor deps into the build folder" + "-12 build_js - uses npm to build js and move to build folder" + "-13 roll_wheel - build python wheel" ) FLAGS=(":" "-0" "-1" "-2" "-3" "-4" "-5" "-6" "-7" "-8" "-9" "-10" "-11" "-12") @@ -56,10 +54,11 @@ EIGHT=$(flags_resolve false "-8") NINE=$(flags_resolve false "-9") TEN=$(flags_resolve false "-10") ELEVEN=$(flags_resolve false "-11") -ELEVEN=$(flags_resolve false "-12") +TWELVE=$(flags_resolve false "-12") +THIRTEEN=$(flags_resolve false "-13") ALL=true -if $ZERO || $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || $NINE || $TEN || $ELEVEN || $TWELVE; then +if $ZERO || $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || $NINE || $TEN || $ELEVEN || $TWELVE || $THIRTEEN; then $NO_VERBOSE || echo "Turning off ALL" ALL=false fi @@ -169,18 +168,27 @@ fi if $ELEVEN || $ALL; then $NO_VERBOSE || echo "Running 11" - if $(which build_js &> /dev/null); then - build_js $(flags_resolve "" ":") + if $(which extract_etc &> /dev/null); then + extract_etc $(flags_resolve "" ":") else - $SCRIPT_DIR/11-build_js.sh $(flags_resolve "" ":") + $SCRIPT_DIR/11-extract_etc.sh $(flags_resolve "" ":") fi fi if $TWELVE || $ALL; then $NO_VERBOSE || echo "Running 12" + if $(which build_js &> /dev/null); then + build_js $(flags_resolve "" ":") + else + $SCRIPT_DIR/12-build_js.sh $(flags_resolve "" ":") + fi +fi + +if $THIRTEEN || $ALL; then + $NO_VERBOSE || echo "Running 13" if $(which roll_wheel &> /dev/null); then roll_wheel $(flags_resolve "" ":") else - $SCRIPT_DIR/12-roll_wheel.sh $(flags_resolve "" ":") + $SCRIPT_DIR/13-roll_wheel.sh $(flags_resolve "" ":") fi fi From ed8ce7c087b42cb55d7cd847b14d488f6b6a4c45 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 18:27:40 +0000 Subject: [PATCH 267/510] Factor out extract_etc and fix up directories --- toolchain/src/10-extract.sh | 59 +++++++++++++++++++++++---------- toolchain/src/11-extract_etc.sh | 43 ++++++++++++++++++++++++ toolchain/src/12-build_js.sh | 5 +-- toolchain/src/13-roll_wheel.sh | 7 ++++ toolchain/src/include/globals | 11 ++++++ 5 files changed, 106 insertions(+), 19 deletions(-) create mode 100755 toolchain/src/11-extract_etc.sh diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 622dd48e..e70a7324 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -11,6 +11,8 @@ usage=( "to a list of what was built what we have and then pulls out what agrees to our build folder." "It also pulls out some other stuff." "" + "If you run 10 will clean everything in build put there by later scripts." + "" "Usage (DO NOT USE --long-flags=something, just --long-flag something):" "You can always try -v or --verbose" "" @@ -38,13 +40,9 @@ $NO_VERBOSE || echo "Running 10-extract.sh" TRY="$(flags_resolve false "-t" "--try")" ASSESS="$(flags_resolve false "-s" "--assess")" -BUILD_DIR="${MAIN_DIR}/build/cc/" -if [[ ! -d "$BUILD_DIR" ]]; then - mkdir -p "$BUILD_DIR" -else - rm -rf "${MAIN_DIR}/build/cc/*" # rm rf, spell it out to prevent rm -rf accidents - rm -rf "${MAIN_DIR}/build/etc/" -fi +# build dir is now in include/globals +mkdir -p "$BUILD_DIR" +globals_clean_build_dir() # mainly reexported, but making sure the python script has it export MAIN_DIR @@ -88,12 +86,17 @@ fi # echo -e "$($PYTHON -c "$IMPORT; extract.hello_world()")" - +# may not need to have platform/version branches here if we use different ${CONFIG} each time if [[ "$PLATFORM" == "LINUX" ]]; then if [[ "${CHROMIUM_VERSION_TAG}" == "126.0.6478.126" ]] || $TRY; then - # fix as to not always put full path there, so we can use it + cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" - FILES=$(echo -e "$($PYTHON -c "$IMPORT; extract.match_json_to_directory('${CONFIG}-original','$SRC_DIR', missing=False, annotate=False, relative=True)")") + chmod +x "${BUILD_DIR}/kaleido" + FILES=$(echo -e "$($PYTHON -c "$IMPORT; \ +extract.match_json_to_directory('\ +${CONFIG}-original', \ +'$SRC_DIR', \ +missing=False, annotate=False, relative=True)")") for f in $FILES; do mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" done @@ -101,11 +104,33 @@ if [[ "$PLATFORM" == "LINUX" ]]; then fi fi -# just making sure to litter these files everywhere at every step -cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MAIN_DIR}/src/kaleido/CREDITS.html" "${BUILD_DIR}" || echo "Missing some meta files, ignoring issue" - -mkdir -p "${BUILD_DIR}/etc" +# Ignoring this for now, do we really want +comment=' +if [ $KALEIDO_ARCH == "x64" ]; then + # /usr/lib/x86_64-linux-gnu/ + for SO_FILE in libnss3.so libnssutil3.so libnspr4.so libplc4.so libplds4.so libsqlite3.so.0 + do + cp /usr/lib/x86_64-linux-gnu/$SO_FILE /repos/build/kaleido/lib/$SO_FILE + done + + # /usr/lib/x86_64-linux-gnu/nss + cp /usr/lib/x86_64-linux-gnu/nss/* /repos/build/kaleido/lib/ + + # /lib/x86_64-linux-gnu/ + for SO_FILE in libexpat.so.1 # libdl.so.2 libpthread.so.0 librt.so.1 libm.so.6 libgcc_s.so.1 libc.so.6 + do + cp /lib/x86_64-linux-gnu/$SO_FILE /repos/build/kaleido/lib/$SO_FILE + done + +elif [ $KALEIDO_ARCH == "arm64" ]; then + # /usr/lib/aarch64-linux-gnu/ + for SO_FILE in libnss3.so libnssutil3.so libnspr4.so libplc4.so libplds4.so libsqlite3.so.0 + do + cp /repos/src/build/linux/debian_sid_arm64-sysroot/usr/lib/aarch64-linux-gnu/$SO_FILE /repos/build/kaleido/lib/$SO_FILE + done + + # /usr/lib/aarch64-linux-gnu/nss + cp /repos/src/build/linux/debian_sid_arm64-sysroot/usr/lib/aarch64-linux-gnu/nss/* /repos/build/kaleido/lib/ -cp "${MAIN_DIR}/vendor/mathjax/"*.zip "${BUILD_DIR}/etc/mathjax" -# TODO unzip not copy, also copy fonts and libs? depends on whether or not is minimal --- fix this now, compare to other scripts +fi +' diff --git a/toolchain/src/11-extract_etc.sh b/toolchain/src/11-extract_etc.sh new file mode 100755 index 00000000..4add50e2 --- /dev/null +++ b/toolchain/src/11-extract_etc.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e +set -u + +# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! +usage=( + "extract_etc is a collection miscellaneous copying into the build directory." + "Javascript happens in the next script, but this does about everything else." + "It should be a simple copy/paste script." + "" + "Display this help:" + "extract [-h|--h]" + "" + "" +) + +FLAGS=() +ARGFLAGS=() + +SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" +. "$SCRIPT_DIR/include/utilities.sh" + +util_get_version +util_export_version + +$NO_VERBOSE || echo "Running 11-extract.sh" + +# just making sure to litter these files everywhere at every step +cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MAIN_DIR}/src/kaleido/CREDITS.html" "${BUILD_DIR}" || echo "Missing some meta files, ignoring issue" + +mkdir -p "${BUILD_DIR}/etc" +unzip "${MAIN_DIR}/vendor/Mathjax-"*.zip -d "${BUILD_DIR}/etc/" +mv "${BUILD_DIR}/etc/Mathjax-"* "${BUILD_DIR}/etc/mathjax/" + + + +# linux copies a bunch of other stuff -- truly not sure how necessary this is +if [[ "$PLATFORM" == "LINUX" ]]; then + mkdir -p ${BUILD_DIR}/etc/ + cp -r /etc/fonts/ ${BUILD_DIR}/fonts + mkdir -p ${BUILD_DIR}/xdg + cp -r /usr/share/fonts/ ${BUILD_DIR}/xdg/ +fi diff --git a/toolchain/src/12-build_js.sh b/toolchain/src/12-build_js.sh index 1e9030c9..4af2f236 100755 --- a/toolchain/src/12-build_js.sh +++ b/toolchain/src/12-build_js.sh @@ -26,7 +26,7 @@ SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> util_get_version util_export_version -$NO_VERBOSE || echo "Running 11-build_js.sh" +$NO_VERBOSE || echo "Running 12-build_js.sh" export BUILD_DIR="${MAIN_DIR}/build/js/" if [[ ! -d "$BUILD_DIR" ]]; then @@ -44,4 +44,5 @@ npm run clean npm run build popd -cp -r "${SRC_DIR}/build/"* "${BUILD_DIR}" +mkdir "${BUILD_DIR}/js/" +cp -r "${SRC_DIR}/build/"*.js "${BUILD_DIR}/js/" diff --git a/toolchain/src/13-roll_wheel.sh b/toolchain/src/13-roll_wheel.sh index a806d7c0..6c1fdce5 100755 --- a/toolchain/src/13-roll_wheel.sh +++ b/toolchain/src/13-roll_wheel.sh @@ -27,11 +27,18 @@ util_export_version $NO_VERBOSE || echo "Running 12-roll_wheel.sh" + +# what about ARCH TODO pushd "${MAIN_DIR}/src/kaleido/py" python3 setup.py package popd + +# command, after package + rm "${MAIN_DIR}/build/kaleido_${PLATFORM}_${TARGET_ARCH}" || true zip "${MAIN_DIR}/build/kaleido_${PLATFORM}_${TARGET_ARCH}.zip" "${MAIN_DIR}/build/cc/*" rm "${MAIN_DIR}/build/kaleido.whl" || true zip "${MAIN_DIR}/build/kaleido_${PLATFORM}_${TARGET_ARCH}.whl" "${MAIN_DIR}/src/kaleido/py/dist/*" + +# linux called bundle_hash_artifacts diff --git a/toolchain/src/include/globals b/toolchain/src/include/globals index c5621802..41917c2a 100644 --- a/toolchain/src/include/globals +++ b/toolchain/src/include/globals @@ -17,3 +17,14 @@ fi export DEPOT_TOOLS_UPDATE=0 # don't automatically checkout main when sync'ing depot_tools export DEPOT_TOOLS_WIN_TOOLCHAIN=0 # we install our windows sdk's manually (automatic is for googlers only) + +export BUILD_DIR="${MAIN_DIR}/src/kaleido/py/build/" + +globals_clean_build_dir() +{ + if [[ ! -d "$BUILD_DIR" ]]; then + mkdir -p "$BUILD_DIR" + else + rm -rf "${MAIN_DIR}/src/kaleido/build/"* || echo "Nothing to remove?" + fi +} From 229e32f87b12a715d7418f21802f44831ec7774d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 18:49:42 +0000 Subject: [PATCH 268/510] Fix some typos in 10-extract --- toolchain/src/10-extract.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index e70a7324..ad3441b0 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -42,7 +42,9 @@ ASSESS="$(flags_resolve false "-s" "--assess")" # build dir is now in include/globals mkdir -p "$BUILD_DIR" -globals_clean_build_dir() +globals_clean_build_dir + +$NO_VERBOSE || echo "We are extracnig to $BUILD_DIR" # mainly reexported, but making sure the python script has it export MAIN_DIR From 4e2db30a2d40ae9906d0596b40481d9ef38ebdf4 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 18:51:10 +0000 Subject: [PATCH 269/510] Fix mathjax path --- toolchain/src/11-extract_etc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/11-extract_etc.sh b/toolchain/src/11-extract_etc.sh index 4add50e2..b5d70e66 100755 --- a/toolchain/src/11-extract_etc.sh +++ b/toolchain/src/11-extract_etc.sh @@ -29,7 +29,7 @@ $NO_VERBOSE || echo "Running 11-extract.sh" cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MAIN_DIR}/src/kaleido/CREDITS.html" "${BUILD_DIR}" || echo "Missing some meta files, ignoring issue" mkdir -p "${BUILD_DIR}/etc" -unzip "${MAIN_DIR}/vendor/Mathjax-"*.zip -d "${BUILD_DIR}/etc/" +unzip "${MAIN_DIR}/vendor/mathjax/"*.zip -d "${BUILD_DIR}/etc/" mv "${BUILD_DIR}/etc/Mathjax-"* "${BUILD_DIR}/etc/mathjax/" From d71d97f0a715d99b5dc03d8adb56f646329a9def Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 18:53:46 +0000 Subject: [PATCH 270/510] Fix font extracting dictionary --- toolchain/src/11-extract_etc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/11-extract_etc.sh b/toolchain/src/11-extract_etc.sh index b5d70e66..2bb125d7 100755 --- a/toolchain/src/11-extract_etc.sh +++ b/toolchain/src/11-extract_etc.sh @@ -37,7 +37,7 @@ mv "${BUILD_DIR}/etc/Mathjax-"* "${BUILD_DIR}/etc/mathjax/" # linux copies a bunch of other stuff -- truly not sure how necessary this is if [[ "$PLATFORM" == "LINUX" ]]; then mkdir -p ${BUILD_DIR}/etc/ - cp -r /etc/fonts/ ${BUILD_DIR}/fonts + cp -r /etc/fonts/ ${BUILD_DIR}/etc/fonts mkdir -p ${BUILD_DIR}/xdg cp -r /usr/share/fonts/ ${BUILD_DIR}/xdg/ fi From 31f7a58cf96096edc203069dadbbb91a5d11e20f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 21:01:28 +0000 Subject: [PATCH 271/510] Prepare setup.py for roll_wheel --- src/kaleido/py/setup.py | 182 +++++---------------------------- toolchain/src/13-roll_wheel.sh | 7 +- toolchain/src/xx-all.sh | 2 +- 3 files changed, 28 insertions(+), 163 deletions(-) diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index 92854554..497d7e44 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -7,42 +7,38 @@ from io import open import hashlib -here = os.path.dirname(os.path.abspath(__file__)) -parent = os.path.dirname(here) -executable_build_dir = os.path.abspath(os.path.join(here, '..', '..', 'build')) +KALEIDO_PY_DIR = os.path.dirname(os.path.abspath(__file__)) +KALEIDO_DIR = os.path.dirname(KALEIDO_PY_DIR) # was # parent +BIN_BUILD_DIR = os.path.abspath(os.path.join(KALEIDO_PY_DIR, 'build')) is_repo = all( - os.path.exists(os.path.join(parent, fn)) for fn in ["version", "README.md", "LICENSE.txt"] + os.path.exists(os.path.join(KALEIDO_DIR, fn)) for fn in ["version", "README.md", "LICENSE.txt"] ) if is_repo: print("Running setup.py from the kaleido repository tree") - with open(os.path.join(os.path.dirname(here), 'version'), 'r') as f: + with open(os.path.join(KALEIDO_DIR, 'version'), 'r') as f: version = f.read() - with open(os.path.join(here, "..", "README.md"), encoding="utf8") as f: + with open(os.path.join(KALEIDO_DIR, "README.md"), encoding="utf8") as f: long_description = f.read() else: print("Running setup.py during source installation") - # Follow this path on source package installation - with open(os.path.join(here, 'kaleido', '_version.py'), 'r') as f: - version_py = f.read() - version = eval(version_py.strip().split("=")[1]) - long_description = None + raise RuntimeError("Not supporting source installation through setup.py") -def package_files(directory): +def list_dir_flat(directory): paths = [] for (path, directories, filenames) in os.walk(directory): for filename in filenames: - paths.append(os.path.join('..', path, filename)) + paths.append(os.path.join('.', path, filename)) return paths -executable_files = package_files("kaleido/executable") +executable_files = list_dir_flat(os.path.join("build") # list of relative-to-root files to include class CleanCommand(Command): """Custom clean command to tidy up the project root.""" - CLEAN_FILES = './build ./*.pyc ./*.tgz ./*.egg-info ./kaleido/kaleido/_version.py ./kaleido/executable'.split(' ') + CLEAN_FILES = './build ./*.pyc ./*.tgz ./*.egg-info ./kaleido/kaleido/_version.py'.split(' ') user_options = [] @@ -53,49 +49,19 @@ def finalize_options(self): pass def run(self): - global here + global KALEIDO_PY_DIR for path_spec in self.CLEAN_FILES: # Make paths absolute and relative to this path - abs_paths = glob.glob(os.path.normpath(os.path.join(here, path_spec))) + abs_paths = glob.glob(os.path.normpath(os.path.join(KALEIDO_PY_DIR, path_spec))) for path in [str(p) for p in abs_paths]: - if not path.startswith(here): + if not path.startswith(KALEIDO_PY_DIR): # Die if path in CLEAN_FILES is absolute + outside this directory - raise ValueError("%s is not a path inside %s" % (path, here)) + raise ValueError("%s is not a path inside %s" % (path, KALEIDO_PY_DIR)) print('removing %s' % os.path.relpath(path)) shutil.rmtree(path) -class CopyExecutable(Command): - description = "Copy Kaleido executable directory into package" - user_options = [] - - def initialize_options(self): - pass - - def finalize_options(self): - pass - - def run(self): - output_dir = os.path.join(here, 'kaleido', 'executable') - input_dir = os.path.abspath(os.path.join(executable_build_dir, 'kaleido')) - - print("copy_executable: Deleting {output_dir}".format(output_dir=output_dir)) - shutil.rmtree(output_dir, ignore_errors=True) - - print("copy_executable: Copying {input_dir} to {output_dir}".format( - input_dir=input_dir, output_dir=output_dir) - ) - shutil.copytree( - input_dir, - output_dir - ) - - # Recompute executable files - del executable_files[:] - executable_files.extend(package_files("kaleido/executable")) - - class WriteVersion(Command): description = "Write _version.py file" user_options = [] @@ -107,8 +73,9 @@ def finalize_options(self): pass def run(self): - with open(os.path.join(here, 'kaleido', '_version.py'), 'w') as f: - f.write('__version__ = "{version}"\n'.format(version=version)) + global KALEIDO_PY_DIR + with open(os.path.join(KALEIDO_PY_DIR, 'kaleido', '_version.py'), 'w') as f: + f.write('__version__ = "{version}"\n'.format(version=version)) class CopyLicenseAndReadme(Command): @@ -122,35 +89,15 @@ def finalize_options(self): pass def run(self): + global KALEIDO_PY_DIR shutil.copy( - os.path.abspath(os.path.join(here, '..', 'LICENSE.txt')), here + os.path.abspath(os.path.join(KALEIDO_PY_DIR, '..', 'LICENSE.txt')), KALEIDO_PY_DIR ) shutil.copy( - os.path.abspath(os.path.join(here, '..', 'README.md')), here + os.path.abspath(os.path.join(KALEIDO_PY_DIR, '..', 'README.md')), KALEIDO_PY_DIR ) -class PackageSourceDistribution(Command): - description = "Build source distribution package" - user_options = [] - - def initialize_options(self): - pass - - def finalize_options(self): - pass - - def run(self): - self.run_command("clean") - self.run_command("write_version") - self.run_command("copy_license") - - # Remove executable files - del executable_files[:] - - self.run_command("sdist") - - class PackageWheel(Command): description = "Build Wheel Package" user_options = [] @@ -163,7 +110,6 @@ def finalize_options(self): def run(self): self.run_command("clean") - self.run_command("copy_executable") self.run_command("write_version") self.run_command("copy_license") cmd_obj = self.distribution.get_command_obj('bdist_wheel') @@ -193,7 +139,7 @@ def run(self): elif arch == "arm64": cmd_obj.plat_name = "manylinux2014-aarch64" elif arch == "arm": - cmd_obj.plat_name = "manylinux2014-armv7l" + raise RunTimeError("We're not gonna compile for regular arm, ever") # Set macos platform to 10.11 rather than Python environment elif cmd_obj.plat_name.startswith("macosx"): @@ -206,91 +152,15 @@ def run(self): cmd_obj.python_tag = 'py2.py3' self.run_command("bdist_wheel") - -class HashBundleArtifacts(Command): - description = "Zip and hash archives, gather to single zip" - user_options = [] - - def initialize_options(self): - pass - - def finalize_options(self): - pass - - def run(self): - import platform - artifacts_dir = os.path.join(parent, 'artifacts') - python_dist_dir = os.path.join(here, 'dist') - # Create fresh empty artifacts directory - if os.path.exists(artifacts_dir): - shutil.rmtree(artifacts_dir) - os.makedirs(artifacts_dir) - - # Copy python packages - for fn in os.listdir(python_dist_dir): - if fn.endswith(".tar.gz") or fn.endswith(".whl"): - shutil.copyfile( - os.path.join(here, "dist", fn), os.path.join(artifacts_dir, fn) - ) - - # Copy executable - system = platform.system() - if system == "Windows": - arch = os.environ["KALEIDO_ARCH"] - suffix = "win_" + arch - elif system == "Linux": - arch = os.environ["KALEIDO_ARCH"] - suffix = "linux_" + arch - elif system == "Darwin": - arch = os.environ["KALEIDO_ARCH"] - suffix = "mac_" + arch - else: - raise ValueError("Unknown system {system}".format(system=system)) - - # Full executable - input_dir = os.path.abspath(os.path.join(executable_build_dir, 'kaleido')) - output_base = os.path.join(artifacts_dir, "kaleido_{suffix}".format(suffix=suffix)) - shutil.make_archive(output_base, "zip", input_dir) - - # Minimal executable, if any - input_dir = os.path.abspath(os.path.join(executable_build_dir, 'kaleido_minimal')) - if os.path.exists(input_dir): - output_base = os.path.join(artifacts_dir, "kaleido_minimal_{suffix}".format(suffix=suffix)) - shutil.make_archive(output_base, "zip", input_dir) - - # Write hash files - for fn in list(os.listdir(artifacts_dir)): - in_filepath = os.path.join(artifacts_dir, fn) - out_filepath = os.path.join(artifacts_dir, fn + ".sha256") - with open(in_filepath, "rb") as in_f: - file_bytes = in_f.read() # read entire file as bytes - readable_hash = hashlib.sha256(file_bytes).hexdigest() - with open(out_filepath, "wt") as out_f: - out_f.write(readable_hash) - - # Write all artifacts into single zip file - output_base = os.path.join( - os.path.dirname(artifacts_dir), - "kaleido_artifacts_{suffix}".format(suffix=suffix) - ) - output_zipfile = output_base + ".zip" - if os.path.exists(output_zipfile): - os.remove(output_zipfile) - print("Writing artifacts archive to {output_zipfile} ... ".format( - output_zipfile=output_zipfile - ), end="") - shutil.make_archive(output_base, "zip", artifacts_dir) - print("done") - setup( name="kaleido", version=version, author="Jon Mease", author_email="jon@plotly.com", - maintainer="Jon Mease", - maintainer_email="jon@plotly.com", + maintainer="Andrew Pikul", + maintainer_email="ajpikul@gmail.com", project_urls={"Github": "https://github.com/plotly/Kaleido"}, - description="Static image export for web-based visualization libraries with zero dependencies", + description="Static image export for web-based visualization libraries", long_description=long_description, long_description_content_type="text/markdown", license="MIT", @@ -302,8 +172,6 @@ def run(self): 'kaleido': executable_files, }, cmdclass=dict( - package_source=PackageSourceDistribution, - copy_executable=CopyExecutable, clean=CleanCommand, write_version=WriteVersion, copy_license=CopyLicenseAndReadme, diff --git a/toolchain/src/13-roll_wheel.sh b/toolchain/src/13-roll_wheel.sh index 6c1fdce5..3faf03b2 100755 --- a/toolchain/src/13-roll_wheel.sh +++ b/toolchain/src/13-roll_wheel.sh @@ -35,10 +35,7 @@ popd # command, after package -rm "${MAIN_DIR}/build/kaleido_${PLATFORM}_${TARGET_ARCH}" || true -zip "${MAIN_DIR}/build/kaleido_${PLATFORM}_${TARGET_ARCH}.zip" "${MAIN_DIR}/build/cc/*" - -rm "${MAIN_DIR}/build/kaleido.whl" || true -zip "${MAIN_DIR}/build/kaleido_${PLATFORM}_${TARGET_ARCH}.whl" "${MAIN_DIR}/src/kaleido/py/dist/*" +rm "${MAIN_DIR}/build/kaleido.zip" || true +zip "${MAIN_DIR}/build/kaleido_${PLATFORM}_${TARGET_ARCH}.zip" "${MAIN_DIR}/src/kaleido/py/dist/*" # linux called bundle_hash_artifacts diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 6020c7d7..7da65a0d 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -36,7 +36,7 @@ usage=( "-13 roll_wheel - build python wheel" ) -FLAGS=(":" "-0" "-1" "-2" "-3" "-4" "-5" "-6" "-7" "-8" "-9" "-10" "-11" "-12") +FLAGS=(":" "-0" "-1" "-2" "-3" "-4" "-5" "-6" "-7" "-8" "-9" "-10" "-11" "-12" "-13") ARGFLAGS=("") SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" From 7976d19e9845b83d31fa140aaacabcb874eb4af2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 21:05:03 +0000 Subject: [PATCH 272/510] Prepare setup.py for roll_wheel --- src/kaleido/py/setup.py | 2 +- toolchain/src/13-roll_wheel.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index 497d7e44..160ffe9e 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -33,7 +33,7 @@ def list_dir_flat(directory): return paths -executable_files = list_dir_flat(os.path.join("build") # list of relative-to-root files to include +executable_files = list_dir_flat(os.path.join("build")) # list of relative-to-root files to include class CleanCommand(Command): diff --git a/toolchain/src/13-roll_wheel.sh b/toolchain/src/13-roll_wheel.sh index 3faf03b2..f5ba5154 100755 --- a/toolchain/src/13-roll_wheel.sh +++ b/toolchain/src/13-roll_wheel.sh @@ -27,8 +27,8 @@ util_export_version $NO_VERBOSE || echo "Running 12-roll_wheel.sh" - -# what about ARCH TODO +python3 -m pip install setuptools +export KALEIDO_ARCH="$TARGET_ARCH" pushd "${MAIN_DIR}/src/kaleido/py" python3 setup.py package popd From 42d43d50c6c17991035d7fef6955acca2f64e6cb Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 21:06:01 +0000 Subject: [PATCH 273/510] Include pip in install deps --- .circleci/config.yml | 4 ++-- toolchain/src/xx-kdocker.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4aaa9bb2..ef530b3c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,7 +19,7 @@ jobs: - checkout - run: name: Install Dependencies - command: sudo apt-get update && sudo apt-get install rsync npm nodejs + command: sudo apt-get update && sudo apt-get install rsync npm nodejs pip - set_version linux-x64: @@ -30,7 +30,7 @@ jobs: - checkout - run: name: Install Dependencies - command: sudo apt-get update && sudo apt-get install rsync + command: sudo apt-get update && sudo apt-get install rsync npm nodejs pip - set_version windows-x64: diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 2227f293..3c4da3cb 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -93,7 +93,7 @@ APT_VOLUME="$APT_CACHE:/var/lib/apt/lists/" # COMMAND is what we run to set up the user and do some basics -COMMAND="sudo apt-get update; sudo apt-get install npm nodejs rsync; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null; " +COMMAND="sudo apt-get update; sudo apt-get install pip npm nodejs rsync; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null; " # USER_COMMAND is what we run once we are logged in as the intended user, # including the actual user's desired command From 81d192f2bfc44e4bb383300d6ae59700a8ba8bab Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 21:19:03 +0000 Subject: [PATCH 274/510] Refine a bit packaging process --- src/kaleido/py/setup.py | 1 - toolchain/src/13-roll_wheel.sh | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index 160ffe9e..895360a6 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -176,6 +176,5 @@ def run(self): write_version=WriteVersion, copy_license=CopyLicenseAndReadme, package=PackageWheel, - bundle_hash_artifacts=HashBundleArtifacts, ) ) diff --git a/toolchain/src/13-roll_wheel.sh b/toolchain/src/13-roll_wheel.sh index f5ba5154..fc1f97b3 100755 --- a/toolchain/src/13-roll_wheel.sh +++ b/toolchain/src/13-roll_wheel.sh @@ -35,7 +35,6 @@ popd # command, after package -rm "${MAIN_DIR}/build/kaleido.zip" || true -zip "${MAIN_DIR}/build/kaleido_${PLATFORM}_${TARGET_ARCH}.zip" "${MAIN_DIR}/src/kaleido/py/dist/*" +cp "${MAIN_DIR}/src/kaleido/py/dist/"* "${MAIN_DIR}/build/" # linux called bundle_hash_artifacts From 847dfcaf43c76da031f5f26317da81d587ec805c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 21:39:54 +0000 Subject: [PATCH 275/510] Fix up directory typos --- .gitignore | 1 + toolchain/src/12-build_js.sh | 7 ------- toolchain/src/include/globals | 5 +++-- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 6af3fc46..8a373811 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ src/kaleido/README.md src/kaleido/CREDITS.html src/kaleido/version CREDITS.html +src/kaleido/py/executable diff --git a/toolchain/src/12-build_js.sh b/toolchain/src/12-build_js.sh index 4af2f236..706e93f6 100755 --- a/toolchain/src/12-build_js.sh +++ b/toolchain/src/12-build_js.sh @@ -28,13 +28,6 @@ util_export_version $NO_VERBOSE || echo "Running 12-build_js.sh" -export BUILD_DIR="${MAIN_DIR}/build/js/" -if [[ ! -d "$BUILD_DIR" ]]; then - mkdir -p "$BUILD_DIR" -else - rm -rf "${MAIN_DIR}/build/js/*" # rm rf, spell it out to prevent rm -rf accidents -fi - export SRC_DIR="${MAIN_DIR}/src/kaleido/js/" pushd "${SRC_DIR}" diff --git a/toolchain/src/include/globals b/toolchain/src/include/globals index 41917c2a..ac77ec84 100644 --- a/toolchain/src/include/globals +++ b/toolchain/src/include/globals @@ -18,13 +18,14 @@ fi export DEPOT_TOOLS_UPDATE=0 # don't automatically checkout main when sync'ing depot_tools export DEPOT_TOOLS_WIN_TOOLCHAIN=0 # we install our windows sdk's manually (automatic is for googlers only) -export BUILD_DIR="${MAIN_DIR}/src/kaleido/py/build/" +export BUILD_DIR="${MAIN_DIR}/src/kaleido/py/executable/" +# don't call it build it conflicts with python's machinery globals_clean_build_dir() { if [[ ! -d "$BUILD_DIR" ]]; then mkdir -p "$BUILD_DIR" else - rm -rf "${MAIN_DIR}/src/kaleido/build/"* || echo "Nothing to remove?" + rm -rf "${MAIN_DIR}/src/kaleido/py/executable/"* || echo "Nothing to remove?" fi } From 09e9dd56d6b681f11e918a83dc8480ccbff73284 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 21:48:11 +0000 Subject: [PATCH 276/510] Fix pathing for package_data --- .gitignore | 2 +- src/kaleido/py/setup.py | 6 +++--- toolchain/src/include/globals | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 8a373811..9681b63a 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,4 @@ src/kaleido/README.md src/kaleido/CREDITS.html src/kaleido/version CREDITS.html -src/kaleido/py/executable +src/kaleido/py/kaleido/executable diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index 895360a6..b802bdc7 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -29,12 +29,12 @@ def list_dir_flat(directory): paths = [] for (path, directories, filenames) in os.walk(directory): for filename in filenames: - paths.append(os.path.join('.', path, filename)) + paths.append(os.path.join(path, filename)) return paths -executable_files = list_dir_flat(os.path.join("build")) # list of relative-to-root files to include - +executable_files = list_dir_flat("kaleido/executable") # list of relative-to-root files to include +print("\n".join(executable_files)) class CleanCommand(Command): """Custom clean command to tidy up the project root.""" diff --git a/toolchain/src/include/globals b/toolchain/src/include/globals index ac77ec84..1e24da2e 100644 --- a/toolchain/src/include/globals +++ b/toolchain/src/include/globals @@ -26,6 +26,6 @@ globals_clean_build_dir() if [[ ! -d "$BUILD_DIR" ]]; then mkdir -p "$BUILD_DIR" else - rm -rf "${MAIN_DIR}/src/kaleido/py/executable/"* || echo "Nothing to remove?" + rm -rf "${MAIN_DIR}/src/kaleido/py/kaleido/executable/"* || echo "Nothing to remove?" fi } From ee3c58ac07bc2a6a73297ca3ec21c6e6916f5e43 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 21:50:14 +0000 Subject: [PATCH 277/510] Finish last commit's errors --- toolchain/src/include/globals | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/include/globals b/toolchain/src/include/globals index 1e24da2e..7f955a26 100644 --- a/toolchain/src/include/globals +++ b/toolchain/src/include/globals @@ -18,7 +18,7 @@ fi export DEPOT_TOOLS_UPDATE=0 # don't automatically checkout main when sync'ing depot_tools export DEPOT_TOOLS_WIN_TOOLCHAIN=0 # we install our windows sdk's manually (automatic is for googlers only) -export BUILD_DIR="${MAIN_DIR}/src/kaleido/py/executable/" +export BUILD_DIR="${MAIN_DIR}/src/kaleido/py/kaleido/executable/" # don't call it build it conflicts with python's machinery globals_clean_build_dir() From 2f34a7e6fb48337c8339cd10e7642ef9e06678df Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 21:59:02 +0000 Subject: [PATCH 278/510] Fix package_data pathing issues + test --- src/kaleido/py/setup.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index b802bdc7..2c30dd65 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -29,12 +29,11 @@ def list_dir_flat(directory): paths = [] for (path, directories, filenames) in os.walk(directory): for filename in filenames: - paths.append(os.path.join(path, filename)) + paths.append(os.path.relpath(os.path.join(path, filename), "kaleido")) return paths -executable_files = list_dir_flat("kaleido/executable") # list of relative-to-root files to include -print("\n".join(executable_files)) +executable_files = list_dir_flat(os.path.join("kaleido","executable")) # list of relative-to-root files to include class CleanCommand(Command): """Custom clean command to tidy up the project root.""" @@ -150,6 +149,10 @@ def run(self): cmd_obj.plat_name = "macosx-11.0-arm64" cmd_obj.python_tag = 'py2.py3' + + package_data={ + 'kaleido': executable_files, + }, self.run_command("bdist_wheel") setup( From 29d1db54589dd5bcbeb30243b4b47e2b1aa5b758 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 22:09:34 +0000 Subject: [PATCH 279/510] Flip pure build flag because we have c++ --- src/kaleido/py/setup.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index 2c30dd65..8bfffff6 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -174,6 +174,13 @@ def run(self): package_data={ 'kaleido': executable_files, }, + ext_module=[ # letting setuptools know we have platform specific binaries + setuptools.Extension( + name='kaleido-chromium', + sources=[] # we build it ourselves + ) + ] + ) cmdclass=dict( clean=CleanCommand, write_version=WriteVersion, From 67257bbe419a36e1842a2a9c3844ee153b20b91b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 22 Jul 2024 22:10:37 +0000 Subject: [PATCH 280/510] Fix bad parens --- src/kaleido/py/setup.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index 8bfffff6..e104a885 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -174,13 +174,12 @@ def run(self): package_data={ 'kaleido': executable_files, }, - ext_module=[ # letting setuptools know we have platform specific binaries + ext_modules=[ # letting setuptools know we have platform specific binaries setuptools.Extension( name='kaleido-chromium', sources=[] # we build it ourselves ) ] - ) cmdclass=dict( clean=CleanCommand, write_version=WriteVersion, From b63770157157787b6423df898170b73dbb6da8dc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 02:52:40 +0000 Subject: [PATCH 281/510] Remove us handling stderr --- src/kaleido/py/kaleido/scopes/base.py | 58 +++------------------------ 1 file changed, 5 insertions(+), 53 deletions(-) diff --git a/src/kaleido/py/kaleido/scopes/base.py b/src/kaleido/py/kaleido/scopes/base.py index dc7d9fe5..d64c0828 100755 --- a/src/kaleido/py/kaleido/scopes/base.py +++ b/src/kaleido/py/kaleido/scopes/base.py @@ -49,6 +49,7 @@ def __init__( self, disable_gpu=True, chromium_args=True, + stderr=subprocess.DEVNULL, ): if chromium_args is True: chromium_args = self.default_chromium_args() @@ -61,15 +62,13 @@ def __init__( chromium_args = [arg for arg in chromium_args if arg != "--disable-gpu"] self._chromium_args = tuple(chromium_args) - + # Communication stuff, everything above was picking args # Internal Properties - self._std_error = io.BytesIO() - self._std_error_thread = None self._proc = None self._proc_lock = Lock() def __del__(self): - self._shutdown_kaleido() + self._shutdown_kaleido() # i honestly dont know when this called or what this does @classmethod def executable_path(cls): @@ -138,27 +137,12 @@ def _build_proc_args(self): return proc_args - def _collect_standard_error(self): - """ - Write standard-error of subprocess to the _std_error StringIO buffer. - Intended to be called once in a background thread - """ - while True: - # Usually there should aways be a process - if self._proc is not None: - val = self._proc.stderr.readline() - self._std_error.write(val) - else: - # Due to concurrency the process may be killed while this loop is still running - # in this case break the loop - return - def _ensure_kaleido(self): """ Launch the kaleido subprocess if it is not already running and in a good state """ # Use double-check locking to make sure we only initialize the process - # from a single thread + # from a single thread # we are only initializing it from one thread. if self._proc is None or self._proc.poll() is not None: with self._proc_lock: if self._proc is None or self._proc.poll() is not None: @@ -166,9 +150,6 @@ def _ensure_kaleido(self): if self._proc is not None: self._proc.wait() - # Reset _std_error buffer - self._std_error = io.BytesIO() - # Launch kaleido subprocess # Note: shell=True seems to be needed on Windows to handle executable path with # spaces. The subprocess.Popen docs makes it sound like this shouldn't be @@ -178,16 +159,10 @@ def _ensure_kaleido(self): proc_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, - stderr=subprocess.PIPE, + stderr=stderr, shell=sys.platform == "win32" ) - # Set up thread to asynchronously collect standard error stream - if self._std_error_thread is None or not self._std_error_thread.is_alive(): - self._std_error_thread = Thread(target=self._collect_standard_error) - self._std_error_thread.daemon = True - self._std_error_thread.start() - # Read startup message and check for errors startup_response_string = self._proc.stdout.readline().decode('utf-8') if not startup_response_string: @@ -202,29 +177,6 @@ def _ensure_kaleido(self): self._proc.wait() raise ValueError(startup_response.get("message", "Failed to start Kaleido subprocess")) - def _get_decoded_std_error(self): - """ - Attempt to decode standard error bytes stream to a string - """ - std_err_str = None - try: - encoding = sys.stderr.encoding - std_err_str = self._std_error.getvalue().decode(encoding) - except Exception: - pass - - if std_err_str is None: - try: - encoding = locale.getpreferredencoding(False) - std_err_str = self._std_error.getvalue().decode(encoding) - except Exception: - pass - - if std_err_str is None: - std_err_str = "Failed to decode Chromium's standard error stream" - - return std_err_str - def _shutdown_kaleido(self): """ Shut down the kaleido subprocess, if any, and self the _proc property to None From d99e9ac035014511ece43ad9d98bd2c1f4ca53c5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 05:13:23 +0000 Subject: [PATCH 282/510] Revert "Remove us handling stderr" This reverts commit b63770157157787b6423df898170b73dbb6da8dc. --- src/kaleido/py/kaleido/scopes/base.py | 58 ++++++++++++++++++++++++--- 1 file changed, 53 insertions(+), 5 deletions(-) diff --git a/src/kaleido/py/kaleido/scopes/base.py b/src/kaleido/py/kaleido/scopes/base.py index d64c0828..dc7d9fe5 100755 --- a/src/kaleido/py/kaleido/scopes/base.py +++ b/src/kaleido/py/kaleido/scopes/base.py @@ -49,7 +49,6 @@ def __init__( self, disable_gpu=True, chromium_args=True, - stderr=subprocess.DEVNULL, ): if chromium_args is True: chromium_args = self.default_chromium_args() @@ -62,13 +61,15 @@ def __init__( chromium_args = [arg for arg in chromium_args if arg != "--disable-gpu"] self._chromium_args = tuple(chromium_args) - # Communication stuff, everything above was picking args + # Internal Properties + self._std_error = io.BytesIO() + self._std_error_thread = None self._proc = None self._proc_lock = Lock() def __del__(self): - self._shutdown_kaleido() # i honestly dont know when this called or what this does + self._shutdown_kaleido() @classmethod def executable_path(cls): @@ -137,12 +138,27 @@ def _build_proc_args(self): return proc_args + def _collect_standard_error(self): + """ + Write standard-error of subprocess to the _std_error StringIO buffer. + Intended to be called once in a background thread + """ + while True: + # Usually there should aways be a process + if self._proc is not None: + val = self._proc.stderr.readline() + self._std_error.write(val) + else: + # Due to concurrency the process may be killed while this loop is still running + # in this case break the loop + return + def _ensure_kaleido(self): """ Launch the kaleido subprocess if it is not already running and in a good state """ # Use double-check locking to make sure we only initialize the process - # from a single thread # we are only initializing it from one thread. + # from a single thread if self._proc is None or self._proc.poll() is not None: with self._proc_lock: if self._proc is None or self._proc.poll() is not None: @@ -150,6 +166,9 @@ def _ensure_kaleido(self): if self._proc is not None: self._proc.wait() + # Reset _std_error buffer + self._std_error = io.BytesIO() + # Launch kaleido subprocess # Note: shell=True seems to be needed on Windows to handle executable path with # spaces. The subprocess.Popen docs makes it sound like this shouldn't be @@ -159,10 +178,16 @@ def _ensure_kaleido(self): proc_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, - stderr=stderr, + stderr=subprocess.PIPE, shell=sys.platform == "win32" ) + # Set up thread to asynchronously collect standard error stream + if self._std_error_thread is None or not self._std_error_thread.is_alive(): + self._std_error_thread = Thread(target=self._collect_standard_error) + self._std_error_thread.daemon = True + self._std_error_thread.start() + # Read startup message and check for errors startup_response_string = self._proc.stdout.readline().decode('utf-8') if not startup_response_string: @@ -177,6 +202,29 @@ def _ensure_kaleido(self): self._proc.wait() raise ValueError(startup_response.get("message", "Failed to start Kaleido subprocess")) + def _get_decoded_std_error(self): + """ + Attempt to decode standard error bytes stream to a string + """ + std_err_str = None + try: + encoding = sys.stderr.encoding + std_err_str = self._std_error.getvalue().decode(encoding) + except Exception: + pass + + if std_err_str is None: + try: + encoding = locale.getpreferredencoding(False) + std_err_str = self._std_error.getvalue().decode(encoding) + except Exception: + pass + + if std_err_str is None: + std_err_str = "Failed to decode Chromium's standard error stream" + + return std_err_str + def _shutdown_kaleido(self): """ Shut down the kaleido subprocess, if any, and self the _proc property to None From 27d7df8975ae4d9830f7907ae25a918424c2bd5d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 05:30:57 +0000 Subject: [PATCH 283/510] Skip docker image pull error --- toolchain/src/xx-kdocker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 3c4da3cb..150c5a42 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -162,7 +162,7 @@ $NO_VERBOSE || echo -e "User Command Set:\n$USER_COMMAND" $NO_VERBOSE || echo -e "Command Set:\n$COMMAND" $NO_VERBOSE || echo "Pulling $IMAGE" -docker pull "$IMAGE" +docker pull "$IMAGE" || echo "Error, but maybe it's a local image" $NO_VERBOSE || set -x # to print out the line w/o rewriting it docker container run -e "TERM=$TERM" --rm -it$DETACH -v "$APT_VOLUME" -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" From 68ad981dbd54de1a0db5ef66f54ad9d48b1ad9eb Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 06:29:15 +0000 Subject: [PATCH 284/510] Move into incognito mode --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 885c6326..81c702e7 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -59,6 +59,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // context is given. // This stuff has weird side effects and I'm not sure its necessary. headless::HeadlessBrowserContext::Builder context_builder = browser_->CreateBrowserContextBuilder(); + context_builder.SetIncognitoMode(true); headless::HeadlessBrowserContext* browser_context = context_builder.Build(); browser_->SetDefaultBrowserContext(browser_context); From 7714007f3742570a96bc42bde2601cd56e97da6d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 06:29:47 +0000 Subject: [PATCH 285/510] Move IsExEInPath to new version --- src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index f85df299..ddde2bee 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -133,3 +133,38 @@ void processCommandLine(content::ContentMainParams params, int argc, const char* } } // namespace + + +#if defined(OS_WIN) +namespace base { + // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here + bool ExecutableExistsInPath(Environment* env, + const std::string& executable) { + std::string path; + if (!env->GetVar("PATH", &path)) { + LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; + return false; + } + + for (const StringPiece& cur_path: + SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { + + // Build wide strings using wstringstreams + std::wstringstream wpath_ss; + wpath_ss << std::string(cur_path).c_str(); + + std::wstringstream wexecutable_ss; + wexecutable_ss << executable.c_str() << ".exe"; + + std::wstring wpath_ss_as_string = wpath_ss.str(); + FilePath::StringPieceType w_cur_path(wpath_ss_as_string); + FilePath file(w_cur_path); + + if (PathExists(file.Append(wexecutable_ss.str()))) { + return true; + } + } + return false; + } +} +#endif From 1c55843fe15ef7d3b6e9743d12427ad2d902d5b9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 18:21:22 +0000 Subject: [PATCH 286/510] Merge in scopes --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 132 +++++++++++++++++- src/kaleido/cc/126.0.6478.126/kaleido.h | 4 + src/kaleido/cc/126.0.6478.126/scopes/Base.h | 80 +++++++++++ .../cc/126.0.6478.126/scopes/Factory.h | 22 +++ src/kaleido/cc/126.0.6478.126/scopes/Plotly.h | 131 +++++++++++++++++ 5 files changed, 365 insertions(+), 4 deletions(-) create mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Base.h create mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Factory.h create mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Plotly.h diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 81c702e7..da5497c4 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -27,10 +27,39 @@ #include #include "base/json/json_reader.h" +// For copy 1 +#include "base/command_line.h" +/// COPY 2 +#include "base/strings/stringprintf.h" +#include +#include + +// This is from the original kaleido namespace kaleido { + namespace utils { + // Load version string + + void writeJsonMessage(int code, std::string message) { + static std::string *version = nullptr; + if (!version) { + std::ifstream verStream("version"); + version = new std::string(( + std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); + } + std::string error = base::StringPrintf( + "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}\n", + code, message.c_str(), version->c_str()); + std::cout << error; + } + } +} -Kaleido::Kaleido() = default; // Redefine here or else chromium complains. + +/// END COPY 2 +namespace kaleido { + +Kaleido::Kaleido() = default; // Define here or else chromium complains. // Control Flow, declare here void Kaleido::ShutdownSoon() { @@ -63,12 +92,107 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { headless::HeadlessBrowserContext* browser_context = context_builder.Build(); browser_->SetDefaultBrowserContext(browser_context); + // A note about this strategy: + // I don't see the point of accepting information on the commandline and on stdin, but I think + // it came from not really knowing how to build a messaging interface on stdin. IPC on one channel, + // unless you have a good reason. There is no good reason here, its just a switch. + // Either way, the whole concepts of scopes is wildly overengineered and should be entirely eliminated. + // It is essentially a plugin system created for the sake of having a "kaleido" which accepts "scopes" as + // a project description. + // A very nice sounding structure, but expensive work for the sake of some catch phrases when a much simpler + // solution would get the job done. + // The scopes should be eliminated, and we should not accept pull requests for third parties integrating their work + // if it generates work for us (bug fixes are fine but don't invite plugins to review) + // Kaleido should open browser tabs to an arbitrary file and send javascript fragments to + // the browser tab which generate and download the image. This structure would be more flexible, allow people use to kaleido + // as an import for their own project, and eliminate 3 entire files and another 200 lines of code. + // I would love to do that, but I feel this project is so tied to its advertising with its fancy name, that I left in all this + // extremely overengineerd, counterproductive boilerplate. + // BEGIN COPY 1 + // Get the URL from the command line. + base::CommandLine::StringVector args = + base::CommandLine::ForCurrentProcess()->GetArgs(); + if (args.empty()) { + kaleido::utils::writeJsonMessage(1, "No Scope Specified"); + browser->Shutdown(); + exit(EXIT_FAILURE); + } + // Get first command line argument as a std::string using a string stream. + // This handles the case where args[0] is a wchar_t on Windows + std::stringstream scope_stringstream; + scope_stringstream << args[0]; + std::string scope_name = scope_stringstream.str(); + + // Instantiate renderer scope + kaleido::scopes::BaseScope *scope = LoadScope(scope_name); + + if (!scope) { + // Invalid scope name + kaleido::utils::writeJsonMessage(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); + browser->Shutdown(); + exit(EXIT_FAILURE); + } else if (!scope->errorMessage.empty()) { + kaleido::utils::writeJsonMessage(1, scope->errorMessage); + browser->Shutdown(); + exit(EXIT_FAILURE); + } + + // Add javascript bundle + scope->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); + + // Build initial HTML file + std::list scriptTags = scope->ScriptTags(); + std::stringstream htmlStringStream; + htmlStringStream << ""; + + // Add script tags + while (!scriptTags.empty()) { + std::string tagValue = scriptTags.front(); + GURL tagUrl(tagValue); + if (tagUrl.is_valid()) { + // Value is a url, use a src of script tag + htmlStringStream << ""; + } else { + // Value is not a url, use a inline JavaScript code + htmlStringStream << "\n"; + } + scriptTags.pop_front(); + } + // Close head and add body with img tag place holder for PDF export + htmlStringStream << ""; + + // Write html to temp file + std::string tmpFileName = std::tmpnam(nullptr) + std::string(".html"); + std::ofstream htmlFile; + htmlFile.open(tmpFileName, std::ios::out); + htmlFile << htmlStringStream.str(); + htmlFile.close(); + + // Create file:// url to temp file + GURL url = GURL(std::string("file://") + tmpFileName); + + // Initialization succeeded + kaleido::utils::writeJsonMessage(0, "Success"); + + // END COPY 1 + // TODO, we need to store stuff here, but we'll come back as we use them + auto scope_ptr = scope; // Run browser_->BrowserMainThread()->PostTask( FROM_HERE, - base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), -1, "")); - + base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), -1, url)); + // PART OF copy 1 + for (std::string const &s: scope_ptr->LocalScriptFiles()) { + localScriptFiles.push_back(s); + } + base::GetCurrentDirectory(&cwd); + // END THAT + // We need to get here from the compiler, we probably need to see if we can package and use it. + + // We don't need to use exactly their process for loading files. + // We can create an export job that reloads a page, wait for an event, does whatever this thing was already gonna do, and then goes forward. StartListen(); + } // Wish this were a lambda (as in PostEcho) but would have no access to private vars @@ -79,7 +203,7 @@ void Kaleido::listenTask() { << (std::cin.eof() ? "EOF | " : "") << (std::cin.eof() ? "BAD | " : "GOOD | ") << (std::cin.eof() ? "FAIL" : "SUCCESS"); - // TODO: post end to controller, we're shutting down, just let it go.... + ShutdownSoon(); return; }; if (ReadJSON(in)) postListenTask(); diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 336f42c3..4c0f020c 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -14,6 +14,8 @@ #include "base/task/thread_pool.h" +#include "headless/app/scopes/Factory.h" + namespace kaleido { class Dispatch; // Kaleido is our app, basically. @@ -69,5 +71,7 @@ namespace kaleido { void ShutdownTask(); }; } + + #endif // KALEIDO_H_ diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Base.h b/src/kaleido/cc/126.0.6478.126/scopes/Base.h new file mode 100644 index 00000000..d06e8f1f --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/scopes/Base.h @@ -0,0 +1,80 @@ +// Build call arguments is fucked +// +// Created by jmmease on 6/17/20. +// + +#include "base/strings/string_util.h" + +#include +#include +#include + +#ifndef CHROMIUM_BASESCOPE_H +#define CHROMIUM_BASESCOPE_H + +namespace kaleido { + namespace scopes { + class BaseScope { + public: + BaseScope(); + BaseScope(const BaseScope &v); + virtual ~BaseScope(); + + virtual std::string ScopeName() = 0; + void BuildCallArguments(); + std::list ScriptTags(); + std::list LocalScriptFiles(); + std::string GetCommandLineSwitch(std::string name); + bool HasCommandLineSwitch(std::string name); + + std::string errorMessage; + + public: + std::list scriptTags; + std::list localScriptFiles; + const BaseScope *plugin; + }; + + BaseScope::BaseScope(): errorMessage(), scriptTags(), localScriptFiles() {} + BaseScope::BaseScope(const BaseScope &v): + scriptTags(v.scriptTags), + localScriptFiles(v.localScriptFiles) + {} + + BaseScope::~BaseScope() { + delete plugin; + } + + BaseScope::BuildCallArguments() { + return; + } + + std::list BaseScope::ScriptTags() { + // Return vector as value so that it is copied and caller is free to mutate it + return scriptTags; + } + + std::list BaseScope::LocalScriptFiles() { + // Return vector as value so that it is copied and caller is free to mutate it + return localScriptFiles; + } + + bool BaseScope::HasCommandLineSwitch(std::string name) { + base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); + return commandLine->HasSwitch(name); + } + + std::string BaseScope::GetCommandLineSwitch(std::string name) { + base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); + std::string value = commandLine->GetSwitchValueASCII(name); + + // Trim single and double quotes + base::TrimString(value, "\"", &value); + base::TrimString(value, "\'", &value); + + return value; + } + } +} + +#endif //CHROMIUM_BASESCOPE_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h new file mode 100644 index 00000000..3941cfcc --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h @@ -0,0 +1,22 @@ +// +// Created by jmmease on 6/17/20. +// + +#include "base/strings/string_util.h" + +#include "Plotly.h" +#include "Base.h" + +#ifndef CHROMIUM_FACTORY_H +#define CHROMIUM_FACTORY_H + +kaleido::scopes::BaseScope* LoadScope(std::string name) { + std::string name_lower = base::ToLowerASCII(name); + if (name_lower == "plotly") { + return new kaleido::scopes::PlotlyScope(); + } else { + return nullptr; + } +} + +#endif //CHROMIUM_FACTORY_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h new file mode 100644 index 00000000..3d31f06b --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h @@ -0,0 +1,131 @@ +// build call arguments is fucked + +// +// Created by jmmease on 6/17/20. +// +#include "Base.h" +#include "base/bind.h" +#include "base/command_line.h" +#include "base/strings/string_util.h" +#include "base/strings/stringprintf.h" +#include +#include +#include +#include +#include + +#ifndef CHROMIUM_PLOTLYSCOPE_H +#define CHROMIUM_PLOTLYSCOPE_H + +namespace kaleido { + namespace scopes { + + class PlotlyScope : public BaseScope { + public: + PlotlyScope(); + + ~PlotlyScope() override; + + PlotlyScope(const PlotlyScope &v); + + std::string ScopeName() override; + + void BuildCallArguments() override; + + public: + std::string topojsonUrl; + std::string mapboxToken; + }; + + PlotlyScope::PlotlyScope() : topojsonUrl(), mapboxToken() { + // Add MathJax config + scriptTags.emplace_back("window.PlotlyConfig = {MathJaxConfig: 'local'}"); + + // Process plotlyjs + if (HasCommandLineSwitch("plotlyjs")) { + std::string plotlyjsArg = GetCommandLineSwitch("plotlyjs"); + + // Check if value is a URL + GURL plotlyjsUrl(plotlyjsArg); + if (plotlyjsUrl.is_valid()) { + scriptTags.push_back(plotlyjsArg); + } else { + // Check if this is a local file path + if (std::ifstream(plotlyjsArg)) { + localScriptFiles.emplace_back(plotlyjsArg); + } else { + errorMessage = base::StringPrintf("--plotlyjs argument is not a valid URL or file path: %s", + plotlyjsArg.c_str()); + return; + } + } + } else { + scriptTags.emplace_back("https://cdn.plot.ly/plotly-latest.min.js"); + } + + // MathJax + if (HasCommandLineSwitch("mathjax")) { + std::string mathjaxArg = GetCommandLineSwitch("mathjax"); + + GURL mathjaxUrl(mathjaxArg); + if (mathjaxUrl.is_valid()) { + std::stringstream mathjaxStringStream; + mathjaxStringStream << mathjaxArg << "?config=TeX-AMS-MML_SVG"; + scriptTags.push_back(mathjaxStringStream.str()); + } else { + errorMessage = base::StringPrintf("--mathjax argument is not a valid URL: %s", mathjaxArg.c_str()); + return; + } + } + + // Topojson + if (HasCommandLineSwitch("topojson")) { + std::string topojsonArg = GetCommandLineSwitch("topojson"); + if (GURL(topojsonArg).is_valid()) { + topojsonUrl = topojsonArg; + } else { + errorMessage = base::StringPrintf("--topojson argument is not a valid URL: %s", + topojsonArg.c_str()); + return; + } + } + + // Process mapbox-token + if (HasCommandLineSwitch("mapbox-access-token")) { + mapboxToken = GetCommandLineSwitch("mapbox-access-token"); + } + } + + PlotlyScope::~PlotlyScope() {} + + PlotlyScope::PlotlyScope(const PlotlyScope &v) : topojsonUrl(v.topojsonUrl), mapboxToken(v.mapboxToken) {} + + std::string PlotlyScope::ScopeName() { + return "plotly"; + } + + void PlotlyScope::BuildCallArguments() { + /* + std::vector> args; + + // Add mapbox token from command line + args.push_back( + headless::runtime::CallArgument::Builder() + .SetValue(std::make_unique(base::StringPiece(mapboxToken))) + .Build() + ); + + // Add topojson url from command-line + args.push_back( + headless::runtime::CallArgument::Builder() + .SetValue(std::make_unique(base::StringPiece(topojsonUrl))) + .Build() + ); + // TODO essentially were setting strings to functions + return args;*/ + return; + } + } +} + +#endif //CHROMIUM_PLOTLYSCOPE_H From 0e3782950e4a1fc7d035c731a5b5a8f8ecd8c46f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 19:22:54 +0000 Subject: [PATCH 287/510] Add scopes to main build config --- toolchain/gn_fragments/126.0.6478.126/BUILD.gn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn index ce13d835..ad6c8d67 100644 --- a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn +++ b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn @@ -24,6 +24,9 @@ executable("kaleido") { "app/kaleido.cc", "app/kaleido_main.cc", "app/kaleido.h", + "app/scopes/Factory.h", + "app/scopes/Plotly.h", + "app/scopes/Base.h" ] deps = [ ":dispatch", From 9d92d715ff31f5a00adb441f885972a9e8be9ca5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 19:37:51 +0000 Subject: [PATCH 288/510] Add primeTab function to dispatch --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 8 +++++++- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 807954d6..59eb291e 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -75,5 +75,11 @@ namespace kaleido { parent_->ReportSuccess(id); } - + void Dispatch::primeTab(std::unique_ptr tab) { + base::Value::Dict params; + params.Set("msg", "load event fired"); + tab.AddEventHandler("Page.loadEventFired", base::BindRepeating(&Kaleido::ReportOperation, parent,-1, true, params)); + tab.SendCommand("Page.enable"); + tab.SendCommand("Page.reload"); + } } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 66f65a9a..525f30e0 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -51,6 +51,7 @@ namespace kaleido { void createTab2_attachTarget(int id, base::Value::Dict); void createTab3_startSession(int id, base::Value::Dict); void createTab4_storeSession(int id, std::unique_ptr); // This is a task + void primeTab(std::unique_ptr); }; } From 25f1d784720976af18c3dc9ca246f314c1aa4325 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 19:41:19 +0000 Subject: [PATCH 289/510] Fix up some memory shenanigans --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 59eb291e..0914b617 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -71,15 +71,16 @@ namespace kaleido { void Dispatch::createTab4_storeSession(int id, std::unique_ptr newTab) { // We could run one command here to see if it is valid, it should be valid! // At some point we need to concern ourselves with failure paths. - tabs.push(std::move(newTab)); parent_->ReportSuccess(id); + primeTab(newTab); + tabs.push(std::move(newTab)); } - void Dispatch::primeTab(std::unique_ptr tab) { + void Dispatch::primeTab(const std::unique_ptr &tab) { base::Value::Dict params; params.Set("msg", "load event fired"); - tab.AddEventHandler("Page.loadEventFired", base::BindRepeating(&Kaleido::ReportOperation, parent,-1, true, params)); - tab.SendCommand("Page.enable"); - tab.SendCommand("Page.reload"); + tab->AddEventHandler("Page.loadEventFired", base::BindRepeating(&Kaleido::ReportOperation, parent_, -1, true, params)); + tab->SendCommand("Page.enable"); + tab->SendCommand("Page.reload"); } } From 9a6d384476383a1c827c7d3c11fb47be2e0d8803 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 20:04:17 +0000 Subject: [PATCH 290/510] Fix a variety of compile errors --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 7 ++--- .../cc/126.0.6478.126/dispatch/dispatch.h | 2 +- src/kaleido/cc/126.0.6478.126/kaleido.cc | 27 ++++++++++++------- src/kaleido/cc/126.0.6478.126/kaleido.h | 5 +++- src/kaleido/cc/126.0.6478.126/scopes/Base.h | 7 ++--- src/kaleido/cc/126.0.6478.126/scopes/Plotly.h | 2 +- 6 files changed, 31 insertions(+), 19 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 0914b617..917f0c17 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -76,11 +76,12 @@ namespace kaleido { tabs.push(std::move(newTab)); } - void Dispatch::primeTab(const std::unique_ptr &tab) { - base::Value::Dict params; + inline void Dispatch::primeTab(const std::unique_ptr &tab) { + /*base::Value::Dict params; params.Set("msg", "load event fired"); tab->AddEventHandler("Page.loadEventFired", base::BindRepeating(&Kaleido::ReportOperation, parent_, -1, true, params)); tab->SendCommand("Page.enable"); - tab->SendCommand("Page.reload"); + tab->SendCommand("Page.reload");*/ + return; } } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 525f30e0..c7ce7f86 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -51,7 +51,7 @@ namespace kaleido { void createTab2_attachTarget(int id, base::Value::Dict); void createTab3_startSession(int id, base::Value::Dict); void createTab4_storeSession(int id, std::unique_ptr); // This is a task - void primeTab(std::unique_ptr); + inline void primeTab(const std::unique_ptr&); }; } diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index da5497c4..202eaf60 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -27,10 +27,12 @@ #include #include "base/json/json_reader.h" +#include "headless/app/scopes/Factory.h" // For copy 1 #include "base/command_line.h" /// COPY 2 +#include "base/files/file_util.h" #include "base/strings/stringprintf.h" #include #include @@ -124,24 +126,24 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { std::string scope_name = scope_stringstream.str(); // Instantiate renderer scope - kaleido::scopes::BaseScope *scope = LoadScope(scope_name); + kaleido::scopes::BaseScope *scope_ptr = LoadScope(scope_name); - if (!scope) { + if (!scope_ptr) { // Invalid scope name kaleido::utils::writeJsonMessage(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); browser->Shutdown(); exit(EXIT_FAILURE); - } else if (!scope->errorMessage.empty()) { - kaleido::utils::writeJsonMessage(1, scope->errorMessage); + } else if (!scope_ptr->errorMessage.empty()) { + kaleido::utils::writeJsonMessage(1, scope_ptr->errorMessage); browser->Shutdown(); exit(EXIT_FAILURE); } // Add javascript bundle - scope->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); + scope_ptr->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); // Build initial HTML file - std::list scriptTags = scope->ScriptTags(); + std::list scriptTags = scope_ptr->ScriptTags(); std::stringstream htmlStringStream; htmlStringStream << ""; @@ -176,19 +178,24 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // END COPY 1 // TODO, we need to store stuff here, but we'll come back as we use them - auto scope_ptr = scope; + // Run browser_->BrowserMainThread()->PostTask( FROM_HERE, - base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), -1, url)); + base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), -1, "")); // PART OF copy 1 for (std::string const &s: scope_ptr->LocalScriptFiles()) { - localScriptFiles.push_back(s); + localScriptFiles.push_back(s); } base::GetCurrentDirectory(&cwd); // END THAT // We need to get here from the compiler, we probably need to see if we can package and use it. - + // Lets see how far we get if we load it manually with plotly scope (that's an argument) + // Then lets see how we actually call it from python and what python gives us back, if it accepts our cusotm messages + // If not, silence them, or modify python to allow it (would probably be helpful) + // Check out what happens if we reponse differently (1, "Failure") + // check out if we can get done reloading events + // We don't need to use exactly their process for loading files. // We can create an export job that reloads a page, wait for an event, does whatever this thing was already gonna do, and then goes forward. StartListen(); diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 4c0f020c..4d638de7 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -14,7 +14,6 @@ #include "base/task/thread_pool.h" -#include "headless/app/scopes/Factory.h" namespace kaleido { class Dispatch; @@ -69,6 +68,10 @@ namespace kaleido { void ShutdownSoon(); void ShutdownTask(); + + // FROM PREVIOUS STRUCTURE + base::FilePath cwd; + std::vector localScriptFiles; }; } diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Base.h b/src/kaleido/cc/126.0.6478.126/scopes/Base.h index d06e8f1f..d59c1b19 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Base.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Base.h @@ -4,6 +4,7 @@ // #include "base/strings/string_util.h" +#include "base/command_line.h" #include #include @@ -21,7 +22,7 @@ namespace kaleido { virtual ~BaseScope(); virtual std::string ScopeName() = 0; - void BuildCallArguments(); + virtual void BuildCallArguments(); std::list ScriptTags(); std::list LocalScriptFiles(); std::string GetCommandLineSwitch(std::string name); @@ -32,7 +33,7 @@ namespace kaleido { public: std::list scriptTags; std::list localScriptFiles; - const BaseScope *plugin; + const base::raw_ptr plugin; }; BaseScope::BaseScope(): errorMessage(), scriptTags(), localScriptFiles() {} @@ -45,7 +46,7 @@ namespace kaleido { delete plugin; } - BaseScope::BuildCallArguments() { + void BaseScope::BuildCallArguments() { return; } diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h index 3d31f06b..ef884ddb 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h @@ -4,7 +4,7 @@ // Created by jmmease on 6/17/20. // #include "Base.h" -#include "base/bind.h" +#include "base/functional/bind.h" #include "base/command_line.h" #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" From ce3ef7fafb29e295fa74c9b2e20fe7171031c9e2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 22:07:37 +0000 Subject: [PATCH 291/510] Incredible, incredible butchery: 1) Chromium has runtime checks that intentionally crash chromium in fear of security vulnerabilities. 2) Chromium does not remove old and degrading APIs from their documentation, they do not work. 3) Chromium will flesh out API structures and header files and half-implement the concept, that is: Stuff they are not using is buggy, it is NOT enough for it to be part of the spec. 4) Using DevTools Protocol from w/in Chromium uses their SimpleDevToolsProtocolClient class, which is _not_ complete. 5) Because there is no message broker between the Host and Client, SimpleDevToolsProtocolClient sends json instructions as arguments directly to the host consumer- the browser or the tab. 6) Because of above checks in #1, calls to class methods must often originate from the exact same thread that the class was instantiated on, or there will be a mandatory fatal crash. 7) SimpleDevToolsProtocol client does not handle this. 8) And in general, generating and using tabs with SimpleDevToolsProtocol.CreateSession will cause crashes due to checks due to the above when any command is sent. 9) Chromium's own workarounds include using APIs that we're just not supposed to use. --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 74 +++++++++++++++---- .../cc/126.0.6478.126/dispatch/dispatch.h | 32 +++----- src/kaleido/cc/126.0.6478.126/kaleido.cc | 24 ++++-- src/kaleido/cc/126.0.6478.126/kaleido.h | 6 +- 4 files changed, 90 insertions(+), 46 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 917f0c17..1f288b65 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -3,6 +3,9 @@ #include "base/functional/bind.h" #include "headless/app/dispatch/dispatch.h" +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/lib/browser/headless_web_contents_impl.h" + // Callbacks and threads #include "base/functional/bind.h" #include "base/task/thread_pool.h" @@ -17,8 +20,29 @@ namespace kaleido { base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); } + void Dispatch::CreateTab(int id, const GURL &url) { + headless::HeadlessWebContents::Builder builder( + parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); + web_contents = builder.SetInitialURL(url).Build(); + tab.AttachToWebContents(headless::HeadlessWebContentsImpl::From(web_contents)->web_contents()); + LOG(INFO) << "Attached to web contents"; + tab.AddEventHandler("Page.loadEventFired", base::BindRepeating(&Dispatch::dumpEvent, base::Unretained(this))); + tab.SendCommand("Page.enable", base::BindOnce(&Dispatch::dumpResponse, base::Unretained(this))); + LOG(INFO) << "Enabled page"; + } + void Dispatch::dumpEvent(const base::Value::Dict& msg) { + //parent_->ReportOperation(-999, true, msg); + LOG(INFO) << msg.DebugString(); + // This is where we can look for jobs + return; + } + void Dispatch::dumpResponse(base::Value::Dict msg) { + LOG(INFO) << msg.DebugString(); + } +/* void Dispatch::createTab1_createTarget(int id, const std::string &url) { + LOG(INFO) << "Sending createTarget message to :" << browser_devtools_client_.GetTargetId(); base::Value::Dict params; params.Set("url", url); auto cb = base::BindOnce(&Dispatch::createTab2_attachTarget, base::Unretained(this), id); @@ -30,6 +54,9 @@ namespace kaleido { } void Dispatch::createTab2_attachTarget(int id, base::Value::Dict msg) { + LOG(INFO) << "createTarget reply:"; + LOG(INFO) << msg.DebugString(); + LOG(INFO) << "Sending attach target message to :" << browser_devtools_client_.GetTargetId(); base::Value::Dict *result = msg.FindDict("result"); if (result) { std::string *tId = result->FindString("targetId"); @@ -37,6 +64,7 @@ namespace kaleido { base::Value::Dict params; params.Set("flatten", true); params.Set("targetId", *tId); + LOG(INFO) << "Asking to attach to: " << *tId; auto cb = base::BindOnce(&Dispatch::createTab3_startSession, base::Unretained(this), id); browser_devtools_client_.SendCommand("Target.attachToTarget", std::move(params), @@ -48,40 +76,54 @@ namespace kaleido { } void Dispatch::createTab3_startSession(int id, base::Value::Dict msg) { + LOG(INFO) << "Attach reply: "; + LOG(INFO) << msg.DebugString(); + LOG(INFO) << "Going to send page.enable"; base::Value::Dict *result = msg.FindDict("result"); if (result) { std::string *sId = result->FindString("sessionId"); if (sId) { LOG(INFO) << "Target created."; - job_line->PostTask( - FROM_HERE, - base::BindOnce( - &Dispatch::createTab4_storeSession, + auto tab = browser_devtools_client_.CreateSession(*sId); + //LOG(INFO) << "Sending message to :" << tab->GetTargetId(); + //tab->AddEventHandler("Page.loadEventFired", base::BindRepeating(&Dispatch::dumpEvent, base::Unretained(this))); + //LOG(INFO) << "Event Attached"; + auto cb = base::BindOnce(&Dispatch::createTab4_primeTab, base::Unretained(this), id, - browser_devtools_client_.CreateSession(*sId) - ) - ); + std::move(tab)); + tab->SendCommand("Page.enable", std::move(cb)); return; } } LOG(ERROR) << "Failure to create target."; } + void Dispatch::createTab4_primeTab(int id, const std::unique_ptr tab, base::Value::Dict msg) { + LOG(INFO) << msg.DebugString(); + //LOG(INFO) << "Sending message to :" << tab->GetTargetId(); + //LOG(INFO) << "Trying to enable page"; + //tab->SendCommand("Page.enable"); + //LOG(INFO) << "Trying to reload page"; + //tab->SendCommand("Page.reload"); + return; + } + void Dispatch::createTab4_storeSession(int id, std::unique_ptr newTab) { + job_line->PostTask( + FROM_HERE, + base::BindOnce( + &Dispatch::createTab4_storeSession, + base::Unretained(this), + id, + + ) + ); // We could run one command here to see if it is valid, it should be valid! // At some point we need to concern ourselves with failure paths. parent_->ReportSuccess(id); - primeTab(newTab); tabs.push(std::move(newTab)); } +*/ - inline void Dispatch::primeTab(const std::unique_ptr &tab) { - /*base::Value::Dict params; - params.Set("msg", "load event fired"); - tab->AddEventHandler("Page.loadEventFired", base::BindRepeating(&Kaleido::ReportOperation, parent_, -1, true, params)); - tab->SendCommand("Page.enable"); - tab->SendCommand("Page.reload");*/ - return; - } } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index c7ce7f86..93697fca 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -31,15 +31,18 @@ namespace kaleido { Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; - void CreateTab(int id, const std::string &url) { createTab1_createTarget(id, url); } + void CreateTab(int id, const GURL &url); void Release() { browser_devtools_client_.DetachClient(); } // subclients go with it + private: raw_ptr parent_; // a devtools client for the _whole_ browser process (not a tab) SimpleDevToolsProtocolClient browser_devtools_client_; + SimpleDevToolsProtocolClient tab; + base::raw_ptr web_contents; // Represent connections to a tab std::queue> tabs; @@ -47,27 +50,14 @@ namespace kaleido { // Note: no callbacks allowed from within the SequencedTaskRunner scoped_refptr job_line; - void createTab1_createTarget(int id, const std::string &url); - void createTab2_attachTarget(int id, base::Value::Dict); - void createTab3_startSession(int id, base::Value::Dict); - void createTab4_storeSession(int id, std::unique_ptr); // This is a task - inline void primeTab(const std::unique_ptr&); + //void createTab1_createTarget(int id, const std::string &url); + //void createTab2_attachTarget(int id, base::Value::Dict); + //void createTab3_startSession(int id, base::Value::Dict); + //void createTab4_primeTab(int id, const std::unique_ptr, base::Value::Dict); + //void createTab5_storeSession(int id, std::unique_ptr); // This is a task + void dumpEvent(const base::Value::Dict& msg); + void dumpResponse(base::Value::Dict msg); }; } #endif // DISPATCH_H_ - - // [x] Create Tab (needs to check for jobs) - // [x] Link JSON to shutdown - // [x] Link JSON to create tab - // [x] How to handles errors in callback chain to user - // [ ] Change over to printf - // [ ] Queue Job (needs to check for jobs) - // [ ] Check for jobs - // [ ] Get Status - // [ ] Link JSON to Status - - - - - diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 202eaf60..cad70a3b 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -174,7 +174,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { GURL url = GURL(std::string("file://") + tmpFileName); // Initialization succeeded - kaleido::utils::writeJsonMessage(0, "Success"); + kaleido::utils::writeJsonMessage(0, "Initilization Success"); // END COPY 1 // TODO, we need to store stuff here, but we'll come back as we use them @@ -182,7 +182,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // Run browser_->BrowserMainThread()->PostTask( FROM_HERE, - base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), -1, "")); + base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), -1, url)); // TODO make this not a blank url, string GURL // PART OF copy 1 for (std::string const &s: scope_ptr->LocalScriptFiles()) { localScriptFiles.push_back(s); @@ -199,6 +199,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // We don't need to use exactly their process for loading files. // We can create an export job that reloads a page, wait for an event, does whatever this thing was already gonna do, and then goes forward. StartListen(); + // TODO Destructor, temp files not destroyed } @@ -268,9 +269,11 @@ bool Kaleido::ReadJSON(std::string &msg) { } if (*operation == "create_tab") { - browser_->BrowserMainThread()->PostTask( + /*browser_->BrowserMainThread()->PostTask( FROM_HERE, - base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), *id, "")); + base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), *id, ""));*/ + // don't let them do this yet + // No url :-( } else if (*operation == "noop") {} else { Api_ErrorUnknownOperation(*id, *operation); return true; @@ -281,13 +284,19 @@ bool Kaleido::ReadJSON(std::string &msg) { return true; } -void Kaleido::ReportOperation(int id, bool success, base::Value::Dict msg) { +void Kaleido::ReportOperation(int id, bool success, const base::Value::Dict &msg) { if (!success && id < 0) { LOG(ERROR) << "Failure of internal dev tools operation id " << std::to_string(id) << " and msg: " << msg; return; + } else if (success && id < 0) { + LOG(INFO) << "Success of internal dev tools operation id " + << std::to_string(id) + << " and msg: " + << msg; + return; } PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":)"+std::to_string(success)+R"(, "msg":)"+msg.DebugString()+R"(})"); } @@ -303,7 +312,10 @@ void Kaleido::ReportFailure(int id, const std::string& msg) { } void Kaleido::ReportSuccess(int id) { - if (id < 0) return; + if (id < 0) { + LOG(INFO) << "Success of message with id " << std::to_string(id); + return; + } PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":true})"); } diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 4d638de7..35379f67 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -33,15 +33,15 @@ namespace kaleido { void OnBrowserStart(headless::HeadlessBrowser* browser); // Dispatch uses this to let us know how things went - void ReportOperation(int id, bool success, base::Value::Dict msg); + void ReportOperation(int id, bool success, const base::Value::Dict &msg); void ReportSuccess(int id); void ReportFailure(int id, const std::string& msg); + // a browser, global basically + raw_ptr browser_; private: - // a browser, global basically - raw_ptr browser_; // User IO stuff for main void StartListen(); // continually reads stdin on parallel task From 64d2a4823a769bb59f99067cfbffbc065ce1f2cf Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 23:20:25 +0000 Subject: [PATCH 292/510] Organize and renable --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 86 ------------------- .../cc/126.0.6478.126/dispatch/dispatch.h | 7 +- src/kaleido/cc/126.0.6478.126/kaleido.cc | 40 ++------- src/kaleido/cc/126.0.6478.126/kaleido.h | 1 + 4 files changed, 9 insertions(+), 125 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 1f288b65..69f4d18f 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -34,96 +34,10 @@ namespace kaleido { void Dispatch::dumpEvent(const base::Value::Dict& msg) { //parent_->ReportOperation(-999, true, msg); LOG(INFO) << msg.DebugString(); - // This is where we can look for jobs return; } void Dispatch::dumpResponse(base::Value::Dict msg) { LOG(INFO) << msg.DebugString(); } -/* - void Dispatch::createTab1_createTarget(int id, const std::string &url) { - LOG(INFO) << "Sending createTarget message to :" << browser_devtools_client_.GetTargetId(); - base::Value::Dict params; - params.Set("url", url); - auto cb = base::BindOnce(&Dispatch::createTab2_attachTarget, base::Unretained(this), id); - browser_devtools_client_.SendCommand("Target.createTarget", - std::move(params), - std::move(cb)); - // Note: You may think "good place for BindRepeating, we can reuse that instead of calling BindOnce everytime!" - // Yes, but the time saved at runtime is trivial and negative^2 impact on readability. - - } - void Dispatch::createTab2_attachTarget(int id, base::Value::Dict msg) { - LOG(INFO) << "createTarget reply:"; - LOG(INFO) << msg.DebugString(); - LOG(INFO) << "Sending attach target message to :" << browser_devtools_client_.GetTargetId(); - base::Value::Dict *result = msg.FindDict("result"); - if (result) { - std::string *tId = result->FindString("targetId"); - if (tId) { - base::Value::Dict params; - params.Set("flatten", true); - params.Set("targetId", *tId); - LOG(INFO) << "Asking to attach to: " << *tId; - auto cb = base::BindOnce(&Dispatch::createTab3_startSession, base::Unretained(this), id); - browser_devtools_client_.SendCommand("Target.attachToTarget", - std::move(params), - std::move(cb)); - return; - } - } - LOG(ERROR) << "Failure to create target."; - } - - void Dispatch::createTab3_startSession(int id, base::Value::Dict msg) { - LOG(INFO) << "Attach reply: "; - LOG(INFO) << msg.DebugString(); - LOG(INFO) << "Going to send page.enable"; - base::Value::Dict *result = msg.FindDict("result"); - if (result) { - std::string *sId = result->FindString("sessionId"); - if (sId) { - LOG(INFO) << "Target created."; - auto tab = browser_devtools_client_.CreateSession(*sId); - //LOG(INFO) << "Sending message to :" << tab->GetTargetId(); - //tab->AddEventHandler("Page.loadEventFired", base::BindRepeating(&Dispatch::dumpEvent, base::Unretained(this))); - //LOG(INFO) << "Event Attached"; - auto cb = base::BindOnce(&Dispatch::createTab4_primeTab, - base::Unretained(this), - id, - std::move(tab)); - tab->SendCommand("Page.enable", std::move(cb)); - return; - } - } - LOG(ERROR) << "Failure to create target."; - } - - void Dispatch::createTab4_primeTab(int id, const std::unique_ptr tab, base::Value::Dict msg) { - LOG(INFO) << msg.DebugString(); - //LOG(INFO) << "Sending message to :" << tab->GetTargetId(); - //LOG(INFO) << "Trying to enable page"; - //tab->SendCommand("Page.enable"); - //LOG(INFO) << "Trying to reload page"; - //tab->SendCommand("Page.reload"); - return; - } - - void Dispatch::createTab4_storeSession(int id, std::unique_ptr newTab) { - job_line->PostTask( - FROM_HERE, - base::BindOnce( - &Dispatch::createTab4_storeSession, - base::Unretained(this), - id, - - ) - ); - // We could run one command here to see if it is valid, it should be valid! - // At some point we need to concern ourselves with failure paths. - parent_->ReportSuccess(id); - tabs.push(std::move(newTab)); - } -*/ } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 93697fca..a58e5d2c 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -40,7 +40,7 @@ namespace kaleido { raw_ptr parent_; // a devtools client for the _whole_ browser process (not a tab) SimpleDevToolsProtocolClient browser_devtools_client_; - SimpleDevToolsProtocolClient tab; + SimpleDevToolsProtocolClient tab; // this goes on the queue base::raw_ptr web_contents; // Represent connections to a tab @@ -50,11 +50,6 @@ namespace kaleido { // Note: no callbacks allowed from within the SequencedTaskRunner scoped_refptr job_line; - //void createTab1_createTarget(int id, const std::string &url); - //void createTab2_attachTarget(int id, base::Value::Dict); - //void createTab3_startSession(int id, base::Value::Dict); - //void createTab4_primeTab(int id, const std::unique_ptr, base::Value::Dict); - //void createTab5_storeSession(int id, std::unique_ptr); // This is a task void dumpEvent(const base::Value::Dict& msg); void dumpResponse(base::Value::Dict msg); }; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index cad70a3b..88ef179b 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -94,24 +94,8 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { headless::HeadlessBrowserContext* browser_context = context_builder.Build(); browser_->SetDefaultBrowserContext(browser_context); - // A note about this strategy: - // I don't see the point of accepting information on the commandline and on stdin, but I think - // it came from not really knowing how to build a messaging interface on stdin. IPC on one channel, - // unless you have a good reason. There is no good reason here, its just a switch. - // Either way, the whole concepts of scopes is wildly overengineered and should be entirely eliminated. - // It is essentially a plugin system created for the sake of having a "kaleido" which accepts "scopes" as - // a project description. - // A very nice sounding structure, but expensive work for the sake of some catch phrases when a much simpler - // solution would get the job done. - // The scopes should be eliminated, and we should not accept pull requests for third parties integrating their work - // if it generates work for us (bug fixes are fine but don't invite plugins to review) - // Kaleido should open browser tabs to an arbitrary file and send javascript fragments to - // the browser tab which generate and download the image. This structure would be more flexible, allow people use to kaleido - // as an import for their own project, and eliminate 3 entire files and another 200 lines of code. - // I would love to do that, but I feel this project is so tied to its advertising with its fancy name, that I left in all this - // extremely overengineerd, counterproductive boilerplate. // BEGIN COPY 1 - // Get the URL from the command line. + // Get the scope from the command line. base::CommandLine::StringVector args = base::CommandLine::ForCurrentProcess()->GetArgs(); if (args.empty()) { @@ -164,7 +148,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { htmlStringStream << ""; // Write html to temp file - std::string tmpFileName = std::tmpnam(nullptr) + std::string(".html"); + tmpFileName = std::tmpnam(nullptr) + std::string(".html"); std::ofstream htmlFile; htmlFile.open(tmpFileName, std::ios::out); htmlFile << htmlStringStream.str(); @@ -177,27 +161,19 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { kaleido::utils::writeJsonMessage(0, "Initilization Success"); // END COPY 1 - // TODO, we need to store stuff here, but we'll come back as we use them + // Run browser_->BrowserMainThread()->PostTask( FROM_HERE, - base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), -1, url)); // TODO make this not a blank url, string GURL + base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), -1, url)); // PART OF copy 1 for (std::string const &s: scope_ptr->LocalScriptFiles()) { localScriptFiles.push_back(s); } base::GetCurrentDirectory(&cwd); // END THAT - // We need to get here from the compiler, we probably need to see if we can package and use it. - // Lets see how far we get if we load it manually with plotly scope (that's an argument) - // Then lets see how we actually call it from python and what python gives us back, if it accepts our cusotm messages - // If not, silence them, or modify python to allow it (would probably be helpful) - // Check out what happens if we reponse differently (1, "Failure") - // check out if we can get done reloading events - - // We don't need to use exactly their process for loading files. - // We can create an export job that reloads a page, wait for an event, does whatever this thing was already gonna do, and then goes forward. + StartListen(); // TODO Destructor, temp files not destroyed @@ -269,11 +245,9 @@ bool Kaleido::ReadJSON(std::string &msg) { } if (*operation == "create_tab") { - /*browser_->BrowserMainThread()->PostTask( + browser_->BrowserMainThread()->PostTask( FROM_HERE, - base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), *id, ""));*/ - // don't let them do this yet - // No url :-( + base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), *id, GURL(std::string("file://") + tmpFileName))); } else if (*operation == "noop") {} else { Api_ErrorUnknownOperation(*id, *operation); return true; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 35379f67..257e2ffc 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -72,6 +72,7 @@ namespace kaleido { // FROM PREVIOUS STRUCTURE base::FilePath cwd; std::vector localScriptFiles; + std::string tmpFileName; }; } From 7981078cad1bb77430f63aab2f3339b93646feb4 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 23 Jul 2024 23:42:32 +0000 Subject: [PATCH 293/510] Reintegrate job queue --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 35 ++++++++++++++++--- .../cc/126.0.6478.126/dispatch/dispatch.h | 3 +- src/kaleido/cc/126.0.6478.126/kaleido.cc | 10 ++---- src/kaleido/cc/126.0.6478.126/kaleido.h | 3 +- 4 files changed, 36 insertions(+), 15 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 69f4d18f..d33e767e 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -20,22 +20,47 @@ namespace kaleido { base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); } + void Dispatch::CreateTab(int id, const GURL &url) { + /* + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), *id, GURL(std::string("file://") + tmpFileName))); + */ headless::HeadlessWebContents::Builder builder( parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); web_contents = builder.SetInitialURL(url).Build(); - tab.AttachToWebContents(headless::HeadlessWebContentsImpl::From(web_contents)->web_contents()); + + auto tab = std::make_unique(); + tab->AttachToWebContents(headless::HeadlessWebContentsImpl::From(web_contents)->web_contents()); + + // Commands to the browser + // Memory management to the job line + /* LOG(INFO) << "Attached to web contents"; - tab.AddEventHandler("Page.loadEventFired", base::BindRepeating(&Dispatch::dumpEvent, base::Unretained(this))); - tab.SendCommand("Page.enable", base::BindOnce(&Dispatch::dumpResponse, base::Unretained(this))); + tab->AddEventHandler("Page.loadEventFired", base::BindRepeating(&Dispatch::dumpEvent, base::Unretained(this))); + tab->SendCommand("Page.enable", base::BindOnce(&Dispatch::dumpResponse, base::Unretained(this))); LOG(INFO) << "Enabled page"; + */ + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::sortTab, base::Unretained(this), id, std::move(tab))); } + + void Dispatch::sortTab(int id, std::unique_ptr tab) { + if (jobs.size() == 0) { + tabs.push(std::move(tab)); + } else { + // adjust the jobs queue and get it started + } + } + + // event callback signature void Dispatch::dumpEvent(const base::Value::Dict& msg) { - //parent_->ReportOperation(-999, true, msg); LOG(INFO) << msg.DebugString(); - return; } + // command callback signature void Dispatch::dumpResponse(base::Value::Dict msg) { LOG(INFO) << msg.DebugString(); } diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index a58e5d2c..244ff1eb 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -40,16 +40,17 @@ namespace kaleido { raw_ptr parent_; // a devtools client for the _whole_ browser process (not a tab) SimpleDevToolsProtocolClient browser_devtools_client_; - SimpleDevToolsProtocolClient tab; // this goes on the queue base::raw_ptr web_contents; // Represent connections to a tab std::queue> tabs; + std::queue jobs; // All queue operations happen on a SequencedTaskRunner for memory safety // Note: no callbacks allowed from within the SequencedTaskRunner scoped_refptr job_line; + void sortTab(int id, std::unique_ptr tab); void dumpEvent(const base::Value::Dict& msg); void dumpResponse(base::Value::Dict msg); }; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 88ef179b..e5ffcc7f 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -161,12 +161,8 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { kaleido::utils::writeJsonMessage(0, "Initilization Success"); // END COPY 1 - - // Run - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), -1, url)); + dispatch->CreateTab(-1, url); // PART OF copy 1 for (std::string const &s: scope_ptr->LocalScriptFiles()) { localScriptFiles.push_back(s); @@ -245,9 +241,7 @@ bool Kaleido::ReadJSON(std::string &msg) { } if (*operation == "create_tab") { - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), *id, GURL(std::string("file://") + tmpFileName))); + dispatch->CreateTab(*id, GURL(std::string("file://") + tmpFileName)); } else if (*operation == "noop") {} else { Api_ErrorUnknownOperation(*id, *operation); return true; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 257e2ffc..c848405f 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -37,7 +37,8 @@ namespace kaleido { void ReportSuccess(int id); void ReportFailure(int id, const std::string& msg); - // a browser, global basically + // a browser, global basically, + // this is needed for anything that does anything on thread control raw_ptr browser_; private: From 5a04a037728ea3e71def52cbbb5c1eafe51238a6 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 00:20:01 +0000 Subject: [PATCH 294/510] Process export directive in old style --- .../cc/126.0.6478.126/dispatch/dispatch.h | 12 ++++++++-- src/kaleido/cc/126.0.6478.126/kaleido.cc | 24 ++++++++++++++++--- src/kaleido/cc/126.0.6478.126/kaleido.h | 5 +++- src/kaleido/cc/126.0.6478.126/scopes/Base.h | 4 ++-- .../cc/126.0.6478.126/scopes/Factory.h | 4 ++-- src/kaleido/cc/126.0.6478.126/scopes/Plotly.h | 4 ++-- 6 files changed, 41 insertions(+), 12 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 244ff1eb..43e05800 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -8,9 +8,17 @@ #include "base/task/sequenced_task_runner.h" #include "headless/app/kaleido.h" + namespace kaleido { - class Kaleido; using namespace simple_devtools_protocol_client; + class Kaleido; + + struct Job { + int version; + int id; + std::string format; + std::string scope; + }; // probably should be a singleton, could use static, make_unique, etc // Sadly, callback hell persists in google's chromium. @@ -44,7 +52,7 @@ namespace kaleido { base::raw_ptr web_contents; // Represent connections to a tab std::queue> tabs; - std::queue jobs; + std::queue> jobs; // All queue operations happen on a SequencedTaskRunner for memory safety // Note: no callbacks allowed from within the SequencedTaskRunner diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index e5ffcc7f..397369f0 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -110,7 +110,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { std::string scope_name = scope_stringstream.str(); // Instantiate renderer scope - kaleido::scopes::BaseScope *scope_ptr = LoadScope(scope_name); + scope_ptr = LoadScope(scope_name); if (!scope_ptr) { // Invalid scope name @@ -228,8 +228,26 @@ bool Kaleido::ReadJSON(std::string &msg) { return false; // breaks stdin loop } if (!operation || !id) { - Api_ErrorMissingBasicFields(id); - return true; + // we are likely using the old protocol, which for now is all we accept + if (operation && (*operation == "export")) { + LOG(INFO) << "It seems like we're using the old protocol."; + std::unique_ptr job = std::make_unique(); + job->version = 0; + job->id = -2; + std::string *maybe_format = jsonDict.FindString("format"); + if (!maybe_format) { + std::string error = base::StringPrintf("Malformed Export JSON: format key not found."); + utils::writeJsonMessage(1, error); + return true; + } + job->format = *maybe_format; + job->scope = scope_ptr->ScopeName().c_str(); + std::string error = base::StringPrintf("Perfect. %s %s", job->format.c_str(), job->scope.c_str()); + utils::writeJsonMessage(1, error); + } else { + Api_ErrorMissingBasicFields(id); + return true; + } } if (*id < 0) { Api_ErrorNegativeId(*id); diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index c848405f..90c87fbd 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -14,8 +14,10 @@ #include "base/task/thread_pool.h" - namespace kaleido { + namespace scopes { + class BaseScope; + } class Dispatch; // Kaleido is our app, basically. // Should be singleton, but non-trivial work @@ -74,6 +76,7 @@ namespace kaleido { base::FilePath cwd; std::vector localScriptFiles; std::string tmpFileName; + base::raw_ptr scope_ptr; }; } diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Base.h b/src/kaleido/cc/126.0.6478.126/scopes/Base.h index d59c1b19..c2e40740 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Base.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Base.h @@ -3,6 +3,8 @@ // Created by jmmease on 6/17/20. // +#ifndef CHROMIUM_BASESCOPE_H +#define CHROMIUM_BASESCOPE_H #include "base/strings/string_util.h" #include "base/command_line.h" @@ -10,8 +12,6 @@ #include #include -#ifndef CHROMIUM_BASESCOPE_H -#define CHROMIUM_BASESCOPE_H namespace kaleido { namespace scopes { diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h index 3941cfcc..a1120a7f 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h @@ -2,13 +2,13 @@ // Created by jmmease on 6/17/20. // +#ifndef CHROMIUM_FACTORY_H +#define CHROMIUM_FACTORY_H #include "base/strings/string_util.h" #include "Plotly.h" #include "Base.h" -#ifndef CHROMIUM_FACTORY_H -#define CHROMIUM_FACTORY_H kaleido::scopes::BaseScope* LoadScope(std::string name) { std::string name_lower = base::ToLowerASCII(name); diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h index ef884ddb..11520ed0 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h @@ -3,6 +3,8 @@ // // Created by jmmease on 6/17/20. // +#ifndef CHROMIUM_PLOTLYSCOPE_H +#define CHROMIUM_PLOTLYSCOPE_H #include "Base.h" #include "base/functional/bind.h" #include "base/command_line.h" @@ -14,8 +16,6 @@ #include #include -#ifndef CHROMIUM_PLOTLYSCOPE_H -#define CHROMIUM_PLOTLYSCOPE_H namespace kaleido { namespace scopes { From 972fec307b96ae56a60b450f207c2d5dfdaeb08e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 00:54:15 +0000 Subject: [PATCH 295/510] Some build changes --- src/kaleido/py/setup.py | 4 ++-- toolchain/src/12-build_js.sh | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index e104a885..9122196b 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -174,10 +174,10 @@ def run(self): package_data={ 'kaleido': executable_files, }, - ext_modules=[ # letting setuptools know we have platform specific binaries + ext_modules=[ setuptools.Extension( name='kaleido-chromium', - sources=[] # we build it ourselves + sources=[] ) ] cmdclass=dict( diff --git a/toolchain/src/12-build_js.sh b/toolchain/src/12-build_js.sh index 706e93f6..acd71ea9 100755 --- a/toolchain/src/12-build_js.sh +++ b/toolchain/src/12-build_js.sh @@ -32,6 +32,7 @@ export SRC_DIR="${MAIN_DIR}/src/kaleido/js/" pushd "${SRC_DIR}" mkdir -p build/ +rm -rf node_modules/ npm install npm run clean npm run build From 13d203e1483b8b5c2a6210ca475ff40bdac67232 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 00:55:27 +0000 Subject: [PATCH 296/510] Some build changes2 --- src/kaleido/py/setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index 9122196b..4bea5c92 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -174,12 +174,12 @@ def run(self): package_data={ 'kaleido': executable_files, }, - ext_modules=[ + ext_modules=[ # provokes a platform build setuptools.Extension( name='kaleido-chromium', sources=[] ) - ] + ], cmdclass=dict( clean=CleanCommand, write_version=WriteVersion, From ba1ae8139c87812142300cc18a0b6fed10de1c5f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 00:59:48 +0000 Subject: [PATCH 297/510] Add setuptools to import --- src/kaleido/py/setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index 4bea5c92..94bbe446 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals, print_function import os import shutil +import setuptools from setuptools import setup, Command import glob import distutils.util From ec921b7bb5563e44d9a5778c0fce7e4dff8ea527 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 02:34:15 +0000 Subject: [PATCH 298/510] Add logic to handle old protocol --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 32 +++++++++++++----------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 397369f0..0ee12cf9 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -220,6 +220,7 @@ bool Kaleido::ReadJSON(std::string &msg) { base::Value::Dict &jsonDict = json->GetDict(); absl::optional id = jsonDict.FindInt("id"); std::string *operation = jsonDict.FindString("operation"); + std::string *maybe_format = jsonDict.FindString("format"); // The only operation we handle here. We're shutting down. // Trust chromium to handle it all when the browser exits // Doesn't need id, no return @@ -227,14 +228,15 @@ bool Kaleido::ReadJSON(std::string &msg) { ShutdownSoon(); return false; // breaks stdin loop } + bool old=false; if (!operation || !id) { // we are likely using the old protocol, which for now is all we accept - if (operation && (*operation == "export")) { + if (maybe_format) { LOG(INFO) << "It seems like we're using the old protocol."; + old=true; std::unique_ptr job = std::make_unique(); job->version = 0; job->id = -2; - std::string *maybe_format = jsonDict.FindString("format"); if (!maybe_format) { std::string error = base::StringPrintf("Malformed Export JSON: format key not found."); utils::writeJsonMessage(1, error); @@ -243,30 +245,32 @@ bool Kaleido::ReadJSON(std::string &msg) { job->format = *maybe_format; job->scope = scope_ptr->ScopeName().c_str(); std::string error = base::StringPrintf("Perfect. %s %s", job->format.c_str(), job->scope.c_str()); - utils::writeJsonMessage(1, error); + utils::writeJsonMessage(1, error); // We are getting here + return true; } else { Api_ErrorMissingBasicFields(id); return true; } } - if (*id < 0) { - Api_ErrorNegativeId(*id); - return true; - } - if (messageIds.find(*id) != messageIds.end()) { - Api_ErrorDuplicateId(*id); - return true; + if (!old) { + if (*id < 0) { + Api_ErrorNegativeId(*id); + return true; + } + if (messageIds.find(*id) != messageIds.end()) { + Api_ErrorDuplicateId(*id); + return true; + } } - - if (*operation == "create_tab") { + if (operation && *operation == "create_tab") { dispatch->CreateTab(*id, GURL(std::string("file://") + tmpFileName)); - } else if (*operation == "noop") {} else { + } else if (operation && *operation == "noop") {} else { Api_ErrorUnknownOperation(*id, *operation); return true; } - messageIds.emplace(*id, *operation); + if (!old) messageIds.emplace(*id, *operation); return true; } From 104eea5fac1d95a1c67b37b36c19891351f3fa80 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 02:39:29 +0000 Subject: [PATCH 299/510] Add debug option for kaleido py --- src/kaleido/py/kaleido/scopes/base.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/kaleido/py/kaleido/scopes/base.py b/src/kaleido/py/kaleido/scopes/base.py index dc7d9fe5..cba92214 100755 --- a/src/kaleido/py/kaleido/scopes/base.py +++ b/src/kaleido/py/kaleido/scopes/base.py @@ -49,7 +49,9 @@ def __init__( self, disable_gpu=True, chromium_args=True, + debug=False ): + self.debug=True if os.environ.get('DEBUG') else debug if chromium_args is True: chromium_args = self.default_chromium_args() elif chromium_args is False: @@ -178,7 +180,7 @@ def _ensure_kaleido(self): proc_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, - stderr=subprocess.PIPE, + stderr=None if self.debug else subprocess.PIPE, shell=sys.platform == "win32" ) @@ -307,6 +309,7 @@ def _perform_transform(self, data, **kwargs): self._proc.stdin.flush() try: response = self._proc.stdout.readline() + if self.debug: print(str(response), file=sys.stderr) except BaseException: # allows to catch KeyboardInterrupt = CTRL+C print("Error stream:\n", self._get_decoded_std_error()) raise From cd0ac13d9bfc2792ee40aeeb3a27cf650796c2ab Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 02:59:31 +0000 Subject: [PATCH 300/510] Make tab dispatch + job/tab queue --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 24 ++++++++++++++++++- .../cc/126.0.6478.126/dispatch/dispatch.h | 9 ++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index d33e767e..8abe4f79 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -52,9 +52,31 @@ namespace kaleido { if (jobs.size() == 0) { tabs.push(std::move(tab)); } else { - // adjust the jobs queue and get it started + dispatchJob(id, std::move(jobs.front()), std::move(tab)); + jobs.pop(); } } + void Dispatch::sortJob(int id, std::unique_ptr job) { + if (tabs.size() == 0) { + jobs.push(std::move(job)); + } else { + dispatchJob(id, std::move(job), std::move(tabs.front())); + tabs.pop(); + } + } + + void Dispatch::dispatchJob(int id, std::unique_ptr job, tab_t tab) { + LOG(INFO) << "Matching job to tab"; + // they actually both die :-( + // Do chain of stuff + return; + + } + void Dispatch::PostJob(int id, std::unique_ptr job) { // declared TODO + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::sortJob, base::Unretained(this), id, std::move(job))); + } // event callback signature void Dispatch::dumpEvent(const base::Value::Dict& msg) { diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 43e05800..689cf037 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -11,6 +11,8 @@ namespace kaleido { using namespace simple_devtools_protocol_client; + // I got tired of typing the whole thing at the end, TODO change all next commit + typedef std::unique_ptr tab_t; class Kaleido; struct Job { @@ -40,11 +42,14 @@ namespace kaleido { Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; void CreateTab(int id, const GURL &url); + void PostJob(int id, std::unique_ptr); void Release() { browser_devtools_client_.DetachClient(); } // subclients go with it private: + + raw_ptr parent_; // a devtools client for the _whole_ browser process (not a tab) SimpleDevToolsProtocolClient browser_devtools_client_; @@ -58,7 +63,9 @@ namespace kaleido { // Note: no callbacks allowed from within the SequencedTaskRunner scoped_refptr job_line; - void sortTab(int id, std::unique_ptr tab); + void sortTab(int id, std::unique_ptr tab); // task + void sortJob(int id, std::unique_ptr); // task + void dispatchJob(int id, std::unique_ptr job, tab_t tab); void dumpEvent(const base::Value::Dict& msg); void dumpResponse(base::Value::Dict msg); }; From 511a66b82f3dea7064e98b4c9c3e40e5fb40943f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 03:06:07 +0000 Subject: [PATCH 301/510] Use new API --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 12 ++++++------ src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 6 +++--- src/kaleido/cc/126.0.6478.126/kaleido.cc | 3 +-- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 8abe4f79..f3a89297 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -52,30 +52,30 @@ namespace kaleido { if (jobs.size() == 0) { tabs.push(std::move(tab)); } else { - dispatchJob(id, std::move(jobs.front()), std::move(tab)); + dispatchJob(std::move(jobs.front()), std::move(tab)); jobs.pop(); } } - void Dispatch::sortJob(int id, std::unique_ptr job) { + void Dispatch::sortJob(std::unique_ptr job) { if (tabs.size() == 0) { jobs.push(std::move(job)); } else { - dispatchJob(id, std::move(job), std::move(tabs.front())); + dispatchJob(std::move(job), std::move(tabs.front())); tabs.pop(); } } - void Dispatch::dispatchJob(int id, std::unique_ptr job, tab_t tab) { + void Dispatch::dispatchJob(std::unique_ptr job, tab_t tab) { LOG(INFO) << "Matching job to tab"; // they actually both die :-( // Do chain of stuff return; } - void Dispatch::PostJob(int id, std::unique_ptr job) { // declared TODO + void Dispatch::PostJob(std::unique_ptr job) { job_line->PostTask( FROM_HERE, - base::BindOnce(&Dispatch::sortJob, base::Unretained(this), id, std::move(job))); + base::BindOnce(&Dispatch::sortJob, base::Unretained(this), std::move(job))); } // event callback signature diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 689cf037..a6b02714 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -42,7 +42,7 @@ namespace kaleido { Dispatch(const Dispatch&) = delete; Dispatch& operator=(const Dispatch&) = delete; void CreateTab(int id, const GURL &url); - void PostJob(int id, std::unique_ptr); + void PostJob(std::unique_ptr); void Release() { browser_devtools_client_.DetachClient(); } // subclients go with it @@ -64,8 +64,8 @@ namespace kaleido { scoped_refptr job_line; void sortTab(int id, std::unique_ptr tab); // task - void sortJob(int id, std::unique_ptr); // task - void dispatchJob(int id, std::unique_ptr job, tab_t tab); + void sortJob(std::unique_ptr); // task + void dispatchJob(std::unique_ptr job, tab_t tab); void dumpEvent(const base::Value::Dict& msg); void dumpResponse(base::Value::Dict msg); }; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 0ee12cf9..f0c30330 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -244,8 +244,7 @@ bool Kaleido::ReadJSON(std::string &msg) { } job->format = *maybe_format; job->scope = scope_ptr->ScopeName().c_str(); - std::string error = base::StringPrintf("Perfect. %s %s", job->format.c_str(), job->scope.c_str()); - utils::writeJsonMessage(1, error); // We are getting here + dispatch->PostJob(std::move(job)); return true; } else { Api_ErrorMissingBasicFields(id); From 3c77b50200b6fc01d100a296729055d81451d127 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 03:12:54 +0000 Subject: [PATCH 302/510] Ignore stderr if dumping it anyway --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 3 +-- src/kaleido/py/kaleido/scopes/base.py | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index f3a89297..f7157a37 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -70,9 +70,8 @@ namespace kaleido { // they actually both die :-( // Do chain of stuff return; - } - void Dispatch::PostJob(std::unique_ptr job) { + void Dispatch::PostJob(std::unique_ptr job) { job_line->PostTask( FROM_HERE, base::BindOnce(&Dispatch::sortJob, base::Unretained(this), std::move(job))); diff --git a/src/kaleido/py/kaleido/scopes/base.py b/src/kaleido/py/kaleido/scopes/base.py index cba92214..0e558d84 100755 --- a/src/kaleido/py/kaleido/scopes/base.py +++ b/src/kaleido/py/kaleido/scopes/base.py @@ -185,10 +185,11 @@ def _ensure_kaleido(self): ) # Set up thread to asynchronously collect standard error stream - if self._std_error_thread is None or not self._std_error_thread.is_alive(): + if self._std_error_thread is None or not self._std_error_thread.is_alive() and not self.debug: self._std_error_thread = Thread(target=self._collect_standard_error) self._std_error_thread.daemon = True self._std_error_thread.start() + # I didn't have much luck with this strategy # Read startup message and check for errors startup_response_string = self._proc.stdout.readline().decode('utf-8') From 927d088fc9d5e4751333c28201a2b8d4bb4ff2c9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 03:13:08 +0000 Subject: [PATCH 303/510] Add placeholder to avoid destructor off thread --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index f7157a37..30e5c93b 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -67,6 +67,8 @@ namespace kaleido { void Dispatch::dispatchJob(std::unique_ptr job, tab_t tab) { LOG(INFO) << "Matching job to tab"; + jobs.push(std::move(job)); + tabs.push(std::move(tab)); // they actually both die :-( // Do chain of stuff return; From 6a76ca0bfa24958f170a5e8271695f3801185f74 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 03:54:26 +0000 Subject: [PATCH 304/510] Augment python with cleaner shutdown --- src/kaleido/py/kaleido/scopes/base.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/kaleido/py/kaleido/scopes/base.py b/src/kaleido/py/kaleido/scopes/base.py index 0e558d84..d270df1c 100755 --- a/src/kaleido/py/kaleido/scopes/base.py +++ b/src/kaleido/py/kaleido/scopes/base.py @@ -4,6 +4,7 @@ import io import os import sys +import time import locale import platform @@ -185,7 +186,7 @@ def _ensure_kaleido(self): ) # Set up thread to asynchronously collect standard error stream - if self._std_error_thread is None or not self._std_error_thread.is_alive() and not self.debug: + if not self.debug and (self._std_error_thread is None or not self._std_error_thread.is_alive()): self._std_error_thread = Thread(target=self._collect_standard_error) self._std_error_thread.daemon = True self._std_error_thread.start() @@ -240,6 +241,7 @@ def _shutdown_kaleido(self): if self._proc.poll() is None: # Process still running, close stdin to tell kaleido # to shut down gracefully + self._proc.stdin.write('{"operation":"shutdown"}\n'.encode('utf-8')); self._proc.stdin.close() # wait for process to terminate if it was running. @@ -248,6 +250,7 @@ def _shutdown_kaleido(self): try: self._proc.wait(timeout=2.0) except: + self._proc.kill() # We tried to wait! Moving on... pass @@ -312,7 +315,16 @@ def _perform_transform(self, data, **kwargs): response = self._proc.stdout.readline() if self.debug: print(str(response), file=sys.stderr) except BaseException: # allows to catch KeyboardInterrupt = CTRL+C - print("Error stream:\n", self._get_decoded_std_error()) + # no need to decode_std_err, honestly get rid of all this + # and ctl+c should be clean + if not self.debug: print("Error stream:\n", self._get_decoded_std_error()) + self._proc.stdin.write('{"operation":"shutdown"}\n'.encode('utf-8')); + self._proc.stdin.close() + try: + self._proc.wait(timeout=2.0) + except: + # We tried to wait! Moving on... + self._proc.kill() raise response_string = response.decode('utf-8') From e5da820624e171a02012bcacddad3998436055d5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 04:08:24 +0000 Subject: [PATCH 305/510] Remove tempfile at shutdown --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 4 +++- src/kaleido/cc/126.0.6478.126/kaleido.cc | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index a6b02714..627619ad 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -44,7 +44,9 @@ namespace kaleido { void CreateTab(int id, const GURL &url); void PostJob(std::unique_ptr); - void Release() { browser_devtools_client_.DetachClient(); } // subclients go with it + void Release() { + browser_devtools_client_.DetachClient(); + } // subclients go with it... not anymore private: diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index f0c30330..add89b16 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -71,6 +71,7 @@ void Kaleido::ShutdownSoon() { } void Kaleido::ShutdownTask() { LOG(INFO) << "Calling shutdown on browser"; + if (tmpFileName.size()) std::remove(tmpFileName.c_str()); dispatch->Release(); // Fine to destruct what we have here. browser_.ExtractAsDangling()->Shutdown(); } From 35237d5adf16a8a89c04c3ac3d614d58d08882b7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 05:06:21 +0000 Subject: [PATCH 306/510] Attempt to add and remove handlers --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 44 +++++++++++-------- .../cc/126.0.6478.126/dispatch/dispatch.h | 7 ++- 2 files changed, 32 insertions(+), 19 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 30e5c93b..d056f976 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -22,11 +22,6 @@ namespace kaleido { } void Dispatch::CreateTab(int id, const GURL &url) { - /* - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::CreateTab, base::Unretained(dispatch), *id, GURL(std::string("file://") + tmpFileName))); - */ headless::HeadlessWebContents::Builder builder( parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); web_contents = builder.SetInitialURL(url).Build(); @@ -34,14 +29,6 @@ namespace kaleido { auto tab = std::make_unique(); tab->AttachToWebContents(headless::HeadlessWebContentsImpl::From(web_contents)->web_contents()); - // Commands to the browser - // Memory management to the job line - /* - LOG(INFO) << "Attached to web contents"; - tab->AddEventHandler("Page.loadEventFired", base::BindRepeating(&Dispatch::dumpEvent, base::Unretained(this))); - tab->SendCommand("Page.enable", base::BindOnce(&Dispatch::dumpResponse, base::Unretained(this))); - LOG(INFO) << "Enabled page"; - */ job_line->PostTask( FROM_HERE, base::BindOnce(&Dispatch::sortTab, base::Unretained(this), id, std::move(tab))); @@ -66,14 +53,35 @@ namespace kaleido { } void Dispatch::dispatchJob(std::unique_ptr job, tab_t tab) { - LOG(INFO) << "Matching job to tab"; - jobs.push(std::move(job)); - tabs.push(std::move(tab)); - // they actually both die :-( - // Do chain of stuff + int job_id = job_number++; + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), std::move(job), std::move(tab), job_id)); return; } + + // DELCARE ALL TODO + + void Dispatch::runJob1_resetTab(std::unique_ptr job, tab_t tab, int job_id) { + tab->SendCommand("Page.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), std::move(job), std::move(tab), job_id)); + } + + void Dispatch::runJob2_reloadTab(std::unique_ptr job, tab_t tab, base::Value::Dict msg, int job_id) { + auto cb = base::BindRepeating(&Dispatch::runJob3_configureTab, base::Unretained(this), std::move(job), std::move(tab), job_id); + job_events[job_id] = cb.get(); + tab->AddEventHandler("Page.loadEventFired", std::move(cb)); + tab->SendCommand("Page.reload"); + } + void Dispatch::runJob3_configureTab(std::unique_ptr job, tab_t tab, const base::Value::Dict& msg, int job_id) { + LOG(INFO) << "CAUGHT PAGE RELOAD"; + tab->RemoveEventHandler("Page.loadEventFired", job_events[job_id]); + job_events.erase(job_id); + // Theoretically, we've reloaded the page, and we're good to go. Theoretically. + } + + void Dispatch::PostJob(std::unique_ptr job) { + // TODO THIS IS WHERE WE DO FINAL VALIDATIONS job_line->PostTask( FROM_HERE, base::BindOnce(&Dispatch::sortJob, base::Unretained(this), std::move(job))); diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 627619ad..a25dedb9 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -7,7 +7,7 @@ #include "base/task/sequenced_task_runner.h" #include "headless/app/kaleido.h" - +#include namespace kaleido { using namespace simple_devtools_protocol_client; @@ -57,9 +57,14 @@ namespace kaleido { SimpleDevToolsProtocolClient browser_devtools_client_; base::raw_ptr web_contents; + // TODO: we now need to store these with the tabs, it should be a struct URGENT + // Represent connections to a tab std::queue> tabs; std::queue> jobs; + int job_number = 0; + + unordered_map job_events; // All queue operations happen on a SequencedTaskRunner for memory safety // Note: no callbacks allowed from within the SequencedTaskRunner From dde0796070ef37e53c9923a3eef79b2bac835e33 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 05:13:34 +0000 Subject: [PATCH 307/510] Get information about prereq exes --- .../cc/126.0.6478.126/dispatch/dispatch.h | 1 + src/kaleido/cc/126.0.6478.126/kaleido.cc | 38 ++++++++++++++++++- src/kaleido/cc/126.0.6478.126/kaleido.h | 4 ++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index a25dedb9..281547b0 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -46,6 +46,7 @@ namespace kaleido { void Release() { browser_devtools_client_.DetachClient(); + //delete web_contents; } // subclients go with it... not anymore diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index add89b16..cadec27c 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -37,6 +37,38 @@ #include #include +namespace base { + // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here + bool ExecutableExistsInPath(Environment* env, + const std::string& executable) { + std::string path; + if (!env->GetVar("PATH", &path)) { + LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; + return false; + } + + for (const StringPiece& cur_path: + SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { + + // Build wide strings using wstringstreams + std::wstringstream wpath_ss; + wpath_ss << std::string(cur_path).c_str(); + + std::wstringstream wexecutable_ss; + wexecutable_ss << executable.c_str() << ".exe"; + + std::wstring wpath_ss_as_string = wpath_ss.str(); + FilePath::StringPieceType w_cur_path(wpath_ss_as_string); + FilePath file(w_cur_path); + + if (PathExists(file.Append(wexecutable_ss.str()))) { + return true; + } + } + return false; + } +} + // This is from the original kaleido namespace kaleido { namespace utils { @@ -61,7 +93,11 @@ namespace kaleido { /// END COPY 2 namespace kaleido { -Kaleido::Kaleido() = default; // Define here or else chromium complains. +Kaleido::Kaleido() + : env(base::Environment::Create()), + popplerAvailable(base::ExecutableExistsInPath(env.get(), "pdftops")), + inkscapeAvailable(base::ExecutableExistsInPath(env.get(), "inkscape")) { +}; // Control Flow, declare here void Kaleido::ShutdownSoon() { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 90c87fbd..b9323089 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -13,6 +13,7 @@ #include "headless/app/dispatch/dispatch.h" #include "base/task/thread_pool.h" +#include "base/environment.h" namespace kaleido { namespace scopes { @@ -77,6 +78,9 @@ namespace kaleido { std::vector localScriptFiles; std::string tmpFileName; base::raw_ptr scope_ptr; + bool popplerAvailable; + bool inkscapeAvailable; + std::unique_ptr env; }; } From 557401613b8844c8044544f2d2e43ac81d90debd Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 05:19:40 +0000 Subject: [PATCH 308/510] Add checks for other formats --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index d056f976..3ba99793 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -74,14 +74,32 @@ namespace kaleido { } void Dispatch::runJob3_configureTab(std::unique_ptr job, tab_t tab, const base::Value::Dict& msg, int job_id) { LOG(INFO) << "CAUGHT PAGE RELOAD"; - tab->RemoveEventHandler("Page.loadEventFired", job_events[job_id]); + tab->RemoveEventHandler("Page.loadEventFired", *job_events[job_id]); job_events.erase(job_id); // Theoretically, we've reloaded the page, and we're good to go. Theoretically. } void Dispatch::PostJob(std::unique_ptr job) { - // TODO THIS IS WHERE WE DO FINAL VALIDATIONS + if (job->format == "eps" && !parent_->popplerAvailable) { + utils::writeJsonMessage( + 530, + "Exporting to EPS format requires the pdftops command " + "which is provided by the poppler library. " + "Please install poppler and make sure the pdftops command " + "is available on the PATH"); + return; + } + + // Validate inkscape installed if format is emf + if (job->format == "emf" && !parent_->inkscapeAvailable) { + utils::writeJsonMessage( + 530, + "Exporting to EMF format requires inkscape. " + "Please install inkscape and make sure it is available on the PATH"); + return; + } + job_line->PostTask( FROM_HERE, base::BindOnce(&Dispatch::sortJob, base::Unretained(this), std::move(job))); From cd40a840358ee18fbd3f1cfe0d63e52cd5d4b075 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 16:07:59 +0000 Subject: [PATCH 309/510] Move in format validation --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 36 ++++++---- .../cc/126.0.6478.126/dispatch/dispatch.h | 12 +++- src/kaleido/cc/126.0.6478.126/kaleido.cc | 65 +++++++++---------- src/kaleido/cc/126.0.6478.126/kaleido.h | 20 +++--- 4 files changed, 74 insertions(+), 59 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 3ba99793..406a4707 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -19,6 +19,9 @@ namespace kaleido { job_line = base::ThreadPool::CreateSequencedTaskRunner({ base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); + env = base::Environment::Create(); + popplerAvailable = base::ExecutableExistsInPath(env.get(), "pdftops"); + inkscapeAvailable = base::ExecutableExistsInPath(env.get(), "inkscape"); } void Dispatch::CreateTab(int id, const GURL &url) { @@ -54,35 +57,40 @@ namespace kaleido { void Dispatch::dispatchJob(std::unique_ptr job, tab_t tab) { int job_id = job_number++; - browser_->BrowserMainThread()->PostTask( + parent_->browser_->BrowserMainThread()->PostTask( FROM_HERE, base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), std::move(job), std::move(tab), job_id)); return; } - // DELCARE ALL TODO + // Pure call back structure --> central manager structure TODO + // Memory TODO + // WebContents TODO + // Reunify output - void Dispatch::runJob1_resetTab(std::unique_ptr job, tab_t tab, int job_id) { + void Dispatch::runJob1_resetTab(std::unique_ptr job, tab_t tab, const int &job_id) { tab->SendCommand("Page.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), std::move(job), std::move(tab), job_id)); } - void Dispatch::runJob2_reloadTab(std::unique_ptr job, tab_t tab, base::Value::Dict msg, int job_id) { - auto cb = base::BindRepeating(&Dispatch::runJob3_configureTab, base::Unretained(this), std::move(job), std::move(tab), job_id); + void Dispatch::runJob2_reloadTab(std::unique_ptr job, tab_t tab, const int &job_id, base::Value::Dict msg) { + LOG(INFO) << "CAUGHT ENABLE"; + LOG(INFO) << msg.DebugString(); + /*auto cb = base::BindRepeating(&Dispatch::runJob3_configureTab, base::Unretained(this), std::move(job), std::move(tab), job_id); job_events[job_id] = cb.get(); tab->AddEventHandler("Page.loadEventFired", std::move(cb)); - tab->SendCommand("Page.reload"); + tab->SendCommand("Page.reload");*/ } - void Dispatch::runJob3_configureTab(std::unique_ptr job, tab_t tab, const base::Value::Dict& msg, int job_id) { - LOG(INFO) << "CAUGHT PAGE RELOAD"; + + void Dispatch::runJob3_configureTab(std::unique_ptr job, tab_t tab, const int &job_id, const base::Value::Dict& msg) { + LOG(INFO) << "CAUGHT PAGE RELOAD";/* tab->RemoveEventHandler("Page.loadEventFired", *job_events[job_id]); - job_events.erase(job_id); + job_events.erase(job_id);*/ // Theoretically, we've reloaded the page, and we're good to go. Theoretically. } - void Dispatch::PostJob(std::unique_ptr job) { - if (job->format == "eps" && !parent_->popplerAvailable) { - utils::writeJsonMessage( + if (job->format == "eps" && !popplerAvailable) { + parent_->Api_OldMsg( 530, "Exporting to EPS format requires the pdftops command " "which is provided by the poppler library. " @@ -92,8 +100,8 @@ namespace kaleido { } // Validate inkscape installed if format is emf - if (job->format == "emf" && !parent_->inkscapeAvailable) { - utils::writeJsonMessage( + if (job->format == "emf" && !inkscapeAvailable) { + parent_->Api_OldMsg( 530, "Exporting to EMF format requires inkscape. " "Please install inkscape and make sure it is available on the PATH"); diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 281547b0..67ed4180 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -8,6 +8,8 @@ #include "base/task/sequenced_task_runner.h" #include "headless/app/kaleido.h" #include +#include "base/environment.h" +#include "base/files/file_util.h" namespace kaleido { using namespace simple_devtools_protocol_client; @@ -65,17 +67,25 @@ namespace kaleido { std::queue> jobs; int job_number = 0; - unordered_map job_events; + std::unordered_map job_events; // All queue operations happen on a SequencedTaskRunner for memory safety // Note: no callbacks allowed from within the SequencedTaskRunner scoped_refptr job_line; + void runJob1_resetTab(std::unique_ptr job, tab_t tab, const int &job_id); + void runJob2_reloadTab(std::unique_ptr job, tab_t tab, const int &job_id, base::Value::Dict msg); + void runJob3_configureTab(std::unique_ptr job, tab_t tab, const int &job_id, const base::Value::Dict& msg); + void sortTab(int id, std::unique_ptr tab); // task void sortJob(std::unique_ptr); // task void dispatchJob(std::unique_ptr job, tab_t tab); void dumpEvent(const base::Value::Dict& msg); void dumpResponse(base::Value::Dict msg); + + bool popplerAvailable; + bool inkscapeAvailable; + std::unique_ptr env; }; } diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index cadec27c..b7cbd135 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -37,6 +37,7 @@ #include #include +#if defined(OS_WIN) namespace base { // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here bool ExecutableExistsInPath(Environment* env, @@ -68,36 +69,13 @@ namespace base { return false; } } - -// This is from the original kaleido -namespace kaleido { - namespace utils { - // Load version string - - void writeJsonMessage(int code, std::string message) { - static std::string *version = nullptr; - if (!version) { - std::ifstream verStream("version"); - version = new std::string(( - std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); - } - std::string error = base::StringPrintf( - "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}\n", - code, message.c_str(), version->c_str()); - std::cout << error; - } - } -} - +#endif /// END COPY 2 namespace kaleido { -Kaleido::Kaleido() - : env(base::Environment::Create()), - popplerAvailable(base::ExecutableExistsInPath(env.get(), "pdftops")), - inkscapeAvailable(base::ExecutableExistsInPath(env.get(), "inkscape")) { -}; +Kaleido::Kaleido() = default; + // Control Flow, declare here void Kaleido::ShutdownSoon() { @@ -136,7 +114,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { base::CommandLine::StringVector args = base::CommandLine::ForCurrentProcess()->GetArgs(); if (args.empty()) { - kaleido::utils::writeJsonMessage(1, "No Scope Specified"); + Api_OldMsg(1, "No Scope Specified"); browser->Shutdown(); exit(EXIT_FAILURE); } @@ -151,11 +129,11 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { if (!scope_ptr) { // Invalid scope name - kaleido::utils::writeJsonMessage(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); + Api_OldMsg(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); browser->Shutdown(); exit(EXIT_FAILURE); } else if (!scope_ptr->errorMessage.empty()) { - kaleido::utils::writeJsonMessage(1, scope_ptr->errorMessage); + Api_OldMsg(1, scope_ptr->errorMessage); browser->Shutdown(); exit(EXIT_FAILURE); } @@ -195,7 +173,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { GURL url = GURL(std::string("file://") + tmpFileName); // Initialization succeeded - kaleido::utils::writeJsonMessage(0, "Initilization Success"); + Api_OldMsg(0, "Initilization Success"); // END COPY 1 // Run @@ -241,6 +219,14 @@ void Kaleido::StartListen() { } void Kaleido::PostEchoTask(const std::string &msg) { + if (old) { + LOG(INFO) << msg; + return; + } + auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; + output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); +} +void Kaleido::PostEchoTaskOld(const std::string &msg) { auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); } @@ -265,7 +251,6 @@ bool Kaleido::ReadJSON(std::string &msg) { ShutdownSoon(); return false; // breaks stdin loop } - bool old=false; if (!operation || !id) { // we are likely using the old protocol, which for now is all we accept if (maybe_format) { @@ -276,7 +261,7 @@ bool Kaleido::ReadJSON(std::string &msg) { job->id = -2; if (!maybe_format) { std::string error = base::StringPrintf("Malformed Export JSON: format key not found."); - utils::writeJsonMessage(1, error); + Api_OldMsg(1, error); return true; } job->format = *maybe_format; @@ -369,5 +354,19 @@ void Kaleido::Api_ErrorUnknownOperation(int id, const std::string& op) { PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"Unknown operation:)"+op+R"("})"); } -} // namespace kaleido +void Kaleido::Api_OldMsg(int code, std::string message) { + static std::string *version = nullptr; + if (!version) { + std::ifstream verStream("version"); + version = new std::string(( + std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); + } + std::string error = base::StringPrintf( + "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}\n", + code, message.c_str(), version->c_str()); + PostEchoTaskOld(error); + + // TODO SOME WAY FOR POST ECHO TASK TO KNOW +} +} // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index b9323089..c1be06bf 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -13,7 +13,6 @@ #include "headless/app/dispatch/dispatch.h" #include "base/task/thread_pool.h" -#include "base/environment.h" namespace kaleido { namespace scopes { @@ -39,6 +38,13 @@ namespace kaleido { void ReportOperation(int id, bool success, const base::Value::Dict &msg); void ReportSuccess(int id); void ReportFailure(int id, const std::string& msg); + void Api_OldMsg(int code, std::string message); + // JSON Helper functions for creating common messages to user + void Api_ErrorInvalidJSON(); + void Api_ErrorMissingBasicFields(absl::optional); + void Api_ErrorDuplicateId(int); + void Api_ErrorNegativeId(int); + void Api_ErrorUnknownOperation(int id, const std::string& op); // a browser, global basically, // this is needed for anything that does anything on thread control @@ -46,13 +52,14 @@ namespace kaleido { private: - + bool old = false; // User IO stuff for main void StartListen(); // continually reads stdin on parallel task void listenTask(); void postListenTask(); std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call postListenTask() once void PostEchoTask(const std::string&); // echo something out + void PostEchoTaskOld(const std::string&); std::unordered_map messageIds; // every message must have a unique id bool ReadJSON(std::string&); // try to turn message into json object @@ -63,12 +70,6 @@ namespace kaleido { // our tab dispatch, our actual browser controller raw_ptr dispatch; - // JSON Helper functions for creating common messages to user - void Api_ErrorInvalidJSON(); - void Api_ErrorMissingBasicFields(absl::optional); - void Api_ErrorDuplicateId(int); - void Api_ErrorNegativeId(int); - void Api_ErrorUnknownOperation(int id, const std::string& op); void ShutdownSoon(); void ShutdownTask(); @@ -78,9 +79,6 @@ namespace kaleido { std::vector localScriptFiles; std::string tmpFileName; base::raw_ptr scope_ptr; - bool popplerAvailable; - bool inkscapeAvailable; - std::unique_ptr env; }; } From d739424fb0400193c28f59a0670f8a2012489443 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 17:56:18 +0000 Subject: [PATCH 310/510] Events fire once --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 70 ++++++++++++++----- .../cc/126.0.6478.126/dispatch/dispatch.h | 59 ++++++++++------ src/kaleido/cc/126.0.6478.126/kaleido.cc | 4 +- 3 files changed, 92 insertions(+), 41 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 406a4707..eb743a43 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -14,6 +14,18 @@ namespace kaleido { + Tab::Tab() {} + Tab::~Tab() { + // TODO calling this destructor on shutdown would be V good, otherwise we complain + client_->DetachClient(); + web_contents_->Close(); + } + Job::Job() {} + Job::~Job() { + if (currentTab) currentTab.reset(); + } + + Dispatch::Dispatch(raw_ptr parent_): parent_(parent_) { browser_devtools_client_.AttachToBrowser(); job_line = base::ThreadPool::CreateSequencedTaskRunner({ @@ -25,20 +37,32 @@ namespace kaleido { } void Dispatch::CreateTab(int id, const GURL &url) { + auto tab = std::make_unique(); headless::HeadlessWebContents::Builder builder( parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); - web_contents = builder.SetInitialURL(url).Build(); + tab->web_contents_ = builder.SetInitialURL(url).Build(); - auto tab = std::make_unique(); - tab->AttachToWebContents(headless::HeadlessWebContentsImpl::From(web_contents)->web_contents()); + tab->client_ = std::make_unique(); + // DevToolsTargetReady TODO + tab->client_->AttachToWebContents(headless::HeadlessWebContentsImpl::From(tab->web_contents_)->web_contents()); job_line->PostTask( FROM_HERE, base::BindOnce(&Dispatch::sortTab, base::Unretained(this), id, std::move(tab))); } + void Dispatch::ReloadAll() { + parent_->browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::reloadAll, base::Unretained(this))); + } + void Dispatch::reloadAll() { + for (auto& it: activeJobs) { + activeJobs[it.first]->currentTab->client_->SendCommand("Page.reload"); + } + } - void Dispatch::sortTab(int id, std::unique_ptr tab) { + void Dispatch::sortTab(int id, std::unique_ptr tab) { if (jobs.size() == 0) { tabs.push(std::move(tab)); } else { @@ -55,11 +79,18 @@ namespace kaleido { } } - void Dispatch::dispatchJob(std::unique_ptr job, tab_t tab) { + void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { int job_id = job_number++; + job->currentTab = std::move(tab); + activeJobs[job_id] = std::move(job); + // it would be better to create them and destroy them on the browser task, who is accessing them + // that way we can also destroy them on the browser task + // before shut down + // we can also check to see if the activeJobs queue is donefor + // TODO parent_->browser_->BrowserMainThread()->PostTask( FROM_HERE, - base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), std::move(job), std::move(tab), job_id)); + base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), job_id)); return; } @@ -68,25 +99,28 @@ namespace kaleido { // WebContents TODO // Reunify output - void Dispatch::runJob1_resetTab(std::unique_ptr job, tab_t tab, const int &job_id) { - tab->SendCommand("Page.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), std::move(job), std::move(tab), job_id)); + void Dispatch::runJob1_resetTab(const int &job_id) { + activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); } - void Dispatch::runJob2_reloadTab(std::unique_ptr job, tab_t tab, const int &job_id, base::Value::Dict msg) { - LOG(INFO) << "CAUGHT ENABLE"; - LOG(INFO) << msg.DebugString(); - /*auto cb = base::BindRepeating(&Dispatch::runJob3_configureTab, base::Unretained(this), std::move(job), std::move(tab), job_id); - job_events[job_id] = cb.get(); - tab->AddEventHandler("Page.loadEventFired", std::move(cb)); - tab->SendCommand("Page.reload");*/ + void Dispatch::runJob2_reloadTab(const int &job_id, base::Value::Dict msg) { + auto cb = base::BindRepeating(&Dispatch::runJob3_configureTab, base::Unretained(this), job_id); + activeJobs[job_id]->reloadCb = cb; + activeJobs[job_id]->currentTab->client_->AddEventHandler("Page.loadEventFired", cb); + activeJobs[job_id]->currentTab->client_->SendCommand("Page.reload"); } - void Dispatch::runJob3_configureTab(std::unique_ptr job, tab_t tab, const int &job_id, const base::Value::Dict& msg) { - LOG(INFO) << "CAUGHT PAGE RELOAD";/* + void Dispatch::runJob3_configureTab(const int &job_id, const base::Value::Dict& msg) { + LOG(INFO) << "CAUGHT PAGE RELOAD"; + activeJobs[job_id]->currentTab->client_->RemoveEventHandler("Page.loadEventFired", activeJobs[job_id]->reloadCb); + //tabs.push(std::move(tab)); + //jobs.push(std::move(job)); + + /* tab->RemoveEventHandler("Page.loadEventFired", *job_events[job_id]); job_events.erase(job_id);*/ // Theoretically, we've reloaded the page, and we're good to go. Theoretically. - } + } void Dispatch::PostJob(std::unique_ptr job) { if (job->format == "eps" && !popplerAvailable) { diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 67ed4180..164e08fb 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -13,25 +13,41 @@ namespace kaleido { using namespace simple_devtools_protocol_client; - // I got tired of typing the whole thing at the end, TODO change all next commit - typedef std::unique_ptr tab_t; + class Kaleido; - struct Job { - int version; - int id; - std::string format; - std::string scope; + + class Tab { + public: + Tab(); + ~Tab(); + // should disable other assignments + base::raw_ptr web_contents_; // not ours + std::unique_ptr client_; + }; // client has a disconnect, web_contents has a close, this might help + + class Job { + public: + Job(); + ~Job(); + // should disable other assignments + int version; + int id; + std::string format; + std::string scope; + std::unique_ptr currentTab; + SimpleDevToolsProtocolClient::EventCallback reloadCb; + // TOOD what else, dump that initial job message }; - // probably should be a singleton, could use static, make_unique, etc + // probably should be a singleton, could use static, make_unique, etc // Sadly, callback hell persists in google's chromium. // DevTools is an asynchronous IPC messaging platform, their internal API uses callbacks, // not blockable coroutines- just callbacks without async/await to linearize // the architecture. So how do we make it easier to read? I can't use lambda functions because // lambda functions + class methods don't mix w/ google's callback utilities. // A full state machine that manages callbacks as subroutines would - // be absurdly out of scope. + // be absurdly out of scope. (note added later: chromium forces it) // // Ergo, patterns like createTab1_desc(), createTab2_desc() clarify the concepts, // the process started by a CreateTab() public call. @@ -45,11 +61,12 @@ namespace kaleido { Dispatch& operator=(const Dispatch&) = delete; void CreateTab(int id, const GURL &url); void PostJob(std::unique_ptr); + void ReloadAll(); void Release() { browser_devtools_client_.DetachClient(); - //delete web_contents; - } // subclients go with it... not anymore + // go through tab and active jobs, maybe have to cancel stuff + } private: @@ -59,29 +76,27 @@ namespace kaleido { // a devtools client for the _whole_ browser process (not a tab) SimpleDevToolsProtocolClient browser_devtools_client_; - base::raw_ptr web_contents; - // TODO: we now need to store these with the tabs, it should be a struct URGENT - // Represent connections to a tab - std::queue> tabs; + std::queue> tabs; std::queue> jobs; int job_number = 0; - std::unordered_map job_events; + std::unordered_map> activeJobs; // TODO needs to transfer everthing // All queue operations happen on a SequencedTaskRunner for memory safety // Note: no callbacks allowed from within the SequencedTaskRunner scoped_refptr job_line; - void runJob1_resetTab(std::unique_ptr job, tab_t tab, const int &job_id); - void runJob2_reloadTab(std::unique_ptr job, tab_t tab, const int &job_id, base::Value::Dict msg); - void runJob3_configureTab(std::unique_ptr job, tab_t tab, const int &job_id, const base::Value::Dict& msg); + void runJob1_resetTab(const int &job_id); + void runJob2_reloadTab(const int &job_id, base::Value::Dict msg); + void runJob3_configureTab(const int &job_id, const base::Value::Dict& msg); - void sortTab(int id, std::unique_ptr tab); // task - void sortJob(std::unique_ptr); // task - void dispatchJob(std::unique_ptr job, tab_t tab); + void sortTab(int id, std::unique_ptr tab); + void sortJob(std::unique_ptr); + void dispatchJob(std::unique_ptr job, std::unique_ptr tab); void dumpEvent(const base::Value::Dict& msg); void dumpResponse(base::Value::Dict msg); + void reloadAll(); bool popplerAvailable; bool inkscapeAvailable; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index b7cbd135..38c5efbe 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -284,7 +284,9 @@ bool Kaleido::ReadJSON(std::string &msg) { } } if (operation && *operation == "create_tab") { - dispatch->CreateTab(*id, GURL(std::string("file://") + tmpFileName)); + dispatch->CreateTab(*id, GURL(std::string("file://") + tmpFileName)); + } else if (operation && *operation == "reload") { + dispatch->ReloadAll(); } else if (operation && *operation == "noop") {} else { Api_ErrorUnknownOperation(*id, *operation); return true; From 1eefcbf5156cba6de5c2ccfa6ad4cdb58c6a2f55 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 18:03:18 +0000 Subject: [PATCH 311/510] Clean up notes --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index eb743a43..5c1fa475 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -79,6 +79,8 @@ namespace kaleido { } } + // Memory TODO + void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { int job_id = job_number++; job->currentTab = std::move(tab); @@ -94,11 +96,6 @@ namespace kaleido { return; } - // Pure call back structure --> central manager structure TODO - // Memory TODO - // WebContents TODO - // Reunify output - void Dispatch::runJob1_resetTab(const int &job_id) { activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); } @@ -112,14 +109,8 @@ namespace kaleido { void Dispatch::runJob3_configureTab(const int &job_id, const base::Value::Dict& msg) { LOG(INFO) << "CAUGHT PAGE RELOAD"; - activeJobs[job_id]->currentTab->client_->RemoveEventHandler("Page.loadEventFired", activeJobs[job_id]->reloadCb); - //tabs.push(std::move(tab)); - //jobs.push(std::move(job)); - - /* - tab->RemoveEventHandler("Page.loadEventFired", *job_events[job_id]); - job_events.erase(job_id);*/ - // Theoretically, we've reloaded the page, and we're good to go. Theoretically. + // calling move on this non-unique actually makes it unique and causes it to be destroyed after + activeJobs[job_id]->currentTab->client_->RemoveEventHandler("Page.loadEventFired", std::move(activeJobs[job_id]->reloadCb)); } void Dispatch::PostJob(std::unique_ptr job) { From 3d98aebcbcd64cfe34e1d064a44c81f335e2ca0f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 19:31:41 +0000 Subject: [PATCH 312/510] Load all scripts --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 66 ++++++++++++++++--- .../cc/126.0.6478.126/dispatch/dispatch.h | 7 +- src/kaleido/cc/126.0.6478.126/kaleido.cc | 1 + src/kaleido/cc/126.0.6478.126/kaleido.h | 8 ++- 4 files changed, 68 insertions(+), 14 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 5c1fa475..7d74b0de 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -1,4 +1,6 @@ +#include + #include "base/logging.h" #include "base/functional/bind.h" #include "headless/app/dispatch/dispatch.h" @@ -97,21 +99,67 @@ namespace kaleido { } void Dispatch::runJob1_resetTab(const int &job_id) { - activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); + activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable"); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); } void Dispatch::runJob2_reloadTab(const int &job_id, base::Value::Dict msg) { - auto cb = base::BindRepeating(&Dispatch::runJob3_configureTab, base::Unretained(this), job_id); - activeJobs[job_id]->reloadCb = cb; - activeJobs[job_id]->currentTab->client_->AddEventHandler("Page.loadEventFired", cb); + auto cb = base::BindRepeating(&Dispatch::runJob3_loadScripts, base::Unretained(this), job_id); + activeJobs[job_id]->runtimeEnableCb = cb; + activeJobs[job_id]->currentTab->client_->AddEventHandler("Runtime.executionContextCreated", cb); activeJobs[job_id]->currentTab->client_->SendCommand("Page.reload"); } - void Dispatch::runJob3_configureTab(const int &job_id, const base::Value::Dict& msg) { - LOG(INFO) << "CAUGHT PAGE RELOAD"; - // calling move on this non-unique actually makes it unique and causes it to be destroyed after - activeJobs[job_id]->currentTab->client_->RemoveEventHandler("Page.loadEventFired", std::move(activeJobs[job_id]->reloadCb)); - } + void Dispatch::runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg) { + LOG(INFO) << "Runtime enable"; + activeJobs[job_id]->currentTab->client_->RemoveEventHandler( + "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); + activeJobs[job_id]->scriptItr = parent_->localScriptFiles.begin(); + + base::Value::Dict empty; + runJob4_loadNextScript(job_id, std::move(empty)); + + } + + void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { + + if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { + // now we export next? + return; + } + std::string scriptPath(*activeJobs[job_id]->scriptItr); + std::ifstream script(scriptPath); + if (!script.is_open()) { + LOG(ERROR) << "Failed to find, or open, local file at " + << scriptPath << " with working directory " << parent_->cwd.value() << std::endl; + parent_->ShutdownSoon(); + return; + } + std::string scriptString((std::istreambuf_iterator(script)), + std::istreambuf_iterator(script)); + + auto after_loaded = base::BindRepeating( + &Dispatch::runJob5_runLoadedScript, base::Unretained(this), job_id); + + base::Value::Dict script_params; + script_params.Set("expression", scriptString); + script_params.Set("sourceURL", scriptPath); + script_params.Set("persistScript", true); + + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.compileScript", std::move(script_params), after_loaded); + } + + void Dispatch::runJob5_runLoadedScript(const int job_id, const base::Value::Dict msg) { + activeJobs[job_id]->scriptItr++; + + auto after_run = base::BindRepeating( + &Dispatch::runJob4_loadNextScript, base::Unretained(this), job_id); + + base::Value::Dict script_params; + std::string scriptId = *msg.FindDict("result")->FindString("scriptId"); + script_params.Set("scriptId", scriptId); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.runScript", std::move(script_params), after_run); + } void Dispatch::PostJob(std::unique_ptr job) { if (job->format == "eps" && !popplerAvailable) { diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 164e08fb..77c4c6d1 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -36,7 +36,8 @@ namespace kaleido { std::string format; std::string scope; std::unique_ptr currentTab; - SimpleDevToolsProtocolClient::EventCallback reloadCb; + SimpleDevToolsProtocolClient::EventCallback runtimeEnableCb; + std::vector::iterator scriptItr; // TOOD what else, dump that initial job message }; @@ -89,7 +90,9 @@ namespace kaleido { void runJob1_resetTab(const int &job_id); void runJob2_reloadTab(const int &job_id, base::Value::Dict msg); - void runJob3_configureTab(const int &job_id, const base::Value::Dict& msg); + void runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg); + void runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg); + void runJob5_runLoadedScript(const int job_id, const base::Value::Dict msg); void sortTab(int id, std::unique_ptr tab); void sortJob(std::unique_ptr); diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 38c5efbe..299b1815 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -255,6 +255,7 @@ bool Kaleido::ReadJSON(std::string &msg) { // we are likely using the old protocol, which for now is all we accept if (maybe_format) { LOG(INFO) << "It seems like we're using the old protocol."; + LOG(INFO) << jsonDict.DebugString(); old=true; std::unique_ptr job = std::make_unique(); job->version = 0; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index c1be06bf..417912cd 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -31,6 +31,10 @@ namespace kaleido { Kaleido(const Kaleido&) = delete; Kaleido& operator=(const Kaleido&) = delete; + // make more private? + std::vector localScriptFiles; + base::FilePath cwd; + // This is basically a singleton. Could we pass the constructor instead of on browser start? void OnBrowserStart(headless::HeadlessBrowser* browser); @@ -49,6 +53,7 @@ namespace kaleido { // a browser, global basically, // this is needed for anything that does anything on thread control raw_ptr browser_; + void ShutdownSoon(); private: @@ -71,12 +76,9 @@ namespace kaleido { raw_ptr dispatch; - void ShutdownSoon(); void ShutdownTask(); // FROM PREVIOUS STRUCTURE - base::FilePath cwd; - std::vector localScriptFiles; std::string tmpFileName; base::raw_ptr scope_ptr; }; From 2f4e407172ef2368dc187ea07ece366476c2499c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 20:40:43 +0000 Subject: [PATCH 313/510] Shore up debugging and error printing --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 8 +++++--- src/kaleido/cc/126.0.6478.126/kaleido.cc | 10 ++-------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 7d74b0de..e664a911 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -130,9 +130,11 @@ namespace kaleido { std::string scriptPath(*activeJobs[job_id]->scriptItr); std::ifstream script(scriptPath); if (!script.is_open()) { - LOG(ERROR) << "Failed to find, or open, local file at " - << scriptPath << " with working directory " << parent_->cwd.value() << std::endl; - parent_->ShutdownSoon(); + std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory %s", + scriptPath.c_str(), parent_->cwd.value().c_str()); + LOG(ERROR) << error; + parent_->Api_OldMsg(404, error); + // TODO gotta kill job return; } std::string scriptString((std::istreambuf_iterator(script)), diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 299b1815..6e4ae572 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -201,6 +201,7 @@ void Kaleido::listenTask() { ShutdownSoon(); return; }; + if (in == "\n") postListenTask(); if (ReadJSON(in)) postListenTask(); } @@ -260,11 +261,6 @@ bool Kaleido::ReadJSON(std::string &msg) { std::unique_ptr job = std::make_unique(); job->version = 0; job->id = -2; - if (!maybe_format) { - std::string error = base::StringPrintf("Malformed Export JSON: format key not found."); - Api_OldMsg(1, error); - return true; - } job->format = *maybe_format; job->scope = scope_ptr->ScopeName().c_str(); dispatch->PostJob(std::move(job)); @@ -365,11 +361,9 @@ void Kaleido::Api_OldMsg(int code, std::string message) { std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); } std::string error = base::StringPrintf( - "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}\n", + "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}", code, message.c_str(), version->c_str()); PostEchoTaskOld(error); - - // TODO SOME WAY FOR POST ECHO TASK TO KNOW } } // namespace kaleido From 79d263d6d07b78920f2d570f9223bac4c8bf38b2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 20:44:44 +0000 Subject: [PATCH 314/510] Transfer whole spec with job --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 3 ++- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 5 +++-- src/kaleido/cc/126.0.6478.126/kaleido.cc | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index e664a911..14caff63 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -90,7 +90,8 @@ namespace kaleido { // it would be better to create them and destroy them on the browser task, who is accessing them // that way we can also destroy them on the browser task // before shut down - // we can also check to see if the activeJobs queue is donefor + // we can also check to see if the activeJobs queue is done for + // check job_id in ever instance // TODO parent_->browser_->BrowserMainThread()->PostTask( FROM_HERE, diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 77c4c6d1..8ae63318 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -24,7 +24,7 @@ namespace kaleido { // should disable other assignments base::raw_ptr web_contents_; // not ours std::unique_ptr client_; - }; // client has a disconnect, web_contents has a close, this might help + }; class Job { public: @@ -33,12 +33,13 @@ namespace kaleido { // should disable other assignments int version; int id; + base::Value::Dict spec; std::string format; std::string scope; std::unique_ptr currentTab; SimpleDevToolsProtocolClient::EventCallback runtimeEnableCb; std::vector::iterator scriptItr; - // TOOD what else, dump that initial job message + }; // probably should be a singleton, could use static, make_unique, etc diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 6e4ae572..754f0cba 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -263,6 +263,7 @@ bool Kaleido::ReadJSON(std::string &msg) { job->id = -2; job->format = *maybe_format; job->scope = scope_ptr->ScopeName().c_str(); + job->spec = std::move(jsonDict); dispatch->PostJob(std::move(job)); return true; } else { From 8ff9d7980fe3ee2a29314007b39b50666af1f1e4 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 21:01:38 +0000 Subject: [PATCH 315/510] Collect env vars and cwd in python, not bash --- src/kaleido/py/kaleido/scopes/base.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/kaleido/py/kaleido/scopes/base.py b/src/kaleido/py/kaleido/scopes/base.py index d270df1c..5a00c0d1 100755 --- a/src/kaleido/py/kaleido/scopes/base.py +++ b/src/kaleido/py/kaleido/scopes/base.py @@ -177,12 +177,24 @@ def _ensure_kaleido(self): # spaces. The subprocess.Popen docs makes it sound like this shouldn't be # necessary. proc_args = self._build_proc_args() + env = os.environ.copy() + resource_folder = os.path.join( + os.path.dirname(os.path.dirname(os.path.abspath(__file__))), + 'executable' + ) + if 'LD_LIBRARY_PATH' not in env: env['LD_LIBRARY_PATH']="" + env['LD_LIBRARY_PATH'] = str(os.path.join(resource_folder, "lib")) + ":" + env.get('LD_LIBRARY_PATH'] + env['FONTCONFIG_PATH'] = str(os.path.join(resource_folder, "etc", "fonts")) + env['XDG_DATA_HOME'] = str(os.path.join(resource_folder, "xdg")) + self._proc = subprocess.Popen( proc_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=None if self.debug else subprocess.PIPE, - shell=sys.platform == "win32" + shell=sys.platform == "win32", + env=env, + cwd=str(resource_folder), ) # Set up thread to asynchronously collect standard error stream From 5ce9de4510c62e6d002640e1668ba3bba6f2f3ec Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 21:31:17 +0000 Subject: [PATCH 316/510] Clear some memory before exit --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 19 ++++++++++++------- .../cc/126.0.6478.126/dispatch/dispatch.h | 4 ++++ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 14caff63..161c1177 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -20,6 +20,7 @@ namespace kaleido { Tab::~Tab() { // TODO calling this destructor on shutdown would be V good, otherwise we complain client_->DetachClient(); + client_.reset(); web_contents_->Close(); } Job::Job() {} @@ -39,6 +40,10 @@ namespace kaleido { } void Dispatch::CreateTab(int id, const GURL &url) { + // There is a possible race condition here + // If the browser shuts down right after calling create tab + // Would need to create tab on the browser thread and put it in active jobs + // To solve auto tab = std::make_unique(); headless::HeadlessWebContents::Builder builder( parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); @@ -53,6 +58,7 @@ namespace kaleido { base::BindOnce(&Dispatch::sortTab, base::Unretained(this), id, std::move(tab))); } + void Dispatch::ReloadAll() { parent_->browser_->BrowserMainThread()->PostTask( FROM_HERE, @@ -84,15 +90,10 @@ namespace kaleido { // Memory TODO void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { + // reace condition, all of the below should happen on the browser task int job_id = job_number++; job->currentTab = std::move(tab); activeJobs[job_id] = std::move(job); - // it would be better to create them and destroy them on the browser task, who is accessing them - // that way we can also destroy them on the browser task - // before shut down - // we can also check to see if the activeJobs queue is done for - // check job_id in ever instance - // TODO parent_->browser_->BrowserMainThread()->PostTask( FROM_HERE, base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), job_id)); @@ -100,11 +101,13 @@ namespace kaleido { } void Dispatch::runJob1_resetTab(const int &job_id) { + if (activeJobs.find(job_id) == activeJobs.end()) return; activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable"); activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); } void Dispatch::runJob2_reloadTab(const int &job_id, base::Value::Dict msg) { + if (activeJobs.find(job_id) == activeJobs.end()) return; auto cb = base::BindRepeating(&Dispatch::runJob3_loadScripts, base::Unretained(this), job_id); activeJobs[job_id]->runtimeEnableCb = cb; activeJobs[job_id]->currentTab->client_->AddEventHandler("Runtime.executionContextCreated", cb); @@ -115,6 +118,7 @@ namespace kaleido { LOG(INFO) << "Runtime enable"; activeJobs[job_id]->currentTab->client_->RemoveEventHandler( "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); + if (activeJobs.find(job_id) == activeJobs.end()) return; activeJobs[job_id]->scriptItr = parent_->localScriptFiles.begin(); base::Value::Dict empty; @@ -123,7 +127,7 @@ namespace kaleido { } void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { - + if (activeJobs.find(job_id) == activeJobs.end()) return; if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { // now we export next? return; @@ -153,6 +157,7 @@ namespace kaleido { } void Dispatch::runJob5_runLoadedScript(const int job_id, const base::Value::Dict msg) { + if (activeJobs.find(job_id) == activeJobs.end()) return; activeJobs[job_id]->scriptItr++; auto after_run = base::BindRepeating( diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 8ae63318..aebe635b 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -67,6 +67,10 @@ namespace kaleido { void Release() { browser_devtools_client_.DetachClient(); + for (auto &it : activeJobs) { + activeJobs[it.first].reset(); + activeJobs.erase(it.first); + } // go through tab and active jobs, maybe have to cancel stuff } From a86af49b6664d3bcdca9471ba7f43c8e693febe5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 22:02:12 +0000 Subject: [PATCH 317/510] Remove danglin pointer --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 3 +-- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 5 +++++ src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 161c1177..0b75f82e 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -20,8 +20,7 @@ namespace kaleido { Tab::~Tab() { // TODO calling this destructor on shutdown would be V good, otherwise we complain client_->DetachClient(); - client_.reset(); - web_contents_->Close(); + web_contents_.ExtractAsDangling()->Close(); } Job::Job() {} Job::~Job() { diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index aebe635b..f68509b8 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -71,6 +71,11 @@ namespace kaleido { activeJobs[it.first].reset(); activeJobs.erase(it.first); } + while (tabs.size()) { + tabs.front().reset(); + tabs.pop(); + } + parent_ = nullptr; // go through tab and active jobs, maybe have to cancel stuff } diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 754f0cba..692f9173 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -79,6 +79,7 @@ Kaleido::Kaleido() = default; // Control Flow, declare here void Kaleido::ShutdownSoon() { + scope_ptr = nullptr; browser_->BrowserMainThread()->PostTask( FROM_HERE, base::BindOnce(&Kaleido::ShutdownTask, base::Unretained(this))); @@ -87,6 +88,7 @@ void Kaleido::ShutdownTask() { LOG(INFO) << "Calling shutdown on browser"; if (tmpFileName.size()) std::remove(tmpFileName.c_str()); dispatch->Release(); // Fine to destruct what we have here. + dispatch = nullptr; browser_.ExtractAsDangling()->Shutdown(); } From 907e7a661187858c7e45aa6f099e9d8312454bb2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 22:11:10 +0000 Subject: [PATCH 318/510] Fix comments --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 0b75f82e..3afd0a05 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -39,10 +39,11 @@ namespace kaleido { } void Dispatch::CreateTab(int id, const GURL &url) { - // There is a possible race condition here + // There is a possible danglng pointer here // If the browser shuts down right after calling create tab + // Then the unique pointer was be present queue to be destroyed properly // Would need to create tab on the browser thread and put it in active jobs - // To solve + // Basically, protect which threads access which queues auto tab = std::make_unique(); headless::HeadlessWebContents::Builder builder( parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); @@ -86,10 +87,10 @@ namespace kaleido { } } - // Memory TODO + // Memory TODO, singletons etc void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { - // reace condition, all of the below should happen on the browser task + // all of the below should happen on the browser task int job_id = job_number++; job->currentTab = std::move(tab); activeJobs[job_id] = std::move(job); From a2306b2bab473bea193a86b6f15fdd6b257e80f0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 24 Jul 2024 23:41:28 +0000 Subject: [PATCH 319/510] Build function runner --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 28 +++++++++++++++++-- .../cc/126.0.6478.126/dispatch/dispatch.h | 7 +++-- src/kaleido/cc/126.0.6478.126/kaleido.cc | 4 +-- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 3afd0a05..f3f629ab 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -22,7 +22,7 @@ namespace kaleido { client_->DetachClient(); web_contents_.ExtractAsDangling()->Close(); } - Job::Job() {} + Job::Job(std::string& spec): spec(spec) {} Job::~Job() { if (currentTab) currentTab.reset(); } @@ -120,7 +120,8 @@ namespace kaleido { "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); if (activeJobs.find(job_id) == activeJobs.end()) return; activeJobs[job_id]->scriptItr = parent_->localScriptFiles.begin(); - + LOG(INFO) << msg.DebugString(); + activeJobs[job_id]->executionId = *msg.FindDict("params")->FindDict("context")->FindInt("id"); base::Value::Dict empty; runJob4_loadNextScript(job_id, std::move(empty)); @@ -129,7 +130,28 @@ namespace kaleido { void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { if (activeJobs.find(job_id) == activeJobs.end()) return; if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { - // now we export next? + // spec is activeJobs[spec] + // get console.loging + /*std::string exportFunction = base::StringPrintf( + "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", + scope->ScopeName().c_str()); + + std::vector> args = scope->BuildCallArguments();*/ + std::string exportFunction = base::StringPrintf( + "function(arggy) { return arggy }"); + // Params + base::Value::Dict spec; + spec.Set("value", activeJobs[job_id]->spec); + base::Value::List args; + args.Append(std::move(spec)); + base::Value::Dict params; + params.Set("functionDeclaration", exportFunction); + params.Set("arguments", std::move(args)); + params.Set("returnByValue", false); + params.Set("userGesture", true); + params.Set("executionContextId", activeJobs[job_id]->executionId); + LOG(INFO) << params.DebugString(); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", std::move(params), base::BindOnce(&Dispatch::dumpResponse, base::Unretained(this))); return; } std::string scriptPath(*activeJobs[job_id]->scriptItr); diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index f68509b8..3a7da587 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -28,12 +28,13 @@ namespace kaleido { class Job { public: - Job(); + Job(std::string& spec); ~Job(); // should disable other assignments int version; - int id; - base::Value::Dict spec; + int id; // TODO change all this to messageId or userMsgId or something + int executionId; + std::string spec; std::string format; std::string scope; std::unique_ptr currentTab; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 692f9173..19fe9383 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -251,6 +251,7 @@ bool Kaleido::ReadJSON(std::string &msg) { // Trust chromium to handle it all when the browser exits // Doesn't need id, no return if (operation && *operation == "shutdown") { + LOG(INFO) << "Shutdown clean"; ShutdownSoon(); return false; // breaks stdin loop } @@ -260,12 +261,11 @@ bool Kaleido::ReadJSON(std::string &msg) { LOG(INFO) << "It seems like we're using the old protocol."; LOG(INFO) << jsonDict.DebugString(); old=true; - std::unique_ptr job = std::make_unique(); + std::unique_ptr job = std::make_unique(msg); job->version = 0; job->id = -2; job->format = *maybe_format; job->scope = scope_ptr->ScopeName().c_str(); - job->spec = std::move(jsonDict); dispatch->PostJob(std::move(job)); return true; } else { From f8506fd62bf84554dad14b8ca9b1bad30f05d831 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 02:55:13 +0000 Subject: [PATCH 320/510] Change scope.BuildCallArguments to new api --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 23 ++++++-------- src/kaleido/cc/126.0.6478.126/scopes/Base.h | 7 +++-- src/kaleido/cc/126.0.6478.126/scopes/Plotly.h | 31 ++++++++----------- 3 files changed, 28 insertions(+), 33 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index f3f629ab..6c0ad0d4 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -130,20 +130,15 @@ namespace kaleido { void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { if (activeJobs.find(job_id) == activeJobs.end()) return; if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { - // spec is activeJobs[spec] - // get console.loging - /*std::string exportFunction = base::StringPrintf( - "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", - scope->ScopeName().c_str()); - - std::vector> args = scope->BuildCallArguments();*/ - std::string exportFunction = base::StringPrintf( - "function(arggy) { return arggy }"); - // Params + + std::string exportFunction = base::StringPrintf( + "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", + scope->ScopeName().c_str()); + base::Value::Dict spec; spec.Set("value", activeJobs[job_id]->spec); - base::Value::List args; - args.Append(std::move(spec)); + base::Value::List args = parent_->scope_ptr->BuildCallArguments(); + args.Insert(0, std::move(spec)); base::Value::Dict params; params.Set("functionDeclaration", exportFunction); params.Set("arguments", std::move(args)); @@ -151,7 +146,9 @@ namespace kaleido { params.Set("userGesture", true); params.Set("executionContextId", activeJobs[job_id]->executionId); LOG(INFO) << params.DebugString(); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", std::move(params), base::BindOnce(&Dispatch::dumpResponse, base::Unretained(this))); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", + std::move(params), + base::BindOnce(&Dispatch::dumpResponse, base::Unretained(this))); return; } std::string scriptPath(*activeJobs[job_id]->scriptItr); diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Base.h b/src/kaleido/cc/126.0.6478.126/scopes/Base.h index c2e40740..e6c0c323 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Base.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Base.h @@ -22,7 +22,10 @@ namespace kaleido { virtual ~BaseScope(); virtual std::string ScopeName() = 0; - virtual void BuildCallArguments(); + virtual base::Value::List BuildCallArguments(); + // For above, theoretically a JSON list would be + // fine and we should give them + // that option. std::list ScriptTags(); std::list LocalScriptFiles(); std::string GetCommandLineSwitch(std::string name); @@ -46,7 +49,7 @@ namespace kaleido { delete plugin; } - void BaseScope::BuildCallArguments() { + base::Value::List BaseScope::BuildCallArguments() { return; } diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h index 11520ed0..71dd410c 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h @@ -30,7 +30,7 @@ namespace kaleido { std::string ScopeName() override; - void BuildCallArguments() override; + base::Value::List BuildCallArguments() override; public: std::string topojsonUrl; @@ -104,26 +104,21 @@ namespace kaleido { return "plotly"; } - void PlotlyScope::BuildCallArguments() { - /* - std::vector> args; + base::Value::List PlotlyScope::BuildCallArguments() { + + base::Value::List args; + + base::Value::Dict arg1; + arg1.Set("value", mapboxToken); + base::Value::Dict arg2; + arg2.Set("value", topojsonUrl); // Add mapbox token from command line - args.push_back( - headless::runtime::CallArgument::Builder() - .SetValue(std::make_unique(base::StringPiece(mapboxToken))) - .Build() - ); - - // Add topojson url from command-line - args.push_back( - headless::runtime::CallArgument::Builder() - .SetValue(std::make_unique(base::StringPiece(topojsonUrl))) - .Build() - ); + args.append(std::move(arg1)); + args.append(std::move(arg2)); + // TODO essentially were setting strings to functions - return args;*/ - return; + return std::move(args); } } } From 199eab8db4dc54f392a7ad813a25bc086cb629aa Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 12:20:33 +0000 Subject: [PATCH 321/510] Fix up move semantics --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 8 +++----- src/kaleido/cc/126.0.6478.126/kaleido.cc | 3 ++- src/kaleido/cc/126.0.6478.126/kaleido.h | 4 +++- src/kaleido/cc/126.0.6478.126/scopes/Base.h | 3 ++- src/kaleido/cc/126.0.6478.126/scopes/Plotly.h | 6 +++--- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 6c0ad0d4..18d5754d 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -13,9 +13,7 @@ #include "base/task/thread_pool.h" #include "base/task/bind_post_task.h" // We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? - namespace kaleido { - Tab::Tab() {} Tab::~Tab() { // TODO calling this destructor on shutdown would be V good, otherwise we complain @@ -133,12 +131,12 @@ namespace kaleido { std::string exportFunction = base::StringPrintf( "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", - scope->ScopeName().c_str()); + parent_->scope_name.c_str()); base::Value::Dict spec; spec.Set("value", activeJobs[job_id]->spec); - base::Value::List args = parent_->scope_ptr->BuildCallArguments(); - args.Insert(0, std::move(spec)); + base::Value::List args = std::move(parent_->scope_args); + args.Insert(args.begin(), base::Value(std::move(spec))); base::Value::Dict params; params.Set("functionDeclaration", exportFunction); params.Set("arguments", std::move(args)); diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 19fe9383..10c3a7e1 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -124,10 +124,11 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // This handles the case where args[0] is a wchar_t on Windows std::stringstream scope_stringstream; scope_stringstream << args[0]; - std::string scope_name = scope_stringstream.str(); + scope_name = scope_stringstream.str(); // Instantiate renderer scope scope_ptr = LoadScope(scope_name); + scope_args = scope_ptr->BuildCallArguments(); if (!scope_ptr) { // Invalid scope name diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 417912cd..d32e1b2e 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -34,6 +34,7 @@ namespace kaleido { // make more private? std::vector localScriptFiles; base::FilePath cwd; + base::raw_ptr scope_ptr; // This is basically a singleton. Could we pass the constructor instead of on browser start? void OnBrowserStart(headless::HeadlessBrowser* browser); @@ -53,6 +54,8 @@ namespace kaleido { // a browser, global basically, // this is needed for anything that does anything on thread control raw_ptr browser_; + std::string scope_name; + base::Value::List scope_args; void ShutdownSoon(); private: @@ -80,7 +83,6 @@ namespace kaleido { // FROM PREVIOUS STRUCTURE std::string tmpFileName; - base::raw_ptr scope_ptr; }; } diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Base.h b/src/kaleido/cc/126.0.6478.126/scopes/Base.h index e6c0c323..c0e9b13e 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Base.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Base.h @@ -50,7 +50,8 @@ namespace kaleido { } base::Value::List BaseScope::BuildCallArguments() { - return; + base::Value::List empty; + return empty; } std::list BaseScope::ScriptTags() { diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h index 71dd410c..ec901655 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h @@ -114,11 +114,11 @@ namespace kaleido { arg2.Set("value", topojsonUrl); // Add mapbox token from command line - args.append(std::move(arg1)); - args.append(std::move(arg2)); + args.Append(std::move(arg1)); + args.Append(std::move(arg2)); // TODO essentially were setting strings to functions - return std::move(args); + return args; } } } From fcf2d01551e5fc20dc34e75298af917b91510cf6 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 12:21:17 +0000 Subject: [PATCH 322/510] Fix syntax error --- src/kaleido/py/kaleido/scopes/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/py/kaleido/scopes/base.py b/src/kaleido/py/kaleido/scopes/base.py index 5a00c0d1..769cd21c 100755 --- a/src/kaleido/py/kaleido/scopes/base.py +++ b/src/kaleido/py/kaleido/scopes/base.py @@ -183,7 +183,7 @@ def _ensure_kaleido(self): 'executable' ) if 'LD_LIBRARY_PATH' not in env: env['LD_LIBRARY_PATH']="" - env['LD_LIBRARY_PATH'] = str(os.path.join(resource_folder, "lib")) + ":" + env.get('LD_LIBRARY_PATH'] + env['LD_LIBRARY_PATH'] = str(os.path.join(resource_folder, "lib")) + ":" + env['LD_LIBRARY_PATH'] env['FONTCONFIG_PATH'] = str(os.path.join(resource_folder, "etc", "fonts")) env['XDG_DATA_HOME'] = str(os.path.join(resource_folder, "xdg")) From 77969687dd29305cf8beb96cb4231e2bc2dfb1e1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 12:44:45 +0000 Subject: [PATCH 323/510] Fix bad iterator --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 18d5754d..cb56eeff 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -128,7 +128,6 @@ namespace kaleido { void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { if (activeJobs.find(job_id) == activeJobs.end()) return; if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { - std::string exportFunction = base::StringPrintf( "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", parent_->scope_name.c_str()); @@ -143,7 +142,6 @@ namespace kaleido { params.Set("returnByValue", false); params.Set("userGesture", true); params.Set("executionContextId", activeJobs[job_id]->executionId); - LOG(INFO) << params.DebugString(); activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", std::move(params), base::BindOnce(&Dispatch::dumpResponse, base::Unretained(this))); @@ -160,8 +158,7 @@ namespace kaleido { return; } std::string scriptString((std::istreambuf_iterator(script)), - std::istreambuf_iterator(script)); - + std::istreambuf_iterator()); auto after_loaded = base::BindRepeating( &Dispatch::runJob5_runLoadedScript, base::Unretained(this), job_id); @@ -169,7 +166,6 @@ namespace kaleido { script_params.Set("expression", scriptString); script_params.Set("sourceURL", scriptPath); script_params.Set("persistScript", true); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.compileScript", std::move(script_params), after_loaded); } From 1ed78d5f9a53ea6a3cda817d38caafd81dde2c2e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 12:44:54 +0000 Subject: [PATCH 324/510] Make devtools aware of promise --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index cb56eeff..24ad3b38 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -141,6 +141,7 @@ namespace kaleido { params.Set("arguments", std::move(args)); params.Set("returnByValue", false); params.Set("userGesture", true); + params.Set("awaitPromise", true); params.Set("executionContextId", activeJobs[job_id]->executionId); activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", std::move(params), From 21beb1d63d2159b5db1578c57456a7f6337add66 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 20:11:44 +0000 Subject: [PATCH 325/510] Add techdebt description --- TECHDEBT.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 TECHDEBT.md diff --git a/TECHDEBT.md b/TECHDEBT.md new file mode 100644 index 00000000..2cacfba2 --- /dev/null +++ b/TECHDEBT.md @@ -0,0 +1,44 @@ +# + +These are ordered by how they should be done. + +## Concurrency +(Chromium's concurrency model is inferior to golangs.) + +There are tiny race conditions in cornercases that will prompt chrome to terminate with a segfault or a dangling pointer warning, +they are unlikely and they occur only during destruction. To solve them, the code must be reorganized: + +The job_line will be marked as non-interruptable during shutdown. To be fair, it will even CALL shutdown and provide an escape for all tasks if it does, effectively marking itself as dead. + +Tabs can only be created on job_line, and it must sort it immeditately (ie same task, before calling others) into a queue so that if the next task is the shutdown process, job_line will see it in one of the queues and destroy it. That means a sort_both task to check both queues and see if a tab or job should be matched. Of course, if shut down is called, both the create_tab process and the sort_both will bail early if a previous job_line task marked the job_line tasks as EOL. + +Active_jobs, (idle) tabs, and (idle) jobs queues and maps must be added to and removed from only by job_line. +However, active_jobs are effectively passed by job_line to browser_sequence which can then pass it back to job_line. Returned jobs are always destroyed, failed or not, and tabs are placed back into an idle queue (or resorted with new job immediately). +job_line can _inform_ browser_sequence that all active_jobs are to be cancelled. The next browser_sequence task that uses that job will cancel the tab for the browserline and can even destroy the job! If the empty pointer is left in active_jobs, it doesn't matter, no one will look, nobody complains if empty null-set pointers go down with the program. + +In summary: job_line should tell itself not to partition any new tabs or new jobs, and to cancel early all requests as such. It should go trhough all idle tabs and ask the browser to destroy them. It can destroy all idle jobs. It should go through all the active jobs and ask the browser to destroy them. + +Active_jobs can be read by the browser task group on browser_sequence that is started and finished by job_line (and the tab closed and job marked as dead. A request by job_line for browser_task might be out of order, and browser_tab should mark it dead and then allow its next in-order task to actually pass it back to job_line to be fully destroyed, and NOT call its next in-order task. Once it passes an active job back to the job_line, it should not access it again. The job_line will remove that job and tab from active_jobs and call any one of it's self-owned sort methods, unless it sees it was marked as dead in which case it will simply dispose of it. + +If job_line is satisfied that all active tasks are eliminated and all idle_tabs are elimninate, it can call browser shutdown. That means on shutdown, it must count the number of active jobs, and then as they are passed back, kill it each one, and when the counter is reduced, shutdown. +## Scopes + +Scopes in general is heavily overengineered (while the the tab driver is not). There is no need for having other consumers write js, py, and c++ to create a scope. A scope should simple by a folder named "myScope" with an index.html which functions as a "template" page for the visualization software, and then a "myScope.js" which receives arguments from python (through c++ or not in our new architecutre), and executes the myScope.js script on top fo the myScope/index.html template page. Can pass the desired download directory and no need to pass the raw data back to json as well. + +Other users will NOT send us pull requests to add scopes to our base repo. They will import kaleido as a dependency, and they will initialize a class w/ a path to their myScope.js and template page. They will wrap it in a function for their library and our class will start the chromium process navigating to their index.html, and then their function will cause kaleido to execute the myScope.js script and pass whatever arguments it needs to it. + +## Messaging consistency + +There is currently an old mode, the original architecture had IPC via commandline options AND by json messages. No need, do all through JSON, only works if the above is achieved. + +## Naming of variables + +I have several id variables (job id, message id) and message id is just called id. Change it to message id. + +## Class Organization (and .h/.cc file) + +In general, the scopes or ANY c++ (whats not eliminated by techdebt earlier executed), needs to have its DECLARATIONS in .h files, its DEFINITIONS in .cc files, anything else makes the linker break. (inline in .h is ok). + +## Exit + +We shoudl catch Ctl+C signals and send ourselves the end stdin signal in return, but only one time! and that would allow users who ctl+c to try a graceful shutdown, but would termiante come hell or highwater if double Ctl+C is sent. From de227fe68840fc83ed1f42307519877ffddff703 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 20:27:55 +0000 Subject: [PATCH 326/510] Add more debugging info to js --- src/kaleido/js/src/plotly/parse.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/kaleido/js/src/plotly/parse.js b/src/kaleido/js/src/plotly/parse.js index 18293d04..c5e7b944 100644 --- a/src/kaleido/js/src/plotly/parse.js +++ b/src/kaleido/js/src/plotly/parse.js @@ -33,6 +33,7 @@ const ACCEPT_HEADER = Object.keys(contentFormat).reduce(function (obj, key) { * - result */ function parse (body, _opts) { + let debugStruct = {}; const result = {} const errorOut = (code, extra) => { @@ -47,13 +48,15 @@ function parse (body, _opts) { // to support both 'serve' requests (figure/format/../) // and 'run' body (data/layout) structures if (body.figure) { + debugStruct['request_type'] = 'serve' figure = body.figure opts = body } else { + debugStruct['request_type'] = 'run' figure = body opts = _opts } - + result.scale = isPositiveNumeric(opts.scale) ? Number(opts.scale) : cst.dflt.scale result.fid = isNonEmptyString(opts.fid) ? opts.fid : null result.encoded = !!opts.encoded @@ -69,7 +72,7 @@ function parse (body, _opts) { } if (!isPlainObj(figure)) { - return errorOut(400, 'non-object figure') + return errorOut(400, 'non-object figure: ' + JSON.stringify(debugStruct)) } if (!figure.data && !figure.layout) { From edaf5c6daec27d8bf9989527fee45b8f3c61c5c5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 20:30:26 +0000 Subject: [PATCH 327/510] Pass spec as json-like, not json-string --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 8 ++++---- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h | 4 ++-- src/kaleido/cc/126.0.6478.126/kaleido.cc | 3 ++- src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 24ad3b38..2707de4e 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -20,7 +20,7 @@ namespace kaleido { client_->DetachClient(); web_contents_.ExtractAsDangling()->Close(); } - Job::Job(std::string& spec): spec(spec) {} + Job::Job() {} Job::~Job() { if (currentTab) currentTab.reset(); } @@ -88,13 +88,13 @@ namespace kaleido { // Memory TODO, singletons etc void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { - // all of the below should happen on the browser task int job_id = job_number++; + job->currentTab = std::move(tab); activeJobs[job_id] = std::move(job); parent_->browser_->BrowserMainThread()->PostTask( FROM_HERE, - base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), job_id)); + base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), job_id)); // jobline gives browser control of tab/job return; } @@ -133,7 +133,7 @@ namespace kaleido { parent_->scope_name.c_str()); base::Value::Dict spec; - spec.Set("value", activeJobs[job_id]->spec); + spec.Set("value", std::move(activeJobs[job_id]->spec_parsed)); base::Value::List args = std::move(parent_->scope_args); args.Insert(args.begin(), base::Value(std::move(spec))); base::Value::Dict params; diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 3a7da587..c8a1f3c2 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -28,13 +28,13 @@ namespace kaleido { class Job { public: - Job(std::string& spec); + Job(); ~Job(); // should disable other assignments int version; int id; // TODO change all this to messageId or userMsgId or something int executionId; - std::string spec; + base::Value::Dict spec_parsed; std::string format; std::string scope; std::unique_ptr currentTab; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 10c3a7e1..2509b9bd 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -262,11 +262,12 @@ bool Kaleido::ReadJSON(std::string &msg) { LOG(INFO) << "It seems like we're using the old protocol."; LOG(INFO) << jsonDict.DebugString(); old=true; - std::unique_ptr job = std::make_unique(msg); + std::unique_ptr job = std::make_unique(); job->version = 0; job->id = -2; job->format = *maybe_format; job->scope = scope_ptr->ScopeName().c_str(); + job->spec_parsed = std::move(jsonDict); dispatch->PostJob(std::move(job)); return true; } else { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index d32e1b2e..82b16149 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -40,6 +40,7 @@ namespace kaleido { void OnBrowserStart(headless::HeadlessBrowser* browser); // Dispatch uses this to let us know how things went + void PostEchoTaskOld(const std::string&); void ReportOperation(int id, bool success, const base::Value::Dict &msg); void ReportSuccess(int id); void ReportFailure(int id, const std::string& msg); @@ -67,7 +68,6 @@ namespace kaleido { void postListenTask(); std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call postListenTask() once void PostEchoTask(const std::string&); // echo something out - void PostEchoTaskOld(const std::string&); std::unordered_map messageIds; // every message must have a unique id bool ReadJSON(std::string&); // try to turn message into json object From d96bfd40522d9b4fc4cd61cf1266329527ef7a47 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 20:33:44 +0000 Subject: [PATCH 328/510] Add process image and close job tasks --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 27 ++++++++++++++++--- .../cc/126.0.6478.126/dispatch/dispatch.h | 4 ++- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 2707de4e..a79fdc99 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -1,4 +1,3 @@ - #include #include "base/logging.h" @@ -144,8 +143,8 @@ namespace kaleido { params.Set("awaitPromise", true); params.Set("executionContextId", activeJobs[job_id]->executionId); activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", - std::move(params), - base::BindOnce(&Dispatch::dumpResponse, base::Unretained(this))); + std::move(params), + base::BindOnce(&Dispatch::runJob6_processImage, base::Unretained(this), job_id)); return; } std::string scriptPath(*activeJobs[job_id]->scriptItr); @@ -170,7 +169,7 @@ namespace kaleido { activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.compileScript", std::move(script_params), after_loaded); } - void Dispatch::runJob5_runLoadedScript(const int job_id, const base::Value::Dict msg) { + void Dispatch::runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg) { if (activeJobs.find(job_id) == activeJobs.end()) return; activeJobs[job_id]->scriptItr++; @@ -183,6 +182,26 @@ namespace kaleido { activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.runScript", std::move(script_params), after_run); } + void Dispatch::runJob6_processImage(const int& job_id, base::Value::Dict msg) { + if (activeJobs.find(job_id) == activeJobs.end()) return; + std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); + PostEchoTaskOld(result.c_str()); + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id + return; + } + + void Dispatch::closeJob(const int& job_id) { // browser is modifying activejobs/etc, it should be jobline + int messageId = activeJobs[job_id]->id; + if (activeJobs.find(job_id) == activeJobs.end()) return; + auto oldTab = std::move(activeJobs[job_id]->currentTab); + auto oldJob = std::move(activeJobs[job_id]); + oldJob.reset(); + activeJobs.erase(job_id); + sortTab(messageId, std::move(oldTab)); + } + void Dispatch::PostJob(std::unique_ptr job) { if (job->format == "eps" && !popplerAvailable) { parent_->Api_OldMsg( diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index c8a1f3c2..2dc1a229 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -103,10 +103,12 @@ namespace kaleido { void runJob2_reloadTab(const int &job_id, base::Value::Dict msg); void runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg); void runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg); - void runJob5_runLoadedScript(const int job_id, const base::Value::Dict msg); + void runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg); + void runJob6_processImage(const int &job_id, const base::Value::Dict msg); void sortTab(int id, std::unique_ptr tab); void sortJob(std::unique_ptr); + void closeJob(const int &job_id); void dispatchJob(std::unique_ptr job, std::unique_ptr tab); void dumpEvent(const base::Value::Dict& msg); void dumpResponse(base::Value::Dict msg); From 97e93e0cc974c9f229801f06ee72c403a02acc7e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 20:35:21 +0000 Subject: [PATCH 329/510] Retab, organize, and comment --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 18 +++++++----------- .../cc/126.0.6478.126/dispatch/dispatch.h | 8 ++++++-- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- src/kaleido/cc/126.0.6478.126/kaleido.h | 6 +++--- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index a79fdc99..a637c85c 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -36,11 +36,6 @@ namespace kaleido { } void Dispatch::CreateTab(int id, const GURL &url) { - // There is a possible danglng pointer here - // If the browser shuts down right after calling create tab - // Then the unique pointer was be present queue to be destroyed properly - // Would need to create tab on the browser thread and put it in active jobs - // Basically, protect which threads access which queues auto tab = std::make_unique(); headless::HeadlessWebContents::Builder builder( parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); @@ -67,6 +62,7 @@ namespace kaleido { } } + // jobLine modifying tabs and jobs void Dispatch::sortTab(int id, std::unique_ptr tab) { if (jobs.size() == 0) { tabs.push(std::move(tab)); @@ -75,6 +71,8 @@ namespace kaleido { jobs.pop(); } } + + // jobLine modifying tabs and jobs void Dispatch::sortJob(std::unique_ptr job) { if (tabs.size() == 0) { jobs.push(std::move(job)); @@ -84,8 +82,7 @@ namespace kaleido { } } - // Memory TODO, singletons etc - + // jobline modying tabs and jobs and aciveJobs void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { int job_id = job_number++; @@ -121,15 +118,14 @@ namespace kaleido { activeJobs[job_id]->executionId = *msg.FindDict("params")->FindDict("context")->FindInt("id"); base::Value::Dict empty; runJob4_loadNextScript(job_id, std::move(empty)); - } void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { if (activeJobs.find(job_id) == activeJobs.end()) return; if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { - std::string exportFunction = base::StringPrintf( - "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", - parent_->scope_name.c_str()); + std::string exportFunction = base::StringPrintf( + "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", + parent_->scope_name.c_str()); base::Value::Dict spec; spec.Set("value", std::move(activeJobs[job_id]->spec_parsed)); diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 2dc1a229..a733be74 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -34,7 +34,7 @@ namespace kaleido { int version; int id; // TODO change all this to messageId or userMsgId or something int executionId; - base::Value::Dict spec_parsed; + base::Value::Dict spec_parsed; std::string format; std::string scope; std::unique_ptr currentTab; @@ -67,6 +67,10 @@ namespace kaleido { void ReloadAll(); void Release() { + // browser thread removing active jobs and tabs, it needs to happen in two parts + // jobline has to remove it from the queue or array + // browser has to actually destroy it + // browser will always finish its task if shutdown is called browser_devtools_client_.DetachClient(); for (auto &it : activeJobs) { activeJobs[it.first].reset(); @@ -93,7 +97,7 @@ namespace kaleido { std::queue> jobs; int job_number = 0; - std::unordered_map> activeJobs; // TODO needs to transfer everthing + std::unordered_map> activeJobs; // All queue operations happen on a SequencedTaskRunner for memory safety // Note: no callbacks allowed from within the SequencedTaskRunner diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 2509b9bd..d04e6161 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -267,7 +267,7 @@ bool Kaleido::ReadJSON(std::string &msg) { job->id = -2; job->format = *maybe_format; job->scope = scope_ptr->ScopeName().c_str(); - job->spec_parsed = std::move(jsonDict); + job->spec_parsed = std::move(jsonDict); dispatch->PostJob(std::move(job)); return true; } else { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 82b16149..1255fd56 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -34,13 +34,13 @@ namespace kaleido { // make more private? std::vector localScriptFiles; base::FilePath cwd; - base::raw_ptr scope_ptr; + base::raw_ptr scope_ptr; // This is basically a singleton. Could we pass the constructor instead of on browser start? void OnBrowserStart(headless::HeadlessBrowser* browser); // Dispatch uses this to let us know how things went - void PostEchoTaskOld(const std::string&); + void PostEchoTaskOld(const std::string&); void ReportOperation(int id, bool success, const base::Value::Dict &msg); void ReportSuccess(int id); void ReportFailure(int id, const std::string& msg); @@ -55,7 +55,7 @@ namespace kaleido { // a browser, global basically, // this is needed for anything that does anything on thread control raw_ptr browser_; - std::string scope_name; + std::string scope_name; base::Value::List scope_args; void ShutdownSoon(); From 7c73744e8fab8ee424a42d8936f96916660a2a28 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 20:36:11 +0000 Subject: [PATCH 330/510] Fix method access --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index a637c85c..8a3fecd9 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -181,7 +181,7 @@ namespace kaleido { void Dispatch::runJob6_processImage(const int& job_id, base::Value::Dict msg) { if (activeJobs.find(job_id) == activeJobs.end()) return; std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); - PostEchoTaskOld(result.c_str()); + parent_->PostEchoTaskOld(result.c_str()); job_line->PostTask( FROM_HERE, base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id From 1693edb9f26e47c4110ba98840574d7894644ec3 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 20:41:28 +0000 Subject: [PATCH 331/510] Clean up logging and notes --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 1 - src/kaleido/cc/126.0.6478.126/kaleido.cc | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 8a3fecd9..84bc115d 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -114,7 +114,6 @@ namespace kaleido { "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); if (activeJobs.find(job_id) == activeJobs.end()) return; activeJobs[job_id]->scriptItr = parent_->localScriptFiles.begin(); - LOG(INFO) << msg.DebugString(); activeJobs[job_id]->executionId = *msg.FindDict("params")->FindDict("context")->FindInt("id"); base::Value::Dict empty; runJob4_loadNextScript(job_id, std::move(empty)); diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index d04e6161..17cc9090 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -230,6 +230,7 @@ void Kaleido::PostEchoTask(const std::string &msg) { auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); } + void Kaleido::PostEchoTaskOld(const std::string &msg) { auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); From 69a7637a2e6d5baaac5d50d27269ca42267b6fa7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 21:16:16 +0000 Subject: [PATCH 332/510] Fix check_errors access --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 25 +++++++++++++++---- .../cc/126.0.6478.126/dispatch/dispatch.h | 2 ++ src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 84bc115d..7376a673 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -94,14 +94,29 @@ namespace kaleido { return; } + inline bool Dispatch::checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id) { + if (msg.FindString("error")) { + std::string error = base::StringPrintf( + "%s: Response: %s", context.c_str(), msg.DebugString().c_str()); + if (parent_->old) parent_->Api_OldMsg(1, error); + else parent_->ReportFailure(activeJobs[job_id]->id, error); + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id + return true; + } + return false; + } + void Dispatch::runJob1_resetTab(const int &job_id) { if (activeJobs.find(job_id) == activeJobs.end()) return; + activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable"); activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); } void Dispatch::runJob2_reloadTab(const int &job_id, base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end()) return; + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob2_reloadTab", job_id)) return; auto cb = base::BindRepeating(&Dispatch::runJob3_loadScripts, base::Unretained(this), job_id); activeJobs[job_id]->runtimeEnableCb = cb; activeJobs[job_id]->currentTab->client_->AddEventHandler("Runtime.executionContextCreated", cb); @@ -112,7 +127,7 @@ namespace kaleido { LOG(INFO) << "Runtime enable"; activeJobs[job_id]->currentTab->client_->RemoveEventHandler( "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); - if (activeJobs.find(job_id) == activeJobs.end()) return; + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob3_loadScripts", job_id)) return; activeJobs[job_id]->scriptItr = parent_->localScriptFiles.begin(); activeJobs[job_id]->executionId = *msg.FindDict("params")->FindDict("context")->FindInt("id"); base::Value::Dict empty; @@ -120,7 +135,7 @@ namespace kaleido { } void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end()) return; + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob4_loadNextScript", job_id)) return; if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { std::string exportFunction = base::StringPrintf( "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", @@ -165,7 +180,7 @@ namespace kaleido { } void Dispatch::runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end()) return; + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob5_runLoadedScript", job_id)) return; activeJobs[job_id]->scriptItr++; auto after_run = base::BindRepeating( @@ -178,7 +193,7 @@ namespace kaleido { } void Dispatch::runJob6_processImage(const int& job_id, base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end()) return; + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob6_processImage", job_id)) return; std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); parent_->PostEchoTaskOld(result.c_str()); job_line->PostTask( diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index a733be74..39c547a9 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -121,6 +121,8 @@ namespace kaleido { bool popplerAvailable; bool inkscapeAvailable; std::unique_ptr env; + + inline bool checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id); }; } diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 1255fd56..f2c21cc1 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -58,10 +58,10 @@ namespace kaleido { std::string scope_name; base::Value::List scope_args; void ShutdownSoon(); + bool old = false; private: - bool old = false; // User IO stuff for main void StartListen(); // continually reads stdin on parallel task void listenTask(); From 5765fd482976e4b8b2bcd4e9f4a0af380b334b9a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 21:16:21 +0000 Subject: [PATCH 333/510] Add to script loop to copy libs --- toolchain/src/10-extract.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index ad3441b0..5079764c 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -104,10 +104,14 @@ missing=False, annotate=False, relative=True)")") done fi + # all linux, copy whole non-kernel lib + for f in $(sed -nr 's/^.*=> (.*) \(.*/\1/p' <(ldd ${SRC_DIR}/kaleido)); do + mkdir -p $BUILD_DIR/lib/ + cp $f $BUILD_DIR/lib/ + done fi -# Ignoring this for now, do we really want -comment=' +old_stylecomment=' if [ $KALEIDO_ARCH == "x64" ]; then # /usr/lib/x86_64-linux-gnu/ for SO_FILE in libnss3.so libnssutil3.so libnspr4.so libplc4.so libplds4.so libsqlite3.so.0 From 62f6e2dbf8d206afeeed4fd853eca26296c456c0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 21:59:09 +0000 Subject: [PATCH 334/510] Make pure pylib again --- src/kaleido/py/setup.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index 94bbe446..3f49c9f4 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -175,12 +175,6 @@ def run(self): package_data={ 'kaleido': executable_files, }, - ext_modules=[ # provokes a platform build - setuptools.Extension( - name='kaleido-chromium', - sources=[] - ) - ], cmdclass=dict( clean=CleanCommand, write_version=WriteVersion, From ce106c6d4a0b7238e6f1377552f8c33266cf6521 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 22:10:24 +0000 Subject: [PATCH 335/510] Try removing devtools client --- toolchain/src/10-extract.sh | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 5079764c..1510a554 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -111,32 +111,4 @@ missing=False, annotate=False, relative=True)")") done fi -old_stylecomment=' -if [ $KALEIDO_ARCH == "x64" ]; then - # /usr/lib/x86_64-linux-gnu/ - for SO_FILE in libnss3.so libnssutil3.so libnspr4.so libplc4.so libplds4.so libsqlite3.so.0 - do - cp /usr/lib/x86_64-linux-gnu/$SO_FILE /repos/build/kaleido/lib/$SO_FILE - done - - # /usr/lib/x86_64-linux-gnu/nss - cp /usr/lib/x86_64-linux-gnu/nss/* /repos/build/kaleido/lib/ - - # /lib/x86_64-linux-gnu/ - for SO_FILE in libexpat.so.1 # libdl.so.2 libpthread.so.0 librt.so.1 libm.so.6 libgcc_s.so.1 libc.so.6 - do - cp /lib/x86_64-linux-gnu/$SO_FILE /repos/build/kaleido/lib/$SO_FILE - done - -elif [ $KALEIDO_ARCH == "arm64" ]; then - # /usr/lib/aarch64-linux-gnu/ - for SO_FILE in libnss3.so libnssutil3.so libnspr4.so libplc4.so libplds4.so libsqlite3.so.0 - do - cp /repos/src/build/linux/debian_sid_arm64-sysroot/usr/lib/aarch64-linux-gnu/$SO_FILE /repos/build/kaleido/lib/$SO_FILE - done - - # /usr/lib/aarch64-linux-gnu/nss - cp /repos/src/build/linux/debian_sid_arm64-sysroot/usr/lib/aarch64-linux-gnu/nss/* /repos/build/kaleido/lib/ - -fi -' +rm -rf $BUILD_DIR/gen/third_party/devtools-frontend/ # huge and i doubt we need it From 9e7453ebc3e12f55d0e688effc9f49c0319c26f9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 22:11:11 +0000 Subject: [PATCH 336/510] Give temporary name --- src/kaleido/py/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/py/setup.py b/src/kaleido/py/setup.py index 3f49c9f4..830d76f2 100644 --- a/src/kaleido/py/setup.py +++ b/src/kaleido/py/setup.py @@ -157,7 +157,7 @@ def run(self): self.run_command("bdist_wheel") setup( - name="kaleido", + name="kaleidofix2", version=version, author="Jon Mease", author_email="jon@plotly.com", From a1daa11e7322439a781bed20228fe32659339ab0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 22:40:54 +0000 Subject: [PATCH 337/510] Add some more mease to the extract --- toolchain/src/10-extract.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 1510a554..edb327e4 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -109,6 +109,11 @@ missing=False, annotate=False, relative=True)")") mkdir -p $BUILD_DIR/lib/ cp $f $BUILD_DIR/lib/ done + # manual + cp /usr/lib/x86_64-linux-gnu/nss/* ${BUILD_DIR}/lib/ + for f in libdl libpthread librt libm libgcc_s libc; do + rm ${BUILD_DIR}/lib/${f}* || echo "No ${f}" + done fi rm -rf $BUILD_DIR/gen/third_party/devtools-frontend/ # huge and i doubt we need it From e8eb035537cb4f5c20e41018479c21fe3910e418 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 23:10:08 +0000 Subject: [PATCH 338/510] Remove debugging symbols from output --- toolchain/src/10-extract.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index edb327e4..8b12d1d2 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -92,6 +92,7 @@ fi if [[ "$PLATFORM" == "LINUX" ]]; then if [[ "${CHROMIUM_VERSION_TAG}" == "126.0.6478.126" ]] || $TRY; then + strip -s "${SRC_DIR}/kaleido" cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" chmod +x "${BUILD_DIR}/kaleido" FILES=$(echo -e "$($PYTHON -c "$IMPORT; \ From 37e4ddfc395855eb1cff0642e97a0f982197a2f2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 25 Jul 2024 23:12:52 +0000 Subject: [PATCH 339/510] Remove printing --- toolchain/gn_fragments/126.0.6478.126/BUILD.gn | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn index ad6c8d67..5aafac9e 100644 --- a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn +++ b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn @@ -49,7 +49,6 @@ executable("kaleido") { "//content/public/child:child", "//content/public/common", "//content/public/utility", - "//printing/buildflags", ] if (proprietary_codecs) { deps += [ ":generate_headless_shell_license_file" ] @@ -65,15 +64,6 @@ executable("kaleido") { if (!is_fuchsia) { deps += [ "//components/crash/content/browser" ] } - if (enable_printing) { - deps += [ - "//components/printing/browser", - "//components/printing/browser/headless:headless", - "//components/printing/renderer", - "//components/services/print_compositor", - "//components/services/print_compositor/public/mojom", - ] - } if (is_win) { defines = [ "HEADLESS_USE_CRASHPAD" ] deps += [ From 5c84c804459f321126532eaab446cd23704c1996 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 28 Jul 2024 16:22:25 +0000 Subject: [PATCH 340/510] Revert "Remove printing" This reverts commit 37e4ddfc395855eb1cff0642e97a0f982197a2f2. --- toolchain/gn_fragments/126.0.6478.126/BUILD.gn | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn index 5aafac9e..ad6c8d67 100644 --- a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn +++ b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn @@ -49,6 +49,7 @@ executable("kaleido") { "//content/public/child:child", "//content/public/common", "//content/public/utility", + "//printing/buildflags", ] if (proprietary_codecs) { deps += [ ":generate_headless_shell_license_file" ] @@ -64,6 +65,15 @@ executable("kaleido") { if (!is_fuchsia) { deps += [ "//components/crash/content/browser" ] } + if (enable_printing) { + deps += [ + "//components/printing/browser", + "//components/printing/browser/headless:headless", + "//components/printing/renderer", + "//components/services/print_compositor", + "//components/services/print_compositor/public/mojom", + ] + } if (is_win) { defines = [ "HEADLESS_USE_CRASHPAD" ] deps += [ From f9c43650ccba8468264a350220a4e7d9ada83dde Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 28 Jul 2024 16:46:45 +0000 Subject: [PATCH 341/510] Change default to production build --- toolchain/src/06-build_ninja.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index a84f67b3..95801b8e 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -15,10 +15,9 @@ usage=( "You can always try -v or --verbose" "" - "Final: this will generate a release build, meaning longer compile, faster startup, perfect timestamp." - "Updating timestamp will prompt a rebuild of lots of libraries you otherwise don't need to rebuild, so" - "do this at the end." - "build_ninja [-f|--final]" + "This will prompt a dev build, or a component build. Compiling goes from 30 seconds to 5" + "seconds for your typical small kaleido change. Not packagable." + "build_ninja [-d|--dev]" "" "Show: show will just let you know if you last did a development build or not" "build_ninja [-s|--show]" @@ -34,13 +33,18 @@ usage=( # todo args --list # todo show -FLAGS=("-f" "--final" "-s" "--show" "-l" "--list" "-t" "--try") +FLAGS=("-d" "--dev" "-s" "--show" "-l" "--list" "-t" "--try") ARGFLAGS=() SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" . "$SCRIPT_DIR/include/utilities.sh" -FINAL="$(flags_resolve false "-f" "--final")" +FINAL=true +DEV="$(flags_resolve false "-d" "--dev")" +if $DEV; then + FINAL=false +fi + $FINAL && DEV=false || DEV=true SHOW="$(flags_resolve false "-s" "--show")" From f028de6fb25508b4c816670390b56545931493a4 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 29 Jul 2024 11:53:16 -0500 Subject: [PATCH 342/510] Add windows build artifacts to gitignore --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 9681b63a..8bc2ce48 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,8 @@ src/kaleido/CREDITS.html src/kaleido/version CREDITS.html src/kaleido/py/kaleido/executable +# Windows build artifacts +vendor/.cipd +vendor/.gclient_entries +vendor/.gclient_previous_sync_commits +vendor/.gcs_entries From 235e9b578cde5d78a53240bf423321c1e8c31b98 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 29 Jul 2024 11:53:41 -0500 Subject: [PATCH 343/510] Fix 02, 03 to use cmd.exe in windows --- toolchain/src/02-init_tools.sh | 16 ++++++++-------- toolchain/src/03-ksync.sh | 14 +++++++++++--- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 5f92882c..33e62d1b 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -39,17 +39,17 @@ util_export_version # This may change with depot tools vesion, and it still needs to be worked out per platform if [[ "$PLATFORM" == "WINDOWS" ]]; then if [[ "$CHROMIUM_VERSION_TAG" == "88.0.4324.150" ]]; then - util_error "Try to execute the following manually first" - # What's the deal with this really though, how do you call this - # Do we expect to be in the depot_tools directory? + util_error "no worky" cmd.exe /c cipd_bin_setup.bat cmd.exe /c 'bootstrap\win_tools.bat' elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]] || $TRY; then - util_error "Try to execute the following manually first" - # What's the deal with this really though, how do you call this - # Do we expect to be in the depot_tools directory? - cmd.exe /c cipd_bin_setup.bat - cmd.exe /c 'bootstrap\win_tools.bat' + pushd $MAIN_DIR/vendor/depot_tools/ + cmd < Date: Mon, 29 Jul 2024 12:12:50 -0500 Subject: [PATCH 344/510] Eliminate old readme --- src/kaleido/README.md | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 src/kaleido/README.md diff --git a/src/kaleido/README.md b/src/kaleido/README.md deleted file mode 100644 index 99badbc2..00000000 --- a/src/kaleido/README.md +++ /dev/null @@ -1,19 +0,0 @@ -You'll see some different cc folders. - -The cc folder that works with a particular chromium build is marked in [BUILD_AND_RELEASE.md](../../toolchain/BUILD_AND_RELEASE.md). - - -Chromium had two APIs for headless integration, they axed the one we were using after letting it degrade. - -We also used Chromium's `base::` namespace for JSON and Key-Value dictionary utilities, but they [mention](https://chromium.googlesource.com/chromium/src/+/refs/tags/88.0.4324.150/base/README.md) not to do that. They also claim that `base::` is "very mature". IMO, YMMV. - -A true version 2.x.x of the C++ portion of Kaleido probably looks like: No reliance on `base::`, and full adoption of the only headless API left. - - - -### Version 1.5: - -This updates a couple variable interfaces, mainly around the `base::Value` types regarding dictionary key-value access. There had been a string conversion (`as_string`) removed in favor of overloading the type cast operator `std::string(variable_name)`. - - -No updates to fundamental headless api yet. From dd5363a17166cf3c6e0196011cd690c1905b7b9e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 29 Jul 2024 12:13:18 -0500 Subject: [PATCH 345/510] Add patch to fix version.py for windows --- .../chromium/126.0.6478.126/126.0.6478.126.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/vendor-patches/chromium/126.0.6478.126/126.0.6478.126.patch diff --git a/src/vendor-patches/chromium/126.0.6478.126/126.0.6478.126.patch b/src/vendor-patches/chromium/126.0.6478.126/126.0.6478.126.patch new file mode 100644 index 00000000..5314b13b --- /dev/null +++ b/src/vendor-patches/chromium/126.0.6478.126/126.0.6478.126.patch @@ -0,0 +1,13 @@ +diff --git a/tools/licenses/licenses.py b/tools/licenses/licenses.py +index f3a8ba3756..d34995ee5e 100755 +--- a/tools/licenses/licenses.py ++++ b/tools/licenses/licenses.py +@@ -15,6 +15,8 @@ Commands: + """ + from __future__ import print_function + ++import sys ++sys.stdout.reconfigure(encoding='utf-8') + import argparse + import codecs + import csv From 0c0804c95552a321398db6c9870c938ef89fe6b6 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 29 Jul 2024 13:30:34 -0500 Subject: [PATCH 346/510] Safety-escape character --- toolchain/src/03-ksync.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh index 8d2bb763..3a70bc3e 100755 --- a/toolchain/src/03-ksync.sh +++ b/toolchain/src/03-ksync.sh @@ -36,7 +36,7 @@ export DEPOT_TOOLS_UPDATE=0 # otherwise it advances to the tip of branch main ## but sometimes it skips other necessary things! Thats why we had init_tools V_FLAG="" if [[ "$PLATFORM" == "WINDOWS" ]]; then - COMMAND="depot_tools\gclient.bat sync -D --force --verbose --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG + COMMAND="depot_tools\\gclient.bat sync -D --force --verbose --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG \nexit" pushd $MAIN_DIR/vendor echo -e $COMMAND | cmd.exe From 4d1505d0042d09dcdfa73f8f527846202034c0f1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 29 Jul 2024 14:58:39 -0500 Subject: [PATCH 347/510] Adjust for windows --- toolchain/src/02-init_tools.sh | 7 +++++-- toolchain/src/03-ksync.sh | 6 +++++- toolchain/src/06-build_ninja.sh | 15 ++++++++++++++- toolchain/src/08-sync_cpp.sh | 11 +++++++++++ 4 files changed, 35 insertions(+), 4 deletions(-) diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 33e62d1b..35d77933 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -45,8 +45,11 @@ if [[ "$PLATFORM" == "WINDOWS" ]]; then elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]] || $TRY; then pushd $MAIN_DIR/vendor/depot_tools/ cmd < Date: Mon, 29 Jul 2024 15:55:13 -0500 Subject: [PATCH 348/510] Fix up some syntax --- toolchain/src/02-init_tools.sh | 13 +++++++------ toolchain/src/03-ksync.sh | 7 ++++--- toolchain/src/04-patch_chromium.sh | 4 +++- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 35d77933..2e467cb0 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -43,18 +43,19 @@ if [[ "$PLATFORM" == "WINDOWS" ]]; then cmd.exe /c cipd_bin_setup.bat cmd.exe /c 'bootstrap\win_tools.bat' elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]] || $TRY; then - pushd $MAIN_DIR/vendor/depot_tools/ - cmd < Date: Tue, 30 Jul 2024 09:30:53 -0400 Subject: [PATCH 349/510] Modify build flags --- .../gn_fragments/126.0.6478.126/BUILD.gn | 7 +--- toolchain/gn_fragments/126.0.6478.126/args.gn | 36 ++++++++++++++++++- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn index ad6c8d67..d7db58a9 100644 --- a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn +++ b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn @@ -12,11 +12,9 @@ static_library("dispatch") { defines = [] deps = [ "//components/devtools/simple_devtools_protocol_client", - ] - - public_deps = [ "//base", ] + } executable("kaleido") { @@ -51,9 +49,6 @@ executable("kaleido") { "//content/public/utility", "//printing/buildflags", ] - if (proprietary_codecs) { - deps += [ ":generate_headless_shell_license_file" ] - } public_deps = [ ":headless_non_renderer", "//base", diff --git a/toolchain/gn_fragments/126.0.6478.126/args.gn b/toolchain/gn_fragments/126.0.6478.126/args.gn index 9bd9ebaa..745c94b1 100644 --- a/toolchain/gn_fragments/126.0.6478.126/args.gn +++ b/toolchain/gn_fragments/126.0.6478.126/args.gn @@ -1,4 +1,38 @@ -import("//build/args/headless.gn") +#import("//build/args/headless.gn") + +use_ozone=false + +headless_use_embedded_resources = true + +headless_enable_commands = false +headless_use_prefs = false +headless_use_policy = false + +# not used, unfortunately use_bundled_fontconfig = true + +icu_use_data_file = true # nice to be false on linux, breaks windows build because of installer + +v8_use_external_startup_data = false + +enable_nacl = false +enable_print_preview = false +enable_remoting = false +use_alsa = false +use_bluez = false +use_cups = false +use_dbus = false +use_gio = false +use_kerberos = false +use_libpci = false +use_pulseaudio = false +use_udev = false +rtc_use_pipewire = false +v8_enable_lazy_source_positions = false +use_glib = false +use_gtk = false +use_pangocairo = false + + # Debug / symbols-- do I need these? symbol_level=0 From 1d9113497267a600edb83866bf9621b630d82756 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 09:31:16 -0400 Subject: [PATCH 350/510] Add cpus to env vars in cmd.exe --- toolchain/src/02-init_tools.sh | 1 + toolchain/src/03-ksync.sh | 1 + toolchain/src/06-build_ninja.sh | 1 + 3 files changed, 3 insertions(+) diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 2e467cb0..42117714 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -48,6 +48,7 @@ if [[ "$PLATFORM" == "WINDOWS" ]]; then set DEPOT_TOOLS_UPDATE=0\n set DEPOT_TOOLS_WIN_TOOLCHAIN=0\n set PATH=$MAIN_DIR\\\vendor\\\depot_tools\\\;$MAIN_DIR\\\vendor\\\depot_tools\\\bootstrap;%PATH%\n +set CPUS=$CPUS\n where python3\n cipd_bin_setup.bat\n bootstrap\\\win_tools.bat\n diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh index e9e43aa5..9cbb6a0b 100755 --- a/toolchain/src/03-ksync.sh +++ b/toolchain/src/03-ksync.sh @@ -40,6 +40,7 @@ if [[ "$PLATFORM" == "WINDOWS" ]]; then set DEPOT_TOOLS_UPDATE=0\n set DEPOT_TOOLS_WIN_TOOLCHAIN=0\n set PATH=$MAIN_DIR\\\vendor\\\depot_tools;$MAIN_DIR\\\vendor\\\depot_tools\\\bootstrap;%PATH%\n +set CPUS=$CPUS\n where python3\n gclient sync -D --force --verbose --verbose --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG\n \nexit" diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 7fda8f1a..7e9025c7 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -132,6 +132,7 @@ if [[ "$PLATFORM" == "WINDOWS" ]]; then set DEPOT_TOOLS_UPDATE=0\n set DEPOT_TOOLS_WIN_TOOLCHAIN=0\n set PATH=$MAIN_DIR\\\vendor\\\depot_tools;$MAIN_DIR\\\vendor\\\depot_tools\\\bootstrap;%PATH%\n +set CPUS=$CPUS\n echo %PATH%\n where python3\n gn gen ${OUTDIR}\nexit\n" From 2bcf56c1f400d36478aea6504822046af62dd90f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 09:31:27 -0400 Subject: [PATCH 351/510] Improve verbosity --- toolchain/src/03-ksync.sh | 3 +++ toolchain/src/06-build_ninja.sh | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh index 9cbb6a0b..721b4dcb 100755 --- a/toolchain/src/03-ksync.sh +++ b/toolchain/src/03-ksync.sh @@ -35,6 +35,9 @@ util_export_version export DEPOT_TOOLS_UPDATE=0 # otherwise it advances to the tip of branch main ## but sometimes it skips other necessary things! Thats why we had init_tools V_FLAG="" + +$NO_VERBOSE || echo "Resetting to $CHROMIUM_VERSION_TAG" + if [[ "$PLATFORM" == "WINDOWS" ]]; then COMMAND=" set DEPOT_TOOLS_UPDATE=0\n diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 7e9025c7..93958c28 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -65,6 +65,7 @@ util_export_version GN_FRAG_DIR="${MAIN_DIR}/toolchain/gn_fragments/$CHROMIUM_VERSION_TAG" if [ ! -d "$GN_FRAG_DIR" ] && $TRY; then GN_FRAG_DIR="${MAIN_DIR}/toolchain/gn_fragments/$(ls "${MAIN_DIR}/src/vendor-patches/chromium" -vt | head -1)" + $NO_VERBOSE || echo "--try: $GN_FRAG_DIR" elif [ -d "$GN_FRAG_DIR" ]; then : # optimistic path else @@ -96,17 +97,16 @@ if $LIST; then fi LINE_NO=$(grep "$TARGET" -ne "$(head -n 1 "$BUILD_SUFFIX")" | cut -f1 -d:) -$NO_VERBOSE || echo "$(head -n 1 "$BUILD_SUFFIX")" -$NO_VERBOSE || echo "$LINE_NO" +$NO_VERBOSE || echo "LINE MARKER: $(head -n 1 "$BUILD_SUFFIX")" +$NO_VERBOSE || echo "LINE NUMBER: $LINE_NO" if [[ -n "$LINE_NO" ]]; then + $NO_VERBOSE || echo "Recreating original based on file" head "$TARGET" -n $(($LINE_NO - 1)) > "${TARGET}.TEMP" mv "${TARGET}.TEMP" "$TARGET" fi $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" cat "$BUILD_SUFFIX" >> "$TARGET" -$NO_VERBOSE || cat "$TARGET" - $NO_VERBOSE || echo "Create build directory and placing build arguments inside of it, and running gn gen" From e8d0202ec41482479609adb63857eb96d207e7ac Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 09:31:54 -0400 Subject: [PATCH 352/510] Make 09 for windows --- toolchain/src/09-build_kaleido.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/toolchain/src/09-build_kaleido.sh b/toolchain/src/09-build_kaleido.sh index f77086d5..163b06df 100755 --- a/toolchain/src/09-build_kaleido.sh +++ b/toolchain/src/09-build_kaleido.sh @@ -30,4 +30,19 @@ util_export_version OUTDIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" -( cd "${MAIN_DIR}/vendor/src"; ninja -C $OUTDIR -j $CPUS kaleido ) +pushd "$MAIN_DIR/vendor/src" +if [[ "$PLATFORM" == "WINDOWS" ]]; then + COMMAND=" +set DEPOT_TOOLS_UPDATE=0\n +set DEPOT_TOOLS_WIN_TOOLCHAIN=0\n +set PATH=$MAIN_DIR\\\vendor\\\depot_tools;$MAIN_DIR\\\vendor\\\depot_tools\\\bootstrap;%PATH%\n +set CPUS=$CPUS\n +echo %PATH%\n +where python3\n +ninja -C $OUTDIR -j $CPUS kaleido\n +exit\n" + echo -e $COMMAND | cmd.exe +else + ninja -C $OUTDIR -j $CPUS kaleido +fi +popd From 28d2e60d48586040015929acd4f43256466b07a2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 09:45:24 -0400 Subject: [PATCH 353/510] Add notes to TECHDEBT --- TECHDEBT.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/TECHDEBT.md b/TECHDEBT.md index 2cacfba2..e28e59b0 100644 --- a/TECHDEBT.md +++ b/TECHDEBT.md @@ -1,7 +1,13 @@ -# +# TECHDEBT These are ordered by how they should be done. +## Buildflags + +Look at the tip of interface-fix and windows build +Getting rid of ozone is good and saves space (probably) +But some stuff doesn't work with windows which we wish would, and could withs ome massaging. + ## Concurrency (Chromium's concurrency model is inferior to golangs.) From 0a9a22d6fa49906f3a04ea9ce717e6c96f7c256e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 10:23:18 -0400 Subject: [PATCH 354/510] Set up potential mac build --- toolchain/src/02-init_tools.sh | 10 +++++++++- toolchain/src/10-extract.sh | 5 +++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 42117714..9c2aa7d1 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -95,5 +95,13 @@ elif [[ "$PLATFORM" == "LINUX" ]]; then # runhooks? i don't think we need to TODO but mentioned $NO_VERBOSE || echo "Downloaded and installed build-deps." elif [[ "$PLATFORM" == "OSX" ]]; then - $NO_VERBOSE || echo "Did nothing for OSX, we will have to do something, probably the same as linux." # TODO + $NO_VERBOSE || echo "MAC INIT IS EXPERIMENTAL" + pushd "$MAIN_DIR/vendor/depot_tools" + source "./cipd_bin_setup.sh" + cipd_bin_setup + + # Don't bootstrap Python 3 on windows, since it is already done by + # bootstrap/win_tools.bat. + source "./bootstrap_python3" + bootstrap_python3 fi diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 8b12d1d2..6bc6212b 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -117,4 +117,9 @@ missing=False, annotate=False, relative=True)")") done fi +if [[ "$PLATFORM" == "OSX" ]]; then + $NO_VERBOSE || echo "Check the line here:" + cp "$MAIN_DIR/vendor/src/out/Kaleido_$PLATFORM_$TARGET_ARCH/lib"*.dylib "${BUILD_DIR}/" +fi + rm -rf $BUILD_DIR/gen/third_party/devtools-frontend/ # huge and i doubt we need it From f9d3b43cd00497e84e22174f225c892fd026a69c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 14:13:57 -0400 Subject: [PATCH 355/510] Remove double define --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 38 +++++++++++++++++++ src/kaleido/cc/126.0.6478.126/kaleido.cc | 33 ---------------- src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 35 ----------------- 3 files changed, 38 insertions(+), 68 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 7376a673..d4268984 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -12,6 +12,44 @@ #include "base/task/thread_pool.h" #include "base/task/bind_post_task.h" // We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? +#if defined(OS_WIN) + +#include "base/files/file_util.h" +#include "base/strings/stringprintf.h" +#include +#include +namespace base { + // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here + bool ExecutableExistsInPath(Environment* env, + const std::string& executable) { + std::string path; + if (!env->GetVar("PATH", &path)) { + LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; + return false; + } + + for (const StringPiece& cur_path: + SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { + + // Build wide strings using wstringstreams + std::wstringstream wpath_ss; + wpath_ss << std::string(cur_path).c_str(); + + std::wstringstream wexecutable_ss; + wexecutable_ss << executable.c_str() << ".exe"; + + std::wstring wpath_ss_as_string = wpath_ss.str(); + FilePath::StringPieceType w_cur_path(wpath_ss_as_string); + FilePath file(w_cur_path); + + if (PathExists(file.Append(wexecutable_ss.str()))) { + return true; + } + } + return false; + } +} +#endif namespace kaleido { Tab::Tab() {} Tab::~Tab() { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 17cc9090..f5c281ab 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -37,39 +37,6 @@ #include #include -#if defined(OS_WIN) -namespace base { - // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here - bool ExecutableExistsInPath(Environment* env, - const std::string& executable) { - std::string path; - if (!env->GetVar("PATH", &path)) { - LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; - return false; - } - - for (const StringPiece& cur_path: - SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { - - // Build wide strings using wstringstreams - std::wstringstream wpath_ss; - wpath_ss << std::string(cur_path).c_str(); - - std::wstringstream wexecutable_ss; - wexecutable_ss << executable.c_str() << ".exe"; - - std::wstring wpath_ss_as_string = wpath_ss.str(); - FilePath::StringPieceType w_cur_path(wpath_ss_as_string); - FilePath file(w_cur_path); - - if (PathExists(file.Append(wexecutable_ss.str()))) { - return true; - } - } - return false; - } -} -#endif /// END COPY 2 namespace kaleido { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index ddde2bee..f85df299 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -133,38 +133,3 @@ void processCommandLine(content::ContentMainParams params, int argc, const char* } } // namespace - - -#if defined(OS_WIN) -namespace base { - // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here - bool ExecutableExistsInPath(Environment* env, - const std::string& executable) { - std::string path; - if (!env->GetVar("PATH", &path)) { - LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; - return false; - } - - for (const StringPiece& cur_path: - SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { - - // Build wide strings using wstringstreams - std::wstringstream wpath_ss; - wpath_ss << std::string(cur_path).c_str(); - - std::wstringstream wexecutable_ss; - wexecutable_ss << executable.c_str() << ".exe"; - - std::wstring wpath_ss_as_string = wpath_ss.str(); - FilePath::StringPieceType w_cur_path(wpath_ss_as_string); - FilePath file(w_cur_path); - - if (PathExists(file.Append(wexecutable_ss.str()))) { - return true; - } - } - return false; - } -} -#endif From c369fcc74b6dbe81c0cd7c85dd6f6297c55489f7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 14:40:11 -0400 Subject: [PATCH 356/510] Fix namespaces for OS_WIN --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 6 ++++++ src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index d4268984..55620ff7 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -198,8 +198,14 @@ namespace kaleido { std::string scriptPath(*activeJobs[job_id]->scriptItr); std::ifstream script(scriptPath); if (!script.is_open()) { + +#if defined(OS_WIN) + std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory.", + scriptPath.c_str()); +#else std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory %s", scriptPath.c_str(), parent_->cwd.value().c_str()); +#endif LOG(ERROR) << error; parent_->Api_OldMsg(404, error); // TODO gotta kill job diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index f85df299..921ff3bf 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -70,7 +70,7 @@ int main(int argc, const char** argv) { namespace { -void buildSandbox(content::ContentMainParams) { +void buildSandbox(content::ContentMainParams params) { #if BUILDFLAG(IS_WIN) sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; content::InitializeSandboxInfo(&sandbox_info); @@ -111,9 +111,9 @@ void processCommandLine(content::ContentMainParams params, int argc, const char* #if defined(HEADLESS_USE_CRASHPAD) if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( + crash_reporter::RunAsCrashpadHandler( *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); + ::switches::kProcessType, headless::switches::kUserDataDir); } #endif // defined(HEADLESS_USE_CRASHPAD) From d1f3b84e6a9811f8596f7057ba6d13801840b18f Mon Sep 17 00:00:00 2001 From: personal <30324885+ayjayt@users.noreply.github.com> Date: Tue, 30 Jul 2024 15:36:24 -0400 Subject: [PATCH 357/510] fix: use /usr/bin/env to find bash (#203) Default bash on MacOS is 3.*, but these scripts need 5.*, so this PR changes the `#!` line in these shell scripts to use `/usr/bin/env bash` to find and run bash instead of using `/bin/bash`, which allows users to install a more recent version of bash and have it picked up. Co-authored-by: Greg Wilson --- toolchain/src/00-set_version.sh | 2 +- toolchain/src/01-fetch_tools.sh | 2 +- toolchain/src/02-init_tools.sh | 6 +++++- toolchain/src/03-ksync.sh | 2 +- toolchain/src/04-patch_chromium.sh | 2 +- toolchain/src/05-gen_preamble.sh | 2 +- toolchain/src/06-build_ninja.sh | 4 ++-- toolchain/src/07-write_kversion.sh | 2 +- toolchain/src/08-sync_cpp.sh | 2 +- toolchain/src/09-build_kaleido.sh | 2 +- toolchain/src/10-extract.sh | 2 +- toolchain/src/11-extract_etc.sh | 2 +- toolchain/src/12-build_js.sh | 2 +- toolchain/src/13-roll_wheel.sh | 2 +- toolchain/src/xx-all.sh | 2 +- toolchain/src/xx-kdocker.sh | 2 +- toolchain/src/xx-krefresh.sh | 2 +- toolchain/src/xx-make_bin.sh | 2 +- toolchain/src/xx-template.sh | 2 +- 19 files changed, 24 insertions(+), 20 deletions(-) diff --git a/toolchain/src/00-set_version.sh b/toolchain/src/00-set_version.sh index 8d2063a5..e5cca85f 100755 --- a/toolchain/src/00-set_version.sh +++ b/toolchain/src/00-set_version.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/01-fetch_tools.sh b/toolchain/src/01-fetch_tools.sh index 88cfda68..bde26bb6 100755 --- a/toolchain/src/01-fetch_tools.sh +++ b/toolchain/src/01-fetch_tools.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh index 9c2aa7d1..dfae7c13 100755 --- a/toolchain/src/02-init_tools.sh +++ b/toolchain/src/02-init_tools.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u @@ -97,6 +97,7 @@ elif [[ "$PLATFORM" == "LINUX" ]]; then elif [[ "$PLATFORM" == "OSX" ]]; then $NO_VERBOSE || echo "MAC INIT IS EXPERIMENTAL" pushd "$MAIN_DIR/vendor/depot_tools" + set +u source "./cipd_bin_setup.sh" cipd_bin_setup @@ -104,4 +105,7 @@ elif [[ "$PLATFORM" == "OSX" ]]; then # bootstrap/win_tools.bat. source "./bootstrap_python3" bootstrap_python3 + + set -u + popd fi diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh index 721b4dcb..a2e98a60 100755 --- a/toolchain/src/03-ksync.sh +++ b/toolchain/src/03-ksync.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh index c559b030..b43fe588 100755 --- a/toolchain/src/04-patch_chromium.sh +++ b/toolchain/src/04-patch_chromium.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/05-gen_preamble.sh b/toolchain/src/05-gen_preamble.sh index 86c5be4e..ba995079 100755 --- a/toolchain/src/05-gen_preamble.sh +++ b/toolchain/src/05-gen_preamble.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 93958c28..68983698 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u @@ -101,7 +101,7 @@ $NO_VERBOSE || echo "LINE MARKER: $(head -n 1 "$BUILD_SUFFIX")" $NO_VERBOSE || echo "LINE NUMBER: $LINE_NO" if [[ -n "$LINE_NO" ]]; then $NO_VERBOSE || echo "Recreating original based on file" - head "$TARGET" -n $(($LINE_NO - 1)) > "${TARGET}.TEMP" + head -n $(($LINE_NO - 1)) "$TARGET" > "${TARGET}.TEMP" mv "${TARGET}.TEMP" "$TARGET" fi $NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" diff --git a/toolchain/src/07-write_kversion.sh b/toolchain/src/07-write_kversion.sh index af4253f4..16e69afe 100755 --- a/toolchain/src/07-write_kversion.sh +++ b/toolchain/src/07-write_kversion.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/08-sync_cpp.sh b/toolchain/src/08-sync_cpp.sh index 4da7517e..e42af978 100755 --- a/toolchain/src/08-sync_cpp.sh +++ b/toolchain/src/08-sync_cpp.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/09-build_kaleido.sh b/toolchain/src/09-build_kaleido.sh index 163b06df..8ea8402a 100755 --- a/toolchain/src/09-build_kaleido.sh +++ b/toolchain/src/09-build_kaleido.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 6bc6212b..988979b9 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/11-extract_etc.sh b/toolchain/src/11-extract_etc.sh index 2bb125d7..cd0e86d2 100755 --- a/toolchain/src/11-extract_etc.sh +++ b/toolchain/src/11-extract_etc.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/12-build_js.sh b/toolchain/src/12-build_js.sh index acd71ea9..58b4f197 100755 --- a/toolchain/src/12-build_js.sh +++ b/toolchain/src/12-build_js.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/13-roll_wheel.sh b/toolchain/src/13-roll_wheel.sh index fc1f97b3..092854be 100755 --- a/toolchain/src/13-roll_wheel.sh +++ b/toolchain/src/13-roll_wheel.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh index 7da65a0d..264730f1 100755 --- a/toolchain/src/xx-all.sh +++ b/toolchain/src/xx-all.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh index 150c5a42..3726e5bf 100755 --- a/toolchain/src/xx-kdocker.sh +++ b/toolchain/src/xx-kdocker.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # This is a script to help get us into a workable dev-environment inside a docker container # ⚠️⚠️⚠️ HERE BE DRAGONS ⚠️⚠️⚠️ # \****__ ____ diff --git a/toolchain/src/xx-krefresh.sh b/toolchain/src/xx-krefresh.sh index 3f209455..8c9d38cc 100755 --- a/toolchain/src/xx-krefresh.sh +++ b/toolchain/src/xx-krefresh.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/xx-make_bin.sh b/toolchain/src/xx-make_bin.sh index db7fecc0..5a6627b8 100755 --- a/toolchain/src/xx-make_bin.sh +++ b/toolchain/src/xx-make_bin.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/toolchain/src/xx-template.sh b/toolchain/src/xx-template.sh index 942016f1..56a4f8a2 100644 --- a/toolchain/src/xx-template.sh +++ b/toolchain/src/xx-template.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u From 9b5fbf147fc341e779864e089e20cee436a5e315 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 15:45:58 -0400 Subject: [PATCH 358/510] Add use_cups to mac buildflag --- toolchain/src/06-build_ninja.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh index 68983698..49426eac 100755 --- a/toolchain/src/06-build_ninja.sh +++ b/toolchain/src/06-build_ninja.sh @@ -112,12 +112,19 @@ $NO_VERBOSE || echo "Create build directory and placing build arguments inside o mkdir -p "${OUTDIR}" -# note- this will make timestamp not accurate for chromium, but best choice rn, see build/compute_build_timestamp.py SUFFIX=" is_component_build=$DEV is_official_build=false target_cpu=\"${TARGET_ARCH}\"" +if [[ "$PLATFORM" == "OSX" ]]; then + SUFFIX=" +is_component_build=$DEV +is_official_build=false +target_cpu=\"${TARGET_ARCH}\" +use_cups=true" +fi + if [[ ! -f "${ARGS_FILE}" ]] || [[ $(diff "$ARGS_FILE" <(cat "$TEMPLATE_FILE" <(echo "$SUFFIX"))) ]]; then cp "${TEMPLATE_FILE}" "${ARGS_FILE}" echo "$SUFFIX" >> "${ARGS_FILE}" From 0803dad0b2be767207837a3db7ddf557ba605e80 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:10:56 -0400 Subject: [PATCH 359/510] Remove deprecated tempfile function --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 10 ++++++---- src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index f5c281ab..69157346 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -53,7 +53,8 @@ void Kaleido::ShutdownSoon() { } void Kaleido::ShutdownTask() { LOG(INFO) << "Calling shutdown on browser"; - if (tmpFileName.size()) std::remove(tmpFileName.c_str()); + if (tmpFileName) std::remove(tmpFileName); + if (tmpFileName) free(tmpFileName); dispatch->Release(); // Fine to destruct what we have here. dispatch = nullptr; browser_.ExtractAsDangling()->Shutdown(); @@ -133,9 +134,10 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { htmlStringStream << ""; // Write html to temp file - tmpFileName = std::tmpnam(nullptr) + std::string(".html"); - std::ofstream htmlFile; - htmlFile.open(tmpFileName, std::ios::out); + tmpFileName = strdup("/tmp/XXXXXX"); // must free + mkstemp(tmpFileName); + std::ofstream htmlFile(tmpFileName); + //htmlFile.open(tmpFileName, std::ios::out); htmlFile << htmlStringStream.str(); htmlFile.close(); diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index f2c21cc1..869e143a 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -82,7 +82,7 @@ namespace kaleido { void ShutdownTask(); // FROM PREVIOUS STRUCTURE - std::string tmpFileName; + char *tmpFileName; }; } From a91653835ddb8b58eb0c9449f71ac3a7db53cd95 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:15:49 -0400 Subject: [PATCH 360/510] Use google's raw_ptr not * --- src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 869e143a..925ad8d8 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -82,7 +82,7 @@ namespace kaleido { void ShutdownTask(); // FROM PREVIOUS STRUCTURE - char *tmpFileName; + raw_ptr tmpFileName; }; } From 29fbeab88f7987a2154ed729337909404fbc4ff3 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:25:47 -0400 Subject: [PATCH 361/510] Exhcange c string for std::string in tmpfile --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 7 +++++-- src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 69157346..0bb201db 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -134,8 +134,11 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { htmlStringStream << ""; // Write html to temp file - tmpFileName = strdup("/tmp/XXXXXX"); // must free - mkstemp(tmpFileName); + char *tmpVar = strdup("/tmp/XXXXXX"); // must free + std::string easierString(tmpFileName); + free(tmpVar); // done with this clib madness + tmpFileName = easierString + ".html"; + int assumeWorks = mkstemp(tmpFileName.c_str()); std::ofstream htmlFile(tmpFileName); //htmlFile.open(tmpFileName, std::ios::out); htmlFile << htmlStringStream.str(); diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 925ad8d8..f2c21cc1 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -82,7 +82,7 @@ namespace kaleido { void ShutdownTask(); // FROM PREVIOUS STRUCTURE - raw_ptr tmpFileName; + std::string tmpFileName; }; } From 8d5430d63fdfc172e865a69dca666eb3db9b8084 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:27:23 -0400 Subject: [PATCH 362/510] Reset destructor for tmpfile --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 0bb201db..5d62ee1e 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -53,8 +53,7 @@ void Kaleido::ShutdownSoon() { } void Kaleido::ShutdownTask() { LOG(INFO) << "Calling shutdown on browser"; - if (tmpFileName) std::remove(tmpFileName); - if (tmpFileName) free(tmpFileName); + if (tmpFileName.size()) std::remove(tmpFileName); dispatch->Release(); // Fine to destruct what we have here. dispatch = nullptr; browser_.ExtractAsDangling()->Shutdown(); From 09c07e881ec5d847903992d95accbc066f894fe0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:28:06 -0400 Subject: [PATCH 363/510] Reset destructor for tmpfile2 --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 5d62ee1e..7b722482 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -53,7 +53,7 @@ void Kaleido::ShutdownSoon() { } void Kaleido::ShutdownTask() { LOG(INFO) << "Calling shutdown on browser"; - if (tmpFileName.size()) std::remove(tmpFileName); + if (tmpFileName.size()) std::remove(tmpFileName.c_str()); dispatch->Release(); // Fine to destruct what we have here. dispatch = nullptr; browser_.ExtractAsDangling()->Shutdown(); From 13aca2fa5e194fd3b26068d7569985421f9a06eb Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:32:34 -0400 Subject: [PATCH 364/510] Add stdlib for non-win builds --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 7b722482..b775d151 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -7,6 +7,11 @@ #include #include #include +if + +#if !defined(OS_WIN) +#include +#endif #include "headless/app/kaleido.h" From 6d6b4cc13e01592eefebca6deef0a96f9083cedc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:33:14 -0400 Subject: [PATCH 365/510] Remove typo --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index b775d151..11d902bb 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -7,7 +7,7 @@ #include #include #include -if + #if !defined(OS_WIN) #include From ce3f4c686f3e598b87e5b2e720347bb7ac8126f6 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:34:48 -0400 Subject: [PATCH 366/510] Remove platform specific guard --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 11d902bb..535385fa 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -9,9 +9,7 @@ #include -#if !defined(OS_WIN) #include -#endif #include "headless/app/kaleido.h" From 19d6ddbf73c7c7ac3576f31a553f3eea4c50e24c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:38:38 -0400 Subject: [PATCH 367/510] stdlib-->unistd --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 535385fa..9f96fbfb 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -9,7 +9,7 @@ #include -#include +#include #include "headless/app/kaleido.h" From 3fa5c0c860e1f62e32f5fce4a43317a280996558 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:48:57 -0400 Subject: [PATCH 368/510] Remove all posix use base:: for tmpfile --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 19 +++++++------------ src/kaleido/cc/126.0.6478.126/kaleido.h | 3 ++- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 9f96fbfb..5ddc7172 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -9,7 +9,7 @@ #include -#include +#include #include "headless/app/kaleido.h" @@ -56,7 +56,7 @@ void Kaleido::ShutdownSoon() { } void Kaleido::ShutdownTask() { LOG(INFO) << "Calling shutdown on browser"; - if (tmpFileName.size()) std::remove(tmpFileName.c_str()); + //if (tmpFileName.size()) std::remove(tmpFileName.c_str()); TODO dispatch->Release(); // Fine to destruct what we have here. dispatch = nullptr; browser_.ExtractAsDangling()->Shutdown(); @@ -136,18 +136,13 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { htmlStringStream << ""; // Write html to temp file - char *tmpVar = strdup("/tmp/XXXXXX"); // must free - std::string easierString(tmpFileName); - free(tmpVar); // done with this clib madness - tmpFileName = easierString + ".html"; - int assumeWorks = mkstemp(tmpFileName.c_str()); - std::ofstream htmlFile(tmpFileName); - //htmlFile.open(tmpFileName, std::ios::out); - htmlFile << htmlStringStream.str(); - htmlFile.close(); + + tmpFile = base::CreateAndOpenTemporaryStream(&tmpFileName); + tmpFile << htmlStringStream.str(); + tmpFile.close(); // Create file:// url to temp file - GURL url = GURL(std::string("file://") + tmpFileName); + GURL url = GURL(std::string("file://") + std::string(tmpFileName)); // Initialization succeeded Api_OldMsg(0, "Initilization Success"); diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index f2c21cc1..536353a7 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -82,7 +82,8 @@ namespace kaleido { void ShutdownTask(); // FROM PREVIOUS STRUCTURE - std::string tmpFileName; + base::FilePath tmpFileName; + base::ScopedFile tmpFile; }; } From 61ddc3a437cb728e75288ac93e58b39617555bfb Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:50:24 -0400 Subject: [PATCH 369/510] Retype from base:: tmpfile utils --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- src/kaleido/cc/126.0.6478.126/kaleido.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 5ddc7172..15d2f055 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -256,7 +256,7 @@ bool Kaleido::ReadJSON(std::string &msg) { } } if (operation && *operation == "create_tab") { - dispatch->CreateTab(*id, GURL(std::string("file://") + tmpFileName)); + dispatch->CreateTab(*id, GURL(std::string("file://") + std::string(tmpFileName))); } else if (operation && *operation == "reload") { dispatch->ReloadAll(); } else if (operation && *operation == "noop") {} else { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 536353a7..5b6ac0eb 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -83,7 +83,7 @@ namespace kaleido { // FROM PREVIOUS STRUCTURE base::FilePath tmpFileName; - base::ScopedFile tmpFile; + base::ScopedFILE tmpFile; }; } From 143fce4dfdf2a4a06ee72da702a1d60f72b093f2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:53:06 -0400 Subject: [PATCH 370/510] Wrangle with FILE-->File --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 15d2f055..80422d5e 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -138,7 +138,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // Write html to temp file tmpFile = base::CreateAndOpenTemporaryStream(&tmpFileName); - tmpFile << htmlStringStream.str(); + tmpFile.get() << htmlStringStream.str(); tmpFile.close(); // Create file:// url to temp file From 27c4a9cd2ae329d4b37fcec38739ae284808d4a5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 16:55:10 -0400 Subject: [PATCH 371/510] Try ofstream convesion --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 80422d5e..7a66b4da 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -138,7 +138,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // Write html to temp file tmpFile = base::CreateAndOpenTemporaryStream(&tmpFileName); - tmpFile.get() << htmlStringStream.str(); + std::ofstream(tmpFile) << htmlStringStream.str(); tmpFile.close(); // Create file:// url to temp file From 294372e96ef42dd848a7cca342ab0b3c4cc3894a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 21:05:17 +0000 Subject: [PATCH 372/510] Wrap up new API wrangling --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 10 +++++----- src/kaleido/cc/126.0.6478.126/kaleido.h | 1 - 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 7a66b4da..399835d9 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -137,12 +137,12 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // Write html to temp file - tmpFile = base::CreateAndOpenTemporaryStream(&tmpFileName); - std::ofstream(tmpFile) << htmlStringStream.str(); - tmpFile.close(); + auto tmpFile = base::CreateAndOpenTemporaryStream(&tmpFileName); + fprintf(tmpFile.get(), "%s", htmlStringStream.str().c_str()); + tmpFile.reset(); // Create file:// url to temp file - GURL url = GURL(std::string("file://") + std::string(tmpFileName)); + GURL url = GURL(std::string("file://") + std::string(tmpFileName.value())); // Initialization succeeded Api_OldMsg(0, "Initilization Success"); @@ -256,7 +256,7 @@ bool Kaleido::ReadJSON(std::string &msg) { } } if (operation && *operation == "create_tab") { - dispatch->CreateTab(*id, GURL(std::string("file://") + std::string(tmpFileName))); + dispatch->CreateTab(*id, GURL(std::string("file://") + std::string(tmpFileName.value()))); } else if (operation && *operation == "reload") { dispatch->ReloadAll(); } else if (operation && *operation == "noop") {} else { diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 5b6ac0eb..080413f9 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -83,7 +83,6 @@ namespace kaleido { // FROM PREVIOUS STRUCTURE base::FilePath tmpFileName; - base::ScopedFILE tmpFile; }; } From 75916694c6dcc7f8d5147cb8d447ba9378c41896 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 21:06:22 +0000 Subject: [PATCH 373/510] Readd destructor --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 399835d9..4ebae199 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -56,7 +56,7 @@ void Kaleido::ShutdownSoon() { } void Kaleido::ShutdownTask() { LOG(INFO) << "Calling shutdown on browser"; - //if (tmpFileName.size()) std::remove(tmpFileName.c_str()); TODO + if (tmpFileName.value().size()) std::remove(tmpFileName.value().c_str()); dispatch->Release(); // Fine to destruct what we have here. dispatch = nullptr; browser_.ExtractAsDangling()->Shutdown(); From 506144eaf48fbe077f9e57ecd256cf39ac6c02c0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 21:29:46 +0000 Subject: [PATCH 374/510] Use base:: xplatform DeleteFile --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 4ebae199..6536b3dd 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -56,7 +56,7 @@ void Kaleido::ShutdownSoon() { } void Kaleido::ShutdownTask() { LOG(INFO) << "Calling shutdown on browser"; - if (tmpFileName.value().size()) std::remove(tmpFileName.value().c_str()); + if (tmpFileName.value().size()) base::DeleteFile(tmpFileName); dispatch->Release(); // Fine to destruct what we have here. dispatch = nullptr; browser_.ExtractAsDangling()->Shutdown(); From fae74be86b07eb36d233001e54a5ee2477f463cf Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 18:07:07 -0400 Subject: [PATCH 375/510] Aggressively narrow wstring to sring --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 6536b3dd..c5980b96 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -40,6 +40,7 @@ #include #include +#define FILE_URI_PREFIX "file://" /// END COPY 2 namespace kaleido { @@ -142,7 +143,8 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { tmpFile.reset(); // Create file:// url to temp file - GURL url = GURL(std::string("file://") + std::string(tmpFileName.value())); + std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); + GURL url = GURL(FILE_URI_PREFIX + urlCopy); // Initialization succeeded Api_OldMsg(0, "Initilization Success"); @@ -256,7 +258,8 @@ bool Kaleido::ReadJSON(std::string &msg) { } } if (operation && *operation == "create_tab") { - dispatch->CreateTab(*id, GURL(std::string("file://") + std::string(tmpFileName.value()))); + std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); + dispatch->CreateTab(*id, GURL(FILE_URI_PREFIX + urlCopy)); } else if (operation && *operation == "reload") { dispatch->ReloadAll(); } else if (operation && *operation == "noop") {} else { From 329437038f011f37de47ecfe6996f97accae5547 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 18:15:57 -0400 Subject: [PATCH 376/510] Add to TECHDEBT.md --- TECHDEBT.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TECHDEBT.md b/TECHDEBT.md index e28e59b0..70c780c8 100644 --- a/TECHDEBT.md +++ b/TECHDEBT.md @@ -1,6 +1,9 @@ # TECHDEBT These are ordered by how they should be done. +## New Remove + +The new tempfile remove function is blocking in a non MayBlock thread so figure that out ## Buildflags From f256edee6b12b4f4c5967c0183e2ca0f42959636 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 18:46:10 -0400 Subject: [PATCH 377/510] Fix some windows things: Don't use newlines for delimiter, theyre dif everywhere. Just use spaces. Also PYTHONPATH doesnt jive in windows, does pushd popd. --- toolchain/src/10-extract.sh | 40 ++++++++++++++++++++++++--- toolchain/src/10-extract_subscript.py | 8 +++--- 2 files changed, 40 insertions(+), 8 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 988979b9..58eeafe5 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -44,7 +44,7 @@ ASSESS="$(flags_resolve false "-s" "--assess")" mkdir -p "$BUILD_DIR" globals_clean_build_dir -$NO_VERBOSE || echo "We are extracnig to $BUILD_DIR" +$NO_VERBOSE || echo "We are extracting to $BUILD_DIR" # mainly reexported, but making sure the python script has it export MAIN_DIR @@ -73,6 +73,7 @@ elif [[ "$PLATFORM" == "OSX" ]]; then fi export CONFIG +which python3 if [[ -z "${PYTHON-""}" ]] && which python3 &> /dev/null; then PYTHON="python3" else @@ -82,11 +83,12 @@ fi export PYTHONPATH="${MAIN_DIR}/toolchain/src/:${PYTHONPATH-""}" if $ASSESS; then - echo -e "$($PYTHON -c "$IMPORT; extract.match_json_to_directory('${CONFIG}-original','$SRC_DIR', missing=True, annotate=True, relative=False)")" + pushd "${MAIN_DIR}/toolchain/src/" + echo "$($PYTHON -c "$IMPORT; extract.match_json_to_directory('${CONFIG}-original','$SRC_DIR', missing=True, annotate=True, relative=False)")" + popd exit 0 fi - -# echo -e "$($PYTHON -c "$IMPORT; extract.hello_world()")" +#echo -e "$($PYTHON -c "$IMPORT; extract.hello_world()")" # may not need to have platform/version branches here if we use different ${CONFIG} each time if [[ "$PLATFORM" == "LINUX" ]]; then @@ -118,8 +120,38 @@ missing=False, annotate=False, relative=True)")") fi if [[ "$PLATFORM" == "OSX" ]]; then + cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" + chmod +x "${BUILD_DIR}/kaleido" + FILES=$(echo -e "$($PYTHON -c "$IMPORT; \ +extract.match_json_to_directory('\ +${CONFIG}-original', \ +'$SRC_DIR', \ +missing=False, annotate=False, relative=True)")") + for f in $FILES; do + mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" + done $NO_VERBOSE || echo "Check the line here:" cp "$MAIN_DIR/vendor/src/out/Kaleido_$PLATFORM_$TARGET_ARCH/lib"*.dylib "${BUILD_DIR}/" fi +if [[ "$PLATFORM" == "WINDOWS" ]]; then + pushd "${MAIN_DIR}/toolchain/src/" + cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" + chmod +x "${BUILD_DIR}/kaleido" + FILES=$(echo "$($PYTHON -c "$IMPORT; \ +extract.match_json_to_directory('\ +${CONFIG}-original', \ +'$SRC_DIR', \ +missing=False, annotate=False, relative=True)")") + for f in $FILES; do + echo "$f" + echo "${SRC_DIR}${f}" + echo "${BUILD_DIR}$(dirname "$f")" + mkdir -p "${BUILD_DIR}$(dirname "$f")" + cp -r "${SRC_DIR}${f}" "${BUILD_DIR}$(dirname "$f")" + echo + done + popd +fi + rm -rf $BUILD_DIR/gen/third_party/devtools-frontend/ # huge and i doubt we need it diff --git a/toolchain/src/10-extract_subscript.py b/toolchain/src/10-extract_subscript.py index e55c1c4a..010503b2 100644 --- a/toolchain/src/10-extract_subscript.py +++ b/toolchain/src/10-extract_subscript.py @@ -59,16 +59,16 @@ def match_json_to_directory(config_file, src_dir, relative=True, exists=True, mi if relative: f = f.removeprefix(src_dir) if annotate: - print(f"exists: {f}") + print(f"exists: {str(f)}") else: - print(f) + print(f, end=" ") if (not os.path.exists(f) and missing): if relative: f = f.removeprefix(src_dir) if annotate: - print(f"missing: {f}") + print(f"missing: {str(f)}") else: - print(f) + print(f, end=" ") # 1) load a json and begin processing it # 2) list what files you can and can't find From 9a15589bb4cc67e2d731c241de7758b2bc43fa7d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 30 Jul 2024 18:48:16 -0400 Subject: [PATCH 378/510] Mk builddir --- toolchain/src/13-roll_wheel.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/13-roll_wheel.sh b/toolchain/src/13-roll_wheel.sh index 092854be..d4eb055d 100755 --- a/toolchain/src/13-roll_wheel.sh +++ b/toolchain/src/13-roll_wheel.sh @@ -34,7 +34,7 @@ python3 setup.py package popd # command, after package - +mkdir -p "${MAIN_DIR}/build/" cp "${MAIN_DIR}/src/kaleido/py/dist/"* "${MAIN_DIR}/build/" # linux called bundle_hash_artifacts From 17cae135774720ca38d82ecb24c658306a8f7c28 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 10:28:20 -0400 Subject: [PATCH 379/510] Add packaging artifacts to .gitignore --- .gitignore | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.gitignore b/.gitignore index 8bc2ce48..8284ff0b 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,10 @@ vendor/.cipd vendor/.gclient_entries vendor/.gclient_previous_sync_commits vendor/.gcs_entries + +# Packaing build artifacts +src/kaleido/js/node_modules/ +src/kaleido/py/LICENSE.txt +src/kaleido/py/README.md +src/kaleido/py/dist/ +src/kaleido/py/kaleido/_version.py From 8ca34cdee63b65be6fdfb5b33fb187c4ae3aa162 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 10:48:03 -0400 Subject: [PATCH 380/510] Amp verbosity in 10-extract --- toolchain/src/10-extract.sh | 76 ++++++++++++++++++++---------- toolchain/src/include/utilities.sh | 2 + 2 files changed, 52 insertions(+), 26 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 58eeafe5..7cf03b01 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -55,6 +55,14 @@ export BUILD_DIR export SRC_DIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" IMPORT='extract = __import__("10-extract_subscript")' +$NO_VERBOSE || echo "MAIN_DIR: $MAIN_DIR" +$NO_VERBOSE || echo "CHROMIUM_V_TAG: $CHROMIUM_VERSION_TAG" +$NO_VERBOSE || echo "PLAT: $PLATFORM" +$NO_VERBOSE || echo "T_ARCH: $TARGET_ARCH" +$NO_VERBOSE || echo "BUILD_DIR: $BUILD_DIR" +$NO_VERBOSE || echo "SRC_DIR: $SRC_DIR" +$NO_VERBOSE || echo "IMPORT LINE: $IMPORT" + CONFIG_DIR="${MAIN_DIR}/toolchain/extract_config/${CHROMIUM_VERSION_TAG}/" if [ ! -d "${CONFIG_DIR}" ] && $TRY; then CONFIG_DIR="${MAIN_DIR}/toolchain/extract_config/$(ls "${MAIN_DIR}/toolchain/extract_config" -vt | head -1)" @@ -63,6 +71,7 @@ elif [ -d "${CONFIG_DIR}" ]; then else util_error "No config dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" fi +$NO_VERBOSE || echo "Set CONFIG_DIR: $CONFIG_DIR" if [[ "$PLATFORM" == "WINDOWS" ]]; then CONFIG="$CONFIG_DIR/win-archive-rel.json" @@ -72,8 +81,9 @@ elif [[ "$PLATFORM" == "OSX" ]]; then CONFIG="$CONFIG_DIR/mac-archive-rel.json" fi export CONFIG +$NO_VERBOSE || echo "Found config: $CONFIG" -which python3 +$NO_VERBOSE || which python3 if [[ -z "${PYTHON-""}" ]] && which python3 &> /dev/null; then PYTHON="python3" else @@ -92,8 +102,8 @@ fi # may not need to have platform/version branches here if we use different ${CONFIG} each time if [[ "$PLATFORM" == "LINUX" ]]; then + $NO_VERBOSE || echo "IN LINUX" if [[ "${CHROMIUM_VERSION_TAG}" == "126.0.6478.126" ]] || $TRY; then - strip -s "${SRC_DIR}/kaleido" cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" chmod +x "${BUILD_DIR}/kaleido" @@ -102,12 +112,17 @@ extract.match_json_to_directory('\ ${CONFIG}-original', \ '$SRC_DIR', \ missing=False, annotate=False, relative=True)")") + $NO_VERBOSE || echo "Found files: $FILES" for f in $FILES; do - mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" + $NO_VERBOSE || echo "Processing file: $f" + $NO_VERBOSE || echo "$(dirname "${BUILD_DIR}/$f")" + $NO_VERBOSE || echo "${SRC_DIR}/${f}" + mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" # this might only work on linux :-( done fi # all linux, copy whole non-kernel lib + $NO_VERBOSE || echo "Running linux only copies" for f in $(sed -nr 's/^.*=> (.*) \(.*/\1/p' <(ldd ${SRC_DIR}/kaleido)); do mkdir -p $BUILD_DIR/lib/ cp $f $BUILD_DIR/lib/ @@ -117,41 +132,50 @@ missing=False, annotate=False, relative=True)")") for f in libdl libpthread librt libm libgcc_s libc; do rm ${BUILD_DIR}/lib/${f}* || echo "No ${f}" done + # done fi if [[ "$PLATFORM" == "OSX" ]]; then - cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" - chmod +x "${BUILD_DIR}/kaleido" - FILES=$(echo -e "$($PYTHON -c "$IMPORT; \ -extract.match_json_to_directory('\ -${CONFIG}-original', \ -'$SRC_DIR', \ -missing=False, annotate=False, relative=True)")") - for f in $FILES; do - mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" - done + $NO_VERBOSE || echo "IN OSX" + cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" + chmod +x "${BUILD_DIR}/kaleido" + FILES=$(echo -e "$($PYTHON -c "$IMPORT; \ + extract.match_json_to_directory('\ + ${CONFIG}-original', \ + '$SRC_DIR', \ + missing=False, annotate=False, relative=True)")") + $NO_VERBOSE || echo "Found files: $FILES" + for f in $FILES; do + $NO_VERBOSE || echo "Processing file: $f" + $NO_VERBOSE || echo "(dirname {BUILD_DIR}/f): $(dirname "${BUILD_DIR}/$f")" + $NO_VERBOSE || echo "(SRC_DIR/f): ${SRC_DIR}/${f}" + mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" || util_error "OSX doesn't support \$_ maybe" + $NO_VERBOSE || echo + done $NO_VERBOSE || echo "Check the line here:" cp "$MAIN_DIR/vendor/src/out/Kaleido_$PLATFORM_$TARGET_ARCH/lib"*.dylib "${BUILD_DIR}/" fi if [[ "$PLATFORM" == "WINDOWS" ]]; then - pushd "${MAIN_DIR}/toolchain/src/" - cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" - chmod +x "${BUILD_DIR}/kaleido" - FILES=$(echo "$($PYTHON -c "$IMPORT; \ + $NO_VERBOSE || echo "In windows" + pushd "${MAIN_DIR}/toolchain/src/" + cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" + chmod +x "${BUILD_DIR}/kaleido" + FILES=$(echo "$($PYTHON -c "$IMPORT; \ extract.match_json_to_directory('\ ${CONFIG}-original', \ '$SRC_DIR', \ missing=False, annotate=False, relative=True)")") - for f in $FILES; do - echo "$f" - echo "${SRC_DIR}${f}" - echo "${BUILD_DIR}$(dirname "$f")" - mkdir -p "${BUILD_DIR}$(dirname "$f")" - cp -r "${SRC_DIR}${f}" "${BUILD_DIR}$(dirname "$f")" - echo - done - popd + $NO_VERBOSE || echo "Found files: $FILES" + for f in $FILES; do + $NO_VERBOSE || echo "f: $f" + $NO_VERBOSE || echo "{SRC_DIR}{f}: ${SRC_DIR}${f}" + $NO_VERBOSE || echo "{BUILD_DIR}{dirname f}: ${BUILD_DIR}$(dirname "$f")" + mkdir -p "${BUILD_DIR}$(dirname "$f")" + cp -r "${SRC_DIR}${f}" "${BUILD_DIR}$(dirname "$f")" + $NO_VERBOSE || echo + done + popd fi rm -rf $BUILD_DIR/gen/third_party/devtools-frontend/ # huge and i doubt we need it diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh index 79c65ae5..a05e5560 100644 --- a/toolchain/src/include/utilities.sh +++ b/toolchain/src/include/utilities.sh @@ -115,6 +115,8 @@ case "$OSTYPE" in *) PLATFORM="$OSTYPE" ;; esac +$NO_VERBOSE || echo "Found platform: $PLATFORM from OSTYPE $OSTYPE" + if ! [[ "$PLATFORM" =~ ^(OSX|LINUX|WINDOWS)$ ]]; then util_error "$PLATFORM is not a supported platform for building." fi From a19e5b7333cd34e57789913197673abc2c56cc99 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 10:54:43 -0400 Subject: [PATCH 381/510] Amp verbosity in 10-extract2 --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 7cf03b01..91b98542 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -177,5 +177,5 @@ missing=False, annotate=False, relative=True)")") done popd fi - +$NO_VERBOSE || echo "Done with platform specific, removing devtools js ui" rm -rf $BUILD_DIR/gen/third_party/devtools-frontend/ # huge and i doubt we need it From ee10c3beba2eb83f56a4275d059e53234568f94b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 11:02:10 -0400 Subject: [PATCH 382/510] Amp verbosity in 10-extract-3 --- toolchain/src/10-extract.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 91b98542..771c9ec0 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -115,8 +115,8 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Found files: $FILES" for f in $FILES; do $NO_VERBOSE || echo "Processing file: $f" - $NO_VERBOSE || echo "$(dirname "${BUILD_DIR}/$f")" - $NO_VERBOSE || echo "${SRC_DIR}/${f}" + $NO_VERBOSE || echo "dirname BUILD_DIR/f: $(dirname "${BUILD_DIR}/$f")" + $NO_VERBOSE || echo "SRC_DIR:f ${SRC_DIR}/${f}" mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" # this might only work on linux :-( done From e9678495706f14a93fdb88243ca53a5f6ad666c2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 11:33:46 -0400 Subject: [PATCH 383/510] Amp verbosity in 10-extract X 4 --- toolchain/src/10-extract.sh | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 771c9ec0..b09497d4 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -115,11 +115,17 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Found files: $FILES" for f in $FILES; do $NO_VERBOSE || echo "Processing file: $f" - $NO_VERBOSE || echo "dirname BUILD_DIR/f: $(dirname "${BUILD_DIR}/$f")" - $NO_VERBOSE || echo "SRC_DIR:f ${SRC_DIR}/${f}" + $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" + $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" + $NO_VERBOSE || echo "For creating its directory (2 methods):" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" + $NO_VERBOSE || echo "For finding the source:" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" # this might only work on linux :-( + $NO_VERBOSE || echo done - fi # all linux, copy whole non-kernel lib $NO_VERBOSE || echo "Running linux only copies" @@ -147,8 +153,14 @@ if [[ "$PLATFORM" == "OSX" ]]; then $NO_VERBOSE || echo "Found files: $FILES" for f in $FILES; do $NO_VERBOSE || echo "Processing file: $f" - $NO_VERBOSE || echo "(dirname {BUILD_DIR}/f): $(dirname "${BUILD_DIR}/$f")" - $NO_VERBOSE || echo "(SRC_DIR/f): ${SRC_DIR}/${f}" + $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" + $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" + $NO_VERBOSE || echo "For creating its directory (2 methods):" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" + $NO_VERBOSE || echo "For finding the source:" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" || util_error "OSX doesn't support \$_ maybe" $NO_VERBOSE || echo done @@ -168,9 +180,15 @@ ${CONFIG}-original', \ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Found files: $FILES" for f in $FILES; do - $NO_VERBOSE || echo "f: $f" - $NO_VERBOSE || echo "{SRC_DIR}{f}: ${SRC_DIR}${f}" - $NO_VERBOSE || echo "{BUILD_DIR}{dirname f}: ${BUILD_DIR}$(dirname "$f")" + $NO_VERBOSE || echo "Processing file: $f" + $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" + $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" + $NO_VERBOSE || echo "For creating its directory (2 methods):" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" + $NO_VERBOSE || echo "For finding the source:" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" mkdir -p "${BUILD_DIR}$(dirname "$f")" cp -r "${SRC_DIR}${f}" "${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo From b2b1218a226d423515691369321f92cc4378c249 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 11:38:44 -0400 Subject: [PATCH 384/510] Clarify comment --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index b09497d4..80475149 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -136,7 +136,7 @@ missing=False, annotate=False, relative=True)")") # manual cp /usr/lib/x86_64-linux-gnu/nss/* ${BUILD_DIR}/lib/ for f in libdl libpthread librt libm libgcc_s libc; do - rm ${BUILD_DIR}/lib/${f}* || echo "No ${f}" + rm ${BUILD_DIR}/lib/${f}* || echo "No ${f} to remove, moving on..." done # done fi From 5fda465049db494fa38a74047243f2f1f83915ab Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 11:45:32 -0400 Subject: [PATCH 385/510] Improve verbosity in 11, 12, and 13 scripts --- toolchain/src/11-extract_etc.sh | 12 ++++++++++-- toolchain/src/12-build_js.sh | 12 +++++++++--- toolchain/src/13-roll_wheel.sh | 6 +++++- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/toolchain/src/11-extract_etc.sh b/toolchain/src/11-extract_etc.sh index cd0e86d2..cfb154e4 100755 --- a/toolchain/src/11-extract_etc.sh +++ b/toolchain/src/11-extract_etc.sh @@ -24,18 +24,26 @@ util_get_version util_export_version $NO_VERBOSE || echo "Running 11-extract.sh" +mkdir -p "$BUILD_DIR" +$NO_VERBOSE || echo "We do not clean build dir, run 10-extract.sh for that" # just making sure to litter these files everywhere at every step -cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MAIN_DIR}/src/kaleido/CREDITS.html" "${BUILD_DIR}" || echo "Missing some meta files, ignoring issue" +cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MAIN_DIR}/src/kaleido/CREDITS.html" "${BUILD_DIR}" || echo "Missing some meta files, ignoring issue." + mkdir -p "${BUILD_DIR}/etc" -unzip "${MAIN_DIR}/vendor/mathjax/"*.zip -d "${BUILD_DIR}/etc/" +if $NO_VERBOSE; then + unzip -qq "${MAIN_DIR}/vendor/mathjax/"*.zip -d "${BUILD_DIR}/etc/" +else + unzip "${MAIN_DIR}/vendor/mathjax/"*.zip -d "${BUILD_DIR}/etc/" +fi mv "${BUILD_DIR}/etc/Mathjax-"* "${BUILD_DIR}/etc/mathjax/" # linux copies a bunch of other stuff -- truly not sure how necessary this is if [[ "$PLATFORM" == "LINUX" ]]; then + $NO_VERBOSE || echo "Running linux specific font copies" mkdir -p ${BUILD_DIR}/etc/ cp -r /etc/fonts/ ${BUILD_DIR}/etc/fonts mkdir -p ${BUILD_DIR}/xdg diff --git a/toolchain/src/12-build_js.sh b/toolchain/src/12-build_js.sh index 58b4f197..75089733 100755 --- a/toolchain/src/12-build_js.sh +++ b/toolchain/src/12-build_js.sh @@ -33,9 +33,15 @@ export SRC_DIR="${MAIN_DIR}/src/kaleido/js/" pushd "${SRC_DIR}" mkdir -p build/ rm -rf node_modules/ -npm install -npm run clean -npm run build +if $NO_VERBOSE; then + npm install --silent + npm run --silent clean + npm run --silent build +else + npm install + npm run clean + npm run build +fi popd mkdir "${BUILD_DIR}/js/" diff --git a/toolchain/src/13-roll_wheel.sh b/toolchain/src/13-roll_wheel.sh index d4eb055d..49fdbe74 100755 --- a/toolchain/src/13-roll_wheel.sh +++ b/toolchain/src/13-roll_wheel.sh @@ -26,7 +26,11 @@ util_get_version util_export_version $NO_VERBOSE || echo "Running 12-roll_wheel.sh" - +echo +echo +echo "This part is never silent." +echo +echo python3 -m pip install setuptools export KALEIDO_ARCH="$TARGET_ARCH" pushd "${MAIN_DIR}/src/kaleido/py" From e92956b2a0381c185ad812595621742976ff9627 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 15:47:25 +0000 Subject: [PATCH 386/510] Update lockfile --- src/kaleido/js/package-lock.json | 1541 +++++++++++++++++++++++++++++- 1 file changed, 1531 insertions(+), 10 deletions(-) diff --git a/src/kaleido/js/package-lock.json b/src/kaleido/js/package-lock.json index 0423b18c..ae7eeaf4 100644 --- a/src/kaleido/js/package-lock.json +++ b/src/kaleido/js/package-lock.json @@ -1,19 +1,1530 @@ { "name": "orca_next", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, - "dependencies": { - "JSONStream": { + "packages": { + "": { + "name": "orca_next", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "fast-isnumeric": "^1.1.4", + "is-plain-obj": "^2.1.0", + "semver": "^7.3.2" + }, + "devDependencies": { + "browserify": "^16.5.2", + "rimraf": "^3.0.2" + } + }, + "node_modules/acorn": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", + "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "node_modules/bn.js": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "node_modules/browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "dev": true, + "dependencies": { + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "JSONStream": "^1.0.3", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + }, + "bin": { + "browser-pack": "bin/cmd.js" + } + }, + "node_modules/browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "dev": true, + "dependencies": { + "resolve": "^1.17.0" + } + }, + "node_modules/browserify": { + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", + "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", + "dev": true, + "dependencies": { + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^2.0.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^2.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "JSONStream": "^1.0.3", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.2.3", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "browserify": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-rsa/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/browserify-sign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", + "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "node_modules/cached-path-relative": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", + "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", + "dev": true + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", + "dev": true, + "dependencies": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true + }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "node_modules/deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "dev": true, + "dependencies": { + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + }, + "bin": { + "deps-sort": "bin/cmd.js" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "dependencies": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "dev": true, + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/fast-isnumeric": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-isnumeric/-/fast-isnumeric-1.1.4.tgz", + "integrity": "sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==", + "dependencies": { + "is-string-blank": "^1.0.1" + } + }, + "node_modules/fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "node_modules/ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", + "dev": true, + "dependencies": { + "source-map": "~0.5.3" + } + }, + "node_modules/insert-module-globals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", + "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + }, + "bin": { + "insert-module-globals": "bin/cmd.js" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-string-blank": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-string-blank/-/is-string-blank-1.0.1.tgz", + "integrity": "sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==" + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/json-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", + "dev": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" + } + }, + "node_modules/lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", + "dev": true + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/module-deps": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", + "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", + "dev": true, + "dependencies": { + "browser-resolve": "^2.0.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "JSONStream": "^1.0.3", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "module-deps": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", + "dev": true, + "dependencies": { + "path-platform": "~0.11.15" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "dependencies": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "node_modules/path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", + "dev": true, + "dependencies": { + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" + } + }, + "node_modules/shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "dev": true, + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, + "node_modules/shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "dev": true, + "dependencies": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-http": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz", + "integrity": "sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "dev": true, + "dependencies": { + "minimist": "^1.1.0" + } + }, + "node_modules/syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "dependencies": { + "acorn-node": "^1.2.0" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "dev": true, + "dependencies": { + "process": "~0.11.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", + "dev": true, + "bin": { + "umd": "bin/cli.js" + } + }, + "node_modules/undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + }, + "bin": { + "undeclared-identifiers": "bin.js" + } + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + } + }, + "dependencies": { "acorn": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", @@ -123,9 +1634,9 @@ "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", "dev": true, "requires": { - "JSONStream": "^1.0.3", "combine-source-map": "~0.8.0", "defined": "^1.0.0", + "JSONStream": "^1.0.3", "safe-buffer": "^5.1.1", "through2": "^2.0.0", "umd": "^3.0.0" @@ -146,7 +1657,6 @@ "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", "dev": true, "requires": { - "JSONStream": "^1.0.3", "assert": "^1.4.0", "browser-pack": "^6.0.1", "browser-resolve": "^2.0.0", @@ -168,6 +1678,7 @@ "https-browserify": "^1.0.0", "inherits": "~2.0.1", "insert-module-globals": "^7.0.0", + "JSONStream": "^1.0.3", "labeled-stream-splicer": "^2.0.0", "mkdirp-classic": "^0.5.2", "module-deps": "^6.2.3", @@ -719,11 +2230,11 @@ "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", "dev": true, "requires": { - "JSONStream": "^1.0.3", "acorn-node": "^1.5.2", "combine-source-map": "^0.8.0", "concat-stream": "^1.6.1", "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", "path-is-absolute": "^1.0.1", "process": "~0.11.0", "through2": "^2.0.0", @@ -774,6 +2285,16 @@ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, "labeled-stream-splicer": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", @@ -858,7 +2379,6 @@ "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", "dev": true, "requires": { - "JSONStream": "^1.0.3", "browser-resolve": "^2.0.0", "cached-path-relative": "^1.0.2", "concat-stream": "~1.6.0", @@ -866,6 +2386,7 @@ "detective": "^5.2.0", "duplexer2": "^0.1.2", "inherits": "^2.0.1", + "JSONStream": "^1.0.3", "parents": "^1.0.0", "readable-stream": "^2.0.2", "resolve": "^1.4.0", From 2e77b0ea5076f3eedfc97e2ad958d21f105adcc4 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 11:54:00 -0400 Subject: [PATCH 387/510] Properly delimit vars for OSX --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 80475149..addc9d6d 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -165,7 +165,7 @@ if [[ "$PLATFORM" == "OSX" ]]; then $NO_VERBOSE || echo done $NO_VERBOSE || echo "Check the line here:" - cp "$MAIN_DIR/vendor/src/out/Kaleido_$PLATFORM_$TARGET_ARCH/lib"*.dylib "${BUILD_DIR}/" + cp "${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}/lib"*.dylib "${BUILD_DIR}/" fi if [[ "$PLATFORM" == "WINDOWS" ]]; then From 8cb409f4bb1e4d62a4fab297af28151d1b9793df Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:00:19 -0400 Subject: [PATCH 388/510] Obsess over ENV VAR delimiter {} --- toolchain/src/10-extract.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index addc9d6d..384db213 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -73,12 +73,12 @@ else fi $NO_VERBOSE || echo "Set CONFIG_DIR: $CONFIG_DIR" -if [[ "$PLATFORM" == "WINDOWS" ]]; then - CONFIG="$CONFIG_DIR/win-archive-rel.json" -elif [[ "$PLATFORM" == "LINUX" ]]; then - CONFIG="$CONFIG_DIR/linux-archive-rel.json" -elif [[ "$PLATFORM" == "OSX" ]]; then - CONFIG="$CONFIG_DIR/mac-archive-rel.json" +if [[ "${PLATFORM}" == "WINDOWS" ]]; then + CONFIG="${CONFIG_DIR}/win-archive-rel.json" +elif [[ "${PLATFORM}" == "LINUX" ]]; then + CONFIG="${CONFIG_DIR}/linux-archive-rel.json" +elif [[ "${PLATFORM}" == "OSX" ]]; then + CONFIG="${CONFIG_DIR}/mac-archive-rel.json" fi export CONFIG $NO_VERBOSE || echo "Found config: $CONFIG" From efc8d06c75c12979531e20d42b71272ff42e6491 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:00:36 -0400 Subject: [PATCH 389/510] Add check for config file in 10-extract --- toolchain/src/10-extract.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 384db213..781baaa2 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -81,6 +81,10 @@ elif [[ "${PLATFORM}" == "OSX" ]]; then CONFIG="${CONFIG_DIR}/mac-archive-rel.json" fi export CONFIG + +if [ ! -f "${CONFIG}" ]; then + util_error "COULDN'T FIND ${CONFIG}" +fi $NO_VERBOSE || echo "Found config: $CONFIG" $NO_VERBOSE || which python3 From 30c668635501162ce183377f9acbc69fd2f2e128 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:00:43 -0400 Subject: [PATCH 390/510] Remove debug reminder --- toolchain/src/10-extract.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 781baaa2..1bc9784c 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -168,7 +168,6 @@ if [[ "$PLATFORM" == "OSX" ]]; then mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" || util_error "OSX doesn't support \$_ maybe" $NO_VERBOSE || echo done - $NO_VERBOSE || echo "Check the line here:" cp "${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}/lib"*.dylib "${BUILD_DIR}/" fi From f4f4fe7df8a4245bebde9932916801ff8dacb4d5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:10:03 -0400 Subject: [PATCH 391/510] Add more delimiting variables --- toolchain/src/10-extract.sh | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 1bc9784c..22039229 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -74,11 +74,11 @@ fi $NO_VERBOSE || echo "Set CONFIG_DIR: $CONFIG_DIR" if [[ "${PLATFORM}" == "WINDOWS" ]]; then - CONFIG="${CONFIG_DIR}/win-archive-rel.json" + CONFIG="$(readlink -m "${CONFIG_DIR}/win-archive-rel.json")" elif [[ "${PLATFORM}" == "LINUX" ]]; then - CONFIG="${CONFIG_DIR}/linux-archive-rel.json" + CONFIG="$(readlink -m "${CONFIG_DIR}/linux-archive-rel.json")" elif [[ "${PLATFORM}" == "OSX" ]]; then - CONFIG="${CONFIG_DIR}/mac-archive-rel.json" + CONFIG="$(readlink -m "${CONFIG_DIR}/mac-archive-rel.json")" fi export CONFIG @@ -122,25 +122,25 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -m "$(dirname "${BUILD_DIR}/${f}")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -m "${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" - mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" # this might only work on linux :-( + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -m "${SRC_DIR}/${f}" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -m "${SRC_DIR}${f}" + mkdir -p $(dirname "$(readlink -m "${BUILD_DIR}/$f") && cp -r "$(readlink -m "${SRC_DIR}/${f}" "$_" # this might only work on linux :-( $NO_VERBOSE || echo done fi # all linux, copy whole non-kernel lib $NO_VERBOSE || echo "Running linux only copies" - for f in $(sed -nr 's/^.*=> (.*) \(.*/\1/p' <(ldd ${SRC_DIR}/kaleido)); do - mkdir -p $BUILD_DIR/lib/ - cp $f $BUILD_DIR/lib/ + for f in $(sed -nr 's/^.*=> (.*) \(.*/\1/p' <(ldd "${SRC_DIR}/kaleido")); do + mkdir -p "${BUILD_DIR}/lib/" + cp "${f}" "${BUILD_DIR}/lib/" done # manual - cp /usr/lib/x86_64-linux-gnu/nss/* ${BUILD_DIR}/lib/ + cp /usr/lib/x86_64-linux-gnu/nss/* "${BUILD_DIR}/lib/" for f in libdl libpthread librt libm libgcc_s libc; do - rm ${BUILD_DIR}/lib/${f}* || echo "No ${f} to remove, moving on..." + rm "${BUILD_DIR}/lib/${f}"* || echo "No ${f} to remove, moving on..." done # done fi @@ -199,4 +199,4 @@ missing=False, annotate=False, relative=True)")") popd fi $NO_VERBOSE || echo "Done with platform specific, removing devtools js ui" -rm -rf $BUILD_DIR/gen/third_party/devtools-frontend/ # huge and i doubt we need it +rm -rf "${BUILD_DIR}/gen/third_party/devtools-frontend/" # huge and i doubt we need it From 39d4232806dd5626e89188239a5a6ea4020ca887 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:12:06 -0400 Subject: [PATCH 392/510] Some IFS magic to deal w/ spaces in filenames --- toolchain/src/10-extract.sh | 9 +++++++++ toolchain/src/10-extract_subscript.py | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 22039229..ba27b86a 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -117,6 +117,8 @@ ${CONFIG}-original', \ '$SRC_DIR', \ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Found files: $FILES" + OLDIFS=$IFS + IFS=$'\t' for f in $FILES; do $NO_VERBOSE || echo "Processing file: $f" $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" @@ -130,6 +132,7 @@ missing=False, annotate=False, relative=True)")") mkdir -p $(dirname "$(readlink -m "${BUILD_DIR}/$f") && cp -r "$(readlink -m "${SRC_DIR}/${f}" "$_" # this might only work on linux :-( $NO_VERBOSE || echo done + IFS=$OLDIFS fi # all linux, copy whole non-kernel lib $NO_VERBOSE || echo "Running linux only copies" @@ -155,6 +158,8 @@ if [[ "$PLATFORM" == "OSX" ]]; then '$SRC_DIR', \ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Found files: $FILES" + OLDIFS=$IFS + IFS=$'\t' for f in $FILES; do $NO_VERBOSE || echo "Processing file: $f" $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" @@ -168,6 +173,7 @@ if [[ "$PLATFORM" == "OSX" ]]; then mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" || util_error "OSX doesn't support \$_ maybe" $NO_VERBOSE || echo done + IFS=$OLDIFS cp "${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}/lib"*.dylib "${BUILD_DIR}/" fi @@ -182,6 +188,8 @@ ${CONFIG}-original', \ '$SRC_DIR', \ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Found files: $FILES" + OLDIFS=$IFS + IFS=$'\t' for f in $FILES; do $NO_VERBOSE || echo "Processing file: $f" $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" @@ -196,6 +204,7 @@ missing=False, annotate=False, relative=True)")") cp -r "${SRC_DIR}${f}" "${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo done + IFS=$OLDIFS popd fi $NO_VERBOSE || echo "Done with platform specific, removing devtools js ui" diff --git a/toolchain/src/10-extract_subscript.py b/toolchain/src/10-extract_subscript.py index 010503b2..f56be730 100644 --- a/toolchain/src/10-extract_subscript.py +++ b/toolchain/src/10-extract_subscript.py @@ -61,14 +61,14 @@ def match_json_to_directory(config_file, src_dir, relative=True, exists=True, mi if annotate: print(f"exists: {str(f)}") else: - print(f, end=" ") + print(f, end="\t") if (not os.path.exists(f) and missing): if relative: f = f.removeprefix(src_dir) if annotate: print(f"missing: {str(f)}") else: - print(f, end=" ") + print(f, end="\t") # 1) load a json and begin processing it # 2) list what files you can and can't find From 59e263e89a803cd10829c9fc3e62cae7e60b7689 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:13:19 -0400 Subject: [PATCH 393/510] Fix suffix in config file --- toolchain/src/10-extract.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index ba27b86a..9ea0443f 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -82,8 +82,8 @@ elif [[ "${PLATFORM}" == "OSX" ]]; then fi export CONFIG -if [ ! -f "${CONFIG}" ]; then - util_error "COULDN'T FIND ${CONFIG}" +if [ ! -f "${CONFIG}-original" ]; then + util_error "COULDN'T FIND ${CONFIG}-original" fi $NO_VERBOSE || echo "Found config: $CONFIG" From 21e21d6088d91576c0db22ce02007dfa6f65ebd1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:14:00 -0400 Subject: [PATCH 394/510] Fix string in readlink --- toolchain/src/10-extract.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 9ea0443f..df17ab57 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -125,10 +125,10 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -m "$(dirname "${BUILD_DIR}/${f}")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -m "${BUILD_DIR}$(dirname "$f")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -m "${BUILD_DIR}$(dirname "$f")")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -m "${SRC_DIR}/${f}" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -m "${SRC_DIR}${f}" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -m "${SRC_DIR}/${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -m "${SRC_DIR}${f}")" mkdir -p $(dirname "$(readlink -m "${BUILD_DIR}/$f") && cp -r "$(readlink -m "${SRC_DIR}/${f}" "$_" # this might only work on linux :-( $NO_VERBOSE || echo done From a3da270259cab2b227d793a8be9579273aeeae2d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:14:45 -0400 Subject: [PATCH 395/510] Fix string in readlink x 2 --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index df17ab57..a72c4f35 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -124,7 +124,7 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -m "$(dirname "${BUILD_DIR}/${f}")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -m "$(dirname "${BUILD_DIR}/${f}")")" $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -m "${BUILD_DIR}$(dirname "$f")")" $NO_VERBOSE || echo "For finding the source:" $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -m "${SRC_DIR}/${f}")" From 5f1dd1b4c99ac55fb698691a5e5f731fa62ace5d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:15:36 -0400 Subject: [PATCH 396/510] Fix string in readlink x 3 --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index a72c4f35..dbd772c6 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -129,7 +129,7 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "For finding the source:" $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -m "${SRC_DIR}/${f}")" $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -m "${SRC_DIR}${f}")" - mkdir -p $(dirname "$(readlink -m "${BUILD_DIR}/$f") && cp -r "$(readlink -m "${SRC_DIR}/${f}" "$_" # this might only work on linux :-( + mkdir -p "$(dirname "$(readlink -m "${BUILD_DIR}/$f")")" && cp -r "$(readlink -m "${SRC_DIR}/${f}")" "$_" # this might only work on linux :-( $NO_VERBOSE || echo done IFS=$OLDIFS From 49eb572998ccc50768034c6f10f0e2c279593c20 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:19:17 -0400 Subject: [PATCH 397/510] Unify copy/dir strategy in 10-extract --- toolchain/src/10-extract.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index dbd772c6..ac519914 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -129,7 +129,9 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "For finding the source:" $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -m "${SRC_DIR}/${f}")" $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -m "${SRC_DIR}${f}")" - mkdir -p "$(dirname "$(readlink -m "${BUILD_DIR}/$f")")" && cp -r "$(readlink -m "${SRC_DIR}/${f}")" "$_" # this might only work on linux :-( + mkdir -p "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" + cp -r "$(readlink -m "${SRC_DIR}/${f}")" "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" + #mkdir -p "$(dirname "$(readlink -m "${BUILD_DIR}/$f")")" && cp -r "$(readlink -m "${SRC_DIR}/${f}")" "$_" # this might only work on linux :-( $NO_VERBOSE || echo done IFS=$OLDIFS From 2a3572b41950962b6dc3d103fc722b4793a5e1c0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:21:30 -0400 Subject: [PATCH 398/510] Unify copy/dir strategy in 10-extract x 2 --- toolchain/src/10-extract.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index ac519914..ae16929d 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -131,7 +131,6 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -m "${SRC_DIR}${f}")" mkdir -p "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" cp -r "$(readlink -m "${SRC_DIR}/${f}")" "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" - #mkdir -p "$(dirname "$(readlink -m "${BUILD_DIR}/$f")")" && cp -r "$(readlink -m "${SRC_DIR}/${f}")" "$_" # this might only work on linux :-( $NO_VERBOSE || echo done IFS=$OLDIFS @@ -167,12 +166,13 @@ if [[ "$PLATFORM" == "OSX" ]]; then $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -m "$(dirname "${BUILD_DIR}/${f}")")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -m "${BUILD_DIR}$(dirname "$f")")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" - mkdir -p $(dirname "${BUILD_DIR}/$f") && cp -r "${SRC_DIR}/${f}" "$_" || util_error "OSX doesn't support \$_ maybe" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -m "${SRC_DIR}/${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -m "${SRC_DIR}${f}")" + mkdir -p "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" + cp -r "$(readlink -m "${SRC_DIR}/${f}")" "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo done IFS=$OLDIFS @@ -197,13 +197,13 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -m "$(dirname "${BUILD_DIR}/${f}")")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -m "${BUILD_DIR}$(dirname "$f")")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" - mkdir -p "${BUILD_DIR}$(dirname "$f")" - cp -r "${SRC_DIR}${f}" "${BUILD_DIR}$(dirname "$f")" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -m "${SRC_DIR}/${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -m "${SRC_DIR}${f}")" + mkdir -p "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" + cp -r "$(readlink -m "${SRC_DIR}/${f}")" "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo done IFS=$OLDIFS From 15b247ea91ebf3ca5233d1c45be993af47e08663 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 12:40:51 -0400 Subject: [PATCH 399/510] Add commit print to utilities to see version --- toolchain/src/include/utilities.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh index a05e5560..1839ccbd 100644 --- a/toolchain/src/include/utilities.sh +++ b/toolchain/src/include/utilities.sh @@ -128,6 +128,7 @@ $NO_VERBOSE || echo "Found platform: $PLATFORM" export MAIN_DIR="${MAIN_DIR-$(git rev-parse --show-toplevel)}" $NO_VERBOSE || echo "Found main dir: ${MAIN_DIR}" +$NO_VERBOSE || git -C "${MAIN_DIR}" log -1 --oneline if [[ "$MAIN_DIR" == "" ]] || [[ "$MAIN_DIR" == "/" ]]; then util_error "git rev-parse returned an empty directory, are we in a git directory?" From 9af5eade1f0cc355c7a2b33b210285d59b9350a9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:30:16 -0400 Subject: [PATCH 400/510] remove -m from readlink --- toolchain/src/10-extract.sh | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index ae16929d..4e5feb82 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -74,11 +74,11 @@ fi $NO_VERBOSE || echo "Set CONFIG_DIR: $CONFIG_DIR" if [[ "${PLATFORM}" == "WINDOWS" ]]; then - CONFIG="$(readlink -m "${CONFIG_DIR}/win-archive-rel.json")" + CONFIG="$(readlink "${CONFIG_DIR}/win-archive-rel.json")" elif [[ "${PLATFORM}" == "LINUX" ]]; then - CONFIG="$(readlink -m "${CONFIG_DIR}/linux-archive-rel.json")" + CONFIG="$(readlink "${CONFIG_DIR}/linux-archive-rel.json")" elif [[ "${PLATFORM}" == "OSX" ]]; then - CONFIG="$(readlink -m "${CONFIG_DIR}/mac-archive-rel.json")" + CONFIG="$(readlink "${CONFIG_DIR}/mac-archive-rel.json")" fi export CONFIG @@ -124,13 +124,13 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -m "$(dirname "${BUILD_DIR}/${f}")")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -m "${BUILD_DIR}$(dirname "$f")")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink "$(dirname "${BUILD_DIR}/${f}")")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink "${BUILD_DIR}$(dirname "$f")")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -m "${SRC_DIR}/${f}")" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -m "${SRC_DIR}${f}")" - mkdir -p "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" - cp -r "$(readlink -m "${SRC_DIR}/${f}")" "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink "${SRC_DIR}/${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink "${SRC_DIR}${f}")" + mkdir -p "$(readlink "${BUILD_DIR}/$(dirname "$f")")" + cp -r "$(readlink "${SRC_DIR}/${f}")" "$(readlink "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo done IFS=$OLDIFS @@ -166,13 +166,13 @@ if [[ "$PLATFORM" == "OSX" ]]; then $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -m "$(dirname "${BUILD_DIR}/${f}")")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -m "${BUILD_DIR}$(dirname "$f")")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink "$(dirname "${BUILD_DIR}/${f}")")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink "${BUILD_DIR}$(dirname "$f")")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -m "${SRC_DIR}/${f}")" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -m "${SRC_DIR}${f}")" - mkdir -p "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" - cp -r "$(readlink -m "${SRC_DIR}/${f}")" "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink "${SRC_DIR}/${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink "${SRC_DIR}${f}")" + mkdir -p "$(readlink "${BUILD_DIR}/$(dirname "$f")")" + cp -r "$(readlink "${SRC_DIR}/${f}")" "$(readlink "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo done IFS=$OLDIFS @@ -197,13 +197,13 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -m "$(dirname "${BUILD_DIR}/${f}")")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -m "${BUILD_DIR}$(dirname "$f")")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink "$(dirname "${BUILD_DIR}/${f}")")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink "${BUILD_DIR}$(dirname "$f")")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -m "${SRC_DIR}/${f}")" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -m "${SRC_DIR}${f}")" - mkdir -p "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" - cp -r "$(readlink -m "${SRC_DIR}/${f}")" "$(readlink -m "${BUILD_DIR}/$(dirname "$f")")" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink "${SRC_DIR}/${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink "${SRC_DIR}${f}")" + mkdir -p "$(readlink "${BUILD_DIR}/$(dirname "$f")")" + cp -r "$(readlink "${SRC_DIR}/${f}")" "$(readlink "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo done IFS=$OLDIFS From 0c331f7291a263efcb1424f577d7e89bdfec2c19 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:32:24 -0400 Subject: [PATCH 401/510] Add -f to readlink for canonicalize --- toolchain/src/10-extract.sh | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 4e5feb82..be6ffebd 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -74,11 +74,11 @@ fi $NO_VERBOSE || echo "Set CONFIG_DIR: $CONFIG_DIR" if [[ "${PLATFORM}" == "WINDOWS" ]]; then - CONFIG="$(readlink "${CONFIG_DIR}/win-archive-rel.json")" + CONFIG="$(readlink -f "${CONFIG_DIR}/win-archive-rel.json")" elif [[ "${PLATFORM}" == "LINUX" ]]; then - CONFIG="$(readlink "${CONFIG_DIR}/linux-archive-rel.json")" + CONFIG="$(readlink -f "${CONFIG_DIR}/linux-archive-rel.json")" elif [[ "${PLATFORM}" == "OSX" ]]; then - CONFIG="$(readlink "${CONFIG_DIR}/mac-archive-rel.json")" + CONFIG="$(readlink -f "${CONFIG_DIR}/mac-archive-rel.json")" fi export CONFIG @@ -124,13 +124,13 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink "$(dirname "${BUILD_DIR}/${f}")")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink "${BUILD_DIR}$(dirname "$f")")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -f "$(dirname "${BUILD_DIR}/${f}")")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -f "${BUILD_DIR}$(dirname "$f")")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink "${SRC_DIR}/${f}")" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink "${SRC_DIR}${f}")" - mkdir -p "$(readlink "${BUILD_DIR}/$(dirname "$f")")" - cp -r "$(readlink "${SRC_DIR}/${f}")" "$(readlink "${BUILD_DIR}/$(dirname "$f")")" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -f "${SRC_DIR}/${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -f "${SRC_DIR}${f}")" + mkdir -p "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" + cp -r "$(readlink -f "${SRC_DIR}/${f}")" "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo done IFS=$OLDIFS @@ -166,13 +166,13 @@ if [[ "$PLATFORM" == "OSX" ]]; then $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink "$(dirname "${BUILD_DIR}/${f}")")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink "${BUILD_DIR}$(dirname "$f")")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -f "$(dirname "${BUILD_DIR}/${f}")")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -f "${BUILD_DIR}$(dirname "$f")")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink "${SRC_DIR}/${f}")" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink "${SRC_DIR}${f}")" - mkdir -p "$(readlink "${BUILD_DIR}/$(dirname "$f")")" - cp -r "$(readlink "${SRC_DIR}/${f}")" "$(readlink "${BUILD_DIR}/$(dirname "$f")")" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -f "${SRC_DIR}/${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -f "${SRC_DIR}${f}")" + mkdir -p "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" + cp -r "$(readlink -f "${SRC_DIR}/${f}")" "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo done IFS=$OLDIFS @@ -197,13 +197,13 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink "$(dirname "${BUILD_DIR}/${f}")")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink "${BUILD_DIR}$(dirname "$f")")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -f "$(dirname "${BUILD_DIR}/${f}")")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -f "${BUILD_DIR}$(dirname "$f")")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink "${SRC_DIR}/${f}")" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink "${SRC_DIR}${f}")" - mkdir -p "$(readlink "${BUILD_DIR}/$(dirname "$f")")" - cp -r "$(readlink "${SRC_DIR}/${f}")" "$(readlink "${BUILD_DIR}/$(dirname "$f")")" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -f "${SRC_DIR}/${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -f "${SRC_DIR}${f}")" + mkdir -p "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" + cp -r "$(readlink -f "${SRC_DIR}/${f}")" "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo done IFS=$OLDIFS From 527493039d8bb9b3537e943b3ca17b53347f0ae4 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:34:42 -0400 Subject: [PATCH 402/510] Start removing readlink --- toolchain/src/10-extract.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index be6ffebd..dc8e14f6 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -124,11 +124,11 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -f "$(dirname "${BUILD_DIR}/${f}")")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -f "${BUILD_DIR}$(dirname "$f")")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -f "${SRC_DIR}/${f}")" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -f "${SRC_DIR}${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" mkdir -p "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" cp -r "$(readlink -f "${SRC_DIR}/${f}")" "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo @@ -166,11 +166,11 @@ if [[ "$PLATFORM" == "OSX" ]]; then $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -f "$(dirname "${BUILD_DIR}/${f}")")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -f "${BUILD_DIR}$(dirname "$f")")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -f "${SRC_DIR}/${f}")" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -f "${SRC_DIR}${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" mkdir -p "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" cp -r "$(readlink -f "${SRC_DIR}/${f}")" "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo @@ -197,11 +197,11 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(readlink -f "$(dirname "${BUILD_DIR}/${f}")")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"$(readlink -f "${BUILD_DIR}$(dirname "$f")")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" + $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"$(readlink -f "${SRC_DIR}/${f}")" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"$(readlink -f "${SRC_DIR}${f}")" + $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" + $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" mkdir -p "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" cp -r "$(readlink -f "${SRC_DIR}/${f}")" "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo From 056159e844b7ddd23f5f9248f32119a939ac9be8 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:37:12 -0400 Subject: [PATCH 403/510] Start removing readlink x 2 --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index dc8e14f6..304e2cfd 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -197,7 +197,7 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}${f}): '"$(dirname "${BUILD_DIR}${f}")" $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo "For finding the source:" $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" From b14380a627fb9f01e8827bc01b45c68d19cddd2d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:38:10 -0400 Subject: [PATCH 404/510] Start removing readlink x 3 --- toolchain/src/10-extract.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 304e2cfd..0c1d2316 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -124,7 +124,7 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}${f}): '"$(dirname "${BUILD_DIR}${f}")" $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo "For finding the source:" $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" @@ -166,7 +166,7 @@ if [[ "$PLATFORM" == "OSX" ]]; then $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}/${f}): '"$(dirname "${BUILD_DIR}/${f}")" + $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}${f}): '"$(dirname "${BUILD_DIR}${f}")" $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo "For finding the source:" $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" From 4fce0214af68ba1927bee31ca1d5b3a452c08fc8 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:40:04 -0400 Subject: [PATCH 405/510] Start removing readlink x 4 --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 0c1d2316..b650aebe 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -124,7 +124,7 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}${f}): '"$(dirname "${BUILD_DIR}${f}")" + $NO_VERBOSE || echo ' $(dirname "${BUILD_DIR}")${f}: '"$(dirname "${BUILD_DIR}")${f}" $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo "For finding the source:" $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" From 29b9004f9ab1c37a39bd1d6f825bcefe239b61e0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:41:41 -0400 Subject: [PATCH 406/510] Start removing readlink x 5 --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index b650aebe..74e91e46 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -124,7 +124,7 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname "${BUILD_DIR}")${f}: '"$(dirname "${BUILD_DIR}")${f}" + $NO_VERBOSE || echo ' $(dirname "${BUILD_DIR}")${f}: '"$(dirname "${BUILD_DIR}")$(dirname "${f}")" $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo "For finding the source:" $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" From 0d7b4c41629c9dc95fd14793645b5c1a6291fb35 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:43:39 -0400 Subject: [PATCH 407/510] Start removing readlink x 6 --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 74e91e46..b650aebe 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -124,7 +124,7 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname "${BUILD_DIR}")${f}: '"$(dirname "${BUILD_DIR}")$(dirname "${f}")" + $NO_VERBOSE || echo ' $(dirname "${BUILD_DIR}")${f}: '"$(dirname "${BUILD_DIR}")${f}" $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" $NO_VERBOSE || echo "For finding the source:" $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" From d96fd9a8ab2c7bcafe46b99b0842a896c3adb8b2 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:46:04 -0400 Subject: [PATCH 408/510] Start removing readlink x 7 --- toolchain/src/10-extract.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index b650aebe..d09cb58d 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -123,12 +123,13 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Processing file: $f" $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" - $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname "${BUILD_DIR}")${f}: '"$(dirname "${BUILD_DIR}")${f}" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" - $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" + MKDIR_PATH="$(dirname "${BUILD_DIR}")${f}" + if [ -f "${MKDIR_PATH}" ]; then + MKDIR_PATH="$(dirname "${MKDIR_PATH}")" + fi + $NO_VERBOSE || echo "For creating its directory: ${MKDIR_PATH}" + SRC_PATH="${SRC_DIR}${f}" + $NO_VERBOSE || echo "To copy: ${SRC_PATH}" mkdir -p "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" cp -r "$(readlink -f "${SRC_DIR}/${f}")" "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" $NO_VERBOSE || echo From 7bf72baeba1aa141a651662db4fdd724ff135a4e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:46:41 -0400 Subject: [PATCH 409/510] Start removing readlink x 8 --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index d09cb58d..eb5615f6 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -124,7 +124,7 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" MKDIR_PATH="$(dirname "${BUILD_DIR}")${f}" - if [ -f "${MKDIR_PATH}" ]; then + if [ ! -d "${MKDIR_PATH}" ]; then MKDIR_PATH="$(dirname "${MKDIR_PATH}")" fi $NO_VERBOSE || echo "For creating its directory: ${MKDIR_PATH}" From 62e762f1bfc975c519f2076d18f708ffe5574549 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:47:28 -0400 Subject: [PATCH 410/510] Start removing readlink x 9 --- toolchain/src/10-extract.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index eb5615f6..4d3f5f7a 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -124,6 +124,7 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" MKDIR_PATH="$(dirname "${BUILD_DIR}")${f}" + $NO_VERBOSE || echo "First mkdir path: ${MKDIR_PATH}" if [ ! -d "${MKDIR_PATH}" ]; then MKDIR_PATH="$(dirname "${MKDIR_PATH}")" fi From b998da866c5de5a24276342df8ee359b6038114c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:49:22 -0400 Subject: [PATCH 411/510] Start removing readlink x 10 --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 4d3f5f7a..6af7bbd9 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -123,7 +123,7 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Processing file: $f" $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" - MKDIR_PATH="$(dirname "${BUILD_DIR}")${f}" + MKDIR_PATH="${BUILD_DIR%/}/${/#f}" $NO_VERBOSE || echo "First mkdir path: ${MKDIR_PATH}" if [ ! -d "${MKDIR_PATH}" ]; then MKDIR_PATH="$(dirname "${MKDIR_PATH}")" From 3feb790a47fc51bd6dc32e953bab748d81bb212c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:50:04 -0400 Subject: [PATCH 412/510] Start removing readlink x 11 --- toolchain/src/10-extract.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 6af7bbd9..a7df81ef 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -123,7 +123,7 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Processing file: $f" $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" - MKDIR_PATH="${BUILD_DIR%/}/${/#f}" + MKDIR_PATH="${BUILD_DIR%/}/${f#/}" $NO_VERBOSE || echo "First mkdir path: ${MKDIR_PATH}" if [ ! -d "${MKDIR_PATH}" ]; then MKDIR_PATH="$(dirname "${MKDIR_PATH}")" From 9fa3aa701343dccca9d82bbc969da723e325454c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:51:33 -0400 Subject: [PATCH 413/510] Start removing readlink x 12 --- toolchain/src/10-extract.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index a7df81ef..c3a58dec 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -128,11 +128,12 @@ missing=False, annotate=False, relative=True)")") if [ ! -d "${MKDIR_PATH}" ]; then MKDIR_PATH="$(dirname "${MKDIR_PATH}")" fi + MKDIR_PATH+="/" $NO_VERBOSE || echo "For creating its directory: ${MKDIR_PATH}" SRC_PATH="${SRC_DIR}${f}" $NO_VERBOSE || echo "To copy: ${SRC_PATH}" - mkdir -p "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" - cp -r "$(readlink -f "${SRC_DIR}/${f}")" "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" + mkdir -p "$MKDIR_PATH" + cp -r "${SRC_PATH}" "${MKDIR_PATH}" $NO_VERBOSE || echo done IFS=$OLDIFS From ee04939b2e26d1c01ef4ca766bf88c03114f5679 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:53:19 -0400 Subject: [PATCH 414/510] Use cp solution for 10-extract --- toolchain/src/10-extract.sh | 38 +++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index c3a58dec..a02269e2 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -168,14 +168,17 @@ if [[ "$PLATFORM" == "OSX" ]]; then $NO_VERBOSE || echo "Processing file: $f" $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" - $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}${f}): '"$(dirname "${BUILD_DIR}${f}")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" - $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" - mkdir -p "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" - cp -r "$(readlink -f "${SRC_DIR}/${f}")" "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" + MKDIR_PATH="${BUILD_DIR%/}/${f#/}" + $NO_VERBOSE || echo "First mkdir path: ${MKDIR_PATH}" + if [ ! -d "${MKDIR_PATH}" ]; then + MKDIR_PATH="$(dirname "${MKDIR_PATH}")" + fi + MKDIR_PATH+="/" + $NO_VERBOSE || echo "For creating its directory: ${MKDIR_PATH}" + SRC_PATH="${SRC_DIR}${f}" + $NO_VERBOSE || echo "To copy: ${SRC_PATH}" + mkdir -p "$MKDIR_PATH" + cp -r "${SRC_PATH}" "${MKDIR_PATH}" $NO_VERBOSE || echo done IFS=$OLDIFS @@ -199,14 +202,17 @@ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Processing file: $f" $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" - $NO_VERBOSE || echo "For creating its directory (2 methods):" - $NO_VERBOSE || echo ' $(dirname ${BUILD_DIR}${f}): '"$(dirname "${BUILD_DIR}${f}")" - $NO_VERBOSE || echo ' ${BUILD_DIR}$(dirname "$f"): '"${BUILD_DIR}$(dirname "$f")" - $NO_VERBOSE || echo "For finding the source:" - $NO_VERBOSE || echo ' ${SRC_DIR}/${f}: '"${SRC_DIR}/${f}" - $NO_VERBOSE || echo ' ${SRC_DIR}${f}: '"${SRC_DIR}${f}" - mkdir -p "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" - cp -r "$(readlink -f "${SRC_DIR}/${f}")" "$(readlink -f "${BUILD_DIR}/$(dirname "$f")")" + MKDIR_PATH="${BUILD_DIR%/}/${f#/}" + $NO_VERBOSE || echo "First mkdir path: ${MKDIR_PATH}" + if [ ! -d "${MKDIR_PATH}" ]; then + MKDIR_PATH="$(dirname "${MKDIR_PATH}")" + fi + MKDIR_PATH+="/" + $NO_VERBOSE || echo "For creating its directory: ${MKDIR_PATH}" + SRC_PATH="${SRC_DIR}${f}" + $NO_VERBOSE || echo "To copy: ${SRC_PATH}" + mkdir -p "$MKDIR_PATH" + cp -r "${SRC_PATH}" "${MKDIR_PATH}" $NO_VERBOSE || echo done IFS=$OLDIFS From d15fea056778cf0f7bac81f5dc574351c1c9fe34 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 13:54:41 -0400 Subject: [PATCH 415/510] Set config pathname as actual path from start --- toolchain/src/10-extract.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index a02269e2..40e6cfb0 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -74,16 +74,16 @@ fi $NO_VERBOSE || echo "Set CONFIG_DIR: $CONFIG_DIR" if [[ "${PLATFORM}" == "WINDOWS" ]]; then - CONFIG="$(readlink -f "${CONFIG_DIR}/win-archive-rel.json")" + CONFIG="$(readlink -f "${CONFIG_DIR}/win-archive-rel.json-original")" elif [[ "${PLATFORM}" == "LINUX" ]]; then - CONFIG="$(readlink -f "${CONFIG_DIR}/linux-archive-rel.json")" + CONFIG="$(readlink -f "${CONFIG_DIR}/linux-archive-rel.json-original")" elif [[ "${PLATFORM}" == "OSX" ]]; then - CONFIG="$(readlink -f "${CONFIG_DIR}/mac-archive-rel.json")" + CONFIG="$(readlink -f "${CONFIG_DIR}/mac-archive-rel.json-original")" fi export CONFIG -if [ ! -f "${CONFIG}-original" ]; then - util_error "COULDN'T FIND ${CONFIG}-original" +if [ ! -f "${CONFIG}" ]; then + util_error "COULDN'T FIND ${CONFIG}" fi $NO_VERBOSE || echo "Found config: $CONFIG" @@ -98,7 +98,7 @@ export PYTHONPATH="${MAIN_DIR}/toolchain/src/:${PYTHONPATH-""}" if $ASSESS; then pushd "${MAIN_DIR}/toolchain/src/" - echo "$($PYTHON -c "$IMPORT; extract.match_json_to_directory('${CONFIG}-original','$SRC_DIR', missing=True, annotate=True, relative=False)")" + echo "$($PYTHON -c "$IMPORT; extract.match_json_to_directory('${CONFIG}','$SRC_DIR', missing=True, annotate=True, relative=False)")" popd exit 0 fi @@ -113,7 +113,7 @@ if [[ "$PLATFORM" == "LINUX" ]]; then chmod +x "${BUILD_DIR}/kaleido" FILES=$(echo -e "$($PYTHON -c "$IMPORT; \ extract.match_json_to_directory('\ -${CONFIG}-original', \ +${CONFIG}', \ '$SRC_DIR', \ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Found files: $FILES" @@ -158,7 +158,7 @@ if [[ "$PLATFORM" == "OSX" ]]; then chmod +x "${BUILD_DIR}/kaleido" FILES=$(echo -e "$($PYTHON -c "$IMPORT; \ extract.match_json_to_directory('\ - ${CONFIG}-original', \ + ${CONFIG}', \ '$SRC_DIR', \ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Found files: $FILES" @@ -192,7 +192,7 @@ if [[ "$PLATFORM" == "WINDOWS" ]]; then chmod +x "${BUILD_DIR}/kaleido" FILES=$(echo "$($PYTHON -c "$IMPORT; \ extract.match_json_to_directory('\ -${CONFIG}-original', \ +${CONFIG}', \ '$SRC_DIR', \ missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Found files: $FILES" From ab466c9aaedf4a352912624f74180fb5220c94a9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 14:10:35 -0400 Subject: [PATCH 416/510] Reinsert old example --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 538 +++++++----------- src/kaleido/cc/126.0.6478.126/kaleido.cc-old | 348 +++++++++++ src/kaleido/cc/126.0.6478.126/kaleido.h | 91 --- src/kaleido/cc/126.0.6478.126/kaleido.h-old | 91 +++ src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 146 +---- .../cc/126.0.6478.126/kaleido_main.cc-old | 147 +++++ 6 files changed, 822 insertions(+), 539 deletions(-) create mode 100644 src/kaleido/cc/126.0.6478.126/kaleido.cc-old create mode 100644 src/kaleido/cc/126.0.6478.126/kaleido.h-old create mode 100644 src/kaleido/cc/126.0.6478.126/kaleido_main.cc-old diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index c5980b96..dd273413 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -1,347 +1,237 @@ -// kaleido.cc: -// goals: -// * start up the browser -// * start up the tab manager -// * start up the IO thread - -#include -#include -#include - - -#include - -#include "headless/app/kaleido.h" - -// Browser stuff +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#include "headless/public/headless_shell.h" +#include +#include "base/base_switches.h" +#include "base/command_line.h" +#include "base/files/file_util.h" +#include "base/functional/bind.h" +#include "base/logging.h" +#include "base/task/thread_pool.h" +#include "base/version_info/version_info.h" +#include "build/branding_buildflags.h" +#include "build/build_config.h" +#include "content/public/app/content_main.h" +#include "content/public/common/content_switches.h" #include "headless/lib/browser/headless_browser_impl.h" +#include "headless/lib/browser/headless_web_contents_impl.h" +#include "headless/lib/headless_content_main_delegate.h" #include "headless/public/headless_browser.h" #include "headless/public/headless_browser_context.h" - -// Derp -#include "base/logging.h" - -// Callbacks and threads -#include "base/functional/bind.h" -#include "base/task/thread_pool.h" - -// For JS -#include "third_party/abseil-cpp/absl/types/optional.h" -#include -#include "base/json/json_reader.h" - -#include "headless/app/scopes/Factory.h" -// For copy 1 -#include "base/command_line.h" - -/// COPY 2 -#include "base/files/file_util.h" -#include "base/strings/stringprintf.h" -#include -#include - -#define FILE_URI_PREFIX "file://" - -/// END COPY 2 -namespace kaleido { - -Kaleido::Kaleido() = default; - - -// Control Flow, declare here -void Kaleido::ShutdownSoon() { - scope_ptr = nullptr; - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Kaleido::ShutdownTask, base::Unretained(this))); -} -void Kaleido::ShutdownTask() { - LOG(INFO) << "Calling shutdown on browser"; - if (tmpFileName.value().size()) base::DeleteFile(tmpFileName); - dispatch->Release(); // Fine to destruct what we have here. - dispatch = nullptr; - browser_.ExtractAsDangling()->Shutdown(); -} - -void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { - browser_ = browser; // global by another name - - // Actual constructor duties, init stuff - output_sequence = base::ThreadPool::CreateSequencedTaskRunner( - {base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN} - ); // Can't do this before OnBrowserStart! - - dispatch = new Dispatch(this); // Tab manager - - // Create browser context and set it as the default. The default browser +#include "headless/public/headless_web_contents.h" +#include "headless/public/switches.h" +#include "net/base/filename_util.h" +#include "url/gurl.h" +#if BUILDFLAG(IS_MAC) +#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck +#endif +#if BUILDFLAG(IS_WIN) +#include "base/strings/utf_string_conversions.h" +#include "components/crash/core/app/crash_switches.h" // nogncheck +#include "components/crash/core/app/run_as_crashpad_handler_win.h" +#include "sandbox/win/src/sandbox_types.h" +#endif +#if defined(HEADLESS_USE_POLICY) +#include "components/headless/policy/headless_mode_policy.h" // nogncheck +#endif +#if defined(HEADLESS_ENABLE_COMMANDS) +#include "components/headless/command_handler/headless_command_handler.h" // nogncheck +#endif +namespace headless { +namespace { +#if BUILDFLAG(IS_WIN) +const wchar_t kAboutBlank[] = L"about:blank"; +#else +const char kAboutBlank[] = "about:blank"; +#endif +GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { +#if BUILDFLAG(IS_WIN) + GURL url(base::WideToUTF8(arg)); +#else + GURL url(arg); +#endif + if (url.is_valid() && url.has_scheme()) + return url; + return net::FilePathToFileURL( + base::MakeAbsoluteFilePath(base::FilePath(arg))); +} +// An application which implements a simple headless browser. +class HeadlessShell { + public: + HeadlessShell() = default; + HeadlessShell(const HeadlessShell&) = delete; + HeadlessShell& operator=(const HeadlessShell&) = delete; + ~HeadlessShell() = default; + void OnBrowserStart(HeadlessBrowser* browser); + private: +#if defined(HEADLESS_ENABLE_COMMANDS) + void OnProcessCommandsDone(HeadlessCommandHandler::Result result); +#endif + void ShutdownSoon(); + void Shutdown(); + raw_ptr browser_ = nullptr; +}; +void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { + browser_ = browser; +#if defined(HEADLESS_USE_POLICY) + if (HeadlessModePolicy::IsHeadlessModeDisabled( + static_cast(browser)->GetPrefs())) { + LOG(ERROR) << "Headless mode is disallowed by the system admin."; + ShutdownSoon(); + return; + } +#endif + HeadlessBrowserContext::Builder context_builder = + browser_->CreateBrowserContextBuilder(); + // Create browser context and set it as the default. The default browser // context is used by the Target.createTarget() DevTools command when no other // context is given. - // This stuff has weird side effects and I'm not sure its necessary. - headless::HeadlessBrowserContext::Builder context_builder = browser_->CreateBrowserContextBuilder(); - context_builder.SetIncognitoMode(true); - headless::HeadlessBrowserContext* browser_context = context_builder.Build(); + HeadlessBrowserContext* browser_context = context_builder.Build(); browser_->SetDefaultBrowserContext(browser_context); - - // BEGIN COPY 1 - // Get the scope from the command line. + const bool devtools_enabled = static_cast(browser) + ->options() + ->DevtoolsServerEnabled(); + // If no explicit URL is present navigate to about:blank unless we're being + // driven by a debugger. base::CommandLine::StringVector args = - base::CommandLine::ForCurrentProcess()->GetArgs(); - if (args.empty()) { - Api_OldMsg(1, "No Scope Specified"); - browser->Shutdown(); - exit(EXIT_FAILURE); - } - // Get first command line argument as a std::string using a string stream. - // This handles the case where args[0] is a wchar_t on Windows - std::stringstream scope_stringstream; - scope_stringstream << args[0]; - scope_name = scope_stringstream.str(); - - // Instantiate renderer scope - scope_ptr = LoadScope(scope_name); - scope_args = scope_ptr->BuildCallArguments(); - - if (!scope_ptr) { - // Invalid scope name - Api_OldMsg(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); - browser->Shutdown(); - exit(EXIT_FAILURE); - } else if (!scope_ptr->errorMessage.empty()) { - Api_OldMsg(1, scope_ptr->errorMessage); - browser->Shutdown(); - exit(EXIT_FAILURE); + base::CommandLine::ForCurrentProcess()->GetArgs(); + args.erase( + std::remove(args.begin(), args.end(), base::CommandLine::StringType()), + args.end()); + if (args.empty() && !devtools_enabled) { + args.push_back(kAboutBlank); } - - // Add javascript bundle - scope_ptr->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); - - // Build initial HTML file - std::list scriptTags = scope_ptr->ScriptTags(); - std::stringstream htmlStringStream; - htmlStringStream << ""; - - // Add script tags - while (!scriptTags.empty()) { - std::string tagValue = scriptTags.front(); - GURL tagUrl(tagValue); - if (tagUrl.is_valid()) { - // Value is a url, use a src of script tag - htmlStringStream << ""; - } else { - // Value is not a url, use a inline JavaScript code - htmlStringStream << "\n"; - } - scriptTags.pop_front(); + if (args.empty()) { + return; } - // Close head and add body with img tag place holder for PDF export - htmlStringStream << ""; - - // Write html to temp file - - auto tmpFile = base::CreateAndOpenTemporaryStream(&tmpFileName); - fprintf(tmpFile.get(), "%s", htmlStringStream.str().c_str()); - tmpFile.reset(); - - // Create file:// url to temp file - std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); - GURL url = GURL(FILE_URI_PREFIX + urlCopy); - - // Initialization succeeded - Api_OldMsg(0, "Initilization Success"); - - // END COPY 1 - // Run - dispatch->CreateTab(-1, url); - // PART OF copy 1 - for (std::string const &s: scope_ptr->LocalScriptFiles()) { - localScriptFiles.push_back(s); + GURL target_url = ConvertArgumentToURL(args.front()); + HeadlessWebContents::Builder builder( + browser_context->CreateWebContentsBuilder()); + // If driven by a debugger just open the target page and + // leave expecting the debugger will do what they need. + if (devtools_enabled) { + HeadlessWebContents* web_contents = + builder.SetInitialURL(target_url).Build(); + if (!web_contents) { + LOG(ERROR) << "Navigation to " << target_url << " failed."; + ShutdownSoon(); + } + return; } - base::GetCurrentDirectory(&cwd); - // END THAT - - StartListen(); - // TODO Destructor, temp files not destroyed - -} - -// Wish this were a lambda (as in PostEcho) but would have no access to private vars -void Kaleido::listenTask() { - std::string in; - if (!std::getline(std::cin, in).good()) { - LOG(WARNING) << in << ": " - << (std::cin.eof() ? "EOF | " : "") - << (std::cin.eof() ? "BAD | " : "GOOD | ") - << (std::cin.eof() ? "FAIL" : "SUCCESS"); + // Otherwise instantiate headless shell command handler that will + // execute the commands against the target page. +#if defined(HEADLESS_ENABLE_COMMANDS) + GURL handler_url = HeadlessCommandHandler::GetHandlerUrl(); + HeadlessWebContents* web_contents = + builder.SetInitialURL(handler_url).Build(); + if (!web_contents) { + LOG(ERROR) << "Navigation to " << handler_url << " failed."; ShutdownSoon(); return; - }; - if (in == "\n") postListenTask(); - if (ReadJSON(in)) postListenTask(); -} - -void Kaleido::postListenTask() { - base::ThreadPool::PostTask( - FROM_HERE, { - base::TaskPriority::BEST_EFFORT, - base::MayBlock(), - base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, - base::BindOnce(&Kaleido::listenTask, base::Unretained(this)) - ); -} -void Kaleido::StartListen() { - if(listening.test_and_set(std::memory_order_relaxed)) return; - postListenTask(); -} - -void Kaleido::PostEchoTask(const std::string &msg) { - if (old) { - LOG(INFO) << msg; + } + HeadlessCommandHandler::ProcessCommands( + HeadlessWebContentsImpl::From(web_contents)->web_contents(), + std::move(target_url), + base::BindOnce(&HeadlessShell::OnProcessCommandsDone, + base::Unretained(this))); +#endif +} +#if defined(HEADLESS_ENABLE_COMMANDS) +void HeadlessShell::OnProcessCommandsDone( + HeadlessCommandHandler::Result result) { + if (result != HeadlessCommandHandler::Result::kSuccess) { + static_cast(browser_)->ShutdownWithExitCode( + static_cast(result)); return; } - auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; - output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); + Shutdown(); } - -void Kaleido::PostEchoTaskOld(const std::string &msg) { - auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; - output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); +#endif +void HeadlessShell::ShutdownSoon() { + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&HeadlessShell::Shutdown, base::Unretained(this))); } - - -bool Kaleido::ReadJSON(std::string &msg) { - absl::optional json = base::JSONReader::Read(msg); - if (!json) { - LOG(WARNING) << "Recieved invalid JSON from client connected to Kaleido:"; - LOG(WARNING) << msg; - Api_ErrorInvalidJSON(); - return true; - } - base::Value::Dict &jsonDict = json->GetDict(); - absl::optional id = jsonDict.FindInt("id"); - std::string *operation = jsonDict.FindString("operation"); - std::string *maybe_format = jsonDict.FindString("format"); - // The only operation we handle here. We're shutting down. - // Trust chromium to handle it all when the browser exits - // Doesn't need id, no return - if (operation && *operation == "shutdown") { - LOG(INFO) << "Shutdown clean"; - ShutdownSoon(); - return false; // breaks stdin loop - } - if (!operation || !id) { - // we are likely using the old protocol, which for now is all we accept - if (maybe_format) { - LOG(INFO) << "It seems like we're using the old protocol."; - LOG(INFO) << jsonDict.DebugString(); - old=true; - std::unique_ptr job = std::make_unique(); - job->version = 0; - job->id = -2; - job->format = *maybe_format; - job->scope = scope_ptr->ScopeName().c_str(); - job->spec_parsed = std::move(jsonDict); - dispatch->PostJob(std::move(job)); - return true; - } else { - Api_ErrorMissingBasicFields(id); - return true; +void HeadlessShell::Shutdown() { + browser_.ExtractAsDangling()->Shutdown(); +} +void HeadlessChildMain(content::ContentMainParams params) { + HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); + // Note that exiting from here means that base::AtExitManager objects will not + // have a chance to be destroyed (typically in main/WinMain). + // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown + // crashes and slowdowns on shutdown. + base::Process::TerminateCurrentProcessImmediately(rc); +} +int HeadlessBrowserMain(content::ContentMainParams params) { +#if DCHECK_IS_ON() + // The browser can only be initialized once. + static bool browser_was_initialized; + DCHECK(!browser_was_initialized); + browser_was_initialized = true; + // Child processes should not end up here. + DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( + ::switches::kProcessType)); +#endif +#if defined(HEADLESS_ENABLE_COMMANDS) + base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); + if (HeadlessCommandHandler::HasHeadlessCommandSwitches(command_line)) { + if (command_line.HasSwitch(::switches::kRemoteDebuggingPort) || + command_line.HasSwitch(::switches::kRemoteDebuggingPipe)) { + LOG(ERROR) + << "Headless commands are not compatible with remote debugging."; + return EXIT_FAILURE; } + command_line.AppendSwitch(switches::kDisableLazyLoading); } - if (!old) { - if (*id < 0) { - Api_ErrorNegativeId(*id); - return true; - } - if (messageIds.find(*id) != messageIds.end()) { - Api_ErrorDuplicateId(*id); - return true; - } +#endif + HeadlessShell shell; + auto browser = std::make_unique( + base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); + HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; + return content::ContentMain(std::move(params)); +} +} // namespace +int HeadlessShellMain(content::ContentMainParams params) { +#if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); +#else + base::CommandLine::Init(params.argc, params.argv); +#endif // BUILDFLAG(IS_WIN) + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + std::string process_type = + command_line.GetSwitchValueASCII(::switches::kProcessType); +#if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); } - if (operation && *operation == "create_tab") { - std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); - dispatch->CreateTab(*id, GURL(FILE_URI_PREFIX + urlCopy)); - } else if (operation && *operation == "reload") { - dispatch->ReloadAll(); - } else if (operation && *operation == "noop") {} else { - Api_ErrorUnknownOperation(*id, *operation); - return true; +#endif // defined(HEADLESS_USE_CRASHPAD) + if (!process_type.empty()) { + HeadlessChildMain(std::move(params)); + NOTREACHED_IN_MIGRATION(); } - - - if (!old) messageIds.emplace(*id, *operation); - return true; -} - -void Kaleido::ReportOperation(int id, bool success, const base::Value::Dict &msg) { - if (!success && id < 0) { - LOG(ERROR) << "Failure of internal dev tools operation id " - << std::to_string(id) - << " and msg: " - << msg; - return; - } else if (success && id < 0) { - LOG(INFO) << "Success of internal dev tools operation id " - << std::to_string(id) - << " and msg: " - << msg; - return; +#if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); +#endif +#if BUILDFLAG(IS_FUCHSIA) + // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. + command_line.AppendSwitch(::switches::kDisableGpu); +#endif + if (command_line.HasSwitch(switches::kVersion)) { + printf("%s %s\n", version_info::GetProductName().data(), + version_info::GetVersionNumber().data()); + return EXIT_SUCCESS; } - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":)"+std::to_string(success)+R"(, "msg":)"+msg.DebugString()+R"(})"); -} -void Kaleido::ReportFailure(int id, const std::string& msg) { - if (id < 0) { - LOG(ERROR) << "Failure of internal dev tools operation id " - << std::to_string(id) - << " and msg: " - << msg; - return; + if (command_line.GetArgs().size() > 1) { + LOG(ERROR) << "Multiple targets are not supported."; + return EXIT_FAILURE; } - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":false, "msg":")"+msg+R"("})"); -} - -void Kaleido::ReportSuccess(int id) { - if (id < 0) { - LOG(INFO) << "Success of message with id " << std::to_string(id); - return; - } - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":true})"); -} - -void Kaleido::Api_ErrorInvalidJSON() { - PostEchoTask(R"({"error":"malformed JSON string"})"); -} - -void Kaleido::Api_ErrorMissingBasicFields(absl::optional id) { - if (id) { - PostEchoTask(R"({"id":)"+std::to_string(*id)+R"(,"error":"all messages must contain an 'id' integer and an 'operation' string"})"); - } else { - PostEchoTask(R"({"error":"all messages must contain an 'id' integer and an 'operation' string"})"); - } -} - -void Kaleido::Api_ErrorDuplicateId(int id) { - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"message using already-used 'id' integer"})"); -} - -void Kaleido::Api_ErrorNegativeId(int id) { - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"must use 'id' integer >=0"})"); -} - -void Kaleido::Api_ErrorUnknownOperation(int id, const std::string& op) { - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"Unknown operation:)"+op+R"("})"); -} - -void Kaleido::Api_OldMsg(int code, std::string message) { - static std::string *version = nullptr; - if (!version) { - std::ifstream verStream("version"); - version = new std::string(( - std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); - } - std::string error = base::StringPrintf( - "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}", - code, message.c_str(), version->c_str()); - PostEchoTaskOld(error); + return HeadlessBrowserMain(std::move(params)); } - -} // namespace kaleido +} // namespace headless diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc-old b/src/kaleido/cc/126.0.6478.126/kaleido.cc-old new file mode 100644 index 00000000..ba6de985 --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc-old @@ -0,0 +1,348 @@ +// kaleido.cc: +// goals: +// * start up the browser +// * start up the tab manager +// * start up the IO thread + +#include +#include +#include + + +#include + +#include "headless/app/kaleido.h" + +// Browser stuff +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/public/headless_browser.h" +#include "headless/public/headless_browser_context.h" + +// Derp +#include "base/logging.h" + +// Callbacks and threads +#include "base/functional/bind.h" +#include "base/task/thread_pool.h" + +// For JS +#include "third_party/abseil-cpp/absl/types/optional.h" +#include +#include "base/json/json_reader.h" + +#include "headless/app/scopes/Factory.h" +// For copy 1 +#include "base/command_line.h" + +/// COPY 2 +#include "base/files/file_util.h" +#include "base/strings/stringprintf.h" +#include +#include + +#define FILE_URI_PREFIX "file://" + +/// END COPY 2 +namespace kaleido { + +Kaleido::Kaleido() = default; + + +// Control Flow, declare here +void Kaleido::ShutdownSoon() { + scope_ptr = nullptr; + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Kaleido::ShutdownTask, base::Unretained(this))); +} +void Kaleido::ShutdownTask() { + LOG(INFO) << "Calling shutdown on browser"; + if (tmpFileName.value().size()) base::DeleteFile(tmpFileName); + dispatch->Release(); // Fine to destruct what we have here. + dispatch = nullptr; + browser_.ExtractAsDangling()->Shutdown(); +} + +void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { + std::cout << "OnBrowserStart" << std::endl; + browser_ = browser; // global by another name + + // Actual constructor duties, init stuff + output_sequence = base::ThreadPool::CreateSequencedTaskRunner( + {base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN} + ); // Can't do this before OnBrowserStart! + + dispatch = new Dispatch(this); // Tab manager + + // Create browser context and set it as the default. The default browser + // context is used by the Target.createTarget() DevTools command when no other + // context is given. + // This stuff has weird side effects and I'm not sure its necessary. + headless::HeadlessBrowserContext::Builder context_builder = browser_->CreateBrowserContextBuilder(); + context_builder.SetIncognitoMode(true); + headless::HeadlessBrowserContext* browser_context = context_builder.Build(); + browser_->SetDefaultBrowserContext(browser_context); + + // BEGIN COPY 1 + // Get the scope from the command line. + base::CommandLine::StringVector args = + base::CommandLine::ForCurrentProcess()->GetArgs(); + if (args.empty()) { + Api_OldMsg(1, "No Scope Specified"); + browser->Shutdown(); + exit(EXIT_FAILURE); + } + // Get first command line argument as a std::string using a string stream. + // This handles the case where args[0] is a wchar_t on Windows + std::stringstream scope_stringstream; + scope_stringstream << args[0]; + scope_name = scope_stringstream.str(); + + // Instantiate renderer scope + scope_ptr = LoadScope(scope_name); + scope_args = scope_ptr->BuildCallArguments(); + + if (!scope_ptr) { + // Invalid scope name + Api_OldMsg(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); + browser->Shutdown(); + exit(EXIT_FAILURE); + } else if (!scope_ptr->errorMessage.empty()) { + Api_OldMsg(1, scope_ptr->errorMessage); + browser->Shutdown(); + exit(EXIT_FAILURE); + } + + // Add javascript bundle + scope_ptr->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); + + // Build initial HTML file + std::list scriptTags = scope_ptr->ScriptTags(); + std::stringstream htmlStringStream; + htmlStringStream << ""; + + // Add script tags + while (!scriptTags.empty()) { + std::string tagValue = scriptTags.front(); + GURL tagUrl(tagValue); + if (tagUrl.is_valid()) { + // Value is a url, use a src of script tag + htmlStringStream << ""; + } else { + // Value is not a url, use a inline JavaScript code + htmlStringStream << "\n"; + } + scriptTags.pop_front(); + } + // Close head and add body with img tag place holder for PDF export + htmlStringStream << ""; + + // Write html to temp file + + auto tmpFile = base::CreateAndOpenTemporaryStream(&tmpFileName); + fprintf(tmpFile.get(), "%s", htmlStringStream.str().c_str()); + tmpFile.reset(); + + // Create file:// url to temp file + std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); + GURL url = GURL(FILE_URI_PREFIX + urlCopy); + + // Initialization succeeded + Api_OldMsg(0, "Initilization Success"); + + // END COPY 1 + // Run + dispatch->CreateTab(-1, url); + // PART OF copy 1 + for (std::string const &s: scope_ptr->LocalScriptFiles()) { + localScriptFiles.push_back(s); + } + base::GetCurrentDirectory(&cwd); + // END THAT + + StartListen(); + // TODO Destructor, temp files not destroyed + +} + +// Wish this were a lambda (as in PostEcho) but would have no access to private vars +void Kaleido::listenTask() { + std::string in; + if (!std::getline(std::cin, in).good()) { + LOG(WARNING) << in << ": " + << (std::cin.eof() ? "EOF | " : "") + << (std::cin.eof() ? "BAD | " : "GOOD | ") + << (std::cin.eof() ? "FAIL" : "SUCCESS"); + ShutdownSoon(); + return; + }; + if (in == "\n") postListenTask(); + if (ReadJSON(in)) postListenTask(); +} + +void Kaleido::postListenTask() { + base::ThreadPool::PostTask( + FROM_HERE, { + base::TaskPriority::BEST_EFFORT, + base::MayBlock(), + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, + base::BindOnce(&Kaleido::listenTask, base::Unretained(this)) + ); +} +void Kaleido::StartListen() { + if(listening.test_and_set(std::memory_order_relaxed)) return; + postListenTask(); +} + +void Kaleido::PostEchoTask(const std::string &msg) { + if (old) { + LOG(INFO) << msg; + return; + } + auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; + output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); +} + +void Kaleido::PostEchoTaskOld(const std::string &msg) { + auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; + output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); +} + + +bool Kaleido::ReadJSON(std::string &msg) { + absl::optional json = base::JSONReader::Read(msg); + if (!json) { + LOG(WARNING) << "Recieved invalid JSON from client connected to Kaleido:"; + LOG(WARNING) << msg; + Api_ErrorInvalidJSON(); + return true; + } + base::Value::Dict &jsonDict = json->GetDict(); + absl::optional id = jsonDict.FindInt("id"); + std::string *operation = jsonDict.FindString("operation"); + std::string *maybe_format = jsonDict.FindString("format"); + // The only operation we handle here. We're shutting down. + // Trust chromium to handle it all when the browser exits + // Doesn't need id, no return + if (operation && *operation == "shutdown") { + LOG(INFO) << "Shutdown clean"; + ShutdownSoon(); + return false; // breaks stdin loop + } + if (!operation || !id) { + // we are likely using the old protocol, which for now is all we accept + if (maybe_format) { + LOG(INFO) << "It seems like we're using the old protocol."; + LOG(INFO) << jsonDict.DebugString(); + old=true; + std::unique_ptr job = std::make_unique(); + job->version = 0; + job->id = -2; + job->format = *maybe_format; + job->scope = scope_ptr->ScopeName().c_str(); + job->spec_parsed = std::move(jsonDict); + dispatch->PostJob(std::move(job)); + return true; + } else { + Api_ErrorMissingBasicFields(id); + return true; + } + } + if (!old) { + if (*id < 0) { + Api_ErrorNegativeId(*id); + return true; + } + if (messageIds.find(*id) != messageIds.end()) { + Api_ErrorDuplicateId(*id); + return true; + } + } + if (operation && *operation == "create_tab") { + std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); + dispatch->CreateTab(*id, GURL(FILE_URI_PREFIX + urlCopy)); + } else if (operation && *operation == "reload") { + dispatch->ReloadAll(); + } else if (operation && *operation == "noop") {} else { + Api_ErrorUnknownOperation(*id, *operation); + return true; + } + + + if (!old) messageIds.emplace(*id, *operation); + return true; +} + +void Kaleido::ReportOperation(int id, bool success, const base::Value::Dict &msg) { + if (!success && id < 0) { + LOG(ERROR) << "Failure of internal dev tools operation id " + << std::to_string(id) + << " and msg: " + << msg; + return; + } else if (success && id < 0) { + LOG(INFO) << "Success of internal dev tools operation id " + << std::to_string(id) + << " and msg: " + << msg; + return; + } + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":)"+std::to_string(success)+R"(, "msg":)"+msg.DebugString()+R"(})"); +} +void Kaleido::ReportFailure(int id, const std::string& msg) { + if (id < 0) { + LOG(ERROR) << "Failure of internal dev tools operation id " + << std::to_string(id) + << " and msg: " + << msg; + return; + } + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":false, "msg":")"+msg+R"("})"); +} + +void Kaleido::ReportSuccess(int id) { + if (id < 0) { + LOG(INFO) << "Success of message with id " << std::to_string(id); + return; + } + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":true})"); +} + +void Kaleido::Api_ErrorInvalidJSON() { + PostEchoTask(R"({"error":"malformed JSON string"})"); +} + +void Kaleido::Api_ErrorMissingBasicFields(absl::optional id) { + if (id) { + PostEchoTask(R"({"id":)"+std::to_string(*id)+R"(,"error":"all messages must contain an 'id' integer and an 'operation' string"})"); + } else { + PostEchoTask(R"({"error":"all messages must contain an 'id' integer and an 'operation' string"})"); + } +} + +void Kaleido::Api_ErrorDuplicateId(int id) { + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"message using already-used 'id' integer"})"); +} + +void Kaleido::Api_ErrorNegativeId(int id) { + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"must use 'id' integer >=0"})"); +} + +void Kaleido::Api_ErrorUnknownOperation(int id, const std::string& op) { + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"Unknown operation:)"+op+R"("})"); +} + +void Kaleido::Api_OldMsg(int code, std::string message) { + static std::string *version = nullptr; + if (!version) { + std::ifstream verStream("version"); + version = new std::string(( + std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); + } + std::string error = base::StringPrintf( + "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}", + code, message.c_str(), version->c_str()); + PostEchoTaskOld(error); +} + +} // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index 080413f9..e69de29b 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -1,91 +0,0 @@ -#ifndef KALEIDO_H_ -#define KALEIDO_H_ - -#include -#include -#include "third_party/abseil-cpp/absl/types/optional.h" - -// Browser Includes -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/public/headless_browser.h" - -#include "base/task/sequenced_task_runner.h" -#include "headless/app/dispatch/dispatch.h" - -#include "base/task/thread_pool.h" - -namespace kaleido { - namespace scopes { - class BaseScope; - } - class Dispatch; - // Kaleido is our app, basically. - // Should be singleton, but non-trivial work - // SIGINT and SIGTERM would be nice - // TODO: For now, they can catch and write a message to shutdown to its own stdin - class Kaleido { - public: - Kaleido(); - ~Kaleido() = delete; - - Kaleido(const Kaleido&) = delete; - Kaleido& operator=(const Kaleido&) = delete; - - // make more private? - std::vector localScriptFiles; - base::FilePath cwd; - base::raw_ptr scope_ptr; - - // This is basically a singleton. Could we pass the constructor instead of on browser start? - void OnBrowserStart(headless::HeadlessBrowser* browser); - - // Dispatch uses this to let us know how things went - void PostEchoTaskOld(const std::string&); - void ReportOperation(int id, bool success, const base::Value::Dict &msg); - void ReportSuccess(int id); - void ReportFailure(int id, const std::string& msg); - void Api_OldMsg(int code, std::string message); - // JSON Helper functions for creating common messages to user - void Api_ErrorInvalidJSON(); - void Api_ErrorMissingBasicFields(absl::optional); - void Api_ErrorDuplicateId(int); - void Api_ErrorNegativeId(int); - void Api_ErrorUnknownOperation(int id, const std::string& op); - - // a browser, global basically, - // this is needed for anything that does anything on thread control - raw_ptr browser_; - std::string scope_name; - base::Value::List scope_args; - void ShutdownSoon(); - bool old = false; - - private: - - // User IO stuff for main - void StartListen(); // continually reads stdin on parallel task - void listenTask(); - void postListenTask(); - std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call postListenTask() once - void PostEchoTask(const std::string&); // echo something out - - std::unordered_map messageIds; // every message must have a unique id - bool ReadJSON(std::string&); // try to turn message into json object - - // a thread, for making sure output is orderer and messages aren't mixed - scoped_refptr output_sequence; - - // our tab dispatch, our actual browser controller - raw_ptr dispatch; - - - void ShutdownTask(); - - // FROM PREVIOUS STRUCTURE - base::FilePath tmpFileName; - }; -} - - -#endif // KALEIDO_H_ - diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h-old b/src/kaleido/cc/126.0.6478.126/kaleido.h-old new file mode 100644 index 00000000..080413f9 --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h-old @@ -0,0 +1,91 @@ +#ifndef KALEIDO_H_ +#define KALEIDO_H_ + +#include +#include +#include "third_party/abseil-cpp/absl/types/optional.h" + +// Browser Includes +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/public/headless_browser.h" + +#include "base/task/sequenced_task_runner.h" +#include "headless/app/dispatch/dispatch.h" + +#include "base/task/thread_pool.h" + +namespace kaleido { + namespace scopes { + class BaseScope; + } + class Dispatch; + // Kaleido is our app, basically. + // Should be singleton, but non-trivial work + // SIGINT and SIGTERM would be nice + // TODO: For now, they can catch and write a message to shutdown to its own stdin + class Kaleido { + public: + Kaleido(); + ~Kaleido() = delete; + + Kaleido(const Kaleido&) = delete; + Kaleido& operator=(const Kaleido&) = delete; + + // make more private? + std::vector localScriptFiles; + base::FilePath cwd; + base::raw_ptr scope_ptr; + + // This is basically a singleton. Could we pass the constructor instead of on browser start? + void OnBrowserStart(headless::HeadlessBrowser* browser); + + // Dispatch uses this to let us know how things went + void PostEchoTaskOld(const std::string&); + void ReportOperation(int id, bool success, const base::Value::Dict &msg); + void ReportSuccess(int id); + void ReportFailure(int id, const std::string& msg); + void Api_OldMsg(int code, std::string message); + // JSON Helper functions for creating common messages to user + void Api_ErrorInvalidJSON(); + void Api_ErrorMissingBasicFields(absl::optional); + void Api_ErrorDuplicateId(int); + void Api_ErrorNegativeId(int); + void Api_ErrorUnknownOperation(int id, const std::string& op); + + // a browser, global basically, + // this is needed for anything that does anything on thread control + raw_ptr browser_; + std::string scope_name; + base::Value::List scope_args; + void ShutdownSoon(); + bool old = false; + + private: + + // User IO stuff for main + void StartListen(); // continually reads stdin on parallel task + void listenTask(); + void postListenTask(); + std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call postListenTask() once + void PostEchoTask(const std::string&); // echo something out + + std::unordered_map messageIds; // every message must have a unique id + bool ReadJSON(std::string&); // try to turn message into json object + + // a thread, for making sure output is orderer and messages aren't mixed + scoped_refptr output_sequence; + + // our tab dispatch, our actual browser controller + raw_ptr dispatch; + + + void ShutdownTask(); + + // FROM PREVIOUS STRUCTURE + base::FilePath tmpFileName; + }; +} + + +#endif // KALEIDO_H_ + diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc index 921ff3bf..179b7ba1 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc @@ -1,18 +1,8 @@ -// kaleido_main.cc runs main() and includes a lot of google boilerplate. -#include "headless/app/kaleido.h" - -// Fundamental chromium includes -#include "content/public/app/content_main.h" -#include "headless/lib/headless_content_main_delegate.h" - -// Fundamental utilities -#include "base/logging.h" -#include "base/files/file_util.h" -#include "base/functional/bind.h" - -#include "build/build_config.h" // IS_WIN and stuff like that - -// Sandbox Includes +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#include "build/build_config.h" +#include "headless/public/headless_shell.h" #if BUILDFLAG(IS_WIN) #include "content/public/app/sandbox_helper_win.h" #include "sandbox/win/src/sandbox_types.h" // nogncheck @@ -20,116 +10,24 @@ #include "base/check.h" #include "sandbox/mac/seatbelt_exec.h" #endif - -// CLI includes, not sure if using all -#include "base/command_line.h" -#include "base/base_switches.h" -#include "content/public/common/content_switches.h" -#include "headless/public/switches.h" -#if BUILDFLAG(IS_MAC) -#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck -#endif - -// Browser Includes -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/public/headless_browser.h" - -#if BUILDFLAG(IS_WIN) -#include "base/strings/utf_string_conversions.h" -#include "components/crash/core/app/crash_switches.h" // nogncheck -#include "components/crash/core/app/run_as_crashpad_handler_win.h" -#include "sandbox/win/src/sandbox_types.h" -#endif - -// Can you clear up deps in build? -// -namespace { - void buildSandbox(content::ContentMainParams); - void processCommandLine(content::ContentMainParams, int argc, const char** argv); -} - - int main(int argc, const char** argv) { content::ContentMainParams params(nullptr); - - buildSandbox(std::move(params)); - - processCommandLine(std::move(params), argc, argv); - - // Now we're going to start the browser - // Would love to do this inside the constructor but - // ... chromium just hates it. - auto browser = std::make_unique( - base::BindOnce(&kaleido::Kaleido::OnBrowserStart, base::Unretained(new kaleido::Kaleido()))); - // Should be a lambda that starts a Kaleido, not a function in Kaleido - headless::HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; - return content::ContentMain(std::move(params)); -} - - -namespace { - -void buildSandbox(content::ContentMainParams params) { - #if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; - #if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } - #endif // BUILDFLAG(IS_MAC) - #endif // BUILDFLAG(IS_WIN) -} - -void processCommandLine(content::ContentMainParams params, int argc, const char** argv) { - - #if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); - #else - base::CommandLine::Init(argc, argv); - #endif // BUILDFLAG(IS_WIN) - - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility - // could be used to always put on essential switches - - LOG(INFO) << "Original command: " << command_line.GetArgumentsString(); - LOG(INFO) << "Args size: " << command_line.GetArgs().size(); - for (const auto &piece : command_line.GetArgs()) { - LOG(INFO) << piece << std::endl; - } - - - std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); - LOG(INFO) << "Process type: " << process_type; - - #if defined(HEADLESS_USE_CRASHPAD) - if (process_type == crash_reporter::switches::kCrashpadHandler) { - crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, headless::switches::kUserDataDir); - } - #endif // defined(HEADLESS_USE_CRASHPAD) - - // Chromium starts child processes, and we need this to catch them and their flags - if (!process_type.empty()) { - headless::HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - base::Process::TerminateCurrentProcessImmediately(rc); - NOTREACHED_IN_MIGRATION(); +#if BUILDFLAG(IS_WIN) + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; +#elif !BUILDFLAG(IS_ANDROID) + params.argc = argc; + params.argv = argv; +#if BUILDFLAG(IS_MAC) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); } - // So we must be the main process... - - #if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); - #endif +#endif // BUILDFLAG(IS_MAC) +#endif // BUILDFLAG(IS_WIN) + return headless::HeadlessShellMain(std::move(params)); } - -} // namespace diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-old b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-old new file mode 100644 index 00000000..f3117d98 --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-old @@ -0,0 +1,147 @@ +// kaleido_main.cc runs main() and includes a lot of google boilerplate. +#include "headless/app/kaleido.h" + +// Fundamental chromium includes +#include "content/public/app/content_main.h" +#include "headless/lib/headless_content_main_delegate.h" + +// Fundamental utilities +#include "base/logging.h" +#include "base/files/file_util.h" +#include "base/functional/bind.h" + +#include "build/build_config.h" // IS_WIN and stuff like that + +// Sandbox Includes +#if BUILDFLAG(IS_WIN) +#include "content/public/app/sandbox_helper_win.h" +#include "sandbox/win/src/sandbox_types.h" // nogncheck +#elif BUILDFLAG(IS_MAC) +#include "base/check.h" +#include "sandbox/mac/seatbelt_exec.h" +#endif + +// CLI includes, not sure if using all +#include "base/command_line.h" +#include "base/base_switches.h" +#include "content/public/common/content_switches.h" +#include "headless/public/switches.h" +#if BUILDFLAG(IS_MAC) +#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck +#endif + +// Browser Includes +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/public/headless_browser.h" + +#if BUILDFLAG(IS_WIN) +#include "base/strings/utf_string_conversions.h" +#include "components/crash/core/app/crash_switches.h" // nogncheck +#include "components/crash/core/app/run_as_crashpad_handler_win.h" +#include "sandbox/win/src/sandbox_types.h" +#endif + +#include +// Can you clear up deps in build? +// +namespace { + void buildSandbox(content::ContentMainParams, int argc, const char** argv); + void processCommandLine(content::ContentMainParams, int argc, const char** argv); +} + + +int main(int argc, const char** argv) { + std::cout << "We're here" << std::endl; + content::ContentMainParams params(nullptr); + + std::cout << "Params inited" << std::endl; + buildSandbox(std::move(params), argc, argv); + std::cout << "Sandbox built" << std::endl; + + processCommandLine(std::move(params), argc, argv); + std::cout << "Commandline processed" << std::endl; + + // Now we're going to start the browser + // Would love to do this inside the constructor but + // ... chromium just hates it. + auto browser = std::make_unique( + base::BindOnce(&kaleido::Kaleido::OnBrowserStart, base::Unretained(new kaleido::Kaleido()))); + // Should be a lambda that starts a Kaleido, not a function in Kaleido + std::cout << "Browser made" << std::endl; + headless::HeadlessContentMainDelegate delegate(std::move(browser)); + std::cout << "delegate inited" << std::endl; + params.delegate = &delegate; + std::cout << "delegate put to params, running content" << std::endl; + return content::ContentMain(std::move(params)); +} + + +namespace { + +void buildSandbox(content::ContentMainParams params, int argc, const char** argv) { + #if BUILDFLAG(IS_WIN) + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; + #elif !BUILDFLAG(IS_ANDROID) + params.argc = argc; + params.argv = argv + #if BUILDFLAG(IS_MAC) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); + } + #endif // BUILDFLAG(IS_MAC) + #endif // BUILDFLAG(IS_WIN) +} + +void processCommandLine(content::ContentMainParams params, int argc, const char** argv) { + + #if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); + #else + base::CommandLine::Init(argc, argv); + #endif // BUILDFLAG(IS_WIN) + + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility + // could be used to always put on essential switches + + std::cout << "Original command: " << command_line.GetArgumentsString() << std::endl; + std::cout << "Args size: " << command_line.GetArgs().size() << std::endl; + for (const auto &piece : command_line.GetArgs()) { + std::cout << piece << std::endl; + } + + + std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); + std::cout << "Process type: " << process_type << std::endl; + + #if defined(HEADLESS_USE_CRASHPAD) + std::cout << "HEADLESS_USE_CRASHPAD" << std::endl; + if (process_type == crash_reporter::switches::kCrashpadHandler) { + crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, headless::switches::kUserDataDir); + } + #endif // defined(HEADLESS_USE_CRASHPAD) + + // Chromium starts child processes, and we need this to catch them and their flags + if (!process_type.empty()) { + headless::HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); + base::Process::TerminateCurrentProcessImmediately(rc); + NOTREACHED_IN_MIGRATION(); + } + // So we must be the main process... + + #if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); + #endif +} + +} // namespace From 8b27c2ce240a067a55adc0d86aebc504c36696c8 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 14:13:16 -0400 Subject: [PATCH 417/510] Reinsert old example x 2 --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 293 ------------------ .../126.0.6478.126/dispatch/dispatch.cc-old | 293 ++++++++++++++++++ .../cc/126.0.6478.126/dispatch/dispatch.h | 129 -------- .../cc/126.0.6478.126/dispatch/dispatch.h-old | 129 ++++++++ src/kaleido/cc/126.0.6478.126/scopes/Base.h | 85 ----- .../cc/126.0.6478.126/scopes/Base.h-old | 85 +++++ .../cc/126.0.6478.126/scopes/Factory.h | 22 -- .../cc/126.0.6478.126/scopes/Factory.h-old | 22 ++ src/kaleido/cc/126.0.6478.126/scopes/Plotly.h | 126 -------- .../cc/126.0.6478.126/scopes/Plotly.h-old | 126 ++++++++ 10 files changed, 655 insertions(+), 655 deletions(-) create mode 100644 src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc-old create mode 100644 src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h-old create mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Base.h-old create mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Factory.h-old create mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Plotly.h-old diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 55620ff7..e69de29b 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -1,293 +0,0 @@ -#include - -#include "base/logging.h" -#include "base/functional/bind.h" -#include "headless/app/dispatch/dispatch.h" - -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/lib/browser/headless_web_contents_impl.h" - -// Callbacks and threads -#include "base/functional/bind.h" -#include "base/task/thread_pool.h" -#include "base/task/bind_post_task.h" -// We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? -#if defined(OS_WIN) - -#include "base/files/file_util.h" -#include "base/strings/stringprintf.h" -#include -#include -namespace base { - // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here - bool ExecutableExistsInPath(Environment* env, - const std::string& executable) { - std::string path; - if (!env->GetVar("PATH", &path)) { - LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; - return false; - } - - for (const StringPiece& cur_path: - SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { - - // Build wide strings using wstringstreams - std::wstringstream wpath_ss; - wpath_ss << std::string(cur_path).c_str(); - - std::wstringstream wexecutable_ss; - wexecutable_ss << executable.c_str() << ".exe"; - - std::wstring wpath_ss_as_string = wpath_ss.str(); - FilePath::StringPieceType w_cur_path(wpath_ss_as_string); - FilePath file(w_cur_path); - - if (PathExists(file.Append(wexecutable_ss.str()))) { - return true; - } - } - return false; - } -} -#endif -namespace kaleido { - Tab::Tab() {} - Tab::~Tab() { - // TODO calling this destructor on shutdown would be V good, otherwise we complain - client_->DetachClient(); - web_contents_.ExtractAsDangling()->Close(); - } - Job::Job() {} - Job::~Job() { - if (currentTab) currentTab.reset(); - } - - - Dispatch::Dispatch(raw_ptr parent_): parent_(parent_) { - browser_devtools_client_.AttachToBrowser(); - job_line = base::ThreadPool::CreateSequencedTaskRunner({ - base::TaskPriority::BEST_EFFORT, - base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); - env = base::Environment::Create(); - popplerAvailable = base::ExecutableExistsInPath(env.get(), "pdftops"); - inkscapeAvailable = base::ExecutableExistsInPath(env.get(), "inkscape"); - } - - void Dispatch::CreateTab(int id, const GURL &url) { - auto tab = std::make_unique(); - headless::HeadlessWebContents::Builder builder( - parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); - tab->web_contents_ = builder.SetInitialURL(url).Build(); - - tab->client_ = std::make_unique(); - // DevToolsTargetReady TODO - tab->client_->AttachToWebContents(headless::HeadlessWebContentsImpl::From(tab->web_contents_)->web_contents()); - - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::sortTab, base::Unretained(this), id, std::move(tab))); - - } - - void Dispatch::ReloadAll() { - parent_->browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::reloadAll, base::Unretained(this))); - } - void Dispatch::reloadAll() { - for (auto& it: activeJobs) { - activeJobs[it.first]->currentTab->client_->SendCommand("Page.reload"); - } - } - - // jobLine modifying tabs and jobs - void Dispatch::sortTab(int id, std::unique_ptr tab) { - if (jobs.size() == 0) { - tabs.push(std::move(tab)); - } else { - dispatchJob(std::move(jobs.front()), std::move(tab)); - jobs.pop(); - } - } - - // jobLine modifying tabs and jobs - void Dispatch::sortJob(std::unique_ptr job) { - if (tabs.size() == 0) { - jobs.push(std::move(job)); - } else { - dispatchJob(std::move(job), std::move(tabs.front())); - tabs.pop(); - } - } - - // jobline modying tabs and jobs and aciveJobs - void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { - int job_id = job_number++; - - job->currentTab = std::move(tab); - activeJobs[job_id] = std::move(job); - parent_->browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), job_id)); // jobline gives browser control of tab/job - return; - } - - inline bool Dispatch::checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id) { - if (msg.FindString("error")) { - std::string error = base::StringPrintf( - "%s: Response: %s", context.c_str(), msg.DebugString().c_str()); - if (parent_->old) parent_->Api_OldMsg(1, error); - else parent_->ReportFailure(activeJobs[job_id]->id, error); - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id - return true; - } - return false; - } - - void Dispatch::runJob1_resetTab(const int &job_id) { - if (activeJobs.find(job_id) == activeJobs.end()) return; - - activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable"); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); - } - - void Dispatch::runJob2_reloadTab(const int &job_id, base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob2_reloadTab", job_id)) return; - auto cb = base::BindRepeating(&Dispatch::runJob3_loadScripts, base::Unretained(this), job_id); - activeJobs[job_id]->runtimeEnableCb = cb; - activeJobs[job_id]->currentTab->client_->AddEventHandler("Runtime.executionContextCreated", cb); - activeJobs[job_id]->currentTab->client_->SendCommand("Page.reload"); - } - - void Dispatch::runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg) { - LOG(INFO) << "Runtime enable"; - activeJobs[job_id]->currentTab->client_->RemoveEventHandler( - "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob3_loadScripts", job_id)) return; - activeJobs[job_id]->scriptItr = parent_->localScriptFiles.begin(); - activeJobs[job_id]->executionId = *msg.FindDict("params")->FindDict("context")->FindInt("id"); - base::Value::Dict empty; - runJob4_loadNextScript(job_id, std::move(empty)); - } - - void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob4_loadNextScript", job_id)) return; - if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { - std::string exportFunction = base::StringPrintf( - "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", - parent_->scope_name.c_str()); - - base::Value::Dict spec; - spec.Set("value", std::move(activeJobs[job_id]->spec_parsed)); - base::Value::List args = std::move(parent_->scope_args); - args.Insert(args.begin(), base::Value(std::move(spec))); - base::Value::Dict params; - params.Set("functionDeclaration", exportFunction); - params.Set("arguments", std::move(args)); - params.Set("returnByValue", false); - params.Set("userGesture", true); - params.Set("awaitPromise", true); - params.Set("executionContextId", activeJobs[job_id]->executionId); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", - std::move(params), - base::BindOnce(&Dispatch::runJob6_processImage, base::Unretained(this), job_id)); - return; - } - std::string scriptPath(*activeJobs[job_id]->scriptItr); - std::ifstream script(scriptPath); - if (!script.is_open()) { - -#if defined(OS_WIN) - std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory.", - scriptPath.c_str()); -#else - std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory %s", - scriptPath.c_str(), parent_->cwd.value().c_str()); -#endif - LOG(ERROR) << error; - parent_->Api_OldMsg(404, error); - // TODO gotta kill job - return; - } - std::string scriptString((std::istreambuf_iterator(script)), - std::istreambuf_iterator()); - auto after_loaded = base::BindRepeating( - &Dispatch::runJob5_runLoadedScript, base::Unretained(this), job_id); - - base::Value::Dict script_params; - script_params.Set("expression", scriptString); - script_params.Set("sourceURL", scriptPath); - script_params.Set("persistScript", true); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.compileScript", std::move(script_params), after_loaded); - } - - void Dispatch::runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob5_runLoadedScript", job_id)) return; - activeJobs[job_id]->scriptItr++; - - auto after_run = base::BindRepeating( - &Dispatch::runJob4_loadNextScript, base::Unretained(this), job_id); - - base::Value::Dict script_params; - std::string scriptId = *msg.FindDict("result")->FindString("scriptId"); - script_params.Set("scriptId", scriptId); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.runScript", std::move(script_params), after_run); - } - - void Dispatch::runJob6_processImage(const int& job_id, base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob6_processImage", job_id)) return; - std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); - parent_->PostEchoTaskOld(result.c_str()); - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id - return; - } - - void Dispatch::closeJob(const int& job_id) { // browser is modifying activejobs/etc, it should be jobline - int messageId = activeJobs[job_id]->id; - if (activeJobs.find(job_id) == activeJobs.end()) return; - auto oldTab = std::move(activeJobs[job_id]->currentTab); - auto oldJob = std::move(activeJobs[job_id]); - oldJob.reset(); - activeJobs.erase(job_id); - sortTab(messageId, std::move(oldTab)); - } - - void Dispatch::PostJob(std::unique_ptr job) { - if (job->format == "eps" && !popplerAvailable) { - parent_->Api_OldMsg( - 530, - "Exporting to EPS format requires the pdftops command " - "which is provided by the poppler library. " - "Please install poppler and make sure the pdftops command " - "is available on the PATH"); - return; - } - - // Validate inkscape installed if format is emf - if (job->format == "emf" && !inkscapeAvailable) { - parent_->Api_OldMsg( - 530, - "Exporting to EMF format requires inkscape. " - "Please install inkscape and make sure it is available on the PATH"); - return; - } - - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::sortJob, base::Unretained(this), std::move(job))); - } - - // event callback signature - void Dispatch::dumpEvent(const base::Value::Dict& msg) { - LOG(INFO) << msg.DebugString(); - } - // command callback signature - void Dispatch::dumpResponse(base::Value::Dict msg) { - LOG(INFO) << msg.DebugString(); - } - -} diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc-old b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc-old new file mode 100644 index 00000000..55620ff7 --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc-old @@ -0,0 +1,293 @@ +#include + +#include "base/logging.h" +#include "base/functional/bind.h" +#include "headless/app/dispatch/dispatch.h" + +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/lib/browser/headless_web_contents_impl.h" + +// Callbacks and threads +#include "base/functional/bind.h" +#include "base/task/thread_pool.h" +#include "base/task/bind_post_task.h" +// We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? +#if defined(OS_WIN) + +#include "base/files/file_util.h" +#include "base/strings/stringprintf.h" +#include +#include +namespace base { + // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here + bool ExecutableExistsInPath(Environment* env, + const std::string& executable) { + std::string path; + if (!env->GetVar("PATH", &path)) { + LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; + return false; + } + + for (const StringPiece& cur_path: + SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { + + // Build wide strings using wstringstreams + std::wstringstream wpath_ss; + wpath_ss << std::string(cur_path).c_str(); + + std::wstringstream wexecutable_ss; + wexecutable_ss << executable.c_str() << ".exe"; + + std::wstring wpath_ss_as_string = wpath_ss.str(); + FilePath::StringPieceType w_cur_path(wpath_ss_as_string); + FilePath file(w_cur_path); + + if (PathExists(file.Append(wexecutable_ss.str()))) { + return true; + } + } + return false; + } +} +#endif +namespace kaleido { + Tab::Tab() {} + Tab::~Tab() { + // TODO calling this destructor on shutdown would be V good, otherwise we complain + client_->DetachClient(); + web_contents_.ExtractAsDangling()->Close(); + } + Job::Job() {} + Job::~Job() { + if (currentTab) currentTab.reset(); + } + + + Dispatch::Dispatch(raw_ptr parent_): parent_(parent_) { + browser_devtools_client_.AttachToBrowser(); + job_line = base::ThreadPool::CreateSequencedTaskRunner({ + base::TaskPriority::BEST_EFFORT, + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); + env = base::Environment::Create(); + popplerAvailable = base::ExecutableExistsInPath(env.get(), "pdftops"); + inkscapeAvailable = base::ExecutableExistsInPath(env.get(), "inkscape"); + } + + void Dispatch::CreateTab(int id, const GURL &url) { + auto tab = std::make_unique(); + headless::HeadlessWebContents::Builder builder( + parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); + tab->web_contents_ = builder.SetInitialURL(url).Build(); + + tab->client_ = std::make_unique(); + // DevToolsTargetReady TODO + tab->client_->AttachToWebContents(headless::HeadlessWebContentsImpl::From(tab->web_contents_)->web_contents()); + + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::sortTab, base::Unretained(this), id, std::move(tab))); + + } + + void Dispatch::ReloadAll() { + parent_->browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::reloadAll, base::Unretained(this))); + } + void Dispatch::reloadAll() { + for (auto& it: activeJobs) { + activeJobs[it.first]->currentTab->client_->SendCommand("Page.reload"); + } + } + + // jobLine modifying tabs and jobs + void Dispatch::sortTab(int id, std::unique_ptr tab) { + if (jobs.size() == 0) { + tabs.push(std::move(tab)); + } else { + dispatchJob(std::move(jobs.front()), std::move(tab)); + jobs.pop(); + } + } + + // jobLine modifying tabs and jobs + void Dispatch::sortJob(std::unique_ptr job) { + if (tabs.size() == 0) { + jobs.push(std::move(job)); + } else { + dispatchJob(std::move(job), std::move(tabs.front())); + tabs.pop(); + } + } + + // jobline modying tabs and jobs and aciveJobs + void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { + int job_id = job_number++; + + job->currentTab = std::move(tab); + activeJobs[job_id] = std::move(job); + parent_->browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), job_id)); // jobline gives browser control of tab/job + return; + } + + inline bool Dispatch::checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id) { + if (msg.FindString("error")) { + std::string error = base::StringPrintf( + "%s: Response: %s", context.c_str(), msg.DebugString().c_str()); + if (parent_->old) parent_->Api_OldMsg(1, error); + else parent_->ReportFailure(activeJobs[job_id]->id, error); + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id + return true; + } + return false; + } + + void Dispatch::runJob1_resetTab(const int &job_id) { + if (activeJobs.find(job_id) == activeJobs.end()) return; + + activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable"); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); + } + + void Dispatch::runJob2_reloadTab(const int &job_id, base::Value::Dict msg) { + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob2_reloadTab", job_id)) return; + auto cb = base::BindRepeating(&Dispatch::runJob3_loadScripts, base::Unretained(this), job_id); + activeJobs[job_id]->runtimeEnableCb = cb; + activeJobs[job_id]->currentTab->client_->AddEventHandler("Runtime.executionContextCreated", cb); + activeJobs[job_id]->currentTab->client_->SendCommand("Page.reload"); + } + + void Dispatch::runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg) { + LOG(INFO) << "Runtime enable"; + activeJobs[job_id]->currentTab->client_->RemoveEventHandler( + "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob3_loadScripts", job_id)) return; + activeJobs[job_id]->scriptItr = parent_->localScriptFiles.begin(); + activeJobs[job_id]->executionId = *msg.FindDict("params")->FindDict("context")->FindInt("id"); + base::Value::Dict empty; + runJob4_loadNextScript(job_id, std::move(empty)); + } + + void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob4_loadNextScript", job_id)) return; + if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { + std::string exportFunction = base::StringPrintf( + "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", + parent_->scope_name.c_str()); + + base::Value::Dict spec; + spec.Set("value", std::move(activeJobs[job_id]->spec_parsed)); + base::Value::List args = std::move(parent_->scope_args); + args.Insert(args.begin(), base::Value(std::move(spec))); + base::Value::Dict params; + params.Set("functionDeclaration", exportFunction); + params.Set("arguments", std::move(args)); + params.Set("returnByValue", false); + params.Set("userGesture", true); + params.Set("awaitPromise", true); + params.Set("executionContextId", activeJobs[job_id]->executionId); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", + std::move(params), + base::BindOnce(&Dispatch::runJob6_processImage, base::Unretained(this), job_id)); + return; + } + std::string scriptPath(*activeJobs[job_id]->scriptItr); + std::ifstream script(scriptPath); + if (!script.is_open()) { + +#if defined(OS_WIN) + std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory.", + scriptPath.c_str()); +#else + std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory %s", + scriptPath.c_str(), parent_->cwd.value().c_str()); +#endif + LOG(ERROR) << error; + parent_->Api_OldMsg(404, error); + // TODO gotta kill job + return; + } + std::string scriptString((std::istreambuf_iterator(script)), + std::istreambuf_iterator()); + auto after_loaded = base::BindRepeating( + &Dispatch::runJob5_runLoadedScript, base::Unretained(this), job_id); + + base::Value::Dict script_params; + script_params.Set("expression", scriptString); + script_params.Set("sourceURL", scriptPath); + script_params.Set("persistScript", true); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.compileScript", std::move(script_params), after_loaded); + } + + void Dispatch::runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg) { + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob5_runLoadedScript", job_id)) return; + activeJobs[job_id]->scriptItr++; + + auto after_run = base::BindRepeating( + &Dispatch::runJob4_loadNextScript, base::Unretained(this), job_id); + + base::Value::Dict script_params; + std::string scriptId = *msg.FindDict("result")->FindString("scriptId"); + script_params.Set("scriptId", scriptId); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.runScript", std::move(script_params), after_run); + } + + void Dispatch::runJob6_processImage(const int& job_id, base::Value::Dict msg) { + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob6_processImage", job_id)) return; + std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); + parent_->PostEchoTaskOld(result.c_str()); + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id + return; + } + + void Dispatch::closeJob(const int& job_id) { // browser is modifying activejobs/etc, it should be jobline + int messageId = activeJobs[job_id]->id; + if (activeJobs.find(job_id) == activeJobs.end()) return; + auto oldTab = std::move(activeJobs[job_id]->currentTab); + auto oldJob = std::move(activeJobs[job_id]); + oldJob.reset(); + activeJobs.erase(job_id); + sortTab(messageId, std::move(oldTab)); + } + + void Dispatch::PostJob(std::unique_ptr job) { + if (job->format == "eps" && !popplerAvailable) { + parent_->Api_OldMsg( + 530, + "Exporting to EPS format requires the pdftops command " + "which is provided by the poppler library. " + "Please install poppler and make sure the pdftops command " + "is available on the PATH"); + return; + } + + // Validate inkscape installed if format is emf + if (job->format == "emf" && !inkscapeAvailable) { + parent_->Api_OldMsg( + 530, + "Exporting to EMF format requires inkscape. " + "Please install inkscape and make sure it is available on the PATH"); + return; + } + + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::sortJob, base::Unretained(this), std::move(job))); + } + + // event callback signature + void Dispatch::dumpEvent(const base::Value::Dict& msg) { + LOG(INFO) << msg.DebugString(); + } + // command callback signature + void Dispatch::dumpResponse(base::Value::Dict msg) { + LOG(INFO) << msg.DebugString(); + } + +} diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index 39c547a9..e69de29b 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -1,129 +0,0 @@ -#ifndef DISPATCH_H_ -#define DISPATCH_H_ - -#include - -#include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" - -#include "base/task/sequenced_task_runner.h" -#include "headless/app/kaleido.h" -#include -#include "base/environment.h" -#include "base/files/file_util.h" - -namespace kaleido { - using namespace simple_devtools_protocol_client; - - class Kaleido; - - - class Tab { - public: - Tab(); - ~Tab(); - // should disable other assignments - base::raw_ptr web_contents_; // not ours - std::unique_ptr client_; - }; - - class Job { - public: - Job(); - ~Job(); - // should disable other assignments - int version; - int id; // TODO change all this to messageId or userMsgId or something - int executionId; - base::Value::Dict spec_parsed; - std::string format; - std::string scope; - std::unique_ptr currentTab; - SimpleDevToolsProtocolClient::EventCallback runtimeEnableCb; - std::vector::iterator scriptItr; - - }; - - // probably should be a singleton, could use static, make_unique, etc - // Sadly, callback hell persists in google's chromium. - // DevTools is an asynchronous IPC messaging platform, their internal API uses callbacks, - // not blockable coroutines- just callbacks without async/await to linearize - // the architecture. So how do we make it easier to read? I can't use lambda functions because - // lambda functions + class methods don't mix w/ google's callback utilities. - // A full state machine that manages callbacks as subroutines would - // be absurdly out of scope. (note added later: chromium forces it) - // - // Ergo, patterns like createTab1_desc(), createTab2_desc() clarify the concepts, - // the process started by a CreateTab() public call. - // - class Dispatch { - public: - Dispatch(raw_ptr parent_); - ~Dispatch() = delete; - - Dispatch(const Dispatch&) = delete; - Dispatch& operator=(const Dispatch&) = delete; - void CreateTab(int id, const GURL &url); - void PostJob(std::unique_ptr); - void ReloadAll(); - - void Release() { - // browser thread removing active jobs and tabs, it needs to happen in two parts - // jobline has to remove it from the queue or array - // browser has to actually destroy it - // browser will always finish its task if shutdown is called - browser_devtools_client_.DetachClient(); - for (auto &it : activeJobs) { - activeJobs[it.first].reset(); - activeJobs.erase(it.first); - } - while (tabs.size()) { - tabs.front().reset(); - tabs.pop(); - } - parent_ = nullptr; - // go through tab and active jobs, maybe have to cancel stuff - } - - - private: - - - raw_ptr parent_; - // a devtools client for the _whole_ browser process (not a tab) - SimpleDevToolsProtocolClient browser_devtools_client_; - - // Represent connections to a tab - std::queue> tabs; - std::queue> jobs; - int job_number = 0; - - std::unordered_map> activeJobs; - - // All queue operations happen on a SequencedTaskRunner for memory safety - // Note: no callbacks allowed from within the SequencedTaskRunner - scoped_refptr job_line; - - void runJob1_resetTab(const int &job_id); - void runJob2_reloadTab(const int &job_id, base::Value::Dict msg); - void runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg); - void runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg); - void runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg); - void runJob6_processImage(const int &job_id, const base::Value::Dict msg); - - void sortTab(int id, std::unique_ptr tab); - void sortJob(std::unique_ptr); - void closeJob(const int &job_id); - void dispatchJob(std::unique_ptr job, std::unique_ptr tab); - void dumpEvent(const base::Value::Dict& msg); - void dumpResponse(base::Value::Dict msg); - void reloadAll(); - - bool popplerAvailable; - bool inkscapeAvailable; - std::unique_ptr env; - - inline bool checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id); - }; -} - -#endif // DISPATCH_H_ diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h-old b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h-old new file mode 100644 index 00000000..39c547a9 --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h-old @@ -0,0 +1,129 @@ +#ifndef DISPATCH_H_ +#define DISPATCH_H_ + +#include + +#include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" + +#include "base/task/sequenced_task_runner.h" +#include "headless/app/kaleido.h" +#include +#include "base/environment.h" +#include "base/files/file_util.h" + +namespace kaleido { + using namespace simple_devtools_protocol_client; + + class Kaleido; + + + class Tab { + public: + Tab(); + ~Tab(); + // should disable other assignments + base::raw_ptr web_contents_; // not ours + std::unique_ptr client_; + }; + + class Job { + public: + Job(); + ~Job(); + // should disable other assignments + int version; + int id; // TODO change all this to messageId or userMsgId or something + int executionId; + base::Value::Dict spec_parsed; + std::string format; + std::string scope; + std::unique_ptr currentTab; + SimpleDevToolsProtocolClient::EventCallback runtimeEnableCb; + std::vector::iterator scriptItr; + + }; + + // probably should be a singleton, could use static, make_unique, etc + // Sadly, callback hell persists in google's chromium. + // DevTools is an asynchronous IPC messaging platform, their internal API uses callbacks, + // not blockable coroutines- just callbacks without async/await to linearize + // the architecture. So how do we make it easier to read? I can't use lambda functions because + // lambda functions + class methods don't mix w/ google's callback utilities. + // A full state machine that manages callbacks as subroutines would + // be absurdly out of scope. (note added later: chromium forces it) + // + // Ergo, patterns like createTab1_desc(), createTab2_desc() clarify the concepts, + // the process started by a CreateTab() public call. + // + class Dispatch { + public: + Dispatch(raw_ptr parent_); + ~Dispatch() = delete; + + Dispatch(const Dispatch&) = delete; + Dispatch& operator=(const Dispatch&) = delete; + void CreateTab(int id, const GURL &url); + void PostJob(std::unique_ptr); + void ReloadAll(); + + void Release() { + // browser thread removing active jobs and tabs, it needs to happen in two parts + // jobline has to remove it from the queue or array + // browser has to actually destroy it + // browser will always finish its task if shutdown is called + browser_devtools_client_.DetachClient(); + for (auto &it : activeJobs) { + activeJobs[it.first].reset(); + activeJobs.erase(it.first); + } + while (tabs.size()) { + tabs.front().reset(); + tabs.pop(); + } + parent_ = nullptr; + // go through tab and active jobs, maybe have to cancel stuff + } + + + private: + + + raw_ptr parent_; + // a devtools client for the _whole_ browser process (not a tab) + SimpleDevToolsProtocolClient browser_devtools_client_; + + // Represent connections to a tab + std::queue> tabs; + std::queue> jobs; + int job_number = 0; + + std::unordered_map> activeJobs; + + // All queue operations happen on a SequencedTaskRunner for memory safety + // Note: no callbacks allowed from within the SequencedTaskRunner + scoped_refptr job_line; + + void runJob1_resetTab(const int &job_id); + void runJob2_reloadTab(const int &job_id, base::Value::Dict msg); + void runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg); + void runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg); + void runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg); + void runJob6_processImage(const int &job_id, const base::Value::Dict msg); + + void sortTab(int id, std::unique_ptr tab); + void sortJob(std::unique_ptr); + void closeJob(const int &job_id); + void dispatchJob(std::unique_ptr job, std::unique_ptr tab); + void dumpEvent(const base::Value::Dict& msg); + void dumpResponse(base::Value::Dict msg); + void reloadAll(); + + bool popplerAvailable; + bool inkscapeAvailable; + std::unique_ptr env; + + inline bool checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id); + }; +} + +#endif // DISPATCH_H_ diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Base.h b/src/kaleido/cc/126.0.6478.126/scopes/Base.h index c0e9b13e..e69de29b 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Base.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Base.h @@ -1,85 +0,0 @@ -// Build call arguments is fucked -// -// Created by jmmease on 6/17/20. -// - -#ifndef CHROMIUM_BASESCOPE_H -#define CHROMIUM_BASESCOPE_H -#include "base/strings/string_util.h" -#include "base/command_line.h" - -#include -#include -#include - - -namespace kaleido { - namespace scopes { - class BaseScope { - public: - BaseScope(); - BaseScope(const BaseScope &v); - virtual ~BaseScope(); - - virtual std::string ScopeName() = 0; - virtual base::Value::List BuildCallArguments(); - // For above, theoretically a JSON list would be - // fine and we should give them - // that option. - std::list ScriptTags(); - std::list LocalScriptFiles(); - std::string GetCommandLineSwitch(std::string name); - bool HasCommandLineSwitch(std::string name); - - std::string errorMessage; - - public: - std::list scriptTags; - std::list localScriptFiles; - const base::raw_ptr plugin; - }; - - BaseScope::BaseScope(): errorMessage(), scriptTags(), localScriptFiles() {} - BaseScope::BaseScope(const BaseScope &v): - scriptTags(v.scriptTags), - localScriptFiles(v.localScriptFiles) - {} - - BaseScope::~BaseScope() { - delete plugin; - } - - base::Value::List BaseScope::BuildCallArguments() { - base::Value::List empty; - return empty; - } - - std::list BaseScope::ScriptTags() { - // Return vector as value so that it is copied and caller is free to mutate it - return scriptTags; - } - - std::list BaseScope::LocalScriptFiles() { - // Return vector as value so that it is copied and caller is free to mutate it - return localScriptFiles; - } - - bool BaseScope::HasCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - return commandLine->HasSwitch(name); - } - - std::string BaseScope::GetCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - std::string value = commandLine->GetSwitchValueASCII(name); - - // Trim single and double quotes - base::TrimString(value, "\"", &value); - base::TrimString(value, "\'", &value); - - return value; - } - } -} - -#endif //CHROMIUM_BASESCOPE_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Base.h-old b/src/kaleido/cc/126.0.6478.126/scopes/Base.h-old new file mode 100644 index 00000000..c0e9b13e --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/scopes/Base.h-old @@ -0,0 +1,85 @@ +// Build call arguments is fucked +// +// Created by jmmease on 6/17/20. +// + +#ifndef CHROMIUM_BASESCOPE_H +#define CHROMIUM_BASESCOPE_H +#include "base/strings/string_util.h" +#include "base/command_line.h" + +#include +#include +#include + + +namespace kaleido { + namespace scopes { + class BaseScope { + public: + BaseScope(); + BaseScope(const BaseScope &v); + virtual ~BaseScope(); + + virtual std::string ScopeName() = 0; + virtual base::Value::List BuildCallArguments(); + // For above, theoretically a JSON list would be + // fine and we should give them + // that option. + std::list ScriptTags(); + std::list LocalScriptFiles(); + std::string GetCommandLineSwitch(std::string name); + bool HasCommandLineSwitch(std::string name); + + std::string errorMessage; + + public: + std::list scriptTags; + std::list localScriptFiles; + const base::raw_ptr plugin; + }; + + BaseScope::BaseScope(): errorMessage(), scriptTags(), localScriptFiles() {} + BaseScope::BaseScope(const BaseScope &v): + scriptTags(v.scriptTags), + localScriptFiles(v.localScriptFiles) + {} + + BaseScope::~BaseScope() { + delete plugin; + } + + base::Value::List BaseScope::BuildCallArguments() { + base::Value::List empty; + return empty; + } + + std::list BaseScope::ScriptTags() { + // Return vector as value so that it is copied and caller is free to mutate it + return scriptTags; + } + + std::list BaseScope::LocalScriptFiles() { + // Return vector as value so that it is copied and caller is free to mutate it + return localScriptFiles; + } + + bool BaseScope::HasCommandLineSwitch(std::string name) { + base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); + return commandLine->HasSwitch(name); + } + + std::string BaseScope::GetCommandLineSwitch(std::string name) { + base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); + std::string value = commandLine->GetSwitchValueASCII(name); + + // Trim single and double quotes + base::TrimString(value, "\"", &value); + base::TrimString(value, "\'", &value); + + return value; + } + } +} + +#endif //CHROMIUM_BASESCOPE_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h index a1120a7f..e69de29b 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h @@ -1,22 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// - -#ifndef CHROMIUM_FACTORY_H -#define CHROMIUM_FACTORY_H -#include "base/strings/string_util.h" - -#include "Plotly.h" -#include "Base.h" - - -kaleido::scopes::BaseScope* LoadScope(std::string name) { - std::string name_lower = base::ToLowerASCII(name); - if (name_lower == "plotly") { - return new kaleido::scopes::PlotlyScope(); - } else { - return nullptr; - } -} - -#endif //CHROMIUM_FACTORY_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h-old b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h-old new file mode 100644 index 00000000..a1120a7f --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h-old @@ -0,0 +1,22 @@ +// +// Created by jmmease on 6/17/20. +// + +#ifndef CHROMIUM_FACTORY_H +#define CHROMIUM_FACTORY_H +#include "base/strings/string_util.h" + +#include "Plotly.h" +#include "Base.h" + + +kaleido::scopes::BaseScope* LoadScope(std::string name) { + std::string name_lower = base::ToLowerASCII(name); + if (name_lower == "plotly") { + return new kaleido::scopes::PlotlyScope(); + } else { + return nullptr; + } +} + +#endif //CHROMIUM_FACTORY_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h index ec901655..e69de29b 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h @@ -1,126 +0,0 @@ -// build call arguments is fucked - -// -// Created by jmmease on 6/17/20. -// -#ifndef CHROMIUM_PLOTLYSCOPE_H -#define CHROMIUM_PLOTLYSCOPE_H -#include "Base.h" -#include "base/functional/bind.h" -#include "base/command_line.h" -#include "base/strings/string_util.h" -#include "base/strings/stringprintf.h" -#include -#include -#include -#include -#include - - -namespace kaleido { - namespace scopes { - - class PlotlyScope : public BaseScope { - public: - PlotlyScope(); - - ~PlotlyScope() override; - - PlotlyScope(const PlotlyScope &v); - - std::string ScopeName() override; - - base::Value::List BuildCallArguments() override; - - public: - std::string topojsonUrl; - std::string mapboxToken; - }; - - PlotlyScope::PlotlyScope() : topojsonUrl(), mapboxToken() { - // Add MathJax config - scriptTags.emplace_back("window.PlotlyConfig = {MathJaxConfig: 'local'}"); - - // Process plotlyjs - if (HasCommandLineSwitch("plotlyjs")) { - std::string plotlyjsArg = GetCommandLineSwitch("plotlyjs"); - - // Check if value is a URL - GURL plotlyjsUrl(plotlyjsArg); - if (plotlyjsUrl.is_valid()) { - scriptTags.push_back(plotlyjsArg); - } else { - // Check if this is a local file path - if (std::ifstream(plotlyjsArg)) { - localScriptFiles.emplace_back(plotlyjsArg); - } else { - errorMessage = base::StringPrintf("--plotlyjs argument is not a valid URL or file path: %s", - plotlyjsArg.c_str()); - return; - } - } - } else { - scriptTags.emplace_back("https://cdn.plot.ly/plotly-latest.min.js"); - } - - // MathJax - if (HasCommandLineSwitch("mathjax")) { - std::string mathjaxArg = GetCommandLineSwitch("mathjax"); - - GURL mathjaxUrl(mathjaxArg); - if (mathjaxUrl.is_valid()) { - std::stringstream mathjaxStringStream; - mathjaxStringStream << mathjaxArg << "?config=TeX-AMS-MML_SVG"; - scriptTags.push_back(mathjaxStringStream.str()); - } else { - errorMessage = base::StringPrintf("--mathjax argument is not a valid URL: %s", mathjaxArg.c_str()); - return; - } - } - - // Topojson - if (HasCommandLineSwitch("topojson")) { - std::string topojsonArg = GetCommandLineSwitch("topojson"); - if (GURL(topojsonArg).is_valid()) { - topojsonUrl = topojsonArg; - } else { - errorMessage = base::StringPrintf("--topojson argument is not a valid URL: %s", - topojsonArg.c_str()); - return; - } - } - - // Process mapbox-token - if (HasCommandLineSwitch("mapbox-access-token")) { - mapboxToken = GetCommandLineSwitch("mapbox-access-token"); - } - } - - PlotlyScope::~PlotlyScope() {} - - PlotlyScope::PlotlyScope(const PlotlyScope &v) : topojsonUrl(v.topojsonUrl), mapboxToken(v.mapboxToken) {} - - std::string PlotlyScope::ScopeName() { - return "plotly"; - } - - base::Value::List PlotlyScope::BuildCallArguments() { - - base::Value::List args; - - base::Value::Dict arg1; - arg1.Set("value", mapboxToken); - base::Value::Dict arg2; - arg2.Set("value", topojsonUrl); - - // Add mapbox token from command line - args.Append(std::move(arg1)); - args.Append(std::move(arg2)); - - // TODO essentially were setting strings to functions - return args; - } - } -} - -#endif //CHROMIUM_PLOTLYSCOPE_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h-old b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h-old new file mode 100644 index 00000000..ec901655 --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h-old @@ -0,0 +1,126 @@ +// build call arguments is fucked + +// +// Created by jmmease on 6/17/20. +// +#ifndef CHROMIUM_PLOTLYSCOPE_H +#define CHROMIUM_PLOTLYSCOPE_H +#include "Base.h" +#include "base/functional/bind.h" +#include "base/command_line.h" +#include "base/strings/string_util.h" +#include "base/strings/stringprintf.h" +#include +#include +#include +#include +#include + + +namespace kaleido { + namespace scopes { + + class PlotlyScope : public BaseScope { + public: + PlotlyScope(); + + ~PlotlyScope() override; + + PlotlyScope(const PlotlyScope &v); + + std::string ScopeName() override; + + base::Value::List BuildCallArguments() override; + + public: + std::string topojsonUrl; + std::string mapboxToken; + }; + + PlotlyScope::PlotlyScope() : topojsonUrl(), mapboxToken() { + // Add MathJax config + scriptTags.emplace_back("window.PlotlyConfig = {MathJaxConfig: 'local'}"); + + // Process plotlyjs + if (HasCommandLineSwitch("plotlyjs")) { + std::string plotlyjsArg = GetCommandLineSwitch("plotlyjs"); + + // Check if value is a URL + GURL plotlyjsUrl(plotlyjsArg); + if (plotlyjsUrl.is_valid()) { + scriptTags.push_back(plotlyjsArg); + } else { + // Check if this is a local file path + if (std::ifstream(plotlyjsArg)) { + localScriptFiles.emplace_back(plotlyjsArg); + } else { + errorMessage = base::StringPrintf("--plotlyjs argument is not a valid URL or file path: %s", + plotlyjsArg.c_str()); + return; + } + } + } else { + scriptTags.emplace_back("https://cdn.plot.ly/plotly-latest.min.js"); + } + + // MathJax + if (HasCommandLineSwitch("mathjax")) { + std::string mathjaxArg = GetCommandLineSwitch("mathjax"); + + GURL mathjaxUrl(mathjaxArg); + if (mathjaxUrl.is_valid()) { + std::stringstream mathjaxStringStream; + mathjaxStringStream << mathjaxArg << "?config=TeX-AMS-MML_SVG"; + scriptTags.push_back(mathjaxStringStream.str()); + } else { + errorMessage = base::StringPrintf("--mathjax argument is not a valid URL: %s", mathjaxArg.c_str()); + return; + } + } + + // Topojson + if (HasCommandLineSwitch("topojson")) { + std::string topojsonArg = GetCommandLineSwitch("topojson"); + if (GURL(topojsonArg).is_valid()) { + topojsonUrl = topojsonArg; + } else { + errorMessage = base::StringPrintf("--topojson argument is not a valid URL: %s", + topojsonArg.c_str()); + return; + } + } + + // Process mapbox-token + if (HasCommandLineSwitch("mapbox-access-token")) { + mapboxToken = GetCommandLineSwitch("mapbox-access-token"); + } + } + + PlotlyScope::~PlotlyScope() {} + + PlotlyScope::PlotlyScope(const PlotlyScope &v) : topojsonUrl(v.topojsonUrl), mapboxToken(v.mapboxToken) {} + + std::string PlotlyScope::ScopeName() { + return "plotly"; + } + + base::Value::List PlotlyScope::BuildCallArguments() { + + base::Value::List args; + + base::Value::Dict arg1; + arg1.Set("value", mapboxToken); + base::Value::Dict arg2; + arg2.Set("value", topojsonUrl); + + // Add mapbox token from command line + args.Append(std::move(arg1)); + args.Append(std::move(arg2)); + + // TODO essentially were setting strings to functions + return args; + } + } +} + +#endif //CHROMIUM_PLOTLYSCOPE_H From 2797d995a74107e0c739ae37b54e15888f426460 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 15:06:18 -0400 Subject: [PATCH 418/510] Frankenstein patch headless shell --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 293 +++++++++++ .../126.0.6478.126/dispatch/dispatch.cc-old | 293 ----------- .../cc/126.0.6478.126/dispatch/dispatch.h | 129 +++++ .../cc/126.0.6478.126/dispatch/dispatch.h-old | 129 ----- src/kaleido/cc/126.0.6478.126/kaleido.cc | 468 ++++++++++++++---- .../cc/126.0.6478.126/kaleido.cc-example | 232 +++++++++ src/kaleido/cc/126.0.6478.126/kaleido.cc-old | 348 ------------- src/kaleido/cc/126.0.6478.126/kaleido.h | 92 ++++ src/kaleido/cc/126.0.6478.126/kaleido.h-old | 91 ---- .../cc/126.0.6478.126/kaleido_main.cc-example | 33 ++ .../cc/126.0.6478.126/kaleido_main.cc-old | 147 ------ src/kaleido/cc/126.0.6478.126/scopes/Base.h | 85 ++++ .../cc/126.0.6478.126/scopes/Base.h-old | 85 ---- .../cc/126.0.6478.126/scopes/Factory.h | 22 + .../cc/126.0.6478.126/scopes/Factory.h-old | 22 - src/kaleido/cc/126.0.6478.126/scopes/Plotly.h | 126 +++++ .../cc/126.0.6478.126/scopes/Plotly.h-old | 126 ----- 17 files changed, 1382 insertions(+), 1339 deletions(-) delete mode 100644 src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc-old delete mode 100644 src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h-old create mode 100644 src/kaleido/cc/126.0.6478.126/kaleido.cc-example delete mode 100644 src/kaleido/cc/126.0.6478.126/kaleido.cc-old delete mode 100644 src/kaleido/cc/126.0.6478.126/kaleido.h-old create mode 100644 src/kaleido/cc/126.0.6478.126/kaleido_main.cc-example delete mode 100644 src/kaleido/cc/126.0.6478.126/kaleido_main.cc-old delete mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Base.h-old delete mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Factory.h-old delete mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Plotly.h-old diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index e69de29b..55620ff7 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -0,0 +1,293 @@ +#include + +#include "base/logging.h" +#include "base/functional/bind.h" +#include "headless/app/dispatch/dispatch.h" + +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/lib/browser/headless_web_contents_impl.h" + +// Callbacks and threads +#include "base/functional/bind.h" +#include "base/task/thread_pool.h" +#include "base/task/bind_post_task.h" +// We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? +#if defined(OS_WIN) + +#include "base/files/file_util.h" +#include "base/strings/stringprintf.h" +#include +#include +namespace base { + // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here + bool ExecutableExistsInPath(Environment* env, + const std::string& executable) { + std::string path; + if (!env->GetVar("PATH", &path)) { + LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; + return false; + } + + for (const StringPiece& cur_path: + SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { + + // Build wide strings using wstringstreams + std::wstringstream wpath_ss; + wpath_ss << std::string(cur_path).c_str(); + + std::wstringstream wexecutable_ss; + wexecutable_ss << executable.c_str() << ".exe"; + + std::wstring wpath_ss_as_string = wpath_ss.str(); + FilePath::StringPieceType w_cur_path(wpath_ss_as_string); + FilePath file(w_cur_path); + + if (PathExists(file.Append(wexecutable_ss.str()))) { + return true; + } + } + return false; + } +} +#endif +namespace kaleido { + Tab::Tab() {} + Tab::~Tab() { + // TODO calling this destructor on shutdown would be V good, otherwise we complain + client_->DetachClient(); + web_contents_.ExtractAsDangling()->Close(); + } + Job::Job() {} + Job::~Job() { + if (currentTab) currentTab.reset(); + } + + + Dispatch::Dispatch(raw_ptr parent_): parent_(parent_) { + browser_devtools_client_.AttachToBrowser(); + job_line = base::ThreadPool::CreateSequencedTaskRunner({ + base::TaskPriority::BEST_EFFORT, + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); + env = base::Environment::Create(); + popplerAvailable = base::ExecutableExistsInPath(env.get(), "pdftops"); + inkscapeAvailable = base::ExecutableExistsInPath(env.get(), "inkscape"); + } + + void Dispatch::CreateTab(int id, const GURL &url) { + auto tab = std::make_unique(); + headless::HeadlessWebContents::Builder builder( + parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); + tab->web_contents_ = builder.SetInitialURL(url).Build(); + + tab->client_ = std::make_unique(); + // DevToolsTargetReady TODO + tab->client_->AttachToWebContents(headless::HeadlessWebContentsImpl::From(tab->web_contents_)->web_contents()); + + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::sortTab, base::Unretained(this), id, std::move(tab))); + + } + + void Dispatch::ReloadAll() { + parent_->browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::reloadAll, base::Unretained(this))); + } + void Dispatch::reloadAll() { + for (auto& it: activeJobs) { + activeJobs[it.first]->currentTab->client_->SendCommand("Page.reload"); + } + } + + // jobLine modifying tabs and jobs + void Dispatch::sortTab(int id, std::unique_ptr tab) { + if (jobs.size() == 0) { + tabs.push(std::move(tab)); + } else { + dispatchJob(std::move(jobs.front()), std::move(tab)); + jobs.pop(); + } + } + + // jobLine modifying tabs and jobs + void Dispatch::sortJob(std::unique_ptr job) { + if (tabs.size() == 0) { + jobs.push(std::move(job)); + } else { + dispatchJob(std::move(job), std::move(tabs.front())); + tabs.pop(); + } + } + + // jobline modying tabs and jobs and aciveJobs + void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { + int job_id = job_number++; + + job->currentTab = std::move(tab); + activeJobs[job_id] = std::move(job); + parent_->browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), job_id)); // jobline gives browser control of tab/job + return; + } + + inline bool Dispatch::checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id) { + if (msg.FindString("error")) { + std::string error = base::StringPrintf( + "%s: Response: %s", context.c_str(), msg.DebugString().c_str()); + if (parent_->old) parent_->Api_OldMsg(1, error); + else parent_->ReportFailure(activeJobs[job_id]->id, error); + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id + return true; + } + return false; + } + + void Dispatch::runJob1_resetTab(const int &job_id) { + if (activeJobs.find(job_id) == activeJobs.end()) return; + + activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable"); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); + } + + void Dispatch::runJob2_reloadTab(const int &job_id, base::Value::Dict msg) { + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob2_reloadTab", job_id)) return; + auto cb = base::BindRepeating(&Dispatch::runJob3_loadScripts, base::Unretained(this), job_id); + activeJobs[job_id]->runtimeEnableCb = cb; + activeJobs[job_id]->currentTab->client_->AddEventHandler("Runtime.executionContextCreated", cb); + activeJobs[job_id]->currentTab->client_->SendCommand("Page.reload"); + } + + void Dispatch::runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg) { + LOG(INFO) << "Runtime enable"; + activeJobs[job_id]->currentTab->client_->RemoveEventHandler( + "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob3_loadScripts", job_id)) return; + activeJobs[job_id]->scriptItr = parent_->localScriptFiles.begin(); + activeJobs[job_id]->executionId = *msg.FindDict("params")->FindDict("context")->FindInt("id"); + base::Value::Dict empty; + runJob4_loadNextScript(job_id, std::move(empty)); + } + + void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob4_loadNextScript", job_id)) return; + if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { + std::string exportFunction = base::StringPrintf( + "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", + parent_->scope_name.c_str()); + + base::Value::Dict spec; + spec.Set("value", std::move(activeJobs[job_id]->spec_parsed)); + base::Value::List args = std::move(parent_->scope_args); + args.Insert(args.begin(), base::Value(std::move(spec))); + base::Value::Dict params; + params.Set("functionDeclaration", exportFunction); + params.Set("arguments", std::move(args)); + params.Set("returnByValue", false); + params.Set("userGesture", true); + params.Set("awaitPromise", true); + params.Set("executionContextId", activeJobs[job_id]->executionId); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", + std::move(params), + base::BindOnce(&Dispatch::runJob6_processImage, base::Unretained(this), job_id)); + return; + } + std::string scriptPath(*activeJobs[job_id]->scriptItr); + std::ifstream script(scriptPath); + if (!script.is_open()) { + +#if defined(OS_WIN) + std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory.", + scriptPath.c_str()); +#else + std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory %s", + scriptPath.c_str(), parent_->cwd.value().c_str()); +#endif + LOG(ERROR) << error; + parent_->Api_OldMsg(404, error); + // TODO gotta kill job + return; + } + std::string scriptString((std::istreambuf_iterator(script)), + std::istreambuf_iterator()); + auto after_loaded = base::BindRepeating( + &Dispatch::runJob5_runLoadedScript, base::Unretained(this), job_id); + + base::Value::Dict script_params; + script_params.Set("expression", scriptString); + script_params.Set("sourceURL", scriptPath); + script_params.Set("persistScript", true); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.compileScript", std::move(script_params), after_loaded); + } + + void Dispatch::runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg) { + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob5_runLoadedScript", job_id)) return; + activeJobs[job_id]->scriptItr++; + + auto after_run = base::BindRepeating( + &Dispatch::runJob4_loadNextScript, base::Unretained(this), job_id); + + base::Value::Dict script_params; + std::string scriptId = *msg.FindDict("result")->FindString("scriptId"); + script_params.Set("scriptId", scriptId); + activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.runScript", std::move(script_params), after_run); + } + + void Dispatch::runJob6_processImage(const int& job_id, base::Value::Dict msg) { + if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob6_processImage", job_id)) return; + std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); + parent_->PostEchoTaskOld(result.c_str()); + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id + return; + } + + void Dispatch::closeJob(const int& job_id) { // browser is modifying activejobs/etc, it should be jobline + int messageId = activeJobs[job_id]->id; + if (activeJobs.find(job_id) == activeJobs.end()) return; + auto oldTab = std::move(activeJobs[job_id]->currentTab); + auto oldJob = std::move(activeJobs[job_id]); + oldJob.reset(); + activeJobs.erase(job_id); + sortTab(messageId, std::move(oldTab)); + } + + void Dispatch::PostJob(std::unique_ptr job) { + if (job->format == "eps" && !popplerAvailable) { + parent_->Api_OldMsg( + 530, + "Exporting to EPS format requires the pdftops command " + "which is provided by the poppler library. " + "Please install poppler and make sure the pdftops command " + "is available on the PATH"); + return; + } + + // Validate inkscape installed if format is emf + if (job->format == "emf" && !inkscapeAvailable) { + parent_->Api_OldMsg( + 530, + "Exporting to EMF format requires inkscape. " + "Please install inkscape and make sure it is available on the PATH"); + return; + } + + job_line->PostTask( + FROM_HERE, + base::BindOnce(&Dispatch::sortJob, base::Unretained(this), std::move(job))); + } + + // event callback signature + void Dispatch::dumpEvent(const base::Value::Dict& msg) { + LOG(INFO) << msg.DebugString(); + } + // command callback signature + void Dispatch::dumpResponse(base::Value::Dict msg) { + LOG(INFO) << msg.DebugString(); + } + +} diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc-old b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc-old deleted file mode 100644 index 55620ff7..00000000 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc-old +++ /dev/null @@ -1,293 +0,0 @@ -#include - -#include "base/logging.h" -#include "base/functional/bind.h" -#include "headless/app/dispatch/dispatch.h" - -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/lib/browser/headless_web_contents_impl.h" - -// Callbacks and threads -#include "base/functional/bind.h" -#include "base/task/thread_pool.h" -#include "base/task/bind_post_task.h" -// We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? -#if defined(OS_WIN) - -#include "base/files/file_util.h" -#include "base/strings/stringprintf.h" -#include -#include -namespace base { - // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here - bool ExecutableExistsInPath(Environment* env, - const std::string& executable) { - std::string path; - if (!env->GetVar("PATH", &path)) { - LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; - return false; - } - - for (const StringPiece& cur_path: - SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { - - // Build wide strings using wstringstreams - std::wstringstream wpath_ss; - wpath_ss << std::string(cur_path).c_str(); - - std::wstringstream wexecutable_ss; - wexecutable_ss << executable.c_str() << ".exe"; - - std::wstring wpath_ss_as_string = wpath_ss.str(); - FilePath::StringPieceType w_cur_path(wpath_ss_as_string); - FilePath file(w_cur_path); - - if (PathExists(file.Append(wexecutable_ss.str()))) { - return true; - } - } - return false; - } -} -#endif -namespace kaleido { - Tab::Tab() {} - Tab::~Tab() { - // TODO calling this destructor on shutdown would be V good, otherwise we complain - client_->DetachClient(); - web_contents_.ExtractAsDangling()->Close(); - } - Job::Job() {} - Job::~Job() { - if (currentTab) currentTab.reset(); - } - - - Dispatch::Dispatch(raw_ptr parent_): parent_(parent_) { - browser_devtools_client_.AttachToBrowser(); - job_line = base::ThreadPool::CreateSequencedTaskRunner({ - base::TaskPriority::BEST_EFFORT, - base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); - env = base::Environment::Create(); - popplerAvailable = base::ExecutableExistsInPath(env.get(), "pdftops"); - inkscapeAvailable = base::ExecutableExistsInPath(env.get(), "inkscape"); - } - - void Dispatch::CreateTab(int id, const GURL &url) { - auto tab = std::make_unique(); - headless::HeadlessWebContents::Builder builder( - parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); - tab->web_contents_ = builder.SetInitialURL(url).Build(); - - tab->client_ = std::make_unique(); - // DevToolsTargetReady TODO - tab->client_->AttachToWebContents(headless::HeadlessWebContentsImpl::From(tab->web_contents_)->web_contents()); - - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::sortTab, base::Unretained(this), id, std::move(tab))); - - } - - void Dispatch::ReloadAll() { - parent_->browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::reloadAll, base::Unretained(this))); - } - void Dispatch::reloadAll() { - for (auto& it: activeJobs) { - activeJobs[it.first]->currentTab->client_->SendCommand("Page.reload"); - } - } - - // jobLine modifying tabs and jobs - void Dispatch::sortTab(int id, std::unique_ptr tab) { - if (jobs.size() == 0) { - tabs.push(std::move(tab)); - } else { - dispatchJob(std::move(jobs.front()), std::move(tab)); - jobs.pop(); - } - } - - // jobLine modifying tabs and jobs - void Dispatch::sortJob(std::unique_ptr job) { - if (tabs.size() == 0) { - jobs.push(std::move(job)); - } else { - dispatchJob(std::move(job), std::move(tabs.front())); - tabs.pop(); - } - } - - // jobline modying tabs and jobs and aciveJobs - void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { - int job_id = job_number++; - - job->currentTab = std::move(tab); - activeJobs[job_id] = std::move(job); - parent_->browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), job_id)); // jobline gives browser control of tab/job - return; - } - - inline bool Dispatch::checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id) { - if (msg.FindString("error")) { - std::string error = base::StringPrintf( - "%s: Response: %s", context.c_str(), msg.DebugString().c_str()); - if (parent_->old) parent_->Api_OldMsg(1, error); - else parent_->ReportFailure(activeJobs[job_id]->id, error); - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id - return true; - } - return false; - } - - void Dispatch::runJob1_resetTab(const int &job_id) { - if (activeJobs.find(job_id) == activeJobs.end()) return; - - activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable"); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); - } - - void Dispatch::runJob2_reloadTab(const int &job_id, base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob2_reloadTab", job_id)) return; - auto cb = base::BindRepeating(&Dispatch::runJob3_loadScripts, base::Unretained(this), job_id); - activeJobs[job_id]->runtimeEnableCb = cb; - activeJobs[job_id]->currentTab->client_->AddEventHandler("Runtime.executionContextCreated", cb); - activeJobs[job_id]->currentTab->client_->SendCommand("Page.reload"); - } - - void Dispatch::runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg) { - LOG(INFO) << "Runtime enable"; - activeJobs[job_id]->currentTab->client_->RemoveEventHandler( - "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob3_loadScripts", job_id)) return; - activeJobs[job_id]->scriptItr = parent_->localScriptFiles.begin(); - activeJobs[job_id]->executionId = *msg.FindDict("params")->FindDict("context")->FindInt("id"); - base::Value::Dict empty; - runJob4_loadNextScript(job_id, std::move(empty)); - } - - void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob4_loadNextScript", job_id)) return; - if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { - std::string exportFunction = base::StringPrintf( - "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", - parent_->scope_name.c_str()); - - base::Value::Dict spec; - spec.Set("value", std::move(activeJobs[job_id]->spec_parsed)); - base::Value::List args = std::move(parent_->scope_args); - args.Insert(args.begin(), base::Value(std::move(spec))); - base::Value::Dict params; - params.Set("functionDeclaration", exportFunction); - params.Set("arguments", std::move(args)); - params.Set("returnByValue", false); - params.Set("userGesture", true); - params.Set("awaitPromise", true); - params.Set("executionContextId", activeJobs[job_id]->executionId); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", - std::move(params), - base::BindOnce(&Dispatch::runJob6_processImage, base::Unretained(this), job_id)); - return; - } - std::string scriptPath(*activeJobs[job_id]->scriptItr); - std::ifstream script(scriptPath); - if (!script.is_open()) { - -#if defined(OS_WIN) - std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory.", - scriptPath.c_str()); -#else - std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory %s", - scriptPath.c_str(), parent_->cwd.value().c_str()); -#endif - LOG(ERROR) << error; - parent_->Api_OldMsg(404, error); - // TODO gotta kill job - return; - } - std::string scriptString((std::istreambuf_iterator(script)), - std::istreambuf_iterator()); - auto after_loaded = base::BindRepeating( - &Dispatch::runJob5_runLoadedScript, base::Unretained(this), job_id); - - base::Value::Dict script_params; - script_params.Set("expression", scriptString); - script_params.Set("sourceURL", scriptPath); - script_params.Set("persistScript", true); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.compileScript", std::move(script_params), after_loaded); - } - - void Dispatch::runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob5_runLoadedScript", job_id)) return; - activeJobs[job_id]->scriptItr++; - - auto after_run = base::BindRepeating( - &Dispatch::runJob4_loadNextScript, base::Unretained(this), job_id); - - base::Value::Dict script_params; - std::string scriptId = *msg.FindDict("result")->FindString("scriptId"); - script_params.Set("scriptId", scriptId); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.runScript", std::move(script_params), after_run); - } - - void Dispatch::runJob6_processImage(const int& job_id, base::Value::Dict msg) { - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob6_processImage", job_id)) return; - std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); - parent_->PostEchoTaskOld(result.c_str()); - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id - return; - } - - void Dispatch::closeJob(const int& job_id) { // browser is modifying activejobs/etc, it should be jobline - int messageId = activeJobs[job_id]->id; - if (activeJobs.find(job_id) == activeJobs.end()) return; - auto oldTab = std::move(activeJobs[job_id]->currentTab); - auto oldJob = std::move(activeJobs[job_id]); - oldJob.reset(); - activeJobs.erase(job_id); - sortTab(messageId, std::move(oldTab)); - } - - void Dispatch::PostJob(std::unique_ptr job) { - if (job->format == "eps" && !popplerAvailable) { - parent_->Api_OldMsg( - 530, - "Exporting to EPS format requires the pdftops command " - "which is provided by the poppler library. " - "Please install poppler and make sure the pdftops command " - "is available on the PATH"); - return; - } - - // Validate inkscape installed if format is emf - if (job->format == "emf" && !inkscapeAvailable) { - parent_->Api_OldMsg( - 530, - "Exporting to EMF format requires inkscape. " - "Please install inkscape and make sure it is available on the PATH"); - return; - } - - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::sortJob, base::Unretained(this), std::move(job))); - } - - // event callback signature - void Dispatch::dumpEvent(const base::Value::Dict& msg) { - LOG(INFO) << msg.DebugString(); - } - // command callback signature - void Dispatch::dumpResponse(base::Value::Dict msg) { - LOG(INFO) << msg.DebugString(); - } - -} diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h index e69de29b..39c547a9 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h @@ -0,0 +1,129 @@ +#ifndef DISPATCH_H_ +#define DISPATCH_H_ + +#include + +#include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" + +#include "base/task/sequenced_task_runner.h" +#include "headless/app/kaleido.h" +#include +#include "base/environment.h" +#include "base/files/file_util.h" + +namespace kaleido { + using namespace simple_devtools_protocol_client; + + class Kaleido; + + + class Tab { + public: + Tab(); + ~Tab(); + // should disable other assignments + base::raw_ptr web_contents_; // not ours + std::unique_ptr client_; + }; + + class Job { + public: + Job(); + ~Job(); + // should disable other assignments + int version; + int id; // TODO change all this to messageId or userMsgId or something + int executionId; + base::Value::Dict spec_parsed; + std::string format; + std::string scope; + std::unique_ptr currentTab; + SimpleDevToolsProtocolClient::EventCallback runtimeEnableCb; + std::vector::iterator scriptItr; + + }; + + // probably should be a singleton, could use static, make_unique, etc + // Sadly, callback hell persists in google's chromium. + // DevTools is an asynchronous IPC messaging platform, their internal API uses callbacks, + // not blockable coroutines- just callbacks without async/await to linearize + // the architecture. So how do we make it easier to read? I can't use lambda functions because + // lambda functions + class methods don't mix w/ google's callback utilities. + // A full state machine that manages callbacks as subroutines would + // be absurdly out of scope. (note added later: chromium forces it) + // + // Ergo, patterns like createTab1_desc(), createTab2_desc() clarify the concepts, + // the process started by a CreateTab() public call. + // + class Dispatch { + public: + Dispatch(raw_ptr parent_); + ~Dispatch() = delete; + + Dispatch(const Dispatch&) = delete; + Dispatch& operator=(const Dispatch&) = delete; + void CreateTab(int id, const GURL &url); + void PostJob(std::unique_ptr); + void ReloadAll(); + + void Release() { + // browser thread removing active jobs and tabs, it needs to happen in two parts + // jobline has to remove it from the queue or array + // browser has to actually destroy it + // browser will always finish its task if shutdown is called + browser_devtools_client_.DetachClient(); + for (auto &it : activeJobs) { + activeJobs[it.first].reset(); + activeJobs.erase(it.first); + } + while (tabs.size()) { + tabs.front().reset(); + tabs.pop(); + } + parent_ = nullptr; + // go through tab and active jobs, maybe have to cancel stuff + } + + + private: + + + raw_ptr parent_; + // a devtools client for the _whole_ browser process (not a tab) + SimpleDevToolsProtocolClient browser_devtools_client_; + + // Represent connections to a tab + std::queue> tabs; + std::queue> jobs; + int job_number = 0; + + std::unordered_map> activeJobs; + + // All queue operations happen on a SequencedTaskRunner for memory safety + // Note: no callbacks allowed from within the SequencedTaskRunner + scoped_refptr job_line; + + void runJob1_resetTab(const int &job_id); + void runJob2_reloadTab(const int &job_id, base::Value::Dict msg); + void runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg); + void runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg); + void runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg); + void runJob6_processImage(const int &job_id, const base::Value::Dict msg); + + void sortTab(int id, std::unique_ptr tab); + void sortJob(std::unique_ptr); + void closeJob(const int &job_id); + void dispatchJob(std::unique_ptr job, std::unique_ptr tab); + void dumpEvent(const base::Value::Dict& msg); + void dumpResponse(base::Value::Dict msg); + void reloadAll(); + + bool popplerAvailable; + bool inkscapeAvailable; + std::unique_ptr env; + + inline bool checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id); + }; +} + +#endif // DISPATCH_H_ diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h-old b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h-old deleted file mode 100644 index 39c547a9..00000000 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h-old +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef DISPATCH_H_ -#define DISPATCH_H_ - -#include - -#include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" - -#include "base/task/sequenced_task_runner.h" -#include "headless/app/kaleido.h" -#include -#include "base/environment.h" -#include "base/files/file_util.h" - -namespace kaleido { - using namespace simple_devtools_protocol_client; - - class Kaleido; - - - class Tab { - public: - Tab(); - ~Tab(); - // should disable other assignments - base::raw_ptr web_contents_; // not ours - std::unique_ptr client_; - }; - - class Job { - public: - Job(); - ~Job(); - // should disable other assignments - int version; - int id; // TODO change all this to messageId or userMsgId or something - int executionId; - base::Value::Dict spec_parsed; - std::string format; - std::string scope; - std::unique_ptr currentTab; - SimpleDevToolsProtocolClient::EventCallback runtimeEnableCb; - std::vector::iterator scriptItr; - - }; - - // probably should be a singleton, could use static, make_unique, etc - // Sadly, callback hell persists in google's chromium. - // DevTools is an asynchronous IPC messaging platform, their internal API uses callbacks, - // not blockable coroutines- just callbacks without async/await to linearize - // the architecture. So how do we make it easier to read? I can't use lambda functions because - // lambda functions + class methods don't mix w/ google's callback utilities. - // A full state machine that manages callbacks as subroutines would - // be absurdly out of scope. (note added later: chromium forces it) - // - // Ergo, patterns like createTab1_desc(), createTab2_desc() clarify the concepts, - // the process started by a CreateTab() public call. - // - class Dispatch { - public: - Dispatch(raw_ptr parent_); - ~Dispatch() = delete; - - Dispatch(const Dispatch&) = delete; - Dispatch& operator=(const Dispatch&) = delete; - void CreateTab(int id, const GURL &url); - void PostJob(std::unique_ptr); - void ReloadAll(); - - void Release() { - // browser thread removing active jobs and tabs, it needs to happen in two parts - // jobline has to remove it from the queue or array - // browser has to actually destroy it - // browser will always finish its task if shutdown is called - browser_devtools_client_.DetachClient(); - for (auto &it : activeJobs) { - activeJobs[it.first].reset(); - activeJobs.erase(it.first); - } - while (tabs.size()) { - tabs.front().reset(); - tabs.pop(); - } - parent_ = nullptr; - // go through tab and active jobs, maybe have to cancel stuff - } - - - private: - - - raw_ptr parent_; - // a devtools client for the _whole_ browser process (not a tab) - SimpleDevToolsProtocolClient browser_devtools_client_; - - // Represent connections to a tab - std::queue> tabs; - std::queue> jobs; - int job_number = 0; - - std::unordered_map> activeJobs; - - // All queue operations happen on a SequencedTaskRunner for memory safety - // Note: no callbacks allowed from within the SequencedTaskRunner - scoped_refptr job_line; - - void runJob1_resetTab(const int &job_id); - void runJob2_reloadTab(const int &job_id, base::Value::Dict msg); - void runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg); - void runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg); - void runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg); - void runJob6_processImage(const int &job_id, const base::Value::Dict msg); - - void sortTab(int id, std::unique_ptr tab); - void sortJob(std::unique_ptr); - void closeJob(const int &job_id); - void dispatchJob(std::unique_ptr job, std::unique_ptr tab); - void dumpEvent(const base::Value::Dict& msg); - void dumpResponse(base::Value::Dict msg); - void reloadAll(); - - bool popplerAvailable; - bool inkscapeAvailable; - std::unique_ptr env; - - inline bool checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id); - }; -} - -#endif // DISPATCH_H_ diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index dd273413..3229440e 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -1,3 +1,53 @@ +// kaleido.cc: +// goals: +// * start up the browser +// * start up the tab manager +// * start up the IO thread + +#include +#include +#include + + +#include + +#include "headless/app/kaleido.h" + +// Browser stuff +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/public/headless_browser.h" +#include "headless/public/headless_browser_context.h" + +// Derp +#include "base/logging.h" + +// Callbacks and threads +#include "base/functional/bind.h" +#include "base/task/thread_pool.h" + +// For JS +#include "third_party/abseil-cpp/absl/types/optional.h" +#include +#include "base/json/json_reader.h" + +#include "headless/app/scopes/Factory.h" +// For copy 1 +#include "base/command_line.h" + +/// COPY 2 +#include "base/files/file_util.h" +#include "base/strings/stringprintf.h" +#include +#include + +#define FILE_URI_PREFIX "file://" + + +// COPY +// +// OMG +// + // Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -40,12 +90,7 @@ #endif namespace headless { namespace { -#if BUILDFLAG(IS_WIN) -const wchar_t kAboutBlank[] = L"about:blank"; -#else -const char kAboutBlank[] = "about:blank"; -#endif -GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { +/*GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { #if BUILDFLAG(IS_WIN) GURL url(base::WideToUTF8(arg)); #else @@ -55,7 +100,7 @@ GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { return url; return net::FilePathToFileURL( base::MakeAbsoluteFilePath(base::FilePath(arg))); -} +}*/ // useful but bring it in later // An application which implements a simple headless browser. class HeadlessShell { public: @@ -65,89 +110,20 @@ class HeadlessShell { ~HeadlessShell() = default; void OnBrowserStart(HeadlessBrowser* browser); private: -#if defined(HEADLESS_ENABLE_COMMANDS) - void OnProcessCommandsDone(HeadlessCommandHandler::Result result); -#endif void ShutdownSoon(); void Shutdown(); raw_ptr browser_ = nullptr; }; void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { + std::cout << "We cool" << std::endl; browser_ = browser; -#if defined(HEADLESS_USE_POLICY) - if (HeadlessModePolicy::IsHeadlessModeDisabled( - static_cast(browser)->GetPrefs())) { - LOG(ERROR) << "Headless mode is disallowed by the system admin."; - ShutdownSoon(); - return; - } -#endif - HeadlessBrowserContext::Builder context_builder = - browser_->CreateBrowserContextBuilder(); - // Create browser context and set it as the default. The default browser - // context is used by the Target.createTarget() DevTools command when no other - // context is given. - HeadlessBrowserContext* browser_context = context_builder.Build(); - browser_->SetDefaultBrowserContext(browser_context); - const bool devtools_enabled = static_cast(browser) - ->options() - ->DevtoolsServerEnabled(); - // If no explicit URL is present navigate to about:blank unless we're being - // driven by a debugger. - base::CommandLine::StringVector args = - base::CommandLine::ForCurrentProcess()->GetArgs(); - args.erase( - std::remove(args.begin(), args.end(), base::CommandLine::StringType()), - args.end()); - if (args.empty() && !devtools_enabled) { - args.push_back(kAboutBlank); - } - if (args.empty()) { - return; - } - GURL target_url = ConvertArgumentToURL(args.front()); - HeadlessWebContents::Builder builder( - browser_context->CreateWebContentsBuilder()); - // If driven by a debugger just open the target page and - // leave expecting the debugger will do what they need. - if (devtools_enabled) { - HeadlessWebContents* web_contents = - builder.SetInitialURL(target_url).Build(); - if (!web_contents) { - LOG(ERROR) << "Navigation to " << target_url << " failed."; - ShutdownSoon(); - } - return; - } + base::raw_ptr kaleido = new kaleido::Kaleido(); + kaleido->OnBrowserStart(browser); + // seg fault + return; // Otherwise instantiate headless shell command handler that will // execute the commands against the target page. -#if defined(HEADLESS_ENABLE_COMMANDS) - GURL handler_url = HeadlessCommandHandler::GetHandlerUrl(); - HeadlessWebContents* web_contents = - builder.SetInitialURL(handler_url).Build(); - if (!web_contents) { - LOG(ERROR) << "Navigation to " << handler_url << " failed."; - ShutdownSoon(); - return; - } - HeadlessCommandHandler::ProcessCommands( - HeadlessWebContentsImpl::From(web_contents)->web_contents(), - std::move(target_url), - base::BindOnce(&HeadlessShell::OnProcessCommandsDone, - base::Unretained(this))); -#endif -} -#if defined(HEADLESS_ENABLE_COMMANDS) -void HeadlessShell::OnProcessCommandsDone( - HeadlessCommandHandler::Result result) { - if (result != HeadlessCommandHandler::Result::kSuccess) { - static_cast(browser_)->ShutdownWithExitCode( - static_cast(result)); - return; - } - Shutdown(); } -#endif void HeadlessShell::ShutdownSoon() { browser_->BrowserMainThread()->PostTask( FROM_HERE, @@ -175,18 +151,6 @@ int HeadlessBrowserMain(content::ContentMainParams params) { // Child processes should not end up here. DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( ::switches::kProcessType)); -#endif -#if defined(HEADLESS_ENABLE_COMMANDS) - base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); - if (HeadlessCommandHandler::HasHeadlessCommandSwitches(command_line)) { - if (command_line.HasSwitch(::switches::kRemoteDebuggingPort) || - command_line.HasSwitch(::switches::kRemoteDebuggingPipe)) { - LOG(ERROR) - << "Headless commands are not compatible with remote debugging."; - return EXIT_FAILURE; - } - command_line.AppendSwitch(switches::kDisableLazyLoading); - } #endif HeadlessShell shell; auto browser = std::make_unique( @@ -223,11 +187,6 @@ int HeadlessShellMain(content::ContentMainParams params) { // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. command_line.AppendSwitch(::switches::kDisableGpu); #endif - if (command_line.HasSwitch(switches::kVersion)) { - printf("%s %s\n", version_info::GetProductName().data(), - version_info::GetVersionNumber().data()); - return EXIT_SUCCESS; - } if (command_line.GetArgs().size() > 1) { LOG(ERROR) << "Multiple targets are not supported."; return EXIT_FAILURE; @@ -235,3 +194,316 @@ int HeadlessShellMain(content::ContentMainParams params) { return HeadlessBrowserMain(std::move(params)); } } // namespace headless + +/// +/// END OMG +/// +/// + +/// END COPY 2 +namespace kaleido { + +Kaleido::Kaleido() = default; + +void AnotherBrowserStart(headless::HeadlessBrowser* browser) { + std::cout << "Its fine" << std::endl; +} + +// Control Flow, declare here +void Kaleido::ShutdownSoon() { + scope_ptr = nullptr; + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&Kaleido::ShutdownTask, base::Unretained(this))); +} +void Kaleido::ShutdownTask() { + LOG(INFO) << "Calling shutdown on browser"; + if (tmpFileName.value().size()) base::DeleteFile(tmpFileName); + dispatch->Release(); // Fine to destruct what we have here. + dispatch = nullptr; + browser_.ExtractAsDangling()->Shutdown(); +} + +void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { + std::cout << "OnBrowserStart" << std::endl; + browser_ = browser; // global by another name + + // Actual constructor duties, init stuff + output_sequence = base::ThreadPool::CreateSequencedTaskRunner( + {base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN} + ); // Can't do this before OnBrowserStart! + + dispatch = new Dispatch(this); // Tab manager + + // Create browser context and set it as the default. The default browser + // context is used by the Target.createTarget() DevTools command when no other + // context is given. + // This stuff has weird side effects and I'm not sure its necessary. + headless::HeadlessBrowserContext::Builder context_builder = browser_->CreateBrowserContextBuilder(); + context_builder.SetIncognitoMode(true); + headless::HeadlessBrowserContext* browser_context = context_builder.Build(); + browser_->SetDefaultBrowserContext(browser_context); + + // BEGIN COPY 1 + // Get the scope from the command line. + base::CommandLine::StringVector args = + base::CommandLine::ForCurrentProcess()->GetArgs(); + if (args.empty()) { + Api_OldMsg(1, "No Scope Specified"); + browser->Shutdown(); + exit(EXIT_FAILURE); + } + // Get first command line argument as a std::string using a string stream. + // This handles the case where args[0] is a wchar_t on Windows + std::stringstream scope_stringstream; + scope_stringstream << args[0]; + scope_name = scope_stringstream.str(); + + // Instantiate renderer scope + scope_ptr = LoadScope(scope_name); + scope_args = scope_ptr->BuildCallArguments(); + + if (!scope_ptr) { + // Invalid scope name + Api_OldMsg(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); + browser->Shutdown(); + exit(EXIT_FAILURE); + } else if (!scope_ptr->errorMessage.empty()) { + Api_OldMsg(1, scope_ptr->errorMessage); + browser->Shutdown(); + exit(EXIT_FAILURE); + } + + // Add javascript bundle + scope_ptr->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); + + // Build initial HTML file + std::list scriptTags = scope_ptr->ScriptTags(); + std::stringstream htmlStringStream; + htmlStringStream << ""; + + // Add script tags + while (!scriptTags.empty()) { + std::string tagValue = scriptTags.front(); + GURL tagUrl(tagValue); + if (tagUrl.is_valid()) { + // Value is a url, use a src of script tag + htmlStringStream << ""; + } else { + // Value is not a url, use a inline JavaScript code + htmlStringStream << "\n"; + } + scriptTags.pop_front(); + } + // Close head and add body with img tag place holder for PDF export + htmlStringStream << ""; + + // Write html to temp file + + auto tmpFile = base::CreateAndOpenTemporaryStream(&tmpFileName); + fprintf(tmpFile.get(), "%s", htmlStringStream.str().c_str()); + tmpFile.reset(); + + // Create file:// url to temp file + std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); + GURL url = GURL(FILE_URI_PREFIX + urlCopy); + + // Initialization succeeded + Api_OldMsg(0, "Initilization Success"); + + // END COPY 1 + // Run + dispatch->CreateTab(-1, url); + // PART OF copy 1 + for (std::string const &s: scope_ptr->LocalScriptFiles()) { + localScriptFiles.push_back(s); + } + base::GetCurrentDirectory(&cwd); + // END THAT + + StartListen(); + // TODO Destructor, temp files not destroyed + +} + +// Wish this were a lambda (as in PostEcho) but would have no access to private vars +void Kaleido::listenTask() { + std::string in; + if (!std::getline(std::cin, in).good()) { + LOG(WARNING) << in << ": " + << (std::cin.eof() ? "EOF | " : "") + << (std::cin.eof() ? "BAD | " : "GOOD | ") + << (std::cin.eof() ? "FAIL" : "SUCCESS"); + ShutdownSoon(); + return; + }; + if (in == "\n") postListenTask(); + if (ReadJSON(in)) postListenTask(); +} + +void Kaleido::postListenTask() { + base::ThreadPool::PostTask( + FROM_HERE, { + base::TaskPriority::BEST_EFFORT, + base::MayBlock(), + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, + base::BindOnce(&Kaleido::listenTask, base::Unretained(this)) + ); +} +void Kaleido::StartListen() { + if(listening.test_and_set(std::memory_order_relaxed)) return; + postListenTask(); +} + +void Kaleido::PostEchoTask(const std::string &msg) { + if (old) { + LOG(INFO) << msg; + return; + } + auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; + output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); +} + +void Kaleido::PostEchoTaskOld(const std::string &msg) { + auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; + output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); +} + + +bool Kaleido::ReadJSON(std::string &msg) { + absl::optional json = base::JSONReader::Read(msg); + if (!json) { + LOG(WARNING) << "Recieved invalid JSON from client connected to Kaleido:"; + LOG(WARNING) << msg; + Api_ErrorInvalidJSON(); + return true; + } + base::Value::Dict &jsonDict = json->GetDict(); + absl::optional id = jsonDict.FindInt("id"); + std::string *operation = jsonDict.FindString("operation"); + std::string *maybe_format = jsonDict.FindString("format"); + // The only operation we handle here. We're shutting down. + // Trust chromium to handle it all when the browser exits + // Doesn't need id, no return + if (operation && *operation == "shutdown") { + LOG(INFO) << "Shutdown clean"; + ShutdownSoon(); + return false; // breaks stdin loop + } + if (!operation || !id) { + // we are likely using the old protocol, which for now is all we accept + if (maybe_format) { + LOG(INFO) << "It seems like we're using the old protocol."; + LOG(INFO) << jsonDict.DebugString(); + old=true; + std::unique_ptr job = std::make_unique(); + job->version = 0; + job->id = -2; + job->format = *maybe_format; + job->scope = scope_ptr->ScopeName().c_str(); + job->spec_parsed = std::move(jsonDict); + dispatch->PostJob(std::move(job)); + return true; + } else { + Api_ErrorMissingBasicFields(id); + return true; + } + } + if (!old) { + if (*id < 0) { + Api_ErrorNegativeId(*id); + return true; + } + if (messageIds.find(*id) != messageIds.end()) { + Api_ErrorDuplicateId(*id); + return true; + } + } + if (operation && *operation == "create_tab") { + std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); + dispatch->CreateTab(*id, GURL(FILE_URI_PREFIX + urlCopy)); + } else if (operation && *operation == "reload") { + dispatch->ReloadAll(); + } else if (operation && *operation == "noop") {} else { + Api_ErrorUnknownOperation(*id, *operation); + return true; + } + + + if (!old) messageIds.emplace(*id, *operation); + return true; +} + +void Kaleido::ReportOperation(int id, bool success, const base::Value::Dict &msg) { + if (!success && id < 0) { + LOG(ERROR) << "Failure of internal dev tools operation id " + << std::to_string(id) + << " and msg: " + << msg; + return; + } else if (success && id < 0) { + LOG(INFO) << "Success of internal dev tools operation id " + << std::to_string(id) + << " and msg: " + << msg; + return; + } + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":)"+std::to_string(success)+R"(, "msg":)"+msg.DebugString()+R"(})"); +} +void Kaleido::ReportFailure(int id, const std::string& msg) { + if (id < 0) { + LOG(ERROR) << "Failure of internal dev tools operation id " + << std::to_string(id) + << " and msg: " + << msg; + return; + } + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":false, "msg":")"+msg+R"("})"); +} + +void Kaleido::ReportSuccess(int id) { + if (id < 0) { + LOG(INFO) << "Success of message with id " << std::to_string(id); + return; + } + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":true})"); +} + +void Kaleido::Api_ErrorInvalidJSON() { + PostEchoTask(R"({"error":"malformed JSON string"})"); +} + +void Kaleido::Api_ErrorMissingBasicFields(absl::optional id) { + if (id) { + PostEchoTask(R"({"id":)"+std::to_string(*id)+R"(,"error":"all messages must contain an 'id' integer and an 'operation' string"})"); + } else { + PostEchoTask(R"({"error":"all messages must contain an 'id' integer and an 'operation' string"})"); + } +} + +void Kaleido::Api_ErrorDuplicateId(int id) { + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"message using already-used 'id' integer"})"); +} + +void Kaleido::Api_ErrorNegativeId(int id) { + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"must use 'id' integer >=0"})"); +} + +void Kaleido::Api_ErrorUnknownOperation(int id, const std::string& op) { + PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"Unknown operation:)"+op+R"("})"); +} + +void Kaleido::Api_OldMsg(int code, std::string message) { + static std::string *version = nullptr; + if (!version) { + std::ifstream verStream("version"); + version = new std::string(( + std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); + } + std::string error = base::StringPrintf( + "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}", + code, message.c_str(), version->c_str()); + PostEchoTaskOld(error); +} + +} // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc-example b/src/kaleido/cc/126.0.6478.126/kaleido.cc-example new file mode 100644 index 00000000..d3d55e16 --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc-example @@ -0,0 +1,232 @@ +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#include "headless/public/headless_shell.h" +#include +#include "base/base_switches.h" +#include "base/command_line.h" +#include "base/files/file_util.h" +#include "base/functional/bind.h" +#include "base/logging.h" +#include "base/task/thread_pool.h" +#include "base/version_info/version_info.h" +#include "build/branding_buildflags.h" +#include "build/build_config.h" +#include "content/public/app/content_main.h" +#include "content/public/common/content_switches.h" +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/lib/browser/headless_web_contents_impl.h" +#include "headless/lib/headless_content_main_delegate.h" +#include "headless/public/headless_browser.h" +#include "headless/public/headless_browser_context.h" +#include "headless/public/headless_web_contents.h" +#include "headless/public/switches.h" +#include "net/base/filename_util.h" +#include "url/gurl.h" +#if BUILDFLAG(IS_MAC) +#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck +#endif +#if BUILDFLAG(IS_WIN) +#include "base/strings/utf_string_conversions.h" +#include "components/crash/core/app/crash_switches.h" // nogncheck +#include "components/crash/core/app/run_as_crashpad_handler_win.h" +#include "sandbox/win/src/sandbox_types.h" +#endif +#if defined(HEADLESS_USE_POLICY) +#include "components/headless/policy/headless_mode_policy.h" // nogncheck +#endif +#if defined(HEADLESS_ENABLE_COMMANDS) +#include "components/headless/command_handler/headless_command_handler.h" // nogncheck +#endif +namespace headless { +namespace { +#if BUILDFLAG(IS_WIN) +const wchar_t kAboutBlank[] = L"about:blank"; +#else +const char kAboutBlank[] = "about:blank"; +#endif +GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { +#if BUILDFLAG(IS_WIN) + GURL url(base::WideToUTF8(arg)); +#else + GURL url(arg); +#endif + if (url.is_valid() && url.has_scheme()) + return url; + return net::FilePathToFileURL( + base::MakeAbsoluteFilePath(base::FilePath(arg))); +} +// An application which implements a simple headless browser. +class HeadlessShell { + public: + HeadlessShell() = default; + HeadlessShell(const HeadlessShell&) = delete; + HeadlessShell& operator=(const HeadlessShell&) = delete; + ~HeadlessShell() = default; + void OnBrowserStart(HeadlessBrowser* browser); + private: +#if defined(HEADLESS_ENABLE_COMMANDS) + void OnProcessCommandsDone(HeadlessCommandHandler::Result result); +#endif + void ShutdownSoon(); + void Shutdown(); + raw_ptr browser_ = nullptr; +}; +void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { + browser_ = browser; +#if defined(HEADLESS_USE_POLICY) + if (HeadlessModePolicy::IsHeadlessModeDisabled( + static_cast(browser)->GetPrefs())) { + LOG(ERROR) << "Headless mode is disallowed by the system admin."; + ShutdownSoon(); + return; + } +#endif + HeadlessBrowserContext::Builder context_builder = + browser_->CreateBrowserContextBuilder(); + // Create browser context and set it as the default. The default browser + // context is used by the Target.createTarget() DevTools command when no other + // context is given. + HeadlessBrowserContext* browser_context = context_builder.Build(); + browser_->SetDefaultBrowserContext(browser_context); + const bool devtools_enabled = static_cast(browser) + ->options() + ->DevtoolsServerEnabled(); + // If no explicit URL is present navigate to about:blank unless we're being + // driven by a debugger. + base::CommandLine::StringVector args = + base::CommandLine::ForCurrentProcess()->GetArgs(); + args.erase( + std::remove(args.begin(), args.end(), base::CommandLine::StringType()), + args.end()); + if (args.empty() && !devtools_enabled) { + args.push_back(kAboutBlank); + } + if (args.empty()) { + return; + } + GURL target_url = ConvertArgumentToURL(args.front()); + HeadlessWebContents::Builder builder( + browser_context->CreateWebContentsBuilder()); + // If driven by a debugger just open the target page and + // leave expecting the debugger will do what they need. + if (devtools_enabled) { + HeadlessWebContents* web_contents = + builder.SetInitialURL(target_url).Build(); + if (!web_contents) { + LOG(ERROR) << "Navigation to " << target_url << " failed."; + ShutdownSoon(); + } + return; + } + // Otherwise instantiate headless shell command handler that will + // execute the commands against the target page. +#if defined(HEADLESS_ENABLE_COMMANDS) + GURL handler_url = HeadlessCommandHandler::GetHandlerUrl(); + HeadlessWebContents* web_contents = + builder.SetInitialURL(handler_url).Build(); + if (!web_contents) { + LOG(ERROR) << "Navigation to " << handler_url << " failed."; + ShutdownSoon(); + return; + } + HeadlessCommandHandler::ProcessCommands( + HeadlessWebContentsImpl::From(web_contents)->web_contents(), + std::move(target_url), + base::BindOnce(&HeadlessShell::OnProcessCommandsDone, + base::Unretained(this))); +#endif +} +#if defined(HEADLESS_ENABLE_COMMANDS) +void HeadlessShell::OnProcessCommandsDone( + HeadlessCommandHandler::Result result) { + if (result != HeadlessCommandHandler::Result::kSuccess) { + static_cast(browser_)->ShutdownWithExitCode( + static_cast(result)); + return; + } + Shutdown(); +} +#endif +void HeadlessShell::ShutdownSoon() { + browser_->BrowserMainThread()->PostTask( + FROM_HERE, + base::BindOnce(&HeadlessShell::Shutdown, base::Unretained(this))); +} +void HeadlessShell::Shutdown() { + browser_.ExtractAsDangling()->Shutdown(); +} +void HeadlessChildMain(content::ContentMainParams params) { + HeadlessContentMainDelegate delegate(nullptr); + params.delegate = &delegate; + int rc = content::ContentMain(std::move(params)); + // Note that exiting from here means that base::AtExitManager objects will not + // have a chance to be destroyed (typically in main/WinMain). + // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown + // crashes and slowdowns on shutdown. + base::Process::TerminateCurrentProcessImmediately(rc); +} +int HeadlessBrowserMain(content::ContentMainParams params) { +#if DCHECK_IS_ON() + // The browser can only be initialized once. + static bool browser_was_initialized; + DCHECK(!browser_was_initialized); + browser_was_initialized = true; + // Child processes should not end up here. + DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( + ::switches::kProcessType)); +#endif +#if defined(HEADLESS_ENABLE_COMMANDS) + base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); + if (HeadlessCommandHandler::HasHeadlessCommandSwitches(command_line)) { + if (command_line.HasSwitch(::switches::kRemoteDebuggingPort) || + command_line.HasSwitch(::switches::kRemoteDebuggingPipe)) { + LOG(ERROR) + << "Headless commands are not compatible with remote debugging."; + return EXIT_FAILURE; + } + command_line.AppendSwitch(switches::kDisableLazyLoading); + } +#endif + HeadlessShell shell; + auto browser = std::make_unique( + base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); + HeadlessContentMainDelegate delegate(std::move(browser)); + params.delegate = &delegate; + return content::ContentMain(std::move(params)); +} +} // namespace +int HeadlessShellMain(content::ContentMainParams params) { +#if BUILDFLAG(IS_WIN) + base::CommandLine::Init(0, nullptr); +#else + base::CommandLine::Init(params.argc, params.argv); +#endif // BUILDFLAG(IS_WIN) + base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); + std::string process_type = + command_line.GetSwitchValueASCII(::switches::kProcessType); +#if defined(HEADLESS_USE_CRASHPAD) + if (process_type == crash_reporter::switches::kCrashpadHandler) { + return crash_reporter::RunAsCrashpadHandler( + *base::CommandLine::ForCurrentProcess(), base::FilePath(), + ::switches::kProcessType, switches::kUserDataDir); + } +#endif // defined(HEADLESS_USE_CRASHPAD) + if (!process_type.empty()) { + HeadlessChildMain(std::move(params)); + NOTREACHED_IN_MIGRATION(); + } +#if BUILDFLAG(IS_MAC) + command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); +#endif +#if BUILDFLAG(IS_FUCHSIA) + // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. + command_line.AppendSwitch(::switches::kDisableGpu); +#endif + if (command_line.GetArgs().size() > 1) { + LOG(ERROR) << "Multiple targets are not supported."; + return EXIT_FAILURE; + } + return HeadlessBrowserMain(std::move(params)); +} +} // namespace headless diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc-old b/src/kaleido/cc/126.0.6478.126/kaleido.cc-old deleted file mode 100644 index ba6de985..00000000 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc-old +++ /dev/null @@ -1,348 +0,0 @@ -// kaleido.cc: -// goals: -// * start up the browser -// * start up the tab manager -// * start up the IO thread - -#include -#include -#include - - -#include - -#include "headless/app/kaleido.h" - -// Browser stuff -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/public/headless_browser.h" -#include "headless/public/headless_browser_context.h" - -// Derp -#include "base/logging.h" - -// Callbacks and threads -#include "base/functional/bind.h" -#include "base/task/thread_pool.h" - -// For JS -#include "third_party/abseil-cpp/absl/types/optional.h" -#include -#include "base/json/json_reader.h" - -#include "headless/app/scopes/Factory.h" -// For copy 1 -#include "base/command_line.h" - -/// COPY 2 -#include "base/files/file_util.h" -#include "base/strings/stringprintf.h" -#include -#include - -#define FILE_URI_PREFIX "file://" - -/// END COPY 2 -namespace kaleido { - -Kaleido::Kaleido() = default; - - -// Control Flow, declare here -void Kaleido::ShutdownSoon() { - scope_ptr = nullptr; - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Kaleido::ShutdownTask, base::Unretained(this))); -} -void Kaleido::ShutdownTask() { - LOG(INFO) << "Calling shutdown on browser"; - if (tmpFileName.value().size()) base::DeleteFile(tmpFileName); - dispatch->Release(); // Fine to destruct what we have here. - dispatch = nullptr; - browser_.ExtractAsDangling()->Shutdown(); -} - -void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { - std::cout << "OnBrowserStart" << std::endl; - browser_ = browser; // global by another name - - // Actual constructor duties, init stuff - output_sequence = base::ThreadPool::CreateSequencedTaskRunner( - {base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN} - ); // Can't do this before OnBrowserStart! - - dispatch = new Dispatch(this); // Tab manager - - // Create browser context and set it as the default. The default browser - // context is used by the Target.createTarget() DevTools command when no other - // context is given. - // This stuff has weird side effects and I'm not sure its necessary. - headless::HeadlessBrowserContext::Builder context_builder = browser_->CreateBrowserContextBuilder(); - context_builder.SetIncognitoMode(true); - headless::HeadlessBrowserContext* browser_context = context_builder.Build(); - browser_->SetDefaultBrowserContext(browser_context); - - // BEGIN COPY 1 - // Get the scope from the command line. - base::CommandLine::StringVector args = - base::CommandLine::ForCurrentProcess()->GetArgs(); - if (args.empty()) { - Api_OldMsg(1, "No Scope Specified"); - browser->Shutdown(); - exit(EXIT_FAILURE); - } - // Get first command line argument as a std::string using a string stream. - // This handles the case where args[0] is a wchar_t on Windows - std::stringstream scope_stringstream; - scope_stringstream << args[0]; - scope_name = scope_stringstream.str(); - - // Instantiate renderer scope - scope_ptr = LoadScope(scope_name); - scope_args = scope_ptr->BuildCallArguments(); - - if (!scope_ptr) { - // Invalid scope name - Api_OldMsg(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); - browser->Shutdown(); - exit(EXIT_FAILURE); - } else if (!scope_ptr->errorMessage.empty()) { - Api_OldMsg(1, scope_ptr->errorMessage); - browser->Shutdown(); - exit(EXIT_FAILURE); - } - - // Add javascript bundle - scope_ptr->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); - - // Build initial HTML file - std::list scriptTags = scope_ptr->ScriptTags(); - std::stringstream htmlStringStream; - htmlStringStream << ""; - - // Add script tags - while (!scriptTags.empty()) { - std::string tagValue = scriptTags.front(); - GURL tagUrl(tagValue); - if (tagUrl.is_valid()) { - // Value is a url, use a src of script tag - htmlStringStream << ""; - } else { - // Value is not a url, use a inline JavaScript code - htmlStringStream << "\n"; - } - scriptTags.pop_front(); - } - // Close head and add body with img tag place holder for PDF export - htmlStringStream << ""; - - // Write html to temp file - - auto tmpFile = base::CreateAndOpenTemporaryStream(&tmpFileName); - fprintf(tmpFile.get(), "%s", htmlStringStream.str().c_str()); - tmpFile.reset(); - - // Create file:// url to temp file - std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); - GURL url = GURL(FILE_URI_PREFIX + urlCopy); - - // Initialization succeeded - Api_OldMsg(0, "Initilization Success"); - - // END COPY 1 - // Run - dispatch->CreateTab(-1, url); - // PART OF copy 1 - for (std::string const &s: scope_ptr->LocalScriptFiles()) { - localScriptFiles.push_back(s); - } - base::GetCurrentDirectory(&cwd); - // END THAT - - StartListen(); - // TODO Destructor, temp files not destroyed - -} - -// Wish this were a lambda (as in PostEcho) but would have no access to private vars -void Kaleido::listenTask() { - std::string in; - if (!std::getline(std::cin, in).good()) { - LOG(WARNING) << in << ": " - << (std::cin.eof() ? "EOF | " : "") - << (std::cin.eof() ? "BAD | " : "GOOD | ") - << (std::cin.eof() ? "FAIL" : "SUCCESS"); - ShutdownSoon(); - return; - }; - if (in == "\n") postListenTask(); - if (ReadJSON(in)) postListenTask(); -} - -void Kaleido::postListenTask() { - base::ThreadPool::PostTask( - FROM_HERE, { - base::TaskPriority::BEST_EFFORT, - base::MayBlock(), - base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, - base::BindOnce(&Kaleido::listenTask, base::Unretained(this)) - ); -} -void Kaleido::StartListen() { - if(listening.test_and_set(std::memory_order_relaxed)) return; - postListenTask(); -} - -void Kaleido::PostEchoTask(const std::string &msg) { - if (old) { - LOG(INFO) << msg; - return; - } - auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; - output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); -} - -void Kaleido::PostEchoTaskOld(const std::string &msg) { - auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; - output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); -} - - -bool Kaleido::ReadJSON(std::string &msg) { - absl::optional json = base::JSONReader::Read(msg); - if (!json) { - LOG(WARNING) << "Recieved invalid JSON from client connected to Kaleido:"; - LOG(WARNING) << msg; - Api_ErrorInvalidJSON(); - return true; - } - base::Value::Dict &jsonDict = json->GetDict(); - absl::optional id = jsonDict.FindInt("id"); - std::string *operation = jsonDict.FindString("operation"); - std::string *maybe_format = jsonDict.FindString("format"); - // The only operation we handle here. We're shutting down. - // Trust chromium to handle it all when the browser exits - // Doesn't need id, no return - if (operation && *operation == "shutdown") { - LOG(INFO) << "Shutdown clean"; - ShutdownSoon(); - return false; // breaks stdin loop - } - if (!operation || !id) { - // we are likely using the old protocol, which for now is all we accept - if (maybe_format) { - LOG(INFO) << "It seems like we're using the old protocol."; - LOG(INFO) << jsonDict.DebugString(); - old=true; - std::unique_ptr job = std::make_unique(); - job->version = 0; - job->id = -2; - job->format = *maybe_format; - job->scope = scope_ptr->ScopeName().c_str(); - job->spec_parsed = std::move(jsonDict); - dispatch->PostJob(std::move(job)); - return true; - } else { - Api_ErrorMissingBasicFields(id); - return true; - } - } - if (!old) { - if (*id < 0) { - Api_ErrorNegativeId(*id); - return true; - } - if (messageIds.find(*id) != messageIds.end()) { - Api_ErrorDuplicateId(*id); - return true; - } - } - if (operation && *operation == "create_tab") { - std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); - dispatch->CreateTab(*id, GURL(FILE_URI_PREFIX + urlCopy)); - } else if (operation && *operation == "reload") { - dispatch->ReloadAll(); - } else if (operation && *operation == "noop") {} else { - Api_ErrorUnknownOperation(*id, *operation); - return true; - } - - - if (!old) messageIds.emplace(*id, *operation); - return true; -} - -void Kaleido::ReportOperation(int id, bool success, const base::Value::Dict &msg) { - if (!success && id < 0) { - LOG(ERROR) << "Failure of internal dev tools operation id " - << std::to_string(id) - << " and msg: " - << msg; - return; - } else if (success && id < 0) { - LOG(INFO) << "Success of internal dev tools operation id " - << std::to_string(id) - << " and msg: " - << msg; - return; - } - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":)"+std::to_string(success)+R"(, "msg":)"+msg.DebugString()+R"(})"); -} -void Kaleido::ReportFailure(int id, const std::string& msg) { - if (id < 0) { - LOG(ERROR) << "Failure of internal dev tools operation id " - << std::to_string(id) - << " and msg: " - << msg; - return; - } - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":false, "msg":")"+msg+R"("})"); -} - -void Kaleido::ReportSuccess(int id) { - if (id < 0) { - LOG(INFO) << "Success of message with id " << std::to_string(id); - return; - } - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":true})"); -} - -void Kaleido::Api_ErrorInvalidJSON() { - PostEchoTask(R"({"error":"malformed JSON string"})"); -} - -void Kaleido::Api_ErrorMissingBasicFields(absl::optional id) { - if (id) { - PostEchoTask(R"({"id":)"+std::to_string(*id)+R"(,"error":"all messages must contain an 'id' integer and an 'operation' string"})"); - } else { - PostEchoTask(R"({"error":"all messages must contain an 'id' integer and an 'operation' string"})"); - } -} - -void Kaleido::Api_ErrorDuplicateId(int id) { - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"message using already-used 'id' integer"})"); -} - -void Kaleido::Api_ErrorNegativeId(int id) { - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"must use 'id' integer >=0"})"); -} - -void Kaleido::Api_ErrorUnknownOperation(int id, const std::string& op) { - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"Unknown operation:)"+op+R"("})"); -} - -void Kaleido::Api_OldMsg(int code, std::string message) { - static std::string *version = nullptr; - if (!version) { - std::ifstream verStream("version"); - version = new std::string(( - std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); - } - std::string error = base::StringPrintf( - "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}", - code, message.c_str(), version->c_str()); - PostEchoTaskOld(error); -} - -} // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h index e69de29b..38dfc78f 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ b/src/kaleido/cc/126.0.6478.126/kaleido.h @@ -0,0 +1,92 @@ +#ifndef KALEIDO_H_ +#define KALEIDO_H_ + +#include +#include +#include "third_party/abseil-cpp/absl/types/optional.h" + +// Browser Includes +#include "headless/lib/browser/headless_browser_impl.h" +#include "headless/public/headless_browser.h" + +#include "base/task/sequenced_task_runner.h" +#include "headless/app/dispatch/dispatch.h" + +#include "base/task/thread_pool.h" + +namespace kaleido { + namespace scopes { + class BaseScope; + } + void AnotherBrowserStart(headless::HeadlessBrowser* browser); + class Dispatch; + // Kaleido is our app, basically. + // Should be singleton, but non-trivial work + // SIGINT and SIGTERM would be nice + // TODO: For now, they can catch and write a message to shutdown to its own stdin + class Kaleido { + public: + Kaleido(); + ~Kaleido() = delete; + + Kaleido(const Kaleido&) = delete; + Kaleido& operator=(const Kaleido&) = delete; + + // make more private? + std::vector localScriptFiles; + base::FilePath cwd; + base::raw_ptr scope_ptr; + + // This is basically a singleton. Could we pass the constructor instead of on browser start? + void OnBrowserStart(headless::HeadlessBrowser* browser); + + // Dispatch uses this to let us know how things went + void PostEchoTaskOld(const std::string&); + void ReportOperation(int id, bool success, const base::Value::Dict &msg); + void ReportSuccess(int id); + void ReportFailure(int id, const std::string& msg); + void Api_OldMsg(int code, std::string message); + // JSON Helper functions for creating common messages to user + void Api_ErrorInvalidJSON(); + void Api_ErrorMissingBasicFields(absl::optional); + void Api_ErrorDuplicateId(int); + void Api_ErrorNegativeId(int); + void Api_ErrorUnknownOperation(int id, const std::string& op); + + // a browser, global basically, + // this is needed for anything that does anything on thread control + raw_ptr browser_; + std::string scope_name; + base::Value::List scope_args; + void ShutdownSoon(); + bool old = false; + + private: + + // User IO stuff for main + void StartListen(); // continually reads stdin on parallel task + void listenTask(); + void postListenTask(); + std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call postListenTask() once + void PostEchoTask(const std::string&); // echo something out + + std::unordered_map messageIds; // every message must have a unique id + bool ReadJSON(std::string&); // try to turn message into json object + + // a thread, for making sure output is orderer and messages aren't mixed + scoped_refptr output_sequence; + + // our tab dispatch, our actual browser controller + raw_ptr dispatch; + + + void ShutdownTask(); + + // FROM PREVIOUS STRUCTURE + base::FilePath tmpFileName; + }; +} + + +#endif // KALEIDO_H_ + diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h-old b/src/kaleido/cc/126.0.6478.126/kaleido.h-old deleted file mode 100644 index 080413f9..00000000 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h-old +++ /dev/null @@ -1,91 +0,0 @@ -#ifndef KALEIDO_H_ -#define KALEIDO_H_ - -#include -#include -#include "third_party/abseil-cpp/absl/types/optional.h" - -// Browser Includes -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/public/headless_browser.h" - -#include "base/task/sequenced_task_runner.h" -#include "headless/app/dispatch/dispatch.h" - -#include "base/task/thread_pool.h" - -namespace kaleido { - namespace scopes { - class BaseScope; - } - class Dispatch; - // Kaleido is our app, basically. - // Should be singleton, but non-trivial work - // SIGINT and SIGTERM would be nice - // TODO: For now, they can catch and write a message to shutdown to its own stdin - class Kaleido { - public: - Kaleido(); - ~Kaleido() = delete; - - Kaleido(const Kaleido&) = delete; - Kaleido& operator=(const Kaleido&) = delete; - - // make more private? - std::vector localScriptFiles; - base::FilePath cwd; - base::raw_ptr scope_ptr; - - // This is basically a singleton. Could we pass the constructor instead of on browser start? - void OnBrowserStart(headless::HeadlessBrowser* browser); - - // Dispatch uses this to let us know how things went - void PostEchoTaskOld(const std::string&); - void ReportOperation(int id, bool success, const base::Value::Dict &msg); - void ReportSuccess(int id); - void ReportFailure(int id, const std::string& msg); - void Api_OldMsg(int code, std::string message); - // JSON Helper functions for creating common messages to user - void Api_ErrorInvalidJSON(); - void Api_ErrorMissingBasicFields(absl::optional); - void Api_ErrorDuplicateId(int); - void Api_ErrorNegativeId(int); - void Api_ErrorUnknownOperation(int id, const std::string& op); - - // a browser, global basically, - // this is needed for anything that does anything on thread control - raw_ptr browser_; - std::string scope_name; - base::Value::List scope_args; - void ShutdownSoon(); - bool old = false; - - private: - - // User IO stuff for main - void StartListen(); // continually reads stdin on parallel task - void listenTask(); - void postListenTask(); - std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call postListenTask() once - void PostEchoTask(const std::string&); // echo something out - - std::unordered_map messageIds; // every message must have a unique id - bool ReadJSON(std::string&); // try to turn message into json object - - // a thread, for making sure output is orderer and messages aren't mixed - scoped_refptr output_sequence; - - // our tab dispatch, our actual browser controller - raw_ptr dispatch; - - - void ShutdownTask(); - - // FROM PREVIOUS STRUCTURE - base::FilePath tmpFileName; - }; -} - - -#endif // KALEIDO_H_ - diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-example b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-example new file mode 100644 index 00000000..179b7ba1 --- /dev/null +++ b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-example @@ -0,0 +1,33 @@ +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#include "build/build_config.h" +#include "headless/public/headless_shell.h" +#if BUILDFLAG(IS_WIN) +#include "content/public/app/sandbox_helper_win.h" +#include "sandbox/win/src/sandbox_types.h" // nogncheck +#elif BUILDFLAG(IS_MAC) +#include "base/check.h" +#include "sandbox/mac/seatbelt_exec.h" +#endif +int main(int argc, const char** argv) { + content::ContentMainParams params(nullptr); +#if BUILDFLAG(IS_WIN) + sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; + content::InitializeSandboxInfo(&sandbox_info); + // Sandbox info has to be set and initialized. + params.sandbox_info = &sandbox_info; +#elif !BUILDFLAG(IS_ANDROID) + params.argc = argc; + params.argv = argv; +#if BUILDFLAG(IS_MAC) + sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = + sandbox::SeatbeltExecServer::CreateFromArguments( + argv[0], argc, const_cast(argv)); + if (seatbelt.sandbox_required) { + CHECK(seatbelt.server->InitializeSandbox()); + } +#endif // BUILDFLAG(IS_MAC) +#endif // BUILDFLAG(IS_WIN) + return headless::HeadlessShellMain(std::move(params)); +} diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-old b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-old deleted file mode 100644 index f3117d98..00000000 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-old +++ /dev/null @@ -1,147 +0,0 @@ -// kaleido_main.cc runs main() and includes a lot of google boilerplate. -#include "headless/app/kaleido.h" - -// Fundamental chromium includes -#include "content/public/app/content_main.h" -#include "headless/lib/headless_content_main_delegate.h" - -// Fundamental utilities -#include "base/logging.h" -#include "base/files/file_util.h" -#include "base/functional/bind.h" - -#include "build/build_config.h" // IS_WIN and stuff like that - -// Sandbox Includes -#if BUILDFLAG(IS_WIN) -#include "content/public/app/sandbox_helper_win.h" -#include "sandbox/win/src/sandbox_types.h" // nogncheck -#elif BUILDFLAG(IS_MAC) -#include "base/check.h" -#include "sandbox/mac/seatbelt_exec.h" -#endif - -// CLI includes, not sure if using all -#include "base/command_line.h" -#include "base/base_switches.h" -#include "content/public/common/content_switches.h" -#include "headless/public/switches.h" -#if BUILDFLAG(IS_MAC) -#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck -#endif - -// Browser Includes -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/public/headless_browser.h" - -#if BUILDFLAG(IS_WIN) -#include "base/strings/utf_string_conversions.h" -#include "components/crash/core/app/crash_switches.h" // nogncheck -#include "components/crash/core/app/run_as_crashpad_handler_win.h" -#include "sandbox/win/src/sandbox_types.h" -#endif - -#include -// Can you clear up deps in build? -// -namespace { - void buildSandbox(content::ContentMainParams, int argc, const char** argv); - void processCommandLine(content::ContentMainParams, int argc, const char** argv); -} - - -int main(int argc, const char** argv) { - std::cout << "We're here" << std::endl; - content::ContentMainParams params(nullptr); - - std::cout << "Params inited" << std::endl; - buildSandbox(std::move(params), argc, argv); - std::cout << "Sandbox built" << std::endl; - - processCommandLine(std::move(params), argc, argv); - std::cout << "Commandline processed" << std::endl; - - // Now we're going to start the browser - // Would love to do this inside the constructor but - // ... chromium just hates it. - auto browser = std::make_unique( - base::BindOnce(&kaleido::Kaleido::OnBrowserStart, base::Unretained(new kaleido::Kaleido()))); - // Should be a lambda that starts a Kaleido, not a function in Kaleido - std::cout << "Browser made" << std::endl; - headless::HeadlessContentMainDelegate delegate(std::move(browser)); - std::cout << "delegate inited" << std::endl; - params.delegate = &delegate; - std::cout << "delegate put to params, running content" << std::endl; - return content::ContentMain(std::move(params)); -} - - -namespace { - -void buildSandbox(content::ContentMainParams params, int argc, const char** argv) { - #if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; - #elif !BUILDFLAG(IS_ANDROID) - params.argc = argc; - params.argv = argv - #if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } - #endif // BUILDFLAG(IS_MAC) - #endif // BUILDFLAG(IS_WIN) -} - -void processCommandLine(content::ContentMainParams params, int argc, const char** argv) { - - #if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); - #else - base::CommandLine::Init(argc, argv); - #endif // BUILDFLAG(IS_WIN) - - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - // command_line.AppendSwitch(::switches::kDisableGpu); // <-- possibility - // could be used to always put on essential switches - - std::cout << "Original command: " << command_line.GetArgumentsString() << std::endl; - std::cout << "Args size: " << command_line.GetArgs().size() << std::endl; - for (const auto &piece : command_line.GetArgs()) { - std::cout << piece << std::endl; - } - - - std::string process_type = command_line.GetSwitchValueASCII(::switches::kProcessType); - std::cout << "Process type: " << process_type << std::endl; - - #if defined(HEADLESS_USE_CRASHPAD) - std::cout << "HEADLESS_USE_CRASHPAD" << std::endl; - if (process_type == crash_reporter::switches::kCrashpadHandler) { - crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, headless::switches::kUserDataDir); - } - #endif // defined(HEADLESS_USE_CRASHPAD) - - // Chromium starts child processes, and we need this to catch them and their flags - if (!process_type.empty()) { - headless::HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - base::Process::TerminateCurrentProcessImmediately(rc); - NOTREACHED_IN_MIGRATION(); - } - // So we must be the main process... - - #if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); - #endif -} - -} // namespace diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Base.h b/src/kaleido/cc/126.0.6478.126/scopes/Base.h index e69de29b..c0e9b13e 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Base.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Base.h @@ -0,0 +1,85 @@ +// Build call arguments is fucked +// +// Created by jmmease on 6/17/20. +// + +#ifndef CHROMIUM_BASESCOPE_H +#define CHROMIUM_BASESCOPE_H +#include "base/strings/string_util.h" +#include "base/command_line.h" + +#include +#include +#include + + +namespace kaleido { + namespace scopes { + class BaseScope { + public: + BaseScope(); + BaseScope(const BaseScope &v); + virtual ~BaseScope(); + + virtual std::string ScopeName() = 0; + virtual base::Value::List BuildCallArguments(); + // For above, theoretically a JSON list would be + // fine and we should give them + // that option. + std::list ScriptTags(); + std::list LocalScriptFiles(); + std::string GetCommandLineSwitch(std::string name); + bool HasCommandLineSwitch(std::string name); + + std::string errorMessage; + + public: + std::list scriptTags; + std::list localScriptFiles; + const base::raw_ptr plugin; + }; + + BaseScope::BaseScope(): errorMessage(), scriptTags(), localScriptFiles() {} + BaseScope::BaseScope(const BaseScope &v): + scriptTags(v.scriptTags), + localScriptFiles(v.localScriptFiles) + {} + + BaseScope::~BaseScope() { + delete plugin; + } + + base::Value::List BaseScope::BuildCallArguments() { + base::Value::List empty; + return empty; + } + + std::list BaseScope::ScriptTags() { + // Return vector as value so that it is copied and caller is free to mutate it + return scriptTags; + } + + std::list BaseScope::LocalScriptFiles() { + // Return vector as value so that it is copied and caller is free to mutate it + return localScriptFiles; + } + + bool BaseScope::HasCommandLineSwitch(std::string name) { + base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); + return commandLine->HasSwitch(name); + } + + std::string BaseScope::GetCommandLineSwitch(std::string name) { + base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); + std::string value = commandLine->GetSwitchValueASCII(name); + + // Trim single and double quotes + base::TrimString(value, "\"", &value); + base::TrimString(value, "\'", &value); + + return value; + } + } +} + +#endif //CHROMIUM_BASESCOPE_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Base.h-old b/src/kaleido/cc/126.0.6478.126/scopes/Base.h-old deleted file mode 100644 index c0e9b13e..00000000 --- a/src/kaleido/cc/126.0.6478.126/scopes/Base.h-old +++ /dev/null @@ -1,85 +0,0 @@ -// Build call arguments is fucked -// -// Created by jmmease on 6/17/20. -// - -#ifndef CHROMIUM_BASESCOPE_H -#define CHROMIUM_BASESCOPE_H -#include "base/strings/string_util.h" -#include "base/command_line.h" - -#include -#include -#include - - -namespace kaleido { - namespace scopes { - class BaseScope { - public: - BaseScope(); - BaseScope(const BaseScope &v); - virtual ~BaseScope(); - - virtual std::string ScopeName() = 0; - virtual base::Value::List BuildCallArguments(); - // For above, theoretically a JSON list would be - // fine and we should give them - // that option. - std::list ScriptTags(); - std::list LocalScriptFiles(); - std::string GetCommandLineSwitch(std::string name); - bool HasCommandLineSwitch(std::string name); - - std::string errorMessage; - - public: - std::list scriptTags; - std::list localScriptFiles; - const base::raw_ptr plugin; - }; - - BaseScope::BaseScope(): errorMessage(), scriptTags(), localScriptFiles() {} - BaseScope::BaseScope(const BaseScope &v): - scriptTags(v.scriptTags), - localScriptFiles(v.localScriptFiles) - {} - - BaseScope::~BaseScope() { - delete plugin; - } - - base::Value::List BaseScope::BuildCallArguments() { - base::Value::List empty; - return empty; - } - - std::list BaseScope::ScriptTags() { - // Return vector as value so that it is copied and caller is free to mutate it - return scriptTags; - } - - std::list BaseScope::LocalScriptFiles() { - // Return vector as value so that it is copied and caller is free to mutate it - return localScriptFiles; - } - - bool BaseScope::HasCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - return commandLine->HasSwitch(name); - } - - std::string BaseScope::GetCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - std::string value = commandLine->GetSwitchValueASCII(name); - - // Trim single and double quotes - base::TrimString(value, "\"", &value); - base::TrimString(value, "\'", &value); - - return value; - } - } -} - -#endif //CHROMIUM_BASESCOPE_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h index e69de29b..a1120a7f 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h @@ -0,0 +1,22 @@ +// +// Created by jmmease on 6/17/20. +// + +#ifndef CHROMIUM_FACTORY_H +#define CHROMIUM_FACTORY_H +#include "base/strings/string_util.h" + +#include "Plotly.h" +#include "Base.h" + + +kaleido::scopes::BaseScope* LoadScope(std::string name) { + std::string name_lower = base::ToLowerASCII(name); + if (name_lower == "plotly") { + return new kaleido::scopes::PlotlyScope(); + } else { + return nullptr; + } +} + +#endif //CHROMIUM_FACTORY_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h-old b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h-old deleted file mode 100644 index a1120a7f..00000000 --- a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h-old +++ /dev/null @@ -1,22 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// - -#ifndef CHROMIUM_FACTORY_H -#define CHROMIUM_FACTORY_H -#include "base/strings/string_util.h" - -#include "Plotly.h" -#include "Base.h" - - -kaleido::scopes::BaseScope* LoadScope(std::string name) { - std::string name_lower = base::ToLowerASCII(name); - if (name_lower == "plotly") { - return new kaleido::scopes::PlotlyScope(); - } else { - return nullptr; - } -} - -#endif //CHROMIUM_FACTORY_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h index e69de29b..ec901655 100644 --- a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h +++ b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h @@ -0,0 +1,126 @@ +// build call arguments is fucked + +// +// Created by jmmease on 6/17/20. +// +#ifndef CHROMIUM_PLOTLYSCOPE_H +#define CHROMIUM_PLOTLYSCOPE_H +#include "Base.h" +#include "base/functional/bind.h" +#include "base/command_line.h" +#include "base/strings/string_util.h" +#include "base/strings/stringprintf.h" +#include +#include +#include +#include +#include + + +namespace kaleido { + namespace scopes { + + class PlotlyScope : public BaseScope { + public: + PlotlyScope(); + + ~PlotlyScope() override; + + PlotlyScope(const PlotlyScope &v); + + std::string ScopeName() override; + + base::Value::List BuildCallArguments() override; + + public: + std::string topojsonUrl; + std::string mapboxToken; + }; + + PlotlyScope::PlotlyScope() : topojsonUrl(), mapboxToken() { + // Add MathJax config + scriptTags.emplace_back("window.PlotlyConfig = {MathJaxConfig: 'local'}"); + + // Process plotlyjs + if (HasCommandLineSwitch("plotlyjs")) { + std::string plotlyjsArg = GetCommandLineSwitch("plotlyjs"); + + // Check if value is a URL + GURL plotlyjsUrl(plotlyjsArg); + if (plotlyjsUrl.is_valid()) { + scriptTags.push_back(plotlyjsArg); + } else { + // Check if this is a local file path + if (std::ifstream(plotlyjsArg)) { + localScriptFiles.emplace_back(plotlyjsArg); + } else { + errorMessage = base::StringPrintf("--plotlyjs argument is not a valid URL or file path: %s", + plotlyjsArg.c_str()); + return; + } + } + } else { + scriptTags.emplace_back("https://cdn.plot.ly/plotly-latest.min.js"); + } + + // MathJax + if (HasCommandLineSwitch("mathjax")) { + std::string mathjaxArg = GetCommandLineSwitch("mathjax"); + + GURL mathjaxUrl(mathjaxArg); + if (mathjaxUrl.is_valid()) { + std::stringstream mathjaxStringStream; + mathjaxStringStream << mathjaxArg << "?config=TeX-AMS-MML_SVG"; + scriptTags.push_back(mathjaxStringStream.str()); + } else { + errorMessage = base::StringPrintf("--mathjax argument is not a valid URL: %s", mathjaxArg.c_str()); + return; + } + } + + // Topojson + if (HasCommandLineSwitch("topojson")) { + std::string topojsonArg = GetCommandLineSwitch("topojson"); + if (GURL(topojsonArg).is_valid()) { + topojsonUrl = topojsonArg; + } else { + errorMessage = base::StringPrintf("--topojson argument is not a valid URL: %s", + topojsonArg.c_str()); + return; + } + } + + // Process mapbox-token + if (HasCommandLineSwitch("mapbox-access-token")) { + mapboxToken = GetCommandLineSwitch("mapbox-access-token"); + } + } + + PlotlyScope::~PlotlyScope() {} + + PlotlyScope::PlotlyScope(const PlotlyScope &v) : topojsonUrl(v.topojsonUrl), mapboxToken(v.mapboxToken) {} + + std::string PlotlyScope::ScopeName() { + return "plotly"; + } + + base::Value::List PlotlyScope::BuildCallArguments() { + + base::Value::List args; + + base::Value::Dict arg1; + arg1.Set("value", mapboxToken); + base::Value::Dict arg2; + arg2.Set("value", topojsonUrl); + + // Add mapbox token from command line + args.Append(std::move(arg1)); + args.Append(std::move(arg2)); + + // TODO essentially were setting strings to functions + return args; + } + } +} + +#endif //CHROMIUM_PLOTLYSCOPE_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h-old b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h-old deleted file mode 100644 index ec901655..00000000 --- a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h-old +++ /dev/null @@ -1,126 +0,0 @@ -// build call arguments is fucked - -// -// Created by jmmease on 6/17/20. -// -#ifndef CHROMIUM_PLOTLYSCOPE_H -#define CHROMIUM_PLOTLYSCOPE_H -#include "Base.h" -#include "base/functional/bind.h" -#include "base/command_line.h" -#include "base/strings/string_util.h" -#include "base/strings/stringprintf.h" -#include -#include -#include -#include -#include - - -namespace kaleido { - namespace scopes { - - class PlotlyScope : public BaseScope { - public: - PlotlyScope(); - - ~PlotlyScope() override; - - PlotlyScope(const PlotlyScope &v); - - std::string ScopeName() override; - - base::Value::List BuildCallArguments() override; - - public: - std::string topojsonUrl; - std::string mapboxToken; - }; - - PlotlyScope::PlotlyScope() : topojsonUrl(), mapboxToken() { - // Add MathJax config - scriptTags.emplace_back("window.PlotlyConfig = {MathJaxConfig: 'local'}"); - - // Process plotlyjs - if (HasCommandLineSwitch("plotlyjs")) { - std::string plotlyjsArg = GetCommandLineSwitch("plotlyjs"); - - // Check if value is a URL - GURL plotlyjsUrl(plotlyjsArg); - if (plotlyjsUrl.is_valid()) { - scriptTags.push_back(plotlyjsArg); - } else { - // Check if this is a local file path - if (std::ifstream(plotlyjsArg)) { - localScriptFiles.emplace_back(plotlyjsArg); - } else { - errorMessage = base::StringPrintf("--plotlyjs argument is not a valid URL or file path: %s", - plotlyjsArg.c_str()); - return; - } - } - } else { - scriptTags.emplace_back("https://cdn.plot.ly/plotly-latest.min.js"); - } - - // MathJax - if (HasCommandLineSwitch("mathjax")) { - std::string mathjaxArg = GetCommandLineSwitch("mathjax"); - - GURL mathjaxUrl(mathjaxArg); - if (mathjaxUrl.is_valid()) { - std::stringstream mathjaxStringStream; - mathjaxStringStream << mathjaxArg << "?config=TeX-AMS-MML_SVG"; - scriptTags.push_back(mathjaxStringStream.str()); - } else { - errorMessage = base::StringPrintf("--mathjax argument is not a valid URL: %s", mathjaxArg.c_str()); - return; - } - } - - // Topojson - if (HasCommandLineSwitch("topojson")) { - std::string topojsonArg = GetCommandLineSwitch("topojson"); - if (GURL(topojsonArg).is_valid()) { - topojsonUrl = topojsonArg; - } else { - errorMessage = base::StringPrintf("--topojson argument is not a valid URL: %s", - topojsonArg.c_str()); - return; - } - } - - // Process mapbox-token - if (HasCommandLineSwitch("mapbox-access-token")) { - mapboxToken = GetCommandLineSwitch("mapbox-access-token"); - } - } - - PlotlyScope::~PlotlyScope() {} - - PlotlyScope::PlotlyScope(const PlotlyScope &v) : topojsonUrl(v.topojsonUrl), mapboxToken(v.mapboxToken) {} - - std::string PlotlyScope::ScopeName() { - return "plotly"; - } - - base::Value::List PlotlyScope::BuildCallArguments() { - - base::Value::List args; - - base::Value::Dict arg1; - arg1.Set("value", mapboxToken); - base::Value::Dict arg2; - arg2.Set("value", topojsonUrl); - - // Add mapbox token from command line - args.Append(std::move(arg1)); - args.Append(std::move(arg2)); - - // TODO essentially were setting strings to functions - return args; - } - } -} - -#endif //CHROMIUM_PLOTLYSCOPE_H From c70802391fec751c10a89c74510aa2ec72631f0f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 15:19:15 -0400 Subject: [PATCH 419/510] Remove debugging prints --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 3229440e..9aff3c6c 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -115,7 +115,7 @@ class HeadlessShell { raw_ptr browser_ = nullptr; }; void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { - std::cout << "We cool" << std::endl; + //std::cout << "We cool" << std::endl; browser_ = browser; base::raw_ptr kaleido = new kaleido::Kaleido(); kaleido->OnBrowserStart(browser); @@ -206,7 +206,7 @@ namespace kaleido { Kaleido::Kaleido() = default; void AnotherBrowserStart(headless::HeadlessBrowser* browser) { - std::cout << "Its fine" << std::endl; + //std::cout << "Its fine" << std::endl; } // Control Flow, declare here @@ -225,7 +225,7 @@ void Kaleido::ShutdownTask() { } void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { - std::cout << "OnBrowserStart" << std::endl; + //std::cout << "OnBrowserStart" << std::endl; browser_ = browser; // global by another name // Actual constructor duties, init stuff From a796075f927aa0303803022191a7f13137ba5a92 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 15:42:26 -0400 Subject: [PATCH 420/510] Change .cmd to .exe --- src/kaleido/py/kaleido/scopes/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kaleido/py/kaleido/scopes/base.py b/src/kaleido/py/kaleido/scopes/base.py index 769cd21c..4f6b4894 100755 --- a/src/kaleido/py/kaleido/scopes/base.py +++ b/src/kaleido/py/kaleido/scopes/base.py @@ -85,7 +85,7 @@ def executable_path(cls): # Add .cmd extension on Windows. The which function below doesn't need this, but os.path.exists requires # the file extension if platform.system() == "Windows": - vendored_executable_path += ".cmd" + vendored_executable_path += ".exe" if os.path.exists(vendored_executable_path): # The kaleido executable is vendored under kaleido/executable. From 6dbfe03c096763b31b0d627eec4a43cb59650ccc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 31 Jul 2024 16:23:37 -0400 Subject: [PATCH 421/510] add -p to mkdir --- toolchain/src/12-build_js.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/src/12-build_js.sh b/toolchain/src/12-build_js.sh index 75089733..74117c8e 100755 --- a/toolchain/src/12-build_js.sh +++ b/toolchain/src/12-build_js.sh @@ -44,5 +44,5 @@ else fi popd -mkdir "${BUILD_DIR}/js/" +mkdir -p "${BUILD_DIR}/js/" cp -r "${SRC_DIR}/build/"*.js "${BUILD_DIR}/js/" From ca3a0ee90b63d8bbcfe236621f9db70942146205 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 1 Aug 2024 11:01:44 -0400 Subject: [PATCH 422/510] Remove accidental indent --- toolchain/src/10-extract.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh index 40e6cfb0..4a85b74e 100755 --- a/toolchain/src/10-extract.sh +++ b/toolchain/src/10-extract.sh @@ -157,10 +157,10 @@ if [[ "$PLATFORM" == "OSX" ]]; then cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" chmod +x "${BUILD_DIR}/kaleido" FILES=$(echo -e "$($PYTHON -c "$IMPORT; \ - extract.match_json_to_directory('\ - ${CONFIG}', \ - '$SRC_DIR', \ - missing=False, annotate=False, relative=True)")") +extract.match_json_to_directory('\ +${CONFIG}', \ +'$SRC_DIR', \ +missing=False, annotate=False, relative=True)")") $NO_VERBOSE || echo "Found files: $FILES" OLDIFS=$IFS IFS=$'\t' From 0de9fc41a9c6aa9986e2c8fb1fb5822a02940da0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 1 Aug 2024 11:08:45 -0400 Subject: [PATCH 423/510] Remove test function --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 9aff3c6c..f65ccce7 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -205,10 +205,6 @@ namespace kaleido { Kaleido::Kaleido() = default; -void AnotherBrowserStart(headless::HeadlessBrowser* browser) { - //std::cout << "Its fine" << std::endl; -} - // Control Flow, declare here void Kaleido::ShutdownSoon() { scope_ptr = nullptr; From c2e6d6f218a5ac24bed84ca66aa596c5381aa381 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 1 Aug 2024 11:26:52 -0400 Subject: [PATCH 424/510] Add debug logs --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 24 +- src/kaleido/cc/126.0.6478.126/kaleido.cc | 6 + src/kaleido/js/package-lock.json | 1547 +---------------- 3 files changed, 41 insertions(+), 1536 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 55620ff7..a664f8a0 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -147,6 +147,7 @@ namespace kaleido { } void Dispatch::runJob1_resetTab(const int &job_id) { + LOG(INFO) << "reseting tab"; if (activeJobs.find(job_id) == activeJobs.end()) return; activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable"); @@ -154,6 +155,7 @@ namespace kaleido { } void Dispatch::runJob2_reloadTab(const int &job_id, base::Value::Dict msg) { + LOG(INFO) << "reloading tab, trying to, setting execution watcher"; if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob2_reloadTab", job_id)) return; auto cb = base::BindRepeating(&Dispatch::runJob3_loadScripts, base::Unretained(this), job_id); activeJobs[job_id]->runtimeEnableCb = cb; @@ -162,7 +164,8 @@ namespace kaleido { } void Dispatch::runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg) { - LOG(INFO) << "Runtime enable"; + LOG(INFO) << "Runtime enable called, started script load"; + LOG(INFO) << msg.DebugString(); activeJobs[job_id]->currentTab->client_->RemoveEventHandler( "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob3_loadScripts", job_id)) return; @@ -173,8 +176,11 @@ namespace kaleido { } void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { + LOG(INFO) << "loadNextScript (did I run one?)"; + LOG(INFO) << msg.DebugString(); if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob4_loadNextScript", job_id)) return; if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { + LOG(INFO) << "done loading"; std::string exportFunction = base::StringPrintf( "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", parent_->scope_name.c_str()); @@ -190,6 +196,8 @@ namespace kaleido { params.Set("userGesture", true); params.Set("awaitPromise", true); params.Set("executionContextId", activeJobs[job_id]->executionId); + LOG(INFO) << "Params for loading script:"; + LOG(INFO) << params.DebugString(); activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", std::move(params), base::BindOnce(&Dispatch::runJob6_processImage, base::Unretained(this), job_id)); @@ -198,7 +206,7 @@ namespace kaleido { std::string scriptPath(*activeJobs[job_id]->scriptItr); std::ifstream script(scriptPath); if (!script.is_open()) { - + LOG(ERROR) << "Problem with opening script"; #if defined(OS_WIN) std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory.", scriptPath.c_str()); @@ -220,10 +228,13 @@ namespace kaleido { script_params.Set("expression", scriptString); script_params.Set("sourceURL", scriptPath); script_params.Set("persistScript", true); + script_params.Set("executionContextId", activeJobs[job_id]->executionId); + LOG(INFO) << "Sending script to compile"; activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.compileScript", std::move(script_params), after_loaded); } void Dispatch::runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg) { + LOG(INFO) << "Script compiled, trying to run"; if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob5_runLoadedScript", job_id)) return; activeJobs[job_id]->scriptItr++; @@ -237,16 +248,25 @@ namespace kaleido { } void Dispatch::runJob6_processImage(const int& job_id, base::Value::Dict msg) { + LOG(INFO) << "Processing image"; if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob6_processImage", job_id)) return; + LOG(INFO) << "Job was active and no error"; + LOG(INFO) << msg.DebugString(); std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); + LOG(INFO) << "Got result into string"; + LOG(INFO) << result; + LOG(INFO) << "PostEchoTaskOld about to be called"; parent_->PostEchoTaskOld(result.c_str()); + LOG(INFO) << "PostEchoTaskOld called"; job_line->PostTask( FROM_HERE, base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id + LOG(INFO) << "About to return from runJob6_processImage, posted closejob task"; return; } void Dispatch::closeJob(const int& job_id) { // browser is modifying activejobs/etc, it should be jobline + LOG(INFO) << "close Job called"; int messageId = activeJobs[job_id]->id; if (activeJobs.find(job_id) == activeJobs.end()) return; auto oldTab = std::move(activeJobs[job_id]->currentTab); diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index f65ccce7..779ef0c4 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -298,10 +298,16 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { auto tmpFile = base::CreateAndOpenTemporaryStream(&tmpFileName); fprintf(tmpFile.get(), "%s", htmlStringStream.str().c_str()); + LOG(INFO) << "Dumping HTML from memory"; + LOG(INFO) << htmlStringStream.str().c_str(); + LOG(INFO) << "Log file name:"; + LOG(INFO) << tmpFileName; tmpFile.reset(); // Create file:// url to temp file std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); + LOG(INFO) << "Log file name narrowed:"; + LOG(INFO) << urlCopy; GURL url = GURL(FILE_URI_PREFIX + urlCopy); // Initialization succeeded diff --git a/src/kaleido/js/package-lock.json b/src/kaleido/js/package-lock.json index ae7eeaf4..0423b18c 100644 --- a/src/kaleido/js/package-lock.json +++ b/src/kaleido/js/package-lock.json @@ -1,1530 +1,19 @@ { "name": "orca_next", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "orca_next", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "fast-isnumeric": "^1.1.4", - "is-plain-obj": "^2.1.0", - "semver": "^7.3.2" - }, - "devDependencies": { - "browserify": "^16.5.2", - "rimraf": "^3.0.2" - } - }, - "node_modules/acorn": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", - "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, - "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "node_modules/bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "node_modules/browser-pack": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", - "dev": true, - "dependencies": { - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "JSONStream": "^1.0.3", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" - }, - "bin": { - "browser-pack": "bin/cmd.js" - } - }, - "node_modules/browser-resolve": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", - "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", - "dev": true, - "dependencies": { - "resolve": "^1.17.0" - } - }, - "node_modules/browserify": { - "version": "16.5.2", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz", - "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", - "dev": true, - "dependencies": { - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^2.0.0", - "browserify-zlib": "~0.2.0", - "buffer": "~5.2.1", - "cached-path-relative": "^1.0.0", - "concat-stream": "^1.6.0", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "^1.2.0", - "duplexer2": "~0.1.2", - "events": "^2.0.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "JSONStream": "^1.0.3", - "labeled-stream-splicer": "^2.0.0", - "mkdirp-classic": "^0.5.2", - "module-deps": "^6.2.3", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", - "stream-http": "^3.0.0", - "string_decoder": "^1.1.1", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "0.0.1", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "^1.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "browserify": "bin/cmd.js" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-rsa/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", - "dev": true, - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "node_modules/cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", - "dev": true - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", - "dev": true, - "dependencies": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/dash-ast": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", - "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", - "dev": true - }, - "node_modules/defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "node_modules/deps-sort": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", - "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", - "dev": true, - "dependencies": { - "JSONStream": "^1.0.3", - "shasum-object": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - }, - "bin": { - "deps-sort": "bin/cmd.js" - } - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/detective": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", - "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", - "dev": true, - "dependencies": { - "acorn-node": "^1.6.1", - "defined": "^1.0.0", - "minimist": "^1.1.1" - }, - "bin": { - "detective": "bin/detective.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dev": true, - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/events": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", - "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/fast-isnumeric": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/fast-isnumeric/-/fast-isnumeric-1.1.4.tgz", - "integrity": "sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==", - "dependencies": { - "is-string-blank": "^1.0.1" - } - }, - "node_modules/fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", - "dev": true - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/htmlescape": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "node_modules/ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", - "dev": true, - "dependencies": { - "source-map": "~0.5.3" - } - }, - "node_modules/insert-module-globals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", - "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", - "dev": true, - "dependencies": { - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - }, - "bin": { - "insert-module-globals": "bin/cmd.js" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-string-blank": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-string-blank/-/is-string-blank-1.0.1.tgz", - "integrity": "sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==" - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", - "dev": true, - "dependencies": { - "jsonify": "~0.0.0" - } - }, - "node_modules/jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/labeled-stream-splicer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", - "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "stream-splicer": "^2.0.0" - } - }, - "node_modules/lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", - "dev": true - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "node_modules/module-deps": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", - "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", - "dev": true, - "dependencies": { - "browser-resolve": "^2.0.0", - "cached-path-relative": "^1.0.2", - "concat-stream": "~1.6.0", - "defined": "^1.0.0", - "detective": "^5.2.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "JSONStream": "^1.0.3", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.4.0", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - }, - "bin": { - "module-deps": "bin/cmd.js" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", - "dev": true, - "dependencies": { - "path-platform": "~0.11.15" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, - "dependencies": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "node_modules/path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dev": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "dependencies": { - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shasum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", - "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", - "dev": true, - "dependencies": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" - } - }, - "node_modules/shasum-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", - "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", - "dev": true, - "dependencies": { - "fast-safe-stringify": "^2.0.7" - } - }, - "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "dev": true, - "dependencies": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-http": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz", - "integrity": "sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "xtend": "^4.0.2" - } - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/stream-splicer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", - "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", - "dev": true, - "dependencies": { - "minimist": "^1.1.0" - } - }, - "node_modules/syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, - "dependencies": { - "acorn-node": "^1.2.0" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/timers-browserify": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", - "dev": true, - "dependencies": { - "process": "~0.11.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tty-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", - "dev": true - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "node_modules/umd": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", - "dev": true, - "bin": { - "umd": "bin/cli.js" - } - }, - "node_modules/undeclared-identifiers": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", - "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", - "dev": true, - "dependencies": { - "acorn-node": "^1.3.0", - "dash-ast": "^1.0.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" - }, - "bin": { - "undeclared-identifiers": "bin.js" - } - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, - "dependencies": { - "inherits": "2.0.3" + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - } - }, - "dependencies": { "acorn": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", @@ -1634,9 +123,9 @@ "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", "dev": true, "requires": { + "JSONStream": "^1.0.3", "combine-source-map": "~0.8.0", "defined": "^1.0.0", - "JSONStream": "^1.0.3", "safe-buffer": "^5.1.1", "through2": "^2.0.0", "umd": "^3.0.0" @@ -1657,6 +146,7 @@ "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==", "dev": true, "requires": { + "JSONStream": "^1.0.3", "assert": "^1.4.0", "browser-pack": "^6.0.1", "browser-resolve": "^2.0.0", @@ -1678,7 +168,6 @@ "https-browserify": "^1.0.0", "inherits": "~2.0.1", "insert-module-globals": "^7.0.0", - "JSONStream": "^1.0.3", "labeled-stream-splicer": "^2.0.0", "mkdirp-classic": "^0.5.2", "module-deps": "^6.2.3", @@ -2230,11 +719,11 @@ "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", "dev": true, "requires": { + "JSONStream": "^1.0.3", "acorn-node": "^1.5.2", "combine-source-map": "^0.8.0", "concat-stream": "^1.6.1", "is-buffer": "^1.1.0", - "JSONStream": "^1.0.3", "path-is-absolute": "^1.0.1", "process": "~0.11.0", "through2": "^2.0.0", @@ -2285,16 +774,6 @@ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, "labeled-stream-splicer": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", @@ -2379,6 +858,7 @@ "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", "dev": true, "requires": { + "JSONStream": "^1.0.3", "browser-resolve": "^2.0.0", "cached-path-relative": "^1.0.2", "concat-stream": "~1.6.0", @@ -2386,7 +866,6 @@ "detective": "^5.2.0", "duplexer2": "^0.1.2", "inherits": "^2.0.1", - "JSONStream": "^1.0.3", "parents": "^1.0.0", "readable-stream": "^2.0.2", "resolve": "^1.4.0", From 2eccbb92b47190d2401e5cd87772eb6ba3eabd6a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 1 Aug 2024 11:35:51 -0400 Subject: [PATCH 425/510] Add more debugging --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index a664f8a0..88a7cd4b 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -74,6 +74,8 @@ namespace kaleido { } void Dispatch::CreateTab(int id, const GURL &url) { + LOG(INFO) << "CREATING TAB!"; + LOG(INFO) << "Creating tab: " << url.spec(); auto tab = std::make_unique(); headless::HeadlessWebContents::Builder builder( parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); From 9553e9a5406542a033c74b8f1ef9c0e9966461e0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 1 Aug 2024 11:51:35 -0400 Subject: [PATCH 426/510] Modify tmp file algo to control name --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 779ef0c4..5956f52d 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -295,14 +295,15 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { htmlStringStream << ""; // Write html to temp file - - auto tmpFile = base::CreateAndOpenTemporaryStream(&tmpFileName); - fprintf(tmpFile.get(), "%s", htmlStringStream.str().c_str()); + tmpFileName = base::FormatTemporaryFileName("html"); + std::ofstream htmlFile; + htmlFile.open(tmpFileName.value(), std::ios::out); + htmlFile << htmlStringStream.str(); LOG(INFO) << "Dumping HTML from memory"; LOG(INFO) << htmlStringStream.str().c_str(); LOG(INFO) << "Log file name:"; LOG(INFO) << tmpFileName; - tmpFile.reset(); + htmlFile.close(); // Create file:// url to temp file std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); From 75c0248015a589446c0071b5b7441fd7fabea3d8 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 1 Aug 2024 12:00:23 -0400 Subject: [PATCH 427/510] Use other wide URL function --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 5956f52d..dea40ca2 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -90,7 +90,7 @@ #endif namespace headless { namespace { -/*GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { +GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { #if BUILDFLAG(IS_WIN) GURL url(base::WideToUTF8(arg)); #else @@ -100,7 +100,7 @@ namespace { return url; return net::FilePathToFileURL( base::MakeAbsoluteFilePath(base::FilePath(arg))); -}*/ // useful but bring it in later +} // useful but bring it in later // An application which implements a simple headless browser. class HeadlessShell { public: @@ -306,10 +306,10 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { htmlFile.close(); // Create file:// url to temp file - std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); LOG(INFO) << "Log file name narrowed:"; - LOG(INFO) << urlCopy; - GURL url = GURL(FILE_URI_PREFIX + urlCopy); + GURL uri = headless::ConvertArgumentToURL(tmpFileName.value()); + LOG(INFO) << uri.spec(); + GURL url = GURL(FILE_URI_PREFIX + uri); // Initialization succeeded Api_OldMsg(0, "Initilization Success"); From 83c6a62dc87642c3ec38d0f15c17a5509812cce9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 1 Aug 2024 16:19:17 +0000 Subject: [PATCH 428/510] Improve debugging output --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 27 ++++++++++++------- src/kaleido/cc/126.0.6478.126/kaleido.cc | 6 ++--- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 88a7cd4b..bdf665fe 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -124,6 +124,7 @@ namespace kaleido { // jobline modying tabs and jobs and aciveJobs void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { + LOG(INFO) << "Dispatching job."; int job_id = job_number++; job->currentTab = std::move(tab); @@ -135,6 +136,7 @@ namespace kaleido { } inline bool Dispatch::checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id) { + LOG(INFO) << "Looking for error"; if (msg.FindString("error")) { std::string error = base::StringPrintf( "%s: Response: %s", context.c_str(), msg.DebugString().c_str()); @@ -149,16 +151,18 @@ namespace kaleido { } void Dispatch::runJob1_resetTab(const int &job_id) { - LOG(INFO) << "reseting tab"; + LOG(INFO) << "job1_reset tab"; if (activeJobs.find(job_id) == activeJobs.end()) return; - + LOG(INFO) << "Not canceled"; activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable"); activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); } void Dispatch::runJob2_reloadTab(const int &job_id, base::Value::Dict msg) { - LOG(INFO) << "reloading tab, trying to, setting execution watcher"; + LOG(INFO) << "job2_reload tab, and set executionContextCreated"; + LOG(INFO) << msg.DebugString(); if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob2_reloadTab", job_id)) return; + LOG(INFO) << "Not canceled"; auto cb = base::BindRepeating(&Dispatch::runJob3_loadScripts, base::Unretained(this), job_id); activeJobs[job_id]->runtimeEnableCb = cb; activeJobs[job_id]->currentTab->client_->AddEventHandler("Runtime.executionContextCreated", cb); @@ -166,11 +170,12 @@ namespace kaleido { } void Dispatch::runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg) { - LOG(INFO) << "Runtime enable called, started script load"; + LOG(INFO) << "job3_load scripts, Execution context created" LOG(INFO) << msg.DebugString(); activeJobs[job_id]->currentTab->client_->RemoveEventHandler( "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob3_loadScripts", job_id)) return; + LOG(INFO) << "Not canceled"; activeJobs[job_id]->scriptItr = parent_->localScriptFiles.begin(); activeJobs[job_id]->executionId = *msg.FindDict("params")->FindDict("context")->FindInt("id"); base::Value::Dict empty; @@ -178,11 +183,12 @@ namespace kaleido { } void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { - LOG(INFO) << "loadNextScript (did I run one?)"; + LOG(INFO) << "job4_load NextScript"; LOG(INFO) << msg.DebugString(); if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob4_loadNextScript", job_id)) return; + LOG(INFO) << "not cancelled"; if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { - LOG(INFO) << "done loading"; + LOG(INFO) << "done loading scripts, trying to run kaleido_scope()"; std::string exportFunction = base::StringPrintf( "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", parent_->scope_name.c_str()); @@ -236,8 +242,10 @@ namespace kaleido { } void Dispatch::runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg) { - LOG(INFO) << "Script compiled, trying to run"; + LOG(INFO) << "job5_run loaded: Script compiled, trying to run"; + LOG(INFO) << msg.DebugString(); if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob5_runLoadedScript", job_id)) return; + LOG(INFO) << "Not cancelled"; activeJobs[job_id]->scriptItr++; auto after_run = base::BindRepeating( @@ -250,9 +258,10 @@ namespace kaleido { } void Dispatch::runJob6_processImage(const int& job_id, base::Value::Dict msg) { - LOG(INFO) << "Processing image"; + LOG(INFO) << "job6_Processing image"; + LOG(IFNO) << msg.DebugString(); if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob6_processImage", job_id)) return; - LOG(INFO) << "Job was active and no error"; + LOG(INFO) << "Not cancelled"; LOG(INFO) << msg.DebugString(); std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); LOG(INFO) << "Got result into string"; diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index dea40ca2..b7c92310 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -307,9 +307,8 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // Create file:// url to temp file LOG(INFO) << "Log file name narrowed:"; - GURL uri = headless::ConvertArgumentToURL(tmpFileName.value()); - LOG(INFO) << uri.spec(); - GURL url = GURL(FILE_URI_PREFIX + uri); + GURL url = headless::ConvertArgumentToURL(tmpFileName.value()); + LOG(INFO) << url.spec(); // Initialization succeeded Api_OldMsg(0, "Initilization Success"); @@ -397,7 +396,6 @@ bool Kaleido::ReadJSON(std::string &msg) { // we are likely using the old protocol, which for now is all we accept if (maybe_format) { LOG(INFO) << "It seems like we're using the old protocol."; - LOG(INFO) << jsonDict.DebugString(); old=true; std::unique_ptr job = std::make_unique(); job->version = 0; From fd468f1be4301f517a09506c8f06fceb3c9d15e0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 1 Aug 2024 16:30:59 +0000 Subject: [PATCH 429/510] Catch js exceptions --- .../cc/126.0.6478.126/dispatch/dispatch.cc | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index bdf665fe..5e1a0a6f 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -170,7 +170,7 @@ namespace kaleido { } void Dispatch::runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg) { - LOG(INFO) << "job3_load scripts, Execution context created" + LOG(INFO) << "job3_load scripts, Execution context created"; LOG(INFO) << msg.DebugString(); activeJobs[job_id]->currentTab->client_->RemoveEventHandler( "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); @@ -259,16 +259,19 @@ namespace kaleido { void Dispatch::runJob6_processImage(const int& job_id, base::Value::Dict msg) { LOG(INFO) << "job6_Processing image"; - LOG(IFNO) << msg.DebugString(); + LOG(INFO) << msg.DebugString(); if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob6_processImage", job_id)) return; LOG(INFO) << "Not cancelled"; LOG(INFO) << msg.DebugString(); - std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); - LOG(INFO) << "Got result into string"; - LOG(INFO) << result; - LOG(INFO) << "PostEchoTaskOld about to be called"; - parent_->PostEchoTaskOld(result.c_str()); - LOG(INFO) << "PostEchoTaskOld called"; + if (!msg.FindDict("result")->FindDict("exceptionDetails")) { + std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); + LOG(INFO) << "Got result into string"; + LOG(INFO) << result; + LOG(INFO) << "PostEchoTaskOld about to be called"; + parent_->PostEchoTaskOld(result.c_str()); + LOG(INFO) << "PostEchoTaskOld called"; + } + LOG(INFO) << "Bad result"; job_line->PostTask( FROM_HERE, base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id From af8c96cc1318d468cd9bd8a09c63ecfcfe9d0f15 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 1 Aug 2024 16:33:51 +0000 Subject: [PATCH 430/510] Return error to kaleido.py --- src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc index 5e1a0a6f..f141a7b3 100644 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc @@ -270,8 +270,10 @@ namespace kaleido { LOG(INFO) << "PostEchoTaskOld about to be called"; parent_->PostEchoTaskOld(result.c_str()); LOG(INFO) << "PostEchoTaskOld called"; + } else { + LOG(INFO) << "Bad result"; // TODO: needs to somehow let js know... + parent_->Api_OldMsg(400, "Javascript in scope provoked exception"); } - LOG(INFO) << "Bad result"; job_line->PostTask( FROM_HERE, base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id From b4b470bc7c67f38fc231e3aee5a2e42aa1d09fa9 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 1 Aug 2024 16:35:32 +0000 Subject: [PATCH 431/510] Add switch for char to wchar --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index b7c92310..7615e0fa 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -41,6 +41,11 @@ #include #define FILE_URI_PREFIX "file://" +#if BUILDFLAG(IS_WIN) +#define HTML L"html" +#else +#define HTML "html" +#endif // COPY @@ -295,7 +300,7 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { htmlStringStream << ""; // Write html to temp file - tmpFileName = base::FormatTemporaryFileName("html"); + tmpFileName = base::FormatTemporaryFileName(HTML); std::ofstream htmlFile; htmlFile.open(tmpFileName.value(), std::ios::out); htmlFile << htmlStringStream.str(); From 88dba7040c10383049aceab54f9bbfc56b18a8a0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 1 Aug 2024 13:19:27 -0400 Subject: [PATCH 432/510] Add append for win --- src/kaleido/cc/126.0.6478.126/kaleido.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc index 7615e0fa..4f50a916 100644 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ b/src/kaleido/cc/126.0.6478.126/kaleido.cc @@ -301,6 +301,9 @@ void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { // Write html to temp file tmpFileName = base::FormatTemporaryFileName(HTML); + #if BUILDFLAG(IS_WIN) + tmpFileName = base::FilePath(base::StrCat({tmpFileName.value(),L".", HTML})); + #endif std::ofstream htmlFile; htmlFile.open(tmpFileName.value(), std::ios::out); htmlFile << htmlStringStream.str(); From 957ab3a148d0647af518eda9c3764ced016a6990 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 21 Aug 2024 15:33:04 +0000 Subject: [PATCH 433/510] Fix indents in circleci --- .circleci/config.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ef530b3c..ac5517ad 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,8 +18,8 @@ jobs: steps: - checkout - run: - name: Install Dependencies - command: sudo apt-get update && sudo apt-get install rsync npm nodejs pip + name: Install Dependencies + command: sudo apt-get update && sudo apt-get install rsync npm nodejs pip - set_version linux-x64: @@ -29,8 +29,8 @@ jobs: steps: - checkout - run: - name: Install Dependencies - command: sudo apt-get update && sudo apt-get install rsync npm nodejs pip + name: Install Dependencies + command: sudo apt-get update && sudo apt-get install rsync npm nodejs pip - set_version windows-x64: @@ -40,9 +40,9 @@ jobs: - checkout # The following actually comes installed already: - run: - name: Install Dependencies - #command: choco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" - command: choco install rsync + name: Install Dependencies + #command: choco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" + command: choco install rsync - set_version osx: @@ -52,8 +52,8 @@ jobs: steps: - checkout - run: - name: Install Dependencies - command: brew install rsync + name: Install Dependencies + command: brew install rsync # The following recommended by circle CI, but it takes time, costs money, and may not be necessary #- run: #name: Delete simulators and unused platforms to save space From d7883162e51883cbfe9c2d2c9f4858d9f3018850 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 30 Sep 2024 14:41:13 -0400 Subject: [PATCH 434/510] Add .venv to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8284ff0b..59d0ef99 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ src/kaleido/py/LICENSE.txt src/kaleido/py/README.md src/kaleido/py/dist/ src/kaleido/py/kaleido/_version.py +.venv From c95e24d0290c70073c9915617beab0a201a25e9a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 30 Sep 2024 14:43:35 -0400 Subject: [PATCH 435/510] Shorten license since no chrome anymore --- LICENSE.txt | 246 +--------------------------------------------------- 1 file changed, 1 insertion(+), 245 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 904dd47b..abfefa0d 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,16 +1,5 @@ -All code developed in this repository is released under the MIT license (1). +All code developed in this repository is released under the MIT license. -The Kaleido executable includes Chromium, which is released under the 3-clause BSD license (2). - -Chromium includes a wide range of third-party dependencies with varying licenses. -See the CREDITS.html file distributed with this package for license details -of these dependencies. - -The CREDITS.html is also available at https://github.com/plotly/Kaleido/blob/master/repos/CREDITS.html - -The Kaleido python PyPI package vendors MathJax, which is released under the terms of the Apache License (3) - -(1) ---- The MIT License (MIT) Copyright (c) 2020 Plotly, Inc @@ -32,236 +21,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -(2) ---- -// Copyright 2015 The Chromium Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -(3) ---- - 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: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) 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 - - (d) 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. - From b1d1a082bcf7ff44f45abdb6374209d7f5062d1e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 30 Sep 2024 14:44:56 -0400 Subject: [PATCH 436/510] Remove all unnecesary files --- TECHDEBT.md | 53 - repos/linux_scripts/fetch_chromium | 12 - repos/linux_scripts/launch_script | 10 - repos/linux_scripts/minimal_launch_script | 6 - repos/mac_scripts/build_blink | 43 - repos/mac_scripts/build_kaleido | 132 - repos/mac_scripts/fetch_chromium | 41 - src/{kaleido => }/js/package-lock.json | 0 src/{kaleido => }/js/package.json | 0 src/{kaleido => }/js/src/index.js | 0 src/{kaleido => }/js/src/plotly/constants.js | 0 .../js/src/plotly/is-non-empty-string.js | 0 .../js/src/plotly/is-positive-numeric.js | 0 src/{kaleido => }/js/src/plotly/parse.js | 0 src/{kaleido => }/js/src/plotly/render.js | 0 src/kaleido/cc/108.0.5359.125/DEPS | 7 - src/kaleido/cc/108.0.5359.125/kaleido.cc | 649 - src/kaleido/cc/108.0.5359.125/kaleido.h | 77 - src/kaleido/cc/108.0.5359.125/scopes/Base.h | 80 - .../cc/108.0.5359.125/scopes/Factory.h | 22 - src/kaleido/cc/108.0.5359.125/scopes/Plotly.h | 128 - src/kaleido/cc/108.0.5359.125/utils.h | 27 - src/kaleido/cc/126.0.6478.126/DEPS | 6 - src/kaleido/cc/126.0.6478.126/README.md | 69 - src/kaleido/cc/126.0.6478.126/dispatch/DEPS | 4 - .../cc/126.0.6478.126/dispatch/dispatch.cc | 329 - .../cc/126.0.6478.126/dispatch/dispatch.h | 129 - src/kaleido/cc/126.0.6478.126/kaleido.cc | 518 - .../cc/126.0.6478.126/kaleido.cc-example | 232 - src/kaleido/cc/126.0.6478.126/kaleido.h | 92 - src/kaleido/cc/126.0.6478.126/kaleido_main.cc | 33 - .../cc/126.0.6478.126/kaleido_main.cc-example | 33 - src/kaleido/cc/126.0.6478.126/scopes/Base.h | 85 - .../cc/126.0.6478.126/scopes/Factory.h | 22 - src/kaleido/cc/126.0.6478.126/scopes/Plotly.h | 126 - src/kaleido/cc/88.0.4324.150/DEPS | 7 - src/kaleido/cc/88.0.4324.150/kaleido.cc | 628 - src/kaleido/cc/88.0.4324.150/kaleido.h | 77 - src/kaleido/cc/88.0.4324.150/scopes/Base.h | 80 - src/kaleido/cc/88.0.4324.150/scopes/Factory.h | 22 - src/kaleido/cc/88.0.4324.150/scopes/Plotly.h | 128 - src/kaleido/cc/88.0.4324.150/utils.h | 27 - src/kaleido/tests/test_py/__init__.py | 4 - .../baselines/plotly/failed/mathjax.eps | 1462 - .../baselines/plotly/failed/mathjax.jpeg | Bin 16287 -> 0 bytes .../baselines/plotly/failed/mathjax.png | Bin 28420 -> 0 bytes .../baselines/plotly/failed/mathjax.webp | Bin 4692 -> 0 bytes .../baselines/plotly/failed/simple.eps | 1428 - .../baselines/plotly/failed/simple.jpeg | Bin 16873 -> 0 bytes .../baselines/plotly/failed/simple.png | Bin 28703 -> 0 bytes .../baselines/plotly/failed/simple.webp | Bin 4882 -> 0 bytes .../baselines/plotly/failed/topojson.eps | 30956 ---------------- .../baselines/plotly/failed/topojson.jpeg | Bin 49785 -> 0 bytes .../baselines/plotly/failed/topojson.png | Bin 87589 -> 0 bytes .../baselines/plotly/failed/topojson.webp | Bin 21340 -> 0 bytes .../test_py/baselines/plotly/failed/webgl.eps | 2635 -- .../baselines/plotly/failed/webgl.jpeg | Bin 17140 -> 0 bytes .../test_py/baselines/plotly/failed/webgl.png | Bin 21462 -> 0 bytes .../baselines/plotly/failed/webgl.webp | Bin 5042 -> 0 bytes .../tests/test_py/baselines/plotly/mapbox.eps | 24663 ------------ .../test_py/baselines/plotly/mapbox.jpeg | Bin 70123 -> 0 bytes .../tests/test_py/baselines/plotly/mapbox.pdf | Bin 105147 -> 0 bytes .../tests/test_py/baselines/plotly/mapbox.png | Bin 143047 -> 0 bytes .../tests/test_py/baselines/plotly/mapbox.svg | 1 - .../test_py/baselines/plotly/mapbox.webp | Bin 29676 -> 0 bytes .../test_py/baselines/plotly/mathjax.eps | 1462 - .../test_py/baselines/plotly/mathjax.jpeg | Bin 16287 -> 0 bytes .../test_py/baselines/plotly/mathjax.pdf | Bin 8218 -> 0 bytes .../test_py/baselines/plotly/mathjax.png | Bin 28420 -> 0 bytes .../test_py/baselines/plotly/mathjax.svg | 1 - .../test_py/baselines/plotly/mathjax.webp | Bin 4692 -> 0 bytes .../tests/test_py/baselines/plotly/simple.eps | 1428 - .../test_py/baselines/plotly/simple.jpeg | Bin 16873 -> 0 bytes .../tests/test_py/baselines/plotly/simple.pdf | Bin 7524 -> 0 bytes .../tests/test_py/baselines/plotly/simple.png | Bin 28703 -> 0 bytes .../tests/test_py/baselines/plotly/simple.svg | 1 - .../test_py/baselines/plotly/simple.webp | Bin 4882 -> 0 bytes .../test_py/baselines/plotly/topojson.eps | 30956 ---------------- .../test_py/baselines/plotly/topojson.jpeg | Bin 49785 -> 0 bytes .../test_py/baselines/plotly/topojson.pdf | Bin 173772 -> 0 bytes .../test_py/baselines/plotly/topojson.png | Bin 87589 -> 0 bytes .../test_py/baselines/plotly/topojson.svg | 1 - .../test_py/baselines/plotly/topojson.webp | Bin 21340 -> 0 bytes .../tests/test_py/baselines/plotly/webgl.eps | 2625 -- .../tests/test_py/baselines/plotly/webgl.jpeg | Bin 17057 -> 0 bytes .../tests/test_py/baselines/plotly/webgl.pdf | Bin 13903 -> 0 bytes .../tests/test_py/baselines/plotly/webgl.png | Bin 21425 -> 0 bytes .../tests/test_py/baselines/plotly/webgl.svg | 1 - .../tests/test_py/baselines/plotly/webgl.webp | Bin 5020 -> 0 bytes .../tests/test_py/test_plotly/__init__.py | 0 .../tests/test_py/test_plotly/fixtures.py | 67 - .../test_plotly/resources/plotly.min.js | 61 - .../tests/test_py/test_plotly/test_plotly.py | 188 - src/{kaleido => }/py/kaleido/__init__.py | 0 .../py/kaleido/scopes/__init__.py | 0 src/{kaleido => }/py/kaleido/scopes/base.py | 0 src/{kaleido => }/py/kaleido/scopes/plotly.py | 0 src/{kaleido => }/py/setup.cfg | 0 src/{kaleido => }/py/setup.py | 0 .../108.0.5359.125/108.0.5359.125.patch | 147 - .../chromium/108.0.5359.125/README.md | 3 - .../126.0.6478.126/126.0.6478.126.patch | 13 - .../chromium/126.0.6478.126/README.md | 0 .../88.0.4324.150/88.0.4324.150.patch | 147 - .../chromium/88.0.4324.150/README.md | 8 - toolchain/BUILD_AND_RELEASE.md | 79 - toolchain/README.md | 64 - toolchain/build_pep440_version.py | 28 - .../extract_config/126.0.6478.126/README.md | 9 - .../linux-archive-rel.json-original | 146 - .../mac-archive-rel.json-original | 73 - .../win-archive-rel.json-original | 179 - toolchain/extract_config/README.md | 8 - .../gn_fragments/126.0.6478.126/BUILD.gn | 97 - toolchain/gn_fragments/126.0.6478.126/args.gn | 45 - toolchain/gn_fragments/README.md | 8 - toolchain/src/00-set_version.sh | 101 - toolchain/src/01-fetch_tools.sh | 46 - toolchain/src/02-init_tools.sh | 111 - toolchain/src/03-ksync.sh | 59 - toolchain/src/04-patch_chromium.sh | 46 - toolchain/src/05-gen_preamble.sh | 31 - toolchain/src/06-build_ninja.sh | 150 - toolchain/src/07-write_kversion.sh | 29 - toolchain/src/08-sync_cpp.sh | 50 - toolchain/src/09-build_kaleido.sh | 48 - toolchain/src/10-extract.sh | 222 - toolchain/src/10-extract_subscript.py | 74 - toolchain/src/11-extract_etc.sh | 51 - toolchain/src/12-build_js.sh | 48 - toolchain/src/13-roll_wheel.sh | 44 - toolchain/src/include/globals | 31 - toolchain/src/include/utilities.sh | 140 - toolchain/src/xx-all.sh | 194 - toolchain/src/xx-kdocker.sh | 168 - toolchain/src/xx-krefresh.sh | 92 - toolchain/src/xx-make_bin.sh | 60 - toolchain/src/xx-template.sh | 33 - .../version_configurations/108.0.5359.125 | 5 - .../version_configurations/126.0.6478.126 | 2 - .../version_configurations/88.0.4324.150 | 5 - vendor/.gclient | 9 - vendor/mathjax/Mathjax-2.7.5.zip | Bin 1931789 -> 0 bytes 143 files changed, 104777 deletions(-) delete mode 100644 TECHDEBT.md delete mode 100755 repos/linux_scripts/fetch_chromium delete mode 100755 repos/linux_scripts/launch_script delete mode 100755 repos/linux_scripts/minimal_launch_script delete mode 100755 repos/mac_scripts/build_blink delete mode 100755 repos/mac_scripts/build_kaleido delete mode 100755 repos/mac_scripts/fetch_chromium rename src/{kaleido => }/js/package-lock.json (100%) rename src/{kaleido => }/js/package.json (100%) rename src/{kaleido => }/js/src/index.js (100%) rename src/{kaleido => }/js/src/plotly/constants.js (100%) rename src/{kaleido => }/js/src/plotly/is-non-empty-string.js (100%) rename src/{kaleido => }/js/src/plotly/is-positive-numeric.js (100%) rename src/{kaleido => }/js/src/plotly/parse.js (100%) rename src/{kaleido => }/js/src/plotly/render.js (100%) delete mode 100644 src/kaleido/cc/108.0.5359.125/DEPS delete mode 100644 src/kaleido/cc/108.0.5359.125/kaleido.cc delete mode 100644 src/kaleido/cc/108.0.5359.125/kaleido.h delete mode 100644 src/kaleido/cc/108.0.5359.125/scopes/Base.h delete mode 100644 src/kaleido/cc/108.0.5359.125/scopes/Factory.h delete mode 100644 src/kaleido/cc/108.0.5359.125/scopes/Plotly.h delete mode 100644 src/kaleido/cc/108.0.5359.125/utils.h delete mode 100644 src/kaleido/cc/126.0.6478.126/DEPS delete mode 100644 src/kaleido/cc/126.0.6478.126/README.md delete mode 100644 src/kaleido/cc/126.0.6478.126/dispatch/DEPS delete mode 100644 src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc delete mode 100644 src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h delete mode 100644 src/kaleido/cc/126.0.6478.126/kaleido.cc delete mode 100644 src/kaleido/cc/126.0.6478.126/kaleido.cc-example delete mode 100644 src/kaleido/cc/126.0.6478.126/kaleido.h delete mode 100644 src/kaleido/cc/126.0.6478.126/kaleido_main.cc delete mode 100644 src/kaleido/cc/126.0.6478.126/kaleido_main.cc-example delete mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Base.h delete mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Factory.h delete mode 100644 src/kaleido/cc/126.0.6478.126/scopes/Plotly.h delete mode 100644 src/kaleido/cc/88.0.4324.150/DEPS delete mode 100644 src/kaleido/cc/88.0.4324.150/kaleido.cc delete mode 100644 src/kaleido/cc/88.0.4324.150/kaleido.h delete mode 100644 src/kaleido/cc/88.0.4324.150/scopes/Base.h delete mode 100644 src/kaleido/cc/88.0.4324.150/scopes/Factory.h delete mode 100644 src/kaleido/cc/88.0.4324.150/scopes/Plotly.h delete mode 100644 src/kaleido/cc/88.0.4324.150/utils.h delete mode 100644 src/kaleido/tests/test_py/__init__.py delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.eps delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.jpeg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.png delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.webp delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/simple.eps delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/simple.jpeg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/simple.png delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/simple.webp delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/topojson.eps delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/topojson.jpeg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/topojson.png delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/topojson.webp delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/webgl.eps delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/webgl.jpeg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/webgl.png delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/failed/webgl.webp delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mapbox.eps delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mapbox.jpeg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mapbox.pdf delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mapbox.png delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mapbox.svg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mapbox.webp delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mathjax.eps delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mathjax.jpeg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mathjax.pdf delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mathjax.png delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mathjax.svg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/mathjax.webp delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/simple.eps delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/simple.jpeg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/simple.pdf delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/simple.png delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/simple.svg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/simple.webp delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/topojson.eps delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/topojson.jpeg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/topojson.pdf delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/topojson.png delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/topojson.svg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/topojson.webp delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/webgl.eps delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/webgl.jpeg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/webgl.pdf delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/webgl.png delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/webgl.svg delete mode 100644 src/kaleido/tests/test_py/baselines/plotly/webgl.webp delete mode 100644 src/kaleido/tests/test_py/test_plotly/__init__.py delete mode 100644 src/kaleido/tests/test_py/test_plotly/fixtures.py delete mode 100644 src/kaleido/tests/test_py/test_plotly/resources/plotly.min.js delete mode 100644 src/kaleido/tests/test_py/test_plotly/test_plotly.py rename src/{kaleido => }/py/kaleido/__init__.py (100%) rename src/{kaleido => }/py/kaleido/scopes/__init__.py (100%) rename src/{kaleido => }/py/kaleido/scopes/base.py (100%) rename src/{kaleido => }/py/kaleido/scopes/plotly.py (100%) rename src/{kaleido => }/py/setup.cfg (100%) rename src/{kaleido => }/py/setup.py (100%) delete mode 100644 src/vendor-patches/chromium/108.0.5359.125/108.0.5359.125.patch delete mode 100644 src/vendor-patches/chromium/108.0.5359.125/README.md delete mode 100644 src/vendor-patches/chromium/126.0.6478.126/126.0.6478.126.patch delete mode 100644 src/vendor-patches/chromium/126.0.6478.126/README.md delete mode 100644 src/vendor-patches/chromium/88.0.4324.150/88.0.4324.150.patch delete mode 100644 src/vendor-patches/chromium/88.0.4324.150/README.md delete mode 100644 toolchain/BUILD_AND_RELEASE.md delete mode 100644 toolchain/README.md delete mode 100644 toolchain/build_pep440_version.py delete mode 100644 toolchain/extract_config/126.0.6478.126/README.md delete mode 100644 toolchain/extract_config/126.0.6478.126/linux-archive-rel.json-original delete mode 100644 toolchain/extract_config/126.0.6478.126/mac-archive-rel.json-original delete mode 100644 toolchain/extract_config/126.0.6478.126/win-archive-rel.json-original delete mode 100644 toolchain/extract_config/README.md delete mode 100644 toolchain/gn_fragments/126.0.6478.126/BUILD.gn delete mode 100644 toolchain/gn_fragments/126.0.6478.126/args.gn delete mode 100644 toolchain/gn_fragments/README.md delete mode 100755 toolchain/src/00-set_version.sh delete mode 100755 toolchain/src/01-fetch_tools.sh delete mode 100755 toolchain/src/02-init_tools.sh delete mode 100755 toolchain/src/03-ksync.sh delete mode 100755 toolchain/src/04-patch_chromium.sh delete mode 100755 toolchain/src/05-gen_preamble.sh delete mode 100755 toolchain/src/06-build_ninja.sh delete mode 100755 toolchain/src/07-write_kversion.sh delete mode 100755 toolchain/src/08-sync_cpp.sh delete mode 100755 toolchain/src/09-build_kaleido.sh delete mode 100755 toolchain/src/10-extract.sh delete mode 100644 toolchain/src/10-extract_subscript.py delete mode 100755 toolchain/src/11-extract_etc.sh delete mode 100755 toolchain/src/12-build_js.sh delete mode 100755 toolchain/src/13-roll_wheel.sh delete mode 100644 toolchain/src/include/globals delete mode 100644 toolchain/src/include/utilities.sh delete mode 100755 toolchain/src/xx-all.sh delete mode 100755 toolchain/src/xx-kdocker.sh delete mode 100755 toolchain/src/xx-krefresh.sh delete mode 100755 toolchain/src/xx-make_bin.sh delete mode 100644 toolchain/src/xx-template.sh delete mode 100644 toolchain/version_configurations/108.0.5359.125 delete mode 100644 toolchain/version_configurations/126.0.6478.126 delete mode 100644 toolchain/version_configurations/88.0.4324.150 delete mode 100644 vendor/.gclient delete mode 100644 vendor/mathjax/Mathjax-2.7.5.zip diff --git a/TECHDEBT.md b/TECHDEBT.md deleted file mode 100644 index 70c780c8..00000000 --- a/TECHDEBT.md +++ /dev/null @@ -1,53 +0,0 @@ -# TECHDEBT - -These are ordered by how they should be done. -## New Remove - -The new tempfile remove function is blocking in a non MayBlock thread so figure that out - -## Buildflags - -Look at the tip of interface-fix and windows build -Getting rid of ozone is good and saves space (probably) -But some stuff doesn't work with windows which we wish would, and could withs ome massaging. - -## Concurrency -(Chromium's concurrency model is inferior to golangs.) - -There are tiny race conditions in cornercases that will prompt chrome to terminate with a segfault or a dangling pointer warning, -they are unlikely and they occur only during destruction. To solve them, the code must be reorganized: - -The job_line will be marked as non-interruptable during shutdown. To be fair, it will even CALL shutdown and provide an escape for all tasks if it does, effectively marking itself as dead. - -Tabs can only be created on job_line, and it must sort it immeditately (ie same task, before calling others) into a queue so that if the next task is the shutdown process, job_line will see it in one of the queues and destroy it. That means a sort_both task to check both queues and see if a tab or job should be matched. Of course, if shut down is called, both the create_tab process and the sort_both will bail early if a previous job_line task marked the job_line tasks as EOL. - -Active_jobs, (idle) tabs, and (idle) jobs queues and maps must be added to and removed from only by job_line. -However, active_jobs are effectively passed by job_line to browser_sequence which can then pass it back to job_line. Returned jobs are always destroyed, failed or not, and tabs are placed back into an idle queue (or resorted with new job immediately). -job_line can _inform_ browser_sequence that all active_jobs are to be cancelled. The next browser_sequence task that uses that job will cancel the tab for the browserline and can even destroy the job! If the empty pointer is left in active_jobs, it doesn't matter, no one will look, nobody complains if empty null-set pointers go down with the program. - -In summary: job_line should tell itself not to partition any new tabs or new jobs, and to cancel early all requests as such. It should go trhough all idle tabs and ask the browser to destroy them. It can destroy all idle jobs. It should go through all the active jobs and ask the browser to destroy them. - -Active_jobs can be read by the browser task group on browser_sequence that is started and finished by job_line (and the tab closed and job marked as dead. A request by job_line for browser_task might be out of order, and browser_tab should mark it dead and then allow its next in-order task to actually pass it back to job_line to be fully destroyed, and NOT call its next in-order task. Once it passes an active job back to the job_line, it should not access it again. The job_line will remove that job and tab from active_jobs and call any one of it's self-owned sort methods, unless it sees it was marked as dead in which case it will simply dispose of it. - -If job_line is satisfied that all active tasks are eliminated and all idle_tabs are elimninate, it can call browser shutdown. That means on shutdown, it must count the number of active jobs, and then as they are passed back, kill it each one, and when the counter is reduced, shutdown. -## Scopes - -Scopes in general is heavily overengineered (while the the tab driver is not). There is no need for having other consumers write js, py, and c++ to create a scope. A scope should simple by a folder named "myScope" with an index.html which functions as a "template" page for the visualization software, and then a "myScope.js" which receives arguments from python (through c++ or not in our new architecutre), and executes the myScope.js script on top fo the myScope/index.html template page. Can pass the desired download directory and no need to pass the raw data back to json as well. - -Other users will NOT send us pull requests to add scopes to our base repo. They will import kaleido as a dependency, and they will initialize a class w/ a path to their myScope.js and template page. They will wrap it in a function for their library and our class will start the chromium process navigating to their index.html, and then their function will cause kaleido to execute the myScope.js script and pass whatever arguments it needs to it. - -## Messaging consistency - -There is currently an old mode, the original architecture had IPC via commandline options AND by json messages. No need, do all through JSON, only works if the above is achieved. - -## Naming of variables - -I have several id variables (job id, message id) and message id is just called id. Change it to message id. - -## Class Organization (and .h/.cc file) - -In general, the scopes or ANY c++ (whats not eliminated by techdebt earlier executed), needs to have its DECLARATIONS in .h files, its DEFINITIONS in .cc files, anything else makes the linker break. (inline in .h is ok). - -## Exit - -We shoudl catch Ctl+C signals and send ourselves the end stdin signal in return, but only one time! and that would allow users who ctl+c to try a graceful shutdown, but would termiante come hell or highwater if double Ctl+C is sent. diff --git a/repos/linux_scripts/fetch_chromium b/repos/linux_scripts/fetch_chromium deleted file mode 100755 index 5e748b7a..00000000 --- a/repos/linux_scripts/fetch_chromium +++ /dev/null @@ -1,12 +0,0 @@ -# full path to linux_scripots/ directory -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - -# cd to the top-level project directory -cd "$DIR/../.." -echo `pwd` - -# Download chromium -docker run -it -v "`pwd`/repos/:/repos" jonmmease/chromium-builder:0.9 /repos/linux_scripts/fetch_chromium_docker - -# Checkout revision -docker run -it -v "`pwd`/repos/:/repos" jonmmease/chromium-builder:0.9 /repos/linux_scripts/checkout_revision_docker diff --git a/repos/linux_scripts/launch_script b/repos/linux_scripts/launch_script deleted file mode 100755 index 51e7c1d0..00000000 --- a/repos/linux_scripts/launch_script +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - -export LD_LIBRARY_PATH="$DIR/lib:$LD_LIBRARY_PATH" -export FONTCONFIG_PATH="$DIR/etc/fonts" -export XDG_DATA_HOME="$DIR/xdg" -unset LD_PRELOAD - -cd "$DIR" -./bin/kaleido "$@" diff --git a/repos/linux_scripts/minimal_launch_script b/repos/linux_scripts/minimal_launch_script deleted file mode 100755 index 95a32b5a..00000000 --- a/repos/linux_scripts/minimal_launch_script +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -unset LD_PRELOAD - -cd "$DIR" -./bin/kaleido --no-sandbox --allow-file-access-from-files --disable-breakpad "$@" diff --git a/repos/mac_scripts/build_blink b/repos/mac_scripts/build_blink deleted file mode 100755 index 7f1ab5a0..00000000 --- a/repos/mac_scripts/build_blink +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - - -if [ $# -eq 0 ]; then - echo "No architecture provided" - exit 1 -fi - - -export KALEIDO_ARCH=$1 - - -# Don't autoupdate depottools version -export DEPOT_TOOLS_UPDATE=0 - - -# full path to mac_scripts/ directory -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - - -# cd to repos directory -cd "$DIR/.." - - -# Add depot_tools directory to PATH -export PATH="$PATH:`pwd`/depot_tools" - - -# Make output directory -mkdir -p ./src/out/Kaleido_mac_$KALEIDO_ARCH/ - - -# Write out/Kaleido_mac_$KALEIDO_ARCH/args.gn -cp ./mac_scripts/args_$KALEIDO_ARCH.gn ./src/out/Kaleido_mac_$KALEIDO_ARCH/args.gn - - -# cd to repos/src -cd src - - -# 4) Perform build, result will be out/Kaleido_mac_$KALEIDO_ARCH/kaleido -gn gen out/Kaleido_mac_$KALEIDO_ARCH -ninja -C out/Kaleido_mac_$KALEIDO_ARCH -j 8 gl_blink diff --git a/repos/mac_scripts/build_kaleido b/repos/mac_scripts/build_kaleido deleted file mode 100755 index 8fe16d91..00000000 --- a/repos/mac_scripts/build_kaleido +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/bash - - -if [ $# -eq 0 ]; then - echo "No architecture provided" - exit 1 -fi - - -export KALEIDO_ARCH=$1 - - -# Don't autoupdate depottools version -export DEPOT_TOOLS_UPDATE=0 - - -# full path to mac_scripts/ directory -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - - -# cd to repos directory -cd "$DIR/.." - - -# Update version based on git tag -python3 ./version/build_pep440_version.py - - -# Copy README and LICENSE to kaleido (For consistency with Linux docker build process) -cp ../README.md ./kaleido/ -cp ../LICENSE.txt ./kaleido/ -cp ./CREDITS.html ./kaleido/ - - -# Add depot_tools directory to PATH -export PATH="$PATH:`pwd`/depot_tools" - - -# Make output directory -mkdir -p ./src/out/Kaleido_mac_$KALEIDO_ARCH/ - - -# Write out/Kaleido_mac_$KALEIDO_ARCH/args.gn -cp ./mac_scripts/args_$KALEIDO_ARCH.gn ./src/out/Kaleido_mac_$KALEIDO_ARCH/args.gn - - -# cd to repos/src -cd src - - -# 1) Reset headless/BUILD.gn -git checkout HEAD -- headless/BUILD.gn - - -# 2) Append kaleido section to headless build file (src/headless/BUILD.gn) -echo " -executable(\"kaleido\") { - sources = [ \"app/kaleido.cc\" ] - - - deps = [ - \":headless_shell_lib\", - \"//skia\", # we need this to override font render hinting in headless build - ] -}" >> headless/BUILD.gn - - -# 3) Copy kaleido/kaleido.cc to src/headless/app/kaleido.cc -rm -rf headless/app/plugins -cp -r ../kaleido/cc/* headless/app/ - - -# 4) Perform build, result will be out/Kaleido_mac_$KALEIDO_ARCH/kaleido -gn gen out/Kaleido_mac_$KALEIDO_ARCH -ninja -C out/Kaleido_mac_$KALEIDO_ARCH -j 8 kaleido - - -if [ ! -f "out/Kaleido_mac_$KALEIDO_ARCH/kaleido" ] -then - echo "Error: Kaleido executable was not built"; - exit 1 -fi - -# 5) Copy build files -mkdir -p ../build/kaleido/ -rm -r ../build/kaleido/* -mkdir -p ../build/kaleido/bin -cp out/Kaleido_mac_$KALEIDO_ARCH/kaleido ../build/kaleido/bin - -# mathjax -mkdir -p ../build/kaleido/etc -unzip ../vendor/Mathjax-2.7.5.zip -d ../build/kaleido/etc/ -mv ../build/kaleido/etc/Mathjax-2.7.5 ../build/kaleido/etc/mathjax - -# Copy icudtl.dat and settings.dat -cp ./out/Kaleido_mac_$KALEIDO_ARCH/icudtl.dat ../build/kaleido/bin - -# Copy dynamic libraries -cp ./out/Kaleido_mac_$KALEIDO_ARCH/libswiftshader*.dylib ../build/kaleido/bin -cp ./out/Kaleido_mac_$KALEIDO_ARCH/libGLES*.dylib ../build/kaleido/bin -cp ./out/Kaleido_mac_$KALEIDO_ARCH/libEGL*.dylib ../build/kaleido/bin - -# launch script -echo "#!/bin/bash -DIR=\"\$( cd \"\$( dirname \"\${BASH_SOURCE[0]}\" )\" >/dev/null 2>&1 && pwd )\" -cd \$DIR -./bin/kaleido \$@ -" > ../build/kaleido/kaleido -chmod +x ../build/kaleido/kaleido - -# version -cp ../kaleido/version ../build/kaleido/ - -# license -cp ../kaleido/LICENSE.txt ../build/kaleido/ -cp ../kaleido/CREDITS.html ../build/kaleido/ -cp ../kaleido/README.md ../build/kaleido/ - -# Copy javascript -pushd ../kaleido/js/ -mkdir -p build/ -npm install -npm run clean -npm run build -popd - -mkdir -p ../build/kaleido/js/ -cp ../kaleido/js/build/*.js ../build/kaleido/js/ - -# Build python wheel -cd ../kaleido/py -python3 setup.py package diff --git a/repos/mac_scripts/fetch_chromium b/repos/mac_scripts/fetch_chromium deleted file mode 100755 index 6aca2000..00000000 --- a/repos/mac_scripts/fetch_chromium +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - - -# Commits -DEPOT_TOOLS_COMMIT="" # Can't set a version for Windows, maybe we can for make depending on TODO below, probably won't -CHROMIUM_TAG="124.0.6367.60" -export DEPOT_TOOLS_UPDATE=0 # TODO: Don't know if this will work on Mac - - -# full path to mac_scripts/ directory -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - - -# cd to repos directory -cd "$DIR/.." - - -# Get depot_tools -git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git -cd depot_tools - - -# Add cloned depot_tools directory to PATH -export PATH="$PATH:`pwd`" - - -# Reset to proper commit -git reset --hard $DEPOT_TOOLS_COMMIT -git clean -ffd - - -# Move back to repos directory -cd ../src - - -gclient sync -D --force --reset --no-history --jobs=3 --revision=$CHROMIUM_TAG - - -# Write out credits file -cd .. -python ./src/tools/licenses.py credits > ./CREDITS.html diff --git a/src/kaleido/js/package-lock.json b/src/js/package-lock.json similarity index 100% rename from src/kaleido/js/package-lock.json rename to src/js/package-lock.json diff --git a/src/kaleido/js/package.json b/src/js/package.json similarity index 100% rename from src/kaleido/js/package.json rename to src/js/package.json diff --git a/src/kaleido/js/src/index.js b/src/js/src/index.js similarity index 100% rename from src/kaleido/js/src/index.js rename to src/js/src/index.js diff --git a/src/kaleido/js/src/plotly/constants.js b/src/js/src/plotly/constants.js similarity index 100% rename from src/kaleido/js/src/plotly/constants.js rename to src/js/src/plotly/constants.js diff --git a/src/kaleido/js/src/plotly/is-non-empty-string.js b/src/js/src/plotly/is-non-empty-string.js similarity index 100% rename from src/kaleido/js/src/plotly/is-non-empty-string.js rename to src/js/src/plotly/is-non-empty-string.js diff --git a/src/kaleido/js/src/plotly/is-positive-numeric.js b/src/js/src/plotly/is-positive-numeric.js similarity index 100% rename from src/kaleido/js/src/plotly/is-positive-numeric.js rename to src/js/src/plotly/is-positive-numeric.js diff --git a/src/kaleido/js/src/plotly/parse.js b/src/js/src/plotly/parse.js similarity index 100% rename from src/kaleido/js/src/plotly/parse.js rename to src/js/src/plotly/parse.js diff --git a/src/kaleido/js/src/plotly/render.js b/src/js/src/plotly/render.js similarity index 100% rename from src/kaleido/js/src/plotly/render.js rename to src/js/src/plotly/render.js diff --git a/src/kaleido/cc/108.0.5359.125/DEPS b/src/kaleido/cc/108.0.5359.125/DEPS deleted file mode 100644 index 7ea04c01..00000000 --- a/src/kaleido/cc/108.0.5359.125/DEPS +++ /dev/null @@ -1,7 +0,0 @@ -include_rules = { - "+cc/base/switches.h", - "+components/devtools/simple_devtools_protocol_client", - "+components/viz/common/switches.h", - "+sandbox/mac", -} - diff --git a/src/kaleido/cc/108.0.5359.125/kaleido.cc b/src/kaleido/cc/108.0.5359.125/kaleido.cc deleted file mode 100644 index e5c5a2d6..00000000 --- a/src/kaleido/cc/108.0.5359.125/kaleido.cc +++ /dev/null @@ -1,649 +0,0 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// A small example application showing the use of the C++ Headless Chrome -// library. It navigates to a web site given on the command line, waits for it -// to load and prints out the DOM. -// -// Tip: start reading from the main() function below. - -#include "base/bind.h" -#include "base/command_line.h" -#include "base/memory/weak_ptr.h" -#include "base/json/json_reader.h" -#include "base/json/json_writer.h" -#include "base/strings/stringprintf.h" -#include "base/strings/string_split.h" -#include "base/files/file_util.h" -#include "base/environment.h" -#include "headless/public/devtools/domains/page.h" -#include "headless/public/devtools/domains/runtime.h" -#include "headless/public/headless_browser.h" -#include "headless/public/headless_devtools_client.h" -#include "headless/public/headless_devtools_target.h" -#include "headless/public/headless_web_contents.h" -#include "ui/gfx/geometry/size.h" -#include "third_party/abseil-cpp/absl/types/optional.h" - -#include "headless/app/kaleido.h" -#include "scopes/Factory.h" -#include "scopes/Base.h" -#include "utils.h" - -#include -#include -#include -#include -#include "stdlib.h" - - -#if defined(OS_WIN) -#include "content/public/app/sandbox_helper_win.h" -#include "sandbox/win/src/sandbox_types.h" - -namespace base { - // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here - bool ExecutableExistsInPath(Environment* env, - const std::string& executable) { - std::string path; - if (!env->GetVar("PATH", &path)) { - LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; - return false; - } - - for (const StringPiece& cur_path: - SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { - - // Build wide strings using wstringstreams - std::wstringstream wpath_ss; - wpath_ss << std::string(cur_path).c_str(); - - std::wstringstream wexecutable_ss; - wexecutable_ss << executable.c_str() << ".exe"; - - std::wstring wpath_ss_as_string = wpath_ss.str(); - FilePath::StringPieceType w_cur_path(wpath_ss_as_string); - FilePath file(w_cur_path); - - if (PathExists(file.Append(wexecutable_ss.str()))) { - return true; - } - } - return false; - } -} -#endif - -Kaleido::Kaleido( - headless::HeadlessBrowser* browser, - headless::HeadlessWebContents* web_contents, - std::string tmpFileName, - kaleido::scopes::BaseScope *scope_ptr -) - : tmpFileName(tmpFileName), - scope(scope_ptr), - env(base::Environment::Create()), - popplerAvailable(base::ExecutableExistsInPath(env.get(), "pdftops")), - inkscapeAvailable(base::ExecutableExistsInPath(env.get(), "inkscape")), - browser_(browser), - web_contents_(web_contents), - devtools_client_(headless::HeadlessDevToolsClient::Create()) { - - // Populate remainingLocalScriptsFiles vector - for (std::string const &s: scope_ptr->LocalScriptFiles()) { - localScriptFiles.push_back(s); - } - base::GetCurrentDirectory(&cwd); - web_contents_->AddObserver(this); -} - -Kaleido::~Kaleido() { - - // Delete tmp file - std::remove(tmpFileName.c_str()); - - // Note that we shut down the browser last, because it owns objects such as - // the web contents which can no longer be accessed after the browser is gone. - devtools_client_->GetPage()->RemoveObserver(this); - web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get()); - web_contents_->RemoveObserver(this); - browser_->Shutdown(); -} - -// This method is called when the tab is ready for DevTools inspection. -void Kaleido::DevToolsTargetReady() { - // Attach our DevTools client to the tab so that we can send commands to it - // and observe events. - web_contents_->GetDevToolsTarget()->AttachClient(devtools_client_.get()); - - // Start observing events from DevTools's page domain. This lets us get - // notified when the page has finished loading. Note that it is possible - // the page has already finished loading by now. See - // HeadlessShell::DevToolTargetReady for how to handle that case correctly. - devtools_client_->GetPage()->AddObserver(this); - devtools_client_->GetPage()->Enable(); - - devtools_client_->GetRuntime()->AddObserver(this); - devtools_client_->GetRuntime()->Enable(); -} - -void Kaleido::OnLoadEventFired( - const headless::page::LoadEventFiredParams& params) { - // Enable runtime - nextScriptIndex = 0; - LoadNextScript(); -} - -void Kaleido::OnExecutionContextCreated( - const headless::runtime::ExecutionContextCreatedParams& params) { - contextId = params.GetContext()->GetId(); -} - -void Kaleido::LoadNextScript() { - if (localScriptFiles.size() <= nextScriptIndex) { - // Finished processing startup scripts, get heap memory usage, which will then start ExportNext loop - devtools_client_->GetRuntime()->Evaluate( - "JSON.stringify({jsHeapSizeLimit: window.performance.memory.jsHeapSizeLimit})", - base::BindOnce(&Kaleido::OnHeapEvalComplete, weak_factory_.GetWeakPtr())); - return; - } else { - // Load Script - std::string scriptPath(localScriptFiles[nextScriptIndex++]); - std::ifstream t(scriptPath); - if (!t.is_open()) { - // Reached end of file, - // Shut down the browser (see ~Kaleido). - LOG(ERROR) << "Failed to find, or open, local file at " - << scriptPath << " with working directory " << cwd.value() << std::endl; - delete g_example; - g_example = nullptr; - return; - } - std::string scriptString((std::istreambuf_iterator(t)), - std::istreambuf_iterator()); - - devtools_client_->GetRuntime()->CompileScript( - scriptString, - scriptPath, - true, - base::BindOnce(&Kaleido::OnScriptCompileComplete, weak_factory_.GetWeakPtr())); - } -} - -void Kaleido::ExportNext() { - std::string exportSpec; - while (true) { - // Loop until we receive a valid export request, break loop below when a valid request is received - if (!std::getline(std::cin, exportSpec)) { - // Reached end of file, - // Shut down the browser (see ~Kaleido). - delete g_example; - g_example = nullptr; - return; - } - - absl::optional json = base::JSONReader::Read(exportSpec); - - if (!json.has_value()) { - kaleido::utils::writeJsonMessage(1, "Invalid JSON"); - continue; - } - base::Value::Dict &jsonDict = json->GetDict(); - - // Read "operation" key, defaulting to "export" if none provided. - std::string *maybe_operation = jsonDict.FindString("operation"); - std::string operation; // We're avoiding carrying pointers through ops - if (maybe_operation) { - operation = *maybe_operation; - } else { - operation = std::string("export"); - } - - // Only operation right now is export, but others can be added in the future - if (operation != "export") { - // Unsupported operation - kaleido::utils::writeJsonMessage(1, base::StringPrintf("Invalid operation: %s", operation.c_str())); - continue; - } else { - std::string *maybe_format = jsonDict.FindString("format"); - if (maybe_format) { - std::string format = *maybe_format; - - // Validate poppler installed if format is eps - if (format == "eps" && !popplerAvailable) { - kaleido::utils::writeJsonMessage( - 530, - "Exporting to EPS format requires the pdftops command " - "which is provided by the poppler library. " - "Please install poppler and make sure the pdftops command " - "is available on the PATH"); - continue; - } - - // Validate inkscape installed if format is emf - if (format == "emf" && !inkscapeAvailable) { - kaleido::utils::writeJsonMessage( - 530, - "Exporting to EMF format requires inkscape. " - "Please install inkscape and make sure it is available on the PATH"); - continue; - } - } - - std::string exportFunction = base::StringPrintf( - "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", - scope->ScopeName().c_str()); - - std::vector> args = scope->BuildCallArguments(); - - // Prepend Export spec as first argument - args.insert(args.begin(), - headless::runtime::CallArgument::Builder() - .SetValue(base::Value::ToUniquePtrValue(json->Clone())) - .Build() - ); - - std::unique_ptr eval_params = - headless::runtime::CallFunctionOnParams::Builder() - .SetFunctionDeclaration(exportFunction) - .SetArguments(std::move(args)) - .SetExecutionContextId(contextId) - .SetAwaitPromise(true).Build(); - - devtools_client_->GetRuntime()->CallFunctionOn( - std::move(eval_params), - base::BindOnce(&Kaleido::OnExportComplete, weak_factory_.GetWeakPtr())); - // Break out of loop, OnExportComplete callback responsible for calling ExportNext again after this - // the current request is processed. - break; - } - } -} - -void Kaleido::OnExportComplete( - std::unique_ptr result) { - - // Make sure the evaluation succeeded before reading the result. - if (result->HasExceptionDetails()) { - std::string error = base::StringPrintf( - "Failed to serialize document: %s", result->GetExceptionDetails()->GetText().c_str()); - kaleido::utils::writeJsonMessage(1, error); - Reload(); - return; - } else { - // JSON parse result to get format - std::string responseString = result->GetResult()->GetValue()->GetString(); - absl::optional responseJson = base::JSONReader::Read(responseString); - if (!responseJson.has_value()) { - std::string error = base::StringPrintf("Export returned null"); - kaleido::utils::writeJsonMessage(1, error); - Reload(); - return; - } - base::Value::Dict &responseDict = responseJson->GetDict(); - - // format - std::string *format_maybe = responseDict.FindString("format"); - - if (!format_maybe) { - std::string error = base::StringPrintf("Malformed Export JSON: format key not found."); - kaleido::utils::writeJsonMessage(1, error); - Reload(); - return; - } - - std::string format = *format_maybe; - - if (format == "pdf" || format == "eps") { - // Lots of possible undefined behavior here if these things don't exist - // But all are unused variables that were in the original. - - - //std::string &bgColor = *responseDict.FindString("pdfBgColor"); - //std::string &imgData = *responseDict.FindString("result"); - - //int width = responseDict.FindInt("width").value(); - //int height = responseDict.FindInt("height").value(); - - //double scale = responseDict.FindDouble("scale").value(); - - devtools_client_->GetPage()->GetExperimental()->PrintToPDF( - headless::page::PrintToPDFParams::Builder() - .SetMarginBottom(0) - .SetMarginTop(0) - .SetMarginLeft(0) - .SetMarginRight(0) - .SetPrintBackground(true) - .SetPreferCSSPageSize(true) // Use @page {size: } CSS style - .Build(), - base::BindOnce(&Kaleido::OnPDFCreated, weak_factory_.GetWeakPtr(), responseString)); - } else if (format == "emf"){ - // Write SVG data to temporary file - std::string &svgData = *responseDict.FindString("result"); // Hope it is there! - - // Write pdf to temporary file - std::string inFileName = std::tmpnam(nullptr) + std::string(".svg"); - std::ofstream svgFile; - svgFile.open(inFileName, std::ios::out); - svgFile << svgData; - svgFile.close(); - - // Convert pdf to eps temporary file - std::string outFileName = std::tmpnam(nullptr) + std::string(".emf"); - std::string command = std::string("inkscape --file ") + inFileName + " --export-emf " + outFileName; - int exitCode = std::system(command.c_str()); - if (exitCode != 0) { - kaleido::utils::writeJsonMessage(exitCode, "SVG to EMF conversion failed"); - Reload(); - return; - } - - // Read EMF file as binary - std::ifstream emfStream(outFileName, std::ios::ate | std::ios::binary); - std::streamsize size = emfStream.tellg(); - emfStream.seekg(0, std::ios::beg); - std::vector emfBuffer(size); - if (emfStream.read((char*)emfBuffer.data(), size)) - { - // cleanup temporary files - std::remove(inFileName.c_str()); - std::remove(outFileName.c_str()); - - // Base64 encode EMF data - std::string base64emf = headless::protocol::Binary::fromVector(emfBuffer).toBase64(); - - // Add base64 encoded EMF data to result dict - responseDict.Set("result", base64emf); - // I'm very curious if we can't just write directly to svgData to chane this value since it's a reference to it - // Clearly less readable though - AJP - - // Write results JSON string - std::string response; - // DictionaryValue was a subclass of Value, but not anymore -- AJP - // https://chromium.googlesource.com/chromium/src/+/refs/tags/108.0.5359.125/base/values.h#164 - base::JSONWriter::Write(base::Value(std::move(responseDict)), &response); - - std::cout << response << "\n"; - - Reload(); - return; - } else { - // cleanup temporary files - std::remove(inFileName.c_str()); - std::remove(outFileName.c_str()); - - kaleido::utils::writeJsonMessage(1, "Failed to read temporary EMF file"); - Reload(); - return; - } - } else { - std::cout << result->GetResult()->GetValue()->GetString().c_str() << std::endl; // So python processes the JSON? - AJP - Reload(); - return; - } - } -} - -void Kaleido::Reload() { - std::unique_ptr params = - headless::runtime::GetHeapUsageParams::Builder().Build(); - devtools_client_->GetRuntime()->GetExperimental()->GetHeapUsage( - std::move(params), base::BindOnce(&Kaleido::OnHeapUsageComplete, weak_factory_.GetWeakPtr())); -} - -void Kaleido::OnHeapUsageComplete(std::unique_ptr result) { - double heapUsageRatio = result->GetUsedSize() / jsHeapSizeLimit; - if (heapUsageRatio >= 0.5) { - // Reload page to clear memory - std::unique_ptr params = - headless::page::ReloadParams::Builder().Build(); - devtools_client_->GetPage()->Reload(std::move(params)); - } else { - // Memory usage low enough, keep going without reloading page - ExportNext(); - } -} - -void Kaleido::OnHeapEvalComplete(std::unique_ptr result) { - if (result->HasExceptionDetails()) { - std::string error = base::StringPrintf( - "Failed to get window.performance.memory: %s", result->GetExceptionDetails()->GetText().c_str()); - kaleido::utils::writeJsonMessage(1, error); - Reload(); - return; - } else { - std::string responseString = result->GetResult()->GetValue()->GetString(); - absl::optional responseJson = base::JSONReader::Read(responseString); - base::Value::Dict & responseDict = responseJson->GetDict(); - - // jsHeapSizeLimit - responseDict.FindDouble("jsHeapSizeLimit"); - - ExportNext(); - } -} - -void Kaleido::OnPDFCreated( - std::string responseString, - std::unique_ptr result -) { - if (!result) { - std::string error = std::string("Export to PDF failed"); - kaleido::utils::writeJsonMessage(1, error); - } else { - absl::optional responseJson = base::JSONReader::Read(responseString); - base::Value::Dict &responseDict = responseJson->GetDict(); - - // format - std::string *format_maybe = responseDict.FindString("format"); - if (!format_maybe) { - kaleido::utils::writeJsonMessage(1, "Malformed json, missing key 'format', PDF to EPS conversion failed."); - Reload(); - return; - } - std::string format = *format_maybe; - - - // Initialize empty result - std::string stringResult; - - if (format == "eps") { - // Write pdf to temporary file - std::string inFileName = std::tmpnam(nullptr) + std::string(".pdf"); - std::ofstream pdfFile; - pdfFile.open(inFileName, std::ios::out | std::ios::binary); - pdfFile.write((char*)result->GetData().data(), result->GetData().size()); - pdfFile.close(); - - // Convert pdf to eps temporary file - std::string outFileName = std::tmpnam(nullptr) + std::string(".eps"); - std::string command = std::string("pdftops -eps ") + inFileName + " " + outFileName; - int exitCode = std::system(command.c_str()); - if (exitCode != 0) { - kaleido::utils::writeJsonMessage(exitCode, "PDF to EPS conversion failed"); - Reload(); - return; - } - - // Read EPS file as Text - std::ifstream epsStream(outFileName, std::ios::in); - stringResult = std::string((std::istreambuf_iterator(epsStream)), - std::istreambuf_iterator()); - - // cleanup temporary files - std::remove(inFileName.c_str()); - std::remove(outFileName.c_str()); - } else { // format == "pdf" - // Add base64 encoded PDF bytes to result dict - stringResult = result->GetData().toBase64(); - } - - // Add base64 encoded PDF bytes to result dict - responseDict.Set("result", stringResult); - - // Write results JSON string - std::string response; - base::JSONWriter::Write(base::Value(std::move(responseDict)), &response); - std::cout << response << "\n"; - } - - Reload(); - return; -} - -void Kaleido::OnScriptCompileComplete( - std::unique_ptr result) { - // Make sure the evaluation succeeded before running script - if (result->HasExceptionDetails()) { - LOG(ERROR) << "Failed to compile script: " - << result->GetExceptionDetails()->GetText(); - } else { - std::string plotlyjsScriptId = result->GetScriptId(); - devtools_client_->GetRuntime()->RunScript( - plotlyjsScriptId, - base::BindOnce(&Kaleido::OnRunScriptComplete, weak_factory_.GetWeakPtr()) - ); - } -} - -void Kaleido::OnRunScriptComplete( - std::unique_ptr result) { - // Make sure the evaluation succeeded before reading the result. - if (result->HasExceptionDetails()) { - LOG(ERROR) << "Failed to run script: " - << result->GetExceptionDetails()->GetText(); - } else { - LoadNextScript(); - } -} - -// This function is called by the headless library after the browser has been -// initialized. It runs on the UI thread. -void OnHeadlessBrowserStarted(headless::HeadlessBrowser* browser) { - // In order to open tabs, we first need a browser context. It corresponds to a - // user profile and contains things like the user's cookies, local storage, - // cache, etc. - headless::HeadlessBrowserContext::Builder context_builder = - browser->CreateBrowserContextBuilder(); - - // Here we can set options for the browser context. As an example we enable - // incognito mode, which makes sure profile data is not written to disk. - context_builder.SetIncognitoMode(true); - - // Construct the context and set it as the default. The default browser - // context is used by the Target.createTarget() DevTools command when no other - // context is given. - headless::HeadlessBrowserContext* browser_context = context_builder.Build(); - browser->SetDefaultBrowserContext(browser_context); - - // Get the URL from the command line. - base::CommandLine::StringVector args = - base::CommandLine::ForCurrentProcess()->GetArgs(); - if (args.empty()) { - kaleido::utils::writeJsonMessage(1, "No Scope Specified"); - browser->Shutdown(); - exit(EXIT_FAILURE); - } - - // Get first command line argument as a std::string using a string stream. - // This handles the case where args[0] is a wchar_t on Windows - std::stringstream scope_stringstream; - scope_stringstream << args[0]; - std::string scope_name = scope_stringstream.str(); - - // Instantiate renderer scope - kaleido::scopes::BaseScope *scope = LoadScope(scope_name); - - if (!scope) { - // Invalid scope name - kaleido::utils::writeJsonMessage(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); - browser->Shutdown(); - exit(EXIT_FAILURE); - } else if (!scope->errorMessage.empty()) { - kaleido::utils::writeJsonMessage(1, scope->errorMessage); - browser->Shutdown(); - exit(EXIT_FAILURE); - } - - // Add javascript bundle - scope->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); - - // Build initial HTML file - std::list scriptTags = scope->ScriptTags(); - std::stringstream htmlStringStream; - htmlStringStream << ""; - - // Add script tags - while (!scriptTags.empty()) { - std::string tagValue = scriptTags.front(); - GURL tagUrl(tagValue); - if (tagUrl.is_valid()) { - // Value is a url, use a src of script tag - htmlStringStream << ""; - } else { - // Value is not a url, use a inline JavaScript code - htmlStringStream << "\n"; - } - scriptTags.pop_front(); - } - // Close head and add body with img tag place holder for PDF export - htmlStringStream << ""; - - // Write html to temp file - std::string tmpFileName = std::tmpnam(nullptr) + std::string(".html"); - std::ofstream htmlFile; - htmlFile.open(tmpFileName, std::ios::out); - htmlFile << htmlStringStream.str(); - htmlFile.close(); - - // Create file:// url to temp file - GURL url = GURL(std::string("file://") + tmpFileName); - - // Open a tab (i.e., HeadlessWebContents) in the newly created browser context. - headless::HeadlessWebContents::Builder tab_builder( - browser_context->CreateWebContentsBuilder()); - - // We could set other options for the opened tab here, for now only set URL - tab_builder.SetInitialURL(url); - - // Create an instance of Kaleido - headless::HeadlessWebContents *web_contents = tab_builder.Build(); - - // Initialization succeeded - kaleido::utils::writeJsonMessage(0, "Success"); - - // TODO make scope a unique ptr and use move semantics here - g_example = new Kaleido(browser, web_contents, tmpFileName, scope); -} - -int main(int argc, const char** argv) { -#if !defined(OS_WIN) - // This function must be the first thing we call to make sure child processes - // such as the renderer are started properly. The headless library starts - // child processes by forking and exec'ing the main application. - headless::RunChildProcessIfNeeded(argc, argv); -#endif - - // Create a headless browser instance. There can be one of these per process - // and it can only be initialized once. - headless::HeadlessBrowser::Options::Builder builder(argc, argv); - -#if defined(OS_WIN) - // In windows, you must initialize and set the sandbox, or pass it along - // if it has already been initialized. - sandbox::SandboxInterfaceInfo sandbox_info = {}; - content::InitializeSandboxInfo(&sandbox_info); - builder.SetSandboxInfo(&sandbox_info); -#endif - // Here you can customize browser options. As an example we set the window - // size. - builder.SetWindowSize(gfx::Size(800, 600)); - - // Pass control to the headless library. It will bring up the browser and - // invoke the given callback on the browser UI thread. Note: if you need to - // pass more parameters to the callback, you can add them to the Bind() call - // below. - return headless::HeadlessBrowserMain( - builder.Build(), base::BindOnce(&OnHeadlessBrowserStarted)); -} diff --git a/src/kaleido/cc/108.0.5359.125/kaleido.h b/src/kaleido/cc/108.0.5359.125/kaleido.h deleted file mode 100644 index f9de9a6e..00000000 --- a/src/kaleido/cc/108.0.5359.125/kaleido.h +++ /dev/null @@ -1,77 +0,0 @@ -#include "base/memory/weak_ptr.h" -#include "base/files/file_util.h" -#include "headless/public/devtools/domains/page.h" -#include "headless/public/devtools/domains/runtime.h" -#include "headless/public/headless_browser.h" -#include "headless/public/headless_devtools_client.h" -#include "headless/public/headless_devtools_target.h" -#include "headless/public/headless_web_contents.h" - -#include "scopes/Base.h" - -#ifndef CHROMIUM_ORCA_NEXT_H -#define CHROMIUM_ORCA_NEXT_H - - -class Kaleido : public headless::HeadlessWebContents::Observer, - public headless::page::Observer, - public headless::runtime::Observer -{ -public: - Kaleido(headless::HeadlessBrowser* browser, - headless::HeadlessWebContents* web_contents, - std::string tmpFileName, - kaleido::scopes::BaseScope *scope); - - ~Kaleido() override; - - // headless::HeadlessWebContents::Observer implementation: - void DevToolsTargetReady() override; - - // headless::page::Observer implementation: - void OnLoadEventFired( - const headless::page::LoadEventFiredParams& params) override; - - void OnExecutionContextCreated(const headless::runtime::ExecutionContextCreatedParams& params) override; - - void ExportNext(); - void Reload(); - void OnHeapUsageComplete(std::unique_ptr result); - void OnHeapEvalComplete(std::unique_ptr result); - - void LoadNextScript(); - void OnPDFCreated(std::string responseString, std::unique_ptr result); - - void OnExportComplete(std::unique_ptr result); - void OnScriptCompileComplete(std::unique_ptr result); - void OnRunScriptComplete(std::unique_ptr result); - -private: - int contextId; - double jsHeapSizeLimit; - std::string tmpFileName; - std::vector localScriptFiles; - size_t nextScriptIndex; - kaleido::scopes::BaseScope *scope; - std::unique_ptr env; - bool popplerAvailable; - bool inkscapeAvailable; - base::FilePath cwd; - - - // The headless browser instance. Owned by the headless library. See main(). - headless::HeadlessBrowser* browser_; - // Our tab. Owned by |browser_|. - headless::HeadlessWebContents* web_contents_; - // The DevTools client used to control the tab. - std::unique_ptr devtools_client_; - // A helper for creating weak pointers to this class. - // weak_factory_ MUST BE LAST PROPERTY DEFINED! - base::WeakPtrFactory weak_factory_{this}; -}; - -namespace { - Kaleido* g_example; -} - -#endif //CHROMIUM_ORCA_NEXT_H diff --git a/src/kaleido/cc/108.0.5359.125/scopes/Base.h b/src/kaleido/cc/108.0.5359.125/scopes/Base.h deleted file mode 100644 index 836c0b3e..00000000 --- a/src/kaleido/cc/108.0.5359.125/scopes/Base.h +++ /dev/null @@ -1,80 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// - -#include "headless/public/devtools/domains/runtime.h" -#include "base/strings/string_util.h" - -#include -#include -#include - -#ifndef CHROMIUM_BASESCOPE_H -#define CHROMIUM_BASESCOPE_H - -namespace kaleido { - namespace scopes { - class BaseScope { - public: - BaseScope(); - BaseScope(const BaseScope &v); - virtual ~BaseScope(); - - virtual std::string ScopeName() = 0; - virtual std::vector> BuildCallArguments(); - std::list ScriptTags(); - std::list LocalScriptFiles(); - std::string GetCommandLineSwitch(std::string name); - bool HasCommandLineSwitch(std::string name); - - std::string errorMessage; - - public: - std::list scriptTags; - std::list localScriptFiles; - const BaseScope *plugin; - }; - - BaseScope::BaseScope(): errorMessage(), scriptTags(), localScriptFiles() {} - BaseScope::BaseScope(const BaseScope &v): - scriptTags(v.scriptTags), - localScriptFiles(v.localScriptFiles) - {} - - BaseScope::~BaseScope() { - delete plugin; - } - - std::vector> BaseScope::BuildCallArguments() { - return std::vector>(); - } - - std::list BaseScope::ScriptTags() { - // Return vector as value so that it is copied and caller is free to mutate it - return scriptTags; - } - - std::list BaseScope::LocalScriptFiles() { - // Return vector as value so that it is copied and caller is free to mutate it - return localScriptFiles; - } - - bool BaseScope::HasCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - return commandLine->HasSwitch(name); - } - - std::string BaseScope::GetCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - std::string value = commandLine->GetSwitchValueASCII(name); - - // Trim single and double quotes - base::TrimString(value, "\"", &value); - base::TrimString(value, "\'", &value); - - return value; - } - } -} - -#endif //CHROMIUM_BASESCOPE_H diff --git a/src/kaleido/cc/108.0.5359.125/scopes/Factory.h b/src/kaleido/cc/108.0.5359.125/scopes/Factory.h deleted file mode 100644 index 3941cfcc..00000000 --- a/src/kaleido/cc/108.0.5359.125/scopes/Factory.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// - -#include "base/strings/string_util.h" - -#include "Plotly.h" -#include "Base.h" - -#ifndef CHROMIUM_FACTORY_H -#define CHROMIUM_FACTORY_H - -kaleido::scopes::BaseScope* LoadScope(std::string name) { - std::string name_lower = base::ToLowerASCII(name); - if (name_lower == "plotly") { - return new kaleido::scopes::PlotlyScope(); - } else { - return nullptr; - } -} - -#endif //CHROMIUM_FACTORY_H diff --git a/src/kaleido/cc/108.0.5359.125/scopes/Plotly.h b/src/kaleido/cc/108.0.5359.125/scopes/Plotly.h deleted file mode 100644 index db83f47e..00000000 --- a/src/kaleido/cc/108.0.5359.125/scopes/Plotly.h +++ /dev/null @@ -1,128 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// -#include "Base.h" -#include "base/bind.h" -#include "base/command_line.h" -#include "base/strings/string_util.h" -#include "base/strings/stringprintf.h" -#include "headless/public/devtools/domains/runtime.h" -#include "../utils.h" -#include -#include -#include -#include -#include - -#ifndef CHROMIUM_PLOTLYSCOPE_H -#define CHROMIUM_PLOTLYSCOPE_H - -namespace kaleido { - namespace scopes { - - class PlotlyScope : public BaseScope { - public: - PlotlyScope(); - - ~PlotlyScope() override; - - PlotlyScope(const PlotlyScope &v); - - std::string ScopeName() override; - - std::vector> BuildCallArguments() override; - - public: - std::string topojsonUrl; - std::string mapboxToken; - }; - - PlotlyScope::PlotlyScope() : topojsonUrl(), mapboxToken() { - // Add MathJax config - scriptTags.emplace_back("window.PlotlyConfig = {MathJaxConfig: 'local'}"); - - // Process plotlyjs - if (HasCommandLineSwitch("plotlyjs")) { - std::string plotlyjsArg = GetCommandLineSwitch("plotlyjs"); - - // Check if value is a URL - GURL plotlyjsUrl(plotlyjsArg); - if (plotlyjsUrl.is_valid()) { - scriptTags.push_back(plotlyjsArg); - } else { - // Check if this is a local file path - if (std::ifstream(plotlyjsArg)) { - localScriptFiles.emplace_back(plotlyjsArg); - } else { - errorMessage = base::StringPrintf("--plotlyjs argument is not a valid URL or file path: %s", - plotlyjsArg.c_str()); - return; - } - } - } else { - scriptTags.emplace_back("https://cdn.plot.ly/plotly-latest.min.js"); - } - - // MathJax - if (HasCommandLineSwitch("mathjax")) { - std::string mathjaxArg = GetCommandLineSwitch("mathjax"); - - GURL mathjaxUrl(mathjaxArg); - if (mathjaxUrl.is_valid()) { - std::stringstream mathjaxStringStream; - mathjaxStringStream << mathjaxArg << "?config=TeX-AMS-MML_SVG"; - scriptTags.push_back(mathjaxStringStream.str()); - } else { - errorMessage = base::StringPrintf("--mathjax argument is not a valid URL: %s", mathjaxArg.c_str()); - return; - } - } - - // Topojson - if (HasCommandLineSwitch("topojson")) { - std::string topojsonArg = GetCommandLineSwitch("topojson"); - if (GURL(topojsonArg).is_valid()) { - topojsonUrl = topojsonArg; - } else { - errorMessage = base::StringPrintf("--topojson argument is not a valid URL: %s", - topojsonArg.c_str()); - return; - } - } - - // Process mapbox-token - if (HasCommandLineSwitch("mapbox-access-token")) { - mapboxToken = GetCommandLineSwitch("mapbox-access-token"); - } - } - - PlotlyScope::~PlotlyScope() {} - - PlotlyScope::PlotlyScope(const PlotlyScope &v) : topojsonUrl(v.topojsonUrl), mapboxToken(v.mapboxToken) {} - - std::string PlotlyScope::ScopeName() { - return "plotly"; - } - - std::vector> PlotlyScope::BuildCallArguments() { - std::vector> args; - - // Add mapbox token from command line - args.push_back( - headless::runtime::CallArgument::Builder() - .SetValue(std::make_unique(base::StringPiece(mapboxToken))) - .Build() - ); - - // Add topojson url from command-line - args.push_back( - headless::runtime::CallArgument::Builder() - .SetValue(std::make_unique(base::StringPiece(topojsonUrl))) - .Build() - ); - return args; - } - } -} - -#endif //CHROMIUM_PLOTLYSCOPE_H diff --git a/src/kaleido/cc/108.0.5359.125/utils.h b/src/kaleido/cc/108.0.5359.125/utils.h deleted file mode 100644 index 86871131..00000000 --- a/src/kaleido/cc/108.0.5359.125/utils.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// Created by jmmease on 6/23/20. -// - -#include -#include - -#ifndef CHROMIUM_UTILS_H -#define CHROMIUM_UTILS_H - -namespace kaleido { - namespace utils { - // Load version string - std::ifstream verStream("version"); - std::string version(( - std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); - - void writeJsonMessage(int code, std::string message) { - std::string error = base::StringPrintf( - "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}\n", - code, message.c_str(), version.c_str()); - std::cout << error; - } - } -} - -#endif //CHROMIUM_UTILS_H diff --git a/src/kaleido/cc/126.0.6478.126/DEPS b/src/kaleido/cc/126.0.6478.126/DEPS deleted file mode 100644 index 7646185a..00000000 --- a/src/kaleido/cc/126.0.6478.126/DEPS +++ /dev/null @@ -1,6 +0,0 @@ -include_rules = { - "+cc/base/switches.h", - "+components/viz/common/switches.h", - "+sandbox/mac", -} - diff --git a/src/kaleido/cc/126.0.6478.126/README.md b/src/kaleido/cc/126.0.6478.126/README.md deleted file mode 100644 index 7d3cd36c..00000000 --- a/src/kaleido/cc/126.0.6478.126/README.md +++ /dev/null @@ -1,69 +0,0 @@ - - -# Basic Architecture - -We provide an API on stdin/stdout, expecting JSON, which can - -1. start tabs -2. start jobs on tabs - -``` - all within one c++ executable - ----------------------------------------------------- -Plotly <-- JSON via STDIN/OUT --> [ kaleido <-- SimpleDevToolsClient --> Browser/Tabs ] -``` - -There are three parts: - -1. `kaleido_main()`, which is responsible for inits boilerplate. -2. `Kaleido`, which sits between the user and Dispatch handling IO + some init. -3. `Dispatch`, which manages jobs and tabs. - -# Concurency - -*About Chromium's Model:* - -Chromium uses callbacks and allows posting tasks to protothreads (`Sequence`s). -You can start your own sequences with various `TaskTraits`- pooled, parallel, ordered, etc. -Callbacks registered from `Sequence`s are perilous (point A), and limited tools are provided to -ensure they pass chromium's own race condition checks. `BindPostTask` doesn't always work. -Maybe try again but BindPostTask a non nestable task? Maybe never use chromium again. - -Chromium highly discourages use of concurrency primitives (spinlocks, mutexes, etc). -It provides no safe messaging interface between tasks or sequences (like -Go's `chan<-`). - -Without the above, memory must be handled from tasks posted to an `OrderedSequence`. -Callback's cannot be registered easily from an `OrderedSequence` (point A). -Combined **you cannot access stateful memory from callbacks.** - -## How it is solved: - -### Output to User - -Requirement: Output to user cannot be mixed- messages must be whole. - -Therefore: All complete messages are tasks posted to a `SequencedTaskRunner` (`output_sequence`). - -Rules: Such a task can be posted from anywhere. - -### Input from User - -The input listener is started in a parallel threadpool. Only one input listener runs, -and it must call itself to restart, ensuring order. - -### SimpleDevToolsClient Tab Comms - -DevTools Protocol uses message/session id labels, internally managed by `SimpleDevToolsClient`. -You register callbacks w/ your requests. Very NodeJS like, no async/await available. - -## Tab Dispatch - -`Dispatch` sends jobs to tabs as tabs free up, using queues to manage. -Most of `SimpleDevToolsClient` cannot be executed on a sequence (sequences -registering callbacks makes Chromium angry). -So while most of `Dispatch`'s methods are a chain of callbacks, the last step in every -chain, which registers no callbacks, will post a task to a sequence (`job_line`), -who will make the actually memory modification in an atomic way relave to other -memory operations. - diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/DEPS b/src/kaleido/cc/126.0.6478.126/dispatch/DEPS deleted file mode 100644 index 84fd89c1..00000000 --- a/src/kaleido/cc/126.0.6478.126/dispatch/DEPS +++ /dev/null @@ -1,4 +0,0 @@ -include_rules = { - "+components/devtools/simple_devtools_protocol_client", -} - diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc deleted file mode 100644 index f141a7b3..00000000 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.cc +++ /dev/null @@ -1,329 +0,0 @@ -#include - -#include "base/logging.h" -#include "base/functional/bind.h" -#include "headless/app/dispatch/dispatch.h" - -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/lib/browser/headless_web_contents_impl.h" - -// Callbacks and threads -#include "base/functional/bind.h" -#include "base/task/thread_pool.h" -#include "base/task/bind_post_task.h" -// We can do the same thing with a WebContentsBuilder to create a tab, but maybe we can do it directly with dev tools? -#if defined(OS_WIN) - -#include "base/files/file_util.h" -#include "base/strings/stringprintf.h" -#include -#include -namespace base { - // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here - bool ExecutableExistsInPath(Environment* env, - const std::string& executable) { - std::string path; - if (!env->GetVar("PATH", &path)) { - LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; - return false; - } - - for (const StringPiece& cur_path: - SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { - - // Build wide strings using wstringstreams - std::wstringstream wpath_ss; - wpath_ss << std::string(cur_path).c_str(); - - std::wstringstream wexecutable_ss; - wexecutable_ss << executable.c_str() << ".exe"; - - std::wstring wpath_ss_as_string = wpath_ss.str(); - FilePath::StringPieceType w_cur_path(wpath_ss_as_string); - FilePath file(w_cur_path); - - if (PathExists(file.Append(wexecutable_ss.str()))) { - return true; - } - } - return false; - } -} -#endif -namespace kaleido { - Tab::Tab() {} - Tab::~Tab() { - // TODO calling this destructor on shutdown would be V good, otherwise we complain - client_->DetachClient(); - web_contents_.ExtractAsDangling()->Close(); - } - Job::Job() {} - Job::~Job() { - if (currentTab) currentTab.reset(); - } - - - Dispatch::Dispatch(raw_ptr parent_): parent_(parent_) { - browser_devtools_client_.AttachToBrowser(); - job_line = base::ThreadPool::CreateSequencedTaskRunner({ - base::TaskPriority::BEST_EFFORT, - base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); - env = base::Environment::Create(); - popplerAvailable = base::ExecutableExistsInPath(env.get(), "pdftops"); - inkscapeAvailable = base::ExecutableExistsInPath(env.get(), "inkscape"); - } - - void Dispatch::CreateTab(int id, const GURL &url) { - LOG(INFO) << "CREATING TAB!"; - LOG(INFO) << "Creating tab: " << url.spec(); - auto tab = std::make_unique(); - headless::HeadlessWebContents::Builder builder( - parent_->browser_->GetDefaultBrowserContext()->CreateWebContentsBuilder()); - tab->web_contents_ = builder.SetInitialURL(url).Build(); - - tab->client_ = std::make_unique(); - // DevToolsTargetReady TODO - tab->client_->AttachToWebContents(headless::HeadlessWebContentsImpl::From(tab->web_contents_)->web_contents()); - - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::sortTab, base::Unretained(this), id, std::move(tab))); - - } - - void Dispatch::ReloadAll() { - parent_->browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::reloadAll, base::Unretained(this))); - } - void Dispatch::reloadAll() { - for (auto& it: activeJobs) { - activeJobs[it.first]->currentTab->client_->SendCommand("Page.reload"); - } - } - - // jobLine modifying tabs and jobs - void Dispatch::sortTab(int id, std::unique_ptr tab) { - if (jobs.size() == 0) { - tabs.push(std::move(tab)); - } else { - dispatchJob(std::move(jobs.front()), std::move(tab)); - jobs.pop(); - } - } - - // jobLine modifying tabs and jobs - void Dispatch::sortJob(std::unique_ptr job) { - if (tabs.size() == 0) { - jobs.push(std::move(job)); - } else { - dispatchJob(std::move(job), std::move(tabs.front())); - tabs.pop(); - } - } - - // jobline modying tabs and jobs and aciveJobs - void Dispatch::dispatchJob(std::unique_ptr job, std::unique_ptr tab) { - LOG(INFO) << "Dispatching job."; - int job_id = job_number++; - - job->currentTab = std::move(tab); - activeJobs[job_id] = std::move(job); - parent_->browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::runJob1_resetTab, base::Unretained(this), job_id)); // jobline gives browser control of tab/job - return; - } - - inline bool Dispatch::checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id) { - LOG(INFO) << "Looking for error"; - if (msg.FindString("error")) { - std::string error = base::StringPrintf( - "%s: Response: %s", context.c_str(), msg.DebugString().c_str()); - if (parent_->old) parent_->Api_OldMsg(1, error); - else parent_->ReportFailure(activeJobs[job_id]->id, error); - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id - return true; - } - return false; - } - - void Dispatch::runJob1_resetTab(const int &job_id) { - LOG(INFO) << "job1_reset tab"; - if (activeJobs.find(job_id) == activeJobs.end()) return; - LOG(INFO) << "Not canceled"; - activeJobs[job_id]->currentTab->client_->SendCommand("Page.enable"); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.enable", base::BindOnce(&Dispatch::runJob2_reloadTab, base::Unretained(this), job_id)); - } - - void Dispatch::runJob2_reloadTab(const int &job_id, base::Value::Dict msg) { - LOG(INFO) << "job2_reload tab, and set executionContextCreated"; - LOG(INFO) << msg.DebugString(); - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob2_reloadTab", job_id)) return; - LOG(INFO) << "Not canceled"; - auto cb = base::BindRepeating(&Dispatch::runJob3_loadScripts, base::Unretained(this), job_id); - activeJobs[job_id]->runtimeEnableCb = cb; - activeJobs[job_id]->currentTab->client_->AddEventHandler("Runtime.executionContextCreated", cb); - activeJobs[job_id]->currentTab->client_->SendCommand("Page.reload"); - } - - void Dispatch::runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg) { - LOG(INFO) << "job3_load scripts, Execution context created"; - LOG(INFO) << msg.DebugString(); - activeJobs[job_id]->currentTab->client_->RemoveEventHandler( - "Runtime.executionContextCreated", std::move(activeJobs[job_id]->runtimeEnableCb)); - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob3_loadScripts", job_id)) return; - LOG(INFO) << "Not canceled"; - activeJobs[job_id]->scriptItr = parent_->localScriptFiles.begin(); - activeJobs[job_id]->executionId = *msg.FindDict("params")->FindDict("context")->FindInt("id"); - base::Value::Dict empty; - runJob4_loadNextScript(job_id, std::move(empty)); - } - - void Dispatch::runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg) { - LOG(INFO) << "job4_load NextScript"; - LOG(INFO) << msg.DebugString(); - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob4_loadNextScript", job_id)) return; - LOG(INFO) << "not cancelled"; - if (activeJobs[job_id]->scriptItr == parent_->localScriptFiles.end()) { - LOG(INFO) << "done loading scripts, trying to run kaleido_scope()"; - std::string exportFunction = base::StringPrintf( - "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", - parent_->scope_name.c_str()); - - base::Value::Dict spec; - spec.Set("value", std::move(activeJobs[job_id]->spec_parsed)); - base::Value::List args = std::move(parent_->scope_args); - args.Insert(args.begin(), base::Value(std::move(spec))); - base::Value::Dict params; - params.Set("functionDeclaration", exportFunction); - params.Set("arguments", std::move(args)); - params.Set("returnByValue", false); - params.Set("userGesture", true); - params.Set("awaitPromise", true); - params.Set("executionContextId", activeJobs[job_id]->executionId); - LOG(INFO) << "Params for loading script:"; - LOG(INFO) << params.DebugString(); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.callFunctionOn", - std::move(params), - base::BindOnce(&Dispatch::runJob6_processImage, base::Unretained(this), job_id)); - return; - } - std::string scriptPath(*activeJobs[job_id]->scriptItr); - std::ifstream script(scriptPath); - if (!script.is_open()) { - LOG(ERROR) << "Problem with opening script"; -#if defined(OS_WIN) - std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory.", - scriptPath.c_str()); -#else - std::string error = base::StringPrintf("Failed to find, or open, local file at %s with working directory %s", - scriptPath.c_str(), parent_->cwd.value().c_str()); -#endif - LOG(ERROR) << error; - parent_->Api_OldMsg(404, error); - // TODO gotta kill job - return; - } - std::string scriptString((std::istreambuf_iterator(script)), - std::istreambuf_iterator()); - auto after_loaded = base::BindRepeating( - &Dispatch::runJob5_runLoadedScript, base::Unretained(this), job_id); - - base::Value::Dict script_params; - script_params.Set("expression", scriptString); - script_params.Set("sourceURL", scriptPath); - script_params.Set("persistScript", true); - script_params.Set("executionContextId", activeJobs[job_id]->executionId); - LOG(INFO) << "Sending script to compile"; - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.compileScript", std::move(script_params), after_loaded); - } - - void Dispatch::runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg) { - LOG(INFO) << "job5_run loaded: Script compiled, trying to run"; - LOG(INFO) << msg.DebugString(); - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob5_runLoadedScript", job_id)) return; - LOG(INFO) << "Not cancelled"; - activeJobs[job_id]->scriptItr++; - - auto after_run = base::BindRepeating( - &Dispatch::runJob4_loadNextScript, base::Unretained(this), job_id); - - base::Value::Dict script_params; - std::string scriptId = *msg.FindDict("result")->FindString("scriptId"); - script_params.Set("scriptId", scriptId); - activeJobs[job_id]->currentTab->client_->SendCommand("Runtime.runScript", std::move(script_params), after_run); - } - - void Dispatch::runJob6_processImage(const int& job_id, base::Value::Dict msg) { - LOG(INFO) << "job6_Processing image"; - LOG(INFO) << msg.DebugString(); - if (activeJobs.find(job_id) == activeJobs.end() || checkError(msg, "runJob6_processImage", job_id)) return; - LOG(INFO) << "Not cancelled"; - LOG(INFO) << msg.DebugString(); - if (!msg.FindDict("result")->FindDict("exceptionDetails")) { - std::string result = *msg.FindDict("result")->FindDict("result")->FindString("value"); - LOG(INFO) << "Got result into string"; - LOG(INFO) << result; - LOG(INFO) << "PostEchoTaskOld about to be called"; - parent_->PostEchoTaskOld(result.c_str()); - LOG(INFO) << "PostEchoTaskOld called"; - } else { - LOG(INFO) << "Bad result"; // TODO: needs to somehow let js know... - parent_->Api_OldMsg(400, "Javascript in scope provoked exception"); - } - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::closeJob, base::Unretained(this), job_id)); // we're done with this job_id - LOG(INFO) << "About to return from runJob6_processImage, posted closejob task"; - return; - } - - void Dispatch::closeJob(const int& job_id) { // browser is modifying activejobs/etc, it should be jobline - LOG(INFO) << "close Job called"; - int messageId = activeJobs[job_id]->id; - if (activeJobs.find(job_id) == activeJobs.end()) return; - auto oldTab = std::move(activeJobs[job_id]->currentTab); - auto oldJob = std::move(activeJobs[job_id]); - oldJob.reset(); - activeJobs.erase(job_id); - sortTab(messageId, std::move(oldTab)); - } - - void Dispatch::PostJob(std::unique_ptr job) { - if (job->format == "eps" && !popplerAvailable) { - parent_->Api_OldMsg( - 530, - "Exporting to EPS format requires the pdftops command " - "which is provided by the poppler library. " - "Please install poppler and make sure the pdftops command " - "is available on the PATH"); - return; - } - - // Validate inkscape installed if format is emf - if (job->format == "emf" && !inkscapeAvailable) { - parent_->Api_OldMsg( - 530, - "Exporting to EMF format requires inkscape. " - "Please install inkscape and make sure it is available on the PATH"); - return; - } - - job_line->PostTask( - FROM_HERE, - base::BindOnce(&Dispatch::sortJob, base::Unretained(this), std::move(job))); - } - - // event callback signature - void Dispatch::dumpEvent(const base::Value::Dict& msg) { - LOG(INFO) << msg.DebugString(); - } - // command callback signature - void Dispatch::dumpResponse(base::Value::Dict msg) { - LOG(INFO) << msg.DebugString(); - } - -} diff --git a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h b/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h deleted file mode 100644 index 39c547a9..00000000 --- a/src/kaleido/cc/126.0.6478.126/dispatch/dispatch.h +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef DISPATCH_H_ -#define DISPATCH_H_ - -#include - -#include "components/devtools/simple_devtools_protocol_client/simple_devtools_protocol_client.h" - -#include "base/task/sequenced_task_runner.h" -#include "headless/app/kaleido.h" -#include -#include "base/environment.h" -#include "base/files/file_util.h" - -namespace kaleido { - using namespace simple_devtools_protocol_client; - - class Kaleido; - - - class Tab { - public: - Tab(); - ~Tab(); - // should disable other assignments - base::raw_ptr web_contents_; // not ours - std::unique_ptr client_; - }; - - class Job { - public: - Job(); - ~Job(); - // should disable other assignments - int version; - int id; // TODO change all this to messageId or userMsgId or something - int executionId; - base::Value::Dict spec_parsed; - std::string format; - std::string scope; - std::unique_ptr currentTab; - SimpleDevToolsProtocolClient::EventCallback runtimeEnableCb; - std::vector::iterator scriptItr; - - }; - - // probably should be a singleton, could use static, make_unique, etc - // Sadly, callback hell persists in google's chromium. - // DevTools is an asynchronous IPC messaging platform, their internal API uses callbacks, - // not blockable coroutines- just callbacks without async/await to linearize - // the architecture. So how do we make it easier to read? I can't use lambda functions because - // lambda functions + class methods don't mix w/ google's callback utilities. - // A full state machine that manages callbacks as subroutines would - // be absurdly out of scope. (note added later: chromium forces it) - // - // Ergo, patterns like createTab1_desc(), createTab2_desc() clarify the concepts, - // the process started by a CreateTab() public call. - // - class Dispatch { - public: - Dispatch(raw_ptr parent_); - ~Dispatch() = delete; - - Dispatch(const Dispatch&) = delete; - Dispatch& operator=(const Dispatch&) = delete; - void CreateTab(int id, const GURL &url); - void PostJob(std::unique_ptr); - void ReloadAll(); - - void Release() { - // browser thread removing active jobs and tabs, it needs to happen in two parts - // jobline has to remove it from the queue or array - // browser has to actually destroy it - // browser will always finish its task if shutdown is called - browser_devtools_client_.DetachClient(); - for (auto &it : activeJobs) { - activeJobs[it.first].reset(); - activeJobs.erase(it.first); - } - while (tabs.size()) { - tabs.front().reset(); - tabs.pop(); - } - parent_ = nullptr; - // go through tab and active jobs, maybe have to cancel stuff - } - - - private: - - - raw_ptr parent_; - // a devtools client for the _whole_ browser process (not a tab) - SimpleDevToolsProtocolClient browser_devtools_client_; - - // Represent connections to a tab - std::queue> tabs; - std::queue> jobs; - int job_number = 0; - - std::unordered_map> activeJobs; - - // All queue operations happen on a SequencedTaskRunner for memory safety - // Note: no callbacks allowed from within the SequencedTaskRunner - scoped_refptr job_line; - - void runJob1_resetTab(const int &job_id); - void runJob2_reloadTab(const int &job_id, base::Value::Dict msg); - void runJob3_loadScripts(const int &job_id, const base::Value::Dict& msg); - void runJob4_loadNextScript(const int &job_id, const base::Value::Dict msg); - void runJob5_runLoadedScript(const int &job_id, const base::Value::Dict msg); - void runJob6_processImage(const int &job_id, const base::Value::Dict msg); - - void sortTab(int id, std::unique_ptr tab); - void sortJob(std::unique_ptr); - void closeJob(const int &job_id); - void dispatchJob(std::unique_ptr job, std::unique_ptr tab); - void dumpEvent(const base::Value::Dict& msg); - void dumpResponse(base::Value::Dict msg); - void reloadAll(); - - bool popplerAvailable; - bool inkscapeAvailable; - std::unique_ptr env; - - inline bool checkError(const base::Value::Dict &msg, const std::string &context, const int& job_id); - }; -} - -#endif // DISPATCH_H_ diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc b/src/kaleido/cc/126.0.6478.126/kaleido.cc deleted file mode 100644 index 4f50a916..00000000 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc +++ /dev/null @@ -1,518 +0,0 @@ -// kaleido.cc: -// goals: -// * start up the browser -// * start up the tab manager -// * start up the IO thread - -#include -#include -#include - - -#include - -#include "headless/app/kaleido.h" - -// Browser stuff -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/public/headless_browser.h" -#include "headless/public/headless_browser_context.h" - -// Derp -#include "base/logging.h" - -// Callbacks and threads -#include "base/functional/bind.h" -#include "base/task/thread_pool.h" - -// For JS -#include "third_party/abseil-cpp/absl/types/optional.h" -#include -#include "base/json/json_reader.h" - -#include "headless/app/scopes/Factory.h" -// For copy 1 -#include "base/command_line.h" - -/// COPY 2 -#include "base/files/file_util.h" -#include "base/strings/stringprintf.h" -#include -#include - -#define FILE_URI_PREFIX "file://" -#if BUILDFLAG(IS_WIN) -#define HTML L"html" -#else -#define HTML "html" -#endif - - -// COPY -// -// OMG -// - -// Copyright 2016 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -#include "headless/public/headless_shell.h" -#include -#include "base/base_switches.h" -#include "base/command_line.h" -#include "base/files/file_util.h" -#include "base/functional/bind.h" -#include "base/logging.h" -#include "base/task/thread_pool.h" -#include "base/version_info/version_info.h" -#include "build/branding_buildflags.h" -#include "build/build_config.h" -#include "content/public/app/content_main.h" -#include "content/public/common/content_switches.h" -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/lib/browser/headless_web_contents_impl.h" -#include "headless/lib/headless_content_main_delegate.h" -#include "headless/public/headless_browser.h" -#include "headless/public/headless_browser_context.h" -#include "headless/public/headless_web_contents.h" -#include "headless/public/switches.h" -#include "net/base/filename_util.h" -#include "url/gurl.h" -#if BUILDFLAG(IS_MAC) -#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck -#endif -#if BUILDFLAG(IS_WIN) -#include "base/strings/utf_string_conversions.h" -#include "components/crash/core/app/crash_switches.h" // nogncheck -#include "components/crash/core/app/run_as_crashpad_handler_win.h" -#include "sandbox/win/src/sandbox_types.h" -#endif -#if defined(HEADLESS_USE_POLICY) -#include "components/headless/policy/headless_mode_policy.h" // nogncheck -#endif -#if defined(HEADLESS_ENABLE_COMMANDS) -#include "components/headless/command_handler/headless_command_handler.h" // nogncheck -#endif -namespace headless { -namespace { -GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { -#if BUILDFLAG(IS_WIN) - GURL url(base::WideToUTF8(arg)); -#else - GURL url(arg); -#endif - if (url.is_valid() && url.has_scheme()) - return url; - return net::FilePathToFileURL( - base::MakeAbsoluteFilePath(base::FilePath(arg))); -} // useful but bring it in later -// An application which implements a simple headless browser. -class HeadlessShell { - public: - HeadlessShell() = default; - HeadlessShell(const HeadlessShell&) = delete; - HeadlessShell& operator=(const HeadlessShell&) = delete; - ~HeadlessShell() = default; - void OnBrowserStart(HeadlessBrowser* browser); - private: - void ShutdownSoon(); - void Shutdown(); - raw_ptr browser_ = nullptr; -}; -void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { - //std::cout << "We cool" << std::endl; - browser_ = browser; - base::raw_ptr kaleido = new kaleido::Kaleido(); - kaleido->OnBrowserStart(browser); - // seg fault - return; - // Otherwise instantiate headless shell command handler that will - // execute the commands against the target page. -} -void HeadlessShell::ShutdownSoon() { - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&HeadlessShell::Shutdown, base::Unretained(this))); -} -void HeadlessShell::Shutdown() { - browser_.ExtractAsDangling()->Shutdown(); -} -void HeadlessChildMain(content::ContentMainParams params) { - HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - // Note that exiting from here means that base::AtExitManager objects will not - // have a chance to be destroyed (typically in main/WinMain). - // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown - // crashes and slowdowns on shutdown. - base::Process::TerminateCurrentProcessImmediately(rc); -} -int HeadlessBrowserMain(content::ContentMainParams params) { -#if DCHECK_IS_ON() - // The browser can only be initialized once. - static bool browser_was_initialized; - DCHECK(!browser_was_initialized); - browser_was_initialized = true; - // Child processes should not end up here. - DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( - ::switches::kProcessType)); -#endif - HeadlessShell shell; - auto browser = std::make_unique( - base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); - HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; - return content::ContentMain(std::move(params)); -} -} // namespace -int HeadlessShellMain(content::ContentMainParams params) { -#if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); -#else - base::CommandLine::Init(params.argc, params.argv); -#endif // BUILDFLAG(IS_WIN) - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - std::string process_type = - command_line.GetSwitchValueASCII(::switches::kProcessType); -#if defined(HEADLESS_USE_CRASHPAD) - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } -#endif // defined(HEADLESS_USE_CRASHPAD) - if (!process_type.empty()) { - HeadlessChildMain(std::move(params)); - NOTREACHED_IN_MIGRATION(); - } -#if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); -#endif -#if BUILDFLAG(IS_FUCHSIA) - // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. - command_line.AppendSwitch(::switches::kDisableGpu); -#endif - if (command_line.GetArgs().size() > 1) { - LOG(ERROR) << "Multiple targets are not supported."; - return EXIT_FAILURE; - } - return HeadlessBrowserMain(std::move(params)); -} -} // namespace headless - -/// -/// END OMG -/// -/// - -/// END COPY 2 -namespace kaleido { - -Kaleido::Kaleido() = default; - -// Control Flow, declare here -void Kaleido::ShutdownSoon() { - scope_ptr = nullptr; - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&Kaleido::ShutdownTask, base::Unretained(this))); -} -void Kaleido::ShutdownTask() { - LOG(INFO) << "Calling shutdown on browser"; - if (tmpFileName.value().size()) base::DeleteFile(tmpFileName); - dispatch->Release(); // Fine to destruct what we have here. - dispatch = nullptr; - browser_.ExtractAsDangling()->Shutdown(); -} - -void Kaleido::OnBrowserStart(headless::HeadlessBrowser* browser) { - //std::cout << "OnBrowserStart" << std::endl; - browser_ = browser; // global by another name - - // Actual constructor duties, init stuff - output_sequence = base::ThreadPool::CreateSequencedTaskRunner( - {base::TaskPriority::BEST_EFFORT, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN} - ); // Can't do this before OnBrowserStart! - - dispatch = new Dispatch(this); // Tab manager - - // Create browser context and set it as the default. The default browser - // context is used by the Target.createTarget() DevTools command when no other - // context is given. - // This stuff has weird side effects and I'm not sure its necessary. - headless::HeadlessBrowserContext::Builder context_builder = browser_->CreateBrowserContextBuilder(); - context_builder.SetIncognitoMode(true); - headless::HeadlessBrowserContext* browser_context = context_builder.Build(); - browser_->SetDefaultBrowserContext(browser_context); - - // BEGIN COPY 1 - // Get the scope from the command line. - base::CommandLine::StringVector args = - base::CommandLine::ForCurrentProcess()->GetArgs(); - if (args.empty()) { - Api_OldMsg(1, "No Scope Specified"); - browser->Shutdown(); - exit(EXIT_FAILURE); - } - // Get first command line argument as a std::string using a string stream. - // This handles the case where args[0] is a wchar_t on Windows - std::stringstream scope_stringstream; - scope_stringstream << args[0]; - scope_name = scope_stringstream.str(); - - // Instantiate renderer scope - scope_ptr = LoadScope(scope_name); - scope_args = scope_ptr->BuildCallArguments(); - - if (!scope_ptr) { - // Invalid scope name - Api_OldMsg(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); - browser->Shutdown(); - exit(EXIT_FAILURE); - } else if (!scope_ptr->errorMessage.empty()) { - Api_OldMsg(1, scope_ptr->errorMessage); - browser->Shutdown(); - exit(EXIT_FAILURE); - } - - // Add javascript bundle - scope_ptr->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); - - // Build initial HTML file - std::list scriptTags = scope_ptr->ScriptTags(); - std::stringstream htmlStringStream; - htmlStringStream << ""; - - // Add script tags - while (!scriptTags.empty()) { - std::string tagValue = scriptTags.front(); - GURL tagUrl(tagValue); - if (tagUrl.is_valid()) { - // Value is a url, use a src of script tag - htmlStringStream << ""; - } else { - // Value is not a url, use a inline JavaScript code - htmlStringStream << "\n"; - } - scriptTags.pop_front(); - } - // Close head and add body with img tag place holder for PDF export - htmlStringStream << ""; - - // Write html to temp file - tmpFileName = base::FormatTemporaryFileName(HTML); - #if BUILDFLAG(IS_WIN) - tmpFileName = base::FilePath(base::StrCat({tmpFileName.value(),L".", HTML})); - #endif - std::ofstream htmlFile; - htmlFile.open(tmpFileName.value(), std::ios::out); - htmlFile << htmlStringStream.str(); - LOG(INFO) << "Dumping HTML from memory"; - LOG(INFO) << htmlStringStream.str().c_str(); - LOG(INFO) << "Log file name:"; - LOG(INFO) << tmpFileName; - htmlFile.close(); - - // Create file:// url to temp file - LOG(INFO) << "Log file name narrowed:"; - GURL url = headless::ConvertArgumentToURL(tmpFileName.value()); - LOG(INFO) << url.spec(); - - // Initialization succeeded - Api_OldMsg(0, "Initilization Success"); - - // END COPY 1 - // Run - dispatch->CreateTab(-1, url); - // PART OF copy 1 - for (std::string const &s: scope_ptr->LocalScriptFiles()) { - localScriptFiles.push_back(s); - } - base::GetCurrentDirectory(&cwd); - // END THAT - - StartListen(); - // TODO Destructor, temp files not destroyed - -} - -// Wish this were a lambda (as in PostEcho) but would have no access to private vars -void Kaleido::listenTask() { - std::string in; - if (!std::getline(std::cin, in).good()) { - LOG(WARNING) << in << ": " - << (std::cin.eof() ? "EOF | " : "") - << (std::cin.eof() ? "BAD | " : "GOOD | ") - << (std::cin.eof() ? "FAIL" : "SUCCESS"); - ShutdownSoon(); - return; - }; - if (in == "\n") postListenTask(); - if (ReadJSON(in)) postListenTask(); -} - -void Kaleido::postListenTask() { - base::ThreadPool::PostTask( - FROM_HERE, { - base::TaskPriority::BEST_EFFORT, - base::MayBlock(), - base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, - base::BindOnce(&Kaleido::listenTask, base::Unretained(this)) - ); -} -void Kaleido::StartListen() { - if(listening.test_and_set(std::memory_order_relaxed)) return; - postListenTask(); -} - -void Kaleido::PostEchoTask(const std::string &msg) { - if (old) { - LOG(INFO) << msg; - return; - } - auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; - output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); -} - -void Kaleido::PostEchoTaskOld(const std::string &msg) { - auto echo = [](const std::string &msg){ std::cout << msg << std::endl; }; - output_sequence->PostTask(FROM_HERE, base::BindOnce(echo, msg)); -} - - -bool Kaleido::ReadJSON(std::string &msg) { - absl::optional json = base::JSONReader::Read(msg); - if (!json) { - LOG(WARNING) << "Recieved invalid JSON from client connected to Kaleido:"; - LOG(WARNING) << msg; - Api_ErrorInvalidJSON(); - return true; - } - base::Value::Dict &jsonDict = json->GetDict(); - absl::optional id = jsonDict.FindInt("id"); - std::string *operation = jsonDict.FindString("operation"); - std::string *maybe_format = jsonDict.FindString("format"); - // The only operation we handle here. We're shutting down. - // Trust chromium to handle it all when the browser exits - // Doesn't need id, no return - if (operation && *operation == "shutdown") { - LOG(INFO) << "Shutdown clean"; - ShutdownSoon(); - return false; // breaks stdin loop - } - if (!operation || !id) { - // we are likely using the old protocol, which for now is all we accept - if (maybe_format) { - LOG(INFO) << "It seems like we're using the old protocol."; - old=true; - std::unique_ptr job = std::make_unique(); - job->version = 0; - job->id = -2; - job->format = *maybe_format; - job->scope = scope_ptr->ScopeName().c_str(); - job->spec_parsed = std::move(jsonDict); - dispatch->PostJob(std::move(job)); - return true; - } else { - Api_ErrorMissingBasicFields(id); - return true; - } - } - if (!old) { - if (*id < 0) { - Api_ErrorNegativeId(*id); - return true; - } - if (messageIds.find(*id) != messageIds.end()) { - Api_ErrorDuplicateId(*id); - return true; - } - } - if (operation && *operation == "create_tab") { - std::string urlCopy(tmpFileName.value().begin(), tmpFileName.value().end()); - dispatch->CreateTab(*id, GURL(FILE_URI_PREFIX + urlCopy)); - } else if (operation && *operation == "reload") { - dispatch->ReloadAll(); - } else if (operation && *operation == "noop") {} else { - Api_ErrorUnknownOperation(*id, *operation); - return true; - } - - - if (!old) messageIds.emplace(*id, *operation); - return true; -} - -void Kaleido::ReportOperation(int id, bool success, const base::Value::Dict &msg) { - if (!success && id < 0) { - LOG(ERROR) << "Failure of internal dev tools operation id " - << std::to_string(id) - << " and msg: " - << msg; - return; - } else if (success && id < 0) { - LOG(INFO) << "Success of internal dev tools operation id " - << std::to_string(id) - << " and msg: " - << msg; - return; - } - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":)"+std::to_string(success)+R"(, "msg":)"+msg.DebugString()+R"(})"); -} -void Kaleido::ReportFailure(int id, const std::string& msg) { - if (id < 0) { - LOG(ERROR) << "Failure of internal dev tools operation id " - << std::to_string(id) - << " and msg: " - << msg; - return; - } - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":false, "msg":")"+msg+R"("})"); -} - -void Kaleido::ReportSuccess(int id) { - if (id < 0) { - LOG(INFO) << "Success of message with id " << std::to_string(id); - return; - } - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"success":true})"); -} - -void Kaleido::Api_ErrorInvalidJSON() { - PostEchoTask(R"({"error":"malformed JSON string"})"); -} - -void Kaleido::Api_ErrorMissingBasicFields(absl::optional id) { - if (id) { - PostEchoTask(R"({"id":)"+std::to_string(*id)+R"(,"error":"all messages must contain an 'id' integer and an 'operation' string"})"); - } else { - PostEchoTask(R"({"error":"all messages must contain an 'id' integer and an 'operation' string"})"); - } -} - -void Kaleido::Api_ErrorDuplicateId(int id) { - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"message using already-used 'id' integer"})"); -} - -void Kaleido::Api_ErrorNegativeId(int id) { - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"must use 'id' integer >=0"})"); -} - -void Kaleido::Api_ErrorUnknownOperation(int id, const std::string& op) { - PostEchoTask(R"({"id":)"+std::to_string(id)+R"(,"error":"Unknown operation:)"+op+R"("})"); -} - -void Kaleido::Api_OldMsg(int code, std::string message) { - static std::string *version = nullptr; - if (!version) { - std::ifstream verStream("version"); - version = new std::string(( - std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); - } - std::string error = base::StringPrintf( - "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}", - code, message.c_str(), version->c_str()); - PostEchoTaskOld(error); -} - -} // namespace kaleido diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.cc-example b/src/kaleido/cc/126.0.6478.126/kaleido.cc-example deleted file mode 100644 index d3d55e16..00000000 --- a/src/kaleido/cc/126.0.6478.126/kaleido.cc-example +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright 2016 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -#include "headless/public/headless_shell.h" -#include -#include "base/base_switches.h" -#include "base/command_line.h" -#include "base/files/file_util.h" -#include "base/functional/bind.h" -#include "base/logging.h" -#include "base/task/thread_pool.h" -#include "base/version_info/version_info.h" -#include "build/branding_buildflags.h" -#include "build/build_config.h" -#include "content/public/app/content_main.h" -#include "content/public/common/content_switches.h" -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/lib/browser/headless_web_contents_impl.h" -#include "headless/lib/headless_content_main_delegate.h" -#include "headless/public/headless_browser.h" -#include "headless/public/headless_browser_context.h" -#include "headless/public/headless_web_contents.h" -#include "headless/public/switches.h" -#include "net/base/filename_util.h" -#include "url/gurl.h" -#if BUILDFLAG(IS_MAC) -#include "components/os_crypt/sync/os_crypt_switches.h" // nogncheck -#endif -#if BUILDFLAG(IS_WIN) -#include "base/strings/utf_string_conversions.h" -#include "components/crash/core/app/crash_switches.h" // nogncheck -#include "components/crash/core/app/run_as_crashpad_handler_win.h" -#include "sandbox/win/src/sandbox_types.h" -#endif -#if defined(HEADLESS_USE_POLICY) -#include "components/headless/policy/headless_mode_policy.h" // nogncheck -#endif -#if defined(HEADLESS_ENABLE_COMMANDS) -#include "components/headless/command_handler/headless_command_handler.h" // nogncheck -#endif -namespace headless { -namespace { -#if BUILDFLAG(IS_WIN) -const wchar_t kAboutBlank[] = L"about:blank"; -#else -const char kAboutBlank[] = "about:blank"; -#endif -GURL ConvertArgumentToURL(const base::CommandLine::StringType& arg) { -#if BUILDFLAG(IS_WIN) - GURL url(base::WideToUTF8(arg)); -#else - GURL url(arg); -#endif - if (url.is_valid() && url.has_scheme()) - return url; - return net::FilePathToFileURL( - base::MakeAbsoluteFilePath(base::FilePath(arg))); -} -// An application which implements a simple headless browser. -class HeadlessShell { - public: - HeadlessShell() = default; - HeadlessShell(const HeadlessShell&) = delete; - HeadlessShell& operator=(const HeadlessShell&) = delete; - ~HeadlessShell() = default; - void OnBrowserStart(HeadlessBrowser* browser); - private: -#if defined(HEADLESS_ENABLE_COMMANDS) - void OnProcessCommandsDone(HeadlessCommandHandler::Result result); -#endif - void ShutdownSoon(); - void Shutdown(); - raw_ptr browser_ = nullptr; -}; -void HeadlessShell::OnBrowserStart(HeadlessBrowser* browser) { - browser_ = browser; -#if defined(HEADLESS_USE_POLICY) - if (HeadlessModePolicy::IsHeadlessModeDisabled( - static_cast(browser)->GetPrefs())) { - LOG(ERROR) << "Headless mode is disallowed by the system admin."; - ShutdownSoon(); - return; - } -#endif - HeadlessBrowserContext::Builder context_builder = - browser_->CreateBrowserContextBuilder(); - // Create browser context and set it as the default. The default browser - // context is used by the Target.createTarget() DevTools command when no other - // context is given. - HeadlessBrowserContext* browser_context = context_builder.Build(); - browser_->SetDefaultBrowserContext(browser_context); - const bool devtools_enabled = static_cast(browser) - ->options() - ->DevtoolsServerEnabled(); - // If no explicit URL is present navigate to about:blank unless we're being - // driven by a debugger. - base::CommandLine::StringVector args = - base::CommandLine::ForCurrentProcess()->GetArgs(); - args.erase( - std::remove(args.begin(), args.end(), base::CommandLine::StringType()), - args.end()); - if (args.empty() && !devtools_enabled) { - args.push_back(kAboutBlank); - } - if (args.empty()) { - return; - } - GURL target_url = ConvertArgumentToURL(args.front()); - HeadlessWebContents::Builder builder( - browser_context->CreateWebContentsBuilder()); - // If driven by a debugger just open the target page and - // leave expecting the debugger will do what they need. - if (devtools_enabled) { - HeadlessWebContents* web_contents = - builder.SetInitialURL(target_url).Build(); - if (!web_contents) { - LOG(ERROR) << "Navigation to " << target_url << " failed."; - ShutdownSoon(); - } - return; - } - // Otherwise instantiate headless shell command handler that will - // execute the commands against the target page. -#if defined(HEADLESS_ENABLE_COMMANDS) - GURL handler_url = HeadlessCommandHandler::GetHandlerUrl(); - HeadlessWebContents* web_contents = - builder.SetInitialURL(handler_url).Build(); - if (!web_contents) { - LOG(ERROR) << "Navigation to " << handler_url << " failed."; - ShutdownSoon(); - return; - } - HeadlessCommandHandler::ProcessCommands( - HeadlessWebContentsImpl::From(web_contents)->web_contents(), - std::move(target_url), - base::BindOnce(&HeadlessShell::OnProcessCommandsDone, - base::Unretained(this))); -#endif -} -#if defined(HEADLESS_ENABLE_COMMANDS) -void HeadlessShell::OnProcessCommandsDone( - HeadlessCommandHandler::Result result) { - if (result != HeadlessCommandHandler::Result::kSuccess) { - static_cast(browser_)->ShutdownWithExitCode( - static_cast(result)); - return; - } - Shutdown(); -} -#endif -void HeadlessShell::ShutdownSoon() { - browser_->BrowserMainThread()->PostTask( - FROM_HERE, - base::BindOnce(&HeadlessShell::Shutdown, base::Unretained(this))); -} -void HeadlessShell::Shutdown() { - browser_.ExtractAsDangling()->Shutdown(); -} -void HeadlessChildMain(content::ContentMainParams params) { - HeadlessContentMainDelegate delegate(nullptr); - params.delegate = &delegate; - int rc = content::ContentMain(std::move(params)); - // Note that exiting from here means that base::AtExitManager objects will not - // have a chance to be destroyed (typically in main/WinMain). - // Use TerminateCurrentProcessImmediately instead of exit to avoid shutdown - // crashes and slowdowns on shutdown. - base::Process::TerminateCurrentProcessImmediately(rc); -} -int HeadlessBrowserMain(content::ContentMainParams params) { -#if DCHECK_IS_ON() - // The browser can only be initialized once. - static bool browser_was_initialized; - DCHECK(!browser_was_initialized); - browser_was_initialized = true; - // Child processes should not end up here. - DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( - ::switches::kProcessType)); -#endif -#if defined(HEADLESS_ENABLE_COMMANDS) - base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); - if (HeadlessCommandHandler::HasHeadlessCommandSwitches(command_line)) { - if (command_line.HasSwitch(::switches::kRemoteDebuggingPort) || - command_line.HasSwitch(::switches::kRemoteDebuggingPipe)) { - LOG(ERROR) - << "Headless commands are not compatible with remote debugging."; - return EXIT_FAILURE; - } - command_line.AppendSwitch(switches::kDisableLazyLoading); - } -#endif - HeadlessShell shell; - auto browser = std::make_unique( - base::BindOnce(&HeadlessShell::OnBrowserStart, base::Unretained(&shell))); - HeadlessContentMainDelegate delegate(std::move(browser)); - params.delegate = &delegate; - return content::ContentMain(std::move(params)); -} -} // namespace -int HeadlessShellMain(content::ContentMainParams params) { -#if BUILDFLAG(IS_WIN) - base::CommandLine::Init(0, nullptr); -#else - base::CommandLine::Init(params.argc, params.argv); -#endif // BUILDFLAG(IS_WIN) - base::CommandLine& command_line(*base::CommandLine::ForCurrentProcess()); - std::string process_type = - command_line.GetSwitchValueASCII(::switches::kProcessType); -#if defined(HEADLESS_USE_CRASHPAD) - if (process_type == crash_reporter::switches::kCrashpadHandler) { - return crash_reporter::RunAsCrashpadHandler( - *base::CommandLine::ForCurrentProcess(), base::FilePath(), - ::switches::kProcessType, switches::kUserDataDir); - } -#endif // defined(HEADLESS_USE_CRASHPAD) - if (!process_type.empty()) { - HeadlessChildMain(std::move(params)); - NOTREACHED_IN_MIGRATION(); - } -#if BUILDFLAG(IS_MAC) - command_line.AppendSwitch(os_crypt::switches::kUseMockKeychain); -#endif -#if BUILDFLAG(IS_FUCHSIA) - // TODO(fuchsia): Remove this when GPU accelerated compositing is ready. - command_line.AppendSwitch(::switches::kDisableGpu); -#endif - if (command_line.GetArgs().size() > 1) { - LOG(ERROR) << "Multiple targets are not supported."; - return EXIT_FAILURE; - } - return HeadlessBrowserMain(std::move(params)); -} -} // namespace headless diff --git a/src/kaleido/cc/126.0.6478.126/kaleido.h b/src/kaleido/cc/126.0.6478.126/kaleido.h deleted file mode 100644 index 38dfc78f..00000000 --- a/src/kaleido/cc/126.0.6478.126/kaleido.h +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef KALEIDO_H_ -#define KALEIDO_H_ - -#include -#include -#include "third_party/abseil-cpp/absl/types/optional.h" - -// Browser Includes -#include "headless/lib/browser/headless_browser_impl.h" -#include "headless/public/headless_browser.h" - -#include "base/task/sequenced_task_runner.h" -#include "headless/app/dispatch/dispatch.h" - -#include "base/task/thread_pool.h" - -namespace kaleido { - namespace scopes { - class BaseScope; - } - void AnotherBrowserStart(headless::HeadlessBrowser* browser); - class Dispatch; - // Kaleido is our app, basically. - // Should be singleton, but non-trivial work - // SIGINT and SIGTERM would be nice - // TODO: For now, they can catch and write a message to shutdown to its own stdin - class Kaleido { - public: - Kaleido(); - ~Kaleido() = delete; - - Kaleido(const Kaleido&) = delete; - Kaleido& operator=(const Kaleido&) = delete; - - // make more private? - std::vector localScriptFiles; - base::FilePath cwd; - base::raw_ptr scope_ptr; - - // This is basically a singleton. Could we pass the constructor instead of on browser start? - void OnBrowserStart(headless::HeadlessBrowser* browser); - - // Dispatch uses this to let us know how things went - void PostEchoTaskOld(const std::string&); - void ReportOperation(int id, bool success, const base::Value::Dict &msg); - void ReportSuccess(int id); - void ReportFailure(int id, const std::string& msg); - void Api_OldMsg(int code, std::string message); - // JSON Helper functions for creating common messages to user - void Api_ErrorInvalidJSON(); - void Api_ErrorMissingBasicFields(absl::optional); - void Api_ErrorDuplicateId(int); - void Api_ErrorNegativeId(int); - void Api_ErrorUnknownOperation(int id, const std::string& op); - - // a browser, global basically, - // this is needed for anything that does anything on thread control - raw_ptr browser_; - std::string scope_name; - base::Value::List scope_args; - void ShutdownSoon(); - bool old = false; - - private: - - // User IO stuff for main - void StartListen(); // continually reads stdin on parallel task - void listenTask(); - void postListenTask(); - std::atomic_flag listening = ATOMIC_FLAG_INIT; // to only call postListenTask() once - void PostEchoTask(const std::string&); // echo something out - - std::unordered_map messageIds; // every message must have a unique id - bool ReadJSON(std::string&); // try to turn message into json object - - // a thread, for making sure output is orderer and messages aren't mixed - scoped_refptr output_sequence; - - // our tab dispatch, our actual browser controller - raw_ptr dispatch; - - - void ShutdownTask(); - - // FROM PREVIOUS STRUCTURE - base::FilePath tmpFileName; - }; -} - - -#endif // KALEIDO_H_ - diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc deleted file mode 100644 index 179b7ba1..00000000 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2016 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -#include "build/build_config.h" -#include "headless/public/headless_shell.h" -#if BUILDFLAG(IS_WIN) -#include "content/public/app/sandbox_helper_win.h" -#include "sandbox/win/src/sandbox_types.h" // nogncheck -#elif BUILDFLAG(IS_MAC) -#include "base/check.h" -#include "sandbox/mac/seatbelt_exec.h" -#endif -int main(int argc, const char** argv) { - content::ContentMainParams params(nullptr); -#if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; -#elif !BUILDFLAG(IS_ANDROID) - params.argc = argc; - params.argv = argv; -#if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } -#endif // BUILDFLAG(IS_MAC) -#endif // BUILDFLAG(IS_WIN) - return headless::HeadlessShellMain(std::move(params)); -} diff --git a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-example b/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-example deleted file mode 100644 index 179b7ba1..00000000 --- a/src/kaleido/cc/126.0.6478.126/kaleido_main.cc-example +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2016 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -#include "build/build_config.h" -#include "headless/public/headless_shell.h" -#if BUILDFLAG(IS_WIN) -#include "content/public/app/sandbox_helper_win.h" -#include "sandbox/win/src/sandbox_types.h" // nogncheck -#elif BUILDFLAG(IS_MAC) -#include "base/check.h" -#include "sandbox/mac/seatbelt_exec.h" -#endif -int main(int argc, const char** argv) { - content::ContentMainParams params(nullptr); -#if BUILDFLAG(IS_WIN) - sandbox::SandboxInterfaceInfo sandbox_info = {nullptr}; - content::InitializeSandboxInfo(&sandbox_info); - // Sandbox info has to be set and initialized. - params.sandbox_info = &sandbox_info; -#elif !BUILDFLAG(IS_ANDROID) - params.argc = argc; - params.argv = argv; -#if BUILDFLAG(IS_MAC) - sandbox::SeatbeltExecServer::CreateFromArgumentsResult seatbelt = - sandbox::SeatbeltExecServer::CreateFromArguments( - argv[0], argc, const_cast(argv)); - if (seatbelt.sandbox_required) { - CHECK(seatbelt.server->InitializeSandbox()); - } -#endif // BUILDFLAG(IS_MAC) -#endif // BUILDFLAG(IS_WIN) - return headless::HeadlessShellMain(std::move(params)); -} diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Base.h b/src/kaleido/cc/126.0.6478.126/scopes/Base.h deleted file mode 100644 index c0e9b13e..00000000 --- a/src/kaleido/cc/126.0.6478.126/scopes/Base.h +++ /dev/null @@ -1,85 +0,0 @@ -// Build call arguments is fucked -// -// Created by jmmease on 6/17/20. -// - -#ifndef CHROMIUM_BASESCOPE_H -#define CHROMIUM_BASESCOPE_H -#include "base/strings/string_util.h" -#include "base/command_line.h" - -#include -#include -#include - - -namespace kaleido { - namespace scopes { - class BaseScope { - public: - BaseScope(); - BaseScope(const BaseScope &v); - virtual ~BaseScope(); - - virtual std::string ScopeName() = 0; - virtual base::Value::List BuildCallArguments(); - // For above, theoretically a JSON list would be - // fine and we should give them - // that option. - std::list ScriptTags(); - std::list LocalScriptFiles(); - std::string GetCommandLineSwitch(std::string name); - bool HasCommandLineSwitch(std::string name); - - std::string errorMessage; - - public: - std::list scriptTags; - std::list localScriptFiles; - const base::raw_ptr plugin; - }; - - BaseScope::BaseScope(): errorMessage(), scriptTags(), localScriptFiles() {} - BaseScope::BaseScope(const BaseScope &v): - scriptTags(v.scriptTags), - localScriptFiles(v.localScriptFiles) - {} - - BaseScope::~BaseScope() { - delete plugin; - } - - base::Value::List BaseScope::BuildCallArguments() { - base::Value::List empty; - return empty; - } - - std::list BaseScope::ScriptTags() { - // Return vector as value so that it is copied and caller is free to mutate it - return scriptTags; - } - - std::list BaseScope::LocalScriptFiles() { - // Return vector as value so that it is copied and caller is free to mutate it - return localScriptFiles; - } - - bool BaseScope::HasCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - return commandLine->HasSwitch(name); - } - - std::string BaseScope::GetCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - std::string value = commandLine->GetSwitchValueASCII(name); - - // Trim single and double quotes - base::TrimString(value, "\"", &value); - base::TrimString(value, "\'", &value); - - return value; - } - } -} - -#endif //CHROMIUM_BASESCOPE_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h b/src/kaleido/cc/126.0.6478.126/scopes/Factory.h deleted file mode 100644 index a1120a7f..00000000 --- a/src/kaleido/cc/126.0.6478.126/scopes/Factory.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// - -#ifndef CHROMIUM_FACTORY_H -#define CHROMIUM_FACTORY_H -#include "base/strings/string_util.h" - -#include "Plotly.h" -#include "Base.h" - - -kaleido::scopes::BaseScope* LoadScope(std::string name) { - std::string name_lower = base::ToLowerASCII(name); - if (name_lower == "plotly") { - return new kaleido::scopes::PlotlyScope(); - } else { - return nullptr; - } -} - -#endif //CHROMIUM_FACTORY_H diff --git a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h b/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h deleted file mode 100644 index ec901655..00000000 --- a/src/kaleido/cc/126.0.6478.126/scopes/Plotly.h +++ /dev/null @@ -1,126 +0,0 @@ -// build call arguments is fucked - -// -// Created by jmmease on 6/17/20. -// -#ifndef CHROMIUM_PLOTLYSCOPE_H -#define CHROMIUM_PLOTLYSCOPE_H -#include "Base.h" -#include "base/functional/bind.h" -#include "base/command_line.h" -#include "base/strings/string_util.h" -#include "base/strings/stringprintf.h" -#include -#include -#include -#include -#include - - -namespace kaleido { - namespace scopes { - - class PlotlyScope : public BaseScope { - public: - PlotlyScope(); - - ~PlotlyScope() override; - - PlotlyScope(const PlotlyScope &v); - - std::string ScopeName() override; - - base::Value::List BuildCallArguments() override; - - public: - std::string topojsonUrl; - std::string mapboxToken; - }; - - PlotlyScope::PlotlyScope() : topojsonUrl(), mapboxToken() { - // Add MathJax config - scriptTags.emplace_back("window.PlotlyConfig = {MathJaxConfig: 'local'}"); - - // Process plotlyjs - if (HasCommandLineSwitch("plotlyjs")) { - std::string plotlyjsArg = GetCommandLineSwitch("plotlyjs"); - - // Check if value is a URL - GURL plotlyjsUrl(plotlyjsArg); - if (plotlyjsUrl.is_valid()) { - scriptTags.push_back(plotlyjsArg); - } else { - // Check if this is a local file path - if (std::ifstream(plotlyjsArg)) { - localScriptFiles.emplace_back(plotlyjsArg); - } else { - errorMessage = base::StringPrintf("--plotlyjs argument is not a valid URL or file path: %s", - plotlyjsArg.c_str()); - return; - } - } - } else { - scriptTags.emplace_back("https://cdn.plot.ly/plotly-latest.min.js"); - } - - // MathJax - if (HasCommandLineSwitch("mathjax")) { - std::string mathjaxArg = GetCommandLineSwitch("mathjax"); - - GURL mathjaxUrl(mathjaxArg); - if (mathjaxUrl.is_valid()) { - std::stringstream mathjaxStringStream; - mathjaxStringStream << mathjaxArg << "?config=TeX-AMS-MML_SVG"; - scriptTags.push_back(mathjaxStringStream.str()); - } else { - errorMessage = base::StringPrintf("--mathjax argument is not a valid URL: %s", mathjaxArg.c_str()); - return; - } - } - - // Topojson - if (HasCommandLineSwitch("topojson")) { - std::string topojsonArg = GetCommandLineSwitch("topojson"); - if (GURL(topojsonArg).is_valid()) { - topojsonUrl = topojsonArg; - } else { - errorMessage = base::StringPrintf("--topojson argument is not a valid URL: %s", - topojsonArg.c_str()); - return; - } - } - - // Process mapbox-token - if (HasCommandLineSwitch("mapbox-access-token")) { - mapboxToken = GetCommandLineSwitch("mapbox-access-token"); - } - } - - PlotlyScope::~PlotlyScope() {} - - PlotlyScope::PlotlyScope(const PlotlyScope &v) : topojsonUrl(v.topojsonUrl), mapboxToken(v.mapboxToken) {} - - std::string PlotlyScope::ScopeName() { - return "plotly"; - } - - base::Value::List PlotlyScope::BuildCallArguments() { - - base::Value::List args; - - base::Value::Dict arg1; - arg1.Set("value", mapboxToken); - base::Value::Dict arg2; - arg2.Set("value", topojsonUrl); - - // Add mapbox token from command line - args.Append(std::move(arg1)); - args.Append(std::move(arg2)); - - // TODO essentially were setting strings to functions - return args; - } - } -} - -#endif //CHROMIUM_PLOTLYSCOPE_H diff --git a/src/kaleido/cc/88.0.4324.150/DEPS b/src/kaleido/cc/88.0.4324.150/DEPS deleted file mode 100644 index 7ea04c01..00000000 --- a/src/kaleido/cc/88.0.4324.150/DEPS +++ /dev/null @@ -1,7 +0,0 @@ -include_rules = { - "+cc/base/switches.h", - "+components/devtools/simple_devtools_protocol_client", - "+components/viz/common/switches.h", - "+sandbox/mac", -} - diff --git a/src/kaleido/cc/88.0.4324.150/kaleido.cc b/src/kaleido/cc/88.0.4324.150/kaleido.cc deleted file mode 100644 index 69dd3f79..00000000 --- a/src/kaleido/cc/88.0.4324.150/kaleido.cc +++ /dev/null @@ -1,628 +0,0 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// A small example application showing the use of the C++ Headless Chrome -// library. It navigates to a web site given on the command line, waits for it -// to load and prints out the DOM. -// -// Tip: start reading from the main() function below. - -#include "base/bind.h" -#include "base/command_line.h" -#include "base/memory/weak_ptr.h" -#include "base/json/json_reader.h" -#include "base/json/json_writer.h" -#include "base/strings/stringprintf.h" -#include "base/strings/string_split.h" -#include "base/files/file_util.h" -#include "base/environment.h" -#include "headless/public/devtools/domains/page.h" -#include "headless/public/devtools/domains/runtime.h" -#include "headless/public/headless_browser.h" -#include "headless/public/headless_devtools_client.h" -#include "headless/public/headless_devtools_target.h" -#include "headless/public/headless_web_contents.h" -#include "ui/gfx/geometry/size.h" - -#include "headless/app/kaleido.h" -#include "scopes/Factory.h" -#include "scopes/Base.h" -#include "utils.h" - -#include -#include -#include -#include -#include "stdlib.h" - - -#if defined(OS_WIN) -#include "content/public/app/sandbox_helper_win.h" -#include "sandbox/win/src/sandbox_types.h" - -namespace base { - // Chromium doens't provide and implementation of ExecutableExistsInPath on Windows, so we add one here - bool ExecutableExistsInPath(Environment* env, - const std::string& executable) { - std::string path; - if (!env->GetVar("PATH", &path)) { - LOG(ERROR) << "No $PATH variable. Assuming no " << executable << "."; - return false; - } - - for (const StringPiece& cur_path: - SplitStringPiece(path, ";", KEEP_WHITESPACE, SPLIT_WANT_NONEMPTY)) { - - // Build wide strings using wstringstreams - std::wstringstream wpath_ss; - wpath_ss << cur_path.as_string().c_str(); - - std::wstringstream wexecutable_ss; - wexecutable_ss << executable.c_str() << ".exe"; - - FilePath::StringPieceType w_cur_path(wpath_ss.str()); - FilePath file(w_cur_path); - - if (PathExists(file.Append(wexecutable_ss.str()))) { - return true; - } - } - return false; - } -} -#endif - -Kaleido::Kaleido( - headless::HeadlessBrowser* browser, - headless::HeadlessWebContents* web_contents, - std::string tmpFileName, - kaleido::scopes::BaseScope *scope_ptr -) - : tmpFileName(tmpFileName), - scope(scope_ptr), - env(base::Environment::Create()), - popplerAvailable(base::ExecutableExistsInPath(env.get(), "pdftops")), - inkscapeAvailable(base::ExecutableExistsInPath(env.get(), "inkscape")), - browser_(browser), - web_contents_(web_contents), - devtools_client_(headless::HeadlessDevToolsClient::Create()) { - - // Populate remainingLocalScriptsFiles vector - for (std::string const &s: scope_ptr->LocalScriptFiles()) { - localScriptFiles.push_back(s); - } - base::GetCurrentDirectory(&cwd); - web_contents_->AddObserver(this); -} - -Kaleido::~Kaleido() { - - // Delete tmp file - std::remove(tmpFileName.c_str()); - - // Note that we shut down the browser last, because it owns objects such as - // the web contents which can no longer be accessed after the browser is gone. - devtools_client_->GetPage()->RemoveObserver(this); - web_contents_->GetDevToolsTarget()->DetachClient(devtools_client_.get()); - web_contents_->RemoveObserver(this); - browser_->Shutdown(); -} - -// This method is called when the tab is ready for DevTools inspection. -void Kaleido::DevToolsTargetReady() { - // Attach our DevTools client to the tab so that we can send commands to it - // and observe events. - web_contents_->GetDevToolsTarget()->AttachClient(devtools_client_.get()); - - // Start observing events from DevTools's page domain. This lets us get - // notified when the page has finished loading. Note that it is possible - // the page has already finished loading by now. See - // HeadlessShell::DevToolTargetReady for how to handle that case correctly. - devtools_client_->GetPage()->AddObserver(this); - devtools_client_->GetPage()->Enable(); - - devtools_client_->GetRuntime()->AddObserver(this); - devtools_client_->GetRuntime()->Enable(); -} - -void Kaleido::OnLoadEventFired( - const headless::page::LoadEventFiredParams& params) { - // Enable runtime - nextScriptIndex = 0; - LoadNextScript(); -} - -void Kaleido::OnExecutionContextCreated( - const headless::runtime::ExecutionContextCreatedParams& params) { - contextId = params.GetContext()->GetId(); -} - -void Kaleido::LoadNextScript() { - if (localScriptFiles.size() <= nextScriptIndex) { - // Finished processing startup scripts, get heap memory usage, which will then start ExportNext loop - devtools_client_->GetRuntime()->Evaluate( - "JSON.stringify({jsHeapSizeLimit: window.performance.memory.jsHeapSizeLimit})", - base::BindOnce(&Kaleido::OnHeapEvalComplete, weak_factory_.GetWeakPtr())); - return; - } else { - // Load Script - std::string scriptPath(localScriptFiles[nextScriptIndex++]); - std::ifstream t(scriptPath); - if (!t.is_open()) { - // Reached end of file, - // Shut down the browser (see ~Kaleido). - LOG(ERROR) << "Failed to find, or open, local file at " - << scriptPath << " with working directory " << cwd.value() << std::endl; - delete g_example; - g_example = nullptr; - return; - } - std::string scriptString((std::istreambuf_iterator(t)), - std::istreambuf_iterator()); - - devtools_client_->GetRuntime()->CompileScript( - scriptString, - scriptPath, - true, - base::BindOnce(&Kaleido::OnScriptCompileComplete, weak_factory_.GetWeakPtr())); - } -} - -void Kaleido::ExportNext() { - std::string exportSpec; - while (true) { - // Loop until we receive a valid export request, break loop below when a valid request is received - if (!std::getline(std::cin, exportSpec)) { - // Reached end of file, - // Shut down the browser (see ~Kaleido). - delete g_example; - g_example = nullptr; - return; - } - - base::Optional json = base::JSONReader::Read(exportSpec); - - if (!json.has_value()) { - kaleido::utils::writeJsonMessage(1, "Invalid JSON"); - continue; - } - - // Read "operation" key, defaulting to "export" if none provided. - std::string *maybe_operation = json->FindStringKey("operation"); - std::string operation; - if (maybe_operation) { - operation = *maybe_operation; - } else { - operation = std::string("export"); - } - - // Only operation right now is export, but others can be added in the future - if (operation != "export") { - // Unsupported operation - kaleido::utils::writeJsonMessage(1, base::StringPrintf("Invalid operation: %s", operation.c_str())); - continue; - } else { - std::string *maybe_format = json->FindStringKey("format"); - if (maybe_format) { - std::string format = *maybe_format; - - // Validate poppler installed if format is eps - if (format == "eps" && !popplerAvailable) { - kaleido::utils::writeJsonMessage( - 530, - "Exporting to EPS format requires the pdftops command " - "which is provided by the poppler library. " - "Please install poppler and make sure the pdftops command " - "is available on the PATH"); - continue; - } - - // Validate inkscape installed if format is emf - if (format == "emf" && !inkscapeAvailable) { - kaleido::utils::writeJsonMessage( - 530, - "Exporting to EMF format requires inkscape. " - "Please install inkscape and make sure it is available on the PATH"); - continue; - } - } - - std::string exportFunction = base::StringPrintf( - "function(spec, ...args) { return kaleido_scopes.%s(spec, ...args).then(JSON.stringify); }", - scope->ScopeName().c_str()); - - std::vector> args = scope->BuildCallArguments(); - - // Prepend Export spec as first argument - args.insert(args.begin(), - headless::runtime::CallArgument::Builder() - .SetValue(base::Value::ToUniquePtrValue(json->Clone())) - .Build() - ); - - std::unique_ptr eval_params = - headless::runtime::CallFunctionOnParams::Builder() - .SetFunctionDeclaration(exportFunction) - .SetArguments(std::move(args)) - .SetExecutionContextId(contextId) - .SetAwaitPromise(true).Build(); - - devtools_client_->GetRuntime()->CallFunctionOn( - std::move(eval_params), - base::BindOnce(&Kaleido::OnExportComplete, weak_factory_.GetWeakPtr())); - // Break out of loop, OnExportComplete callback responsible for calling ExportNext again after this - // the current request is processed. - break; - } - } -} - -void Kaleido::OnExportComplete( - std::unique_ptr result) { - - // Make sure the evaluation succeeded before reading the result. - if (result->HasExceptionDetails()) { - std::string error = base::StringPrintf( - "Failed to serialize document: %s", result->GetExceptionDetails()->GetText().c_str()); - kaleido::utils::writeJsonMessage(1, error); - Reload(); - return; - } else { - // JSON parse result to get format - std::string responseString = result->GetResult()->GetValue()->GetString(); - base::Optional responseJson = base::JSONReader::Read(responseString); - base::DictionaryValue* responseDict; - responseJson.value().GetAsDictionary(&responseDict); - - // format - std::string format; - responseDict->GetString("format", &format); - - if (format == "pdf" || format == "eps") { - std::string bgColor, imgData; - responseDict->GetString("pdfBgColor", &bgColor); - responseDict->GetString("result", &imgData); - - int width, height; - responseDict->GetInteger("width", &width); - responseDict->GetInteger("height", &height); - - double scale; - responseDict->GetDouble("scale", &scale); - - devtools_client_->GetPage()->GetExperimental()->PrintToPDF( - headless::page::PrintToPDFParams::Builder() - .SetMarginBottom(0) - .SetMarginTop(0) - .SetMarginLeft(0) - .SetMarginRight(0) - .SetPrintBackground(true) - .SetPreferCSSPageSize(true) // Use @page {size: } CSS style - .Build(), - base::BindOnce(&Kaleido::OnPDFCreated, weak_factory_.GetWeakPtr(), responseString)); - } else if (format == "emf"){ - // Write SVG data to temporary file - std::string svgData; - responseDict->GetString("result", &svgData); - - // Write pdf to temporary file - std::string inFileName = std::tmpnam(nullptr) + std::string(".svg"); - std::ofstream svgFile; - svgFile.open(inFileName, std::ios::out); - svgFile << svgData; - svgFile.close(); - - // Convert pdf to eps temporary file - std::string outFileName = std::tmpnam(nullptr) + std::string(".emf"); - std::string command = std::string("inkscape --file ") + inFileName + " --export-emf " + outFileName; - int exitCode = std::system(command.c_str()); - if (exitCode != 0) { - kaleido::utils::writeJsonMessage(exitCode, "SVG to EMF conversion failed"); - Reload(); - return; - } - - // Read EMF file as binary - std::ifstream emfStream(outFileName, std::ios::ate | std::ios::binary); - std::streamsize size = emfStream.tellg(); - emfStream.seekg(0, std::ios::beg); - std::vector emfBuffer(size); - if (emfStream.read((char*)emfBuffer.data(), size)) - { - // cleanup temporary files - std::remove(inFileName.c_str()); - std::remove(outFileName.c_str()); - - // Base64 encode EMF data - std::string base64emf = headless::protocol::Binary::fromVector(emfBuffer).toBase64(); - - // Add base64 encoded EMF data to result dict - responseDict->SetString("result", base64emf); - - // Write results JSON string - std::string response; - base::JSONWriter::Write(*responseDict, &response); - std::cout << response << "\n"; - - Reload(); - return; - } else { - // cleanup temporary files - std::remove(inFileName.c_str()); - std::remove(outFileName.c_str()); - - kaleido::utils::writeJsonMessage(1, "Failed to read temporary EMF file"); - Reload(); - return; - } - } else { - // Write results json string - std::cout << result->GetResult()->GetValue()->GetString().c_str() << std::endl; - Reload(); - return; - } - } -} - -void Kaleido::Reload() { - std::unique_ptr params = - headless::runtime::GetHeapUsageParams::Builder().Build(); - devtools_client_->GetRuntime()->GetExperimental()->GetHeapUsage( - std::move(params), base::BindOnce(&Kaleido::OnHeapUsageComplete, weak_factory_.GetWeakPtr())); -} - -void Kaleido::OnHeapUsageComplete(std::unique_ptr result) { - double heapUsageRatio = result->GetUsedSize() / jsHeapSizeLimit; - if (heapUsageRatio >= 0.5) { - // Reload page to clear memory - std::unique_ptr params = - headless::page::ReloadParams::Builder().Build(); - devtools_client_->GetPage()->Reload(std::move(params)); - } else { - // Memory usage low enough, keep going without reloading page - ExportNext(); - } -} - -void Kaleido::OnHeapEvalComplete(std::unique_ptr result) { - if (result->HasExceptionDetails()) { - std::string error = base::StringPrintf( - "Failed to get window.performance.memory: %s", result->GetExceptionDetails()->GetText().c_str()); - kaleido::utils::writeJsonMessage(1, error); - Reload(); - return; - } else { - std::string responseString = result->GetResult()->GetValue()->GetString(); - base::Optional responseJson = base::JSONReader::Read(responseString); - base::DictionaryValue* responseDict; - responseJson.value().GetAsDictionary(&responseDict); - - // jsHeapSizeLimit - responseDict->GetDouble("jsHeapSizeLimit", &jsHeapSizeLimit); - - ExportNext(); - } -} - -void Kaleido::OnPDFCreated( - std::string responseString, - std::unique_ptr result -) { - if (!result) { - std::string error = std::string("Export to PDF failed"); - kaleido::utils::writeJsonMessage(1, error); - } else { - base::Optional responseJson = base::JSONReader::Read(responseString); - base::DictionaryValue* responseDict; - responseJson.value().GetAsDictionary(&responseDict); - - // format - std::string format; - responseDict->GetString("format", &format); - - // Initialize empty result - std::string stringResult; - - if (format == "eps") { - // Write pdf to temporary file - std::string inFileName = std::tmpnam(nullptr) + std::string(".pdf"); - std::ofstream pdfFile; - pdfFile.open(inFileName, std::ios::out | std::ios::binary); - pdfFile.write((char*)result->GetData().data(), result->GetData().size()); - pdfFile.close(); - - // Convert pdf to eps temporary file - std::string outFileName = std::tmpnam(nullptr) + std::string(".eps"); - std::string command = std::string("pdftops -eps ") + inFileName + " " + outFileName; - int exitCode = std::system(command.c_str()); - if (exitCode != 0) { - kaleido::utils::writeJsonMessage(exitCode, "PDF to EPS conversion failed"); - Reload(); - return; - } - - // Read EPS file as Text - std::ifstream epsStream(outFileName, std::ios::in); - stringResult = std::string((std::istreambuf_iterator(epsStream)), - std::istreambuf_iterator()); - - // cleanup temporary files - std::remove(inFileName.c_str()); - std::remove(outFileName.c_str()); - } else { // format == "pdf" - // Add base64 encoded PDF bytes to result dict - stringResult = result->GetData().toBase64(); - } - - // Add base64 encoded PDF bytes to result dict - responseDict->SetString("result", stringResult); - - // Write results JSON string - std::string response; - base::JSONWriter::Write(*responseDict, &response); - std::cout << response << "\n"; - } - - Reload(); - return; -} - -void Kaleido::OnScriptCompileComplete( - std::unique_ptr result) { - // Make sure the evaluation succeeded before running script - if (result->HasExceptionDetails()) { - LOG(ERROR) << "Failed to compile script: " - << result->GetExceptionDetails()->GetText(); - } else { - std::string plotlyjsScriptId = result->GetScriptId(); - devtools_client_->GetRuntime()->RunScript( - plotlyjsScriptId, - base::BindOnce(&Kaleido::OnRunScriptComplete, weak_factory_.GetWeakPtr()) - ); - } -} - -void Kaleido::OnRunScriptComplete( - std::unique_ptr result) { - // Make sure the evaluation succeeded before reading the result. - if (result->HasExceptionDetails()) { - LOG(ERROR) << "Failed to run script: " - << result->GetExceptionDetails()->GetText(); - } else { - LoadNextScript(); - } -} - -// This function is called by the headless library after the browser has been -// initialized. It runs on the UI thread. -void OnHeadlessBrowserStarted(headless::HeadlessBrowser* browser) { - // In order to open tabs, we first need a browser context. It corresponds to a - // user profile and contains things like the user's cookies, local storage, - // cache, etc. - headless::HeadlessBrowserContext::Builder context_builder = - browser->CreateBrowserContextBuilder(); - - // Here we can set options for the browser context. As an example we enable - // incognito mode, which makes sure profile data is not written to disk. - context_builder.SetIncognitoMode(true); - - // Construct the context and set it as the default. The default browser - // context is used by the Target.createTarget() DevTools command when no other - // context is given. - headless::HeadlessBrowserContext* browser_context = context_builder.Build(); - browser->SetDefaultBrowserContext(browser_context); - - // Get the URL from the command line. - base::CommandLine::StringVector args = - base::CommandLine::ForCurrentProcess()->GetArgs(); - if (args.empty()) { - kaleido::utils::writeJsonMessage(1, "No Scope Specified"); - browser->Shutdown(); - exit(EXIT_FAILURE); - return; - } - - // Get first command line argument as a std::string using a string stream. - // This handles the case where args[0] is a wchar_t on Windows - std::stringstream scope_stringstream; - scope_stringstream << args[0]; - std::string scope_name = scope_stringstream.str(); - - // Instantiate renderer scope - kaleido::scopes::BaseScope *scope = LoadScope(scope_name); - - if (!scope) { - // Invalid scope name - kaleido::utils::writeJsonMessage(1, base::StringPrintf("Invalid scope: %s", scope_name.c_str())); - browser->Shutdown(); - exit(EXIT_FAILURE); - return; - } else if (!scope->errorMessage.empty()) { - kaleido::utils::writeJsonMessage(1, scope->errorMessage); - browser->Shutdown(); - exit(EXIT_FAILURE); - return; - } - - // Add javascript bundle - scope->localScriptFiles.emplace_back("./js/kaleido_scopes.js"); - - // Build initial HTML file - std::list scriptTags = scope->ScriptTags(); - std::stringstream htmlStringStream; - htmlStringStream << ""; - - // Add script tags - while (!scriptTags.empty()) { - std::string tagValue = scriptTags.front(); - GURL tagUrl(tagValue); - if (tagUrl.is_valid()) { - // Value is a url, use a src of script tag - htmlStringStream << ""; - } else { - // Value is not a url, use a inline JavaScript code - htmlStringStream << "\n"; - } - scriptTags.pop_front(); - } - // Close head and add body with img tag place holder for PDF export - htmlStringStream << ""; - - // Write html to temp file - std::string tmpFileName = std::tmpnam(nullptr) + std::string(".html"); - std::ofstream htmlFile; - htmlFile.open(tmpFileName, std::ios::out); - htmlFile << htmlStringStream.str(); - htmlFile.close(); - - // Create file:// url to temp file - GURL url = GURL(std::string("file://") + tmpFileName); - - // Open a tab (i.e., HeadlessWebContents) in the newly created browser context. - headless::HeadlessWebContents::Builder tab_builder( - browser_context->CreateWebContentsBuilder()); - - // We could set other options for the opened tab here, for now only set URL - tab_builder.SetInitialURL(url); - - // Create an instance of Kaleido - headless::HeadlessWebContents *web_contents = tab_builder.Build(); - - // Initialization succeeded - kaleido::utils::writeJsonMessage(0, "Success"); - - // TODO make scope a unique ptr and use move semantics here - g_example = new Kaleido(browser, web_contents, tmpFileName, scope); -} - -int main(int argc, const char** argv) { -#if !defined(OS_WIN) - // This function must be the first thing we call to make sure child processes - // such as the renderer are started properly. The headless library starts - // child processes by forking and exec'ing the main application. - headless::RunChildProcessIfNeeded(argc, argv); -#endif - - // Create a headless browser instance. There can be one of these per process - // and it can only be initialized once. - headless::HeadlessBrowser::Options::Builder builder(argc, argv); - -#if defined(OS_WIN) - // In windows, you must initialize and set the sandbox, or pass it along - // if it has already been initialized. - sandbox::SandboxInterfaceInfo sandbox_info = {0}; - content::InitializeSandboxInfo(&sandbox_info); - builder.SetSandboxInfo(&sandbox_info); -#endif - // Here you can customize browser options. As an example we set the window - // size. - builder.SetWindowSize(gfx::Size(800, 600)); - - // Pass control to the headless library. It will bring up the browser and - // invoke the given callback on the browser UI thread. Note: if you need to - // pass more parameters to the callback, you can add them to the Bind() call - // below. - return headless::HeadlessBrowserMain( - builder.Build(), base::BindOnce(&OnHeadlessBrowserStarted)); -} diff --git a/src/kaleido/cc/88.0.4324.150/kaleido.h b/src/kaleido/cc/88.0.4324.150/kaleido.h deleted file mode 100644 index f9de9a6e..00000000 --- a/src/kaleido/cc/88.0.4324.150/kaleido.h +++ /dev/null @@ -1,77 +0,0 @@ -#include "base/memory/weak_ptr.h" -#include "base/files/file_util.h" -#include "headless/public/devtools/domains/page.h" -#include "headless/public/devtools/domains/runtime.h" -#include "headless/public/headless_browser.h" -#include "headless/public/headless_devtools_client.h" -#include "headless/public/headless_devtools_target.h" -#include "headless/public/headless_web_contents.h" - -#include "scopes/Base.h" - -#ifndef CHROMIUM_ORCA_NEXT_H -#define CHROMIUM_ORCA_NEXT_H - - -class Kaleido : public headless::HeadlessWebContents::Observer, - public headless::page::Observer, - public headless::runtime::Observer -{ -public: - Kaleido(headless::HeadlessBrowser* browser, - headless::HeadlessWebContents* web_contents, - std::string tmpFileName, - kaleido::scopes::BaseScope *scope); - - ~Kaleido() override; - - // headless::HeadlessWebContents::Observer implementation: - void DevToolsTargetReady() override; - - // headless::page::Observer implementation: - void OnLoadEventFired( - const headless::page::LoadEventFiredParams& params) override; - - void OnExecutionContextCreated(const headless::runtime::ExecutionContextCreatedParams& params) override; - - void ExportNext(); - void Reload(); - void OnHeapUsageComplete(std::unique_ptr result); - void OnHeapEvalComplete(std::unique_ptr result); - - void LoadNextScript(); - void OnPDFCreated(std::string responseString, std::unique_ptr result); - - void OnExportComplete(std::unique_ptr result); - void OnScriptCompileComplete(std::unique_ptr result); - void OnRunScriptComplete(std::unique_ptr result); - -private: - int contextId; - double jsHeapSizeLimit; - std::string tmpFileName; - std::vector localScriptFiles; - size_t nextScriptIndex; - kaleido::scopes::BaseScope *scope; - std::unique_ptr env; - bool popplerAvailable; - bool inkscapeAvailable; - base::FilePath cwd; - - - // The headless browser instance. Owned by the headless library. See main(). - headless::HeadlessBrowser* browser_; - // Our tab. Owned by |browser_|. - headless::HeadlessWebContents* web_contents_; - // The DevTools client used to control the tab. - std::unique_ptr devtools_client_; - // A helper for creating weak pointers to this class. - // weak_factory_ MUST BE LAST PROPERTY DEFINED! - base::WeakPtrFactory weak_factory_{this}; -}; - -namespace { - Kaleido* g_example; -} - -#endif //CHROMIUM_ORCA_NEXT_H diff --git a/src/kaleido/cc/88.0.4324.150/scopes/Base.h b/src/kaleido/cc/88.0.4324.150/scopes/Base.h deleted file mode 100644 index 836c0b3e..00000000 --- a/src/kaleido/cc/88.0.4324.150/scopes/Base.h +++ /dev/null @@ -1,80 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// - -#include "headless/public/devtools/domains/runtime.h" -#include "base/strings/string_util.h" - -#include -#include -#include - -#ifndef CHROMIUM_BASESCOPE_H -#define CHROMIUM_BASESCOPE_H - -namespace kaleido { - namespace scopes { - class BaseScope { - public: - BaseScope(); - BaseScope(const BaseScope &v); - virtual ~BaseScope(); - - virtual std::string ScopeName() = 0; - virtual std::vector> BuildCallArguments(); - std::list ScriptTags(); - std::list LocalScriptFiles(); - std::string GetCommandLineSwitch(std::string name); - bool HasCommandLineSwitch(std::string name); - - std::string errorMessage; - - public: - std::list scriptTags; - std::list localScriptFiles; - const BaseScope *plugin; - }; - - BaseScope::BaseScope(): errorMessage(), scriptTags(), localScriptFiles() {} - BaseScope::BaseScope(const BaseScope &v): - scriptTags(v.scriptTags), - localScriptFiles(v.localScriptFiles) - {} - - BaseScope::~BaseScope() { - delete plugin; - } - - std::vector> BaseScope::BuildCallArguments() { - return std::vector>(); - } - - std::list BaseScope::ScriptTags() { - // Return vector as value so that it is copied and caller is free to mutate it - return scriptTags; - } - - std::list BaseScope::LocalScriptFiles() { - // Return vector as value so that it is copied and caller is free to mutate it - return localScriptFiles; - } - - bool BaseScope::HasCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - return commandLine->HasSwitch(name); - } - - std::string BaseScope::GetCommandLineSwitch(std::string name) { - base::CommandLine *commandLine = base::CommandLine::ForCurrentProcess(); - std::string value = commandLine->GetSwitchValueASCII(name); - - // Trim single and double quotes - base::TrimString(value, "\"", &value); - base::TrimString(value, "\'", &value); - - return value; - } - } -} - -#endif //CHROMIUM_BASESCOPE_H diff --git a/src/kaleido/cc/88.0.4324.150/scopes/Factory.h b/src/kaleido/cc/88.0.4324.150/scopes/Factory.h deleted file mode 100644 index 3941cfcc..00000000 --- a/src/kaleido/cc/88.0.4324.150/scopes/Factory.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// - -#include "base/strings/string_util.h" - -#include "Plotly.h" -#include "Base.h" - -#ifndef CHROMIUM_FACTORY_H -#define CHROMIUM_FACTORY_H - -kaleido::scopes::BaseScope* LoadScope(std::string name) { - std::string name_lower = base::ToLowerASCII(name); - if (name_lower == "plotly") { - return new kaleido::scopes::PlotlyScope(); - } else { - return nullptr; - } -} - -#endif //CHROMIUM_FACTORY_H diff --git a/src/kaleido/cc/88.0.4324.150/scopes/Plotly.h b/src/kaleido/cc/88.0.4324.150/scopes/Plotly.h deleted file mode 100644 index db83f47e..00000000 --- a/src/kaleido/cc/88.0.4324.150/scopes/Plotly.h +++ /dev/null @@ -1,128 +0,0 @@ -// -// Created by jmmease on 6/17/20. -// -#include "Base.h" -#include "base/bind.h" -#include "base/command_line.h" -#include "base/strings/string_util.h" -#include "base/strings/stringprintf.h" -#include "headless/public/devtools/domains/runtime.h" -#include "../utils.h" -#include -#include -#include -#include -#include - -#ifndef CHROMIUM_PLOTLYSCOPE_H -#define CHROMIUM_PLOTLYSCOPE_H - -namespace kaleido { - namespace scopes { - - class PlotlyScope : public BaseScope { - public: - PlotlyScope(); - - ~PlotlyScope() override; - - PlotlyScope(const PlotlyScope &v); - - std::string ScopeName() override; - - std::vector> BuildCallArguments() override; - - public: - std::string topojsonUrl; - std::string mapboxToken; - }; - - PlotlyScope::PlotlyScope() : topojsonUrl(), mapboxToken() { - // Add MathJax config - scriptTags.emplace_back("window.PlotlyConfig = {MathJaxConfig: 'local'}"); - - // Process plotlyjs - if (HasCommandLineSwitch("plotlyjs")) { - std::string plotlyjsArg = GetCommandLineSwitch("plotlyjs"); - - // Check if value is a URL - GURL plotlyjsUrl(plotlyjsArg); - if (plotlyjsUrl.is_valid()) { - scriptTags.push_back(plotlyjsArg); - } else { - // Check if this is a local file path - if (std::ifstream(plotlyjsArg)) { - localScriptFiles.emplace_back(plotlyjsArg); - } else { - errorMessage = base::StringPrintf("--plotlyjs argument is not a valid URL or file path: %s", - plotlyjsArg.c_str()); - return; - } - } - } else { - scriptTags.emplace_back("https://cdn.plot.ly/plotly-latest.min.js"); - } - - // MathJax - if (HasCommandLineSwitch("mathjax")) { - std::string mathjaxArg = GetCommandLineSwitch("mathjax"); - - GURL mathjaxUrl(mathjaxArg); - if (mathjaxUrl.is_valid()) { - std::stringstream mathjaxStringStream; - mathjaxStringStream << mathjaxArg << "?config=TeX-AMS-MML_SVG"; - scriptTags.push_back(mathjaxStringStream.str()); - } else { - errorMessage = base::StringPrintf("--mathjax argument is not a valid URL: %s", mathjaxArg.c_str()); - return; - } - } - - // Topojson - if (HasCommandLineSwitch("topojson")) { - std::string topojsonArg = GetCommandLineSwitch("topojson"); - if (GURL(topojsonArg).is_valid()) { - topojsonUrl = topojsonArg; - } else { - errorMessage = base::StringPrintf("--topojson argument is not a valid URL: %s", - topojsonArg.c_str()); - return; - } - } - - // Process mapbox-token - if (HasCommandLineSwitch("mapbox-access-token")) { - mapboxToken = GetCommandLineSwitch("mapbox-access-token"); - } - } - - PlotlyScope::~PlotlyScope() {} - - PlotlyScope::PlotlyScope(const PlotlyScope &v) : topojsonUrl(v.topojsonUrl), mapboxToken(v.mapboxToken) {} - - std::string PlotlyScope::ScopeName() { - return "plotly"; - } - - std::vector> PlotlyScope::BuildCallArguments() { - std::vector> args; - - // Add mapbox token from command line - args.push_back( - headless::runtime::CallArgument::Builder() - .SetValue(std::make_unique(base::StringPiece(mapboxToken))) - .Build() - ); - - // Add topojson url from command-line - args.push_back( - headless::runtime::CallArgument::Builder() - .SetValue(std::make_unique(base::StringPiece(topojsonUrl))) - .Build() - ); - return args; - } - } -} - -#endif //CHROMIUM_PLOTLYSCOPE_H diff --git a/src/kaleido/cc/88.0.4324.150/utils.h b/src/kaleido/cc/88.0.4324.150/utils.h deleted file mode 100644 index 86871131..00000000 --- a/src/kaleido/cc/88.0.4324.150/utils.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// Created by jmmease on 6/23/20. -// - -#include -#include - -#ifndef CHROMIUM_UTILS_H -#define CHROMIUM_UTILS_H - -namespace kaleido { - namespace utils { - // Load version string - std::ifstream verStream("version"); - std::string version(( - std::istreambuf_iterator(verStream)),std::istreambuf_iterator()); - - void writeJsonMessage(int code, std::string message) { - std::string error = base::StringPrintf( - "{\"code\": %d, \"message\": \"%s\", \"result\": null, \"version\": \"%s\"}\n", - code, message.c_str(), version.c_str()); - std::cout << error; - } - } -} - -#endif //CHROMIUM_UTILS_H diff --git a/src/kaleido/tests/test_py/__init__.py b/src/kaleido/tests/test_py/__init__.py deleted file mode 100644 index e2625635..00000000 --- a/src/kaleido/tests/test_py/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from os.path import dirname, abspath, join -import pathlib -tests_root = pathlib.Path(__file__).parent -baseline_root = tests_root / 'baselines' diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.eps b/src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.eps deleted file mode 100644 index 2e5799b6..00000000 --- a/src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.eps +++ /dev/null @@ -1,1462 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%Produced by poppler pdftops version: 0.80.0 (http://poppler.freedesktop.org) -%%Creator: Chromium -%%LanguageLevel: 2 -%%DocumentSuppliedResources: (atend) -%%BoundingBox: 0 0 526 376 -%%HiResBoundingBox: 0 0 525.12 375.12 -%%DocumentSuppliedResources: (atend) -%%EndComments -%%BeginProlog -%%BeginResource: procset xpdf 3.00 0 -%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC -/xpdf 75 dict def xpdf begin -% PDF special state -/pdfDictSize 15 def -/pdfSetup { - /setpagedevice where { - pop 2 dict begin - /Policies 1 dict dup begin /PageSize 6 def end def - { /Duplex true def } if - currentdict end setpagedevice - } { - pop - } ifelse -} def -/pdfSetupPaper { - % Change paper size, but only if different from previous paper size otherwise - % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size - % so we use the same when checking if the size changes. - /setpagedevice where { - pop currentpagedevice - /PageSize known { - 2 copy - currentpagedevice /PageSize get aload pop - exch 4 1 roll - sub abs 5 gt - 3 1 roll - sub abs 5 gt - or - } { - true - } ifelse - { - 2 array astore - 2 dict begin - /PageSize exch def - /ImagingBBox null def - currentdict end - setpagedevice - } { - pop pop - } ifelse - } { - pop - } ifelse -} def -/pdfStartPage { - pdfDictSize dict begin - /pdfFillCS [] def - /pdfFillXform {} def - /pdfStrokeCS [] def - /pdfStrokeXform {} def - /pdfFill [0] def - /pdfStroke [0] def - /pdfFillOP false def - /pdfStrokeOP false def - /pdfLastFill false def - /pdfLastStroke false def - /pdfTextMat [1 0 0 1 0 0] def - /pdfFontSize 0 def - /pdfCharSpacing 0 def - /pdfTextRender 0 def - /pdfPatternCS false def - /pdfTextRise 0 def - /pdfWordSpacing 0 def - /pdfHorizScaling 1 def - /pdfTextClipPath [] def -} def -/pdfEndPage { end } def -% PDF color state -/cs { /pdfFillXform exch def dup /pdfFillCS exch def - setcolorspace } def -/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def - setcolorspace } def -/sc { pdfLastFill not { pdfFillCS setcolorspace } if - dup /pdfFill exch def aload pop pdfFillXform setcolor - /pdfLastFill true def /pdfLastStroke false def } def -/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if - dup /pdfStroke exch def aload pop pdfStrokeXform setcolor - /pdfLastStroke true def /pdfLastFill false def } def -/op { /pdfFillOP exch def - pdfLastFill { pdfFillOP setoverprint } if } def -/OP { /pdfStrokeOP exch def - pdfLastStroke { pdfStrokeOP setoverprint } if } def -/fCol { - pdfLastFill not { - pdfFillCS setcolorspace - pdfFill aload pop pdfFillXform setcolor - pdfFillOP setoverprint - /pdfLastFill true def /pdfLastStroke false def - } if -} def -/sCol { - pdfLastStroke not { - pdfStrokeCS setcolorspace - pdfStroke aload pop pdfStrokeXform setcolor - pdfStrokeOP setoverprint - /pdfLastStroke true def /pdfLastFill false def - } if -} def -% build a font -/pdfMakeFont { - 4 3 roll findfont - 4 2 roll matrix scale makefont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /Encoding exch def - currentdict - end - definefont pop -} def -/pdfMakeFont16 { - exch findfont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /WMode exch def - currentdict - end - definefont pop -} def -% graphics state operators -/q { gsave pdfDictSize dict begin } def -/Q { - end grestore - /pdfLastFill where { - pop - pdfLastFill { - pdfFillOP setoverprint - } { - pdfStrokeOP setoverprint - } ifelse - } if -} def -/cm { concat } def -/d { setdash } def -/i { setflat } def -/j { setlinejoin } def -/J { setlinecap } def -/M { setmiterlimit } def -/w { setlinewidth } def -% path segment operators -/m { moveto } def -/l { lineto } def -/c { curveto } def -/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath } def -/h { closepath } def -% path painting operators -/S { sCol stroke } def -/Sf { fCol stroke } def -/f { fCol fill } def -/f* { fCol eofill } def -% clipping operators -/W { clip newpath } def -/W* { eoclip newpath } def -/Ws { strokepath clip newpath } def -% text state operators -/Tc { /pdfCharSpacing exch def } def -/Tf { dup /pdfFontSize exch def - dup pdfHorizScaling mul exch matrix scale - pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put - exch findfont exch makefont setfont } def -/Tr { /pdfTextRender exch def } def -/Tp { /pdfPatternCS exch def } def -/Ts { /pdfTextRise exch def } def -/Tw { /pdfWordSpacing exch def } def -/Tz { /pdfHorizScaling exch def } def -% text positioning operators -/Td { pdfTextMat transform moveto } def -/Tm { /pdfTextMat exch def } def -% text string operators -/xyshow where { - pop - /xyshow2 { - dup length array - 0 2 2 index length 1 sub { - 2 index 1 index 2 copy get 3 1 roll 1 add get - pdfTextMat dtransform - 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put - } for - exch pop - xyshow - } def -}{ - /xyshow2 { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval show moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval show moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/cshow where { - pop - /xycp { - 0 3 2 roll - { - pop pop currentpoint 3 2 roll - 1 string dup 0 4 3 roll put false charpath moveto - 2 copy get 2 index 2 index 1 add get - pdfTextMat dtransform rmoveto - 2 add - } exch cshow - pop pop - } def -}{ - /xycp { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval false charpath moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval false charpath moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/Tj { - fCol - 0 pdfTextRise pdfTextMat dtransform rmoveto - currentpoint 4 2 roll - pdfTextRender 1 and 0 eq { - 2 copy xyshow2 - } if - pdfTextRender 3 and dup 1 eq exch 2 eq or { - 3 index 3 index moveto - 2 copy - currentfont /FontType get 3 eq { fCol } { sCol } ifelse - xycp currentpoint stroke moveto - } if - pdfTextRender 4 and 0 ne { - 4 2 roll moveto xycp - /pdfTextClipPath [ pdfTextClipPath aload pop - {/moveto cvx} - {/lineto cvx} - {/curveto cvx} - {/closepath cvx} - pathforall ] def - currentpoint newpath moveto - } { - pop pop pop pop - } ifelse - 0 pdfTextRise neg pdfTextMat dtransform rmoveto -} def -/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 - pdfTextMat dtransform rmoveto } def -/TJmV { 0.001 mul pdfFontSize mul neg 0 exch - pdfTextMat dtransform rmoveto } def -/Tclip { pdfTextClipPath cvx exec clip newpath - /pdfTextClipPath [] def } def -/Tclip* { pdfTextClipPath cvx exec eoclip newpath - /pdfTextClipPath [] def } def -% Level 2/3 image operators -/pdfImBuf 100 string def -/pdfImStr { - 2 copy exch length lt { - 2 copy get exch 1 add exch - } { - () - } ifelse -} def -/skipEOD { - { currentfile pdfImBuf readline - not { pop exit } if - (%-EOD-) eq { exit } if } loop -} def -/pdfIm { image skipEOD } def -/pdfImM { fCol imagemask skipEOD } def -/pr { 2 index 2 index 3 2 roll putinterval 4 add } def -/pdfImClip { - gsave - 0 2 4 index length 1 sub { - dup 4 index exch 2 copy - get 5 index div put - 1 add 3 index exch 2 copy - get 3 index div put - } for - pop pop rectclip -} def -/pdfImClipEnd { grestore } def -% shading operators -/colordelta { - false 0 1 3 index length 1 sub { - dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { - pop true - } if - } for - exch pop exch pop -} def -/funcCol { func n array astore } def -/funcSH { - dup 0 eq { - true - } { - dup 6 eq { - false - } { - 4 index 4 index funcCol dup - 6 index 4 index funcCol dup - 3 1 roll colordelta 3 1 roll - 5 index 5 index funcCol dup - 3 1 roll colordelta 3 1 roll - 6 index 8 index funcCol dup - 3 1 roll colordelta 3 1 roll - colordelta or or or - } ifelse - } ifelse - { - 1 add - 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch - 6 index 6 index 4 index 4 index 4 index funcSH - 2 index 6 index 6 index 4 index 4 index funcSH - 6 index 2 index 4 index 6 index 4 index funcSH - 5 3 roll 3 2 roll funcSH pop pop - } { - pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul - funcCol sc - dup 4 index exch mat transform m - 3 index 3 index mat transform l - 1 index 3 index mat transform l - mat transform l pop pop h f* - } ifelse -} def -/axialCol { - dup 0 lt { - pop t0 - } { - dup 1 gt { - pop t1 - } { - dt mul t0 add - } ifelse - } ifelse - func n array astore -} def -/axialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index axialCol 2 index axialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index axialSH - exch 3 2 roll axialSH - } { - pop 2 copy add 0.5 mul - axialCol sc - exch dup dx mul x0 add exch dy mul y0 add - 3 2 roll dup dx mul x0 add exch dy mul y0 add - dx abs dy abs ge { - 2 copy yMin sub dy mul dx div add yMin m - yMax sub dy mul dx div add yMax l - 2 copy yMax sub dy mul dx div add yMax l - yMin sub dy mul dx div add yMin l - h f* - } { - exch 2 copy xMin sub dx mul dy div add xMin exch m - xMax sub dx mul dy div add xMax exch l - exch 2 copy xMax sub dx mul dy div add xMax exch l - xMin sub dx mul dy div add xMin exch l - h f* - } ifelse - } ifelse -} def -/radialCol { - dup t0 lt { - pop t0 - } { - dup t1 gt { - pop t1 - } if - } ifelse - func n array astore -} def -/radialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index dt mul t0 add radialCol - 2 index dt mul t0 add radialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index radialSH - exch 3 2 roll radialSH - } { - pop 2 copy add 0.5 mul dt mul t0 add - radialCol sc - encl { - exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 0 360 arc h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 360 0 arcn h f - } { - 2 copy - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arcn - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arcn h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arc - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arc h f - } ifelse - } ifelse -} def -end -%%EndResource -%%EndProlog -%%BeginSetup -xpdf begin -%%BeginResource: font LiberationMono -/LiberationMono_sfnts [ -<00010000000b0080000300306376742067066d57000000bc000002ae6670676d -7e61b6110000036c000007b4676c79666910f31b00000b20000003e868656164 -04d4c02000000f08000000366868656108c1fd8600000f4000000024686d7478 -219b050f00000f64000000646c6f636104ac05de00000fc8000000346d617870 -049004c000000ffc0000002070726570c8f38c8f0000101c0000057a76686561 -000208010000159800000024766d747808000000000015bc0000003400> -<05cc05cc007d054500150060054500150000000000000000000000000000043a -001400770000ffec00000000ffecff5f0000ffec0000fe57fe57000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000008000000000000b400bd00aa00a000c800b40085000000000000 -0088007e00a500c000000000000000000000000000bf00c900ab008c00bc009b -008d003400000000000000000000000000000000000000000000000000b900b4 -007c000000000094005f00000000000000000000000000000000000000000000 -0000000001a8006f007800a400c80083008d00bb005e018a0103006000740081 -00b800c0005004b104c3fe4c00eb01b200c30109007b012b029600c9009600db -05d804d500000000000000000000000000000000009200a8006b009200b7006b -009b0000000002f20092023e006e02a50345008900a00060024c000000c30000 -014e00a4015b005e00800069006f0000005e0068000000000000000000000000 -0026034a0087007b000000750068000000000000000000000582fcb1000bfff4 -00830089008f009600690071005b005200000000000000b202030000008d031f -00bb00ae00b500000000008b000000000000000006a9037002bc0208fd990091 -0091004d004d006400640181009f00a8fe68fe9c009b014501450090fef6ffe9 -007a0545024d000cffee0598fcf3006e004c0062004600e80000000000000000 -00000000000000000000000000000000000000000000000005cc000ffc1efff2 -02fb000e0416000afed300bf0000000000000000035b0010fd22ffecff78fff0 -fe60fe5302fb000f041605a505b205c30079005f06810468001404cb0000ffec -ffd3fe7f008300db00aa00ba00a0000000> -<40475b5a59585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c -3b3a393837363531302f2e2d2c28272625242322211f181411100f0e0d0b0a09 -0807060504030201002c20b0016045b003252011466123452361482d2c204518 -68442d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 -b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d -2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c -20452320b0cd442320b8015a51582320b08d44235920b0ed51582320b04d4423 -5920b0042651582320b00d44235921212d2c20204518684420b001602045b046 -76688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b2d2c00b028 -2370b101283e01b0282370b10228453ab10200080d2d2c2045b00325456164b0 -50515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b0 -0743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c -58b00361592d2c8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c23 -4445b02b23442d2c4b525845441b2121592d2c4b515845441b2121592d2c01b0 -05251023208af500b0016023edec2d2c01b005251023208af500b0016123edec -2d2c01b0062510f500edec2d2cb00243b001525821212121211b462346608a8a -462320468a608a61b8ff8062232010238ab10c0c8a70456020b0005058b00161 -b8ffba8b1bb0468c59b0106068013a592d2c2045b0032546524bb013515b58b0 -022546206861b00325b003253f2321381b2111592d2c2045b00325465058b002 -2546206861b00325b003253f2321381b2111592d2c00b00743b006430b2d2c21 -210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b -59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c -0c6423648bb84000626023212d2c4b53588ab004254964234569b0408b61b080 -62b020616ab00e23442310b00ef61b21238a121120392f592d2c4b535820b003 -2549646920b00526b0062549642361b08062b020616ab00e2344b0042610b00e -f68a10b00e2344b00ef6b00e2344b00eed1b8ab00426111220392320392f2f59 -2d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045b00054 -58b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c -4b5158b02f2370b01423421b2121592d2c4b515820b0032545695358441b2121 -591b2121592d2c45b01443b0006063b0016069442d2cb02f45442d2c45232045 -8a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3330034005944 -442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 -01615923586559b02923442310b029e01b2121212121592d2cb0024354584b53 -234b515a58381b2121591b21212121592d2cb0164358b004254564b020606620 -581b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b0 -042510b005252046b0042523423cb00425b0072508b0072510b006252046b004 -25b0016023423c2058011b0059b0042510b00525b029e0b02920456544b00725 -10b00625b029e0b00525b00825082058021b0359b00525b003254348b00425b0 -072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 -46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002 -2543482121212d2c452320451820b00050205823652359236820b040505821b0 -4059235865598a60442d2c4b53234b515a5820458a60441b2121592d2c4b5458 -20458a60441b2121592d2c4b53234b515a58381b2121592d2cb000214b545838 -1b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b21 -2121592d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b2121 -21592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b0005358 -20b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140 -408a704560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d -2cb012004b014b54422d2cb1020042b123018851b1400188535a58b910000020 -885458b202010243604259b12401885158b920000040885458b2020202436042 -b12401885458b2022002436042004b014b5258b2020802436042591bb9400000 -80885458b202040243604259b94000008063b80100885458b202080243604259 -b94000010063b80200885458b202100243604259b12601885158b94000020063 -b80400885458b202400243604259b94000040063b80800885458b20280024360 -42595959595959b10002435458400a0540084009400c020d021bb10102435458 -b2054008ba010000090100b30c010d011bb18002435258b2054008b80180b109 -401bb2054008ba01800009014059b9400000808855b94000020063b804008855 -5a58b30c000d011bb30c000d0159595942424242422d2c451868234b51582320 -452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e00b0 -02233eb10102060cb00a236542b00b234201b001233f00b002233fb10102060c -b006236542b0072342b00116012d2cb080b0024350b001b00243545b58212310 -b0201ac91b8a10ed592d2cb0592b2d2c8a10e52d00> -<0002007f0000038102ee00030007001e400c060007030003080905010600002f -cd2fcd111201393911331133313033112111032111217f030281fe00020002ee -fd12026dfe14000000> -<000101f0000002db012b00030017400a030000040500019b5b00002f2b111201 -39113331302111331101f0eb012bfed500> -<0003007cffec044f055a000b0017001b0054402e1a190c1212060c0006001c1d -0f18010f181f18020d18400f191f1902150319190309090f7359090703157359 -0319003f2b00183f2b11120039182f5f5e5d1acd5e5d71111201393911331133 -1112393931300110022322021110122132120310022322021110123332122535 -3315044ff9f3f3f4ee00fff9edb78da2a69193a09f94fe58eb02a3feaefe9b01 -630154015d015afea3fea601220103ff00fedbfee3fef9010e9ef9f900> -<000100940000046a0545000e0038401d0d0c06010a010c0302020f1007067359 -0707030a060c01000173590018003f2b110033183f33332f2b11120139111733 -1133113331303335211106042335322437331121159d01b725feeb8694010734 -a601619103fd4e74948263fb4c91000000> -<000100900000043c055a001c003c401d1a00000d0e1c07140e141d1e0d0d1111 -0a73591107011a001a73590018003f2b110033183f2b110033182f1112013939 -1133331133331133313033353e01373e0135342623220607273e013332161514 -06070e010721159031cfb29f8c8a80728d0db814eec2d5ee9897ce9f2102d375 -6ddd8e7fbc576f787d7111aac7c0b073e578a49b4992000000> -<00010080ffec044b055a002a0076404127241212062c1d1e1e07061724240c00 -06002b2c271211121173590f12011703121203211d1d21211a73592107030973 -59400790070240079007f0070307070319003f332f5d712b00183f2b11003318 -2f1112392f5f5e5d2b1112003911120139391133331133113333113311123911 -1239313001140623222427371621323635342e012b013533323e013534262322 -0607273e0133321615140607151e01044bfce2d6ff0017ba24010f889b5b9c61 -6662568f52858377930cb514f7c2d4eb9e8997b70172baccc2bc11fa7e794b67 -379c3968476a777a6f0eadc2bba777b01c0411b200> -<00010080ffec044b0545001d0058402d1918131315141408070d160007001e1f -1419735914141b1b1073591b1b0415151873591506040a735908080419003f33 -2f2b00183f2b11120039182f2b110033182f2b11120139391133331133331133 -33113333313001140e0123222627371633323635342623220607231321152103 -36333216044b76e39bc5f220b639ec8da8a68b497e3fb02f0321fd851d75aecc -fb01bc8bd273aca315d1a8917c9e2e3702d891fe575aeb0000> -<00010000000200006040659e5f0f3cf5021f080000000000c8437aa700000000 -d948fb0afc25fd9905f107d900000008000000000000000000> -<0001000006a9fd9900000559fc25fa7a05f10001000000000000000000000000 -0000001900> -<04cd007f00000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000004cd01f00000000004cd007c04cd009404cd009004cd008000000000 -04cd008000> -<0000002400240024002400240024002400240024002400240024002400240024 -00240024003c003c009a00d2011e0198019801f400> -<00010000001901220048005b000600020010002f005c000003b903110003000100> -<412601530001014d005501520001014d0055015601540014001f01550154001f -001f014f0033014e0055014c0033014d0055013d003d013c0055013c0001013a -0055013b003d013a005501350134b2801f00412e013400100134000201340002 -012e0055013300480132005500800132000101320002012e00550131003d0130 -0055000f0130000101300002012e0055012f003d012e00550020012e0060012e -00020000012e0020012e00020009012eb2010055b8012db23d0055b8012cb300 -ff1f7041110144000101440001013e00550143003d0142005501420001013e00 -55013f003d013e40675500fd01f550281ff246281ff1462a1ff046351f8fee9f -eeafee036fef8fef02bfef01a0ef011fef5fef6fef0300ec40ec020aeb46ff1f -e7e4261fe6e43d1fe5e41e1f0fe4011de3e2461f0fe20140e246161fe1e0461f -bfe0cfe0dfe00340e0333646e046181fbc0114003e011200550113400c3d0355 -df3ddd55de3ddc5500411201160001011600010115005500af01150001002001 -15005001150002000f011500010111405303ff1fdd01dc5520dc50dc80dcb0dc -040fdc01d015331f5fc36fc37fc303bfc201c150261f70be0120be30bec0be03 -70be80be020fbc1fbc022fbc3fbc6fbcafbcdfbc05b9ad261f20b830b850b870 -b880b805b8ffc0401cb813294610b70120b750b780b7b0b70480b5b0b5020fb3 -3fb3efb303b8010d402baa481f80b090b002b0b0c0b0d0b0032faf3faf02a0ad -b0ad02c0add0ad022fac3fac029fab01c0aad0aa02410d010f0032010e005500 -00010e0010010e0020010e0003000f0110401501509c609c709c039996261f98 -46261f3097409702b8ffc0b396161c46b8ffc04009960e1146a1943c1fa04109 -0145003c001f01470145003c001f014601454028641f951bff1f0f94af94bf94 -0340941d31464094161b4640940c0f460f932f933f937f93ef93050fba010c00 -6f010c402002928d261f9153ff1fdf90013090011f902f90026f907f9002008f -108f208f03b8ffc040208f181c46208e308e024f8d5f8d6f8d03308c010f8c1f -8c2f8c03408c10134610bf010b0020010b0030010b0003ffc0010bb2172046b9 -ffc0010b40501014468b82261f894a3c1f88873d1f87843c1f864aff1f9f8501 -108420843084033083017f82014082090c467350261f6f46351f6e46351f1a01 -185519331855073303550603ff1f6050261f5f50261fb9ffe00107b21f2646b9 -ffe00107401f131c465e5a481f5c46311f5b5a481f5a46311f13321255050103 -5504320355b80108b51b3c1f0f0301b901190118b2351f40b80118b2172846b8 -010a402550261f52501b1fef51ff510240513538464051252846cf5001df4c01 -4c461d1f4b46481f50b8011b4062014a46261f4946351f4846351f4746351faf -4601df46ef4602804601170115551632155511010f5510320f55020100550100 -ff1f1c1b641f1f0f3f0f5f0f7f0f040f0f2f0f4f0f6f0f8f0fdf0fff0f073f0f -7f0fef0f036f00014f0001a016010501b80190b154532b2b4bb807ff524bb009 -505bb00188b02553b00188b040515ab00688b000555a5b58b101018e59858d8d -00421d4bb0325358b0601d594bb0645358b0401d594bb0805358b0101db11600 -425973747374752b2b2b2b2b2b2b017374752b2b2b2b73002b2b74742b2b732b -2b2b2b732b2b2b2b012b2b2b002b2b2b2b2b2b2b2b2b012b2b002b012b737474 -732b2b2b2b2b2b2b73002b737474742b75737474742b2b73732b2b2b732b2b2b -2b2b012b2b732b2b007374732b017373740073747473742b7301730073742b73 -2b737401737475002b730174002b73732b2b7373732b732b2b2b2b012b2b742b -2b5e732b005e732b2b2b012b5e73007373737473012b2b2b002b732b2b2b2b73 -2b2b2b5e73742b2b732b2b732b2b732b2b2b2b2b2b2b2b2b2b18000000> -<0001000000000000000008000000000000000000000100000000000000000000 -0000000100> -<0800000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000> -] def -10 dict begin -/FontName /LiberationMono_00 def -/FontType 42 def -/FontMatrix [1 0 0 1 0 0] def -/FontBBox [-987 -615 1521 2009] def -/PaintType 0 def -/sfnts LiberationMono_sfnts def -/Encoding 256 array -dup 0 /c00 put -dup 1 /c01 put -dup 2 /c02 put -dup 3 /c03 put -dup 4 /c04 put -dup 5 /c05 put -dup 6 /c06 put -dup 7 /c07 put -dup 8 /c08 put -dup 9 /c09 put -dup 10 /c0a put -dup 11 /c0b put -dup 12 /c0c put -dup 13 /c0d put -dup 14 /c0e put -dup 15 /c0f put -dup 16 /c10 put -dup 17 /c11 put -dup 18 /c12 put -dup 19 /c13 put -dup 20 /c14 put -dup 21 /c15 put -dup 22 /c16 put -dup 23 /c17 put -dup 24 /c18 put -readonly def -/CharStrings 257 dict dup begin -/.notdef 0 def -/c00 0 def -/c01 1 def -/c02 2 def -/c03 3 def -/c04 4 def -/c05 5 def -/c06 6 def -/c07 7 def -/c08 8 def -/c09 9 def -/c0a 10 def -/c0b 11 def -/c0c 12 def -/c0d 13 def -/c0e 14 def -/c0f 15 def -/c10 16 def -/c11 17 def -/c12 18 def -/c13 19 def -/c14 20 def -/c15 21 def -/c16 22 def -/c17 23 def -/c18 24 def -end readonly def -FontName currentdict end definefont pop -16 dict begin -/FontName /LiberationMono def -/FontType 0 def -/FontMatrix [1 0 0 1 0 0] def -/FMapType 2 def -/Encoding [ -0 -] def -/FDepVector [ -/LiberationMono_00 findfont -] def -FontName currentdict end definefont pop -%%EndResource -/F6_0 /LiberationMono 0 pdfMakeFont16 -%%EndSetup -pdfStartPage -%%EndPageSetup -[] 0 d -1 i -0 j -0 J -10 M -1 w -/DeviceGray {} cs -[0] sc -/DeviceGray {} CS -[0] SC -false op -false OP -{} settransfer -0 0 525.12 375.12 re -W -q -[0.24 0 0 -0.24 0 375.12] cm -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -0 0 700 500 re -f -Q -Q -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -80 100 540 320 re -f -Q -q -[3.125 0 0 3.125 719.90625 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1093.75 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1467.5625 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1841.4063 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 0 1250.78125] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 1031.65625] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 812.5] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 593.375] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 374.21875] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 346.09375 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -Q -q -250 312.5 1687.5 1000 re -W* -q -[3.125 0 0 3.125 250 312.5] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -2 w -0 J -0 j -2 M -2 w -0 J -0 j -2 M -30.75 300.25 m -270 19.75 l -509.25 160 l -S -Q -q -[3.125 0 0 3.125 346.09375 1250.78125] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -q -[3.125 0 0 3.125 1093.75 374.21875] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -q -[3.125 0 0 3.125 1841.4063 812.5] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -Q -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 346.09375 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\023) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 719.90625 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -10.801758 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\023\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1093.75 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\024) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1467.5625 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -10.801758 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\024\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1841.4063 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\025) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 1250.78125] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\024) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 1031.65625] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 57.396484 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\024\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 812.5] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\025) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 593.375] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 57.396484 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\025\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 374.21875] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\026) -[7.201172 -0] Tj -Q -q -[0.0565827 0 0 -0.0565827 1069.06506 172.28561] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -132 -11 m -109.333328 -11 98 0 98 22 c -98 33 l -111 61 l -161 166.333344 197.33333 257.33331 220 334 c -228 358 l -196 358 l -170.66667 358 152.666672 357 142 355 c -131.333328 353 118.333336 346.66666 103 336 c -95.666664 331.33334 88.333336 325.33334 81 318 c -73.666664 310.66666 67.333336 303.66666 62 297 c -56.666668 290.33334 53.666668 286.33334 53 285 c -51.666668 284.33334 46.666668 284 38 284 c -25.333332 284 19 287.33334 19 294 c -19 298 25.333332 309.66666 38 329 c -50.666668 348.33334 69 369 93 391 c -117 413 140.666672 425.66666 164 429 c -168.66667 430.33334 243.66666 431 389 431 c -495.66669 431 550.33331 430.66666 553 430 c -566.33331 425.33334 573 416 573 402 c -573 381.33334 562.33331 367.33334 541 360 c -537 358.66666 514 358 472 358 c -408 358 l -405 341 l -397 293 393 253.33333 393 222 c -393 187.33333 396 156.333328 402 129 c -408 101.666664 414.33334 80.333336 421 65 c -427.66666 49.666664 431 40.333332 431 37 c -431 25.666666 426.33334 15 417 5 c -407.66666 -5 395.66666 -10 381 -10 c -373.66666 -10 367.66666 -9 363 -7 c -358.33334 -5 353 3 347 17 c -341 31 335.66666 51 331 77 c -330.33334 83 330 97.666664 330 121 c -330 153.666672 333 188.66666 339 226 c -345 263.33334 351 294 357 318 c -363 342 366.33334 355.33334 367 358 c -269 358 l -268 354 l -268 352 261.66666 325.66666 249 275 c -236.33333 224.33333 222 170.66667 206 114 c -190 57.333332 179.66667 25 175 17 c -167.666672 -1.666668 153.333328 -11 132 -11 c -h -f -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -132 -11 m -109.333328 -11 98 0 98 22 c -98 33 l -111 61 l -161 166.333344 197.33333 257.33331 220 334 c -228 358 l -196 358 l -170.66667 358 152.666672 357 142 355 c -131.333328 353 118.333336 346.66666 103 336 c -95.666664 331.33334 88.333336 325.33334 81 318 c -73.666664 310.66666 67.333336 303.66666 62 297 c -56.666668 290.33334 53.666668 286.33334 53 285 c -51.666668 284.33334 46.666668 284 38 284 c -25.333332 284 19 287.33334 19 294 c -19 298 25.333332 309.66666 38 329 c -50.666668 348.33334 69 369 93 391 c -117 413 140.666672 425.66666 164 429 c -168.66667 430.33334 243.66666 431 389 431 c -495.66669 431 550.33331 430.66666 553 430 c -566.33331 425.33334 573 416 573 402 c -573 381.33334 562.33331 367.33334 541 360 c -537 358.66666 514 358 472 358 c -408 358 l -405 341 l -397 293 393 253.33333 393 222 c -393 187.33333 396 156.333328 402 129 c -408 101.666664 414.33334 80.333336 421 65 c -427.66666 49.666664 431 40.333332 431 37 c -431 25.666666 426.33334 15 417 5 c -407.66666 -5 395.66666 -10 381 -10 c -373.66666 -10 367.66666 -9 363 -7 c -358.33334 -5 353 3 347 17 c -341 31 335.66666 51 331 77 c -330.33334 83 330 97.666664 330 121 c -330 153.666672 333 188.66666 339 226 c -345 263.33334 351 294 357 318 c -363 342 366.33334 355.33334 367 358 c -269 358 l -268 354 l -268 352 261.66666 325.66666 249 275 c -236.33333 224.33333 222 170.66667 206 114 c -190 57.333332 179.66667 25 175 17 c -167.666672 -1.666668 153.333328 -11 132 -11 c -h -S -Q -q -[0.040004 0 0 -0.040004 1101.54834 151.763565] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -109 429 m -91 429 76.666664 435 66 447 c -55.333332 459 50 473.66666 50 491 c -50 538.33331 67.666664 579.33331 103 614 c -138.333344 648.66669 182.33333 666 235 666 c -295.66666 666 346.33334 647.33331 387 610 c -427.66666 572.66669 448.33334 524.33331 449 465 c -449 436.33334 442.33334 409 429 383 c -415.66666 357 399.66666 334.33334 381 315 c -362.33334 295.66666 335.66666 271 301 241 c -277 220.33333 243.66667 189.66667 201 149 c -142 93 l -218 92 l -322.66669 92 378.33334 93.666664 385 97 c -389.66666 98.333336 397.66666 128 409 186 c -409 189 l -449 189 l -449 186 l -448.33334 184 444 153.666672 436 95 c -428 36.333332 423 5.666667 421 3 c -421 0 l -50 0 l -50 19 l -50 31 l -50 35.666668 52 40.666668 56 46 c -60 51.333332 70 63 86 81 c -105.333336 102.333336 122 121 136 137 c -142 143.666672 153.333328 156 170 174 c -186.66667 192 198 204.33333 204 211 c -210 217.66667 219.66667 228.66667 233 244 c -246.33333 259.33334 255.66667 270.66666 261 278 c -266.33334 285.33334 274 295.33334 284 308 c -294 320.66666 301 331.33334 305 340 c -309 348.66666 314 358.33334 320 369 c -326 379.66666 330.33334 390.33334 333 401 c -335.66666 411.66666 338 421.66666 340 431 c -342 440.33334 343 451.33334 343 464 c -343 506 331.66666 542.33331 309 573 c -286.33334 603.66669 254 619 212 619 c -190 619 170.66667 613.33331 154 602 c -137.333328 590.66669 125.666664 579.66669 119 569 c -112.333336 558.33331 109 552 109 550 c -109 549.33331 110.666664 549 114 549 c -126 549 138.333328 544.33331 151 535 c -163.666672 525.66669 170 510.33334 170 489 c -170 472.33334 164.666672 458.33334 154 447 c -143.333328 435.66666 128.333328 429.66666 109 429 c -h -f -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -109 429 m -91 429 76.666664 435 66 447 c -55.333332 459 50 473.66666 50 491 c -50 538.33331 67.666664 579.33331 103 614 c -138.333344 648.66669 182.33333 666 235 666 c -295.66666 666 346.33334 647.33331 387 610 c -427.66666 572.66669 448.33334 524.33331 449 465 c -449 436.33334 442.33334 409 429 383 c -415.66666 357 399.66666 334.33334 381 315 c -362.33334 295.66666 335.66666 271 301 241 c -277 220.33333 243.66667 189.66667 201 149 c -142 93 l -218 92 l -322.66669 92 378.33334 93.666664 385 97 c -389.66666 98.333336 397.66666 128 409 186 c -409 189 l -449 189 l -449 186 l -448.33334 184 444 153.666672 436 95 c -428 36.333332 423 5.666667 421 3 c -421 0 l -50 0 l -50 19 l -50 31 l -50 35.666668 52 40.666668 56 46 c -60 51.333332 70 63 86 81 c -105.333336 102.333336 122 121 136 137 c -142 143.666672 153.333328 156 170 174 c -186.66667 192 198 204.33333 204 211 c -210 217.66667 219.66667 228.66667 233 244 c -246.33333 259.33334 255.66667 270.66666 261 278 c -266.33334 285.33334 274 295.33334 284 308 c -294 320.66666 301 331.33334 305 340 c -309 348.66666 314 358.33334 320 369 c -326 379.66666 330.33334 390.33334 333 401 c -335.66666 411.66666 338 421.66666 340 431 c -342 440.33334 343 451.33334 343 464 c -343 506 331.66666 542.33331 309 573 c -286.33334 603.66669 254 619 212 619 c -190 619 170.66667 613.33331 154 602 c -137.333328 590.66669 125.666664 579.66669 119 569 c -112.333336 558.33331 109 552 109 550 c -109 549.33331 110.666664 549 114 549 c -126 549 138.333328 544.33331 151 535 c -163.666672 525.66669 170 510.33334 170 489 c -170 472.33334 164.666672 458.33334 154 447 c -143.333328 435.66666 128.333328 429.66666 109 429 c -h -S -Q -Q -Q -showpage -%%PageTrailer -pdfEndPage -%%Trailer -end -%%DocumentSuppliedResources: -%%+ font LiberationMono -%%EOF diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.jpeg b/src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.jpeg deleted file mode 100644 index 84d96de18bd89414b580ef78e24969c1d211592b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16287 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 aXHdFA37&d@INtB;%m2^*w>7Z+@qYoYFhunL diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.png b/src/kaleido/tests/test_py/baselines/plotly/failed/mathjax.png deleted file mode 100644 index 8134264d0c561c417d87d21c5896d359e8d216b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28420 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/simple.eps b/src/kaleido/tests/test_py/baselines/plotly/failed/simple.eps deleted file mode 100644 index fbfe3523..00000000 --- a/src/kaleido/tests/test_py/baselines/plotly/failed/simple.eps +++ /dev/null @@ -1,1428 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%Produced by poppler pdftops version: 0.80.0 (http://poppler.freedesktop.org) -%%Creator: Chromium -%%LanguageLevel: 2 -%%DocumentSuppliedResources: (atend) -%%BoundingBox: 0 0 526 376 -%%HiResBoundingBox: 0 0 525.12 375.12 -%%DocumentSuppliedResources: (atend) -%%EndComments -%%BeginProlog -%%BeginResource: procset xpdf 3.00 0 -%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC -/xpdf 75 dict def xpdf begin -% PDF special state -/pdfDictSize 15 def -/pdfSetup { - /setpagedevice where { - pop 2 dict begin - /Policies 1 dict dup begin /PageSize 6 def end def - { /Duplex true def } if - currentdict end setpagedevice - } { - pop - } ifelse -} def -/pdfSetupPaper { - % Change paper size, but only if different from previous paper size otherwise - % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size - % so we use the same when checking if the size changes. - /setpagedevice where { - pop currentpagedevice - /PageSize known { - 2 copy - currentpagedevice /PageSize get aload pop - exch 4 1 roll - sub abs 5 gt - 3 1 roll - sub abs 5 gt - or - } { - true - } ifelse - { - 2 array astore - 2 dict begin - /PageSize exch def - /ImagingBBox null def - currentdict end - setpagedevice - } { - pop pop - } ifelse - } { - pop - } ifelse -} def -/pdfStartPage { - pdfDictSize dict begin - /pdfFillCS [] def - /pdfFillXform {} def - /pdfStrokeCS [] def - /pdfStrokeXform {} def - /pdfFill [0] def - /pdfStroke [0] def - /pdfFillOP false def - /pdfStrokeOP false def - /pdfLastFill false def - /pdfLastStroke false def - /pdfTextMat [1 0 0 1 0 0] def - /pdfFontSize 0 def - /pdfCharSpacing 0 def - /pdfTextRender 0 def - /pdfPatternCS false def - /pdfTextRise 0 def - /pdfWordSpacing 0 def - /pdfHorizScaling 1 def - /pdfTextClipPath [] def -} def -/pdfEndPage { end } def -% PDF color state -/cs { /pdfFillXform exch def dup /pdfFillCS exch def - setcolorspace } def -/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def - setcolorspace } def -/sc { pdfLastFill not { pdfFillCS setcolorspace } if - dup /pdfFill exch def aload pop pdfFillXform setcolor - /pdfLastFill true def /pdfLastStroke false def } def -/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if - dup /pdfStroke exch def aload pop pdfStrokeXform setcolor - /pdfLastStroke true def /pdfLastFill false def } def -/op { /pdfFillOP exch def - pdfLastFill { pdfFillOP setoverprint } if } def -/OP { /pdfStrokeOP exch def - pdfLastStroke { pdfStrokeOP setoverprint } if } def -/fCol { - pdfLastFill not { - pdfFillCS setcolorspace - pdfFill aload pop pdfFillXform setcolor - pdfFillOP setoverprint - /pdfLastFill true def /pdfLastStroke false def - } if -} def -/sCol { - pdfLastStroke not { - pdfStrokeCS setcolorspace - pdfStroke aload pop pdfStrokeXform setcolor - pdfStrokeOP setoverprint - /pdfLastStroke true def /pdfLastFill false def - } if -} def -% build a font -/pdfMakeFont { - 4 3 roll findfont - 4 2 roll matrix scale makefont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /Encoding exch def - currentdict - end - definefont pop -} def -/pdfMakeFont16 { - exch findfont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /WMode exch def - currentdict - end - definefont pop -} def -% graphics state operators -/q { gsave pdfDictSize dict begin } def -/Q { - end grestore - /pdfLastFill where { - pop - pdfLastFill { - pdfFillOP setoverprint - } { - pdfStrokeOP setoverprint - } ifelse - } if -} def -/cm { concat } def -/d { setdash } def -/i { setflat } def -/j { setlinejoin } def -/J { setlinecap } def -/M { setmiterlimit } def -/w { setlinewidth } def -% path segment operators -/m { moveto } def -/l { lineto } def -/c { curveto } def -/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath } def -/h { closepath } def -% path painting operators -/S { sCol stroke } def -/Sf { fCol stroke } def -/f { fCol fill } def -/f* { fCol eofill } def -% clipping operators -/W { clip newpath } def -/W* { eoclip newpath } def -/Ws { strokepath clip newpath } def -% text state operators -/Tc { /pdfCharSpacing exch def } def -/Tf { dup /pdfFontSize exch def - dup pdfHorizScaling mul exch matrix scale - pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put - exch findfont exch makefont setfont } def -/Tr { /pdfTextRender exch def } def -/Tp { /pdfPatternCS exch def } def -/Ts { /pdfTextRise exch def } def -/Tw { /pdfWordSpacing exch def } def -/Tz { /pdfHorizScaling exch def } def -% text positioning operators -/Td { pdfTextMat transform moveto } def -/Tm { /pdfTextMat exch def } def -% text string operators -/xyshow where { - pop - /xyshow2 { - dup length array - 0 2 2 index length 1 sub { - 2 index 1 index 2 copy get 3 1 roll 1 add get - pdfTextMat dtransform - 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put - } for - exch pop - xyshow - } def -}{ - /xyshow2 { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval show moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval show moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/cshow where { - pop - /xycp { - 0 3 2 roll - { - pop pop currentpoint 3 2 roll - 1 string dup 0 4 3 roll put false charpath moveto - 2 copy get 2 index 2 index 1 add get - pdfTextMat dtransform rmoveto - 2 add - } exch cshow - pop pop - } def -}{ - /xycp { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval false charpath moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval false charpath moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/Tj { - fCol - 0 pdfTextRise pdfTextMat dtransform rmoveto - currentpoint 4 2 roll - pdfTextRender 1 and 0 eq { - 2 copy xyshow2 - } if - pdfTextRender 3 and dup 1 eq exch 2 eq or { - 3 index 3 index moveto - 2 copy - currentfont /FontType get 3 eq { fCol } { sCol } ifelse - xycp currentpoint stroke moveto - } if - pdfTextRender 4 and 0 ne { - 4 2 roll moveto xycp - /pdfTextClipPath [ pdfTextClipPath aload pop - {/moveto cvx} - {/lineto cvx} - {/curveto cvx} - {/closepath cvx} - pathforall ] def - currentpoint newpath moveto - } { - pop pop pop pop - } ifelse - 0 pdfTextRise neg pdfTextMat dtransform rmoveto -} def -/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 - pdfTextMat dtransform rmoveto } def -/TJmV { 0.001 mul pdfFontSize mul neg 0 exch - pdfTextMat dtransform rmoveto } def -/Tclip { pdfTextClipPath cvx exec clip newpath - /pdfTextClipPath [] def } def -/Tclip* { pdfTextClipPath cvx exec eoclip newpath - /pdfTextClipPath [] def } def -% Level 2/3 image operators -/pdfImBuf 100 string def -/pdfImStr { - 2 copy exch length lt { - 2 copy get exch 1 add exch - } { - () - } ifelse -} def -/skipEOD { - { currentfile pdfImBuf readline - not { pop exit } if - (%-EOD-) eq { exit } if } loop -} def -/pdfIm { image skipEOD } def -/pdfImM { fCol imagemask skipEOD } def -/pr { 2 index 2 index 3 2 roll putinterval 4 add } def -/pdfImClip { - gsave - 0 2 4 index length 1 sub { - dup 4 index exch 2 copy - get 5 index div put - 1 add 3 index exch 2 copy - get 3 index div put - } for - pop pop rectclip -} def -/pdfImClipEnd { grestore } def -% shading operators -/colordelta { - false 0 1 3 index length 1 sub { - dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { - pop true - } if - } for - exch pop exch pop -} def -/funcCol { func n array astore } def -/funcSH { - dup 0 eq { - true - } { - dup 6 eq { - false - } { - 4 index 4 index funcCol dup - 6 index 4 index funcCol dup - 3 1 roll colordelta 3 1 roll - 5 index 5 index funcCol dup - 3 1 roll colordelta 3 1 roll - 6 index 8 index funcCol dup - 3 1 roll colordelta 3 1 roll - colordelta or or or - } ifelse - } ifelse - { - 1 add - 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch - 6 index 6 index 4 index 4 index 4 index funcSH - 2 index 6 index 6 index 4 index 4 index funcSH - 6 index 2 index 4 index 6 index 4 index funcSH - 5 3 roll 3 2 roll funcSH pop pop - } { - pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul - funcCol sc - dup 4 index exch mat transform m - 3 index 3 index mat transform l - 1 index 3 index mat transform l - mat transform l pop pop h f* - } ifelse -} def -/axialCol { - dup 0 lt { - pop t0 - } { - dup 1 gt { - pop t1 - } { - dt mul t0 add - } ifelse - } ifelse - func n array astore -} def -/axialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index axialCol 2 index axialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index axialSH - exch 3 2 roll axialSH - } { - pop 2 copy add 0.5 mul - axialCol sc - exch dup dx mul x0 add exch dy mul y0 add - 3 2 roll dup dx mul x0 add exch dy mul y0 add - dx abs dy abs ge { - 2 copy yMin sub dy mul dx div add yMin m - yMax sub dy mul dx div add yMax l - 2 copy yMax sub dy mul dx div add yMax l - yMin sub dy mul dx div add yMin l - h f* - } { - exch 2 copy xMin sub dx mul dy div add xMin exch m - xMax sub dx mul dy div add xMax exch l - exch 2 copy xMax sub dx mul dy div add xMax exch l - xMin sub dx mul dy div add xMin exch l - h f* - } ifelse - } ifelse -} def -/radialCol { - dup t0 lt { - pop t0 - } { - dup t1 gt { - pop t1 - } if - } ifelse - func n array astore -} def -/radialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index dt mul t0 add radialCol - 2 index dt mul t0 add radialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index radialSH - exch 3 2 roll radialSH - } { - pop 2 copy add 0.5 mul dt mul t0 add - radialCol sc - encl { - exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 0 360 arc h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 360 0 arcn h f - } { - 2 copy - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arcn - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arcn h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arc - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arc h f - } ifelse - } ifelse -} def -end -%%EndResource -%%EndProlog -%%BeginSetup -xpdf begin -%%BeginResource: font LiberationMono -/LiberationMono_sfnts [ -<00010000000b0080000300306376742067066d57000000bc000002ae6670676d -7e61b6110000036c000007b4676c79666939d49400000b200000063068656164 -04d4c02000001150000000366868656108c1fdc50000118800000024686d7478 -399c0838000011ac000001606c6f63614aea49960000130c000000b26d617870 -04cf04c0000013c00000002070726570c8f38c8f000013e00000057a76686561 -000208010000195c00000024766d74780800000000001980000000b200> -<05cc05cc007d054500150060054500150000000000000000000000000000043a -001400770000ffec00000000ffecff5f0000ffec0000fe57fe57000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000008000000000000b400bd00aa00a000c800b40085000000000000 -0088007e00a500c000000000000000000000000000bf00c900ab008c00bc009b -008d003400000000000000000000000000000000000000000000000000b900b4 -007c000000000094005f00000000000000000000000000000000000000000000 -0000000001a8006f007800a400c80083008d00bb005e018a0103006000740081 -00b800c0005004b104c3fe4c00eb01b200c30109007b012b029600c9009600db -05d804d500000000000000000000000000000000009200a8006b009200b7006b -009b0000000002f20092023e006e02a50345008900a00060024c000000c30000 -014e00a4015b005e00800069006f0000005e0068000000000000000000000000 -0026034a0087007b000000750068000000000000000000000582fcb1000bfff4 -00830089008f009600690071005b005200000000000000b202030000008d031f -00bb00ae00b500000000008b000000000000000006a9037002bc0208fd990091 -0091004d004d006400640181009f00a8fe68fe9c009b014501450090fef6ffe9 -007a0545024d000cffee0598fcf3006e004c0062004600e80000000000000000 -00000000000000000000000000000000000000000000000005cc000ffc1efff2 -02fb000e0416000afed300bf0000000000000000035b0010fd22ffecff78fff0 -fe60fe5302fb000f041605a505b205c30079005f06810468001404cb0000ffec -ffd3fe7f008300db00aa00ba00a0000000> -<40475b5a59585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c -3b3a393837363531302f2e2d2c28272625242322211f181411100f0e0d0b0a09 -0807060504030201002c20b0016045b003252011466123452361482d2c204518 -68442d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 -b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d -2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c -20452320b0cd442320b8015a51582320b08d44235920b0ed51582320b04d4423 -5920b0042651582320b00d44235921212d2c20204518684420b001602045b046 -76688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b2d2c00b028 -2370b101283e01b0282370b10228453ab10200080d2d2c2045b00325456164b0 -50515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b0 -0743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c -58b00361592d2c8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c23 -4445b02b23442d2c4b525845441b2121592d2c4b515845441b2121592d2c01b0 -05251023208af500b0016023edec2d2c01b005251023208af500b0016123edec -2d2c01b0062510f500edec2d2cb00243b001525821212121211b462346608a8a -462320468a608a61b8ff8062232010238ab10c0c8a70456020b0005058b00161 -b8ffba8b1bb0468c59b0106068013a592d2c2045b0032546524bb013515b58b0 -022546206861b00325b003253f2321381b2111592d2c2045b00325465058b002 -2546206861b00325b003253f2321381b2111592d2c00b00743b006430b2d2c21 -210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b -59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c -0c6423648bb84000626023212d2c4b53588ab004254964234569b0408b61b080 -62b020616ab00e23442310b00ef61b21238a121120392f592d2c4b535820b003 -2549646920b00526b0062549642361b08062b020616ab00e2344b0042610b00e -f68a10b00e2344b00ef6b00e2344b00eed1b8ab00426111220392320392f2f59 -2d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045b00054 -58b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c -4b5158b02f2370b01423421b2121592d2c4b515820b0032545695358441b2121 -591b2121592d2c45b01443b0006063b0016069442d2cb02f45442d2c45232045 -8a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3330034005944 -442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 -01615923586559b02923442310b029e01b2121212121592d2cb0024354584b53 -234b515a58381b2121591b21212121592d2cb0164358b004254564b020606620 -581b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b0 -042510b005252046b0042523423cb00425b0072508b0072510b006252046b004 -25b0016023423c2058011b0059b0042510b00525b029e0b02920456544b00725 -10b00625b029e0b00525b00825082058021b0359b00525b003254348b00425b0 -072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 -46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002 -2543482121212d2c452320451820b00050205823652359236820b040505821b0 -4059235865598a60442d2c4b53234b515a5820458a60441b2121592d2c4b5458 -20458a60441b2121592d2c4b53234b515a58381b2121592d2cb000214b545838 -1b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b21 -2121592d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b2121 -21592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b0005358 -20b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140 -408a704560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d -2cb012004b014b54422d2cb1020042b123018851b1400188535a58b910000020 -885458b202010243604259b12401885158b920000040885458b2020202436042 -b12401885458b2022002436042004b014b5258b2020802436042591bb9400000 -80885458b202040243604259b94000008063b80100885458b202080243604259 -b94000010063b80200885458b202100243604259b12601885158b94000020063 -b80400885458b202400243604259b94000040063b80800885458b20280024360 -42595959595959b10002435458400a0540084009400c020d021bb10102435458 -b2054008ba010000090100b30c010d011bb18002435258b2054008b80180b109 -401bb2054008ba01800009014059b9400000808855b94000020063b804008855 -5a58b30c000d011bb30c000d0159595942424242422d2c451868234b51582320 -452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e00b0 -02233eb10102060cb00a236542b00b234201b001233f00b002233fb10102060c -b006236542b0072342b00116012d2cb080b0024350b001b00243545b58212310 -b0201ac91b8a10ed592d2cb0592b2d2c8a10e52d00> -<0002007f0000038102ee00030007001e400c060007030003080905010600002f -cd2fcd111201393911331133313033112111032111217f030281fe00020002ee -fd12026dfe14000000> -<000101f0000002db012b00030017400a030000040500019b5b00002f2b111201 -39113331302111331101f0eb012bfed500> -<0003007cffec044f055a000b0017001b0054402e1a190c1212060c0006001c1d -0f18010f181f18020d18400f191f1902150319190309090f7359090703157359 -0319003f2b00183f2b11120039182f5f5e5d1acd5e5d71111201393911331133 -1112393931300110022322021110122132120310022322021110123332122535 -3315044ff9f3f3f4ee00fff9edb78da2a69193a09f94fe58eb02a3feaefe9b01 -630154015d015afea3fea601220103ff00fedbfee3fef9010e9ef9f900> -<000100940000046a0545000e0038401d0d0c06010a010c0302020f1007067359 -0707030a060c01000173590018003f2b110033183f33332f2b11120139111733 -1133113331303335211106042335322437331121159d01b725feeb8694010734 -a601619103fd4e74948263fb4c91000000> -<000100900000043c055a001c003c401d1a00000d0e1c07140e141d1e0d0d1111 -0a73591107011a001a73590018003f2b110033183f2b110033182f1112013939 -1133331133331133313033353e01373e0135342623220607273e013332161514 -06070e010721159031cfb29f8c8a80728d0db814eec2d5ee9897ce9f2102d375 -6ddd8e7fbc576f787d7111aac7c0b073e578a49b4992000000> -<00010080ffec044b055a002a0076404127241212062c1d1e1e07061724240c00 -06002b2c271211121173590f12011703121203211d1d21211a73592107030973 -59400790070240079007f0070307070319003f332f5d712b00183f2b11003318 -2f1112392f5f5e5d2b1112003911120139391133331133113333113311123911 -1239313001140623222427371621323635342e012b013533323e013534262322 -0607273e0133321615140607151e01044bfce2d6ff0017ba24010f889b5b9c61 -6662568f52858377930cb514f7c2d4eb9e8997b70172baccc2bc11fa7e794b67 -379c3968476a777a6f0eadc2bba777b01c0411b200> -<00010080ffec044b0545001d0058402d1918131315141408070d160007001e1f -1419735914141b1b1073591b1b0415151873591506040a735908080419003f33 -2f2b00183f2b11120039182f2b110033182f2b11120139391133331133331133 -33113333313001140e0123222627371633323635342623220607231321152103 -36333216044b76e39bc5f220b639ec8da8a68b497e3fb02f0321fd851d75aecc -fb01bc8bd273aca315d1a8917c9e2e3702d891fe575aeb0000> -<0001004c0000048005450007002640120701010402020809000405045f590503 -0112003f3f2b1100331112013911333311333130011123112135211502c5befe -45043404a9fb5704a99c9c0000> -<00020085ffec0446044e0014001a004f402c1800000d0607191313070d031b1c -1800505918180a101015505910100a035059df06ef060280060106060a16003f -332f5d5d2b00183f2b11120039182f2b11120117391133113311331133313001 -141633323637170e0123220211101233321211150122060721020142a18c679b -1a9e2ceba3ecfef9ebebf2fe25869c0502481c01f7b6ce594d2d7c8401260112 -010b011ffee2fedf1801d2af9901480000> -<0002008f0000046505cc0009000d003c401f0b0c0c0100000405050e0f0b0a53 -590b0008075059080f0004030450590315003f2b110033183f2b00183f2b1112 -013911333311333311333130252115213521112135212735331502e9017cfc2a -01a6fec101f3c8c88e8e8e031e8ed2c0c000000000> -<0005010b0000045c05cc000f0010001100120014000025051525262726271121 -352111161716172717273503430119fe8e71341603fedf01d5011815396710c4 -93058e0414461e86043c8efb212d1613095fed8e7400000000> -<000100befff003f9055400150036401b0509090214140f1617110c5059111608 -000100505905010303010f003f332f11332b110033183f2b1112013939113333 -1133313013353313331121152111141633323715062322263511beaa3a7801b0 -fe50556186a3a9a6a2a203ac8e011afee68efd744f4c22892e8994029f00000000> -<0001000000020000a2f1f7005f0f3cf5021f080000000000c8437aa700000000 -d948fb0afc25fd9905f107d900000008000000000000000000> -<0001000006a9fd9900000559fc25fa7a05f10001000000000000000000000000 -0000005800> -<04cd007f00000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000004cd01f00000000004cd007c04cd009404cd009004cd008000000000 -04cd008000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000004cd004c -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -04cd008500000000000000000000000004cd008f000000000000000004cd010b -0000000000000000000000000000000000000000000000000000000004cd00be00> -<0000002400240024002400240024002400240024002400240024002400240024 -00240024003c003c009a00d2011e0198019801f401f401f401f401f401f401f4 -01f401f401f401f401f401f401f401f401f401f401f401f401f401f401f401f4 -01f401f401f401f401f401f401f401f4021a021a021a021a021a021a021a021a -021a021a021a021a021a021a021a021a021a027202720272027202ac02ac02ac -02d802d802d802d802d802d802d802d80318000000> -<00010000005801220048005b000600020010002f005c000003b903110003000100> -<412601530001014d005501520001014d0055015601540014001f01550154001f -001f014f0033014e0055014c0033014d0055013d003d013c0055013c0001013a -0055013b003d013a005501350134b2801f00412e013400100134000201340002 -012e0055013300480132005500800132000101320002012e00550131003d0130 -0055000f0130000101300002012e0055012f003d012e00550020012e0060012e -00020000012e0020012e00020009012eb2010055b8012db23d0055b8012cb300 -ff1f7041110144000101440001013e00550143003d0142005501420001013e00 -55013f003d013e40675500fd01f550281ff246281ff1462a1ff046351f8fee9f -eeafee036fef8fef02bfef01a0ef011fef5fef6fef0300ec40ec020aeb46ff1f -e7e4261fe6e43d1fe5e41e1f0fe4011de3e2461f0fe20140e246161fe1e0461f -bfe0cfe0dfe00340e0333646e046181fbc0114003e011200550113400c3d0355 -df3ddd55de3ddc5500411201160001011600010115005500af01150001002001 -15005001150002000f011500010111405303ff1fdd01dc5520dc50dc80dcb0dc -040fdc01d015331f5fc36fc37fc303bfc201c150261f70be0120be30bec0be03 -70be80be020fbc1fbc022fbc3fbc6fbcafbcdfbc05b9ad261f20b830b850b870 -b880b805b8ffc0401cb813294610b70120b750b780b7b0b70480b5b0b5020fb3 -3fb3efb303b8010d402baa481f80b090b002b0b0c0b0d0b0032faf3faf02a0ad -b0ad02c0add0ad022fac3fac029fab01c0aad0aa02410d010f0032010e005500 -00010e0010010e0020010e0003000f0110401501509c609c709c039996261f98 -46261f3097409702b8ffc0b396161c46b8ffc04009960e1146a1943c1fa04109 -0145003c001f01470145003c001f014601454028641f951bff1f0f94af94bf94 -0340941d31464094161b4640940c0f460f932f933f937f93ef93050fba010c00 -6f010c402002928d261f9153ff1fdf90013090011f902f90026f907f9002008f -108f208f03b8ffc040208f181c46208e308e024f8d5f8d6f8d03308c010f8c1f -8c2f8c03408c10134610bf010b0020010b0030010b0003ffc0010bb2172046b9 -ffc0010b40501014468b82261f894a3c1f88873d1f87843c1f864aff1f9f8501 -108420843084033083017f82014082090c467350261f6f46351f6e46351f1a01 -185519331855073303550603ff1f6050261f5f50261fb9ffe00107b21f2646b9 -ffe00107401f131c465e5a481f5c46311f5b5a481f5a46311f13321255050103 -5504320355b80108b51b3c1f0f0301b901190118b2351f40b80118b2172846b8 -010a402550261f52501b1fef51ff510240513538464051252846cf5001df4c01 -4c461d1f4b46481f50b8011b4062014a46261f4946351f4846351f4746351faf -4601df46ef4602804601170115551632155511010f5510320f55020100550100 -ff1f1c1b641f1f0f3f0f5f0f7f0f040f0f2f0f4f0f6f0f8f0fdf0fff0f073f0f -7f0fef0f036f00014f0001a016010501b80190b154532b2b4bb807ff524bb009 -505bb00188b02553b00188b040515ab00688b000555a5b58b101018e59858d8d -00421d4bb0325358b0601d594bb0645358b0401d594bb0805358b0101db11600 -425973747374752b2b2b2b2b2b2b017374752b2b2b2b73002b2b74742b2b732b -2b2b2b732b2b2b2b012b2b2b002b2b2b2b2b2b2b2b2b012b2b002b012b737474 -732b2b2b2b2b2b2b73002b737474742b75737474742b2b73732b2b2b732b2b2b -2b2b012b2b732b2b007374732b017373740073747473742b7301730073742b73 -2b737401737475002b730174002b73732b2b7373732b732b2b2b2b012b2b742b -2b5e732b005e732b2b2b012b5e73007373737473012b2b2b002b732b2b2b2b73 -2b2b2b5e73742b2b732b2b732b2b732b2b2b2b2b2b2b2b2b2b18000000> -<0001000000000000000008000000000000000000000100000000000000000000 -0000000100> -<0800000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000> -] def -10 dict begin -/FontName /LiberationMono_00 def -/FontType 42 def -/FontMatrix [1 0 0 1 0 0] def -/FontBBox [-987 -615 1521 2009] def -/PaintType 0 def -/sfnts LiberationMono_sfnts def -/Encoding 256 array -dup 0 /c00 put -dup 1 /c01 put -dup 2 /c02 put -dup 3 /c03 put -dup 4 /c04 put -dup 5 /c05 put -dup 6 /c06 put -dup 7 /c07 put -dup 8 /c08 put -dup 9 /c09 put -dup 10 /c0a put -dup 11 /c0b put -dup 12 /c0c put -dup 13 /c0d put -dup 14 /c0e put -dup 15 /c0f put -dup 16 /c10 put -dup 17 /c11 put -dup 18 /c12 put -dup 19 /c13 put -dup 20 /c14 put -dup 21 /c15 put -dup 22 /c16 put -dup 23 /c17 put -dup 24 /c18 put -dup 25 /c19 put -dup 26 /c1a put -dup 27 /c1b put -dup 28 /c1c put -dup 29 /c1d put -dup 30 /c1e put -dup 31 /c1f put -dup 32 /c20 put -dup 33 /c21 put -dup 34 /c22 put -dup 35 /c23 put -dup 36 /c24 put -dup 37 /c25 put -dup 38 /c26 put -dup 39 /c27 put -dup 40 /c28 put -dup 41 /c29 put -dup 42 /c2a put -dup 43 /c2b put -dup 44 /c2c put -dup 45 /c2d put -dup 46 /c2e put -dup 47 /c2f put -dup 48 /c30 put -dup 49 /c31 put -dup 50 /c32 put -dup 51 /c33 put -dup 52 /c34 put -dup 53 /c35 put -dup 54 /c36 put -dup 55 /c37 put -dup 56 /c38 put -dup 57 /c39 put -dup 58 /c3a put -dup 59 /c3b put -dup 60 /c3c put -dup 61 /c3d put -dup 62 /c3e put -dup 63 /c3f put -dup 64 /c40 put -dup 65 /c41 put -dup 66 /c42 put -dup 67 /c43 put -dup 68 /c44 put -dup 69 /c45 put -dup 70 /c46 put -dup 71 /c47 put -dup 72 /c48 put -dup 73 /c49 put -dup 74 /c4a put -dup 75 /c4b put -dup 76 /c4c put -dup 77 /c4d put -dup 78 /c4e put -dup 79 /c4f put -dup 80 /c50 put -dup 81 /c51 put -dup 82 /c52 put -dup 83 /c53 put -dup 84 /c54 put -dup 85 /c55 put -dup 86 /c56 put -dup 87 /c57 put -readonly def -/CharStrings 257 dict dup begin -/.notdef 0 def -/c00 0 def -/c01 1 def -/c02 2 def -/c03 3 def -/c04 4 def -/c05 5 def -/c06 6 def -/c07 7 def -/c08 8 def -/c09 9 def -/c0a 10 def -/c0b 11 def -/c0c 12 def -/c0d 13 def -/c0e 14 def -/c0f 15 def -/c10 16 def -/c11 17 def -/c12 18 def -/c13 19 def -/c14 20 def -/c15 21 def -/c16 22 def -/c17 23 def -/c18 24 def -/c19 25 def -/c1a 26 def -/c1b 27 def -/c1c 28 def -/c1d 29 def -/c1e 30 def -/c1f 31 def -/c20 32 def -/c21 33 def -/c22 34 def -/c23 35 def -/c24 36 def -/c25 37 def -/c26 38 def -/c27 39 def -/c28 40 def -/c29 41 def -/c2a 42 def -/c2b 43 def -/c2c 44 def -/c2d 45 def -/c2e 46 def -/c2f 47 def -/c30 48 def -/c31 49 def -/c32 50 def -/c33 51 def -/c34 52 def -/c35 53 def -/c36 54 def -/c37 55 def -/c38 56 def -/c39 57 def -/c3a 58 def -/c3b 59 def -/c3c 60 def -/c3d 61 def -/c3e 62 def -/c3f 63 def -/c40 64 def -/c41 65 def -/c42 66 def -/c43 67 def -/c44 68 def -/c45 69 def -/c46 70 def -/c47 71 def -/c48 72 def -/c49 73 def -/c4a 74 def -/c4b 75 def -/c4c 76 def -/c4d 77 def -/c4e 78 def -/c4f 79 def -/c50 80 def -/c51 81 def -/c52 82 def -/c53 83 def -/c54 84 def -/c55 85 def -/c56 86 def -/c57 87 def -end readonly def -FontName currentdict end definefont pop -16 dict begin -/FontName /LiberationMono def -/FontType 0 def -/FontMatrix [1 0 0 1 0 0] def -/FMapType 2 def -/Encoding [ -0 -] def -/FDepVector [ -/LiberationMono_00 findfont -] def -FontName currentdict end definefont pop -%%EndResource -/F6_0 /LiberationMono 0 pdfMakeFont16 -%%EndSetup -pdfStartPage -%%EndPageSetup -[] 0 d -1 i -0 j -0 J -10 M -1 w -/DeviceGray {} cs -[0] sc -/DeviceGray {} CS -[0] SC -false op -false OP -{} settransfer -0 0 525.12 375.12 re -W -q -[0.24 0 0 -0.24 0 375.12] cm -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -0 0 700 500 re -f -Q -Q -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -80 100 540 320 re -f -Q -q -[3.125 0 0 3.125 719.90625 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1093.75 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1467.5625 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1841.4063 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 0 1250.78125] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 1031.65625] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 812.5] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 593.375] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 374.21875] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 346.09375 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -Q -q -250 312.5 1687.5 1000 re -W* -q -[3.125 0 0 3.125 250 312.5] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -2 w -0 J -0 j -2 M -2 w -0 J -0 j -2 M -30.75 300.25 m -270 19.75 l -509.25 160 l -S -Q -q -[3.125 0 0 3.125 346.09375 1250.78125] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -q -[3.125 0 0 3.125 1093.75 374.21875] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -q -[3.125 0 0 3.125 1841.4063 812.5] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -Q -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 346.09375 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\023) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 719.90625 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -10.801758 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\023\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1093.75 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\024) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1467.5625 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -10.801758 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\024\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1841.4063 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\025) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 1250.78125] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\024) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 1031.65625] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 57.396484 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\024\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 812.5] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\025) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 593.375] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 57.396484 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\025\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 374.21875] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\026) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 324.49585 50] Tm -0 0 Td -/F6_0 17 Tf -(\0007\000L\000W\000O\000H) -[10.20166 -0 -10.20166 -0 -10.20166 -0 -10.20166 -0 -10.20166 -0] Tj -Q -Q -Q -showpage -%%PageTrailer -pdfEndPage -%%Trailer -end -%%DocumentSuppliedResources: -%%+ font LiberationMono -%%EOF diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/simple.jpeg b/src/kaleido/tests/test_py/baselines/plotly/failed/simple.jpeg deleted file mode 100644 index 649fc01149bb8a2dae8aa39ee526efe9024a71bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16873 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/simple.png b/src/kaleido/tests/test_py/baselines/plotly/failed/simple.png deleted file mode 100644 index 6926fddcd5f3f6236f6482afc7c3f3ffbf4dd5d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28703 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 RT>Q66FyFi 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.eps b/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.eps deleted file mode 100644 index 844472b9..00000000 --- a/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.eps +++ /dev/null @@ -1,30956 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%Produced by poppler pdftops version: 0.80.0 (http://poppler.freedesktop.org) -%%Creator: Chromium -%%LanguageLevel: 2 -%%DocumentSuppliedResources: (atend) -%%BoundingBox: 0 0 526 376 -%%HiResBoundingBox: 0 0 525.12 375.12 -%%DocumentSuppliedResources: (atend) -%%EndComments -%%BeginProlog -%%BeginResource: procset xpdf 3.00 0 -%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC -/xpdf 75 dict def xpdf begin -% PDF special state -/pdfDictSize 15 def -/pdfSetup { - /setpagedevice where { - pop 2 dict begin - /Policies 1 dict dup begin /PageSize 6 def end def - { /Duplex true def } if - currentdict end setpagedevice - } { - pop - } ifelse -} def -/pdfSetupPaper { - % Change paper size, but only if different from previous paper size otherwise - % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size - % so we use the same when checking if the size changes. - /setpagedevice where { - pop currentpagedevice - /PageSize known { - 2 copy - currentpagedevice /PageSize get aload pop - exch 4 1 roll - sub abs 5 gt - 3 1 roll - sub abs 5 gt - or - } { - true - } ifelse - { - 2 array astore - 2 dict begin - /PageSize exch def - /ImagingBBox null def - currentdict end - setpagedevice - } { - pop pop - } ifelse - } { - pop - } ifelse -} def -/pdfStartPage { - pdfDictSize dict begin - /pdfFillCS [] def - /pdfFillXform {} def - /pdfStrokeCS [] def - /pdfStrokeXform {} def - /pdfFill [0] def - /pdfStroke [0] def - /pdfFillOP false def - /pdfStrokeOP false def - /pdfLastFill false def - /pdfLastStroke false def - /pdfTextMat [1 0 0 1 0 0] def - /pdfFontSize 0 def - /pdfCharSpacing 0 def - /pdfTextRender 0 def - /pdfPatternCS false def - /pdfTextRise 0 def - /pdfWordSpacing 0 def - /pdfHorizScaling 1 def - /pdfTextClipPath [] def -} def -/pdfEndPage { end } def -% PDF color state -/cs { /pdfFillXform exch def dup /pdfFillCS exch def - setcolorspace } def -/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def - setcolorspace } def -/sc { pdfLastFill not { pdfFillCS setcolorspace } if - dup /pdfFill exch def aload pop pdfFillXform setcolor - /pdfLastFill true def /pdfLastStroke false def } def -/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if - dup /pdfStroke exch def aload pop pdfStrokeXform setcolor - /pdfLastStroke true def /pdfLastFill false def } def -/op { /pdfFillOP exch def - pdfLastFill { pdfFillOP setoverprint } if } def -/OP { /pdfStrokeOP exch def - pdfLastStroke { pdfStrokeOP setoverprint } if } def -/fCol { - pdfLastFill not { - pdfFillCS setcolorspace - pdfFill aload pop pdfFillXform setcolor - pdfFillOP setoverprint - /pdfLastFill true def /pdfLastStroke false def - } if -} def -/sCol { - pdfLastStroke not { - pdfStrokeCS setcolorspace - pdfStroke aload pop pdfStrokeXform setcolor - pdfStrokeOP setoverprint - /pdfLastStroke true def /pdfLastFill false def - } if -} def -% build a font -/pdfMakeFont { - 4 3 roll findfont - 4 2 roll matrix scale makefont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /Encoding exch def - currentdict - end - definefont pop -} def -/pdfMakeFont16 { - exch findfont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /WMode exch def - currentdict - end - definefont pop -} def -% graphics state operators -/q { gsave pdfDictSize dict begin } def -/Q { - end grestore - /pdfLastFill where { - pop - pdfLastFill { - pdfFillOP setoverprint - } { - pdfStrokeOP setoverprint - } ifelse - } if -} def -/cm { concat } def -/d { setdash } def -/i { setflat } def -/j { setlinejoin } def -/J { setlinecap } def -/M { setmiterlimit } def -/w { setlinewidth } def -% path segment operators -/m { moveto } def -/l { lineto } def -/c { curveto } def -/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath } def -/h { closepath } def -% path painting operators -/S { sCol stroke } def -/Sf { fCol stroke } def -/f { fCol fill } def -/f* { fCol eofill } def -% clipping operators -/W { clip newpath } def -/W* { eoclip newpath } def -/Ws { strokepath clip newpath } def -% text state operators -/Tc { /pdfCharSpacing exch def } def -/Tf { dup /pdfFontSize exch def - dup pdfHorizScaling mul exch matrix scale - pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put - exch findfont exch makefont setfont } def -/Tr { /pdfTextRender exch def } def -/Tp { /pdfPatternCS exch def } def -/Ts { /pdfTextRise exch def } def -/Tw { /pdfWordSpacing exch def } def -/Tz { /pdfHorizScaling exch def } def -% text positioning operators -/Td { pdfTextMat transform moveto } def -/Tm { /pdfTextMat exch def } def -% text string operators -/xyshow where { - pop - /xyshow2 { - dup length array - 0 2 2 index length 1 sub { - 2 index 1 index 2 copy get 3 1 roll 1 add get - pdfTextMat dtransform - 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put - } for - exch pop - xyshow - } def -}{ - /xyshow2 { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval show moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval show moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/cshow where { - pop - /xycp { - 0 3 2 roll - { - pop pop currentpoint 3 2 roll - 1 string dup 0 4 3 roll put false charpath moveto - 2 copy get 2 index 2 index 1 add get - pdfTextMat dtransform rmoveto - 2 add - } exch cshow - pop pop - } def -}{ - /xycp { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval false charpath moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval false charpath moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/Tj { - fCol - 0 pdfTextRise pdfTextMat dtransform rmoveto - currentpoint 4 2 roll - pdfTextRender 1 and 0 eq { - 2 copy xyshow2 - } if - pdfTextRender 3 and dup 1 eq exch 2 eq or { - 3 index 3 index moveto - 2 copy - currentfont /FontType get 3 eq { fCol } { sCol } ifelse - xycp currentpoint stroke moveto - } if - pdfTextRender 4 and 0 ne { - 4 2 roll moveto xycp - /pdfTextClipPath [ pdfTextClipPath aload pop - {/moveto cvx} - {/lineto cvx} - {/curveto cvx} - {/closepath cvx} - pathforall ] def - currentpoint newpath moveto - } { - pop pop pop pop - } ifelse - 0 pdfTextRise neg pdfTextMat dtransform rmoveto -} def -/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 - pdfTextMat dtransform rmoveto } def -/TJmV { 0.001 mul pdfFontSize mul neg 0 exch - pdfTextMat dtransform rmoveto } def -/Tclip { pdfTextClipPath cvx exec clip newpath - /pdfTextClipPath [] def } def -/Tclip* { pdfTextClipPath cvx exec eoclip newpath - /pdfTextClipPath [] def } def -% Level 2/3 image operators -/pdfImBuf 100 string def -/pdfImStr { - 2 copy exch length lt { - 2 copy get exch 1 add exch - } { - () - } ifelse -} def -/skipEOD { - { currentfile pdfImBuf readline - not { pop exit } if - (%-EOD-) eq { exit } if } loop -} def -/pdfIm { image skipEOD } def -/pdfImM { fCol imagemask skipEOD } def -/pr { 2 index 2 index 3 2 roll putinterval 4 add } def -/pdfImClip { - gsave - 0 2 4 index length 1 sub { - dup 4 index exch 2 copy - get 5 index div put - 1 add 3 index exch 2 copy - get 3 index div put - } for - pop pop rectclip -} def -/pdfImClipEnd { grestore } def -% shading operators -/colordelta { - false 0 1 3 index length 1 sub { - dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { - pop true - } if - } for - exch pop exch pop -} def -/funcCol { func n array astore } def -/funcSH { - dup 0 eq { - true - } { - dup 6 eq { - false - } { - 4 index 4 index funcCol dup - 6 index 4 index funcCol dup - 3 1 roll colordelta 3 1 roll - 5 index 5 index funcCol dup - 3 1 roll colordelta 3 1 roll - 6 index 8 index funcCol dup - 3 1 roll colordelta 3 1 roll - colordelta or or or - } ifelse - } ifelse - { - 1 add - 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch - 6 index 6 index 4 index 4 index 4 index funcSH - 2 index 6 index 6 index 4 index 4 index funcSH - 6 index 2 index 4 index 6 index 4 index funcSH - 5 3 roll 3 2 roll funcSH pop pop - } { - pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul - funcCol sc - dup 4 index exch mat transform m - 3 index 3 index mat transform l - 1 index 3 index mat transform l - mat transform l pop pop h f* - } ifelse -} def -/axialCol { - dup 0 lt { - pop t0 - } { - dup 1 gt { - pop t1 - } { - dt mul t0 add - } ifelse - } ifelse - func n array astore -} def -/axialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index axialCol 2 index axialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index axialSH - exch 3 2 roll axialSH - } { - pop 2 copy add 0.5 mul - axialCol sc - exch dup dx mul x0 add exch dy mul y0 add - 3 2 roll dup dx mul x0 add exch dy mul y0 add - dx abs dy abs ge { - 2 copy yMin sub dy mul dx div add yMin m - yMax sub dy mul dx div add yMax l - 2 copy yMax sub dy mul dx div add yMax l - yMin sub dy mul dx div add yMin l - h f* - } { - exch 2 copy xMin sub dx mul dy div add xMin exch m - xMax sub dx mul dy div add xMax exch l - exch 2 copy xMax sub dx mul dy div add xMax exch l - xMin sub dx mul dy div add xMin exch l - h f* - } ifelse - } ifelse -} def -/radialCol { - dup t0 lt { - pop t0 - } { - dup t1 gt { - pop t1 - } if - } ifelse - func n array astore -} def -/radialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index dt mul t0 add radialCol - 2 index dt mul t0 add radialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index radialSH - exch 3 2 roll radialSH - } { - pop 2 copy add 0.5 mul dt mul t0 add - radialCol sc - encl { - exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 0 360 arc h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 360 0 arcn h f - } { - 2 copy - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arcn - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arcn h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arc - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arc h f - } ifelse - } ifelse -} def -end -%%EndResource -%%EndProlog -%%BeginSetup -xpdf begin -%%BeginResource: font LiberationMono -/LiberationMono_sfnts [ -<00010000000b0080000300306376742067066d57000000bc000002ae6670676d -7e61b6110000036c000007b4676c7966a2cb901500000b200000081868656164 -04d4c02000001338000000366868656108c1fdc90000137000000024686d7478 -433607f800001394000001706c6f63615f5c5cd400001504000000ba6d617870 -04d304c0000015c00000002070726570c8f38c8f000015e00000057a76686561 -0002080100001b5c00000024766d74780800000000001b80000000ba00> -<05cc05cc007d054500150060054500150000000000000000000000000000043a -001400770000ffec00000000ffecff5f0000ffec0000fe57fe57000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000008000000000000b400bd00aa00a000c800b40085000000000000 -0088007e00a500c000000000000000000000000000bf00c900ab008c00bc009b -008d003400000000000000000000000000000000000000000000000000b900b4 -007c000000000094005f00000000000000000000000000000000000000000000 -0000000001a8006f007800a400c80083008d00bb005e018a0103006000740081 -00b800c0005004b104c3fe4c00eb01b200c30109007b012b029600c9009600db -05d804d500000000000000000000000000000000009200a8006b009200b7006b -009b0000000002f20092023e006e02a50345008900a00060024c000000c30000 -014e00a4015b005e00800069006f0000005e0068000000000000000000000000 -0026034a0087007b000000750068000000000000000000000582fcb1000bfff4 -00830089008f009600690071005b005200000000000000b202030000008d031f -00bb00ae00b500000000008b000000000000000006a9037002bc0208fd990091 -0091004d004d006400640181009f00a8fe68fe9c009b014501450090fef6ffe9 -007a0545024d000cffee0598fcf3006e004c0062004600e80000000000000000 -00000000000000000000000000000000000000000000000005cc000ffc1efff2 -02fb000e0416000afed300bf0000000000000000035b0010fd22ffecff78fff0 -fe60fe5302fb000f041605a505b205c30079005f06810468001404cb0000ffec -ffd3fe7f008300db00aa00ba00a0000000> -<40475b5a59585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c -3b3a393837363531302f2e2d2c28272625242322211f181411100f0e0d0b0a09 -0807060504030201002c20b0016045b003252011466123452361482d2c204518 -68442d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 -b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d -2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c -20452320b0cd442320b8015a51582320b08d44235920b0ed51582320b04d4423 -5920b0042651582320b00d44235921212d2c20204518684420b001602045b046 -76688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b2d2c00b028 -2370b101283e01b0282370b10228453ab10200080d2d2c2045b00325456164b0 -50515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b0 -0743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c -58b00361592d2c8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c23 -4445b02b23442d2c4b525845441b2121592d2c4b515845441b2121592d2c01b0 -05251023208af500b0016023edec2d2c01b005251023208af500b0016123edec -2d2c01b0062510f500edec2d2cb00243b001525821212121211b462346608a8a -462320468a608a61b8ff8062232010238ab10c0c8a70456020b0005058b00161 -b8ffba8b1bb0468c59b0106068013a592d2c2045b0032546524bb013515b58b0 -022546206861b00325b003253f2321381b2111592d2c2045b00325465058b002 -2546206861b00325b003253f2321381b2111592d2c00b00743b006430b2d2c21 -210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b -59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c -0c6423648bb84000626023212d2c4b53588ab004254964234569b0408b61b080 -62b020616ab00e23442310b00ef61b21238a121120392f592d2c4b535820b003 -2549646920b00526b0062549642361b08062b020616ab00e2344b0042610b00e -f68a10b00e2344b00ef6b00e2344b00eed1b8ab00426111220392320392f2f59 -2d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045b00054 -58b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c -4b5158b02f2370b01423421b2121592d2c4b515820b0032545695358441b2121 -591b2121592d2c45b01443b0006063b0016069442d2cb02f45442d2c45232045 -8a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3330034005944 -442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 -01615923586559b02923442310b029e01b2121212121592d2cb0024354584b53 -234b515a58381b2121591b21212121592d2cb0164358b004254564b020606620 -581b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b0 -042510b005252046b0042523423cb00425b0072508b0072510b006252046b004 -25b0016023423c2058011b0059b0042510b00525b029e0b02920456544b00725 -10b00625b029e0b00525b00825082058021b0359b00525b003254348b00425b0 -072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 -46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002 -2543482121212d2c452320451820b00050205823652359236820b040505821b0 -4059235865598a60442d2c4b53234b515a5820458a60441b2121592d2c4b5458 -20458a60441b2121592d2c4b53234b515a58381b2121592d2cb000214b545838 -1b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b21 -2121592d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b2121 -21592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b0005358 -20b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140 -408a704560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d -2cb012004b014b54422d2cb1020042b123018851b1400188535a58b910000020 -885458b202010243604259b12401885158b920000040885458b2020202436042 -b12401885458b2022002436042004b014b5258b2020802436042591bb9400000 -80885458b202040243604259b94000008063b80100885458b202080243604259 -b94000010063b80200885458b202100243604259b12601885158b94000020063 -b80400885458b202400243604259b94000040063b80800885458b20280024360 -42595959595959b10002435458400a0540084009400c020d021bb10102435458 -b2054008ba010000090100b30c010d011bb18002435258b2054008b80180b109 -401bb2054008ba01800009014059b9400000808855b94000020063b804008855 -5a58b30c000d011bb30c000d0159595942424242422d2c451868234b51582320 -452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e00b0 -02233eb10102060cb00a236542b00b234201b001233f00b002233fb10102060c -b006236542b0072342b00116012d2cb080b0024350b001b00243545b58212310 -b0201ac91b8a10ed592d2cb0592b2d2c8a10e52d00> -<0002007f0000038102ee00030007001e400c060007030003080905010600002f -cd2fcd111201393911331133313033112111032111217f030281fe00020002ee -fd12026dfe14000000> -<0003007cffec044f055a000b0017001b0054402e1a190c1212060c0006001c1d -0f18010f181f18020d18400f191f1902150319190309090f7359090703157359 -0319003f2b00183f2b11120039182f5f5e5d1acd5e5d71111201393911331133 -1112393931300110022322021110122132120310022322021110123332122535 -3315044ff9f3f3f4ee00fff9edb78da2a69193a09f94fe58eb02a3feaefe9b01 -630154015d015afea3fea601220103ff00fedbfee3fef9010e9ef9f900> -<00020067000004650545000a000d004640270c050d0602080902030105010e0f -00040c04735908050f0c1f0c2f0c6f0c040c0c010b06060118003f3f3312392f -5d33332b11003311120139391117331133331133313001112311213501331133 -1509012103a9b4fd72027bc7bcfe90fe0c01f4013ffec1013f8c037afc888e03 -43fd4b0000> -<00010080ffec044b0545001d0058402d1918131315141408070d160007001e1f -1419735914141b1b1073591b1b0415151873591506040a735908080419003f33 -2f2b00183f2b11120039182f2b110033182f2b11120139391133331133331133 -33113333313001140e0123222627371633323635342623220607231321152103 -36333216044b76e39bc5f220b639ec8da8a68b497e3fb02f0321fd851d75aecc -fb01bc8bd273aca315d1a8917c9e2e3702d891fe575aeb0000> -<00020097ffec0448055a00160023005b4032111e1e060c0b0b17000600242514 -1a73595f140100141014020a0314140309090e73590f0c0111030c0c09070321 -73590319003f2b00183f332f5f5e5d2b11120039182f5f5e5d5d2b1112013939 -11333311331133113331300114062322021110003320130726232202153e0133 -321607342623220e011514163332360448f3d4ecfe0108f0013f53ac35b399aa -31b273c0e8b799834a844ba17e7f9701bed4fe0159013d015c017cfee11facfe -eafb5b5fedce90a043774b98cca8000000> -<0001009e0000042d05450009002c4015020303070b060007000a0b0007080773 -5908060218003f3f2b1100331112013939113311123911333130010011231012 -13213521042dfe27bcf5f2fd1f038f04bafd58fdee01070261014c9100> -<00030085ffec0446055a001b00260032006a403918152d0a270d1c15220d0d2d -061527000600333400111011020f031f03021005180a0a252a252a7359252503 -11111f73591107033073590319003f2b00183f2b11120039182f2b1112003911 -335f5e5d5d111201393911333311333311331133111239111239313001140623 -222635343637352e0135343e0133321e0115140607151e010334262322061514 -1633201334262322061514163332360446f9e7e2ff9e7b70886fca8389cc6c8a -70829bde877f7b898a7c0104239c8d889b97929390017ab8d6d2ba81b515041b -ae7062a058599e6571ae160415b101f56f71726e6f7afe8078818b72878d8a0000> -<000100a2000004620545000b0057403605090900030a0a0700030c0d05085f59 -1f052f05020f052f053f055f057f05af05df05071f030505000101045f590103 -00095f590012003f2b00183f2b11120039182f5f5e5d712b1112011739113311 -3311333130331121152111211521112115a20397fd28029cfd64030105459cfe -5a9afe339c00000000> -<00020085ffec0446044e0014001a004f402c1800000d0607191313070d031b1c -1800505918180a101015505910100a035059df06ef060280060106060a16003f -332f5d5d2b00183f2b11120039182f2b11120117391133113311331133313001 -141633323637170e0123220211101233321211150122060721020142a18c679b -1a9e2ceba3ecfef9ebebf2fe25869c0502481c01f7b6ce594d2d7c8401260112 -010b011ffee2fedf1801d2af9901480000> -<0001008a0000044b05cc00180033401a1601010602020d191a0a1150590a0000 -040504505916050f0115003f3f332b110033183f2b1112013939113333113331 -300111231121352135343633321617152e0123220e011d0121150244b4fefa01 -06c1e148a72a1eb72f686a3101eb03acfc5403ac8e19cdac0d0891050c2e685d -0a8e000000> -<0002008f0000046505cc0009000d003c401f0b0c0c0100000405050e0f0b0a53 -590b0008075059080f0004030450590315003f2b110033183f2b00183f2b1112 -013911333311333311333130252115213521112135212735331502e9017cfc2a -01a6fec101f3c8c88e8e8e031e8ed2c0c000000000> -<0005010b0000045c05cc000f0010001100120014000025051525262726271121 -352111161716172717273503430119fe8e71341603fedf01d5011815396710c4 -93058e0414461e86043c8efb212d1613095fed8e7400000000> -<000200b3fe5704420450001700230038401d1e11080809180009002425151b50 -591115100c0f081b02215059040216003f332b00183f3f3f332b111201393911 -331133113333313001102122272316151123113427331e0215333e0133321203 -34262322061514163332360442fe78f6550504b506af01040504329b7dc6c2ba -7a8397868695857a0222fdcab8089efe590503aa3604336318695ffeeffee3e2 -c1dbded5c6ca000000> -<0001005e0000046d043a000b003c401f0809090a0701040403000b0605050203 -030b0c0d070a04010408050f030015003f323f33173911120139391133331133 -1133121739331133313021090123090133090133090103a4febffebdc2019ffe -73c7012c012ac9fe7301a401bcfe44022c020efe5b01a5fdf4fdd20000> -<0001000000020000f3ae48425f0f3cf5021f080000000000c8437aa700000000 -d948fb0afc25fd9905f107d900000008000000000000000000> -<0001000006a9fd9900000559fc25fa7a05f10001000000000000000000000000 -0000005c00> -<04cd007f00000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000004cd007c00000000000000000000000004cd0067 -04cd008004cd009704cd009e04cd008500000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -04cd00a200000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -04cd008504cd008a000000000000000004cd008f000000000000000004cd010b -00000000000000000000000004cd00b300000000000000000000000000000000 -00000000000000000000000004cd005e00> -<0000002400240024002400240024002400240024002400240024002400240024 -0024002400240024008200820082008200c40120018801b60236023602360236 -023602360236023602360236023602360236027a027a027a027a027a027a027a -027a027a027a027a027a027a027a027a027a027a027a027a027a027a027a027a -027a027a027a027a027a027a027a027a027a02d2031403140314034e034e034e -037a037a037a037a03ce03ce03ce03ce03ce03ce03ce03ce040c000000> -<00010000005c01220048005b000600020010002f005c000003b903110003000100> -<412601530001014d005501520001014d0055015601540014001f01550154001f -001f014f0033014e0055014c0033014d0055013d003d013c0055013c0001013a -0055013b003d013a005501350134b2801f00412e013400100134000201340002 -012e0055013300480132005500800132000101320002012e00550131003d0130 -0055000f0130000101300002012e0055012f003d012e00550020012e0060012e -00020000012e0020012e00020009012eb2010055b8012db23d0055b8012cb300 -ff1f7041110144000101440001013e00550143003d0142005501420001013e00 -55013f003d013e40675500fd01f550281ff246281ff1462a1ff046351f8fee9f -eeafee036fef8fef02bfef01a0ef011fef5fef6fef0300ec40ec020aeb46ff1f -e7e4261fe6e43d1fe5e41e1f0fe4011de3e2461f0fe20140e246161fe1e0461f -bfe0cfe0dfe00340e0333646e046181fbc0114003e011200550113400c3d0355 -df3ddd55de3ddc5500411201160001011600010115005500af01150001002001 -15005001150002000f011500010111405303ff1fdd01dc5520dc50dc80dcb0dc -040fdc01d015331f5fc36fc37fc303bfc201c150261f70be0120be30bec0be03 -70be80be020fbc1fbc022fbc3fbc6fbcafbcdfbc05b9ad261f20b830b850b870 -b880b805b8ffc0401cb813294610b70120b750b780b7b0b70480b5b0b5020fb3 -3fb3efb303b8010d402baa481f80b090b002b0b0c0b0d0b0032faf3faf02a0ad -b0ad02c0add0ad022fac3fac029fab01c0aad0aa02410d010f0032010e005500 -00010e0010010e0020010e0003000f0110401501509c609c709c039996261f98 -46261f3097409702b8ffc0b396161c46b8ffc04009960e1146a1943c1fa04109 -0145003c001f01470145003c001f014601454028641f951bff1f0f94af94bf94 -0340941d31464094161b4640940c0f460f932f933f937f93ef93050fba010c00 -6f010c402002928d261f9153ff1fdf90013090011f902f90026f907f9002008f -108f208f03b8ffc040208f181c46208e308e024f8d5f8d6f8d03308c010f8c1f -8c2f8c03408c10134610bf010b0020010b0030010b0003ffc0010bb2172046b9 -ffc0010b40501014468b82261f894a3c1f88873d1f87843c1f864aff1f9f8501 -108420843084033083017f82014082090c467350261f6f46351f6e46351f1a01 -185519331855073303550603ff1f6050261f5f50261fb9ffe00107b21f2646b9 -ffe00107401f131c465e5a481f5c46311f5b5a481f5a46311f13321255050103 -5504320355b80108b51b3c1f0f0301b901190118b2351f40b80118b2172846b8 -010a402550261f52501b1fef51ff510240513538464051252846cf5001df4c01 -4c461d1f4b46481f50b8011b4062014a46261f4946351f4846351f4746351faf -4601df46ef4602804601170115551632155511010f5510320f55020100550100 -ff1f1c1b641f1f0f3f0f5f0f7f0f040f0f2f0f4f0f6f0f8f0fdf0fff0f073f0f -7f0fef0f036f00014f0001a016010501b80190b154532b2b4bb807ff524bb009 -505bb00188b02553b00188b040515ab00688b000555a5b58b101018e59858d8d -00421d4bb0325358b0601d594bb0645358b0401d594bb0805358b0101db11600 -425973747374752b2b2b2b2b2b2b017374752b2b2b2b73002b2b74742b2b732b -2b2b2b732b2b2b2b012b2b2b002b2b2b2b2b2b2b2b2b012b2b002b012b737474 -732b2b2b2b2b2b2b73002b737474742b75737474742b2b73732b2b2b732b2b2b -2b2b012b2b732b2b007374732b017373740073747473742b7301730073742b73 -2b737401737475002b730174002b73732b2b7373732b732b2b2b2b012b2b742b -2b5e732b005e732b2b2b012b5e73007373737473012b2b2b002b732b2b2b2b73 -2b2b2b5e73742b2b732b2b732b2b732b2b2b2b2b2b2b2b2b2b18000000> -<0001000000000000000008000000000000000000000100000000000000000000 -0000000100> -<0800000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000> -] def -10 dict begin -/FontName /LiberationMono_00 def -/FontType 42 def -/FontMatrix [1 0 0 1 0 0] def -/FontBBox [-987 -615 1521 2009] def -/PaintType 0 def -/sfnts LiberationMono_sfnts def -/Encoding 256 array -dup 0 /c00 put -dup 1 /c01 put -dup 2 /c02 put -dup 3 /c03 put -dup 4 /c04 put -dup 5 /c05 put -dup 6 /c06 put -dup 7 /c07 put -dup 8 /c08 put -dup 9 /c09 put -dup 10 /c0a put -dup 11 /c0b put -dup 12 /c0c put -dup 13 /c0d put -dup 14 /c0e put -dup 15 /c0f put -dup 16 /c10 put -dup 17 /c11 put -dup 18 /c12 put -dup 19 /c13 put -dup 20 /c14 put -dup 21 /c15 put -dup 22 /c16 put -dup 23 /c17 put -dup 24 /c18 put -dup 25 /c19 put -dup 26 /c1a put -dup 27 /c1b put -dup 28 /c1c put -dup 29 /c1d put -dup 30 /c1e put -dup 31 /c1f put -dup 32 /c20 put -dup 33 /c21 put -dup 34 /c22 put -dup 35 /c23 put -dup 36 /c24 put -dup 37 /c25 put -dup 38 /c26 put -dup 39 /c27 put -dup 40 /c28 put -dup 41 /c29 put -dup 42 /c2a put -dup 43 /c2b put -dup 44 /c2c put -dup 45 /c2d put -dup 46 /c2e put -dup 47 /c2f put -dup 48 /c30 put -dup 49 /c31 put -dup 50 /c32 put -dup 51 /c33 put -dup 52 /c34 put -dup 53 /c35 put -dup 54 /c36 put -dup 55 /c37 put -dup 56 /c38 put -dup 57 /c39 put -dup 58 /c3a put -dup 59 /c3b put -dup 60 /c3c put -dup 61 /c3d put -dup 62 /c3e put -dup 63 /c3f put -dup 64 /c40 put -dup 65 /c41 put -dup 66 /c42 put -dup 67 /c43 put -dup 68 /c44 put -dup 69 /c45 put -dup 70 /c46 put -dup 71 /c47 put -dup 72 /c48 put -dup 73 /c49 put -dup 74 /c4a put -dup 75 /c4b put -dup 76 /c4c put -dup 77 /c4d put -dup 78 /c4e put -dup 79 /c4f put -dup 80 /c50 put -dup 81 /c51 put -dup 82 /c52 put -dup 83 /c53 put -dup 84 /c54 put -dup 85 /c55 put -dup 86 /c56 put -dup 87 /c57 put -dup 88 /c58 put -dup 89 /c59 put -dup 90 /c5a put -dup 91 /c5b put -readonly def -/CharStrings 257 dict dup begin -/.notdef 0 def -/c00 0 def -/c01 1 def -/c02 2 def -/c03 3 def -/c04 4 def -/c05 5 def -/c06 6 def -/c07 7 def -/c08 8 def -/c09 9 def -/c0a 10 def -/c0b 11 def -/c0c 12 def -/c0d 13 def -/c0e 14 def -/c0f 15 def -/c10 16 def -/c11 17 def -/c12 18 def -/c13 19 def -/c14 20 def -/c15 21 def -/c16 22 def -/c17 23 def -/c18 24 def -/c19 25 def -/c1a 26 def -/c1b 27 def -/c1c 28 def -/c1d 29 def -/c1e 30 def -/c1f 31 def -/c20 32 def -/c21 33 def -/c22 34 def -/c23 35 def -/c24 36 def -/c25 37 def -/c26 38 def -/c27 39 def -/c28 40 def -/c29 41 def -/c2a 42 def -/c2b 43 def -/c2c 44 def -/c2d 45 def -/c2e 46 def -/c2f 47 def -/c30 48 def -/c31 49 def -/c32 50 def -/c33 51 def -/c34 52 def -/c35 53 def -/c36 54 def -/c37 55 def -/c38 56 def -/c39 57 def -/c3a 58 def -/c3b 59 def -/c3c 60 def -/c3d 61 def -/c3e 62 def -/c3f 63 def -/c40 64 def -/c41 65 def -/c42 66 def -/c43 67 def -/c44 68 def -/c45 69 def -/c46 70 def -/c47 71 def -/c48 72 def -/c49 73 def -/c4a 74 def -/c4b 75 def -/c4c 76 def -/c4d 77 def -/c4e 78 def -/c4f 79 def -/c50 80 def -/c51 81 def -/c52 82 def -/c53 83 def -/c54 84 def -/c55 85 def -/c56 86 def -/c57 87 def -/c58 88 def -/c59 89 def -/c5a 90 def -/c5b 91 def -end readonly def -FontName currentdict end definefont pop -16 dict begin -/FontName /LiberationMono def -/FontType 0 def -/FontMatrix [1 0 0 1 0 0] def -/FMapType 2 def -/Encoding [ -0 -] def -/FDepVector [ -/LiberationMono_00 findfont -] def -FontName currentdict end definefont pop -%%EndResource -/F7_0 /LiberationMono 0 pdfMakeFont16 -%%EndSetup -pdfStartPage -%%EndPageSetup -[] 0 d -1 i -0 j -0 J -10 M -1 w -/DeviceGray {} cs -[0] sc -/DeviceGray {} CS -[0] SC -false op -false OP -{} settransfer -0 0 525.12 375.12 re -W -q -[0.24 0 0 -0.24 0 375.12] cm -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -0 0 700 500 re -f -Q -Q -q -248.4375 336.72104 1650 826.55786 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -79.5 107.750732 528 264.49854 re -f -/DeviceRGB {} CS -[0.898 0.9255 0.9647] SC -/DeviceRGB {} cs -[0.898 0.9255 0.9647] sc -246.4427 357.49387 m -249.76315 357.54657 l -252.92549 357.67834 l -253.9796 357.07224 l -254.77019 356.57153 l -256.29865 357.17764 l -255.877 357.91553 l -255.45535 358.57434 l -252.34573 358.36353 l -249.07799 358.46893 l -247.286 357.96823 l -247.286 357.91553 l -246.4427 357.49387 l -h -103.821449 355.04306 m -104.717445 354.51602 l -107.458138 354.75317 l -108.933891 355.20117 l -110.04071 355.72824 l -110.409645 356.38705 l -107.616249 356.57153 l -105.718849 356.07083 l -104.822853 355.54376 l -104.770149 355.46472 l -103.821449 355.04306 l -h -272.26843 354.25247 m -273.00632 354.25247 l -275.16724 353.93625 l -277.38086 354.25247 l -279.22556 354.88495 l -279.85803 355.78094 l -280.01614 356.41342 l -280.06885 357.15131 l -277.80252 357.59927 l -275.43076 357.99457 l -272.69006 358.33716 l -269.58044 358.60071 l -266.15457 358.52164 l -264.20447 358.04727 l -264.46802 357.44116 l -267.57764 357.04587 l -268.84256 356.54517 l -269.79126 355.91272 l -270.42374 355.35931 l -271.31973 354.85861 l -272.26843 354.25247 l -h -164.0112 347.82242 m -164.327438 347.34805 l -166.066727 347.58524 l -167.96413 347.82242 l -169.7034 347.55887 l -168.86012 348.08594 l -167.489777 348.45486 l -165.43425 348.34946 l -164.0112 347.82242 l -h -157.159485 347.53253 m -158.213593 347.21628 l -159.689346 347.55887 l -161.955688 348.13864 l -161.059692 348.08594 l -159.162292 347.95416 l -157.159485 347.53253 l -h -193.68443 345.23984 m -194.63313 344.97632 l -196.47783 345.18713 l -198.58606 345.29254 l -200.21992 345.50336 l -201.80109 345.31888 l -202.69708 346.16217 l -201.53757 346.05676 l -199.74557 346.10947 l -197.95358 346.05676 l -195.95078 346.13583 l -194.47502 345.84595 l -193.68443 345.23984 l -h -235.26912 344.34384 m -236.32324 344.15936 l -238.00981 344.21207 l -238.43146 343.47418 l -238.48416 342.92078 l -238.48416 341.76126 l -239.32745 341.04974 l -240.6451 340.83893 l -241.43568 341.36597 l -241.75191 341.91937 l -242.38438 342.57822 l -242.91144 343.21066 l -243.28036 343.86948 l -243.4912 344.52832 l -243.22766 345.10806 l -242.80602 345.66147 l -241.06674 345.84595 l -239.43286 346.13583 l -237.53546 346.10947 l -238.27335 345.52972 l -236.53406 345.74054 l -234.90019 345.92502 l -233.79337 345.50336 l -233.68796 344.89725 l -235.26912 344.34384 l -h -80 364.00339 m -80.103951 364.02936 l -81.368881 363.15973 l -84.004158 363.63406 l -84.162277 363.58136 l -84.583923 363.44962 l -85.110977 363.31784 l -85.532623 363.18607 l -85.743439 363.10703 l -85.954262 363.10703 l -86.112381 363.13336 l -88.220604 363.73947 l -90.0653 363.13336 l -90.434235 363.05432 l -94.703384 362.79077 l -96.126442 363.13336 l -96.811607 363.31784 l -98.972542 363.79221 l -103.136276 364.18747 l -106.456726 364.63547 l -112.096222 364.97806 l -116.312668 364.58276 l -122.531929 364.87265 l -126.063202 365.32065 l -129.910706 364.89902 l -134.021744 364.50372 l -134.337967 363.79221 l -128.540359 363.73947 l -123.849564 363.39691 l -122.584633 362.81714 l -118.684418 362.50092 l -118.947945 361.84207 l -119.475006 361.26233 l -120.00206 360.70892 l -119.738533 360.10281 l -117.314072 359.70752 l -116.154556 359.18045 l -113.888214 358.73245 l -117.472191 358.81152 l -120.845345 358.57434 l -122.953568 359.07504 l -125.588852 358.62704 l -127.960602 358.10001 l -129.172821 357.59927 l -128.645767 356.99316 l -126.748367 356.59787 l -124.58744 356.17624 l -121.583229 356.09717 l -118.947945 355.88635 l -116.101845 355.75461 l -115.153145 355.20117 l -113.255745 354.72684 l -112.148933 354.22614 l -111.674583 352.56592 l -112.41246 352.69766 l -113.730095 353.17203 l -116.101845 353.01392 l -118.420891 352.80307 l -119.633118 353.43555 l -121.952164 353.30377 l -123.902267 352.98755 l -125.746964 352.59225 l -127.43354 352.09155 l -129.594467 351.95978 l -129.541763 351.40637 l -129.067413 350.85297 l -129.489059 350.35226 l -131.386459 350.08875 l -132.229752 350.58945 l -134.44339 350.29956 l -136.129959 349.93063 l -138.23819 349.87793 l -140.240997 349.74615 l -142.191101 349.40356 l -143.772263 349.08734 l -145.564255 348.77112 l -146.723785 348.85016 l -147.725189 348.98193 l -149.886108 348.77112 l -151.836212 349.03464 l -153.839035 349.00827 l -155.789139 348.79745 l -157.739243 348.95557 l -159.900177 349.08734 l -161.955688 349.03464 l -164.063904 349.06097 l -166.277542 349.08734 l -168.28035 349.03464 l -169.7561 348.58664 l -171.5481 348.37582 l -173.39279 348.69205 l -175.13208 348.42853 l -176.71324 347.90146 l -177.66194 348.37582 l -178.13629 348.87653 l -179.08499 349.37723 l -180.61345 348.95557 l -182.35274 349.48264 l -184.35555 349.66711 l -186.04213 350.06238 l -188.09764 349.98334 l -189.99504 349.71982 l -192.15598 349.77252 l -194.15878 349.98334 l -196.16159 350.24686 l -196.95218 349.61441 l -196.00348 349.11368 l -195.26561 348.58664 l -193.36821 348.48123 l -192.57762 347.92783 l -192.26138 347.40076 l -191.73433 346.29395 l -192.84114 346.50476 l -194.73854 346.58383 l -196.63594 346.50476 l -198.37523 346.74194 l -199.85098 347.16357 l -200.48346 347.69064 l -202.48627 347.76971 l -204.38367 347.55887 l -206.38647 347.26901 l -208.17847 347.11087 l -209.65422 347.45346 l -211.60432 347.34805 l -212.86926 346.21487 l -214.08148 346.87372 l -215.76807 347.13724 l -217.56006 347.00546 l -218.77228 347.55887 l -220.7224 347.61157 l -222.46167 347.79605 l -224.25366 348.11227 l -225.36047 347.55887 l -225.94025 347.05817 l -227.416 347.61157 l -229.41881 347.47983 l -230.89456 347.79605 l -231.89597 348.29675 l -233.84607 348.13864 l -235.37454 347.82242 l -236.903 347.45346 l -238.64229 347.24265 l -240.6978 347.08453 l -242.5952 346.87372 l -244.01825 346.55746 l -244.86154 346.10947 l -245.23048 345.47702 l -245.07236 344.87088 l -244.59801 344.29114 l -244.07095 343.71136 l -243.5966 343.15796 l -243.22766 342.63092 l -243.17496 342.05115 l -243.28036 341.49774 l -243.96555 340.94434 l -244.5453 340.33823 l -244.80884 339.75845 l -244.4926 339.12598 l -244.33449 338.57257 l -245.07236 337.88742 l -245.86295 337.46576 l -246.81165 336.91235 l -247.81305 336.46436 l -248.97256 336.04272 l -249.55234 335.41025 l -250.34291 335.01495 l -251.29161 334.61966 l -252.66196 334.54062 l -253.61066 334.09262 l -254.61206 333.80273 l -255.8243 333.61826 l -256.87842 333.24933 l -257.72171 332.80133 l -258.88123 332.61685 l -259.72452 332.98578 l -259.19745 333.48648 l -257.66898 333.90814 l -257.08923 334.22437 l -255.98241 333.98718 l -254.77019 334.14532 l -253.76878 334.48788 l -252.71466 334.85684 l -251.97679 335.27847 l -251.76596 335.85825 l -251.87138 336.41165 l -252.55655 336.88602 l -251.55515 337.22858 l -250.1848 337.36035 l -249.39421 337.83472 l -248.49821 338.30905 l -247.60223 338.94153 l -247.3914 339.46857 l -247.86575 340.07468 l -248.65634 340.54904 l -249.86856 340.89163 l -250.97539 341.33963 l -251.60785 341.91937 l -251.92409 342.47278 l -252.34573 343.02621 l -253.0309 343.52692 l -253.45255 344.05396 l -253.66336 345.42432 l -254.08501 345.95135 l -254.19043 346.53113 l -254.66478 347.11087 l -254.45395 347.87512 l -253.66336 348.48123 l -252.76738 348.98193 l -250.81726 349.16641 l -250.1848 349.69345 l -249.2888 350.16782 l -247.07516 350.72122 l -245.12506 350.95837 l -243.28036 351.27463 l -241.33026 351.59085 l -240.17075 352.19696 l -237.799 352.24966 l -235.21642 352.19696 l -232.89737 352.30237 l -230.42021 352.30237 l -230.89456 352.88214 l -233.1082 353.11932 l -234.74207 353.54095 l -235.69077 354.04166 l -234.0569 354.51602 l -231.52702 354.35791 l -229.41881 354.72684 l -229.3134 355.33295 l -229.2607 355.91272 l -230.99997 356.41342 l -231.31621 356.94046 l -233.1609 357.49387 l -236.27054 357.73105 l -238.90581 358.12634 l -241.01404 358.57434 l -243.64931 359.04871 l -247.3387 359.25952 l -250.92268 359.68115 l -253.39984 360.10281 l -256.14053 360.57715 l -257.56357 361.28867 l -258.24875 361.81573 l -260.04074 361.31503 l -262.46521 360.86703 l -264.99506 360.41904 l -268.05197 360.05011 l -270.63455 359.65482 l -274.27124 359.60211 l -277.85522 359.81293 l -280.80673 360.15552 l -281.75543 359.52304 l -283.81094 359.10141 l -287.50034 359.07504 l -290.39914 358.75882 l -293.13983 358.44257 l -296.19675 358.23175 l -299.46451 357.96823 l -301.73083 357.59927 l -300.67673 357.09857 l -300.04425 356.57153 l -300.04425 356.01813 l -297.19815 356.09717 l -294.19394 356.30801 l -291.34784 356.30801 l -290.92621 355.78094 l -291.13702 354.67413 l -291.7695 354.35791 l -293.87772 354.01532 l -296.35486 353.67273 l -298.14685 353.25107 l -299.88614 352.80307 l -301.2038 352.24966 l -303.2066 351.98615 l -305.20941 351.77533 l -306.21082 351.66992 l -308.47714 351.61722 l -310.63809 351.40637 l -312.43008 351.11652 l -314.22205 350.77393 l -315.80322 350.43134 l -317.85873 349.98334 l -319.12369 349.48264 l -320.49402 349.06097 l -320.96838 348.48123 l -319.38721 348.13864 l -319.91425 347.53253 l -320.86295 347.08453 l -322.39142 346.79465 l -324.0253 346.45206 l -325.50104 345.97772 l -326.66058 345.42432 l -327.34573 344.73914 l -328.45258 344.31747 l -330.19183 344.42291 l -330.87701 344.89725 l -332.66901 344.94995 l -332.72171 344.42291 l -333.45959 343.84314 l -335.04077 343.97491 l -335.4097 344.52832 l -337.14899 344.60736 l -339.04639 344.34384 l -340.89108 344.18573 l -342.52493 344.26477 l -343.15741 344.87088 l -344.79129 344.37018 l -346.26703 344.13303 l -347.90091 343.92218 l -349.53479 343.71136 l -351.06326 343.36877 l -352.69711 343.15796 l -353.96207 342.84174 l -354.85806 342.31467 l -355.91217 342.68362 l -357.44061 342.49915 l -358.49472 343.18433 l -359.33801 343.68503 l -361.0246 343.39514 l -361.65707 342.84174 l -363.13281 342.42007 l -365.08292 342.52548 l -365.66269 343.05255 l -366.8222 342.52548 l -368.40338 342.34103 l -370.14267 342.28833 l -371.67111 342.31467 l -373.30499 342.49915 l -374.88617 342.57822 l -375.57135 343.05255 l -376.52005 343.50055 l -378.1539 343.23703 l -379.84048 343.18433 l -381.52707 343.18433 l -383.16095 343.15796 l -384.63669 342.94714 l -386.16516 342.78903 l -387.48279 342.36737 l -388.85315 342.10385 l -390.32889 341.97208 l -391.4357 341.57678 l -392.22629 340.75986 l -393.06958 340.28552 l -394.59805 340.52267 l -395.1778 341.02338 l -396.44275 341.36597 l -397.97119 341.26056 l -398.9726 341.76126 l -400.07944 342.15656 l -401.55518 341.81396 l -402.08224 341.18152 l -403.39987 340.91797 l -404.92834 340.41727 l -406.35138 340.23282 l -408.09067 339.94293 l -409.25018 339.62668 l -410.4097 339.28412 l -411.56924 338.96786 l -412.93958 339.12598 l -414.25723 338.62527 l -415.20593 338.20364 l -416.57626 338.25635 l -417.78848 337.88742 l -418.10474 337.38672 l -419.31696 336.99142 l -420.52917 336.70154 l -422.00494 336.46436 l -423.32257 336.35895 l -424.64023 336.43802 l -426.01056 336.56976 l -427.17007 336.99142 l -427.32819 337.62387 l -428.59314 338.09824 l -429.48914 338.49353 l -431.22842 338.67798 l -432.22983 339.07327 l -433.44205 339.46857 l -434.81238 339.57397 l -436.02463 339.28412 l -437.28955 338.67798 l -438.65988 338.99423 l -440.08295 339.15234 l -441.45328 339.33682 l -442.87634 339.44223 l -444.35208 339.44223 l -445.56433 340.97067 l -445.51163 341.33963 l -445.30078 341.99844 l -443.93045 342.36737 l -442.77094 342.92078 l -442.98175 343.50055 l -444.61563 343.47418 l -444.40482 344.02762 l -443.66693 344.58102 l -442.98175 345.18713 l -444.08856 345.63513 l -445.77515 345.79324 l -447.46173 345.52972 l -448.25232 344.94995 l -448.77936 344.42291 l -449.56995 343.94855 l -450.46594 343.52692 l -450.83487 342.99985 l -451.62546 342.28833 l -452.57416 342.15656 l -454.20804 342.07751 l -455.68378 341.91937 l -457.15955 341.68222 l -457.89743 341.10245 l -458.31906 340.57538 l -459.32047 340.02197 l -460.74353 339.65305 l -461.95575 339.36316 l -462.79904 338.86246 l -463.58963 338.62527 l -464.69644 338.38812 l -466.11951 338.51987 l -467.43713 338.38812 l -468.9129 338.20364 l -470.49405 338.30905 l -471.54816 337.88742 l -472.28604 336.91235 l -472.86581 337.33398 l -473.55096 338.01917 l -474.76321 338.30905 l -476.18625 338.41446 l -477.55661 338.25635 l -479.08505 338.36176 l -480.45541 338.38812 l -481.35141 338.25635 l -482.61633 338.33542 l -483.72314 338.65164 l -485.0408 338.44083 l -486.62195 338.44083 l -487.93961 338.25635 l -489.46805 338.44083 l -490.46945 337.96646 l -491.20734 337.46576 l -492.20874 337.07047 l -494.05344 335.99002 l -495.00214 336.17447 l -496.10895 336.56976 l -497.05765 337.09683 l -498.95505 337.99283 l -500.37811 338.01917 l -501.69574 338.01917 l -503.27692 337.83472 l -504.85809 337.65024 l -506.07031 337.22858 l -507.07172 336.80695 l -508.7056 336.75424 l -509.81241 336.43802 l -510.97192 336.72787 l -511.70981 337.17587 l -512.71118 337.65024 l -514.34509 337.57117 l -515.3465 337.96646 l -517.08575 338.33542 l -518.93048 338.46716 l -520.45892 338.36176 l -521.56573 337.88742 l -522.56714 337.43942 l -523.88477 337.33398 l -525.20245 337.51846 l -526.7309 337.67657 l -528.10126 337.43942 l -529.41888 337.43942 l -530.68384 337.57117 l -532.05414 337.72928 l -533.37177 337.46576 l -534.95294 337.22858 l -536.42871 337.17587 l -538.1153 337.17587 l -539.43292 337.04413 l -540.75055 336.91235 l -541.17224 336.20084 l -541.22491 335.59473 l -542.12091 336.01636 l -542.38446 336.67517 l -542.9115 337.28128 l -543.49127 337.75565 l -544.70349 338.01917 l -546.39008 337.94012 l -548.28748 337.88742 l -549.6051 337.80835 l -551.55524 337.80835 l -552.92554 337.78198 l -554.82294 337.83472 l -556.45685 337.96646 l -557.51093 338.41446 l -557.24744 338.96786 l -558.19611 339.38953 l -559.77728 339.73212 l -561.41113 340.10104 l -563.25586 340.36456 l -565.25867 340.60175 l -566.73444 340.81256 l -568.42102 340.86526 l -569.36969 340.36456 l -570.63464 340.75986 l -571.74146 341.23422 l -573.05908 341.57678 l -574.85107 341.70856 l -576.53766 341.89304 l -577.22284 342.47278 l -578.90942 342.81537 l -580.01624 343.31607 l -581.65009 343.55325 l -583.33667 343.52692 l -584.91785 343.60596 l -586.6571 343.57962 l -588.4491 343.68503 l -590.08301 343.89584 l -591.55872 344.23843 l -593.08722 344.52832 l -594.1413 344.94995 l -593.98322 345.52972 l -593.19263 346.05676 l -592.50745 346.71558 l -592.03308 347.21628 l -591.29523 347.82242 l -589.39783 348.05957 l -588.5545 348.56027 l -586.6571 348.87653 l -585.97192 349.45627 l -584.97052 350.00967 l -583.91644 350.45767 l -583.33667 351.06381 l -582.96771 351.61722 l -582.80963 352.27603 l -582.80963 352.80307 l -583.65289 353.38284 l -583.96912 353.93625 l -584.6543 354.46332 l -587.39502 354.64777 l -587.97473 355.28024 l -585.33948 355.51743 l -583.07312 355.83365 l -580.33246 355.88635 l -579.0675 356.72964 l -578.80402 357.41483 l -578.17151 357.94186 l -577.43365 358.49527 l -579.38373 358.99597 l -580.12164 359.57574 l -581.38654 360.12915 l -583.12585 360.62985 l -585.18134 361.07785 l -587.39502 361.52585 l -590.76813 362.00021 l -591.50604 362.71173 l -595.72247 363.02795 l -595.98602 363.13336 l -597.09283 363.58136 l -601.15112 363.21243 l -604.47162 363.66043 l -607 364.00278 l -607 371.74927 l -80 371.74927 l -80 364.00339 l -h -245.494 320.36279 m -244.96695 320.94257 l -243.75471 321.41693 l -242.17355 321.23245 l -241.06674 320.81079 l -239.53827 320.59998 l -237.69359 319.78305 l -236.21782 318.99246 l -234.21501 317.35858 l -235.42725 317.64847 l -237.48276 318.62354 l -239.38016 319.15057 l -240.17075 318.49176 l -240.6451 317.49036 l -241.96274 316.88425 l -243.01685 317.04236 l -243.5966 317.72754 l -244.33449 318.83435 l -246.23189 319.70398 l -248.2874 320.07294 l -247.60223 320.81079 l -246.23189 320.88986 l -245.494 320.36279 l -h -253.9269 315.90918 m -255.66618 315.01318 l -256.93112 315.38214 l -257.77441 314.80237 l -258.93393 315.46118 l -258.51227 315.98825 l -256.56216 316.40988 l -255.877 315.90918 l -254.66478 316.56799 l -253.9269 315.90918 l -h -444.40482 311.19205 m -445.35352 311.64005 l -446.72385 311.82449 l -446.77655 312.11438 l -446.40762 312.77319 l -444.14127 312.87863 l -444.08856 312.08804 l -444.29938 311.48193 l -444.40482 311.19205 l -h -559.72455 299.72858 m -560.56787 299.83398 l -560.67328 301.57327 l -560.19891 302.07397 l -560.04083 303.25986 l -559.51373 302.86456 l -558.51233 303.86597 l -558.19611 303.7869 l -557.30011 303.76056 l -556.40411 302.49564 l -556.1933 301.52057 l -555.35004 300.25565 l -555.40271 299.5968 l -556.35144 299.72858 l -557.77448 300.22928 l -558.56506 300.01846 l -559.72455 299.72858 l -h -591.87494 303.76056 m -593.13989 302.99634 l -593.98322 302.23209 l -594.66833 301.15164 l -595.19543 300.78268 l -595.45892 299.96576 l -596.46033 299.28058 l -596.77661 299.91306 l -597.09283 300.4928 l -598.14691 299.91306 l -598.5686 300.51917 l -598.5686 301.15164 l -598.0415 301.83679 l -597.09283 302.8909 l -596.35492 303.49704 l -596.88202 304.20856 l -595.72247 304.20856 l -594.51025 304.76196 l -594.08862 305.737 l -593.2453 307.21277 l -592.13849 307.87158 l -591.40063 308.26688 l -590.03027 308.24054 l -589.08154 307.76617 l -587.50043 307.66077 l -587.23688 307.1337 l -588.02747 306.02689 l -589.87213 304.60385 l -590.82086 304.31396 l -591.87494 303.76056 l -h -602.46881 298.6481 m -601.88904 299.43869 l -601.15112 300.44009 l -600.04431 301.01987 l -599.78082 300.65094 l -599.14832 300.44009 l -599.99164 299.22787 l -599.51727 298.41095 l -597.9361 297.83118 l -597.98883 297.30414 l -599.04291 296.80341 l -599.30646 295.67026 l -599.25372 294.72156 l -598.62128 293.74649 l -598.67401 293.48297 l -597.98883 292.87686 l -596.82928 291.58557 l -596.19684 290.5578 l -596.77661 290.42606 l -597.56714 291.24298 l -598.67401 291.61191 l -599.09564 292.92957 l -600.14972 294.45804 l -600.20245 293.48297 l -600.88763 293.87827 l -601.09845 294.98508 l -602.25793 295.45944 l -603.25934 295.56485 l -604.10266 295.01144 l -604.84052 295.16956 l -604.47162 296.48718 l -604.04993 297.33047 l -602.89044 297.30414 l -602.52148 297.75214 l -602.67963 298.38458 l -602.46881 298.6481 l -h -586.18274 270.84592 m -587.39502 271.76828 l -588.13287 272.42709 l -587.60583 272.79605 l -586.76251 272.40076 l -585.76111 271.74191 l -584.81244 270.95135 l -583.81104 269.92358 l -583.60022 269.42288 l -584.23267 269.44922 l -585.07593 269.94995 l -585.70844 270.45065 l -586.18274 270.84592 l -h -604.2608 265.62808 m -604.6297 265.3909 l -605.10406 265.81256 l -604.89325 266.57678 l -603.99725 266.76126 l -603.15393 266.60312 l -603.04852 265.94431 l -603.57562 265.4436 l -604.2608 265.62808 l -h -607 264.23206 m -606.05273 264.60031 l -605.1568 264.91656 l -604.94592 264.36316 l -605.68384 264.04691 l -606.1582 263.96786 l -607 263.52078 l -607 264.23206 l -h -80 263.5195 m -80.314766 263.4408 l -80.103951 264.15231 l -80 264.23029 l -80 263.5195 l -h -588.29102 263.25632 m -589.18701 264.09961 l -588.71265 264.31046 l -588.23828 263.65161 l -588.29102 263.25632 l -h -587.65851 262.94009 m -587.44769 262.5448 l -587.44769 261.41162 l -588.13287 261.85962 l -588.34369 263.0455 l -587.97473 262.86102 l -587.65851 262.94009 l -h -416.04919 258.2493 m -416.41815 258.88177 l -416.78708 259.85681 l -416.99789 261.5961 l -417.36685 262.28128 l -417.26144 262.9928 l -416.99789 263.41446 l -416.47086 262.57117 l -416.20734 262.9928 l -416.47086 264.07327 l -416.36545 264.70572 l -415.94379 265.04831 l -415.89108 266.2869 l -415.31134 267.99982 l -414.57346 270.00266 l -413.67746 272.76968 l -413.09769 274.8252 l -412.46524 276.51178 l -411.25299 276.85437 l -409.98807 277.48685 l -409.14478 277.09155 l -407.98526 276.59085 l -407.5636 275.80026 l -407.45819 274.50897 l -406.93115 273.34946 l -406.82574 272.29535 l -407.08926 271.24121 l -407.77444 270.97769 l -407.77444 270.50336 l -408.45959 269.39651 l -408.56503 268.44781 l -408.24878 267.76266 l -407.98526 266.8403 l -407.87985 265.49631 l -408.35419 264.67938 l -408.56503 263.73068 l -409.30289 263.67798 l -410.09348 263.38809 l -410.67325 263.12457 l -411.30569 263.09821 l -412.14899 262.25491 l -413.36124 261.35892 l -413.78287 260.62106 l -413.57205 260.01492 l -414.2045 260.17307 l -414.99509 259.17166 l -415.04779 258.27567 l -415.52216 257.61682 l -416.04919 258.2493 l -h -528.15393 287.15829 m -526.62549 287.92255 l -525.36053 288.23877 l -525.04431 289.02936 l -524.51727 289.6091 l -523.30505 289.63547 l -522.35632 289.76724 l -521.09137 289.50369 l -520.03729 289.6618 l -519.03589 289.74088 l -518.13989 290.5051 l -517.71826 290.45239 l -516.98035 290.87405 l -516.29517 291.32205 l -515.18835 291.26935 l -514.23969 291.26935 l -512.65851 290.34698 l -511.86792 290.0571 l -511.92062 289.21381 l -512.65851 289.02936 l -512.86932 288.68677 l -512.81665 288.1597 l -513.02747 287.13196 l -512.86932 286.28867 l -512.07874 284.78656 l -511.86792 283.9696 l -511.92062 283.12631 l -511.34088 282.17761 l -511.28815 281.75598 l -510.6557 281.14987 l -510.44489 280.01669 l -509.60159 278.85718 l -509.39075 278.2247 l -510.07593 278.85718 l -509.54889 277.51318 l -510.28674 277.93481 l -510.7084 278.48825 l -510.7084 277.75037 l -509.97052 276.59085 l -509.81241 276.14285 l -509.49619 275.69485 l -509.6543 274.85156 l -509.97052 274.4826 l -510.18134 273.74475 l -510.02322 272.90146 l -510.603 271.84735 l -510.7084 272.95416 l -511.34088 271.95276 l -512.50037 271.47839 l -513.23828 270.84592 l -514.34509 270.29251 l -515.03027 270.1871 l -515.39917 270.37158 l -516.55872 269.81818 l -517.45471 269.66006 l -517.66553 269.34381 l -518.08716 269.21207 l -518.87775 269.2384 l -520.40625 268.81677 l -521.19678 268.15796 l -521.56573 267.39371 l -522.46173 266.62949 l -522.51447 266.04971 l -522.56714 265.25916 l -523.56854 264.02057 l -524.20105 265.28549 l -524.8335 264.99561 l -524.30646 264.28409 l -524.78076 263.57257 l -525.41327 263.91516 l -525.57135 262.78198 l -526.36194 262.07047 l -526.7309 261.49069 l -527.46875 261.25351 l -527.46875 260.83188 l -528.15393 260.98999 l -528.15393 260.6474 l -528.78644 260.43658 l -529.52429 260.22577 l -530.57837 260.91092 l -531.42169 261.75421 l -532.31769 261.78058 l -533.26636 261.91232 l -532.95013 261.12177 l -533.63531 259.93588 l -534.3205 259.56696 l -534.05695 259.198 l -534.68945 258.35471 l -535.58545 257.82767 l -536.3233 258.01212 l -537.58826 257.72226 l -537.53552 256.98438 l -536.48145 256.51001 l -537.27203 256.29919 l -538.2207 256.64178 l -539.01129 257.24789 l -540.22351 257.61682 l -540.64514 257.48508 l -541.54114 257.93307 l -542.43713 257.51141 l -542.96423 257.64319 l -543.33313 257.3533 l -543.96564 258.09119 l -543.59668 258.85541 l -543.01691 259.46152 l -542.54254 259.51422 l -542.70068 260.09399 l -542.27905 260.83188 l -541.75195 261.5434 l -541.85736 261.96506 l -543.01691 262.75562 l -544.12372 263.22998 l -544.91431 263.73068 l -545.96844 264.60031 l -546.39008 264.60031 l -547.12793 264.96927 l -547.33875 265.41727 l -548.76184 265.91797 l -549.71051 265.41727 l -550.02673 264.65302 l -550.29028 263.9942 l -550.5011 263.17728 l -550.92273 262.01776 l -550.71191 261.30621 l -550.81732 260.88458 l -550.65924 260.04129 l -550.87006 258.96082 l -551.13354 258.64459 l -550.92273 258.17026 l -551.29169 257.37967 l -551.55524 256.58908 l -551.60791 256.16742 l -552.13495 255.61403 l -552.55664 256.32556 l -552.66205 257.24789 l -553.03094 257.43237 l -553.08368 258.03848 l -553.61072 258.77637 l -553.71613 259.61966 l -553.66345 260.1467 l -554.19049 261.30621 l -555.13916 260.75281 l -555.61353 261.35892 l -556.29871 261.93869 l -556.14063 262.5975 l -556.45685 263.83609 l -556.72034 264.57397 l -557.08929 264.75845 l -557.45825 265.99701 l -557.30011 266.76126 l -557.77448 267.76266 l -559.40833 268.52689 l -560.40973 269.21207 l -561.41113 269.84451 l -561.20032 270.21347 l -562.04364 271.1358 l -562.62335 272.71698 l -563.20313 272.37439 l -563.7829 273.00687 l -564.15186 272.79605 l -564.41534 274.35086 l -565.41675 275.24686 l -566.10193 275.80026 l -567.26147 276.98611 l -567.68311 278.172 l -567.73584 278.98895 l -567.63043 279.91129 l -568.31555 281.14987 l -568.21014 282.44116 l -567.94666 283.12631 l -567.5777 284.4176 l -567.63043 285.26089 l -567.31415 286.315 l -566.6817 287.659 l -565.57489 288.37054 l -565.04785 289.50369 l -564.57349 290.21524 l -564.15186 291.48016 l -563.57208 292.21805 l -563.20313 293.32486 l -562.99231 294.32626 l -563.09772 294.77426 l -562.25446 295.3013 l -560.62054 295.354 l -559.25024 295.96014 l -558.56506 296.51355 l -557.66907 297.146 l -556.45685 296.48718 l -555.56085 296.25 l -555.82434 295.48578 l -555.03375 295.7493 l -553.71613 296.80341 l -552.45123 296.40814 l -551.66064 296.1973 l -550.81732 296.09189 l -549.39429 295.64389 l -548.44556 294.74789 l -548.18207 293.64108 l -547.81311 292.9032 l -547.12793 292.29709 l -545.7049 292.13898 l -546.17926 291.42746 l -545.8103 290.34698 l -545.12512 291.34839 l -543.8075 291.61191 l -544.54535 290.79498 l -544.8089 289.95169 l -545.33594 289.24017 l -545.23053 288.1597 l -544.07104 289.39828 l -543.12231 289.89899 l -542.59528 291.08487 l -541.43573 290.47876 l -541.48846 289.68817 l -540.53973 288.63406 l -539.80188 288.08066 l -540.06537 287.73807 l -538.16797 286.86841 l -537.16656 286.8157 l -535.74353 286.10419 l -533.10828 286.23596 l -531.21088 286.763 l -529.57697 287.2637 l -528.15393 287.15829 l -h -580.80682 255.35049 m -581.22845 255.8512 l -580.22705 255.8512 l -579.64728 254.92885 l -580.54327 255.29779 l -580.80682 255.35049 l -h -519.61566 255.0079 m -517.66553 253.98015 l -519.03589 253.71663 l -519.77374 254.13826 l -520.30084 254.58626 l -520.19537 254.98155 l -519.61566 255.0079 l -h -578.9621 254.4545 m -578.38232 254.48085 l -577.48633 254.34909 l -577.22284 254.11191 l -577.27551 253.53215 l -578.27692 253.76933 l -578.75128 254.0592 l -578.9621 254.4545 l -h -580.17432 254.0592 m -579.9635 254.32274 l -578.85669 253.0578 l -578.59314 252.18816 l -579.0675 252.18816 l -579.59454 253.34769 l -580.17432 254.0592 l -h -526.46735 253.0051 m -526.62549 252.66251 l -527.89044 252.34628 l -528.89185 252.29358 l -529.36615 252.1091 l -529.89325 252.29358 l -529.36615 252.68886 l -527.83771 253.32133 l -526.62549 253.74298 l -525.67676 254.84979 l -524.41187 255.16603 l -524.25372 254.98155 l -524.35913 254.48085 l -524.99158 253.61121 l -526.46735 253.0051 l -h -516.61145 252.24086 m -517.50745 252.1091 l -517.87634 252.74158 l -516.18976 253.03145 l -515.18835 253.24228 l -514.39777 253.21593 l -514.92487 252.37263 l -515.71545 252.37263 l -516.08435 251.84558 l -516.61145 252.24086 l -h -521.1441 252.50439 m -522.09277 252.37263 l -523.41046 251.84558 l -523.19965 252.66251 l -520.98596 253.08415 l -519.03589 252.89969 l -519.03589 252.37263 l -520.19537 252.0564 l -521.1441 252.50439 l -h -577.22284 251.74016 m -577.53906 252.21451 l -577.59174 252.50439 l -576.43225 251.87193 l -575.64166 251.34488 l -575.11462 250.87053 l -575.32544 250.7124 l -576.01062 251.05499 l -577.22284 251.74016 l -h -573.53345 250.29076 m -574.11322 250.76511 l -573.84967 250.84418 l -573.16449 250.50159 l -572.58472 249.89546 l -572.63745 249.65829 l -573.53345 250.29076 l -h -502.32822 249.39476 m -502.53903 249.92183 l -505.33243 250.07994 l -505.64865 249.47383 l -508.33664 250.159 l -508.86371 251.1077 l -511.07733 251.37123 l -512.86932 252.24086 l -511.23544 252.82063 l -509.60159 252.21451 l -508.28394 252.26723 l -506.75549 252.1618 l -505.38513 251.89828 l -503.69855 251.31853 l -502.59174 251.18675 l -502.01199 251.37123 l -499.32401 250.76511 l -499.06046 250.13264 l -497.74283 250.02724 l -498.74423 248.63054 l -500.53622 248.70959 l -501.69574 249.28935 l -502.32822 249.39476 l -h -539.95996 250.10629 m -539.80188 248.99948 l -540.06537 248.47241 l -540.38165 247.97171 l -540.75055 248.39336 l -540.69788 249.10489 l -539.95996 250.10629 l -h -570.05487 247.8136 m -570.4765 248.15619 l -571.21442 249.07854 l -571.89954 249.57924 l -571.68872 249.97453 l -571.26709 250.13264 l -570.63464 249.57924 l -570.00214 248.63054 l -569.68591 247.52371 l -569.89673 247.39195 l -570.05487 247.8136 l -h -564.99512 248.55148 m -564.20453 248.89406 l -563.41394 249.23665 l -562.67609 249.23665 l -561.46387 248.815 l -560.62054 248.41971 l -560.72595 247.97171 l -562.04364 248.18254 l -562.83423 248.05078 l -563.09772 247.3656 l -563.30853 247.3129 l -563.41394 248.10349 l -564.25726 247.99806 l -564.67889 247.49736 l -565.52216 246.97031 l -565.31134 246.10066 l -566.20734 246.07431 l -566.52362 246.31149 l -566.47089 247.12843 l -565.99652 248.02443 l -565.20593 248.12984 l -564.99512 248.55148 l -h -529.20807 245.54726 m -528.20667 245.28374 l -527.94312 244.65126 l -529.41888 244.5722 l -529.78784 245.07291 l -529.20807 245.54726 l -h -532.89746 244.09785 m -534.47864 244.5195 l -535.00568 245.65266 l -533.79346 245.04655 l -532.58124 244.91479 l -531.73792 245.0202 l -530.73651 244.9675 l -531.05273 244.15056 l -532.89746 244.09785 l -h -566.94525 245.36279 m -567.52502 245.83714 l -567.68311 246.57501 l -567.20874 246.97031 l -566.94525 246.10066 l -566.62903 245.54726 l -565.94385 245.07291 l -565.10052 244.44044 l -564.04645 244.0188 l -564.46808 243.64986 l -565.25867 244.0715 l -565.73303 244.38774 l -566.36548 244.73033 l -566.94525 245.36279 l -h -549.92133 243.80798 m -552.45123 244.80939 l -555.13916 245.65266 l -556.14063 246.39055 l -556.98389 247.12843 l -557.1947 247.99806 l -559.61914 248.89406 l -559.9881 249.68465 l -558.67047 249.84276 l -558.98669 250.81781 l -560.30432 251.76651 l -561.25305 253.32133 l -562.04364 253.26863 l -561.99091 253.92744 l -563.15045 254.16463 l -562.67609 254.4545 l -564.25726 255.06061 l -564.09912 255.48225 l -563.15045 255.58768 l -562.78149 255.21873 l -561.51654 255.06061 l -560.04083 254.82344 l -558.88129 253.90109 l -558.03802 253.08415 l -557.30011 251.81923 l -555.40271 251.1604 l -554.13776 251.58205 l -553.24176 252.08275 l -553.45264 253.16321 l -552.29309 253.66391 l -551.44983 253.40039 l -549.97406 253.34769 l -548.65643 252.13545 l -547.18066 251.84558 l -546.81171 252.26723 l -544.96704 252.31993 l -545.59949 251.13405 l -546.49548 250.7124 l -546.12653 249.13124 l -545.38867 247.89265 l -542.59528 246.65408 l -541.38306 246.52231 l -539.16943 245.17831 l -538.74774 245.88985 l -538.16797 246.02161 l -537.85175 245.49455 l -537.85175 244.83574 l -536.74493 244.12421 l -538.27344 243.59715 l -539.32751 243.6235 l -539.22211 243.25456 l -537.06116 243.22821 l -536.48145 242.35858 l -535.16376 242.09505 l -534.58405 241.38351 l -536.53412 241.01459 l -537.27203 240.54024 l -539.64374 241.14635 l -539.85455 241.6734 l -540.27625 244.04515 l -541.80469 244.94115 l -543.01691 243.38634 l -544.70349 242.49034 l -546.02112 242.49034 l -547.23334 242.99104 l -548.34015 243.5181 l -549.92133 243.80798 l -h -523.46313 238.72189 m -525.14972 238.66919 l -526.57275 237.58871 l -526.8363 237.9313 l -525.67676 239.38071 l -524.56995 239.64424 l -523.14691 239.38071 l -520.72247 239.43341 l -519.45752 239.64424 l -519.2467 240.75105 l -520.51166 242.0687 l -521.30225 241.40987 l -524.04291 240.90916 l -523.9375 241.56799 l -523.30505 241.35716 l -522.67255 242.22681 l -521.35492 242.78021 l -522.77795 244.65126 l -522.51447 245.17831 l -523.83209 246.8649 l -523.77936 247.8136 l -523.0415 248.2616 l -522.46173 247.73454 l -523.14691 246.52231 l -521.72388 247.10208 l -521.35492 246.70679 l -521.51306 246.12701 l -520.45892 245.28374 l -520.61707 243.83434 l -519.61566 244.28233 l -519.72107 245.99525 l -519.77374 248.10349 l -518.87775 248.3143 l -518.2453 247.8663 l -518.66693 246.52231 l -518.45612 245.12561 l -517.82367 245.09926 l -517.3493 244.09785 l -517.98175 243.14915 l -518.19257 241.98964 l -518.93048 239.776 l -519.19397 239.16989 l -520.45892 238.08942 l -521.61847 238.51106 l -523.46313 238.72189 l -h -530.78925 236.82449 m -530.89465 237.61507 l -531.73792 237.74684 l -531.89606 238.35295 l -531.79065 239.61789 l -531.05273 239.48611 l -530.84192 240.38211 l -531.42169 241.14635 l -531.00006 241.30446 l -530.42029 240.38211 l -529.99866 238.51106 l -530.31488 237.35155 l -530.78925 236.82449 l -h -496.26709 241.59435 m -496.53061 242.6221 l -497.05765 243.43904 l -498.11176 243.54445 l -498.84964 244.49315 l -498.48071 246.31149 l -498.42801 248.57784 l -496.79413 248.60419 l -495.52921 247.3656 l -493.68451 246.17973 l -493.05203 245.28374 l -491.94522 244.09785 l -491.20734 242.99104 l -490.10052 240.96188 l -488.8356 239.7233 l -488.36124 238.48471 l -487.8342 237.3252 l -486.51654 236.40285 l -485.77866 235.16426 l -484.67184 234.34734 l -483.1434 232.71346 l -482.98526 231.97557 l -483.93396 232.02829 l -486.20032 232.31816 l -487.51794 233.74121 l -488.62476 234.74261 l -489.46805 235.34874 l -490.83841 236.9299 l -492.31415 236.95625 l -493.5264 237.95766 l -494.36969 239.16989 l -495.52921 239.85506 l -494.89673 241.04094 l -495.74002 241.54164 l -496.26709 241.59435 l -h -504.0148 237.06166 m -505.12161 237.56236 l -506.22842 237.29884 l -506.54465 236.06026 l -507.17712 235.77039 l -508.91641 235.45415 l -509.97052 234.29462 l -510.7084 233.37227 l -511.28815 232.81886 l -512.50037 232.02829 l -513.65991 231.00052 l -514.39777 229.86736 l -514.97754 229.86736 l -515.71545 230.60524 l -515.76813 231.2377 l -516.76953 231.633 l -517.98175 232.08099 l -517.87634 232.66075 l -516.87494 232.73981 l -517.13849 233.45134 l -516.08435 233.95204 l -515.24109 235.26967 l -516.29517 236.64001 l -516.03168 237.3252 l -517.71826 238.66919 l -515.97894 238.85365 l -515.4519 239.85506 l -515.55731 241.1727 l -514.13428 242.1741 l -514.08154 243.6235 l -513.5545 245.86349 l -513.29095 245.36279 l -511.6571 246.02161 l -511.07733 245.12561 l -510.02322 245.04655 l -509.28534 244.5722 l -507.54605 245.09926 l -507.01901 244.38774 l -506.07031 244.4668 l -504.85809 244.28233 l -504.64725 242.33221 l -503.90939 241.93694 l -503.22421 240.672 l -503.0134 239.38071 l -503.17151 238.03671 l -504.0148 237.06166 l -h -528.52289 227.68007 m -528.6283 228.65512 l -528.7337 229.47206 l -528.25934 230.81606 l -527.67957 229.31395 l -526.99445 230.07817 l -527.46875 231.13229 l -527.04712 231.81746 l -525.36053 230.97417 l -524.9389 229.92006 l -525.36053 229.23489 l -524.46454 228.52336 l -523.99017 229.12947 l -523.30505 229.07677 l -522.19824 229.89371 l -521.98737 229.47206 l -522.56714 228.23349 l -523.46313 227.8382 l -524.25372 227.28479 l -524.78076 227.9436 l -525.88757 227.54831 l -526.15112 226.8895 l -527.15253 226.83679 l -527.09985 225.70361 l -528.25934 226.41515 l -528.41748 227.15302 l -528.52289 227.68007 l -h -463.22067 228.99771 m -463.00986 230.49982 l -462.37741 230.92146 l -461.11246 231.26405 l -460.42731 230.10454 l -460.16376 227.99631 l -460.84894 225.62456 l -461.85034 226.4415 l -462.53552 227.46925 l -463.22067 228.99771 l -h -253.18901 224.25421 m -254.0323 224.06975 l -254.34854 224.12245 l -254.29584 225.20291 l -253.0836 225.36102 l -252.82008 225.22926 l -253.24173 224.83397 l -253.18901 224.25421 l -h -522.9361 225.38739 m -523.30505 224.96574 l -523.46313 224.06975 l -524.30646 223.99069 l -524.04291 224.96574 l -525.14972 223.56905 l -524.99158 224.96574 l -524.46454 225.44009 l -523.99017 226.36244 l -523.56854 226.78407 l -522.67255 225.78267 l -522.9361 225.38739 l -h -516.98035 226.36244 m -515.03027 227.75914 l -515.76813 226.73137 l -516.82227 225.83537 l -517.66553 224.80762 l -518.45612 223.35822 l -518.71967 224.5441 l -517.77094 225.36102 l -516.98035 226.36244 l -h -522.14551 223.27916 m -521.93469 222.59399 l -522.77795 223.04199 l -523.72668 223.04199 l -523.72668 223.6481 l -523.0415 224.28056 l -522.09277 224.72856 l -522.0401 224.0434 l -522.14551 223.27916 l -h -527.20526 222.1987 m -527.62689 223.83257 l -526.52008 223.43727 l -526.52008 223.93797 l -526.88904 224.83397 l -526.20386 225.17656 l -526.15112 224.12245 l -525.67676 224.06975 l -525.46594 223.17375 l -526.30927 223.27916 l -526.30927 222.72575 l -525.41327 221.61894 l -526.8363 221.64529 l -527.20526 222.1987 l -h -520.40625 221.40811 m -519.61566 220.27495 l -520.88055 220.32765 l -521.40765 220.85471 l -521.0387 222.11964 l -520.40625 221.40811 l -h -522.56714 213.31781 m -522.35632 213.92392 l -522.83069 214.97803 l -522.46173 216.19026 l -521.61847 216.69096 l -521.35492 217.85049 l -521.72388 219.03636 l -522.46173 219.19447 l -523.14691 219.01001 l -524.9389 219.82695 l -524.8335 220.61752 l -525.30786 220.96011 l -525.14972 221.64529 l -523.99017 220.93376 l -523.46313 220.16953 l -523.09418 220.69659 l -522.14551 219.82695 l -520.82788 220.03777 l -520.08997 219.72153 l -520.1427 219.11542 l -520.61707 218.74648 l -520.19537 218.4039 l -519.98456 218.93095 l -519.2467 218.08766 l -519.03589 217.4552 l -518.98315 216.03215 l -519.56293 216.53285 l -519.72107 214.24016 l -520.19537 212.92252 l -521.09137 212.92252 l -521.98737 213.31781 l -522.46173 212.94887 l -522.56714 213.31781 l -h -246.49541 212.89616 m -247.23329 213.02792 l -247.49681 213.31781 l -247.12788 213.68675 l -246.02106 213.68675 l -245.12506 213.73946 l -245.07236 213.10698 l -245.28319 212.89616 l -246.49541 212.89616 l -h -229.94586 212.92252 m -230.94727 213.05428 l -231.68515 213.42322 l -231.94867 213.81851 l -230.94727 213.84486 l -230.47292 214.08205 l -229.68234 213.84486 l -228.83905 213.31781 l -228.99716 212.97522 l -229.62962 212.86981 l -229.94586 212.92252 l -h -238.53687 211.13052 m -238.69499 210.89336 l -239.85451 210.89336 l -240.6978 211.2623 l -241.11945 211.23593 l -241.38297 211.763 l -242.17355 211.73665 l -242.12085 212.15828 l -242.75331 212.211 l -243.4912 212.7644 l -242.96414 213.34416 l -242.22626 213.02792 l -241.5938 213.08063 l -241.11945 213.02792 l -240.85591 213.29146 l -240.27615 213.37051 l -240.06534 213.02792 l -239.53827 213.23875 l -238.95851 214.24016 l -238.58957 214.00298 l -238.53687 213.58133 l -237.53546 213.34416 l -236.8503 213.44957 l -235.9543 213.31781 l -235.26912 213.6077 l -234.47855 213.1597 l -234.63666 212.68535 l -235.9543 212.86981 l -237.06111 213.00157 l -237.58817 212.659 l -236.9557 212.02652 l -236.9557 211.47311 l -236.007 211.2623 l -236.37595 210.84065 l -237.27194 210.91971 l -238.53687 211.13052 l -h -503.75125 213.37051 m -502.53903 212.89616 l -502.53903 211.65758 l -503.22421 210.97241 l -504.85809 210.57712 l -505.70139 210.60347 l -506.01761 211.15688 l -505.38513 211.8157 l -505.0162 212.659 l -503.75125 213.37051 l -h -115.996437 210.60347 m -116.259964 210.73523 l -116.523491 210.91971 l -116.892433 211.44676 l -116.839722 211.52582 l -116.259964 211.84206 l -115.785614 212.05287 l -115.574791 212.31641 l -115.205849 212.10558 l -115.25856 211.68393 l -115.047737 211.15688 l -115.100441 210.99876 l -115.363968 210.76158 l -115.25856 210.47171 l -115.311264 210.33995 l -115.469383 210.3663 l -115.996437 210.60347 l -h -115.153145 209.60207 m -114.995033 209.78653 l -114.520683 209.89195 l -114.257149 209.57571 l -114.099037 209.44395 l -114.099037 209.3649 l -114.257149 209.23312 l -114.731499 209.39125 l -115.153145 209.60207 l -h -114.046333 208.99596 m -113.993622 209.15407 l -113.203041 209.12772 l -113.308449 208.94325 l -114.046333 208.99596 l -h -112.148933 208.20537 m -112.307045 208.31078 l -112.728691 208.78513 l -112.623283 208.86418 l -112.517868 208.86418 l -112.043518 208.81148 l -111.832695 208.4689 l -111.779991 208.4162 l -112.148933 208.20537 l -h -110.198822 207.46748 m -110.251526 207.81007 l -110.04071 207.9682 l -109.56636 207.70467 l -109.619064 207.59926 l -109.882591 207.44113 l -110.198822 207.46748 l -h -223.09415 206.04443 m -224.30637 206.14986 l -225.4659 206.17621 l -226.83624 206.67691 l -227.416 207.20396 l -228.78635 207.04585 l -229.3134 207.38843 l -230.57832 208.28442 l -231.47432 208.94325 l -231.94867 208.94325 l -232.84467 209.23312 l -232.73926 209.65477 l -233.79337 209.70747 l -234.90019 210.3136 l -234.74207 210.65617 l -233.74066 210.84065 l -232.79196 210.91971 l -231.79056 210.78795 l -229.68234 210.94606 l -230.63104 210.12912 l -230.05127 209.73383 l -229.10257 209.62842 l -228.62822 209.20677 l -228.25929 208.38983 l -227.416 208.44255 l -226.04565 208.04726 l -225.62401 207.73102 l -223.72661 207.5202 l -223.19955 207.23032 l -223.77931 206.86137 l -222.30356 206.78232 l -221.24945 207.54655 l -220.66968 207.57291 l -220.45886 207.91548 l -219.72098 208.07361 l -219.08852 207.94185 l -219.8791 207.49385 l -220.19533 206.96678 l -220.88051 206.65056 l -221.61838 206.36067 l -222.7252 206.20256 l -223.09415 206.04443 l -h -229.04987 203.09293 m -229.47151 203.14563 l -229.99857 204.35786 l -229.99857 205.22751 l -229.62962 205.28021 l -229.2607 204.43692 l -228.73364 204.01527 l -229.04987 203.09293 l -h -521.77655 204.27881 m -520.88055 206.62421 l -520.24811 207.83643 l -519.51025 206.59785 l -519.29938 205.51738 l -520.19537 204.06798 l -521.35492 202.96117 l -522.0401 203.40916 l -521.77655 204.27881 l -h -227.89035 200.77388 m -228.57552 200.66847 l -229.52422 200.72118 l -229.57692 201.09012 l -227.99576 201.32729 l -227.89035 200.77388 l -h -229.62962 200.40495 m -230.78915 201.06377 l -230.52562 202.11787 l -230.2621 201.93341 l -230.2621 201.16917 l -229.62962 200.58942 l -229.62962 200.40495 l -h -537.27203 191.02336 m -538.06256 190.12737 l -538.90588 190.31183 l -539.53833 189.70572 l -540.59247 190.02194 l -540.80328 190.52266 l -539.95996 191.39229 l -539.38025 190.91794 l -538.58966 191.26053 l -538.2207 192.13017 l -537.27203 191.70853 l -537.27203 191.02336 l -h -393.12228 188.41443 m -393.22769 188.67796 l -393.2804 188.78337 l -391.80466 189.38948 l -391.06677 189.20502 l -390.69785 188.62526 l -391.4357 188.54619 l -391.54111 188.54619 l -391.75195 188.20361 l -392.80606 188.22997 l -394.12369 187.78197 l -393.12228 188.41443 l -h -382.0014 188.33537 m -381.79059 188.75702 l -379.68237 188.88878 l -379.73508 188.65161 l -377.94308 188.36172 l -378.2066 187.72926 l -378.99719 188.22997 l -380.15671 188.15091 l -381.21082 188.25632 l -381.21082 188.49348 l -382.0014 188.33537 l -h -365.08292 184.17163 m -366.24246 184.03987 l -365.71539 185.17303 l -365.92621 185.64738 l -365.60999 186.38527 l -364.50317 185.83186 l -363.76529 185.67374 l -361.70978 184.93587 l -361.92059 184.19798 l -363.60718 184.32974 l -365.08292 184.17163 l -h -356.22839 180.13966 m -356.96628 179.66531 l -357.86227 180.71942 l -357.65146 182.64317 l -356.96628 182.56412 l -356.38651 183.03847 l -355.85947 182.66953 l -355.75403 180.87753 l -355.43781 180.06059 l -356.22839 180.13966 l -h -551.18628 182.64317 m -549.86865 184.11893 l -549.86865 185.62103 l -549.34155 186.80692 l -549.55243 187.51843 l -548.81451 188.57254 l -546.96985 189.25772 l -544.38727 189.33678 l -542.27905 191.02336 l -541.27765 190.44359 l -541.22491 189.36313 l -538.69507 189.67937 l -536.95575 190.36453 l -535.26917 190.39088 l -536.74493 191.47136 l -535.74353 193.94852 l -534.79486 194.58098 l -534.10968 194.00122 l -534.47864 192.68358 l -533.52991 192.26193 l -532.95013 191.26053 l -534.3205 190.81253 l -535.11108 189.89018 l -536.58685 189.12596 l -537.64093 188.12454 l -540.53973 187.70291 l -542.12091 187.99278 l -543.64935 185.38387 l -544.65076 186.09538 l -546.75903 184.61963 l -547.60229 184.06622 l -548.55096 182.27423 l -548.28748 180.61401 l -548.86725 179.69167 l -550.44836 179.42813 l -551.23895 181.45729 l -551.18628 182.64317 l -h -356.2811 177.60979 m -357.2298 177.03003 l -357.49332 178.29497 l -357.01898 179.42813 l -356.3338 179.13824 l -356.01758 178.13684 l -356.2811 177.60979 l -h -555.19189 175.63333 m -556.24603 175.02722 l -556.56226 176.66109 l -554.40131 177.05638 l -553.08368 178.53214 l -550.81732 177.53073 l -550.02673 179.11189 l -548.39288 179.13824 l -548.18207 177.68884 l -548.91992 176.55568 l -550.44836 176.47662 l -550.87006 174.44745 l -551.34436 173.31429 l -553.03094 174.84274 l -554.19049 175.34344 l -555.19189 175.63333 l -h -249.76315 171.15335 m -250.29021 171.86488 l -251.34433 172.04935 l -252.71466 172.02299 l -251.97679 172.60277 l -251.44974 172.70818 l -249.60504 172.0757 l -249.2361 171.60135 l -249.76315 171.15335 l -h -249.02528 166.989624 m -249.55234 166.857849 l -251.50244 167.226791 l -252.9782 167.85925 l -253.0309 168.12279 l -252.29303 168.14914 l -250.39563 167.674789 l -249.02528 166.989624 l -h -159.900177 166.884201 m -160.638046 167.569382 l -162.1138 168.17549 l -162.693558 168.99243 l -161.955688 169.1769 l -159.531235 168.51808 l -159.109589 168.01738 l -157.791946 167.490326 l -157.528427 167.06868 l -156.052658 166.805145 l -155.4729 166.014572 l -155.578308 165.671982 l -157.159485 165.98822 l -158.055481 166.225388 l -159.425827 166.383499 l -159.900177 166.884201 l -h -262.09625 164.881393 m -261.30566 165.803741 l -260.35696 167.06868 l -261.30566 166.59433 l -262.30707 166.910553 l -261.78003 167.41127 l -263.09766 167.80655 l -263.73013 167.463974 l -265.20587 167.91197 l -264.78424 168.96608 l -265.78564 168.7289 l -265.99646 169.49313 l -266.41812 170.41548 l -265.83835 171.70677 l -265.15317 171.75948 l -264.20447 171.46959 l -264.52072 170.28372 l -264.09906 170.09924 l -262.41248 171.36418 l -261.51651 171.31148 l -262.57062 170.6263 l -261.14755 170.28372 l -259.56638 170.36278 l -256.72028 170.31007 l -256.50946 169.88843 l -257.40546 169.36137 l -256.77301 168.96608 l -258.03793 168.09644 l -259.51367 165.751038 l -260.46237 164.907745 l -261.72733 164.407043 l -262.41248 164.486099 l -262.09625 164.881393 l -h -149.200943 160.90213 m -150.623993 160.770355 l -150.202347 162.430588 l -151.467285 163.616455 l -150.887512 163.616455 l -149.991531 162.93129 l -149.464462 162.272476 l -148.726593 161.798126 l -148.463058 161.165649 l -148.515762 160.691299 l -149.200943 160.90213 l -h -552.71472 161.37648 m -553.24176 162.79953 l -553.18909 164.22258 l -553.76886 165.698334 l -555.24463 168.30725 l -553.08368 167.8329 l -552.18768 169.94113 l -553.61072 171.44324 l -553.55804 172.47099 l -552.45123 171.575 l -551.5025 172.70818 l -551.23895 171.46959 l -551.39709 170.04654 l -551.23895 168.46538 l -551.55524 167.358551 l -551.66064 165.408447 l -550.76465 163.959045 l -550.92273 161.98259 l -552.24036 161.297424 l -551.66064 160.612244 l -552.34583 160.401428 l -552.71472 161.37648 l -h -332.40549 159.294601 m -333.61771 159.241898 l -335.19888 160.137894 l -334.40829 161.139297 l -334.67181 162.193405 l -333.565 163.484695 l -330.98242 164.35434 l -328.87421 164.143524 l -330.08643 162.615051 l -329.29584 161.112946 l -331.29868 159.979782 l -332.40549 159.294601 l -h -361.60437 157.871552 m -362.0787 158.583084 l -361.18271 159.768951 l -359.65427 158.952026 l -359.44342 158.345901 l -361.60437 157.871552 l -h -119.211472 155.130859 m -120.160179 155.236282 l -120.792641 155.68428 l -119.52771 156.395798 l -118.051956 156.949203 l -117.314072 156.580276 l -117.103256 155.895096 l -118.420891 155.368042 l -119.211472 155.130859 l -h -340.46942 158.161438 m -341.89249 160.032486 l -342.89389 160.269653 l -343.78989 161.929886 l -344.21152 162.509644 l -345.95081 162.79953 l -345.79269 163.721878 l -345.05481 164.169876 l -345.63458 164.907745 l -344.31693 165.671982 l -342.36682 165.671982 l -339.83698 166.067276 l -339.15179 165.77739 l -338.20309 166.46257 l -336.83273 166.304443 l -335.83133 166.857849 l -335.04077 166.567978 l -337.20169 165.039505 l -338.51932 164.723282 l -336.20029 164.459747 l -335.77863 163.87999 l -337.3071 163.431992 l -336.51651 162.641403 l -336.78003 161.692703 l -338.99368 161.824478 l -339.2045 160.981186 l -338.20309 160.058838 l -336.4111 159.795303 l -336.04218 159.400024 l -336.56921 158.741196 l -336.09488 158.345901 l -335.30429 159.031082 l -335.25159 157.608032 l -334.5137 156.870148 l -335.04077 155.368042 l -336.14758 154.182159 l -337.3598 154.287582 l -339.09909 154.155807 l -337.51791 155.736984 l -339.04639 155.552505 l -340.62753 155.552505 l -340.25861 156.738388 l -338.94098 158.05603 l -340.46942 158.161438 l -h -99.815826 151.599594 m -100.975349 151.731354 l -101.133469 152.311111 l -100.184769 152.521942 l -99.236069 152.258408 l -98.340073 151.863129 l -99.815826 151.599594 l -h -225.94025 149.122437 m -226.4673 148.674438 l -227.09976 148.70079 l -227.4687 149.017029 l -226.88895 149.78125 l -226.25647 149.64949 l -225.83482 149.201492 l -225.94025 149.122437 l -h -220.56427 148.569031 m -221.61838 147.910202 l -223.6212 147.910202 l -223.6212 148.200089 l -221.88191 149.017029 l -220.88051 148.96431 l -220.56427 148.569031 l -h -92.120819 146.618912 m -93.016808 146.908798 l -93.912804 146.750687 l -95.125031 147.145981 l -96.54808 147.330444 l -96.442673 147.488556 l -95.335854 147.804794 l -94.229034 147.488556 l -93.649277 147.225037 l -92.384346 147.304092 l -92.015404 147.172333 l -92.120819 146.618912 l -h -220.7224 144.69516 m -222.30356 145.195862 l -223.99014 145.64386 l -224.09555 146.329041 l -225.20236 146.223633 l -226.25647 146.724335 l -224.93884 147.172333 l -222.6725 146.829742 l -221.82921 146.170914 l -220.40616 146.93515 l -218.29793 147.699387 l -217.82358 146.829742 l -215.82077 146.987854 l -217.08571 146.249985 l -217.29652 145.116806 l -217.77087 143.772812 l -218.825 143.878235 l -219.08852 144.537048 l -219.8791 144.299881 l -220.7224 144.69516 l -h -322.28601 142.718704 m -321.91708 143.667404 l -323.55093 144.668808 l -321.65353 145.775635 l -317.4371 146.777039 l -316.17218 147.040558 l -314.27478 146.829742 l -310.16373 146.381744 l -311.6395 145.722931 l -308.42444 145.011398 l -311.00702 144.721512 l -310.95432 144.299881 l -307.8974 143.957291 l -308.8988 143.008591 l -311.11243 142.771408 l -313.37878 143.772812 l -315.59241 142.982239 l -317.4371 143.403885 l -319.80884 142.613297 l -322.28601 142.718704 l -h -233.37172 141.269302 m -232.42302 141.690948 l -230.78915 141.770004 l -230.42021 141.058487 l -231.05267 140.241547 l -232.42302 140.030716 l -233.52985 140.452362 l -233.58255 141.058487 l -233.37172 141.269302 l -h -80 139.056122 m -83.582512 140.162491 l -87.430023 141.611893 l -87.271904 142.534241 l -88.273308 142.903183 l -87.957077 141.822708 l -91.909996 142.033539 l -94.8088 143.403885 l -93.333046 144.062698 l -90.908585 144.194458 l -90.908585 145.64386 l -90.328827 145.933746 l -88.958481 145.907394 l -87.798958 145.380341 l -85.901558 144.958694 l -85.532623 144.326233 l -84.056862 144.08905 l -82.422989 144.273514 l -81.579704 143.772812 l -81.895935 143.219406 l -80.156654 143.561996 l -80.841827 144.247162 l -80 144.87854 l -80 139.056122 l -h -203.48767 138.844849 m -202.59167 139.345551 l -200.58887 138.897552 l -199.42934 139.055664 l -197.42653 138.396851 l -198.69147 137.948853 l -199.69287 137.316391 l -201.27403 137.738037 l -202.17003 138.001556 l -202.59167 138.265091 l -203.48767 138.844849 l -h -607 136.315048 m -605.42029 136.394043 l -605.1568 135.919693 l -607 135.314133 l -607 136.315048 l -h -80 135.313019 m -80.209358 135.234512 l -81.421585 135.260864 l -83.529808 135.656158 l -83.4244 135.866989 l -81.895935 136.209564 l -80 136.314896 l -80 135.313019 l -h -213.13278 156.76474 m -214.60855 157.318146 l -215.66266 158.029678 l -217.50735 158.424957 l -219.03581 159.031082 l -221.46027 159.13649 l -223.04143 159.26825 l -222.83061 160.533188 l -223.25226 162.008942 l -224.35907 163.642822 l -226.52 165.039505 l -227.62682 164.565155 l -228.4174 163.063049 l -227.67952 160.744003 l -226.62541 159.979782 l -228.99716 159.294601 l -230.63104 158.266846 l -231.47432 157.23909 l -231.31621 156.264038 l -230.3148 155.025452 l -228.57552 153.91864 l -230.2621 152.390182 l -229.62962 151.046188 l -229.15527 148.779846 l -230.15669 148.437256 l -232.68655 148.83255 l -234.21501 148.96431 l -235.42725 148.595383 l -236.74489 149.096085 l -238.58957 149.939362 l -239.01122 150.492783 l -241.6465 150.624542 l -241.5938 151.836761 l -242.06815 153.681458 l -243.38579 153.91864 l -244.4926 154.788284 l -246.60081 153.971344 l -247.97116 152.363831 l -248.97256 151.67865 l -250.07939 152.96994 l -251.97679 154.840988 l -253.61066 156.606628 l -253.0309 157.528976 l -254.981 158.345901 l -256.29865 159.189194 l -258.61768 159.558136 l -259.56638 160.032486 l -260.14615 161.271057 l -261.30566 161.455536 l -261.88544 162.008942 l -261.99084 163.669174 l -260.93674 164.22258 l -259.88263 164.723282 l -257.45816 165.250336 l -255.61348 166.46257 l -253.13631 166.699738 l -250.02669 166.383499 l -247.81305 166.357147 l -246.28459 166.46257 l -245.07236 167.516678 l -243.22766 168.17549 l -241.11945 170.09924 l -239.43286 171.46959 l -240.6451 171.20607 l -243.01685 169.2823 l -246.07376 168.07008 l -248.2874 167.93832 l -249.55234 168.64984 l -248.18199 169.62489 l -248.65634 171.20607 l -249.13069 172.31288 l -251.02809 173.05075 l -253.45255 172.83994 l -254.9283 171.17972 l -255.03371 172.23383 l -255.9297 172.78723 l -254.13771 173.73593 l -250.92268 174.60558 l -249.44691 175.21169 l -247.81305 176.26579 l -246.70624 176.13403 l -246.65353 174.89545 l -249.1834 173.70958 l -246.86435 173.73593 l -245.23048 173.92039 l -245.494 174.39474 l -243.91284 175.10628 l -242.38438 175.60698 l -240.85591 176.05498 l -240.01262 177.00368 l -239.85451 177.24084 l -239.8018 178.03143 l -240.32886 178.79567 l -240.90862 178.84837 l -240.7505 178.29497 l -241.17215 178.63754 l -241.06674 179.05919 l -240.06534 179.29637 l -239.38016 179.24367 l -238.32605 179.50719 l -237.69359 179.58624 l -236.79759 179.66531 l -235.58536 180.08694 l -237.74629 179.79707 l -238.16794 180.08694 l -236.11241 180.50859 l -235.21642 180.53494 l -235.21642 180.35048 l -234.79477 180.74577 l -235.21642 180.82483 l -234.90019 181.87894 l -233.84607 182.98576 l -233.74066 182.61682 l -233.42444 182.53777 l -232.95009 182.16882 l -233.21361 182.95941 l -233.58255 183.22293 l -233.63525 183.77634 l -233.1609 184.35609 l -232.31761 185.51563 l -232.2122 185.46292 l -232.63385 184.46152 l -231.89597 183.90811 l -231.73785 182.69588 l -231.47432 183.32834 l -231.73785 184.25069 l -230.84186 184.03987 l -231.79056 184.48787 l -231.84326 185.88457 l -232.26491 185.98997 l -232.42302 186.49068 l -232.63385 187.96643 l -231.73785 189.04689 l -230.2094 189.46854 l -229.2607 190.33818 l -228.52281 190.44359 l -227.78494 190.97064 l -227.57411 191.47136 l -225.94025 192.42006 l -225.09695 193.10522 l -224.41177 193.97487 l -224.20096 195.00262 l -224.46449 196.03038 l -224.93884 197.29532 l -225.62401 198.32307 l -225.62401 198.95554 l -226.30917 200.64212 l -226.25647 201.64352 l -226.20377 202.19693 l -225.83482 203.09293 l -225.41319 203.2774 l -224.67531 203.11928 l -224.46449 202.46046 l -223.88472 202.11787 l -223.09415 200.8793 l -222.40897 199.74612 l -222.19815 199.16637 l -222.51437 198.21767 l -222.09273 197.40073 l -220.93321 196.18851 l -220.40616 195.95132 l -218.9304 196.61014 l -218.66687 196.53108 l -217.929 195.87227 l -217.033 195.50333 l -215.34642 195.68781 l -214.08148 195.52968 l -212.97467 195.60873 l -212.34221 195.81956 l -212.60573 196.24121 l -212.60573 196.82097 l -212.86926 197.11086 l -212.60573 197.32167 l -212.07867 197.08449 l -211.49892 197.37437 l -210.44481 197.32167 l -209.3907 196.55743 l -208.07306 196.74191 l -207.01894 196.39932 l -206.12296 196.50473 l -204.85802 196.84732 l -203.54037 197.92778 l -202.11732 198.56026 l -201.27403 199.27177 l -200.95781 199.9306 l -200.95781 200.93201 l -201.01051 201.64352 l -201.27403 202.11787 l -201.27403 202.14423 l -200.74698 203.40916 l -200.48346 204.46327 l -200.37804 206.43973 l -200.21992 207.15126 l -200.48346 207.94185 l -200.95781 208.65337 l -201.22133 209.78653 l -202.22273 210.89336 l -202.53897 211.71028 l -203.11873 212.44817 l -204.64719 212.81711 l -205.27966 213.44957 l -206.54459 213.02792 l -207.65141 212.86981 l -208.75822 212.60628 l -209.70692 212.36911 l -210.60292 211.763 l -210.97186 210.91971 l -211.07727 209.68112 l -211.34081 209.25948 l -212.34221 208.86418 l -213.87067 208.54796 l -215.18831 208.57431 l -216.0843 208.4689 l -216.40053 208.78513 l -216.34782 209.47031 l -215.55725 210.33995 l -215.24101 211.23593 l -215.50455 211.49947 l -215.29372 212.13193 l -214.92477 213.26511 l -214.55583 212.89616 l -214.23961 212.92252 l -214.23961 213.13335 l -214.50313 213.13335 l -214.50313 213.52863 l -214.23961 214.1611 l -214.39772 214.39827 l -214.23961 214.92532 l -214.34502 215.0571 l -214.1342 215.79497 l -213.87067 216.19026 l -213.60713 216.24297 l -213.29091 216.74367 l -213.81796 217.0072 l -213.92337 216.79637 l -214.34502 216.98085 l -214.50313 217.03355 l -214.81937 216.77002 l -215.24101 216.74367 l -215.39912 216.87543 l -215.60995 216.79637 l -216.29512 216.92815 l -216.9803 216.90179 l -217.45465 216.74367 l -217.61276 216.5592 l -218.08711 216.63826 l -218.40335 216.74367 l -218.825 216.71732 l -219.08852 216.58556 l -219.7737 216.79637 l -219.98451 216.82272 l -220.45886 217.08626 l -220.88051 217.42885 l -221.40756 217.63966 l -221.7765 218.03496 l -221.6711 218.19307 l -221.56567 218.50931 l -221.7238 219.06271 l -221.40756 219.53706 l -221.24945 220.14317 l -221.19675 220.77565 l -221.24945 221.17094 l -221.30215 221.82976 l -221.09132 221.96152 l -220.93321 222.59399 l -221.03862 222.98927 l -220.7224 223.35822 l -220.8278 223.75351 l -221.03862 223.99069 l -221.40756 224.78127 l -221.98732 225.36102 l -222.6725 225.9935 l -223.19955 226.52055 l -223.14685 226.83679 l -223.72661 226.8895 l -223.88472 226.78407 l -224.30637 227.12666 l -224.99155 227.02126 l -225.62401 226.65231 l -226.52 226.36244 l -226.99435 225.9408 l -227.83765 226.01985 l -227.78494 226.15161 l -228.57552 226.20432 l -229.20799 226.46785 l -229.73505 226.8895 l -230.2621 227.31114 l -230.99997 227.36385 l -232.1068 226.33609 l -232.73926 226.17796 l -232.73926 225.70361 l -233.00279 224.46504 l -233.84607 223.77986 l -234.74207 223.75351 l -234.90019 223.43727 l -236.007 223.56905 l -237.16652 222.83116 l -237.74629 222.48857 l -238.48416 221.80341 l -238.95851 221.88246 l -239.38016 222.27776 l -239.06392 222.75211 l -239.01122 223.0947 l -238.16794 223.27916 l -238.64229 223.93797 l -238.64229 224.70221 l -238.00981 225.5455 l -238.53687 226.73137 l -239.16934 226.62596 l -239.48557 225.57185 l -239.06392 225.0448 l -238.95851 223.93797 l -240.80321 223.35822 l -240.59239 222.6467 l -241.11945 222.1987 l -241.6465 223.22646 l -242.6479 223.25281 l -243.5966 224.06975 l -243.64931 224.5441 l -244.96695 224.57045 l -246.54811 224.41232 l -247.3914 225.07115 l -248.49821 225.25562 l -249.34151 224.78127 l -249.34151 224.41232 l -251.1335 224.33327 l -252.92549 224.30692 l -251.66055 224.75491 l -252.18761 225.44009 l -253.34714 225.5455 l -254.45395 226.25702 l -254.66478 227.4429 l -255.45535 227.41655 l -256.03513 227.75914 l -256.98383 228.28619 l -257.87982 229.23489 l -257.93253 229.99911 l -258.45956 230.02547 l -259.25015 230.737 l -259.82993 231.26405 l -261.62192 231.55394 l -261.72733 231.29041 l -262.93954 231.185 l -264.52072 231.58029 l -264.99506 231.7384 l -266.10187 232.08099 l -267.63034 233.31956 l -267.89386 233.92569 l -268.36823 233.84662 l -268.73715 234.66356 l -269.58044 237.21979 l -270.31833 237.45695 l -270.37103 238.45836 l -269.26422 239.67059 l -269.73856 240.11859 l -272.32114 240.35576 l -272.37384 241.80516 l -273.48065 240.85646 l -275.32535 241.38351 l -277.74982 242.27951 l -278.4877 243.1228 l -278.22415 243.93974 l -279.96344 243.49174 l -282.80954 244.25598 l -284.97046 244.20326 l -287.13141 245.4155 l -289.02881 247.04936 l -290.13562 247.47101 l -291.40054 247.55008 l -291.92761 247.99806 l -292.40195 249.86911 l -292.6655 250.73875 l -292.08572 253.16321 l -291.34784 254.13826 l -289.29233 256.16742 l -288.34363 257.82767 l -287.23682 259.09259 l -286.86786 259.11896 l -286.49893 260.1994 l -286.60434 262.94009 l -286.18271 265.18008 l -286.0246 266.15512 l -285.55023 266.73489 l -285.28671 268.685 l -283.81094 270.60876 l -283.54742 272.11087 l -282.38791 272.74332 l -282.01895 273.61298 l -280.43781 273.61298 l -278.11874 274.19275 l -277.11734 274.8252 l -275.48346 275.27319 l -273.7442 276.43271 l -272.53195 277.88211 l -272.26843 278.96259 l -272.53195 279.77951 l -272.26843 281.25528 l -271.95221 281.9668 l -270.89807 282.78375 l -269.26422 285.3663 l -267.99927 286.52585 l -266.99786 287.211 l -266.31271 288.6077 l -265.36401 289.42465 l -264.73154 290.34698 l -263.09766 291.16394 l -261.99084 290.87405 l -261.20026 291.03217 l -259.82993 290.39969 l -258.88123 290.45239 l -257.98523 289.63547 l -257.87982 290.39969 l -259.72452 291.66464 l -259.51367 292.66605 l -260.46237 293.29849 l -260.35696 294.01004 l -258.98663 295.90744 l -256.77301 296.67166 l -253.87419 296.98788 l -252.24031 296.82977 l -252.55655 297.72577 l -252.24031 298.80624 l -252.50385 299.5441 l -251.66055 300.07117 l -250.1321 300.25565 l -248.76175 299.72858 l -248.18199 300.12387 l -248.39281 301.57327 l -249.34151 302.02127 l -250.1848 301.54694 l -250.60645 302.31116 l -249.2361 302.75916 l -248.07658 303.68149 l -247.86575 305.15726 l -247.49681 305.92148 l -246.12646 305.92148 l -244.96695 306.6857 l -244.5453 307.79254 l -246.02106 308.84665 l -247.3914 309.13654 l -246.91705 310.45416 l -245.17776 311.29745 l -244.22906 313.01038 l -242.91144 313.59015 l -242.27896 314.27533 l -242.75331 315.77744 l -243.75471 316.64706 l -243.12225 316.56799 l -241.80461 316.54166 l -241.11945 316.91058 l -239.8018 317.43765 l -239.53827 318.80798 l -238.95851 318.83435 l -237.27194 318.35999 l -235.58536 317.33224 l -233.79337 316.51529 l -233.31902 315.59296 l -233.74066 314.72333 l -233.00279 313.74826 l -232.79196 311.24475 l -233.42444 309.84805 l -235.0056 308.71487 l -232.73926 308.29324 l -234.16231 307.00195 l -234.63666 304.55115 l -236.27054 305.07819 l -237.06111 302.04764 l -236.05971 301.65234 l -235.58536 303.47067 l -234.68936 303.28619 l -235.16371 301.17798 l -235.63806 298.46365 l -236.32324 297.46225 l -235.9016 296.03918 l -235.79619 294.4053 l -236.37595 294.3526 l -237.27194 291.98087 l -238.32605 289.63547 l -238.90581 287.44818 l -238.58957 285.26089 l -239.01122 284.04868 l -238.8531 282.25668 l -239.6964 280.46469 l -239.95992 277.61859 l -240.43427 274.58801 l -240.90862 271.32028 l -240.80321 268.92218 l -240.48697 266.86667 l -239.01122 266.02338 l -238.90581 265.41727 l -236.007 263.9415 l -233.37172 262.36032 l -232.2122 261.43799 l -231.63245 260.22577 l -231.84326 259.80411 l -230.63104 257.88037 l -229.15527 255.19238 l -227.78494 252.26723 l -227.20517 251.6084 l -226.73082 250.52794 l -225.62401 249.57924 l -224.5699 248.97313 l -225.04425 248.34065 l -224.30637 246.94395 l -224.78072 245.9162 l -225.94025 244.99385 l -226.73082 243.88704 l -226.4146 243.25456 l -225.83482 243.93974 l -224.99155 243.28091 l -225.25507 242.88564 l -225.04425 241.54164 l -225.5186 241.33081 l -225.78212 240.40846 l -226.36189 239.45976 l -226.25647 238.88 l -227.04706 238.56377 l -228.04846 237.98401 l -227.89035 237.53601 l -228.4174 237.40425 l -228.3647 236.69272 l -228.68092 236.13931 l -229.41881 236.06026 l -230.05127 235.13791 l -230.57832 234.37369 l -230.05127 234.00475 l -230.3148 233.16145 l -229.99857 231.81746 l -230.3148 231.44852 l -230.10397 230.20995 l -229.47151 229.41936 l -228.99716 228.99771 l -228.68092 228.20712 l -229.04987 227.81184 l -228.68092 227.73277 l -228.4174 227.23207 l -227.67952 226.83679 l -227.04706 226.91585 l -226.73082 227.4429 l -226.15106 227.81184 l -225.83482 227.86455 l -225.67671 228.15442 l -226.36189 228.94501 l -225.99295 229.12947 l -225.78212 229.36665 l -225.09695 229.41936 l -224.83342 228.54971 l -224.6226 228.81325 l -224.14825 228.70784 l -223.88472 228.12807 l -223.25226 228.02266 l -222.88332 227.86455 l -222.25085 227.86455 l -222.19815 228.18077 l -222.04002 227.96996 l -221.24945 227.62737 l -220.93321 227.33749 l -221.14403 227.07396 l -221.09132 226.75772 l -220.66968 226.38879 l -220.08992 226.09891 l -219.56287 225.91444 l -219.51016 225.4928 l -219.08852 225.22926 l -219.19392 225.65091 l -218.9304 226.01985 l -218.56146 225.59821 l -218.08711 225.46645 l -217.8763 225.17656 l -217.929 224.72856 l -218.08711 224.25421 l -217.66547 224.0434 l -218.03441 223.77986 l -217.50735 223.30551 l -216.82217 222.72575 l -216.50595 222.22505 l -215.87347 221.7507 l -215.18831 221.09187 l -215.34642 220.88106 l -215.55725 221.09187 l -215.66266 220.98647 l -215.39912 220.53847 l -214.97748 220.40671 l -214.81937 220.7493 l -213.97607 220.72295 l -213.44902 220.59117 l -212.81656 220.3013 l -212.02597 220.19588 l -211.60432 219.87965 l -210.86646 219.64247 l -209.97046 219.61612 l -209.28528 219.32625 l -208.49471 218.72012 l -206.80812 217.13896 l -206.07024 216.66461 l -204.85802 216.29567 l -204.06743 216.40108 l -202.90791 216.92815 l -202.17003 217.08626 l -201.11592 216.69096 l -200.00911 216.42743 l -198.63876 215.74226 l -197.53194 215.53145 l -195.89807 214.87262 l -194.68584 214.1611 l -194.31691 213.76581 l -193.47362 213.68675 l -191.99786 213.2124 l -191.36539 212.55357 l -189.78423 211.71028 l -189.04634 210.78795 l -188.73012 210.07642 l -189.20447 209.94466 l -189.04634 209.52301 l -189.41528 209.15407 l -189.41528 208.65337 l -188.88823 207.99455 l -188.78282 207.38843 l -188.30847 206.65056 l -186.99083 205.20116 l -185.51508 204.06798 l -184.8299 203.14563 l -183.56497 202.53952 l -183.30144 202.19693 l -183.51227 201.30093 l -182.77438 200.95836 l -181.87839 200.24683 l -181.50945 199.21907 l -180.77158 199.08731 l -179.87558 198.32307 l -179.1904 197.61156 l -179.1377 197.16356 l -178.34712 196.05673 l -177.82007 194.92357 l -177.87277 194.37016 l -176.81865 193.79039 l -176.2916 193.84311 l -175.50102 193.44781 l -175.23749 194.05392 l -175.50102 194.73909 l -175.60643 195.84592 l -176.13348 196.45203 l -177.2403 197.45343 l -177.45113 197.79602 l -177.66194 197.90143 l -177.87277 198.40213 l -178.13629 198.37578 l -178.45253 199.32448 l -178.87418 199.69342 l -179.1904 200.22047 l -180.0864 200.95836 l -180.61345 202.3287 l -181.0351 202.96117 l -181.45674 203.64633 l -181.50945 204.43692 l -182.19463 204.48962 l -182.82709 205.14845 l -183.35414 205.80727 l -183.30144 206.0708 l -182.66898 206.59785 l -182.40544 206.59785 l -182.03651 205.70186 l -181.0878 204.85857 l -180.03369 204.14703 l -179.29582 203.77811 l -179.34853 202.72398 l -179.08499 201.93341 l -178.39983 201.45906 l -177.39842 200.82658 l -177.18759 201.01106 l -176.81865 200.61577 l -175.92267 200.27318 l -175.07938 199.42989 l -175.18478 199.29813 l -175.76454 199.37718 l -176.3443 198.85013 l -176.39702 198.19131 l -175.23749 197.13721 l -174.3942 196.74191 l -173.86714 195.81956 l -173.28738 194.87086 l -172.65492 193.68498 l -172.02245 192.36734 l -171.81163 191.62947 l -170.86293 190.78618 l -170.17775 190.60172 l -170.01964 190.18007 l -169.17635 190.10101 l -168.64929 189.70572 l -167.278946 189.57396 l -166.910004 189.33678 l -166.751892 188.54619 l -165.328842 187.07043 l -164.116608 185.01492 l -164.169327 184.69868 l -163.484146 184.19798 l -162.377335 182.98576 l -162.166504 181.77353 l -161.375931 180.98294 l -161.692154 179.77072 l -161.63945 178.50578 l -161.217804 177.39897 l -161.744858 176.00227 l -162.1138 173.36699 l -161.850281 171.39053 l -161.375931 170.15195 l -160.954285 169.46678 l -161.1651 169.1769 l -163.273331 169.6776 l -164.063904 171.04794 l -164.432846 170.679 l -164.169327 169.46678 l -163.694977 168.2809 l -163.484146 168.25455 l -160.638046 166.831497 l -159.583939 166.199036 l -156.948654 165.592926 l -156.158081 164.301636 l -156.316193 163.40564 l -154.471497 162.773178 l -154.207962 161.587296 l -152.415985 160.533188 l -152.415985 159.768951 l -151.625397 159.215546 l -150.307755 158.767548 l -149.886108 157.476257 l -147.988708 156.29039 l -147.198135 154.920044 l -145.827789 154.814636 l -143.508743 154.788284 l -141.769455 154.366638 l -138.765244 152.838181 l -137.342194 152.574646 l -134.759613 152.047592 l -132.756805 152.179352 l -129.858002 151.494186 l -128.118713 150.86171 l -126.537552 151.177948 l -126.801079 152.205704 l -126.01049 152.28476 l -124.323914 152.600998 l -123.006279 153.1017 l -121.42511 153.391586 l -121.214287 152.548294 l -121.846756 151.098892 l -123.427917 150.650894 l -123.006279 150.281952 l -121.161583 151.098892 l -120.160179 152.073944 l -118.051956 153.128052 l -119.106064 153.839584 l -117.735718 154.86734 l -116.154556 155.499802 l -114.678795 155.9478 l -114.30986 156.580276 l -112.043518 157.344498 l -111.569168 158.029678 l -109.882591 158.66214 l -108.828476 158.53038 l -107.510841 158.952026 l -105.982376 159.452728 l -104.770149 159.927078 l -102.292992 160.348724 l -102.029465 160.111542 l -103.663338 159.426376 l -105.086388 158.978378 l -106.614845 158.18779 l -108.459541 158.003326 l -109.197418 157.397202 l -111.200226 156.527557 l -111.516464 156.237686 l -112.623283 155.710632 l -112.88681 154.603806 l -113.624687 153.760529 l -111.93811 154.182159 l -111.46376 153.944992 l -110.673172 154.472046 l -109.724472 153.734177 l -109.302826 154.26123 l -108.775772 153.523346 l -107.300018 154.103104 l -106.404022 154.103104 l -106.245903 153.233459 l -106.509438 152.706406 l -105.613441 152.179352 l -103.663338 152.469238 l -102.451103 151.784058 l -101.449699 151.415131 l -101.449699 150.59819 l -100.290176 149.965729 l -100.869942 149.122437 l -102.082169 148.305496 l -102.609222 147.567612 l -103.768745 147.462204 l -104.770149 147.699387 l -105.982376 146.987854 l -107.036491 147.119614 l -108.143311 146.645264 l -107.879776 145.98645 l -107.036491 145.722931 l -108.143311 145.143158 l -107.247314 145.16951 l -105.666145 145.485748 l -105.244499 145.801987 l -104.084976 145.485748 l -102.029465 145.64386 l -99.86853 145.301285 l -99.236069 144.721512 l -97.391373 143.878235 l -99.446892 143.245758 l -102.71463 142.534241 l -103.926865 142.534241 l -103.716042 143.27211 l -106.825668 143.219406 l -105.613441 142.297058 l -103.821449 141.743652 l -102.767342 141.005783 l -101.396996 140.399658 l -99.39418 139.925308 l -100.184769 139.161087 l -102.767342 139.108368 l -104.612038 138.449554 l -104.980972 137.738037 l -106.456726 137.026505 l -107.932487 136.868393 l -110.673172 136.209564 l -112.043518 136.314987 l -114.257149 135.550751 l -116.470787 135.840637 l -117.577606 136.499451 l -118.210068 136.235916 l -120.687233 136.314987 l -120.581818 136.657562 l -122.84816 136.894745 l -124.323914 136.762985 l -127.43354 137.210968 l -130.226944 137.342743 l -131.333755 137.553558 l -133.283859 137.316391 l -135.497498 137.738037 l -137.131363 137.948853 l -139.819351 138.291443 l -142.138397 139.00296 l -143.666855 139.134735 l -144.931793 138.52861 l -146.723785 138.080612 l -148.884705 138.238739 l -151.098343 137.606262 l -153.470093 137.237335 l -154.5242 137.843445 l -155.578308 137.500854 l -155.894547 136.815689 l -156.948654 136.973801 l -159.425827 138.291443 l -161.375931 137.290039 l -161.534042 138.396851 l -163.326035 138.159668 l -163.905792 137.738037 l -165.697784 137.817093 l -167.91142 138.449554 l -171.33728 138.976608 l -173.34009 139.213791 l -174.81584 139.134735 l -176.76595 139.872604 l -174.71043 140.610489 l -177.34572 140.90036 l -181.29863 140.742249 l -182.56357 140.478714 l -184.09203 141.348358 l -185.72589 140.610489 l -184.19743 140.004364 l -185.14613 139.503662 l -186.93813 139.424606 l -188.09764 139.292847 l -189.30988 139.635437 l -190.78563 140.42601 l -192.41951 140.320602 l -195.00208 140.979416 l -197.26842 140.742249 l -199.37663 140.7686 l -199.21852 139.872604 l -200.53616 139.609085 l -202.80251 140.109787 l -202.80251 141.480133 l -203.69849 140.320602 l -204.91072 140.373306 l -205.54318 138.897552 l -203.96202 137.975204 l -202.27544 137.395447 l -202.38086 135.787918 l -204.12013 134.707458 l -206.07024 134.944641 l -207.54601 135.603455 l -209.54881 137.237335 l -208.23117 137.975204 l -210.97186 138.265091 l -210.91916 139.767197 l -212.92197 138.607666 l -214.66125 139.556366 l -214.1869 140.636841 l -215.60995 141.638245 l -217.13841 140.557785 l -218.24522 139.319199 l -218.29793 137.711685 l -220.40616 137.817093 l -222.56708 138.027908 l -224.5172 138.765793 l -224.6226 139.47731 l -223.51578 140.267899 l -224.5699 141.032135 l -224.35907 141.743652 l -221.51297 142.771408 l -219.45746 143.008591 l -217.929 142.560593 l -217.50735 143.298462 l -216.0843 144.537048 l -215.66266 145.16951 l -213.97607 146.170914 l -211.86786 146.249985 l -210.70833 146.882446 l -210.60292 147.831146 l -208.91635 148.01561 l -207.12436 149.201492 l -205.54318 150.86171 l -204.96342 151.994888 l -204.91072 153.707809 l -207.01894 153.944992 l -207.70412 155.315338 l -208.38928 156.42215 l -210.44481 156.132278 l -213.13278 156.76474 l -h -187.57059 133.020889 m -189.20447 133.626999 l -190.10046 135.050049 l -190.57481 136.077805 l -193.05197 136.789337 l -195.68724 137.500854 l -195.52913 138.133316 l -193.10468 138.265091 l -194.05338 138.818497 l -193.57903 139.345551 l -190.89104 139.134735 l -188.36118 138.739441 l -186.67459 138.818497 l -183.93391 139.319199 l -179.61205 139.582718 l -177.60924 139.661789 l -176.81865 138.976608 l -174.81584 138.581314 l -173.55092 138.739441 l -171.70622 137.57991 l -172.70763 137.421799 l -174.97397 137.184616 l -177.02948 137.237335 l -178.92688 137.000153 l -176.08078 136.657562 l -172.97115 136.762985 l -170.91563 136.736618 l -170.12505 136.183212 l -173.4982 135.603455 l -171.28458 135.629807 l -168.702 135.234512 l -169.91423 134.154053 l -170.96834 133.574295 l -174.86855 132.678299 l -176.39702 132.96817 l -175.65913 133.653351 l -178.87418 133.205353 l -180.92969 133.943237 l -182.56357 133.205353 l -183.93391 133.679703 l -185.14613 135.102753 l -185.88402 134.496643 l -184.8299 132.994537 l -186.09483 132.783707 l -187.57059 133.020889 l -h -187.46518 132.256653 m -189.41528 132.203949 l -190.52211 132.520187 l -189.25717 133.495239 l -186.93813 132.467468 l -187.46518 132.256653 l -h -226.73082 133.416168 m -225.09695 132.651947 l -225.14966 132.124893 l -225.88754 132.01947 l -229.20799 132.177597 l -231.73785 132.994537 l -231.89597 133.389816 l -230.3148 133.337112 l -228.73364 133.31076 l -227.15247 133.521591 l -226.73082 133.416168 l -h -228.20657 134.074997 m -229.57692 133.495239 l -232.84467 134.233109 l -234.84749 134.944641 l -235.0056 135.577103 l -237.74629 135.260864 l -239.27475 136.183212 l -242.80602 136.762985 l -244.07095 137.342743 l -245.4413 138.713089 l -242.75331 139.398254 l -246.23189 140.346954 l -248.55093 140.689545 l -250.65915 142.033539 l -252.9782 142.112595 l -252.50385 143.14035 l -249.92126 144.853287 l -248.12929 144.22081 l -245.81024 142.824112 l -243.91284 143.008591 l -243.75471 143.825516 l -245.28319 144.69516 l -247.286 145.353989 l -247.86575 145.749283 l -248.81445 147.198685 l -248.3401 148.252792 l -246.49541 147.857498 l -242.80602 146.671631 l -244.86154 147.936554 l -246.39 148.83255 l -246.65353 149.333252 l -242.6479 148.753494 l -239.53827 147.910202 l -237.74629 147.198685 l -238.27335 146.777039 l -236.05971 146.039154 l -233.95149 145.327637 l -233.95149 145.749283 l -229.73505 145.98645 l -228.52281 145.459396 l -229.47151 144.405289 l -232.2122 144.378937 l -235.21642 144.168106 l -234.74207 143.667404 l -235.26912 142.929535 l -237.16652 141.506485 l -236.74489 140.847656 l -236.16512 140.346954 l -233.95149 139.635437 l -230.94727 139.134735 l -231.89597 138.765793 l -230.36751 137.869797 l -229.04987 137.790741 l -227.89035 137.290039 l -227.15247 137.711685 l -224.46449 137.896149 l -219.14122 137.57991 l -216.0316 137.158264 l -213.65985 136.921097 l -212.44762 136.420395 l -213.97607 135.735214 l -211.92056 135.735214 l -211.44621 134.25946 l -212.55302 132.941818 l -214.08148 132.335709 l -217.8763 131.966766 l -216.76947 132.915466 l -217.929 133.811462 l -219.29935 132.625595 l -222.98872 132.045837 l -225.5186 133.547943 l -225.30777 134.496643 l -228.20657 134.074997 l -h -197.11029 134.970993 m -193.47362 133.864166 l -193.47362 133.389816 l -196.47783 133.574295 l -194.84396 132.599243 l -196.58324 131.887711 l -198.32253 132.203949 l -200.95781 132.01947 l -201.32674 132.441116 l -199.95641 133.152649 l -202.17003 133.78511 l -201.90651 135.102753 l -199.53476 135.656158 l -198.11171 135.550751 l -197.11029 134.970993 l -h -548.23474 132.599243 m -549.65784 132.01947 l -551.44983 131.887711 l -553.55804 132.441116 l -553.71613 132.836411 l -551.5025 132.836411 l -548.49829 132.678299 l -548.23474 132.599243 l -h -205.17426 131.466064 m -208.23117 131.518768 l -211.02457 131.887711 l -208.81093 133.179001 l -207.07166 133.468887 l -205.49048 134.575699 l -203.80391 134.496643 l -202.90791 133.231705 l -202.96062 132.49382 l -203.69849 131.861359 l -205.17426 131.466064 l -h -163.326035 136.209564 m -162.535446 135.577103 l -159.162292 134.786514 l -159.636642 134.312164 l -160.796158 133.099945 l -162.061096 132.151245 l -160.638046 131.255249 l -165.592377 131.018066 l -167.647888 131.307953 l -171.38998 131.387009 l -172.81303 131.835007 l -174.3942 132.441116 l -172.5495 132.810059 l -168.96553 133.837814 l -167.173538 134.86557 l -167.173538 135.471695 l -163.326035 136.209564 l -h -560.46246 129.700439 m -564.15186 130.095718 l -562.46527 130.675491 l -560.14624 130.543716 l -557.40552 129.963959 l -557.77448 129.489609 l -560.46246 129.700439 l -h -206.43918 130.227493 m -205.64861 130.807251 l -203.54037 130.701843 l -201.74838 130.306549 l -202.53897 129.64772 l -204.64719 129.252441 l -205.91212 129.779495 l -206.43918 130.227493 l -h -546.75903 128.540909 m -550.60651 128.619965 l -555.87708 129.384201 l -554.71753 130.464661 l -549.34155 130.438309 l -546.91711 130.780899 l -544.01831 129.832199 l -544.8089 128.830795 l -546.75903 128.540909 l -h -199.21852 127.882088 m -199.32393 127.697624 l -200.43076 128.356445 l -200.48346 129.120667 l -199.79828 130.201141 l -197.37383 130.359253 l -195.79266 130.12207 l -195.84537 129.278793 l -193.47362 129.384201 l -193.36821 128.251022 l -194.94937 128.303741 l -197.11029 127.803032 l -199.21852 127.882088 l -h -185.67319 128.962555 m -186.99083 128.725372 l -188.51929 128.778091 l -188.78282 129.515961 l -187.88683 130.201141 l -182.9325 130.438309 l -179.24312 131.07077 l -176.97678 131.097122 l -176.81865 130.622772 l -179.82288 129.963959 l -173.23468 130.148422 l -171.17915 129.884903 l -173.18198 128.461853 l -174.55232 128.040207 l -178.66335 128.540909 l -181.29863 129.410553 l -183.82849 129.515961 l -181.72028 128.119263 l -183.09062 127.592209 l -184.61908 127.750328 l -185.09343 128.435501 l -185.67319 128.962555 l -h -421.84683 132.045837 m -425.32538 130.754547 l -424.95645 130.095718 l -428.22418 129.305145 l -433.02039 128.382797 l -437.92203 128.092911 l -440.45187 127.565857 l -443.29797 127.355034 l -444.29938 127.934799 l -443.29797 128.409149 l -438.13284 129.120667 l -433.65286 129.832199 l -429.12018 131.228897 l -426.90656 132.651947 l -424.64023 134.048645 l -424.90375 135.260864 l -427.74985 136.473099 l -426.85385 136.604858 l -422.05765 136.420395 l -421.68869 135.761566 l -419.05344 135.366287 l -418.84259 134.575699 l -420.31836 134.25946 l -420.26566 133.468887 l -423.16446 132.203949 l -421.84683 132.045837 l -h -214.45042 131.097122 m -212.07867 130.912659 l -208.17847 130.438309 l -207.70412 129.64772 l -207.4933 128.909851 l -206.07024 128.27739 l -203.01332 128.092911 l -201.32674 127.644913 l -201.85381 127.038803 l -204.91072 127.144211 l -206.49188 127.618561 l -209.3907 127.592209 l -210.65562 128.092911 l -210.3394 128.646317 l -212.02597 128.962555 l -212.92197 129.305145 l -214.92477 129.384201 l -217.033 129.489609 l -219.35205 129.17337 l -222.35626 129.067963 l -224.72801 129.17337 l -226.30917 129.726791 l -226.62541 130.332901 l -225.72942 130.701843 l -223.51578 131.018066 l -221.6711 130.833603 l -217.45465 131.07077 l -214.45042 131.097122 l -h -163.642258 128.567261 m -166.119431 127.486801 l -169.12364 126.538101 l -171.38998 126.538101 l -173.39279 126.327278 l -173.18198 127.460449 l -172.07515 127.961151 l -170.7048 128.040207 l -167.96413 128.672668 l -165.645081 128.883499 l -163.642258 128.567261 l -h -415.04779 183.90811 m -415.52216 184.98857 l -416.89249 185.27844 l -417.94659 186.01633 l -420.00214 186.27986 l -422.32117 185.88457 l -422.42657 185.54198 l -422.16306 184.51422 l -422.37387 182.98576 l -421.21436 182.48505 l -421.63599 181.48364 l -420.63458 181.40459 l -420.95084 180.16602 l -422.32117 180.50859 l -423.63879 180.06059 l -422.58469 179.1646 l -422.16306 178.34767 l -420.95084 178.71661 l -420.79269 179.77072 l -420.37106 178.82202 l -420.26566 178.47943 l -420.63458 177.87332 l -420.37106 177.34627 l -418.68448 176.84557 l -417.99933 175.55428 l -417.20874 175.18533 l -417.15604 174.68463 l -418.57907 174.84274 l -418.63177 173.76228 l -419.84399 173.5251 l -421.16165 173.73593 l -421.42517 172.31288 l -421.16165 171.41689 l -419.68588 171.46959 l -418.42096 171.127 l -416.73438 171.75948 l -415.36404 172.0757 l -414.73157 172.94534 l -413.30853 173.18253 l -411.83276 174.68463 l -413.15039 176.08133 l -413.04498 177.08273 l -414.62616 178.79567 l -415.41675 179.55989 l -416.15463 180.61401 l -416.83978 180.66672 l -417.26144 181.062 l -416.04919 181.19377 l -415.78568 182.32693 l -415.57486 182.82764 l -414.99509 183.17023 l -415.04779 183.90811 l -h -607 144.880234 m -605.10406 145.538452 l -603.20667 145.433044 l -604.52429 146.197281 l -605.42029 147.4095 l -606.10547 147.804794 l -606.26361 148.410904 l -605.89465 148.806198 l -603.15393 148.463608 l -599.04291 149.570435 l -597.72528 149.754898 l -595.51166 150.782654 l -593.40344 151.67865 l -592.82367 152.337479 l -590.76813 151.33606 l -586.92065 152.469238 l -586.28821 151.942184 l -584.86511 152.548294 l -582.91504 152.363831 l -582.44067 153.312531 l -580.70142 154.73558 l -580.75409 155.34169 l -582.38794 155.657928 l -582.17712 157.792496 l -580.8595 157.8452 l -580.22705 159.057434 l -580.80682 159.689896 l -578.27692 160.454132 l -577.74988 162.114349 l -575.58893 162.483292 l -575.11462 163.959045 l -573.00635 165.329391 l -572.47931 164.327988 l -571.84686 162.193405 l -571.05627 158.925674 l -571.74146 156.8965 l -572.95367 156.026855 l -573.05908 155.34169 l -575.32544 155.025452 l -577.96069 153.180756 l -580.43787 151.652298 l -583.07312 150.492783 l -584.28534 148.437256 l -582.49335 148.542664 l -581.59741 149.754898 l -577.90802 151.362411 l -576.69574 149.570435 l -572.90094 150.071136 l -569.26428 152.521942 l -570.4765 153.417938 l -567.20874 153.78688 l -564.94244 153.944992 l -565.04785 152.890884 l -562.78149 152.680054 l -560.93683 153.391586 l -556.45685 153.128052 l -551.66064 153.57605 l -546.91711 156.42215 l -541.33032 159.874374 l -543.59668 160.058838 l -544.33453 160.981186 l -545.75763 161.297424 l -546.7063 160.585892 l -548.28748 160.664948 l -550.39569 162.272476 l -550.44836 163.537399 l -549.34155 164.986801 l -549.18347 166.726089 l -548.55096 169.07149 l -546.33734 171.20607 l -545.86304 172.20747 l -543.86023 173.92039 l -541.85736 175.60698 l -540.96136 176.47662 l -538.95856 177.31992 l -538.06256 177.34627 l -537.16656 176.63474 l -535.16376 177.71519 l -534.95294 178.18954 l -534.37317 178.11049 l -533.74072 178.61119 l -533.31909 179.11189 l -533.37177 180.13966 l -532.63391 180.48224 l -532.37036 180.74577 l -531.79065 181.16742 l -530.84192 181.40459 l -530.20947 181.79988 l -530.15674 182.43234 l -529.99866 182.59047 l -530.57837 182.82764 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -527.52148 184.46152 l -527.31067 184.72504 l -526.88904 184.85681 l -526.8363 184.59328 l -526.46735 184.43517 l -526.04572 184.22433 l -526.46735 183.56552 l -526.8363 183.40739 l -526.67816 183.11752 l -527.04712 182.35329 l -526.94171 182.08977 l -526.09845 181.93164 l -525.41327 181.53635 l -523.35773 181.98434 l -522.30365 182.66953 l -520.72247 183.06482 l -521.51306 182.37964 l -521.19678 181.79988 l -522.35632 180.82483 l -521.56573 180.06059 l -520.30084 180.58765 l -518.61426 181.58907 l -517.71826 182.53777 l -516.29517 182.61682 l -515.55731 183.30199 l -516.3479 184.27704 l -517.50745 184.51422 l -517.56012 185.17303 l -518.71967 185.59468 l -520.35352 184.56693 l -521.67114 185.12033 l -522.61987 185.17303 l -522.83069 185.93727 l -520.77515 186.35892 l -520.08997 187.14949 l -518.66693 187.86102 l -517.92908 188.88878 l -519.51025 189.70572 l -520.08997 191.12877 l -520.98596 192.47276 l -521.93469 193.60593 l -521.93469 194.68639 l -521.0387 195.08168 l -521.35492 195.87227 l -522.25092 196.32027 l -521.98737 197.53249 l -521.61847 198.69202 l -520.82788 198.82378 l -519.72107 200.40495 l -518.56152 202.3287 l -517.19116 204.06798 l -515.18835 205.41197 l -513.13287 206.65056 l -511.49899 206.80867 l -510.603 207.46748 l -510.07593 206.99313 l -509.28534 207.73102 l -507.22983 208.44255 l -505.70139 208.67972 l -505.17432 210.23453 l -504.38373 210.3136 l -503.9621 209.23312 l -504.33102 208.67972 l -502.38092 208.20537 l -501.69574 208.44255 l -499.74564 209.70747 l -498.48071 211.07782 l -498.16449 212.10558 l -499.32401 213.63405 l -500.64163 215.5578 l -502.01199 216.4538 l -502.90799 217.63966 l -503.54044 220.354 l -503.38232 222.91022 l -502.1174 223.88527 l -500.48352 224.83397 l -499.2713 226.0462 l -497.42661 227.41655 l -496.89954 226.46785 l -497.3212 225.4928 l -496.21436 224.64951 l -495.00214 224.43867 l -494.42239 223.67445 l -493.68451 222.17235 l -492.36685 221.48717 l -491.10193 221.51352 l -491.31274 220.354 l -490.04782 220.38036 l -489.94241 221.98787 l -489.15182 224.12245 l -488.62476 225.41374 l -488.73019 226.46785 l -489.67889 226.52055 l -490.31134 227.86455 l -490.57486 229.12947 l -491.36545 229.97276 l -492.26144 230.13089 l -492.99933 230.89511 l -493.36826 231.02687 l -494.21155 231.92287 l -494.84402 232.89792 l -494.94943 233.87297 l -494.79132 234.5318 l -494.89673 235.05885 l -495.00214 235.90215 l -495.52921 236.32379 l -496.10895 237.61507 l -496.05624 238.11578 l -495.05484 238.19484 l -493.63181 237.11436 l -491.94522 235.95485 l -491.73441 235.21696 l -490.89111 234.24191 l -490.6803 233.02969 l -490.15323 232.21275 l -490.36404 231.15865 l -489.99512 230.52617 l -489.41534 229.97276 l -489.20453 229.26125 l -488.41394 228.41795 l -487.67606 227.73277 l -487.46524 228.60242 l -487.20172 227.78549 l -487.35983 226.86314 l -487.78149 225.46645 l -487.62335 224.35962 l -488.09772 223.25281 l -487.57065 222.38316 l -487.72876 220.802 l -487.09631 220.03777 l -486.62195 218.27213 l -486.35843 216.42743 l -485.72595 215.21521 l -484.77725 215.95308 l -483.0907 217.0072 l -482.30011 216.87543 l -481.40411 216.53285 l -481.87845 214.71451 l -481.56223 213.34416 l -480.45541 211.65758 l -480.61353 211.13052 l -479.77023 210.94606 l -478.71613 209.73383 l -478.29446 208.9696 l -478.24176 208.23172 l -477.92554 207.5202 l -477.34576 206.67691 l -475.97543 206.62421 l -476.13354 207.23032 l -475.65921 208.0209 l -475.02673 207.73102 l -474.81592 207.99455 l -474.39426 207.83643 l -473.81451 207.70467 l -473.60367 208.25807 l -472.60226 208.23172 l -470.8103 208.52161 l -470.91571 209.62842 l -470.12512 210.49806 l -468.01691 211.47311 l -466.38303 213.2124 l -465.27621 214.13475 l -463.80045 215.08345 l -463.80045 215.76862 l -463.11526 216.11121 l -461.79764 216.63826 l -461.11246 216.71732 l -460.63812 217.85049 l -460.95435 219.74789 l -461.00705 220.96011 l -460.42731 222.35681 l -460.42731 224.83397 l -459.63672 224.91304 l -459.00424 226.01985 l -459.42587 226.52055 l -458.10825 226.91585 l -457.58118 227.91725 l -457.00143 228.3389 l -455.63107 226.96855 l -454.94592 224.91304 l -454.36615 223.43727 l -453.89182 222.75211 l -453.10123 221.35541 l -452.73227 219.51071 l -452.46875 218.61472 l -451.15112 216.58556 l -450.51865 213.76581 l -450.09702 211.86841 l -450.09702 210.10277 l -449.83347 208.73242 l -447.67255 209.60207 l -446.67114 209.44395 l -444.77374 207.65196 l -445.45892 207.12491 l -445.03726 206.5715 l -443.29797 205.30656 l -442.24387 204.93762 l -441.76953 203.88351 l -440.66272 202.7767 l -437.97473 203.06657 l -435.60297 203.09293 l -433.54745 203.2774 l -430.75406 202.85576 l -429.17288 202.51317 l -427.53903 202.3287 l -426.90656 200.53671 l -426.22137 200.27318 l -425.06186 200.53671 l -423.58609 201.22188 l -421.79413 200.74753 l -420.31836 199.61436 l -418.89529 199.21907 l -417.94659 197.82237 l -416.83978 195.87227 l -416.04919 196.10944 l -415.1532 195.60873 l -414.57346 196.18851 l -413.73016 196.10944 l -414.04639 196.76826 l -413.88828 197.11086 l -414.36264 198.19131 l -414.94238 199.45624 l -415.68027 199.79883 l -415.94379 200.32588 l -416.89249 200.93201 l -416.99789 201.53812 l -416.83978 202.01247 l -417.05063 202.51317 l -417.47226 202.93481 l -417.68307 203.40916 l -417.89389 203.75175 l -417.78848 202.69763 l -418.15744 201.93341 l -418.57907 201.77528 l -419.00073 202.22328 l -419.05344 203.09293 l -418.73718 203.93622 l -419.00073 204.51598 l -419.26425 204.43692 l -419.31696 204.83221 l -420.47647 204.59503 l -421.68869 204.64775 l -422.58469 204.70045 l -423.58609 203.69904 l -424.64023 202.75034 l -425.58893 201.85435 l -426.01056 201.35365 l -426.16867 201.48541 l -426.06326 202.09152 l -425.85245 202.35506 l -426.06326 203.51457 l -426.69574 204.51598 l -427.53903 205.04303 l -428.59314 205.22751 l -429.48914 205.49103 l -430.12158 206.33432 l -430.54324 206.83502 l -431.07028 207.0195 l -431.07028 207.33572 l -430.54324 208.20537 l -430.27972 208.62701 l -429.64725 209.10136 l -429.12018 210.10277 l -428.43503 210.02371 l -428.17148 210.3663 l -427.90796 211.10417 l -428.11877 212.07922 l -427.96066 212.2637 l -427.27548 212.2637 l -426.37949 212.81711 l -426.22137 213.52863 l -425.90515 213.81851 l -424.95645 213.81851 l -424.42938 214.18745 l -424.42938 214.76721 l -423.69153 215.18886 l -422.90094 215.0571 l -421.89954 215.53145 l -421.26706 215.63686 l -420.21295 216.0058 l -419.89673 216.66461 l -419.84399 217.16531 l -418.42096 217.79778 l -416.04919 218.4566 l -414.78427 219.51071 l -414.09909 219.58977 l -413.67746 219.48436 l -412.83417 220.09047 l -411.88547 220.38036 l -410.67325 220.45941 l -410.30429 220.53847 l -409.98807 220.93376 l -409.56644 221.03917 l -409.35559 221.40811 l -408.61774 221.38176 l -408.14337 221.56622 l -407.14197 221.51352 l -406.77304 220.64388 l -406.82574 219.8533 l -406.56219 219.4053 l -406.29868 218.32484 l -405.87704 217.71872 l -406.14056 217.66602 l -406.03516 216.98085 l -406.19327 216.71732 l -406.14056 216.0585 l -405.92975 215.45238 l -405.50809 215.00438 l -405.40268 214.42462 l -404.61209 213.89757 l -403.8215 212.659 l -403.45258 211.47311 l -402.39847 210.47171 l -401.76599 210.23453 l -400.81729 208.83783 l -400.60648 207.81007 l -400.71188 206.94043 l -399.86859 205.33292 l -399.18344 204.75316 l -398.39285 204.43692 l -397.86578 203.61998 l -397.97119 203.2774 l -397.54956 202.51317 l -397.1279 202.19693 l -396.54816 201.11647 l -395.65216 199.9306 l -394.91428 198.92918 l -394.17639 198.92918 l -394.43994 198.11226 l -394.49265 197.61156 l -394.65076 197.03178 l -394.59805 196.82097 l -394.2291 197.40073 l -393.91287 198.50754 l -393.49124 199.27177 l -393.17499 199.53531 l -392.64795 199.06096 l -392.01547 198.40213 l -390.96136 196.29391 l -390.80325 196.42567 l -391.4357 197.98048 l -392.3317 199.45624 l -393.43851 201.72258 l -393.96558 202.51317 l -394.43994 203.35646 l -395.75757 204.96397 l -395.44135 205.22751 l -395.49405 206.17621 l -397.23331 207.49385 l -397.44415 207.78372 l -397.91849 209.23312 l -397.60226 209.49666 l -397.81308 210.99876 l -398.39285 212.73805 l -398.91989 213.10698 l -399.71048 213.6604 l -400.55377 215.34697 l -400.9754 216.69096 l -401.76599 217.4025 l -403.7688 218.79919 l -404.61209 219.61612 l -405.40268 220.45941 l -405.82434 220.96011 l -406.56219 221.40811 l -406.93115 221.85611 l -406.87845 222.46222 l -406.03516 222.83116 l -406.6676 223.22646 l -407.14197 223.48997 l -407.40549 224.0961 l -408.09067 224.70221 l -408.82855 224.70221 l -410.19888 224.33327 l -411.78006 224.17516 l -413.09769 223.70081 l -413.78287 223.62175 l -414.30994 223.35822 l -415.1532 223.30551 l -415.62756 223.27916 l -416.31274 223.04199 l -417.05063 222.91022 l -417.78848 222.40952 l -418.31555 222.40952 l -418.36826 222.80481 l -418.21014 223.6481 l -418.21014 224.41232 l -417.89389 224.93939 l -417.52496 226.54691 l -416.78708 228.18077 l -415.89108 230.02547 l -414.62616 232.1864 l -413.41394 233.82027 l -411.67465 235.82309 l -410.19888 237.00896 l -407.98526 238.45836 l -406.6676 239.56519 l -405.03375 241.35716 l -404.7175 242.1214 l -404.40128 242.46399 l -403.34717 243.04375 l -402.97824 243.64986 l -402.45117 243.75526 l -402.24036 244.80939 l -401.76599 245.38914 l -401.50247 246.3642 l -400.87 246.83855 l -400.23755 248.65689 l -400.29025 249.47383 l -401.23895 250.00089 l -401.29166 250.39618 l -400.87 251.26581 l -400.9754 251.71381 l -400.87 252.42534 l -401.39706 253.34769 l -401.97684 254.77074 l -402.50388 255.11333 l -402.7674 255.77214 l -402.71469 257.22156 l -402.8728 258.51282 l -402.92554 260.77917 l -403.18906 261.51706 l -402.7674 262.5448 l -402.18765 263.57257 l -401.23895 264.46857 l -399.9213 265.02197 l -398.28745 265.73349 l -396.60086 267.31467 l -396.07379 267.57819 l -395.01968 268.63229 l -394.43994 268.97488 l -394.2818 270.00266 l -395.01968 271.10947 l -395.2832 271.9791 l -395.2832 272.40076 l -395.54675 272.34805 l -395.49405 273.77109 l -395.2832 274.45627 l -395.59946 274.69345 l -395.38864 275.3259 l -394.80887 275.8266 l -393.59665 276.3273 l -391.80466 277.11789 l -391.17218 277.6713 l -391.33029 278.2774 l -391.69925 278.38281 l -391.54111 279.14706 l -391.17218 280.20117 l -391.01407 281.43976 l -390.64514 282.09857 l -389.64371 282.83646 l -389.38019 283.04727 l -388.74771 283.78516 l -388.32608 284.54938 l -387.48279 285.57715 l -385.84891 287.10559 l -384.7948 287.97525 l -383.68799 288.63406 l -382.15955 289.21381 l -381.42166 289.29288 l -381.26355 289.68817 l -380.36755 289.47736 l -379.62967 289.74088 l -378.04849 289.47736 l -377.1525 289.6618 l -376.57275 289.58276 l -375.04428 290.16251 l -373.77936 290.37335 l -372.88336 290.92676 l -372.19818 290.97946 l -371.61841 290.45239 l -371.09137 290.42606 l -370.45889 289.76724 l -370.40619 289.97806 l -370.19537 289.58276 l -370.19537 288.7131 l -369.72101 287.73807 l -370.19537 287.47455 l -370.19537 286.34137 l -369.19397 284.97101 l -368.45609 283.73245 l -367.40198 281.83505 l -366.34787 280.72821 l -365.7681 279.64777 l -365.45187 278.2247 l -365.08292 277.17059 l -364.60858 274.9306 l -364.55588 273.16498 l -364.39777 272.37439 l -363.81799 271.76828 l -363.0274 270.55606 l -362.28952 268.79041 l -361.9733 267.86807 l -360.76108 266.44501 l -360.65567 265.3382 l -360.55026 264.41586 l -360.76108 263.12457 l -361.23541 261.78058 l -361.34082 261.1481 l -361.81519 259.83047 l -362.13141 259.22437 l -362.9747 258.27567 l -363.44907 257.61682 l -363.60718 256.53638 l -363.55447 255.71944 l -363.08011 255.19238 l -362.71118 254.29639 l -362.34222 253.42674 l -362.44766 253.1105 l -362.86929 252.53075 l -362.44766 251.1077 l -362.13141 250.13264 l -361.39352 249.2103 l -361.55167 248.92041 l -361.34082 248.47241 l -360.91919 247.3656 l -359.75967 245.83714 l -358.2312 244.33504 l -357.2825 243.14915 l -356.38651 241.6207 l -356.43921 241.14635 l -356.75546 240.672 l -357.12439 239.61789 l -357.38791 238.51106 l -357.12439 238.30025 l -357.65146 236.66637 l -357.86227 235.50685 l -357.2825 234.5318 l -356.59732 234.29462 l -356.2811 233.6358 l -355.91217 233.42499 l -355.96487 233.00334 l -354.4364 233.5304 l -353.85663 233.45134 l -353.32959 233.79391 l -352.11737 233.76756 l -351.32678 232.84521 l -350.85242 231.79111 l -349.85101 230.81606 l -348.7442 230.84241 l -347.42657 230.84241 l -346.21432 231.00052 l -345.05481 231.31676 l -342.73578 232.1864 l -341.94519 232.6871 l -340.62753 233.10875 l -339.30991 232.6871 l -338.67743 232.71346 l -337.62332 232.42357 l -336.67462 232.42357 l -334.93533 232.6871 l -333.93393 233.10875 l -332.51089 233.66216 l -332.19467 233.60945 l -331.82571 233.6358 l -330.29724 232.92427 l -328.97961 231.81746 l -327.71469 231.00052 l -326.76599 230.07817 l -326.34433 229.94641 l -325.29022 229.36665 l -324.55234 228.57607 l -324.28882 228.04901 l -324.13071 226.96855 l -323.44553 226.09891 l -322.91849 225.51915 l -322.49683 225.33467 l -322.1806 225.0448 l -321.96979 224.41232 l -321.75894 224.06975 l -321.33731 223.83257 l -320.54672 223.22646 l -319.96698 223.12105 l -319.59802 222.72575 l -319.65073 222.48857 l -319.17639 222.17235 l -319.07098 221.88246 l -318.86014 220.7493 l -319.01828 220.09047 l -318.43851 218.95731 l -317.70062 218.43025 l -318.3331 218.16672 l -319.07098 217.13896 l -319.38721 216.37473 l -319.2818 215.58415 l -319.70343 214.87262 l -319.86154 213.50227 l -319.70343 212.05287 l -319.54532 211.315 l -319.65073 210.57712 l -319.2818 209.89195 l -318.54391 209.25948 l -318.59662 208.62701 l -318.64932 207.9682 l -319.2291 207.57291 l -319.70343 206.80867 l -319.59802 206.30797 l -320.12509 205.28021 l -320.91568 204.33151 l -321.39001 204.09433 l -321.81165 203.25105 l -321.81165 202.46046 l -322.33871 201.56447 l -323.34012 201.03741 l -324.28882 199.53531 l -325.0267 198.95554 l -326.39703 198.79742 l -327.55658 197.79602 l -328.29443 197.40073 l -329.50668 196.18851 l -329.13773 194.37016 l -329.66479 193.10522 l -329.87561 192.34099 l -330.82431 191.33958 l -332.30008 190.68077 l -333.40689 190.07466 l -334.35559 188.54619 l -334.82993 187.65019 l -335.88403 187.65019 l -336.78003 188.28267 l -338.15039 188.17726 l -339.67883 188.49348 l -340.31131 188.51984 l -341.73438 187.72926 l -343.31552 187.46573 l -344.21152 186.85962 l -345.63458 186.41162 l -348.11172 186.14809 l -350.53619 186.04268 l -351.27408 186.25349 l -352.64441 185.67374 l -354.22559 185.67374 l -354.80533 186.01633 l -355.80676 185.91092 l -357.44061 185.33116 l -358.44202 185.48927 l -358.38931 186.22714 l -359.65427 185.70009 l -359.75967 185.98997 l -359.02179 186.70149 l -359.02179 187.38667 l -359.49612 187.72926 l -359.33801 188.99419 l -358.33661 189.73207 l -358.65286 190.54901 l -359.39072 190.57536 l -359.75967 191.26053 l -360.33942 191.49771 l -362.026 191.99841 l -362.65848 191.86664 l -363.8707 192.10382 l -365.8208 192.76263 l -366.50598 194.08028 l -367.82361 194.34381 l -369.87912 194.97627 l -371.4603 195.68781 l -372.14548 195.31886 l -372.83066 194.63368 l -372.5144 193.52687 l -372.98877 192.81534 l -374.04288 192.13017 l -375.04428 191.91936 l -376.99438 192.20923 l -377.52145 192.86806 l -378.04849 192.86806 l -378.52286 193.13158 l -379.9986 193.28969 l -380.31485 193.79039 l -382.26495 193.76404 l -383.68799 194.15933 l -385.16376 194.58098 l -385.84891 194.81816 l -386.95575 194.34381 l -387.53549 193.92216 l -388.85315 193.81676 l -389.90726 194.00122 l -390.27618 194.71274 l -390.64514 194.23839 l -391.80466 194.58098 l -392.96417 194.66003 l -393.64935 194.29111 l -394.07098 193.81676 l -393.96558 193.73769 l -394.38721 193.05252 l -394.65076 191.94571 l -394.86157 191.57677 l -394.91428 191.55042 l -395.44135 190.36453 l -396.1792 189.33678 l -396.1792 189.28407 l -396.07379 188.15091 l -396.44275 187.57114 l -395.86298 186.88597 l -396.44275 186.35892 l -395.54675 186.46432 l -394.3345 186.14809 l -393.3331 186.96503 l -391.06677 187.14949 l -389.90726 186.35892 l -388.32608 186.30621 l -388.00986 186.91232 l -386.95575 187.09679 l -385.58539 186.30621 l -383.95151 186.33257 l -383.10825 184.88316 l -382.0014 184.06622 l -382.73929 182.93304 l -381.79059 182.22153 l -383.42447 180.82483 l -385.6908 180.77213 l -386.32327 179.66531 l -389.11667 179.84978 l -390.85596 178.90108 l -392.54254 178.47943 l -394.96698 178.45308 l -397.54956 179.48083 l -399.65778 180.06059 l -401.34436 179.82343 l -402.60928 179.95518 l -404.34857 179.19096 l -404.55939 178.55849 l -404.19046 177.58344 l -403.34717 177.03003 l -402.50388 176.87192 l -401.97684 176.42392 l -400.13214 175.18533 l -398.44556 174.63193 l -397.1806 173.76228 l -398.23474 173.5251 l -399.44696 172.31288 l -398.65637 171.73312 l -400.81729 171.127 l -400.76459 170.81078 l -399.44696 171.04794 l -398.28745 171.15335 l -397.33875 171.6277 l -395.96838 171.70677 l -394.70346 172.26018 l -394.75616 173.18253 l -395.49405 173.5251 l -396.96979 173.44604 l -396.70627 173.94675 l -395.07239 174.21028 l -393.12228 175.05357 l -392.27899 174.76369 l -392.59525 174.07852 l -391.01407 173.65688 l -391.27759 173.36699 l -392.64795 172.86629 l -392.22629 172.55005 l -389.95996 172.18112 l -389.85455 171.6277 l -388.5369 171.81218 l -387.95715 172.60277 l -386.85031 173.68323 l -386.85031 174.07852 l -386.16516 174.39474 l -385.6908 174.26299 l -385.32187 176.02863 l -384.53128 176.63474 l -384.00421 177.66249 l -384.47858 178.50578 l -384.63669 179.05919 l -385.95435 179.53354 l -385.6908 179.90248 l -383.95151 179.98154 l -383.31906 180.42953 l -382.10681 181.22012 l -381.63248 180.53494 l -381.63248 180.24507 l -380.73648 180.19237 l -379.9986 180.06059 l -378.2066 180.42953 l -379.20801 181.27283 l -378.47015 181.50999 l -377.67957 181.50999 l -376.88898 180.74577 l -376.62546 181.062 l -376.94168 181.93164 l -377.67957 182.61682 l -377.1525 182.95941 l -377.94308 183.61823 l -378.68097 184.03987 l -378.68097 184.88316 l -377.36331 184.48787 l -377.78497 185.22574 l -376.83627 185.38387 l -377.41602 186.67514 l -376.41461 186.70149 l -375.20239 186.06903 l -374.67535 184.88316 l -374.4118 183.90811 l -373.83206 183.24928 l -373.09418 182.40599 l -372.98877 181.98434 l -372.72522 181.87894 l -372.72522 181.56271 l -371.93466 181.08836 l -371.77652 180.37683 l -371.88196 179.37543 l -372.09277 178.92743 l -371.88196 178.69025 l -371.5657 178.58484 l -371.14407 178.11049 l -370.5116 177.82062 l -369.14127 177.2672 l -368.29797 176.74014 l -366.92761 176.3185 l -365.71539 175.23804 l -366.03162 175.13263 l -365.34647 174.50017 l -365.29376 174.02582 l -364.39777 173.78864 l -363.9234 174.4211 l -363.50177 173.92039 l -363.50177 173.41969 l -363.55447 173.39334 l -363.9234 173.26158 l -362.76389 173.05075 l -361.55167 173.57782 l -361.60437 174.28934 l -361.44626 174.71098 l -361.92059 175.44887 l -363.29092 176.18674 l -364.02881 177.39897 l -365.66269 178.58484 l -366.8222 178.58484 l -367.19116 178.90108 l -366.7695 179.19096 l -368.08716 179.71802 l -369.14127 180.16602 l -370.40619 180.93024 l -370.5643 181.19377 l -370.30078 181.72083 l -369.45749 181.03564 l -368.19257 180.79848 l -367.56009 181.74718 l -368.6142 182.27423 l -368.45609 183.03847 l -367.87631 183.14388 l -367.08575 184.38246 l -366.45328 184.51422 l -366.45328 184.06622 l -366.7695 183.27563 l -367.08575 182.95941 l -366.50598 182.11612 l -366.08432 181.37823 l -365.45187 181.19377 l -365.03021 180.56129 l -364.08151 180.29778 l -363.44907 179.69167 l -362.34222 179.61259 l -361.23541 178.95378 l -359.86508 178.00508 l -358.86368 177.16179 l -358.44202 175.71239 l -357.70416 175.52792 l -356.49191 175.05357 l -355.85947 175.23804 l -355.01617 175.92322 l -354.3837 176.02863 l -353.06607 176.87192 l -350.16727 176.47662 l -348.05902 176.95097 l -347.84821 177.82062 l -347.95361 178.66389 l -346.58328 179.63895 l -344.68588 179.95518 l -344.58047 180.45589 l -343.63177 181.27283 l -343.10471 182.45869 l -343.68448 183.30199 l -342.84119 183.93446 l -342.52493 184.88316 l -341.41812 185.19939 l -340.36401 186.30621 l -338.51932 186.33257 l -337.09628 186.30621 l -336.20029 186.83327 l -335.62051 187.38667 l -334.93533 187.25491 l -334.35559 186.75421 l -333.93393 185.91092 l -332.5636 185.70009 l -331.98383 186.06903 l -331.24597 185.85822 l -330.45538 186.01633 l -330.7189 184.88316 l -330.56079 183.98717 l -329.92831 183.85539 l -329.55939 183.30199 l -329.66479 182.32693 l -330.24454 181.79988 l -330.34998 181.22012 l -330.6662 180.32413 l -330.61349 179.71802 l -330.34998 179.19096 l -330.29724 178.69025 l -330.34998 177.63614 l -329.7702 177.00368 l -331.82571 175.94957 l -333.61771 176.21309 l -335.56781 176.21309 l -337.14899 176.45027 l -338.36121 176.39757 l -340.73297 176.42392 l -341.47083 175.55428 l -341.73438 172.62912 l -340.25861 171.10065 l -339.15179 170.36278 l -336.93817 169.80937 l -336.78003 168.7289 l -338.67743 168.41267 l -341.1546 168.7816 l -340.68027 167.121384 l -342.0506 167.753845 l -345.47647 166.620682 l -345.8981 165.408447 l -347.16302 165.118576 l -348.37527 164.82869 l -349.11313 164.433395 l -350.37808 162.272476 l -352.38089 161.666351 l -353.59311 161.719055 l -353.90936 161.402832 l -355.12158 161.323776 l -355.3851 161.639999 l -356.38651 160.928482 l -356.07028 160.375076 l -355.96487 159.531784 l -355.3851 158.714844 l -355.3324 157.23909 l -355.59592 156.843796 l -356.01758 156.395798 l -357.2825 156.316742 l -357.80957 155.895096 l -358.96909 155.499802 l -358.91638 156.237686 l -358.49472 156.712036 l -358.70557 157.133682 l -359.49612 157.344498 l -359.1272 157.897903 l -358.70557 157.739792 l -357.65146 158.7939 l -358.02039 159.505432 l -358.07309 160.08519 l -359.54886 160.42778 l -359.49612 160.928482 l -361.0246 160.664948 l -361.81519 160.269653 l -363.50177 160.849426 l -364.18692 161.297424 l -365.18835 160.875778 l -367.45468 160.190598 l -369.29938 159.689896 l -370.77512 159.95343 l -370.88055 160.296005 l -372.30359 160.322357 l -372.61981 159.689896 l -374.62265 159.215546 l -374.3064 157.976974 l -374.3591 156.870148 l -375.09698 155.9478 l -376.46732 155.447098 l -377.62686 156.553909 l -378.78638 156.527557 l -379.1026 155.394394 l -379.26071 154.52475 l -378.73367 154.709229 l -377.78497 154.208527 l -377.67957 153.365234 l -379.52426 152.943588 l -381.36896 152.732758 l -382.9501 152.96994 l -384.47858 152.943588 l -386.11246 152.126648 l -384.58398 151.441483 l -381.9487 151.54689 l -379.36615 152.073944 l -376.99438 152.390182 l -376.15109 151.599594 l -374.72806 151.098892 l -375.04428 149.675842 l -374.3064 148.3582 l -375.04428 147.488556 l -376.36191 146.566208 l -379.68237 144.985046 l -380.68378 144.69516 l -380.52567 144.062698 l -378.47015 143.377533 l -375.99298 143.799164 l -374.56992 144.800583 l -374.78076 145.696564 l -372.4617 146.882446 l -369.6156 148.147385 l -368.56149 150.202896 l -369.6156 151.230652 l -370.98596 152.047592 l -369.6683 153.707809 l -368.13986 154.0504 l -367.56009 156.501205 l -366.7695 157.871552 l -364.97751 157.739792 l -364.13422 158.899307 l -362.44766 158.952026 l -361.9733 157.58168 l -360.76108 155.921448 l -359.65427 153.839584 l -358.65286 152.943588 l -355.75403 154.630157 l -353.80392 154.972748 l -351.80112 154.234879 l -351.27408 152.653702 l -350.79971 149.280548 l -352.17007 148.331848 l -356.01758 147.119614 l -358.91638 145.591156 l -361.60437 143.561996 l -365.08292 140.742249 l -367.56009 139.635437 l -371.5657 137.790741 l -374.78076 137.158264 l -377.2052 137.237335 l -379.41885 136.025101 l -382.10681 136.077805 l -384.7421 135.787918 l -389.32748 136.868393 l -387.43008 137.263687 l -389.01126 138.186035 l -390.5397 137.658966 l -392.96417 138.554962 l -396.96979 138.897552 l -402.50388 140.557785 l -403.61069 141.24295 l -403.71609 142.218002 l -402.08224 142.982239 l -399.71048 143.377533 l -393.17499 142.270706 l -392.06818 142.455185 l -394.43994 143.535645 l -394.65076 145.696564 l -396.54816 146.144562 l -397.70767 146.539856 l -397.86578 145.828339 l -396.96979 145.16951 l -397.91849 144.642456 l -401.44977 145.538452 l -402.71469 145.195862 l -401.71329 144.115402 l -405.13916 142.692352 l -406.45679 142.771408 l -407.82715 143.27211 l -408.67044 142.270706 l -407.45819 141.401062 l -408.19608 140.531433 l -407.08926 139.609085 l -411.20029 140.083435 l -412.04358 140.90036 l -410.19888 141.084839 l -410.19888 141.901764 l -411.3584 142.402466 l -413.62476 142.086243 l -413.99368 141.163895 l -417.05063 140.452362 l -422.16306 139.187439 l -423.21716 139.266495 l -421.79413 140.162491 l -423.63879 140.320602 l -424.64023 139.819901 l -427.38089 139.767197 l -429.59454 139.161087 l -431.22842 140.057083 l -432.91498 139.082016 l -431.38654 138.238739 l -432.12439 137.738037 l -436.44626 138.186035 l -438.50177 138.634018 l -443.77234 140.320602 l -444.77374 139.556366 l -443.29797 138.792145 l -443.24527 138.475906 l -441.45328 138.317795 l -441.98035 137.632614 l -441.18976 136.499451 l -441.13705 136.025101 l -443.82504 134.707458 l -444.77374 133.363464 l -445.88055 133.073593 l -449.78076 133.468887 l -450.04431 134.285812 l -448.67395 135.471695 l -449.56995 135.919693 l -450.04431 136.947449 l -449.72806 138.950256 l -451.36194 139.846252 l -450.72946 140.847656 l -447.83066 142.903183 l -449.51724 143.14035 l -450.09702 142.613297 l -451.73087 142.218002 l -452.09982 141.506485 l -453.36475 140.794952 l -452.52145 139.978012 l -453.20663 139.00296 l -451.57275 138.897552 l -451.25653 138.080612 l -452.41605 136.604858 l -450.51865 135.418991 l -453.15393 134.417587 l -452.78497 133.389816 l -453.52286 133.337112 l -454.31345 134.154053 l -453.73367 135.577103 l -455.26215 135.840637 l -454.62967 134.786514 l -457.05414 134.206757 l -460.11105 134.127701 l -462.79904 134.970993 l -461.48141 133.758759 l -461.37601 132.177597 l -463.90585 131.887711 l -467.43713 131.966766 l -470.59946 131.755951 l -469.38724 130.991714 l -471.12653 130.043015 l -472.76041 129.990311 l -475.60651 129.278793 l -479.50671 129.067963 l -479.98105 128.672668 l -483.82855 128.540909 l -485.0408 128.857147 l -488.30853 128.092911 l -490.99652 128.119263 l -491.41815 127.486801 l -492.78851 126.854332 l -496.26709 126.248215 l -498.79694 126.722565 l -496.79413 127.091507 l -500.11459 127.328682 l -500.48352 128.040207 l -501.80115 127.697624 l -506.12302 127.697624 l -509.39075 128.409149 l -510.603 128.962555 l -510.23404 129.726791 l -508.60019 130.148422 l -504.75269 130.965363 l -503.64584 131.413361 l -505.49054 131.624191 l -507.65149 131.993118 l -508.96912 131.703247 l -509.707 132.651947 l -510.33945 132.256653 l -512.65851 132.045837 l -517.40198 132.283005 l -517.71826 132.96817 l -523.83209 133.179001 l -523.9375 132.072189 l -527.04712 132.309357 l -529.36615 132.309357 l -531.73792 133.073593 l -532.4231 134.022293 l -531.5271 134.628403 l -533.37177 135.787918 l -535.69086 136.367691 l -537.11389 134.839218 l -539.43292 135.498047 l -541.96277 135.102753 l -544.75616 135.550751 l -545.86304 135.155457 l -548.23474 135.33992 l -547.18066 133.995941 l -549.13074 133.363464 l -562.35986 134.312164 l -563.62476 135.181808 l -567.41956 136.288635 l -573.32263 136.025101 l -576.27411 136.262268 l -577.48633 136.868393 l -577.27551 137.922501 l -579.12024 138.344147 l -581.07031 138.05426 l -583.65289 138.001556 l -586.39362 138.291443 l -589.18701 138.133316 l -591.76953 139.450958 l -593.56152 138.976608 l -592.3493 138.027908 l -593.03448 137.395447 l -597.67261 137.790741 l -600.72949 137.711685 l -604.94592 138.396851 l -607 139.055115 l -607 144.880234 l -h -206.12296 126.511749 m -205.43777 126.564453 l -202.69708 126.459038 l -202.32816 126.063751 l -205.27966 126.090103 l -206.28107 126.35363 l -206.12296 126.511749 l -h -180.61345 125.589401 m -182.66898 125.826576 l -182.19463 126.248215 l -179.45393 126.669861 l -177.293 126.195511 l -178.50523 125.747513 l -180.61345 125.589401 l -h -379.68237 126.037399 m -376.41461 126.617157 l -373.83206 126.300926 l -374.83347 125.905632 l -373.99017 125.431282 l -376.99438 125.141403 l -377.57416 125.694809 l -379.68237 126.037399 l -h -181.0351 124.640701 m -182.98521 124.93058 l -181.19322 125.220459 l -178.76877 125.220459 l -178.76877 125.009636 l -180.29723 124.561638 l -181.0351 124.640701 l -h -201.85381 124.693405 m -203.59308 125.194107 l -203.22414 125.721161 l -201.06322 126.037399 l -199.85098 125.694809 l -199.21852 125.141403 l -199.11311 124.535286 l -201.01051 124.58799 l -201.85381 124.693405 l -h -189.04634 123.902817 m -191.94516 124.11364 l -195.89807 124.640701 l -197.00488 125.352226 l -197.58464 125.958336 l -195.21289 125.800224 l -192.78844 125.325874 l -189.52069 125.246811 l -190.94374 124.825165 l -189.15176 124.482582 l -189.04634 123.902817 l -h -494.05344 123.929176 m -497.74283 124.772461 l -497.3212 125.378578 l -489.04642 125.931984 l -491.73441 124.008232 l -492.94662 123.850113 l -494.05344 123.929176 l -h -365.66269 123.375763 m -366.24246 122.875061 l -368.35068 122.822357 l -370.19537 123.323059 l -375.04428 124.403526 l -371.35489 124.983284 l -370.5643 126.063751 l -369.24667 126.35363 l -368.56149 127.565857 l -366.7695 127.618561 l -363.65988 126.722565 l -364.97751 126.195511 l -362.76389 125.773865 l -359.91779 124.535286 l -358.81097 123.402115 l -362.76389 122.875061 l -363.60718 123.375763 l -365.66269 123.375763 l -h -383.63528 122.796005 m -381.47437 123.586586 l -377.2052 123.771057 l -372.88336 123.533882 l -372.61981 123.112236 l -370.5116 123.085884 l -368.93042 122.427063 l -373.4631 122.005417 l -375.57135 122.374359 l -377.04709 121.926361 l -380.73648 122.295303 l -383.63528 122.796005 l -h -409.14478 122.031776 m -411.99088 121.768242 l -414.25723 121.74189 l -414.52075 122.137184 l -415.36404 121.794601 l -416.73438 121.531067 l -418.94803 121.873657 l -418.36826 122.08448 l -416.41815 122.268951 l -415.10049 122.400711 l -414.88968 122.637886 l -413.15039 122.875061 l -411.56924 122.532478 l -412.41254 122.058128 l -409.14478 122.031776 l -h -480.77164 121.399307 m -483.93396 121.056717 l -486.78006 121.794601 l -490.15323 123.217651 l -489.7843 124.535286 l -486.62195 124.719757 l -482.51093 124.298111 l -480.08646 123.718353 l -478.97964 122.69059 l -476.97684 122.400711 l -480.77164 121.399307 l -h -202.96062 122.005417 m -203.96202 121.557426 l -205.43777 121.452011 l -204.80531 121.109428 l -208.23117 121.056717 l -210.07587 121.820953 l -212.55302 122.137184 l -214.97748 122.427063 l -216.13701 123.375763 l -217.8763 123.850113 l -215.87347 124.298111 l -213.1855 125.40493 l -210.55022 125.510338 l -207.54601 125.325874 l -205.96483 124.719757 l -205.96483 124.192703 l -207.12436 123.797409 l -204.48907 123.797409 l -202.85521 123.323059 l -201.90651 122.664238 l -202.96062 122.005417 l -h -209.44341 120.108017 m -211.60432 119.84449 l -213.29091 119.791786 l -216.18971 119.554611 l -218.35065 119.001205 l -220.14262 119.080261 l -221.7238 119.501907 l -222.83061 118.711319 l -224.78072 118.474144 l -227.416 118.316032 l -231.89597 118.236969 l -232.63385 118.395088 l -236.903 118.157913 l -240.06534 118.236969 l -243.22766 118.342384 l -247.12788 118.447792 l -250.29021 118.632263 l -252.9782 119.027557 l -252.87279 119.422844 l -249.34151 120.055313 l -245.75754 120.371544 l -244.4399 120.687782 l -247.65494 120.687782 l -244.17636 121.583778 l -241.80461 121.979065 l -239.27475 123.191292 l -236.27054 123.428467 l -235.32184 123.718353 l -230.89456 123.876465 l -232.95009 124.060936 l -231.89597 124.324463 l -233.1082 125.035988 l -231.73785 125.53669 l -229.47151 125.958336 l -228.78635 126.538101 l -226.73082 126.986099 l -226.94165 127.30233 l -229.47151 127.249626 l -229.47151 127.592209 l -225.5713 128.488205 l -221.7238 128.066559 l -217.45465 128.303741 l -215.24101 128.119263 l -212.50032 128.040207 l -212.28951 127.355034 l -215.03018 127.012451 l -214.29231 125.958336 l -215.18831 125.852928 l -219.08852 126.48539 l -217.08571 125.563049 l -214.71396 125.273163 l -215.92618 124.693405 l -218.50876 124.350815 l -218.9304 123.850113 l -216.87488 123.270355 l -216.24242 122.532478 l -220.24805 122.585182 l -221.40756 122.743301 l -223.6739 122.21624 l -220.40616 122.031776 l -215.24101 122.137184 l -212.65843 121.636482 l -211.44621 121.056717 l -209.75963 120.608727 l -209.44341 120.108017 l -h -275.06183 119.053909 m -279.96344 118.157913 l -285.0759 118.236969 l -286.9733 117.683563 l -292.13843 117.551804 l -303.83905 117.736267 l -313.00983 118.89579 l -310.26913 119.449203 l -304.68234 119.528259 l -296.77652 119.660019 l -297.5144 119.923553 l -302.73224 119.765434 l -307.10681 120.266136 l -309.95291 119.818138 l -311.16513 120.345192 l -309.58398 121.188484 l -313.32605 120.66143 l -320.44131 120.081665 l -324.81589 120.371544 l -325.60648 121.004013 l -319.65073 122.031776 l -318.80743 122.374359 l -314.16934 122.637886 l -317.54251 122.69059 l -315.85593 123.771057 l -314.64371 124.719757 l -314.69641 126.35363 l -316.4357 127.30233 l -314.16934 127.355034 l -311.7449 127.829384 l -314.4856 128.593613 l -314.80182 129.832199 l -313.22064 129.990311 l -315.11804 131.228897 l -311.90302 131.334305 l -313.5896 131.940414 l -313.11523 132.467468 l -311.05972 132.678299 l -309.00421 132.678299 l -310.84891 133.679703 l -310.84891 134.338516 l -307.9501 133.732407 l -307.21222 134.127701 l -309.16232 134.470291 l -311.11243 135.366287 l -311.6395 136.552155 l -309.05692 136.842041 l -307.8974 136.262268 l -306.10541 135.445343 l -306.63245 136.420395 l -304.89319 137.184616 l -308.74069 137.263687 l -310.7962 137.342743 l -306.84329 138.607666 l -302.89035 139.767197 l -298.62122 140.267899 l -296.98734 140.267899 l -295.45889 140.847656 l -293.45605 142.376114 l -290.29373 143.403885 l -289.29233 143.482941 l -287.34222 143.825516 l -285.23401 144.168106 l -283.96906 145.090454 l -283.96906 146.11821 l -283.1785 147.06691 l -280.80673 148.22644 l -281.38651 149.385956 l -280.75403 150.59819 l -280.01614 152.02124 l -277.96063 152.100296 l -275.79971 150.914429 l -272.84821 150.914429 l -271.42514 150.097488 l -270.47644 148.674438 l -267.89386 146.856094 l -267.15601 145.907394 l -266.99786 144.589752 l -264.94235 143.245758 l -265.46942 142.165298 l -264.52072 141.638245 l -265.94376 139.925308 l -268.15741 139.398254 l -268.73715 138.765793 l -269.05341 137.632614 l -267.36682 138.159668 l -266.57623 138.370499 l -265.25861 138.581314 l -263.46661 138.106964 l -263.36121 137.10556 l -263.94095 136.314987 l -265.25861 136.314987 l -268.26282 136.683914 l -265.73294 135.761566 l -264.46802 135.260864 l -262.99225 135.471695 l -261.78003 135.102753 l -263.41391 133.732407 l -262.51791 133.205353 l -261.35837 132.177597 l -259.56638 130.622772 l -257.72171 130.069366 l -257.72171 129.463257 l -253.82149 128.593613 l -250.71185 128.488205 l -246.81165 128.540909 l -243.22766 128.646317 l -241.54109 128.198318 l -238.95851 127.275978 l -242.80602 126.801628 l -245.75754 126.722565 l -239.48557 126.35363 l -236.21782 125.747513 l -236.37595 125.194107 l -241.96274 124.482582 l -247.286 123.771057 l -247.86575 123.244003 l -243.91284 122.716942 l -245.17776 122.137184 l -250.29021 121.109428 l -252.39844 120.951309 l -251.76596 120.292488 l -255.24454 119.923553 l -259.77722 119.686378 l -264.25717 119.660019 l -265.83835 120.134369 l -269.73856 119.317436 l -273.21713 119.870842 l -275.27264 119.976257 l -278.32956 120.450607 l -274.85101 119.660019 l -275.06183 119.053909 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -2 M -1 w -0 J -0 j -2 M -103.821449 355.04306 m -104.717445 354.51602 l -107.458138 354.75317 l -108.933891 355.20117 l -110.04071 355.72824 l -110.409645 356.38705 l -107.616249 356.57153 l -105.718849 356.07083 l -104.822853 355.54376 l -104.770149 355.46472 l -103.821449 355.04306 l -334.40829 161.139297 m -334.67181 162.193405 l -333.565 163.484695 l -330.98242 164.35434 l -328.87421 164.143524 l -330.08643 162.615051 l -329.29584 161.112946 l -331.29868 159.979782 l -332.40549 159.294601 l -333.61771 159.241898 l -335.19888 160.137894 l -334.40829 161.139297 l -549.92133 243.80798 m -552.45123 244.80939 l -555.13916 245.65266 l -556.14063 246.39055 l -556.98389 247.12843 l -557.1947 247.99806 l -559.61914 248.89406 l -559.9881 249.68465 l -558.67047 249.84276 l -558.98669 250.81781 l -560.30432 251.76651 l -561.25305 253.32133 l -562.04364 253.26863 l -561.99091 253.92744 l -563.15045 254.16463 l -562.67609 254.4545 l -564.25726 255.06061 l -564.09912 255.48225 l -563.15045 255.58768 l -562.78149 255.21873 l -561.51654 255.06061 l -560.04083 254.82344 l -558.88129 253.90109 l -558.03802 253.08415 l -557.30011 251.81923 l -555.40271 251.1604 l -554.13776 251.58205 l -553.24176 252.08275 l -553.45264 253.16321 l -552.29309 253.66391 l -551.44983 253.40039 l -549.97406 253.34769 l -548.65643 252.13545 l -547.18066 251.84558 l -546.81171 252.26723 l -544.96704 252.31993 l -545.59949 251.13405 l -546.49548 250.7124 l -546.12653 249.13124 l -545.38867 247.89265 l -542.59528 246.65408 l -541.38306 246.52231 l -539.16943 245.17831 l -538.74774 245.88985 l -538.16797 246.02161 l -537.85175 245.49455 l -537.85175 244.83574 l -536.74493 244.12421 l -538.27344 243.59715 l -539.32751 243.6235 l -539.22211 243.25456 l -537.06116 243.22821 l -536.48145 242.35858 l -535.16376 242.09505 l -534.58405 241.38351 l -536.53412 241.01459 l -537.27203 240.54024 l -539.64374 241.14635 l -539.85455 241.6734 l -540.27625 244.04515 l -541.80469 244.94115 l -543.01691 243.38634 l -544.70349 242.49034 l -546.02112 242.49034 l -547.23334 242.99104 l -548.34015 243.5181 l -549.92133 243.80798 l -510.7084 233.37227 m -511.28815 232.81886 l -512.50037 232.02829 l -513.65991 231.00052 l -514.39777 229.86736 l -514.97754 229.86736 l -515.71545 230.60524 l -515.76813 231.2377 l -516.76953 231.633 l -517.98175 232.08099 l -517.87634 232.66075 l -516.87494 232.73981 l -517.13849 233.45134 l -516.08435 233.95204 l -515.24109 235.26967 l -516.29517 236.64001 l -516.03168 237.3252 l -517.71826 238.66919 l -515.97894 238.85365 l -515.4519 239.85506 l -515.55731 241.1727 l -514.13428 242.1741 l -514.08154 243.6235 l -513.5545 245.86349 l -513.29095 245.36279 l -511.6571 246.02161 l -511.07733 245.12561 l -510.02322 245.04655 l -509.28534 244.5722 l -507.54605 245.09926 l -507.01901 244.38774 l -506.07031 244.4668 l -504.85809 244.28233 l -504.64725 242.33221 l -503.90939 241.93694 l -503.22421 240.672 l -503.0134 239.38071 l -503.17151 238.03671 l -504.0148 237.06166 l -505.12161 237.56236 l -506.22842 237.29884 l -506.54465 236.06026 l -507.17712 235.77039 l -508.91641 235.45415 l -509.97052 234.29462 l -510.7084 233.37227 l -206.43918 130.227493 m -205.64861 130.807251 l -203.54037 130.701843 l -201.74838 130.306549 l -202.53897 129.64772 l -204.64719 129.252441 l -205.91212 129.779495 l -206.43918 130.227493 l -206.12296 126.511749 m -205.43777 126.564453 l -202.69708 126.459038 l -202.32816 126.063751 l -205.27966 126.090103 l -206.28107 126.35363 l -206.12296 126.511749 l -201.85381 124.693405 m -203.59308 125.194107 l -203.22414 125.721161 l -201.06322 126.037399 l -199.85098 125.694809 l -199.21852 125.141403 l -199.11311 124.535286 l -201.01051 124.58799 l -201.85381 124.693405 l -214.45042 131.097122 m -212.07867 130.912659 l -208.17847 130.438309 l -207.70412 129.64772 l -207.4933 128.909851 l -206.07024 128.27739 l -203.01332 128.092911 l -201.32674 127.644913 l -201.85381 127.038803 l -204.91072 127.144211 l -206.49188 127.618561 l -209.3907 127.592209 l -210.65562 128.092911 l -210.3394 128.646317 l -212.02597 128.962555 l -212.92197 129.305145 l -214.92477 129.384201 l -217.033 129.489609 l -219.35205 129.17337 l -222.35626 129.067963 l -224.72801 129.17337 l -226.30917 129.726791 l -226.62541 130.332901 l -225.72942 130.701843 l -223.51578 131.018066 l -221.6711 130.833603 l -217.45465 131.07077 l -214.45042 131.097122 l -180.61345 125.589401 m -182.66898 125.826576 l -182.19463 126.248215 l -179.45393 126.669861 l -177.293 126.195511 l -178.50523 125.747513 l -180.61345 125.589401 l -181.0351 124.640701 m -182.98521 124.93058 l -181.19322 125.220459 l -178.76877 125.220459 l -178.76877 125.009636 l -180.29723 124.561638 l -181.0351 124.640701 l -246.49541 212.89616 m -247.23329 213.02792 l -247.49681 213.31781 l -247.12788 213.68675 l -246.02106 213.68675 l -245.12506 213.73946 l -245.07236 213.10698 l -245.28319 212.89616 l -246.49541 212.89616 l -229.94586 212.92252 m -230.94727 213.05428 l -231.68515 213.42322 l -231.94867 213.81851 l -230.94727 213.84486 l -230.47292 214.08205 l -229.68234 213.84486 l -228.83905 213.31781 l -228.99716 212.97522 l -229.62962 212.86981 l -229.94586 212.92252 l -223.09415 206.04443 m -224.30637 206.14986 l -225.4659 206.17621 l -226.83624 206.67691 l -227.416 207.20396 l -228.78635 207.04585 l -229.3134 207.38843 l -230.57832 208.28442 l -231.47432 208.94325 l -231.94867 208.94325 l -232.84467 209.23312 l -232.73926 209.65477 l -233.79337 209.70747 l -234.90019 210.3136 l -234.74207 210.65617 l -233.74066 210.84065 l -232.79196 210.91971 l -231.79056 210.78795 l -229.68234 210.94606 l -230.63104 210.12912 l -230.05127 209.73383 l -229.10257 209.62842 l -228.62822 209.20677 l -228.25929 208.38983 l -227.416 208.44255 l -226.04565 208.04726 l -225.62401 207.73102 l -223.72661 207.5202 l -223.19955 207.23032 l -223.77931 206.86137 l -222.30356 206.78232 l -221.24945 207.54655 l -220.66968 207.57291 l -220.45886 207.91548 l -219.72098 208.07361 l -219.08852 207.94185 l -219.8791 207.49385 l -220.19533 206.96678 l -220.88051 206.65056 l -221.61838 206.36067 l -222.7252 206.20256 l -223.09415 206.04443 l -262.09625 164.881393 m -261.30566 165.803741 l -260.35696 167.06868 l -261.30566 166.59433 l -262.30707 166.910553 l -261.78003 167.41127 l -263.09766 167.80655 l -263.73013 167.463974 l -265.20587 167.91197 l -264.78424 168.96608 l -265.78564 168.7289 l -265.99646 169.49313 l -266.41812 170.41548 l -265.83835 171.70677 l -265.15317 171.75948 l -264.20447 171.46959 l -264.52072 170.28372 l -264.09906 170.09924 l -262.41248 171.36418 l -261.51651 171.31148 l -262.57062 170.6263 l -261.14755 170.28372 l -259.56638 170.36278 l -256.72028 170.31007 l -256.50946 169.88843 l -257.40546 169.36137 l -256.77301 168.96608 l -258.03793 168.09644 l -259.51367 165.751038 l -260.46237 164.907745 l -261.72733 164.407043 l -262.41248 164.486099 l -262.09625 164.881393 l -220.7224 144.69516 m -222.30356 145.195862 l -223.99014 145.64386 l -224.09555 146.329041 l -225.20236 146.223633 l -226.25647 146.724335 l -224.93884 147.172333 l -222.6725 146.829742 l -221.82921 146.170914 l -220.40616 146.93515 l -218.29793 147.699387 l -217.82358 146.829742 l -215.82077 146.987854 l -217.08571 146.249985 l -217.29652 145.116806 l -217.77087 143.772812 l -218.825 143.878235 l -219.08852 144.537048 l -219.8791 144.299881 l -220.7224 144.69516 l -228.20657 134.074997 m -229.57692 133.495239 l -232.84467 134.233109 l -234.84749 134.944641 l -235.0056 135.577103 l -237.74629 135.260864 l -239.27475 136.183212 l -242.80602 136.762985 l -244.07095 137.342743 l -245.4413 138.713089 l -242.75331 139.398254 l -246.23189 140.346954 l -248.55093 140.689545 l -250.65915 142.033539 l -252.9782 142.112595 l -252.50385 143.14035 l -249.92126 144.853287 l -248.12929 144.22081 l -245.81024 142.824112 l -243.91284 143.008591 l -243.75471 143.825516 l -245.28319 144.69516 l -247.286 145.353989 l -247.86575 145.749283 l -248.81445 147.198685 l -248.3401 148.252792 l -246.49541 147.857498 l -242.80602 146.671631 l -244.86154 147.936554 l -246.39 148.83255 l -246.65353 149.333252 l -242.6479 148.753494 l -239.53827 147.910202 l -237.74629 147.198685 l -238.27335 146.777039 l -236.05971 146.039154 l -233.95149 145.327637 l -233.95149 145.749283 l -229.73505 145.98645 l -228.52281 145.459396 l -229.47151 144.405289 l -232.2122 144.378937 l -235.21642 144.168106 l -234.74207 143.667404 l -235.26912 142.929535 l -237.16652 141.506485 l -236.74489 140.847656 l -236.16512 140.346954 l -233.95149 139.635437 l -230.94727 139.134735 l -231.89597 138.765793 l -230.36751 137.869797 l -229.04987 137.790741 l -227.89035 137.290039 l -227.15247 137.711685 l -224.46449 137.896149 l -219.14122 137.57991 l -216.0316 137.158264 l -213.65985 136.921097 l -212.44762 136.420395 l -213.97607 135.735214 l -211.92056 135.735214 l -211.44621 134.25946 l -212.55302 132.941818 l -214.08148 132.335709 l -217.8763 131.966766 l -216.76947 132.915466 l -217.929 133.811462 l -219.29935 132.625595 l -222.98872 132.045837 l -225.5186 133.547943 l -225.30777 134.496643 l -228.20657 134.074997 l -205.17426 131.466064 m -208.23117 131.518768 l -211.02457 131.887711 l -208.81093 133.179001 l -207.07166 133.468887 l -205.49048 134.575699 l -203.80391 134.496643 l -202.90791 133.231705 l -202.96062 132.49382 l -203.69849 131.861359 l -205.17426 131.466064 l -196.47783 133.574295 m -194.84396 132.599243 l -196.58324 131.887711 l -198.32253 132.203949 l -200.95781 132.01947 l -201.32674 132.441116 l -199.95641 133.152649 l -202.17003 133.78511 l -201.90651 135.102753 l -199.53476 135.656158 l -198.11171 135.550751 l -197.11029 134.970993 l -193.47362 133.890518 l -193.47362 133.389816 l -196.47783 133.574295 l -185.67319 128.962555 m -186.99083 128.725372 l -188.51929 128.778091 l -188.78282 129.515961 l -187.88683 130.201141 l -182.9325 130.438309 l -179.24312 131.07077 l -176.97678 131.097122 l -176.81865 130.622772 l -179.82288 129.963959 l -173.23468 130.148422 l -171.17915 129.884903 l -173.18198 128.461853 l -174.55232 128.040207 l -178.66335 128.540909 l -181.29863 129.410553 l -183.82849 129.515961 l -181.72028 128.119263 l -183.09062 127.592209 l -184.61908 127.750328 l -185.09343 128.435501 l -185.67319 128.962555 l -163.642258 128.567261 m -166.119431 127.486801 l -169.12364 126.538101 l -171.38998 126.538101 l -173.39279 126.327278 l -173.18198 127.460449 l -172.07515 127.961151 l -170.7048 128.040207 l -167.96413 128.672668 l -165.645081 128.883499 l -163.642258 128.567261 l -165.592377 131.018066 m -167.647888 131.307953 l -171.38998 131.387009 l -172.81303 131.835007 l -174.3942 132.441116 l -172.5495 132.810059 l -168.96553 133.837814 l -167.173538 134.86557 l -167.173538 135.498047 l -163.326035 136.209564 l -162.535446 135.577103 l -159.162292 134.786514 l -159.794754 134.180405 l -160.796158 133.099945 l -162.061096 132.151245 l -160.638046 131.255249 l -165.592377 131.018066 l -99.815826 151.599594 m -100.975349 151.731354 l -101.133469 152.311111 l -100.184769 152.521942 l -99.236069 152.258408 l -98.340073 151.863129 l -99.815826 151.599594 l -119.211472 155.130859 m -120.160179 155.236282 l -120.792641 155.68428 l -119.52771 156.395798 l -118.051956 156.949203 l -117.314072 156.580276 l -117.103256 155.895096 l -118.420891 155.368042 l -119.211472 155.130859 l -149.200943 160.90213 m -150.623993 160.770355 l -150.202347 162.430588 l -151.467285 163.616455 l -150.887512 163.616455 l -149.991531 162.93129 l -149.464462 162.272476 l -148.726593 161.798126 l -148.463058 161.165649 l -148.515762 160.691299 l -149.200943 160.90213 l -159.900177 166.884201 m -160.638046 167.569382 l -162.1138 168.17549 l -162.693558 168.99243 l -161.955688 169.1769 l -159.531235 168.51808 l -159.109589 168.01738 l -157.791946 167.490326 l -157.528427 167.06868 l -156.052658 166.805145 l -155.4729 166.014572 l -155.578308 165.671982 l -157.159485 165.98822 l -158.055481 166.225388 l -159.425827 166.383499 l -159.900177 166.884201 l -92.120819 146.618912 m -93.016808 146.908798 l -93.912804 146.750687 l -95.125031 147.145981 l -96.54808 147.330444 l -96.442673 147.488556 l -95.335854 147.804794 l -94.229034 147.488556 l -93.649277 147.225037 l -92.384346 147.304092 l -92.015404 147.172333 l -92.120819 146.618912 l -189.04634 123.902817 m -191.94516 124.11364 l -195.89807 124.640701 l -197.00488 125.352226 l -197.58464 125.958336 l -195.21289 125.800224 l -192.78844 125.325874 l -189.52069 125.246811 l -190.94374 124.825165 l -189.15176 124.482582 l -189.04634 123.902817 l -391.75195 188.20361 m -392.80606 188.22997 l -394.12369 187.78197 l -393.12228 188.41443 l -393.2804 188.78337 l -391.80466 189.38948 l -391.06677 189.20502 l -390.69785 188.62526 l -391.54111 188.54619 l -391.75195 188.20361 l -382.0014 188.33537 m -381.79059 188.75702 l -379.68237 188.88878 l -379.73508 188.65161 l -377.94308 188.36172 l -378.2066 187.72926 l -378.99719 188.22997 l -380.15671 188.15091 l -381.21082 188.25632 l -381.21082 188.49348 l -382.0014 188.33537 l -416.04919 258.2493 m -416.41815 258.88177 l -416.78708 259.85681 l -416.99789 261.5961 l -417.36685 262.28128 l -417.26144 262.9928 l -416.99789 263.41446 l -416.47086 262.57117 l -416.20734 262.9928 l -416.47086 264.07327 l -416.36545 264.70572 l -415.94379 265.04831 l -415.89108 266.2869 l -415.31134 267.99982 l -414.57346 270.00266 l -413.67746 272.76968 l -413.09769 274.8252 l -412.46524 276.51178 l -411.25299 276.85437 l -409.98807 277.48685 l -409.14478 277.09155 l -407.98526 276.59085 l -407.5636 275.80026 l -407.45819 274.50897 l -406.93115 273.34946 l -406.82574 272.29535 l -407.08926 271.24121 l -407.77444 270.97769 l -407.77444 270.50336 l -408.45959 269.39651 l -408.56503 268.44781 l -408.24878 267.76266 l -407.98526 266.8403 l -407.87985 265.49631 l -408.35419 264.67938 l -408.56503 263.73068 l -409.30289 263.67798 l -410.09348 263.38809 l -410.67325 263.12457 l -411.30569 263.09821 l -412.14899 262.25491 l -413.36124 261.35892 l -413.78287 260.62106 l -413.57205 260.01492 l -414.2045 260.17307 l -414.99509 259.17166 l -415.04779 258.27567 l -415.52216 257.61682 l -416.04919 258.2493 l -588.29102 263.25632 m -589.18701 264.09961 l -588.71265 264.31046 l -588.23828 263.65161 l -588.29102 263.25632 l -587.65851 262.94009 m -587.44769 262.5448 l -587.44769 261.41162 l -588.13287 261.85962 l -588.34369 263.0455 l -587.97473 262.86102 l -587.65851 262.94009 l -539.95996 250.10629 m -539.80188 248.99948 l -540.06537 248.47241 l -540.38165 247.97171 l -540.75055 248.39336 l -540.69788 249.10489 l -539.95996 250.10629 l -272.26843 354.25247 m -273.00632 354.25247 l -275.16724 353.93625 l -277.38086 354.25247 l -279.22556 354.88495 l -279.85803 355.78094 l -280.01614 356.41342 l -280.06885 357.15131 l -277.80252 357.59927 l -275.43076 357.99457 l -272.69006 358.33716 l -269.58044 358.60071 l -266.15457 358.52164 l -264.20447 358.04727 l -264.46802 357.44116 l -267.57764 357.04587 l -268.84256 356.54517 l -269.79126 355.91272 l -270.42374 355.35931 l -271.31973 354.85861 l -272.26843 354.25247 l -246.4427 357.49387 m -249.76315 357.54657 l -252.92549 357.67834 l -253.9796 357.07224 l -254.77019 356.57153 l -256.29865 357.17764 l -255.877 357.91553 l -255.45535 358.57434 l -252.34573 358.36353 l -249.07799 358.46893 l -247.286 357.96823 l -247.286 357.91553 l -246.4427 357.49387 l -235.26912 344.34384 m -236.32324 344.15936 l -238.00981 344.21207 l -238.43146 343.47418 l -238.48416 342.92078 l -238.48416 341.76126 l -239.32745 341.04974 l -240.6451 340.83893 l -241.43568 341.36597 l -241.75191 341.91937 l -242.38438 342.57822 l -242.91144 343.21066 l -243.28036 343.86948 l -243.4912 344.52832 l -243.22766 345.10806 l -242.80602 345.66147 l -241.06674 345.84595 l -239.43286 346.13583 l -237.53546 346.10947 l -238.27335 345.52972 l -236.53406 345.74054 l -234.90019 345.92502 l -233.79337 345.50336 l -233.68796 344.89725 l -235.26912 344.34384 l -193.68443 345.23984 m -194.63313 344.97632 l -196.47783 345.18713 l -198.58606 345.29254 l -200.21992 345.50336 l -201.80109 345.31888 l -202.69708 346.16217 l -201.53757 346.05676 l -199.74557 346.10947 l -197.95358 346.05676 l -195.95078 346.13583 l -194.47502 345.84595 l -193.68443 345.23984 l -164.0112 347.82242 m -164.327438 347.34805 l -166.066727 347.58524 l -167.96413 347.82242 l -169.7034 347.55887 l -168.86012 348.08594 l -167.489777 348.45486 l -165.43425 348.34946 l -164.0112 347.82242 l -157.159485 347.53253 m -158.213593 347.21628 l -159.689346 347.55887 l -161.955688 348.13864 l -161.059692 348.08594 l -159.162292 347.95416 l -157.159485 347.53253 l -586.18274 270.84592 m -587.39502 271.76828 l -588.13287 272.42709 l -587.60583 272.79605 l -586.76251 272.40076 l -585.76111 271.74191 l -584.81244 270.95135 l -583.81104 269.92358 l -583.60022 269.42288 l -584.23267 269.44922 l -585.07593 269.94995 l -585.70844 270.45065 l -586.18274 270.84592 l -566.94525 245.36279 m -567.52502 245.83714 l -567.68311 246.57501 l -567.20874 246.97031 l -566.94525 246.10066 l -566.62903 245.54726 l -565.94385 245.07291 l -565.10052 244.44044 l -564.04645 244.0188 l -564.46808 243.64986 l -565.25867 244.0715 l -565.73303 244.38774 l -566.36548 244.73033 l -566.94525 245.36279 l -564.99512 248.55148 m -564.20453 248.89406 l -563.41394 249.23665 l -562.67609 249.23665 l -561.46387 248.815 l -560.62054 248.41971 l -560.72595 247.97171 l -562.04364 248.18254 l -562.83423 248.05078 l -563.09772 247.3656 l -563.30853 247.3129 l -563.41394 248.10349 l -564.25726 247.99806 l -564.67889 247.49736 l -565.52216 246.97031 l -565.31134 246.10066 l -566.20734 246.07431 l -566.52362 246.31149 l -566.47089 247.12843 l -565.99652 248.02443 l -565.20593 248.12984 l -564.99512 248.55148 l -580.80682 255.35049 m -581.22845 255.8512 l -580.22705 255.8512 l -579.64728 254.92885 l -580.54327 255.29779 l -580.80682 255.35049 l -580.17432 254.0592 m -579.9635 254.32274 l -578.85669 253.0578 l -578.59314 252.18816 l -579.0675 252.18816 l -579.59454 253.34769 l -580.17432 254.0592 l -578.9621 254.4545 m -578.38232 254.48085 l -577.48633 254.34909 l -577.22284 254.11191 l -577.27551 253.53215 l -578.27692 253.76933 l -578.75128 254.0592 l -578.9621 254.4545 l -577.22284 251.74016 m -577.53906 252.21451 l -577.59174 252.50439 l -576.43225 251.87193 l -575.64166 251.34488 l -575.11462 250.87053 l -575.32544 250.7124 l -576.01062 251.05499 l -577.22284 251.74016 l -573.53345 250.29076 m -574.11322 250.76511 l -573.84967 250.84418 l -573.16449 250.50159 l -572.58472 249.89546 l -572.63745 249.65829 l -573.53345 250.29076 l -570.05487 247.8136 m -570.4765 248.15619 l -571.21442 249.07854 l -571.89954 249.57924 l -571.68872 249.97453 l -571.26709 250.13264 l -570.63464 249.57924 l -570.00214 248.63054 l -569.68591 247.52371 l -569.89673 247.39195 l -570.05487 247.8136 l -602.46881 298.6481 m -601.88904 299.43869 l -601.15112 300.44009 l -600.04431 301.01987 l -599.78082 300.65094 l -599.14832 300.44009 l -599.99164 299.22787 l -599.51727 298.41095 l -597.9361 297.83118 l -597.98883 297.30414 l -599.04291 296.80341 l -599.30646 295.67026 l -599.25372 294.72156 l -598.62128 293.74649 l -598.67401 293.48297 l -597.98883 292.87686 l -596.82928 291.58557 l -596.19684 290.5578 l -596.77661 290.42606 l -597.56714 291.24298 l -598.67401 291.61191 l -599.09564 292.92957 l -600.14972 294.45804 l -600.20245 293.48297 l -600.88763 293.87827 l -601.09845 294.98508 l -602.25793 295.45944 l -603.25934 295.56485 l -604.10266 295.01144 l -604.84052 295.16956 l -604.47162 296.48718 l -604.04993 297.33047 l -602.89044 297.30414 l -602.52148 297.75214 l -602.67963 298.38458 l -602.46881 298.6481 l -591.87494 303.76056 m -593.13989 302.99634 l -593.98322 302.23209 l -594.66833 301.15164 l -595.19543 300.78268 l -595.45892 299.96576 l -596.46033 299.28058 l -596.77661 299.91306 l -597.09283 300.4928 l -598.14691 299.91306 l -598.5686 300.51917 l -598.5686 301.15164 l -598.0415 301.83679 l -597.09283 302.8909 l -596.35492 303.49704 l -596.88202 304.20856 l -595.72247 304.20856 l -594.51025 304.76196 l -594.08862 305.737 l -593.2453 307.21277 l -592.13849 307.87158 l -591.40063 308.26688 l -590.03027 308.24054 l -589.08154 307.76617 l -587.50043 307.66077 l -587.23688 307.1337 l -588.02747 306.02689 l -589.87213 304.60385 l -590.82086 304.31396 l -591.87494 303.76056 l -559.72455 299.72858 m -560.56787 299.83398 l -560.67328 301.57327 l -560.19891 302.07397 l -560.04083 303.25986 l -559.51373 302.86456 l -558.51233 303.86597 l -558.19611 303.7869 l -557.30011 303.76056 l -556.40411 302.49564 l -556.1933 301.52057 l -555.35004 300.25565 l -555.40271 299.5968 l -556.35144 299.72858 l -557.77448 300.22928 l -558.56506 300.01846 l -559.72455 299.72858 l -528.15393 287.15829 m -526.62549 287.92255 l -525.36053 288.23877 l -525.04431 289.02936 l -524.51727 289.6091 l -523.30505 289.63547 l -522.35632 289.76724 l -521.09137 289.50369 l -520.03729 289.6618 l -519.03589 289.74088 l -518.13989 290.5051 l -517.71826 290.45239 l -516.98035 290.87405 l -516.29517 291.32205 l -515.18835 291.26935 l -514.23969 291.26935 l -512.65851 290.34698 l -511.86792 290.0571 l -511.92062 289.21381 l -512.65851 289.02936 l -512.86932 288.68677 l -512.81665 288.1597 l -513.02747 287.13196 l -512.86932 286.28867 l -512.07874 284.78656 l -511.86792 283.9696 l -511.92062 283.12631 l -511.34088 282.17761 l -511.28815 281.75598 l -510.6557 281.14987 l -510.44489 280.01669 l -509.60159 278.85718 l -509.39075 278.2247 l -510.07593 278.85718 l -509.54889 277.51318 l -510.28674 277.93481 l -510.7084 278.48825 l -510.7084 277.75037 l -509.97052 276.59085 l -509.81241 276.14285 l -509.49619 275.69485 l -509.6543 274.85156 l -509.97052 274.4826 l -510.18134 273.74475 l -510.02322 272.90146 l -510.603 271.84735 l -510.7084 272.95416 l -511.34088 271.95276 l -512.50037 271.47839 l -513.23828 270.84592 l -514.34509 270.29251 l -515.03027 270.1871 l -515.39917 270.37158 l -516.55872 269.81818 l -517.45471 269.66006 l -517.66553 269.34381 l -518.08716 269.21207 l -518.87775 269.2384 l -520.40625 268.81677 l -521.19678 268.15796 l -521.56573 267.39371 l -522.46173 266.62949 l -522.51447 266.04971 l -522.56714 265.25916 l -523.56854 264.02057 l -524.20105 265.28549 l -524.8335 264.99561 l -524.30646 264.28409 l -524.78076 263.57257 l -525.41327 263.91516 l -525.57135 262.78198 l -526.36194 262.07047 l -526.7309 261.49069 l -527.46875 261.25351 l -527.46875 260.83188 l -528.15393 260.98999 l -528.15393 260.6474 l -528.78644 260.43658 l -529.52429 260.22577 l -530.57837 260.91092 l -531.42169 261.75421 l -532.31769 261.78058 l -533.26636 261.91232 l -532.95013 261.12177 l -533.63531 259.93588 l -534.3205 259.56696 l -534.05695 259.198 l -534.68945 258.35471 l -535.58545 257.82767 l -536.3233 258.01212 l -537.58826 257.72226 l -537.53552 256.98438 l -536.48145 256.51001 l -537.27203 256.29919 l -538.2207 256.64178 l -539.01129 257.24789 l -540.22351 257.61682 l -540.64514 257.48508 l -541.54114 257.93307 l -542.43713 257.51141 l -542.96423 257.64319 l -543.33313 257.3533 l -543.96564 258.09119 l -543.59668 258.85541 l -543.01691 259.46152 l -542.54254 259.51422 l -542.70068 260.09399 l -542.27905 260.83188 l -541.75195 261.5434 l -541.85736 261.96506 l -543.01691 262.75562 l -544.12372 263.22998 l -544.91431 263.73068 l -545.96844 264.60031 l -546.39008 264.60031 l -547.12793 264.96927 l -547.33875 265.41727 l -548.76184 265.91797 l -549.71051 265.41727 l -550.02673 264.65302 l -550.29028 263.9942 l -550.5011 263.17728 l -550.92273 262.01776 l -550.71191 261.30621 l -550.81732 260.88458 l -550.65924 260.04129 l -550.87006 258.96082 l -551.13354 258.64459 l -550.92273 258.17026 l -551.29169 257.37967 l -551.55524 256.58908 l -551.60791 256.16742 l -552.13495 255.61403 l -552.55664 256.32556 l -552.66205 257.24789 l -553.03094 257.43237 l -553.08368 258.03848 l -553.61072 258.77637 l -553.71613 259.61966 l -553.66345 260.1467 l -554.19049 261.30621 l -555.13916 260.75281 l -555.61353 261.35892 l -556.29871 261.93869 l -556.14063 262.5975 l -556.45685 263.83609 l -556.72034 264.57397 l -557.08929 264.75845 l -557.45825 265.99701 l -557.30011 266.76126 l -557.77448 267.76266 l -559.40833 268.52689 l -560.40973 269.21207 l -561.41113 269.84451 l -561.20032 270.21347 l -562.04364 271.1358 l -562.62335 272.71698 l -563.20313 272.37439 l -563.7829 273.00687 l -564.15186 272.79605 l -564.41534 274.35086 l -565.41675 275.24686 l -566.10193 275.80026 l -567.26147 276.98611 l -567.68311 278.172 l -567.73584 278.98895 l -567.63043 279.91129 l -568.31555 281.14987 l -568.21014 282.44116 l -567.94666 283.12631 l -567.5777 284.4176 l -567.63043 285.26089 l -567.31415 286.315 l -566.6817 287.659 l -565.57489 288.37054 l -565.04785 289.50369 l -564.57349 290.21524 l -564.15186 291.48016 l -563.57208 292.21805 l -563.20313 293.32486 l -562.99231 294.32626 l -563.09772 294.77426 l -562.25446 295.3013 l -560.62054 295.354 l -559.25024 295.96014 l -558.56506 296.51355 l -557.66907 297.146 l -556.45685 296.48718 l -555.56085 296.25 l -555.82434 295.48578 l -555.03375 295.7493 l -553.71613 296.80341 l -552.45123 296.40814 l -551.66064 296.1973 l -550.81732 296.09189 l -549.39429 295.64389 l -548.44556 294.74789 l -548.18207 293.64108 l -547.81311 292.9032 l -547.12793 292.29709 l -545.7049 292.13898 l -546.17926 291.42746 l -545.8103 290.34698 l -545.12512 291.34839 l -543.8075 291.61191 l -544.54535 290.79498 l -544.8089 289.95169 l -545.33594 289.24017 l -545.23053 288.1597 l -544.07104 289.39828 l -543.12231 289.89899 l -542.59528 291.08487 l -541.43573 290.47876 l -541.48846 289.68817 l -540.53973 288.63406 l -539.80188 288.08066 l -540.06537 287.73807 l -538.16797 286.86841 l -537.16656 286.8157 l -535.74353 286.10419 l -533.10828 286.23596 l -531.21088 286.763 l -529.57697 287.2637 l -528.15393 287.15829 l -463.22067 228.99771 m -463.00986 230.49982 l -462.37741 230.92146 l -461.11246 231.26405 l -460.42731 230.10454 l -460.16376 227.99631 l -460.84894 225.62456 l -461.85034 226.4415 l -462.53552 227.46925 l -463.22067 228.99771 l -532.89746 244.09785 m -534.47864 244.5195 l -535.00568 245.65266 l -533.79346 245.04655 l -532.58124 244.91479 l -531.73792 245.0202 l -530.73651 244.9675 l -531.05273 244.15056 l -532.89746 244.09785 l -529.20807 245.54726 m -528.20667 245.28374 l -527.94312 244.65126 l -529.41888 244.5722 l -529.78784 245.07291 l -529.20807 245.54726 l -530.78925 236.82449 m -530.89465 237.61507 l -531.73792 237.74684 l -531.89606 238.35295 l -531.79065 239.61789 l -531.05273 239.48611 l -530.84192 240.38211 l -531.42169 241.14635 l -531.00006 241.30446 l -530.42029 240.38211 l -529.99866 238.51106 l -530.31488 237.35155 l -530.78925 236.82449 l -523.46313 238.72189 m -525.14972 238.66919 l -526.57275 237.58871 l -526.8363 237.9313 l -525.67676 239.38071 l -524.56995 239.64424 l -523.14691 239.38071 l -520.72247 239.43341 l -519.45752 239.64424 l -519.2467 240.75105 l -520.51166 242.0687 l -521.30225 241.40987 l -524.04291 240.90916 l -523.9375 241.56799 l -523.30505 241.35716 l -522.67255 242.22681 l -521.35492 242.78021 l -522.77795 244.65126 l -522.51447 245.17831 l -523.83209 246.8649 l -523.77936 247.8136 l -523.0415 248.2616 l -522.46173 247.73454 l -523.14691 246.52231 l -521.72388 247.10208 l -521.35492 246.70679 l -521.51306 246.12701 l -520.45892 245.28374 l -520.61707 243.83434 l -519.61566 244.28233 l -519.72107 245.99525 l -519.77374 248.10349 l -518.87775 248.3143 l -518.2453 247.8663 l -518.66693 246.52231 l -518.45612 245.12561 l -517.82367 245.09926 l -517.3493 244.09785 l -517.98175 243.14915 l -518.19257 241.98964 l -518.93048 239.776 l -519.19397 239.16989 l -520.45892 238.08942 l -521.61847 238.51106 l -523.46313 238.72189 l -519.61566 255.0079 m -517.66553 253.98015 l -519.03589 253.71663 l -519.77374 254.13826 l -520.30084 254.58626 l -520.19537 254.98155 l -519.61566 255.0079 l -521.1441 252.50439 m -522.09277 252.37263 l -523.41046 251.84558 l -523.19965 252.66251 l -520.98596 253.08415 l -519.03589 252.89969 l -519.03589 252.37263 l -520.19537 252.0564 l -521.1441 252.50439 l -516.61145 252.24086 m -517.50745 252.1091 l -517.87634 252.74158 l -516.18976 253.03145 l -515.18835 253.24228 l -514.39777 253.21593 l -514.92487 252.37263 l -515.71545 252.37263 l -516.08435 251.84558 l -516.61145 252.24086 l -502.32822 249.39476 m -502.53903 249.92183 l -505.33243 250.07994 l -505.64865 249.47383 l -508.33664 250.159 l -508.86371 251.1077 l -511.07733 251.37123 l -512.86932 252.24086 l -511.23544 252.82063 l -509.60159 252.21451 l -508.28394 252.26723 l -506.75549 252.1618 l -505.38513 251.89828 l -503.69855 251.31853 l -502.59174 251.18675 l -502.01199 251.37123 l -499.32401 250.76511 l -499.06046 250.13264 l -497.74283 250.02724 l -498.74423 248.63054 l -500.53622 248.70959 l -501.69574 249.28935 l -502.32822 249.39476 l -496.26709 241.59435 m -496.53061 242.6221 l -497.05765 243.43904 l -498.11176 243.54445 l -498.84964 244.49315 l -498.48071 246.31149 l -498.42801 248.57784 l -496.79413 248.60419 l -495.52921 247.3656 l -493.68451 246.17973 l -493.05203 245.28374 l -491.94522 244.09785 l -491.20734 242.99104 l -490.10052 240.96188 l -488.8356 239.7233 l -488.36124 238.48471 l -487.8342 237.3252 l -486.51654 236.40285 l -485.77866 235.16426 l -484.67184 234.34734 l -483.1434 232.71346 l -482.98526 231.97557 l -483.93396 232.02829 l -486.20032 232.31816 l -487.51794 233.74121 l -488.62476 234.74261 l -489.46805 235.34874 l -490.83841 236.9299 l -492.31415 236.95625 l -493.5264 237.95766 l -494.36969 239.16989 l -495.52921 239.85506 l -494.89673 241.04094 l -495.74002 241.54164 l -496.26709 241.59435 l -520.40625 221.40811 m -519.61566 220.27495 l -520.88055 220.32765 l -521.40765 220.85471 l -521.0387 222.11964 l -520.40625 221.40811 l -522.9361 225.38739 m -523.30505 224.96574 l -523.46313 224.06975 l -524.30646 223.99069 l -524.04291 224.96574 l -525.14972 223.56905 l -524.99158 224.96574 l -524.46454 225.44009 l -523.99017 226.36244 l -523.56854 226.78407 l -522.67255 225.78267 l -522.9361 225.38739 l -528.52289 227.68007 m -528.6283 228.65512 l -528.7337 229.47206 l -528.25934 230.81606 l -527.67957 229.31395 l -526.99445 230.07817 l -527.46875 231.13229 l -527.04712 231.81746 l -525.36053 230.97417 l -524.9389 229.92006 l -525.36053 229.23489 l -524.46454 228.52336 l -523.99017 229.12947 l -523.30505 229.07677 l -522.19824 229.89371 l -521.98737 229.47206 l -522.56714 228.23349 l -523.46313 227.8382 l -524.25372 227.28479 l -524.78076 227.9436 l -525.88757 227.54831 l -526.15112 226.8895 l -527.15253 226.83679 l -527.09985 225.70361 l -528.25934 226.41515 l -528.41748 227.15302 l -528.52289 227.68007 l -503.75125 213.37051 m -502.53903 212.89616 l -502.53903 211.65758 l -503.22421 210.97241 l -504.85809 210.57712 l -505.70139 210.60347 l -506.01761 211.15688 l -505.38513 211.8157 l -505.0162 212.659 l -503.75125 213.37051 l -521.77655 204.27881 m -520.88055 206.62421 l -520.24811 207.83643 l -519.51025 206.59785 l -519.29938 205.51738 l -520.19537 204.06798 l -521.35492 202.96117 l -522.0401 203.40916 l -521.77655 204.27881 l -551.18628 182.64317 m -549.86865 184.11893 l -549.86865 185.62103 l -549.34155 186.80692 l -549.55243 187.51843 l -548.81451 188.57254 l -546.96985 189.25772 l -544.38727 189.33678 l -542.27905 191.02336 l -541.27765 190.44359 l -541.22491 189.36313 l -538.69507 189.67937 l -536.95575 190.36453 l -535.26917 190.39088 l -536.74493 191.47136 l -535.74353 193.94852 l -534.79486 194.58098 l -534.10968 194.00122 l -534.47864 192.68358 l -533.52991 192.26193 l -532.95013 191.26053 l -534.3205 190.81253 l -535.11108 189.89018 l -536.58685 189.12596 l -537.64093 188.12454 l -540.53973 187.70291 l -542.12091 187.99278 l -543.64935 185.38387 l -544.65076 186.09538 l -546.75903 184.61963 l -547.60229 184.06622 l -548.55096 182.27423 l -548.28748 180.61401 l -548.86725 179.69167 l -550.44836 179.42813 l -551.23895 181.45729 l -551.18628 182.64317 l -555.19189 175.63333 m -556.24603 175.02722 l -556.56226 176.66109 l -554.40131 177.05638 l -553.08368 178.53214 l -550.81732 177.53073 l -550.02673 179.11189 l -548.39288 179.13824 l -548.18207 177.68884 l -548.91992 176.55568 l -550.44836 176.47662 l -550.87006 174.44745 l -551.34436 173.31429 l -553.03094 174.84274 l -554.19049 175.34344 l -555.19189 175.63333 l -356.22839 180.13966 m -356.96628 179.66531 l -357.86227 180.71942 l -357.65146 182.64317 l -356.96628 182.56412 l -356.38651 183.03847 l -355.85947 182.66953 l -355.75403 180.87753 l -355.43781 180.06059 l -356.22839 180.13966 l -356.2811 177.60979 m -357.2298 177.03003 l -357.49332 178.29497 l -357.01898 179.42813 l -356.3338 179.13824 l -356.01758 178.13684 l -356.2811 177.60979 l -361.60437 157.871552 m -362.0787 158.583084 l -361.18271 159.768951 l -359.65427 158.952026 l -359.44342 158.345901 l -361.60437 157.871552 l -337.3598 154.287582 m -339.09909 154.155807 l -337.51791 155.736984 l -339.04639 155.552505 l -340.62753 155.552505 l -340.25861 156.738388 l -338.94098 158.05603 l -340.46942 158.161438 l -341.89249 160.032486 l -342.89389 160.269653 l -343.78989 161.929886 l -344.21152 162.509644 l -345.95081 162.79953 l -345.79269 163.721878 l -345.05481 164.169876 l -345.63458 164.907745 l -344.31693 165.671982 l -342.36682 165.671982 l -339.83698 166.067276 l -339.15179 165.77739 l -338.20309 166.46257 l -336.83273 166.304443 l -335.83133 166.857849 l -335.04077 166.567978 l -337.20169 165.039505 l -338.51932 164.723282 l -336.20029 164.459747 l -335.77863 163.87999 l -337.3071 163.431992 l -336.51651 162.641403 l -336.78003 161.692703 l -338.99368 161.824478 l -339.2045 160.981186 l -338.20309 160.058838 l -336.4111 159.795303 l -336.04218 159.400024 l -336.56921 158.741196 l -336.09488 158.345901 l -335.30429 159.031082 l -335.25159 157.608032 l -334.5137 156.870148 l -335.04077 155.368042 l -336.14758 154.182159 l -337.3598 154.287582 l -322.28601 142.718704 m -321.91708 143.667404 l -323.55093 144.668808 l -321.65353 145.775635 l -317.4371 146.777039 l -316.17218 147.040558 l -314.27478 146.829742 l -310.16373 146.381744 l -311.6395 145.722931 l -308.42444 145.011398 l -311.00702 144.721512 l -310.95432 144.299881 l -307.8974 143.957291 l -308.8988 143.008591 l -311.11243 142.771408 l -313.37878 143.772812 l -315.59241 142.982239 l -317.4371 143.403885 l -319.80884 142.613297 l -322.28601 142.718704 l -552.71472 161.37648 m -553.24176 162.79953 l -553.18909 164.22258 l -553.76886 165.698334 l -555.24463 168.30725 l -553.08368 167.8329 l -552.18768 169.94113 l -553.61072 171.44324 l -553.55804 172.47099 l -552.45123 171.575 l -551.5025 172.70818 l -551.23895 171.46959 l -551.39709 170.04654 l -551.23895 168.46538 l -551.55524 167.358551 l -551.66064 165.408447 l -550.76465 163.959045 l -550.92273 161.98259 l -552.24036 161.297424 l -551.66064 160.612244 l -552.34583 160.401428 l -552.71472 161.37648 l -516.98035 226.36244 m -515.03027 227.75914 l -515.76813 226.73137 l -516.82227 225.83537 l -517.66553 224.80762 l -518.45612 223.35822 l -518.71967 224.5441 l -517.77094 225.36102 l -516.98035 226.36244 l -522.56714 213.31781 m -522.35632 213.92392 l -522.83069 214.97803 l -522.46173 216.19026 l -521.61847 216.69096 l -521.35492 217.85049 l -521.72388 219.03636 l -522.46173 219.19447 l -523.14691 219.01001 l -524.9389 219.82695 l -524.8335 220.61752 l -525.30786 220.96011 l -525.14972 221.64529 l -523.99017 220.93376 l -523.46313 220.16953 l -523.09418 220.69659 l -522.14551 219.82695 l -520.82788 220.03777 l -520.08997 219.72153 l -520.1427 219.11542 l -520.61707 218.74648 l -520.19537 218.4039 l -519.98456 218.93095 l -519.2467 218.08766 l -519.03589 217.4552 l -518.98315 216.03215 l -519.56293 216.53285 l -519.72107 214.24016 l -520.19537 212.92252 l -521.09137 212.92252 l -521.98737 213.31781 l -522.46173 212.94887 l -522.56714 213.31781 l -522.14551 223.27916 m -521.93469 222.59399 l -522.77795 223.04199 l -523.72668 223.04199 l -523.72668 223.6481 l -523.0415 224.28056 l -522.09277 224.72856 l -522.0401 224.0434 l -522.14551 223.27916 l -527.20526 222.1987 m -527.62689 223.83257 l -526.52008 223.43727 l -526.52008 223.93797 l -526.88904 224.83397 l -526.20386 225.17656 l -526.15112 224.12245 l -525.67676 224.06975 l -525.46594 223.17375 l -526.30927 223.27916 l -526.30927 222.72575 l -525.41327 221.61894 l -526.8363 221.64529 l -527.20526 222.1987 l -230.2621 227.31114 m -230.99997 227.36385 l -232.1068 226.33609 l -232.73926 226.17796 l -232.73926 225.70361 l -233.00279 224.46504 l -233.84607 223.77986 l -234.74207 223.75351 l -234.90019 223.43727 l -236.007 223.56905 l -237.16652 222.83116 l -237.74629 222.48857 l -238.48416 221.80341 l -238.95851 221.88246 l -239.38016 222.27776 l -239.06392 222.75211 l -239.01122 223.0947 l -238.16794 223.27916 l -238.64229 223.93797 l -238.64229 224.70221 l -238.00981 225.5455 l -238.53687 226.73137 l -239.16934 226.62596 l -239.48557 225.57185 l -239.06392 225.0448 l -238.95851 223.93797 l -240.80321 223.35822 l -240.59239 222.6467 l -241.11945 222.1987 l -241.6465 223.22646 l -242.6479 223.25281 l -243.5966 224.06975 l -243.64931 224.5441 l -244.96695 224.57045 l -246.54811 224.41232 l -247.3914 225.07115 l -248.49821 225.25562 l -249.34151 224.78127 l -249.34151 224.41232 l -251.1335 224.33327 l -252.92549 224.30692 l -251.66055 224.75491 l -252.18761 225.44009 l -253.34714 225.5455 l -254.45395 226.25702 l -254.66478 227.4429 l -255.45535 227.41655 l -256.03513 227.75914 l -256.98383 228.28619 l -257.87982 229.23489 l -257.93253 229.99911 l -258.45956 230.02547 l -259.25015 230.737 l -259.82993 231.26405 l -261.62192 231.55394 l -261.72733 231.29041 l -262.93954 231.185 l -264.52072 231.58029 l -264.99506 231.7384 l -266.10187 232.08099 l -267.63034 233.31956 l -267.89386 233.92569 l -268.42093 233.97839 l -268.73715 234.66356 l -269.58044 237.21979 l -270.31833 237.45695 l -270.37103 238.45836 l -269.26422 239.67059 l -269.73856 240.11859 l -272.32114 240.35576 l -272.37384 241.80516 l -273.48065 240.85646 l -275.32535 241.38351 l -277.74982 242.27951 l -278.4877 243.1228 l -278.22415 243.93974 l -279.96344 243.49174 l -282.80954 244.25598 l -284.97046 244.20326 l -287.13141 245.4155 l -289.02881 247.04936 l -290.13562 247.47101 l -291.40054 247.55008 l -291.92761 247.99806 l -292.40195 249.86911 l -292.6655 250.73875 l -292.08572 253.16321 l -291.34784 254.13826 l -289.29233 256.16742 l -288.34363 257.82767 l -287.23682 259.09259 l -286.86786 259.11896 l -286.49893 260.1994 l -286.60434 262.94009 l -286.18271 265.18008 l -286.0246 266.15512 l -285.55023 266.73489 l -285.28671 268.685 l -283.81094 270.60876 l -283.54742 272.11087 l -282.38791 272.74332 l -282.01895 273.61298 l -280.43781 273.61298 l -278.11874 274.19275 l -277.11734 274.8252 l -275.48346 275.27319 l -273.7442 276.43271 l -272.53195 277.88211 l -272.26843 278.96259 l -272.53195 279.77951 l -272.26843 281.25528 l -271.95221 281.9668 l -270.89807 282.78375 l -269.26422 285.3663 l -267.99927 286.52585 l -266.99786 287.211 l -266.31271 288.6077 l -265.36401 289.42465 l -264.73154 290.34698 l -263.09766 291.16394 l -261.99084 290.87405 l -261.20026 291.03217 l -259.82993 290.39969 l -258.88123 290.45239 l -257.98523 289.63547 l -257.87982 290.39969 l -259.72452 291.66464 l -259.51367 292.66605 l -260.46237 293.29849 l -260.35696 294.01004 l -258.98663 295.90744 l -256.77301 296.67166 l -253.87419 296.98788 l -252.24031 296.82977 l -252.55655 297.72577 l -252.24031 298.80624 l -252.50385 299.5441 l -251.66055 300.07117 l -250.1321 300.25565 l -248.76175 299.72858 l -248.18199 300.12387 l -248.39281 301.57327 l -249.34151 302.02127 l -250.1848 301.54694 l -250.60645 302.31116 l -249.2361 302.75916 l -248.07658 303.68149 l -247.86575 305.15726 l -247.49681 305.92148 l -246.12646 305.92148 l -244.96695 306.6857 l -244.5453 307.79254 l -246.02106 308.84665 l -247.3914 309.13654 l -246.91705 310.45416 l -245.17776 311.29745 l -244.22906 313.01038 l -242.91144 313.59015 l -242.27896 314.27533 l -242.75331 315.77744 l -243.75471 316.64706 l -243.12225 316.56799 l -241.80461 316.54166 l -241.11945 316.91058 l -239.8018 317.43765 l -239.53827 318.80798 l -238.95851 318.83435 l -237.27194 318.35999 l -235.58536 317.33224 l -233.79337 316.51529 l -229.47151 229.41936 m -230.10397 230.20995 l -230.3148 231.44852 l -229.99857 231.81746 l -230.3148 233.16145 l -230.05127 234.00475 l -230.57832 234.37369 l -230.05127 235.13791 l -229.41881 236.06026 l -228.68092 236.13931 l -228.3647 236.69272 l -228.4174 237.40425 l -227.89035 237.53601 l -228.04846 237.98401 l -227.04706 238.56377 l -226.25647 238.88 l -226.36189 239.45976 l -225.78212 240.40846 l -225.5186 241.33081 l -225.04425 241.54164 l -225.25507 242.88564 l -224.99155 243.28091 l -225.83482 243.93974 l -226.4146 243.25456 l -226.73082 243.88704 l -225.94025 244.99385 l -224.78072 245.9162 l -224.30637 246.94395 l -225.04425 248.34065 l -224.5699 248.97313 l -225.62401 249.57924 l -226.73082 250.52794 l -227.20517 251.6084 l -227.78494 252.26723 l -229.15527 255.19238 l -230.63104 257.88037 l -231.84326 259.80411 l -231.63245 260.22577 l -232.2122 261.43799 l -233.37172 262.36032 l -236.007 263.9415 l -238.90581 265.41727 l -239.01122 266.02338 l -240.48697 266.86667 l -240.80321 268.92218 l -240.90862 271.32028 l -240.43427 274.58801 l -239.95992 277.61859 l -239.6964 280.46469 l -238.8531 282.25668 l -239.01122 284.04868 l -238.58957 285.26089 l -238.90581 287.44818 l -238.32605 289.63547 l -237.27194 291.98087 l -236.37595 294.3526 l -235.79619 294.4053 l -235.9016 296.03918 l -236.32324 297.46225 l -235.63806 298.46365 l -235.16371 301.17798 l -234.68936 303.28619 l -235.58536 303.47067 l -236.05971 301.65234 l -237.06111 302.04764 l -236.27054 305.07819 l -234.63666 304.55115 l -234.16231 307.00195 l -232.73926 308.29324 l -235.0056 308.71487 l -233.42444 309.84805 l -232.79196 311.24475 l -233.00279 313.74826 l -233.74066 314.72333 l -233.31902 315.59296 l -233.79337 316.51529 l -234.21501 317.35858 m -235.42725 317.64847 l -237.48276 318.62354 l -239.38016 319.15057 l -240.17075 318.49176 l -240.6451 317.49036 l -241.96274 316.88425 l -243.01685 317.04236 l -243.5966 317.72754 l -244.33449 318.83435 l -246.23189 319.70398 l -248.2874 320.07294 l -247.60223 320.81079 l -246.23189 320.88986 l -245.494 320.36279 l -244.96695 320.94257 l -243.75471 321.41693 l -243.01685 321.36423 l -242.17355 321.23245 l -241.06674 320.81079 l -239.53827 320.59998 l -237.69359 319.78305 l -236.21782 318.99246 l -234.21501 317.35858 l -409.14478 122.031776 m -411.99088 121.768242 l -414.25723 121.74189 l -414.52075 122.137184 l -415.36404 121.794601 l -416.73438 121.531067 l -418.94803 121.873657 l -418.36826 122.08448 l -416.41815 122.268951 l -415.10049 122.400711 l -414.88968 122.637886 l -413.15039 122.875061 l -411.56924 122.532478 l -412.41254 122.058128 l -409.14478 122.031776 l -421.84683 132.045837 m -425.32538 130.754547 l -424.95645 130.095718 l -428.22418 129.305145 l -433.02039 128.382797 l -437.92203 128.092911 l -440.45187 127.565857 l -443.29797 127.355034 l -444.29938 127.934799 l -443.29797 128.409149 l -438.13284 129.120667 l -433.65286 129.832199 l -429.12018 131.228897 l -426.90656 132.651947 l -424.64023 134.048645 l -424.90375 135.260864 l -427.74985 136.473099 l -426.85385 136.604858 l -422.05765 136.420395 l -421.68869 135.761566 l -419.05344 135.366287 l -418.84259 134.575699 l -420.31836 134.25946 l -420.26566 133.468887 l -423.16446 132.203949 l -421.84683 132.045837 l -383.63528 122.796005 m -381.47437 123.586586 l -377.2052 123.771057 l -372.88336 123.533882 l -372.61981 123.112236 l -370.5116 123.085884 l -368.93042 122.427063 l -373.4631 122.005417 l -375.57135 122.374359 l -377.04709 121.926361 l -380.73648 122.295303 l -383.63528 122.796005 l -379.68237 126.037399 m -376.41461 126.617157 l -373.83206 126.300926 l -374.83347 125.905632 l -373.99017 125.431282 l -376.99438 125.141403 l -377.57416 125.694809 l -379.68237 126.037399 l -365.66269 123.375763 m -366.24246 122.875061 l -368.35068 122.822357 l -370.19537 123.323059 l -375.04428 124.403526 l -371.35489 124.983284 l -370.5643 126.063751 l -369.24667 126.35363 l -368.56149 127.565857 l -366.7695 127.618561 l -363.65988 126.722565 l -364.97751 126.195511 l -362.76389 125.773865 l -359.91779 124.535286 l -358.81097 123.402115 l -362.76389 122.875061 l -363.60718 123.375763 l -365.66269 123.375763 l -229.47151 229.41936 m -228.99716 228.99771 l -228.68092 228.20712 l -229.04987 227.81184 l -228.68092 227.73277 l -228.4174 227.23207 l -227.67952 226.83679 l -227.04706 226.91585 l -226.73082 227.4429 l -226.15106 227.81184 l -225.83482 227.86455 l -225.67671 228.15442 l -226.36189 228.94501 l -225.99295 229.12947 l -225.78212 229.36665 l -225.09695 229.41936 l -224.83342 228.54971 l -224.6226 228.81325 l -224.14825 228.70784 l -223.88472 228.12807 l -223.25226 228.02266 l -222.88332 227.86455 l -222.56708 227.86455 l -222.25085 227.86455 l -222.19815 228.18077 l -222.04002 227.96996 l -221.24945 227.62737 l -220.93321 227.33749 l -221.14403 227.07396 l -221.09132 226.75772 l -220.66968 226.38879 l -220.08992 226.09891 l -219.56287 225.91444 l -219.51016 225.4928 l -219.08852 225.22926 l -219.19392 225.65091 l -218.9304 226.01985 l -218.56146 225.59821 l -218.08711 225.46645 l -217.8763 225.17656 l -217.929 224.72856 l -218.08711 224.25421 l -217.8763 224.1488 l -217.66547 224.0434 l -218.03441 223.77986 l -217.50735 223.30551 l -216.82217 222.72575 l -216.50595 222.22505 l -215.87347 221.7507 l -215.18831 221.09187 l -215.34642 220.88106 l -215.55725 221.09187 l -215.66266 220.98647 l -215.39912 220.53847 l -215.18831 220.45941 l -214.97748 220.40671 l -214.81937 220.7493 l -213.97607 220.72295 l -213.44902 220.59117 l -212.81656 220.3013 l -212.02597 220.19588 l -211.60432 219.90601 l -210.86646 219.64247 l -209.97046 219.61612 l -209.28528 219.32625 l -208.49471 218.72012 l -206.80812 217.13896 l -206.07024 216.66461 l -204.85802 216.29567 l -204.06743 216.40108 l -202.90791 216.92815 l -202.17003 217.08626 l -201.11592 216.69096 l -200.00911 216.42743 l -198.63876 215.74226 l -197.53194 215.53145 l -195.89807 214.87262 l -194.68584 214.1611 l -194.31691 213.76581 l -193.47362 213.68675 l -191.99786 213.2124 l -191.36539 212.55357 l -189.78423 211.71028 l -189.04634 210.78795 l -188.73012 210.07642 l -189.20447 209.94466 l -189.04634 209.52301 l -189.41528 209.15407 l -189.41528 208.65337 l -188.88823 207.99455 l -188.78282 207.38843 l -188.30847 206.65056 l -186.99083 205.20116 l -185.51508 204.06798 l -184.8299 203.14563 l -183.56497 202.53952 l -183.30144 202.19693 l -183.51227 201.30093 l -182.77438 200.95836 l -181.87839 200.24683 l -181.50945 199.21907 l -180.77158 199.08731 l -179.87558 198.32307 l -179.1904 197.61156 l -179.1377 197.16356 l -178.34712 196.05673 l -177.82007 194.92357 l -177.87277 194.37016 l -176.81865 193.79039 l -176.2916 193.84311 l -175.50102 193.44781 l -175.23749 194.05392 l -175.50102 194.73909 l -175.60643 195.84592 l -176.13348 196.45203 l -177.2403 197.45343 l -177.45113 197.79602 l -177.66194 197.90143 l -177.87277 198.40213 l -178.13629 198.37578 l -178.45253 199.32448 l -178.87418 199.69342 l -179.1904 200.22047 l -180.0864 200.95836 l -180.61345 202.3287 l -181.0351 202.96117 l -181.45674 203.64633 l -181.50945 204.43692 l -182.19463 204.48962 l -182.82709 205.14845 l -183.35414 205.80727 l -183.30144 206.0708 l -182.66898 206.59785 l -182.40544 206.59785 l -182.03651 205.70186 l -181.0878 204.85857 l -180.03369 204.14703 l -179.29582 203.77811 l -179.34853 202.72398 l -179.08499 201.93341 l -178.39983 201.45906 l -177.39842 200.82658 l -177.18759 201.01106 l -176.81865 200.61577 l -175.92267 200.27318 l -175.07938 199.42989 l -175.18478 199.29813 l -175.76454 199.37718 l -176.3443 198.85013 l -176.39702 198.19131 l -175.23749 197.13721 l -174.3942 196.74191 l -173.86714 195.81956 l -173.28738 194.87086 l -172.65492 193.68498 l -172.02245 192.36734 l -171.81163 191.62947 l -170.86293 190.78618 l -170.17775 190.60172 l -170.01964 190.18007 l -169.17635 190.10101 l -168.64929 189.70572 l -167.278946 189.57396 l -166.910004 189.33678 l -166.751892 188.54619 l -165.328842 187.07043 l -164.116608 185.01492 l -164.169327 184.69868 l -163.484146 184.19798 l -162.377335 182.98576 l -162.166504 181.77353 l -161.375931 180.98294 l -161.692154 179.77072 l -161.63945 178.50578 l -161.217804 177.39897 l -161.744858 176.00227 l -161.955688 174.68463 l -162.1138 173.36699 l -161.850281 171.39053 l -161.375931 170.15195 l -160.954285 169.46678 l -161.1651 169.1769 l -163.273331 169.6776 l -164.063904 171.04794 l -164.432846 170.679 l -164.169327 169.46678 l -163.694977 168.2809 l -163.484146 168.25455 l -160.638046 166.831497 l -159.583939 166.199036 l -156.948654 165.592926 l -156.158081 164.301636 l -156.316193 163.40564 l -154.471497 162.773178 l -154.207962 161.587296 l -152.415985 160.533188 l -152.415985 159.768951 l -151.625397 159.215546 l -150.307755 158.767548 l -149.886108 157.476257 l -147.988708 156.29039 l -147.198135 154.920044 l -145.827789 154.814636 l -143.508743 154.788284 l -141.769455 154.366638 l -138.765244 152.838181 l -137.342194 152.574646 l -134.759613 152.047592 l -132.756805 152.179352 l -129.858002 151.494186 l -128.118713 150.86171 l -126.537552 151.177948 l -126.801079 152.205704 l -126.01049 152.28476 l -124.323914 152.600998 l -123.006279 153.1017 l -121.42511 153.391586 l -121.214287 152.548294 l -121.846756 151.098892 l -123.427917 150.650894 l -123.006279 150.281952 l -121.161583 151.098892 l -120.160179 152.073944 l -118.051956 153.128052 l -119.106064 153.839584 l -117.735718 154.86734 l -116.154556 155.499802 l -114.678795 155.9478 l -114.30986 156.580276 l -112.043518 157.344498 l -111.569168 158.029678 l -109.882591 158.66214 l -108.828476 158.53038 l -107.510841 158.952026 l -105.982376 159.452728 l -104.770149 159.927078 l -102.292992 160.348724 l -102.029465 160.111542 l -103.663338 159.426376 l -105.086388 158.978378 l -106.614845 158.18779 l -108.459541 158.003326 l -109.197418 157.397202 l -111.200226 156.527557 l -111.516464 156.237686 l -112.623283 155.710632 l -112.88681 154.603806 l -113.624687 153.760529 l -111.93811 154.182159 l -111.46376 153.944992 l -110.673172 154.472046 l -109.724472 153.734177 l -109.302826 154.26123 l -108.775772 153.523346 l -107.300018 154.103104 l -106.404022 154.103104 l -106.245903 153.233459 l -106.509438 152.706406 l -105.613441 152.179352 l -103.663338 152.469238 l -102.451103 151.784058 l -101.449699 151.415131 l -101.449699 150.59819 l -100.290176 149.965729 l -100.869942 149.122437 l -102.082169 148.305496 l -102.609222 147.567612 l -103.768745 147.462204 l -104.770149 147.699387 l -105.982376 146.987854 l -107.036491 147.119614 l -108.143311 146.645264 l -107.879776 145.98645 l -107.036491 145.722931 l -108.143311 145.143158 l -107.247314 145.16951 l -105.666145 145.485748 l -105.244499 145.801987 l -104.084976 145.485748 l -102.029465 145.64386 l -99.86853 145.301285 l -99.236069 144.721512 l -97.391373 143.878235 l -99.446892 143.245758 l -102.71463 142.534241 l -103.926865 142.534241 l -103.716042 143.27211 l -106.825668 143.219406 l -105.613441 142.297058 l -103.821449 141.743652 l -102.767342 141.005783 l -101.396996 140.399658 l -99.39418 139.925308 l -100.184769 139.161087 l -102.767342 139.108368 l -104.612038 138.449554 l -104.980972 137.738037 l -106.456726 137.026505 l -107.932487 136.868393 l -110.673172 136.209564 l -112.043518 136.314987 l -114.257149 135.550751 l -116.470787 135.840637 l -117.577606 136.499451 l -118.210068 136.235916 l -120.687233 136.314987 l -120.581818 136.657562 l -122.84816 136.894745 l -124.323914 136.762985 l -127.43354 137.210968 l -130.226944 137.342743 l -131.333755 137.553558 l -133.283859 137.316391 l -135.497498 137.738037 l -137.131363 137.948853 l -139.819351 138.291443 l -142.138397 139.00296 l -143.666855 139.134735 l -144.931793 138.52861 l -146.723785 138.080612 l -148.884705 138.238739 l -151.098343 137.606262 l -153.470093 137.237335 l -154.5242 137.843445 l -155.578308 137.500854 l -155.894547 136.815689 l -156.948654 136.973801 l -159.425827 138.291443 l -161.375931 137.290039 l -161.534042 138.396851 l -163.326035 138.159668 l -163.905792 137.738037 l -165.697784 137.817093 l -167.91142 138.449554 l -171.33728 138.976608 l -173.34009 139.213791 l -174.81584 139.134735 l -176.76595 139.872604 l -174.71043 140.610489 l -177.34572 140.90036 l -181.29863 140.742249 l -182.56357 140.478714 l -184.09203 141.348358 l -185.72589 140.610489 l -184.19743 140.004364 l -185.14613 139.503662 l -186.93813 139.424606 l -188.09764 139.292847 l -189.30988 139.635437 l -190.78563 140.42601 l -192.41951 140.320602 l -195.00208 140.979416 l -197.26842 140.742249 l -199.37663 140.7686 l -199.21852 139.872604 l -200.53616 139.609085 l -202.80251 140.109787 l -202.80251 141.480133 l -203.69849 140.320602 l -204.91072 140.373306 l -205.54318 138.897552 l -203.96202 137.975204 l -202.27544 137.395447 l -202.38086 135.787918 l -204.12013 134.707458 l -206.07024 134.944641 l -207.54601 135.603455 l -209.54881 137.237335 l -208.23117 137.975204 l -210.97186 138.265091 l -210.91916 139.767197 l -212.92197 138.607666 l -214.66125 139.556366 l -214.1869 140.636841 l -215.60995 141.638245 l -217.13841 140.557785 l -218.24522 139.319199 l -218.29793 137.711685 l -220.40616 137.817093 l -222.56708 138.027908 l -224.5172 138.765793 l -224.6226 139.47731 l -223.51578 140.267899 l -224.5699 141.032135 l -224.35907 141.743652 l -221.51297 142.771408 l -219.45746 143.008591 l -217.929 142.560593 l -217.50735 143.298462 l -216.0843 144.537048 l -215.66266 145.16951 l -213.97607 146.170914 l -211.86786 146.249985 l -210.70833 146.882446 l -210.60292 147.831146 l -208.91635 148.01561 l -207.12436 149.201492 l -205.54318 150.86171 l -204.96342 151.994888 l -204.91072 153.707809 l -207.01894 153.944992 l -207.70412 155.315338 l -208.38928 156.42215 l -210.44481 156.132278 l -213.13278 156.76474 l -214.60855 157.344498 l -215.66266 158.029678 l -217.50735 158.424957 l -219.03581 159.031082 l -221.46027 159.13649 l -223.04143 159.26825 l -222.83061 160.533188 l -223.25226 162.008942 l -224.35907 163.642822 l -226.52 165.039505 l -227.62682 164.565155 l -228.4174 163.063049 l -227.67952 160.744003 l -226.62541 159.979782 l -228.99716 159.294601 l -230.63104 158.266846 l -231.47432 157.23909 l -231.31621 156.264038 l -230.3148 155.025452 l -228.57552 153.91864 l -230.2621 152.390182 l -229.62962 151.046188 l -229.15527 148.779846 l -230.15669 148.437256 l -232.68655 148.83255 l -234.21501 148.96431 l -235.42725 148.595383 l -236.74489 149.096085 l -238.58957 149.939362 l -239.01122 150.492783 l -241.6465 150.624542 l -241.5938 151.836761 l -242.06815 153.681458 l -243.38579 153.91864 l -244.4926 154.788284 l -246.60081 153.971344 l -247.97116 152.363831 l -248.97256 151.67865 l -250.07939 152.96994 l -251.97679 154.840988 l -253.61066 156.606628 l -253.0309 157.528976 l -254.981 158.345901 l -256.29865 159.189194 l -258.61768 159.558136 l -259.56638 160.032486 l -260.14615 161.271057 l -261.30566 161.455536 l -261.88544 162.008942 l -261.99084 163.669174 l -260.93674 164.22258 l -259.88263 164.723282 l -257.45816 165.250336 l -255.61348 166.46257 l -253.13631 166.699738 l -250.02669 166.383499 l -247.81305 166.357147 l -246.28459 166.46257 l -245.07236 167.516678 l -243.22766 168.17549 l -241.11945 170.09924 l -239.43286 171.46959 l -240.6451 171.20607 l -243.01685 169.2823 l -246.07376 168.07008 l -248.2874 167.93832 l -249.55234 168.64984 l -248.18199 169.62489 l -248.65634 171.20607 l -249.13069 172.31288 l -251.02809 173.05075 l -253.45255 172.83994 l -254.9283 171.17972 l -255.03371 172.23383 l -255.9297 172.78723 l -254.13771 173.73593 l -250.92268 174.60558 l -249.44691 175.21169 l -247.81305 176.26579 l -246.70624 176.13403 l -246.65353 174.89545 l -249.1834 173.70958 l -246.86435 173.73593 l -245.23048 173.92039 l -245.494 174.39474 l -243.91284 175.10628 l -242.38438 175.60698 l -240.85591 176.05498 l -240.06534 176.92462 l -239.85451 177.24084 l -239.8018 178.03143 l -240.32886 178.79567 l -240.90862 178.84837 l -240.7505 178.29497 l -241.17215 178.63754 l -241.06674 179.05919 l -240.06534 179.29637 l -239.38016 179.24367 l -238.32605 179.50719 l -237.69359 179.58624 l -236.79759 179.66531 l -235.58536 180.08694 l -237.74629 179.79707 l -238.16794 180.08694 l -236.11241 180.53494 l -235.21642 180.53494 l -235.21642 180.35048 l -234.79477 180.74577 l -235.21642 180.82483 l -234.90019 181.87894 l -233.84607 182.98576 l -233.74066 182.61682 l -233.42444 182.53777 l -232.95009 182.16882 l -233.21361 182.95941 l -233.58255 183.22293 l -233.63525 183.77634 l -233.1609 184.35609 l -232.31761 185.51563 l -232.2122 185.46292 l -232.63385 184.46152 l -231.89597 183.90811 l -231.73785 182.69588 l -231.47432 183.32834 l -231.73785 184.25069 l -230.78915 184.01352 l -231.79056 184.48787 l -231.84326 185.88457 l -232.26491 185.98997 l -232.42302 186.49068 l -232.63385 187.96643 l -231.73785 189.04689 l -230.2094 189.46854 l -229.2607 190.33818 l -228.52281 190.44359 l -227.78494 190.97064 l -227.57411 191.47136 l -225.94025 192.42006 l -225.09695 193.10522 l -224.41177 193.97487 l -224.20096 195.00262 l -224.46449 196.03038 l -224.93884 197.29532 l -225.62401 198.32307 l -225.62401 198.95554 l -226.30917 200.64212 l -226.25647 201.64352 l -226.20377 202.19693 l -225.83482 203.09293 l -225.41319 203.2774 l -224.67531 203.11928 l -224.46449 202.46046 l -223.88472 202.11787 l -223.09415 200.8793 l -222.40897 199.74612 l -222.19815 199.16637 l -222.51437 198.21767 l -222.09273 197.40073 l -220.93321 196.18851 l -220.40616 195.95132 l -218.9304 196.61014 l -218.66687 196.53108 l -217.929 195.87227 l -217.033 195.50333 l -215.34642 195.68781 l -214.08148 195.52968 l -212.97467 195.60873 l -212.34221 195.84592 l -212.60573 196.24121 l -212.60573 196.82097 l -212.86926 197.11086 l -212.60573 197.32167 l -212.07867 197.08449 l -211.49892 197.37437 l -210.44481 197.32167 l -209.3907 196.55743 l -208.07306 196.74191 l -207.01894 196.39932 l -206.12296 196.50473 l -204.85802 196.84732 l -203.54037 197.92778 l -202.11732 198.56026 l -201.27403 199.27177 l -200.95781 199.9306 l -200.95781 200.93201 l -201.01051 201.64352 l -201.27403 202.11787 l -200.74698 203.40916 l -200.48346 204.46327 l -200.37804 206.43973 l -200.21992 207.15126 l -200.48346 207.94185 l -200.95781 208.65337 l -201.22133 209.78653 l -202.22273 210.89336 l -202.53897 211.71028 l -203.11873 212.44817 l -204.64719 212.81711 l -205.27966 213.44957 l -206.54459 213.02792 l -207.65141 212.86981 l -208.75822 212.60628 l -209.70692 212.36911 l -210.60292 211.763 l -210.97186 210.91971 l -211.07727 209.68112 l -211.34081 209.25948 l -212.34221 208.86418 l -213.87067 208.54796 l -215.18831 208.57431 l -216.0843 208.4689 l -216.40053 208.78513 l -216.34782 209.47031 l -215.55725 210.33995 l -215.24101 211.23593 l -215.50455 211.49947 l -215.29372 212.13193 l -214.92477 213.26511 l -214.55583 212.89616 l -214.23961 212.92252 l -214.23961 213.13335 l -214.50313 213.13335 l -214.50313 213.52863 l -214.23961 214.1611 l -214.39772 214.39827 l -214.23961 214.92532 l -214.34502 215.0571 l -214.1342 215.79497 l -213.87067 216.19026 l -213.60713 216.24297 l -213.29091 216.74367 l -213.81796 217.0072 l -213.92337 216.79637 l -214.39772 216.98085 l -214.50313 217.03355 l -214.81937 216.77002 l -215.24101 216.74367 l -215.39912 216.87543 l -215.60995 216.79637 l -216.29512 216.92815 l -216.9803 216.90179 l -217.45465 216.74367 l -217.61276 216.5592 l -218.08711 216.63826 l -218.40335 216.74367 l -218.825 216.71732 l -219.08852 216.58556 l -219.7737 216.79637 l -219.98451 216.82272 l -220.45886 217.08626 l -220.88051 217.42885 l -221.40756 217.63966 l -221.7765 218.03496 l -221.6711 218.19307 l -221.56567 218.50931 l -221.7238 219.06271 l -221.40756 219.53706 l -221.24945 220.14317 l -221.19675 220.77565 l -221.24945 221.17094 l -221.30215 221.82976 l -221.09132 221.96152 l -220.93321 222.59399 l -221.03862 222.98927 l -220.7224 223.35822 l -220.8278 223.75351 l -221.03862 223.99069 l -221.14403 224.20151 l -221.40756 224.78127 l -221.98732 225.36102 l -222.6725 225.9935 l -222.6725 225.9935 m -223.19955 226.52055 l -223.14685 226.83679 l -223.72661 226.8895 l -223.88472 226.78407 l -224.30637 227.12666 l -224.99155 227.02126 l -225.62401 226.65231 l -226.52 226.36244 l -226.99435 225.9408 l -227.83765 226.01985 l -227.78494 226.15161 l -228.57552 226.20432 l -229.20799 226.46785 l -229.73505 226.91585 l -230.2621 227.31114 l -238.53687 211.13052 m -238.69499 210.89336 l -239.01122 210.867 l -239.85451 210.89336 l -240.6978 211.2623 l -241.11945 211.23593 l -241.38297 211.763 l -242.17355 211.73665 l -242.12085 212.15828 l -242.75331 212.211 l -243.4912 212.7644 l -242.96414 213.34416 l -242.22626 213.02792 l -241.5938 213.08063 l -241.11945 213.02792 l -240.85591 213.29146 l -240.27615 213.37051 l -240.06534 213.02792 l -239.53827 213.23875 l -238.95851 214.24016 l -238.58957 214.00298 l -238.53687 213.58133 l -237.53546 213.34416 l -236.8503 213.44957 l -235.9543 213.31781 l -235.26912 213.6077 l -234.47855 213.1597 l -234.63666 212.68535 l -235.9543 212.86981 l -237.06111 213.00157 l -237.58817 212.659 l -236.9557 212.02652 l -236.9557 211.47311 l -236.007 211.2623 l -236.37595 210.84065 l -237.27194 210.91971 l -238.53687 211.13052 l -365.08292 184.17163 m -366.24246 184.03987 l -365.71539 185.17303 l -365.92621 185.64738 l -365.60999 186.38527 l -364.50317 185.83186 l -363.76529 185.67374 l -361.70978 184.93587 l -361.92059 184.19798 l -363.60718 184.32974 l -365.08292 184.17163 l -398.44556 174.63193 m -400.13214 175.18533 l -401.97684 176.42392 l -537.27203 191.02336 m -538.06256 190.12737 l -538.90588 190.31183 l -539.53833 189.70572 l -540.59247 190.02194 l -540.80328 190.52266 l -539.95996 191.39229 l -539.38025 190.91794 l -538.58966 191.26053 l -538.2207 192.13017 l -537.27203 191.70853 l -537.27203 191.02336 l -319.70343 212.05287 m -319.54532 211.315 l -319.65073 210.57712 l -319.2818 209.89195 l -318.54391 209.25948 l -318.59662 208.62701 l -318.64932 207.9682 l -319.2291 207.57291 l -319.70343 206.80867 l -319.59802 206.30797 l -320.12509 205.28021 l -320.91568 204.33151 l -321.39001 204.09433 l -321.81165 203.25105 l -321.81165 202.46046 l -322.33871 201.56447 l -323.34012 201.03741 l -324.28882 199.53531 l -325.0267 198.95554 l -326.39703 198.79742 l -327.55658 197.79602 l -328.29443 197.40073 l -329.50668 196.18851 l -329.13773 194.37016 l -329.66479 193.10522 l -329.87561 192.34099 l -330.82431 191.33958 l -332.30008 190.68077 l -333.40689 190.07466 l -334.35559 188.54619 l -334.82993 187.65019 l -335.88403 187.65019 l -336.78003 188.28267 l -338.15039 188.17726 l -339.67883 188.49348 l -340.31131 188.51984 l -341.73438 187.72926 l -343.31552 187.46573 l -344.21152 186.85962 l -345.63458 186.41162 l -348.11172 186.14809 l -350.53619 186.04268 l -351.27408 186.25349 l -352.64441 185.67374 l -354.22559 185.67374 l -354.80533 185.98997 l -355.80676 185.91092 l -357.44061 185.33116 l -358.44202 185.48927 l -358.38931 186.22714 l -359.65427 185.70009 l -359.75967 185.98997 l -359.02179 186.70149 l -359.02179 187.38667 l -359.49612 187.72926 l -359.33801 188.99419 l -358.33661 189.73207 l -358.65286 190.54901 l -359.39072 190.57536 l -359.75967 191.26053 l -360.33942 191.49771 l -362.026 191.99841 l -362.65848 191.86664 l -363.8707 192.10382 l -365.8208 192.76263 l -366.50598 194.08028 l -367.82361 194.34381 l -369.87912 194.97627 l -371.4603 195.68781 l -372.14548 195.31886 l -372.83066 194.63368 l -372.5144 193.52687 l -372.98877 192.81534 l -374.04288 192.13017 l -375.04428 191.91936 l -376.99438 192.20923 l -377.52145 192.86806 l -378.04849 192.86806 l -378.52286 193.13158 l -379.9986 193.28969 l -380.31485 193.79039 l -382.26495 193.76404 l -383.68799 194.15933 l -385.16376 194.58098 l -385.84891 194.81816 l -386.95575 194.34381 l -387.53549 193.92216 l -388.85315 193.81676 l -389.90726 194.00122 l -390.27618 194.71274 l -390.64514 194.23839 l -391.80466 194.58098 l -392.96417 194.66003 l -393.64935 194.29111 l -394.07098 193.81676 l -393.96558 193.73769 l -394.38721 193.05252 l -394.65076 191.94571 l -394.86157 191.57677 l -394.91428 191.55042 l -395.44135 190.36453 l -396.1792 189.33678 l -396.1792 189.28407 l -396.07379 188.15091 l -396.44275 187.57114 l -395.86298 186.88597 l -396.44275 186.35892 l -395.54675 186.46432 l -394.3345 186.14809 l -393.3331 186.96503 l -391.06677 187.14949 l -389.90726 186.35892 l -388.32608 186.30621 l -388.00986 186.91232 l -386.95575 187.09679 l -385.58539 186.30621 l -383.95151 186.33257 l -383.10825 184.88316 l -382.0014 184.06622 l -382.73929 182.93304 l -381.79059 182.22153 l -383.42447 180.82483 l -385.6908 180.77213 l -386.32327 179.66531 l -389.11667 179.84978 l -390.85596 178.90108 l -392.54254 178.47943 l -394.96698 178.45308 l -397.54956 179.48083 l -399.65778 180.06059 l -401.34436 179.82343 l -402.60928 179.95518 l -404.34857 179.19096 l -404.55939 178.55849 l -404.19046 177.58344 l -403.34717 177.03003 l -402.50388 176.87192 l -401.97684 176.42392 l -400.13214 175.18533 l -398.44556 174.63193 l -397.1806 173.76228 l -398.23474 173.5251 l -399.44696 172.31288 l -398.65637 171.73312 l -400.81729 171.127 l -400.76459 170.81078 l -399.44696 171.04794 l -398.28745 171.15335 l -397.33875 171.6277 l -395.96838 171.70677 l -394.70346 172.26018 l -394.75616 173.18253 l -395.49405 173.5251 l -396.96979 173.44604 l -396.70627 173.94675 l -395.07239 174.21028 l -393.12228 175.05357 l -392.27899 174.76369 l -392.59525 174.07852 l -391.01407 173.65688 l -391.27759 173.36699 l -392.64795 172.86629 l -392.22629 172.55005 l -389.95996 172.18112 l -389.85455 171.6277 l -388.5369 171.81218 l -387.95715 172.60277 l -386.85031 173.68323 l -386.85031 174.07852 l -386.16516 174.39474 l -385.6908 174.26299 l -385.32187 176.02863 l -384.53128 176.63474 l -384.00421 177.66249 l -384.47858 178.50578 l -384.63669 179.05919 l -385.95435 179.53354 l -385.6908 179.90248 l -383.95151 179.98154 l -383.31906 180.42953 l -382.10681 181.22012 l -381.63248 180.53494 l -381.63248 180.24507 l -380.73648 180.19237 l -379.9986 180.06059 l -378.2066 180.42953 l -379.20801 181.27283 l -378.47015 181.50999 l -377.67957 181.50999 l -376.88898 180.74577 l -376.62546 181.062 l -376.94168 181.93164 l -377.67957 182.61682 l -377.1525 182.95941 l -377.94308 183.61823 l -378.68097 184.03987 l -378.68097 184.88316 l -377.36331 184.48787 l -377.78497 185.22574 l -376.83627 185.38387 l -377.41602 186.67514 l -376.41461 186.70149 l -375.20239 186.06903 l -374.67535 184.88316 l -374.4118 183.90811 l -373.83206 183.24928 l -373.09418 182.40599 l -372.98877 181.98434 l -372.72522 181.87894 l -372.72522 181.56271 l -371.93466 181.08836 l -371.77652 180.37683 l -371.88196 179.37543 l -372.09277 178.92743 l -371.88196 178.69025 l -371.5657 178.58484 l -371.14407 178.11049 l -370.5116 177.82062 l -369.14127 177.2672 l -368.29797 176.74014 l -366.92761 176.3185 l -365.71539 175.23804 l -366.03162 175.13263 l -365.34647 174.50017 l -365.29376 174.02582 l -364.39777 173.78864 l -363.9234 174.4211 l -363.50177 173.92039 l -363.50177 173.41969 l -363.55447 173.39334 l -363.9234 173.26158 l -362.76389 173.05075 l -361.55167 173.57782 l -361.60437 174.28934 l -361.44626 174.71098 l -361.92059 175.44887 l -363.29092 176.18674 l -364.02881 177.39897 l -365.66269 178.58484 l -366.8222 178.58484 l -367.19116 178.90108 l -366.7695 179.19096 l -368.08716 179.71802 l -369.14127 180.16602 l -370.40619 180.93024 l -370.5643 181.19377 l -370.30078 181.72083 l -369.45749 181.03564 l -368.19257 180.79848 l -367.56009 181.74718 l -368.6142 182.27423 l -368.45609 183.03847 l -367.87631 183.14388 l -367.08575 184.38246 l -366.45328 184.51422 l -366.45328 184.06622 l -366.7695 183.27563 l -367.08575 182.95941 l -366.50598 182.11612 l -366.08432 181.37823 l -365.45187 181.19377 l -365.03021 180.56129 l -364.08151 180.29778 l -363.44907 179.69167 l -362.34222 179.61259 l -361.23541 178.95378 l -359.86508 178.00508 l -358.86368 177.16179 l -358.44202 175.71239 l -357.70416 175.52792 l -356.49191 175.05357 l -355.85947 175.23804 l -355.01617 175.92322 l -354.3837 176.02863 l -353.06607 176.87192 l -350.16727 176.47662 l -348.05902 176.95097 l -347.84821 177.82062 l -347.95361 178.66389 l -346.58328 179.63895 l -344.68588 179.95518 l -344.58047 180.45589 l -343.63177 181.27283 l -343.10471 182.45869 l -343.68448 183.30199 l -342.84119 183.93446 l -342.52493 184.88316 l -341.41812 185.19939 l -340.36401 186.30621 l -338.51932 186.33257 l -337.09628 186.30621 l -336.20029 186.83327 l -335.62051 187.38667 l -334.93533 187.25491 l -334.35559 186.75421 l -333.93393 185.91092 l -332.5636 185.70009 l -331.98383 186.06903 l -331.24597 185.85822 l -330.45538 186.01633 l -330.7189 184.88316 l -330.56079 183.98717 l -329.92831 183.85539 l -329.55939 183.30199 l -329.66479 182.32693 l -330.24454 181.79988 l -330.34998 181.22012 l -330.6662 180.32413 l -330.61349 179.71802 l -330.34998 179.19096 l -330.29724 178.69025 l -330.34998 177.63614 l -329.7702 177.00368 l -331.82571 175.94957 l -333.61771 176.21309 l -335.56781 176.21309 l -337.14899 176.45027 l -338.36121 176.39757 l -340.73297 176.42392 l -341.47083 175.55428 l -341.73438 172.62912 l -340.25861 171.10065 l -339.15179 170.36278 l -336.93817 169.80937 l -336.78003 168.7289 l -338.67743 168.41267 l -341.1546 168.7816 l -340.68027 167.121384 l -342.0506 167.753845 l -345.47647 166.620682 l -345.8981 165.408447 l -347.16302 165.118576 l -348.37527 164.82869 l -349.11313 164.433395 l -350.37808 162.272476 l -352.38089 161.666351 l -353.59311 161.719055 l -353.90936 161.402832 l -355.12158 161.323776 l -355.3851 161.639999 l -356.38651 160.928482 l -356.07028 160.375076 l -355.96487 159.531784 l -355.3851 158.714844 l -355.3324 157.23909 l -355.59592 156.843796 l -356.01758 156.395798 l -357.2825 156.316742 l -357.80957 155.895096 l -358.96909 155.499802 l -358.91638 156.237686 l -358.49472 156.712036 l -358.70557 157.133682 l -359.49612 157.344498 l -359.1272 157.897903 l -358.70557 157.739792 l -357.65146 158.7939 l -358.02039 159.505432 l -358.07309 160.08519 l -359.54886 160.42778 l -359.49612 160.928482 l -361.0246 160.664948 l -361.81519 160.269653 l -363.50177 160.849426 l -364.18692 161.297424 l -365.18835 160.875778 l -367.45468 160.190598 l -369.29938 159.689896 l -370.77512 159.95343 l -370.88055 160.296005 l -372.30359 160.322357 l -372.61981 159.689896 l -374.62265 159.215546 l -374.3064 157.976974 l -374.3591 156.870148 l -375.09698 155.9478 l -376.46732 155.447098 l -377.62686 156.553909 l -378.78638 156.527557 l -379.1026 155.394394 l -379.26071 154.52475 l -378.73367 154.709229 l -377.78497 154.208527 l -377.67957 153.365234 l -379.52426 152.943588 l -381.36896 152.732758 l -382.9501 152.96994 l -384.47858 152.943588 l -386.11246 152.126648 l -384.58398 151.441483 l -381.9487 151.54689 l -379.36615 152.073944 l -376.99438 152.390182 l -376.15109 151.599594 l -374.72806 151.098892 l -375.04428 149.675842 l -374.3064 148.3582 l -375.04428 147.488556 l -376.36191 146.566208 l -379.68237 144.985046 l -380.68378 144.69516 l -380.52567 144.062698 l -378.47015 143.377533 l -375.99298 143.799164 l -374.56992 144.800583 l -374.78076 145.696564 l -372.4617 146.882446 l -369.6156 148.147385 l -368.56149 150.202896 l -369.6156 151.230652 l -370.98596 152.047592 l -369.6683 153.707809 l -368.13986 154.0504 l -367.56009 156.501205 l -366.7695 157.871552 l -364.97751 157.739792 l -364.13422 158.899307 l -362.44766 158.952026 l -361.9733 157.58168 l -360.76108 155.921448 l -359.65427 153.839584 l -358.65286 152.943588 l -355.75403 154.630157 l -353.80392 154.972748 l -351.80112 154.234879 l -351.27408 152.653702 l -350.79971 149.280548 l -352.17007 148.331848 l -356.01758 147.119614 l -358.91638 145.591156 l -361.60437 143.561996 l -365.08292 140.742249 l -367.56009 139.635437 l -371.5657 137.790741 l -374.78076 137.158264 l -377.2052 137.237335 l -379.41885 136.025101 l -382.10681 136.077805 l -384.7421 135.787918 l -389.32748 136.868393 l -387.43008 137.263687 l -389.01126 138.186035 l -390.5397 137.658966 l -392.96417 138.554962 l -396.96979 138.897552 l -402.50388 140.557785 l -403.61069 141.24295 l -403.71609 142.218002 l -402.08224 142.982239 l -399.71048 143.377533 l -393.17499 142.270706 l -392.06818 142.455185 l -394.43994 143.535645 l -394.54535 144.22081 l -394.65076 145.696564 l -396.54816 146.144562 l -397.70767 146.539856 l -397.86578 145.828339 l -396.96979 145.195862 l -397.91849 144.642456 l -401.44977 145.538452 l -402.71469 145.195862 l -401.71329 144.115402 l -405.13916 142.692352 l -406.45679 142.771408 l -407.82715 143.27211 l -408.67044 142.270706 l -407.45819 141.401062 l -408.14337 140.505066 l -407.08926 139.609085 l -411.20029 140.083435 l -412.04358 140.90036 l -410.19888 141.084839 l -410.19888 141.901764 l -411.3584 142.402466 l -413.62476 142.086243 l -413.99368 141.163895 l -422.16306 139.187439 l -423.21716 139.266495 l -421.79413 140.162491 l -423.63879 140.320602 l -424.64023 139.819901 l -427.38089 139.767197 l -429.59454 139.161087 l -431.22842 140.057083 l -432.91498 139.082016 l -431.38654 138.238739 l -432.12439 137.738037 l -436.44626 138.186035 l -438.50177 138.660385 l -443.77234 140.320602 l -444.77374 139.556366 l -443.29797 138.792145 l -443.24527 138.475906 l -441.45328 138.317795 l -441.98035 137.632614 l -441.18976 136.499451 l -441.13705 136.025101 l -443.82504 134.707458 l -444.77374 133.363464 l -445.88055 133.073593 l -449.78076 133.468887 l -450.04431 134.285812 l -448.67395 135.471695 l -449.56995 135.919693 l -450.04431 136.947449 l -449.72806 138.950256 l -451.36194 139.846252 l -450.72946 140.847656 l -447.83066 142.903183 l -449.51724 143.14035 l -450.09702 142.613297 l -451.73087 142.218002 l -452.09982 141.506485 l -453.36475 140.794952 l -452.52145 139.978012 l -453.20663 139.00296 l -451.57275 138.897552 l -451.25653 138.080612 l -452.41605 136.604858 l -450.51865 135.418991 l -453.15393 134.417587 l -452.78497 133.389816 l -453.52286 133.337112 l -454.31345 134.154053 l -453.73367 135.577103 l -455.26215 135.840637 l -454.62967 134.786514 l -457.05414 134.206757 l -460.11105 134.127701 l -462.79904 134.970993 l -461.48141 133.758759 l -461.37601 132.177597 l -463.90585 131.887711 l -467.43713 131.966766 l -470.59946 131.755951 l -469.38724 130.991714 l -471.12653 130.043015 l -472.76041 129.990311 l -475.60651 129.278793 l -479.50671 129.067963 l -479.98105 128.672668 l -483.82855 128.540909 l -485.0408 128.857147 l -488.30853 128.092911 l -490.99652 128.119263 l -491.41815 127.486801 l -492.78851 126.854332 l -496.26709 126.248215 l -498.79694 126.722565 l -496.79413 127.091507 l -500.11459 127.328682 l -500.48352 128.040207 l -501.80115 127.697624 l -506.12302 127.697624 l -509.39075 128.409149 l -510.603 128.962555 l -510.23404 129.726791 l -508.60019 130.148422 l -504.75269 130.965363 l -503.64584 131.413361 l -505.49054 131.624191 l -507.65149 131.993118 l -508.96912 131.703247 l -509.707 132.651947 l -510.33945 132.256653 l -512.65851 132.045837 l -517.40198 132.283005 l -517.71826 132.96817 l -523.83209 133.179001 l -523.9375 132.072189 l -527.04712 132.309357 l -529.36615 132.309357 l -531.73792 133.073593 l -532.4231 134.022293 l -531.5271 134.628403 l -533.37177 135.787918 l -535.69086 136.367691 l -537.11389 134.839218 l -539.43292 135.498047 l -541.96277 135.102753 l -544.75616 135.550751 l -545.86304 135.155457 l -548.23474 135.33992 l -547.18066 133.995941 l -549.13074 133.363464 l -562.35986 134.312164 l -563.62476 135.181808 l -567.41956 136.288635 l -573.32263 136.025101 l -576.27411 136.262268 l -577.48633 136.868393 l -577.27551 137.922501 l -579.12024 138.344147 l -581.07031 138.05426 l -583.65289 138.001556 l -586.39362 138.291443 l -589.23969 138.159668 l -591.76953 139.450958 l -593.56152 138.976608 l -592.3493 138.027908 l -593.03448 137.395447 l -597.67261 137.790741 l -600.72949 137.711685 l -604.94592 138.396851 l -607 139.055206 l -607 144.880142 m -605.10406 145.538452 l -603.20667 145.433044 l -604.52429 146.197281 l -605.42029 147.4095 l -606.10547 147.804794 l -606.26361 148.410904 l -605.89465 148.806198 l -603.15393 148.463608 l -599.04291 149.570435 l -597.72528 149.754898 l -595.51166 150.782654 l -593.40344 151.67865 l -592.82367 152.337479 l -590.76813 151.33606 l -586.92065 152.469238 l -586.28821 151.942184 l -584.86511 152.548294 l -582.91504 152.363831 l -582.44067 153.312531 l -580.70142 154.73558 l -580.75409 155.34169 l -582.38794 155.657928 l -582.17712 157.792496 l -580.8595 157.8452 l -580.22705 159.057434 l -580.80682 159.689896 l -578.27692 160.454132 l -577.74988 162.114349 l -575.58893 162.483292 l -575.11462 163.959045 l -573.00635 165.329391 l -572.47931 164.327988 l -571.84686 162.193405 l -571.05627 158.925674 l -571.74146 156.8965 l -572.95367 156.026855 l -573.05908 155.34169 l -575.32544 155.025452 l -577.96069 153.180756 l -580.43787 151.652298 l -583.07312 150.492783 l -584.28534 148.437256 l -582.49335 148.542664 l -581.59741 149.754898 l -577.90802 151.362411 l -576.69574 149.570435 l -572.90094 150.071136 l -569.26428 152.521942 l -570.4765 153.417938 l -567.20874 153.813232 l -564.94244 153.944992 l -565.04785 152.890884 l -562.78149 152.680054 l -560.93683 153.391586 l -556.45685 153.128052 l -551.66064 153.57605 l -546.91711 156.42215 l -541.33032 159.874374 l -543.59668 160.058838 l -544.33453 160.981186 l -545.75763 161.297424 l -546.7063 160.585892 l -548.28748 160.664948 l -550.39569 162.272476 l -550.44836 163.537399 l -549.34155 164.986801 l -549.18347 166.726089 l -548.55096 169.07149 l -546.33734 171.20607 l -545.86304 172.20747 l -543.86023 173.92039 l -541.85736 175.60698 l -540.90869 176.47662 l -538.95856 177.31992 l -538.06256 177.34627 l -537.16656 176.63474 l -535.16376 177.71519 l -534.95294 178.18954 l -534.37317 178.11049 l -533.74072 178.61119 l -533.31909 179.11189 l -533.37177 180.13966 l -532.63391 180.48224 l -532.37036 180.74577 l -531.79065 181.16742 l -530.84192 181.40459 l -530.20947 181.79988 l -530.15674 182.43234 l -529.99866 182.59047 l -530.57837 182.82764 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -527.52148 184.46152 l -527.31067 184.72504 l -526.88904 184.85681 l -526.8363 184.59328 l -526.46735 184.43517 l -526.04572 184.22433 l -526.46735 183.56552 l -526.8363 183.40739 l -526.67816 183.11752 l -527.04712 182.32693 l -526.94171 182.08977 l -526.09845 181.93164 l -525.41327 181.53635 l -523.35773 181.98434 l -522.30365 182.66953 l -520.72247 183.06482 l -521.51306 182.37964 l -521.19678 181.79988 l -522.35632 180.82483 l -521.56573 180.06059 l -520.30084 180.58765 l -518.61426 181.58907 l -517.71826 182.53777 l -516.29517 182.61682 l -515.55731 183.30199 l -516.3479 184.27704 l -517.50745 184.51422 l -517.56012 185.17303 l -518.71967 185.59468 l -520.35352 184.56693 l -521.67114 185.12033 l -522.61987 185.17303 l -522.83069 185.93727 l -520.77515 186.35892 l -520.08997 187.14949 l -518.66693 187.86102 l -517.92908 188.88878 l -519.51025 189.70572 l -520.08997 191.12877 l -520.98596 192.47276 l -521.93469 193.60593 l -521.93469 194.68639 l -521.0387 195.08168 l -521.35492 195.87227 l -522.25092 196.32027 l -521.98737 197.53249 l -521.61847 198.69202 l -520.82788 198.82378 l -519.72107 200.40495 l -518.56152 202.3287 l -517.19116 204.06798 l -515.18835 205.41197 l -513.13287 206.65056 l -511.49899 206.80867 l -510.603 207.46748 l -510.07593 206.99313 l -509.28534 207.73102 l -507.22983 208.44255 l -505.70139 208.67972 l -505.27972 209.89195 l -505.17432 210.23453 l -504.38373 210.3136 l -503.9621 209.23312 l -504.33102 208.67972 l -502.38092 208.20537 l -501.69574 208.44255 l -499.74564 209.70747 l -498.48071 211.07782 l -498.16449 212.10558 l -499.32401 213.63405 l -500.64163 215.5578 l -502.01199 216.4538 l -502.90799 217.63966 l -503.54044 220.354 l -503.38232 222.91022 l -502.1174 223.88527 l -500.48352 224.83397 l -499.2713 226.0462 l -497.42661 227.41655 l -496.89954 226.46785 l -497.3212 225.4928 l -496.21436 224.64951 l -495.00214 224.43867 l -494.42239 223.67445 l -493.68451 222.17235 l -492.36685 221.48717 l -491.10193 221.51352 l -491.31274 220.354 l -490.04782 220.38036 l -489.94241 221.98787 l -489.15182 224.12245 l -488.62476 225.41374 l -488.73019 226.46785 l -489.67889 226.52055 l -490.31134 227.86455 l -490.57486 229.12947 l -491.36545 229.97276 l -492.26144 230.13089 l -492.99933 230.89511 l -493.36826 231.02687 l -494.21155 231.92287 l -494.84402 232.89792 l -494.94943 233.87297 l -494.79132 234.5318 l -494.89673 235.05885 l -495.00214 235.90215 l -495.52921 236.32379 l -496.10895 237.61507 l -496.05624 238.11578 l -495.05484 238.19484 l -493.63181 237.11436 l -491.94522 235.95485 l -491.73441 235.21696 l -490.89111 234.24191 l -490.6803 233.02969 l -490.15323 232.21275 l -490.36404 231.15865 l -489.99512 230.52617 l -489.41534 229.97276 l -489.20453 229.26125 l -488.41394 228.41795 l -487.67606 227.73277 l -487.46524 228.60242 l -487.20172 227.78549 l -487.35983 226.86314 l -487.78149 225.46645 l -487.62335 224.35962 l -488.09772 223.25281 l -487.57065 222.38316 l -487.72876 220.802 l -487.09631 220.03777 l -486.62195 218.27213 l -486.35843 216.42743 l -485.72595 215.21521 l -484.77725 215.95308 l -483.0907 217.0072 l -482.30011 216.87543 l -481.40411 216.53285 l -481.87845 214.71451 l -481.56223 213.34416 l -480.45541 211.65758 l -480.61353 211.13052 l -479.77023 210.94606 l -478.71613 209.73383 l -478.29446 208.9696 l -478.24176 208.23172 l -477.92554 207.5202 l -477.34576 206.67691 l -475.97543 206.62421 l -476.13354 207.23032 l -475.65921 208.0209 l -475.02673 207.73102 l -474.81592 207.99455 l -474.39426 207.83643 l -473.81451 207.70467 l -473.60367 208.25807 l -472.60226 208.23172 l -470.8103 208.52161 l -470.91571 209.62842 l -470.12512 210.49806 l -468.01691 211.47311 l -466.38303 213.2124 l -465.27621 214.13475 l -463.80045 215.08345 l -463.80045 215.76862 l -463.11526 216.11121 l -461.74493 216.63826 l -461.11246 216.71732 l -460.63812 217.85049 l -460.95435 219.74789 l -461.00705 220.96011 l -460.42731 222.35681 l -460.42731 224.83397 l -459.63672 224.91304 l -459.00424 226.01985 l -459.42587 226.52055 l -458.10825 226.91585 l -457.58118 227.91725 l -457.00143 228.3389 l -455.63107 226.96855 l -454.94592 224.91304 l -454.36615 223.43727 l -453.89182 222.75211 l -453.10123 221.35541 l -452.73227 219.51071 l -452.46875 218.61472 l -451.15112 216.58556 l -450.51865 213.76581 l -450.09702 211.86841 l -450.09702 210.10277 l -449.83347 208.73242 l -447.67255 209.60207 l -446.67114 209.44395 l -444.77374 207.65196 l -445.45892 207.12491 l -445.03726 206.5715 l -443.29797 205.30656 l -442.24387 204.93762 l -441.76953 203.88351 l -440.66272 202.7767 l -437.97473 203.06657 l -435.60297 203.09293 l -433.54745 203.2774 l -430.75406 202.85576 l -429.17288 202.51317 l -427.53903 202.3287 l -426.90656 200.53671 l -426.22137 200.27318 l -425.06186 200.53671 l -423.58609 201.22188 l -421.79413 200.74753 l -420.31836 199.61436 l -418.89529 199.21907 l -417.94659 197.82237 l -416.83978 195.87227 l -416.04919 196.10944 l -415.1532 195.60873 l -414.57346 196.18851 l -413.73016 196.10944 l -414.04639 196.76826 l -413.88828 197.11086 l -414.36264 198.19131 l -414.94238 199.45624 l -415.68027 199.79883 l -415.94379 200.32588 l -416.89249 200.93201 l -416.99789 201.53812 l -416.83978 202.01247 l -417.05063 202.51317 l -417.47226 202.93481 l -417.68307 203.40916 l -417.89389 203.75175 l -417.78848 202.69763 l -418.15744 201.93341 l -418.57907 201.77528 l -419.00073 202.22328 l -419.05344 203.09293 l -418.73718 203.93622 l -419.00073 204.51598 l -419.26425 204.43692 l -419.31696 204.83221 l -420.47647 204.59503 l -421.68869 204.64775 l -422.58469 204.70045 l -423.58609 203.69904 l -424.64023 202.75034 l -425.58893 201.85435 l -426.01056 201.35365 l -426.16867 201.48541 l -426.06326 202.09152 l -425.85245 202.35506 l -426.06326 203.51457 l -426.69574 204.51598 l -427.53903 205.04303 l -428.59314 205.22751 l -429.48914 205.49103 l -430.12158 206.33432 l -430.54324 206.83502 l -431.07028 207.0195 l -431.07028 207.33572 l -430.54324 208.20537 l -430.27972 208.62701 l -429.64725 209.10136 l -429.12018 210.10277 l -428.43503 210.02371 l -428.17148 210.3663 l -427.90796 211.10417 l -428.11877 212.07922 l -427.96066 212.2637 l -427.27548 212.2637 l -426.37949 212.81711 l -426.22137 213.52863 l -425.90515 213.81851 l -424.95645 213.81851 l -424.42938 214.18745 l -424.42938 214.76721 l -423.69153 215.18886 l -422.90094 215.0571 l -421.89954 215.53145 l -421.26706 215.63686 l -420.16025 216.0058 l -419.89673 216.66461 l -419.84399 217.16531 l -418.42096 217.79778 l -416.04919 218.4566 l -414.78427 219.51071 l -414.09909 219.58977 l -413.67746 219.48436 l -412.83417 220.09047 l -411.88547 220.38036 l -410.67325 220.45941 l -410.30429 220.53847 l -409.98807 220.93376 l -409.56644 221.03917 l -409.35559 221.40811 l -408.61774 221.38176 l -408.14337 221.56622 l -407.14197 221.51352 l -406.77304 220.64388 l -406.82574 219.8533 l -406.56219 219.4053 l -406.29868 218.32484 l -405.87704 217.71872 l -406.14056 217.66602 l -406.03516 216.98085 l -406.19327 216.71732 l -406.14056 216.0585 l -405.92975 215.45238 l -405.50809 215.00438 l -405.40268 214.42462 l -404.61209 213.89757 l -403.8215 212.659 l -403.45258 211.47311 l -402.39847 210.47171 l -401.76599 210.23453 l -400.81729 208.83783 l -400.60648 207.81007 l -400.71188 206.94043 l -399.86859 205.33292 l -399.18344 204.75316 l -398.39285 204.43692 l -397.86578 203.61998 l -397.97119 203.2774 l -397.54956 202.51317 l -397.1279 202.19693 l -396.54816 201.11647 l -395.65216 199.9306 l -394.91428 198.92918 l -394.17639 198.92918 l -394.43994 198.11226 l -394.49265 197.61156 l -394.65076 197.03178 l -394.59805 196.82097 l -394.2291 197.40073 l -393.91287 198.50754 l -393.49124 199.27177 l -393.17499 199.53531 l -392.64795 199.06096 l -392.01547 198.40213 l -390.96136 196.29391 l -390.80325 196.42567 l -391.4357 197.98048 l -392.3317 199.45624 l -393.43851 201.72258 l -393.96558 202.51317 l -394.43994 203.35646 l -395.75757 204.96397 l -395.44135 205.22751 l -395.49405 206.17621 l -397.23331 207.49385 l -397.44415 207.78372 l -397.91849 209.23312 l -397.60226 209.49666 l -397.81308 210.99876 l -398.39285 212.73805 l -398.91989 213.10698 l -399.71048 213.6604 l -400.55377 215.34697 l -400.9754 216.69096 l -401.76599 217.4025 l -403.7688 218.79919 l -404.61209 219.61612 l -405.40268 220.45941 l -405.82434 220.96011 l -406.56219 221.40811 l -406.93115 221.85611 l -406.87845 222.46222 l -406.03516 222.83116 l -406.6676 223.22646 l -407.14197 223.48997 l -407.40549 224.0961 l -408.09067 224.70221 l -408.82855 224.70221 l -410.19888 224.33327 l -411.78006 224.17516 l -413.09769 223.70081 l -413.78287 223.62175 l -414.30994 223.35822 l -415.1532 223.30551 l -415.62756 223.27916 l -416.31274 223.04199 l -417.05063 222.91022 l -417.78848 222.40952 l -418.31555 222.40952 l -418.36826 222.80481 l -418.21014 223.6481 l -418.21014 224.41232 l -417.89389 224.93939 l -417.52496 226.54691 l -416.78708 228.18077 l -415.89108 230.05182 l -414.62616 232.1864 l -413.41394 233.82027 l -411.67465 235.82309 l -410.19888 237.00896 l -407.98526 238.45836 l -406.6676 239.56519 l -405.03375 241.35716 l -404.7175 242.1214 l -404.40128 242.46399 l -403.34717 243.04375 l -402.97824 243.64986 l -402.45117 243.75526 l -402.24036 244.80939 l -401.76599 245.38914 l -401.50247 246.3642 l -400.87 246.83855 l -400.23755 248.65689 l -400.29025 249.47383 l -401.23895 250.00089 l -401.29166 250.39618 l -400.87 251.26581 l -400.9754 251.71381 l -400.87 252.42534 l -401.39706 253.34769 l -401.97684 254.77074 l -402.50388 255.11333 l -402.7674 255.77214 l -402.71469 257.22156 l -402.8728 258.51282 l -402.92554 260.77917 l -403.18906 261.51706 l -402.7674 262.5448 l -402.18765 263.57257 l -401.23895 264.46857 l -399.9213 265.02197 l -398.28745 265.73349 l -396.60086 267.31467 l -396.07379 267.57819 l -395.01968 268.63229 l -394.43994 268.97488 l -394.2818 270.00266 l -395.01968 271.10947 l -395.2832 271.9791 l -395.2832 272.40076 l -395.54675 272.34805 l -395.49405 273.77109 l -395.2832 274.45627 l -395.59946 274.69345 l -395.38864 275.3259 l -394.80887 275.8266 l -393.59665 276.3273 l -391.80466 277.11789 l -391.17218 277.6713 l -391.33029 278.2774 l -391.69925 278.38281 l -391.54111 279.14706 l -391.17218 280.20117 l -391.01407 281.43976 l -390.64514 282.09857 l -389.64371 282.83646 l -389.38019 283.04727 l -388.74771 283.78516 l -388.32608 284.54938 l -387.48279 285.57715 l -385.84891 287.10559 l -384.7948 287.97525 l -383.68799 288.63406 l -382.15955 289.21381 l -381.42166 289.29288 l -381.26355 289.68817 l -380.36755 289.47736 l -379.62967 289.74088 l -378.04849 289.47736 l -377.1525 289.6618 l -376.52005 289.58276 l -375.04428 290.16251 l -373.77936 290.37335 l -372.88336 290.92676 l -372.19818 290.97946 l -371.61841 290.45239 l -371.09137 290.42606 l -370.45889 289.76724 l -370.40619 289.97806 l -370.19537 289.58276 l -370.19537 288.7131 l -369.72101 287.73807 l -370.19537 287.47455 l -370.19537 286.34137 l -369.19397 284.97101 l -368.45609 283.73245 l -367.40198 281.83505 l -366.34787 280.72821 l -365.7681 279.64777 l -365.45187 278.2247 l -365.08292 277.17059 l -364.60858 274.9306 l -364.55588 273.16498 l -364.39777 272.37439 l -363.81799 271.76828 l -363.0274 270.55606 l -362.28952 268.79041 l -361.9733 267.86807 l -360.76108 266.44501 l -360.65567 265.3382 l -360.55026 264.41586 l -360.76108 263.12457 l -361.23541 261.78058 l -361.34082 261.1481 l -361.81519 259.83047 l -362.13141 259.22437 l -362.9747 258.27567 l -363.44907 257.61682 l -363.60718 256.53638 l -363.55447 255.71944 l -363.08011 255.19238 l -362.71118 254.29639 l -362.34222 253.42674 l -362.44766 253.1105 l -362.86929 252.53075 l -362.44766 251.1077 l -362.13141 250.13264 l -361.39352 249.2103 l -361.55167 248.92041 l -361.34082 248.47241 l -360.91919 247.3656 l -359.75967 245.83714 l -358.2312 244.33504 l -357.2825 243.14915 l -356.38651 241.6207 l -356.43921 241.14635 l -356.75546 240.672 l -357.12439 239.61789 l -357.38791 238.51106 l -357.12439 238.30025 l -357.65146 236.66637 l -357.86227 235.50685 l -357.2825 234.5318 l -356.59732 234.29462 l -356.2811 233.6358 l -355.91217 233.42499 l -355.96487 233.00334 l -354.4364 233.5304 l -353.85663 233.45134 l -353.32959 233.79391 l -352.11737 233.76756 l -351.32678 232.84521 l -350.85242 231.79111 l -349.85101 230.81606 l -348.7442 230.84241 l -347.42657 230.84241 l -346.21432 231.00052 l -345.05481 231.31676 l -342.73578 232.1864 l -341.94519 232.6871 l -340.62753 233.10875 l -339.30991 232.6871 l -338.67743 232.71346 l -337.62332 232.42357 l -336.67462 232.42357 l -334.93533 232.6871 l -333.93393 233.10875 l -332.51089 233.66216 l -332.19467 233.60945 l -331.82571 233.6358 l -330.29724 232.92427 l -328.97961 231.81746 l -327.71469 231.00052 l -326.76599 230.07817 l -326.34433 229.94641 l -325.29022 229.36665 l -324.55234 228.57607 l -324.28882 228.04901 l -324.13071 226.96855 l -323.44553 226.09891 l -322.91849 225.51915 l -322.49683 225.33467 l -322.1806 225.0448 l -321.96979 224.41232 l -321.75894 224.06975 l -321.33731 223.83257 l -320.54672 223.22646 l -319.96698 223.12105 l -319.59802 222.72575 l -319.65073 222.48857 l -319.17639 222.17235 l -319.07098 221.88246 l -318.86014 220.7493 l -319.01828 220.09047 l -318.43851 218.95731 l -317.70062 218.43025 l -318.3331 218.16672 l -319.07098 217.13896 l -319.38721 216.37473 l -319.2818 215.58415 l -319.70343 214.87262 l -319.86154 213.50227 l -319.70343 212.05287 l -83.582512 140.162491 m -80 139.056122 l -80 263.5195 m -80.314766 263.4408 l -80.103951 264.15231 l -80 264.23029 l -527.89044 252.34628 m -528.89185 252.29358 l -529.36615 252.1091 l -529.89325 252.29358 l -529.36615 252.68886 l -527.83771 253.32133 l -526.62549 253.74298 l -525.67676 254.84979 l -524.41187 255.16603 l -524.25372 254.98155 l -524.35913 254.48085 l -524.99158 253.61121 l -526.46735 253.0051 l -526.62549 252.66251 l -527.89044 252.34628 l -80 364.00339 m -80.103951 364.02936 l -81.368881 363.15973 l -84.004158 363.63406 l -85.743439 363.10703 l -86.112381 363.13336 l -88.220604 363.73947 l -90.0653 363.13336 l -90.434235 363.05432 l -94.703384 362.79077 l -96.126442 363.13336 l -96.811607 363.31784 l -98.972542 363.79221 l -103.136276 364.18747 l -106.456726 364.63547 l -112.096222 364.97806 l -116.312668 364.58276 l -122.531929 364.87265 l -126.063202 365.32065 l -129.910706 364.89902 l -134.021744 364.50372 l -134.337967 363.79221 l -128.540359 363.73947 l -123.849564 363.39691 l -122.584633 362.81714 l -118.684418 362.50092 l -118.947945 361.84207 l -119.475006 361.26233 l -120.00206 360.70892 l -119.738533 360.10281 l -117.314072 359.70752 l -116.154556 359.18045 l -113.888214 358.73245 l -117.472191 358.81152 l -120.845345 358.57434 l -122.953568 359.07504 l -125.588852 358.62704 l -127.960602 358.10001 l -129.172821 357.59927 l -128.645767 356.99316 l -126.748367 356.59787 l -124.58744 356.17624 l -121.583229 356.09717 l -118.947945 355.88635 l -116.101845 355.75461 l -115.153145 355.20117 l -113.255745 354.72684 l -112.148933 354.22614 l -111.674583 352.56592 l -112.41246 352.69766 l -113.730095 353.17203 l -116.101845 353.01392 l -118.420891 352.80307 l -119.633118 353.43555 l -121.952164 353.30377 l -123.902267 352.98755 l -125.746964 352.59225 l -127.43354 352.09155 l -129.594467 351.95978 l -129.541763 351.40637 l -129.067413 350.85297 l -129.489059 350.35226 l -131.386459 350.08875 l -132.229752 350.58945 l -134.44339 350.29956 l -136.129959 349.93063 l -138.23819 349.87793 l -140.240997 349.74615 l -142.191101 349.40356 l -143.772263 349.08734 l -145.564255 348.77112 l -146.723785 348.85016 l -147.725189 348.98193 l -149.886108 348.77112 l -151.836212 349.03464 l -153.839035 349.00827 l -155.789139 348.79745 l -157.739243 348.95557 l -159.900177 349.08734 l -161.955688 349.03464 l -164.063904 349.06097 l -166.277542 349.08734 l -168.28035 349.03464 l -169.7561 348.58664 l -171.5481 348.37582 l -173.39279 348.69205 l -175.13208 348.42853 l -176.71324 347.90146 l -177.66194 348.37582 l -178.13629 348.87653 l -179.08499 349.37723 l -180.61345 348.95557 l -182.35274 349.48264 l -184.35555 349.66711 l -186.04213 350.06238 l -188.09764 349.98334 l -189.99504 349.71982 l -192.15598 349.77252 l -194.15878 349.98334 l -196.16159 350.24686 l -196.95218 349.61441 l -196.00348 349.11368 l -195.26561 348.58664 l -193.36821 348.48123 l -192.57762 347.92783 l -192.26138 347.40076 l -191.73433 346.29395 l -192.84114 346.50476 l -194.73854 346.58383 l -196.63594 346.50476 l -198.37523 346.74194 l -199.85098 347.16357 l -200.48346 347.69064 l -202.48627 347.76971 l -204.38367 347.55887 l -206.38647 347.26901 l -208.17847 347.11087 l -209.65422 347.45346 l -211.60432 347.34805 l -212.86926 346.21487 l -214.08148 346.87372 l -215.76807 347.13724 l -217.56006 347.00546 l -218.77228 347.55887 l -220.7224 347.61157 l -222.46167 347.79605 l -224.25366 348.11227 l -225.36047 347.55887 l -225.94025 347.05817 l -227.416 347.61157 l -229.41881 347.47983 l -230.89456 347.79605 l -231.89597 348.29675 l -233.84607 348.13864 l -235.37454 347.82242 l -236.903 347.45346 l -238.64229 347.24265 l -240.6978 347.08453 l -242.5952 346.87372 l -244.01825 346.55746 l -244.86154 346.10947 l -245.23048 345.47702 l -245.07236 344.87088 l -244.59801 344.29114 l -244.07095 343.71136 l -243.5966 343.15796 l -243.22766 342.63092 l -243.17496 342.05115 l -243.28036 341.49774 l -243.96555 340.94434 l -244.5453 340.33823 l -244.80884 339.75845 l -244.4926 339.12598 l -244.33449 338.57257 l -245.07236 337.88742 l -245.86295 337.46576 l -246.81165 336.91235 l -247.81305 336.46436 l -248.97256 336.04272 l -249.55234 335.41025 l -250.34291 335.01495 l -251.29161 334.61966 l -252.66196 334.54062 l -253.61066 334.09262 l -254.61206 333.80273 l -255.8243 333.61826 l -256.87842 333.24933 l -257.72171 332.80133 l -258.88123 332.61685 l -259.72452 332.98578 l -259.19745 333.48648 l -257.66898 333.90814 l -257.08923 334.22437 l -255.98241 333.98718 l -254.77019 334.14532 l -253.76878 334.48788 l -252.71466 334.85684 l -251.97679 335.27847 l -251.76596 335.85825 l -251.87138 336.41165 l -252.55655 336.88602 l -251.55515 337.22858 l -250.1848 337.36035 l -249.39421 337.83472 l -248.49821 338.30905 l -247.60223 338.94153 l -247.3914 339.46857 l -247.86575 340.07468 l -248.65634 340.54904 l -249.86856 340.89163 l -250.97539 341.33963 l -251.60785 341.91937 l -251.92409 342.47278 l -252.34573 343.02621 l -253.0309 343.52692 l -253.45255 344.05396 l -253.66336 345.42432 l -254.08501 345.95135 l -254.19043 346.53113 l -254.66478 347.11087 l -254.45395 347.87512 l -253.66336 348.48123 l -252.76738 348.98193 l -250.81726 349.16641 l -250.1848 349.69345 l -249.2888 350.16782 l -247.07516 350.72122 l -245.12506 350.95837 l -243.28036 351.27463 l -241.33026 351.59085 l -240.17075 352.19696 l -237.799 352.24966 l -235.21642 352.19696 l -232.89737 352.30237 l -230.42021 352.30237 l -230.89456 352.88214 l -233.1082 353.11932 l -234.74207 353.54095 l -235.69077 354.04166 l -234.0569 354.51602 l -231.52702 354.35791 l -229.41881 354.72684 l -229.3134 355.33295 l -229.2607 355.91272 l -230.99997 356.41342 l -231.31621 356.94046 l -233.1609 357.49387 l -236.27054 357.73105 l -238.90581 358.12634 l -241.01404 358.57434 l -243.64931 359.04871 l -247.3387 359.25952 l -250.92268 359.68115 l -253.39984 360.10281 l -256.14053 360.57715 l -257.56357 361.28867 l -258.24875 361.81573 l -260.04074 361.31503 l -262.46521 360.86703 l -264.99506 360.41904 l -268.05197 360.05011 l -270.63455 359.65482 l -274.27124 359.60211 l -277.85522 359.81293 l -280.80673 360.15552 l -281.75543 359.52304 l -283.81094 359.10141 l -287.50034 359.07504 l -290.39914 358.75882 l -293.13983 358.44257 l -296.19675 358.23175 l -299.46451 357.96823 l -301.73083 357.59927 l -300.67673 357.09857 l -300.04425 356.57153 l -300.04425 356.01813 l -297.19815 356.09717 l -294.19394 356.30801 l -291.34784 356.30801 l -290.92621 355.78094 l -291.13702 354.67413 l -291.7695 354.35791 l -293.87772 354.01532 l -296.35486 353.67273 l -298.14685 353.25107 l -299.88614 352.80307 l -301.2038 352.24966 l -303.2066 351.98615 l -305.20941 351.77533 l -306.21082 351.66992 l -308.47714 351.61722 l -310.63809 351.40637 l -312.43008 351.11652 l -314.22205 350.77393 l -315.80322 350.43134 l -317.85873 349.98334 l -319.12369 349.48264 l -320.49402 349.06097 l -320.96838 348.48123 l -319.38721 348.13864 l -319.91425 347.53253 l -320.86295 347.08453 l -322.39142 346.79465 l -324.0253 346.45206 l -325.50104 345.97772 l -326.66058 345.42432 l -327.34573 344.73914 l -328.45258 344.31747 l -330.19183 344.42291 l -330.87701 344.89725 l -332.66901 344.94995 l -332.72171 344.42291 l -333.45959 343.84314 l -335.04077 343.97491 l -335.4097 344.52832 l -337.14899 344.60736 l -339.04639 344.34384 l -340.89108 344.18573 l -342.52493 344.26477 l -343.15741 344.87088 l -344.79129 344.37018 l -346.26703 344.13303 l -347.90091 343.92218 l -349.53479 343.71136 l -351.06326 343.36877 l -352.69711 343.15796 l -353.96207 342.84174 l -354.85806 342.31467 l -355.91217 342.68362 l -357.44061 342.49915 l -358.49472 343.18433 l -359.33801 343.68503 l -361.0246 343.39514 l -361.65707 342.84174 l -363.13281 342.42007 l -365.08292 342.52548 l -365.66269 343.05255 l -366.8222 342.52548 l -368.40338 342.34103 l -370.14267 342.28833 l -371.67111 342.31467 l -373.30499 342.49915 l -374.88617 342.57822 l -375.57135 343.05255 l -376.52005 343.50055 l -378.1539 343.23703 l -379.84048 343.18433 l -381.52707 343.18433 l -383.16095 343.15796 l -384.63669 342.94714 l -386.16516 342.78903 l -387.48279 342.36737 l -388.85315 342.10385 l -390.32889 341.97208 l -391.4357 341.57678 l -392.22629 340.75986 l -393.06958 340.28552 l -394.59805 340.52267 l -395.1778 341.02338 l -396.44275 341.36597 l -397.97119 341.26056 l -398.9726 341.76126 l -400.07944 342.15656 l -401.55518 341.81396 l -402.08224 341.18152 l -403.39987 340.91797 l -404.92834 340.41727 l -406.35138 340.23282 l -408.09067 339.94293 l -409.25018 339.62668 l -410.4097 339.28412 l -411.56924 338.96786 l -412.93958 339.12598 l -414.25723 338.62527 l -415.20593 338.20364 l -416.57626 338.25635 l -417.78848 337.88742 l -418.10474 337.38672 l -419.31696 336.99142 l -420.52917 336.70154 l -422.00494 336.46436 l -423.32257 336.35895 l -424.64023 336.43802 l -426.01056 336.56976 l -427.17007 336.99142 l -427.32819 337.62387 l -428.59314 338.09824 l -429.48914 338.49353 l -431.22842 338.67798 l -432.22983 339.07327 l -433.44205 339.46857 l -434.81238 339.57397 l -436.02463 339.28412 l -437.28955 338.67798 l -438.65988 338.99423 l -440.08295 339.15234 l -441.45328 339.33682 l -442.87634 339.44223 l -444.35208 339.44223 l -445.56433 340.97067 l -445.51163 341.33963 l -445.30078 341.99844 l -443.93045 342.36737 l -442.77094 342.92078 l -442.98175 343.50055 l -444.61563 343.47418 l -444.40482 344.02762 l -443.66693 344.58102 l -442.98175 345.18713 l -444.08856 345.63513 l -445.77515 345.79324 l -447.46173 345.52972 l -448.25232 344.94995 l -448.77936 344.42291 l -449.56995 343.94855 l -450.46594 343.52692 l -450.83487 342.99985 l -451.62546 342.28833 l -452.57416 342.15656 l -454.20804 342.07751 l -455.68378 341.91937 l -457.15955 341.68222 l -457.89743 341.10245 l -458.31906 340.57538 l -459.32047 340.02197 l -460.74353 339.65305 l -461.95575 339.36316 l -462.79904 338.86246 l -463.58963 338.62527 l -464.69644 338.38812 l -466.11951 338.51987 l -467.43713 338.38812 l -468.9129 338.20364 l -470.49405 338.30905 l -471.54816 337.88742 l -472.28604 336.91235 l -472.86581 337.33398 l -473.55096 338.01917 l -474.76321 338.30905 l -476.18625 338.41446 l -477.55661 338.25635 l -479.08505 338.36176 l -480.45541 338.38812 l -481.35141 338.25635 l -482.61633 338.33542 l -483.72314 338.65164 l -485.0408 338.44083 l -486.62195 338.44083 l -487.93961 338.25635 l -489.46805 338.44083 l -490.46945 337.96646 l -491.20734 337.46576 l -492.20874 337.07047 l -494.05344 335.99002 l -495.00214 336.17447 l -496.10895 336.56976 l -497.05765 337.09683 l -498.95505 337.99283 l -500.37811 338.01917 l -501.69574 338.01917 l -503.27692 337.83472 l -504.85809 337.65024 l -506.07031 337.22858 l -507.07172 336.80695 l -508.7056 336.75424 l -509.81241 336.43802 l -510.97192 336.72787 l -511.70981 337.17587 l -512.71118 337.65024 l -514.34509 337.57117 l -515.3465 337.96646 l -517.08575 338.33542 l -518.93048 338.46716 l -520.45892 338.36176 l -521.56573 337.88742 l -522.56714 337.43942 l -523.88477 337.33398 l -525.20245 337.51846 l -526.7309 337.67657 l -528.10126 337.43942 l -529.41888 337.43942 l -530.68384 337.57117 l -532.05414 337.72928 l -533.37177 337.46576 l -534.95294 337.22858 l -536.42871 337.17587 l -538.1153 337.17587 l -539.43292 337.04413 l -540.75055 336.91235 l -541.17224 336.20084 l -541.22491 335.59473 l -542.12091 336.01636 l -542.38446 336.67517 l -542.9115 337.28128 l -543.49127 337.75565 l -544.70349 338.01917 l -546.39008 337.94012 l -548.28748 337.88742 l -549.6051 337.80835 l -551.55524 337.80835 l -552.92554 337.78198 l -554.82294 337.83472 l -556.45685 337.96646 l -557.51093 338.41446 l -557.24744 338.96786 l -558.19611 339.38953 l -559.77728 339.73212 l -561.41113 340.10104 l -563.25586 340.36456 l -565.25867 340.60175 l -566.73444 340.81256 l -568.42102 340.86526 l -569.36969 340.36456 l -570.63464 340.75986 l -571.74146 341.23422 l -573.05908 341.57678 l -574.85107 341.70856 l -576.53766 341.89304 l -577.22284 342.47278 l -578.90942 342.81537 l -580.01624 343.31607 l -581.65009 343.55325 l -583.33667 343.52692 l -584.91785 343.60596 l -586.6571 343.57962 l -588.4491 343.68503 l -590.08301 343.89584 l -591.55872 344.23843 l -593.08722 344.52832 l -594.1413 344.94995 l -593.98322 345.52972 l -593.19263 346.05676 l -592.50745 346.71558 l -592.03308 347.21628 l -591.29523 347.82242 l -589.39783 348.05957 l -588.5545 348.56027 l -586.6571 348.87653 l -585.97192 349.45627 l -584.97052 350.00967 l -583.91644 350.45767 l -583.33667 351.06381 l -582.96771 351.61722 l -582.80963 352.27603 l -582.80963 352.80307 l -583.65289 353.38284 l -583.96912 353.93625 l -584.6543 354.46332 l -587.39502 354.64777 l -587.97473 355.28024 l -585.33948 355.51743 l -583.07312 355.83365 l -580.33246 355.88635 l -579.0675 356.72964 l -578.80402 357.41483 l -578.17151 357.94186 l -577.43365 358.49527 l -579.38373 358.99597 l -580.12164 359.57574 l -581.38654 360.12915 l -583.12585 360.62985 l -585.18134 361.07785 l -587.39502 361.52585 l -590.76813 362.00021 l -591.50604 362.71173 l -595.72247 363.02795 l -595.98602 363.13336 l -597.09283 363.58136 l -601.15112 363.21243 l -604.47162 363.66043 l -607 364.00281 l -80 139.056122 m -83.582512 140.162491 l -87.430023 141.611893 l -87.271904 142.534241 l -88.273308 142.903183 l -87.957077 141.822708 l -91.909996 142.033539 l -94.8088 143.403885 l -93.333046 144.062698 l -90.908585 144.194458 l -90.908585 145.64386 l -90.328827 145.933746 l -88.958481 145.907394 l -87.798958 145.380341 l -85.901558 144.958694 l -85.532623 144.326233 l -84.056862 144.08905 l -82.422989 144.273514 l -81.579704 143.772812 l -81.895935 143.219406 l -80.156654 143.561996 l -80.841827 144.247162 l -80 144.87854 l -80 135.313019 m -80.209358 135.234512 l -81.421585 135.260864 l -83.529808 135.656158 l -83.4244 135.866989 l -81.895935 136.209564 l -80 136.314896 l -607 136.315048 m -605.42029 136.394043 l -605.1568 135.919693 l -607 135.314056 l -607 264.23196 m -606.05273 264.60031 l -605.1568 264.91656 l -604.94592 264.36316 l -605.68384 264.04691 l -606.1582 263.96786 l -607 263.52063 l -253.9269 315.90918 m -255.66618 315.01318 l -256.93112 315.38214 l -257.77441 314.80237 l -258.93393 315.46118 l -258.51227 315.98825 l -256.56216 316.40988 l -255.877 315.90918 l -254.66478 316.56799 l -253.9269 315.90918 l -444.40482 311.19205 m -445.35352 311.64005 l -446.72385 311.82449 l -446.77655 312.11438 l -446.40762 312.77319 l -444.14127 312.87863 l -444.08856 312.08804 l -444.29938 311.48193 l -444.40482 311.19205 l -604.2608 265.62808 m -604.6297 265.3909 l -605.10406 265.81256 l -604.89325 266.57678 l -603.99725 266.76126 l -603.15393 266.60312 l -603.04852 265.94431 l -603.57562 265.4436 l -604.2608 265.62808 l -253.18901 224.25421 m -254.0323 224.06975 l -254.34854 224.12245 l -254.29584 225.20291 l -253.0836 225.36102 l -252.82008 225.22926 l -253.24173 224.83397 l -253.18901 224.25421 l -115.996437 210.60347 m -116.259964 210.73523 l -116.523491 210.91971 l -116.892433 211.44676 l -116.839722 211.52582 l -116.259964 211.84206 l -115.785614 212.05287 l -115.574791 212.31641 l -115.205849 212.10558 l -115.25856 211.68393 l -115.047737 211.15688 l -115.100441 210.99876 l -115.363968 210.76158 l -115.25856 210.47171 l -115.311264 210.33995 l -115.469383 210.3663 l -115.996437 210.60347 l -115.153145 209.60207 m -114.995033 209.78653 l -114.520683 209.89195 l -114.257149 209.57571 l -114.099037 209.44395 l -114.099037 209.3649 l -114.257149 209.23312 l -114.731499 209.39125 l -115.153145 209.60207 l -114.046333 208.99596 m -113.993622 209.15407 l -113.203041 209.12772 l -113.308449 208.94325 l -114.046333 208.99596 l -112.148933 208.20537 m -112.307045 208.31078 l -112.728691 208.78513 l -112.623283 208.86418 l -112.517868 208.86418 l -112.043518 208.81148 l -111.832695 208.4689 l -111.779991 208.4162 l -112.148933 208.20537 l -110.198822 207.46748 m -110.251526 207.81007 l -110.04071 207.9682 l -109.56636 207.70467 l -109.619064 207.59926 l -109.882591 207.44113 l -110.198822 207.46748 l -229.04987 203.09293 m -229.47151 203.14563 l -229.99857 204.35786 l -229.99857 205.22751 l -229.62962 205.28021 l -229.2607 204.43692 l -228.73364 204.01527 l -229.04987 203.09293 l -227.89035 200.77388 m -228.57552 200.66847 l -229.52422 200.72118 l -229.57692 201.09012 l -227.99576 201.32729 l -227.89035 200.77388 l -229.62962 200.40495 m -230.78915 201.06377 l -230.52562 202.11787 l -230.2621 201.93341 l -230.2621 201.16917 l -229.62962 200.58942 l -229.62962 200.40495 l -249.76315 171.15335 m -250.29021 171.86488 l -251.34433 172.04935 l -252.71466 172.02299 l -251.97679 172.60277 l -251.44974 172.70818 l -249.60504 172.0757 l -249.2361 171.60135 l -249.76315 171.15335 l -411.83276 174.68463 m -413.30853 173.18253 l -414.73157 172.94534 l -415.36404 172.0757 l -416.73438 171.75948 l -418.42096 171.127 l -419.68588 171.49594 l -421.16165 171.41689 l -421.42517 172.31288 l -421.16165 173.73593 l -419.84399 173.5251 l -418.63177 173.76228 l -418.57907 174.84274 l -417.15604 174.68463 l -417.20874 175.18533 l -417.99933 175.55428 l -418.68448 176.84557 l -420.37106 177.34627 l -420.63458 177.87332 l -420.26566 178.47943 l -420.37106 178.82202 l -420.79269 179.77072 l -420.95084 178.71661 l -422.16306 178.34767 l -422.58469 179.1646 l -423.63879 180.06059 l -422.32117 180.50859 l -420.95084 180.16602 l -420.63458 181.40459 l -421.63599 181.48364 l -421.21436 182.48505 l -422.37387 182.98576 l -422.16306 184.51422 l -422.42657 185.54198 l -422.32117 185.88457 l -420.00214 186.27986 l -417.94659 186.01633 l -416.89249 185.27844 l -415.52216 184.98857 l -415.04779 183.90811 l -414.99509 183.17023 l -415.57486 182.82764 l -415.78568 182.32693 l -416.04919 181.19377 l -417.26144 181.062 l -416.83978 180.66672 l -416.15463 180.61401 l -415.41675 179.55989 l -414.62616 178.79567 l -413.04498 177.08273 l -413.15039 176.08133 l -411.83276 174.68463 l -249.02528 166.989624 m -249.55234 166.857849 l -251.50244 167.226791 l -252.9782 167.85925 l -253.0309 168.12279 l -252.29303 168.14914 l -250.39563 167.674789 l -249.02528 166.989624 l -225.94025 149.122437 m -226.4673 148.674438 l -227.09976 148.70079 l -227.4687 149.017029 l -226.88895 149.78125 l -226.25647 149.64949 l -225.83482 149.201492 l -225.94025 149.122437 l -220.56427 148.569031 m -221.61838 147.910202 l -223.6212 147.910202 l -223.6212 148.200089 l -221.88191 149.017029 l -220.88051 148.96431 l -220.56427 148.569031 l -233.37172 141.269302 m -232.42302 141.690948 l -230.78915 141.770004 l -230.42021 141.058487 l -231.05267 140.241547 l -232.42302 140.030716 l -233.52985 140.452362 l -233.58255 141.058487 l -233.37172 141.269302 l -202.17003 138.001556 m -203.48767 138.844849 l -202.59167 139.345551 l -200.58887 138.897552 l -199.42934 139.055664 l -197.42653 138.396851 l -198.69147 137.948853 l -199.69287 137.316391 l -201.27403 137.738037 l -202.17003 138.001556 l -187.57059 133.020889 m -189.20447 133.626999 l -190.10046 135.050049 l -190.57481 136.077805 l -193.05197 136.789337 l -195.68724 137.500854 l -195.52913 138.133316 l -193.10468 138.265091 l -194.05338 138.818497 l -193.52632 139.345551 l -190.89104 139.134735 l -188.36118 138.739441 l -186.67459 138.818497 l -183.93391 139.319199 l -180.24452 139.530014 l -177.60924 139.661789 l -176.81865 138.976608 l -174.81584 138.581314 l -173.55092 138.739441 l -171.70622 137.57991 l -172.70763 137.421799 l -174.97397 137.184616 l -177.02948 137.237335 l -178.92688 137.000153 l -176.08078 136.657562 l -172.97115 136.762985 l -170.91563 136.736618 l -170.12505 136.183212 l -173.4982 135.603455 l -171.28458 135.629807 l -168.702 135.234512 l -169.91423 134.154053 l -170.96834 133.574295 l -174.86855 132.678299 l -176.39702 132.96817 l -175.65913 133.653351 l -178.87418 133.205353 l -180.92969 133.943237 l -182.56357 133.205353 l -183.93391 133.679703 l -185.14613 135.102753 l -185.88402 134.496643 l -184.8299 132.994537 l -186.09483 132.783707 l -187.57059 133.020889 l -226.73082 133.416168 m -225.09695 132.651947 l -225.14966 132.124893 l -225.88754 132.01947 l -229.20799 132.177597 l -231.73785 132.994537 l -231.89597 133.389816 l -230.3148 133.337112 l -228.73364 133.31076 l -227.15247 133.521591 l -226.73082 133.416168 l -548.23474 132.599243 m -549.65784 132.01947 l -551.44983 131.887711 l -553.55804 132.441116 l -553.71613 132.836411 l -551.5025 132.836411 l -548.49829 132.678299 l -548.23474 132.599243 l -560.46246 129.700439 m -564.15186 130.095718 l -562.46527 130.675491 l -560.14624 130.543716 l -557.40552 129.963959 l -557.77448 129.489609 l -560.46246 129.700439 l -546.75903 128.540909 m -550.60651 128.619965 l -555.87708 129.384201 l -554.71753 130.464661 l -549.34155 130.438309 l -546.91711 130.780899 l -544.01831 129.832199 l -544.8089 128.830795 l -546.75903 128.540909 l -199.21852 127.882088 m -199.32393 127.697624 l -200.43076 128.356445 l -200.48346 129.120667 l -199.79828 130.201141 l -197.37383 130.359253 l -195.79266 130.12207 l -195.84537 129.278793 l -193.47362 129.384201 l -193.36821 128.251022 l -194.94937 128.303741 l -197.11029 127.803032 l -199.21852 127.882088 l -494.05344 123.929176 m -497.74283 124.772461 l -497.3212 125.378578 l -489.04642 125.931984 l -491.73441 124.008232 l -492.94662 123.850113 l -494.05344 123.929176 l -480.77164 121.399307 m -483.93396 121.056717 l -486.78006 121.794601 l -490.15323 123.217651 l -489.7843 124.535286 l -486.62195 124.719757 l -482.51093 124.298111 l -480.08646 123.718353 l -478.97964 122.69059 l -476.97684 122.400711 l -480.77164 121.399307 l -202.96062 122.005417 m -203.96202 121.557426 l -205.43777 121.452011 l -204.80531 121.109428 l -208.23117 121.056717 l -210.07587 121.820953 l -214.97748 122.427063 l -216.13701 123.375763 l -217.8763 123.850113 l -215.87347 124.298111 l -213.1855 125.40493 l -210.55022 125.510338 l -207.54601 125.325874 l -205.96483 124.719757 l -205.96483 124.192703 l -207.12436 123.797409 l -204.48907 123.797409 l -202.85521 123.323059 l -201.90651 122.664238 l -202.96062 122.005417 l -209.44341 120.108017 m -211.60432 119.84449 l -213.29091 119.791786 l -216.18971 119.554611 l -218.35065 119.001205 l -220.14262 119.080261 l -221.7238 119.501907 l -222.83061 118.711319 l -224.78072 118.474144 l -227.416 118.316032 l -231.89597 118.236969 l -232.63385 118.395088 l -236.903 118.157913 l -240.06534 118.236969 l -243.22766 118.342384 l -247.12788 118.447792 l -250.29021 118.632263 l -252.9782 119.027557 l -252.87279 119.422844 l -249.34151 120.055313 l -245.75754 120.371544 l -244.4399 120.687782 l -247.65494 120.687782 l -244.17636 121.583778 l -241.80461 121.979065 l -239.27475 123.191292 l -236.27054 123.428467 l -235.32184 123.718353 l -230.89456 123.876465 l -232.95009 124.060936 l -231.89597 124.324463 l -233.1082 125.035988 l -231.73785 125.53669 l -229.47151 125.958336 l -228.78635 126.538101 l -226.73082 126.986099 l -226.94165 127.30233 l -229.47151 127.249626 l -229.47151 127.592209 l -225.5713 128.488205 l -221.7238 128.066559 l -217.45465 128.303741 l -215.24101 128.119263 l -212.50032 128.040207 l -212.28951 127.355034 l -215.03018 127.012451 l -214.29231 125.958336 l -215.18831 125.852928 l -219.08852 126.48539 l -217.08571 125.563049 l -214.71396 125.273163 l -215.92618 124.693405 l -218.50876 124.350815 l -218.9304 123.850113 l -216.87488 123.270355 l -216.24242 122.532478 l -220.24805 122.585182 l -221.40756 122.743301 l -223.6739 122.21624 l -220.40616 122.031776 l -215.24101 122.137184 l -212.65843 121.636482 l -211.44621 121.056717 l -209.75963 120.608727 l -209.44341 120.108017 l -275.06183 119.053909 m -279.96344 118.157913 l -285.0759 118.236969 l -286.9733 117.683563 l -292.13843 117.551804 l -303.83905 117.736267 l -313.00983 118.89579 l -310.26913 119.449203 l -304.68234 119.528259 l -296.77652 119.660019 l -297.5144 119.923553 l -302.73224 119.765434 l -307.10681 120.266136 l -309.95291 119.818138 l -311.16513 120.345192 l -309.58398 121.188484 l -313.32605 120.66143 l -320.44131 120.081665 l -324.81589 120.371544 l -325.60648 121.004013 l -319.65073 122.031776 l -318.80743 122.374359 l -314.16934 122.637886 l -317.54251 122.69059 l -315.85593 123.771057 l -314.64371 124.719757 l -314.69641 126.35363 l -316.4357 127.30233 l -314.16934 127.355034 l -311.7449 127.829384 l -314.4856 128.593613 l -314.80182 129.832199 l -313.22064 129.990311 l -315.11804 131.228897 l -311.90302 131.334305 l -313.5896 131.940414 l -313.11523 132.467468 l -311.05972 132.678299 l -309.00421 132.678299 l -310.84891 133.679703 l -310.84891 134.338516 l -307.9501 133.732407 l -307.21222 134.127701 l -309.16232 134.470291 l -311.11243 135.366287 l -311.6395 136.552155 l -309.05692 136.842041 l -307.8974 136.262268 l -306.10541 135.445343 l -306.63245 136.420395 l -304.89319 137.184616 l -308.74069 137.263687 l -310.7962 137.342743 l -306.84329 138.607666 l -302.89035 139.767197 l -298.62122 140.267899 l -296.98734 140.267899 l -295.45889 140.847656 l -293.45605 142.376114 l -290.29373 143.403885 l -289.29233 143.482941 l -287.34222 143.825516 l -285.23401 144.168106 l -283.96906 145.090454 l -283.96906 146.11821 l -283.1785 147.06691 l -280.80673 148.22644 l -281.38651 149.385956 l -280.75403 150.59819 l -280.01614 152.02124 l -277.96063 152.100296 l -275.79971 150.914429 l -272.84821 150.914429 l -271.42514 150.097488 l -270.47644 148.674438 l -267.89386 146.856094 l -267.15601 145.907394 l -266.99786 144.589752 l -264.94235 143.245758 l -265.46942 142.165298 l -264.52072 141.638245 l -265.94376 139.925308 l -268.15741 139.398254 l -268.73715 138.765793 l -269.05341 137.632614 l -267.36682 138.159668 l -266.57623 138.370499 l -265.25861 138.581314 l -263.46661 138.106964 l -263.36121 137.10556 l -263.94095 136.314987 l -265.25861 136.314987 l -268.26282 136.683914 l -265.73294 135.761566 l -264.46802 135.260864 l -262.99225 135.471695 l -261.78003 135.102753 l -263.41391 133.732407 l -262.51791 133.205353 l -261.35837 132.177597 l -259.56638 130.622772 l -257.72171 130.069366 l -257.72171 129.463257 l -253.82149 128.593613 l -250.71185 128.488205 l -246.81165 128.540909 l -243.22766 128.646317 l -241.54109 128.198318 l -238.95851 127.275978 l -242.80602 126.801628 l -245.75754 126.722565 l -239.48557 126.35363 l -236.21782 125.747513 l -236.37595 125.194107 l -241.96274 124.482582 l -247.286 123.771057 l -247.86575 123.244003 l -243.91284 122.716942 l -245.17776 122.137184 l -250.29021 121.109428 l -252.39844 120.951309 l -251.76596 120.292488 l -255.24454 119.923553 l -259.77722 119.686378 l -264.25717 119.660019 l -265.83835 120.134369 l -269.73856 119.317436 l -273.21713 119.870842 l -275.27264 119.976257 l -278.32956 120.450607 l -274.85101 119.660019 l -275.06183 119.053909 l -187.46518 132.256653 m -189.41528 132.203949 l -190.52211 132.520187 l -189.25717 133.495239 l -186.93813 132.467468 l -187.46518 132.256653 l -S -80 108.250732 527 263.49854 re -S -/DeviceRGB {} CS -[0.2471 0.0157 0.6118] SC -/DeviceRGB {} cs -[0.2471 0.0157 0.6118] sc -440.87354 185.30479 m -441.71683 185.30479 l -442.77094 185.62103 l -443.24527 185.80551 l -444.29938 185.33116 l -444.77374 185.62103 l -445.24808 184.93587 l -446.14407 184.96222 l -446.35492 184.75139 l -446.51303 184.17163 l -447.14548 183.67093 l -447.93607 183.98717 l -447.77795 184.43517 l -448.25232 184.51422 l -448.09418 185.75279 l -448.67395 186.22714 l -449.20102 185.91092 l -449.83347 185.77914 l -450.72946 185.12033 l -451.73087 185.22574 l -453.25934 185.22574 l -453.52286 185.64738 l -452.67957 185.80551 l -451.94171 186.06903 l -450.25513 186.25349 l -448.67395 186.54338 l -447.83066 187.20221 l -448.14688 187.80832 l -448.35773 188.54619 l -447.61984 189.15231 l -447.67255 189.70572 l -447.25092 190.23277 l -445.88055 190.20642 l -446.46033 191.15512 l -445.51163 191.52406 l -444.87915 192.42006 l -444.98456 193.28969 l -444.40482 193.71133 l -443.87775 193.57957 l -442.71823 193.76404 l -442.56012 194.18568 l -441.50598 194.18568 l -440.66272 195.00262 l -440.60999 196.24121 l -438.71259 196.84732 l -437.71118 196.71556 l -437.39496 197.05814 l -436.55167 196.87367 l -435.07593 197.08449 l -432.59875 196.32027 l -433.91638 195.00262 l -433.81097 194.05392 l -432.70416 193.81676 l -432.59875 192.89441 l -432.12439 191.70853 l -432.75687 190.91794 l -432.12439 190.70712 l -432.49335 189.62666 l -433.12582 187.80832 l -434.60156 188.36172 l -435.70837 188.17726 l -436.02463 187.51843 l -437.18414 187.28127 l -437.97473 186.83327 l -438.29095 185.67374 l -439.50317 185.38387 l -439.76672 184.85681 l -440.45187 185.25209 l -440.87354 185.30479 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -440.87354 185.30479 m -441.71683 185.30479 l -442.77094 185.62103 l -443.24527 185.80551 l -444.29938 185.33116 l -444.77374 185.62103 l -445.24808 184.93587 l -446.14407 184.96222 l -446.35492 184.75139 l -446.51303 184.17163 l -447.14548 183.67093 l -447.93607 183.98717 l -447.77795 184.43517 l -448.25232 184.51422 l -448.09418 185.75279 l -448.67395 186.22714 l -449.20102 185.91092 l -449.83347 185.77914 l -450.72946 185.12033 l -451.73087 185.22574 l -453.25934 185.22574 l -453.52286 185.64738 l -452.67957 185.80551 l -451.94171 186.06903 l -450.25513 186.25349 l -448.67395 186.54338 l -447.83066 187.20221 l -448.14688 187.80832 l -448.35773 188.54619 l -447.61984 189.15231 l -447.67255 189.70572 l -447.25092 190.23277 l -445.88055 190.20642 l -446.46033 191.15512 l -445.51163 191.52406 l -444.87915 192.42006 l -444.98456 193.28969 l -444.40482 193.71133 l -443.87775 193.57957 l -442.71823 193.76404 l -442.56012 194.18568 l -441.50598 194.18568 l -440.66272 195.00262 l -440.60999 196.24121 l -438.71259 196.84732 l -437.71118 196.71556 l -437.39496 197.05814 l -436.55167 196.87367 l -435.07593 197.08449 l -432.59875 196.32027 l -433.91638 195.00262 l -433.81097 194.05392 l -432.70416 193.81676 l -432.59875 192.89441 l -432.12439 191.70853 l -432.75687 190.91794 l -432.12439 190.70712 l -432.49335 189.62666 l -433.12582 187.80832 l -434.60156 188.36172 l -435.70837 188.17726 l -436.02463 187.51843 l -437.18414 187.28127 l -437.97473 186.83327 l -438.29095 185.67374 l -439.50317 185.38387 l -439.76672 184.85681 l -440.45187 185.25209 l -440.87354 185.30479 l -h -S -/DeviceRGB {} CS -[0.9882 0.7412 0.1725] SC -/DeviceRGB {} cs -[0.9882 0.7412 0.1725] sc -374.25369 180.21872 m -374.25369 180.58765 l -373.77936 180.79848 l -373.67395 181.27283 l -372.98877 181.98434 l -372.72522 181.87894 l -372.72522 181.56271 l -371.93466 181.08836 l -371.77652 180.37683 l -371.88196 179.37543 l -372.09277 178.92743 l -371.88196 178.69025 l -371.77652 178.24226 l -372.409 177.50438 l -372.4617 177.79427 l -372.88336 177.66249 l -373.19958 178.05779 l -373.56851 178.18954 l -373.62122 178.71661 l -373.4631 179.21732 l -373.67395 179.84978 l -374.25369 180.21872 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -374.25369 180.21872 m -374.25369 180.58765 l -373.77936 180.79848 l -373.67395 181.27283 l -372.98877 181.98434 l -372.72522 181.87894 l -372.72522 181.56271 l -371.93466 181.08836 l -371.77652 180.37683 l -371.88196 179.37543 l -372.09277 178.92743 l -371.88196 178.69025 l -371.77652 178.24226 l -372.409 177.50438 l -372.4617 177.79427 l -372.88336 177.66249 l -373.19958 178.05779 l -373.56851 178.18954 l -373.62122 178.71661 l -373.4631 179.21732 l -373.67395 179.84978 l -374.25369 180.21872 l -h -S -/DeviceRGB {} CS -[0.9765 0.6 0.2431] SC -/DeviceRGB {} cs -[0.9765 0.6 0.2431] sc -330.77161 199.90424 m -330.82431 199.61436 l -330.82431 199.50896 l -330.82431 197.76967 l -333.14337 196.68921 l -334.61911 196.47838 l -335.83133 196.08308 l -336.4111 195.34521 l -338.09769 194.76546 l -338.15039 193.68498 l -338.99368 193.55322 l -339.67883 193.02617 l -341.57623 192.76263 l -341.83978 192.20923 l -341.47083 191.89299 l -340.94379 190.33818 l -340.89108 189.44218 l -340.31131 188.51984 l -341.73438 187.72926 l -343.31552 187.46573 l -344.21152 186.85962 l -345.63458 186.41162 l -348.11172 186.14809 l -350.53619 186.04268 l -351.27408 186.25349 l -352.64441 185.67374 l -354.22559 185.67374 l -354.80533 185.98997 l -355.80676 185.91092 l -355.54321 186.67514 l -355.75403 188.07184 l -355.43781 189.25772 l -354.48911 190.07466 l -354.64722 191.18147 l -355.85947 192.05112 l -355.85947 192.42006 l -356.75546 192.99982 l -357.38791 195.63509 l -357.86227 196.92638 l -357.91498 197.61156 l -357.65146 198.79742 l -357.75687 199.45624 l -357.59872 200.27318 l -357.70416 201.19553 l -357.12439 201.80164 l -358.02039 202.85576 l -358.07309 203.48822 l -358.60016 204.30516 l -359.28531 204.04163 l -360.44482 204.72681 l -361.0773 205.64915 l -356.07028 208.44255 l -351.80112 211.315 l -349.74561 211.94746 l -348.11172 212.10558 l -348.11172 211.18323 l -347.42657 210.91971 l -346.53058 210.52441 l -346.16162 209.83925 l -341.20731 206.62421 l -336.30569 203.43552 l -330.77161 199.90424 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -330.77161 199.90424 m -330.82431 199.61436 l -330.82431 199.50896 l -330.82431 197.76967 l -333.14337 196.68921 l -334.61911 196.47838 l -335.83133 196.08308 l -336.4111 195.34521 l -338.09769 194.76546 l -338.15039 193.68498 l -338.99368 193.55322 l -339.67883 193.02617 l -341.57623 192.76263 l -341.83978 192.20923 l -341.47083 191.89299 l -340.94379 190.33818 l -340.89108 189.44218 l -340.31131 188.51984 l -341.73438 187.72926 l -343.31552 187.46573 l -344.21152 186.85962 l -345.63458 186.41162 l -348.11172 186.14809 l -350.53619 186.04268 l -351.27408 186.25349 l -352.64441 185.67374 l -354.22559 185.67374 l -354.80533 185.98997 l -355.80676 185.91092 l -355.54321 186.67514 l -355.75403 188.07184 l -355.43781 189.25772 l -354.48911 190.07466 l -354.64722 191.18147 l -355.85947 192.05112 l -355.85947 192.42006 l -356.75546 192.99982 l -357.38791 195.63509 l -357.86227 196.92638 l -357.91498 197.61156 l -357.65146 198.79742 l -357.75687 199.45624 l -357.59872 200.27318 l -357.70416 201.19553 l -357.12439 201.80164 l -358.02039 202.85576 l -358.07309 203.48822 l -358.60016 204.30516 l -359.28531 204.04163 l -360.44482 204.72681 l -361.0773 205.64915 l -356.07028 208.44255 l -351.80112 211.315 l -349.74561 211.94746 l -348.11172 212.10558 l -348.11172 211.18323 l -347.42657 210.91971 l -346.53058 210.52441 l -346.16162 209.83925 l -341.20731 206.62421 l -336.30569 203.43552 l -330.77161 199.90424 l -h -S -/DeviceRGB {} CS -[0.1961 0.0196 0.5922] SC -/DeviceRGB {} cs -[0.1961 0.0196 0.5922] sc -362.50037 246.99666 m -361.9733 247.3129 l -361.76248 247.68184 l -361.70978 248.3143 l -361.34082 248.47241 l -360.91919 247.3656 l -361.55167 246.73314 l -361.9733 246.49596 l -362.50037 246.99666 l -h -361.55167 248.92041 m -362.13141 248.73595 l -362.55307 248.7623 l -363.08011 248.57784 l -367.40198 248.60419 l -367.7709 249.68465 l -368.19257 250.58064 l -368.50879 251.05499 l -369.08856 251.81923 l -370.03726 251.68745 l -370.5116 251.47664 l -371.35489 251.68745 l -371.5657 251.31853 l -371.93466 250.47523 l -372.83066 250.42253 l -372.93607 250.159 l -373.67395 250.159 l -373.51581 250.68605 l -375.3078 250.68605 l -375.3605 251.58205 l -375.62405 252.1618 l -375.41321 253.03145 l -375.51862 253.9538 l -375.99298 254.48085 l -375.94028 256.22012 l -376.3092 256.08838 l -376.94168 256.14108 l -377.83768 255.9039 l -378.52286 255.98296 l -378.68097 256.45731 l -378.47015 257.16882 l -378.73367 257.854 l -378.52286 258.40741 l -378.68097 258.90811 l -375.62405 258.88177 l -375.51862 263.5462 l -376.52005 264.73209 l -377.46875 265.65442 l -374.78076 266.26056 l -371.24948 266.04971 l -370.24808 265.3382 l -364.29236 265.3909 l -364.08151 265.49631 l -363.18552 264.83749 l -362.23682 264.81116 l -361.39352 265.04831 l -360.65567 265.3382 l -360.55026 264.41586 l -360.76108 263.12457 l -361.23541 261.78058 l -361.34082 261.1481 l -361.81519 259.83047 l -362.13141 259.22437 l -362.9747 258.27567 l -363.44907 257.61682 l -363.60718 256.53638 l -363.55447 255.71944 l -363.08011 255.19238 l -362.71118 254.29639 l -362.34222 253.42674 l -362.44766 253.1105 l -362.86929 252.53075 l -362.44766 251.1077 l -362.13141 250.13264 l -361.39352 249.2103 l -361.55167 248.92041 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -362.50037 246.99666 m -361.9733 247.3129 l -361.76248 247.68184 l -361.70978 248.3143 l -361.34082 248.47241 l -360.91919 247.3656 l -361.55167 246.73314 l -361.9733 246.49596 l -362.50037 246.99666 l -h -361.55167 248.92041 m -362.13141 248.73595 l -362.55307 248.7623 l -363.08011 248.57784 l -367.40198 248.60419 l -367.7709 249.68465 l -368.19257 250.58064 l -368.50879 251.05499 l -369.08856 251.81923 l -370.03726 251.68745 l -370.5116 251.47664 l -371.35489 251.68745 l -371.5657 251.31853 l -371.93466 250.47523 l -372.83066 250.42253 l -372.93607 250.159 l -373.67395 250.159 l -373.51581 250.68605 l -375.3078 250.68605 l -375.3605 251.58205 l -375.62405 252.1618 l -375.41321 253.03145 l -375.51862 253.9538 l -375.99298 254.48085 l -375.94028 256.22012 l -376.3092 256.08838 l -376.94168 256.14108 l -377.83768 255.9039 l -378.52286 255.98296 l -378.68097 256.45731 l -378.47015 257.16882 l -378.73367 257.854 l -378.52286 258.40741 l -378.68097 258.90811 l -375.62405 258.88177 l -375.51862 263.5462 l -376.52005 264.73209 l -377.46875 265.65442 l -374.78076 266.26056 l -371.24948 266.04971 l -370.24808 265.3382 l -364.29236 265.3909 l -364.08151 265.49631 l -363.18552 264.83749 l -362.23682 264.81116 l -361.39352 265.04831 l -360.65567 265.3382 l -360.55026 264.41586 l -360.76108 263.12457 l -361.23541 261.78058 l -361.34082 261.1481 l -361.81519 259.83047 l -362.13141 259.22437 l -362.9747 258.27567 l -363.44907 257.61682 l -363.60718 256.53638 l -363.55447 255.71944 l -363.08011 255.19238 l -362.71118 254.29639 l -362.34222 253.42674 l -362.44766 253.1105 l -362.86929 252.53075 l -362.44766 251.1077 l -362.13141 250.13264 l -361.39352 249.2103 l -361.55167 248.92041 l -h -S -/DeviceRGB {} CS -[0.9882 0.702 0.1882] SC -/DeviceRGB {} cs -[0.9882 0.702 0.1882] sc -243.01685 317.04236 m -243.5966 317.72754 l -244.33449 318.83435 l -246.23189 319.70398 l -248.2874 320.07294 l -247.60223 320.81079 l -246.23189 320.88986 l -245.494 320.36279 l -244.59801 320.33646 l -243.01685 320.33646 l -243.01685 317.04236 l -h -259.14474 284.23315 m -258.77582 285.39267 l -258.40686 286.92114 l -258.40686 288.37054 l -258.09064 288.68677 l -257.98523 289.63547 l -257.87982 290.39969 l -259.72452 291.66464 l -259.51367 292.66605 l -260.46237 293.29849 l -260.35696 294.01004 l -258.98663 295.90744 l -256.77301 296.67166 l -253.87419 296.98788 l -252.24031 296.82977 l -252.55655 297.72577 l -252.24031 298.80624 l -252.50385 299.5441 l -251.66055 300.07117 l -250.1321 300.25565 l -248.76175 299.72858 l -248.18199 300.12387 l -248.39281 301.57327 l -249.34151 302.02127 l -250.1848 301.54694 l -250.60645 302.31116 l -249.2361 302.75916 l -248.07658 303.68149 l -247.86575 305.15726 l -247.49681 305.92148 l -246.12646 305.92148 l -244.96695 306.6857 l -244.5453 307.79254 l -246.02106 308.84665 l -247.3914 309.13654 l -246.91705 310.45416 l -245.17776 311.29745 l -244.22906 313.01038 l -242.91144 313.59015 l -242.27896 314.27533 l -242.75331 315.77744 l -243.75471 316.64706 l -243.12225 316.56799 l -241.75191 316.33084 l -238.22064 316.14636 l -237.64087 315.27673 l -237.64087 314.19626 l -236.69217 314.27533 l -236.16512 313.74826 l -236.007 312.19345 l -237.16652 311.56097 l -237.64087 310.61227 l -237.43005 309.87439 l -238.22064 308.63583 l -238.7477 306.6857 l -238.58957 305.84244 l -239.22205 305.55255 l -239.06392 304.99915 l -238.37875 304.70926 l -238.90581 304.10315 l -238.22064 303.54974 l -237.9044 301.86316 l -238.48416 301.54694 l -238.22064 299.78128 l -238.58957 298.27917 l -238.95851 296.96155 l -239.85451 296.43448 l -239.38016 295.01144 l -239.38016 293.66745 l -240.48697 292.71875 l -240.43427 291.48016 l -241.27756 290.0571 l -241.27756 288.7131 l -240.90862 288.44958 l -240.22345 285.91971 l -241.11945 284.4176 l -241.01404 282.99457 l -241.54109 281.65057 l -242.48979 280.28021 l -243.5439 279.38425 l -243.06955 278.80447 l -243.38579 278.33011 l -243.33308 275.90567 l -244.91425 275.16779 l -245.4413 273.63931 l -245.28319 273.27039 l -246.49541 271.95276 l -248.39281 272.32169 l -249.2361 273.37579 l -249.81586 272.18991 l -251.50244 272.26898 l -251.71326 272.55887 l -254.40125 274.95697 l -255.61348 275.19415 l -257.40546 276.2746 l -258.93393 276.828 l -259.14474 277.48685 l -257.66898 279.70047 l -259.14474 280.09576 l -260.83133 280.33295 l -261.99084 280.09576 l -263.30847 278.96259 l -263.51932 277.6713 l -264.25717 277.40778 l -264.99506 278.25107 l -264.94235 279.41058 l -263.73013 280.22751 l -262.72873 280.80728 l -261.09485 282.23035 l -259.14474 284.23315 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -243.01685 317.04236 m -243.5966 317.72754 l -244.33449 318.83435 l -246.23189 319.70398 l -248.2874 320.07294 l -247.60223 320.81079 l -246.23189 320.88986 l -245.494 320.36279 l -244.59801 320.33646 l -243.01685 320.33646 l -243.01685 317.04236 l -h -259.14474 284.23315 m -258.77582 285.39267 l -258.40686 286.92114 l -258.40686 288.37054 l -258.09064 288.68677 l -257.98523 289.63547 l -257.87982 290.39969 l -259.72452 291.66464 l -259.51367 292.66605 l -260.46237 293.29849 l -260.35696 294.01004 l -258.98663 295.90744 l -256.77301 296.67166 l -253.87419 296.98788 l -252.24031 296.82977 l -252.55655 297.72577 l -252.24031 298.80624 l -252.50385 299.5441 l -251.66055 300.07117 l -250.1321 300.25565 l -248.76175 299.72858 l -248.18199 300.12387 l -248.39281 301.57327 l -249.34151 302.02127 l -250.1848 301.54694 l -250.60645 302.31116 l -249.2361 302.75916 l -248.07658 303.68149 l -247.86575 305.15726 l -247.49681 305.92148 l -246.12646 305.92148 l -244.96695 306.6857 l -244.5453 307.79254 l -246.02106 308.84665 l -247.3914 309.13654 l -246.91705 310.45416 l -245.17776 311.29745 l -244.22906 313.01038 l -242.91144 313.59015 l -242.27896 314.27533 l -242.75331 315.77744 l -243.75471 316.64706 l -243.12225 316.56799 l -241.75191 316.33084 l -238.22064 316.14636 l -237.64087 315.27673 l -237.64087 314.19626 l -236.69217 314.27533 l -236.16512 313.74826 l -236.007 312.19345 l -237.16652 311.56097 l -237.64087 310.61227 l -237.43005 309.87439 l -238.22064 308.63583 l -238.7477 306.6857 l -238.58957 305.84244 l -239.22205 305.55255 l -239.06392 304.99915 l -238.37875 304.70926 l -238.90581 304.10315 l -238.22064 303.54974 l -237.9044 301.86316 l -238.48416 301.54694 l -238.22064 299.78128 l -238.58957 298.27917 l -238.95851 296.96155 l -239.85451 296.43448 l -239.38016 295.01144 l -239.38016 293.66745 l -240.48697 292.71875 l -240.43427 291.48016 l -241.27756 290.0571 l -241.27756 288.7131 l -240.90862 288.44958 l -240.22345 285.91971 l -241.11945 284.4176 l -241.01404 282.99457 l -241.54109 281.65057 l -242.48979 280.28021 l -243.5439 279.38425 l -243.06955 278.80447 l -243.38579 278.33011 l -243.33308 275.90567 l -244.91425 275.16779 l -245.4413 273.63931 l -245.28319 273.27039 l -246.49541 271.95276 l -248.39281 272.32169 l -249.2361 273.37579 l -249.81586 272.18991 l -251.50244 272.26898 l -251.71326 272.55887 l -254.40125 274.95697 l -255.61348 275.19415 l -257.40546 276.2746 l -258.93393 276.828 l -259.14474 277.48685 l -257.66898 279.70047 l -259.14474 280.09576 l -260.83133 280.33295 l -261.99084 280.09576 l -263.30847 278.96259 l -263.51932 277.6713 l -264.25717 277.40778 l -264.99506 278.25107 l -264.94235 279.41058 l -263.73013 280.22751 l -262.72873 280.80728 l -261.09485 282.23035 l -259.14474 284.23315 l -h -S -/DeviceRGB {} CS -[0.9569 0.9255 0.1333] SC -/DeviceRGB {} cs -[0.9569 0.9255 0.1333] sc -559.72455 299.72858 m -560.56787 299.83398 l -560.67328 301.57327 l -560.19891 302.07397 l -560.04083 303.25986 l -559.51373 302.86456 l -558.51233 303.86597 l -558.19611 303.7869 l -557.30011 303.76056 l -556.40411 302.49564 l -556.1933 301.52057 l -555.35004 300.25565 l -555.40271 299.5968 l -556.35144 299.72858 l -557.77448 300.22928 l -558.56506 300.01846 l -559.72455 299.72858 l -h -528.15393 287.15829 m -526.62549 287.92255 l -525.36053 288.23877 l -525.04431 289.02936 l -524.51727 289.6091 l -523.30505 289.63547 l -522.35632 289.76724 l -521.09137 289.50369 l -520.03729 289.6618 l -519.03589 289.74088 l -518.13989 290.5051 l -517.71826 290.45239 l -516.98035 290.87405 l -516.29517 291.32205 l -515.18835 291.26935 l -514.23969 291.26935 l -512.65851 290.34698 l -511.86792 290.0571 l -511.92062 289.21381 l -512.65851 289.02936 l -512.86932 288.68677 l -512.81665 288.1597 l -513.02747 287.13196 l -512.86932 286.28867 l -512.07874 284.78656 l -511.86792 283.9696 l -511.92062 283.12631 l -511.34088 282.17761 l -511.28815 281.75598 l -510.6557 281.14987 l -510.44489 280.01669 l -509.60159 278.85718 l -509.39075 278.2247 l -510.07593 278.85718 l -509.54889 277.51318 l -510.28674 277.93481 l -510.7084 278.48825 l -510.7084 277.75037 l -509.97052 276.59085 l -509.81241 276.14285 l -509.49619 275.69485 l -509.6543 274.85156 l -509.97052 274.4826 l -510.18134 273.74475 l -510.02322 272.90146 l -510.603 271.84735 l -510.7084 272.95416 l -511.34088 271.95276 l -512.50037 271.47839 l -513.23828 270.84592 l -514.34509 270.29251 l -515.03027 270.1871 l -515.39917 270.37158 l -516.55872 269.81818 l -517.45471 269.66006 l -517.66553 269.34381 l -518.08716 269.21207 l -518.87775 269.2384 l -520.40625 268.81677 l -521.19678 268.15796 l -521.56573 267.39371 l -522.46173 266.62949 l -522.51447 266.04971 l -522.56714 265.25916 l -523.56854 264.02057 l -524.20105 265.28549 l -524.8335 264.99561 l -524.30646 264.28409 l -524.78076 263.57257 l -525.41327 263.91516 l -525.57135 262.78198 l -526.36194 262.07047 l -526.7309 261.49069 l -527.46875 261.25351 l -527.46875 260.83188 l -528.15393 260.98999 l -528.15393 260.6474 l -528.78644 260.43658 l -529.52429 260.22577 l -530.57837 260.91092 l -531.42169 261.75421 l -532.31769 261.78058 l -533.26636 261.91232 l -532.95013 261.12177 l -533.63531 259.93588 l -534.3205 259.56696 l -534.05695 259.198 l -534.68945 258.35471 l -535.58545 257.82767 l -536.3233 258.01212 l -537.58826 257.72226 l -537.53552 256.98438 l -536.48145 256.51001 l -537.27203 256.29919 l -538.2207 256.64178 l -539.01129 257.24789 l -540.22351 257.61682 l -540.64514 257.48508 l -541.54114 257.93307 l -542.43713 257.51141 l -542.96423 257.64319 l -543.33313 257.3533 l -543.96564 258.09119 l -543.59668 258.85541 l -543.01691 259.46152 l -542.54254 259.51422 l -542.70068 260.09399 l -542.27905 260.83188 l -541.75195 261.5434 l -541.85736 261.96506 l -543.01691 262.75562 l -544.12372 263.22998 l -544.91431 263.73068 l -545.96844 264.60031 l -546.39008 264.60031 l -547.12793 264.96927 l -547.33875 265.41727 l -548.76184 265.91797 l -549.71051 265.41727 l -550.02673 264.65302 l -550.29028 263.9942 l -550.5011 263.17728 l -550.92273 262.01776 l -550.71191 261.30621 l -550.81732 260.88458 l -550.65924 260.04129 l -550.87006 258.96082 l -551.13354 258.64459 l -550.92273 258.17026 l -551.29169 257.37967 l -551.55524 256.58908 l -551.60791 256.16742 l -552.13495 255.61403 l -552.55664 256.32556 l -552.66205 257.24789 l -553.03094 257.43237 l -553.08368 258.03848 l -553.61072 258.77637 l -553.71613 259.61966 l -553.66345 260.1467 l -554.19049 261.30621 l -555.13916 260.75281 l -555.61353 261.35892 l -556.29871 261.93869 l -556.14063 262.5975 l -556.45685 263.83609 l -556.72034 264.57397 l -557.08929 264.75845 l -557.45825 265.99701 l -557.30011 266.76126 l -557.77448 267.76266 l -559.40833 268.52689 l -560.40973 269.21207 l -561.41113 269.84451 l -561.20032 270.21347 l -562.04364 271.1358 l -562.62335 272.71698 l -563.20313 272.37439 l -563.7829 273.00687 l -564.15186 272.79605 l -564.41534 274.35086 l -565.41675 275.24686 l -566.10193 275.80026 l -567.26147 276.98611 l -567.68311 278.172 l -567.73584 278.98895 l -567.63043 279.91129 l -568.31555 281.14987 l -568.21014 282.44116 l -567.94666 283.12631 l -567.5777 284.4176 l -567.63043 285.26089 l -567.31415 286.315 l -566.6817 287.659 l -565.57489 288.37054 l -565.04785 289.50369 l -564.57349 290.21524 l -564.15186 291.48016 l -563.57208 292.21805 l -563.20313 293.32486 l -562.99231 294.32626 l -563.09772 294.77426 l -562.25446 295.3013 l -560.62054 295.354 l -559.25024 295.96014 l -558.56506 296.51355 l -557.66907 297.146 l -556.45685 296.48718 l -555.56085 296.25 l -555.82434 295.48578 l -555.03375 295.7493 l -553.71613 296.80341 l -552.45123 296.40814 l -551.66064 296.1973 l -550.81732 296.09189 l -549.39429 295.64389 l -548.44556 294.74789 l -548.18207 293.64108 l -547.81311 292.9032 l -547.12793 292.29709 l -545.7049 292.13898 l -546.17926 291.42746 l -545.8103 290.34698 l -545.12512 291.34839 l -543.8075 291.61191 l -544.54535 290.79498 l -544.8089 289.95169 l -545.33594 289.24017 l -545.23053 288.1597 l -544.07104 289.39828 l -543.12231 289.89899 l -542.59528 291.08487 l -541.43573 290.47876 l -541.48846 289.68817 l -540.53973 288.63406 l -539.80188 288.08066 l -540.06537 287.73807 l -538.16797 286.86841 l -537.16656 286.8157 l -535.74353 286.10419 l -533.10828 286.23596 l -531.21088 286.763 l -529.57697 287.2637 l -528.15393 287.15829 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -559.72455 299.72858 m -560.56787 299.83398 l -560.67328 301.57327 l -560.19891 302.07397 l -560.04083 303.25986 l -559.51373 302.86456 l -558.51233 303.86597 l -558.19611 303.7869 l -557.30011 303.76056 l -556.40411 302.49564 l -556.1933 301.52057 l -555.35004 300.25565 l -555.40271 299.5968 l -556.35144 299.72858 l -557.77448 300.22928 l -558.56506 300.01846 l -559.72455 299.72858 l -h -528.15393 287.15829 m -526.62549 287.92255 l -525.36053 288.23877 l -525.04431 289.02936 l -524.51727 289.6091 l -523.30505 289.63547 l -522.35632 289.76724 l -521.09137 289.50369 l -520.03729 289.6618 l -519.03589 289.74088 l -518.13989 290.5051 l -517.71826 290.45239 l -516.98035 290.87405 l -516.29517 291.32205 l -515.18835 291.26935 l -514.23969 291.26935 l -512.65851 290.34698 l -511.86792 290.0571 l -511.92062 289.21381 l -512.65851 289.02936 l -512.86932 288.68677 l -512.81665 288.1597 l -513.02747 287.13196 l -512.86932 286.28867 l -512.07874 284.78656 l -511.86792 283.9696 l -511.92062 283.12631 l -511.34088 282.17761 l -511.28815 281.75598 l -510.6557 281.14987 l -510.44489 280.01669 l -509.60159 278.85718 l -509.39075 278.2247 l -510.07593 278.85718 l -509.54889 277.51318 l -510.28674 277.93481 l -510.7084 278.48825 l -510.7084 277.75037 l -509.97052 276.59085 l -509.81241 276.14285 l -509.49619 275.69485 l -509.6543 274.85156 l -509.97052 274.4826 l -510.18134 273.74475 l -510.02322 272.90146 l -510.603 271.84735 l -510.7084 272.95416 l -511.34088 271.95276 l -512.50037 271.47839 l -513.23828 270.84592 l -514.34509 270.29251 l -515.03027 270.1871 l -515.39917 270.37158 l -516.55872 269.81818 l -517.45471 269.66006 l -517.66553 269.34381 l -518.08716 269.21207 l -518.87775 269.2384 l -520.40625 268.81677 l -521.19678 268.15796 l -521.56573 267.39371 l -522.46173 266.62949 l -522.51447 266.04971 l -522.56714 265.25916 l -523.56854 264.02057 l -524.20105 265.28549 l -524.8335 264.99561 l -524.30646 264.28409 l -524.78076 263.57257 l -525.41327 263.91516 l -525.57135 262.78198 l -526.36194 262.07047 l -526.7309 261.49069 l -527.46875 261.25351 l -527.46875 260.83188 l -528.15393 260.98999 l -528.15393 260.6474 l -528.78644 260.43658 l -529.52429 260.22577 l -530.57837 260.91092 l -531.42169 261.75421 l -532.31769 261.78058 l -533.26636 261.91232 l -532.95013 261.12177 l -533.63531 259.93588 l -534.3205 259.56696 l -534.05695 259.198 l -534.68945 258.35471 l -535.58545 257.82767 l -536.3233 258.01212 l -537.58826 257.72226 l -537.53552 256.98438 l -536.48145 256.51001 l -537.27203 256.29919 l -538.2207 256.64178 l -539.01129 257.24789 l -540.22351 257.61682 l -540.64514 257.48508 l -541.54114 257.93307 l -542.43713 257.51141 l -542.96423 257.64319 l -543.33313 257.3533 l -543.96564 258.09119 l -543.59668 258.85541 l -543.01691 259.46152 l -542.54254 259.51422 l -542.70068 260.09399 l -542.27905 260.83188 l -541.75195 261.5434 l -541.85736 261.96506 l -543.01691 262.75562 l -544.12372 263.22998 l -544.91431 263.73068 l -545.96844 264.60031 l -546.39008 264.60031 l -547.12793 264.96927 l -547.33875 265.41727 l -548.76184 265.91797 l -549.71051 265.41727 l -550.02673 264.65302 l -550.29028 263.9942 l -550.5011 263.17728 l -550.92273 262.01776 l -550.71191 261.30621 l -550.81732 260.88458 l -550.65924 260.04129 l -550.87006 258.96082 l -551.13354 258.64459 l -550.92273 258.17026 l -551.29169 257.37967 l -551.55524 256.58908 l -551.60791 256.16742 l -552.13495 255.61403 l -552.55664 256.32556 l -552.66205 257.24789 l -553.03094 257.43237 l -553.08368 258.03848 l -553.61072 258.77637 l -553.71613 259.61966 l -553.66345 260.1467 l -554.19049 261.30621 l -555.13916 260.75281 l -555.61353 261.35892 l -556.29871 261.93869 l -556.14063 262.5975 l -556.45685 263.83609 l -556.72034 264.57397 l -557.08929 264.75845 l -557.45825 265.99701 l -557.30011 266.76126 l -557.77448 267.76266 l -559.40833 268.52689 l -560.40973 269.21207 l -561.41113 269.84451 l -561.20032 270.21347 l -562.04364 271.1358 l -562.62335 272.71698 l -563.20313 272.37439 l -563.7829 273.00687 l -564.15186 272.79605 l -564.41534 274.35086 l -565.41675 275.24686 l -566.10193 275.80026 l -567.26147 276.98611 l -567.68311 278.172 l -567.73584 278.98895 l -567.63043 279.91129 l -568.31555 281.14987 l -568.21014 282.44116 l -567.94666 283.12631 l -567.5777 284.4176 l -567.63043 285.26089 l -567.31415 286.315 l -566.6817 287.659 l -565.57489 288.37054 l -565.04785 289.50369 l -564.57349 290.21524 l -564.15186 291.48016 l -563.57208 292.21805 l -563.20313 293.32486 l -562.99231 294.32626 l -563.09772 294.77426 l -562.25446 295.3013 l -560.62054 295.354 l -559.25024 295.96014 l -558.56506 296.51355 l -557.66907 297.146 l -556.45685 296.48718 l -555.56085 296.25 l -555.82434 295.48578 l -555.03375 295.7493 l -553.71613 296.80341 l -552.45123 296.40814 l -551.66064 296.1973 l -550.81732 296.09189 l -549.39429 295.64389 l -548.44556 294.74789 l -548.18207 293.64108 l -547.81311 292.9032 l -547.12793 292.29709 l -545.7049 292.13898 l -546.17926 291.42746 l -545.8103 290.34698 l -545.12512 291.34839 l -543.8075 291.61191 l -544.54535 290.79498 l -544.8089 289.95169 l -545.33594 289.24017 l -545.23053 288.1597 l -544.07104 289.39828 l -543.12231 289.89899 l -542.59528 291.08487 l -541.43573 290.47876 l -541.48846 289.68817 l -540.53973 288.63406 l -539.80188 288.08066 l -540.06537 287.73807 l -538.16797 286.86841 l -537.16656 286.8157 l -535.74353 286.10419 l -533.10828 286.23596 l -531.21088 286.763 l -529.57697 287.2637 l -528.15393 287.15829 l -h -S -/DeviceRGB {} CS -[0.9725 0.8706 0.1412] SC -/DeviceRGB {} cs -[0.9725 0.8706 0.1412] sc -368.35068 169.54584 m -368.24527 170.15195 l -367.40198 170.15195 l -367.7182 170.46819 l -367.24387 171.41689 l -366.92761 171.65407 l -365.66269 171.70677 l -364.9248 172.02299 l -363.71259 171.91759 l -361.60437 171.54865 l -361.28812 171.02159 l -359.86508 171.28513 l -359.65427 171.54865 l -358.81097 171.36418 l -358.02039 171.31148 l -357.38791 171.04794 l -357.59872 170.679 l -357.54602 170.41548 l -357.96768 170.33643 l -358.70557 170.75807 l -358.91638 170.36278 l -360.23401 170.44183 l -361.28812 170.1783 l -361.9733 170.20465 l -362.44766 170.52089 l -362.55307 170.25737 l -362.34222 169.30867 l -362.86929 169.12419 l -363.39636 168.43903 l -364.50317 168.91338 l -365.29376 168.3336 l -365.8208 168.20184 l -366.98032 168.64984 l -367.6655 168.57079 l -368.35068 168.86067 l -368.19257 169.04514 l -368.35068 169.54584 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -368.35068 169.54584 m -368.24527 170.15195 l -367.40198 170.15195 l -367.7182 170.46819 l -367.24387 171.41689 l -366.92761 171.65407 l -365.66269 171.70677 l -364.9248 172.02299 l -363.71259 171.91759 l -361.60437 171.54865 l -361.28812 171.02159 l -359.86508 171.28513 l -359.65427 171.54865 l -358.81097 171.36418 l -358.02039 171.31148 l -357.38791 171.04794 l -357.59872 170.679 l -357.54602 170.41548 l -357.96768 170.33643 l -358.70557 170.75807 l -358.91638 170.36278 l -360.23401 170.44183 l -361.28812 170.1783 l -361.9733 170.20465 l -362.44766 170.52089 l -362.55307 170.25737 l -362.34222 169.30867 l -362.86929 169.12419 l -363.39636 168.43903 l -364.50317 168.91338 l -365.29376 168.3336 l -365.8208 168.20184 l -366.98032 168.64984 l -367.6655 168.57079 l -368.35068 168.86067 l -368.19257 169.04514 l -368.35068 169.54584 l -h -S -/DeviceRGB {} CS -[0.8549 0.3569 0.4078] SC -/DeviceRGB {} cs -[0.8549 0.3569 0.4078] sc -479.13776 207.73102 m -479.13776 208.78513 l -478.61072 208.57431 l -478.71613 209.73383 l -478.29446 208.9696 l -478.24176 208.23172 l -477.92554 207.5202 l -477.34576 206.67691 l -475.97543 206.62421 l -476.13354 207.23032 l -475.65921 208.0209 l -475.02673 207.73102 l -474.81592 207.99455 l -474.39426 207.83643 l -473.81451 207.70467 l -473.60367 206.51878 l -473.07663 205.41197 l -473.34015 204.51598 l -472.44415 204.12068 l -472.76041 203.59363 l -473.70911 203.04022 l -472.65497 202.27599 l -473.12933 201.27458 l -474.28885 201.90706 l -475.02673 201.98611 l -475.13214 203.01387 l -476.5025 203.19833 l -477.87283 203.19833 l -478.71613 203.43552 l -478.03094 204.6741 l -477.3985 204.75316 l -476.92413 205.59645 l -477.76743 206.36067 l -477.97824 205.41197 l -478.3999 205.41197 l -479.13776 207.73102 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -479.13776 207.73102 m -479.13776 208.78513 l -478.61072 208.57431 l -478.71613 209.73383 l -478.29446 208.9696 l -478.24176 208.23172 l -477.92554 207.5202 l -477.34576 206.67691 l -475.97543 206.62421 l -476.13354 207.23032 l -475.65921 208.0209 l -475.02673 207.73102 l -474.81592 207.99455 l -474.39426 207.83643 l -473.81451 207.70467 l -473.60367 206.51878 l -473.07663 205.41197 l -473.34015 204.51598 l -472.44415 204.12068 l -472.76041 203.59363 l -473.70911 203.04022 l -472.65497 202.27599 l -473.12933 201.27458 l -474.28885 201.90706 l -475.02673 201.98611 l -475.13214 203.01387 l -476.5025 203.19833 l -477.87283 203.19833 l -478.71613 203.43552 l -478.03094 204.6741 l -477.3985 204.75316 l -476.92413 205.59645 l -477.76743 206.36067 l -477.97824 205.41197 l -478.3999 205.41197 l -479.13776 207.73102 l -h -S -/DeviceRGB {} CS -[0.9765 0.8549 0.1412] SC -/DeviceRGB {} cs -[0.9765 0.8549 0.1412] sc -352.539 165.619278 m -352.32819 166.620682 l -351.95923 166.673386 l -351.80112 167.490326 l -350.53619 166.831497 l -349.79831 166.93692 l -348.7442 166.25174 l -348.05902 165.671982 l -347.37387 165.64563 l -347.16302 165.118576 l -348.37527 164.82869 l -349.42938 164.960449 l -350.79971 164.644226 l -351.69571 165.276688 l -352.539 165.619278 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -352.539 165.619278 m -352.32819 166.620682 l -351.95923 166.673386 l -351.80112 167.490326 l -350.53619 166.831497 l -349.79831 166.93692 l -348.7442 166.25174 l -348.05902 165.671982 l -347.37387 165.64563 l -347.16302 165.118576 l -348.37527 164.82869 l -349.42938 164.960449 l -350.79971 164.644226 l -351.69571 165.276688 l -352.539 165.619278 l -h -S -/DeviceRGB {} CS -[0.6863 0.1647 0.5647] SC -/DeviceRGB {} cs -[0.6863 0.1647 0.5647] sc -347.42657 230.84241 m -346.21432 231.00052 l -345.8454 229.99911 l -345.95081 226.62596 l -345.63458 226.33609 l -345.58188 225.62456 l -345.05481 225.0975 l -344.63318 224.67586 l -344.79129 223.91162 l -345.31833 223.72716 l -345.63458 223.0947 l -346.31973 222.96292 l -346.63599 222.51492 l -347.16302 222.09329 l -347.69009 222.09329 l -348.79691 222.93657 l -348.7442 223.41092 l -349.06042 224.28056 l -348.7442 224.88667 l -348.90231 225.25562 l -348.21716 226.17796 l -347.7428 226.62596 l -347.47928 227.54831 l -347.53198 228.47066 l -347.42657 230.84241 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -347.42657 230.84241 m -346.21432 231.00052 l -345.8454 229.99911 l -345.95081 226.62596 l -345.63458 226.33609 l -345.58188 225.62456 l -345.05481 225.0975 l -344.63318 224.67586 l -344.79129 223.91162 l -345.31833 223.72716 l -345.63458 223.0947 l -346.31973 222.96292 l -346.63599 222.51492 l -347.16302 222.09329 l -347.69009 222.09329 l -348.79691 222.93657 l -348.7442 223.41092 l -349.06042 224.28056 l -348.7442 224.88667 l -348.90231 225.25562 l -348.21716 226.17796 l -347.7428 226.62596 l -347.47928 227.54831 l -347.53198 228.47066 l -347.42657 230.84241 l -h -S -/DeviceRGB {} CS -[0.8824 0.4 0.3804] SC -/DeviceRGB {} cs -[0.8824 0.4 0.3804] sc -241.6992 256.03568 m -242.80602 256.16742 l -243.5439 256.11472 l -243.86014 255.69308 l -245.17776 255.08698 l -245.91565 254.53355 l -247.86575 254.29639 l -247.70764 255.37685 l -247.86575 255.9566 l -247.76035 256.93167 l -249.34151 258.2493 l -250.97539 258.48648 l -251.55515 259.03989 l -252.55655 259.32977 l -253.13631 259.7514 l -254.08501 259.72507 l -254.9283 260.17307 l -254.981 261.01636 l -255.29724 261.43799 l -255.29724 262.07047 l -254.8756 262.0968 l -255.45535 263.80975 l -258.24875 263.86246 l -258.03793 264.70572 l -258.19604 265.28549 l -258.98663 265.70715 l -259.30286 266.60312 l -259.09204 267.76266 l -258.67041 268.39511 l -258.82852 269.2384 l -258.35416 269.52829 l -258.30145 269.08029 l -256.98383 268.34241 l -255.61348 268.31607 l -253.0309 268.7377 l -252.34573 270.02899 l -252.29303 270.81958 l -251.71326 272.55887 l -251.50244 272.26898 l -249.81586 272.18991 l -249.2361 273.37579 l -248.39281 272.32169 l -246.49541 271.95276 l -245.28319 273.27039 l -244.22906 273.4812 l -243.64931 271.47839 l -242.85873 269.81818 l -243.33308 268.39511 l -242.5425 267.789 l -242.33167 266.73489 l -241.6465 265.73349 l -242.5425 264.15231 l -241.91003 262.91376 l -242.27896 262.43939 l -242.01544 261.88599 l -242.5425 261.1481 l -242.5952 259.90952 l -242.6479 258.88177 l -242.96414 258.38107 l -241.6992 256.03568 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -241.6992 256.03568 m -242.80602 256.16742 l -243.5439 256.11472 l -243.86014 255.69308 l -245.17776 255.08698 l -245.91565 254.53355 l -247.86575 254.29639 l -247.70764 255.37685 l -247.86575 255.9566 l -247.76035 256.93167 l -249.34151 258.2493 l -250.97539 258.48648 l -251.55515 259.03989 l -252.55655 259.32977 l -253.13631 259.7514 l -254.08501 259.72507 l -254.9283 260.17307 l -254.981 261.01636 l -255.29724 261.43799 l -255.29724 262.07047 l -254.8756 262.0968 l -255.45535 263.80975 l -258.24875 263.86246 l -258.03793 264.70572 l -258.19604 265.28549 l -258.98663 265.70715 l -259.30286 266.60312 l -259.09204 267.76266 l -258.67041 268.39511 l -258.82852 269.2384 l -258.35416 269.52829 l -258.30145 269.08029 l -256.98383 268.34241 l -255.61348 268.31607 l -253.0309 268.7377 l -252.34573 270.02899 l -252.29303 270.81958 l -251.71326 272.55887 l -251.50244 272.26898 l -249.81586 272.18991 l -249.2361 273.37579 l -248.39281 272.32169 l -246.49541 271.95276 l -245.28319 273.27039 l -244.22906 273.4812 l -243.64931 271.47839 l -242.85873 269.81818 l -243.33308 268.39511 l -242.5425 267.789 l -242.33167 266.73489 l -241.6465 265.73349 l -242.5425 264.15231 l -241.91003 262.91376 l -242.27896 262.43939 l -242.01544 261.88599 l -242.5425 261.1481 l -242.5952 259.90952 l -242.6479 258.88177 l -242.96414 258.38107 l -241.6992 256.03568 l -h -S -/DeviceRGB {} CS -[0.9882 0.6863 0.1961] SC -/DeviceRGB {} cs -[0.9882 0.6863 0.1961] sc -370.66971 177.55708 m -369.35208 177.00368 l -368.82501 176.39757 l -368.24527 176.08133 l -367.61279 175.52792 l -367.29657 175.07993 l -366.55869 174.39474 l -366.87491 173.78864 l -367.40198 174.13123 l -367.7182 173.81499 l -368.40338 173.78864 l -369.6683 174.02582 l -370.66971 173.99945 l -371.30219 174.34204 l -371.82925 174.31569 l -371.4603 174.97452 l -372.19818 175.52792 l -371.98737 176.21309 l -371.61841 176.29214 l -371.35489 176.42392 l -370.88055 176.76649 l -370.66971 177.55708 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -370.66971 177.55708 m -369.35208 177.00368 l -368.82501 176.39757 l -368.24527 176.08133 l -367.61279 175.52792 l -367.29657 175.07993 l -366.55869 174.39474 l -366.87491 173.78864 l -367.40198 174.13123 l -367.7182 173.81499 l -368.40338 173.78864 l -369.6683 174.02582 l -370.66971 173.99945 l -371.30219 174.34204 l -371.82925 174.31569 l -371.4603 174.97452 l -372.19818 175.52792 l -371.98737 176.21309 l -371.61841 176.29214 l -371.35489 176.42392 l -370.88055 176.76649 l -370.66971 177.55708 l -h -S -/DeviceRGB {} CS -[0.502 0.0314 0.6471] SC -/DeviceRGB {} cs -[0.502 0.0314 0.6471] sc -386.58679 272.34805 m -384.53128 273.4285 l -383.21365 274.50897 l -382.68658 275.48401 l -382.26495 276.03741 l -381.47437 276.14285 l -381.21082 276.85437 l -381.0527 277.30237 l -380.15671 277.64496 l -378.94449 277.56589 l -378.25931 277.17059 l -377.62686 276.98611 l -376.88898 277.3287 l -376.57275 278.04025 l -375.83487 278.46188 l -375.14969 279.1207 l -374.09558 279.27881 l -373.77936 278.75177 l -373.88477 277.85577 l -373.04147 276.48541 l -372.61981 276.24826 l -372.61981 271.9791 l -374.04288 271.92639 l -374.09558 266.70856 l -375.20239 266.68219 l -377.46875 266.15512 l -377.99579 266.76126 l -378.94449 266.18149 l -379.41885 266.18149 l -380.20941 265.86526 l -380.47296 265.97067 l -381.0527 267.13019 l -381.31625 267.39371 l -381.79059 268.237 l -383.47717 269.84451 l -384.10965 270.00266 l -384.10965 270.52969 l -384.53128 271.45206 l -385.63809 271.68921 l -386.58679 272.34805 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -386.58679 272.34805 m -384.53128 273.4285 l -383.21365 274.50897 l -382.68658 275.48401 l -382.26495 276.03741 l -381.47437 276.14285 l -381.21082 276.85437 l -381.0527 277.30237 l -380.15671 277.64496 l -378.94449 277.56589 l -378.25931 277.17059 l -377.62686 276.98611 l -376.88898 277.3287 l -376.57275 278.04025 l -375.83487 278.46188 l -375.14969 279.1207 l -374.09558 279.27881 l -373.77936 278.75177 l -373.88477 277.85577 l -373.04147 276.48541 l -372.61981 276.24826 l -372.61981 271.9791 l -374.04288 271.92639 l -374.09558 266.70856 l -375.20239 266.68219 l -377.46875 266.15512 l -377.99579 266.76126 l -378.94449 266.18149 l -379.41885 266.18149 l -380.20941 265.86526 l -380.47296 265.97067 l -381.0527 267.13019 l -381.31625 267.39371 l -381.79059 268.237 l -383.47717 269.84451 l -384.10965 270.00266 l -384.10965 270.52969 l -384.53128 271.45206 l -385.63809 271.68921 l -386.58679 272.34805 l -h -S -/DeviceRGB {} CS -[0.9765 0.6039 0.2392] SC -/DeviceRGB {} cs -[0.9765 0.6039 0.2392] sc -265.36401 289.42465 m -264.94235 288.6077 l -265.62753 287.92255 l -264.78424 286.92114 l -263.62473 286.10419 l -262.09625 285.15549 l -261.56921 285.20819 l -260.09344 284.07501 l -259.14474 284.23315 l -261.09485 282.23035 l -262.72873 280.80728 l -263.73013 280.22751 l -264.94235 279.41058 l -264.99506 278.25107 l -264.25717 277.40778 l -263.51932 277.6713 l -263.83554 276.828 l -263.99365 275.95837 l -264.04636 275.16779 l -263.51932 274.90427 l -262.93954 275.14145 l -262.41248 275.06238 l -262.20166 274.50897 l -262.09625 273.16498 l -261.83273 272.71698 l -260.83133 272.32169 l -260.25156 272.61157 l -258.67041 272.34805 l -258.77582 270.34521 l -258.35416 269.52829 l -258.82852 269.2384 l -258.67041 268.39511 l -259.09204 267.76266 l -259.30286 266.60312 l -258.98663 265.70715 l -258.19604 265.28549 l -258.03793 264.70572 l -258.24875 263.86246 l -255.45535 263.80975 l -254.8756 262.0968 l -255.29724 262.07047 l -255.29724 261.43799 l -254.981 261.01636 l -254.9283 260.17307 l -254.08501 259.72507 l -253.13631 259.7514 l -252.55655 259.32977 l -251.55515 259.03989 l -250.97539 258.48648 l -249.34151 258.2493 l -247.76035 256.93167 l -247.86575 255.9566 l -247.70764 255.37685 l -247.86575 254.29639 l -245.91565 254.53355 l -245.17776 255.08698 l -243.86014 255.69308 l -243.5439 256.11472 l -242.80602 256.16742 l -241.6992 256.03568 l -240.90862 256.27286 l -240.22345 256.11472 l -240.32886 253.90109 l -239.11664 254.74438 l -237.8517 254.71803 l -237.27194 253.92744 l -236.32324 253.84839 l -236.58676 253.21593 l -235.79619 252.31993 l -235.21642 251.00229 l -235.58536 250.73875 l -235.58536 250.13264 l -236.48135 249.711 l -236.32324 248.92041 l -236.69217 248.39336 l -236.79759 247.73454 l -238.48416 246.73314 l -239.64369 246.44325 l -239.85451 246.23244 l -241.17215 246.28514 l -241.85732 242.27951 l -241.85732 241.64705 l -241.6465 240.80376 l -241.01404 240.2767 l -241.01404 239.19624 l -241.80461 238.95906 l -242.12085 239.11719 l -242.17355 238.56377 l -241.33026 238.40565 l -241.27756 237.48331 l -244.12366 237.50966 l -244.65071 237.00896 l -245.01965 237.48331 l -245.33589 238.35295 l -245.59941 238.16849 l -246.39 238.93271 l -247.54951 238.85365 l -247.81305 238.40565 l -248.91986 238.06306 l -249.49963 237.8259 l -249.71045 237.19344 l -250.71185 236.77179 l -250.65915 236.4819 l -249.39421 236.35014 l -249.2361 235.4278 l -249.2888 234.45274 l -248.60364 234.05745 l -248.86716 233.92569 l -249.97398 234.11015 l -251.1335 234.4791 l -251.55515 234.13651 l -252.60925 233.89934 l -254.24313 233.34592 l -254.77019 232.79251 l -254.61206 232.39722 l -255.34995 232.31816 l -255.71889 232.66075 l -255.50806 233.29321 l -255.98241 233.5304 l -256.35135 234.21556 l -255.9297 234.71626 l -255.71889 235.95485 l -256.08783 236.71909 l -256.19324 237.3779 l -257.08923 238.06306 l -257.82712 238.14214 l -257.98523 237.85225 l -258.40686 237.79955 l -259.09204 237.53601 l -259.56638 237.14072 l -260.35696 237.27249 l -260.72592 237.21979 l -261.51651 237.35155 l -261.67462 237.03531 l -261.41107 236.74544 l -261.56921 236.32379 l -262.14896 236.45555 l -262.83414 236.29744 l -263.67743 236.61366 l -264.30991 236.9299 l -264.78424 236.50826 l -265.10046 236.58731 l -265.31131 236.9826 l -265.99646 236.8772 l -266.57623 236.32379 l -266.99786 235.24332 l -267.89386 233.92569 l -268.36823 233.84662 l -268.73715 234.66356 l -269.58044 237.21979 l -270.31833 237.45695 l -270.37103 238.45836 l -269.26422 239.67059 l -269.73856 240.11859 l -272.32114 240.35576 l -272.37384 241.80516 l -273.48065 240.85646 l -275.32535 241.38351 l -277.74982 242.27951 l -278.4877 243.1228 l -278.22415 243.93974 l -279.96344 243.49174 l -282.80954 244.25598 l -284.97046 244.20326 l -287.13141 245.4155 l -289.02881 247.04936 l -290.13562 247.47101 l -291.40054 247.55008 l -291.92761 247.99806 l -292.40195 249.86911 l -292.6655 250.73875 l -292.08572 253.16321 l -291.34784 254.13826 l -289.29233 256.16742 l -288.34363 257.82767 l -287.23682 259.09259 l -286.86786 259.11896 l -286.49893 260.1994 l -286.60434 262.94009 l -286.18271 265.18008 l -286.0246 266.15512 l -285.55023 266.73489 l -285.28671 268.685 l -283.81094 270.60876 l -283.54742 272.11087 l -282.38791 272.74332 l -282.01895 273.61298 l -280.43781 273.61298 l -278.11874 274.19275 l -277.11734 274.8252 l -275.48346 275.27319 l -273.7442 276.43271 l -272.53195 277.88211 l -272.26843 278.96259 l -272.53195 279.77951 l -272.26843 281.25528 l -271.95221 281.9668 l -270.89807 282.78375 l -269.26422 285.3663 l -267.99927 286.52585 l -266.99786 287.211 l -266.31271 288.6077 l -265.36401 289.42465 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -265.36401 289.42465 m -264.94235 288.6077 l -265.62753 287.92255 l -264.78424 286.92114 l -263.62473 286.10419 l -262.09625 285.15549 l -261.56921 285.20819 l -260.09344 284.07501 l -259.14474 284.23315 l -261.09485 282.23035 l -262.72873 280.80728 l -263.73013 280.22751 l -264.94235 279.41058 l -264.99506 278.25107 l -264.25717 277.40778 l -263.51932 277.6713 l -263.83554 276.828 l -263.99365 275.95837 l -264.04636 275.16779 l -263.51932 274.90427 l -262.93954 275.14145 l -262.41248 275.06238 l -262.20166 274.50897 l -262.09625 273.16498 l -261.83273 272.71698 l -260.83133 272.32169 l -260.25156 272.61157 l -258.67041 272.34805 l -258.77582 270.34521 l -258.35416 269.52829 l -258.82852 269.2384 l -258.67041 268.39511 l -259.09204 267.76266 l -259.30286 266.60312 l -258.98663 265.70715 l -258.19604 265.28549 l -258.03793 264.70572 l -258.24875 263.86246 l -255.45535 263.80975 l -254.8756 262.0968 l -255.29724 262.07047 l -255.29724 261.43799 l -254.981 261.01636 l -254.9283 260.17307 l -254.08501 259.72507 l -253.13631 259.7514 l -252.55655 259.32977 l -251.55515 259.03989 l -250.97539 258.48648 l -249.34151 258.2493 l -247.76035 256.93167 l -247.86575 255.9566 l -247.70764 255.37685 l -247.86575 254.29639 l -245.91565 254.53355 l -245.17776 255.08698 l -243.86014 255.69308 l -243.5439 256.11472 l -242.80602 256.16742 l -241.6992 256.03568 l -240.90862 256.27286 l -240.22345 256.11472 l -240.32886 253.90109 l -239.11664 254.74438 l -237.8517 254.71803 l -237.27194 253.92744 l -236.32324 253.84839 l -236.58676 253.21593 l -235.79619 252.31993 l -235.21642 251.00229 l -235.58536 250.73875 l -235.58536 250.13264 l -236.48135 249.711 l -236.32324 248.92041 l -236.69217 248.39336 l -236.79759 247.73454 l -238.48416 246.73314 l -239.64369 246.44325 l -239.85451 246.23244 l -241.17215 246.28514 l -241.85732 242.27951 l -241.85732 241.64705 l -241.6465 240.80376 l -241.01404 240.2767 l -241.01404 239.19624 l -241.80461 238.95906 l -242.12085 239.11719 l -242.17355 238.56377 l -241.33026 238.40565 l -241.27756 237.48331 l -244.12366 237.50966 l -244.65071 237.00896 l -245.01965 237.48331 l -245.33589 238.35295 l -245.59941 238.16849 l -246.39 238.93271 l -247.54951 238.85365 l -247.81305 238.40565 l -248.91986 238.06306 l -249.49963 237.8259 l -249.71045 237.19344 l -250.71185 236.77179 l -250.65915 236.4819 l -249.39421 236.35014 l -249.2361 235.4278 l -249.2888 234.45274 l -248.60364 234.05745 l -248.86716 233.92569 l -249.97398 234.11015 l -251.1335 234.4791 l -251.55515 234.13651 l -252.60925 233.89934 l -254.24313 233.34592 l -254.77019 232.79251 l -254.61206 232.39722 l -255.34995 232.31816 l -255.71889 232.66075 l -255.50806 233.29321 l -255.98241 233.5304 l -256.35135 234.21556 l -255.9297 234.71626 l -255.71889 235.95485 l -256.08783 236.71909 l -256.19324 237.3779 l -257.08923 238.06306 l -257.82712 238.14214 l -257.98523 237.85225 l -258.40686 237.79955 l -259.09204 237.53601 l -259.56638 237.14072 l -260.35696 237.27249 l -260.72592 237.21979 l -261.51651 237.35155 l -261.67462 237.03531 l -261.41107 236.74544 l -261.56921 236.32379 l -262.14896 236.45555 l -262.83414 236.29744 l -263.67743 236.61366 l -264.30991 236.9299 l -264.78424 236.50826 l -265.10046 236.58731 l -265.31131 236.9826 l -265.99646 236.8772 l -266.57623 236.32379 l -266.99786 235.24332 l -267.89386 233.92569 l -268.36823 233.84662 l -268.73715 234.66356 l -269.58044 237.21979 l -270.31833 237.45695 l -270.37103 238.45836 l -269.26422 239.67059 l -269.73856 240.11859 l -272.32114 240.35576 l -272.37384 241.80516 l -273.48065 240.85646 l -275.32535 241.38351 l -277.74982 242.27951 l -278.4877 243.1228 l -278.22415 243.93974 l -279.96344 243.49174 l -282.80954 244.25598 l -284.97046 244.20326 l -287.13141 245.4155 l -289.02881 247.04936 l -290.13562 247.47101 l -291.40054 247.55008 l -291.92761 247.99806 l -292.40195 249.86911 l -292.6655 250.73875 l -292.08572 253.16321 l -291.34784 254.13826 l -289.29233 256.16742 l -288.34363 257.82767 l -287.23682 259.09259 l -286.86786 259.11896 l -286.49893 260.1994 l -286.60434 262.94009 l -286.18271 265.18008 l -286.0246 266.15512 l -285.55023 266.73489 l -285.28671 268.685 l -283.81094 270.60876 l -283.54742 272.11087 l -282.38791 272.74332 l -282.01895 273.61298 l -280.43781 273.61298 l -278.11874 274.19275 l -277.11734 274.8252 l -275.48346 275.27319 l -273.7442 276.43271 l -272.53195 277.88211 l -272.26843 278.96259 l -272.53195 279.77951 l -272.26843 281.25528 l -271.95221 281.9668 l -270.89807 282.78375 l -269.26422 285.3663 l -267.99927 286.52585 l -266.99786 287.211 l -266.31271 288.6077 l -265.36401 289.42465 l -h -S -/DeviceRGB {} CS -[0.9843 0.6235 0.2275] SC -/DeviceRGB {} cs -[0.9843 0.6235 0.2275] sc -376.67816 175.23804 m -377.09979 175.84415 l -377.67957 175.73874 l -378.78638 175.97592 l -380.9473 176.05498 l -381.63248 175.65968 l -383.37177 175.34344 l -384.42587 175.8705 l -385.32187 176.02863 l -384.53128 176.63474 l -384.00421 177.66249 l -384.47858 178.50578 l -383.21365 178.32132 l -381.73788 178.76932 l -381.73788 179.50719 l -380.36755 179.63895 l -379.36615 179.13824 l -378.2066 179.53354 l -377.09979 179.48083 l -376.99438 178.50578 l -376.2565 178.05779 l -376.52005 177.84697 l -376.36191 177.66249 l -376.57275 177.18814 l -377.1525 176.74014 l -376.41461 176.10768 l -376.3092 175.58063 l -376.67816 175.23804 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -376.67816 175.23804 m -377.09979 175.84415 l -377.67957 175.73874 l -378.78638 175.97592 l -380.9473 176.05498 l -381.63248 175.65968 l -383.37177 175.34344 l -384.42587 175.8705 l -385.32187 176.02863 l -384.53128 176.63474 l -384.00421 177.66249 l -384.47858 178.50578 l -383.21365 178.32132 l -381.73788 178.76932 l -381.73788 179.50719 l -380.36755 179.63895 l -379.36615 179.13824 l -378.2066 179.53354 l -377.09979 179.48083 l -376.99438 178.50578 l -376.2565 178.05779 l -376.52005 177.84697 l -376.36191 177.66249 l -376.57275 177.18814 l -377.1525 176.74014 l -376.41461 176.10768 l -376.3092 175.58063 l -376.67816 175.23804 l -h -S -/DeviceRGB {} CS -[0.5569 0.0588 0.6314] SC -/DeviceRGB {} cs -[0.5569 0.0588 0.6314] sc -335.56781 224.80762 m -335.51511 223.96432 l -335.88403 223.35822 l -335.83133 222.85751 l -337.04358 221.64529 l -337.25439 220.64388 l -337.62332 220.27495 l -338.36121 220.48576 l -338.94098 220.16953 l -339.15179 219.8006 l -340.31131 219.14177 l -340.57483 218.69377 l -341.94519 218.08766 l -342.73578 217.87685 l -343.10471 218.14037 l -344.05341 218.14037 l -343.948 218.8519 l -344.10611 219.51071 l -344.9494 220.48576 l -345.00211 221.1973 l -346.68869 221.51352 l -346.63599 222.51492 l -346.31973 222.96292 l -345.63458 223.0947 l -345.31833 223.72716 l -344.79129 223.91162 l -343.52637 223.85892 l -342.84119 223.75351 l -342.36682 223.99069 l -341.73438 223.88527 l -339.2045 223.96432 l -339.15179 224.78127 l -339.36261 225.88809 l -338.36121 225.51915 l -337.67603 225.57185 l -337.14899 225.9408 l -336.51651 225.62456 l -336.25299 225.15021 l -335.56781 224.80762 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -335.56781 224.80762 m -335.51511 223.96432 l -335.88403 223.35822 l -335.83133 222.85751 l -337.04358 221.64529 l -337.25439 220.64388 l -337.62332 220.27495 l -338.36121 220.48576 l -338.94098 220.16953 l -339.15179 219.8006 l -340.31131 219.14177 l -340.57483 218.69377 l -341.94519 218.08766 l -342.73578 217.87685 l -343.10471 218.14037 l -344.05341 218.14037 l -343.948 218.8519 l -344.10611 219.51071 l -344.9494 220.48576 l -345.00211 221.1973 l -346.68869 221.51352 l -346.63599 222.51492 l -346.31973 222.96292 l -345.63458 223.0947 l -345.31833 223.72716 l -344.79129 223.91162 l -343.52637 223.85892 l -342.84119 223.75351 l -342.36682 223.99069 l -341.73438 223.88527 l -339.2045 223.96432 l -339.15179 224.78127 l -339.36261 225.88809 l -338.36121 225.51915 l -337.67603 225.57185 l -337.14899 225.9408 l -336.51651 225.62456 l -336.25299 225.15021 l -335.56781 224.80762 l -h -S -/DeviceRGB {} CS -[0.4627 0.0118 0.6549] SC -/DeviceRGB {} cs -[0.4627 0.0118 0.6549] sc -388.11526 243.54445 m -388.16797 244.09785 l -388.48419 244.44044 l -388.5369 244.91479 l -388.16797 245.23103 l -387.5882 245.99525 l -387.06116 246.52231 l -386.42868 246.57501 l -386.37598 244.80939 l -386.00705 244.15056 l -386.90305 244.28233 l -387.32468 243.43904 l -388.11526 243.54445 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -388.11526 243.54445 m -388.16797 244.09785 l -388.48419 244.44044 l -388.5369 244.91479 l -388.16797 245.23103 l -387.5882 245.99525 l -387.06116 246.52231 l -386.42868 246.57501 l -386.37598 244.80939 l -386.00705 244.15056 l -386.90305 244.28233 l -387.32468 243.43904 l -388.11526 243.54445 l -h -S -/DeviceRGB {} CS -[0.7647 0.2431 0.502] SC -/DeviceRGB {} cs -[0.7647 0.2431 0.502] sc -493.68451 222.17235 m -493.31555 220.38036 l -494.26425 219.16812 l -496.16165 218.9046 l -497.53201 219.11542 l -498.74423 219.66882 l -499.37671 218.66742 l -500.69434 219.22083 l -501.01059 220.19588 l -500.85245 221.93517 l -498.37531 223.06834 l -499.06046 223.96432 l -497.47931 224.06975 l -496.21436 224.64951 l -495.00214 224.43867 l -494.42239 223.67445 l -493.68451 222.17235 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -493.68451 222.17235 m -493.31555 220.38036 l -494.26425 219.16812 l -496.16165 218.9046 l -497.53201 219.11542 l -498.74423 219.66882 l -499.37671 218.66742 l -500.69434 219.22083 l -501.01059 220.19588 l -500.85245 221.93517 l -498.37531 223.06834 l -499.06046 223.96432 l -497.47931 224.06975 l -496.21436 224.64951 l -495.00214 224.43867 l -494.42239 223.67445 l -493.68451 222.17235 l -h -S -/DeviceRGB {} CS -[0.4902 0.0275 0.6471] SC -/DeviceRGB {} cs -[0.4902 0.0275 0.6471] sc -364.71399 221.17094 m -365.29376 222.11964 l -365.39917 223.0947 l -365.34647 224.0434 l -366.13705 225.38739 l -365.34647 225.36102 l -364.9248 225.46645 l -364.23962 225.33467 l -363.9234 226.01985 l -364.76669 226.86314 l -365.45187 227.12666 l -365.60999 227.73277 l -366.08432 228.73419 l -365.8735 229.12947 l -365.13562 230.63159 l -364.76669 230.89511 l -364.66129 232.02829 l -364.8194 232.6344 l -364.71399 233.0824 l -365.39917 233.84662 l -365.50458 234.37369 l -366.03162 235.11156 l -366.7168 235.58591 l -366.7695 236.24474 l -366.92761 236.69272 l -366.8222 237.48331 l -365.66269 237.11436 l -364.50317 236.74544 l -362.65848 236.69272 l -362.44766 236.61366 l -361.60437 236.79814 l -360.70837 236.58731 l -360.02319 236.69272 l -357.65146 236.66637 l -357.86227 235.50685 l -357.2825 234.5318 l -356.59732 234.29462 l -356.2811 233.6358 l -355.91217 233.42499 l -355.96487 233.00334 l -356.3338 231.97557 l -357.01898 230.57889 l -357.44061 230.55252 l -358.33661 229.68289 l -358.86368 229.68289 l -359.70697 230.26265 l -360.70837 229.7883 l -360.81378 229.18219 l -361.18271 228.57607 l -361.39352 227.8382 l -362.18411 227.23207 l -362.44766 226.20432 l -362.76389 225.88809 l -362.9747 225.12386 l -363.34366 224.20151 l -364.60858 223.06834 l -364.66129 222.56764 l -364.8194 222.30411 l -364.23962 221.72435 l -364.29236 221.25 l -364.71399 221.17094 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -364.71399 221.17094 m -365.29376 222.11964 l -365.39917 223.0947 l -365.34647 224.0434 l -366.13705 225.38739 l -365.34647 225.36102 l -364.9248 225.46645 l -364.23962 225.33467 l -363.9234 226.01985 l -364.76669 226.86314 l -365.45187 227.12666 l -365.60999 227.73277 l -366.08432 228.73419 l -365.8735 229.12947 l -365.13562 230.63159 l -364.76669 230.89511 l -364.66129 232.02829 l -364.8194 232.6344 l -364.71399 233.0824 l -365.39917 233.84662 l -365.50458 234.37369 l -366.03162 235.11156 l -366.7168 235.58591 l -366.7695 236.24474 l -366.92761 236.69272 l -366.8222 237.48331 l -365.66269 237.11436 l -364.50317 236.74544 l -362.65848 236.69272 l -362.44766 236.61366 l -361.60437 236.79814 l -360.70837 236.58731 l -360.02319 236.69272 l -357.65146 236.66637 l -357.86227 235.50685 l -357.2825 234.5318 l -356.59732 234.29462 l -356.2811 233.6358 l -355.91217 233.42499 l -355.96487 233.00334 l -356.3338 231.97557 l -357.01898 230.57889 l -357.44061 230.55252 l -358.33661 229.68289 l -358.86368 229.68289 l -359.70697 230.26265 l -360.70837 229.7883 l -360.81378 229.18219 l -361.18271 228.57607 l -361.39352 227.8382 l -362.18411 227.23207 l -362.44766 226.20432 l -362.76389 225.88809 l -362.9747 225.12386 l -363.34366 224.20151 l -364.60858 223.06834 l -364.66129 222.56764 l -364.8194 222.30411 l -364.23962 221.72435 l -364.29236 221.25 l -364.71399 221.17094 l -h -S -/DeviceRGB {} CS -[0.9608 0.902 0.1373] SC -/DeviceRGB {} cs -[0.9608 0.902 0.1373] sc -163.694977 168.2809 m -163.484146 168.25455 l -160.638046 166.831497 l -159.583939 166.199036 l -156.948654 165.592926 l -156.158081 164.301636 l -156.316193 163.40564 l -154.471497 162.773178 l -154.207962 161.587296 l -152.415985 160.533188 l -152.415985 159.768951 l -153.206558 159.057434 l -153.206558 158.135086 l -150.676697 157.212738 l -149.200943 155.552505 l -148.304947 154.498398 l -146.934601 153.839584 l -145.933197 153.233459 l -145.195313 152.469238 l -143.719559 152.943588 l -142.296509 153.760529 l -140.978867 152.811829 l -139.977463 152.153 l -138.554413 151.757706 l -137.078659 151.705002 l -137.078659 143.377533 l -137.131363 137.948853 l -139.819351 138.291443 l -142.138397 139.00296 l -143.666855 139.134735 l -144.931793 138.52861 l -146.723785 138.080612 l -148.884705 138.238739 l -151.098343 137.606262 l -153.470093 137.237335 l -154.5242 137.843445 l -155.578308 137.500854 l -155.894547 136.815689 l -156.948654 136.973801 l -159.425827 138.291443 l -161.375931 137.290039 l -161.534042 138.396851 l -163.326035 138.159668 l -163.905792 137.738037 l -165.697784 137.817093 l -167.91142 138.449554 l -171.33728 138.976608 l -173.34009 139.213791 l -174.81584 139.134735 l -176.76595 139.872604 l -174.71043 140.610489 l -177.34572 140.90036 l -181.29863 140.742249 l -182.56357 140.478714 l -184.09203 141.348358 l -185.72589 140.610489 l -184.19743 140.004364 l -185.14613 139.503662 l -186.93813 139.424606 l -188.09764 139.292847 l -189.30988 139.635437 l -190.78563 140.42601 l -192.41951 140.320602 l -195.00208 140.979416 l -197.26842 140.742249 l -199.37663 140.7686 l -199.21852 139.872604 l -200.53616 139.609085 l -202.80251 140.109787 l -202.80251 141.480133 l -203.69849 140.320602 l -204.91072 140.373306 l -205.54318 138.897552 l -203.96202 137.975204 l -202.27544 137.395447 l -202.38086 135.787918 l -204.12013 134.707458 l -206.07024 134.944641 l -207.54601 135.603455 l -209.54881 137.237335 l -208.23117 137.975204 l -210.97186 138.265091 l -210.91916 139.767197 l -212.92197 138.607666 l -214.66125 139.556366 l -214.1869 140.636841 l -215.60995 141.638245 l -217.13841 140.557785 l -218.24522 139.319199 l -218.29793 137.711685 l -220.40616 137.817093 l -222.56708 138.027908 l -224.5172 138.765793 l -224.6226 139.47731 l -223.51578 140.267899 l -224.5699 141.032135 l -224.35907 141.743652 l -221.51297 142.771408 l -219.45746 143.008591 l -217.929 142.560593 l -217.50735 143.298462 l -216.0843 144.537048 l -215.66266 145.16951 l -213.97607 146.170914 l -211.86786 146.249985 l -210.70833 146.882446 l -210.60292 147.831146 l -208.91635 148.01561 l -207.12436 149.201492 l -205.54318 150.86171 l -204.96342 151.994888 l -204.91072 153.707809 l -207.01894 153.944992 l -207.70412 155.315338 l -208.38928 156.42215 l -210.44481 156.132278 l -213.13278 156.76474 l -214.60855 157.344498 l -215.66266 158.029678 l -217.50735 158.424957 l -219.03581 159.031082 l -221.46027 159.13649 l -223.04143 159.26825 l -222.83061 160.533188 l -223.25226 162.008942 l -224.35907 163.642822 l -226.52 165.039505 l -227.62682 164.565155 l -228.4174 163.063049 l -227.67952 160.744003 l -226.62541 159.979782 l -228.99716 159.294601 l -230.63104 158.266846 l -231.47432 157.23909 l -231.31621 156.264038 l -230.3148 155.025452 l -228.57552 153.91864 l -230.2621 152.390182 l -229.62962 151.046188 l -229.15527 148.779846 l -230.15669 148.437256 l -232.68655 148.83255 l -234.21501 148.96431 l -235.42725 148.595383 l -236.74489 149.096085 l -238.58957 149.939362 l -239.01122 150.492783 l -241.6465 150.624542 l -241.5938 151.836761 l -242.06815 153.681458 l -243.38579 153.91864 l -244.4926 154.788284 l -246.60081 153.971344 l -247.97116 152.363831 l -248.97256 151.67865 l -250.07939 152.96994 l -251.97679 154.840988 l -253.61066 156.606628 l -253.0309 157.528976 l -254.981 158.345901 l -256.29865 159.189194 l -258.61768 159.558136 l -259.56638 160.032486 l -260.14615 161.271057 l -261.30566 161.455536 l -261.88544 162.008942 l -261.99084 163.669174 l -260.93674 164.22258 l -259.88263 164.723282 l -257.45816 165.250336 l -255.61348 166.46257 l -253.13631 166.699738 l -250.02669 166.383499 l -247.81305 166.357147 l -246.28459 166.46257 l -245.07236 167.516678 l -243.22766 168.17549 l -241.11945 170.09924 l -239.43286 171.46959 l -240.6451 171.20607 l -243.01685 169.2823 l -246.07376 168.07008 l -248.2874 167.93832 l -249.55234 168.64984 l -248.18199 169.62489 l -248.65634 171.20607 l -249.13069 172.31288 l -251.02809 173.05075 l -253.45255 172.83994 l -254.9283 171.17972 l -255.03371 172.23383 l -255.9297 172.78723 l -254.13771 173.73593 l -250.92268 174.60558 l -249.44691 175.21169 l -247.81305 176.26579 l -246.70624 176.13403 l -246.65353 174.89545 l -249.1834 173.70958 l -246.86435 173.73593 l -245.23048 173.92039 l -244.28178 173.10347 l -244.28178 171.10065 l -243.5966 170.679 l -242.6479 170.91618 l -242.12085 170.54724 l -241.01404 171.65407 l -240.59239 172.78723 l -240.06534 173.44604 l -239.43286 173.68323 l -238.95851 173.76228 l -238.8004 174.10487 l -236.11241 174.10487 l -233.89879 174.13123 l -233.26631 174.39474 l -231.68515 175.44887 l -231.52702 175.55428 l -231.05267 176.13403 l -229.68234 176.13403 l -228.25929 176.13403 l -227.62682 176.37122 l -227.83765 176.66109 l -227.94305 177.10909 l -227.94305 177.24084 l -226.04565 177.97873 l -224.5172 178.2159 l -222.83061 178.98013 l -222.46167 178.98013 l -221.93462 178.76932 l -221.7765 178.55849 l -221.82921 178.40038 l -222.14545 177.89967 l -222.83061 177.08273 l -223.25226 176.21309 l -222.98872 174.94817 l -222.6725 173.60417 l -221.14403 172.91899 l -221.30215 172.65547 l -221.09132 172.49734 l -220.66968 172.49734 l -220.40616 172.26018 l -220.30075 171.91759 l -220.03722 172.04935 l -219.66827 172.02299 l -219.72098 171.86488 l -219.40475 171.73312 l -219.24663 171.33783 l -218.13982 170.86348 l -216.9276 170.38913 l -215.50455 169.80937 l -214.1342 169.2823 l -212.81656 169.70395 l -212.34221 169.7303 l -210.55022 169.33502 l -209.33798 169.51949 l -207.91493 169.07149 l -206.43918 168.83432 l -205.43777 168.75525 l -204.96342 168.49173 l -204.69991 167.701141 l -204.22556 167.701141 l -204.17284 168.2809 l -201.16862 168.2809 l -196.16159 168.2809 l -191.20728 168.2809 l -186.78001 168.2809 l -182.40544 168.2809 l -178.08359 168.2809 l -173.60362 168.2809 l -172.18057 168.2809 l -167.8587 168.2809 l -163.694977 168.2809 l -h -220.56427 148.569031 m -221.61838 147.910202 l -223.6212 147.910202 l -223.6212 148.200089 l -221.88191 149.017029 l -220.88051 148.96431 l -220.56427 148.569031 l -h -226.73082 133.416168 m -225.09695 132.651947 l -225.14966 132.124893 l -225.88754 132.01947 l -229.20799 132.177597 l -231.73785 132.994537 l -231.89597 133.389816 l -230.3148 133.337112 l -228.73364 133.31076 l -227.15247 133.521591 l -226.73082 133.416168 l -h -225.94025 149.122437 m -226.4673 148.674438 l -227.09976 148.70079 l -227.4687 149.017029 l -226.88895 149.78125 l -226.25647 149.64949 l -225.83482 149.201492 l -225.94025 149.122437 l -h -206.43918 130.227493 m -205.64861 130.807251 l -203.54037 130.701843 l -201.74838 130.306549 l -202.53897 129.64772 l -204.64719 129.252441 l -205.91212 129.779495 l -206.43918 130.227493 l -h -206.12296 126.511749 m -205.43777 126.564453 l -202.69708 126.459038 l -202.32816 126.063751 l -205.27966 126.090103 l -206.28107 126.35363 l -206.12296 126.511749 l -h -201.85381 124.693405 m -203.59308 125.194107 l -203.22414 125.721161 l -201.06322 126.037399 l -199.85098 125.694809 l -199.21852 125.141403 l -199.11311 124.535286 l -201.01051 124.58799 l -201.85381 124.693405 l -h -214.45042 131.097122 m -212.07867 130.912659 l -208.17847 130.438309 l -207.70412 129.64772 l -207.4933 128.909851 l -206.07024 128.27739 l -203.01332 128.092911 l -201.32674 127.644913 l -201.85381 127.038803 l -204.91072 127.144211 l -206.49188 127.618561 l -209.3907 127.592209 l -210.65562 128.092911 l -210.3394 128.646317 l -212.02597 128.962555 l -212.92197 129.305145 l -214.92477 129.384201 l -217.033 129.489609 l -219.35205 129.17337 l -222.35626 129.067963 l -224.72801 129.17337 l -226.30917 129.726791 l -226.62541 130.332901 l -225.72942 130.701843 l -223.51578 131.018066 l -221.6711 130.833603 l -217.45465 131.07077 l -214.45042 131.097122 l -h -180.61345 125.589401 m -182.66898 125.826576 l -182.19463 126.248215 l -179.45393 126.669861 l -177.293 126.195511 l -178.50523 125.747513 l -180.61345 125.589401 l -h -181.0351 124.640701 m -182.98521 124.93058 l -181.19322 125.220459 l -178.76877 125.220459 l -178.76877 125.009636 l -180.29723 124.561638 l -181.0351 124.640701 l -h -262.09625 164.881393 m -261.30566 165.803741 l -260.35696 167.06868 l -261.30566 166.59433 l -262.30707 166.910553 l -261.78003 167.41127 l -263.09766 167.80655 l -263.73013 167.463974 l -265.20587 167.91197 l -264.78424 168.96608 l -265.78564 168.7289 l -265.99646 169.49313 l -266.41812 170.41548 l -265.83835 171.70677 l -265.15317 171.75948 l -264.20447 171.46959 l -264.52072 170.28372 l -264.09906 170.09924 l -262.41248 171.36418 l -261.51651 171.31148 l -262.57062 170.6263 l -261.14755 170.28372 l -259.56638 170.36278 l -256.72028 170.31007 l -256.50946 169.88843 l -257.40546 169.36137 l -256.77301 168.96608 l -258.03793 168.09644 l -259.51367 165.751038 l -260.46237 164.907745 l -261.72733 164.407043 l -262.41248 164.486099 l -262.09625 164.881393 l -h -220.7224 144.69516 m -222.30356 145.195862 l -223.99014 145.64386 l -224.09555 146.329041 l -225.20236 146.223633 l -226.25647 146.724335 l -224.93884 147.172333 l -222.6725 146.829742 l -221.82921 146.170914 l -220.40616 146.93515 l -218.29793 147.699387 l -217.82358 146.829742 l -215.82077 146.987854 l -217.08571 146.249985 l -217.29652 145.116806 l -217.77087 143.772812 l -218.825 143.878235 l -219.08852 144.537048 l -219.8791 144.299881 l -220.7224 144.69516 l -h -228.20657 134.074997 m -229.57692 133.495239 l -232.84467 134.233109 l -234.84749 134.944641 l -235.0056 135.577103 l -237.74629 135.260864 l -239.27475 136.183212 l -242.80602 136.762985 l -244.07095 137.342743 l -245.4413 138.713089 l -242.75331 139.398254 l -246.23189 140.346954 l -248.55093 140.689545 l -250.65915 142.033539 l -252.9782 142.112595 l -252.50385 143.14035 l -249.92126 144.853287 l -248.12929 144.22081 l -245.81024 142.824112 l -243.91284 143.008591 l -243.75471 143.825516 l -245.28319 144.69516 l -247.286 145.353989 l -247.86575 145.749283 l -248.81445 147.198685 l -248.3401 148.252792 l -246.49541 147.857498 l -242.80602 146.671631 l -244.86154 147.936554 l -246.39 148.83255 l -246.65353 149.333252 l -242.6479 148.753494 l -239.53827 147.910202 l -237.74629 147.198685 l -238.27335 146.777039 l -236.05971 146.039154 l -233.95149 145.327637 l -233.95149 145.749283 l -229.73505 145.98645 l -228.52281 145.459396 l -229.47151 144.405289 l -232.2122 144.378937 l -235.21642 144.168106 l -234.74207 143.667404 l -235.26912 142.929535 l -237.16652 141.506485 l -236.74489 140.847656 l -236.16512 140.346954 l -233.95149 139.635437 l -230.94727 139.134735 l -231.89597 138.765793 l -230.36751 137.869797 l -229.04987 137.790741 l -227.89035 137.290039 l -227.15247 137.711685 l -224.46449 137.896149 l -219.14122 137.57991 l -216.0316 137.158264 l -213.65985 136.921097 l -212.44762 136.420395 l -213.97607 135.735214 l -211.92056 135.735214 l -211.44621 134.25946 l -212.55302 132.941818 l -214.08148 132.335709 l -217.8763 131.966766 l -216.76947 132.915466 l -217.929 133.811462 l -219.29935 132.625595 l -222.98872 132.045837 l -225.5186 133.547943 l -225.30777 134.496643 l -228.20657 134.074997 l -h -205.17426 131.466064 m -208.23117 131.518768 l -211.02457 131.887711 l -208.81093 133.179001 l -207.07166 133.468887 l -205.49048 134.575699 l -203.80391 134.496643 l -202.90791 133.231705 l -202.96062 132.49382 l -203.69849 131.861359 l -205.17426 131.466064 l -h -163.642258 128.567261 m -166.119431 127.486801 l -169.12364 126.538101 l -171.38998 126.538101 l -173.39279 126.327278 l -173.18198 127.460449 l -172.07515 127.961151 l -170.7048 128.040207 l -167.96413 128.672668 l -165.645081 128.883499 l -163.642258 128.567261 l -h -149.200943 160.90213 m -150.623993 160.770355 l -150.202347 162.430588 l -151.467285 163.616455 l -150.887512 163.616455 l -149.991531 162.93129 l -149.464462 162.272476 l -148.726593 161.798126 l -148.463058 161.165649 l -148.515762 160.691299 l -149.200943 160.90213 l -h -189.04634 123.902817 m -191.94516 124.11364 l -195.89807 124.640701 l -197.00488 125.352226 l -197.58464 125.958336 l -195.21289 125.800224 l -192.78844 125.325874 l -189.52069 125.246811 l -190.94374 124.825165 l -189.15176 124.482582 l -189.04634 123.902817 l -h -159.900177 166.884201 m -160.638046 167.569382 l -162.1138 168.17549 l -162.693558 168.99243 l -161.955688 169.1769 l -159.531235 168.51808 l -159.109589 168.01738 l -157.791946 167.490326 l -157.528427 167.06868 l -156.052658 166.805145 l -155.4729 166.014572 l -155.578308 165.671982 l -157.159485 165.98822 l -158.055481 166.225388 l -159.425827 166.383499 l -159.900177 166.884201 l -h -165.592377 131.018066 m -167.647888 131.307953 l -171.38998 131.387009 l -172.81303 131.835007 l -174.3942 132.441116 l -172.5495 132.810059 l -168.96553 133.837814 l -167.173538 134.86557 l -167.173538 135.498047 l -163.326035 136.209564 l -162.535446 135.577103 l -159.162292 134.786514 l -159.794754 134.180405 l -160.796158 133.099945 l -162.061096 132.151245 l -160.638046 131.255249 l -165.592377 131.018066 l -h -185.67319 128.962555 m -186.99083 128.725372 l -188.51929 128.778091 l -188.78282 129.515961 l -187.88683 130.201141 l -182.9325 130.438309 l -179.24312 131.07077 l -176.97678 131.097122 l -176.81865 130.622772 l -179.82288 129.963959 l -173.23468 130.148422 l -171.17915 129.884903 l -173.18198 128.461853 l -174.55232 128.040207 l -178.66335 128.540909 l -181.29863 129.410553 l -183.82849 129.515961 l -181.72028 128.119263 l -183.09062 127.592209 l -184.61908 127.750328 l -185.09343 128.435501 l -185.67319 128.962555 l -h -187.57059 133.020889 m -189.20447 133.626999 l -190.10046 135.050049 l -190.57481 136.077805 l -193.05197 136.789337 l -195.68724 137.500854 l -195.52913 138.133316 l -193.10468 138.265091 l -194.05338 138.818497 l -193.57903 139.345551 l -190.89104 139.134735 l -188.36118 138.739441 l -186.67459 138.818497 l -183.93391 139.319199 l -180.24452 139.530014 l -177.60924 139.661789 l -176.81865 138.976608 l -174.81584 138.581314 l -173.55092 138.739441 l -171.70622 137.57991 l -172.70763 137.421799 l -174.97397 137.184616 l -177.02948 137.237335 l -178.92688 137.000153 l -176.08078 136.657562 l -172.97115 136.762985 l -170.91563 136.736618 l -170.12505 136.183212 l -173.4982 135.603455 l -171.28458 135.629807 l -168.702 135.234512 l -169.91423 134.154053 l -170.96834 133.574295 l -174.86855 132.678299 l -176.39702 132.96817 l -175.65913 133.653351 l -178.87418 133.205353 l -180.92969 133.943237 l -182.56357 133.205353 l -183.93391 133.679703 l -185.14613 135.102753 l -185.88402 134.496643 l -184.8299 132.994537 l -186.09483 132.783707 l -187.57059 133.020889 l -h -196.47783 133.574295 m -194.84396 132.599243 l -196.58324 131.887711 l -198.32253 132.203949 l -200.95781 132.01947 l -201.32674 132.441116 l -199.95641 133.152649 l -202.17003 133.78511 l -201.90651 135.102753 l -199.53476 135.656158 l -198.11171 135.550751 l -197.11029 134.970993 l -193.47362 133.864166 l -193.47362 133.389816 l -196.47783 133.574295 l -h -187.46518 132.256653 m -189.41528 132.203949 l -190.52211 132.520187 l -189.25717 133.495239 l -186.93813 132.467468 l -187.46518 132.256653 l -h -199.21852 127.882088 m -199.32393 127.697624 l -200.43076 128.356445 l -200.48346 129.120667 l -199.79828 130.201141 l -197.37383 130.359253 l -195.79266 130.12207 l -195.84537 129.278793 l -193.47362 129.384201 l -193.36821 128.251022 l -194.94937 128.303741 l -197.11029 127.803032 l -199.21852 127.882088 l -h -202.96062 122.005417 m -203.96202 121.557426 l -205.43777 121.452011 l -204.80531 121.109428 l -208.23117 121.056717 l -210.07587 121.820953 l -212.55302 122.137184 l -214.97748 122.427063 l -216.13701 123.375763 l -217.8763 123.850113 l -215.87347 124.298111 l -213.1855 125.40493 l -210.55022 125.510338 l -207.54601 125.325874 l -205.96483 124.719757 l -205.96483 124.192703 l -207.12436 123.797409 l -204.48907 123.797409 l -202.85521 123.323059 l -201.90651 122.664238 l -202.96062 122.005417 l -h -209.44341 120.108017 m -211.60432 119.84449 l -213.29091 119.791786 l -216.18971 119.554611 l -218.35065 119.001205 l -220.14262 119.080261 l -221.7238 119.501907 l -222.83061 118.711319 l -224.78072 118.474144 l -227.416 118.316032 l -231.89597 118.236969 l -232.63385 118.395088 l -236.903 118.157913 l -240.06534 118.236969 l -243.22766 118.342384 l -247.12788 118.447792 l -250.29021 118.632263 l -252.9782 119.027557 l -252.87279 119.422844 l -249.34151 120.055313 l -245.75754 120.371544 l -244.4399 120.687782 l -247.65494 120.687782 l -244.17636 121.583778 l -241.80461 121.979065 l -239.27475 123.191292 l -236.27054 123.428467 l -235.32184 123.718353 l -230.89456 123.876465 l -232.95009 124.060936 l -231.89597 124.324463 l -233.1082 125.035988 l -231.73785 125.53669 l -229.47151 125.958336 l -228.78635 126.538101 l -226.73082 126.986099 l -226.94165 127.30233 l -229.47151 127.249626 l -229.47151 127.592209 l -225.5713 128.488205 l -221.7238 128.066559 l -217.45465 128.303741 l -215.24101 128.119263 l -212.50032 128.040207 l -212.28951 127.355034 l -215.03018 127.012451 l -214.29231 125.958336 l -215.18831 125.852928 l -219.08852 126.48539 l -217.08571 125.563049 l -214.71396 125.273163 l -215.92618 124.693405 l -218.50876 124.350815 l -218.9304 123.850113 l -216.87488 123.270355 l -216.24242 122.532478 l -220.24805 122.585182 l -221.40756 122.743301 l -223.6739 122.21624 l -220.40616 122.031776 l -215.24101 122.137184 l -212.65843 121.636482 l -211.44621 121.056717 l -209.75963 120.608727 l -209.44341 120.108017 l -h -233.37172 141.269302 m -232.42302 141.690948 l -230.78915 141.770004 l -230.42021 141.058487 l -231.05267 140.241547 l -232.42302 140.030716 l -233.52985 140.452362 l -233.58255 141.058487 l -233.37172 141.269302 l -h -203.48767 138.844849 m -202.59167 139.345551 l -200.58887 138.897552 l -199.42934 139.055664 l -197.42653 138.396851 l -198.69147 137.948853 l -199.69287 137.316391 l -201.27403 137.738037 l -202.17003 138.001556 l -202.59167 138.265091 l -203.48767 138.844849 l -h -249.02528 166.989624 m -249.55234 166.857849 l -251.50244 167.226791 l -252.9782 167.85925 l -253.0309 168.12279 l -252.29303 168.14914 l -250.39563 167.674789 l -249.02528 166.989624 l -h -249.76315 171.15335 m -250.29021 171.86488 l -251.34433 172.04935 l -252.71466 172.02299 l -251.97679 172.60277 l -251.44974 172.70818 l -249.60504 172.0757 l -249.2361 171.60135 l -249.76315 171.15335 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -163.694977 168.2809 m -163.484146 168.25455 l -160.638046 166.831497 l -159.583939 166.199036 l -156.948654 165.592926 l -156.158081 164.301636 l -156.316193 163.40564 l -154.471497 162.773178 l -154.207962 161.587296 l -152.415985 160.533188 l -152.415985 159.768951 l -153.206558 159.057434 l -153.206558 158.135086 l -150.676697 157.212738 l -149.200943 155.552505 l -148.304947 154.498398 l -146.934601 153.839584 l -145.933197 153.233459 l -145.195313 152.469238 l -143.719559 152.943588 l -142.296509 153.760529 l -140.978867 152.811829 l -139.977463 152.153 l -138.554413 151.757706 l -137.078659 151.705002 l -137.078659 143.377533 l -137.131363 137.948853 l -139.819351 138.291443 l -142.138397 139.00296 l -143.666855 139.134735 l -144.931793 138.52861 l -146.723785 138.080612 l -148.884705 138.238739 l -151.098343 137.606262 l -153.470093 137.237335 l -154.5242 137.843445 l -155.578308 137.500854 l -155.894547 136.815689 l -156.948654 136.973801 l -159.425827 138.291443 l -161.375931 137.290039 l -161.534042 138.396851 l -163.326035 138.159668 l -163.905792 137.738037 l -165.697784 137.817093 l -167.91142 138.449554 l -171.33728 138.976608 l -173.34009 139.213791 l -174.81584 139.134735 l -176.76595 139.872604 l -174.71043 140.610489 l -177.34572 140.90036 l -181.29863 140.742249 l -182.56357 140.478714 l -184.09203 141.348358 l -185.72589 140.610489 l -184.19743 140.004364 l -185.14613 139.503662 l -186.93813 139.424606 l -188.09764 139.292847 l -189.30988 139.635437 l -190.78563 140.42601 l -192.41951 140.320602 l -195.00208 140.979416 l -197.26842 140.742249 l -199.37663 140.7686 l -199.21852 139.872604 l -200.53616 139.609085 l -202.80251 140.109787 l -202.80251 141.480133 l -203.69849 140.320602 l -204.91072 140.373306 l -205.54318 138.897552 l -203.96202 137.975204 l -202.27544 137.395447 l -202.38086 135.787918 l -204.12013 134.707458 l -206.07024 134.944641 l -207.54601 135.603455 l -209.54881 137.237335 l -208.23117 137.975204 l -210.97186 138.265091 l -210.91916 139.767197 l -212.92197 138.607666 l -214.66125 139.556366 l -214.1869 140.636841 l -215.60995 141.638245 l -217.13841 140.557785 l -218.24522 139.319199 l -218.29793 137.711685 l -220.40616 137.817093 l -222.56708 138.027908 l -224.5172 138.765793 l -224.6226 139.47731 l -223.51578 140.267899 l -224.5699 141.032135 l -224.35907 141.743652 l -221.51297 142.771408 l -219.45746 143.008591 l -217.929 142.560593 l -217.50735 143.298462 l -216.0843 144.537048 l -215.66266 145.16951 l -213.97607 146.170914 l -211.86786 146.249985 l -210.70833 146.882446 l -210.60292 147.831146 l -208.91635 148.01561 l -207.12436 149.201492 l -205.54318 150.86171 l -204.96342 151.994888 l -204.91072 153.707809 l -207.01894 153.944992 l -207.70412 155.315338 l -208.38928 156.42215 l -210.44481 156.132278 l -213.13278 156.76474 l -214.60855 157.344498 l -215.66266 158.029678 l -217.50735 158.424957 l -219.03581 159.031082 l -221.46027 159.13649 l -223.04143 159.26825 l -222.83061 160.533188 l -223.25226 162.008942 l -224.35907 163.642822 l -226.52 165.039505 l -227.62682 164.565155 l -228.4174 163.063049 l -227.67952 160.744003 l -226.62541 159.979782 l -228.99716 159.294601 l -230.63104 158.266846 l -231.47432 157.23909 l -231.31621 156.264038 l -230.3148 155.025452 l -228.57552 153.91864 l -230.2621 152.390182 l -229.62962 151.046188 l -229.15527 148.779846 l -230.15669 148.437256 l -232.68655 148.83255 l -234.21501 148.96431 l -235.42725 148.595383 l -236.74489 149.096085 l -238.58957 149.939362 l -239.01122 150.492783 l -241.6465 150.624542 l -241.5938 151.836761 l -242.06815 153.681458 l -243.38579 153.91864 l -244.4926 154.788284 l -246.60081 153.971344 l -247.97116 152.363831 l -248.97256 151.67865 l -250.07939 152.96994 l -251.97679 154.840988 l -253.61066 156.606628 l -253.0309 157.528976 l -254.981 158.345901 l -256.29865 159.189194 l -258.61768 159.558136 l -259.56638 160.032486 l -260.14615 161.271057 l -261.30566 161.455536 l -261.88544 162.008942 l -261.99084 163.669174 l -260.93674 164.22258 l -259.88263 164.723282 l -257.45816 165.250336 l -255.61348 166.46257 l -253.13631 166.699738 l -250.02669 166.383499 l -247.81305 166.357147 l -246.28459 166.46257 l -245.07236 167.516678 l -243.22766 168.17549 l -241.11945 170.09924 l -239.43286 171.46959 l -240.6451 171.20607 l -243.01685 169.2823 l -246.07376 168.07008 l -248.2874 167.93832 l -249.55234 168.64984 l -248.18199 169.62489 l -248.65634 171.20607 l -249.13069 172.31288 l -251.02809 173.05075 l -253.45255 172.83994 l -254.9283 171.17972 l -255.03371 172.23383 l -255.9297 172.78723 l -254.13771 173.73593 l -250.92268 174.60558 l -249.44691 175.21169 l -247.81305 176.26579 l -246.70624 176.13403 l -246.65353 174.89545 l -249.1834 173.70958 l -246.86435 173.73593 l -245.23048 173.92039 l -244.28178 173.10347 l -244.28178 171.10065 l -243.5966 170.679 l -242.6479 170.91618 l -242.12085 170.54724 l -241.01404 171.65407 l -240.59239 172.78723 l -240.06534 173.44604 l -239.43286 173.68323 l -238.95851 173.76228 l -238.8004 174.10487 l -236.11241 174.10487 l -233.89879 174.13123 l -233.26631 174.39474 l -231.68515 175.44887 l -231.52702 175.55428 l -231.05267 176.13403 l -229.68234 176.13403 l -228.25929 176.13403 l -227.62682 176.37122 l -227.83765 176.66109 l -227.94305 177.10909 l -227.94305 177.24084 l -226.04565 177.97873 l -224.5172 178.2159 l -222.83061 178.98013 l -222.46167 178.98013 l -221.93462 178.76932 l -221.7765 178.55849 l -221.82921 178.40038 l -222.14545 177.89967 l -222.83061 177.08273 l -223.25226 176.21309 l -222.98872 174.94817 l -222.6725 173.60417 l -221.14403 172.91899 l -221.30215 172.65547 l -221.09132 172.49734 l -220.66968 172.49734 l -220.40616 172.26018 l -220.30075 171.91759 l -220.03722 172.04935 l -219.66827 172.02299 l -219.72098 171.86488 l -219.40475 171.73312 l -219.24663 171.33783 l -218.13982 170.86348 l -216.9276 170.38913 l -215.50455 169.80937 l -214.1342 169.2823 l -212.81656 169.70395 l -212.34221 169.7303 l -210.55022 169.33502 l -209.33798 169.51949 l -207.91493 169.07149 l -206.43918 168.83432 l -205.43777 168.75525 l -204.96342 168.49173 l -204.69991 167.701141 l -204.22556 167.701141 l -204.17284 168.2809 l -201.16862 168.2809 l -196.16159 168.2809 l -191.20728 168.2809 l -186.78001 168.2809 l -182.40544 168.2809 l -178.08359 168.2809 l -173.60362 168.2809 l -172.18057 168.2809 l -167.8587 168.2809 l -163.694977 168.2809 l -h -220.56427 148.569031 m -221.61838 147.910202 l -223.6212 147.910202 l -223.6212 148.200089 l -221.88191 149.017029 l -220.88051 148.96431 l -220.56427 148.569031 l -h -226.73082 133.416168 m -225.09695 132.651947 l -225.14966 132.124893 l -225.88754 132.01947 l -229.20799 132.177597 l -231.73785 132.994537 l -231.89597 133.389816 l -230.3148 133.337112 l -228.73364 133.31076 l -227.15247 133.521591 l -226.73082 133.416168 l -h -225.94025 149.122437 m -226.4673 148.674438 l -227.09976 148.70079 l -227.4687 149.017029 l -226.88895 149.78125 l -226.25647 149.64949 l -225.83482 149.201492 l -225.94025 149.122437 l -h -206.43918 130.227493 m -205.64861 130.807251 l -203.54037 130.701843 l -201.74838 130.306549 l -202.53897 129.64772 l -204.64719 129.252441 l -205.91212 129.779495 l -206.43918 130.227493 l -h -206.12296 126.511749 m -205.43777 126.564453 l -202.69708 126.459038 l -202.32816 126.063751 l -205.27966 126.090103 l -206.28107 126.35363 l -206.12296 126.511749 l -h -201.85381 124.693405 m -203.59308 125.194107 l -203.22414 125.721161 l -201.06322 126.037399 l -199.85098 125.694809 l -199.21852 125.141403 l -199.11311 124.535286 l -201.01051 124.58799 l -201.85381 124.693405 l -h -214.45042 131.097122 m -212.07867 130.912659 l -208.17847 130.438309 l -207.70412 129.64772 l -207.4933 128.909851 l -206.07024 128.27739 l -203.01332 128.092911 l -201.32674 127.644913 l -201.85381 127.038803 l -204.91072 127.144211 l -206.49188 127.618561 l -209.3907 127.592209 l -210.65562 128.092911 l -210.3394 128.646317 l -212.02597 128.962555 l -212.92197 129.305145 l -214.92477 129.384201 l -217.033 129.489609 l -219.35205 129.17337 l -222.35626 129.067963 l -224.72801 129.17337 l -226.30917 129.726791 l -226.62541 130.332901 l -225.72942 130.701843 l -223.51578 131.018066 l -221.6711 130.833603 l -217.45465 131.07077 l -214.45042 131.097122 l -h -180.61345 125.589401 m -182.66898 125.826576 l -182.19463 126.248215 l -179.45393 126.669861 l -177.293 126.195511 l -178.50523 125.747513 l -180.61345 125.589401 l -h -181.0351 124.640701 m -182.98521 124.93058 l -181.19322 125.220459 l -178.76877 125.220459 l -178.76877 125.009636 l -180.29723 124.561638 l -181.0351 124.640701 l -h -262.09625 164.881393 m -261.30566 165.803741 l -260.35696 167.06868 l -261.30566 166.59433 l -262.30707 166.910553 l -261.78003 167.41127 l -263.09766 167.80655 l -263.73013 167.463974 l -265.20587 167.91197 l -264.78424 168.96608 l -265.78564 168.7289 l -265.99646 169.49313 l -266.41812 170.41548 l -265.83835 171.70677 l -265.15317 171.75948 l -264.20447 171.46959 l -264.52072 170.28372 l -264.09906 170.09924 l -262.41248 171.36418 l -261.51651 171.31148 l -262.57062 170.6263 l -261.14755 170.28372 l -259.56638 170.36278 l -256.72028 170.31007 l -256.50946 169.88843 l -257.40546 169.36137 l -256.77301 168.96608 l -258.03793 168.09644 l -259.51367 165.751038 l -260.46237 164.907745 l -261.72733 164.407043 l -262.41248 164.486099 l -262.09625 164.881393 l -h -220.7224 144.69516 m -222.30356 145.195862 l -223.99014 145.64386 l -224.09555 146.329041 l -225.20236 146.223633 l -226.25647 146.724335 l -224.93884 147.172333 l -222.6725 146.829742 l -221.82921 146.170914 l -220.40616 146.93515 l -218.29793 147.699387 l -217.82358 146.829742 l -215.82077 146.987854 l -217.08571 146.249985 l -217.29652 145.116806 l -217.77087 143.772812 l -218.825 143.878235 l -219.08852 144.537048 l -219.8791 144.299881 l -220.7224 144.69516 l -h -228.20657 134.074997 m -229.57692 133.495239 l -232.84467 134.233109 l -234.84749 134.944641 l -235.0056 135.577103 l -237.74629 135.260864 l -239.27475 136.183212 l -242.80602 136.762985 l -244.07095 137.342743 l -245.4413 138.713089 l -242.75331 139.398254 l -246.23189 140.346954 l -248.55093 140.689545 l -250.65915 142.033539 l -252.9782 142.112595 l -252.50385 143.14035 l -249.92126 144.853287 l -248.12929 144.22081 l -245.81024 142.824112 l -243.91284 143.008591 l -243.75471 143.825516 l -245.28319 144.69516 l -247.286 145.353989 l -247.86575 145.749283 l -248.81445 147.198685 l -248.3401 148.252792 l -246.49541 147.857498 l -242.80602 146.671631 l -244.86154 147.936554 l -246.39 148.83255 l -246.65353 149.333252 l -242.6479 148.753494 l -239.53827 147.910202 l -237.74629 147.198685 l -238.27335 146.777039 l -236.05971 146.039154 l -233.95149 145.327637 l -233.95149 145.749283 l -229.73505 145.98645 l -228.52281 145.459396 l -229.47151 144.405289 l -232.2122 144.378937 l -235.21642 144.168106 l -234.74207 143.667404 l -235.26912 142.929535 l -237.16652 141.506485 l -236.74489 140.847656 l -236.16512 140.346954 l -233.95149 139.635437 l -230.94727 139.134735 l -231.89597 138.765793 l -230.36751 137.869797 l -229.04987 137.790741 l -227.89035 137.290039 l -227.15247 137.711685 l -224.46449 137.896149 l -219.14122 137.57991 l -216.0316 137.158264 l -213.65985 136.921097 l -212.44762 136.420395 l -213.97607 135.735214 l -211.92056 135.735214 l -211.44621 134.25946 l -212.55302 132.941818 l -214.08148 132.335709 l -217.8763 131.966766 l -216.76947 132.915466 l -217.929 133.811462 l -219.29935 132.625595 l -222.98872 132.045837 l -225.5186 133.547943 l -225.30777 134.496643 l -228.20657 134.074997 l -h -205.17426 131.466064 m -208.23117 131.518768 l -211.02457 131.887711 l -208.81093 133.179001 l -207.07166 133.468887 l -205.49048 134.575699 l -203.80391 134.496643 l -202.90791 133.231705 l -202.96062 132.49382 l -203.69849 131.861359 l -205.17426 131.466064 l -h -163.642258 128.567261 m -166.119431 127.486801 l -169.12364 126.538101 l -171.38998 126.538101 l -173.39279 126.327278 l -173.18198 127.460449 l -172.07515 127.961151 l -170.7048 128.040207 l -167.96413 128.672668 l -165.645081 128.883499 l -163.642258 128.567261 l -h -149.200943 160.90213 m -150.623993 160.770355 l -150.202347 162.430588 l -151.467285 163.616455 l -150.887512 163.616455 l -149.991531 162.93129 l -149.464462 162.272476 l -148.726593 161.798126 l -148.463058 161.165649 l -148.515762 160.691299 l -149.200943 160.90213 l -h -189.04634 123.902817 m -191.94516 124.11364 l -195.89807 124.640701 l -197.00488 125.352226 l -197.58464 125.958336 l -195.21289 125.800224 l -192.78844 125.325874 l -189.52069 125.246811 l -190.94374 124.825165 l -189.15176 124.482582 l -189.04634 123.902817 l -h -159.900177 166.884201 m -160.638046 167.569382 l -162.1138 168.17549 l -162.693558 168.99243 l -161.955688 169.1769 l -159.531235 168.51808 l -159.109589 168.01738 l -157.791946 167.490326 l -157.528427 167.06868 l -156.052658 166.805145 l -155.4729 166.014572 l -155.578308 165.671982 l -157.159485 165.98822 l -158.055481 166.225388 l -159.425827 166.383499 l -159.900177 166.884201 l -h -165.592377 131.018066 m -167.647888 131.307953 l -171.38998 131.387009 l -172.81303 131.835007 l -174.3942 132.441116 l -172.5495 132.810059 l -168.96553 133.837814 l -167.173538 134.86557 l -167.173538 135.498047 l -163.326035 136.209564 l -162.535446 135.577103 l -159.162292 134.786514 l -159.794754 134.180405 l -160.796158 133.099945 l -162.061096 132.151245 l -160.638046 131.255249 l -165.592377 131.018066 l -h -185.67319 128.962555 m -186.99083 128.725372 l -188.51929 128.778091 l -188.78282 129.515961 l -187.88683 130.201141 l -182.9325 130.438309 l -179.24312 131.07077 l -176.97678 131.097122 l -176.81865 130.622772 l -179.82288 129.963959 l -173.23468 130.148422 l -171.17915 129.884903 l -173.18198 128.461853 l -174.55232 128.040207 l -178.66335 128.540909 l -181.29863 129.410553 l -183.82849 129.515961 l -181.72028 128.119263 l -183.09062 127.592209 l -184.61908 127.750328 l -185.09343 128.435501 l -185.67319 128.962555 l -h -187.57059 133.020889 m -189.20447 133.626999 l -190.10046 135.050049 l -190.57481 136.077805 l -193.05197 136.789337 l -195.68724 137.500854 l -195.52913 138.133316 l -193.10468 138.265091 l -194.05338 138.818497 l -193.57903 139.345551 l -190.89104 139.134735 l -188.36118 138.739441 l -186.67459 138.818497 l -183.93391 139.319199 l -180.24452 139.530014 l -177.60924 139.661789 l -176.81865 138.976608 l -174.81584 138.581314 l -173.55092 138.739441 l -171.70622 137.57991 l -172.70763 137.421799 l -174.97397 137.184616 l -177.02948 137.237335 l -178.92688 137.000153 l -176.08078 136.657562 l -172.97115 136.762985 l -170.91563 136.736618 l -170.12505 136.183212 l -173.4982 135.603455 l -171.28458 135.629807 l -168.702 135.234512 l -169.91423 134.154053 l -170.96834 133.574295 l -174.86855 132.678299 l -176.39702 132.96817 l -175.65913 133.653351 l -178.87418 133.205353 l -180.92969 133.943237 l -182.56357 133.205353 l -183.93391 133.679703 l -185.14613 135.102753 l -185.88402 134.496643 l -184.8299 132.994537 l -186.09483 132.783707 l -187.57059 133.020889 l -h -196.47783 133.574295 m -194.84396 132.599243 l -196.58324 131.887711 l -198.32253 132.203949 l -200.95781 132.01947 l -201.32674 132.441116 l -199.95641 133.152649 l -202.17003 133.78511 l -201.90651 135.102753 l -199.53476 135.656158 l -198.11171 135.550751 l -197.11029 134.970993 l -193.47362 133.864166 l -193.47362 133.389816 l -196.47783 133.574295 l -h -187.46518 132.256653 m -189.41528 132.203949 l -190.52211 132.520187 l -189.25717 133.495239 l -186.93813 132.467468 l -187.46518 132.256653 l -h -199.21852 127.882088 m -199.32393 127.697624 l -200.43076 128.356445 l -200.48346 129.120667 l -199.79828 130.201141 l -197.37383 130.359253 l -195.79266 130.12207 l -195.84537 129.278793 l -193.47362 129.384201 l -193.36821 128.251022 l -194.94937 128.303741 l -197.11029 127.803032 l -199.21852 127.882088 l -h -202.96062 122.005417 m -203.96202 121.557426 l -205.43777 121.452011 l -204.80531 121.109428 l -208.23117 121.056717 l -210.07587 121.820953 l -212.55302 122.137184 l -214.97748 122.427063 l -216.13701 123.375763 l -217.8763 123.850113 l -215.87347 124.298111 l -213.1855 125.40493 l -210.55022 125.510338 l -207.54601 125.325874 l -205.96483 124.719757 l -205.96483 124.192703 l -207.12436 123.797409 l -204.48907 123.797409 l -202.85521 123.323059 l -201.90651 122.664238 l -202.96062 122.005417 l -h -209.44341 120.108017 m -211.60432 119.84449 l -213.29091 119.791786 l -216.18971 119.554611 l -218.35065 119.001205 l -220.14262 119.080261 l -221.7238 119.501907 l -222.83061 118.711319 l -224.78072 118.474144 l -227.416 118.316032 l -231.89597 118.236969 l -232.63385 118.395088 l -236.903 118.157913 l -240.06534 118.236969 l -243.22766 118.342384 l -247.12788 118.447792 l -250.29021 118.632263 l -252.9782 119.027557 l -252.87279 119.422844 l -249.34151 120.055313 l -245.75754 120.371544 l -244.4399 120.687782 l -247.65494 120.687782 l -244.17636 121.583778 l -241.80461 121.979065 l -239.27475 123.191292 l -236.27054 123.428467 l -235.32184 123.718353 l -230.89456 123.876465 l -232.95009 124.060936 l -231.89597 124.324463 l -233.1082 125.035988 l -231.73785 125.53669 l -229.47151 125.958336 l -228.78635 126.538101 l -226.73082 126.986099 l -226.94165 127.30233 l -229.47151 127.249626 l -229.47151 127.592209 l -225.5713 128.488205 l -221.7238 128.066559 l -217.45465 128.303741 l -215.24101 128.119263 l -212.50032 128.040207 l -212.28951 127.355034 l -215.03018 127.012451 l -214.29231 125.958336 l -215.18831 125.852928 l -219.08852 126.48539 l -217.08571 125.563049 l -214.71396 125.273163 l -215.92618 124.693405 l -218.50876 124.350815 l -218.9304 123.850113 l -216.87488 123.270355 l -216.24242 122.532478 l -220.24805 122.585182 l -221.40756 122.743301 l -223.6739 122.21624 l -220.40616 122.031776 l -215.24101 122.137184 l -212.65843 121.636482 l -211.44621 121.056717 l -209.75963 120.608727 l -209.44341 120.108017 l -h -233.37172 141.269302 m -232.42302 141.690948 l -230.78915 141.770004 l -230.42021 141.058487 l -231.05267 140.241547 l -232.42302 140.030716 l -233.52985 140.452362 l -233.58255 141.058487 l -233.37172 141.269302 l -h -203.48767 138.844849 m -202.59167 139.345551 l -200.58887 138.897552 l -199.42934 139.055664 l -197.42653 138.396851 l -198.69147 137.948853 l -199.69287 137.316391 l -201.27403 137.738037 l -202.17003 138.001556 l -202.59167 138.265091 l -203.48767 138.844849 l -h -249.02528 166.989624 m -249.55234 166.857849 l -251.50244 167.226791 l -252.9782 167.85925 l -253.0309 168.12279 l -252.29303 168.14914 l -250.39563 167.674789 l -249.02528 166.989624 l -h -249.76315 171.15335 m -250.29021 171.86488 l -251.34433 172.04935 l -252.71466 172.02299 l -251.97679 172.60277 l -251.44974 172.70818 l -249.60504 172.0757 l -249.2361 171.60135 l -249.76315 171.15335 l -h -S -/DeviceRGB {} CS -[0.2863 0.0118 0.6275] SC -/DeviceRGB {} cs -[0.2863 0.0118 0.6275] sc -383.58258 232.34451 m -383.10825 232.50264 l -382.15955 232.44992 l -381.0527 232.31816 l -380.52567 232.42357 l -380.26212 232.79251 l -379.78778 232.81886 l -379.26071 232.52899 l -377.62686 233.24051 l -376.94168 233.10875 l -376.73087 233.21416 l -376.3092 234.11015 l -375.20239 233.82027 l -374.14828 233.66216 l -373.19958 233.1351 l -371.98737 232.6344 l -371.19678 233.10875 l -370.66971 233.84662 l -370.5116 234.87439 l -369.5629 234.79532 l -368.56149 234.5318 l -367.7182 235.32239 l -366.92761 236.69272 l -366.7695 236.24474 l -366.7168 235.58591 l -366.03162 235.11156 l -365.50458 234.37369 l -365.39917 233.84662 l -364.71399 233.0824 l -364.8194 232.6344 l -364.66129 232.02829 l -364.76669 230.89511 l -365.13562 230.63159 l -365.8735 229.12947 l -367.08575 229.02406 l -367.34927 228.65512 l -367.61279 228.68147 l -367.98172 228.99771 l -369.77371 228.44431 l -370.40619 227.86455 l -371.19678 227.36385 l -371.03867 226.83679 l -371.4603 226.70502 l -372.88336 226.81044 l -374.25369 226.12526 l -375.3078 224.5441 l -376.04568 223.93797 l -376.99438 223.70081 l -377.1525 224.30692 l -377.99579 225.22926 l -377.99579 225.83537 l -377.73227 226.4415 l -377.83768 226.8895 l -378.36472 227.31114 l -379.47156 227.9436 l -380.26212 228.54971 l -380.26212 229.02406 l -381.26355 229.7883 l -381.896 230.42076 l -382.26495 231.29041 l -383.31906 231.87016 l -383.58258 232.34451 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -383.58258 232.34451 m -383.10825 232.50264 l -382.15955 232.44992 l -381.0527 232.31816 l -380.52567 232.42357 l -380.26212 232.79251 l -379.78778 232.81886 l -379.26071 232.52899 l -377.62686 233.24051 l -376.94168 233.10875 l -376.73087 233.21416 l -376.3092 234.11015 l -375.20239 233.82027 l -374.14828 233.66216 l -373.19958 233.1351 l -371.98737 232.6344 l -371.19678 233.10875 l -370.66971 233.84662 l -370.5116 234.87439 l -369.5629 234.79532 l -368.56149 234.5318 l -367.7182 235.32239 l -366.92761 236.69272 l -366.7695 236.24474 l -366.7168 235.58591 l -366.03162 235.11156 l -365.50458 234.37369 l -365.39917 233.84662 l -364.71399 233.0824 l -364.8194 232.6344 l -364.66129 232.02829 l -364.76669 230.89511 l -365.13562 230.63159 l -365.8735 229.12947 l -367.08575 229.02406 l -367.34927 228.65512 l -367.61279 228.68147 l -367.98172 228.99771 l -369.77371 228.44431 l -370.40619 227.86455 l -371.19678 227.36385 l -371.03867 226.83679 l -371.4603 226.70502 l -372.88336 226.81044 l -374.25369 226.12526 l -375.3078 224.5441 l -376.04568 223.93797 l -376.99438 223.70081 l -377.1525 224.30692 l -377.99579 225.22926 l -377.99579 225.83537 l -377.73227 226.4415 l -377.83768 226.8895 l -378.36472 227.31114 l -379.47156 227.9436 l -380.26212 228.54971 l -380.26212 229.02406 l -381.26355 229.7883 l -381.896 230.42076 l -382.26495 231.29041 l -383.31906 231.87016 l -383.58258 232.34451 l -h -S -/DeviceRGB {} CS -[0.498 0.0314 0.6471] SC -/DeviceRGB {} cs -[0.498 0.0314 0.6471] sc -378.41745 211.34135 m -378.47015 217.13896 l -377.2052 217.03355 l -376.52005 218.11401 l -376.15109 219.03636 l -376.46732 219.37895 l -375.99298 219.82695 l -376.15109 220.43306 l -375.78217 221.03917 l -375.62405 221.56622 l -376.15109 221.48717 l -376.41461 222.04057 l -376.46732 222.91022 l -376.99438 223.33186 l -376.99438 223.70081 l -376.04568 223.93797 l -375.3078 224.5441 l -374.25369 226.12526 l -372.88336 226.81044 l -371.4603 226.70502 l -371.03867 226.83679 l -371.19678 227.36385 l -370.40619 227.86455 l -369.77371 228.44431 l -367.98172 228.99771 l -367.61279 228.68147 l -367.34927 228.65512 l -367.08575 229.02406 l -365.8735 229.12947 l -366.08432 228.73419 l -365.60999 227.73277 l -365.45187 227.12666 l -364.76669 226.86314 l -363.9234 226.01985 l -364.23962 225.33467 l -364.9248 225.46645 l -365.34647 225.36102 l -366.13705 225.38739 l -365.34647 224.0434 l -365.39917 223.0947 l -365.29376 222.11964 l -364.71399 221.17094 l -364.8721 220.48576 l -363.9234 220.45941 l -363.9234 219.51071 l -363.34366 218.95731 l -363.9761 217.03355 l -365.8208 215.66321 l -365.8735 213.76581 l -366.45328 210.78795 l -366.7695 210.15547 l -366.18976 209.65477 l -366.13705 209.18042 l -365.60999 208.81148 l -365.24106 206.51878 l -366.7168 205.72821 l -372.56711 208.52161 l -378.41745 211.34135 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -378.41745 211.34135 m -378.47015 217.13896 l -377.2052 217.03355 l -376.52005 218.11401 l -376.15109 219.03636 l -376.46732 219.37895 l -375.99298 219.82695 l -376.15109 220.43306 l -375.78217 221.03917 l -375.62405 221.56622 l -376.15109 221.48717 l -376.41461 222.04057 l -376.46732 222.91022 l -376.99438 223.33186 l -376.99438 223.70081 l -376.04568 223.93797 l -375.3078 224.5441 l -374.25369 226.12526 l -372.88336 226.81044 l -371.4603 226.70502 l -371.03867 226.83679 l -371.19678 227.36385 l -370.40619 227.86455 l -369.77371 228.44431 l -367.98172 228.99771 l -367.61279 228.68147 l -367.34927 228.65512 l -367.08575 229.02406 l -365.8735 229.12947 l -366.08432 228.73419 l -365.60999 227.73277 l -365.45187 227.12666 l -364.76669 226.86314 l -363.9234 226.01985 l -364.23962 225.33467 l -364.9248 225.46645 l -365.34647 225.36102 l -366.13705 225.38739 l -365.34647 224.0434 l -365.39917 223.0947 l -365.29376 222.11964 l -364.71399 221.17094 l -364.8721 220.48576 l -363.9234 220.45941 l -363.9234 219.51071 l -363.34366 218.95731 l -363.9761 217.03355 l -365.8208 215.66321 l -365.8735 213.76581 l -366.45328 210.78795 l -366.7695 210.15547 l -366.18976 209.65477 l -366.13705 209.18042 l -365.60999 208.81148 l -365.24106 206.51878 l -366.7168 205.72821 l -372.56711 208.52161 l -378.41745 211.34135 l -h -S -/DeviceRGB {} CS -[0.9843 0.8196 0.1451] SC -/DeviceRGB {} cs -[0.9843 0.8196 0.1451] sc -243.01685 317.04236 m -243.01685 320.33646 l -244.59801 320.33646 l -245.494 320.36279 l -244.96695 320.94257 l -243.75471 321.41693 l -243.01685 321.36423 l -242.17355 321.23245 l -241.06674 320.81079 l -239.53827 320.59998 l -237.69359 319.78305 l -236.21782 318.99246 l -234.21501 317.35858 l -235.42725 317.64847 l -237.48276 318.62354 l -239.38016 319.15057 l -240.17075 318.49176 l -240.6451 317.49036 l -241.96274 316.88425 l -243.01685 317.04236 l -h -241.6465 265.73349 m -242.33167 266.73489 l -242.5425 267.789 l -243.33308 268.39511 l -242.85873 269.81818 l -243.64931 271.47839 l -244.22906 273.4812 l -245.28319 273.27039 l -245.4413 273.63931 l -244.91425 275.16779 l -243.33308 275.90567 l -243.38579 278.33011 l -243.06955 278.80447 l -243.5439 279.38425 l -242.48979 280.28021 l -241.54109 281.65057 l -241.01404 282.99457 l -241.11945 284.4176 l -240.22345 285.91971 l -240.90862 288.44958 l -241.27756 288.7131 l -241.27756 290.0571 l -240.43427 291.48016 l -240.48697 292.71875 l -239.38016 293.66745 l -239.38016 295.01144 l -239.85451 296.43448 l -238.95851 296.96155 l -238.58957 298.27917 l -238.22064 299.78128 l -238.48416 301.54694 l -237.9044 301.86316 l -238.22064 303.54974 l -238.90581 304.10315 l -238.37875 304.70926 l -239.06392 304.99915 l -239.22205 305.55255 l -238.58957 305.84244 l -238.7477 306.6857 l -238.22064 308.63583 l -237.43005 309.87439 l -237.64087 310.61227 l -237.16652 311.56097 l -236.007 312.19345 l -236.16512 313.74826 l -236.69217 314.27533 l -237.64087 314.19626 l -237.64087 315.27673 l -238.22064 316.14636 l -241.75191 316.33084 l -243.12225 316.56799 l -241.80461 316.54166 l -241.11945 316.91058 l -239.8018 317.43765 l -239.53827 318.80798 l -238.95851 318.83435 l -237.27194 318.35999 l -235.58536 317.33224 l -233.79337 316.51529 l -233.31902 315.59296 l -233.74066 314.72333 l -233.00279 313.74826 l -232.79196 311.24475 l -233.42444 309.84805 l -235.0056 308.71487 l -232.73926 308.29324 l -234.16231 307.00195 l -234.63666 304.55115 l -236.27054 305.07819 l -237.06111 302.04764 l -236.05971 301.65234 l -235.58536 303.47067 l -234.68936 303.28619 l -235.16371 301.17798 l -235.63806 298.46365 l -236.32324 297.46225 l -235.9016 296.03918 l -235.79619 294.4053 l -236.37595 294.3526 l -237.27194 291.98087 l -238.32605 289.63547 l -238.90581 287.44818 l -238.58957 285.26089 l -239.01122 284.04868 l -238.8531 282.25668 l -239.6964 280.46469 l -239.95992 277.61859 l -240.43427 274.58801 l -240.90862 271.32028 l -240.80321 268.92218 l -240.48697 266.86667 l -241.22485 266.49771 l -241.6465 265.73349 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -243.01685 317.04236 m -243.01685 320.33646 l -244.59801 320.33646 l -245.494 320.36279 l -244.96695 320.94257 l -243.75471 321.41693 l -243.01685 321.36423 l -242.17355 321.23245 l -241.06674 320.81079 l -239.53827 320.59998 l -237.69359 319.78305 l -236.21782 318.99246 l -234.21501 317.35858 l -235.42725 317.64847 l -237.48276 318.62354 l -239.38016 319.15057 l -240.17075 318.49176 l -240.6451 317.49036 l -241.96274 316.88425 l -243.01685 317.04236 l -h -241.6465 265.73349 m -242.33167 266.73489 l -242.5425 267.789 l -243.33308 268.39511 l -242.85873 269.81818 l -243.64931 271.47839 l -244.22906 273.4812 l -245.28319 273.27039 l -245.4413 273.63931 l -244.91425 275.16779 l -243.33308 275.90567 l -243.38579 278.33011 l -243.06955 278.80447 l -243.5439 279.38425 l -242.48979 280.28021 l -241.54109 281.65057 l -241.01404 282.99457 l -241.11945 284.4176 l -240.22345 285.91971 l -240.90862 288.44958 l -241.27756 288.7131 l -241.27756 290.0571 l -240.43427 291.48016 l -240.48697 292.71875 l -239.38016 293.66745 l -239.38016 295.01144 l -239.85451 296.43448 l -238.95851 296.96155 l -238.58957 298.27917 l -238.22064 299.78128 l -238.48416 301.54694 l -237.9044 301.86316 l -238.22064 303.54974 l -238.90581 304.10315 l -238.37875 304.70926 l -239.06392 304.99915 l -239.22205 305.55255 l -238.58957 305.84244 l -238.7477 306.6857 l -238.22064 308.63583 l -237.43005 309.87439 l -237.64087 310.61227 l -237.16652 311.56097 l -236.007 312.19345 l -236.16512 313.74826 l -236.69217 314.27533 l -237.64087 314.19626 l -237.64087 315.27673 l -238.22064 316.14636 l -241.75191 316.33084 l -243.12225 316.56799 l -241.80461 316.54166 l -241.11945 316.91058 l -239.8018 317.43765 l -239.53827 318.80798 l -238.95851 318.83435 l -237.27194 318.35999 l -235.58536 317.33224 l -233.79337 316.51529 l -233.31902 315.59296 l -233.74066 314.72333 l -233.00279 313.74826 l -232.79196 311.24475 l -233.42444 309.84805 l -235.0056 308.71487 l -232.73926 308.29324 l -234.16231 307.00195 l -234.63666 304.55115 l -236.27054 305.07819 l -237.06111 302.04764 l -236.05971 301.65234 l -235.58536 303.47067 l -234.68936 303.28619 l -235.16371 301.17798 l -235.63806 298.46365 l -236.32324 297.46225 l -235.9016 296.03918 l -235.79619 294.4053 l -236.37595 294.3526 l -237.27194 291.98087 l -238.32605 289.63547 l -238.90581 287.44818 l -238.58957 285.26089 l -239.01122 284.04868 l -238.8531 282.25668 l -239.6964 280.46469 l -239.95992 277.61859 l -240.43427 274.58801 l -240.90862 271.32028 l -240.80321 268.92218 l -240.48697 266.86667 l -241.22485 266.49771 l -241.6465 265.73349 l -h -S -/DeviceRGB {} CS -[0.9843 0.6196 0.2275] SC -/DeviceRGB {} cs -[0.9843 0.6196 0.2275] sc -503.75125 213.37051 m -502.53903 212.89616 l -502.53903 211.65758 l -503.22421 210.97241 l -504.85809 210.57712 l -505.70139 210.60347 l -506.01761 211.15688 l -505.38513 211.8157 l -505.0162 212.659 l -503.75125 213.37051 l -h -461.00705 178.00508 m -460.90164 177.16179 l -461.90305 176.79285 l -460.58542 174.23663 l -463.48422 173.65688 l -464.22211 173.34064 l -465.27621 170.70537 l -468.17502 171.20607 l -468.96561 170.52089 l -469.07101 169.07149 l -470.28323 168.93973 l -471.39005 167.96468 l -471.96982 167.8329 l -472.33875 168.86067 l -473.55096 169.62489 l -475.65921 170.1783 l -476.66061 171.36418 l -476.13354 173.07712 l -476.66061 173.70958 l -478.3999 173.94675 l -480.35001 174.15758 l -482.08926 175.07993 l -483.03796 175.23804 l -483.67044 176.58203 l -484.56644 177.45168 l -486.14761 177.42532 l -489.20453 177.74155 l -491.10193 177.55708 l -492.5777 177.7679 l -494.73862 178.66389 l -496.53061 178.63754 l -497.16306 179.11189 l -498.84964 178.32132 l -501.22141 177.82062 l -503.43503 177.7679 l -505.12161 177.24084 l -506.17572 176.45027 l -507.22983 175.97592 l -506.96631 175.47522 l -506.49194 174.9218 l -507.28253 173.9731 l -508.07312 174.10487 l -509.60159 174.39474 l -511.07733 173.63052 l -513.29095 173.05075 l -514.34509 172.10205 l -515.39917 171.68042 l -517.50745 171.46959 l -518.66693 171.65407 l -518.82507 171.127 l -517.50745 170.09924 l -516.3479 169.62489 l -515.18835 170.1783 l -513.76532 169.94113 l -512.92206 170.1256 l -512.5531 169.54584 l -513.60718 168.07008 l -514.29236 166.963272 l -516.08435 167.516678 l -518.13989 166.59433 l -518.08716 165.961853 l -519.45752 164.407043 l -520.24811 163.932693 l -520.24811 163.115753 l -519.40485 162.773178 l -520.61707 162.035294 l -522.46173 161.771774 l -524.41187 161.745422 l -526.57275 162.167053 l -527.89044 162.720474 l -528.78644 164.196228 l -529.31348 164.82869 l -529.84052 165.724686 l -530.36755 167.147736 l -532.95013 167.622086 l -534.63672 168.67619 l -535.26917 170.04654 l -537.48285 170.04654 l -538.74774 169.46678 l -541.17224 169.04514 l -540.38165 170.36278 l -539.80188 170.88983 l -539.32751 172.49734 l -538.32611 173.92039 l -536.58685 173.65688 l -535.3219 174.18393 l -535.69086 175.42252 l -535.48004 177.16179 l -534.74213 177.18814 l -534.74213 177.92603 l -533.79346 177.08273 l -533.21368 177.89967 l -530.94733 178.53214 l -531.15814 179.29637 l -529.89325 179.24367 l -529.20807 178.79567 l -528.20667 179.82343 l -526.62549 180.61401 l -525.41327 181.53635 l -523.35773 181.98434 l -522.30365 182.66953 l -520.72247 183.06482 l -521.51306 182.37964 l -521.19678 181.79988 l -522.35632 180.82483 l -521.56573 180.06059 l -520.30084 180.58765 l -518.61426 181.58907 l -517.71826 182.53777 l -516.29517 182.61682 l -515.55731 183.30199 l -516.3479 184.27704 l -517.50745 184.51422 l -517.56012 185.17303 l -518.71967 185.59468 l -520.35352 184.56693 l -521.67114 185.12033 l -522.61987 185.17303 l -522.83069 185.93727 l -520.77515 186.35892 l -520.08997 187.14949 l -518.66693 187.86102 l -517.92908 188.88878 l -519.51025 189.70572 l -520.08997 191.12877 l -520.98596 192.47276 l -521.93469 193.60593 l -521.93469 194.68639 l -521.0387 195.08168 l -521.35492 195.87227 l -522.25092 196.32027 l -521.98737 197.53249 l -521.61847 198.69202 l -520.82788 198.82378 l -519.72107 200.40495 l -518.56152 202.3287 l -517.19116 204.06798 l -515.18835 205.41197 l -513.13287 206.65056 l -511.49899 206.80867 l -510.603 207.46748 l -510.07593 206.99313 l -509.28534 207.73102 l -507.22983 208.44255 l -505.70139 208.67972 l -505.17432 210.23453 l -504.38373 210.3136 l -503.9621 209.23312 l -504.33102 208.67972 l -502.38092 208.20537 l -501.69574 208.44255 l -500.22 208.07361 l -499.48212 207.46748 l -499.74564 206.62421 l -498.37531 206.36067 l -497.69012 205.80727 l -496.4252 206.59785 l -495.00214 206.75597 l -493.84262 206.75597 l -493.05203 207.12491 l -492.31415 207.33572 l -492.52499 208.99596 l -491.73441 208.9696 l -491.629 208.62701 l -491.57629 208.0209 l -490.52216 208.44255 l -489.88971 208.17902 l -488.7829 207.62561 l -489.20453 206.41338 l -488.25583 206.1235 l -487.93961 204.77951 l -486.35843 205.01668 l -486.56924 203.2774 l -487.93961 202.06517 l -487.99231 200.85294 l -487.93961 199.71977 l -487.30713 199.37718 l -486.83279 198.50754 l -485.9895 198.63931 l -484.40833 198.40213 l -484.88266 197.79602 l -484.19751 196.87367 l -483.1434 197.50613 l -481.93115 197.13721 l -480.2446 198.08591 l -478.92694 199.16637 l -477.71472 199.35083 l -477.08224 198.95554 l -476.34436 198.90283 l -475.29025 198.58661 l -474.49966 198.95554 l -473.49826 200.03601 l -473.39285 198.87648 l -472.49686 199.19272 l -470.8103 199.06096 l -469.12372 198.71837 l -467.9642 198.05956 l -466.80466 197.76967 l -466.33032 197.08449 l -465.48703 196.87367 l -464.01126 195.92497 l -462.85175 195.47697 l -462.21927 195.81956 l -460.21646 194.79181 l -458.74072 193.86946 l -458.37177 192.26193 l -459.42587 192.44641 l -459.47861 191.70853 l -458.84613 190.94429 l -459.00424 189.75842 l -457.42307 188.04549 l -455.05133 187.43938 l -454.62967 186.33257 l -453.52286 185.64738 l -453.25934 185.22574 l -453.04852 184.38246 l -453.10123 183.82904 l -452.20523 183.48647 l -451.73087 183.64458 l -451.36194 182.27423 l -451.78357 181.93164 l -451.57275 181.58907 l -452.94312 180.90388 l -453.99722 180.61401 l -455.52567 180.82483 l -456.10544 179.87613 l -457.95013 179.71802 l -458.47717 179.13824 l -460.79623 178.34767 l -461.00705 178.00508 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -503.75125 213.37051 m -502.53903 212.89616 l -502.53903 211.65758 l -503.22421 210.97241 l -504.85809 210.57712 l -505.70139 210.60347 l -506.01761 211.15688 l -505.38513 211.8157 l -505.0162 212.659 l -503.75125 213.37051 l -h -461.00705 178.00508 m -460.90164 177.16179 l -461.90305 176.79285 l -460.58542 174.23663 l -463.48422 173.65688 l -464.22211 173.34064 l -465.27621 170.70537 l -468.17502 171.20607 l -468.96561 170.52089 l -469.07101 169.07149 l -470.28323 168.93973 l -471.39005 167.96468 l -471.96982 167.8329 l -472.33875 168.86067 l -473.55096 169.62489 l -475.65921 170.1783 l -476.66061 171.36418 l -476.13354 173.07712 l -476.66061 173.70958 l -478.3999 173.94675 l -480.35001 174.15758 l -482.08926 175.07993 l -483.03796 175.23804 l -483.67044 176.58203 l -484.56644 177.45168 l -486.14761 177.42532 l -489.20453 177.74155 l -491.10193 177.55708 l -492.5777 177.7679 l -494.73862 178.66389 l -496.53061 178.63754 l -497.16306 179.11189 l -498.84964 178.32132 l -501.22141 177.82062 l -503.43503 177.7679 l -505.12161 177.24084 l -506.17572 176.45027 l -507.22983 175.97592 l -506.96631 175.47522 l -506.49194 174.9218 l -507.28253 173.9731 l -508.07312 174.10487 l -509.60159 174.39474 l -511.07733 173.63052 l -513.29095 173.05075 l -514.34509 172.10205 l -515.39917 171.68042 l -517.50745 171.46959 l -518.66693 171.65407 l -518.82507 171.127 l -517.50745 170.09924 l -516.3479 169.62489 l -515.18835 170.1783 l -513.76532 169.94113 l -512.92206 170.1256 l -512.5531 169.54584 l -513.60718 168.07008 l -514.29236 166.963272 l -516.08435 167.516678 l -518.13989 166.59433 l -518.08716 165.961853 l -519.45752 164.407043 l -520.24811 163.932693 l -520.24811 163.115753 l -519.40485 162.773178 l -520.61707 162.035294 l -522.46173 161.771774 l -524.41187 161.745422 l -526.57275 162.167053 l -527.89044 162.720474 l -528.78644 164.196228 l -529.31348 164.82869 l -529.84052 165.724686 l -530.36755 167.147736 l -532.95013 167.622086 l -534.63672 168.67619 l -535.26917 170.04654 l -537.48285 170.04654 l -538.74774 169.46678 l -541.17224 169.04514 l -540.38165 170.36278 l -539.80188 170.88983 l -539.32751 172.49734 l -538.32611 173.92039 l -536.58685 173.65688 l -535.3219 174.18393 l -535.69086 175.42252 l -535.48004 177.16179 l -534.74213 177.18814 l -534.74213 177.92603 l -533.79346 177.08273 l -533.21368 177.89967 l -530.94733 178.53214 l -531.15814 179.29637 l -529.89325 179.24367 l -529.20807 178.79567 l -528.20667 179.82343 l -526.62549 180.61401 l -525.41327 181.53635 l -523.35773 181.98434 l -522.30365 182.66953 l -520.72247 183.06482 l -521.51306 182.37964 l -521.19678 181.79988 l -522.35632 180.82483 l -521.56573 180.06059 l -520.30084 180.58765 l -518.61426 181.58907 l -517.71826 182.53777 l -516.29517 182.61682 l -515.55731 183.30199 l -516.3479 184.27704 l -517.50745 184.51422 l -517.56012 185.17303 l -518.71967 185.59468 l -520.35352 184.56693 l -521.67114 185.12033 l -522.61987 185.17303 l -522.83069 185.93727 l -520.77515 186.35892 l -520.08997 187.14949 l -518.66693 187.86102 l -517.92908 188.88878 l -519.51025 189.70572 l -520.08997 191.12877 l -520.98596 192.47276 l -521.93469 193.60593 l -521.93469 194.68639 l -521.0387 195.08168 l -521.35492 195.87227 l -522.25092 196.32027 l -521.98737 197.53249 l -521.61847 198.69202 l -520.82788 198.82378 l -519.72107 200.40495 l -518.56152 202.3287 l -517.19116 204.06798 l -515.18835 205.41197 l -513.13287 206.65056 l -511.49899 206.80867 l -510.603 207.46748 l -510.07593 206.99313 l -509.28534 207.73102 l -507.22983 208.44255 l -505.70139 208.67972 l -505.17432 210.23453 l -504.38373 210.3136 l -503.9621 209.23312 l -504.33102 208.67972 l -502.38092 208.20537 l -501.69574 208.44255 l -500.22 208.07361 l -499.48212 207.46748 l -499.74564 206.62421 l -498.37531 206.36067 l -497.69012 205.80727 l -496.4252 206.59785 l -495.00214 206.75597 l -493.84262 206.75597 l -493.05203 207.12491 l -492.31415 207.33572 l -492.52499 208.99596 l -491.73441 208.9696 l -491.629 208.62701 l -491.57629 208.0209 l -490.52216 208.44255 l -489.88971 208.17902 l -488.7829 207.62561 l -489.20453 206.41338 l -488.25583 206.1235 l -487.93961 204.77951 l -486.35843 205.01668 l -486.56924 203.2774 l -487.93961 202.06517 l -487.99231 200.85294 l -487.93961 199.71977 l -487.30713 199.37718 l -486.83279 198.50754 l -485.9895 198.63931 l -484.40833 198.40213 l -484.88266 197.79602 l -484.19751 196.87367 l -483.1434 197.50613 l -481.93115 197.13721 l -480.2446 198.08591 l -478.92694 199.16637 l -477.71472 199.35083 l -477.08224 198.95554 l -476.34436 198.90283 l -475.29025 198.58661 l -474.49966 198.95554 l -473.49826 200.03601 l -473.39285 198.87648 l -472.49686 199.19272 l -470.8103 199.06096 l -469.12372 198.71837 l -467.9642 198.05956 l -466.80466 197.76967 l -466.33032 197.08449 l -465.48703 196.87367 l -464.01126 195.92497 l -462.85175 195.47697 l -462.21927 195.81956 l -460.21646 194.79181 l -458.74072 193.86946 l -458.37177 192.26193 l -459.42587 192.44641 l -459.47861 191.70853 l -458.84613 190.94429 l -459.00424 189.75842 l -457.42307 188.04549 l -455.05133 187.43938 l -454.62967 186.33257 l -453.52286 185.64738 l -453.25934 185.22574 l -453.04852 184.38246 l -453.10123 183.82904 l -452.20523 183.48647 l -451.73087 183.64458 l -451.36194 182.27423 l -451.78357 181.93164 l -451.57275 181.58907 l -452.94312 180.90388 l -453.99722 180.61401 l -455.52567 180.82483 l -456.10544 179.87613 l -457.95013 179.71802 l -458.47717 179.13824 l -460.79623 178.34767 l -461.00705 178.00508 l -h -S -/DeviceRGB {} CS -[0.9843 0.6196 0.2314] SC -/DeviceRGB {} cs -[0.9843 0.6196 0.2314] sc -245.59941 238.16849 m -245.33589 238.35295 l -245.01965 237.48331 l -244.65071 237.00896 l -244.12366 237.50966 l -241.27756 237.48331 l -241.33026 238.40565 l -242.17355 238.56377 l -242.12085 239.11719 l -241.80461 238.95906 l -241.01404 239.19624 l -241.01404 240.2767 l -241.6465 240.80376 l -241.85732 241.64705 l -241.85732 242.27951 l -241.17215 246.28514 l -240.43427 245.5209 l -240.01262 245.4682 l -240.96133 243.99245 l -239.85451 243.30728 l -238.95851 243.43904 l -238.43146 243.17551 l -237.64087 243.5708 l -236.53406 243.38634 l -235.69077 241.85786 l -235.0056 241.46259 l -234.53125 240.7774 l -233.52985 240.09224 l -233.1609 240.224 l -232.52844 239.88141 l -231.79056 239.38071 l -231.42162 239.61789 l -230.15669 239.43341 l -229.78775 238.80095 l -229.52422 238.8273 l -228.04846 237.98401 l -227.89035 237.53601 l -228.4174 237.40425 l -228.3647 236.69272 l -228.68092 236.13931 l -229.41881 236.06026 l -230.05127 235.13791 l -230.57832 234.37369 l -230.05127 234.00475 l -230.3148 233.16145 l -229.99857 231.81746 l -230.3148 231.44852 l -230.10397 230.20995 l -229.47151 229.41936 l -229.68234 228.70784 l -230.15669 228.81325 l -230.42021 228.3916 l -230.10397 227.52196 l -230.2621 227.31114 l -230.99997 227.36385 l -232.1068 226.33609 l -232.73926 226.17796 l -232.73926 225.70361 l -233.00279 224.46504 l -233.84607 223.77986 l -234.74207 223.75351 l -234.90019 223.43727 l -236.007 223.56905 l -237.16652 222.83116 l -237.74629 222.48857 l -238.48416 221.80341 l -238.95851 221.88246 l -239.38016 222.27776 l -239.06392 222.75211 l -238.11522 223.01563 l -237.74629 223.72716 l -237.21924 224.1488 l -236.79759 224.70221 l -236.58676 225.75632 l -236.16512 226.59961 l -236.9557 226.70502 l -237.11382 227.36385 l -237.43005 227.70642 l -237.58817 228.28619 l -237.37735 228.8396 l -237.43005 229.12947 l -237.799 229.26125 l -238.16794 229.76195 l -240.06534 229.63019 l -240.90862 229.81465 l -241.91003 231.07959 l -242.48979 230.92146 l -243.5439 231.00052 l -244.38719 230.81606 l -244.91425 231.07959 l -244.65071 231.87016 l -244.33449 232.34451 l -244.22906 233.39862 l -244.4926 234.37369 l -244.91425 234.82169 l -244.96695 235.13791 l -244.22906 235.87579 l -244.75613 236.19202 l -245.17776 236.69272 l -245.59941 238.16849 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -245.59941 238.16849 m -245.33589 238.35295 l -245.01965 237.48331 l -244.65071 237.00896 l -244.12366 237.50966 l -241.27756 237.48331 l -241.33026 238.40565 l -242.17355 238.56377 l -242.12085 239.11719 l -241.80461 238.95906 l -241.01404 239.19624 l -241.01404 240.2767 l -241.6465 240.80376 l -241.85732 241.64705 l -241.85732 242.27951 l -241.17215 246.28514 l -240.43427 245.5209 l -240.01262 245.4682 l -240.96133 243.99245 l -239.85451 243.30728 l -238.95851 243.43904 l -238.43146 243.17551 l -237.64087 243.5708 l -236.53406 243.38634 l -235.69077 241.85786 l -235.0056 241.46259 l -234.53125 240.7774 l -233.52985 240.09224 l -233.1609 240.224 l -232.52844 239.88141 l -231.79056 239.38071 l -231.42162 239.61789 l -230.15669 239.43341 l -229.78775 238.80095 l -229.52422 238.8273 l -228.04846 237.98401 l -227.89035 237.53601 l -228.4174 237.40425 l -228.3647 236.69272 l -228.68092 236.13931 l -229.41881 236.06026 l -230.05127 235.13791 l -230.57832 234.37369 l -230.05127 234.00475 l -230.3148 233.16145 l -229.99857 231.81746 l -230.3148 231.44852 l -230.10397 230.20995 l -229.47151 229.41936 l -229.68234 228.70784 l -230.15669 228.81325 l -230.42021 228.3916 l -230.10397 227.52196 l -230.2621 227.31114 l -230.99997 227.36385 l -232.1068 226.33609 l -232.73926 226.17796 l -232.73926 225.70361 l -233.00279 224.46504 l -233.84607 223.77986 l -234.74207 223.75351 l -234.90019 223.43727 l -236.007 223.56905 l -237.16652 222.83116 l -237.74629 222.48857 l -238.48416 221.80341 l -238.95851 221.88246 l -239.38016 222.27776 l -239.06392 222.75211 l -238.11522 223.01563 l -237.74629 223.72716 l -237.21924 224.1488 l -236.79759 224.70221 l -236.58676 225.75632 l -236.16512 226.59961 l -236.9557 226.70502 l -237.11382 227.36385 l -237.43005 227.70642 l -237.58817 228.28619 l -237.37735 228.8396 l -237.43005 229.12947 l -237.799 229.26125 l -238.16794 229.76195 l -240.06534 229.63019 l -240.90862 229.81465 l -241.91003 231.07959 l -242.48979 230.92146 l -243.5439 231.00052 l -244.38719 230.81606 l -244.91425 231.07959 l -244.65071 231.87016 l -244.33449 232.34451 l -244.22906 233.39862 l -244.4926 234.37369 l -244.91425 234.82169 l -244.96695 235.13791 l -244.22906 235.87579 l -244.75613 236.19202 l -245.17776 236.69272 l -245.59941 238.16849 l -h -S -/DeviceRGB {} CS -[0.349 0.0078 0.6392] SC -/DeviceRGB {} cs -[0.349 0.0078 0.6392] sc -386.42868 246.57501 m -386.6922 247.94536 l -386.58679 248.68324 l -386.85031 249.55289 l -387.6936 250.36981 l -388.48419 252.21451 l -387.90445 252.0564 l -385.95435 252.31993 l -385.58539 252.47804 l -385.16376 253.42674 l -385.47998 254.0592 l -385.21646 255.79849 l -385.05835 257.27426 l -385.42728 257.53778 l -386.42868 258.09119 l -386.85031 257.82767 l -386.95575 259.40881 l -385.84891 259.38248 l -385.26917 258.59189 l -384.7421 257.95941 l -383.58258 257.7486 l -383.26636 256.98438 l -382.37036 257.45871 l -381.21082 257.24789 l -380.68378 256.58908 l -379.78778 256.45731 l -379.1026 256.48367 l -378.99719 256.03568 l -378.52286 255.98296 l -377.83768 255.9039 l -376.94168 256.14108 l -376.3092 256.08838 l -375.94028 256.22012 l -375.99298 254.48085 l -375.51862 253.9538 l -375.41321 253.03145 l -375.62405 252.1618 l -375.3605 251.58205 l -375.3078 250.68605 l -373.51581 250.68605 l -373.67395 250.159 l -372.93607 250.159 l -372.83066 250.42253 l -371.93466 250.47523 l -371.5657 251.31853 l -371.35489 251.68745 l -370.5116 251.47664 l -370.03726 251.68745 l -369.08856 251.81923 l -368.50879 251.05499 l -368.19257 250.58064 l -367.7709 249.68465 l -367.40198 248.60419 l -363.08011 248.57784 l -362.55307 248.7623 l -362.13141 248.73595 l -361.55167 248.92041 l -361.34082 248.47241 l -361.70978 248.3143 l -361.76248 247.68184 l -361.9733 247.3129 l -362.50037 246.99666 l -362.922 247.15479 l -363.39636 246.57501 l -364.18692 246.60138 l -364.29236 247.02301 l -364.8721 247.28654 l -365.71539 246.3642 l -366.55869 245.65266 l -366.92761 245.17831 l -366.87491 243.96609 l -367.50739 242.54305 l -368.19257 241.80516 l -369.14127 241.09364 l -369.29938 240.61929 l -369.35208 240.09224 l -369.6156 239.56519 l -369.51019 238.74825 l -369.72101 237.45695 l -369.98456 236.53461 l -370.40619 235.74402 l -370.5116 234.87439 l -370.66971 233.84662 l -371.19678 233.10875 l -371.98737 232.6344 l -373.19958 233.1351 l -374.14828 233.66216 l -375.20239 233.82027 l -376.3092 234.11015 l -376.73087 233.21416 l -376.94168 233.10875 l -377.62686 233.24051 l -379.26071 232.52899 l -379.78778 232.81886 l -380.26212 232.79251 l -380.52567 232.42357 l -381.0527 232.31816 l -382.15955 232.44992 l -383.10825 232.50264 l -383.58258 232.34451 l -384.47858 233.55675 l -385.11105 233.71486 l -385.53268 233.47769 l -386.16516 233.5831 l -387.00845 233.26686 l -387.32468 233.89934 l -388.6423 234.87439 l -388.5369 236.58731 l -389.11667 236.77179 l -388.6423 237.29884 l -388.11526 237.69414 l -387.53549 238.43201 l -387.21927 239.11719 l -387.16656 240.30305 l -386.79761 240.85646 l -386.79761 241.96329 l -386.37598 242.35858 l -386.32327 243.25456 l -386.11246 243.35999 l -386.00705 244.15056 l -386.37598 244.80939 l -386.42868 246.57501 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -386.42868 246.57501 m -386.6922 247.94536 l -386.58679 248.68324 l -386.85031 249.55289 l -387.6936 250.36981 l -388.48419 252.21451 l -387.90445 252.0564 l -385.95435 252.31993 l -385.58539 252.47804 l -385.16376 253.42674 l -385.47998 254.0592 l -385.21646 255.79849 l -385.05835 257.27426 l -385.42728 257.53778 l -386.42868 258.09119 l -386.85031 257.82767 l -386.95575 259.40881 l -385.84891 259.38248 l -385.26917 258.59189 l -384.7421 257.95941 l -383.58258 257.7486 l -383.26636 256.98438 l -382.37036 257.45871 l -381.21082 257.24789 l -380.68378 256.58908 l -379.78778 256.45731 l -379.1026 256.48367 l -378.99719 256.03568 l -378.52286 255.98296 l -377.83768 255.9039 l -376.94168 256.14108 l -376.3092 256.08838 l -375.94028 256.22012 l -375.99298 254.48085 l -375.51862 253.9538 l -375.41321 253.03145 l -375.62405 252.1618 l -375.3605 251.58205 l -375.3078 250.68605 l -373.51581 250.68605 l -373.67395 250.159 l -372.93607 250.159 l -372.83066 250.42253 l -371.93466 250.47523 l -371.5657 251.31853 l -371.35489 251.68745 l -370.5116 251.47664 l -370.03726 251.68745 l -369.08856 251.81923 l -368.50879 251.05499 l -368.19257 250.58064 l -367.7709 249.68465 l -367.40198 248.60419 l -363.08011 248.57784 l -362.55307 248.7623 l -362.13141 248.73595 l -361.55167 248.92041 l -361.34082 248.47241 l -361.70978 248.3143 l -361.76248 247.68184 l -361.9733 247.3129 l -362.50037 246.99666 l -362.922 247.15479 l -363.39636 246.57501 l -364.18692 246.60138 l -364.29236 247.02301 l -364.8721 247.28654 l -365.71539 246.3642 l -366.55869 245.65266 l -366.92761 245.17831 l -366.87491 243.96609 l -367.50739 242.54305 l -368.19257 241.80516 l -369.14127 241.09364 l -369.29938 240.61929 l -369.35208 240.09224 l -369.6156 239.56519 l -369.51019 238.74825 l -369.72101 237.45695 l -369.98456 236.53461 l -370.40619 235.74402 l -370.5116 234.87439 l -370.66971 233.84662 l -371.19678 233.10875 l -371.98737 232.6344 l -373.19958 233.1351 l -374.14828 233.66216 l -375.20239 233.82027 l -376.3092 234.11015 l -376.73087 233.21416 l -376.94168 233.10875 l -377.62686 233.24051 l -379.26071 232.52899 l -379.78778 232.81886 l -380.26212 232.79251 l -380.52567 232.42357 l -381.0527 232.31816 l -382.15955 232.44992 l -383.10825 232.50264 l -383.58258 232.34451 l -384.47858 233.55675 l -385.11105 233.71486 l -385.53268 233.47769 l -386.16516 233.5831 l -387.00845 233.26686 l -387.32468 233.89934 l -388.6423 234.87439 l -388.5369 236.58731 l -389.11667 236.77179 l -388.6423 237.29884 l -388.11526 237.69414 l -387.53549 238.43201 l -387.21927 239.11719 l -387.16656 240.30305 l -386.79761 240.85646 l -386.79761 241.96329 l -386.37598 242.35858 l -386.32327 243.25456 l -386.11246 243.35999 l -386.00705 244.15056 l -386.37598 244.80939 l -386.42868 246.57501 l -h -S -/DeviceRGB {} CS -[0.651 0.1255 0.5922] SC -/DeviceRGB {} cs -[0.651 0.1255 0.5922] sc -370.5116 234.87439 m -370.40619 235.74402 l -369.98456 236.53461 l -369.72101 237.45695 l -369.51019 238.74825 l -369.6156 239.56519 l -369.35208 240.09224 l -369.29938 240.61929 l -369.14127 241.09364 l -368.19257 241.80516 l -367.50739 242.54305 l -366.87491 243.96609 l -366.92761 245.17831 l -366.55869 245.65266 l -365.71539 246.3642 l -364.8721 247.28654 l -364.29236 247.02301 l -364.18692 246.60138 l -363.39636 246.57501 l -362.922 247.15479 l -362.50037 246.99666 l -361.9733 246.49596 l -361.55167 246.73314 l -360.91919 247.3656 l -359.75967 245.83714 l -360.86649 245.0202 l -360.28671 244.04515 l -360.81378 243.67621 l -361.81519 243.49174 l -361.92059 242.85928 l -362.71118 243.54445 l -363.9761 243.6235 l -364.45047 242.93834 l -364.60858 241.96329 l -364.45047 240.80376 l -363.76529 239.93411 l -364.39777 238.24754 l -364.02881 237.95766 l -362.922 238.06306 l -362.55307 237.3252 l -362.65848 236.69272 l -364.50317 236.74544 l -365.66269 237.11436 l -366.8222 237.48331 l -366.92761 236.69272 l -367.7182 235.32239 l -368.56149 234.5318 l -369.5629 234.79532 l -370.5116 234.87439 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -370.5116 234.87439 m -370.40619 235.74402 l -369.98456 236.53461 l -369.72101 237.45695 l -369.51019 238.74825 l -369.6156 239.56519 l -369.35208 240.09224 l -369.29938 240.61929 l -369.14127 241.09364 l -368.19257 241.80516 l -367.50739 242.54305 l -366.87491 243.96609 l -366.92761 245.17831 l -366.55869 245.65266 l -365.71539 246.3642 l -364.8721 247.28654 l -364.29236 247.02301 l -364.18692 246.60138 l -363.39636 246.57501 l -362.922 247.15479 l -362.50037 246.99666 l -361.9733 246.49596 l -361.55167 246.73314 l -360.91919 247.3656 l -359.75967 245.83714 l -360.86649 245.0202 l -360.28671 244.04515 l -360.81378 243.67621 l -361.81519 243.49174 l -361.92059 242.85928 l -362.71118 243.54445 l -363.9761 243.6235 l -364.45047 242.93834 l -364.60858 241.96329 l -364.45047 240.80376 l -363.76529 239.93411 l -364.39777 238.24754 l -364.02881 237.95766 l -362.922 238.06306 l -362.55307 237.3252 l -362.65848 236.69272 l -364.50317 236.74544 l -365.66269 237.11436 l -366.8222 237.48331 l -366.92761 236.69272 l -367.7182 235.32239 l -368.56149 234.5318 l -369.5629 234.79532 l -370.5116 234.87439 l -h -S -/DeviceRGB {} CS -[0.9804 0.8275 0.1451] SC -/DeviceRGB {} cs -[0.9804 0.8275 0.1451] sc -222.6725 225.9935 m -222.09273 226.12526 l -222.09273 226.70502 l -222.40897 226.9422 l -222.19815 227.10031 l -222.25085 227.36385 l -222.14545 227.68007 l -222.04002 227.96996 l -221.24945 227.62737 l -220.93321 227.33749 l -221.14403 227.07396 l -221.09132 226.75772 l -220.66968 226.38879 l -220.08992 226.09891 l -219.56287 225.91444 l -219.51016 225.4928 l -219.08852 225.22926 l -219.19392 225.65091 l -218.9304 226.01985 l -218.56146 225.59821 l -218.08711 225.46645 l -217.8763 225.17656 l -217.929 224.72856 l -218.08711 224.25421 l -217.66547 224.0434 l -218.03441 223.77986 l -218.24522 223.56905 l -219.19392 223.96432 l -219.56287 223.77986 l -220.03722 223.88527 l -220.24805 224.20151 l -220.66968 224.30692 l -221.03862 223.99069 l -221.40756 224.78127 l -221.98732 225.36102 l -222.6725 225.9935 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -222.6725 225.9935 m -222.09273 226.12526 l -222.09273 226.70502 l -222.40897 226.9422 l -222.19815 227.10031 l -222.25085 227.36385 l -222.14545 227.68007 l -222.04002 227.96996 l -221.24945 227.62737 l -220.93321 227.33749 l -221.14403 227.07396 l -221.09132 226.75772 l -220.66968 226.38879 l -220.08992 226.09891 l -219.56287 225.91444 l -219.51016 225.4928 l -219.08852 225.22926 l -219.19392 225.65091 l -218.9304 226.01985 l -218.56146 225.59821 l -218.08711 225.46645 l -217.8763 225.17656 l -217.929 224.72856 l -218.08711 224.25421 l -217.66547 224.0434 l -218.03441 223.77986 l -218.24522 223.56905 l -219.19392 223.96432 l -219.56287 223.77986 l -220.03722 223.88527 l -220.24805 224.20151 l -220.66968 224.30692 l -221.03862 223.99069 l -221.40756 224.78127 l -221.98732 225.36102 l -222.6725 225.9935 l -h -S -/DeviceRGB {} CS -[0.4157 0.0039 0.651] SC -/DeviceRGB {} cs -[0.4157 0.0039 0.651] sc -331.72031 225.07115 m -331.93112 224.91304 l -332.35278 225.15021 l -333.45959 225.15021 l -333.72311 224.72856 l -333.98663 224.75491 l -334.40829 224.5968 l -334.61911 225.22926 l -334.98804 225.0448 l -335.56781 224.80762 l -336.25299 225.15021 l -336.51651 225.62456 l -337.14899 225.9408 l -337.67603 225.57185 l -338.36121 225.51915 l -339.36261 225.88809 l -339.73157 227.96996 l -339.15179 229.20854 l -338.73013 230.84241 l -339.36261 232.10735 l -339.30991 232.6871 l -338.67743 232.71346 l -337.62332 232.42357 l -336.67462 232.42357 l -334.93533 232.6871 l -333.93393 233.10875 l -332.51089 233.66216 l -332.19467 233.60945 l -332.30008 232.39722 l -332.45819 232.21275 l -332.40549 231.633 l -331.77301 231.02687 l -331.35138 230.92146 l -330.92972 230.52617 l -331.24597 229.89371 l -331.08783 229.18219 l -331.14053 228.76054 l -331.40408 228.73419 l -331.45679 228.10172 l -331.35138 227.8382 l -331.50949 227.62737 l -332.03653 227.4429 l -331.6676 226.28337 l -331.35138 225.67726 l -331.45679 225.17656 l -331.72031 225.07115 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -331.72031 225.07115 m -331.93112 224.91304 l -332.35278 225.15021 l -333.45959 225.15021 l -333.72311 224.72856 l -333.98663 224.75491 l -334.40829 224.5968 l -334.61911 225.22926 l -334.98804 225.0448 l -335.56781 224.80762 l -336.25299 225.15021 l -336.51651 225.62456 l -337.14899 225.9408 l -337.67603 225.57185 l -338.36121 225.51915 l -339.36261 225.88809 l -339.73157 227.96996 l -339.15179 229.20854 l -338.73013 230.84241 l -339.36261 232.10735 l -339.30991 232.6871 l -338.67743 232.71346 l -337.62332 232.42357 l -336.67462 232.42357 l -334.93533 232.6871 l -333.93393 233.10875 l -332.51089 233.66216 l -332.19467 233.60945 l -332.30008 232.39722 l -332.45819 232.21275 l -332.40549 231.633 l -331.77301 231.02687 l -331.35138 230.92146 l -330.92972 230.52617 l -331.24597 229.89371 l -331.08783 229.18219 l -331.14053 228.76054 l -331.40408 228.73419 l -331.45679 228.10172 l -331.35138 227.8382 l -331.50949 227.62737 l -332.03653 227.4429 l -331.6676 226.28337 l -331.35138 225.67726 l -331.45679 225.17656 l -331.72031 225.07115 l -h -S -/DeviceRGB {} CS -[0.9882 0.7176 0.1843] SC -/DeviceRGB {} cs -[0.9882 0.7176 0.1843] sc -367.7709 171.91759 m -368.19257 172.10205 l -369.29938 172.73453 l -370.5116 173.0244 l -371.03867 172.78723 l -371.40759 173.36699 l -371.88196 173.78864 l -371.30219 174.34204 l -370.66971 173.99945 l -369.6683 174.02582 l -368.40338 173.78864 l -367.7182 173.81499 l -367.40198 174.13123 l -366.87491 173.78864 l -366.55869 174.39474 l -367.29657 175.07993 l -367.61279 175.52792 l -368.24527 176.08133 l -368.82501 176.39757 l -369.35208 177.00368 l -370.66971 177.55708 l -370.5116 177.82062 l -369.14127 177.2672 l -368.29797 176.74014 l -366.92761 176.3185 l -365.71539 175.23804 l -366.03162 175.13263 l -365.34647 174.50017 l -365.29376 174.02582 l -364.39777 173.78864 l -363.9234 174.4211 l -363.50177 173.92039 l -363.50177 173.41969 l -363.55447 173.39334 l -364.60858 173.44604 l -364.8721 173.18253 l -365.34647 173.44604 l -365.92621 173.4724 l -365.92621 173.05075 l -366.45328 172.89264 l -366.55869 172.31288 l -367.7709 171.91759 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -367.7709 171.91759 m -368.19257 172.10205 l -369.29938 172.73453 l -370.5116 173.0244 l -371.03867 172.78723 l -371.40759 173.36699 l -371.88196 173.78864 l -371.30219 174.34204 l -370.66971 173.99945 l -369.6683 174.02582 l -368.40338 173.78864 l -367.7182 173.81499 l -367.40198 174.13123 l -366.87491 173.78864 l -366.55869 174.39474 l -367.29657 175.07993 l -367.61279 175.52792 l -368.24527 176.08133 l -368.82501 176.39757 l -369.35208 177.00368 l -370.66971 177.55708 l -370.5116 177.82062 l -369.14127 177.2672 l -368.29797 176.74014 l -366.92761 176.3185 l -365.71539 175.23804 l -366.03162 175.13263 l -365.34647 174.50017 l -365.29376 174.02582 l -364.39777 173.78864 l -363.9234 174.4211 l -363.50177 173.92039 l -363.50177 173.41969 l -363.55447 173.39334 l -364.60858 173.44604 l -364.8721 173.18253 l -365.34647 173.44604 l -365.92621 173.4724 l -365.92621 173.05075 l -366.45328 172.89264 l -366.55869 172.31288 l -367.7709 171.91759 l -h -S -/DeviceRGB {} CS -[0.9882 0.8078 0.149] SC -/DeviceRGB {} cs -[0.9882 0.8078 0.149] sc -223.09415 206.04443 m -224.30637 206.14986 l -225.4659 206.17621 l -226.83624 206.67691 l -227.416 207.20396 l -228.78635 207.04585 l -229.3134 207.38843 l -230.57832 208.28442 l -231.47432 208.94325 l -231.94867 208.94325 l -232.84467 209.23312 l -232.73926 209.65477 l -233.79337 209.70747 l -234.90019 210.3136 l -234.74207 210.65617 l -233.74066 210.84065 l -232.79196 210.91971 l -231.79056 210.78795 l -229.68234 210.94606 l -230.63104 210.12912 l -230.05127 209.73383 l -229.10257 209.62842 l -228.62822 209.20677 l -228.25929 208.38983 l -227.416 208.44255 l -226.04565 208.04726 l -225.62401 207.73102 l -223.72661 207.5202 l -223.19955 207.23032 l -223.77931 206.86137 l -222.30356 206.78232 l -221.24945 207.54655 l -220.66968 207.57291 l -220.45886 207.91548 l -219.72098 208.07361 l -219.08852 207.94185 l -219.8791 207.49385 l -220.19533 206.96678 l -220.88051 206.65056 l -221.61838 206.36067 l -222.7252 206.20256 l -223.09415 206.04443 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -223.09415 206.04443 m -224.30637 206.14986 l -225.4659 206.17621 l -226.83624 206.67691 l -227.416 207.20396 l -228.78635 207.04585 l -229.3134 207.38843 l -230.57832 208.28442 l -231.47432 208.94325 l -231.94867 208.94325 l -232.84467 209.23312 l -232.73926 209.65477 l -233.79337 209.70747 l -234.90019 210.3136 l -234.74207 210.65617 l -233.74066 210.84065 l -232.79196 210.91971 l -231.79056 210.78795 l -229.68234 210.94606 l -230.63104 210.12912 l -230.05127 209.73383 l -229.10257 209.62842 l -228.62822 209.20677 l -228.25929 208.38983 l -227.416 208.44255 l -226.04565 208.04726 l -225.62401 207.73102 l -223.72661 207.5202 l -223.19955 207.23032 l -223.77931 206.86137 l -222.30356 206.78232 l -221.24945 207.54655 l -220.66968 207.57291 l -220.45886 207.91548 l -219.72098 208.07361 l -219.08852 207.94185 l -219.8791 207.49385 l -220.19533 206.96678 l -220.88051 206.65056 l -221.61838 206.36067 l -222.7252 206.20256 l -223.09415 206.04443 l -h -S -/DeviceRGB {} CS -[0.9882 0.7451 0.1725] SC -/DeviceRGB {} cs -[0.9882 0.7451 0.1725] sc -365.50458 165.197632 m -366.18976 165.64563 l -367.29657 165.77739 l -367.19116 166.199036 l -367.98172 166.488922 l -368.19257 166.11998 l -369.19397 166.278091 l -369.35208 166.726089 l -370.40619 166.831497 l -371.09137 167.54303 l -370.66971 167.54303 l -370.45889 167.80655 l -370.08997 167.85925 l -369.98456 168.20184 l -369.72101 168.2809 l -369.6683 168.41267 l -369.19397 168.57079 l -368.56149 168.54443 l -368.35068 168.86067 l -367.6655 168.57079 l -366.98032 168.64984 l -365.8208 168.20184 l -365.29376 168.3336 l -364.50317 168.91338 l -363.39636 168.43903 l -362.55307 167.80655 l -361.81519 167.463974 l -361.65707 166.857849 l -361.39352 166.409851 l -362.50037 166.093628 l -363.0274 165.724686 l -364.08151 165.461151 l -364.45047 165.17128 l -364.8194 165.329391 l -365.50458 165.197632 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -365.50458 165.197632 m -366.18976 165.64563 l -367.29657 165.77739 l -367.19116 166.199036 l -367.98172 166.488922 l -368.19257 166.11998 l -369.19397 166.278091 l -369.35208 166.726089 l -370.40619 166.831497 l -371.09137 167.54303 l -370.66971 167.54303 l -370.45889 167.80655 l -370.08997 167.85925 l -369.98456 168.20184 l -369.72101 168.2809 l -369.6683 168.41267 l -369.19397 168.57079 l -368.56149 168.54443 l -368.35068 168.86067 l -367.6655 168.57079 l -366.98032 168.64984 l -365.8208 168.20184 l -365.29376 168.3336 l -364.50317 168.91338 l -363.39636 168.43903 l -362.55307 167.80655 l -361.81519 167.463974 l -361.65707 166.857849 l -361.39352 166.409851 l -362.50037 166.093628 l -363.0274 165.724686 l -364.08151 165.461151 l -364.45047 165.17128 l -364.8194 165.329391 l -365.50458 165.197632 l -h -S -/DeviceRGB {} CS -[0.9882 0.8118 0.1451] SC -/DeviceRGB {} cs -[0.9882 0.8118 0.1451] sc -358.02039 159.505432 m -357.07169 159.742599 l -355.96487 159.531784 l -355.3851 158.714844 l -355.3324 157.23909 l -355.59592 156.843796 l -356.01758 156.395798 l -357.2825 156.316742 l -357.80957 155.895096 l -358.96909 155.499802 l -358.91638 156.237686 l -358.49472 156.712036 l -358.70557 157.133682 l -359.49612 157.344498 l -359.1272 157.897903 l -358.70557 157.739792 l -357.65146 158.7939 l -358.02039 159.505432 l -h -361.60437 157.871552 m -362.0787 158.583084 l -361.18271 159.768951 l -359.65427 158.952026 l -359.44342 158.345901 l -361.60437 157.871552 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -358.02039 159.505432 m -357.07169 159.742599 l -355.96487 159.531784 l -355.3851 158.714844 l -355.3324 157.23909 l -355.59592 156.843796 l -356.01758 156.395798 l -357.2825 156.316742 l -357.80957 155.895096 l -358.96909 155.499802 l -358.91638 156.237686 l -358.49472 156.712036 l -358.70557 157.133682 l -359.49612 157.344498 l -359.1272 157.897903 l -358.70557 157.739792 l -357.65146 158.7939 l -358.02039 159.505432 l -h -361.60437 157.871552 m -362.0787 158.583084 l -361.18271 159.768951 l -359.65427 158.952026 l -359.44342 158.345901 l -361.60437 157.871552 l -h -S -/DeviceRGB {} CS -[0.6353 0.1137 0.6039] SC -/DeviceRGB {} cs -[0.6353 0.1137 0.6039] sc -405.50809 221.64529 m -406.14056 221.77705 l -406.56219 221.40811 l -406.93115 221.85611 l -406.87845 222.46222 l -406.03516 222.83116 l -406.6676 223.22646 l -406.14056 224.01704 l -405.77164 223.75351 l -405.45538 223.85892 l -404.61209 223.83257 l -404.61209 223.38457 l -404.50668 222.96292 l -404.98105 222.27776 l -405.50809 221.64529 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -405.50809 221.64529 m -406.14056 221.77705 l -406.56219 221.40811 l -406.93115 221.85611 l -406.87845 222.46222 l -406.03516 222.83116 l -406.6676 223.22646 l -406.14056 224.01704 l -405.77164 223.75351 l -405.45538 223.85892 l -404.61209 223.83257 l -404.61209 223.38457 l -404.50668 222.96292 l -404.98105 222.27776 l -405.50809 221.64529 l -h -S -/DeviceRGB {} CS -[0.9765 0.6 0.2431] SC -/DeviceRGB {} cs -[0.9765 0.6 0.2431] sc -238.53687 213.58133 m -238.53687 213.18605 l -238.16794 212.73805 l -238.53687 212.50087 l -238.64229 211.94746 l -238.53687 211.13052 l -238.69499 210.89336 l -239.85451 210.89336 l -240.6978 211.2623 l -241.11945 211.23593 l -241.38297 211.763 l -242.17355 211.73665 l -242.12085 212.15828 l -242.75331 212.211 l -243.4912 212.7644 l -242.96414 213.34416 l -242.22626 213.02792 l -241.5938 213.08063 l -241.11945 213.02792 l -240.85591 213.29146 l -240.27615 213.37051 l -240.06534 213.02792 l -239.53827 213.23875 l -238.95851 214.24016 l -238.58957 214.00298 l -238.53687 213.58133 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -238.53687 213.58133 m -238.53687 213.18605 l -238.16794 212.73805 l -238.53687 212.50087 l -238.64229 211.94746 l -238.53687 211.13052 l -238.69499 210.89336 l -239.85451 210.89336 l -240.6978 211.2623 l -241.11945 211.23593 l -241.38297 211.763 l -242.17355 211.73665 l -242.12085 212.15828 l -242.75331 212.211 l -243.4912 212.7644 l -242.96414 213.34416 l -242.22626 213.02792 l -241.5938 213.08063 l -241.11945 213.02792 l -240.85591 213.29146 l -240.27615 213.37051 l -240.06534 213.02792 l -239.53827 213.23875 l -238.95851 214.24016 l -238.58957 214.00298 l -238.53687 213.58133 l -h -S -/DeviceRGB {} CS -[0.9882 0.6941 0.1961] SC -/DeviceRGB {} cs -[0.9882 0.6941 0.1961] sc -233.1609 240.224 m -233.37172 241.33081 l -232.89737 242.27951 l -231.31621 243.80798 l -229.57692 244.38774 l -228.68092 245.67903 l -228.3647 246.65408 l -227.57411 247.26019 l -226.94165 246.52231 l -226.36189 246.3642 l -225.72942 246.4696 l -225.67671 245.94255 l -226.09836 245.59996 l -225.94025 244.99385 l -226.73082 243.88704 l -226.4146 243.25456 l -225.83482 243.93974 l -224.99155 243.28091 l -225.25507 242.88564 l -225.04425 241.54164 l -225.5186 241.33081 l -225.78212 240.40846 l -226.36189 239.45976 l -226.25647 238.88 l -227.04706 238.56377 l -228.04846 237.98401 l -229.52422 238.8273 l -229.78775 238.80095 l -230.15669 239.43341 l -231.42162 239.61789 l -231.79056 239.38071 l -232.52844 239.88141 l -233.1609 240.224 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -233.1609 240.224 m -233.37172 241.33081 l -232.89737 242.27951 l -231.31621 243.80798 l -229.57692 244.38774 l -228.68092 245.67903 l -228.3647 246.65408 l -227.57411 247.26019 l -226.94165 246.52231 l -226.36189 246.3642 l -225.72942 246.4696 l -225.67671 245.94255 l -226.09836 245.59996 l -225.94025 244.99385 l -226.73082 243.88704 l -226.4146 243.25456 l -225.83482 243.93974 l -224.99155 243.28091 l -225.25507 242.88564 l -225.04425 241.54164 l -225.5186 241.33081 l -225.78212 240.40846 l -226.36189 239.45976 l -226.25647 238.88 l -227.04706 238.56377 l -228.04846 237.98401 l -229.52422 238.8273 l -229.78775 238.80095 l -230.15669 239.43341 l -231.42162 239.61789 l -231.79056 239.38071 l -232.52844 239.88141 l -233.1609 240.224 l -h -S -/DeviceRGB {} CS -[0.9647 0.5686 0.2627] SC -/DeviceRGB {} cs -[0.9647 0.5686 0.2627] sc -397.44415 207.78372 m -391.64655 207.78372 l -386.00705 207.78372 l -380.104 207.78372 l -380.104 202.40776 l -380.104 197.18991 l -379.68237 196.03038 l -380.0513 195.10803 l -379.78778 194.47557 l -380.31485 193.79039 l -382.26495 193.76404 l -383.68799 194.15933 l -385.16376 194.58098 l -385.84891 194.81816 l -386.95575 194.34381 l -387.53549 193.92216 l -388.85315 193.81676 l -389.90726 194.00122 l -390.27618 194.71274 l -390.64514 194.23839 l -391.80466 194.58098 l -392.96417 194.66003 l -393.64935 194.29111 l -394.49265 196.42567 l -394.59805 196.82097 l -394.2291 197.40073 l -393.91287 198.50754 l -393.49124 199.27177 l -393.17499 199.53531 l -392.64795 199.06096 l -392.01547 198.40213 l -390.96136 196.29391 l -390.80325 196.42567 l -391.4357 197.98048 l -392.3317 199.45624 l -393.43851 201.72258 l -393.96558 202.51317 l -394.43994 203.35646 l -395.75757 204.96397 l -395.44135 205.22751 l -395.49405 206.17621 l -397.23331 207.49385 l -397.44415 207.78372 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -397.44415 207.78372 m -391.64655 207.78372 l -386.00705 207.78372 l -380.104 207.78372 l -380.104 202.40776 l -380.104 197.18991 l -379.68237 196.03038 l -380.0513 195.10803 l -379.78778 194.47557 l -380.31485 193.79039 l -382.26495 193.76404 l -383.68799 194.15933 l -385.16376 194.58098 l -385.84891 194.81816 l -386.95575 194.34381 l -387.53549 193.92216 l -388.85315 193.81676 l -389.90726 194.00122 l -390.27618 194.71274 l -390.64514 194.23839 l -391.80466 194.58098 l -392.96417 194.66003 l -393.64935 194.29111 l -394.49265 196.42567 l -394.59805 196.82097 l -394.2291 197.40073 l -393.91287 198.50754 l -393.49124 199.27177 l -393.17499 199.53531 l -392.64795 199.06096 l -392.01547 198.40213 l -390.96136 196.29391 l -390.80325 196.42567 l -391.4357 197.98048 l -392.3317 199.45624 l -393.43851 201.72258 l -393.96558 202.51317 l -394.43994 203.35646 l -395.75757 204.96397 l -395.44135 205.22751 l -395.49405 206.17621 l -397.23331 207.49385 l -397.44415 207.78372 l -h -S -/DeviceRGB {} CS -[0.9725 0.5882 0.251] SC -/DeviceRGB {} cs -[0.9725 0.5882 0.251] sc -212.71115 218.87825 m -213.13278 219.01001 l -213.44902 219.2999 l -213.87067 219.53706 l -213.92337 219.72153 l -214.55583 219.56342 l -214.87207 219.66882 l -215.0829 219.82695 l -214.97748 220.40671 l -214.81937 220.7493 l -213.97607 220.72295 l -213.44902 220.59117 l -212.81656 220.3013 l -212.02597 220.19588 l -211.60432 219.90601 l -211.65703 219.66882 l -212.13138 219.2999 l -212.44762 219.14177 l -212.34221 218.98366 l -212.71115 218.87825 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -212.71115 218.87825 m -213.13278 219.01001 l -213.44902 219.2999 l -213.87067 219.53706 l -213.92337 219.72153 l -214.55583 219.56342 l -214.87207 219.66882 l -215.0829 219.82695 l -214.97748 220.40671 l -214.81937 220.7493 l -213.97607 220.72295 l -213.44902 220.59117 l -212.81656 220.3013 l -212.02597 220.19588 l -211.60432 219.90601 l -211.65703 219.66882 l -212.13138 219.2999 l -212.44762 219.14177 l -212.34221 218.98366 l -212.71115 218.87825 l -h -S -/DeviceRGB {} CS -[0.5294 0.0471 0.6392] SC -/DeviceRGB {} cs -[0.5294 0.0471 0.6392] sc -357.65146 236.66637 m -360.02319 236.69272 l -360.02319 238.45836 l -357.91498 238.43201 l -357.38791 238.51106 l -357.12439 238.30025 l -357.65146 236.66637 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -357.65146 236.66637 m -360.02319 236.69272 l -360.02319 238.45836 l -357.91498 238.43201 l -357.38791 238.51106 l -357.12439 238.30025 l -357.65146 236.66637 l -h -S -/DeviceRGB {} CS -[0.7216 0.1961 0.5373] SC -/DeviceRGB {} cs -[0.7216 0.1961 0.5373] sc -396.81168 218.87825 m -396.65356 218.29848 l -397.28604 216.13756 l -397.44415 215.18886 l -397.91849 214.74086 l -398.9726 214.47733 l -399.71048 213.6604 l -400.55377 215.34697 l -400.9754 216.69096 l -401.76599 217.4025 l -403.7688 218.79919 l -404.61209 219.61612 l -405.40268 220.45941 l -405.82434 220.96011 l -406.56219 221.40811 l -406.14056 221.77705 l -405.50809 221.64529 l -404.98105 221.17094 l -404.40128 220.3013 l -403.7688 219.82695 l -403.34717 219.32625 l -402.08224 218.74648 l -401.08084 218.72012 l -400.71188 218.43025 l -399.86859 218.77283 l -398.9726 218.11401 l -398.55096 219.19447 l -396.81168 218.87825 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -396.81168 218.87825 m -396.65356 218.29848 l -397.28604 216.13756 l -397.44415 215.18886 l -397.91849 214.74086 l -398.9726 214.47733 l -399.71048 213.6604 l -400.55377 215.34697 l -400.9754 216.69096 l -401.76599 217.4025 l -403.7688 218.79919 l -404.61209 219.61612 l -405.40268 220.45941 l -405.82434 220.96011 l -406.56219 221.40811 l -406.14056 221.77705 l -405.50809 221.64529 l -404.98105 221.17094 l -404.40128 220.3013 l -403.7688 219.82695 l -403.34717 219.32625 l -402.08224 218.74648 l -401.08084 218.72012 l -400.71188 218.43025 l -399.86859 218.77283 l -398.9726 218.11401 l -398.55096 219.19447 l -396.81168 218.87825 l -h -S -/DeviceRGB {} CS -[0.5765 0.0706 0.6275] SC -/DeviceRGB {} cs -[0.5765 0.0706 0.6275] sc -413.46664 228.28619 m -409.30289 232.6871 l -407.40549 232.73981 l -406.08786 233.76756 l -405.19186 233.79391 l -404.7702 234.26826 l -403.7688 234.26826 l -403.18906 233.76756 l -401.8187 234.37369 l -401.39706 234.9798 l -400.44836 234.87439 l -400.13214 234.71626 l -399.76318 234.74261 l -399.28885 234.74261 l -397.44415 233.47769 l -396.44275 233.47769 l -395.91568 233.00334 l -395.91568 232.1864 l -395.1778 231.94922 l -394.2818 230.34171 l -393.64935 229.99911 l -393.3858 229.41936 l -392.64795 228.70784 l -391.75195 228.60242 l -392.22629 227.75914 l -393.01688 227.73277 l -393.22769 227.28479 l -393.22769 225.96715 l -393.64935 224.43867 l -394.3345 224.01704 l -394.49265 223.43727 l -395.12509 222.30411 l -396.02109 221.59258 l -396.60086 220.14317 l -396.81168 218.87825 l -398.55096 219.19447 l -398.9726 218.11401 l -399.86859 218.77283 l -400.71188 218.43025 l -401.08084 218.72012 l -402.08224 218.74648 l -403.34717 219.32625 l -403.7688 219.82695 l -404.40128 220.3013 l -404.98105 221.17094 l -405.50809 221.64529 l -404.98105 222.27776 l -404.50668 222.96292 l -404.61209 223.38457 l -404.61209 223.83257 l -405.45538 223.85892 l -405.77164 223.75351 l -406.14056 224.01704 l -405.82434 224.51775 l -406.35138 225.33467 l -406.87845 226.0462 l -407.45819 226.54691 l -412.20169 228.28619 l -413.46664 228.28619 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -413.46664 228.28619 m -409.30289 232.6871 l -407.40549 232.73981 l -406.08786 233.76756 l -405.19186 233.79391 l -404.7702 234.26826 l -403.7688 234.26826 l -403.18906 233.76756 l -401.8187 234.37369 l -401.39706 234.9798 l -400.44836 234.87439 l -400.13214 234.71626 l -399.76318 234.74261 l -399.28885 234.74261 l -397.44415 233.47769 l -396.44275 233.47769 l -395.91568 233.00334 l -395.91568 232.1864 l -395.1778 231.94922 l -394.2818 230.34171 l -393.64935 229.99911 l -393.3858 229.41936 l -392.64795 228.70784 l -391.75195 228.60242 l -392.22629 227.75914 l -393.01688 227.73277 l -393.22769 227.28479 l -393.22769 225.96715 l -393.64935 224.43867 l -394.3345 224.01704 l -394.49265 223.43727 l -395.12509 222.30411 l -396.02109 221.59258 l -396.60086 220.14317 l -396.81168 218.87825 l -398.55096 219.19447 l -398.9726 218.11401 l -399.86859 218.77283 l -400.71188 218.43025 l -401.08084 218.72012 l -402.08224 218.74648 l -403.34717 219.32625 l -403.7688 219.82695 l -404.40128 220.3013 l -404.98105 221.17094 l -405.50809 221.64529 l -404.98105 222.27776 l -404.50668 222.96292 l -404.61209 223.38457 l -404.61209 223.83257 l -405.45538 223.85892 l -405.77164 223.75351 l -406.14056 224.01704 l -405.82434 224.51775 l -406.35138 225.33467 l -406.87845 226.0462 l -407.45819 226.54691 l -412.20169 228.28619 l -413.46664 228.28619 l -h -S -/DeviceRGB {} CS -[0.9765 0.851 0.1412] SC -/DeviceRGB {} cs -[0.9765 0.851 0.1412] sc -385.37457 138.897552 m -385.16376 139.925308 l -387.37738 140.90036 l -386.00705 142.007187 l -387.74631 143.667404 l -386.7449 144.932343 l -388.06256 146.012802 l -387.48279 146.961502 l -389.64371 147.962906 l -389.06396 148.727142 l -387.74631 149.570435 l -384.58398 151.441483 l -381.9487 151.54689 l -379.36615 152.073944 l -376.99438 152.390182 l -376.15109 151.599594 l -374.72806 151.098892 l -375.04428 149.675842 l -374.3064 148.3582 l -375.04428 147.488556 l -376.36191 146.566208 l -379.68237 144.985046 l -380.68378 144.69516 l -380.52567 144.062698 l -378.47015 143.377533 l -377.99579 142.79776 l -377.94308 140.557785 l -375.67676 139.556366 l -373.72665 138.844849 l -374.62265 138.449554 l -376.2038 139.213791 l -378.1539 139.161087 l -379.73508 139.503662 l -381.10541 138.844849 l -381.84329 137.790741 l -384.10965 137.290039 l -385.95435 137.869797 l -385.37457 138.897552 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -385.37457 138.897552 m -385.16376 139.925308 l -387.37738 140.90036 l -386.00705 142.007187 l -387.74631 143.667404 l -386.7449 144.932343 l -388.06256 146.012802 l -387.48279 146.961502 l -389.64371 147.962906 l -389.06396 148.727142 l -387.74631 149.570435 l -384.58398 151.441483 l -381.9487 151.54689 l -379.36615 152.073944 l -376.99438 152.390182 l -376.15109 151.599594 l -374.72806 151.098892 l -375.04428 149.675842 l -374.3064 148.3582 l -375.04428 147.488556 l -376.36191 146.566208 l -379.68237 144.985046 l -380.68378 144.69516 l -380.52567 144.062698 l -378.47015 143.377533 l -377.99579 142.79776 l -377.94308 140.557785 l -375.67676 139.556366 l -373.72665 138.844849 l -374.62265 138.449554 l -376.2038 139.213791 l -378.1539 139.161087 l -379.73508 139.503662 l -381.10541 138.844849 l -381.84329 137.790741 l -384.10965 137.290039 l -385.95435 137.869797 l -385.37457 138.897552 l -h -S -/DeviceRGB {} CS -[0.9608 0.902 0.1373] SC -/DeviceRGB {} cs -[0.9608 0.902 0.1373] sc -267.89386 233.92569 m -266.99786 235.24332 l -266.57623 236.32379 l -265.99646 236.8772 l -265.31131 236.9826 l -265.10046 236.58731 l -264.78424 236.50826 l -264.30991 236.9299 l -263.67743 236.61366 l -264.04636 236.00755 l -264.20447 235.32239 l -264.41531 234.68991 l -263.88824 233.82027 l -263.73013 232.81886 l -264.52072 231.58029 l -264.99506 231.7384 l -266.10187 232.08099 l -267.63034 233.31956 l -267.89386 233.92569 l -h -352.539 167.595734 m -353.22418 167.96468 l -355.3324 168.25455 l -354.59451 169.25595 l -354.4364 170.28372 l -354.01477 170.54724 l -353.38229 170.41548 l -353.435 170.78442 l -352.32819 171.60135 l -352.32819 172.26018 l -353.01337 172.02299 l -353.54041 172.68182 l -353.435 173.07712 l -353.90936 173.63052 l -353.38229 174.07852 l -353.75122 175.21169 l -354.54181 175.39615 l -354.3837 176.02863 l -353.06607 176.87192 l -350.16727 176.47662 l -348.05902 176.95097 l -347.84821 177.82062 l -346.16162 178.00508 l -344.52777 177.34627 l -344.0007 177.66249 l -341.31271 177.00368 l -340.73297 176.42392 l -341.47083 175.55428 l -341.73438 172.62912 l -340.25861 171.10065 l -339.15179 170.36278 l -336.93817 169.80937 l -336.78003 168.7289 l -338.67743 168.41267 l -341.1546 168.7816 l -340.68027 167.121384 l -342.0506 167.753845 l -345.47647 166.620682 l -345.8981 165.408447 l -347.16302 165.118576 l -347.37387 165.64563 l -348.05902 165.671982 l -348.7442 166.25174 l -349.79831 166.93692 l -350.53619 166.831497 l -351.80112 167.490326 l -352.11737 167.622086 l -352.539 167.595734 l -h -356.2811 177.60979 m -357.2298 177.03003 l -357.49332 178.29497 l -357.01898 179.42813 l -356.3338 179.13824 l -356.01758 178.13684 l -356.2811 177.60979 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -267.89386 233.92569 m -266.99786 235.24332 l -266.57623 236.32379 l -265.99646 236.8772 l -265.31131 236.9826 l -265.10046 236.58731 l -264.78424 236.50826 l -264.30991 236.9299 l -263.67743 236.61366 l -264.04636 236.00755 l -264.20447 235.32239 l -264.41531 234.68991 l -263.88824 233.82027 l -263.73013 232.81886 l -264.52072 231.58029 l -264.99506 231.7384 l -266.10187 232.08099 l -267.63034 233.31956 l -267.89386 233.92569 l -h -352.539 167.595734 m -353.22418 167.96468 l -355.3324 168.25455 l -354.59451 169.25595 l -354.4364 170.28372 l -354.01477 170.54724 l -353.38229 170.41548 l -353.435 170.78442 l -352.32819 171.60135 l -352.32819 172.26018 l -353.01337 172.02299 l -353.54041 172.68182 l -353.435 173.07712 l -353.90936 173.63052 l -353.38229 174.07852 l -353.75122 175.21169 l -354.54181 175.39615 l -354.3837 176.02863 l -353.06607 176.87192 l -350.16727 176.47662 l -348.05902 176.95097 l -347.84821 177.82062 l -346.16162 178.00508 l -344.52777 177.34627 l -344.0007 177.66249 l -341.31271 177.00368 l -340.73297 176.42392 l -341.47083 175.55428 l -341.73438 172.62912 l -340.25861 171.10065 l -339.15179 170.36278 l -336.93817 169.80937 l -336.78003 168.7289 l -338.67743 168.41267 l -341.1546 168.7816 l -340.68027 167.121384 l -342.0506 167.753845 l -345.47647 166.620682 l -345.8981 165.408447 l -347.16302 165.118576 l -347.37387 165.64563 l -348.05902 165.671982 l -348.7442 166.25174 l -349.79831 166.93692 l -350.53619 166.831497 l -351.80112 167.490326 l -352.11737 167.622086 l -352.539 167.595734 l -h -356.2811 177.60979 m -357.2298 177.03003 l -357.49332 178.29497 l -357.01898 179.42813 l -356.3338 179.13824 l -356.01758 178.13684 l -356.2811 177.60979 l -h -S -/DeviceRGB {} CS -[0.6863 0.1647 0.5647] SC -/DeviceRGB {} cs -[0.6863 0.1647 0.5647] sc -360.02319 236.69272 m -360.70837 236.58731 l -361.60437 236.79814 l -362.44766 236.61366 l -362.65848 236.69272 l -362.55307 237.3252 l -362.922 238.06306 l -364.02881 237.95766 l -364.39777 238.24754 l -363.76529 239.93411 l -364.45047 240.80376 l -364.60858 241.96329 l -364.45047 242.93834 l -363.9761 243.6235 l -362.71118 243.54445 l -361.92059 242.85928 l -361.81519 243.49174 l -360.81378 243.67621 l -360.28671 244.04515 l -360.86649 245.0202 l -359.75967 245.83714 l -358.2312 244.33504 l -357.2825 243.14915 l -356.38651 241.6207 l -356.43921 241.14635 l -356.75546 240.672 l -357.12439 239.61789 l -357.38791 238.51106 l -357.91498 238.43201 l -360.02319 238.45836 l -360.02319 236.69272 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -360.02319 236.69272 m -360.70837 236.58731 l -361.60437 236.79814 l -362.44766 236.61366 l -362.65848 236.69272 l -362.55307 237.3252 l -362.922 238.06306 l -364.02881 237.95766 l -364.39777 238.24754 l -363.76529 239.93411 l -364.45047 240.80376 l -364.60858 241.96329 l -364.45047 242.93834 l -363.9761 243.6235 l -362.71118 243.54445 l -361.92059 242.85928 l -361.81519 243.49174 l -360.81378 243.67621 l -360.28671 244.04515 l -360.86649 245.0202 l -359.75967 245.83714 l -358.2312 244.33504 l -357.2825 243.14915 l -356.38651 241.6207 l -356.43921 241.14635 l -356.75546 240.672 l -357.12439 239.61789 l -357.38791 238.51106 l -357.91498 238.43201 l -360.02319 238.45836 l -360.02319 236.69272 l -h -S -/DeviceRGB {} CS -[0.7569 0.2353 0.5098] SC -/DeviceRGB {} cs -[0.7569 0.2353 0.5098] sc -319.01828 220.09047 m -320.65213 220.06412 l -320.96838 219.72153 l -321.44272 219.69518 l -322.02249 220.03777 l -322.44412 220.06412 l -322.91849 219.8006 l -323.23471 220.22224 l -322.60223 220.56482 l -321.96979 220.53847 l -321.33731 220.22224 l -320.81024 220.56482 l -320.54672 220.56482 l -320.1778 220.77565 l -318.86014 220.7493 l -319.01828 220.09047 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -319.01828 220.09047 m -320.65213 220.06412 l -320.96838 219.72153 l -321.44272 219.69518 l -322.02249 220.03777 l -322.44412 220.06412 l -322.91849 219.8006 l -323.23471 220.22224 l -322.60223 220.56482 l -321.96979 220.53847 l -321.33731 220.22224 l -320.81024 220.56482 l -320.54672 220.56482 l -320.1778 220.77565 l -318.86014 220.7493 l -319.01828 220.09047 l -h -S -/DeviceRGB {} CS -[0.9765 0.8549 0.1412] SC -/DeviceRGB {} cs -[0.9765 0.8549 0.1412] sc -364.18692 161.297424 m -364.50317 162.061646 l -364.08151 162.430588 l -364.66129 162.957642 l -364.97751 163.74823 l -364.8721 164.248932 l -365.50458 165.197632 l -364.8194 165.329391 l -364.45047 165.17128 l -364.08151 165.461151 l -363.0274 165.724686 l -362.50037 166.093628 l -361.39352 166.409851 l -361.65707 166.857849 l -361.81519 167.463974 l -362.55307 167.80655 l -363.39636 168.43903 l -362.86929 169.12419 l -362.34222 169.30867 l -362.55307 170.25737 l -362.44766 170.52089 l -361.9733 170.20465 l -361.28812 170.1783 l -360.23401 170.44183 l -358.91638 170.36278 l -358.70557 170.75807 l -357.96768 170.33643 l -357.54602 170.41548 l -355.96487 169.96748 l -355.70132 170.31007 l -354.4364 170.28372 l -354.59451 169.25595 l -355.3324 168.25455 l -353.22418 167.96468 l -352.539 167.595734 l -352.64441 166.93692 l -352.32819 166.620682 l -352.539 165.619278 l -352.27548 164.090805 l -353.17148 164.090805 l -353.54041 163.537399 l -353.85663 162.193405 l -353.59311 161.719055 l -353.90936 161.402832 l -355.12158 161.323776 l -355.3851 161.639999 l -356.38651 160.928482 l -356.07028 160.375076 l -355.96487 159.531784 l -357.07169 159.742599 l -358.02039 159.505432 l -358.07309 160.08519 l -359.54886 160.42778 l -359.49612 160.928482 l -361.0246 160.664948 l -361.81519 160.269653 l -363.50177 160.849426 l -364.18692 161.297424 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -364.18692 161.297424 m -364.50317 162.061646 l -364.08151 162.430588 l -364.66129 162.957642 l -364.97751 163.74823 l -364.8721 164.248932 l -365.50458 165.197632 l -364.8194 165.329391 l -364.45047 165.17128 l -364.08151 165.461151 l -363.0274 165.724686 l -362.50037 166.093628 l -361.39352 166.409851 l -361.65707 166.857849 l -361.81519 167.463974 l -362.55307 167.80655 l -363.39636 168.43903 l -362.86929 169.12419 l -362.34222 169.30867 l -362.55307 170.25737 l -362.44766 170.52089 l -361.9733 170.20465 l -361.28812 170.1783 l -360.23401 170.44183 l -358.91638 170.36278 l -358.70557 170.75807 l -357.96768 170.33643 l -357.54602 170.41548 l -355.96487 169.96748 l -355.70132 170.31007 l -354.4364 170.28372 l -354.59451 169.25595 l -355.3324 168.25455 l -353.22418 167.96468 l -352.539 167.595734 l -352.64441 166.93692 l -352.32819 166.620682 l -352.539 165.619278 l -352.27548 164.090805 l -353.17148 164.090805 l -353.54041 163.537399 l -353.85663 162.193405 l -353.59311 161.719055 l -353.90936 161.402832 l -355.12158 161.323776 l -355.3851 161.639999 l -356.38651 160.928482 l -356.07028 160.375076 l -355.96487 159.531784 l -357.07169 159.742599 l -358.02039 159.505432 l -358.07309 160.08519 l -359.54886 160.42778 l -359.49612 160.928482 l -361.0246 160.664948 l -361.81519 160.269653 l -363.50177 160.849426 l -364.18692 161.297424 l -h -S -/DeviceRGB {} CS -[0.7686 0.251 0.498] SC -/DeviceRGB {} cs -[0.7686 0.251 0.498] sc -343.52637 223.85892 m -343.42093 224.33327 l -344.05341 225.07115 l -344.05341 226.15161 l -344.15881 227.28479 l -344.52777 227.8382 l -344.21152 229.15582 l -344.31693 229.86736 l -344.73859 230.81606 l -345.05481 231.31676 l -342.73578 232.1864 l -341.94519 232.6871 l -340.62753 233.10875 l -339.30991 232.6871 l -339.36261 232.10735 l -338.73013 230.84241 l -339.15179 229.20854 l -339.73157 227.96996 l -339.36261 225.88809 l -339.15179 224.78127 l -339.2045 223.96432 l -341.73438 223.88527 l -342.36682 223.99069 l -342.84119 223.75351 l -343.52637 223.85892 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -343.52637 223.85892 m -343.42093 224.33327 l -344.05341 225.07115 l -344.05341 226.15161 l -344.15881 227.28479 l -344.52777 227.8382 l -344.21152 229.15582 l -344.31693 229.86736 l -344.73859 230.81606 l -345.05481 231.31676 l -342.73578 232.1864 l -341.94519 232.6871 l -340.62753 233.10875 l -339.30991 232.6871 l -339.36261 232.10735 l -338.73013 230.84241 l -339.15179 229.20854 l -339.73157 227.96996 l -339.36261 225.88809 l -339.15179 224.78127 l -339.2045 223.96432 l -341.73438 223.88527 l -342.36682 223.99069 l -342.84119 223.75351 l -343.52637 223.85892 l -h -S -/DeviceRGB {} CS -[0.9725 0.8549 0.1412] SC -/DeviceRGB {} cs -[0.9725 0.8549 0.1412] sc -382.0014 188.33537 m -381.79059 188.75702 l -379.68237 188.88878 l -379.73508 188.65161 l -377.94308 188.36172 l -378.2066 187.72926 l -378.99719 188.22997 l -380.15671 188.15091 l -381.21082 188.25632 l -381.21082 188.49348 l -382.0014 188.33537 l -h -377.09979 179.48083 m -378.2066 179.53354 l -379.36615 179.13824 l -380.36755 179.63895 l -381.73788 179.50719 l -381.73788 178.76932 l -382.42307 179.1646 l -382.0014 180.06059 l -381.63248 180.24507 l -380.73648 180.19237 l -379.9986 180.06059 l -378.2066 180.42953 l -379.20801 181.27283 l -378.47015 181.50999 l -377.67957 181.50999 l -376.88898 180.74577 l -376.62546 181.062 l -376.94168 181.93164 l -377.67957 182.61682 l -377.1525 182.95941 l -377.94308 183.61823 l -378.68097 184.03987 l -378.68097 184.88316 l -377.36331 184.48787 l -377.78497 185.22574 l -376.83627 185.38387 l -377.41602 186.67514 l -376.41461 186.70149 l -375.20239 186.06903 l -374.67535 184.88316 l -374.4118 183.90811 l -373.83206 183.24928 l -373.09418 182.40599 l -372.98877 181.98434 l -373.67395 181.27283 l -373.77936 180.79848 l -374.25369 180.58765 l -374.25369 180.21872 l -375.20239 180.08694 l -375.78217 179.77072 l -376.57275 179.79707 l -376.83627 179.53354 l -377.09979 179.48083 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -382.0014 188.33537 m -381.79059 188.75702 l -379.68237 188.88878 l -379.73508 188.65161 l -377.94308 188.36172 l -378.2066 187.72926 l -378.99719 188.22997 l -380.15671 188.15091 l -381.21082 188.25632 l -381.21082 188.49348 l -382.0014 188.33537 l -h -377.09979 179.48083 m -378.2066 179.53354 l -379.36615 179.13824 l -380.36755 179.63895 l -381.73788 179.50719 l -381.73788 178.76932 l -382.42307 179.1646 l -382.0014 180.06059 l -381.63248 180.24507 l -380.73648 180.19237 l -379.9986 180.06059 l -378.2066 180.42953 l -379.20801 181.27283 l -378.47015 181.50999 l -377.67957 181.50999 l -376.88898 180.74577 l -376.62546 181.062 l -376.94168 181.93164 l -377.67957 182.61682 l -377.1525 182.95941 l -377.94308 183.61823 l -378.68097 184.03987 l -378.68097 184.88316 l -377.36331 184.48787 l -377.78497 185.22574 l -376.83627 185.38387 l -377.41602 186.67514 l -376.41461 186.70149 l -375.20239 186.06903 l -374.67535 184.88316 l -374.4118 183.90811 l -373.83206 183.24928 l -373.09418 182.40599 l -372.98877 181.98434 l -373.67395 181.27283 l -373.77936 180.79848 l -374.25369 180.58765 l -374.25369 180.21872 l -375.20239 180.08694 l -375.78217 179.77072 l -376.57275 179.79707 l -376.83627 179.53354 l -377.09979 179.48083 l -h -S -/DeviceRGB {} CS -[0.9529 0.5373 0.2863] SC -/DeviceRGB {} cs -[0.9529 0.5373 0.2863] sc -208.49471 218.72012 m -208.54741 218.29848 l -208.70552 217.9559 l -208.49471 217.66602 l -209.17987 216.48015 l -211.07727 216.48015 l -211.12997 215.97945 l -210.86646 215.90038 l -210.70833 215.58415 l -210.18127 215.24156 l -209.60152 214.74086 l -210.28668 214.74086 l -210.28668 213.92392 l -211.65703 213.92392 l -213.02737 213.92392 l -212.97467 215.08345 l -212.86926 216.74367 l -213.29091 216.74367 l -213.81796 217.0072 l -213.92337 216.79637 l -214.34502 216.98085 l -213.65985 217.53426 l -212.97467 217.9559 l -212.86926 218.21942 l -212.97467 218.50931 l -212.71115 218.87825 l -212.34221 218.98366 l -212.44762 219.14177 l -212.13138 219.2999 l -211.65703 219.66882 l -211.60432 219.90601 l -210.86646 219.64247 l -209.97046 219.61612 l -209.28528 219.32625 l -208.49471 218.72012 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -208.49471 218.72012 m -208.54741 218.29848 l -208.70552 217.9559 l -208.49471 217.66602 l -209.17987 216.48015 l -211.07727 216.48015 l -211.12997 215.97945 l -210.86646 215.90038 l -210.70833 215.58415 l -210.18127 215.24156 l -209.60152 214.74086 l -210.28668 214.74086 l -210.28668 213.92392 l -211.65703 213.92392 l -213.02737 213.92392 l -212.97467 215.08345 l -212.86926 216.74367 l -213.29091 216.74367 l -213.81796 217.0072 l -213.92337 216.79637 l -214.34502 216.98085 l -213.65985 217.53426 l -212.97467 217.9559 l -212.86926 218.21942 l -212.97467 218.50931 l -212.71115 218.87825 l -212.34221 218.98366 l -212.44762 219.14177 l -212.13138 219.2999 l -211.65703 219.66882 l -211.60432 219.90601 l -210.86646 219.64247 l -209.97046 219.61612 l -209.28528 219.32625 l -208.49471 218.72012 l -h -S -/DeviceRGB {} CS -[0.6667 0.1451 0.5804] SC -/DeviceRGB {} cs -[0.6667 0.1451 0.5804] sc -323.44553 221.56622 m -324.13071 221.59258 l -325.18481 221.93517 l -325.50104 221.90881 l -325.65918 221.7507 l -326.44974 221.85611 l -326.66058 221.77705 l -326.71329 222.33046 l -326.97681 222.33046 l -327.34573 222.11964 l -327.60928 222.17235 l -327.97821 222.54128 l -328.61069 222.67305 l -329.03232 222.35681 l -329.50668 222.146 l -329.82291 221.93517 l -330.13913 221.98787 l -330.45538 222.30411 l -330.61349 222.6994 l -331.24597 223.33186 l -330.92972 223.70081 l -330.87701 224.17516 l -331.19324 224.01704 l -331.35138 224.20151 l -331.29868 224.64951 l -331.72031 225.07115 l -331.45679 225.17656 l -331.35138 225.67726 l -331.6676 226.28337 l -332.03653 227.4429 l -331.50949 227.62737 l -331.35138 227.8382 l -331.45679 228.10172 l -331.40408 228.73419 l -331.14053 228.76054 l -330.7189 228.70784 l -330.45538 229.2876 l -330.03372 229.2876 l -329.7175 228.97136 l -329.82291 228.3916 l -329.24313 227.49561 l -328.8215 227.65372 l -328.50528 227.70642 l -328.13632 227.78549 l -328.13632 227.23207 l -327.92551 226.86314 l -327.92551 226.4415 l -327.60928 225.80902 l -327.24033 225.28197 l -326.02811 225.28197 l -325.71188 225.57185 l -325.29022 225.59821 l -325.07941 225.91444 l -324.86859 226.33609 l -324.13071 226.96855 l -323.44553 226.09891 l -322.91849 225.51915 l -322.49683 225.33467 l -322.1806 225.0448 l -321.96979 224.41232 l -321.75894 224.06975 l -321.33731 223.83257 l -322.02249 223.12105 l -322.44412 223.1474 l -322.81308 222.91022 l -323.1293 222.91022 l -323.39282 222.6994 l -323.23471 222.22505 l -323.39282 222.06693 l -323.44553 221.56622 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -323.44553 221.56622 m -324.13071 221.59258 l -325.18481 221.93517 l -325.50104 221.90881 l -325.65918 221.7507 l -326.44974 221.85611 l -326.66058 221.77705 l -326.71329 222.33046 l -326.97681 222.33046 l -327.34573 222.11964 l -327.60928 222.17235 l -327.97821 222.54128 l -328.61069 222.67305 l -329.03232 222.35681 l -329.50668 222.146 l -329.82291 221.93517 l -330.13913 221.98787 l -330.45538 222.30411 l -330.61349 222.6994 l -331.24597 223.33186 l -330.92972 223.70081 l -330.87701 224.17516 l -331.19324 224.01704 l -331.35138 224.20151 l -331.29868 224.64951 l -331.72031 225.07115 l -331.45679 225.17656 l -331.35138 225.67726 l -331.6676 226.28337 l -332.03653 227.4429 l -331.50949 227.62737 l -331.35138 227.8382 l -331.45679 228.10172 l -331.40408 228.73419 l -331.14053 228.76054 l -330.7189 228.70784 l -330.45538 229.2876 l -330.03372 229.2876 l -329.7175 228.97136 l -329.82291 228.3916 l -329.24313 227.49561 l -328.8215 227.65372 l -328.50528 227.70642 l -328.13632 227.78549 l -328.13632 227.23207 l -327.92551 226.86314 l -327.92551 226.4415 l -327.60928 225.80902 l -327.24033 225.28197 l -326.02811 225.28197 l -325.71188 225.57185 l -325.29022 225.59821 l -325.07941 225.91444 l -324.86859 226.33609 l -324.13071 226.96855 l -323.44553 226.09891 l -322.91849 225.51915 l -322.49683 225.33467 l -322.1806 225.0448 l -321.96979 224.41232 l -321.75894 224.06975 l -321.33731 223.83257 l -322.02249 223.12105 l -322.44412 223.1474 l -322.81308 222.91022 l -323.1293 222.91022 l -323.39282 222.6994 l -323.23471 222.22505 l -323.39282 222.06693 l -323.44553 221.56622 l -h -S -/DeviceRGB {} CS -[0.3451 0.0078 0.6392] SC -/DeviceRGB {} cs -[0.3451 0.0078 0.6392] sc -319.07098 221.88246 m -319.86154 221.61894 l -320.33591 221.67165 l -320.75754 221.51352 l -323.44553 221.56622 l -323.39282 222.06693 l -323.23471 222.22505 l -323.39282 222.6994 l -323.1293 222.91022 l -322.81308 222.91022 l -322.44412 223.1474 l -322.02249 223.12105 l -321.33731 223.83257 l -320.54672 223.22646 l -319.96698 223.12105 l -319.59802 222.72575 l -319.65073 222.48857 l -319.17639 222.17235 l -319.07098 221.88246 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -319.07098 221.88246 m -319.86154 221.61894 l -320.33591 221.67165 l -320.75754 221.51352 l -323.44553 221.56622 l -323.39282 222.06693 l -323.23471 222.22505 l -323.39282 222.6994 l -323.1293 222.91022 l -322.81308 222.91022 l -322.44412 223.1474 l -322.02249 223.12105 l -321.33731 223.83257 l -320.54672 223.22646 l -319.96698 223.12105 l -319.59802 222.72575 l -319.65073 222.48857 l -319.17639 222.17235 l -319.07098 221.88246 l -h -S -/DeviceRGB {} CS -[0.7882 0.2745 0.4784] SC -/DeviceRGB {} cs -[0.7882 0.2745 0.4784] sc -238.53687 211.13052 m -238.64229 211.94746 l -238.53687 212.50087 l -238.16794 212.73805 l -238.53687 213.18605 l -238.53687 213.58133 l -237.53546 213.34416 l -236.8503 213.44957 l -235.9543 213.31781 l -235.26912 213.6077 l -234.47855 213.1597 l -234.63666 212.68535 l -235.9543 212.86981 l -237.06111 213.00157 l -237.58817 212.659 l -236.9557 212.02652 l -236.9557 211.47311 l -236.007 211.2623 l -236.37595 210.84065 l -237.27194 210.91971 l -238.53687 211.13052 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -238.53687 211.13052 m -238.64229 211.94746 l -238.53687 212.50087 l -238.16794 212.73805 l -238.53687 213.18605 l -238.53687 213.58133 l -237.53546 213.34416 l -236.8503 213.44957 l -235.9543 213.31781 l -235.26912 213.6077 l -234.47855 213.1597 l -234.63666 212.68535 l -235.9543 212.86981 l -237.06111 213.00157 l -237.58817 212.659 l -236.9557 212.02652 l -236.9557 211.47311 l -236.007 211.2623 l -236.37595 210.84065 l -237.27194 210.91971 l -238.53687 211.13052 l -h -S -/DeviceRGB {} CS -[0.9529 0.5333 0.2863] SC -/DeviceRGB {} cs -[0.9529 0.5333 0.2863] sc -221.7765 218.03496 m -221.30215 218.00861 l -221.09132 218.21942 l -220.56427 218.4039 l -220.19533 218.4039 l -219.8791 218.58836 l -219.56287 218.53566 l -219.35205 218.29848 l -219.19392 218.3512 l -218.98311 218.69377 l -218.825 218.69377 l -218.825 218.98366 l -218.29793 219.37895 l -218.03441 219.56342 l -217.8763 219.74789 l -217.45465 219.45801 l -217.13841 219.8533 l -216.82217 219.82695 l -216.50595 219.8533 l -216.50595 220.59117 l -216.29512 220.59117 l -216.13701 220.93376 l -215.66266 220.98647 l -215.39912 220.53847 l -214.97748 220.40671 l -215.0829 219.82695 l -214.87207 219.66882 l -214.55583 219.56342 l -213.92337 219.72153 l -213.87067 219.53706 l -213.44902 219.2999 l -213.13278 219.01001 l -212.71115 218.87825 l -212.97467 218.50931 l -212.86926 218.21942 l -212.97467 217.9559 l -213.65985 217.53426 l -214.34502 216.98085 l -214.50313 217.03355 l -214.81937 216.77002 l -215.24101 216.74367 l -215.39912 216.87543 l -215.60995 216.79637 l -216.29512 216.92815 l -216.9803 216.90179 l -217.45465 216.74367 l -217.61276 216.5592 l -218.08711 216.63826 l -218.40335 216.74367 l -218.825 216.71732 l -219.08852 216.58556 l -219.7737 216.79637 l -219.98451 216.82272 l -220.45886 217.08626 l -220.88051 217.42885 l -221.40756 217.63966 l -221.7765 218.03496 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -221.7765 218.03496 m -221.30215 218.00861 l -221.09132 218.21942 l -220.56427 218.4039 l -220.19533 218.4039 l -219.8791 218.58836 l -219.56287 218.53566 l -219.35205 218.29848 l -219.19392 218.3512 l -218.98311 218.69377 l -218.825 218.69377 l -218.825 218.98366 l -218.29793 219.37895 l -218.03441 219.56342 l -217.8763 219.74789 l -217.45465 219.45801 l -217.13841 219.8533 l -216.82217 219.82695 l -216.50595 219.8533 l -216.50595 220.59117 l -216.29512 220.59117 l -216.13701 220.93376 l -215.66266 220.98647 l -215.39912 220.53847 l -214.97748 220.40671 l -215.0829 219.82695 l -214.87207 219.66882 l -214.55583 219.56342 l -213.92337 219.72153 l -213.87067 219.53706 l -213.44902 219.2999 l -213.13278 219.01001 l -212.71115 218.87825 l -212.97467 218.50931 l -212.86926 218.21942 l -212.97467 217.9559 l -213.65985 217.53426 l -214.34502 216.98085 l -214.50313 217.03355 l -214.81937 216.77002 l -215.24101 216.74367 l -215.39912 216.87543 l -215.60995 216.79637 l -216.29512 216.92815 l -216.9803 216.90179 l -217.45465 216.74367 l -217.61276 216.5592 l -218.08711 216.63826 l -218.40335 216.74367 l -218.825 216.71732 l -219.08852 216.58556 l -219.7737 216.79637 l -219.98451 216.82272 l -220.45886 217.08626 l -220.88051 217.42885 l -221.40756 217.63966 l -221.7765 218.03496 l -h -S -/DeviceRGB {} CS -[0.9843 0.6353 0.2235] SC -/DeviceRGB {} cs -[0.9843 0.6353 0.2235] sc -375.83487 169.12419 m -376.62546 169.51949 l -376.73087 169.91478 l -375.83487 170.20465 l -375.14969 171.20607 l -374.25369 172.20747 l -373.09418 172.47099 l -372.19818 172.41829 l -371.03867 172.78723 l -370.5116 173.0244 l -369.29938 172.73453 l -368.19257 172.10205 l -367.7709 171.91759 l -367.45468 171.41689 l -367.24387 171.41689 l -367.7182 170.46819 l -367.40198 170.15195 l -368.24527 170.15195 l -368.35068 169.54584 l -369.08856 169.91478 l -369.6156 170.09924 l -370.88055 169.91478 l -370.98596 169.62489 l -371.5657 169.57219 l -372.30359 169.33502 l -372.4617 169.44043 l -373.14688 169.25595 l -373.4631 168.91338 l -373.93747 168.80795 l -375.51862 169.25595 l -375.83487 169.12419 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -375.83487 169.12419 m -376.62546 169.51949 l -376.73087 169.91478 l -375.83487 170.20465 l -375.14969 171.20607 l -374.25369 172.20747 l -373.09418 172.47099 l -372.19818 172.41829 l -371.03867 172.78723 l -370.5116 173.0244 l -369.29938 172.73453 l -368.19257 172.10205 l -367.7709 171.91759 l -367.45468 171.41689 l -367.24387 171.41689 l -367.7182 170.46819 l -367.40198 170.15195 l -368.24527 170.15195 l -368.35068 169.54584 l -369.08856 169.91478 l -369.6156 170.09924 l -370.88055 169.91478 l -370.98596 169.62489 l -371.5657 169.57219 l -372.30359 169.33502 l -372.4617 169.44043 l -373.14688 169.25595 l -373.4631 168.91338 l -373.93747 168.80795 l -375.51862 169.25595 l -375.83487 169.12419 l -h -S -/DeviceRGB {} CS -[0.949 0.9451 0.1333] SC -/DeviceRGB {} cs -[0.949 0.9451 0.1333] sc -322.28601 142.718704 m -321.91708 143.667404 l -323.55093 144.668808 l -321.65353 145.775635 l -317.4371 146.777039 l -316.17218 147.040558 l -314.27478 146.829742 l -310.16373 146.381744 l -311.6395 145.722931 l -308.42444 145.011398 l -311.00702 144.721512 l -310.95432 144.299881 l -307.8974 143.957291 l -308.8988 143.008591 l -311.11243 142.771408 l -313.37878 143.772812 l -315.59241 142.982239 l -317.4371 143.403885 l -319.80884 142.613297 l -322.28601 142.718704 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -322.28601 142.718704 m -321.91708 143.667404 l -323.55093 144.668808 l -321.65353 145.775635 l -317.4371 146.777039 l -316.17218 147.040558 l -314.27478 146.829742 l -310.16373 146.381744 l -311.6395 145.722931 l -308.42444 145.011398 l -311.00702 144.721512 l -310.95432 144.299881 l -307.8974 143.957291 l -308.8988 143.008591 l -311.11243 142.771408 l -313.37878 143.772812 l -315.59241 142.982239 l -317.4371 143.403885 l -319.80884 142.613297 l -322.28601 142.718704 l -h -S -/DeviceRGB {} CS -[0.8667 0.3765 0.3961] SC -/DeviceRGB {} cs -[0.8667 0.3765 0.3961] sc -485.9895 198.63931 m -486.09491 199.19272 l -485.56784 199.45624 l -485.67325 200.35223 l -484.67184 200.08871 l -482.77444 201.09012 l -482.77444 201.93341 l -481.98386 203.17198 l -481.93115 203.88351 l -481.246 205.09573 l -480.13916 204.75316 l -480.08646 206.25526 l -479.71753 206.75597 l -479.87564 207.38843 l -479.13776 207.73102 l -478.3999 205.41197 l -477.97824 205.41197 l -477.76743 206.36067 l -476.92413 205.59645 l -477.3985 204.75316 l -478.03094 204.6741 l -478.71613 203.43552 l -477.87283 203.19833 l -476.5025 203.19833 l -475.13214 203.01387 l -475.02673 201.98611 l -474.28885 201.90706 l -473.12933 201.27458 l -472.65497 202.27599 l -473.70911 203.04022 l -472.76041 203.59363 l -472.44415 204.12068 l -473.34015 204.51598 l -473.07663 205.41197 l -473.60367 206.51878 l -473.81451 207.70467 l -473.60367 208.25807 l -472.60226 208.23172 l -470.8103 208.52161 l -470.91571 209.62842 l -470.12512 210.49806 l -468.01691 211.47311 l -466.38303 213.2124 l -465.27621 214.13475 l -463.80045 215.08345 l -463.80045 215.76862 l -463.11526 216.11121 l -461.74493 216.63826 l -461.11246 216.71732 l -460.63812 217.85049 l -460.95435 219.74789 l -461.00705 220.96011 l -460.42731 222.35681 l -460.42731 224.83397 l -459.63672 224.91304 l -459.00424 226.01985 l -459.42587 226.52055 l -458.10825 226.91585 l -457.58118 227.91725 l -457.00143 228.3389 l -455.63107 226.96855 l -454.94592 224.91304 l -454.36615 223.43727 l -453.89182 222.75211 l -453.10123 221.35541 l -452.73227 219.51071 l -452.46875 218.61472 l -451.15112 216.58556 l -450.51865 213.76581 l -450.09702 211.86841 l -450.09702 210.10277 l -449.83347 208.73242 l -447.67255 209.60207 l -446.67114 209.44395 l -444.77374 207.65196 l -445.45892 207.12491 l -445.03726 206.5715 l -443.29797 205.30656 l -444.29938 204.33151 l -447.51443 204.33151 l -447.19818 203.09293 l -446.40762 202.35506 l -446.19678 201.22188 l -445.24808 200.56306 l -446.88196 199.03461 l -448.56854 199.14001 l -450.09702 197.61156 l -451.04572 196.10944 l -452.46875 194.66003 l -452.41605 193.60593 l -453.68097 192.76263 l -452.46875 192.02477 l -451.99442 191.04971 l -451.46735 189.75842 l -452.20523 189.12596 l -454.41885 189.49489 l -456.05273 189.25772 l -457.42307 188.04549 l -459.00424 189.75842 l -458.84613 190.94429 l -459.47861 191.70853 l -459.42587 192.44641 l -458.37177 192.26193 l -458.74072 193.86946 l -460.21646 194.79181 l -462.21927 195.81956 l -461.32327 196.47838 l -460.74353 197.84872 l -462.16656 198.40213 l -463.53693 199.11366 l -465.43433 199.9306 l -467.43713 200.14142 l -468.28043 200.8793 l -469.43994 201.01106 l -471.17923 201.35365 l -472.39145 201.32729 l -472.60226 200.74753 l -472.39145 199.82518 l -472.49686 199.19272 l -473.39285 198.87648 l -473.49826 200.03601 l -473.55096 200.32588 l -474.86862 200.8793 l -475.81732 200.66847 l -477.02954 200.74753 l -478.24176 200.72118 l -478.3472 199.82518 l -477.71472 199.35083 l -478.92694 199.16637 l -480.2446 198.08591 l -481.93115 197.13721 l -483.1434 197.50613 l -484.19751 196.87367 l -484.88266 197.79602 l -484.40833 198.40213 l -485.9895 198.63931 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -485.9895 198.63931 m -486.09491 199.19272 l -485.56784 199.45624 l -485.67325 200.35223 l -484.67184 200.08871 l -482.77444 201.09012 l -482.77444 201.93341 l -481.98386 203.17198 l -481.93115 203.88351 l -481.246 205.09573 l -480.13916 204.75316 l -480.08646 206.25526 l -479.71753 206.75597 l -479.87564 207.38843 l -479.13776 207.73102 l -478.3999 205.41197 l -477.97824 205.41197 l -477.76743 206.36067 l -476.92413 205.59645 l -477.3985 204.75316 l -478.03094 204.6741 l -478.71613 203.43552 l -477.87283 203.19833 l -476.5025 203.19833 l -475.13214 203.01387 l -475.02673 201.98611 l -474.28885 201.90706 l -473.12933 201.27458 l -472.65497 202.27599 l -473.70911 203.04022 l -472.76041 203.59363 l -472.44415 204.12068 l -473.34015 204.51598 l -473.07663 205.41197 l -473.60367 206.51878 l -473.81451 207.70467 l -473.60367 208.25807 l -472.60226 208.23172 l -470.8103 208.52161 l -470.91571 209.62842 l -470.12512 210.49806 l -468.01691 211.47311 l -466.38303 213.2124 l -465.27621 214.13475 l -463.80045 215.08345 l -463.80045 215.76862 l -463.11526 216.11121 l -461.74493 216.63826 l -461.11246 216.71732 l -460.63812 217.85049 l -460.95435 219.74789 l -461.00705 220.96011 l -460.42731 222.35681 l -460.42731 224.83397 l -459.63672 224.91304 l -459.00424 226.01985 l -459.42587 226.52055 l -458.10825 226.91585 l -457.58118 227.91725 l -457.00143 228.3389 l -455.63107 226.96855 l -454.94592 224.91304 l -454.36615 223.43727 l -453.89182 222.75211 l -453.10123 221.35541 l -452.73227 219.51071 l -452.46875 218.61472 l -451.15112 216.58556 l -450.51865 213.76581 l -450.09702 211.86841 l -450.09702 210.10277 l -449.83347 208.73242 l -447.67255 209.60207 l -446.67114 209.44395 l -444.77374 207.65196 l -445.45892 207.12491 l -445.03726 206.5715 l -443.29797 205.30656 l -444.29938 204.33151 l -447.51443 204.33151 l -447.19818 203.09293 l -446.40762 202.35506 l -446.19678 201.22188 l -445.24808 200.56306 l -446.88196 199.03461 l -448.56854 199.14001 l -450.09702 197.61156 l -451.04572 196.10944 l -452.46875 194.66003 l -452.41605 193.60593 l -453.68097 192.76263 l -452.46875 192.02477 l -451.99442 191.04971 l -451.46735 189.75842 l -452.20523 189.12596 l -454.41885 189.49489 l -456.05273 189.25772 l -457.42307 188.04549 l -459.00424 189.75842 l -458.84613 190.94429 l -459.47861 191.70853 l -459.42587 192.44641 l -458.37177 192.26193 l -458.74072 193.86946 l -460.21646 194.79181 l -462.21927 195.81956 l -461.32327 196.47838 l -460.74353 197.84872 l -462.16656 198.40213 l -463.53693 199.11366 l -465.43433 199.9306 l -467.43713 200.14142 l -468.28043 200.8793 l -469.43994 201.01106 l -471.17923 201.35365 l -472.39145 201.32729 l -472.60226 200.74753 l -472.39145 199.82518 l -472.49686 199.19272 l -473.39285 198.87648 l -473.49826 200.03601 l -473.55096 200.32588 l -474.86862 200.8793 l -475.81732 200.66847 l -477.02954 200.74753 l -478.24176 200.72118 l -478.3472 199.82518 l -477.71472 199.35083 l -478.92694 199.16637 l -480.2446 198.08591 l -481.93115 197.13721 l -483.1434 197.50613 l -484.19751 196.87367 l -484.88266 197.79602 l -484.40833 198.40213 l -485.9895 198.63931 l -h -S -/DeviceRGB {} CS -[0.9569 0.549 0.2784] SC -/DeviceRGB {} cs -[0.9569 0.549 0.2784] sc -549.92133 243.80798 m -549.92133 248.57784 l -549.97406 253.34769 l -548.65643 252.13545 l -547.18066 251.84558 l -546.81171 252.26723 l -544.96704 252.31993 l -545.59949 251.13405 l -546.49548 250.7124 l -546.12653 249.13124 l -545.38867 247.89265 l -542.59528 246.65408 l -541.38306 246.52231 l -539.16943 245.17831 l -538.74774 245.88985 l -538.16797 246.02161 l -537.85175 245.49455 l -537.85175 244.83574 l -536.74493 244.12421 l -538.27344 243.59715 l -539.32751 243.6235 l -539.22211 243.25456 l -537.06116 243.22821 l -536.48145 242.35858 l -535.16376 242.09505 l -534.58405 241.38351 l -536.53412 241.01459 l -537.27203 240.54024 l -539.64374 241.14635 l -539.85455 241.6734 l -540.27625 244.04515 l -541.80469 244.94115 l -543.01691 243.38634 l -544.70349 242.49034 l -546.02112 242.49034 l -547.23334 242.99104 l -548.34015 243.5181 l -549.92133 243.80798 l -h -526.46735 253.0051 m -526.57275 253.29498 l -526.62549 253.74298 l -525.67676 254.84979 l -524.41187 255.16603 l -524.25372 254.98155 l -524.35913 254.48085 l -524.99158 253.61121 l -526.46735 253.0051 l -h -539.95996 250.10629 m -539.80188 248.99948 l -540.06537 248.47241 l -540.38165 247.97171 l -540.75055 248.39336 l -540.69788 249.10489 l -539.95996 250.10629 l -h -516.08435 233.95204 m -515.24109 235.26967 l -516.29517 236.64001 l -516.03168 237.3252 l -517.71826 238.66919 l -515.97894 238.85365 l -515.4519 239.85506 l -515.55731 241.1727 l -514.13428 242.1741 l -514.08154 243.6235 l -513.5545 245.86349 l -513.29095 245.36279 l -511.6571 246.02161 l -511.07733 245.12561 l -510.02322 245.04655 l -509.28534 244.5722 l -507.54605 245.09926 l -507.01901 244.38774 l -506.07031 244.4668 l -504.85809 244.28233 l -504.64725 242.33221 l -503.90939 241.93694 l -503.22421 240.672 l -503.0134 239.38071 l -503.17151 238.03671 l -504.0148 237.06166 l -504.27832 238.03671 l -505.27972 238.88 l -506.22842 238.56377 l -507.17712 238.66919 l -508.02042 237.9313 l -508.7056 237.79955 l -510.07593 238.22119 l -511.28815 237.90495 l -512.02606 235.87579 l -512.60577 235.34874 l -513.13287 233.68851 l -514.81946 233.68851 l -516.08435 233.95204 l -h -532.89746 244.09785 m -534.47864 244.5195 l -535.00568 245.65266 l -533.79346 245.04655 l -532.58124 244.91479 l -531.73792 245.0202 l -530.73651 244.9675 l -531.05273 244.15056 l -532.89746 244.09785 l -h -529.20807 245.54726 m -528.20667 245.28374 l -527.94312 244.65126 l -529.41888 244.5722 l -529.78784 245.07291 l -529.20807 245.54726 l -h -530.78925 236.82449 m -530.89465 237.61507 l -531.73792 237.74684 l -531.89606 238.35295 l -531.79065 239.61789 l -531.05273 239.48611 l -530.84192 240.38211 l -531.42169 241.14635 l -531.00006 241.30446 l -530.42029 240.38211 l -529.99866 238.51106 l -530.31488 237.35155 l -530.78925 236.82449 l -h -523.46313 238.72189 m -525.14972 238.66919 l -526.57275 237.58871 l -526.8363 237.9313 l -525.67676 239.38071 l -524.56995 239.64424 l -523.14691 239.38071 l -520.72247 239.43341 l -519.45752 239.64424 l -519.2467 240.75105 l -520.51166 242.0687 l -521.30225 241.40987 l -524.04291 240.90916 l -523.9375 241.56799 l -523.30505 241.35716 l -522.67255 242.22681 l -521.35492 242.78021 l -522.77795 244.65126 l -522.51447 245.17831 l -523.83209 246.8649 l -523.77936 247.8136 l -523.0415 248.2616 l -522.46173 247.73454 l -523.14691 246.52231 l -521.72388 247.10208 l -521.35492 246.70679 l -521.51306 246.12701 l -520.45892 245.28374 l -520.61707 243.83434 l -519.61566 244.28233 l -519.72107 245.99525 l -519.77374 248.10349 l -518.87775 248.3143 l -518.2453 247.8663 l -518.66693 246.52231 l -518.45612 245.12561 l -517.82367 245.09926 l -517.3493 244.09785 l -517.98175 243.14915 l -518.19257 241.98964 l -518.93048 239.776 l -519.19397 239.16989 l -520.45892 238.08942 l -521.61847 238.51106 l -523.46313 238.72189 l -h -519.61566 255.0079 m -517.66553 253.98015 l -519.03589 253.71663 l -519.77374 254.13826 l -520.30084 254.58626 l -520.19537 254.98155 l -519.61566 255.0079 l -h -521.1441 252.50439 m -522.09277 252.37263 l -523.41046 251.84558 l -523.19965 252.66251 l -520.98596 253.08415 l -519.03589 252.89969 l -519.03589 252.37263 l -520.19537 252.0564 l -521.1441 252.50439 l -h -516.61145 252.24086 m -517.50745 252.1091 l -517.87634 252.74158 l -516.18976 253.03145 l -515.18835 253.24228 l -514.39777 253.21593 l -514.92487 252.37263 l -515.71545 252.37263 l -516.08435 251.84558 l -516.61145 252.24086 l -h -502.32822 249.39476 m -502.53903 249.92183 l -505.33243 250.07994 l -505.64865 249.47383 l -508.33664 250.159 l -508.86371 251.1077 l -511.07733 251.37123 l -512.86932 252.24086 l -511.23544 252.82063 l -509.60159 252.21451 l -508.28394 252.26723 l -506.75549 252.1618 l -505.38513 251.89828 l -503.69855 251.31853 l -502.59174 251.18675 l -502.01199 251.37123 l -499.32401 250.76511 l -499.06046 250.13264 l -497.74283 250.02724 l -498.74423 248.63054 l -500.53622 248.70959 l -501.69574 249.28935 l -502.32822 249.39476 l -h -496.26709 241.59435 m -496.53061 242.6221 l -497.05765 243.43904 l -498.11176 243.54445 l -498.84964 244.49315 l -498.48071 246.31149 l -498.42801 248.57784 l -496.79413 248.60419 l -495.52921 247.3656 l -493.68451 246.17973 l -493.05203 245.28374 l -491.94522 244.09785 l -491.20734 242.99104 l -490.10052 240.96188 l -488.8356 239.7233 l -488.36124 238.48471 l -487.8342 237.3252 l -486.51654 236.40285 l -485.77866 235.16426 l -484.67184 234.34734 l -483.1434 232.71346 l -482.98526 231.97557 l -483.93396 232.02829 l -486.20032 232.31816 l -487.51794 233.74121 l -488.62476 234.74261 l -489.46805 235.34874 l -490.83841 236.9299 l -492.31415 236.95625 l -493.5264 237.95766 l -494.36969 239.16989 l -495.52921 239.85506 l -494.89673 241.04094 l -495.74002 241.54164 l -496.26709 241.59435 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -549.92133 243.80798 m -549.92133 248.57784 l -549.97406 253.34769 l -548.65643 252.13545 l -547.18066 251.84558 l -546.81171 252.26723 l -544.96704 252.31993 l -545.59949 251.13405 l -546.49548 250.7124 l -546.12653 249.13124 l -545.38867 247.89265 l -542.59528 246.65408 l -541.38306 246.52231 l -539.16943 245.17831 l -538.74774 245.88985 l -538.16797 246.02161 l -537.85175 245.49455 l -537.85175 244.83574 l -536.74493 244.12421 l -538.27344 243.59715 l -539.32751 243.6235 l -539.22211 243.25456 l -537.06116 243.22821 l -536.48145 242.35858 l -535.16376 242.09505 l -534.58405 241.38351 l -536.53412 241.01459 l -537.27203 240.54024 l -539.64374 241.14635 l -539.85455 241.6734 l -540.27625 244.04515 l -541.80469 244.94115 l -543.01691 243.38634 l -544.70349 242.49034 l -546.02112 242.49034 l -547.23334 242.99104 l -548.34015 243.5181 l -549.92133 243.80798 l -h -526.46735 253.0051 m -526.57275 253.29498 l -526.62549 253.74298 l -525.67676 254.84979 l -524.41187 255.16603 l -524.25372 254.98155 l -524.35913 254.48085 l -524.99158 253.61121 l -526.46735 253.0051 l -h -539.95996 250.10629 m -539.80188 248.99948 l -540.06537 248.47241 l -540.38165 247.97171 l -540.75055 248.39336 l -540.69788 249.10489 l -539.95996 250.10629 l -h -516.08435 233.95204 m -515.24109 235.26967 l -516.29517 236.64001 l -516.03168 237.3252 l -517.71826 238.66919 l -515.97894 238.85365 l -515.4519 239.85506 l -515.55731 241.1727 l -514.13428 242.1741 l -514.08154 243.6235 l -513.5545 245.86349 l -513.29095 245.36279 l -511.6571 246.02161 l -511.07733 245.12561 l -510.02322 245.04655 l -509.28534 244.5722 l -507.54605 245.09926 l -507.01901 244.38774 l -506.07031 244.4668 l -504.85809 244.28233 l -504.64725 242.33221 l -503.90939 241.93694 l -503.22421 240.672 l -503.0134 239.38071 l -503.17151 238.03671 l -504.0148 237.06166 l -504.27832 238.03671 l -505.27972 238.88 l -506.22842 238.56377 l -507.17712 238.66919 l -508.02042 237.9313 l -508.7056 237.79955 l -510.07593 238.22119 l -511.28815 237.90495 l -512.02606 235.87579 l -512.60577 235.34874 l -513.13287 233.68851 l -514.81946 233.68851 l -516.08435 233.95204 l -h -532.89746 244.09785 m -534.47864 244.5195 l -535.00568 245.65266 l -533.79346 245.04655 l -532.58124 244.91479 l -531.73792 245.0202 l -530.73651 244.9675 l -531.05273 244.15056 l -532.89746 244.09785 l -h -529.20807 245.54726 m -528.20667 245.28374 l -527.94312 244.65126 l -529.41888 244.5722 l -529.78784 245.07291 l -529.20807 245.54726 l -h -530.78925 236.82449 m -530.89465 237.61507 l -531.73792 237.74684 l -531.89606 238.35295 l -531.79065 239.61789 l -531.05273 239.48611 l -530.84192 240.38211 l -531.42169 241.14635 l -531.00006 241.30446 l -530.42029 240.38211 l -529.99866 238.51106 l -530.31488 237.35155 l -530.78925 236.82449 l -h -523.46313 238.72189 m -525.14972 238.66919 l -526.57275 237.58871 l -526.8363 237.9313 l -525.67676 239.38071 l -524.56995 239.64424 l -523.14691 239.38071 l -520.72247 239.43341 l -519.45752 239.64424 l -519.2467 240.75105 l -520.51166 242.0687 l -521.30225 241.40987 l -524.04291 240.90916 l -523.9375 241.56799 l -523.30505 241.35716 l -522.67255 242.22681 l -521.35492 242.78021 l -522.77795 244.65126 l -522.51447 245.17831 l -523.83209 246.8649 l -523.77936 247.8136 l -523.0415 248.2616 l -522.46173 247.73454 l -523.14691 246.52231 l -521.72388 247.10208 l -521.35492 246.70679 l -521.51306 246.12701 l -520.45892 245.28374 l -520.61707 243.83434 l -519.61566 244.28233 l -519.72107 245.99525 l -519.77374 248.10349 l -518.87775 248.3143 l -518.2453 247.8663 l -518.66693 246.52231 l -518.45612 245.12561 l -517.82367 245.09926 l -517.3493 244.09785 l -517.98175 243.14915 l -518.19257 241.98964 l -518.93048 239.776 l -519.19397 239.16989 l -520.45892 238.08942 l -521.61847 238.51106 l -523.46313 238.72189 l -h -519.61566 255.0079 m -517.66553 253.98015 l -519.03589 253.71663 l -519.77374 254.13826 l -520.30084 254.58626 l -520.19537 254.98155 l -519.61566 255.0079 l -h -521.1441 252.50439 m -522.09277 252.37263 l -523.41046 251.84558 l -523.19965 252.66251 l -520.98596 253.08415 l -519.03589 252.89969 l -519.03589 252.37263 l -520.19537 252.0564 l -521.1441 252.50439 l -h -516.61145 252.24086 m -517.50745 252.1091 l -517.87634 252.74158 l -516.18976 253.03145 l -515.18835 253.24228 l -514.39777 253.21593 l -514.92487 252.37263 l -515.71545 252.37263 l -516.08435 251.84558 l -516.61145 252.24086 l -h -502.32822 249.39476 m -502.53903 249.92183 l -505.33243 250.07994 l -505.64865 249.47383 l -508.33664 250.159 l -508.86371 251.1077 l -511.07733 251.37123 l -512.86932 252.24086 l -511.23544 252.82063 l -509.60159 252.21451 l -508.28394 252.26723 l -506.75549 252.1618 l -505.38513 251.89828 l -503.69855 251.31853 l -502.59174 251.18675 l -502.01199 251.37123 l -499.32401 250.76511 l -499.06046 250.13264 l -497.74283 250.02724 l -498.74423 248.63054 l -500.53622 248.70959 l -501.69574 249.28935 l -502.32822 249.39476 l -h -496.26709 241.59435 m -496.53061 242.6221 l -497.05765 243.43904 l -498.11176 243.54445 l -498.84964 244.49315 l -498.48071 246.31149 l -498.42801 248.57784 l -496.79413 248.60419 l -495.52921 247.3656 l -493.68451 246.17973 l -493.05203 245.28374 l -491.94522 244.09785 l -491.20734 242.99104 l -490.10052 240.96188 l -488.8356 239.7233 l -488.36124 238.48471 l -487.8342 237.3252 l -486.51654 236.40285 l -485.77866 235.16426 l -484.67184 234.34734 l -483.1434 232.71346 l -482.98526 231.97557 l -483.93396 232.02829 l -486.20032 232.31816 l -487.51794 233.74121 l -488.62476 234.74261 l -489.46805 235.34874 l -490.83841 236.9299 l -492.31415 236.95625 l -493.5264 237.95766 l -494.36969 239.16989 l -495.52921 239.85506 l -494.89673 241.04094 l -495.74002 241.54164 l -496.26709 241.59435 l -h -S -/DeviceRGB {} CS -[0.9608 0.5569 0.2706] SC -/DeviceRGB {} cs -[0.9608 0.5569 0.2706] sc -414.57346 196.18851 m -413.78287 195.42427 l -413.78287 194.63368 l -413.30853 194.63368 l -413.57205 193.57957 l -412.78146 192.47276 l -410.98947 191.65582 l -409.98807 190.28548 l -410.30429 189.12596 l -411.04218 188.62526 l -410.93677 187.78197 l -409.98807 187.33397 l -409.03937 185.59468 l -408.24878 184.40881 l -408.5123 183.96082 l -408.09067 182.27423 l -409.09207 181.85258 l -409.30289 182.40599 l -410.04077 183.09117 l -411.04218 183.27563 l -411.56924 183.24928 l -413.30853 182.16882 l -413.83557 182.06342 l -414.30994 182.48505 l -413.78287 183.19658 l -414.67886 183.98717 l -415.04779 183.90811 l -415.52216 184.98857 l -416.89249 185.27844 l -417.94659 186.01633 l -420.00214 186.27986 l -422.32117 185.88457 l -422.42657 185.54198 l -423.74423 185.25209 l -424.74564 184.43517 l -425.74704 184.46152 l -426.37949 184.19798 l -427.43362 184.32974 l -429.06747 185.06763 l -430.22699 185.22574 l -431.86087 186.51703 l -432.96768 186.56973 l -433.12582 187.80832 l -432.49335 189.62666 l -432.12439 190.70712 l -432.75687 190.91794 l -432.12439 191.70853 l -432.59875 192.89441 l -432.70416 193.81676 l -433.81097 194.05392 l -433.91638 195.00262 l -432.59875 196.32027 l -433.33664 197.11086 l -433.91638 197.98048 l -435.33945 198.63931 l -435.39215 199.9306 l -436.07733 200.16777 l -436.18274 200.82658 l -434.07452 201.59082 l -433.54745 203.2774 l -430.75406 202.85576 l -429.17288 202.51317 l -427.53903 202.3287 l -426.90656 200.53671 l -426.22137 200.27318 l -425.06186 200.53671 l -423.58609 201.22188 l -421.79413 200.74753 l -420.31836 199.61436 l -418.89529 199.21907 l -417.94659 197.82237 l -416.83978 195.87227 l -416.04919 196.10944 l -415.1532 195.60873 l -414.57346 196.18851 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -414.57346 196.18851 m -413.78287 195.42427 l -413.78287 194.63368 l -413.30853 194.63368 l -413.57205 193.57957 l -412.78146 192.47276 l -410.98947 191.65582 l -409.98807 190.28548 l -410.30429 189.12596 l -411.04218 188.62526 l -410.93677 187.78197 l -409.98807 187.33397 l -409.03937 185.59468 l -408.24878 184.40881 l -408.5123 183.96082 l -408.09067 182.27423 l -409.09207 181.85258 l -409.30289 182.40599 l -410.04077 183.09117 l -411.04218 183.27563 l -411.56924 183.24928 l -413.30853 182.16882 l -413.83557 182.06342 l -414.30994 182.48505 l -413.78287 183.19658 l -414.67886 183.98717 l -415.04779 183.90811 l -415.52216 184.98857 l -416.89249 185.27844 l -417.94659 186.01633 l -420.00214 186.27986 l -422.32117 185.88457 l -422.42657 185.54198 l -423.74423 185.25209 l -424.74564 184.43517 l -425.74704 184.46152 l -426.37949 184.19798 l -427.43362 184.32974 l -429.06747 185.06763 l -430.22699 185.22574 l -431.86087 186.51703 l -432.96768 186.56973 l -433.12582 187.80832 l -432.49335 189.62666 l -432.12439 190.70712 l -432.75687 190.91794 l -432.12439 191.70853 l -432.59875 192.89441 l -432.70416 193.81676 l -433.81097 194.05392 l -433.91638 195.00262 l -432.59875 196.32027 l -433.33664 197.11086 l -433.91638 197.98048 l -435.33945 198.63931 l -435.39215 199.9306 l -436.07733 200.16777 l -436.18274 200.82658 l -434.07452 201.59082 l -433.54745 203.2774 l -430.75406 202.85576 l -429.17288 202.51317 l -427.53903 202.3287 l -426.90656 200.53671 l -426.22137 200.27318 l -425.06186 200.53671 l -423.58609 201.22188 l -421.79413 200.74753 l -420.31836 199.61436 l -418.89529 199.21907 l -417.94659 197.82237 l -416.83978 195.87227 l -416.04919 196.10944 l -415.1532 195.60873 l -414.57346 196.18851 l -h -S -/DeviceRGB {} CS -[0.7608 0.2392 0.5059] SC -/DeviceRGB {} cs -[0.7608 0.2392 0.5059] sc -400.87 192.92076 m -400.29025 191.12877 l -403.50528 189.62666 l -404.08505 187.83467 l -403.92694 186.78056 l -404.7702 186.41162 l -405.50809 185.48927 l -406.14056 185.27844 l -407.82715 185.46292 l -408.35419 185.83186 l -409.03937 185.59468 l -409.98807 187.33397 l -410.93677 187.78197 l -411.04218 188.62526 l -410.30429 189.12596 l -409.98807 190.28548 l -410.98947 191.65582 l -412.78146 192.47276 l -413.57205 193.57957 l -413.30853 194.63368 l -413.78287 194.63368 l -413.78287 195.42427 l -414.57346 196.18851 l -413.73016 196.10944 l -412.72876 196.00403 l -411.67465 197.40073 l -408.93396 197.29532 l -404.82294 194.34381 l -402.66199 193.31604 l -400.87 192.92076 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -400.87 192.92076 m -400.29025 191.12877 l -403.50528 189.62666 l -404.08505 187.83467 l -403.92694 186.78056 l -404.7702 186.41162 l -405.50809 185.48927 l -406.14056 185.27844 l -407.82715 185.46292 l -408.35419 185.83186 l -409.03937 185.59468 l -409.98807 187.33397 l -410.93677 187.78197 l -411.04218 188.62526 l -410.30429 189.12596 l -409.98807 190.28548 l -410.98947 191.65582 l -412.78146 192.47276 l -413.57205 193.57957 l -413.30853 194.63368 l -413.78287 194.63368 l -413.78287 195.42427 l -414.57346 196.18851 l -413.73016 196.10944 l -412.72876 196.00403 l -411.67465 197.40073 l -408.93396 197.29532 l -404.82294 194.34381 l -402.66199 193.31604 l -400.87 192.92076 l -h -S -/DeviceRGB {} CS -[0.9804 0.8314 0.1451] SC -/DeviceRGB {} cs -[0.9804 0.8314 0.1451] sc -334.40829 161.139297 m -334.67181 162.193405 l -333.565 163.484695 l -330.98242 164.35434 l -328.87421 164.143524 l -330.08643 162.615051 l -329.29584 161.112946 l -331.29868 159.979782 l -332.40549 159.294601 l -332.72171 160.08519 l -332.40549 160.849426 l -333.30148 160.849426 l -334.40829 161.139297 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -334.40829 161.139297 m -334.67181 162.193405 l -333.565 163.484695 l -330.98242 164.35434 l -328.87421 164.143524 l -330.08643 162.615051 l -329.29584 161.112946 l -331.29868 159.979782 l -332.40549 159.294601 l -332.72171 160.08519 l -332.40549 160.849426 l -333.30148 160.849426 l -334.40829 161.139297 l -h -S -/DeviceRGB {} CS -[0.9608 0.9059 0.1373] SC -/DeviceRGB {} cs -[0.9608 0.9059 0.1373] sc -395.81027 192.13017 m -395.54675 192.57817 l -395.01968 192.36734 l -394.70346 193.34241 l -395.07239 193.52687 l -394.70346 193.71133 l -394.65076 194.10663 l -395.33591 193.89581 l -395.33591 194.47557 l -394.59805 196.82097 l -394.49265 196.42567 l -393.64935 194.29111 l -394.07098 193.81676 l -393.96558 193.73769 l -394.38721 193.05252 l -394.65076 191.94571 l -394.86157 191.57677 l -394.91428 191.55042 l -395.38864 191.55042 l -395.54675 191.31323 l -395.91568 191.28688 l -395.96838 191.89299 l -395.75757 192.10382 l -395.81027 192.13017 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -395.81027 192.13017 m -395.54675 192.57817 l -395.01968 192.36734 l -394.70346 193.34241 l -395.07239 193.52687 l -394.70346 193.71133 l -394.65076 194.10663 l -395.33591 193.89581 l -395.33591 194.47557 l -394.59805 196.82097 l -394.49265 196.42567 l -393.64935 194.29111 l -394.07098 193.81676 l -393.96558 193.73769 l -394.38721 193.05252 l -394.65076 191.94571 l -394.86157 191.57677 l -394.91428 191.55042 l -395.38864 191.55042 l -395.54675 191.31323 l -395.91568 191.28688 l -395.96838 191.89299 l -395.75757 192.10382 l -395.81027 192.13017 l -h -S -/DeviceRGB {} CS -[0.9647 0.898 0.1373] SC -/DeviceRGB {} cs -[0.9647 0.898 0.1373] sc -358.81097 171.36418 m -359.65427 171.54865 l -359.86508 171.28513 l -361.28812 171.02159 l -361.60437 171.54865 l -363.71259 171.91759 l -363.55447 172.62912 l -363.9234 173.26158 l -362.76389 173.05075 l -361.55167 173.57782 l -361.60437 174.28934 l -361.44626 174.71098 l -361.92059 175.44887 l -363.29092 176.18674 l -364.02881 177.39897 l -365.66269 178.58484 l -366.8222 178.58484 l -367.19116 178.90108 l -366.7695 179.19096 l -368.08716 179.71802 l -369.14127 180.16602 l -370.40619 180.93024 l -370.5643 181.19377 l -370.30078 181.72083 l -369.45749 181.03564 l -368.19257 180.79848 l -367.56009 181.74718 l -368.6142 182.27423 l -368.45609 183.03847 l -367.87631 183.14388 l -367.08575 184.38246 l -366.45328 184.51422 l -366.45328 184.06622 l -366.7695 183.27563 l -367.08575 182.95941 l -366.50598 182.11612 l -366.08432 181.37823 l -365.45187 181.19377 l -365.03021 180.56129 l -364.08151 180.29778 l -363.44907 179.69167 l -362.34222 179.61259 l -361.23541 178.95378 l -359.86508 178.00508 l -358.86368 177.16179 l -358.44202 175.71239 l -357.70416 175.52792 l -356.49191 175.05357 l -355.85947 175.23804 l -355.01617 175.92322 l -354.3837 176.02863 l -354.54181 175.39615 l -353.75122 175.21169 l -353.38229 174.07852 l -353.90936 173.63052 l -353.435 173.07712 l -353.54041 172.68182 l -354.17288 172.99805 l -354.85806 172.91899 l -355.64862 172.41829 l -355.91217 172.65547 l -356.65002 172.60277 l -356.96628 172.02299 l -358.02039 172.20747 l -358.65286 171.94394 l -358.81097 171.36418 l -h -365.08292 184.17163 m -366.24246 184.03987 l -365.71539 185.17303 l -365.92621 185.64738 l -365.60999 186.38527 l -364.50317 185.83186 l -363.76529 185.67374 l -361.70978 184.93587 l -361.92059 184.19798 l -363.60718 184.32974 l -365.08292 184.17163 l -h -356.22839 180.13966 m -356.96628 179.66531 l -357.86227 180.71942 l -357.65146 182.64317 l -356.96628 182.56412 l -356.38651 183.03847 l -355.85947 182.66953 l -355.75403 180.87753 l -355.43781 180.06059 l -356.22839 180.13966 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -358.81097 171.36418 m -359.65427 171.54865 l -359.86508 171.28513 l -361.28812 171.02159 l -361.60437 171.54865 l -363.71259 171.91759 l -363.55447 172.62912 l -363.9234 173.26158 l -362.76389 173.05075 l -361.55167 173.57782 l -361.60437 174.28934 l -361.44626 174.71098 l -361.92059 175.44887 l -363.29092 176.18674 l -364.02881 177.39897 l -365.66269 178.58484 l -366.8222 178.58484 l -367.19116 178.90108 l -366.7695 179.19096 l -368.08716 179.71802 l -369.14127 180.16602 l -370.40619 180.93024 l -370.5643 181.19377 l -370.30078 181.72083 l -369.45749 181.03564 l -368.19257 180.79848 l -367.56009 181.74718 l -368.6142 182.27423 l -368.45609 183.03847 l -367.87631 183.14388 l -367.08575 184.38246 l -366.45328 184.51422 l -366.45328 184.06622 l -366.7695 183.27563 l -367.08575 182.95941 l -366.50598 182.11612 l -366.08432 181.37823 l -365.45187 181.19377 l -365.03021 180.56129 l -364.08151 180.29778 l -363.44907 179.69167 l -362.34222 179.61259 l -361.23541 178.95378 l -359.86508 178.00508 l -358.86368 177.16179 l -358.44202 175.71239 l -357.70416 175.52792 l -356.49191 175.05357 l -355.85947 175.23804 l -355.01617 175.92322 l -354.3837 176.02863 l -354.54181 175.39615 l -353.75122 175.21169 l -353.38229 174.07852 l -353.90936 173.63052 l -353.435 173.07712 l -353.54041 172.68182 l -354.17288 172.99805 l -354.85806 172.91899 l -355.64862 172.41829 l -355.91217 172.65547 l -356.65002 172.60277 l -356.96628 172.02299 l -358.02039 172.20747 l -358.65286 171.94394 l -358.81097 171.36418 l -h -365.08292 184.17163 m -366.24246 184.03987 l -365.71539 185.17303 l -365.92621 185.64738 l -365.60999 186.38527 l -364.50317 185.83186 l -363.76529 185.67374 l -361.70978 184.93587 l -361.92059 184.19798 l -363.60718 184.32974 l -365.08292 184.17163 l -h -356.22839 180.13966 m -356.96628 179.66531 l -357.86227 180.71942 l -357.65146 182.64317 l -356.96628 182.56412 l -356.38651 183.03847 l -355.85947 182.66953 l -355.75403 180.87753 l -355.43781 180.06059 l -356.22839 180.13966 l -h -S -/DeviceRGB {} CS -[0.9804 0.6078 0.2392] SC -/DeviceRGB {} cs -[0.9804 0.6078 0.2392] sc -229.94586 212.92252 m -230.94727 213.05428 l -231.68515 213.42322 l -231.94867 213.81851 l -230.94727 213.84486 l -230.47292 214.08205 l -229.68234 213.84486 l -228.83905 213.31781 l -228.99716 212.97522 l -229.62962 212.86981 l -229.94586 212.92252 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -229.94586 212.92252 m -230.94727 213.05428 l -231.68515 213.42322 l -231.94867 213.81851 l -230.94727 213.84486 l -230.47292 214.08205 l -229.68234 213.84486 l -228.83905 213.31781 l -228.99716 212.97522 l -229.62962 212.86981 l -229.94586 212.92252 l -h -S -/DeviceRGB {} CS -[0.9412 0.9765 0.1294] SC -/DeviceRGB {} cs -[0.9412 0.9765 0.1294] sc -551.18628 182.64317 m -549.86865 184.11893 l -549.86865 185.62103 l -549.34155 186.80692 l -549.55243 187.51843 l -548.81451 188.57254 l -546.96985 189.25772 l -544.38727 189.33678 l -542.27905 191.02336 l -541.27765 190.44359 l -541.22491 189.36313 l -538.69507 189.67937 l -536.95575 190.36453 l -535.26917 190.39088 l -536.74493 191.47136 l -535.74353 193.94852 l -534.79486 194.58098 l -534.10968 194.00122 l -534.47864 192.68358 l -533.52991 192.26193 l -532.95013 191.26053 l -534.3205 190.81253 l -535.11108 189.89018 l -536.58685 189.12596 l -537.64093 188.12454 l -540.53973 187.70291 l -542.12091 187.99278 l -543.64935 185.38387 l -544.65076 186.09538 l -546.75903 184.61963 l -547.60229 184.06622 l -548.55096 182.27423 l -548.28748 180.61401 l -548.86725 179.69167 l -550.44836 179.42813 l -551.23895 181.45729 l -551.18628 182.64317 l -h -555.19189 175.63333 m -556.24603 175.02722 l -556.56226 176.66109 l -554.40131 177.05638 l -553.08368 178.53214 l -550.81732 177.53073 l -550.02673 179.11189 l -548.39288 179.13824 l -548.18207 177.68884 l -548.91992 176.55568 l -550.44836 176.47662 l -550.87006 174.44745 l -551.34436 173.31429 l -553.03094 174.84274 l -554.19049 175.34344 l -555.19189 175.63333 l -h -537.27203 191.02336 m -538.06256 190.12737 l -538.90588 190.31183 l -539.53833 189.70572 l -540.59247 190.02194 l -540.80328 190.52266 l -539.95996 191.39229 l -539.38025 190.91794 l -538.58966 191.26053 l -538.2207 192.13017 l -537.27203 191.70853 l -537.27203 191.02336 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -551.18628 182.64317 m -549.86865 184.11893 l -549.86865 185.62103 l -549.34155 186.80692 l -549.55243 187.51843 l -548.81451 188.57254 l -546.96985 189.25772 l -544.38727 189.33678 l -542.27905 191.02336 l -541.27765 190.44359 l -541.22491 189.36313 l -538.69507 189.67937 l -536.95575 190.36453 l -535.26917 190.39088 l -536.74493 191.47136 l -535.74353 193.94852 l -534.79486 194.58098 l -534.10968 194.00122 l -534.47864 192.68358 l -533.52991 192.26193 l -532.95013 191.26053 l -534.3205 190.81253 l -535.11108 189.89018 l -536.58685 189.12596 l -537.64093 188.12454 l -540.53973 187.70291 l -542.12091 187.99278 l -543.64935 185.38387 l -544.65076 186.09538 l -546.75903 184.61963 l -547.60229 184.06622 l -548.55096 182.27423 l -548.28748 180.61401 l -548.86725 179.69167 l -550.44836 179.42813 l -551.23895 181.45729 l -551.18628 182.64317 l -h -555.19189 175.63333 m -556.24603 175.02722 l -556.56226 176.66109 l -554.40131 177.05638 l -553.08368 178.53214 l -550.81732 177.53073 l -550.02673 179.11189 l -548.39288 179.13824 l -548.18207 177.68884 l -548.91992 176.55568 l -550.44836 176.47662 l -550.87006 174.44745 l -551.34436 173.31429 l -553.03094 174.84274 l -554.19049 175.34344 l -555.19189 175.63333 l -h -537.27203 191.02336 m -538.06256 190.12737 l -538.90588 190.31183 l -539.53833 189.70572 l -540.59247 190.02194 l -540.80328 190.52266 l -539.95996 191.39229 l -539.38025 190.91794 l -538.58966 191.26053 l -538.2207 192.13017 l -537.27203 191.70853 l -537.27203 191.02336 l -h -S -/DeviceRGB {} CS -[0.9765 0.6078 0.2392] SC -/DeviceRGB {} cs -[0.9765 0.6078 0.2392] sc -395.54675 192.57817 m -395.81027 192.13017 l -397.44415 192.70993 l -400.29025 191.12877 l -400.87 192.92076 l -400.60648 193.13158 l -397.65497 193.86946 l -399.13074 195.34521 l -398.65637 195.58238 l -398.39285 196.08308 l -397.28604 196.26756 l -396.91708 196.79462 l -396.28461 197.26897 l -394.65076 197.03178 l -394.59805 196.82097 l -395.33591 194.47557 l -395.33591 193.89581 l -395.54675 193.47417 l -395.54675 192.57817 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -395.54675 192.57817 m -395.81027 192.13017 l -397.44415 192.70993 l -400.29025 191.12877 l -400.87 192.92076 l -400.60648 193.13158 l -397.65497 193.86946 l -399.13074 195.34521 l -398.65637 195.58238 l -398.39285 196.08308 l -397.28604 196.26756 l -396.91708 196.79462 l -396.28461 197.26897 l -394.65076 197.03178 l -394.59805 196.82097 l -395.33591 194.47557 l -395.33591 193.89581 l -395.54675 193.47417 l -395.54675 192.57817 l -h -S -/DeviceRGB {} CS -[0.6157 0.0941 0.6157] SC -/DeviceRGB {} cs -[0.6157 0.0941 0.6157] sc -400.87 246.83855 m -398.76178 245.38914 l -398.70908 244.54585 l -393.3858 241.54164 l -393.12228 241.38351 l -393.12228 239.8287 l -393.54395 239.24895 l -394.2818 238.2739 l -394.80887 237.21979 l -394.12369 235.5332 l -393.96558 234.79532 l -393.2804 233.76756 l -394.17639 232.89792 l -395.1778 231.94922 l -395.91568 232.1864 l -395.91568 233.00334 l -396.44275 233.47769 l -397.44415 233.47769 l -399.28885 234.74261 l -399.76318 234.74261 l -400.13214 234.71626 l -400.44836 234.87439 l -401.39706 234.9798 l -401.8187 234.37369 l -403.18906 233.76756 l -403.7688 234.26826 l -404.7702 234.26826 l -403.50528 235.9285 l -403.50528 241.25175 l -404.40128 242.46399 l -403.34717 243.04375 l -402.97824 243.64986 l -402.45117 243.75526 l -402.24036 244.80939 l -401.76599 245.38914 l -401.50247 246.3642 l -400.87 246.83855 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -400.87 246.83855 m -398.76178 245.38914 l -398.70908 244.54585 l -393.3858 241.54164 l -393.12228 241.38351 l -393.12228 239.8287 l -393.54395 239.24895 l -394.2818 238.2739 l -394.80887 237.21979 l -394.12369 235.5332 l -393.96558 234.79532 l -393.2804 233.76756 l -394.17639 232.89792 l -395.1778 231.94922 l -395.91568 232.1864 l -395.91568 233.00334 l -396.44275 233.47769 l -397.44415 233.47769 l -399.28885 234.74261 l -399.76318 234.74261 l -400.13214 234.71626 l -400.44836 234.87439 l -401.39706 234.9798 l -401.8187 234.37369 l -403.18906 233.76756 l -403.7688 234.26826 l -404.7702 234.26826 l -403.50528 235.9285 l -403.50528 241.25175 l -404.40128 242.46399 l -403.34717 243.04375 l -402.97824 243.64986 l -402.45117 243.75526 l -402.24036 244.80939 l -401.76599 245.38914 l -401.50247 246.3642 l -400.87 246.83855 l -h -S -/DeviceRGB {} CS -[0.9137 0.4471 0.3451] SC -/DeviceRGB {} cs -[0.9137 0.4471 0.3451] sc -528.20667 184.75139 m -528.31207 184.59328 l -528.94452 184.64598 l -529.52429 183.98717 l -530.57837 183.93446 l -531.15814 183.82904 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -528.20667 184.75139 m -528.31207 184.59328 l -528.94452 184.64598 l -529.52429 183.98717 l -530.57837 183.93446 l -531.15814 183.82904 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -h -S -/DeviceRGB {} CS -[0.9843 0.8235 0.1451] SC -/DeviceRGB {} cs -[0.9843 0.8235 0.1451] sc -528.20667 184.75139 m -528.31207 184.59328 l -528.94452 184.64598 l -529.52429 183.98717 l -530.57837 183.93446 l -531.15814 183.82904 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -528.20667 184.75139 m -528.31207 184.59328 l -528.94452 184.64598 l -529.52429 183.98717 l -530.57837 183.93446 l -531.15814 183.82904 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -h -S -/DeviceRGB {} CS -[0.9922 0.7843 0.1529] SC -/DeviceRGB {} cs -[0.9922 0.7843 0.1529] sc -413.73016 196.10944 m -414.04639 196.76826 l -413.88828 197.11086 l -414.36264 198.19131 l -413.36124 198.24402 l -412.99228 197.53249 l -411.67465 197.40073 l -412.72876 196.00403 l -413.73016 196.10944 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -413.73016 196.10944 m -414.04639 196.76826 l -413.88828 197.11086 l -414.36264 198.19131 l -413.36124 198.24402 l -412.99228 197.53249 l -411.67465 197.40073 l -412.72876 196.00403 l -413.73016 196.10944 l -h -S -/DeviceRGB {} CS -[0.9725 0.5922 0.251] SC -/DeviceRGB {} cs -[0.9725 0.5922 0.251] sc -395.91568 191.28688 m -395.54675 191.31323 l -395.38864 191.55042 l -394.91428 191.55042 l -395.44135 190.36453 l -396.1792 189.33678 l -396.1792 189.28407 l -396.86438 189.36313 l -397.0752 189.94289 l -396.28461 190.49629 l -395.91568 191.28688 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -395.91568 191.28688 m -395.54675 191.31323 l -395.38864 191.55042 l -394.91428 191.55042 l -395.44135 190.36453 l -396.1792 189.33678 l -396.1792 189.28407 l -396.86438 189.36313 l -397.0752 189.94289 l -396.28461 190.49629 l -395.91568 191.28688 l -h -S -/DeviceRGB {} CS -[0.1922 0.0196 0.5882] SC -/DeviceRGB {} cs -[0.1922 0.0196 0.5882] sc -385.90161 282.38846 m -386.42868 282.83646 l -385.95435 283.54797 l -385.7435 284.02231 l -384.90021 284.25949 l -384.63669 284.70749 l -384.10965 284.8656 l -383.00281 283.73245 l -383.7934 282.81009 l -384.58398 282.23035 l -385.26917 281.94046 l -385.90161 282.38846 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -385.90161 282.38846 m -386.42868 282.83646 l -385.95435 283.54797 l -385.7435 284.02231 l -384.90021 284.25949 l -384.63669 284.70749 l -384.10965 284.8656 l -383.00281 283.73245 l -383.7934 282.81009 l -384.58398 282.23035 l -385.26917 281.94046 l -385.90161 282.38846 l -h -S -/DeviceRGB {} CS -[0.3216 0.0078 0.6314] SC -/DeviceRGB {} cs -[0.3216 0.0078 0.6314] sc -331.14053 228.76054 m -331.08783 229.18219 l -331.24597 229.89371 l -330.92972 230.52617 l -331.35138 230.92146 l -331.77301 231.02687 l -332.40549 231.633 l -332.45819 232.21275 l -332.30008 232.39722 l -332.19467 233.60945 l -331.82571 233.6358 l -330.29724 232.92427 l -328.97961 231.81746 l -327.71469 231.00052 l -326.76599 230.07817 l -327.08221 229.60382 l -327.18762 229.18219 l -327.8201 228.36525 l -328.50528 227.70642 l -328.8215 227.65372 l -329.24313 227.49561 l -329.82291 228.3916 l -329.7175 228.97136 l -330.03372 229.2876 l -330.45538 229.2876 l -330.7189 228.70784 l -331.14053 228.76054 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -331.14053 228.76054 m -331.08783 229.18219 l -331.24597 229.89371 l -330.92972 230.52617 l -331.35138 230.92146 l -331.77301 231.02687 l -332.40549 231.633 l -332.45819 232.21275 l -332.30008 232.39722 l -332.19467 233.60945 l -331.82571 233.6358 l -330.29724 232.92427 l -328.97961 231.81746 l -327.71469 231.00052 l -326.76599 230.07817 l -327.08221 229.60382 l -327.18762 229.18219 l -327.8201 228.36525 l -328.50528 227.70642 l -328.8215 227.65372 l -329.24313 227.49561 l -329.82291 228.3916 l -329.7175 228.97136 l -330.03372 229.2876 l -330.45538 229.2876 l -330.7189 228.70784 l -331.14053 228.76054 l -h -S -/DeviceRGB {} CS -[0.9843 0.6549 0.2118] SC -/DeviceRGB {} cs -[0.9843 0.6549 0.2118] sc -380.104 207.78372 m -380.104 210.70888 l -378.41745 210.70888 l -378.41745 211.34135 l -372.56711 208.52161 l -366.7168 205.72821 l -365.24106 206.51878 l -364.18692 207.0722 l -363.39636 206.28162 l -361.0773 205.64915 l -360.44482 204.72681 l -359.28531 204.04163 l -358.60016 204.30516 l -358.07309 203.48822 l -358.02039 202.85576 l -357.12439 201.80164 l -357.70416 201.19553 l -357.59872 200.27318 l -357.75687 199.45624 l -357.65146 198.79742 l -357.91498 197.61156 l -357.86227 196.92638 l -357.38791 195.63509 l -358.07309 195.29251 l -358.2312 194.68639 l -358.07309 194.08028 l -359.07449 193.50052 l -359.49612 193.02617 l -360.23401 192.60452 l -360.33942 191.49771 l -362.026 191.99841 l -362.65848 191.86664 l -363.8707 192.10382 l -365.8208 192.76263 l -366.50598 194.08028 l -367.82361 194.34381 l -369.87912 194.97627 l -371.4603 195.68781 l -372.14548 195.31886 l -372.83066 194.63368 l -372.5144 193.52687 l -372.98877 192.81534 l -374.04288 192.13017 l -375.04428 191.91936 l -376.99438 192.20923 l -377.52145 192.86806 l -378.04849 192.86806 l -378.52286 193.13158 l -379.9986 193.28969 l -380.31485 193.79039 l -379.78778 194.47557 l -380.0513 195.10803 l -379.68237 196.03038 l -380.104 197.18991 l -380.104 202.40776 l -380.104 207.78372 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -380.104 207.78372 m -380.104 210.70888 l -378.41745 210.70888 l -378.41745 211.34135 l -372.56711 208.52161 l -366.7168 205.72821 l -365.24106 206.51878 l -364.18692 207.0722 l -363.39636 206.28162 l -361.0773 205.64915 l -360.44482 204.72681 l -359.28531 204.04163 l -358.60016 204.30516 l -358.07309 203.48822 l -358.02039 202.85576 l -357.12439 201.80164 l -357.70416 201.19553 l -357.59872 200.27318 l -357.75687 199.45624 l -357.65146 198.79742 l -357.91498 197.61156 l -357.86227 196.92638 l -357.38791 195.63509 l -358.07309 195.29251 l -358.2312 194.68639 l -358.07309 194.08028 l -359.07449 193.50052 l -359.49612 193.02617 l -360.23401 192.60452 l -360.33942 191.49771 l -362.026 191.99841 l -362.65848 191.86664 l -363.8707 192.10382 l -365.8208 192.76263 l -366.50598 194.08028 l -367.82361 194.34381 l -369.87912 194.97627 l -371.4603 195.68781 l -372.14548 195.31886 l -372.83066 194.63368 l -372.5144 193.52687 l -372.98877 192.81534 l -374.04288 192.13017 l -375.04428 191.91936 l -376.99438 192.20923 l -377.52145 192.86806 l -378.04849 192.86806 l -378.52286 193.13158 l -379.9986 193.28969 l -380.31485 193.79039 l -379.78778 194.47557 l -380.0513 195.10803 l -379.68237 196.03038 l -380.104 197.18991 l -380.104 202.40776 l -380.104 207.78372 l -h -S -/DeviceRGB {} CS -[0.7569 0.2353 0.5098] SC -/DeviceRGB {} cs -[0.7569 0.2353 0.5098] sc -416.04919 258.2493 m -416.41815 258.88177 l -416.78708 259.85681 l -416.99789 261.5961 l -417.36685 262.28128 l -417.26144 262.9928 l -416.99789 263.41446 l -416.47086 262.57117 l -416.20734 262.9928 l -416.47086 264.07327 l -416.36545 264.70572 l -415.94379 265.04831 l -415.89108 266.2869 l -415.31134 267.99982 l -414.57346 270.00266 l -413.67746 272.76968 l -413.09769 274.8252 l -412.46524 276.51178 l -411.25299 276.85437 l -409.98807 277.48685 l -409.14478 277.09155 l -407.98526 276.59085 l -407.5636 275.80026 l -407.45819 274.50897 l -406.93115 273.34946 l -406.82574 272.29535 l -407.08926 271.24121 l -407.77444 270.97769 l -407.77444 270.50336 l -408.45959 269.39651 l -408.56503 268.44781 l -408.24878 267.76266 l -407.98526 266.8403 l -407.87985 265.49631 l -408.35419 264.67938 l -408.56503 263.73068 l -409.30289 263.67798 l -410.09348 263.38809 l -410.67325 263.12457 l -411.30569 263.09821 l -412.14899 262.25491 l -413.36124 261.35892 l -413.78287 260.62106 l -413.57205 260.01492 l -414.2045 260.17307 l -414.99509 259.17166 l -415.04779 258.27567 l -415.52216 257.61682 l -416.04919 258.2493 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -416.04919 258.2493 m -416.41815 258.88177 l -416.78708 259.85681 l -416.99789 261.5961 l -417.36685 262.28128 l -417.26144 262.9928 l -416.99789 263.41446 l -416.47086 262.57117 l -416.20734 262.9928 l -416.47086 264.07327 l -416.36545 264.70572 l -415.94379 265.04831 l -415.89108 266.2869 l -415.31134 267.99982 l -414.57346 270.00266 l -413.67746 272.76968 l -413.09769 274.8252 l -412.46524 276.51178 l -411.25299 276.85437 l -409.98807 277.48685 l -409.14478 277.09155 l -407.98526 276.59085 l -407.5636 275.80026 l -407.45819 274.50897 l -406.93115 273.34946 l -406.82574 272.29535 l -407.08926 271.24121 l -407.77444 270.97769 l -407.77444 270.50336 l -408.45959 269.39651 l -408.56503 268.44781 l -408.24878 267.76266 l -407.98526 266.8403 l -407.87985 265.49631 l -408.35419 264.67938 l -408.56503 263.73068 l -409.30289 263.67798 l -410.09348 263.38809 l -410.67325 263.12457 l -411.30569 263.09821 l -412.14899 262.25491 l -413.36124 261.35892 l -413.78287 260.62106 l -413.57205 260.01492 l -414.2045 260.17307 l -414.99509 259.17166 l -415.04779 258.27567 l -415.52216 257.61682 l -416.04919 258.2493 l -h -S -/DeviceRGB {} CS -[0.4157 0.0039 0.651] SC -/DeviceRGB {} cs -[0.4157 0.0039 0.651] sc -391.4357 253.5058 m -392.91147 253.79568 l -393.17499 254.19098 l -393.70206 254.87614 l -394.07098 256.8526 l -393.70206 257.98578 l -394.07098 259.88318 l -394.59805 259.85681 l -395.12509 260.33118 l -395.75757 261.38528 l -395.86298 263.28268 l -395.2305 263.57257 l -394.80887 264.60031 l -393.80746 263.67798 l -393.70206 262.65021 l -394.01828 261.99139 l -393.96558 261.38528 l -393.3858 261.01636 l -392.96417 261.1481 l -392.12088 260.46292 l -391.33029 260.06766 l -391.80466 258.72366 l -392.27899 258.19659 l -391.96277 256.98438 l -392.27899 255.79849 l -392.54254 255.4032 l -392.17358 254.16463 l -391.4357 253.5058 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -391.4357 253.5058 m -392.91147 253.79568 l -393.17499 254.19098 l -393.70206 254.87614 l -394.07098 256.8526 l -393.70206 257.98578 l -394.07098 259.88318 l -394.59805 259.85681 l -395.12509 260.33118 l -395.75757 261.38528 l -395.86298 263.28268 l -395.2305 263.57257 l -394.80887 264.60031 l -393.80746 263.67798 l -393.70206 262.65021 l -394.01828 261.99139 l -393.96558 261.38528 l -393.3858 261.01636 l -392.96417 261.1481 l -392.12088 260.46292 l -391.33029 260.06766 l -391.80466 258.72366 l -392.27899 258.19659 l -391.96277 256.98438 l -392.27899 255.79849 l -392.54254 255.4032 l -392.17358 254.16463 l -391.4357 253.5058 l -h -S -/DeviceRGB {} CS -[0.9843 0.6667 0.2078] SC -/DeviceRGB {} cs -[0.9843 0.6667 0.2078] sc -489.99512 230.52617 m -490.25864 230.26265 l -491.47086 230.92146 l -491.57629 231.65935 l -492.52499 231.50122 l -492.99933 230.89511 l -493.36826 231.02687 l -494.21155 231.92287 l -494.84402 232.89792 l -494.94943 233.87297 l -494.79132 234.5318 l -494.89673 235.05885 l -495.00214 235.90215 l -495.52921 236.32379 l -496.10895 237.61507 l -496.05624 238.11578 l -495.05484 238.19484 l -493.63181 237.11436 l -491.94522 235.95485 l -491.73441 235.21696 l -490.89111 234.24191 l -490.6803 233.02969 l -490.15323 232.21275 l -490.36404 231.15865 l -489.99512 230.52617 l -h -516.08435 233.95204 m -514.81946 233.68851 l -513.13287 233.68851 l -512.60577 235.34874 l -512.02606 235.87579 l -511.28815 237.90495 l -510.07593 238.22119 l -508.7056 237.79955 l -508.02042 237.9313 l -507.17712 238.66919 l -506.22842 238.56377 l -505.27972 238.88 l -504.27832 238.03671 l -504.0148 237.06166 l -505.12161 237.56236 l -506.22842 237.29884 l -506.54465 236.06026 l -507.17712 235.77039 l -508.91641 235.45415 l -509.97052 234.29462 l -510.7084 233.37227 l -511.34088 234.13651 l -511.6571 233.6358 l -512.34229 233.68851 l -512.44769 232.73981 l -512.50037 232.02829 l -513.65991 231.00052 l -514.39777 229.86736 l -514.97754 229.86736 l -515.71545 230.60524 l -515.76813 231.2377 l -516.76953 231.633 l -517.98175 232.08099 l -517.87634 232.66075 l -516.87494 232.73981 l -517.13849 233.45134 l -516.08435 233.95204 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -489.99512 230.52617 m -490.25864 230.26265 l -491.47086 230.92146 l -491.57629 231.65935 l -492.52499 231.50122 l -492.99933 230.89511 l -493.36826 231.02687 l -494.21155 231.92287 l -494.84402 232.89792 l -494.94943 233.87297 l -494.79132 234.5318 l -494.89673 235.05885 l -495.00214 235.90215 l -495.52921 236.32379 l -496.10895 237.61507 l -496.05624 238.11578 l -495.05484 238.19484 l -493.63181 237.11436 l -491.94522 235.95485 l -491.73441 235.21696 l -490.89111 234.24191 l -490.6803 233.02969 l -490.15323 232.21275 l -490.36404 231.15865 l -489.99512 230.52617 l -h -516.08435 233.95204 m -514.81946 233.68851 l -513.13287 233.68851 l -512.60577 235.34874 l -512.02606 235.87579 l -511.28815 237.90495 l -510.07593 238.22119 l -508.7056 237.79955 l -508.02042 237.9313 l -507.17712 238.66919 l -506.22842 238.56377 l -505.27972 238.88 l -504.27832 238.03671 l -504.0148 237.06166 l -505.12161 237.56236 l -506.22842 237.29884 l -506.54465 236.06026 l -507.17712 235.77039 l -508.91641 235.45415 l -509.97052 234.29462 l -510.7084 233.37227 l -511.34088 234.13651 l -511.6571 233.6358 l -512.34229 233.68851 l -512.44769 232.73981 l -512.50037 232.02829 l -513.65991 231.00052 l -514.39777 229.86736 l -514.97754 229.86736 l -515.71545 230.60524 l -515.76813 231.2377 l -516.76953 231.633 l -517.98175 232.08099 l -517.87634 232.66075 l -516.87494 232.73981 l -517.13849 233.45134 l -516.08435 233.95204 l -h -S -/DeviceRGB {} CS -[0.6275 0.1059 0.6078] SC -/DeviceRGB {} cs -[0.6275 0.1059 0.6078] sc -326.66058 221.77705 m -326.71329 221.32906 l -326.60788 220.77565 l -326.02811 220.354 l -325.76459 219.51071 l -325.65918 218.61472 l -326.18622 218.32484 l -326.39703 217.48155 l -326.8714 217.42885 l -327.92551 217.85049 l -328.71609 217.56061 l -329.29584 217.66602 l -329.50668 217.32343 l -335.4097 217.29707 l -335.72592 216.26932 l -335.4624 216.11121 l -334.77722 209.78653 l -334.03934 203.46187 l -336.30569 203.43552 l -341.20731 206.62421 l -346.16162 209.83925 l -346.53058 210.52441 l -347.42657 210.91971 l -348.11172 211.18323 l -348.11172 212.10558 l -349.74561 211.94746 l -349.74561 215.32062 l -348.95502 216.29567 l -348.84961 217.21802 l -347.53198 217.4552 l -345.52917 217.56061 l -345.00211 218.08766 l -344.05341 218.14037 l -343.10471 218.14037 l -342.73578 217.87685 l -341.94519 218.08766 l -340.57483 218.69377 l -340.31131 219.14177 l -339.15179 219.8006 l -338.94098 220.16953 l -338.36121 220.48576 l -337.62332 220.27495 l -337.25439 220.64388 l -337.04358 221.64529 l -335.83133 222.85751 l -335.88403 223.35822 l -335.51511 223.96432 l -335.56781 224.80762 l -334.98804 225.0448 l -334.61911 225.22926 l -334.40829 224.5968 l -333.98663 224.75491 l -333.72311 224.72856 l -333.45959 225.15021 l -332.35278 225.15021 l -331.93112 224.91304 l -331.72031 225.07115 l -331.29868 224.64951 l -331.35138 224.20151 l -331.19324 224.01704 l -330.87701 224.17516 l -330.92972 223.70081 l -331.24597 223.33186 l -330.61349 222.6994 l -330.45538 222.30411 l -330.13913 221.98787 l -329.82291 221.93517 l -329.50668 222.146 l -329.03232 222.35681 l -328.61069 222.67305 l -327.97821 222.54128 l -327.60928 222.17235 l -327.34573 222.11964 l -326.97681 222.33046 l -326.71329 222.33046 l -326.66058 221.77705 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -326.66058 221.77705 m -326.71329 221.32906 l -326.60788 220.77565 l -326.02811 220.354 l -325.76459 219.51071 l -325.65918 218.61472 l -326.18622 218.32484 l -326.39703 217.48155 l -326.8714 217.42885 l -327.92551 217.85049 l -328.71609 217.56061 l -329.29584 217.66602 l -329.50668 217.32343 l -335.4097 217.29707 l -335.72592 216.26932 l -335.4624 216.11121 l -334.77722 209.78653 l -334.03934 203.46187 l -336.30569 203.43552 l -341.20731 206.62421 l -346.16162 209.83925 l -346.53058 210.52441 l -347.42657 210.91971 l -348.11172 211.18323 l -348.11172 212.10558 l -349.74561 211.94746 l -349.74561 215.32062 l -348.95502 216.29567 l -348.84961 217.21802 l -347.53198 217.4552 l -345.52917 217.56061 l -345.00211 218.08766 l -344.05341 218.14037 l -343.10471 218.14037 l -342.73578 217.87685 l -341.94519 218.08766 l -340.57483 218.69377 l -340.31131 219.14177 l -339.15179 219.8006 l -338.94098 220.16953 l -338.36121 220.48576 l -337.62332 220.27495 l -337.25439 220.64388 l -337.04358 221.64529 l -335.83133 222.85751 l -335.88403 223.35822 l -335.51511 223.96432 l -335.56781 224.80762 l -334.98804 225.0448 l -334.61911 225.22926 l -334.40829 224.5968 l -333.98663 224.75491 l -333.72311 224.72856 l -333.45959 225.15021 l -332.35278 225.15021 l -331.93112 224.91304 l -331.72031 225.07115 l -331.29868 224.64951 l -331.35138 224.20151 l -331.19324 224.01704 l -330.87701 224.17516 l -330.92972 223.70081 l -331.24597 223.33186 l -330.61349 222.6994 l -330.45538 222.30411 l -330.13913 221.98787 l -329.82291 221.93517 l -329.50668 222.146 l -329.03232 222.35681 l -328.61069 222.67305 l -327.97821 222.54128 l -327.60928 222.17235 l -327.34573 222.11964 l -326.97681 222.33046 l -326.71329 222.33046 l -326.66058 221.77705 l -h -S -/DeviceRGB {} CS -[0.8588 0.3608 0.4078] SC -/DeviceRGB {} cs -[0.8588 0.3608 0.4078] sc -318.54391 209.25948 m -318.86014 208.75877 l -324.55234 208.78513 l -324.28882 206.67691 l -324.65778 205.91267 l -326.02811 205.78091 l -325.9754 202.03882 l -330.77161 202.11787 l -330.77161 199.90424 l -336.30569 203.43552 l -334.03934 203.46187 l -334.77722 209.78653 l -335.4624 216.11121 l -335.72592 216.26932 l -335.4097 217.29707 l -329.50668 217.32343 l -329.29584 217.66602 l -328.71609 217.56061 l -327.92551 217.85049 l -326.8714 217.42885 l -326.39703 217.48155 l -326.18622 218.32484 l -325.65918 218.61472 l -324.71048 217.58696 l -323.81448 216.53285 l -322.86578 216.13756 l -322.1806 215.68956 l -321.33731 215.71591 l -320.65213 216.03215 l -319.91425 215.90038 l -319.38721 216.37473 l -319.2818 215.58415 l -319.70343 214.87262 l -319.86154 213.50227 l -319.70343 212.05287 l -319.54532 211.315 l -319.65073 210.57712 l -319.2818 209.89195 l -318.54391 209.25948 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -318.54391 209.25948 m -318.86014 208.75877 l -324.55234 208.78513 l -324.28882 206.67691 l -324.65778 205.91267 l -326.02811 205.78091 l -325.9754 202.03882 l -330.77161 202.11787 l -330.77161 199.90424 l -336.30569 203.43552 l -334.03934 203.46187 l -334.77722 209.78653 l -335.4624 216.11121 l -335.72592 216.26932 l -335.4097 217.29707 l -329.50668 217.32343 l -329.29584 217.66602 l -328.71609 217.56061 l -327.92551 217.85049 l -326.8714 217.42885 l -326.39703 217.48155 l -326.18622 218.32484 l -325.65918 218.61472 l -324.71048 217.58696 l -323.81448 216.53285 l -322.86578 216.13756 l -322.1806 215.68956 l -321.33731 215.71591 l -320.65213 216.03215 l -319.91425 215.90038 l -319.38721 216.37473 l -319.2818 215.58415 l -319.70343 214.87262 l -319.86154 213.50227 l -319.70343 212.05287 l -319.54532 211.315 l -319.65073 210.57712 l -319.2818 209.89195 l -318.54391 209.25948 l -h -S -/DeviceRGB {} CS -[0.9882 0.7333 0.1765] SC -/DeviceRGB {} cs -[0.9882 0.7333 0.1765] sc -172.02245 192.36734 m -173.70903 192.26193 l -175.55373 192.10382 l -175.44832 192.39371 l -177.60924 193.10522 l -180.98239 194.13298 l -183.8812 194.10663 l -185.04073 194.10663 l -185.04073 193.52687 l -187.57059 193.52687 l -188.09764 194.02757 l -188.88823 194.50192 l -189.73152 195.13438 l -190.20587 195.89862 l -190.57481 196.71556 l -191.36539 197.16356 l -192.57762 197.58521 l -193.47362 196.42567 l -194.68584 196.39932 l -195.68724 196.97908 l -196.42513 197.98048 l -196.95218 198.85013 l -197.79547 199.69342 l -198.11171 200.72118 l -198.53334 201.40636 l -199.69287 201.85435 l -200.74698 202.17058 l -201.27403 202.11787 l -200.74698 203.40916 l -200.48346 204.46327 l -200.37804 206.43973 l -200.21992 207.15126 l -200.48346 207.94185 l -200.95781 208.65337 l -201.22133 209.78653 l -202.22273 210.89336 l -202.53897 211.71028 l -203.11873 212.44817 l -204.64719 212.81711 l -205.27966 213.44957 l -206.54459 213.02792 l -207.65141 212.86981 l -208.75822 212.60628 l -209.70692 212.36911 l -210.60292 211.763 l -210.97186 210.91971 l -211.07727 209.68112 l -211.34081 209.25948 l -212.34221 208.86418 l -213.87067 208.54796 l -215.18831 208.57431 l -216.0843 208.4689 l -216.40053 208.78513 l -216.34782 209.47031 l -215.55725 210.33995 l -215.24101 211.23593 l -215.50455 211.49947 l -215.29372 212.13193 l -214.92477 213.26511 l -214.55583 212.89616 l -214.23961 212.92252 l -213.97607 212.94887 l -213.44902 213.81851 l -213.1855 213.6604 l -212.97467 213.7131 l -213.02737 213.92392 l -211.65703 213.92392 l -210.28668 213.92392 l -210.28668 214.74086 l -209.60152 214.74086 l -210.18127 215.24156 l -210.70833 215.58415 l -210.86646 215.90038 l -211.12997 215.97945 l -211.07727 216.48015 l -209.17987 216.48015 l -208.49471 217.66602 l -208.70552 217.9559 l -208.54741 218.29848 l -208.49471 218.72012 l -206.80812 217.13896 l -206.07024 216.66461 l -204.85802 216.29567 l -204.06743 216.40108 l -202.90791 216.92815 l -202.17003 217.08626 l -201.11592 216.69096 l -200.00911 216.42743 l -198.63876 215.74226 l -197.53194 215.53145 l -195.89807 214.87262 l -194.68584 214.1611 l -194.31691 213.76581 l -193.47362 213.68675 l -191.99786 213.2124 l -191.36539 212.55357 l -189.78423 211.71028 l -189.04634 210.78795 l -188.73012 210.07642 l -189.20447 209.94466 l -189.04634 209.52301 l -189.41528 209.15407 l -189.41528 208.65337 l -188.88823 207.99455 l -188.78282 207.38843 l -188.30847 206.65056 l -186.99083 205.20116 l -185.51508 204.06798 l -184.8299 203.14563 l -183.56497 202.53952 l -183.30144 202.19693 l -183.51227 201.30093 l -182.77438 200.95836 l -181.87839 200.24683 l -181.50945 199.21907 l -180.77158 199.08731 l -179.87558 198.32307 l -179.1904 197.61156 l -179.1377 197.16356 l -178.34712 196.05673 l -177.82007 194.92357 l -177.87277 194.37016 l -176.81865 193.79039 l -176.2916 193.84311 l -175.50102 193.44781 l -175.23749 194.05392 l -175.50102 194.73909 l -175.60643 195.84592 l -176.13348 196.45203 l -177.2403 197.45343 l -177.45113 197.79602 l -177.66194 197.90143 l -177.87277 198.40213 l -178.13629 198.37578 l -178.45253 199.32448 l -178.87418 199.69342 l -179.1904 200.22047 l -180.0864 200.95836 l -180.61345 202.3287 l -181.0351 202.96117 l -181.45674 203.64633 l -181.50945 204.43692 l -182.19463 204.48962 l -182.82709 205.14845 l -183.35414 205.80727 l -183.30144 206.0708 l -182.66898 206.59785 l -182.40544 206.59785 l -182.03651 205.70186 l -181.0878 204.85857 l -180.03369 204.14703 l -179.29582 203.77811 l -179.34853 202.72398 l -179.08499 201.93341 l -178.39983 201.45906 l -177.39842 200.82658 l -177.18759 201.01106 l -176.81865 200.61577 l -175.92267 200.27318 l -175.07938 199.42989 l -175.18478 199.29813 l -175.76454 199.37718 l -176.3443 198.85013 l -176.39702 198.19131 l -175.23749 197.13721 l -174.3942 196.74191 l -173.86714 195.81956 l -173.28738 194.87086 l -172.65492 193.68498 l -172.02245 192.36734 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -172.02245 192.36734 m -173.70903 192.26193 l -175.55373 192.10382 l -175.44832 192.39371 l -177.60924 193.10522 l -180.98239 194.13298 l -183.8812 194.10663 l -185.04073 194.10663 l -185.04073 193.52687 l -187.57059 193.52687 l -188.09764 194.02757 l -188.88823 194.50192 l -189.73152 195.13438 l -190.20587 195.89862 l -190.57481 196.71556 l -191.36539 197.16356 l -192.57762 197.58521 l -193.47362 196.42567 l -194.68584 196.39932 l -195.68724 196.97908 l -196.42513 197.98048 l -196.95218 198.85013 l -197.79547 199.69342 l -198.11171 200.72118 l -198.53334 201.40636 l -199.69287 201.85435 l -200.74698 202.17058 l -201.27403 202.11787 l -200.74698 203.40916 l -200.48346 204.46327 l -200.37804 206.43973 l -200.21992 207.15126 l -200.48346 207.94185 l -200.95781 208.65337 l -201.22133 209.78653 l -202.22273 210.89336 l -202.53897 211.71028 l -203.11873 212.44817 l -204.64719 212.81711 l -205.27966 213.44957 l -206.54459 213.02792 l -207.65141 212.86981 l -208.75822 212.60628 l -209.70692 212.36911 l -210.60292 211.763 l -210.97186 210.91971 l -211.07727 209.68112 l -211.34081 209.25948 l -212.34221 208.86418 l -213.87067 208.54796 l -215.18831 208.57431 l -216.0843 208.4689 l -216.40053 208.78513 l -216.34782 209.47031 l -215.55725 210.33995 l -215.24101 211.23593 l -215.50455 211.49947 l -215.29372 212.13193 l -214.92477 213.26511 l -214.55583 212.89616 l -214.23961 212.92252 l -213.97607 212.94887 l -213.44902 213.81851 l -213.1855 213.6604 l -212.97467 213.7131 l -213.02737 213.92392 l -211.65703 213.92392 l -210.28668 213.92392 l -210.28668 214.74086 l -209.60152 214.74086 l -210.18127 215.24156 l -210.70833 215.58415 l -210.86646 215.90038 l -211.12997 215.97945 l -211.07727 216.48015 l -209.17987 216.48015 l -208.49471 217.66602 l -208.70552 217.9559 l -208.54741 218.29848 l -208.49471 218.72012 l -206.80812 217.13896 l -206.07024 216.66461 l -204.85802 216.29567 l -204.06743 216.40108 l -202.90791 216.92815 l -202.17003 217.08626 l -201.11592 216.69096 l -200.00911 216.42743 l -198.63876 215.74226 l -197.53194 215.53145 l -195.89807 214.87262 l -194.68584 214.1611 l -194.31691 213.76581 l -193.47362 213.68675 l -191.99786 213.2124 l -191.36539 212.55357 l -189.78423 211.71028 l -189.04634 210.78795 l -188.73012 210.07642 l -189.20447 209.94466 l -189.04634 209.52301 l -189.41528 209.15407 l -189.41528 208.65337 l -188.88823 207.99455 l -188.78282 207.38843 l -188.30847 206.65056 l -186.99083 205.20116 l -185.51508 204.06798 l -184.8299 203.14563 l -183.56497 202.53952 l -183.30144 202.19693 l -183.51227 201.30093 l -182.77438 200.95836 l -181.87839 200.24683 l -181.50945 199.21907 l -180.77158 199.08731 l -179.87558 198.32307 l -179.1904 197.61156 l -179.1377 197.16356 l -178.34712 196.05673 l -177.82007 194.92357 l -177.87277 194.37016 l -176.81865 193.79039 l -176.2916 193.84311 l -175.50102 193.44781 l -175.23749 194.05392 l -175.50102 194.73909 l -175.60643 195.84592 l -176.13348 196.45203 l -177.2403 197.45343 l -177.45113 197.79602 l -177.66194 197.90143 l -177.87277 198.40213 l -178.13629 198.37578 l -178.45253 199.32448 l -178.87418 199.69342 l -179.1904 200.22047 l -180.0864 200.95836 l -180.61345 202.3287 l -181.0351 202.96117 l -181.45674 203.64633 l -181.50945 204.43692 l -182.19463 204.48962 l -182.82709 205.14845 l -183.35414 205.80727 l -183.30144 206.0708 l -182.66898 206.59785 l -182.40544 206.59785 l -182.03651 205.70186 l -181.0878 204.85857 l -180.03369 204.14703 l -179.29582 203.77811 l -179.34853 202.72398 l -179.08499 201.93341 l -178.39983 201.45906 l -177.39842 200.82658 l -177.18759 201.01106 l -176.81865 200.61577 l -175.92267 200.27318 l -175.07938 199.42989 l -175.18478 199.29813 l -175.76454 199.37718 l -176.3443 198.85013 l -176.39702 198.19131 l -175.23749 197.13721 l -174.3942 196.74191 l -173.86714 195.81956 l -173.28738 194.87086 l -172.65492 193.68498 l -172.02245 192.36734 l -h -S -/DeviceRGB {} CS -[0.9059 0.4353 0.3529] SC -/DeviceRGB {} cs -[0.9059 0.4353 0.3529] sc -471.96982 167.8329 m -473.49826 167.569382 l -476.29166 166.330795 l -478.50531 165.619278 l -479.77023 166.067276 l -481.29871 166.093628 l -482.30011 166.778793 l -483.77585 166.831497 l -485.88409 167.200439 l -487.30713 166.199036 l -486.72736 165.329391 l -488.20313 163.800934 l -489.83701 164.407043 l -491.20734 164.591522 l -492.89392 164.960449 l -493.21014 166.067276 l -495.26566 166.673386 l -496.63602 166.409851 l -498.53342 166.199036 l -499.95645 166.409851 l -501.43222 167.095032 l -502.27551 167.85925 l -503.64584 167.8329 l -505.49054 168.07008 l -506.8609 167.727493 l -508.7583 167.463974 l -510.91922 166.436203 l -511.81522 166.59433 l -512.5531 167.095032 l -514.29236 166.963272 l -513.60718 168.07008 l -512.5531 169.54584 l -512.92206 170.1256 l -513.76532 169.94113 l -515.18835 170.1783 l -516.3479 169.62489 l -517.50745 170.09924 l -518.82507 171.127 l -518.66693 171.65407 l -517.50745 171.46959 l -515.39917 171.68042 l -514.34509 172.10205 l -513.29095 173.05075 l -511.07733 173.63052 l -509.60159 174.39474 l -508.07312 174.10487 l -507.28253 173.9731 l -506.49194 174.9218 l -506.96631 175.47522 l -507.22983 175.97592 l -506.17572 176.45027 l -505.12161 177.24084 l -503.43503 177.7679 l -501.22141 177.82062 l -498.84964 178.32132 l -497.16306 179.11189 l -496.53061 178.63754 l -494.73862 178.66389 l -492.5777 177.7679 l -491.10193 177.55708 l -489.20453 177.74155 l -486.14761 177.42532 l -484.56644 177.45168 l -483.67044 176.58203 l -483.03796 175.23804 l -482.08926 175.07993 l -480.35001 174.15758 l -478.3999 173.94675 l -476.66061 173.70958 l -476.13354 173.07712 l -476.66061 171.36418 l -475.65921 170.1783 l -473.55096 169.62489 l -472.33875 168.86067 l -471.96982 167.8329 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -471.96982 167.8329 m -473.49826 167.569382 l -476.29166 166.330795 l -478.50531 165.619278 l -479.77023 166.067276 l -481.29871 166.093628 l -482.30011 166.778793 l -483.77585 166.831497 l -485.88409 167.200439 l -487.30713 166.199036 l -486.72736 165.329391 l -488.20313 163.800934 l -489.83701 164.407043 l -491.20734 164.591522 l -492.89392 164.960449 l -493.21014 166.067276 l -495.26566 166.673386 l -496.63602 166.409851 l -498.53342 166.199036 l -499.95645 166.409851 l -501.43222 167.095032 l -502.27551 167.85925 l -503.64584 167.8329 l -505.49054 168.07008 l -506.8609 167.727493 l -508.7583 167.463974 l -510.91922 166.436203 l -511.81522 166.59433 l -512.5531 167.095032 l -514.29236 166.963272 l -513.60718 168.07008 l -512.5531 169.54584 l -512.92206 170.1256 l -513.76532 169.94113 l -515.18835 170.1783 l -516.3479 169.62489 l -517.50745 170.09924 l -518.82507 171.127 l -518.66693 171.65407 l -517.50745 171.46959 l -515.39917 171.68042 l -514.34509 172.10205 l -513.29095 173.05075 l -511.07733 173.63052 l -509.60159 174.39474 l -508.07312 174.10487 l -507.28253 173.9731 l -506.49194 174.9218 l -506.96631 175.47522 l -507.22983 175.97592 l -506.17572 176.45027 l -505.12161 177.24084 l -503.43503 177.7679 l -501.22141 177.82062 l -498.84964 178.32132 l -497.16306 179.11189 l -496.53061 178.63754 l -494.73862 178.66389 l -492.5777 177.7679 l -491.10193 177.55708 l -489.20453 177.74155 l -486.14761 177.42532 l -484.56644 177.45168 l -483.67044 176.58203 l -483.03796 175.23804 l -482.08926 175.07993 l -480.35001 174.15758 l -478.3999 173.94675 l -476.66061 173.70958 l -476.13354 173.07712 l -476.66061 171.36418 l -475.65921 170.1783 l -473.55096 169.62489 l -472.33875 168.86067 l -471.96982 167.8329 l -h -S -/DeviceRGB {} CS -[0.9882 0.6745 0.2039] SC -/DeviceRGB {} cs -[0.9882 0.6745 0.2039] sc -372.88336 177.66249 m -372.4617 177.79427 l -372.409 177.50438 l -371.77652 178.24226 l -371.88196 178.69025 l -371.5657 178.58484 l -371.14407 178.11049 l -370.5116 177.82062 l -370.66971 177.55708 l -370.88055 176.76649 l -371.35489 176.42392 l -371.61841 176.29214 l -372.04007 176.52933 l -372.25089 176.74014 l -372.72522 176.89827 l -373.25229 177.18814 l -373.14688 177.31992 l -372.88336 177.66249 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -372.88336 177.66249 m -372.4617 177.79427 l -372.409 177.50438 l -371.77652 178.24226 l -371.88196 178.69025 l -371.5657 178.58484 l -371.14407 178.11049 l -370.5116 177.82062 l -370.66971 177.55708 l -370.88055 176.76649 l -371.35489 176.42392 l -371.61841 176.29214 l -372.04007 176.52933 l -372.25089 176.74014 l -372.72522 176.89827 l -373.25229 177.18814 l -373.14688 177.31992 l -372.88336 177.66249 l -h -S -/DeviceRGB {} CS -[0.9608 0.5647 0.2667] SC -/DeviceRGB {} cs -[0.9608 0.5647 0.2667] sc -340.31131 188.51984 m -340.89108 189.44218 l -340.94379 190.33818 l -341.47083 191.89299 l -341.83978 192.20923 l -341.57623 192.76263 l -339.67883 193.02617 l -338.99368 193.55322 l -338.15039 193.68498 l -338.09769 194.76546 l -336.4111 195.34521 l -335.83133 196.08308 l -334.61911 196.47838 l -333.14337 196.68921 l -330.82431 197.76967 l -330.82431 199.50896 l -330.61349 199.50896 l -330.61349 200.29953 l -329.7175 200.35223 l -329.24313 200.66847 l -328.55798 200.66847 l -328.03091 200.48401 l -326.8187 200.64212 l -326.34433 201.77528 l -325.87 201.88071 l -325.18481 203.75175 l -323.18201 205.30656 l -322.70764 207.33572 l -322.0752 207.99455 l -321.91708 208.52161 l -318.59662 208.65337 l -318.59662 208.62701 l -318.64932 207.9682 l -319.2291 207.57291 l -319.70343 206.80867 l -319.59802 206.30797 l -320.12509 205.28021 l -320.91568 204.33151 l -321.39001 204.09433 l -321.81165 203.25105 l -321.81165 202.46046 l -322.33871 201.56447 l -323.34012 201.03741 l -324.28882 199.53531 l -324.28882 199.50896 l -325.0267 198.95554 l -326.39703 198.79742 l -327.55658 197.79602 l -328.29443 197.40073 l -329.50668 196.18851 l -329.13773 194.37016 l -329.66479 193.10522 l -329.87561 192.34099 l -330.82431 191.33958 l -332.30008 190.68077 l -333.40689 190.07466 l -334.35559 188.54619 l -334.82993 187.65019 l -335.88403 187.65019 l -336.78003 188.28267 l -338.15039 188.17726 l -339.67883 188.49348 l -340.31131 188.51984 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -340.31131 188.51984 m -340.89108 189.44218 l -340.94379 190.33818 l -341.47083 191.89299 l -341.83978 192.20923 l -341.57623 192.76263 l -339.67883 193.02617 l -338.99368 193.55322 l -338.15039 193.68498 l -338.09769 194.76546 l -336.4111 195.34521 l -335.83133 196.08308 l -334.61911 196.47838 l -333.14337 196.68921 l -330.82431 197.76967 l -330.82431 199.50896 l -330.61349 199.50896 l -330.61349 200.29953 l -329.7175 200.35223 l -329.24313 200.66847 l -328.55798 200.66847 l -328.03091 200.48401 l -326.8187 200.64212 l -326.34433 201.77528 l -325.87 201.88071 l -325.18481 203.75175 l -323.18201 205.30656 l -322.70764 207.33572 l -322.0752 207.99455 l -321.91708 208.52161 l -318.59662 208.65337 l -318.59662 208.62701 l -318.64932 207.9682 l -319.2291 207.57291 l -319.70343 206.80867 l -319.59802 206.30797 l -320.12509 205.28021 l -320.91568 204.33151 l -321.39001 204.09433 l -321.81165 203.25105 l -321.81165 202.46046 l -322.33871 201.56447 l -323.34012 201.03741 l -324.28882 199.53531 l -324.28882 199.50896 l -325.0267 198.95554 l -326.39703 198.79742 l -327.55658 197.79602 l -328.29443 197.40073 l -329.50668 196.18851 l -329.13773 194.37016 l -329.66479 193.10522 l -329.87561 192.34099 l -330.82431 191.33958 l -332.30008 190.68077 l -333.40689 190.07466 l -334.35559 188.54619 l -334.82993 187.65019 l -335.88403 187.65019 l -336.78003 188.28267 l -338.15039 188.17726 l -339.67883 188.49348 l -340.31131 188.51984 l -h -S -/DeviceRGB {} CS -[0.1647 0.0196 0.5765] SC -/DeviceRGB {} cs -[0.1647 0.0196 0.5765] sc -394.07098 256.8526 m -395.1778 256.74719 l -396.96979 257.16882 l -397.33875 256.98438 l -398.34015 256.93167 l -398.86719 256.48367 l -399.76318 256.51001 l -401.34436 255.9566 l -402.50388 255.11333 l -402.7674 255.77214 l -402.71469 257.22156 l -402.8728 258.51282 l -402.92554 260.77917 l -403.18906 261.51706 l -402.7674 262.5448 l -402.18765 263.57257 l -401.23895 264.46857 l -399.9213 265.02197 l -398.28745 265.73349 l -396.60086 267.31467 l -396.07379 267.57819 l -395.01968 268.63229 l -394.43994 268.97488 l -394.2818 270.00266 l -395.01968 271.10947 l -395.2832 271.9791 l -395.2832 272.40076 l -395.54675 272.34805 l -395.49405 273.77109 l -395.2832 274.45627 l -395.59946 274.69345 l -395.38864 275.3259 l -394.80887 275.8266 l -393.59665 276.3273 l -391.80466 277.11789 l -391.17218 277.6713 l -391.33029 278.2774 l -391.69925 278.38281 l -391.54111 279.14706 l -390.4343 279.14706 l -390.32889 278.48825 l -390.11807 277.82941 l -389.95996 277.30237 l -390.22348 275.66849 l -389.85455 274.64072 l -389.16937 272.58521 l -390.69785 270.92499 l -391.06677 269.84451 l -391.33029 269.71277 l -391.4884 268.86948 l -391.22488 268.42148 l -391.27759 267.341 l -391.59384 266.31326 l -391.59384 264.46857 l -390.80325 263.9942 l -390.11807 263.88879 l -389.80185 263.51987 l -389.11667 263.22998 l -387.90445 263.25632 l -387.79901 262.70291 l -387.6936 261.6488 l -392.12088 260.46292 l -392.96417 261.1481 l -393.3858 261.01636 l -393.96558 261.38528 l -394.01828 261.99139 l -393.70206 262.65021 l -393.80746 263.67798 l -394.80887 264.60031 l -395.2305 263.57257 l -395.86298 263.28268 l -395.75757 261.38528 l -395.12509 260.33118 l -394.59805 259.85681 l -394.07098 259.88318 l -393.70206 257.98578 l -394.07098 256.8526 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -394.07098 256.8526 m -395.1778 256.74719 l -396.96979 257.16882 l -397.33875 256.98438 l -398.34015 256.93167 l -398.86719 256.48367 l -399.76318 256.51001 l -401.34436 255.9566 l -402.50388 255.11333 l -402.7674 255.77214 l -402.71469 257.22156 l -402.8728 258.51282 l -402.92554 260.77917 l -403.18906 261.51706 l -402.7674 262.5448 l -402.18765 263.57257 l -401.23895 264.46857 l -399.9213 265.02197 l -398.28745 265.73349 l -396.60086 267.31467 l -396.07379 267.57819 l -395.01968 268.63229 l -394.43994 268.97488 l -394.2818 270.00266 l -395.01968 271.10947 l -395.2832 271.9791 l -395.2832 272.40076 l -395.54675 272.34805 l -395.49405 273.77109 l -395.2832 274.45627 l -395.59946 274.69345 l -395.38864 275.3259 l -394.80887 275.8266 l -393.59665 276.3273 l -391.80466 277.11789 l -391.17218 277.6713 l -391.33029 278.2774 l -391.69925 278.38281 l -391.54111 279.14706 l -390.4343 279.14706 l -390.32889 278.48825 l -390.11807 277.82941 l -389.95996 277.30237 l -390.22348 275.66849 l -389.85455 274.64072 l -389.16937 272.58521 l -390.69785 270.92499 l -391.06677 269.84451 l -391.33029 269.71277 l -391.4884 268.86948 l -391.22488 268.42148 l -391.27759 267.341 l -391.59384 266.31326 l -391.59384 264.46857 l -390.80325 263.9942 l -390.11807 263.88879 l -389.80185 263.51987 l -389.11667 263.22998 l -387.90445 263.25632 l -387.79901 262.70291 l -387.6936 261.6488 l -392.12088 260.46292 l -392.96417 261.1481 l -393.3858 261.01636 l -393.96558 261.38528 l -394.01828 261.99139 l -393.70206 262.65021 l -393.80746 263.67798 l -394.80887 264.60031 l -395.2305 263.57257 l -395.86298 263.28268 l -395.75757 261.38528 l -395.12509 260.33118 l -394.59805 259.85681 l -394.07098 259.88318 l -393.70206 257.98578 l -394.07098 256.8526 l -h -S -/DeviceRGB {} CS -[0.8157 0.302 0.451] SC -/DeviceRGB {} cs -[0.8157 0.302 0.451] sc -490.04782 210.10277 m -489.20453 210.44536 l -488.36124 211.07782 l -487.30713 211.15688 l -486.67465 212.73805 l -486.04221 213.00157 l -486.78006 214.29286 l -487.67606 215.34697 l -488.30853 216.32202 l -487.72876 217.58696 l -487.25443 217.85049 l -487.57065 218.58836 l -488.57205 219.74789 l -488.73019 220.56482 l -488.73019 221.25 l -489.30994 222.59399 l -488.46664 223.96432 l -487.78149 225.46645 l -487.62335 224.35962 l -488.09772 223.25281 l -487.57065 222.38316 l -487.72876 220.802 l -487.09631 220.03777 l -486.62195 218.27213 l -486.35843 216.42743 l -485.72595 215.21521 l -484.77725 215.95308 l -483.0907 217.0072 l -482.30011 216.87543 l -481.40411 216.53285 l -481.87845 214.71451 l -481.56223 213.34416 l -480.45541 211.65758 l -480.61353 211.13052 l -479.77023 210.94606 l -478.71613 209.73383 l -478.61072 208.57431 l -479.13776 208.78513 l -479.13776 207.73102 l -479.87564 207.38843 l -479.71753 206.75597 l -480.08646 206.25526 l -480.13916 204.75316 l -481.246 205.09573 l -481.93115 203.88351 l -481.98386 203.17198 l -482.77444 201.93341 l -482.77444 201.09012 l -484.67184 200.08871 l -485.67325 200.35223 l -485.56784 199.45624 l -486.09491 199.19272 l -485.9895 198.63931 l -486.83279 198.50754 l -487.30713 199.37718 l -487.93961 199.71977 l -487.99231 200.85294 l -487.93961 202.06517 l -486.56924 203.2774 l -486.35843 205.01668 l -487.93961 204.77951 l -488.25583 206.1235 l -489.20453 206.41338 l -488.7829 207.62561 l -489.88971 208.17902 l -490.52216 208.44255 l -491.57629 208.0209 l -491.629 208.62701 l -490.36404 209.57571 l -490.04782 210.10277 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -490.04782 210.10277 m -489.20453 210.44536 l -488.36124 211.07782 l -487.30713 211.15688 l -486.67465 212.73805 l -486.04221 213.00157 l -486.78006 214.29286 l -487.67606 215.34697 l -488.30853 216.32202 l -487.72876 217.58696 l -487.25443 217.85049 l -487.57065 218.58836 l -488.57205 219.74789 l -488.73019 220.56482 l -488.73019 221.25 l -489.30994 222.59399 l -488.46664 223.96432 l -487.78149 225.46645 l -487.62335 224.35962 l -488.09772 223.25281 l -487.57065 222.38316 l -487.72876 220.802 l -487.09631 220.03777 l -486.62195 218.27213 l -486.35843 216.42743 l -485.72595 215.21521 l -484.77725 215.95308 l -483.0907 217.0072 l -482.30011 216.87543 l -481.40411 216.53285 l -481.87845 214.71451 l -481.56223 213.34416 l -480.45541 211.65758 l -480.61353 211.13052 l -479.77023 210.94606 l -478.71613 209.73383 l -478.61072 208.57431 l -479.13776 208.78513 l -479.13776 207.73102 l -479.87564 207.38843 l -479.71753 206.75597 l -480.08646 206.25526 l -480.13916 204.75316 l -481.246 205.09573 l -481.93115 203.88351 l -481.98386 203.17198 l -482.77444 201.93341 l -482.77444 201.09012 l -484.67184 200.08871 l -485.67325 200.35223 l -485.56784 199.45624 l -486.09491 199.19272 l -485.9895 198.63931 l -486.83279 198.50754 l -487.30713 199.37718 l -487.93961 199.71977 l -487.99231 200.85294 l -487.93961 202.06517 l -486.56924 203.2774 l -486.35843 205.01668 l -487.93961 204.77951 l -488.25583 206.1235 l -489.20453 206.41338 l -488.7829 207.62561 l -489.88971 208.17902 l -490.52216 208.44255 l -491.57629 208.0209 l -491.629 208.62701 l -490.36404 209.57571 l -490.04782 210.10277 l -h -S -/DeviceRGB {} CS -[0.5765 0.0706 0.6275] SC -/DeviceRGB {} cs -[0.5765 0.0706 0.6275] sc -372.61981 276.24826 m -372.61981 281.67691 l -371.30219 282.41479 l -370.5116 282.5202 l -369.6156 282.23035 l -368.93042 282.12491 l -368.7196 281.5188 l -368.13986 281.09717 l -367.40198 281.83505 l -366.34787 280.72821 l -365.7681 279.64777 l -365.45187 278.2247 l -365.08292 277.17059 l -364.60858 274.9306 l -364.55588 273.16498 l -364.39777 272.37439 l -363.81799 271.76828 l -363.0274 270.55606 l -362.28952 268.79041 l -361.9733 267.86807 l -360.76108 266.44501 l -360.65567 265.3382 l -361.39352 265.04831 l -362.23682 264.81116 l -363.18552 264.83749 l -364.08151 265.49631 l -364.29236 265.3909 l -370.24808 265.3382 l -371.24948 266.04971 l -374.78076 266.26056 l -377.46875 265.65442 l -378.68097 265.31186 l -379.62967 265.3909 l -380.20941 265.73349 l -380.20941 265.86526 l -379.41885 266.18149 l -378.94449 266.18149 l -377.99579 266.76126 l -377.46875 266.15512 l -375.20239 266.68219 l -374.09558 266.70856 l -374.04288 271.92639 l -372.61981 271.9791 l -372.61981 276.24826 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -372.61981 276.24826 m -372.61981 281.67691 l -371.30219 282.41479 l -370.5116 282.5202 l -369.6156 282.23035 l -368.93042 282.12491 l -368.7196 281.5188 l -368.13986 281.09717 l -367.40198 281.83505 l -366.34787 280.72821 l -365.7681 279.64777 l -365.45187 278.2247 l -365.08292 277.17059 l -364.60858 274.9306 l -364.55588 273.16498 l -364.39777 272.37439 l -363.81799 271.76828 l -363.0274 270.55606 l -362.28952 268.79041 l -361.9733 267.86807 l -360.76108 266.44501 l -360.65567 265.3382 l -361.39352 265.04831 l -362.23682 264.81116 l -363.18552 264.83749 l -364.08151 265.49631 l -364.29236 265.3909 l -370.24808 265.3382 l -371.24948 266.04971 l -374.78076 266.26056 l -377.46875 265.65442 l -378.68097 265.31186 l -379.62967 265.3909 l -380.20941 265.73349 l -380.20941 265.86526 l -379.41885 266.18149 l -378.94449 266.18149 l -377.99579 266.76126 l -377.46875 266.15512 l -375.20239 266.68219 l -374.09558 266.70856 l -374.04288 271.92639 l -372.61981 271.9791 l -372.61981 276.24826 l -h -S -/DeviceRGB {} CS -[0.851 0.349 0.4157] SC -/DeviceRGB {} cs -[0.851 0.349 0.4157] sc -472.49686 199.19272 m -472.39145 199.82518 l -472.60226 200.74753 l -472.39145 201.32729 l -471.17923 201.35365 l -469.43994 201.01106 l -468.28043 200.8793 l -467.43713 200.14142 l -465.43433 199.9306 l -463.53693 199.11366 l -462.16656 198.40213 l -460.74353 197.84872 l -461.32327 196.47838 l -462.21927 195.81956 l -462.85175 195.47697 l -464.01126 195.92497 l -465.48703 196.87367 l -466.33032 197.08449 l -466.80466 197.76967 l -467.9642 198.05956 l -469.12372 198.71837 l -470.8103 199.06096 l -472.49686 199.19272 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -472.49686 199.19272 m -472.39145 199.82518 l -472.60226 200.74753 l -472.39145 201.32729 l -471.17923 201.35365 l -469.43994 201.01106 l -468.28043 200.8793 l -467.43713 200.14142 l -465.43433 199.9306 l -463.53693 199.11366 l -462.16656 198.40213 l -460.74353 197.84872 l -461.32327 196.47838 l -462.21927 195.81956 l -462.85175 195.47697 l -464.01126 195.92497 l -465.48703 196.87367 l -466.33032 197.08449 l -466.80466 197.76967 l -467.9642 198.05956 l -469.12372 198.71837 l -470.8103 199.06096 l -472.49686 199.19272 l -h -S -/DeviceRGB {} CS -[0.9725 0.8667 0.1412] SC -/DeviceRGB {} cs -[0.9725 0.8667 0.1412] sc -353.59311 161.719055 m -353.85663 162.193405 l -353.54041 163.537399 l -353.17148 164.090805 l -352.27548 164.090805 l -352.539 165.619278 l -351.69571 165.276688 l -350.79971 164.644226 l -349.42938 164.960449 l -348.37527 164.82869 l -349.11313 164.433395 l -350.37808 162.272476 l -352.38089 161.666351 l -353.59311 161.719055 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -353.59311 161.719055 m -353.85663 162.193405 l -353.54041 163.537399 l -353.17148 164.090805 l -352.27548 164.090805 l -352.539 165.619278 l -351.69571 165.276688 l -350.79971 164.644226 l -349.42938 164.960449 l -348.37527 164.82869 l -349.11313 164.433395 l -350.37808 162.272476 l -352.38089 161.666351 l -353.59311 161.719055 l -h -S -/DeviceRGB {} CS -[0.9686 0.8824 0.1412] SC -/DeviceRGB {} cs -[0.9686 0.8824 0.1412] sc -602.46881 298.6481 m -601.88904 299.43869 l -601.15112 300.44009 l -600.04431 301.01987 l -599.78082 300.65094 l -599.14832 300.44009 l -599.99164 299.22787 l -599.51727 298.41095 l -597.9361 297.83118 l -597.98883 297.30414 l -599.04291 296.80341 l -599.30646 295.67026 l -599.25372 294.72156 l -598.62128 293.74649 l -598.67401 293.48297 l -597.98883 292.87686 l -596.82928 291.58557 l -596.19684 290.5578 l -596.77661 290.42606 l -597.56714 291.24298 l -598.67401 291.61191 l -599.09564 292.92957 l -600.14972 294.45804 l -600.20245 293.48297 l -600.88763 293.87827 l -601.09845 294.98508 l -602.25793 295.45944 l -603.25934 295.56485 l -604.10266 295.01144 l -604.84052 295.16956 l -604.47162 296.48718 l -604.04993 297.33047 l -602.89044 297.30414 l -602.52148 297.75214 l -602.67963 298.38458 l -602.46881 298.6481 l -h -591.87494 303.76056 m -593.13989 302.99634 l -593.98322 302.23209 l -594.66833 301.15164 l -595.19543 300.78268 l -595.45892 299.96576 l -596.46033 299.28058 l -596.77661 299.91306 l -597.09283 300.4928 l -598.14691 299.91306 l -598.5686 300.51917 l -598.5686 301.15164 l -598.0415 301.83679 l -597.09283 302.8909 l -596.35492 303.49704 l -596.88202 304.20856 l -595.72247 304.20856 l -594.51025 304.76196 l -594.08862 305.737 l -593.2453 307.21277 l -592.13849 307.87158 l -591.40063 308.26688 l -590.03027 308.24054 l -589.08154 307.76617 l -587.50043 307.66077 l -587.23688 307.1337 l -588.02747 306.02689 l -589.87213 304.60385 l -590.82086 304.31396 l -591.87494 303.76056 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -602.46881 298.6481 m -601.88904 299.43869 l -601.15112 300.44009 l -600.04431 301.01987 l -599.78082 300.65094 l -599.14832 300.44009 l -599.99164 299.22787 l -599.51727 298.41095 l -597.9361 297.83118 l -597.98883 297.30414 l -599.04291 296.80341 l -599.30646 295.67026 l -599.25372 294.72156 l -598.62128 293.74649 l -598.67401 293.48297 l -597.98883 292.87686 l -596.82928 291.58557 l -596.19684 290.5578 l -596.77661 290.42606 l -597.56714 291.24298 l -598.67401 291.61191 l -599.09564 292.92957 l -600.14972 294.45804 l -600.20245 293.48297 l -600.88763 293.87827 l -601.09845 294.98508 l -602.25793 295.45944 l -603.25934 295.56485 l -604.10266 295.01144 l -604.84052 295.16956 l -604.47162 296.48718 l -604.04993 297.33047 l -602.89044 297.30414 l -602.52148 297.75214 l -602.67963 298.38458 l -602.46881 298.6481 l -h -591.87494 303.76056 m -593.13989 302.99634 l -593.98322 302.23209 l -594.66833 301.15164 l -595.19543 300.78268 l -595.45892 299.96576 l -596.46033 299.28058 l -596.77661 299.91306 l -597.09283 300.4928 l -598.14691 299.91306 l -598.5686 300.51917 l -598.5686 301.15164 l -598.0415 301.83679 l -597.09283 302.8909 l -596.35492 303.49704 l -596.88202 304.20856 l -595.72247 304.20856 l -594.51025 304.76196 l -594.08862 305.737 l -593.2453 307.21277 l -592.13849 307.87158 l -591.40063 308.26688 l -590.03027 308.24054 l -589.08154 307.76617 l -587.50043 307.66077 l -587.23688 307.1337 l -588.02747 306.02689 l -589.87213 304.60385 l -590.82086 304.31396 l -591.87494 303.76056 l -h -S -/DeviceRGB {} CS -[0.9843 0.6196 0.2314] SC -/DeviceRGB {} cs -[0.9843 0.6196 0.2314] sc -221.03862 223.99069 m -220.66968 224.30692 l -220.24805 224.20151 l -220.03722 223.88527 l -219.56287 223.77986 l -219.19392 223.96432 l -218.24522 223.56905 l -218.03441 223.77986 l -217.50735 223.30551 l -216.82217 222.72575 l -216.50595 222.22505 l -215.87347 221.7507 l -215.18831 221.09187 l -215.34642 220.88106 l -215.55725 221.09187 l -215.66266 220.98647 l -216.13701 220.93376 l -216.29512 220.59117 l -216.50595 220.59117 l -216.50595 219.8533 l -216.82217 219.82695 l -217.13841 219.8533 l -217.45465 219.45801 l -217.8763 219.74789 l -218.03441 219.56342 l -218.29793 219.37895 l -218.825 218.98366 l -218.825 218.69377 l -218.98311 218.69377 l -219.19392 218.3512 l -219.35205 218.29848 l -219.56287 218.53566 l -219.8791 218.58836 l -220.19533 218.4039 l -220.56427 218.4039 l -221.09132 218.21942 l -221.30215 218.00861 l -221.7765 218.03496 l -221.6711 218.19307 l -221.56567 218.50931 l -221.7238 219.06271 l -221.40756 219.53706 l -221.24945 220.14317 l -221.19675 220.77565 l -221.24945 221.17094 l -221.30215 221.82976 l -221.09132 221.96152 l -220.93321 222.59399 l -221.03862 222.98927 l -220.7224 223.35822 l -220.8278 223.75351 l -221.03862 223.99069 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -221.03862 223.99069 m -220.66968 224.30692 l -220.24805 224.20151 l -220.03722 223.88527 l -219.56287 223.77986 l -219.19392 223.96432 l -218.24522 223.56905 l -218.03441 223.77986 l -217.50735 223.30551 l -216.82217 222.72575 l -216.50595 222.22505 l -215.87347 221.7507 l -215.18831 221.09187 l -215.34642 220.88106 l -215.55725 221.09187 l -215.66266 220.98647 l -216.13701 220.93376 l -216.29512 220.59117 l -216.50595 220.59117 l -216.50595 219.8533 l -216.82217 219.82695 l -217.13841 219.8533 l -217.45465 219.45801 l -217.8763 219.74789 l -218.03441 219.56342 l -218.29793 219.37895 l -218.825 218.98366 l -218.825 218.69377 l -218.98311 218.69377 l -219.19392 218.3512 l -219.35205 218.29848 l -219.56287 218.53566 l -219.8791 218.58836 l -220.19533 218.4039 l -220.56427 218.4039 l -221.09132 218.21942 l -221.30215 218.00861 l -221.7765 218.03496 l -221.6711 218.19307 l -221.56567 218.50931 l -221.7238 219.06271 l -221.40756 219.53706 l -221.24945 220.14317 l -221.19675 220.77565 l -221.24945 221.17094 l -221.30215 221.82976 l -221.09132 221.96152 l -220.93321 222.59399 l -221.03862 222.98927 l -220.7224 223.35822 l -220.8278 223.75351 l -221.03862 223.99069 l -h -S -/DeviceRGB {} CS -[0.6902 0.1686 0.5608] SC -/DeviceRGB {} cs -[0.6902 0.1686 0.5608] sc -365.24106 206.51878 m -365.60999 208.81148 l -366.13705 209.18042 l -366.18976 209.65477 l -366.7695 210.15547 l -366.45328 210.78795 l -365.8735 213.76581 l -365.8208 215.66321 l -363.9761 217.03355 l -363.34366 218.95731 l -363.9234 219.51071 l -363.9234 220.45941 l -364.8721 220.48576 l -364.71399 221.17094 l -364.29236 221.25 l -364.23962 221.72435 l -363.9761 221.7507 l -362.9747 220.14317 l -362.65848 220.09047 l -361.49896 220.90741 l -360.39212 220.48576 l -359.60156 220.40671 l -359.1799 220.61752 l -358.28391 220.56482 l -357.44061 221.1973 l -356.70276 221.22365 l -354.91077 220.45941 l -354.22559 220.82835 l -353.4877 220.802 l -352.96066 220.2486 l -351.48489 219.69518 l -349.90372 219.87965 l -349.53479 220.19588 l -349.32397 221.03917 l -348.90231 221.61894 l -348.79691 222.93657 l -347.69009 222.09329 l -347.16302 222.09329 l -346.63599 222.51492 l -346.68869 221.51352 l -345.00211 221.1973 l -344.9494 220.48576 l -344.10611 219.51071 l -343.948 218.8519 l -344.05341 218.14037 l -345.00211 218.08766 l -345.52917 217.56061 l -347.53198 217.4552 l -348.84961 217.21802 l -348.95502 216.29567 l -349.74561 215.32062 l -349.74561 211.94746 l -351.80112 211.315 l -356.07028 208.44255 l -361.0773 205.64915 l -363.39636 206.28162 l -364.18692 207.0722 l -365.24106 206.51878 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -365.24106 206.51878 m -365.60999 208.81148 l -366.13705 209.18042 l -366.18976 209.65477 l -366.7695 210.15547 l -366.45328 210.78795 l -365.8735 213.76581 l -365.8208 215.66321 l -363.9761 217.03355 l -363.34366 218.95731 l -363.9234 219.51071 l -363.9234 220.45941 l -364.8721 220.48576 l -364.71399 221.17094 l -364.29236 221.25 l -364.23962 221.72435 l -363.9761 221.7507 l -362.9747 220.14317 l -362.65848 220.09047 l -361.49896 220.90741 l -360.39212 220.48576 l -359.60156 220.40671 l -359.1799 220.61752 l -358.28391 220.56482 l -357.44061 221.1973 l -356.70276 221.22365 l -354.91077 220.45941 l -354.22559 220.82835 l -353.4877 220.802 l -352.96066 220.2486 l -351.48489 219.69518 l -349.90372 219.87965 l -349.53479 220.19588 l -349.32397 221.03917 l -348.90231 221.61894 l -348.79691 222.93657 l -347.69009 222.09329 l -347.16302 222.09329 l -346.63599 222.51492 l -346.68869 221.51352 l -345.00211 221.1973 l -344.9494 220.48576 l -344.10611 219.51071 l -343.948 218.8519 l -344.05341 218.14037 l -345.00211 218.08766 l -345.52917 217.56061 l -347.53198 217.4552 l -348.84961 217.21802 l -348.95502 216.29567 l -349.74561 215.32062 l -349.74561 211.94746 l -351.80112 211.315 l -356.07028 208.44255 l -361.0773 205.64915 l -363.39636 206.28162 l -364.18692 207.0722 l -365.24106 206.51878 l -h -S -/DeviceRGB {} CS -[0.3647 0.0078 0.6431] SC -/DeviceRGB {} cs -[0.3647 0.0078 0.6431] sc -347.42657 230.84241 m -347.53198 228.47066 l -347.47928 227.54831 l -347.7428 226.62596 l -348.21716 226.17796 l -348.90231 225.25562 l -348.7442 224.88667 l -349.06042 224.28056 l -348.7442 223.41092 l -348.79691 222.93657 l -348.90231 221.61894 l -349.32397 221.03917 l -349.53479 220.19588 l -349.90372 219.87965 l -351.48489 219.69518 l -352.96066 220.2486 l -353.4877 220.802 l -354.22559 220.82835 l -354.91077 220.45941 l -356.70276 221.22365 l -357.44061 221.1973 l -358.28391 220.56482 l -359.1799 220.61752 l -359.60156 220.40671 l -360.39212 220.48576 l -361.49896 220.90741 l -362.65848 220.09047 l -362.9747 220.14317 l -363.9761 221.7507 l -364.23962 221.72435 l -364.8194 222.30411 l -364.66129 222.56764 l -364.60858 223.06834 l -363.34366 224.20151 l -362.9747 225.12386 l -362.76389 225.88809 l -362.44766 226.20432 l -362.18411 227.23207 l -361.39352 227.8382 l -361.18271 228.57607 l -360.81378 229.18219 l -360.70837 229.7883 l -359.70697 230.26265 l -358.86368 229.68289 l -358.33661 229.68289 l -357.44061 230.55252 l -357.01898 230.57889 l -356.3338 231.97557 l -355.96487 233.00334 l -354.4364 233.5304 l -353.85663 233.45134 l -353.32959 233.79391 l -352.11737 233.76756 l -351.32678 232.84521 l -350.85242 231.79111 l -349.85101 230.81606 l -348.7442 230.84241 l -347.42657 230.84241 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -347.42657 230.84241 m -347.53198 228.47066 l -347.47928 227.54831 l -347.7428 226.62596 l -348.21716 226.17796 l -348.90231 225.25562 l -348.7442 224.88667 l -349.06042 224.28056 l -348.7442 223.41092 l -348.79691 222.93657 l -348.90231 221.61894 l -349.32397 221.03917 l -349.53479 220.19588 l -349.90372 219.87965 l -351.48489 219.69518 l -352.96066 220.2486 l -353.4877 220.802 l -354.22559 220.82835 l -354.91077 220.45941 l -356.70276 221.22365 l -357.44061 221.1973 l -358.28391 220.56482 l -359.1799 220.61752 l -359.60156 220.40671 l -360.39212 220.48576 l -361.49896 220.90741 l -362.65848 220.09047 l -362.9747 220.14317 l -363.9761 221.7507 l -364.23962 221.72435 l -364.8194 222.30411 l -364.66129 222.56764 l -364.60858 223.06834 l -363.34366 224.20151 l -362.9747 225.12386 l -362.76389 225.88809 l -362.44766 226.20432 l -362.18411 227.23207 l -361.39352 227.8382 l -361.18271 228.57607 l -360.81378 229.18219 l -360.70837 229.7883 l -359.70697 230.26265 l -358.86368 229.68289 l -358.33661 229.68289 l -357.44061 230.55252 l -357.01898 230.57889 l -356.3338 231.97557 l -355.96487 233.00334 l -354.4364 233.5304 l -353.85663 233.45134 l -353.32959 233.79391 l -352.11737 233.76756 l -351.32678 232.84521 l -350.85242 231.79111 l -349.85101 230.81606 l -348.7442 230.84241 l -347.42657 230.84241 l -h -S -/DeviceRGB {} CS -[0.9686 0.8824 0.1412] SC -/DeviceRGB {} cs -[0.9686 0.8824 0.1412] sc -365.66269 123.375763 m -366.24246 122.875061 l -368.35068 122.822357 l -370.19537 123.323059 l -375.04428 124.403526 l -371.35489 124.983284 l -370.5643 126.063751 l -369.24667 126.35363 l -368.56149 127.565857 l -366.7695 127.618561 l -363.65988 126.722565 l -364.97751 126.195511 l -362.76389 125.773865 l -359.91779 124.535286 l -358.81097 123.402115 l -362.76389 122.875061 l -363.60718 123.375763 l -365.66269 123.375763 l -h -389.01126 138.186035 m -386.53409 138.765793 l -385.37457 138.897552 l -385.95435 137.869797 l -384.10965 137.290039 l -381.84329 137.790741 l -381.10541 138.844849 l -379.73508 139.503662 l -378.1539 139.161087 l -376.2038 139.213791 l -374.62265 138.449554 l -373.72665 138.844849 l -372.83066 138.897552 l -372.61981 139.846252 l -369.82642 139.635437 l -369.45749 140.452362 l -368.03445 140.42601 l -367.08575 141.480133 l -365.60999 143.087646 l -363.34366 145.16951 l -363.8707 145.670212 l -363.34366 146.249985 l -361.92059 146.223633 l -360.97189 147.593964 l -361.0773 149.517731 l -361.9733 150.281952 l -361.49896 151.994888 l -360.28671 152.996292 l -359.65427 153.839584 l -358.65286 152.943588 l -355.75403 154.630157 l -353.80392 154.972748 l -351.80112 154.234879 l -351.27408 152.653702 l -350.79971 149.280548 l -352.17007 148.331848 l -356.01758 147.119614 l -358.91638 145.591156 l -361.60437 143.561996 l -365.08292 140.742249 l -367.56009 139.635437 l -371.5657 137.790741 l -374.78076 137.158264 l -377.2052 137.237335 l -379.41885 136.025101 l -382.10681 136.077805 l -384.7421 135.787918 l -389.32748 136.868393 l -387.43008 137.263687 l -389.01126 138.186035 l -h -383.63528 122.796005 m -381.47437 123.586586 l -377.2052 123.771057 l -372.88336 123.533882 l -372.61981 123.112236 l -370.5116 123.085884 l -368.93042 122.427063 l -373.4631 122.005417 l -375.57135 122.374359 l -377.04709 121.926361 l -380.73648 122.295303 l -383.63528 122.796005 l -h -379.68237 126.037399 m -376.41461 126.617157 l -373.83206 126.300926 l -374.83347 125.905632 l -373.99017 125.431282 l -376.99438 125.141403 l -377.57416 125.694809 l -379.68237 126.037399 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -365.66269 123.375763 m -366.24246 122.875061 l -368.35068 122.822357 l -370.19537 123.323059 l -375.04428 124.403526 l -371.35489 124.983284 l -370.5643 126.063751 l -369.24667 126.35363 l -368.56149 127.565857 l -366.7695 127.618561 l -363.65988 126.722565 l -364.97751 126.195511 l -362.76389 125.773865 l -359.91779 124.535286 l -358.81097 123.402115 l -362.76389 122.875061 l -363.60718 123.375763 l -365.66269 123.375763 l -h -389.01126 138.186035 m -386.53409 138.765793 l -385.37457 138.897552 l -385.95435 137.869797 l -384.10965 137.290039 l -381.84329 137.790741 l -381.10541 138.844849 l -379.73508 139.503662 l -378.1539 139.161087 l -376.2038 139.213791 l -374.62265 138.449554 l -373.72665 138.844849 l -372.83066 138.897552 l -372.61981 139.846252 l -369.82642 139.635437 l -369.45749 140.452362 l -368.03445 140.42601 l -367.08575 141.480133 l -365.60999 143.087646 l -363.34366 145.16951 l -363.8707 145.670212 l -363.34366 146.249985 l -361.92059 146.223633 l -360.97189 147.593964 l -361.0773 149.517731 l -361.9733 150.281952 l -361.49896 151.994888 l -360.28671 152.996292 l -359.65427 153.839584 l -358.65286 152.943588 l -355.75403 154.630157 l -353.80392 154.972748 l -351.80112 154.234879 l -351.27408 152.653702 l -350.79971 149.280548 l -352.17007 148.331848 l -356.01758 147.119614 l -358.91638 145.591156 l -361.60437 143.561996 l -365.08292 140.742249 l -367.56009 139.635437 l -371.5657 137.790741 l -374.78076 137.158264 l -377.2052 137.237335 l -379.41885 136.025101 l -382.10681 136.077805 l -384.7421 135.787918 l -389.32748 136.868393 l -387.43008 137.263687 l -389.01126 138.186035 l -h -383.63528 122.796005 m -381.47437 123.586586 l -377.2052 123.771057 l -372.88336 123.533882 l -372.61981 123.112236 l -370.5116 123.085884 l -368.93042 122.427063 l -373.4631 122.005417 l -375.57135 122.374359 l -377.04709 121.926361 l -380.73648 122.295303 l -383.63528 122.796005 l -h -379.68237 126.037399 m -376.41461 126.617157 l -373.83206 126.300926 l -374.83347 125.905632 l -373.99017 125.431282 l -376.99438 125.141403 l -377.57416 125.694809 l -379.68237 126.037399 l -h -S -/DeviceRGB {} CS -[0.9882 0.7137 0.1843] SC -/DeviceRGB {} cs -[0.9882 0.7137 0.1843] sc -424.32397 206.75597 m -424.37668 206.17621 l -424.79834 205.57008 l -424.79834 204.96397 l -425.43079 204.6741 l -425.16727 204.46327 l -425.32538 203.51457 l -426.06326 203.51457 l -426.69574 204.51598 l -427.53903 205.04303 l -428.59314 205.22751 l -429.48914 205.49103 l -430.12158 206.33432 l -430.54324 206.83502 l -431.07028 207.0195 l -431.07028 207.33572 l -430.54324 208.20537 l -430.27972 208.62701 l -429.64725 209.10136 l -429.12018 210.10277 l -428.43503 210.02371 l -428.17148 210.3663 l -427.90796 211.10417 l -428.11877 212.07922 l -427.96066 212.2637 l -427.27548 212.2637 l -426.37949 212.81711 l -426.22137 213.52863 l -425.90515 213.81851 l -424.95645 213.81851 l -424.42938 214.18745 l -424.42938 214.76721 l -423.69153 215.18886 l -422.90094 215.0571 l -421.89954 215.53145 l -421.26706 215.63686 l -420.79269 214.6091 l -419.63318 212.18463 l -424.00775 210.73523 l -425.00916 207.78372 l -424.32397 206.75597 l -h -425.85245 202.35506 m -425.58893 201.85435 l -426.01056 201.35365 l -426.16867 201.48541 l -426.06326 202.09152 l -425.85245 202.35506 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -424.32397 206.75597 m -424.37668 206.17621 l -424.79834 205.57008 l -424.79834 204.96397 l -425.43079 204.6741 l -425.16727 204.46327 l -425.32538 203.51457 l -426.06326 203.51457 l -426.69574 204.51598 l -427.53903 205.04303 l -428.59314 205.22751 l -429.48914 205.49103 l -430.12158 206.33432 l -430.54324 206.83502 l -431.07028 207.0195 l -431.07028 207.33572 l -430.54324 208.20537 l -430.27972 208.62701 l -429.64725 209.10136 l -429.12018 210.10277 l -428.43503 210.02371 l -428.17148 210.3663 l -427.90796 211.10417 l -428.11877 212.07922 l -427.96066 212.2637 l -427.27548 212.2637 l -426.37949 212.81711 l -426.22137 213.52863 l -425.90515 213.81851 l -424.95645 213.81851 l -424.42938 214.18745 l -424.42938 214.76721 l -423.69153 215.18886 l -422.90094 215.0571 l -421.89954 215.53145 l -421.26706 215.63686 l -420.79269 214.6091 l -419.63318 212.18463 l -424.00775 210.73523 l -425.00916 207.78372 l -424.32397 206.75597 l -h -425.85245 202.35506 m -425.58893 201.85435 l -426.01056 201.35365 l -426.16867 201.48541 l -426.06326 202.09152 l -425.85245 202.35506 l -h -S -/DeviceRGB {} CS -[0.8824 0.3961 0.3804] SC -/DeviceRGB {} cs -[0.8824 0.3961 0.3804] sc -457.42307 188.04549 m -456.05273 189.25772 l -454.41885 189.49489 l -452.20523 189.12596 l -451.46735 189.75842 l -451.99442 191.04971 l -452.46875 192.02477 l -453.68097 192.76263 l -452.41605 193.60593 l -452.46875 194.66003 l -451.04572 196.10944 l -450.09702 197.61156 l -448.56854 199.14001 l -446.88196 199.03461 l -445.24808 200.56306 l -446.19678 201.22188 l -446.40762 202.35506 l -447.19818 203.09293 l -447.51443 204.33151 l -444.29938 204.33151 l -443.29797 205.30656 l -442.24387 204.93762 l -441.76953 203.88351 l -440.66272 202.7767 l -437.97473 203.06657 l -435.60297 203.09293 l -433.54745 203.2774 l -434.07452 201.59082 l -436.18274 200.82658 l -436.07733 200.16777 l -435.39215 199.9306 l -435.33945 198.63931 l -433.91638 197.98048 l -433.33664 197.11086 l -432.59875 196.32027 l -435.07593 197.08449 l -436.55167 196.87367 l -437.39496 197.05814 l -437.71118 196.71556 l -438.71259 196.84732 l -440.60999 196.24121 l -440.66272 195.00262 l -441.50598 194.18568 l -442.56012 194.18568 l -442.71823 193.76404 l -443.87775 193.57957 l -444.40482 193.71133 l -444.98456 193.28969 l -444.87915 192.42006 l -445.51163 191.52406 l -446.46033 191.15512 l -445.88055 190.20642 l -447.25092 190.23277 l -447.67255 189.70572 l -447.61984 189.15231 l -448.35773 188.54619 l -448.14688 187.80832 l -447.83066 187.20221 l -448.67395 186.54338 l -450.25513 186.25349 l -451.94171 186.06903 l -452.67957 185.80551 l -453.52286 185.64738 l -454.62967 186.33257 l -455.05133 187.43938 l -457.42307 188.04549 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -457.42307 188.04549 m -456.05273 189.25772 l -454.41885 189.49489 l -452.20523 189.12596 l -451.46735 189.75842 l -451.99442 191.04971 l -452.46875 192.02477 l -453.68097 192.76263 l -452.41605 193.60593 l -452.46875 194.66003 l -451.04572 196.10944 l -450.09702 197.61156 l -448.56854 199.14001 l -446.88196 199.03461 l -445.24808 200.56306 l -446.19678 201.22188 l -446.40762 202.35506 l -447.19818 203.09293 l -447.51443 204.33151 l -444.29938 204.33151 l -443.29797 205.30656 l -442.24387 204.93762 l -441.76953 203.88351 l -440.66272 202.7767 l -437.97473 203.06657 l -435.60297 203.09293 l -433.54745 203.2774 l -434.07452 201.59082 l -436.18274 200.82658 l -436.07733 200.16777 l -435.39215 199.9306 l -435.33945 198.63931 l -433.91638 197.98048 l -433.33664 197.11086 l -432.59875 196.32027 l -435.07593 197.08449 l -436.55167 196.87367 l -437.39496 197.05814 l -437.71118 196.71556 l -438.71259 196.84732 l -440.60999 196.24121 l -440.66272 195.00262 l -441.50598 194.18568 l -442.56012 194.18568 l -442.71823 193.76404 l -443.87775 193.57957 l -444.40482 193.71133 l -444.98456 193.28969 l -444.87915 192.42006 l -445.51163 191.52406 l -446.46033 191.15512 l -445.88055 190.20642 l -447.25092 190.23277 l -447.67255 189.70572 l -447.61984 189.15231 l -448.35773 188.54619 l -448.14688 187.80832 l -447.83066 187.20221 l -448.67395 186.54338 l -450.25513 186.25349 l -451.94171 186.06903 l -452.67957 185.80551 l -453.52286 185.64738 l -454.62967 186.33257 l -455.05133 187.43938 l -457.42307 188.04549 l -h -S -/DeviceRGB {} CS -[0.9882 0.7098 0.1882] SC -/DeviceRGB {} cs -[0.9882 0.7098 0.1882] sc -230.2621 227.31114 m -230.10397 227.52196 l -230.42021 228.3916 l -230.15669 228.81325 l -229.68234 228.70784 l -229.47151 229.41936 l -228.99716 228.99771 l -228.68092 228.20712 l -229.04987 227.81184 l -228.68092 227.73277 l -228.4174 227.23207 l -227.67952 226.83679 l -227.04706 226.91585 l -226.73082 227.4429 l -226.15106 227.81184 l -225.83482 227.86455 l -225.67671 228.15442 l -226.36189 228.94501 l -225.99295 229.12947 l -225.78212 229.36665 l -225.09695 229.41936 l -224.83342 228.54971 l -224.6226 228.81325 l -224.14825 228.70784 l -223.88472 228.12807 l -223.25226 228.02266 l -222.88332 227.86455 l -222.25085 227.86455 l -222.19815 228.18077 l -222.04002 227.96996 l -222.14545 227.68007 l -222.25085 227.36385 l -222.19815 227.10031 l -222.40897 226.9422 l -222.09273 226.70502 l -222.09273 226.12526 l -222.6725 225.9935 l -223.19955 226.52055 l -223.14685 226.83679 l -223.72661 226.8895 l -223.88472 226.78407 l -224.30637 227.12666 l -224.99155 227.02126 l -225.62401 226.65231 l -226.52 226.36244 l -226.99435 225.9408 l -227.83765 226.01985 l -227.78494 226.15161 l -228.57552 226.20432 l -229.20799 226.46785 l -229.73505 226.91585 l -230.2621 227.31114 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -230.2621 227.31114 m -230.10397 227.52196 l -230.42021 228.3916 l -230.15669 228.81325 l -229.68234 228.70784 l -229.47151 229.41936 l -228.99716 228.99771 l -228.68092 228.20712 l -229.04987 227.81184 l -228.68092 227.73277 l -228.4174 227.23207 l -227.67952 226.83679 l -227.04706 226.91585 l -226.73082 227.4429 l -226.15106 227.81184 l -225.83482 227.86455 l -225.67671 228.15442 l -226.36189 228.94501 l -225.99295 229.12947 l -225.78212 229.36665 l -225.09695 229.41936 l -224.83342 228.54971 l -224.6226 228.81325 l -224.14825 228.70784 l -223.88472 228.12807 l -223.25226 228.02266 l -222.88332 227.86455 l -222.25085 227.86455 l -222.19815 228.18077 l -222.04002 227.96996 l -222.14545 227.68007 l -222.25085 227.36385 l -222.19815 227.10031 l -222.40897 226.9422 l -222.09273 226.70502 l -222.09273 226.12526 l -222.6725 225.9935 l -223.19955 226.52055 l -223.14685 226.83679 l -223.72661 226.8895 l -223.88472 226.78407 l -224.30637 227.12666 l -224.99155 227.02126 l -225.62401 226.65231 l -226.52 226.36244 l -226.99435 225.9408 l -227.83765 226.01985 l -227.78494 226.15161 l -228.57552 226.20432 l -229.20799 226.46785 l -229.73505 226.91585 l -230.2621 227.31114 l -h -S -/DeviceRGB {} CS -[0.9686 0.5843 0.2549] SC -/DeviceRGB {} cs -[0.9686 0.5843 0.2549] sc -258.35416 269.52829 m -258.77582 270.34521 l -258.67041 272.34805 l -260.25156 272.61157 l -260.83133 272.32169 l -261.83273 272.71698 l -262.09625 273.16498 l -262.20166 274.50897 l -262.41248 275.06238 l -262.93954 275.14145 l -263.51932 274.90427 l -264.04636 275.16779 l -263.99365 275.95837 l -263.83554 276.828 l -263.51932 277.6713 l -263.30847 278.96259 l -261.99084 280.09576 l -260.83133 280.33295 l -259.14474 280.09576 l -257.66898 279.70047 l -259.14474 277.48685 l -258.93393 276.828 l -257.40546 276.2746 l -255.61348 275.19415 l -254.40125 274.95697 l -251.71326 272.55887 l -252.29303 270.81958 l -252.34573 270.02899 l -253.0309 268.7377 l -255.61348 268.31607 l -256.98383 268.34241 l -258.30145 269.08029 l -258.35416 269.52829 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -258.35416 269.52829 m -258.77582 270.34521 l -258.67041 272.34805 l -260.25156 272.61157 l -260.83133 272.32169 l -261.83273 272.71698 l -262.09625 273.16498 l -262.20166 274.50897 l -262.41248 275.06238 l -262.93954 275.14145 l -263.51932 274.90427 l -264.04636 275.16779 l -263.99365 275.95837 l -263.83554 276.828 l -263.51932 277.6713 l -263.30847 278.96259 l -261.99084 280.09576 l -260.83133 280.33295 l -259.14474 280.09576 l -257.66898 279.70047 l -259.14474 277.48685 l -258.93393 276.828 l -257.40546 276.2746 l -255.61348 275.19415 l -254.40125 274.95697 l -251.71326 272.55887 l -252.29303 270.81958 l -252.34573 270.02899 l -253.0309 268.7377 l -255.61348 268.31607 l -256.98383 268.34241 l -258.30145 269.08029 l -258.35416 269.52829 l -h -S -/DeviceRGB {} CS -[0.9647 0.5725 0.2627] SC -/DeviceRGB {} cs -[0.9647 0.5725 0.2627] sc -241.17215 246.28514 m -239.85451 246.23244 l -239.64369 246.44325 l -238.48416 246.73314 l -236.79759 247.73454 l -236.69217 248.39336 l -236.32324 248.92041 l -236.48135 249.711 l -235.58536 250.13264 l -235.58536 250.73875 l -235.21642 251.00229 l -235.79619 252.31993 l -236.58676 253.21593 l -236.32324 253.84839 l -237.27194 253.92744 l -237.8517 254.71803 l -239.11664 254.74438 l -240.32886 253.90109 l -240.22345 256.11472 l -240.90862 256.27286 l -241.6992 256.03568 l -242.96414 258.38107 l -242.6479 258.88177 l -242.5952 259.90952 l -242.5425 261.1481 l -242.01544 261.88599 l -242.27896 262.43939 l -241.91003 262.91376 l -242.5425 264.15231 l -241.6465 265.73349 l -241.22485 266.49771 l -240.48697 266.86667 l -239.01122 266.02338 l -238.90581 265.41727 l -236.007 263.9415 l -233.37172 262.36032 l -232.2122 261.43799 l -231.63245 260.22577 l -231.84326 259.80411 l -230.63104 257.88037 l -229.15527 255.19238 l -227.78494 252.26723 l -227.20517 251.6084 l -226.73082 250.52794 l -225.62401 249.57924 l -224.5699 248.97313 l -225.04425 248.34065 l -224.30637 246.94395 l -224.78072 245.9162 l -225.94025 244.99385 l -226.09836 245.59996 l -225.67671 245.94255 l -225.72942 246.4696 l -226.36189 246.3642 l -226.94165 246.52231 l -227.57411 247.26019 l -228.3647 246.65408 l -228.68092 245.67903 l -229.57692 244.38774 l -231.31621 243.80798 l -232.89737 242.27951 l -233.37172 241.33081 l -233.1609 240.224 l -233.52985 240.09224 l -234.53125 240.7774 l -235.0056 241.46259 l -235.69077 241.85786 l -236.53406 243.38634 l -237.64087 243.5708 l -238.43146 243.17551 l -238.95851 243.43904 l -239.85451 243.30728 l -240.96133 243.99245 l -240.01262 245.4682 l -240.43427 245.5209 l -241.17215 246.28514 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -241.17215 246.28514 m -239.85451 246.23244 l -239.64369 246.44325 l -238.48416 246.73314 l -236.79759 247.73454 l -236.69217 248.39336 l -236.32324 248.92041 l -236.48135 249.711 l -235.58536 250.13264 l -235.58536 250.73875 l -235.21642 251.00229 l -235.79619 252.31993 l -236.58676 253.21593 l -236.32324 253.84839 l -237.27194 253.92744 l -237.8517 254.71803 l -239.11664 254.74438 l -240.32886 253.90109 l -240.22345 256.11472 l -240.90862 256.27286 l -241.6992 256.03568 l -242.96414 258.38107 l -242.6479 258.88177 l -242.5952 259.90952 l -242.5425 261.1481 l -242.01544 261.88599 l -242.27896 262.43939 l -241.91003 262.91376 l -242.5425 264.15231 l -241.6465 265.73349 l -241.22485 266.49771 l -240.48697 266.86667 l -239.01122 266.02338 l -238.90581 265.41727 l -236.007 263.9415 l -233.37172 262.36032 l -232.2122 261.43799 l -231.63245 260.22577 l -231.84326 259.80411 l -230.63104 257.88037 l -229.15527 255.19238 l -227.78494 252.26723 l -227.20517 251.6084 l -226.73082 250.52794 l -225.62401 249.57924 l -224.5699 248.97313 l -225.04425 248.34065 l -224.30637 246.94395 l -224.78072 245.9162 l -225.94025 244.99385 l -226.09836 245.59996 l -225.67671 245.94255 l -225.72942 246.4696 l -226.36189 246.3642 l -226.94165 246.52231 l -227.57411 247.26019 l -228.3647 246.65408 l -228.68092 245.67903 l -229.57692 244.38774 l -231.31621 243.80798 l -232.89737 242.27951 l -233.37172 241.33081 l -233.1609 240.224 l -233.52985 240.09224 l -234.53125 240.7774 l -235.0056 241.46259 l -235.69077 241.85786 l -236.53406 243.38634 l -237.64087 243.5708 l -238.43146 243.17551 l -238.95851 243.43904 l -239.85451 243.30728 l -240.96133 243.99245 l -240.01262 245.4682 l -240.43427 245.5209 l -241.17215 246.28514 l -h -S -/DeviceRGB {} CS -[0.9686 0.5804 0.2549] SC -/DeviceRGB {} cs -[0.9686 0.5804 0.2549] sc -520.40625 221.40811 m -519.61566 220.27495 l -520.88055 220.32765 l -521.40765 220.85471 l -521.0387 222.11964 l -520.40625 221.40811 l -h -522.9361 225.38739 m -523.30505 224.96574 l -523.46313 224.06975 l -524.30646 223.99069 l -524.04291 224.96574 l -525.14972 223.56905 l -524.99158 224.96574 l -524.46454 225.44009 l -523.99017 226.36244 l -523.56854 226.78407 l -522.67255 225.78267 l -522.9361 225.38739 l -h -528.52289 227.68007 m -528.6283 228.65512 l -528.7337 229.47206 l -528.25934 230.81606 l -527.67957 229.31395 l -526.99445 230.07817 l -527.46875 231.13229 l -527.04712 231.81746 l -525.36053 230.97417 l -524.9389 229.92006 l -525.36053 229.23489 l -524.46454 228.52336 l -523.99017 229.12947 l -523.30505 229.07677 l -522.19824 229.89371 l -521.98737 229.47206 l -522.56714 228.23349 l -523.46313 227.8382 l -524.25372 227.28479 l -524.78076 227.9436 l -525.88757 227.54831 l -526.15112 226.8895 l -527.15253 226.83679 l -527.09985 225.70361 l -528.25934 226.41515 l -528.41748 227.15302 l -528.52289 227.68007 l -h -516.98035 226.36244 m -515.03027 227.75914 l -515.76813 226.73137 l -516.82227 225.83537 l -517.66553 224.80762 l -518.45612 223.35822 l -518.71967 224.5441 l -517.77094 225.36102 l -516.98035 226.36244 l -h -522.56714 213.31781 m -522.35632 213.92392 l -522.83069 214.97803 l -522.46173 216.19026 l -521.61847 216.69096 l -521.35492 217.85049 l -521.72388 219.03636 l -522.46173 219.19447 l -523.14691 219.01001 l -524.9389 219.82695 l -524.8335 220.61752 l -525.30786 220.96011 l -525.14972 221.64529 l -523.99017 220.93376 l -523.46313 220.16953 l -523.09418 220.69659 l -522.14551 219.82695 l -520.82788 220.03777 l -520.08997 219.72153 l -520.1427 219.11542 l -520.61707 218.74648 l -520.19537 218.4039 l -519.98456 218.93095 l -519.2467 218.08766 l -519.03589 217.4552 l -518.98315 216.03215 l -519.56293 216.53285 l -519.72107 214.24016 l -520.19537 212.92252 l -521.09137 212.92252 l -521.98737 213.31781 l -522.46173 212.94887 l -522.56714 213.31781 l -h -522.14551 223.27916 m -521.93469 222.59399 l -522.77795 223.04199 l -523.72668 223.04199 l -523.72668 223.6481 l -523.0415 224.28056 l -522.09277 224.72856 l -522.0401 224.0434 l -522.14551 223.27916 l -h -527.20526 222.1987 m -527.62689 223.83257 l -526.52008 223.43727 l -526.52008 223.93797 l -526.88904 224.83397 l -526.20386 225.17656 l -526.15112 224.12245 l -525.67676 224.06975 l -525.46594 223.17375 l -526.30927 223.27916 l -526.30927 222.72575 l -525.41327 221.61894 l -526.8363 221.64529 l -527.20526 222.1987 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -520.40625 221.40811 m -519.61566 220.27495 l -520.88055 220.32765 l -521.40765 220.85471 l -521.0387 222.11964 l -520.40625 221.40811 l -h -522.9361 225.38739 m -523.30505 224.96574 l -523.46313 224.06975 l -524.30646 223.99069 l -524.04291 224.96574 l -525.14972 223.56905 l -524.99158 224.96574 l -524.46454 225.44009 l -523.99017 226.36244 l -523.56854 226.78407 l -522.67255 225.78267 l -522.9361 225.38739 l -h -528.52289 227.68007 m -528.6283 228.65512 l -528.7337 229.47206 l -528.25934 230.81606 l -527.67957 229.31395 l -526.99445 230.07817 l -527.46875 231.13229 l -527.04712 231.81746 l -525.36053 230.97417 l -524.9389 229.92006 l -525.36053 229.23489 l -524.46454 228.52336 l -523.99017 229.12947 l -523.30505 229.07677 l -522.19824 229.89371 l -521.98737 229.47206 l -522.56714 228.23349 l -523.46313 227.8382 l -524.25372 227.28479 l -524.78076 227.9436 l -525.88757 227.54831 l -526.15112 226.8895 l -527.15253 226.83679 l -527.09985 225.70361 l -528.25934 226.41515 l -528.41748 227.15302 l -528.52289 227.68007 l -h -516.98035 226.36244 m -515.03027 227.75914 l -515.76813 226.73137 l -516.82227 225.83537 l -517.66553 224.80762 l -518.45612 223.35822 l -518.71967 224.5441 l -517.77094 225.36102 l -516.98035 226.36244 l -h -522.56714 213.31781 m -522.35632 213.92392 l -522.83069 214.97803 l -522.46173 216.19026 l -521.61847 216.69096 l -521.35492 217.85049 l -521.72388 219.03636 l -522.46173 219.19447 l -523.14691 219.01001 l -524.9389 219.82695 l -524.8335 220.61752 l -525.30786 220.96011 l -525.14972 221.64529 l -523.99017 220.93376 l -523.46313 220.16953 l -523.09418 220.69659 l -522.14551 219.82695 l -520.82788 220.03777 l -520.08997 219.72153 l -520.1427 219.11542 l -520.61707 218.74648 l -520.19537 218.4039 l -519.98456 218.93095 l -519.2467 218.08766 l -519.03589 217.4552 l -518.98315 216.03215 l -519.56293 216.53285 l -519.72107 214.24016 l -520.19537 212.92252 l -521.09137 212.92252 l -521.98737 213.31781 l -522.46173 212.94887 l -522.56714 213.31781 l -h -522.14551 223.27916 m -521.93469 222.59399 l -522.77795 223.04199 l -523.72668 223.04199 l -523.72668 223.6481 l -523.0415 224.28056 l -522.09277 224.72856 l -522.0401 224.0434 l -522.14551 223.27916 l -h -527.20526 222.1987 m -527.62689 223.83257 l -526.52008 223.43727 l -526.52008 223.93797 l -526.88904 224.83397 l -526.20386 225.17656 l -526.15112 224.12245 l -525.67676 224.06975 l -525.46594 223.17375 l -526.30927 223.27916 l -526.30927 222.72575 l -525.41327 221.61894 l -526.8363 221.64529 l -527.20526 222.1987 l -h -S -/DeviceRGB {} CS -[0.9882 0.7137 0.1843] SC -/DeviceRGB {} cs -[0.9882 0.7137 0.1843] sc -377.89038 161.086594 m -377.94308 161.719055 l -378.36472 162.272476 l -378.36472 162.878586 l -377.46875 163.168472 l -377.89038 163.853638 l -377.94308 164.486099 l -378.68097 165.77739 l -378.52286 166.172684 l -377.78497 166.357147 l -376.46732 167.569382 l -376.83627 168.2282 l -376.52005 168.14914 l -375.14969 167.569382 l -374.09558 167.7802 l -373.4104 167.648438 l -372.5144 167.93832 l -371.77652 167.437622 l -371.19678 167.622086 l -371.09137 167.54303 l -370.40619 166.831497 l -369.35208 166.726089 l -369.19397 166.278091 l -368.19257 166.11998 l -367.98172 166.488922 l -367.19116 166.199036 l -367.29657 165.77739 l -366.18976 165.64563 l -365.50458 165.197632 l -364.8721 164.248932 l -364.97751 163.74823 l -364.66129 162.957642 l -364.08151 162.430588 l -364.50317 162.061646 l -364.18692 161.297424 l -365.18835 160.875778 l -367.45468 160.190598 l -369.29938 159.689896 l -370.77512 159.95343 l -370.88055 160.296005 l -372.30359 160.322357 l -374.09558 160.480484 l -376.78357 160.480484 l -377.52145 160.638596 l -377.89038 161.086594 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -377.89038 161.086594 m -377.94308 161.719055 l -378.36472 162.272476 l -378.36472 162.878586 l -377.46875 163.168472 l -377.89038 163.853638 l -377.94308 164.486099 l -378.68097 165.77739 l -378.52286 166.172684 l -377.78497 166.357147 l -376.46732 167.569382 l -376.83627 168.2282 l -376.52005 168.14914 l -375.14969 167.569382 l -374.09558 167.7802 l -373.4104 167.648438 l -372.5144 167.93832 l -371.77652 167.437622 l -371.19678 167.622086 l -371.09137 167.54303 l -370.40619 166.831497 l -369.35208 166.726089 l -369.19397 166.278091 l -368.19257 166.11998 l -367.98172 166.488922 l -367.19116 166.199036 l -367.29657 165.77739 l -366.18976 165.64563 l -365.50458 165.197632 l -364.8721 164.248932 l -364.97751 163.74823 l -364.66129 162.957642 l -364.08151 162.430588 l -364.50317 162.061646 l -364.18692 161.297424 l -365.18835 160.875778 l -367.45468 160.190598 l -369.29938 159.689896 l -370.77512 159.95343 l -370.88055 160.296005 l -372.30359 160.322357 l -374.09558 160.480484 l -376.78357 160.480484 l -377.52145 160.638596 l -377.89038 161.086594 l -h -S -/DeviceRGB {} CS -[0.9882 0.8039 0.149] SC -/DeviceRGB {} cs -[0.9882 0.8039 0.149] sc -330.29724 178.69025 m -330.82431 178.32132 l -331.40408 178.11049 l -331.77301 178.82202 l -332.6163 178.82202 l -332.87982 178.63754 l -333.72311 178.69025 l -334.14478 179.42813 l -333.45959 179.82343 l -333.45959 180.95659 l -333.19608 181.16742 l -333.14337 181.87894 l -332.51089 181.98434 l -333.09064 182.85399 l -332.72171 183.82904 l -333.19608 184.25069 l -332.98523 184.64598 l -332.45819 185.19939 l -332.5636 185.70009 l -331.98383 186.06903 l -331.24597 185.85822 l -330.45538 186.01633 l -330.7189 184.88316 l -330.56079 183.98717 l -329.92831 183.85539 l -329.55939 183.30199 l -329.66479 182.32693 l -330.24454 181.79988 l -330.34998 181.22012 l -330.6662 180.32413 l -330.61349 179.71802 l -330.34998 179.19096 l -330.29724 178.69025 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -330.29724 178.69025 m -330.82431 178.32132 l -331.40408 178.11049 l -331.77301 178.82202 l -332.6163 178.82202 l -332.87982 178.63754 l -333.72311 178.69025 l -334.14478 179.42813 l -333.45959 179.82343 l -333.45959 180.95659 l -333.19608 181.16742 l -333.14337 181.87894 l -332.51089 181.98434 l -333.09064 182.85399 l -332.72171 183.82904 l -333.19608 184.25069 l -332.98523 184.64598 l -332.45819 185.19939 l -332.5636 185.70009 l -331.98383 186.06903 l -331.24597 185.85822 l -330.45538 186.01633 l -330.7189 184.88316 l -330.56079 183.98717 l -329.92831 183.85539 l -329.55939 183.30199 l -329.66479 182.32693 l -330.24454 181.79988 l -330.34998 181.22012 l -330.6662 180.32413 l -330.61349 179.71802 l -330.34998 179.19096 l -330.29724 178.69025 l -h -S -/DeviceRGB {} CS -[0.9804 0.8275 0.1451] SC -/DeviceRGB {} cs -[0.9804 0.8275 0.1451] sc -246.49541 212.89616 m -247.23329 213.02792 l -247.49681 213.31781 l -247.12788 213.68675 l -246.02106 213.68675 l -245.12506 213.73946 l -245.07236 213.10698 l -245.28319 212.89616 l -246.49541 212.89616 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -246.49541 212.89616 m -247.23329 213.02792 l -247.49681 213.31781 l -247.12788 213.68675 l -246.02106 213.68675 l -245.12506 213.73946 l -245.07236 213.10698 l -245.28319 212.89616 l -246.49541 212.89616 l -h -S -/DeviceRGB {} CS -[0.9765 0.6039 0.2392] SC -/DeviceRGB {} cs -[0.9765 0.6039 0.2392] sc -384.8475 173.41969 m -385.47998 173.68323 l -386.16516 173.44604 l -386.85031 173.68323 l -386.85031 174.07852 l -386.16516 174.39474 l -385.6908 174.26299 l -385.32187 176.02863 l -384.42587 175.8705 l -383.37177 175.34344 l -381.63248 175.65968 l -380.9473 176.05498 l -378.78638 175.97592 l -377.67957 175.73874 l -377.09979 175.84415 l -376.67816 175.23804 l -376.41461 175.00087 l -376.73087 174.73734 l -376.36191 174.55287 l -375.94028 174.89545 l -375.04428 174.47382 l -374.93887 173.86769 l -374.04288 173.5251 l -373.88477 173.05075 l -373.09418 172.47099 l -374.25369 172.20747 l -375.14969 171.20607 l -375.83487 170.20465 l -376.73087 169.91478 l -377.36331 169.59854 l -378.25931 169.75665 l -379.20801 169.75665 l -379.89319 170.1256 l -380.42026 169.88843 l -381.47437 169.75665 l -381.84329 169.41408 l -382.47577 169.41408 l -382.8974 169.54584 l -383.37177 169.99384 l -383.8461 170.59995 l -384.68939 171.46959 l -384.7421 172.12842 l -384.58398 172.73453 l -384.8475 173.41969 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -384.8475 173.41969 m -385.47998 173.68323 l -386.16516 173.44604 l -386.85031 173.68323 l -386.85031 174.07852 l -386.16516 174.39474 l -385.6908 174.26299 l -385.32187 176.02863 l -384.42587 175.8705 l -383.37177 175.34344 l -381.63248 175.65968 l -380.9473 176.05498 l -378.78638 175.97592 l -377.67957 175.73874 l -377.09979 175.84415 l -376.67816 175.23804 l -376.41461 175.00087 l -376.73087 174.73734 l -376.36191 174.55287 l -375.94028 174.89545 l -375.04428 174.47382 l -374.93887 173.86769 l -374.04288 173.5251 l -373.88477 173.05075 l -373.09418 172.47099 l -374.25369 172.20747 l -375.14969 171.20607 l -375.83487 170.20465 l -376.73087 169.91478 l -377.36331 169.59854 l -378.25931 169.75665 l -379.20801 169.75665 l -379.89319 170.1256 l -380.42026 169.88843 l -381.47437 169.75665 l -381.84329 169.41408 l -382.47577 169.41408 l -382.8974 169.54584 l -383.37177 169.99384 l -383.8461 170.59995 l -384.68939 171.46959 l -384.7421 172.12842 l -384.58398 172.73453 l -384.8475 173.41969 l -h -S -/DeviceRGB {} CS -[0.3412 0.0078 0.6353] SC -/DeviceRGB {} cs -[0.3412 0.0078 0.6353] sc -388.00986 241.6734 m -388.5896 242.49034 l -388.5369 243.35999 l -388.11526 243.54445 l -387.32468 243.43904 l -386.90305 244.28233 l -386.00705 244.15056 l -386.11246 243.35999 l -386.32327 243.25456 l -386.37598 242.35858 l -386.79761 241.96329 l -387.16656 242.1214 l -388.00986 241.6734 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -388.00986 241.6734 m -388.5896 242.49034 l -388.5369 243.35999 l -388.11526 243.54445 l -387.32468 243.43904 l -386.90305 244.28233 l -386.00705 244.15056 l -386.11246 243.35999 l -386.32327 243.25456 l -386.37598 242.35858 l -386.79761 241.96329 l -387.16656 242.1214 l -388.00986 241.6734 l -h -S -/DeviceRGB {} CS -[0.9804 0.6157 0.2314] SC -/DeviceRGB {} cs -[0.9804 0.6157 0.2314] sc -394.65076 197.03178 m -396.28461 197.26897 l -396.91708 196.79462 l -397.28604 196.26756 l -398.39285 196.08308 l -398.65637 195.58238 l -399.13074 195.34521 l -397.65497 193.86946 l -400.60648 193.13158 l -400.87 192.92076 l -402.66199 193.31604 l -404.82294 194.34381 l -408.93396 197.29532 l -411.67465 197.40073 l -412.99228 197.53249 l -413.36124 198.24402 l -414.36264 198.19131 l -414.94238 199.45624 l -415.68027 199.79883 l -415.94379 200.32588 l -416.89249 200.93201 l -416.99789 201.53812 l -416.83978 202.01247 l -417.05063 202.51317 l -417.47226 202.93481 l -417.68307 203.40916 l -417.89389 203.75175 l -418.31555 204.04163 l -418.73718 203.93622 l -419.00073 204.51598 l -419.05344 204.85857 l -419.63318 206.33432 l -424.00775 207.0722 l -424.32397 206.75597 l -425.00916 207.78372 l -424.00775 210.73523 l -419.63318 212.18463 l -415.41675 212.73805 l -414.04639 213.39687 l -412.99228 214.95168 l -412.3071 215.18886 l -411.93817 214.68816 l -411.3584 214.76721 l -409.93536 214.63545 l -409.67184 214.47733 l -407.98526 214.50368 l -407.61633 214.63545 l -406.98386 214.26651 l -406.6149 214.97803 l -406.77304 215.6105 l -406.14056 216.0585 l -405.92975 215.45238 l -405.50809 215.00438 l -405.40268 214.42462 l -404.61209 213.89757 l -403.8215 212.659 l -403.45258 211.47311 l -402.39847 210.47171 l -401.76599 210.23453 l -400.81729 208.83783 l -400.60648 207.81007 l -400.71188 206.94043 l -399.86859 205.33292 l -399.18344 204.75316 l -398.39285 204.43692 l -397.86578 203.61998 l -397.97119 203.2774 l -397.54956 202.51317 l -397.1279 202.19693 l -396.54816 201.11647 l -395.65216 199.9306 l -394.91428 198.92918 l -394.17639 198.92918 l -394.43994 198.11226 l -394.49265 197.61156 l -394.65076 197.03178 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -394.65076 197.03178 m -396.28461 197.26897 l -396.91708 196.79462 l -397.28604 196.26756 l -398.39285 196.08308 l -398.65637 195.58238 l -399.13074 195.34521 l -397.65497 193.86946 l -400.60648 193.13158 l -400.87 192.92076 l -402.66199 193.31604 l -404.82294 194.34381 l -408.93396 197.29532 l -411.67465 197.40073 l -412.99228 197.53249 l -413.36124 198.24402 l -414.36264 198.19131 l -414.94238 199.45624 l -415.68027 199.79883 l -415.94379 200.32588 l -416.89249 200.93201 l -416.99789 201.53812 l -416.83978 202.01247 l -417.05063 202.51317 l -417.47226 202.93481 l -417.68307 203.40916 l -417.89389 203.75175 l -418.31555 204.04163 l -418.73718 203.93622 l -419.00073 204.51598 l -419.05344 204.85857 l -419.63318 206.33432 l -424.00775 207.0722 l -424.32397 206.75597 l -425.00916 207.78372 l -424.00775 210.73523 l -419.63318 212.18463 l -415.41675 212.73805 l -414.04639 213.39687 l -412.99228 214.95168 l -412.3071 215.18886 l -411.93817 214.68816 l -411.3584 214.76721 l -409.93536 214.63545 l -409.67184 214.47733 l -407.98526 214.50368 l -407.61633 214.63545 l -406.98386 214.26651 l -406.6149 214.97803 l -406.77304 215.6105 l -406.14056 216.0585 l -405.92975 215.45238 l -405.50809 215.00438 l -405.40268 214.42462 l -404.61209 213.89757 l -403.8215 212.659 l -403.45258 211.47311 l -402.39847 210.47171 l -401.76599 210.23453 l -400.81729 208.83783 l -400.60648 207.81007 l -400.71188 206.94043 l -399.86859 205.33292 l -399.18344 204.75316 l -398.39285 204.43692 l -397.86578 203.61998 l -397.97119 203.2774 l -397.54956 202.51317 l -397.1279 202.19693 l -396.54816 201.11647 l -395.65216 199.9306 l -394.91428 198.92918 l -394.17639 198.92918 l -394.43994 198.11226 l -394.49265 197.61156 l -394.65076 197.03178 l -h -S -/DeviceRGB {} CS -[0.8392 0.3294 0.4275] SC -/DeviceRGB {} cs -[0.8392 0.3294 0.4275] sc -319.01828 220.09047 m -318.43851 218.95731 l -317.70062 218.43025 l -318.3331 218.16672 l -319.07098 217.13896 l -319.38721 216.37473 l -319.91425 215.90038 l -320.65213 216.03215 l -321.33731 215.71591 l -322.1806 215.68956 l -322.86578 216.13756 l -323.81448 216.53285 l -324.71048 217.58696 l -325.65918 218.61472 l -325.76459 219.51071 l -326.02811 220.354 l -326.60788 220.77565 l -326.71329 221.32906 l -326.66058 221.77705 l -326.44974 221.85611 l -325.65918 221.7507 l -325.50104 221.90881 l -325.18481 221.93517 l -324.13071 221.59258 l -323.44553 221.56622 l -320.75754 221.51352 l -320.33591 221.67165 l -319.86154 221.61894 l -319.07098 221.88246 l -318.86014 220.7493 l -320.1778 220.77565 l -320.54672 220.56482 l -320.81024 220.56482 l -321.33731 220.22224 l -321.96979 220.53847 l -322.60223 220.56482 l -323.23471 220.22224 l -322.91849 219.8006 l -322.44412 220.06412 l -322.02249 220.03777 l -321.44272 219.69518 l -320.96838 219.72153 l -320.65213 220.06412 l -319.01828 220.09047 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -319.01828 220.09047 m -318.43851 218.95731 l -317.70062 218.43025 l -318.3331 218.16672 l -319.07098 217.13896 l -319.38721 216.37473 l -319.91425 215.90038 l -320.65213 216.03215 l -321.33731 215.71591 l -322.1806 215.68956 l -322.86578 216.13756 l -323.81448 216.53285 l -324.71048 217.58696 l -325.65918 218.61472 l -325.76459 219.51071 l -326.02811 220.354 l -326.60788 220.77565 l -326.71329 221.32906 l -326.66058 221.77705 l -326.44974 221.85611 l -325.65918 221.7507 l -325.50104 221.90881 l -325.18481 221.93517 l -324.13071 221.59258 l -323.44553 221.56622 l -320.75754 221.51352 l -320.33591 221.67165 l -319.86154 221.61894 l -319.07098 221.88246 l -318.86014 220.7493 l -320.1778 220.77565 l -320.54672 220.56482 l -320.81024 220.56482 l -321.33731 220.22224 l -321.96979 220.53847 l -322.60223 220.56482 l -323.23471 220.22224 l -322.91849 219.8006 l -322.44412 220.06412 l -322.02249 220.03777 l -321.44272 219.69518 l -320.96838 219.72153 l -320.65213 220.06412 l -319.01828 220.09047 l -h -S -/DeviceRGB {} CS -[0.9843 0.6588 0.2118] SC -/DeviceRGB {} cs -[0.9843 0.6588 0.2118] sc -371.03867 172.78723 m -372.19818 172.41829 l -373.09418 172.47099 l -373.88477 173.05075 l -374.04288 173.5251 l -374.93887 173.86769 l -375.04428 174.47382 l -375.94028 174.89545 l -376.36191 174.55287 l -376.73087 174.73734 l -376.41461 175.00087 l -376.67816 175.23804 l -376.3092 175.58063 l -376.41461 176.10768 l -377.1525 176.74014 l -376.57275 177.18814 l -376.36191 177.66249 l -376.52005 177.84697 l -376.2565 178.05779 l -375.57135 178.08414 l -375.09698 178.16319 l -375.04428 178.05779 l -375.20239 177.87332 l -375.3605 177.50438 l -375.14969 177.53073 l -374.88617 177.24084 l -374.62265 177.18814 l -374.46451 176.95097 l -374.20099 176.87192 l -373.99017 176.66109 l -373.72665 176.74014 l -373.51581 177.21449 l -373.14688 177.31992 l -373.25229 177.18814 l -372.72522 176.89827 l -372.25089 176.74014 l -372.04007 176.52933 l -371.61841 176.29214 l -371.98737 176.21309 l -372.19818 175.52792 l -371.4603 174.97452 l -371.82925 174.31569 l -371.30219 174.34204 l -371.88196 173.78864 l -371.40759 173.36699 l -371.03867 172.78723 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -371.03867 172.78723 m -372.19818 172.41829 l -373.09418 172.47099 l -373.88477 173.05075 l -374.04288 173.5251 l -374.93887 173.86769 l -375.04428 174.47382 l -375.94028 174.89545 l -376.36191 174.55287 l -376.73087 174.73734 l -376.41461 175.00087 l -376.67816 175.23804 l -376.3092 175.58063 l -376.41461 176.10768 l -377.1525 176.74014 l -376.57275 177.18814 l -376.36191 177.66249 l -376.52005 177.84697 l -376.2565 178.05779 l -375.57135 178.08414 l -375.09698 178.16319 l -375.04428 178.05779 l -375.20239 177.87332 l -375.3605 177.50438 l -375.14969 177.53073 l -374.88617 177.24084 l -374.62265 177.18814 l -374.46451 176.95097 l -374.20099 176.87192 l -373.99017 176.66109 l -373.72665 176.74014 l -373.51581 177.21449 l -373.14688 177.31992 l -373.25229 177.18814 l -372.72522 176.89827 l -372.25089 176.74014 l -372.04007 176.52933 l -371.61841 176.29214 l -371.98737 176.21309 l -372.19818 175.52792 l -371.4603 174.97452 l -371.82925 174.31569 l -371.30219 174.34204 l -371.88196 173.78864 l -371.40759 173.36699 l -371.03867 172.78723 l -h -S -/DeviceRGB {} CS -[0.1882 0.0196 0.5882] SC -/DeviceRGB {} cs -[0.1882 0.0196 0.5882] sc -324.13071 226.96855 m -324.86859 226.33609 l -325.07941 225.91444 l -325.29022 225.59821 l -325.71188 225.57185 l -326.02811 225.28197 l -327.24033 225.28197 l -327.60928 225.80902 l -327.92551 226.4415 l -327.92551 226.86314 l -328.13632 227.23207 l -328.13632 227.78549 l -328.50528 227.70642 l -327.8201 228.36525 l -327.18762 229.18219 l -327.08221 229.60382 l -326.76599 230.07817 l -326.34433 229.94641 l -325.29022 229.36665 l -324.55234 228.57607 l -324.28882 228.04901 l -324.13071 226.96855 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -324.13071 226.96855 m -324.86859 226.33609 l -325.07941 225.91444 l -325.29022 225.59821 l -325.71188 225.57185 l -326.02811 225.28197 l -327.24033 225.28197 l -327.60928 225.80902 l -327.92551 226.4415 l -327.92551 226.86314 l -328.13632 227.23207 l -328.13632 227.78549 l -328.50528 227.70642 l -327.8201 228.36525 l -327.18762 229.18219 l -327.08221 229.60382 l -326.76599 230.07817 l -326.34433 229.94641 l -325.29022 229.36665 l -324.55234 228.57607 l -324.28882 228.04901 l -324.13071 226.96855 l -h -S -/DeviceRGB {} CS -[0.9882 0.6824 0.2] SC -/DeviceRGB {} cs -[0.9882 0.6824 0.2] sc -376.52005 168.14914 m -376.09839 168.51808 l -375.83487 169.12419 l -375.51862 169.25595 l -373.93747 168.80795 l -373.4631 168.91338 l -373.14688 169.25595 l -372.4617 169.44043 l -372.30359 169.33502 l -371.5657 169.57219 l -370.98596 169.62489 l -370.88055 169.91478 l -369.6156 170.09924 l -369.08856 169.91478 l -368.35068 169.54584 l -368.19257 169.04514 l -368.35068 168.86067 l -368.56149 168.54443 l -369.19397 168.57079 l -369.6683 168.41267 l -369.72101 168.2809 l -369.98456 168.20184 l -370.08997 167.85925 l -370.45889 167.80655 l -370.66971 167.54303 l -371.09137 167.54303 l -371.19678 167.622086 l -371.77652 167.437622 l -372.5144 167.93832 l -373.4104 167.648438 l -374.09558 167.7802 l -375.14969 167.569382 l -376.52005 168.14914 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -376.52005 168.14914 m -376.09839 168.51808 l -375.83487 169.12419 l -375.51862 169.25595 l -373.93747 168.80795 l -373.4631 168.91338 l -373.14688 169.25595 l -372.4617 169.44043 l -372.30359 169.33502 l -371.5657 169.57219 l -370.98596 169.62489 l -370.88055 169.91478 l -369.6156 170.09924 l -369.08856 169.91478 l -368.35068 169.54584 l -368.19257 169.04514 l -368.35068 168.86067 l -368.56149 168.54443 l -369.19397 168.57079 l -369.6683 168.41267 l -369.72101 168.2809 l -369.98456 168.20184 l -370.08997 167.85925 l -370.45889 167.80655 l -370.66971 167.54303 l -371.09137 167.54303 l -371.19678 167.622086 l -371.77652 167.437622 l -372.5144 167.93832 l -373.4104 167.648438 l -374.09558 167.7802 l -375.14969 167.569382 l -376.52005 168.14914 l -h -S -/DeviceRGB {} CS -[0.9922 0.7961 0.149] SC -/DeviceRGB {} cs -[0.9922 0.7961 0.149] sc -363.71259 171.91759 m -364.9248 172.02299 l -365.66269 171.70677 l -366.92761 171.65407 l -367.24387 171.41689 l -367.45468 171.41689 l -367.7709 171.91759 l -366.55869 172.31288 l -366.45328 172.89264 l -365.92621 173.05075 l -365.92621 173.4724 l -365.34647 173.44604 l -364.8721 173.18253 l -364.60858 173.44604 l -363.55447 173.39334 l -363.9234 173.26158 l -363.55447 172.62912 l -363.71259 171.91759 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -363.71259 171.91759 m -364.9248 172.02299 l -365.66269 171.70677 l -366.92761 171.65407 l -367.24387 171.41689 l -367.45468 171.41689 l -367.7709 171.91759 l -366.55869 172.31288 l -366.45328 172.89264 l -365.92621 173.05075 l -365.92621 173.4724 l -365.34647 173.44604 l -364.8721 173.18253 l -364.60858 173.44604 l -363.55447 173.39334 l -363.9234 173.26158 l -363.55447 172.62912 l -363.71259 171.91759 l -h -S -/DeviceRGB {} CS -[0.4118 0.0039 0.651] SC -/DeviceRGB {} cs -[0.4118 0.0039 0.651] sc -404.40128 242.46399 m -403.50528 241.25175 l -403.50528 235.9285 l -404.7702 234.26826 l -405.19186 233.79391 l -406.08786 233.76756 l -407.40549 232.73981 l -409.30289 232.6871 l -413.46664 228.28619 l -414.46805 227.07396 l -415.1532 226.15161 l -415.1532 225.38739 l -415.1532 223.91162 l -415.1532 223.33186 l -415.1532 223.30551 l -415.62756 223.27916 l -416.31274 223.04199 l -417.05063 222.91022 l -417.78848 222.40952 l -418.31555 222.40952 l -418.36826 222.80481 l -418.21014 223.6481 l -418.21014 224.41232 l -417.89389 224.93939 l -417.52496 226.54691 l -416.78708 228.18077 l -415.89108 230.05182 l -414.62616 232.1864 l -413.41394 233.82027 l -411.67465 235.82309 l -410.19888 237.00896 l -407.98526 238.45836 l -406.6676 239.56519 l -405.03375 241.35716 l -404.7175 242.1214 l -404.40128 242.46399 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -404.40128 242.46399 m -403.50528 241.25175 l -403.50528 235.9285 l -404.7702 234.26826 l -405.19186 233.79391 l -406.08786 233.76756 l -407.40549 232.73981 l -409.30289 232.6871 l -413.46664 228.28619 l -414.46805 227.07396 l -415.1532 226.15161 l -415.1532 225.38739 l -415.1532 223.91162 l -415.1532 223.33186 l -415.1532 223.30551 l -415.62756 223.27916 l -416.31274 223.04199 l -417.05063 222.91022 l -417.78848 222.40952 l -418.31555 222.40952 l -418.36826 222.80481 l -418.21014 223.6481 l -418.21014 224.41232 l -417.89389 224.93939 l -417.52496 226.54691 l -416.78708 228.18077 l -415.89108 230.05182 l -414.62616 232.1864 l -413.41394 233.82027 l -411.67465 235.82309 l -410.19888 237.00896 l -407.98526 238.45836 l -406.6676 239.56519 l -405.03375 241.35716 l -404.7175 242.1214 l -404.40128 242.46399 l -h -S -/DeviceRGB {} CS -[0.4549 0.0078 0.6588] SC -/DeviceRGB {} cs -[0.4549 0.0078 0.6588] sc -367.40198 281.83505 m -368.13986 281.09717 l -368.7196 281.5188 l -368.93042 282.12491 l -369.6156 282.23035 l -370.5116 282.5202 l -371.30219 282.41479 l -372.61981 281.67691 l -372.61981 276.24826 l -373.04147 276.48541 l -373.88477 277.85577 l -373.77936 278.75177 l -374.09558 279.27881 l -375.14969 279.1207 l -375.83487 278.46188 l -376.57275 278.04025 l -376.88898 277.3287 l -377.62686 276.98611 l -378.25931 277.17059 l -378.94449 277.56589 l -380.15671 277.64496 l -381.0527 277.30237 l -381.21082 276.85437 l -381.47437 276.14285 l -382.26495 276.03741 l -382.68658 275.48401 l -383.21365 274.50897 l -384.53128 273.4285 l -386.58679 272.34805 l -387.16656 272.34805 l -387.90445 272.61157 l -388.37878 272.42709 l -389.16937 272.58521 l -389.85455 274.64072 l -390.22348 275.66849 l -389.95996 277.30237 l -390.11807 277.82941 l -389.38019 277.56589 l -388.95856 277.6713 l -388.80045 278.09296 l -388.43149 278.64636 l -388.43149 279.14706 l -389.27478 279.93765 l -390.17078 279.77951 l -390.4343 279.14706 l -391.54111 279.14706 l -391.17218 280.20117 l -391.01407 281.43976 l -390.64514 282.09857 l -389.64371 282.83646 l -389.38019 283.04727 l -388.74771 283.78516 l -388.32608 284.54938 l -387.48279 285.57715 l -385.84891 287.10559 l -384.7948 287.97525 l -383.68799 288.63406 l -382.15955 289.21381 l -381.42166 289.29288 l -381.26355 289.68817 l -380.36755 289.47736 l -379.62967 289.74088 l -378.04849 289.47736 l -377.1525 289.6618 l -376.52005 289.58276 l -375.04428 290.16251 l -373.77936 290.37335 l -372.88336 290.92676 l -372.19818 290.97946 l -371.61841 290.45239 l -371.09137 290.42606 l -370.45889 289.76724 l -370.40619 289.97806 l -370.19537 289.58276 l -370.19537 288.7131 l -369.72101 287.73807 l -370.19537 287.47455 l -370.19537 286.34137 l -369.19397 284.97101 l -368.45609 283.73245 l -367.40198 281.83505 l -h -385.90161 282.38846 m -385.26917 281.94046 l -384.58398 282.23035 l -383.7934 282.81009 l -383.00281 283.73245 l -384.10965 284.8656 l -384.63669 284.70749 l -384.90021 284.25949 l -385.7435 284.02231 l -385.95435 283.54797 l -386.42868 282.83646 l -385.90161 282.38846 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -367.40198 281.83505 m -368.13986 281.09717 l -368.7196 281.5188 l -368.93042 282.12491 l -369.6156 282.23035 l -370.5116 282.5202 l -371.30219 282.41479 l -372.61981 281.67691 l -372.61981 276.24826 l -373.04147 276.48541 l -373.88477 277.85577 l -373.77936 278.75177 l -374.09558 279.27881 l -375.14969 279.1207 l -375.83487 278.46188 l -376.57275 278.04025 l -376.88898 277.3287 l -377.62686 276.98611 l -378.25931 277.17059 l -378.94449 277.56589 l -380.15671 277.64496 l -381.0527 277.30237 l -381.21082 276.85437 l -381.47437 276.14285 l -382.26495 276.03741 l -382.68658 275.48401 l -383.21365 274.50897 l -384.53128 273.4285 l -386.58679 272.34805 l -387.16656 272.34805 l -387.90445 272.61157 l -388.37878 272.42709 l -389.16937 272.58521 l -389.85455 274.64072 l -390.22348 275.66849 l -389.95996 277.30237 l -390.11807 277.82941 l -389.38019 277.56589 l -388.95856 277.6713 l -388.80045 278.09296 l -388.43149 278.64636 l -388.43149 279.14706 l -389.27478 279.93765 l -390.17078 279.77951 l -390.4343 279.14706 l -391.54111 279.14706 l -391.17218 280.20117 l -391.01407 281.43976 l -390.64514 282.09857 l -389.64371 282.83646 l -389.38019 283.04727 l -388.74771 283.78516 l -388.32608 284.54938 l -387.48279 285.57715 l -385.84891 287.10559 l -384.7948 287.97525 l -383.68799 288.63406 l -382.15955 289.21381 l -381.42166 289.29288 l -381.26355 289.68817 l -380.36755 289.47736 l -379.62967 289.74088 l -378.04849 289.47736 l -377.1525 289.6618 l -376.52005 289.58276 l -375.04428 290.16251 l -373.77936 290.37335 l -372.88336 290.92676 l -372.19818 290.97946 l -371.61841 290.45239 l -371.09137 290.42606 l -370.45889 289.76724 l -370.40619 289.97806 l -370.19537 289.58276 l -370.19537 288.7131 l -369.72101 287.73807 l -370.19537 287.47455 l -370.19537 286.34137 l -369.19397 284.97101 l -368.45609 283.73245 l -367.40198 281.83505 l -h -385.90161 282.38846 m -385.26917 281.94046 l -384.58398 282.23035 l -383.7934 282.81009 l -383.00281 283.73245 l -384.10965 284.8656 l -384.63669 284.70749 l -384.90021 284.25949 l -385.7435 284.02231 l -385.95435 283.54797 l -386.42868 282.83646 l -385.90161 282.38846 l -h -S -/DeviceRGB {} CS -[0.9608 0.9137 0.1373] SC -/DeviceRGB {} cs -[0.9608 0.9137 0.1373] sc -332.5636 185.70009 m -332.45819 185.19939 l -332.98523 184.64598 l -333.19608 184.25069 l -332.72171 183.82904 l -333.09064 182.85399 l -332.51089 181.98434 l -333.14337 181.87894 l -333.19608 181.16742 l -333.45959 180.95659 l -333.45959 179.82343 l -334.14478 179.42813 l -333.72311 178.69025 l -332.87982 178.63754 l -332.6163 178.82202 l -331.77301 178.82202 l -331.40408 178.11049 l -330.82431 178.32132 l -330.29724 178.69025 l -330.34998 177.63614 l -329.7702 177.00368 l -331.82571 175.94957 l -333.61771 176.21309 l -335.56781 176.21309 l -337.14899 176.45027 l -338.36121 176.39757 l -340.73297 176.42392 l -341.31271 177.00368 l -344.0007 177.66249 l -344.52777 177.34627 l -346.16162 178.00508 l -347.84821 177.82062 l -347.95361 178.66389 l -346.58328 179.63895 l -344.68588 179.95518 l -344.58047 180.45589 l -343.63177 181.27283 l -343.10471 182.45869 l -343.68448 183.30199 l -342.84119 183.93446 l -342.52493 184.88316 l -341.41812 185.19939 l -340.36401 186.30621 l -338.51932 186.33257 l -337.09628 186.30621 l -336.20029 186.83327 l -335.62051 187.38667 l -334.93533 187.25491 l -334.35559 186.75421 l -333.93393 185.91092 l -332.5636 185.70009 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -332.5636 185.70009 m -332.45819 185.19939 l -332.98523 184.64598 l -333.19608 184.25069 l -332.72171 183.82904 l -333.09064 182.85399 l -332.51089 181.98434 l -333.14337 181.87894 l -333.19608 181.16742 l -333.45959 180.95659 l -333.45959 179.82343 l -334.14478 179.42813 l -333.72311 178.69025 l -332.87982 178.63754 l -332.6163 178.82202 l -331.77301 178.82202 l -331.40408 178.11049 l -330.82431 178.32132 l -330.29724 178.69025 l -330.34998 177.63614 l -329.7702 177.00368 l -331.82571 175.94957 l -333.61771 176.21309 l -335.56781 176.21309 l -337.14899 176.45027 l -338.36121 176.39757 l -340.73297 176.42392 l -341.31271 177.00368 l -344.0007 177.66249 l -344.52777 177.34627 l -346.16162 178.00508 l -347.84821 177.82062 l -347.95361 178.66389 l -346.58328 179.63895 l -344.68588 179.95518 l -344.58047 180.45589 l -343.63177 181.27283 l -343.10471 182.45869 l -343.68448 183.30199 l -342.84119 183.93446 l -342.52493 184.88316 l -341.41812 185.19939 l -340.36401 186.30621 l -338.51932 186.33257 l -337.09628 186.30621 l -336.20029 186.83327 l -335.62051 187.38667 l -334.93533 187.25491 l -334.35559 186.75421 l -333.93393 185.91092 l -332.5636 185.70009 l -h -S -/DeviceRGB {} CS -[0.9765 0.6039 0.2392] SC -/DeviceRGB {} cs -[0.9765 0.6039 0.2392] sc -463.22067 228.99771 m -463.00986 230.49982 l -462.37741 230.92146 l -461.11246 231.26405 l -460.42731 230.10454 l -460.16376 227.99631 l -460.84894 225.62456 l -461.85034 226.4415 l -462.53552 227.46925 l -463.22067 228.99771 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -463.22067 228.99771 m -463.00986 230.49982 l -462.37741 230.92146 l -461.11246 231.26405 l -460.42731 230.10454 l -460.16376 227.99631 l -460.84894 225.62456 l -461.85034 226.4415 l -462.53552 227.46925 l -463.22067 228.99771 l -h -S -/DeviceRGB {} CS -[0.7373 0.2118 0.5294] SC -/DeviceRGB {} cs -[0.7373 0.2118 0.5294] sc -379.47156 227.9436 m -378.36472 227.31114 l -377.83768 226.8895 l -377.73227 226.4415 l -377.99579 225.83537 l -377.99579 225.22926 l -377.1525 224.30692 l -376.99438 223.70081 l -376.99438 223.33186 l -376.46732 222.91022 l -376.41461 222.04057 l -376.15109 221.48717 l -375.62405 221.56622 l -375.78217 221.03917 l -376.15109 220.43306 l -375.99298 219.82695 l -376.46732 219.37895 l -376.15109 219.03636 l -376.52005 218.11401 l -377.2052 217.03355 l -378.47015 217.13896 l -378.41745 211.34135 l -378.41745 210.70888 l -380.104 210.70888 l -380.104 207.78372 l -386.00705 207.78372 l -391.64655 207.78372 l -397.44415 207.78372 l -397.91849 209.23312 l -397.60226 209.49666 l -397.81308 210.99876 l -398.39285 212.73805 l -398.91989 213.10698 l -399.71048 213.6604 l -398.9726 214.47733 l -397.91849 214.74086 l -397.44415 215.18886 l -397.28604 216.13756 l -396.65356 218.29848 l -396.81168 218.87825 l -396.60086 220.14317 l -396.02109 221.59258 l -395.12509 222.30411 l -394.49265 223.43727 l -394.3345 224.01704 l -393.64935 224.43867 l -393.22769 225.96715 l -393.22769 227.28479 l -393.22769 226.15161 l -393.01688 226.12526 l -393.01688 225.38739 l -392.85876 224.88667 l -392.12088 224.30692 l -391.91006 223.25281 l -392.12088 222.17235 l -391.4357 222.06693 l -391.33029 222.40952 l -390.4343 222.46222 l -390.80325 222.91022 l -390.90866 223.77986 l -390.11807 224.57045 l -389.38019 225.65091 l -388.6423 225.78267 l -387.43008 224.93939 l -386.85031 225.22926 l -386.6922 225.65091 l -385.95435 225.9408 l -385.90161 226.23067 l -384.42587 226.23067 l -384.26776 225.9408 l -383.21365 225.88809 l -382.68658 226.15161 l -382.26495 226.01985 l -381.52707 225.15021 l -381.26355 224.75491 l -380.20941 224.96574 l -379.78778 225.65091 l -379.41885 226.9422 l -378.89178 227.23207 l -378.47015 227.3902 l -379.47156 227.9436 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -379.47156 227.9436 m -378.36472 227.31114 l -377.83768 226.8895 l -377.73227 226.4415 l -377.99579 225.83537 l -377.99579 225.22926 l -377.1525 224.30692 l -376.99438 223.70081 l -376.99438 223.33186 l -376.46732 222.91022 l -376.41461 222.04057 l -376.15109 221.48717 l -375.62405 221.56622 l -375.78217 221.03917 l -376.15109 220.43306 l -375.99298 219.82695 l -376.46732 219.37895 l -376.15109 219.03636 l -376.52005 218.11401 l -377.2052 217.03355 l -378.47015 217.13896 l -378.41745 211.34135 l -378.41745 210.70888 l -380.104 210.70888 l -380.104 207.78372 l -386.00705 207.78372 l -391.64655 207.78372 l -397.44415 207.78372 l -397.91849 209.23312 l -397.60226 209.49666 l -397.81308 210.99876 l -398.39285 212.73805 l -398.91989 213.10698 l -399.71048 213.6604 l -398.9726 214.47733 l -397.91849 214.74086 l -397.44415 215.18886 l -397.28604 216.13756 l -396.65356 218.29848 l -396.81168 218.87825 l -396.60086 220.14317 l -396.02109 221.59258 l -395.12509 222.30411 l -394.49265 223.43727 l -394.3345 224.01704 l -393.64935 224.43867 l -393.22769 225.96715 l -393.22769 227.28479 l -393.22769 226.15161 l -393.01688 226.12526 l -393.01688 225.38739 l -392.85876 224.88667 l -392.12088 224.30692 l -391.91006 223.25281 l -392.12088 222.17235 l -391.4357 222.06693 l -391.33029 222.40952 l -390.4343 222.46222 l -390.80325 222.91022 l -390.90866 223.77986 l -390.11807 224.57045 l -389.38019 225.65091 l -388.6423 225.78267 l -387.43008 224.93939 l -386.85031 225.22926 l -386.6922 225.65091 l -385.95435 225.9408 l -385.90161 226.23067 l -384.42587 226.23067 l -384.26776 225.9408 l -383.21365 225.88809 l -382.68658 226.15161 l -382.26495 226.01985 l -381.52707 225.15021 l -381.26355 224.75491 l -380.20941 224.96574 l -379.78778 225.65091 l -379.41885 226.9422 l -378.89178 227.23207 l -378.47015 227.3902 l -379.47156 227.9436 l -h -S -/DeviceRGB {} CS -[0.051 0.0314 0.5294] SC -/DeviceRGB {} cs -[0.051 0.0314 0.5294] sc -390.4343 279.14706 m -390.17078 279.77951 l -389.27478 279.93765 l -388.43149 279.14706 l -388.43149 278.64636 l -388.80045 278.09296 l -388.95856 277.6713 l -389.38019 277.56589 l -390.11807 277.82941 l -390.32889 278.48825 l -390.4343 279.14706 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -390.4343 279.14706 m -390.17078 279.77951 l -389.27478 279.93765 l -388.43149 279.14706 l -388.43149 278.64636 l -388.80045 278.09296 l -388.95856 277.6713 l -389.38019 277.56589 l -390.11807 277.82941 l -390.32889 278.48825 l -390.4343 279.14706 l -h -S -/DeviceRGB {} CS -[0.9608 0.9098 0.1373] SC -/DeviceRGB {} cs -[0.9608 0.9098 0.1373] sc -359.65427 153.839584 m -360.28671 152.996292 l -361.49896 151.994888 l -361.9733 150.281952 l -361.0773 149.517731 l -360.97189 147.593964 l -361.92059 146.223633 l -363.34366 146.249985 l -363.8707 145.670212 l -363.34366 145.16951 l -365.60999 143.087646 l -367.08575 141.480133 l -368.03445 140.42601 l -369.45749 140.452362 l -369.82642 139.635437 l -372.61981 139.846252 l -372.83066 138.897552 l -373.72665 138.844849 l -375.67676 139.556366 l -377.94308 140.557785 l -377.99579 142.79776 l -378.47015 143.377533 l -375.99298 143.799164 l -374.56992 144.800583 l -374.78076 145.696564 l -372.4617 146.882446 l -369.6156 148.147385 l -368.56149 150.202896 l -369.6156 151.230652 l -370.98596 152.047592 l -369.6683 153.707809 l -368.13986 154.0504 l -367.56009 156.501205 l -366.7695 157.871552 l -364.97751 157.739792 l -364.13422 158.899307 l -362.44766 158.952026 l -361.9733 157.58168 l -360.76108 155.921448 l -359.65427 153.839584 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -359.65427 153.839584 m -360.28671 152.996292 l -361.49896 151.994888 l -361.9733 150.281952 l -361.0773 149.517731 l -360.97189 147.593964 l -361.92059 146.223633 l -363.34366 146.249985 l -363.8707 145.670212 l -363.34366 145.16951 l -365.60999 143.087646 l -367.08575 141.480133 l -368.03445 140.42601 l -369.45749 140.452362 l -369.82642 139.635437 l -372.61981 139.846252 l -372.83066 138.897552 l -373.72665 138.844849 l -375.67676 139.556366 l -377.94308 140.557785 l -377.99579 142.79776 l -378.47015 143.377533 l -375.99298 143.799164 l -374.56992 144.800583 l -374.78076 145.696564 l -372.4617 146.882446 l -369.6156 148.147385 l -368.56149 150.202896 l -369.6156 151.230652 l -370.98596 152.047592 l -369.6683 153.707809 l -368.13986 154.0504 l -367.56009 156.501205 l -366.7695 157.871552 l -364.97751 157.739792 l -364.13422 158.899307 l -362.44766 158.952026 l -361.9733 157.58168 l -360.76108 155.921448 l -359.65427 153.839584 l -h -S -/DeviceRGB {} CS -[0.949 0.9412 0.1333] SC -/DeviceRGB {} cs -[0.949 0.9412 0.1333] sc -357.54602 170.41548 m -357.59872 170.679 l -357.38791 171.04794 l -358.02039 171.31148 l -358.81097 171.36418 l -358.65286 171.94394 l -358.02039 172.20747 l -356.96628 172.02299 l -356.65002 172.60277 l -355.91217 172.65547 l -355.64862 172.41829 l -354.85806 172.91899 l -354.17288 172.99805 l -353.54041 172.68182 l -353.01337 172.02299 l -352.32819 172.26018 l -352.32819 171.60135 l -353.435 170.78442 l -353.38229 170.41548 l -354.01477 170.54724 l -354.4364 170.28372 l -355.70132 170.31007 l -355.96487 169.96748 l -357.54602 170.41548 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -357.54602 170.41548 m -357.59872 170.679 l -357.38791 171.04794 l -358.02039 171.31148 l -358.81097 171.36418 l -358.65286 171.94394 l -358.02039 172.20747 l -356.96628 172.02299 l -356.65002 172.60277 l -355.91217 172.65547 l -355.64862 172.41829 l -354.85806 172.91899 l -354.17288 172.99805 l -353.54041 172.68182 l -353.01337 172.02299 l -352.32819 172.26018 l -352.32819 171.60135 l -353.435 170.78442 l -353.38229 170.41548 l -354.01477 170.54724 l -354.4364 170.28372 l -355.70132 170.31007 l -355.96487 169.96748 l -357.54602 170.41548 l -h -S -/DeviceRGB {} CS -[0.9843 0.6627 0.2078] SC -/DeviceRGB {} cs -[0.9843 0.6627 0.2078] sc -395.81027 192.13017 m -395.75757 192.10382 l -395.96838 191.89299 l -395.91568 191.28688 l -396.28461 190.49629 l -397.0752 189.94289 l -396.86438 189.36313 l -396.1792 189.28407 l -396.07379 188.15091 l -396.44275 187.57114 l -396.81168 187.22856 l -397.1806 186.91232 l -397.28604 186.09538 l -397.76038 186.38527 l -399.39426 185.98997 l -400.13214 186.25349 l -401.34436 186.25349 l -403.03094 185.70009 l -403.8215 185.72644 l -405.50809 185.48927 l -404.7702 186.41162 l -403.92694 186.78056 l -404.08505 187.83467 l -403.50528 189.62666 l -400.29025 191.12877 l -397.44415 192.70993 l -395.81027 192.13017 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -395.81027 192.13017 m -395.75757 192.10382 l -395.96838 191.89299 l -395.91568 191.28688 l -396.28461 190.49629 l -397.0752 189.94289 l -396.86438 189.36313 l -396.1792 189.28407 l -396.07379 188.15091 l -396.44275 187.57114 l -396.81168 187.22856 l -397.1806 186.91232 l -397.28604 186.09538 l -397.76038 186.38527 l -399.39426 185.98997 l -400.13214 186.25349 l -401.34436 186.25349 l -403.03094 185.70009 l -403.8215 185.72644 l -405.50809 185.48927 l -404.7702 186.41162 l -403.92694 186.78056 l -404.08505 187.83467 l -403.50528 189.62666 l -400.29025 191.12877 l -397.44415 192.70993 l -395.81027 192.13017 l -h -S -/DeviceRGB {} CS -[0.9843 0.8157 0.1451] SC -/DeviceRGB {} cs -[0.9843 0.8157 0.1451] sc -521.77655 204.27881 m -520.88055 206.62421 l -520.24811 207.83643 l -519.51025 206.59785 l -519.29938 205.51738 l -520.19537 204.06798 l -521.35492 202.96117 l -522.0401 203.40916 l -521.77655 204.27881 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -521.77655 204.27881 m -520.88055 206.62421 l -520.24811 207.83643 l -519.51025 206.59785 l -519.29938 205.51738 l -520.19537 204.06798 l -521.35492 202.96117 l -522.0401 203.40916 l -521.77655 204.27881 l -h -S -/DeviceRGB {} CS -[0.5608 0.0627 0.6314] SC -/DeviceRGB {} cs -[0.5608 0.0627 0.6314] sc -393.12228 241.38351 m -393.3858 241.54164 l -398.70908 244.54585 l -398.76178 245.38914 l -400.87 246.83855 l -400.23755 248.65689 l -400.29025 249.47383 l -401.23895 250.00089 l -401.29166 250.39618 l -400.87 251.26581 l -400.9754 251.71381 l -400.87 252.42534 l -401.39706 253.34769 l -401.97684 254.77074 l -402.50388 255.11333 l -401.34436 255.9566 l -399.76318 256.51001 l -398.86719 256.48367 l -398.34015 256.93167 l -397.33875 256.98438 l -396.96979 257.16882 l -395.1778 256.74719 l -394.07098 256.8526 l -393.70206 254.87614 l -393.17499 254.19098 l -392.91147 253.79568 l -391.4357 253.5058 l -390.64514 253.08415 l -389.69641 252.82063 l -389.11667 252.58345 l -388.48419 252.21451 l -387.6936 250.36981 l -386.85031 249.55289 l -386.58679 248.68324 l -386.6922 247.94536 l -386.42868 246.57501 l -387.06116 246.52231 l -387.5882 245.99525 l -388.16797 245.23103 l -388.5369 244.91479 l -388.48419 244.44044 l -388.16797 244.09785 l -388.11526 243.54445 l -388.5369 243.35999 l -388.5896 242.49034 l -388.00986 241.6734 l -388.5369 241.48894 l -390.17078 241.51529 l -393.12228 241.38351 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -393.12228 241.38351 m -393.3858 241.54164 l -398.70908 244.54585 l -398.76178 245.38914 l -400.87 246.83855 l -400.23755 248.65689 l -400.29025 249.47383 l -401.23895 250.00089 l -401.29166 250.39618 l -400.87 251.26581 l -400.9754 251.71381 l -400.87 252.42534 l -401.39706 253.34769 l -401.97684 254.77074 l -402.50388 255.11333 l -401.34436 255.9566 l -399.76318 256.51001 l -398.86719 256.48367 l -398.34015 256.93167 l -397.33875 256.98438 l -396.96979 257.16882 l -395.1778 256.74719 l -394.07098 256.8526 l -393.70206 254.87614 l -393.17499 254.19098 l -392.91147 253.79568 l -391.4357 253.5058 l -390.64514 253.08415 l -389.69641 252.82063 l -389.11667 252.58345 l -388.48419 252.21451 l -387.6936 250.36981 l -386.85031 249.55289 l -386.58679 248.68324 l -386.6922 247.94536 l -386.42868 246.57501 l -387.06116 246.52231 l -387.5882 245.99525 l -388.16797 245.23103 l -388.5369 244.91479 l -388.48419 244.44044 l -388.16797 244.09785 l -388.11526 243.54445 l -388.5369 243.35999 l -388.5896 242.49034 l -388.00986 241.6734 l -388.5369 241.48894 l -390.17078 241.51529 l -393.12228 241.38351 l -h -S -/DeviceRGB {} CS -[0.9569 0.549 0.2784] SC -/DeviceRGB {} cs -[0.9569 0.549 0.2784] sc -497.53201 219.11542 m -496.16165 218.9046 l -494.26425 219.16812 l -493.31555 220.38036 l -493.68451 222.17235 l -492.36685 221.48717 l -491.10193 221.51352 l -491.31274 220.354 l -490.04782 220.38036 l -489.94241 221.98787 l -489.15182 224.12245 l -488.62476 225.41374 l -488.73019 226.46785 l -489.67889 226.52055 l -490.31134 227.86455 l -490.57486 229.12947 l -491.36545 229.97276 l -492.26144 230.13089 l -492.99933 230.89511 l -492.52499 231.50122 l -491.57629 231.65935 l -491.47086 230.92146 l -490.25864 230.26265 l -489.99512 230.52617 l -489.41534 229.97276 l -489.20453 229.26125 l -488.41394 228.41795 l -487.67606 227.73277 l -487.46524 228.60242 l -487.20172 227.78549 l -487.35983 226.86314 l -487.78149 225.46645 l -488.46664 223.96432 l -489.30994 222.59399 l -488.73019 221.25 l -488.73019 220.56482 l -488.57205 219.74789 l -487.57065 218.58836 l -487.25443 217.85049 l -487.72876 217.58696 l -488.30853 216.32202 l -487.67606 215.34697 l -486.78006 214.29286 l -486.04221 213.00157 l -486.67465 212.73805 l -487.30713 211.15688 l -488.36124 211.07782 l -489.20453 210.44536 l -490.04782 210.10277 l -490.6803 210.55077 l -490.78571 211.44676 l -491.78711 211.49947 l -491.41815 213.05428 l -491.41815 214.37192 l -492.99933 213.50227 l -493.42099 213.73946 l -494.26425 213.7131 l -494.58051 213.18605 l -495.68732 213.29146 l -496.79413 214.47733 l -496.89954 215.92673 l -498.05905 217.21802 l -498.00635 218.4566 l -497.53201 219.11542 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -497.53201 219.11542 m -496.16165 218.9046 l -494.26425 219.16812 l -493.31555 220.38036 l -493.68451 222.17235 l -492.36685 221.48717 l -491.10193 221.51352 l -491.31274 220.354 l -490.04782 220.38036 l -489.94241 221.98787 l -489.15182 224.12245 l -488.62476 225.41374 l -488.73019 226.46785 l -489.67889 226.52055 l -490.31134 227.86455 l -490.57486 229.12947 l -491.36545 229.97276 l -492.26144 230.13089 l -492.99933 230.89511 l -492.52499 231.50122 l -491.57629 231.65935 l -491.47086 230.92146 l -490.25864 230.26265 l -489.99512 230.52617 l -489.41534 229.97276 l -489.20453 229.26125 l -488.41394 228.41795 l -487.67606 227.73277 l -487.46524 228.60242 l -487.20172 227.78549 l -487.35983 226.86314 l -487.78149 225.46645 l -488.46664 223.96432 l -489.30994 222.59399 l -488.73019 221.25 l -488.73019 220.56482 l -488.57205 219.74789 l -487.57065 218.58836 l -487.25443 217.85049 l -487.72876 217.58696 l -488.30853 216.32202 l -487.67606 215.34697 l -486.78006 214.29286 l -486.04221 213.00157 l -486.67465 212.73805 l -487.30713 211.15688 l -488.36124 211.07782 l -489.20453 210.44536 l -490.04782 210.10277 l -490.6803 210.55077 l -490.78571 211.44676 l -491.78711 211.49947 l -491.41815 213.05428 l -491.41815 214.37192 l -492.99933 213.50227 l -493.42099 213.73946 l -494.26425 213.7131 l -494.58051 213.18605 l -495.68732 213.29146 l -496.79413 214.47733 l -496.89954 215.92673 l -498.05905 217.21802 l -498.00635 218.4566 l -497.53201 219.11542 l -h -S -/DeviceRGB {} CS -[0.7333 0.2078 0.5333] SC -/DeviceRGB {} cs -[0.7333 0.2078 0.5333] sc -344.79129 223.91162 m -344.63318 224.67586 l -345.05481 225.0975 l -345.58188 225.62456 l -345.63458 226.33609 l -345.95081 226.62596 l -345.8454 229.99911 l -346.21432 231.00052 l -345.05481 231.31676 l -344.73859 230.81606 l -344.31693 229.86736 l -344.21152 229.15582 l -344.52777 227.8382 l -344.15881 227.28479 l -344.05341 226.15161 l -344.05341 225.07115 l -343.42093 224.33327 l -343.52637 223.85892 l -344.79129 223.91162 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -344.79129 223.91162 m -344.63318 224.67586 l -345.05481 225.0975 l -345.58188 225.62456 l -345.63458 226.33609 l -345.95081 226.62596 l -345.8454 229.99911 l -346.21432 231.00052 l -345.05481 231.31676 l -344.73859 230.81606 l -344.31693 229.86736 l -344.21152 229.15582 l -344.52777 227.8382 l -344.15881 227.28479 l -344.05341 226.15161 l -344.05341 225.07115 l -343.42093 224.33327 l -343.52637 223.85892 l -344.79129 223.91162 l -h -S -/DeviceRGB {} CS -[0.949 0.5216 0.2941] SC -/DeviceRGB {} cs -[0.949 0.5216 0.2941] sc -253.18901 224.25421 m -254.0323 224.06975 l -254.34854 224.12245 l -254.29584 225.20291 l -253.0836 225.36102 l -252.82008 225.22926 l -253.24173 224.83397 l -253.18901 224.25421 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -253.18901 224.25421 m -254.0323 224.06975 l -254.34854 224.12245 l -254.29584 225.20291 l -253.0836 225.36102 l -252.82008 225.22926 l -253.24173 224.83397 l -253.18901 224.25421 l -h -S -/DeviceRGB {} CS -[0.9843 0.6549 0.2118] SC -/DeviceRGB {} cs -[0.9843 0.6549 0.2118] sc -357.38791 195.63509 m -356.75546 192.99982 l -355.85947 192.42006 l -355.85947 192.05112 l -354.64722 191.18147 l -354.48911 190.07466 l -355.43781 189.25772 l -355.75403 188.07184 l -355.54321 186.67514 l -355.80676 185.91092 l -357.44061 185.33116 l -358.44202 185.48927 l -358.38931 186.22714 l -359.65427 185.70009 l -359.75967 185.98997 l -359.02179 186.70149 l -359.02179 187.38667 l -359.49612 187.72926 l -359.33801 188.99419 l -358.33661 189.73207 l -358.65286 190.54901 l -359.39072 190.57536 l -359.75967 191.26053 l -360.33942 191.49771 l -360.23401 192.60452 l -359.49612 193.02617 l -359.07449 193.50052 l -358.07309 194.08028 l -358.2312 194.68639 l -358.07309 195.29251 l -357.38791 195.63509 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -357.38791 195.63509 m -356.75546 192.99982 l -355.85947 192.42006 l -355.85947 192.05112 l -354.64722 191.18147 l -354.48911 190.07466 l -355.43781 189.25772 l -355.75403 188.07184 l -355.54321 186.67514 l -355.80676 185.91092 l -357.44061 185.33116 l -358.44202 185.48927 l -358.38931 186.22714 l -359.65427 185.70009 l -359.75967 185.98997 l -359.02179 186.70149 l -359.02179 187.38667 l -359.49612 187.72926 l -359.33801 188.99419 l -358.33661 189.73207 l -358.65286 190.54901 l -359.39072 190.57536 l -359.75967 191.26053 l -360.33942 191.49771 l -360.23401 192.60452 l -359.49612 193.02617 l -359.07449 193.50052 l -358.07309 194.08028 l -358.2312 194.68639 l -358.07309 195.29251 l -357.38791 195.63509 l -h -S -/DeviceRGB {} CS -[0.9686 0.5843 0.2549] SC -/DeviceRGB {} cs -[0.9686 0.5843 0.2549] sc -409.03937 185.59468 m -408.35419 185.83186 l -407.82715 185.46292 l -406.14056 185.27844 l -405.50809 185.48927 l -403.8215 185.72644 l -403.03094 185.70009 l -401.34436 186.25349 l -400.13214 186.25349 l -399.39426 185.98997 l -397.76038 186.38527 l -397.28604 186.09538 l -397.1806 186.91232 l -396.81168 187.22856 l -396.44275 187.57114 l -395.86298 186.88597 l -396.44275 186.35892 l -395.54675 186.46432 l -394.3345 186.14809 l -393.3331 186.96503 l -391.06677 187.14949 l -389.90726 186.35892 l -388.32608 186.30621 l -388.00986 186.91232 l -386.95575 187.09679 l -385.58539 186.30621 l -383.95151 186.33257 l -383.10825 184.88316 l -382.0014 184.06622 l -382.73929 182.93304 l -381.79059 182.22153 l -383.42447 180.82483 l -385.6908 180.77213 l -386.32327 179.66531 l -389.11667 179.84978 l -390.85596 178.90108 l -392.54254 178.47943 l -394.96698 178.45308 l -397.54956 179.48083 l -399.65778 180.06059 l -401.34436 179.82343 l -402.60928 179.95518 l -404.34857 179.19096 l -405.87704 179.13824 l -407.30008 179.84978 l -407.5636 180.35048 l -407.40549 181.062 l -408.5123 181.43094 l -409.09207 181.85258 l -408.09067 182.27423 l -408.5123 183.96082 l -408.24878 184.40881 l -409.03937 185.59468 l -h -381.73788 178.76932 m -383.21365 178.32132 l -384.47858 178.50578 l -384.63669 179.05919 l -385.95435 179.53354 l -385.6908 179.90248 l -383.95151 179.98154 l -383.31906 180.42953 l -382.10681 181.22012 l -381.63248 180.53494 l -381.63248 180.24507 l -382.0014 180.06059 l -382.42307 179.1646 l -381.73788 178.76932 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -409.03937 185.59468 m -408.35419 185.83186 l -407.82715 185.46292 l -406.14056 185.27844 l -405.50809 185.48927 l -403.8215 185.72644 l -403.03094 185.70009 l -401.34436 186.25349 l -400.13214 186.25349 l -399.39426 185.98997 l -397.76038 186.38527 l -397.28604 186.09538 l -397.1806 186.91232 l -396.81168 187.22856 l -396.44275 187.57114 l -395.86298 186.88597 l -396.44275 186.35892 l -395.54675 186.46432 l -394.3345 186.14809 l -393.3331 186.96503 l -391.06677 187.14949 l -389.90726 186.35892 l -388.32608 186.30621 l -388.00986 186.91232 l -386.95575 187.09679 l -385.58539 186.30621 l -383.95151 186.33257 l -383.10825 184.88316 l -382.0014 184.06622 l -382.73929 182.93304 l -381.79059 182.22153 l -383.42447 180.82483 l -385.6908 180.77213 l -386.32327 179.66531 l -389.11667 179.84978 l -390.85596 178.90108 l -392.54254 178.47943 l -394.96698 178.45308 l -397.54956 179.48083 l -399.65778 180.06059 l -401.34436 179.82343 l -402.60928 179.95518 l -404.34857 179.19096 l -405.87704 179.13824 l -407.30008 179.84978 l -407.5636 180.35048 l -407.40549 181.062 l -408.5123 181.43094 l -409.09207 181.85258 l -408.09067 182.27423 l -408.5123 183.96082 l -408.24878 184.40881 l -409.03937 185.59468 l -h -381.73788 178.76932 m -383.21365 178.32132 l -384.47858 178.50578 l -384.63669 179.05919 l -385.95435 179.53354 l -385.6908 179.90248 l -383.95151 179.98154 l -383.31906 180.42953 l -382.10681 181.22012 l -381.63248 180.53494 l -381.63248 180.24507 l -382.0014 180.06059 l -382.42307 179.1646 l -381.73788 178.76932 l -h -S -/DeviceRGB {} CS -[0.5294 0.0471 0.6392] SC -/DeviceRGB {} cs -[0.5294 0.0471 0.6392] sc -393.12228 241.38351 m -390.17078 241.51529 l -388.5369 241.48894 l -388.00986 241.6734 l -387.16656 242.1214 l -386.79761 241.96329 l -386.79761 240.85646 l -387.16656 240.30305 l -387.21927 239.11719 l -387.53549 238.43201 l -388.11526 237.69414 l -388.6423 237.29884 l -389.11667 236.77179 l -388.5369 236.58731 l -388.6423 234.87439 l -389.22208 234.45274 l -390.17078 234.79532 l -391.33029 234.45274 l -392.3844 234.45274 l -393.2804 233.76756 l -393.96558 234.79532 l -394.12369 235.5332 l -394.80887 237.21979 l -394.2818 238.2739 l -393.54395 239.24895 l -393.12228 239.8287 l -393.12228 241.38351 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -393.12228 241.38351 m -390.17078 241.51529 l -388.5369 241.48894 l -388.00986 241.6734 l -387.16656 242.1214 l -386.79761 241.96329 l -386.79761 240.85646 l -387.16656 240.30305 l -387.21927 239.11719 l -387.53549 238.43201 l -388.11526 237.69414 l -388.6423 237.29884 l -389.11667 236.77179 l -388.5369 236.58731 l -388.6423 234.87439 l -389.22208 234.45274 l -390.17078 234.79532 l -391.33029 234.45274 l -392.3844 234.45274 l -393.2804 233.76756 l -393.96558 234.79532 l -394.12369 235.5332 l -394.80887 237.21979 l -394.2818 238.2739 l -393.54395 239.24895 l -393.12228 239.8287 l -393.12228 241.38351 l -h -S -/DeviceRGB {} CS -[0.9765 0.8549 0.1412] SC -/DeviceRGB {} cs -[0.9765 0.8549 0.1412] sc -334.40829 161.139297 m -333.30148 160.849426 l -332.40549 160.849426 l -332.72171 160.08519 l -332.40549 159.294601 l -333.61771 159.241898 l -335.19888 160.137894 l -334.40829 161.139297 l -h -337.3598 154.287582 m -339.09909 154.155807 l -337.51791 155.736984 l -339.04639 155.552505 l -340.62753 155.552505 l -340.25861 156.738388 l -338.94098 158.05603 l -340.46942 158.161438 l -340.57483 158.31955 l -341.89249 160.032486 l -342.89389 160.269653 l -343.78989 161.929886 l -344.21152 162.509644 l -345.95081 162.79953 l -345.79269 163.721878 l -345.05481 164.169876 l -345.63458 164.907745 l -344.31693 165.671982 l -342.36682 165.671982 l -339.83698 166.067276 l -339.15179 165.77739 l -338.20309 166.46257 l -336.83273 166.304443 l -335.83133 166.857849 l -335.04077 166.567978 l -337.20169 165.039505 l -338.51932 164.723282 l -338.46661 164.723282 l -336.20029 164.459747 l -335.77863 163.87999 l -337.3071 163.431992 l -336.51651 162.641403 l -336.78003 161.692703 l -338.99368 161.824478 l -339.2045 160.981186 l -338.20309 160.058838 l -336.4111 159.795303 l -336.04218 159.400024 l -336.56921 158.741196 l -336.09488 158.345901 l -335.30429 159.031082 l -335.25159 157.608032 l -334.5137 156.870148 l -335.04077 155.368042 l -336.14758 154.182159 l -337.3598 154.287582 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -334.40829 161.139297 m -333.30148 160.849426 l -332.40549 160.849426 l -332.72171 160.08519 l -332.40549 159.294601 l -333.61771 159.241898 l -335.19888 160.137894 l -334.40829 161.139297 l -h -337.3598 154.287582 m -339.09909 154.155807 l -337.51791 155.736984 l -339.04639 155.552505 l -340.62753 155.552505 l -340.25861 156.738388 l -338.94098 158.05603 l -340.46942 158.161438 l -340.57483 158.31955 l -341.89249 160.032486 l -342.89389 160.269653 l -343.78989 161.929886 l -344.21152 162.509644 l -345.95081 162.79953 l -345.79269 163.721878 l -345.05481 164.169876 l -345.63458 164.907745 l -344.31693 165.671982 l -342.36682 165.671982 l -339.83698 166.067276 l -339.15179 165.77739 l -338.20309 166.46257 l -336.83273 166.304443 l -335.83133 166.857849 l -335.04077 166.567978 l -337.20169 165.039505 l -338.51932 164.723282 l -338.46661 164.723282 l -336.20029 164.459747 l -335.77863 163.87999 l -337.3071 163.431992 l -336.51651 162.641403 l -336.78003 161.692703 l -338.99368 161.824478 l -339.2045 160.981186 l -338.20309 160.058838 l -336.4111 159.795303 l -336.04218 159.400024 l -336.56921 158.741196 l -336.09488 158.345901 l -335.30429 159.031082 l -335.25159 157.608032 l -334.5137 156.870148 l -335.04077 155.368042 l -336.14758 154.182159 l -337.3598 154.287582 l -h -S -/DeviceRGB {} CS -[0.9882 0.8078 0.149] SC -/DeviceRGB {} cs -[0.9882 0.8078 0.149] sc -163.694977 168.2809 m -167.8587 168.2809 l -172.18057 168.2809 l -173.60362 168.2809 l -178.08359 168.2809 l -182.40544 168.2809 l -186.78001 168.2809 l -191.20728 168.2809 l -196.16159 168.2809 l -201.16862 168.2809 l -204.17284 168.2809 l -204.22556 167.701141 l -204.69991 167.701141 l -204.96342 168.49173 l -205.43777 168.75525 l -206.43918 168.83432 l -207.91493 169.07149 l -209.33798 169.51949 l -210.55022 169.33502 l -212.34221 169.7303 l -212.81656 169.70395 l -214.1342 169.2823 l -215.50455 169.80937 l -216.9276 170.38913 l -218.13982 170.86348 l -219.24663 171.33783 l -219.40475 171.73312 l -219.72098 171.86488 l -219.66827 172.02299 l -220.03722 172.04935 l -220.30075 171.91759 l -220.40616 172.26018 l -220.66968 172.49734 l -221.09132 172.49734 l -221.30215 172.65547 l -221.14403 172.91899 l -222.6725 173.60417 l -222.98872 174.94817 l -223.25226 176.21309 l -222.83061 177.08273 l -222.14545 177.89967 l -221.82921 178.40038 l -221.7765 178.55849 l -221.93462 178.76932 l -222.46167 178.98013 l -222.83061 178.98013 l -224.5172 178.2159 l -226.04565 177.97873 l -227.94305 177.24084 l -227.94305 177.10909 l -227.83765 176.66109 l -227.62682 176.37122 l -228.25929 176.13403 l -229.68234 176.13403 l -231.05267 176.13403 l -231.52702 175.55428 l -231.68515 175.44887 l -233.26631 174.39474 l -233.89879 174.13123 l -236.11241 174.10487 l -238.8004 174.10487 l -238.95851 173.76228 l -239.43286 173.68323 l -240.06534 173.44604 l -240.59239 172.78723 l -241.01404 171.65407 l -242.12085 170.54724 l -242.6479 170.91618 l -243.5966 170.679 l -244.28178 171.10065 l -244.28178 173.10347 l -245.23048 173.92039 l -245.494 174.39474 l -243.91284 175.10628 l -242.38438 175.60698 l -240.85591 176.05498 l -240.06534 176.92462 l -239.85451 177.24084 l -239.8018 178.03143 l -240.32886 178.79567 l -240.90862 178.84837 l -240.7505 178.29497 l -241.17215 178.63754 l -241.06674 179.05919 l -240.06534 179.29637 l -239.38016 179.24367 l -238.32605 179.50719 l -237.69359 179.58624 l -236.79759 179.66531 l -235.58536 180.08694 l -237.74629 179.79707 l -238.16794 180.08694 l -236.11241 180.53494 l -235.21642 180.53494 l -235.21642 180.35048 l -234.79477 180.74577 l -235.21642 180.82483 l -234.90019 181.87894 l -233.84607 182.98576 l -233.74066 182.61682 l -233.42444 182.53777 l -232.95009 182.16882 l -233.21361 182.95941 l -233.58255 183.22293 l -233.63525 183.77634 l -233.1609 184.35609 l -232.31761 185.51563 l -232.2122 185.46292 l -232.63385 184.46152 l -231.89597 183.90811 l -231.73785 182.69588 l -231.47432 183.32834 l -231.73785 184.25069 l -230.78915 184.01352 l -231.79056 184.48787 l -231.84326 185.88457 l -232.26491 185.98997 l -232.42302 186.49068 l -232.63385 187.96643 l -231.73785 189.04689 l -230.2094 189.46854 l -229.2607 190.33818 l -228.52281 190.44359 l -227.78494 190.97064 l -227.57411 191.47136 l -225.94025 192.42006 l -225.09695 193.10522 l -224.41177 193.97487 l -224.20096 195.00262 l -224.46449 196.03038 l -224.93884 197.29532 l -225.62401 198.32307 l -225.62401 198.95554 l -226.30917 200.64212 l -226.25647 201.64352 l -226.20377 202.19693 l -225.83482 203.09293 l -225.41319 203.2774 l -224.67531 203.11928 l -224.46449 202.46046 l -223.88472 202.11787 l -223.09415 200.8793 l -222.40897 199.74612 l -222.19815 199.16637 l -222.51437 198.21767 l -222.09273 197.40073 l -220.93321 196.18851 l -220.40616 195.95132 l -218.9304 196.61014 l -218.66687 196.53108 l -217.929 195.87227 l -217.033 195.50333 l -215.34642 195.68781 l -214.08148 195.52968 l -212.97467 195.60873 l -212.34221 195.84592 l -212.60573 196.24121 l -212.60573 196.82097 l -212.86926 197.11086 l -212.60573 197.32167 l -212.07867 197.08449 l -211.49892 197.37437 l -210.44481 197.32167 l -209.3907 196.55743 l -208.07306 196.74191 l -207.01894 196.39932 l -206.12296 196.50473 l -204.85802 196.84732 l -203.54037 197.92778 l -202.11732 198.56026 l -201.27403 199.27177 l -200.95781 199.9306 l -200.95781 200.93201 l -201.01051 201.64352 l -201.27403 202.11787 l -200.74698 202.17058 l -199.69287 201.85435 l -198.53334 201.40636 l -198.11171 200.72118 l -197.79547 199.69342 l -196.95218 198.85013 l -196.42513 197.98048 l -195.68724 196.97908 l -194.68584 196.39932 l -193.47362 196.42567 l -192.57762 197.58521 l -191.36539 197.16356 l -190.57481 196.71556 l -190.20587 195.89862 l -189.73152 195.13438 l -188.88823 194.50192 l -188.09764 194.02757 l -187.57059 193.52687 l -185.04073 193.52687 l -185.04073 194.10663 l -183.8812 194.10663 l -180.98239 194.13298 l -177.60924 193.10522 l -175.44832 192.39371 l -175.55373 192.10382 l -173.70903 192.26193 l -172.02245 192.36734 l -171.81163 191.62947 l -170.86293 190.78618 l -170.17775 190.60172 l -170.01964 190.18007 l -169.17635 190.10101 l -168.64929 189.70572 l -167.278946 189.57396 l -166.910004 189.33678 l -166.751892 188.54619 l -165.328842 187.07043 l -164.116608 185.01492 l -164.169327 184.69868 l -163.484146 184.19798 l -162.377335 182.98576 l -162.166504 181.77353 l -161.375931 180.98294 l -161.692154 179.77072 l -161.63945 178.50578 l -161.217804 177.39897 l -161.744858 176.00227 l -161.955688 174.68463 l -162.1138 173.36699 l -161.850281 171.39053 l -161.375931 170.15195 l -160.954285 169.46678 l -161.1651 169.1769 l -163.273331 169.6776 l -164.063904 171.04794 l -164.432846 170.679 l -164.169327 169.46678 l -163.694977 168.2809 l -h -115.996437 210.60347 m -116.259964 210.73523 l -116.523491 210.91971 l -116.892433 211.44676 l -116.839722 211.52582 l -116.259964 211.84206 l -115.785614 212.05287 l -115.574791 212.31641 l -115.205849 212.10558 l -115.25856 211.68393 l -115.047737 211.15688 l -115.100441 210.99876 l -115.363968 210.76158 l -115.25856 210.47171 l -115.311264 210.33995 l -115.469383 210.3663 l -115.996437 210.60347 l -h -115.153145 209.60207 m -114.995033 209.78653 l -114.520683 209.89195 l -114.257149 209.57571 l -114.099037 209.44395 l -114.099037 209.3649 l -114.257149 209.23312 l -114.731499 209.39125 l -115.153145 209.60207 l -h -114.046333 208.99596 m -113.993622 209.15407 l -113.203041 209.12772 l -113.308449 208.94325 l -114.046333 208.99596 l -h -112.148933 208.20537 m -112.307045 208.31078 l -112.728691 208.78513 l -112.623283 208.86418 l -112.517868 208.86418 l -112.043518 208.81148 l -111.832695 208.4689 l -111.779991 208.4162 l -112.148933 208.20537 l -h -110.198822 207.46748 m -110.251526 207.81007 l -110.04071 207.9682 l -109.56636 207.70467 l -109.619064 207.59926 l -109.882591 207.44113 l -110.198822 207.46748 l -h -99.815826 151.599594 m -100.975349 151.731354 l -101.133469 152.311111 l -100.184769 152.521942 l -99.236069 152.258408 l -98.340073 151.863129 l -99.815826 151.599594 l -h -119.211472 155.130859 m -120.160179 155.236282 l -120.792641 155.68428 l -119.52771 156.395798 l -118.051956 156.949203 l -117.314072 156.580276 l -117.103256 155.895096 l -118.420891 155.368042 l -119.211472 155.130859 l -h -137.131363 137.948853 m -137.078659 143.377533 l -137.078659 151.705002 l -138.554413 151.757706 l -139.977463 152.153 l -140.978867 152.811829 l -142.296509 153.760529 l -143.719559 152.943588 l -145.195313 152.469238 l -145.933197 153.233459 l -146.934601 153.839584 l -148.304947 154.498398 l -149.200943 155.552505 l -150.676697 157.212738 l -153.206558 158.135086 l -153.206558 159.057434 l -152.415985 159.768951 l -151.625397 159.215546 l -150.307755 158.767548 l -149.886108 157.476257 l -147.988708 156.29039 l -147.198135 154.920044 l -145.827789 154.814636 l -143.508743 154.788284 l -141.769455 154.366638 l -138.765244 152.838181 l -137.342194 152.574646 l -134.759613 152.047592 l -132.756805 152.179352 l -129.858002 151.494186 l -128.118713 150.86171 l -126.537552 151.177948 l -126.801079 152.205704 l -126.01049 152.28476 l -124.323914 152.600998 l -123.006279 153.1017 l -121.42511 153.391586 l -121.214287 152.548294 l -121.846756 151.098892 l -123.427917 150.650894 l -123.006279 150.281952 l -121.161583 151.098892 l -120.160179 152.073944 l -118.051956 153.128052 l -119.106064 153.839584 l -117.735718 154.86734 l -116.154556 155.499802 l -114.678795 155.9478 l -114.30986 156.580276 l -112.043518 157.344498 l -111.569168 158.029678 l -109.882591 158.66214 l -108.828476 158.53038 l -107.510841 158.952026 l -105.982376 159.452728 l -104.770149 159.927078 l -102.292992 160.348724 l -102.029465 160.111542 l -103.663338 159.426376 l -105.086388 158.978378 l -106.614845 158.18779 l -108.459541 158.003326 l -109.197418 157.397202 l -111.200226 156.527557 l -111.516464 156.237686 l -112.623283 155.710632 l -112.88681 154.603806 l -113.624687 153.760529 l -111.93811 154.182159 l -111.46376 153.944992 l -110.673172 154.472046 l -109.724472 153.734177 l -109.302826 154.26123 l -108.775772 153.523346 l -107.300018 154.103104 l -106.404022 154.103104 l -106.245903 153.233459 l -106.509438 152.706406 l -105.613441 152.179352 l -103.663338 152.469238 l -102.451103 151.784058 l -101.449699 151.415131 l -101.449699 150.59819 l -100.290176 149.965729 l -100.869942 149.122437 l -102.082169 148.305496 l -102.609222 147.567612 l -103.768745 147.462204 l -104.770149 147.699387 l -105.982376 146.987854 l -107.036491 147.119614 l -108.143311 146.645264 l -107.879776 145.98645 l -107.036491 145.722931 l -108.143311 145.143158 l -107.247314 145.16951 l -105.666145 145.485748 l -105.244499 145.801987 l -104.084976 145.485748 l -102.029465 145.64386 l -99.86853 145.301285 l -99.236069 144.721512 l -97.391373 143.878235 l -99.446892 143.245758 l -102.71463 142.534241 l -103.926865 142.534241 l -103.716042 143.27211 l -106.825668 143.219406 l -105.613441 142.297058 l -103.821449 141.743652 l -102.767342 141.005783 l -101.396996 140.399658 l -99.39418 139.925308 l -100.184769 139.161087 l -102.767342 139.108368 l -104.612038 138.449554 l -104.980972 137.738037 l -106.456726 137.026505 l -107.932487 136.868393 l -110.673172 136.209564 l -112.043518 136.314987 l -114.257149 135.550751 l -116.470787 135.840637 l -117.577606 136.499451 l -118.210068 136.235916 l -120.687233 136.314987 l -120.581818 136.657562 l -122.84816 136.894745 l -124.323914 136.762985 l -127.43354 137.210968 l -130.226944 137.342743 l -131.333755 137.553558 l -133.283859 137.316391 l -135.497498 137.738037 l -137.131363 137.948853 l -h -92.120819 146.618912 m -93.016808 146.908798 l -93.912804 146.750687 l -95.125031 147.145981 l -96.54808 147.330444 l -96.442673 147.488556 l -95.335854 147.804794 l -94.229034 147.488556 l -93.649277 147.225037 l -92.384346 147.304092 l -92.015404 147.172333 l -92.120819 146.618912 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -163.694977 168.2809 m -167.8587 168.2809 l -172.18057 168.2809 l -173.60362 168.2809 l -178.08359 168.2809 l -182.40544 168.2809 l -186.78001 168.2809 l -191.20728 168.2809 l -196.16159 168.2809 l -201.16862 168.2809 l -204.17284 168.2809 l -204.22556 167.701141 l -204.69991 167.701141 l -204.96342 168.49173 l -205.43777 168.75525 l -206.43918 168.83432 l -207.91493 169.07149 l -209.33798 169.51949 l -210.55022 169.33502 l -212.34221 169.7303 l -212.81656 169.70395 l -214.1342 169.2823 l -215.50455 169.80937 l -216.9276 170.38913 l -218.13982 170.86348 l -219.24663 171.33783 l -219.40475 171.73312 l -219.72098 171.86488 l -219.66827 172.02299 l -220.03722 172.04935 l -220.30075 171.91759 l -220.40616 172.26018 l -220.66968 172.49734 l -221.09132 172.49734 l -221.30215 172.65547 l -221.14403 172.91899 l -222.6725 173.60417 l -222.98872 174.94817 l -223.25226 176.21309 l -222.83061 177.08273 l -222.14545 177.89967 l -221.82921 178.40038 l -221.7765 178.55849 l -221.93462 178.76932 l -222.46167 178.98013 l -222.83061 178.98013 l -224.5172 178.2159 l -226.04565 177.97873 l -227.94305 177.24084 l -227.94305 177.10909 l -227.83765 176.66109 l -227.62682 176.37122 l -228.25929 176.13403 l -229.68234 176.13403 l -231.05267 176.13403 l -231.52702 175.55428 l -231.68515 175.44887 l -233.26631 174.39474 l -233.89879 174.13123 l -236.11241 174.10487 l -238.8004 174.10487 l -238.95851 173.76228 l -239.43286 173.68323 l -240.06534 173.44604 l -240.59239 172.78723 l -241.01404 171.65407 l -242.12085 170.54724 l -242.6479 170.91618 l -243.5966 170.679 l -244.28178 171.10065 l -244.28178 173.10347 l -245.23048 173.92039 l -245.494 174.39474 l -243.91284 175.10628 l -242.38438 175.60698 l -240.85591 176.05498 l -240.06534 176.92462 l -239.85451 177.24084 l -239.8018 178.03143 l -240.32886 178.79567 l -240.90862 178.84837 l -240.7505 178.29497 l -241.17215 178.63754 l -241.06674 179.05919 l -240.06534 179.29637 l -239.38016 179.24367 l -238.32605 179.50719 l -237.69359 179.58624 l -236.79759 179.66531 l -235.58536 180.08694 l -237.74629 179.79707 l -238.16794 180.08694 l -236.11241 180.53494 l -235.21642 180.53494 l -235.21642 180.35048 l -234.79477 180.74577 l -235.21642 180.82483 l -234.90019 181.87894 l -233.84607 182.98576 l -233.74066 182.61682 l -233.42444 182.53777 l -232.95009 182.16882 l -233.21361 182.95941 l -233.58255 183.22293 l -233.63525 183.77634 l -233.1609 184.35609 l -232.31761 185.51563 l -232.2122 185.46292 l -232.63385 184.46152 l -231.89597 183.90811 l -231.73785 182.69588 l -231.47432 183.32834 l -231.73785 184.25069 l -230.78915 184.01352 l -231.79056 184.48787 l -231.84326 185.88457 l -232.26491 185.98997 l -232.42302 186.49068 l -232.63385 187.96643 l -231.73785 189.04689 l -230.2094 189.46854 l -229.2607 190.33818 l -228.52281 190.44359 l -227.78494 190.97064 l -227.57411 191.47136 l -225.94025 192.42006 l -225.09695 193.10522 l -224.41177 193.97487 l -224.20096 195.00262 l -224.46449 196.03038 l -224.93884 197.29532 l -225.62401 198.32307 l -225.62401 198.95554 l -226.30917 200.64212 l -226.25647 201.64352 l -226.20377 202.19693 l -225.83482 203.09293 l -225.41319 203.2774 l -224.67531 203.11928 l -224.46449 202.46046 l -223.88472 202.11787 l -223.09415 200.8793 l -222.40897 199.74612 l -222.19815 199.16637 l -222.51437 198.21767 l -222.09273 197.40073 l -220.93321 196.18851 l -220.40616 195.95132 l -218.9304 196.61014 l -218.66687 196.53108 l -217.929 195.87227 l -217.033 195.50333 l -215.34642 195.68781 l -214.08148 195.52968 l -212.97467 195.60873 l -212.34221 195.84592 l -212.60573 196.24121 l -212.60573 196.82097 l -212.86926 197.11086 l -212.60573 197.32167 l -212.07867 197.08449 l -211.49892 197.37437 l -210.44481 197.32167 l -209.3907 196.55743 l -208.07306 196.74191 l -207.01894 196.39932 l -206.12296 196.50473 l -204.85802 196.84732 l -203.54037 197.92778 l -202.11732 198.56026 l -201.27403 199.27177 l -200.95781 199.9306 l -200.95781 200.93201 l -201.01051 201.64352 l -201.27403 202.11787 l -200.74698 202.17058 l -199.69287 201.85435 l -198.53334 201.40636 l -198.11171 200.72118 l -197.79547 199.69342 l -196.95218 198.85013 l -196.42513 197.98048 l -195.68724 196.97908 l -194.68584 196.39932 l -193.47362 196.42567 l -192.57762 197.58521 l -191.36539 197.16356 l -190.57481 196.71556 l -190.20587 195.89862 l -189.73152 195.13438 l -188.88823 194.50192 l -188.09764 194.02757 l -187.57059 193.52687 l -185.04073 193.52687 l -185.04073 194.10663 l -183.8812 194.10663 l -180.98239 194.13298 l -177.60924 193.10522 l -175.44832 192.39371 l -175.55373 192.10382 l -173.70903 192.26193 l -172.02245 192.36734 l -171.81163 191.62947 l -170.86293 190.78618 l -170.17775 190.60172 l -170.01964 190.18007 l -169.17635 190.10101 l -168.64929 189.70572 l -167.278946 189.57396 l -166.910004 189.33678 l -166.751892 188.54619 l -165.328842 187.07043 l -164.116608 185.01492 l -164.169327 184.69868 l -163.484146 184.19798 l -162.377335 182.98576 l -162.166504 181.77353 l -161.375931 180.98294 l -161.692154 179.77072 l -161.63945 178.50578 l -161.217804 177.39897 l -161.744858 176.00227 l -161.955688 174.68463 l -162.1138 173.36699 l -161.850281 171.39053 l -161.375931 170.15195 l -160.954285 169.46678 l -161.1651 169.1769 l -163.273331 169.6776 l -164.063904 171.04794 l -164.432846 170.679 l -164.169327 169.46678 l -163.694977 168.2809 l -h -115.996437 210.60347 m -116.259964 210.73523 l -116.523491 210.91971 l -116.892433 211.44676 l -116.839722 211.52582 l -116.259964 211.84206 l -115.785614 212.05287 l -115.574791 212.31641 l -115.205849 212.10558 l -115.25856 211.68393 l -115.047737 211.15688 l -115.100441 210.99876 l -115.363968 210.76158 l -115.25856 210.47171 l -115.311264 210.33995 l -115.469383 210.3663 l -115.996437 210.60347 l -h -115.153145 209.60207 m -114.995033 209.78653 l -114.520683 209.89195 l -114.257149 209.57571 l -114.099037 209.44395 l -114.099037 209.3649 l -114.257149 209.23312 l -114.731499 209.39125 l -115.153145 209.60207 l -h -114.046333 208.99596 m -113.993622 209.15407 l -113.203041 209.12772 l -113.308449 208.94325 l -114.046333 208.99596 l -h -112.148933 208.20537 m -112.307045 208.31078 l -112.728691 208.78513 l -112.623283 208.86418 l -112.517868 208.86418 l -112.043518 208.81148 l -111.832695 208.4689 l -111.779991 208.4162 l -112.148933 208.20537 l -h -110.198822 207.46748 m -110.251526 207.81007 l -110.04071 207.9682 l -109.56636 207.70467 l -109.619064 207.59926 l -109.882591 207.44113 l -110.198822 207.46748 l -h -99.815826 151.599594 m -100.975349 151.731354 l -101.133469 152.311111 l -100.184769 152.521942 l -99.236069 152.258408 l -98.340073 151.863129 l -99.815826 151.599594 l -h -119.211472 155.130859 m -120.160179 155.236282 l -120.792641 155.68428 l -119.52771 156.395798 l -118.051956 156.949203 l -117.314072 156.580276 l -117.103256 155.895096 l -118.420891 155.368042 l -119.211472 155.130859 l -h -137.131363 137.948853 m -137.078659 143.377533 l -137.078659 151.705002 l -138.554413 151.757706 l -139.977463 152.153 l -140.978867 152.811829 l -142.296509 153.760529 l -143.719559 152.943588 l -145.195313 152.469238 l -145.933197 153.233459 l -146.934601 153.839584 l -148.304947 154.498398 l -149.200943 155.552505 l -150.676697 157.212738 l -153.206558 158.135086 l -153.206558 159.057434 l -152.415985 159.768951 l -151.625397 159.215546 l -150.307755 158.767548 l -149.886108 157.476257 l -147.988708 156.29039 l -147.198135 154.920044 l -145.827789 154.814636 l -143.508743 154.788284 l -141.769455 154.366638 l -138.765244 152.838181 l -137.342194 152.574646 l -134.759613 152.047592 l -132.756805 152.179352 l -129.858002 151.494186 l -128.118713 150.86171 l -126.537552 151.177948 l -126.801079 152.205704 l -126.01049 152.28476 l -124.323914 152.600998 l -123.006279 153.1017 l -121.42511 153.391586 l -121.214287 152.548294 l -121.846756 151.098892 l -123.427917 150.650894 l -123.006279 150.281952 l -121.161583 151.098892 l -120.160179 152.073944 l -118.051956 153.128052 l -119.106064 153.839584 l -117.735718 154.86734 l -116.154556 155.499802 l -114.678795 155.9478 l -114.30986 156.580276 l -112.043518 157.344498 l -111.569168 158.029678 l -109.882591 158.66214 l -108.828476 158.53038 l -107.510841 158.952026 l -105.982376 159.452728 l -104.770149 159.927078 l -102.292992 160.348724 l -102.029465 160.111542 l -103.663338 159.426376 l -105.086388 158.978378 l -106.614845 158.18779 l -108.459541 158.003326 l -109.197418 157.397202 l -111.200226 156.527557 l -111.516464 156.237686 l -112.623283 155.710632 l -112.88681 154.603806 l -113.624687 153.760529 l -111.93811 154.182159 l -111.46376 153.944992 l -110.673172 154.472046 l -109.724472 153.734177 l -109.302826 154.26123 l -108.775772 153.523346 l -107.300018 154.103104 l -106.404022 154.103104 l -106.245903 153.233459 l -106.509438 152.706406 l -105.613441 152.179352 l -103.663338 152.469238 l -102.451103 151.784058 l -101.449699 151.415131 l -101.449699 150.59819 l -100.290176 149.965729 l -100.869942 149.122437 l -102.082169 148.305496 l -102.609222 147.567612 l -103.768745 147.462204 l -104.770149 147.699387 l -105.982376 146.987854 l -107.036491 147.119614 l -108.143311 146.645264 l -107.879776 145.98645 l -107.036491 145.722931 l -108.143311 145.143158 l -107.247314 145.16951 l -105.666145 145.485748 l -105.244499 145.801987 l -104.084976 145.485748 l -102.029465 145.64386 l -99.86853 145.301285 l -99.236069 144.721512 l -97.391373 143.878235 l -99.446892 143.245758 l -102.71463 142.534241 l -103.926865 142.534241 l -103.716042 143.27211 l -106.825668 143.219406 l -105.613441 142.297058 l -103.821449 141.743652 l -102.767342 141.005783 l -101.396996 140.399658 l -99.39418 139.925308 l -100.184769 139.161087 l -102.767342 139.108368 l -104.612038 138.449554 l -104.980972 137.738037 l -106.456726 137.026505 l -107.932487 136.868393 l -110.673172 136.209564 l -112.043518 136.314987 l -114.257149 135.550751 l -116.470787 135.840637 l -117.577606 136.499451 l -118.210068 136.235916 l -120.687233 136.314987 l -120.581818 136.657562 l -122.84816 136.894745 l -124.323914 136.762985 l -127.43354 137.210968 l -130.226944 137.342743 l -131.333755 137.553558 l -133.283859 137.316391 l -135.497498 137.738037 l -137.131363 137.948853 l -h -92.120819 146.618912 m -93.016808 146.908798 l -93.912804 146.750687 l -95.125031 147.145981 l -96.54808 147.330444 l -96.442673 147.488556 l -95.335854 147.804794 l -94.229034 147.488556 l -93.649277 147.225037 l -92.384346 147.304092 l -92.015404 147.172333 l -92.120819 146.618912 l -h -S -/DeviceRGB {} CS -[0.9882 0.7412 0.1725] SC -/DeviceRGB {} cs -[0.9882 0.7412 0.1725] sc -259.14474 284.23315 m -260.09344 284.07501 l -261.56921 285.20819 l -262.09625 285.15549 l -263.62473 286.10419 l -264.78424 286.92114 l -265.62753 287.92255 l -264.94235 288.6077 l -265.36401 289.42465 l -264.73154 290.34698 l -263.09766 291.16394 l -261.99084 290.87405 l -261.20026 291.03217 l -259.82993 290.39969 l -258.88123 290.45239 l -257.98523 289.63547 l -258.09064 288.68677 l -258.40686 288.37054 l -258.40686 286.92114 l -258.77582 285.39267 l -259.14474 284.23315 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -259.14474 284.23315 m -260.09344 284.07501 l -261.56921 285.20819 l -262.09625 285.15549 l -263.62473 286.10419 l -264.78424 286.92114 l -265.62753 287.92255 l -264.94235 288.6077 l -265.36401 289.42465 l -264.73154 290.34698 l -263.09766 291.16394 l -261.99084 290.87405 l -261.20026 291.03217 l -259.82993 290.39969 l -258.88123 290.45239 l -257.98523 289.63547 l -258.09064 288.68677 l -258.40686 288.37054 l -258.40686 286.92114 l -258.77582 285.39267 l -259.14474 284.23315 l -h -S -/DeviceRGB {} CS -[0.9843 0.6471 0.2157] SC -/DeviceRGB {} cs -[0.9843 0.6471 0.2157] sc -254.61206 232.39722 m -254.77019 232.79251 l -254.24313 233.34592 l -252.60925 233.89934 l -251.55515 234.13651 l -251.1335 234.4791 l -249.97398 234.11015 l -248.86716 233.92569 l -248.60364 234.05745 l -249.2888 234.45274 l -249.2361 235.4278 l -249.39421 236.35014 l -250.65915 236.4819 l -250.71185 236.77179 l -249.71045 237.19344 l -249.49963 237.8259 l -248.91986 238.06306 l -247.81305 238.40565 l -247.54951 238.85365 l -246.39 238.93271 l -245.59941 238.16849 l -245.17776 236.69272 l -244.75613 236.19202 l -244.22906 235.87579 l -244.96695 235.13791 l -244.91425 234.82169 l -244.4926 234.37369 l -244.22906 233.39862 l -244.33449 232.34451 l -244.65071 231.87016 l -244.91425 231.07959 l -244.38719 230.81606 l -243.5439 231.00052 l -242.48979 230.92146 l -241.91003 231.07959 l -240.90862 229.81465 l -240.06534 229.63019 l -238.16794 229.76195 l -237.799 229.26125 l -237.43005 229.12947 l -237.37735 228.8396 l -237.58817 228.28619 l -237.43005 227.70642 l -237.11382 227.36385 l -236.9557 226.70502 l -236.16512 226.59961 l -236.58676 225.75632 l -236.79759 224.70221 l -237.21924 224.1488 l -237.74629 223.72716 l -238.11522 223.01563 l -239.06392 222.75211 l -239.01122 223.0947 l -238.16794 223.27916 l -238.64229 223.93797 l -238.64229 224.70221 l -238.00981 225.5455 l -238.53687 226.73137 l -239.16934 226.62596 l -239.48557 225.57185 l -239.06392 225.0448 l -238.95851 223.93797 l -240.80321 223.35822 l -240.59239 222.6467 l -241.11945 222.1987 l -241.6465 223.22646 l -242.6479 223.25281 l -243.5966 224.06975 l -243.64931 224.5441 l -244.96695 224.57045 l -246.54811 224.41232 l -247.3914 225.07115 l -248.49821 225.25562 l -249.34151 224.78127 l -249.34151 224.41232 l -251.1335 224.33327 l -252.92549 224.30692 l -251.66055 224.75491 l -252.18761 225.44009 l -253.34714 225.5455 l -254.45395 226.25702 l -254.66478 227.4429 l -255.45535 227.41655 l -256.03513 227.75914 l -254.8756 228.60242 l -254.71748 229.15582 l -255.24454 229.68289 l -254.8756 229.97276 l -253.9796 230.20995 l -253.9796 230.86876 l -253.61066 231.26405 l -254.61206 232.39722 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -254.61206 232.39722 m -254.77019 232.79251 l -254.24313 233.34592 l -252.60925 233.89934 l -251.55515 234.13651 l -251.1335 234.4791 l -249.97398 234.11015 l -248.86716 233.92569 l -248.60364 234.05745 l -249.2888 234.45274 l -249.2361 235.4278 l -249.39421 236.35014 l -250.65915 236.4819 l -250.71185 236.77179 l -249.71045 237.19344 l -249.49963 237.8259 l -248.91986 238.06306 l -247.81305 238.40565 l -247.54951 238.85365 l -246.39 238.93271 l -245.59941 238.16849 l -245.17776 236.69272 l -244.75613 236.19202 l -244.22906 235.87579 l -244.96695 235.13791 l -244.91425 234.82169 l -244.4926 234.37369 l -244.22906 233.39862 l -244.33449 232.34451 l -244.65071 231.87016 l -244.91425 231.07959 l -244.38719 230.81606 l -243.5439 231.00052 l -242.48979 230.92146 l -241.91003 231.07959 l -240.90862 229.81465 l -240.06534 229.63019 l -238.16794 229.76195 l -237.799 229.26125 l -237.43005 229.12947 l -237.37735 228.8396 l -237.58817 228.28619 l -237.43005 227.70642 l -237.11382 227.36385 l -236.9557 226.70502 l -236.16512 226.59961 l -236.58676 225.75632 l -236.79759 224.70221 l -237.21924 224.1488 l -237.74629 223.72716 l -238.11522 223.01563 l -239.06392 222.75211 l -239.01122 223.0947 l -238.16794 223.27916 l -238.64229 223.93797 l -238.64229 224.70221 l -238.00981 225.5455 l -238.53687 226.73137 l -239.16934 226.62596 l -239.48557 225.57185 l -239.06392 225.0448 l -238.95851 223.93797 l -240.80321 223.35822 l -240.59239 222.6467 l -241.11945 222.1987 l -241.6465 223.22646 l -242.6479 223.25281 l -243.5966 224.06975 l -243.64931 224.5441 l -244.96695 224.57045 l -246.54811 224.41232 l -247.3914 225.07115 l -248.49821 225.25562 l -249.34151 224.78127 l -249.34151 224.41232 l -251.1335 224.33327 l -252.92549 224.30692 l -251.66055 224.75491 l -252.18761 225.44009 l -253.34714 225.5455 l -254.45395 226.25702 l -254.66478 227.4429 l -255.45535 227.41655 l -256.03513 227.75914 l -254.8756 228.60242 l -254.71748 229.15582 l -255.24454 229.68289 l -254.8756 229.97276 l -253.9796 230.20995 l -253.9796 230.86876 l -253.61066 231.26405 l -254.61206 232.39722 l -h -S -/DeviceRGB {} CS -[0.9882 0.6667 0.2078] SC -/DeviceRGB {} cs -[0.9882 0.6667 0.2078] sc -496.21436 224.64951 m -497.47931 224.06975 l -499.06046 223.96432 l -498.37531 223.06834 l -500.85245 221.93517 l -501.01059 220.19588 l -500.69434 219.22083 l -500.95789 217.74507 l -500.58893 216.71732 l -499.48212 215.68956 l -498.58612 214.39827 l -497.3739 212.68535 l -495.58191 211.78935 l -496.00354 211.2623 l -496.95224 210.89336 l -496.3725 209.60207 l -494.58051 209.60207 l -493.94803 208.25807 l -493.05203 207.12491 l -493.84262 206.75597 l -495.00214 206.75597 l -496.4252 206.59785 l -497.69012 205.80727 l -498.37531 206.36067 l -499.74564 206.62421 l -499.48212 207.46748 l -500.22 208.07361 l -501.69574 208.44255 l -499.74564 209.70747 l -498.48071 211.07782 l -498.16449 212.10558 l -499.32401 213.63405 l -500.64163 215.5578 l -502.01199 216.4538 l -502.90799 217.63966 l -503.54044 220.354 l -503.38232 222.91022 l -502.1174 223.88527 l -500.48352 224.83397 l -499.2713 226.0462 l -497.42661 227.41655 l -496.89954 226.46785 l -497.3212 225.4928 l -496.21436 224.64951 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -496.21436 224.64951 m -497.47931 224.06975 l -499.06046 223.96432 l -498.37531 223.06834 l -500.85245 221.93517 l -501.01059 220.19588 l -500.69434 219.22083 l -500.95789 217.74507 l -500.58893 216.71732 l -499.48212 215.68956 l -498.58612 214.39827 l -497.3739 212.68535 l -495.58191 211.78935 l -496.00354 211.2623 l -496.95224 210.89336 l -496.3725 209.60207 l -494.58051 209.60207 l -493.94803 208.25807 l -493.05203 207.12491 l -493.84262 206.75597 l -495.00214 206.75597 l -496.4252 206.59785 l -497.69012 205.80727 l -498.37531 206.36067 l -499.74564 206.62421 l -499.48212 207.46748 l -500.22 208.07361 l -501.69574 208.44255 l -499.74564 209.70747 l -498.48071 211.07782 l -498.16449 212.10558 l -499.32401 213.63405 l -500.64163 215.5578 l -502.01199 216.4538 l -502.90799 217.63966 l -503.54044 220.354 l -503.38232 222.91022 l -502.1174 223.88527 l -500.48352 224.83397 l -499.2713 226.0462 l -497.42661 227.41655 l -496.89954 226.46785 l -497.3212 225.4928 l -496.21436 224.64951 l -h -S -/DeviceRGB {} CS -[0.9843 0.6353 0.2196] SC -/DeviceRGB {} cs -[0.9843 0.6353 0.2196] sc -395.33591 193.89581 m -394.65076 194.10663 l -394.70346 193.71133 l -395.07239 193.52687 l -394.70346 193.34241 l -395.01968 192.36734 l -395.54675 192.57817 l -395.54675 193.47417 l -395.33591 193.89581 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -395.33591 193.89581 m -394.65076 194.10663 l -394.70346 193.71133 l -395.07239 193.52687 l -394.70346 193.34241 l -395.01968 192.36734 l -395.54675 192.57817 l -395.54675 193.47417 l -395.33591 193.89581 l -h -S -/DeviceRGB {} CS -[0.8275 0.3216 0.4392] SC -/DeviceRGB {} cs -[0.8275 0.3216 0.4392] sc -419.63318 212.18463 m -420.79269 214.6091 l -421.26706 215.63686 l -420.16025 216.0058 l -419.89673 216.66461 l -419.84399 217.16531 l -418.42096 217.79778 l -416.04919 218.4566 l -414.78427 219.51071 l -414.09909 219.58977 l -413.67746 219.48436 l -412.83417 220.09047 l -411.88547 220.38036 l -410.67325 220.45941 l -410.30429 220.53847 l -409.98807 220.93376 l -409.56644 221.03917 l -409.35559 221.40811 l -408.61774 221.38176 l -408.14337 221.56622 l -407.14197 221.51352 l -406.77304 220.64388 l -406.82574 219.8533 l -406.56219 219.4053 l -406.29868 218.32484 l -405.87704 217.71872 l -406.14056 217.66602 l -406.03516 216.98085 l -406.19327 216.71732 l -406.14056 216.0585 l -406.77304 215.6105 l -406.6149 214.97803 l -406.98386 214.26651 l -407.61633 214.63545 l -407.98526 214.50368 l -409.67184 214.47733 l -409.93536 214.63545 l -411.3584 214.76721 l -411.93817 214.68816 l -412.3071 215.18886 l -412.99228 214.95168 l -414.04639 213.39687 l -415.41675 212.73805 l -419.63318 212.18463 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -419.63318 212.18463 m -420.79269 214.6091 l -421.26706 215.63686 l -420.16025 216.0058 l -419.89673 216.66461 l -419.84399 217.16531 l -418.42096 217.79778 l -416.04919 218.4566 l -414.78427 219.51071 l -414.09909 219.58977 l -413.67746 219.48436 l -412.83417 220.09047 l -411.88547 220.38036 l -410.67325 220.45941 l -410.30429 220.53847 l -409.98807 220.93376 l -409.56644 221.03917 l -409.35559 221.40811 l -408.61774 221.38176 l -408.14337 221.56622 l -407.14197 221.51352 l -406.77304 220.64388 l -406.82574 219.8533 l -406.56219 219.4053 l -406.29868 218.32484 l -405.87704 217.71872 l -406.14056 217.66602 l -406.03516 216.98085 l -406.19327 216.71732 l -406.14056 216.0585 l -406.77304 215.6105 l -406.6149 214.97803 l -406.98386 214.26651 l -407.61633 214.63545 l -407.98526 214.50368 l -409.67184 214.47733 l -409.93536 214.63545 l -411.3584 214.76721 l -411.93817 214.68816 l -412.3071 215.18886 l -412.99228 214.95168 l -414.04639 213.39687 l -415.41675 212.73805 l -419.63318 212.18463 l -h -S -/DeviceRGB {} CS -[0.1804 0.0196 0.5843] SC -/DeviceRGB {} cs -[0.1804 0.0196 0.5843] sc -388.48419 252.21451 m -389.11667 252.58345 l -389.69641 252.82063 l -390.64514 253.08415 l -391.4357 253.5058 l -392.17358 254.16463 l -392.54254 255.4032 l -392.27899 255.79849 l -391.96277 256.98438 l -392.27899 258.19659 l -391.80466 258.72366 l -391.33029 260.06766 l -392.12088 260.46292 l -387.6936 261.6488 l -387.79901 262.70291 l -386.6922 262.91376 l -385.90161 263.4935 l -385.6908 263.9942 l -385.16376 264.09961 l -383.8988 265.31186 l -383.10825 266.26056 l -382.58118 266.2869 l -382.10681 266.12878 l -380.47296 265.97067 l -380.20941 265.86526 l -380.20941 265.73349 l -379.62967 265.3909 l -378.68097 265.31186 l -377.46875 265.65442 l -376.52005 264.73209 l -375.51862 263.5462 l -375.62405 258.88177 l -378.68097 258.90811 l -378.52286 258.40741 l -378.73367 257.854 l -378.47015 257.16882 l -378.68097 256.45731 l -378.52286 255.98296 l -378.99719 256.03568 l -379.1026 256.48367 l -379.78778 256.45731 l -380.68378 256.58908 l -381.21082 257.24789 l -382.37036 257.45871 l -383.26636 256.98438 l -383.58258 257.7486 l -384.7421 257.95941 l -385.26917 258.59189 l -385.84891 259.38248 l -386.95575 259.40881 l -386.85031 257.82767 l -386.42868 258.09119 l -385.42728 257.53778 l -385.05835 257.27426 l -385.21646 255.79849 l -385.47998 254.0592 l -385.16376 253.42674 l -385.58539 252.47804 l -385.95435 252.31993 l -387.90445 252.0564 l -388.48419 252.21451 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -388.48419 252.21451 m -389.11667 252.58345 l -389.69641 252.82063 l -390.64514 253.08415 l -391.4357 253.5058 l -392.17358 254.16463 l -392.54254 255.4032 l -392.27899 255.79849 l -391.96277 256.98438 l -392.27899 258.19659 l -391.80466 258.72366 l -391.33029 260.06766 l -392.12088 260.46292 l -387.6936 261.6488 l -387.79901 262.70291 l -386.6922 262.91376 l -385.90161 263.4935 l -385.6908 263.9942 l -385.16376 264.09961 l -383.8988 265.31186 l -383.10825 266.26056 l -382.58118 266.2869 l -382.10681 266.12878 l -380.47296 265.97067 l -380.20941 265.86526 l -380.20941 265.73349 l -379.62967 265.3909 l -378.68097 265.31186 l -377.46875 265.65442 l -376.52005 264.73209 l -375.51862 263.5462 l -375.62405 258.88177 l -378.68097 258.90811 l -378.52286 258.40741 l -378.73367 257.854 l -378.47015 257.16882 l -378.68097 256.45731 l -378.52286 255.98296 l -378.99719 256.03568 l -379.1026 256.48367 l -379.78778 256.45731 l -380.68378 256.58908 l -381.21082 257.24789 l -382.37036 257.45871 l -383.26636 256.98438 l -383.58258 257.7486 l -384.7421 257.95941 l -385.26917 258.59189 l -385.84891 259.38248 l -386.95575 259.40881 l -386.85031 257.82767 l -386.42868 258.09119 l -385.42728 257.53778 l -385.05835 257.27426 l -385.21646 255.79849 l -385.47998 254.0592 l -385.16376 253.42674 l -385.58539 252.47804 l -385.95435 252.31993 l -387.90445 252.0564 l -388.48419 252.21451 l -h -S -/DeviceRGB {} CS -[0.2314 0.0157 0.6039] SC -/DeviceRGB {} cs -[0.2314 0.0157 0.6039] sc -389.16937 272.58521 m -388.37878 272.42709 l -387.90445 272.61157 l -387.16656 272.34805 l -386.58679 272.34805 l -385.63809 271.68921 l -384.53128 271.45206 l -384.10965 270.52969 l -384.10965 270.00266 l -383.47717 269.84451 l -381.79059 268.237 l -381.31625 267.39371 l -381.0527 267.13019 l -380.47296 265.97067 l -382.10681 266.12878 l -382.58118 266.2869 l -383.10825 266.26056 l -383.8988 265.31186 l -385.16376 264.09961 l -385.6908 263.9942 l -385.90161 263.4935 l -386.6922 262.91376 l -387.79901 262.70291 l -387.90445 263.25632 l -389.11667 263.22998 l -389.80185 263.51987 l -390.11807 263.88879 l -390.80325 263.9942 l -391.59384 264.46857 l -391.59384 266.31326 l -391.27759 267.341 l -391.22488 268.42148 l -391.4884 268.86948 l -391.33029 269.71277 l -391.06677 269.84451 l -390.69785 270.92499 l -389.16937 272.58521 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -389.16937 272.58521 m -388.37878 272.42709 l -387.90445 272.61157 l -387.16656 272.34805 l -386.58679 272.34805 l -385.63809 271.68921 l -384.53128 271.45206 l -384.10965 270.52969 l -384.10965 270.00266 l -383.47717 269.84451 l -381.79059 268.237 l -381.31625 267.39371 l -381.0527 267.13019 l -380.47296 265.97067 l -382.10681 266.12878 l -382.58118 266.2869 l -383.10825 266.26056 l -383.8988 265.31186 l -385.16376 264.09961 l -385.6908 263.9942 l -385.90161 263.4935 l -386.6922 262.91376 l -387.79901 262.70291 l -387.90445 263.25632 l -389.11667 263.22998 l -389.80185 263.51987 l -390.11807 263.88879 l -390.80325 263.9942 l -391.59384 264.46857 l -391.59384 266.31326 l -391.27759 267.341 l -391.22488 268.42148 l -391.4884 268.86948 l -391.33029 269.71277 l -391.06677 269.84451 l -390.69785 270.92499 l -389.16937 272.58521 l -h -S -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -499.53482 162.694122 m -499.48212 162.509644 l -500.27271 162.140701 l -500.58893 161.85083 l -501.01059 161.639999 l -501.64304 161.165649 l -502.1701 160.55954 l -503.1188 159.452728 l -503.32962 158.688492 l -503.80399 158.424957 l -504.43643 158.451324 l -504.0675 159.505432 l -504.0148 159.900726 l -503.75125 160.454132 l -503.54044 161.218353 l -503.38232 161.50824 l -503.0661 161.271057 l -502.48633 161.771774 l -502.74985 161.85083 l -502.69714 162.114349 l -502.27551 162.219772 l -501.85385 162.694122 l -501.32681 163.036697 l -500.58893 163.27388 l -499.58752 163.40564 l -498.79694 163.827286 l -498.2699 164.22258 l -497.58472 164.591522 l -496.95224 164.670578 l -496.16165 164.617874 l -495.37109 164.459747 l -495.21295 164.248932 l -495.52921 164.090805 l -496.31979 164.090805 l -497.3212 163.87999 l -497.90094 163.458344 l -498.63882 163.115753 l -499.06046 162.957642 l -499.53482 162.694122 l -h -198.63876 161.060242 m -200.11452 160.454132 l -200.32533 160.875778 l -200.53616 161.798126 l -202.38086 164.749634 l -202.59167 165.803741 l -201.90651 166.146332 l -201.64297 165.698334 l -201.16862 164.617874 l -199.74557 163.616455 l -198.21712 162.087997 l -198.63876 161.060242 l -h -175.13208 149.280548 m -173.97255 148.437256 l -173.60362 148.094681 l -173.91985 148.147385 l -175.97537 148.621735 l -177.55653 149.17514 l -179.87558 148.595383 l -180.92969 147.88385 l -182.19463 147.646683 l -183.35414 147.962906 l -183.82849 148.041962 l -183.77579 148.22644 l -182.30003 148.48996 l -180.61345 148.727142 l -178.61064 149.886658 l -177.13489 150.59819 l -174.65773 150.888062 l -173.02385 150.914429 l -170.6521 150.2556 l -170.23045 150.176544 l -170.17775 149.939362 l -170.49399 149.886658 l -172.4968 150.229248 l -174.18338 149.702194 l -175.13208 149.280548 l -h -231.89597 175.60698 m -232.00137 176.18674 l -230.89456 176.66109 l -229.68234 176.55568 l -228.52281 176.50298 l -227.78494 176.68744 l -227.31059 176.76649 l -226.73082 176.60838 l -227.15247 176.10768 l -227.62682 175.94957 l -228.68092 175.73874 l -229.89316 175.52792 l -230.52562 175.81779 l -230.94727 175.47522 l -231.42162 175.29074 l -231.73785 175.39615 l -231.89597 175.60698 l -h -221.82921 178.40038 m -222.6198 178.47943 l -223.72661 178.03143 l -224.35907 177.60979 l -224.78072 177.55708 l -225.5713 177.68884 l -225.99295 177.47803 l -226.67812 177.29355 l -227.94305 177.10909 l -227.99576 177.24084 l -226.73082 178.11049 l -225.62401 178.53214 l -224.88612 178.74297 l -223.99014 179.13824 l -222.93602 179.34908 l -222.19815 179.27002 l -221.30215 178.95378 l -221.82921 178.40038 l -h -212.34221 169.7303 m -212.92197 169.15054 l -213.76526 168.91338 l -214.08148 168.54443 l -214.39772 168.35997 l -215.76807 168.64984 l -216.76947 168.70255 l -217.13841 168.88702 l -217.61276 169.7303 l -219.24663 169.94113 l -218.98311 170.36278 l -219.56287 170.78442 l -219.35205 171.33783 l -219.93181 171.52229 l -219.66827 172.02299 l -219.19392 171.97029 l -218.8777 171.54865 l -217.45465 171.68042 l -216.13701 171.99664 l -215.1356 171.44324 l -214.29231 171.25877 l -214.76666 170.49454 l -213.44902 170.96889 l -212.28951 171.44324 l -211.18268 171.81218 l -210.28668 171.31148 l -208.81093 171.6277 l -208.81093 171.41689 l -209.81233 170.78442 l -210.86646 170.20465 l -212.34221 169.7303 l -h -393.3858 241.54164 m -392.64795 242.20045 l -392.17358 242.85928 l -392.75336 243.35999 l -391.91006 243.72891 l -391.75195 243.5708 l -390.90866 243.64986 l -390.22348 243.96609 l -389.85455 243.41269 l -390.11807 242.38493 l -390.17078 241.51529 l -390.06537 240.93552 l -390.75055 240.09224 l -391.64655 239.88141 l -392.27899 239.51247 l -393.06958 239.80235 l -393.49124 240.46117 l -393.3858 241.54164 l -h -387.16656 150.361008 m -388.6423 149.570435 l -391.11948 150.519135 l -391.75195 151.230652 l -391.54111 151.467834 l -391.22488 151.388779 l -391.22488 151.863129 l -389.90726 151.81041 l -389.64371 152.28476 l -389.01126 152.28476 l -389.06396 151.942184 l -388.22067 151.230652 l -388.16797 150.940781 l -387.16656 150.361008 l -h -459.10965 171.575 m -459.53131 171.70677 l -459.00424 172.12842 l -458.31906 172.23383 l -456.52707 172.0757 l -454.20804 171.91759 l -453.94452 171.68042 l -453.89182 171.97029 l -453.15393 172.0757 l -452.94312 172.49734 l -452.25793 172.65547 l -451.99442 174.13123 l -450.99301 173.23523 l -450.99301 172.94534 l -451.46735 172.62912 l -451.36194 172.39194 l -451.83627 172.36559 l -451.94171 172.02299 l -453.20663 171.46959 l -455.05133 171.52229 l -456.47437 171.70677 l -457.47577 171.70677 l -458.10825 171.97029 l -458.26636 171.70677 l -459.10965 171.575 l -h -388.5896 252.5571 m -388.11526 252.45169 l -388.22067 251.87193 l -387.79901 251.47664 l -387.6409 250.68605 l -386.7449 249.89546 l -386.21786 248.84135 l -386.48138 248.20889 l -386.11246 247.39195 l -386.37598 245.04655 l -386.90305 246.4696 l -386.85031 247.15479 l -387.11386 247.39195 l -387.06116 247.99806 l -387.32468 248.57784 l -387.00845 249.13124 l -388.16797 250.13264 l -388.32608 251.02864 l -389.16937 252.76793 l -388.90585 252.87334 l -388.5896 252.5571 l -h -395.12509 260.91092 m -395.07239 261.06906 l -394.54535 260.51566 l -394.2818 260.88458 l -394.07098 260.56836 l -394.07098 260.01492 l -393.75476 259.59329 l -393.75476 258.96082 l -393.3331 257.88037 l -393.75476 257.06342 l -393.64935 255.29779 l -393.12228 254.34909 l -393.2804 253.90109 l -394.01828 254.69168 l -394.17639 256.22012 l -394.65076 256.77356 l -394.2818 258.19659 l -394.54535 260.06766 l -394.80887 260.12036 l -395.12509 260.91092 l -h -429.43643 173.39334 m -429.54184 172.81358 l -430.17429 172.76088 l -430.64865 173.10347 l -430.70135 172.20747 l -431.01758 172.28653 l -431.49194 172.5237 l -431.49194 172.81358 l -431.28113 172.94534 l -431.12299 173.36699 l -431.49194 173.28793 l -431.70276 174.44745 l -431.38654 175.21169 l -431.01758 175.34344 l -429.96347 175.05357 l -430.38513 174.13123 l -430.38513 173.84134 l -429.80536 173.57782 l -429.75266 173.9731 l -429.75266 174.50017 l -429.12018 175.29074 l -428.80396 174.89545 l -428.80396 174.28934 l -429.43643 173.39334 l -h -363.9761 153.338882 m -363.9761 153.496994 l -363.8707 153.760529 l -362.922 154.208527 l -362.28952 154.340286 l -361.76248 154.340286 l -361.86789 153.944992 l -361.81519 153.813232 l -362.0787 153.707809 l -362.55307 153.628754 l -362.81659 153.44429 l -363.39636 153.128052 l -363.9761 153.338882 l -h -225.36047 200.77388 m -225.04425 200.72118 l -225.04425 200.37859 l -225.36047 200.4313 l -225.36047 200.77388 l -h -219.29935 223.67445 m -218.66687 223.6481 l -217.929 223.1474 l -217.77087 222.56764 l -218.24522 222.51492 l -219.03581 223.12105 l -219.29935 223.67445 l -h -397.86578 222.6467 m -397.70767 222.38316 l -398.0239 222.09329 l -398.44556 222.1987 l -398.39285 222.6994 l -398.18201 222.85751 l -397.86578 222.6467 l -h -241.91003 263.59891 m -241.43568 263.30902 l -241.06674 263.0455 l -241.22485 262.94009 l -241.22485 262.75562 l -241.17215 262.46576 l -241.5938 262.57117 l -242.48979 263.25632 l -242.5425 263.28268 l -242.85873 263.9415 l -242.6479 264.15231 l -242.48979 264.20502 l -242.38438 264.09961 l -242.22626 264.02057 l -242.12085 263.75702 l -241.91003 263.59891 l -h -198.00629 162.219772 m -197.79547 162.246124 l -197.37383 162.193405 l -196.47783 162.008942 l -196.21431 161.639999 l -196.63594 161.323776 l -196.47783 161.086594 l -196.53053 161.03389 l -196.63594 160.823074 l -196.74136 160.612244 l -197.11029 160.638596 l -197.05759 160.796707 l -196.84677 161.060242 l -197.32112 161.060242 l -197.21571 161.218353 l -197.00488 161.771774 l -197.58464 161.98259 l -198.00629 162.008942 l -198.00629 162.219772 l -h -395.75757 148.83255 m -396.28461 149.64949 l -396.75897 150.308304 l -396.33734 150.677246 l -395.2305 150.782654 l -394.54535 150.519135 l -395.01968 150.545486 l -395.59946 150.571838 l -394.96698 150.12384 l -394.54535 149.886658 l -393.96558 149.43866 l -393.64935 148.911606 l -393.70206 148.806198 l -394.2291 148.911606 l -394.17639 148.569031 l -394.49265 148.806198 l -394.86157 149.043381 l -395.07239 148.96431 l -395.44135 148.858902 l -394.96698 148.516312 l -394.17639 148.121033 l -394.70346 148.147385 l -395.07239 148.252792 l -395.75757 148.83255 l -h -179.29582 179.48083 m -179.34853 179.77072 l -179.29582 180.19237 l -178.55794 179.79707 l -178.50523 179.74437 l -178.2417 179.05919 l -178.66335 179.34908 l -178.92688 179.48083 l -179.24312 179.34908 l -179.29582 179.48083 l -h -171.12645 143.061295 m -170.81023 143.588348 l -170.5994 143.720108 l -168.22765 143.772812 l -168.22765 143.878235 l -168.33305 144.062698 l -168.28035 144.299881 l -165.855896 145.011398 l -165.855896 144.853287 l -166.435654 144.299881 l -166.277542 144.194458 l -164.063904 144.800583 l -163.115204 144.589752 l -163.167908 144.378937 l -164.432846 143.693756 l -164.380142 143.535645 l -160.585342 143.298462 l -160.638046 143.166702 l -168.59659 141.954483 l -168.7547 142.112595 l -167.595184 142.692352 l -171.33728 142.560593 l -171.33728 142.771408 l -171.12645 143.061295 l -h -182.98521 153.57605 m -180.87698 154.26123 l -180.71887 154.103104 l -180.77158 153.971344 l -183.77579 152.811829 l -187.51788 153.154404 l -187.51788 153.207108 l -182.98521 153.57605 l -h -194.31691 155.078156 m -194.84396 155.288986 l -194.21149 156.053207 l -194.26419 156.211334 l -192.41951 157.528976 l -192.31409 157.423553 l -192.52492 157.001907 l -192.57762 156.975555 l -192.68303 157.186386 l -193.31549 156.659332 l -192.99927 156.132278 l -192.99927 155.868744 l -194.00067 155.078156 l -194.31691 155.078156 l -h -222.83061 177.08273 m -222.77791 176.47662 l -222.51437 175.63333 l -221.93462 175.47522 l -221.03862 176.13403 l -220.7751 176.10768 l -220.66968 175.73874 l -221.46027 175.15898 l -221.61838 174.50017 l -221.51297 173.84134 l -220.40616 173.26158 l -219.19392 172.97169 l -219.40475 172.76088 l -219.45746 172.78723 l -220.7751 172.65547 l -220.03722 172.04935 l -220.30075 171.83853 l -220.61697 172.18112 l -221.7238 172.36559 l -222.83061 172.36559 l -223.99014 172.5237 l -225.30777 172.81358 l -225.78212 173.26158 l -226.73082 174.36839 l -226.25647 174.86909 l -225.09695 174.65828 l -224.35907 173.76228 l -224.5172 174.68463 l -223.83202 175.50157 l -223.88472 176.18674 l -223.77931 176.60838 l -222.83061 177.08273 l -h -219.40475 172.76088 m -219.19392 172.97169 l -218.98311 173.5251 l -218.66687 173.68323 l -218.40335 174.39474 l -218.24522 173.89404 l -217.66547 174.26299 l -217.29652 174.73734 l -216.9276 175.47522 l -216.82217 176.08133 l -217.34923 177.00368 l -217.29652 177.95238 l -216.71677 178.66389 l -216.40053 178.87473 l -215.9789 179.03284 l -215.50455 179.03284 l -215.34642 178.95378 l -214.97748 178.16319 l -214.97748 177.79427 l -215.03018 177.42532 l -214.81937 176.71379 l -215.0829 175.89687 l -215.45183 174.86909 l -216.18971 173.73593 l -215.9789 173.73593 l -214.87207 174.68463 l -214.71396 174.52652 l -215.29372 173.99945 l -216.13701 173.05075 l -217.13841 172.91899 l -218.29793 172.62912 l -219.40475 172.76088 l -h -f -Q -Q -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 250 278.125] cm -q -548 0 30 321 re -W -[30.000001 0 0 321.000013 548.000026 0.00000370833] cm -/DeviceRGB {} cs -/t0 0 def -/t1 1 def -/dt 1 def -/x0 0 def -/y0 1 def -/dx 0 def -/x1 0 def -/y1 0 def -/dy -1 def -/xMin -0.000001 def -/yMin -0 def -/xMax 0.999999 def -/yMax 1 def -/n 3 def -/func { dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.224 mul 0.051 add -1 index 1 exp -0.019 mul 0.031 add -2 index 1 exp 0.095 mul 0.529 add -4 3 roll pop -} -/xpdfFunc0_0 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.172 mul 0.275 add -1 index 1 exp -0.008 mul 0.012 add -2 index 1 exp 0.035 mul 0.624 add -4 3 roll pop -} -/xpdfFunc0_1 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.165 mul 0.447 add -1 index 1 exp 0.086 mul 0.004 add -2 index 1 exp -0.039 mul 0.659 add -4 3 roll pop -} -/xpdfFunc0_2 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.129 mul 0.612 add -1 index 1 exp 0.126 mul 0.09 add -2 index 1 exp -0.095 mul 0.62 add -4 3 roll pop -} -/xpdfFunc0_3 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.106 mul 0.741 add -1 index 1 exp 0.125 mul 0.216 add -2 index 1 exp -0.105 mul 0.525 add -4 3 roll pop -} -/xpdfFunc0_4 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.082 mul 0.847 add -1 index 1 exp 0.134 mul 0.341 add -2 index 1 exp -0.095 mul 0.42 add -4 3 roll pop -} -/xpdfFunc0_5 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.055 mul 0.929 add -1 index 1 exp 0.149 mul 0.475 add -2 index 1 exp -0.098 mul 0.325 add -4 3 roll pop -} -/xpdfFunc0_6 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.008 mul 0.984 add -1 index 1 exp 0.168 mul 0.624 add -2 index 1 exp -0.078 mul 0.227 add -4 3 roll pop -} -/xpdfFunc0_7 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp -0.051 mul 0.992 add -1 index 1 exp 0.184 mul 0.792 add -2 index 1 exp -0.02 mul 0.149 add -4 3 roll pop -} -/xpdfFunc0_8 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -dup 0.111111 lt { 0 sub 9 mul 0 add xpdfFunc0_0 } { -dup 0.222222 lt { 0.111111 sub 9 mul 0 add xpdfFunc0_1 } { -dup 0.333333 lt { 0.222222 sub 8.999999 mul 0 add xpdfFunc0_2 } { -dup 0.444444 lt { 0.333333 sub 9 mul 0 add xpdfFunc0_3 } { -dup 0.555556 lt { 0.444444 sub 8.999998 mul 0 add xpdfFunc0_4 } { -dup 0.666667 lt { 0.555556 sub 9 mul 0 add xpdfFunc0_5 } { -dup 0.777778 lt { 0.666667 sub 9.000001 mul 0 add xpdfFunc0_6 } { -dup 0.888889 lt { 0.777778 sub 9 mul 0 add xpdfFunc0_7 } { -0.888889 sub 9.000001 mul 0 add xpdfFunc0_8 -} ifelse -} ifelse -} ifelse -} ifelse -} ifelse -} ifelse -} ifelse -} ifelse -} -def -0 1 0 axialSH -Q -Q -q -[3.125 0 0 3.125 250 1272.21875] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\027\000\023) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 1155.5625] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\027\000\030) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 1038.875] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\030\000\023) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 922.21869] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\030\000\030) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 805.53119] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\031\000\023) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 688.875] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\031\000\030) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 572.1875] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\032\000\023) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 455.53125] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\032\000\030) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 338.875] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\033\000\023) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 627.53998 82] Tm -0 0 Td -/F7_0 12 Tf -(\000O\000L\000I\000H\000\(\000[\000S) -[7.201172 -0 -7.201172 -0 -7.201172 -0 -7.201172 -0 -7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -Q -Q -showpage -%%PageTrailer -pdfEndPage -%%Trailer -end -%%DocumentSuppliedResources: -%%+ font LiberationMono -%%EOF diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.jpeg b/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.jpeg deleted file mode 100644 index 75fd4dc4af8cafbbba4c77ba8ee2958f1ab08b4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49785 zcmeEubyS;O&}S$VDOR9`;tr*_JCq{9DNwsbM~)qa*{K@+~>LXW|Dhn=FUu>W}j98ujOUrWB^D=007eS1Msu}kOUyV z_=o;^MSdm}RFr=R9ToK@DhB$iR~YCR7_YE!v0h=~U}9ik<6-0AzJ87O`V|&F0sd=( zXa4m+ogn>lCo&59^Np`DF)*Ls{lBEAb^sna()o)PWF#8E3p^xbJfx>?0LAkpUmzp> zLxBHDsAwoJ(UCEbUc7p4H+~I3LP2_-Iw~s4D-<-$S7`rSkMa@~4G*81fD`@ATN(*t zLM~O!q$yfHS2qkI-cL?J)iuy=I~Osz!Um6%<$XNzFMpXX4~7J+Hb+2dztd4H35_2)1@g_cRZ{LVlh$9x@(49B^9@ z7WRUM3Oy{4h6eCo?0?DO|M^D%X{E`{Oy@1(f>x*MyDds%RKGa@IcqY>52Wpau06T$$GL5viweKv})qA%}tT31oN zup%3S1;3l&c>&WmM8`gv5*{n#NLygd=XpdOm9P6*6V*2d!AT!9%BHc1AU2OnHrWfQ zmr{p@jKFsq!Fw(eIO-qRXuqAI^&#l(n!_XQV*}M*4ScprQz?>C0rQ=kMQ}U@s zC0wN3*prh)!gRTlw^BE(-5QURN8rXOxT}=+C<|tKIn?Gt$$WiZ2`}%u zRiQh4Th3^mxAQNiKC+Mk8Lk#pX^?sb8F?y?XC0OBCM=*Scf#S8dI$Nuwpo zPF4d^7JtyKic4T-d2L;m=ek)-7a~Wo7hTC5yA!Y9MJcy=CZOYF2af6MQB#zm(yEWP zdje=w?Q;_g9pUezY9$jX(s|)JCX^=gmfwz8k@~TVz#YF7W@+_bxt;Aa#QR<0a@CdA zndxL-*1ZT3X1GDnoH7p__Wc@s{I?74y=z za|MUb6H+#pIfwe6;`pu$nS;U`{6@B4b9ImDJdkp*C^n>M4adx-|{ z%;^((n|{c;d6$|iPM~`q{K7nf_+QXR!Aor0a;zKPMirR)JLF$53%0D%n8tm|ThUL& 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 GXZ{a;Lxp(& diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.png b/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.png deleted file mode 100644 index 09398a3d610ec7c1fbd7cf8ec5b6a836ffc68d2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87589 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 z z`b6FU@cM6pXHq!jh!K#u%#gCH)d>#`F=H@5Z0$lM>+3p+psc&-JkN5nbxudfB$X*~ zSaglaPRA2(Ib2Sm_Q=keTn>apIN9PZn=p0 z2JgMkmu%$Z!x+=yRF3>}T*1$WnqoMfd5g3hMB&O+Rs|~5sEov~Q)C}*Hvxc*@u>Qi z$#R(Ru#aBHwsaJsIMy0P_>*fJqDmei3jerAN+Z(MPg1UP!cNG}f1^-ZGYm(MEqu`z0QE;7^2+vxF3P83-w9%;3AZmm%u&D4Uv?>@#(=UOvp4mtvN0(~_W@}&O>5@yiZ z4*qWjMBSu9@!aD3!Bwt4UL-icK&RtCBzGY+mwdtL^-e$+Z-T4@hk6r-T;gCnTv|r+ zd8#bMIlx>YMJ1IMhC*nBo|$y#frFL+&ox&QlxoPDU@gYPC)>~6o~2o1O&bhzP_dUX zk?{$Oet)tYS?Z2_8#@aGuU zW8I!wIeO7nsCSvJEx2G4I(j`!J^;fl6M1^Q@;3?B-C`S7PobL(LD{O|sIKkg#b}qp zrxYwM%L#YDiHXHJo!?Jra!gZ)1L7CXrP?@g>XQv?Dq4%Qx=7_muMs51a3^J;8}i&^%Ct_gCP zT(95ZBFOFEV^Ffj1T%J5oh2$c=*b2ua{U@rcyPy)C2Zve)yZ`^-ZX@UY<*5P*4UU5 z5Fr`qg%Nj@tY6Vm2cA)g}1Z&=@MJxyHTUvtFn2%xT}qf}vp((P(Q+&gQ0 zA-jZrrkI3tSQHjwMh8jEyW?M(Fr$tn`IRXAe{8)2cb;3+F1*vmX_CgaZL5uKv$1VA zwr%T)oiu7}+qUiGyZ5`#JH{E~e1Bn$wdR`hnim|t18&J?du3~-O*s~(JVfjQ)+YAl zJ4nbfkl(JehXk|H1EDk0`XI-mItzr4>!hDaUmY~Lvy!n0B11fpL7R0Q?m@B@WOJur zaou^Tc;l?ri{X+gAjju55g$EQuoNXWaayOZA_>q7R^obh1}x&wHNX1f$+UUgh8$c0 z*N3T61(GKEoY6W}?2Y&3w8<2kvF0i}t!A73zYFtTx@vtv>MT4cUo@Idp3Oj0g!#Ug z7t$GAgYhXjv$eLH{0Ea6gCR=AQ!UrGS#LHQ?Zf$#B?-lnWK`onQjj$@A$p-G5-Z*= z1~YA5N2*2{dOS-Wc_94F%VebfZ{oy%(72jg8KE~RYA|$=5yDG|8z-hjZ1VPKHTu=W z7JuSH=z(ma|GxFyWM1J+_fZb6`W%0Md{@e>J@HHgUmls=JuGR9*>~^PC5h_Tm8lnB zzR+i#rvQe5wiPa;X`4`QH`gpk8?U4_LJlbgkhb5r znGg%9*J8S&pVA;v($;fglL;wl%y@g`Q+UK0>*WfJ zceW4(mEG9RnX3io6^NRg)-KoCvzfYNzJV5Ckm)$t78}`wi6O}F zZ z@XJzAcBPJK9Kr3Pqb}Cd)DdHG^U zuq*^@Q*EnV>koh6Pf~ZdOWP_OZ;Y|$R9@Jxp-(PLVrmyPwg>}>xRHG0sE9Wpmu6ne;Pr>!%Z>rRDjI#}{NP{! zpsQRxJWSN6AE>nap+YHfcrL*-!l=x-Y2-)DTXGK1zKGqvCc(Mfl7UrJTKEM6H2}Lyx;68L}hV*?JKwTYVTpfOwF` zP#vBJ5Jj3j&?7BG)94stdPX9$iT+&|*rxv5@AJOSNFxE_cPLlikKo!yJ!$Pv<||61 z&NgxpYgBt4-4UoL73BvE!QYdJSxD$v_9dDj_TXsMq2;TyI~0C*_;1%xydCX!P7dVc z)UX9auxV>SwT1$9;;0>xLPN*vH8v#C7@CAKH$r-Q|5_UsI6^^r zTvb%r4a)p3K}}&4r_C<1eQ+e0q&ZI;$3-L7d27Kx!5ie)9f)_vwZuUj)k?+;6--$kX^Vv zuF8IyQ7FCDJR_j6vsiLM0z*c>eJ{Wkkv!47toxHbG&=eq;8AR*Mnh`Ds+^n%R0CQSIp1mKg-F8oq@Oy2Dc~qU4+o!|L;VW@;Aa&Y2F_~1C0PopP|An~eS&W^F z4^u%P1|D3IJWhP+k3K)yn~QrWTRZ&LxY7lf=Vw0sMehzmWofhe3_Sm=dxXLbuALg)-w zD*Pu7EI~X(!%C1`mGOR5?h29Ch-k-`ip8kmxzKf^A2WZDYCHgTdmbsH;yjoI$6OJO zVgy%&M1g3rRsLyjR=iZVinwmu=i#kkSMLh^jfLLl<+wyx=Pl?T3MRxrJ-t?xQFe{S zKfW)=6fTt+qkZII;4K>aFt1h)h6ig!a_OUceWNfa6i6fp6CBRyXgO($iKY9M_N;t*~5qh zUGUW^9D^zfs?@b7s%<_8Imrr1VG&=FGH#^B0^_qk9+W23c7HIaq%oZR1 zw8MB3`G|jrn;9upLhqt6_rf?!-{OMNMbdY|)GvQ8{fZh&>lYoXjM+Zg6Sqa{{PcX+SP?oy{~ec4k$`8tI{Ynh>V2=of=mzQFx;7HjHq>#BlS7y)R8fY6eFvp z+C_)CY@HRRs-L(juvm1Tz_wXT`NKMuQC~1R_h`Kc&j%PW$TleGWC8-#K$}^ykey_w z8cr_fB%lATMm-C(9$*!3UySxUwNe+!Z~L?VtzfGEZg$)riqeP)#o=MjL)9AV>3V1| zy&iK(2smU0E+_q)t<@5}Ts4BVVS}_qz`2i(#H$aN^mFcjKDlNMr3s=D=7a4T9Gn zI|!V`NFq%})0P*UMtgBWpr-$6Lz3 zHx5Xr#ed4MSzSMNadLD)U*1<;qCso#H*4U`x1aU?J2MFV&&+Tp#Ui{l5QXE#>`Yt$ zB9|v&+~r-v__^rX{MB)_ke8@kjkuqdf4^^SKojmbiNE(}an^OAeKlgKGM9HD9Tyc+ zqo&NzZpc~}cLTQc8!sI( zVIyoWAC-x8>xIxd?>&Zp*|cq_-?!I4E}uMq0jn#ws{he=E~oH^{BU#QL=iJg!8 zU8$&r@yTiVeA(N^LCisVP00^IV2jq>jcv2(VCI@4@RtAUu~TT-ew?2I3fjqP z8mn;{dtHsVcX-cVvrv#`X4k;sC+?wWzA3nhqLe&Y=eNbR3p<(kz}|jxt|hwn_`={- zO5bvR-LhlHK*U82u}8~wmN~+Y(VpaRElOv%DM$X)K977$+@kT{!R_x8f3;tqs4+38 ztKsOpl;0SpA{Wd|{xXoiMWB*UpMiN>oVeBJr#E*xnojsTgM%C4cVl3$Lu0oZigk^y zJ(Qu|GxE6~<8=)NNy;MsNonYW(2HWJrS8euw_I5LRy)PNzPTwN*X6Tx*4JhB(+6q8 zG7Ij&xUMJKSL_;4&>rlh^!*E1WP2YwLIVn~;3qLP^=10k);0xdBtt~1Ff}a!b|~(M z(8bi{WsZ4+&pAUFnhEZihMH_$v{|u8!`WX0K|eH|-6Nz1AGVF7MayUPnU63Pn2-u! zeA+39Wl2ozR4gxY85i`_9GEvUR8HAfZJA<_TD+c_2_nvayf zwmvI$+Yz6V(w}!5aix3C`sc@1)zf?Xf4^nmqH14un(e>q*~!j3m@k6;w~2_Nxl&<& zC2R();;-~OSmz+2-CkVDh58ho8IPdI8vXksEAxmn;OgaQO82S{U4W)r7*kh9%=t5t zWB>+x$wx@A@*flxmbBZ)D4_)X0|K9ljfQcb2=~ap)m+Cb?_5&*#m+$?x51}$#DIv`Ig0sI6oj=`l)!3=G_!WFypElQv z8F2vtvxY%+!tpJZYpAG4TJ{+p_&w5uNk4{eq z*C%0aJpvWBe;uoLeO^BX>xP0FHVR+-tJ zcY#TMjSH^FwZ{**u8mAjgai|Ma?^f>DVVQ6Cjm#jU|sY<-3W{#C!%OO5;$Lg+?BoI103ZC2Gq$s z$))VNHYw?E$`3R+m-T$DA7l?65YmEKN_fI%Rj2A)PzrClnWb#?Y~7VXd^|RlB^wDX zE4>mjH?3Rn)Q&-K@VIHb)?Oe(&S#9NnvHKm1)|zPIbW z=cox@`2aq(^l)d(MRYWYV1GZB&S&#T(x%N4!Fo{GfvPYSoq zL>|FL_I*tL5k|J3O3|#2QD!T-^f(s3!)RqI@O>+{VlYgsHai%m`zy4X5iaZ7Fm*Xa z3;L-OB{lI?N`tCS%vW;p7to8XJ}e0U1+}uPZoA8QIyYd^TKUxVRyuO+Y&Gkj-!I8* zx#8954M+pH=eMI$C?0J#|MsoL7gw�G?Y>JI^an$5K}tHvBz=N8y(mMzQXVS<0DL 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.webp b/src/kaleido/tests/test_py/baselines/plotly/failed/topojson.webp deleted file mode 100644 index fb1aed72c1d645d5af6733d2e73eb64e399d845a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21340 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 z%0A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 i(#RL4*6Ww?x`6Y=000000000000000000000001|iK^rP diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.eps b/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.eps deleted file mode 100644 index 52b6f874..00000000 --- a/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.eps +++ /dev/null @@ -1,2635 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%Produced by poppler pdftops version: 0.80.0 (http://poppler.freedesktop.org) -%%Creator: Chromium -%%LanguageLevel: 2 -%%DocumentSuppliedResources: (atend) -%%BoundingBox: 0 0 526 376 -%%HiResBoundingBox: 0 0 525.12 375.12 -%%DocumentSuppliedResources: (atend) -%%EndComments -%%BeginProlog -%%BeginResource: procset xpdf 3.00 0 -%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC -/xpdf 75 dict def xpdf begin -% PDF special state -/pdfDictSize 15 def -/pdfSetup { - /setpagedevice where { - pop 2 dict begin - /Policies 1 dict dup begin /PageSize 6 def end def - { /Duplex true def } if - currentdict end setpagedevice - } { - pop - } ifelse -} def -/pdfSetupPaper { - % Change paper size, but only if different from previous paper size otherwise - % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size - % so we use the same when checking if the size changes. - /setpagedevice where { - pop currentpagedevice - /PageSize known { - 2 copy - currentpagedevice /PageSize get aload pop - exch 4 1 roll - sub abs 5 gt - 3 1 roll - sub abs 5 gt - or - } { - true - } ifelse - { - 2 array astore - 2 dict begin - /PageSize exch def - /ImagingBBox null def - currentdict end - setpagedevice - } { - pop pop - } ifelse - } { - pop - } ifelse -} def -/pdfStartPage { - pdfDictSize dict begin - /pdfFillCS [] def - /pdfFillXform {} def - /pdfStrokeCS [] def - /pdfStrokeXform {} def - /pdfFill [0] def - /pdfStroke [0] def - /pdfFillOP false def - /pdfStrokeOP false def - /pdfLastFill false def - /pdfLastStroke false def - /pdfTextMat [1 0 0 1 0 0] def - /pdfFontSize 0 def - /pdfCharSpacing 0 def - /pdfTextRender 0 def - /pdfPatternCS false def - /pdfTextRise 0 def - /pdfWordSpacing 0 def - /pdfHorizScaling 1 def - /pdfTextClipPath [] def -} def -/pdfEndPage { end } def -% PDF color state -/cs { /pdfFillXform exch def dup /pdfFillCS exch def - setcolorspace } def -/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def - setcolorspace } def -/sc { pdfLastFill not { pdfFillCS setcolorspace } if - dup /pdfFill exch def aload pop pdfFillXform setcolor - /pdfLastFill true def /pdfLastStroke false def } def -/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if - dup /pdfStroke exch def aload pop pdfStrokeXform setcolor - /pdfLastStroke true def /pdfLastFill false def } def -/op { /pdfFillOP exch def - pdfLastFill { pdfFillOP setoverprint } if } def -/OP { /pdfStrokeOP exch def - pdfLastStroke { pdfStrokeOP setoverprint } if } def -/fCol { - pdfLastFill not { - pdfFillCS setcolorspace - pdfFill aload pop pdfFillXform setcolor - pdfFillOP setoverprint - /pdfLastFill true def /pdfLastStroke false def - } if -} def -/sCol { - pdfLastStroke not { - pdfStrokeCS setcolorspace - pdfStroke aload pop pdfStrokeXform setcolor - pdfStrokeOP setoverprint - /pdfLastStroke true def /pdfLastFill false def - } if -} def -% build a font -/pdfMakeFont { - 4 3 roll findfont - 4 2 roll matrix scale makefont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /Encoding exch def - currentdict - end - definefont pop -} def -/pdfMakeFont16 { - exch findfont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /WMode exch def - currentdict - end - definefont pop -} def -% graphics state operators -/q { gsave pdfDictSize dict begin } def -/Q { - end grestore - /pdfLastFill where { - pop - pdfLastFill { - pdfFillOP setoverprint - } { - pdfStrokeOP setoverprint - } ifelse - } if -} def -/cm { concat } def -/d { setdash } def -/i { setflat } def -/j { setlinejoin } def -/J { setlinecap } def -/M { setmiterlimit } def -/w { setlinewidth } def -% path segment operators -/m { moveto } def -/l { lineto } def -/c { curveto } def -/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath } def -/h { closepath } def -% path painting operators -/S { sCol stroke } def -/Sf { fCol stroke } def -/f { fCol fill } def -/f* { fCol eofill } def -% clipping operators -/W { clip newpath } def -/W* { eoclip newpath } def -/Ws { strokepath clip newpath } def -% text state operators -/Tc { /pdfCharSpacing exch def } def -/Tf { dup /pdfFontSize exch def - dup pdfHorizScaling mul exch matrix scale - pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put - exch findfont exch makefont setfont } def -/Tr { /pdfTextRender exch def } def -/Tp { /pdfPatternCS exch def } def -/Ts { /pdfTextRise exch def } def -/Tw { /pdfWordSpacing exch def } def -/Tz { /pdfHorizScaling exch def } def -% text positioning operators -/Td { pdfTextMat transform moveto } def -/Tm { /pdfTextMat exch def } def -% text string operators -/xyshow where { - pop - /xyshow2 { - dup length array - 0 2 2 index length 1 sub { - 2 index 1 index 2 copy get 3 1 roll 1 add get - pdfTextMat dtransform - 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put - } for - exch pop - xyshow - } def -}{ - /xyshow2 { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval show moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval show moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/cshow where { - pop - /xycp { - 0 3 2 roll - { - pop pop currentpoint 3 2 roll - 1 string dup 0 4 3 roll put false charpath moveto - 2 copy get 2 index 2 index 1 add get - pdfTextMat dtransform rmoveto - 2 add - } exch cshow - pop pop - } def -}{ - /xycp { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval false charpath moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval false charpath moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/Tj { - fCol - 0 pdfTextRise pdfTextMat dtransform rmoveto - currentpoint 4 2 roll - pdfTextRender 1 and 0 eq { - 2 copy xyshow2 - } if - pdfTextRender 3 and dup 1 eq exch 2 eq or { - 3 index 3 index moveto - 2 copy - currentfont /FontType get 3 eq { fCol } { sCol } ifelse - xycp currentpoint stroke moveto - } if - pdfTextRender 4 and 0 ne { - 4 2 roll moveto xycp - /pdfTextClipPath [ pdfTextClipPath aload pop - {/moveto cvx} - {/lineto cvx} - {/curveto cvx} - {/closepath cvx} - pathforall ] def - currentpoint newpath moveto - } { - pop pop pop pop - } ifelse - 0 pdfTextRise neg pdfTextMat dtransform rmoveto -} def -/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 - pdfTextMat dtransform rmoveto } def -/TJmV { 0.001 mul pdfFontSize mul neg 0 exch - pdfTextMat dtransform rmoveto } def -/Tclip { pdfTextClipPath cvx exec clip newpath - /pdfTextClipPath [] def } def -/Tclip* { pdfTextClipPath cvx exec eoclip newpath - /pdfTextClipPath [] def } def -% Level 2/3 image operators -/pdfImBuf 100 string def -/pdfImStr { - 2 copy exch length lt { - 2 copy get exch 1 add exch - } { - () - } ifelse -} def -/skipEOD { - { currentfile pdfImBuf readline - not { pop exit } if - (%-EOD-) eq { exit } if } loop -} def -/pdfIm { image skipEOD } def -/pdfImM { fCol imagemask skipEOD } def -/pr { 2 index 2 index 3 2 roll putinterval 4 add } def -/pdfImClip { - gsave - 0 2 4 index length 1 sub { - dup 4 index exch 2 copy - get 5 index div put - 1 add 3 index exch 2 copy - get 3 index div put - } for - pop pop rectclip -} def -/pdfImClipEnd { grestore } def -% shading operators -/colordelta { - false 0 1 3 index length 1 sub { - dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { - pop true - } if - } for - exch pop exch pop -} def -/funcCol { func n array astore } def -/funcSH { - dup 0 eq { - true - } { - dup 6 eq { - false - } { - 4 index 4 index funcCol dup - 6 index 4 index funcCol dup - 3 1 roll colordelta 3 1 roll - 5 index 5 index funcCol dup - 3 1 roll colordelta 3 1 roll - 6 index 8 index funcCol dup - 3 1 roll colordelta 3 1 roll - colordelta or or or - } ifelse - } ifelse - { - 1 add - 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch - 6 index 6 index 4 index 4 index 4 index funcSH - 2 index 6 index 6 index 4 index 4 index funcSH - 6 index 2 index 4 index 6 index 4 index funcSH - 5 3 roll 3 2 roll funcSH pop pop - } { - pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul - funcCol sc - dup 4 index exch mat transform m - 3 index 3 index mat transform l - 1 index 3 index mat transform l - mat transform l pop pop h f* - } ifelse -} def -/axialCol { - dup 0 lt { - pop t0 - } { - dup 1 gt { - pop t1 - } { - dt mul t0 add - } ifelse - } ifelse - func n array astore -} def -/axialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index axialCol 2 index axialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index axialSH - exch 3 2 roll axialSH - } { - pop 2 copy add 0.5 mul - axialCol sc - exch dup dx mul x0 add exch dy mul y0 add - 3 2 roll dup dx mul x0 add exch dy mul y0 add - dx abs dy abs ge { - 2 copy yMin sub dy mul dx div add yMin m - yMax sub dy mul dx div add yMax l - 2 copy yMax sub dy mul dx div add yMax l - yMin sub dy mul dx div add yMin l - h f* - } { - exch 2 copy xMin sub dx mul dy div add xMin exch m - xMax sub dx mul dy div add xMax exch l - exch 2 copy xMax sub dx mul dy div add xMax exch l - xMin sub dx mul dy div add xMin exch l - h f* - } ifelse - } ifelse -} def -/radialCol { - dup t0 lt { - pop t0 - } { - dup t1 gt { - pop t1 - } if - } ifelse - func n array astore -} def -/radialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index dt mul t0 add radialCol - 2 index dt mul t0 add radialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index radialSH - exch 3 2 roll radialSH - } { - pop 2 copy add 0.5 mul dt mul t0 add - radialCol sc - encl { - exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 0 360 arc h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 360 0 arcn h f - } { - 2 copy - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arcn - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arcn h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arc - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arc h f - } ifelse - } ifelse -} def -end -%%EndResource -%%EndProlog -%%BeginSetup -xpdf begin -%%BeginResource: font LiberationMono -/LiberationMono_sfnts [ -<00010000000b0080000300306376742067066d57000000bc000002ae6670676d -7e61b6110000036c000007b4676c79666939d49400000b200000063068656164 -04d4c02000001150000000366868656108c1fdc50000118800000024686d7478 -399c0838000011ac000001606c6f63614aea49960000130c000000b26d617870 -04cf04c0000013c00000002070726570c8f38c8f000013e00000057a76686561 -000208010000195c00000024766d74780800000000001980000000b200> -<05cc05cc007d054500150060054500150000000000000000000000000000043a -001400770000ffec00000000ffecff5f0000ffec0000fe57fe57000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000008000000000000b400bd00aa00a000c800b40085000000000000 -0088007e00a500c000000000000000000000000000bf00c900ab008c00bc009b -008d003400000000000000000000000000000000000000000000000000b900b4 -007c000000000094005f00000000000000000000000000000000000000000000 -0000000001a8006f007800a400c80083008d00bb005e018a0103006000740081 -00b800c0005004b104c3fe4c00eb01b200c30109007b012b029600c9009600db -05d804d500000000000000000000000000000000009200a8006b009200b7006b -009b0000000002f20092023e006e02a50345008900a00060024c000000c30000 -014e00a4015b005e00800069006f0000005e0068000000000000000000000000 -0026034a0087007b000000750068000000000000000000000582fcb1000bfff4 -00830089008f009600690071005b005200000000000000b202030000008d031f -00bb00ae00b500000000008b000000000000000006a9037002bc0208fd990091 -0091004d004d006400640181009f00a8fe68fe9c009b014501450090fef6ffe9 -007a0545024d000cffee0598fcf3006e004c0062004600e80000000000000000 -00000000000000000000000000000000000000000000000005cc000ffc1efff2 -02fb000e0416000afed300bf0000000000000000035b0010fd22ffecff78fff0 -fe60fe5302fb000f041605a505b205c30079005f06810468001404cb0000ffec -ffd3fe7f008300db00aa00ba00a0000000> -<40475b5a59585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c -3b3a393837363531302f2e2d2c28272625242322211f181411100f0e0d0b0a09 -0807060504030201002c20b0016045b003252011466123452361482d2c204518 -68442d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 -b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d -2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c -20452320b0cd442320b8015a51582320b08d44235920b0ed51582320b04d4423 -5920b0042651582320b00d44235921212d2c20204518684420b001602045b046 -76688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b2d2c00b028 -2370b101283e01b0282370b10228453ab10200080d2d2c2045b00325456164b0 -50515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b0 -0743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c -58b00361592d2c8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c23 -4445b02b23442d2c4b525845441b2121592d2c4b515845441b2121592d2c01b0 -05251023208af500b0016023edec2d2c01b005251023208af500b0016123edec -2d2c01b0062510f500edec2d2cb00243b001525821212121211b462346608a8a -462320468a608a61b8ff8062232010238ab10c0c8a70456020b0005058b00161 -b8ffba8b1bb0468c59b0106068013a592d2c2045b0032546524bb013515b58b0 -022546206861b00325b003253f2321381b2111592d2c2045b00325465058b002 -2546206861b00325b003253f2321381b2111592d2c00b00743b006430b2d2c21 -210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b -59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c -0c6423648bb84000626023212d2c4b53588ab004254964234569b0408b61b080 -62b020616ab00e23442310b00ef61b21238a121120392f592d2c4b535820b003 -2549646920b00526b0062549642361b08062b020616ab00e2344b0042610b00e -f68a10b00e2344b00ef6b00e2344b00eed1b8ab00426111220392320392f2f59 -2d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045b00054 -58b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c -4b5158b02f2370b01423421b2121592d2c4b515820b0032545695358441b2121 -591b2121592d2c45b01443b0006063b0016069442d2cb02f45442d2c45232045 -8a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3330034005944 -442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 -01615923586559b02923442310b029e01b2121212121592d2cb0024354584b53 -234b515a58381b2121591b21212121592d2cb0164358b004254564b020606620 -581b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b0 -042510b005252046b0042523423cb00425b0072508b0072510b006252046b004 -25b0016023423c2058011b0059b0042510b00525b029e0b02920456544b00725 -10b00625b029e0b00525b00825082058021b0359b00525b003254348b00425b0 -072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 -46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002 -2543482121212d2c452320451820b00050205823652359236820b040505821b0 -4059235865598a60442d2c4b53234b515a5820458a60441b2121592d2c4b5458 -20458a60441b2121592d2c4b53234b515a58381b2121592d2cb000214b545838 -1b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b21 -2121592d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b2121 -21592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b0005358 -20b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140 -408a704560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d -2cb012004b014b54422d2cb1020042b123018851b1400188535a58b910000020 -885458b202010243604259b12401885158b920000040885458b2020202436042 -b12401885458b2022002436042004b014b5258b2020802436042591bb9400000 -80885458b202040243604259b94000008063b80100885458b202080243604259 -b94000010063b80200885458b202100243604259b12601885158b94000020063 -b80400885458b202400243604259b94000040063b80800885458b20280024360 -42595959595959b10002435458400a0540084009400c020d021bb10102435458 -b2054008ba010000090100b30c010d011bb18002435258b2054008b80180b109 -401bb2054008ba01800009014059b9400000808855b94000020063b804008855 -5a58b30c000d011bb30c000d0159595942424242422d2c451868234b51582320 -452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e00b0 -02233eb10102060cb00a236542b00b234201b001233f00b002233fb10102060c -b006236542b0072342b00116012d2cb080b0024350b001b00243545b58212310 -b0201ac91b8a10ed592d2cb0592b2d2c8a10e52d00> -<0002007f0000038102ee00030007001e400c060007030003080905010600002f -cd2fcd111201393911331133313033112111032111217f030281fe00020002ee -fd12026dfe14000000> -<000101f0000002db012b00030017400a030000040500019b5b00002f2b111201 -39113331302111331101f0eb012bfed500> -<0003007cffec044f055a000b0017001b0054402e1a190c1212060c0006001c1d -0f18010f181f18020d18400f191f1902150319190309090f7359090703157359 -0319003f2b00183f2b11120039182f5f5e5d1acd5e5d71111201393911331133 -1112393931300110022322021110122132120310022322021110123332122535 -3315044ff9f3f3f4ee00fff9edb78da2a69193a09f94fe58eb02a3feaefe9b01 -630154015d015afea3fea601220103ff00fedbfee3fef9010e9ef9f900> -<000100940000046a0545000e0038401d0d0c06010a010c0302020f1007067359 -0707030a060c01000173590018003f2b110033183f33332f2b11120139111733 -1133113331303335211106042335322437331121159d01b725feeb8694010734 -a601619103fd4e74948263fb4c91000000> -<000100900000043c055a001c003c401d1a00000d0e1c07140e141d1e0d0d1111 -0a73591107011a001a73590018003f2b110033183f2b110033182f1112013939 -1133331133331133313033353e01373e0135342623220607273e013332161514 -06070e010721159031cfb29f8c8a80728d0db814eec2d5ee9897ce9f2102d375 -6ddd8e7fbc576f787d7111aac7c0b073e578a49b4992000000> -<00010080ffec044b055a002a0076404127241212062c1d1e1e07061724240c00 -06002b2c271211121173590f12011703121203211d1d21211a73592107030973 -59400790070240079007f0070307070319003f332f5d712b00183f2b11003318 -2f1112392f5f5e5d2b1112003911120139391133331133113333113311123911 -1239313001140623222427371621323635342e012b013533323e013534262322 -0607273e0133321615140607151e01044bfce2d6ff0017ba24010f889b5b9c61 -6662568f52858377930cb514f7c2d4eb9e8997b70172baccc2bc11fa7e794b67 -379c3968476a777a6f0eadc2bba777b01c0411b200> -<00010080ffec044b0545001d0058402d1918131315141408070d160007001e1f -1419735914141b1b1073591b1b0415151873591506040a735908080419003f33 -2f2b00183f2b11120039182f2b110033182f2b11120139391133331133331133 -33113333313001140e0123222627371633323635342623220607231321152103 -36333216044b76e39bc5f220b639ec8da8a68b497e3fb02f0321fd851d75aecc -fb01bc8bd273aca315d1a8917c9e2e3702d891fe575aeb0000> -<0001004c0000048005450007002640120701010402020809000405045f590503 -0112003f3f2b1100331112013911333311333130011123112135211502c5befe -45043404a9fb5704a99c9c0000> -<00020085ffec0446044e0014001a004f402c1800000d0607191313070d031b1c -1800505918180a101015505910100a035059df06ef060280060106060a16003f -332f5d5d2b00183f2b11120039182f2b11120117391133113311331133313001 -141633323637170e0123220211101233321211150122060721020142a18c679b -1a9e2ceba3ecfef9ebebf2fe25869c0502481c01f7b6ce594d2d7c8401260112 -010b011ffee2fedf1801d2af9901480000> -<0002008f0000046505cc0009000d003c401f0b0c0c0100000405050e0f0b0a53 -590b0008075059080f0004030450590315003f2b110033183f2b00183f2b1112 -013911333311333311333130252115213521112135212735331502e9017cfc2a -01a6fec101f3c8c88e8e8e031e8ed2c0c000000000> -<0005010b0000045c05cc000f0010001100120014000025051525262726271121 -352111161716172717273503430119fe8e71341603fedf01d5011815396710c4 -93058e0414461e86043c8efb212d1613095fed8e7400000000> -<000100befff003f9055400150036401b0509090214140f1617110c5059111608 -000100505905010303010f003f332f11332b110033183f2b1112013939113333 -1133313013353313331121152111141633323715062322263511beaa3a7801b0 -fe50556186a3a9a6a2a203ac8e011afee68efd744f4c22892e8994029f00000000> -<0001000000020000a2f1f7005f0f3cf5021f080000000000c8437aa700000000 -d948fb0afc25fd9905f107d900000008000000000000000000> -<0001000006a9fd9900000559fc25fa7a05f10001000000000000000000000000 -0000005800> -<04cd007f00000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000004cd01f00000000004cd007c04cd009404cd009004cd008000000000 -04cd008000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000004cd004c -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -04cd008500000000000000000000000004cd008f000000000000000004cd010b -0000000000000000000000000000000000000000000000000000000004cd00be00> -<0000002400240024002400240024002400240024002400240024002400240024 -00240024003c003c009a00d2011e0198019801f401f401f401f401f401f401f4 -01f401f401f401f401f401f401f401f401f401f401f401f401f401f401f401f4 -01f401f401f401f401f401f401f401f4021a021a021a021a021a021a021a021a -021a021a021a021a021a021a021a021a021a027202720272027202ac02ac02ac -02d802d802d802d802d802d802d802d80318000000> -<00010000005801220048005b000600020010002f005c000003b903110003000100> -<412601530001014d005501520001014d0055015601540014001f01550154001f -001f014f0033014e0055014c0033014d0055013d003d013c0055013c0001013a -0055013b003d013a005501350134b2801f00412e013400100134000201340002 -012e0055013300480132005500800132000101320002012e00550131003d0130 -0055000f0130000101300002012e0055012f003d012e00550020012e0060012e -00020000012e0020012e00020009012eb2010055b8012db23d0055b8012cb300 -ff1f7041110144000101440001013e00550143003d0142005501420001013e00 -55013f003d013e40675500fd01f550281ff246281ff1462a1ff046351f8fee9f -eeafee036fef8fef02bfef01a0ef011fef5fef6fef0300ec40ec020aeb46ff1f -e7e4261fe6e43d1fe5e41e1f0fe4011de3e2461f0fe20140e246161fe1e0461f -bfe0cfe0dfe00340e0333646e046181fbc0114003e011200550113400c3d0355 -df3ddd55de3ddc5500411201160001011600010115005500af01150001002001 -15005001150002000f011500010111405303ff1fdd01dc5520dc50dc80dcb0dc -040fdc01d015331f5fc36fc37fc303bfc201c150261f70be0120be30bec0be03 -70be80be020fbc1fbc022fbc3fbc6fbcafbcdfbc05b9ad261f20b830b850b870 -b880b805b8ffc0401cb813294610b70120b750b780b7b0b70480b5b0b5020fb3 -3fb3efb303b8010d402baa481f80b090b002b0b0c0b0d0b0032faf3faf02a0ad -b0ad02c0add0ad022fac3fac029fab01c0aad0aa02410d010f0032010e005500 -00010e0010010e0020010e0003000f0110401501509c609c709c039996261f98 -46261f3097409702b8ffc0b396161c46b8ffc04009960e1146a1943c1fa04109 -0145003c001f01470145003c001f014601454028641f951bff1f0f94af94bf94 -0340941d31464094161b4640940c0f460f932f933f937f93ef93050fba010c00 -6f010c402002928d261f9153ff1fdf90013090011f902f90026f907f9002008f -108f208f03b8ffc040208f181c46208e308e024f8d5f8d6f8d03308c010f8c1f -8c2f8c03408c10134610bf010b0020010b0030010b0003ffc0010bb2172046b9 -ffc0010b40501014468b82261f894a3c1f88873d1f87843c1f864aff1f9f8501 -108420843084033083017f82014082090c467350261f6f46351f6e46351f1a01 -185519331855073303550603ff1f6050261f5f50261fb9ffe00107b21f2646b9 -ffe00107401f131c465e5a481f5c46311f5b5a481f5a46311f13321255050103 -5504320355b80108b51b3c1f0f0301b901190118b2351f40b80118b2172846b8 -010a402550261f52501b1fef51ff510240513538464051252846cf5001df4c01 -4c461d1f4b46481f50b8011b4062014a46261f4946351f4846351f4746351faf -4601df46ef4602804601170115551632155511010f5510320f55020100550100 -ff1f1c1b641f1f0f3f0f5f0f7f0f040f0f2f0f4f0f6f0f8f0fdf0fff0f073f0f -7f0fef0f036f00014f0001a016010501b80190b154532b2b4bb807ff524bb009 -505bb00188b02553b00188b040515ab00688b000555a5b58b101018e59858d8d -00421d4bb0325358b0601d594bb0645358b0401d594bb0805358b0101db11600 -425973747374752b2b2b2b2b2b2b017374752b2b2b2b73002b2b74742b2b732b -2b2b2b732b2b2b2b012b2b2b002b2b2b2b2b2b2b2b2b012b2b002b012b737474 -732b2b2b2b2b2b2b73002b737474742b75737474742b2b73732b2b2b732b2b2b -2b2b012b2b732b2b007374732b017373740073747473742b7301730073742b73 -2b737401737475002b730174002b73732b2b7373732b732b2b2b2b012b2b742b -2b5e732b005e732b2b2b012b5e73007373737473012b2b2b002b732b2b2b2b73 -2b2b2b5e73742b2b732b2b732b2b732b2b2b2b2b2b2b2b2b2b18000000> -<0001000000000000000008000000000000000000000100000000000000000000 -0000000100> -<0800000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000> -] def -10 dict begin -/FontName /LiberationMono_00 def -/FontType 42 def -/FontMatrix [1 0 0 1 0 0] def -/FontBBox [-987 -615 1521 2009] def -/PaintType 0 def -/sfnts LiberationMono_sfnts def -/Encoding 256 array -dup 0 /c00 put -dup 1 /c01 put -dup 2 /c02 put -dup 3 /c03 put -dup 4 /c04 put -dup 5 /c05 put -dup 6 /c06 put -dup 7 /c07 put -dup 8 /c08 put -dup 9 /c09 put -dup 10 /c0a put -dup 11 /c0b put -dup 12 /c0c put -dup 13 /c0d put -dup 14 /c0e put -dup 15 /c0f put -dup 16 /c10 put -dup 17 /c11 put -dup 18 /c12 put -dup 19 /c13 put -dup 20 /c14 put -dup 21 /c15 put -dup 22 /c16 put -dup 23 /c17 put -dup 24 /c18 put -dup 25 /c19 put -dup 26 /c1a put -dup 27 /c1b put -dup 28 /c1c put -dup 29 /c1d put -dup 30 /c1e put -dup 31 /c1f put -dup 32 /c20 put -dup 33 /c21 put -dup 34 /c22 put -dup 35 /c23 put -dup 36 /c24 put -dup 37 /c25 put -dup 38 /c26 put -dup 39 /c27 put -dup 40 /c28 put -dup 41 /c29 put -dup 42 /c2a put -dup 43 /c2b put -dup 44 /c2c put -dup 45 /c2d put -dup 46 /c2e put -dup 47 /c2f put -dup 48 /c30 put -dup 49 /c31 put -dup 50 /c32 put -dup 51 /c33 put -dup 52 /c34 put -dup 53 /c35 put -dup 54 /c36 put -dup 55 /c37 put -dup 56 /c38 put -dup 57 /c39 put -dup 58 /c3a put -dup 59 /c3b put -dup 60 /c3c put -dup 61 /c3d put -dup 62 /c3e put -dup 63 /c3f put -dup 64 /c40 put -dup 65 /c41 put -dup 66 /c42 put -dup 67 /c43 put -dup 68 /c44 put -dup 69 /c45 put -dup 70 /c46 put -dup 71 /c47 put -dup 72 /c48 put -dup 73 /c49 put -dup 74 /c4a put -dup 75 /c4b put -dup 76 /c4c put -dup 77 /c4d put -dup 78 /c4e put -dup 79 /c4f put -dup 80 /c50 put -dup 81 /c51 put -dup 82 /c52 put -dup 83 /c53 put -dup 84 /c54 put -dup 85 /c55 put -dup 86 /c56 put -dup 87 /c57 put -readonly def -/CharStrings 257 dict dup begin -/.notdef 0 def -/c00 0 def -/c01 1 def -/c02 2 def -/c03 3 def -/c04 4 def -/c05 5 def -/c06 6 def -/c07 7 def -/c08 8 def -/c09 9 def -/c0a 10 def -/c0b 11 def -/c0c 12 def -/c0d 13 def -/c0e 14 def -/c0f 15 def -/c10 16 def -/c11 17 def -/c12 18 def -/c13 19 def -/c14 20 def -/c15 21 def -/c16 22 def -/c17 23 def -/c18 24 def -/c19 25 def -/c1a 26 def -/c1b 27 def -/c1c 28 def -/c1d 29 def -/c1e 30 def -/c1f 31 def -/c20 32 def -/c21 33 def -/c22 34 def -/c23 35 def -/c24 36 def -/c25 37 def -/c26 38 def -/c27 39 def -/c28 40 def -/c29 41 def -/c2a 42 def -/c2b 43 def -/c2c 44 def -/c2d 45 def -/c2e 46 def -/c2f 47 def -/c30 48 def -/c31 49 def -/c32 50 def -/c33 51 def -/c34 52 def -/c35 53 def -/c36 54 def -/c37 55 def -/c38 56 def -/c39 57 def -/c3a 58 def -/c3b 59 def -/c3c 60 def -/c3d 61 def -/c3e 62 def -/c3f 63 def -/c40 64 def -/c41 65 def -/c42 66 def -/c43 67 def -/c44 68 def -/c45 69 def -/c46 70 def -/c47 71 def -/c48 72 def -/c49 73 def -/c4a 74 def -/c4b 75 def -/c4c 76 def -/c4d 77 def -/c4e 78 def -/c4f 79 def -/c50 80 def -/c51 81 def -/c52 82 def -/c53 83 def -/c54 84 def -/c55 85 def -/c56 86 def -/c57 87 def -end readonly def -FontName currentdict end definefont pop -16 dict begin -/FontName /LiberationMono def -/FontType 0 def -/FontMatrix [1 0 0 1 0 0] def -/FMapType 2 def -/Encoding [ -0 -] def -/FDepVector [ -/LiberationMono_00 findfont -] def -FontName currentdict end definefont pop -%%EndResource -/F5_0 /LiberationMono 0 pdfMakeFont16 -%%EndSetup -pdfStartPage -%%EndPageSetup -gsave -[525.12 0 0 375.12 0 0] concat -/DeviceRGB setcolorspace -<< - /ImageType 1 - /Width 2188 - /Height 1563 - /ImageMatrix [2188 0 0 -1563 0 1563] - /BitsPerComponent 8 - /Decode [0 1 0 1 0 1] - /DataSource currentfile - /ASCII85Decode filter - /LZWDecode filter ->> -image -J3Vsg3$]7K#D>EP:q1$o*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H ->q_R=AlC^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`C/mioWjnAY&^gM+`4=1jRLW!YA -=M/6)*KS9PE`kN%="Tc_Aoh+fk'&t\ctIN)4XQLiVpoI(>.nOW?*DmsG$@,,f58"P -DKfeXi0S^6MAH=;fBr>1IXb_>kP+oS^^pnX!PjdJ%0OEX9GI`IODGpB_@VYP -$,Ve*/ITH-bV]jIOR,+@`"`Y"/@)9.f?D&^M-b]OrH -OmIKN1*g(o[EC"elTX_ZZ,c*_ECQL2A(g_UF= -ESQm4c#_\W:"=CBQYkQ&hA;15H/=mim3UV:)/KA -Qu3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOlVo_9p=ZV:0!S@R;Q;sjr'1jRHBp? -D4B]+c?5]@RI5KqkSaqbU$.ptNMG_V:6h[?RVn[ol5G\ZWToqTXfLb+cF'e?RdRkm -ll-GRZ0[r4c*QdV:=Zc>Rr7&kmMh2J\aGrimCVg+cLnm>S*p6in/MrB_=3sJ%E%]U -:DLk=S8TFgnf3]:amtt*/^*`*cS`u=SF8VeoGnH2dI`t_:"/bU:K>sj*caE0; -T'sA]r#ZHgnbf"4c1ClU:Y#.:T5WQ[rZ@3_q>R"imJHo*ch78:TC;^Xhuj(2:_!Ol -=:G;h6j\E@/d=Sn*moVE0nrNM)FIVD%H55cLJ[C[6eHetiWMQ';%=d<=H*pP6qN54/ga!=SJ1"9 -;2S4G.RdIA(#m/7Mc"@E7G,9iirieL;3!D$=Nq`D6tqWXXu8c%h&GC-EK3oA3_*<> -*TP(`O&>=/8(db^j91$q;@Z#a=UcP87#@%(/k/Cb*@'WuOciU;8kE/;-03"4P>Z9n -8_H6SjTM9A;N=XI=\U@,7&cGLY#\0J>q>#iZ'J;5>"`"8/`jp]QW!6X9A+_HjoiMf -;\!81=cG/u7*1iq/nRf1SMTD]d@+!/C/%j52>"qTQ74G'4Y*Mu>>taF90r@pq -RT!C,:$KVWVc<)U;qcXql30JP<=Ya&>)cDE77jIY/uDV%SQ"g-;6!VkW`<6)0U497;8l(Y-qBbh-93!ENWt#)=5*U[ -lihsE7G$-7>\9M0#h#J*FnGiOg8"_b#qq#AaIC(ZW:th=kc)Pm002j>8i!7B*[qY1?e2?#/h]Z*m]Yg07cuD=,MFREmKLG:E*Xj7EN)A -0'6EnSTF4QdCNCSl;?YfUin-/n@fCJN>]Es/XAcfeN0*YQq&VKS-&\s(/"-e`# -=>6le_cUge=Bm/-nHL'h2t%/`4?JDi7ObLMLDF@S874/t?Geb')Im#h=YY([a&elF -hi(3XEP=`[=Ur&R1I[6pmRG9c0.(5`a-)Dd81U)q-Y6PbQ0OB/^K?sCA\t3oElMP3 -=cRZ:U195PJMtajTV(@UH(+3IABn?(3_[cQ9Cml)bus3GB&($ooB&6^\dq,@=`p:W -G(I=EmmU[orK%?:NPYH18nhQ_.tquY(M'g$fHM^r`?&c,L7`$Plo1847Z*K2rclq.: -A8PVS[Gj[*e[_KKmB'HrM,rIW)`);J?-Tq>2W?)GOIU3_M7\SPn0+:EFDkIP^#8>N -e2dtKmK0N)LmJ)b*"..5?4Fa/:BW!`Yab-aH_`W-r7jC2KQ1IF>n5CjSnlc#?VKB@)'8/#Voa0j>KXVa!PR?^g3[1C -gq?9"omB9]Q![%72NP-:rt"+:E"gD89n6lMTAHm*f#-_qKn8S[eFU)l2#I&U]n::j!Ka;XS#dB9o -n<"#2PmMDt$*]s,n=^1CV$_1@$F$W>n?E?T[0pra$a@;PnA,Me`=-_-%'[tbnBh\! -eI?KN%C"XtnDOj2jUQ7o%^>=1nF7#Coac$;&$Z!CnGs1U"V>Y[&?uZUnIZ?f'bPF' -&[<>gnKAN",nb2H'!X#$nM(\32%ssi'BLV'sV$Z -nR31fAJT9"(9q]lnSo@"FVf%C(U8B)nUVN3Kc"fd(pT&;nW=\DPo4S0)6o_MnY$jU -V&F?Q)R6C_nZa#f[2X+r)mR'qn\H2"`>im>*3ma.n^/@3eK&Y_*O4E@n_kNDjW8F+ -*jP)RnaR\UocJ2L+0kbdnc9jg"X%gl+L2G!ne!$#'d7T8+gN+3nf]24,pI@Y,-idE -nhD@E2'[-%,I0HWnj+NV73lnF,dL,inkg\g<@)Zg-*gf&nmNk#AL;G3-F.J8no6$4 -FXM3T-aJ.Jnpr2EKd^tu.'eg\nrY@VPppaA.C,Knnt@NgV(-Mb.^H0+o!']#[4?:. -/$ci=o"ck4`@Q&O/@*MOo$K$EeLbgp/[F1ao&22VjXtT<0!ajso'n@goe1@]0=(O0 -o)UO$"Yb!(0XD3Bo+<]5'esbI0s_lTo-#kF,r0Nj1:&Pfo.`$W2)B;61UB5#o0G2h -75T'W1p]n5o2.A$8:o:\3$V)i[s3jYqLo*OF`B84`4L<9p -o?f]WeNJ!,4gWs-oAMkhjZ[bM5-sW?oC5%$ofmNn5I:;QoDq36"[I/95dUtcoFXAG -'gZpZ6*qXuoH?OX,sl]&6F8=2oJ&]i2+)IG6aT!DoKbl%77;5h7'oZVoMJ%6hoO13GAO^cU7^R#%oPmAXF[pP!8$m\7oRTOiKh-_on,2m$eP8Q)Rj;tVqCF\F0idoA8.;H7.* -[8g9CCK<%=:K;+-mjcq&p25=?_F'7$`>BR>X[CoMH`E.36>8>msQ/>j>d-4Po?8]U"Y?ht6>]mkja7`dp(A^[B47)L@!1R?Q6TgLGaI00 -f<9F#hgJ:#I@%!]\*n\/Q$bORIZK\AfAh0Z"+$=>HIou^=8_tt+ahlBI2EuU2ckMH -%tIb0J=%j;fCsh5+UnUS,>K45XL\4M0BPCJrcI5jpSGU7u%.>CqV -L6s]LGVt37'878lKh@J]QrAY4K7l4++S^5:fLi#,rJ=tX+//TRiUe4CiZ>r.*MM[= -+kRiEn/Zb]Mh1@:J]8]I_2ML6MqG:qJVUahLq&G!3,s[f -?&eWR+/.O4U%B8^bT7pV)WB*ZJX@Ec;Ahd='VUU.+\!=-^_7l;)VHR&fd[]POrPWE -).CLH!QGsBZ5mA\*4^qB*5;W&Wss(k%F]"c2sFL8n=8)#>;infNG&*MMg9 -!N$jq)AaR&%=q+h^s!KYQja!X)*k\FJWL5t/f8l1RXm",@)JD*c^@pp)8RR7J[QB2 -X;rJ4*[1'?62?SOi2>78QFLk!=_Ed4ItoLU+*a9?!VRO"j<"Do*$O/OiHuTTZ5Go@ -&:o!.T`>lO9FkQJ"5rS_RN8+@+/1e3(;O4L+D[Xcc4hFh'B+Zbq#ha@c5qQ,T%R;F -\_E^#odK:?7p0Q&=_sn$iK\ul*S@M5+iGD[BGpoq&p_8%_+Ya)PS+"NT`K0;!;I>f -8.S"%U,nj>H69+pC'>aV(A]X"+Ij'1L^mik)BgjPiOTf`U`A?n*22>NH>/pbDl"qE -Xce/7Uhch'gRa9qVOC0u+kRie?5]HV&&DQj@'UFhNX3H>(a*K'@<\HWU]_h1U0AY; -iG#QJBrY>d#/LW_J,.JDUtFB>@E'>(*#Bd#W*t=a)hG".+1PO-\9j/A5q!Rr!#m)k*BEkcg.e\AB=;Q/ -\rpb&63"P"4174RY)5Oe\kAB`l5ElI'qq!7+RTtQSd6JR(Yak]qh`$KNOYXA&]&t# -_4h^=U)\`_*.crdf`-h[pnk[)W#Q0kqmE"K+@WoQNa'/l(sX"M^)a`q*$Gk/TrJM% -3Z-do&A`S))s=q?6+ES6&KuB-_*T#DFrK=K)<&RR!Q#l0rZ=6/_>@f`dVH\/:S'sE -a'5Ub$9P^?l5#jY&E.@B^r@&hPR/KU(a*,r!HH&*7EU!F\A2\f6$*Ea,T'[m)0prU -!H]6Rc5crF*rKfMHKWNcD9(:Qa+Qn+S.3OH3#f]`*aqk_6,F*t;AnDa&qPnXTmR#O -rQ77%b$;!c)N4q&()Po'&tt0n+^,d-?5^T!*2241gs;i[e'h4,c3-)Tg"FYC2B*gd -*^Mh(@CqqYOp?ON(VjV*)Cs1jA^J&B"Q9%j^h+-dF9gRS%08p9JOu"j_B#?9dlH=7 -I?2jigdF:kV&_t!>07le+r>gJet!?+gPafpCSJKF(BCHJiJJ9l -JfB9QcFo3o3SiO)\_4Y\fmFgb8j"#\c.ZU5$)&[_IBfNY-.[LZi4C/<>,BfdC^OT' -(kF@X*SK8kBu'[7h\)a=PqV/]2<0-Gj1[\:r^#U/7HAnhjM"@Lr^aa%;<<70jh>$^ -raFqQA`eGUk.Y]prc.*bFm"4!kIuB-rdj8sL$3uBke<&?rfQG/Q0Eacl+W_Qrh8U@ -Vs$?9A7J)($oY4,ms&&GREB[e -@Ls]'"^7tnh7MV$_>%GQm9sZ2\s]RLD7K\!&fH8g^@1b[V>>\@qS00/s0;Gc[JPHa -qnKiAs2"Ut`Vb0Ro,n&=c_;YVao->KoAA7"s5ErAjo0borkIk"s7-+Rp&BM=q>iPu -$g,!r6HCDsQfE`Klr&79#L;X+KM!I&Ma_+f8CUs))2X01$UGs#C*u1sM+I=8rERWO -1E3GCo9liAF19r-QRec\k]Js-DT?P(M++1:knKRd/t#G3;sG)9Ptn;YX&\I#Ral;d -?*@>r()n!Ka^qe]m1u0kY1[[$>OE:HQ-SW:]3XkAS(6s&ID9.Y(`X;%$&-9*mr/,) -0,]biA+CKWQ;8rpb@U8_SCVU=S^1s@)BBTS8YsmMobsB%Y?A!ZC\A\fQHs9QgMQ[( -S_!7T^!;a"*$,n,M8A(hq&Gu,UPlqLoD0IKQVXU2lZN(FT%@nkh:kj)hB*PpalW,> -r>qS4YM#If48K`uKOYlhEMR@#4;"rA*Ck,1 -HQPcK"G6/6&ep6K8Ff04,tW,fRjUeuKVKtNmV@_0b3hs(/5($E].ZhK"N'TJP8)1r -9_1[$2+[6lnnFVLJSo1ln#<`O_P,Wo?GQ0n#sQ/GbS"(^.0sBK(Eu^#@#TdGPX$!R -Tfup)`TaOI)Q,%C&Y@%=;`3%s"[c-dFX))c<4,.n2E6OF^nQTFerkX6t\CiE]?fa:[>F/pl#!&&_H)>AH -2AeIFBcLc:ChXm-Oa(^O`=\G!Q]qE4E$BKc<^.B$JHB)1U]GM"(=sNG>(slqEHi:/ -.3)_'"NcT['S^0?C(j&K\ltOm.@P4H`qe23*YCSS]l/8[qjDB8#6Ve]D,1,JE;W3> -`Gp9;D3aXopE.IsI&AK\E87oYc#[r'ep3kl;8.4=-<\8RQDUUn:72.!$si+!%q0Yt -iK47K:F5Dd?>>2=b$*/GT!`bXg7`I(&=p?C?4!EqKJo(7Bc:7r"_jEFi$W$kHZPeA -]C/;ga1q.lIjIVSr4bbNomM=&`KRjXA"32&*1,jcIfI?9oD_&JF -#8"rqUTeb_6.3*[CC")'k^*i&pqmqis,<)+1Cs6S)<4\3NJa+"7bHZ>A!D%pM)"jp -pYHK,WMtpJmQX5;!+dBKJWQ$0`5#6i4,9hS:*WL;TnDhjJs_lAOQIgHGUb;^304t# -NCJ\3>Vnf_g/3JR/]/^6-,pq(Q#`fYZr#O-#&ndN+p_?];&1cR^m5esE=7c*E])Z4 -eIM_gBV@_Z('N"(#r6H>LiO>"U*-jWiB0^@0Z5@D89P`#5XiWm4J]r;el&9:\IRa- -4Q>#h+/AIX887$F=TjAK;q?:[C$@eDeGGl%p,PX,7mJHlQ&i9^K2?bB5%m@mTo.gT -%tU<3LNMSg^`-b8C(=ZG15?.#(ZT=!Md`b]#(88( -6=GNMP)M=W#NSt!k`h6sXZs[<"&TE?@ -UdBj?,[LU>)DBrT_JFiA3JsN%,G(E'(o(niNWIcq+:Sd_Q.7]fWpO,.eFS[mm_;j# -!FT%MH"@DPpXgAl@'!@d=`r`D=Sj5$VeH&O,OBlp3"H($F:<`I5[i2uJMc;`[KpCd -5h.$*2Fg=$=lW4MMug4FKm:l_JrjE#Rr*$I+P@TS\8,9adQE<'?%?NbLUn)O.Oe2M -(?8OZN4%_#.`964A=3Xb7tA-=V-k+uPt&tP:,5dV6H4mf-Yl!J"$aKK*R*![VU_@W3(j_21qdi7oK/9tfg6;-\Gl -!TO6S?uVE.csjn^7qgl,*Y*e'B8Rjm2o^P@4p1),%pUheLM4C?6\?:eChbjDSef;M -IPA"T.>7ud"W5-rFc-j)3<\9X)kn0QNF;!S0(@!jm?V@C&9K)7jHk*#I^..[Or_ML -d<\/i'FjSC1^>V:*Ao$_0NoQ0@ic9.RFKGgr9^(sdH]$qmltI`!ME,(#LJOS`F,eO -U3'8ecakc"BFE'Q7rrUCZ9h\oBQhu2_'9_W81_une0tSei#%`k(Vi#A3un%Y*Wt2d -NdY98k?\k9f>>Xt9]V[Bf\3hm'R/D"f`Hip9Fu>=-A;c07aO]4Zu6pi/\u`G,iDQ5 -_[nF,_2]O)=O>:$-ub+j4_A^-O5-)f7daR0\kR)*h-7@4DYa1'=ZuH*)oI#@F%a,( -`qur`aF@>TL-3Go9bN'S#/L"=0^.`0flq$Qm0_,pp@-EK6bICKdHcK3'n%ub;i2(Z -W]9,McNnZK:0"E^6j9"a#GNJML%eYJ7\HU-DdmkTC#-NaeG%j*n"4N9HdDO)6g1'U -a(T@MdX!iA"'N(,(:?Sf'DaCee0l4Xb`t -14:ju5X*X3#A(7&;*sI%)4iJA^FDMAFrQ/:4u.DM1`R$7\rTU_Hb+EZJ).`VGl/H> -]SD^ASla)^NU,^(eo^IhDpLU<$`aN@]H1A*5Dp,OZ3D7ghaRr8W^*#`\/[fU`ln55I#SeNA2ZW.8O;H7AG:i!,a4mbh -C[QWN_>&Klg%.Fho2kt*q>XB@SUQ^f$%[Uc1C"<_r2_u<0Pj)7LrU%#^hJK.@g;h1 -#?p&@\B_i[arhTl"aLQf(f?#lP(idt^Us?XX8B3D?5K[*^5JGI&p:ro&/g-(5n"AN -PS(__'L>D-6!/WO//CNt6GYc$6(*P=$\='o?3]-/WuJ3oi**/HBJfKo5O8?(-uXh7 -C^3LI/Rn?;4,sd)3#MobgY%pI)Y1jZK97O?P--CNi1)5G%_EX);G6:bpYRuKAN-]ZUA -#%2BTCG^et/'(7qZC@s#.]WU^7Np127d;6C;6YcWZ%be3VD;Mh#nD_gF,%9W6Bees -qY!K#YR\U5b7(ZkFKs"?ZqF*#),-(6>dkJZZcda,%U(SCF&*([lp -8jEf+/Be16f[3?JbHYk[a/f<7;CO&&D4=EMYk-u\o$O>(B18ctL*W^`aC`R-"sT;" -LIt$$/@j"bg<;t79j''m<7XckfM.3"bA>j+WE%2bgJ,cqc9;\2D7=\^[ -e=d$SEiX6P+<(#6nC(+Iae0#%+;t(O`!el_ -4r;DC-R`mQo\E;j-U$8[:RPH_K_eKWr(kEP9r._`m+0;&s%j!^7/7M8$]heGD*Qd? -0%0&2]@A5VB[0#66:kkrPcp'gq[FI![$$;4b:s3YZF^*D.dH=23bctU%8_^.TN&#u -Mr1dUk>2lHd*3G*W:*T[)c=j#;:sZ"jW7:p*mqqL9k".MW;-ZcX#e%/ZFcAc8dRLk -?E0Z0cpXq]X9,_if?t5VUd@Kq@WKZ'-\f:[4]F.t3pe&S>(WD?L+LY"G\^-?dAKXm -dN#eqeN-X?2c#]$;r'W9kjHjk5?%p\;mena+p,/#FjNM8-Ft5.<:[JMKYf!]PhPge -Po-u9!"WN=cCkr:gKu`XZfGL^l'[s0K"P4AfG,qY!^0-/?i)" ->?/n;;q5/Rm9`li4uu,?#Z>q+ehK+#K,b,cX'PrMGn[e+W'4^*mE -9TbJm,3nbsC3#"F@tt2OL;5qu$Kol7@b3I-[Thh;r!Xj<@SH@T#.79^l>_Ru2C)_u -=T*t?Kn\54?eRZ=>$\!kV1[K=W!scD>)X15;[adJ/$RrE+hHtXe8RXafes[b\-e"Y -[>?3or$S^a:+?Q>`6qXfnL^;XsYZHL?5uc/.=F>iS3!k=_MKb]qPu'ac0Kt ->.R4/gbZarEuI.Ugj7c'ITEcc=csm[eDa(M8?.'/#APt':$E*MLC\u+1LlNsQ(?N` -U'=nj5`,kL@N\`.%k`5cZRK\,W*l`aSVMRLga23r:%R9oqHuJi?sX$nXlnVZW8L\^ -3VkAKWWcY`CJO8=U/G^&S(0kfkn*I(X-hsUOO;WOb*gB=4?OpFM`46*aA@Op9W[`X -.tt"fUW'5P]p(=i\r&KF&)`qLiAMiRINi5R,[sB^@"'D(:*\b67BDsP(feeE[E[<^ -U71sjVON:T`E.e(X#"dLk8Em\VSZ1[[J?>PU9p,\Dp]d<`N_np!`Qm'[.RaJ5Y/_QiA8C$NMZRB$' -Fr$[ulXnTLkC/+SQA0'jLhMXjB"!OphM:'+-.72d&Cb:kH!lX+d"j#uM>@Z>aS9UVl1B:G9GKPseH_ -S4_7PcS4up[WU>d.Nql<@:c0OL:k-r/:,8C(@%X/C7`7/Y/5!-`,&#'lA!8Rp;?63 -HSP*_3"0WVh7BoAo$7rs"CPTU`R6P*n\)NVk@j0tGhSnY;!.&?h/RhbMWh\*!ZKS4 -Wsr+\Z3Eo!n]61#-t^qFg_+Jlheiq_'s>Po*;FCUj!4.2\-_LuP^Y^;Po^"/:&>Gt -Kq?O/:lc[Y%FInm]S2+4TgI`ZVO=PrWBnT5AZi3,%O%"CBbf#.,3gOdA+[$-H098^gM11.I8b,:m5dkn1$3_-Q5+V)f`V5ES2RU -%j"An*:`k&0Z=>BDS/6NiM=*l_WM31@l>].!mnIHnd*pA*)+"+7Q(DpKi-9prR+)B -77.uq*\4nGI."euA/eJu_PulojXbEarc4nr?oJJbT0%,)QZ;a^9+O%(g%(`PR2S0o -^T^l/U)NT9DR3g\%qe(cb]S#RFm$).\Wc1p4:;=^Ab=:?8.5d,H=4@Z7SGa*+%Jfn -)h)o_;ftl9%Z`bq>`A>G\Wq&G8oVG7Kp%nKNB3Dii_Gk-8V\l"4C]R.98*2(+VBnI[.>66tdui2YUcg --CtE>X'M3[,eL^lNL3h@A=GDD;k07ipPP^-%)*HeFg7-KCEZ.O/h -bC%(LF5O>%g_tRdcPB0k`WknKbLodG]UCl$^t"_CrHc-jEVo40(r?9N?BqEL.;L.^ -.^?22q#[Z;]Y/i'1C(r@.pt=D0)Z='rL`1@^X.FJk\q?`reqQjJ*Id6F5%I6=i4oQ -;BRlLX#Q#U/BS!g'sj$XlOJgI>A/G5_:#2$po`XP&38Yedd&(&L[-1'*lLbO\VLLn -\ci1e^YmI`6m`WVL-oCrpk2*_'8f4fdM8S$7p7&Es7Q:kf; -q1Qb!,_Aa&F*Y^dFZZ0jB@H\\#),F=;/"I*74+9mVGh3YqLqD8;lWi3Ue8U/uBE^I_VC*a.jBXlVt1F8EJ<. -jJcdWdk"s38VBH#YK(=1i6;J:'q^ff"f=.s_-n529XGiU4N).jR]^gTL"t:$]Nag5 -URg?:GWfCeGLQ.`oD3lahg`U@:BLIoJ'\#n!5MDN#cbXPF:/5f:g=kB_9dQQ#f9E. -.13r=\jWYf:rG@(_pJOY+*N,lsDOlJIP]4n0\CDT+7#?L2 -&+4cg'+\ZV[cn!L+a$'e@RU^k).Y12C6YS]^tB`@);KPpH!XX>W`D#`R-%PCBbb4t -Y&Tup=l+FqkLoibX4OAkK;.S`5*;2g>#(K_l-2o3p`GQ3qS1%9RCYMGVMM`W(ubQ3 -?Nb2$:d,Z2P^jfFUN'%A'kUmmFIl"7s-r9:Oj*Kd-Lo_hD?P6.Cq"#$X@sJ*.3)_M -7He\X(NK7k'hEN4Buq.-3?DQ:AHA#\Q:@XXD\m#bd28GZjMR3']92Q0C/X3_f_/f`b/DTW;s\V[a4`4:D8alc^(]'4YjW,E\t'Znan%B79>Qm6Q;$W3uG%+989 -+[![f_0WQBOL9J9&OQ_q2DN*WV&?!!=:I1h2FRnk)s.9DN)_Vk%k44p#-`S?(f^pd -"3uU^^)03O,7C30229K7*(-*9%a$TJ#a"U"6l:S[+f%J]d2c8q,rRl>i7;('[B2U4 -%,(m.%MnOkE/QY/0H_La'E]%f$h:G^7alB2#KZp5=)biNW;B6*TbjoklEf+Km!jmX -CUV'J@E'8FHti4VK$aQN!MG&]5j1Rn`kX6l.)?>4>XAfaWs;,l@N?nJH*6q)-KO,$ -NDapr8f:#hAGi3ed[jE1R8k`e9Kn`)^0"#A9`4":[?eeN/hZdt?Amg1*H?IF4g;Bu -i)Ej@!5-?;pGOd[R(XG+&D=/ZmQMGfnhfk#0-1_\/&lhp&e5*<-\7"_gj25Cco&s0 -2T@V];=6MFqWY^4*aIaBI*h9PR`=BRMA0QAIY?O -DHB[2,t-SV#bmPiN"RO9)ePU59d>YD%7%.9gd&Z4O_'M(JVY5`.*R,t>!l0NQ&U%\)5i9p%5H'RL(N/P%X^'i0pZa40Lg+;5%G%W)YiAA\r1MuA#CKC -\VA?N(X\1SNZm1;%><2iYbI*-Q'Xq?j]q,JFfs$DLt?tG?Id;:YEf*B -03P1NLR]P/@SgD@TYr5_82XlW\j=;h`59M&>uGQsdL@qP4;VO@VT%8)(8u?p'"$,O -&_0L6=8Y!"^s`\ufo?IY&2,63+@ss$a%emeE1en/'n\nG9]9;6LD\2Rj0hWU1%INK -m=;aiMSEEnV0((tdCPZNls6*gG0d:9]9e!9+M4b#D^787OJ-upnas0S1B\[@iN:2R -ZK3>71IPW])\)R^9``jsVOHq`BX)eg>Z?/k%P,NN]W^>M@>s`R29+;(L#)*8Nq)(* -``VsX2!*U6=4$`$UW?]"6-j<5nBhUN-J?*l+X5t.Xi)(uRNDZ8:!cX"Gq7FF2j*KY -T7+TsG-!pS3?BrmBTj9.0+146!;Kr"jM@T?m>3!22R*?2VF/N.2(XBQb3!$WRNFp1 -4Un--ArY3l5#>ak+f+b(+OPL:9Ir2J$)GHc1P9_6%*G(o*,)rgF03F00oV9Kh*o7R -HP9Z+s-IM[4Nhd5SWC223=G]0VrP9g-E&gA`B_]UXr0C[28%U2YUs;M>[9>![qiuX -7iI\"-BaX$ -4hY#X^VIB(&\RVeA""Y'Bg"0HL&E72MJh28V;L&NK*KI"W5Ia(@O2L[imft -N?ss%*&sG(%Pb/Sl5S:+P1.^U$fb_bE%jCLmA>/gK2s>Z3V=Ze2e,%Q-kP]n;;0(CZ -4G1YV=\,k7D6U?efO_ng;nP-O_Bo(6!_bh\5?=a`;0%l%kWV5S(/Brh'#BC)930e" -9Z6&X?0G,.DbU%D[/KJ1!Q\7AYTEpC-N]8KqQMIP#r_o>1BW5$NN.;o5u]bb[#o&$ -:WW_U#Sa6]QE-(()?Ibslj3R9:n_\2l9X;%W@/?eE#Rf%%#c1*M^WRYW.CeR#XK:D -c9MjKM@fl,ph7J&!QmlkIYhmZVQ`+ln2C^d[VkTB$]r+3&AkTs0+:\"H8*#@d*a(m -W+<_2(nnYSJRBBk5dA.IEf-SeA]UYj@%4!a?\mG@Bs+3:g;&E6X*iJN04Q5S!1)Tsb3+j?EEq$fsZ%1u5J#$hr5;\bF!(!/HE -O^Ako@hiur$gB@Y`0?=A,!!^_Ja4`iiKU`i%SMlt6nrG2d>BR#[Y4u`N_(e_CZ$*c -18O$Mr.L#VB>ut9[[^+P)=-l+9TKt3.2``<*5uP1Z-OFff,]b[<9s7Ya_:[p@ennHZ$R%aHg+p(D'4>N9ghknXuhcUoOt!"VN[C&i_oZU4H(e -,V'NRE=OY3$-c>@dH5 -OB,),]+F,#`9sX)''tD^c8D[uF],"SZ)#oHlRO_L,@P23B.-Rbg)*]#+Q7,T6-R-d -X"NU]0iL_&!ol-/;`0bC28[Zl;dVFN.lDB[dH75ta&JDN^7Iu&: -a+$*JdliYk=YrM.7[Yg-gW[AT=L:S5h6@3_F&V7b1;oF\j"[>ju -6.B+."6i$,@n)\u7`#m(Zu8H$cUN#"]Vso-!S!9rHL9o;O9[33WS/01+r[G.?O4t@ -"]n3mJBMb(N9Y1E@IgX8mTLsB%O%YjJWUSdZCPYIEmRX'%A6sg33.U>)?Iob+l!hW7g!j:[^9-sBmA=GN[W2-RO@VQe;RGf&N)"\X -rq6p<^!7!WOZ>g$)\/X:"UGg45eIc(OF:,ncU"r3@DO4"`Z;3V:3DCFFg59gp*Op; -?^:Y!&/SFA"(6^T?e,RWb/bWWBh2t$8>@U)8&g*R2RR+jqrcs>p(!:^\.%aPu[;'(hYmtoC"@Et_G*>jJf5Gk7G.\UhGF!Z$2h$I6\P"gq"l\<[/OErD:ll41 -S;5B,P.hl0ZUJB`?F(5b2X8>>G.gJEqrDFcoU+0"X`Y79SRhgPKR6\F=%SMK*0Ns> -:JYbmj*,^"I[BMQ$KZK`o3`C%Its4*`W"`EYQ]uRSK"SS@@+IqR@3X?Z7XnKKf)E0&9Vl[h/6eku!0n83GJll5'fO'@MB827[ -Is>a1\7LF#El@4M?7;R::N/?'/AhQ%JW0>C&Isglc[n*_d4!=[`W#Q>5_EJ<(#buS -c9RMh1tdX5"UW8.EIsu=7`5J*4@q7VG]k\6FcB8ENL8I\(ug?RDiRfuNVMdQVPJ]A -PXu^DDp10n2Uc_ -WJ$LgE't[;I5r/6/@cR]d8?/H;jEbSGe!"'e9@1'@V/A#?o;`M$jP2@\X%DfdHp.![)9$"OVSu%@% -g.t2L&Z&Z8V8\Xi3aY%]=f+W,]hPgHb*_(+WYT.>,+8UqWb+]bCFlLEIVsP"FL'+g -9(g#b\FN+2,I/5A(7\!sHtBadW"d`ppuD^mKRpA@a53!u%Aok.VOG[()UGN(f<'a, -VE3Hh]%*qe6;*$tC.D7/mQhc_0M'=:[NO9Y,]]g8&7f^lG=kf/^o0Lf#HZjs'[7[#Ya)gJ>4]<^PNt[?BLV4'k;Z -UlJ$R[53+iO33Oq;%BYp&Q!`[/UhhE=g7a#kJc5\O'o@J7mdrH6YA0S\YcYuB%dV@ -\#Y!#%e[/C6^Mo58#OB2 -$YG<5R_?oR?]3H]#&1cn(gaSTlU[?RlpQL=os)Y3@op`V7kE@)E3bT]^?\ukmpTWu -MT#DK+hS&tc.g/V6c>Ke/3DJ%dT+55;Es]9+3Y"D'Y[h/(;dt_%]a(+oql9SLhFA$ -XmL.lgO:(/OdZRb3ZBUcDoX)d.\ruNbh/.em;p8%8]TUgdla\Rgp>0pHQE$nXuhWd -`dX7b]Vh`Vi2/Y/;!Lje2NbTO)615j&&5asHd!"fC/8+&nat]re/8]cH"dJ1GKL\U -2+1H/CE%jf:/%+'%D4g.bUjd]h&k'N-7/RedZJ+h4YA=Bg0*c2ZZrPi7E@MY[c;$? -9Jt\2bRB0[!b^=EUBTM#NOF9.9rpZSa,\l'j!L+%:^@+e_N(& -SWDGEQe?sHdbUB,]p7:Q^.[1M*P&["3i'LNpW3j)89$Y0"lB>25\V77U@T3Da`_d[ -)]r#f[OsMc:Wj\E,1NdQ=\1#Pct0n]c.Zu>hjsZ&*Wasn!t7?mi.@&WA_<#Cke5K6 -(b7"lN]+=ZpeboufB7#/ath.X[-q0:e+JsMDNLAVOCLs9Moc1WAF,1+-H$S5mmg)\ -854r0dGmD#]7+PXhK-n)#NnoFk8npsjm^@R:#W&s^?tWFjT&M%fedNr;+r^?icdYSf8e2@jI1Im -gmLn3^LjTT_u*lbV-dU-g=,HhdR9t3k[cR6TrPij[a_FHMT[DFF]3H"i-6?bY+bpe -HbQ"fkGq=un7&i^CM&cu9Z_6!f<(hE`MRBJ1CD6Y.1$j*(8'1;6dj=pK3]&9Mt2a* -Lga)b:'u_r!G'\PYM3fX>D[[XF@%#YGD"TDrI7&rPhL7DTi%dglBPP\?EmY8;`#"Bsh.1NpCi%he]i.m[%.chXPm)?LO68p&>&D_-lc">W*Z9?asS8 -38A[A+d'lWnsNak?SRtnB(MGGp4#B%d:i0@>rJ<+7+H&FHB!*_@BnL%p7#?rhf2]9 -gc%=NpA]][iGe/5BGs#`jH9h -lZp3(T%_KXj6l_jrfubAq=+914[1cIdFrmg-V=MV*2e@&BcNqBHu0@i=eI5WjsXn0 -(I8/5P88^/pf`B.+C7="%e4Q[&EViW9pjt_>%j*H$+O7ZV`D,+*_4YAqSt>?G9/5P -K&%Kh1),Kf8?t(5,V2ggh'C+JFIssR16e[d9!Yh-/5%bI3n?s0gqPO:1DIkb3"fK> -1efc*f$V4q)ts3FVh&#`S7F'`C5etqPU)Cr$:\6QA'&C!O2\b$-'C_/qH+YIH(8lC -k;hOBS`d?1IEd`;cV7?Fnu?o*Vob`SS`k(;9:,q9k#E;YGpm+A^BBkaXg:">+:0RAA[r,EYoW;rapD(_h ->dlT:FBph*f6/WalWJDf2jNQP?E5ZqHXA_^p=%:U!V1i6V=Cd3OsT(m0pE@4r#?9e -gbr?IV6ct(MA:Zq;]3#0MWC<5M=,Uf:W`E]0)*@YPW"haa\+%9frB-o2-jDlUZi%h -5Sk0lG?i#HQsr>t.04fF'#l'\<`nm?PbL.b\bhWV2r7?0C:^jWX@cZnZ`\)Tp:mhJ -3u5lB0"613ZL'_Sf=!EFhV5PX2kE3]=bo*O<#J18NM48/]kZprOTBDJP%G9X;OO># -FDO5J.CO>iF+0`qWI'f/\+9IFf/H1rTtYZ@R=8XG=NK`bL6m2IH!V8(_.j]Gg`D>^ -=OocYC)lBT-TCXFoV9Y)rYL@LD8$O=jEWpjQf`S-GFPqH?@Sms/, -!SUWnk91=>)T(9._9bWJ-,GDUH%7`HA8`>US::"`FWO=kX6b1^Glf'ZaBK*.bd%?' -Y8T]O:5j^Z,=VIE(TsPO1`$#I'u7.bM[X)PJY7V7d'=PlP\:OMhDY[9o5;IBO/`f_ -4bq,V54A=c)0brdiNtP!#ne/oR!B3NoKS-D"sFg2U(JRh7u7g'dmLX1'4Ps%;FAB& -N59" -XEbg9OE[oG>fe4\Vb'GY<(a](.nfMTQ.!ZT90$]M2DT`oG6KiP& -J(-B4;*$-pBXJYO"d3-ad5R\pThaI83ipl/[4eQ->3gs#!KmT%fL$!?6u]50Al^mQ%U%L41:e?#_sd>YM.3?U'F!%-2S](]bi -O6c#:=8[5p_p(2+H)N$Gi-H-U7P"t)(;q5>J?!)DH&LBa0I$S8^iTq`%CrH4Y@[9@ -(WQqm]JsVEefD[GLCmuX86,)D-,g^sd:)rQMbTI"+/eUV_TP>,K0Z1LPsk$jiFmsL -*/5>S5\rYfc9%su6cGG'0j/LF_$'PO)p0jK^2]/C6o_esbXoT6UUD`,ohCk5\5S@F -+`6C?E^.]Tacr"XI2o[f>ZiF6B0>B]F-^sp)K#0pXcbZu0&-,0f=O[!IMGefGHSjbT%:2;#^h -K1[Ct0hE<#?W.Sh%a^1DboA.O38dq?DmBbt)Bdiao_`BZ5 -GR,]e.,WG,W%!RCM/1*'95kZSSBR+>(:'TR'dGn-NH%KE#6P&K0h+5`:$@o;T,lu/ -+-5t68]c6:-V:pOP]FE&aSBH?Ej_%@/>3V,`jZ$eOtK5cfc'aB##s"#"_Z2\kKCD] -_*?LXI1GM@R7>KeP&`.jTq$ARSULn.fi'=,!K&h4!CY`;Wh4HR*6.7(?4!jQg%B&AX=i]*^n;EEB?X5VYD3/@*?(W`:nGkkNYcp5 -hWMs%%s@>hpV6J-#J'aSM*sMI`Pi7GbMBkHV?W\q=Fe4!`Rl^^`L/@rI+2qOLNYdp -r\0T:+64>UI=@.)M.X^m$:bZ0fDU/$!rnTjbPi;*"q$=a*Bf_ -mO!900s"A+]C8*[9gpJg'73Y?\ks=&FgPVB._omT!,/h[`eG(.)=]sT/"[iW!J=KP -L1EXUTk$8fE\?-H2%3cK`)9(sE0f9u7hg!a1io.F:e*orR]LO"@U0qJV82,\/OP.F -j;a3=T/$KeS"ZaRMH`SmGDiL\&%]%bHPdRs!=*ES2[Jo-80GEH=]6Q_G-1-qZQ`CbS3hfd:uI -1?qCi1[II?@0Y)$7D`ERN0t'Y2hpT2_e=1H:nPYJG;'X5RA_D7Lg[.5?SG))ZKYLG -HQYV99e%8h#)I;U=EUntClt]I\f$XQ5c..9\''m098pF)[(FMt+j"Q5bMb5"XM1:T -)+?l##@s>^C=GC.d\?!XY\];P0Ns4<0GBZPV?FZX!3mGhHc8?@"rs>,E94ZQ@tPpf -VL-b#0ge)Se"iIQK8YPp$u?W2ZaLj8974oV]\AEfgJ,WBc/d`?oY&NAi0%p4:(cKs -)>gl?0hBuk\4Dghl%hNR@m+>S4DJk!XJ8?,if*s8Z%4j=Oh*Ka7O^^l/X)eIHS1E% -^_i3K.V_Ds(hGW3ji(-$bEV!]eGG2hqbP0/cfG(`>i8EN!0/?':_BoOk^F5_r6$4' -UsNn^\7RF?&[L]"W`hj):f=g0fbS9$1NIB[,m&tGb+#b<7:a<"gOgtZ0!XBcQ.a!r -Y[Ge(E5=$i'sWT4V)Zqkk71\_]+$mMm6jsi -bgcSre`C,S]g:3A@#P7pee)i0]1")E`J29M]dk-@Pb0>apW2VL78\T6j^M18-:LjO -Y3UlJGUos"rO=V1[AcMV(m7jue4-Z<14l0V,+lL*H8[3L;X@.Z`F@7!He65bfAkdi -"b,)+5ukUKSpbj;S?fU3pf+8jS-")XEubR[C`dDT%h5tMKQMbi?UOZrC'/A8s7-sj[lO7 -VRSL>#.1:`'Z*kM[9N<24K84MX?>))8X^[;0M0*\I.YM$QG7s.L71=2lCblVbG2CB -.hN`TKEp;'^WX%;h3H^MZOC'ggY8:Q?-s\@A>'6,G"+L@Uk@$lb?8([)T60_LR]&/ -:#8me!%b^N*?5_HRrFX#B>9&8+G37X;ZtUMGc$Hj7P!(e>[X:`YJcq9?A77X:%mIe -ptq7H?-W2u[J4+5iJJdh0H$Ro6!GgUVPLVtU8(.71&tLPS_qCORX%Rc\iW>I.'D9g -1(ZC$Z^a!`T,<0WYXs^*&7o=CQ;X@,XnGj;r7h2SiDp`QEf/bW(Y?YB@?B(q -JcIYaIKq^/@*%aX;:jS\=A3sT.6qEun9.U&]4"GQN,cET&p6Ypes15W&K2"A[8e5W -"i6jAW"mc@_TSW^;TJ[oiMIqj%Pm'&1uhJ5@?*4q`\_1Ec`^eT1h,m5J7QEi",S1( --@14H3+RdS,6qfB9qo70KmXP\I%seK*R3&!P11g?"QI7'\`rj]e($L#)Tt;+7d`$@ -?9$RI6feMLjWYXRDGnsG;.W#9.Jdd9F!*^$VnEH@i;E>IA5sugs'SI/j],]h+\Y#" -<(0]")3ZcZEsC]n>aU)YSP**MKW.1HZaq+GjmH-b?>AW2D!'.(ANjt_c;3Tm2%R6[ -V(1lIqLC88"IoOjU=+;B,0?=[k%;S]RX4[#:jH@M4Oo$QWbK42$S@S]$^:[L-95QG -=t$s!s"T]pQCUd_DL(CR"R(Srkba6+p29*%!GJ'`Mn&d+YbFE?A'oSOhXNn0c9'r, -E@e/;kE^(#i4KT1s#UQ9iR3;^i^*j-?/jRJTS*)G5[+gm\]8mW9TLgBZ@$seu3>fZr1Fg/=VLV\^\?e>;GIq16GMu\Dq!YiTeBh1NAP^ -Oak>;,/d=>cu!\XZNZH4ofW^r1;-<63bYWG^XmFXk*rhq?EEF(QY].1ls`oYY/\`C -_sDoS*3AQDP>im'18^!.R"I#`;8='KA3@Him$41_X't'sF0M.a5/G(&J\W:Q/e6kK -OW$g6O^pV-bG?XHZ%RT6P --,UaLVOADpe8f[A2UZDBjbpH(%PpO1?r7+fDpW3.8DNF:OpE=N4U&DcT[U]jdrm*< -74bTg]*lZff&lE7H>j)hn0\:?MiqU`5g9&B`;a -+QIqUr'hX1J*#QIe,Sb5!kY;=MAR%!f]aC'ejG4!2944u:51`/= -9SGADH_:N]Zemh9F#nGf=7qn_N'B=FUiQ-gMA[;D6tZdHk`*8:I'f<6+G9Gn@pe'r -Gc4@lBQEB\c+B:!EAec4_m.6H@S@e+p_jS'KqnJu>o23VERs[k+;f0TQ$m>Z&2W" -Yn,@?Q^eT8)&okX/.-q`U3u)o=cghRS+:(^*+IT@3FqU(pi"X'J)>^am.(,)Iae]' -`YP3J3?3!q#1HkH)4qb/7bfd#^32_r%H'ZF7JD#Qrogm,_sWgl6Xh&a3Q2f'(k<*X -lbSGbE[X+'KBIBEjUSmP-.o*f6TGplCT3^S"q,"lcZ)%9%X3hbf^s9u?Lk#Cl1k4, -b[sd6Ut0BAS5*]q\`EI45G1hd<&u<@NCTd]*V)V:P$X]O#MX]B/bbJ&#H2=?IoH%>Vl2EDtjD -2][ptjDnBcVH5@9b[tp!]#CtESBtqk>!43uNpCu)(QE&o/TTGt-lF;+MZdXE>_nFk -6*_5LZs]77b`j$jW2F19=`*nKD:8$!C1Zl$2cm,PcVjW<^?9^RhmpHCDokZ.ZKQQh -)m70';9l.P\`^(mn@"s=XF:\rdQs;lm!U15'M56PmrL!b%9P0?> -JYYgQB$!MPS-?I#EuB`6g2J>#UVuXj%4eaO758Ua(WI&GAJrLG1fefiZ-7>2a-#_: -+35''Kd"O#/<(N%nk>)jac^J2-d!%&D^`bkXK#d?<^.AY..g]e -`MeM\QfArKAN6hSP3&74H0TdKa3"+(T4dEe5K`U*b:1e;/Ib(SBC,Qd+-A;OGTOoS -U3msf;8.1EL&%rpPQiSL5F*XcKOflA=aUdrTc8.gO+jN75F18Z!aIu:dMuPM,cQNU -)8pnX=..)HS8bH?U%:ZT$2k0@fp6KGBA+%_QY>*=XfZBn(YfSGE^N&%q -/^8@<2P&6. -_4_'=$3[&X#oTO1DN(?8C"-mfVh)C>?>$T@HlbegoloFNSh6u.)U>amd(6s%YO!2< -`Ned!0$U`,[gO@dD4>G!\$4T[iOSB7m3$fqRRqJm'#j[UPSo&J'OOQX]6rOEpe-U# -R8.7^kVY0q-b@FsQRU,L$nJ2t*_4&RoK>]QD%EC3!@V:o6kbPd64O!76Pjf;``n4[ ->T.$j0?Kd8)MF6!D03DCcT5R6RGg7!/C,p/q4;MqkGJ5cU$;EFYH@-f*m_3hD+nlW -n,+7:cfoga0<7^:jjC)LObLo]1R(@9DVLiJ8;p'+"!L#kEH@V:4'")8+)3P%,pZOm -?pk;KDFm;T&bQ,/aQHG(R!Lab1ce&2`>e'\r=#?ZrYP^:(4`2EMe!="&.ns[MNhHu -ObOg/36lrI?r\9b6Ni1O$86=\*CJJ-&(0/pL_1+@6s,E\i^??jDfd0kW1=U]JWtsf -7Og!4hVHL-+W[:j@1CT7.7RbF(ape=VAJG3K\44\.'B:CmMpPY/'k"FV`%5(_aVc8@\\JY*V0i_\=>L0ncl>EcG:[;F -eK_o_4#2Og8m+hjj0Y_L;Qa%mfj-,Z6qimZc<MZoU^A&=66d"3nBh]4L'T4X[=1%&(Q]'c^\* -ip7<`Z"kS:]T&L<-5AU]b5U*+f+k&;EM='#2iU/oS*MPAcoMV%i_6kU'J>,:g)WQE -JN];u7Z(&ET0fKa))3l0HFtY<)[.Y7$:7j(.s>b:Jg,#j"!/>@P+U(e?EKr^V>aUtTZ)5pK0hs4;=aY>F -X]=)g=6g#uEthBS -'13U!$IPVEL:JS3A^[s<],YLIaS$IGE-8`h$nXrQB,"i.%u^`%0&NHP"]1M.Mcu6M -@hj/)P#e2T4!REAJLjSAnVtf*)e89S\VN+`h-8W^DsdeF4;F%<>[*/FmCgQN:^W3l -0uuH\JBo3qn;*$,9WZ]8Z548^@j_rJ33&A.;AUd(gWR]abZaP,6Q4)T+eUh`nAH9_ -.#_8*UM>D"K/aFBd>Md5$CP#6$o/<%N<1^imtfg8e*p\'ER6LB,K56>:0Utmd=q)+ -K>Q8R%Un-UL[`:$`#+OJ([O);CHX@RA%5\O&^#h4c'fMhZMrQXrFa$0W>Y#o4oqek"jC"G8Y"0/EJgf=X9ki%'Usl+s**:L&g8d9ZUkSc0.A_MIi.`Hi -C2]1DQDqTWP5q_RN'(hM5Xes=VmZdTfD>e^CgE%*fVX&L)_XGIWO?eEB -RP1q"JAt-('n\snMBS!=`JDk\N.?$0[['&0I5?bMRre+((WAAC)<4t?N[$]Pa*@j/ -iuEe"5)`R$7kT\Q`)hF`\5!>4d'UuVuK28W+.T-)g327UkN?,YWE]S3J -^kRh!G4dOrA[rsuGMZC;0oA7*OSC?GQd3u#C;c/KRkGJ!]8+,hl[RgcnSe@+0EhGp -@eT9t!9m&SO:Z8b*/=j=_-t=o`Bq?hQA"HiZf&9O/o$"^^88ZoEU8kYch-90'`i*! -3c'snYNl;5Hrn.i^o%g5aA`>=&7?c%e8#$YFc@ -@hqqC>LBJin[0ae7!(_)%3I'MbgeN]o$o=4fLjRd/[F;;daKfoG%5?9GX4##!P!>@J:pAlrCN!cd^Br+:k/S --^&m:M8Z8$,k]W+2^r,\Nt.N*Gj`_&'EPZ)Y]hjrMM6gt[&g_FLg3o"UF0qYVp$&" -$_/7?b:$ue3V/q.-K?Y`jZ^$<53.fPZgg7jM*;UJ1drD?P+rjDqX;_"OKj-dF-K;Ms.%`Ne\QEK'C5m -DuE3@Js=5$k^hS+_5&'sSL7s^dE=T*->8(u8kg^:"!N]?XfDL6[68.DUP>@;bU@7k -WCjPa.^\M:o^u"$F%;Jj:\3`TeGr0uh(\)DQq4g/+eI,BS?K$&N/V=0#)pUK8l)Yn -:Gi?5`>iTkI*GD_97an4Z?HOjlkn*jB$-56:B9[U^JRDYDkXVOo@$>?,<;X-;\_)i -,'R*'F]Yu!*0gD'on4r?H!"P&J]BE:1Hgnf*Q"ajX*^PU0P!q,ipV -?a]uC1\k-2"^n(:>BUE)K;Q(gic4:u^nZG7-#.U6eedBin3Na!!PD0lV$,?]@47"` -;D'",cp52GEUYM[YNO -AVoE/L2?dJWm$aQAksNik*m+ZEDT]JDW7d3f(![%q$HZcDmo]pp@WAKE.CWPma]Q8 -K5,RAB^cHO1.?^5CtVQ.`*uQ*E-DS6`[)_co^MRm5)]jZl'H5oNAG!\9JrO]Cro]l -ZlIQGJ]9?a(Gds.ATi97G3d7`=)i-PCN"@.++dU('O+nP0iXuen&WUV2&)L#7g*e3 -GIMaAX(M@4UA.X"(U(oJ?tqr"[6*X.heC\(Nj.6@\?7/%>,Im/lXtL^X*PSW/XP:A -pZ6j=`HPDJB@l0Wp6&'?I<]f*@h4Id#&LZGOUe6(bsijsd+a%/mW/Qh>-lf=N-P+h -._r1M)/kDUd.B81:@JXk``,hS0m-u!U>]]ODD;Vhjfa6&)^KZ2Kt(QG.N*]fARJVI -BBJWKcL"r@Y_C&2r9<"?\1Z^U^>\8%J^q(5\8R,!fO@VrQ^+SqO6X]$fiA+DYh-*Y -`6q@/+NnJc@\\JjT_A@"@1\DPC#uUVGaTMfLhPBOV&h&q,*E&=GRgUQ*iE5LlT"7q1ik@goDr; -;JJ1]*G -e#B$S^S?>t&Trc5ekt*l+!d8NRY:Ok[B"VeX6l*hqS?9;]19isJ4?.fG_o]DFKcBi -9]tX;ORFB;>0Vq5?SS[a]#JQ#Gn)S8Vp.be!Liei]M+Y_[&K@Z%kDCGX,)j#4`f?/ -Ul2E[p@Z$HZF_it-)7:u2*P4t7h6S%V]P9S-WI$DB#N-4[OW^+O+\iLT?oo#N8:Zt -bHn2cXi2XVm4dtT3"RLk9a,O"?MS@?jK),Wq];)t"Z;JpY9+gC%egg8$@Y@N65d$WV -%(=@+mY5Vhn]slTj/4;0,Xu"i]oG+gr"6bm(e1!s_6W+;;uZ:U4eAgWJ8*g;9sXQ( -Xr8nJ4Xkf=)qDP_+IhZOC$$P(s1)6 -?9(VH]HtLuRE0c4aS_,VS0,j.c,eB'QcZ,qXo)5gOB)e'[@>CCNYm#PmSB!/akW7f -NHXj9PJ-CB"3j6f\bo+frMIL?[&Sk0N4i2k<9CURnj1?sCtW]aOi3d-0q?)+r<:PX -&'95+,[CL9Wi*gl<8VUR+ck/8S3#KO(hpLD`-Oetl78^N,_?Q6@:\BrW='5uq'tG4 -W=[."!LB?/GciaNcb2-`;k_T%A_+P2M0d.lo53'B=D@,lK(F@J9=2(%_jA4db9=Jd -WI6!h=4a!b>H]#dk)?q2,Su$=^;RccXo/*OB^]I=AsZE8:29ULfcZ.M%PJl(+H,!@fIAq:?iMLEC[A8`;iI_`gfUr`/&hJ_n+D&fst' -Nk%-cVM.J>n'1Tqke$C5K(^_/iFf%k -cEsGL[7t%]],7HlZr1F7ceaS>T#'bWam?'`f07I4^;l??mdTi!_((tRFHdQ?+H0;7 -pf.gGg4(`HM,#0" -ia=KIqsV^Lo=mH\4`0<<7<8CZNQ34GV\9kG>;56fc][&T+%fZ_ -,aXJBXtI6?PsM[B/t'mHOpFIZWReD^\>dcXT.5510+SfEM=[?8pNRMNs0;HN\1h8] -qlg>";8@3Dr0V01N!YT6AC@Dj$S$%uVp6?lA`(%]iV[&u:p"oC`>id[GoAKe+:,s0 -@()P7OV+YaU(MJn4Y9&LKq(/<-pB5:L\80j!k9*jQR%fJ"S/[.WnECZPE"GYG.h3X -GLQP*24I>'':IA;<\d`('$N%sTD -H8(A8O"3N-'m)b0A9Euc[1I!ZmS -ncXRg89,ti'hGVuP9hQRiVJ$E-].8+_I`hSFHV@JZnrJ/@!LNnV8uOuQH4npKGW[D -PYmh2".jWSB1_63*s^Sf4&5(ZO$$3ZjSM/;l[5@PRKjG]>FK1Z3+8;P$Z%S_-<"kl -LL`\qM\aYS1B:*;Y_5I^coI+IQ"GRi?(3-L;IZ,N>Kh@R:88+Y:_fgB>?:F8qcVN. -ja1?9p'$(W=EZ!K@k'?XII7^brk$AtH5s%Mq`F5DfP,9'r -0qs[2#$HgOZ%tsfVU;8]*X?Ib3M1>+rG(5.*Mn3lp]^hO.^PiE.%a"%@V6Z.F]*2k -A\kPDR=\im@0NG-ED8]0V:/15!Xn9IPNGF@=dk$fODl%3JmYkAqaTC*"^*AMFSL"!MEP`#9h[_l._s&S8PsYo=[8!7&"7^k@n+3S96QljI,#6O#)R0 -;0q2fEs9cl"G>*99C51K`)%='WMr<*V9u;aR`@/BDB268`ciK68ad$/:tnco/c39V -gNNP9F5$@OkBl*1rWe)7G\U!0`qZ,qPN>qqhjnE'k"1 -XI;V*RMd86gpk1H7Raj%#0.9#&hpUUd]A/KYP1Ca/X-$.4hV"b>#7@gULC-!]_jX4*'Vq$kNQ[l.j[$_`V6Ki$JH -6thi!U6JWLb:5)5B[aJboPPU%=/QD^ZWN(fQn/Q+N1%cai?CPJ6]8JV`8E1j*JUC# -;J:+NVP3 -U6oQ'd3cL0.k2=08e\5FWuM],$']Q*[oW?H>AJq6Y*ISM=*En!/&ck=M[H"Vf7Nna -'MhSCE;<3'h%b`s&d`AW;2kT?0a@9@PN2(-fEImSm)>I#Kg$eCc'%pSY^gek8 -oJhM;\f2;O`#O%B0.'YSWfoUP"DY4UKUBXcnlhlL5s8bL$_qgLqR.EF4*#4:GI(@' -k?RnXFDd51Y?+Kb?$&_\DSnS[9BGBKd>83HLu&YO]P/i7@hql([$bo1>L`2,;FX'! ->:RI:h6hTQYJpCLeCc:3$HbAD9hcMa1eEWR-"=&_=^u+PQOC%&#+FSE(ZSnFcmil\ --p^_F=7Zr2ojqC5"s_'RQP3hKO*,G3/&dK#jC6]&B@ETZ^\4HfM\2hb>f",j$'d2. -8tmE4_h&kJe9O29hhLZQ9#J1m-W(aHCWEdJ*Q$`L%WNsO`ngj-6OjB%8`t_&#!>TS -6t6IR9g;,8'ceN.(0797<3gC;cC*1[k]o(tDEZ'd -(=/luPE#-[V8`6s1`\s)HteI11heqhEVHRh5n1p;[lE-oUI:D<%6M_[+"HJ['qmti -JX&/jk7g9'Do]lOQH!C-@\X9VV?u9EP<,BI!ha03EGRM$d'&s[Ft`;]b_;Co46W4S -[nY0&g\[=Ycb,=N/>GSgqq!!o*1ON`qVU(U![hnDV0Rf=2h)5h$uiHc+X&:eS[ -+bLPCRUt8dkFHLKLZj2thtl66pFL`r!!LBZ)jWT8M/eAP03[U6WL#;k\65V*W4t^I+DZ`4F,(M]XpAqL:h,7, -?j>=MP%? -(F0&>lYE?P>Xi,;`a!CNq!:2d-PsoATmD8&W-#S.Jg=jr#a>7DO`[d0aY5DW79Dt^ -TP2;pD$F*YLEhVq"FqCQDb(:g81@t:3fB^DbXb(`87[?DH"tD?L^K#H)0?uN40Fn>`nZj%H!j1-W(NS[(,UdSlsR'iX3.NH'ssr4 -kb"^Q2aSDmL7_Kbtm\MC1\(kO_;-a6="-p!&IA]sk5#8*7,;gP;Af<;j!bj+=^9[?EAd2AIV -MqkD;jO29meIgEGq]rD/p)=UV>pdO=4Mq)D(8XNKihW8=D`gqI>D!bM--=+=KRK`]dsAY?.>fjKXb=mX`"9. -8qn!#5M1en"98K/70VU5KkP*&fP$$7E/-,i=&iF+`LL)USQXd?=m_harLd='TirHj -5\P;U=EN7Z15B7X#=*FbQurV70ieI=#,jV;87hqE9El=T.=CFeP4b`1A^MV:#gahj -BJY>B@tZPhHPMA]t@Ro]j'=,;\ala"b,56ldtpR5h$4Q(o5pR -`=Z+'gg.s*IE5ZQa]tCZ>cl1S]e0OIUt!jOLBqsTctEXY9Ejga>/2_CcsfsF?D^h_ -"fUC6aG)"\>+e1bD7kY;=M-Dl+^YB1W%Ud:dFB/-o1U>Tk4KA@aKasOP6@]6`oFt7%I -/IAi&&_75dQ3lR-0h\>$itO\4Ui]BR%[@@@]P8s\/+?t%2_pP7,mH)fc8+Fo4U[," -(b,3S&OA16B85>bhHc/or0bE!1U'^6Pe':*!d2>;EahqsL;_6/q:=T_9a\TcADU*Y -Q7nB?0Vs4qjSi((7QfH4fauhh^%0X-?4J^,p];:%"o?1h;][NJhM,7`)0Ss=_\_G6 -@11GU=%-L[1%Y[TM93"u[[OFM:1bK$1tYW%cJhdUXCu#rH=`?$=3$seVo&QR0PX8U;hdh^[7q$aCK$uD -KO_`@BjR,s#':IV;Pe9!l$f*c#(p"9ke.CHB=9].,"5iUM+P9C#&G!]lB*\WRu0Cq -lPRHm17Q#T),0"dgJ -SEu9YBuXP;g,LOUUVa[4-`RJ(;h0r1NKh*j,cG:f^(`oo?n)$Gm&^S0hUcV&l>*'? -m@^(gZ>JpIfk2qi5l+ccq,fbRC1/l-,aq19.X*"d8K2Ku639,DTdK0ZRr.TX:+?#t -"&mKSeDW.e6>HhR(=@%+=pUjFkctD$2ABs-GmFN7d -f,6euJsgeGbO,kGlLbVq.$G^179p'iF7(LW+,QmmN!3j'c*;gX9TTdU\tEh>dB7#37:K=*b/-D@PR -8[dp=1I>kYTTr"d6`S*s[`%`2#5nto$naCud-YaJF2l>pmpJH-5BH%iF9n^d+%,-: -rUp_QFSkBm!iVYB"p3=QAslG]_5J'G=bHk9'DAAk)oXQn!#dlVjo=/NR)* -Ur8?R-4kmZH(:$e-:JUuM,:Fp90mnM)bo@X>n)q+h%qA?Rlr#(WZbfDOsp -r9)pbs54_1_gW*jH=XRWOkDY(!i-2.5QWM3gVnF$D.n2rI+Md)pYnDbAY+bDbB*+h -S+$]Ys+R*-R,J&mGu2lN>0eY^`mE36bIN)Bpj\q483_k/Xp'<=G:BhK63KN/!UX4A -,,:M,"2`8UHWl>'lZ(&fG%+9';2^aWeYM;=\6[B]HeJ8oIm<#BGsnN0/!`h>deSR9 -AM]cLB%)%Dk&ibW:M8/Q"U9ZJU/>PUl:!%`7]'*ueG=kgV,OBoC=RXLB!kjG=)6@` -"bsudV,FBj\)[/$mWu2Z%b7%;b*?>BcO/6[AMhCOUY#Z:,3VLA=pN@J>Ws$=00lZn -X9/6@OEstb;[`lifqdbC8";3PUWMs#Z0?AaI7C,7X4D'/gAQcHAM^XF[X3GBkB4Dn -Dg0t8#7#t#ic04uIRbcNbNmt\mBXLfNlL.cgE -VI[1J9/`Jj,nXF=Y_(p;i,j`\'%05^"DJT_@DluQ#Eh?!*\A9.#/$%F+UGqVX1kAr -E4dn6_bf,K%`?F?.X*F8)>n_#a3htiRg1t5?^h9l:h:UlH$4"`V(nDb&gdlZ4r15! -JA]F(W+\J`63.j/$=p]'23atH#[/.C!K(e4B$o+L7*tkB0$D]@_(`E>%)k!Gdlc#7 -bu7m#2U0]uiAf%6Pj(2'e%G35cVrS&1/F,4!1Y$!C$Jb;V].$ta^uf[?NmXS83I`> -YmOdAm"pfqQ_r6[FtG*68Htut%7sI7'D5(!eQ#mX?9RjDU9,P]l;b.*Q`?W -f0.N'h,A.Rl!8L]iHX3\RTj`;Qb/Q2/I-:ZI'%%`F'[7))*ha=1.qUQ"U!_"'T])s -r*`(WBcLCt"et'p*@I-BNoS7Cm>p=2*_DO>3=A[2+&GW>Gp>g1BP`YS+daf6@W<`' -Lh(4KqEG/&,$H.$W+811+o)gZ$H0c<4r+?b6t;_K$*n\*a(_PoSd,?_FWO&hl?o4L -2T`8kf1&WDm9 -U6db5DkQ:R#sMm_L%2RN*CdQhlf[VT&r&Eot@(.p`CZ@I25'k+Y+ES -MkKJg#)Ko1_k;2$W!u)hTGb=V=7RlQD#\E%PUF0nIKN"-BK" -iBU!D1Dh_Q0XH;Q*5VbRoIX0I[TPrP*!ftr?A:39'8$^2Mp\[g#5IL*OEN$@(WcpA -PZcuk[M6)3L03=RU7>bS'V[HP+JBZDk[:al -FO;!^N=033A!]Ki1WL+PN7&^$7TgTOlK?4+,t*nW?q_9h,UO5E -R+!*e9UV-#iq1E^dlq/58YE*D8GR47'Q+Dji&G*Ee-lD'A=30^0&c.]Nss6E#dJD- -iDABPo1jNEfqgfDV"K.WbgdbSp:oJJn8P/(bmnHrji5YtGE2GKM33cI"nOrl+O!-0 -RM`BN,Es&r87tb-WBhTL8f\")EK9hF5)W,.Ustpmc\bRll")HCe@p1Og0m\>UO&b9 -eM]n%NAaR?i/Vl+A:q,u0,SZ:BQ2f2YX+MW+E6N_@utpVB>I=l`Aaf^?E?&<.WH1# -,[X:NWB[:l5X_l"%\g%<1pMq7"kpt01R*ZI!uh;;UG`t7.SC5eE&@k].s8c#XOnHp -Laq55Ygsl6=IU$%hh?uneid)7CES8]d/7i8_5k8:jr%[58.l"-LC89\>_U-`(R;!\ -QP%BBa,11V[SD)#.q*8]U*$g5jhT3iDD]BfRi"M99T;)u*Y`ArGmt5C/7<_oCUIdn -!^p?(PmfXl<,Q9GUjEUV_EE[qr+nc`#?tEO4`.mm][rbI?CTG_WKle_f=_Js>MsO' -jORgN+o^/jV,.4fT:Ba-T\$fEjZLn,?V0iKu$SYN*B!9U$OYDPVQ$6T]dk[Huft]&8qr]W]D[(%3FrK -$=S=9(9l(OaOqX\A=LnlE`PoV`kN_Yo4Gc#rB7(MK&qpF6W(ou5o3ss;%0jXDT=St -*9`gA;F3iE16bn`3O^t\(-uA(c!@-*\uB:]m4O-Q+`QInk:ms^UZ%ki(3/a&6T,R+ -`Sul`K.9tIiR5.>PPW-Vb=k)>hkkMXS^Z;A-tLRgW:_;qds@7ZWV\2i#N['KkR;H$ -3B.V/ogO,U()aX&Fu:jOXGq(NZ0I-,WV.+HaVtfL19,LYlc=!JEVs>46%J!hqa6+= -#fTWUgaU6c^)OKHF-4l+0!Kf+a?(>_07AtoG@p6ugV%WB/`FA7k3LlX#?D>bqfX^@ -k[L;rMar^)6QCh`ELUlag\!WHn:$_\oA;TJr[")DZ+Y:4E-2[GJ2TnieJnWA>Rc+O -1S+Tc#`S;o/8_V"fM!t9DYjKp@6u]'rCthcs'Th1FK7C)46PE!TQCjX]XenJ]j1<, -',La'Wd+$Zpm>^,-ta'!]atuB\V[X)D/Ue@o@91V?hB[XdQ87VSfNpJWV0>Q[%Ot5 -Q0#tWZ&\=>7k5@3%HRte:!%9pJq[A"GMc`Oi7U=,n=C`?Gb5^t/8pI:edo-4F[Uh# ->Ug<%e8#5F's3E=6\kP02)@os2?e?N*+j;:DkZd_h%,Y@T"ZfQj+!MPf]aH"2C"4. -qCDi@!dIjpX#'X56Qe]b;/imTh#Xf4#'f3p_nPJ%Y>iZ;SL*tO>qu+mZ1e1[h>>.N -U4*'\1;0#d7%H7>%NtcuK*.AE@PD/r3.I5\@K2l>N*)&?aOT#&oX4/-D9pB*&-dOo -"?2$J6#$2U@FCH6ndqL0)QTCUmRlR!IUOYuLZKFOC^*-O@ch+5ruoI)9jF#T>l]s] -2D>RD&6B$s>/"pm"jg_:0N@8T5''LP)TEu.`dV%jC+ps*(gtu1TpkuloS!NXAPCVY -7S$5a-<#OB.6PCYWg3t" -A`a'E_`f,uW`2j/&$`qn&dKPB$=pDs+OUnY;0rW8.e"#W*(d`@:YloLOIU&6GL23e -M>GOg!o3>\>VZI.&k5PM6o]s(W_%;DW@")8f*!e;HEl&9Tn8#=Sg!COPUQ%?!K-iL -P#3\7\ngdUM0/)>8HmO:.+4;.;O1+A&Lim7>B5hTANm`jWY[t$*:RoEAp,!YXE`1' -%08p9JhH\VRaoaa.L!L8;U[4M].INqFpVgrKrim>"OVsU=UnCc1A2K>p=`E]SM!8A -m[F!Rel6\Dq\%d@',NBe)E^og1".=A;\[[g^-O>Uhk;;3J[Cs\.1G8#JKV=]&0;a` -?MUY%*O5B^P9a.L.5d;q3"oOW`ra\BXrU8#*=)fmONPPJpb>9t5)rkVm)%faY:s^a -QV"4o1LT^9AN>sH3YS5FF!3SCWj^=n"R&I@EZjKnd1q4cmju-dESU?u7+K3h,Li"4!6%3iB71*GFs20'n>VI[kF-3+8.5YobAkpq-.SkVM6b'Gj'" -)CJI_6.@)?<#!HrWn[ol;/-rTNiJg-.]kuL(?)FE:3/a#ffKm@72"EEjh17T3oeZR -1.t;Cde";lY0b[7(36q#F9_B^>h+u:74m=^P_2MkM`N[<8CWe^*m9MD'PPljjJ$Qug=:t619Pm4r3=R2r#+pp0/9rK5tL04ir -(s1;r6sg5\(F/Se9GJFE'amu0ngt/mM4s.`dTZ%ScV7=r5Ur$\nB-KaIQinLPJo6^ -6(6D8/fTop-)%p11=9';03#?;=V[,,FV.bVRgug@p'1Zl%:BbKDApVVGXuaBLQ*u" -*e^I@.(,U,nM=EMau)&:3JD&jN7>K&=MD&AHS\3VM*crnN/$MSBIQUuMAVP;@f7hn -R^LAQp!I/J$Xh9m=dBS,6A8g*-G/Uc5qeiMTuC3/XMAHc@3q$(.706IM`0*M@;%f- -(.2Vj$!`3WZECd2m9r_%'N5Wf\:g%SW..0cErMbcbQ4&+#qgp'rfUks?gI#8G"SeN -)ebOuBarHu2Nqj,?YIV(T2gOcEeRtG.ad8t5)18AESY7[@_-5M>W/$:p7H/"=_r_t -Jr`o30:t/D<2Zpa5V4#`k[Mr!&7Oq:8!V^o2l0s -*c"b8ZN3/N*-fXu%.7AHZ645L]S:?Z(9ph' -2e8m[2%u[tdRIF_OH;;?$[cY!I(0-+=9bSQOar_?J1=s4X6R;+QEMr.)2Re0LQI:d -*ms36Vl=@U8ZQNL%Qi98K@WVF,UU@rqYBL!'<%"QD@hVdgrmqJBI&>&@imNnNk*F6 -VmS- -lRQ3KfnffjM-.M*GeucQ7\kc)$c7YnVHuK9N_Le(JZ'3J7%nF">0VP8]Fm?MXN:TQ-[m4(VDSM&AFNc -PLYSR6o&=HY_\#/WY^:uf\TU=Wr&KSIm?DSTh/!GL);Pe3=J;j803:cX\*H'TO# -f!UZEAb].BZ-bfh>n#m==U-(#0h19QH]J3!AhkL$lMQ#&_jh6AS,*)W=pCS/NM)LR -S4Sm9=\NU09H90[jj;/W-A&TQnLtYC37"&$LKM1[Q_)$88%B,JeW%![Pn"++Z -7jk5J=U9?#M*fV`.j>UZcWZ>f\s'0j&Z^StW_LI+eCMWJSukRN[*[!EjrS1_Jt\'P -pL0rRfQ==CqMf36FiRXWg:CU:^TX++YQX!bgB037r0S&!%ER\2=(I*OMU@/&dJ>S, -ENNtXs0.S`Umj"u]*q'kocK13hl!c]Tsfu,m\8'YGYJHH"qiZSM-"[_9l0iBWNp\@ -I8Ck?)gaBM)gAcH9<`bi/Xn_^Y>J#38nZ*c;FkG4o)W=/-McnNAQs)_(!j?nVm*e5 -FNi7,8u+a*]![eG_(S:C&pDI;N(@Q1%'6ccL*L=cd)P%WWN,oPqlF&7Kta&F^B:OG -qsu5jm#,YnAP/ca@Ec:%&m325O)%F`cuC6C:j*fQ2;A)H%FN$\e7DCD[7U_8c:ZKG -b3piILSfZXX%e>F'!F/rdZ!gbN#mYWEJrU!:L#Ei*,!9DDng[8+Ilu"kOd%T'7 -L2\gimTP?!]Ga;G;mrNLr,=L*FifV)ai)DGL&R6PqO;2-'FmU2%U;l6nqQrm+NTBS -n^*@h\%ljHG"C4(4J#;1UWo=dc2tDnr8SVVgkmF_%F/HK2e8kcHOR3idI=[p9RLe@ -V9X\%cJ8uP]b4!B5+b?[,t&74&mHOaA#u]t%-ui>CkLGs?]*t5[JbC1`=XCH+mS0LIBR4[CUtQ/5"=\KDiks;0L;LW]:+.O= -NPS]Mb6SNb+bu%H`J-*:'',_P'nN$].Qma4dOdNSfYf/j*Q-['bLPFl%\:UfC`_hu -TUTR.NtFk/MV)AqG:]%,_.oh&*>-jcpD7,b9uTch4k=-XcU^7n1)iSPbZD!cWP\V -ihPO?B!Ql#9k?_GVdWRWqr#;^Y/c4LhABom(kulEU7NWnmD.9.p#a04k8p8\>Nt2) -VZ;1?DrjF=@Jbo-o^ldE-@Id,ZFNm@1hGkClGBgl*n'U#6BQ5jLJYLkaZQqqoG4b% -0SjV$Y4>G:oCiSaq8&VOpUY/:?q(FMq(u\^kf(`ZfXt*,&t-TnnNcDIO:' -EK=r^C?A\c-<9^W\*`(2q&bbJh]_ek(\L8YJr+W5*kYt(d2g-gZm]g$1!n.$qMfr8 -q4`H9s20(gNf`Mta3_$#UXKA0HQF)E_8BWr&;.VHsn8\2r]te(WcZ)%: -mg$2u&IF.XiK2]64s:Mp7,j>2ZsGI)NCMrjf^sVY+d#=VP$'W5;(7c&jcIN)^0r^] -biY*l[,,d_SPJ@3g%>8p6(q-=PZfpcO\)BIl'0nE5+tiQ<9f`O;%g-:XOXA:g@]p2 -@Bir$QFD>rE-a7U[/U^_%VgJb-J!%>_of'22sF -'u&mV^$YW#[U1bWbtfoi*8Z02U![QGRU%hC]q(R+24!tU\a$qG3`BiAl.oIh.OE`B -":F0&_8GcI9/0$2Ce[L*NXCM];1.)&2&u#(;pS\$m<8Atg2FK1Zgj1%r$s+35YIj`L7PU-?)Fh!;Po*!\dL^RCB>LHc -*X15sF;.2)^."@m\E$VWirM>SMPS(G,n_O1HpnjFR0HoLj5F_d%qViH?Ad0ugf'WZ -3G`IF"t@4LSE;!'FeD6EZuhm01(;9s8*gO&cnlIAbXXK9%n'8O<>S,%ZumH];C`FC -X\r-+02,;$e8XnUFKt=`T8+$4HC8C@g:OO=gA5CeljP:K"f(m2&46Ko'OM8(JI#Et -V*U>bRAUAI+!5UtO(;/\23VWT[WS3U+Z(8EWP*#)>-k21p>+(J.`A] -V;kahU3S.qOCaiY>=?J^`-7`59&b<]H?Pmdj][D:WbT,NBrPk562drOBD"T?l%ctq -HQOWt*H)rsEP+K$#+2blR,Pji?*Q)oAeD88a_6+.ra<5gdES`*50],HS4nQIrA??EY -2%YB'-+H@71.5#4(;i[a4L+*3f!ApQC'"m`2E:iu,Y*\',dbD/PZ&QHkq[$fA<#R# -/&lPg'#OQ`LTt/BRt/P-6Ljfi2r\:4BRjEIfmEuI5Vb^bYSoi//IOGSbLS4=Nt.U* -8!s)oA+Y84&d;m`=TosZ1l!8P)FP7h5X-%%h]=!2CCZ(%24q+k"Te*s!`8M@=,V8. -682b9_34Uopu,G5U.1eG#.m%)Wi -M,?/c6ti81QY?#=:nd+fa'k#Jk29pH&W".I#egNf**pnLF#2M5.hBMRP`)s'bsl*( -T(5Eo6:i=2,(TD`Zo3il1>PC!,tFpL-Da\M90-g!:T=aoUK%pE!Ct&2Im[O?08-bd ->KF/UiY5\%M?Q9\o"\[D[-J5`1tSb(D_:WW\5t`TMrt7d,)phn.LJ!l*b<)-N5T`C -Ob,M6.f^IGFA<6pOsC5?0GdI>^4PRq%BC1YNM5Q;%1sZ@72X&b#aBB[@G=9s]m-pg -$Fs?0=_hksYI4X9Vct*SD,0c)Xpd=2/"r+7Vu,iso/:365oMDo(n_aBPZ*O'_eCFg -/V*QKknJJaFRHQg/6>lP29oPiInQI^kHV7[(C0ONB(moS920GaBW>gkT[ -0[i;4&]O*;N7#Y^a)r<4(^,n*X9F/o2@%&7@bK\0)1tPI"K6<(GebKblgHUrDY$#: -cl*,8L8E'5.ElqPa`E*>0e:*XT+th@:Ps"1?lRH-[#./23"oEFG(VPa$p07uh?^g# -_X2Wmp?tX/gVXo7<)VaRKgH!JjrPahla3AQEqWka&M"%I*6FU? -(0mS$W-Jo)MDkcF-6)Kh0/jfd0'7%oXHX4V>fZn,E2;5W=dq\h*7:GO2D!4`U"*.O -ZoSGWJ7t^F;[ef(F9^*DBOSR:=J:hj*QrkM,2+`@TnL"37[b4HRX5LG-YQ@8IB@^C -6e;2LXS'$2f,Eb0Aj(:?F#LFsR)F9Q5gCd4>.5I1+u+cl^I.'dG8L%!dO4 -[`q4pHiJY94pf&$[_1PR-NNWRB[[X^5KT\$%g4tOcYmi5GJ`VuhJHFN;kg$.]IPc, -c:,igQR'/q;`9ZH:CY=X3H/I7HAgW9E#\+iV=_`S#'!*f`$i#3\Bo1kERh;&"3toR -1:M:<%E^_E:[/rjW>3\jeG?RPl-d-*%79@GilKm;K.U2*qr,OrBQOtV4gjapfXA-l -=2b&M\9Bq@go[Zl_O]KUT2"glJFN7N`npE7]Qj$.2R\O1uEG0+_$/4Q/-Aao9Zia7$8IK/.$ -+,BB%ha@2=1k>Jn-*K<)p--s1[2Zf7FGq#W1\D2)$RR\mGSs:&50p8b\_=1BoA%L8oPN""=JC"!ReP^>o)VJ;D@qGS.3[Pn=(1>EX2oH:tPeN8AB*_Ipf)Oq#\ -^cW6\QbccWKF"3,]r=%2KDXssHcW6[[ApL964qDW'JI?<0uG2T5t!KG6-hn*+hamT -US)Y>o<>Yk#87]]WL,]X867J)7Yd(WLU6]l9"75n5f=gU`#@trOF+$4Q*CE1WO!VT -bUE^h]=2f7QbYE](hP%nK.'+s4iB[UHpbjU;8jeYTM./\1fTlJ;'9;t-/$>ViZ*_. -fS7c8L3!-c3HtrU^TI[+XQXJTOE$&'..6tJkVFiS$9R/BoRFEj+)FWTQnZD/e& -Mb(]_qi06;P9OYKEZ'TF@YS*R7?S]^P,$'nKZIQraBJ[0CLJaraFrO4Z+N1'GVYWU -I0MNB,7Ih996^WgZ4_[L"^l",88K(eaG'\2LItOH>;ZZ(:WR6@aF'Gu`14rs5f\PK -amhhl\a)WQjHg-ma4W;Vn[^Z!]qYs71P<+nLjKBVT;Q4mb+u(t7&qrG?*=#9(=Eg" -1H,u':REm-Z-&4YR)GQUN0>N$.3hSY`0@ZEnV54W1;'\&<38g3^!#KNNmsZDoY?T" -]c>I*SPcR+e9r^W>;[X%RH\scgjqnhs%F&J9I.d)^p;1r':a?7X:kGc_^%^6^8>VX -Y@.hWkera:/d1*B^8PbPK9$7B59suLRfT]=Cs7sac-=bpc1KnNKYU=ciK$C`*3h]$ -'Y9'a`A4\Ig9a#Ad'+lB3[CrWacM7%X%0+Zh!RMsMc4pE-5g`C7WhmmX -*_]^/3+jC:?8lo.S]oXh3'\&pTfZ_a:eR\*2%S(Ge'M;$RdgJ8Uua9"[&9VX:I/<> -BN#+OkHXkqVL+917"GEUIBGP@(H?(>FDiMAF:_Zcd2;:K/L/\D--dM5dUaea,p\q2 ->fDR@:lKrEpu2]TM?Wo)6:);F!LD/c4OTKLdkH\Y.gIBE_^/^m:/qQ?P>kGr09.3I -e$0<#]8Xhjbm'#VL@MX[oeVRZ1t37,e22AIF[OYTVGn_"UhO;WfHR)3*llp!kq#*Gol,fm@oq30fCQQ( -'n=jIOk8QL1g(n9e$_SA:*tA;N[c`ij=>tS^+9>F*E7+4)=,p,N6^7=YrU>R!N&;B -'1,Z&1"mD]PfK9@SLWt5;rnfK*:6keb#]UOfsRf:gB$R9EkK7 -7C6b_b"XOP0V\KsQQkt;imZTBNEPqRg9?Lfo.Urs<6?`3fTUB2>j'0@PF]m@->D.Bl%c+D`\]s'Ab>NMj=a_2k$fem%V[3Hf^lE7mk -:0MW^b6W6pUmY3l^RX],gn^RtZRnI^fK.r83EjfV40PhD,XA,M]J<6lb*.q`C+("t -c$NHe4X%fNGJj(.gpiSRc.h()h5bt=?0.%$a^u;<_&P7T*T=\j8MW.\`eOH4acXWZ -nZH0nc/&ooa,TAh3pmB=+>UN8.^XRlOuWa&+/HN-RH_Dm!9?SkQ6"&d"uIYhG[1NP -F-b?o?EfOJ`V\QCrMM7)?fc66a[d`4g;Ds,VQrjR8nXK9gtHQ0>'S`)TuZ'hb1a!) -fsUmf1$:_T'*Q\:=HW3YWHOIM+Lc@)WqeCor?$]K?3\X?..NY.Tnb,(p:=Q<#Y#52 -[N+8S5%""(eLhgUBk",:DbYRW1&7E_&U&cZ\DCf;_rR48(*=N^+C^QjihJ8sC(X_; -fh*cg6<)RAboMNp*g_:h"jPR0!`C17%m'T8LD:u+,:[)e*Fc`4j0h%BAfg!O6"?l^ -W7>\&Z7rJG+qVY;c^j2Y>M?i,7bb@7`_Hm%F^a=r0L&]r1:cQsr-P`%8;+K\#2JN/ -aC?G#`7m942fc(-X-qjcOZN>b>j\M![RoP?=ll@$j47D^?-7p"e)ND@)R\Rb>T1%VAn1FEF'V"I\DNBh^OSKlmNmTL+1%qj`j%6Jpr'/%$:r)] -6[>$(UmVn^Ul1Mm>NTV]IX(%Pi[rZhc],\Vk[ATe.6fDhm1G%^< -88*14l#L\)Y*[H-L_4*s0,u8n7FeJjGaEd@\#<`-/6OG$FdRnQl&h"jVPCbpUpN/4 -*-hWF"kfm(i#CDmit<'*!`\?+\=#7clm%^11L-CNN@S2>cG\'_^24[$ -q(I<5\]A!?KP;_Vo,Cu/#>Li4&^E[@,P\/)$r][$-Ge.a#\#iuY_ToFhg\WLR[! -_c1C_CFK;9L5]P$#$>$Bj)-47mkF1s?Lu=:nde&o@+]N]qYQ\n3[F4308+p=isJ0I -nS_9`mq2R,[f<]I>fD.b)]Y80+ZuaTCSL1kgIqj2-1lnrGI+>\,eT'n>KEX7R9Tr^ -E!HpD!NGN`&BV*V%a!6HBpP^VfAu>hQUL#B'J:j%tUnF[Bf"$d]CD02;)S7`VDP28El(7X"nZ3t24Ok\3Q -4uBVl..\p1^K^B7C%e5@o^?P503SddO:W="nQ@&UD=Sd[q-Q.Q)uF.f._p5EMYFQ_AVUQ`fhCBbj6"ME>8M?hLP^kW8Tr<.8>1S -bc2c0l<+h',#b*`)S)9Jbt-fg0@ZVZ[+bXS`c;\VD2[fc!dsafIC@^S-elBPg5;#i -(+VX+l*\q;pG\[^KrXrW6+FIKC:4iURlB.QQbWNTM11_@(+T_H(XWu_)V[n-[1#VK -HQ]TNesIQ2RRbsQqV*j -3Mb5C2k3WU;n:u_I6XAq*Rm+r&q`]M;JB+AAN$)TW)RM33i,lZ=0,G<<-g->[pQ@A -CfWVDQ>ZMH^Kn)l$aJp>E'%&.V[=#LeM8OU7)Y8pBS0RqcKe.>'*j4+T9eMZ.dVom -]X!Y-G-\B?iaXnfDJ91n -ID<(M3*\Wh"-(@^Ed:p(B/cBXe5=YaR:@KTj?Rrmq:9d: -R*>iG.jc+2V/o/>h-dZs:02eqr;X?i$j?[IO=Ug33[u*["i6::*='FmN$OV'-Zg^D -_[stRs20W^i9S"5Rd.MD,l*TF&Ol!n'sR4Dde!Yq5_;Fkb_mf`'l:FPE?3)`57L-r -$[W6%;CmePaV%:4--;]Ofs7H(X<)DN\(/!D;8pgHX'n8-+i%o@"-(IE*g@D!pi -!*L4nab"CG7Y/]j)b3faG8gcIic-!:XUL)ZPg-D;1BD]l2[B%E3>'EheJ3 ->o-5cFknt#fUkZHEB*EH"W<_6(h(f%?; -RkDslm2Iq,ipAgFh7)eZ:;OH8`VH`[O(_7*?!j9HIe>FLfWeJkPOn;B5EsmMIA7A9 -l,W?2-KiJ@S?FNUEdYVYk4,u$5(6rhU%[do2I/d?QKGl,,*BkF83I`NM.aR=JLL.o -K]D$+'T])p=?i,2&K"j`AHA%-)PoHWE1$ppfQA6*a#E7Z][*SCq]=(kmJELCagJWb -pVl\#P[CPu6]C:!Cn1fnMTlcFl*N)WVFPl8?_N2S*0B::i\=OrIo%@lEt8l@4dtEm -JP[p'5'RqIi.M\.YW<(V;a`i?kl+`fe76/M=u/Yf1CiEKBSFhn1'38s(kEf#$kuMk ->MHn.ma:t@J;,/T0 -=KN=[PMc_/@P1+%]P+$l?@r@TBoYL;.RmP"LP&<$">L`Hh6=;AX9^A6ToB%W39kpN -22B-&^E;M;0UQeW7EPNgmTrQ>I4s^a:Q&-U@SBo> -,$>#,+/7t6Nctj1"kYF=!od&uV=ZDcW5`eX+iGJR,$H,-)48m5@a'\N3TichSC=?B -9W()3S\EYA1QXcThN3U)YAVcG3+i%%ckrgF.W4?96Yepi= -mct&YWXki>Bo1f)2j5BJ)e5[heA:NJl;C4#V]_\Jt)k.XpI0jN,#N>Frj&N+R[7;Y'tZo9>o>hbfj -mX_sQG=Lk'<#K`.".tC2r&0F@RaK,$OVa&#gOn#FX49M%*(,7c;tiKnm^;Ro[po/? ->O6,YV>#>#.>Z:hfNZArmM>0*pl24oi,-SgG#Z])(\)VU"q2gr'\H7kEPEbPdF5ii -B+AA*4brL>e&3)a&i"`,alh92 -@hG$6k]AI4\fF4AcsI=>Ib;Qk2HkplV0a>3j9HX3[t4b;)om8.4m0L\XCIb/7FF/d -0bH34ij_?c*TfYDhToag:3u54,+KedW,SCH[@o@`R/O`+69j"]eonfAOKH;N/\H#=iDCmQN2-pHKPUipVou$[IQE -Z(4&-!9cg;:gX[3*#qCG$X7<0?73N(q3u#q;]hdY#LQ_4W -n(rEJe(aiq_3j*D-.D`I[l3fUa"#AJbrs4qeUL9P6[2rsI5&bA(YL8;'CC5"\bA;Y -O-ruGol^3fWdI..fGrjN$uTYt`LNZr%Kml0TmRI+.leGeE+Oh?J3ND2*9@AG$0(]_ -_#,ku!AG5+YCQ^n*/fmg6LFCs-6hPHnG+@+Rjk!n9GeQ3*<2#H)+pL)AkF-Qi;rFE --?(150N`/<EGF6oQ3!A#&G[crSHDe]j88E+fJA3G\LE++^o@A8PC=rcc#"K&V: --:W!VlK>BY"q[Uu!OeULAmn3`c6fui%YG7qob6j]'I]^`nO4.hh%R^FSh1Kp&!/mAPWh[AL8F`R -V=;oCmg/;YFG$_1KFL4<)2%A0 -`LP4&^mS"oh\$GC&kO@S9N#l\,k=oWC6BXZK[9TLkeNC -;0sn`I4d;b0dCZm',3`f8L^hq*R9mu:71/kKGV\t,,mtL/0N*TC5;/MOq$((Eu?^= -9f2H<23Q]O1K[!X8iY%F^ZCdn%mV#s5WsbP4\]f0nI2;B-6$g4.C34Q1LE+_N%B%. -391@Q9%&L\&dj1B(oV2SLLbQqe3-1OL/AC1@@nL4[f@o_EMj_6A3)sb5rg`d4YtVO -@Ws\NffeAd4Tg#[nLh6Snet3begPMJ]MCc9dN2^YgR@DP=iSGu7#IdM5X0)FglddnfkXjYB^n=_E*R7ZF]7l6ks -a$d7N0O?Idat5+rm[1jhCmo1R5D8M4-sFY;mtcK5FNu -'RXjGqOnJG&tt(Fk+r@IN."]A;3^*D24,kYDcriE`G76204Gn0VAf'9_G1NV$tu>, -$F,N.3WY-O'[d[=MAtfI*9/dpF9L&%:7a=F_mQ+?($T&.+'*OO?QsJr@nPi[0!OjM -J*:X%;_JDVL`;C2/8,OVQ1Wd1q-gV]@J1g#7m>ag0c>lV(*T=jQ-:3?Y3CgM)&1./ -.MP$=DNkST#Z(5m`,ARMB*:NS[81bV<[D3uD.`1o?P[WoDU2>%,,KF_2QdJ.M@-%M -_,.QO:b2NKP!MrGGgghOC%G,82P_ik31346S`2,7Fo5Am%e\&I`f]b'm(?]'mS47f -L<+>+_3ttZL6a82a:(:JQE+o3m)X?mDYEI8K!<<+<3m`T-g-TiZ*9\^Z=$I243^gV -.;s-!7rO_7/JfRN,044?ZL85PNGbu59!Y+rE(-eF6^=jW+N=/(,:OrM6j#inE5kE*`#,gn%AbK+4Y"^]@%:5s;*)`=YGG$rRV$EpuB -OBG#:B.](q8OhB"-HO2<%e3p.'#uM@#H%J`$tVakXuhU%a;7pBlnaneGl0RMQg#>O -jf#*=%,HrY.CiWV+U2ZEFHm/#G)?ZE.MQPiB`CpQQHfSoiRs!s6%HM"S2nN`R8'2m -iKtfg6\dj@C$AoIqTRorJld2AB]=LrX;>mo).?2V+i&(Xc#.gCTCf%P)?_FD2J'Gm -*!]:Ymg'e]RM'1>7Z564!HbdC^1[/f`_0s!26*B_ZG5d&"K[-[W^!/F$`*Vq>FE[2 -1QA3I:3!8tNMAA%k^!V+$]2GCG)#_j=?'o;nH?F*^=lkk0%[%JLaFO9CFG"]26(8, ->u^/9`_!>+WX?C-?Xts-Gn[k&&7;oW/g'F*>CD -XOmmg77$"jR(p#O5IDGXhA_$U,$`ri@,N1Bb*hjXWYDo/aA-jX(1m?D#]t>1'(HIK -,#6-%n=+.6HanEZ]K=%kqb+SB:Ts!%FAPTSQ8BSN)B,bgHK+ug:RM/NHat<'E$<=< -G>^6ij1NP)]Gpr7qa&#.,&;#JS"&.o`sT,4%3#NGD'f&%`ra7`jCYOBk=/Y*0#!0^ -GCW8)^g%>eHq6,AbJ^[=YN_:.Al3.Q(-G]l?jT4aM,;665n0%]c7sL4'OAZbMo8kK -7JmP7,Rq.p&D`1XU2/8oWtO_*^i1lIG":u$/&d8]o_F&&jiaF+%Rjs"e! -#-BJj55%=_7YIG5j#Vh>X"uDa'=\ZFjQB[UY\`L7OIRE7$d\bVe3-2I*6luXL!W23 -ENs\DEgtGY^1O\A:BT-s/']fE:ddoVXi@inrCj#X6.`YoeK'0#jf!9]^=>45/0-8\ -7g]Y-9[YH12e1?4#57\jF!C^QNG[.X\&d#24=r]\fNj9fIE4_Q9AHbNQmoiSVGN)+ -E#Ym&g']2cB4SYKF%=].mg[ok7B+>@d-,nshsj@kr<@8>50*uYK5#+,A4<2<)O&]6 -(22]VlY^B70#h&cL,=/D#.&Qr"5oaSj?7kFr^?uNK(>b4=_VA0ll\HHAXZ1_``.B> -De?=;HfV1gj;r9NSos*dIm?S80)?MtD02GIqj'`^:bUak(..]GqRF]((M>p8S%:tc -/a'illTBg\T!\SZJomEjd^e<%$*LOj&mXHOmT"4E1Z^<5u^I:t+ -$u%Y6ifkJOWkR%r'U""5J]&W]S=_&!.d?VSaI,_&EBA:u1pU^$@D2,4>YE&u%R=1&K$a-.2@LtUCim;=udUa8)t:#'TPa2P=ajKR8g=l/XK,m',d%[ -Bf2ASk7a95mWgsf:ZrK2'b6'hUJ^7f_Bgh&9Vg/&'cN?4WE$!!lP5l=DNPj@=!R08 -bO*=;HF02[om8jCH<2poLt29Rn?WcLetUXigiSf%nf3'!H:Nl(V*%9>WEoL?ET@,N5HQ*2MinYWOnZ[,$ -7Y?0JOJSqV2\bCfY"Y5!q%R0>"6"(.QD'uV>mLR9HmTIq&@,"I__FPjNl>G"_4)#c -^g7r"6)JZD#>sQ09<,(u:fMQ`92eg_78m2dF_+bX_CBD.=]T[ACKi<3'3K5pVlT/A\XDNtd8Y.=CL)[R+"66q( -\e\]gAJg`!=_g6VA/TD;P6NH*@1u*B\mCig6,IddQ^V3(jgg+UR:^`ACR\r3_dcdt -g!4r:BDM]nQa9c`pidd7b0#$tB$o+"(T,Qr:RNCFjQRJ3Ta4p/,WU#t'':V#<#NW" -G&3JAOihQ*H4J]=D=U/O\8HYjlanKjQLDM*Ff#4eRKjG]>8h-4$om2iE@,,[L"p?H -@lT$RaRV.GC`sCEn?u&Yj1/9*PBeU,2&mK>3d`!(_t1SbHd>dFFo@)*flheAC7XO& -?Z"VCIHFthZHR%UJ0%0/[WRg(3PWk.0u8M^g%r4+72NU.L@H/bl[iN6-W-sd*\dOW -hY_jNb*2T"2q.GJEmN/,IK+pW&0Gp9ltahAc3_Bs,.9dIK!>/)gmE;+:_;t$5\)!k -b/\;X($3"29Ze'rn33W'fKSKY#%5q"K916e61ZAi![JnAOHpOu82+SIW5h;8Qt2q5 -;Mrk:07X5q^BBZA0LHtV)+%S9%C)/+T:88V&=t+7G&n""6q`B!1n_dcSJ5Oq*+$hQ -I]oO-4Q"2d\*%.Ku;7NaF::_!Pb5X8UW\pjnh=^he0QH9?rQQ6ZM$a+`P*b3]H -O-0-#1DiP&j:m6.KL.(%2MsT>&W@dSA9OPa_B@6"3uLlQ@(>>=TuIXZ'VdBS\1u2d -a'1*VZBeE8)%S1X<3(]CVH-=a8imUcn8Li<3=#(`1rCk,N$As./9d]G:?$b!lQ+4Y -GHN2[i7UW:RLMSs;`:<`/r)B"Y*as? -!-k9?_[^?b3!>ng)aXO-%7&Pp;lY%VUAX;7L+`TsbEj$mKOKT>VV$WG*ZC8ZD$kiY -3+qTbI]N$V)QFlUC)'+7Pnj)>8rZ_`;WsgN+o7eXf1'D0aVbOm'Sk39?5T%l&L-j3 -9:&%-=uc>HnQMd?HI.E/h.a!V[8g2[h-=#"h&jlWCQAP8pd[XDHc*j"6fGJL#(TfN -kdXpPitd/d9/&N=*)K>EHGE2#eU*%!.p> -]1i\6apDf,P1@Bq4pBCF:[C>L[,5@79_R3ah&_gY^nfN=f$>[R[dr;Hao=gRB -qd4@iB^`q;^P-Fu';=..*Z?4CPJIsZ3@up`r?o1O#W%>mQ6O;`f9?qHro&/:J+1Gs -_h>o:@GF,"g+82WA&)P9@:jG3#f[hXODK^"?o5btU`"_l7>+MX0Gr`YYnf/=W*+Ih -mh!f?"&qr&!OsV6=Q5sJ4E1kqW.#O`+2g0@.qO+5+RdlabF*MEgiBMS0g/Bfoh=I) -Fcm'Ki3d$-fJBJkD&2'#A'CqbS[<85d+V]'aP*PI -*4#%d^3A0*hhY?6 -n(n(mpVA61GQ`Dk.(5r*ON@eq6t"4S1MoRofQs7)Z/#f73QuB7hV8?s2f8l@q%X7t -4HG[>[IFE<@n[nBi,FLgE]+mscVD@p*nAgp\_n[R:GfL7#+TCD"TZL\a/F(=>j8rp --R\/L2lCch7DJ\S;lMmDP%kl6"PuE$VHQ0I\Q1&M7Fa"M_`&BFM*i]b>5XjQ;n"D4 -XkW`;II98E]+O,, -bB\,2e@`hkQ(?O>)"baaLN]91][o"K<\N_4QFk.WGesgXS2eN.MWm+HopK*8*c!2OG_Xbqoc#7e#!RQjft)7Ftdj:4JQD1LEk1e+F5BHp-:&V -5BHum8\2]*"['A3SMU@-@7l24>6_@uV:]>rpgUMD?nThkR*(V_@SK"!6j:)90j&A/ -q<`r8=u7\d^Dj#bC`,O/)DCFL6*)%J,R+O:Hn,RK\7f9=\]5PUm3V%ZL1s5oqW8ag -mt]>t6-L_g>TL\?.Mn$m_Q0RYZ(f*LqN;,0'0AuF3,T>\Bg8Y(^4D-)qrfJ-Stsa& -#!lXOMOOuUE[5Zp6%d:r`'$KC4t7fs_sBW-S1BCO]U.+p\!i8OTo+Q"7@;9I]jhrp -S2qViGEOdJ`45ic*)&cR<(,523h`B1A/$JfqRPmTQ:pETq?*+SkV-el\VXYu)^bl3 -K/Eu2[T_33TaaE^:W;[-7JXC0r*Vu6.m\u](ZDcWQs^->FLp2B,ghI78ZT]1TKRAr -2hFOV.qQ^GD@F`q7dP(_gg`h_*&oZ.#Dce,C@_ZM0fC5D!t\958iOQFHP>X.R^uh3 -G\+c88Hn$h,_KSeA%o_kFh;>p`r'jJ9SH#?;aqIU8:%bc(n2&S'pP2,#!;-4'#Z=X -,:O0*MSK'D2Y-+L!li/]AA)Ob0=VLbe2P%M#bb9fe_##*ZHiS>O7*u>R$^5TBKau:g^2#M&=?kX>=8h -)LX^RBhC'r"^)q289DK.qR$]Ba>B2MbhC@tmS<$YS]'tm#lVPIq7[tNZc%R<=bq2d5'2mX>$0/'1Z?;U51SB=p#%\%*Hg",o*3abqKue&IUCt*(0@(@U -e#b`2]f\!e-I4Io_'j(JP>*K:T-:<_UH-E&I.]atCHC4F47*NH761lH4]C00<4i@^ -m7^L3Q+F3t03ELsI.N+-hS@Y#$e^K33lqM13)R=7O0ni7jOmM7=]*^Q-(aP8lB -I^[mI2C&\PWaO$36m*\;c4o1sS,T:"W('ASNI>$]`G&AB[oCmmM:/ -/t8HUfXe6UN70mM2HhV+`GA5%B\-NO;T3i?'W`)7,7AO,r[TacX.n[B' -)rW*=FGE]LLFS7lCISMkI8'13_c!Qe1L7fEl+*7-ZrC/-l(s'0BFJ!_P;ee&>G#Q:X)kFOUO?K--XUgglaV2:+p#d9RZbQbq92>UHidK3$uD -eR31+C`kV2M4crZ^4O?7ZV3>^GgDar1E$&4FbAL-ia+-5gg/r=c/FI1Lki3_2k>g< -rBLHM;2/OS.8c#)CR^%C2o"a@LLoQ$($4<^:#.Dl.rkEh6s,n&D(MK@SuZ/Rg;g^d -"1XJ,cVna=Wu[rBL%AY8!amKUhF7TEqPKhk/Dg?*#.+e*!?44T?^?Z[ -PDhOhp&s1\n_i4V?lfh.1Jkk$8l<:H^+aK?m%PlU?F5)ZMo;5Fgu'R-ld0*$4b.P, -C;-5mWF5uBiVjrC2?[Iu&LqN&Y=6OdWZF"6)O((fWB<,(Rcd)4^LAIC@J23>"tX6+ -KU9V/Qh%DNnbUht=MO0[#'A0BCc%'fkT"XaV@&VK>+.JhD^u4S@I=Wbjum5.Kjl)e -:@]+"U=BdmF2.YlL:ujV@g8np7CE!3[G&b\]&jo1-KG#AindhaG6 -.SD3g)PB0_"ee0+&un;G3\q_#[0`S^!2!fY:1^S47L\ct]e(C!U8o1.gM):N9*UNb -?bJH=,h4h&Zk]BGFl3a87,D*ZHimu@BdbebVPHggHP]"0QSa+X4>q-^To6""%Q)\t -ASL0_6,-E[=l[eBkC.Y"2Eti6P"gTVW02ZXCn_]%`uM1P$ekmH:.*gkA/Zu,%Bb"d -eote$b%@N*-NST*_KEm_D&YAhWH0*A3lD^/M(F*s&`u,LP[r/?G0g_Skrt=T/pZ\T -W$+aI7@RdLEd=W`7BBVZ1rKf%"'aX[O_J?!k]WR\^7]3JE&][WgthZF]\jPcX/pW2 -^4HI*=_#?sjs-$@a#cV`@Y#.HU=g*Bl5l[8%^?SrQ0TEG+\CY1U=_)dBVDJ6OgH5r -`5'S7+/Ep._1&^WY-;]bWb^J*,s#hK/)heKQVH2d:Q4rqEFYt0Y`of,d(CUJm?frj -\#?=@aVJMgmY1!+c>;a2lRpLR!Yi<](F+2E*-)._C/&56\]7rI*Af+urm8GU^MTI& -mB51gl$OSAJKLmCX6Tg`;6kquKEch^&[Ljg3QEc&mE5kA^r7N&TMIK(?&#;"/+$u; -G0TF"mV_8jD$KGtl'J2:Yt5\T\Xo6%Q+R:/S0@$c10Xf9gcb6q$+0'JZX80n>9/n+U;_R^hW -dlnGm%o@?s^i:N:E.l;=L9O=)i+dr??j=?]Gf:EMH8V.-(APsk5='B/$1W4+ -ACE4G4Pcp'BZ]fIWDVg=9gC%A8nEG6D3mW'^E[jD=)oBX0AeLT8^g7n+[i/mcr1`% -]aMC9"0bnn/2Ksd"*H!Bkb*N(46qMka\N,nFGH7r#B)IbVF4aj?%uH5KZIU(\4_Pn -15,F4[dZbsLfK13E/&=N#AUN1`ccJ(DKb6qF>n,':sK;BFpDnMWUl]>]ct"N>?)&NJ1mhL*\6B!MB=8@\GDll_LhDJ]Ba9H;OTP9XVa1"> -RQ?lLH+D_2GAqi.o8(J2q>V$@a\A]!`raZ5S?%I(gE!&9q:-BrU<`-$j5"q:WA*50 -HE&D,qn>GID&>FLo`;""Som=i[_"i(e( -fNSrD>(M4l*fs_]W*t;rWIs^^"NXsTcs$^1EX%B9q079\7mM&iXF.']H,n-S]!M4i -bB2*i#@DM+3,Ag@*,D*(2;:\P`1JJ0C:$l/+0'JUa3M;hX8SLaIBVBL>&0W!iElP+ -TS$]PEU)E<.N$A@%^?sWfoRJS)2;mOR.t/NBOQ8i"GPHi(14b-bNT2.]S3i+R`JdF -kU!`X/;2)Rr%Mh"n8^]-F;F;JIF%[D\'4lEbUQE6IuCoOs)Nm.EsG6YL]Z+qhF9,% -"a%p)LlGc$&8RsOj_-;4XpA^[r#q#M=Z$ts-S)%SpOC:qdWn6X<@aA.A^^C-`aprp -9kMk"`9)2(Skj"Jq?7(W6_[Fke9XP1PtRuQC"3!56/>J><@TkP`FcM^Y#fDhqZV_n -A$T6RepBi_9i\W*Xk*B'`oV9Q?#J8@`THhYGJ.?8f2Kq]i-).=N[.6QY%CNdalu83 -ob+qQT9f!^TS2g@&"V9k'r[f#[hg/',6SA7<..u-%ng0mdpo^Gm'aN#[c_Y?-6u], -e\bsgi-2f)O-cp+pA9;'Dg_P>8#=]"FaDkma(Mg7mWX$6rn.t(j77Gl^0aBo_<^ef -4[*e&a5uphI=C('a6'W)I_VH^nYgAr`\FW9'1M/e3gF<-MFSKa_$jV'U\SfP(1H_I -?Aq;RP!g)JYu\c1V[;.'*llb&'ZEpS=Vf!(Hsip*MR6k3`mMG=*61q3E>ccYjFJGp -;B1N;a![XHFIjkl!-ssol.B)Uk92TgRu$%%1mE`&U.Ue]q%R0?A/TD$%qVdu>"lo> -;V!^:][kFgD7o)g::$JW=pO+[IPqn;Gr/nJcp?)qSB$cP'?J[/)+N$'I3D/0<1PI0 -4mu9k9>#AK31*V9m6ORu+?&.>Vf$`GqD#PD2KF>_S98bZ]Z. -fU,5I6lBTO(FGj$C)j.&bnD/k787IL?&rkYi*<*dDH -m+X_O[*cK -YUk'Y;78OEf\d=Xe8$A(RM/)V_dc$trl199`Y1uQ"QAiS"T^#+"K9$R@q9Zl.&A!F -jF**:rNF&*!)fU,K94M&6km"i5/r]E*TFa]_ND'gL1(l7VRTea"#=KBMp3+oFfiLQ -:k)[@M3QG[<"moT.V3.mQ,Nf)b5#U"i1k?RU\[iqZpm-?OQ7"jk\Pu>68HC0L_m=q -s2MU4DHK.r&d&D1$aI&s7m)*`P?r'"RC+rqlSSs3ELWQq_)UU'(NnsnI56B?qI)LL -%:YST-0HC'5lmP\aABtdeUfK.+LE&jXE6lsq)N+7"bVuXK2A!O#,jruU!u5t(X_e1 -`usje_b>+X0mYaq327@An3i3!O\"V4GR6/iBT8.Z2/%[qV:<5H5tS^af*sU7eD?]o -RWVBijZTNkrh*4/Ki%%9Q`-/jUfq]5lD7L\eR#=WR^H2]j^"q; -I]uifYXh8ddMp)k?Rk#.XBj3"KnC3e#gn&/7F@A9^kg75Z$7&fd)6GCKMN!WXt[ko -i>i$!G#g+.@dIZcZ.;+[=W8Ytm%ouQem?R'Rl+gEjdia/IaD7;7;2'7V6ngFe68>A -C@,T7[FW(E>8q-imA3)fjFh!%@DjY8385$5HnbrTN"1r/,aiinfS!Gh+kONP)^CBs -h&@)&DPbmpd[HSfDuk.MQ//iJ)XguO`H^htjh03:oNmuP3(G[f(fh>K$o,"kCODG- -impe)JS-<]Lm&Z!oN$q:GW*PIe/T]8E"6m=3sTWf_:UsX@2pSHn>6r;fO#%qS2H&j -jrM@lIh6'/7>UI\-,eBCgQ%bEDXHi+)HR.%gfd@0mQNJ<2_O7Jr(hsJfDrMXrubhh -M0;J9435q*n76p3P4E3Zak8l(@):T+a'dsK"0?0qdE3t/5hii%5Vi`JNY=g:^`gSV -$Q:1'$j6R>#B(#-M@kpr`Sf8`QKW&6EP[!BQ;Go\s$16<"ebK7L!\Nq6ti,+U@`&W -dFpfUBbI@(LH+Q:K5>Q9ELo,\T[aK2NS#QbPJDhRXu\(LLu!KT?pJYV4;GHS8eiqnmr_):S"_MoBikjNogsU?j+\ -iHuF,lUVoQiFFlUm(;HpF4bi3F=J1J\p%cR;S0,VD]Rn_-l0lBUR6:a1-cp'OUE!E -QQ!X!5aooq\-c\I@YnNB2[7cWhL%PDE?6B2FlPC4HNT,pShsa:'^?Ukierh2qDDcE -_qK=k9e4eb(W=tF%t_#tM?/;d`dm%hnqcGOIQ,RJiUPbEpRlUA\'Ome7Hh]G;7dS, -4iSo+*F^!n%=1c'\-E"RS/*o7TenM-fYJN%EX$W7`Rt&8)T\D[N-8OXg<'"#U6Ji? -;5(Bf7U7,Q\Y_>);/tEE"4$#g1enGKX=_G2hLm-&[WnDY=o'M(n_QC+Gi'\*qcpU_ -o:Tg!YpqF3fN8e3*F4SZhS\!,`g9(nokg%3\n2#9*.'T&8=MR8_f5 -QYH2#s0:u8Dajk2;)*\S-*/4u+Hn9fg;<7s"p$hAGo3(gj'>]G!LoqkBufujJ++,4 --2;s;jSXLooPV\3.,amT0HuZ$-fLL_hntS,I[Xi#OU) -gA@T7r@f#gO;`6pGiA+>!RN1KiNsjr3,bJ&';:N`mdsSVg(qJaeZ"6%l227sPT21$ -*!*PhJ^Vtte7_Z-##B:;n7MsNN/5cJc(i$OC&%29)u107L">%:_teSE6@/W -+T<,7WYXQh*=>gg6-r26:7uQM$W+;?KrkCd,6C]R$q\6en.K%S8f[$R)IS(-@=1D\ -HJ351qE^9HJZ':!OrOb7*Fo3k`+KKtrod1"&.o-!;$@Mn%[ul"(nnG[B)!=\p(cq# -'EOGD6%j_3-l49)J0Ra+L(=@;dajgu3f)>]c&-=m#7][cLFB>7\(MZ\^0]qG):)P4l8`A>(_;lQP -6P%Ri)bkqrdC1(;%3)Re*(ZZ`BWr=EIMG/7*'khdTsW^.VYK5`(o&>mc3f&5)A]7Q -18/U>_0?5P0]:oG%3\1Y@/:VsU(b@t)hEZ\6-O6/KQZ\,*-*DNOt&#&E9t]c,18B+ -A`b$]g`+S"Bu"Q=lgEJHQjfZU"JMk!iPHIG8p[CEb)s"TP%u$@YpRn>TTR,>;L3^# -P!nG/*pspf6&:G-?5^T#iBas`JQ*NfUu;Hr(ILh/.,c6Vc3XLo(a--jY@&7Y\f5(* -)Ss];VX,:rg`E_-#I5X'db?A%hBfH]kAbVs''a>57ZhF2(WWK3JY_!IMDGPn,_mXQ -;!SV\o+?\F*l:i'P3k!F4#+&`1.WiL1FFru3nU`k=[D%q@FB]-\dfl])#DBB(= -TE-GW_6jE.NfspL="f^R5jT5:TPFSC(\+N";]-qrNB@K'1:+k\LJ9mPb<6&MFlWHC -9uM4]3#^c)(a9;+%uM:eAf8m#)8Q^s6(i87\eQnq(^I".J`7_a5!Q;`4Z!s@O;U#7 -+#jph,?,UKKuuu]4rgQWSdG*u`HldfFW]Rj%UgOtJ[1'IeM0ZALdFs$oIEAM`C7.@ -7Rhks1hT:sVJ^"!?(q!Q"lgiF"s(\Lq]U,$+hecoVAq5G5c^P!W[-5ok`iGm8lV\O -1a,K>jIu1%8sHbRd!GYE:gUsjo7T">0LQ`gT+1uQ6m=Gu-uq^!`#HPDJYHXD[(/rN -^J;0):IVZe2"sebV,+Ju:fR`sL1AP*'ie8!?WInN8!OTc?/*b2/-9[ -^*tDl#H;ViJSZ5jbS!3d)aN0mm@IEV5^9(UP=Wb3:?:J!O'f

LjHrJm*&+d+J]o*`^Hj&_gTBS-jg#*b-NuV@6-!HqUL;LETr$ -'U`;2I:9Q^5'@?5#>$+e/n;#4BSi@*/"HP

=''=, ->BSN;Fr+Y3QYROA(O"=+Fm[.\at[q&/r%[<,(X]"c(e3&r"^HR,SKek,ar$3P;c0n -DqB&VJo>gVX(k_>HPUOH=18Q`..i2kWCF:N4s)Kih30='^P?X'.KdM\rp] -MIVCn].L.BCN>5L+k2ZQ\/<+a(<(T`7\aJO^B7mDGqjo(J_E?Me2alM.(H[D'k*/j -qc0$`O;1WS=U1&A%[M@SOV0TU1-A[tc:Xe@@cj1q3&Pr#P\QnQGlag)3$=+n<[i;% -O`^tp=[u:k99ds)Po3McR9GH8'p[1[No>L-+k&i1Z4,b3$-:80!H^ZX5DZj+PB4'P -6.[N9e/gpGKYj.BH"0I7S!hd&RMhkifr(:,YF>uF6@#mlk-c!Ze-uaJ6f;/_AU6-I -LI=q9QtE[l\W@m>(2-Uu.9WdBPT-3^lTogbT+fVE=neQArb]2STFbrg(EhBU#aaMS -jJRmLq8a?_T9r]DPGb?NVdF%\WM"J>UDbprq>6qNGGEkVUfp6!\cnmk(NK".TGKn' -oKnaEHVDhFP?K9'OVqV2h2an-UcM:(g39HXiMYCZ/_YiU>)T>u7ASXtp_;d2(R]<) -jQ*[3=/YC$meRe]ef4G>R46L8q;a%%M5aBgX;\u$HH3+M/$.INX]j:G>*H(Kb*7!l -WI^e+_*Aj2]n1g*L<9#^@<6[+"QdI-)F6\,e;]d(7.C?'XZG>YHP`rLH*Q*G(>C(> ->:["sgTB3_kU0i9@H2Wa65ZE2&cni5%d_n,.Mm[h(\THp@>#T(os;5tDn)RKBdR2IP2Wr\.0l@8c`T7RMjjP12cbuqc0j$%Mlm_%11QR7A6ti2n4-) -],S)@qmX2*RsYk4kn_qgbTn.#)UCM_c([&rEFYdnYSfA:15m5s -9J0QZ_2j/c>XnHm9>o.r`>hgqS6@4#c,Ih43=-TEmR'!c[/O7.=9Qo*"`qB9RtnBi -gfGT4S&<6%e&?]pnQ_:":>*aZS&u]K`Z1_BL?jJ_$VpdPLg,S"6^)>kpO1&$;l -o40qF(c"8!>A;DDo?D\*1&U:a:,UIj/(5E%cQ+d+);VHHhV8.XbFJds]IY83nZTP) -&!8*D!P_%i`R2,he!%VrrFXo7CY$bjf,\qaRK:lcHB6)/FFiWlJZ[8e3Qn50(j[0: -2<$E/UU^ZA)<&LSh1hI@@rGY(2k>0I9o%Jo],R:cg`=Gj*Ilk#MV,:[!?mUF_:^(: -'H.r?SIe)H:@4BVLAjX9/17Dl+m5EIn1T4)h!K%rZkR((l-)M7`& -8R]+_1\r)qlc\7CmbBFY'L0I(7s#RM,Don$NbtG\3M10\%JPhZ5/BU;O2'IfPb+/+UeZo,f`P -h`(/!5@n1$oEO+P5&su_,5Cpm=/dluZ'>TGNG^>6)q7W/WGe\!.GS9##%'Of8H8FV -HB5gjp`G9(*#JC+0*f43TEb01^#<:OH<7a4B_qg)TqhFSMB*ENg>g$E?]L!C]DK[9 -r#`e45KE\ocW1!6r<@Lhq!4)'_O`V62+][/VO`\^j8#(c@TXZ="2"KJ!<7U8i/h%t -*YA^46K+$YF?Ui[M+$?c=L;Bh)3%,GOkB;T5p;@]jH-ukA0WWdjQ.kn[_-sTN -m$:j5T$_8[>4%X1FhZd%\QnQH$anj]H+dPQQe7M`pAJ4&grEE!5\>XRMU0Ic1$r]u -4=nNdL#H`(a#trA.FoG\K%Y9,?12F4jnXFUlJL1Xbf9UdfkgAO?+/X1@Fr]345KW1 -J\g;aplK@I]8OemEqu6^GZgN;7^6*7qq3)2+`>rbZd[-p+:';Y4`:UB]m[SLuK#=;7o2%N)P1fS<4Y-_IV85^rmlG+7V -iR[iEK5jXuMIa8R*>%>nVABdI^j8D8U1C"CRO)sBEL\Cbk]n64eSK[lP@Irk=1.^N -?m2llK47rk2$m^Dp/RGk82a23BNdm2nsfO#!hd>U%"#'D^p*He@RgY);g#D-?d/d6l93*$gIi>?/KLghl0 -*Jn78[P*SL37]a!Lm[$`O@(TscLr0S.H"O$k=!+%N.hS'/`nUk[elHq$"RcbL-`W% -SOVSfH.NlAgQ:X12NF9dRRWX@BrInoVeS8YVLe"NVQ[(:3nCdC/bnbGY\YgY."/qp -M0*L&jOo3(Yf;>%@53JGCdOIt%GQ#*V+Htm)^dr51S4@>En7\Q[`-1)2O=rnEP-FN -`c:pC-UmSgV_?884P)NRlhop1cm,Z'e9SoD);KP*#0G;6;*_kL51AFAAc8@Nek(/!iVJ' -Z="M@1]EY.YYUHs1h[cc]#mN.hAp+Ml:X]q2dSo-S(!);c3_HM>f>]ne#%7_\_'n. -h!L[<&lP1=_D$_klC*iPoaGNX/qE_@(2h[u565dBKb2FOdY)QLfDIbOE:b5.D?8'% -./'Q-'r)4-Mp[tQdOBP7 -Z?m(T4>@'2XU\g`)#!l^c!GQi'p4GS3c1aWrJ>&cFr]aU>"Q5ARt_2_s$3XsqOd:CcLA,FENn$-`4C2s1p2M=[+m1^=T\'I+<1g4>m%j5*Zr=F^DS0+09(NpY]UI"nG(!U ->Z39AB&NOQK3bVj;e%k'GK.l:;.kdW)>DX,SFc%EAp*e'^Y*rnJ)gL&g2N96rcAad -\]0jZKa7X%Mb@1N"rN:8,@_Pc1%;s9!<)QfZePF7NV'r_f,t"4lssJ2pAXgDH=#@q -3Oqbb+g6@cj0.(N&9aBJrijlV]po2@ -6MnSu'sF,C_/pO1OeTX%)4LXa&g2J3j5*&&$^\GRTg09Di5gkGnH;s!#.lIB>.(\o -_\'6m6*fRgKIEuS.Dhh;_R(i1e1I!A)T(I.V'skCA+UJJ$,PgYK]lr.J6sm9s0T:? -Y1PW9-t\0I=?$=?6Hh*a]KF*[b/<:(XGfB^"@9sL8&FmbR)mf2=D]#P@`'W@_u#JW7F.Y_1k3mLLL+8pceqK3IfVi6,H"G+W:m)I8$Q8-6*@[@>D>;TH%]4m_PTO=qUg:(jmS&ikY5\10, -nXg.,\uO^ZjFfWPOi\idaY]3g,_8NdQH=+'83E6'OOXSEd]E4i6u[:%X*g=TQjg:4 --?J./g?aPEVj,=t]kb/CBDd;6tQDT/8g#AAFc -&9ep@ha#?8*NS.rE@;#)Vn:#e"gD\G0s`<+5"`JjV+eME_EuGq]qc(NbOiTo&?&0Z -_3=M07g*g%+DJl8A#.$$[qbCK<4=s2diO*ST8[$8cjmS)]eYuJM5!^9;<8c%7,>KNDc:$`L -bgfHc+"CNdL=s'gAEg#q[??L'9u/$<<9)8=*R`C108mA-6Y^9l@q@j`B22*Gj"DqX1>20@VB%>.5.+L3+_Nsa:>T#bB,9;uN*%>,M"NS*3Gf_(;mI?<+s -P.(UHfeBOl;/i^Ai!4#FLBTjGUn5BH;8O4b.EF75A.Z+i1^62j`2upkf`.l98Q__h([X!o]qjA%C0N!iS6_mo -6&Ca+<3QV/-!3u_>-'QDgc*4Rg4C4:"8m2?BlV7nHq$`2gJtdWc,AC: -^0G6hbPfK:KuqCV\D3aHSKS<\AX?PRR7Z^iL'1mOEDn#9(C!E+Y-a[c?+/P%7GO0Z -UUAZYJOs.4g"it2gpPmn6;lSh7+l^_.Q+8']r`aK]1Z^7##_pb](6.gr[P&%h9m]W -Xlut5&`0=_hM(:Pe1KM$m>2.dNK^ -%qWYG2?)MG3oK-1Yq>>$!`e1p&`GP2?k*j+;GtK._:t`m_Dl>f';hHZiPU&b&rWJ[ -I'L't?\cmbQqe1N<0:Ob+euap@PJk^7O6u'Z:a7+M:oaH#^hsXT*K]-L@`Y&g:K%A -.A8Ub][<$OA\(K2>_hTC@,;OUJct(>23F1_j)O/?<]K-7S)I+$.8h\Bh(]-b[c!8s -^)A`G!$a=n2'hj(L;6lFG]G6`GLTKJ@tm%,<_2;6'P+(5OX<`^`_E6-46'IK#'b+m -Fp(oYdkH+"[)8`ODF4V?6j8Zc#:O/T$$"nNM.G14&H5nq_YW7E?(q7'AbKN+Akule -J&X@#)he#16InT`?/Ur-#&[LRJe+I[E6#MIjp#6O2EBpJDs$2"Si1EJ#'$?f@UT=9 -S0=#UA8rKef*n/-T9_eJ#$,8$U^&4@AZ:aR(30oYIHTPVBD-h8epus"JtPk[@-h&H ->Yj+cBj/;[Xa*hj`!kh*@qC*kSdi7tEMDYDK+>&Ekjk\7rfEYAOD-&*SrSJ3'#CHQ -BSODq##)H`4J<1l$#$8RBY"_8H#V!TUM2WN%UPdm!9ED\ToLIol8GH.cBVc6;;FKU -<<-MASE^9Gq.QWmkdG2dQ695R?KtN*koR$t#,H#GhWlMolTqdjAa#Ds;5O`/fVJt= -SLq4cI_bG@"h8>\[TNiP#\iP&CHf+bY/'B8g$C'&Qu9.p7`DN"[GBC_Z$97fjU$PH -(U"#^1r:o"gkgZn[Th<1^+_.3>cOcL..^P`9rrV$T@bJK0AUNq3]b/DmoS0QKqb; -J#I1%LLpZRAO3KT*2=C^)6GRsb%k@&*3)n#m2R*uOO5ea]OUiX[!u`uV&G%b_EZ%r&i@ -#^6G^rG02aDXhit,+bt.n0'._CZ9F*f,b^r%.^/nEh=l:+"[!7/u;>c=\3S4?L>MK -EH415d([aYCBhkM9nY3(L:6c1,[5;TYB'06o!^]<+$B/AT_%>1oDp$)"d9o9mF:S\ -R0/ICf -T$(S:-?M2fSI4&8Qu:YUigtPIO'ZuUg32XsXFG0_!Qt-QEVDADidOL\IAqQJbU@Kpc!j#;!I[2>%^CAQ,6qM -Ij=Vd$_*@=`WFe+HCG,*=pKX0[40Jt:PFVVOng,YGrLqDDh*+7QCS88eW!s;&GA3H -:57:P(K*p;qZW/<[Uii>L&c)*8GB2'iTC`;H#Yok:S`f-V>=X]qF@I[OiMa$9d-VE -#,.7=6>7mkJhUP$Um\_O?5Vn=>8n_CGP*h7\#G\VVgDg*HZurT8%AG_\r1d4e@EBS -Z[L\0`l!1HN.V>LNT>"R&F8B=*k/_-Z)[Y]`KA3[I!Voa:pepFUPI95'Y^WTTEIbn'j\iT:%P3otB><2:UY^Zj8O"qIAJ=*H!DhK3BYaoSZ89BqZm'*C\CsK_n#nu -DlJ4.VuJEIIm<,r:ndlJ,)p$Hhh#W-5\q7@@pk&95gSls*rmfuOIkrl4.oD0)u^9O -KL0*D\7@K<%uUB2cA%p3f/u:hWfh,o2J1UeW8@8kh47:T.6-dIpAK>d^E9RJ/&>Q;EM=69@lfU877T$7 -LS^Zo#eDB/fQbtN-#V=8ZWq>`)njD_HTU)fQcndnJ(S)nYUtmeD7A;":cEn;fg(qBhNd0JAd0rGU`/uR*&4Fo><>EK8C<%#Wd>VWS`f[?>)oiQ7FLJi?`-3C9Xn0dS#r3f\BDnU*1F^LW!&9*0B::r*9[5ac&KN7\NlfR-*YcDk1O:-@SK< -lsVft'9)$5]^pO843nSao]&]qh#0Ia'FNkacr;S+6dZTB'h-N6CjNbA[#H?9c".#$!c)Imq.KnK2=&!#bA#m3Hr -0ktJtB+^eVR[(tV?"(?WFep0-V_R&!@lRIR@`RYO()GF[>0oiu=TrjTo< -*0$`6nm&@M@Ifr'29jO]cT0>D*=kTdj?"_\e$h7*pu -fNI[<)*haJ##W6\SqkMKIRnlR?-de&Dk.a@Sq!U$`.!cHlh_6sXmGqVn%J2f%l[5P -r/-7FIdpLum(seILL8]'"'J6.$7)U*)cXN'?9jhXkn5X9=HXLq`*XTSf(hlNgOTng -"tQRO"(6co3RB5^6!,\RTR7Q.:i6b/fK<%R*$9i%Pgti"^tONID&+?]EX:'72?QLG -)1a2,N"C.V"lhHUkQG'N:rFad8miQhUh,Q6%f,'$&;$#k-:H=\#%D[OMFC\p`Ajt7 -hHWm8&T03ifY$k8$t"q8fOl]H>\KgQ0SW*e'Sk(PhM&#>(4_W4$WHUN>S+=^A"#05 -k"^6CoN[9YMF'j3,p;8*M311M6qFj/+_5DMP#>%I8Q?QDA@*)5%iu@\Ja"520TR#[ -A2Xcp3iBffQ]=>@5RW*a+iWM!(a7g7fntt$I!h"dIP'5$sSlMAn"(eLGFND:Q1D5 -/4Q*Z)rhKHNj_\ESga:S.C(U#q6*$>]`+Q<%HgP;#smAn#,)_`L/?SD==1EdFVEtf -9u3tma,%/B6^U.I0rPc8qfin7S3@<_GRC3b=Di^1>7G"Q1e0+RD(2I'^2r*HkZ&7n -9o>Ii\pW+Dm6@OD>+jA+ND\t08L!drV)AV\2JAoA -5^X?qYZq;6$64ajcP3,u>cE!nihUukWO:!/="?DJG/[H9X"7C%9@E^i&V(cdAhTJqjkUgL6[L!"#@+bRFgfb,t -U5p@bg/tb#DSm$o=(^kJ]=3!&!d)'KL@SYTbgnAbk?u34DbHu63U4E6\]U">ebJ)5 -J`Hd$K-e%NEPO:ui9R`Pg14MOeUc,F#/M-.(>u83K@)Re_AH&U@9&M;E3dlEj3jrf -;%tVe\X\scP*-2W/.ui.?k_/^Hor"XR7CZ=*@&^S&"F#MnBO$jfLm5pe%q)"p-Ccc -"!M2[NKMVs(s*-a>pR7p(<"kG^EW>pMjobuYslo'%EB7n_8&-&8k*er*ugL#Q^Qn_i56.,#r -0sD&NReb,hku-cB1q&g))7rUWe3AsMp7]u>NbY\U8>&IVhL1ge8djUbmtO`6(HNNN -LZ*.,V]`hdiim*R0ophR%Pf)'qap&^:U/3RR+WE0WpHjUZc\$Jg)Eh&D,OT02R5+X -K;a(SfAQS#S2H((Q;id8KHgZnq[u6bD,3aiC)+.PRX7\Dmo"MG2n&N2>8r!/dega; -pAs2VkA5)o1E[;La+YbF9+1:!IdU=SZIOV45I#1p=")'!6F^]t&]]XiDZJ_NN03Z` -8]f'J-KQ5KN:O,SbP?m+i4R"s,[p@rmI9X3K8;^L!N'Hu(dAU!qK"lPGJm2://m0N -A<#R#3erglj?)t%F],3^]!kfbrF;sPT"3I"#@Y7bc`nK@&j*6%jaIITAPQ_d0!_#4 -^Mgtc5/pA)HCgYn^$MP;rqX\upOD7q#JkXl%9%U$LH%'k5RjF64K-Whh.(/!^_):> -.2+cM@U*AU!Mo%:-3L2q'?+nI8a1HFVtD"\eU"u9lfP+%p'(.tF(S0*I".:LC2nP. -=8X^]KWc2CHqrnM*A/]3U@`k4g&08[l[F$#qB&4;rBI:Srkr.:?Y$Xe##A4sf'H=u -b&^TSj:T=T^^l%4BgT)GlN\9p*jel-pTM.+g8FZE+7+g^Dtqbar;Z6i!,*5HE!S"i -g`$SS_ln5U$"T&$G'@QppRsD\6+Wq'gmAG2!&+o-n2UTPf)tM-bj\%(E(pJu70(\2 -.ObA[a40Y*+JWlo)6\@VaERlf>5-sD&n-Ibb$H'jT^#/6"L(qJ0Sp(:HO0,&a"Wbb -E1I.VL -&htZD0e!a?0bYjk%hUWE8Uu'OG'umg*A/6L@,>J`HMBu+if.K=_`/;1J/aN;*K2n` -858N!S7MeJpB+c+ju2"P'nj_M\e.a -oocj:Em6/s'e"+H8>5Ij_`7&QE#0,c5Y]P[.GG8O>T<79#U`Srn22_:`@VOs/+Wn3 -P6iqEb9HNi0ln1/1=[_lNkL#5_dS3;6.G-nEd)3U/i$>I10H7bn/W[beM=M?P7KCI -.l?ioP&jV\C?$kO>rFKL7C+'\XD46@:)P4ld@mN6JWU/T"RY[)(_WX9&udA.m0GHb -1t,kkE'64fSHLaB3\X,dF/_4lY^B/>4!FTiN*K;Fm6:.75@QW2Z.OHe](b4U]e3n-5R.IrF)K9+cIB! -Jf>l_j9s9u1\cg6/OJZb6SpWQ<&m=Q5sun+5LIoGat=_i7MB_lPbFQ?kiB9+A=ZRm -):VV)Xka"Dimf`9][T/682WoEI"Kk!815cTFGWQ[Y=+MsAEu8s&8"k[5ZCC:ek4.& -c8&X9oGm&DhBs)P[EMbtTu%8Pq=Dj'8=6fUc&Eb:Nr]DCAKB -W]rc2'g\HALY0JNd7m-A:c/B&'a[^7WDN7";0$MJOYXCX:?O7XE)&0Ye.RcKaH#c1 -+RRtleH%jV(q.s0<%!r1F\$WI9iUdc*7Z&C'QeJS5S@h<7>GW58DoM&b#=7(k:?g( -6n#p;;cRHr=>bbQQ&/V@2-BO6=`G`fYh#0EL79VS(Lapda#FkL'iO]g&.F\0+beYu`jRnmIaj!Js#Tl-Z)L9i5e -&HTJtN/Luli+pmU@4&NnFr5!1*F\Xes-;[Q$t^RD=;L,oajp$Z!JaRnppfW@%7k&" -TnbDNlrM[J<#-hn[TR1AP@?FXBsqSbG&6kq.g660QkcN&[Q.-JTVP'RGA=iVLZ"Lt -T.i0@[.\9LAjL.>S7?`9C,W$ZQ?*06<@rd1*?jTPp3mn?\erqsieruBDLehiT#K7f -*d3`%i!flD5(lc -.g9hb*+;nlE[ps(2^re=pMY!]D03+"p,n+&^B-lG8tbGa@A(f;^`CWWF]TD/QSBYl -Q$)AOEd)%u=(uieE7u*bq^Jh[ASip53h/(4C^0,H8DqFfWgqOcZXf=X@HRnPgrXbY -G9s)3GGn[]Xa9)sHT/?ZXYY0>U6l[D/WmP[nlU@7L/ddXLQ3nkcdO1:`j'1/ZqGU" -XO2B]]NDZ5IjZskfD(OgpODr@bkJpKaal3J[N9<&'WX#B.uoWZqQdoDau9iN.I/%- -h)T[_/(b'(=9F2P-\M1Z;E.*uGYH!,$MgKQJLpbE+hMiiT[tb*`3^0(B^XnhU/do# -8[M8pbqk$_:/O!%La -db/ptl%qBc:YZAE=h"?kBX*Y%$qNAjOZ=8]R,7=#LGDo^(35KU2SsC?0U8fuL@.'Ue=/r.%*T9tRVW-/2G&OKn5F03B(j/.geO8u]->c>> -R9Y%U9pk-/R+[]mR@0JRTUP[amtVV_i9V20Tcd(P\L.1Ii4'GOO,"QXQj->f`7L([ -6^dbE7(Lj=B<.F\h+1]-SiQ$-fr"&0h,i/[QVCX&8FCDpjGjno8f=cM)*G7P@>k_n -SpBUP\_EgR2kg'j6TQNfH7Y/GmcKt5;-EE\b%gH2b7 -PIC@-En`I\@sb\sICLX`Zn85<#L6%_X@ZB+%k299M_-_Sp7t:)6'4Y!Rt8(:EOu%O -2VYXO@q3-_]d#Up-,r*\]?S"M+F.22g'T8\OmT\U/[;gi>ja/'%cj1S!),Gk:[V`* -)oCM0Fhd(T^YArF>RA3R=hMWG]c7p+]@(g@f%K/%&!cRQ!P>VA;O/%N\gD7.H28AW -lUMY3]%dD(()t3)9k#)>`@?_`Hs*3A)o6nB`dAJG]HYhHJ3Cru^iMl[gR&m-mbG/X -NbI_)E5uMJeEjgY`T#XoI$cL5S]Tm?aulL0ghFUaji6W64)_'lOm.EZHCR&9Jmj\1 -;W<]Cbifg5)45Mbr0>7VWbG_;c6CBUI-<+dmEY2)b2Vb1r3Rb4rbC6jd`Y%,PafPF -0OCiXb-O!k[C$neCD:K.c1b_o7n:lg/1Y!\dj':d*BArRBH^Xc,i(s8I(9#8Goo0\ -QEPVWVYep+Enn=Y'EO(1e\ug\d-NnSe*WXRh0H,Y2\aQfA2%:iB@r(IMq+=KAleP -s*`un]P<9e.`b2/PK8Q*WT,0[h?";=-bnh82UiU/nkmXFEg#!MCgnaA[7 -msb*$^A[O#!Ur;Wn:(c6^CBQrN#LZn'&e'RT[4ArO9r`K(]\Xh_/ohBp=>pR#QYVU -J>NsQKFPagZW8mu+dO'uPT(dc)WAIOiQkV -JbVH`pj\.q^Q&$gOnh5,q1"h.^Rb3#U&%!MqL>L@^TIA4Z26bnqgZ0R^V0OE_>HO: -r-uid^Wl]VdJZ;[rI9Oec1U9%1$jDN,9R$d^Y/Vd\aKLfs*skE^\f2akS+L5"'dY: -a-BRWG)'@\%uX:.l"D2$XN"p"_*o]e2lTq.ot*q-bAK/+c=]5P,(7S=,fkn3&mM?h-cKTJ`?1/T!eaE6]^L-II*#9%kKu7?h(n&_Q)#qWdneiF5 -:FVRPAb-e0eo*R>cY)kg*>X]-V:0/O)P'p4=fp:kp)>$,!?f'dmthekuT -*Z#36^Z"_Y)=C!JK:^&'q@en3don6#^?R#=7j4,7-\UUalg>nAI*l -6ZD*J%n#ji6P2_+,YJ3KYs_M*7<)jB(IdkI@i7aUUh^o=n\fJh7r8X3*]5\D9^0'L -r/2djm!OF28TJ@2-V<^!XE,F/H(8l9`Mopp'Ll2`8!j<<+r:do^kP;pijggS%]*=$ -9UI0cH>B&aOlCF'#I3WCT9=m)5>UnT!mmh:'amB*oL0E^;06@g7n3+s+%]@PV(52: -oYiU\7?icj:K-oi6W$g*,tfI][5Cl_@$#1:g-,=UiQ\,#oA.`Cp -Y$@EN5(\#!Vg7WUT2Xn4cWrU;5LFS$-VG:u4Z?/3O&>R_7qi,OUm./m7@I(GBiJ<-#1f%b6Qo+QeDm+LR=%dYa>ThF -pDn>;IF$9K-H8#89CsEZX\j6T`1Y"@@k:30dBq`M>98n@g&P##X]B2bP,f=8Y>t6) -=).tLXGK!CD -\69(L=hK/e@d%QeGmOZpj`bpVT#t2_0T%EhRBr3$gY'2%BPe?`Zke\N>'j)b/"N`3 -7\82_.p-cSrH>RuAdZO*ff_j=4K$ZtBnaA_1#AkBTO^`"&HQ\U;]oH]_^%fR!K&f@ ->N[%pW-L!]qe]V=V7TfPmhlMDGOH9S]JklB>!'oQmoA\eQaP/o9AH6X,\32CcJD?t -Hl#3/aJa^lAdao2/Lj.3(dX*W%&"@f#.UoV"-U`cFR[["Fn';"V[?jY]nN]1)lD8' -%Uo3"LTq%.`0cl)/.:EndUeTI2=OG$C48#+&B9'Ko)IL#"qnk9_@B@5D8F'21h^jp -A'9RG[l>mqR][jV=Z1'Vbaju1G#6=a<_qgNXd4"Y>K_i[']mhO"]mDWWajss>qB?A -C'_kaU@*TQJS0L/:q*uf,YH)(PW-X"eB!:&,j#<%Q8AeuMHUBSBR#l;Zpot0=t<'U -r?7tYNaL4(i\`%bT'H,00&:p$1J3RE>[1Q#r.3RKkS^NGLm*2CF,VFWt*P2 -cW`WiCT[9Yp=D@o?T`1PYP&aLfTr:)Cf=C31FmU&USp_A_6OnGprT0c+i:Q.Hm4:. -%G=Lo1E\hlVpnPF0L@]:EbBe)Tn\/Vla59@46]N>D -4`V,&'q0)'$GiC@BFu&RF:R@7b]XrYeP@,Xrqc*7"hhFd)p*H=NcFgr`jl=!BcN%o -Edgm.?rm3e7Rf.FERlPX38b>,`+aq*KRAL(`mg"p`UNt^c:3!l(;i[a9S)$#q.fK] -h(PZjN]kkfPHjAc:TH./X4@'u>O.9MeC-8BHL">IIO*eLI.j'&W21I;u6\I`50r`G&4U@Br"=a_,ji%%pdi?8*Ta)abXHW7?gZuWp!tfVV -^cVc49E`.9#7^#(^jHGRS-f\2oXNVg+!>NT\5ifjCcGDBK[!['sdq\k$B -B"1_tL1=kNb9."6EN7p1.*TL6VEWY]6Cm.@ts2j -5h%"kd4Ra^?aFMdJa)JYi*q?^=pD#3#:%=qJ8p?`HE*bu'FZe99HHT,7R>No7!oqA -N(HF=9/ZW*2e2jmKD*+=BX:r*5""BcX3:ZD3!Ad7L6@",Lt7D)kogg2bC9XWPo)C"JP_Ee!B4D`(YK+.s'a?/.t9SGX"L.H-:8;a^n6X,V)Or#=B -#BOoAaEE7kA;:9]L8+hT<-]@DR4_<@3R_[H8tR'(Se8o2b.FfKbcNqUY"J#\9)Pnd -*3picMDQ8,a&2J$,bmt!pb_bV4Mhheg>aSKTE?X.*.VhFk]B"aZCO+EbPZ>&'Yue' -_FuJDbWNg;>fIrrZa9c-3s^.'`4!f\J$H!eY!NhS!G+`P)$\Gl5NI>"Z(fHY###HS -7E!/>97G,jei1h)9mkVgRJKU(.l/-m1,G^ke>.^.:^0KI"o;RG)`aTSO+oFnbM7RO -\hhH"p._4:9oS9pAEcjYFAAq'2D"2ibjJ6jdS7%q1Dr=\jIlh%J-W/":.g#ZO_Z+6 -H3Mb<"r,r!84&$/C:)W578S3*=rb4$mgZAcchh!E%08>o!`1C>cohM.>m;4;n1n_P -."$pXUSK.0DP;;eZ)[i!ZT&"+-.'TVKofsQ-t]>MPd3(2(Hht^FTkWH6r@e;1aNu9 -Ma1.1)H"0f(``jd)_mt,n]s5WLN=R@)u(RkJZoLA)3d>81& -1@EI?8%Tm`"?9Ti[&L=2!6TrU"kpp"#WsEFp;Gdh+&gYC"ghK3ESN.`-On"!8oEEi -`a!pFgLBP3bWpgPRmoYQ;".i+6K8*>63Yka1K[1MHK^,fGuX`=>W'Q,JnnXteg?[6 -?$e$SrRkJYgC_uX/F%LO#^j8*A4)#uWbcr5*R=o\ -NTj/kl<^N\'s%=[,/BhPF,Rm=&DDA.sgWKN%Wa_ub]H:$=fsTPkmJipK$=Kk` -@(m%+/aM?O%q,1X?ja1U+n[G9Ueet?#-]n;(hM$N'=47CiE0[/S3XTtrSZ6<1enP> -b?NrF*[3Ka@K%E>ee'DMoj7uML.H4fA[l/BV7a](UU'pBS^E29C/<>fhtA2P)B[tq -/g9()@ep@?%P_HE7UdjO8PS)t?rX`j-SRT3W%_GDP5s@Y4Jf]*7N%pZ4r`J;1JrTc -A,R9U%REsp6=_]:?"PoB,'b`'1;^8>@7@`cPKZXOj-(e%QGh+qefJnO"`YM5W*A&Rc_tU188fuL:?;sbZ?B1/$2EX( -@Q"EuAj0d.c;ghH2a`M('Zl$f"6S#,>CELJ0E`7t!X(!T3cI@5]eYTtX?di^9>'HPt)TL!fe6TkO"l.Ws7qZMfeEBqC:@tn%S`RG4)1% -Ea:2Q8t2JHRMPj.)J_GWY`bipl::*N%a_CuBo4984d!"lO/$7DTi'M/pX%TI2trb%^Lg:-Q-]o`%cPcU":?0jWhP\/Lu$ -S3&2f3O=5Z"CPSKUm"TlJb"POo_24J-XClJ;0D>7'aJ,i%q6gq;PIUn)m#b^DSJq/ -pR]d#1P\I)-5_^69 -FbjBY$5D0%C%36XkqUJ)VO@03F2;Kcp\k$b%tS*NJp8r%3e)7FgX70CPf+D?hIO<% -@MZN'!8]4)^QradkA=sHIs=OQGlNjU%tj[!%/DQ?GtX0B=p_Jh]%Y2\LF79M^bc33 -Aj!sLj,q0jotH0=1mSu#ls?LQYE=*.+o+X'-@_h;8gJ^9VL!OgH"%%-H_b^#aSDcH -6aAd`TpRH#.-?EC?0>I-\#4P'-@7DP&kBkbH1jAuurEE\rNfSguOnPk!a%JOYn54S36i$KOBdbA9Jj -3V@h\A(>=HHDUP[+?&/KJp9bk`QXlnM -"NI*G,St<_lWqluGJ0QN8'BTVr-uasdJ3p"73dseAC>`kVH#.494cQIKZ7RZRS@DC -H,Sif4.]5\e+s4Ch*[o6-o?6=-C%6$;eabXKgqn;W`Gk>6e]S,N`FH2V -CtA_j3obQG+\m94*Hc>.?HbNj*eGG4Ds+A0sE7fP--P_QZ@r^0!L.6rP*6!=#$84YF.asL:, -C=Q?@*)/@:_l+lh`cml?.F/HHl_Mf^[_8`T*B[S_d.4Vq(,,H[XL1 -2o"JGqL*hMJ&J,Bq>PknchmeD^ec!W!l3/Er67N(6l;%,LRIYm*X0ZaF-8uVZn`=B -:hi<55ne-e(85.8>DK"GH8$#p8I/KeLdJSPQk5gCkA!_96r;2EG;FP)+P!nDOlO0dWll$>ffI_dS-]3dSubd9"bpu -/POVmh)NGR'^\1_e5[FC:XkXm;,l(G?!14Ycg8Tpea-_?ELl0qIVjugd>T,8!Jpqa -KVQq0(J_<#IV$k?&]/-"#BA+8T'([kI6#iKZ#$VO277>Vf)80X>SeF&Em_?2c#hcC ->b?+DQ[Rh;hH-94HGR"I0mbIsETDJ=7pI0A6DM(nBSOGSFqB][(:Rss>+mTZ:H\`Z&SA7urQGrB(MUH=!Fl&W+e9[_$Yp9,%caiJa52X'Cr(n3G -nbh9/dIdB5[pd`+8!3:V*63nhD&l$,G\q^Q6ZQDiYOi\`&>1Q%`'t^-YAa']PfjMG[D* -7?XD\im_7l`?$X#pr+*1,\:j)Z-$uX"GlKk>f%A-TDQW"[E9IZ5aC\6&E;jM>s -.FgSZeGc*R$6Ih?PbfAc;H-Ls/fTL(bmK&-@`qi0!(G()(_Ou%Lk0G$L"Oor'*=iO -.X>-3,9O"0QF&;[cWY*nnZ?rB\5sU1,O-4TG*CF%\GDHhC1,:]9))_o@<"g&Y]G"t -Ht!QE,!#qX0:s!):0.68ACf"gZBecsfkWq5Q@@1a(V*gToQk!'@nLq)=s:\a5gtrlipRVPA+&[55^+,HV<(S4TX)FBSj3;a)5,,P4T -R!enllp6HR[N`YWSG2#Z;2XmU/P(*mQGE\M4=sfX[DX=*)am+9W;'4&UC9Bq+fK+q -,eY5*Wec_k>mPFN9?G4q-KP*#O"Z5db/m"!ja=J%o&8HF%";'c7r;Q9i78nM:gX[) -hC8_K;\J+'EmaZ(/R@SM:I1pW%*D=(7WdH+"0d)F#A'6/DJ[j0tR -(Qe3:<(V@2/*5R#s6oXQ3`_PX*co-+FGoc6rgC3IFC_akh/:F$m9 -EC3gHr-#IhSe\h]00um,(SfWSQd]a];R5uJTdDB$qN*Df]V+tf6:8uHQ"#Z(=#:l<"ANsQ3[#uHrp -d%5(#:0$aF6A-mW%+Z<@:)IaL6r&1I/f+%%(`+@"Z"ie7&)@Qs=UD=\\a\2[MjFn" -hRN(8%T)I$`^L5'7^pEKaXQ@jLAYukQD9-*c>P8a+aT4.Lj).V@\jVW;!qq7kn4@g -&lC!^E@V[F0,"pR'9P=[nFBOQd.)rhOJ0brbhO%lCuDQT%B(J<'kOa@oWJl=Bh<%G9cbL@NS0*U=&!=g0rB8Ec"$lS#'Q#QYt:!jeM -bm9H;lZ%CnML-;i^8E^'*)Xm!`1\$%5YT#Xg7^,9!OitDZp]I_Uae^+msl"KBH!pK -*9KU.Ontc6ru_X`+ArE:dL.2G'-TaM*@2ue%645^gE#g[BRu-D"s/8p!9\og)Gb2j -EYbcS[j2GJ+VI85dRtk-W?i0U-'DFp&fOX73,_+>G7iXP#BpPK!-&L%6d]/Ub7GW> -#eMis?1M&FM2s(5NgOjN.7l`QP+*p6U+u4H;9uUn#`TlR#p*`8UZt1%+ahdjT_??p -*Nm3t&u8cQT.L?u/Q1/_'&,"[*A.ub/s>L;`UHl#I,,9G*pu!/@<Vk8'N*/9m -*doji6:]?gPUf*7Gr^PkJJ(Mh+`J:2X'1#hJ(co"j7&9^^N?_eq[A2(Y' -5"&92$e4_a[6,DRD%Xj[>3*;![G#89hd-NA=dA-O[H1`Fo(a$+5j`V)c8$Cm`#J4^ -p]lW`cQik[Md6i6+(=+]PBUA%ZX4IlA[WsqL0%j8/nFZ3@obYVFne5DJFV'(%Lh"& -"SCH/(K]RX@;"rsNtfBo\RWjg?FFJd(2IO0a(H0.VRAKtQ@@n<5X1$7f-u6EBG)9s -(;Z(DWfA0!_!mW9FKo8d48"eN"Job^Y$RF#CIR?#QF^B<^MF\*fli$5-m92LGhfGP -2C9W6YJM*;&C1BELr"Z^+k:#%ZY!7Z8QNfKL!=Per`kclE(.T^QO@dB&T#AS]/B[: -d2+\n(=&`J#XK:DeL^7u.WR4nZ1el&(CtT+Z#gdKXbO]kOeoo<8 -L%A-26*@6uc<)>[o$o:VTqb5R]GKP2*A50RkI#R/cBHkLI76#AQeP=qds`+r+ZH,Y -7jbV%i8BV)$OX!RaEEVQj[=fAcKRgGh@#"'XrYDJK,Bi5u"=8h]pO65=Mn!neL"hK0Y)=.!McdQ` -=F<1>DF.*8KN#1h$NTPs7'KN%4#fVEf>sdj]Kl8&N^SkeR-TJDZ]>cTO').;cfL)f -YClSjcZi!n%ac>qJ>=U_(KT^LTt`.Ar:*ng5WJ4qR&,P*0.ltrP=RcuffPE)+cmoq -aX_IRB--9q_)?3egYmU2VB9[ZO>m:])_J*P_<3J9s-+buPPKAe\U0[]#FHB]P.I[YKC!X1_n>\/gX;nOZ5hH/q+kgS"`4 -Tir8&fe]>NJY!c)U5b;,K+?!TEq)m.2%kHuEDYWT7*`7"'u:LuiNG*VD_IG=U83X? -H=esH>BD3F)b.B5V$uFV?&Og$SdntYS?F?)-\;o^AF7IH70oX3d%':8uE7d_c6dE'd&BYTq,j -q^O@*0=(a(ZWf=dg@MZ*6Flst0?\aYn8tkDc:%pUYZY1=+cWc;%'a[QnX-W!.h#j3_gP@VsJ%Gd\ -]3D_$4*/$RBtM!p]S4nG_WNR>5qeXE-ih1"!L#R?66KrfUR"Li_(Z],\JZ4SPe5(! -gW.(GlbFJA4r_>RQ8-21&&CkJ]].eZdFSVX.p,WTO%e^'(>oT%4;fik)\B'"-R1BO -(5(BU`)6KOS4af)X2P;q^jK5&`Bh>7gcLZj%n/[7$].T\8DP'it0 -4AX2LMp36i?$r3fJuR#Mhp+W^b!O+i/$fK-H-AR`)/B5<[bgp\@mjb%Hn,u;U#hVG -jtV8Dd6bIiI2d.]+4:>+d@DZ5`-9M$`HEEdNT&?63(V*+L4?.NiFM%$0=X>=,&7r; -ddBu\?!@IQ?e,l>em2lfSL`:IE^2cC.^SI`@JcIHV#Zo)SY;rmE=Sc)p!b^_cZGAu -4`l@*CYBHFg0LV%SZCJ`6eJuEjNZdAZ+JDCG$.]j*$5#+tNcZR`72;-`\ -\(_q`IGO)CQfH%jmUX#?hd-(@*PO"=FHmk.Oo5MC.:R9*k'0M&Ls`;\7jlA`r%?h$ -i^-f-Sgl$m0B30-hVL3O`p)C_P./W93R[`YJ\TjHZ?YY$gPk:!;[B,.alDCTj'H=C -IV\)_6g#M2,Q;oMSpiAb67Ep5J0SQ\NdKEP=rF$Rqb9&`^Ig(" -8)sW'j55^RIuX4FOt#9`-L;"a1"Te@=i2DH!>)ohA47(&c$"Z15B$q!6UBQNQ-!Ap -r'VM"*\70f-2g'OrITInJo%ng<@33!*)aZT)%r`2Ar!%J&n-L._>og-2O=kC4)rdA -J&:0+fQ9;#&W&p8O]\ts0c>s?j,r!dIR,->8E>q:1nIPnPtL/$flXr:0pt_tOf*Zhq6Z*\Eh7k+XU*CmC,Iiq9;'Sdl' -Z8,2MZ"rTuELl0!Ebl$BH%6P=AZ/'\Q@T&*=bWXPE$u?R(ueM_m:@m!05#8=Uj;)D8gX3gKM+%T9dPp]1%['Qk[ -Z&=1kHClTOk%'t%@6e:k_dQ/LL?'e,ck_1S^)R^'gJZS0ZT2c7*2\#"G9&Bf047m? -'&?&[Fu>=k:pqs>Am)QaM.PB6Q)A@cp5Q+h>;k$@DHjR@d7geqTtGN>AYGi=OX7Q@ -1R)KRPXq/bB`;4i6g8D0&TCD[#/Tecb\EZGJ]SO=\iAaiJCZ0M]+,DV!"QW^k5.[IQKC`sCEnBt2PKTULr>j!Q/E?4d&n[.jL -PCp,\I((b;EkKFOc;GY644&(+(I-;h]f/a:FZ06MZf$VDN6)e=;8PU7AtZA%R*tME -^9hIeE^Q1&ZkbtDL8e]s*2].FGT:@9l[rUd=/Y=5>pl]>HSII_m)`QpVSIZr\Yq -<\-\L\5V?C?&TAKVT#LQ).PL9N=Ao)'nP#RL=#-*6QC!(_)a9il=:dk$q?0Kn1Ke6 -[r5[H7#T]Z1BbM/)j)suYS#fk#L$nF%=0d$)(?k&>a(?!Ai*)92()lBS -T-IK?*$_\6$o,+MKdb"^!VjkBL[r_ZbC*"iBeBOU#U.0kehSJOF,p@h0aH/u+0q2D -0aU-$k&_Z4ZT`(h=edh9Zg+!c?>WEI\Mm9:V^YOfk`4Wc5"8B+*O!P'4&MpnK`K4# -OmTltd;'<0jF_E(13G_\tPl`-G+'der99?5'(X?47B]Wo_@"(P-DILV[@TKa>[;n]5lK8KU@"ZHA*thOQgp -)c#Yh9rGAtTe\*M;!Ko.W>+cX'N+RnQQYl:;RU^FqEmjUJYZnWCg!f/MD[idf,YI9 -Go5N/$n=ta8(AB^/hG+=b0rIPa3N`A#S(e"/@ -#\#Jp\$/IGTD5jpinuU"+dORs8E!XfhS!(!;dHKdT2KiYcrr:EBWWSYVZk5m>.[pQ -@kE'T[5dM7\Y%>p_'^"Ub -261f$V:S3r>3oP,\T_.]YU5GsqGdm!D8rE_)$'"k$cn&0=1qdu6N'iAe/iFn!s2E) -9(-,nI@-4rqV5 -^(tIk^;IdGbD*OB)^D.p`sTpqn9-H;fIIeK1T?>:n^3^oZdFL6b<0LEH^lqTT.Cn-:hhbpW3mtM.b^@kC;!cN8WJ*Bn3VRL_;=1) -!4!N%a"#W@5c\94"b>Sp?&b243Fl]5e_;@6C9 -?qI4O.il-)6/dqg12",1`")4",p@g?L1\:A3@o4=!Q7&iXtJIUjG@`5otO'6r8694 -NpmM^_+;TLi7o]6@*Q8SCF8T_U;1L-#PQC'ct`MJoEX@;"4h:EB+6i`05L:S#d!U#Qg+(*ME@(*i00rSQ@*lM7=Zf5` -"68_eQuOnYRjKrg4U^u!PL@49$EuW#^r$2ge.'4c&"<+f#\p8kE+XkELk_@`#!2OG -Qs6'FP(hO5&t:9PW*b;4:krNXTn>*d"671m*kUbK_?0,A'HsWl,/Q/^_GQ4NC)A9Q -Z3D^oLKQF71;kEl.ArgS(SR4_BP"J_CGmV;_HT":6ntfc1;blu6UWc56oDkm2oC2Y -3,1qtr#@#-E!+0^L5Z8@S1OoT[`.U[^ -]Lg&;9>nY4\8/oAn9,h6E2r3q+:;?db,mG74U#eLn/P<#?^j.'P%ETGD8rt)4?q_f`X`/ -BU-ARPkrV_PaYButI`acr3OA!!gU(a+C.V>OnZ>*5`q;3J3A2>erF[#gi# -ZS(m;bX,"I<5kZ7`lrHob_4']UrnOH$')%iS!Pg.:0H>\+0nI\" -K*"J+&99J76A;@QXq:d_Z+ld_/-@:sL/X(u6,j.V,YYN.badUd']I=]0MXIbU?(C\ -<9DJFLFn[0LXUST_Yc,jG_U3E"qYU+:ftIM;?lpJL=dAqcoV9$/;'<.K"s=fWo>rS -C/)c\![pPOTdq)8^9hDR[CBqm$u<5U#Yob)9-"#;K]Z)T(!nf?ThP[:<[K;*[PNBJG0#\qY$u!sFSm3U1i%+98GdZN%I5tr>d -E!LW4KlC`1i'2pgB.%Y/!n^6P0a.b2,)-t["ql08!$Hqk?\'=XKa8Q>1LSre[g*]io(#* ->R%E5#&&!OaEFF)Raf8I:`X)`4_<2TiDt)6Y'irDQ"l^E9i@srN-S2(@!Dl8E/-,D -L0/5DLfZlH@9$dVRBSg(I9Tcq>h=C0=,hKZTH]&6?\>Ra#'a&N?uLcRD[0*VQR_pa -ZFSP_Jt5nofKn"hUQWL"c!bb42#XjC)C5*jLLIc?=E-]a*,1r'SfPR:[7>P+kc<;6` -SAh;X&=rPYGs"Xf7]7CQ*4-UQ@5IE]jU. -h?DU3Kse2?29K13>#dOjKQ(:Q\7Ps_FpC!P#I54!Q,+oW^g/[sh*oh^c.1WYWnhgL -h2t:a0oLdJg]Wla!g*Y\!^?eV>ZjM=go[m;TI#8Y@"](q#+/Z/d]`t5$AZ"h?(-IQ -NTmGHUL(@??H)91p$1Dqn!":8R':1aW'Z4-D1VW]=_6Q!A`?oGHNjNIL4XOP21\j@ -H.XG4-hZq8d>m,Grg;OAhuSbo('3>J+Q!cgL0@R[(h/6p*X%:-?Z"c[V;Wsr?iu3a -#(1hR5]j%=khnL=?nN"XIM(N^L#Fp'Qqe@SG,*8Wjci`5_UBHMmm?@tL>#!b\?LfXdOD2(;l#8hFc3-A[7 -0B36jitaB0-8OU>1ZLq]j&S%tAiA[m2rfWPj-D^cVE3bG46+=Cj46BRk!%i!5NE#6 -j;(&B-:6cO6f^^)jAn_1Ak(j)8*#CqjH`BuVFopX9B=)djOR&dk"b"2:ZVdWjVC_T --;rq`;rpJJj8Kj+@%uV1It.`*j]5OEQsL"gG([;;#65`,DC+5D-8%CZ`WQk14D3k&0>TDs%=Dk8&(#-?A9-F6?#7 -k>l`gAp3?\GNX^*kE^DVVL%F6Hf:i(J-K';i1FS0HtKlpLG3k'^gr2`*/(I$Ad3tN -rNcP46%`9:#"V@\BN^'tDMD80LELSl3-FEhO6Hk1kn]EG-BdUOPNbQ$kuO)6AsV\) -Qg'6ll'@b%VOHbXS*@q_l.2EciF]0i"mtU7CMM_0Q>Wqm(:(4cLRT,mQ1.-F&8hOF!\NtKBPs\V -?ma^N6j9n1Xuc*fe6$KCa_LOaVH1!=&^9SO_PJ7>em1V-L?L+JCfgSpXQs;>l@tbOU&nlSSp?QW@ -/8l=(PP5(H&O(.]!gD4_35NQ'b2JkWOW]AqcmlLD!T:Kndqkk -EJ12U)(`o7#D<_F)BB$m_?Oj6)o,bE2+2[nW!?:A"&mFU(a*=&JW<;iF40*01@: -d@l9jj6cnaCnP>?m\bWoeH+'hJ]jVc!'LKf&;.Jl!>%8F-mu]A0hp"U"^#E0aD>7' -F!iPMF[nC^De[^NCA,&,G/nFKYAO!rDijXjG8G8i.;,^],Rf$[LQ,\`&7^Ii6)6b2 -%&cBT(d8)#1.LJH%WfXZ_%3!HU5jP2mn[$[ek%*qhM\ADlJ)]]?I5J(adugQpaIIDu9cDr$fDgO8Ru -IL"eh2rX``j-DX[IR7Xpn)]ptj*l!/IW+G;GNaLRl]c&DI_frO\*]'Vmf)^Trs/%N -GOb\\o<<^EImL;g2t`%upA]*,Iu!fV-i*e?qiSqdJ&\bmTDb'pJ30E#3#hi+#D>EP -:q1$o*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al;/Fen6q3 -:1mM9jS"!dTMT<$3[GQ$8#/m,YY%VJSPQ1`C/m[>LW!YA=M/6)*CI]UZ2$MZ -="Tc_AoIJbeos9LctIN)4XQLiVpoI(;*.gf=0L7mG$@,+;`V8@DKfeXi/pW2N>HMhBCh=(,d -F5Gf@fBr>1?Tt*SkP+oS^^pnX!PY`%f)e5L9GI`-Dql38_@VYOL;D6,/ITH-$nDb( -OR,+&6ZDrl&]Be_9bYJV6k$Fk0l1,3[]p6L)9.f>/K%%*b]Or4Cb0iRa:\jW*(WsY -N?cOX9U-hk@O.9faqBUU+%fG4XXg8H,dArEP3ODH9@F'AWON_%Z2:6-tiJ%7A8OFV.'iO3IhtdM.V=8((A=/E9Wm -]erNn<6[F!e.iE];7;]h8Q4.KNBL7kQ"q+7e^]Xj+j-(@D-O<2KlLDMQ0j!,V3Noh -@G$KLF^j#>9W#I*X`E56--p\h -QJL/9hA;15H,$fTl$M8GIIVa;\(1;(f%9TrJ^q7G$%q1R:)))^fNoS-@+]oS7cHD! -/OO!W^,8.838QfZj;A;oL?)Jh2ictP9Z_9c=`#gVA_E$=QtBL(D4B\`-?5U%RAP8% -a#WjETuIudM5/$.2Naj#RVfO)C"eN3n,4CYK?O2[.DqkdV[;]A%#Jb<696\]1Y'^AI(: -ah3"6.Ef)g[kZ.6r7t91t[!d^\iN(fOM;tX#2j*41h8brHqAtOihg/V0"m('eb(8o+?Kub&Hf#0Cn9eRr -c1(S%5Lct9T3pB9rP*jCO+'hi\F%ULkZ36`>ir)o!j?8BO0'cUY(L5lkb_+-KL*TP"=ND\g@6!3ph -A$g`'Op432#mhbc7#=Cr-9?#s#@5$ba]:!_/Mp48\`9+GY@In)J:"d0hk(MW7ZZ:%>8]`tp"Qu<`no[^#.,34_M.MT+g>AcIr"XkQ+cc'FoZ,=p=sT/(pTf-0nC=)"abL&#*#uMG[P/ -7Hh].UJu,k;;+0'kli6+<0!,>>"qTQ74G'4Y*Mu>>taF90r@pqRT!C,:$KVWVc<)U -;qcXql30JP<=Ya&>)cDE77jIY/uDV%SQ"g-;6!VkW`<6)0U497;8l(Y-qBbh-93!ENWt#)=5*U[lihsE7G$- -7>\9M0#h#J*FnGiOg8"_b#qq#AaIC(ZW:th=kc)Pm002j>8i!6+KRqXVP*) -Kki8CFg`(2g)\pQNi//O6h]T?>?cMm/^c8\kBc(A=*\cPXi7'*Lk="b:H]%Dkh_2.-h>IW2G#//IgbT8XIM -YiZrf(jphm&tb#c&ba)[?PVRj>g9Nf(r[?)i8Ye[K*rGN`eUGeOIUHRc<`XW)#U/i -9RqEYYnkF6+!rT8Tp"t\Z,ue!YiQ:gM"&e"b1U%UjIAN$$`7.OLL2L'Cr_sr[UmZc -T[;i&^fGLLCd_F03?7DL:@jKg7bQZ^B@U4(F67p,\cXmVN:W^([Xlg2$Uk_W&#.HH -NRA_>88.pdTld/jb9VR/&e%j'[*BN;)M]&B1>/SmrhR9>DcLQ&Oc?]-S^l@Fmq&V( -OS(>-^=YqYT"S^=9if"TqX7'n"3Ifk2T\r[_cr4NKsHVcbgrRKB9BlaHZjtog:LnB -D6d6Np#b&]gGa+iN ->GHE2D?Z`CDZJ_Io6g#P!Q"N6%H7UOKp$.3]_Io&hn3T^.*`-eLjp0"\=\HA1)\/i -k8<8lT9OB%qoa74-KWgZCi_dVTK,j\jrE0MF.Pb;N"8#5Kl'RdTlYHgT39IE0*dmg7rFO,#-4/&W('oAb4Q%d$/l`d&Rfdn#OT -nbV:fq/4sC]^_E\]^*d[01"epDk$D@Y3GY=Ds)O[nau]?dc2uq7_B8:ks!GL(u5ql -\NdaXhRhY!05pB08$.9u"6B2@@C89`[e]$WkkWOpo6@a]qZ[GcrEi:h3+p_;Gj"OE -5KnmBhI#&&TAtC5IEb>:bk.4rKk_.OJG064roJM)i,VBf:P/S,hZ-IGoe61?0FIn5 -`n6@eer=i!ciEYjqZ3G9!:T:VNgTsq&0m8\q@E0"%8R(&3s6*ci[^]*UAVX**;lNl -]eE:bYXJI%?L.)irQd+o:ZB%6B*9o'qbVJAn::j!Ka;XS#dB9on<"#2PmMDt$*]s, -n=^1CV$_1@$F$W>n?E?T[0pra$a@;PnA,Me`=-_-%'[tbnBh\!eI?KN%C"XtnDOj2 -jUQ7o%^>=1nF7#Coac$;&$Z!CnGs1U"V>Y[&?uZUnIZ?f'bPF'&[<>gnKAN",nb2H -'!X#$nM(\32%ssi'BLV'sV$ZnR31fAJT9"(9q]l -nSo@"FVf%C(U8B)nUVN3Kc"fd(pT&;nW=\DPo4S0)6o_MnY$jUV&F?Q)R6C_nZa#f -[2X+r)mR'qn\H2"`>im>*3ma.n^/@3eK&Y_*O4E@n_kNDjW8F+*jP)RnaR\UocJ2L -+0kbdnc9jg"X%gl+L2G!ne!$#'d7T8+gN+3nf]24,pI@Y,-idEnhD@E2'[-%,I0HW -nj+NV73lnF,dL,inkg\g<@)Zg-*gf&nmNk#AL;G3-F.J8no6$4FXM3T-aJ.Jnpr2E -Kd^tu.'eg\nrY@VPppaA.C,Knnt@NgV(-Mb.^H0+o!']#[4?:./$ci=o"ck4`@Q&O -/@*MOo$K$EeLbgp/[F1ao&22VjXtT<0!ajso'n@goe1@]0=(O0o)UO$"Yb!(0XD3B -o+<]5'esbI0s_lTo-#kF,r0Nj1:&Pfo.`$W2)B;61UB5#o0G2h75T'W1p]n5o2.A$ -8:o:\3$V)i[s3jYqLo*OF`B84`4L<9po?f]WeNJ!,4gWs- -oAMkhjZ[bM5-sW?oC5%$ofmNn5I:;QoDq36"[I/95dUtcoFXAG'gZpZ6*qXuoH?OX -,sl]&6F8=2oJ&]i2+)IG6aT!DoKbl%77;5h7'oZVoMJ%6hoO13GAO^cU -7^R#%oPmAXF[pP!8$m\7oRTOiKh-PHV-8#@>.(J9os%^Y[9Ida>ID.Kotalj -`E[Q->d_g]p!I&&eQm=N?+&Kop#047j^*)o?FB0,p$lBHoj;k;?a]i>p&SPZ"^lK[ -@($MPp(:^k'k)8'@C@1bp*!m'-";$H@^[jtp+^&82.LeiA%"O1p-E4I7:^R5A@>3C -p/,BZVA[YlUp0hPkAS-+"B!uPgp2O_'F_>lCB=<5$p46m8KkPXdBXWn6p5s&I -Q"bE0BssRHp7Z4ZV.t1QC::6Zp9ABk[;0rrCUUolp;(Q'`GB_>CpqT)pKmIj_f8+DRSqMp@3&Zol#$LDmoU_pAo4l"`SYlE469qpCVC('leF8EOQs. -pE=Q9-$"2YEjmW@pG$_J203t%F14;RpH`m[7ipRumlV0[?b -HFL#&pT]'([ -grestore -showpage -%%PageTrailer -pdfEndPage -%%Trailer -end -%%DocumentSuppliedResources: -%%+ font LiberationMono -%%EOF diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.jpeg b/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.jpeg deleted file mode 100644 index 9eb25f23edafbc2722b939bfcb65d8c1e01b5a93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17140 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 LCnVs%)$_jqoSE}B diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.png b/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.png deleted file mode 100644 index 33f0f92d02340cdd2d5e375966f324b7629fc380..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21462 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%0A$=jk|B$b|5l1UnP=#ys1>wIxkR*r9ckJM%=09Qq zf-Rd01ZL2d_CCqDgQV*5#ZAD56(>Xf)h8C7eJ+~8QSiqLu+*V5R}oXsj-3b!GO52m;|>pLQBqh6LpBMDewL5Qes*MY#5Gfbtgrnj`(`TB z^6d)-hu^{|`fRep?_;1H*Gt??%{+5>`XmwSOo!<-*^dk77A-%Drd(5xHvEXjCCv^O z@gsfvfBoP-oVEq6R2b=%3=BW*g-&_G^!9&;{+ISrpd)pB*z_ICK#u>R@-Rnj2h}xZ z=%n+wMC^DPOUYl&>5l_>ciQ<$7^>i*FaVPrDO<_x0k6a3z7b>ks%pEjD7-B0n?c$h z7*J}36q@q;vx=K4L8a-O5hGO#C3jQQj$AisK5zp;O%itLx{MHNTF;3IY8 zFFH@`0(2=SB`r6G!O0ox#~v%BmBh+cW}I>Qk-g5BV5F9ou+GdcIc zPae0;d}a!5{IL5j=s6OD5>eSfdqqCqg0|MmB19b-s3UaS?BOpe&lnI3>#~;G$5*k6 z!Z~ZEfi&CYj|+`N+G5_td|*-cX?(f*7MbELVTNeR8~J?wJV8=8ch%#CZZ%Xkw@_v} zg3R`Q4%{FIw8$Z&o?8r@7|14j9_I|~4=fBhFv+=O1(b%*0gbSK@DrDiK#(WDezS#| zNmu`6e;q7aK2p$0+ZP&YgtPq3Ih&}hkt(6W$50Yg5uZ-a4#c7G@&#-nSY-mIM$&AS zA9j*x_(3RRaVHAz>SpZDx1L(FlwsBJ;y(WMSv3Lzd~E0C0~0nOxa}(7Hr~;XnNExn zx$Ia+gbnFxjTa={nc$u{ltdd`b!i=mpndC$aln$}nS6d%$_BzHpH1^=@UWXy z8<;7_5}aLaAc3wx%M?GNyDt^MP>}hQ2nz4iU&A(t##vyENzgA(xE`NYHSi;OTCFV4m2vNbhn_hf33J7thw+ArzUzb&5hhsff&`(eN+ z_xC$ycl#9DiH{D)D|b@0map#U+C^pBc}!oHh~4+=x6j2L@NAzq#<&xjrF7bJGRd7m zX=NyUt!4&Yd}qK%SL!x)~;laAIJk_pT@vX+(Hz

63-3Qob2 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.webp b/src/kaleido/tests/test_py/baselines/plotly/failed/webgl.webp deleted file mode 100644 index f1f66c9a7c8320f34cb7b57abc1b703e17453666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5042 zcma)=bxa)2zQq?Q3q`lMYjJnCA_WS?9f}mU#bJTsEmDdVcPY{?U95PK7K*b#7q(DX z+zKod_r3h?OJ4Hwa+5pBB=g72WX|`T&m=R3S{fQ3$pHW}bya;+eQB2B`*D3Cpa_e% z3;P61(MvK{tCH;l8>?7NS}Ad&oA-u3$QZ7bqQQ*Nb*YoznBQiUyl}aUlttd%efooQ zQc@4x4KB#3A>A#GlHZOX!W5qZ?l3#oe}I_t53RS6Xcz{Q;j_nlbQ`4vR>EL5&jBX@ z3jeZ?!^{n5+ZSPeUozsKUo6wj4L%^#_!JeJ$C)ikQhvR z_5O2=T~R!f-|Ddf7H#0q9O}Gn{L#;aZC!9>4V!?CflUau=x(*3kk}+B$416Cv^eT* z$4b96Uu0=$G+WHL-Zh520P+8(rVXsfSVoC4tw}yl{$;TBf0ysU2>!jz&S>)339b`T z&)U|dlwGjnf6qW}R4Gs~L3#PCS-YfOU>Mc$?Ok#N>@MnU{L1o1pHy!&F-r?UXAgrQ zW}CmEH2BKSdr#9E(MqI^L)9l0N7W}>l9T6J9kBEeXXzH7l@_QT`{QbJ7F+{w8Q@Yx-C;HsIn3=3Z;fs>^^}-Kf``*G8OSfoXds5FursHhu1fKS+6dAanm`$S=lD2uJLPW-O=TK1!NU zEAL+vKa@UJr7F2~HlTeZU6bab00>6bzdqn^W!=D)2>hbQC@eOZRaQGc45u4Fg^Lv+ z;z{n?`-*Ua!CIp6!-49L6K15kdM0*J3~1OLR|dCn`#WX3Ri3FLZGENt_&LcP1F_^g z;a#ywdXnjUMTd8!b-~2#t;doSp`(do9(35^5R(1%T-Jg|vU!U#@OOvxSvTH`gi>n5 zHn{f{_fZpag~o=Cm^hB*;esg%EUN|802(%X(UTI;vr9ily6y)&7M?oy-lu)^NlA>e zj$!o=QPI;G49#{VG_UQDlQHN#$(d~UN@RtLBD2E%pzs*|?8rjeI8QmT>pnX{XO{;j zX;`AG0m&*&e9k))5q0A@C`pJG`@KCI{hJbR@8}ov*xoqjxor~&QJ{5Y=nNs-rB|1$=7Cys<%p20eq?K)*EEu=?(}Pw{5ko^C7)+eM*HT223o)`)ioS+ zoR_D!gI=hcz30N)Dr*RE&q-yh^<@T*Xv-rymMG1!&ToWv1%0;^u)0MNS)DGHFC9-s zxbA~qZh0l7I&y{8DiBuCUV-ug#_YQ^3&QRJbcxvKcsh!+%t{XS$4?>1tU>TBL_=H4c-)an@U? z2+z||8Tj1o%UJkrv_v}D0yg`)`R_8*4T_Rg*ISkRLco$|Pa6_aIet7Vcd91*;w7H1 zUg`{cvB%%G`!Znh_~lFO9XTkv=`ZZqGmF)DZy7y=44gNKjOOyceGDSS4^_r|;_W?Y zrLf?!J?qyyRt>4#Dk69SZ*Dp(j|jc}CU4<=8s9N=1C4J; zpJ>ht;?|%{7k>03y9GM%{o?dQ|Lj%EMLA_4*izoYc~?MI*pw`>kEL+D4eYF)OzOG3 zD4eGb2DIl&4_2&jXe?{LBvgq50lt~poCfkpFahuUXOag1kePHz!@=0I`Rv(V*nt)g zX|kk_fRU(8YekGUL2`z12j1^O2^&z7YzL~ZdL(S8P8 z;rqmkuDUEM6N3iBO&FREW8COzqx$p`z4Fj*{2k5N!Uo@~{5PFFMcyx8N9nKKu1Q3` z!HpPpv~hMU8A$7}0_ne}c6<$-3bICf)x{q2*&RK&7MqHa4$gd0{s}@eF@Mu*X(To$ zZ5Fi8u9?mkUq;s9VPN>B8r%#EdLv85AyKTr1flvpXDxwUWch;6!wlCSw1{i^LX_d4 z8(>_$f0Z{l6$+(oBbXX`QnuvDA+lTGr}H|N!!0PUi9lho%H;={BMH!A?VR?@1Lim~ z8Pf8Qq@YssiJJ1ZAuO{DF;~+yU1)TubOrmvc@y71myOJhg*t`9uSvBHFEwixUBndU&M$A;1fALjdvPBtu^+}ZmT z((MqN3fV3ByYsn7BqCfV3>y>{N2qQ&C!HtY-@~ay?Z!NPNNGM!V>+K z#)XwMEmb=eJTJuQoM%%8h9ib3Z&x7vQAGU3G$RNTg1Hh)Bu-*cyjkvJ6xmWnZ+bU8 zHb_x>``z1bfZi9XqBzfT&j3Fk+g4~e+JEY$*iXD$GdU45q?vSg@Fk9;L7S_G~ zfdeOr9^wWFkK!mSeHKHr{?lbG{7 z*p>0@{A*9(?$r;2WqJ>xKI0};``$^?!;RnZE>ZMbG4r>`kyu?FzHv5Ys9!c*1%>sPiD4u7TG#2?Rx4{I16nb zvm_={D+m`7(XO4xj*5E}pHb#digF2FttUyj&I~%4)7FIw{X=jL>;M_|`z%FaT+Lg< zn2u9lJFe(UyF-aO9wIdRW!2r~$%!H|UYU`Wr;lcPml(}f+cD>mx+C#ABmcTFRZ`r& zFU6!vb;t*j$EBt28@LZbOFYoh`5~CkF)GH`V%Nr9njNVfp$Z_6jZ+U*Wgi-Ou@AMk z*SFn#ep2vqQdqs)SiZeuxYt{eq?hEXYiY1#48~5DzY0Fxj^dpS3;^AUu{Bmv4{EW6 zSB_TST@u7)bh7X2xspZk#(@cziD?X{t8O zl@E|$eK9K`6}_1Z%u)C3Kt;?hTCIHm7!!O@Azw;ldB0=3T@4(25>kv?u_sbq%5 zup>UcnJLfIV{(m@Ofc17!3}YGGdYzb`0Y$l%;cQYqj3}Y8ZEK&%NMeR}OnND%i=PNDoSvGj}~Ec11ilpN(d>@i< z1ARrg&wDNRt^|)M;{}pms~<=>6QfZqKXB_|Rvr?(sF{kzq$H z^!@^f1P$lx!dZDuAKf>#+pT=8U|~J%CL}qt{Oagj+VEjMo&?VG=`h(%Gcq2 zV^GpSduwyCZlTk|>9{Sc46iU{dNtjjTee&6l;m5N6>fUGSeZMIi;mxo&KQw|<}Z1r zbJl=HyOLi^DFh9>P7@zy{1dCgg zZ6bS){}P9vMHpfIdEVKbz=r8-UN~C(<(w_2BH$$|8*LSHQ%7a3$tCy{?s9=wym*Qm zFl7vz_R_DTT~$xou_p^&X8emNVF~Eo_cE)a#QYlL+8x}bj>C!Ysx**fCiw6f55>Zl z4`AZxm0p0wruT^9jAd7QSZXKN4%jdD9IetD~10mB``mh_|n%N0<`+0F0B26ND3 zm9U&_s&e6_UMn(mIzKx6;mdcH3#iZ<4N}4Df4S!%iQQWi9$+m0#jFn7|Z11IcBN<;ETz;QI{Q8BJEL6TKi* zRQbW~XQUOpSv(kV-G3rVvKH#Ara~yy2~BRo@=nT{NvnGl+;d0)2pq{zLXn{*MolQ( zHmwy-r_>~Ckyl$F`6<@j4Ji_#IUIJh(;=}vo=v&d{&YiM9P!kF`70_|CWiRAbI9fG zb{>8M7&>q8GDhINs2nCuW<2}VAcg&@R|9k@&vfaVGS;HX`9+SP#}G<|X$p-Uun+tY z_}Apxcy;WTEe$OSL{01Rp-JIAbV+|xPf{jHWp~zDGi!U}n_O(4{&AbJ0rv46?@Wfd zLkS2cSE*x61*_{%*yX! z*kK4n_$ZkZ*L;VJwCQu^2CvvZAh+LL6UZ})ar20=FsyFT#2khg95tfBXhxy(G^~JO z4V{U;M#6yS@B5MFW#SLu1|?zEVivFe@>PZHtgI!2^^f!@ z!2GYVqt779hJ8fZFz4W;0>$cO&N^jz>NZNN3Vu#JRv4h@QZD<4pI9a}ivV#t|D9oI zM7v26vKu`JSciI#snm8nnH%LJ6I3$!IyzbH4JnN<`y46C4bXojXM9}l7u&D?DCH~S zuM@cerz}jEWOpCO9J8{SN@6;_P;I7ICCjxb_!In)u_#1KiKLDBv`g71j!+^uU#kx5<|N&tX{keLX}^cSW!J^0rmnl zcsSF$a7w^u zaFwNm^gSKJ;%{#wcAMFAsFe~;cJP{y-C9D~o(Y3)6HAymQ4&gT@g9<^XRB-}H@DzN K-9OF#r~M1y@WuK7 diff --git a/src/kaleido/tests/test_py/baselines/plotly/mapbox.eps b/src/kaleido/tests/test_py/baselines/plotly/mapbox.eps deleted file mode 100644 index 2eb82038..00000000 --- a/src/kaleido/tests/test_py/baselines/plotly/mapbox.eps +++ /dev/null @@ -1,24663 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%Produced by poppler pdftops version: 0.80.0 (http://poppler.freedesktop.org) -%%Creator: Chromium -%%LanguageLevel: 2 -%%DocumentSuppliedResources: (atend) -%%BoundingBox: 0 0 526 376 -%%HiResBoundingBox: 0 0 525.12 375.12 -%%DocumentSuppliedResources: (atend) -%%EndComments -%%BeginProlog -%%BeginResource: procset xpdf 3.00 0 -%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC -/xpdf 75 dict def xpdf begin -% PDF special state -/pdfDictSize 15 def -/pdfSetup { - /setpagedevice where { - pop 2 dict begin - /Policies 1 dict dup begin /PageSize 6 def end def - { /Duplex true def } if - currentdict end setpagedevice - } { - pop - } ifelse -} def -/pdfSetupPaper { - % Change paper size, but only if different from previous paper size otherwise - % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size - % so we use the same when checking if the size changes. - /setpagedevice where { - pop currentpagedevice - /PageSize known { - 2 copy - currentpagedevice /PageSize get aload pop - exch 4 1 roll - sub abs 5 gt - 3 1 roll - sub abs 5 gt - or - } { - true - } ifelse - { - 2 array astore - 2 dict begin - /PageSize exch def - /ImagingBBox null def - currentdict end - setpagedevice - } { - pop pop - } ifelse - } { - pop - } ifelse -} def -/pdfStartPage { - pdfDictSize dict begin - /pdfFillCS [] def - /pdfFillXform {} def - /pdfStrokeCS [] def - /pdfStrokeXform {} def - /pdfFill [0] def - /pdfStroke [0] def - /pdfFillOP false def - /pdfStrokeOP false def - /pdfLastFill false def - /pdfLastStroke false def - /pdfTextMat [1 0 0 1 0 0] def - /pdfFontSize 0 def - /pdfCharSpacing 0 def - /pdfTextRender 0 def - /pdfPatternCS false def - /pdfTextRise 0 def - /pdfWordSpacing 0 def - /pdfHorizScaling 1 def - /pdfTextClipPath [] def -} def -/pdfEndPage { end } def -% PDF color state -/cs { /pdfFillXform exch def dup /pdfFillCS exch def - setcolorspace } def -/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def - setcolorspace } def -/sc { pdfLastFill not { pdfFillCS setcolorspace } if - dup /pdfFill exch def aload pop pdfFillXform setcolor - /pdfLastFill true def /pdfLastStroke false def } def -/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if - dup /pdfStroke exch def aload pop pdfStrokeXform setcolor - /pdfLastStroke true def /pdfLastFill false def } def -/op { /pdfFillOP exch def - pdfLastFill { pdfFillOP setoverprint } if } def -/OP { /pdfStrokeOP exch def - pdfLastStroke { pdfStrokeOP setoverprint } if } def -/fCol { - pdfLastFill not { - pdfFillCS setcolorspace - pdfFill aload pop pdfFillXform setcolor - pdfFillOP setoverprint - /pdfLastFill true def /pdfLastStroke false def - } if -} def -/sCol { - pdfLastStroke not { - pdfStrokeCS setcolorspace - pdfStroke aload pop pdfStrokeXform setcolor - pdfStrokeOP setoverprint - /pdfLastStroke true def /pdfLastFill false def - } if -} def -% build a font -/pdfMakeFont { - 4 3 roll findfont - 4 2 roll matrix scale makefont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /Encoding exch def - currentdict - end - definefont pop -} def -/pdfMakeFont16 { - exch findfont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /WMode exch def - currentdict - end - definefont pop -} def -% graphics state operators -/q { gsave pdfDictSize dict begin } def -/Q { - end grestore - /pdfLastFill where { - pop - pdfLastFill { - pdfFillOP setoverprint - } { - pdfStrokeOP setoverprint - } ifelse - } if -} def -/cm { concat } def -/d { setdash } def -/i { setflat } def -/j { setlinejoin } def -/J { setlinecap } def -/M { setmiterlimit } def -/w { setlinewidth } def -% path segment operators -/m { moveto } def -/l { lineto } def -/c { curveto } def -/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath } def -/h { closepath } def -% path painting operators -/S { sCol stroke } def -/Sf { fCol stroke } def -/f { fCol fill } def -/f* { fCol eofill } def -% clipping operators -/W { clip newpath } def -/W* { eoclip newpath } def -/Ws { strokepath clip newpath } def -% text state operators -/Tc { /pdfCharSpacing exch def } def -/Tf { dup /pdfFontSize exch def - dup pdfHorizScaling mul exch matrix scale - pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put - exch findfont exch makefont setfont } def -/Tr { /pdfTextRender exch def } def -/Tp { /pdfPatternCS exch def } def -/Ts { /pdfTextRise exch def } def -/Tw { /pdfWordSpacing exch def } def -/Tz { /pdfHorizScaling exch def } def -% text positioning operators -/Td { pdfTextMat transform moveto } def -/Tm { /pdfTextMat exch def } def -% text string operators -/xyshow where { - pop - /xyshow2 { - dup length array - 0 2 2 index length 1 sub { - 2 index 1 index 2 copy get 3 1 roll 1 add get - pdfTextMat dtransform - 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put - } for - exch pop - xyshow - } def -}{ - /xyshow2 { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval show moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval show moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/cshow where { - pop - /xycp { - 0 3 2 roll - { - pop pop currentpoint 3 2 roll - 1 string dup 0 4 3 roll put false charpath moveto - 2 copy get 2 index 2 index 1 add get - pdfTextMat dtransform rmoveto - 2 add - } exch cshow - pop pop - } def -}{ - /xycp { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval false charpath moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval false charpath moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/Tj { - fCol - 0 pdfTextRise pdfTextMat dtransform rmoveto - currentpoint 4 2 roll - pdfTextRender 1 and 0 eq { - 2 copy xyshow2 - } if - pdfTextRender 3 and dup 1 eq exch 2 eq or { - 3 index 3 index moveto - 2 copy - currentfont /FontType get 3 eq { fCol } { sCol } ifelse - xycp currentpoint stroke moveto - } if - pdfTextRender 4 and 0 ne { - 4 2 roll moveto xycp - /pdfTextClipPath [ pdfTextClipPath aload pop - {/moveto cvx} - {/lineto cvx} - {/curveto cvx} - {/closepath cvx} - pathforall ] def - currentpoint newpath moveto - } { - pop pop pop pop - } ifelse - 0 pdfTextRise neg pdfTextMat dtransform rmoveto -} def -/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 - pdfTextMat dtransform rmoveto } def -/TJmV { 0.001 mul pdfFontSize mul neg 0 exch - pdfTextMat dtransform rmoveto } def -/Tclip { pdfTextClipPath cvx exec clip newpath - /pdfTextClipPath [] def } def -/Tclip* { pdfTextClipPath cvx exec eoclip newpath - /pdfTextClipPath [] def } def -% Level 2/3 image operators -/pdfImBuf 100 string def -/pdfImStr { - 2 copy exch length lt { - 2 copy get exch 1 add exch - } { - () - } ifelse -} def -/skipEOD { - { currentfile pdfImBuf readline - not { pop exit } if - (%-EOD-) eq { exit } if } loop -} def -/pdfIm { image skipEOD } def -/pdfImM { fCol imagemask skipEOD } def -/pr { 2 index 2 index 3 2 roll putinterval 4 add } def -/pdfImClip { - gsave - 0 2 4 index length 1 sub { - dup 4 index exch 2 copy - get 5 index div put - 1 add 3 index exch 2 copy - get 3 index div put - } for - pop pop rectclip -} def -/pdfImClipEnd { grestore } def -% shading operators -/colordelta { - false 0 1 3 index length 1 sub { - dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { - pop true - } if - } for - exch pop exch pop -} def -/funcCol { func n array astore } def -/funcSH { - dup 0 eq { - true - } { - dup 6 eq { - false - } { - 4 index 4 index funcCol dup - 6 index 4 index funcCol dup - 3 1 roll colordelta 3 1 roll - 5 index 5 index funcCol dup - 3 1 roll colordelta 3 1 roll - 6 index 8 index funcCol dup - 3 1 roll colordelta 3 1 roll - colordelta or or or - } ifelse - } ifelse - { - 1 add - 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch - 6 index 6 index 4 index 4 index 4 index funcSH - 2 index 6 index 6 index 4 index 4 index funcSH - 6 index 2 index 4 index 6 index 4 index funcSH - 5 3 roll 3 2 roll funcSH pop pop - } { - pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul - funcCol sc - dup 4 index exch mat transform m - 3 index 3 index mat transform l - 1 index 3 index mat transform l - mat transform l pop pop h f* - } ifelse -} def -/axialCol { - dup 0 lt { - pop t0 - } { - dup 1 gt { - pop t1 - } { - dt mul t0 add - } ifelse - } ifelse - func n array astore -} def -/axialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index axialCol 2 index axialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index axialSH - exch 3 2 roll axialSH - } { - pop 2 copy add 0.5 mul - axialCol sc - exch dup dx mul x0 add exch dy mul y0 add - 3 2 roll dup dx mul x0 add exch dy mul y0 add - dx abs dy abs ge { - 2 copy yMin sub dy mul dx div add yMin m - yMax sub dy mul dx div add yMax l - 2 copy yMax sub dy mul dx div add yMax l - yMin sub dy mul dx div add yMin l - h f* - } { - exch 2 copy xMin sub dx mul dy div add xMin exch m - xMax sub dx mul dy div add xMax exch l - exch 2 copy xMax sub dx mul dy div add xMax exch l - xMin sub dx mul dy div add xMin exch l - h f* - } ifelse - } ifelse -} def -/radialCol { - dup t0 lt { - pop t0 - } { - dup t1 gt { - pop t1 - } if - } ifelse - func n array astore -} def -/radialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index dt mul t0 add radialCol - 2 index dt mul t0 add radialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index radialSH - exch 3 2 roll radialSH - } { - pop 2 copy add 0.5 mul dt mul t0 add - radialCol sc - encl { - exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 0 360 arc h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 360 0 arcn h f - } { - 2 copy - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arcn - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arcn h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arc - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arc h f - } ifelse - } ifelse -} def -end -%%EndResource -%%EndProlog -%%BeginSetup -xpdf begin -%%BeginResource: font LiberationSans -/LiberationSans_sfnts [ -<00010000000b008000030030637674204ada4bfa000000bc000002886670676d -7e61b61100000344000007b4676c796669da19fc00000af800000c4868656164 -0825eb8d0000174000000036686865610d9403e90000177800000024686d7478 -43ec05a40000179c000001b06c6f63616ef86bf60000194c000000da6d617870 -03db03e400001a280000002070726570fdae474900001a480000034376686561 -0002080100001d8c00000024766d74780800000000001db0000000da00> -<05cc05cc007d058100150079058100150000000000000000000000000000043a -001400770000ffec00000000ffec00000000ffec0000fe570000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000008000000000000b400bd00af00a0000000000000000000000000 -0088007e000000ac00000000000000000000000000bf00c300ab00000000009b -008d000000000000000000000000000000000000000000000000000000b900aa -0000000000000094009900870000000000000000000000000000000000000000 -00000000006a0083008d00a400b4000000000000000000000060006a00790098 -00ac00b800a700000122013300c3006b00000000000000db00c9000000000000 -0000000000000000000000000000000001e101c9009200a8006b009200b7006b -009b0000027b02f200920252006e02d703810082008900a0009f0169008f0000 -016000a4015b005e0082000000000000005e0065006f00000000000000000000 -00000000008a009000a5007a0080000000000000000000000581fff3000dfcb3 -00830089008f00960069007105cc000ffc1efff2003404e6000dfed400bf031f -00a700ae00b500000000008100000000000000000748036a02b60202fd930000 -009100670091006101d90000028d034100000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000006810468001404cb0000ffecffd3fe7f008300db -00aa00ba00a000cf00> -<40475b5a59585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c -3b3a393837363531302f2e2d2c28272625242322211f181411100f0e0d0b0a09 -0807060504030201002c20b0016045b003252011466123452361482d2c204518 -68442d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 -b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d -2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c -20452320b0cd442320b8015a51582320b08d44235920b0ed51582320b04d4423 -5920b0042651582320b00d44235921212d2c20204518684420b001602045b046 -76688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b2d2c00b028 -2370b101283e01b0282370b10228453ab10200080d2d2c2045b00325456164b0 -50515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b0 -0743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c -58b00361592d2c8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c23 -4445b02b23442d2c4b525845441b2121592d2c4b515845441b2121592d2c01b0 -05251023208af500b0016023edec2d2c01b005251023208af500b0016123edec -2d2c01b0062510f500edec2d2cb00243b001525821212121211b462346608a8a -462320468a608a61b8ff8062232010238ab10c0c8a70456020b0005058b00161 -b8ffba8b1bb0468c59b0106068013a592d2c2045b0032546524bb013515b58b0 -022546206861b00325b003253f2321381b2111592d2c2045b00325465058b002 -2546206861b00325b003253f2321381b2111592d2c00b00743b006430b2d2c21 -210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b -59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c -0c6423648bb84000626023212d2c4b53588ab004254964234569b0408b61b080 -62b020616ab00e23442310b00ef61b21238a121120392f592d2c4b535820b003 -2549646920b00526b0062549642361b08062b020616ab00e2344b0042610b00e -f68a10b00e2344b00ef6b00e2344b00eed1b8ab00426111220392320392f2f59 -2d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045b00054 -58b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c -4b5158b02f2370b01423421b2121592d2c4b515820b0032545695358441b2121 -591b2121592d2c45b01443b0006063b0016069442d2cb02f45442d2c45232045 -8a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3330034005944 -442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 -01615923586559b02923442310b029e01b2121212121592d2cb0024354584b53 -234b515a58381b2121591b21212121592d2cb0164358b004254564b020606620 -581b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b0 -042510b005252046b0042523423cb00425b0072508b0072510b006252046b004 -25b0016023423c2058011b0059b0042510b00525b029e0b02920456544b00725 -10b00625b029e0b00525b00825082058021b0359b00525b003254348b00425b0 -072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 -46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002 -2543482121212d2c452320451820b00050205823652359236820b040505821b0 -4059235865598a60442d2c4b53234b515a5820458a60441b2121592d2c4b5458 -20458a60441b2121592d2c4b53234b515a58381b2121592d2cb000214b545838 -1b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b21 -2121592d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b2121 -21592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b0005358 -20b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140 -408a704560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d -2cb012004b014b54422d2cb1020042b123018851b1400188535a58b910000020 -885458b202010243604259b12401885158b920000040885458b2020202436042 -b12401885458b2022002436042004b014b5258b2020802436042591bb9400000 -80885458b202040243604259b94000008063b80100885458b202080243604259 -b94000010063b80200885458b202100243604259b12601885158b94000020063 -b80400885458b202400243604259b94000040063b80800885458b20280024360 -42595959595959b10002435458400a0540084009400c020d021bb10102435458 -b2054008ba010000090100b30c010d011bb18002435258b2054008b80180b109 -401bb2054008ba01800009014059b9400000808855b94000020063b804008855 -5a58b30c000d011bb30c000d0159595942424242422d2c451868234b51582320 -452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e00b0 -02233eb10102060cb00a236542b00b234201b001233f00b002233fb10102060c -b006236542b0072342b00116012d2cb080b0024350b001b00243545b58212310 -b0201ac91b8a10ed592d2cb0592b2d2c8a10e52d00> -<000200cd00000532058100030007001f400d0206050306030908050304000300 -3fcd2fcd11120139391133113331301321112113112111cd0465fb9b4c03cd05 -81fa7f0535fb1704e900000000> -<000100a8000006020581001a015240ef18001a100d0e1a0e1c1b030a180a0f03 -000714030e12901c01841c01701c01641c01441c01341c01201c01141c01f41c -01d01c01c41c01a41c01841c01741c01601c01541c01341c01101c01041c0167 -e41c01c41c01b41c01941c01741c01501c01441c01241c01041c01f41c01d41c -01b41c01841c01641c01441c01341c01141c01f41c01c41c01a41c018b1c0174 -1c01541c01341c01041c0137e41c01cb1c01b41c01941c01741c01441c01241c -010b1c01f41c01d41c01bb1c01841c01641c014b1c01341c01141c01fb1c01e4 -1c01c41c01a41c01801c0102701c01501c01401c013f1c01201c01001c01075e -5d5d5d5d5d5d5f5d5d5d5d5d717171717171717172727272727272725e5d5d5d -5d5d5d5d5d71717171717171717272727272727272725e5d5d5d5d5d5d5d5d5d -5d5d7171717171717171003f17333f3333113311120139391133331133333130 -2111343706070123012f011f0111231133011e01173e01370133110556093127 -fe9486fe8f38210304aafb01771425060833090170f503ac9c90b365fc4003c0 -aa6e6fbdfc540581fc2f3b871e28a31503d1fa7f00> -<00020061ffec05d70596000e001a0030401a15080f0008001b1c0b125f590b04 -04185f590413801c01201c015d5d003f2b00183f2b1112013939113311333130 -01140204232224023510002132041207100023220011100033320005d7a9fec4 -d7d9fec5a60172014ad7013ca7c3fef9f0f2fef8010bedf4010502c7ddfeb4b2 -b0014dde0152017dabfebade0107012cfed8fef5fef7fec9012d000000> -<0001005dffec04f80596002d008e401f0c001d1c2316060505161c00042f2e0c -10131648490c590c690c030f0c0123b8fff04039131648462356236623030d23 -010c040c23031919205f596f1d01591d014b1d0103001d0109051d190403095f -59600601520601440601060313003f335d5d5d2b00183f335f5e5d5f5d5d5d2b -11120039395f5e5d5d2b5d5d2b11120117391133113311331133313001140421 -2003371e0133323635342e02272e0335342421321617072e0123220615141e01 -171e0504f8fecffeebfdfd52b920d0b3b9c93f729e60a7ad643501150102f0fe -33bc1fae9aa9b24582c2418176674c2b0185c3d60166257f777f7b4556382616 -254a5b7a4fb5c493b1217065706f41553b2b0f1f2b3a547200> -<00020057ffec0473044e00230030008e40562029290707150e0f2e03030f151a -0432311d1851591d1620001107295159070711003f0e010f0e6f0e020b030e0e -11110b50591110002450590016c03201a0320190320180320170320160320150 -3201303201a032015d7171717171717171003f2b00183f2b110033182f5f5e5d -711112392f2b11120039183f2b11120117391133113311331133113331300522 -263534363f013534262322060727122132161511141633323715062322262723 -0e0127323e013d01070e02151416019ea3a4ddf6f37078796e0bbc2e0184ccce -2a3b1a214447645b060645b75a639a59c57f83465f14ac96a8b406043b847252 -5a110124bbb1fe2e505107701069707c67875a9d53590402306451586000000000> -<00020084ffec041d05cc00170023005d40371e050e0e0d18000d002425051102 -15151b505915100d000a15022150590216b025013f25019025017025011f2501 -ff2501e02501c025015d5d5d7171717272003f2b00183f3f3f2b111200393911 -1201393911331133113333313001102122262723140607233635113311140733 -3e01333212033426232206151416333236041dfe727ba333020802ae06b40404 -32a57acdc1bd7887988b889988790222fdca59631f7f0a36a904edfe59415868 -5afeecfee2e3c4d0e2d5cbc900> -<00020057ffec0418044e0012001900774046131106071900000c0c0711031b1a -06060003190050590d190114041919090f0f1650590f10090350590916d01b01 -c01b01a01b01901b01801b01701b01601b01501b01301b017171717171717171 -71003f2b00183f2b11120039182f5f5e5d2b11120039182f1112011739113311 -3311331133313001141633323637170221220211101233201115272e01232206 -0701149a94758d199e61fea8f0fbfbe901ddba0f908783990601f7baca5e482d -ff00011e011a010c011efdc1188aab9daf99000000> -<00010088000003ee044e001a0061403c1209090a001a0a1a1b1c121600160550 -5916100d0f0a0015d01c01c01c01b01c01f01c01b01c01ff1c01e01c01d01c01 -c01c01b01c01a01c01701c015d5d5d5d5d5d5d7171727272003f323f3f2b1112 -0039111201393911331133113331302111342e01232206151123113427331e02 -17333e01333216151103392a5c598296b406aa01020302033ea379b2a502ae6b -7634b29efd8d0353bd2a052c394f705db1ccfd2f00> -<00020056ffec041d044e000a00160048402c11060b0006001718080e50590810 -031450590316a01801901801801801701801601801501801301801df18015d71 -717171717171003f2b00183f2b11120139391133113331300110022322021110 -213212033426232206151416333236041dfaeeedf201e5f8eabd859d9e8d8b95 -a28b021efee4feea012101110230feeffee1e0cbcfdcd6d7d000000000> -<00020084fe57041d044d00170024005d403718001f1108080900092625110415 -02151b505915100c0f081b022250590216b026013f26019026017026011f2601 -ff2601e02601c026015d5d5d7171717272003f2b00183f3f3f2b111200393911 -1201393911331133331133313001102122272316151123113427331e0215333e -0133321203342623220e01151416333236041dfe72fa560504b406ae01040504 -309e81c8c6bd7a856b793f8899867b0222fdcabc08a2fe590506a73604316613 -645dfef4fedde2c25abf99d5cac5000000> -<0001008800000288044e00130023401006131300000c14150f060a10040f0015 -003f3f3f3333111201393911331133313033113427331615333e013332171526 -23220615118e06aa08042b70662425243c7076033e728ab8258b660aa50ac1b4 -fdcc000000> -<0001001ffff0022a052c0014004540240d14140b0f0f09040416150e05080550 -590b0f09010c030940080f0212505902168016015d003f2b00183f1acd5f5e5d -332b110033111201391133331133321133313025062322351123353337331533 -1523111416333237022a595dd87d843578c8c8333f24440818f502d283f2f283 -fd554e3f0e00000000> -<00010017000003ea043a000b015440a0000b08090a0401070605020303050709 -0b050d0c840d01760d01440d540d640d03360d01240d01160d01040d01f60d01 -e40d01d60d01c40d01b60d01a40d01760d860d960d03640d01060d160d260d46 -0d560d0567060d460d560d860d960dc60dd60de60d08990dd90d02640d01560d -01440d01360d01240d01160d01040d01d60de60df60d03c40d01060d260d360d -460d0437660da60db60de60df60d050db8ffc040363d4248390d01220d010100 -0d100d02f40d01c00dd00de00d03b40d01800d900da00d03740d01600d01540d -01400d01340d01200d010db8ffc04022121848a00d0102000d100d500d700d80 -0d900d06070a04010407030208060f000215003f333f331217391133015e5d5f -5d2b71717171717171717171725f72722b725e5d5d5d7171717171717171725e -5d5d5d5d5d5d5d5d5d7171717171717111121739113311331133333311331133 -31302109012309013309013309010321feddfedbc20181fe91c7010e010cc9fe -91018601bcfe44022c020efe5b01a5fdf4fdd20000> -<0003001ffff005c50596000f001f0037007f405018202c31262c260810000800 -383925292923c9592f35c959322f0f297f29020f291f297f298f299f29ff2906 -002f01002f102f702f802f902ff02f060903292f292f040c0c14c8590c04041c -c8590413003f2b00183f2b1112003939182f2f5f5e5d715d7111332b2b110033 -1112013939113312393911331133323130011402042322240235341224333204 -1207340224232204021514120433322412251416333237170e01232226353436 -333217072e0123220605c5c1feafc1c5feadbbc20150c1c20151c05ca8fedbaa -a8fedca8a90122a9a90126a8fc898e7d9e4b733ea975bcd0c8bdf4607220744c -7f8702c3c1feafc1c9014dbdc10150c2c3feb2c2a90121aaa9fedca7a9fedca8 -a80124ab9bab9c237968e2cccbddd1214544a10000> -<0001000000020000057967295f0f3cf5021f080000000000c840f99a00000000 -d8a2a78cfba6fd930a6a07d700000008000000000000000000> -<00010000073efe4e00430ab4fba6fa7a0a6a0001000000000000000000000000 -0000006c00> -<060000cd00000000000000000239000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -06aa00a800000000063900610000000000000000000000000556005d00000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000004730057047300840000000000000000 -0473005700000000000000000000000000000000000000000000000000000000 -000000000473008804730056047300840000000002aa0088000000000239001f -0000000000000000000000000400001700000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000005e5001f00> -<0000002600260026002600260026002600260026002600260026002600260026 -0026002600260026002600260026002600260026002600260026002600260026 -0026002600260026002600260026002600260026002600260026002600260026 -002601000100014e014e014e014e01da01da01da01da01da01da01da01da01da -01da01da01da01da01da026a02d002d002d0033a033a033a033a033a033a033a -033a033a039403e2044a044a047c047c04c004c004c004c0058a058a058a058a -058a058a058a058a058a058a058a058a058a058a058a058a0624000000> -<00010000006c01520054005c000600020010002f005c000002a402040004000100> -<41210009013f000101390055013e000101390055014201400014001f01410140 -001f001f013b0033013a00550138003301390055004001070001001f01070001 -009f010440aa01c0fd01affd0100fd010a4ffb0120fb01f550281ff246281ff1 -462a1ff0462b1f5fef7fef020fef4fef5fef8fefafef050be5e41e1fe3e2461f -0fe20140e246161fe1e0461fcfe0dfe0efe00340e0333646e046181feeedff1f -ed01e855ec48eb55ea320055e9e8e855e7480055e600ff1fdd3ddf55df010355 -de3d0355dc03ff1f0fd51fd5020fd51fd50240ca181b46cfc201bdc03c1fc150 -261fbcbe281fffb90150b870b880b803b8ffc040ffb81232461fb73fb74fb76f -b77fb79fb7afb70718b60170b2a0b2b0b2030fb20190b501b0b5010fb501080f -b33fb3efb30380b090b002b0b0c0b0d0b0032faf3faf02a0adb0ad02c0add0ad -022fac3fac029fab01c0aad0aa024fa98fa9022fa96fa9bfa9ffa9049c9b241f -509b016f9601bf960196461d1f9594171f0f941f947f948f94ff940530914091 -02809101708f808f02908f01c08fd08f024f8c5f8c6f8c038646ff1f9f850184 -83311f74733f1f7350261f6f6e3c1f6e46351f1a011855193318550733035506 -03ff1f6050261f5f50261f5c46311f5b5a481f5a46311f133212550501035504 -3203556c03010c033c034c036c037c0305ef51ff406451024051353846405125 -2846cf50014946201f4846351f4746351faf4601df46ef460280460116321555 -11010f5510320f55020100550100011f1f0f3f0f5f0f7f0f040f0f2f0f4f0f6f -0f8f0fdf0fff0f073f0f7f0fef0f036f00014f00018016010501b80190b15453 -2b2b4bb807ff524bb007505bb00188b02553b00188b040515ab00688b000555a -5b58b101018e59858d8d00421d4bb0325358b0601d594bb0645358b0401d594b -b0805358b0101db11600425973747374752b2b2b2b2b017374752b2b2b00742b -2b7373752b2b2b012b2b2b002b2b2b2b2b2b012b2b002b2b012b732b00747374 -757374732b012b747500732b73740173737400737474737473015e7373747373 -0073732b7373012b002b012b00732b74752b2b2b2b2b2b2b2b2b2b2b012b2b74 -2b2b5e732b002b5e7374012b2b2b002b73735e73737301737373002b2b2b2b2b -2b185e0000> -<0001000000000000000008000000000000000000000100000000000000000000 -0000000100> -<0800000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000> -] def -10 dict begin -/FontName /LiberationSans_00 def -/FontType 42 def -/FontMatrix [1 0 0 1 0 0] def -/FontBBox [-1114 -621 2666 2007] def -/PaintType 0 def -/sfnts LiberationSans_sfnts def -/Encoding 256 array -dup 0 /c00 put -dup 1 /c01 put -dup 2 /c02 put -dup 3 /c03 put -dup 4 /c04 put -dup 5 /c05 put -dup 6 /c06 put -dup 7 /c07 put -dup 8 /c08 put -dup 9 /c09 put -dup 10 /c0a put -dup 11 /c0b put -dup 12 /c0c put -dup 13 /c0d put -dup 14 /c0e put -dup 15 /c0f put -dup 16 /c10 put -dup 17 /c11 put -dup 18 /c12 put -dup 19 /c13 put -dup 20 /c14 put -dup 21 /c15 put -dup 22 /c16 put -dup 23 /c17 put -dup 24 /c18 put -dup 25 /c19 put -dup 26 /c1a put -dup 27 /c1b put -dup 28 /c1c put -dup 29 /c1d put -dup 30 /c1e put -dup 31 /c1f put -dup 32 /c20 put -dup 33 /c21 put -dup 34 /c22 put -dup 35 /c23 put -dup 36 /c24 put -dup 37 /c25 put -dup 38 /c26 put -dup 39 /c27 put -dup 40 /c28 put -dup 41 /c29 put -dup 42 /c2a put -dup 43 /c2b put -dup 44 /c2c put -dup 45 /c2d put -dup 46 /c2e put -dup 47 /c2f put -dup 48 /c30 put -dup 49 /c31 put -dup 50 /c32 put -dup 51 /c33 put -dup 52 /c34 put -dup 53 /c35 put -dup 54 /c36 put -dup 55 /c37 put -dup 56 /c38 put -dup 57 /c39 put -dup 58 /c3a put -dup 59 /c3b put -dup 60 /c3c put -dup 61 /c3d put -dup 62 /c3e put -dup 63 /c3f put -dup 64 /c40 put -dup 65 /c41 put -dup 66 /c42 put -dup 67 /c43 put -dup 68 /c44 put -dup 69 /c45 put -dup 70 /c46 put -dup 71 /c47 put -dup 72 /c48 put -dup 73 /c49 put -dup 74 /c4a put -dup 75 /c4b put -dup 76 /c4c put -dup 77 /c4d put -dup 78 /c4e put -dup 79 /c4f put -dup 80 /c50 put -dup 81 /c51 put -dup 82 /c52 put -dup 83 /c53 put -dup 84 /c54 put -dup 85 /c55 put -dup 86 /c56 put -dup 87 /c57 put -dup 88 /c58 put -dup 89 /c59 put -dup 90 /c5a put -dup 91 /c5b put -dup 92 /c5c put -dup 93 /c5d put -dup 94 /c5e put -dup 95 /c5f put -dup 96 /c60 put -dup 97 /c61 put -dup 98 /c62 put -dup 99 /c63 put -dup 100 /c64 put -dup 101 /c65 put -dup 102 /c66 put -dup 103 /c67 put -dup 104 /c68 put -dup 105 /c69 put -dup 106 /c6a put -dup 107 /c6b put -readonly def -/CharStrings 257 dict dup begin -/.notdef 0 def -/c00 0 def -/c01 1 def -/c02 2 def -/c03 3 def -/c04 4 def -/c05 5 def -/c06 6 def -/c07 7 def -/c08 8 def -/c09 9 def -/c0a 10 def -/c0b 11 def -/c0c 12 def -/c0d 13 def -/c0e 14 def -/c0f 15 def -/c10 16 def -/c11 17 def -/c12 18 def -/c13 19 def -/c14 20 def -/c15 21 def -/c16 22 def -/c17 23 def -/c18 24 def -/c19 25 def -/c1a 26 def -/c1b 27 def -/c1c 28 def -/c1d 29 def -/c1e 30 def -/c1f 31 def -/c20 32 def -/c21 33 def -/c22 34 def -/c23 35 def -/c24 36 def -/c25 37 def -/c26 38 def -/c27 39 def -/c28 40 def -/c29 41 def -/c2a 42 def -/c2b 43 def -/c2c 44 def -/c2d 45 def -/c2e 46 def -/c2f 47 def -/c30 48 def -/c31 49 def -/c32 50 def -/c33 51 def -/c34 52 def -/c35 53 def -/c36 54 def -/c37 55 def -/c38 56 def -/c39 57 def -/c3a 58 def -/c3b 59 def -/c3c 60 def -/c3d 61 def -/c3e 62 def -/c3f 63 def -/c40 64 def -/c41 65 def -/c42 66 def -/c43 67 def -/c44 68 def -/c45 69 def -/c46 70 def -/c47 71 def -/c48 72 def -/c49 73 def -/c4a 74 def -/c4b 75 def -/c4c 76 def -/c4d 77 def -/c4e 78 def -/c4f 79 def -/c50 80 def -/c51 81 def -/c52 82 def -/c53 83 def -/c54 84 def -/c55 85 def -/c56 86 def -/c57 87 def -/c58 88 def -/c59 89 def -/c5a 90 def -/c5b 91 def -/c5c 92 def -/c5d 93 def -/c5e 94 def -/c5f 95 def -/c60 96 def -/c61 97 def -/c62 98 def -/c63 99 def -/c64 100 def -/c65 101 def -/c66 102 def -/c67 103 def -/c68 104 def -/c69 105 def -/c6a 106 def -/c6b 107 def -end readonly def -FontName currentdict end definefont pop -16 dict begin -/FontName /LiberationSans def -/FontType 0 def -/FontMatrix [1 0 0 1 0 0] def -/FMapType 2 def -/Encoding [ -0 -] def -/FDepVector [ -/LiberationSans_00 findfont -] def -FontName currentdict end definefont pop -%%EndResource -/F8_0 /LiberationSans 0 pdfMakeFont16 -%%EndSetup -pdfStartPage -%%EndPageSetup -gsave -[525.12 0 0 375.12 0 0] concat -/DeviceRGB setcolorspace -<< - /ImageType 1 - /Width 2188 - /Height 1563 - /ImageMatrix [2188 0 0 -1563 0 1563] - /BitsPerComponent 8 - /Decode [0 1 0 1 0 1] - /DataSource currentfile - /ASCII85Decode filter - /LZWDecode filter ->> -image -J.2]m-km:!"b]2#:hXAd)[hEh@M(SI<[AN=6\_fg\CbOW*"E3`U!/U;3?/Li&ueR- ->qMEQj.f`/c7]?ic&RHRjf3fB^d," -fW7Oq*KA-M10FIG7k'eJAob8'f[;l>]LYN_Bf*sq43cnF3NZ>k=g-BBFk\L&cY^)F -D)Y[IhWK/^_*Eb&kt'Q#/)fF\qsJ$O?n`CS"TiZ]Mp?pM*uq]#P:%f"/+"!%D-R0](_`4]-SnnBb`XJA8rX1 -;=&?Ga-$RR+NT]cN?Lk+/<_=#;J_aKa`7uWC_qGdI+]);SL!p<+0naJt -4S=>WliR:*Yf,?Uc4J4]2pQK'kr[2>bj.F<'BJgMck)-7%g5087ME@!Cr73HMiA\s -\I@hu.FO@J@hZR2/40&`_$rL9K7N"kmSoGj_[aTC,XW0^[)*"ad^#,c=k6TT@p@NL -`GJl3Q/-jo=:+RoieL)LiZ0Y&i-f1iMkGDe7Zjumc8\AKnJNt$(j*7m@H_qW0$[1D -?c_K3As4KKb#Xq;pM)X21Y6q2jX;YhVfH,\*VEarGKor5hp),eI]\D?AT'1oU?oO# -Qj)l.i#$>6M.2j4/W&K^XJ4"Hm0[Ca\>c6#N+A=,9oS0O/lRtq=`.?cVfo++NnmR% -OON(^IT&p$:8=pg]6!o)1VJiji;$qt=Ci/i1sf5t"OM=%msGWD_/LA4a/-q^ -NmJP04CD71"]5P&0ndkhb5P>g83jj]!leMe/d.EkN:!mWm>P8[niDLWXm,^(YHqMO -Tql(VfV-W*g%KTDjd]YUj+s*Lq6EDNftm^MDD^4bZl*,ip!D.c%@/.8hm+#N/QkH%\3tKW[ -V0*AB.RY!,'G/n@Mb&X=6`=6cT'R\>/$.4=k[PFh4DBc%Xu&VheJi"ODiRH0,Qecf -V:)XqE\0E<3A=ARP3=/Ym1LkeBaZ*DXGDtd-:UP6!7;AQ,mBH+97mn4%A+lQ,VIpW -7i:#Md^Ui./nkU1#bZp&fG]Z5MCq$u4Y,Q_Y`nY#>"]`M$eI2m=N$1hXEVu#86Wo@ -l_p"+(Z#Xf?pU2R370$3.fs=6at1`QC+g]C=d@LR#0K@RS%&DKjh/!k#mP=n.ElY, -.:[p^KXl`NI^7PP`LLO8FO)tb4m03JSEsuE^:C[C;3)4>GZFZja>4#b`Fbm9Q-'YJd@Z6G3U,1m\D+nP,m1ree#Sq:1bggD`k'YlB[Z$7# -8ptDH_fSp4FOSiEklmmMMmcY9Ueb24CuY]'KbLG<:;sn._=[7B[a:sWCN4@^--3Og -.Xm"L@mDT0-b202jkX.+Fmbs=-HsRM^(o(UD0!?h%QR92<=B0e4-p),N"e,&5'.\/ -5,<0"6IKB$8g#DoBrHh%`3hYg5jMEq&Os*7>1$Gd]W6sWAVj[HSkBq1iPCjb$/LOh -L%)Mg_ROLm'fbW0BX1^(1i*pUJ5G@],(lrk*jak]%?%K'0?-_>%qAU%#XL"7Wp[M: -"#:'n9egmO\96UVQ[5ZO^+)j;QG8!?"(9hh*5bnm.HOg2Q/Q;U,KD/a3u&U?!Lqsm -OH>S;7qf2Eb/\t>Ibe04e47VIl-;p@3WkYr$*C>@b8FM62QMh/ji2U"Z`G-AgOX=% -c@*nM@mt%T*M>6(rP?_+k[>E?UbmO_dopBZ127_%&ZXQp5i2ko"/$$^SQe=YJH:>H ->1c+%/6-o,keku$I./HT4`M,46%rZF!KHqDOXq-BE'6qcNlf9H?NeiF];G4`eU,d? -Qa]+NVfmgJgDb')D;DV/[c*+(])=,DFMgRXp,N8u'G6m45hL6\1>Y+=Aa_59Rnie: -5]%+Va5k)FWdli]aO_U'(.bS -6\l\m6.sQPEP@I!qa=Q68rpsRltV1`;[m_<2n+@pM;8[8R4$_)Ir4K7s/56f"k#M? -'PR]"[=82E?pq1W=WhSaCgNd/!CX0YRTbm1qeB,h,>f -X'VE4Y^?9/>soX%;J5gHpQ)e)gR.p]h7,Js39S'"qFpO$p[(<,p7K!T(P5=5!-HNG -:lL=.bR7U*&#TF]V#bN0AZQm3C*7D4+TYCY!g"u7L03b.6L0Ib#7_)B:;T0>`lY*V -5G18aB`>]CT#r<\mH9'_aJ/)p9%RfQBaE/>5[&B6LrSSUafeb<$t;;;8jBOV;'\cd -&2$DS1>7=fqiE0-&>900UBrWR$?3*S5\/L0&DX&=B]baW/50e$7'"Otoh^2JnBDCr -IWW[SM.F=t:qAgmSd#=tE=\NGj&jgr0YN6B6`Rk:0MGIu;\3M"M3)sV6c/2$$j9!Y -*,7bA8&n_W&/Dr,L!*U]$?>uK-#J+#rim+])jX(0p*=CPTc,0b_&Mk;3MX? -UDe-<1=.j0io9:'2Z'=\"<^DADZ5G'r_t0P"DM'DKRX0@5m@qRmV&]iXa5;QaUX6tnAcu><3l2JO-;\S]#)H$qddNKd>,pDL9Bl1k( -D1K[D#05*IO@Yh[YBLFPd3#Y_,dKs?j8-^0>mmF!hs/ptV\Gkg-7_sUmf68uB#8e* -+bZNk5]0j]!@ql/ -cEF]#Eg\BI`2A`+/?e@jc>5u`YnWp(/*4_g0gb`YNoUMV=@+pVlQlZ(TeCH,097`= -,=$,8+FVT_(t/:8o#!1;S1UIH.to,0`Q&qF_&lOkai-A,!)k=6;H!tuO?cA3:PA(P -p:r>>18H-9&8['c.)1\aG]H.nE^r#:*9!_V9OLdAP7T5t)Q3l%(c)%Ko5clI'f]-C -3+E5a4Dq1d6lI!/+rLrDX"i'N%9c0en2p -=QPRS.Cs&R,fZpSM@=DZ'/VSNE-J-=&?Ga@cZ28^HpQ4XN5]+;XH#[7P"ek`3cpmq -djli"a#=ZdVlG2XcjQRbU -amePoWK;ff,/%=EX"5eaHV*oj9/< -0LIluKPq5@B-X3:,W4+[o\Eq5eiY\fF%tI1WjPV*_VdAFcn/VLVfJMBP-]!6:NWeM)239!KoZG=jTaP_=!Pp_ -Wpo/?:0 -Am*,huVffKoT:`a(V2KB<3mbRA$34Sgo!El;qnqH%hk+D!ODa=iHbU3-&Is0fI-T -%$rk8(\_mD0.*HeU:MA=\ff%K?9T]^GS/Np=tq,[#2R5,Or+UAG45VmoQ44R>rcTO -P:GD0qieBO2f-NoRH:&%AYqM&T1\Ja",b.7A?Dl>Ka_`kH;Bi1K9gEWX6n_),BBU`ZO1%W^G]6h2i2j37S`BoH7WnW/M)4S;tK=Lfj\(R0p]#MrAop].0^:MZp ->1Am/`8fsiH`tG$[7ldONgeO[Ad@$ZV5:Du")%MG]saaTZqD;W)o?sT9=ag&)>mW` -!/0M2_t&7VBd.A'_kB(%26BV<$r-q56ti)mCh'P6]O3mD>YU\amO4U%LO4W*lWspX -P$1;;LomJXh7=m#[mU%hA"St>_L))E008jE]V30s.EYni\@[n.d'ki`!HoX3H$kc+Kp>%"T4PJW.R^=k6\mG`n\[kD9MI(-LL!QQMe* -_4*0a^9@WPf6Tt4P%Lj[IN/,c\:uT`_0n*!+X<&M`c8h"iL-4lckkGoo -e%JHGL.#GH(bTC;d3f'kRL"gSCi$Wm%lKgZEX[qNV"Yn2M)_K^S -CjA1^F.JPVrL'Lo"^[apk'g7prk7YXiJ\sZVb3iB>'pG.^ZrPdgj[tXn4bu-c7Tt2 -ia0Uj*b4Y&n1h.\ -=8*;+hX1$o?2T2kr3PM>!,e:3o5Af6DIbjufYPr(q+:N.iWA!'=4o@N_r85R< -"$r?VVHGF9 -8u<6SN4rj\KoQAt@G'da4W[D^A!,!pE]BRb#;`qZi+t7h^o#RAPsuci):KscJ`Q7- -3j.*#Q5]FRK4UWWWA]*'VV,XUd)P[GF[BebWSOS@Mq-\[H+r/(fGk)*s+S9tYaBf= --Q.^X9qZ]DRYK,u#qu8mb"8Ms^n.7bp"5uLA'8@$Uh!qm??re"q -E1f,t5`ind%)?i33t=XIgd;T?;$9B&6f>a8%)jr+<>Ij9";2CQ0Ou1C4mcI6Vl(]D -LukUOPFigcE-uRJaHABD,Y<#=RjCYSA=k;C18LTo8ohSF/5($3p>e6MKP2*SJRD1J -"02l8N0'/HqQIp1Sitk:34)64AU%Jq`N3rjT,8(F'q$=bomX&70_7N[N2b2 -'XLA(Pao?Xde'@l92eg/2c!A["Z]FYoc6AMWJXN"oVa6KXLO#$dWhD3e9tL=1\DsY -X"+Mq^p2Maon&a5.a$^[-Pe[[AD),mLo.Kn`D(&G[\\%Zg=EC/_R;:\ZLLr;D3u9A -QA)qe2R1VBdYDub3i8nMoU0ST#SUcjgK0C)Hf$dDpO>L'99PgUDJe9P?W]boK\uQ* -)hqer?6`@\ahuKu-uW]@;SFfRlMJq*4U;Q#i:PA-KY]?8#_bR'Bnop -k/"6;4!r"SCg0BOO>uu_U)=/$AJ>a[TdVogBR@aW]kEnto=j[?pB/3ME;o26^;0M8 -`DJp9S/THW`j)plHTrsdo"T>nkW4c2,JX#80OO2=GJc&J@DK/-/l/] -C!*bj=:5p`f@Ai\1#FGYphA[]C45KroH$Lej`pc.X*XU>Q^I&D4sb-"oGWg+d\ooP -S_89>Fm"&J+"*QLH=&>P_L!n5NIn<^O43oPs.@j=I_Wqej!jFXIe89Af'K$?6t;#! -'=`f#J:Qi)"2Kj.!\dNr_.jQlNP$+CP8oPmP);RkW"jo_4U<2*.Ko+2&AiPr!b##\ -Kj\Vj,1p;Ocq@)c$g%(924EtLN&?)]%Ne'ZIh,uk6\nST+N/M\^^(Q[#0/84"#+>G -TNE7hYuVW/G5i=eZs&A"D)el[2TW]1Lk*:OR"IrV;&r%qLs[P.7bHZ=,F!,,EQ1$Y -LIP'2o;?U]WEBtBdLQZUXcJS2Lc\%5Y?fA1G7ldhZ'ai&A%ZuJP"BaY#n82VdQ*.t -m&$4S5`Zc+P9R2f9KdYO.4%rmQ',sD_g%XIN@P3^1:C3*l#A<:e@'G":t%Yhdf.Qn35BOZ"Q=]/X9\j+[!:)'^tR -0c&!;=XQ76bF-mCB8#lF;q?4iC$@eDdaBoT+OEDUAi67>h=Tp(Kj -,71sb5tkkoU^>PPp]Wi0eGH"^k)WBn5t<@:Q]Em+6BEVnlQcKpTE+a/deO)fjN55C -Zb36*88tl.b2QYp13ZV75=k&C6SYd)Ti?&-^e-%G1PH+sasVN*8qa,i'cDhMAa*61 -,seSsDQd#B3Xlo?Z$WLZRFI,/=)16?X];`dYsPiP+9=fl'rGJ+G!A;ha<1U.Jd?sb -Wme"W\3<0hM*UQ"N#C\aTloY@+h>bD5g8DGQ46J^aE(/D[;NX>r3"c=J@=NVRmD3_B7Q9O$>eHhTE'F(t$0Gh\.API"f_mD?8dbK2/Ec*?p -/k0PW[:40;$\PKhdKlI0oc-lcNFt,&_T`n;W:2GR_Rseei8)SAE\:Y_X-Hl\^F,\T -hW0ONZ%)4Jn%a/`[_BV=:sA7(^mDA3i;=%;,qZ$t2d3bE -Rd5Vt*I!&H@_Pq+B4,\@%V`#_(;_t+$)'=%S+b.^@f%AY=jp'83&r0cMKJ3"VB`u\ -gE0qLIueUS6bR6Fg69Jm%:!Cb"K92hZi"0gZB_oAR7Aa$7h#QO,Tm7U^Fq@h@;mmV -6-P`11?:"6RIaFu3=CRE;lk";(L^W#DRjqCU6V<\Hf$d3Sss>^c(K.^,JDe@8Q@]J -Oho9A#JgJ.kfEm&*F,q:KZWSI,3aQad3Wc\6@XYmpt -^[dMAF!_m10IIC_r'dWB"PBq=/\3a^Vj4/+P+:1M)<5"";JQ_O=SV2HlHOIYG)"K! -4'--5AL-"Od5Wb#;$;Ji7"lj#Yh3.bF(KdI\S,b@ac8+a6#2%[2jW(PRo=Y%4m]WN ->>m.%00H9TkFJuNdjRkn*RG2ZBkA6m/%9h`?;;Yho^;J5S*,/dBhu(p"^$tRB23I7 -1WL"9LrhU$5X4@ESdad4WRB*dhHS$t.UI(b]KM,B*](e1Y<([cl81-cG\M:R%a9=l -UN=/3cVePc#5f?AS@rK7oq][Heb<<(mZL$*/h)@6;fqGLjc!&c`gmkQV&4P5%MAh/ -kl%-TpAWn'HZ*uHY5sUDi*Q^T.k%TOL(s=\!P5o[@.9$TLS&B])1cqGnX[S/G:sut -I#!p%[44SU`RprF4ne)n&QIXaG\KlL^+65uS.s:G;/VF*ke9^1qYqk8A]C)!dU/)_ -IQtlu[YQP[2.jPPa6E(a36m!hVS1<+;&Z?Ii4K-SPUiGjAfBCt3:GIIIjt(-LHsac -P6Da3/+u,]g&.J$W5sqi%c6s/Y/eZe@G;g)nIJb"UbAjUNk=7t)L(OB/$^_,qPpTE -Om@IbWU:eep-05p5R[0K>R%uS#8Y.%TFhA/J/4Q/'Hic5MN7bRs>G=8s -(I=!+6:choPDuP/2`$%CNH:UQ`%&ILOda1X3.Z;j8_XU,KL6+53"qPb(`g#30tBsu -5XV$XZeN<\3'pe051lbo#e7GaZTb`C6]=1GPBsu2kZVTm -0H;k(!BC:6F;0NN'h%[j7GM0;lqkN-Pb7k^6+Ea0\Ta'=+dJ!/.*1,[`+M:2juIG& -N-m.cS6eY^CW=K_6@m1sK,m9E[Do:,5,t^pS8p*q43>IC/1lKTp -@J@ZT!CkRT7IlL$8b^7.IE2hF8/dN,">[1'dR5UcYlmHV1drWFXrq7U_%AgJ(_7RY -&g6HKVJ9kT`(N9sa@HGc8/-ME/PouW>>\T^*9GoP,QP;o>_Pd_PlD9S2WV&;E8/p3G?j-*!4;n -3^Z!QbSaTQ]BVE#ZqE6MU,7?GRJ9HTa@o:L._($M*.ss7KYMP;`&"GYS;04k7Ds#" -&.+s>a:6BNd@(D\REuJ4X)FYu'u0of0uSRZeB#j=geGH;9UsqB":;+@7O(/:5e2oa -!=D+J.ES&-8]9a_]]UX[67@Dr'/97pOpI`M'tdER:$h:BjR5gen!_J..HH.T*2s7[ -ZPp-A9'^plC\P9I#ceS"ck`j7eXMQ-)9REC%*;n/?EfLjG -.`3OF9M<]:\!Mah,ZHQiXMViBHbsn(:@/!WbC,u1*%NN-d,bm:h%L7AK17E96mU#- -_l>q[cH'd;9alk@%+Nd'G$!9aRp(9CahRX%an&adT$t/>pg+= -b+5WJ6!;2>P&@RF6V4*:c>;"YiYJ%@%B,GH8b>tDfFoYNN`(9P;dD7ZD'k4IYb%kQ -$EWj1CoSQ8Jj;-"$TVYElT>O\*MaS$e/7i$XTQr#2H,#la\&'K9PD*s(!DR>8J,mj -4Th8aY:6Fk!NUfG"/eYra%+'`;ftOZ,IC?#&C%88<)ljsAQM,.X,4oo3,ML6AQpn] -Ki*MX29Zi`UTZQo(a49/JERJ6Z=R&s"/&a+]DX@Dd1o]1B:M6k&6gec+;qM&&1*;\ -cm;T?I9+qdE)ukEUdFs90mFUN`[I#bRB+'';?e>9GT^I6da_s]XY140Hk[`q*&V>/ -Kmu/c.E+X)/RT9d!u.Cc1_5jkNM;WPPE$*Egq%ri4,MGcfp/^9H6G[A4>t\50nYJ)#>^Ad89bqANF/1I8B$`*]@[aWV!;.Z`@ORW&?lVV --%D@[qc9726PZ>d -He5VpbupSal'e,2ZmfN4Ob(YcF]dm. -*@a=R0Vqi!Udp@fJ^'9ZFf/Lccs=cTfjMQf,nF,fi*EVSN7FC4>u1R?X'N@U_gU>#Rs(Ho01E,@?Utnsd0_UE -&6tK7&#H\L>hV$2l<_1&?FBc=XoBbQSB_e?_l6*;j=Ne>`>iDe/RoKWKuDnq/71-N -&;h!kM41\daZBPY+>^YLH>:D9pn6'NVN(T4h>cFd'Lg\s`^$Z5GT_SG7l4f.4Y$@; -Mrd*$!b'@-`tf=smM**'qk%-rNe#`HifuMt9\r>l=mdBkD3Df5PYZAh7ZF,#p(QGu ->u1Xc\8kb[b'i.;ESROXR>;V1p(>C3UoZ.^TfTEd%_D)Q/M3@72misXQ@&2Hf#D!TK$2 -7YWDTp2ah.fuE"=1mqG)m/8Er0H9\e)**qT!fhs,G@@^Kcr\btBA!G;q -Aid?tA=J9mJKK.7If+<*YU?jPd]n@kB9Ci=Y3Rkh_9^k+_-%:'Nt@'(!Cnp(DhRe85J+ -7]]#7-ptElclQfbG.VM"bI5gcgO=?Y_PCh$^"+35l1,)BZJRGr&"q>[Tc.h/\Y-m" -',kICkV5M9YR_WX@(@rQu3^XGic8Gp6dY.O"Ke*ToC=WqYt]WGQeYDLO8 -i*hia7Dr`fQ4P4XAMq`m-Jr/rR)n2&jXu2dmL616I3<%6cD/$(<2aY'eaA1VD,U'9 -K(2u3\!DWF:eOYZ6[[l'l0aN.?4E$*<,N_^7NKm#A/f)pW@M$mTd1JO3ehG3K)fgP -D_PenDqf!MCcq%WnF-qQ-cWh87_Tt!\u1^$6t-?TM4q27%H!i`^;V6rS+mmCSf+aE -B=<2D)N%_i&(XeoCq7.XiAK]5(MFBq/Zak6p%7IUmhm"kK\g>?p1q!pZdXmutV%hc-jSg+m(;`*i0);#9b$urI&EPF*qbS_n< -PNGp49+Mp[(@ZA+Dr)4+_.G8+f(>bI5&XtNmr8SJe2tB.?RgT,9KJ*T>NkZ306@Oq -DtO_7(Gp4h?D:V!n2![Pl`!S0"p"B&)@$NYZ3+o-$8V>`25ri\/=mu4+D?N?O+@"u -mB9($;unJe!>8s`5=rL((83Atm2m24/?!YT0(mOqFklGhl^42u):q/C&X3aM8N(T! -ggng('LNScT4^p&BLSTj)jh74B4N`B_\%P2dkZbK1>bZ.4$K!;Fk9$*-Z`oqD,b?B -3MILue2c33ERcEoDW`ora#>8]ofi[A-%<(]0Y,PH^ZSmCk:N"o[m00XEqbGNoHbc- -=*+..oC+2?C39gW6B?(iY4[''FJo`B^Bq_p$I%1r,8NERP`:`a56uDG/1LtiLR0-S -p45L:!>cCDdY@FN'6Tm2lPjFec\D4ML\_O:H5oPalAJm$0QefN;_u/]12pr7AAs*- -*&V4G8#psNX86ji,6EYUBt@Cp'gT8EP6n-.0=+",STqW:is`ff?(<)p -gZeI%N,to*qqQ#bPk5>j]$#"YU&&_\pbuFSkI77JL07TuI%Rhd2"A:! -j?6k-n,bXq`s2'2!a@&"@t,3D#o.E9"o.t*q$7YM2m-$@fM+TY))che8D<5:ILA -@)H\4iklq)eh#?u7:t(_[G#J`qfTp5F1>L.='NZ#ole&UDn!@P#6BIlc_L%K0]#H4 -)bMDQbUs8JK,>!8_JqQ&4duia6TNs$GVU0H#6U[I#,F^5&Sa]P@.&t2T\=%2_=7G3 -:,'iOpXq/&k[V7@$H7:Q2QrCh&ShLFSN(^J)\%UV64m%m;\Br.pgX4NW(\NNLj[m[ -pJl@(e+tm?l);K=BH=AiBU6% -KPl-Cdt;&d39e+pUZD9n;G+9_>d>8i$=CdR_e'3AO+@ -5Z/;MmGqZ//#YMMKuJ,'"Z%[>L"c$YX!_:f$TTZ[,AA(DEdB51M6]rc,)[bXIlX,?HVOecEs -6V,rIjgB0c=&%@i?.WB>G2=!-'#iL^C/\g$f9KU`ZL#d'0"+N"4qcei>I/qbXh[-R -9r"9G'=.#c%%]21j*9q='Y-ttX"\.Y -e*d.K@JC_oe`O@Tue%kp&hb`Xl&\E;P9_n,8?[%Au>;Wdd+n%66/1!#P7 -B,D@(`%l;JJ14!C\\L-khV1<[irl=5(7iN'b26-q+cCbU]7NR>(Em%5Y]^\o(f:Y! -<%WeX^(s'A>mt/:S0A<=mNPYuiQLPUGN(f(*2CLub -khqUIVhcIW'c^UjfUDDhL9SfS7JOh1j!8&lZ&UV0R*ci/A#OL0V9u?bgo-uYC5h]> -4%G\(*m+;e-YdaVR$Vn)S_uPQc7N6j#>A?'UI10Zh.T!>nK0"*PEO?o;CR]BobRo] ->\fV"8VnlEjLh:Q;O18qkJlp8KB?M@eU:%-9N+^^iI]D2oHlq9_uUu,M[?5eJjpl! -P9K[Ln6#1bOC9TiKE#FhZ3LGfJsntnc[eW-##,pX'V]V?1r+(r!Y][#@)U3ULb58d -(53%N]>'Udc?ISPcTJ+Yo:FF^Hr!?+Tj[['>_([!-Epno6!IuWnGS&*&4I18H.7^- -G)+H_\O;l6?,ETAZ3#fY1LgM-J7*?2)P@5$^ -]4V;GfS7;T58UG=Ye&FelrtF:Fme)=]8?NRdn6"/D[fUVf:MEeS%j7s6uYCD/tiBI -M,C0j21uTZoMi;`HS=LG^UL@>]fNU4.d@;@(]snJr"X^c@N8+hQF9s8gFR20)[82C -b8[;r'49*7"Qt7B=Ss(mE=3W%\6]YJ"*lf+S]SD2:_K?j0o3q_TX7*&dLpkeK()Ml -a12-jA/p#ZZ36F^&T*KdA6`V<:c\h[r;D6D2#E;aS%)N8jCOjdQLSo4LoC2"UOZK4 -W`jEdP^alhS;3R(/oAj9]/F:!j\Lu`FNtc]3@MQ-CoVX?c6up8Q2=+Y(*3[%agkdl -AV*3K-3hflj%&:"=ZSjLj=F('5A:QaUpT9HV78^sC)eNMn>8H4p@`@Y4#&TD.<&k! -qSh)F2L"fae?U3l<9;2fN%pM8dQ#p#=u](H1u>Xh],,!oI?h(GAo:'IKs8XTs-&?[ -)$Vg+'h*A&0!aoVgY6pk,cWJ/dKX)8%N#pX^ftYahX*bd2eD?HiOnoNp"hdfH5Jd< -KK%c]h`Lg%hWWUtA<$H$p[`j.@hC)1]TC!FBW[G\#pFPg]TB!9K^]H@^UW:/d[F:X -TPB-HC8$^10(:XhFt;X0fXZaIqC["q!N=H/'uK%PO5NJ??6>oU.oG3bL> -?;lXVUG6$C?#='F#O[lMg#XJZr3+]LI)l$YS+>Y)3VgB0M0$KQk7Pj:XRWT`hFi_7GY57#tlMZdIp2UCA -EDYPLEj[iCEtl:jYnuNqT@;N)U#q.-X1<^!ESSh\,5\!Nr-bdArVtdNdr--X0E=Fr -!9+Mgs,[_fcibg0'LHAo,\MkiXZiUt_HWjSWC:jcb\HtbA6;BCQ,UP\TQ1:!7g+l0 -o199>n,!8b&AQMXSSqEocrgQKr%F?r2 -+DAVHB%0/]nRAl(#HAn<$^fTDF:0r#Tn -<([(l59m8'@l?qIaC'Xe*5e$(Nc[ANE]Ct!*!RP?N4fXUL9jIM -q9bidnA+1+###PrktREHc_TL(4W72f+OUW@&Z6cA.T0g49uqM3aF6Yk`?13G,0''_ -TLgQ; -5UA*+'l3+RO=$hKX<[*9(^Gs8Eg%=lLFb2gK76`;mKJq2tq/E.Zl;CG.Wr=':0(,&H%`JZ:R+"]91/JC?)P5n3$G+Te1++82+RQ-F -NMhY'D]*2Wo_>_h1kq&=5aR4%!l86e"1c'KJQ\5%CNG$*Sg,F!@*,N&Ce+ -@?b(W$5cp'VV=`,4eeY -W2PNL+@lcmLh7K[UL>2gA;G&2"O+gqL;>%P,.a#"9[nnmoSlQUX#kBuSdl$kP)oo' -HTkC?.l4.aOe*c'R8%eQ6aYXHnlAain6**V:9crY"j]8>ZG,\*b1Ji.^-5\m5V]J)d*"gV+XIbR?Eb16SuWYJ1OYn8L`Ubp8$[PM7_m:2G=]5*=4EKX72$l9?@8SpG@ocb[emPNj2e8)9GkGc^PHsZkI:X182m\!F-Pet- -*GC]r+[o=)%j=m7O]>Ff@s4B)PtJ)W:;F<+A%&"F(9Wc&g`\(=.ht=p?E"2&;/K9TK7t=k*tGRDTL#)Yl`hK\0!fLoN7P(hG/?-:sh3ahCER17B^- -@W$(k(G=?@=+<2VJ/E]afRj+aOt2KcE55A=2fu7T=,E+3DAN+BUW-h6bB?pIB^MnW -:<#//b)16S1us&?$3[gg&i-C'&^410=FZ<4dc46dJW"DUBJGN:2b-^eNL55?9drs4 --')so13_hT2Jb+5%sp;)?MD-q(XuI;ohmaW(DR*dGJB;6aJm=V5r4g+c5$WIN%AN! -EHZ\i(tUsE&W21rGg9+-t@pd/K"$!QO9K__3#22XMN;M,5R-(&),fO^Dlr\J]B4D4f)lXNGo -0p1-bPZc>&g!c2n<0epLUOZIUWp"$-)-F!)j$ct"r3n:2b*jNLDhP%fb8hoTP-6!.=!o3 -\$'H?ePFmfV:KdOF+"bSc?X_CUh!+G<@i>H/BQA]G.CnQ\j7kB8O3,jW&g!9N7X=l -3JVlaW63AE`a"qlO>Y^-S%'Lq2V2fVMlPH_K3GuQ)S)3g\iuKHQe4^TP9ZLj:19J# -Z(in0j1C$-4,,ZT6*h1pQR6+l._U,IS[h%c)MPCW#H9cfKdAf5Ap4*L%1i:#M6;jp -Dp7B>FLS+]MW9pkaKCaZH!(K"2 -B==104'P^hU>rHbWFeT,.'q5Jq#rl>Tqtt?[Ebb5XRWg>kC#Bl;%dtG7tf"/#qKTU -4I]Qa0Dh]5;nG,r]?Td'.Y\Wa,jQM[O5AYZuEDKs'Gr\MU_I^uO/\u%TE$!^t3Y2cH@>LT*> -6%G>6>*#V,"BD.ng+]++(-LqLhM9](LUi:/8[,WLiq!!)`S"c]LWi; -Rt*Vp>>./%O9E4(7lt_/*0\GIkDg/%j?S%n4*UbK6:OcP(jp>K%oC -a^+eh@ga!"\i8#B(UWNkA'rj_]@/C_S^Ndfpg['V*#ZN0T<,h"XUDb8i*"GS%"@Wf -dp*ke4WX1*VLNVG\=nr=2S5=_iGtEqLQsUGL,)jci&>T'k#88Q9*JtZ,EN, -UMr`Lb_Q#lJHeMS4edM`Vk9`DTFAc]C(t+bK45ja"6pWSNR+<:F.s@mfH#=p*R9V7 -6CO:)2'ZKc't-0e/XhDUaW8kX[VrWeVJ%d>,Q,6<#@""9K2-Hsi7G<[I=1J^'4$%g -Nr7eFr8K./+=j/t,\i/Q]rmQCCpP#3dj9.6dVS1W -ID*Q&-9QnbG%+sq@W7uMNc^'Fc.bU**]0^IB*q?aU:4%`No&CT?IAW[SPB5k8p -6W,`T=>](,[_PdjT-c!$oA=/N\);)'WkG>I]Q:V@A?r5"(5'jR,In[+nD5F:'c,55 -iMU(,W1<0ef/N8-L<+,8^COkj\#8k*C&)H;d1ahBB7&a-e:*)"*#tVhR`.S1hp]8& -_(UBr,B*bBZnr$UAj'*@g7jn.N0h=NY/I5CP\l,gE;mSR)1?FYI1,kcM>r'ns+15+ -)@YP#8/rBW#DGI;OI0i:*>+)qiUL$7=t(8I7UqR:oPQl6O@\G1+i)lL4<9H;P+diI -8gY1*_h#VMCc3.?#,bDAh"H:`ThhVO)D)GY8Yf8JoK`2%5UI/$`M2=1XB7"ff'5SA -8>oE<(5iAa&VM-=1`?gXUK_-SatX]j`RU)YU:F28#t1L"&;WFj&'ZHMM7@I7Ih<$m -K.Luf+cqjXEg]%sQReHHk&Zs'p1lsbd-(%)>pc16WRGUi)SL='@BA-tp3RgWhefpX -me7[Ff(Xa1iGZ5qL`jW;N5\\o_>sA(:a[(g"oM[K#Hc\GG5D(B3838()>:\S?PU:O -2&s`Y?GC16ei36r?udn:h?Wfnrk+lZ1XNQln.JRnXY"&Tr]?24b6:29A01ul0Q\TH -,Oe(kqSL;n!#iO)-tr-;OVB/P5B+N\&ji^R0,$dZ$r[bDcP+b%^$fWTQ+c.o^A:81 -<+@%?&eog=a>,$%,=sXAQR"E71>*/M&_M"@4tfSc-He/D[3eOeoXceMP8(bdbVLNj -1JKFkg)<'3e(Ph=BfrRU9XD+kbq,Q=>d:j@5Xl@h@/rV*"10kOSq@$a1IY0*>oQ=3 -DI>Il07b=c(/GTC(?u(GQqYh@T -1r+b&,m"dl.`b[ddo3k>o;sZ=^@d6n]]Q]Ues/1/=SB/#CYH59[r#?Xc+e.$(A5Rc ->^&'EFBl:K*;%7sC0hag!BQi>K>@/"6n+JFRsj2'd[>D3WiZ"i/9Vr3(=TV(@=VKEY9>r9R8V5i"q]Cf3rBRcbEuX]1/L]sP[.Elc^!TPAm^m:3GrJsAsnmN -j1-=07_c1q@\2bo/t8o1kdeEfK?(O/=LZ;RF4QVs%rA9@47G("(.FZr.fCsqo$`f0 -HH`Xrko)J'Zu"s7`ucK@88.ed.6HQ2CATjTX_gi$fs'p>p>2#pH.3":KG0mY(^c2+@Kiup'J]ar -`sV,H"gE@k)(*(R)^G*,:uWK[R!0$Kj?JFI"s0H"Eaodh,;>)OTsP!ad,Ga)LiG\5 -0%Q\c,-t1*%7S1#p99D.A5@W@-Y*G16Sq3XNcD;tnHpH@F^0(`,j.r32F(/u[q6r7ojPQHUL2P9s_']fK?nEk5 -9IK(&#hQ:%JWn(WcSuV;?uRKF/4pfrQBXg81`AtB8NDraA3hA)?Nj7o`rdO>%:Og7 -"KG9.Z,SKu!E^s,AkBe3q9)9@'crm0IZ[MH8Os;$VZfp=!lUghnW`iM"f^_G_2:`S -WN%D,F%DN<3d"54jG%MkM&0,9m5`"W*\EBr8j>kq8SPk5Um3cm;jc;Z.^EtV.70l\ -qJ8Q0`;H\JfbV]X#8I9W;2\2D3=n3S=)2q`Xqa7qaQXht>-rXZa_mn;Fj:Ic5 -X!r`_Q4qr1?\&M]"P.IX0Y@jFklYjb -22;Uk.Z7-mo6hf>jgeU$:>KJ$;Q)Xgor2A:1;i#%BD%'[b'1_@r*Ia[5"$Z --3J'S,k?ssbSe/dBe:R*oX:%6)H(CO`^^FS`b1m0=&A0;G-2r;L;(l(:a[6:N>f'h -_tC>j1bo=FO$P1)APKe_DZ8KE1Ss`p`n;:IAScB18geA`[Ug=^d47b\ -!?khS0frua]9_>('7$Xs%.D_KhmlV6el^[R=OoXGZM$q;a2$4!eqgMhEB`fGgT%nU -*'Cg$C-.MBp`>(:hioJ=i85K_KicM8PHF72iI!"snNJ8<;+]b2.E!7J-Vt:t2\s(, -`gN-!8'&4g-fj'ZFTTWO4)eN%.+tl_b:Y25mqTZB$J<;'b;W#g6-!B[$3J#bO_k+6 -[`+ao\[oKK`-QVbl5YGUFT/2fHDQGKX25`@VE(TXV_HVT&a_5]"US!Z56o"!+9VVr -g3Z@R:*Afmn&:Sb3Or?K9$ojK^e?:,(cR)Zt<$qm!%1V -G]+0?GLkZ1FT`TM4C_COM5SYEoo_]n7?s^s1ac4an@:#as]CQtEU)YY-p'R,[njSJGi$S6+.PKB,39!5;\= -5&:881]kH\!Y$RJV&6TgZhFJ>Qb*)$^F5YOO^=FW!=J&'!C5j$9ed<2\>csb9MG3a37fjGldTUrl*%aOI*0<&UJG+HqY,$L3I:"IMHQU)=#c(P+Ii -,SIt7/!#!C-E?RE\DY1s'=3T\`7"=uW9M%oVFl6HbETT\E>Z^r&P!MU(UM3kUq99n -2+"W>[u1jB1Y9i4fKu%/LdX+VeAk*&)6hhDbRDY<"Nus=_8ft9Z1N\q$PO&P`_==o -9=s+!C!%'QMB"^"9e=^eFOA"1nIGHQ8H[j.,H&X+XiW=$],=t,)t#N?\h-cp8Sgl8 -`2kb!o?!N#*K":9@Trjhqp%=*MGO_M"$I,d@C;jpZG`G+CnaJ%Mb?1ac"u$./G%15 -oZo9bOeEeaMM8il<1)^NN$MWLI-MHnS2RU`0&ZO+]=>Zq5TD:U9,l5@$SRMH%M&pk -[?4K,OpVSU\BdS9d%KekRkcVEMbqjHd,&,V -d0X_d/-sOkSj9[E/A0RTPO+O=mR7":8V5=rWmXh/>906!X,:SfR2qnS3`@%jda^*P -[7XE38r^^CO,1lMMM)hb#Sl[1b-8c^biC.M_l/.mch!15,IaH^ccE'[:bcW^;8:EL -+t_Kt:\'7:(s,e]mSqG>eA-YVP/\1E6WR2uTG)-=D.;#EDi61\!>#gi5itpKEm+Dp -<[>`6F4/:_)-+X'Od(T[`7ZF4.`\Q(e\,j%F_JeFE49:7Tjq$6X.X!k;s_%1)+u$t -%Z."Ye04.C(o&d,Pm]@Me8b%YKX03HK%ZE@=f$c(XdQk+7km!D+d.`jl&Z^WqCkoJ -b/hJf_c7@skdVS@30F`*8_gD;DV`gc/k@c"GcnN(epB7od.<%('(5IE\361#6gT,Ce&;-:`qR6:J'1]?2&Z -^+e?#\q>,A#q.P2LB4sbZA$;'4i:ODDc*7(cMNAa9mp6*d+l=^6Nr.sV)1oRn[OeU -\RPFS"ed%qh>m$Tc1C:h+ba'%0W`u-JJ-YI.I2p;#9aotQ6"tq@G0$3Mo0=r);.:. -)I?Q,8R@QkTIP/Nm8DU[U/=5:$eQ(GOZjM.#pe>mYpAhHIFVTIdGIsrhdt5CEso!* -?^Q?]0?C3q=[*b@CE?oE'sW'k\O00#M,2N+ceu3,o.<6G_`\.@4aK]W6tLq>Nre"E -5pEBnMXFaRp"t-9:2*B&>6l7ZS^B`#R/']f),)\`3oJj0P23LoD/.Y8[fH16'`GOL -e)]8S+^;@e[p.VGiuH2[SmiEZ9VoNpJudZOe)A"6\<48[)P9nbaug?;gi_&/CF7_[ -*!oiZ[lX:X/dW-ShT/10k40;2\;1h/.a;MW4(XEY>aqudWVO6IFEer -RH%ROV<&?7h3mB^72>n(gA4jM`oKu^TFkD<+YU[-7iLTZXA5=j^p>\FuAB103"p).B?WXX"873T1_2nOFFck8?KQ@!:V&O&*/>df@N2NVW8 -fa0eB4+90ACNg7K<\oQC3Q3onfYaCs65Pq,&fs>EmL`t[;JF*K$q?s",4*)*=CdFX -N(-EMW!o=Km%F`<(sY7VH_Tc?Rb"DK[_haU<`@-f<9!UbBh#Dm%[63BZYMh[9auKK -D&ai?$5aY3R2?bIH5I"RNaBQf],?VWK'ash.I7full[6TFuErs4osEGk-U4^_'ipH -[-Wudj:W^l:nd%s67nU1$,a$5Tjd;Z[1'Kf@>2.&N>5ln)X"9Mib`a"2BD1>Io:6E -geH'l-ATX#YbK(@\m[-`/Cd+QHq/$o9c_+<&^Fjb,OP:V6]nAeVVtt'f+u14&\V8A -'=b>n\r1R4$W`GY5./I\OiUMLD[+d2/ZuV!ot^a=]8RE;9YA;h6RQa*'B;:<..S,l -cE/DZ>A[>2lqp"&TO(f$C1*bt&OTm6"I6E;$JCsm'0Bp7(^']0eZY:1Gi -;Q^FGrt"QW&8scFE?KsNCA:CB0*i_XCTnYS>R#1`^-?@3g'N+AfV.I^^R2n*(P22J -naYaZ.;$sB,P[RV#Ts0O&S$jB@)iiLEk%Zlp;G=_Pl;5Ee_f`3;*,NGQ*Xb#0.68g -dT3g*$.fJ8F0WK!&J^F;nK'/tOR?tOf[=o]g[rM9aerg*WBtJST/Roe@1H/OV%NEK ->F't_._og$Sl5Y5oE?9-%3U^,c'D\o6_?&T -2`B0_oRY$T]12M6 -P[<_?G%1>%Z!'lr)@D2&Vlqpel<=u&Co+Po$P9i5s&!%fU?,HTo`nH?06?k5otoQ= -Q"Lmn+G1&"oP:ZJ(`f4URqkffHRWBL."_@(ZsbTS0%)>nO-`UFaVaRs*Wck+l#+Pl -odfc,F"6Io'Bi@;MuXi-Jh^a/Bf*do6c0&FW/bYLbded -[;d_bpS%H#i5:<3J6t-`fHr_O/MFHQ&R,h^>)ir$L@osl/Cc37B`oF>Nk^#?4 -&#M_1f^*Z.)bD<-3=PUI5EScTe1(V3NCBX?.9(V!-CIZ-<,&a$Ki4aIXB"RdC?9'> -,8q"=,?Zjt;EC<$,r02jHJMf7fBu]ZV8DV@]A7BA]@HWHJ%f;DfGl4K%>)N,EB%s& -lu=J@b[sc#c&Wa/`TCoS+c*'r.1h;g+b7XH8Z'r#_]b](Y?S*Wlu\r:k]BJ,(CPr- -M!!c%-PM>i*&-T$4iQIO[XlfXE&k)bCH=NUTP-5&&I?qF^C+T/S[2q/QA:Xdi'#uOY-P;rEQoM&<@2bj1"iIhndW@EPZ5Yr-.!I[OF -e91.NTVlrAM.)-^'oQO&Od1o;fTp*0BA(jqM$gANWcJNn.%;3?/P2UXDd1=kEj[8& -AD(NsZP@n!h3VF'?er2CV$a+:'u6,>b>e"S06!_HCWr!uSTs(ZHE2NhTr<"$c0:=; -RYPZaNIp"hXso:efZl(.7oLVOZHZ$BoX8+o`]'+BfhOPmjV_Z1QKB'26H:B$J9E"> -U$F,MA_HA0c83]I70,YRQAF5&Y<=ri52g"`"Ns]a9rS9!i($JPi8%sI3mPXMmQ9+q -A=u5,_`Zk1dYLaJ"coTkpq3;+C_MJkX^Ofbbtdp5""ku_d"FH?K&8m6'Q8Xkkqk1* -aVYLt_f>U7a2r?AT.S4W*2b[;o6ekEch#s'4.+`9,a0uTEc>1s4-GCt'2`WIB:U,1kB($[V&L#QcgeI9?GQI7IYZJGrJ]5Gh$&j_U\X2$Ldh4"_/'XS;_< -i%+t]:aQAtor(VdYVebJ@?S7.#Yl0#pk)%52'e8s[SIP=J1r#V_H6gFaMRQpbM!E/ -Q^I0rd28ei^<`UaVBmMVF:mO]Ldq, -:+8V6NtpZM=G[E%)^eNi9o6IEMb***)>=-Ycl76qAt7tiUNDA)F)M6LPi"u0FD$/' -<^4oM8=IQ0HQ*)t?0WFu+N,'9N8f[[+GBoik4&A1UhDVTYt:SG7XiYH.7)AfN];Vc -REU#:6a$tNb#kbpUu\M?'!>0Ufi9Q!A?V:s``a]'^jP1)^.H?+E\`[NW_`L5EJ]A<[jT;HcX`bTnuuMgc,=VKbQR&KIRAV/\is -56Y+V"J^(-K9QM%_SOIE6ZEPg3Qbi-.Rbbb/rkg_K-'MrI7gM=p8V*'X]4Sr>`4_h -RP:sc(okH"1Q?uZJi+o?^snN(Z^g&5(7+#c.[rE5H?1M@rn#H_=\m2Io>eB=en6!% -3p6a\et`MP'Nr/@mCgBe;C*]I7*1ZNH'1kToiQ$QRBlO$bZVP@B5IgBZrVT^Wcm6n --2L9%.>AA/=[5^nX>+,u3StI<70fp"-(*e]*'@r2_jRm`Zo4*,>W,]XRs]6?pFW\H -k?nUZWj/359^80o`dr[KrBYWCdG/NK=!NoM3+.3ChHJNWs1pYmo\C(WPF(9!R%^tYRaduhTIF,>-<#!lF#Z]??-DAYD1j4 -2:SdTcI5g0#goVH*8s(3I*r1)g%q`FuUabB93k#?#ut/c2PVF(B!(& -?aQ2g8YWFZ(R-rqZhF[9aB2?5_Ujb]0E)pF1ru2\`Pf9brXI=9QPjWHYmf"8+0#gA -Qf;lL\@;bC0UUiUtPJQuEK)-p'1E,6r27A?"r_XTaT!>%K]:E\ao3 -b6I+>*,T+ko(7Llan%6=;uCJ4iTtDYic$"+gL3o%f5JgYo:=-pg[hrY^fJp4VG8_j -q-Q\OI4(n6^7E]`KuZAhEC1g)`j"pofqWp."bUC\][:O*M3B:@]7-O(qJE#lmATDJ -RciGN1$L]@UQ^8/k;X!sMEWpWZhN>)7()5+fD>X@JYd&0G%5@Y8!8(?^9-;i6iu5P -1",H(27=8d;U]jUDYXe@jF$u/#%b$HDZ)_i\>]el`'4cY?utY9LT03\:T!up'BV3C -SKthUgD4gJ\_uk[GO2Q+S,*W2;Q^)tE?(thm:'GK<^u"PDBuA$P@rD7D -qZ*M'O2G(^J3n*IS>pLnpTJ%M&%;Ja./FK,!cTdoYV?6!1ft8D.8IAu`QBs]^e]q4 -/8gEd&2OK/3':"+4qIeJc>;YH#lr/I2:(+]O;.eKirtN+#Jpn07b%N8ir11TBJ0)a -Ya"j"Eq57/o$4P8:Mg3X!qV?Bi=LJFE.H=&.'bP?"Di<6&=Oe=>/Ub7,qpPO!qcn9 -\IF3>$:l)N%Ye2KIY[3=1#gd#?uD?k0O=2($S_YiB@R%GJB)WZ$W.KI0bY*kn:KY! -qSHS9.q9/Y#WKtt5A%#2,PZX@3'V$%C^k@E?sMcc4DU^S!Dtn@j7\uIe?/3qN_fd? -_p3/g^cLeU8mk2)?qUMl`pTV"!>#m+O;R0m*9^'-k`:?"0e!]s(E'KE):=iinYI-L -r7u5'(rd3SYe_2F@TY*:G;6'8&]@.9@+>CT(JLK;.+&jUKR<13C;k&nk2MsEV]9Z' -6,UhKOlI02;Jp.+#r1`g-pm^MPk(m_pCXLu;@OT8m3/b"2M+V6iQ$'&FdBI0R8GfY>/Uu"i0IUZ2%71qa,dDI-ejJf>1U^%hbnms1h -BdRkJp@0.!U2'Pp,U[VY.S/Vt-K?OeSLK>,.AiVa"8_:/b+B/0GXg7;$!`4!UFM&0M=6SO^/WfeRsnDM'f)'i(a,#`27/\a12PpS:,K[B_U$DA\o1+tUNIhC;#W'?)noaYBi>Gg)1& -kF4SIOSr`G3=UpaP%O!3k*s8uC=1Q9Nc'h3i6-c`";<,hmXkkOZI5g@[hHqJPSHJ@ -)*:e:6$+*q:NjQ),nRF7GZ+9%oJJr]8NqZ7*s9ZU$-+'-qRVEn#BK&MPT`J;2arrj -0(WQ[1N]?X]gaTW3E0]]YU;GQFB@u3,]U:OUGYQ&,<6=m7Wa`c%n;rr/562o_Qnob -9NZRnP4Q%f9(Z@eaHiRL]fZgZ8$oTr'ZEVHG)N`#-I^J!'X4nI&3hml(C#LI11qT) -i\Tt`"GJUle+VhKD,7!>5P,"@'F,+c$Tmd76T!Cl1rE0ia&-t";6^d*'Irp?qb`V1 -;<<7n,b7ZLV\XeA7$RV4%:hUQi>sS=79(L/oi"d((@u>9,S7sFFDWp8O\"#&4#Ddo -P`I&H@2fl9[o87qZY)9UCCVPtHs)X?u5J:0g0ZpI7,'cZV[4@W>[/BP8Y:p(U%4,qh,)5o(,Aeg)_V&p;FJr6FF_'/N%QB/>O/E+?sQ -o35Z^8RZd8@W+ZM<3960M`3JX-tn@oN/jfO+Cddi7gI&(O!D"mdkP2&a\S2n -/d5ZjQ2F=a!-)jA)j[182Nr#ZYATZnDIr\a"HO!-q*Pl/DRT'?f!mn\R%+I)<&YAm -ckQit+)j.,E#0YT.P#(G+(s"ggK,t>-k1562.uY.EQGV105tIR4NI/(Ep0NXBJC!n -`sg:H"W%,XpLPI*QOqZ#F;I/c2ePUgV[g/9.+`Q:Q-t*oRa,Dc5ZA\b' -E>^_FJJ[o&[e,st$UX-RK,>,O3(3F@HFL<*C=kjKA+""^N-ll*CpI]!,$34gMQGAX+WbT.ILVd7cO]?tq%KQMMo$H:=V_-'+uNH)+l4TI.,)RMn\mk9D>(%4<"_Jf9?B3eIg. -`E[>2S>hpS3gX<.Fcg0oO2Ln-"50_kdQ`pBX>[ndq'i'Wc)fXG1qM510RJS[NmbI&[G+?c4/'64C?!t: -ld/57>H4M\&nR%%pgi//ec([0o7n#K'dk -a4rJkr.Qlu-'QZ%0fC2r4Hr:h\iTXsE@u:F?omf>VV.K+aF&MY$,Of4\K?qr3%]'Z -HgAE8YBKgQRF?/lm"Ma6fUI3!+U4^N2&"5'TmCH[b? -m%CsU>qiU'$J<6'R,+-+T18].G+8Gt&YmV?:!PnViE`rr.>B-AHmTN(-:t>#*7`\I -D0!;p>8pLFIGY_*ZOTrCZ7D,bZ`cHbk$0E;sh<^nc'X#50GsPomDkqDlJZ] -Ij+AohJP7\3R]gJUM%VYo-B["nH`YJD<5M/=Qmre#`-Zg,kpO0lK,BRV^h.B!+D -nm><(=paR[WV$5,r8JCWl%gVZ@I^s8m\]sP;`*VGLi0m]D7/*LIfn;.5emjqL9QfIKPr(T8OkO]9UorE)GB+1 -l'02%+.Gsdo3'$"FZl8@kEH;G#)P^B:oP.49cfQoVGl`%)KeZG;l`o6'h["_[ook8 -ldd!ANko82=`"q$lJcr0Bi%ONV2*!l89G8Y$XNuZK*M1W%6/Cu7KAkcCQqAtHM`FZ# -s/m%"Z$Q\!qORWg,Jd$e;d:$4DE=#s_8H?Q0McbKT0AWu>6/5S52#hnEa,r_f(3=W4n*49U!6mfQJ9* -YQP7O89'TH"j#+;O!R@L`,HVK8Rb_cYjZCj.nOcoR4QO%`4ITodcA.t9JSFmPU,KQ -DN^it6PD2u'855JL$ph;&qckH3pBFXUJF*7Y%7]"[;B-Zli]Tc655+s5[]5i;^+3G -Kg?PF&Q"\OVW^hJ'`h'.o^tRFdieENJKTb(&P0DeFJ1LFnsn@!dM%UA>?8/NBjFd4 -h/cn(p%/AeZ"mPndko?+blp1(Zf'pp -&VWMI;VP1pOpu9ap=82@?5K0oH=$?O-#lm#h*TQ>FP&J\;%un4(XA@Yh(D/4<+uah -13;u@^I]C?*^A'AF,Zr_P[>3G\&p^c?P$7.OQ;g!:Po@[i-?DU_:E%R^PR)[LL\_T -;f64CZ:0YHnc3s&ArK2,%UQ_9FerYQ:7.PSbT+nJ<]VjoV%Y8B"Xp7JSSd-"a -2uB:B[%R0:jb2SP9GN7i;f*IaedcW+VV$bnO=&;WE;j?-SC#.qBE/K8'E`k:F`"ku -ZbB9C?r%2+TS5@AGr>ONnob\9u^D&nqS&Q5$clg6H+U5Y3H%D]:"HCOl63 -HdPhi/jM]/9W#=.6s"\1SbCp8)C,Y8l.NlC5RT!6aPDC=ji0uHQL\[Z8ZD+CjbPs6X/mQ/:Y$0N= -+YY19AHSok&P6/?-'L>lb%]<^Vo,BQW:"4DU0TCLblaSZl@Vo*%^mQ"C5AudZUAof -eS%Ab-E\6H*bX+4?A[@#ENO5L^c6K<$Aj[td+coF)&XE%)KF8MQV,?GW>.7/F&Q+" -a&bPIks[\-2"lf*l?Q1j'g\d`!i%fE&@MU=@_P\!+2(U`a\-)G)q_:4pnL -Z@]#SqS?+2'jm#d^5k8j*2+?UP>1Y?&5Xfq>NUbN--TP:f6Ncj->Kigbi6@gqW.uj -omN'Fk->i(k#<\OgLaB01q"mjMSY`+R7O%u6+[5+XN]m4()Yl[$K1hbnUi,XrJXMY -]fb3D]2*t9%n'/k/2^8TA@C -p4&`/]pNkA@*P*h2ctui96/S$TG0l=k1UDfhbDA,=B>T1/#[^\]f`nV'E[)r2#3iXnP))lVM<_3KA%]ARIua:$VC5 -JmU9i:=$3=VbL$kF[!Ff1)E>al_RdL[;>B'feBPBJt!`VUk,cj]%GpWW8( -=JCXfc+1Vj:1M;MO#'J:WLA&:$eN$!L>UbOQ!Mm1aZMdHB:qtk'\3N#%sc3/)lsFH -4m^OgO$iHo;5.c:MiHFJbinrEUiVe0[*6u=EGcfBG\9)#*:KM@hLSfhMu%Mhio9QY -H.%!8,h7"?=*4?EW)k4e;.-'g!lJjE3`eW3IT%RhE8e9_,/l@";m`)r?emD!9T -c*=Qpk,Ik.?<$Z_^`@A)8FsJaM;)Qr-05(2PdbeWoM#F3qM)8e[kL(B3IS\ddgLe) -g#4mQ#I=%ekOSV%angKGlMVKJ8?E8V6n2j8rh$VAlEEb6fC.5lB7LMb5SKW>p-9Sn -^a&^^o<>GDW'55ZNDoiuM+.M3_3:YU5Wa%rK.)YiB=j($)7f[=>OeDF]:h$'Z9&`) -.K_a'^bSeq[3>PcP8(ZuBX^@J5p.//'$#R(UaDKG4N#DSKFb>p+Yg&=4IUp7PTN2T -BX$.u]ZOQtHd&l8ZOu^M_:[b`>RNmAXh@mX6X.tU7T3CUkA3$0DiP*)>JK[Y(1d[Nc77:5iUoA8n -dN4]qn"rbJ6Q@gK]JW*a9Z4kD7-W -\bmuuiaBVs-QpSB^q7OnZYZ_MC6?-L6A-GB_JqKNLH73f_+ODf6ut[oB,.`gTd1P- -ad3k!`ssA1`M?DGiV]5;ei6?Qa7P!QZs#L0&[!??8">5WiSk[I+PmiYnnO=f,XI)t_apb+=ZCW#j>`POZ\E!i( -W7E"o>=k?bP3ZY8r-l'=^8B$[_QiC,Wq+4VKY47pb=SVL.r[DpEl0.Da,FmR_eP87 -`]"PQa3i85jEO/LF3&?)$kr,]kT6.B*=68Wb:H@SiQsqcb08YB9X>_[<)BN/`iOj= -+d#a;iDV@NYHEJW^+)q[O`n?FG+_Nk*c0AsOO&I47$dG<8g.9K/=as9iCrUsbk0pj -/EA91Ur,5^:/']n+GEOO(n<>?6cnGtLsa!.8tU4h:42M*E`&E5nP:%GWi4Chj-CD- -Nl]mOJH<`LPH2kPn3LRp:SJ7ee87\o4A/mt95@/,K2EZ-G8bf%Ms\eh0_&+mp]&KhgHIkdZ!8i-:gr9gbIbWTbq;+29s -SJTNJ]H+hpbnRier>6:9dtf0jbuBW3Ctuq4&B/qg6e_&RN7u\W?;8p::#biL,b)!f -*77J1;2m)(SL`-h(esW9d5;nAeM'T-_aom64$i))P[4@L9[XIbO!Ih*4Y5'A/5qs^ -275L^6X*K&&u*Mt[;>K-)s<2#p7)*qUn&_2I/-\Hq6ucJ-4/!gA"p0=Io'UZ:Z7TX -"!H*gR(hn<9.^4&78M9ggHge5eEo]Jm0D/n#>gZ%:oqONX\CO6bKKQSPC3plbn&$T -Tc%lf^C+hS1=StI(=T*?,MIUV3?YXs@THc'CTL5H<8h)S2+85 -"X-,"mYr[1An/d/ZUY8_DTL^e'["Z( -ZW*.:gdT)Zq85SE+YNQA.AN7KA\(TqbtahSgs+,LrQeaYcJ9Mf>p[m(/_"&heQk&` ->tro+?.WAAfN`R:\bhKiC[E*I+^Np\?0[QiYsdFHiEcgYPct`qJa'p[qoeXA)9UVk -Ki?c,O&^6D6+Y4c>%cP(Rmoi1;M>'T%HkDfg=_/^P"ee.26+jZco.sA<.gr;`D]ep -=k-76')eOuN=X`.*a3Dd+Zl-]%"-Cjq,SGG>.qu74L5??g,"o_ekN@+7G;.0#RRW= -X0g+(AdJqr<2?'J,01<7oMo,7D@L-?drck+S626a]@$SegYHu"ID8gHEo>4]@%HiH -XrH?,,M%P*\h0%Qc6,%,aHoWCcUoWkZ'%kEiZeIo!I3??387o!3b"0e@\tV:kr[Qq&(R7`N#X0hkFtSuPj5XGu3=pgoHfWu=-0$m;@^\>X^+eTm4(Hi( -*%!WN27hbd5p>Jl]"3j45t0j07:]L7_p1ag:.OAZFK!>Y@8$2sc$9A%B -Z&I%u$K$FHhlHKS^/P[#:Z-%.58=C[(.#EPR(VKr_DH^E0SWn><6rhk<3>uQDHW8_ -qgmj7>*]/o$3A*T?S+q!*SsP&L)jlaH=0Z,3Ls\!-2?I0Bk<9M7023&PYu,H?lgKO -U3M8+1lKs5;3`o./lDa1+o[minG3[AUC>Q./f!&oWY[$ej6)8HhNLaiX]iGm;b;c0J -;n\7c;,r@#OS+qd[T),Nq2&[RhYPH.L5(jL;^FN:`[&?"VRr6+@G5a>bo1V`TcG'q -WKAp@Vma&#:;H5>-ed;.P>^/K`m&0Dd;9>Yf3H\X#-/3pcP9+Zi:SBKK+#rO9%^u< -B;Q8=?@5gNqS\d%kOn=]-IhGndI%e.DB;m2Afk8qj)-@?BRYc-G)AK:Y3mclDH7d[q>#frm,JSmI'5ua\Xm@R(:6[%s;GSBN%mCPYUV4rp_f(O%+ -!,pR`mq]9k]B!KP>&M6XU?;Vt56Pq$"`RfDDh?KP]gAuuP@JtP -gNBXe+l6$$'A7B([)07j\lHlBGQtD0e)u#hE+gp#hb:0F>bMeD&r! -^+*qj+sWQHG8TpI..^dlF)N;S\Zn)<=-.YKOSC2cm2^R(?ZZ#rOWfuEPG$WK@"G,A -\8[;#A"G%-7Q,g7gS4b6JcHnop`fho,(`mj!dH'oE%(QR.!f6q!cTK[gc;'QPmW\OUR%5j'4V)i'si!45o^ -JIA-'6(#lJ5Tg_3KYk9%XBg]#bXNg>ABPoHa%S5_O]7W=,soZ4J\^&M0Gk-c,(Wjp -;[+"rV/ihc^'lQa%;3V23?5@m0@7X]0m,I?"hGC+s+Vb<`Bnp()h+d[,t -hTbc6f&'haj.P^17b3^;n9-kkIm7l(Er.oCCZb5s:Q,YQ4KYsH)@#YWnHcoaODtUn -lW_1-2paq*!P/h9(D+J\<(@NgOZZ>P`3EQC%Qj2[;&2V5"D&%[Z+K*;7M4EjkeZ`# -!rrQ[$ge>>d>X2/8MTRs-HVEuQRKu(PbBBactk?38kWB@Y1f[=Nd$9"Y4$h2?[$8abZl6%!Q,\R^NON]Y -f%&)eh%sAIG25**fm$fSNTk`Ff9PlPh`&7AIa-GcZNn4m/Gcg4Qp(1shq1sAL#L[% -+S2K;cs.>AkRuih#,1O4*i+Bc+tF&\n@UGc_\,/QAOu+c/`k,7W$_nGBSDn0q7:ec -ik\PIS#Rpd.@Z(O@$W,"_ZL/r.!_CuR]RaX>,g]dQDnU'b#jfZA]&K@2WS?@AgRbD -eo-OOf';>-"R0#r,&PL?Y/W1@68CB8bTd2(mp"L00^.idT>9K\lDogug6u*!iV7%' -`UV_b+ia(*6s[sKS'Y=de-q!A!5J:;#r'KuH593?9ZsSMp -%t$%cpDqn%$ehpoBd:-Xh^@FT4uXP:p7=\Ticl'UK@kH/F;nnJnecB55W^MOk'6n* -Vsf!t":0ZR(4oHmFo=8hlK=\:CBq<4f&JXqnGZ)r7!GS<2r+b -.24O?HpL7>M1L3$AF/>SNAGB`Lj.G@IAd'Gj#)#f,pO"6rbh5nuG`JGQ\W -OM$p3G&mn]ip_-Lea"eEWsrGUpc%P9'b_uJ#us&I-P5ho6g0^E@Ur,gd4-P4fV9,> -PZopn-5j6%i7UXV=0L]Zm(*aN)N/'7"PJUi;=J8Lr7HBSaU:M(Cq2Aj8H)1\- -,Sc1R=_5EcMF\Tf(II%b$.9fjKCYa2$Ak0fMg0dcJ8isG?tkeOr^2A$C(Qh\;'o"3 -Wi\`Sf>EiL0CArj5M"!GgHu`n9sM/17c7Xt$&UD_oIW_'pFbRgF,jfS.MNGSOMT&) -1=69D.d5+ok%)Z'd@OsRa.eT+UsPOk^#p;$l@[F"!1Us)DhF:-J=A[U8-e5S]"iE< --R7t;o48*M3NSL;KYO4>>UX(5]tYkA:3me*`"< -A'Yp_8eZPiY)(Jo+\([\*MZS[N_LnFS_:T"5=tAR;@6DobtJ:<$7Z1X$=s>`9f8f* -I9eB=L9;\E,A2!JEN7H^)Sm.W<+'U5WPsGn_%7go;$7Su'jA-3@P!F.4mg.a%97+G -CN.(T(TW'IX[*(50#[%XqW1stV/SBd?7mouI2D4WF0E"&^K;3$ -:)l')@Z57IOPlKA6GQ\3"Veg4@*p,ai)6l*@SE,mVdi'0I5)nNcqBJ-&]-4k.j35? -WnAB<[$EV^5%&g@SD#CPt:ng7Zun>AV4nP -D=,#=n@i"V\59c\IdC@0[)_6##*!03'hk)#?gf<$][d/V9^2pJ-[Vem'NGLfCZBfg -_=j.KD9j@mnO:fA'>9`uAtKbVJBrk7Y4L4ZhODiA&T.l!;20[l]HZaIF4-iPl1E7- -f^&$5*Pkj+I^!AZO3'XGI96.R@*DQ,nHLP`VH(h8f/r/3nXf@'I>Y1MBP"3L8oM+bc^EraBRLT* -llh[3=iNCR&?&q'Oc42^Jj$Mu&eS>h+1;dZ_FdYcdFp!AP!gYR!u@j\fV+OsQWPXJ -ONuHFCj3<'h''o(fl#N=6B["D4R=)"AV,g\#El7NQZgi!$"U<,A6lpYi5$O&SX(hC -+GOa([C5ee5a[8Bn'$]5icFgOd6!\:DLL#kY?hMu).D>_f6P#*D@`AO_g0$(h*(LU -k$R?4!Wu0_JWN&1G.Xr"i4#&'Du8YRYChPsV`RojRnkL1l"b5*'?9f:#N/#I&i4V] -`]3-"j1LkGEaDas_4.DpC$Q[XSkk@Q>)1.#o,Zm%FcY&79i7oh,%PHSOs,9IkKpLJ -Ah)%6bJ,fUmZ/rn='YedP[qulNh!+/=pO$n6!h -HfuD'S%2G3B&)=I?eRZkP7en)KGK:4rb'Jh6mNYT9>KMZp2fYn$g[b`"88+"m@Wk1 -K73JCJgZTgqhsV<(>]/g\1IXWhf&9Z:*TaXT.Kr26\AGoAqeYX:VVpg_U$O,0EeNE -7-"NM.IKZPYR(>l#6E/U!U_qe/m\cqr!*](!\cB$9QI!=G,?m8a3[.Nc?rO8Jqtt< --]F5Pcob1*FNd;,K>MTXDOdM6T'?Xql>4'5Wjq?\``-M#WG6U.E/"J6EZ!'UB7a:Ut[@5@ng"3Md#c?@O!O*A;tJ@c#WLEFsa>; -B'k$UDf#.YFSCVop[+>bYCu\*9J<@@A+1rQ79:1X-m6o5'bVdeZK!7N^:3ai2S5_a5 -")Q,6k7%Rp=Tq6I;Cg,SE0a;Edg0!+8M-,mK&2dRPQ<8L;@6/g@;ljfB_XP%a)2%5"BeL1CUb -9[s2T"U9-T!oUG9N$]Btu`.lhR;JWI:$1D'L8O2uH,5."H -fKq@GNJuNpcP%YVpaKaam@`/U_R?ER0-GeKEp"A0TISl/-Ql_NO]F6b>UNE.-'JEW -l1h2$mXrM.0`he=+C-^C(GKLb(iTj#0Wc.D^DY6&i:+'.C=t?q[2>t!)/QDRl2rhT -*>u'22$2GM&Y^k[6LSgcP"tm3Ea(Gc"AXjE)s9jKo4p:+D)]YY*=QR$Chktm3?@*b -*\o*':dmBU5([0/"@t(qlC_f&q]F`UklMb]1Ri+1Ti#\ZbZOhb!"3P)=bT"1HqX7_VnJ71_W>P[+I5m -k_@K39bT6:9Wp=KhKrk+il5l:FJhs"WhAt#mh9a&PmpQs^JVB[Xf9N0%?,WF0i?3G -38d^q1YEgl3/%N*b!P;s&RLkraQSSIa^@.3J49Zl7ll5-Og/<_o5Il,\BrbKHrJHp -E*2;r4Jo-=VeA^0W%N&=V,oA@7_gN@+:bq -LcnkjQ!3j\4=E=ne"?giM$Tr9A_(@'(2%4PCLkmBr&/Uid=5]fUAeur:!*,b[Vl$X -i>6Z_)3=@MBCnLY-QQ#:*KS#n2LB,&,?bK3HRqfeG,oDE;/=a]^Wp"Kj8(MrHD*j\ -C_/C$2)eIBg/Kq[=CmAAi(.K15&dHU$&)!Q`E+%eB^-tU9e-fS[(j"MgsJIO%6%[)u/M"\3KN&!YG -8%EI%+]Mq$dfZPOVpTK@7A`P@'=K.Jeq7s6"+&o_W:g($(!@\DKc -Me@68lW`q!0<"#CmBT7U6j8lI-H4#U=9F)(@t8e5J@H,3[psPOI<+IuFT'B -*X3&l"\O)CCme@bI-9-!mF*S!BRGR%j+PHu)hE)'8 -#1fFW;L_u4pMqeNfaCCO]^UTN@G1Kdhh,ha<"(3ut -el_8PW3$KpK?/WJ:=+fNA;JO#=dJu4(BEpVP$a#q--1h=\E?knPE+;aNu7JL=R]/K -_1?jeO98$YAQH%0kcEGJOP(6Lq%8a7'ICOm<@Eoi3005j-^*,K:PGD/(KrupVi"V1 -P-3\cJ5LL,7s?i+AC\V3[srWHAfu]^#""qeEBSRikBUM_H+0Dl01T@^VdECrHM./^ -1fJaC=%008HkO8C\uG+O$5/I -rI>^sSHC[=68Uq,eF.$iT]EVMnoZ?G2(`QH'9i8gKiOe[ -#@+#B0r=f]-KX.$r,_K]OEfoPuL5:+<^36:E3g/cq_ -K\G=d>2ucCRKQ%iT3BX>3qog]qSHF,PCRG4g8D..pl(V2PdbUC(NjqPX`r=?6=OJB -KRU0+TPu+TQFUl?flAiNG1D^T&@/F*=1#FQ]+N_Y/(P#p;(G,A="N[,@H.8t@)d,` -q?eaU]4.!RFlisAC@\>L/fDnep^4ER-$3@P\D*3h@l(4`$+[uDD2Z3O.`mX$j@%!: -,0YlMN0aZn#3Qr>;>ZqDp^WG'DnO^USWYj\UJngpe",7E24/"R\iZSYVK#J0LF;kf -48,4Z_8"XS2cSh4AB1EAD.cZ+U=qc7\7r\3j1oO3^7$\Aj6`WqG6^*S_7USs:&a2? -jE(/ubF"4*HO[o`2&HG_VLp1lgd\'H1<>/k=%,?H>JXC.YobZWliiZm\gOK"ZW>`5 -`8$!aLQT9Z1'RAP=R:Blem45hJ]Olj^"M;74GCh'X3-Sn9':1YcLfJrJ]N5@bOhkg -ickWi/CbFODq#em+seUg(G8%[E2F&K($AmGW\GX\cP/>h[Q\2qT+FOUT156`efW?S*k$$qC4EYhBIhD@.9#6iB@Cn1+!Ir$;OU -c7c&(aci9iERig*-Pnfk?!bfVA]u04?"V_8jUbIh/S0VHarAa\?%^e!c>_79MTTYW -,=+f_57FhLg(GrLAgs[R5Vj_%]F<(8V-?^-+/HO_L$+T5"S9B\qEPG_$b0-N>Vf-" -CTmOiK^ImX='[[g'r*l%1Ro,T4lG3\kCjWC!*V89RQ7+&3PpBpf\A*Zh7^u0Q?GAO -`10,n4@RjC*T=^^iKhH>YUcTFe"Rm;V*d"WWm&[ZaJXBs`h$)*-$9NM.rKUE"l:gq -SbZ,DToGXTj;r83)$VHXG-'Eb$(R9Ye!sOQRbV:Y-AdaZrg"kqTj:dJir5_9?Dlg1 -1i06dbF,!fSu(U*@E`2+bei3c@$$E7-!S&BdU8tte36[;J%&b4C\Mtt!9c-f1m;oI -8,W@"!osMsKTdV^[U@Z>X#-2C51O,>-Nnm;I692H*"N,a]"jmh!-Kp-.bRdBI1\F_ -rA4oJ7EqPD8,knjdcWJ\:'P1%E37"m[R\npQ^sKF/aZBb*qW\Kk\(h[l^r2o4`l?, -aAUQB:A]Z3gA]C5?JGpBWf-8CpkVKD7c? -Dk%j+HjSRMb;1O)gjAZXhq-Zh\P57:P8iS@4ktNu$^4r@[+'/&nS5o@1E)5q -:e2QA&I3mrTlADL1*7!^7,h'GN*[qMMah3=Z*XpY2]E6;1-rRA;'hJuTQ$jZ^,n$. -biVi,N8A8.RmQ')fHfT*5(l`[FBR-8Gm:*3Bl`K-)Mq7h<,.[(I"Z;t*=dk"_;OTQ -+0*`P<9kQrX])U\/QUV;^=RA6>cnl)[FXki]j"lS8GLb(2NWpb",ne:c$R+ZnQ=RY -58TI&A?m(8[T>2Jc"6KlSE>;aU!Dlo)GM!!%p0lRLVr*F52U(aRmY1? -&V.N!/Ja5_@\GFp5KO=gK0b%/B:[E4oQm&l[n&7n%L3,'+UF`;-PhUD@f?ANIC]#f -]mHr,[d+1'?uTVD-GluE^AC-ds6JVC^b>,LU8B"#Y?MNYoZ.m_J" -Z7H;<&ZoiJcDe3FqdPnj+GjS9ZKu?2l`k9lrmRi^fpaG"l^NWDgEh\7n[n73`1.4M)!&KsCl3&%EV -"7UaP69n'L$[=J*Gcn(^Wi--EMFAS>=LH`&gJFqq/$9%c)InS,#sfg^X9D6E:E5r0 -P(=E&UV_l=b[ae1!J$bt=FH`s,aH`XhLc",[SV;[L2b"89::$!h>=rGi4WrsO?Wd! -KZ8Pk*bA$5R5,?O]8!:6;(k;X]tm)N"E6[.ST]Po:&6E%#7TUDFA@%2$/:"b.-%\u -7So6U<,0C/^s=qDs.*OSFl\7fQr`hgB9S^'PQAkO7qe/0Gp"A#Um%XL<_Fh;R[:0p -JiYZ^4m.Y(U?u9H;49L7)SnchcbLIGW^ob1jW@%c>)uOl:mC1;7]#Pe5j,qQYU*Diaf7&e9oG,e\8FH).9O_Mm:92!!7rZFl4OgRE%%AUOY]l!AGmkLN[a480iB@`"oWO -VT@Eu=_b'UX0p6A_STta87>AHKso"R>J"6\D:O`1WNgf%Q.??gi'1AfPUqOH\ee=j -AQ'0P03k>c\:XR>%1u8n`@.Z)K9T@GC9fDp"'c@F6%+\7\hUC/*Xn@oN=)_@lWke" -(BU7.$=PMS_n_+XJl#=&8i/&'^q-iS>-86+Q6$0.i!bs8/6#[SCg%,f[oW,e=c4CX -`#/Uk_JUH"R"l6+4@l^-(dZ+R\Vhfp_(#pEm=fIK&d0nI&V;R&#oM/9X9hlYZ$F-o -f(._Z1N'TtqY[Ah-;mQmQ"FWFR*$:2.:hKsOE.V=2ocIEJlGR+TRmqH(0YT#G5FYV.&&Al@;U!$P&hhY(P0I -(tGO(&(%inLZa(,fB>LFTp.3);I)5YFQEBn[(rNch&B!hHXNgVFqi\]BqA,gOj6pW -p?>0QUl/`;,_58i4!S:PMr(\ZR9s07'5_R%XSI#nU8I9OLU2.:V65!!]N<8K3NVAp -">aM&,-?R.G%TTZ^s(=I\G-T('l;YEVA\KM!4C3s>01!cXQ65CMO51:h\o-t:QeL< -D9gGa40*mN4p5T$SX!j.?Rea^gk?TbChYn]!p0kcEHj,;iuA_knU<@9;MP'A*/#8- -mJk3e2]LiuH]65Pa1LG1p'3>&5_S4r('>gI^u;:NVf_@4'l[msiOCgQ$b^bee5M@C -LB%J`p(,@r@`ZagHNJoTV\Q:r\[OUB82/8_e)4O?I>>#Gd)*+'In5m5s3 -'\=a8LuD2tKJEfAf@(/L*2f"kXX,Z4(aVX5;S&WH3ebB,$d*`bfR#GDkj!8r9u)1K -AhFbcB':Y*ViCqrQj]D;DK.!B!;B7r=$uYU>G=LsXCq8CfUnpeErSGUlWj*W5/IBs -?J)f9rEMi42#;2e,O59#g%t_i@\i<[JX.YoqgQ4B6%=QHJ#t*mZbnf5b?P(c>n=`e -Mu-ihZi30&dQguL3>s#Q5)/u(%GZVW%+)`RtDV- -"+'>q-os_[3Q%XQ3\'PbEEE;FV3SP5)\]/;+U=@NE0Tr,Q?0kE4@HbC7Dlc-Y0]!n -8i38W-%\/0.bPW#qm[@`niMpM4/$RH1V>?g/&RhF75RrS.7s\e2T90uYS.Z[&/Moe -(R(BacPX+ -im^SbVb8;6b:Kp-bQl#3OZ=[/9/O-$7(CE"W/t_D&c&=9BYKg(,I+0rJrhED'pRUJ%eoWERP3*YVos,t(oH -.8`hZ`%N#RJuc^A',q!%BVr%h%K*c[KT\BQHBuYmJJ*&oKW`W0nZn,?*Rng)6u,9. -n!S`dR6V:r=W3n_0M.oI+C&t.b^7*lJ\S2(.Utt?$iS/jH9UC15P4P2l)h?=$.'<[ -[3Z'lD$\27Q8@LQaA`2?1Om`CCD8XnR,+;-sT(f3XF$ugj@kc[SYX\'!J)"' -!I58S'c1]!O49dVRS8<*,_BSqJpb=bP4=iYr;p,>']g*rP$jTd+.*3p,]_6JXVS/j -F4<'G'[]W!e"tV1@':J#<)lAkpa37$6l"YsQe^X&;&1I!'ESS$!]i-g8kf@\T,26X -(TDT,]l:I&J3?!D/E8CF]eNSfY#?'T(jtsO;r1!f-32dL:TXH8]_p,;h+(ilS'7`Y -r=Ut#Le"k$e%uYddlUF;RAgibaHFWl8/fQ_X\dga6L(=&WTI:qR8Gho;+.5-;cJ\r -(K`hE=Z%GW"(T`OqpDd9=ZqqMeK(7J%ajg6=1cs[*LL![Q`;ngane1n#uk'h2d.5m -R[o\Pi`N9^U0;-'>'+JtcODYY3#,UKXkIWp>'t]rK2nUN&)-]^g?l5- -E)ptgr)?oqVc2;"'SK;OqG+X5jZUW(!!CBpa8_1@!U&c=oq6>IKZ -;2a\F4'3X\5u(+%(9hUWPB,X+W:?5W#YfD8Ya?*#)HinWo"/2UNG[,Fp!d8Ie(nG- -P.>b9WI,Me?5Ng,$JFVWjjU!ca.iBUf(0+WUhFAHie_Lp[CI8!T%c*!Jm'FP,sm>5a'"<=((! -jJT]^d05M3+Sa#`M-IrV?go(<[I[_loN:5K?oA'mrn=6'J_`Eod(eIW[qF1k\#En>&M##[B1.3Bu=JlVE!I_A,Kfr[#ig&V/ -%l3j:q6Ll1Qr.TOPo3K&*^8B+i*>1W2dmF<8/2r@=eT91A?brA]`2Nn9]Y>0&$W;^ -\.t*R=cXK*5*[$C##q.UC1Gm2&c/_A#$@Q&[QAA(%j?8Eim97<0]$CdAbKGjAh]2J -G[@58i]Agofo-hY1)2ED24]dbK13sc_)W9F^Q%ar%>@r-oY:I4:aj]3`WKfdE/GA6 -fNnb2?>L'?DqGL-87heIjo=6Jqjt4g?QJjSI!J'(C:.Yr6G.g+FLGS3ETeYU@%dHL -0Z$t'$"lFTk].LW"lD%B'9VN#Qe%(U#)le[(6O&Xh@>>&P`\eXOVS)L%="%EVN>Lm -K'?O96GhG-6gNuKRHY,0@MnU%`a@jk+2U##Va_4E_&ea<.-YWDl)(4iXb7dA.q6q\ -io1]p:8DWjUY>7qe'WFg%]kZt<>?EA4R2X9@Tee-p9/@;>WQiSW8D?p;6r-qNXB0Z -)YT*WK[Z=ejF#)!k!fgZZ,)I$lIb]h7$%fe_3IL,83XrX2T4r7Ph\10JTeDOJ;)p_ -[VVb#QD&KOk.QgNV!=WWO](/O6T$Z!X@gHQOY*SIf$rgbY3bAaAgD0O8E]ACV%J\1 -'5"Lb;"R7?HL-hg^K06^D2YK5HYqnfi')O%DUuPIEo3+7b)YJs:&W_9Gj_GST>#Y\ -cK"?>SCd*"5IoMr^1ibeJOrVuCucaQ35@,B)X(dMlCRU<38RT](2p%dDlpnFZ>Y`r -^&a8cDgRa`)a9/5/gY\*n+QqQK%I,rC/UeEiU6p=LB#D>Rt3bnm9\=8p=RC.0HT4N -l6c^RQO**biSq]hTg@omXEM28`\kgU"iYYEHO!_4E -52POD:^BJ8m/$r)fnOZ+A!RS)W@-.aDKdP^Gm1Zha$)pkLjO_ -?YYJNg9Ylo6YBfMk7&*rL?RNRIGYh,-16067X&5$%k3.Xl -rq7;3pmn^Q1uQ0b532?s0!3om5`LqLVd/ne?.q4;h7j#*6l#CH(A8aVT8*VbLp5$? -??Ru6-1;1[[[m"iWm=cUXQL+8Iq!SFD0G)SS<]1T@MCE-Z?G,DG;@umQ-Rk8a4'2h -pMkKQE#+T3IhoeFP@d#[G;jI(a)Yf<(8$*NpMT^Y?5Q:N4a/s^7qotTg?@3f\%dK2 -E8P`))KVt2:O2@Zp"Bp852XG:oD_*oViZ!PN+RZoBmP8HE6%Ao7cu,ZFXMtb"$5jd -IW'DkofCWFa-CP.GZ_.FkGE0C5&5'`IgSuWqS`YHM/-u?XJ]b!qmG5HT/.r+08(@W-&?JqffB16N_H1LG -\JOho[!UuFqs?=@L2'7DP^3;DHoJPWB.%36cIBT+n&NJtpNH:dG'p/Vqq/?$n'(P3 -_u'E_GUa&F5J)/9Bmh.aiBgE:Ih6[a!;NJ>)2;Z3g1!NF1M2((#fi"umu[LoOhT_J -$&>G#7p/\!"c9tWH&h8J^TQ3a"b%7\/.\9D*=V`JlX*p+^K4uo01LB`V1(p'r\'hX -+.m[jKP47b2G^:e#N:'nosK:W8NukJB?pOc(XWQV:ts -3J>gl24RD(;eb=THTRirBG+R@g$L\U:kmaT'aeC0)ElZ8GGJP_f;lmYrI)Ig0N\/n#761'@W8ii7Pbd= -aCFdCm&!0^$lP%uOJjS^4.V(;Tt*:oQV"*tl874cB!5L?fP>XkrKc#qF5.1Y4.Y6o -H,&0QL-))a'8=6Yh(U'5IkYHZk]:oq4h"@(fB[U+]tVO.[4E(#`F;%SDp;drH@6jH -0=03rpj`-ZSdcLGVP$?60>[eA3k51C=X9L6BDQ -d5/*ch%n!"Z5G.;P0A87a-4`sT1t+S&;<_SZL\g(ZSDh*Te+V-LG2Ph.p=5D<#is=0:_6Z$%O/c6,gW"OPG<`U.s/QlZ]f@2LU1KAfpM)2I0q -NZ?]SDBbGa@f^>9W%H/g_f+;?%RH6;q('hh57c6_";s.#c-d7._'hV^">EY6 -O^uVq+:Wt=pce6O@5q!q4@*"$7a#l&nU2QaM`%I<\u#Kbe&j#,Xj7]sCE)89DT/ig -12NYjL6@S&REp4(o(g`rE+YD3TsW&\cg96cZ,rGa -*PkQ$p>na4GYJLXDs/YS)mk!*4h#M.FpH.:&XP?%EkN8Teb*3d6eD"%LL&Q2'nQQ/ -elAP_*7l4/BA`Dh%t3DC*@6f"EAhHbjnKm0M1%mT*s;Rm#JfrT#1.$(KOB4s!ba^F -*.(q2&B-aK87`7Xg[]j@@NI0Lbh?8gMb7s>%'3!UqZq80FO;ZY,4s_%>O#`(8f9HE -!]8kFU<>som$:"pAtDZN>@L?6/_0^LU!hu3^O2PkHB0fk4@iTXG2I!>=\N_Z;fO8US_M*edC5;CP?3"F'=='k]B>-/ -SoK'2=)2)+/Qt6&'D.O.M??-r`);IF*DSPJm+'g,%AE>Ee.c+c)dIe,E&P-&;7[EE -aCC@8QVQ/Q8kMG74E%&Q0$7Hm]6/#qhi\:jJie`D:"8fU]Jk01?G##0;W>\#XleV* -X5A8B(&4)m&nlm:t6CAi7mjUYLX8\8m\hAlHg"T4_qn/ -D[>=G-&8`0*Q1SLb6$7,bu["V_%RahinFj!TR/nW2+l6Ul+741e%/k=Xu54f$T.(M-OF@)@FQP&YjY`FYeJ:#/%3FU#)$ ->.u]A)WY.1 -Oe<^Ik-W8aOdp?UEaE!cfXr?,=CEcMC$p -krf!Bo\PgtCW/q6Y_'US\/3E$a#30e7qshSXj[\rg"UjtXKD@dd2o"?"`.OI;XC`T -3'3,F>s#N6.O:),gJdQDs1U?]KctY[+O*jq.FARlfC\1ohh7!2p\jjA?7,m$'P#3R -V^@<6RX\(\5Hnr6-Z=7=SaN)1c?`"^a$IG.:/p9%qVO`,q*.58goEa;mnN3AV_Ml_ -cXoGE^$jlt33.9[gO*@8nbp>:p,_C!HG>I1IYZ8G?R+gaj,$\G-n9lU?kD>$HF\@Z -Ac,niA+e2CfD^VOls"H8r]HF!OAeFp3B.cUcJ)ScIt@#o=7jZHo\rE)1JWc,C=)dZ -N-nG#,4>`mcW',SpdB#dD2n`HNRiB9,bjUj[Riem64e'JE)>p+qN++tO$;R(V#RX! -"Y`FM6LsdSG,S4p"V=`>D.KRMOMamt#;BhOmrS]YGa"29rQp3\#(H>@(C*cJ#r%JJ -BT2B`pp\NecOQ!BOHg&iXU;;;$AFpQ&$i288=?H/BC;l!O+@_$L?uhog86QYc-VRA -&gIUDS4Um%Xd9;'Y/V^1BCPR),L#<[`'aZm37.g>@uCnXau'_$![N[*YP/5TZslkg -Ts-T%%g^Bl!;%]*&gAAQ%K)(HZA1u*mL^HO%FC]E=VSh,!bXu'!X_V/Hradp#=g]b -n?SYt9%.W%(6N_HnTNQ=#R:rNj6"_lnTu+XG\tfD^98/1K6\#*$3h%0(t!+;@VTAP -PQhPR"K#r5/nka!]KI]uKdhHRL6EN1Ng)nn*@#tQA!7p1gDuCd,Ve*rET%tDh]D=P -*tdl^1&2o2r?"o<)H$_FVS$9UmV;:t)Ni>h1)V6SY$2B%h2EPE]S0)X&Bf!.W% -$#:2>A7Hrd*,Gb/-arp7G[njI>@r^TLEWi$kU,Fgmm/H:'eT"(/h'R-X!e&b5ng9EZcXIC -kds]B7Benu1al%9BbL__,L@S%%LSs>f^X!3-`j9^Ej[@G569p&/4@>[i-kpSbq.?\ -3eeK2cVhAf;+=K\7hfEoP3>roKVJ&-7l5oiB?)[0E'Q+e/eG[.!'l2GMapa>`+c5_ -7YnDs)ShQi%b&#C-+>Vtl31pi>8*8mB,NS"?Sj416`c2"UV[16gJ,!]Z7;8#;gAr" -FI.W5.>jNg,K!1Hr&cJS:..0$1sf__qYml!;'8q9i)YKZAN#L#R^EX22&T<"'iNQu -;Y;nG+BL7uMbGp>8i)ke9BL,pMGYu,<)lplQ!$YCW*i_b7WKh`D1eU2)T0Z6iEV3WndQDR? -.k,?'h^$SM'H5+l^/D?lu7cg35QWXtr1F'eP@ -?If7V,l:',cJS3]?hO_427Gk/8A:8b@Zg#GWLg+Z4St<]+/>$.[MH_L1:'Q(lHPf! -c(\k5LhSb,R[V.9HZVX%P6\Vd*1&e@Ug''BGB$[eq_Vk;B -Mb]'i0p;`G2OH*TRKY=o<#$QP;]08U")'r!BfbGY4e\OSW@RcGf7*6s%7%=N[)=t^DE3M4K?T0/lBtJplYtjL;.h>2"9sLBH7jB>aL9B_A"7UbCmDMK -$930`-fUE$I>>cZE/L,=[a53pm0%!Y?VXI9#doK__27rXMDu"h(@mX@",cgGr&4U) -6C1@:*h>g#8bWmCY(9cXVfBLBEY_,qW)B%[c]-r>Jr.F!"k(0nqE;b>"%IA^+?le* -7U7Qn,?KG=jf;Se5e&eO5kei5QYhkf)1/[<5gE)J_n2"O`q`\k>*Mj+ZGI_P^Ba/=8m8r7#@\2=>7$os=J4%Rlj9qBoMT@!0K2g@+1[6Rr -YT[Ch]YJq1i.;4WJ-^[[#[i@WZs,u0*QrK@^<)!.dRhJYK^]#E%#.:Gt5>D1c@[:1V-FH/o679;MCnV&E() -3a&;*%Aio/#[,^`a#?drLdRT"P`uu@3DXurGEc7DVcn_@qM+6:W`tjsWAaXQ6GJFf -G0!-PJqcBMJ45!`09V+lP/eZ((t>bt#jTs/AOD8Z24?jF(Tc[5"1'&JP.dnuaC2Ug -.+np*6]/`m[QK:,M2N3HGZ+3u6G^JKDV`QuGMHs^gHC;=M%fePXJ5rnM -Bq-"SaI%aO7FD>f3$@.#V;REE@%"NtU'^mn$,Du9TTQdr??ZBm3Rd8);KAbDko$7J -2oD&Y+H*kDPR4"B];9*E\:[[-49^Z?U,kUaQ/i6:OpN7s#sacfTSl6hIn/3,1DjOr -8[8N>s.04F$/h<[g]bK`#Jdta_#+q_g_mnT*PqWA#oX@7>&FMuX8?+`DiQ9f2AZf4Sd:8klF53IG6OpFqr?Y -qj-uqQR$!+nWkr"7V8,_E[0#ta=42ke'S%IVC

\rit/;h/7GWne(oZ-^P[: -!7b#orA3H)*TF?%`10WA]fbGX5XAu,SR+bGIS%V6(Crj2SQolXO7BG8[QHF&a'26* -:9;t#I/B6l1$j,fMP./T]?(,W4O<"lpYIM_"##Ik'8G\rHJ?Tq3HpV3,K*RMB!(?[ -6ctDol2t1l2g`cp-d>(_lkoukgtG24b"`)t\%\9ihUj`kDs`!.ir8$7)_U?[%glXJ -mQTA@P`:O36t70,6%!i+SLA%t/`FGmamr1mdY\mkL*I ->rS1A`s4JD&-tZ>d64F5.aRM#>FUX^kL7056f!kXCgFErg#i.e6rkH>*=bRNcQ/(c -Yh&RJ&l3Dg@I`i8^D^iWcf[Xo4jU2$qnPeHrqZh;b$=q]MMpVQ60K!l#s^0_P6o%o ->.4mQE2u`j4X%=Y*JZrEH6,I?e'@V1&EFK@6'1GA(WJ2*B,a<;_LU,[#]^dS#8-eQ -(<8/BCEc=?1m9-*E^ZR230hTn?V_ZJ;1t+9U -F$/0>a(Q05KKT@GF#li_N,f_g_/N+5"0Th'hQV)8KFGBL!)g6092+"r:"4;185aPX -.nN(.87(C0i<+JK;tT`L]f.OQ7MW9%]i.O';b\)G:P!:I78[!fE[95qc#PL>@m,,s -=6!S<1K\-%MDA;oJgk1&I@`1G\Ce_VN<;V82ia:Kjc^.>&BZcg\BTqFM&CmN)`E7WR9*CV`E/U. -g"b00+@m[bL$32b$A`=Tk*)TTH1%/uC"d0kWG4JkTrVpS^8n>NC@*db/^&crYuDY_ -7C$b,2Ueu!HUAZ;mHu%Tc*O)YnBl#NF>j1bo@R7.">&q#_(FU74qE9rkW$\$XDZr) -n=]8A&qlUir"B2c6_rT1DPIIIoBt7'mY.*!o[okdUdp+^e'>KrFO8>'XNfQWrOp#& -QX)%`4b%D-6QQ2Ph'Dt64Tk>\qA%OKU$%mZF`R$[JHh8ZLY;O\a)gW^dsu-m#1<@$ -ktF:U\*X%-8'gjUhe1F3rGsN83MBBIl0*l9YM];,hritu5I^WT*p_^4W.CV('GA.] -3%"jS6*iQ4&>F_C2h/%5$UIlL!+=2d;^uXg\Am&))]GM1lC8STGW,h'8YUor0ipj15"))2)_n27Z,7e9%&&+l/J+fk6G,Ynd1p)EA_J#S,3K@h1b1u`M%i7?;h@]j -9TbPN6r-?5$1W0[#IqPi=X(Ti_4b1hGb,M!-q,=Fc%njai"+k4:C=qH4%;KG*^WhQ -?blIOK9h-(fTQ.9X76l,GnCTSQrT92TIU2-YSIV;2I,L:1WG!XbbV!"*W$@S5d=H-g!Mid$A\dl -E6:mr#ihgr*!>,L&#rVhkJ6>+F,k(Qc_j+nhF#)ONhPPUFQh-8!G%]r*ehgK'_"qn -"ensWAC5F*nR#!"UJInMQ.eFNV7J.%egJT*FV -J`n01NXM4O.P4-?.\fu/> --kF08dg4nL,?c#q%g/BW=eU"$Y99hn/i;E!?EZp_Ki&`k\KfQ4'j_2S%cD)-l=PL/=_hDDt_2UG+E# -UQ+VtfAb5UE=lqi5cbS"5Xs`5jq=aiaN^,5kCni$rPk'"clL$:p#p5s6o6%Z3nuV^ -E9XXK1B#pjqAYQ1p)\iH%/8iA,Xc&\RFQ&**!"H/Rb:1jkRUE#)oVKLm`F -@MMWO]*uoO[k[%C$(NepECs4L!iJp1QIEfIc?].EBDh!^.]ldu'kRRrWjr3SF)5jH -OpOEK"/%IDOj]52[6a-oK=06KOo%[j6RH-t!CNpa:YiRhFKLAFi+Ho*MYr08CS<&`crV#T"m, -.gShMRf;RU0j= -I$SJTB'A'Tf,ADin?rC>3XA[b*Wqq_`UYQ,j,>oS"-(crfG8=,dnWgeq4BP$SG@]@ -F2-aMZQl6F/!J]E6m]NDh0!9^dde_]U<(Z^:))\R=Au4fi9hKc`Tu2sof=rMF168J -=@XF%d`_:#L!0.) -6iuYcU>0?7T2$(2JnHFDoS8J!Si>+TRb_3ks!%,j1JZP_:[(IUUP6[`="sF'&s^/> -[W(M/"A>XZ'OWY2qOLgf!/;2>Lf"R1mb6 -R3dXsnJ4Q?TTch;Q'2Ih)fVkQo=43NIQ[?R9\d]8rbHf%S@YRLXU<%V^c8%JjarD9 -,SIo&'"=NtJeu#lJU?'8MqEiR3!_5j#W_CR>KXaF`^&l#5l:r(oFShA&IOYT[5dTJ -1!+thm&L5O4_p6IHl55/)@UtW-Krge>S<9@9W'?H*0:d\A"'sG(9jSYNX3N4_8@4c -b87tV&p(7gPK4g8UF"ZQ3n,Ro+la-EgF+ -PE6`G;%]d!'W=C,ZeQS;*'GfN\Y$dNLc[I);Ot_L6:00b`&'fg$3>rLqZo9>4A8/] -N'p('3&DL5]=HJ1JGUHf74S-F\XC#Yl$OH8Do@l-`B7'5X44ZV(P(/n\\&fj'A'Vh -<5_/X!JslA)r[F))R\3D4lMP@lfc)m/XVZ'2*!7l0HdK-HS)4/JtaBsP@P&"ln(kB -/SeuD!'<[)kE\^bQ@&1SoOn;p6ioJ3Y9M4UGW.jFE\9`ULb'48+PHj#&tt5+-!>3% -qE;V%HpAq<^cEp1\/32ac]+k<)54dY]:hWg>.e)I_tucf;?IbHL<-HN8A%nm`/@11 -NZ+($(=;.D)\a"HSjA$n7?!HsXH^\c\N*:kN?!t@Ro1)VJW6VqJK[9+g_mZH,Es%b -NQQO:0Fnid&t,OD6Yr.*USu=>XiT9Qb%*-9Ho$lZKFq-M6QDmDoJN(21cs*`b1s'Z -l)_dLYrk*7_n)^;FH&pqp'?Sf5eK(p`'Haa[S'SqbI"oTW?S=@U8>`'0?_O3be)'J -_7JY_On62abY8\&:+GlP*+;SmGS?S29U0]tbTt"ubDjJFeZc@s-ZiH^;JF+='?i#* -7D)lmF&\Qh--^76"/7,p$J#ulR2D)#2*%'LkU)Ua`N?+jK47Z/Tk^ttb/dfRU=8M< -BJR#CmVH4)mI7#`PI>G6gGE=LWmF4MHn06dhY8-&in@J0nI+@&[.\k((T^IX;)Qf -j;ec"<%Ic-aA<^Mo`C30XJhr";;-iCnqi7RYRhA%*DEh%C#%,d=A%s,dHe<6kq9Jc -nP!42:c/cpXKjsOUQPZ\3^kSt]e%VI1.Yri8;'LW%5?7:1"0Y^4<)Ac5TD$HX,1T+ -d+&r[AI])Ed5c0S3K'2?/))-7gtJfP+/!>lCrWPd5ecr@ij=Hk'F-,^af -:KtH@eHn\k6#b@'C"56keP0&9`E%u#=,8/)c/eOV`EK'K>Sr0#=&!!Q<92';jeDt9 -XBOD\BIfBn2OGC.V!'D=*8oBZ32FH37r.rH"H!KXD#ncs$VbOM9_]oAi"n1=Xni`7cTNuuu%=__joj;MQd&WE4M\=.D -cP7s^4iQpt-&9]m&_,@LS7(.%SO-^)6/X.%<&iUc5h:s(9o_IN*5ZeaIJf:WS=V&7 -diFeeedJgdROC=g?6,Wc)ZeB1&B\j^_OW.!oea$=o&-#N>4nacS?H@E)I[M&?Q$N1 -X`m=,U1(bSiP[nfP2rWf].9+I6)fUWW`[De@f`o?#<>_9\aS]Q[N;\e$>eNn62a;Wjd(#8!l ->kfXGS^GuuIoX_hgU(a%>OJRYBS&gC5)aHK5W+r(1d5S,2Rk<)GV79_='balf!pq# -/`VD9jNg5Bh$a>@FFTm!EaG$r!I[Apr`L=Km6kfl-.Nd#]^sKB.;_YQe#-Q$)o9"i212RFIh#<0^$8k+QN2U,fX!!79_`PgAVD`"(/] -YqDLo][TYTeKUO79m/T9-9M?LHIZG[9t>&aaV(EpHU&5&V#iiUIR@C/j5!^B?"7Nm -E]P`o+\gT9,_.FH3[CG&Q<$'*UC]IsokMNiiE!aSAJ":\k^ce5E91'mJ`^!tc0<^6 -=Bpm0:r!oB:<^D[c>;@`Ct7"\[[M%MP@^kh`+1@ZcB2k%enlbbm9Yn6oU8;g;k4=4 -k8n.#c=H=ZBuL(tS@-+_':FcT8^L>]\0ZjS1Ce'!^$!3WR$!h/$PXte&1=&hD:W5d -"i)VOj_j@mYrEA$&F9nPGRj.e.&m8&9cdJ/LMq([kPgUdJuNDC*eDEJ3]o,CIXMP" -1[fDnDuTcTb;/9&H,E\G0E-[RRlj@KL[B9j6G7Q7Sr,>\fC5sKn?c0YgplS6U[;+k -E;p<;i/%_Z'f+,WU50uRF&fBI,/-@#[@eU'.3HVCd-e7bl&3o&T%J&?&0Fg3Q&Bch -/WQA4,'#4WE]b*-9,!h_kZ?Us!7d"cIjB&:&kXU#\E9kYitH"V_d -)`>`WR!`D0\T,(5lK]sJ:&7^&XFY.j/3_Xo^?X#j'D='lh!;sSCZ\4kE]Z."naS6MnOjK+R&4nM@FoL4j#2U'f!1`l+<1bQ3/"(q\ -q\2t-k-kD#&Hq;gZ1P[CNdDGhT'Q(Zp%D>1=5Rs:1RY/.\n?:QEl"gFh4/YK'++L' -`!rqnF4kb8'Q9\q*E5;c_=MlI/JetMpOp)%!>Y9ZRV4V^RGVa4PR?+YZf3>CFgm00 -f(LQ$N]Y-:G`Q##YDkq?%4T>Bpa;#G%umFbqC+oK,pGcC/QD&BCm_.Da8d(Y1'Va+ -&ok]"pICAAc]#u47B?LWQ%r0.(SPssnp2]"-SM9A1N`^a;WdkF\am6+:S[b$%=rYV -H.f7hgYo:2">(&6eeDPr0cud0ig.+sq/Y8C!ZsmO@&-_H'As[=Tnd]k?G>K:KA%Qa -ME\dab=2).)!R/.YWA+A4>r9a5SDFSrke;.b[QW'ALC#[2/m+qEFi_Fm$:`0.@M'h -HoNM"'N`V38C)i\K1IhPPMTF;efXQn0&^0=I95'LJ(])[TakM7S#2eB13`HT@J1Mp -IH2:/GjX0RC;U:/X&a*bC!;O+=6`t7rdWa'jbeKb#:J*l(V:91J*d.e$?p+W#krd0 -nC.t&oI3<%6^dInrZLZmT6IO2s#;#J7h3.lpArTeO$EOA\,8p"mob_?#QW4`21\%9 -E*,LJB*&r<+i?9U66?es7,lTB`)\Z1NCRK@ptUTe,*5@VdTJu$<&5I&7\bOEhI&8^ -NX#Zkd,o*uQHEb/WVm$L6_I:)<*D^3Pt%WKBsbHo7\NbYeS8*!V+M"MQAnAo@C4[* -3?20LOD;b3YA:5oD-#t6^?'@G>V=Vi^"2_#]jG\:qrRtYJ\kgafITK-.0cBi-WXFs -_L%0_@Igpu[V%=abNEqLm,iddU!c`;j&t%,GWR.4aMeU>B4P&s'aeM-NkglN,`r@C -1$8[P_\I/Z!YG]W3ZSZb"+d,tCcidM#t1LRBWtMl(^n>haFM;sj3dZZ^0aC&e`QRO -ID3I?`]>ah$Uk#6pjbZZ%uJ'IW*&f0:Qu(Y5ftn#"M=*s@."41G[MCU6:<4T6GoB7=7mI[HdXtuL'pE'\ -0'+c%^>V%AN8n$jZ]=(ulgt`K.,Qkl[-@*]^(A[e%XM:aptR#b4oeAVWlD9\Y,.nJ%fk! -I_EL:4GP3X.r+MYYq1eh:V-+es!Q1a]a%'TFIbWjeF^FX9r0SdXOUK)I:lR0G+HBb -h"JG9e#"H$:j+$A_InZRMF*Dr-OIXoG1R#*OFJ2S;>=i348>mL`qP#Xf87 -\4&XsdeWWWhKN=&g%G=$=5^hi_-cG[5J\ot3;u-lg\!it`Fkajk^?=T06fbof`dJl -!mo;)$a;`C5o5=j+??J-@1!DG`68s(j:;WlN%kMZdg3i"-%][tqC,A._[),`:?`'/ -,\3""OePPt9i.ED+GLW(i+IheBK-61KU7>>@Lbtl1Bb)3R['irJ1&`)Vc!e^;ohR, -C%OB_o`B)m)qTU4+RZ?((oSN,f5Ufm1aOi)PS.tA:+Cc..E+i%hqW@(Z/*I3i``ET -K!TGog&=M[!?gF@KTK(I6qDS<+f&Y*Oei6_0i]9j!CJi0XQE0tOA9qL.j6qrD3qQZ -@4:4OV3Ea,;G)d?.V3.kQ-?Jr*7L4'(t1PM0F5k0\K4c_P(l_FNU7a`.]B3fg/L>) -lN-gG\/@ubATG4Z9c7.d=W,[LBB]8F$*qCCW$ah=rOk.F*)EIG8!.UEJMsgRlj9_% -ClL]M2VH^m$/9QlE]IQ'l('P11$QQ= -C(=D%D)Sr6KhooS^'E -&IOWp1T1!e#X]/-Z,YQJ]YKbpi(P7%8L-)oUbijgiZ:pTlkDX)\rU0l5tGEI5GefB -P1"&,HGI&ee_kQQi:J6'0jm,uR#M^l3Zs9D%#MppjF(L%08d#?59s@>T]5:i;!@=$ -TX>PY@tKkuog6_F]2)@W?pTbT)+T:$4WMc_I')"hON4)%=4NLkE/D$:hL"@3Dl)[3 -f?X9N>Od12dJuJhR,gu@Q%8?N"i+Mf%ftg(1o5TH_:U[P@*BpLn=C6/MrANp`(#A5 -iS6_[rr"i7,fZ[[L%)N&?;/J$W[YbP-Or#RR,2+UP1X89Bk2$^r1)gJ -F-*[>Ah1$2&=6QFOp]Za/bnD+OCKStZ49m+VGA3Jgn\#qMk-]/P8e&FDj!e#:6@PQ -)`W^3ln[p%^R8^iB,Y\L,.*+.QAR<.j];A)"qNs%=:6&Vm*A3_WKC"TsJQO -nCIb/oFH3*8u2Y)*XgZ5'n$3u)3YVLnq)&/%!L\o^sc[*'G>St!4eT4rs%DYWTCMp[\,H>%1f2*TjA&)o!,R8f -K\_OpZ,!f$TYfe"Wdud#:Mroo`&QS49F.Pl7mL=>%cehn==a`XjWn4Ca?5&f/5FPM -Zj3g36p,_0UeHa1j-46F"@'6aG9R)>h!!F9* -N]Q4Y=Lt=I8Y]Z"n/_sq3"&!Ug1m#;#qG(&>3:n@s6bR9X4F1$GU?16$rGOTd+JhH -h$t"N%S(Ql0Eb7l*prF<%oDj.ORWk.oOFs,lRoj^NrW`DddV5hn50u6&K)0X)Oc;E -^h+#gK9-4NdS^52%O3ktK]ZaJ##VNk"QTE]l!iu+)\iZMn>!3L9P3fj@29Acd>r&8 -:Iq0/)&EM](J5J[EH:em`:IHk(/Hp]nV#8oGo,u4BhsPG04,IaR(lLQp5mF<8i"Sg -ru)I3'61H\07_@:KJH/$)j&qr;9KrAcQ$Z?q54RjVSsN-IiQkb*\lgu!]'WQFSe=Z -jioP.+rFMdY/(*#XUiL'WiZ/LBI1H#60G`\ncJ,(7_j!r"A70-Z/m%40-\h#*g/?/ -9'?Gu.br#jh*d\;dRpn9MLdId!H8g*0Ph(aBa4pp#K25S74_AsK`9sb+C\UY#WN0i -)FKU*-NJ6`c,RD+kUUE-eSsR,Ns\/58eDNP=;sM['N+ -$#UOcc4iMTU=dA8GsIi"E3TVgGRC3N#f:39,s],+3A1V0+K?8)U3Q7+WqnJ00N'VZ -Eq:uK%kuDNJ4Iad+@d'N+#4KS1/TGaN##s/%5SDm'_*8$OW?7*;`"#,1^k5P0+:bm -'(HR(T40iLAiaO$:1\KUn2!QjYu^A_P8GN8-`j2k-#5@C5;t=HDfL=FWnSE_<6T3! -)G3EkXLT7bE_T6]b7bIAZ`?%tW>kGU*)isuo=I)J^H./*bllPKm#8Xl_)p,`4YNra -U3=sqVUD,nWJeE8,&04d*..`Q>R"_'NEhXp'F#)trK##aL#k.r=9XT[f!H3C'H'20 -b<8eO6<#0rPLfN*$;MluY1,?5Xb94sp>(WM#d.'V.h(6sQ3adNJ42:n"@bW`n2qC) -6:\!0/_GV):4VL=+N4ag6i^-+"E;fMYf&MQD>$dr$nGdH\4#IlcU'/G0F/r*$':$9 -BF`in2^)"d\dgkSc9P8R)L=fq#uHKdj>_dF=%*?"P%>ploHuuG;(lCh0 -GT]7`;8tYc`PE003h%lA65-%@K"t;FN:+YVosmLl@ViI)Rd70Z.*PY?P$. -?r`UdA*V]I%jIfuitS1;KKQP8>ltFs#UnCQe1s*3/5C(Derm1&'EA=>*o&>=!:knM -1-J.Y/k6's>U5jB''-9PUeR):-j?2=c8\=14?N7%N=)'1CLhb'.;bLrKTN -6n;oCWJ!De;rWDS1jl,K9st.2kL30Ofe:Yt0G38YQFgOJ]kY!lCfAbJc%K#M/mu[* -;ADJpf%Y%QiDFS*;5M^,-+?fJo^=]qDcI6QA4^THJPr42!$lOE7M#\IoTSr2;tf#Z -;f,KtEB+Veocm:o[jqn&>U>.0]ntH4a+/cj -[2Cn&G#:0m!aqiS&K&V?\AA#DCUMf6)>iH$J>4>Edui8sq)EKEOZ( -R6WoP9NIA>#WZh[ePqPV8V3Eg%9-8""b[^jQOP]X6GMkF4-u(XQ[O:kP3=f;6,U<% -/ae=&^`ihc:VMO8=:AY\Pi5YYBI)_KA0,`dJh*k&;WL>X1q-t>!X5ho"\9#SjFZ2S^i5;j -YQ[9kiI^2YV3YYDU^HDDaO] -_k9$j3!3ZN"::.m[IC7_;iE_'7 -OBFH*PF*IdVC+:Q_670Q&O?$l8+Ho)C] -#q29#(1>5,Ig/ER6&Bu>F>QmNb*%T4B*7RkWOjdjp/H8a7K?j_j2+Q/ -7$ALs"R.;'\[Xib,t7$k@)YOdWGS+beXa8%B7mY"DA-NJVLV^+P53q)H1.:M4e`+' -2/r?0W_'L#ED85MH1u_.)OZ(6:EoY[=*YT_iY;)id5YK\.fY0r[JpS6F%1a"0aD0n5&2/@dE9RgZ&S*O)"S4[OBf -=]?b-Mm>E#Z3l?KN\hm!&LLj63[.2mQXF\3#4BQ=teOj@9N-?2!^/73o];*"sM!8Td"+-6E -O[Hf$c+4`DJ<[OS]7l6R;UEe7p?FY#qhN#C%ChoQ_=OcZ$%]MB6SdA*WuO%:Pnmt0 -",p=,XUSPKng25p_o1[mHq#nHXZY(SOAXC^,[<@I9HNLG[U_04ZlEYZ01-M^ki^Q< -+e$o-"Y3IG\qXVr[CLd[QcW!qJ3icNGG4b&MI"eZnPJV_M/n8@nrZJ -0RgGNPLnGmR<#Eu;R+prOk8:*g0)P2gPniK?.n%XgHDgs*OfO,A\dYX_,pMgbh_(q -C#0kChHeuda9I%%jC$W=PT67OS81so(Eb;8[SZt1"WaOb;deGqQi7cQ?':'VRQJ-1 -,J7aMM5E8.&"#GB'>roAm]!ruTd?!G1X===R -IH!BE]rhslbOML4[fZ4$Fs7RIT -+gG?#@LRb`QQCXJn5ek??_- -4N._+flR@2XC..qn=;:N^D3[Z8,E0mqdL5A;0f5?ZfYu\s'BL6hPA?s!&GOQ+AbTO -aq"dr_BElC*#9\)L.(#u=DV:m(lLjnOgt$u5ol'-j?k>CSdcp08S"";>e4&gPXHj> -=t3^c\D(nFS%\O] -J\AOOL*H_L]Nd')MZmRp:nUW4'(l$PcEPX!2m\Ef+u(4%1)^UHI"!^rT?Z@/$,kkT -aQ/RY-'GupiUHJN`"qq=ipJ%Mj1U"'4:d)&^bQ>6n4XDc4Krc`#Qq;q$4hc^n2q/4 -JE+`Y5Yp]piC#C'7c;4I'MB-.nPi3u758U[(Ig-4B,ARmP\h=.n^MV$7hPB;+/d=$ -#/[V']$-p-1(9Kl8[7WQ-;!cmUFJkK[&5FsZGa4(9:s_31^juJN&(1$/+UV,S -X/P07DocC^+puc0)l\gF7^1C9eO`]hb$r_t,W$eX=4T2cAQVuU[;-"65j[>=]AXl1 -'SR#n>;47JiZ?Z$Wb"H4XXQrRN'I"Q<##Q[3(sueJE/![>HgL1>$NmAFZ0F>nN<[9"YIp4R(%X(j^2B?2P0It?KY>!mo!E<=d^iMi[o`Sg8e -'7qX43gcgJMOg92@*$=`WjpYHR4ln:r5Z=3c=ln,+f! -`UGo@BN6h32sod>.9F2]pjMOXn_'[da0"_.+4otid6*!u"-&9&!i:eCN9\J6AUN,F -VE3:,$3)u_oG4QJ9SF8Q$\Ju[r2p;&S5@Vi"E0ji)(6%*<<5dI"Y(4N\(nZ*F7F^: -[GX*%9#b#oZt60J;gqp?pcN;ed -:a0ld,=C+m(JN9UB->lk(3T]k?o2MSOeOKuR+WD>(B00'2`:QkK'?3j<;`=-FkP -,tP.2q1UV:AC$W!6>'"1WANXE@=7A9D1U=>j&F:j&0=G[cg -N?-_5s&^D<;bAtV5u/+)S(*!L-eBLI'2]!!mJZ%mZ]suT3%mM`@%!BKV[;L/0Ii8hC>,4.0\P&HHHt^6"Z<6ChBtS+"]?jf5HberhcB=W=,Q6RX`Z[>f;eFM -lnsJL%!KTl9,NkU8Zi;+rlGouG#W9pLpHIV]31It6_%DO;(CitSMRAkgJ!NBE^"OG -b_AURW"n+$(Ol#4gY$oAFm?[E]eH=^EW"m-V]G6&ap`]hrSERUa.1&uT:;[hH%2A_! -L2c8sX\kA\?lTK00fB,/[YZr621Dc1*AP7-G+)IOYso4W)fW#fEBji=Kn/gMJ/JQ6 -.'t:Y/kHRll(f&e/=D]$bd&a%7Fl$1Mj6&`L*&r4D2>"T6&;-c^FbdiHNucF"?i277*b),,Sdj -G)aog1/-lu",ul$P1'2>8EkOQV)7mre,"8bC->"Q1tru!3i>kjVH9g@Aq&34@n>lj -?^J-k\(7"O?#,u_WUud38D20cCV=Me26:4;[Qs_B_T?'Rm]k&a'5;9"Vm1ERe_;$A -D/F^1[W^fjgY7K^(hRk!i(uHc#/b-Ah:]:sDW9L,a*;Mchn=6"p>2:rI;b\P^,Pc_ -hu!.uE'=HAGRk&*`B$$_&:bjEiCab -eC=6L4it\[^DQW-V:BLFbg.p/Z*u"^(\[n'gOt7pH\0;p`=(_h"QJWb>'ROB#d.N[ -KPjt*+T>/>Hp<>TI':QFObfbNr7/+PF&;\joB?-2TqTXIM7d6NjF+e(pO4LHqk&B. -INO]G!QWF/^IL.4ZAb^uO4fJa`al[LaeXE9pR(uur;VhcpcnB?^\dlC"9H7Fr]fHE -5XYUbU[9]c#/BL+5PtUJgI8nO#XDo)^iTgsX:;o9#scsH5Wf38KFu#\!MX$`O16;5 -p`D&[5qEkh'H'1^)8WZu_8I6Xe/Q6Z*5U\X^Cg/efVGi6W&AF"61cG=lm9LO --:1ZY_Ls;RPUAen.)N&7_R(l2`%Ai9rke:X_ZVPY$nam]1;b4QM]0\ISr>ZJCX<]ahn`H55$Cg"`1 -=qM^X)&'8>ES2M"=[fE!`UmQWZsgrW@L+tKY'ZfggguS2+:urA43IRbgWi9`c,R)^ -!;I'D3#.qPj@8>L7elu%'NGUZY,a=]$05j6"Eha^=-0,[%TjJm<-aL'E=P$cLm%Ro -3<#juIZ?gG!H`i_&EFKEHq#fD]fR3'OpnQ%!$u:j&.fPATG/.BnsasV!Ag+RM^9(i -W.BKYaHT&],a!WqZ@O!Q)sH=M>Os6%'hNE]8VEDON0hYNR`V@lNI,6H?lst6L.USO -8c57'oV'D1U.Q,oJcqX\=f8?sS&q1uagA!=E3[QYZ:^(Vb+,QUPc`*HY"Eajb$5Y^ -oUX/N'h]qsb#C;`W3IG/[S(SD$;5K`m$T$@9B<],KYP_V -^.ZjQZZt(q;TMJ3^e=%11doAX-lf=a`QYX19Us>N1oDePbtOAHbl#i2pt*E&+O)^4 -!Y^4t*`+BQ:0dls"TM:tcQ.%] -*r3,PRCB>DrIJY[Ld@Vr>a$+CP=YHcXH4ON0HS:@(R=&p+3NN,d0m3ejoJ_>7P,Is -'cBIbq4N[rN`:<*C/l^1<0ZHrdA7u5SKZD_?*!$0(sn&d'dD(;-.6o[;LKmdh&@e? -2%Hb]X`4i/lF@!;/#b-kR5n'Kgdd;Va1XdhAu_&<QJHE7X%Y)dlt5[pfkr=Z6*)*dG![%!Te -MFLS)Q;ICKTeNXX;#AAiUX_2rh/LQebrh*!$bLFq:1_ZGSeqI\d9kMtAC=]4set#gkJ0m<$m4FB+"hf7e!?FIq*/VVh'L=emP3Q6g,N;1tPL=eA+fYrWueSWrMJQ5EgeX.N1Q#kQ* -NnH:J:$W1 -K+&*c+D_IA(e(2)k\J,W$>>+^"bKY>XcA3Ib/ -0,Ee_lJ.^m=U:1G(IUYuecF\U!gV/?/iD_/V*_jg]tIRWaF2B/;V-Lm9Am$" -3N[[+)G-F*`6fR7)mVn@'DWTRFC=_u=H1)RW$C8-(=gD@@:g>7Q5JSX(h'ijiP$5\ -^a3Beq#XA>Jm]o,E$g0S+lY*u@Q#Lk7O@%X-K8&M@L+;hp)[Yf.cJAtiRTR=En@,$ -$KC2"@`Bp."u5-R1?/j#iN12>35H^j2N-LN[Wun -2WYuFA3N=kmTnrRA`e/Jk([J[Q=o?OB]c1-k-f*gY"<1aq;h5j@J2/0VDVu*Dh&B=<3O%Y$=JEDJRJH@@e/=WR%+o]PVGRkjA8@G1/[`2C.7OT8UZdB6TPDR -1%Q/&4p>9TVEn -iFZWfejOB37.'\8ihh`F%Z^[/ibg(jiYX"RNofJ2k3c:4m/AHop>>9"lL(P8j0gFT -e\LS?md@OPDT;/6(@^c>n8@sej)MYBp@[IC9Q)iZmsairLAC;(qX9IAn##jJ7fAgR -EUUpEDk8t.(2se]=6O7NAY/=.cN*GG=mn+R"T"uYKPL1p9*!cCj(T)\.(@c#RnK/VRqnolMQD^k74.WUjdAe=e+Am&[DIrZV\o*6f;(FsPS -0_(JCO-_J:QSJ(j2Y1Q?o.N(EG<#2l3U`PBB_Wp+J1,BO%-I:Fo9V`7#5hZ5Pg!": -)mW&2;VD/B$TTB8P]"JS\l0Q`($UMm)=>c^'Sisdfq8'L'PQbF6=&$5^VpcDlDCq2 -0"Eg4KP]UJ+RWon?jcN[TG(L^a)mZPE -lB_4CM>4BB;(^+.MD@+ad^WnRq$2uV'VtOHOSL8fq)=Q6/>:YVREqG?q1@:#/ZMq_ -DY^\BH+5"um<@4GQ2*qBGupX7'kGt#UA>Cqq?Nhm(Sl@aV0ZdPqKJn7*M*&'NS)IM -qM1sEf<"i3WI"$8qY.5k#I4.)Ph>H1q\Q,*NG[60SGRMs>-F:GVj^\9c?gqP,=F]@5YNC;3jo2aPI_Y1Ia6ilXmem(PCnoaG+/M#gG'#m?u!pjbUJ -%>MbDT[8!)+qY)KcnS@q;D/goL4_4FDEAi!87W>mr0BbuP"Fb5R:N$t/!n?^!s*YR -==Y)C"Tk+5[VR[e9INfm*6*t,UerR?HV,aTslW%]]B"M9N=DSa6 -rKLkY(X@]mqd"oZ<43\S7XDpMTB:J -3;f(D.@80=EnRP6D`sZXK>?Qab -Cs3IoF+?^l^rbRgN&XPiD`pmUm/9)noBcQEcr;Ruh$6[4H6*<"pj=-=''1;ZdWBGT -7F@>o&fahllZl9)Pl#\Fe9!h[;c)"-#>eEc&91\#'h)\6<]-^d>1XM&F]DG8^ir2u -iQ[!O=#ICF@bDLPP@N9HD4,%iF7!;k\(7[\CYBPHMdY!j[(.d9f)6p,"7k*_fXMV$h;0m_7> -]ba@T1egQ1k#sBoUZVDB0p'n1*fZu\)LeNZC7:0`WTr)p1*9BQ"XC0U1u>R?Cmr'r -)Re"%q)M2K0L6]#d83":"/+ojKcuScB)0D$0MIFZ_0Tb02.9lfSP7IB@"q/p!)U>L -NuWKQ8'5oj[7<$!EYLW`Y:7fttWG``u[R7gRQ2SVXn+?XPiTkCM4MDa/$r)_-<<^@8 -#iP.7E[(%RS2'M,3+a -8cY!jK/d\H!QsS@_#^nF;K`CE96>'i-4Q;$N!;QD.Kp"B)$8/o%RGn1#Je+r"<_"^ -![oZ,EF^6r?sORXpd>;-H7OX;?4T?W:BoaqgB/Y:D1S+d#0LdVa&[5!NX6YUdDA(; -Vs+I\I!p=ZDF$bu73CSQJ-Jeu3@l$fYS9cS#>/QtS-QeQ9"JJl@-O42GrQ;*e9d:? -N^8:R,p?djMN\Ys<_B>q.ckcWQ4hJEb?8C.V51RW;D?l_,CK5`]AJ^uiaPQ[F"uf. -aI(F'AeJ$oDkjmiHh0.,*5fd(grjgBYmM75iY)^^r8@a!JoS^riAQjT,U/n[(:XVa -PuAeV5jc^2+C]-ok,HcdkSbU>KVE4t=_KMY2JQ&kQU0fZ#b]-seN!+.#U%OaDc>17 -Re"ipae]%e'G?*sg(R!?>p5umMNC^k_G-qk;/o=W%ODZV5UaE$VDQMc:bp.Mbr[r8Zds -%u9ZX#K-n$"2YQ$#VbrX"3>Hb@DF[N:s'N(:fN>r$lVUpY8edOFBA$)9ue]I!kVTpVdQAMR:i?tB0@W&U&^/pd"?&S#r -n$Vu+([h1Xd_U+'n\:Ft>h`N\oma1-#JjLi#"Y_bDs!&)_0@)cQAP\&_)_jm1T%n< -\m1cq"sLoeN"O]?lj$1Z66ZDc^&js.$LEj/NRfTrK!tW4Td^f^\4if#0M+2/9b0M- -=;4VAK7e1+8BFt2j3Z.K6gH7KEDC'i!`IR6gj-%[B#c4YS=,^b#%,SWGf`j?dgCW[ -c`lY02J1b#Q@W0p"n^d>[Yfe?NMg`OKR(!_nGmXpmSjRXb3pXVCS -V=`SVd`^8iH0sG,,j[f-m$+@OOS5W**fs+S`&p!+Y?g^U3>C=gSd;2 -ar5Z=2l?$TSXZt6Qsg2C%fP/[#@m6%#a/e78cB!RJV/q0Y -UR$5qSo;I@hZN&SkF_BPNbaj&5^B(=K'o56;>SoDiiuX$l+jHd5cUPf4W2f"?LQHl -cX$!Hi\H>80G&gA5#=BC_sFMUs.n]dMh+tg9L/q-KJ8bc_:nM#Z]PSRTM,Q@0L,`U -r%*FRYTBp^V#mBQB7R7W4$XYM*^C!UO)P.`^TdDO+;f&+YS\6DBEB>h&R[R15fNrB -_?W>62b;R*_E-R@@(?Sihoh>fWAoqFVNah@i,=c.NY:PoEs+)g#%N7s_h*mRYhuLm -C(cZ.39+m;RVGO1,;TPN3qP+K#;CE+:jWFdI$LjBZ)+[b6\:\#D[5cs#V^f9 -XAZ]%4D-?9+!rKg',fu#4=CSJ8?UK>!V/m5XY.I -.p<=2:^]oc$)jq\M]i-Rq#XrChrsJenBS_M7ged6/$M4u0rGKnA-S-S2R&9$L=$/o -KaNuS"ljR^75"jYi[/.T2qTn:h.e)^fD=$IYh&ZE#MHW&i:u -^bT0k;L'dU^qR`(0PiX>-N&CgI3$87#KV']+E[3N#7WB<7.AnWd_.1erg?IjT&b&i -dg\#&%L$;kH&?'R@bVIC+V:;%ECT$.AEI`m0/Fm61?oqum;sKsS?VSs0^+!CXPc3U -3-8[NJP#o;b#(#.0ea6h2KNFfUCo-\?A,*_8I/_QnQJ\-?7<+#(6Yp<`MU;3"#c@, -2UdpOZ^Ei5Y:s?dKVJc5U2nXLEm^#7)_nK`&QK_9.5OHG5gpDN-`K+9,s.=@4*0(: -X["KcjMq)R8uR3E`%M\](.<[r!l/shJ0YVU -=olHC)IO6t@DW$'^`C2p*RZ,R?iV97p](?j6m;=HTEH=C1`aER!27IN+<24A4p'\* -&"l)sJBA"fa9gd,$)lH),#882k5pJf!mUlM11;WZ8W>U/JQB%<8C9Ui$btZ>4AF?:gHf[ -EmWm'`UR92"($_tA6rYg#b[+^TT0<9N,.Y=%0C@Y7Xf#9Lj&*22GToe@=IF56N6:?ph[*AD?ZXt/Q/;:d6:Z#W -%[E#\.%=)0&F@_FRo.I'0d;V(a9N(uL2U$U_pFop-4$7m#f.J]@2p3$"rcIu!!3%/ -G"Z@srW!!!AN!V$<`s#-.7C99eC,&[qUH18-OW=&6VY'HYZXkC)4p-G0O98d!53G -3:aI)[``MGcY_t1(-lW4V"SN.b:aXjWC6AOi0Xh$Q3k?s$)!([@"_I$(^60E`<5[" -l-ib>/RXe0DAOa>6UIFScW2FgLeA4KPsmG#8MV\T+MuWZQR*;B1emSAin$\)?an]qlI&6*eBV..30jGk -\(cAV5WmNV"XbKd[=*=0:Hp>4$cJW/,j_g,_1=Q[lX4J[!*W,u.Qq5T","lji%P:a -S-!)i&muIf@B]`?Z"2KUAJSR)[TeFY=[[h\!5Z\T_3>^C,Sj2^&P]G00GeD_-YW!D -/FKtR-c^%&a_BCUJ.CIO;LN;CYtAg=Lguj/$]cSa[S\rq#;s*^Gb'5KkDM=)Mg1(q -(=r'keVBHqMn$0RR(.OmL@W:$BQ@=(Gg+B4q?T?=Dta?QFUADN/P*>C#?V.]9S,bc -WtaV3bF%1G[\7aQ%KhAGF+OX<_J'_M%p$4e;oIfOohZj='ZJ`[PBf#c_Y$qI'S&,I -Lrb_]ajPjQ1R0s\Q!$26R9c)'@?n0t"UJ^/1Z0jB>XrI#QXVP5J5V'.lm!+[N;8D9!%@F]DR*>afo3$J: -H^u9XP;sW.H,Vem"pM8,b,QP3;^6c0n3.L6M)@18/L]%t8g87NOI=*>)=r:1&"t7$ -7H;Td#9R$"=."6EO/,$kGlTKPdYF]IqOiRUb'XC#UR0n<9\:OQ!'H)<8cofQ!oR;j -i$8[21''Zr)aFTH=@Zo\rFQmDK[s6ITE$(>-66O#!B&n-.":Ho9$*6^T2sWCRCo(FL+Ka7BKb0 -TXs04N]?3@(Bb&;OpM,NE1hr$ -jn)>F5kAJlb+o3:UZh.aTM@@0dp!QioYHXi8QlBMOap%pREQl_!LH,u[TS*gHY`j0 -r]n\/[sND0[Ep&N4'eYIP[`cDo.!JHICVG)\U0aRa"s,o:E+2u5\DmFgT3n,YFkq% -TPT[rgV'gN]/iO7YiM>B\aD[1"sCc0"M*/4l=qm8;,uU"`!iY3YfM: -6,W!2T@O1`QD(%.qJfBZ,;p_O"n)6FQ3r"N:uIAGTQM8"!3j't/rCbS+BAR%=9d\7 -#6;O@+Mnf-'GKH8!+EF8p._GiTnM-I+0XfJ6-]J(c5WDd)kg(0ThZ(jm@tBA9RfCTH4gX=gk-VaR-CmM!"!ur#o*dQKdKn[guR3J -,'BK2UXmRS&uE_=e"%oKRo-R].CFhcHoI&:LeE$JKu?'//po#bf:d:b,&TaI4T0'K -]diVtbf0O2"*`<\\#..=FH+(F7qXS0-LVqmEjCo4QojulSY+]ncoYn,03N///6l$FDr\1X2jW9(.Uu4E>i%B)$/KZ)Z$UHTM5rKZi"rhrbVg`?X ->c1"G$le/u!C9(A*N!X-RZ[oYcZ>H -l0;=3OHF-6)Tg;SUhq+-l/&2^_^3aq35%mCj3W;A?(KmPhsNYRY2(,Glj$7ViU20f -gsAYmL4F)*DO>atmj"2Z,qi)=$W,c?#o+%L!0*$5$j]>:;["3IT.4KN^g"c!B;I:f --A/L:HS"$=lN=e:6M815@1f&<"+=^]?KL[8Qe(mg[:\`G]FZCBW]Y"ar2p&CE?oumRYIpF=]RnfrDi'URc?i)]Y"\^f0U)"n8^`l,9 -E34eJhorAA$i,;&p)hjH>@,k#2MC-ug:-\uH*T-59mH],Y&OA+Qd-]T@47@+"Up-< -:j>YX'b,mbiGf]V8g+k+7:Qp#e6Y'ONX!CP_!l_6+:uA"nnC@>9`c(<"_09K`+^uq -N2H37[-horSPNo4q@rd_6))`ie=&fYO%lHLWKd7E7]A/'5A7>96EkA[gLk>a`5[72b#o&Pq -['O9IfmeMor-hEdQ-JH4q/?#c!Vkj[\f-*rUAu:L8d:GjE@I8u0HAS3ZVe3-DsR+V -IH-B,aDLSDqX`0C8C.&/rBKc1C;@&,oE#oGC]kBb_,*N9#:U38,61$6K@KP-OMg5S -^@+`E#".m-5m]gH"?d=7nM5"]]oSZD*="mS?6$\ds,Y<$0T.*?0S>.Q+o!G_QbAtP3/PEDQ^G/C1,f;C]F#;?&9liGO -2,2P1h`3(q^i&k$0q@aY8$XYo-Ve`:"$f\(N=/$Ke0PVo;)Dhr7o=ASSGYm_*+7&e -c[7dB`0?6C85o.s#b&bA\9]2$@JG9n#XSfI+p_WpN$?h^+G_5m[CD#;ej;W`,De`X -OsO33?%s[4FtJ>R=*:?J<`QP(Hlgec*+o%3'`t0I0T1`\%tjrX3"CS"HQn+F!6?s< ->usZA%C%&pkS;i2V*fT.f=gKt?['rfQ\B6H8D1*n7Do\/@4MU!.1qO3^q#.+TUr!JqO.GUT&!1U>'X_2dOSG,e??H'*UE#[MNM+HV,,3 -8Z$Quk?DQM[r#?(gUQYJQKrAKJTE@W25)Eb&N0qAbEQ9\q4#Y6i`K*`AK&.(UhPXp@9Og"kU%WeECs)*IdIL\%?36"Ju)'Zj&MZFFq6pP/` -_13O.!-!tGb"[JD)@c#;D;R.RW(`T`c*a8i7?97-o>! -E\KsRd13*G4G;/jPXl)e(Sk/:o#aWELf"@$6-,*!@RNkG;)T]@=jV\os>6^sdolsAg6E+bH>q^UEJ'T!%E)U -$B%_^,3(slL3"UaNt@W`kGC>WR5Bl)Y#Zu>k6kploX#Gpg+,WAPA?u$erisX9hhV3 -3+GEO%knnK]W)PtW*l`Q0W+>FW#@aa!0@e^3LIq?97@"5GT)6]YS2V5:C&h#l952E -pmU#9CJ?[e27[j#%!WX8+Ckt8!%JN^fFAFDg]NIc]E#t@kl=)LH@Q%]55PjVDZ/k4\$l!'84%Z&[GuUjp,HCU -f+S\KUf>/#4\="RY#Xs\O7EQ'"RH_$_K\q>Qnh!9M))A;>0L%53_okYJ?"l4do>8m -+5u.#LK:/!K]r'P?@.]mbt'L+5a])@`f4(@IPZ,+!#6E6@$+.043)Sh:r5lg)p,]S -2$M^$hi$<>E_P/!L(/h<`ObT<=V4o@.$9)?h?]WB.%oue(!9SLl9Q^[W\j#t;pN>]Df9i+_;D,4p]2et0`W:^3M -gBipLBnP$M$`]o*WZ,5dY[ZGph8jHc\) -CYQC?;LPeSf$,;k=DEgM9c(>o?M5LJ=`G0"lb*VNPpR3&Muh5]kZ:8fnrAj-qH$2O -I4(n6rghPCA`3j&ddi#q;9AZQ>O!5MWHI"_UsG>l:GHdhp("g*UKO*XCJmt\*&8&U -IK3Nn]HQ6=!4173EEWt=H2!npYbR^$^56-^:_: -k<*@b=&#/[H-Wq2!mb^CM1_.09O,!jm>LU[-e"stc)WQm>R?7A2eATLmsC,1m_8ck -cWTb#BAu;Og5?6<'A;"9Q36i0gWBACMu.rFnblrRGf?Jf/>uKlZUocfH$DS(V\ajt -$]0-cA,F$hN/=$(S,;D5UZiWrO9"&;*Dt"qg]X0ffbnT25\UnIU_5R"'#:R_-5h"6 -#hd%1(.!0T5-VJa1Jtj?Bt#Rk6-48LTG\u2>(Ro+!`R`%!V8P`>&8qg+!!h81X;j#$fQR<4G6\Z] -#7,#D:hYOo$O$erJIjem(`*5b*eAh^XW\nu'9Tg]T>;2*\LYgbgQjj@&@m,A3KpQh -PFB$4Rud`BOdb:?j-c,_6]p,rPJ[=1.bmE[&AQFf78-ZL>Z8UX*gGDH%'qSP:hP*[]b#V00h,`BaNRn0WN,"qKbPRp]=PR -J:KG/?j6aI=TCEa#$:q]=CqO]Ad2oML2>Ru?ss%3@0O^W"i+.=TN-Xn%YPrWJN,6l -#obns73U'i`2NhXV!0'I%*j7bP70pCKm2jl&J9X* -0`p+JjC;"\$P(RW(('#U*'QC9A.55=Id[+)^a@B3B!qGc!E*,?n"31)':e&s='SJs&8$*D]:[a_)UZdha_h,r-j -][csfjUn#S7WR[9YVW]KY#lRPedcCN]^tG79#SN2Xp`Zd,>%):m8[ -!?mB;_1OUSE[[ASS8?L\TT"Er%"SBnJ@H?qYR:KA,ClF4!pBpln2^Po3Wp9(KH5RG -+@6'FJlj]m!2)U\!"B&*4b3Sr"!A6Z&1.Ec,lt(gP4\8^UT+mLBit=p&EI;gSEd4U -ogC[$6tGl!C)T/c/A!t3f\8J!/8BaJTg^0\'0-ZNA$"!K&&CBFJI2qgqCr-ZOnop@IBHd&^,]V"6urhl -fk;Z&_\LA5Q;i9&e%q0.WXmJKU>[8]Jj'plY(?Zs[eLn*MGG"1__;.p[en]3400&L -)N=S8JXFo;HPNg'*"=JO'e*k5r=?O;%AaJ)>2?:69e`#q0qB_S^*2#j0UPLAT"\G4 -Q[u&m?!c?h?sTuG;lG7G]sCuZhd,Oo)`(-G3H!\%\R%'XhG*&HlRf'f'g8$6>e&52 -@*;MTecB&Th>PaXh?9(hUD\@WSTf,+tMQQ916\ss[8 -Ps8j?hoW'\3I+rUi'A+5?k)s5('19a=c6Sh$X'?o3.[T'p'\-s)oFgHR),_lC7$`. -6)&d.nBulGE7B\pWuND-5e/0k(!D;RM#+O[n-jjBg]86*JAWu>\/8;@*rr>P!3&oU -clN1k*eFq6!XL$%-mJdq(4o4D!XS@X4@2ecPW:I7]3Un%4RZaSSO]^o0=f0W/gt1L -e2^g"cL$`^:+*tbnYp:TcTO^$f<75@a+H -?iE=NqaX&tfNP!dfnMh(?:!XgMd*t8'YU_*+X.G77q?#*:F,Y-KqJIKO"[7b%:5O^NkQBOu1K.t^,\IUO?nR^Xi/!A\ -K1r7b68=XZ;<'Fb]P5*,l--X$-@rOE;Ptk/1$&n@mJOI[iE^=c%[P2Kh(WCN5=Pd?`3r9d^*/6a.#)eL^3jCI9Hf$MS00-k!p -^,"#p1Z_1$%)oU,CWTJS*)=M\g%ZJZ*)5R/)'OhQJ^^>:prmD8K5?"#CkfuHNli". -6PIj?j@obnQHjH-CcYYZiO*PBB1kC7H@=h4gYFV")A5,hX+-q1` -0QpN_\kjP<;Mmc3)@K)1U__:A$D+;j@ -NeH2bGDm_umgei**hr*MnMMM=987-BSBWO']l-&7.+ri/%[H9RQaE#/KCg>#eUI2&I)V,:i!7E76:X -DBZ-]8Ah]>$VR)fnP8uOKQ9dR5 -lBS+RPp&jHO&>VQn!R\Gp%KGLh]*R/D^Q`gJP.VPT(TrS[9Z@C(PcICp%SeFWc,@k -EFb\+8T7_0bFOpkG.1@nhgGn4!_..QE'?\V2h(CcK6Q>@E-R]+XC8u#*LB929jrb_-WPtCd5\I>M14WG"eO3K)aIZMIJtfYW'sE;fbL -l0c2po^`+#:coV%]dP+;>#B67c2;gbeEQI\HCoYil[HU=Ia=LPC"7NeNMt9bdhd'2 -Jrb4!"oggYeID*F=,h]>2,),i29lit5Nht]qf#Vdo9CPE4UHEUJ7`=CA$;_L::Zrfkkns>C`#g0$0%V,8"%^ -==+]<`)bh&LdW?sLh_MAn9dH>%G^BYHe1K>-_:^HIHfpDdP@q9Zh`:_5YLDQ#=Gu( -L#V(((QZW?!`:M55p6e0!PiTpKu#gSkGiE`'V:#P85^-^5mlfb[4mN=\NS8P3t*`< -gc5$1Y?4=2Kn3IS'!s(&C4\ktS5pRt0E>o0LI'",)+L=LD]&d7e9)YK!N]?94U@QZ -,/mGB=Fr'/1m/`REb(jh8htKa.`cWC<@Q(2`2tX:P%7f9`Y%]\*67UY\qs'oZs4MC -_7Y.7bVE'!)pV1So\B/p1F0QB3VPFZ>o -f%(RS@T^]Ng)pXZplT0G(3lW($6l.A.>jjuWG%/5Gb-9e_J#86=e[m9,7("dL*8db -\:,Mho6lN@+I*@?*lbZSKlFd[e]o@A@ISI]5OjG'3`pVij+Q([Ai-Ufk+TWjr'b%R]oW,5Sh:?ApK*n -fLC@^kSbLrU?FGH<>:28F9!93OdsSocal#kU[#G)WN>C=f!2@Cg:DMEWrY8]&43UZ -Z'6oPZLPBjcB(8qXZGOV/P9,'l*$c'9!/kE\Y`lPn-V7?&?TA6c+S+#mho;JHY4M< -E]egtb4;(:D%$PlW)OLcCl9;711>VSh^_G$9GV8,6l6P"DI>g?02V8)&NHp<\(lZ7 -4!BCJ.%A`[4jT-d\9%c0H6.n%5`at2JW%V:\D\'P%]Jm:8=tR9E(&ogD)1Ac\fh#g -&:D;I?&JS&:L3U3q[\/#`N`,6(esPMDu@UPm%17O4Yje) -jY/#l^R@\nb#Oc8$UfQu6O85S)kZjc$I3p9D%(6TTik-F -&<,Hq#[l\E3@c^3+sN1m*8sPC^@.qp#(q`B2l#GYN8N&C=3X?H_>"fYk<3$B/`%Z$ -p^(%F*;<:[G-KKF3AMs$R\)=0,DXZ$'Hs=dpoRQ-q^HYaHB\gG*=-*;*9$rB+(`(IFbJ -1Tq+Ja2@cu%:JhlBB]/5KG3tj6Aj(riE.T6^pe:"fNJX`>V!kF\.bXY98lO']d!nB -Bl9B?Cb>=se$H-/RBpHZ7gKj<3ODVE]A[VHY#W,+s$(0#m(M#RIS43N'p2`:>LDdgolueVN[C,fSEF(h1E1?!eUtUb3G3t!=jc[$;JVIF$OD'rak>&r':1Yr"K-haE -\pTAM"dq@B+MmP^mLY@:.G:m2Z@`H4bZ"#M7WC>]#Om_[,n`[i:((5SFdO[bAC8qg -860!pOKe/:9h?L)V^gPml\\`kW_U1$3qZi,?C%#uIh^h#9r`>JX4>q)=DH?@%jCU# -[W)[XCRnh8[>qkRER>Xn`,Bb*p:],4nLl,0bRkWS:0R`q/Hq6A(P;)*$b$Bn"fm_" -QCq.`2YD"L5a.6q!^>9V(KhTmf1F;0PX7>qcN9jmiP?,N_VmOVs]T+DoOi -84ALjR%O#o634b62s"b0+%CD(l8MuP-*E1HPEa+M"(RM-SHeeHD@.ED,%:=%Pq`t@ -$IE=KFbO**a_+p[C$d@oV[GHDct_#+X5g+5>b^D?nXdl=I4)&Bq:=C=jR&k0[^K%% -BGBo81b(MG%6K?db8&e?+"Yi$5.^8nDlP[CCou&c:*^?(P5R^<:tgZ:YAHh&\bebe -S6+WqhhC@0+2R`E+$`r\Hdo0_#dRHF[/=j=nU@CWpU^DGCa9#uLop+=OX'5;\Y7pf?e=`)[XT!Y]WinWBBjt2SXA?G9i%Z'=D -N<'S,!CE=7$g@UD^Ae`l!_WOP.>ZqnjPcs?KJ"DLYTj8^.0M=g< -g8H>i#nZA),-)4Cli[Q.P,?+gJk@bP7QEr]&;$qOc._\?qub0u9W[1;M@/]?`fi+i -cS6odJt1/=Ia>uJnh"Vjb@:)QCo\j'o128=O#j<'#dS+boP3O;cYE+B@a\(BJIu:u -c4!7j0UTf:R4i%cmqEP6GgllWY73t./P?k6K_Ot))3Ca6Z'-'QUDa:`'W.P=-CS"5 -map>q( -*7;Kgn+PRuqN_Zk"E4E)NTf6G%(u)9$P9E`OriN@gh/;a+0mC:nbj[8\4J-*8-O*L -VPJku73aQ@,18t,c"+Y&_NJOoRd%!]"tBb4:+o,W6k/0&Z<21c(d%5]qG;AQ14GQV -dW"]C"E=nRVDf[DNo[G43.O]8&tVL,^bQ!AkH[Z/_T=5^)_4f0.rK)_TJl.([WDZ= -#35+W"e.(KQs>0#>_DAK&Df0SqPYX;/ki/&c8b=o1dbt@mUIh%_oXRi@k]ID@I<'$ -N9pnrrWS.B/C(3[Cm[6Q-Ctf)"OT,+"BJ_^,(?,7B+'H>Ju) -B5m0QOp5mPp(Neu%gP.sP'!Tk5*!!_8nQ*.0W64fPinp.J4sqSi[pDUlh'1*c> -5h'umPXRJCHujs4# -TP6MrGR0sIfmm02TY(F.\dcGG%=n9X!;BX3p(+r(&!a"&T^i4.n.'t:%TSf(TYFVP -Qj&#)#=)`''kpq^$s,okZg.?N'l@7lH<"Nu?#,l9"h>^CoEV1#"*$Y'&D2trPR#bC -@"jnPCNElQTi[N-quY;$LCSZ#b>B]rDA$??W^;)TRn=GT@oS+J,,tb4eo9kmUm:%J -2Ap'4SOBbEBlZEW&P$C*@q=/'AL/[3mcR=-CFhkB-^GVfBP0iW8OsFD+k3;9:lp!H -P%3&o6),T8Z28%">Ub577;/[LX -mikK8,&(++,EJO,AH?ff.+\n-<%$d+epess3q]mMnjLGTMd86m0,CrR=@bbS&`SK4 -H"L*LG'@_6QYgo4D`J0YdoIDTa1b:";Chg -'B+6=!I&k+GSe.<(Upgh_.j$;C)(,)'gY4h_*`ML"q3aj$ik_[i-fiOE3t;8=,<[" -+DjPkj*+O=9J=FDGu>#Z6V?+MjR4s -XC2.f=[kdu#mOd\'amZ,('fALNK<0"9SB7XLnR(Yl,mX5@]P0:>k(dFAZ>knVqS"c -SP+a"#Iau\N*1.n>3436Ocos2ZNH@.+-KbIP*mPX\L3Qn1Qr\8P4W];Gr:er5st#m -(*X3P=ZB(-:R!k"Q!%=VR8Hhh<:s+07+Zbp$F'5"UISBg2bu>bL&cmO/Vs20R!K+F0lPq1tWG2&D2R -"0NeI)@rPU@N^>G?"M:eCN<]oeD,lkU>U_W=>tH\s]P; -LQ]Zo0hG-ZR%,isi-SLqWVBo"GYtBM^EOpeQLGmTnS[a[&m#hsZ=lC649]W* -?ub4M"p7MWjE^f:5(eQmgA[bPdO4CKFp`(>'T,5Q0RRB%lqk?C6PMUkY,5i$U5l0C -!,CfJU;lA)OUiBE=BpaU'Kg7o3YV=?p)%\N=GCRr,Q,bQ[@H -P&.\=Rq&t?_mUbu\iX9/qnNBQ`lhl8\.pHY:dLD14-n!RQSWWJPuj=(@@/d3WZ1i9 -\td$q!PdaUer`7d[l;)qWM%_8IDC2X@)rQ2SQXL6RGFG8 -l2X-8*InD9@Di/^_AC!/(VqL%5pQm^8.>Qp"^n&1eVQGZ"33h2Tj!^['2tV&#KTc> -7:b9s7?k8B/<$ORU?0g^&)@*E_YjT-rS4(E!1(*eSr[`WMoG%F9EiIP9;XD2VIhX. -f)5W6qe5#Y_?r"+0'c94B?jKaF4BLa1t4,+,H]\9c^MeCqL1&u+fIMYbWQ=n)N>PL -!PY*6_*&[`h$I+/*c*:.ChIMhNVUp$2FGL--3rBTSKCm;rQi'me;<.C3.<65_+p6Z --5JA7,31cLJtih@U<^3Ah.e[b9VRceR5!0.1q;em/IX8NYp;F[>8T@s^,WLcYJ]Sh -r./[cFdM$?USZIJA*E8(Q.#)YOZ=2'%^?C'hHgfPr_Er_]AS+n-N2i`Y3.0".>Y\:;jToI -)rl[LH+o]<,ee(cb\hM^V%OdUS*Z8nJs5)>PhUH2pfaT.,#^k<2j -64SQ?!hi4)+;Pjr_8B^;Z*(_-O8 -%H+Go+KPg`?3e3*l3180WKSSKSX3ZHn;6R-Z.)66dZ@jsNsg+;1%\`OLSEZari"7N -K_2`.omtnkfk&`oUu1?kY4Y!d+[!aII*8DBbsKWh/^VA/g@jfgPAPR-pP@_1"NsID -;J/TVe_Najh*biq1XK*bnXl`0@SHo0[dTlgM>*f$oW=sY1j?5hICV5d6:o# -nYLDQ5@2>Odt8A0Cg.:Z@fSaZ]9;2*YR9n&_(ZQ8"i4#G*s9<0TPU'OiNR,j0OYU8NW'MRSHn -(ok-*@d+^rc3<0W@6'+P3/`qIp;iPmjW\B+Q3gU5O)KhU&9s_"Ydd`\@sG_3MeBQF -I@b*J(5&>p)E*AGkdj6MV./B&-)ZAVMO4jKi>rS_CGqanXm90Q^TVH7m`2PJQ?/#E -_VqVJ%G4M5fs:$-(?Ml?];G&-mlRuN]Pi/jqnR-?(B5j;aOj+G"1jO0M.sOrO2bp: -Oua)+]Wto\\W)gO_!mlg44%kmG+$DCSMs'gFM1IGeTJQ)]3TgOZ4MYX" -&A-7U`*aCNF0K)3]*Nt)W=(B=b]qEQk@"RN^Ok)`rY(\Y#;@tQ*"s`6c?#EY0Z"?f -"8$H'aqn.dbi47BA9gpq^GmU#&Y_&QCsI%-M$8^'K,@RFQ5VJ+nO+D7Ko"H@6lmmV -*1.dWSmYqlJ2tU:-9fL/Ltj?5aaRA@,ea -a)gY<#tB0^L8([h?tj@?aHkijee74Q8BEa1)(=]ZX94Y!?;4"*3@8;'S!29T:eE`4 -.:j0:9kh!F-Nl"*ehi>Mo#=Qtk[G#fLc5Qh^`PuJk7$gL -PJVB:)<_KjkrT.Y?mULlVA-mt:C6Bh-3U%a]q;Um?XW/B_m7LTk?@<[/!YKY66$U> -3oQatTldH!G=#Bj_htC8%m\fUkN>/K6Sp*5Y%fqT;iHN-Zd+s`Q4WFi)uOg';OH1/^nKBMCplQRG(h<06:_pu;/^gX3ik(&FW6&m1(E -0SU.]"!=14D'!s-#f/&<"JCc@hlRfLEMUF&URr*b&gO[eS/%Ma3nf/Eqcm\1PgBE# -'J_R:+X&^ZikUQdk_MKp;!oBp)oc:UShkqAk9#@.\W]?A/.%6a,-3#\B$[+t2t1`5 -XnH0lZXsPO@."2dZY^d/)de_N[6'n(;M>kgDGANM5UF)6fd(Psa6O&AB<,0_oPT`; -RR]k^/Kpq^[[#;[;);*qf/i#(ZH#@S#W";%jG!l1!%6:b_hZ(!MG -DRS.111Lh+#!>BU#93h."cVtN"U._K"9IF+K#!MI[*GH#':(GJ]]-/o>M7AM4)JgT -\$OW7pS'41IP%j['QQ*"c%JV0VWpR+:->N\oWn](k#XeAUFjH/pD1&$HG!pJ"\&'4 -Qe3)9ERk:5h+Q'@KOQ"4(C_pdHXC[+3blO2]sMmiMP%UQQZYh133)GM#nm;E;#)pm -jH1gQ6tkhRJYb"VSM -;!N%&M\gteSuL07[n>s,=02(D[F\=0c83aJ&e[GqB8VuA[^LFE![Dl:O26LhV=Uh` -5.n0^#bQj&r/\llk5a12[(c&n6$c%iY!qZqR`"'8L-E+ah+kY_3ON@p(as3(GY[\on -kUZf=(Vc[?Z^Nc].-IU8&&+tn6-L=_O=IRK22u)`Za)eM]55*Y&@uT])d*X_M060< -P-cJY_LZ5S3>XMCS$ZEF]&YHTUb5!`0#IfF_\=ak,Gd6U%(,O72S2f'*&*[d)hEe` -^/,o';e?+;'*A5.!6@ffK4212>IDsGVJ(:+&:0+&!XD87!'"m#YR#re5lgC>!alcF -<&[4P2S,nEUjF2n&e0jP2FB#h71<&#UMp8:E@:)4JtOU4A6&c,-+?_]Vf@6m_Y&h4d]Z1o@A$SD^(,_?#e\G?LBS8YG.NuXqFMXeWTUQ#Q6arb)hM>JO% -$9AS.T8I"KB(^:FrdJQtjf`.l?DLW'm%6;+5Wl!QpMP"9\NaOH0ijG6@n -NQC^/NN'h+d&K6mZod3.!;Ph(#ei"i&%j^m1VAgk"Ib6rJk/"o8^rAagmjesM&:cA -SX9keEZ,SSg8pYRJJ->O<0]Ru^`Eg4]fG,Pq@TE!.(nQ?]_IF-+loWuj/ip97c^/0 -;YIa*[>^4H!H@Rj!1BP=Z]joE!Y?0"!%.eT-3DO.K"s#?5V<-E'8$!7!AH7P'F=e" -0['5EK"r(PZq5jS3J#NoOPlQ[aOn2Bnr3\k^gWBi\1e!Z08")f^jn#BntS2f_$lJ9 -`W.[-g[bLa/kpu_Ju^RT=p;1"*PLJ3`Dk08pbY_;(mbhqY(6&T.)$31"ehCS&QA\E -fIm=hkKH1Fc%%E1\b`(c!.eP2UfcZM>Qd9Iff>N#^iU@;D!92%o?H@Y^)/FW,OH)# -*Lt%\N&23*;B;?eEBZJ]!pDF9jO(5#!"I#u!AVeW;r@_9%>*sM:da1Cdf,op+H.Qh -ag(rJfa8s<"*s$U-!\bCA+>*[S/VL&2KVM\)ED@5$9>g]RVBC-a&:"Kl!s]BOJ5Bs6BF4oV -4ok@@6`XhH9eOgs;kVie.+35eHm;PeNN@ZF$io26ABZ+^2cFQPJRl/]AM6*t23E67 --dsae9-fk?(WDd]Vd*Z9>9[$#-]0<"-dmS^o.MdqK,9@\PDOl?3ffDMKU3@+\'/J? -9-q:AHl">D&Bu+.e87hrf0!H$MXc[W+j1;RTq>3rT7EHEbK_2+q44P54`Spl)3(Wl -"-]/:JhnaGRW]b+Tq4tZJL[64/(TSoZ:X.kan9A:UTtB&d1)i]eKo(][;OGU1.[m! -8?+]p[;K%DF&teK=&!bf;T#6G0!(MaXLscLZM'`EiJbH2f4BB;V0@p!)H[!dMu_R5 -d(%Y\C"PS%es1q-7%dY(Tunjp'%#f+JBWss'>"n9eNI4ZRGub*b8s9L]a=1eih+6d -j1Qk&b7WFXh1e(Da]X1p*U:cJ&?mj]YtJoC$)'Tb^_hX,.KN?p"+Uu9GX_\k7>.TK -"JAKi^eKM*$O%AEJ?VlS!"4JYV?GO>!9ce&BG(DL.4+1$JTrUspNd@H3 -g%hp9k_#/1_0@Xi!Yc`n#n?`R2`qHM+>mBqf2'k95=iJH&iq,7s1rO8K1t/(X5k[b -d2^$Q:+5Z@kiZ3T^9IDLLgVVr\2R[bhZH7*K-\j$q@1`ck7BZXYaE7h;\VHldE\9H -bo@4F]N7R\qE\on7WZb7g,U.kq@'=!%&Eb+Od!b#hH^9_4nSda.+M-;EmQZH9jfVJ -pb,?l/_"3::k09WQ$s\N$A#;e_I/k[dRgg>37AG/Vc=:0D=:hSFl.oHhi7BfQ26[h -5*3WK3fGrF2>P=&m*(9;!I,Z;SY1X]QT&e(%l\ -.cKK_;X>mE*A4l5$*(*VrFX_oB@pN]fLAFmgH?;H7?g[(mTIW4bDcjcqppGhX`iZRq<>)PhVjJ<7g8e,\m$ -R!(uMh3R2H>ff%O$A-IRk`C]&g=a]ZY/hW7J/j2$&q_]:"HZu@G[CY_"pSIO-CAfR --ur41EQf!U"CNs80JJ)\('71?Jd%`s[BpGmi/W+<+]9">r!\4l -Qb^6=.U"k_1,Q]*f`PV>K31,9LcFYG28Hip0g[l/&a-B/nt>26ZJGP*fTYK -Za),\;AZ9G$:Z!4K!q;(Y-*D3YCgGkc#BDC("861R3@:7%1p=nir=WUo2":#>FbB* -;^A\ZKo--_-g3!C]ga*3'd2o$hA3ra#Sc,@;jPX.gRb%^ir7eBm8+Y)cmXWTPRYk/ -ej$NL?IX>KLp,F[!a$4i84!iA3Lp>I,7@5&^17c-PdR][%I]PdE2B(k[ta>plKmeXk'%IfIm$djt5OUF@B>/'J! -;/c;RW(ZW`l'6j(rM]]FM^].7qgQ#dEpLo'W5VT38RaXMHbjU4Z@4UsXu-4[ZhoRNq"n=NmERA"]B80EL$T"O'b3R1gh -L1k4L,P!Rc]O22=9",8Tnb2lS?D/Ou4#Ddg/!.GW4I>>$,LUUOnTEPOr.YV7t!9c`O8.pP= -!eQ[W!ToS@6]lqAiFu0o^[8Ra[r1Mj-s/u4MYBo=FORoBfJ-JA,TYP(o"bXXb -&@aP&2%GF-i\:.l<[ei?#(p?h(m%9>(5kYW@Beg73Z\f%U]Li,9KF#LL-h#!W(\QP -LkK4l!/*Z[%u8&Rd-M5s(5^IR'Y6FcPtn2Tl;\b!6EO1eeS>bah!@EZ'oI`u0pRdB -A@#HV(:u`3aDZV8#b,+@E(YHJA>JDn-_YdJNW]p)@b9`?Fjqs*#fAa -_nj_Gm_UI@N&r%ekO8?8^TFhUg+6[%'`>SZF1rED_.ZsU_=2Oi$,OGS;A?1S(c[6n --kJ9G-_Upf'>^n^6P@()bZ,@rO(;H0`R0WQ)9)-IAK+'7iXh*%B^eLs"`O8:mKN.a -0(K/0]TSdV;J_aKa`ab,OsC>8*L%Z!J`(\lf]#0.?]H@]i&ct:[=UCJf'(.mM:W#VPGUX-Kl`,Q8ATH) -QXIN\$c6K9PD:k2^_K.XNGAe`oqgjr#_F)6-OY/Ic\%5P:).OS"'F&1$J:/iF0(4[ -@uItG9=u(^R-f*%]Aa#`Ll0)^9JtoJJ@m<<,)D=*M"qU4f7tq6=<(K&eXdeh+grn\ -f.^HfZf_#(KiVIV";R39DFjMPQ]-#/".XIAGd\5F#AWG$jK$9*4B0FQn8_fb<4 -Ash,(&kG^nh_*]<\\K/Z,2+q`UL_i^9j:THDf@&h_6FmC:)tWHmD^/(!OhC9n=5.6 -amr]?,KoYJa">O,SDQKSF<'a:ch(Kr8^m<[:JA2RHdcTZ[Q3Yadfu!(=7C[kZ6_iQV)eZK -)[!o),YF_c%]+:,;\+[(,J]G95\K`ji<15^#1:Gq0SC*@OAuX=9IPSpTaCj)d9n++ -+9V+]!*j;b/a*VJ]/TWuNt4@Y/N'jeh%!nW"q5]LZ;*>V2B'7t0t -$)&mr"IP>aTeo/r/"M3D-3+V:4D9Q@(a;B#QHTCd09.Ts@t]!"*S*W'#jWZtZO#V' -Jd=VE_!/MI84$P-=nbW5Q3jC,4B<,0*<^nkYTTf&`PJ(4C<]o4RPYE^,dB00;FqFs -dN"b*Hl#7[Hk6>b*!p/K.m]'X9M)cUBZVAPP:GC_K"t-+_$X19EiNRnH&R_04N3]l -=S*?img#_CLRM%sB[',H2.jeYF%1u61Lj>;%<8UlVUB6T=gL,ceEEH%Sp!ksgH+M> -nX^E>%kF%^R\Xa8R5=2fOG)>5Ug+9qWlB80=lfS@i%o:./mK;aPjs7hg.ZClAqjI5C`b5Y64SlWDtSBa.V\tK;`_h@DFMr -J@lH/F@(Z]^2l"!CaR5s91?RnOE27@B&W26mDT -j;^OCGRi]f3eoua[b*QP>p2fZ"6)i\R=If6@:U:KuLbC_bK)![uG-X!8Vn:e`gZ(*O[eiBSfa3$"M2->1oC#B3@K8 -](_6Y1'HLc."%JSN'a:rJpq=LB8SN$!Ltm0JeCpUk#-AsQ+_EF[ -Rfd--XduaN#1O:?@r?/i2M+bQ>j5J/Ui1-.^Gk`"U6*_FH+.jSZf]H>]?C0>TF -;9O8]8NKrLC>]6RJ9bp&kncn0O1FodBPUKHe)RF#b#tcU%Lg1`4/Fe-YamJ5M:t4b -(.,f(mn&)aE\*D">^Q/W]bb -`lR5J@c0ksp[\;POIP&Fl'IVqWD8Ph1fXN:)]DmH0ON@]S&nm5*HKb)a?4]1225Ddm_G,(-_:3n&-;"@$gTQDh=ja>*a -o3Pa5dh4T5g,F4-M#s]/%gnTeJo10L'@lAd=mO3Ro)n5^o-Au3IUH=sp)^XLq]C7T -IKB%->`u6(8h-BiW'(=Bn2GqQgaI]WTc*nZBNG5LS-O1`+5d-KrP,u=554%5O'mBK -Ja`XE^sW6N84ioF-5D)&<m8[[je`E?ap[\K$r@3=$dQCs9a<3DL7j!4K=1t2LqWu,VWKYM -`aiVLUn[(qdTMiP`788T^)22kK]X.o5]lL-99Dkg._k??V8ln+$@2<]PqNAPQ+aUr#, -VT(ec6bm@i1-=QQ5;<?W*BLa8-OO2 -$(tB,@#bE+M?j2g#Jb?a,@i@/k!78[*3>P-AS=0D9Pq_jX"'M]_qZE8ZonNL."o`; -+ADSCa!>ZC0h1kP`mb;hl=(m9f3ktm:#ZLX;N6M7#S!)KAHEj1rai".E(0YF#NWH3-1'qEh*FK-nCB46-_+&@X -7^'J.YK5#jWmAL6"!K3'+ArRID?`Htrdn\\:\(eZLd@g(JT2b]J=chW`5Ia+-/c)\ -O95Y58I&YM@.;_W"qk-Uo1I2n-(oj+$nPrtNb"-e#fg+8^em?b(Bt'<8EX0iE)']# -EjS*<:F4R#i62VVIg7KI]kF,FVCFdlLfZ:#=!i_,EsVl*^:,VQ]<-)\mH+amdL#C_ -=t#iSa8e,+CEb'@5ph?plla/77(Y$q]B0gB-<.Hn*EHe&;eq,tlZ0>ia\#D)`=VrA -/62q\YrRZu40J:sVZBapg?Xk>#;I;5.EOYG.TV:[CLbF[-J_lME*hT=>#i7W'S`O]F=/>2G2?P*X&cag%_$C.Z"OOsQ?_GED^mrU+EF(NGA$_@B@#P9iL^Lq&$D>ZJ -JBSL2:_#bg"CV'<5WfW%&-K`Z)drXIi;=&B8.D6"80Ecn^kR;*9Vfs*Q+/pL3GW?iD^bmHM"r>KdiQk6h/-td9u=SWdYt,] --`,)o.*@CffSR\tLkqkIj"bO.O>Y+TLe(3u[b-On-B.0:[0YKGBU"?EP)`*.Ni;FR -(E[YhnD=:dO^!22uq`_NE"OUa7$@=i_K4=G=Y.WT#& -b.Y^&^r29Z$"%sq4?UPL1kaV5pV2'B;h,]fKl8I4`-X_p6T9!9"mU(@,T:>a:PWIT -LSRRupiD66>na!D'#jU#pj%Z%B8L-9M52%\kU)[10_if'"bQ7eJ:%m/ckeqg(I@0` -60;+,araSo7au,L62n'&p910o!?nZ\5VNio\JPqh2)0"JoT084+@.,R54u"I/].f? -`1DUq'^4Lc`W[$p!Y?!Vq&9S.J!$ti#GA`? -0M_[&+LeaI$\Q106gpHfCK3WM].8WGV70,f:q3`VS$3E$Ae)R0f)T4+=&jRc21Z;I -=Z2W[`V#10XfY_\''hEE=m-#%=k`+OF-gF;-g;YDidd;n(*klAIsMQr2tN_(&#!/= -TjrPoB)4B+K7_@STpdMc6=i\qC*iq"#G>H0@#P9)Ls/,S$NO'3e:7o"H4'_]"Z3@c -5cP/VM%TR6qDGQuD9U"UH`m$XV6TEV![%7!`!+UA3:"qr+='-UN\_-.[@ -*Z.1l!TAJD!$W3;A?B8kI,O2k5ib^KT8OHPOICNp$)V26_F"FjU^kjg'-jYHD^Q!/nEiS-CEk"V*YZ -fN#^H>JNQQ19*SAa;b>HYFV-X_7G'2gA7KPOb(gOb/\55*&5;-28VI7_`Tq>U;8ke -_0GjqmK=IppkutY42L?[&?bdd8,]h\G2h:i`eJN(3TOYN#*p]N^Ma'q!mDu[G;0<0 -QXXo+.:4p!V8.JH]j.&BS>"'hq`g-+L.$YQF1Hj:+OZ\aK4N!!,N;Dnf8+rbT?5jc'-$+5sOE5rJfG2&G2]UQK@LOr>sl@fNgn"U>$cm=#Ft -$H/3O]D5;/AlQCH:Bu.a%;)@?B#(g&'FT3.9EJq:/SH -PE0#4O$2me^%#FA<\XgM`R8]_m>?(VN>A6ZS2op@4,_#@W`Lr@Oi!\`@QFX0(W5)Y -hgR*7?7k2$0SEa/U*+HMG>0\R0B@R>jIS8YU1=KEM.f/-"lOn>5Y__2"9\`.'L4Df -6$*0:F;c8=)D(M$-b::k]Qp3R!?nSG!H&N82A-#B"G"u/J5cke=pWhBjMO!=FI#4g -R-hh3Xop^4`-Cq"hW=l,lJ>-U9t7duArE=FKqP)@VFV'>#2X]BD!%["+HNfP>1dQ, -/nB[ZC!,lmKau1)$;K+^`kAi.F.NJ8;"jq#P'XU9Uc$/=j.]2Qj'6(5q_Xp*4XjQt -8RoMQA-Wc+\U]LD'?"SK812`0e?9QM1ZUq[?p"1.00GulW^1eR0#0R6#OA_IF#G:O -CmKGFH#>u4J2ta/Q1j7k`1tG,3q^_0]6Q%@6V="Ae-0?PZS#LjrkI^ss6'DHmDo]pTd^jA%-<*Q?&qpcK`'1)Ps=Z4TX+;C`Lj"iBeS`+:M"!O>f-C7?%;sDgND,-d(WE!^KHIZ30=g$?Aef+dQ^LaZQ -XHn35VV,Xl>3]OHaCaOU\VBPS5p2+i//=-K@k7fl","L"E>VAM*uBdRA+A4lDGMF5 -JIM,FS-EY>Q-X!Iq+V'S6o'j^01&8bEpKjWO-7-J#t)T?CZ@ePMZBNXs3Z'\o9-"2U;Q\Ig4JfmEIW7:o>@aMD3 -`8XUO,mf02Q77\XPO^7mU>u+]63:hh-6j\^8/.lY>M'`:dBmMLVa43E(l'nWkTG^< -KC1,'Jujn^Mc7Qm0+4N?pb3+u!6#(3U<',YMDKdG*s]XJ!Z3rt%SRn5G>Ft$R -k(B:>=pBbWBY$ZiV.fUbDAbW(G_.;s@W8snMkg><5Em;,6=L!#+f5G^B*\udScBYd -G5u8qe,l0g-k(-b+Bb@B![YB>$^7@l5!TNB0Yeic_@Dd,E;D-,(HnbRp^i*E#WN]U1SVN3^Lu%O'gIX^bL*?>d%ug=?4tk+5 -GgZ8J7GWOK+s$I[s1BTO+,4/BVVf>8)[6sRBUC!JCs3cq3!P2?((q0L#sg"-EUJ2d -_"1J-9@EqFB$:fH-R_lCn/hbJNR02S*XJFk+*+3d&si;d;N4hb":PPK'B3+&R@;tW -+PiKX:i$PsHnbfgfT:^3:2Sp*(isYf,=7bp&n3sqM%H0eJ`&TP_%At7MY1>=kG7_/ -e#SChAhM'4]bk5^@uKlBO;W4J5tFp3I`)gj`^n&dUP*]K;:[_IGj-7o[!@^pmQX4@ -!?Ye@l6Sp]?Bc!s"2PqIM.LtW\^ql.@$D7S5a7C_QPKs>%";*MEH!]8'*+H-UP@,& -;bC1i)]%50+S)fW8jYLpac(g+-=(H18D,UuYm?>*``C71(sJikCjE>-ocoW!8^$W` -P3PHi'@M&!alJ6\WpXW&\I`W?]F6Z<2C?]DR5egNig^[BF&#lc3@>3$/u@J8_)'mo -fh%^*L2=Y$-)bP&8ZSD9bbc;h+QLT=.0`&A(kc:#&HjL'&;(N!$q$:J:1;4)VdbP2 -F09\@^mG3*>V#rf40Xg$_P2JgTs-F)+P[oMeM[ko -PVT.e[%*>Bq?mU30iW6GWtf*L$t6@tL:VA$*XR?oacS?APM7EY3?JGhWeLkXh7cdspWbGdu6O\&(g)YBFQ4q5>2Fu%6Se3XGg(gV[^p,oW)%Z&$, -,>2qT&;an>o&\aRKPNEYQaROS4gMLf1HdgdJG3CN5^[J]+Zr9/I3#*AG)l&;-R:Yd -/RV:t0>[Edd"%0ClALCYiY]IM>;MpC-%W4B-c+7'Ua]?F9FCIs!^JuOBD`63QkQP/ae&3\oXJ,h0Z,Q`e"?'#hq0Z;87;CIG)>YG5L/9o6kQ6!PeCD -I6C/RC4]`o#@,r)f>ar=JeN#.oje:Qp"]7@c3D8hR2eXGFY48SV8utM+QT&ZO?C#* -b".RCjB8Xs%FN2LR7j -6HC+N;c/PTb1od,]eX[;d$$N?H_!3dE$STopm -ip+%t(_%\ZQg'"'0Vb;7Jibe$)LJ/D<#n8`*Pqq&62Von$mNP.,7Lo'UJb2MJ`aNO -[)+pS6;/XkX=;#n.N''DJUe_la:s694+RZ!4IA`pa9VsbD?)q>4@@#H]>k0/!!h/( -!!%BNJ-?.-8H@+.JuBCcRZS^BOf9l^YX(%SLtNprY+e5-Qf0Yc`(*38/B!GDSV'9E -\GH>R`<(TXJqHXd\b)+o*^E7<*t\8j.IWiF+tWU^WWPeTa^&\SGXl:i7soU&N-\"*jc;Mp7!qQr -gj_iYeVq;2O,J:OW/Sa&HH5*#8,S(^"GY!FL.I8Y8,2``g.8N%L*m+2Mo/JjYg^[E -M%lnJ]_e-d]1nMuoq,H%8R.Q>Jb>U**m')''OgYbU:MCL2F6mdY.Q06PSO;LPfZa[ -83(OtirLruLIeA,+UG_(<2U1W'`cur[A./f+r;M'>W0fF9&+DV%'N:aYKH13]+DW5 -g3C]$eN6'gUa[r>8.l7H&2hh4MF\2,a:84>%"S*e!6>k++:WoF07`7>"7QeQkZ!)" -asGrRs=`fQ#Z.H6pN.3Z'Tpa/m4a"dOR@5&#@*NTmX1lA&\ -$dt.L:kK[]ODl]_J1-Le.OlT?WUcQR=?)N&/i7TY4OGqsM"`6!(TQIt-'DDng0(1j -q]1jGK#%[*o$OIG5:r)r(#$k43m@[tc4n)g^[VFUjQQa\9=$'>Pc@lPlED_%#7uOo -'s%]ZWR-pq9F2+8M"D*PjUM\**NHHjOeDERaW/D(1Q2D!(=N4K9Vb"E3f%9$SUc]f -`>?Ud*'p%aMW45Y*$!ACnB4e<;B6lX,ns67,Z63?,DoVM\lYYA:f4TkdQJo)9e'&S -.oJnZJUecFW%eEO%Ko=(J='CB8-T8hEW@e69P_MXFNB6qI/j7q#+u*RTM,@,97l@A -!o5GZis1]C_,A-*`%&u!4L#8V7?uXtd`j8kD*_,4Kgc)2/>GJ;$Uhk@ -2U$F/LWBH#b8?#-G(:]YL.DN'6be:^.=k;DbkeIclBHj8i$tF>1\hDQE')m#4'dj! -9o?A0Te80)7)0WgWM5pcXkunEd])ij3&_aB0d2Q+k<"a^1'fsAeYVAj3 --CL(pch%(9g\oJ3ck+D#WT4$)d?kMmnI+S%Zq@c'LbI,Dh%dm:/aNhkd2\HS_Mm6A -i7b13OYWn6A_oQ`fO9P$,#9NE;Bp:S2uB!KBeDqC@T&JF0@_(/XWBd>oF(X2*Gls( -Af9S,*T?]7iW^PE2($1O-`$tpg0Pt4DB\"g,3!U*!VdI^n2>h72?`4OK]BlQ3,JX\ -D$OGLLLnP#F2^7O`s0<^#/RtUn1oPC1'/qYJaaJ,kja54.2]`b!BieS+KEp^'3&9d -ieBSV+u3SDTnn!g3FIPNg'P06K=3J*[0't`Lm\iW)P>he2Qfe7MJX*^(H!^F]!I/3 -K8?L)6GU\^M98G`ZX"r$YiUeF`W-Ml@M^B$StYqJ+<4UZU&,.@):k6*AX0R`,B(Z_ --m5n,AloV(Sn@+sB4d0;AtEYtY%_LVC1b1sB$P4gJ -g"(-*-?j*?G\8XSB7*8&Fbhf4M5!aC\:Vq95k[JPIMAg]-!5m]op?D(P6d$,QMmJ- -XcO^GLa.)"=VceVH#8AVS5H)W-(0o^+uVtOM`Cs+=]U1]bKn6r:bWW\iE;;?3kZ,^ -?C`.*,WT.f+:q_lVFm=-!9LCop7GqLTB8&)gELhe;Iu.h$tkuo4%?)OFcPGE`[&]B -2)qB3kRmm:&clAJJRBUNW$)89#D8[JJ4NUnO9,WJE.AP,J,jh(.Z10djbN>P!!mp] -&9\9i",@Fp!.\C/3"CTq."PJJh'Q--2T%]R)]eu('rWckn2c3AaBa8:"1U.K1eWs' -W]^/IX]Qqao@*m)cqSZb&4BSaZ!@[]≪\U7td3h!-I0ZHi*o4[eaUY1mfXf'J[T -5D]jORI:F"MN,%7>(lmh!VMR7,c^t=V37mALm*[icBFEa/]gc74%\>W>r[fCcjJ)q -*W](eRhE$Y'QHZ'MCKmnj1Q35@"er=`=(V&(;U>\,B?dt.#4R1iuGTVRB&;-o^J='@Ahue_lF9!_2#FcTHFi^M[D1FlgKbt1$ -(cDC;26n&FJe>j#_[(6REb!llaMiu`pFB@A?cE"0A/?Y67k\jadV;%.&W9_\OJE4c -Uq;4K[>SLgTV/*]WXYJ)gGXF:Z>1`30d].%,,8CX(8,aF7p=!/U6(j)!T9RE+ft!C -2P?_nPc6E]U%AR\oCkibClX'#&uhoZ6aSUNgHkJiN1O#`st[3VN.6KfQ(P#Z=fnl^:V5_)ZOF1Qthd&5YSgc`8pc*,f -gHYP\O,5WQM>&iIeBWS,qAe]1O=c[47%^b7D*[gO5qiW1!Nc1[5D`9j-0g+*rdsqq -.L3*iaV'j'VZU2f'^5Js]AsRf+=3M5P4?q^GneP/!ORa8!c^W"#pi';;E]W)'!g;X -3@QH[:h9.@DVb?\mJqjI!Ugpo:BDokO -rVtl++6.=k,OlNp_K+s^2rT48ir4_nQ^8J=n2Pt13!CE3Kc;$:Li<>JE#V&dpr(23 -ph^07$\\R:!@T_%5U,3\+(N(M$th"MIk!O0E&IiuF#.&HMCAf2M?O(p_*qh,:r$Bj -)@XV^fR,_''8].e0mKL'/K'R0H$hf*-_nrNp3Q\oY<^]I -2B%Qt")V/qE]M\95)k3Qp:r>/"TlK$49l#)cr:S\_9d!A#!u.6-O@SN]IaQ/YhUrC -6W!&5LB].d<.VUhl_`sYiG:^o^b:d])hu\V;#U\3Zh>@D:Y^+5a0GPc*Cm6a?ea.0[*Ge_^3>VbO558&TeAr"eeIb -'Ehhe7Y*Ka'^n,VF56RSXPi\<[D_K]#jBWW2%)e!<)"5u;:Jkm`i=r&!"[B!0Nt5G -Ph\Ci`YA7g:^2%W8Pmpe*0-)a$6kG(LS6,B1P90l+:"&5O:GE]!%F"IJ7e'(!1jFo -!.(8&!VCkl#Q9p"=a"YUBA$q]!.LPj!VpN'LA26sQQUiu8:tH'jq/(IaAOPp+aAI- -`)U)D^s1(K80[rFK3e71hns%,ILTcK#UA9DP5l@Hl53q*#,2kU.uM3P"?U)F -&Aa=_,+sjSiQO'='i!4_9YiE-:jJ:_)-G$:N.X+81CPK6^b(IReat'fSME@\s0BS]m`$THnZBQ"UW[M(O^VT>:L^52,PU-[*2V!3_H3e0? -eYlSUP"kLOb\kYHa(4YX0!N9.(.?/ -*Y]@ds'NF+e=iMfkPehLl1Y++\*Nqk?dJQGJ'[N^^XrO0P>V'E.@esO_rUP7$k7`+ -$4&o\,6Qkg'nVNR$+qs@$c2%D"C\N0!HC"PJ7uqA+rs?]\ -SHAq40S48Z]#"/("p!j+!u(b?+LBs9VAS.jn1[id=;ct#4K:geUg/en==On.Z@YRD -M'CmaI4UfF6s.D?,:".cELJZ&Ecde?oB.bR,S%dkWuT9m=Wh+JKH5#:hn_i.O2jp( -8.t-[c0u`Oj`nWt15910klh3_J.R;7VJ$ZsPu4hi8BI6u+@,"L"<`eXa1t`mLfc;7 -/0NHJOEfX!#WbX%akk'g<@@ks]EAiW9?W_Z-7.`aQa6$d*7RjmNj75r;5RknM3TgX ->fiCi:#hikZAau7e4A%PB2+e`2Whs5Ro=KL:&2aeV^15kW._r16qo@.FMjKEZ?&6@ -N,+SmeXD]X)GcU!%?`1?G]4BI9g`$E&n4$hM(L?T[(Hl^>mR-'.5E.ob^W>Qq*uk# --V[QPJ)Fkt,/sd$Z4[a#W?bb-`$1Bh7k5[4):OrE^33E]JP>bgd4 -A2Bfq55Kr3l5HUM"FUk]P5l7^:eVH$CdX.((beH^!?G[g!07`]!!g==!!E)$F"6$Nk7K`]7e.Yt^heRY -qZe8glii?f?bs24 -"O';(h.+6Z1j]oKQ]@@Z\b\0t&ZX74J9TXeetP^re@aLrMJ%k*3q%m3^0(O5hbGuJ -KVeG(CmC'%?:W,J5:0q]SWpF3"bY1@=S$`$m0N]>fdqWSkp)_14jjHpDJ68[dZT\Z=jjO&MYr:IY -gRER":?5KU[jIm*\sIJM.AHIu$2@+'CNJqbe%.K8o%q")HZ,JF^<,(QSOt`D;*V"Z+lob**tjV5M"+CXQ;G9-6?0su8lHIUQV4[/3fikCLU@6CHmZ3t&;$BV=r0Q%0S=pV5>"2JdY6feD!N_%3h7g&Pqj':FNPi%85.;-ZA5WHi: -No*EiaY;B*OR!ERnIKU1&!6f%`!S`m%1Nd[JP#k+EdqhEXMkF -$K1=T+R0T@g_R[L(87l3+flac!Zqop>=uc6Ja<@[llBb?)upHg%,_q1%KiC5$BT$2 -i+!0m*m.%k+Q,kZM'+<_,8a:8Os6?Y^d(Z>Ct?Pi;Z`!]nJr5SV]&F45cR't`^6LG -&8L`s:d^$pklNn[*8+_'okWhf"R_W@$6X+br6a@T_?SPNIiaW(*iUhSAFC?89U)=K -#UU\J@!kH%Ede"&*9ApZU;/\i&1pHV.kZSunfo4(-J2&rSe65m&ZI!0XWpQkRVgj# -.K(KS7jE%I,>q;_P#3LQ;LdaqY`2JTBX1O7Ri_^[78=(#%Oa2p&4hbiW22n49ND@t -/>2'UU'Y'uP*7='DP>2[8$NOJ&j/es?K'0S&MdB66NU"*:+L4,.VS%DEZlWi,qMs; -/;\K4W2Sq^%jaWs-gmH6i^.&ZJpMEY$@l"]@3Pe>+;qs/):$hJ`N[Z`dd6(a*e4;5 -J^=Cjcl8Vf)khEV!Ho(U1_JZi"JEmD^fCc!oE\8UYRYEP0sL/_:3'q4q8X\$^m?o/ -p]tIS5:o^G^eghB2J"Q8#lpW7#9sIcJE3W,@?8R]"Pb[Wi34O>8T5O>msJe$0RAM# -#"o5EKj$0c=?e/+#SV<#+H\`9YR'YX@/siBm:_F<"AM;&@K;)QC\Y9[(((:04k&$j -#'L;"9ZIA&7@U3;6lt'(;,u^'R -;q3eMTPkWC:dcl5q,K+#-UYiS4EAg)C#))ZbTm -_1E?Y/ec%c"A[Y6Cemi;-B4^,U6q(:#"*?*u!g#0NSX)WJ;KN-(bpTEs;bY3eB95_8 -"?!8dBuJCKA*n"[q^Tfi/e01>P-f9#].=6PA(JD)QGI))`]>m'VhF@"2JRU0hW`Up -:ZS/)<&HKrV -TZJu4Rkp6jn4c&e#u)Wf0#-`&>KL`L/3sF.l*?eH3RmU -jK((&$!=W$IX:,r\40/g6H2EHh*5tVV+6&$"EI2=0m&%K^5>EHG>b5T<(>J,Ia0uJ -,`L7f0ge36SoT!J0.?CFmK^l[9lm'ta+>^V)+@Nj<'Y4*J;4LTTF9[S$b.^=paq*u -j9.a+&E#MZ_)R2.2?Nt:&qDeO@2]6!(Is#D$fFtlTSNe[Ka:^Z8cWf8J8,ol0:!bQ+?Z(k)FWLtm0*5#*S!U[I7[hVNrS -iT-o+=ll8"GAC*d";8Atf"IU-2juchSG!(=-Ed"!>16s^U2m#Gf%F`r-UiQ"OMGZ> -^etN5.K_scD]u)6H?4$=$iiTW*8h/DiNrUd[?KR('d+n>!?M>O*"O/W%hA.=^o@P\ -WDnCu"nDfc'0dE@dNKeMCLjqFR_f:g]J'Ob+S5L7-dlF^C3qLR6q/%T&^2q);B]&U -+mr:%oUJVl@_..+Y*J48U5Hm`MS=hFUDj]9j7rO^9cGb/Z,.!!/PqL$W(gI2TnJ(m -7!gqpkZ*iC7"nemK*+>_&7hLXGqN4<^i3`.<;0SB[D5eE<&Qq9J#l%o+p:rBEO*O8 -(3cXV%-t%*"&h5'?rJQ^71%(R0Rs?ME!QGK#LHW\TY:Qe]8EtE%cINmi<+sG(V>%+ -Km6-%31q!PF92Jc]Rb)=THk;(@<#^>!s(Fp+?g@pj939X$ij<9i1^DUTEmeu+5gl> -!2p(:V@;BX%)DKIVo_'%a_g&?KOYf`I0;>W%%W*!MP_q5TCXbOoaO)(;M74Tf<-?2nK(l%:Dd;;/Q_g\-JP-b+0!ah%"`D ->\(fW.0Bn)!fh[l-7IoSk@32=,ml8mMCbMnO,?IO)2tEG4enH1e>[n__f,dSY'Y8f -5BmH-:QJpn^bgm]+D!&BrCte4GLo1:kc"oOg'c:kLX@-";mbt$d"Fnm&jQ=0fU\Sc -h4ND,UCm\uT;as:[X:+[l'R)kV2"qs)@`Oc#GF-QTo?%Gd]3s#W$CcQ(ZP0>^#Pjc -:Y20%f=gN+Lu9p6c>ogcY1b8">#UKn=UZ`f`EYufi?fIN'H2:?E'>9V@IP<\"s+r; -!.iW=^^qHYT5am^!TATdTiEjV+'?>D$ij$1crpb2\-K?(A=E[sK1mHn*."2l%=VVX -`8!e.G8EVTC4t2bPJ=<4s-A*4+k!3],QMk/23sYAl/%m%HMt"\Nga"8@Qpqa'Cmh` -E[\YB0M;^3H;1RYUug/Pas`%OL#b;haf]i*Y\?cS>=5lMADu^5H*li@-\:T6>O0=] -0G)ArIVd"J+J]'sZo[NKhPfCRVsL=\ftA9+J77ZmOHpJ(#:OkToSO*o+9Q$n'qclg -JS"sLA/>4i(BJsd!IaV_&t_Q-@=qZH@N#9Zj'TG/o2opXj@=eJ3(5kUjTh(PE,nRr2 -OO2c>7O/S("bO"Pb[hTL`Zn@5jF0$2O%?&Z3Ad%!,aCs_Eg^IP>qqG#@e2mUg0lS( -:1ob>m-]9fTMXhD=qqs48#9*tP_sT9T1u7`l;_#I?E%&-:#l] -3?$-Hj'enEE&Y99mXo;W\7mq/>&SW>7Jch0_-h5L$oSV,Ku@Hj=PQY9)+PQ6Eare( -jC1%r$H^:r.?sZN4eRGK'L6dNNt*C3_:33V5)_r:;.otJr88n\Qpi=lR'7lAFB]No_!"%;KRkOE!sKiO-l3'GHR=]+JYMM>L;C*, -+U0\u=FnKN-oqk@d=bXP7ImOX.n_Y9[k#Y-e3a&V0.f/1a9<80B, -o9A$rVXbAT\#t;)i#N%gbl5,U':e)D:mZ@kR^dH -Kcr]W@p'R0\M)XEAY1VZ(3QBe>'@3!KV;i4'O0IXh[fp])CkciSV;!"&.@J4HHM)i_W]HH6R9.Q& -//ecPG^:V=U+j.lMeu<2@0,KkfE*(KBEiXNi#1Brj#edN_sliV"F9")WU9bXkHG#7 -*l&BT`uVr5gi@qc/iIR5J<>(FKEP,W(CL;;?7?Ioq%R7h"qfJgSU;%,`L_I.mti,, -msE)pB9D*QSd"=!?F8cVj=#g-G^pfh!RPV^ge"g@[YD2l!Ei4+XT`^lRRE8$dl%A\ -8NRX!2+E7 -Je/Cu5kl]0@&+SmCV\'p-`@Ht^c)M6^`EV4>S(+q7L>`l-&"$R'LIm4$6_eS"Rquk -_IuRH@3d%L0SU+SQot\)bT-e9A6YY,(kT">,Xf-o'4Op9M2!H[/MtqL^#FB -iYo8OqO]t:Lk_[48s99h0T?>h'coc9#Eb6W>,u4M`u+%\j0Wif&_.>mZi_74n/m_s -YS9VdGn7a\4pWnh+3:[5,>4[g5q7%?a*@8'A>GQTBjrbC1Z"Nu4Ah=T6;^/H8LS." -FXDqR[?hGBT#&>$:_./:b;i9KAK8.EP29J;R<^D2oX[sND,/3\6C4H^2["dB(-Zn^ -dq/>b3o"gMF>&_T?`AqQVkF?UhrLk>tWLnLR"fei% -bLG,llq&>Lh=MC)t1e">T(8>)s1-k1@_+7Q3!5'BUa.s1& -jRfAWWN.m;Lt-5l6(8MOk_"tg$GpIc"MoW8LTse^77c#2,?g1,!W2p&od-[RTmmTG -!'ZprRi3D'BSldH-c:0W%DehSL4MMmK^dLm@oA>J[MV4X"_"4N'PDs$SgONRRggL) -1^,R4'S7_b#_:hMK4jiLaeF?5MTod2L-##-WouVF]nJ]BPL8C -[I\.c>(25b]bE/0=^6p(gO,0EK9,("qu,egmb2[ -/qq`aEM2`*S"hcD8^b,XB&m6%a*2GZf=CVom9W56Gjfe%B3,H9>D&AT_723([4[u% -i-l)#kWT3$n/_[SALg'gEdK+li873GE:9A._72[9X:%LcL_q_&fOe]']J-h@3U['V -&p5DYj9Djh,p=+31]ml$JADj!NYA..@Q\@`n[:3CnaM9b,KC[b,-k6fF[!n=Pbs`n --p0bV&h6HO#NL-c`jk%WjZIF0UZ`a$W!j6Y0Mmg]FqDk79*jZB_`^r/CG)I.5SlLD -R'SD`c.U,mB.W#3o[jk+C+KK`0m3('lZl,=(1\<@eS5<+iT6ee@H;lS@6)o0IX+ -jP1u3n;8$53*i7%e3X2`"sX-+M\;[r8d\rU.>ABD(aF8-%H6@J8!*EE"5:H@%CoTL -o*'-OO95tYVuh^H\H3u6HANd"#m4R4"^sMrhp#' -80C><()0+E#7Mco!J_Cq+5B5>D;,.aCZtQo,NZrT^_/R0Qk^B'+:s?K"pfkfY6)SR -DXlGh_RQ2pUpXTGMVom56m*N^@A"6fIGbeh>Q_:Id6PD,BWY/b$C^dVf-]+r5h/>/ -(bsc^U+)X! -5Y27k,C:MAc%250aV_Q+I@ocu5H5\g0i].o9iIZaA)"]H!5J^QEo;\_Su/lW(M.(9lm8Y5N33i!ET -EC@RS(r*Eq^@W20s^/Mcp.^=gbmfM7=sb?mmFZ -3s=ILK\0E-LfjoV#DMqbJ66D3\8/O7DMK>8LEL^>#^$B.!!e=-!!%C+Uc5i8Jh-*A -LQDNAOjF8^#mGQ?\\KqN0JJ*?'nV#"!W3b?Z[G5.UVMflJhRsl-p";jK7skIJ7)n) -fPW-:M(8+`\?%Zk$]$55^5"rU#=)aKJ78Zn%0[#4!8(##!!n;]EXp/9/(:[Q>Wq]/'RQS8QA0G`K=B-\.)]=;2J&DkDE*Loc%e -Ll/h*I[9e>1gGGn,_/EO*L7i:87>s`j8Y-r,C%A;so*haab^`&@Y)a/Rl`fu]XP]TL8S&s$:'i@mW@2VZ;pW4JGDB6)Ssf=&X`8I5mBOk@O!*E_3CcgXK01CF#5Za&rBAh68^B!JZ -J-?.198>b6#==[ppi_Ep!=)_M!!m`QO8oNKNS=Fp;%R -##J9L^f6"1%##[""t4PC0QU'"P(skV#8gp#E+15g;`V?RK+.SqE#ta!=?o8d]fS*0 -WWKe20h28P*m%TNRTRcje;G=fajLZlqg,I!Pl_R3Jl!576[=85&cr^E\#[oCI3DD2 -/CMKhcbVX``-&b6=%k.\da]t+e9VlL7?7O7R_qZQJc_Sq,-pif(+afn$"C6oW0>%[ -,tY0of^BO/5/tD$'kDX3E.OIo,0"aoMhG`mBXf?s4;ss]ZeNWYU3J7.m@(oedcE6L -nN.jM'FTO:'D_"8Kel^$:=W?D$6-pfZT_B>J[J&N!>N`%E@_mZ2TpeX#XB%8aW.SD -&Yj2Ic#$q7I:FWBD9IJ98r4_n!^qVg,6BY"!W>PE.PiYA'G,gjUMC]=4_*(I@M6j2 -^&'H_ATQBrF$c5t>,p/`W;qIjn#n:lV[:ECYE29knO0%$#1tp/qgP]Uu3gtJKBGU_P -1]]9d";hXP&5LPj>W56%#+L@&&9Rsu1]S)3LSt3.W-SFLH;I.XLR8&^ci=<_D9k)9 -cu`%gNLbfs"GWb@"h76Va@l]7&HeJS=J`1QR')$;('7#lJFGf-\-ReuE.BW]LKFT_ -?(QhR&DCTVLKFV5=C_DVA-F@iKd]atfM@55#_ir:LFp%f%CHEI]S6D`!4YjY#S2R_ -07c)97PnX"A"^CN5M1>uV3N%4"X4Xl*i>+FV3QpD":2[\6;6g@aH/r1-o'mD)?>;^LI1E08U7JeZp)RYW(3 -=="#Cm".YRJj!fL0I!<0(_ROCX[)@d#ST#U8-0h)hW=3X-mE#PlN-f*ZeJI&a^C-N -CEl2;93<<05U?Jf-j#,'i"cCP2?O#*-N\65b=1iN0Hl#Z+]s"P05J6`MY=4,H/:^D -Muak6pASKQ=0dE=Ri[alFs;E'^Q?4 -efWPY+CUrnOd0L`<2dtG]Tp2WOqoC-'fZ5pnptj-12A7fhB:gq:KJ\.f/==NjtC3G -h,e0M]kKW.("2+P0B#Y`@qIR2amn=7C_b_oDt@P$.L00oSlP&USh9+4r,HJ!)^ -`b"9n:,cZbR:=GbA7e9TFcHIHNr_^8_)7?T%,L!^U]Hi7!Dk#Rb->XMADh'N[ -_T6&:n-fHX5(N\sS"MB=Wa+K]&@@j/j,.\Z3D3Wk!aR)peRj:_Ek&Rf]n9JgDr07[)n&P\*al?:_SkWBfN& -Id(+ehMjRX4bnW&-3@R-K'4fgi%9Q5/:tYg!ktDcd6<-/Dr3aTLdA+ML`lhe.0>S^ -lC]YZYU]dJ.>".]Jm][r3os_QMUWM$3XS<,p&tM:05FB@"#r+&B"%#[\Eer,""5pW -#.oKEBAelYrUjE+Cj_'/SBS&%h -J^u8e1-f\GeSS!V@b;?'m_iq=a_jG;JXkM*.g&b*1i?X]DPlL_[cuS\I2YY_-\TR+ -+W1Q7/':-RPl/e%"O=6h_bC;6j;rk_/$rRTlIAqon##&^[(>=Q8S"V&j+cq;?KSYU -9`_5b:REh>YY57G"U93m!%;n0+F%I8FCi2n7Ch:0BQXOK",?;S!,uA"J.70V/gtt1 -Ckh9EPCHkCrr_IfJ<3pZPj2EPH>oWtW<0cC^jLnK",@FnJ<4&iTFV0m7f`TZKr>=^ -W,@,NDO>lS./$h4r(X3`:mbp4J3[q)V#^^<%Kp>&"*c$O&4X -!6@fd8.Gbf3Iq`%B;d&nF@(&?PArNUo1p%f]%tRKhVMJDEA((urgJWtDr6X+JtOT/ -GVat2=R2n@Ff)8BRRE`e1L?TmLd@tk5@<[U/V>-RK)dQVrgs8S^#)p8)O@UY?Er*g -%oj/[hgcm8\17YWCkJ?sK84>sDf:88E;'o$K3**ecWGfR0nU#l!rfTBLadKA,I.AM -Y2"qd@m0;<;g6U$*qmT!Bg?>Z:3?5YGSl`Rd2s,Q8!2*R:AOG(+g -DU.^SLNqF0UQKDTKBZi_Ui!mlFnd"o!M0nHplHk]&rtoFhYXQ!ipK$_p_TC@]hfBZ -<[Dcg=HAnq-_#DUT_\YIDsmCXU3K]&otL8RfJ!fOq,DR^Rr<4'A2g9/rY5.jR!RAN -n&FpEnPF/NmQb-RqC6nEUU9M-);VMP"TSp`ph^!rD&p11#I;)6T*aVe"s)oLcDS/V -csT2e7f_12!n\1gd#C^5QmGP%qRgl#GTh]q&Hd?s"P@+jJ86XVg';9&W@h5,To0.h -!XECQ!*Eq=3",sM4olchKEXP -YYXmR?=bNr#(Ql3J7JXnA&[A0!/Of]J5-5+5D+a5-u^d%=F_"'_]b]"B*_'KMi9C,?lhL80=8hO.-7dmhi\V&X,9ThjuSRcS"l>HcV-\J -Kf5&j!.I-^PmW88TrcaY2B'hPgYm>R9>D$V6Q@5U==b-m`:.3'*unM+)"L,tq0]`> -.MU$91)U@1#8E%a(i`Zpb@-RaW?Y9b1l+OCQ-/3(\Z"]#g6d(QZI\bt=Y,lK(ZO\3 -N+4RZ\&Bt.-_5/tdY=L4=KeYQZO:SZ%7Po_?17N8*^:I,BiMnY#G]]0[!1c7H+]^j -VpFc$r-a&ZJ(OGis1`L\r;e5.3+D6VN)31[6%J/]%g*s$1^jI/bUEodY_Y.G6]dNo -%E$R%5nV$)/4C4?OZZVXK0\oi%tpW19GW?0W*U9o&]d`0@g -nk>#haV&-L-HZsKV'eluN2nDMd`es180HPK&-N"V8eQh$:fSD;_2)V>#-+3I)_0g> -AC#u=/8FJSJMS#]KMq0G/'npZ"$b.3/?ounn5O9A5a6'i8&,gm*D"VCSLmE3'Wj.1 -.,gqsVM=JOE#f0W'3`r7o[Qr@eWelqC`Do61(/56\>rQ'F -G2=$Hj`fNW^$Q0Di;c1U>#r&SJ#(WqB7XHV%Ln!A/GO"71ZM"u1R-gs9QC-2+n,K( -#M9$)T:c5]It.e'6'5\<*_hgZ)(&@Ij`sU(QfZn\>FD)@$1;kbV_P=WR`42->nLK' -&hO7g_A'"-FZWZ5?l(_lVWnsEV/lncG^_B#UBq8;OG,A<;OF+kM2E:@L1di0),=pn -SU_m9E.I*XL'SVaQo[ftJPa?>"bP\S%hZee*an.93Sje-qd.Kr!!i&d!$=_8!dbtR -&`d=#`Wh#`$DC"f+pGgpH5D?FY[W4L.<;OL#3noR*/A_#?E%Y-T2XL!>"uJ(gO[UA -*,/02%B&pBjpQ/'[Fg3MLa(JJ/<58mk!t&7EEW\aVI16PmKX'B"!"48#^(!^@F>4J --SN8S!9X*=#+4M&,Zg0P_([tS,I"BdMSZf3ClQM$DCG2#,'cY_iuS[d&]#ifL?TLi'UJ`&/^iI -;I]br3ATQ4aTaOLAW4Ho1PU/$)C%deJU.GV74D0(n:h\[^fLu-:)&I+aVEcZ9*nI3 -k6./n(4oD($AT60L1?A`U"iHP&TquW_UJonUAfdA?9,ih)H"Y%4BmieVk4gn+60GR -Nfjl;84`scO>5?\@$MN/jd$-Mne,9m@1'1qik5tV>ta++'H.\N@1um(?U0;taVcfZ -j[>E";P$n2R9;'%E^rXC/I0D*S-VCt,YUbN1a_^:HGS;%#>W7r"-?i'PL(\>o#=_S -fjQ\!6ASK-RR9eP$T7!-fp^B(="o=j;3_3WFm#T#9o6>>k;;FmPHK"&ajiIcK^V.O -*X`^jLl@W^Y"R]$)$3W<@?ao*"m?kL_54LJh!98<7JAI??`E7Zn_>GebOJkL:eHfB^dF;"`=%K:_%BD?gQ\3Xm%dI_,%D[o\ -Lo,hUJ=*GW+=Loa!!YOjQi\==fDuLknc22'(EX,XHOipU4\).H*eVN7O!3K_a,OsX -%NK\Qi!;E"+9ig<=9T.BO9:5&WWM1U56_[B4*S,jP -T'P3iUj)ErXkhDJ<=4r']LnIHeOPaGRZke*"^iU-d#K$\+DDG'Ce!!,>kWn`/KJrl -Pn1Y158h9!X^aV&!:b4X*iNWQ_2K@d!,m2Kee+sM6OD^&.>>q"%Q/2nVNi@$<@=pa -`)pIXcm$b=93Pp5+TNW(0Wc&,?uX+Of,=n,CgR9X?H5>n*X"$A<5Gii"_AMh`RBYY -_]WAI_0-rhZT;a8P1#0KSP6u.=DNnA^^D";39AU=(W'cm#N5J7*jaW4O'-u>B)jL& -:s5?elob\9cSPaVghAAjo)$Y<3CW#b8(JsBD$@QaO]Zpobs8,36-ZH3^[E]F9n -Nf)5D/;C!kNs%_,&Z/B(RYr&:7j+KnBjFG&F[h_J3hKDee393b3]TrCbT@W!CRFe" -Db]/qJ*F1,U(DF,=d%'/C<_a)&?A[AT:ME+qVZY(J*@[n`5,mA; -[!)`3gfmj!mS1a4?6r]8oA*n!oa$XWm[;OSM!BSoT=LUX#LG:X&FPP(^VQ5Ve_;=" -n6Q:7ke.ol1j=H^b!j54%hZJ85W&U>cmh;RW?!)mFPl'Pa%,MQVcWJQE^!1@l/aX> -UUU>bkHm#4+K;HZ+>j3cck?Ff8u`IXh9JRi^,K*fhq\TD"/'*5!`1ES!G/![cperW -?lK\eX9jc^hD*$;$5u9XTtYNoA4Iq4)rk`;%ABd'7]=W6@m6WGOc0B3.)Q)'#[dZ& -IP!gHZkU;\;Mf?R-,^'6&-8"1L-Ui167=Yr@>GX&!<*6+nZ(T27P$flY\1i? -T*rJ]"8qX!(S]+[$R&=M76mFGicID9nGF)R5[4PE^`?\.YB4Z@JD0`ulat2KG1Qsd -NgjAd5qm+inHB?bMU(m6dT.$t=A9MS -#tJO":Q?oD;U/[E3.m.u#^QpKG`50Ya?nB[@gq=WlNj]^+QYZ2$cqMVIgGP'!&0rN -0VBbG$pasC0gJL_?ppV>#iPol9i6^?jWA$uI -I+-2$embX-_P[nii_?st8JEmR'QHkmY(A/5faEMh=b&RGa`L];n1`,U'd@a% -/#Xq1IZI!2][:^6#ltN5M%NUC&TNh-NYDXNLto-UUlH`9@NZ*a*r<]J*8h)Bjtn/t -4QK+M)t1N]/l#qp;PjKB)^05'!HN6hbQOT[$=Ha=-E7==G09*GkKU['&Yf(uK+tR[ -+CJl`^ijf"KF.][$-V69-FOJ:4p'\*oRUQ?iJJQs&fUkG!F_W=$B4DHIMT^C(<&T6YHDSWNngojMfV@)s9 -U#^U)0GXZV"Db*ib.'`L*@Y5Dtgg*=`"9jZ:^fWZJ"W$`d=4)45 -a(.>`GgJ]m8CYF*FB(ada[/tO9OpX2ELQq_T,L%&%'eS%+=n3-\,bKu0h0b6Wd@NZ -:Z;`Prgd^HFkP:]9KIB'(JqQ-XLiO$U@St!AO(VFrKZ<+$]lL:-DE#bSS&; -(SLXSdj8=cj&EH)@Fc>F#*:jODs8Z=(As>K05];6=[e]ROU.0/HH_IWLEM[> -%"LgL,"F(OOmRrqh"Iur2 -HKA(HGI;Da3I>>n9hb44'\c2'JE_Tg&AU=<_.E`lAf9M@):-;B9)29TrD/dE@$/H> -0t(q?'^Q=Z)<#`?!Ho.fe.839%u,lJ/!L:sGQm#J/:nSY_PKcPPerQTG'C0@d`G\n -L'hqO*+ -FL5#Gof%f;J_2Y-2=6#??]ArY?PW5(@B=*rf3f?s^\@50Fq%jq'_[pCG.@R3R0%pt --XDLX.?cs,XGKmo#kKH$Cj6=uE$83LY7UUM<#@JnW*?%A@M5Er$&5O^T"sFBV(I"h(t, -Z0`@O`Wrik`Jhg]$%Io9"a-Q?ObZll`H"H%X*PT:3B;:^gID0 -jp44Y#TF`h4+k"-GuXRT<&N6N[(&9>I\D(=UZ9CSgD,;m,mi5_,qdI]WqfKb#CeT6 -+8GS=+SfGmVnBX8WE[SJGf3SC:ACh*YhRP2\K8^G;ZQV=01a7k2M76>-k-_&2T(>, -5c0K@Jqpm03/E9R&4L3k90#B63K13H;kF5Dj-H!fQM5Ti+B<,SapG/eQf,mb$ujBPnGq-YO.r:iEM.]H+F)BM&jSUt=)mS@m3;KY%i8 -MDUQs_8gMfj4FT_D@$<'#i%NKJ,;.dW]XL5#T0n&lHBhtE#-I7D//ar-86Ma!$@;>CO);Du/\53geVO`o>MYDf:be+/?q\@9XQn*/AW^&^cfKSd]`6a2 -bHl`%&th&oN!B01ib`\E0]sBOX8a,`!Z+,qqLE_n!-?p9iShJbiQ`DcX>`Xu.0$p: -\c*H')s:_cljD3TaU!'Dp4CBp?nQuXLU2Ok)+TkF&!ZQN3?/s1@`N=,BBGjsk+6MR -hJq]u+dMbJ_ON._V)t"G8],#84Fi(5.+H?Y6o#cG`1k_Wm2tM?Fm?\^lMd`(rZOga -XU.RR(=OU1[MibFM>%3TNjcW9?f:APAn^;Ui';DJ*l&u??tC(4J0`^!^pAh -n%S8[.9r<0Eg,aG4M)_o@$!D(`H$rdEoi^ZhX+#DB6[oXlTWSPs"rN-^:R(\bUJ?j -\!uaa1\AFRo`$h@FHc#SZZhOEa+XolTL]2q8@h+r.T(T4@"+$LNX>cX$-5LATVa`. -GR:=ZBOHZZ]3cB&gjfLF;n@]_7qFbn9R'oAK,nIk?RP_mc.7*X8Ld=rZ31IAh(-:= -L5qo/JJ@5iDuq2$g4=A;DWDX9rYpA!)iOj'LD@GO"#3*Y+96$^5SVRH"P(Q^q=pU5 --Oket6)_k:1`8\NEJVui1E;CpA.eVOH:]9CaQ1d;7'9<;PtB!#ab\5T/s]/n'7&*] -Gr_JAkL:CR%Y$p@;5f_*<@4,)Vc)ZpBo(WA33#u5eR?.+Ubn*#C)._)MP"Ar9]gJK -f][?>*tN5KgK?MI+@'M@O,BUgM#dP:Q1Bh]ebSIn>PMI+s'81Kg -7ZlcepI4O-o(:7(>k[fl/#qa>a=>'&mQ?^#'0]97obBsDP]\3A;KR=:kXI4YWAFbZ -5Y_mo@1YC.K:p:B%90_u9iP,8?4bCCL#E*co5;6Q3B_hKL$/H -'8?-JVA=inAOfX!p!ogN>'8Z%Bj0)aYAIK$E%h]Q2YFn)eJ/WV&7"oTdrec$%G>q. -=)Ho?KHTbJ%pZM2_gPb`h8O3e70N&]i$Lh^KLKL3m*JVb= -?l9-S4B7,h_)P5!KL"``%q,/Z;j:j<7TEbr_#Qe5"JIMAq`Z06BhD9&[We?V\d!GR -BDN[$O$$O;FLMM-Y]d-!b\i9:B\K>AX(lspX/p)_f"8$LqW>VtCb,qr)J9(LkkYHE -?Ifd%\VNUZK6]^@?j)$'7k3jT6=q8j@O+Dh#pMX$_=5<;%Ddl&5`?pZg^aH06p_\> -+G]9/fGm`pK,CbGb*),]4A*Ju+GTM9;B1HBW,D$ARic.FG&-eSQZi>:F-cQ+a*6Eb -^'ArB?l*KD[Dk@aXg53j$`"aH+g?>2#D+('+YmMO^_;XnkhJ:R,ImR]%tjpF5EWb7 -(fGs^+aOB[XPomn+@h4jGdWN,oDF)T=8Vq7@GV")GhE*"A7>PtLaYNmTap"63s*fl/"NKA?$[p\l[i!+!W*8[2,uqjpQ0L@YN=7 -Qmam$+jtaj:p(lWLjKA1+@ua1+?'?eg*D3qOVV=q=Ub?H1WNl+*KTaj^QJ9k#N4_E -URCn8clatEL`6s-PS46TEXVu]5DO4c2b)HY)^CScNcE%A*QUcPbH%I%7)dGA8HBj) -nsDTgbkec3n:$GWrXEO0!#T$:.33a]+37&D1D#;KOfgq&(PI:hN+n4>A#+ -\;/H=,=J3H';C^lMa;YB7Ye[4T+s.7A]21aWb!0Fi]*#4&k#:4+?$$gigA/>?:l?V -.A]j?Q.!`JRYc8?-3V8='-l%$mA6]6 -0QIMCcY:ilB>j\=mj/lCAXEd,L`g6$H+CRHK(%ni\o,ZIP6(@%#i!6+=\Y\,!]i$L --rh4[1j4Sbp%l1&Rcae_]FuB%;+6sS.rCNU[*mCs3bk:n -lE\aYc!"mM?T^d&))q8Z?"_"!91'YMV$GU?ZH*n7ps^F -6UY.0&T/m[aH[4mN&Lli=:sK"$\GhcTYqdtKPkrCK@#Y0_JCq6/_iA'B4_qp7P#%C -MbAeYd(:.=4,QT>&B.Im(1BQO&:ndd$UC@9LG2+9KV01q@djV\Z-!);/bY(^li7R$ -[K4D)4r7[Q$]37(#QrX8$NT*%")M2-EJ@]7=`Z0+gq`)JmB)FHlO4grV3eMh@3dT> -q&_uk,#?nj5Ni7OTKo3B>Z6[hTgq5eYi26BSqGB5_G>p%d"UR]'/ -;^kV@,-qrR*^;FRjB28U)d@3$p?_+O:6;K&pLGN7Dg7(lRCqR;1R0Y-GTRPtW -?,5qXDV\`;ckA+_cjJ:\-s\_aDqp>i]BK\&=4MjOUAaS.GK;MrHh@$[p!ZY"eN'OS -a+J:?&Pk=P8d1mHeV"_j`'P#!L+I)-!aX^'GWW@=Xl[7`IB0e:(Eqjn$F[33hSkB& -F6'upOE1>+b^"+_jrDc>h#M&PCBjq![!.P_n5j-lMF.Yi<%+DiZkJVUp]ol)Y*Fc" -di<m77^?*L2ga$:)N -Ipq]o_V1qZ:MuP\^%RG8(]3?=oDWGF#HpfK!l10>JN-pF^k=c,+XeoBOL,lj0P$.; -U,@?9fE!4)Bn2nTq?Co[!J;AEMVl2k!<@J*_2mo6?lK-'W!l66Oc!9W6&1MS"@-2q -5\Lr[P%KN^IQ,a`&V0U%W;%_K#7lDj_!>LC!0K54$NYiu5g0\Q;):Ju%OJGkPGfj[0J>g%7\sN,'^J;NKEB![2@jU35b%p&ZXSuR8gXNUV@X]S -,?#pEA.i=k!\j-jC]kDM&At.j74LfhMFJqt&V:X.["1&sU_T1]2@.B]#eX>/A4R?, -9dT<'_V?mhkoYeXZn6TL#aW)0;9m -RhJ?fRFGh<9U!J$PR]e5^)Q)[J@dgPPf]G\a]+a$UmoK-S.#CY)`SWG=;ApjR`Geb --psW:q@>W;[L7=$3g_9U;klC`,ar.fOeijAU^1sX?NR'JoDI=a:j0`4FmJp+Abl=8-T8b/dF-3LNn/r#^a5D/'Uo? -#B0^!E,0tpCPE*""pe"T\5.aU&He[P!FR0Eb3,pb*'>4V:'A>"gpdBie';'r7Of-J -4J"sA;+iIN!Qu%=)V:[gH,_\U:+5HmPirT>n3\$4JVY7s&/Tou,lq[)K#eW=3"^dN -5lgC>KU<2OP:$M&<X*W;4fR%8b:Z!E*RG6jUX$)UPja:u$qt8sI]m'pQq_M$ue9CjhPiS.s@#d5;W! -[%J,^:;X&B'>,10r!>mHS._qBd*38&4VQ4>'uf5Q5iH94#Sk`=,:#E%:qU)PPp[F0 ->nL?dd)@Y8[1:Xh0@L@c;Xl6a@ckuFj%f0Q_X-A3MeAg?m7uI)dp5$D6o-WN6pjR8 -Z`#W)H:WWf5p;Ah+daYZGUJS\0EY-.K1IshcoT[43J3DR<+n+M:bTa)&k",]`&JQ! -"&R0U'*5\uPVbidi@2^7:aQV8`4BD83b+=N8"JplPj%rE6:29>(;sVN*D1RYW3$YXB;p/N-+,h`@NHj)@6Q_sU[7D?Q#'B!EE -<-d)+_:NOXQ,In^n-u??RK4n)[HJFIaS)KV:6b9X=@$=bKod)kL.jan(]ohdCQ#Yh -9p7:[^_1pjL`AT0L66-d.;Oja*Kf$tj-F_K.g!R*`G=0:ES;'[:>-X=IABelY#D0k ->&BteI<+%qVcno?$(4J`HE\hB`Q*Y,)nV.^J_;"3[?ATR/D)2Y_U?TmVB!sH]t2QA -go#a<`K:u[bLL6r>2$\P[&SI/4iu(YP;FH(X?/M@79[sYOhr(e_5tjA23>AjMriZh -WL^/^=Y5B`[EMmXP83VU!<[Jd1RQCGE"mgF!I,[fYS;\^21Zl-"BZ-::g*jT=pFa( -#4j&Eg+8$;IfKIu9k2K)q>AJcD1FlgL,]Bl3)Ta\;?Oc)!a$3>:!(95iD1KXgm+iE -biI&Xe4sk!:4;F7&AY!E6%S=N+e'%FHf3^#ld$:(?DtVFUb+4/M?15nJ`%>qe&/gh -ao^K7K%N!-Ld(n75(l02"?S#aa>R=30>?'f!E^`O-l2q'1lJ<=d$k5u8Jmp^qDR1? -!BR"6rXOK:C(d8[Z$6 -/)^[R@kKNH4qQaL1LUX-@@UZ]?2%i[7alKm$b"lNf\L*GqRA*G -+(Zk1Noc6g0_s;.4_';=7L0r&*4B)]ojcimk3d+MnMNlODV.p3(FsC3l@RX,HmgUj -))ZeCep(9!GlZiYfAVFnA;7+XL8h=r>h.$Ne9FKQ^!(IX^o`OrMO0ncU0.kTatA0K -c@;6R\Z4n8]@r06C!)#=-H^QW&p(:.i/_)64g5rqaW/1G\uO2KUiPNau]lfPrqI#bh]U=cU](.B#)d%;qj$N`R/JhT$4+>dAC70Qd#"]OuH:iua\ -FPZT>h?+rrFP'6O_(Nk+<-LfL]$BJY4%bJ/pA++Pq&`0,Q3l-k_.Ys+=E.!AH2/ -\.li"('7Y(JemO#dfkcMB/`BW^d/TaSA#9up;15q'3$3m1b'/=)V.jo&]$ClVEWA<=-HSi%hPq`Tf-jQ/Mt!7 -@FUrQV!ZX/&7I^>1pnPWH%q]*q!dP^nZ&PX\f5Y8)faIL$DE9`CJ.N3):M@6DFYoX -dgK*$LKTTCf]o::+#&m -LKJ[bjHRPi7Y,#=>Iisc;7>`!Ru)jlqMZ:0\="4sQV+K*!"noJ@WgpYp).=_;0[86 -Bm,PP(i>^EKS^O]DX7;9]:=05&Ro0J"DBoi'[RRbo5s\`lkSooE2IQ\,T&R#^C2MR*kadhD-#K_S&pGX%+2 -Sn^*QJlY\`2VO\A_]63`E&1@a(?D:hsGcZhLI$Dk3c^;QGRR -DE!L*-['\%Z$R"e)/R73:6`t:1h!;@#jU]JS&GGJK`ggFJ=opIE!:u8Du_S2%>]:G -kJ1C(FatTWYMa)J_Z0hD%59"/Ch!WcAa0,Q4Gu,ZqeqAH%]\Ulf584g>_gGTT%XL3 -U+Nnub<oXalT76UeEcS!8MBK(lUocYun"?.>A0Q -_Jt+=?9=#VLr<1W*0*E2&BFtDr(qJm)@Zl0iG9c;.Y\:=d%O:eA3c3=VUKh/k&ibW -9us[2kk'-U)F6gp-nrr.1o4+T<9f/qV,+)?C6a+QAuf.;="@;*"b+EsZ<1qO4#Nn_ -CU;c42j`.k:0%W1u3,Kpl%7_Xo^&2f!_2[oj8M0*?GfF$/\@cuT+d9t.DD[0. -U/_L7&8$W:YuoVQ120CMEiu8r8&('2!pN)YD4Vj`[`/3]^N=MQ)GLEq_0i1[.?MV] -+e:)f-Pd'nH(%RM#X4qP87^.W0Wh<.D@/fFM$S]!U^UenkV0oL,T5KY;8OJeZ<0&6 -:?Q,qkh]r.)2odB\h?<8lj3_Y!s$@E^S*X@8K -OsC>E!2:s#JtT=uMXDF@is&A,*p3]#b9Y7dOfWOAa&03h*65*1fY@^-cu^8KNGE(! -#&e%#-HC.KIjiGPS=_:R;REDRb>QQp/5+FHG)6CE:eDB(Ta4$tK@/'01_!1n -PiFdLe#`(#:K(pc4p,3N3"Q39%*B51$!:.@+cscA'*R8W$V5s#EZIcKZr10uU""3. -8^Oj+),+"#C0Hq##Z+c_,b^lPeN< -ZipRD9Yi2\'SW5o=G$eDF"q<]Lj2F+KAcer5QcPP1(;qS'uP%D=$;I`=P$R+FPYPS -hfdimSS:<@JF2lDKE32gAg%2"@=Y#UG\'s2JZ8pjLCu:_jG%>5f9S.9 -j&`*:>#1NI712bp#"as*-QY&8WIA#c7 -*eC&!=tYr4kup!5V!5HsSZ(f^@ka,NLi)u$:gjOs%c]H)m:>+J/M"-#aDIU5U,mUk -+J;$UMWtG&k_,E30$'>&UUubES]QaffY5Emql#F/S&@]>[[G-&H)44j\97\=:p(!e?mY$/I6onH]T!NZdbZd##^5E=e3TG?hRn,k(T$ -fr93[!q3>ff^Fr_H!W_%jS>BsS`om`S^fq,JDI^H;R*-RmeD[X?5c8kXpQ_6!kB]g -&nZY0B:^4Xid1YQZ1\/>BD;IVru]karVt4;!'eO-s54jtIq,8U%[!+\#%4V9@^no/ -_&=5C+DD+sZm*.B1fVe3*@[(q-,K;"b96u&K5Z2P_O%qCRL/=nBaDOB'*)F!4bSpX2C(*uX -dKa1!p&[$d+3 -@U^0;DZO<8,*8tm_J.RL5k*@2Z_CkB.>r:_\.YRD0LdFKt0dJUc+bCb6!LZ.X -W2M5#UZEMl@2B3Rq1+(i85#2J&4=8(?6C]939MRKSC='LRLlRVU'!5,&Lo5*)#8L=/FY,Uer==r -H*_>.MZL9)(f&30HL\>Qp1c5*$'^:L(hGV<3$mg('q`!,@9hEleWT% -#r(_6>$.;Nb>OL$hXTrF/]lU(B'e]t9a=NfgS9:?IHS;5h8!0I'M%Lk%bf>Yb6t66(Ybl9S -m7R63$gjJUQ?CJ5h`>D*VStgsO$eH0$teLh%Y9-i#_9E."Q3;o6]`K%,,>R'J\D0) -nGE7gn:#lgqEKK1rd^Gd")8Y\W:^/j*.SlH$h,2j`6]>7+m9JmOLtn:kX#Hh#=.GD -UD+j]^"8?u>jNI7YgSas#)3s638t+IRA#Jh=B3/'ZNQCVaWa+!r^XF+%]aC*Oj0@[ -$#BGR\2PbOgo0T'SJ0.^ZS4t2JSbR\)5/a9FVf'K2%,MO-c^Q8A#ecm*R3CL@5Mk&H@Ip1FZrNM$bl,@N.^h/^]fi+uC'/!joo6 -Jdj=uEg/0+Bn5@Z4II@6+Ug@DD`E@\@15#`.E$BcTocl1GOBq!\[s3,7^9YC(hrfOdRsi#I@%54@jol.JeoT+ -M:.(1`Khe\Gs"@qfbqbu-;Qe -kft;LO^95F9]Hdk&Xb$7+$[:\b]R6[bl)J9^ZbV+`?aZ@-sGMVBQ3!>['"W+r8#Du -E3mis#^t,(/71GE2=SR#g4R:nO[`M>?pSVjSl5eQ!"AdAj\E5,?3OmO;$AXNKc!Yu -$9>=4!Y?E[ch7Pi**$r1-;.$/X2rU`3mT1L:Q.KBKsChj)QlEdqh2nS#-uR:4O2;< -"n6"*bJIUT3423c#,q/"6]A&k.()JT;ig?C5XMt2Ws2C.\BFBV5ZIVWRf)ZFr=GW8 -`r[AONn]Hd,`TPG:nJ,WUC4<8$dcd"&B>10/1CV,6r`LI0jRj9dUn -'*H$3nLkPC^ip3>$UU(8Y#pnUo%g$h#`R,d!sJJeN=<&0qClOg&SDC>CDKca(6%n3 -N;WnL?A_"&f&3n=!3cqU7LfGG"$n1KJ05YZbQ+?\dk*K,XZ4eS7+AKF)UYi4iOT$J -\q.\&&-+g'i5>c6_?o.$$,Cik!-\j3`8"(7YK_>5Z0)qEEf1"om>[;O,5Pqlkans( -05[)#W+%FI\KK#f+AqqB0`-&e&:\Qb^,"5dKp# -Jt,_jXQ^GUN6jR-AGe\r`BuEB,fFarHjt]tl@@+D;EGP&,Ugr9k29)\j0Iu(C6\e- -7?V!@U($8F*[V:*-L@ui;Wa4D3XsM -9Lc*M_A\T^OH["/R#+"N%B^m??MT_11)%OV/YYdI>5G8-06(2Mo>H!pW`fV2"KO%: -7^G.0Sre"<582[`7)UB?4Ur%Z#g4>sbC^(:8-FW,!43@^"V=Oh.UkY4^,.&4d,>+h -8ApSX61cp:1aKY3/O7fM6i]bUYTC6m!!Wg*!UTajF9<=9>8I[]]S-Om,s5>-XZkmG -+NDj!PV.;:3CV>68/-PE8#Eq`$=BV`P3[-rUQR>gROFt=7*@]u[!bC8K"OM,A-PIe -1Y59a[nFtfL!^*:anGSQrtX#U9=3)>o[?O!f1jcEY%+1LE7289_?:uI5([$C`MC8% -KZt0($&:K`-KK0*L+N`$05,lT_m&[JCa-ZPV+c,qVW;e&kfcVSV2;;bLM7J.%9(:> -'bs)8#5$j@W%A)Ig?2^aPqJGU18InU8I6\;[,>J:X]Er,0$sf^_.R%49FJ&%)>IDTTfV1 -OpE1:#N0QZQ%HeKhd+D'?'T+uimuc,OW[O84Xf2oFk[rer9Y^2+Jrs4[:2^-ip?@7 -f%/aO' -96sU5=pGA$4S(jTi)!RQXXUWtEfdF/$2h6R1Gu?`2=+GdM>XDu.ZZtG4Xq^aj'Y!Q -eN+n5T?DQFGBScK^N[bH#@e%-K@2mN]dD(Z?P](Q.ZMR,>9Ya3(Ml9@n_a&n[:nh.$ -96.Cn)+!bH\0^Nm70.pT5[22.I0K.k\/0[L]n%:fI/"gk$fY$A9XD\U#Xu9rQ#hS: -kg,S<=q[S-UDR0$)\*9?9uQp1QoeAO>D7epKfC(OACb4oL/EkJ]h!WN@!i32Jd0+$ -Zc2TkoN_c&[d@_[P"'a.)&WJGF_O@RNXE6/rZLI03b+&jFFabNn'K89k+W-*\Kn*#QQ87XD' -ooQ]oL5-sQ@bVs^BLkg[4q*uk+IqY'O\fM?B/0:A=KjA:LP=A^PSl]M=Zoj1s%A-a -MQ!a.i-kk1H3jRT#f*):@%I^5I))li^g77rF9Y!L#/spmq)4(0 -h]C2@>mC>5RneY^poq:"#.WudSXf+XKA.Lrr -%jUQRb+&r>$ -LlIL)aSCL8"eb_j+i6lZmalG>$*Y?Y.umFP6t9qb)!5lF\F""+'eU\cu)[G:Q@)gR^L%YPJkoX(ipE19k4N -\4)B97mA!(JfYO"XM#U7^EQZ'>YYAP^G/d/)mnfIKoRf#ALn#-5Hh? -.=]=C#\E[Z,ltd91fu99`WYE+:uF.!&\S$Y`sc.,;\WYFHALd#a#n:Qgk3\de6.9cB8Ca\Re9."\%e$:>90QAY^ab2td -ob^)Z2KWp5LlJ@L-bWm&HD>YeKq=;Md=+E$0j -#R:@*"^mu45Y;Id"9[T_&O8Ah!?qVS+;4`1')b&E4[9Y<1(qDo!l7>A^`jQ1Oo^,s -)^#\2+j^4?d!e:JRTZ]C/PDR!mJnEu*e4A7JW^&-O:f8d&\2W`5]f%\E%kl9?MK"W -0&95!MCr&fgDHj7rO0JcN,dLC0S^fY>_O9Z8oc21g5(/R[:QWAaRkl=bI.f5SZLW# -'F$T84;o3<8r,\M.$V+V8EOUF$$84]8?HnhW5.[/^)*T`!Moi`-<=Lscb/aV&;Z0D -lS:Q%@)T0]TdAqEa=f5gM*dHe+I;OasrFDX9MWCfCS\tH"Q.-c]8n&*.! -M(ZU.=0&*GX5m'X+F@qV3$jRV+X>Dn8KNZnLoW#Ji-M,t6H'l#>BB8YJ%"'>\sWn/\%NM.)O?j"f.IKDN`*m9M&tJ)c%oskK-;6 -2gENQT(ja@qs0jDmKNce:\MaS"#l^0/0>.*Xs(n_]_gRN,p*1O;Ce]XeS.5_ncGnR -T'.I)Xa*+Fm=/"b)lId^X^3)L4`\;#i`oi@86IK-=BicgS'0XF?tro3-'gh]j^rg- -m(ADC^+\nQjW7ACRJGX*;=EthV=DO<##?`h:!;Np$TS3jmg-Q:qVT08-G)`:a$uo! -pO^aq7a`IP0?MQ!r*9cY^Z3[6K!MTfZ]HV-AdntL%7t"//f0Gb6EsXW9I:=,KL*E; -F>=aD6t1-aUg>VjMT4ZgaOGB!+,^>6P$'&$2%1'(`Bp8kb[iGpbU-7kUu#`ERnfjp -\b,TH4J>R7F;cGHNCfkmknM9?2PEpG;lZ*$X\Q!$XB+WZg=:M[?a3^LPEDrZCc*,k -#30^JZJTQ.>AZ9F*J3g*]if8tS)sYJJ\L(3(eb\]&Vn>6Z'_&!0--1rAF]J#QDJ.27XB\krs/*#t'\[=O/]\21?!LP*s91^mZWbRNqa_:[t'5TgXEA26.b -N(G:X394NKr-rN%A+tU]pB.!S+V9I*;BZm97HXAlUd?GU^YRsq4/=J7pj,%C>Xm;4 -Id3j)*UibJs"K2u3J'?riWqjFHlkEV.gs5@`&A,mYfo!JkP6"l\C^'+BP-3(9-` -O^qi#jnY8J).pAkCRY;qYpl.(YS(^j1:at!)lF5UE?-/NdWg:4M=^ci8,*(6c1?nQ -3DQoVmlA]M[.QOV8&t[XSmW/mG(>?^KEi>>5WV8h_-!'DL20n+)[@m/jr@;6_W'j^ -iLD&f7eI,4QdaJB92neh9i"bfobCgR<-=I7=k5%ed'L;L_V&4Ll^N.q_3ME`>1fiT -4R0XhaEmWr@FF;M-1uD;>$@Vb4R"INPs&V\QM%k/>1X-/Qj,K"3#L=8NRfrBUXe3` -hBUS14C4d?mOF*GUPL)0!U+R5L5C9$+q#5AgOp'He\qHW5NE[U^"^,Jcif^eKBfb5U;/>FZ2m2b)$8"I<+I,E -&HXXS6bqn)"+Y>"!O+J:%6,MA+JmOP#Y>,,/.P\i8CE)T49r[lWIo/4(*R-,CsdMX -"N\Qt!nR\bfbpLf.)ZdN0LuKmq6Pe94q'`U3/_46.mrgG-,D9)$;"naB.a60!_AXk -U4cj3&O%nCKO+o)80r@kdDNUp\EOsf++l:')+F>>*FkmhN,duA8#Yr!j704*0[pVb -!'ile&I8NTT[=;n?E\pq5R8M9+eE(b%ft[S#12iU6]b(O5l?"o#`Or[@Sf[R@4m6( -V@uS3;(EqlXd0U!:DZpk>\14U0!#C]bILn3AW4?iP5\l`)2U$o1rG^OnW(I'-:;6A -9onGRBbEsuD2lKT3_YgMKTMM]c=tui>eVb'OXcr&qk""0C1q -m)tf250i.oT4=\'VZV&J!BH%a"2#2kl.7sp,)&]i-QhFYIA.E>M,;u$/0 -hunCf5Qj4TO9-Iq#^MJ]!'UYG!$@'cW@-DuT.76I+8$1jNdqHs`o%+AK$4OZ+T)KI -kXl#P,(:KM0Ql]$^RhYP)Gd@q\CG/7Gp,`c86=iVDWk.[YDWOJoLM:6L%j7\Tb5]=<8C@D[d-! -/HkBQj$Gc\#VoL&KY)IFD=DMS%VCcRGfCTL*&F`0O:p,.$Vo&8 -$S3,Q#-cYr)[K[V@;WQH6_rUDrRGlX6m/jeXrB`>gUiJF/@a&gHpQc*>#,Li2(#9P -R=c(]G9AmN*!pQdL$oJ:^bT<+:_d/4!X=H#*sF2DgDb3QAhD;F[s&@.M.9F?&Ga\^ -nlXeRq]i\R&2%G#[*c%t=?oM79<]b=hXL"aE(J=k_E18$XX63P)#UcD7q6!CgU0(? -k0IQ8R?+Xs6-8p]-tPN:[pU=:JCu!S5cg`IEhS"uJ=mSXGm>_WZlar\o.&kgf)m+9 -_K;3%':Nl+(ugbtM%U4.770ZRA5F^cD@D*U/Aqkr+f19nL'pk<(ePq323Z`6'#e6Y -,;c2qL,q5Ol(h=Mo=uB$\qGij4\4IOqt -88Te&,_//dVgoj0#A+HPLb*&ug(2&7BLCg$NdS&] -)8(0@^Xg!VR.EJ7c$>X6k(IW3UEjQdb+La!!8K%*TV`[E(iBpnCde\m.OkW^%2d!E -!tIa,4";BFWT3TOopU)#5R@3.!!IZ[?iiL'#l(;BoDfEUZ.j#sDQ;s:Faud-2#p1s -(SF$"M4c[P6\$Hli?/tjD9*1PBtpe.lHUotGc+?P03/hZa]Ip[?[T8SjkaXB;K*PF9N./:-S/'sRA,dJBD4kq*q6mKQJ+$sK`VF)l>akJgY -QX+o3DrS6T2MD+qm;M-kiqN0f5%C -,TmXB68#gd>G8)c[$"0@Tthr67(.H3`&!pC=sP6f5/^u$S(XaWn@P59a<^`GdWO/fa`8/e"%bE'.O2E?nq68G4@6H&AN%A43(qg8Do -&@'_=_K9/&"COQsEBG^T[lIj51g`]\A]@\]`Y<(*A8!N6EfBkZJP/2"qBa(dBb=5h -UFT4C)Bg#]i?2@S1;SJpORt`cOtO91NiS3Vo@X/Uh(b%(XH@'0gX7Wl],">)O=Q'r -0]dmH!gpoQXR'Xl5o`=p:<6s?aD?ROFGRK['<(8NMBEskGTDE-&d(BkJB1=dn-9-d -BE1kB',Y^=;P8fTI6.85#O$X;!.RR^RCc\+.H@MOFI3=)\4P_iamhL83+.8U?j-64 -K^_5-#XUj+!RYtJV@_GflYnTrlEWcuch+V!K`'12^JDfM:`TV\fU%MkeWoF=\R^+b4U@!G/2JC[ -1GV&/iXnK,#uEt9(G$.A>@o4.3K[2XUbk(45_B=u5amde+qcK6eIaY?%(:85[?F.@ -.DRd85G[9jV"@hf["tZ-7(#mjdP0#dN:;su2GflBJNHkkUi"2,.FJYT;A;g3ng$%a -.O$LK>dlG?^N+sSFgbf\f/YA(pfq[:RN+hN=JmP"&l$+OE5D;i8,4!4Z>ei -e$VEhog%!.5u[m:*YN'-T\6!L%#C`/,I/R=-kVsG*?(Ws+B[p,)[S.,p!!#k(r3Z) ->^4*c[#:UBa*Z4"RjfYV[[>G9!X"W=@XnqRp8!V%MiC'?XXdE%.b3W2eb"YT@m7.( -i?.*%OjmGEa;G$Z(BO"f!<>38J-cC0EW@Vi!#Tmk+F?]0T"BhAajk=ON1("=EB;gP -3p:sA$D8j[H@QQQLTgda[$=3_FpFsk!#TtdJ,tFMB7O)s"[ECu3'f!$1k@VC!jEIB -W$-`'gq6(1J^g]%F2Y,6HO/Y_*qYY#$h+_3T]fb"Se;)C3U%o[#4AdK+)]`i4PC$)*_Rj@r`)!dH)Z -i4:Wd^s/7mc)f[(7,9G[Y`=9G'_;2f$)s&UrrVcm""hEB_5'crq?""a0H`?j9(2o7 --`s3,JsjZLO`m4A%Skdi)o0agq5BkuhLU@MNPWpAF;=r=on,s3N]F_3WMia@da6g5 -?+$A!noN:9S($G/=_0p+"l%lCgg2;!(_F6/fmmC%`B5gpJY4!6cl&(UQs"iJ?F?B] -($pg_WZua"JH@.T!Y!rl%UU,Q)%AR^e`!2P2iR&^ZQ"E^97Jeq4Xso>D!/!)o -444:>`6BJ^&k4Sj'LT+S#^p"9nJ!m&7u2M-S,#pfGo!^'(gk.CCRV -*(ihSiIXejhlq`"hq6DP6Y<3KLn\0GR[)mi:)MrBgsa'Gh:s2D:%_q\*FYN\@J1_t -ZG%@m+X(W%NIE+li]B!f&"D?p/J..c\UG&kooKfl1'f6DWl:j:OKIAYX-o1q/'nWA1JW.p+\HLQF?.aU49!!D03;ZA"*EiANfZYgSc=FT4 -O58oZMeK\6*[!!;l5AhlQ>qm\C4%-u#ZI]C&b$_?i"uLA++\q`JaaM-i#_ug9*)*] -[hp%urTdcHYeA%f?,XNArM7ZRUKj&7JqDZZJ20gI"<'#'>1(C8>3-YZ".2N]*5Lbj -HgeGOZU%^b>>3PN?+/L9\;fU\Z,O;*D7c3)]WUA0k]e3(n<_o5inPLT)25t57E$7[ -b>*B9BF$:1][b;00"s[I:oE4)#oSkre"$*]?"MUh4kL-:fftHU -?*5sJ`d8*th-KF(_OdjkQE=p4Z0MDr$ao%4!$;6O*eG4IJe00>(aB'3,(]e3ks-): -`L,Malt\-#*'4_LO;#(:_<`Mc[^a_96qD(,Z"rR"QRjlu@Nd(9$B[DG,kWbq90^?( -\[2,U2S(,mV>fLD$j^?8)orl$&DK"j4Odt$D/bKQ:t)+A&?_-m\$-Vel8,cB4_%gT -m2k0PH[^M"4X/T&,[m9>#l9RLJSdAtJU:p7aFf:A4ZSNSGFPt_/b -@84g,mVaGlml'V&7e2XY+VC:i+a$:"]PgWRE,5mnha.L2_K`U9Oq/a]\9j7LIe8RR -:DCZk\AHu;YU,c8-kBO;mlVn6#2a;/$1O8gM!@7E#oCV`+@rRf<^.+GOCA -G[oh`Ad-fmKud2CW)Ehl%0W%^j4PUY+=<=t+p!3;!WX,M8PIck?LoO!jo+BNI&m^N -+k9QkE$0`t(4n4a -!I4>>J00@+)%Y@;'X;H:P9=ppht,_ckJY1g82T%"#8f-G51`]r$NkNLi(Q/>BBcfW -A)o5i5P -j6:mN>W=Lo81VpXIkPB6g<$Sm]EH$$U1sN8l4qY1+I6N!(YpCd?'3!=F;I_`(gVE! -?&?mYAGU+L:@Na^fX1lk[]\HSYOE?[pZI0QooY!H9Ih -Qkk:8,_9n[B-87XnD58U9__6#*9!n`1!ma,Q$HfcH#"F83WAeDR>K%GS,5CU/O^f$ -&eMLpE77]ATq%Om]^CDE;0jFn93*4:C2f%bU88T;Np&:fV9u.TqJ@c+iX`Focl.Wd -()f+@&h6bEd;Z"an@,_#64L9:g-`J9Cs+OYeM,1'T6m4NdecU_,@#,pll?V"q5:uP -33J:@T,)OYW)(2+8&5$-`V`@P/(Pl+N[!qC'iDaZ>m\Br>l-)bAre4ggnTQ66"[t] -2LJo8bJ<"r/]n-=CqeAXr@3kT2q\"'fm>bATXA2K$3!h3b]*esE=a7G(_6`\@=W<* -;$$+E%6>D[*]S#.S;r:hT;`?A3&!Kj[[V -YYKm#$AB[j"^8/7OA5ek9`uj&"(2`D:b;]5/-8?XJiJ8j"s[QTct56VNJBl`_!lM. -LI<@WY'WP+^ -&d[QI3Dd_)0cTsZ/tpaqFmL"Tk&S:CYKA)S4@Ti)_ouui(Hk0l;(-rZ+2c,rrRenj -/J\\I6BQ3ELB!/ud'>PpK-Um+MbanW+p`c=kSq9&86-IZ:ZtmsL$VIh.gj.p#W<-% -:t5RS,#FFJLZ.`M[j3,Q@19m/?s".u&UTfgMrONEl4-Q;b3k/U@$E#FU2,3+MR#da -/rPk`co/PSK;C#Vj%.NR7mcg:'+#iOH60PHKI.F'0lUIS2c4\A(W-8qh)@WO,Le>, -_kVf?M^#s@n4UU_58ZjEG[1*i%G_BHd*tc%7F:[D'\kUkULQmD<37B>uoMkAS"roFcC*>f%&#I)MUka6lUkHW-0$`+p_d& -Lr#aA-jCl?\/(!45Z0BI!C4j\KgO.X'oBdU=sAbR8:25I_2Co)2"e!$>[;L&flu9( -NSAa8'TEV!h[sqq5m6.3:(N!Y!&=uc=<7j%@+\3[%0L"j3"CS6p*:1P+UCl%L![fc -JmB57?[d\0(e>8A_"^-K"*diWQ/u.d&XVUIL0^2/R@\8`Af4'+&k5/s:`9LukXV?/ -q6"_4Bc8UhUZm&+0FWRpI\WiV>-=QS".:3U):kq=G5ArS=A,pXi9m)@l'kG3[;?jh -h6u_jB'$MiH]I@&mb?%QSD\rV0"m!:<)iVtiWfl7L`s(f'gd0o5I0Sm7T$&Jg7AP( -k[>HC(#G:Bld,1Y%m/22*@F;(oEqn^*[/AR3.t8E5@r;eSO[>IG.kY5h"RA[IGOYr -msq:8Sgk/52\=&7^BE2N4gspoXo].<+[Am#pduI+Jd/E/HmFOWBVm3c!dL7?Le>^o -i;JY(W$-s`$cFF7@diG&IQ`bDiW";no\LPB!.[lE!^IS1!8o[?JIjF9[a7#:fVfqr -^mGb.5Z3$HC1_slKYG:LA7>T?Jcijm@"@3d5/70q++O??&'t;@8+6L#_u'KFph:22 -X>bo2jrQm@r]WRIq&UXaG`Ijk3_%a-)e1,t%"W3t7B!-dU7>*^@7DW[\=XF"?qcCG -2BtU4*Y:X$&-ma`#K,bXN'\Kp#[m3/6b$h5Vf3?(@%%H)=@*2M!#pP'e3Su.$R)O@G?o>W&b,*i`uZUOpaT9=Tq)r2?IjK+2K(K&V,C#M(h%;`7Q"B -6>R);WKnf_=<%o>"qcVu66/Eq,RlPG0,\`"B5G8HZPP7U>hbFB&$:1FL[FAYS#Z-f -YU9Q=N"Ic\T%]XPhI$ag&RDi"fYK)h"V*4$K%/Q_d?>]cf8[)H3#)O6]E)RQQ00s8 -X9r_;.([bpr'8Hs!oAi7_+n.725FdG(P66ca@6L<<[\5W`Wa7^*t@.E4bn"]*5ks- -[4ngPGsP$uY(c:GK0n)IJ\88mQ#ml"i*C^2@ito6Nt^@#-%22Y$$+s@bdk?XF##o( -aVc`XAC=s8840O)DSF*1q\t]=`_=Q94"Y%!\X2mD@EZT_j%lC0([*&--r>Msqc@LVNm3"6]^qW)c,+N&-6n -mN65hGWihJpDlL1FUc\-2b#J1(rD@AMF^,XK4#r6;98,+:s9eC0OqVDBG:W&-kufr -FULI1/-Wgc(6"nbNo;N5K&D@p!I-f75iPu_8HM7)0c?)mjGabn'LN0#!?hSl:`><< -_=WKhbZTBi&5odKJ\6qOP)"a1Ke]!l\HFMp].$A'2e*a)=tapS*Tfk%pR_iY ->[+3@RFZ:Il:4V4$p+YW]TM*-5tdFV.+8a@g%t2JT4)ZH:lq!0_;[E@JScj_e(/kZ -Jb#OJf_chq;!-Ou5s)neBni&9fu!<+:N(oHK9RU5dgG:C\ca4O5hpYt#\lmO;nXf@ -DN$!T1e,Mn0kF^K(oB>"n32 -]H["$=93G^XCk_BVlJ(:!NL[PBOuS?](^in>KT[*^[<=Mnr.IUe\ULY^[Y[UeGhT! -Yi+,h;I1QGj8?4J^SCXT5OJ;sa7]H4r"k"4RK[)bggIDt^dJ[+/d"Bj(B>ctiJmrt -NYu4E).B*;Tq!"Y(`CV<),>Pr_0Q.@H50g9'gXMU+YJ]s":YgA1I.3):g!_d>5p2d -Ve`5A5Xp'=D$K==_^:pG'JVZ`Dt(uFW[V?&EcD4^N&L`,=`'j'!nqZ-/ -/I%;1Y8!&Ed3n"&Um;CJ)@/'I'G5jnOPLA-h\jh8)6p"UloJSU3kYZ*s%VDV_"n/k -p_Q\7*^BcJ60nRpm+-a[KudYV9lei;I"no\*Je5IJ-6pE_uRWl)?:Hi!FPsp@(1[e -$:%Pt-VWCE-Jo:,+YE@1@Ns^H(EpS8+q1Fa8LY@u*m$/gr_\q*EC>5l%.[3L/^d$1 -&)bFT0,\di,d$FU/i_!L)PjRp.ZuWS?tqVQ8d>n%#GA;]TcaG'*f5H.*e4;5@I=*r -mY(]9*T@"L+i")o^_gH!(h$/@_+]hS":QDJ$f_R!?ttu_\s1EC,n`9jAPDCRg'TI@ -3,[/16rF9.)@1)88:[-9M<7&GZCjIuUaeh>YqeQ%L@IOb0J;]"MB4ql3`h1en#sYr -B+,%+OpZiK%.A9HC6YF-Q3h2+#AUP.mL5Ai#@[r'Nd&99IE+gKm^ZR@gZ)8Kg'YD`3]aN2& -7^RJ`W>_#:BbZM>nQp7UV$j0/_?FsH`jBLqa%Fk?9!m\R2!7Ub7V`5Ka/2!1@!W,( -g'HlYE2`Q-TO(*lIW?F[9!77*B5-Jm_8]+?N<\.1jNO(+63/b:)c\PR,D;$:KaXZJHg_?RBnji<#tE --cub5e-fZUI)k4P&X"T.*Ei%[=qr,_Fer839j4s">;`Ba;pluAlWa#G>VthQFhiQJ -XW%B3s&-;8+O^I%/f9*W(h'QJ+fs=)eCO0?*\DKcW,!DJDBD+F+$n6RU!SXIP6:nc -[ilIMT[3uf=:"I)O:i%bEZ$#pp`f,)/a`jR@bYCL+]o%*,:p<7 -:*Qr`9k4u4i@ie.;I=!EfTk!:=f9sYJ7&UIS-<;f$ij$1_"\$4p(\\u'`kB:+fa/q -mYCo7f(,'W2=5*dX;G=d(h#1XJDLEZg'D(m#U"'j7F7>u^LfCO,neGf.GP@b\Lh=1 -/ZKqf'5.X^<;"%s8;]kBcJ[X'1GBIF4YH.cdgVs;#eDf+"Xc5b,`2n]Qj\G[7k1=+ -0,3fr+Vqt]#h(C4A".K]^@O--$7!JbU(!>8!&oSTqW`1pA8sKlJMo/Y2J3G``%3NB -2XY(`%-4,n2gA*(K/dC:Wq22E1Q\YULeU[(X5r-=,iq&TR6!!l3bm"aO/)rCXp,[S -4%(>Y9'S"VgMX#HT^Nf"o?08Vmp!4pI5]MT./uI(3;q1Ynjre/GNfg$k1u\bS&LoQ -i6DIuapoO`%LCo%(^GS!n,sm#%H'\bfD5ok^'+hS1B<.5d?-]f97FA"SA:j&5bJU; -64REV"!K4PiG'9]&fQ>`!(#^6X`fGmn,OX$*8h/Dp#[1;>SkMP\T80aQ3DhbP@_">O!\XPmDRMS+(38^#XWVCHlD -l]9Q4a@9"<`[J^f,E_dFOmPP_WqKK#fOT6K9ZEc2\N,ceackC>)Apb>`^%P+.NrOP -Up0buTP%)o@)gCC8Sg#"#TdPO5eR:FQSZ+;GINp=/l5WsL\NZmH%b-pf-DOWj/tM/ -2IVD%Mj`7lR$j_;q1hru-WQF:B]^?RC`TfNLR=pn3EA!B"t -PStj3qC*;ic>7L+rpjq7!)O$GHk)i""!K'/!$W2pZ2k!4.1t*;-tOi)e/oe7+#]W. -J.NZN@KKtG&AU=C/#_k4PlfcQa0m,!F!UHGOufG-X.*Xf -V5j'<,PG&G[T4X$9:kt7Y\=%^!YXEl=_?dCA*GFui5>c6^pejn'EBZu!JCKiK-'!i -KahjPOk"2dk8p>H!27m^!"KtL@Aa,&BY]]5^l/L`A>HZUD#(!7E]7iCEpHf5U%",=iK0"(>pAPoM-+I7MF.4q:! -X<%([226)cM_l02D`R3b!kt^rX5s0WqRQ4Z5$<4R>-51XGN@67hJ)'mCZYP7"r\I. -rK$-TMhR-UOGU6i?O1!ZfNKBaDe\",)?:Nk%ZV2& -`JTR8B7P(.g'sutmp_`Fm3rSkJikR6KrTSYZ.c>;roj;aZn6H$,^*B*?K:IOLR`m3 -,^R'JQ<]T'PQd_A\%q2A5V*U,i#%$QV#fEQ@GbEuWQJ66V.a2g+cI"@3Y4e.d -8%2ks4(&"nn!uHm7 -d27]Q-sVZN,6jO_A?]/]&]j"kkk&aN)T3gDd:"%Y"7AQ5^0lP3UJ?F=(A=6k#JonpRqZWV,\93%S8 -Bsq75f,JSPiH2V9D\mcNg=A,"N?k8r^u0-`_Vm2dBf5["HbA5jq&FQR+dC)[EuBAV ->jcMnc/s*CI3*T*U!r=MHQ>IUOOC-9.U=/e9BZBPg:ol`fD#CHlh:3=h]HA'!<2gZ -]ar_.%GJ#mQ/drq3/<'@F<$#a/!TA2OCT.44"u%$#XWKp.gX#]U?ia%65WrMMBPfh -0EgD1rXY(/!%q'6i-B]X!Tj-%#T%'^,$P_2_)=@X,H.CQM?2('*/1('=q?7:!&+h6 -1/sYfag-Sc%"ggl3Y)>/&4R7biBU3T"efZD)$[0?)AiVY85^%QJKR,f"9@@@%a&2/ -krVM$]^%[UF4C(Lch$'^5trLh'W2("&48]Ye)_B9;7#>^%8DBt,TG2'"Go$6oOU*Z -;tPc,:t,KpUF-."O?06AW.8')1SJCuG-8)'iLZbdM?8$m/dl.F_C'(B#.Wr!85NcH -D9-&@\S`RB>_-PO8d2ZkH\VF.TiID_KPoPArPJ#n7dIa-@>=9Wg:#$Fa]eV7,Kb') -[kl1uI)e62K0\7>3DI5-EJe7O5$_2C';u -8^H)_rP+-Fp&/=Fe"V):b';A1+%h`O$7S,,n -@F/nLd2G;>.16S7W#Qb/csR@#TIL:FYWW=9/1@)$_AaUCC_#A-4/)0D++O??%^64" -LX!h$5(QnPT-ON2F5X8T(JNb5Bn:V5.GVb#'3"c6_ -)$N[egF#KXS3ZAn"=bQPJjm3gacJ!AM1%&i&5l2Q+=./kBe'5Gi27I0p&e@Z&)D@3 -G&Gjb]7>TQJmq[da@+ee8SA\s!&j#)?0GT$>RrI&9LOH*IKa94/:ot5kASep]bal< -WC!+B/1<9Cf.[ilX/;F@n/o9P2[!bPC)3M3G;p&6E,NVV&Q*SD6b?8r.P/[-k0TFmc0rj^UXLS'lS*cdj#URS! -:(c2V6u=NitnQ^d02W6BL@>^Y18:n=[$_dnE/1$:l -NG-QS"Q;/sHqaWF[^Bl)8/m(%cih+NZPADk;O>>a.?$!@1S^&b#U!$L(MQ2Y9/-@W -_j^0-CYaQFp(kA_Wq['0Pug=!L'#[Id]3I(F::IQXp:X;(Bd"/$:;F5%70b##LNSX -_uPGm_@5E0J3"jl:`U,L/.RK2L`h6CJIeE(4pLLI)g9;)#_9E.=GWW)g;@0Cn"ofn -mLd:mC[$6/#DWq,3si4='4c&tM.`r[`Aku"JS"Z`5kQe21sGUPC`eR$QnQU(k%S8N -I$1j-8#nD)&db58-3s`L/:`he)SdV6%T?at^_$+>Yk#8%Z'GIr:ltih5V)tuXhR1; --u,\2NHK\)een\!etbHg"=Blt6@AnBl]`a!0SbR!Tam@'VM7Sk_G*=%iJrk,3QaU` -hD9[J#Sg*`^t-&pLj9S4UcNH+F[.2GGgITl@JA(F%ZG5sS'u@X -lWIgfB'&\4Z.L(MY>>tI<:A*Mc)OHHS[+*,0oj'5O9Bk0'g5Ao$3'WsKT@i24<onTHnlph_f@>3,f&*#_f3H!8p:u#ndgM-b>BY'taI]9E%4\XL@%fJ=opJ -BEAER[1B:F\i^rn1`ZgO!Jc2/_!!r^pcX3pf`Df+VU-;K;trXh,slC2*ttX`!$VJh -'nUJJ"P=*8csWF^B;(E(J3[t,3!+jpF@-md!&/I!+9MimRYJUh+qi=XcqAnV97no* -K.n2D\/LR0%?dMNSH@V"b4lWA1p.bUVVs?49&QiJhLQ8U/^\er6Ko,18eRQ=PBh#J -@7!B91rSHC`;8t[@e$:8o0edMPZllqHXmoV9Tp+MJQ,+I,ZC#A5a4n0Y9?r5lROY= -jtK1qP%sV)dfW#1@RTQm7/UN66t=1)'/!fh75JAkS7op4=[o3$7]FHFK'/J>&?]+J -`(X3ngQ7apdkNCUPoC\t\NVZ]lkE$[4W@$\A9gLHH9u_"^N##P!5]gN-Djn\\@d+- -["1aVJk*J+80!9'.]`r$QnK^q`^tTt#`(^,W=0,()IOd/!%0RTmt)/FRO!C(<07U< -5!.dh$2_lP*.Tjq7Cq\!)h>pV6&DI@`Xph425l9:JQBLp(M,`gLm'dP:TNPJUefAL`eU[+p(RVJjL0':a\9--\5YQ.W?[lYTff< -+1e213!cP-MM]JioGEL?+-VB%`/l,mPYCFs5O4NWr/o5;,RT\=3m[RVaLYui -S*?B8N&5nIM-,Q]aI'^$(l?L`?j(+bGLbJp99V&3(+i;MN6q#0;1B#^h[moVpL?O3$%1^]9/*Aq49$ -.=b6qYW@CB'*A*IJ[cQ0%4b?\7Ti-5F@#_g&ZJFGf* -E#!t<,6;I%/6,2hHdds7NL8FZW:C2D -?&,q9!!mlUJ,on*@t6OKKGXps(a":,+>67q6g\Z[&M((AdRh#iLm-7>$uR^dBGQKi -SHo[g?kK/r_H1Hk$$/lCMXj1bd'`L_PSA$j)WNP&&]Wn=b<\$.rL-m2)C5Vs.g=t%EdlbT'COKh=u-,F]6 -#n<\8S>8]EgTVGtRhhj;>X"TV(pLud1q,=C\4Yb8#]RbOTqg@h^<\%2>^Nh>"HLRf -W<*5E$rDT`6A?mgc5,f.faZ;5rR"aOd?]+Q)55R6BY2H]">!KO9=Q$p!#Q"TPc6HO -Z5otHZ2=X9h;-cVN"%B^`NV$9d+q^^>5Mr,1QP6s#do?:9%DnSCt^"JI`M+6(t&IZ -5WjSt49[tWKfc)b>QolL9iSXs;n2J#5h`4q>(gVD!hg*mQl%Q!X'UeH?bE1+CKi)p -7Mq]8R%3cm@n4X[(::,6#]05]J=tJQ -,]Th,D')WU\_FWZ:llK`,$If^(#.,l0j19.*3+k=<_9Q%0-I/,+I(,[1/]5@m/kYgkr&Jqbk])j%_R@^p,qqRY"Wo:7+6Gpc]5X=,.%`#7^8jaS-4gSqa3% -Kl_>=3&Z=)21h21!f.hjehgm&8i'!q!?a4*n5G)r!f&?j#K8_7<^B$r8rp4QX+5DJ -W!NX/+G8/f!^%\/"=.NL>%,QtcUL -C'9n.KU=0ooP3FU;+K$hijtWM>[J"[EGRm3^JnQchBKh)_0G9RZ[^K_!'lJC5 -6q:lg$*ED&W)Whi-AW<&M(tY6'8R,4P6B\gP$JQ\h(Fp-F@Ml6)::P#[7usW_-VZF -RhjS40UXeL)Z\R2>AFCOBjiCB6HkiR&[5SP>`)@R"5A@\am6D0283sJZdbpbD8C+Q!P60 -1-OX^Ic4K5Nk_FI:HAd+=paTp7ET9_l6@(ggQC?Dnl7(^[bs],cq$1D=WrT5NsKji -0`.n9nd!E&#J'#P'6F@83il?9._b%`NCH\,Q96";>-\%6Q+>#K(l3ns:YSI=-3CdJ -K"-.s9%-;"`X60E,lqTl8[J5uI+;soRfSO!4(/(K/c:"i'`^+ ->7GgtAi'f)9J;.SdY5b9!6@gifK6S!=n;;9oD,Hi3"gil:k5cH#2fUgk#=TjHRhSU -6*U3Hbt/.Z=Fcc@"/le6RF_K1Wb'4'oERTT,U2kDdc2 -N=i<3=Eh5Mq#=1d%*@O3)Q$^bieIX,kE1#p:jHuFH%2+TLrd92n@_(5-5iWE\03,; -U3VEECBM:5Y-MgkSa/\/N4/Qg)b*_%/%nhS1]+g]1[1:SIDe0a,GW]h@<7%aMg?8I -CR"E!)Ij_?_2c7Igb>-A>krsrZTNc2K)/+:H?T/C/pjM,V#dij+J67l"']h:HhiZr -B>Jgg_>%rd'^!jF2UlJpaYnXh*uDtbjN1+Af^8.&q3Em4LWfL;bVD*9TPGqFGf@pG -T1o@X'Y4&YU26]3U!us1AV`!>QotHM4G:caKZ""Ik]),,EV+L*%@(B&!..a+H%kGe -L#[-)r"BF>g[1oaIXOZRV?DHc_;I3S2804m^_aZh)O7E'I[p-2fC/^TDhsGRQ+$pG -p&g+`p2CKEIs?_T8*b1(UKlS12#QVMF0S'VNcq$./?87$si38T% -0O?Mh70X?4S5M*sNQ%VgLbQ8)#`lir&pQ6*0cH>d@aXCU)Gi&C9jj,dKT8t6NK#/= -iKXIu5GCtfZoU&kO\;IuBiOA/5,D,V<%?EZ]iMCBX]K9qqW3=B@Bs#%ege2\HoDuR -7jESu]P]^=>qMAs:sRBuZsPK<]ES$3J&,Q4R!]r%qEu,2Mh6!&e3\7M"qmupHM,Pe -F2,L$r:Yb-U!dWHg*cdi!<$kfS1Hp@&Ps3@TgPb7!1^\`(_1OfN&L]i_;]Dngcdq= -Oiuin9O^p5CbV;l!h*9$42_9lI/k?m>t9N6rW#0qO6om=fE?@J6Ai["OOuIaNCI!C -QRDIMrUYNBqtU6,ckHK]^sFS/*X2Yl`Y/bK=?&_b+IQVK!JXIm!h=1%`7)@04@&J, -i$lHB!Ms2n$BG7m4=c730U*T3cqn0gKn3o@'86HP7M5iT!(%6LJET$'"(9oC%>,eM -2'pAMA=Y-k&stKd9#3'_(57>QM -+[L?N'a7J(8.Pg\pcC!#;hYN9d'J+f-;))C9-6iY>eM -AM#OY2!VnQL'X$P(!"--3ECb4a>6oK22)WGd.P']>h7HUEF%2Hm=ASGT=n<>4*,,RmWM.0;7+G_2hjLckmemXO"9Ch\>#Qet6-Asn@E[D&9!.__m#i'0G -TQfmG-YYpj`\EK@LuL:O6Vt]TN$?'?.u='-_FEdN#Pp\uU*B6X.A#XhGiC[m")usPm=S6` -2!SRIf?TAGs!fqsj**OAMdk&@`/,YiF<,LpG?]!/<``pGG+HBbh"JG=ESbnFmt'BK -JY7*%LB6mP*XH2! -Jg?&E31L`jU4?8lM4n=E-&&'aNY[GE!#L:GEXY7Er-QEIn@`KK!oB^^.n/O-(?47V -_8I$?bRJt&8&#/!A.!sCD@!P`E9l1e8:n'CJX2sE$D,`d?"!FDK>=5[6RX5h@JgXk -iCF-+(ru`Q*--Rl0Bo:?YfP>[h58dmH^#=4Rf#!j45`+ZO[6I9=pZ'dJ).NFqAAo*J- -$91In%2H_C$\tsj#K"PQ"JI(\K"uI9A4S+b8G!Mqn3@6n#TcPeaX!Z>!h[s2+0;lA -ZRj<,/En3i@9+<@Yb.4-Pq7'.L>HaL5PiEC"qC+W>>Ztdn=.k=eg -&ca):cioI5&;1UQcnkluQkNSE#-aAX=p+L!'"B@u.9l0iZBmc<>oPA;Y(H*q/.f;n -@dLlI";,Hi_$Jl#C[c6OY<#!W<1%hDe+f?'0pEU_6E*pNA5U"mp_R/^dZaG(N1M3+ZRe'!bbuqM8 -."mbXllpgQMDPqIH[t&?IJqLDYdD:!\Y,TX#J\7SFp!@6&;"RG$"7?YKlGVb89Gg*X.LH1Z(PDV@T_2oPe_0re_$f1+9;E>27GWR4m:!0d -'*Wt=$=4N>96UcH[pXa6m@ZuS%DjMG#]S!8L-SEL`#p*4E9pG[n/a7&GRGD,GQ\K> -LcWR1"WYF5"-*u'!X@;q!Q,CqMP2F&7$r-#+k/%EOKG7"IXp>1o\[fC>q2*HjWJSa -k*75e*dB0$DfWY,n0p$.phHO`g^6so%OEF2-O*J=:Q,qC-cKV'+Xe@Hk0$V4\%a?*&q!J;A3oicc%]r+pRk_sG;YT,.1YS[l/8.UD.Jd?r> -0Ee&fD?!HL4)(>&:+GC8p4W`[RuoP3I[HhAJcmm

ipro"-#hFbW!`^k`8HL']3j$*4I>Ye14F[)"Gq%76T#!._jY#f+XV%3pbHA88rY ->/C96_EcHY+RfmAljf]R_Z8D3k>$.I&n"C\BZrrabYSZU<5jVJ`Se&A/7s%+C<#K( -Xp4rG7.eODJB14@$HtI<7n.?G]F1CD_n_pU5a',6:'j1X(-o>EJBo"O6?/n=`\DXI -0Jrq%Ii$Lb"*&l/EJ56[2$/Go8EF$ZkD2pl50llb95rJiVBjNj#oa=V%WSKu.*-kq -Q4'H1lp0>;^cE%#3!01>gAs&3+YXMnBUlm7g-ER_+BSp:23Q,'tb\Jj=:.VdCUoOG$95+!_C]^h281'F/:+#jnFBi'%\11]mb6(18C' -6'_P&Q5e`l)t(-QmCF1oNed#+&.!;2i3__qHj._*,E\rQOn`5-9dg;e-r*PdJtj_L -M(%dci\H9<179T>OQ?d5.IrrX'!!LFY:=RePk).1d^\E&fdjAG.h]`IZ4A>2bQ^gh -#`aA#bH`c4QRoH&/E2c=+Gp>qLjjlG%R8Bj;Nd73k4:AqMVsK2 -'ZYo,;6)cB&WK0*MaS/<6h-9@e4R/"8551778QNX9$4A2HKYN-"siM%5YCjJM$@O! -;(s1oWsJce_*YJj37NRONVa(bi?Ah6#Dbe#oS#ldMb3Pr8lVQXPbB"io*HrX>2Y8D -jf_h)%b13n^rX79 -KOmuA#Aef#Mg#c\+N:T5&uL3!Jpe:b+NGi.+V?a=;*JL;6>f:3F5Y_ITVTF0%Uc\2 -K1B6\%[P6"9,*,($Qu9GQ!77q7ogsiGSeT"c!WdH]D;H']of"%!'AtDT_$1"X -"O^]%$1=#`^g%/&?!$[!?6Z3O?u%?gk$O%P]@>YC^qFY>4P%"RsQ!:o]s+r)4M'fE?7@;)Os>4mG?!l7F]Ta'"3^^)]9d5*1& -6h=W-?XMAm9\*]cQ=jgTM]^-KB0t9'aB;r[AS;Ig#683;aC#7\g'E5ML;>JE+Y4KR -(`=LH!27p30+K'+dq]%dU&j\=DZUqSrYM4K(P*\2@392K`9a.mfq=(IG(XE#C4jc' -$5P$#;\BdQF93V-(uQGPiMHX,VAeA0)W@ImJYM]9Q59ND(BGQZJK#haL'>AE#G>H0 -G(p4Ph/a@j8aVfNi)C&c/.QhUVSQpb%_+TooV)H94R'/G!Up("&u*4>!5YNGJ05Mu -aoaoQ#Tu/65[jhGA5+198]nq8[u5L-\-.K+E0Kd=+tWhkJcl6j2&eG1A5 -Wl4P1$G(Df#-:Ut=m(mm[blJN#dXmorD78p2/QB@#k]RL;<<)Eh_6?(D?A"Rcr(;T3bk`WedC^i^;#?$Vfi;G;8S -W&57n9b^)9FKDJL&S5@Is,I4sJs^cjf]m==;J1,XO&t:@q"^!&j,^_Nbggc&`FsLL -q,c3A=;?URQ%[\lS:(B^#s_Z#!3?>hW0tHR63.`Qei4Ni)ArRW!C<_)5S>#%Vu]2] -)8I(,TnEH_KV)[UBn7i_@/^SM9FS6O$!:u*;itComU0&eA_)?t\49p7i.P`I+r1Pp -&g7P#!GAKK.r>]5,/sj1A-Vah$:%W!/sm$K4q3P7%m^[-Ta[Oo"!/TU"0W%:S((t2kYU'i-GaG;@9\g -'[r_I_2P$:#!J/T+#cu;p8k"icl4)?)[Lg.iBdU^5S"u&%i45UTSe\k/"kU+KV4;W -o9Kme64Vra"5sY$!'V"R1'@V5'7`7[@4hYU/.s'b&d)q]JCcVKAdT>$Fbe583b=u\ -XI]&fP$jF\^etPjjoh@:'>Q@:Tp,SOP4;ISTh6JNBt8B&n/]:G*Poes6-'l#&/YE\ -!W`uB5VNOhHj2i2"*;ro5X%c`kZRB%Ys:oW:^V.s^1'$k7sCYQ<)"5bIbe-eo&Cr##Mrr%%sV2QsX7*cNR-HMI<>^N1!UW)JpUt9mh-"\Gs",A]NSYa;G#?Md_^tGQaEJ -^6,Bs4I^uMSS`67$I_]PJ_SA!X8r@'(r-t* -_.3U5@iV0NSKP>QSEc(oIk?9)JgL*)S&5KAO!/ZO+rpl1Q4\a_:g[?F]&M4H>kl@m -X3q'F#/^!;?t9KbIKfduI:.X5#MspfR@A"V"_O!J;86sn,(+]FA_HCkI/VUO>Lje] -eid>GRK&pcDjifcepV_#_t&1r-jI`g#fp`hQ-9e*6it1k(]YNm&lK\?=J5At*pB%6 -R7\DaJD568'XgW`5f5QhFp9(1AXVf7SS?lpAM\`n1*Dki?s3n&Zj$N7$fGX>*U!l] -?40$$"b]'?45QP$pNTs"sA-ri*ltbV?PnP&E#eb_0,lGF<09F -*W"6,qV(Xojo>GE*+/sj@AX$UVA4Uq'nGQN!:0sK/-l5B"$f6VTJER`1._V/Y_t7> -lK@?N!j612'1gTX:[Y92M\j#NkDKXpZr0HlE(o`eOW[o^"gV?3&[VA( -7,Tl4!)^=6Zf'^Qi8bB""o9hW7F6R,Qh',*IhhP3'D!:rej]7e#P,UEUq[<0#L_MW -q2+\0H+r&&DC>%n=F]tu5X-si^_hn=9I@WLmh,WJ(1CIg?H)luL[9NNrVtqNR1EB(Vt49d]jR32TTfm0!$sFp6`F8Q%< -Ld[sl34)-J!.DK[:BrQgbgQ^%e"LmJS4[?2N.uAXR*]A!QqW6U8[-WY31J3+PI^>N -JN][PkYt_3*f!=^;Q1AAFZ,peWDi)))PpcB=fU'8UKPCbCc*1B#51,,ghg^CfLD.j -I:B`j\6SH'>E.M(Ge79p[_^4MFaq2e0R,>)luY?2%`b@"?3^FE)I"t^lW.?0@2db" -UJ1$_EGj0;B,@[-o(T-4lEqPDG.1n]fk^;.*N%_2\_?=jH4BTBEP(/upKUH0(Qlc" -EOhU2D_I[/Rp3!q6+:('BXV-UrSElfU#GKcqt&5)]R!Kk'P.JZ#^l]H$Rf+BjpP]2 -fkgd09u#Yi"IeH9+C13S\NiK6`$!VD%75SG-`,-6`:Cd,ZmQ8KYfn`L/W:No*s]%N -HGQq(oJI=C8Z6,6L-^W((If!a@i@gVZt("BER\87`KB4e)TNI!LDS":1k?c=ng&o8 -8?r)@-qSHDRiKQ?m&)1'0oV/A7C&_o,"o4h_(Wgulo*dVlY(CF#U-F$3<]M97L^&$ -TGVD_5Y8>%JEI6a!hAFB"$dju!R,B\k/iVdR,t7`>*:"Z,Van'(ha?_T\)46;fqCd -%g1bb9G7Q&BNQ"o%[:E:K`OG)=9AQE1KdbDSSARc5h.efK:qTp?%[:@2.>.FeW"$> -<:E=g"ZC=&BE\!I7qu!Gpc2\`26D",e!@d2Dqm5CQkZV)WLLN5t-\p]kQ7[u'pAI.7 -;h4'o%g9EX:K4kb+A%erfHi[r"F37"+\lXN?Z`T/G?_a -J08m+e5+3,&R0l&h#V[i'a7;#Bu+bY0+]XU@gLcU%:8d,0QA;8U*p?MQS'`c,/;aZ -$j0kMerA\a]IsTNE1A(ghoLHKi1KTFJ.*1o5PPH`?mGu-cmAh0\.Jfc<"4Ej4paL< -.0N_phIQ\L;hE$chr*iC.gaoP^d9)r&/GsI!!`o7p,5F.!ZklW -MF4mq56(]]*hWX^Npm67`pa0O_O,u\i'nXda>#6=`3>EAB*]YC=,PC9e3Y@r=ebG" -/OsX*\*148)tDE/+PneAZI2nbMj4Mo4N'$"rtgS:ffJ5VaI*[_)N+WbN(3`n)sGHg -@jHhgdO%=PUf),AFG#]r7RTfs)'rghP`5j&Zq#bN+Cr-KPS..rPu)Q2!Q[b7Tc+W! -0ZXQQ(jH0,gdZk2(af=!S!Lp-:4[sU-G[Ec&O:G+9*"C,6EhmGTbJ:G6mX8DFJ>3: -IV=u<4C?d:1dn3]B$itb5H1*j2]^T&a-ShTii34$($+pYnHcf$'^3.`3a#YTT -jdu(,H8Ar89L4P%>n_LN:)-M3BIsI]'IIfpY["aPgQJ,7147J1'WL9NhaTF,H-f/5 -$RdkRTbH^6]Tg&;*_cL%'9\F)\jJM"I12cI[Z+#glUPS^2gP$%U!9m%%F!Hc/>3%` -"5pg"_WZ@MU$PL)_)*QjaJ'DW<)j;K,V4Y?<>H]N=:4OE/&`nO'S99lM*VOSKICa@ -TsuM&!29o'(c6k&`KVi;9FBX9!h)`d="cHEXfM$L?>sEdJfmD$!;%%.^ibb@UtAEl]lLqDaY;b",t@T8t9:I"`Ju=W6KmF+:#^q -m2"&`#ur32M"2)AabfdI'4Q(i*rILejRKkpg2_NIdcst -^_c_Fhu!Y/E$8%0a'#kS#8ZF+^*BoR^(pWRN%O&k,]D$pE?6dF0Y9>\G -kF"^cU8WAk:$T5bQM*'&@L_"$2W_0dQZ7q[$P*4gKriAo!qon.\SO1=*6dbS*cK=> -^H#L;@@_J2G0ZN54_L;\Shp(e?r19r6+ee#oI2hS@+<9;)7=/[kU6gJ3"?5AIKRRb -p_tHN!Y0eL!!g.te-&a,O5L"&LrfH8!!IZZTEmT4GS1bMe.@Bkc4;3MA-O?)R-8o, -Y;@t>/+IdG7p,Wp%0!uo&Y;;0n7L1/!J-7M7q`bArlg0Y^!"$3(@Ef\A@"e9os&G\nD>2!6j$n/%fq2A#U$c%KS`TZ_JiT\ -+^?Z%J@i\8k[3;=/1q*F<#'X38Hke-+Th.`%coNIhcmFKn!cjTM]9!GERb_C6CBoJ -&uYtVg>smI>.M2LXgq,gEDS,)jQ>hB=r#c'!g\IL3Nks:^n[R/!*\r,cn:tjJ!fk) -:9/]CWTqZpTRrbGaX+4!u_P>s<:?%ZB#Oa)C7C[?=Ia?eW&?10iXB -]le+UeCc)dTl^d*p!U=+un4"@L(aTSV>SI?LQjT?k.gNl:('?$h8122)mXW0eUAI5` -'u.emef)hT!)N2P%@OM`.;g_URL/-Sr?a0c'n#L;_>Zcq<,.c7d#('>k4?dWJ#ADD -Ro*peVL?f5a7qp#AusPogg32=rI.Q+&j^UO_1WT? -N#0B!K#hV\1!lg -1]ssCK;^T2RkPeC-3D$VK.&JW+o&=01EC]mZ/ZT$i%r8Y3J3DR1)]!k'-j)),q"3[ -Z>&C*H^QXQ%%b#J!usRuM>3\32$5*hT$cp\]/2696(N#IJmlNn]Lfl%5JN^]7)V^9 -e4[a89Z6!fTG'U6d:bil)F:m:)OST)Z4=(DE4K?+T+\0(fs+#ib`29V(M1fD>f&;e;;!P<,*Yj4S[C;u[< -,g&9Y^`8f='Xl.D7ju:oUhuk/D`:9T6*tQ#P^&3]F3$s4OkMj6,8)5n49/H`,cPG$"WQoYkl3J5*q1S,Jh -F=3dG'l0MKKT+s4J"YaF#jYI40fG0*STY'QOb1rGrP`<52%Ed.n51@Hl -!E;\OXh$m1VXqfc!]c3[q]hVJJe/fO#UTRn.],H\JOh6lO;.hI-\5AH\0*!sq"-N( -'?FjUOc,s8(_IMlb*hSm^3cT:MkI01O+?b\Pl/mqj9??M:KqJg2`c -S?U6.aj&dM//Sr$<8'lRgJ!"`cLIV:@'_)05"B:oTe%P9m.J[-p.l+k:PAGfO`_qj -_84S+!]3H"=U[M4Z?2M5.9&?<&IdU( -)Pq#(=O&9-R7[;IOc5LFoEVh4D%&BEUJMn\S$9GEVFb?C*dJD>R@5@o'.<@#3d#na -)jn9LIA?*(N)@EBni0_*hFh[j!F)q!YnNo"FJcPh%+lK0@<5(mFKdId9;;;.K49D9 -*eB\!Jf#=+&1%?j,WNaN!GE[S:a.k)+4L@(cM8Dr1Ub]\jT^6<*DSX:2+LHKe6M?/=7$8'bPIi -2576FTWVk2MEKtF=oqChU&e.MY/Nj:GT%qH(BH>Sc>30)eEkK8-:b1+JZNbD`Ela` -b,1EnUN:2"bAPWo(0n8hh$)-\(!9f.d#+o\$q)+&!$X_f\"5"_h(/0F'`q4).Sr)M -cq=7'EdsUC&V8F\_Q58?X@%UZ(BTlP_WgS2\1Y%m1`]dX6[1UG3R@k1/[H]_Sg6AE -Ec3=BC+2bp.Ct@eC3h:<[E324N:SL9pa\,5,oltC:s^l#iRjWU-=uAK!aBgM?q(49]e78MdpR.NdhGe,n@'Z9Aci#HK(qt=cq9%#"pS1M -!&/De+En(3!!gb1`Y;e"+Bec$=bF3qKCjTU1-fVQacLk9bd'D0@/e6Enb]YOHN\P"W -1#jshh*d).4GmVX$?t[@_4"4Z%9aVY_XMZU%3eh-N[g)Jb'ITEDt!_4[-Gr=1]IS -5"%0#m/eQENn%e\,dkeLR+fMr*KE14IR=0("eIJ6>/G`!'c^<1\q2f1*N17E;\t%O -?<=^hb+l*\NFWIN&`$UK9Iq7eF!K>>OqgE?XX02?%(bAZX9$*SJZp/GMo^I"*Z:oq -2uAXUW#2q[>u-UFb&"1OA#6+^;WTa(94i_7JS.6smM@1QR=kgJ[=5\s_9%>,f7Z7r -4u*M*IRuVh/Ed]^[KPMP"dSUm(F`DJfi0*JE%arkgXW^)Tk0Od^FlauJZp.'3>#g/ -afWs!ggo*nFpM+@=\(DLkanI-/tpUfa(a8$$,38gGlC)EmSHI]MgYL(9fL=\(!R4p^0sU@"cfcN_c:soZ/csZW_dG:W -N%>(046uAulie#;YV"_N((iTl4;++)X.gANXmC%?3ZG6_S>8O6oY^>BT#oC-,8l+_ -\cSb=cRWHS)%a[Q_1ONrhhs3D`msHgNbrqCB^XO?IbARifAL*JC6kf+Mec^gU10QW -\<'5]i(!tg#DNM%!'kD/@!&eIHso>^2'@ARkPtkR;ho#f#A@3>OB;UX&He+8B:p4g -OU4u6W:)K1`sdNW1-]MQI-V99;\`);>u8Rdi,-d2n%SPb`r5AWrjE"O,gbkP;EhRr -Q1+GGDpJRU70&1[lW.k7UTP_?,'CuC=!Oaq1GSAd<%ij9/s.*M(Q4utd[+2e(I3GO -Jf`Ij4lr;Hb4LsVl`=.:=E)EL1C?6S[QN8A\-o7`jSZE7Hm8^<^ -E*i^))-.JdAcW;'TVM@ao"LJm:7+oco[cpR7nsl:@,+E;JMOl[#b(!K%Nr0h!;[+\ -?l=Okic2gr>P=?`'<-i>naUC7d2bk96U-g+IbFO/gA,pGH&%^]M-Xu5EAdJuYG;k?QTuJG -hi7+SJQO=Q^_$[Y:F4q*&0V#X]OGc+@'qt=J/ENq(j#t\"U:o$J@JC-:_JCMnI%up -mjDiCZO>Q@H=HUA%+f0>*qO<1R1)P,C0i7_\$c+*Z$WskqnWWKPtMKL^@Zk4qnK^i -(Voqm.kjN$%#$F>`qr:*2m!)$A5b#G4UD38/"X_N![/6!e;u2dO.K(-SXJ-:2%iak --(M^eEKdYITG;IO&95^%EjZHb?/(=i+`\mcni!YA0J$P,i^6bmA2#6sU2W\=`q2ka -AF].e5MbDp/_=+Lo(H4sQS>So1#L4e;'l"u;X=hT6'cPGF*e1b+=K#^P+L(RjL75e -L2\@iE<4=%F8;nb/DG`-O3;NUk5(#ofZt&Z!a!Hn%E?a*)@YRL-sSTA%#;`p -&NH"U,8Z5,,12e=DESo"7q=@M'UD<k4s8q-A0MN-K<`Pap*9,Tb`G=>&W!5WGkXZc]5hf% -]>l^mc006F>jeL[X4-BXHQBi8GI?;qG$tJ-Yh3\LJRq>8^I/\F$1Rk?+$T_VjnAP! -s'MD]j8Akjn*C&U^ecQa"2L!d%0XM/>TAU5D)3HhLi&VpgTk[8Iaj-KF<:_';%,_n -]PVV8,mbbdW%!UD5`jTQcPs`VL*;^j(rl[,F=>1^8C01'_l2iTN'e/M,DYh_:t18; -/(Q#h!pl^A8qWq@43I`e[42X6OLlnIE6NDE#)GfV(UM<3<#$ar=CF#0TpnLjZpDT' -*7!b=Af"6o9/f'=!DlZ.cp:@J)FIF'X[S1*B\,b5P_c/-_bWT'nt8:UQ6qH?@(e!Z -_aK;89>\qJ;q1.[<5I+BeQZ&(eW"!?eb-%U>?7$&F^3O``I2%Dp$I<=fN'SVA(['P -rXLT4,&.l]E;cUF>'>cqnXtn),pu:/'eJn/QF[_!gm9&*)8'ED>U,1.5e]@6,IocB -'8@VL@ND*Zg4+VXrV:qM\,HP[T)]2eEr`*mW!+)ni#l><^tB\]K];cCL'F?7'cR@E -jf=Ht2RZ&9A8j]9o39f;Ne0C>H52TT)%L/>k(sRPDb6YRElbrG/^\Y&fren[kZTTO -UZe.9NMPg-?Cdp-)K)=Jl<:?i!+b&hO#cNlq@,FLg7H9fm$bZ/ZY[6;e[4_56_CI* -Ya"I=]\.2YOA4\UgH[Thd%_hEj"S\8;>_Qf2K8g!^+[s0A(DVqQ?q4M"c9VG*jlI` -NCA`B5OPAs=j$:RQdUJDX+NFM<.`SaMm)CFN""b`oMgm.Eo8$aEGgrC[ -X"cFcdr0^r\7-gV.+@2>e,An\f[?b9;uoGk+uF"5a)S4^dA; -JsDr)gUSV.biI<,e8u0so5/>`A,:hF^i_P1ZL+h8jO9/OC#"d!.$ -0H1+jPg'8[@#bYG3$;VaK91ZlA.9]Y32Y%F*&*+c_D3MG.W?^<#U0q6FF9-8/JL_e -R->jb:C5G%#t9Yk(1`)ZP#=>52E";>TUJR[E(s$3e7Bn9XHSk]N_rDO6Rh+BW0G`- -j`iYsI3/(844CG_L8V2FDQ3Riug0"^n>FBXJ\OlPX6\ -g,V[_r?7rcMNC^s9hB%f,c+J3Q'?EWZW;IcQ*eX41NQ$LOQAJoaj$-YL4)kO!=9"( -`#]&C>S7+:.LLar&-p$\"N?2Y!2Gd-!!2mqC;!ZK'lL&_0EaMXa9W_/r!//M7KnJd -9Fl\Z'a7cS9Gll2+dL0.Y(edRCRoaS(%.LAflTU9JYQdE$'n'@iErX6Lh\d!*&lSp -5qFfVZ;gtJfR!R/lqNkPmGSN=;;?m+VPN-B9Q_W1]fYsnllD0e^.p44ggJYjA,oA"E#>%V,%U3b -/GG`M'JTicnfC03cFJMOE/+"t&hnoW:RFob8Z/R,TA:(gTmI8?TUbjF'C,mA[J-Pb -jI4u%Z?j!&/ku6ZUdHAsGq%Q-^iS*/D`CY4JU72XkGor&X;=V%W8k_3=HfEfZa\,4 -^t@.Z@uW)bL33/9jK,H,;5Meoi//]nfToI15u`\DHSS"Eb7K4%q(;DK*(@10?g1.9 -/7e)ZJqXC:PCWm5!9bMuP@FAT$,$UAiSF^5NYCOT=:4"l/jR4Z(:6n>QkKQjKj_Bb -oVsN$!:Mg[gM)pprgm@K[L'[PGaQs^Kk8treiJ6;;C'm --p!$A4N5m_d0H7!M`c"'_?fXT@3+TmnNi*IRK9,.V.ZYB@#M6f.A.JQPih>>\6=(M -HoMAEc%ApdoUMnC1FA$_B#-X^B.sH6d@(O\2\(lV:<:T(RI`WW)L>77#)e1>]0RKu -43')Z-K42%'lT:n$gnqo#8#,^pC$`U8Fnh2g0;V^B-H7PN$eK.pp<_4!-p@*0>E1h2I%*\W4<'GVfk%1,(&C+qMbFO2ZL/u/M>9i8j -V6XA&h)`$t5Hnsb5dIghNLi-nAZ;T1+Ukj6HTsa"%i;#7reK9T%t3nq#JBhE_a6QN+2c(BCll$\jQl/]YCFeLLlcbr5=I&.&t` -6b+)^#@BGaJW=t2i4HiJD]!B)\E!7JbYG/MNh`(W^?-fQ_5juj#] -#cq'N8[dEip2gWITLZ"Ka'L9,@:q[3F84JBoT.IG[Yfnh@d1%e[%3j.%0\[&3'Ee]]"2`%[C0W/R -Hirli%rh=TTM,K]8g_>Q-9tuH6kXqSVMZRC%+,q)YoO:h6BlSgSahBbUlV)&0(0SnSb/m4&IF1c6us$h7j<&SU@Gauu[MJnSQB -/T+<6HPWl?(@c5YZ%j1DM&>51f'#/:aTr2)G1S))[ulpn+u%Ze=P3j)fhIk26aHgS -E&+?:$)L,k-hA7:^#cF./6d**Xo8.J&P0+:"Gj%ga:;(hEso,LH&9#)@L:. -$]4*)U2o/O2P6a0i*_e`5cD_9UAg(^$RuX]-TIg8XAnNLio%su+O&Ul4?,Ta,Z7%k -mR\\p9dMDj,uRSdEa9us:Ca-6/MR0EACA_BXVh>1k/qYc148s/HF0](ok&RV!+Z;L -GQo:4#QS6;^mkRYRLDGV$m=m>+R0N24:m&f"$mu7@5\eW/ec&V!s((g5Vs*>&d*[r -%j4+J+OgOEcjO5X$SMnpJ:Ig]I*I1\mpLMHi-5N8>R3Tb"^m]*+A`FGaonBY$t)a; -+L2.nXpP/0$-sFni*HY]D?_E')R51AXamm!?PkP>1PMo8Je0&Ziqi(fKr/,J9.1u[ -W3R#JOjBu8%lRYVE=,WS23UHV;b8feJN)&12t)F,b69lsD`1)$30TaiF.G9hTehFO -2%"6tn$&^mB)@*Zqo@9tMi;q3jI*(Z%kEeQ/ZsE(B#IMp+mZK@Kbb$#igX_R%aXSC -0D<']K"Xud!"7RObMYfE*57LG;Ch>>B7Rb$*5Ca""tTn-/-uB>/AWj,F9ePt7iK;O --?uac$;aG#$p'I]6"YQIUanP.O*:_>&e:tu1Q -\9Ogh`'dul@s0i,=9jJ96V-E"">i*5Cf@!n,0DH*+HY&ok=G8'8p*,d_ou$!*_td` -:@3ZlFZ35V3E6eo<:sBo,!mE*9iB2-2/&YQq:p;IH69%@/l2RiCu6g&ifu -&g0^:/5r[X+@P&ikb]\7?o"O@#P#fbMsUUS`cI:/11\EI$.:0[E?B^T7T(qt7(f%# -TRq%YT5kS&1),C6R019M`U1IBqO!fs--gl/eAq`+jL'FD=A4=j%!,`!+C'SUN1=^IM -J<1.H:(&2q"G"u3!(IFUc30fa$c#LFTVr#:V?nAK7Ir-@iXW-R4SV0`"or]u!.kMq -'FRh$%=gnW@/L,bq@>hV%i/ad5e7+![L+-X$/g[E^kV;Kfi>.c1WLRo%sMM!e2`*h -f(D9`-pL1b=_&/%)oK[";12P&BH];3ahVq$Pt:d.T!lK=fE=?T'jYhR*HF'uEWSTf -dr..nQ#]qTF*BK_[jFKUGVl:@1j8rp1UT;pGrrgl4;9(H#PpsK\tY#o6D0!qUWf^^[Z$QV` -`W]-XFf'EU2aaL8"Z/Jm<()/]>eR@N#4Q5NX6=O'fFM'FHLK*BDs4o#VDg%o6IE0\ -9K/qcD^k5[/mAgc?noRQ:?7^/br/eP>$U&4 -6;^->J>ApTWD_8$Js]i#R%.lciG_b`7Kf)_b?'PqRrat%Mg2XfXOnYJG=G.$O^j,5 -R'Ou%F'!!G=4+W=URrM9p,rr9<9sm3M*/2"E\3%rDE"=[D*em -Cm.9&d9s,.N-;pj)dQ>P?%iAd^h4gGBRuGQJ^NMA\NGH0#fgs6$O6S;'A?2o]9OT] -@C@>E\QP3k+-mdMQ6f^kAXYZ,]!^/ -R.7tCBL%Vn5dP3UeS=%=&R[R1@5%ca/ejs.'S/XR_*Sdm1(rOc"+_:#?p"uhi""]# -"CTjj^e>/e^Lt*g$MMCEi/@i4M!q.]MjFJLE3F0#->//rIC#99RU'J9W]\:GB8C)9 -AMU`Q.@@GG)qHjgH(M>V7PbR#/?rVp^8BYl. -E]V"5K&7,9rWJt@">MC\Lg+f5F1T`/8Aad];*e9D+:<7>N8(hS]DJUh82;HXoZ^9L -g=/5Ys&*;d'=h6W-!)Z-,8;"0ok,9m5%)op&ZYQ<_OtR:jbAbKV$Nc8f\o -q/Ma+)IsAW[,>fHSF$%Kld$R>(]6]?n>eD=5L;H2^uRk]moC]klY+(UnrEbUi/e,@ -o4WG6#`fr21AZXJUGG!q[=iC2^n_-ATF;#SWIX[U)A3g9+r63;([f9[_3tC5Rd38* -lJ[[=/uf^1+;Y&d!^U3.i$oGW3!/%s@NcX$!'UqeC^p4-CnQR$4QVtUb&07 -it+/3O]4b0(j>Mo4KpWN7m2#<\ZkrDF]XD"=,_;]O:%3UH#s>n>:Di3Tg:W5g)DgL -C_#I&r4K*:G3Ae;La#2VlJD!I6bpA=>?_9GL-]aU5r.[m4o:Hju(l%IYX!&;MK*kU\'j%H+O7 -&<42BP^Pgt@7`JEiOoLAA0dI+M8R84$9SR7X:(l,/r1!,ONb%-NnDc"_H,QrWJblNkeV=0.@V(4iF*Ai>_[ -`^3qQkV4tMKY?,ZZgHdAm8MH![#D!3;3YtOG!R*K)%G(.P4W^7DX4RRK -c98Ke>dMi7!dD3UNe[lX^s`FnQb`:ZTIQj1#*J',)75na-Ju$drW`sf`Sg:]S;R5j -Ji9>5-tAinhj[WH%66SC2f"]7mW\PW*qtP;=6`V\FZtoHWBhHQDY>`KP!/=3:TST? -Kb//nr]Uhp`rSD>"8nfTcR\.`^2OK!ng?)3q#`nm9GX]qn.ZlO_[t(<>t;K-&*S"Gn9mZ:'a"8CD%4 --HU:IAG@X7H_0p8o!iN28b1k_(^8l;=;?Nu85L!*U#:/F$=]CR2%;oDcnl.U!5L,m -ijcBZ%&4rd2c&IN!\hu1[0nl"6M1sJd:8.S3)T;Bh*?sp*@`Ye6C=Pt#i[Os*X?-+ -@kXTc@Q?/s5uKla#M!4GrrK'n2<<5fg?Y!Sf8MOS#O,_rj*k->Kq3)@i;[&bbGNDNSePTV+?U*$2Ik-:,Go)ZsJs%m*$Mn6G<)E!R$SZBC0uiD_7[JEdldkZ\G;6TIVr'bm?TE(?TH -T-krC.tWk_@Y;1Z!s3"iG^psq -3P['*)PA?jR/r*p!0FAs5\N]D5XHI-cm]>G1_p4uJ.'3c4-,BVlQnlJQ-X2,L8Q&[ -PN2'?%th!FYjt:0FJaU]1c%Wl]_k-k57UJbRjX;c$(gAt-7!jaPK--bTU@_`)e'/= -:(7K%=\O+d]UX`)Na#'-E@kbG\!L"d?;(*;9[>Fn.Yo-U9-^T_-1o$AF#IE"l'X?i -PgPqV&jrEn[#N3Od?[\=BHAHho\Hfd9hDUC/`=@;6E78!+c/Le&D3dG4S)=AJ1aW? -"rK]YqdW7GK22[WV8C[s>Y9E@YD#UDRRXl:`!2Qr$tm\1k(nf"5".:'`]Kori=Bo+Npd -"P"9^SUbAbl;OSf.Hi?]eS..`4Y["L$M(t82`t\[uH*;d]aOX,/ -<;S1=F&$Z)kmVu3oRJ?fV(3P7h]X8PMN[P-Dc[7G?n6YVYa,d:+qs_`!['i;$b]7< -'flq!7>7sH&-]Dm8^-7M0p,ef$mo%dHaL` -)H00fo3UKM1m:Ye$e];+AhF8)\5sI(gj=lu&KKCPNII],-'AmGLeLgb+j5Nt((]-q -#e=#[jHJ"SlItGkEU/J3b+o2QPp=4npU0A#LSk"bnmHbs%=P:hh"DT]VcTjG@FP\K -n=L0b^%\u55'OhVLuP4T01kcK>P3GaQ3DZ/VYjhe8>u%+@"RlK$/sZ*L[c-$`0c;m -i]KqmECMIspp:M3coME)n0/!CNU,<_Q#Wu&>a1oD(ZY:#OCt4sPuJ7KnJWMZ\PZ2M+3H'EM<2ak(eFSV1fU;Ru^<27?I?5]&5t<_'hA(F6JC -#S%Z=7L)h_oOPLG:9j'KO?-:S[VU8>0&\iXg)RQQ4\_,OXKR<=8>9eBA#6TaL=_l$ -?0gm)YM7RE#.dAW*D%b:Fr%pIRfd;>]q;WSKSS3V"R,*g%ZN3miCna-3"]Pj);D4kCWi0[9<[u?Qd8b40 -+$KR(m7*,;3^6/LC<[8<^bgb8CL(K\r -9m#>[b61Hch7K;3n4eqfK'/P!8B<(HSi=]7rupHNQ]q!3;;)(qSA"V64uoOCPSGC1 -g-#-im;`G0K4CD9;UO'[1Fot[:?h+nLU6KabM)h]Uecl?>mH^.`<89CGj]pH#IteX -H]O7qh$Rh#>o*#YN@K1="nR$iPNuVkYR#nbU4egW*5/ur4ieNQOq]Yr+Yj065tg5Ud`OEIr4ragM#]L9 -(cMUh$AD#jJ1ttuDup8`d'G-LZOA!$W[NYl!!i-=1FR]-n9p)5!/JA9LOq2b!!@uV -BRiomL#<4?i(!e"7Y:CKK'VL#qJ24tTKOeM^/1GZ#cJ)^)DX]8_]):OX)&9@k_k?G -2/&Mblo'`j,Ff]PV)f['@-"\GS1`f&$EOjILnmF!/]3Ma7#TefS4H&D8J6Yb2DSd' -F(IbP:IMQd7''6RqS7uuWXao=2ThgYX)8Ro1FFDd(e\j-+Z9CiC6pYZ(dU]YiCANN -1FLnS3]`Y+fJ9qO0rP_:'^C<0o$414JJDsP.#W]mWBR8dMuck3.,eVN.:\Z:M3`4* -3e>HU-mfpJ6@uIV[ujl`pbKQSW[]DKCcbb@\Hg_\$I -!@ST^.iA?ZI`d%e8rS6lPc.3EX%KIp8u/R]\;NA`gG-QP)4X,@O<$n1\NSnsZ7AZ[ -OXcE%[LTLGE'aJOn4&7iEb^q#)r -&HeD'!0C>MOE`Q`Ha>tc683mU)_o2U!mj"__I.V=(jMeeF/(-uK^]A&kVN;g1CM"3 -MbOXV!_4kQCFcbX#uIn7U_FaE>S>gRd,O"%@-G^PNl=u.6c-T8R'&=mohR^j,m$EA -*:X'1'i1@<;M?LHN@Gg)9XL:!d`C`4eL=D` -.amu=dgSf:1c?4F%)0I3@%d[OjgmnR"H8fR+,GpI6JF7J11kI -WGH'66[csQI],Va-s9QiJqpicM7>Z_\4@RK>)a0mD(,$oW=UdDUQYdAF0&U()X27KG5;-2]s`)AR[&C -V#hTWWf_omJpaK=W>(b[.hRh5l&erOLJ80R9Z5Q6h!<2ZjH)ET*693Yi9&K&:f:.B -2S#%hm$P\`*Lcl4[Cao8d(>@U6s%'JO,3S=%a&eh1/YhaXHKQ0!\DDqeZ(@SO3RX,c5j/o%C01AZWe+N^oJ<&o,7WJUE3;,\Ui]? -I>UdPl'2i6X`9KX_N*C;kR0_\2#^IEC9( -'Xd=u>eQ(-J@Nq03X(lW"djQ8&:"N!-c0Eq:aOXg2:[K[+A_KO!#Tqi=E&sR$AC1i -"(3(!M"cIV]8P%M>3rK2=S)rW/?A0WU]g6Fe.^#1p=qgLh@rQ/@-LO.:f2nb;4R*5 -rPdQgH".[_Q2&;q9Z'$k>V,VI%JnuL -qHs3si!CLS+<*B#1lkj@XqXpFnoBq23)bqt815jbSN6h1W$eR((t5+UFMYO0Te\I%J)@fd'?@mQWK#E=p;1U-7k/hVaJo+DLl#.<2 -GSH*Cer5U>R^1MFL9LKlYS-fIWI(iJ3u&D.c&Bcqq!(oe<`^Fr?it%K@n=$sr)nHc -)76j/H9j\OrE4bNO#tmYXB"$VDZJ.R"CE.$J0,Md71?"F+7&hJgrI/jP$#A=-nBNK_O=+ckP",IqJM!A:-$sjF3 -;;`>232YOqIC5`IMM2\r=K'/\pZLU&$EY)Tm2*[IaL)+O6dj->g@.uWmb^,r-&AR: -Td-AaZtAI8lH[1])&6MlrG4VDdcSA^?GPoF_EGm??n`X7Od=p*27Dm1i+m;\N*6m, -0Y#faJin(*>'?lZAZB7+Jb\i>Wib4]J^c,E<'CrE:)%,:7jt3)iH7`NL)F[+D7GTF -<7tnmb*AbY&pRkD,QkhFmYEoAR[2rM=dC(3ifK#Id4+)q,0(%Ks;Y8-So1GOO%Ps0<\q]-UN -dK2IpW.6>gI(nJk2I+7KB>IhVc@,9TB(@!pF9[A>%mk@[6SUKP#e#G#?kaXpTK]@6 -FH9!a&/DE@1%`4RT*8NmOm(?Mp=lD/$];KU@Y8X3ceq7qMVeV97m$;F&8CW -TaE-O_+Pu0DR33t5;!uA!R9p2h<\#T^LlYB%Q:sfDI[J>%J=XaG5lg[GC!,e6ma5X -RC.?bT72!NIs7qrlVb+kf_+u^QS/7@P;:k2WELa*c@VHpJl_Gnq95@3`Z/k:7ld`( -3@h<0aJsF87S_Up,Cd^RL/_b"e9l!G]h)2#(tQ.Q@Aep\BkIOjWF=B<)!L5mJ@%>i -C:Ab3"1OtALcs`QQFZE2@YJ"lN[\l-?57&YDZ*rVH_9aVf-op)D$l(9DY4+(RedRW -HL#]]X%k^gO(3OSY@&&ai/]s"+2)YoA&JG;5;i17OIM02VW/%-$D1$Y)GCP,:n%L[SWbkAnS7j33q78GE'HN+O!?W0!n-t0r -JI%,4DV(b6?7FOo>+T7"Lu6j9DqY)mfa-K9n/'5`$MqQj'*/(E!<'>)(_6W=j%&AD -T?l%sSD:b.2;]o^#F'Q^VR=d"=?#(r)[X8hc9G9h>Eo;&rhV" -TeLo"iT3;`JFWg6+m+-Tb/r>FV][7U.Ws42XG?lCF?(6J`_]c")A*@26X_\DA3q:K -MF?IO.)].B(QCppOnd^d4X,tYjO./?ed=P]%g^*O.6*bjQ]Xeda\^8Y,b@codY[>m -ImKf*kgV"7A2G4$;^lhBKg)>.W`3`@3jiS)>H?@kAZ:q -A]!4@%>O;%Yip!5U1#aJ"b77nn@/lb-OGCE$,lt)G!d/q^kqS`$t_Uu.23/2 -_^tlHDDm'+?pgXGmo9J;%AcE`cGg2KQ"u,,D0CkR]%q5$1jU_uK>ZVeG[,,6+-jt1 -E]MphGfX_,15S\]:sr'o%Ulc]/U'_tdea#.hr"b>T@<#sH[VLc?cV!npcQ>f24-sG -EtKCHiJ;4f"tb@9SMUh8&EkAGbBfF4n5Gd22F3iSiO6SG7+MSs^i7[gTtE9'22t7* -JOGV_9b`@Ze3)-fa=Iu1`_h\/#Y(g=E#Q*Wm!.%cD%LUmU+i*o(e2q9B-]JM.Wjd] -:r$t"#;KV)#.>.$P:X`Egm'M8;Y7LQbYnql0MKq8cSE`Y>h(aW1ORk87dYPF&'>Qu -JCc^.FQ5R2PPjN-cdW[16."+5&OK>o4VpM[mF+\X`%>dQ7n2Hf?5Ecr=B<]N$#"Q4 -e3d5,1fV?Z;,I[09irN+l.?9KqW(U:'Ep]$lK<$h,kq[QMA46e:UT?1(8bWd3&U9\6Wh&-no,W=&mU[ -HAP_5`I*_*f[##(\+kZ-f+"Be?A6bYF*iaE#dcBr_gW^j@RI"AI#LCH0H\isQq*0h -!6?sWj>d;1C'D&uHme#B``OqVf,1i]fA\)3(M:L!BH#RtmMIhEfV%FgkX1Hk3/odL -UaV*P3)c^.@:3M;?51B5C>EmT![+@,DA?N7ESu0Ti.7/;B^C;(i8@&K3c6"GXjo!m -mSmf^kbg#=Ghb0ggcWtOS,>@`#82]@_TKMFD\)A8BPf8-JY]Q\m^o);b4;(;-d;/: -dL=qXJ`U\k=b8QE+UB7tINO?nPBF4fTjUjF"JI57&GEp.EKF^gmR?!n*VMr2K4*Uq -%tjrX7M5i?-^j,mbX\>DYdV&?Bl,uQ2sgD_h`-R0QEph[YotKZ&:D:Vd&VC4!og_B -s*H%uHW08XgGR71F1jDWhtGICk[;sbUbL^H98mhlq%gbF5lr06$?6@Q.\i:8P@!SH -K$SHF_,rDri6u(dZ)p5uN!&F[5RDXN"5N -!bb8.@0n>L(gd]G+i>Z[I%%IKC/)P(6AVlR-mXT%>G@O+MU>HU77ag$inR[pOa\rQ -(qUX-Tm)2#i4T0ShHiJ>ClQF!2FaU'm=>okI#f`I6F]Vn?8*L^;8+nMGDldMpa$*$ -D0QuMf[pLEX@:Ifg7+H*%?n.-E/'>-7-KCQif'CanpI/6?sQlBP;d%8,+kK$]B"7-K=>U/Y\fUGY*>rt_,IOCm?)ZI2*s>u,EJ![l$]an#i*LcPK^V!8VFsLMiK`-)SX:[^0<*jg(PU-?EXG:Ib]kL:(,.N9)Mq9A$St/CigL^BoO,n09/$]l'rp2C>/NE3 -$fQ=`"`UOXX9_6rk+/MOg.8X++>Hh0^=ujeJf-oWil:\fA"a6'ZS3]Gl60649AIR=s=;>YINK". -`QT2M?W*!DYfV,KW6T+%>%TsY["b7%)FG^fCM7]`/QI(7uCY+-WT$\rG,hC -[VT0p?Z5Mro`iN1iZYtlbW0Ul3Km8Xc"&kL*%$V'6Ja:bQBp._(N'!7M0lN9ghmip-+E'Io%AA4ZPOKqrIF -,#^0@"je\"cmJo,.g%IY"&M&]O?WhY12OpQ_CsX>a6%,t"tuW9b-25$&.Jg3/HClE -"0`"7Y\=<_cH7FqIS`dl"(o+(DWJk96R4A+XFS@1Sk%,A$#N4qj;^_9ErGK%$BV.G -7AMVnf`?kM.t[3)LsEiuf*&=[#K53C">Fo^jp2I0#]/)++GtpBV[SZeTcdqnJ9L7o -LkhXj-/aSrY&Oqjk0Ymfd1H`e;$dg(%1s0g&Q'GsU@,dOAd#$1[,WttK*`/a3tk+t -_lj9P`m,qWJ@c,pr/QeW/Pq$Hpl^_p#3Z,=BEiI5`sPYd&2@jd6U1pM>R5k_"[K's -!(m[9!X$7='7_bM@;GugC)NZ])1f^+iPHYo!Zpa2)NCtf&[";L\W+]3(ungu#*1F!Mk,3!k.X\T[O:F&VIj\e)` -;EH/p;^BdlK6+K>p;sAk?q9PUMpF[?EqZn[a*_9Dh05bB]lQuFt1"F/p[Zc -\4=k-$&0;!D\*6GI(c=8lm8O.^f73tc)A"Z<0cR^^/2?b^n[h>)Z -^ooL+Hq2JToclGBMW.XOIe"V_?f85$MXCjn+:@:$Id_;UDg)0,H=lV,$%S>MNjK/4 -cj@m7[mW4O:RFCcSGEO1qFceo&m3>_*l^HY\k!l]0j\g=?uT`[r3A_B0iF0E>&hm= -3"r>Oo=No+'t2C2.d3kmgnT<&,[J18>9+!(r9E7a],+&4d5Z<*mm9u$'6E%te13m# -+9[^N>,lR.,S8uiJN.ZP,RLS5"Xcb=7q.eD=K41,I(B.`J9-k?_QEc63I.JZ&YkFB(?c -0MbD:Jgmk[b_Z1W;+d_L\SPV6PSD4A5R1\)#9\['i.)+V=pY2?"Q6dSJDq.@3"Wo( -!eF2d@@/)Y"s+ra!!2s8U&==TYJp1Je -AR.1:?'Q43e[&QSg*dRu3YFkbj'Q+Mo3N1+?<-k#Ea7-l9S+u!el$8GV<#*`R.;Q7 --4o*X-gk^@KVXk#C$!oEe:^90C^=X^-d:!F$ZKY_,:]OglsNe#dUI>aI1IX8ngr,o --GZMlb:N)a:$"-3$ZNPo'XD7s7kXq@MJ-b$GX]c&ngbP]WdIbNmT51BNp+nDj!q-J -Up=`B-dR>20*X+.L]o8=6h&TIEk,\?hdnF`1r*0M%g+;V4Qu)Y2H*ccC0nTO5(YEP -\'R\AUP?9DEr%Z22q@S.a>c_kSO@:+`Zoa7PZgI4%%AJ9'U9=CTVm53U4M$r(p^ -F*C]0GF*Z#f7/#]Iaa(NVH53e09j?gl=AM4[F^mn=.OW'T6`b)>#b0%K\KXnKT[,V -#Y4D"FHp#TL5[4QpU]j#W=9-0:+V$^[A/i;o -)o:A2@GW&U"a6!Vo`Hq2+)&!$V"R+mpAd"s(Oe!V=:g!F&4oD# -/SdFJUu+bJ;O8N!ER92SMgRH$Ng5X^c7$s4CELqjicVoFotI%5`?2U(Ku+:\Qm%Rs -2j!h-OdQT>3?;F]qd.QEEVUQ9q(Ioa1QfS+?kcHb.A)UCO'ojJC4nQ^1V.?SUdr=/ -C:5HF`M0>cVasd?>:#n'V.^,bg@tjV-!!KM`R\G:#W26Qp_17(;IX%bAUcUOAu43o --"L%oUf7Ji@#kA$l=iC3:A<1HC.89i7_lO,Cg/6b1/+G5_[.n@E)[$@XQ"hJ!9RU<,l_lM7+P?LJXatYkDTNUF3Dff8S)G.(McQ^?(0oSdYqX4G!f*4K$ -"6/r,W=2^Ob=L\c%D\oB7?hn=$a)=H-S0^^e=On2j!$5RYY$4A].^2]0riteZWfIA -\2\l'4AfbW+q`p`p'1jPi0$/r=Ju6rpCgltTrq9VHSq4M!c7F7;6QPN$,&6^E[ -Gp]1_0DM<231g6Z#%e:@Q`HNi=SKU7>;B[.k2&_:aYc2,C%`lcgo+*s-%*AEAr9,5 -D)lai[Smncbk\Q"*a#ZK,go0S: -c`DejU'l]GRO<$d=2cHI\Ynjad8Z:?25Cp]]@eN_>Vj@429'7-Q;7]?%XZb/2:bVV -efu@Al:>NuB*r-T2"9$+2Dh^XJB.4jWE2j_f2JZ>P#o+n;cfZ@IH59RE!@G%[t&W- -+C5<2T[t=)"Q7'[JE.:H4(3jYTI(D) -+mD8Q"CU-q!)a0>Q3Df%#N/tp]Hl@5m1la+^Cg!3q!d2lNaRuIDnH?H)dA>:nq)-S -k7FRM,#h/:="[(tbVdGYmQip,)tH[FP+2tRfO-n&D/A#rjBp,[h$0'CUDa?f67?5cLR]"k3> -_!Io'+_7gbKeic61H-)sa/`587'O(KO*'NZa;fMciPq>$!rH_sj!WXnjMkFP3&A2O/(l\`P3,CQd15Llu -E1qq7.11pMiM.gfINotr6q63VYj?No+%jROfeCuG0p'W?F'4a]BfDSXB9S2EmXIBm -;!:k^%3C?sUJbfj\ofKr9p(Cs'hE/VBJl.dX*)g_i_2>9%Yl9s8Es,cQJ';:$%5jN -EMqTl2`nFunT;HMmrt8_rr%DD^kKXf8>&Er&I65Tr+8#/+N\0bGl5!/*[VMV7=qdL -Erg^:BQSkeI?8J4*Y/NE&d]Lb8_F[KP-ON9atqi]GCjg"UOBnp$:S3)n>od7h@'T5 -&[[m*4L0um,/F8465^4:]3W_>GJW2,GJ'Lh09=BBoQpH7hcIGCn+-a9@Bf4X*K8-i -s.A)>64j>Pn4jc'TjpR.1ltBI"@97k*#AAB-(AP&/FT.]lfr+p`c;QS&QLbcDl(nClhV -cSIu^1Fc1aj$5dB'`UJG1aNZ";)Bj@6rB1K)b+*0/RVMpnWPAV*k0OZUQlpC!<.^r8O@B\q+P8#pJn9.&_eWq'["jK4g`9];Q/?mo -.8f)TN\Q2+`A5,:1=Q;<^b*mqS4;JJmG-#XdrTq-"0uh#%l)J)]kCa!7C?_UgEiQEOK.U"VShA; -^*\Q02&N2=eH_[^7tdp#YDMOhI^b:PEgn@;c%M>.3",m3cbo;N:OgLYHs\*F_hB*l -0\j"'4UCN[-GVSB&]+f?#Z!E$S"OA55uH5q"t1*%YY5AJ -nV.3:GSYnh>XO(84XG%]g&s/J%3V#a5(IMbWG#D2+``p(&@NFHYVl^dfHUNLN?1<) -'`MHm5DOnDlb-B)&Rm"ULh-.Z(?3VBd0_$bN1$,&BTj/TZq-)E<\-\L[22p/V_+pE -eg:O*&Ag\&2@3tM12+?;,0N)C7&8N>,e=UeO@2^\glf)=_&HnVD^2L/5skAP%-07! -OV/9q89l!qA7Ua".W%qNR,#h![!Q./XUq\1@39"_?=ms*N6,3%)hGLR#,(<"K91Ni -_<=f$5tEqd0\R_$i/&+4A5!=1/gl?,'bl7U$ORIk#/l=M"9J]cJmdLQ!E`M2i4pP1 -\YrT,Tj2gUAnt,FBf3`.fp`XaDG=9FPoL+Ej4*K(ppu -XI%22^GsC&r($<79IGVUsaX_4Fh1_MZk^;oYQHmqGPOO6N!V,QCUpJD^]0;4/Xq+TN!t+ -;/-J)+fu6A[CV`iScK7uPocmS3fR,hPuXk">e[V-Cse.U&gXh^S5`#Jlru9BXT5oD -esLjsCFc$#IY>rle==W'3/3H/" -2?hjekP&KQQ&Dr5h:Pj;cX?*D[r[6)N$6&4*pkaS7#s%P*BKfmX`[dSk[]FUoK?,I -6"t#JhO2_.`G[@$$9@gGi>h\(=-Y'r[ML9m0t,kg9^!r0+ILCoE'Sh:gZa*hM"Y,4 -YQq?#,J43t'O:ft"q37L+J`-C&S-c[0.$)"^nh,7ZO#ttm7ASBSESMoZ40Q:0nIJd -&cpb"Fo_jp\kkBOS&X(gh8-\'lqGrpTP?anH,0VbJ.G:qu]*,1A\4Y3GNPh]'#93>@d1otrV).YjFOYR\@aUu387O6b# -P/'JE\MZ&Cp#+8=5$+cS`#V?-lQ,$-DNC%6,iiJZLTq>%bh8m*AusCKo6+ur%t=U/ -m)W&(jA9WSmXDi#K:Q2IU!MEr)M:p5%De;]"sD\EK&D4p6!-nj^n<<7?q_F?80n]' -YS%/5e-Q4B@g)mh/qUmI'g[(C$"1h"KE,ZrbBC'7X`g&kb]d.UeIpIPhd%F#H*&"Q -Z.KiX=R.e/>A^o&??e;BA8Z;D:'-FMHogL4s2CQ=b(q:dsb=_k]b -\93KuWG$jDP*_V0i<#u12*+Lp/?`aM>qb(SU7!3GZ'`pI003`7he0(UTIkSeTX8ah'JXBm_&*2>P[&>0o4`'f?NhrJe(nlb;g#D1P^q -K9,g,o^)LIX,pQ)GRR`8_dIHOh8dc`hcGlN0[pSXlZ59>mW"Og(oI -;dd.H!CXk!7+3@tl#mFZBuN?f*c*=#K9&+t;8n2c3/H$EfoIP/>HcO+(ND=O95-id -C,WD7[EuCllrcQ2W&eI"\tijtUA:&3&[&I[0%:7C=:Yg\$NW$Z``&rFn[Au&'F^Br -/u%krUh3+QSiuZ7&-riMYjIJsBceJq]o1bl$.V1XjKNS>Z.];>B\&!$)*OHF7t\lR -*,344GK;%_Y0$:V;"q\U*5('F%KOPj.*%>B'??ncaOFeBgiLQq^dSZn`JD7Him^>W -QF<2]MZH^I'Os]SQcX?:WX06#BH_tLRt>1@P/&9:'G3b:Qq:tO^bF?!PPu58.Y7,C -2r^c-PS2&"VnfsD`h]P*S>f,Rm_IHf1SbYFfqGG0Z*EXeb&"?)C7cqArl[XgV!PM4 -6A26sJ4,%"5t`2to3Sn)osVNF9@I'1S%?&G\Lk0,_>GF@8NKO%_SRS:_G!t2#1N5IW\(S!?KaV)#pVo`a7 -blW8[Wh-3&TZRDm\C<^0e?TbK6O6=O%5UA:lgt[.6OM1s9uPpaA4i:)\A;u>1WlVm -n_bf.h^8LhW&!8RH>fr9NMeW%:?:ah'_!O+m`rK3\4UYb7/"q@opYgE:ND+9o^Sj6 -[Ele_:Pc,J]_g"&D5[U:XmH#4eG`76r(m7[:^mNR98(W;im;NB:K7ZrJq).<#gb-r -:jiaKXUS'(N6^5id*3-Ir=74#pX'-N:dl$p;M%]h(+1[M:uqK!h&4T\("%FDd>]'l -Jni\u*mrL\.+*Xi"=ObJFdLnFdT#$>=]s'1)S"af6+e2]l(c%*-;qeE\7>)er('MU -gHf'\$VS.EbAtOZ>c1LB/gV3)9KuG'U9A*S]\3dS2*03_4+U[!;p@F'eNVID5Ckl[ -%`7LlXD(;:mCfjD+)'Yo,3W!7+"p3k$+u*b!6Gp#CB3r,<+S5BjZc`35LfX.e$AKt -&H'R^n]3:MY6`%qAQGsf80HjQNc;*1M@lL@+NOD1Z[@ATj2T6@5um9*]Q3A2,chNl -`sbcUTU6?_]>C8bgJpl7Tuun*'i7m##?5h^e89'QF`(71DUd>!;p3FJftO)\/CIf_ -M%Ha?TTYmG[SNPY_CjA -_VDi6>Iff!KO#^"?k#LpZ/iPYoY"0aR*:Qtc&?2:a0d/7#!+ -h6F*Qggq][5_VRo`etRQ,?ddcVnN5M!'jLkS]2]$:p((?OU=m3L9(O$h -bUGl*4KUYp'>sQQ_'TR7#<^)H@[8J&VCLT6/)nQ"ifM9C\.6Q%6Wi:?4HmoMZutCd -AJF.p$meK$'Q;"u5iWkq@b*R"VC`>Z&B:pbT)A>NF-2^Kg!5n4N[iJJeOLS`5>@MJXAenUGEHMY,6k+/mJiG,#))q\' -JJDd)b8d4-%>NMXL`%e$Ag5jZ`Js$RDW_3qk6aRYnk)=!+1M_e,Mm-I@OeK#!F"Ha -?QK'fjeMq,+45&"r&eo\(c_I(eqHVgc1X1CJCqF>UF=PAp0;QZWliEAf.5s3#R:O -NrdElgisik#T&'e+TZg1C#-aBG,"5hRq=>o7H8#I-%1c[Pei@lh#;\0)mM_DGGh$e -2P-r6]GhZI&grF99P1Hmm\T3=`a&eSlHZ`krj7Sg.As>VlD._'Sg,:aeXgZ``FN4h -L:a%#]P#?6CU>Q=G/.njC2;\B[T:<3f"10oYj;"qljP=1A6eGVkj67-_VWFn?-d?, -cbl8'_0d2;Nmd5dCI2X7D)>9tcID.QWndg'CKB!N[a\4keS=.^m?X^:#2%A"ki!;o --a(K6KZe2:jmEgjmP`,R7cE\J/jf9QDGJ6rZX^tgk3Lmhi=>!f(<"I5\iU,_DC!Fa -rnH`3f$!Zr9>2!R>Bb"*s/?RZ1'X'055H!-PfYc/6N5EPCHZ+7R;]O/AsliK?+.#W -i0T,6+9$Yo_ehL+W,MtB&3tj.,KaX:6=U4(9(>niE7BP\cOAmL*2-!o+jeO@38ag$2rpi,A@)[5 -a!T@+qB;L@/u4E=pBbc=N6ZYeD_>k4$E/!S!:mlYo)[j7?>BVO1P2PTJu3)k%kkR* -C1ab,k/!h40/jre$h6.ro>a"8c>gjelUH3r^hY$_o4]l5Q0%t+:#_h`]U+MMJ(bX- -dnU&%jO[bNET%&RlL\,E)*9dKR*b8g=]0-[(BRgNP7\:d_bX9!FM')E+=.O"g`KHj -2cAn![8V!JWP#CZL@i5if!G(3(Tk5G6^H>"/Bb;LcRtLSZ8_Do0rd`LFU(f=^G-$1 -S:SDI!WXMIBI!YP'S;E"JN,9h\24;L&HdhMJIjho^^u.-G([8FK8;Dd(c=.C1'4Zp -!h^b=E$B#+XNjd4G.3%rJI0:Jp0@V$[\_@,]CkVVh-J7L_60rs=,BSiZ:5=MDd4l2 -'YX;!L\09`?8mf;jqsI%OlA:\?E]LZ[Nf*KQ>YQnDD.:("0d&m*T.^pq3RH*'Gf.@ -&`4o&dgr)13o&Vcl.pd.ZL=Dtr)8aN)%IQM[r2APG#LQg-\?_Q7;7Rh9'j'.f=\^*I:(;]+YV"R%gjqU -$Zkddk4E@29*7>8c+McnY(4GD"5@nQMT1bY!>>FW-:JSdhPY[K]\(?sE"'CCgCO&> -r_UbM5l76[%05_9N.^L]bO,;@cH-^%(Id[=XK>q247Ahs1HenHcU^kU=#kk'*l,a(dL -19D7P7jF&76^b=,SP?%Wl1HNc:9?:AN9A*a0bfF=-Bh!ndK'2m3?/LJo=E1Ih,Lma -mPas-3&2B]?10_1eb8fg^#3h]/-ZUoKu@CS=F=F&)3;gKEOe2d;^I^QAb0&@k%?cF -cXR%XONrn[U^cTWJjC6\==^t!DL4+"gMAq+&%>Kri8W4&g2*q).aJk6^u=ct>[a6L -L!SjSq4g6PW,50I%d?s)7B4con(L810.2(phmJHW5/"G0CZ"RTD0E1dZ>qeb6M[.o -`uk3s^S..\*3B8$Plh7f6kog?NPa'1^5:V6JKtc].%ENjb$tcGO9@9"V_=h'[&H@7 -ZlM8*PG%!UOH[El_/N&Um]DS`=V\se$?ViMc1AsH]MD.@%7`.bUE[em3_]uLdPRL? -amr?q-:s;`XWbS:[%T(o9;$YKLOt=_-]DIf`&iVsYo4)aAIpChQ6;T'=TV$SBF,Gc -SEa.,ARS=@Pf3&D:60r+p+6FL^i1.!_2Ie#5QR+E8^!?o]1^T%bpuN;%MW0U]+3Ul -"$:D];]`&ZPJL5KQ!;c6eeN=-=k545;-?o,OHPH.Wpe -[i\_\?u'pd2mr0ZhKRb#<81LQjaghTgVJKu2f9:XiJU_;K]%)\mtTLtV>#dTpm&$o -]ldncOl9@nlY>L$%G-\K\O4PXj;2uFC??B3V22f&Nc0s0=:Mt`>o-OWLLF9X)kUcq -+E()U@H7lq#C;%uZj.1C40-h6`At$cRbk^26;\K5[-E[k?O4ZSS=?_J]%5]GmMfd" -\&o1m_O\DCp'n=CNndMNX#l@+_=1!'?5Ed=2\ZdBN=/%mZi#k)a`7d<:!9o%co]L* -!=1q&KOGZ_d<$NJ9Fh6`pbiTaS=a*0p)KhfbV\8(8Os%p+*8_$NmMqd"sJLn'SRP= -6k49dVj,VQJF=B&"CXPl'Dc%=Xm>j*cP.%6Tat68"&22 -#9?&OFMNaP!`ND4JUfBWmENMb85.tc4=*>pdBL&5E.a6lejtS\*M2qE_-"hmL2a.6 -6C<0.+p:&b0`E4`=G[AWa_X&sr3HO1PS/ijVb)RO?B.XW0[$#GRGqgahc$>'j%O"4>45!Xl! -A>)"61M,(hD@&(#9o6MMUkRN@;n@-$6W@RE.WJ$O_b96:0r;8&Qr?Ug9khR*Vc;BA;jr#^OI\\8djh(< -MLO9B]W@XQmW$aU>uBm(8Z1)cWDp`W3GNt"Wg+L%eV^n4lJ5+3onK0jHCU9N&_'#; -XQihSLKi*DE1'^\*EO`X>\.HCY>s#S=.)u9X$)$6K^@G8>7"YPV1c*S!kqX2M.,`c -LdWg=``Xf3:?acP7.tIqd]%jiXT]lT<0#=X.:glM74ErSd["'@?"iVRUp_&UB>VhG -DiWhQZd&d-gXN%Xge3QFZ0FO.>DX>mMmY3,ioWEDQtft6)n=;dj5!')!l5bTXs"XX -"Ak$hX>BPQYO^g\S!*fCQm[EW`SfUnJU;4:Qj-L&Vb5c?#DY+(WffRFN"9M/l6 -FjY=SHkX#f%L]E3ZGp"e)A&]--7u_eC(3L!9Y%rp<<5`Yeo9D&BOrE.S[6Eu0,ioq -Q'66AP<_Un!_.-Z'(Wt=ikQ2YSl`o7WnLZO -4%/]^\*@%)f[:A6'sb3t/DZu??)O!eb>oi*EGm^%E'B)BhAsOg/&@g8eg4qWg8p9B -:8Y:Q'1*Wi[]"j:^5U]CCJ!m"DPX5@256cA(^&-:$c2c,#XKFH"Ajg\_?`=0&qCgb -Z3UnQeJt@Og:lj"i?OSQkW,Y.-A'%!*5N2+'-LgZ$_SUp7[ON$A$c8sdJa+Nrs.LF -+F\hAqE=lZp`$)TgWHN9.+5e!Ir\KQf;&538?]Q1nKm0,4YZa@JI6 -o02E`HaeLoUYK'*[Q+'YOd -!-^VQ>kdLSmO%U%B@CLs>m$b4)0CD/s47g4&4-Xc2aG"m!scGorDX0DGN0#3^FSjP -VoeMe-l"ua3XC1b+Tt&al2lGt$W;c3JI\%Y^Q6#5+Od$4E/PPF8.P:]pT(j_DZ+%R -S-P_%Xo;Ecc+OA1$@MlE_]CbQs3Cc0_K%`77QX2=PcD%N`(75;g]o)ERVcBeci!nu -qZ:^9!`1@cMOHWeYW%0VgF%(k+HjsaS-b"A#XF%K,J+$(<7uj+b`(*\!3cggRL+M4 -"Q4f!:?;QHFH+UCrbl-KY^m&KKa5t\1MHbF6Wh\h<[5O.RUUSX"Ah&HEsZQrVG/-! -%[q@:@'V+-BElODnA,-Y#Wn+`<6UBPOO1+)Rd(I;$#NY/m9:&1irXm7d%h"`D\P@V ->aj$Bb&'JN&0VODS013f7#["e7I\qA!s`fK.a=FpJl#?1H3O@m#bY?,@%7CNQjS@C -$:PL6!5J`q]F*Rp$D<[gJ535\s<:('_RU"[K!t -^cE$XC]Ybr)W25HiQM;Z/ZkpnK2cCP4#.^U,`[WW9[o, -+HDEh/sL3@!c1>W$ik6[9+)>Oo-/2LmcpsNd0p7J9%E4!,*DaIdQk08$?-3JnIV?T -%$'k.onXr95Wf.HN@DY$?uI'`GO59^IIn_d;1KE]/A$/ehjTXY.* -Zja`B%"R7=@,)8864Vr)"G"o.+ArR)NWl)59Ak%"5[js1@bl$9h6HE6A6@\cFpDDa -#9^_`i49RE0G=ot)I_h060TeOK\1*bI<69lE9rdnQ(Y:3>ku[.'lCEolG:e55s:2"+1r -][r+@a%(P($$/p#'i5V^3AO)L"1(9,17FA)-$/X-YO7$U^Jf88;l@?Sc^G"mF<[nP -HZFXZMk`;_$oGj-$S8]aKJf3C24c"tk:X(,_ufFLTKn&=aStY'0GS!gX.k44 -@(F'K&;U'`)p#r$3,2%sCpQW80'l`'S*7lTMu8< -1's1G#gPmEOXV%PYrmgh0dI;O*;,A-sN<`C9,kXHgi -7&sc#i%[j7:;#o -5b+C\^()8R%H.?ji;hnH&e\S/&j\LKTcO;E*"ThK&#pla[)u'-Sd8_/#V%>@FCpN! -+`AR*(G2Ee!-/>&?3dhs%#!CM+hRg6]h.sci>7tU'UTu"$loAI!?nBY+<24!-j(V> -%,a_dZ!%AJ3IH$qf4\o$79_a\*IW.RI@&-*dQ\rJpi#oWICJTlj=7HPMJ8'"1\^?e -(]P\>\jUZc&EuOD;=,N+#k@KtE=<9(.DbcK/Si)[CGlA\3lH>[?F]iPHRVkK1T\(Ve6W)#=)l++GL)NKF*0F -$"17I!4E?p:^t5F"2lG0$GgR!*ItDG5Imfj,l1MGB68Ji,:rtRs:V""9A+]@2]h&///6Z -(-usB+`J75*Z(N+!PsL,J05Y:A--1K'`]]ti?/52*Y*]g%T]!!%8&.A)JQ5V -[nXj?I4C5W=nf!9Z`H4/+ff@FR+Ce1orNJmXAoQO'?t@\PH7sPXK81d-uE:W!M$,Z -E*U?_lRdBrJc!u3u1\`iW_T!\C6i1/U6`pgVLG4`N5jH -/($%%0P1W:*XM@>#Z^@[g#&sd$6V[X#Le#Yi2Hj0PfhJ5fK6tPRk9iYM84KB^oTnf -!&Kj6!BRUk#G>T4J_%.9F$Be?tQ6PdQ$W!Dn\Q/ -SP<7(cPO;Q"?u*DIVVfMUUN%[0W>%aqJ#iL8!nn(iG-D3K64;;_&7J66 -Th6,/*Z&7X!C<@uZ'67/$68$Q!27g]?jId#qAgRF*21:NiPg-EJ.fXQ&tE>=5c+]M -U'SP<#au@KWOkj^EC+&c']>2c(HWT[:`KHF*#a`-*D^u)huH($*.SA9JZ]"SXqZC9 -'P\m&g98`6FhdFR!?'$[g=OdoGM$2HfSS()kZl2M3q7WXfQA+#7"(V`\HhEPSYPrA,ZIGonXig.3X\B/Bkc>-LCg=-pku+KKW3-?n$ejV&3!qU1#Nt\7+rn_d -D$a!Uo=D+">Fqb8HugHbcoZqO4&llrnSdtb:HR+cbMndo$#V=V^/D+hEP?W^Z4KTV -Ehkn85c#V=5^i,efr@=p(r.%,_6O(BZd8a)8mP4aiOT$J\kbV$&E#S\Z-EdX$$)Yu -KfTbN1aiYQ=pZ8R%A?MuJPE'd^Ihl/)LoID!!iE#"T/6a*PaUTGRiSCJskl]\ocXO -23,ZYOeBp0)ihr`dMW1J5:)F`Ulp"&VHG=69',WsK[+-dR*FcWM6uDj4.f9H'A>**(#OJ[I=M:8QS,((+&ra^_YZXVP,8T%.\d>O?VR -FirZa]3T=k9@_nnH+mSM[/,bkX?%@3E:lh_3+mZ[?glYfIS1h*)b3CC&\.I@4!0Cd -U_.kLL+XW_L]cUdn8pCcN,*F\TZ\dlak3Y(>Ysd2L8iZOUJ;BH)jTH#\GL_N09ON@ -F1Ih?Pp7/OgsegK$D?Dm]u8p>,>;WdMpU1u"sX_1^Xb"RMnS!YGdpj+'a[)*hp>ad -)?)kHkVbYMI##Jq%>6NPJQN?^tlF0%k3dbr2,)F"6>>5HU2"/A^U -eI>)Ie?-TX*%EL<'ih^o$\jhS0&4+sMZU\bE\ub`(@g/1jc=X;[&rXc -?IYh?I:"qpnUFnirVM+QGSUZ4K/,,>:/eu7j'aj)\t0cDU9ITHO'rUl:kN<[F:&gR -E#N@/?oc/K!/G"rG9-`%i,jL)8[8Jg#!a):Q6;T'7Y>5Ze.N2lBNQR:NA<2I>L'7< -=1`cfY,c:5G,$a+H?uQjWjQ$8X_TduJDd_NWgrCZC`]pg4$,X;_n2AGbcIf_m^lNM -HG5lMDY8%D].lBRo'E?Y$Q40F>UCH"Ca#W^`@,lN)TBX9$?&HRlfi1&draAdbK+hj,8T00J`D(G.uk:ag[^lL9!.W+LI6@X4sG'i -L40b@dJ"Z*L8),-W+6d#pm?pT#\1Y:4-cJ,=De-Dg!0YhkElBtT>1L*Jfn_CfCs]l -(W:B_!+CmeJqZK%%M7YS8i!b=K^9a1c?NaP(kYY0$j"bM#Oh:?M@_>Q6(5!/F$mB^,"gFd0_LP/\Tc++;Y[S)EN*9?gjP?2Hf"7Gt`/g$I/kB[a -+llT(EbC668FiA@gS@"_D7$D[aKm%N:bPH!XZV2L5q$:Np]QFR+g?'[RfNd=">YK? -Jgk(4V3:qGN"TS\^V?u6@8i[\l>ZoW/BH\$Dh;2@tM-Ijt3(b1eFP/%Z%.IefP -:auVs38+HN+F4`!p'!4_HR?kr6>"A;;[JRrnV&>BjSZIgW`ZBs&7+Li4#jU#]j -.g4t`&OIU.G-mDUe-]JR-rff3F],8?3jD\"bu^rGG$Ia/qSH?ol -`E7]o_>l3?E4-Fr=A9&$\0!6q<77%;,"pLP/q_nSBgLHY[;ORF"1qm+/X<8XNn)k; -Z[$ET]!nTC%(nEYC>tL]^9iXgOW3HKE899m0a18>*U9,3X`_"ZQLk8BeWdY#^7,%8qd[>_[Q4fp(dHV[G1_P@Q8.]0R5mu$\ -01Ug#*]=j^&"indT[Y('ODoFE+lG]lnB1ib/5q*c:*)\$GR7c^,iMFYnEW7[X^QGf -L!_d_"OPe5Gee_m*l.i&$Qu)n"+XbgZ;).[ -REmrG>M)oKp'A@X"^,JclWJ<>K?tMQ6"jr"'Vpa.#8E&X'kLg"F?Yo8Kt&9-i.)LB -=AB8)S1b)N8/d,b+qC=Ob.Wo))1aJQN1iojK$]Mh!I-f13Qk$$42+2.=c.-t^Bs4S -JYdN*LtIu[iANgj%W*NC_i\Y%+L"V0JIM#$P0"`?1^bq!C2]P+Ed,bN3h,Ekj-Ps0 -'qbHGP@iUfT4"W'DX^m=GD>\F43\!aa[-7,f&k^kVgg,eN12_gBEW!6'M[i2CI0.4 -#b`@dKTLGEcU]dT19;'aMS6TEi]5`*G$tG5#^Sdj!Djo?qb5p>[?GV5h&L'obg?&-\a7HGoZ"s107!@BW&3p/XBS904:dNQ/[Bkjbc"+2+/BgNT=#l'3$A5JF&!FSOj5qFAbYaOUiBRU'Bne;I0&j(.& -UP"W2)ijHI"%Fn?'1(7^LIbYeCsYoH#.7I91M0ruI^oZ,dldek=I/q&_t]Oldj=)K0MQ\%p!,cJK(VF,W9o#?KaI ->*#6HD.OqA`BseK4>G:!f3ePr.Bu).hmM\+5/=E\fi>25nNSGk.XU%nZiiU,mm((G -5NnIg+<-lVcC;HCN1)sb/-mhZdgSdd^n[I6j9_AM>mb;RS[2ZedN#;L>+.1=JlkGA -i'a!3A3D.j6.ujSE-;3uFpA9T#7+UcG[5tN%YQ([_'?LN3%?..'nf[uJ8eqP-j#/Q -PD@N0J!RELS/g@(j:X)#)5ZHJ>cAITKiTE&d(3i!ceAOA1#4,-:>ui -W6q`^Z?%%&4[[-d6l\K\/3q-5l8CW)Ro8E6.',]s6UW)7NM"5Bf\`928/*47%oGQBH@e+$Ccgsr7b_sa"*:?HD%ONB -OrJ*Ka;9n^\eI.$!E4Rad2EWRCrZ'q7eCRYJV:Ip:lg,C!RT[)0I)0/-E92PjEd4]PDNksj3T_(gd5fpeYajcnRbb$9b-mFnL0YF,G1o!:ZQGu%R -6k#[/gn+pH!^6V@]$YX%BIa.g._:]gJf)ss%%IX6iZ=38#ir6`"JR'Kj)?<4WEABr;BP8p%oa1pbAY7%TdCJcTGmGU+`R -."Z/R4'3`=H"I*@`;D".c,_gE(cG*E/%gri23Q:FTV4gEh^I0S)^>$k!rF5E5RNpn,ca(e.cl]O -pcgV6)s]YWifVQFTJ2MK!MHS8_8\-BboaE@N6#JN%*&J'b6)E!s-%>WbL3Q=]n"'_pM]p`X,_nH.1-q-:"pH,ca*F -E3BZ7rJoUk_#i'$'G8_U&/U64Shc89BH+ckVa5>j6%ITROtjeS)h;`E]e(j&jY!f[ -15BO_J1tuJ5[K*t%YQAZdS2V0BI*[e,QiQ/K5aH`a@ZW'#mH`cL,oWr=98_(GDK(@ -!"aET(jQ??!f&IH!'k@T?j29e<.LoH"?6mE0J\2-1*\1s![nh9(`Ok+c;SRVd."N% -n]]?s"/DiVa-6NEF7I#iNqYnlb=&k6& -=%bR$&A\CPfokqsJ]^82oct:9p8%#,,pH]I"G]\lJ5%Ms8!t+$8Kl0=Ji83UUtg'Q -;g&3c-%]52Js1M)P\b`f3clrf0IJ:.!LdsdTG#qI& -N[O>h(&X&hi`H3iO2n'E=kQB2I"eF(1_[t,JPc'lAR8Oq/Zo0606+0eX.i77_TY0A -g6lA5jCFe*"<*5e)a+F+8]AU90K56ts0!0h]F>4mF1fr=0QgVNt=+9&LhD -1PST"\fJ/b`h]mInZRurN_:\7:GA*gJk_;AG_'Qsb9[1FoXW0j9\>L=7Dk13 -76(q&*!OV879rP#[76h`O(e6bpu/C+)jQ;1gcuX+Bgi_9db1"J>t*6KnkG3gb`?#H -3=tmi*-70-rR%mu!O8fA?lkWD+h2bBa7pmZ:a-]ciss#A\K0A!KP9*j6.oP8?IaS_ -h="\7K1>IJ'^NRg3U%G=nj/X'!>%4hW(McR#R._F!-hiT/(HB4AVM<4"smsekZXZO -q?Aou!'"p&\,ZcHkL/o2LW0GG5]VUP"U:?%!,u;!1c?6(7>$s>"-Y)6i$K -4mW.U_Y]g3k,rP>*+\]tV%$6F81riUiLS9QOiu'Yh7jTW.VQe0@c3a'c-OPl^SClk -%3+8Xm`I)S[E^%+[O0t8lTO4_?H'3O>)O,gW\-9K^`?G&5c0K?)+W]h`YId/8>s=G -"MfaH@9+'#4W;K8QVl9-iTm1%^q(LO=,]c-%HHI`Z*gg$lf,0fb!%IerHM,KgHfBq -U=C^oZ7dF6-A5X]_8ZW98:.E5Pm8]>#9[C2V+LkJ2<5IJ!W-#OQk][Y1S=:u:,l*X -cs`T<0o$@-LIPF$W!%jP:5/@OKg8%VkX7hk1Z8$QJe/`M!Ma'=.V;FQAlSArSFr@s -Y?MK%ii[$.Anu!bCa:VG7T8f9ja"W^*+lp"M0(e1\.jOn4+RYu`CNUT?j['>@/t7T -#/C?G^i,$BE>^B'#:OQl0Q@<\":"0A#/FVsG[Lf=::!b[!sfPAr&K>t(P1[g>@]o] -r?ned!9Y,WB$QC?TWVc,""m"Nh"bJ_HY>="2Fbs\?KLTWYlMjlFh%R%OE>6n0Y?,F -7+cb\VEbd8QBt)?TP7hd(e\gNr.LqD'^;0L$LIeq\k:"&(SrIP(ZUL;]6u[:N^g.> -'F^")]q"?sn(>GUlDXp-RU`:^NpBH#3a.Kr`SslaP1k>`>)'U^6!l8CX/)&>ZtR?@ -$Il1qDb&aS:WhZL2D#EqOli7CB-,&![[]gc(L1+!6sMrdW#?0$bIW"fhD13%=S,ih -p<+c@U(ji0&ogPi\D!??2:d=rd0e\Sb>-,a-/S`D:#)D)O%.\2X-6^4F:KQ[ -_s$TN+[_3\FN-L(J*Y]PYjg( -iC+Bnf?6pMRZY3$fW$O8jalr@n!gQ`"1Kani06rj#iX>lrjAblYj`-fn.r"m/C6n- -;JqpT6`aM*RPf]t7tB5]L!U)/cuFRaEJIWsLKJiIP;#riF9!_21"AYs0R/*ZGd@TH -dcpG2#7cN[56k#>#4;9l+B)7"-bF[1q[p -p!:$%l%]+F])D% -.mj+$IPfG`.+%B.FHGZ[=P+hfTRp]N"@jB:!Xc6f)=_8jLSt3.W-)&dOZ<@K'pM`bBL4Ci_OOpD7jo%%">"qd\('%bXtY/TsoKGQF!f!O+=&GXqhe8+pV0 -J66K)0,8V/*UtObJ8eja85&,:4"Rln`P.2pFC6^glh;KBGaF9or!RV`hBssBoI.dS -$^!oh1fs\ZE$(5VNh&b2K -pjrI=9OJtj6[%/[E"dGc'8N+pjFr-T(F#A*kY;r'#+G84u;@; -?lr(Skjo$4@G9?dVEVf?%([OfI%Rb4:!m4bNt)`iHnd9"X8=KZAV']K^0hul_G/j5 -HJNDENl0ojl:RVmdn:^u$$(5Ue*F[9H7p;)Ka!+=K^+d1Ut/s#P=-,4G(ADP+;;lb!IMQ]&'(mXm-k%g*C*+n -\-DBF]s>u)p]:Doe`sQ2rH?4bs3p&cq$2q.db+a])$&5KfHRb$"dB;>i[jRB3uJ2+ -,(RJ!4<):0j+uXRYnueNq]2iSB>c]haDSJJ7.N\gO2f4;@Ge_=h!b$LrSbD-k8O2A -I#+99]YI<:#4oXW/.hqL:coNs_2s$b#f3a8+UUP4X>(+#6'L#\LSoKKCY\b@M8F0*4__AHK+/Wsl[1PSNbZu$ZM%g14L5>b4 -mNXKU0.J1WS?Vt8:?jn2`\?2%0MG&Bequl%$mq(TaN=u59s\Y8NQ7ufI$;dJSF8S` -nd=q*6\1&,*/5WHO;7h04"rGMZD\l$-Ob -i[,R3m_co%4Hl:D-=6GKkCMRD/eN\D=?[OSiL#'7LuGk8+c9`#lt.0nLp1oQ+V0"r -Knbu/8W.-3Xs%oK6'-1*#6SX123\*O5%u`a#S(f17rqI#[T(L5Ri3mkCeFjUW8\Bu -i`K;.jLIY'OPaa;h(%HKP[?6-qL5uWle7*.Y3[)K`Ic"$`'>?fW6,j;?oY_A(G8!U -;A=fmJ4L4>5gVCuXc#sU^[Olt$,H&1YV6K<4AQd4EL_Ln_=57e4qIht5Yr,g!IgW( -L-(K"bQQlH8^d7e5>fr&JI"XTKAD"R^Ms.D-cmgLi&B3i5tFri"s*JL):&RmmM`a0 -&7ua`+c'59KqU^b&TjPA5Rmmhmqpd*.UT7eFb'fl'850XaisLQ:Ri2AE+_:fKu%.t -(%bcb?4VC4^U="5WYZhuW$#mc3^?+2!E3QG0HIGaL^aDn@VAO#SGf_ajM.?k$jK*c -c*nKSgu';*GHcAL2c*K0@0@VT:_C7L#3+e'\1i!BbpO+sV@AZ%hhK'h)oHcneX5Ui -77YHO&TdSn+pohn#AENIe,54=lYTu_q&Y(#aOFRlCqB-$%E0%u)dbID63/aI),D9H`'EWZ1O.dC7KN:4i=W8S8'c,a/QY -5UFSjoFYS85@a$TcSlX&#f0(A"fqJWKE.&ejbQQjdTe,\0S8%d9HAe)S^/R#M&KmF -7Z8K?9*EUr&:tMoI.3(/3XAp[_1[ku!3RmUj?GN=PjP$j^3EEkjZ>e^oo,S(-;,5b -&=DDfL!X)o:7uka64@ZQEmu0TV!AbiXURTmiVh.B+[k5<'V\Q-N)=mY7@]KX"-)6L -(J(KT_@S=*+iFtInNI,pkf*Xu'Pj]Lc2gEqV&pf_I#kK350)je+116[WA3m*5S3TH -_rq(2Wd6m4nsX4a4FbklJPGDH!Zm!$!Y3W#!J`)Y!<[:QJAIU+5_-K^^ee&;YWsC" -3%YQ4$lomhigaHii/+WT3`hUKeu3";4c72tT4Rf4''fNBkPiCMFRZF^*IY3B3lfn- -+_93(+$NPJ9nU?o?Oo713silT84s`6M,JQ%p$1#%qb^[`]p*>M[>lF&N5mIqU-1nB -)%`Z'7E@GMD)Qrp")A8S:V$9nYoOW^L>QO1qKfN81l2:rF09Qi -:VbN=X70d7!H:@9+G;h6i$KrYkQ`'%TE:.)joC1*Q;\MbVU_ro0YhA>'IO__!T' -#:O-\V3A3^;9HFF.jOq4%1^i,4m0p4g!$^go">HCGZu2@T^2qOTWeK,]QE$Cib(un -9<#iUbb5JapB>PQX[=.A^\.s122_" -!\CSlTM;5@`:nr6h#JhP^kYkii'%CEoc0_f\rH"LB`E4MNcI2%Y.[=nqV(h[,9ANs6m1tB7[DO7*XFRV -+HR4f=/bOFIa0?:iTl'H.c,^\o\Rnch78 -I-0C50NH]fm?)Kj``l`iLAFVJX#4?V\g>M,2Bop]OuX$2lobSF*Zr=B:.TDD'&pT/ -XDpR+kD;6K:XJ#Fp(4YJK$\0>iLDRpOK[C$]W;C,IG`6-k5c_FRldq\@eR%/)#N6# -$mC@L9u)F+'(04R0kK7`[cQ:RbK,Yd$n;EGVAXcZBaaHi.E6=fAe4g4/pha,R=A*=*bV*441W14NY$u>T&$OBilQsh)oGu)ESs!Qq+hhWt8T#MOtYO)X% -LZ5tW%*.Mg6'bq+1]5Sg&gaLrlRo>KD@Z_Agu0pn!,r;H&.\e.PbZAd/o)eFCjZNh -=:!jm"/,u;5TCUaj8^DM!!2Md%.:kA7]Fa-"AheqK35k2jrR1R*9"O2!P0#]1)6JU -"^ps/+F4>"mK]UQ5@sc):]Ne^(:?nj\3n?ZO8fM][0_qK$"t18m6%]X5Waf2_'E\= -XX#.ZWsQ!/[KGZ_94\@H>4AL"9SCX!![b7t*!ZW$$n/^mVEdQ=d!0)mkpRa2beXPr -P7+2+];VP8A5s1.i=M$=$VS#?OT'fi3!Z,5"CTr[@6,8k(`=L(!,_^sXJG]NMqA6pi(Td!-1#a;?J>e%a*T.2DiLg4&TG!nS&qI=m+L)nQCpsuD -LQ*KHCM69j,o]_e+gN10EZeGC3X7@9+Q>=",f]/+/s--AKFO4M:_s-d%4%*,,f7:S -B(Q2m9EaeD)(BsoJ38/@,:8Cg,k=PZ%AEsFFF53+,X?%u+GL3el3QV!#D>8F,lDk: -<8+!9HGDStP&VbM(>u2V/gBG919u1=>:YR.+suX[%Kta')'i,',d#rL#Yaco3A#pc -,#[;B1?-`f.10TND2%Q'E]3ei5ib[DjX:8h%@5_-QJp9p0CAfCVaPppk*-?j#"4tR -/oh1$5.4$to`0A-9Ye*6guF+XdA+cEKTr?/oOa]\t'Y`oe:/l$+4ZLjJMjH8\=qEVV% -POge"brH*5n3i9^Blnl[lKcQVStMc<+M-ptc42ZM2W3F"F<^VDrA][$q$$PW0/5d9 -[l5GN%CA=l^p8qBKRG5nOn-*O1UKdh%Lj+V3L!h[ZgnTVk=1\O7amk;FE'=jFq&P> -ooq?@kfT;g\n"HEP"B*h8Gr$$W02\(O8t/%;d2,2:Fsq49%9n7&uA4m[%\*N.dBFC -Z-'rC883U=&HFj'lRE0-1+(ot)UB%i*gkt4lU;Um9r"t;;=Z6IZ64sg"3`$B(jF@V7+ -8oTGj-2?a5Y8ROKYgCp"Ng*nP+m7?sj3^[KQZ:>Cc8X+>OT2=9;o3(Z6>N_5%*?U)Mr()Sroa+gr@5 -&f^qZ!F`8P+;u.AO9,HE'u2@8Tc+$L(_)!j%:H=BJ?0%W>R980"s@n%+qu8AG8Fdl -_=a'mY)Kc(>3&3%l_D7TapJC\pC&aUA8)kaktsDG9eiI2%41[J2/%bui3WjX -kbHCH;#LhWN,#[G4n3\do2/uk@;?\3Z85iG.GHagdl*ll7j-n`T[re#ReBM=S*>08 -cau>>QM:I5JACW)'R)SOV!Kn;4&`:-Def/`:m9,;n4DF(Zthdsh"?muR&N#-VWrRc -i!(t0Jk+9RW<#3TANt84N&1GroE+a.GsJ)/5kG^YT[?6YB_@5;Q)`adao+Qc3C>48 -6ZbCWi7gXV7ms:G7,f>C[oASK4&&AY"E!1jI(AdBN*#'UGo"M\]7hc\Re -Q.Y2@n[2;3\2pDC\-'iP,_/JkN8drN5"5s"gJ2@mI -t#'L((/=?*k)""I8EG`!^eCNShp>c@bl#,)@ -Y#`tp'!!BXGgt&5gL+@CXh)$;\isuR"U=:/qW;g9(+>?;HAte.)`+UC2?YW8";5g# -(I2tE-*A^Y/^dU@TL1#_6Znj4[G&MN3d/pHD/beO5BW:&<\EP(N(7IUA0N@jLHq@> ->'6_qeB&+AZb?eA_@-q'K+InW@Y`\*A/-6dpaUH!a,FE/4R&q^WRDUi-M7[Au -3s;L<_nfrS@B:F%ACo`_'4j(0pV)1H4CI8:T\G"4ZMG6anL'j&+B\FBYaDVi$c(uQ$$!?DKsJk1>>!# -=bRuVKlcoI=Bl/7@)o!;5Yl9I)4#td[o*3:0i.qNm?c --dl9MWWA+\To:u4(^bdm$;8GG9[^f4h9N],e=B??Z'km8VjTD\;7g1-=atc6?^@&% -&4>HciI3F4"OnZN4Cd'A -]3E86Q;YriK,27G&"l/uMT?Td:XT:A^>1)tGq^:jg]2o\);l>Lq;N#u`!Z?YJdZh3 -A?cC]-0!cKkh_4'>/n/0lFTHPQ"24_a3V(27F.R+c[>8c[b`2`?>`YN-@5QrB*%:h -Y+d:cH)Z6Snf5k5F. -nUU]-3Io!F.>n#$[<`>FP@1;;<*Mh"kJuNVqqN%b:\V^$WJ%S3Ce7BSa$a:V1J)[% -M%i1)^tHO(eV>f+8a62la5E2,U&TuKfAZc^(5i@5iFs-f75#I8Vatfr+BXI5U4ar! -luY9,%)tX8Hl,s9'adAS.5;$':mDi.L8f1L@!e:]VNTt=/A+WH%S$VP<;^\o)j+ff -3\bN6A>L5ZKpluiL-gG!-fULAZt(m.<^m\br!7@PPnXZC;h^aZBdm6,QI4g.2D]oB -/pC0(ddM@kMXQc)*EiUc),CJ?&chim80emhP+m4;gL2(0ZB/CJk5TkGhXL:[:)=_/a5qFWd>H-6ACdXc@-[t6[eSDg#nYjN@2]3&p,9aT_=AD>@&WFM81&:m!ra2ke -!W7Ft#Q+Z)^ec9e"$nUl(Bd$c<#Z*/n<=q#5__6:@m4F2VA0F^+C$&pJUhk6L2STa -'KgA7:DLi'A7$-B0l1J>7ZipN*(KJJD&u2%lusOB1'E@SaKcLZ)[<"1Jf>p8atg3* -P%9^oa\k7),"iP*ZS"mek[u/qP6c(Pabeqn*@I"hG)S$3fQfAL1H95*a\amO4&1@. -bcoA9k^,96&nLA]:pTBj4&IE^#t*+D>o-$9FB'VXdWDlI9MY.1-SX#T<9fIN!OFI) -Kq^!"'T0e)8i.$/+QP`iKAd:POMf^G4H2X7dObYIaIX:V_Dl?ULV_&W1sg>TM_[GQ -%,`.0(6k@UL6WI<-:udZUGgl8i,rd.P77sS>aI;gF545nf6(B.:#C,#(Nnba??`^Z -1!GT@cR)f#XfYFV\!@8M@(3iZJme@S'8Bp4Fr,qm\:uAf;$bsEN8,&!cZ)NW?7Uim -32T+7Uqrd"'#[)_l4FM;E$eVU^a[EMJ7ilg!1qNt,7;4VQi_Q'5V^2j!G6ml$'k]" -4?s6>:n`t]GZ;PObnEi1a_JcJET$)"5s1e_slGO(W-@6!("YG*.K3UEVs3/_#q=U3PU2a -gTf+Hr=cNcF?M.4^%FJ5)ADeDk[1UMM""ZLKV9MY]*'/#F56s]-p6pMSOWM9Dk#'K -jE06[+qo*mE*a?o'*Jb..d$6njB$66I/%OB<]X.#S3TfO1PT+YW?oPQVW=9*4\DX9#/olIj]u3Ohb_d_6PBll:<7Rd$>lkk_^6C0P(d!!'\H] -!$@0e$+%dB;X/t-VU^[YEur=rY]\O< -.@VZ\/@Ca4WJr1>W%q1bHqulFTH=79Gc="X:^(8e.tYR:(I;_=$t-S""jgWm_Or[l -@5&UQTSs>s+@6;6!$8D@k?JV#<*AO4D;8>\Bj.6A>?<<=/bQuPY&03%Q(mYOS%3\p -p"R+Bb0;KqDUt-e<(bPMn6W`=HS5is^":9th`KcJU/d[1YW4.=<]bHmQ1_p"'pE#Z -A.F0@3":D"2$r1n-Ur=g)8gh(NT&Rka)+>Ja9`4t,R/pXD?OCP -,m(lEJ(RA=8MEU`V"V%&RcZ6:R,\2,S9^.HZY:eE!B6mt+']b:>&J3-]>!Hck1kmQ -45c>9jUA*eEf_RMfk&aJkIm/^2I6NS9.2mR&E[6`je\BBQVuVkEo1OJFcNtmA"u4h -$G=G*@&#jIR4\gg!$cKoS.1shhYZnFD*"h2hW>AA$08TG099ika2Tm!?GJ-8\i:B* -+@ZXlcA9sT$UWppf;UV;CXDpRiO?9SiW0t -[Y)N1%OI]_D1ZjBk`A;q`Y]gqE0qG$n8&PBY!PZeouTR^-^iC<7haPun6F]]3`6/bXW53%7rIlWC!-g_mAZgn[Z3B4,=T6t[!P`h>28pO8`F0pQprfoT3 -C/HO'e?g!QVHUhs#ag"niN]!lS:SsDD=J_c]`PoI_-pSBjr>Ir6DNMV1o`8o*5dEi -RD=%l$Io'Q_5e%q:j3d,*pBCI9TC;b/`K1,>MHY]=J:8T[f[p"# -YBq'()(6_LQnitj5G:AF)]SS=_QbYn!3DssXKpli^`/JA@l?s!&Qt>/5uF^;omt9' -!U1q^qt$`T*eEipXr&1pl!tQf8sWBJ&X)2U\S\KPC6lCVY(8FG6KstB[]Zt1^LS7t -,TFRq*'piW,+Jb=1-Q>NoY9`5_B^-g1`XA#,/R"uX>TZJ`^2_lgD1-%i[8`SBFY. -)=@h+^-r$b73V(,i491*X2RmO76hTG]1;s)'F?!R20]]T)9oKTf0,>M7FBI((uEJ.$,\u$9Nh@nq"Rm -MX*tV6ts&.9ug,ja$a7SC#QHKj+,8-!<\cJUd`3q7`WA!/p[Z$d5;3H`@Oo*^sg7Q -C\f6b)PV4`TS^./PA(=@lmGW)!g#@^YY3'Q?HCK-aQ/A9UlWV#Nl^Eq8K^l%1,T-? -P`1,:$]A+EM_(ems$U&R`tMlJM5n&_&kCHBa3:-<)hW^:KSs&gUJaH)82j.-?AZUb -K!I06H_[Ch,m'mAVo!40(mlOU4K#D9\FYt@,F0"LQR%s#3J`bF:m&97/'1GG"'_;u -)IL#4.a*u8aKRV#J28P#4+[3WM)38J0S:BmW$R(q#U"aG_lG*;?D[L+VA`p"ia]S% -ANL_W-R*pbJ2;ggbbqa+K:53=fJ1O9.O#-D\DSaZ1V'D6\q=a>-W@[7)L"Y9Y<%l_ --_Re.(biTN.4BusVq@rFiapC;NBZ"(X?#W0PKF6B_%q[K!YC$:+G>=tkU=n'5NJD+ -f[n*tm)O587ss`"o^0s)k<5IN.?a-M\0?KK+bR!2"/o.KW)JG4"U9d%!&/>HELSYt -rX\LJ:Y[kSoB4HpJ'ZbpJ-^OXTE,:kRYQ,mJ;@H`&Z.9b,V9ot!Iu-+e=TLD%*-Ib -'`AN*'b;#^+jea)On't.iAVC$#ggO*PWAo^3IWOM^`mJC(j`T@`'OaP`^3o0_DD9E -]E/O2%Rb\odCSSFX7_UDql_3h8[TmC@CJ24RM:^0RoC5&3r]WJ_UNsdpdmUXWhU"X:^L.%%U=^3"ad^ -!JhWqW"fB(4+iVcJCmCgE)Qqu#R0;aL6-5%88O%E":"(/J2hM&oh>Y#"GXF#!*Eog -fE_Z-9RsoP"1Snp\1`Cm/qS$WJn58<%3UmlE>"-kUE[KO79e63@+5p"NF;CA8LQu` -BL8I=$],duU0<+]^9Wh5*,+#ql-6S4]/%$$7>+eE8_/GQmkiNj.PF9eu*M -ZBS-RX"kYN1E6PccOB9AC%8P)^RsGFa1Yo[+MG)8:,RZ+*-oXG0ut>WK:Fn3!:e=c -U6`fu_43kG!J2R5!$.s7%>`.5%oKgICfhbN:E2c-fR8*L21!q@k="*O8$K*r"_(LI -2H-^oP>h\db@?@E-Qm^A;ro/9$A&YT/]%mQU%gCL;g%DFf3rIVZqRK -Kk79XJ4)FP@0Ca[(qK);0laGBu*\KP'+V$Jb$mCS"7PGC%HV!'DQn/\e__#]F<3bTg<"*:%9'[Xs+UOmTj!p.%jm%uo85a%iT$eVYZJm(:<_MC:RV:2Llo;s>QXpEOt -])#sL&nVGJ'`uq&V9f2:2[p,89hn_?qI+8<97.1P,Fm.+IHD!f2FadCh-!_C^r(9p=K. -!8n%^W@[Sc.KHNZ++\q`K*W-Bpd'H"5_UcZ'O=jS-TXr_&*5Z%\K,'G3"R3`7b5au=*:;%]%r?"o/'t<5uQ9?HYQ7G7) -n]53I@p:Q:95S2=EV@nfG6^GOD/ -192h/P:X$5I+Mf]%f7Y0]l5dn/i(XS7UbiF('!J`o.k='7UQfLBG2^Z=@^TLVi*Z+ -,Zuqg9P68CUquuL4p!Q,c(*JDZH*\Kb]6gaP9Uf+f]A,a:`Dhj-q2+#km!U?:7E\L -Q.kVkJVIcK[\#5T_W-q*TXH$[DCWcU8W*&lNqmZAd'J@L7d?(8C7o)%[A`B0W!8!Y -KoWT_lcM-iu\Wkd* -P9r%M9q0hE-EI]M29A;93NAOl'ld"f8*2?/mO_;Zr__N3;="?o"[ELTB(:#56$hO" -i\0j_9gL]SY).)5:DoNW..L@[Eo.o.o!.7).-*G]A5=h!2_Xbe0(W!1CJj@_E]f8- -JMIhG.rtX[7lB8hP7LJ.J_1fjbmAuX'nUZbJN,@Q+?En\602cMK]iesit@$$561aJ -K3/`g9K`Hu-@oPNJcHV#+;gc5orA$FPb)O9/nif047c6Jo1)iGI1Na^`+JF1l9,\W -p:(P3Y!uZ.*!BoEnD'PX>-dg>$h1dbW"h)[>+DS4`6;g^Y@jE^Y1P2Df%?Un4B-J\ -CpNTPn!O+8roU,8pm+4o;@ETB --q=I'CXP+F]u&W6S0]tu",)R7E2H9915])[>R2g2g(a]LLeR"mCiH1dKWn^G_2&r- -S!q,pc-]cGHNO=FW5'^G'Q=,8`_?5F3W8)lUX0\T*[*>.-q;eb'<1AN>j[cp?,XbM -^lI77P"_/!!f#U/$_aE^HsCO)m,NfTibTthjb"auhON1)[Hi_)^@%G8hUjY.BKDq_ -\u)serFa^9\oJ(L,bD9D-mBM,kfdM.1ZZnE^rZC.p7rGY_?K^U, -@J(_'8G.QG(P2ld!a%(+5V7X#%tjp]!3f@U3!KRHAUn0"Y]sg1TPsljE!L=`#BpH7 -r;H,O$7^D`@5)t^:]^kuELJ!A#6deUk^YQW/VZ5BN3rqn'S06s!'YlbM@3pVLtlZ" -)+ER?Lt$T.+-"?OdO>["'E5J -AiCY<7jESpluY6/;lV(BSQ;R^Vpd(OC)$Z\?*I-VeDNU>A@`Mr![oJ%]!h='Ij!$\ZE,E0P-L@\,TVgr>[S5$&J*^gBQVI-)Y:R#BOp -eI&ufSYOT`E]G]M?Sen4dOR1l2V2YAaO3PGfq-)=PhpA%]KEY:KuN+mq-7fM-_&Mb<1e'L9"f*rWe==o):6BZKF$Yo&IEf9[jd_78_I+ -2$aproIs5ZKjd+Y&VP]\jq,s?]_Ds=;q11rcI9a\?J$"SKjWJU%>eTIekM'6fbS.a -B%e"/oF6G]XZK83(`52\O?s")iZi)7DK6-.LB3lC&j_*G:N9h$X -[=ChKKjfL@(sKh/F<64s!._S5iIG?*"W,]8G1RDXkBg[*Sh59JpoZ?2j&k_*O5lGC -YsAMd?re"I!GpO-UB-@p/EQ\dZ'f2ASo#9<\SbRe>bODX'80;SOt2FLYjOT5`28c# -Bnf*IChalKV5``,NiZE""MV6+l[n?1/dL,:5u!$?N_C0^Tn[7([nMb"0hJSO2k02] -VX9i@)lR<'1eN*am&Nb-,-:9mK!Bq6!j<:q%3nF6a,O>[\&jKDBUULD""uJjF.DIP -2tR2kgbX"7'nt?( -NZsCun@CZ1"#oj'ItCc"&>0&+,>S(-.Y(EY6'+B`:Q-\*W#YNK".BXlOpVB5-M@M& -:^Q)E$O*c\#MeNVKMO-Q^u2Tohp>sEYcZ+QOG4=`&1q.e*Vb6;ddKJK.0ZXC#!sHZ -rWAq?EZqFsL.Ai^*dD%K0dJEe:nn]_GX=?'&bE-u;X^5>/MplU,D9]1']T$q#f_k; -7TSqM)$:pj0s3B'f[Cf"A8mOU`]?ULm2Vn"dJ!!r?A^]8jV\Q^Qh -p])E,``^J6BeAGR\X'#gH[l^r35@6.);m&YMpNS"7CWpF_S?J8nPBBX30s^k=@3,: -#TZ2:Esr[P--5RnN$C-(N:W'L:/h@^_4uT2Kk/T#F%U9Va`C0tL3cT]7[GJn2^tZo -V5@/!;%7L]/oCff:dgR7BLN0"<#UB0_ui0$K]]!SBVS@rCm,3/rW]_i\^;YADl9\u -0ngfpcLS5096j("<'HE\lF$b\D'nqibjeh^+Y_*Sl%Os8#bl@VtC75SRRt0 -%9[bIPnKe?g4`JjAPfAV7]KHLXHnk"B;JQR^m)aBi"".LULb'`eU"8qM`;T -n:Ms;:f7I*5V)tuXquXK>mhdN/-PHC'7qnj#_;ghK@"e$,WdhO!7nO[PY)I<+>*pj -La,X@OqL&g83m7V*f"cPY*K2$\=Ej<8t5fg#uNcBZQNmc -Kq6PL4"Ou3+1sjr&HX#'#]M17B@i#??D'C,p?=;sJ:F?N98ml94qEBkMA;lL7LFHZ -#R8O:$H$OpKjh[B6t""LS5Zm'&8W`4QTFKhY,Z\:pnBt'GfeGh.7lQ#+i)0&pHp!n -%?Q_5l&_7:ofuN6Tm>7+h44KH^d\U'(?,EU%/Q^:1drsH";"=(n -i8ql3BPE;T&1clsRM,a7WoHk4,Xorb&*U@iL:EeG7G#nJ>2u%->^uO -h\bBKD9[@G1ZpmXSTEY4]Hd/:O9t2<84n>C;BpN5+Q:#/0QCUh#Xeu,Y.3(ElWq=l -?'@T;@0#8>4[9;GQ/.I&9;un`q`e^7?jM%;5SQ&oQkC0TJ4k^F3$SPC*Y:Wq&;OZ= -#t$+B"X-hi!mld6qKGNW*7)WL[U3l;Z)DTt9[ZjH/6(lHppdu[`uNO9A+Vfl/ed7' -[_diCr25\_5-*7\T3Q8TVk*@k*e>#_^IelK8Z\/_+]8h1Q73o<.J1ugQ)`##Bnse` -KkT/gC1qKK28_\$keR)qBD)4ig%sT@ZrCc657Z4R14Ji^ra2r+^?=bZ+0Y;2_gV9m -]tL&7Z+5=eg"mn*L9sf`dH)S;,`Lbi$bNhFpRe -E1h/hVZ8T82C'f5:*jLJ$b0)-Y.^K/>g,B=L%J:)VT"RC:CJY`i&Fp$rjq5/"it_A -AeYFQ%)-NB>-<&X0V4<$G.e:kL8_3`-urm2dUfXf1?MbtV7odf+9Y-e_Q_&CkiE.% -^f.;^"@X.1`V]ojG(nk/r_?#qjrV8Koa`aq&[\/XhBlSdI&-$=L)OOnoJVQ@_jUJdm_HA,b3E9\V9oa%,': -9r-P-J;#SJJ&%;!!/,kh0S"o'h*ckNNSK*J[Xq%A,-BKJ!1;Es]-sdI..WKL/cp)( -#)6\cL9;(r;GN!W+GZm`F00t45cW@)ap8($9qYuI'#N -IV5qn1"6O??n(W7[W*T*de+5.pFe;t0Co$CNeEJO16ZR";gL!P4X!`Z60/*?j2<@GDnh"_HiYE[a"$n1C+@6Rrh?76A%%p9&J@Ga_ZjG)+#U!@Wn.chXI-D62 -3qK -CH+e8bb#E5.J+Z:<$t-,fgg/=7LqXDC%O<9*CTM5#;C7lUEr-62$`4'BIkQ1Y_p67 -i<\PhL.g>5n=;6:P[XeK;GdNmd_Z2ZEWtd-;6-k5"Zf]'WaZ\Z0J`K2X=1]76<`M@ -:dnK'"PleieqU&N"O"(R'hVCTls^+f0PLDa%W#SX3kA4fXb^=[$T_Yb!tX_.=&kA^ -2&TP1dShJ`GVMg%E8=8'hcdEiB'b?g%#eGeiWSc9IH1,B%87?7%M7T#>iC6>0jY\_ -N#9Bh?(m5miJ1\^J/6]%&iK12;AddM[KL/2^k^HDF@R1qO@PFu6WLdE&+QMX(#j926p+kY.QK+m'g.eBsD5Rri*XC0DGd8q2-q"RMNn=Uo$1-T. -J<#6pM@6@+*loZ:LJ/(2L'_qQA)OeHa(HM"Cj-$#/V8pmEXkq0%*f;aKT1M685b+r -C'rOoCA)h'TYc%m.bIVFeV!<5nBbDFI!>6]gTjk/dTYEkYpL)p-@fYSc-h.5Ee.lC -h=>l580E4PiZd;mhU8eU-Q7/G*d.cu+6Q&M87:A9%#2^ULBr"\J=q\<3eWXF$8(Vi -#c?Za394aaF61Vj2ah3#FCce&.)Ml#EN4&PR*Yhd.lJ$923V1.Q$.@gG.2HEol0,& -2X%I\)2*VBm[QcIGRHc5$SM2ai@G'S.MX'U'`i?>JW^&-OR9l_)k[Z[U!qZRZC6`OHOQr9c*9WI_%phFY3j)p*PTgP2l,?-.iGWS8'UI$qJ -q,i]2p^Mg7Q\hp48IoY:F9tAqSV``!MYO<333)o7AiE?$9^c"=G`.J^Yt^8d#d]g) -FHR2c4:lR_&j\ne_*f#'-l#$Q!b#7J+=%^'?C@da'c>pE+Yj-C0G.\P&QG80i(+DcDSP/br\P7CL`"pFT- -?]3`BV++AWDGMPO:PGg^"Teh-ggPqeQfZRkYlg>(oagCg^?-XN(MT:R!*"YE;70b2 -m;[6dgQNl&.S&@3q4F-j"N""(GA-er/6c(bWkHq053!soYm+R'G#PqeSb^6r23q\[ -DH8g%CP-q-,1LAM)Au7Ct$9[3RY0%1JsB_))fk1)(lu'G5-r(![P&7MK9! -'7)>Eg,*sqi8oRC?f5C<0n=eqCLBhhDh=@c96>%seGOQ@T:,ELif#B>%3I=rFk9n1 -a/fP`H)ITIf9ScC(-,lTQR2rU+*reN<]GTEP):gMGbBCp2HOIf?#PAe-;@IiOt)(n -n-X%c$'FeNVlU/SZ@A0pFA67Y_t'PHcK%l"i/J$n8:6+>,h]*0G-.Fk#Y]E?+G\!L -d^m$Mm$h!SXjDUCf5AYK-\s!c8%5PZ*fA2#+dT9a -NJ%er8.Ku?eb9_+QPV*d;^rS*/=.S2XrAkR38(mT(NP*k_uI2\`(aE=\6rq--u.?> -CSkR,d&S;9)OP^+NaTYO.p?Cnq;I`gVn0G#]$V[k'+HYr=#!*N7EH&?i.X\dr!Ci< -$Uc`[@2tJFSeU.*!WdB\+;bt>YQ4d/)dj3rGH;[t'H+`3!TA8:i%>\Z!X$7=%0/p. -'XA*#,RJS2Z1%Zc,]*R?'*M9'J=E=2(c.!CID\*VX!6)GK1p4Tnt71f5$3MkpkQge -nV:Vp@B5#THos+)dDc^2o/L*6&!M`E81@2_:MbN8mjanConRdOa&G/I3._AP4Jn?! -7lXA`S>ALk23Rm<`dFpP(n_)U_2"/3b4\)r"[J^j -^d8O)1]mb6(-j,\6&Yi^`8]V*-6!;+hds8^O3l!(]YNm!EY;\ -3YGi]"CU8>J>&,TdOiXa55?_*r7TSIajc1kaT@@,_UVFB9_V)ULPF8X,o?cm+Ao!2 -&9SGKE0sFd5J#sA&".B7i&n[VoY&4A

  • O^C9 -]\5OpJpc\og;i7-LZ7,9?j('1".@!;"u=&RY#Oorh<"YE!+*@^dG8)Vg&:F'F[f/b -dKDG=GMPpM4go8Hr78p=>GceZ\Xir*QQKk+$l_kM5lM;Pr6+%7&cOHq5m.`\8.MaP -@j<&>!(iPa'#F76>T-<7RSYH-V9LJA\%+*K>th6\L3eiT#`^MDHGAW\/onaqFc;gR -/hsF#H`<;a@eu19baW21`drrbWZ%S25ga.nmiKM!$)4ZL&\f8mKBntBJ.]dUl2`5, -.BM]H+?J!WC+RJH8qsRs>OeS6XnE2p,pDtsG,S.(-loLH[rR6`LiP6Xp-PC[r5#7* -D#4c3G1,.Gkp=Tp-8!@F>2"M4E.L)&D]:G?Z9[(%fQ\kGC`n-LLg#UBoCS^Ao]K\, ->>g10@IgmX:5fHFjdZ>G!t/Y62.7ol5H@s*NJRL6E:-XbKQlojORO)WA3L>cg]V$=&HFj'r9=q=;?DDI -(B>Qo!I)6YB^S/k!^U')Qf&D44qFX$+9h=,Y`M0f&-jE\\BnhCL-qZ=pln5s&;rs9 -nQ<_I2'%Xrj,s]??u$16N9'OIWACKDJ/YLf43lCEUG@,obI7%5'Pa'u-X)t<:-C:hW.(gP?.2(l,hmC4(" -1H.kG@r.7O"_`0eerI03N4tK;K[\uS(mnn*d;%Q>Xu@AgcT/t!mJ.UU:?.b^g?En] -*d:DReEM+&*IcUE\_6EEk11HLg:(1a?S"3u#Hto0msG#*%sQ(YoDJ:8]YohL>ho8*f-M/L,9$c3?enF"jeAsRQs`GEWE!\ -mJrjAp],f_Z$]go7WENLH^l35_I`h'=_%gS6qB@,$fO(X*0o]8A7<&Gsl -9nRu[3Y2E;#YGa5_*Cm4cf&893S)#h$5HRW2%U?%_"^)&K7N&X;-kfWNJ_jHT&VAfj29Zj?TjUV/"JGf]@9AhW2b2=TD5!!Mp3o;g -<+,\T&d4mZl4qne4,=ed:4&T8[6Q`\K:'qsS*%:?PGDo= -4\88p('$H1i`E?i0['&'Z`Iq_ebOAs=-``f:"m1"38sK4m6$'<+@ZrPg6H!N#/WWc -,Ds@BW\BAV!8KLBUQ5I3N2%N"/.1BD'$:G]J6!25_!]thi^"to4)GZK?T)`(K$(D^ -YWU44._D-AYrJ3(3NdKfB3(LtlaVTjL]UtO-&R;IVC;irLn5t#_J#AbGTq'UiqMG^ -OskT^:P:&$)lSQ:#_%ki,7("rl6GgC?^<)6*QY*,q>s%k!f)?iGUSO20[)TgUTXAG -H-5]jYIsnPWq5Y,4PUd,#QW^JW,.!G'J2RoZr]Q@GQtAI>H_W+S';dB#sfgi6#boi -6VJF-&9YVhB>F;9&5mmPOki?#ZO0&>.h/_i2+$fA!SstQ#N5A!*d$D4Q'a%&5c%\u -J;>!Ci*1gWa>-/&Y7b698dJ9P"VCC-j'gjp8\iCi`GhLd?oV&"3` -TG.J&d$d8k"FWS!'u'b7&OUqeJ?B_?7*pP><&?dIl_XqAn61+/85FZ-QoIW\#T4dV -=UHlphh:1&&nI5jP&HJp"E9>I?FWErM)Z?l:f%O%JRO;+oHCgoVY-Or6^<_'"IsNO -H;107C@CsX[91c`V9HPH;Y"*@2!$CQ'Z$0"p1"0dPga5^SjO##Ot)^; -*0uIt:+MSjWRY_5dCqA+Jh8R2"n-RqO;3o -'hdIs3Aor?6NaZ7%r=2(&#DD,2:9N>5GKLp'C;2fdk@h+M@c8pRTr6Jq57L"=q2R6'OFS5`*WR[kO>> -)k59/r2:6,`ouZd<-2^Bpg,O"Zu8F^-hU.P,t@/3S^:5g+_W;d]kab39L+ef_?ts` -AeJF&eURZ!;M5M8]E.oX#_=T8D>ird$nd[S_0]_.Yr"k*1#k=?==q()PnQ_Qn -+2/RN`'[4AP40nX/XZV=S"&UHD]1=NE8VSD'EWZFD8rkT!#hdD*81-J"DD]bh"U--a8WOLg@)EE.k$o&#?7C_^tHe3Usmt+#_ -#CmJ55uIomK.eRgdC]ML7=%aNF1X,VH,tD!.Y_-4lr3ca3noA:*0GCZbC"Q,RYJT+!^aB8fa=joCEiXM]tA+Aq^dJ#G?GE#^cm@!!hfH6YRDMF>Xh -!gj](Lk1.;*s$U-0$o]>ipMmXn#m-3_E957F@\`G8>s\7$DWV@i:&'$t228p)4Q -b*#!I`umg^EaYSfX'$91")V*@o/5S!U=9aQ@"H$rYCYS[d`Qht5&UDuk=8Q=M:eEohneOl1i7+E;HO3An$ -kla=i;H-Xs#uN'6q$M]:+qVgOJLE:,=:PI1=+HZ>L.DN'5]?]_E!NlQ&S*i'"_5Gm -A6)fXJ.R!\#R:P67tB5^!rru9n0iia-\sH!6o5!E!$!(A"\eh`eLahR2-&7#EfF$k -9=WT2]M1@gJ^+k,JN6a3$T59WGdpQfQ(pUca\e:ZS/.WRYXO+?*+,#$26`$D)ba*T -'O;C-?81W&`K=-+-%"7U6*hh9Q6E#*WG/SJ$CIi31[TL_RDt\p2B&R%1A-th$+."u -(Rn%n7sW:S'W&(^b`i`HU]cudr)#/ER9B\7R"HTMKUFREi@gsr+lo7cQ(YNBRhPV@ -7b"2'@oG+IRM7Lu+jmYd4%C3J=4fqSfWYk)3L'W\D&;>(mkr@/\@JuFBi*mN9s>2:I9!Z$Ndn -I,'&geE!''itRja:Id98-+%btA'l62?C%Qk(oS#!+]]P$&K>J'R6bW/*MaLZ9@QPc -;TQ",";$D>^/n=S`,u.hUdZRh+\d$LS(KD8i$]e_DMY=#JZ.1oW#m -cF>R'Z:C_3,.MTqfj1GKR;r=el(6l'+Sm[_qg(4u)*J`V'm`[qS@2,.!B08BUj;Ph -1S%;T9?`J54(BOjg!GE`hY"Ria9EH%IJd^N2JfKj[e-;,qG!b"q.rEP;P\C(1.?J@tCEhX.EVYM"SSu --g"g8WT3p<[U.F'UT3_Hk-Okf<@(TJ4D#('eR^pU(3F.`FIL`GAU=*1):R1iFm#>q -j1LV^4emR?I-9=\(kX'?gr%7)dSsdMTCnbN""i^(I:uP-BM0flIXe`q#a\Q>gn&h' -7Z7lF;h=9^.(483qT($<,mYVHJNticW&Y!2%>8t,J=opq:h9jh":!M$J08uici>Zb -AEho]el(Bm+F45G#)4O"!5M6[?kJ#f/HJ*f!\bCA-;]Y!TF/@WeOUW"5*0HlX_Q*B -%9*[cdD`,!ZNtk^[5)\l)aP=A!Aiu`!F?V`TjM#T;ApO+*0F9(R7?6I7$^,tfb67X -9mYH;3L/%mPMB*U;J>Cg;qJ$+!I<*,8h-$l(GG3`CdF-$R?J<@[XjWr.^0o-a;_c< -6s&=p@5ER -l!cGOPr"dI2k`(3m^Zjq%iPjPVZUWQgQ^3l3Y'3`%K'`lWjAgfCPm9(#S2f#tXu%A%6P -DQU)gj+4j3*KVC&4)]_.,_E;>Jl5LqJ/RjT)rA6lO=%33]E+3t.\2ctMX>k$MXR%= -,9AXeDN6aDCDQ,GL1ikVPQi.7`smVpkmoNK4'e3nZ-81Fd,'sg,^o7p4F(,68S`1G -(:Y$SaXEkb8Mu)n*lgR(WE\"AC -MHmN1Dkf'.'4M,O<44Z>0$a(*,Mj^";Eun0#TR23,^p4rV#bb#Bd1\ccTb.]I(S@c -.GF-7.DdbT6>;r9TSsUZ[(NQ?92C$'rJ`+:<#T#VVWS6C>nhI3"`p0$nHM? -!/Ip@l1U]sF_-?,!=,Q7J66@d#R^e94FmJoW),0^(aNjP`ka^EXA(JJQfNO$agR)' -$`BPO=G@bgMQdo^1Ehr"7sYi>HF+QOf?(IrgA;WTU$jU"C\%drk-gKk(a[NFYN]Cr -l(TshBUS#d)+-BnET/&"H64iG!M]RL!-C=E%#0C2=?IEW)\%S@!Wa^:9Iu&2,/dU" -31`nka%14?oRq?3)i]Ti0p'=]0,G!"@^/Is:FR.%8&V]9.Q9G\&d\\\f^*]4(CNYF -.>Gu5 -l/K6][TQ%t$:Q`/>`<_g,MpkI^NfrkFID -W8sU:pce5$9CPcS[6^#n#,MlQ)$e#TN%#$!d$u`r_[tT\%`:!u3=nR*$qV&Ld1fFj -`A'JT(<)D`+I!'bP[sGC#bY6=1*Mgd*!d_gJ0p,)@'D/=iu#]h$mPbf0?M)tTWj;( -F.fRgJV:9J0(3#ooe.i-!ALA:""_*aC0L>*Y%XWI0r=3K[\Ba@U/Il%.9t5o0.Y8s -2,@s$oL>NXNcLB&98i?aU!3TLIeXf8-XsUB1:/tl4i -KrW;BEMto6@^E(;g9$jC=Y2tBQ%f\/%]D$1D2uZg!VM*i,GISZ-8[UDOs=%.fS6"( -l+iQl$(Ic+*PlO&,SInCpdr?eHM(^b_Jtf[_!l2n@fgZV&3LE6n,%dmF%rPjgV/a; -6-OF(pIWd)h%rr:ofYN>f(GS`=4m3%'9iu[]t4$Y$r` -TAfWq?a'"q<$0pntKlJ.T`+T;d+ri_$d4uk6(nhZ'Cf6.q;Cb2$(C*Xh1PUX](<)*K(#pQC -N3S?PW+JX0b#s*^"[L2:[H(;^RETAQV/[./f""a/.8\=S6RQh\RbAWL"U4`j7u6CR -j0M+8a-=>/<4#TU\`Z+Qobkg0;]6qBB9U`3:eB.tC!:i\1$5')8sqmnV$sCN!8n]H -@+#>`310jm?tB>SPW$CElTGVOPiA05nG4CNo!/:n5eqm/!)iWWJ`!1T1ok1Z??_C!E--h9>N07"YBb? -K+M:5_(i'4Pka)q#7:b_6CM!W2(&S"TGL6T<$q\u>QacR$n;k.Uu76LUQATqbAh2& -aWrSEMW@OeO@DbA!G8"1Q=(#\-T*d3,)(?P@+'U\#Xr`e0h-oBb&AmoVj*Ven:tH# -(eh'JHHZR42-^50SZauX:?iCk[(.c;*0V-U+_E$1U% --<(XW,6u@n`79O4(BWPWZ=+$e^*>IL9jt1_#0G.r(I(k>S^fg/T!\[D[:O7&4KV+O -l;RSuD]J#MEg4s/-YYCG9?F>U7`:"BU(_Y:[GejOf),QHCJ>5CG%G@0N8PU57^+-( -^VI[\*jjM8N"MTd@6fg+gP?c#88/R-dgQI8jrA?uE5U5A_\V>b%p4+E09T9N-/si> -bF3lU=MCWk\L:D#Z%0g:RAR2^BM5,Z.ZI>E!T5B3_[DA#[%u?D.A\2(WbWFu9Nd9.9,(&m\P#Sk -Y8&[QV4;UG-dEUD^7+14Jh>^1OqJ]uBFPWLlg9+)=/E*.UAD^Q7[5;]>,,er&YI^i -D:@3[:_\MW?;ZhZ04k6%BtY7Z1rbn3-/LRqSE$Ae?F9q'%AK#\e6V\Q&n6f(

    !'">A^c!CR\1%d8cl`G+?k.ae -X%)4l\>pufl;NRJ"5nhE![PF\JP*lb:%>OE='2MeEcH#SesG4(Io!6;(Jm^90IV%q -X0/5#FuQ6C!bDTo!N8>;;_T7=^fm^;4mK]F3pS-4dbc:;^9/TumTo#d@8,1h3[PI5 --(n3C_&st>.TZJBos8gBjk[^sB+/4STO1:S4C3R].YUPe'Z-.Z_s@/$iN'_K.&]-1 -!8K.-J?g64!.#YY[R*\R`U#TJ_sdpt@#aG9@8+(,(sNGoFdKYSE;prk9FK">%R -FQP6QiM"FVjNST+4(lmqV\Z8%eI+f/`L3VSK-p6EgF>u$BfRFsQIae^H*:>cU?)Fk -.rrH=`W\*PMRTJXhifjHCaODN2c)i%'93^?)Fj@54=?s^PET1Mck7l0=b%hO$8>Xb -;/(GMV6r4VeG>M2Bieu5h7dY0J@lnU^fV5$iW'DfPV^u(oEYQE]am0d/cq-7JH?*1 -#OKq[Auo4C8PO!$gIGokSY -WT438cc6+28/;WlBM3pG7L?n50*Yh;5(gc\&1eQN$6tKU#`tWb7[R?rTm?_G&BKDi -<=',c$os)^p)h3iLCmuX8XV@H3ij+2$=HiViZT9j"V@CE+a@T-]Z)+(0WDgDn3)_= -LRgfjh8=N9.?1"s=N'].hMrA'L2sR__moUa"343"ZB-sKSubGuP?OA?OC>#$B&&GqEUB=I53I?j(a/ -Fj/75m;kR8do(iKHJs)`N^2nXP09\eK[Er%fXko&j]ob6B8 -c_!elI$:J]3oYW8R%[G6g6\aF#&%]N:h^,9"pS1#io'1bHIo#(Pe -&c=X(1!W*f`l#GW_TUuQ3M3:4[?jN=(K_f3:aCWcQ%Fl(W+V!f/BZ_#K#IUIke?O:WLbGb:,"*5'dP -7.?TolF0BkV9#U&8ufBOI'1W)Y:p?$73&MS,d'ckY:>_:`,".d9X]MYh+Mk"96crH -`2St'FX`E_Mm6+%U4YtcW1C4dMsQ25!&a'\De\6dP\XPOGkVLU3hKC3WpY$0qmMV!qb0@-o!a2T9lPt -\R6h$K$6o?K7=4?B!>[h3^Pr[USXaN59uGm"&.C"n11>#.F,lk,96%O -Qn-JO/l)Nl"!acjGWF(M/gUKA]IU=IK=&+d)%4S"Jf7Jf]==[omfKdJMpgM-9>#gZ -=J4]=cL1e\%'M1PU5CW@7`]27#h -;&$XU2%mSS'>5+oa(*ZIA:2cf&^_$rVYIG8X79#egBbG]dDZu#jVZD<(fCMYdL@:T -HfU%AT0?YVdM4(U#c]KOXY:;*0GPtOm35H6!/iCPJZ==FOfF>=VhtOgMgC!%`@KAJ -+gtc#8o1,O9DO4-&He+e!6@`cTEtdhA&3g3L8*(N#]]o!EX)RHLBAWQi=^lq?3#L] -Kg6!!3(^2r5_/Vp")nj)BbpjX!s=G*e8Rt^W!rm&97YA^"NV")`D)#)%>8+W!8p41 -XJ,d02$*"m$G@pG9HTDM*m(*4PDNuS$o+o)\t,h.Q'4R,Z,f7r.KLa\;a"^@0n;UE -n\UNY<[lUN6!G6M*B1b[JdPKeJ/FHB&6=q@e_tXen'6$M?FEp9oP_e!C.]X -?kS&n/V+0Z"98j_peh*R;2.=>#!d!T3,F@0!XChoLTQgHL]Ia:G(:EQLF^YhoKa+9j?q]cS!h6cD-Yk=C"Ec^8PqfG@=m9oaBX/:gssX(j&8Oe -=2.#%^K@"slh;9Y*hE'J>tanmckq[CWn!BA=Cljc*3H7ME\KVW>R6\PZ=7,2"'u.K -hA+r)*3MoX:s0m;hBh:?FT[`g6 -YVjbEIgaG^:\=\oo+97h!i1eXcq)I`D$EL$L.bXT;Z61pg3m1`cBn*8.EZYQNUU5F -2nqKij-:9:2&3f*42#2Aj$#WWCY;Rkg=neN@s1%H(..(/6f]6sM8G>%5b4kq6tA%J -MPVa>qt=;:8l_`Z5;a-Yb(C)$W@7h>!TB^#/kG(^9aNd'T+EQ)7/DHW2'-^,"h4gA -Y\sM$D[14_#B4qg(jQ@j!=,uA=\sDE&:+S#!Jbe^#9f?:d09dq:5#Q%X4lA23#7)o --NRU%%lc!i\17X-'S=8u8g#WV81,Gq,6;a-!VdK4l.l^kQEm`^S;\UbVM -!Ed3%5)l?09S'98?7<4Ds2IHY8Ob" -W9?kaKM]p9_s&P=Sq6sq`6DEI[/M`B:6sXj\t`p[QbXcL$$_&,iaD/(Jcmr$TY+hg -OCUq&+@+m0Ep&"!])e!,S`g];^b5]W0*EC*KG[\hLfFWj"pPg*#0;#h(jKfRGR$b@ -#=rib-ujti"U6AM!0Bp-O:6bt.tICF![nW^+;k26(n7\@ldib8DSDDX^K.MPlk[D' --GXFU_9PTnVBE."'6V[cSL.MM3XRf+\Z!QCSPpd(ha;#1<.?6K[iq?9l2ZoN*P0>> -2Fpb7gWYE,fjVsU^B"eZBk3,;%"he/o,BbN()Fi9gg0 -mT/E:ArU$,=)D91D&!L)d -T5NLa$Ri>*OLj;cJio&gCtm7m;gPpbI"NEVbY@lAq@;DXJR>a8+W)(V6\Sn*0KTc\UcTA#M'=Zob%0@-7N%c'm<7R9O^%%Wa\VN#9/"HbNl2nom7)Ch, -YU]eQfsorq,:qQ$&iI;^j;'/i7n3'\;@Ol2VRgU8Ym@!ufj>/(rT+YqTfhjS*:RDf -ZXPo4ipmtR?m*e22C1:I"'QlMcS_/`2N6i8RX,s*E$g0QdQ5]8cU&8=Bj_@i!?,en -96+b9LneIKD!mCH-EA^gT$)]-K(TJ-VQWtMDbp%L3_*Hkj0]9-QKe'P!TWc)j96?B -^BTsPp&epe8@Z:jU>GoYA/(soi#O^8+6KLH!dGI^BI\R0.V3!=!o"VN\efo_ -/HW^%!jM9JR2CNh,(Xbg&ZV0HDd_FpJIB>UjUP.GC\%0@ATr*WSe*4N8.l"jlNKN\ -"[j+1BR(1/+tYg9R7(P00R6V?;#mgsK0U%O0H:+Ga?e=S>oA;[GA"[5dH&E"B:W:F -Bd9gd[>]-"BT/%C>UOCWP/E(c&qMJHOi,7QI!<1[Ni9jS_Zh(>qeelYk_L8dp51-( -MeL,lP#Nk_6m^HoI)EM3Rg9XiTF\68X-GWF!;EP2GHQJ\*WZ,'mZ4;n-1E7]Kn6pd --(IQZ%M`]b9jq!mQVS%c`p%4Ta2!6S&J1(Fh-j+]+K5a;1i(!Kl;.Z,!##GJX -:h9W'AHitTL)=6I?s\Nu#mCl)JD`WnckD#P,6;7"!FQrLQkm#9`NFk?'H61JjlTm' -kC%L4F2tq`.+rE=P=0/)odCimiXR*n;)7-BRL][Cg5V$EA3=bUbP/TpcI.6u.;-3% -ReY@=o)eJ"b(3tf!AVQV&#ug@'+Cu:%9M_+DjYh]V11cW`#&+7*Qja.oD^cAs+gFM -OY^8BZ2)`D^2gB:#gWpPJ."etnT_QQ0c1?(@kkLGCcWPr7t\=El7=q87RlE?<$5R$ -(COWV.1?t#0Gf\A"$'=)#pFj,jD^f_BQk5]Ni+U7jQ8*-LrP208F3o\8!46kd\2>u -@n`4]"iDcceu_60cDL9'j_fJ^LdWWnMQkMl0p0YYd%Q`1h(6%iDAPC"f&Lt?7gP87E'8ki/ -UM+>m>HQ!'Zl.\scY]8b;l-b`TeMd*1%7t$1HuST<@X+:A23TGHPj%TV#pIKUeiJ* -%#CIg5ubVV0R-8t1?Xmi^5@jq&@%P&H1*,.9Kt>"eB.G8IRtWdq##LYTrE?)('UWN -$5OiSLmmjm6W>&bN:$tkn;IG7at1F3^of3#U>WoXN3Bb:1CV/lcnn&+;iW>`63r2G -TL]tfV4e6h@\O'e=GI:m,D:IeMfK)b,Db\!L`*#8)Tq4JJi'"c^>gI'3CBMlXF_^3 -+C(llb$%ae5H[8M28R1HbV)ZlK[fCFP%-t8L2ZR/,u0S-cn@ds0\nmM'Bk-7Kn3?- -5c.*Sf%^I&dj!GM<'tRlThEo^8CE'YAOfZ.XYWJrPheIH;JE-LMnSArErZEom57no -2h9g_@V[<(*37D3hLQVH:Yh=kdFH/;W)j*TXL`U/'1QehUg -=065U*kgkQ>C^(j7K8&"Q.UO%LSA0Y,mtk]Xu1lb8Gj!ZUkgiu'0sAh9nNSr3"-I2 -a=p:#@*'Z`"(YO5&!+UN9JMAi@#u:]6'u>cBD>eeKkQgJ,3W"-3rmo<\b6u:k^%]S -W9Th*H7K.CW;$maKb,e3Qf)k4D1Lcrli@uKqmMf=*!$A,c!.>pH$1;e` -`u.b^'dJ5s2i&VrINF4%fQ%fPX(ZGhL;Cr?)i%jZ,KY\`DM*21cF?U\F9'B=%Oa)j5u$r -85cPrJnUSacIktt:T=6+8.,f!(a?c*M\+fO6O5@u+G6m?%`+MIL/=r\_Pg-5JLi!tY_it-fKLN44G0RTaoR -!S9t'B%S8r!1!KaKEb@%'@rPW+pUf/&Neo5nUT*6GY^om4_M_-T2X$Gce'?FSZjFe -lc+A!RI*<(2$oq_/qd'D'glYg&#*#aHb24N#K`LNQdZ"r;70A%W<#[<`!P:PQoIbc -+_>;%Sm+DiOk8 -3/8@3*2AmBNe)L;B2n2fPh:1Tpg6@D0J;)+SeJt_8dFXSMUKRn&WZ'd[mAI!,nR%o -dpf/R,`MhfA(1o:BMuB35s9t`;f74;$pJ?PnCjA/K+SB"%6&)^-=GkX_W!jQ_&/4G -!g8lV7&DAgkoM)AJ<4WYJ1[*!JQ*>PPKlKl8nh9UP4T-%Lac1DYAU6A4:Hjp:!Gt[ -Cb*9YR!-=dXH@5$.,eB6(N,[e9S',lg\R0'5u\gLe\KolA[8R\7OGE?Gtb4UE,"ZB -V]iRU^uJ??CJ9;@@/-oH@qMWr<`7#[)%B3?%#hNWAjNX6P%A_$9EL#/k2X!b/NK -J?bP$J3_g-H3Z`qZ)e!rYg1S4&-e(Z?3Gt$K*/sr/-:p7cPc=>BGm!l_34G$$m@hg -f]oEpXP'L/7]4d0`%Q^]]Hb5=Nu,So?YFG\3PZd#+!:Q2[hdf'p$hq\"8TKgdJ*\H -i9:5oUf[XP?lf=SG6oD!,D71E&-:E;#;$0S3L-1?FN0\hCc0LiLHap8N>-JPb((LV -FO*7B]EM&\&58`U\u;+!S$P'ddSaD2/@MV03d6.XZ:oDW7,`B/&a28=o>C=C&ThsP -'SCu]&rla;#XH1X^eN:ukBuWIYX/XXBIgoD(F_.o1$t-58'B%F0EnqTRM&j-H:UO/ -j]nRO0WLjT%7Qkp!Dk5!.p`m@:e:s*%2PfCRTQ"bV9+,VWcP\J'on[c9*FDIVP'Rr -Jk/`G@14T=:jHuqTMc+>YUBYD8H45X9F3t?,m8`b&].?p#pD8JK[?M,qbTrn4Wl*D -OHbd$=p5)>K#8mBMhOKQORb\-aSAUZja>+8o'+LI8P9J=4TR$sj=,%?UJ=5b%?O`3 -Pu.(ODQ*D_V:<0PWo`Ko0chtlJSpb9]_@2p-k5;befBN5UYODJ:ebaiOmfQNm&5f%# -V[B;g#3mMT\OS1UTO8":*]_RK#Cp2+^g\N9+PY/\rpOT#@\*e@&dJDC#/G0]J8PT7 -[!i0I,uPj)_K5H,>^#co/%%]&(e -RVK>9`<^P.bUB>63l4,sui=6>6`O(_73<7"EM!TW#37RQ9@_ -Zqtj@,HNs.W3al:]#3Z&/#GNRWs1qW#Y93H$n;T0JdYu1[m8gelV]nhSI/j(4"H16 -,$PW^F?^nL7596#j<-dOG8bJ#(LtSqCbE:,RLZU4$j46NC82"V>U3ji-"7YM7/@9' -T,HRp*O+>561ljG"mXo]Z\Y*n:'M/66b`'$,FVA/%,m4,f8TQ -J&%McDD`TQZ;786,,=9/6g#Sm'Z:RH"jlUCb_XA=6H\gHUM+Hg!\,TLX!FuQ=)C.( -E<<>k-8)-m-*M#.%#$&a741NiaV&u)14^]f9d]Ff-H5g<@fSA2<&A<7-ueTe^i!&c -E%c/1#@N8ii.BZjNX9)s#ppo(5ahk<@Kip#c2`G"ka)8lFTF06.+&JPZJR7^i@]04 -/uScrMj%DYFBTc+#A(t%;I)?:NjiSji'in)3(f4"8+ -+lXL"$68$!!C<@li%>\l$k7`G"e^\PB,2n9m4O+m0Q% -UM\0/i'@7]ioGVb3pnsMii(js8N]T.q59n\!)<[?br(^L2[/1ia[eI,*;HZQ4ce\h -a'Cg#:p@`q5DYPJ!+=j9ro=T3r+I:+DGN2IlU"P;6F8.q1[qp@"sAMc,N@][6MOOb -"sRi!8]2<::6+R(Ne]lOLBNT'e0dS#=UW-EWNmNbTX>IGKa)FbL5DY#WQLa,NkuCq -*AQogi1C>X^a&nbOi^`7P]9;PV&I7o:@'VMFJVVQ[(/s2LWZ9i.;2^q:kk_>1nqpl -YpDja63`BT/89<%1t=qSdh:h_+K;FG-\)=kMOs"`RD;4dU1/etR%U@Q"6`"=VtEhB -pAQlL;3`.fFWd;a13fHKGX+6X?pJeZb\0uq;DfOp[6[aa78q_Zre`BT1a^ZV,R4gMJlE;(2QsC^8m##G?qX -+G^>s:'k=,"MglB?q:Yj]ELr3#-1o5$X*ie_?nWD$A:2U,W%l.R-gQ=#g5=f"5*p0 -=US\G#VF8bMNpaFR),'8?a\=uQ2j9^]'I[%9#-6^U=fnS<2Up*.M036US/)nQp\6# ->m*)l2DJ\71^`c?kcTk.0Tu^Zi=9h2Xm\ZEoZ"p%+(]CCAX6>-[UEb78-Z+>=UI,> -V,7ia1D1I5A_'s@@om9D]X!al-BC-tJF.&$TbJ),Zk5nk;,38>9,1s''G7tcjJ#&X -d30aS$o-HD,J(^UE'h@N'u7[Q:5B7#%&SW9#S=3i6WQ4_HLlf773kb=b?Gc:f*5aZ -$q,p]OC^o>ZjS-%%X/>mFHI8I<[lFV.8e:nER7L^R^om3$SgKkbN:&qPTtjL*ij`U -KRZK(pcq)K+6&5K,m#X%h%j&\$_Y4.(9UF)E>ao+Eji,;7.2=-Z"(k8#_PbpQ:b!) -:2!OZ-[1OqQ>Cp=:,$/`,8+('1@6CX&hm@2BnVLE%$aRHZn@]'H_lhFnpu0)MgKZA -I%r\N!rXQAWD!G6l=r9`,MEBq@g)j?#N2H_@%n(F9FRTb"rQ3D!'2,`mu5>!$?H%*WQBc!PAEk]GA:,( -HY:KBd8E6n=>M/n0EdcO6s9j@PR(?:8]ZF;e5ZtAP&TQJM:lC)E=AX07XHd&WNh,n -jENbi-jgOB1q"*oW>n1_0*VhC@7e -+PF.\[1h9kZFa?MRp.#qK#730(GT]tG";d;9Le=oHe4<+PA@3FHs&DD=dE_Ng&?"J -?6_EsM_)t`K6SP_p9cDq%[PJWesdA+U'>C''c*Z.o+^e/"S4E9`X -b%*.l@OYZbg`E/3m$j7sJUo\(AZdL8He:1t5H:aUnu.9'RT06P":f -Gh[p!r/J3&NOZ9CaYH6+r1(n'cuOiYYLhDtkU\3F$jT%P"os5]5[4TqdKH5g&Kj+H -+]JN:b_fY(l=+9EWEjNjNg -cTteJi&22*humHE$34$3h)tAV80`q,oY>Jkl$'X#/_N:a;#nD^h1-*rJ-"VX)XS+m -9m#!Sh;!6o+8FrO_-dbG64T8g#[2T\J8b\r;ifp7F4gYm8(a<(5au.PRg_Xl"U'.E -8DT_Lhe0$dZ2Ebp"59;1-LMB!g,oKifR8c#VS4UT*Voo=]EdYcg#-uB8]0PCNMbnP -pO5d<-`."5b^u6ig:eNfhAO`lb^t9:"C"A.n>kY=Z_FThn*);UkR -g-Ll8+!B2&jJ-OA\";oNT->^5RJ8\.rJH4/+uI[3=JGH#aNAnSQCaFT`+"B)eDY[4 -h'a&+Xqpg$PN&Sdq58t>rtp&'0;dVeo5E!!5WY9K6ao[l,s6uj^HLYM47urZom17: -Xql]:m.JAEE^4OmZa:!!L'p7FE1KZ4i'Iq+9MK!T[XLF2@l@/&]$d9@6bOB9GF0e -#6@.)JF_p(Z78Y.>@0pp*P&r?NH/Ja6J -_Vo1@?7m'',dJRqW)P/YM8nRaYqg!%RmYG4ajIPB3enW57YmlHcOr([-e!]>T[7;K -'Zrifq"T4f'oKtqR1Qf(-B^t)p&YO#J69,sm0@^;f]$j0:SKQnAJ-D']%p'";^m%f -==]Zs71paTL,HjU-.R!7PZfj\$q?WNLs%02a^t%2N4*@ZS'P]R);PdP7A\FHoQm&d -X&5qLCN^W@QBZ0Ig5O&+=btRJ3#dmu6_WH)GJ2gl2ELf/-X2WK$tT&?Gf5Nj/D6p) -hU+Qu@j#a2Hf;\6_&jDLE?.756b$AQQHXDr!P@UhqTg=+W`:Ua?S;b\TVs/n6;j[& -3<>T\Q\=om9s=!?_i6jnKs*)Sf4MF+C/Knc0an -G2qfR8*Br%T3q]nHiPP1a9%lc:af;'!>+)5CLPS-)"aB+VWTu@KW5[g_'hPF"!GrJ -r-r)"p]!J1!<4/Ts+!@J%=t`C#=.Jp"9/W=Y_1.HN5)Ik=6 -2K-+h-GpQ#_&NZ;5`cT[19q88+>?]J3HbN,V@jK_g^2CC-Bg]],!o*n8a0hF7]=]Z -jHD;Ya]/q)R4b%.k[9U*L/1C_5SsQMKhepYX+I[PSBe'%$So+T&G]KF:oHld+QUQF -,-4fP]"LJi,V%",XY=?$_C!*TT*KY'=p'(C$YWq_"aPkWA2K5NC:OHiM#+'0]%;c] -flt$(fPP/fjB@G??8S'b]F6O&?;a+6:,`P5@"`TOnQm==RINIReGGjm!e3XQs#m:a -"/&U/JC&TK67=\tTof*T!V@(a?*t'7PU_Sfg+Pm.`>bROG)XiF3Ck:n(nVM(%+8g( -r4sh@SdLi*K)fp)ff31>!GF?B5h$kUpj<[HE(5]20II#`'bnO'$&\h)"9lTH!^alq -MNL@3Kb0UR,$[SJ-!i"HcUX9a]WD?ND4_?(qf@f_.<0S(@`(Z<)9Ma254`8EfmJf#[;;!&CC -OD,$[UbDs;^kMp;?pCV=\BOU5&QE648<:QhOl[X@g,UtrP8'c.2#AYQ$1A6nN/[uD -!#6i*>e#R-0dn::/6#/.[AADVh""*ZM':_,_.$s\5is'0N1^PV[V,hTne=E@:qTkm -nXdOg,(_k"95;%$T_*h,VTiYcP",=.C!(9miP@Va$.iNg=Goj\/LtHF*JBga0>afI -$#+54K8!;e:FT=4`2/;I)t-rsrQ6Kn>L,8-tG+jcqNG]+/g27%g54T^s"V -;;aSk@1`PDX3ZD:?*0:RWtlPRJ;D[3Y)kpi1##9#Nq#e7IL,mBW=hN*@RrGtV?F]W -\S?6/l;]somFJ;u[uJg(X&X]0;ob,UR`bb4.`H5gWh^sObTK9hQ^o(L3MUg+NTcL- -c(rO0>Y,Tc.8?/RU"8>"[+*q4d>#qf)s3!5 -Lt%kD7'-X"[MJ#)Xa6CEC+V$=FUk^!`mo5bm5hmRMm6UboGKMoBGH(h<"?^"3f.f4 -,t3=t(%('m%KHtu(ng(5J.Ql7!!YOj-jCZd:^%:_KEHr?VZMI?6NPR?)$)-p$,Ebl -3M;$8JUf`2He2AN/[_$G3" -?q=EY6/;+eLDkJ5U$[nlaoP!\dK)^-Ul1?N#6[k/"Q=ES2##BkJlOW8+d`ms:tu>o -DT**Zi"1Z_iX!GHB`t-"0EQ4+'EM<2Ee++d]%O\Sedc8\XWLTLrVaq9cWf?9TmH4$ -D#-2+D$5Ek9n@jP1;ISG)o*S7D,JqLJ,oH+S8m^&Okp)YGiSkBOCeKtQmP)6R-)5I -oJj-cA0HVk,Nu.m7F4C+kk,%8:bWGK5YCsj1aaUKA.o"M]B#q++G?D:'>g?Of"1=N -G0nA<_d=eXI2sL)Oieu&F]gcb?^gNt4:cclBb[4R+.d/9o,R4!npO_c(Z"ojdZrllMLdU,D,:JeJ&5h@JFalXMI."Q*&c*s\/LMLn -<&l[3l=2Ar!3D"WOJc4fJ`@]4pkJrS5ql.kJdFmRksr!e7PU?3PIMh`RU3.r0W%)s -M=CLrq)j7J-A#u=^n@t6q,aDs`t<"J/R[Y?1#=bFhPUA6]i&m1b&`RMFJe>GQKqhk -KBC#Feu+Z:,GWnhj?3h@K:@V"lKW>i(JUA8u]iL).:OP@AL5es"p\;#tW#A?kk8/17DGf-X&[.f]Nm: -$*dkP,Kh_K10T_@,sUae5q%a3>8bN_h^9'h#pCH*MHmoh`$NL/8:rA-_uZ-FLd1\o -N)M,\A=4*V(7eYU)G*AX622(l8$V:jaY=r('EO;`&>+MEb?1eU1FSD!eu)adZ'c/c -CoN7q.&1ha#u&&>%(He!EAK*I0ps7NlP[k),g$]C$J:TGO;H#XkX`7*2(MUkr/Ej9 -h7B!C3gesO][%UD::4S3VdiXnXO@VXb"YN1%#iRk<7a!$eO9&YaP>I7/5)=ChR1EC -]";8b[,2s%)M:Qn"#s":5\:"0AVSP7#1.Dk.!%;^GR(/J#H2tL&:6D3H%6HOLKFT_ -=E/jFEJ@9o##J1tW)83J/EO&^jXR^Ngl0B#7ptB&8-Mq -B8)ub"e\6`i'W+K'8"`l*SK5mP5CGO'doFu!:UIsl28EpJY:^*!>E_/3_TQP$@tRj -+sY8TPV43Od_.W'd2bhW@A1AT)B`$M_Z`:ReNna_X-W-6JXJZ@rUP,O]J1WWMN7oT6]TL]P9-k@Q,&[I8DU];JF+<`Kh -!_>Sn0gX>.3cS0M>h-BU8K=s+..JTd$]rGfY"Da$R$.\D<4)EbhG+YKW?[=b]Y/JARI_!jk1HG52rZl"t$g_S.Bh*HQ26'5s! -TkC`Whkrba_9pi7ASbKEf>8/H!8Jd84d/lOPZ7%7eD6BmC+;Q;QRJ$ofk$UT?(4u> -S(Xp6-tG'34>J$WPs[[f2=Z%pO<]E.lT(%Ke>'os)s/:g>BKE)Pcpeq0k;MG_fL(t)N -iOO`OWLJE]J.QmY5Qq?W;1O0oKEr"6i":Sq-38'3_88NjEal2m3KVW67nDR(]%<)? -2obod/YZ^<$;`%.b/#SL&K1?^4EZg#.?kB,"3OSrQ'l>E#o%ikMWr1^Z_gR+ -&EJ$H0r)%2'jaS=Uq$%1Gm=jH0`S8S^A -`%c6',KR$_g.N!&#"uKt$I#pk[JNNHYd&'Ke2?FrAb`+F(15/uM.#oc2=k1('FMhS -i!p#)8J0.ea.mX&?Wf:EbPGO_*)np@$Ilfs,QEm'#7Npt@3DY3Q5GR&I$o!jc&M%s -JPNV`@'b\k-LN53e5+;fBB$%O@`C#pN7cBkb@7n3?EmF'];a')hB[s5!JoM>K!>F) -&-K^Q.T;D"W.'Nk!!i3[#PGm%Li\(hF+sAoL%%_8^e4d6&;-W.JNtf=-l.CU1#j$) -AZ;oOMnaJp8#^BKuRm56\h.KtR_$hH+445+>K]#LeW1 -+E7Tn"pSI/!5M6[&/,-U8COWD!SA6?bk?[V&He;q"K5FQOB;]+EAm<$:/Gd38\HY\ ->6PQG"Ut#*lC%e'_jk;DQarYJKcpK0'9^N@AE;%jIS8bqGT"&?!YNT:+=?/O/VHA! -KJbUjQuKKn#7%1-LT#Y%!.Hoi4m4;C;Y@k]Cchon3JGE2K[;c2#WdQn'`ru,MWtl( -h4CT'Q9Fn>eGuZVp'"GZ6+uqk=kXE3UWZVu(MA2b9_g-\dTiQO&l\'Eg!61'@JoA7 -`"%)PJW-^^u]XLLgC`B9&tUS(6c%a2(mAC=!e-FZb3l&SYO; -JH-4d).;$:o7A+m^n;mf.-#'N\3]bS?Y/gBS,T8M%n`Yma&(aQ[>g","omb[50hsLuHlQdq\Hn0(=hel3M -DI2:>@ZY:%T7H=%M%`]+_;,Nm-@oPNWR*eti)PMf"bqhPJ1trjfQcM7\7M5GcH(:# -aCF@714_,6`=%J`"mc8\["6&"j#Gp4Ai,f1o`G@:KS2C@"?eZ1I"2Oe:m6nEQiMo/ -Ck+3UL%kh*peZL.:kR+*"4/It819T."sj70E>]3A]n6e@cX18qXd.;S&2@HG:*k`L -VP>T&BqpllZlcVcNhdOa=Ku*$"Gn!GE^Ipd#)W61@Emj0i%Lk6=bEFoWA& -48>8M!uDfg5RF81c>jN&>%fiR8'LNnp6]L;LFkT^+I,#L^bKpAcq -Dgl3A4mtXcLU[>>]=nLkn-4V`"@s"*5V?SZ8=]/tJQO;]n1]LI&-L@\"N:OuY$;09 -4\kclc=h8'gu[!EB>^ZTk0Qqm!KdC21BP'#JuBlEG"?6iZIj`bF!r!=S;$]Ag^0"n -7.6*3ClJIu2?K6\!g#D\q;DI$_i& -OBI*a=bNFV"Ik5MYV3RVUTIJWB]0//nriqIHs',"4SLr0('PqHd\,I%<8o?-1(8^A -bs(JDpkQ=YYr38Q9:r%[+DNIqDr3^Ida^QDP<>QI#T-uNS37Xa<[*&GfT)u]T$^!=VQ]^0Ja+M -6JZG4HE^fI5T9 -A6^`&N(,#tE?5Nq4%i9m6m<,]6_TmgAKHbeA.`6`Zrf!uMhY,SLrtoSSC7[0 -=GYaM2B7`I'7-nBVbj9mBsme;K"YTu=R=Th7?X<"[G&XN$IIM3Ko@_q(F%)_Kk]E8A2Q'3K -e8$pFh1i[UY1d]8]03UcEP'uoG?aFTHpAbf$3]Ar-79\Rht)&^mKZ7Ue*$CM?#HQI -[Fstk2*lc6B>NTsLO?sI0UEs*p1!P*Ts2IK3#IX4@\S`.3/M$qfI&okF<1E"i-YMP -_>XEVn4XW%6'-I7"Wr6qpjIYtg%#-8-E%Vn'gSHj5Qg'9a:etKJ6"$&JUhk9\SlRu -(THVUiZ0MrY]-WqiMuI^`[YrW&rd&+/l8$&6*tcbLKWgA*cRPC#XPbdUjN.I_:/LV -7c4\m(a*7=7Y:hWYS)ipSBrP+6M/nic,1OZ.S`R&L`ZkqlF*E4LtX39"R;@j-;[&E -#a^M1"V<646B)g,;8M?:)cAuh+pKXG$5? -"l]f<+:S#UHL?u -FBr_'p=s4r>INY,E826JaLn\A[Eu$.b1qD`h:E;Ea!g@BM,o>hHQJB*(Y/)NDM?"^&*Uu3Sn&2ApKt!PMdoSL)?l^:$IJsq&WUqjQSPpM.q4s -&Yn85bg=AbN%3P;l`4X1Lu''l\$Fie2SU0Me:MNV0)I!A\F(<-c$4%$^;:cUS!NBS -n!j=8]PJQ0"iB^j2[G5C4BeGpDg[$4aD`,[.EV/()Y1!7qeU5]a1E-;Z%f>nIM[d6 -86R8G_,..$K7mB^#8h+#!.>s)!WCdI4iF2R_C,0=!?NT/&8[^VEIq$h`TQt.MIj`)+r-rk%)_"(o@N39pd,GXs -j_uPIa[<0Y&'t;@?.6M[Nr:;c7#j/op^\1XKF8+ep':cI<hMiq.!dOfCEl0]dfE_uYo2k*(R6"gKuPje@;9MRSA@W<(B]/`juF5#%HW^MpZDqP`t)9""5H(JlX%R7q=JB -8CSWP(ihm+1-SO=qgbjJ"qNs!4U2N"*()sm%0:8HKs6aB_Fuoj&Dn*%S#?VNoG@\? -\mlE#-Nr@p%nVu*-I3"S3\k4V!bj1nQb9*tk7eU3!($rViT:5ME"5J"TEf#K,F6ID -TbK8>]]>TrN&(Ad9GC`B%O`\-@#,A^?p?1BiL)c?H=tJ?A9F`A*X#Bp<"]aE`'K#Z -PfKF19j+?35k#it^lT1\5ZKkf%(ZVc@UMjnKfj"Do:FFRHr!f$@uQA@"OaH':`9?p -Alp(>1I?U/ct#iP+AJQP3$O"EHk2@V4,[&"HdA]L7VAud1$'+3PST:P!T6$E@60/V -[;N-7#Z(id4Z`brL(gP\M@1SNS.`4@(^Z"!-@lSr!uZt'aKg.J#!kDtg-[;h8LYrr -Zo][NHCZ!ic^,nf(!DkEcp/C4[bID(ro)S_8%`W5en?COAH\1\/5k*Uh[\\AKEG!#9VuZ!tGT10*KW='*7@\ -"jg![_>l4oeqFnTZuh>#>Es[]^f^[mAIQVMZaS4!!>!dq5)6WK*ohk-M?"tN_Y>5] -b.1o5C2ath\7A>8==T#$O:f>jap7%I<@>X4-'SJ+<$A":/"jbV_U?,!_'gT\:kG7S -kX5\b%:=dR(_fnV?;mPr3oQNOJc\b+_pnpBb#q?]eU"K$C=G1t/6"q<+BT!0?C+Rd -BG4>\1^TQ()[*ebYlY9WB"3tdZm(QO/"IZ!/foqp#;T>\@d5FSD9pfBNKJ6.;p*co -%(PZ'QL_ap>Lt:(;Iu:,'Tm1S\XtE)`t6ko:2%hla#2q5'9nMXEH$344D+NI#.#d? -bXH!LUWVHe/JpkZ_$DIkYbDtc3+7dJ:h,%'O*9s"PsIde!=r&M!Cn\W)PZ!mMd[#! -6nB)\H07?UNE)RX?E)JD^K51aPkg3;k^>n_=DHZ6\H>Gj'`_33NaN2SP-F_A[q4B3 -QZ9b -"F=cmVfp*?"Q_]oMoFmjd1P?#\.?E7)5Da.3FA^-7[KJj3cH4qMG\j!D20NTU -p$#cf3a%[MKM3)bi+uA]cmU)d,HdLi6S^#k.B#BsM>*&'e7Ys`#!Mk!1f";4nf8\< -bKW5nTL%1\(QH>Je;"0c-U\nlId_^J^3PFf^mXd.BHY6r&C?M*_VfD*_2Uc3^o)gh -Jni"C[$.'hF`+8kKT9jWIa-hQKt% -Bj.hL2fhucbdG;2=A$"r<2rPgen($30^[:uL]Cp^N&M\*,?iC#^ -q#?uFrr:%:rJnZUUWu"If%(3u#9[Dq?sj3^ZipH6'*'^!lX8RG-FTVf!5ZTuiIDUB -//-t@6t!e5^q9pq?3fpOi.,Rb&&`igT"6GL8^JmHU&MYS[_&TS]IV"7X3P&;d_0GM -^$F[lC[,&fGuS^+8+KYji5(V[CW2#j!06N.29@ -+CrCNr/WIeXQ5sC1+GVr>n!=`V:uRo%hap[c)e;cd45iB/Be*5bX1O;Yr<@ji6G1S -'QGn"bj9

    np*V'_,ND7C^[<[*Rnr7r4pHK,Xr$IL1O,$"1+D+L2U[2A,/!(l]rP -Y[G%n^&Z!`).43tBRgh:4:f6'57q<=&[<9P@iI/5)f3gNJ9&JcDTpMC*6>kqJ?fae -3Y9,B![24pTGAE$F;q/n*N_":Y\K2,li9?<*P_q$aPIo1V?&uY(*Fq>!?;2m)@aJO -%C(Ek+Gp?I`?3c#S"5ref+T!2,K%q4TKkJNSEk($s$M8%C!$P#!AQi)R\2Sq -"%`J#2!_q71C:(H5XO\S4Q0[i7t>D#i)_RI/FHn4m]Q"41Lhi>#<$%4/Yr(b@P7)T -G;iHH"YT)2V"FL9q_mIY-_i'mF!RsW`p$l#15XQc:EBc&@L-FV-K&u\!^'7rSMjD\ -43"N!jlU)#RO:@Z#b[&U@+RP6=UP52a$>jr05U?4[gU!r$\5b\OMFRUP'mK*QNDj7 -`f+CV\Nkm_pl":6i`mf@OpI,7q4^@Si*SHY^2[%ci2i;8ii4X"Yr8s;#*68a0c^)W -b/;(>41%a6O3F/5d4UV)7FM!#ZscDlj>_)B0FBg01il-.G=GPY7nKI3CH/ZI#o+!\ -!>:\'@(6?t[/ob@Khu2M";Di+$64kJ(nj\+ThH#j3Y7;M$rM3=nn85iE4NbR\dP=F -PbPV5Ap1Cn]E,g\9?=chcr&/9:!;<#E:F2am0Jma-a8V/9DhVF0+J-o+X"kA9@i`m -G>An;^e[M?i3)VsR]?e&,_dRS7[1iqelIK>%[B3ePLWLh<[DQ4%R@X*ohGm+2TElb -#KEEO0a>]K](!'g47jrHC#gducH3k>/h!s_biqP2Dci)/&QOTh&Q$]Gln3F3=Y[/r -[=qZ3T$:,*>1I[tXQL;JWEOGUD@pK%B/hCrDU<%/Zs\;2J;sf+ME^(k5@K3G_1`a< -@bsV,G\;pZLQm(>S9bp.>Lg8kecT:q#&Y^eD5q&^V#at(rlj;d"b;gH!(m[9#Qpb) -JcS-o;u]B=f%RhA^pSK -93P@4CWYQ`;NcLeL'>AF)M*,7!I!+rZIoJ.)(TGChuFhWdJtH=)h8,3JU@JaHkBaA -&O;!]fk_#!N8M`gkr&E09@@"ZKjg\JC:n$<1YnH.Q -P8]Xo(,\Zs"0$)>DVPC'4IHLX4OZCp@lH2Ra"t%Ult\Q`UX3\iA-[eV6m,MU/sbhP ->;c(hEu0mLP)*MGL]p%:H--;:(S[Q//-O)L6>7cQDg7o'>+gnqYP3$^_L_rg[.3V! -.S3/7cAcnE:eu:tF#Vr0VMdQ4Kabb($rF`9b#kOVUf!6;^e?BfTZX.S:^NtQ/qijP -;mn*83BVFf.HbE"iR#>R0sB#rK(%JUdd;IpR6H6%Rkm6/EMf&fP1r!Wd3?i@GI( -6k1?."^maf)6]]9LS/qpicY_Wl6Zbe&lMmBEtj]B!*TZYg((nb%Yu5A2Ff%o`#Ts+ -*?j>@6/Wa@$68H-):@4TJMI?umdR7n;0E%MFABB&"+s(QFp7.-H-&@WUGI(;8$X6p3P\41F/B3CG#AL>"kSGu -Q\ZjW@Bhks[C]a`BhNc0$+"D(ZTD+i3&o(,&0d/LlcGBiJ6#XBFb8sBPg8%f.BWef -X*,:U,C:$6#HI:d@tPtW=^Z^P^n=XL_GLh7+CY[PKabp6lTM;sq.Q?q68gS5"+G>! -pe%$-,$BMB.m^Zt+qL1l3&c*#@aD-n>XI[BBV-\USGRP)qqM8CpfY0ZpP&BPZab_* -qY@uj-9;uc3;@`Hg`aR?-,Y*Z_j`JF.l0^m#.+pK0rmnNftmtL/dfE?"$n.Q+djDT -$m,VGS]bddJ\Dpc*Z%*n[D;25+RBJXQ?8dHYml"MA;Wq:ZlOZ&*JbBKf\/WNMB+qb -94/*"^_Rb1(]qMh$G]%:V@*WdE"5:n#N2Vq-'SYR!KYb0^R532KgNZGQ45,LJ0dN) -^qJ&L.%Eqc]:q62frK>#lHC6T<7PJD+Od"/EOp:TKR@T%8*IHAnEn3Bt>6a,UrGgOc@hF=SCCdUBM=57*lXij"#[Dli -_,^VgZ]e-M_`hQa%+Tfa(*-l&Ff!^U?5!$W3L%Mg3Q!oZRm[I:m -Ih1Go&7-]D^EPc0T5ukSGOaR9pKr8gM2s8nCGU#XE7;3[(`2nf8s_$5-q*]oKOVk% -+=KR'3STi%dcUR2@-hgZ65-PHTR'T/;mYnYmsm8NZOurHH;A,\e\>br#K/@@6M\E% -_1aZ]jYp/uk$).E8JK,ee=>:#l]BsV!EPJNbGC,m7D/lt]:cD+:/=tOsQ -jo3qa^L48_4>mufKXF>q1_F,s<[u1$Z8k%U<)b=[k/7#AaCmH'd-*;i>pc16WRGUi -)SL='@BA-tp3RgWhefpXme7[Ff(Xa1iGZ5r*\QY?+:j>5!dQ[O%uS*k\stsf+0jGb -Fh=39mr,nun9Fj-&AVg4kOeTQ^jKh2%NO+S!;0T!VJRN7+`bO693 -d?C=D7P$71'8tq-2FnZ-EI_hU-FqJ)SHm4;I)@Z!PmX*j$0H&S`lWZ5(ZboH:laJd -lmDpfC/PlpJiLG!%RZ'31!Lo@W%&(i.#K+%_+.a]GjTI8,rGe,McK2C&SN`u/!]08/dlgRFC,hao6t%jp%tpFk)4+aM;n8!F-l#lY(*'W3OX^93a!kF@c!$[iM59+,0p+eYNTdD -L&p5\&e+uB1eJT-H%9Z2-EN#F+(,-D-:2@l!.>o]$0l_bB6g?WRUnH.;\).ongt"H -^mGlD60MVqkZTVM_f7_e(W:<`fEJIpr_/&$'![qP)_ -p4lr*X.!QAoGdtKILSU45mAJ4,m*"d'gYYq7fdukJmc=`!k;)25s-EE^lAslGX#q] -h93YoT*\R4;*Tj2++j!.M$)\J!WqS5J-#69a7M9Ec[kQr5QEqP(]bUd8-05DBEH/? -KEED,.KY-ro8(MP"Q5d`!\d(LN9D>c5\pn$6clA7lC-6(2A/QOleesO?jsRiU)UpPh?)q4pQW],Qqi@0IN8',*l=]"lrL9 -V?nG8QF_98ngkIs!(mLt#U':XE"5DU\d!^7mfpa!Q%Xj5&BKY_"<`L48jdqV5mk_s -ERHhi\TKQ8PeUKLGfM9F7j9.QZC)@QAP4HG1M1a;N<"8UJ[!d4P79gd -Pn64=XAg$I;1Uol&\9qk8c%?iKc#g_,#(j)5q416\1a$GlqE$l1^_1RS.hXj:WTe- -Ou2Bd&R(bpb]Q]ceG_4%6AJLjE>0ZdHA\o#grJ$GFY9dI]bO-k>AG)t,'1Ekd/)uA -@]XC>'%2*X\P$80m%rbgl`TfMV*_,snX@r*HOZ'ISq=W8eJ%oM]rVnDee -C>N9WM-i$I@;E2at;E1Yt#p`McZn*^)8/oG:OB1X%HOLT15XgL -WYhIWc\N@Z -))!RQFCri9VI%ITiL]/da-SS?=YRh2Oh`kBPqtmJQl1UFAph(X&Z0TlbHip7o!P$p -p3"^jWVmCZQ&Acq:!]tKd$<)Nl.bE)&)_h"$8="ZOmp/t@r`H_RqRJq^]5GY^]=rH -c2gEp`;u_J8-,D*(;W7=7A\**"&NG8oDWj`)W+h6*I"Z/k.fNeQSgNUKF]'o8(\aS -AM-:n%:^1!#&R)aK8-B9_>#\h]3HD1!+)lf`mkGr2S_T4 -]#34/O/KS`o]tI'OP0#^Dur2WM!l*%86?*N6l_i$CtAE\\M=_H%KZ>m#,)GN!t^J- -JQPk[i0Z;^T^Eje!-\mFO>Vam9G`;R.1/?`(5-O7\bUEjfpX^b"/'$33:M1#!om"m -LWL$M]AO_Q!-jL-"?+7B"W2iU"q!Wf#(sun"T^XH'F\b)_#PJX^ik"V#hEWS8X\/\ -J>UDuUXouDI>u0@Qg>dEj2hK\R1iB,7BYf:/>QO:dOA+'hY7Kc!E[jK@#t'=p'_^N -Rfp00ZQ$I]$.k8!:SBP*'@:GEAY##CP1j.USmgA9mqq[_(lp59O$)FDf^?JO\pD*W -BWSSmp(M!0)D=lCk!h*O&j-fJMA[LFM9[<#glm*])JQ(nI[Y@&2?IrffN%Cd#NVZt -c1"2B]hf[9ZQVF4S$*'pqO_;O1O -39I;7?,>;>_:0[Flm"hB,HNEIJBH(ed.oQ_,6;I%*M>:nW!n?P>(DE4L,]Bl0Pg_[ -C`=L@!#TnbTE,:km'ko"LSt4YX>>X)FT

    7'-N[s.JeJ9cn>[r0![Od -XjB`FL^Ac_/qu>tJ7)t]i+@^_"pT$W!+9=A!?[$2#_g0=K]kIJ#W`uPcoI?$8dps- -[(=H!ThE&31IGT@fjV6U)M;E1"&Meo -\5.jP"U:W>J1tu4Lj(eIHF`#S\a9$Fn9BHhG_Y,W#2is@-t7li"pH\E!73l\L_KoD -\hmQ@cH4RealWW^+9>:\Jd;qi!$M?pK`Jn2!U'oa&.8N[)1\q0!D!TL:_/)t&4/q8 -,@h0,&/h5fjoIiN!;-q`!]E,2(X+`%d@hI?Gs!AI&CGIV-cHiHn.6uj'+Alu$6/B- -b(D*/KgJ&O4DVuh=[%El:->;p4Bp&D\m3Xb)7"%n;WGSklbLsP&Z]Tb$2U\<@)o'k -1t+lLJQZ_dFZ)bra?2d>^,./``>sr4K02IK,*T&SR`m#!9X6]N#iNE\)CV>m-7ea) --7BKl["CFG]>)/(,@\DbbO*%2/C`28*=E9Tn;'V+];PuW-#/PDO\A!/q3?nVP^kB_ ->7;5aB#!Pm48Zi/49A$s""FSCM27RVW11S;VQ-EtWf2XtM.DR68rD-K$_,28oQuG] -%MR>'LoiBn>`+U#L9YT4_-@aTgEoiATE/LqUW^VS>U<=fF4X-.=&jF(`#k"\[4G=% -='^.(V0gg*I#bid6?)]dK^-oN#6L8McJm9*#YkB09nfMP"f0HK>f_Z@Er[V0+(0>K -Dup8\3dU/$"=Ob5+>X$H14hTQ`#p%NL`=Sr:*+?tJTr;hQkb4/ -0nD;\e:&pYUKjY2j=BpBL>_Y3GL,``Ek[arP'8A2KJUh-^L`1u'8cbk_ -"2Gh-\1iKD0S7(]K"*31(ajo;-%]*0K"s1HHO2/9H')Nt$Bklf9)Xt+LHLN.$'P@A -"E4Eb^qW,X)(6E-_)DEG&MSGc'Z-OX3%`l],lu\]%%9\D!2RY8bf=3*Q$S_u&OM)< -OTJ(=`iNX#q-ej9e6PHHR0h+G\>ggUJ[(A-%Uik[H<-5S,2=3f6\UpGV(5f=f)=aaQ00%WS&t;dhOL*BII!7?Q3_;nh.>20BmV[2ls>4M?BseJ -8st!8'j#0Lc1)%YQN$!;Jd2J.[E[$N^kUJcu0JSakT3pgFXD@29KGXM6YE^u70` -iFWg_insl?3<9[N6F]XAZn7#o"U:0?bc)'`G^MGhD2%`iL%%ohYY_$6$VR;\^5*j4 -?l+Dk/-0]?K8:1nLdqI77YOYH"\;kuOB[G>#R1!6!,,m&+Cg-;#6kH?b]m5^^eK?p -9j&l2@(80RE%K:j+lRSW*+8^GTIp71/OSG]"YmZ"87723l8ORk#NYPRFS1EN!/HYS -J.QXR:]^htJuCC(kV.X&$A3"N!0B,A -5R@NX0E?n_JsZjrTH8W^*s"V8!DFNGW_WX&7AoL)4Dbj2h&$W=iFD!ci<:0O9cVch -e>A[e-7BJ$1.R/B_\GmUPIhc2b#'H*F1c1uJlT10-mJdLYgT@hd^/@(k%\PG>uLZM -de8.=![e8J-m[j/UcKtP2M:3N7]/.uk[oR#)MY-F3k^MA=2<\U6AD8[*4ioqN=pUe -11Vb!F_6`@e2S,k:5P#u^LffT5JXnP8ub.^4KHWHe@I?`/nsA$_D&d/1[(EsEHt-0 -\OHu&^OS=sAu"-cp&_g+Q9,s"TV8?]0@d^_M)AQFD-e\D?RecX.V&e8)Q3ugKoC%B -%!\\+=L5M4UBu;NZ'"J#uA103\B$S9W -Y/AlB`+I8=64(^!2T4s:a6],2/*23jFakt'lF8rC+RgJ)J/&-)3.VW"Ok<2.J-cC( -@K:(Mb_U'eE-2C6!s^*rL@3XO\6=QQ%"s^%D&h\CJ/-k%(H=TUkK1^E^_m0W*W_?C -!WX&'8[+I\YW*o6XhuR8WKs>k0BKl#n1dC\ -^W)8KJog+STk<+:!eQEH'Z11Y/[kg>d"7Grgo/8N!H3itO^-WR'o4W0*i2>n-ejp- -YW*nJY8XTbOBp"0SC?^;%j-gG:qWN'Ld3Dh7h'F7GWB2pV]e1Z%=)hE.,N%I(+mXZ -ba?Lg_/&KgEnm3m0/)1ap%%M^?IY;Z*1.TS.rqsTC!+`m"I!nClH/";8M<'ojMG8c -W8*s4?a]L(TSUn7*J'"d[aka:$\=UR,1:jN68JX_8AO4`JMq.W7VDfd -OnY3=QUYb&`l\aRBtU]]^\55YJuK%gAu+Imk>M9eQmBFC+qoEN-']s2&mNeuHhqB# -Msc$m%Y&hHWJJ/)U[!J^kRKa3eiTmZHf@nLn%=#<;,U6A4dM-9>iC$_El21^?1p^B=4LhSVViMJY9]^YL\Qi -a/?`I?9$21R2H!>q&SI.>gHV!3k^":.+])&N2GJ^.[&iRE -@2['^XCE3hOi2)Va,O$ -X.gS)U"'fFaDQZm[a4Rd"%^k)SC]pQ'@es&_Cm)k(t7pr@8TJD.p5e.m:A^d[M<@C -fMrZGWR7>bW$%S;Ob@TZ_X -VF%kc3Kl_E11,UonYcU0L9M;+)ZWI6D!/gJ&o3r/;6"2YL/CVOP_9$#5Du4#\0lu> -E.f$`'*_0m$)(Ig2$AOt$4`/O81IT,^fd+OJ4H%,!$D)ej1&u2Y2FU+8"mX!S*!b7 -:V-"@2'-L./4FtDsZj@+L!%K+G5d4i5 -!s'kos2]Qg+TQ0b^ed#l^uudA+G^UKJ5-IQBIsC,9G.D'8d?J4!$T^,%7/VL#=sq% -"FuL=Jtpn4NuHShn?'\s`uPOr82*ItU_(FG4U3)D2hp7."9IFA#U06q,*52.6Lq^7 -NOU>LkfHVQG:(Vu5j+1Tq-GtYP6m,ST2P?o]`+WEoiI_VCVj%u0 -GhPUt=Vq=>auVg%f*TO/mT<+^(ERhd$R>S#"gS1qa7NC>!>m$a:gabEYVHC_b`@oB -6:j`cT,2%VQ]k9q:!&e`(SJPaOW]Vu,0:3Ac'bql5`uZZkrfL6,WpW5[0m%gFq$bX -\Hh]leUmif%A`?[Q84+(!Ur2X@2("e;49>]M4$0P=`$_\KT-SO6u(_m+q!M[24`+@ -(ZtqT6(m`lSs`4o_-/HoLQPIQ_qIQ*3NbIf%1\)Rg`&Up^^LJ_+e!Nm2,?nd4j&0h -6pOY-i.rsF5kHF#e+=F$\Xj3ckllaXU(0_e-99,KA^'n? -Khm4aHk6>N.VkG(;5r)`X]=)O="=/TX;-c#<`q@95lDQ`FJVR4d]*nrcm]>'U_8E& -C)hlq*tP(g%Z"O!#D$3Cc4"MlK:!cY.U_*D?9TYrU?J:8C==AB<6W%/(Faqb(-?OK/I/g$atLX*H" -$a`*DSPYGgfYBPA-`$@6,M$\UZ+-V89I-0J`HBQ&>WT5l#FrkIDS_u3#U'0ohG`NM -c6-c56"K"N3QQqIg#S\9&j-nn9S%eP_@3bir*,T*G%c,)1H5mH)4Bf9cn,\5f8(QF -TP0&+V@ba8B&eQ%*cV8T#Xd2ltfhsk8;F9JTME_=]'?6A:co;9' -^`A'c?k3U[4pWON)6^uf9JJFNaB8`l@U+kQPi\7R6u+%.>_]'=3_'D@ECM@Q)S)7/ -:Wlm$8n>StVUO=9=L%YS6qkiJiZYUfn\C)Yptm(_7WF"taufad>\g*pEm4@*5%^3[ -R<-r1c^CglSn".7WRMO,)>?Eq>jQ5?rfNb/_KSc_GG;GCR0B#/BIu2DQSNHPbAb.6 -jb:dLdc,sd=YippIT8^'M@1TG&Vffd?UV+9&u'62$1KPpKa8G.!cSPSYq?5K -YrE>hi"1ZO_?khp9Eftu+p-\UM?29ng15:VJq1)``!E@EJuE./d>Bl538P_7"FIUi -kJd5#p])Ptcjn(h2o[N\(rAfQ#nX`U_W;0\7*`3*_s=u]0BdT --t`uT&"nida3fJu7YQ7M.lKAQ,TDe7m"fJY:OpkuKK42de\EntEl[)=W5BJ40<4kT -Z#8$\h`;6hLIGlYg`(3,pS(Ili1^U.hqe20L[k>I0G/Uj$3oR5 -PlFWV8GqBCX=sX4cgLM+'`L[cKPIFg%mL%<%[8Dk"=P`&TN:^O*(7SgU?q%:n/*:) ->5j+'UI/cZ.Q[Ee"V+J2!eMm+4GjK-Dq:U-M?dZ1]]lf= -C$J&nNhjfQULGq\E(m)p1eB/b81^RZ7F4UWRU+ib?`jBSV9DQT-7,KVTYr0$TLt/X -ekRH!3RBtjaV+TOQN$@PXH5@R&LA%Z.2"?c&ofHGWi2r8DQ=&j'(J7$0ejA^6PPYO -'W`AJ=,JlQJXrm(;Q(=TNhb8TEikP8jkEb -N`c-pJ?n*HM]cb'i,"4BD?XS["X%ah5Yq\NJ-H"(#p=O#+JoH1V@,Yf$UDBG!5]-% -_E1$&]&:N!98'tE'F:u2"i,:D?tB4SE]n3.4U[p>.SpES2PKC-^h_4]CcXRd#VK]pcGU#3=pX&A.dd;p;O%BJa!idbbH/N3/A>L)cRd(.as;M[KSIXG*6U+l -/?$q=de$<=L6&:opF'WBDq?[RjnWc'N] -GqI:0q/Po^U]Id^Gg.kZnNF"3]?mCC)j\pLZ';IU0I6*Rg3jZ&M%?b3(*nc3& -4#=!$1VjN3r_!i2#QS*7cGBjaW!T-".U]sni49?48dqB@"G"c++AN=PiX5a\EilSr -^k!"bqFg@F3ag)5TZC^g1)]!c)<&L6_8IA0"s(PR!!2fQe22&ti,p4>+!:V,+mK%n -lJ_iWh'#'M+NZYW`B7)&7Iu`J7%dnbRKl+7"CU"!i$oGd4rrPc*T?>b+meDfLiokZ -+4NDp_=SfL!$;6q!(#0 --j\-CroeY1aL;4,*eDDA!HCf6D^9ktIKTq>4S-T_'giML@.ic8;^f6JE>FLC@aguX -pOg\H0Jui3)O+p@##C9`^j(j3?MS7Aq6-AY:SUA/LtDi82G9_?@ORWN7fJHVL]Bbt -!(;R@'Eh5BUF9b0+ttlAAl28rfXa9/ij>h-uIi&LOg!g9b\P-Ijup#N2g -LL!p/>c;oI&O``4,4dI02/e3RjGlgIB//XSX@Rn@_f.b]>n'e&@J,M3OAJcQXIR1C -^&X$Q/+m2QA`!PJL^Y72'F> -AE[H?G4BNq"`UpGE/Kl&J2EKE3fu)I<#-WVG9fp0LGEek2Ln[f^g9k+MSk)K$7W?U -lirqH9#H^I\LYHXnbH_"d^dq^2JEYT+G@BmUE^/mG+bK7U_b)fLq,HD_u_WH/>W'L -OMGB7FNJSL@QPgpB`+gi>i:S_^o0KG/UF0JHGHq8(U5+cj`_M_$'HMXZ?7Ng*Fo9P -AmhXR$l*CTN);"Z.-Us/2C!Zf81eXU3[MqfJ7qO`HPf#&AO)K)J>?j)#0lX7b`J@/&NUDM\?QSgV!;Y),J3S;`)W*!+mr<.RS>4[X*A6^`toiR._"dVQ`sJV9^cR8]Pn8NA.2#"HB; -+\DgP8/qU>*!+st@Gsa6L?NoBR*Ld8+k?XEf0mn&(kEk55p57H\4f@k#rKZai:n!O -//07l!MPYt+9W`Gc^>"!8O;J=!TkD1!Zb^F!.gpY5Sau?U]NfY"/%COaVk8U"^b7d -JB/AqFXD^^C5>,N;WnX1(CAi=h^R&OA1pC2*\q6+Oi!VQBcBVtQIDU*2F -W!\5ap"ugY*N!#VZ/jSQJ81Ojc@TG)66Kl.i-BW-GR0D+,\3!8m.(=4@lIjk0;F!n99BYG*(%#c[IN%4tVY_b'\"hP^)gE]?% -GEQO_RZc<2\nS%WF/KV'#a'-6J>rccT*E?$Us"PpoTkL!+XIKKpopN+ -99Pq].KqSiZ5c\23?ou^nL'rtgDl,O:%9.E`e05kUhuHp#R"n\7\W`E6Q^OKsRG^[H)5F,jETfU1;Rrni+PO($ -<,CO=!27_,@I$;^o9d)umd;`"<9,*"g)WJV!CMT -]KdU#7&m1R"E/8P(BN`KF9YJ?Z(S$!@&6)bU'm1W\".6c3'mm*?qU\&<'t2\[ab!W -B+aTGM/Q!F$_[64VlCYr?>j5sFp&$MCeL%="7R@s]F=j%]3'Q.L%d(Fa(k=jnN^j2&Lqm=G'FD]e0bd))'T!(T!O1L$1)^TlA+Add -N^Y7UalJVA1o=D+QV++ffo3XV24@8%F.'E#EBBdgB*'e1OC0d[O%7+Hf^O,A)@Zj: -Yum)[,nL>M0rX18:)FCoCXrjkKL-joMM4BZR)i_n[G-F;$^JHjEOsrnf:0bImsVlV -YF#/Kpu@.L9`8gBU%!DnlDB!.Vq0R)+N%c&\``aA'fQK=)%UfHZ^/j/H -[R158h1R=dYJAlbd(OnW@@n"'D3?T_Q&antX9*0)[%1X0N$]MZ$YEN"Q#YJ]Z#5&:LN(^FM8 -=sFA_=JR_U_^P9k%qLJS8/"8)1/(>0 -"CZOM&-W(/3"R>8oQh*>i@mq+`h,"V8]KSflQ^bcLQC&3*(8i!-O.`ue=ZReai -]XoagdcA.t9J[s0O=NU"d\2>F7,$Q&Lg#[j4]?#i3s=sW9pupn5#<7M8lG.)0hYG%jYot6<!YAI5ckGAF^J;$V_\L"YKLOk:Mug -:H,s_;hCt$lV3-mgbhL[Cg?6_d9>@-Li/3njK!9+S#,8Q.c"[[`m(C2uY'ngEcB%OM/>DCnBmH_[U].MdIB>![pQM\73 -qk!rk^CEeR*X?Fe&]A,QF&L7:qqBl@E*NVqbAnQB1VIj6b?jmHcHH2/oO9IG,kU)7 -;C)W98s17*G+HR,K[uN+gB]sXQe_rGi.p24a>suN;=3r*))PdfO4&it8=S.d4hu[" -#5+?rlZU+=&f^QH#>QP$icq$N#j<[ejG,;B:OBSE^hh3i+m5.=$/Tl,+c&H#*:hB4 -7DWr)i(gcqM?!nC,U5?HQkKO';@5]X-p[OBr83nE#fS&252^8IQeH^ZkHN]$=?tsk -':4AkL(Y;TmUf8dg-5dU!CCI.$"9&GL+q$n_cUmfiRBc@OQIV%\:"ot"@Fq^&ELS. -:4=Aa98HG#,"1(W'B5/C1a(3rRLj3BO0N[J8*h(]TOdGae5e1V?7Ei)fEhX^Vui]` -EWBOf4Fe"6*oI0JO3dkk8,*'+na8T]aSd5l"G;cqr,dHddOIM\W!u"V1d+*=%?$0U -M:,EQa_7RiUnOIl!/riDn0TZ@E!%,uli7R+n39G4!$BVr6H\Ni56(]]+!:Q2O'i#P -LB%MtieRsL+Nb!X,+AtUS1]WE2Bp,m&/R]-"V!3/!J`)u!$gK*84d):a7QYZKBN:G -Tum@j.&?qgPVRdiapZ"r2$3iP*M^!]_nPo^M -GugIkfd8+HQ_B2ZZNLJa'a$]I%)L2lLQFhC_se`YU"Q9N&ASs1?q^g`]H2^0?k-_/ -1cC7cMC?8$7_m_Q;(6;k;\CLceN(!hnX[00iZ8EhSH(#;I5HP=cr6Hr1fkq[@A^Vp -#UfJ+,it8sQBR(jl1J5\L&#+.V3nUFR1]WfGRf;T]Mej`9n=Hu/;8Vs)$;"#Y(l>bc -5Zl5L5U:0*TFa#9fE`F@!,RWk&2cq=#oY#S -"cK&c"@PLU!o[5tJ[B.rOh_m,"F2BDH>csV(*gbbQOqeb+c:*$Oi<]g(?2u4N,aPN -8]5AMQ%24cO-+HP9?BVCH)G^lGcb:NMG?Ubj`k-J -QpJ5@Q%8NUou-3QI6l)6g7YWL^j;87]t/Cq2]:42[$M3sbh:JZk"ng[lOI9ObL\i< -4RJ^i$0YU:EBL?cl(.GVMpY]e6"nLbSlR"Jd(lc%BACJ%'=.:90QC]:_mPabQ_ -)FCYW$D@_AKEM\o!R+o6RYuZ16N`U]*s41L>Cg_l$,@BFGs=ci[;b_0iQXCZHNcK_ -\]`[C\CV$BH!/H4(^+u@0KOEo%Ga:Z)-`O0UktA[5"j&os#oRnVkWf)O4/D^;%98D>C.L4 -05AC\%`*r]#@>\.qRJO&9?]j10d,PqY>=CH(W#mnaiRo=+h9o/W= -V*).-1IQ6e-jkYV1BAmZPhDc5&5.Pp9*SK&#$>gE3,f+9!XECe!!n!;\lZY`6AJA< -#>eD#86#ag#Qmm@J@HJJ:^dA,&?RZ@0aT[f!B%.iHkU9-qOEc8-H^:KXhYIlYW'B59so!K"r(PYU0BY -,q1@;!I,K5=;1d6Z7uEu#kK9ur&@&r&J>WfZ5asE_OqRJTsA?qP$eg,p_T:Kl\!BDAQ+Gc"R)^'qm"#)K_YWDrc5t)V\74:Sn -3'P;R\c[11K(puZkTc(6+"SfLJ@o(dQjQ:'$@o3^!5';jr'!RP,fU[cZ)\G7&T>@U -*A#+H*PeD#MPub+d>J]R6r:9ZA0=@boL*Z;0-aO,]9k14gF]]0Ma;;P4%_+u`tX^r -Y6`3!qW=)j9?/l8$B0:l;1KDQ2S=]Z$@0<*Z0W7B;l^4La06:8n.i(Y?GeUK`o5,P -ZLX'teNCt6S!#E.rDbPhaV!!g#P!"a&P0E_P5 -2ZS(]Je/7j(`@k.)?Crh!@X@*S=hG``C:917O4_J'Vn>`V+NI.ap8E\#rTA(B8RN< -Ylbo,p^n;Jfo=L9Mp/!>A?X/bV99RW.O^62JEOr-D)_=DJZ/K>Gg"9`[mpPG36T`< -M)ds0kDs%_%LI$5%&l(fWCTZ[#F[Zg`!V:HHN4V'[NKf4 --uF\U#6kf0"\;PlW)Gp*=,"Eq"h7lhJ6l$!ps4ItJ9YG/\78)AAd32Y#'BA>(gMTA ->_QPm"^jrQcq4E(%tigGK-2Y4&0c[E+hbhM92SEn4Pd,LK/gf-d'X4SbD$GKLE&C3 -:(bL,lcgSoN6oNS:s'?ZoLUh7!KBt(Jbea9XW.ES0WW8K!r;YDC:+djC6jOn;6-5i -'dPm1/crF-43/TdnBoD*k`=^"JeA4g>oWpI)(ObHFT64PQi.[1Cdk<7MFXeSS;d -I9'?m)hEe`O>%]E0Hbs,(BQ!2!GE`G$/GVi,h9[N!Iu.QbOW@,hZ:pY6]T]#'b.g-uoR.!%,&^2?Ie%e<1&mFFYKUf&13Ea:*a=O==Dh -,->S1Mt=\^h#hm6K4n;9QrXH"!Jb6-VW7PT/.EneIAO`+:A!b3n4u;09rS+b!6@`d -3!P*kDLa]a#?tP1bR@V]5!\%K"\8cM82GdH1]`+7JUeF7^_Dpd'pBRJZ,@Ln\N;@: -W"Vf<9,NjYfS@<1B3H5)!_m#@#V_]t4JkA52IK=WL(FRo#[U;Y:^(WV -"U1b\SHjb6*s$$rJZ':aTGAXYW^1tC/8R;`N&ccs4&pYjWY6J[6@fK:'$ZP3S6SMWVD6ZL\LK9h,a5Si%@M8Df\#_T,jE9MBWPkf#=8L(/gf?H)MB -ea1OtmOeD+8**o\JGbK/eOT3j<6X!%1tNIaKpDW+>lDLWfJuJ9*'$!O*sTLkA`.Rini)=Ll%_6@!%;u%.!9*WEsE6YLD*qtbkd%`NWgOnJETB'BG(DT -.03O!5:.i?FV\Tb\PV$3(5&"iH0ue_.+6t7<&cJXlHG:QE1k/tJfCf?73tg`0[u;]![?>YO`;lY -g),")]1!tI(5W,WV,BQ4e6\8+BJ3680PXuMlDQK']egk,[["O#!HC*U?@6D!TpTC' -+#qc0*4jMbYieK`lY`tCB".)H+4_h[!ZLgSa)'BHLSt3.XcYLKC;,LGAppY4oqlO" -/Sm&\Cho$^dP:o<&VFIkJ=onZ,!(LmF/;XYU\/]:+F&Z,!f'$SJ6dA]-np330GN2u -!rOI"NN36s>mA8jLJCl]7>*qOm3D:e"ZQX=3cfp-(4`n2!AFp3&.Gf-/$TA;ZhP4M -)TjG3MSo$(b5It64eZ_9r=ogUi'E?!+BA[H#DN4k!*Ek:&3^_X;gO)"34??]:[4203MRX3HUDIiVM!oR& -gYmR?E#D%L(bDND>Ssd_S\jc3a0#mG9>N`j#SIE)k8eQu!`1cFGXmF37g4uW"c-N+ -\7"mK@WL+0o&sJ%pg/"I<-&mBKGZuVn1Ok,JqK'3mMh-#fBKm5pXB+%W#XU\>?I6Cad]p%<74^34="2YkAf;m_-Mh[6b -LX@K!31$O?4teL[R>e&6B.p;u-`hWn^(eI8FIMZLGg23hSq>D">aRH#TK#nRnXe+p -Nm"@]ZFp>?3d[5QH`j1I5IdAJn!C$6;eb`QF/=5DK*+h"T(AmHR61.>i#QhDF$MC* -Nhbjf_P"/GS5YX9GK3SE0Bt\_]&Y%FGrkm0LR+q,+2B$BQcEd(:]n0SK3kN;^am&4 -3s+QCC:H$IBK5t9URqN6QuL="_.=Cph"mXj4t-!Hps\Oi(@+cUr[4.`J*29Ak."#S -H1Win8/;7gH%N+"k.il5Lcb\<4+jICK:jt#0JS0H'S;NN!Z3$\GTU_!Sg9?7N]JHY --gCVcr;N&]%"KW0!3hPo',V6("1iG(RUCc8%T"[@j9'Zj!)H+h$1/UW4[;eFZd$u' -FL=Cd;GnDA``$$Qg2T3F:M2KZjT9irU/:('.Rb,:8#9-uPknZT -SPlCclIB'hS4[Bi"k2jh6XeIIFM*-"-dVndr;]&h^^'PHj)DFkDQdFUe]\2<28LkU -n3MAZ%O0)*K%41h>SEEc+iHFk,.(tafrd"bNU?gogp>T;p]:DgdHIa:YQO:`!.;;l -:,NS36sp:f73R4YN%cLf#".@2cte3Li:-Ns?3kX8*YF53Jrrm.:am*87)EhTO?as# -o!c8l-\mcBn9Fld&AVg4l1On*rp`7D:,*RnnR$U];t]qardU"+r;aT@OCT8a6'uJX -L@?\"1D?Fl3ba.7REbl(kD07c[0PGX%^]((8q3B^,:$HS+RoF_"Tl3"((!:r?60;H -TN(2PiC)MbWUS\`Xc[;SS6]bSY9e%>l3L>c5oC`Zi6SQ=oKfLp -m1WNJSU_%#Dh(=YL]Ws>5SunG@$m@2D--GaIdPlrhmVqlT&mQO420slDVNJ4^$j_- -!P\%brrkO.@,%+^Kp8$k_XO(F#KZGjQQaKAgoiHTF&*d%p4G06N?c02G&Ngk\[P;_ -d5^hT)s*d7H'\.If4U#uH&cBokBW[shXpdHU)h*!dp>;nQg[9,m)/B&]-LsOhjpdKs8TI_aLU6o"IPG<9=Vk*4:lZ9JK2% -__/ge]p7P]-3UQ>%`.'V"i.V^am##r_0j7XJF-*bR)g"/r7)63Zo60j_)4QH;@6,*iZZ:(;N=AN*mV[7Xtmbj(&=QOgG20d*r)K -9P4@QRP4_d^D0"1<=)JW,m3WY&#"pq"sB*6lCD"V[Pd0#PZEXZ!3$$OTOIoKL,OQI -g-Yt\[#^pU!!hJ'Zt&[RRBc0@5Ubh6J1tPm!%'4LO;\`bCc@%4L6D[h.LEr,&I.bJ -#)$s#!^aP6!26,L^_$*P7EP+(&`Ijo>Z^ -\0YN[DZ6H^,:I*uc3.lm&1+]pk"co:43LPSKXg$QBflZ?V5$l/Z*XPS($),:he`QVtCh% -e=*",lBA31Q,l1K3@kriI2.-M(%bl""R*'`[BAk>]ur%1M.Tdk6"1eBTaAQlC\8%3 -_4rE&/?:PgW[e)%QB)]*YZKe?PVR* ->DbG2>j&p"T`iZ%ASkaAP?hZQFn#Ld3qmV+BNEX7glIQfrajoUC_20- -5RJXL-\^JX(IP\U%`GSM(ZDL-heVNAh)D9S`'J+YnF[fp&9aIma'Ze\isln3)fo=u -c1V!5Toi-WG!l1Y!O@<,JCG`oi.GQl_at<5]KQT.Hm!t7JF#RRrWI)6"IZ0rMDPFs--#"V@CH"#sqT -!O5H)d%;?\+@HKTKHNY/ILh#%h$RJq1P_TU*I]:$%N`86"bVJl+L%`?>oKGO/:[&0PcMcBZRNYo-:9`XPeGrpG_)A+lfuY^2=7qheO5u"U -h@T\@.S1ad8o6=XW]UOeIL6(J$0`Rq8LTWbb)\fdOH42`D6R[Zk(fq[$'3g=@,@'> -b5D=AS-b!aC$_Gl"9TEtcf]G;iE)u=ECB[OO#*i3EhCJe5^Y&>:o_5qj$] -//:Hs!b$Bkd1R3[.Mb>5'G0D(!0eTm#Ri1T -%jW20TnXj]7NF$2Zm/='/1e-d\,cW=(-j,\,9@ESbQOT]$@l(_9!S^*QjA4G#XhW! -^t&X=dLoqC&gA52$oT-LShpqK*l%as_8lUBa;SFl)I[F^iG9&**"W+7!aq>,i&nZi -KEH#:3G[,*.69O9a?.X]ioIu:C[f),UD,EJ#/ge!i,f6T>R3T^7EZ#KJS"sLA40kQ -*rl?a&Rm>pUbkE^*`/dO!$E'90EV>0%\Q,uJ>*34T#Dsk4,d?+7ln^\!!H*9T+Fa] -OPYm#7S+mS"XBNrK9kFhKNYA2?H-5]VHDCl>YL*R:Se!4nO4Q0I`mP["skJ;!(o8s -3Wm\HNF97,T_]1M1Fp:U/-2@o9]msXYSe)!'iNHlEn63-erAUP:7r[]7=\K/LiY>! -9+;TKEhXoJOY=il0Eg8e1B0%,$S[bT0QRm]dhOSN(GXAX1(tN\;]dc9,;PH91=H/. -B4.]4q?SX@amEb7KokVBX]W<^9J0NlGO@`dilK -.lC.=F>"/jehUX$[8FncU**3Il$7<-Dl73Ch.-5E=0le:*6lBP?Oc -##,_2Ns`fr0.'GJD-'Hf"B!Cd.,77uN"&2*hr^r[`"Pou`R+EW`? -<0%6=EcuBDn]ssQo]BWG?D-\r8!AEnPkKt9VT[De]PrcjHGaQZ]#2 -.41%)\G@>2Lo^09+Abct<_6/Mqeu%b+P`&DbR7"h$'ipE9`0%4lr%BFR.*s>eFR!u -T][G6H4@>AL-FA"lX"Z`?e,_>qEh,/NIaJ-$dCl7Xlt,B:,2_6Xa:9oO7I18_H%)Ps9r3%_%'!,,B52Yi-ISM^nu!t4QI!?sO$L\s -!=f\"6%QjlJcVQs;Td9nQ%HhZK)m?P:P]Lg=^/2m!V5I$KRn:+_gKFd98'O`/><7R -3X-,,1LPItfOfn`Bnf`*LDXrb=D`h\F,.8LLY.68(l*nAMhkJpLmX6[=HeT/Obq5G -%;"O*!.Q[jlQ6f>D:;832uRpp!I"`_nRbo5DrR.=?JB,k6:O^Z-Z*3:EbB6W=Lc$8 -ibMl`Cj'P#BCKMAPEH,f^o3pi"@2&b+_,?<c]`6qopG;E7W=R7!1k>EtU`PO9"'_j3dYCR"R1 -MtlC?`A]bh@#.#U)6/ag?+^c,% -*Z)uo(]f9jiIdbrH512q'-K%D!=Aq&#Ru;T%8+,;1ii!I.8GKYh -BBg.;RE_;+24YG7.9-:gE(\)=G?XI9>d(/mi2d8>%oApg>4ia429Spkj]=KmW"6(; -+IH4gp6M[R"0'lMYWeS -Ai8@<8aThf8XU(-R7tcoOC^EINO%:\ZMPZK>;MY+^o4KZ$m93jojW'%3SIUi4&q5ZjEC/$#n"rqpqDOm_K[C -#dI&76r4R?///m)'oQT;nT#C-FTl3'B:(a,XtFE6cEk"uW(7K@^P -JAMH)^(>fU&7JD46#H_^DAQ[r(L_gp!Iu"0%A84](Vt1niH>so&/G:)!F[kti#!$` -h>uQn4Fj.15V*+Tkf+mn"K*"=Mq5Sbj+R$U+(O8QX808nc$*66$$UfB!3(3EM0RX7 -RqLB]6-'&"a;QRn(GM&]lYm12;@1-r"Mffu5XfT64pD!f"9;I*i'IS-X9LY0CTfY*F"rKGp*QeC2[g)Z[:4eLG6X4j,Jg3p<]h6kuX\(f`N0:dmM -?s#KM90YDC@!K6/4X2'28p.=Z?9$#omT$&#cJV2sHD[(a)rMaf-e&jkq0t]QS*1oSh4B,\ -.N7J,(C`WM#G?_STRmHb?jM:i"TYb>J2@mIRK6ibRln%D=h7!8@P+WU2.?%!+`U!$ -EB1b"h7?>K=k$$S:oX9H#;hH+MM);Op8h_*'X=IAiL**mXrH:/)r\R4iP6Et(;^*c -$3@07iKp42-j(V>%3S1N&BSi;@XksB2tYm:\>8Z8Ch3f6oaY3oT&>-f:[Vn]:X$CJ -.?)IW5M9=HX@ZJn$*'.2[$U"q$BJ-n)JTU$Eg:\""+#EpD"po#M)pd2PEgD -;sJKDV-^9,UlC,(84_H3.3$q*Q,0;=B3;1fm8hrk]%M#4>],l9[Ee5`]O(&.gWf`n -JA5K2Qom87&V\0^nQ=RX89-F(O9O\(0XupW&Y##YAKt^ufm&&(0451@p],b-^^pBU -]3>165IOANkQ1PP!50:9VNSkCYXjMrk>=7dZ8*sA7t\Y)jDtX7A+=tPG?_&um<3iI -Nq[J,h=,[eN==1h3.sYLj:MkV.,bbtJJcrn"N(eL -'ad8M>TlAR;K*P/91nsu-P=^K(^DbAO=g\A`:l^JZdg'c;=fl'%"gC5/P=?^qA9mCJUAOD_0$JZl39P9IM`4@X&qlr)p(*i_W1#&i -K-jnkjs=&?B4e$\Dk(H#eo5)2V#Gg*BILs'*pC*F7L+MFJ0kU)JA.X9"$l"H6j(7' -p(O/$G[M?n%Yha%lbUYXZ3C>c@s"Fg:9oTu)eS!:DEDb!\8Ie%lb%-4f'U1i47;jX -E'+@1^[SlP%Di7hD$gqrR#"22iS9^uaj4B306@A"p,UE.>jaPs<,4hEkJGq$J^aq\ -;j\U2@G@BXLC5$7Y,r]@_QF*D%pButM[I_`oK<8,dAssBC`PP4/"5V%4gV=j#*h#k -)9J4GTNHaPG2H1Y2<8a69sVZ6j=).4VR#-H#se85"CS#AK$ZeU[4jS75k#p"+G(.k --pn2HX=&W3U(]k\=UO,0.Y\MC(o[]4#RGr/;pPX+_l.fbbGGR+m\PHQ-F'l61?N4JE.OLE+pYp1W5Fe*SqBIHuhU.a-cHf6^PnB2.Vr5/c`\PZ8*=)M4cO. -;hQXG0YS@?o]6IsJ1s`-";_-t>72Tb/-U=`4+cPT$fR+o#-%A;-h);P"EZFp0WMt+ -+A\[Ei&B#ed6gJ*=p]:>e-$"e%Hc"i"f/YnK%2u]JSc8KJ>%,0l4=W,:gfn]Ne%D- -dMbJ_q%!b+fhM)$EA8k_r?f3:mFAh3;gfp5]S9rh9< -Xd.nT=.8qklh,S.(&#G1o@+8%0J/sUXRP@PeM'/k!:hfHJ>rs.R"kd<'OCe@G!)B2 -Yr7?^b,a2l4pNbE*5b_Y%8hi^7Mr6/6F9F;JM=G6(j6$*e2.5'bSEK8D2Fe%gdj6]`7sZ#1'-`B=rae.ea9e=Z-B*pO -!a%qD!J!J[!D>.(&F_)h0[%]C>;^#tYFBTVCX$>k3=/sT56Faf#j`rW[9u0$!/M5$ -NB*pb+?Q9*Y"T#A"<>(9Min-!@L0=Yf)rIi$iqD:c])"#.%N7$[-jR8RYO[R/O??. -2PnqBP>u@G=/pCTYLV@IL]+O_+A**W_7(*s&R&.KcS$A7/W%(Nb] -itp%"nZF[fq"Gfi*-76-ode.02^d\AO-&o2Gd3G1L:5@5B^IRLY+K3AkY3_n)cAR@K)?XMf&;,KX%H;U?M8>/h`lJE),Hq4Z -bU7!!/XGc>deu>btB"rfa*VN)!\=YI+\3U;6 -r$6m@Nb3oZgD$E)"-(E'5'Q@rZMX]P%s_+*7OXK'6;0(bE531(:f6M`FW^7$(G_P. -X-qF&d1^!6\GOlIn6Q(1QT?b?gN;>IFatl>JcllW&7Q&)VrS%"d8Rbu?(TO!PilRV -*,8IF$K3N^"JDagC1(JD@D8*5J$G-mA%ANpC5c$C[8;[Rle7"/,LB5W5_F#m%CEc( -L)JJVVhcZJLun`lTbg%TQ^N,U?l#aZS$G)N.T>fMEi:ILKds$WWj%:/^`P&QNX53Z -WsZ+lK!L5XR$X;Z3`HceP.1cq\KX,hX0^Qs6l83H)8VOU_2K>LT^F?Z,CsMPJqt.n -J3JMa4tR=K\')+ZWm$7>EW@e6#'^<+G[,c\>QfQgKQo;(GV]BjU8#dT$T'MolnCJj -0Z,.j__a)86o)YR1W*0M_dk^D>WBWC3CAH[_mDJB`&^9842]i9_rO&"oK^=\6,Wmm -6khu+6pnml6UYHQ`,%l\F>kDUT,i;3W2\JY4;YiP)aVV5XuoL_1?=OZ+!.X,!E^e.Dhi94LNBqZYQT]bA,p"J -"iprQaAmb`a/8'SVmn1JH8!&,A.:o0-#fko/8aom*!*75R9M-Egatquq+<$S['d2uR)L)`K.j9HhV3a2` -PSb/ko-1WAYmV\.1@_aq+f`\8%a,itZn/OV,dYZn[**!e96@SbI(%4O\]^5KbDa'V -UqB@-]Z]BLbOiJ@Md-8BR/k`I3@Qs^'0\0s5H)X=2B7k#AB9fTidmh]Sk7e9F@uuS -,;u<=M\4l8j)'@:DN9?f[g97P[)ahWEshKnSl+U@BU"D?C`XEDJOh8Cn.108;@N&$ -!-hfSGQ`bGE<$hq#?Ut]@tBDdp'7OAJ,jkM:]Q8IE<$Pi#'^1RGZOl1\/iX-.g)FUK9/WScq">E#_f3o -!'kBk'=>A/("#o=`qXPTk[aa%AHe/%"c,Qsi'W+s'*@[p\ePHHAC\BD+hS7.4j$An -GjU(W(P1ct!E^ZMkS+*N5_/>h;5dUEJ8lf1g^U8b\.(*Hn9f`dI"mF\#(TYQW)J?D -&-MNK""5Ou;]EuUA%cQ/U(QLXE#fpQjI,?,s74lJZ*n;76=Dmj0C -Jl!r2lf\E0R=c]LWH+@U;NutKJVYQ=JtdT@W&<*IJ#a'rlPF[l-WUWb0=fqdN -OfBZ2^[qc2C8Zm1W.He(^q:%V":W*"Y!D2&^(X$f+I4N7&h?[!dKOic_;d,hYdUgl -btUK*`HPD.GZWFEfAiXQa&C7m-)b!)VclNk ->-4r1Xef4WXBKJ.>*Z8EV5W+USQc9&>@"#Y"ddrFVHY@W>?.P)AZ+:*]N^)q>;`Hc -XfU:UVP4CK2J%t2!TSa4cr^0ogiQ@Ie52juigue]!F\n-(n#p$)$+siJUeL9\/'Wd -$^i.sJH-)Z%)IJ\?_ILBb">A/Og[_1ouo)u`__E:%=_W%WtdK6/1i0!kVrSS2nXZY -!'"i9.!Gop!/IQF;+^@Kk]d(EGR$b@#>;PR0Pq#]"U:?,!*Ek<8-Xf>@=W<*Khr*[ -:e:Z68;#8#K?4s_'dj&m]\I2k895n6*3l1\`YUWW!LlN/cl3?1F3(_L14o3:^"m'm -o#WC5!JO]+#SW_D/X/.#JMiK9YWUjj6t"qE@.6p"!)2>_8)YRW@5<<7Khi_WUS4_T -b@:5c0Gr^JPf1(c&d_Jn8/Hh[6'k+VQYEiF.kVgSZ-3o=!8\r07#Bnu,N;`NiasRt -?7=fV.:S#\ijL>r`[YHK/)oD:ioVoRp+YLo0$GWqPG:;B+d3b;SYjaMb^J=)XuM>m -apS&>Le-b<1#o^;Dk/B/bmI"!n:`dl8Y/Rp7+O=oJjhU]H%F*"2YnXmR8?3-,,Fuc -O[(mZE")q`&DdB[?3s\ZBCN?:5D+ -Y0`YQ,!KjRQ>G_"E9A@O:l4!hFUDY24h@&>N1_7(cm5F^/HhX;L.DLQ9bcd@L?IN& -;\4>s88?PN=Tj97&OmIc81@K'E*(j?k]K5(mY2+=We/S3!l-e,_pAOKAHh:>J1,M% -eLrV:OiI05d5bA6i(eg<:.Oe:0lSYjo=cPFf48Z1NeiA?L`.Hq5+Ttdk8B:nI3R/p -\moS\*6N2ob=I4--n%E+K%p5+GW0B$r$pMq-c1H:AurbAV^bX,e<5(Y_L+Qen>WF@ -!ddM(0mV?67&[t\e[hEQnt-ciMSR:]Wre^l+?QM(r;s9El;?CG6ClZ(\`:3&)a2N6 -7;AhcCT3g0?GGP_Fi&X5Q_6VCOfN&L):4$(ear99ESZ> -K49\Qc,:g_F`*f9SV#Z(7dH(d/FMZc+r9MG`p=ljmr'FmZsN+f7e?'ilL+*3D[,`M -DYT6@p[:]+DjK]!LAGghqsNnDmgeu.rq5aBq="UYDmo52cL#QM!:W2GD^PL&f)b?\ -#]Hm5n3kIgcNK -@ES@$jo\0TRIl^`i,"UAp7iIt'Hn>d!5h#$M^Dg6iBI5T"8?#Pf3Hi;29Cq*Fn7b) -F$G22$[*^()Eo!hl.#i.mBSclJeEpLFrs=b52m`bia-?]LMZ\)Ch#1[13nb"4Hj/K -0_ZqmM>Tr,Z=aYlYHjTej9amA/j]Ti6W=RN9V+[IDg69>E#j*m2fXgSoP!(]0EE:L -KKoqK3*6/_=Cl_eL7eR%W,VeCE%#2ip?/b8s-<^tH+01:^R9Aj?'MBr)S&RuA_d#5HTBPm3Te36>hSs$ -F*\q*qI&Z,-[e#[59?V6]KdRrO?nEd5_Zd6LK_fZ(jPZQHd_>2NI!J%s$-h,IH^0B -LC*F(huj8A\GMo/?H?m^:hk`@"bqP8[\O[q,+3%bh,b+a?XqKfSb -$f1Z!;#:+5JT1T`D_AH8-p+\)BDPM=>.D`0to]6 -Vrjq1F78D8-68QL'F5L)!0rf@P1?"[eY.8Zat/A\-Rhg("1!IZU78Ih+IspNeY8%j -nECs -PdMkd8k=!-aP_"j(CPq:O^PCo/f'@6o)XO8H82&=7J$p-$A^I1%-\J"LshP`),r(b -qP?Z^;l`r7'tV)%[9g";lrG&OK$@f3fkhM:j.(B]H0@PHH)AhP0^aCB6Mr0CD5Qc\B1frW234e9r41g0buLImdPN!CV*E=A9d --6<:;Fa-VcjT;u"5R5d-!;q4t07"8;aZYA<(n^b?`( -o7mj_o`r9/C^BjPcnlmJ_GFJ%s1o94oaJTsgarZGYm^L;`/fj)'>`'A9`i+,]Ls!U -Oc3Qa6r6QA'gkgY7h3OYlm3an;1*Eq4n9"U'M/kSN0_GgCdB%2d7R[7]KtSm/\E_] -bkn+bMZ2&JNB9ijbd0^^1sM4hgqp"HJ6JCqBV8$1cN),eM2*T@Xo`7A*<%S2> -d$-s.7+!.\n.d0`n7idE+c&gL"+]Ss7T"9p'i3;D"[!n]Sj4Qg.'LfMU>8X#IMJJBqWZp(D*GaAkh:+h!IR -#GL@(Xm#krCTiGKa@VYL@,O%.:RJ9_Mf!fYe[Oq8L>BB-S"B#XD]>kN[GjINrI+/O -fKp-EaiIVJE>]9#Omu[p)-*kY0R^%8@FO\K.GS,s)6P-Wi#:h\Zf8SM#_6cE0H>9o -eL^%c^)D)HA'4Ad'-CK_+^?sX -0\X+VJ@u!Cn8s1Xd1N2X8h2e8EqZW2>/mX39AQk]"@grEHX0h`KsGe9dam1-D/X9>YIA]C -i7hI@l)iLA#1jdO>Dn8WSMeX#pBK^54-slf\U(_DDW4qI_/lc]`OcofjB]sPFm].l -]D$('h7M'YY1:D#(@q-)94rThmGkd%K(E8`iH6g@ikDnip0J^F0[@>s,i4iFjg+ulfc$UQ7G"T`9rJhZ%)!:YURi+,I"0i8bkMRjSO -Ug4CJ)DT7Y#obBWG)q^d5%7@cZ;Q_)XeFeUa,oB__j#!"+]&>25]d,Pa<-$'H][1^ -p`f%m+#*1SNWFAd4@S$G0U#R.V3k/&-;LO -bWrZN!anb,0HD2B8Vf1R8"fQ;eiM616RgFD:l5j*2aG3##mKoZ=9@X%$X-I2"^9t$ -Ji9<]oW/29gJ;O#>[t1MU7Z91mnp9Z]LD?_FIChb:MsH"\^O6e#;/_'\RpsHG9hWY -c$ds*ROk`Itip9RUe!FY7I6fbPmQm3u.NnX'K@#bd_FRW-Ti7(@(."ji6&OE'*#,%%d!aW.Up;\oAr6LaO:1_[qa#E0dgR`JX -Hd;H]60K7k"a!iaWH&7thjlEKo\IpD\n=h(>t:o;!so;?KIYo7!^6$r94.ie,n/d0 -%#H]d",66n=/=hhD,K'Tn*nWLXYR)6$E)6RT4CTO+G0:iOOHR>SkT$6%Q+@%i18.8T6.5a\E& -!"=rS$4oU@+F8.P4JW$t."[g7M?I99SuI6l$BSeq0PDU9iX'"W#tf4^MKo7)HCDX* -VP(:+!8\1MN"!M/BL%pk@$W%QJ>pCp@qAC(_:0CF9[ej>p_(&th8uT[X-1dL/Tu!'LMU1O^Am/>o&Pm("%.>0l[r5@i'-#(U7fnnTbmiN>QYt(f>i% -EE*kGEu:%'):\Jik`(briGEQ&\j]c&WM*&4K71!(GU -],aCL+q83J9b_WD^+UpioFUO&Z2#J]r$hj5`Fd6pK`L>X&EmcJ`bcdL?sqXL`WWAi -+U7)M![`L2ru\D<#3Tq1?t'?`IKfdu$6W@Um_TCJqud#pnA,_M+>a]>V@qie!eF7m -_2O7E(pV7,>-Sp/A[GX7oDg',*rl?a!IOq,Hk69?&)`$Ci-u6U<7")+<31KkjpDBW -XJ90P@3@uhD5-3Q/n8`U.FKp*_O+hM/o:S@!rt%*!%7oA.KX!,/i)67TIVXXg]F-# -0/E2R!%fgW!+GptfVKj.bA>(j>gWaW+pBf47O90hRk(XpkOTuT1FXM;.j/Y/e1)Cn -@Y"SQ%b#GO1c!$,6S.%ffQ*lC+&#;`7m>e)mOp#6h_@<+6<[%1f,I$D:9(@$ChFOS*"'"orX-F7Oq/9b$Qu -O`U<_9_o!eScsY5$dTq,5WfSY@mRrJ!5ZK!j*EZPhMB.X>=aQ1U$`g!()c(-!eF)X -!'UqOciemC$/ehjW*K0MLA@K\2b-S;`8GL&(D+D!2tG'%04Z^l*.)fG,bTp -E6qSdJs\!DQmdh""!D.WC6\nD.g,jo"@/X`OA'/`SP\goTd"geU+WKsIQQ\K;\.nj -!6YKFWs1hI.`B1eOm&QJHjS`&$,F?Hd"i.r/dfCo$E:$2Up>(,SuQU)VbC"iKYj0i -])6DU#&6tFm6Y@JSIBUu?o7:(-rNEp5]c*L.FWQ=FTl3^"_#t"@J2!V,/Zo9Vb2LA -2PF@n%)*X9GtT)@kp;q)NgMM,IDYE10f'.)gkA#2= -D3k';G4TU;\T!f&QmB?$o3Y::Tjj<2E],6qjQS?&d67gJ4iKW/c0N=[6s1/UF@Y%\^bflC3+]lfdNU:I"Qb%*-&9fE0;g(2-YO\>'^9en9J]s.X/;8%$H/-W -i=6E[;gb[1Cj#mU3)pt:WdgPpI6N]?!X -Ghuo.'lu;h?ZYCcq"]0%JWKU'O;Rp\[KpR`'Qg6-@:GKH5\^TJ=pXJZ$Wic/+?C)8 -8-6Us([/(@G$sb^X;i>m*!o@Z<6Q6=M?1PN(18C'BZq-`&d*[r2F-^#JCFtb:(*_t -"X'k43HpfTWWbYb$,BXLJ<%_WmK_?k#?:#N9SSrLO`3;qOD+jgi._EnJdHs0#sdDO -5hm&bE#RXI)WBfY60BX^nU$0C-_l.83Q<+KL&o,D?""oc5Y__(NXA%-"i,cqTOXE? -ln<'r9?0YkWfeUS-;jeC\p;S_;mT\,gei*gd! -QVt(cTVS=?nYGEf%<'Uj!5h[,UJnsWRID4t=8SVtBIO[7:r6V6X^tRC,6O3Y%b6,4 -!4u3El6,$$#!f,ai0(')Q=u##$5G6'al`r& -hPK@^$8SkgW]haTk[SF,RH2$[@#eoWr!>5<.gI[T'8!$ujoq%MIi5)NPks;(0#OQt -ria=Lm:EMk#GHJbZ9'58HQF[tM?pS.nK@Ob+X@dF-l!UV(YLbcGtM0>Vj+_K(ZAUW -a]K3B!X)p3%,bA!i1L;4Sd=7j#bZPLTQl))N--(iF#^faRtP1\&hJBf\3#^$H]tsK -ago$L//t6;)l>ApW\YTs0`/.14/]XDV7>92]%b'5gPNRiU+9HV0\b'g>KsaKgUpaU -]H\D=k=h4QUPZU4ZC+I,"9Kf@)3Nen&D=Y;JHdQg!UVlslLf -EHMVfjq\,[1ihb+91-V@4NYfpc-0G?be2EKr7!j)_P+C8X9*q^p`9Su,(R`HJp8Wm -')BkZn'Cq5cku=L%@JAn,gh?hKn^b2R,s@A)icZXgP/hL3r^DZ>KM6eK]:uSK>IkG -b]MKu%_.\23!D26)mNW.ck,hnB4-Gl=c-lQMWo+>&O2rn8=AgB`FSH@$sh8OIF6l# -dJ\^MI=^%aL"P4&tgumJXcalSBQQJ!(#h5XP,X-d]qd# -*WQ<`iG8PrC(I.UolQW-2cO2tr;'pCqQ@OUHbFK&(\?,FluW] -?WZ6:D>(_aoq-=^J8o^5H',n'QGC'B^ci9k!#'N5hB?Y-Tm-;u3!01>&0O.J!7V.E -dL2^Q$\4lS^n:s`H3do+#9\Hr?An+q$M43S%fa]r?(/!klni;8&,BH -s#^L"VTk'i%NkiCGcY!u&jaEdd-,!s)MUVQYkXGP.1hD*ipg-hDAjE&a2r* -&J,f"[)cB0.&[:V23MI"=UB0$B?p$&ubDCbl?)@sC4hr^p -cis(>!'_R`#Q?(eMT0/rfc4m(L^ml:_oO#5]RaY?=L7]q#*23L(lSXXO[,R*Xc>ko -)Y"r78i.HG87Y%0r.%$KN!9=a#_ud+NH+Xn&J0Up.MRhr6QH\58Os\V`PU#1YFEi$ -$qFg$aUEhhnp.m^IoiQ$kkBE%rnf^9IQne^#5e`KE*M&FL$k^/!5N?mXQG3h;i$0\ -!6?r#6-sEi#D1mP.gnZt`#T4PW;&:%KE3Jp'*U[(2\fl^.!^KI*V^kBF`2P=\o%^Q( -9Ch_m0$?PbC)R=1\9K%,+in[CL;C0U)9`a6XJ<5_Uu3/Go6]mEcd0Pg15:ZKksI9; -K$G8d+g>u(c[h!l),>5eV_\Nu`:ZC?'E$`HcP32@/BOhM7Z`7Yn2?'7^'6:letP%6kC?#"X9mo(PfJRkEBGW/aYX]FN.IK -A\!P&R:Y'J6^1oF`_W,epE6+DM:b)hLm;R3)Ij[.=e]ba#2-osS0o-`E?&@@`c12) -ck(%4J5N1S!JWTg$kgHC82CJBNmUEnDMEE:jn&s\[nU(kq)IPa`cX#uH&c$Rk.Bd3 -E&uc!UAqhkA"45iiIHk2Ln`8%/<%IpbK:6g-Sd@H@V7b\LCI?]&qt!1?5]^D30#3k -?!uL?%6]6U0+5XqW%&)T5`^G9gfo+YL -R5Kb@-u6^^!H4"uplGY=!6-`%>gG5% -^\@F=Juf&55nVRu1'ENkj2ZM%oR`XC:(3]/7sX'1b(`a)#%/9JHD^>[W'd'^>XQP( -:$'2MW)!an&q`pD2#FK/>4tlMs(9WH)a]@!$DGC"LJ[[a_t\Kg+nS'VOU[Nq#IFoh -:e(\_'JTYs^qp3.$PA>&8I:J4-6f[B"9InAL-VI@!enj-+ZVfD -eUiQK5mT1N+]:U;JabE#!C.J*+N+Y?+Gp?>0OOuKHp%MGnfpEPN"\He9F>/Y.:p;l -'&[:n#_4rZ_n[B)_3bji5c>$AO@08g#eC,g*"Cs[du]K`-j$'5,%_+s!TO0$!)^m# -^_lM^!!IZe""-,<@/^-.pj@T(niZsaoUJ:]>_)opcpA!k#P1h\Plq$L5klH(kXc2X -2,Zb+kT0iaHkQR#:8G^n5!GpH*J23+6R;f\7joYcSbPs&T&S?emX-:lJ?_^\<@ao1 -[[0ng@7l-:1H.T/4V1Fjmf@/&T>aLi+8?KOOUrh3FDYZcUcPm`oTc-.S/=@,/O]^= -:Bhr#K?468b#:p:TW8qE? -+T`KO#n:pY2O"^R.o@VL4[#7?rmt>s?C6rqBEnjC2C@MCS?7?7;Xrri0AC0<'FKJb -`NU>8:g=SMn4sDLUalVa:_nZ`-O\*JYV;&W:%1=O5f=Wj@ZI=L -H/]&9EP!ZAkkG\=3X)lU'-&,[WmJniUR$*&fusJHn.krIpb[s#4jgDiM7nJ31aR"l=64A8eDHMB]4l$Y5>Lqj%RRg:0* -'nlI](P>7)%,o8>#6=H'6caER+j`-!5h6eR0ObCIW%+#CO*PY--d%P`^1DKhQ<(PuSt-2nJaW"D+&IBe!e]hJ+`o=?a(c=j?qUf7 -#U"d(qbE;igissXiLLdBC*)oDE68_15Z"Ag6PJg=DW`F>-t\\bk1b"4@E(?0H)fY. -8-V`Z+p9TS'>euhV+sQ4lURN^K%mBbHjStiIM'(VT)&ciiAH7_;$2!=g=:'`m@F4F -&@bc]$_#]uC`nq_62)UU0SU11LeEVI[js:m%Ci:iB\em%1UgPKQ?'-Fc?[Glk5=tE -F625P_3@N%5kHFUYa^YmfOr:aX>g88hpXpm-k!j^('P80j)rZA#@Rrs7a3I0q\MB] -I06g!?I2`Jco"agZ+3&7@1:sVBC)2@\jCVNJa5FXX;FZ?Wg-L/5u3-5L\)A5H55>" -i$nfdX<7O?Jec(_=:P=!3/Gp*,=P-8'dDuM$_`4U`X']fUF4IuWOOWIFllX-` -!KRi8!J_fM!@(uO!DuTe".)INX1!P1J59$YrVT/b.]-&L1l9&3Ig6ZY'R2h=KLfr$ -43'gP[o)ZD_!N+d+s=rZ"0;Vj9Ed[d#!cu05^W]eC%jUX2'>Hg0]TF$J`"*Y`doNN -,\t?5d#NY(;lJ-PNVL)IB_$`e3J!k8JMO;Vd]B73%B:j'OVAd$`#$8F*%OWT%KS`o -\/rL*"-2UVX[!Ia\IgL%-360)_L*]IKI74t[LHud#a.c0a:>-s&3O>8!MBf$W#gJf -*eCg/$V1X+O;3;U(+aD<6K68+&RrLX#*h7I.m,5`Zjn'BSiu.!41%5VqUq'*LQcHg -\ZA%W(o*>li"*EWO2BkfPF\jA+p/)aK(qMRl<+6t8q>8\"R$5Hi)"s6:^$h,K_S>n -\5*7M>6HnqKIE>mRd1:L."W9P!XW]Wdb5Y88X'WT'&o#okiY%[jf=:;/Hb]/<&mEP -#Y&WA7W`63Htc'/C.([DQOta<`hPo:)HlYFt9kU#?P5G:Irs*^afd -$3Q?f++dJ,!jViYC!Mc"5=_^BT'5M^r48D.GIE[).EML^S0qi_:8&jQ#3 -:&IE%0H2)iR%]@!+f(i-"Q[Y2j\BXS:42/f1nBYX[7AH"ZP)bZ+sm@Bm",cc82qIf -oUH;V*!,=^Jb-(+$9$1Okg*f6:5&A;/%*!'2P.JFXeG+"7/"r[r]_m&&m6KAlsn&g -*4u94]G&,AJ/L6:(VpMrOrQ.VW%7q1/;)jc"6`J[=AFS&"GPKEJ1tdE8-4Q3FatTW -LM-_oD%m4l&r0;)J1,Jnhue_^H\KPS"LpPp#Wo2V07m"9JjfR_=qo\8Hb;F<&I"l4[i=E7T;fH -<*`#DD*rt>8frR?9CO3eq!Z6JSMmGLObaSt;QcgCAjI8pX(g"m(`uJ^,6=c'.Vos< -PUun!%M^D[!E&8+iSW2#[dpc>6.$0Z>`QZ(epV13NAjn, -"I?SE]LpPP+:eIn%tPi3%BM78-jg#0.=dd7JkudU=_%W8"Q0Z@cp*'U56EBFQk1Q4aYKJB -*s(RH=n!IOWBlkAlOMP^ciAc")SqM=rMn\#`mq"kIAp$hWS3?3>.pt?c)TLRXBORo -UhUIV`IZbaJQj^X>:$W11lBQjo/hMQ8$01'NO7H2Zm7?7Y4s;pp_3es0*=Ht!?a6% -E"R_5O+TtRJNt]:-l1Arl.`1b'1IQT`26b43\b"]P@_rK')"_PVT=^o>k1.U0uJer -`>h21JbtS;`RPrUd$N.t5iC0<^"G?@Sq63K28a'Y!IY[ZH<&>Z*^-bWoYo"cD5s8; -PACub&G+TV4:_4\;s_G^6W0F/_`3UT9.Rid=ZIK!n+>KXp!Zg -s57Jm?tcJq_*+!5o3)6YJa#'/p'>&T%UaGj7mfra>bckd'e$BB\WQ"37Le;T%[kFS -_F.n8rN;9Mi;j@m:fR]3'aIq+*rr5]K4kMmE)(p[:Bfqa"n6=.+D_:E!!ecKWklbI,:j2m^ -Go/8[226J.`@t*@Qp-,c'EZo-JUea!AMZPNVUJAnUoI,iYs&W$)Sn]P -!F-H"X\pW08M(jaeZeHj!]X-5^7V-I=AU[[5L04YX8d(e\jg\%H -cD!%mfSL^X7_E^c-dg3!1i?"#qo`LbAgK -$%dNEJd<428/-Ti'eG.QLiHE)75X:uK8?O\jR@jQqRES`Kkfh*6:;;NmM;TZ,SZ[m -P[Ltg&rH^:Oc-;gZB7U5:)2[ba/uG9[%TJ<9UB_>4#8Iu/^]5`DkmUT@LT#%'k["76?%h\TK]kRM!'Nm:.l9O`al>i(+Yt^G -ak?d+4,up;KXtdG34Q)%&H6Y&p>'T2hHJLemG?`<%cD4GhsN(u>6P/QT!@;C\aEed -mUkX"NOBL;[k9#kDSG<%c+9d2>65'X!FR5UW"fB$.fiHr/ntFU(aT2j,Y>A5>\g!J -XiT:hkhN7a>eSAq6K'cbgKb97aHlkKH5"Lbe,`Fb*&8;7FEq72*2/jXQG$La3V#&F.sDs`8Ha"29R0lo!!o/W"BOqsZG(DCB*F%8$--TH18D4,e1+a]SO,2*_& -r::F[F,Y6MHIQA`WpV"j@BLQ0L)bb&*UXI`!2(Qhp]gp%>_"e=L9L^`\9!03F,.7* -#JMSPW.1]nHj:JiLE8XcQs3-tg4JKQ4%Qj6_WV'KNWX5gaY6SBYYeP:>Zf?]#&"2F -D(Gmf-O*sfN3HUgJ6djW$O%YC!8p>!\.F:s0`a6f>JWd>:t0+RK&gV`P$@`Tiep)h -VW"PZAD(FmM$0grh[[q/;q:U)+RLCQcCDXr*3%,6LOB9o5(i&fGQ)"RGY%TH8d(MQ -KO9B7kCmJL2YXc**3%27r3$0;8N0c$BP.nXG7jpn>`R-jnDr-CcB)Y!&In\O2ij1g -$DGK-gsr'\!AG7>^__R;+Uu41dNB`b1u!QUTn)s%!;IH5=:]sbegtJGJL_*RDl"^m -eq"@/NG&q*(_I3R'=aYOGrH5Al-mlrIfm2B"0b8uBL^c"29bhA?&`(?jlh$*P"WQN -e]OD5L_CDW&C1UkJab5kYUos]#Qq;$J7(m#a9@7<;?0Nk"^hIe?rI%r;hY2T"UIhQ -:ecU&#)"rr!-gMUn-FX@,jC!gf%QlMp.">Acj7Lb6:.CE8/";CZi+Rk?&Al+s#D%H -,_6+)LQHkA.+i)llTse=M5_^@U,&i%\%P)r1RW'`roV -K+X(HBF0B(Pm4W2ViZ30ci==$.AqE18!_9.Q#QVqX1)Pq'_U22Y;C3%`6r9duB#jjL,][UUtY9kKT7SE=ZLS5/7rg'$u#5G?G;P^526MbBjE.9,#T5,D#S -<,/aj%;$;'Jd_jF3r$k8A$B*P# -J&,Q4R!]r&%>r)5n^uWO1F8+(jDpZ9[V%+[b\&_50sK/@3#dj46]oZaF/70B2;.AO -G@dE#Cj*ER[c_YBg[B>jmH4E_21Z6l,D#@"GX*(+La)Bh4FbQs%gE-0^r1%G)-FMa -c4>[o2UII@K<81\>JfoW1\stOXDU,lNW'h>S]gR#YQ"fFoDnm+:](Fp3"0Q5(^9+W -=r&7>A/5rs@<<2"_Q^OW%%t[$>6i!5EYgb<0"u6;r'MD:sEsb8h -6u]4Vse6Vu=?O0cpY^sg6r -7*u]RogVeXD';Et<-9W\d^5Ps9[a^0hU)Oe-uD8s<##9-e'u'.9iX%37J_2M/&GW$(k#&-Wj) -Y(E=_.MrWtT^Ah]UuH>?-^#T\,\hjAWSRWH#I"2T++OCeIt.e&omU7lmK%amkLnns -*_/a,FIM,ZY##2\ps9W^p+@e)@\Jm$)$Zeu?lb&3G_.;s@VEap$mWPS3tYlZ'M\`5 -fie^tKubBA'nDuY:P.Zt+q9\;cp0`&JM>(kA7?rl+le..M#?8dHKQ8P@6Lh*g021g -Q\>4kE[0ne#/M75+UT8"K7Ml:%>/jS5S+&A#.>12O`\Nn=L"YZ&>:7@Xr'uDpj=0& -*#A^nMEElC`/f:K#KDl/3=\LjA6A[l%tc"E0o9@9Q,3(I#^OeL0m(_d"gPuj%nCWl -s`e"sIYR('OtO:542SGY<")-tl3eID'i_.W& -"Q@Z340N2aVSe:D6a3YVLp*:#E4MU'rM0kSK"n3@cm_1 -(*IW+6+PPO5qEcSTXkI3fPUh#Z9JQ/c3Zid?j,G5.Y==j&clZ8#@P=e`q\@8e&h)9 -i8>Zf'Bfp*+g7%u3;a]:/u]Qc23c+k6`cHf&qOF]%)A)_#Tu5P72QdS6P'H\6-]L$ -3;9i!;T -Eb^0b]TYgXegr#n=($s'"HO:;!SG-W(GtcUcQ7I0=n=f>eGZ#'rdE-2rBR:b"/+-Z -KMY8U60MSGMi0l82W-h-5tECSZ@7a(8i%rqeK(ELIZ;bo4\2OQS56#HeK7^nC[!E& -Um/TUdi)LcWJ*.)Wnflf"b:p`[5C,Qb"\r@:1_cZ"K9idU_WSUN=q*VK224u_()8a -;As8Kd?t3:!*J\&,S@*(9cg(>/dp*BFY39NJgNl&hQ!,SXgLaROCmbd;JD,iLfUq6 -[t$e9;gY^d.Ggclk*;&dAhIe\%3c_b>O(u5Wi+XFU.qicGUU8U0e66'SB@QLF:j0NV[7BiA4DBl55=2RicEnY%6[.=j1O-U:e)*5Di$9RLBcnYF65 -U\Fg"iV!6Vf_GLljE:MhfIMKFXUX3I2dY:)7uf8_#lq1S"b9JcK0U^kblBj3co<6Q -ckmEIX@3B@4s'lG,RpG`'EtQ3HL>A2c*MlUVhV#GR]R*("M>FG6dZpk=A&p&rNQC] -4pT4WG)OVEZS!@_#=0IY"Gheq2h]?W5tP:T\`I\mGO,Y.gOTUGA1Rn7kGZ;dV%>rr -5_sCg+bQ_8%ZiY"WXUnaoY.`^.r9n@M]N6l&l'U -W+[KiUUhi\FQ;\&G`raA+@ZY+r://q+tq7_"p`m0g3?_]'/d8Q[_Wsu";Ws,K&C_U -6.e[0JKQFn^oSE(n7N7SJ38X,66Uuf.1F"F150[6'nU*E$"45UKHP:BcS-t6JAU!r -V*/J""9(Bo*Sf1u+G/,D4pRbQ-M!8cb/F@Q'B9("Mt&,>KThc3CBa_]>6Pq$5.sN' -8iE!1=q`kF7Kf[YG2:]rdJ=9TROa9.>D$j/mO -=9=%a'`jt,#?MW0gWc@/pC?6h4-+K"o>T^Ncq'8d6/A$8fH5_7H?=`U/dOCrqLf@] --;M3p50Rd8.^Q_8DbStJ=+3Pk8R<9%clio$0F`iQ5U+,p*=uZO&-oGt#fCmo"Q=Kc -"Q'Ot>$*]f1TK9l[36iU>a_+ZSPWYG6V7emUfR&XoikHL'L>Pki1\LlJT3M!J:P0K -THn95&-P+A\)$?Xm!8XTkfj:PIfn[%,6H5JFTKs?ngP,RFL -#Z--*L@3^4DG%u(G>4>/Lb'[eeHmKPG7(L*.^9;Yd-$0ZkO!^iOLbWAB+)Xk/#o%( -OKT)6dXQocf?2JKitVtjT*[p@GA=Re0^:t7H?T`&"q)b0nAc"aisbF^$%uJL,]+'R -AJ#=(ZNEh+94C`$irsC[#&u"&0e!>^/JA^H'2*;s8PHP0lqc"q1m(+hWD=.(2\Ro! -'bOL^;)ge@JG=Y6\7s*qd7k@57e1!k]dW4S5ZA(5dKH5i&'rN4?p"ud&-JU9b=00mU\%J&!;benWFI! -4:n1n"2P9aJF3M)lj[>P%:HmO+MJ1J,RQem!e?.4^a]QH=p!Ve"J@FOX>!n@-7d[;E!*6r/p>:g7.W4pY1 -nc^.R4MZnk`rlY.3X*b2d"6m"J2AGm4TD>="K(lZ/Kuh0&adcU7IZO1p;G]lJu60)9IJ:;G;O9jd'$)!Xl@&+,PTF0m'1;KQ( -@$CqiL^8b9#G^3DWtp:4JG6jD#p><9i1(+hOYQoiJ0tC'TS<_[KPSA`c_-R11O9>U -Il%.]cX]cT%C./=Z31fcd@a*!A'>/k*!bDX#b['f$aL&rS-f7@$6Z,K!2^-39TPi/ -%D`)Ii<0d$,SFNJ!b"2+5U[@5A-/H8'`]]u!B^FW3YHrm&n(nFJH?;=8e'^i"e`@5 -+E@hiXpCsG$6Z>UF;m!a/d^I.2*d=T+Fm9`5!ima6UqA=^mY[24qOCn&:mRj_+Y\3 -Jf#Xl'7i+QmT2^G+:.C/#I%8]jFSN6^'8:.#a9(G@$jO_Tn3=(J/hr**,iM97J7b;!Zf+i!+EMX^^(go4oq?>%6uNT5\pQ'C]rZeI@s." -9cT_RhbFmG:']fRJf9+A(:O\"n=YFA!*0EIp'YJ)$p`;FJC*sshXb-bbqGFjlh9ja -dUJ77NeTLuJ;!F9cjLu]"PC4HG.GksYLU%qd:0=?rd/5Q31O!)Zlk/U/3PO9P?"f?37cOMPP;Nt(0@BGQ;70VV#pOUNjo0SIGY*%L_rAu(a4>/iI>qMGSS"6'u<-9Tg055((rn-!N.OO!6>Is,RK!G -!hacATI^8K#QtnI,KALA._>jq]%p7=@)?=sCfn[#@9\trR1`'2CjO.gK#hbcaR#+/ -=;iiIRdnC`nLO)7X1AU5@_:QYOgOgB.uK@MRtM4-E8pB4?r;B)5[$K>d4+*+$YG'U -C^3CR6pOm+m0]R)DU./t3="7@b-[.I1oAj?Bi^W/:s*p9>\jCh$S=Wn@-5t3qUFn1 -eSSL?kT!CI#r,9H$F#pN;!^PJBej(`$\5Yn@*/n.a:5r=%CB:Kf[:5%a$]J/$M-=Q -`%'@g.KoP9J(%F)!58iV]F?7n$c'=]TV`&]Uu`u*e,[[SJD^mph@4`S%/D5k+NHe1 -^c@&a!ts,`Yiu(m>RA3RPX*9Jps]bGjp_=S%fiO=!;Hg"p^mL2&HP3$!CR`S,Su$+ -!9'Xj^^qF#ZiL37)o*"(fmk#EH5`KO!k5&e=t-%du:_i)0ol -1ji);;BTKTQ-oqmP.NuG;aBPZ5s?/f;B!=b)POX-+i'Omr#>Hd)kjbB!O`mH'H.cm -(Vs8V@9=.M1_Nn+]D!Zf<`a:_d030@pg[$#jS`sF;-@Inb!<*@^cE%93Ym:>!F_Zo -+iYS=!Zp&u,R+#cTEH=0JcW]<&V)hQ@'Tq9Ye*/f#QS*7p!tq9^/uW@Vb'EUO-"kA -kb=.8ITr^Xql>3nWOhu/],S5k>J%L/^UoRCMkV\ZkeghtT7P`G]fXi!HeZ56H9^.9 -@jA5`gY':;n%RQJ]u,RiFkd3N1f+K?^I&;1aY.3:IqDq!#aSqug[W%++2Q_V13VCN -;RLBM3taY%_AifuS2\@@1pgc^4r'"]#r_PHHo5+a_u)U7**L7uA\ss.:_lj54BbN' -C9EJdnBlOh.:`uIHm([Y^s;)!"'_Ijo@^0RGm!CJ-I$aMAnef)aTbi -_3Pn1$l>U,!?joDi#!$`e,eLW$@jB/J:I]OJAFKSMPl74+?jXY0jqKSX0:MPTOck\ -CV.G9$32C[+YWq*0H7e1)r-X-WJHqrB-\L&*oI#>jpE/6>Bms9"CTe:0ldJ6e(=j] -^+7Y]>\p837=kg0K,\LY:.Qg#.YiTS;*`A3'p\]`Q1*Yqg7"VV=@*md1W4 -#eqqbkgH,'59OVEN_Term40"GKc"ceVQp;!g7?92=,QE>Vcc?s6jkuDM>3i!_!DQ( -l3d,JV%pl/%5mS'qp^s2P$pcK[!0.`o@KljB)1XgeJ^=FKdC)W.)upru!JCQk -KG7g!'O`[$i@kle`Y&:b&)e0C+UdKtKRoM[S=m[Z+I^d+f6#U$*;=XFRE>Rl;^e?\uc -5k5R3C'm7A)B`'!+j9uGbT4J5*Pq.DJa_t_WNP3C&R[L/5ahjaQMmRLp@5\4h3&!) -QMhq^$p[Pr0?as.\e?5^!hi:'J0Gb;KE8oAZ%6!ii%Pe[!X$7>-Qps@[<9!?*54Y9 -;'W\N^k5FW!)G6SbK0b<4bO;R4[:Z%p]:C*Lr:K7=G+s%oPsu&NA+:*C(XVm6c_Tm -W2;Ei%*!oCPdXmSR*LUH3qRb>KrH&n5D=O -5qm*k#=:+t-O7MmPV!5/nC06(6P/lK&&YXT7hJ.o$r7L)&Mf0l2%%d;WeXH/e@%ec -ZrJ)71":+^a"cY)+%S-QLEK-N'T45&Z"e$ZXPq6F*\,=BDPtT31p7"h%/W`#[1LQJ -)9`a,CGF$h,gS8@1:5XXc*G:D2GNe-j#TpK[-%Y"nTr_(8qFAKZ)_^-lTA"N,nE)b -'K$On;06pq85ZaR+%\ijd^Lg-lV+#n#I8s.[SjK/7nM4<'hqS*oi4pN.H.U$X+qFK -BeBUQoiG*hJ^@dE14jbr&raa/5!P9^Yt/C+VEr]5*CkV_GVDXuqu@hZciAJ8^^9@P -J4GHt"Id<>,$P\qaXTCU,Ik5t$UOPo*nN+@H5Hm=GZH/M+ZR7s"Cl]M&.^$?3^T"F -d4/6"AU0FCR3qtEE#ep-d!,P6M["J-8"o&G*d2heF+@m`\cNhJTEo9L?n$h4!(dni6Gi1+S6HFri#bdV:)?`=@7eo56"'cT*.qiT5l(L;4%YMRjMYFWT5U[n> -TP4gC!6,nj!Lr7["Ekje!V"%3kb92IJ-X3C!Z_K\&o8^<#p]rm,7$ss6QrsK)M_aO -F*ED6#[SUYiWCeUL]MaK_$;-h?[5YAWkt*CD#e%O=-pFe15*O^oFR'.pc^m'5k+nB -K;9ku61mVP!Y5h%Qp`qi6Kj^N#s9e_*-5AtErq(-&6Ssd!?[U=H*>"Cfn7Vt7M5i` -?rI(0To*,[#,-9L(^-Nd9F\`H/*[QA+%'WM"/,+O&:2's=;Q\-Dhf>j/Q_6=Kn3>U -#VIqc"e`.@i%TS1!X[P9E=="CY]UGL>UtM;daCEX/q2&%(d(W&rrHLYI\=4gKRf-r -_PgE@JVZ"7&D[^]gb02"]KM%CoaKf\1ksAu2oDl4(II=[$%XcQ"7Uc4JPiKu!7WPc --u:+r@#PY:6p1d:nf4C.F:NlI#DZ.F*Q,NF&-;\nLe+6YK1K\`+[@G*jI?dVE(c3& -81TF&ar+[(FGc2W4@cpT+Tki"';7fhMa2#/#$;uc@rr%edGP'2K5$JO5]m'he2;cL -eegZ"@1'eh.g2eM&qTg;#O#hBTKmo:&uHO3@-/BhE*S\0*$YT"1t"Zl6jS>R=9Yqr -"2p:`&gF\`$GhNP`YbWgig`IDYne<&j?pFr?j"q6V2#/j^>$*HZ93Pna"gp2oa -!B:ht^r3t)YTaRO3":\k9Edj5]`J9)@Xuj`1OrTQ)W2lVN1'Al^js$3TMA8`TdUtL -#[fDqX="-9>S*hN2G2I5-\A"])M'#F&<=8#!C9U?5Z#j3;qSsJJ-%n>BET?NL]\,: -2DJFOOUJst/j'JYnc[upA"oo,Li[bQFTWebi\4d'W-m/TLHtJL<2,c!;[2MB/X\D1% -HKM^K[6s+kD'c)p[\hMWX&3X!Ffi(fZIrFYB5DF]\$jlMg=s5ZD_9ASI0\sHJm4'8 -TYN.,!5-grMj[["D.pK37d+,>T65%:ekSegZ)&_B>EflS]GFK8h2BC"mks+<']h.s -d]SfIO?$+gQKb8G7%%u!BYN`-0OH@+H11.b^Xrbk,HES'%2!/%7?+.jC]B$+((S-) -6O@/u.>2Z?P>%q&(k^U'PH-k\_UsVT@QZ<#DaC;j*5Hf@']:68N*luI`omLDUX/uO9*A[h -d.SDD*,T# -DiAnF?7!kp^plZ_7V6$0W&%8a?ttn -lb18fqr^@#Jp(T-/r+E#mmG`3%q:J>MD:8##"[kX".494U"hfH)2,5@1jX[Ll8l^W -lPq$0E/X3`0>u4+'-Y^VLHe`*qtG[RO>K<1OUr]\R!B&_?nm+J5CQIciOI$B!uH&##Id>fL>pm'`rV$!I1ZS -U4TsqVAq!=JM8d20Fn:7;`MCAL!#G\BnqHDNJA[6#=*G4+EduD!f&IJJ2hJ%agqZA -MDIduSN&g!!&B.^'nUrW!Iu1'Z-<@6'8"k&JFGiS(f`!:@RC-6Z?.#kK0V>>GlS\, -#,hZZX>@auI[l=E67Wp(&?$1mZAQ`LYqlOjb4cL;(6%PC[n%ftBG#l)7Y'Dd1!!Co -n7OQ45qF..Z4i(Kl%+L=2M-H([jW;KGTJE@&hLo-/C;eGg7"YKVBt`-nk#HcKZHa)leF;&>+P(lLsN8.:"TP^P47IRmrHa:sHO -h"8Nt-C>;:ef8@47G"Hge?P0",rY)tp]Et/68-V-Xg8OSb6KUKrF -Y`/@aPjf^po+";Pn&_U0Jfkh\&3GFK3sB"!"^/Bj`%Hg!GlSD$7<")=E/"UjGCU6K -3+u`Y\3n4@boYj30,U$(-l[`!)P$\@"40tsW)G,fA;9:ML>e39Ms/?[=,\PLJ-^7O -?igO?N>/l0#NIof6K'J^)palM3/@T"6!Y?0""QBeeJdG\LY9E;' -M8^Ln,_P:kKAhK;G]A6fEJJK6LN%tQX!NPe5YXdrZq,IsO9GiO]7gMN!>%5BW"aiQ -NuX+?XT0&d6)/u3oDp/q9R*Rgfg)4G(JKaR!>NY:8`u_.rlGPH+S#ImTHG?q!h_RW -TNVPogTMa!s/nBl*\-3XJ/"[?(VeKg -'7umbU&ZN'PKhM:+4IRNKHn2S=>5Ah-%h:X!I.NIcjC!(IXhuYLZe_nlQjZ@J$Md: -e3u`ZJ.76`:'%RnK1IGD5V`EY1"05a;a'Z"JR[S9U6TA'9ho1V35\I -g/O@d;2#ipL&bTai(aF-4/M8]!fC-41A&oLL^==1k@&2K[:,1 -aCTm(AVT9U6I9l\huF#D7Z8lK.Mu-;GS,RD0`i60J\W*'[>=pDRT[%TaeIt$d7m._ -918@b8[t`fi2[H`>HXK$!\0Q=oV)GqN.f9*L(S#&ZjoNdno+dID,u`P($>^>%2Q>NNVZ -jD`-[S6(]fcNTioaE>^j/\$((jH#dGW%O!L-Pfp85T@X -;1i6]K4l3SYT-lS`IS"&O88790`b*q'%#1ENY!!,\/2P41'!+cKCB(tpe63?9SK,A -KqMlT0Od`nAHmqlL59OD-trm!"GU;oJ7)ld0O2LUeH>n\"#,pjV>#lB,(X\VXCs,: -=:t^4495FD_n\PdO@J-38Hb[q"IMf\@)rIrfI:c%K4ZSkfIG1f+C7I*!JhX_#VlE7 -0e92!!4Yh1Y[[o?!XDpnZ6]9MUt6BH.Q3qpJ@m]Z5VX5;RK=K47R[JW@IuF]'9ibG -V8Wa7Gl@^_Q(M_"NLQX\O:O3jE9/mBSu<6m\e*6cRQ?<)TDAQ8,HF[%eBppl+GpKQ -C(%Wd%A2>Md1]X`Oob^.dKKnQ"Ti%aN?k?3.);iB!a]>6+>pd85?;jM^\TOq==K)g -),e$\]Dti0YY=4)b_1&m_%82k*@ZS:.\Ss/!s?2g;tts]=TU:d!e;YMH99PW9E`$` -4-2h)c?VKL1kL662t0Uo3)9ao#R87=.A;("5Xeo^!))MM2a-Sq![O'G"NQ+; -U?Q&GC$)4E]CpnIJYdOAUJNTF(bZ"_)MC@Z!B=5:W!rs0EI`RZLQDU1L&d]9-T66f -LPT<=6s9Y"'nT<@7"okHFa8P?RY!L7!\EqqfNE`d=bd<>A*A&Brj#2!W@BT8KuaN' -a@_!(8crH5K30:JBHZ!B30?XeJLE>XfF.o0Aq3uqbBRp)G]qf-M/_=4uu_7)VZ'D4uO2U<*2q\*Q#)H$obifh+5( -QN1f-lTVZY=#(nZ#*;mdTN21d%YR)*JKQi%813`)IZYL@JZZ9lT[MNgQT;8d99FM9Uhbp^_)+4&cmLjJVYBJW#pVI#m-2F2(1]J:e1Rg8-IiS -"Q35Z85oap"U/")J;@#)YR?,cXg6kFN0#\f81%kh3(&e)!hbbo83>lt:.7prKu?0B -?t:*^A;3nbL/;?0E+0"/#DM$K"cm!A^cJD!-'GQbJ[sSm4JRU,@K:@UL>W1=j$(_G -5Z\eOg7po/G]sAE",>UcL-S]%"W+ -JEK?1M=uJ\E0'c-\NbnXJc>aV(S:n4T[aV8MlP/Y3P*47d9^*?"W(b8%V9l#'C[`/ -&2?;_7g4uVKnr>(Qq-Vho&Sh3\-3c^@L-S0.(drs`)ZjBJ-,:\PTI";!V?M1aKjVop -LcqI<-;8\L8S?2BkW4Ct:PALN"o)GXQq7FB1;#%S$Zi0dbJXII+Tq.sI.0qIOG0Vt*CZb_e08[mQlb5R -J[;5*:_eRJfJl`cLNpdnV`.%dV[&<'J1,E(!,AK(dbNEtn*BnsSV:OpSqd#fVA%gXc -pO"#H(RN&&np3FTT4b@`lM,^T56$u$l1b#QIc%?Ln,31#&**ln^hsuC%"g5r'*LTe -#Xf5X5u:IJ[EtrB$T7Fl2%.<`bW?9Od0r;Q_so9H'1@sF<>.oVp0#b`b)e;r%=;cr7m36dQN@ -m7#D0ABci,'.kG!dSt'878ibg4!$"QK!MLQc(eg\;\^lA;q!Tu9iY1.?!UL^'kLrX -eocscW&?,iHVdYiE,-WJosKKWfTlu)@G'.*O_(F?UtiEaQAW&RaHfhe>);-NMF3#l -0ouU,kXkSi+.rZ2bG)I3rdOnQp"=OpVMH"$[%r5F'oDRacXnX.0NoY/+Y^\qKB(WI -$^7Y`L3.s$:">$T3/]AF@MkObCB0*o(^:SH(b-]EO9M -@/)Vi"+\`V%HK2N^_-_M-uKCsi_V$L$\4&C2Za)$!!a&<+DZ\L9r!?P;oc\c15&b#cB)nG*F!@EpY%$H4X:b2%* -4VjCh!D$*&"9Aco"U0nQLh05Z_VQ!pq -(57mbRF.>,]d%hMhh_D5^3T@bb&TU7$]n1GrV+OY=.NH6gSe@Xa-m21@)@L*N#+9CsZ -#GAWo]`;;0_2(noiBd'k&SE3)["/dO$n;E7VR9-mT*V_R369K0-Ud16(ZP?_LuB4@tB=kYqn/:**t39U/IX/B*]q$UN-D"i4k8K)kNk!Ebj.i+ub\ -+;d)59(83H"a@Lsj>h`=jr5EcCl5GF.YFrK%\X"AKD27E!LYDAJA<$)?sX9D?muCK -0F\;]Q3,'2Aoio6\dtM"!(X!X!(4\6!7?TH!8rV=@&P?_!c(#WV#_paFOc"?e-SK5 -Sc]%:GmtA$!QP3F*R2TH&S['57i2FM@\f"ri]p%cnKfIAVE@aZ\4gU".42F'Qq_m3 -M3Gba5Z?K90OOg>G$uJ@Ha+(%<#j5[=gAPV\[\drRlVbme*7'8?^o'gc:Z -$$Y_Zhj`kWnAXrI7``#:_VYF`&TUCf -*2A`R^0]#DO"CH;c'caTB$?[42!3THR'F)5c2#O:k:H"gEG913b5XV:XRVddmX3:4 -f/2[8%@cu:HNo5J7VE5?U<8Xp^)BcUQ=FH-?EK;j_)L7a/-=mUbQ3*pgbS_W]Ausk- -f0DY,!>$jbi4'd.:j*GdQq%Kk9IY\b+rA-6'F\Dd%L&N&#sspi#set9";#Y`!Q/7K -5l;H$f!H/X:fIu+GX%)4-7];TPM8I/H2o,P\n&I1$q"U/_`*2FEpO&,sB>h7`2mFRbe@B'AuWJ2&%A/#3, -RF0.jYW#sq*s-Uj#g#mt#OkD6pJ?S"mC4r`i0)4Ve/l`J,MNAZZ>]Aj$M@lOfS<7F -n%KUXq-Q5JI;cOf^CmpOhlHJu7clftY^-gGj>%1KYYPZnL+qOFPml#J3G6U"08Gef=_r*9"s=Tu`qd^`/pX)i;iX -6#Zl+E"nrp'VPj9Ta5$K^qVMK29E-.+D.*nBEd=)#s_Ap!>Yc'&tJ47SSbs/WhLPc -h>h!@(kF6!hhddi'\!hJ-DTp#Cp1eNf5SYjNgOE-L(MZ8"b#4!2+16nA9dS -,1NK!hCJfm).J9:MKCGmHIJmCZs]g95c"p`#chBKlf"i`U,&c$\uNU]DBgDJiH,,% -EY#rN&"nRZ^jrmd$;??"=%mfNkAg`]Qiu>8"CO]Da,o*B)'LTt+`\/q)*>:$RT-ZX>WV&2iT$F`U*#OA5pT_JWip(K\F'-T[DiBS+X.MVD@'uFk*_ehe`:rGmocV_/-;WQ?s4AD&D#4snm$>i9)JO\.C1N\H&V49%,>r;F+l<6`nJ,oR+g&[mAiaGm/ih2)AEHd$A0ThsIKTX1"/%^3<<>>A -3WgKeB7NMV5V<4J@KOa@!l/a[^a]T)JccMN":'/T-mf,UI2@EV+!Qk@,6/#m^]`T0 -X2+'8?nN+$KE8oA$UN/$U$*R@!Zs&#@Ri8GZ.fY[`YSV!(?$/6@2?Xdc3hi`idcYP -/PT51n,sm&8qC[h -id(Td"[J"W5X#]%=otC$)F,2Z6,ip+`Z@AL*`)R*iVX[G#TSDU!F_!'5U$q/&-F'c -%"LYQ@"JP)JdMLDO+@->+_2>hA/:LW&9fQ*KSKZfEs+0e"K=.L=u_(a,Uk+iF_] -`#F5M)hG-p!Nm=`&/kS6!F_0n+bUY>+;[=5!hi$91:D2-3X_UH"b;iOb/[%^b7:1U -"l`Jb^gIH+:^FlM"!J8&@?jV8/Q`&E*af*l@G1^Tg)+3A(h"*]5njYKA-rT3>..CV -!aB&$2C?58"[J^j!(IF6)?YO-('#Zro]Z<.pJ4*sSY>+_#4rpERK4S#'#6+4TY(DX -\d'?a#68iMJ9;[DG4Y!55gctLTO2,sJuM)HWqbZ)RT%V0JW5V5(*&IAXTNVcn;FqTZ&Z -?)G3TX4kb!)T=NOAS6>NY'QS9qCAY!\>OZF/"26rg@7#2o<::WLH:ct]'$;DpTU*a -W`Yot!kP:ULU&n3Y<*i2qZX9/S$-$H1qP?E>9g:CGrQa3Yq`LDEmI=F`LJ,a7tRj2 -e5!r,QaJjb[9I:P]4=8CN^psm2*4UBM_k]i=pS,Ag4<9D!"p4OaoJ-XR*YQ.$D_OT -gn(3pMZF:oTN2AAgpAU0$1a)e@8[/X:g;n=)j&+NR)rTWn=m;dgm%o&eHXiP$jAmg -2lCBn1(B<_+?W#Q"(R/DL1gZ33WklQ;*[AM!([7N?3Q[/[cK#>TOfm$BG1A$'&d^0 -!H4u+=^GOZs;p=m+p+sh[m%@I9\&:@9W$(VY.Om#KWX?=g->ij]B/nRc2>O5X[b -SG`S5lr4aKBFg&UQRED1cj^!#$6Z&M#o3euf^gu_HI7m'@VuS3^'hb"&cj$j4[!q= -;.<;g0;n,B8?rMo=9sH6"G#>B5WBECH3/YD)P@ocY#fMR5$dHZ*Cf`B!"9hJC'!:. -&)]8T^m"u;OpW4m&0U`Z+^u2FA'^Ji&9fZrQSEPQ*0M+""W'F8:DI25L^W#-&cKcf -*R3(L\dlN1mel-kkd!,kjp(@'#CrHQJ=mGR\u=QP('1?EiM[WEYSi"H"sJ^;5T1F^ -?ihKX'S%YIFPm[;4qC-b$ZbWIMmru.FWXh(..HL++C9P*>.YnP#_"\jKFqTa&R_OA^o2g!eQsman*$Kt9@>#5C1(doo"Mgrp/4Em\L[7&@?HRN=6<].HJ9i35j(AaU`MZ,@ -_DSM+M7Y)b\>6Pa+'G9S@6qc0mT1F6e(5o"DBXf:_1t^X(^bdk$@-(dhCFV>dWPlX -ABj$7obIY,ChFV+P$@PL^H(oc2tT3.J(P!VEC*">S -3#qSX*MLt<)2K0G()aqo'QUJk+NpE(mKr<7#^=Pf,@Fohe7L]XO%/1"f`[=(-'670 -P)2#3A25'^TX+\*\:.Wr(666FU-po$=+o,*Y[]9)"`_)gY'3\SeOt$A_+cfF6$B%3 -.+"[;+e2/9,RXmqnTa\J0cWj+Ek>;NfdXC6mIo:gcK02)NQ/kEd-,L6*tN;B)t?:QT$qiT6dXb0)oW'q -&LtqD]Z2fP.hI"^"N))m%M:"+-ru_NBoHs1k4.^;*iHdTHll_sp4!&InbN5-VpGEl -:T)%W!hC[J&o/>WBo#RejS7pN%RMjQ,#"1CRMH3>SMj1E"Nb`k(FGdhC)u4EhLC%\ -rF]sh6_&,]U"X-]BFp1/c:(r:H(e,$h!<>(hK:pRL%GY%haam]A-3JkX -GVugU"/.,8&d=tB=L]pan5(a"+R'G?Jjl,]U&`4Gnc0ai'n_]P#PmE]*_*(@C)5`a -CeOpV\EXY9@Ydu2e.Y#k1,TKY8hO;f6.fEi'sp&YKR<.g(UOUmT:dmn'R*MXk` -%$87\,427GIpn./fI*keE"*^1J!a&80JXAV.JHRG, -0TI!ebVBP\5RrJJNrl%86iiD[+9:VT%mYY--EtE%6!-ba^r>1epA6*@YVUdE]tjcs ->S)HW64`")5E!<00*cG+*Q-)([,;53)*ApN+<5Y:5Ti&+W#?SK^_2P+"q3m2<%7$.7#/EbJ_b_Tf+eTI& -@*/e.+Z9]a1aRe4?k3:J0gu5]ZR/!IQ;LOc5cJoKd577f80_q@-H.$*L40k'85p0$ -E'oPf*\PIZ#TG"]UlSmb4f)_"$FjQO%B#@WE%"p#2=6nkVBJuE&WiIEeM -PTq3D_uYo;^cdoQqLg*;Faud/35@6.)*fle$G\&>`*aMrJ]&-*&@)X0]ZLK2ru2Pc -lVe2OFt]$])rMFVI<$(jaHtd.Zg7sOP(6cT\qdEDV]0\HIOA7bhXQmohLV@Xkp5D?mJ(8bb; -Y5nSRjW(7o.YL#ZV]c*`n8O^uAs4kd:`H1LnYOV_4I@%1mV,Y6VDR/!e2hsrC$e]p -1tJ_V/[JDkN@57DDPW6fVcuh(A#;+9Qdja(:hqY,Y-l!WfD8][C[HnZ[FW"A]-Cj& -]j7m$::Sq2T'dDZ9t#5b`RfE[Ci0,H[eCn5XNG6[6aRfdkOi+e8GOt,$$ -s*/HFj1RCKdbe3kAfK#cj'7p=nnpD/Gt0CGr3o(#oLbH-+aJk(&!_2$W"+B/3!oYe-W2Yt -#K-@<'Or*eN,d8H#>"=aA&*GA&al=4p)>'G"FB$8i\c6_eJ>qg>)?WC%%8SL-L%Ft -OH>P368^A(_BT3kJ1<"f8.6@\X9"?maOOj/HgaY$G^pCc2o$9f).4.j$;_?a6ZT;rthfnHA0R&m53%jO`\s\DB^0YdPIffS^Ci"`Q7(YV7DY -BF>]QHioAug&VFg=RS#OWfLM'2hjR,)&T#I#Tu5P!k9Zd]q:THi-#M0aE#8p0N=&4 -$oeSrl,0VrhQ',Ne&Suh!+X)`J?banHOS7.o_l)(NcBBibAddg,(bJ.s2Yi?h6>d$ -rt;TOS-d$%.DqZH+<4P(S9`2GRED&1badA3OQ"Oe;:,DYdMr#T*?`7PBJtKP,D>8h -L(Ic6Le9+H18?fH_+EE/,F]Wk*Zs@p!ti^1=B,N$9gQ9H6-0'N3&(L@0V4]tT"43Z -g$YI-n=LThS/Lr@<"'`T!?X]4"B\(q:gO=X?%jt1Kd]%"fHc&6,WW-a*T.ogH_(8" --\FAt"#rRIa?]tX*JGnOJad0)(``huFoa:?+L876iMmg47QpN`!'"g!a9Mma9..5A -J^@#C:cX5+?NjP=+i%6SdN0S%'I!hcU*:g+66ug3-3S?:,(_3_/..!E/-<=M"@tq7 -fNe[-;hZo("2len80l(QQD0e_&1PPL#V#n3.Ke$V"40jI=AT129Ehq"K5aM:fHGn" -0EC;iK('>DL_>RJG<=Ocjg3" -5(M!D"#pgD0J%c_/-8WfJl!X`(adBSc%B -W[fcP"onm^pd0N#639im.tAjr?kn8i-cXL]JQO:OPfQOC.3q_9Jf#:*#TQLaN5-&S -!B:_n0mWj4HiX7h(ZBj,)q-r$k:R2,:2K.>I-FD-l;#"VcHPTLeEfrcmnW6=:?:q? -r:/)AklDLj(N:(Z`$QR7gWXKMc\hc/18[`J+,`hg:P8GgeG`7fs%hGMYA3r-p`$Dp -MneL,1.s"A%0fW4#>a^l^\^?d+?KaG$&*HYWpk*d@!J-Ycl/+I9`_=6dl<+:Aq49$ -KqJ^*TLf.18HWW="(=rhrj-%>8d8L.h([Vu[..X\eSpbllAuciAjMnIs8q##!qYj4K!/ -&VFaJJNta1<8N26-W07XLpY&s_%%&%:-#-rdTDOU^pJn`0iS^Je03^K>SN*%6I^EQ -&hQIM;&[r\6jnuI&WKBq4\V#E9oGiCeDPpX]fX]aLK+VFcs9Dr[34":,uo"2KETF$M*$I]F9!G*0^G\R+FI#DV^k;H5?&8H-o+MA-NYJc -e#[K>^`bc^/McfU])YHWn-=[:F+>BSbk+)$>J?B,FT;\i#&jVJE****=G0c\"CNk_ -LbF=@$NZdg/E=jbX3EcUc2f)CJIM0'5S).No3$;I4[Fi?JVac=ZibgjK6n:9=JQ0b -/\_tf=CP;FA#+lQ3X3Z5J9YH)E".J6/qH8>em2np*4uAe&VF1]J@JBK\7c*LgP9_K -LNT9BBjNLJ%YnQM$4pbOL^aK;.m@J;)a10`2.3$n+p)k\JiFt_#euM6-SG(k02qqM -KE<,Z`>i=,".@44l,ap=b8e@C*9#4/S-m'C.NQpQSFdeR856q5:;J+AK/h,dU&Q)_ -RoUGXJl"5Y=@1h[/;5Vf"#\aQH^[7m+.f1l*l74biU7ihnK/na+#G:6$mqT4d2XD; -"@;%$aBSna;M?5k"3'L+BI3dhkJ9\,S_tB:J/JCg*,L8Y4ZW*b'g?NnLg"it'RG[L_0QqWA_SB'%c0-*SKcibbE'o8&-%g.dJk.?m+*N,[q1q!Y?)u!%*7F-%`W;!jF_:!'17e&Ho=CJM:>_i"Un'>(L'b -"_\^+?qLHE8V:ss")&s20I-\/'S3J1JZp3t0HgKSV1NY;jbP['RI1/H%>(Y`+$oK? -1^^17W_[u$$#M+?`#!uD+dC>6"V;%F%*OB]D1FT_LEHYR,M\&cK82PC#5\]2W*+Y, -=UN59gNY1]9Sg^\^9T>(bR1,mok4q7%qg.m*;+&Bd^K:(BnP&;!2*9)(h8d" -?^7Ri(7R'r.R -p^u1#l5$+/?DVCSU$?TZe(D?HMPCbmo@9DIC4<:"B!(?KN^%cT$%O5^0L.Z1?&GDS -#D##CWXn!Y[+?^;J66B:5(*OS&;.p4JjupVW@\\>`16?2Ls#X1lRD,<;D+c^dR>DI -?GgR8Y&&?F1<:OHN_JQa:D6D\&BeU.29VN*u%LEY!PFAd@XO'Zclr>9J?H!Q^k>cup -82%mV`$mD[;J?OY6$T57o]1DZqMoY_?#U]E/5Hd]c4Y -fNIN"?%sa4"sjq;A)W/-@4P/\J:LsZkR7UP4.7_QJpTi8hET$U1qDft0JG1A#X:D$ -;qg7BLL,M"e#@ZI]RZe34?u^].EJ?FSL,`0586(=&"p@ASK(p77YT!T+%"Rkt -XKcPT@>3B2&No5!(R:3c/'>"c&$2MKBuK7=PLWg8(M!5#!>meMJ-gpXZpW(jRan\5 -!.U[?YQo9p)":.Jcq4B?'8#jpMaWB+THaJV+p*!)!c-nL[ke*ZM1Y_`K)dV,3&&M0 -(kT7I!Dk4YlU%P[K.drg!q6kTi'IG55ql\G"q(\@^]]D3['7k.'Kj_\e+#-eFYf\, -BAcb$LcroQCk?QYLbQZ^kTb\@.0>G\JjHquotTiWnNZug^`)Ck1]uN$"^GRB>^Qe3 -PR/?:d@:Q^*T;ed3&-to:PFm4KnrBJ09t#]6:t=!s`ghYW2hD -eqD@k*[jCqLbB?+'T:5j63Z/]*Ss+?hnhtVS.t[f+nIrH=+Z5m*.V&*Xk\R(56LY' -8gl%/(a9BHOC"k4*+1=MBJK['7"[0]Kci1*+CBa$?\Y3qL7i[>lb$mOZ5H6!LCaNB -&86SbBSK>"L/;F`?tBO5rk)ls?TGS6R%d=+Gqe8GbA?HVOhp#UGau'0quW -9!7T='u?OFk^hAA!PgGnBHVtA=FqYtL(G8X&8D5*C'PjiLELSeW,[S(#_rt1J7*>N -fEI#^C:`&1J4O=,i"(P";ut'=KTIYdLd$F+4p+>)"$e;e==IIYaG=LIA'+AaF^K]6 -[Xg[aJe/NG#VH-3/VD+Z"2IQ\E(^>t)?f7uJ^@*o^`\$rMbXQS9#L@'kl4k!Q6mBO)UhF`bK+=Q7U(a5f8nKW39*E(N."!ckN.rPh:o%&7 -g'5HG^sHmU)%?eZS*fYDKu)bf38?\^(Qlo&F*TnIB1&6;l?)mY0#q&"fBmd/Sc7N% -^#JO+r8(dNPL\jhqL+t8GK8J0pjG>5?cV'spATMjY6/eSKQ%c1'npD&Y6;ZQ>-S:J -:imQ[_GH1?#XZn./uYZ3J8V0[b'YuV_\!k=&k#SJ;%poG1g(O3Z!:QO`Y"_J)TGX] -BcG)h\r)fNM53=s7rXVe,,>i,;'AFb>]D+3EdX9'8^`Qs.E^)%W#6hrOCfGd+fLJ< -Lr:Du6'qXlJA%Ppa9$a]?ifu3XqR>d\"96!l?%Q38\,"nV77XPO?i=;-A>o>Yq"-U -W,._JBp`rO;5lU$S#)g\/sF\)h%^[H'`="<9(6k!O/DS25>Xp/>r>C,FaZ8Pj(-H$<9.tJk4sH2Qc/AG:633kpb%6Zi-H2p -Fer_ielNiH92V]g31Eh1]j#M^^+:'&e8@C7j1,p+P1(7Z;hn]k^*/'+iS\l" -WCaf!Q/?kqCRaKic?Ypmg"q1Adcn'%Q\R#aRs*u+#+-<%6*.R8,Y6:(LC+;8c9Bts -)$32.UbN\r&S+^!7'ZqE"qM84Ldj=]@6h,U#\_Xo(o:-mQP,'>Li=OA_@W8*N9qK$ -%?Z@;,$C?W=eK_a`sLf-*_WL2b&We:Qd#%/_=W$R#GKuSS`\i7DA[mQLfK!P@29%Z -@i-=CLL@'*&VC*,4q%Q'fJrmnD6Pu1KE2'D&qmtPO5gA7=@E7CrdTLV5CS\N%KiBm -PSStHA4rm+K9/P^(#YKbFb#6MkQ)`[^]Jm*TE4r6ITBq4c>k:pciTaBO;)CB5[[9? -+A03J&C7+kl^\!s3.2JUoeg"Rr&cid=B"OXapq8:La# -pb`+X8TEmT6Qi\=C]R@N1nI\9Q -m/VdCCOhPK/c^^:'0p)%[@m41!AIl!_%$OQU.u7#pc]"8/0tI-X;+',BF$>TV).n` -]EnnJ"ou:P4gYP'JdcQ*6"hg)3'O(9F5\i-)=4mOgA"D"h=OFBAcRXdk!2o+Qafai.DW8cpik2 -fHnKj?519g*fND)#6u4>F&11DVf_L$`omUGUJr"g;5+uKLs$MX/6UDhHm$;!;[Qp` -Qk]C+&*]a'VS[)<$i4rlKZKPkPl)n^i12e.+?X6L+=L3XIN9ehnXabN7>G:;)J5pQ -$Xmj":[,/!!uPJU( -J\X#G!GEU0T_K3'i0arsA5`X$9J$;oZkrf4?jkn%088%+(LlG8Mih*GKj^JS,'ZY0 -@3Qo3=Gd[K&46^G\faA5?4LD*.g@]''1.[HAcV1ZK.-9uA%41U.7bA/jLP\LW&Y!r -ga*#pO;C3->Rj$K3!Z[6*eXMa&-<[tLf!RT6b$A,JSZH]J:PGP3(F8%X=Ar)^O!ci -mCfe&/Hh`2&kSm`HXO"if:.1pA$'ici8b^WG2="/d%(6tE*RqpE&@Vde/eSuGYt@u -jWZta!$g>EO"nENLB,?qUDR&r82;OqL`6s9S36obn/B+cC(#Qb/Hl,U:r-pg,A85G -,LTgj$'IPOp!frq,&;&<3s/D-5`c(1J:q<&g'`Je&;O0i-,ooq(ZV"eNd<7HT6U<_ -,LQ)mZ,?Zu&C(;d1gL+_E[a8PU_R96<=9G]'a;Cb!WqRl!H@5bX*Bg@/#,B]%QW.]o -KXBp-71js(#qoQ*ad)e6+AiC;;3RS,[h!^bC-!O3\36STA^gi%ph -'Q1I4ZNXi4O;dY,J^X>V6Ku0>Vfa&RV\2c?V@3ode8&qqnaf?2Ccme6/9jjVLcXn9 -T<`X3c.NDK7oBd8\1&KW9Da'*-4F%!YTCQgQS:;_$lGh?4H\+j-W9HI:W)t"%H?oo -+R"e"8E=$*[JXZp6A]ES&hV$mTl<$u5eJ3d&<%5fBL`@oZm:=A,XaspV[4E+,J]Cg -$j#9GDU3U,A?R`LM%@/j^t9Z[&9Ee^E,pP,KM%/>!&Qr;d!Wa1b85$U7K0'L*oI$F -Npm$1a#F)>j&?&=;1\g<#cr/X3!KZHciaG95m!_c'EN_^#_9]8GG'.`S+hF'r:IB/2E&U]&iC\/Z=c+6/2HK -g`%@I)^.BHiB.O!9FPfhgjj9sDFb0ETFSdj"!K94i$&rQX8r@("C\STJ.7\WY=TR[?jpll,=$)l\cki20< ->ikP=Y>9nG\XZ"H\01ONA&r8JmT3+Hf;EP/(7b$hTK/c36i2"otHg$.o_2*YH4/ -'iA!DZ!S7(qNm(U%>q4p@+qL*.\7e9&s7JP+V54t-4KF!N8U"l/-8\K!1BgXROP,& -WNM^?fUL!uS4iX@..Ft9g]\%@%*I)$@1*gT)8"s!`["[TpBi6iP&S/!3; -V'0HIC0IJ!@$AcS##;N71-V\;F;O18'FM^C!6,A/;@(]O.?If,P!0=)Tc>f+(#]Fb -^uc+lj:"VG%#J@&+RfmR>+OV,((.r,+QSUaZAa<_2BYo3lK0tNpl9u4'T2Ta+J9#` -TFG;C%:K;Ii;sU!e.H+;%"Tf?TY;)51'tcP&tjUbTcsZ6+qK3'%tMq.i6DZp8.%Vf -#2l]o^n(t-jp^2/%=lS1@(Zk4\dAG-$0uD>.rr+7HFMt8#!cLb+BSf_?R`d."i+jY -5\LE'Qj7#b$NQ1oi5uDU!Xta_%A:WKTWebGXs1Z7N1bQs+Ip,1^7)j_$o-BB1Obt3 -Sd7T7#U3$G^eTr*p7,Vt^TsSHmlDtlg4R4*);l2HjSBh"`Z9goh6#O_&#(/p\qpIM -!$UJF+:9,;J:E-F%AAFjJ0YnI#S[^X&Kp:h80'EYB'7JY0LEnk"hU2<*kF?ciAXD*&,q_J.NZ.HibI;&V*1[@'g+\Zj0&+#!cQ#8^IWK7X8B, -"<^&3m;5H+o)U\E8i3Gl4VWCp3o96@L5PeTl@_b7AV4Y:\>KFKD,GnEH3fOR&$ -NkAq"qVr:M9f1HseEUac*o]$,:BYpr9QgXMX$K3l:JN]APn-X_&Po4*o3c8+ij@MA -3Y:X?)"YQ>F>P*&328e!0B%unJWSbt(4g?&;+?#m6>kk[b5om>_4Z[:DA#2m&g5O( -JBpH&@onDPna?JAi+u\2;ccu,>a5t-e[Jg!b2[B>?m9>4/:-WHhXD_[>ZD1WcQ"1l -L*`fEm1.`Teb`^Vl=fRa@$Lh%Ujh`llj"$imcG5J28mT`EbIl]-)LoVeDQP@dp2Rr -A!T&`ehfp/9(1#\->$Y"#&.SU5Y7#cp0`,r02;g27LJ'Q$D=a0+L>\2E&>A5+chFQ -+HHiEJO,?G?3#]`^k)s8*esad&qDeO@9<\P\OMBT)j'L!JpaoK9#bTYsG@H,/? -mYOK!9n_:s'=r4I$R"@-*Wa[h+jq<;"rh!JA)F;@C -Tu7u0"s)oi=_]ZRF3;]MWW=9C'7_\KBPIrMNdK*(#;DYQiZ\[oaonBYKY[M8iA13p -C`6[q)K"hil8&'=)Kd9dNk0F^oE'+qqk_((+PKF^&? -(gtXc^o')icim+,(=I"1@4N.epP_[O$q^7+W8=BOBo>XN5d27C;iZ+<9#n4l(4c(8 -E@MPmcE*1X`F.;Yf_h(dpm=>_&g85-+TrT\kQ5r=u"Q&j[fV -Z-Wsgg^1NIa/sTMC\5Bo7U0pM\$J,m(sK*Iaq"L=%flA7=CM_j!"a\,-GZu"AI8tk -rWiN'%01DX!29Z_U'Eqa#=+4QTSa+"V@*CX%:IhgJC"\7KW?mJJkL#;#IQ$#BtWjp="r#j]hGTZ@OuEXb:J]qD4"dT-Y'%Z[;nXpNE( -!+O"cq?MQ?"?recA(e)%QFP9^L.0bp=29(SSk2Q%-]0!40gY1jm`Wg(h -JS*1ETGeZX.m*P]Z3i=&4!s)YU)3#A&AXk@@%4eSR-[i1Y7q.?Jm'SiMHr\J.N@5A -F`Y1uR9%:$_i5nS>HPUZ''L[@omjDe!:kn!NYPN2)jab)J]7]+`Yeap)$*h@JQ<@? --$L8m`*@Wj'`ROM"'cfp_`U<'glKP3PK2G3lE17=Q7QMldNsW+aP;PZjs.%EDoafl -?,ebEI)!k[_C9l/bZhcm]ZqkZe'&f\@\tXCjqCt]"(%H">\&3)>G]V;@dnc1aW-Yn -h##G%`[To5a1D7@4TE`\'<+6e"b<$Li(sfSh?76BGcl'!is;4fCCUbF&dG]RLf+[+ -(7&DT#N/nnV;X_)*!pi5%DYLDJG96Ip4RuO#,+Qh_+-hc?I+1I)1WPAFA]*FZlQpf -*R#SA+9Waob0-`GP1e*]EK^"7Q.GO90[B9Ea9KGncZWe -X!!p1G]=DLFXjG8"cE'E+F'3@@2lORSY5nBJGG.+q&R9nk)L'+3,-#2H6SNX5o!#BMX(eQ/;ktRkfPrA`1DpUU&Q*XTB+cU+al^\8(-mA3*figTS=IJG -NYBHrdLcb:9-oaYF&N*e^E,9S:BuO:nG+B%*R)J8//q;q_b$NJ>qQp< -AF_/\Lcc]`$%I!qq;X#&[L2OHD\5VW+MBs=[T>=>\ -QA[&VJLXhc)g^j[nR/Fu>S_[&]NaP@mIhW[a/?0BoNVGD\`*W2-`@)mT0NGLIfK`D -rW"&0KI$o@E3pgZ\fEhorj9_2.-,mAlcfFeW]E&L2*ASIS;)5gjHFi*XDs$&julje?4^_tpKJ>YE] -!M--U"F6U^!V1Yh#MfOf_=4QbJ'_$Q4FA++6,$J'V25Nk&;(6b0F7b.O;J*dLcc3# -i8?X+K0\'I%"ggqHXGCU"c$Mg[LJ:,=V`lYAm';"Q"X=/NLsog[\^0AgGZIICg2)U -]5Uu@'u+bD2^Qdk>rO@eFBt55gN[#uQ/-am2m)7i?T5suHf)<_rG5P#fLLNViEXtk -@5p^m1uYrF*JS"tQ6S3/;\Zqciu#_P-qQ2F,9mD<%RZ+_))`k+jLI`]Q"@L$?^>:A -Fq]t[;\hB`8b3]^R:j'jJ!oLNFLCn0+":l%fBN?GF -HM7l)b#m`6R@K>eAI:/;N/#dnJogpOm3qYc-:uJm[qp#>r7Pgof@:S_t6*) -?e8`&b=Ei]U*-6H$6t?p3#&$b8o4S5f&o;9Si$FbJB%Lp?k`UG5!T51n@TEmU$,f' -p)S(\m;V%W3H_$5Jp3f/LfD#6YLZeJ^^Q',.93JWgS+;a<]1ahZ -)n?Zn!"V\0#>%0#*jBD^*B5m,n*$jgkU)FbN#%$Gd4%AeZK,-Q:'V>^&2D,5dQsZV -IYD;N^fSJ9gr&?)O5:_k2sh%tPVn4-hAnsrki<@\7Q4("SjSlj&L&uCCk3!JJq1KT -5mV]J?t`-,0jHJ!BZM+M,\rBI&iGEB#o\FE"q72+"U._]"+hp[!\i=DJO!@]Tb6Yo -G=2rBJ3!s$]H@>r>S0j.8dZ]B-\\3k())46H6N&U!MLbh5bP.pTK$D?i!q]$#R27n -O95t]&in!W"!-Y=5q")657lcI!!D#&!!2:G5R?m#J-:$*?j&KF!!=2C#QkJY%Kchn -9EJWV&HRDO#CsT3=+G:?XH5=F!91?fi.M\:2@'UT0I?r'U_JDg:'p'E,+5bdIS@;l -YEcU<"JCtl(!p("aIB[H!PB#!i>)X9=K_cm]P2niVEM^#pNVo+j,\]j4pOU]*A7P4 -$kOC47!KX__/p?E\9;2pkV*6M9GI^Red2FLK`e%\;uoik1;I#8*CuE>!&b!U6%e'N+[[GS1]>B\J"sN9@"a9&]&-LBJ#%J<2f-nJflZO;>_dC^mcH5 -I2Y.3XR=.PT2bq`/I<$M+9S9H!m=Ct#"b2=epq?BN?CIii;02O=l:)^5[+ZtPVWP` -661_=*>"rI%#IO%,+JX`%i+^kJmcJq_I,A.+Plgu&;#!*BM8_D81WA4QXrJ\0So66 -oU#-_I#iM%9?,I:"u+%8_bb(WUj+hQi7o0%#[jt>.?K.fi'kIq0e?rGp7)\"E73`1,6Ui$DukpL"Mfcb9].oh -JOrfI!MJoe>Ng23+Z0U8%fI5)Z3hsAk>rK'%c@)Q3,_V:"W/NCf+<;V$,eB9a'E3,K$18\tSJ\"nQ[F%NWIkR7-/-!.K$oKsj*0a>jJ:o9W4V -AL=*D#(u+?$W;Pb#_?2;?R$YYM;WUi"H,6pnEqiKjn+i7K!$3+<<4KImB.c52*sGn$Io1^?:](%&e+$'n+$ -KKt3*!kG?hVS(QN1M`Eln\$mD"Q?b8KNIRZ^WJJ('u6K1Z#X.D$l^HDm'+%+n;(O9 -7_gha?)UE5(4[U;QJVbe8pq'^'eLj?5J84f"3'OF;Q="3@n2RL'[3@ib'ae]:]rpO -O96Ok\,m0!eD:D^#TI7*#`DYu,Usp@NUGAn(5AKF&lMDVWA5Xb#)88-mU^C2h(fS6 -.*ChjK*/sr=TK[V1dFmbV^'OgO$%0LPg8M8+9[)!1QKfQo^jg7GD7e0EV3@Y[ -#E06S#"7*g"2WbBJ^CD*^u."V9F>eo%]RtS[,pSdA#o9o\^pWO>3m8RYkA"7fm>)Z -m!YeT+J>q?i[So**f%*ckDo;DXQ1!e2bEAtNki_5hR$"@F8b^JGeQ66 -*0ZWX(m4o>57cja_kV]hh4lfe,aA59MY%sX'qasMYS -9a5X0'R4o6UNEtb#:1mG#Jr-KW)s%e=+jrjKMXWUQn!YX.KS0=!R(7'j40NtM]W9+ -T-K1T,P+1m'>KbG5jT3$A/2q&'f`-1+p2?ndempTfJr6;3`#totf>^);1+fC`#M*0>W#i6M)tL+QK0e -bnBp@+TokS'K3U;[6LA,5gkVnLcU(u3WuYr"K5K(OBO*cB:HDQPlmHh+VG#^AUn0" -KjmQ*BFY/U$3PZ:!Oru->-k8&e01R-!P1Li=>#5n&VH$3KNM-&YYqqY?A:-l=/!cF[i"X7P!"a,R#R#he0S"[-JVX[7O;%])'S,re!<]Hk&.X6[ -%flb)(a'Efi"LZ4'`h,EYXf?C,'1A4Dl5dK#5(NDkKKp$#3(s=n98,>4Ken8`X@7hF;1PlIKZp3m3&N,R.Oa(o -Jh\DnUb3WAOH+i5$'6Gh:b%6QELs]$_'nEin;\!_B"3B!^,//6K3Q@&^m/de"P?*C3(*l<+p7@3JGl:t2eWcnR0:22k)F0;,4q9Y5n4-j"oB -M0]j_ckJAH_(H,-M\E`p;:[R-i\YVl$p+n#U=Y#s]RoW&c&Ei%?oZRkf2.8N9i*+` -@djHIfSsk&%?T9Lj')uI>RKe&$Q6"'.,hIVq(:X:TgJ;O-nEb'f*Ou%[X.gG+RfIq -bm@N+$LKj6@#MJWYKRii4L9#d,BGe090(L]e.["ij8m0n:LB@Bu"JRCN892DL:PX7J#K9!Mj[*!bBH$RL0+n>JWn+oX;mlNntB&`fTh8N -Mp)OMMj"7g*-I9DKp&.QdTJrdfenp2n/h[U*\5;f"HX&qMOt'nBE1kB'M*9oR!uaN -;Rs1+L>W1=i*Ck`>sIgPO75:6qIXBELHkor7#sjc:e.p-"rXhk -0MA0C2?LuAa%.GmNO7FRpq1\r_&8;9rhGJQ?9@QfQ/GjUkM1*`!QCsg=;Cs/1]\^TW-Cf9YR(K3BE2.J#7(Ee -#^Ck:G_aWGLXl0Te!ik3Dh'fcetbJ5RPY.T14^i.O4YO(Ce92b9Hlf6>W!%;k!j^prt#:6$a"aC.RGWUFp49A\o -J]J1LckCr>'LlM:YQtbj!"_VgDLjb^ZA`RM<87L"Dc`^>-TlCH@Wqj;L(X:+OmT!: -E)8to@jk6-LJ&JU+[J%Y:ae;F"tWbFTMV595D(?t"!KRS6cCO"+\-[la,jUTfP.8ME>]8.Gbh_$$]5J@JEJ85g2+>/Tbm -"n6%H\7mrdC'HFbAC29K?qnE26ic.4`.WeqWf*Ijd$Y0?JaFcc6SQ]N,NY/t??EVK -F1I;+/Pl;tJhVu^8=?^gR8D6S^',=?MP*3X -0@k*!>nd?j-4D:J;ICZ-__If$*'hRcK'3jLkWaUM5D9(C"TVd-?sEnd",;VRJ.QgX -GQel*J3c3!amPc>5\L9 -M(U'kMW!Ta$1UXo,LFsI8[T^7)UBR'ZFd7dLm5o1k%'E!->*1eK#Y&Ok$q7b+Wpcj -bC\V`FVp#_)7KM+*&S[o&?Rd98C?I32HVQp2((5>b08#Z1JfS43rCS>0J7l6[?W2K -W8'8?M7(F_[FqQXm^Gi6pX*[8B,a?uO=X+IBi4N^;b6J2b4lU-@4,QqZnAghqo+^5 -V;&N^&2=;!j.9c*B/-LZS'Z&B<.Y+K<(Mg0Ol.b>M>]O6)Nt0nS7PU7cK:;K0c9;1 -J[Xf\M'_SH-6.l'DUA(EgC_9L0TtrZ4PBo]"P]?bMA/+N/5]fhV< -7kEHD[fODT!h%ksJN8C"Os7t_.>bMod1/+.HDt"k&SPbZn-ap=3.Vo*a@Idc?SHNn -i>j00DZV&F%BLQ`mug?5g@mp#KG/CBp$sWO?&)#-Im.t*J",7cV -8I0,q`-jlfFT<8$#64i2!*Fc5=Q;@gJQO9M&uM^B96J&1gkj3[:!-eO>kGd=Fr)=q -*Jm!TK"M,CZSdF/s!GA2c_+o:(s+Gf0HO$boU*HCT.n+TFb`8F-5,sj!TG7ppL8>* -@.ulppJMo9O(qk)N1c`#hS41')'K&h'nTA;!mI;>jphPgC[frF:F]EFt66\o(`.c2YC\qC8\B6tpd0Z63sFOIL#Rf* -G6jE3'8Q("!!m]Nhua/H7fZX]K.mQ53$j*J-38?!!JVTWjCa#8BtK?b[MKqb/gPFp -XCpm?7kojVS2fVNYlb7F!rtXfn3Q-6@45rB#2@r=WT#3UAOuLl#4P]EQrcgA`0'R4 -=`>EE<39>2[KV.Xl#_8h]k?%$R<*dkF"f!f'o8o^7"gX2KSQu>FAmp-"bpo^#1.8A --2[uBE<%t<#;?5b1dLgIG5,@VLI]UE0Pl8)CoK+>2_[pU^e@7BNe.Sg)%U_!'bg^u -VueR2*m\`u6cJDj(c3)61bab0;i,r^?S4S$JTfT0GSl>lhpAUCk&YIt*ol(l*;6@m -BD<;ja;!VlHm]549eukuS8A9pCduQbbs2mq3bX!NX@@#=VYY'/1A>5l`Da)#9`uQ2 -7X0LbJ.P6s;?7K)1aj,mjeFeOd#AAWQ@QBDC^/[8!1](b$aJmqH9$M9AsamA_?[<0 -+]Sj43dN7^$=kko#_"KMNs=XLaQ.:s)@XUf!I2+X//Q]IK&M\#Ahk4M7RL>bgh\j? -:<-k<]iq7*V9q`=>%K[*1E0?7"+e,WE',/$mM3?VFDFj^e1%c9BYL,nVi5RS3e^39 -:W&-r34q^>'op:DnlZs06S4MFjD[&h8@n4H-Kn.71T$D]V^uRSKX+`f>[l>)G$8rA -HYoo9Q]%]h5+LPL2k!GFK'@6a:a_IJUd?BQShd&KBUA"%=#&=Fi@n@1,ofr8']3Pu -Orop^kM$f]7am.%BNt7Waoj+-"D?X,pT0pgf3A0s^^e5Q*sLW]n.:WAO8,7!sLiajpM6B&F/:(uT+g8qTO)`"NOd -P45W/b?D7n#GL@++39$.Hlkm7&:#SDP&-MqX)"N,*="?aUFV*lgp8J&J]t_ZVm>Zr -\]I_TGpEX$7$T>UdqX9>8'>:VWs5o+m'P&:b,cR7+k1fYWr_-l*=7:AQ7iDNkhZs^ -_f/:-N?L:.1'Jm?!"b4QE%4nX5Y8>-J4GI_!1q6`!.Den9LVrLeSSGjeSrpk!M.5\ -(2&pe=W@g3UC]+6#2mRA%"ggqM.9Yr4dBR2Q:7?Ug%K9VC"cUiUMJSL`NSc_EDqnDGa`H6]:!Ifd(L>j?hA9bbGM[P'l$M:=c0Kf8(Zk==i"u@rIpeWR$[i*W -a>8M.GZGXmKL#lCn1ZNn"cMBmbQEi7(u@E9j;@#JO5tQr8X&5g:.pl6).KJ9Y8N@/ -R>-!1D3j?&3_^i/0# -+Th.`&KC(]#Z9e/K(+C4j,/4=:C3K/psC8A/'nMIbr.mJIgAZAjb57K0?@hW)IV%_ -$K.R,\T$%D!76cC^cYqtZ.>ukEj6_HciB+mHRT(W*"]q['a5rT&^VX`N&"\/a?Z^V -6^T&-,")ls!G2IgR+23^<."ZXnL>l;)C'm=@K9ho-GWHJ%\PpG"[FCL6'rDlN#?G_ -\]b:k5U)aaU36V&g^>K[,Qsd)%Y`b2"$gmK:G>Q#(UY$F#maH!J^c[)e0QdN'SirKUOh.1!CYj&9Ad_"Gf+T-l.Je"p]em -]ROl<#U(HB1hB:]6GrYjO3dkk7Z[rq6:_Ol&>JUR_]Otjgo5pf@L^29.LH4[%u9[_ -"N>W7W(sF6%j2!;WPphrA(Yr)1"fV3fFJd-/.MrYZjHlXHuHg9SN-3B?d%\^0C2Z] -Vb!s&:0:1IB.P4>.[)M:5uKd5r4eK-!B^ke/@%0-'j1juFG_B'.CJ[2fWprQ9^RnH -!3GX@OAe4A3%"iMW"/pu5S8cA;T;2m/t54BMZY-, -$qBkF#/Je._iSjJ-OA]O@ut_k@ErYu/@&^.##f?b0ZlCO-sj(S"(Y5ZEBkEC-tXr* -J?'IHQ4D>&4U;?/+s_9[P'+dS8ae09-&l98bCO_\8S_c;UpmVX+`KtU_'((3H`^1& -=,RB+C0Y8h#n(3g8#bjXK;-u,J\X@#K]jEZ:hUEW?nhsR:_s9hc3comH3Af[7Y0M: -,674l&AWf`#S9BH"Mbuiiq*M7_865n#kS*adUnQ",!Rot3T<.q%1`FA4<97/(P"VS -$,@r:".0f5@42KdYZ:qD?mGgSQ@%?_AAS(qZ0"0`R<)\Kc2!tlk1o9mF2!(KH3ZRr ->lUMi*f8;@1uDLrd]CgS -qp"JUGHr)=bRL"eEftjW\otgT,ls9+#3ZU>54Gib6G@sZU(@h@0b=RX3/Rfi,XqgN -(ZL*=L'+.cQ\[)B*.m)s$['Y+7emAHqlV%G`C(gMn9bkb?qC^`Uah-"7N99B*>(+V -;87*A.DVmZ'`_33qeZNb`8DIGILnf"BB8,?-oqP9Z,c\>gZT\E5']T,[$QQ=,+bK4 -HE`D]H4RYuU4bAhn!gP1:X/Z`s.TBl*O:=%V@(2%B`t-&4ot0Ij$[7j'4RaE$@u.X -JPm4j-l#P]'gY4h_*Se`,a8!Pc`lJr]na= -5Xrg[7Qmq]%=gtY:GN;Ikl%I_$]0'8894(6gBWi6#3=eLUj35c"GAHk#)6S-rlu+!$UVEME7Nk-4HP> -%"P>]5c+g;=pT*9&d\j:@&a_[5S!lR!s(4p7m,9eZJi&X7&d%#+:K)Q/ce6l%KIO[ -+JJpFU]s(8#&\UmMeW?PH3>`r"R5t8l/J:KlCRF,kbYGSJ3'=G*bsp3![+LpJC"g7 -4qBpt"(<)^!%\fPFqjEE'd6Z\JQEqsI*dEe"(<5\04(U8TTCN(q9V`N@#tp,WYXM: -(?*13iPa,PfbC.G(o^K_NAO')nepP-!K)mDn'Z/?IKeYUq%5"`.Yn]\KE8o@*+rBT -U"D\?mj#eT+!:V,/N=elE2XqU=!;%?JKPGq6k4aUXoO(_!e^b&U-B#Zc0HXnA99<" -Lb4UV3Ilhj9Y^pDkUqte$O]#+<.49E>]&qD_MBBToBp&kBf%,aYb^n:iR -Sd-BA#86a$db?c+`[O63Y=u%CMa&jnQj(@G/`Of'!fSdj1HIQ46TlL28E1'"j*WQBc&ie:To[:u=9JC9&t:*1jKKhK?W,D!u;_9*[Or"l"C(SNeh_)Ms5*Y3e4![,,] -TI:)]=p!Vf0X\S6[D+EG_-D-%>d_ISouUJSc!<3[?$4t/%)Bpe^r?c_9FKd["[K%":q[I& -Ve?RoqQOd]Bd"uST'YX8:+)o5Q6QSL(l0ilL)(!k[dJM9k@1mpA-W8enA5@%P@l_9 -C>d$Ni6r.Nf$FELn5c8Qi4o_P((&o"$-;B;.T(,-aU57-M/[eI?ttPLol%;sFLOh` -pG[3G;LN2u&D#rc"tX@1W9XTO/PWbd[1M&ONH]L^Om%7ID2NYXj=N(q&L?Xhd('OH -(6E^[(:R@jpJlMtqX6\&"i,Zt:GN;cli]19+O*Llo["8E/e_c/&s78H!5&Hm\;sD\ -!g+LL#g?mGBm,0k:P+!i`5@'Mi=M*/GmDQ48DeJIhg.iD@t9pUi'n0l+p1+R=!:t& -@A)VriE0OfXC7=oJX#p'[LStI"Q7"2^ls&h[ZHC'$Sitdi\g6_OcVO?7p:>&_*I$Lnpfe -O3^W/.\[8*RL;%_r]nkN:L#jg!hdL['!UD0i0a/0Ir%[a$D37C1_!!2U7JX-=fQ4_O2$5Y2j-nY`ah?^os"X'^Q_+"LB7&rVNdt-U.9f7u" -1u\!o-UH/\J^PJ;&fUs_(u\'g_+6iLm0l6k1?7j,H!on&J->0j.TQBNkG6[:I4RX: -#kRHi/S9=]#`UCs0,#_#o.&'BT$MHG4Y%=#1ho,17Ke63*+1\5dBSPRA=gS"Lu:u_ -!mV!oG.@U+#Qb.=dkutI=9U#u"Ns]7?q^]R75+^+Q2ifGJ8,2EC'al0#iMuki33T^ -:((ID"Q6t6!4i=6\8m,$GJd*?IgcFP^TZKeUh00>'^ -."_08H(Ccem=#Q04fh4="%4tu9#hV;$>TVITT>unP/[Kf#sa^_"'ieFjeuSSW1`UX -T^f!<;@T;6WO*Sc1a'n^I6uu,56J\))R$1l:-T.:Z9VGO1iYPi,sB/B893m`3IhA8 -XpVtH5pLgfoDB!?9F)R#8&G;,_SjRF-Sk#q43L9t>-Y,T"9f2`44J2Mg+)CIUQKHn -$PsKiZYl&eGbUnUVQ.YaR5@pG21e=f)B]_4+Z9D\2&1Y`9qZ/iK\]Jc_Zr%AOr$G; -kbkjJB=<$I[[1Z&pHo4U?adRkBH(h@-pr4G^-$*M6tGHd7!T?5J[ob'C!cg<@!W*O -C>Al%#sdn]_!2UV1)'bT!MPetJ/0&SZ2l,S)o*"(_7fpN^)N^V)kjbB+h/KL%NFBN -!5Zo)<5bk\K34W=9DeXb%5d$AK[G@`!26t@TFMg4=ofdM&`=E;!6bKEbQiYJ#FVu* -]J!Rg0uJAr_n7eCr&M\84iBHS`-b:s+@F+!h)X1J?T2E4p3pZVZXGJo`Y]#"\lkD5 -Lkoa&qi@djcFj(fFRGG:If+V'>][p?P_VU0(-mRd.Reo&6ik,P'EQr5P!l3g7'"/b -PeiL`To]oF1(s6/%&WFu+C#0@.EQsl15&/I'@"2CFG@B'#6g5CgEg]Io[(71pdNTD#6e0j%uu/tJf*/:fLTQNf7%?i8GIX,t#=PRb^j64'L'E0U#XDo++GL(#KF"5W -#[iYrg2YdGN!7Cmfn\GVUl]fAiWghNE.(1**O4.#["H$K$3n8nQjo]R\LBf.2Sg^U -M3&SXA>=^3(gn7!;1KH2+qii&H]`;uh3J>4G'FScJ:4_!)Nf$@5*D) -r/&W?!]Uam<%8cEL*K5O-tNgB6K/R/N'8O&MFHNER'^T_)imL"&]k`97j4$ejO0GI -Y#-a&N(,#mJ@o2@)U6C1P:Z(b4YfgUF:ol.Kgd*pkl]o75b:b+e'?JWeP<&iWuMT2 -o*&s):acohA&6gc%PefX"dX.6WmE735m9T;9uc@:\j9`5CQP>g.(>)rU?R'>&29K0 -nFIVVaF$,lPtH`t=fBhg2]I[O_Vm..NZO2"j(p-TcSHAGAbp6iZrI5Cl`Tu_S`8[O -f3?3m;/RFT()[O9,8%H\?p#WkLhB!ca[?n@Zp@D&!#`T?!P=t3#M]"RrpG!BYODYo -`T6RbI3*l>RK!$_5+Or/;eQZp@Y7d>0Zlr'-86b)WY?D,Ts/VXLEY;f*=$O3GT)?G -ctFDS!MF6IL-_2?hnr!#I_h]hpgXlEXm?*,`6gCm)DiV==;sTK\7lX#;+q'/7d7R* -(;do7C`E^hTRnNq6=@/:MZe8g7i6c-L4"LVbJ,Jg03cTcT4bA0HQGEajEQ2FMEH[l@3bQ+0QYQekZ5V[@J!MhED#mqgm -0G4Kga?g@=+QtQi"&uZ_9@G`Z2c!@P"ZoQ0obC+t<:q81;cQgd='&D0KiqPYopoSr -1[o9H!OL["b0r^eg5rXfQK-9A6F(=Rq5aRAY3[?2Pm*_>'@T$%pN]Y7_XQA -qb3?pM.Oboh"N\TEntq.fl^SoPZ8$En:5S*`E.KZG@,QJomYeSUh:@7=8!#P@/'X6 -K4.kMC)RHYYlq\ -Ta9dQ"!j:J#o7-?'PX.H&a"H@-cE1Vb4Sd'r -i1$VX\aan;.iNF&*&E%`glEo-EZ;1sbjh4T43hZS52EXP6&9J#L(HjOi3Xn-j3Mdp -LL8_SEDo1CA65?c(I0u.A'ao+#A;uhrYLLPGlAeKj*=s$Qfhd3XEV(Z3.qb]#9C`1 -OG>"16gjiCp-B"?_74_;"sR`r((9/Q9K/!j)!jJ?"7Zd1&AP^Equ7o!5Wo>P6lX#l -,n,?0'STqV$UQqUH&soH^uq0i@"](J84_\AcsR@#J1CrBZk8&/('at=V#nMq>_)op -1OrlX)djq.%?M2\#/CN`j%/Bl^`Y8K0GP:r5RiP>":'Sdapp_+!](Cd&V4mhK!7uT -Y/VH>)"Z8_:L#+H:l5s!ARn;!)V#`!!mfsM(kJj -Vu[s7,R+[>3X,`FEbaQX'Eu:8$N`DmOK=`T`*g_6JB3umi&"r'W*F^?;HK&2jZF#\ -"?D0L#Sk2*#DZ]M"N!\g!l3_-!J!qR($H\@i-Z1>E)$e>q=&&7?N2^gP5Y'5*Db]HDgaIMi/?@h@&';uoik0n_"&RGUZE6SDn0QmF^fe7(QGGp;%2%ROo!(Y4()o*G3$_SUpAWW/eTQE3u -E&JHIa;>.ITFCsQ:'\u+,m=J5ZEI)X&4-P7#SjAJKE-N59+rAC'"#QFZLV@5R7B& -!X.WW[fX?O9Sn9S2s=WeTos;,&5cpAmp*a4)[C&m*ME*MQh -k![=Z;_DZUfpsk;JC,#DHajsJ(nanq%<]at$hW>bl00M/EQcH9S1srT^!-l-ii)ib[O?=Q#Ob?@S53Mn`? -W:_L6V51U`LM-c1USIpNSSU>bq!gr9k9b!@Mm*l;BH?"6GE+ok3OMb_W%@kq -inV/2E=YEoG5g1MGe[q[SNYnR(=*.lX);e$=/u"$e)2*.)aLTFZS<.FMR`tDmbTn< -q!T*\r0NQ:SjU[ZDVg(E\!oXK`6be6`o-_Do*>?G+24D^+9<=0'>SEZMQeW]Ktn<; -!uM7O?Z#3o^UY,>6r8GC5U/PHN&a2J/:rDTE<56fnpXs.I.fJQ5#=ZOTa^pSs+DTe -&@WR.-u)`/]K/'GmJqmHG5bZo3sS:[*@#q6NUa(DV!uG@^dM@rd6](.fSu,H`%$=7 -.@Xi2-#(LBW="5r(P6$LJP\''a:a-@8:^2#"\9#T87;LK@(jb<"u9A:0OK?T?^cLK -KieY8>+5YP%g-8DJi!M"(aT2r,_J&hK.8ka&5n%W;C(aBNj*^c&Ng;k!/I4UJ7rAE -Qjj1]JHHH5,PWG`BH\[3J=rtXTcd5;huj8EonQ1BW]V@:W,VeKE^LbJjS -$\HPH -J1W3P+"ODR6$OXt0IjY!97YA^76BplTQ1#dE\]I(Z>`+T_GL(U+m]GSu@2(Q1g"aQ,C5,'?E>&B!OU!721*fh6kE -IO=j)VV=EC7!Ln3TKJ+qYOJ!;\/L4F-AgA1Merd!T^776>`s"VLib@ -!r+F-TJ\An3A5&+",Jph%'qU_F1UB/%:HgL8@HYpV($0L!_g06i$Et_c7=IL0ESHZ -34KFH#;fp\[!9Q@K*i$;aUFic%)C+\Yg5#md>]QCYo"=_."W60_TJMlY6Z?S<4W-1 -cqD/#JfN2[Wlb_/r3<46-]&64\[*;[QNFB+!ht5J)6&:>@"<3(,cGr$6DML.@^ZR4 -[Ff"9YYP8/:4pV!"1Tub+>*^<'7peN!Mka,i"c@G,(X,G!b`:"?n)1:.>$Ij!n\uR -0Id-#'nS[m,S1s+3#`lR71#L-0oHoFXH$)dg^?s79i6'B.+J\dr/57D:`+d[d*`=a -J1Z#"*/GUi:bDc>/Hb2JKA]OU^eY.'#R0F0_RZEOlA.na2b$(")?>&<0EMJ5D#c=- -J2hAm0QTP\H:Anm:)%.e3B`/-GlS+q#9X#%+CTdS@>+siKb-J!BKuX_#_MOcJ>aJZ -]dH2?-c>m2d[_daXXR/U.T3r3;U$gl`@k-F0=KdI!6>St*AZ(i1Ir.mcqL+NFZ,ea -!1V*tS33FmXZ'1d2jZ>.Qk__CBuglt3=oDU0_9usbraE8ho%5+J`mo$guSXUqLu$k -LQSC?93&9/)lTua#7ptB#[dXO?\D5c"@+F;81@L)6rcZC)ZbL,naF]OG7=h83me8# -X]n_p65oa3eOeHCgUL8T\Q/T:*0!s!/RDF_@obmK4!eKKu/Fp.R*unf+92s==nA+K/c')4TPOFK]iesj-R0@G1an,d3=SSn3hfj6isk5 -!iRE]K,m?s2qgpaKocTEN+E6=H[lBKe?Xp.U0`TL!J^AAJ65GG?jZsP/qDC,%@iV6 -C;IfY^o&_KVcn7pAYu%;$H7N@TMlmBcq+F,"pR.6)GR_s]2r86V(,#`>j]h*8kB5; -:OorN"*-iI==LS."tk=i=D/j^&1Z<$1d8ub!0CB>#Qoh_Up]M6g=n1lD3hK"d.XmfGs-%#?A7 -^+099/-=Z[9`QJ2,ehIsdS'qcbSpipP.:VO.LHG="%Y8$Fs$kK/^4F=N=P+c7K+MVLj3*Ve?jHeC9>Cc%BC:"'pcf9mVRXi0&fQ -hDO@!lD',:!XE"%`3;LYW"e'4'S7_QJN+U"CqjO`)hK1G!Z3D-uR;j;;NXIkZ&RVp]1U"@fRW]Khql*=?M+I4T[SLJjoiUm4dc&0PM#XBbleE -*g::jP\DJ0Bg.fk(&VFX2%/M(@3(#lRtDNR>SkBml)(%dfu6to`Td!$Qk_kG3u6Yr5FNYsE[5C#Y\FcpeS*=[Ha9mG]+>:0 -(S8&VX2NmqDEETWM"[KB*kKo4]P7qQl^kh+(;Ee!L[-J.?UG>C\J\G6^[(=$lqYQ: -?H6k\jq0B[)qZ55clRce)Zh-/!LP0bkSAd&6idQ\KpW4$STk@cEr\1@#EbjZmC0h1 -AcQ4N-ob.XkRW=(.036n1"LIkDT;$thq1"N!W#"^P#qi];2)LcKt)/R.!"NM,hg,4 -L?N7M=D"8Z;M4\tjY//M>9.SSa.7J4]@jSp23J%a7f_I:Kt%Em\ePEk?\]h3'<@T- -J,tFXR>3b5!+9AD85DJ9s+6^t!]?0Z!/cAA('7YM"'A"mi'kT*N*BN;]Le\58\^hHNZLb9E628c;oQ52?s -`#Zm9$cs>NP6):3JcZC5E&iIT3#31=jX),iY*[0W)]!L;\!9O"7eb -MhHr-ec]]8qWUROog)5BXFW=o]_.*7opFEjfG#mBbQ.Q)l"OG)oS+qACb7]t_na/A -C=eqifn%lF*s1#QR`b^UhI&WLah$F_$K@!/jD[%p3$oL$O=%^16*cfYFmY-pb[Ug1bU7.9;!QjRh((&&Bp_.#Y$r_-9dM$5N8T#@_aR? -3r1Jk7V$JF:Z:>d&/,-O8c[40W)-tjY\iJ%FV@,N'0pem(jPMjkQZt&K`[A=J0fbK -,m&$"JnQQ`0IR"$&d"^^!<=m-^^c",7"E?H"GdG=J4osA98)d@"Ro*8W([>=%"rRd -JET=PTpgT6&q]U!JOh&;p_Eno*d5R*YDh/jQbb -6PSl9(UQu\$\!.'TYe'lQfh;3K03+dTO<:`@"t\@3Uh.^pBqL7UsX-t!'"d!TEGIl -E.B?ULNih)HX?=.2fo#NlF?OFk]?e1F9]5UL;7/H-t!0;"p@1=!15/(cW,G/?@KBM -rl=DTn*YZ)mJd^cIhnAL8+U*5R"7_pnb6meNB$2XO_R\cJ"KPeBbKa:b^Z>DC*m+sIRP<@87]"d1o;0H -KhDW5_=5*^I1MqdJG%[\!;_-E+-4bNp&"f>5JRg+2'S)QVGZ5Y#M\#8pN_:\D'2bG -.N1np"XRk^T#G-D8hAOT4dOK2[9IK+qdmY#ENqfaGA%Q?F?1D&#D9Y@jp!`$?(drd -4sg_^]3OFLa@8)LPIb80R/DtVn!_=0o@_q(F%)_Kjg)FF7\<\XenT?=]lqG)Ze+Sf ->A[C^o6_Mf7iV4C&8d3ED)V<@2^`UgjE!=dhM4=lcK]Lt]froQ4IN/PC,IHmV0\a,J6W!,7f8/C!MD57O#lG3oV"cK:(nbT#FT@1qq&65P]DA>% -BCY4Ic3*[Y`!I/u4"p)SJ.lLhGA/^K7 -&S;=bF(sW]J1&S**RjQ'5o^j%)88^oA?_F.$)#?r%9aO4UM8H5Xg)VFbUsoj -1@2_)"X9&P&r`Tq69>_Yq#EhcUe)mBP!kBi8.u6&9IuL-_C>Lkd.+`0jI((1K'4JC,YFQdjEf2&sZ0"F;GpqL`3Y[O/On -le:-9U.94Vj8bc@kQYpli$j[cJRqCE$]eb17OEiD]7(_*63r/h#pMop+UCa9G2aY` -%LS#GiG_s7K`OG/aP6dop(#ea^bQ>i*7luoh]2U`d,*R88^?$PY9jg65n?uHFa\1: -fCbJD4:Qpnk<747*RAa8"(9s#&-S[\9GN8K)@jLeJfg@%H-PPoT8$d)@Mjgu^&uC2 -IMbf0"BTLjIWmsM2fOEk-]/Xm>[U_PL&lc9pr`M1l1lT\:T>7[r)dV2M!t6n^_"fl -i!_-q+E(A1E;30b0o4 -4:5Lf.0KqKp0;hjKeY.iKlXoN"7W,gU6&d`iIX!%dQJYrI/_4Ga8q&=dfDg,>QFkC -,='n?$m:cfKHOG0!iROTJYWn_JGKNRi04):I_[ -N*mJWL(&qS!)QUM5W0a;!$Vg00GFYt&.l\91k`[*+3g2,&RY<&H,0(2K36/,i^"oJ -&M`gp,K9]ro.0WJY9t6K:,OS"Mbie_[m"\6*:7n -\hY9t_FQ46nid:d"!*#I!tGpU!QO[s*6A2,!"nEY!!)dhPXVfSQFfbT)K[#C!-jNS -!]gOa!ue3g9*J-;'qOBsVp=S#;qck"l4ladPocXKRZ14F78'W12Q0TtV,QZM;6#mf -X&YUhI-.Ic21Q\i,"?4^'<^"*7n[2>bA-> -YI4AD=;q*L%4-]f[L0ej'08D[X`fBER"8AV%q+b#M6b0DQW]D\9L7Ye&$7js[OXaC -Bjs%s%:-#oTFs/9cl!K?A/'`U&T$g9['KDTZ^K9c?OQMX0Qu*&RMLHl/\*.: -,7't'(k[1eH8+J#_q"N/K#!Zl5o=Q4!`W?S&Sb>NP!Gi\)['>,'K*jS',A`e6O(=s -)M4>+$7tRH?J>NS0Yu`Q!:pR(0K^JHEl#,-'`MSSr&Xm$ll"_8B+#7t/-LbK&coKT -L;9)_6;AW+nd$_$9UD'!JBS%H0Q;P^^capoou61;4,[oS*^KdM#N369ck(.)$m@7E -6mZ"eAT4f5Yjtl=!2sH:97`Bia]WC:B@],Bn5gOi3-T`gY,0d_X#?fS/ldBT"pLF& -@4NY8]G^kb's)tb0a;J')h_$k&M`KI$ileNL#>]B6J*]H5bKW\i)UL(n3@39`.M3h -A$krpQ(T9/(Bb;:$Na.N"]nBiCG6PcJ@8/3md$^2.]rR/^n\,-,WdD^&qc"aLl*h\YIM: -LVYYpndq//k/]c5>\F`=B5PM$,NNkfNYMW*N<&"t+5K[]o7_RNeXiJ]RITi*lS -OLuArmo9c-LaL%GKb5;;1Y,@5I`//W'4EgE$"7iS_n`u#r$24Io>3/pkee7t/.IR, -W\m8eh&HLJQ0j-E0_J8AiAg1OEUj#%U%"PWkSSsTU(1[jEL[*MB_)3KcPQH:ju*3) -fLVb0((&pg#K+&K"T^_*!oRr4!D$E++H/Pm:c^$p&/,mJHj'uQYIUra6lTMRD$ke; -.Dr)'%Y8.'Kn,a&JoF*_+VDNn-nH"D+B+:4D<2DTAHRFHk3&9.IEo=o9*(:MnB]eq -0ERhUKV(j.SOf.JB<%UIe-(QO+4k#uI)u&>';+SI1IR$F$E8^bk$Xe?+V`IEl`C_H:HdB$i/eB*mQ$ -^kUTW/-V].#gIPI!.rPZFD$]T3Pu7Jb8@M$pod!n$kWF$&HLu>5e06D&51<\&GZig -o"5P>&FffS9r'*;A.O2S%mb:=!HLEl*r9?%`U2G%TE61.huI3DojO@'AseZH_%I># -'sSgtORtKQ.1p@.]rQi&"@!HuRhok,(X[:=nUhS(LDUE#0]RhuC@!T((i[Zh(pT\M -;5"hhUDf8m)UY?47Eu/=A-_&("b=)n?q_(s1'>?H(SE)kJ\D-c^BQ$p:Ed([?mlaT -p]LTh$gi]@@$V%J?jBQ6)R95ZkN<:bQ48Bh6"+.&6!tSg'H,s5*O4=]%H\V'Foh\g -!T>dE5X5i3M@205+0kf4ON%O(Sd;RK$6W:Si=lBF&f>!r(e1\Q!fe;Z"s)[*!Cll77m\*p^"ZE -#bZehM5gegD^s2%..[s#El0C_TeQ'U0f'n#o*d9;C^0t""Q8,Ni%>`&]E'1g*FK3p -AFCiVADP)a!+G%HiRf#u&fH6=!auuR^c2Yg0Ec%%2S__'F)a*u?T40q2Nr&<1NbV] -+pA5nHA31g@tN`2K*r6^eHPq[-3kdt9+4:=#/V)-i+jEBFpK3s#Ri7tj]2WW7PG$l -4"[5/:'ou"$iq.j -@eXp+#inRo#eZ_iRl -fS)RiI0[uDPFDpOB+$)-Ei6^"a10VhZT.4)Y9Nh$TR^s;jp,AnBE2_pVmpt(/9GM[ -XTe?(L"ldn+p:CU"UH=q'XKi1?ASs.3\GaYa8UVISr74U#W+qSaHo?&>$sTs3[4iJ -5_=kG4p^)*#f)%Q85(`$QA%/!l*OW!i-ot$l3PZ6lX6+E!1[t8K+H%TLh5.nY%[fp -n9sN?T1@NW!+t;bQ@dE?hku^/-h*(::5jt`N5lcp#9F$4rjT9@rGFha+Ii_YgILFe -"dH+\#N.t5r%#Rd!J&T0``*Y&//2e2(a5IO@@eCQ'H3qf)g.\u_5nP?()e?P!MP;a -TI(D)/1Z@?"i,.j+O1V83"hp:!b$[!TGe`BdK%,4!t5T&J][td -a;E!sHT$_[b,JHQ\F,S\(L!J,tF!"A]jI4iJ%*l%n" -_;Ge*9#fU6/\JSh)'9E65Ha/@Y4m$kPtYI*2!ESTfrKC -5RUsF$ZorLZtX@mf54RCD)U9gQJl]3j)11GDV!of(@%r>[W?37Xf!/@ncH_'=Z\0b -#L&27:tfN3a99;s$n[!$^p(kPU-\u."lmJR")om>oH6cm2i@,9X!_jc[<-N"FN -K/Ib+m1CRj2j"qrpJ5pI_`^82"lORMJF42G,SlM5*X8PaN?6MKX<6L&"Mre3?jn#T -NBmRZ_I09bG>!6[!1Y9a0Il]KnSU1mA:ANFHe214d2RBja*X/NI(*5h,DR-\"W;?l -]D#f_fAh7Fja?ggI[BMP@iQWlJd)4($t)sA+US?<#Sb'2'VUBc!Jh_'%NKR3+6ka' -Tk"3j@V$\iPlT*<^ne<'o7#=PH<2TtJC,Z/'-8;p)1WJ?F;]YJj;`[W*+=p0ToKk< --l$/%"/-25A5@i&3j+&L4AaWSKG5$WN(+S`*MMNo60'!#&0&HM!Pt!8J1_RF!;QVr -"otU*-_L\V'JG(@MpssYfX6V^H&I2oMqGVQ6[sN/[rp;.Mn%Z'f\/9oeW!\mN;1YX -"*oeaZ4%jX$iqUU_'0_(+;eOs!?nuV@FCljlqZM_!^Uu@?pkQ9a9eN$#*eN[i.6mO -(R(2hN0s!k!-5@(pI%#/PPEgjR73@.s3^O6GRJ=^iJ$lL^E!?$,i>A2kN<"R)6gC#Kd-6,AB;; -`lJ_:B^k!e;nY9!`ej&?4VoI,2>%]aKJo[c1$Z7MCa+skre-.8;O;N86HI=gp -OR`.?S*M8;L@Yqro2=(@9up=/B@NK8WtpU9+E]H3l-Q%mZKg&D,ObM9=kF)eM)Kb(HE^ps,MDW4$mqDa].!H"it#(R`]"kjfqGLZ%sef -=h]T:;LP"Z6kdYY^nX+1(^tF?%lf5?JN\`r<`ELG\=m./JQl5b7M;@L&qL)d_#Oq; -8.BT!$%Q%_@!i-nGR'mH#@QZs5i`YF.MX,>!C=D*J^ZHlkBLQm8-,dliMm^0(`/l8 -"(=Y1TO\V,c3Zb]J?F\:5h3Y8e%gdtrAH%>!ma;Wg0JB]8+4o-.-\N4e:V/Ukes-K -@!XKSWdenqJgcpWJ>*2iTFHE<%7(C)+USsW+r-fM!?nG/f8*O@Y0l4n!+G.5TF)^J -P:cm8+^pr]:U$V1iW):(8$H4u!V<*Ag1p+Z*hhEj+l40R"rkB:!C8[Q+=%=Qouie` -bIWPS*5B^&^!*"abe2!?gsaLX)fLKfDpZ-$(d'^R&-g_rH!jqa+KP`3WIuI/%q[4" -T\9NVf7tKc$HYsJ!*TZ^*'"D2Y8nZ;QU,d7jfKOPX[5O)nX\+/M06@+Fr`HgrBeSB -?mU>J"lOK6_!&e3?6(-o*AV4IkoII;<2:]$83tB:^_.Qe;AP -+BP^!2mU>`ES-U8HlY#s(KK/%Vpo"OfODf:pXP:SDgepm0mDU1rPR@Fa4e5MgfNs< -@+#29c4Sts&]&&\_.4FV*#Y/r*;CN!+i"m:+;Y1[:`r.92^=sNcetA86fasIjrt5) -I#u06)#tL;5R&6VQ:DD+a/5BFi7A"6kM5[3#)T6uH[$1]1(qEd!MP^5g-@(QkT6G? -!9)'=i#!BkEWVqT&KjOT+LVIs[BHMWGtHuY#eG:SHChis#>9F,re'D>Q07"m#CJD@ -S2?`7VlH>Bl3@X]!rqIjW!C&Ik['?(i62A?b8c'e)1WbGJ]7]k`Z;i%*R,[gJufd( -,T#)Vp\u5%$VOdkfl5lYa^8k(6U3YW4nNRDnT+!C1(%K$g -#Jbor^jljO@LU'm"G%K+TkG=:*Z;I'*,o6h>_jFe[K.P[(k<_GTh5CF9FlYC&"o^% -^o&ZtD+Nicrbd1U_h7_kL7QV=s,MP6%J<6UiCqAY"fCaY][Wubd5j"SE/gQ_,%:eZ -PR4"o"Q6d]@+l$^8dp]:$WHI"bUj9X'KB7eh*+;;lr!.VjoE2[;2*>+%EiXn_G<\YDM7AGq%"8Y/'O1Bf/APd5CD&8[s -UTs=,?nr@O7)>PKCbcn<:1nXA%/a'R'T@c6&YR?Z8#4Q^<8(nIQVjY[WYIS&L; -$H6I8n8c?-YthBAgGP;EA@5S-G+3'Wh/TmYmMAN]f(!siL?nskn>'#5(srT+nbF[H -;T0:UUs_FhK97&]7\XlfUA,_Pc%C;beZ:GB%-VeZ/)Y57,S>rMFA[`7A$E#a2Ock; -B5b35DYIAkcMr1*hf*h14uWk3`T5Nk_X1q<;C<-7ZJok!?`kgDME5$H#btKPk6jC0 -Yu%TU6LAqZT"_C4YN?Ym^1,tAS'BjWrr'UXHaja':30gq29g)JqQ"MWVWp3Qu&RQiK.dt"i:86'oCrF -:+hOb(tq7X`!In&&s=Cb6A*2nlk#200M4)-_+:LK"i:gi(^@gd@`gRepfnl$i:-SM -J]70O!1ud>!.H#_!W%nQ.,l(jJ1%n[!?Hq,$?6p`Z&he:Ka@5u%jO4I2c1g%(-,6d -jW5Vo+e"Nb`Qg"gn@Rs6@NPiKk`d?L,/C?3N8lV94&mMr<\[UKLnH.%Jf'4_#9h;& -(W()10H2FW+BBYCJM\A/R9qPN98D=-[@-:1'8?G0r-t!(%5[9lsFr\QUnLUhGX#L`?UBY^.,k@L-3\MIB>U15*O^lk'`5 -8I.oj7%$LP'L_^K:6OPW.S#,%E<6X]j+'TX7q1h(-]"I8L`H[C`eYRg_5MAo#3"K` -*H:pP&]J^Z#\k8l>!F=/npInsb]96*0?s)NkTM,`Fn7E%o\1n42e/a2RIKDS)!Y(YB3-!6_ -a1D$X#GH5_L%'s:_`2'6@?`[)OPV!FR!B/bo=5+a]H2e-:`"cj+V4^2%#P(="9o.k -!98oaYC\_m5X=-@+@oT?:c]`:3$f!8==Ag[?4S4G4,Q<8EPqm5#l+HFjm4QiV\I0""WX9g"q7bI"GMYj"+i*PL.KE(UMO^*aM8\s -!+$2Q==abEBG:W4+9mLD`W;hLI`PO[6ALX)*^alLXq2^1`CLg\!Vd94i2R2PU:,a_ -g&H\k&.YQg`L(]U>>2SZm1l_?R.(#fK9uZsM5'"Gfe&uWllH8^NCbQ5e-C)iPX"mQ8>b2c#NWBQ -!moLF5kp]`TKltGO;9`E8-L"e@XjF2j>DHQee_^R?4!hc-Nf_X%Ugb""L),=_0P_X -a,h'gYZY"f[8mJHL9Xc?_c:H]/OQpj(KS,K$e1P"#5,r2"5!AZ.d/Dci.)@pQ>XkG -i#MoqbS!s,=Tt;Y3!`p)+Na,9'`h-/$\4m%[?/HJ5q$BO_43>bE6&?<&6]5\?mgQ4 -*",`%/llu/2hVa>$:9ha"JLW3Jfs+r_"`Bk?uSOmTe?/ZJ;FB&+@+\.AfO/d,n+3a -'a6je$N`jbPH?Y\8VhUg!QZu"m6D\F+C5U)pdtmdW%!GY:_uKl+V%s8%>_8["[s?k -(SbLD%?]oU8$)a*'"08sOuc+i\,d[k5]I,b0IXg]-k)q+TRsV$#[-,__?BcJSs"n, -Uq9,T#[mk$YYBmgcla]9pCUKN8BjfB(:uh.RYJ6 -/9h]B!'m>Fn/'Xe85.\;S?N!8&*1=nP/.>t"6K:i*H4c%DPe50).tJ]U7c;+g*JEV -"VHtMa-].ak!GuiqOTLcH4_c@bb]:m)T41]&@(7Zq7+6'%*28-.OE=DYm_aAMkL0/ -(saQp^h;I>UJW1#4=AYf+fu*Ke\u=M3Qjj(bo2$Ii(F1@,Jo`5!T,D?6dC2 -J2,V3J?[H:+Q-4T+L3,S88_F9bWKbsl+'.Kk6ThW"@56mh`*eT[Z%T0;/L9Sr(@ljDpR1;5,+R^A%#^U=G -o1Qdl"q^X=h4V3^c3\]ik9DlRh",mpV1F/ -4h#h4^>]2[:"eq4ca@o`'H>H?B3\k`^\?V5h)GPI'L>Pk%:G8T#]MgJKeO5Ud\('0 -Bb3AA)"&H\#^W]-pcXCG"2 -.bTHA/#/O+Jid8SC_]9i-c2)a_2DP"1<0HY-3L%g#.Oej\`eg:l(qU[,+*;!0Q2[@ -EuR)7"7QhRkUurr/hYX&TZb)-fc#GB-FHe;">F5l<&(T2Ud$h^L4BI4J6DrG=bNFX -KU=_"0K9,Q(]n-dTdmR'Z.R"2^r3TSTA3$Y'MY)+9Z4S?`7.Q$1f;4[;+4G^P137G -,ZMa1;+1I(!iQldQoop:49Y-^K]l_BJ6kS+CS'O8T"/L0!.9Q0!XDh1!2*GH^_-aZ -+T[rQ]hk#cPMo!J\Al`p7c[6o\/bU[*!+\2VP4_)dLuZ*9?0_FP0b0jgYi1U\AnRh -!U(I'fJrsl3/'=#Kecd8i,jK'FGH4aLR^URR!/NAG6Wj*L59"5?s3\p#_\9rJB0SL -#S7%KRK52gJL_NG:t3SeRE3heaX!%#1m(?4O%BJ78CK`&'"EM'aFU*?JFb)!S%&da -^T7\RX;KM2ZofmY.AHSmK?+UV_FOf722+-Y8m#!q-jkYV:&r((KJ3o>.3AY63!/:p -JNtb>#V!Nm.PEbA]MM0A+BSfY4g0BF][1&:G[Q6l?_btPb'6f1-qAp:&-L)8K-@lp -S/3?t^B+*H!UM=!+=JH/1BZPH"40ShfLQ/G$\\:V!16f@i!4toJVJDhJ1tuS;0tYU -d)6@?_?bl3U$@EC!=-,P(LTsfQq`1R&#Bj'!>*"#:_,XeSrFBi0VG/Tkh$J,m#=OJ -Yko]f]=CMOjGS9,af?hInEg6MQ`H!Y8!k8)TGk):R829!N1'X'QllE#; -r;gU.Z`+':FTF6:2,F/S:[J<^2$pXWQoB@aN#7p9d-"6-&C=,U&"O,gI1?f?%o=1Q -X(;i=9bC3,s+,/p$&'%sZeI*qm6eZ7JS69t^at%-/(+DJJrg_!J0lQC]`K)pX.cFK -kbO.S)NAtb!GESY&.X?qA@>aj(V"kn!.?m6H3\N[L9M&?YZHD.=+j*t]d%QM]f1Sg -34C:s2`NG!80^'!4HuZV:u\N*aK>r]'HbsH%!X"Kcn'di0`q\8K.o'5-o?QA1__o* -Q"Vm2fId5m`Ab/<$6q#2OSOHs6\2`_JZ'T?80%a;'*8.qJET&u?j['>E.D&0LM-dF -BR0Y$H6ac`#n*#Rk^7mlI&J04#=&?G7*Z#SFT.:=(QO+F`gc>G1V^tf9L[6V0ggbI$ng+ -Y_0QV'2_Pq';X)UbW%c^8ueXRMo]m7TM1'!htq*L'kfi=?.]EDAKR$pDP^)Dt3e);H -%ACh5R[1`5!OCOK=l"VDEX>!b\(T$3>G\UZ[C4i,%m\h$5jA9e-lTo1#i!&(gWdRi -28\-;_H^*YNLA_+@`X/V/HmO1"X%O[88:jIM$BUV#,"\@^eIob0`jZ8,iBaWh6gL! -eD*dK>?MapP/Dn:aVtLWf[+4u*AH2ib_VaZKpW/MO@FcQ7N7^R&s+S0Fk.]!U(uqF -)KjKGBKh.:bXaU+#\'E]87DRD@Kc`?K_Rc_#X8D&'E\UcJTrAu]67OIa^7\aS=C0u -FhnPNpV!-nMT@)pBI'\31B\g2"=*5d0P(5lANoU-`Z[:P,(9cqF9!G)KieZc<#UC& -)kAZ%0s'_K:&.'ip'oRE@($C_JJWmW&.s1*>QCS3o6&uuliEso!RM\b^cVW/4,'mF -"fsC!WIDBHC5;UI#@M.o-t\0H"GLMWJ8do/!""8X)h>^D%*g2X"t'i1-fUF?ihe,5 -[OJGBT`I^#Ph6h5O;"m$%p-T:8^bF++q$_F1BB0bOpF=d#Z!nY?,@FpLGP@/OE+Aj -b6FVB!16m@832oK3eM7ehoJE?a@\?]@0^`Q#Bg.#W-HskMcLl"L;Y90\6YR`:4rYX -K*W-Br&e4dhRiG,,7lS\0JJ.s%g3KM"V\u^)FXj8bm(;M*cQ''BEru\5Su=;*bSJ>PmAXe&Qu'Fm&NAeaX#Sk'Trtd'ro.g!BRlofp6+VPCY?3 -d"MIVK1]"T;!:p?*=WJ)ka:QtM!0SMkXL>@ED;NQM%DO.%??H*2N2>#OO3EUkpD=% -oaYZ\MJ3QWkr+^h5*BUaQ"cPMNK_'4;&GFdf:2H:>4TS6]"!p_9i?G6dYQM,(`%]4 -.te?`?-n,-8hX1U,mM=gM%--K;d6"l%%>D@V@F_NB-kXYu -K/k'-"pTc]b6FMCiR.'q^h<^EBE`&UKk9GL(aclg'=I>d5Ril>Kp*Klfk=[An##pL -[ca=##4HDtVbNZ![?U."qX/U&>ru?*9YN+"73@^"'Q2(DlQO(i^o?nY,e`g1;EiQrFsE -DKcugpDIuV)Y+C\ne:(i4&bT3;Zd@h"kX'6h.-aqAO?HGYQlW_g$50/=,2[*LI()- -qE5##4td0kUuIcL/tm;9/C@4\BWd]KI20.!)ej4Ld"iLc1CCK3W/@IF20#4M_Lp$5X"?jF]um*AjjpK:UHL'B,,K]iesk!0$B]2Cm?C&]?6 -ZX4%b4#JWV"V;%F%B5)f5)0l-sL6b?-qk@IpF>&_l4HNt?a=r0!0:c2c -JVY;o=*d20.Y@"Hnl@UM-]9OPK*)B2JNtdgU\hGkLXGD;hK1\dNa65[NJDHQLN$sX -+DHP>",46W!*Dhq0F3:b)uuoWf:s[*ij1J[P"mpp:G-97>hX`7lE[\jn1.DbB9!&< -kCj0L"U)>hmTG:H0o'sUFd)CI:j!g]B(/ns!5M:@:e679%KoS7KM!eLLhm&VCbOs" -LL*,:LgC5*$j=Q.g'.(lGc#F')JdIN7)[VB3R_YHie+0TEist8G -j8'pTN9$O(]]QM3Ik[1/8PkiZ>P2\h@mA+EbBVF)r!bMaON#M[H(o6#SSD*T=C1^Zqo![\Lu>[A`c$,b_a!+[o) -gMSqHS`]Bh]&7LO48p$4M9"TGGhfGl0:gAOF#mS*T1>m4lZRTf^;k<&h=,Xd?10.r -bN&2?I3--f\(0p?Hi@@oVo.onqt*5VOO*Clr]e4)6kHDm:i%&)O>pqW#&)q+#=8H] -*sk7fS1P)c&>V/k_f3g[&&Zd'3t]?GfO,\WiAeJ:"/Hf2$5DVF)Ia[/0u/6g#O=(f -*oI@mG(>?^a9*Do!$5L05iE>+"[\qI)[=-;()]EC,TIc=iQASM#@Z,m02&VK[4FTU -'L=6D'0Of$9p89*29jU/iAo0SXQ;N=PJ$QNc]c(3/H\AeOK9<(9TpI- -*Du+Wa;Rni2%rX2eBKL8H#s7AGam -C`NaHaE]GoTtIXK>HjC.);;Q:\U!"tV<*$\(VTKg?^K%7IG`Ze!J0/#bS>,&Tu==? ->uJV7"C=&?"c6WSSh5i[(oB0Kj*8j0O5nn'4-AQg&83,\@N\o!$:.L]3s6e%2@G^; -n/bo)+Bb@WaG6u&HQJgll?WG#U#l@sB)iE\).6m;>(T2:-k-f!GXaUu6"#mSanA]7 -P%7\u//^"TK$LY*X!6-"m(4BK[qpVUjg/e)B'c\f$SYoo#!7F][k-KW>SaCJlG+0P ->LqbFUU:<]Z1*,Ze\Z?27aJP^S(?!)nLHf`\a6r*cbT12-R$QIq_(7[Ea,ie]ClUC -/^JFmYA;C"9*Xsnn!f?n]a+X@Hn9r&^uc.;6s)-3'Hj)9>CknHQj+F_kRML$^_tqC -+.hP4If#_Ygi.f,$)RkE7:7NDOFZj*/d2=/RMH3=&6p=^iKP4aJ!AcXs1sjo$XfVZ -#Ojo!KbtR>6L4sc\'?hN=9KXS_uUAaLcl@856->?DLd;L1I,?m(4]4aM'+u-6\m6& -!FQauE0Lc_83I/bmBK#Xmf4,B=p4q8=bpL$"@]!2!DMh]N\Tl#8$Y33YZtm+JRen; -Llhd+5WF?icn@P@7qPLGSV!FJ.%5( -+9mLDJHNah3_(r7n8$@o'("JAp2+)$9Ci&k?WTE%0M;402Wa8c_o]E!]Ua8htX -;ZMqR*'eag#G>$<++qcAJD@,h+G*Vq?qq$O:bDp3&/#%@8d>@[*L+Uoo)Z'T#:3b# -QCsLM7O5j0Eoi.r'J=AFaI]M*m-0JGb2^`*8!C^sh[3LU6H1LoiC&#m]6 -J.V8k:R.H0!JU]2'FYdecj5OhSh,Uu$Q3H=!fgD-AfA3MJ?U=e -BDT6'U88,<]H>M)PncZ:Q3/=3"q.;s15=-])agP*%]"V:BfPP]A%mJSJ-%nUr;SOZ -b"5N(B_TR"!?Yh4!0<8`!66M&!#\sRRQW!C[+.CDtAO%1:TQgtK$GZr4n0J4c\l[*P;X96+0Q4/Z-j+Ls -%dX9)#9_PF,sZ*LM_hE=(%'%DLBn9'['g+1L_54m5@qY'Q^4;/'fUlk$,JkTXh]VT -97T*+!=a+VPuYpalEJoXKb(Um^=h6[Bl37F\[JK:^&p:T@DRaa"i0alJcP'd^n@kN -THJ98cjW!=nFds>!.RpW#X#mVo,L"`E=EI;1e#J;(F!Z?$*a7BKBR0c6,rU1!:+t6 -Lg.S]BHi(/i"*YS4p_4r,I5[h(I9`Z%02>CLG1t5K30<,6%fi)!3QW[YZqE!E&*+Y -ar<]5D%.cs/s1[Y'EWe_$6_fr"i/B>_]WFtG^q0EE-UX&'<#k8bSC9lC^P`d3s=L* -3e>Z?.mT2u*5E\<(X_5*J/J!W1s[LI>aolAG#?BafDlFj`W1c2ciA\`=oa+e+Fn-W -$/eK*!`1QWXWSgS5^H_eHHVe!L2Y@?]/jREl^[RTH-[As46PDlTq*^b#Y]@TKb??;/L!/Z'P9Ql&GZd[La&CeZFbG"0O*>8_@A`>Fn5g5f,^ -X%DZKRC0K?RXbimP>&36$c3)E#gsP8;.o#(kdKR-5n"P4*A7=f6o]1Pm4pA[a0g(s -g"Q>bOfnBh\Q:hQ#P!O;c54BCLC[*1*@u,<[%s(0$K1hTLN2/q -a11:SjBRJ'EXkdY<lPq!8n?sCRpj*SR?qZDkJ2I='diKVCG`Mh149og.*Q\;) -%.G)iKkM/8Jh88R#-J]W86#oQ]H4@qFhIMl->m]/7tS2WjIJqUF\U,e3-qV[V0do8 -0)!5LG4ab9n1"SS^U(FO+Pbal*(!8K[2'GaB54>alg>@j\&WMkH`OGk:!(bJ2V$D! -Qn32sc+>rb/E&^4B(JHf]2_F^h!GQDoGu2g\0,&D]g+>n%MZ)JT'YD4@rlYj],Cbo -EXG+J5m78h.=sg\*'j"5&g1RQMVog3L.D^j.1C5l=iU1`*;geO49^]6F9DckBG*r@ -2/^3_%`+$+`lgHFZ2Na^;O.+bn%^N_@,08MT@XlHHijiS833@WkT3FeE=AKY)'NGj -@:Bkb3"hnN"T[fq!,)_tL^,&W#Jb3^TPt+.DZ$@]r8>YX+Z]]+2B'@D)PPd`@FcKP -5+HG^V*WrSJ0#MeQk;U!77aWhkNiHX[L(ko$)V)?Tf`D83Yqc=(BKb7_7$.*aoK9$ -#dB?qa>t96M?0E.pq^./5qIQ%r!^A5%"P2Y5b^gn&fR0Md$,F=Z^q>W"$D)f\*'aoP-n_@4n9`)oHg5Q+MkV78"s+r?K5cnk^^_=+65rM/ -*7+9d6SpTT12)7%#U,EE^c2p[:5_k>>@j$'Ni'QV=:!ih"X'uVME6>4efFeq*XFBr -Jb'dSMH\CD2(ap5Hq9;3?_$l]42!F\/#^`j3FHifsi"s>H$+@H;3 -7]I^RcD'Hu>`Yo(nc3OE% -#U#!1^l/RBPR0UI,N+dm@$`*'N!LPZ#XEV>TR*fWE'[lH"iA;'TN*)>&d/Rt"7"G> -b=s?79d]EI+mSb)$&Z*"W3Y>FY$arNnIPm:o)d35(\47Kntde`W@B1_\#/3j7a)*f ->R+#o%DbR;!D"-E)B-H3!?oJG@H/;#TH1f^*Pn`X6)k`o<#;6##9c\O@$2+0i!U[c -%'opCEs02Wh_:_20^Ip,^h*el\-Spe$@p2#TYq>U5Rr>T"(;TO+=n/a*!8JF&-+m) -i8t08j:3rX%R?m$5irM`jpa+O$Su/s5`uErQQr022?JUAo5Y22W!\\?#U2oZO -\sZrH,R-q9c6uq.Zsbe-@:^d$oI3:NX[f[p8(;dmFCndNF%DN@,F!gP1k=Yi%,'.$ -7n*,;Ku?WkMVdY)@MFqrFFQr#N)?CXYS;lu"s6E9\P#oD9_?S(1s8U1p0'kW@:[A_ -7*+CfZV?\79bctj2"=@`mn^=_9dH;:TN2A5!":"@"9@j&J2.a'?ijbC).4F%FW_Pf -PQBa+)'BtI6 -n%_]$D\-k8IlM&gE[N;<+BiY0*D?H\#JbWjooo^sR98Bp;I<.MT]A"(<5]+@ZkA_?HUJ#s`A7/d#H,,XFlX::=\#`1@4, -?3bHe#O)!o#LjJ[p`+kU!!2RF@J&(7BREV:N1gZ1@'`ZpQ6`,N:bCUnDHR/$]FfZP -&V5!"!NQ=kU`Q01*i+$N`+g8MNecS.'4=EEb)J=6/ -#4-2PTT&.9X::gn%=pPAiA_^j()aU)FLV933!FY[e,Z2l)ot,X?lBi4#Qd:!$(s%" -^cDWa9EVBC[.8GDZ36F;W2`_aCkfo:B'E=$OXShB5K_Ft13[r*N0T&!dBWQ[\7>`( -rj-WUoZHm2F+[aEe5?9i#ITQt5_]PPN!S@&,X@Y%!0.@.N!M\.!T8b>+E@`QJ-KD5 -=SS^Q+CG=;@[>qG2IJep@rX]MDNuu'ZLWJ6Kg@+P;RBs4%dAHj1&CRBP>t`PIFc;r -q"'OV34Gd+D8:/qi,/s2:(/9a"4qoL(usu'gX/P_'T\CRLbLa%#dh5!6Pc(GRbkO -O5R/L@&sV6X9l[E$,FH?[WW.:HY#K>!b"h?!#udCN"s/s!s(e&^cE+%+9iu1&R^V2 -@13O[$kArBSA:^(Z:cDd1^_$u$D>\_lo#:QYR9IW#G@LgTU6,& -6jo\6!l6&t^_RcqhB+J[U$J\.3[K:p.$@NB49J1k^^_-r-ima)%0.L[.7TQ/%tsQg -Uq0F!qGj?F=f"/`V0ZFE3ann3?Qdi96'NF0F>%A-#)#((UorGZNX+g=P7'UNeK1@u=XSTS(m@FNa -,"iX3X#.(R"g^fhYtC7[:*d)>ABV)9q5`RI@HJD3QFU0[dBD:6Ye(LN]+_FFr]p`/ -:'.o,oWCK'_6I2rZ(!JQHSr,+2LgHTh11+ii4P!X1(Ad5"9A?4!'1_N+9TG$&g0FP -!?qXi+:mC$&&?a!i6k2IW8*D8hA\LbF]`U_W,bnL#Go]OE_hNWNX;G`M%u*WVTS=7 -:KM#HEUL@*b,JTqC'LLV\Nkj,5a'%CTF-%j2k[.@i2aN+VSiJ-.c?_N^lMX<*peq- -oZk&9.]BA#TEa/e,N,1PTTf`!2-GH\8;A,UY@&TX03LPi,_2B$4/!rr(os/XR)6E< -G.AlW7LD69^jq?Y`YNH0cX8D7>]1*j#6[q`Ea4-X#N1[Oi.MKrlj/..&AWl/_%[)> -'G97o&]#^p!@/;*KuefmaFPWmi=+iKp'q'j%D]OY!4^gQV6_Mc<"3XK"c`iGNWm4U -J7,bK^toWq3Y7BV&[?Ooi?)t4>tt]>^7!7$_Qm -L9_*cX9B`Fd1C;6P#*^).TP$Q0![2H@5s,`%3Y;C!q"GOBVn%=$iW(.] -)h8,3JVjHDMA/;i'L:LV!8[s2.L36g+>RiB$G6M&7DF*#GL6Mi6b@Ud9E_hj@lF)k -+@lq=a:O#2'`D&MM9m;'!dj[]*tUsaSL8EnlO5g(1De=LTJR:8L^I`g7P:s+i,f/' -E+P]:=e1'2=p8;+ -"^k.0^eh=/V0@gFPlm5&b,Ztg7&rYiX,1WqMc&7jB[<8fPqmBeEVh1%faj,hD2"Ik -WsApX?0]&5#0#+`V9#k^YQj]Nn_V&tdU37DpEdfu!ap'H(k*aGL'9hu#s_/j@&*oj -V?rnZ$,D,pJ:n,W0F"1L!oR)^?n__63WffC2YV>K>cF'Ck -\30f6h_k!I2_$fbDkbG[^gI@sU]nQ,%DZ'TTb7Mp&en_K'Oc:j@5Zg'StV$NQ\)!2]R% -WXIbGk%#TK#-/$0RUCl6li?p4!$B^:9d0K9J(&-(l@i!03LS1To@b2hO$BJgBsa=WZ2D,nT87V`c6ZG)+Ll@RMn1p -ZkpNYZipCp:XgZm6I9g3'1>]>4W>Ze -:1S]33E%Gt*D9@S)+@I\jYot6<%A$@NL;U -jm46;@[6(.%)XL91udOr1Q;h\jsi-F34eY/P=doA],A/PTsMHqZc+i&[G -L\8HC-j=(!U_SagQrYVm@8NfTM;hoF,m`IKMpM^fSY@(E!PKoD;EIZMD*m51=s8e) -5cchrK1RI#&k3EP@%H3ngjXbYlBM5tlOi7[*bL3DBU-B$>"4-t=POMnd%1T]C,H9) -\0-K5;ADPti"\toX^^`: -KeA5u&DQ,2>r5T=K=W`FkgM;Fi1__'5X@DC>SMc4<"$MB0F$H_*!AMd&ON-. -$DEOgL/>Yh6O6QkThHV\:kfF0W&=fE>SVhZ0F/'9o8I[b%tXQQbSMBT?\"^sJcgH, -JGa0c^m2J4``UCH4/f6DNU'Vkb??DRBs!Z'[oT:ogfo[e#(XW0";#5W_K\$H_0?uS -i;*pNkai!qG[?#"H8*03_\iH%A.6g51Ia&?(rGn]MpZ2K`Ls%6Js8l]JLVfF+G:4j -LcIF+^(UQ59PU7IOYNNu)[!m0$,RBI!tcY'V0KEM,1pOYZ(<8a0(>/:*rl:g -%^6!q`o$qXR;$)h>M#$6]B1ngQ(4+>qjUEH0 -Pa,,B<_,hk1SrQfQunJ38-^Y1BO(k:[*!\ii74X$7""YadNLqj71*bB0rf@;X48,p -uX5-q(;C&Uh4Xp`6NcpH63kJa7h1;Z8rkd;L%qBEU6A,ug@D)u$.;XEgRMOp8 ->Vi4@"43@_6F0Jr_0Yi15g+J]YUPKh'tQZ,gS&jOo6pfX!k;=d+Xi9P"nKK1pa]RA -\WsJ?lJ7qB*no\J-3]F&c3"jYhd&Ju2o(/i3]c;7o1QeHK$,YnL"@:E8M6W'C7PO?4A&ek@#Y7)_YR2;ci]P7Y0AQ`3ECRXS0S3]L -*ru(_'Autg$uY]!5T&nWj^pgiU!Ng15h,m&<+5jdLc)t=f,[*jF_0ndX/eE2WoVTJ-G_`ugYJRn2P[-DRhek5p^28>hNh`c7lY7am,'RLqalo+Di3?lfUmI+2Y7@r!s>A4@c=N*km-=a=m^`Tb,KM@lR#0fLQ(B -'`sh!V"k4c;mDHX2?O3uK)e5gkWsnf$ACMXL*J97;[:!p%7&)A4dlj+Hh)p<<.LW@ -,FCND\.jP!,lq[)(6BOI+dJI?&qMGD,+>X6g,,^P%\g0>R%J"a<$a/ -+T`K(W+(LMX>`LeMAJm=\0rT#WB((,R"9oD.3%R\dP?@B&:hP.!@S?W0Gskp)1i,$ -Je0=1QmdRm#_NCC!-gMW(^:*c5_*N6".0=GTJHRu1BOce!jEl!THaK9$CB*J!D!h' -b)cV]&Ai12R?Tk4p^muS."L77WBmqmULZH&@6dLpP@tndL`4*K+9?^/![nid*#4&l -!.o/XD>h[-NR],!GE^N-m4*9(]ih@*J.*W,]lK^(+YMtWtBlB;3QS#,6Au4 -"#(pO0LLFG6\RKEKfE'5aAiCG'noajJEU$f3#%'+:k@7q"OJM!a@?hqVJhS=ZJ1#sD4+cBPKO?Ec?qu:Z:5*?p"`*Y(TP?W'FZ]AD!'#6/&."%& -Bn5,UKl@ZYE'Jne56?'JJoDm%l%fW?0nW&X)#u@Bcn'djRf\/DX2*nLL_G>i0ECSq -KRaF5G[CGi?A=gML6-KW+EP5L%R@h.,T9")YQ0H`q$3?XUjTU9gWq,nH%5m?LJRu+ -:h]nPB`s4qKSV#VO=1LZDl3TJ-MS%oFN>i"-d8&%9WK;[[)u(TbtQ@,9Z57Ngs=42 -cqPM-9e-r6+Q,sdEIeF_OjQh6A9=Xj(P0pfJM8e]=:Kp[=TFOcL0+Wa:iZOiE_B;7 -LWBH#aE[asGp+ka]?"IbGR]=F/3uj07QE#c]QHun@a_IoOqcPD -r:EbE@(Rpb%V$e+Rp?&i?5#[s!OGA*#th#h[*MG8:[:acB]U$b3toP@2(\RLo^u$T -"AiA&:i-@M@7V'B+#Ukc9m].PI1/q`%+',+;!e`hr=-.WkI+LR2JM@U[1?$eF;OE] -2R/]2lYW.*DRT@u[h1VZ=b;t3+e%'D(`BZ2n0j^8O@iFE!sgSY3qsR+SV"MQK#fVa -M2sV.OU0kn\B0GUfss%GFhVk-R@kV3==BR0,.X\83cfs6iInc;FolWG!n!&2KfD$L -2A^<_#uDbCdX`E9J@+O)!aMW*SNo.HSq<=RS)]S2g/*?iTt3mk\iI6g.Wq+MY(@7A -;KsjuFZ9JR2q6N[RV3t1WI1U<7LgrQ(_%203=Cq".(_M&cQc8M2,k.)\$JUX"/$5. -OA18@9YA/M]ApY!^otBYdKZ`."fP&oa@b!e3P8c<*[iY\%%Ko$s!2*;G?j29n -oETcUL\_sm:j<3piK*JF#;?470R3X8GtoRjTtC#V.!gWh!J\Zq!'jNdcj'[.;?F'E -!2puj5RW-:-b`8,Wi@[$X6%=A&ZU'd^7_@GV1CdL'dGS8.L;=iM?W8^dSeEP#A,9 -'EZugKAt\ik[,X!=s^Ra93nFGl9JEk&J)Bt#)EEeJ51X):'3HgK/@84O<9R;m,1:;^\.c_]&ucM@bqR8;R]E@M'H:JK!GLJi -R$X@AN?'S9W7Ag`j_JXe3cVl -703/jJcI>%O=\>K3J;&M"E7*9=AFQ0"GK*D!'"*bJ-6%3<*e-PJ5B$pGQn:q4+MQ; -K(oV(!$qW<,lu'pJ^>*]fG)2W.P8?"L`Ujj%1D -ra07I?Eq/m9gXqm!co1f"5c[5J]a9$5Ulkt&Hdh[!8'eqTEtdhC]I"BA0O9AE-2.' -FGB8eL?MnCJ6[a]%YQ5YJP[`IiG7-?"m;H\B2;'TEp7=5QLRD -heH#.rcq>fd/qB'K"*lC!'5e3%"t9Y+Gan85],51'69[2ms4`^@!78i#)5*.!746] -Qn,!`2NV'Be4B*KM7FL6QdP'/dEuj$QIh5G\!Pfc-KFE5\hufm4XtqD`SUs`!cT?B ->+.%dJ[mch0HM-;21ca(_m5+#,DZBq*@Srq!Q%ZaV8QUm(IJ0;5%#&%mnd?r;*h%d -U["N -(iT]ZA9KA;J08Z_3!+go<.IM=KMVjU:c3cR2?Ih)!dGR_a;IM?:jIK#fhOi&1]<1kYihK"*gn&0V,e.04B9K")bOYV:Yo0EY]62n1LC -=>L$J1BRV1!sL!^EN]EL-iph+":uCQ#[)^D=baEt#.ST%Y]#:V"c#6X]FOPFpjIYu -I>>T>+W(<:TP8r/Bn[rT"XlHaW&pC:NE"7`eBTrSA>TGt9*mR)27>Pu&.\jK8V!a2 -"pbD;#\sE*C55Q(B(mc#"87Km!XBi]J3[cP+9dK:C]HG1LL:.>e/E`@D+5L3@&'1+ii<>( -=(p*@NJ=-:U"Ltt>=G-Y$lI_N_^fT@i%V^t7Q3uMb2I9Khf"jTNS -Mo&sX=T!>4)DJm:E;0ir:G\KPjfo^$os6ZIa_:<+Rt[leX0h1M>2=qIM$Y*:#:&3k -p'*SueuTeX#02A%Nnq\6iFoGr.MZ7/)hI6)PY*G@8u;+KGg^7^)2tFjJNTP/*/[/d -JP`.@aq\q#K,_>K(C;#o5/o7lg[o=](B;[IPTW4^.!-?Bcm,>4$W'sFr![Ol+>1Mt -8<>)$YddLBK]-l@(5@AWAfV#*aHd_N6Kj.V%DmqT3!uF*i[bQaOL@.Wib6%NLOqKn -'ntVVBH%7E5a!_8@m#i3a[<_.3D%*cTI'tS=FM>Q#S;/"b/*;iQ"u4-K:@8sjAsN"UZprXKQ;k/!IeEXrWdu3L\^K@+"*EU -H(CT7g1:8];'H1,6GOcrL;:$2(kTSc=pkMM82(b]@),;CK-9Y=%0KaN?^G@BSn4AQ -3Oh*\"2PgF&d9mq;"Xt&(dJXc3QO;lK7N)uS*@M5D5_1&NiB#?i6XEal$=aC'C4,D -5)P5+:ng"(,G?e"P6JH?>FM3VWd4Y8V@C,p[UJ_,T-m/8FIOCEZ=dAga:N0XJ2,,h -J7j/g!M3MXk^.h-\a0>Me#'c]3+kpBFgk#(t+'+qr -j6l\+m=0CF&"1BWr&Mc4JL7X6#o4c\5!K@)@$T<=m1SkJ:18qP3Orsn&V;?o#/J"l -"#(Jm^h0DEg8k]tcoIINJ2[V"=<)#TGRoAp63r,SbW2N`*#4&.%fu_s#U'rt.$O]F -@:2Z\_%%;.@!iGT.Im[n^&BhW:TN1OXqa_S*+QNBRO@I1%"&NM:_6FFS!5of[:fJ.HO

    Zi*2=>TN+#B`75E^2lJ+520U*$_O>W0#Z:2i[FWi'dL+"NNL+5`) -&LJW"R)+qr#>(/J!s-jW1%^&"UaQiW\q^YL>V"'eN"lDE:'q"Q,>J5`&OP,)$XudA -M'8)e7SrUU6c=&Ggc1hD$]=^'08dY6P-A5_Ym5)ZroQ%ABj]L?]L?_f0Id -1ak/Vn>$abM7Wt3i%KZN]HY.qM\a)b>7BF&1P[@]*3Td":PJ_R<\XIP,P6Eb+o"6O -)#>!crp67B<+8B(m6.SZ<[IrR(_$NbiT^RMc,pH(BHd)%mYY-M3cZG -"gGlF_['lT_4!7^8D"j*^hA8'TJF;jb85[o?&FJ@,ll;U%q'oN"n58'D>6B*;Yp/p -qrKIaV=D:/cMLt2.Ug`Sb+7Pbh7n: -k8^.)$YDZOf`+K5;eU$AOh4S[pIOND$?;,Js#J+c"J&JoG#$`H46M:eQ%R;,%oM[V -g%_`l5b5"&^g]t\Vd(WhXUG7K=9gfc2ZiQ]%>$DbRpgRK-:#Fl_^JpGa[d_1J8>\r -E$Y[]&.jLKZj/q=D?E235QWY=,QV;7'Hkb!$35#m`:,o'_JgWS_#=h]pg")4F<1Lj -ZjjkDh[/Q60F"Z_P(S/)%\+2F"otA3!f"Z"ZOe:5/g\FGYZ4?TR6ZN`Z59C+$nr4^ -3T_lk$a\G.j9M!`Hjg&68d1n2.ftg2+@,^OIA4k^N`e^B -8(,Cbe?S!qU"B@c@))f[rpg@A_A\$A.15#J(BcLL&qOF]%)A)_LbLq6Kd[]NK-UX0 -Q`XD_"SqW&?1>M#mJmL%o)L#ZDLaIQ/c[lA&qDN*#G<%X_gi7-!L*ioBW)[J#S[P0 -X:'X'?HaG1\P()1c>D#efoY& -MA:Y<<\8lo[7?RJ@)LsFNZ\`iL1gu5K'r+9i#XOOke@s95PC&Ve2>8P"rnet!K/Ik!6iF6JuV!84&&aZ3KIK735)dijhD`/[*-m!m?*eD*,@DEb2$5nCu -!C9m"J1(qYQ36'2Y6&]>b]X;aD9)bEjC_,OWi#mp[F"Q6ftTRmEA -?jCBe+]4"3Z1aOPJg&6h9$)kpM7/fPaPb1-RE55#"/+VgO!2;tfWkVci.)*n`X1S+ -#%4MB!)sF/6j',N)IO[+C31N>\/umh!%Ln;d"#N_\,nt+'d-`r!:1"WljMaU8cZ.Y -+Lhg)&u$MmTl+*EBsJ*(KS7-W"lO,&J4^0!j9'qn&g/G4!GVXdC)[-])[DVuKoDU\ -C]K%U*afO#@FtV>fGpP6*21"HiOg*P-6",,!TBsp!#c^5=99XH&`>,Ni:[6Qp(?4: -&]$j;+[Qs;1_tY&!l9g7!%&Wce,eOX*Zu4>+mo?Hmd8G(1Cl+?!R_Z)'GM[qMQk)' -">U,cnj%l6#@hcZTRShTCl*ssq(#_[1Li>,B/\4M2\Tsc1N,3NHT..<2fjU1dtKap -LH*b@3=ACeYfaDLbdS2W3W^epk?\B*Q3X(Ag>K=A!4!'l7Ldc#&4%jQiDK`.:qP\0 -\Udue@9W2p8HE6D]\rAg5f@hB1HLZo(mC^Z'DF^iq`cn9Cb,G!!ij%P$Q$n]5SO)\ -PS6?A*[,)_^b2Q]$tV_H.mZlR_kO4TbWm;p77-Vc6hDru'LtPj911<,`_9hj0!Rg] -d)Nr(l9_j.Cj%?$=[_mR7dNSrN2F]>=9YND3Fe?Y1keJQdgJOucU?\d"5O>aMb%@, -8^Ok8i)n)P\EF(F:4q4koX@EA]1NdP99d7ce@&,IO9M_ca^^N,FIPfX`D+k":)&Qh -<6@3Hkik?JN"c7i'EI8!5ir@1=!@Wd#b\7*i2R3Ya:,'g%B]t5JD`YB -f\&teKn,Ua@$XY<>R<0Aiq<"9^pJe!@aK5Bc8:epmX@>0X]Ic<$E8tU!7'M^E"+F! -$tQ#'%Q6X=[$op8+i:_m!)<[HKMIc708EYl.2N'Un@+6n`cW!3%[mTr[QKKQ`!q,2 -a__jfF&ITs*tG^aJ;+6CJdrI,Q!m;i+h1kChuFqeV$E)aLPC(d'HH$:*5Q06_"n/k -p'KYX$)!10i-5G+F=;Zq"e^MV0)[l)g/gQc(Z68Lb(^p7=`;bFCI.fB7M6ddhuFqZ -'g]VR!"'VV4;Zs]NF=jK5s,_:(_GW@![,:9+EKFfF9B(3CrWO)9Di -Bn1e@!1j`E4:imo(1G8aTu_Ogg)cmi*j[J,k2[Rlc2aQ^E.P7miIVc:.MRFH>N$\, -5oph-+r;o^*(j&(&:\X0/9;uq*4PV\!"^(2fG=)8%A60"O>[H=Op.M=Fl7;Rj4sJ] -!!Eh%LBo\Wa=:d8Q@VttZA=6K^dE2d9Zl^DKYW2kJ9E&/Ad4KI"gJFHj>2Ur^PZDm -CX7`kYFYl1SG8tCpu[nTX!ELF5Qo>`L=$BbBH.@e-45;D!J)5KTop@f"<520!$U#G -=?7PlfH).:*[/l16-pLB&/h/i!hgqK5Y)8.i=9EuROemap5bB%.t*g8-_g8TTQ^J\ -U'4qsG6%>@@8q1(ZO"CoH3*%GQo'&F:m8bUS[HIKi&b$=I0I5gBO@c4Ic\&A_fW -iF3aV()qhu!,$t^=9Wp3_AaU;)^.ZRJOBrtF:DWT#c]3X$+^FNRL3T:i@5U>@,ME] -$R*i\B!Vd_o#kO]!*b!P!_:0F>1`O9, -"MplN^eu#cH3?N[(6]1jTah/j$k31r%,di_!29l%8.4A4"X)S2^fh8B3X"D$(P"gg -J[PYh[N+3P*9#rZ604keg@E]N'EAg]%q]Mu5>=Le#G^VlQ$DHU[ie&r"tuI)G?(c4 -JZ[CXXr?&t3o@)Dl`Q]FY'T]Bg@_WfpTMabL=TB.p*_\K&"$C.#!deB@%%7LQYp37 -QN7QuTad<]3k7O/&YM)q@0?]6!"H_7%=kG^+K(EM&"#FSP8dH-gJtWq?3\9L`$kFp -gK1hQ;*fAM+NQo8qeNU/HG/YF2lm36-!.P0MmqH#\!rSl#lR1rPsrQK5(uQp+qcem -GuB![]+b)pAL0p4K=fY1:R(W7PthK^N]A??8p&Y\BDt%B4hNl0]E=Kkj,c7;fMY-\ -kCjqhHf)P!qnJX#^)P,*Dl-:*lV30u]UT#;gV:R/_E"+nM%p:jN^>NGfM3!b[bM$Y -*#ZYa(JiQY"XP'+cjR#l5U,m-[;p@s7/Q#K" -cW%sa;?@V%,-V=d=JB2uA,tn_6m8X.o1/G'NpO8Tp'dF54?J2*%%u!S5cP*_D?tcG -"CQfk?o/?nVA)=h!g&OFmV#fo_U$Ng#)$QZW*?fe4+aalP5S93e$UC]s -@&i0N^^X\u%;lJ#,PfLLPiesR9;&(C>p]mGC>"mL.#:P&*!SE6ksq5i3DMmi"3:c= -+]lI`i'>fMNL1*+r0j:[$b?[=@)LQ'S:uQtqDMWnK]Xsg&2k#ZI95;e^k;m,JSdZ/ -"#eY`"_Fr;=9\kM*n.*#_AZ?8@_X`B.n$Vi]7dsD\XK!g]g0.AJ2.aGPQ??"s.R;J -J^RliZ%*Yi*kgKQ+m'g'"\Yc3/[@*rp6a!,Vf%Bb*dNi8+n+a`9%5 -Xg*DB\:CsV5m&%ABaDQ$Wm?P")j(n,p^1ud5t(6"G#6P\/'D2\6;MGHiBO= -2uXk[Oqp;0(,kWe5n(9]n.!0&%A=%0T`u0<0G?`]!^U5q+\WOl0G=I)ZU[dZTWPT5 -Q;uRHq]OH'q.prL'H.dB)c"ifJ`(OAjm^"lI0$2G+f0a2g(6M3&/!h.JC"FLbS,L\ -'59QM!!F>4:*,1XV$Ds+^IRPg8u3-@*rlEc(^qD)H5^4Dmbou)!Aj'"gXqUj_b@cs -AK6>YSn6Q&%/Te&#UK5(!Jn.%%jV8`('e53Pn%,=Mj%SQWs4@SMW>?>p]+BTCBb0^ -,R`R%!C9:5@I*t#k'L2jj%h9Ii!^Ua:'0BJ%)>[JZsLOI2G5>f6@S=@5PP1E.-TXj -65L1?!jZfn:0gBpdEF:c$1%\>5JRg)Ufo8bNCIE?L\mSIk#qnRBFt"?ZmdO>"b`TE -]QuCPN2BNFSCV[=SP?#GRI'?i6(h';oNDtJM+=C?Bp=J4en%Yqe>cKZF]u%;WJq+7 -Tuc;A@3O:G<`9a'j(U05bJ]Q0+D3JH$Upep=K#+G]a=o:X6oCs-QEl>`FGj*lB`!W -f>/d)O::30a0KtmmTV-,MRC8pFRX92AJQ-i,>pfAE'tfZ#NTn[(pU>'m*8g>=aZRH -*Y*sY&V1(B-6eWUKX;"^!k/=bh4Q-2ciiuf!1qMe'B/K`I.a*BJ/dJ6"FE7]mjE'' -guSi&>+u5%(gb3eN7TQ<;Ro1=:o&_X';.HJMP1$M*e]+.NYRAeG[r00+iplQL-u&? -'br'O6ti(j_8(6qVfDJ3T8^]Xboc-4!.LPJ!VUm@-c*Y#S0Z`&9o=IgW"&o[k[PYk -i\7\]$^)(;+q0VgT-OXS:dZQ3EQBsGK4)bW%8(ZBW@LUs`4%8?ZIHQ?9Cik81/&?< -a"trG7+X:jZV977:(qa03_jb'jZH;EbjR\jZfM-Lcnk=u5YuP[$UdgU<=_OG1h@b! -;D`5<85VY>/eNb&&5Q%R_,+IKL-^W'XK(Q&92m6QODLj"ojqAHeeOHW<`O^FX&Gu@ -OCTC:!RQW=#YAEg/VPCqfFn]]i'okj+X$24KYr&a'TE1P<\4VdE0;4G+iRAY>W2i, ->hiC4a`C`H7FuV:[oM7-?2'WEHM-fjYTn%mJKlMu[\=PpBj4Oo.OXRVh^)RAdg:SD\!OZd,juG%cRV#^* -B:ENo`cmp8\^l2#AkJemK]i1iJu;Z"E,Cnr)/*rIeePVRTPD&%Xe]_=ogBWr$^b'm -"X/W3)QFW,=d2KD]!rXE@VV>+o5V4h+eQH5h&;hGd\0YO$$gc`Wj? -b4'?kHp"!mWT_(JcgG$X2SQeW>^1Y#M.0;G.gi#NfIm[Y5gV:qUF8r1%'[BrK('+S -CQ&F-a;M;!Je.t`;@4R81'TGP*CHKAJq8k-6+4oF9;Dgs@&=Moi-P/kE(C=tV>NQ^ -cl7TcD@M.J2?pBn)M=+i%O,9eM/dhC`TZ4[UO71a1"&2"#kLIEoR)0Dni]5toc=)a -GRYc>1kg/i(#gnWLqrosKCF-mJ`JirJERs40PZRXpbIR@fT?79?B,&(3@"U1rIV+" -$B`C]_2utb9.3[Ccb^7qL;9_1Rtc,^0uegCI+)J:5RFZ2/P.qu)<3tsNWFAS"YchS -!dIq4@?i'(aZ(!Npcf#/27gDb5kPj2LgNdH*JG&*'>l4F%"Zb:LG8?+"3?#q_>lq( -d0_$^k_'LtGX2sN!$)(OEX]aN151ff'uFW8$"3rQKCEUaJXbnNCc&+J[SYZ"qe17K -^(.kk^r]+q:(D>-97`3V.Y+1k(;N=B&E/9t5\S4V5VQ`-YS]-M0F\l9n-=lVA-@UB -T*""q?AFWB$::+>"sDP>K(*qKJd=mNTbo$&)Fb<*0J,.I]H8`U^95<)0F'*.+U$_* -'*G`f%\gH>MUBWK7k,c?2$T^Q1eU[q&KMqn!.59l!]pVU!uo,p!fUP9!ed4T!Wdrn -!DmYA!3e$X5[Y2&^d2*h6m>]?ai+>N9j9mP*s:e/\L(:G#:k$@;a?5KJnYSNT&D=- -dp+2^OKp#pn:R>We8p.;c9?aaqF*d>,aj5]!!i1^+42?YJ2-"K`[I;Y!baXs&Ek&6 -+DVBnQnX5e:_lDh,Rj>#4%q@9+2IZ#ZshHC!^PBS5r`*U@'OT$l.^2M,o?j8:b.fcd#\dRJ3J^,9)lsd&PoJ2#uhA&N\D&aDPF#l0<%n,O!8p&IV>"s5)&!flfl!XBk$ -!J=ok!fF[?t`*[E9h9@bo6nI@G\N&_'$Q:,Qr8*%jbU;#!gHk`q\8uWC60= -!8Vi%Ge=a%?s$\b?"nqo`UJN"<"A'[1WWt&&HY()=_k0%b6_#d!ROJDCKXmHNgLP, -^d=PXn.H,gO9Gtge,Y8#pAb$ZE(Sc(QO*`[))2+)T&]3`[$\?A2LB0LA"Q]Y%,MW9[I.'p'W9OA8UgATQGXB?& -V@?VB.YKK\&9NYed>NRLQ+_H_8X%&'KnS<9&:tR=0Nq!JRq2b9l4F(?6[>hk`kKmi -P]j8m"T[a2#o`r%$jmQq$,];."lV9^ -K+NhKhBVLpTf[f@Ye1kI<-1&B/lYG^BFhrC.0lO@%ti6Q#"'eu!b*ie!7>I6^hCV( -!&/'qckn]2n-p>SE!MB=[KK(PhZ;bbEe)Q[3l"SX*C)H(%M10N7`ZYj,=E*&&X!A' -8AYGG"C$F#Cad)lU(P1?7gIBp+%+Br%jBR<#@Qa&K:nP6Jll9/iGpil^tTje5]_u/ -&3Q'V,2H6:(6=GO3elPt)hS+oMua7g"=QkDTd^t4cs5S=+@27(0IoX]KGP_t8qX[; -]&W.`O$'n:o*S.7q0t9bI-7-nIYZ6q01"h#2l60gPLXu/=6b3C<6*-d%bC\E#sfsb -;q:bMc7OLb'm!1G$jY^CG+Q]RZKkS9,+!qDILH8@8-Rrh."^r[(4g^4$R!58Khu4m -_N6M[!@SfgJ:J&Zn2CP?93cqZDu4t?m/?srpjYNhcl-!#Dm%3LIp_79J#!$.iI.*( ->Gl!35VrGU6i`+MFW4314u;jsQW)9/5p`#@W'*)XD^4=3$]/]-R$_XQ?sZmLcWZ%\GW,_F -3^_$D.p5[p@GRc*lPU":!ZK[C3(AGN7YOH]KpW/MP5GLA@XrE,"sg4k\7(*t#6kH5 -!2rj&=@\"Z&;.2A!AH2C(`S$b#Xq('_fQFjWQuq@fUVJu`@OakZ>BX;.03O!!uM]( -$@%2dA:tdl!74;jlVApZ:5&ZUK_jkba@(R:6\EGk"1n1.0Im/p.KU_.JeYTnX',Q1 --NR#VL>Z'^3)tUX"p<4"J;>S(kR%@S'`b`YP[cHL:qIk8[#=dm]kKc_ -kRR[b.KLM+)l_X3iU-`f(kK96!\bDl,f)2(_%W8/20Bl_J4[a'`s!FJlMW!,/F>R'`sIKX_e>qYURrW-\5YPW>HjDBHD`/RS1Of -;-4_&He[j!;Jb*ocO804p1!ZK@i64jP,;\ZNC;4(*(": -3$M2g/H^M8K6Tfbi'`9$$&)2f!+9Cfk]6uB!Jb?7J.R%.MT5tKH[lZSdkH*'#R#ng -B)m0h"jdU1cqaYo:4rla"9:1X0JUr,.8[nB0i:dn:_TmC&-3%J:J_QW\LK>Q8[6ar -]_`d$X!rT=,(XHf!P-FtTd:iG*W_6q15jlf/OfaLo[JF>P)T!s""f'KgHm*k`be^3 -1Gf7`"U-T&J.QlR8:34\IC$<>1W)@3j$,@&5lnSa*ta_o9X`N::=bsO^dC[@I3h^7 -,^RfUO=GTHqM'*@)UJI"Gc@uJ.Vm.."Oo;Jfke[(`QH=]XDc&Uu`)^S*pEBKRt$a!Z2u0\/p4" -('1?NJI!(o:_/.K0`^,d"5"$7fL^V/8HhWmKh,U%W*k>s$jIPV!8q5gkRWC2@t<3A -L:@PE\9%^IF9d$n#C(EB@!7<-#DZE'J:MaPQu[rn"U>Sa:*Uo&-2L?4k49gle_`NB,Oo#%H[/N\?@_7&\m"e'sX[o --1g#Vn!Ml3hZ\=5]kZHTr86Q1=1.onj859Tr6)/Tho5cUh?73R"Q3kq_-@0]$jRh[ -"^n23i3!;m^'rq:s2?l)5C="\@3o8k'#5h(i78EI6%qU<\f`I'RVELf^anB-Ag=l$ -UuWO9nj/Mu'4K`aJ.ic)EZndU1]R7P=IijLAs -_F`^J/#=iQfE3Fh\A)Mc:*;!O6OGka7Ps,JA.f(u]ML"dJeQ!]VNhloT4km16pVP' -3h1X[fK^OSLaHV<6/pH5,q;\64>S*Z+s?^>)[&hQmM"ZI$Q&bi!O7Tt*YN"R'ua'; -T5h-q$s0(+r'd%QTDAPFq>m6?>p)\J`U$sbe6tfj$:[!%7S'II>AD0!k8t+H!^(4/ -+oR&G1'?0%Jf%.7W"B33B7N6[LAE$JJ,k@YENjt=!#Ttd=9Ae1B7U%qKh*Bk84!D< -6:oN_+O2R6^b1cc;ZfiQK1fbX0XJj!gUJFe4DYpf8^C@4'1j?D`#oj8LqJ:&3i%'t -,GIlpP"_O).)Fgc_^6tuE&>QWgVXCQ.nR2gr^\"kU)-[4[$;GZBGH,.?j$I5!/Oe_ -fE8`N!XC]2!!mlZ`8]T&m=iE&KX09.!$$Q@[?]A_C$qSRUILY3,t7(ZSG!9I2P>pi -]`PDQ!h_B$-o7`>3@u(/9,K`gXIXo-/#ef.JXk(]!FC?(-373p/at@pBG$r*&YhT( -+4q2.0J)MA,lqC!!RMZ#$hVhqT)k$-!AH/1#R^e;rs':#c5smi20"D%!!e$^J086Q -O9C5u1Os-pJm\k9?l4Em).(;K'0m+neP7(<0Io*seRe%[7I>X0mpqFVK+J]K!)<0a/(GubN2`Ph*YZ(^L&VG$DJV->9VS27ql&"Y1 -WF-kMGT[&a(4nnG!^1e-0'iWAjg:,Ed=16ZjJ+F`6\+)^BeW]p\-.PrE.BW]LKFT_ -=Qg!eCBorFJ09&k?il*kBRk&8Kr>@_YY>,m9`r`U"4/V#==gF_6\1*46D78L.l(s/ -e$8KreR6.W\/O&i+bCs\69$"o$4aBVo3SQ\/#seD+h.P\(_PoYe\O0GkQq=^2$GCM -ZZ(6k"TYm*cg3oSXMQ6W965k:;Ll8T1]'FpiQkPIo*Y#@DPg/!a",PVRVHLc;:mp_ -W!rm)V1lAQL:qS4"*KBD!JbW,!+9Dm?j['F7KD@8XY;Vu+"ZA?%VeT,S'D:=rUh%6 -g;>7b,kN+//7+i<:`\.WaoJujYTJEu*s1pF!pDk"#X8Ie%0ZH7YiUn#1?JY%-dB7QLU-Rn5H/G4i#G8E\U"3q/h`%=f6-:#fQJZ4NqA5_+q]DH"B=.Oo%XV/RHZB::Dmg%0V>GJI -H[)Fb6$I[o(R95`Pl$fKBIW)GU-g\`jK7UFZ -*uU$\AeagfnUDoLIlHnhkJ$s^SRDP`@2W8HfCT"qonmo-JSl6]d?[/%JnIn4+2ECD -+@RK27"diKN.s\3BWtSg'ad@gEA56\5Tc'/dB^;bXB@(i$Z\#-<2r?N%,jO(5b(q, -'at9*iLHo_17QNXA3&UDHt/fdW(#tsN4)oc;JB+A8R@rO.?j$bMP0OA0c5iqJpQ4Z -:D";%#@k&VQAK6-(MuUaA[[RlVFX>`9;+]=8ZE;9opL''>n*lnj[0kj@P%p)&LW9( -nW_+*0]['BH\F/[QRue:KgK3!Q\ls=a(%u>cs;-g?a(1eUoRZSfBdY74bhEs[G5Wn ->A`NcHb80SGT8mH(PTlgEVWk2B-WtjQ"^G4@Aq[p2]E5s"+f+gF4qT,3aE7D2p9P= -H@6jL-3jKu'imd+iTTp"8gR&$V>;@2cnl0K.*C0m82+\F:&01"Ue,VsAs]`/ECi5Rqo_?i82"9nn>!h6)Y -#'?Ge$0Zkh#Q0E'8?t@C,fln9!e$ZU&aXamLP_lf#h^Z.T>9qXiVbkd*u#]@N+O*q/I]g7a%(^C+%=sAi4:nfk$@pq2&'.,CO -@iW95b]eSMH0t[(nm%9+T:c5^?C]#[(2&sVJT+-^A9cH6N5>9q*sU\[C)]&3U(pY_ -O(HK*h$sP*m5omLh!_jt&8^V9Ng7q;gt0`$*ej^JPST)W\5N9Yion/kMo,fq08kBH -ZmLK9?*kZ.@=WAH"_)Gl&r]2^69:3YnHEY?"R%O7'4AX8P`mB60ME(/i>+Y1j65D5 -NVH>bN!\.(aqBYE+=pB[?noW1BbG!;!TV-*/K)ip=["BLB0t)]Wco&?$5hIt+KL$/K'npP(C9.U_1+!K`_"R$1mT`6E -`:9@)*Q<%=D^#Vmi;c-FYW'PMI5^)P<[a"p#kCfDjT06)QGsIU@9LTiWWa;qYS:i@ -i(:"aJOYcb"rRU>*a]YTTi[>;=D5,`"tmU%)Q+S,S^)O$hkb[n6,6qK?\-ja(Pj7H -?6BLsG^o4ai=I:uL@o3pM&L@]6:_`u(:b0>KXqm[$=pn.T -/Hqd_(4sa=$SaaJ`:/QbU*)Gt!9P)K0O>&nXd2lW#Po$lk2]'L($@7,m44$&Ap2t"N$Oc!J3:@J74Nu!#XN4?j(W`TE%0E -K2[fJk]m._j>qf>ko'pl9ECh>(]d07#0)nnK6+U69!T!j$d]c^.4f7F]TnZnDG<^U -1FM8ETTdfY;G&rD.&B>.Pqnq29%d>tj]o'Ud`PZb3Gg?Z`3bk/hHe -`&JbK_TW;o+hdusq#16qqMe@p2`4d6;JCbo":^J_"[sC&%=p>MK[>5V6235>5ff@F -l0&Y=TqJ$V9HYee_@;_A?j8ll(nbhe&4&iP$D=%@L6,(I6guB4_AEpl@290f=HE[f -5Z<7H:,0P_`uO"[F,t8C4ibnM+%ml.[)tI7.q&/Q"6=P(1!hen0\70",\)gA%Q0"i -"<=2d!=r>-4pT^?+*;[f8!2@'#?\Y?iq,`lOWGCV!+uUGGU7t22@LP#>XT^A)kF3P -GNZf:0a+]p6Z>'jS$Z8*;-)AhMf!aq4'mWHpg(Ja/L>GZJFV:W=\A]6S$gtQ`0L'> -q.bk[>T+/1ZC--VsIZ0.(EL`,\,/Q93_,#/ -?g/Y](Un#E?)MY5j;:8qQF/p>jHCeK@";&l"ZuUP"VCkSK9.qj+G!%+LL2(6G>LuY -H]\o+"AXh@='R#km/EXHqA=kKV$H"AAc^;H4$XAD*af+rf-0`q>#fC@,NsLT+n.A) -aO_.LkZ!>Q[N>S_?jo>#.Ks.,aFZnb%6lC(r6XEopOI,V@AfY#%X8Z.h#5NFSA(om -!snYD,a"sK-)WH2J:fL-/ZN(X"TGnDI)nl36(@^j:0^a48h!'E5STm:KI29d-l,+Q!SB"$mtD+=%^GFoh\d(kQAIC^ilZ]g'9!eeE<##dFAE< -L*9F2I,JmiL3X`2]FA7>%7&bQ@,)5W7Lh/[%Y3sMT^E=5:_*Qu"^ps35YqntZikof -$"-(+@"\ZuKEkmc#=)rVNm:HH(a=K(N.=6K5X#9`[2,gO[qKdbTM,L(=@=A>#!cue -,=J.oehk[*M/DlQZ=jBV6j-mf-';%O&t"Cd>`38m-qM)fW5adpWX-Bg#iP%Mi9h;P -'GSB:!5XDM!P0?1!*HKC=Ma>(+m^2a$lm;u)SpP)!>GX0&dog]$O%$&XOa!4Co?C/ -bKT1lm*=/+9dj6e$nM?@`0iLKj -P?>8UaU2D[-C'J'N#!d&0^hO*^>R)C-"e^SV^fUoYZ3=XA%"M4aJE-jk -j:B$s&&C4-JN+K3+rEVm!5[#R_=et$!$@+9C/a\u_>Qm?q"8(X*C'fL6,WbS`CWAG -"0Z>>.bR?Kqb#hm!27^HJRB!r4qBoM"Q5dT?pk68=p5;HE.C)"i("N\9S_UMDj$#. -VX+D*RjKu^:A"2peFQJ#pJ80t:\=leeHo&0$W(sT;)Jq_FUq?W'S["/;C:,19?A2! -X"^Q';^D(XCe2eabpRWm0JbQ'MrN5r^;#U)<@fJ[7GtPJ_UVU51@4#O:hX.Xpqf:? -,S^6LET/N6dJkg4/dbnZLCD(rZ0"N>4'd]?A(9Zk>R=N8f^6gU8^ -%0X`SXn49M3Kn5.rhba,Fe;a]?MX.+(_\=fjs*;jb_V,;PP-=`#6[Aa*,. -50am&bZ0WV[BhY@@4,XK^D7O"K<@NE5Z@k0#5.W>2CW&J%:]#9@Wb)P<];^4NEm2W -c;j=@[Ad]#8S#.t??T+UCi[tT>gXN*2VDp_h/.>mD78A-m@S8sls1:E^FcNn2Cr0uSSiW>E#.JQA!5VX6JTF[ -^Q5T*^r.uNeG3M5;df9=Dl,`aL'U%tOei34+Fa*9W;:&]:+i,8[r*Vr -g/G..9El6@]0"WIAjbka8s -%@u!X>C%?/&XpDG6$1KR_TM6QRM=-ra,<#M'p@9Egr>4L9K&qgHR\-Dd7%d@Q -O8bfKcrIl>%j9=%JJJun-5DWl*C'lN=EQhtVid\NXau4LBI"/IQj&#+#Ja^POnBdJ -'6$cY3f33q"lPN=pBN]DgSMrU@ptXblnF1n3acD$J<:/3"9ZIAZ9`^UM6R/e0!5AC -Qi[!bU!;HXqG.?9AQYBJ2ZSj7J><-)<+[T4n0i^A9)bFG$*kj]n@2:G1/C1_.27'_K[6%N, -HXF4)[C+aJ[bGB%4*e:S=1=Z-\'39)i0"9eNXJ*S$PFis!AFUa/t5.f2Yk""J^OOL -dMG.o(EjIpi=ZQl;@Hs5"e_^uJ7JpcLU^Q=4BN,j3_hfZeSV/8euEsO<$ZDf!21(C -iM.!\J7`+=+MWQ?T&=g/!-V@-F9S=X$D9osJL1H7-5o,\)He5QPcdR?A/_-s"(D?chN`Wt("?t(IqC'\3L#[jq@i3Efb -5RjD2!s'S^^`40FWZ=2L84kh('Sf;nQc\lV8:2gViQ)"mafp=e%)>CBTPOe)C'A!= -"`dWH2'ffrgT4Z-;>etGI+QV*g!0HNc90k,I,WA@jj(O/cM[@[86,iVHPQ\p6g[=I -h$@=e1U]*]d'P%Eq`@apR1NpJp$(Ph%?p4"G+L^-WQP1gC.4@!0sL -s/Mfp75\4dQ2PKh("6G+e\)0o]aNCKoi'u4f0*QJh&Fo#C"N#8]c0U,QG:mQJ%"G4 -CV;I2[Pb@[.CW>tfUFDDp9WH.H.iZCg3+3Fj0^Pp)f*-pZJDM5]qna=@C?q)g=o9L -IG*C=h;$i@h-HZ/[L_%s_.sgqhVF+DqgmR/D;@@uebos7RlT>2V71eOh`u'A*Z<^b -\3$NPV[hOI^!#;U?/>K1iuNp8I=fsT/^XHMffhXWS`Ac-5NBFsjPDo'rVbgV;r_0n -jrQ>?*`qL<462l:fUXhP6bkt6C;UJ=lb$!jM#j%4m9_Q]A`nbd[nACI4+BAh(Sbmk$FL`j0i6MmHah"G`:9],>/8G -g$\Z7mi1$MIeE0DoC)GfDSH(Fp@?"@,+ae%n"0XMIi*6.%,@XN/-JlL\*+5cf&FL. -MP0_8DC@s"gN1?n:kEQjU/3,NW(#%5o!d+;AIdZC@"`$$-g6ElUcJgB0FpBfI-,H) -,<"TaapG8npcjGm74JSQR&:+t3tM@P:!QP/+K'kbM>,hOAEYX6/.+d+$%ICj^nUF< -C/+H(%Nd;4=,`d]mlVd0T_H9uJ8!f"0FqN0qB\0WJ>\@`If,SWi/V%s^rZ!Fc6*=$ -0m'p1,SA,X6(#ko-km%XK!Bj=?O@Z>UB5ZT?L -<^m2Mkk(05,o)<6;YbRMBf$_:``",)*lVH5HlqW+$XEZJr&@.anHO' -,fZb*o'F7P:%J@&(l"ar>Ta?(@$EC!_[.k&P,;%mA=d0@k'R.V_=djNE]f1GT*KlL -GT?c-csVFE!?qsc!t\-[%fl[s=+Y"'ao\*91&Y)%1i6GBb&4!oURB%"f\L2erMGi&VAN_$EF@"Mm&m(0kY5 -;f;e(h6C\s='aMh?'fuqG[>TZlZh:[Xg)^F_#Qe5"LnO2YG-)U$TKHl#[SU1@8N[R -KYnY^&WMEf7Q-8-(u@+QK1N3\MS_3K*!Rll?5ePrh@GlGfk(\Zj`u#Z3(;!=!;hI9 -L2tQDTu_%X,!Bj-7\W9O/Ap(W1K`O6:`f;8#?C\mbB -Y24?(dLPX;h7IU\3`'#)"sK(=)Q?$6J"DE]fQ\HMH6?@u>9N=]%W!(+$,^Ra57>D: -*#>ak"cNX^);JY.:!3Z%a"tt]!Pgf;$6\9$2$5(#&djaI5Tj#D+CU@I!Cj&u"<3+5 -$um7P3Po\-B##$ponH%K$'ljh0MN*DnH4Q*Jk0&j+[MS'UV:e)OIpEj6@\>r$;1]o -.7ujBnGF&C\*+=%JrDgh#q,$oR`/jpd$ko"5eJ9JrjRM_$E1/TX5\l0Q%1`85TWM=?1dq -&/kZoSdY[6=p:U-6@odT/3p/<)k\HoNj&jOa.NMUKCAjO`>Upj#l5Sb%![eo$p$k. -$lT23%#R=>#t)4("i4.b!t^\.!MDW/OH'*"B[HNH;,(X7[?no,A4ML71QHJ*29,jY -*6L9N#H/%R'KFZo:^_8\!6Hf)U[!7nTaH=h(`Y?oH;BDH3!V%b*.p7"$j!k3"X,EZ -Jai.X^o4+J5WE;65Sc2rn-L&OTE>[Dg&VFlnc31@H[l^r5!TDLLr8a_S8nB*#OK8K -UW`b"1!BZR0\HIoA6OOMBH\P7=q*f36:Df8AWg;)E>tesd1Ss`p -R8[j7:$L1gVj-25;n@HSC'?u'<>M7WHAPNL2+ad4/uM[KTi5]c:T@(0I=aA]\P1@& -AHiR=aQgQDqYX\#1\QZM=t -CUlls&jjD:UCC[JZdjS'S/^%)*EqC6%Y$B'Yus..p8kZKZ*7[&aZDdkUI8_!mF\%t -HVdS@]G@\K4JQ)L,AQ+aT9<7+f1ATTASiH][dRPE=Y"3'lc#X.p5\(cb3rV0WFIJk -)V!Om7;a\/dsRhFjBW\s!,]uAXOhVf=aQ&"m+l'QG*:G5Hcl_g:$B&&8efu`gNkEh -+hG,Xo0JirGH?d<^6]c<>"`LBYDoEjE_a5OgQl9Oh;Z4OB):E_+*OlRiOtO9!*AM+ -H>DWD__uQ&iCiig0`CgZpm1F)$JB9ujq3!M[d2j6@Qp&UAcK+sip>ZP8QkV='!ljZ'OqO$Q>jiG_f)jqK::Rtj5sjq -=d0uJb^3gd("C)<[h@B,%TpRHF)O>6m7=Za*]);cc]Ph'kIgbdF9[BDqA2G2D$cp. - -kH%&5ZOU0gnW6#G'7smlc=$WlcEN6>67NU"@)FG;Q$+j`b1m@Sl[2u")HAeM> -IZ3'X@7m`s^Sbu1da$!_GNc_AU_2:uI[Wi9O.22>(;ej3$^RhGjlNNbI8(lKS;XKg -A0u:-_IGs=*"+/\'5'"I,RS6Q/AW^FKoM+%_\+"!@F-Q\0fTYri5Pk/'Q\dZc9&fQ -n!<"jK;:;d5=a?-+(O@5&!<^mL7"P9icm;5OOMNB?pXIEmaW/9S[S3iE]kGaoGV,R -Y(CP6H]eu1Hh&<(V_34@S/`aWT96V#B+kaUVrr:M6A@H*>224;0;5,tfRkg2qV(9_ -T/9MSO^]pmTemM+i'8=e0GP;$-tBk4[\QEKQ_?nI5`DBc5=5,l$d%P^Z#+HdRh!!%BO -3!'=EC4JQaL#<,gi'@?V5ls:W!^I$AO9l\2AsRJ#QEdb3cjt[&F+Gd`$M'7E$-\nP -Wi>9aJJ\tWM%tp%E'T%F!SA6?a"+rc7?gpk4>DBa2CbM0.:L"@(_B-(^:=T^!U74gq4Jua;1X#8#]LJHR=1PR -ZGUFV`jp@7&V'm5Asq39a+W+ -"]/G(Lg,T^#)470!,uA/cs2hQO-qf2gIT9$9/ISX[!Xq[d%iD^?B:O4U`r,;FNl(!c6JFB,?b0lEUX"& -nH#!r!Z2`*#VQ3L/q_L_K?-Xbn4A=!$jAn&J<4(AJ-LaYD#dCL#:KZZ+Er>QG=t2H -_&64L,$r)8A;;jN!,,sJQjSP78H@sFK6S&^GUMHVm` -9[ARRUm!#TJlKF8n.l)h3IrS="L&>gW*k.+?jBd8#@&G!$mO%9=pLu+LT#5g#\fFj ->(DE4KJ3mh-n>PN`(X]?&;7.(-!IfS,X8sFXMXk_^d]^brrZE->XgF'Ag=D=S0X:9u.sedu -USk5IRF5!^\pD8X1E!,Pr;]&HD]Ml\Z\pF'$"[>rQ6;l8kUm3j=[7*uVn^KfDe6@(EqFE0n1fT(= -1TS/OA!mlH4pi;_e/NS9HNQr);H,5/;cPEuD)>4-'%99N;q4.]SQRP&,Vcm_/penp -[99XO2HB&h0bXl;/QOWt<\"dR0/Zq9Wri\R"=n_j;_;E2dl,bAn^a4lcml -1C,&0l9>dUFO[@7j<[Sl[VKNO>WF^0bdOR6[_lqnqeh&2[#7I)eD&iU -0qsQu+,esp$fk-?D9*+,JO]i^)G>F.4+*,/I?6ED>kfr`E=mf,,m$U_O.5&.@/?JD -j#7A."+Af^;db2+l]Y47,VtLBqiJ?-P*#R)K?3SEZ\>MY\:KdC$NS'V0^Jk1@tSb) -"$jo:+M5OY(:k6\>.s7Yc)V,u3Jpu(mAXpZ2P$VOs@ -#h1pYUH:0D4$^Rh!5UZ'RQ\R!33-Mu,A.'>eg(!_<7(AkH[c+l1Pc^]3S6$KJ?W[>^_R'g0`i1H -?'q=ATSfOLRQe.3"*jHB0KZn1gc;/7#ZqtRONe19i5YhRV^_d$A%*"g/q\]Bm.2`C8'9YB57Iu?mMlsDj1t;%h?:A2I+9?^/!pC;LfKFcc4G;&i -KYUoEG[:U\",?qbPu-M+K]K!C@NFZJKh)OS5X#2K4ToF."B\q0Lg:6F!f&gC_=gjT --9^K,@MPVlLO]G]J9$0:Ee])L#(T2DE(>M!#\K_8J;Ih;Tk=A40:&lLJF$]3.Eb26 -D1Mn47I;%nXC4#CXZKM,@pSI8Ce7$F)?ICZ)&_r^-@BIGH:3i57&GKFSq1EYG_m>Y -$d$Tn!OA1paMqqe/%Rr1A]D`XCIY1YkdV)c[Z'FiNG.a?(:>&M\UDGf%08bf3*Y#: -.tbi'CE)X^S,pGqXW2&DW#QDm!AmcJd*=!5XJZ8p$HO,)KE7t'OodlaJhSbW5V*"N -&d)6$j+pfr)Zh\!2HKAP -b!*8OgDRJ7a'+;mQ1(]n40lne`(;LGJ*?CIH':WqVURL]B+n"kWp?RDXm&%0Eiu>8\5$-\1Z4*PZl1^f@ -_JCG&g4A\a::b7`RG*5pTHoNh&cD6e81iFbCYn$SB1p?Y]NL"U;RX*>c"(r)!QjpC -CgU$nVTRQ`Sb.nVaaGjc>-j9Y4sTZ*Z0[FklQt5>;X7sqFS<[rgnLuR@9,LXFtZO2 -2//a[4@n'oFJh`I=(l\S.j!k6TCMTrs(nnkIImbWTE=#OlMN?.E?d,(m"Cburl4:0 -B3#OeF?MDjNl/u'Tas&)H:KfWu* -phLT=ImE]7s6Ng7Fbb/q7s/VIFR\)#J`%Z%W#s0D+bDrsJi'KZ81&nL-3?^V!]VCK -3$J+8%Mh8QM -[QV41@qR]PH\dNK>Nh2-Z?X!&D;5scr&^0J`WE;Y9_;3b1WCFoW4lN8Lc$m`gn:i0 -d'U:?\NRjp[9+W)+4Th'?:_3AYQebDZM7 -QO`l!4&D]^e38ge]&8)sHoNn:pr!5SZl2L7?FQq\pZ[-`0Q.#0g2Nfo$[1DF2/Zdd -HN!M`nUZT-pBrjrI8KJ582>WrU\qnB7faA2R@sn^<4=:h!jN4G)e6MU!eQfNL]KK# -""0;S`J?g=`*tKi%#*^*FKegsQ\f;&f\#nb&#L+mjdRe8bAi) -!W;lr5A#u0F7J;tGr``:G2RAM[hGmjj"rc$InCdnL=Ga16tK:A:nAr_](kZ@;?\fmDA1>ZrejoMM4BZQ(W:^*>*5/*!(BhCVh#Ed'FE/YZ&PO -EMZ?[=!\,&faC7h_4NT<23kMd+peBX;&A">UAN$IB6i$dFe_Z;^h'euM[=$9$/%c` -;6^/G7aN -N$0mj5m-0K6jj\5(`Zs(J2,(,3\`HfkW)BEZr[=?&'GU^9d*sWZ6;^]F(IZVY!(%6N -+\5GZ_Gn/m9Yo6/0hp-Hm6OKH<;f<`e&VVa> -?F>O6lC&eG_:=>V"^tLn2,TZF*G3^-I@4bOer?YCg=-Q/%YMRi+qW$c-r(H[!F"V% -/]"HY*XAD&KHZ.efQJ.F@:GrDcEgnEC>)bFomYWhopuRd(_AKT:j'9-%g1b^h@WlK -=D*H*!R(cMhGl(,+,0g[Q50cN^euZki@)i1"@Jjk%Zl>d4@'JeaOUt56Kh/s2POT* -(^H-r%N3#)Xt-0[0HPcB^O``qUqa,LKqdhc5*R#O3Yd.P@g.n=*anXDXN! -/&Z8:>+_g7g?0]]C&A2:]C7p0dECbof#teu_MDMGNF=fr6NdN@2@UmMZAt=FhW',XB_<%D[o\Z-\_=JU)AA.HD*h -\Fgop_V,+7fFBSA"M`GZ"H^h;6nhTf+P5\-Og7/?8JrNoUkFqpdT0%58MqgTgmO@h -ISWQR4"01nUm+cC<(_F9.A^RSQ*RPo8d,!_Q+VQ@!0(IiU8A?-be6:4qAi6)KeR*` -7"#=9oLsEXJQkL!C_JhC6j*)-k+pInErl/$agBCQlp.&bS`dnIY;kYi5+L(oEm@7' -2s3$_SPuh99o4W9-]IJ\1MV51\_TFs%/P=7VL-XVHSq`)kF;uBG0jBA5A'7HTC]4@ -:R;,h_:.aV@.53Zp*hh34.Vs.dXb09#rX/b%\rLDP0Vc'53AsGV"4q[;E=,;Br*V_ -e1-tdqK#BqeNKJj!R*H:I89&R6^Q!R4TR#Ht'J0"9WoBJfO]hc#pmZl6sD_VPJ'%s;jn -Ep*jgBJ)EJaRPmqC(i(MDj0.+3AbHfQ@_4XKF31)FUXABgf880W+D_-RIbRh-(5L@CE,*63' -K#5M:$ePH]#(XK*_Z!^F9`F^bkimA2(7ipCIe.:87aG[&A#g1N]cX"WcZKGde]N%r -.cT_#ZXn,dKFGs+;BcoE2SBNdRhu:_CQZ#qkqqOf=(C/h]J1O&$_'@Q"oP3bn:4n# -6$m6uc$!\$#/:Rl8C%HUlk70C5U,.1/r&jd)h]UV&;$hdMNOJ3L3sm\,M3!W@IsO) -e6F@GkQ$[;nc22$joQcpB`^Sr00uhU'4C0$#=*MR_Iu'a9oQ'(,3TC*AqUFU:r[*@ -Sf:?\q@0-'cPd@H<'b5;>fN#9m!r9EbIZ[jG!A?1h8?U?IX'Hf+/!/+J'bb=Ta1Z4 -UgQHL'7+(h$Q&sC'nES%b,MUS4Ckf;P>Z0jH12+?Zm.@c3@7V+:!/(`3#Wr:kkSfoW>N"q-5onpYO:OnQm(4]Lj!oQ0L!IuGa!4%4Z95TCb+@No,Z?Q2F -e.YK"odo3PN)C!S8h"ZtqXo@)n__+UIhWhB38`S$TSMnb7MH+,ioC8nA7?pfa"7?p -/m)7!3rGsdQ3gNP$#X22dUF>2LZ\:q^hWoMB$HuX?@Z3a+AbfU8Gqrf!AG:SkmihE -!)LPes+!]EKjZKc#^XDleO<.:5[js$-jT1S#f*/<@%I`K;@;@#6NFt+i4]Ra;DDQY -$7P!+!-/8kn5Dig[SWj!OK,OhXU:/n$W+/;OKf2?[gV];$kUGe+G^4%KF2*h$6[7j -!5]2\8e%Ha"@2HfJHc\d3Y9[,%l!Ja,W92Kl4%,p%3W:e+M%m;>R@'R#""jh.EH;b -pcpPXChpOnlb<>&0)cG:6&3`MMqeRI%&/O8rJ0Oc@pfM[j9Gm:?6F7oi*Zh`bQQkH -&AUI@Th#7D7MfGV(I=ht@A4b"$67,J6t+(T?jn#BVAW.S(#^\G+Y"$'5S)f("JF6O -i)U2XPQejc#XDi)!-/9OE2QQ)!`;R&aiN"0cQ%p:#3r,m5]?u/Op6Gs$:%u+!:Bu_ -lkMc<'d:3j!PBK3!Zpb0+$sl>dL,`/hAou0*Fkra+]&669G$^_%0/p-^lekoN\rAB -end,eJ5HEA:6t@R"D.Z;dRoWW7fcLb"Hl\0P#isX<@/>_-8JpT;JRVBD^KLG-IR#a -&pG\An4qn:_lYm`WK)dKN^0Me*0J2R0uYTiQRW1m'2k_A191=OXAdQ)Chhh$J9;&n -/LqIO.e:V0P/t2^_(=$`/?Lua;:[tsXK+,9HLfpnEfaq>f.9;?IY81r8uRQHCD*r& -;mN#8Esj[bR4qPP;o!8T5\^RT?3jr7"^mu3!)*5D`7Aa[98h:tE]aKmXQ7kdZNr -L)uuj*hg"E6+.S[C);F`$3<0ui1LUr^^-UI#XED9:,:qSf%C;\#L.la!4:Ie.LaOm -$:=g,bLY]jOObXGemM6JY,oYg)UIfF^_DgEL@iO:Sh>WS4CDbd/qbnYT\GD"f53(6 -;Z\hL@-_<)0-fTbJ6W@F^G#-KX_H#GR\UbRt6m<%Ymm"B'Xq[e`]`3`9?``'o8[/qsW3I*g)' -D;\=lB`.qq!;r/YCLs[p^b]h!DSos^BBQ@k!-krVApb.@#'1VGBmBo]M!s8LB3/'- -%fQ]@@R(KsFI,F4QYUD]Deq@O\sH!2i,a%&E!TiX#XF=P^k`9S>R7g"GrLfjTNkd< -?VfTfXrq+*ODG-=B"1@pBP4)#-T8tN!5l3B-;@& -+Cm^C)h##\2A+FD?uQ?$3uh=K?AMWJ^JQ -M\rp]=M'JN^PeJqMqGomM%X3N'Ec[p5#EsbWi8V>&U,Va.PhSb2f4R7m>hLg.mS)) -Mf]0pRu]PtHnQM#)$>uR#BVp`5:D;LLXD6WEKTOtHas_$m78\iL9>0u>'U6MpusK[ -acPhg#2iqpY]'n6=pY2/"[Jpn^e,#cli\Hroe+;tTe6Ej//-qq'>Ydn@2ogY4qHT0 -"CU$kQl?:5pO(n,I0k1BO6&91#(%gRIEFGPfgD4].@U&mRlRsI)7uA,7l^+'E@\Y_ -)82N-^FF<&9oIX-1TnGJ\CuladZf@8ZbjiE&D(_HgGCb'bTT-$aZ[P]__^:/X?Opg -7+n[2`;oH=H5esuWmT(p:RWUS2#,ZHb]#BQ"jB$F[(9.PB7.ph$F@W:@l6eO]Zfus -_@=1[)Htb"6!8`"5a51.e6(!IhaQSG7P%8'@,/LjaO_tH`N=2LNN5U75h`=>DUeXk -!n0_Mkt/G5SGK,t@pj!5WhWLWnQ/#V=)gll2?cg:[\/F^bl^H<'\jggkmT7@q?R8Q -1K[(R>YNdZDEK%LPf9@@$]N@c%&,NroJ2@<$1nY7YV68HC^%Uh#9[%P!0RKCNY!,uXq#)ZV!?4dK1E#G`N@$J9akMugEXL-_^-]6j^9\i -G&SY*#brLLF>6;?D_'jZ,;m?`"2mA<"p_=#$784NTa#)%:]c2E)8I"*cIs<>"s+Uh -M_4Y\:'aC;mN*2@*Qf%XZTHJu/aB*LtI:LW9IC.?n;F(G-Q;.U[c1 -i-Yp*:^_gI"U\rY32 -N6)]uE";nYj91KWC[8,]G>;X:fK8h`#a-_Engk(ej9TZ!#9@,TNqZgb67l$ -=WfJ(?ntH,0E`Lf!rtpH8Fcj*5`dZ2P5(bG*6JA\&mK&EO)M;YKsjl%5f5.-B$N6@H0"='F;jkNYo98'Ap&53QheP3WMEhM$LpFd( -Iqdc3CZjBmp4$rRhNJN][PkYt_3*f!=^;Q1AAFZ,peWDi)))PpcB#oc<\8KaA\Qu?S.(,s!H>DL.MRbY6BUV^TMHr&N$]Mk'Z#VZilg!0 -FuL%A1$$R3;^mgMLG.\/A`F7G`aUY=$Y?V8+H[BW$3^KN@'!<](Q4u^3%^Y82(!53 -Ai%a1j2!P@bIga)*4/j"np+KsEFbkB.$4dg37-;bZg4KaK0P6?#+nW2d9;3uP0M=!b>SDe,1W&R_ -O?9o?2;qcJ)9sZRCla?lk^q:ii`,X-M/cXe$&N`HW$-rTpjB9##Wh2;#(^H$*/1*% -PSArW&3)qA5^@Hq!,$<6!1miE!.:ES!W7Cs#O1p^+(rq%I2kLt`+&o30if*UA3aZm -N'V^**JL3Bh!qSSCp&kT64:sPLgi3T,?cMrG6EUOADJub:A`'eKZh/5)dG3RIkHOP -TSY?bU'8CQ8o*'U'e_jW?ktWnr!F4UiIXK6LdGA?+j7;g(Bhu[][[2%Bh3=_LB9/5 -+ppVN'dAU#P'R=JG-D?0t#ecHk)\,q#KTFpI7!(W;8G8jpU[UXlc3G&P_ -A7.AcN.E\$*a`?O)kirD,b_#*lFk%Qd37>0-#&8u%3T@gWam.-@XqK,kJJ/;&!,gc --rq906*buj#QE2[m9=2[[r#,:qmi>L!VgI3-G`^i'k@#&57jLP#Z1ZB$%<,G`i'Sd -*2#%0PodPlgWFPa[c>O%*5=;TF+!^>cl_G4!-o;%.8hi#6NB"LK4*%Pf)ib71^o"& -!(%6M_)ko7"]q'a1B\j46k9CXpc7DY]r,N)H+mp`jn_/;0FWRtVlf7\i:"/6KO*5) -G_K5='URd0^k`d46?$$R$K4OU080Jkc4Z)GW6R)MiqTenMZTP$$?,hkKieM[l:)BQG,_Q/(&',UlBe)>qA-A#\ -)BG#^%8.6l?&%8T-Q'2u:b6&ZOYd]h\E+rFMmELnA.AXu0F,E*(^+6:$\En2"kUg2 -/s:`!!H:pB!5Kb@&io0hH!'cHW#Po4ESNXCSF5LG[sR]-19FqZGQCu,,3FETet2K(*LjUY,.Pr=AaB5/8&:!R]3DFaLp\NPE`+A -&i?.WfKLQT8LFUC"qAD,9a2`q+MlEl$Na8p$IC)VL1&dB_e=E#!UNL2JM8Z@Lp\-$ -/8-dN\2ll'koP?\H4LPk49oO&*L'ZJ\?Vtd!-l7sJuh@kd1FWV&3g?Vp1b:./m0Os -)(]QV.>$KR*ruq"'YmgKN)1EI)3ESo+:*5&pH%MQAP];N?ugcpat<[E[h1lE6j@U$ -)+'uF$<-:5PXH;"5tf&t04%M-OELdni(X8]3%t@E_Ap@9F:d@e6jURF,6UgO&OITE -#_;IJK@P#O!>l.HE+T9)TIBs#W`)rd>kT_UXa79:2d*+[B5H\%ZZ_)L=t;mPm5:`J -(6[3OHWOs!AZrMm`n&m+@;RT][C6q.h-4Z?DJedQ\(:iB>W[FR/Ap(aTR$!sfr/&: -.3SpT6Kf\8\ll##;k3p6m+o4WG,J$a]GFoDcE#&BDK0"g\"u-JOD^78*UgXB`q#oL -.ZmUi9=sr@pg6,YI`YUF]@[>ShlI--#W4Lk,`&]@83q``Fo]Aqk5O::+:phX57HJ; -15N.o,)'D<'k7@O$k]QB7^XFNK<05o!Sd\\Ft"F3'Qagt*o[@eP64-?q?Bcl$A*ds -"ecD?")Gl!B%\2"Ukq+j9UUS)Fq2Xi2^i6"V3Q(]=3?LK+d&KeU1q_\,.G07AXpl0 -mh0A-Ab<^\6NUZ>.>K_A-ng:\NYTF89o,Rt2e&$=V^1PP-__UO8;%)>$snJSHHSg?p&H>iI/j5S^n9V=@mT\+P;>LRI\]jgZo/s]FfnW -+pN^Q)\p75"q5Le!J^n<*T.?MifV:_LF#>*U6l:F@1EMF3,Je,ZQ=f?L=(FU8)A^U -XVJ4(P$3]ShnJCTcX:Q#Tm0:[JX[)T^b@+TO9un+6-_Dim]-TFeH$mo;u3`f#Xc+W -"/6W8!?krA3O:(SmFZl90A0<>Dt!Y>_9=r!9'P/&?is03f=MijmD0-6!H@D"U.$+X -j.8LF!89uH+mH).bTjC][rDO51W0TE*s$u&JRBdUn.Yr^2BZBi^@4I>n3T>>6NbsO -K@@q!#SR:r%"g5j!AH<^?kS)o4fCrCKNLqKaA"/*70CmJ"2HaE-o<%(/"rU\-aI8A -PU3g9.3C;]!Xn&j==BWufn,S+!g"^Z3$eUH&V7_2JG9eSJ.A;W3rom)JJpZs0GcWn -.O2ke/l:+Y94k)IEIn9mM'=E:K&J=55!p5N$fDaZ80*N],*n&7!^_+@<'[#T'14_k -U0KFg6j5sBkQ'NLJEfeF8l>\7$NYbsJ>aFgp^.'*;1\cc!3d>l-k$,3<365^XK(?Q -!"tUp=,i_S%eO"i=a^ibFoemWM#(TjbU,Lf@`B['_JEc&1hA,/Xtnq=M%MegOH9b] -l7T.a7UVmn"Cqdk?T6F+-8;bRRR+So)k%$Q!^IM&0J*;j/-BPu"'@_epcX9a%YQ@T -KSWHp1RWs]ZNe:,#E"IqTR6_FHlK=l3T,:8#^j]9Hj>0&#D3kK5]D6-E.sYc"dBr. -di\]2Gq#\oWONnHa;Y1_(]mMkJN,Li:_&.M^'.>E!+9@m9DHW(pHOIRJ1,C@L^=68 -5QL:o](^^+N`"J0p(&b1f2^ZCPWFp8<(2E -O:^9U]0HcQ0S5i7N"@A#qeMPn,uO%NQ?XU;WC>7iR,OU2_R -]aWeBommaMD,21pi<1:%R^\i@NR%f(K6U9bYaQc'a*"!&/9p:^%&";#l\SK89s=J04k0 -++\H-!H8c5&/GnLEf7nX,W/CBOR\I$2UsLm%blpYI9%/R[?njZP+.B>^_N^8n&<*] -Oe#[6eQ:?cK%EO/fC7JC9gB%0%KZ3F!m!ER#W`*=%0UoVJ='A4aDcYhE'5UhLG/db -19$$WA:S?(WCTMZcppTf4ePn77pmkLGSU?o,(X\VT/4Fo3^LHe7kf8WPFC\uo(GQg -9;Ym=!MQT\;@]?263-L@W,Pppp]H9H`s4+/LOtQ?aETiRGM;@"LHEe:!OE!O?Q;U4 -J@JCE!'c.0%0W*;"oOe1[CO&;]$B[1\b#,%(jq*@!/FZTJ3[%c(^>U0&HJ11JIi2o -5Ra5$%KR+S!@()8AMV%,(S\,J7!^p=>W?!H%fl:J*o5,srQeaad3;a?JMJSgq(&@) -0SlYJP/&4AJ09G?(BQiQJP[lMGX$`Z5(mkaKOc)+b+OG:;uijqK]iesj3!%.Q%Vlp -"BZ.e:e(ND7YKt6"R&l*kZn1E>m4%3"].pD^eHN@7>&)]Kl`?h+-.fi -$MYF!3\3[Gs$V_2USQ'b)EK'G,:$/:>cKu=iq/Qt0FJ"@UV])[)VcBM"Jh3fJIiLq -^_D?E$\?kJ#n561IB"F(B/ -Fl\5Am=dBfKoNSs-u1P>G#%Ar3S8aafp[XL7&nb2!a?i$eXiu:rsJiDY@*=k:`'7) -1P%eI5nH?d-jkYORYEeE!$HDg]t.Fa;nDcq(gr=MG7J#;^cHd"j@("%<7]oYa+'K#%BgFY:$'5Qb[X -"(3tRd1]ABe59&nd9t\UGhg])9+Cme"(;_)#U5;(<<us*qI1.13.[8MfH#:) -XahoUel#WA;J>_[fJ!_9jA=)/!^?An3$/28&Odo\_b@q7Lm0!f>)JqH2fPqWdEhX<`>nPOEf;$W8RJd]COe2)^ed(@^c]@XR^ -(Ak_%\M_lKhXWIPlHgKZel&:I95U,/OB\j+a!m%lMK5[5nb4.BY8dRs5Z@b'NnG?B -(ERSW>E+aaP?h;]!:X!=]7JMJH_SS"E& -ap4kf!#Th_p]C`q>6&VGKFeQF#U]Wq-@rrI05)+%TGW5u2"J'qEkbFn'3=\M::Q5h -[X3XHX1T!&.ZKQJommtMgg&?%M3As-f-`>6pJH&4>4k==$;_aoL`D"K('7#YJNtep -QoA[MQNeiC"t44+?u^]NESBVp!'"m$?j6gII>-2?"a'&6&53)F9:P]?K,2k%GToX> -+jPifYP<^-+X.:&cg.*@D>Fg>)^4nhF]]"j#!onV\8/?(`J1R1 -#,#CTE+.lo:g6PGKZHc9cq8tT*/-oj"[S1R?*<@]]556GGsT]i=$m4;!/Gf;J/E3Y -+9dHA1k:rMl-R"lkdl5WSn,3eG]f -K$YV@0Ha?S.O3QAU,5$(RO+`G4X-%@1m1'&P'R[TP6#ODief#@%]2X_3[-8.$3_W9 -Ged]B)8\jq6(BPI1`F;%_e<`1==k;F7)E@,J3Y(aLI4A3fOQfWP=d+kR:NHr,n:04 -&^\=H?ksRj_Lt7[8?QY3RZCk*i]%^69S/I"i)4hi#uRY$$*$lo(6Uud:kh5dP_^"t -MF.H=5]fgM&;fFeTf'.3!u),sU;;r0@14#[01.hGo(RRJ%:Om?\D2Apg,$I6%^3qTl/Vj));5fNp*an9*iCh -_J!7&%DaaP8-=NloN.Hr=e'X8B4Ne+8s5^H%8*qEY:RhOn,Rr*L[;o,*JS5CAegu, -=@WH]B]9U5igNCYG)nX_caXh7[Z1(@B"XgfH)L -F51t6c#m;.?/9\\(M2]PhKOtDHf!@#I=9^4n3.?clVLt*L!dLu*4eGj)X0;#Uhtmu -pkB67@[N0-M;n<50ob3diuf8\U$-a=Yms>3L+*bAmL\-mL,oSiD,TWQtjr,3b#nm&@CbOV1D/Y:!;gQps^dK@OSF'UFTe+7sel52->BN0QUiD)c^$3GID -0ao9;ESQKnke8^-4pZld#Y8oaj,,%2U"t]\=OoHl"+]e'NkVIJl\tha\1NVJ8<>)N -6(h&\Kn3?+J`*W(.Yo8mBA>6@"4-$cIY,&q+p_X!'HL]L\'PMM,QJ"n[IV%@i:t,J -.Wt4p\\;/[$==b7"[N1s"^n>F?_D-BODHR9d'+8%\4d3;/0BN&HsK$rrZQg9ie(Ws -$c:+B%C"&86T;Fh_H9D:7OZ7nk7V'(Zmg\S3Y;M(i#'A\ndQ0`&-[$4'B4[A#k:S; -Kcm2ZhM?+[0lA=k:l#](!IP)J&/Bf+>5AW2049HB#/3o:)k\_pFmcnn5mYU?UKW(f -cDEbFf2-Eh1!_lDoq]0Tr6(;hIm@8@5p1I0\G#G=K2FsUgel%Lc>Agi#a'EI("%I!=*'B -*7Q*M%BpC%L8YCsU::Med/XEhpeh8]5Tk[JILabe2'ESQ_6NW]_Va**@;,X,a2nb8 ->.#h>9kJ\RTUH5i=C23IF?'CFi$/6SME^$e?\%Zo00jcq5GILLJH9d=^posI5^5R! -?qM;(THOee!)bbeTJ&dM#TEle!=pO6QRdK(93'9I=%_P?)dr.8,J\?"6)FYeR%XQ? -KJrp^g^h4/`rqGC'>/9a#sj4k#0&&4"4J5"?Y#dZ&ZX,GW!;QRBIf)4Q86JN/k.Dj -S06CbX&?0998kBoVCX0YK=bk5JXBIJ^na$u?p#`hGSV%S'F0R_ZiW_DjoE;dFF[69 -/VdUB*LAU)Nc5=ca!_-3[q>$`X-I`+.-VbZ5^38`iH26!b#G#fAd^:B/;2(b'&iU! -#Je7c_Z3.2+VNM77S-9KL&_HK55pprqI2,o#s&n""(5UNJ+*p[^j%L;i7i+$U`)I+ -Ub\67ErZtA866@1HpK*A=>0`"^eDX&D?,6r3']I]`WLu6NN`gL`de73!uM-!@9`n' -E.J*X"=bV:;@J+UAH\DP%YCk-f"u=gJ"NnY)L#=-k_se*G`DB8:0FfYRBET3JBE=*t\,aP,h>h&1DLaIQ2F&,5 -)Sco"$ucP.`0^oFJUe"1!+lDNTJ6PffFqEG>8m3$EfC`G\taNN@9Fj<@;LE'dqu4p -G/bTX4'uiAh7.8>K2?(E-&"RiNp/IqgM'kS)]eW?GbOr=7NgdbKHQWh_Hd$KU215E -U]rRYp]hbuMusP?^NCrLlQ*bPG7P5hVEb^d+$]gS=*1>mjk=-._`USCOXq<"3*cg* -Zm(.\?4T?5H?2i(U9M*mL4QR*"lVF%JjANHJC']#5X\k:5SQ'pM!j9QgS.bUN.lN! -*DA>pGu779/3o#r&O:;'L*0/,2l_!_T\.Gcd"Dc.#Z:fA5VRd$^`l%RM&(Uu=q0s, -2ofS4*M^gYO$4mSRq$:&j4"&>?K+%^kiEZ>(h8B+(a?h9'+*TM%"]d=#K]4M?]+ef -B'&NqI)hTF?R-E5m-UE2?\&SVa*:1 -N]L]kq_1/:YX8T3??KmaFsgaBB52VQEd(p.GG)`qkA1Ig8dEO'0VE<1i/S0fYR:HR -K4*P^kN*$.np1;oM."\bkIc0D(4c`2I00+j@Nl#Sg^/dt$0X.&W4leu>(m.b+K3g" -CHR,\fX/FpNMtWmio"2m,_CPsK#fWpLc,Zl^4WYO$NQWD^jp[n`.\H58*HTR;&joP -+:Z,t$\5aB.!@=>VGD$nLdYo"BSqW0Oq/qG%,e*!TS!sB9S\C8#E^SN@(6[Hh@8Y< -%;30YBT!-E>(A"HJZ..Z0\g&f$jGlX+X.INM`d$`&:s?/r\.auY[2BB!;B41B]B@R -0qSSgXu6Kg#,$>J!-ed">R4`E"X(#]B#GL9+;\J-!5Z[f@G2dJ48D9"Mhqe^cE%#;?EOgCk7H`?j[lghF$8s -mc!^:!V/gUS.gE,'4B;mJC"WglG -#-3n2'ab9bTt#!6kQ!p5*c?lfO9$s%rb[5C!$U2u@E9@;$6"J!!PqqN^b-26_?8tA -"@mJ8LN3OU_@(lr$\5Gc5d1T'C^OR5#/HB,TOrlGi#o(%1M\tVlV=h15*PMo+gAU' -0Si6#'Z+Yj[Y#'5@(lgf^(EV$&OC(3_.X_E*#[_R!ZoFSNaCQ54e/*;uJm:!8KpE#7FiC?tKWdH3QWX%7!Sr -!B($'2T9+A!5ZMmTEZF>mRqHc*aesh@FtQGfG[!d)F6CciAqDJ9FW\/#JadOi+)t@ -5Qlepb)EJ+!($f>Op,f\MtD8/K,4pe1le[D,HVHtbb35qO9:"n8Mlc*9]4&%T[=I0 -b901UJ4]sF:'STC#SBj*J:bZ1Zj-+YcZQT`ch'7Mjti(ZDRuC=Z?0[co&"6il'C!SgPgD@cdd&-/4%TUlF^ -4:%U)"TW`b"1g2(&DB[&hD)97Z(4kBK2jd+DckV\]6Wp*AK -_O)#g*O749CfWaY8e8^"&"pH`i0XZjQj8.DSq[NA(!6hj=:%77+b97h!;$sj//1C; -9^i3F'q6f6`W0Ge'He/*+MIo-^]hM1"i*e61s,nEA663]=&37;Y?PYc?YB(dBJt]\ -(6*!NO(btaBm,bU[ZbG!R.DtA?`!a0+AE6!./,C;VIQN)DnI6T9)UVIVR_s(iAR0X&`%,Ei!a!-5$d -/mq_3#jMR0(l^41VbcTLYO2aYo`(!NAErVoX.UG3-l0TB(81[.cliHb]JsL:4`E&l -(A2hE?$8.?Fr+e78IoV[D$9S!33ZBZ(B8QEJTepm#!t$KJd2M#Cj0i@#EX=VaEY)> -M%JToLo=bj!6u"gbRTuH%emLL!8e-FXF'-J$V/HW!rFgY^jYD*ISh53i4fKSPR/Iq -#j@k0#P*+pL'UlO#Uh*Sf$m4[M%0e4JFN&Z;"Y?T1OB,G$t.!^83..*q%03eIb3t9 -J;o"#P8'[hJY9r>+PDD2@LG.H@_O?4DSGRAt#$:*)DT[FCE4:m'C!eF8LJY(h)0_]qY(P.*gpTcsS) -+E*q6_uQt$^j+TK^F#5VOC2sA?u_IZ[p5[U5*/GuP'lC*gNV+K,S8m#&E*BfT_](i -9FS_$"Q5RM!)Z1_a.bU="R$G4_D]b68JiWa+]D"@iugkpV5,?$Uj6:mTQc[Za9A6V -\%sO3!$E-[_>uJC!28/-H-Mji._MJ62dsQA?lBqL\Va#(Qcj&Q\X_VFBR['p@ -PH0#iX'4bfOAW,,9rj_c3?WnXTRI1IAdJ(d%q%j;5un&\=-BV\/Ks@'7(4C,mJmQF -m\.2lTt1th+;LRE"+^4TJ4'`pHir;U"[G$NFCle_U<1oe9*jAteAFGH4pI`2cEf@S -!*kPW7`fag"?Uh:ZuVMFN#BaUp -mC(^:b$dXR=!P^H@%,sQfE>U5W8^gW]E#d\TV7/V?mZUS)GQmQ"2N=jTLK3H"G+`Z>bJ!RGo.#7,Qg=V(18=% -EU&o.l5[SD*5P_XJQNCI/.Oq$"/(GSJ2RV=APJJ6=;ITEet^^m4k)VVe9sX4SOM&A -;:PPEeD49X-(epqEGD[nI4$O\]KOls=SVU>3Y.X&rIMi;ASt;D -#:a;dp"S*3OkMRC5(.l=0?8$T[KeJ3E8r1qj*#r$&-Q3kgdiOjr:a15Fd7K'"orfR -^f1Z9kRprS`j+GCdG5gO`YRJW;BS.6f1pBVAiXq_]ppDA8lI47rnoJHjel($,E'SGbQf]>'StQ$,Du9\(llhWXc9V -%0s7eOKX%EaaC:0I6nq^nA>ZIj:4A-JOj\j@'4t*q<9:\%u@4m?:YC$F9sno3\c8, -a:Ko\:Cej'K'4utQk^/+h%@H1&"\dgfL$:%\V$8hkWn-[5*4!*W.e^UPArR_\UhAj;T_qK)s2gSe3L7Pl4i+ct>e -1`Qon_kDnEJhJ4/"f-0`YaS=E7>Z]F@5*Wm,*0_'fJqNX.OZ<*-T&>E/@Ghd>(EK> -`!#U[J04B.bi3b.SknNk)>+>f6_dLm'M;@Grr)m^T3qoYhuNOu!+(\Y)l^UVE&E1U -CB]M-@KeWVi5Rh5*k,($eE@IT#d,*t$U`q4!/*^d^>CT\$kRmk+V>!6(m0'Q>Vm=W -`gH+Kb\N6]N<\'@c=8`&)@a]];8C[t3?!n%!g>Bm0VN@c>Al27c0bX[^AneeB'tkq -V9U._(W4;unob%>MpRXW"s?2EL'3(9B/?@1k5-%aa&BP"lXr=#SE?$Ieamst*_d4& -&iq"nLSN8ts691uHp0b,kNmEk*C%BmFT9-Q#]q+PYLn*u6"0*p"MsST)$N=1PT]t@ -0E_I[LMu68"2eS=DBoS*OK($hK*`G-&V\j_?(F50e9c]n\b#kD8*Br%WKG=!W1S(7 -oQ,OQ3HbQBKRb7;N?Ga\-3F<_?jm5^a>=>uZFm:j96/Oo.g'232)#-*n3"GgP<_qY -KctDA(P[nTDB&llr&FJhJ`((ZKgAgA&qn(Xs$4pF'am?)!D$0)"fu8,)2>u;D[X:c -XW9T$e,Vuq0>R'@%tfDr4#$hXjKhca[7%DPLL@'*0*3?f!X=`3ckK1i5WN@cJ>Q2F -!ZK)R#&hRq3SXV*a/Auaa6I-(Ip(?BmJnusJHG?q[>.N+!UN%Y%A_98a%?5I2MGMh$6s++Q;-38a,GWlLg@/A!1GLL1hH2=/@2C -hVl`Mc/o)C:b.XckmUalk(j^b*+1M@HN5G"IAo0:UOJl(^fd*sK4KM2'T->g?60>" -=DA\Y)&`[a#3#&Z*[.6PH5Hm6=DL&(L_fK3TM5eXp1L)=>C'0UaHRKt"%Z0COPoX9 -;hChpOp7&`@[0V]i8I)[5^J?P(#8$mpTNCBtJJ -JRDRpmm>Z'/J)=[!`];U8W!_>L@>[kFBm\(FF\!qD?gs<-o+,I5le88K7Xq@%0^.T -1(=(F+2q4/o(UK'I6VAlpO.O@g\?5IQg=GGs/5DaIm<,js$*F^s'Q67J5@!_5^3M8 -?o/4A&2"2QfHC>>PRi@b7LDG+/I#U`pIq6)'#F'@mX^0J"lRN8Y$b_`QXQA&B=U%. -j!;lO)Y.Id\H&qcoOQX>15BiAGsh@:%q/F"LiEbG7!O[79\V!$#W2P`VK0>D/5qB; -;C'4pYn^]8NeXX4)o_F)$_/27Mc!e9`L+mg@m^QY##NK2(tTYcP9;X#?k.de.LLbq%1*'( -!sW00!$g^_&&`ec8^R&/,Kt4Z;9h)85hZtR9NR"b5TYM:/I8XVGK/9=H]R.f#;P(B -8*Q-jk#?DiF!bKmq40?SCt"gd;JAj.YfFu@lnk]d_&gU$B&b/gSYq[9*>-A91%L=96Q;*^s:!p9=j_AGTHe20#/nD?W$ -<>,e7O>7!4Z5,bd7L7!n)1lg&$'XR&KRgUS-_^`Rb^kl_<4">WnEEV6KeoF]UbN&l -ED+1Y3i@O\S^Zk1(T6J!$K55=Kcm0(l"TksTZ.S2OAAh)!%+8PV#,f&W"d+9B<.;> -1KEqf=@4*=$rrUcdr<3,_]<(m_4nD90[q%WQ"gX@eHFC[?pK:&HB8\u&VCEi&qWYG -V;Zqcdi'bT.R6l;(,ct]#Y@;5cq"HD*%cl;[9>(4Rg_SlcNIH;AES@cSUe/`TMUV] -!e%,JJR64B:oeD!#XJ_0YSLGX9-gE(]:?>#F2R#Y$dd*o?B+[9gj=HiAjArlJL4V, -Z!%:LB[\:qL]\,1j8at"WbS@aC]KU%.)<']%D[cXKd'2&JS7Fp5iUj/gYg'W&2o4f -N$j4]RNk)MN#A9>AmNEYG"7YTBqnc5NDWu'KA=!D!4%X?V8u3g^cD`$]H78A>S+,Q -7L=UL-!tV^H3/bh$=QaG"X'@b/mq3pTb&B"!.k`tO?No"d0###":a@$GAjUXptNke -OC:%6D#"PS6>H6#j:4i)=Z4'+Cl=Nu-<&&)1;)]+PR>8uB`qk76NP4I"U-U'!J;eE -!&<2g>j21&)7JtqpG8Y8o`bGE3.d7M-G\i6(uRMdO$Eh22).-4hun7_E""K*!"0Jalj&<]YQVha2$1SH -no+9I#*g[/"8,%r=0Q5*J\i'++UB61d"L=Ca=jh+?].fG0FIT\MG:=>a7,np@mU/` -jG51DQuGQjJE!>QBiX[LFLRupa<(OM?kIuu0iUER.0X*a('GLd$/fsj*J+QOVs!.#Q7+D;GH ->Yc"FW&h^:lQ0F>H*#6Ok]K6mCCP!\@UQ"d>8T(O%@t0kW@A@nLc''8llguMJj]Yp -(^bep.0Y6$'nVf'$9-`eiin:J65Vul_#,5ToE?OldA;\`IDQ(_NXPt;?j.^$4G".4 --@in!(a(eG9(C6X4Wj!8Y(7Pb+i46"#b(i]CaoH.X3/6A,Qq"*73nfbJN,:c:_!Uo -UP5HAL1-qa(jpi>I(rL#J/EE_i!0GD7Y&QLK-1^-(aOXq,_9nD!HWc5/!lp_$pc\# -5thtY>SFqi'gZpW6$sP9N#G!8)aTu5_5nVBg`8]I*5VINUenc+#sp$iFb+!fUnGa= -&XOAT_5@o*,!m1Var;/5H9ul!V]34B8iFQ8^I$^06MYi"=ZNnjs!!CM]EBrV<&PTH -Gp_1fR;=@(aqm7K-o(?J_e_3Igb,@L4@@mh(IC0PniQrh!i+G8_pWQN)A%I/JUo7, -*O.:T@mc1f%tPpUXgB@l$eW.\[BT^"!8p5!!!e5YFoWY.0GF`,HdN/HFFYKUL6)QC -OBmBe>m.)7KV14(+>j3;(BOqUV?$<:,%6OQ@mg_f`_9o4>X_+]B#\@o7Z;!tX>iD; -^r![%%\tYn9PHtDDaru3-W5+;Wd"P1Hn5gSW5't);V$H2L4W%?*!1\i);KdHa8pPc --ibRqjF/Z6_Lh-'!iRRMUDEtN,V#7FXicm-8sKg2ciP\OK!7']iin%bT7YuQaND^X -\1L84O%A!K!m8h=a=2^meZ>\oO5df%JuL1+WfXf;JnfYSRXHR;IOFK@8CW[$`-qdK -Rj[QQ8*#XZcm^st+qBtZ$t'jk\k'+f^FXnd!K\M9,^2eBXt7@?8(+H&L`=CGJW+gk -3,g!lMRps3OTNI[K%tp/Ukb_XV+Z,WX8.-6/:B"p.E]NEX]Qr#@bWKM`N@X.`gji^ -@@S34%1ij_Xu*sb"N@(mN<3KS!:W:nW*QR1ECDj1)L8:#CsE:\C9TZmJA=n^+;0;G -#(eoDJaefGAAO\$JI*/6JUe`F&4_9'7m/Bq$.Eu$UfW=:DLa]aKqJ^*Qp6,r5(Z<@ -!]o5C^`e<>'`tEn#^aM\QfLCOIgD\^8:@Lc,BFY/U!X)%Z!;Jd2 -GS5XJ/qHhOJp8)`E$Kpq,6@QXbu@(to[]F_.PaXIU_4:h.)j>+7OMYfcohOhZBD1: -80L&C1*T$)]1YeJ7OM:[!DjhhQkG",1P$)n"BZ*9:g=BBe%fK!&c,JNm+g!"(I)<# -$FkBe5QM*TD?(es"`OTuGWYtN4G"CWJfkhZ^_[#"%"U-11g3;3n.2/JlfJTSd];[924lCKIp%=jC!dVU3JU)#k/GrXcUAQbeoV"6ucR -3MCG?4=*-Q+eI0-51Am^e."Q>qh\9$^f/(6e3Q,/QmVor-3Fho"/lk8TMGR7:52:E -##*jf:j;sGGQqg`L1jP:BN50`#_XlbJ=nQH^^C1e&YC@I -LOaDq.!!Q,C4uWqK_RBT-o="8i4CuM4%Y[K>r9f;Mcd*?:[O-D\g4o*C4Y]b6qr\E -)07nS@?5C9TuE-2(a/p)+>FE^!AH3&a@"5a=bctZLB@PhR+mVFIa[GM#)EG;J4osa -9>CfcV;1s)$eYrgq1pG]`UG#kkU_@J&He!5KH""r5Y$@_7g,1gKTu"&+@],I6j(?r -"$dJ$0Iq]F.Y;=M!am2QQm%%63^0g8!Y?4N!%J"W.0Ct3!u[g9/-E[nT@&A2$5jn] -3?X)"!J_dnJ5B'D+>&-U%99>=!BPCT@S27!'EZ?@JFfQ:W)Em;#6kn"L?[i(!.Tbi -kQRU`"e\)1YWm`4%N>BWJbTq0a;%^%JALk!63Z:R*T:\o_H2n[#=Z@]T-[LrD,WGh+4%@p_6i&(FRiEZs3`Jg6UDZ$\jc#sF5>UC(=P`\< -@p=N*r/]nq?PW@nh>)jI29$[/6oC2qZQ:?.ra1ro6Zr.@p&h0k6)2"MRHkm- -]K>,=.q54s`tEQnGf6#mNIj!<80"?*N]&DgOocP>-lT$4)NfuIfn'JWA'3HafIDKY -fZ>fpO-h#ir.I&ZKdfEgj@bU_TI.b@X=\ -?mpUj@h6eZ9(I3s\Gp+59nH\:8Kt`tHI+7_1GEEJonV9r7n1QD/CI)/R9$rd%:H-imEt0@3/m8-T8`iWk^m4U&d;''][_Q%Z@n -JN,3;!$6^<(]hMM+kCg1)G6K%Y^t^_!D"[CO:;>NXp0#%=lV;nD1RHb>l]C[KG!.I ->2P/b-j,8;K7r[rJ5QBO;8>/$!,,jH@SnEWAd32Y#&^%h+D$:("pRhdL!WPEefTG[ -4bF:\!sg?,I%l1b+dpH=?\U6NI/fu\6-u]&UagRJe"1=rZYM!YS^\mk[0P%d.k*"o -\Akl@+;o`$(kLlb!T54(3$SNM%teh!J='4=fE6lXh450Wgci\_@fR,N))l5QL(gG; -=9\n9.Y*m:!RM2TfG4Is(4c"E\PU1p&qSD%P,&O9P^%f.[4F0;;)K]>kSU2):u%&G -I@QC021S'C4tg7e-6]s0*!-qO\U=u(isb/E6>4U2;"\]YjmIBBmXfD=..e#kkAFt[ -JnPsP=>>@t0a#c7"3==KBOu^-A`9fF$.*pI#^D)c"9srj!,u(oJ-lF01B=@0!S@d2 -jki?T'9sFj'^3A5Tg;\_'qNLqen/:Y?NtIaa=MqUAb^gQ\O?Nr5QN_i*O8(u&MYBd -.b:g6!6b=k\.XB!$3CbkQ%1uIE'/ecb1qeL"dfCGQskLn@KrJ+L7iR;&9>+MG*Y[F -lqYP-8lNCdH(:gU-'2uI&5`O7?T^TCHNjnEuB3.cm?>d1^#3:KH\Bi2LYiubXGeP&_>U=!18M1b(T@]K0Ui9?>9La -X,')7Y`_\b"geBA;#mgs`?8NB-jKr,3e^rK"^Kc7FfPV&mK3/2 -!Ji(Rj?m.eb^nsqJ_22uGU!9O'nUrrJIjgF8.#McDh'fcoA:^[Z-SQ\;ph7["X!r% --nkXW0S)ItJOgOW&/G:s'`iVQK!((8\.F:k9E;k$Ktmrt\8-U[CY@b@#;?/`0NEX" -u437&CA^5`)W?>HN4V(#H.Y.X0)YO;Oi@%fn_=G2MV=UhjJK" -&+dLQs./a/^AIr%HhY>R!p*n,p>XZ^VWKN/(WLhGF5msT$qTZnIQV.MJ1=H_X;Ld7 -o$Jh:WVlUSb#(0M_hTqoash!M-ho#YJ0Y]^!otho9Dk],BGeB-UIg7hj3QM4GMW5d -h0o=[IL"Cn7$N(m^aMBD1nYL1)8?$HhgQ+"IXg1qO4?bKb"Y4BVBF![.ZqZl&Kr>4 -:mf5B\me:!,"[`XA%TTY8qXu9FdqV)r2):4J'=if+V4*k9*BU;)EXs0LPPsT"A==[ -TYrT'#]C(cMT%p0BWtkt(C\;N&YrSc16'=a;>B4(4X#tZjO,JFQ;]/r94a:^>fL&) -QqZYk=iAa!2B%P[6]o1ZH9@l3-f^'AdW7@<;^p5-Kf5]%WE!\uHN5n9t -_#Re*.uHs.A;`D_c$k0bYM]N[5lS7WDDk"p"n(dZ4.O)f1@--p6&1OIZ!f!j:`2b^ -\D1eC:0g9n;(GJ#eXR%\3.T:%^]Eu&J*?a_(K_:#_?[N%I7sYN'T/74G4rq644J3=;YV@J._#2ZqUtqZ5u7CjD"]BUQAZB -J@R'bK*+Yj%#;X>1_!S' -K>>8d&d&.W:^_t#W%&_o5_ud3!Q4Fo"V`9(%U>GF+ej)Z#>sCZ*XB1THd6XPCHAS] -Jb`NA;0gT,!=$q@$PYs182X>i<>e;]_:WiM-u(Mg9PJV9's$Y(cFL#lg>9TIll."b -ZKsY952U3CUO+^"J[f5/LB33J\V@r1@N+Y8Y2%%`N++S7#D(fV*iNMmWh/\W?HpJ9 -aNZM3;Db+tWisq$Ha[d.kcbbY_uMtc'YpD85F=q(%W3?'$148UfuIL/RfH$_21TZJ]b)+TJcGkG^VnEMg-k@SLq@#8Da -K4Jrb&e8Bt>V(ZH\9l.lPcZ&JDaE;l*JbkhIo2.-i%@`m^a*\+O9.UE_4;[G;-=es -%0BP)Z$#:BFTHU77ag$inR[pOa\rQ(qUXF"D!HgQ8D'UeJY,mBoTC#2b+_D*92EhN`"Lk7sO\J -A)qlqdI'6>f`<5V'SVW'r@EN]rX"Z0LJ`pp\L@h-UDj8n.4$<32!HjpADqtbZ;JWa -(=&[$,+Ffl3`J^s<8%aYQuN,f__j,kV#e6%Q'1!'bCW#/6(GTSP3,B!R35A\J2o%C -8Z*8jD(m8@ba26lB2'851s10,-`U>D2&.D_$<(Q'd[Fh`e1=!R?n)=&V(I9q4pV/j -c3&(%%KXp9#luG"6PE#0KCE1X:(UY@TR]1^J2/Fi=;2KZr!//=TE<,a?lFZ2"HAPV -!XA$%P@5cMaCr?+K`$E#R,5-@j."<+WY.c

      b%7LRWj31P -*JLOp)T#U''k1q15R6t5WOZ0CJZD4>"Z;lm+0)STlp[JMFiLRa`s`J)HC6^j!kP)T -14]u?HU>ds&(h)]@-*BE.7@DXeKPugm5gVTX\Qo;n9m3s27Pm$o`._:.n`1aD7DJ6 -D%U/dL60B#,5!^heD%4bb"5)OV%q.p3gFll-/#rUJ?9R']gJH@m4F%9BSeE",_E6L -$@qI[".&G'9GQf;g+k.`gd#-i-mJAWri#[LNG1$I`Rf`_*AH9Q37)n`_!/%NpUNCV\#Oq9aA&rG9 -Trp$KLqFDZBMXE!7NV]Q/IMRJ)RTQY;@FTF.d,ae&URc5:b`PH9f^&mZ4[_#:e:s: -6mr3=WYGT.&LS"[\J -56jj&(BgC'&jsGS%cW][$:0OOL*55aD#3l^X[T12,S!@T=9=J%8co5NF97$C.fka5 -&4#GF"^luucC2h)V*\RVV?el-@)+*SaI&Z25]hNRd>sEa2Uo1>+9qom%"t:^"G5\N%&'U*#,'fU"*ebd!QUacnD"-KF;G@:6j\PY -H3HV(3rs28fi(#f'tM=H>j[2@82$phBi -"lTG-!l0m2_,sDsjT%"_s4+5_:pit\-1e>_[#;+^P"+-Mp -14rF.D\9\q`r'a]?s`;R3+#LKr\]Hj"WRLB0Q$iptB@1j?+()DJ8 -!+ES^^]GP%efM$]7qQEUiR@iNe/P%b)khWZ_0usr(_Imd!`.)Ci)X=&8ct_?@L3O+ -OPJk-islX`%IiZn;!eaSmgi7d&!6;ld.\(?q[a>E&5`fH0b4hG1m'4&OeicI+D@0W -7&X__P!XDVid2*b9q'QI=3&O;iMHP;N6 -.;9hNJrZ5[.h^!g'JX;ruT>JNF, -J2iT=igslLT(.CY0.$nb$4+GM"[K'ri(=EnqubmR&u*#R5UmKLA-,&+2F2B@!JD4C -jqIeJ'B'u7JK,1C5Ru_l<0'3LDbRrSFD].hPK@L:WKQbu]bhA0(ih&L;C`t)0-a@H -,&ntH0G<12Gp>(),\hcm6j,n-VEi=DED=kEi\C^RNjh8QWbV%,"?o/qE'<7?(.l+b -+srhC<'^mr,j`*0TN26U.4'S2-*ipfd30t0Rjo&K-4?WZlWup]1FV<@6VDYgd\SK- -UF]d%o@ -07kU_"=aT:h'Z*-.I1t,$`G7"X""orQ=W_O')5RtV4TY\DDiP6Jl"s)[h -!(#uZK&4P080)(F*GfC+^`F?//d$YU%,b"l^jlVsIKtKFDf]m@%'_DlVQ.Kc-pW(b -+p?1VX:1cC%"RM-_"U1rq@A,O&&A#PT_&a;o&r?p6=@e@%-'Y3OPG]77>*^,dWT@J -FL30^cJZH,^thK\^'h`f#iLXIj=CPo9V6i%$_[D"_"f'\4rAeg(l!T!'9c#Uj%9Gr -)dj'n@9`iL>S'.S&4";=^r?\27L=T["TW6bnlA!"H?3J)$Xcd=+Vk02'Gl9B(LaIs -!R6,QWHA'OVOfJQ`'t=r+m`(?SF0 -+`CS9C&m40>+nCs!#uOM\,nq,$=G+dJF3Hrn.S&$'4GbY_/L7,$5gUV8FFV?+j^3T -clN/g*Wr,Y%!$!B;bD/-/[Y0Q:QcO>"r%(4"5rk[i(sd,!$`d>bVU5YVQDcM6Sqdh -A9LCPJmR'Kg]tW&#Cr6H@$Z"e\.$/F%'g-I:Q%r?ZXpqlQE-5D)p!J-F%[Lc1^%0S5.i2A`#/(P/Sf@G1^4g3Z1M@):t* -6093G"*_(roZ8pioE -%_tC@TY:R0\dAF<$.e,[EIT..+!KenL)=Q_fP?KaBoZ:X/$"`4OP!XK*? -_6-&lY(7Op_!DQHlHZ'"?,1%Ti*lu-:'cBU"Q6JY!;7/C-5El2*#]]=UErV+>O&,EWb6s -!aql;TGS97NW>c5)rLii#W@/5QO/9)?:$] -&>\`8hkh>:a+tJ)"QF(?p_;X7'^@dlDpf'j9F7"ApYm!!V[[/20;!W9S:#[p)9?k] -Jg5eU!N,&c?t'@$r!7h_"TYsAT]$nj4p1lWMkK8C^d\d'QjZd0DeAj\V_W)10Rbu2 -;OI0Adlkapc>B<\#8&ctFVY5_C'VsP#[i_uP^3O!L^8N=Wut`Rp/lQ+ODc9$"CU0d -_-M0agUl&=1YX&V9Pb`1Q5BTC(`,FNI0^;[Q,[(''u2(0bMYCs`.h^`"[S(K!K%Hh -7M,Wd#/HH.TQ"WGDK=+k-L#e/WuE -*1O;U@H7D3jR.GN+$oT#,i@"%5IN[IgLEU`7,f3%"<>6?!C8mV^a9EH10GXI"$eTs -?/,NFiSIki#p:W&5lLeX!F&uL_kE_C+9WZ-jo>GFg5L%lhuk%YM?'?.>+nOF!<hE0d>3TOL2jF0JWSkb>$(16SNL,e[@;0JG.T7oqC -&cHFar6i1o5kgX8;R'Bf$!2g?IqZ>R\HsF7]QrZ=PN`[1L?%$D0p%d"SM$m[k%^BA -=G_jZ0o7WqM4!;;@$:/4ZiqSW3e5Qe>maQHmLUL)&,cbD#FGnWU'4qr`#ss8H1\$0 -dK]Kubl3mjrg3*R!q@^bk2-4.f[-)^o?=$PC#4i1h[T,rdQXH&,%Mb')-o\g1.6dV -6oc8>ErRj9/X=(0oU=>%U^fXnLR2e9.iDXa+%u3/eb3?[p7G_\66JTMPP6=-o)EY% -he2]`CR5\BoAfp(fm:h+P!B]o6pH7pfo,J8dR*t@q;4"s,UKBeA4,poqS.ITm/rQ1 -YOMQ:Rp9\4q7cO4^M$rM-6EEhM/VfIT'q4O);l8Jcq/0Wq#s65"I"ea+oobUL=*t; -8PF:]*0(4J@Aq7Z1`;7H;+R3X0c,g?4u8$h -cnoLU,d:_[Qu,Ym;]":)7UR)Vr; -PG'4h>e85u)%;+O=hag7K^7r[m+QQB]9+;NgO3/(^p"Gka9;+2B*.H6]tk/P[?'[N^jb> -o72DN+je;@8gP(jjJ!5+6o#J_KL)8m8%u70e7pQN9-g6',^qp!7##0C0[nB7+:njN -diZ7"nOn9)#K"759r\kbLSB@XQ5#0#=@P.]@(A+*JVI?sFWNdcjEuJ*b81L?&??NR -6SQG;$cB3u4UsjG!O;hI"]-UHO$Nd<08/?KRMC[;.mk43M`?k8LuTu#5_J+m0FX-+ -BI6b5-5iZa)J8IMD]KrLdWg:TN#[*aJ._"A*bT-lG,QcLTQ&"blDABdTM__&!G6VA -"rSa9*+D=t;?fXOJIptSMo'.0-&4(*C=,j7"U9s@W0:[/LF?8Hg7_rjDV1Z!XUOh+ -BT-e%:fP[FMCiLdAfHIJWYc[DU@Ap-&LFY*>0VdnX9>!4(^tDT!%H;C*@FYjFW@&/ -aJkX5BGP3G[:'m]Ob4KE0aN>LKHCBVj[bTCiG_s9"T^SX&R2^:^M\\_!'UkpT]e-? ->p.cX%YMRd6$Q]pBKQ`0G -iS\l"LV`2$7^c8R2n2djQGpE&4/VJYD`b,r]Pj:jqnR.J(B))q."H,k<$AK$B8[p( -YW%5fCjJ>Z!8/DhK&lGu$C'X#.T2L=YsPOUA8!qkX+SdO&e/)bYTnjr-tp$X+dV#p -;?=0Fg4pACbI7\FIr41aIO\SC"sLdJ(5X6f<%SPF5gVNE_iX^-%qHePl%DeC5X5jq -q"d&T6`A]NNIrWO131E_?a@s!H-@Ud^C.ue,YP2q#63P`rZ>[704VH'7lfN#N4AZ"0cSOJ\eW8 -cNo@>77)D/qs'3(ZR=V%+2]g`piEs6bIbr!Ue_F;KI`?P$U% -6&@iB,t/(G'I($i$K5Ls"dH,);)h[85SPXMBFGKHfEVY,4;YjW'F:cG'sG`8^ZI$E -R1gWQ9PKnMAo,YYdme"F3M/0@Ph):e?>WE)\Mbf,gRIeXE)&F43G/c`S_7L+a"r2DAatkYm2/A9#)W -KcU\f71Z&u6B+j23CIQE1578<*k$-($^?>^UXZ0#d\9N)Lm9Td[([F+b%OGH3&IQ!q5,XYETi;q_9PMA-CoT0/[YK1''WjHo'V_<;E**I`=m0 -,Qsd%(9NIEn_?AdL9AH=K^`"U6C950/Slp@YYZ+9GYncTYU"lE?4[P'4&G-.q`[pT<]$I8>tM`%IDIPV^c#r ->.Zq5/HqCsk+L3BTO2OF=fe8c[bY/L?YrMC['iH(i0oj2DS^J827Crk>U*3`m>7jO -f(.kW/!4s,[F;`(iSP*!KGF8Q\tB@0O8oU -rPcF9k2Y4f3BeV%>p.@XdgD2b*>D1Q3kBp@gj+q -Sg.9/:`0AV!=pN74kUeq6j)KM&!X@]5T&l*+?3c:;%Hk4Ehof)dgY0I1os --GH_(*ru(^'-L[UWj-:q?ihSm"+UI`"M?Vm8Cn]o1h/(FCQ_*(4V&]T'8*RQ5UO\@@JO!HM+H/79cnHg^EI9F`q\0lug]5B6]di"m%Z$dn$3L!""bAo]fA(]/ -c$csl5dbBZasmt>&4$W#ZnR47^`C=sFqM<@;&pea*jm\DeHYY*L@Et;K9%H3'`)4bpLR#'6^cK_E_'B1smo1=ck"?mc+c -e.dNhH4'c3>6No!Wec4B"9l*8)T.i:O$Eb01Ya&.)o$Z2Xlr!t5gpC>>YYKB8/[#% -D/k+31uktF&&EKRbdGeL5_.GI"K34OJuB$6Tn!6b#3[%ar@];4EuRU4dK*iJ/<""b -r*U)D(#VbdMEi^@`5if0!]UXFf2NYS+D2%sUacMIoLo;VTl']?O4f4"U=@1`!=t5qIRFkEn3c5$ -j]ms6kR.Ks[KM3?Hi_(U:]R1S0`WoGO<^B@%nGq,,L\\a"7USd&`u''(ucGV'PNHP -$QB'cDZD#qOo#sb]m#r1A9m*XJ0EsaLFCFK@lR`/0gZ&^pk8ge&"a%bk3(;-#3@A'`j)s*%39^VffoV*:jZfJ*Ugh_5B[/1?51#DLf>!,,f,(hSMa -"U:'%J66IhGr6.(AHh9&L$2TgOB7,9$\\REJG;9rfIO$ALoH!D3^X0,WSJ_TR&s<_ -5u"n2eOkc4mAP_EdIJ?Vim --qQEi'7K(oWS!&4J80nUk\""5u+Lbo3i$Nl2IJCm!f -&.ga=%#"50L&c1C-uargi.n62#H!.Zmoco$GH#QmbC"&*cg&1W3l.jSdR -`qU@#\/55X$iqs -Jq#0K'/YX_^RC!.PS>rinZ[:/.WcB>N0_R*OU4(1\jDO`TsCo8QUu^j.ZBOiKUg/3 -S4WpVaqUI?+H7j*8Ld9bX@!@FH+qDUQ8g(gWk,9u["9duYU^?l8dRepH/".+:R(^^ -X$!TlK,mTAY-_r]#[5.P>P1T>Tuu0#bCmFLI(G-f(oXFjb%.GD[(8nm^9%t"/KmWd -4@,2gS'1HBbNnsWFN1M#a00m39Q\A"Urgifa\9Xqbfn8SeBZ;!cck1kbk0:W"OYIN -d`k2.9iTTd>h%#/f?Bc(bP^%tA"kP(hQW(_)a)q-!Ct@%fh>B!#cemZ5X`C!@>A4k -LL]"mS1?so`$>1>#9X)'+sM`aX+USH!^sAZm,61[SrGh)$S1ZI+?(B59*!%*L"HWa -csqT6@g7_lL59^I3,SpK#)47#J=omFOrsk2&;-o5!C/1:l"M[gZnkO7!dGI^BJff= -1^"X+KF(H]n -,lpgfK;]=`W)/#C:kfqjOW\J8J9T:d/lXu%_V=8YBY+Cl.L8'RJ]JZZ')/tQVu`?n -ZT'E8:aq#V'*Bs1KF@(!#[n+iZNdpVJ3[tWODlFXDcC6l:XE)]aA9Zh1k[PF!=1ah -5aj3e15ffg3X#W2m,0=,6\oa>W`55tM+P9]93*a2b=&Lk.tE4Z('7@7"%4jM^fUd8 -#6k')"pgcS(g6p$=jQ;&K7FO9Hk*3u,g[q\:?8`CeCMit(95.^4BZ]Tlbe9&CUB80 -fCWaMD -#]i'5C(&*je6t'uSE;tKO'*LIN'lc(\71.Hciba,d`<&R'k")QdtD+>!,,nJW25T4 -$.-ed#!`EJ5Y$A*Jq8_-![&D5(`rdXBuCq>McB,f#`:,l)kFJXJTr)aJ.mKY'S,Ze -JJ\dr+:s(=&HMS7!5ZYQ5\_B)r[Y6 -@C@07jrNFS*D#aOW#`HPgn$(XQV!I6\iJS?18EiOiF4+/@Z[q\`XY+;#c*W,!8\@i"3:L&'.U4$A'R5g=;=p> -g1(=B8M%N6XPPF(h..!`itb'n*_$k)&RnVpiasTLDFNQD^n'5U/M+d"VFP1*9'$7Q -AI_Mt(/j6%5] -.JO)=",;r7#;["KHe?uaNX+Kh!"aJ1q(Ff`CHrG?3p9]SYXgt4JE?2OeAIq&Wk&8Q -44"1L]$O-ci)#l(<0@5SKJ3mh.6A3^R_#%]J\EuIOr3BP8Xjff!OsHWJ0b9t'nYu@ -K9/lZcqajJ#)6+d=X5V'qiZZs7f_I:Q<5jlGUX#6+ONa01lW9%8/*nj+AsU>2*a24 -&3tnV7>+e=KXE\FGW>i`/V;V&Jp8XP\0Z_t,Q^4Y;1L@-fK&4QB!nj3"IMbq?qAmG -2hQHNf".mrJ/a(UX4&3XK2jd_7]u#L:'1MgA*uQ3)YAT;`W?]*!AH0ZkRI^Q9`Uh[ -Ktmos^hWp0CI -]@bd*I\YrUUUA^[_(:@l!=+0_#:OG>:i1r;#)7Y-!4Ys[a:O!AScVZ8!N6fcQl)sj -jKIk2%6F/8!q*93!j>.PPaP.m$Ymo4N\-(bNDLVrGT6cE'nS,l<:bQkkRRdZ8cZ@m -Kbt,M&5rRr;[#u("]/0KQrL\*8V#_jKKp(O5X,8L5(fL>"->A@#W)VX&d%8GJN1jS -:a6#I(4l6$JTr0h?='Qj;3Z@`\k_4XPeL]h\J6='ed*dW81N4n2pNgD!6@c.5Y@1> -9*A\QB["oD3d;Imh&cire!D;+RMLY^VG(B!?-Rj-=J-gg`6\&Q3 -L%#0Jn7hq?C->0N>h4c&=UVrGGd;j-!,u1SYj*`fcs;'7EBkR[jW-\h[(LBbp>%?V4NfS?VDgA+m,&6Ckg -495FDQ>dutqS:^WN@_p^PZ%oM3T(q*6khqrBE&2-BT;,r^UO^c!lQpK3629-D#d+D -#<2fK;(Ia=SSWh$6[!7NJ8S@hDh'fcLHknG6P10WNUgu$$kq:LHP5JN=9+^iKLcT+ -6.Q-EkpuWS":u(H$SF3=C_H7g2fpY(foKssTnXZq"s?>8#XnfF)$5%*JZ'[li#71% -5t!%O#k6>@=;F!fo)UNWJLD([msY8X%q.F+WnM'O:_A6Q&clAQJS5u':`BJ'&H\Ue -J@I[ocj#0M<<,9a-'2@33*_0i",5GrL!X)#5ZIeTh==!s7-%Wi=J]JLT -\.iG.S"tXI(If%(3"EU2%epQciVjnWf:r*hU\Z(.qDY6s8#?'+VYZ(FHC(Q+Q6=9R -+nK2$@Q+N`*[H`B=9r5-NJ`Vj+PgXlN0%L%(CNZ`Yu%)g-R4bp`e-:B'9>TC -:q8Ce<8j/rAk=8"3;e.ec]8<`Z.T,-5:.$MAUS!V>^b6N&ns3!Gs$F:*f@S7T(bW8 -,&g,d1KPA6M,\M9.'j^JCcK3!U$f1@RT-r7kI@m/5qL8JMoFV6m-`@/oSA6l'COp*.W!4/q -#S:sGi$$s)!%5VT!2!(%#m3ETam9#!a-[!TX9WI`!Z]5\$ud(lBpMp(V4g!]'>sl= -5R\f,^``m@#\k1\JV[PJ0O\'c_1g)=?l+OULg_mY'"D2^"fqu5_$-#J[jEA/\mgdI -C\5("L']'b)*2Z2Y.t7%OE_NG66K;P$)'VO/;/Vja:Jbi?og0)_!p&;K>W6!&.Tq( -82cGN8CB8IK-7`>Mh7Ts.>a`@Q6QOL."W-njte-s^ecNfTjX01"i:go(^E"]UT7Jr6-sr*-XjuJXDF?> -c$esU0%%)o>Ahp!m@/jd\F,iXmC@-SY4J`0!Z8Q`MkddK3thV90OOqD!R:b:n1"7T -6$\M3&YDRl!d^E\$$6Fh,VV8GMIB>U,R'nrHl%QhW+6e6l]Pcs-@raKS0lf:C"_gO -p:?fm2D!C`opaim]m,AfF;Tc74h8ps<3Y"M!sI;?#+6i@$?_q*)IN!k4[3?W7+JcfD5OZqQ8\_j2@M4<^oM93laM@9`oB%-o!-L,FIP[P4E?]8\$u3AH\Nf -;LVKc)+c:=1oZ_FY#J$8<@_X6YEi(t>"]`K/EO7LQP/^jbLq"kV<#CY;[-])$&pY$ -4N3^%/nI`0P;D=A*h#bR'.*rg2;T>*/k[IP_q0f)8RnqN^tl-qREIV4gut9RnREof -_)LP1g7D6WH)p2J:-n7B1dLH\c0=OYkG83N1^\b010Z\N6c#GF(5>XX*CAt<%AFP2 -[4DqYZ&X4uGOrCu9u:4-k`L'C@&OZh0LWn\e;Ie"-k/`c4%hip,m6mWOO4t`70t7] -=O-&W]9e"ABuNB:'b6__8qg,W77X=UBf40reN0!PYGfuHUt&'alfm0:3TS.:](u;) -CB[A42-R:d3mCd-7:iSYT!_VQfj!cHFDFMjIKP[X%YI/"Ad_uj/OZ6M&ja/B#1_]G!U)2/JA@QT)AQec7?K4Fg?'#IkRGXM -&dI[XCkJs<$j#!E"pTp$=Mf+^f?2TDQ9jM-B4+D=iM-Wird:.:5S1ca6O?$=,_YZ) -'8.b[&;'N]$cF#J@3u"*A$>uo_.Wt*R!Jl9jGa;8L'rS@;eicjiYU[k_*L-j2'FY8 -#>j]&K^b8F62qQ;:t07^\V^[<]eCc9]UU#<^Bo//bD-*J,m9mB'k472Ld;:_Z3._C -T`cTN;hbs*0ul9uTLNJ=a;Df8l;"=_S!.f-fR\Q1#%4AI"AhQ"".0u:6APpT&WQq4 -384GnCj1CQhggUD-6D(FH]Ki^4RG6'+"fh^TX5L07tB:o6YKm/!JE,AOM;]!0PM#9 -$p!9G-pJsAeQQtP!/HFd*+0J#NK=W.7Xtd`!l,-N!?;?_E,5\dYUfk6YS$te8-^9Z -CF-Ch$4Ji&"RuI,*>Ip`9F>?'+K9oG4cG[AR^@:>#i:1ZmZs&rjA)11J!_M"$peP[ -#%5%&0S!gDa`o6\i1Ls??r.:5\12YeYT*bl@pVI"56rCl#_OgS%7+Ya"lQ((JqUuJ -;]$tfMu>$"K)K_)<>J\Sb::E&CW#@3#cMr)eH7n+%;qHf\r19Lh[@k8N -jPZOg.FV^!0o%Ii(!G[F\mjW3#mIRn!efLg!(2!S!"mjH!!)Z!=i6su^5Dq6+Q!1Z -Hr9uR7R9BsoEY*nSq@#\[?`g!jB,6B254R3)Y7>`cN;5]cHY$h7hY1eX0euA1_R]^ -,0%E38mlXP1dFmbF!J:]B@IRgHgq#Sf!Kd_?lCafTG\AXKJ:3gTnCclX.)MmR4Mfc -_]>C01lZdaKC:sMBA]3Loh2^AHaF:bLai`4N"Ujg":'ScY6%&#DEe7uC7L2=6#Ja6 -,%8t%#>!GI"'f;ciJ@@8LueW3QI_+WO7W3&;g\5'`K"EI/d*9#_5g\*P$UTiJS7GW -6(g[J_%nPOR&q660P1.Oe!ptUHA+`%!=o3Q"GOpI"C_3Q"$ha!/?F'ZFp%UeQ*5jAi0:_$mo"JF`a!(IFZc4'cn -"Q7-)J5-J;ScsY6*j2smnkcVe._8(;(SKgl5iQaV/f*@h(;Y:u!IBBlL3d9kJAI98 -_2K5()AnDC(1BT4_*SbW2A-#V"Q4p'\* -%A66$L7efJ::a?+F`(/4/21L?TF([j%tO?a@8IZs:(oEC&!K*a'0llQ6odnr -D1]aE!9F#`0+LhqIndcl^ae7K"^t]8QFBII;1Z3QbZ[g-`Otlji!*TG&KjOT&rmYlFogQF)LrA;J^OO,da/$] -!+G49J-[6Jn,S%/*e4S=J`6[Gi#EjL*$M*Y+eff=()T>npq`$n!K\27,T4Fu"!OZ` -^d9!VbQU;V)o,c!_3P:6Q58Cr(?&p3!GE=#BGc<%"p(eF!*C3A\-0XX)ZW&@!N6)d -W#k?,<-^l?YciXC@)%"Pbm^pXSXSdIh_ -<8`]@UJ(pUEoI539SCL>,jm\NKhPm>9WX:65bg@?W!ZIG1dIQg5aKLLT2'HL$5CVh -/;E`_RUIEB9Ea9"ai4T2:'i.(:10Ve';PtVPR:D.:10[2CBV?U]%V"u:/#=sTFpZRg$Xi9LcOpkAAcb8/rF)#V6,,&&N[gh-+$l%j -JWLNF0G<@P%%s[*+K,R==pSo^Su5q1iad9%/p;9P1l:puFoZ_8gCUbdD^FTP^ohBZ -g]V$=Z_89Qi#ig$?lV(Z.rXZ:CLS2I()e@+!;CU[17I*Pc!"KtLVL>fY(h#<)@5JGO;@UEr#2k7Lr@dnC?^bU`?ZNi1=Q&mBrL)c$b>ne*oHiQ4)$.d$59a --$g[n";lN^TLK):E*s-PFfquk!0\0UZj`U$%"RVq!<<5[r!u%Z%jm8i^t3ZuPR+c* -%F6nJ+>d8cmsB'd,+D+^+sK=r"h,'u=8[!FM&L -?kr_n(#`I#Tj/>*-l%o*'Ja4*Tbn7p1Q`fU?TA@Q-EgYU9-/Ui#R0&oJ4L,Wqud#r -&3rDj+US=f#SA1?&J_G[i=5s`%!05l&"l/uEaB5%c4&X:"X("*+HJ7?WE\$TQLPTC -D_?5]At3cj9h/Z9-uK84H%fXR#,$2L^etT7+9S;Y(I0/\;Z[r3$ll&Aq:1WMli2/0 -^p[[=(*Fq>3M(0I]"6mIJp+2+X=Z10#Va%i;1PGtT`:9#=qcHF'4Ytl5dUnAZ3_FP -?ip9a,ci[8&Rm@8aInJ""'>tARlSY'/]=YLi.k!IKK.G:3?^J_q4&#sl)A(K%H-+f -JE4V@l43Zh%cH[`g9%C5edeA8$6\C>+D_MfncV5I'&YMX_.Wl.BGo_>)<&4/!P0;% -&06>m!?q"T+;>jtciKic)rMbViIh7UKG8qb'O_=MiSUYf'k(neJSZ/ga;@4%$iu;'5bo2^>R7$.'OYqq -@6+V/3YL@_'&b)?+X@a%L(jYl$Gfm^5gU<5<"2,k'&_CTi#UJK`J5SukJk^c^9VB;:qNno=kekl2%Y3`Vi8_R5RLT/b -%Qj,&bWH=:(rZRi#g)f""N3sPN&9I@]qCMr@'g;,ftr'9Wg^,kqrtuoWXg#HaoKIZ -fJKMdH:ugCg,:mNjb"Ik,'J39W`Wi&fue-mr7F*Xf3E,Gaf#>IF]K&i@l7k-5b\=Q -TFh/H&HRC_JUSNQ&/rQ7*=XB8>bRhNl9=rS7@+W,BFGaZ>QTI[Z`R/n0jk;?74O&? -:5bq?mie0nYRWof%NuMgTb;$I,SImL&tq,a!Ac/j+:n7DD.)%'Ass$p.-o'R1m<<2 -Q3YDa'MZNMfHd6>is-9_]LmT!fNg'CSM2a=:Sn+r`.Y9g(-"?ci*XF<9L]'2?ro2` -<(_Qu98)]^*>QQtV!A3QCuWkd^u^]p9ELn](P!VEEs"XX_B".4*JdR3IlE(iKZrfTHee#:V-[ -8OfQh5QkIc"FP(im<&FLF9G[_I5h&ip]'V>rU#']m@Mkq^>\JYjmCphmQTt)IdE@; -!b$&mQQH',(h;eWf7Y4J<1RUik2CpZg@R?_#5hiZ-%#-R%ItS?nt-NbZ*t>?kac+( -L"DS%h[6C9BVacFH>o4+:`Nt;@I/?gLo6#5B1NS1htd;@D#!1IGj?=tFcF/8qnJp'hlHZ> -_>J;qlO,;uL6)h)&e[K`!PsD,Tsbq>qfSg<*ImDSU"F\kmX!j?p]7fG!/ArZ(sH@i -QcUr08B`A8%Rq[_TZgs\MT$deR)Ekq*KX]lq8ApBS.[*N$&OjVn(qbGc(QX?H!SfqY2AqK$FpXta -aY'mC/Cp:ZY0Usm>HO4gQ,YjD)i]V?Tuc_K>9&Y.(NHNP"uO/TnDdB5b\^_,N=*Os -WSg*d9a4NHJ;WXB$eb$3]HgWDNqS6*33To^[7tGWZ]JAMOi#K6eNV"sXURUgM.Z -HNi2u@'c9F(k'E61!T\G1)@TAJ51rUC8cY0^uJB,7)@RD?A%;1h:Sljo,N84Fk]!FV!<#,73f+:D\8XuMR(TcR5I7:Bk)(560Ld];%CX0M.L;asM#E)=:g3NAiTPS6M*b%M -/dm<9l8k(%JO+QJ,it4fe&:)6Gn^E&qEa$!-3J,kMr8h!5;#K2KY'%#I6Z -PWaVNfie[sVEbu/)uq_/HiODh<7C+.G,!K$HA8DuC:_EfdiUgUo["Z"L]hskJ4Z\> -!ejJQ&!-l19JHkT:nAa5!UG?AX=b]/SVKNS>TjE)@$ESQ@qd>#&nTE4>oss?GGr*>k]i]6eR.-mU0&\"^V;'g]\bVYS?mdUZ6>W -?@QVZFrrq[oR1U*F;Tc>n:%-gUL6PKP2O/-@0+@SXoo2R`W:i3n,PhkH[l^r5!TDL -++O??25[JY>'Tp[UF6F9TA7gdTk.g?h#(f?*+%^64"`s;ni,@CW`JX?MY@&3qAPWsa"qA'*: -Espnm4tGJ-MFC_O*+h@n^$f -0c@XIB/;E89UUSdJJ?RZ^nm=uo@WY@fH:;>L0r.r_(k*]d%$;[F&"133G2%KSPut? -:ANL(B6<^9'@(r#=n+X&eG#SVk'g,%rBP#_"/$>@JP]M^60M;QTp-mYd(15cBS@+n -oN$fGC#B5pcmGNH-1t.1ECaNMl\+CE)S5c<8k^N]Usui7;EA/YBb`BKcF%T-o(l[( -FXO&Np%-V+^J*o-0W9*iU/ZGu;JIdVW>.1b3s,arfUt*VCg8!u')rCjI9RnV-kV%b -74kAVc^C#,Gg#>q>!U9J;K+d*;6*#?]+Z'r;[b;Qc\02@A1_'f-7KnJW\MI_8 -#)lu>"3'c=![?>d$H$U("0`pYTkG-oJ=HuKA+>V&2U;tF"NDUAHA66RVcnF3C+A>E -[?duI>,u(ID2gfgp<'0E0Q%:bX6p2rA^l>4GRrQ&Hr=Rc.BR/G4&Z5[s2f`ik-!8pk:D$'SpF6&E%Xt$R97A^c:$h?jM$C -EUO&9gg+Xa1k(Js#!<,="rsn(Cpn=]*e=<9$"0t_ge2p*D^H.1GZOCoHmse(Z"J0u -#-3BVEG6Sk&IDQ#]SF9f*e^I0&u*/JMZK+G#"[/C@n:=o>]5V,Xu%&!n7)IWMCO.T -WH1gT2MKLS(CCF9_^poA4O`F"h<66o_,r1CCp5M^dNK:eGWZ-@TG.G-56pO`ke9F4 -b$L/^atDN8jUbVg-EG([L^aE=j:3+2=DJM:oN(/F:S:,$K+V9'/-oge+iHp-&IZBE -$'gZ&([.Ar+m_>sTX5J$a@ccs-ntem_B&^PG7jmP7uGYU.gAft)+0K&%RHs"7ZbFi -6NC2>@9at,0STt.S1Xmd:(2]m@S/_O#<\B&>n^@bW"+!ISIrB]j:b*8-m$#+/<,*Z-fR.&HM#^%3TUH#iINa -9ouT",=m+\&a=e>aStXPo=m`XPh%qRK8WHWG`EmT3.%U2![>iX\Zj?c<&cB7Tb%um -1*@&:'6c!8`#/]>=:rFD^.&.A8HGM//HCm=)PAKnaYC\`a!g3QK;`\gEP+#VBZ1_E -9NMe!,j.O^A8#>h[G]$!h!qUIDc#:DDm=*hAJR5I2[;t#/7_=u9t -Ke[kDENk`Ao1upa4Z0p-P$Y`pSkpk@-eoPf?gpb8mgB%adjTclooE%S5*Q*tHR49d -&-HAOUaS_:W!J*MD?)Y5LL:.<@etkKrB)==,1F;^qn93(/$H`t!,,h)3(SZ%'8$!- -!E^_?):F>A%&$9.Tk!7/HOlG;],bXP&0(_/J0>pX?@q+X"0bFKa@c^##DMA^!%;j& -lmFmu-bKb`,)CUTk\EG&=p1hBKA.)m&/,-RciQ0M$2>NlJ/k^iOb*!/e-[7Ef(,`*Ysg?cDA>7N>i+/7?I[@R`aq7SID`>'%;BNWCnr5+H@Q.#KUM -LoLSp.:VR3Zu87qOX[NLWP[&^g7ZI^lUJg77pL"'A89/$GXm&OWe_QCR];:q)kfpq -7rkB)nusVWAh,->--EVa$FVI(j,8RGJ]OU<0Ie_H1k@&2KJ3mh-rL&L;557>S7#kj -BPP5jDMH48L<+*0:hgtq`.c92!2reKO:?l!3^\EIJP[gJak'$td#8(,/M*C3P^Z,] -T?6_u8fXN4<-:eWmu$V*J_@bh'*a%d])l@fJRBgVO;3@t,_9VRJbU%4l4L8Ck*Vn+ -N!ed940-CaUe=CUapb^O<49tT[nD[i9:3:@YU+pH&VG0=%?OYeaCU,l!XD%?LUnk: -oFALe",F,3#C(?@.!.d@?3H&n"F)[@EqBEhVuds.99cp0m*8<&\h0rmJ\)Gt#f"4' -LnBV@JoE@D5VAiD2?W.S"6.&u>0+g)8Bo*./;hN%:_&.L4Fmc#8;K)RYUh%#\XT\I -Mc9DWOkt]".tY)s"?9Y?^g%$LGr"u4!dYU_nVje9p-6(IcNF54OmtY%E0$FK*q@gB -(a-0#-A-P%9@4*#XSW/Pr%ofj:RF'C/H5em!!=&m!t[C,^d-7+9,(2Qs,1D,6[d1!Q[Z]=;_3C-@ohW -!GE-tC>sg6/:tYgK;^g5X*+UBAcrD)KHl&#n2WNTrrXAtK)dSbJ2>N52`[6b:[g-H -a=OY'-osY3!\"2&V(Vp>0E^Dk"/%Z,Qo,V707r[H;HPUT,lgjD1]tEO2pau'cqb4O -8@J:;$BQ*c8A'N#+]J^r!f/8QK0Fs!lidPR(N;E5?n]kD0fN)[()T:P4Squ9&@Udd -QWPiM6^8&..%&I5Jup'rUO*KT5m.op'mMmQ+?7eg0\(tSH6Bu\^ErSE,#6uXYLEkUZ-r^2F;aZX8",INkJ1H1A.Y9&a -Jg<2SlJ/O6]SdVpJZ'E:REu#X*s;RBf>(`[9--6XG(:]YNF6u9P5?MTFb])^L?N9# -=D+^C>@/YcK' -,hbnU!^/-L=e-_]h,;u-uE0"S$ ->?UQVLak)T4G<23K]lY@J6W;7"U9L!J08sL]IHuL/O7eqYO_WYUVem)8[KHMX) -Us,t1YY.B+WE:&gbSc!()TO-g_8NX1X_#d[Nn>a/!Dk0H-kc\"63-L@"c*HgLi9uF -.,Bl+h4)3sTPOU!Cg3iBKYS"L]Ij<8d=UR)JT)^61?:egO0.KEJj]_C\2+..1':no -"'@SaW&b$r#D:)XJ;?5gGR4Is1k:rMK"qit^a&q/,QY[rLl`DRS4c8S(4gH$S_+R+ -0G<9Vr*RZCR?.ru4A_pQARGjY4$X@.&.maE"CJYO.prkFChDT>J`(t`@#bS%L'qC\ -$fJ/r@,;?#mL8%Q%UfPP.(j4AkiH#ZcUQ,r3l&g+CRn38#1J?$EGYpI3Bp\$\X![#S!gSJAt=`X&O_BlF2\)Xo[h[!gC]X -2:R9u+U(EgL4FCH.!5c6!XE[i!#TtdTE,:n$a9VULNRXM5]K,pAH6CSN4;R,+Ke<> -S:SXiYoY4N%Njaa6tA@fiT3XAQfnQLNaeP?$7 -ZUF=cD"3NGPo4Ir-Ga\_N)pO`N8#0m:PDjcOC%/HIYAeC%gXVAO?+=Y:'Jlu3. -99'd/H;u@L!t[5>W$MM<+b>^u!Te*L-m\sD7Y>YL"cu7YLeNHC4bFS9""5Ju+=Mg9 -."US"J`mf!3#'io,&(h0\^_gTQoP810ia3!Jr&t!!n#a6-JBJ,!fjYNTHjS-/[HQA -XVm*XBHh4/0C-k9!h^f!6IDdK!eN>HS[St<:PmPNNZ.Y0fP;?'jsAYFYs6n -/6`jm'rWJF#Vad\0a$BaKH0qdQo=?jKUo[D>/"+i.%D-LWM,SgAO[GI[cXT:2%Os) -5>^G/i"lF((P/M+JT)Z&C;#8,^-/-2LWBH#bREVKG&NAn)T?q+ir(.,CTp4["5:D> -TG3!L:KaV4MV&aQlF8t4KaFl9^ecnai),6e":!u$LJ&5C0I_"T89)rrESX0&]5WAWkQ8Ea -la<@cH#^0O,QVHHmU1rVaQ9#0QlU(k18l]uNDY_'n@!$HG'rH"WR%9sY%0D>)EbI`P-22>fU/(cq7mfA=,YFEH3(mt5g`QR&Y -K%f]7._tX*ac0k,6ikXO!Q"Tf(aoK:&HcuMJ>c?kG5:e/g-G!S#1SdW8590#:#5Rr -A=sq3.M7[G5oBG1Xl_0d#SmI9*e>FT!RM;Wcl.G?jFFJ(!4DP$\Fb=@qgg0gE`4Cf -=^8o)YGU4hJG`O-BF]RT#56)Qp<6=O3a?-^S7*05`Ae=Fs(usECuB5PJELiZ+*VoE -&GM60pQp,KT6kdcI!;K:GJAS#c[I9K'#p4No*0#>GCq>QNVH,FG[,R_VAJ[(JoQC; -N"XQDclGV80Snj\GgD4kkDskFRWKYj+\@SH'qF73Q=%W1G/nbPZ="R%R!/sH-0K"C -p_+Ck3:]o-:I0\[hk(73'`nXq!>mNo&.X@%MhN!WZ37rJ7DXKSI[^2RLHkor3u8'L -oA[u`FbFZ^/0'uR)lh*Fq#?BM#IAb1M0RpaM#%^d&0?^A9*55T*#LT=5Wsbp%tj@; -)d#FWn3TGY1eF5[!O1BHXFpCO37Bl6j!,sK(9>' -b`>gJGNJ=?YLcThNa.=_#6gJc,V^,s;U"UPb,QWl%C9i^f0Kb\)h -,Z5uLBstHBJdM[Ud:?cs27aVWaQp_:oVfJHYJnrSE/mF58B4d$A6aUu2C>]OI"EFc -B$+/rFEmT'3%C/RC;g8mLr=Jb,';2MiUHVh.[OL(raPn8K,NE+nu$ZOidBHJ-Xc7"SdQr]*9K@N#J;J8cQ`iRmc6 -%je_0>98;$k^J$elth/@F51/HJ;7Qt"rS^H.T2B/nI.A\"*h*hMZPSQ,7!2;HlN?A -]GXDZFPIg0;mbXKi&iHPcl4>65ds^PeQCH]NFP[jateT$Bj0)?*H7j6/$Qf?=2Jg) -TI;I64rLfFC-!)3kg3Xt"u^UogkH8qi7Web3)61Q8>)MZ%)QHgtC3e6$h#S^$0oNf?8X63DT?^J4W+B=:(7*8-j=/^^9@U!!h$?Ia=.@ -@6DRBdHglTa++A=@0]B>!upC,&o1;j8MCR9j#il_?^KO\\l.ufE.L0Gb7'[AM-tLm -Uit5AS#DBg?^dW`9@=_BD;4i(=W8JG2#3"!GoQcu]-k43dsp(e,3^>f]MKKL$DH%g-4t3"5stfJ3m< -?-d`NGFeb^i:jr-J`:o\09P;j?8n;5q7^4,kkZ?mTBc8Z\#J]j?I-1KHf!Ypmee.K -`U`pk5KWPFhbVqurSL]8pAR:+jnetK^ZYOohq.Dss3LB=5KEur*8hk@clHjVp7Tm- -<"4D?4QA9,!n/9f'8"S%o/)gk9OQL0BeWrN^uuR?i=mSi&=KGg&8HPj90Ob`)5b8A -:CQ2%+?V@+'LS7-%cNX8LJ[gg6hl?H@O+3pcmfHf(2=;I+[nQWTUSfu#bW]ZGA_j`7Ml3uSHp2;TQCabQWX@*/8U<]QkIB"9bp#S70FbF3WYo;.0,a2 -(uR5\%BpC%f\l7:Ls:a:O9.U9Vue$G'O1YNDBH[hIS1gu*[TsE%?D3$6'+[5ZpP8L -+]P%hZC35bR8GHq4KXlH\lMH!A>c-.Z'NOP/q]7c$A+X_"G*pHJ`-eY^sJ5Y+C%_g -6!Pr@R'7>k9N[3<,V6o:'GWrb$]4C)#"5D:"9I^>!e@e(!O9@Ma-'L\PN*;`&atQq -WXlra@6EYAoTo+"Hr#%\4f@B:TBe[,j?Gp1q% -'LjJ\]^,QB""]F=!7Uo6ARo5+A/;U&#&VULEPXmNG7]: -J>Cd#66%)d32RD,0W'U:i#E2>:#["G6n_9\S`7@(t[Wi=%:kAP0;fpau`c[SB.N4skgp -,"I1I*5rrs\`QFMXt[R]63Wc;:*@%`@W2qI-rmK;`(&\upaQCuGuZ#&ef-D[D:XsJ -3C*?V"2L!+682=A@7FOV0WYVa(b,ld3#2Y4L'rSAS!0oJ)*sJ7HL7-i5#>:Md^jR_ -Z6B&OJ>an%J3k90kSFnakQhQ^82Wnn!Zic[Ln[KnQIr2rbJX.3UVqD:=9##;WepN&=*\*8:sJ8 -oEYi@l2X>W=j-V[Iuc8d4GMr8(r.t;MU3h&`,Hh2_8$fk!3Qb4YY#+.,Td+BH'!0E -4&g0DoFPDp(U`@U%SF)cOV#TADin>Xf,nL<^q?hY -$M663A6reU3ak.U&afWh^1JA/OD>8$)DMDg&Jei7$OS%"#/kb+"@9gPjG$sRc/H9g -8%kQP)`'QgCGhtgaS2:?ABeb14pKK;q*Q-RR/s+oC7t2J!hc2-JI$LfidbG;nUrd8 -:tH_ErJ9]KogO2%F6^>FM2uTU4iW9_)Bu6eMQmQn">FEi6'rmJn;[i#N!Jb+^USJ/ -jkTa/E-"9p&:t23#@.jgFDcN\!Pgl)!<]5&IGbZfi'%D%S$dG-g"]%],lmk4s72ag -bB]^1k5<8io3QXfH2g=r]dKNG^5p`hT2FnP5HXTb\a.%;h#_jKp@cq_$H$e)"^pf4 -K7q6Jqd&OWg2nfVjOp.m$0CRF+2RcF5N7)%L%PA2ebUWd,_JXRHf8L.Bg5n$/KeK2 -(K/k-^k]tM+4]ZWe"LuGc.U*djo#.O*Ws,-%Y=\@"p.&E![/$j^_.L(5&A'pO[8Qs -"@Q]MaT1:O!TAP@!'1\LTES_n#XDW##r2`\7eXqh4t'NGaB4\1W;I1."HZC^cr1(H -meP41LOas[^jZ_X8dteL"$n8s+`>cfMAh!Z)I^J_iPIq_`#N.o#_3='@CuU!]Ggh` -)Zcf:6)55\-l!lqkb+(BTT54Qp62K(M,6BJj46CCi:mhL"jg6Q&C1e^dg_Dd%FE]9 -nCj_s`WX)oc65O\Crf,*[-I/WlGR.B+i"q&*#N*X:o'*_7^iIri=V15&^]PN&6lFoDhVRQW\(r5u* -91lHsnu7/H[,n[!lOpI<)R8TPZ>1p;+HRnBGV2^\^]ADbTi*OrtC^Hh^fRlR#:!a==N"(JA%Eca$lR!)Cr").W,0Gu`0pEEIW"8s, -,K5>75d)>`<"Flc&$+Ot;Gpab^:teF2LnXNkcZ=,OLPZj'iJp(_)3M]oIHT?#pO=E -U1=IFFLsg1ZlrPR!G]CXGZ:G]#'"N=-B9:cI4*s70nCJu&s=mK)D8h>1F82dloLd! -PR*pe#]*NKL0+kgAdnam"G"u2TL]N"^]`T.$,BRJMG2%mau=",jq,I1VIY;+2_^@N -LOb6cTS-@Tu\,p()d3U!o[5n!(mg\ciq51$D:c6J;+7NKeTbU -3%]#IU3[-/&.\d/%decSmJi$eT%6_gF9OiI6?uuSq -E"9ZM%ZK$U9WB-dU/(4R3[A0&O;:@FjN>)BVes'M<7]$HA=pRC1"TZ=K -^d8R*3!2H+(Vh42TtUO.^CN_Si:-\$FFM[>li7(Q).3jjJO0BG5RtRR%cFVoTX4rS -1'`=nro[cj#<>a:m8R(Y<0^6YF]2843q9Brn&Ijt#e]]1pJn,/rKV9o'ls!?G?5N) -=&jTL'n9=cI9;be=LEodeWX,NQWWpLGdUk"LsD!@BgoA^?S?SSm!q:mY_#lW7?-U- -_qb%h7&E_%>Nfc)[Ei$aeQ^SU?-qO,0=GJr\t*N0?&"kQW7^WJ4Rb6)G*Qh50/$K= -s&Kk@rLc%N^b>lK6j!EY$/d-;!@e+Y//qt$)fqWK,\BGqMJOFQ"+_6K+JUXkLjE.Rje$b@H749U+=gVNQdLS7mY9k7kmIG/Ioma(EoACpqH%f$Zi0 -*tHNV#Q_h>U%q401Cq=9A3ki.E:+8[4:gA_"Q6g&G0t80cZ#3#>-tT"0eEN*qf$W1 -=iV7CinD5L]F^cS.H*N*iBJ93n@D:!KonD"e5?J]`/:;I[DeMi,JGBKd\l<&5t-;1 -Wn9/E'#J+t&PN?W`NB@6J?.gj5HW3>oBHhUkR^#]&2EC_5di0t_C'?CZ-+7%F@*:= -Ib"Qu-9u7s_&F6mIM]hJ'rsY3E`3u5D1$pl>$'$:G=]&^*nm>R3FgFK5`W"VJ1Vnu -6j#sie*VWdp:q$#,8-%^MhOMt%7Aa+&1cVL5kY\T(O73R#Y[*%oGUp69W>i"/0RZ= -!A/q$=!s^O8tml-@%:=,()C"E(KaGJ"'Q&+Bn_8<=br^r5]eCSJlTV9&pS:1Qu]`G --6aSQ-s,%Z/.RP,!0\OK#_6.c5aV^_PRHDE$a'=:$%`_>'*:H92O6H;@/9u`p^KJZ -%03I5+K9!=O9bhk;P7D\,!Ra..]-,H>IPM1K9T%>HmYs.`*eN1Z\6HjB@;4+lNOf*m4%F,8b.O!'bG^uCga4@5a0DSa%S!Q#h,$lji@!5ZjB_9%mL -a;hu(*5qaqU$)JBklC,\8$'Hr62*3%p<8*]!'+UI3H?4%Uge3G).4:!BrVnHAe>lk -%3Un_PB[?u?3gP'!hd/DmPY[>^_h-^DM2J.1G!F[n/Y!>(r.72_+4ZZ7M&s"&4"YI -+OCGq=p`\h-0D*5M:$:GVUjedFq'-Q@+Hjd[O\D##t"t(e29NiWjk_*fNJb//W;Ak -N\`L261cB;<%C;qDk[_6#+):A<'7>Kmt"m1fL<UUOQLk:;s".@pSE%Yh$3r5ZdV.j7B>Zce -ellZ@q[;=uKp:"6]!2n:]hDGMLr@+3=UBoBL6D&1#n6qB/HQ4sbig1B%,aef_"\$T -p(G/!'#AYk6#mp[&0'3\;"YR#qZ.6!SfWC^*eAtE_1iRf((rmN![,Jh5UHeFA-0PY -F7l),Q'JZp2mZ^MZTCCXRmFC86aW=Q[+e$W)b[S#:UO!Q@$RGg[AGkX'l9/FpFsfN ->AZ'?;7;<[>Te)m@!>kfEMY=.>:=F"]6UqkPI["h?6eIMM+EL:Kt3uZ?0jD-LGT.' -[C\q*"E,"EQ#(t/#@P/MF5T4a!'g]Q/d5Wr!ha9:!$Vgp4omr7)rLo>qJEH+-:EU( -(mAPD0IR7p'*D91p9mn2?ur>PX219P_:t:iG&(p=pLLB=$NO!1fW5Z@,T!0$!27bL -J_upAX-POm)LrG=Cu.mZnVNpPOm5XKca=/h18[O%\pD'+r#67Ks3M;@5h;;VZQ=*.?!M[Qg)j\ec)8%WZ8fM9@@L -ET:PL0mp5L#S:DK(3iFb_)`7(_@J.0[312Xf0OL[86Fm2>%1;5TU76F&ldks(<*[K -=(-8>9m38OG61!Q=*TVsI210FIohJOf8rukQ6;=.+n<[#(Siq?W$NR7HM=amGIr4\ -=aV@bHt"mZ[mthtbsH!/2Tk,Ij4<%EUfWoKJN*6i"^TbGeV:SL,gp_DTl5G_WIRY5 -J;XS]fFYYu4+X,WJeJf"!rY'=p>.uL#^X: -3+muUDA$B)LI!AEJB2&qODGPI0GI*MROP*L^`jPI -i"j.2!eFAci%>\elk0XmDnrpi?s3gYDI>&Q\B<*(RbUiliZj1=-@I?kaPgM?4rY -'n@tQ@1i\$&Zt!8`*eWb^k&'+YKX+cHMQo0)=]")bRFr9$G_VS,#94oA2-G''J5Rn -"_?:fWI!`,"WAFcH6QJO&A[>b*Hto,;C+]fVQ`dK5ls^c$Ygpl'h%hLV#H?-NUd9a -^lr0i"mce]EgQ&E#S\^rceqa66YFW8[e6)%<076(Ai) -1kWZ=0Xu3_+Uj)7@7,%=e8dPh%``(XkitDnOH(O4EMQ2K-lGGXElg.?CEskCUI0%N -C2Q"icD+<8]TsuR)9Sn@RP;g70-?EIAHN4.^haW%cCuPWoK[dh#LDT'!W'$J63iTd -@+&%Q(/uqR/(U(>VWn5oT7@1,oDnj&5@<=RrV$8?^gQY6>Rhh^Lr3\A0Als/pN:pI -!"T7C*H$<2+,JlB5i=1R'EuH!ON;35W"!LLR[nW*?`hssp01g_heBUTDKhS`p?R:C -i:$GG?7-hMal@EP*56VUU!2bBqL'E_?`i#HpA5lUf6>'gnTVX;+"r]"l1B<"rngeh -g$e`aG+jmSfJE:4rkuZ^-sd\nW[]3f^i2+<"@/&J%gBd'A02%C-ph&D+],1C$R&?" -)\,5SoHb$cYlmQ/7'R.r&g<*`DB+G*k]i*m@DYR$71h@T*(KEs0,hkc[!s/g1":at -aAO:E,=sXAQR#.c<1>:-n<.%6,_<=)O/Am5UF/^>#\4d,!JCIRKn3oA1JJNB=;:u_ -84PWAO5&Uj:9V=ur6GBl0G=Y`W,*]1@R/iVN[74-m=k>O=F^/!jom7WJ -OO\Vc9;0.1)[KkkK2.8u0M4)6+NZ6J!JXbB!?S/S!dlVuh'0baXGZ@_JEHZP#FAuB -0M@Hm!:h`Fin/\r#M&qdP=is>2&W=V.SUu9p+>`a@(7NoJ`/RH'ng"?FrQ6GR$JhN -i\Afk'8qOB1.mt-@@D9G-t\*gJln;h0ZW2M0W$L(;a'Z=Dq7?/UCi%"K\:S&YS.6(umHDG6l7Mk1VHrcMd@/%)9*u)L- -r0%+hoDLHToehG%BN_GC63r.O$KGgP2@gnW#Q>>8o4&=T`W68T_AE@H#D!F0`.p&q -,m9UBJc`(](!usL!h_r6%d5L"-oh80oH/6bloKnekjCdi6O5saXb)ekf3KLH"Mm2J -"Qn>X751PPU0L=tBCm5dW*+-!,Tm3iIRukIQZtgo=[]N;'1=rYH(e4lK*\@2S'X&; -keJ3*OFeCg=DED]9OA1TH6ls4A8n?7)8?/PhaeS==/q&r#&m0P7%bG26Mq(HnWEuD -8CIT,9Q'oN]Jp]aL)^;K"-*Dj!X@$$On$P=l+qi#NK* -7SJWL(MN.hJV9+e&]4#b$_boYLG9bQ`+Z+OJtQQQd=sElBZc[j!agkI+>*fd(DEMO -%gW`t#m3_!"X-\b!qkp0j[pg'`"?LUE+0:Y+>*pc5S\t1[L*)_@K`BZ3X0!G#fC%f -S\_==7mP5A6]d`=!b>\hnUVkh:]qe3@!\d!nc/p9oDh8*GQ9JV4MVg**l&&./[=e/ -J-c!,7IO"4R:0m: -D?Vc"0`q'Mh@i.)CI"l7"#,"367nN2^ch_up`3`RFfnTU0u.JC'0p)% -Pp"Wj!GFr%!:"IPqdXheEqgi3eJPt2I&fin!%9H#@%iZo8Vq^/-:Hrs=\s6,=P/ARXZ('%05$Xb53L+!NKUJqC+;8rXW -)!qHN,F/oWnbON-*nmoOW[XZQu"$>^0"eg#JLX:lOKjO=(8J8t< --5mgkK-\Nf5qjA/)2R)MJ1q3 -+fk`7Y-5g!!-):PP#m362#YYm*['XF>;R91DRJUW8]plc[LAp)" -s+)jc]ls`0"lMKjJ2#oc$3IN%&H_#!MjuU]7kb)d_q4sMD83*iEX-cEtf9nRURfqX7B1mFbe1$nkF#(AZ`Ae:)$$F:_/T-<4UC5 --:H0O%ur1of:[`naqJr:%H8lb(9Mudcrg`"i&c^j/,-i[N6c0M^k<0IppVWR_4H>T')_G'<<'5eD87mh9n[M(]J$4GT0m*W+h& -#e1q;0P+TXa*AJML'\3s6X`;mVZs:*2oS2)q:`/tDq7Ch38fr;h/Iu?*TTbj?/.k -%M;#M6\TK]2Zf&k'RDSX&#-"%MOp7`@B6sI:HTm_+FI!j&1)tpUmj>FKtIJ]GXIsF -.uFr0)pu;::`g9p\:Q1,K4%9(Qq7J.>_U6j"GfU$)Ss*c^]@?E/R^#_)jVi*P_&p[ -"3=VqOBEt+FXU@:37AKp3D$K%K*Smd#I%ll:hU!A$j\oC+&S& -34O"):iM0Q",?#[J1u#!Dup8aD25]`XqVha$PeU&Mh`uaJ>c?J+;0;GK/bZ$.c;A" -0G]6_Ycq55LN!:5$#V?iIBFNL`B_0CO9#TJ@MH_BK1HW-6E:0l,(X\V_qZWZY`pXT -)Cm8[X$X3E?o+j&.B@ue#WN\8=u@Ch+=noeK"*<4Z`,J]1n66S]eV,>ZG\:k!$=55 -5nWhl9@Q#$+KI=%XP1H@$82KciB@m]4S#g%80J;m^;1C:S(#uQ!NS5NCR*=[K2>JH -W)ABV!s]1i#Cq,N#^XJuO/V!WQPb0@3-d,aAX9Q%J=ou@:dI"O8K(-XQ#k1iO<9a% -V&4$>ZtLDj@2At*#Qa0,Qf:r$#b_f=:B@gf4(tH.^d!AE56VT+"UJ?5Lg1-T"pR>/ -J4OLP5]-QmD?dlZL;7\W88bCDFNH4_`["L+[(;K<@&PK$LSt1XW-G4.rj9HO9e[4\^_;:?$A$PN!15*cW!8#8dIH*4iC@7]4mHM\nb^ -3pWbb)&_aJ2s?Ve+In##@nn<-cfG&No]OQurfZS]0Batg81Xk9&HeCuJ?VoU\-.Pn -oG![7!$HA4-t`^V#_f',"G1n$8oM1s4:%UCQfEDuZ[;eLg!C0Ccik33'c58+T0eB5 -3Fe@,S8-H*(GnB(.amSb?k*E*Aob;$@5%MWd9*O=d(9,K`=C -!]%rOYW@E:*!I`m=C_N,6-4]JIN#HkJS:-s3Om*83?T!tT'03V?pfP5B`X&EaI*%E -.5&/=*s$m5!]Utt.]WWL70)O>L%#>$k]hUhGc27L#L$V80l`!%PD@4qJ3[q)5RIZS -4+RZ!!mhY`a%g2SY!C/1;&/Tp$pqiii;Xn#nW#1)VY"t#OJ_7cRQL`*$j>#\Kc!eiU\Ub/>QmRD;L!)05]4ORN/PrQ9=[X5&d)N/JET?(+:?mjlGJ66K> -huj8>0EVP:\A=`-?9D]QCqD+jG^p'ELHkkF5]$K\1/HZs=9h8=N@Y8-q1['h%8m -]1h:D*eC6t!O*dKTHf[D3!DPMKh4]<(,iF+7cMd&0F0qk!]aL+la32Z1iX:7]u"A. ->j#-nk@Si!BGgj'(kKpQ!`1M#5V7W(&;.Jl!2ri>=DR'7^^!C3#>?3DMIHb3PUC-& -7[.Xb']_3GSI$NfLqY1uIZ*B4N9=N,;3F_MJo09_4\qr6B\?`>Qld[e-Na>^K(Sbj -XUPL`!f&CE@46RtdXq_jRfj!-KEPM2-/0d'EG6bnkiSW(.Q's^pu0S[$/).g[\G1_ -2,dqe=L]SWGVb"Mc.:fBlGuAH3(!g'_ulL5!l]sc.5@S"WksBn4nZ(>(csa450;JMJqsad*0Y>IQ]KQ!fdE@u' -T?9QPa='NL\6NnRkCoHpKI-Ym(a(=e!7uHP+URK<@NC-07VfdeP9b1*.$(JA1'Ep1 -L&ULoEc5.?.rnQ:=8@"INmmcj,Ic%EE8KMYHt -n4u7#5"B9:/6We)+Y]'r_9[?MK!5skU1T$Mk_-`_!+9?9V7/lAIlR*ILZliI:iPV` -8H@C6".0]'O=l*$q#RE=g9`3g>F>a;Q!%K1Jh8GRKWG:>[tB[2TB#<$h3!:bQ`-CqMACJmK=$NP"\QA;=h!LMXZD#ed23 -H%6HOLL:.7-H3#I$"8:p@epgZVboKRnTfg"](ZKD&eUU' -RV`\61Lg`!.Y1\NK=DKqZ"X?XgkCPp9+p@pOEFkPGMYrC?;GhORXll[a`Q)mbH)_> -\8qW]F%e9'"o&0'pe?9@9nTYT"0a7KBHMc'+9>RPJS%Sdhl$:7Tc6(^pEf(]_&_Jaa"tpb[MO1kd%U"Xn: -pcsB!5Sd0=oMCGjLJsY8$g/Y%Hi3hi(YAQ1fR'OLZ_i!1R]U52HtV#Z"[**F\'3$u -J`nX,b4&X=W!rm&2?=XPk\GHTp5%*M)c9(.IAb`s\*Et16?:-c>3)\O-lrEq(BOIG -I2PjMXi>";?P/]:Bc#HPE<\"`D75d#obS[(f*i%k]se':W%rp,^jnOJJL.#F6?XB. -#9uO%ar(\D_r=N1Ud?XHMoB0<\C>[X+-&l:dMXkONU2qS5(E"c"'A>SbWdK!^IA -+c("`"_(lZ'+?,D5Woh^WD%%-7[a5U+8&oD<`R\0@9M.RWR:j=-9rDY<2DSf%hSnG -;DecSR$aVIC2098=72,ML9pZc"1)6pJ#=@ -J>X8m#o2La5Wt#+8?=+kJk12(LN\CMBAa-R"b/pR898O%,#DAe&:j9R?NLDqn,T'S -.teN]un!j -pQNXEC%pHpJ`6@gm_@fK?:G&?"l\s@((#TF:b7]QFl$2h^cAuLJ7iTQ!?L?b"F4XX -EQA3OL>WPZ(]\i17g!:8\eGN\fOC\3.Y)'0GsCM';ur[aEo?I,K@:#78n^,.9mdko -Y\jl#X!e4'a;op6BFhs&2[Eh3*!Bq7PQA>W#04(hKHPpW!WYFh5km/;@*U&`d$,@i -4CF.f&iI]p"<@l4F#9aI&)']BLWj=hZ.P$J@R0p+U\1;k\9L0P!;@P-"F?+_!^+Lo -!Z`LZ!Y$l3!QFQ%!@!1W!:]%]!2)^^TO\Q6YVHF`a;G(WauP$OlQ,#]H&g;;3ruQD -#,D*DO+:\!a?VO)Ubm[aE\9IFaV?%2KTD9o3_Ds].jX2_R?J8$9?GjE-`#gqPZ!66 -8dS3?jZKB)'!>5,fi'E_A?_?I``c"qD(MO%[?iZ*>t`jr0BM!*QdZ:L9KA(eAjjS* -5\LZ/n2tAM1QI$)qJ!AEXKr1Ac"p[#NHh\1p'e5d=_UV#_iGU'nld@ILF!U3 -Y#"Vn2[XTI7.[)Dd(4X&W^.>KPq8M$ah1A`E=AhQAu\) -WC0CUOSu&:&UsV1kSOtka?Bds:`"]h0F.9b[h_CKhHRU?DM]8V#iN'6Kr:deJKSc@6-MKCnFRiRn:8(T --kD+7!!gF;"qI?*&r)2((=p8s#b\[O"/'*5/cEAm(TMkuct3a?:cNqTe16?j3$R6n -^Dm4nDiV%-3leiHZ"gk6O3@G^`n1P9@jhNiTelrVaD&8ZkSRWaf6VDU(W0=\%,oDh -LKaXB.:sj$g,]dDb)N@<(k-iIf5@D?W%(AI1a[mnAf$L>D`\!t8-n`,,)p8^%jC!j -jB"G[cf9'SNd3U=j-X(EOaA]I&IF6>_3N>c63RSKd=X5IC!B5M252AJMM#@^NL4'2 -Xsi)&6[T@R!)GRE&3ClLP&ei/I7\VHrO -mO!(n0,Hsm?5KjNGljs8#Cutd"AOlG>NfqJid=N.j=[/oMfmJEdD1JZre/M2SJSnS -mKumW+<-\P9F6N[!k"8J_S2#RBAc'(&Eg$7W+cZ#?W`#Zp)3O:FOB;H5_jE;Q,eXjp6TqTE=+tAq7^c%ko(A*:/>a!YeuP)%SQuV\AaA>%qKSe:`;%l:_XW\:$DhQhpf64 -aD?CSZPn#8)&lds3(`jjqH!p/O5lhR:724f\4dI36B6):['@.(DPOIgNX0Tlf*,Y` -)Vjq_or%[*"ONf\*CHk^_3H(/!0@Y=J\)(n\(Wof+RXf5^\]*hY:3P1n=DS+r)EG4 -!s!Ig_Agf-N0H-I+Ud02(p3pL\a,.r,V2B/',BN)aU0^O'L2WJ:f7j4 -83%e`&0UrT@/LP.7QA1O%m_fM5qWr2+r8"p!C&/HEY!C90fJ//ck$j!%3%U^=f -@&O-7W!8nG#0>^)W90)\jHa13"+WA!TKE?"6j+Vu&AU?$#lot,(m,+4&a85BC*aL4 -,nd2<'%&-@nMLt73>2uf'6-5MYsB(D723!o'_+a0&PWup=VYp^'hO^c$(a:oV#p1' -[u4^'.^m;nDY#T0(ZIWKifnKJe-B^B(QPC1&UbNOR2L"8),[(FZ(eY)!.cAB#3<^q -MA$nJDPF -.Pa.3.aW\Y81H,c,B?:"dT%PJ31s/N,k=AN1.hb6@3qWc-?.$B33;P,D$W@?8$.[#u?P(>+*X"/4DXfKeQ^jH>O -G]k3]$QrIX!@.bu+rOc,),]QUHJ><@!Te'Ss -.tD7_dUIbVcqM=]`2cEW.nqFtSM=%n.MB'8;_9Nk2_%_/-?BbTZF).oOWi1J)j-sS -1J[5.A6tq1<'^*=5s?$6-l$0,![2<`iI2V7BSKrIL1,TJ!%&H^1'8[P&-+g'i7%m[ -dL)XF$>5_2doSSO:a/:s]teG-^n=mSoE50b'VHukJVjKEL`8Sl)aWH`@H.Y"RX63h -(a'e8!D!9c7_7OU$\2%]9B:Y&X$`HkGB'&WD5qA@=s=##Ku_&C`lV7"WIQ*lhgj`p@FHKZ#f' -*%`:bbQCg%K3U;:A2]&Mc%=0a_gXQhr6C8f3CB1[6_lbqXN,/X42\ir9gM+nXp%1i -JKU6b5a6D-RaOmL7A1Vdm%uF%#=S2O7#^=597PgTR/;WSB#_*M". -AQ,9_;rilJF>-AiP59]20]6J-!0hFF_@C]o#%79>"L]qI5W,o?9T7"j+XRgf,gPc] -dd4bg^jK#*BEa0/i5W]H'=J4mdL;?+nf^p:iMeH4/fd1a*C6"-ZY1(^)?ZZM%A6N, -N_m)U9'(rh5\:)bJ>*34Sdg3@%8YaoTI:P8.3@$?rdV"aooN"+Md=U+?0rC+r)_V)56$i;qGK=0_"Z$)aSiPiHc1##@%W!:isq@6nO)g#T?Jb-ME(8pE_0[^g73- -+NpRr:Saisk<*iV@!2[G#g]"J5b\T5>" -D3kn4Vfqt@nS+,[m>oBp;kaSrTg&Oa%Q^a'`4FojsQ(Eat>!GhgGC`'r-(r0pQT\KS+g^Bc#$_XR&5cb:--G2Sl#bZ#E -i(a@S:ChFiKB[Fh+?TdO82hbY"MdG;TK!%Pi=W=<&^_g_9(t,%s*JuQa"1Va$3/W`Pcj6NY4dpnt;?RJ>R/P^bI/*6b=%n1M&>fuMYTK$18Qg+ -2)L7jPiAO)&01f"OY[k\.hYh#).f)D@0,;$.G8Yi)/1FCF-cWEQ2,YS)1.]jTpN,& -R$hfYH%@8eNL0HVQC42\)5!;,KpoQKR2Mceq3RL0XdKd%Rb>*;H#&j/]IGq`RsDc8 -g!uUuWLWe'QoWYF^m#$'O:^>8&Aa)%iIm*)k4%p-M.i4^\cE-F:p?Xd'4e.&-H7u's_4/!_SD$W33T$YNj-eUQ -V)ht[\lG1;@5])H?3eT=f82@>%#b]JC.`_2AudC*$>Y0+l!&`h$E4lLEY#L -+cANm7M()2&7EQ^TZ:Hk&Z=6'VeeSug3mK:pT04`XLE8ObAat!N5@j,&O8Ah%R(UN -Oo_8>j%KiR@Jd5tMB@lh);l8J_+Xp(8e8^$&"q,L^rZIUDiFO8Z25QI3l+'R"t28P -U[oe"fZ19r;CerU66a6b[gGe>QIjY0&oFogqc-HS=gar&'d6M`5u&-$q@cSBa?];l -TRtgQcisQd9#+@pU=/hFr(Y)='\)2dA-GL+F>oMWq-`O",m)+u!oC7)/AP'hLIkMc -BG?[t:ZJM`F=c4!a1'J&.&5Q'D."sRmQQ1M'RSfNXT0(\?bV(g^;Pa?/C"`j>X`&7 -DPod8^p@%Vk=c<-[N"SWThlH9(_g3p9n>O@Tj>NDDo0.('W0H'J>UTP7KuYe"f+e, -A2Ff?0G<=s1Eecp_*tm2nk,T6'&6nor):Ge&3bXl/`?#2jDkOm85_]WE2X"A6hj0g -h*jUS^-fHHqdHpT\Wj!M@"FIZS3B*]-&BefepS7"E$o#=(.o=WZ^"h,(a*[Ph* -.<42ri_Qi&4Yo>A`$*u!20962jHeFeOcDJ@2-Rp&@#tPbNHG6]W0?-V!NlG(XF#NN -lm@[JW-R%SllKO;*b!t,@Gi2W"-O#M6c0'U$*O?!$3;d!+E'] -6"glr(_T*l!W_-bpaQH?/d9@TO"hc>i'%8N/2lZ6`YbH^8H=eMd#e$hO+-VTrptt1 -p$]Wjn,E(N55jtX!UtRJn@oS)T+r'-R>I<%M?$A.747,?[?M=fjSp\#37EejL4Ed/ -)Z)J!Il5s[8+aB61\sm5T1#h:W[KU*NXC^:afUT<,EDchLd67fJ:%k-*"N'^!9%SU -iN=09"<>8C!!2D7V.aA;C`:cU($;S/i7b^aV?K5ZAIb]'6C3n+mkS/W1X -g\bGqJNq!Kie0##_4=rXU`\?X+1qg$9E'ForI=A9?dJE&q>Qj=+9Q&^g&s;P^u4]q -5i)_SJO87n=Frtm]E=YD -:^D1b?kMOM!!hK^!$C_f;%oMY);]01-Gb9=(^10r:_+]Ln0j!"G]4LmNp(-o5dDX= -,/DVpNr'%>OD5hk!SE,CLa#Z!,RRs^U+M'#d(U2%db(iUKd*UA-j\dNMB2s&e;ZCL -!XN$R$NWf"2["bA$4d]$n1IJ%i/)>^JYk`'"rX;*(24]&;6":1VLb$Sl-QfN]MRiUEWl$6q7K16+:Yo5tU' -@1#>_QZ_:SOE[B!HOln0pc=FfTYN4=iaA&u[%YnV)MT$CHV$%c4C,mbbd\%QWgB`GhQKFZ-j&=b*KTT@"Cp-!(6mG^S)qsaWP -N']0JL5'm(?5@U,5[h;33M=/L%\p/U4Dc>-!P`E&a'6t%[tuck'g86@gCE8RmA#RX -8<27+60/S -B@h.mCa4Y./B00!@3Eun!p&%'"dtJjpjU/:n,RpPdJSl0&gr2@'EA[&a8q&=]E.$Y -8cbV4*C1Na$fJ6AKRd_Jc%En^WuY]OeX!;Q\1n2]9GI^Bg'GT(M$&>L=+N)22*b!f -+$]gS5VuIN@Dk5qj/ih#:`;%kqL/sJJ3F/[9GejR7>)71AjlD\J5R4D"p!9t!q:FG -JS7:Z8EC5;!R^uR5kIGhj8b6rp-3!H3^i2-H@QUm35?s&)F,]b$W&$!6nfVmTij-; -!-SbOa@$3J#mUU;jp6U$U]SDpC4MGH3rgDiN.]?&J-#B_huoAgA)];d+kSLLE5[37 -Cc_\5q?b%.8d1;b+iNT>'IA>"4(-DR&AW2S!bc,2Ja-T!5hHm)kZr',3L_sHOqJ[( -7:cK+ij?LKBp3AA"k-JN!k+g2-E&M#1N4-3fs#i#l*YYRi;&a9iSI#R6)- -ecZ(W4UN>c<0YVK6NMA(1?!aCNeD'iK'Qlc&*?n)W'-kHg("oG5r62=n@j\JE*!uNa\FZ`b]l8U-&m@jZFDYGWX&\r.IA?G\^#idP_t0%I!_^ -UhE%4@%&>]BTRG81pasEg.OsTnhP#=!?K[CE/nZb*MZ0qYp4/sR-OWO68WS[,Po/V -COJdS2$k/Og:&9lr.D(n2T!O^(LUrE?u#C9M8e2+R%#[dF``A%f?eSSD%2!%i8-lU -i8+rS9se_[p=S-s)fY-'X1*:$2r+:OEbuFB]6A_afGhk,DCs>Mp6PI,S*,*8^%\om -hXfL7#ANVns1C:&r869GF)]B`]"!4kh]*;`D_;^:2[90c+P\&mE+#5f:i-boN'W<) -3[Vh-()A,7#Rk^;UrI'X)5BG%%0:hZ`UKl0!iS`mi@H(%.")MsYVH?sAeMrl2[CQ( -*!>,CW;+[KiI"RGD`j_j-@r,7VQ1LO;dH`;^@gi^[oR$7dB%RWBC(&AHZ._o`Hn+C -mQ-]Cn?%&oFiSCV]!oFuY0'5@[[%Rg]-j$B5!luno`#OC,)^ZH3!ouRt`#&Q#,93Z3[)%>@OlqZ2 --dXFl(bV4e6:,[K!jF4DU3IPd6c!^e-,OU%Bn[C-g*Xpn6#\'#TIGJ_*^ocR_K8sI -PWhNl2hQ'."CtjC<+$`.9:]`X`&Z\6=;[@0Do7^8NCf[m/0=r(M&J'!`5"&r]Ga22 -/&d;n)n7.Z@?V2^+r8"0(8:>c:`ChZ.tQa>Jg*D\UY1<&@K:(MX&sbF\:#IOIObK* -&P<-1nc/mX",?#?!16c\kWFIT'a!#9!IuPL(`NMff.r.#YiH@\jE,sISq:,k!t4E? -?r;Z'"bq%9LW_]Y19q-M!f&aAJ9YB'O:;>C2h;f)!lu&W\t&m2Moj`d.6&29bM7[$ -(P0Xe5%%9=W)KNL,5+>naQ('7AF -4FoA@cl`m-1+E^""GgFcG[H3X":!4pJ1,LE\,_;q25t",@Fj!16m& -E'VHh.Y:25JTr689V+M\OJSs]LgjX9i%cVJ4TeC'7ANA(.H:I3Y-m3F1-/VVBke_& -D5QjnQGN))iE'pp^oJb!>=n14Z(h#k%@"+9!#cni\Si<'+L!t!)p"C;1Mf7S<+ -K6T&$i%K\,-%^(ZJaag"-ldf#npt0`)'nX$9^]$Y1;g?_aJ^"Q2"MKY17F:>-HYdJ -4NUBX$n4U@8bC)aj!H(^P.RJe%J96cN5gG6',Mc(K.'"cpcsNm$AC0G+2#1?89fY% -GUfeEWeh?6i-bS2I6B!,J-^Rqb^N,P&PA::d42LG4F7=+!!f0@J-^@R8-4N:;#jEi -K@gD2i&C^]3!3't1DhnLi!>fs$%d[NJ>aXm\-i>Q('(i[!<[<&Q5Y51A*R[9fLO<3)cA.;lr%.]fK*2 -4&aBf;r'Z:eNd(#5h#Zt<%UF94[IRl6SKG`Y\OKJM[?9YqoS,gYmV)I'hhT>Mc?NJ -:R+\[3u*S#Y)R361.=u=4\=0m:Xr`NQR#i1C<\UWQeVK0O -,9p4==&i`\/UK%sP1!;rm=BKi!I-&DO=>gl#6VJ2!)QDp#Qk8:F+=O;d3TAI!]Pn8 -cj*ruJ1tseqs+eq+3]X1]F`XN_letm7^clPf;hTsHUOItg4B?DfAUYa@IH8EH<7Ts -f8.sZ'1DrLhq2&Z[*rVhHUXoYdo_lh3sCAkKL].8NEB2?Sbl,_[>Hh4f%Kc)m_=\Y$djde8oT@pWE=j'asXe*IZ -T@u/nfe&Fl%OB_KrQJbV:q3+>()mP'qF!KUtXA">!8cd[?4Y#Z!-h! -g'tIE7?UkTY1nZ4gNB;rA[#=6U"^D*=AU+@a<-!N)l,/+!a%@k(e4T47YP4Y"^kG_ -\6+H`$O*J6J>c_+n.(-@5QMum!uMf+&1W6e.KWEc9OJikooHIc[bI(Rfep.ENK4NH -BKFnN=@L`nX)kZ`MHV=32:GB)rN'3DOLQfXg)j2/ri&%cl5Ser*.Y1,>U-LCr=>tm-&;016 -JH/#h\.\tC1]_8G!l,ZT\0_6<-%Z+7!WE0dEg0s,.:>Up?Nr">SQ*DOcG8MhaK,p& -2Ci8DB.12D5q7im&X#kODO0X"Q@U3L\]^qq;jk]?Y`r+Wc9[gaC=;ZhjB?K!l>]O_fd=:G -W/0pDOP.#T,7#Jt!N&?4=fGp-g-nl`JRWSqW?HhU>RbA,@e;Zk-=#Vg+lqE/;`GHQ -1b+n':6s%]_j46`IRiMDAAt7X"^YsIc>4M74@V'$NEKo21t`^P4IV3XT-PSt8Cj5T -cGINnB5*'sl"`dI1=(MTQA/I4qN$4.(BO"i!;J_]fE[,Y[g04HLVXRXh>=6!q]Ik6 -!'k6I8.K,>5R&1JbdSS@_g4l.'.Qp:Z@5D<2H"]gkB5n+%^H2n4rUKRMpcuoC;Fp>_c -#.RJ0^e]SJ&q`@qOA*_AIOo:@oh;)b9Y+Q,npVAl.(\Yq(6BA%@JSAeBDkGH(0i[I[3TBlaO -Z1s"YZYU)HE4t=jU`^ghYWm[556V#pK_SsUE+"GD!f%sVUJ?Na!X%o*r?+:id5M!) -.KB^X!!f`PJ,jfEfQ2as"9j<:J9X-VfF!2f("-J'!5K8rE"IQh%"S*_JB/6$i!b/$ -j8e2_Y!U:ZMUQQ>.=hF6AhoE5-Q$Kg).PTD*taQb2\lDlAT?NpETKXZruZ7l*qCBq -E[N#N0-kR&-#tpkE_e%Q?RKlOn5_m';QD=PVX*fr%+M^>&1(!;a";?7hNe0,[VCHO -p@;2M9lfDRl0g=tIlDG00b3A%#e8JK*JV0.o,WF8Ogd'&%n% -&V2&:JG0fZis73F.4js&/=7Q1W$$]=#m/I;J8d^V=9O=[Ck*@=X)bBe[&EHd'-IF) -&HI+A:j/L>?%a=1KGm5$3V:+/$"D>MhPFH,Xd(d$?aRM)J_f]3?lkX7*hMu,f]D%7 -'jEa-?9>2d[1/C*"22>&]eo%Yp<14XNTSps^GqF:G,&0K:n!@ddasZupL?m.:n9M` -X#@2c#rMWacZBXiK"J44GLq+aj)T@IHhTaTp\/^^%t=86KD3EuRu8UTks)X,YjXpA;IK&D?qP@X.jH293*79-IIEO8@ITGfR?V+1I(kM#/^9 -HUiC1d_Z&Nnn9r[$,#=El73.+de]uVl.0J@18(BBOu#!`@s5]HcXE9_(9;&Z_F -#Qk;9$jAUL!>m_H8/;7jI;T+VHt*i'bd;rk1]f2p!k:4@&3)k06uQI/"cU>F&7L<$ -"pS1pcng5,14rsJ -"&L]Q?n_Yt)1o(?--.9]Zljpn2Z-qYF-lb%GPgBeKIMmc#m2U^!75=6JIJ3UEL[p\ -#_bWSOSE'M*>4/rimClH;Df8M`ab/$OMkQO(Wcj?iFoT#/!^NrP-KPQ?NYpGL6Ho$ -dUFkrMT%oU9WV5C(.lK>q)n(>-_j:fK'>]J9/3!e.DiVlY,t0]$`R&:NJ>D^Y0&.l -$4OXD/s/on'a[;M;-f>dB[gfSXB.`d8K^ATYgdB=SBWTcqB\2qMjMnh,2(fMD3Gmr -L08kG-=q%^$hr?R9l2Us#;Mnjd,6EMoQa3uqZER364+I@2d?Oa\,iJUh#-L!`j.PsbmG5RRThYB/6]Q!9,T -fUadRTS^M_&],)?#Cu:]"$gT76ASDE@:UmBd&IpLfOG7_+TS3IsT< -cl5"q2+K]rS%d=uYU^3,odBICTkiE[;FCLP6\iEH8XN@?ZdZhrO?V]j. -)41!TTK5,V:MGMFFB%+`;b;LI9VkI\FN0]ti+hPS3OEnDi=T(XCF5/i(berfVH!D) -;el8B#*je:<]\,tlSW?2PsVn/9&!P8Ki>-3[]e73BiM-uBt/1 -&*=3lBjQ- -CR?+FJ7&u+W%8:,KG4Uj`X2eZAH`*r1P0Si(BI?:$37F\KKruX_>#ekf#$!;R\OUK -9oH/5:`<6SKFQ4:*N.L]_jO^`=_t5!Xd>TE=e!T@mhLM`FfN5`4$.fXAW"WY]8 -HT]M?nPD4)'nAtY#@Kk=6AR)u!?"*(Y[@r[DDdZor"k"4RL91)>Qk.D'aI#U#"5,l -!^b9?%6tUb#4Mj:a;f3\dCM5$5hR%U-tj"(*\R[f'GUko8V]Q!*0@s6^ri/bi='Z9 -;8>L)5dVd>n5p>jQn/Rf4;`auQjpo/85[Nc+9SWZNNdSZd+C-BBO):FoN$t!Loo!t -8SSa'<6V*@s$u:d2+3kc,%i4OVAD!_c:O]8FbC1OQI=>`8kCBUN\-dcnjTJanXJ"H -Kq+@4]<9hs0@i2>(n#f(89PcZ1T*LZC>r\nFq1i.KclOon6r6fm^pspHVoqM$R+kW --SOXC`Tp7#[Pl.>gI*=(3jVJ\[[t:b76mH2d_^/nn[QnIoIYd*8f9t:=:5-`-%rUf -&)7.ShVhCd#9FR)G[Rc7_H]`j@,;j?G6MKZIqf&V1V#Fcd4?UA_AHbRZHg,Uu7V(`4AX@&pPc0`Z12(;N=AMEi^@`/klM -+m9IBOMD1>n3mMS&01iqEM0ntVF5JPB5+Xnb)Ehk"p!Y:"AW8:_QYHrJOgN0&=a*E -C?Z$1mm*[+;@^O!3CuLZ('J%+#_RYs!s3:K!7?Z^5Y0O06`,1h1$/IkRKOTt8-Otb -BU+6I*>(G1WmItu37Sj(dkW3pG$o5KHdo]6UJ5=#NZD[Kj -o#!QnN:D&n`Rd]r@Q4gQd-e?U!oaL6&0M&DIG2RE-O^5j%Bc?7-/K3L)?YO/TVfH? -TcaGg*YBM[&Kq>]T`u#M;@`cE"b=Ap!+#s"P3c"/,DJ+g,YDS)RUdP^A75%?TZgs/ -;Dq!H/Ya:Ii`%FfPhaO;B0nr6U:LN*HmR^"#LE*T!6#5*M[5un#lq:<5b\ScTJ`C( -#mU86+HHk;^^,J+&3tgY5tD6s8/>TL(1D"_JSZ,f6l."e"$prCJ1MIe?iiW#'VHQ_ -JKP#&*Y3cP%q*lhT[XBX@LQYQ#_9>jTW/?LV\$jE$3Q:p`,l81:3!0Q-jLsOm2Z<@ -4VEl0dL%CtWG"3;3cmrI'$PM*ARl;p;?EOg).4:!9V`^P"-I81!^k;gDuCu*X<\tiq+hj:a3d51]U)h5XY`_ -73@Zj+/hOL;?n;Z6j(4g"5l),B\])?)'R)[+n?Qr&gnl$.j?`%,*FZ)dPE,22^?a. -,SE0a1-[$^9-fZr,]Zg.M!ZLEn;g-8O3oI);(s5/7$Fl2O_I:I&M5AnB.'])Q=+To -.R9CV5psMq-IQ`Yns:cqBdqJu.IroPdXn8$FXkW_PAW*)$!R>"t=aV1Q^%= -)XiGT#"*&p_mD+,#<4NC3"rTl8Wo8g"@Pok4&`CCe&+;3`fNk:k!7Aa_)*$;()^Ws -)e%:tJ_%aOBg0S-*.SG;Kl@e-r'J3+q7r:fV&0H$`6jOtq4P))+@ZhNRM$cc!Wd<] -!"KtPMB:[W*ot`k+nPaXog;Nn*af$j@EcX*YQ4d/(uQ5J_(*Ni-k'o'1@3@YWm2a9 -MPd4@lQC-OTPOj@J-UUP#XEhE,_?86;aAgT8Ft(t1m^cIG]cT(AO(c+/LJpM"qX''idfftTX>+,O:"u?$^EJ]5gK)] -rY&9q(3MqV_(64le."[l:r;'>Xeb%MkTh>i9N>@nC*;U`>unaSfIp20+C#00Npn14 -"Mhqe%r;oP0GB"(!oZBY?nTL99S!"0;'8P_u=?tQfsC9$^9X3)X5 -cH$2c7L+t9$)#':^q;hgc3us3$nks!:>C!mO[+V!7T=+l+M7j8\.F0Q&8lZa6&7bA -]H7+R*s\5T^]kh'PT#*r!WdBV5VNj&`"#]t7a06T'W`FaB3```#[jM5+JK?!#SI+o -&^a8e&$?VlPSBCE'HmS]_$+-&`)J#`8>SmfFHf5cN:3Qk#EI@D^e,$=H4N;""!KG: -iH[au^)d7W*Y6F1LTa'2li9?-q%Z=7/@2> -d;4?-$D:9(C(L`l*X]]Y"lQ*]J8,C@NX$\e#QSZGlt?VI# -AW<'0m6p$P78K/VB7`tc^fX)lKF7H<<7(D!TY#;rX`VR;#uH-Wc'U)l=sbAn"^n>B -!(mg]Fp#R()PA]$Ttg^1^`B'Z*J*8OJ`Ijp#Tb/I!,&qEJ]\hF&fAG]!PqSETJ@+P -rWZd0%Nq2M0M_uT_bhPhh]T@@5a4ZV*c_S2K'&V/F5 -i783"-4)q8!oQrZ?nd(nl2tEL",I-b!)*Oc,mP/ef(`U,3+7PDCPIg?94BA!La3+R -30,iO"(4"h=G)ESKntoJM%WO>1/Wm1Ru*N)M0PePfVOHBVi'--M\rFO=KdX-Z\sto --)g8b;I5EY;14XT2A9FV711PF3K;Y@9%&>?F%VX`c]6Z8NqhRo=O/LuZ7mjUQIA6g -P-^2r.?CHj/-'T>W>*'>jaOO"2NpIo3JIc:M),1jW;E,Fe*5S8V!$7J4L,X -(^#=)'s(7eiL=7ah113DnmU\XiO/aF[M46A'O]Vt@+d>XB4FAXY0S)iQ3Le^V -T_`/q)J7BrN>#]<.\fbqUk1UJF/Fp77`ENpXPO6`SBb[=$D:?*AKhH"dKqB;\VtRG -(3cWZ?GY7LOXa7?K*@_Q'\ibignQ>'YrW/Zb>TOo;./MtTa23[n.+CFF>l_uYYGXr -l8YI$;kY)46\Z6bD@aOmh^1B4Pui"Uc)Rt38ApU`i+N?A=' -@2&fp'4g&FTtqLMi=6D!4:glcHXKMUAMOV"":6X1h -kbWG>@=hR3IU=6j!hi3uH65F\j'R>KTe9FOmuZX0ZuuG0$m84Oi:7!NnR>o_]W=c$ -1bKj@l?V/Uar+[PiGHD>'jX)=`^`^"<+g$a%C)RF8)S\_TRiF0K4Ft@"lP1B5\LE^ -"paNGVkd+dptn^iO[^Pui2unb(IM)E:mlqBE^HE],%jp<11u26-/tLG%L3<5TPA?? -$Pb9$:'(`0K?_Cs/g+a06VIX`F9k-,#U%Is!6u6YOr8cq)1fp2P6:mEhB*jC+"*P- -iTqMV$6,[r!?m=8J0Yk\-3[g)%mYp];#Ul2^'d(d$G`tZ@&aLq!-D;e&i\2NHOn5E -XHMV0AQ9/=m_a#*^'[[F&V5rCToAm0fH*!id5bL)SV>^Irte)?=^4Kq'^h3G\,n54$lUj_\sh1Z7@%n)rO$c -5XU@;_N*9^h\`u_=MN`Vq;6Vti#VjU?2`]Q"5plui8,.+*XCQM>Q^r!N1aD*MC"[i -'QSHQWno+rl"mM4u;8&gQ/?t/0gLZ1IpPokqeo%Q5L41otQNXC#inR -RUT/O#9DY5^ZU`p"S)6iEXsb3S!2Mj!Pn=D5RnT#^)X[`Q(<\qn'Ds'-Sfgs1=Is6 -:QEgdA>ZAYW="_Tab?)^D4"X3QW]<.^:Tg4gR6pUikF6;27\e289Fk!QeHlMr_)Ap -p[>iln)"2o3QRMsc(+rNn6Z.b?P5eG93tVQ&,JI(HjCPtRN'Y"l:6Y'!DNA/((G(f -#cqtMcV*e];TuKF&'VU"*HW.W\cC^$UGrO*n&-84"uub!;a/R4+eNq9ill)MebD;@="c%($cZnOZhj -r6.Fgp]/P6TX1T4Qq:Y?q`j)')R5a/:qPI`X/m>Bii?(%?7+Y34WY+@OAfktfRQ2Y -c_n\>jrei(*[6BLZ2-0j4i@jYA#[tt@keV,N`=tLKu"leL&`*bBfb_@o>UrmR1 -SBg:2g!okD5G:nePR98XO%#j>L/c!Ne7:?SN(0TtE@2#!O6?<08 -;H>*%#t+6-oPuZ*NToIqB\%&[)\#;)Tuc["3#l8.'Wa/>&Po@\7cUb(jJ47R*<\kX -W+@BV$7ZfW-'IU;\mL*Ald17RFeMtAQ>/[jOXM,?+N)8F8TYaFF&?eU'U013uZ%lU@!&k/1$?H"2$cMcfrCDl2s.]OE]Y1 -*/$fr\7I.u#d%3Zjr'ru)CFYZDSTlC[KIO]a:`s21(^tDPi)uXIK&lFX&WOXU>Tp5mK&mP3%r.uU"sLl(*Bk%eGTR,G5\_>m!U9e/ -0ItlI&^.M^mh/CEbjdhE.AC,ccj;[B+&J\3%P(C#AJQEp+q!r],iP2"Q3G*I.[UD( -[.'E:'_5I$"n`FN;@(f,Ti<;3:lHTSZuCW2LIo!f(F:6W;B6'p.$uXj,3]4>&4Lgj ->Pb\:s5RYG*]ISh*\=t8V -2,JchemV*G'EqoA;O3$Dm/&tRZebY1?l/M=Jm`g\rk4&;aDr7q'6ni;LFa_8K&Bb8 -WYGkOLc.dATOF44!-VHIHH=[-M3MQH<.gIt3G)WbAiVu"I\1!KpEL_%&`RYXk1PUr -R"]3#e"@8eQfH -?t3%0Jl21(OMO&n/M*(_Jjl]"iPAm:CkEa]Or>*niV+B -aDu[;/'N%(f.YD?4QerTF?K"^cubfp9@S(^=&%7g4`=ERG!1UnfClnED;'13f5oem -*VXd8pV$lfiHW&Up#L#kn!4Ui_(G8`Cd+.:kc&X$Y+,:hT='RR=Jr(^r'(G,l?o3? -bDTdgAf?5UPp6NeL4;GNo7"GEl21J;a7oO^^WZY,O9'hY8)Rb_q0mk@)>=63(BVee -KRbaFl)-u`@13]+@:8&M^BP>STG/Ju.K#P^Qq0jab+]'a?+0kOK&m$S('d.d#7$rE -!QEFJ!(3,t!"n!L^]=+?Ym$LMFIY.?a;>QKL_BsmRL6o663Y1+0L=n.?Ao:!JIuJr -`O6We$-ZBR`WcX7#T!N6KAV=d-1=!af_4?ACQ6`]3(Gsc)dr2.:50ARa0PpFfU4[Y -n+o;hR0b"s1kLi&(.?5h'dI7"O-+HP7kf/p?kb"PJAo_O8I6alAE9AG;M%[tjM2JT -)H70_0F`iC@K_C8eH$mpP=.EEbaF"^n@\@!+\`Y5WU%*La!<0E"iJ[Op_=Rn"#NPVS#uoH&Z#:D"cn6jWXf,AOH?Wte/n#C!.d#;eC]"7T\/CZU#KVna<"+Daf7olDa^ -8A28Fbo+?n*jD=kCe@h -WtN37"lTNr=>4`*CO&4O2GPY'&@;d2aH$F43+;m8L-$tB80-a7!=ppO!/IuT*lHNk -%mU7\)$o^P?k@I@?j\oJW"Bf#/3TKlLLb3a0i%g0'njBT#fBc&"(ENV!ARP05Zl:F -%+1MHB=W8OohUjgm`\\[4;?iYk -/`37?g(=Dj18hsnHQZ_`7YDNuqULrfb6iMeWH)1><8/0e\S!L*XI]lnE'"=K!$EWj -rK&d\P06JL)M2p_Ylnb,0I#lMW.R3*\_li9Pa.i,p* ->6nV7+bIKj$NWL6"TXVp6:KT5o[oH2p#`qh]3cm&,7&%t<5i3C$t78kLrlZBP!P12 -"[Q*[Rj"X1L6df?_rLfYOn\n]jOi,uf4<'AR>K>H4s'J%Fc;D!1.=GC']L+qd6Q>! -!D$,oJ@HVPJ6i]$Wg\U6^NAS+f3>Yf6#3-m[=QAa#/K.:hV7(;mpJ$XJCkfZY9glk -LPZC`0*caW,D0s,)8c/m$K<$aM"(Bi`H\9sid>BsENV%9q"Gfi*-76^pJ\iBgWK\l -LQsa)/$!g"FH05L35&GQbI(sNk7VtdQd&p.+*:f>]\fE(DMcYb014sLOnBPN`rdP0 -J:PWB^qmnrdWJe/0+_7%_3d.t\j'OK75Pj5`juI_E$+HV`"-eS!:572)$Br8$\G$b -"bEUP!^TpXJ?^(KJ1/DXJ-:$++94O$[`d??G\.7l0Gf:">c",8iSE`3d`cN2l:a"X -_5R=Xm!1@F&Wn!NGauC%\IH]rB^N,YKGhBi$UI('.g?NUS+n+=mT(.t^AL"$eh5J38X\ -5XV2._lu90J3/RMUk:(IJtjc^M-61eZ4s:B5l=!DTUVl("ea"k_,9HXKBE;,.uR%( -()U,.&-@V"D`0+6-J=]^n9+dKFsXqB#$D1acjU&ugOhQT/#r%gN%(CimK,?`Jgs\# -P#N$4;22jh#.qed$PF>Q:8[Mk!+9;iE".J6i<#Mc6Af55YUG'!-\IctN3LM[3*J3' -Btlc<2IllCi7!?=%Knbu!k9P-=LP<::*ThGZXJS%S16]"0F;/`M9Fip=LkmrU6HTJ -.Jf\mkta)1&/4k)8+S8_GT%9K2O&ioWU^^f!$qY*,_K20K31SC\4-X@#R+mSJ4O=g -/8lDAo7crG"o(N;&4M3/(kUZo!LP8:-lXZ[Ko@HQQ`q2d+;I9qKLM+n3\nV_kk:'^ -nq%,`Jb^gJ,3Y$5-A$IX8n=hlBI9m<+oup3/(2%s>RRP\p_\oFT57!;MM3>>p9Eh] -/(3\a0IVh-l%=n0KfErM5].2iD],@52H7<(7(aD*+"$K)!!%BnR!+X3B8l%V[Fe(R -a:O!>0"cGdJeGhWA.#7JT/@O\M,@H-AB[`sbKSl[!B:aD0G$6COLZXbbp:cK*7R\> -eBMOSc#hK1K\"D,f?KQ6c(s+=SD;Arh&\(oJG9ZV!O]<`PlY#]a-&p*;jbj/RQ\ld -c919I4.V<;H8:DO6M-mF`99t?k>(+*T0pd_CSm$tKL4V07""GF401tL]q9m/b5r1! -dX?tG:cF?ZJM7[3_mLM3\H,MMJ=n(fn-FX@5QGI_KjY#e?u(90CPS8W#FfBRoXd"h -AcQ4MKTHWGLb+*J/$Y`jO+\r0bKDr)cAX%^MqGm5m'/\^%)!Q7_+a1&<92Gkk.r10 -\_7G=^ql\US^0FncKspYXWPt*oMQ\O;BeFt^`6+L0"s1f;KX23JcCdIU4N+/JljRT -5V,0N:k5cH)?=4uOD?EBEk_-Q58>QB:Z"5".ed_Ps7_2>'M+6khYW4bO7#IcOCdZ$<;`Cn_2,GP*) -$_"BL>/sUr6.2QM%R;s2cpJG%:I5=k#"SrQ88*NUBSOk:#0:]_5]6k""U:Y*#"W)$ -G[AAB$NrP/-9s.8=V/Iqnq!VYT-C_.$5(=X;&'+('d+N^?m5Ys --N\69f/,>d\1UiZ/QZ=2=)][S8u$uO+p&T)Z7qf5TGNjiG(GWH`&r4V*3_1[R@g]. -0rQa`"N5r*<.r>$!,u>J&9PkV&]FNL`9ZkMPdgqU<.LoH6's]"HG*"2=Oc=0'02!Q -R-k&I7"FJh;daNo3,_:X&k3HT)5P*%i!]b@1_%<#!f[\@^_e?OX#BGr"4.S]bq9/' -?j5b1J3[p7oa)KqGlSD$"p=V>84Nah-&dX.Y8h^bn/J\n+#T17b70Wh5sG[CQ^$i( -1-1s]3E`s'[R]j`>AGc\)%kH;Yr`P#TW9ihEC%2M/BrV(P8;)!Kj=dHRk?P3>]jl2g)LYBsC81 -VLbtO;P=b,5d,e7mK69IJIjmF^^u.3KhP$"")&;L>Q,.p,(Y7g!XK\Fqf.mZ+cGtD -a3$WJKmntiac4Xo&O8)Ro,%Vo$j>[I"pf:S/W#V]7,53DbK]dLCD')[S%eB3!&/Cm -OD%,i?F&Pj5UofsCc,"^kcGi,/^f8eo\%h;G*a@'&3m`XC_U -$Xi**i9h'4p(60e&`EX$i>*(dMmXL/SKteK'cG:sCDaH%iIubF>j495p4;#b -9,8LQNZd;p+Xc(7;/Li_['8NjlVY!icXf[/h&Xgr,!!kn.lj[34Q$5@f7B:s!MD&q -LbAm%"u+R1##GAU:il[CF@>/!9tY --5,9I\g7FYl\-_oKdETp$If<&!j?Qd0jMPK;NHJ\h?-:]"%-u.R`^3X\I*LT&LCq? -MIm&H"pQqAbRD5k`Mj`/5u\t3=u\XA!$$Q?]iXV'_QCSY%OaK#8Q<,rAJScg7WY4C -Ygij)5j!,F?"Bn,2SqQs7PJ@!^i$8ps1^Ya#D`D9MUehV!Q@$0KlNgiJ.70Yl%>'I -JOh7aNceubU=OS*6HYg!Ql=@ET%dA9gS6)Nd8;b=5RGPcPF4rj`%A8&cO%]gZ=RkR -ICAA-(["DB-in97Jk-e:p`4qep:BN`7uBU5W;%Qe+?XTqA_9;I -n5VdD@h:Mt#EGTq?&INo3,iI'n3V#\^>(C:EW@M.%2`GSB(Uum0a -#;fNW]Y/R+U;J.ee'@-*@o#u1@Y1)\VK29+&;bWH(V^QOk9(`&`rXNoJ_2p^GW:C: -"9gbrJ08EXp]6-H_?ZC_g>N/3W;BhT3ZW_IgU)(!cGr/7U:Zi:4TiL"eu2)?j29q_3XY)BK0%G:_!V! -16G>B!cnPRL`CTjUZcYH.(DQ:-t`N^B2_?I!!mm?nX;ZmmoYU&KlG0:R)UYY3M]3_ -o5Ha0f9hrc67N88[B5C'RHCOQ_18!\\PI:](fjI2<_bMh`1R+GH -JV,Y@o6$`c_7*L^qtQO_\E?m((U&VDK#!8'[C ->7Lj."boDG#=hE)6sbV`cI)UAO8M_hHmctDB>b+3 -Zp9@HKcjdUGm"?&gjMZ/=EVnc_%Zu)IY&[XJelFDO]#C,Lg)_`qA8Uucf+s"5(51o -J8ep.5]-Cb"h&!dCFDdTa@Y(C1V]S4d-hKl#AjjYW2u"r!P!Xk`P`C.XI*-)((ESt -60LRZ70aDR^qt(p'3;/7Un0Gb[j5iXqP=OtfjMfuKFHg_ -JK9f%"6'4ZJ(sBM$^K<-GIcRJf;lmYrI)Ig0N\#IZ1-?J[?fbdZV4981\r+=O%l@uBlsKn@&usH&dLe?i4rkZ[G1)X)njhT1)^U?pcK$& -(Q$2knp&rm7k^FXk]8dirgu][fB[U+]tVO.[GC=rr*Ab=LWe`LH@6jL5I]22p3ZdG -+/d$DoDAK9+2?G%o)HId"8r58O;n]15nGR[s#5qY1(OKFn4jXM_1OkK_[:K@WC)d& -4UjdjlpD<%;(P9P`,Q'%(l#mE?6G)u@$WBu!m'41NPlYr5n\_$-;&o$UDunIA6L6D -"691A&<:MP^*SJb:i7.!&PPnL72!8@/Ba3p]e.Fum(kF#8jI3c#9gm#*X@8Og`9*f -3f>c;1T\\[:6W?`4O950rB8Kum/]N"<%S2>d$-kl.aC>mcT$\Y89[VQ+iMeJc81]c -6W#]-3CTmRD')8Go1_!5-rfjSagK35DnMW-$h,%6j6I@fX> -G(ZF7(H!^$>Ele^TkTrBSY>Tr;cEL4QJB)J[us;)m(]NVud`2+I\IG9+G@_"U"T -GM`*4m,^bC+jDC2#.LL_hdP9DUQQ2pdJ*a"fAR/K#el5 -c!d5$5e.7(j"q/%&Xe(YnbB#HWk^pKO]#poF!XkW'nJnT7m[?AMXd&9#$Bd`j+)FU -+mA"DiHZK["FCOY2Bm\8M)'WY,_Egn%tSd;"m0b?)Aj1j_/)r*:c^&@K0ofM]GZ4_ -Cs9_?%2<9I@>kaa#=01BB:uOG6IC5b"5lud6O4hCiX?6O+\Dlk+N=Fl'QX7?bmk." -JK!GhCC6^Y.RWD<%tTZO"q[@5!baUui8Di$=8sS>$ikfS(,S:$V\pV)$\8;fdtFr' -&qaR8%:V"#LpAW`7Xtg`j2_63.0-^[L]SVAlj+!($3rsAI.n23%(o)30&U`HeXPR+HpT5R9XU*3`&nhOrpJJuh9D -Yp_6E=M#S_XG)Y>2Eo5c>:F.MSXHe7Cd?K -_)4;GV!Y?sl$&$$=XupX@;IsO#_5_qLl`Gt7W8MK_or+A23^8\nGK=e@)/ljW3qr. -g09J\ePk!YH\&Jh<:B,d04lSin$W82meqR:p&Mjl_Pb&6cP^6J"cr36%q8ZNMI],T -&:o'k$G`Si#,"R,6m*N^@Z1[%3\2sSTEuN^A85ASXQN&t]U,@c$ArgI#)%[r%KSs4 -"T3nAnb-q8%2h^\n9G_fV/2Z(Qe3rQ*H#D-:*:dJ<4,m+`85'%+G?:7Uf$0^%\k#/0@R_=$.iWVkdI?KGK)/=lob)ogbq^ -*k6%"_m/P^J9\mBR]2d1E0^i_:d,&5n/$]/&8P:'Z3i*,5gW+=T[^(_36a&-]k8$,T4n"lS9inQ@XJ%,>W_O>I^'n5??6+%kk4 -DpEHc1$-'H.L8;8+GI$j(5%ts%RO\7$(IA;grF[n40Wr"0k_Uo#^C8KC@'9gPRYI? -D?k5HBKTN!^:;5*K4,uu:gh")K?0Vcic_,V=!0SQO`Hua:d0I2q5(q^5m?3H5m*+! -`Vr9I>SIPX/V`1*C-GlA+_)*8h5F -k;4/%L&qC/'-K=L+QJE -AfX,B*A"i?5T1Im=;(gT%IGbRVq;5b8H`4 -(VbJ7"dg':K(^2(aAEH9'Q6`RE%GF`Ck3_W+p80!fEY%$@15t1Z%j'V -T,.n).'\$3Z3U[#k[7(o(K(tj&fDK?rAFrVcgqT!\ -Gli[RL8LPMY:^tPU]IeBF"&-6DD"f;_^`5O_0Q.`Gl+0/#N0!X"@C&"Cae@F#1;k\ -!.alqNmSu6d3+a`o4/.M=pY1h"i-!<5_S"PGk\NKhhRBP`VeX%rnpZf0nmRXV85"H -Bf.#V"s@tGd181aC^4tJTMqCA79\_D!_k8Jfg_D;J5Q__!!C%7'jrF)6'),@Ni@T@ -g^:/=U&>1(kPudiH9i/f8V@G$O9In0#@LX=DL1L15a4eLP`I0^BZ>Uf*.]N`1WZll -aY5P)6P%KslI6[9c@Y7t_"+GFm&l'J!)fD\cdPn&7@I/6!sa;?NhUb!7"I`U%/1,o-EV4+$]lL -:gjOJXrCaY)du,9_*e`?8.AA<2(a@Q_MXb"K_UCucSGYbOn:'lmef>!d,9a<`1RD^ -@L7s22M@ha+H'/3Z8a4rNTr,f_J@ESN04^&]Ci(-j>b -5n!l^$4Qu7%,dud^nikd886:?TF(f2LCP%A-kud.O3oG(oP65TrGuU4mEia' ->Sb*t(80pp^utuQ=pAlU"TUfkn[,OI]+.jr%^n/'ei.*I2.Q>?A/7==2G%G&9k7:% -A@>EIp/F9'Xoj2=AfsPG?pqE*XFg*ng*Wp^aoI6jNXdhIomn`sTqh]tUAmO,=,4O[ -D:"g3aoK9#)ZUEg&n'=ab%'A,DX%MVUr='lF'8_H0(EII"jK%b-Z&LmD)T,@nckME -JJZ9Q(fngsAQZ\tp/I0@09M`@:+e=U-<btCAqn&VL^+)5G""*71Db[5 -Rk`A8106+af/"Ff:,'NN!!2GfT_JWipKb]r2)BVq!/,7*TFBaN%+q!ZB:oiE3Y>,! -&SQ\,,`iQ(lZGJ@#J&Z$U='$2$kN -pu`Ai"QOR=j1$jWdprp'7Lb+cW8X=feV5+9k8c1#PeDUE>>l[AK*5Dn$bDI3u?l1%d!eF5\5WfT#ZpprcXd'ZN7&j5)fE[Rm#KTC0 -pjIRE&K^&<$u49%?pkJa[UnD)eKGi7Tc&e:TO]22>--?_n!FC&N!G;73r7TH+Jd7] ->CZa#)P@c_N_UR5%,FZa:3?I9!OY(aOISUE&E#S\n3gKVe-7:`F`j7:ZB%'?Z3hr@ -%.Z@hJR0V<[/QD_>F#>G+jFa&L]RU3'L4Jh+T_dT!";+j$ok2#C'>1A1bp3?S3^Kq -!Rh\+d;p',F'D/E=Gn1XR,'-s(4[;=JD^MPi!#cI"d^)52CcO$=h=<.]/Em*)n3F` -\\%aP]K3RaZ_8dVYX$k*8V%Ciko5op+o*"a,*&0O.J#!rge::fAR"b<%S5`$2U -c=/T$p]s5("PA1SbL)l"./6Gj[r[8ZGLuUafJm6ifMsWBJTY7RfY*@!CfqqL"kdN^ -GpW]L-WA^sWWn14>rP^8SW2AETO;'4>lCGPh8qA&;I(iFSQK4"H0Wf/RIJ`[ak+;Zu@%p5Jm4;\;1#[7;VM]j"(Tje'h -@&Y<._pRGIc#sfoOP@@V%QLT="MWd'h)Mq&RTEMMJtB*-SPp21O)3;VJ3FKOl>.I= -A)h5*X6HEGgZ>)At!Wm'$X\T&n3[6nLttXbhX-n*hWQUXkk'!=oojL%NmkD -!,_s\N!4`D"s@-:kt0u>Ad@pH#iM3ZTUH3QU'`It$I't+^>92>SaBgGmlI1g+DR+$ --B'@W1IqC9L^XI.8+.RZ$D/(#J=6aoL*l+N<a:I3g -GbA4T!N#pLVO_NSHW!X/dF'*:"s3m*!9)oX?ksbkJ-/)d&`?\%i4]GH]EpiJ#p=a& -l1-V9f&>gBN"eGZ@YP(ThspP:#p>B<+J9&_j6g!q.NT,4U;QI^q+B$!b[,74@$0JZ.K)JNgm'7].Xi@#f:L*.1&>F`%MQdd,Ztj -4#$i?I"2IDA-E`9?mmo9T_)=rKAbB?%Kdj#1^jI/b\nKA&YM!&a766^+%S.4LEf>f -7#N>3nl2)*8b-,]-V@9iV^kBF`2P=\o%^Q(9Ch_m0$JA>aY?Jq7*d_adq$occ#\!e -3)4OBlT%_hV!gHB1Z\'j:NQI25YuP;$UE)2,i/u"1gi[@"X---(kr'2eCB\ -?$C_NTdG>m\f6E=?18ik]lG#k)Cl2#"cVeS8iVlOQ9`iH3+qUW6:.&j?5DMK/PbCj2g#*ZH. -qd,DnD>SM:[dJIgF;TcW&7?Ue+`NH%KO^-H$5IH0bF-pW.II0Wk(".Z'gSHj6A)'V -fFa*>&>U>$(Z+Sp#?<@_^[B`>@N,O1OD#G`JYXKCODY^67Hk.N4=,Z"Se4;^C:td$)22Ul -g-^"]^Z!["#-7]T'1NI++bW4;b>Ht]&8]+U,Vb&$$6Uq_cIp%H:3?!.$U@/4"pmWq -?Gsc&KD0?Q+)*33c)($EG1[OfTTfOF9PFL#U-1aQocF/:Hk45'iQh!'*l%o*%c@IO -LH#DVikVXN?pYl>#s8In]H7;"]#=9/S4;^U9UqOY9Xu(n8RWCbKY-Z -mCU)8QFED>YB=]`M\.sgYlW3A"ec[q"UD%E6bjfSd_J>>Tf3nnOGa3m-pRh&r#3Bo -BoPDT^k;-&$j#/*#0+el9?!"-SZsmqCc2VWp#>1%==ab%?k`c`p'8LaO;1Z0D%@`n -4GTR2PS/j7O,61dkm\RQLa[EV6_ZF<5h$Ht:ecZu4rAiY.g9=lRfa":rILI)#pCE: -"]2-4!mk'X+abpHi5\__'hbLaGV)naVc7C"86\e+LP$HiC#>Q^qLh@ -^igB!kY7!I3\X%u"rltEFrl4o!69oc!*4!_Npm05a%-LW,DZU8+gqQofWkY>a?p&L -$5N\.mn'S -V:;`d(deJ]$Q!n5?2Aj[$"uJO@&i2gYY5OYTHaeP\.Ak\(']F_W<-P%@fX?(1r)Z2 -EMGX.(*Ro)`RpLZ,$6i,0]7J5M>mk1j;lS;1;QOD[KlS,Q\5XWm2&'lR:+nW"7T\/ -B=L;4i??_)d"?@_Qm -BEs!SE>n@LU(ab`p(kJ+>&.V-NIZXd;"k^_+BShu+rUIV)$C5p%B+shU3>,@gRD\k -D8!]nG6[*_>F0e5oP/-5W"5n\@1!i;q!B;H9 -^p:6J%1eFX;8"VjfH:7RI=hoXALaF&PRWV"bmo9b)*fle$NMM(k?s0,P11<)7srmt -:Fjg>eUO]4YuOiahMg7!RrH)[b;mU)k?RZ8/;D#5ff$c(6q_"8,1]FmL;.)8/! -U1>)b49\#-!Pj(%5o^3IbR#I]!'g)U_:08d0ndC`';AGG5^WXLA,sF#'LG'R60k;_ -/0Mfu,f3Lo_7V,2>QR6ur^%d8-7GUW@MYYp-c,E`_BYc];11\Ipd5/M51kl[81-0K -5_Z6r#.Oej\8qX(F"&>?1,s@U.!,ZfrIt"OL%n7?a@V"D&d'l5J]ODa?krf?2ZY$Z -"H0O\^fLmdAN`)9LX6$Vdj(8_I&si$#64j\q^*;5<.ls74od9gT`K`f(BP5!6[W,E -l4>alR>X9!qE/h4&hU9Q3]ZR[fI!['#q\1<22XoeO)!fHHIZFh9b]e/6Y -#u]LZ-n5:[.>&0cK+L$Epc/Ho+p8`T!D#fd(^^E`I&?Z33#)2hYJ7r8C -fEMN3>_(1+Kt%eM\6B!4>6M__KYT[$(cqet-%_lFXgr:#dbZM4(96r=WNhPc'')a_ -[Xsa;8a>RjCnFFdT?6*&Y37DqfL:Fc&HeG#!n.?$]+1BQTHS=*,2n1jgBrN/$a@`f(I0(Q -4C]Gb/qZt5K0o`nLckbE4G28t"40)[&39o<&VG1ZSBFt>W/<9YQncT8nH'l[_hDh(As#%.[j=B'gdLO>[6? -%"t^F"qZ"Z&9q+U\'ui;[MrU4"[Y*Al`s/pLNifSGZ92Y<9-p;ZR>KT!A+MmZh+*iB]_d&['B>t*BHan8pc -dG3u@(:DpYNS,.Kf3Jj?\qh>3c/=spdp86fh;.&H:#TAXeQr!)3]6+?-/r5gl54%a -fDET:/aZjprOd"9?Gje=ea6[gKNW[Sh`8"!NU,IVZaq187I.r\1ak[8ra/VT?Y0'p -L$;nMI,1c;3ge_Gd<_YaQ)^j98/\\,'FS;H*l\ApgH^LF7:cRR1Bb@4KuB(-R.H)C -?5[^1W3Mir_ZBtPEJ(iX!ke&[bME@u%YR)Rd(jKri5n@ONaVH'd.dSGi_tfOGT84V -Mb"2/26@!@2Luu.[=BXFmK]/?!fkK,m*Wl9k`Q1BAmZ!isYr -ZU+]6(dF^i<\WK:(q9Z'F%7?VL4I?%W,B]CN/%d"1Os>[^h[+M>/r-UKc5/fornM@ -n%,@+'[2(JWI-*=WXpc\hJ%0VkB"[k]]n77&_A;233 -"s-US+B_I<5Gs#f!?a-!O:m.q*e?!c]'7p"#U2l%U&rK7K-jtYcnGOTVlkh*K!o2^ -!pn*VVCFX:c"c@ZY`'FrY=ad^WuA>,a0%Je0(u(`CLH -^6j5]k27I:J1C^U14q8>kHHfFBJflO)M9_#!>%&>\.=4sab2'6!748iE!uk_70'hd -"?6bl3(3jE70I9GKP3mXTL]1K.>-q:"#q`]BIQXOgb$sX9e*h;bd.SkI7h)Z!g;r' -!&Wr-1+Gti9u^N%+>%4#/^!Q9l)6=h7\M;V/:pKcU5A#`kSAa-+TY+V!`0R[p_/7H -07bnDJMO'nZS2I`iDH+Y![@pj-,L]jTXo4mV>5#-,FHe^p"YH7)FS$\Qnc:f,)%$Z -"c*J=N-5@i$AC`@!4YdW>jWN82?IRCLk1?/K,Imuj/9NG")nj)?pt(R7)[XbLN!;" -C6D!cI5XX]@.kWH-j']#/V_?S"ZSOD#W[JM'X6oaLpISh]R>Au8-4@8K$7=VQnnas -1(GE^239KO!%GW466,oL>W4>fOOu4A-FXq -Kd]*8+?Y7#(P6H]U;;ZDLkPp2_h62WK`:/H -3)P2s;?I11K*Vs;btQZa=R^55E.(r0LBhdZ$?2UFE0guPY70p8%<1bGE;pB0WCHst -R(,=InMlXQ.#+[:AV7c0K=lC3;`G!Dr9fYjd1hK(YYd5b3%)CX)SZu(8SO#J0#,IJ -,:kco(Ei9TjDnbs\nPq.-Ri=>K(;DZ)eFI`7=S]:J!b^9nnCcS&RPXna9=qkL.Rj= -kfS[Hr/e3_[((:L/AMAo%tk(6Jj1oS4dB/8)53Sl+`BVenmY`T6?DPEsF!O8ZRFc(P3JT!Dk9Y=>e%48;6O="ncR7V7PUV.&P2D1Va1Ye(9e%,QhZE\A=(>^(8jji$mHG'>\75JjG&_D-8' -0__blQJ*us4i\>aH'ZFgpJ60nQ[JPbGPA_;?)>pLf78G.a7k;0h=$#q(mt'.l: ->ec4Js+U7(c/$)$?gig.p#f[&h;)Ag?hN%H09TZ!P?mkEhc8n9B9.?Sj0;T8@f$Cu>#V6OuR*2W,*aA#L@ -?;V>6W="]bqN.O<224@##!bra^eV7E3.gH]@#ij935$>)8V7g"#9$TG0bO]k!s]#P -g0gl_+1D=6Z20ZN3YhcXQ%3roGc&=,Yj;&'BIhQ\1"sj,ADg$Xi(@Qo56FUVmLk5* -98A)k(XQA=%I[]COjDj0IHNkJ5]S_e;;?0NR!*Ccf9^T3_K -k#aD=82L9PR=e,tb/c+51@OV9U+:`ds1eJGoUGt^#Nhc>#QVYJ0,]_'0N!cI&ht5d -@E&r]JFO:1)GMMuYulfL+c_=&Qmg$X.i!trU=#XXAih"CM":,Y@'FC7)^`sqYloSB -)F4YGZ700X=#1-kV@aDj\0*C>"6G.8jM5FXRLSE>H(MBJ/XFO*!eD>M7NRTqOr5s^ -7Of,[70f%1o`A3QHW`1H;$IJqVY9\85)7%nH -OSjJi)i]U'M):T&!uF7X&s8KT<<^qJ&N"!;\d:!Cge)K7M$PJ&?tA[(5USiE2O+KS*,7%M8kH --rl\n=e'bf-_09X:3A]o<6b$Nq>_V8huJ3J?iftK!!g@*!$8N[k?]3[$0b]dVml_R -T-+1-=I-kTC-hWjT=U0HYGT<@gb%lN>\M==%,1n.n"+\HR%"ggqeTP5B -D;f]q=*armsa.qp%a*q=:PXf@+ZM2K&IPQ'o([,IMmrMfT%D;in0PO -MW6\123-^ar\or!fbQl9jOl._P%@c[=-Vg7IU/?&\Xm5uAm)9VIKV[bg(^pDN2*%; -qAt?bkW1\6m0<\8>Tns_@%9.YK5!ja'P>]'D,e+&;&,WE+jt(U7[)&&&tmW#2$AP& -IM[dn1m7'?8P\6Uko7'f]C/oD*8`^n*Q -3Xk4eNs?.+Fj>&b@R%[5S>Ss"nU.rhhCaAjjrANFm2aUHh4H4OaKC4;7rWm_V;+!r -BNuko5p5/\"!k-h#aWJr`cclFDRib_^7"tI!%57GG.m&fE!R6_#X1K[+_ZqcV*4Jn -\osR_k:?K1J)0nu^RsK?[pQ@Rr-r(gq>@]tdJ6!4!joN;?JY:j) -_"4/ch(--icrLQ=\2=HJg_ka!`W-,A?k:,,:^c3S0*krJ+^R^KCZq>S4VUqua3a)O -K;`SdOg'Xr355LRpf`4\C+DQ:XGA(I?UOU500jcq(#Vbe$4ng;`)muk6-p2K+LVUY -cqFUo-m8ZMJ9HLV*fSHh1dUo^jILk;/>2Lj3Jc9,j%OQS;:[j"GkE)PjEZfkmQX5U -VWn2]^,TNaj:ebJ&4tB1O_!h')7,9@UcH\_`rXFVP34/;]Ub5hIF,PC1_+'WUa*gd -;AV>\"'o`3#82Jbb*cTdV.?uVdVOuf#t$9b@<=HR[T:S.B._q]^6m@BA4sIi0IAos -RBkOY9Nd8V+EZ/&P9sqeG?6]=]F^R=3c%KH\MpE3gRBPce]lHX3i?DWSC;3X:"Nf9 -bk&&];n?kkajt?7`;Q4f0F!D24rA:K$W-+0;R8BF,juA5PN\6#t_\$#5/82 -"-"8U!'-TFlASsiJ*c?36D8S --t7_cM%>=3aVMa($jhIZ#QrKR$]7V*">F'l;RBs?+M8emnE("/NAMAgDAbeU;RM;/ -?QCN8CK$@K,ll;T%&dhY)Oa/=+L06Od\:hF$7$&8TK`V\oI'dFS/=OO?`RVW%L>og -"pE#G!eR(I!ARqYKtn99ii!1kOZ!CHe5_CaKK4bHrg2o[56jHl*$qt^&Q#uF"Q=Sg -Se3pd"PP[L,G5+U#GeA#@.XFdc5R7e^&`u]Qk_>`3J7B;0i-3UQ=?%N>M_8/)XKYh\8!pF.2`)nkS!6SCFI##H>Pdl>Y -"@iDBI)]@'UIb:$`#aQ -#lu"pk7GCZ6V2k_fuu)Q!1jkFi'Rd[3$SQ&Mjs/(<=5F`6l5peItG+`cf#L/)k^kL -F#Y[,N;i%M\Hm*`"I(mD*6k"Q+qK]JcY-@FPQ_'($%i5+"6&`F!HC.RJ8i2<6V)-G -EP=KL+R=A!O95t^YVq5,$lL7dbc-^;)aPT_$Qu)n>/5nup7`-*5d2L=!(Io\YSe(* -g*$n:(,SNh"!*Y]h59_$"%Fu'"(Ef1JtSpg!Y@L[=3A6kRd%5(gj-%FdP<&cGRhQC -UpUL'cIX;C<.YGp%&,-[#aIA!L.Dak".TFQD:,p0@]ik'!-/Jj+>?4Q)ABsf&Voku -$Nh5;#([oS?&Cu.!l-5l_>Fh!iD'PF1,Kh>Ui&>(mDeH-ksd,\?]RM&!/FD/!+UOl -J5Mmk5VTneTHmQqi".DmQj=I:huemgMueYef)UG.F+>F\4?s2C=!QC.O-Ps9(1PEe -_r4o3YQR#,L]n\[J6WE-'IQ80%h:lB$3Y<+#$3lFn]]b/1S5oPr0N]>SmTV8T.T3< -a.)\WGL1W]7HaUkU%FqKds@WZlMX5Soh=]`Ze[@NIAZp_LL;'&i-GudGXMsjS2#lY -0IL;MfBAbBIuZ>>]#HVI&E%Xt"s?SV61$"NYQNWuYHj(7)_JIkZ_OCndEA:4_#R`H[MYXmnq9`NIkrD87T#kEKGH3PL8#ln39^n_-ATFYEs -%maY+@:8+*2!Cj3"9@l?@(oNHRbki(#Z-EjOTnCug*>hK[]/qSLNk=O@Go5:DBem'Z4rOj.@%n&Jb]a'sL6'd9d[:=Vd-? -#-hF,0j,=?G6Nct(_L5MZ"F71Jq#M)(3+mBnX?3"T,1@u):=QN&ZH\rV]-5K)\@E: -L]8:^@WZH5*(NL<8jN[EcPshF*ADG_8,AcI*gOc5'QAHt7sq&o<]CPZd-q^!/e`d]"$n.,i=)\noPHkA -$Vd9#!*BNlXp>LC#:-aRTQlC1PpBbA&3r>h!GV[%BLJnD!lSVP60j;cH#)aFlP -5t1pl6k,eY%?:B0kghcX+!+;AY@f9ddM<8M&Gc[.'EMkK6"Yn6a;T$W)WA,!7+*#n -a;TVu!J-[V+F.WIV>Z+Ku0F=:&b8[7$_qTN2ATYRWrW!oYmN?m$7OWW=9A -9nD0rjR=66!Zrq?*f%&V!Gi:^4qFbI.?7l9^"p,LWJdfT7(rZn_,(_@#b[lVIcCD?o*)#G?eTTS*R.BbOk\Ke-.4,#!PY -LV\Hg@C.%*F"q+g!(#o66/hlQiZ4ii*$>Y0+d`:=R+q^W'$H3=47":W]^'Tj#/Nt?q-huI9l -i-5GkF:1?5$NVj^5qEqI'H2\%CIP"6Kr/$>\cDiA(K1bR$=")SkR0!K#=mGOVqY-. -OFj[JBrNOfXn:(P3j._$#H)-OQLm$>0QU%* -s+ef&@sE(qO9VA:$_UT0JE?ubjWd&90VN[N'sQL*0Md]p")H>4G;(=.CN\W9BLab< -cfC*W4WT[2G?8j0QJ6W8GB`M\"9Wjf$-m[./K`RbGukr1QO8dE!!bEL#N0%rTS`p2 -L(3'3%Dc!FTi6';Z?h4h*ZtS,-ajt%%NAj%!.iHD_;nB&NZg:#ptoPPBjYAJQNS:QihoL(P0XWSOjl_pMY]).6OZoL0.r?JdmIEB85&[LDXR4dTY?i -ScqBJ$[;It^u!g]>gFo'[%qtG@LtHC)-&r%D*ZG\&h%RsK65%0>,@>E<=BoLA-,&+ -\HB(J3*qS"StUrZ.S%rj7d`oOh?Ho#&2Iq)+^@t)SPNRO:qWH;XL%_ -i/Ru6MVeQ,$D:?*P->MK`YTf(LJ)S+iTpP>LO9JQ=\aAq!=qt6Rc/pE9,Plm1Ie(5 -I5KVJ2U"e363TIQi6X`F/"j<\3GQH!*70=q#D8[$6:rgsTTYM=#oRAB^thM2i!VQ/ -;uhSDH($e4VhR"Q+eg#%/69`rg*;g<+d:n2PN^%R?m\hAa9$B0H!3&W@a/uT/\k0g -"-bOnMaJ18bZ$XIUo#_#77=LW4:)i1/E."1$4F]p$k*9SK)%qB?j,C]"Mdg,3V(E; -;Ue$P%D!n$g#O[n!XPQO/Mr>1er>>":aIJi]#lq+D*LVo5>"EZ-7!I?Tje'H@nje- -O!3ii))5>F``W>t!(#B[5RJJsRK6ic'*'^!i5YV<3.f:L$/l'j_#l%#AfAH!)PP=+ -1F7r)AM$38ZXG]'5gb^%V?jtC=MtfN#4%9WQK]s5S=esq>nD.$,@ko -i'7Ae63L[M"CPU=i*lr,.L4NS$t1=\JKu&i%N#5S@DU#hJ_gAMhkktkmdB(:JaVtm -ef2C/)o7g?_3P^a(_VA1!^OC%+>.CjGk%3DAqi>_/0hrf -#/Gs#TO%t5aot&O&:d"W@:fRLA/l^%*'7DOQV\^*5Sl[0(GHa=L7S^eFi.U+#%M^t -7ZhkGl-*781fo=XQ\!T:Hd_jCdi?MD>bmkr_91QHe6JKmDqKTlU'BP'"sA-r?sX*j -QjnUE!hiJ+j:tFgQKD?IJGYMJ^oe>Aca,eF>B!gAA?X-T*U;( -J>15;nJTLjYM(#%e=F)'?+Tb)#U@tWP%c2)><5:q\_B9rh%pKoYX9(+8^'.g"GbAo -TPSabSV=RLgW'np/4:Y3@)Puq/ej<'Jkb0e_r1T$i&T,==^!Y4@_SLQ"e]T8?rdLt -KEWKM#s_5l+Jo:7U^I/n$K.KYi0jqES2sY;2aGFeTYu_]'9X3; -P;T^IcJhobarQ%>!^U(qprV>f\90d[Ks#"9KUPN.XP_sA"X'r[J2e-LJ;<*r!H`XP/'TRP;[S`?g2$kon?Ip8FZKq-@USH@iB -<(Zeoha6\G6Yse1_U"gj:S/OCQ2159RK9'T"q3;P$^>Z<=qRH3(^/P4brR$n,5n71 -\dCe6UDbu;TN+P<.=lllS%;+cK9-#=UY(QH\J)8X.eG2k<[@ -PF:e*C/,M-%jD+ePU`G<"'Dd.e%c+UMSuN[3j_X'ap'V!JWuRI:0f3)$"P3)!,OA. -:T]ihFT169\D-FP_2u`W0cLW-"/5e.Hp8F.8)jX6pg?3)N(5+4OORug]%o-.4LD>M -/g6Ma-"Bc9cuTd=O+HoN&3>G1LJWdlnd,F@5bMZi%,Yk&)XRMt6')Fa0EGtn^bKes$7:dA -j,klh9-"D\,GCV')i#TPE#XPUJlESA+b3u)"lXu=#6j(.*soe\Ub<*B6V'U$Pb=^@ -E.Gt8iW5Vu\-./NTE4niWiF!C(e(Hmp])CjO9fP8+A#Hr!Mf_2#`JfZ.Neiocp/0F -+V7T]KjgW,)@:qeQo0Ht@1id,7+`8M'OXL'<<4CK?3D#)J.PhK1ITMj'`^g%:Otq0 -+pJZI?m%@`i1Q/E!s'f8$j7^:1(OI0a>H?4!7_fR;)ED38("\t-V74CNA!n&'X]_l -;fq[i:fFb25>bCf,u7Cg2)SB526D(-=-_<_?s!%:I:?;: -/Vdh=2FWsBfsXnOAm+hmUMracq/:JCGI_pI -hKU(8KAq-)2hg=;^/'gOH!7q'TkAh=#G(=oIri/I4/]@Nqd/I#msI=fJfFtffODU< -K31`''`b4.EWF--0DZjeH1V*/8#QQ:Sj3kXF$nXY&#&n$#P7U`YQHO@1=BE -22;b")hVZ0m9kOF".*oIiRBcB&EY7VGa/qO@om6F700b"gtUR?=,2bA![&0_ -g0kCP1(c\rR8aa-crprH!4WgHcr^YV==T=2VDuUM1ZkVFWqqF6Mrd!cBG*&+<&LF>GF -+bJX(?NJM2R^%`])"LS\U&7oEmfJTMPs23Y2JR -#U"d=Fqk)W\#`Wk0N0[7=2IX="Q5X\>3grZJORV4T_c3Q:tKbU/^LPmE%0U)7M2=_ -7ZSrg(<1)ge6=C+D4p!_"3XCFJaMWRnIdN31NXJPkSOtc=9OUm&3>Woo:8W[r=qdC -4obl`SE%t9!+EepJ>f;#iM,bg2;Agq?q:b3i(B9nC]m2*d/d`FFoX8M6eo4F(nr\n -Lp3``Jqueu_$D*7!-Sf_*XfsjWfR_8;"e`t(nMIm:fWEM+tU^s%i9iq#E.Pg"3'K;!WqjoJK\PP^p'OG5\N]E!'D?U -80eW&9+qHDg5DbIW-?=pCb1#=#QZ%e -"JDP"!g%.$!O+uoTbJsW0WGpSOBr><6nnmB+rQ"u&.KT61kq)7)L'P=![3d]U_'a5 -K$NQcTYq4j+?fuq!#u(`F:Eem+JIAA(Ku2pC@RlU`q]9Hj;`B*nbtu!Gpb!#I&E0K -Y#3@;G:hqsZ^Gk5B?YY!2Zl]iCid<1\!I0U>a$NPjG&i1!N/ENegqmH?s".2BI+*s -,S(08!\=WXfHFbaG0qWY08D7/@j:CIMnII`6U2q+jrb]I@TSNZ4&1((qk4:/fb\K^km/kQg$;tN?9$:*qb_#+bZoF\nB&ggiMRmJ`se.n_3ot`0q -_%[_P1`;d@j8m+I-@-5tg+ -,3+59T;1--,;BD&,!)i@i51rC6Neli0GFO]0nEdo!I,BU;$DN5"bE'EV'qmcn/$Z9 -*eM0A!jacen6.TGF9!G*4b0N!G^=lGHGD4XLCaNB&6+1QBFn1CaDd4HQk/OIu4KJ'BYf`DNBXjXI+\1akD,Y@Rb/e[.qE"fB6 -'J<#3aI"h;GVZFZg4DR7Ji`576L:INmRD`M0)-A=$(nCNoIi54J]dYS5gP'R<.LoH --r>"5Bnj&I@M*tf#P!Sf3*-*Q-%tN1J -JB]"BE"E#kDc,mC!=07"**Ja&62s9KIi3^#1]PWOEh&I -2-ic_=HJMGebKX)7:fLoA_(i/edZ;SF]haVC65!#/7i)."FaA<=]VA3f!S`5fX4^r -Eh:Kh4B]-H$g#*6=!??5!O9#`OtORa)V%u\%"[-HkT:2b+T\Ma!pCF%i(*k;7tr,k -L)a83OE\so$^#seJ,jti;9jr,6AC"kbH4)682l)B2Zh&8!k9A(J01>=Y9bDnRNS": -c$1E&,$/9i^:foa"ZokVk(mA4@>1?+HIu>2J7)pkJ.70Z#Jc=lg&7M7$k&aQ'#;p:>7Iso"h!)"[9ILV -5a5t%11o.$00s`j>K+)+e[H`2S>M.V_:0!Qu/Y'[D;9 -9S8amLB%D]!.9;&I*6(/>*+63BQAVOE\p$oKuaN'^d`k,7KWo0!s>u5D7l?s8u?[u -gd)"212.f?RU23O)<2Jo3&:^d$O%YmYU-6'q1l/`FT('6bXkFBa]t.7XI'C.R4Vn",=HSS'V%b=S]U5jO>NXto&.BZ -&qT>=Jt/XZ>c+LUT)q>/>_!PU_k>dmREEaUN)Zs=4KkJ)%@O!dK1#Hg0nY62>_fn6 -bA>-)Ups'^"5(Ci9>/%\_GetB2LugGJD`g%E,K?+UV\2QjT -0j]M--1E]OVZZQiWglI -%Zjq%;LAU=O+Q$#!Uq;ViuJ2%G\%'c"6`;VfLU[O%>9J!KRKtUGWu2d5(dMZK4$9^ -!%e7s'*G^`A"4(kN#N -'<-d"![p!XfJeKA$&%@BL-TX,5]0<]G2H.4hdDG!:%sCp",>H(!,,.1&.*t(&jgOK -!AG7>6:7l+#XUkP:V,.U#S;O5%ChrcCdg3t0R9R_7VN*EXD88/D=e.KNX#"!A80(ch[/3Tp0&%>[9pPj&XM -4G/G%K7qg7i%&H],3G%!^:r$%TUAe/!ED.PeQ)&*<_C"N>nEat,TJ)c!^^e_(!:QLaLAmI.4Rn$_h_Eh[L7r,82!,A-EV -QM,52WUIS(n$U7KQI5,,l5<3W]MorG$0`J@\8Ij5QaP"u1+WI.mTJMCfiT-n`t#C/ -)la/`JrgcMJ3JMq4p=aj"\@e\=Dn\M@;@i\#fPMjfQnP?$jMXE"mYi8i&ZE#3XZr& -+#W:PHBKVa#g1Q'4K]DJ9pfcTRW>g(Ek15t.=40S![_h=geGcW^BX9O#9&`_hZ],C -p`olZ,6O#>K8VtU-QD/ILF6j;`&Ok'9Emb(#]hX`_%JDp6M)o#?B*GuRc0/7QWEnk^&,MG+^Tq09iT)p"2 -!\bpCPaa"WeYA,Lf$O[kfGDTET;dVjA9JP[b8?VA#:*fqT8g]j>]2\-dsn%WWVh];:F4nRS@ -Zk6U;hgP:WSbh"+r"jIgJgP[D#&c8A@K:@UlWhALWV[93!6sodLB-Fi>tfmD+9?Q0 -VVZXX-4^N2C;mhiVseWn6dB+"*H`/qeIP:2E\ie`(u^pQ@B=K>1it#j*[=]-!PT[+ -DBVN=RE)HU=lq"[i<74#-S$[QX&(T(ikDI>_ld2)X4#3`>c#N?2L;ee/64Pu%Q-g- -b@>Rj8Q*m:%QTsLR)22?_X9P,2Ei_D5:U88/d=VE/2=8E6Y&YT/qUOSFJ!*!"([Xr -jJ3Z(\[BT=T.Wb-9*S0.FQc.)l3?eY&M_Q(VhKp's(3C4#?V"^?\nkm&d)K]%'q/G -/CFW.&VEnOJC$jkfE_Z1=:XhA0Fu>3l%\:Ya"[X'Kj7r/',pFB&bN?5V*BM?E'a2: -:`.tO1:&[*&7-@g?2[l2G0j(dYY_Qk8kpcdJNtcboCSoY,_9>JK'3mMk21fA9`Vt& -pb6,YVGh%pi)kEa[M6*'BEa,u9n:#R1O(_X8+4XTSrD$H&V\.iLod7T'Gh2[;_aj] -%Pks1@RAI-85CFd#_Xp@%#?hd&P+0F3>dcK,a+"[_I4RI7ir73UHt9k>V-`9k9Al( -_L+6[NCSW+faNBu.$(%]ZK\0*Bf(am#&uAfc5SP]6O2,>=XpQ\X'!0g1O'JfHN7Bu -n,r[CDRSh -1K./90TYD6r!aG8n6HpN+++E&ZPn-P)3R -jDfH-ITJIrcfOeEh(FIYXjuc\4'ddU*<eHp*kpeTBW66pd>s -WMkgn#btKo2%foJ*a"#*JXQc\Vaq)8Y8AbTK.b46!.Q)`!W.VDVoSpeStH\\G^sF` -Q3E[EO>KLd!D':3L*='E(oSU>B*-kP@!=Dde+VF^K_d/ek'8>$!@"+'0>'n]OdMa="B -+X1/"M/f0i`dmFVA$gO^&a2Eo!;g\GiXV#8Jcg`-N<=bdKE\TO$GpOD#O&/H4]dM; -'4[S-Mf9Us7EF!p]F[O\bo2\JbUGf]U`ld3RI4<#i -W=+lj36KUj)$;!\$=Q[0"=@FbM4lgT$31kbOCYhP.@,I7BK&U]jY=X-aYL[F>g1\1 -r/_VhPbBF="q\Qe"2rl[Tsuf$fk(rU:eqD(N$V5%bS(%[9-n"%Dp<7:)^g=/$Id3A -KE-Q(?]"o2o'p*9E.DO%]^qV(=>PZQOq^65:aD_P1kWnt:6ZkN;1P38K(k]FT?pT/ -e$q'YfnL+g"%rdTS.ed]91]gbcNgY4.>Fj-)/4c)$]g5r;?2h2e-^k,90uK:V6[P" -l'_j!20k?fNeW$r'^bRk(,4=!@_&f*i6"V!fH4d^q-X)&uq7tL:4 -8'p2pj+LG60if=2#^-OtWeCN$N>TLnD3A;r(^$Rk%ki5c#Dg_IK7I,7JX@nk+Li): -e.!c08 -kXG[u(a?ehM\.(r7#6@C+p;!`&Rmj2#iR*7KTND>@_?CTZ(sLt#kO(e%(_LM!'UV+ -;&93t>D[ka-,XsF%H/99"E6I-_"rNajD6#(>eCgRNaX5b14(6dHj@If+?i<12J0VW -I.M5pc2#C@B0>ROZc7.63Suu4h"dT6hLX#,$UAAg%A@l5K[EsF5lr&HXsrEhdT0X, -Zp^ae/@&_uRU\qRQ))T(j[,/OI5blr9rBj9@8G&Y8-6J.Unom=QcQ<4XCWjh2/]Nq -5d+IWJ68Gp.Ke7jan_S\-a*.!YZ.WrA#YGqJCc^,76=5/m7jFb9]d)@YSgjt,sJ6X -!i/f$RgSIT[&B5).b1P#?n!BM:%edrHKYf1XPK%81leQbqKWT'Q+"/)1>m?bgO4$H -pspUM>Qk.B[Kg4l#)&qf!WqdM7,"u0)rY_H9J3H,cjhu<8/)d>e.DpE(_hQjjp,;0 -*2$AHR@[&)PHo>"C/+AtRNFP']Gl9moLREaMb`J/N_jfBNPYGZ8*Ml'SjY8a$j$,p -"ecnr!\iU`^n@a9j-&Wr`YZWEgO?^'8:,k!mg'0Ke)KK?.7CG[+3'U-(#f'$LZlqq -3`gUk*U*d22kr`HNCiSf&#K&-q;M6!M"'7K`d#5p%Mn)mPMHmMpoc:0I(t^5/L,a% -`OJbGh*l[a#,8dJJ`aU\f3"*D'[-Y1'Z,r0bKl\39*!$J?QA_E$=-n$%A8=HQo+FQ -N%Y$8C_`Sm$^U04;S[^4$m8_p$:G^pJcPWsJ?Z$jTL<7K5U&&j&/#sMU^3!Cc3$Qr -joH]oEI`&K2ZQ+u)PA?jN.;Zu`98!NJ]JE.&X"*cR&7pnF#3^/C -cRAGHm#oI7#=)Z%!5o#U^_;5P'5M+sY/otP]&O&]+(4qJ6W@Pi!gf"%0ep-!HnMFEk-b")f#/[6,;ep_uSc7)upHfn;&#LQ2uQ$ -(I0)Z:-oZr"p;[EiBXjV-.&cpkm"qV$"-jA5cOuQVLh(EWF3^S^e,$9(_#oo%=l:u -i4fYU?4"E#7qjN[A.8P"Y2@$2AnO/gn7;-$2Vr.Cb=)?I5`1sP[LOG<%LQSPYE0*m -1'j]*6pPG&,&gf/DC*)Z&dc"3T]2>HLD;7d'l!=UTOO?\&t4?6_+CpC!87m4gA%>P -Hm"pc.R49TL^:eL#QTM`@"JYLMBg7ZJ'i?IEL`UlkaoocJPf[EKa+0l!2)o@TSsGU -$5AaT)PQ/0U+.LaVn<9a^'j,LS]SGO0m&qYP%;@GUr>An.K0S;1E"!['!WSQ+Jb8F -N-Zso"\Nt4n.Mj4BTkj.W.JQYU11(aUg/VV$Z6^l+?C(mD?:ttK&NlY_$1Rg/eb9J'u>D$ -iI2Yp(`AF0)*sDdTop7C*#OKn'S-YpTa;1Da9o^\$@n'=TSS14D%#Ej^#4bO^kUf5 -Zka,a9bMd:`K%BG/KRBL%*2#/H<.^j6C(jp3*l&HI+giALoA2AO#@'u=&W!Ep4g -3#.!F!T@&o5Tge-;?B-\Yea*[+`/[%P-8<$*2!][U"03pf!Rg1!(#s\61Y4p!\\H6 -*oZ/[60'$D$68Nm)hFL[@@@rS+r2qC&qKNTi9gt<4:=E!"/'l@^c2G@C8T-8*CnDj -^oj@RTbS]*(#WUeJ3qX8)+6;I6u<`.PXS!I;+1%V7+>@.1gt-YZ7W`!,Zt2_V -B[Nq'5OJ%5'RZh(FOKf1ZL'SAFGtH]5R-UDjpqVH1lk5H5'mm];9`94MAheY]Zd;+ --:Pp%^g9qr^egj_U85j7a#;/HcU1<(J8K[:V1_XhBNW4RU8KVb@k9CBnP8`KbEVfu -+u^M)Q6o8Q>?&8ij8hr+JFj2,9.\5"TQ$.W*!Jd"h.7a&a0'r*luR/E#Y-dnm'OWO -]Tfds<+I9GW-DOl"AOc:G?%3Wmg?aYF:"hp%7'Ui+S=t#<=/7Lm:s$SWjXRSaqrMN -Jq5Jc!9srb:())]ji#;8mUkTN?KSXrnZHhE[As?CT$tu6>Af2Z/rue;O>;a91 -#(f;%C^5K"#=*eD!.55@8duq;Mb*[a._?rY0Ob[]*eE!-'?D/NVIH7am7oET$VDF< -q`j<'/O:G>T[X8*=pVOV>dc&&cMVkS!3$SW@^XR6Bu$:(q2WSF/(!Xd(&pP7U' -%J'9A2a\6\$utnIVC"X(Gg5Y)D/,QqO"'gPG-6%T8+ -Jf14V)532q_3,YN.N$!L!Wd\T_-Rf5.MLb\"!JQm?pG3#4ppLbKbK`im56*rlBqQ$=nPh)nFX(L]?,!B@DnnmilE#/F_K -KZ+-GkpHs9%DYFBJJ&'9%k%H>'ooR90Rt!**#KiF!WdR.b]FTO=qbp&RcFWJJ8\] -3YMCjX\W8Qa`-R2ZTM=%'n8__+"L"6lII.?[#$_&4US`Ma!ir -?_Q.u!JD(.1_Kf)%bZ"3;"b/+]eH5k=TH!s2/o`"M[=sKDq0#LJ^H\<]F_k@&=KC' -^n:j=S@>gq=QL&N%pkQAFJ,!;+&O26+I+j=]Th>j"b:Cs+Bf-Qp''CJ'4>,[6!=F8 -=;Tmb(ZD"h_4V\H/fFb^!Wel1^^qC"S,je')5%Z]V>_?`NWGi6(beqpiH6UNL<$!` -]0X:S?j[o_iW):)5&?0"#c2W<.WE4dDq0XT5WTHAh?6*t$XcX9+H-GRMaO.H"2dA[ -M9Rq$`1>,bbTNZJ<&m=qEND!8XE8Nb]#Cc)afP?hXZG.;)VqNAhlXKKY'T34XUNUm -6IHJUQOja4p31+C,tPWKAi,]CAnuGa#E?>06)=EVjUTh=UD-h3Ta0'RaiC%&BRX\j -ZYE%,aaC%dbnlTuS+5G/%=D+A>>>L"[JU)I[^h+`k?51:Vkp -%"OOEMVVFcTTbY8nn4l(["H3fX@eu(J**##L7qhMGes7V_L+AVHp,?3X]2DT@$&'6r1aaBAr]Vip&?"D`]:d[)1B5$MAYKT,.bZqAMQpsSCgR1r4!U!l726+@6S-07+gD#pr:C)H<-'+f6p&8BbQ&J-."G))317rs3;8m%(a,I(1mQkl?F[XX.R -$*Qg4FPJ5K0)&R$$*S$3Bt$FQb=g+%(!0%#;.>unY83e\%3X2PrWjblI.Sk,#9[ab -^hFi[!lRg^X.@:^2`EmOus)ut0bU^641!+&Gt -"4c*-G.Bl@<6.?3k9OB7V8n=&m*-s4XN.iJg5`AGZhbZdq_J(^G`A-o+ ->`tF)LWpZpL-bnHKJFGTFaF"(a)ABAm.^CK%ekb#j7@N/*a_^8ea<'WrI5o5bMi'i -I=E>7fAH>ur]flD!rfuS":5)oYXB!*5gX$T#/P8#,7$VTHn,Lid%i<(6SRRU%mt=6 -3tOf"'M8fq@0fgHKcuVfRO0bB?Pt2qN+j0LZ,CQ$7a^:<*li9mK-2QCS;AI:Z8cJ> -8TFZt+\C*mT.*5"9TpmInq==ub>Q9f02&R[CnM"V^i$4Y@G#]X#4iI30M@U_^GsL0 -Pj:A*o:5Ch.q*aG(+5eDr#Z0;kaWuVU1L*M^(7]JrCmD -Qiq])+>L`GJS&n.$'iF/5!KAt=ItmS\7Qhb9Trct,%Gs(26gWf*lC%t1DJHK9Y0T0 -YO&lUagl6BVW58UHa`OYD":'l)2?R?5ELUcaN>/)KbG/=JB%EY!$?Kkq4;6Q+"E5C -LXqQ+)'EXT=b9))Jd3,2=e'A\#4!IP+X[lE"!#!_^&skefFVndi-BcG!sH^/&Ir:& -:b7H3@$2P2S%k0#H!B0o]?Po7.'&,fVA89>I`IrEqYo*YmX+rj_s_t[#KQF`Z3K-A -9cmoo*<"j7b;Nd-BPO2Ws$+X(Im<,DrP.Ols3cHMCG3BcVN>ol+9W'I,e6)?ic_0G ->Oi&r&ESVPP&\AW8I]GUGE\+lMLe>Z"c0N&'/\K@m17H5"Fi5(BHd) -$K.^0KeQI?@u*eaTXZ.tcsR@"U!S(E\bRs.MQY]Q1k-&t:EnIU$tTjB7A2CN"JF`[ -K7K6i6;Ud80jl^9E5O@3>_J+r>WG;>"W[+"FA$Vd!QOWX!CKO]JMC1K5j3k0!1Y\G -&6'=[&2#8a6;gE)5rN>ngO[/k;*8f<&4(8"$)"@GR_ZQU_%:Vti-7HkJ3k9/J0GH` -OHUU`L^QN`f7C`m(kZ4A,XMef#lq=W"Q3?$a[CgiTi`$58E^nA0OPD6J3/Sf1aBt: -V\pU2A<)0G3Z8S0B-[%p!"nEV!#Y&B5T"JK+MWK\eedg9WN^KY=YQ=^*0FJ.Nqh1 -L8rT[ -iM[ZLON7es*6elME"ORM8/?g0.LT[((^7.Z%tajq$:1=E#&rN/_d^jr+TNWu8b@!j^Tc9I^T>)eTJW6NMYdbqbQ7GRq".qbWQc -l6](\Su2QU"lTXE"H_7B"'Cik,#hqMnUNHH:sp8T,\iC5cO=0ng/T -'ER\7#IssQkWhiIi4L.=3!B;%Q8$i9MXfU'5^ZljngJ/$p@;[acg0W#-4+!:Q2jCWp1*1gqYZKuXj -?m70j1FW^iS1]Kq?kC31!&E'CFTh@h>GW7>06r=5nQ8-CE+Y't^Xi39KHq:nY2fZP^a:[]S@S]Z=-C-%"nZOJ( -4L+E(`;H8O!nt.m6EC@;_QZB[jZ&r1U7Bp1F=j*:;jmi_X73't!og/iH8m?Wm.RLq -P3>rHhl?ieA$(8qb)!Eb),]Vj@..)grI*2b:(W -,Qcn_)aPT_&n#NHMbkZb5[apA6f7s*LG7e37RqL:fDpt@e7DoFg_ZVK?&4"l+i9m% -$:M`SPQhln;\Se4SnI52s.558',(/&`JH_^.HWgLg\Y?%ke8Z%%)L"?#2o7n"2K^# -_@USfJ[AAW;,B6&.,o8(Q-&nY1-NDYpG'QMpOtY>";j[[cq"<'$\[N!Kg8ajOB;[r -#_fToL$T$JYZ?:I6!WX2fqsQ`/n%g`lSq7(u$$)\12ShKg -_2K3sS.n8R)Sr3g6-11\M7,Ih*eD5o)WFFS^n@\1)o=]X6:;e[>OE+hTGkYT'-cn; -K)ibf,H=S1+GpaRU'h$c$j+id+QKWBH%%e07cqQJq+RP\/#,O)Za[M -!I19(n`Bli(BOq-!oeG,\4)5c8:]>`"MbG!\5%Ri:.8u#`Gi]tcprW=7g'qF"<)Le -ZQ'&L"/3p`19(-r]H945*$jR0-fGi71hI*MAs`"hX10[25UuqU&VFP\KG+OmX!S"c -#_fcpJ9YCsOCYE47KI0GW!FCi$tmWIB1Ml5 -+ZSY9\/57HE$gqp8$FOq5V*!;&q]U*!BF`m5UqAA'S:i[JRB[Qi"qBcJ4=e;J`%gT -=5W2Mg:=@C-,7g*K8"CtD`:eC`78[@PY"iuaZA(@n&^*srALVNlp_4l^P -cA-0H"u&k.+?]`*4G+Ia!u-(_^_d*X+UMk:(l@u2.\jjh3ZrC3(II6b61u!H-F@/6 -K+,.Jar,g4A%RkJJltHmBjZI[H:pLX9?V@YS@H/Q#_AEWJ^>0`a6U*-"cu`8=B1&'&-XIZ!8(,$p^;cM:4T!4"NUrRa@ZHj -8d'YU"FrmkLdZn-,m4K9K-3:Y;V!F?fF$?c'nQ^U!$Hj^+9KD@K7Gh3J2@?V1]lkm -!oo`P-mL?(kV%4(!DK_bOaKfi7P@"b$;@jm+=`U8-5MCaJpd5OX=q%22pZlZPn5>q -E$(I/QqIc!(Ygi68ZS$m17r%Tcj6]oR>8YY0#8AD,_-oO$9A96&VFlW"?`-+S5f^% -:&qdud'uf'a:*a?D2ANe"0`@>UH4"t;Z]oo!YLOqbl16-(IGAZ`:+n%,cJKa;Lk]D -"t0\1.*r2Lr'.u6!'kA/5ZY2?GmPs6!ebt@]O1f(7*om2M$QP=E*%dg@_H`.;>W3g -lS]"E!e;U!GT_Ri -+9GF"KEr*A#[DnQ>_bQJ#=*M60R*i4!Je??#g&G=;ITil?%@H2"\\VeW'c+!6UedV -KM,oBcpl-!RFLFf"6^8Ji0"1",cT]CJ^CP#Z%+aC9=E;e2Y1lH&14k/ijUnA[n0d_ -@u!$RLXn=n<\7l`4_<2=Ala=mjLZi%]0!Bbfl`RBI@c.Q$BQ_f:br2rT,'C2g'Sf#Kq]AT:*e;u!\:&^3pF+' -(72nkTb0Lj'mj,d-;)*/4HVCfd>,BBHeSAaR->f[Z+r_/(]ioW!h_H&-oHZC%g4jn -!2*Ai+DIf7H:e`r*,p>UM_k]II#!fs<1%6qn43Q38'*RO3:i0^V5mf(FqKAk^9u'L -"Kj4;a5"AK>g::?/]CRj2^X -1kW"DK:kJ[n3;S.%>7Xa"JhI.BKZGo&q`gkdhjGZSN_qm"@`R=>i"V2X;)C@rP<46 ->h/)qea?b/mbZdg?O7mFoAl*DM+Z/PX(q*t/0`sTpKmgn?P,<9gZ=W.mQqSgT!e.NCgU*XTbI&T"M;rN)22 -,(^@M!oPP[i&Us*3Wm/SK>l*^Gm/5H>`h'(]fF/Qh@'oAJ9^-Geh+& -*?DtN=DIn-CBj82#505l=?M-/ -49I8LK.&8O3%G&$'nSi6'2lElTU7(]BB)/pj%`9"NZ4tqW[Ii`J^\<6n0!9rn[J;A-!!!NT-Du`FJ*KY2o -n,imd,_ig@J7rPL+:*]E=TKXJ"P=k#fKk,q6-\@d=7kCE!c9NZiJI3dJcI@583$cK -3@o\;c@kF7,3'$Ij<4PG$.otc$&V#cUoQ!;",c[mip).I]^'es%Pr..]<;Kr=\fgH(jV/`e4Ni.B*n?(/p3 -)MT0'-\=l)Jj^0jdP[5!1uF;km7DrcrDplc7"nfT.-P2s3aQ%PeV<&;"cs#oNmbKi!]b@ALR0)#IR+Y8Y2npE.otQKe>@f3u3D4E$t0" -' -We*6#!r69W#V^lRj+=g>3WXZ?R9Bp,RM&GiT4)B]YWVS,2f#e.TkgG\)/&V\='7Ai -QK+o&"29WW*L4M?!UI9u+>`J*3ET-GP;qJ:3#7b;pc@);Y9FjWdm:R#@MB!F]OsM44b) -rCG40/?)rk,=U"l.&W\a#8pOX$%/pMZVGSTGW$kS#X'nVD` -!uD;t8<3qqap1]FRJ;&X#^Q42*J=#M!^qB5E%#"J.W!Yhh7_Tr=;#P7imh6UNQd&>Vl)=p7YB_@"1I0L']$3$:CJg -+l#0NSdiTs2M*%pQN`u`FZL>8UmA!q's\p4Gaqq[([MH\cpRCh69!_f0L-IG@L-?H -!!Wo+o+*VW@"c#uKXTbd(a$fK"=0E'ipU^=O;jQsk!hXA%Xp0i\NXg2 -:^O+*IS!cSLIE$C*J&/LJm];p:bI;Q/mYD5"0L@ILd0B#5QbsYZ:M3]?5",MU'%DP2N:Z>'b!?C&\\Hf\\P@l+;MuV"#q:,-[6*Wq#ETc -i!92ZK0Z,-BU!f^rVQYF9:YA\;akj@?)3*E'0)6#4;\Q_K/&X?_dK`PC]dl9i,1Fn -NlON1E9)(T)\$Wd42%*'HbEd&Qi#nHrIMgnmoBIF]Nd$'MM37*31do@*tO.&U.HW/ -;^n&S`cEl%c_JjTN1+f?Vab;UlZAuJJQ$-J,`d,d&W"5--Phes`"KkMXDSW>&`KO+ -^a-+^1g>L-j.$hHGljR5?p!'4"FSYTe7qY7!r-qi?*5kKNLC_sX2aGsJPdP20HA8( -imA$V6,\]diHT/[L#LsE(5O.g;BcDj.#oVW,$;W!$fdn=3Y@lT?% -MW+'+,6m-UC)@/6:gCtnJS8.#YsE&6g]inQC`\G-@$o7JK1OB4a=RK^e[-o5N6nrl -+N5\6Js_99Ld@8@)28Q!Xqs_cW*mOtbS7k0bVK+819TrSef(]"\9,86!SlNQLOnOI -*_i?FlFY9H,l"SJb6W8.#9j.Q*sa$/I]`oA\77ZtZeWSldM/5o9%$\H.8/,hbrJHr -eD3>aX9&r<+:LOi_Eigm#t,.87N`[ZVC*V)>,_iB]j.Oka:N/&TUAtKKB*$V'+CUk -<[Z9g*<$i]Tn%;0Ku++W(5Th0==":4@%1[5ic&$A>9Zs%-\Xm3X;$PDi(u"e_!)2/ -Jjkg9".SI]#^.73)<-!n-bIJLRWt<3BN+c0'"G%CN%g0)HBI<+@/=%mT -dXFq8@pt`i&;21I1_"@Bf(6TDg[>0WE*N>I_!mjY%E.bK?P1:t>]1e+nm$AfaR[!9 -/^3f+h_3:H>k^8)oN_u!cue(c:X\nV?WG\M4b$VeFkr*mg%O6gESC.M^NJE-Sc
        0Wu\1\"44cmJmbf:=+D$OKA-lUI]#fF_u26bR]KXeB%,316[ -JI2e)!.u,`&3l,pjsL7OentMA05LWa(8Ck9@Z-=-$,JSJ_r/NRUZE#LEOGYXc<=6-4C>D[dQ%#o;)S9,;"_=]7 -QF'\91AAsZnckr<433T=S^YOZSnrGSenXkaCZT<7Fo&h=BhDRlFJl-=]"qI+!FjqH -LeB/7`l)oIM:k9n$Xm^#8"eIGm(ceB02:Z)kr;ff)E3Vjr$pEf56rD<@(!g+/Jd8e ->EPj=7A.%>`lJ^h,oLiind6<>R.qVgBQ0,2X$:(O< -L/:P\ePLi45YtG)Z)#)=@.O@cb^=pRI5E:)>2?6"o(!?[Hc2b!\(6 -och@=FRs&+E&TD+VG\4O&Hkt#+c*JM<0o-^KW\197=``#"!E%"Jac;9!@TFLJ>Tp[ -fOY40O>I$3c5-M+>REa;."lPU&V9F,#GBQ_K1Ou0&TTZsBlM2:8u2n]`.S@MW#O&: -@?U$&d5M?,)?[cYZp@5K$,DcP#!bQnK?tYM+tsI^_&RIuJ/T$Z6k"na&dJP)JHQ#S -4G#9V,/EE#'HgXW$ZI:AL.D^j,A72hVA;5]Gjl`h%!Q#EE]]&T!Zn-)C/O@D:_*0Z -ci[rl!5XaE!5P'5ZN4]k[4kn0V/n7%WAM>hq^="91I`Lc`uC+K>GOrE7q"1&Ki"tU -_T5ge(3\Wk*IJV3OArXh/\%]^NX_'52e7JY&I#E@#/gM\?tp5S!'cB-/Brl.J/,KU=HZ]i/Th?( -&43a#$;oS+2]Rfud;iC3@(lp-"D_B;).1HReMY5_Y+/FZF\_Q9Y[@fq>8.^-#;mH4 -:HKGoqr`=ph2t82j9??#6^!CKCS!F\3j_dHKB -Tc=i$:i_&E)N"jZX'B,kk6)a?-,&&BiBr7J: --DkOTY%oIoCSnU2VS:Uc`,(1PD$_V-K2.S!i+2!4DPliI-]WG5;[!_6"RoV!:gF6d -?Ns>:#*<6tctfaP0Rj=hJHsPS#`sfId"HT#1]q,D"-AsfTKE?rU=K(YrnK4m;ukX#cPpCT[P&W!Lt.!?"J(('3K#Kq"n5a4&1 -Y_N4kOiVj(k^nV(MMULR7PLhnBUB![SEe1k%hVtR_bphTTEm0+:$\$9J7BAbE_D4G -7>l&8CES?$J2+:tSnM`!$T8H0>RUV6[4&Bg:5T;=d0akA2F+,sT[8`k,hScN)i*X? -lQW]+Wsk*a$L.,GX*h.'e=I$&D%Xf/d/'sn2?s4m/V%;,CT:WiP4QJd%#_P,n%9N' -(`?-_RKL?oBrYP+bT:Q(6kJ*Xl*js^p4,/Y0Fc]'d+t@!K$ooMXeNoUd=5f -MEiQo$6IUs)(CFVT]cMDj:!/)$kJ!tV%a0M?pA%*#N_b6'"HFDmYs[kr5LlDP$oU+ -cB\g5WoS3Aal=rcj"40X/s>t#u;S!mkH<9eY$0Q#GSM3MR&nNl3fGTM_ML$ij9t=\k2%$$Vo;(A.Op.M?;2$!U"S,9.*l,YD -_#i!"7&i\s?P">bSfiJ;Z(SJi:9*is4,AcS$L/)NKacg1oCMH)l -C^=jW$/e>\TY^f(^_":8&:md^5uc1(Or9o0)1e@[@@fKQL]QIj(;M=6_,:@Y:_t6$ -(Eo.HTpQfB%NH"P*C][/V>iVh!^'3,4Dc2_F0.M:$VjJC.>ABT+iXMu`YtK_)PKh+ -Th5e[6k0j8#EHq2D+ZD):6)Va$^2?)C_hi)VFCr2[d0Nh7-[AeLDtmbMbtbc%ZZHt -OGj;6/Z-nY"LJ@`E!QGA#Jf[.T^!8"+r+Op!Q.4TlL1ME#O6:)M,0pJ[-61+<",sT1n1I-a&EA._74HAYS7t?U*^l:f5Y-#dt -"b^@$eg!(l/-[nE0gbSuK'4h?f!9+J[RBC9^j:Hii2f>F^]g0mP07ID-W/HXWM">; -!,u,7NhsOk%Sp7BJ1MCQQl=D5)%D`SXTaVW#/egTt -!WdQAJZ]rB&0$\4:LU7?+<24!63=tg&0O(H!735fGR?]g/!&#!d`d%kdUYoZrJ"-) -M'S4ZKFM",GDN%(!6dtV_DGZ1%,gIY_!DcnA/+"*!l;'UPii'ZQlUpOC'LJKL9,.u -)eMRP2^Z?C8![uV(irDkm0N3>#oD9Cf@PHfgO;*=ITPiaQg]BIo7#%SoH/KJ@qY"sFXSth^k-7W -K\0!f2I0munJ#lTMp$]/Z':.PTF)g#KkTblBZ/Ngb(U!moaLmK*V[^R@,10 -`h7P^^gIFuS-?]q%Rj -"Wi9^L+?h'M$Qg@F^lnZ/7<5jVDi3-*`@&01@$3F<]_'Q33s8\%;S$^.56SJ_F7*h -'baEO;%C"7?FD9h2=#)Aefr5S]6ejZAn5\Bo5FtcL:B$_A[?]n-fhggB">ja9'^Vu -O=R9@Z7p2l$)$\h+RID44r=8@(]gl:U#5o:iLFA=]qMM.6)k[X-5G,P&FU#75ZS47 -E7S[S#'k26obX!_/279>C^:0"X(@s%93Xh\Z!hfB( -i#WTKScL",9[gU7;lC^E$lrcd!J.`uTHY8IZiP`b*C()T<8F[%5EjUUXT@B]pH%$Y -!Dlc&:s%aaAFEBa,YXQ7"q2>;L-l;^%YB#&mf70d4%d$u1I`f+Sh4K4^fCU=;?d,# -5QFghTUaQTj476"et-E!,,$- -A9rSd"ZXr@lY;//TjtZt;^fQi,i7`Q>'b?r(][QImMbG<,#&Qp*F-akm#dn?H"Zi& -PaWhm>i3fHYs"b/"lO_!!/d[>[LrQu&`JHF_1Z/)#U`Vo*gG5`1UgMN[O6Xt3aq\( -+d?GsIL@9W"ggYBY3,.h6^#jj%mWAj!BpSD3gg"ngOYj6FN4/4L)L%+)AbRS1WC). -!Y-]/$>Fk5,-hWRKFe/Ie0:b+@=`M@7McN@'L4,^2W,+]\cgs#cMZl2Y3(::A7TJA -#,$t^oL+frE:>5$nI381Xrg95*V\`,tt%B,&Fb`^uiM1i$.%YNl,.plZ47[.1X3aT)YXTbDE,LY/%f;+-6Q -8kS<5D&B8[;-=X=*/b8eZSXtI-nkoK+nAKBWqrI1E:Jo=GDp;]1$bGCDNbr82@H9f -ZN.;^nL57N(2^jori#JAX,qem8s8='7?`Sms)(Mu'ce/0bdiRt^;]<84-F'imV7B; -q(n4[42QK5.60^W@Hmh9l5G0c)Nk"3fi'(:EVLToW;0s#fc?BN\,0>9T3lb:io?BY -KDf0+Qu`T.s2U6>QFUC:$6WFWi7J1*ee$b%&A^kW63+b+03^\re"d?8GlXF3YQO:l -!.VprE@@Vh/K'G\hS9r6-lC*&"k1Lh&^7s:0+rtlJY:(p1`=MLF"*pAD)n'1k7bte -p45H%:T0Kr/Imb3Uf-FKg/U2%:T7<.PmXoEDDiFDLEhrFn9J7Yejd&NSR0QTZs)hi -gJti/d33cP$Gfc6f&X^gO -o6HkgIm'LNkk#R?YgdDK**7o*_>rA?6lD*-ipnf8>XKWla5bQtluXs%%E:;/L6G'& -VbG)T!I2+V.i!qq,+]Y,MF8X&b!dN-BXD:>)Z60.f5#=W(A.hTiFoH,c(*n8K0fOm -X8+Z&cG.g1r[%q\>C[_KO,.6]4i)K:k(W8[@-0d/N$K7NN)LS7L@3EC/An6)4ubqS -gdWL+WmGQ"`?C0YkCsIg3U`,3(su4 -@??-bLa%YJ-ji:sU*n;3D$KW+cZiRW"V-ntpP!R$Z5Y=Qi.rP4@V%1iMQ\_(-OI,p -K*+P\E*2CZ%WGao#IRBf'$qhIYujf]LkT#$/6H!mLquoF.g6!Qck6cIpc(JNTV3c7 -J]2&V"W58[$ud9'&aXlF-c,ETT2Kt0GlVK>dK?$ep_Ie=!'/DO!/HiK-HTrOgN[#u -Ou@c>#O0Y<*@@EnBp[b'HqK#:T[FI3iS\)a/aQI[*@m3r+L3^s:+!V6OF/,3`R%^p -(;V.j>E/mGQsepN=CWLG#D(W[Y0miZB8jOW!)sbi@8M%j"X5A-&rVFA0M34U;4;t7 -#PO(NkgtgMVJ0_;joM&ckS.p%i/rstK-a(f&.cXV:+?Mm:k1J-")0Y$'1O)a@N,;= -Y'#8M?C,E!(?sn&!67ru#+5VX/kum"!8oC2ijb-dLuH]e*'s6\7mk*9C_dgV%7"U0 -LD`ieQ"=^iaZDNAFPf%J:3S2N-39$eegRV!eH01I]M?r"b5cc/MjZh -#D_43W^q!WLLG^R+9g`nTG<=$U/"C7,f+L,QTO/fCOmh;ao`W]5RMS'5U"X#!/G": -!M--5#'ZX=);u^+jZk4mO9#(T1PDMW<(A)3(B`TM$\Ace$=T;7L/@dQ_s;dcK('#' -[IuH_!!aJ1`-%0L^-Yfm$"sD\EK(+@75kok:_Z!$3e`O<\a8mA-g]3CTXS7C` -)%tnA'SVIcJSu;/\u!pbRWL?<;bCd]l*CM#C_H5T\26oKE#^X+Fb_[@^r,*pQ=107 -K^gr80Hem[U5Ud8_]U<86:_QB&V'u'!rEmTHuKSR#!7U=!Zni+I'6EEI+h]q!$g!' -JC0<&!5Op1J<2VlTMQC*3%YE3^D(.).@5);?Ns2oY8.2X=Yf\Tbo*-2Adm:[F(T@8 -fuH#,@V(3k22a_T?O:?riLKN-J'XPdc@^17%`-4I#JfgMKN'cA6&82AJ?135!1lgb -6+@1cr"k"8^^^CH^X(P3juRRXU<^$(4""k4Sb'^CcRId8%*8,l4/>SHU%U\Ukl)[b -!.^.TTg8r5#!.s:Kf1\B_-ke%TsQirCJl;c''U$^<)0QXK9Tk:_dghgC4&W=<.:.-6U:1g>MCCa6aRNXVSF1.;>cR7rHH -6RFl#K1u!.O)f58@$sPh&Rl!!.]f=137K+./SYnjg/_VB=Kkt,pI;Q$Gk@q"Mn%sJe6lP"B5%/it)BQ -0t%+;f]E0dRLTnfp9sN=7*%aF!KU+;!=+Zpa>`(RD_(),HY,Zuj+LmM_,(;(5_K66 -%$ZJ6#[8-M[5&.KTi9c6@!:9Y6D2,]T\sJk8Vf!ci4KoL#tRk>9<(F$SEDqPC(!>% -\d42c.L,B1)at#J'E_#3N@'eR>#t1e*P$HkETfB438thV0P?;/,V6l!*"]r*&d=qk -$3EJC"+gAS!m"SS[ltKMXM%d`Ka@s$L-D('E:=> -#/Gl.Ma3X^?lH46)hJV;!WXbP5V%J3&VG$i!9ccR"4RM&&r)JO#*J>.Y\jG+D7<&S -]81J-0QICP!s^MoQf)2#G[:P%$ABrQKK4Vd3$a&_,GJ9e"(2^n>GhWa$3`+k!,u=0 -dI`3%G^pWU^72@4!Y,HC!Jb'!J3[q*1F<9m#_e@2!745g>:D>;,(`?$JiG00==8^A -'S^6@kdr"5"Xscoco149MfCK6?Xi-.:'bnmEdWM5Z)Pa+S`:XEmC$HH3sNa4,H+jF##7IE1u1 -a97(7r.A-%pVZQa[X+OG5GV1Mh]rM4>+c=&d'#Gj)OTBdH --'H6KC<(s!aFhXoK1*8mKY#1XL0YQG4o"-fZVU?/Ol(EGIO*BB)#"I;Xli%Vb/N-OiJg2jB70_'Y#7G<%'U(;P*9pA. -#Z/JFd+&NNh$hZg`&"X=5S1.51VuuU'@?[g;,Q5231**;o)YL+!MCJ80H1'A-NV"0 -K"r6*\1n"l0SQOXo\S1tpXJegcYoL<5O&-T41LZAc:t*>$;p/?qOit75 -Ae=JD&J5Wf.+C*KQl+9#O_aol'h6ZqD1]q\KTHWGLh2*=AHtI%#=*M6&9nH,!!gu] -(Me==0QfZk\V;=.KX`l?+>fHGKT-&)Nk$r*9^k#Tplg&\';2TjLaP2d[n=J2Pi*Xd -8]j$nl:CF,M\0+o#tokZg&gQI97SlNHWEh8P(ECr!LfdRTa[.++KdiN".aFa9Y%Nt -.08?H!SNup-o?Jd1^%1qKNM9*TN28!OOV?n<>>D`gY#B]UH83t3q7Q!#_'AFYd-s] -"cs#oLe%Nu7tZm8",JH.81Hm9PnPCX%$^4>[2"OW$<-:!Sl8#XJ0#0P++borfgm;S -GU*;u)le-*QYbc^KfMTGor -R)h6m.U9q,gs$*7+<&&:+BgX8JN,7ap^`#H:]S"$Z)D$!i+%Lt"U9KnJ4OLmE,GmL -",?;aJ2hM&cif*MBE2.J6Rf)uYX*g/5m$6`b]"2I$f?Us`5J=okDLcEq4j=YG8!Eg3>0Gg6E,Qg"D"#rVu^d<_,)MHaDJT+YE -#S[IK?@a5*Kieoj:eQ?N9*A?4"AhI;-pn+S0*E+["#*+Gpa64>>Ci_WL0tPs?u:G( -D21XdLIcal.!l3'!b!b`i@p;tTE,:om0Ak,#Dcsl=Cm0\$AA17`dfWA-nGEj'`p?6 -JT9a?`,!B;4^p`WSIkO`Oi^OlE@D_8@[(pJ*-<]Mo.4^l]U0Q:r1#-,Ml=WLit)[[ -"u&T.1WY;-aHe^D7Q+aW2WKNNj-DW6VE!V=3TIP1j2O7B^-:T.5:3aqj:mL3$D`4Q -'')J9X?Fh7"I!AC"KL1Yb$:l=iJ[lIXObf3g=$JJ,K^.T*RX9]uN)$R)iki>j7;`qJu -m'fW?BM+JHk*(^c*6+i+CQTG^'Feun]YI5U_&8K3PDP\;\PJI"-*4=$ddjaHo%FcH -.';4K9Z"20m)/rc>7b+gX[Hs$*_L!G`3ZK10P&^b][j7PfB<-_1@5l(rQ_-X#(u1I -"llaf(k0fUIgDkHLWT>sJ9-5`F+u@Q"u&PtfLJb%Kk4;L;sBJdXQT\tkI=LUBi^XZ -Eh:NP)\Z8BMU%c,`e3@/PgJW]=Z@`/BI*`$'`tre"@-:DJ6l45G\Ed!BYCiMl(_&L -O9S7U'SlYa56::c@L\PANl -CW$f9'B -f$%rjc"o;`m+0;E[`[rc86Es8MW*=FW62b"TBdQNl)*-/XRaeuoN=.)JRC!\L_KrI -70+f)KSU1mJ4ot$98)dC"R&R1^eN)s9!OIKKI@?6+Hlo%)PMs%!j"A54S3KXUbs/C -Ng20'5j_J-n5AjZO#ZMaOQs6M15Uon\_T,#h);\)-.@D@Ps4`G.7TRD-J@VU=oH5= -Ei9j0XOI>b<"irp+_`]j#$*LD,9;3/q5Yj^4k'@#k=` -!d.s?M!*>L7Lk7[elb+9F_E:%4`\=so$Y!*CS<:cE?.p#f)9Qg"`]0^2M3tI!oPF- -fHpWl-/mc5KFeUr#ZUkl(DE4KV/bWO>qe.2hKs%!o$@Qm>M]/^t@`^BDp-#\0li0-BdRE(a(XY\2s&F63K43 -"?[:d#X\_+%YOgF!:W+'Qk+h*0\Zj[!C.q3\/'Xrr(IFHE7kKM(`Tig.K[CGJIjgF -+:A>iC4JiiF8h+7R!=,mG_X!:#.S#jE*ibc$3^u-!8p-F-kV(K/cd@PKV/_VR@sgt -D2>"`c4F93J6diL$j=@*5m0.8!;N*^N*GoNp.o42s+ZVOO5*L80Y7ck(`jNJaGH&3 -(i@EH`QRYHO7*"Q*U5'Sl'dUI+bGLb!dkN2E(;i0,Fk -\8re&E*_[E"t0\10:2o>8AeS\KV2CNOmRnU",>WZnQ.u],5hbWpP40EnVB7-#Wdt7 -*R6nk!F_K!3$JEK&-?f.JIElV(e'-\&qsFp!>&TB:_*b,CB2^s#+uA/TO\&,@tiPC -"kZrXkZJ(.(BnbX!VfXu5U;%K<<>-["`PXhE*35B=U":5"n6)S5\5\S%Yh3&J?WdC -TEg4EBn/0WL0+T`:gj?;@6lkXK]idHi'%/*/j:*uJNtK4#Sr!diXnN>O^)cg;u7/< -^f-U8ibcL]E"unK&uo?\J\pHjQo%Eso.E%,//]2^mSB^g0ECMi-3t0ZDtp&TJ).5q8-,L*I28_65MYbM+f2CpmL%(&(ofnX.I12K2A11Eh^tZ7g#e -qSNgX``FZ*Lh&7UoNiu5B>o/LfZ\'e\rOp>1Ja8,k;R^3`\PTDh7DEaH3J5ZbaJ2I -O2o-hLq[?4L!Tm1(8ajR^]qQaK -dP9*0AH4J/KMn7n/BhADZVcZg)+Fsbo"51-Li+38!RPqu0+6!:+iY-?Bd:^I9$mPA -O5Oaj#%?_'*KOV/oNZtOam]9P#KQmmT7?t;IfK`DrW"&34OZ,];f'g,J1%>C!hBPB -&8b&DaUSfB_O+:Na\kNb6-rR_"%1FmC2"Y?!Q?!Ja%LHH6r;B-/P=J!lD>H&2!UW- -#*f?N8lV%g9-_R;R$8AC!q9#=%Ug46:4i].O9V*XTE9E]TE4prT5/P'7oF]!G6=H$5CDa4?s>6+Nc&8@Uts%eCP/GERa_7`D_NW^j*H*61reLa:$(( -VdB4c&+m-:k+Hf^;CsiqYbGQKR\T]B8t -EKB+*->0)dH)?"JBb_(AH*6,;l5^,@aF1.FEV17naB(REEboqXag:?g:TW&Z$X7JF2d2rIc:(TaFEC5<&3X65?*!7lf%&%JSKqR3,")+/*_J!G0 -_2^N@0]a>5%!N54!^7aVOb5D`AB@t#-'L_:*hWdbaKaS_^`_s,cqo#16,EZC!mhh% -lj*um0EsqTFTb"W.0?`H&]&-L#Je+r.[)2Y&]7pjXaRFb3K+G6J2[emX="3K9Gl3V -H4kaA8W(kC.g@[;(pda^N,T[iVXVSA^c5YY0Hr'e5SFk6-k1u_a9_qc56[_Q'[K\P -MTgr/#6;OY"CPDcJP]8SJ<2XFn1H)CO9um]?A;$D)F)8U"!+-n"q8=M"N=K)"%#+5 -Jai)?,>^bMb[.*/tG:5t-Q_(GtHX2?5B%%?Ka/nk/&.4UkB.f@;f23+nA'tpf_5@jhS>1?YV%8]]*FU` -(kc9r&H^<(I3<>aLsRb!7S#(XbuK-4A$!Gj1dR%tArJ4p:mUaUq16PZ?J)N/$;$3d*."(K>QJDjf_ -5a\2W5[[-=0K^IFGTmU5A.jTHL^F2#49]Et(B\iV<$)`("upG55;H\u_/''=VEYWb -5[4\XnX_Q"?kgNJ9R&mq0m7Pu1IRUb&2CsRIUIQ>&RnK?!<=8G+J0hZ]T&'E3%E"h -0G8s7S4?-'*m-K=-tQY[Q*R8gb?8I1AW4f3!$->:WVV`&/"h3t[) -D9b/V3G2U]Sb&FucIqMGB>"28F9[->=oUeO*=8G30aK%N/0o^QGr`OY0>OEt0Ji]tt):sPEs:1-?g):=,$>&+ACn$N@jf1HV" -^[jj-%5Fe=7kcX0ULG$+i*8HS7Q?(*PS0)Y=:G;$1VA8((;kF8%1$t8*5e:ocC*3I -cW'9P_K^9c!HgM58FhLsn[mX6apONVH>]s_'LIiSh`KkH"FuLEg;lCo@)EY0e-Eh3 -Oeb7>ON?"Ig^fk/E=(i.0g;i#[0&G%3[%Z"U!>?,6D-S./tD8l!rGgZ9hXSHkE])m ->uL@PTi..@)C'oWNrd.)WmRpeYPr%Xouh.V5f=WIC2b_SOKt]m^/?8^n?<[3Aa1N9 -Ah2iu!/H*\!9804!5XmL5bP(eTR8psYaa!"QU1"%X\C4LgnYX(EL;[6mrkk]hV5R3"^m$__TKFD%E"j%^9EgD)*@*%WOcpDZWN6-e!!faW!@(C9$Q:iH -_jDSW+]oG48W^MLP4M9RJ%b^8qqjPfAk-$p*b0_O^g;=He6pnaqqX'*)NpdGhY6"+ -s,HMs-bT5h,NJ$_rN)@\r&%4V2\Y?4ALR0?(* -FJ<7*J5UM[DKVVJFm!3na(BLmDQV,LG=Qo0!c3)]BKo"AGbEW4kE7^\RQg#B;F=!) -!)jC5FF&Q&!5JnKKF)%2#%2Z[i*6KE -A-F)d"lN'$5Ya-ATET<*"[Gn1Ytkn*YXGW$5Qe)K^m5-hQ4@:j%RDuT5r9BC,SqsT -)M-\+OF$2RIZfaA=3u+/M_Z%*-5F?0"+_!m^d\cdr!Fq%#0:1$aCIgIBJ0m<@"_WI -BR#RXfr>@oK;(&%ak1a;?/Y+ -P9=Mt/gB@/B\nalTT3^L%\UrSJD^_Vh@3jr%7(1#@0@?R+;R8]!27?=HV'H-I5,gnr1;^re1$6::A!TASb!AG%74qD&\"@1lS!(m[XgDV5#!oZ>: -+f-s_,d5&F*$>Y0+ekZ&/es5;DP30s0MG$uDCs8A0'9hr_X]%ZPV3BLp56A\d&Au< -V)gE33$eXujST?^TFHGb"/-;[+fk\fXB6*#K7p\@P2]P/jrV;>*l7CI+nE#!p4JRM -njSZrV1]Zc*Z*c6"5s(^i*ZerJ-lPj%DY.:_&q$8&7t>X0ENCMPJpqSE4$u7:FKW^O;T"GK -_i.=oa6NBD2L*GZI0Z2IDBK2.:^,c>al4iRK+8$:),'2F:9ot/9TCEL6m.`hd4G`% -m1E//rD5?X:j!4D<=r'8'2\?:;7.9=obUL`*E#l\;KXQh[4tRE2,a*+:sEStD>5 -,s&B0-d=4Em50S593$++n%NO -3mQ7,UHmGt:=q0afStgtm>q^;\KG:C#V9s=5eo90YX1j=%9:'q8B*U0N8+N63mG`# -c-.OEcj#->h/1m%i:,R#CJ=E"#hA;RQ1-hS#kiu;i3]Z*+BWiJ&B,&Q1lOJo/oZ^2 -PhQqc%7>RQXgiXD?oBa^p5lN>^g9GT"Q:sG5P@4[6i@b[r.&rGW5Mh@Y%$ORCbG-p -H1#l*"Cgh"?"FaV)RCCl@3>Y\*Z'>J(NOa#.I2p -2c"WV6$@HfG3":!2g9L*=pET+e9?Id2hcC@?$UX6Fr,:H(Pd7ESU&h>Fa&[f=)E5L -@sXK8HP^UIGEI4'H[0h5HmR6f2jiaZF*j7!He6_kf:RK#YBorLHT0,kGIrD!:gGm\lC2-0R.afYcUS-N-A+* -Fba4F#@p3K`-2d8jJ+qAOOXeqL^Kg.%H-Xa_!^4_YR9Z$i(*#tNn`Vrb7=apm8*Us(M,5@%OX?Q$7$\s]`Oo,^1_'0-86]KYXGlisD -,p?/'%Ueo;JFX4YNXoOo"X*RQJ1_IcHCTQ1!.iC5;F"=s;G:$Q=4in'PMRB@S/gGq -*:iG8!K*@4@KJi)'S%_KJPZEA:)/:-'mbZNEmPIi/eLA@"@*cRL^=b%Y-qW@.4:!mLd5m&]%/<;7.Oea?_VH-Ao#te!r$(Tnb_?Mu1,sWkrW2 -F)bU!&4N`9\pps#KH&hZ)tWB6AW0_!66A8g4c9YB.g\A&ge7IH51]NU"b!4Uq._(# -&&:@>]"^3)Zin1N,2i_@^`F5aO9$Md)rM&Bnl?h.;]+)A*oI5DiR@nEe/86k)$*J= -_+kSmbRoCA$m?Au@(6eW&dk0?q87k$t,4@mJ[CSh[FN>2hu%>_o@ZMTbO.\ -,sjE4TKL=]=+'IQN=a,=FJ(;F:b\P$:R+#fof:AV1XKD.d!ZAM]b/V^(!umqd6/Ap -r>jlsjaW7P=Ma?6lg`e_m$-/*Y+-/E.p;GJ.g]k,bs`d@&=1kVkd -NYEgM*[l_kgZ%i/rr`';lQ#XPt%`LX&SBW>/bBe?*)ZDQ4!;>a^_1X`WMD1SA9mi -Tp:0t>8S@"E<2S*^]X-)!.S?opZM;Ps+A2I*oIjH\-VMC!M#)KHMnNt7$Rp%0t>5@ -0q=3(=rT)Obs\+]7KW+!YZ<7h$:QXG\J0if.?o]YZI*@+]f#9QAZ_pC>V-`W`B7"* -b>CNq:.CDOq,aM224G+(F31rGDDE'QKte44aB.sJ\t4MWX40om'8[ud5n&E5R#Zp- -Tl.3%Vj[h,J9!#u6.ka*LSYl1*#D&r<*bi@fm$eS7G2D_(8Z7*=-UMJ9LjeIE:+bW -_Z6&WMP<)1,mZh0>_janQsAXX!K&!AV.+t2-]Fcrb!!ONY_Ypf_-(Si!_0HG!Zbp8 -"F2(3!V4-#Ca/M#8Z.]t!hBPR&8i5uR9DiXj7oDb$6hH5,)=!bGT)<&RmsJ+TrJTX -TVs8TRO7LHnenh%:g2HS5r_OO+cgT4hRiq5a=ks/$f36W_0]/5Kai!!rIo,s@"pk> -#anOL,>CckeDm)t37VM]>=OR3#bbC#6=](%#_EnJ.+U`pHW6#8nA[[(iZSe%KVWle -$'_;P(1\FN):^2jp8+[&0UBDO.j&."p3coGe\6H(bQY:u!(Wa&!utp/(20%BJTOY> -"RO,mNI`5'2["b@i":t#nD#i'UG0CqMo)u%.Z%SAPTU.gn7^0D8n@l_Ug_\>L/08( -F['>p,)@LuU-8c;/]9A)$^5-e.T;X`O_.i"-,F1"(.E&V^a!Cp;LLp3Qce['4:r-D=fRQ/l.#2[!W.&h8[QG^?:4iL"X&L>h&u*JqU?R?THq -r31MJ8%$=4gDe,4]WfT\q>_VLnbR0Sk4qaZPf%qK-3[jTOqn>p8;bUu7"@0cR:'Hg -]C0"dVK2a80oQ=(gbDJi"/I?f'+A=e>Ti)JK1jkX4dr!(,)?eKh$2]pD3(T>Z>#:E -!TG[lG.j6+g3I!pQfiY.LRICPrh#tK#J3g\&e+uJ1.niA#,Z,U+`%OB#]FUZ_4sn'ioq5/L%%r\;$'6bd7W8YO -_h8($&_[5?CNaW8F_X/"pccJ!q]4TCGDuSn1^/\!(*Zj1$"4Yd6stZUU(BHl!;%1] -=D8..fIV]K6kVg7,m]&)'a*rO$c1IU"p!R#)8hgMM(h%k5qMOFUNWGua?q:>ks'eS -=VskH.sIZg1Ba)lXFc#c$K6:i"k_`L,F!6X&_&SVE7H">QqNKnE>\i98-qR1*!;jU -%"Y'/+ll=Q"5n\@!sp+gJc`<=5uL?IE.]KIp`,KJDGNg&5p@T`Mj0Bb;bAK9.:l2N -Pu>%k9)2O>ATY5D'$a]S=`H#>e@1cbk$C^VI5#7!_jD)M@8'gd1$2HTR?Jt0bdj9$ -Aq\X$o2]R"BrNuPeCg=T@W+uO^Gfd.j.'&6E6`aN3[Zc3!ruj?cIq):Uu35S5`k(m -\#DQ(_,sLTpmb.Oo0<>M31m*3lHjhL67:RrTp-mZ-SfF(#tZEg`#[a('2M),M5W<4 -U.57kiCIU'n>#Vu:=-Qo6YSt>2!1V4K"t7k!C<^h_$Wki=Y(DTk[BLFJObFHj:`cs -,6r4A(*ddI'P^M&$t6M$#/KH&6fh5Voi*lMd*3TJ\5isZj<5G'?Un)KW!28d30Tee -D?>ut%3a`?<5fJucc@q&TX5C7E)0d*c$6Eli"K2WrChc%.Q-aR]$j9f9e35rX8s*W -7liS)IUaP[k7g,W4]aOV9a$!g7j0W^.L_,qWE@0')U[?e8P=C_&>6$6_6 -oW$YDRrD/9nbGspjkLsSk/\r!1SXNIgtR18EaA`##&HCD0YihdJOia^iXf;p&SgLL -10?7Uh8$c+l#qg&#TFu7#`CtQ#D<@["[P8qRF6*aDE[U%=46/:H6#5,X1?!%iB4bp -j*iYa"2J"QU0KdkJ0YRkqlXg@r0-=T'JV,]S+a5b@8J:;88=71R -53L^[Oo1kG6-`1O=\tLuXI_leelKr3A<#[P/X3R'b;*n)OM-rS7g&3pdr$m=qWZj`BL_kT/?4G7D2b-CP*@&o6%mfgfLX>Yn -j3Vt"_:gl!T]-dGZsS[*N$e_S?&'S*2$KYF&&LS'g;j.0!n@2XW1ZTc_%\=tTY;4o -phL=)Xr7R3:(G6&ao`k:E<&kT#"NA$!!D%nV.&'Xa(X<0j*51C+Z9N-e(P6I^P-t, --UV1M'dJRnRO>ZPN"00I[_iTa;.--_[^#g -_@_Jdo_T69#QfR('*)(%#\KSDD`=&.0'IM0(jC`p!XC]*!%;kMLj#E6ID;fp -L\r!En8k-#A:S?("]u*8:s+G^1P$r0SS0/RPQeQoeq+/l!;Ja3a9VsbFoWA&'#XN0 -A/Ulp^DmQqL=cT_fM-n+9fNt@JYMr@WobsZ,QV9t"@*G"3+N"sA&>LqLBmte"=FAo -8H@+.K:!5QO=^Ju/-5ef(lNAlqVs^ULn2`t/"2C3M;a:?iu%,L`1)J!UdIPW9JBoY -"/$5.QrO-b<0HH_6+D!!_=OoU%md170*E(WE-Zs>H(a4KTBO$SEH".(?3#4UTIL&- -CeKZ]`.N%`"`s;@EH)n5;oP19Yu&4@TE>FlCOjcIL!UV>cqf6!:Pam9=i(l0RX -$*c^GXL?;gXft4'bFG_.X:)tjWMdh-#_FM*+c]1Zfo8&C8n*o1N5I(oR(2e$bZmiD -.PSmmROPH``tOl?i]<a1Ek(@#l:X,7d_@No2gJbgS,I4"@a!"#r(=19IS? -qC;WP%:ZUn0^(#XgacjC"2H`W*7od(\dtGW2N(#2J_Zg[S;H"N\8^"NJ/57*YUio. -PR:+.RS-@g1ImqoK9E6e\26tYJ.IG]2MmHqq+[i]k!rUA%:Y@!qm`XKQ3$QN*Rc'g -q+coH5cp9i9>pfI$Jg9-hMIuac:$a>oX[_,Y>@O=N<-D;e0M2I21Zl,KO>8m=B9sF -pKYJIL^(aFXj'S=[k!?a<( -fF3GSA"=P-6IEQ7/6#)<3=I(HLJS$W:htSPCPEr:"rL#6a@h.^&q`TXdFB\pm63H( -4JJ9#$!cohCp4Tur>Kck".ct3G!=1f>^_DC-Ypj&uPLt[)]ir*B!0`&cN[r\F0glP!fbA5U4g@S8@7l)j -9>0!/4m7k?"5j\7k.Wp8UUW(mU7INT(*f9U!^Xn2lfWm4?\A,.KD7k:(e"S#&d4k- -!0C1b=9Sn2Fatl_*7"Y^@=0M)9&8;#P+"44H-p`ffY,0S(m&,T1Z3rgsDkJ7rE)UST%\H@QQQ`E@9fGQA%sW2YpBWOBRiomhgerQkXq;r2?GTj -68Z*6KX#)b+p8PO)=Ut%Oh*uI-5N#bQP90!\-*#G9E;k$K$Y3`_ur^E+TZO)"-=)s -Lf%\RAcQ4N=tje33W-&DI"2KMQOtbR:]cDF(5Dlu!,u?"5Y_Ek&;.;/K'4P4?mX0: -WEPTNS`<%rP2MQ!UD*-LM'sCo,:O;_GhKNUfp75')?^.u&N<5g"W1tS:hdh?E5/o, -g)aLX+Y3i]",?#M!,,l5&7]=J&r1Tb#OEA&"t9c;/r!a;L1R.`fmEm-4jp#`!S"KZ -E8gp2aF[5(Jj:Y"BHi"H+eV0rk$U0&J-cC,@[@c)2pP1`BRbf9!XGZ?!2+-3i"?4O -:k>99"@s[=83$a%3D@LGa1*CNo"cnT5cE,n:/K:cS*>N>bbLUa/8ud_,im"uf+XlM -8+>:8Mr:Sk^ha?ik6!=08<&.X6[%fk$RV34EZHYu)OZ8aNW)ZUpG:09,f*Kd9>'9'CQ,e-a,n5=`* -9&AXm&=q"sK%NosbPhdk#j+f#M9INfbWlke0rO.PNaRnqR6HOk5h9O$WJt:-lK=In*j\OIN -XcZ>Z,14_s\#WA04/a?c\0#`Fk&O#CDmo5cm/PEAJQHuL:b=%mNr/E4/rBYUDNtF/ -E%$9>-\E6LK+4@Rck-B$5(OP7":,VC!'^K<5(goiK>9O!5WOHN'a#j5!GEk^p_X&! -Qp>QeF&,B32'10D+Ku)CF$QpASKCm<@0fA##WrJg!7Lf?Ad`[>oWQajNr#2q8%g`*X,Q790Z/EDbB\*MhrN+1/nU; -WB,44Rr2d`G/6@cmqks0DKcV.pE+?tcZ=:(E_=AoG=Q]JDfKu.Dlc&29Z,O^iC;s -#iS(#c -OAuFF*X%Qf![p26BI*ao0S46tJuC,MWC4f$.UK(OWH]Nd3$3bQ&VBdC!<>?;p^MoO -?i[-4LA2".pj%BdH&&m3#Io24&:L&ZlA+3P++(#C+:*`FC4OrOL*.+`+ADlU9`onb -K6SSl#.fYR5mI&"X<+"6;Wj -&3^@1B5n7-iZgE$`.k#-Uom3'O[c)hR*]G#PtNEDfn@(N/t,IF__J[RC,m7D#=Fp; -i,:uR%7ZRr9WhDN(Q4!AYu%Ao-501q,k>q7a'1<#9D.l+L9aPrO,(UKBW+fWW!Ytf -_-"cf0WPb@6kX(lZ[4Lc:)EL["Lj"4'M9[`$'M`5`Ybu"Ck4.%8h-)5Q*V@S1j^u! -cm2Qt(f5r^Ki>',@h$cfF?dPOrH?(cZ.a$fgF^FsE:3fhgYc]@4;,tL#$?eg@dRVh -=K0@KFPtt7Or#C*U6I+Z;KXe3$UU#m/6GLcN!GPb7*j=>om;+YqF'C[5G*?O1SL_M -p$Vd;M2rM+O-*i/'N>.13J7VS7c4bo*M=;(H%8DQnc5:0huJ3mVoe9*T#[c2HCk0D -nI-M!e54o=/_C8O)^%GP@Y(C*644J0W'WNO!GIMl#!n>e(l!U_@N1.i@$!_XUa_'& -6ta@.!2!+F=";0`]M0cl#H=R'RUiWX8u*Z@BckQmP"ln-U"HjgMeK']9`kO?C^??( -L_OO=k@riTSe.%I%\C]p$?I,9;5j\c,oA11&-2M)/qi6BPST*"#[SU.!JkRke'I,@ -pXAdM6W)@`.V>F[M@aYH#Bb95*EAA'eta[E\9h:.U$-Zl^/[K]*$^b<@-WPD7]*KTF#dNmS30D/H@IG'2L7?Oj&Fr*M4:_O%i&D-t -5h@m=F+!16%tihR8Q^a7+&F2)>Y(!o#l@.kfRnU>2;3-M^HLBD^#*hdG?sZghtULO -M;\0C+-#@W*aaujq-J95kPAMGWT\ZbT0gknH?uk -'F'?P#a1pE"!Dk?9Z[/hK:lT^!Z3Nq-\s%$n5^2h3%bK0q""Ss;@Qj;1^7o2)o8Iq -%UnEXLX>H!6l6pUT]u5Pi:0l!eS]gC9H>J!/[)]-63[G2)2aP[.`H?m(>Xcp/jR8t -7MpmticJ^1A]tt+P1BsIBJ(pr"NlE``#*!W@#i3R/f6Ak&kV:GCS7*.!ljR8S"Y*6 -AUH/!UGNsCODQ_'SA9i"+R0">0J*lZ]Z,P48l*W\$;u7.aq4.m_i1E$"nXLh@),k* -=C7?!^/c!?&/Kl%<=5Ef-j9U2lBUQo.DW?pPi,[$,=K9uXl^o4QP(%q@@.Mq5#I)u -\etkn5R/mn)7FKm0UiK:"i\W$2AYijasiM\;BW].E4\0JTMl2+.V1JfI]B7ZhM^o] -1=)BXIpeC.5",_r.rp5ieYE\1nMYg8C)&q2>mXV0I5DRidLFYl6jDT9(k[ot%"[>% -#(ZIlK5cDS)c/m,!-rKZP"'@KV -WQdl/`?KgS8u!HkaqeQgL+!$A/.[kMgo_Zf7Q"6&qj*dY4olm7:geRHHOWW9+.1;$], -k/,c?%qKLQPHrb3bZS.+AaIs)\O_1.La<)l%*a%+#bG7L0K$?s$9]O?aigJ1CrU=cO2,c"J[$U:Q[tlWod; -&&EKR%fh8EM]a>t7lUYlj1,r(.cFY`MX+LlBMX2!4;bmg@0ckG+#>Tk%>eZHK7tpr -(BW:tB)t:(+TNVf7oJ+_F'39QfX1dBkVi\1F;4m3E!nt=^'=Z- -\nQ\;VR5<(UB'?q!topX0BFn":"]7U'!36J,sj$@W0W[V_Ggl)<%>jpXVJ^c=:5^D -/>\lDQFW#\,5H@6jl@a)Yd6A`pi)KAJAR!['G0G@;_^aPbt8Pr/D@=%QD%>naIr#? -"2K-eqihhNJK>!uGe4!nluIVBb?VNNlQ#s6F:Aco1e#b$(IFo2$B[.VK[>Vbi[d6I -!;7>JQtm(<'J5"-H5".L3!c2L)?[r:hhbfV^Vm5KPG[SYkQ1IP_-iB2J3"jm\.KLo -9Ebk[`kI4q!?Q%TJED"\\a-YHk?HO2)hI&MLQLHp_h;_(Tqj1=TWB?2m7N%rI95(g -q?as=-6P#W1-fNok?"j[,.cR&LPQ!Q,5BEWmV.KZ9>G6.1'(-j,\-?a$t9_^8qpd+0F60]CS&fX,e!^V8L -?o/Q`!X-=>$c$?^TR:a2MU2?,O64/m-H;P[pl`RE#"\T1J9icinl=i9."[bP7e?jN -iS%P[>] -ORR^\WWWPQ#tIMiB#8JI>#qZ&&BK1K$DrT7/J3dg.*<$nbG*HYmK_g5#nPVcT]-)> -hBN$eYJBoE,p3^`64Y4&qnUbcT[X@B:^_fH"b<*K?sj6_Hj1^<#:dHBb,Z*D+SHBQ -TkKB5:I'b/!2sXM.<,=j^e+a.[i(8XZt0#``#o&hZ(i`>WT/L>ruEHs.!TeK#nL<]:QT]k'4*04>J6b7p?AnEM -4CDY]e+5cpbr7Fr-?FnG'@f9Ff00lV4$oDu';6ktD*LtF4Ys9&o=I8Oha3O[5]eWA -^gGT!.o)54P@+h/PC#T\KG!27g\!"KtLXoT]KnR6k[TIpn.p&kBf -$m84P!2'K\S1Nt05Le"Idb@J'D+q.i%Ai>'o2$=JH5ip3*Qma4$LFr^mJnEu)MGa: -+>=H/^AK8-#9[D%/,N%6s!NU9#);n$V-F7$56F/s_9&dK%;5rR:^/%o"X&=%oYq?Z -ZVVf!7R;hM5R\W)dN+SI*p*[0bgt%4[K3)1(]Z0*!Cd2X7M&s.nj$js5_]NZKEq!G -oAFjo,OYg@n-T.d$,HlL5mA+_+;Wq;!?nO@J^$"]J7*-I*rlEc!TX63j;,N\(;TZ7 -^jlXN1^9d;8+N*eU5V9lP64'p_8q]CJr;uE'4)@L7A>Mb/Qb26*t^72.>")@Ju1#l -JCalWRV()^Oi!WcaE -!)aL3+pe8o&7E]n@,qaSj:";X$p^Nn+JK.7IYIGA#5-_9'EpQ6f0L(B49/eN8f'-) -GiY%7K8qiaAj-J#cig#e:-gX>_3F(ja%je1BX\L/K3h>qW#FuZ(a1qEO1Gff8-m1L -,n;i^9J@'/3"]S`!MP]s(5t.(C*%Lq*'p;"@A6MjC(a;:>6*5"2Hg7A]F<^l%%uAY -O5^9bm1^]BlTmo?_*Sq<+r:9O!F_Q;+;btIZl!QQ'jrF):N-r?"9ZI?,J__7DtIXV ->>]UUYmPY<@Y%YM67?m>KCfAa.C6jE_%@_sB(^b-:oGQInj -^$>7Q%*DiZek+s!*WaUfU!OYe]5RGH^4='3jHfVX;A`d[(e*@"[uqU0P[!o>(uQ;L -j:W:tC(q2A&$]0p/"H1'JgBpdN/B.laBa-8Uh'PA%RcFTJ3P!%8T@*Wr)U -%R<\t+K,JEVU*9L@Y3,A$,$I2cT9P=8+D*7$W'idd(fq@/a7qM0`_B\UF*MZON/In -J5$QI6O8H"F!o.n^djPSU'3m2P1_GkXT8`2(C8CT%llk!_\'sCR&DSjWt)m0M?UeM -\Y,H$L0,!GX+)9R_kC?Lp-WCB!if7E` -$efKa@'H&fF:.kiVqQ?n!3`-]End^n-n,6DBne6R^73.5Qq^k_#2fcm3XOM,g$*Ma -$ltMQIll6;5*Nl3Bo3)BI%(P-S\V-OUFZb3]#a)A="Kl5U73'FiLt5u#'.Y[P0%To -m&2mK4rNRag?YtHk_$1:TEF7=>4;a.&1:"'TA'UBq]`(=ngC/aZH@^JdBg'H,X(?C -Z'uLV>OTJ`YK&o)(!-= -@FIg/T6)C.1sU7dbBb,DH[h_J23+;_"P9uLVm6]82dgbeWub3GJ8DN7S-ciq9EZgH -g2$T./R-F&,23@^<@n;inM.5TUrUL6aOt;1]p&u3l"E6 -Qb3jF*#$"0U;1!c"k49)'NN"L;Fk#mY`__Ad/X>HA\B'E/R.is&HNG7/Q%`QNk=BX -kS(UUmVD$u`PU6Gi)%9Potc6QJNMKf]HKYL;9,1SDECc6gjR7K.ED;OJpTh&_MAG6 -.LJFM$6[\!@*fGB8e8`t"+`EJ+=J$LXoVt6*+0?]Ig^bJ^7nh^K;QC7W9+dPQ>3Wn0,hJ(q;IRoLiWL!+F_g -_3];<+q#Mi$L=?pY!(*"S\?'JQh#9k&uWhOD"L<*-AM'r^eb8dXotE!%M:T3!&bGb -Z5-lR9!n!0U$/[TF\bE$*FK?tF_D_&Oodq4'4=!;5hH6*ed%jb(>VPuk5=j`ah.VT -"JD\*^bQLqMueKgn0,p$_;Dbn'K,"WY5eVGF$LNA,So>3"@2VqJ9\,fBfu7+N"/*! -6Am=N#hDhHD\`/uI7$HQ?mp'C(qobpihKpVDC[Ubf3l@&/UT,#.+hQQfRi8<_XK3F -pb0'?*2csGl@]AQV&h(_%),O!*`6M,eCgM^jhV325mS+=JeGmr"9D=8^`40,XoSR+ -2hBkr\@NF!"K"W%KO3N+MJ/tP84.I#XE^b -@Z.4SS&8':m+atq&8/b@8Ys!2VXiTNnV -&^MR2JI2Lq$&HDDGQC,GhaQ+a]mkTVn%j)^+1:mP.Du.$jKW/5seo0 -!^i[H6Z<<9jAtW@j%:K02$'3=+^9dH#%ZIt$%`.d',V4r,GG`1K1(J+kg8@0HCT,6SY7XAM9Fp-<"'ChI\Mc$cg6&6#?$6 -4/;sloak7mZO&1M5irFk*5uH@=U`)U/VXaD/qOIrLe2'b#q_L;-0#7T_J')j:/F$; -nc=-Q^^p==g?Wsr?>l0cqnr^.@tRn*d)'bi,!-Wq-3@;bPW'NjAj[/\]Nd')Mt7fp -I)'6b)%;6\6%m$bPSoIdGqEFRCQfZOZl/5?]5P1&$UnO0:nrOe'+)0R:*10?aUiL1 -U#>EV3#iA3_dSYRCTZ7Tp3W@E^J$O,%u8).ShH^j,SGr%52Kt"]A!(.I\#r"g["V4 -IXduNoCi4!YQP135d1Y-!^RAS'*^aAF;5'IY`'Y16Em7=$,\I(2%2ikoK*UOOVC"l -`%`N5'1FW,^^^I>i(5$pNTt>MaHA;u,KR/YQR,5* -<1]H!!M#u3b,L&ifh3llZl1i#P>s,)ZOE!="l\C2'oA[[:+hUcq"dtlKi+oSR`B@Q -G9,TZh`W"CK*+<_kAeQF*/2HX>S5&%aqK_CW)P4%Tm2;1L2rfZ9N(N4^J)jlAN_bH -obBhl<#%8\,dp"[E#]+JE-GCh%$\S-@\T6e.UqD)Ua]eu -mQ$>=3YhhMcL'#OAt*@9ZUFFB+21hSQ\%^Dfc6[5adW>6>jhoLggpK*X?C_@@FXl22u0M -)i!Od?o#fO>hV+b5"d -L#ON''+B]-&6=CZBoo>6^d5VZ!%4N7^O%$MqsC$=n,Rrbrsus9:gT9sAq>\ON_p9p -&E4i:_?YGaG/(Lpr-lE,1WWStde=!KW#W/'A8$rHlSF($hQnn4]2s!m4_L]+_'g`8 -=)]HlE%u#-ZTOCF!LEuU5Sc.0;RG&,`.Dqt'ge97ER$W:2pBXn2,d7a+4A#A%-a.c -3#n#'oKS-D";2\.9aRL=+u950?`T!MBOY_lM=B3q_g&'@,bBZ9LSSrHk_iHiO3:49,r^*8hNPQ'$eFJDc7k -@&PK+;Hc^"M5-M<7%?,e9WnJB\MFpBg_kDPDSepm#iW-&#/MPhKSZo8@`2mZZ'm_h -+R58U\l_-G8GO\grg)U.H[m:-T1+lM%\S21"+XVcJXA'%i4=Q/QpF#ii$JguA./cq -WWGYk\fPA:!"X?d3aUcfUp#`,&!-cT7F2M\+m]^ETQghFco)'O3#E:ZDaA&J$*=mo -K:.OYDU$pR1=QKYRjT?9gXA>ZcD6gG"*W1%HIiBPlmE!!#T50I?a0WH`@`j7\l1&F -JWRk\RVMoV_@']Y2InVsYhs([`LdEZKZo&+I*`fL9ac-A_?M^ECI=Aj%^s;;>;5M_ -6s*k0@[nKsEJ+ON&D.!c?ul<6bWS2sor68LVqe>??,m3S*$Y^nN$1Rm"V?k$_G!?# -i=I(5D;G_QZn;NT[M"0_8n%f![8lg+BptQ-??aA3`N/6Ni+t,,CB`9M'.2V0';o9b -g`V4,IM@?0:`r&UHO,eE/k8G9*AiLl&(ed@E4*m+pGBIA&.CNei"-]6=:C$omSJc0 ->6l&X,gX8<%KVAD,p;G/"O\\B`_[*^3+j7:Z,?Zu&@DQ`dH-/!5T[jW)\I[H$]3Yp5C2Ane/@gKl[+p8H`_uYKU"q@LJ -Wutk_-g^u()AB^I7E<@OaL -J@lm8@"XEV-lrq/lj&HBj8askp&H>iI/j<@Kl1#XUZ4H?N8g'Q`0_JV6+@M]d$+n> -5WK#kg`GVufFPhQ/I6n]'ni6S$Gq$e"[P[-!jJ6!69mpB_$HTalsksDTrH"pq8S), -=qO,`,7Z%;:5eTa0?/eU)C(1C%Pd#Ea-=0lo'CZ&+mH[1Q<#$A%!N/K8hbdW_A-Hd -2G;%b9W&OIut+PXmSn)Z^a. -3WO5go/!/c:BEL;-\1J&:2A1$OjW=Thk;9tLX%q68*HKkUNEZ$de\/^l5_[[FT/2f -HDaj0h.Nb\^9Q9Nf3R_`J$C4#^iD^Ze^DVmg%Mg4T\M$@99n\KXPG@"2]tNt@$iXF -i;=u'\=XV77p$8(-p>?OpDQ:FBSt.b.g/Ba&E0u/#-ag0!d^."DTg8t`G+.Uol;q` -!MD7a>i5JJC!qI*cfm6!Bd-1"KM'<)ZESon!]W\a9eE(97edB#^%$ZXRM1&+?IM4C -&86V(V1`2p&V:B%2=)):6+3e-=hhZT%,;]P&"X=qYXeTjLYMe]_>+$hjnBh]d/DPD -%e'i[>-1A0I<000%+KfBmblYGs(V(A-ls),)5/GmRYe#<>"9#Xf9V6$,Jaa[QRS)_!8H`i#8*\=e4Uh -_5%T-A/dh9(S*;/'k,LTS(#3T)o<5"][>G!`$<)c(6"Bt*0_PWF$)S%RfT0$P+-+d -RhC@X9n:;ZZLD+RW!*C+;MUHn6R*!IW-Wt*HA>l0#@i#a(gDNH>D+[?KHbeqMf#$[ -*.bAL_@/WF6pF!UAsqL+07"ZUEX*gnp_oQf7&0OM@etX:0o`b6 -^du\E)EnW4&g1>/`1kYoJi/mGGV"tj%D!HD]!EMPp_o#'+F56*.BQ#nQjr;YTcuB2 -QkPpFC5gNa^V"$q,\*lobpZE;5WhBWm">(NHCH8[p$Z -cQGniTb2%[0d.Ab;AOh_XVq>_Ejd/c>fOm;TNDplJKYo2[uBQXX#cd[b[e^]@n6ZS -!ISJs])>"m7O1)(NO#u`'Sja<@L^8(a=EH"),ENu)M-fb!SB2Z82CC1%YTpN!0COl -Qj&53F+>rcW=+S4$oA3iJ;8)VJ5BmUkXgBQ'EZ0kVur:*9P6`rTZR*r!P:CEBGLYO -0SgR=K=FVU^eBI?#DLfK16?PW0QP'5FuSp+#Dk_O=9=7[Dh'fc[?,$Tp]lNE^BFCM -".O'u"$FN\>t=169;8eQ\0lhu-A0AMK>:B8W)/5a;U$4)Cl_U7>/7reDE].bK*)\M3>FYOh[s$a[)$24_P\5l'X'tCb-4L -X=uC\5VK38/M(AO+A0_CR`UMob*cGW/CMfpo$>"EfTfm=Jg#)bHIRQ#c%@u9c_B*F -ZJ'r@4AX$gK)eDqJ/s>oBRmU+LG/db0g;L;HqZnb#64m^!+18L?\InZK^_K_YXa?h -.0LbV")'hLBJfk,.tY8U;'YeJOheb'bX\>`)Op+#GT!8E@@/SSN;=tF_8hLsru4SG -5r9f*J0]\R,Hs^%JG;81p^76"A,p"IZF'k\8@tK-$*]k$;PI8>OF$s=HP>[NLHoC# -?t=s6$O%)*PB\h`0JPJQ-\:It^N!&/*28"_*:QJ2hM&0F!7[UP/\3JH.k9ck$<#9MQg[7TPmH]m\pS>#88&2:g&=9=U8t8 -K.mpj,Ai"\3J"]i[hPN2,5m@Cf:=?jS)Mc.P=@l36Ppb1ZrtmYF^N93@+BK>6ej,M -94&BK?.g3J,<[\qg+=D_J-A2@1"9OMcODBA;CPOIAW^Oc5E,p\0#DQ&W!4Z,7^^:7\ -A,pjb#1*L-c(Tn;/-fsI.8!Sd<1#GVFqc'>#(Ql3GYup$4!r^C]=h`U(t0^;p43UU -](NYhV7X>[]N_eVgZ?-'ot=T6^>'14g_I]]-,\LY`8!5h>XcWeE<3["jL[ig6;/Sf -m8uH>\B\V"1n0PYfFS/7^J"V4"rtKR0EFN]-]@8i#L-"CW*01g=e8_L!C/;)Q-2;G -gqj5'>bP@b$#DaF?58a]efEc+l22L>>SjMaN8bBg$df]96_!&$%7KBp+do!,"e\G5 -NF3\G)aB],f0HnVTNhR;Zg:1"WJs0p04":=*VTTbpg9+?0%!)c+Bh]@:g/')8"hc=W>p0i;O>I2AY8c&A_#MiPEO]_8sG9h:;1d -P+A$JFdrMP2ZY$Z#]N6:BF0B-NJ;R&h,B3ZE.=]_I>=L^<&e@j_\%Md&q`!$Jg_E: -*LU>Z1uZ_;S1.UtK105\R8)ng^Oe?R3]37-^_M.p5]G@M^s406$_\^!f6):,)A6Pj -R6Y31)JT47*![9`"es/]&eoa<;RkRDS>&Uf%I?_XYhk@-#:sog]oe(Ed*=02iPbd2 -71kr]-`rhX^%MWKQ:Y_\Gib/tQB#]m`_7@kQ\!d,J^?=V-oQbb$j?WG -!*Et@&-I\"5,rKMMn3%pr%sV1CJ&P>f%;TRJ/\NGLIq1\j&VIYdEYcApjrJn'1e_s -cocjZ4B.D8"eZ/*SA9k!PD50'KE!.\C0-jp2')P:t/!mI2h(a&!_ -*'$*Dfi<7Rp91DPG64-GJqu^CkWoB>#_eMj[u5O'WU&d/eBC`rJ8eiu(_-Z[,QU^d -!VdF]lC()oK@b(hC8`Y=LdtqM9k^."_`gK8/ZDW&b$^qbPR$"Ge^aLg,GO>DD&C -#3.3nPgj0N\@AJUJ7rkTkRN=19`\p%"BZe"=?qJJ5_HR)"2+FJ6'_Q]>Li7J^=Dj> -\\;\9gm[KTQ`5Za:!=^D[8GcEhGtR1!s8UX[KOAS"L))1Lg)>WC?!epY"A.0P*Ca; -!/JT/nR!#N@!$oAFG@qY#$!=?LfFR;%YQXNdmIk.^`bT?cI6a^M/>413$MW&4U$WJ -Km^-0qcF)!&arQ.W:4rB88/7K#R/"@J>cLFLV -j`D0^SPMl:?U(f+(HT"mgXr[8-%", -K:!1%O=Gf0.KR$o!O*IC>o3TMh2L-H+>0f?"n]Q[(*MLGOqJ@MG(Q$1)%FQ3JY,.- -a=.-T-j*!NK0V\PYWr=V$A:Z8!1690\-W;J9)t>P"IKLKO@TAE7t_]eKGZ_"fJs$V -%g*Xu!>$]3+;5H^'`jn1!GT#+om;7dI"C>FndSU+C#6^g*ruZge(P2#tgN^nGM"]V:W8)m%>]6Y=VlTZdXSTE.HH3/apTFAu -Y'Utgq]E'>,H4q+Z]ZCri>'P`]=(tkg"bW6k/!]s&0(,Ja`O.KM94P(^)GCH$h/.Y`tWd< -cXiDq8Om$.k@AT6A7>FfQl3)?k+6q\^95G8G=J6t-`f -Hr_O/MFHPm=<)9m*frm"ELA(]9cB2;,k@=UG]5S\%Yl9cPe:fiO%Ud?Z&mIJ+.pl6 -A>*]_a-M(E2>YMg!<%=r+)de[l)G&) -W^;Sak^`A9',V&8_J&:D3LrdH=<&UX$\Q?+E>Z>P2\h@+9Eqh#i:(nMRH1%$+c+#s -0,P)9_U2bm;CN:dKYgSu[kKfe&W!6g;(.R9fTA]$\\Q]q.MW7XJk\M*7P)gn3BXtC -+&F?DM"RLemd,(-1D81W`a7GODg[X$!fBf2Wi?d%Q%(hJJL -+t5XE-ODB7L`qR_oF.4DXVb7#"H?MV#=8GB,iQS$X=3&D_*Ca/]PfSud06_kgr;)= -/4baCJW*MA`";8Q%\R7"Xh>V6XUe3slS"LH0H+MLV[72&(*KMqS9D[cq6_:21B6c\RR -;aA#J'A18/@>JqbKL;G@$'j[U#^)^]&`S.f-b@NNXB"Q"IfK`HG('DriOT,\V"cQ< -$nKD@(o?2K3?qG/V6(Eb[`,FdgQp[/D-IW,E#=>Qn8]WTiUF,e$KI493"]QW&lA_l -$$$=g-@d"J)1ZFg@"JRhE!dBAkV>mD@0lIIMW-3%P4WYo!q4AdBAaS%q%sFb"+1E-p3[*c/)'5QULcARng%.0W%m*$PW]E-<-( -+dPOA$Gf956j'5FFpJmrck(%7!%H9A!%53jRb/AgcEs3iiTaVK-)g5C%`,Y_)[;V* -jeZJ`?:24$/!ln:n#W.M-,KfV&N\,@*DeqFo6^[4$Nl/[#4;*89-shYi -l-'GRfu`nr+-k]sZ?dD'U2L*&nT5E\7(@D5OTJYs57<,5l8B-bJB0-4PF;fhDO]&_ -JVNEB#U)lnGd%#8ckqNi#>'/XQ-i4W-,dVNK;0uAag!fN5g9mpYYZ*'3#iLHcj5Oa -RKCKBiW-lQRCr9j#KmchGsgKiO+HKpLSQ;O0VT:5EOmk)BZ(Wn:fXf@()k"3BaGoh -,F@Ti\H/a',`U(lK.qlbJbX4jieXK@i#"7QB\a]E%!P#"C,c2Ih\RD#>R:ru,K'R' -&&I`H#GCPl6aJrg,0U?$+h.RXf_,;4fR/2]o(*e%_(C<)3=fQX!69o1!TNlD!PoHc -5tG&`5d2LdJ:/#6gD=dk:.Z$3Y5aR2>"<0s"[KqL8"Y\##=.JoR8RdO,`J^cKIDu* -ff^Wm<3VX.b_Uml5,q[D0F,Er'a7G=#DLK',Ko\:l*IX,=M#;'=%mN%J[4j!$LW/ -6`jK$W89H:j&?\B>YU"5Q5P6%A-mdf-*Aq<%E[suQBFYscO`HP^rRDr<[Pf[*&)mN'EZf.,id]:F"\L!7,053^lBWHIX:ft+Y1 -lrm4B#/Jk9]Lbkf=?F_ri)q+?Q`Q2[&jAkT3chO1O2tY&1dF*fd]sN -*\jm%._t4@DfuH#3%js`dW9eTKX+hm&=J0-8nCoA3Ku3PM??l',D$I[#QY/B@R,Df -J`&5;mD6?B*$olMIM'R&["5_RCe[L%rf`/VjJe@XFO-[I8nT.U+p6>@OTJ1HWgJuZfF"oe^ra,s/S3_JQh'!AbLm=GSeS2R)n&^/8_EXrm'i2'/jqOA -9[46?HC_>:oLaCe0H:M^HHbWqJ2k_=@hTZ)LuFLD`b,XB#7(bF:("ha0,`tZ/"s>a -RF9f-9PMa/Vas8A-K*gKl9K9e[4jM('#.6-h*%h3%Lgch]20\2##%UV291$K:[9T\ -V!r%f"i1m+!e@h4KYSH=%.IZUJ_:dZ&k8_s9]WXAi/ -^*\'hm(6T"V[44eVj'*'c@#M@DM@_Bg -(2.(\+N=,\r:[)SHN"Q/)7LMJS/-aHl)T31/&-?5KM.'QkKj^k]ihTBO -Tg0q)nR52bB^_N:+IiUCReB#3'>Q:8_0Q.`H5`Fj)NC8IU%3#R -G60(6GsU?g@Gi,u$65bD!?nV&JO0g*\d$/(s0.S-TOorQ.W>hhdEC7X#MMQN&iE?4 -jl")c+NFj4]aM"2lQCQ[Xi*&,rc=i,F5nrr+G*9PQL:Zp%?TN-i2l$jJES+X5suDG -@".MDU3sc-%7&Ke!8\39j:6_d$Xk:sTP>::dK0Hu![becmA+PAp&H90*rlQg!U9[$ -l5G1.)M)9"iF!7JM@kC8$39i25dCkbdL8ChEe(MTi/X$QcC\ZC-`h&0ksbn4AFG&K -E^7A,@&Q=5OUN@YIuPFWa["BJ1k1-5eSHMF@(Hs.2A*cU!Ps5PiN?r>d0Wq!h'fT[#%',!!'%<+EUgA4tcoQC&n_X5U[?j -Hi`2P)?:Hi!QG,U`uP3()hHK=U!t't$lmBV)k[`]WlPhr0G=HK"Up"!K9*i(=ENW!,G_"+Z.4bomBHr/umhIOFoS -;4]_NUbFA?IuH"D8,U&NBe#:I,Ef5[ZEYp#[4APh/+U5%'"ohO_C"M7/E1&V@W4UG -fe%6d/98b-;V`s'i@Im]/lLpdd^LkBgFfeh0(T&im8Tr]"Y`j;0EQ1ui+<4eRK^Km -$\2+_5jeb?m.eC^)1WPA@FP:.e/h%ppL3Q:Ja*4Yl7-5r*$>M,+_h%OC(UFs&HKBE -i4')D7L=TiTKl[W7$aA&#Xp39T*&8n@milk'MKUJT3fP"P/6EmiM?k>8#QT9-EV9Vai,/UFh@@KjCj^;!`(8$U-mC`+EtL&\s"'?. --POK*5\?\)AdJI_"^oOfi%u,+YQ7%p-7u&!+lF=_%NGMF!J.$^TI(G*-3HOZ%WY7G -_"n^p0G@l:!WdB[_P.m?)AohP(m3_l_))6;1(Sn!%q*C+#(R$\J;Fnr70JWCUI7:W -(^'DX]*]@CDijW-DN?JA<,M66p*#X:;bR;j$)F%GQlWH -jY`.@dtT\:L,5\e4Z.OBFcT^KV-:9j>1KTUmSX59C>j%GDY:g:PCH]bZ!q&]%6pUo_YEMj,\(+QrqNk$;B!#PCr(6Jc3G2$EX= -LI)83VG,;'m]hF>Yf(4NHJl\ui@Z!PcCX"51ccp<:2XkS/cb=4\S\JF$=r.EA>\QD -/d6mX(@S!YUX%s(W_23(F=mT2TXaDTW9Y]'It]Z@?q*G8*)NEkm3=8f'A>?af39:K0JtiTgJh>'o6QJJ]t+ph&M"2 -pXX$Q"bQk'=rYGF'?fMGb5`mqK`j;hHh\b8p`qTTN01oA"b;c&J>`la:(/9'"G#>> -TL9<@p]Q-B%ff?7i91>Pjp[nb%"P&V!2-5tGc%2EJ_#Zb!2Kd+TWZ**/jWAQ!#c^\ -UGKaJ)t>'k:O+7["IKXO2aCaUYEfCZ>U(AJ"/*4.i4'9\d3V(.Md^Rm_7%-K\/rZ2 -CaYTdOiST%nC`@h!hiDHT`>IN:^]O'79CpanquM3ckM72P? -8.,#EMIj,O@%[[2SL6\FN.CO5&ZQOQ//1Bf![2B_+a@XNKnr$UAaB[:i$oGp6kR6" -"dK"jIAlSFH!M9X$D@Uu;$^`OQ.fGDhW$%4g#-9>U -18cg=$RqfG0P#?WWAJPqB<+:9?eWdOp&#$tGHJI"X]j\c3p!DGfrVdBXd\:P)YL8e -l`[+.Qi`+Hq78DRe3A=pP7E#_[4fa7XIo -Ln1l%-uDj0!e*<5HG[I`#N1gS+HCS0P4)eA$C+6G@$1iSRL)6J2Lq)`"0cp1N:9ck -l][/ge':5c6aW<[n67iSHTSIIE!OT<#f(<`J=HhZRLNY0%7*AaJOCG"()o;rH7T2e -JZ&Th5QZLC&E#S\eD:SK_bM$7&>2,sM$ai+iXoFA&7@[55iMoSiIO$J$/gaG^kdcu -*]YL333EYm*2E\,WCu$K9K]LPI'LkB[EH4hbP\op*50QYaio.WbZrQ>][P+&e]kb[ -c1HcbX2I%ud>'\)9lf,cYH,[9^A,N2*$>Y00Pc2MK8CTT:M+78iGC>^g*?;ZfGu'6 -\0<*()@#jV;BU&c^iBZFA-W*h"e^H]TW+^AL(3)!"CU!oi'n0e,Rj54#c8\pF]?d+ -ERK8PO#jF^ib)<-F4ZS?.UkMgXqfT3S8T`7fTsKm2:l([o@Y.Tfj1<)4f-j1RG+P* -g&7gb2`;j#N_(7rgC2P:SSuftBjXkO?_''W!c;=TM]fNlh>?;^m$ -((g;RY&lXH^,2Cb3S)@9DT*,]ZOU;h$`=sQB5,(JhFdT55-3a#QL6Q9Df8!9DhNj2 -!/`iMI?>Yf$R\nJ@%[f/hEP'SkCbNU6]+G$0C=:M2NDPg6XpUZ&=oWj4JY9tITf/6 -49c:g"W'QaUukCUj`hAg('JK#pKBNd_0-N:k2cS,T.;X+/!CJ9(]_O=@*3KibOi?o -$_Y1P?D$KPJXn14%,YJ$+N;!jZpaen#7[5o+!1;SpY8/9SB!B_p:RhP,gqoHD7N,WPM4r7!9 -"=J6rR(c3/&k7Kl%/ts^f4t!th2]3Y1E5,i,D!YoF1E8"p_PqAQ;9)uN()abBWP/_ -'8_Csn[U388hZNhh/`%$\5r&2qub@)o9([?$:PrN8@2JL)%8tR_8ut960aVjJ!09e -`Vh2LiTpU\^i!YNo=X$S9GrWEn9QAe,"qJUMh9Tk1.(%UU-f]iJSK3+k99Ht+&&C% -IXh[g\ueD@<*HIV#CmA1*+4WCCBI&2BGQneJ:L0"JtUaK$=_Y\-&MaXLa'VXi^t*m -Y@IhP3C.%^pa$CmCq5Cor,f-2@W5Er$pckg3s7pE'Fk^# -Qo%AJTYWTd!i7=s%$ID/4@'H#(uEYuifI+f#[q\)E/Fu^j(=HCLa6(?i)uRn!/G,- -HW!hC^hNlsTi_X:A.UdeN<(0I."t!4EYsQ&ITU^Utg^r]]A'\ -Zbpl(bCRme*/B*tG4FZs9[k(ofn?o&AJnNGQ0!9d?^YPPcukdiq6k.+kF%?;2.nq` -K:;%F@"/@d)MXde6*D?1X(o1_F-:9;h" -B"N-)->r8dRC__DY\#Bs@3GhWK#N;6"e"NJ%WAZYHpiB)J-#HZT;rbU&t].)n8s3$ -8[J[@7UREP'4BKO1k^KPDANNJY[A?FTrX!8L&lg2(3]Y$Ag$hWIsNX>o)Q#_$R2d3 -,C&VVDqfu&=p6KkF/DAX#bi/n.Z+;#a=dsS0YfH&K)itIN"Zc<0ao9,_t4?JfXp$u -ig8Zo$%:HYjN?At<;6,Bcttg&[aLKb&349\Z*UlhJe$,23XGgX*/+s\$j1IE"2^.: -!3roEe=u_96c9"d&]Oj6YR2;lpf3Wap(Ic]6NuEO,_FC'?c$b["^s_96YL576>S:\ -iF"!D7d79H`.U;U8o;0FM0pph4c -oO3]@N\a-Qd2?FfB8ocs2FdJn*+O)2NY0Pu7p,:%,LgpuETTGTq#)=Fm":B4&j]&k -&L$47L67WG7``+\,\2RlOn)OE8SKV"jOBT]P%%3Y\N_HQ"J_2ZQ;G_L8KbhXX$$HU -(S$kWHei]1M!Rl@93H6##r0A-i6]$Xj+f8L'"O>U_*3S'TI0rr#9.1.!0;-l!(YM% -K1Mr_R8kk'#Clmt!ltZU&EjCPS4!R7nm5!Mc4&l0l'Sfc,Yn/Q`E6M+#G_bOK:ml1 -!O,'#`)%rcYc&DT0OYHaKK9BX3[$nI)\N3;%>aZW,=Fd;&E27QLJZ%uK,@Pk5to`1 -OFR^io;i/&O^&Nuj%gPq=T*BGQ/+USb2/]mnB>_g@!qn%&9O.QgP-qnh3R$i3plBT18W -ZPu^H"LK$f^f`1*W$KXGS`QI4A"Q(97=HCO11iJ*&X,\$e/&8\,tmp%%t4\kGR`A: -h1;d&r^GJ,puBOK+ahX+TXnecWLn:RKTEgoAYcCF+DeNdO;[/G>3dT.n8Jd:Y\"$3 -O@fP9-89sp_A]'qC(>1i3S\\>/4GCc\DcQMLR@E.A$BPFZ'Zf&Ei*cc5D*K?Q[eS/ -!8(O4K^eq]_=E;big.K?>')1H[Yco?Q+h3*Ck?4>N\Hj?+9*J3iM$NZVI4^aor!d*-*F7;R)cPOl\?!E]h -=@GDF;]MC1G3r$7@3IZ/-@5;0qnbk02k]77*i#/2EQh$Mm7uY.(O?i;pj!/(jAUZ8 -:,P:]eK)F2G)n;,,hR[S;CBR!P++LZIOO& -*Wh-4JpN=WW)*Ju:PM[LL.H343,Z;eaM+Cm^8VeOVuVUPH&#dI!&/Br:^VnQ3/U)( -47[G#X-O%Jc$bMQ7KF -N"*A,NQIt7&Zls#U7)+ZTF=+(iLcT%6CJd``"Bk"Rp!':T`E&&nJccT%H7IY&Z_C;:;eT^`CVmSe4gK^*kc!^4_.b1 -6rcZH*WkOBK'5dW!(hoI#DQ&tJ1,OFO9(-$&]#s@Pct2o^j,oFGmA!dLM0h@^fc<* -&qdtA!L(5F/,)8Jk+/.]ZMERbK&\[D6N\lc1HX3?A(mMWr#b9$+;isr]1IV,2FnZC -a=&md3q\+e6-*;c1c%aUqaE>lqm>>CZYO=u_`!M$*(8k:`;E]+WW[nR,_=Sn!f.kK -J2Vt?2?a?sKa;FDBPOE$&e(dT7\\-n>IK:-bm#q6K6Y5JMNejl>WT*AJa$Nn5Ser, -*Yi'.+lRGC'V_<-h$=XW_hcqh;_8#0&'EN5!6>Skm'"S&<6H1Y9-R>./@8&4[7`?b -92)e;>dm@b\4`@$bH/6I[(8oC]h?S`9>nS`a9I_`HoY`Ha&Mq6)Y^kcO -K>3W(YpK=j-47FH)VG2E'EZI/"H[0p?tD9IF/IU2$T'LVRs^!YFT'Gju<%Our$2:"77Le,kIH4q7@V.BNCa -dK0mIgQRe-cZK1_D#d@Zs3MF;_jJ!7E8R[H2GCL4-Y3;)*=,Ji#uDdNX?*X`SI!T: -]IX0&/.E)L$/!J@%+-(((p)Ih,n1<0V@/lU6ck)0D$s(K?@kEY!\c'S==AgS&;/AR -KoFDGocQi28$)2gJ8eqN(^gKY6'fkP!AH3""VT3W.8`II/Z9[A\DAg\:GqVXXm%6q -6K#!bif<$Z01t@.lP;+1l*VGqO(2KKkk6Y*n?3_cY:DB39SBTapQ1"&&/th7;"ZMV -gOWR*<%6SO0GY:t71Wrs<$:mtNCY)'7=f4[/t3p&@g.p15n7B/N_gLTA4hFMhm#-a -7*sgK5m'eZ&N(]p&4&3;qr%Ud/WSj^0.Rol1E)9_n?U[[27j*tnlW=N.amPAO!uP2 -`CSL$AM:Re0_J$J;Vot4+1CcN[7*`bGi_s`7T@o&<8dF)d-(K\/qFrp`7$HI.l4M& -0sb!g1M]mpLubn3M%=k%^!1N(!KgA,oR^XVY!mIi;pV\Hqn3mDY)Q=8p`]c4ftTd! -^XD\WX"f2N%ER!p-#2AG)cF((.iG#WSdG+PPM(OT=e1II!Ab[tqZ`*5BUu0ZZF+/% -]%S`p+UMmpg.+4s2ghViLS%ur"hN*f$NQSb. -%2W8l`X08jTtDS]TKc=>:s%I\LA=T":jYK$TF?]j#JAIhfE;E*@fU1OKm3oXEeFQD -0,+!33gdHC)Nm]X,:F*X>l[EGcq";=CP:=K"OuRm-r+)V9a%C("IQTLeL#nS-%T_T -QQcQg/G;u4bmCf!J[i2ja<1M^*s*i.Jf#baJ0TYJ(BRF-!amAV==+(\'S6T0!C.QS -:_Nk#j:@('fT7971&@?#q%-J$_:l9d4:Ug;/rRuBUMD&]'\!;)!E/iVGi9N_ -:q[]#J]KPKE"[h;>Y`@TJ2h9K+9DcoZ\PA"PaTXK-j,5QB)mHp"gAC=YXsBo8V:t" -")oPOOf?$qFZ)[$<(Q^`M"iYrl(rq*%J?He3$OfV;mkA4^`p2%0fliJrf(m]3Fn$D9GmCh[#JNFN(0h4II/jh,#Ijhj -\9WTaH%jTR"jfMc83d59*J-!@;%61([@WPg<.]\XY!dhn?o;\XK7cega1L&e109$P -"__\g>d3"E!$r_#3,9LcK53g&4FktNir[_\T5+"jCIgt/KGeQ$2$)9kG),:1E+_([ -kLPE$reLU6P,GgE8K]bhTJ;,0&;7]-#$Jr+^j<_dQkZ,Z;CGtuJS]uN0P&fWJTr3N -BGeBK+Vjc&JP[hK5SA]/3Iq`%"0#f?!'=\@18rPM!Dk7P'F;jH%*HI>b1I6J#2i,g -_FtI!DB@h32WO3XjDJ;cDJnP'IcbO&kAH=FDP$03QL&Llm-_UT9:@;[fF@oF%Y4$Z -JFa_2.m52Tn]uU)M(Hg3N=2kM.fi0j.%!BI\6Od("GXkB>tB>'t!-i!lctipM -":"(/J2hM'+qZBscZ*W;#2fUgk7flMA`_jFK7k63aLtpjAT4B9An;+_oN)L]RIXRC -Ss$'M(F!gj.<6LZnqrd6=c?0<\%k-1'?:AtQR[%e.ru^_T@kB>5@1P\*p+KhI3"uooARNt=9$_-*goR>d";!'YeFMJI -`D!J3TQU;K[`\E:TGT3u=`oo=&1ZVg;\@`.'TS=OZT@`M$PugV>_,g+JJE.4bL@QB -o!.>Q<[GK>D*a7BAp/ZAp4n8$45?!a:?$\n>+R.P3TclIhVrD_Z-R&=HYg.8P;0Z< -ZLK>E1Dn_/lrR21!_mkpJEAYLTA.g:FdNjt&.u."6P.=j0%!uMUP&4h>]8;7*KL'Br!H-?N0'&-hdLI_IO -87R0X@g+7f"X$,3i'DuGEe6*3r*tJ*pMA=S"FEqQrU5]OIq'![oD8geYK)C-NQ#so -j`JgAgkPP9d,/LsUHBCX6c\=oE#]-!;M$W*-9NCR,H_2X`!05O*+6nof)K7Hd0:mA -5fca_E'A]30o@)"b,L.(]ESbBJcXKk:')>i!FS`*/IDjhd5c$U-SE9ZKuci!;HP=S -ai%V-&:-#NNeSd0\B&DA)%;7P3AdI+.@*Tfd]%o.@kX6EAs7M1k&!/L9h*Pk!8)NT -*>(bo12t$r1Y+j[9^>ElFh_$,#Kt>ZGP)J`E;,Eo^-P_Mm2bSt5,C$FtmK2]^_GE!7MM[*R -q9:l49s4S5[\t4Fmf>N-i!97rA$FX'G+3oLrV?MC\,aeY(c@&G$7V'F`"@)b>o\cX -"!#SjonL9E0\lbZ@a6[piN,#oBWD*ZmWS([5up&reW^JT^A69;AiH?BLI7HmjDdJJ -qrF^.G)Q]YGZH/P!=8$g!p'HG"rRW\&8W>:.EHaa7u?R4T#]1ZI5bg)Ctur`)fZK4 -kL]c_SKK*(COl]#L^'6"YVJh0i@)q5L9-"7gJ92ofiV8-DLa"<(,R'nr -L_g=_pg,#:ce)\G#0AVk)+_U=XqZbgBLk"C^tBQ0JgJ7S!uu;;i=`R(n,RqU&90*- -&n:W20+#HkRNVjO!,VC"l/`L!;)CEN7a[HK(79iV!^Id$YKQS7-h!iP`)Aes1A* -=4K/+Tk@MN/Tk]\FTk!EW%YZ%?dd9,oUskqFdm*qJZZg_#@Z`IG2(U@L`Y27n:>!" -<[p1@^GfPE@>D>jIrIV=kZTU&5hRu1!Ck!eI74Cr5<-S[SEbQR-gC=*+(rq'I2G5[ -KLCNi5bK9WpRO.U]PD$R+c&GrXt'jslU.-&_VEkGXBOR),e[U7eG5MAk->Y3VgR^b+n?*lp,'g3C=_m98/9Q\\3mB:sqe -Mmmb1Q%a-i>5#,dA-V#Qn0!Kq!4Ef(6uYUc(]]\KEe)1Zg]74`M7!Oqfi[dD#6rYN=O?sul#Sn*Ur!//=V?2L>kQ$7.H@R1( -jTiE9'WtUPWUR>sI*1s(Cd[!R\OV;VK:4dS7B45F7F1g^4"1^O,TpdP(['\.^ -jZ_kWpRf7@Hr%lI5j/pdSs0;#(5`NGBLNAd'f -OAJO77aH)EM(pc&:7>-S&!Y7B1q`di)4*AJ>jA36#'3[f%o/oNG&GgXP>f!q8noY2 -W3k,B;p(A%O,u=*70ja+:gagO=="D#PR@gq^]DIX%3L*#IS)Ue`9S^Z6mJ3'NcCKh -`aH%Q6GQ*BTcE9K6;.ZJ!^RH%EDc&`7^(>d^=W^^1=*0c?g1a5bd(8mcGA$`7Pkg2 -OA6+50Jg#N*m=eg1sZ7;<=AnQ/qqlZ'cV/@"I>Uh)+kZT=pQL_i/EhO&;+fR@qlB0 -GVe*9\jO>/]i/Qsa$"B9AAK^Q"OCAa2^9:LDI(Dj2`g)+p4HmA7F\o80'l^S_@$a^ -F#&^ba4U[YE<.a>"L^u;2_2CI!EHqHJ=I:)>>Gb1%IsXV/?bC?][s7CAA?BF/[bYV -&hkNp0:#N-ffS]YNsUq&`K[m!bJ%6M?1,8t*G/qhfCYu2HW]m1OJgAI^oY$#uQV@Ld.Y\Q"P -;;hY.O$!Id7@h78YI]GWroHhT'S;WWAq?u_1Z4_8RQreepYuFE]7UX!!Kk>j,08Qo -Vf^-`)S*Aq9nJ:iG0FhH]EQaR?[tgU%jIGJi>RsUg`53hCa5RM3FKia7e/3)e@*D`! -E+?_p@^$T-VOPOlj#irn`71:hK4#o56:;9> -#<45'&.TO0A8;Z/$oj"2#91Qk":^K`!lf;r'VY:4LX<=66F]\m@436"q/9TLeU$N! -S#b/T;9$3.dS!usIKQg1%)NQM#!jdkK&EjNJP]ke+IG+n?q)/(clioCoFH_med)@S -=9Lop,(_M)%fn(?#%3Z5!jG@.JN_QR\jR6I5ZZ7TiGC1.dN<02iT@dkRk]+c;\p[Y -A5#ABo9\AWJfoFXJDaiI^fWp\J06;\8-p.9X9"?mbaa[8*ugjeDAlr.-NJsl%j57B -"Y`+SJTrIEfJ?F]cRNA5SK+7JOL]Y/2tlf"_m4L(mfHu1GGooDWMe-^YT?#&eGY[Y -LWgTf:lYp8.U`[XTc>:C.PSYW_]D2u*rl9_"s0jAGkYsq@Y+GEjrQl5ll2T-)lW*? -Ti_A)8oQ';P2k[!59oqfYWW>TQ?nCR -5:-57"Z!"fX@K9o-frd\WPVR[2[c@+r8;Hu9+K1"]O*52?7"`@&>D@B1ArMJ?\spk -!4i>a\.`7,'4J6K+geuh?6*t+ontV+BSp1FR/5]lUfOH -?sl%u,/F7AHRNYZ87a8aBe#:L.akXQZF;=s\LURi//#]K;S=WE_^r+6/CN!!'%\]* -gFZ=Z/X#!D;WBBbreC`n0*l`VUE'39P:t(1V^e'P9*HP*L^XF_%j4+J"S*1CAjN,P -)dj3rDKHk,f-,nn*Pos>iOf0l\f*gJ)Biu"+`7sd/e`d="2P-?!7$lqRjeZO0IVu8 -n@Y)1U'6(?%_t[H_)MP52A]aN(I>,'JZU'A%hWMH:9YYm@@T<.:(SO1&)be;JBXCWIk'Nm[0u0;X'>Kie!S07lsYU4VP(`;pRUJdYXs8(]o/V$,fs-`*'DL -jO;bc6e^1/+9em)_DDj+$XtV[.3hsAR'F-pUr8JD!"nIs@!r"rZ*C7%_6PKJc -j/k\5(I:Ee3fYIH')JB?e1`]m5a4#WPWgl;6j5]ESh2Ph)A8e@CT'4Rq^i)RpIjKreet/X!eF/Y -?pG5FR[.?%"t#I*m\rf8]2@)t;?Bn'KC3+N\?SCZ3YV@pl^#3min"dTZ\prQ$Ueb< -8hJ4]"H-/193*Z<>.*[*[U=]qVUW'_FLR0U;IdR]9?Op5b0@+X0LFEe.q1:YhCesd -/OnYu#`r3T(-INsBP^^4/35N9W4Iut"RAriF#QgoN42m --n^G/_P>OjF -kjo8g_X":@6PM-62R)>4$#BWX2QdJ3Ch\EfAfuh66i+gH.9c*aBIhZN@`;a8dKX)] -#!d24TQ!MRILJJB$m>lZ_$1UH656+s"6!E!+?C8]C'.mX(-jVj6!+3)=?(k*&qDGE -JG'(1oF)j)$ile#AHE#8Jd1.8#0i$=A&'hD9_qb>"iAl.lRZ%*iGNJ!06O!AXr>fa -l7sTaqPkK-f>gb_a\e^CS'^Gj;s4H4N`.Ua5<$c78[_:MYQZ/NG(A?Z5X#_[*Wogh -'9q2bJ1MC#6:#$B!oZ0Q^bc[sq?-fl$t)a;5aDS(OpGH#E)JtN.g##r3pRM*IVGbe -^n_.,TFCm!%,gm`T_&g]5S5.n"+`'=J1q[G:'/7*'gO5`+]\Yq_'J^4 -$k8jh%=k5W5b\J`:f*fa/^-OClQ5$W3GA(@`<-%h(*S$L]5ir[H/ck2%nCtK\1YQt -#N/>^^q'Xk\.=*J%q.R%JN=WU(`5fV*>IkAO*grRJcW'0!fr9B@.4N=6jfgN"urP7 -1dX8\>bmAVMce5^J5pra-o%JA80Z?G0?sdJdSg^R$)Oh!@!Dk5G6DkX:k:G*!AYGo -eoN"5o9K-!(t@1O@,_;Si?VI@ECH)ciL+uX;m(Yh5Y*[C`o"e`::pgP.L(`HiJ!+G0tYmWP0l5tNZ -++a%aJb1#a$m,MG!o]piTMcMU%L6DN%fg>T!8I`cg^J^"bMj?H!+lSrVTQ][$37:= -i5,oNp7a8R6,ba -E%cbC3YnA6(1EF.Tp-K$2%W']!TCR1_6KO3BECJ5'AtJV_#ZRs_CEKu#\9k=\`JHY -r&\C4LWg;444XLa3Wl\H^(TVC1@)YYlb8kW^3fIcg\&<#pV5J[^`3*b>Q;Kd"2LE; -^t]SU'(7IDoS:qMTCA+?ks\I -dK%,4#.eS1*2Xf#!$JK8)@lSe)c7lhlO2$MuoQ4$1p,#>R]ZV/:Z@6-\3( -c2>W-2'JYLjUSjlc#tbc$O)\'!^$kH>0K+]!*;F[pbJs*`O2bo9:=1C+++p1=O/_L -I07oG/(&lF0af&Pip+4p&2'?L6[U%bM]H4's'KoNe'FgB,I'm4O-0r)]n=5R6dsUh -07"=W16m"1SM%2U+jn1:e5X1UI,q08nBPK.BjHodd*L@/NP^+8Vc9onmRu7?%F9Hk -VVS:2.kCndXp5ci$_UB*DI=(i@MmQBEZs2[2")#:C,Z]>S"\cqU!k1$Jp-)eGsJA7 -\P&MmYM/p;htP@!KCiN3el6f!;bTH^2*/&/1:(S<<(fQbF\Du3;,p[OUcZn&UDHqi -cW2qc>UAB:5%I;RUi&ih\RRO%^llK`YNjZiE/]A5^ohIgOL#ktBh%#6 -m6'c!c$PmMiTYAI3g^:-O8#,VDpjl9be7mF;i:(k[)i^\h+csEh1_n?7,'to#_ZK)MQ"p -@Maa`*)s?u_1Z)1/cgjC)5qOYfGDR?e5IA>O^(s)XjM6.[RY>];BQ-On?N]7j,cSe -&n&O$?@h4sbQ=<4p],feEpU=i9JZgl0;%Fk!.LE13OiAr`S!-WP=*\Z4NW2bDAIu3 -r*#f8+cKtt/^t2D(e4&W%jQeOAJD@GEWY+-^!#G8cN_WBGgWK)X&?J5!K_+<4+\,d -3!<`:4q!RO?l!=C?pV/B!/FGD!$>-"qL8JMol>OU;_QQ4^ -SctPF3!s`!!"&1F*s]:WH_*J?jD+cCZ#g6f,j6pWO.cRK/qjAbH5Hlq^gaH!Y=%2e -gc5R/OYElpE6g?Ac;g-.<3%dLA3#rIRH1HE;,!tSAMBpuMjA4K;s`$aXQ=1d>gH>P -4$fTr+hjPnC+RY*XgDNbWZ^UNqOL:bH;ct!X)-^-eSM:P@+9$ChG>/L6#a,$K>a1F -#FU?\$?i"K)0SnJL9[VK+aMoMROe7Zs0a`\UG'>0$3GZUT-tjqH()!`KesjNiYZn` -$)+,?((.3(`]aM-fdI:BAOmON!lPG(!HJ>I^qTq[pf.?7;C+T\PRmh>5DHC3)T'): -2ZX%&K(chc&L)]3i1MQUE&o.2\.BG98-KG;RPu&8k8h>LG)l%r4,8=g*WrtlV1HiL -J2lCm"#s0Z;+;Tm!-ehnX=+3j=qP/p4(IXX_PjbX$3;,J"2K9pJ\X;O5gUGP?t9]I -W5TW!*+b*ASi&uNfc"@:CQ6`]3(Gsc*Fk=WNfi0]8!s)n,P6>Dnb,4=3<^R:%#9q- -,""nh)'\-`MNST18BCTQ-"NgDiE)7lPD9LqnZ6fpiE -pD!c3_e?:t,=[Z'+MJD[(3-c%$kIG9L![=G!_tt+-(qPq8?N8M-mc"?Lo(:&V@WeW -6jS>`,6VYM#)Zn\.H'tF">GQC0W7PL!?`\ATTtn]:dt_a(FHLej:(=8/-Pdh,D&UL -$$1r8-RAQ!UOu;Q)W"?t_%#\mi-o?jh@g*)U0n$8`7VF.64*)4/`D)"Nj6S^$R&/; -4f5`aQJ$`NaS&\Q]:)BoiKn@fW.')H8!R?:!:C.%a.0NJC'nQus$/kG'">Fd+ -W8KSQJ@lXuP'Bb^'hG[-Q\T=-`F$5Un7t&e0EdB1gUs,hdH)o#RXKQ[8bWV6q]loT -jS0-;/ct\?'@_?@#5ZJ;$,JIoYo0TRlTJ%Qp>4u_HbXN8MY#8a5fagrTNVs1clruE -X9siiU]Ug_iW0.XP>(I9!3.N^AC_N6+5f_CYRpu9//GJDJ\0dP8C\Xk -9T$X5!PkK>kT'\c*!-*W!Vdl?E$GFW'S;ch"@umME*ij;!/Hqg!!mojl!?#`p6-a$ -LZ!Q1#^hE+!=,[iQnWc?L]N9eFoWA&5Ho*]\-.PtM5[?]KW$[kH0H7mi?F*M^I0T5 -J09Df+>9rOT?'/3OA%m+>)&CJ#+0L_.!,\[IN`rT!'"p$n-=[:9n:#R"2GJ#\1n"< -0UBL#^'"^)e-LtpW#@/hN@C,EJ`s6N/49n9JWZH3""^jBgc_`.$g?(Xl)pJ[9ca&* -MF0`L@?_3_P_$*<)MCeD'1+Y:Xb$(2)dq/`W:6okbaO&4!I-*t:_8:V?@\DLL@>># -oJ?eH*J^Uu^WBbGd9FGkHiPRB#G;3TTQgHMGR#?!#9[f4n8!b\'*_QIJI#\O:`6(d'bKSbcbiI*oo[(hKdEMgB9bc%#7+9C[dnOB&c"tqTE^(l* -fqmt=V>=Ss)+_]Q5R]F+/b7i744M#Dmt5!\"'LH_i'`+Z6bkZSJB1B:?k*I0f:&NqfFRG';1BAmZ"WD4_#QohgJVUlX#Kh\B"2"$VE%9UMZ":u!Cr8t)\KnU -MBf=D&CSu_rOi"X8P,V;0641h0!JmGA -1:VmX*A'#&c2e_2qR.o,6lj+&aaKFatTW`\B;Br34M4BrFuVL:L7dnr/2T,t_sVO$$)s*j]m62'>lh0P -1p#ULY`fDJZO@=R*&l%P2rbLT.oNW>("0,uM9?^?M6*tW9JOF*1#j?2!7\:f33jY= -\-#Sb1G+1q,r,:ZJp8b9NJfl>B/YV4Z(NO*`/+PZXB>NO["p(iac_)4#8jR+;c-:))MFj -=uEq!eWQO9-a_pUgU)dFgMj`_J2[jUND"=#)fuJL9%>LQ[rZdK,ndM.+p,UJ*nqY: -&`PXb>+9!3/>BbX)R1Ke;[LO9g9\(E;^4.u_MQaJ[N]-9HT&HF[lSjU"'+*eRr'o1Q8M:[Z[/8u:!'fD:0=p.fe)CA'q:g'XZGK!Zm1g9J?lU%X+=K> -\)XSI_f*Tb2dNpN3f33T]tE#[P(I0l![LW%F0RGEZ*d5K;(8p\X#'l0p,^a;gB]81 -GU\6S-N^M'Jm^-]W$Jsq,6DXG[FhC7fGglFW`a[1Zd>/t&C[q#ag3jc3?>ff!ub:J -XW@q/!_peD+f!K\(p*%6.h]&olUm^J=`Ip\=V/g#T+lTfb -4p2*T+R+K>6ic^D"jdO/cu=M#E/.g&LL>H/&:6U>In!B;-t3nqLf/c%;M3=-K>?IJ -pa1Q"-%X2L@N`^Bh76;5.Y1DFK;]?6TMpB>;\1p):Ls2c[OpM*)h7p9L2[fK=3TK5qnX+D8D\Mp+]me4C"[8n]B1VkKL'p3ct@SslsL -WVfMB\X)F]PfQ2Cd,5l^lcfd;fS\2i<1*1p.*W1Y-38WCK6WE0Tt(>g$O)W'J8f') -(^#O5@MfNW(!qAZ#^qKD!JeI:J09/nVul6L",EsjLS/ejE-;I7$3qtsJB2V_^^>h3 -Bn2"RL2[>$E++9i@>23&Kt(.aGZFt*+,&QA!f0;JfJ/$23(pG%GSS7AD3f2l!["h2*M+F;M8@?CW^oZF8N\Tm]Sj\[^(pV13(!/_O8Pr/8 -9U:Xe#EuH1]rOHSPTrOYWdU\4bHiMK2=-#:b9ac,HoBPJ]Wu5BH)O/ -(BOfsK:!4&LfJtu<dt1r*J'"d -JfkjON\uF0'S=#85Y*p'n6ZE>D[5cu#k4_tE46/C^C'JN%IhsZnBVX7k7DV,&C!>k-0Grd\tdgD -K.3'W:'9@>54a@;h1B=t!iR^]'XhW'm"4:&!k*?J=;HKEnkfUHkUYI;a>2ce;MQY& -#:Ou\0'Es<>*^(]+jbF#E,Z#+"U93HJ@J>V:=[]-(3:Yl:dI`'9%W;cL@[$FF*BP6 -LEk:cbYZC+iQdL`r=AL_eBno5&Qtu;;]i='+dp^+$_^"h2*S(#;O#WJ1E[t#Es.ng -kLAdCJXfRu@pM0?:%[UDo^2?p"-U4P8$ZnQXK\>Fd_1k#;q4F3[1T9733-=Ao:QO-T!2t>@=YQoT["G46+2]#)CnZ`,i*O"h8Pc,e2#W- -O#D(8$e0ZDe;nNfGAm3gB-o>O/,_M[C:AC`TWlfEiMh)ai3mF],abd3U!EcU*m2WB7dm3+=Jrg`LJ2.-b0n^qc -KIh-IS,3F))eo$1EhrL+5_#_gD!+>e"*bE1Ed0eS,"qtVG+Y8tg=+Y-*4:mW%7%L+ ->/2hM<&^@mK$t.[UCUG4&J7Z\Yr-sWhl)Z[IfV]_$Zd1f)]Q$;K/)[qoe7+9)Cr%R -Y<$0,fb85-`/_A6/3:\Hhab)`W%MB1E464737FrcnZ+23G;Hil[3u_>SJ&5F^"qEJ`-m/4WLrFa\A%APe_SdOEr>_!EmW1GR)Z!#ViK"'XGgT*9Zb(A)9I95>(a=@,& -b.=nf[e]BE/]+diEa1jE>Yr)g@s/5ka0dE6[1c'_^aZeBW.QPQ3jjkQV'ineRP?M% -h(+4;CH8YH3SduMZcDsQ(n.LFkdTZ31r+VYTLQF7\dW/'(L]aG@8\(CL_InKiWN4j -(D4YU0sQ8A?8`^]8-ADX.$@.O'Zt!4@:ELq/Bh\s3H8eM>F\H"j]UP/Hpf.i`oCL3 -YZ<9L;CLPI@-3tKW(MqYb+p0&Dlc56Aif#*[1"QX8nB3'7$VC*g-rHT-+;SSN/=]7 -EJX2Q:a2*A;o5MSF#GSmMX\L)=Kl![(5o#)nQ<5&.[DV3;K4O`6Hi9G_XVTT: -DB/s*^ioc10E?&2^O`G]qEGLt)$e")N#N)?&>UTZ_[sI<$U^$"3q7_t;2-lG5cUpnn>tn8KG* -!MGB"Ku/AY'9!&B4@0b_WDI-F-I<<@*FL&AI=MRXr-h48/GD;0Op-hRf[\*p@faRu -649"\3''D;_"daeKL;]n&e0Iq8i2LC.*=6oJrj"]9VMf+)*4*qf65VA"m(!CiP8nA -#U+Ld(5W*[<%*ZfaN>/)K4%5-@)GgmK8h$&cnC(Skbo4'6:b9)Ld?99*JOU>hbDsQ -"mM.JNg2fX^nK=Z!)sLs1ltY0U_f-TR3$.,6jWu#*@-42H_8(s`a]J,YL84F^I\]F -:?\o\oom/Y$iQGR>#Y4r2*0#f)o'o-<#k(0imY.a0J6Q4k]n5Lkm/GgJ1?8iT[X[8 -,WJ1Z'qi*>B`WsFg&`:mQiq]]1/[NA*s\/?H(EkRhK]+AOmE.@a1qt.*hY7QGl]:T -g]ee>?kdc)5XEn@J>YEG"IqsF*c@G)Z*%I;`W87EPN1l*5)j%b#W!TU8CfP@LmXa+ -\=ksHk0oDk&0!jWd$QN`K=@p=%0JXj.0m]YH^P(HJi]Z\?P$SJLjqsfor..b^nJ&e-Ee)*X#kU&HZVs$%YJ[K^buL6C:jYTi`[oi0k7/ -GX[-jn/WF#`4NkT0*d%^('M#^('Fma&-C2b$Sfp-#]+D_FY -+>-(/(_\(R&;P5-$::[K#"i.k.3O!P6!-nk+IFhfJ3k90L`-mMYR1`BC]m22[K6N] -0agiR"9gK7!Wj>tJKW;Q!16Fb+B0?_E%VIta;P.Xjupb`q&eYhJWI)H5Y+HM+_3ur -O]!)e8=:D@jE-NI&l(s==X>AiUmI9CAkkpS4XT7fSWjbI;+atY.HMhRPgZF09"A4W -V1bt:1;6ma=_TJLS@Os6ldW -&4?dtpaJ73`ViN^DLIs`CBej7ER$#T2jq&;SJ//EcDfNM"$5EU^f43l:^T3^$G7Hp -.N:`Xr3=Z9qAm?[G7FT_3!Om?)?P!gM8gGP!O:.FPIcWK1b*sI!X!9%l?CY0.n?PG -+J_tcP#<2k4&kNI-tid_K8.+ikiF1h:[$uUBC$!9O>AZn#UknsB)9Ah8-n/o+Hecf -rW-0C3H*]2OqL/O6=j"?k-Q=c:l*`X6f8/JUnT[]H:btF;Cg:XZ;t/R=j;N&$"]fq -<11$!%Tk9ZZYfU[g?`GXkV#4ed[ek6TM*.-JU='b);%sB9ho@SY;Fdmc"i.mW2Ue*BDK2gUKa;iMg=bA1=LJ1OupDS1n)eY&Ts8f1O.eg/JNC1'Y1nC`$5X -P]GZd__e6K,1*$^;>]4=n"F'.\";=sT1;I9+q91IV -9#/Y$F3-$7NT@DIJe78;>:.Z.Jqh(oSAR?l$t4WT"mm>*oQXff!K;RED%IVm`eFqk -.'[FW%LqaG`WY@5&aCR'b`t%c$O!]7'9cU!!])@<=mj@a1GDdbcAI&]?o2R_`LT?R -=uHMnYSu-A&BZ+R1qJT&!\(;NRFk"Z"d+f4kV$l!q4)U$K\ROXCZtW2;md;"H&%RB -jJ/E"o+#NH7#W5O&okFQaCikRJ0]euOcaJ=S]i`7G+'OFagjY_"GOo0mamYiGo=Sj --RcBjUK2:TDM6J,(cQ=A(`1GJZRc9=.9!hhZ[i^bYB^hG"Iut:1lu+fgP_]fneJA1 -k?$RFF$aP7(!l.F5C9g#l!358$Q3:m#mGsRk^p#Xb1;5o]`bPQ_gPq:kUtA=]2BFf -9sST;@OBc4?>)U?UGNNc0>VR7B`R]LJ"uP`!=)0E!CKOeJFRk1 -JB4!a/*%fMg*X@^J;FA[+CK`iJfLEl*2`]UJ`m)"kXQfh!>#ea+9EW.mJnEsE(<"j -@G2K),ShNl"9@eA+F$RNPZ$Vuq@B%&jZj(OD?o*k"sBEDi)C*"mY]su!l7PK^_.R3 -aMfgU#9j)cKT&J'_>qEh'qcriLklQAWWbYd`rnp?k<l[o(Odmq(M=;0IZ^b;[AhKTUO!,3=3/&YbF0oGdm!d -\.]f:Eu?a;SdYTo$c+M!5qX&5)B%MX!9)-s+lNG72[9MF+!:P*+iO]jBGht$!b#CI -"f;[G]$1f_BW\>i91q&9O2fj[3;i*8nM`>[QAAUT^$=LX)!*g -"&=55>\N4\9PaF@L%_k[3\]tm6btt0WH9,gcY:&]1 -j.aAD/dEM0#2j_15]g8HU^o^W%jde]!IOq,H;25G8V+SrZ@Hm[k9JGO2"5`\Ts+Ou -XqVDZ%3S+Ki0X[5Pkq`%"orR4'Pga6IR6__#>C#rieY]$TZLuf]WKo1/>gRa"O8R* -$a-)E_E?$McHL+L=s.4sj+bf&i6@0Vc/N3X/J-PCmNa@S36_*BU-d2o/.5pg%CO\8 -boZ(X`i'6=$">.dc)<:IEluG\d6hfR@$L5>EqW7ieA@6r!0#H&=6P'g""C -NqtA(AFiOSD1c4He*JQ:Fski9?^?q$e*,(0Y@e?ph?)p0bt2g?i2d!UlJeo1iq[Xg -!pQjK#oAgZ6X$E(Q!]N3EPmP)9?=[hQGH@:u1_NW<'nLB,+`J9k)An._)53WriLg3[T8$dFKu&Ti_/pG8,Sf8Ps'Wd&N-#9G -\L"III]>m@KE;G;C^@ht"b=T(+@6V_5Q]n.s.P'&TuDTs;$Q:W:gr]35R&8qVu\'> -MW$a,^t&fW=pZr&#=)b=Ga4+QU^]EE0EM;8)aC[tf]H!R_*2.HW@<<+^FqOfC$)$\r@'C,Kg^ITH(h+j0 -Vj&Ut(9;Q.H3=]b!0RZHcjO7.&-1>o!<*@Vr!sp+%fk_qT]?R_8e'_4"<2cniRll$le/c!MPMgTI(D->S(;S"Q6fmjMV:Jjp0gP#GAL/ -!4!,c4qD'a!oZ;?iGjUGTH+">*\PQ50H3(',T[@3Q.G -+:V_7!e?.2TJ-Ma63@3U"+W-/ZMUo5!O:)WZ25iQ4"7HS/[B^VZF_itHSr.A1UHs= -Zl;084%Zf+9e93MRX8$h$*u@2!lqVh[OZcg)el_SjpOFP$NUkBqKr?qE#N+&)I^bg -iQ+L)mAOb!!TEGbTFr0:A--1M&cag%^uPW+i*X9p-+e#V.FUr]Iadn`]:3TK>IV7i -4LOu=V8Ae#L6'!i4Z\I!:NKL@(a_GR@%#\qSB'mI>c8KXf -lU7ttaJiZEZ)Pi4M^3h)lntLK%#kfV/t1i&6F4$u"pU,Vf%BM%Zn'GOC7ECs.pmd1 -e]IEUYC)\LKI;67AOgibb5@uJGs4D!ktk$?3,=g:lh!Ef.&t(>ClY!+cC74f9(Is+ -:a/#kAtR1E`k3LYRl9_(OgM'r;1'1sg.J@NJgq$1HI0: -m-lgtoHQ67#.;Z&egSg]Gs*?V2p-j\_C>fNK(t;YZDrF*_Q;-\'&&[Ke)E7h+@G1l -r%thg@)/qqU2\ZBTOj"Hh+*X>9g?l(ps>A9+^u:p,(O6K<\86#/]1%7+A0Lu3b?O42K!oiJmLBrR\sc?Cl]tM -92RqVDX`FdC/,,`c42*P&udnZ45+&hj-Hgm==HB]H`Fnn%'84mXO6JL2WCQT#E1Uk -!9:kT2/Lu_VI6SXSBNlYk\r9o1_X;"%LKYP%d]@ -Cm7JgBBP@f5W'lhB;8OO!dNu^mL6-iW]^^B0$`\kcdID9p!0a[bn)DO>dCGgH/hXV -UINb"IP#D5f_0:Iik7F2JR`.>%jk8_8%Jr>(M=5\dGngtNF6>SE\4Cik2ONAD1Ln( -T6rM>/NF)&"+ku6H=s8`$q!oFMV^>*?6BfAMo\,!oV,aJElBQA9`,J-]&IK_VJ\4Hh;?`;%O@s0a!.Wa?p?RFX -j`S)hh1/"*A.[F("'DP\\o?RP2\:]($I19+=W\%WKb7HMaX*N`835#:\)J*B?s]J/go`/8187dUX(>_6SZL -.)Ea"DB$L`jF&8n.E!/3Wo9mg)2@WWF"rJZOG#-=!iXN`%0NP03Y#RHj>[8%Gj#Ts -A7.Mh'VPOu?3E^UU^NV=5SeG`TE4n=!!i0=8CA"f`cQc%8VdkDK`GLW&HWOU5)LTN -BK6Kd5b1nF+[Ad9Kn3?,Jq_9f,8!K*\>CJX6ZB%a&OR]U8dZi;3#iTc+?i[;^p-L0 -JsL@$;A3H[1dqPC;">J7,D^q2NZt%.16*SZasma-S2MEh!E`TX+K.%,JfoVml$FP^ -^#BkP-t$P6hl860*_2(r]bDa.pg,"u_-iW_K];#u6'fKOD(l$UK:q(kht";@ip2#Vlhk>?9FbmCS,1\S^)u -j1=Z*[e%.MHbTBjDqjFS_/MLa!Q/l(57>DLHrh9*nbd#Ca)X;?-d-O8a",C)r7=$U -F8Xo_cZEFt8(2Rn7nM6QrEiLSFo?Mof(ONIC"[[Ca)BdWhKk0OfYkf98O -n)K=Wli:O=F,iOA3tq+-%pi']"V@eb&9[3;!bu$j!Uj>u90$L+&!$-4jRPOUrh53&M#>;':M,eKIWYJsRe;$\\+P -A\g8+:(e1$-aRca:"2@i!MW17lh2%pcrd@M<%F2d(k\O?N"JB):klec.Kr)C(';9V -Mt?!\"ZVk_A$gsrLjiUSM)IXjEs@k-[M=D7PR;t1'8RdM*lr;W*J.b`$=Rg)KqP^e -6F^&'d;EG]J:fJj[%mm+\sG%gfF-;N$'\??(J^E<$Ri>PW; -\e,J)U:!ZdK`tH)Hk$1=2?uLg*!Gb5'1:\"%mloqMK,!b7TeLIUNh"`+lN:!;0Gi; -[7C`<&i9`A(D5Uk'*R6,$V4t9#(X^/fD1VZj@?0q^q>ER1A9bC&U_)D[.'meX'hpMj?!"o^gZ827BslH.kkPqGoT1Wo88 -h*e?*QLiI;[s.93#!!K4Es9(FiDO#m`RI5jS3OC]P2bDJ+f')Rm#V5G(M(/P,XYi7 -$[8XE"6:[f6!fW"qF=J!9FZ2&;FO)94]m[hO;JgY:5hU&Dj&GK3hNqHOE)YV0;j -_^XEdZ*l:HNjX&=:=opZ`d#NCY`MulPS?7oi>gj-r-+-@DE5i7="-DrC`ERc>S0;i -.LJJ[&VgH`.19!hI[p*,QZ:^[#ADmS,:EbTO[95is#(>qe!*+mKQ&%f4U'd1.2F&O -#t$+a1EkZfLLBf]"3>`j!SfC2@)*EV=@re5`1A5,8=eUdB$:oV$.CN7#Hbn -*$aMmEl94IEFBHa2CM,dFaTC;NtS`+74Em."/M"EJbS..i7=0Fcs@-s5V`^4W%<`I -=D]j>JflNFTI9o88V5klKhs"J:g\cU?\YKb#-4I&i,8TTD[,t= -#5Dg2F9DU%=9P!+"IMH*fKb)A-\L&4K-34MEfLr5Fs6[+32q;BM0oRZMR-H9#[)^B -bE7Z"0:qYT!IH""a=I?W.tdm5"8H%"Lfup"!5*!S)";nWfE6lT?@[9,"S`?-nu[Pk -/Ai^3JUebm5SjJU.=kSLKEr*A!*bhh]SC"r5Q"&:oLT;ZrWbsp#=qjF86,h;#QoSt -J?U'qGRK(Q&V.Y0*V<;Ogf0j24CoLj80cOE^!"e0Om0lRlGecr7_@Kr^l*eH(P516!DkP)(_[#` -:4W+7"h4nnY\4#EB86HhLB)FH.!16+!Jcb`J-^LWYQ5!5H@QQQLO]D\J8tWDEX';^ -L;7;LBOd#E;$6WZ+93uC^a=X=(F6NL7b!AWA*JQ<$jmo-7^R!R%$4%#N/B`WV^-(* -C(LE_&O(l/aXc/?8t-(u,HA`I@SnRPN@`^E8in8a5Ue!6 -&L_1&O5UC:W[iYt*[QUgVk>E>$@a\$24#^O(D8O+_P&FlN?b`mTu*'>dQK@QMjL2^ -,mm9GoW'X\/$>X[Uh_3M+>5;Rs+2[3/;Out&pB(he]]KFV%QNI\0!VnS:bNoK8dJs -;H],$KWnm0&K4fSZP&5,3eOG$W6m5nr+\q?C<;(BOD->EKU*sA>UGnZboG@WYpRR< -ON?(J\H&585b95DTFqg/OMmKAoIC2,KWK47Vc+Foo&TocScVP9!fJ!H!%an/:*Yp_ -XhoSiO;CO$8t+YE.hjB%Nrmi)cYGip\ecp9WK@L3.>`6p -bi5Uc;$[^Kb*q'/0JFsI/-:H4!^t!>)Pi0%V53`u'r^!jY_Ia;('7C9K@j3)OB)RI -"9s[%!%;hL+F(e*YYA>PbE?:u5,d6$>,E/k*l-.'Q(!@[@Qc2=;A-:rJf7uSP2%[2 -0NW+8/H'dqEniB;kCQm/0"@OL!n8q$%^^j[Q&A8A].>e[2$6r6!miS%La<+Q,(\Yr -!T4iHfGT6B))W;nJL)tNRq/bj2D?u'27!&l&sbBfLp1@^UX=;t>$6GtTecdX"%9h& -C1@l-s#)hI2G7VCP@g`AB=<\\1#m$MMal5ID6W>ZP3XVk)NUSE)cs6i&TAg`W^&"a -=LVb/&aNj,4)$WC6bB,au3s)^CNlbL5,o6U`G7s##(F:\07L9`HQZ=0HCq -Q#+8cPi95s+C"2p>P0,5R5)E(SPABgQ,+%s12:%l``rtg>^Bs)fGakt(P2?-!FR/T -1T^fD$j>L&J5Bs8ciAjJI=M"e0`a6f%&bl_+;0;@L]X4`Js3SD==4,O-=3&dJq+SfELR"maoV8W -JV]g%C'-Tsa9p(+ON=!pTGiEL7tCq9##GPZ;o=C3!!gcsLY^ItE.>MkI7NXRa:&r@ -nFm**$&*=h!8'eo?kNQIhL[oG@"%V(M#S&).hU&78Z8,AYbC"-S.`)3+W2JdM@ks_ -$/mKC@"AEnkT%;3%_`>+8qH9P\=9@G*6hA%'u=,ueU*.nek!U)rUO<=^g -@KD9o#+uH\TQ,KaEJHd\LHos3+EWB8!XDP?!(_#48-t#A>(Gg?KbtR/(eK;j8V@p3 -KGZZN#WMmi-3C+dJ[c`,HW[C;"tY3OQbdq`o^F5Ej"d$K#YJpp`%=Q(*f-P3)"LcLiR^`e8J+OHc-K9-ZILf/c%;?jW6L:DKL$cCl3nW],a!!%ITjUh]! -"pRo1Kc!$OQ-BCR-@o8F]]^O?E$5:]'`saYJM8j4L^f#f?iY.Qa9&`Zo>V#K!/G5l -J2gbd#R5qn."IhaJ>aQ@:^_hZ@qdK)kqlu95*]hWQ>&gTBjR.jDO>.0R;&gkl+WU# -`g^\fSn[&RBgcR)<2\\E+&.UXiBF&BD@$@M)$0L]!Ji.V(`7l:4TSAAKTH`JLfJu( -nXQu[^2EfWJ0`+X8n.!5b#",@.mJ7rHsJ-j"n%"u;2KA\J80JMA:RK;%X -!R:1M -pju*FR>>m;I[]uP0-[SU/gS1/HU:I\m$lRe5G%Z;X/?UKeNcng8%Fu --6h9Jm5,.oi>$Jn/i]S,3t\6NrM+C_2PC;Q3cqKZAg?=/OU0J2S[b*uJ^ -]g],qSQ'WXnr,p=nf3nuO> -cd$i^!\.@(D\"#f+1+mf0="q:_AFiYHP#1[OU\75r9)Ol,r%c%'!b7Xe[m6!(P,"E -Jhn>k>u(PKCnf*-Q#e`ki2^mNG$CUSVcT+6GqRg&N,aq)TlT\*$Y`@nOJA)DTqcll -Q$Fb-FmJ_1\at'?gNuU_aL&'u"e! -k&dfi&2>+Hrs.nf,*K5;n+Z#EDbL)`APeI,&&90P807o\Q@tXVL0t2iAcEZDG&u=) -)@0MsOBMd3%>8nDAXF0`W#bti*Ic)2L]H(:1`m,2KOJj3Qn0OMa[FNb/=n@=Q%^MN -n=7""&t'0f;_b4ABf:eWL%.0JSh)4LL#^"j`,7LNNCJODOO.W#S^+-sq=Or=6_I:) -<*D^3Pt%VZVSb.(gh]%mNf'T0U-q>0AqQMTO9=V[.lDpp)N^m;ZVU&bZg[0+u+fsEkU>g.eg-/"CPF19.7jI!^ -oR!YZe7nO>Ifk8P)tUVr;8kq?^`*`;^1!q7au-.-]O$W50BGV?qD]CQp?,GeeSfZ8 -"&SVLl2.of]7H\u(I:?KD -$lNVQ;H4>qd3M$bKHTP5Nh[k=-V$r4:_SN@?re"s!I.kA#6C30`s72-BHWOb'kE,l8<1R2 -p*,Cqcse!u@20)8d(pEE+34J=@MgI!i+CoEoONao"^t5-+9cd.=rC2>3bJ@LmgF[@ -VtBId(58Gi;'(C5I:631>i%n-IN -:`1BaP;&S/ScH;QLO]GN(a(Pd8V(E>cj1()BI5'\+L#AbK0\!>N+2S-3K<(Oej5>W -3;u@0jI&2%PiULu;3g7rDIJiC=ak"Nk*`r#SE@B=ELpfGmX_"o=n[]FkdhgpV!/e( -O/D/FG+#8n>)oS\C>,8_Wp:S[[BAgVrjf7KgCD?1m+W<'ZKfpk/eoaI)s77i>E7p> -WVa8L]M^30k2gO9mfC#h49#K$n;9JMo7s$TGTk1R?[k830-J!@Z5DKd*a[(5ROQS/Wh!W+6e%]H9$4B3?>;gN9WZL^1Rj[\Z#Xr")$r2gE*+k)!X_Aim^Gg#lA -hjD1TMBB?^r3hkZ/el,oF\a&TC_Ip6@Xu;S"9sYr'Z-583WSf?T!T'`dMOT:@&OdU -Q!+MpC`!=*h"HCDJe17b":HA\/-^(;)2!HX%H1tOKoh0(!['.NcrjAE(d/AebAE"D -]_@V$)@OAj5R(cc,6VD4$,XJg$t5)L"q\Wf_Xph9Tl_uC!5KIL_sn//7PFqc`2c0j -5uVaV,EnGh)Vu&f-OMRtKCF=#K!]ZL@C/#7R&Cgp-qlZEo\b@(M@1+j$3ei^5JM02 -'E\nhOjQ]R^d+:^gWYq$Ea?@;Vme#-WV/HPJl!L%^jAk1QBO(m<(V?pq5%Me;ukTK -S`=U/NF4f5ZIMgPHZ)mr%J?M"J-r'55(S8W'o$,B1>l-V%1(lI5>]'0VPMY. -Tuq0UpZEb&]QFNh-m_CV)@R@^j[[I$'Yl*e&>+2C$Zj$oaPc>&B;A92@;]f`an6o+ -9Zmk91c3PrWY_Q-8i6t3:/3ZD%H8cdJ+4d.`GiF16]BA!oNlJ>TRfSj'"ACPKMS33H0Sg:W(f>bTY'WjrkS5Mu5Z[/a[_[Z%=TL3&ZK_lg!siQOj/?"Q<"=K5 -4%cB$&0V06PS6Ms&.KgS7YLkPA;/._(]oL`M'gJ>gA>+]/S#n]W9>U0fqCLEg^FO4 -Ua)Mb#@VM@XTYZS9#q[A%mk.#U-Z*[+fCa4Y4ocA_2X$B$fp7mJ\_SJ!#,#@I"EU<0k#SG2u!q8FMo>i4YpCA7^bMX<` -p.U;i\i2P%c#i?![5_!?&jT-B'kiiYZuF55=Z_A5n%t#\l9,(!^kNL(=A-LF8hWmi -79SY*rPVafmT0+S)"'ML[&6S=+4JtoEMA_!pfcTi<>1uIbW19\ohRLBY>mM.j4r0d -FDb!FC!):=]k5Me8m'iZ\#/?F];L!oSa^/]_)G7F"=F8TR(.f?`WhZHAnHO=sI#@P=eKb.2s -h3_db^jJ>55l`'Yn:_H^F@?F266--c-jrpAF]"KdAB850N\b#\1\3*j;A2b3"3aX]ECRjDLhi" -LQMgNq:+>PU1)V.5fh%]i2BS1n9-%p&5<^%cnC/GTlq%-5#YRRSV*Z0&4)[J#iNoO -#N/,p7CX*Kj1ka-!V?B4d/*f0at2tp>0a]1_>#*[!ZtkA!($/qi#E`qL]nrX'B"Z[ -i:mX%p^:JY$XduYJ8tb=4p-^rDC.[Q5lu!4!*0EAh?76A&`>PZ -_-d=Q?lD9E)FnrK/(/\QWO^T$QB,:#Q(D1j-;0li9:'3pq -LJ>_ZZ&3JA:6Pu8n&%]Wj6A!7E9X$G"lOb7!*TZDTETk:)\KIs0t/'oN>b'1)?\-+ -kCRquN>ZW,4Tg'm5^3UnD@+,&"ea!K^d8R*1]mb6(I0/\-U&IQ\/cqb*9#$?_9*\s -&fT_@!^U?/^c2q#8e$e=$O:\XOj`f_d3B8W,>p*[r'7K*2pZ+)a1;JQ^+(MI -X,fgsE]beKdY?j_IAtqYa6!iQUle7"Iq9OJVuD\>"HlC2JH52-WK)Pn,:/1scDULB -.o`]@1pUq8f790DLfB(a>`!ucIjkT0&6=R_0N1]YL;J=#Jt>o]r]Ou2#qP'G$'ku) -l3dqO_@)S9BXeJ.!Y$[hKP:Wj5[&S):m[o&QYgEE.>kR4m[F4;Oban_9:Q:3DEk'& -.Y)]^o,P33b^M#%OpNCsOcqTKOU%%R,=7uc^hf5XEAZoN-IY5F1KcO*#:&E@,f@/N -KFKiTD`48+LaXTgb")^D^ds9!;iMuUJ;C`"kRFM[fkMe,i3!DcSs!$D$;;G-P2._t -/s!*8S8$1Mj_C=gC'Q:X\ETf]aBT2=TS\L$SZ>5bBr&pFi7VM2II%T,$N*cLP_UZ) -XWWRq@-9bq]X[?T$#:)!?uDaY<2q/p2op^Zi)U,VncQ\s'n@VGJYrkZPT3-j&Fg5L -i$99#D?V2$&g2];+Q*M*i!M_a$:&8.?tQCW=$\WP-.>:P8Q`#nim"W`YY=eSnoUA&&@'D-cYcA7eCD;LR)OYDt#p><9",*ajb1*57 -ZV*:*X$DO4MLg_fD7%km#Pprl>d`KX[OlUOCl"`uUt'5l#7$I_1(Sul\=Mp"S\F:(&/HjI-#P"S9;C&A-`!ea+0^@ -ZeU!]Rb+sdqLnCCt>LUc54T;<\LNBKUo=L7olJ51F@gP\5$DBR6Gt -49Kdi"9Bq^8FKV3FB:2=QS0PuNWm4U%U_a95sPN<4r?O/(dX_oJXdZe&fX-\!27UW -#=]_!$6;J&*G7ta@C?1;[mIp.'rP:JTKEd>apWe@#U!@WnDodBE?&k_*$COjLMR=5 -a99;s%)>O]_E\PXBm]p!$c#RHJ?X4TS0`]?kqU1;EQ/:B=pUe("[K(Ajm!@1p(>,1 -!hi!r^a^%l$\gh3-$@lds -JKt@A+rS09)8aDo!Vl!lT0m)<+@YuA+]\Yq

        0Y<&WNZ[68!?p59J3Y!';?js8 -&AWl/^q^/)_?W>$#>e&!:eG7m.\(;g;lSAM+GjE6E3E)O9XJCXi'e.LUq&]%9FThZC(+r9-t!MPMl!#?I_e/B]6)Hp;_!K[>5O;K)[ -(bud@5nF-l%L]c!L[iUGU2]$5QjmLo&E#S\fFSc`ScN8i9_`*0!n886!ZiMH!25Jf -^_@HtliFog$G[pd5V*-0F0-%"XYG7+>2-0JhlV4bXkMm>)X"9Wl`V5kY?LCuHLn>/ -s0(/Z(GL[_75#LFM^.guniIC=6?*K4`pSA#>l__Ei4][D7Lg@jZTBnJ5enZldBYLI -HHr.fRn@qqeiYT@$,C?`TZ@;0`Xb=&%j_2 -+asINI=\(M%tHnUGUa+Jh?b%H\laa!Rn^K+Vn0c1,U:$M1O.uD9dKm?N)E](S$Lo! -@"!'-IL"q_L[9KqoJYn-K+`Q^,KhJ`%Y6#DJ[1^tV)hk+C0K3VK@99LUFSV_O&6_naeY8>S+u,rPUaZ$W]7Gk0rf -5*T89$.Y*E4oh':GB"3`i3^!%"'4S\Sk,D^4.J-EnO^L1CT6?R5qXp^+9 -a!pM+i13MkNh'u".mSd"$PpgA(=d3S$+2h6PIOYjg=ckeXluJf/XJ*>!h:!)N`1hR -9>$]f2Sc_NUP0uIJ7>3`3(O_T\^UF?p9')`"[IZP5i>j9,+HgC<(MOq"^lun+@6P= -49FJ((kJ/b! -gHE#8i,[NXEiZ.r`KY`!'Rm-jJuqVD8;OZEb3;It?YSg"STLDde=oI?VGkYM9$8'0 -8c;:]\P("![?SN2oZ"5<5+7Bs^He\k<86B_:piu)cR!-tCH5.hohO]9:FJ_/AI)-Z -2,F[>KbXe"CRJ#9WDO#l][[c$2&a(T%(g62;G,D9Ki_0qbu6#MS7P6uW>(e!Cl?KH -\U^3`W?e6&O6I>^k^]+a9RtZLY)CDp]?/WP[5th2"P%X@R<H;Xt((J&A%D\P3`uDl@/YMDo2!J?6245o,7a(6!\o4:'N&M"[4j/P*'4gGl/H\Fd!6l6N`W -VtmHAq4H^39RAeeD$KLG9[d(B-5+N6L7nJ7Bak$t_=^D&/cnW5AioQ6A,;J1dH\#>f#`.@?JR -,nPdk!SG2.2&Toqf.PFoH8$A%7Dps#XI7?i+G8klkZp0B$ReuJAKmcsVb[KFW;tTm -6+s%47Q-.?:oYTA!TPa#LLU$R/s%4Nro=a3E$eVPJ9cBNJVIBLAf9N0SDG.g3#Z9C -J:VlGJjk59%2'n5#UKY+89bsV6,6qK]BoHEm]ER2p_pAf^nr!,A9^F2).7HMH[mKS -nc0aZhuJ3JhuWj099S)B0MD!O]eUO76+75ed#e;`KYnq,'oEPnGonDBV!T;G%1Mhl -:NQ1$5Yn`mB#cPjUDCh'liRdV8hQTm@4cV-mD+'>`Wi7u=$dpaH`*k_(RDiK/G[K]-BdV?P9? -NYdMGcrM\,Th*g1"(]N8#8mcN!de8l[)\Z.kCrn7NBehuK>Q#Rk+(5ZoEiJce9,$&P@3 -//`2p[\`ldJ&h<^J%s2,Iuj^25Sse-i%tLd&/GDaGSL__Djgf+VZ5V&=sV'BNY[NCb(4d`Y_'&?O^G.2MR=M*CH3>%O(I+ -L[b![6o]l4@=(cPDL<$0dM>cHg8.b`JO5V-VP,3-:l4^QXHTl+$pglE#9aKl";&3Q -!oS>,!T6P#YpC=KCi#*IjhCuG:_pnZ/iq$^/siC('I36RO6HedWBbb?!SC'M_(79l -d(gZQ(j-IAA4_]P+tc@S#TKP`mghYd4QPGm*FKG$%%nFm78O^6+t*qWOP1!C=AK*/ -2F'npUFg!b\!E3:>>(B00'2`:Qj)#C(\O#ifQt?f7`/]PUQ:sUbjU,Ok1!_;_)i3uf-6XjTWUcTFMG['C -Z!hEI;O4?)&6>:ZZoZ_kfi:B[.H4FV_:`SN_q,P9;thmV%sAqXqf6lfGb,pV@@[Q'*<]K`^;W"M+^[oAZg^? -e/1Q\Q^a\5PE@PLZ_q@<>0L3^>+XHmt6ZV9uXS -L=!(.M5W'5&B5KW:dk\+BS?ML;aE'JM6>KD$t6aX?%SD.R17nei1q$< -?qkY/:e/")3dCoq$KBe6NC!Ch,b)!]R]$7m.`^6uu"P?DZaBrs"!?a@+Q9\Q"YUog4Ade,f0 -AK]85#r"VE`c6(]'Gf--[u>)KQ -HCIiLm!k)`Eui5C^_:W>a)#\>LTIXkGOHBgT96q#(q]!D -$fRI,KlFmCJgaM&5gUYVE)L$DBJp'F_*aTiD@hDN/Z*dI-s9n;>-`pUoG%4]KjQGG -qVmXY44U]+b_!o?AfAS$_qAJEBC&=^:f\Ea6,/r'+ocIM%hp#@nd, -&82UV5Vrc*>SmWPkQum7OTU2#Z[#/C@r\D[W' -8m==XDC.Y7X:Jb\P^d2tP-.6YJ\N'JfmQmdW$&;4G$J8f"R -TE'b@IttO^J,k#%)=]Bm0nt2^L3Q:?cq+;S'SL)[`)36c)%$,NH]& -4i?ee,-aLna^CBbB+.0qMu(2Hd6pB+PRLtf(7N-.r'%u4>89,f/JE`CCd]50_EHjI -X78tRR8=Y*<&"Zs0cIS0dUa-7ANerlXpeCM9Ag2WCDO4rQIs600HPg"/-7d^"(3L/ -?q^U29El=F"rMQ789]if!f*_%J.R*pWI)N.0F-Ad#FGJrQumj4FGA-IL,E$j>d%!-hlU=9XF]CB->0#5A6)!+l3b -Ad-N`"jg1u5Z<VL[YO,!Z`jp^mORXF]:F!RN'BBHiXj-\Btb -K$!80#r[DYk9uE*""5`cC]2'<+VU4_OlSWrFMWP_(4mY\!D/NPE(^2X9#.*E!"aBG -;ZMSl!/GN!!'"6e3!P%$/:`g6!Z27G+;TL3(Es::U*S541t9c\e]i3d9n_*BN7Z== -gC>h+SUQI=b)lB:NZA-I/&BQ$j=pDSTm&D -(cG/=)S^oqSnpMao`:$S3LL;B!IQp6?lss8*eL=-JtP+)3&lS1%YSLr!2*>H8-Xf6 -Er[n7P)+Gi_'r4uHpO]UL<'LP`1R;/;ZO%"KGY4&#VZ9501%W?&]#J8D#mDU;:$U2 -;=,IR'd1pK]-\@6VCY-"lF=O-]UPlo'OaNZHP+[/8Z&NT!GZGJgci[ -J1'iWVdd`E,Mk&IVm[h""'UX?>[=-R-]*57!rD(=ibbfc8J\%P-l^cq\u$7\JuX&S -.>kJbF)2-1Z3]0d0st,`eQ/_+DlZ4IX($8gV(0h9_L\)nN(R^sARUmE@16Ph!NBgb -YfD=*635Gg!VdL_kTU%P+V,eNJU3"NGubFi3Q%p[dN)X'!r!Q=OHug_74[4AgM?u* -G-omW$$8tp3ctI>QAR+n2F&@eUDLAk,d*h1W"X?3"FCIB41Ykl=*oBZ*D+1B+1>Y< -e3b6;$KkB?jtV4SJ`15MEe,RKO"T`eY6+5@lLHS^M6B8=$7cM5M`HY]COtCYJ^>tL -3%T^'&VJ.uJFH6dcjL$(D1H;:LTgl9Y^CsE.f^-07\"1JkPtkPI0ZDGV#UUQ=E+=C -E<[6mL)<_g-r:$(15"L>!r+I$=7Gi)C^!)JjSQ7 -UE?aN80%LZ$d11Z!0sl/X4(0"\1;.!>9C/g/Li83Zb!DtgH>h]4/b4m8$\.3,=j9Tn -PA1D>CC&[22UcOObAW7/E/`e+Rp`)>4oQA+G;K\Q[u2"`4#bs\8Mq7B1/h$o@l^F2 -I^+lc1tmmfYU4&4hO($jJ,%!.].rL]n$?GDF#) -g/rfZL]Ia:Ee#9QL;3lq^f>o`R_[>PrY>QK/qU;["(4!=A$?7Q -Yra+D]/-NG&^NOA76>1I4*l0(]-o/P(bbt0)?DfO"'?Cm:ca0c3Wnjr"7SL+ -83R..-A0r6!e>!FZ`8=-]`&;H-M+`e!=(JnN1IMLf)uclJ&^,(ZsB!pCDOi&XH^7"F2` -"F7e9W!rm'g'"oO!:W5U:_JCO.KN?pJk-XY3$3^!R_Pm5&_J$(L_Tu92$"gV5QF^_ -W)D!pA-ZKCLLNs_Pn:h5I0XhW#2q@m:^3aM$3a-@KG4?:gpI28)sN1IbQ&TE^`B8% --A4&_KIC1-J6qM#G3TWd!!X[c+YMJ?HUaB;J4OFi0c>UeP6.8^!]I.D3:B1Z\r6nB -!MCclp_&5C=+I5N5U^B&+9Milm[jEcm!sTF8UX(6;?fZ\!8p7s=;HK`^$%)pm.1ZS -$pkA%7$`#F`(7TX+_WD:d-*B>'nSdRdY38NI'EuK;MetN@)Sq&f+JXn6q^#(O]RJ! -]$bS$M8Pq(G_d]h[g[#J(6)ge(`<@Z"P0*\!cSnVE%lj10S?;E"/nWhpdG@"('SAa -JC%qaL]`EgH@R,aLVNp,N%jNFI"2KMa?Y'%#^YsdH3]f;LRXD2E,gD)EJDO?#0uiF -IB/)>>ChT7Kch<<+@(Ks5Q^-_K&@aP&0HJ]'EQq[^S0)rfJ?mP1P*m]J_]DY(Eo6?(()X@gl%i)qVAIbQ)O:Q -8TMmfl[48n*s-C!!amU2BIndd&qbF$JCmI>TNol8Cqs.ml8Wu*R!T&l!J`@E!#TJU -0EQt_:&n*c",I27OgUB&VkrYgAj'EV)]JIj=7!"=MT=+GNs#3Z*ml1,(0HN4%m -(X\b>f38Kh=pEU[L=fH*85o\a#D8s"J=n.g\-i>Q'D*!up4VLMN9,5LCA+Q@p7H0p -[r$*^ApBPS[(N9$iE;(`$pG[3=<9O!g+W?FRJIiC21D"\41.YX=Uf0u(jo -cjn\%W#6qplF9(pJNsu(8/q[J)$1@(!E_%/:_/4U=\j9T&K#G:3,aS&!Jc5T#M5V< -[1J*Y!f'$X!(^pg3+E*dr]qA^bAOJ/NA(1C1*;X;UC`Xic$7VQ.#`M-UG)jU39HjGc.!VVnFu9f&mEP3A)/E -j3^:o]f`6I4fGB=W.dI'rBQ676%O_Vi/S*N@7*J1*@kU].=0a<$B5amR"@qu\mhsP -9n'2V:8malB<>%M`DWVY;lPR6ID_p5Wu1"rO=5^>IKG=2-o%lI>H:qPZ[SK$H5>oBWtSo(lUr2Z-5%J3ZS_9A%645Aht;4 -Kqd3:TMd3Q84;rU=U]sM/=&p5fjU%K>F6,I73XH#MDuQ7`DASIW\uFG:e29U[1q4_ -U_]ptRUGu_%3,gHK/&1t?8%:0.cTGJ*/n4.*:-.!+_&YgZk.(QOh;B2)A^jloeD`[ -m21L]X('gse -,cE( --kXDV3,BLfU*,16MB[SE&Ia:/`\^2;S9uEXa:M>p8;Z+6'ZFk3Ag,&YX?%sb!q<@Ek^[c7Ko`H06V[&:JetNRY'!0drd&E[=B<1hImZ@JrS9<-9aC -;[:h[:*@Yo:kGVo+bG._KO1,cWuEjnqJ8>&hJe_,VUoE&_RKh6m'i5jX2&W -Ef-50`W[J&_W83_>CM1?8Hl:"=O]2>qS`Il>*3*V]H\-H1,?'M0*3[Y/.1CH -eU>b@'P]$fEp.3rKn0e9*sA;$U(dq:O@hKs5hSJ#_<8;,m;(]TG@jnd"![+@]7:*%7>5' -9[g=@Fr!$A9]$/0E'bD2+K@LnbN:bG`^J<mO>Kh6cl@]ME"E(i0aWDE'nqan#t#hL"JM>DJj@m+_'!S'+Ik+h5ZAGL -3%bK1!#L:GF::IN1dI.Fq50g,)$)-q&YNr0$Xb/1L/89r6[SuqiT:,qR.pY+gs1tU -1d;5D!Zlum!Y1p>!QOoQ!Q,=B!HC@H5lc6?@$iX%&69I\n1Y)tg_bZGL_#)./-t3Z -'8=g\#)&)Y!M^\mO%@2Pa4LB%m"LSDek0Nl1F='V*,^[2+t[8kN"+^(2[+.u'g_=B -#E^bP_;Jl*TKs+o+XA!0JCY'[:lPRo0NS9@=>GD?aW/)1F%PLc1Zia'N8rt!O-WU* -L+!KJU)XZ!@$1ma7'r9/MK2?mb;eZAl%?ds"%![R%A6V+#;aGk*]O^h_5-jVe"2"` -WV\_)"7ml_fSK^-SuBt$':2-Q)p`&$N"YLVU/5;$.mS"T;?/mCZjcCgC%26QZm:u1 -$Be1G#bE*X(D)'1218$c0amLCk.)`(6U*Jr!\6;04V0d*E[s4E1mN#X-5< -!ZplfHk2;=5"DOP*i$XSNrdl6#@Qs"A$gL]+ltTA8G+"](jD!j&iqKZiZ!DMD@KE% -2+Au:(nus"$8DSd_uO9LJVYb,0VT,0=?m(`a;N7lNYauH>Rhm<3/Q!9-Y>WdRe'!D -=]qG0R2G>l6b$ZWOd%:[Gbu#p<'^\l//J>c(^@cfelpg6CC'cX+fe9`>>Uo^ROL*@ -lI#?h!jZcV_CqY"*#aK$-"P5dPB)CR -b#peUAK7b8o!V]E)/h%egpNKSk$Q>8LGEHMc'\)dA^)*r2.kXmS+C62c.U,uB0>RO -Zc7.63Suu4h"dT6hLX#,$UAAg%A@l5K[EsF7Hg9[U\&_ldCN+EBh]nMFN0Zr>$Fa9 -SBM0hAtT5eMbsNe6jQ[F(^;er<`(Z@4%c*KSXRKrlI[G7!O6bP+N,4P^fD)$#TaNY -hG]Fg$oj#-"WZR2XAqRHZaPAd*]l'!Cm!&KLD3c)Jc$%6i04TN7_:g;eg4-5?+K\a -as;i]%Y^ch#N7ch1Xs8* -)Rcl]!WqL5Lp4`&K(r7J5t;05*QtRq#3b,0VigOV7EP?Q.-00\#saAAHF\WLJ`i&@ -E]R//Bf$@_+R4l+?<,>G9&2..[9BtX6=Q8l -*GqgOi1s;&m3dQ7DkRo-=M3.!O9pW7_hN9O*!:G(E9aNf-pk@INXi)>>mYGd&tL3R -@X^o:.1d.HUY$uP?U&>b?&!JKd)hYQBiJ4[&k01:&&CQ,.V(IN_!1%9W_l\D2-tu$ -9Bjjn<^T0,WNWPU*IWM=lOF?Zo"T#A[?e+j#EB&dg#pTBIq+(6j;J-)@Lb^)0F,EF -(5.dZ$3JjtLEY:]LKJ:0j4IcJ+J:6<_Z14`GWkcuZgjAWoKkXe(nL6_N3DoI*P[1* -/HIDVK2lF2e0$8[J?L'/N^gQrQ -F9mP/$UAG7+V4gN&/N&P(;[Wc@D!U',TS&l!TTO<*hfS7_5\9$3Yl-N -"^rYfTR[THr!L79%\VA_V(O>%F=Lf82rfMfY(7&.aURZ74CcMrj3g\ZhEA`U4p-97 -KBPM:n6Wnd5D0#$`Lp"]O9jtO>pL!PU'1OZ+FWhG,7YKS8[u`@aqSpeSj/:dkXp`7e'46;;1N#R*W[jJ!rNg.EuX=60Qm -6FR$dd2ask.q5qa@c0eqhHYXb#%`8L"`c.))YBkT=>33%?#P]oV]DL`/VU&tNuDb@ -^hX.]$:Y^:!*";Q1'um="2LoE?q(Mh_?BqT%)@/tT[XcV_$2UR -5B,RGYiS*5rdO6H#&rcMAX7`eG,!Ia5SP)%F<*V!J>/gkKS.`9J8>I`J-J8d#XD]% -!/:[8Jd@;X#bYE.@"JR?IL!)pgdqc@$OGeb+[\M&#GCPh!:1ID,Sgch*=B.oc5n$_ -b2DiNi=_B=8Z3^<_M`uX(SDleWuMe'qubmRio%R>5_RoXNWl)5$D:9(P?&-d4p'\, -)B]e6,;^KaKddB`ZH5Ft"#(_ZQl."`)$*b>JQ*4(3"Z/9"JEotZlXflK#8kt#_6q$ -@'Bh8X:8Q6%7(='i&_'g'a,Si\;!Pt?J -5SP5)huM`o*l&%&dY]i54K3nu!!ZC&6/P1RN#X\4*6n[-lBs)=$6K6N*u3u\_<:m8 -kT2u#*^S!N6-PfAMA2^+'S-YoTaD5o4q.L\"X',8?tK[p>"Osi%(,dBJ2.b'0X>fO -ZM%t"_:ATPeeeAs(a1L4Te6fT,Rtrk!e@'N!%nI+?YLW=*^VJ^AR+KFS=r]Y,YNM- -X+2[75UQQ%#!eUf^dnue=9?<>)?:Tm!PAF6]W0rCWIa^"W6X?mb6fr#]RdX2J-m-E -)o:_C*&^P)o7O7 -_2]61&/>37!Pn12!%8-r5Q`,q"2HYoi&1Z[37HKTds%\<\#F]JXa<"-HZu`AQaM1L -_0bpqHe6Ae2p6Smc$_OuIfb6pKh6ECKF*cP5^L -D@(tW$YHDB"XZW+2Gd1!Dh>Fqn7Dk+WWitl.'GZ@U;ROS'RZRZ;DFX-E6nnoSWKM4 -1C(j5Y@%jDA@A[T,47s\1a@N1#EbdlN$)t5]]Q5U]k/#$ij*3 -aD_U)!!D0Y&cag%i@k?W/eR#"&YTU8_$U]\4qBp0"G"sSJ?o'l]YXYn"ord8(r)g4 -=_e]u+qNC$ceeXGr;L9-<\_lrOsL+F4TOP16NDiK@[%>`.m>tY -1Cta-U.@RH/F%106VoZhjS95g69S.4P[`GOK!>HsUR:+-5EFr,_V#+P2a9Zs0/.&f -!j5ot.LA@`#sdh^!:1CBBG;VI"lY=VJ4(9+U]R6c)W25HiMZbXW#?ck)BkUO!LsoJ -/f#T["Q:a>!,N/'j9YhI%UccNH&Po7CLj08.mgKM\EC0o0s_23QQdSVM00=Q0^iuS -.`0scZ=#(.+A^J?$aS\d7&&uN"TJPYs)B4d>AFt*G(bXr8b1gm"9(ld9F+'r75H8n -!_!%!Bb[;,4u#k@C,<=&LEGT==TjsYEFqSCC.a.9EWiYW`)'*HH;"p"9Ou:>jM">C -N'_NE73iIGASqgLs!;4P8&gVs"3VUg/%n=t73^MGACBcHpaI.`)5VfGY\0d9g]YUE -7BmaYJd+c(HT&)dcriB5^f1L\9EkK3 -"JBK:^ci+@rW;$W'd+P4+cZRHNZ4Vu)klBo+m1:2g`OO0iD?,FafSp$dK!_()h8>9 -JXulCSeW@n'd3b`@0R+48dh;n"i.2H?u?<:TEjDH$K.?[^r-Ug_@<%TP2)K5`;jgC -0)p"^Djn)??;7ai;2^YUJH@/'EOeLnaJ.A,j^)Z^rbLU>0VcL\4CXtW80OO1CcJP9 -f1gNYJ;=bE4:kLT(c:"(?/s0V7]PFu)?:Nk!GV[%BnRWVQ!i=MaGpK9QjG`C$UEt[ -5j/oT//4eZ!CBG's\3\"l=f-Nn[8iW-NFG*gU#@2EF -Q%YmIDWcOj#Cph"7ApM8g][]3&kO2]J/f>US,je'*8h-ZIbnTulDaIM*n<.i#hU.@ -a8j&r*@>+GaNO/3ef0,H)hEYC+bUsF@"OXD)a>*+j`/)SCe5BT$USmUX@?u!"qp9! -CDGn2Gs9"S\**khrW#0Ti!91W="9?I?U+kFg]7(eJD9Ai6H'!85o,&@Z5?Ps.LV-O -1n%DsOsHq5l3!a,jE8ThLP\V,Bi51ZtK/)/)&;3=T<3\AJMV8q=dR/.&aRW<"-;!c5UF/Z3 -KVp=mZG`^o9(Fai)9^J1gG$hB'[&69EnmuR9&\E1*/R42ZkNlMTL(Z'TW(It!@FgQ -P9d+h'#^Tdo_t2GTLl"XK#JSh&Ip#/k(a6DcsRhf1rS!';fp8E9iJG%F;:l/:dtlr -@+\]o"l_d6,`G#;`^U'K@<;dA7o0J6:eX<(`E.ijmJrj@O;)CDTUAnMK7l5^76bQdf#:!mg@j(/DHlhj_f&d]"ik[h[meD]>k_OQG$Xi9]WMHsG\_W^lK.1^ -9=$MMG=phofm8D]LiOJj$BT=^i0UBVG[7h6+"B2YTNDs5C=m>Lj's,k2WNg%67Lu) -2G,"qJ_4G>"X--+f\sZ8U`Bd$E1N#JA&`OFk@07A-tM;n",AJ796lDKNUl'JLdDB! --4+-`Z7H@c36X/g"*i_&$N_*3MZmO&>GNgn;f9!%)Dbm.<-Z\\,7=!LgY0&3$pTbRM`p:E6BDO@0M[m+bd/- -(5$jL%De0eKqP^e6@_i7GHQ/[YSCm(rKu#:Xr( -ZuB(-69%I@_0S$F38i`4.oQfeNM_@Aj:0iX];B?2?[VgRnAA>"I0T;_de55 -!PhESD[(1c8lQTU5YA&,ookm0XYo<5+p:l*(E2=@$"I(-Ng*X&:\i6&6:;c+FDdPs -HF$=Zh(j#Jg-?A[^I[YJ+f82BBQW5Gt -L^c!ADaHK@"9Fcj#/Ga-Kj["X6b"0Icid'-EI^'b.-=VJ,=PG^_]@_B+@]WX]iEe'#J?]l?9Nd9-4tMDD//BGF*/ahK&&b\o#XQfd">HZA@4RM0 -oGlC]^dUeF-ntn``#d-aO:_OZ;[NOr0*T/'*.l(IYdF[^Ri#TCJKQZPi.rHXYWri= -E#B,%A-iR)L]W;Rh#O3lFT=/G4obV;]&]hWAo^Y?$$dX8AAim,&-=sa8-9kWKE@/G -PQJj*&f)[%$OMq(#Xg(^"bFlOK5eUC682dUmdN.>JD0"7]:Q*H"lh=V&;/N4n*h4JQPVY5]B+'To5?R/nn-BQ!^TNiW+aagAqCm@t;scScp6^"9IF-K!:ON -JVZ8l@'h2n:pg>ATVV_,P\U8mX`_(dq_9=s!fitK!lg&+![?DlJY=J2JKSb7^pkS( -9l:B&o@GJn!$-^]O:?e$;$KDmp)H?!iN%h`SJ8)7!2cJqR=.uH^N`=e] -g1:FZV/-p(eb^$)/\:YVEHaBC+N"^r7C/hpFqY`#YW<#C807r3@Ldti;?h\C56=[Z -._r!`)B^/9k@)4i2V.`LA;<)S?iiKHO9-Ij\,hWWZ92/!p>n[5PUk_`!!gej*@#5! -NL[:.`2oL<^lU;Rcs@4!QmiA.W"FcH!!e/OU]R9LA,sH-3rg,a*hWdbO,sE,8UA2E -,NOlG+k-LI:sK'93)'CX2As;\BF"T;+G1dh%)Ebt"GJZ'!L6;DH@&9_L!"%&,@F[/ -.R\SOC`J(HE"tZh<"\&97g;Kh#"X">(jS5oHS]0X\(H!,!."l@!/F*`!"a(&5Qh6] -2#r.a!E]_\@0[N,%=n?f'e9#F)J^c-'.DMe&g5i#CAAJ:&:isT!:\?dA.=D5+p-Di -K3/B]=?HS.4G5BmKJ5jqBL]iY,/PTJ">h0PbR9&*TF)5;JfG4bi>[oT.Zq(g6HguI -gag8./OK(^6MrQ*$o10Q1IE-<_^mW3>W"lb1rF]!6\IBcN&j=r4%"Q?OjlMobSMF: -,!*'13Z7)o4@-n)=?5jl!jEAjW&F_g2M>HJ"Bk^-TPf9FDRPZo2q1M-3,UY<=b)T: -KNJ]e82gPd2?KfkJtte&"BICc.2=BE!LO>tTIGEd.MQh_"OiKf(^Gd4FoWY.5YHM6 -(jlP7":!4Z!-he&kR3(%4b3SqK"r(PZXUmi5fUHP7a&'Ve8.V0Daru66n>L)`'ZF+ -JI@$\]7?lJ>%X1UE(8e4R%e;^\a10c-5j@TK5'870IeSMfE'tG.B(n$>,q\`^aaW" -K>G,:kU6eSTc&GHNO3u"8@^1#Vj`IAR]3?VafV#q+I`-J*3$66\/6/WR5DcCWh:Xc -qVE2HXFkaW8Vt>(Tu@+12$6Gp")O?WJg)39O.t?H,J#?Nfuk_!bmO!cSE\@epc-E0 -0I^_)!cbAp'-e?7gDC=/WI_ecP)::T3h?[r*\)=o/987ZEC;'lP+d.k6i8"$[lSg$ -P=Q_qJ/o^C,=OjHP]/VckR7USDh^5j!'"p&(]t!]km'2^LI1510QM[tEX):@L@AaS -?t=tbre0bKK^.0A-MK$Z9*!&C8c2l4'_RM;JBm*JSq -cd;T7'[gKY3hWBJL5jX,atd\.Wb\B`6Eb&HX9+5.H9!C8-Q(Pb4.=TqP'GC<'dp#( -*G?P9\ZMWhS#V@1/1Hu8g6'fuL)F`]*NFomR?"='N#[/).,coIgFQ/81r.uu%9$5RRMrIl/?.,M\DSpZZRk2.*2qOcTWoYn'-a_m!]'J? -^a(B)eH.$t4.:MUni`rIQE?Pu.?]&!/S+u5I=h$//`fKSRD2eg\X^gDJ\Vft\1N6p -/HbJP"6`R3YY^/&@L#."LI>Q/ZKqlWE.E1PL+!Re-r^4d"Zq8j.NpdOJ_?KDF[q(_1P;Vu!`2JmTGId)BE4uE#-\>eY\en]D2/)m#68`D --ufJ/!f%V59Q4s$?uQ>6$3o^1JCn[lW"Xl`6\21'K#f):ak;7HN3Qi-Ppmh*l@f7a -U]JOT!QZGckTU(Y-3A]MK$s<1[,._oI"DuA*6K+L^_).--@kkG[]3?`d#33gJW0)'d'b,CseXK"PfNJ.2X#A,p:R>U3"pj(emu!/ILo -/spI*5\u.a#_fKL!:W:+JS;MkFuOJe2j8PHZ[>j/IMMI(3!4^k,D.sCKfERt?qcE!2$%'tT#]g2X"bp,]J<3k9J.70V -2$"gVJg_E:*W]RW(L_$73^gCnA#;-LY[1>g@Eo\Jd3ZBF*48qB-=M=.jrL;o00:nQ -*H3)^:q*:m[Xk:7$]6\X!$?dU+%i1KJg_Xk-nPIm/Hg;1"E7fMJ7:XFG6acA#G^G" -d$*6EOuZH!J-^Qe5^\@<3BZ]rhn+;nH^?j^GdFVn"],O08Oil=+b=STK('G*lZ**C -8cZq)3LEm&=9\t9%L7LbLP,b7'5IiW!!fjoLJZ$Gk["6C?A'F*KIA0tQmVno$irU* -!5K1si!b/%o87#p1r4W660$?dP0,TW+LnP)dpE0d(]pp6!:WR7J-La_3sX6[^0U/: -e&UPH3!Y7DJ2gd9O9^E&)?FO[JCk?E&Ca!r%qdeA!;$gWBsj*J.4QZc!9SPlnBc^\ -%"SUa!C.J%\:t!f)Zek)!T5)NW$)3b$Ct4MkV+4E*3*ZX)X$gBJVJR8YRj173l@8B -BYKI>[Z5%HNp,>\Bb$5=*foPZD=G[FO>:]onm -"5ue&`+nPnY$s$$lqYH7?GpYjZFaXgJZ]n];2#@FL)6H#3gm:NROK,+WWGmbafmWM -+s`m[`hDt"%I+?Z?#G7ndj'r8D2FaMW$[m@Fs_NJOsqoN8j17hV4)6F8BInN_6"WG -O%BAW8J&(p0'3N;bmj63)3TOg]Um0c_]msb/`PW(']oL&I*$c5K8QVTJeX4/!UP79JXPjG -['oI9,Ve6*N-NinB)BRJL'ZM!kW^=f2"0aL!eNLKid\j(gTg7?AZ-&&_[8*PN -1t,/BM6EJS+\iH<:')]>K]3B&.4q6O,RN''qNPm_M/304F,5N(J_PkUOYA1 -&ZMHEVO5P#*2'X[,a(okJsnsVVdLCB;EMqYZQ0T;.Z1L6&pG1u([\h7Jl1#H6?5Z_ -E[(UP0<[P'^pN4t5"[b0jnRX'kd9^&;fTou;&C9M0$C,3,'A.;NM;E45$]"G%BEBk -*XuALF%LtjW7H?JVnZXWEdOenP9Cbm)&iFC;36D2h:4?]Td\L?EeOs#(V5$-d[DG[ -TJRPBE\U9>;VuIleRFq]OOEri.5`h/=uTE,Q^VbJ-tP7:AMsTI2Zkos.IiT/XZECG -eLJ_:R*:gCrr&bk0.5RnRSoO_D*j6qKL%B5VUC$=DhB#:3`S&7VnV_q=;GhfX9u". -W6HJ4;W/dW(QE0U]:-V(05cD'J*h2)/]]4eJjQ.tHJQ,`,'%`P,-r5d?%VXj(^eIp -$I)TQ5]^co;X>&?8rV6QIAbeT;q\WX&jhu2gS%*kRN&0'c"=K=`j-F3eZk[>oc&L" -+Y?lc=%EmR\1<+!.g*Qs"1V'UYYBiX#-NjJl>(gNa9RIp?i]t0"UGnJ#Y'C77YB&8 -"4rkA5HlY9FXO;+EsUBd)4:OS+l8#'K"*W=kVND:0E_)JJd>8/?kJ-$G(;PqLR8-u -R!aDqI,i;dLX6&,d!GaCaT+kW#%.juTGE4-2$+%@!e;DFJ0TWT,D#%o!U(O)/%P`e -*Wc$GJbUC=kTPOc&V=C?77]%^MY.#OX+G:M"1Tob\28fA1f/]SWaI0*+<^e'*LKY@ -0rQ>u0I-`K%g+4FJ>b_e+9r&mAI&8ZPj\Uahr"b;*YSg56Xc)O>Xf_HLdI_a#NOkF -q0RW5m;Q94A/AAnKP8j8f`$1D*_p;lOdO!t.[3PY65^>T3#i?],8"=b<[e^i"gekt -^g8i8N2`',D*FdnW`1Iu3k\S!>HLtB2>ZEd]j\3IL-m,_aC[B<%Yc3[!5*\K(D-s_ -dRc,p8g]H&GLBnF>"9cpLj'I#n6e9s$qA--4dO'Na^o:6I&:C*REeh;UHtR2DDrSr -LI7KdLhnrpkQZ=GL21@kg$EmOICAM]R&5AM2I[,[]0Ru]\Z%J>%iB)e^A -Wf=!qnTa\f/L)$"-$4rW*lnPk,(=d?VBY^6]q$9I95kBr>m(rl@-SH#.OYcr+h3OJ -Ln^hG.Li'gfM@+[q4\%]-eJEIU?CM3!$AC2,(BRtoJI+GB.s[64GH.$$5FgO3^\kB -.**Qc_@*7!\r>[(k(epEJ0"sT-upMg@BbtLL#VVR%hcm,)J?r#>L\?J+;*UP!64i) -"duVE;ETU7^m#T@&WFODbV>@(1!J)\d,6qo(i7\,'68=:c7UVNf?H*6b<+$KbkX@W -D-1JBL@Mm=*6jK?LIA^0h#+?8F;/U5#GLN06TNY2^H,7)\:,KS_B="FM#ktb0Esl> -0Fs?OO;_h)Lo"N]el$@!=<:i^jBr#Mq%sSR6MO;.bQY[&7I2pL'd1K$SHF_,rDr -i7&d"0RaKu!h/Kd)L+tgXZ33<9FbK7F&&rs(cuc$p^0)M/E"Gk"Ajsk+lHl>@>lp/ -&Ao'rlpV8$*$k`LOq<3N5m\\W,R!V,'8!;c$dfYE7?H=@i[A)i!?@s=0OFM]82,2* -Gb5'>Pj8?X/:7H-k/>&e'*;9/$S_'+`K9!s_gHY9!=C/CcrLNH4C\QAc5FX4%3"7X -2[An;,D@ht,i[HoP$sk7"n95AjPX2L1&;ppJ?L?;^flrME%Qf9<#[,kFHs[o=@Z2R -RgNjnL2VZ&aLK5#_=0Vqdel$.d+TIO+C>MmGUA*ZR4eU2c3D\0K7]8N$dNu\;IMn. -6ib.GB&l;f1FORi;]ZA*PSf(-13:'1d5pGim@?&IFsqs0SJ-tT1eGpSW3[f`_-fhD -J<2XEco**PE"`t]2(K0`#!62Us$C52!KR9&!J_lE)Ie4)$1n]Gcgl)\@+ZEN5\bA> -)69QtSs*'@91nG;/>Z=SP!W85lfXcd-\1WT"T!6O_\dTqeFG$kj,RoOZu7>M_!"+m --k@e4ed&S?*?*O3$VDNiWhgCCa=.*#A+4:D@BL[V0Y&P4Udp1`']ub]`!W:_/LTJr --A37c'rq4T%<@gf7%fX;_AU=<;,k@*@H8[:2p2M0)V3<>A*#P3HrgR*R0 -V?h%._($_b90VXWCh[<4Q:3jFF)mg_`/U'lUD0ZQ$u)9_\sH\>dR-b>'HsHOKft+G -&q(q)j]/XLWh^QVD)`g9=e!iS@mj/&.B=jqMIAOo?^p_;6>cZ.@7Vh;i44C,KtFN) -hEV2g:k+?"d<,GR&qWe&c[eYURDBR]"@/_?,k+s<+ehQcn>.ok?6s"0Y,[(t:'hg1 -[Kq,l.YV+3(G%`=`\GW8ikS"j!BjSFVLTQfCkX9HaC_M^CaeA6$5&LJe&"(<&`ij4 -$"kA:XR_*>L&#*n-Lbu#p2..`Xg4;:DEq@R=9"o=0E3[/]ns8'J(@s-NO_\ -g.^uIJjk?\+YY9Nh#Aq!dQBB&`s;`=Q4Ypn&<:.(Ja[bA>*-oE\.u[[L%sHfn]: -erM/g-U5P2PE;h)7+n#Q:Zje%N8j6obBB7%eo]R`JUO&1q+qZU+Hd!387;V:J3j9f -#V:LNZ5au$E7!)gLIScb)T'9%$Ln`;`'AYT@I,uX0]X->(hoARHS@ksmLX2_[c)c> -Angb5'>gDTP!S.Z#E^,CKRg?4ilGkc_5]Wu+S6`U%"&Si!^=ur(a"82N._F:\FS5RT -F8mWO2Xj*TK)fp'6$PU$!*0EFH4`H%!MPD?j^KA6jAuSP*!E8Z_--nk=:_&g%tL2H -J8PQ6C,#h!#iN>ui4'Cb1_Lsl!MPMpJ-=rS!:aW,@tZl^TFMp7C'#Pl=.pB=^d\d+ -X9B`H#JaXNO6fPO!&Z&L#CqU8TSjOd2LTYY0u9nT)rd*W;aeIMpZ.>gYm -6W?kgjIOEc%q<,@5\O(`6o:[$&TIe1CT`?KC/P%N#@N>l^k<"ZC'c$$"i.tg5WTQ% -U]H0SnI\Cp&Piboe:6HF)TW*uJ0Yn=/d!7J'`]Ws#FlZ>(`?bd!?nV?@E>/Di#\No -*hi-)+nB,>>!laU+!KVD+lXLG^`&jO)PLmH!GiCA()"FN!T4;)(s!J.!8UaBSJ%iKr^!!2:(^]GOm -BE7"+%KIO[+BS^'>'!/tB81d:Aq4Pa%WnT[BkEZGTK+7f59m%L,%it_V`uHT;^E&X -,k>.c;I(T3?RAZ\-B_dadUsotCF9a=-W5:=14L[7JLAlu.$B?6a!,UPFD8NMI,I-( -CHd_4$P+XLSdEPkUC_aeY^0^@&qu9ia-I\7;H0ngG(jU52+V(3 -0\1tfN[S^gNG]fe.')V\P -#fs``8S#")dm-NQ%d?q$N@^EhH;035NKb?(M5H\uk-q=G%PA7;l'Rm[hQ:LhR]3HZ -."[q=lC5o2S4LMM193hMfgRV#7?I_EM=3n:jUoi(/'&\;5m.;+!Ytb]($Z>JTu$fG -_$&`\nK]\'_=:'/oGo)_!b#D]@-TI3F9c2cKn*tE!uX`&AP6"/98g8Pe@/*C]1`9L -:eG4/P?.X>C8>@03D8eY`$4<(ZlX2+iCoS0,fi,W:W1L2(.#b1+WpG&< -NZJPlILU@UX=V!lPnFGK3]/CeX_>^'@mJ#kL6O,hX3//iXQg%DDG]I.RVMs.CBh#D -%^f#+Z)HrpN.AdH;CI&jf$t$S[;;knDCCFgNCtI^TR;nYLI<]%S-,-0i+0/&d^G/W -Va-ieWO*,6=N`2dL?DNYLsh87A@<\8Z^&,QN)8*@:qYu-*]28LdnO*LT"@?e<$6G% -CVMKrI(WC`NJc55;p6ZU,?$,n$;>'TD,--7baV;3`c__tc48?^(I61#P=ZtFUR8_% -g6sS@g[$92.F_,jJXY^i:[/6D,4PR@#M&S]rLRe'7cRs:H3*7 -C?\E^'G?MIL=XRp"Me=HTNh_P7L+I,"=a6N@+Z0$+;A7m!26kW!Y@_mScV3J'AuIr -i8=gth@2`1%7&JOlFm\bf3g/8O408T2>E=cg6DZZPp#K%T^ECWSe47R#baL"i*$rU -]E5p^+$]lL:0p8?/ENYV@oq#!?j%Q[_u`6C(][;J!Bpa^4q\ui&g8A&5p-cTAeDj5 -"X,Q7TK![_Q5Cd:!9'Lf5S=u(S/QsW!MQG0^aL):O9:&o(][/EiC!oZ69daC_uS'k -JA;SD_S*at$:)06+F"G@=9N&7)P@c_U!NdJcq33V"`[7[j^:HQ1h0C;*eDlBU"12K -&fa2t"(@-&^h+:S#RQ%f%3V)K+JK,Dq?C>HZZWg:eP:7J>?pc;2UF,^Y^-P,$4(%> -"[JtWnRN9r$5PpF!^U^K@<`U(*Z*9V'Ytgm@2odX5Ru_j"Ne@]BkIN-ac'd(rNfn' -UR\-B"-I`TP'Ie*P,SteMZ)S"3H43]Pg>NPa=Q?i#1)iF05s,V#T-qh(g)517Aq6c -Y8=\_'Ef4(JEWVf1+cX#8i&\s-ghe.'HMmF*^T8q!V$>H2IhOG)M(3V_*\Fbg'VL7 -#fHk@\L];,M3Oc/R=L;&^lAc[C^Ru'"lRT8i(OZt7 -JVX?CL(POf&J(`F\Zq=/"-b$G%DZYQK]5!lg,VR]%bX.@)@)uIZoDUsKXr-]F'G;) ->G1#H:dj+:,loLC+J*(,#9uP@?t9NcQ3JIr%%pQ.@5\3r2B#s>'Tl7Jg2EkBE[#E< -StX_!6+8UXS/VG>)YAP"&@NT>@7Xhr!%q/9-*s"CU-lcp6@"M3!U9Xcl5cN!*ML1I -@D3X&#T=k(!9%l/+;b\5ZiWM$#%/tdJ5cU.SV@"Y+?aa0K[[U^6gLmtlCUY7+F%8U,`WC6)5Qi2pf$ggs -3X%G:cjIQf$BT-7JJJ?=',BJ;Vtbso6oUMWrOTiB/:kHZd:Z_<_.fm24646I"X[D\p9!g]1d<(gn7!@5%ca/e.;hpJ5eD)BZp;OYqG>^H>H6 -]N)r1Xfl58:eS80AICDrM8d?(.\gi>,(ip0fMIh63@bV"Be)G6d]>"+A!`C)#q!,p -]%-K3'6\AN@+EpWigW;86 -]sRj>`<`ILu$rppc+B]1g2ukYN@ka67W&E"X(+%!?hSs -NZ;F6*.0R`ga@mLNYc>a&"l/uLU%/8B1bSG#@gWNj%n@gOkLhRg0Lc54g3Rt[nPUh -P'SJQ@m2p57L&+m[p\UYb_h:k#0$Ms:5ubDXR6E&FP,+dfI\Z#Bkj[ho#Ic]R>^B= -4I212*7q0W\gu25Wc?;iPckf^aXl/mX;4QhO&W5o<=95&oiA>5g<`hT3JcOthEE@_ -]!J,aZ?="eorJ>IO'Sk=aJiDSMg!Ol8ASdY#%1W@UJfd9"NG/`d@erce+fm/CpM,p -b=H-C$ -2N!Z79C5ZLP&lE#1^o;Dg=,?^RVO6Xf++hi<7*:6:5nnu[3WG/-s`XcTf -:tt,["A$\<2>M-H36:dff5!&CAr=hs8BS"h#`N6%B`2)?i&N6`_=i4"`dR1gg=,?L -i9;mYCl6$M5...`X_i$t7L0,HVSQqf#`Ro2*nPEqrr>:S=\PDg0pg-rZ]:,oV3iK>/-cOd -5k.[Q)lm!a"cE4O^MAQBmbgIE1Rrmo+-.Npaj:B9[fS.hd(+1`,pgjVA$OP#FZPj! -Vdcpa2Ejj?`(YB:)dXUc'W\KnEMV:_b7, -?re"rTjUt>"lXE2(kr'aAf3o(N$/KoYbWoY__AGT$q#"+3tOcA'L*2J0dJk!68;#F -'Seu)E$U-h33X*S_g"X/P+]oF>ll>"Zih=;p^hA6TJ=T1J>YDp"rV!6,Zp5faXfQ- -"2MD[MdcBe*etnr65^!4A4n[GnMJQIbnDq_2GJ77.0kUV&jdNB!PiV8cD_FE)U(L; -h_r_Y'a$d!'K$+_d'Q4X78^Ed+%B-/ODQu_+inUC#?8)a9?u"^q`dtY'dF4-+fJoh -L,f?l`5#7k87T17)m7r665sh2\o7LiouM)7Nut4_d2"I?62[oF$e7'$2bQop -]feDO>?\WD1dh3d>'EN_[&HI2H$kOO8(O5.NKc#0Ma1hd!#lPd:"Eod_ -"uh9U"<#'m"UVu_"9TJi!q4VJ!MD4UiG:'!d)Hni3+!'N_ted)E"7HG7h8E%-p\uc -Q3%%Q#XH0CM%IfJ`2K(5,&Bo/d7,NQ31gppPZE[(?7eU5\J?C]>Dr#p0Le%@).O(f -N00hj7[VjIj)f$r&[j[=puNN+Uj%i=juZ)3nK-`_I?5'35tC_U+ClaQOO>IBaLMm- -,ZKbd&jAlXkp[lf6q7>7@SK7HL^4;0-uJBle3FmA.:j--7EE7[KQ+4(6F_(>6,ZWO -@6uf$:sinXiFNOrONc9D]9aam"-)i*",7Aa!htoQ!J)jK5gYU#i[@0Fd0_#sn:D2o -Hp)4dra8?O$5Xl#,ZoS;p?kS%K8dteL -2$cIK+bjr.)8qm\&q^;l$j!j>#2nbHUS\>==.3+/MFef2Uh^=Q-n<.H*Y8sk/-O=% -'%LAS9QH_Jd^e%(BiQd^Le5em2+!`Fo;6WZesKCI?VbBq5GsbIUVJ`:S^c"GA"_qD -e9(KMl1I>9/nUPP,nbi,;?hWdVK`0_9FjGQ4:&b;,)#HW'8"29087W]"k)lV!n^_Z -JT/2Sdc_LJ3*6MfjjR#0IBi$2Ag:u<3h&r -ce/,q@)7(@Z/G#0KU^Y76Eq%0TiUti-+rKt8h6i26CH`BV10tcs1d(/;((H"fW[,T -Ce<_P<'Y2j'B!1#@;neh_'HAl8EBiHPb8NZG!952g,"WQHjd/$/sU[/S=o?h.@)e# -'V]lm"H++pXD*X`[PGl?ecJrt21AfAEDC5k#:D!?R'J5J61-2@"FHP@_UrhM"fsKr -HL_cQa@s*P$GTdVO;.$*F"Tb.-X9KOD8L6Wbm6!?P0DQMm79@Q5r^3Eg?)WB!H&fp@JQ+iZf1,&1](cp(88d#^1<]p6//1EQ8dSoG+bX6T -%mg7h#luG(Kg;YFZbU&((O'GE9`u$23%gEQ[0'E@ULA_RSHm\i+mqGUfn%j+#"4Oe -fY+Hg.YU[T)#JQbK]q)H;e/Z\kmb*".CQ7q=X9pc(,i;>\AB(Ti>G]P&YQIoX)M;% -osV<^SG#FQ^0V.JBI7!"NN/6IW7CTr^tP"O$$e9*D4?2"KSq:OG*lCA]W`Wl,QG?_ -GU_^,W"T5?9+O<"/tNi.KES#/'Jcj/fAS3Ug6_R?\_&7ki5GoSm'"V7\598pF&BM# -YKo3_,QsZfP6,%nfBecdZCPANf6j..1F:0N4;u8oP"Z2Z*:sAWVl9b77B!9F9"X%d -_,l('_^iH3nJ;tQk_dFpmpJ]55m:&$Id?)e4J-Ikj<*!XQXtc(JdU&;[b75iR6:`2 -$@\d#HCn>aoLGSB)5&)S%r'Mg^"#N>9a&BQ[L6m_/[RdM'EZ'^$UKk9#(Z%`K!!EN,G(;8i^dJ>k89KG:Fb[s?#0:9S87Mgr -"biU>J@J+%:_A=V,6<$5JiFd&3%%!?.fu(f]!N3b9@*aH6n\BSJtO^tGV0)k,6OT. -J`'"O3#DfY@Y"5_LDU7$)\91JFF[b@L0+q?=B>NB%k6=iYQ9N`GQ9FB#<2mB0Ok+h@g+P)KePlG=@33f,D8TWJf$t1L`chV -=93AC#*97JOEuF"HGVDt`)@489L]GXEI_/2L%#QUn4\CH9S:+tK=EH5BIeYL'S3do -WloQH!imUTGst)EP>N(6?l9"_(BOjsJM8f*YX&F($\\Rd!.\=NY\=_@F/XV3#B0_L -EE\-JDZE%@#&"2F?sWh`?%gQ57)0?9\1Dj+*B)Zpru*-*W> -dhnTT7oXFt>]3,SG+(_#PG(bm#u(HEHSO7ra+7)&0iT!O*eAh^K4#;o:eZD\9Em0U -"t49f88G/SFH+q$SiQ6](jq[sG(:EQL6r,KOB2FL?(_I*WdH4!N7CJkSHOh&qc9D!5MHdW!*C,7[]]N -QdBmU(j6*+#6lH8KKpo9==22/GK]o4Z15Js)h&>koGeaW&ngR)Zpn? -ZJ_2I[QE5mWk,=4g8ho^q94E1ZVmhRZ67A:#8j2R^#0[7]Z6Nc[lT_%&8]cXg;4D# -c*l';9PYpd9\rKAlDK -8'?`,+eh91>jSnNHN&:55/H2nM&--BQ4 ->7[#,?^=rSV:fB#bl8aT$QeioQ9jZ+aEE:t!er[2J5B)FkQcb(0*&40!Vd.UqK[W1 -:TE/n*3,_6YU'=6quJK3"Q0`BfO"W7?O!/,L7i[V&`XW^$;amb8>pA*+Dh;/",5)r -!)QCBQj3_d-30D[JKP>O.S50;%Y4$Z+t+#7!"lg^SUi2QJM7[6jX:-"9N$!eUoc?s -[5-2W1Xd@$dks!]75`P:2Ud@<;jB;jSN,)p44CT"e#bd^`BI5N51Ba#e.k1n)GR$M -,UC6%V#408'h6K;W$b+Sa]Ka92W*01W=pgOFB -!#>Y*9*"0JL0t4?>)Yp,%aU!#0bg,[oU)U?n.a4e#na>G4kd2!gOZ3U?-V/1e]5^a -K*`::>f-_#+[2B,Y;Xi]!XhC%W/-7;^FP5#ZLYW1kVb8"2$c1OK*0IXX-H@o2@3SH -20mS&$YcZ?1Q,Hc",6A&R(QXdq)oq5[YlR?-1+qOHWo+4)k*faWmW`9-8`n?1fuWA -_hj2ue%K5'\AO7,P3"c(:bH0N[a5dfdSI$&`Aln4?>)+s3&6+/14p,l!t[):cn9pk -.cE?76's2)i%bBG1';D2LoA'JV85#e`fKu8Wj)j[4-`tW/$q[$3Z54S$HCOHDK-Y;a=qa%6`/N7hD*dCHrg3"pJ)>^JVtN]J+8?t^tK)_/.o1HHI%2BomT -,:#FF(cV,r&.6h;oqsit]$+k`[2lb<9.R[*_Ruh45AQb!e"/Sj^o_+!0+F6L;YE27 -5)E)M;W&-K*=t75l[gOG1[CGeX&U^!YL:=l;S\MXJ@mbo/iqd.`R53lj26-/8,C_cogU[LBc%O,4?l+BE(2%S$B63kLO;%_O -)Z`q(JRBIKkSXEZ+G%TV!Zlo&<\UkO@0l!NX38h$)R;KcR9Q_W+=9&*Ra@l,+0*;` -JTqqgckR*G'*22U!>lgYYRgl73<7\kKP1aHBN9SM!Z3+m>L"ef@P,<'Y18jui$SR3 --Nd0bK2=o9LdM=_'8793!6ARR&-`@Se;l#"!(_29:^`"S-(Kd[[i --rtmifJI> -J1,M>3,m!U*<`&TK4lh;5V,qdRHMot?kD6V:R6!FRZ -!s_)7!%u.r,uJNQR@q*$E?'gjoL@1o$ICe?S_;hSTE#4qDh&[CL.DB#:fi0D=+h+l -KEs&Y!%MKTV9TslWFZ\D(`@o:/qIC_"2GP%YY'H08d39B"iOpUl/qLRjrP]2LVThn -W+,f]@t_>qKX`ggJ2;dZ$%cP'J>aCep^C2l6(tt@daHLje#%Zb%tOM(+h]R/,s_>Z -62NUJqa\'k5IUGj[sMbsqj4hiVmq)_\bj.Qqo?DIf=q..^S>@-<&I)N0'@EX8+Rl^ -!]Utt-pN7W56\T#LEHYR-Lf#5o)-H&mjNG]&:#tc)@'GS#5hfXY[W?+"bpu8J1tr/ -dHZLsWJ?6CaOk3,kYhTA&-LMmEN_#JJ&Bn/d%TY8Ttdf3p_/Kb2hFR:!_>-K-o;&l -%YQf?!3fAE\7+i?HC(=Nrl4G^TEL"A6NuCG!2rb[GWj'N.[63MHr%\1A5rS+%G["g -n7nhE-N\d9p&4X_?2Gc=/`;hsJ.@>ZOkAl>3#djs_bm)RAho-0+n6DF:+[*;7:S&s -e93hoNQ>VX.(hZO0c1;[,2mLJ==b2EKd)XEY$s.($t,j)&Hm\UTG)!-.O>@h8Ycr4 -6crpnBeGasV8Bg6TO/*F^kWZ':tDm3(eX'+d;1kM"!Cc]6rI#-RS5%>D)L:NWpNY" -bA,XtR'(*NP`+I0OrbBh8#-bhGd9=HNVh0H="s!NOAg6-bmE3Z2]D#t^T5#=Is('t$`6%:,_fn9/I7ua!W7Cs#O2!`+,@'%HC#b*E'ApWi.;c# -iRhNXL>e",S37Ib[i<"6)pKD9&[Fa+\)Fsd+eVHWK(gEsWkbnqccC8W8co3l1.m0e -X>S0'9W]cQK++Y-%?eNi0oaX5UbE-s9,u!Fb`H)P"S7<)b:\]DJAm@Sbk*\eK;AH$ -NPe$,1Q4.=`\@m$(sFiH6VSCScso&Y8^B`EOJ"&FK8d#^!K>g#Ko'2@`sAF$9K6#S -AQ:o&e1D%W9>^pC=k44I^+WOhkdi@tJr$-L2mj2j'*P!g:(o;>J6WnH@JGR-MB]RW -09$'Q`&A0Y.-NdP_oV*sNh_]G3=Wj8gc:;1R.)nm"5r*$%O46u0T1PhUaQRB:l'[X -$A/8U.a#PQr.p:]hBiU3\?7RFK2*C9@M?('(B,3)$9HiJ;?CWI`u]Tt.`b%\O)R*`a>m.!T<" -=P;%qW90d7@MGZ4@]Yj)R\btK.F3NmQ**FTH6BaLOC,"CMm--JZZ[0X&VOR+2Ar4V -OETL+gFSnel6-rH'(D*:U3A"akn!YVnrfK -+nRmK_AFVJ:G\thJKROqDR4t'l>d?,Hm4Au,F_>^rSWX2Bd+4*+#%T0]4:EFB'&., -PD7lPF/Ul%+a5+Uf%^QQX*XP"iPKfWphfIeiLus?=i(ddA(jj)/ -p_3san44UUi=LAI_#^M;`hX1Kn:1ig1+W\Re[#@U6k@-JUNbZ3hA^SiRb,r@G0b9h -'#J/d?$IT,%-:ueZ="#ti?p0&jJ\sV?3u1%4TqGI-3>le(r62^&HHK4$IC1O7S"(. -0a8f>+c6Cl.%LEkF?4u'l4ZG89aBTu++k+g$pb^R"A-F,,a*?(93Xn@a#1iLZ4%:q -W'UmTr&oX^p*P=rRMVVr?B,""3"X11O"p#2+`o+sj5bMR6^Rrc@?(I[32cpgTN?], -?8KB9cQ0e4G=UmKKk/,O6=]?^&$`hM#5H+/S%iXK$ -":g"T!(YP*P>Z!u9A+SDjkR\=_u+TV1!h\+8BM[?3*$JAd"fh5(W4s -+9;1d&>487#bX4&CG9f;J=nIs0O,/dEPH/:$Du>]>^B:>aZ`*!mt6^H&&G2.#[kFj -cEO/j^t=Yb+>@>!EV,%,jReg[#!@r#"?a^Q"rsC?"V"mJ"U0F*"9J5#"Icl:D[#%2 -J_ZINE_:Ki-KALh$)=O(l@Fj06Ks5o_eNdtba>CS -^f?iH="89%St:b)$,bh_@o[86MtC@E.o5^M0MS$7g5S# -5hV9A"9lm1!/$ec!&<7l!!r3=5QH4(_=qt&7UmN-j8b7'mJobem/VdGE<(!s21Sf[ -)k\HoNh?_?ZZu59aD-(G$1X^r7)I>4+%6_^1O#$d`f -E\fobT[Y"cTOJO#^b,u1^_@"C3X18qaT8.["V0>!40,K-Y;s[INfXN-7jnN\U::Aa -i9CFIW&k'Rn.btCahk]_B/5h])$4Dr($"pZDP6g]rFM4q5<;7g7j6+,+[j)8l5V -&`MMKZbc1$0J%Qh+Np -c+0`2k?R2AED>36pO;E2!/(n$ZGEI--V;H$0;J[mJ.'3_AH]i27014;.R9Z+(4\qZ -$ih>%``NZf?&,]Y0$#i!=Nqa,-tnT:&iE.fDsfd*I?!.p2lh2hcoJ';%oMFp7h>kE -,8R_FE%3;i8/r3U$oEXQ=;&2`O[fi)fPV6Y#IcrE=DUYQK&D(mJP]AVTU[nG&4@WD -TH"SRQjX70@KaZ*YP(/q23&\r?TfhhG]!AIupXM#X"/t(/%2p(ju?fI4M -Yf[FNp.5ELjnsV1o"Mlhq].Uld:*ga:TdAST5X*rZ;$8$#q]p=7&lE'P'e0NTQ`#M -\ND^>HqpZF1B=Yn('E2>6F]T2+sdY*1GASMigb#noQJ6sH_u*HK((E[;C,h3?in3' -_?t!iL3)Mj/rU9miheA\0`*%J7o5_s:nU=2cMXCj4bSD7E3LJ3Z3NdR -[_qbGi,f>L?jbim"CV3D+=n6.MufW0)h8D;J`HesjO&W-SrEfT!TG*ap_CRk'qjgp -5j/HG?jCFoSAH2Cd$XTiUC#jjAad2nd3'T0+pPoq.E%N.,:pPVJk?$5@K<>77.^lW -6rr6Y=$X>)Km=BNc=)7D'ZGG,,1^E]N\;_l(8>7tLM/XLQ8HCA$G`_MV-H^a9,-J^ -'[];V`GAU@\-in99d$>MODb(PIO0\--RCr&jsDns4:K1U:uK;,AP?(BGng=g*0JJc -AU+smobi:`(W/XTAV=0?CbO^Y"b:+i?tp!Ub3C,E#b^r)5_p"<1'iFd'YoG;_+4h4 -8/+=8'L=th+[?^VIM9OU#iRZT+J'5i":9V^%%rOfTTBF%O?,XK2F='iilGLO*'\(f -/YJ76@Yl'McP)&!@V.)@0UDX!'+0nE]V\LJ7hRui>bRn."E6nKa"A]jU;5o;1WLV0 -d\&WhS9q!oBu:!O"#b9U+N:'[-$"l&?s,!).)o^oC!0s/,Eb*bTNK)1An%Ji`8GN# -2GM67^*42eU(UBL1281A"D6`3^f#ku_BR1>&"[JZ\@(Zq6 -6k(:$"/+ceTJ-nM!!9t:&-+4CTI:?OquYgQ%mW)b+RB4Rl4$!R%4tHbi/._mpG[[4 -8]MJiJp00>j<<_f8V6=N@k&g%+pG9c!0BZ"BM`IEE!65Z#TueH!1j=$SdaO@%,h0g -5lMB]/eU!07$L.Qi%PbYl2s<:$Xc"'@"JLccibJ1"lMk(k6NkR?t.$8+X8-e`19.[ -bb6/"$-OG"5Y__1p]M`7'd+t@/#XB0R*^ZcQkZD>_8>\-GQInj'#6=:_*.r%54F,\ -mkEtQ/Bf)a$ljhg!J-aVi$&rqKE;1+)8I:2_6O*XZ5fMO*229jU#7##!ZuO0dBs?Y -m1LDS"rtI:!C;SWTHFr""9SZ+$iiI!i-GOAGW:X+"mgW+P'L"^G+m%,&3tG#5_9Ce -9FLq]!s(=J+fq8p"s;A,+5ss%iI1gdHkYEj'>XSLi;*hs:(*=]-ac@C@W>A_M?UeO -$,BXLJ@#J&Z4,Yd%)D'0L"$6umLK:k%cHm\i:%4A:gP8@%)BFX!4iO<j#A.P7T7T1Rf -]+Um^@:Xb[92#U6TES_o=?sI%i9h4C1_MHV'l!LZ_-d=Q?Y(Bg'i)%K+>+>d/d!7J -ZN0t5+AN=&KE^:aW=]SI!3-2fVYC/0%)>OFT[Et9cjbLr%.VBOHN"d14'q4>oRb -HpW446QBfMAHjJs2;hAd7eA9FG\lj:VrCJM@Ui?<-A@C.Au.n9(G'mA/1i,N3^T?9 -;]`k6&d:WbF5mlbB0prme?3i2H%00!/bCC2@@KJi'(i%dmCA&X`e?07+ -%i>?e?k=8cTE/Jo(a'k:04Yb>0GFOs])e9"JX@GX$6906!(#trJb$?G(PHo?KU$;> -CQKUQ!$8u7!$U8>i!::\8-4?3%3S1N&%Ed@iWiuM#_6Ro@%7EdQj]Ql$\7jPJFX?2 -2A4C3'rh$EiFE!U@MW>s(0I.CJ0l"KYS@0?!l4pG+=mm#?io7q"Fr0/TKWGX5h^(T -kAAQJk?J.EWc13k"+WE7Y(5?\o]I(dkBQjd\G_LL!K_R+OLYOVfa3c9'p1KoOVo1% -Gor0Z+d.*sP.;g#q'hLF/X&1TPBf2&cag%iB_'9EYJ7mQYs%n5U7+RIK@94)1WJ?CA]"ocHBt`*T?8`60c\!rG@Dkp3]"^$!+NlG",MWo:TL69/AfVC'FIuh -N;Z+!CHDq\-rt'0/0sbg"_C*8[6[c3)7"5u@^SV),.&e_:-UftZ_m@;U[13l6m/.q -#!e[fTMQ)U4:sJV'd8kDJX.=,"s&s9\H1[i;"Cf@YQ5oM'OWI++Pi_'$E*r9&[;oq ->:Hbsf47acn*&D/bKCYAU^f`*&8g^";dc+@ggp,?QA83IPElMm?U<##B.`:1F30@r.ibd-U -I5/N:1=+Y$SPRc6$.DgX1M1D\ia?OW:*qc8(@c8h"(BbD#H&TAem/ZcHLoN/0A/Dk -@[dW,S[$bZQmP.sCF%^B*/g&rPN#iJYfbO=/5 -eYbT&g>ZB`iaLETn(X'EbrX\.ic?N]X9JkW#%1K/J5QTeGQcrL#iJ5Z^n_)UU'j4M -$U0F2hMM[`4pq@Z"/fAHf04" -!0@>VO:/ij$c+@qTdgqQ'H*./eR&c!MO_*@F'Vk -1:\5+*C6t2iNO0W()ZkS)G*+3iRe.hfH*9b*^T2o9a!hu'nj=noOK9gJ-[-GJ,s)/ -'7_>A@.j[foF%<[$Xe>c;$H'u_/[-@c/q%l+CGE>9F+UV$+^TURsYo9ZiL369(cs1 -6-^AK'H,kK!Wd4M5p-U:8.<:_"o9gq^Nq-!E!Uu!#XGA&5fWRAoE6U'J?8WmU$_U,Mt(krUO3#IB"k].pT!][@s$^!]L'aV'P -G8DafZo/a)TkIQ4L>iV^-:_NmH7?o)0Wl]mDMWBM"^t5*'EnMBOW"D("@aXE&tlW_ -8"t6a+c'Rf?EsanG[2PJ;[?S:L%(I<0SPZPQ4o!eOG,\%;kU0Q77)g"4UAnYM^$@G -FHdJ95tmO^"cc-"-W+kK\N:/*=I^VaDFf%4##m.A,R)#'>7SnV'UqB^iV7dB$*i-_ -.LMDbXt'jrPZ/gO8W[Hs"Q;J`0SRll2-u"kSV!7hFs:F)67Xh.)b0?+\fKJHrKOWJ -G!2l3#=3lZ-\Z#Ca:aGAfK_Q_+Mfa9JgI[t"WA`/&o='+&]t1q[o&r.!TiiN$5Fhb -1.i*#q#3/SUJV:-&7p)7='_]Fg]AM:W!%F\LYL@;4da.=NFM\>1QGu?p-Xl$Gldp= -+/dHcI3-0)luR\i3Dp0K"'A)O>0C*nYm/%cDB&ntY^.II_@W"O#suF4.h$to`]#Rr -Ldj=`@1_Md%YKj23%tGRfFa*0TKjt3T]gV5"!K'T%"mKr1(JpZa>LKq5h>23DL9Ch -]RrJhi!kT>pI!;L -I/cjeFPSln*nDP`"geeh9 -_H>0N+Mp+#&`QbZM1jS+X[n+=:+9HR#=P[MZH3a=9MLFBC+#2^^C_Wj>E"O#0ZJ-B -cAKK]MXaRo/L[qA,Euc"CAeX>FNTSA(b1T('dY;o16Opq8-MR)'rfP`TG'@,6H9OH -7;/W>:)nFEBq@^`Ba#h_/=B'`SMj#]3gn@"2)o07R]6Yf-KS&QOAZZ/aE22GOO5pa -lKoM4oZ!%>*1`FHV(p-g&L&O<8=*4h<_Bo+P%ArNQSI:%8.n1 -#aI<7KXt]c'TFaPH`2N/_[h'A/!d1D@,A< -L7-29hirD%%Y'eKT;A,a4Hio+ANSdI[q(ktQe>O$4dZBg$pK_RDG&^P3]6G[l -hDC]ZP73COaD*fm"V1q%3c;O\?PVDP>C5j'(r:H3pa^;WP-5KjRE:td'(T?;6',=T -!GFb"i<1VqW2UW,3+@m*%QC=/pggTcHOc\Q3em,-)kug*Mm3Hi6kDuni@#BA7<*MP --/6aRQTg!p;1OqEI>$l,Xb-c,N@k5r=8+dE?`YfOQ,X-Lf@;1kR1"sh.S[e3[n5W8 -=cb8thZUJ6dXm!Q$%ZJ="G"92!YBr+J>e#9+=LV.O9.UK8G\t!acl&^hShA)q#CNX -C&h\@.0+Ug%U`[)L[Zi:`K1NE6]_?Z9-hUs'.4gY#^;:O#WRR;"ra7i!Y-6^45d9p -h2I88mB,=M@%7iOgX=-&&TRtBaHH\"83)7Jj;*:p=9mck*pD9iEHkL%UaK:*9?5ILkA'Z2u0H*e=lJ%"Oj&F"j$m6%n'C+OpkI?O;\`Uj9U[(68P:Mj<$ViIG`3!Q&4/CC('j*Y4U\[^/t -r8i55WEQP6,[`D4hlmpreS>L-jPtle%YcV=CVSe-5$g&3C.13XF$LqaX=QL$;Xedi8XsfR- -KAd7>fF/TU"NV")\6a]1?79JsL56"fLi%Z-D2&#q"p3)(+@Lb<6lOu6!D0PIJ/s7* -'EZoYJCmEt8-Xf?Gm>bg#CB\\bDeH&82l@s2l'&)S4bf@$,h+Q%seSjfQI63Fp27[ -"^![6(cF?@kHnDK,=nm_l",b[*$N0>,06%#Ya,`s)hHYc6M+Ii30g0u'S-l3T$b.k -r*pfTa<'DO7U0LoC$rugAk%Gd7Z;(OS81TYCdtLB`k6.Xlu#;jD9!''7hfo4*-4V$ -F@RU!7m(q7"Cn&(%%eF.P#BlF<-prZH_P0mJVY4r-l2q%OogFn$f$;br.2MKHD&&o[Nn@2M2jNgPG"jrJ08rfQjEqYE.cLb%:"Aqi6Y!2iMLYhTm./* -fFfiQ:-k:)$&T^r_.\`=SUn#OU%?$toAi6nI*)k^8d$LcLuJcY.O)/KUOX7Sr1Q^c -To)0s./G[@M=o#[+eqjPUL[I6dPmo9Zc[s++(@hRo1+@O?)DYF&irgaqE60Gr"BH. -a/IsW.P%_QV"RUrZ"GXF"!)R>r3*qru<.qaj"K4B_#W`@'.D*GE8bDjOUo[@nqp2R/8&AGo -!Z@,p@$.5ROh,N5j:24ego>$3/^)6:oC/#(0S -!ErM)J/&*()?EYPJhRl?-o_4r2h]fj"P@+4?sn_n",=%&J/EF;abY_NFatl_LBn$< -#[Aau6ib"j!l,=u\0:r&/ceK`JYXPalU;1:/!b0QJb/\7p`RpuW -Zn=T`/lE]RCFKj[bV"`"VKroQU1@67?*qZf96hF/1ITH_<=.IhYb]*.@U^SA6<-`Z -,N1A\+WAl%8!F)J95RV079.mG>U8hbLcYGV1d?_jVG^58(ER*d$%4* -"_Uh0?ICuUH"8!3k-l&N1,hCCWeq2COX^P:Z -<`Y)ZbWH&c>^_10LB6l\Ja&VU85"KS9*Q4<"s!+:^iY)TFLBebaImd.&9rt$!J`pP -!(^[SfEh]-2#u8cJiF>D0HPcn*W_?9dP3%$AWnD,Gte0P!HRAI5b^\8rmk:JV9NDu -]j<2]DbT.Ye!T5g8omZtG9*PA$L&be8?tG)* -n:qPW#7tm*0QGh6YM/Z$L1gaFBOLm[@"f^0Kci[3cp7a6&-DVf!8omA=9o(4E<%D, -7+%0c3-P?6G6\*LLB)#g5\UGt!f$ZgLN@UZ[Dt\#aBRV^TWCV<\,_;oC&gM6"ZQel -3'DfU4G*&8!pCt^80ri>(P0e09s$f9$#BX\If^`@JP[a'0N.tU;T!`rgllsf=98_- -X9Q(`"r!O1bYj'qf`Ccs?/!+>b286OqaH"kX(af^B#pEr[V0 -=?(E[+EW,fFLj9(!+9Go#R?(i>WQP%!2s%SGROap_k"[EK( -#Rc>O;Ll8T"K2b4TL+1m6A)B6$d^Pd3$eU@)%*n08``(,b.NV -_r0qt@0RJ&A&jJmaLmo(`H@8nfIR&".g)KFKQ%D(?qu6f:'G;;KkOeCJ6iETHs^i# -"rIT"&UT6'SqY6i(I1XocqB"a'*F=D!LP3c!#pLa*_"2BJ\\P-eeVaZ%k\_.$/#a2 -]K[!J/3uNUK3gT(Zi-&L;dN;,P(#NXMsUTF3BqTO")IshfbOW>qkQRc.Sq&2&Kp,, -28AoE5u9+p+=!%#]ek"%Q.kE:@51#d'<4kI'V$/Ze-eOM5JMg''rqPe3DSZJ+bE6< -AXGF;J/EOek)1)#9#S`/ -BZs0fTQpMCGm?k?LIc1\-u/t<#_^PY!:VY=X_E?766\`o`FuM/>Zde^'FAI.a4RJQ -[[nWJQ,um-a^N%*@De\DGK5)SC0YlGA9R6eVeV6hlCOqhVQ"=5XD5JOC::9[cE?Hh -YA4WPCEB\F.H9Va\4;\Q5[G5lDK703gl2"KN=[67:_nXX]5,Eulcoe=Qr*jn:kj%R -#7(D:$&8b&Kj8lq8AOtf3-KfpG2bbo"F(B/EXr7'pg/t;UR\ZeI<_daf[-X_l*.?' -%b!%:ED!9catC0ihU^XlegRmRN\IS.^`5sQ'BL"[D1:>6]_lXGhGEWYTa-V)1ksC!GF%eL_>>j6\+Yn"OIR1aAmbh -<<_LPL*-_U*uP77=oaXeKg6!!6d::?4upD7!AH9\YS@58P0]:hD?."`BX2YtZLWJo -EfV\f-K%L;^+bfNbn:o<1IS`F+q$#l&V;Qo$F)h,>>0tn;muVT<71(BQ?)i[B#:Ar -gmmG9Ya)5Nb='6e?>7pp1Qs=`P9E[9WL`Z@X7SXrFB:qR:GMsP]bR]qTq+o/YSD_f -*s#IbJs[4'O?rs*6%u6C"fQ?i0Q2_HhhRj*#GZ+RBR0XqH3\ZrLNmD2?tKQJ$&&XI -!8oqjn.>`c-36@XJ^>3@`DAujk`-(b9@F1^h,c<0QuI5XE.;U6K&csVh[9'rNZ'Z_ -D.Keunrs:%'^p%phfEun(0:]SDmsEeYmg*I!3m6^pEt925C.9Lrm8-!1k0dlkBhFN -btQH791O:&#C?+slgP<.`D8(0fe@I0FEg$&pK'TRf8FR6Ie\tVGW,/3Y@G;!)fCE6 -GV>&%08Xr2NGh7)M/6H*J/JK?t0^aAusWmF)>`LR8)IS]7'7pkR\K#JZi8 -Qu2mXD2">^Koe^O:c!Xs1BNpVJrh&T:`_+DXEcfkDRT4UJR=9ukP"htDOFf+24a5; -l>R8mG^k#5pTo-<#YRE#'/1Dg[n[!\2LuDt?GqR$jGsJ76O$(m::J&o=2Nsa>(lqa -K_Rt9i'`3r&-JRZJKQWJDd``E&;*5GJ=odF!!D.eA"G=pLrI+CA6b/3?Jqt.nIWf+D6;Kt1 -L4&BD3!+jpGlS\,F\mAVJ,Y6(%Hd'[4.P5A1OK\iD$!p9J6QH`$u30NX[\[8V\s2* -J[*R4F;E;CL=5p=.EBo42D*^QENkL75"lt6tLMPAOe#\H@D%Ilf*aQ.?a[b@hX?A8i_L?`mW -h(HYVJha#s-c7*h`*b7hEeaeG@5,Ub21'a`'$%q]o-&NOhf3SqJbpnr9[EUi2%@nL -k5pSR30aWYcNn"WLZB9gG]#@E*Lo0qu@hj/^JKD(L>:)h:D,e!$1eC?k^J0AGJlt;u5eVX_VD\*9&K3l5ESXfPI6k+f.#dds/*.3agoK<##PH -3'\#Wi6X@kK-8MuQf^;_AX_bL^1IfV!6?sekIK`'T]_`OF/!@$`fHkY)IA]+krO9] -W+jtGWN#1:QEdIU3ki#)l^Ig^Yj:$Z_6N@]0%$tA><^ZGm@/R\\F$o"iOWo2Y49-m ->IO@?n%7HT_!iYc6UESOn5TkF:j5S/S]+Ak:"cH[0LoA&e"]Y#*d -6&tTehE!Ot@o5o-'W1p@E#nusi-PGoZ1n;@Q[Qhkh3U_2G^sF`Q3J3q(bANd_skk` -%"_S`,kLrsW4TZj]>Nt>3(RSd1@&b?6jJ[;`Z;2RVlI%2PR?g)qL="Nq#*FIqt8;B -qP?E]/lO):s0))b0h9sr+-Z2EO;st/BGC=c]EWr,!X6>`,'/[9E_sn6!3$4:!FXso -0Fqn04d\Y2i>a"oOIbc'U=>q[q29b1)%WCM;$g[,1PX8F'UX\WEg/;#J`[.V6WesM -iY4h;OWG[ZW.,H*U!AH'V -Yc\mq-tj0"HpK="1b$5EVN*u.%>aNU#K-UT"JM&,K#!\lf^#>TDrq6gA"9jBN[1S#>aGJ4] -GY_/(4\M!WSgBo35:L2FZ<9gL&gYA^Es>]t\RR1%Z/V)Vl<'e!=pgZCX-f)W@n^%5 -2C@54S!./U,[b-j!JilBJF"M4Y`'D"3+!t\n.18_G(Ro>bq:?fGTVc -j]bL421'(g*<\'$&;"jP$)+j@L=ku?`IJU:iku.]$P?jL8SXt:!!)d8!!mfZJ-\1>jT?'EF@!S?P9F3Li.TU/Nm\02Va77F"lSko!mlT; -_(]:2TNk5$J.OUk"hqB3O91FsO95\HX9)k46ik+7Glnf<#FAp#0WVa+XT2Z;J;?4C -&1f46EkG^'k'U0SrDo7C&Y@J2h-lXmL54n2[mTK^&%dW]#H.YEUUU>biFiA5R!AgC -i#dRoH4Ep42CJ8(m,OUUNpb;CHdGa%j:^CH9<=Q%R-PgSS<8ulX?$Qe7)m1j+CpG) -DaD@7)Zr?AG:_r;ZU"5t"<*F8X6<4a@&tc0YZ_Z+&2+:hj;=2K1f(rmB7e/ULo"d5 -P-R9"c\FqQ-kuZ(cOosVW&Y!6TY7);7Z@g[4WajCWMIBhPrW720V_#mKnF,R%[qc- -C(SRec^7HZV9g-ZK]%.XAr@&5^K;Y0fG1fe5R66G3@?(?Qk9rZ"ph1?V3G9mcN#`O -i;FsT^ot&kctV1e4>@n=R"M7K,"(;da+YP@)"us)%O$3QL#A70_GSN;qYFRBoXQN9 -l6B&[TG[$;g_EWkG2D!2Hg:[g(:W3jho4+7;(5t2V7GQ?n4&ES71`tgM35r9RLL87 -R@hW-eL3q?/V?<=$\A!!$NQhM>k&"L!0FBb6Ypam@E,[09=#ZZS7&H":^'9NK+?gi -3sG+I(QBhc^;?sjJ76?BH6pF53)SU6Nf:H&\,[T1HiX]HNWB>DWrW:'494=/&V-NE -AkWUF9j0HlQsjT8a"`CT4]#;V["dT=]oYQpJdB10,%Z_D_)X.?cl*jbn'3l,\GlTf -r"k(V4s.XdNt()rB8c<:/')tm,NJ]gQ1CMRan_P\k.Ja("$gf8J^?La_"])F^l/m- -5Y;?60IQPMX:ooQ9AKUf.0L]F%^Q[/kC)AsmqtqK!T-c\jrCWS+NW]DDj4Hi=igE2 -5NdG:S+B:#![r._AuE?P`A?c:#4Haq")rg'j9SBd5bor;5f3+[-"dYFVR0+6]G:N= --8-6Us)k[Z[XABqRl2X-8[n_go_>aOel5M8)-"2$3 -i%>]$p]NkS$K+ql`Z3&"Cs'gWRLc^jDC3CO]L1^/Iu%?=A!k>l.OWI="]0%@&%Lt_ -0Ij##am`VG6^33WAq4iA#4Q^aBe4j,)$nAF#tYsc@a]ktKa;Wl$*]O!i++jbjF=,> -Me*IZ&;YnAFp;Y-b>-84_WXh;?@YO5#u2'?&E=&ck"hoK#69'tE:=*OoaaU#;3.UN -&HE$nHIX-o"sAR*J6WCVkR,Yo%06))!:l-.":nm,%m]7[@,_Uq9FTj\"[K!lJ6iLK -%"`HG%-#Ws.38\u<=I72P6hs5,pa8PbncFS(=>lTE/H,4[Zd\*f4;abi)Z6kZP\@! -R43UCAF;QoFSeG9(MIQIUuXpXAk9oOQ/Gd^nVnC-?Pt;+:FVh2@]%M*6q!0=7?Onn -;7.E!f,YIX*DtSqA;j1^C'C8D#[ga?,t841!Y$h='>^OH6)OblH5qGD*.`tJTo'Q" --kr?^"/,u/?qLhmKE]/A.\u])dEN\oh]"g`*^mN5;8Wbs7h/9,/L(r79VWmFgE_mF -,dLc'dUOT/Ah.ISc(KXpn*g^X:()Us"(<;hTH"f"n,OX%+DXpsi!(4\U&dQQ(18=% -9,nR0humHEr3C#`9_^^ME'^](#@N@k@($4=Z49,f%NuGeTb+3^'.n7U%\Q3"J@r63 -N!5l3]>/a!U2j2JW2ZHr2M#NC6"h1"!ZWRt!D9:3dYJtGoDepa+!:V,/mKCs$68A( -)o83sTnWTaKGM?I(8Z0lOpW1F5Tb$,GH(*hJb/pu*AS:!T+ao_%TtRgTGIc].R;QA -Cr7b:FunbDbH/Dc+ArR*(^#=)WZcg2TF;gE'HZ06*pU%9dn)8m&Kh+M'u2.2TbIT[ -'!MAj07]qCZ[!l?EWuM]$G]OHM]rX("r;_5(2MD=&0C(T,;dlB+3Sd]Jb9(QKE;1+ -&`>b`^pjPu[L'`S$%R[5!.^0:@6@L.6&3r<&4A*'W\(HlaKus<1c%K-Rgc%8K#dY6 -OSj_`,#D#g4-R_ilL)A8pF#][Pg&%eRJ"i62O-`o3$K -#CqI5+G'mkf%WHb8hFT$T[?G@UjTI3"iTa2jQ&U[<(+i7Q#5GG%4VXjg5V5G6 -UrYk*k<,O.9YcVEc/qNHaPTB6$WP[__nOa@ka!gP,=Fp[m4R;3MF1+.%3u8j@-(Bg -K+uN;MtTbe,Y'LTE2%n6)_VnS/EFd)&"hDB8RR8YZB0Z*.cfD@G>"; -j"UT"!";U&+q+H;c5Rl1)^0;'_0-KB&egr9!PnU@?m5tdDuu\QlfJE<;FM"IrsNeB -$A`*pL^r6XL?oFA"7JJWYBoq]3G=_6B\%lO(5llbO(hXaBpPB*G,&d&V.pdDC=]G$ -(9)(FFCh+/AM7SYJ5c]ia@8Q;`pM\X+APA`6==D/")dRCG-^T*IV6GS"+W<%J374I -6C;\OI''UX[fLG8+`MW-E0h)Sf+W*/Wf"1.%n.U:8Wr"A`s":XJd"%;5[js+r!@mU -#tXt&_$#gM/-A0dN^5r55sbY35S;p4&]K\>T\9O!f_j[5#kI7k!7D"#ckJ_t'Hsga -!ONkT#T[@9!(#d3;s?Je'jLdb=(!r:LpY^\.T,',U -I-g>_,nU>XXadhTIWs$EW4ddO&i"A*"L3#u,4>cRjb&dF$:Z0E(YGPi%tEd0J_3ah -71(W#&VYiO;,G.F=CW'ie-@2E#G>T4@"JR_Imqll"^mr"i33UI;@C:K"X(,b^o@_a -=:+bK#G>Q+j.dJ(['_k<9kS\ce*J;^1Mmtj,fY`Xba$c9f-muD?Pr:a8m;-d? -NR[CPd?P[/@,Ru"Xm0U=+CItO4?T"aNK:E+\&;3T_\]-7N]?![)#]Ql'p1KmOkAVg -,j*PUD@%Fd#iN*AC^pq`9ELn[)Sct(ea.LRdK#uf_4d>]Tk4o;1_JZq"CT\IR-u7; -+-DfX:Jnr/fMR0%Ft]V[,na03;H\R]LR4EcQW]>t7QLgJ>R6P=$D>V(l/!&hO9)&9 -0j-nK(+4Cs/ec#S';4bP:[SPBOdN%8$UTOtPZ%OsP,V;@$@p%ti5(ub_k)/9$K+eh -X/*MSi%9U#A#b[tn(\Kfe!#>Vjro6oJ.NZ]'R3Wj`7KqhDLriWj;Hp(!TAG\!G3&h -.MWQn(SDleN__l"YZf4m0i02<@Keccmkg59_I^snTs>Ek-5FrK&/RTa%`]?!%2]N@(Y2/8Ls"@(FLliud^TM8J?K<= -HsgDD6lL0!UemhNM[E")UR4'D;-:d@N8#_h&8Y/&QpLnBi$>Vd,O,P%q?fr%7no[L -+J62=N]H0N$bN"beQ5`Nlai=thI)2P"?6ZpP!Vl8$H1am2,-Z\Q3jZGPYnSOfl)n( -:b^"9PTX"%6^ZHm3o"j/%:e*$!6u#2W'@D##NS*CgU,La2,\:%fjLsHTRu!6Q]UHZ -9.!8+6d/:>X%Ia2%-.Z2!8Q%fimK*o]-JLbM+>5^8!$5"IW0Ug=:S3<&[B:n4P0+U -j,I[Ffo3EsZA')EceU'DRMVAeTGe^iJ-6p^=#E;9*^BoN;^NLd'H>3/)'NH8iA(K9 -0`ZbpRXpNE@FqXCdA;..b;I3V\h"ZCAea?o'4E'e5p-`S3Y7u9"!K/TJR5D9Q$<>: -*+0$l@FtQGfH"?$*FZGX@Cd?7#T;TA!5WaiJ//cjh>tFM$/d-;!-eR#)n"Hh45=5!gqD%hS^Km#l3Mgk9bbq[,L"c[0MT -&YZ+1*!&k<+]&X+ -`=-Mei,Q1X,I1DlM\*qmQ=c^.+g\<4YT9aUH28!aJ1_LCiWMO's$2G5+&DM-[J6?TQbsQ*"";KEj8#=*q7bt/ -`Aa?"_%I*/r@c,OTFE-(/Qc;N2J'=b3B$hS_tlBZj,o2Jsn3/ -K%W7&:8PiWA9_r2M%1]ZTg`Hb'[hAZ+#!*crbXWac=`?Oo]cAP!']84(TY1QmrndQ -cS-$WoDj;8BGF.7p]1;p2UCim?Ahpl$XuAGMf(!jq -?13!,jo540^>SJt9GSEVLW*T>="J%6)FYF'bsG>tKc%!"X4`$C>G)>eX%hnu5RYul -"*QZ>Xut.H%!Ws(84/Migh\\`%0ee/p*Y?Ji,JHr?1@Jo4#Mj(8[-'GNX]L,5n0/_ -&_?m\5BM$Ns*)<:nPC`b>0RBIgBBL%5ul'@5aa`k:Bck`>]MP%9dM.9OL-_>f,KS;$K-i9LKJ4ANP)t#?8l4"j --q9?k>p(a3>e^tH&S/p:3"^hJ+&*p61`?s".u!J"N6LVe##-ArPa^HN(4nB!p& -PRrU:8"s9"4q$DA(Ih9/=NsB46GSjY;PJRm5mi4o2al'r0YL9h2%t-O"X--.3)1WA ->T!_hKj.W5/_!3j"nS*d(BpLDCCig`\;VVfZd>j4NC-^'2%'JqXs/[R,d&;H64fJU -$=]*m/dl.E!&>!An>C5"+m;j':'"?q(=or`F;>$]-!V8lZB1,n$9,3"HrJTMeSbmA -4o]D,!oU,2$(*DtKJ"F59iM:=:gCN]F!DJR/eS7&-c1Gqf8YQ0OElo0dp+g_7hDb8 -g]k:&-^IH4$K<1^iV<6[O+kXt>TP""imSs(^]JmH%ak0IX*P`3I/kY:c2sNuGSXqX -i/)8VJd(,9"IdA]#'`6_p:d&tB:&aGU.8(r!uqL>*ab]gkkG[L@n9-I$R%d>,R&cZ -^_7+:6<70>7GMDn@T9nI2r]d=L -qgUi6p\]N5e,=e-rW,7I#ln?a"+\`F"@0I-"(5(JOJmba-X_L)/Aegu[Y!9b$R&[k.<(ll!]pYn!7_=+[,)'soGRhX)<=)> -M$7?=rW=l%,t+))$A&7B#OnR+Ksh+#=2\,IO^]n2Ge"T!lr]-RD,#_KoG*`97gQpK -*ia0Sn5hu]GE0['(Qa(R_<=l&5tj-;5ggeUn:MFJ=AfQ8*&.Z]#TJDX!tI(33_m3M -)SdV5N$')o7;*>LJj^')!9shWUNR"($kEUe@KaZ#hZ2\ae;hB/!/I6F!!Dbp9/:D3 -b)#n,j5>'1;:[=Ld'aJc]KcW#L(j]V8d]!3."u':$J(kBA$30R9dOffaBmj'_JEhL0$2%&,/PW4/MPAZY`*.`-8d0bg/HUI.*%#I?G0r<-JP$*jUQO;`H\EXSka=.JTbRk'l('at=U&r2dgP^WKB8l&t)5&Zq=0\2q -L-W]YUD.+X;)AI[aDh>k_7YG1c4:Ai*\H%12&IR"Ehha-',b1e[=PL6YPI4e)<3k] -I/,;ui8jt!P\1!dROs'"[1V>E7g=K=)4?:F#6;^JQR&&\n]mKLg1;uoUgeuloaX?2 -6DA)*25W5SGH!$3P3TDaWu[UUTchaId'P-;&aCB+baf%qMMJ)Zm@'rMiK>Or7YVMd -:j4>^=ePtGN4*RLfp%5el?#Hs2/_$9[>Sc%.j0Q_'-fmO]i>.4L_9bS7pH'hJLT^X -$j'2d8teC0L(3>dGHc&D!P"GnfNJV9SU4&?A\Z+N#>lY&KgQ-o&XZK*<@Zh^ -.bN[:dKjY;=?K,CP.usf=BX5Li#7J2g0SVcZc$,gg$gN:oDtPli67ObR5d-b/mNu/' -D2tNm5qFc,3SAR%>!l9*$<>4nWOm/'0qd;=K3O?K>L8*,U(h&:iJ4&3o0k/ijF>o- -\KV5Dd`LO$<8mi[G?Pk$*M[i]NT$H1L3Td$@]dD$E6&>Q*Mj*O*#=3:e.+fY.g^d2 -&VdrU,/i[[';C]rMG[U[KlF'n!j#)rTf+*F@#>G%3'%3c,S\(V('\]>eUf6H`H9o; -Us@hC]<-QXQ,"u2T.CKRn2ppUkSs[iD:67FNVS&OkD9/9o7!mjqYtd,rZAKBIfJU/ -J#E&?hrjk9^[_=ge,I,bs1f)A'A3,U&7"!s=sDA-\?,3^Acf^nB/04o/4$]H!K9/(qF++2%)'XSQ,@T/S8iO?Y\#aVW!^eXD -K)#P[W4&JJ-^M.]07aLXg@Nh#Cll2J7*ok@"amc"IM#t=>U+n/;%=iK.o7eX9gnC/s^/p -'hg,)Wb]K"i[3Z=&:rW7WSA,sP*,'-`Cj+JZYcf/YT9KA7;@l3bNYqK>Xb\67FJ)& -]N$Hj?+$DjOK;NHK$$NXA&a^1.5Hl@4&In=#e#O--S^QKA%F)ZHE,2/]2=f`N+5<@oc -!ZL/`3$n_U&q_<%!5M<`OI3[r4bjRN#77elpeCh!9pqY;K('G*kTCP7G/u5"a\`5M -kpVqSB97G_85,>kXII=BS4TuON,(2#6d^f7."kD,"@->pE*u'VHcX=4_c+I-3)Ta\ -;$7F@":-c60JTmRS]]HQ&olS*i"uLBR">;bJRBf+p_/8O0*CDL"5lCopchB<5_KCR -KE+'6GVjt"1P5*1(hF@KRaMbGY%n^8;*WE -KU>D_^e7D%;$7^o!?a7OW"aiY])k;[JahI/XKANCYCY%VJLElV._WYu^uMI:B'88ncp#)84/aS^-_VKZgh9K3 -$df[HO5Yu(BaD,JAc]K'W;-`NUMQr&DNK,_&\6[;_(PNW -dEHl5h'0n1,a$n$`k<09b\kfN][5=L/>3tZe$Z.Y-o'5/m]#f%/X,YVLSC#q-'"O'd -]NER\$cR^;&Yi)ZSIqj[,6?F6!QZC7E$'u\-j42n"CfrN)o)g=IlnAUYUFMrW_!E1 -"9uY_J08pWBR'&!m.=s>+UKqlF(Ud:!:g/Y$(9rH]VW*4>Bg81e&[Ad?K -WnP^ug=<@[jeVuLf/RFt\5WhBibEBM4$/]S+PC -KZ1[[]sBt/D?6lDJPZpZ(_OT$YM.b)_3uYNaUPh+6sQ"gKWWCM\4Zt4]A1r]guZi9 -BM2U/8R%!?KO@7P0LCF@1R*H:!]2BnF=^C>C`VF`!D"XBE"3"a@fU1P#=nn$9K!5- -rW!4P%n")XLjYXkH\[[`#F%$!m&(#U^TDA9#ESq@OI:mGTaon+Rg?*V0Rj>+!f*^d -JG<`1-ldph5_>@g"?82j0L^WH70JUX"-\'jO=(iT;c@A)RO+HgN'"i9k -Q2].Si5O-:.Z"PPq$b=aB])VlN"goP95S&s'ue]@&X_?BFXARPJmbGY&O^BbP*i,d -'4?P0a7?=O!gu6$$doIra$pKrYed3tGZ%+?(%iC$P)A2*/Rc1G&8Bq?jF?/Y(-b.fJEYs'`sWV!T"FK -Ft"liQ^I--/?TCjFuSHq3+Ko94,^YqQ#?]u5>,Bi!.\=s:+uqJcj)O9J:Lo33(D4: -2$1KD/k@*phE=3P`f_iT*KV9BL`?Hb(]iP;PK=$uL'CIU!2*Br:_Z(Z_sp?l<8+ffdgGJ -O;F*iOj,+.eL0C_i@#X\d]!O$k,V@f#AX&llPV18[Q7:b)nQT[&^#kGiJs#JTjdkQ -3tWEpZ.oomC=Z_KMt1dLr8!u`rsWb:\)V,M!Im%lX%6r:i1Vult@;c.EH -8P'T2-DH#4Q\@kn>HZYQ"&t+Y'nKSSd>&`V*geW-K+j[%u3=V7>Q2/Lo>OS -5apr,4gXb!#6VYo+B/?63MXS)\Y'`m53JJ]=,J.7'c -('(i[JPZ`*=;1bSTRafk!<o9-3$!)CLg"+!1M;OS<>.5+& -JK+&u%E7&q/6l7-o&hUqpFUFk0(TT,o+s1R-St?92"NX`>+?B!Zk\`X)50d2>aIL) -5Xfb06j-%KKI8s9n3;R#5'.?$F=08*-TZof7"g%YKV(_u@s#Pc'9tNg+n`eFB1nn[ -.08?^P_V\\ID(Md`pE/9"VG`:cS/r"-V?0HBc\,ZcIih_I5j?W-g\,loFBn4QEKm4Fq^7r\KRJrn -XN%IaH8i:k!faT'+aOZXqAWI4LTQ\Q,B4CFY$`QYO?_TX=bc\S#5Z!;0R3)4Uu!3o -LYDg4hOK@C3:O7,K[;]0&3)1B/5K0MHcN\n8JL3OPGcD]q_uk!n'h4oe;s;t&iP-< -0K3[D:k6&OXe9B`&-I\!l\A[Tb">q.HOm@=G1Yb&L1YB.&;()"bcY>"1G@7*pZIIt -bfcAm++E_7)[$UTH] -TL`]ULlNk0q=+q86QuW2HI[&EHOq7CU,-5*:0f:UaokR]%!"'AcRr.cSF5Wc]1N;q -!Pr;E=$)45a^E7oD@p*]5n015!VZHl5@;22p.bJb!'g&mXNk`IS^;"+=oBCs8Xmmf -!"[,s!VH-e4rN:eEf;QD^n"/N@i8NLm4 -\rDH>6,.)Qh&Q1e,C\k.[iOc1HQK?!\(U6Cr+%saVgNAC*0*NrO4`N:rP.=@!rP8+ -`!l(HY4ui'^lShFs+c0d*s'#-Zk3F&:Fj`b5#5,&m09aE\f3p(/55QLYJ_J&684o' -!^P_OAF7&"W]_:*ENEjm7e,fl%]1nT7hWVaX7.)pd$t%)_bp%d-_p27Nu#L5fOu(T -_/Ng6,JflY*!fIKWA0A'.-38/UH#b8Mdi'L.18J`Z7o%+36X/e1W[*iMUUds5E"Oj -]J5@4&BlngUJ2F\;3OP_7uDDEOsC>7llm9>@8Ki9KqVmV(s?Uf@o3G1"\KV2ohA.\ -eJ/6Q(Y&*l[MMl9>r37MM"$KNM"=`W1"[0O]g'duPiseq,@-REMRI2`B8>I@I9_ML -\63$:JSe^0b5lHq>XE\+GDW&-U*p?^@(12S6VPKL=sCb7B1rKfNEoRbQY>OE>-"U@hFph-qG3[74=r4n6R.A -iFn*"WJ$?i8=3JbuC;i!JgcJOZ&6Je;DD'K:\TBVlLO8e]M9b9:Om'*Oul4:_N:co&E&qmQ%. -mp#5O]5GG$"^;.1(.TLZE3(<*nSkWppd:A8hmi*$k5WVG)tu/3o3C`EcguPq4je?l -+&12V*@Fk9omKV=fCds\>M8]jVe+TV*PZaOGFd',h=ob:J`6A&088G2Sj/M$q4:*I -jn\moU$;D[YG:F[T#[u"qjdF@%YLGc";:+\pW[^j5=m6qOC)\]pPb>*KI_r^^o&oE -s36C/9d>Gk*aetTJ3aeL.Bl_FJJ3'AO*0hTfGO2+Lcc*Fgdf1X.0[Xp)1A4b4GSIV -)kd7C%"XQB6KL;* --&)]+i^-jWBjr/<"hbJ7"@#qFE[$,!P,oC+2?j0.*

        "dM063Y1*.KZ9=)5JsG"(Erj'qF[2.1&Sba)rHp#l9[D:@'ITBQ7Nj-cH2q?VG``"Tai)5R\JqGQ?]I7R;,4 -!"KeGA6"=m'B']-JJbh'nH42jm`6'a:_$0O!2*'i^eFSVQQ%WN)c5K4EP3qIM*RX*m1$]m#m2n(Q+*$`kZ1QS+Gh:2k&kKmlVuZncP("#A+,=1U -^bXUQU]lQ+'XA#ZngPdR/L)jY,V?_s6;4O)DM=(g,SDUQZ8!WQ2'hS5#OU@SLn"i. -?j\$N$35kfJ;2s52ZZ6ML+ULn14:G]JL+3D-rP[GEfDKBR\lsd$q>(G!F0FaP4u3c -+5uD`60K<($66mf!?n`a?mHLs((]DC&h[/uEfVW28dM(p#\(XX^sW@Yck-7;&IrUl -+d`:jcKue'!27iYJa1Nhm-!?]!+FTL+hef/)Apdg&hMWHJD-rbOD/T/#f'ULJ?/ns -WfWmtjG_e.Tt4O2lsBeUUX%R8dn;O#I[M@m0&`*2V?2q>!A`T3WTn*b!]KOWh1HOr%VD/R4*qH`Y!HnMFF;'0Y'4CA6+Rq5FWqB7DVJ0QR -5W05uIKADV)IO6tDKm/e0f^GLUENCl!8'7aMPdCd1+h/\5[P^#>7,0\"!cNJ8(^VUrWHub57e;/!]gN2&4<*s3\:R\6pLoGj95Y^;%*A+ -5Z@gc*goXp8@#!aqEi+TN<$$l;)54J>!O`pI&fT`'!F_XoJWprN+r:8J!l78:J2S!IkQF05aUG=.0:+nCYoiZ# -;KVSKo> -FakWQNFOQ%6nO[52EXbJ*?kJSg3,,[[=ME1:LqHngW3SD_H.uG>pN"jAN"76(2[V\ -0dV?t$)!^nJ@5hnZjK'o$6Y6RdW"\HLdMGMMO&6o[[Un&SSC'VC3H3&c]/?_;@6>B -mfpE?'sJVIV\c&\)YLE$!J1uX0GCP7#mu!F/lcYpUs'=V?)*8_ZS^fq()A#?"R\Ys -J.NZNh>h!@klQS[6,Wbs`#4(@)1bB]Th5jr4:gAe`ZUoX5b22hW%BY"jkuaoi79iM -l5@"-(hiR/NnlPd:@5mi!%%&?0mXjkS,m&g'*'d#jpVX_C8pY!,I;=o1N]e<,<)JE -&uo-6eQ`U3&/FP**>?pP'*._LUG]ki&MiNjba]!g[4'10TjYAAWI9(k&/``,*!P_T -U6+LhKg\.2mf%Y6#/@4E%c -%Mkb0!26$9GT23bRK0%NJH9R[Tf`nE(_HHF%UcjL+M8!\-j_Sq%3SdQ`L;4TbcM!P -X`S>C!),Xh*!CLqIGdNqoS?:sRnp)0"Q3Mdj:h[2BEpdR#@N&`TS#XQCJbfV#e5s% -!%8*qHif84!ikF@J9D!eFpB-@#>d5]0BW8DG>GU;A+8K+FBJR^N_ukR"J@FOcgCrr -G/&Pt:Ts]+6e_SXaDqCn^TGeZH1_g+@ -2HMYd,0K!Wr9qp.=,_9K3@fP:RcOmJVQ*f-+A`F:*"\c(&7IL5Eh!u>*#OmV(Y,#k -EpCn8,8K/%aU4+9-5`I3W>a=I@G(1=R>kZYOdN\CR/*#8\XAl]Q^Tq*RTZ>QH**OG -Z'q)gReaF^3OtXH>9VLQ5F*m=.*H+6#pEHf@3_oWKE5UnV3C`"Slt6`?^q9r'=u-7; -U,h;3ClgOTq@k&)'H(P%_7=s$9KT^ -.VeK=Jg%qX'FA2J%Qkd&r3I2:1sXmp$3&snm;Sfp(boP70qt@L]#Zlp'X%ATTVl'H -dlZh'(-7m&2b5EF-$;9tmHI<:o0f30@N!0b&s\C`=ZNj81>>qc,DmZNTN2>+^]XYO -%q$^p@5.n(GdSfP\n$%,J,gXA\,]sI(k;r1JQMpR=Th#C&0Ml&5hH,\IYi86'5@+(j\t@ThI?Epmo4"W$kPo,S<5U>^i2B6ekb^,X$Uh?c@[] -7l5#"S8=)n:s+uOh*'5(Zj,fi3>U6Qc:u@6;1$+`'#n4pe\DsZGQInhl2cHu_26a3C_iZh(73G` ->_EVQ5S#n@%'EnD#-%p!6-\uM#_98c+L2I78.D6g2E.QH)g2kP0G;2I"!JlZ5o:-j -4:fa\%'^i[TR&Ck2FA'DXKakr&R3u$+!hVUJ<#70#&P3<<]1g9AqEl2$ -YTS:sG%NQ#5R*WGC=S7NEo[f&]G=?Q)G)p>OepQ*qS3;?EOg&0O.J -)gb\A)7U.TjW."']q>h3AeICI![2IGTt,-K7H4\Jkb[GZU"_)+Z_YEoEM6"D`Y&UT -IojbB6t_=G@Ybl>f_J'ImudJUc.r;Y=G^Y/ScfD\"jra4X` -J*dR?eq-c$S@o<$"3;Sd&BJNB"+n?3d$R3R%h44[Tof&67O\n,7,m`=`,7FQN5stA -#k2do*"iQGK$e89BJUN!Ab,)=c=Jl#c/t4H[,uWqT2)ch.G(40&MfkInKmFN;2cJNcT?)f.Nq"U4L --'h1-Jr)ac6m7Z3j'f?GEJY\G7g$DQ4E6V*NNkAL`bt79\nA@;r>(/[T[RTHqHZRo -H.;"k0#1 -Y9am7%j4VV,Dh@Q@4;P@,_9YHJ1huR`Zo>ecXZY"IA\c.iF%Td"l\BW(^?\4@MsoOMsh<1Tu5kG"J[+i%$G3> -*+9c$8Z["6Va:"V+(t?KJ&ehlI3;($'T4*+k?nL;)'E@L;M)k*#4IMe0ZYODU-NH2 -L2:O@*\p%NHlfRZb;-5T6'uJT^&b1('oA]16oL1cd2Z3hAT=(@R:f>%F[nsX!.KG' -l0\PCk84VI);nYh>Cn05N(4<8.*Nk=_@V)3#E>Bo)?s&#@o*D]J9=M@:]Q_@"='D= -:DjdZ\-&4U=9s&A5QUM+!!hV)I8Itp_ulMUp`U!,2I6hU3 -Pmt%!;kb+6+GldoQV%[^W%L[Z5Zrb\J4D'B!1g$l!..OTmHJpuBBA-"*WQN)FT=p3 -eoI8<)89qfL=)LmRDoL@@$Y1\BL`)VE4cJbiG^CcTYS>u%-+ks4:MC#g.2^+fg\\u -K4tg!O(G727@@aJU.(P_ftLgaB0#*oT4`HKH_>%u(5njLqB@hKKHS&u'S>:?@LIoX -E#pqQ^d2=V*YK`ZY3YX5g]I#<[S44@%&E- -,"Pl^gS,7*(^G+YBVB=;E)%&Lgbt:iBg(X'hfiB3Hf4Yt(Q79trZ@?aH!X"-kBXds -RH]"rT;1[trjT6!qgQSrmNQIlGjKI=FK9omP_1ht_^cVr@N%J%t=I -It-)Ir4i"%!$Ch6J<16C5U[3F?q^fV:c8M@#!iAoo-XXcg_0b_lJpgMF="`@'nW)X -#ltkf"-Ae21<:I;iD^:4KU@u:U0-JagQR@gef$o#B+A@W3en:7+%+\3%jD]PLh.jF -K@#nsJl#Q9+[@E.n:hL+&XbA.363F;Y[bn-2b_U3016Yl&RuM`N0/]J7QA^3@mdL+ -5f=WEn6cc&:e(n,-oV2mfH7p0IQN-h%#Jsj"iUJ)"%#CB!T=5'JI$C8+lkk=i;Agm -#^6CPfJJ1Fc5-LH=pa,c-E;1@)C6)4P_B/Kb&Cl"6&72unuc$9a^$En?n[gd``PlZ -?45j],*apB]")4qV.9"\)"!],J<@.0;u/Rl%='0ldGb.]Lt;Y0=C-OZFsm@#T+D!M -5DB_E(W&Ei#g5sk\WjrA6.(`J7VK*-F:o>kJ0GH>3":\k?j)1.dK)^+Ee%$03N)r@ -!2H''!-,e0J7-J7J4NfLTJ@i]\02?u9GI^[Hu,RV=\;!hP;]=4 -qOo^#qYD4?"Ef_)"?6RP#Spk$#D[8?"bG;I"!Dt#JUf`#^sj!-/;T3bb2C=@A1N6( -d^qi7nQfZD!J;)1SM[Ur3;ZG_"^'&lT9O0T6[aB9;h3ImV-!aoE+-\OILnI2]+d&dA$YZcT$ -Bf3lk+rEZ-#`F7A"N>V`!hu&VJUoU?KP5o=_>lQI+Pmq90OAiE3$Nt$L8KO[2Rlm# -5@e5ECZUbe-"O(l\A2)L_+k?bG4Pk=N>\It7YYfrZ;q%mI4Fja2fdS*0-%ejlBKO7^]]![n]E^<.)>r%!*+S9<$afVP`J-*1]j>q'S2WJ#DmiL",phr -ZdYfY<,OdP`2"N/bn1Y_<)STjXdK>HUB8;g8cbV4+b9'8%`!l]"n5>):JaO0APa_* -`PeTo@";-S5YS!D8[c+JgtTVX8I(nT*cbXqaYJ9<7aQ.eEUZ0ri:JL&M(T](!4;kP -cu8tn_5b#q;/;rf!"Y4Q!(W;S*GdQ?Li=7V!cSeZi4o_Q&538D4j=)\3/ZINE6#2J -rkFulT3&Hj#"]pTDkLVP"L'3d"4.Mg@]T]iZ%rF8.+eNP@!2M^fKB37oNtX(HaU,q -!/Cj-!/!gIJ<=q"5cBqX+G;^nn>>J;4[%an[T=*G=:0"L,QrXF&-<,5DK$)%VIKG^X\9Y$BC`[;dm1e76=QeD6XfD5Gb -l2Aa#h$>0['8$;R"9;2W^f`(+Qj,fm!(^r2n,rs\QNmk]LDkf"phbOHD2,P'L:CLh -J6]l,:':P-"8Fa)+>e\['Sa:s694TPOFQ9\/ug2$u?":!>9#Kr+7=X+U\H%6HO -LLFCE3,o/$"GWjd!,,nsYR(K;7KEKXK+JfN!$-X6*06:)$Xq3ifH)$j+h)\C5qjdd -!&'I:1;kneK.%B8(b[g=/-/9l!f.SCGU%cY,*a@E5L?Ah?lkj5h#aTN!nqSq!@e0p -EQ'It"!g?fi$j4Z.#k_]3+*go:`Q$b(nq-3!q6kTlC*@CBnX<3L%'*_-uqZ0@k*=_ -6HOW[GQNVE9Ror5K+J<@(a+@%+T[B,!Kj5['?UT-S?$D8]rU3a*-!&SKUF'Y/*IrQ -YT/8)#m.n(J:(](=A4G,",5ZO!"a'0\98+%!/Go_LQHNm?tBH8^B"f,^W/1'$TW-\M*1./gfg4g6R9>ftZeIZJ$R(H+b=o(^>aW]6[``3j98p@]kq@WR -,D%m(JrhDhkU!u"oJT5XN6<1L\?APY_b5Bq99dB=4N.WCCJ8sj!_=(.5WXH-3Mt/! -ObdG#^]]D-GFKR^L\Q?!!.PTRC6Q/.KJ3mh/.mM2o7DK4JUpTj>hUke<2J>BZnk4' -8/!h1&V3Ig!=0D@?k9V(%l?6U:.%C!kS=24%o-dLS6usd8/!gQ7C9*gT^3I-i:sfM -miufM6a59q\/>kZ1eu_>QEeN%N(F(ueq>PnW^p*DE!:u<08H"<($*bto_m,&dS1$o -#J^#6=f9JH_uE7+c, -]0WaV489?em93LObtBf/<#o7EAR3e3?<-r2n6)]3$jO4^J1u#j.!a&GrO"V(L+ii: --rb_i<)8$2!sfPAq92mq?F1>G1qCU,>2B9A"p'et!JhqN#U0>k&;%DHJFG:G8.>Yl -2h8+k",I;:J2Vqf2M5*?K2=7Pi%Tar%t\I8!=0ZrAEeYa'EMSXJQN\=P#d//(4kZr -!EpefJ1Udm/B&#t]7JI`5tr_)2^Jn*&N&mnW$90).g&Y8U_kQ6M&g\6U(CuI8l0In0f)D5'V'O`U:@JHQ3"RVb;MZSu0JCm<<$o%up -GlSD$#KQn^eZbM/rL4@AL?o,!?j6gC:Suc'JJ^=6jriX(Ud:Fd=65S;Jd%tW@D -J^?(Npb.:S&-OCUJDa.U3"#mD=TE\L"fMY0W)itT"L&8eYW%*Z2hFR1%ohP> -E"W1_QN:P+!IuGH5U1m__?7:[,\/;*n.5]c5lg[F"+Uu9H;+Ij9#ZZIJ^>57`:P48 -:at`q6i]4X&5.Ph9*OMaL#RP/nrsmjH!@E>J8/_K4)M/M-Jf#m9QmdQb -#m.JX!k9dOIG+ai,QOJ_J`mGln/;;:)M)Q2Y"B&W(_Jl!2Y1CIjPk%$bPfHULV%YND9JG<6$J.2^5Dubu=#D`MT+LKJNrG]c"jfF*;P)$&2O!<#+_+V0,h)?QiLJtP1*n2^]Y?*cLb9Z)5f84DW:2nOd@ -7-13[Y6l7tVZYifK@j"NYY\p3?Hh>Cico__&RH9Ng6)G^J.R%+J7O?&$j?4FK;23T -\0P\[j6Yl6SATQ&>+>ZI["H_+!2*>Hj9ld/6;QJPOu9F=g]s'g>N/1C"%Wq)7S!SO -'`cSqBG.b02OZ4\%`0ieCG.DX62[-S&V1`O;e"[eB&rQ%2'q'=o*`fNH4-4FjPg<` -(8U?hh"1.%&bF=6>N+9VYS.uPZ?%B]CVN;Z+%>ft7Wa,MFH8o`T1F(%8T_.0FMCOl -[n\U#P%ihc_8$^9QCF^I(h52/Tbb7^amg6T%'EZ0$!\bGa'*==>B.0Klpekbe+iUN ->0?'O$d^!=YTm1,a,E+OaL&NG[T[+S>Z;X_lu(!TB#l0Vb5r2_',=t(?5^$*BD):D -506QO#T*1Oot,neNW;'BJ.2X7%>E5[`\&b8SC(%XghkX!D>)n*&S>o6Dp3,Y!KIM\ -#3LIol2d7qJI!BML^o#m3WRMfEH,'1Y[dt5#_r+s!+9pSVum:'HiPRB#D`J;Lin5E -Fb\6I#1c'DW(;G`7t[`GK:"]MW&]L'$j3#T"0b5p\4))_$3^]?'SIq>ggGjJ#DNU` -"cb6hn3r@=(kUrbK%iA=*a&N[b@RYh[U:ik-o$A<%tie6ZU%*8WfdRS7#)c.LN_Hn -8:U/*'uO+0EK;!#`uB45J'."N_soYeCP\#!OTl/YD[-(R'< -:_H^B&=b[Zr?pu\+7=P1mJckJrr;M<&+Y2To7%kRs"F"o?hJn^OI9BX!:5p76bP=k -<)/c[7n<8o-k1^SP6_/95TgYp`'T#GTNj)bN2P*ZVZao`5JLMMTW1uC:-B1Y9d&6O4 -F[h-_WRRr5HF7@.2]E2rK<`f(IQo!;LdY,i&K,%`GE!(_ -KGtLOP"6saM59Jr'Uh`C'/3sT8J;(g*`pASbMD=VS'>Se3W/#l4e^;;ire7boU7Ce*2D?WH/@;K0LV7DK[IiOf:4VYCX>Rc$c?Aq>\NL'JQ,+=pA#@0#pL"[\<&(Pgu%?lXp; -MWXLU!WZOK$&r>u'T3'l69::&d3`#u7@BGG).s3bE#ue$m,^76eG//ITFpI"JYl"$ -$kpOW6ok_W34pO@U-NB04VIE89"af0.83X^Qu3bA_16XsL]Y(a.hD^Ur`"KG7,hdI -TK0T-J7j9,4h6iYN.-9^mF8hu5H=H4F+;SZ0HKhn8:'\^"/ -WGI8ALfbJu!IN@3KNB!G%0KZ`cZVn_!nuY%E.cV?Ot0H>^%(+nm%5)aE$(.0?Wl+h_i^N4T@FgF57?udIc62 -;:>,#5?6;-SUX_np"bsCg%O7*ES>VB^N\K-Sc=,rpV%`#icnc_OlQ7D2jrb&^0dGp -qAu9$^M"\&I@KJ0.Mdd(S"n7EADnY%&a4c&X6G$r#W<.p@3<\_"b-clqU9r/l26"f -ch[P>cfgITU6&:r&P%>T!X$6)rrS&97k9,>*1,['%tZVQ0`a6[(a+?2TR70#cn5ko -GTmU?84*_-5UV89YSG$r=UP7H/OL@Y'`sb$0YoTS"DB\(_9b[?"9mH>!2Gd,J-#AIa5Xd6$JmHVe"1YVRFO@]AF5r:^8RbG -7ZFE]p7AVGH@^.s"X'8'q&3"6NBO#sT27g;$dqSR'?KJLLeb$5t+%$ji$8$%iLR"ecVP -R[#p2hnkN\TZA"'@NZA9:f0+o`(DApgar_t$5u:Q!=pTmXeqf3:[/*LW)X>%<*G8Y -mEQoqq852PFQ>7Fb&d_.M@2`nCBT3ag'I4Z"GMr^!Fmg*!(#!hkMaXJZE>c(6(T>e -d#^jc8/q^CCmN.]0of3s37/T+7-JsV>`YnD4\@L+kiEbYcC(B?ndNuu<,DgiI?+GQ -2"hgq6DI<8Q8Ad;#CuRj"Q5d`!qu(BV^Wff5p-qr@pBe%J0PN>d+JYGdN1[[G7>[Z -1PIiH%mb_-DKD\H'3ZZ.aB^b.bo@6kg0[s_,p04rNjDcTd9>j!D66gL[T<7d>\g0T -Y1:h0f37]Nld^Ee2?(Xe!/7QLMFM -n9eI`W(&J73$j6^PRpLhIKnC&gfso/$TQhpb#:jQA#*WI`.K*5S0'mO\( -$,M/cnQm`fGjd6%]N9:B69$%fY)XO3fQu`qn=8'^La*B2:^j5NhD@K"d8iWK8Ob`; -2,7[l*M$0kaU1L]WMVL?9,Te67%0'PRtWP67.6I/Ai#q"[P,t"3q-P0``*3o'Nl< -J9VG&fKKF^KFNRlIK`%<49D2J*I-7!jhJ:J!mSC&e4\*0ZhOi^&gc]P4Dnu/*$fje0"a=le7D?5\rPCZW -npWa-\_$]M";9Km_B;7[@1r59=E7fd4ngWr-Mq&Kmg_uVOY!>n+Vmn,p4&/k/AH9M -r6j..s53c,J<2@%!<7Z%r/_9dO:DQc$jd"W1%3=?E#]0;cN6HNN*[X-58a@!Wbt05St5%GQEA?)?:Tm!QG.k -`Z:]b*MbM5U%SI0pBBYo"fWi30]*>Ur<;/u!277G?l0\g.KX$,%\PckJ@5TRZ3VRV -#NuXk!.8Q)RL?o-$\8]g_$Ut9+r8#CT1*j[XQ'K*_H3]r*oI)@iR._"dM?Q\42C\! -J5utAHj'kU"JB(5EF*.87i"s7(6NAJc7]qF@eTp:o[#X6NJ'K/npHR<(?UncKrX)# -LDRa:lmdMk^oR])W9Soe"G#,8!(%13!X%B]l/;s]NM[=\$5C9*'X1%C+e/RAR\%?a -)1WPANPl]#Duq2%hdJnbTJdC4kQE$j$U@Mr0b3M]i[%&dIR$T)&T6^-1peoK+cg1X -cT5E./>QlS1G0/@Z&KT_CpU-T"39*tDGMG<-DW-,A^QHJ!)jah2Cci^#/a[RAPNd' -p(UqC!b#COLo=-9OA6sa*MJci_3iXoL5KD[('#Tq!@l&:RLPpQ"b;W"?tqiB#e!>C -#mRO=+B/X)WWW=!$ihge!6tWGcjW/`$t-XJ+M8&s,RV>?!hb8OTIpDr6S;7[/s7/+ -ZKEjgo.LaN0(Slm;Z/83s"I@R0TuMkdg%Su$S`;20iK#G1EN][7^B3ipMs5d.,uG) -;&Erl1"$o7-e\Z_0&n`>)0(oudn)Cf8geP62)AGo$p;-t^A6]Or]kRW,3:]2<.=/7 -r_LhQTU(>uiX.)/$:(Bo+K%2lWX=9T$G`YKW)a8hBF8\']`S<2EWuM^ -5]_$0Kd>S!EX!Y(<']LI5iNK..MQHI)POeD_7ZB`c5lre*WbI)+mBZ6mN4[q+$oZ% -0eUoE1Bn8#%CDTr9P,:F"<@N/!5Xs9^_.Bu)?O=a%3RhD!/q)3Lk,%uWdo8L!.u^d -;[4Je!27DqoHd)nr)[=r!!2R1?j%NZ`W3ip'`]]tnYcnRFp4O8"b9('Ad5%g&nmOE -"*GJYeJD*gcsH8githSmc(Ci$9&uf+3Bu%Y1Su+H2kD -:^=!;Wq$9U"B?rfUCdc!(#uc[LEndkt_?<*"Kce!^Nsp!%\@4 -_(h54B3'@lQ@EOjK4ibhBGQA:er+5XM.p"OBm,\SQChmBUM707C'EKO#%D)X:g8qi -fi9YRc%NEX>4qU0CmN5@Ma1b_@qnWS@nT_PiY])@ePqjJ7+US2O,5`[m;H%kDjKOp -ZYTjK-NM$;/?@",9:Yj%r:hq2/*KVbn'Zh2P6'\H\KI+kPCPB'O$As`KWD\pdr6Mj -jZ?qd3j6G@l]ZGKQ8,jJ]sh'`pKkPB?jV$b$%j+=UDem]F)rQ;\G(;'aDZ7R.f4"h -EE;gYV(1fm4XH,1%2AXQmF!!H.%5u@PpLsEKfk!"_bQ-2l2$@s+"(73.]KX6.-XD -$5oOF!h&:cSKJ?/l]WjQurB!+n+ -:IJj<=Bu]rAS:+^`_LtWH<^R-[uGuM-;Pc"9PH.fBSJ#o!('q*;i9L7NHj/fm=fF; -\Tl>V)1Z.7,cqs'((9Z8%a!]Bm6uC'(tq7kWBfeX^eP9(g^&-e;lcO#6?uc>5.($a -P*X^_`UG!X5Af'1D?[a;=M3:2Z'8ACAEm*Q!(A^^.WtHgN@$f(B('NDqWl7RlnJtV -?s!^Y"9ZI@*^O\lPjTT7*$5T#'1r7gWBW`.X:ud.'EHg6K2r;#cU:`'[g\:j+E%Pr -DQ%<-%D`;PT`c"D.M@;-!MN7(5S+\s=9/G)']9T+,YONfQKPRg)>*lAt2m*5_\U]76Z`C83!O!VsY:o%KO6F7q`!AF-r_KsW -k\iQoaLiFjZ'p\"C)@1Xm7a2,"CTdq?mlaUciC'>J97/>#e6(LlUU#j)SpJ9@5d=8 -"p;[E%=gtY8e05WK&A^0VnuB<+E;eEXQi(u"$n3(@:YXsU)kE[*\^WYR>HH`PCP`[ -Z`(c6+j_*W$5nD"!cdPPr^$Mk;cik4epcI=t4_]MA]+GScsY5S#Dtm"HjTn -YF%mQ\HMQQbr1JJJ/d$s)kbDX.\mD#EX0\?-&dGH@#5tuZ4ETl%rR1:_/]SXE(2"( -)5%HWTr%g@VA]FA)Aj))To8uFNP@bm'EAg]+W:B4*M1'n#XBdDAoOh6c_DM)b8kr] -?%(=qJ(S%ZfU[TGh1sY]MqK,;fj1*#4eGtLc3&78[3`AlJjqmm9"!K`>Q)&8rOnFQ -ctNBNEHn9ab!K\n=f5Q/`r4Z#U9CLD#Mrb>h>QTp`i6(JCN'\/1,FA6iku)fS_in' -h_tSo&&WS:_STt.iKLV,^h_oC+=k%NW+[(uMhC!f,NE)dj.7RWhDaKo45qYXrsRtD -6OX9R-fBGTDfj&(i-#Ak>R1>h"@1fYUN*VE3Ot5ZN,^fW!UkM(g__.R(]brc@3c8S -9FQ[&;8A;#)6_1'leTF[?5"!D-\k#;K/&7fO[DEq6i+@Y8i1'ZZs!aq'?@)NS+)@rMS!ML2> -40T;>,S<VbCG9>cJ2>u`ofH9E*- -8G):QjEXX/W`j>i5(*381`o@rIpD*3X2a"lpT0=@'N/etb7O]>9Ka+aZrAQ-+^21I --=!I3I@8l_ZD03?VB:CRA(7<8Dti-ppKq5'=uY/@W+CCZ5a#99i0+a\\>]Jhkoi;0 -i"d3e_%RC?%?TM,@K>Qm\_(DEf/' -8-_K__%^'@-]3c#i>Jm_(J_,*afeRciWj2]]a86$c0mcE]-1"Q=q#' -PQdlk+VN.P1*I'\K2oMMEkPnc=R5Zb'q36W[9@F5Mfl2[D7Ej=='L[@l$0gHDjS*/ -lN)FLhsa`Q-6EJL_d]kf]QQ4WN6,T#GoW\g/XacDo,5d'GdH>V_*Bpr6Z.//V -_dU@=LdWC#Gf?E)B:$s,(O:`:nSlQY0TjGjOrq0Zn+HU-s'O[,rqnpQE)Qf@E%jEX -"+]Sr%0L"mY3ihP=>1/90Vg9-_Vkn^!X0a2i;PtPoKs6ZEAU)u7'TE]'h,B8FoYDHc5]!.H;nOjjFQ7c4bnQ(XOI5(j$jRMH3PTR%F[@AH+deTFUXIS-=7?69Yc -&EHcAV)bU[R`?6RELn9jj([5UhC!/L[dG`)@eeM1Naiq"2ihE.'rZ)%7gX8>QXlP^ -2hC">RL+he:bEL!@,OWiKTB5<3PGNI"eFj1;p5s[!D#lqKV8Z0&;?d_,ROg/fHMpV -i/#`9Jm,r>1^i6W^a=]nE,lSH5u:GoKOGuo%`&^/?OQ9UbUO,*i:_+&"bBcVoP^ok -r:G](E*Jrgq=XS%"^t5,n,uAWjU=JXpE@T\0+Sg4U7mV[cOql5`F<,e0:o]TABb -8KOeVH4j1";@5]X.&i%\-KMaM9479@K1U&4Aou:d$9/rV+D)2$E'Xg2X=&_[:)=!4 --O[bHLPAW!)$8G=$UHliK]Qkd_&.#(+B2;M7Mn=>!;]p[nS#_800P*;kl?@/C]K$h -0YhA='-L[V'&_CR_0A6N^q_!S)/d/7bnlf?@2/nV?4Xrp+:eOl#n$qQ36,D0*J;iA -O&dJi+!iRMoYQqn)JHKYN;4CM$u:_c&h-20%h<#9#mCl^"[Ucd!tDIEZZ^B7e!ku2 -!0u?YqP_[?(a9)jJ.GYQ1^C$G,mHV:)2%u<&4/>j:k2P4!H=,3JB1(^i,fq?^d&9( -0I-bgeF(0ji*0M4O[26O&6Lp(@;I`u"V14=!k1YY*)heY%R)lrF+[iHe!Fn=C1u"a -3>nA)/8n%;'=P,7m6LVsNU]o\g8e@k@I)'\!.Y\0.Lg/.MrYe-SK/]7.,#qLi$3Fs9+8!;R\/!.'\;!^&o=#8Uat#7"(C"bFH -mG8A]\3f%\*%?R1[M$IpY%q7(UM"*AL`>FdR@XM77EFplCfZ+cf -1iADlatH:5=NQ*jb^/ll'ScpMT?R -eD5'SYQ-l,BET3I3!KZXTEN,k@0Sui$j(r?"qY'5D\Y9&=o_W?h+/T4>Xb,lPIag* -llmq[L9H2X#KJAd)$L#)%"_kT#([j-"6Xq6+RDab*0La5LNNd\Nan)p[l"8K";!ZA -:Di-JO)_U#3SU@f$,F&!61siTHG7Gc -HG?WUT"is*+)1()\$Pf-fA(_fFmjb)^\=?&hg?N&nGYA`q&^EWa!/3)q:iT%BF1;Q -Y+,)];ko:"(_PM4]E^M'b([oCdput8J:WRIqO;QlG+[Ias)biq5K6'>hpq[TVt^/T -VGa>-I\st9-%\r>1IEua$;[Il?8EfjP@Hiiff-[`q_k[9!VnpTn0B=\.&HDXV;c(% -F8WiD&@3ND!V&GW,%?/17Y:Cg!q7XjQmi^\,,MXV^ko!=,!5J08p*5\(%#$&)2F!8p;DE&N<('`rb$5l;OV -o5=[2G(\FOJ:Li/?ic$n0gd0l[p+'pUN],4\sTQU\#T<1aCP>oAHZ*>"CNPVQmRB/ -$NYJc!5K6Jj+B).`g\q%!H@_NQkmZB>K*9.S/bhRd.Os/fY0s#\T,\M47+"c0h(:A -`T1T"9P)4cB#X;s^2rD+Lq#nnjp[123T6OKH,:)5o7;Pd`$@V\R/n>l'-!tt^,tgS ->^"*qGIkDm!@+s>)&+uj)Zj+W!_[2/W"=TK;#mgsM4eK1Z"KIBM&?V783Am;3+;l, -@Kd.ZKF!;7(_[1*(4mIL]44fmkZ*/+L'`1MGlTliP$75

        P\7YdaB*>FBKX`[cLbL>%+G#%NJVXj; -^^rQ\/u]?c -=4MFqeSSI>Kj%KA>1LSre^[l(j]mc3,e10$9#HE)1p9^F<3cf)O:rfn1F,uagFT+X -3N31^^_*=NAQCqGd_0J(be0`&cIUNbf&^c#,!V4TAYgn4'_t/5&m-Ep,o"EJ5U'Q$ -Hi>>!EPHO*_%[7#d6[m(1fqOY=#h:d#tVBj'8!8B'I,dTiC'LoJCcAhe3#pOLe`[i -#)5*O!)R?`kQ?S'F9!_2#>L<5(j(O0!f'TmJ1,Gn#Qoh^D?)q>"qV"D&5^FR5f+`4 -"BfjNBP2ilB87<*LDf[gL]Ia:GCUNSfmmsB\7>c!$&+1)JD`mr).*Fr*0kI_=G:`C -^`O;QQNM)^e8SrQfE;E2G(:]Ye'q">V7'TKRDVs0#K$CoW+c5SBa#%NKbuh#GWGnf -#m-J7J>aM=6DPT_%D(SPgf;>KA?9$U"A6PH^AV?-SL)hj@1Z_c>gO!dIEl*RcJ8ZK -^?s%n!41(tBT/*)^?s;&n.._5CQE>7`"aiD6G1ltgXYuPgnN@u)W49P)M*\^J]JZ/ -]rqIp,lqC!2J>A[n-=[5?3e&g#K^n>h6iQn4r1!#L0>*m,UroC -<%_ip!+9=R3,VnJGgL_nR##.#0OTPN#)"*D!2(QfQjWqidlfr)]iEinh?%(Bh-`DJ -i'mn.uW]h)_;;gtq7;QBIY$o<&9;QQ-p)RSe)r^G)-="BNb"@7#GI(1VZU/"#6Sg&] -;Nkq1iVP,<\Lb'35(Z'e!dRJU,#R>-+1*^B_'UacFa'[.=XE#pV7%cbbRPmF0B/GY -OS`dDWepjK(4nXlKEH4Jb*.Tc0aE]K+B@b5n8&(qC`"R!]LY,:_N4o)%"tifJ;@?_ --jGDSAq3uqL8Y60V2Y\Ek(WD3T4NQJjbOabSljhZ -*jjP?5L0E])?fe.m@0U!gfH(j1MLu?5KKrT=Qr`:H@ap3\.9LtJ#^jNj6>"/i -B$c$6[C41?\@(_8$=I\(TEBnH7t=u<"+UUYLaiCd.Y5ABJ^+5r#Rg_F%=lAtiDh44 -c3r'#-=&%W1.;s6+TZ71pCCuU5=Q4-n^1B7dQ]XDbE5d[&GGdkmFL7!.7 -*OTM9DMS.B]Yp'>(dn@;7"T@aJp8:9YT89s$\;kekrt9p7_W[3^$Gs;ljges(;fDb -_sAG_lo)h!7`F_8's4a\a#V@4X^bf@.a&+gb8IrEW)$DgL?h5=$\^MW#c!P5J\])P4:>%AAki@1anbLmD14t -.T*P;=[=AcJic/m=<-a4<$ehVDCigB3a"6p1JE'YPO@KGr76Fjlg9R/6+Vl'iE?<( -'S=&s"Diht*&iY=Ba:qnA0/(CUlgE,>C_N6:#JOF5XD%K6a"d):#JMETFD$qY6;R1 -E(l9LGV+J>=b1[R^W'>U8/N?b_3toN7B#q]G7mAOQH'J?j`-n2!MT#po#9c)`Ldh. -E;6NgM?8ZP"&/Tq5X<22;/`1lWAo&+TE,:o4R_EM(8QPJKS*mmptq$)#M`&Z2us7D -BE0/g"ipe"aA2e4:BUdGK,=lH(aT0L-%WQ5J\Vlu\.[U]($oenF*j76%(22NWQ.4c -Sa[>S+S.."r%]2;F5`lF8_omdViPiH3TiO+2a)7i8+_IUZ8+)\ocGbDe8/bkm!h`% -MCYtu[/h2n3+2hE[[B%uiIS_AKBhP(5YoZ2&(km/85h>/8NZZ(+tGRp1O(Nd]lR -na15dGui\q@#naYg3IV%pm7BnolLha1)*>k_%KS\HiR6"9dW.YH(c'#OZb!"L!4-R -1[Tr1a.];QRhNV$D:R1G`sG-ZSpl#,=)'cYG?8eQ(TQ,==A1A1Vu[W#'N[q -enW*$?n%s>G1^k7TOS-kK5Zi6!=1dL7e_MOF+VakJNtghi"Q7F/'Yi7!eX7"7I*oVrY=#W1)q6hn -!GE`Sa?Tap5H\Bn#)EEeKJ.*`G36ObpB,]MYIF(EKQ;dT]X_[Qc+4-^!=*"P!#T\[ -=9>Y8"9i:`"E6:"GW-Lj-NRT_!H1!n9jN5kj7m/d&4cEn@P&/N`:YAQI&!Vb@Gn7% ->*GB1Wgb8`DtYqOJ-Y"/3$]2)+V4s5U/=a_;C`K>KTRtPGWZiQ#,;d/b\fQaO@LQn -q&G,\-^./5ZFNB/<@sS2k#1H>`bRB":1k6N]_6J3SknQL)C5HE6_i%C'Y7:&P>A&T -.Ff;LCcEDlLP-4i0Utfg(5iBL0pRdBA@#HV(:u`mb0+rH?&$6/TbLZt -.LJd;5q.W`+?_"Q8L7bAF -_pADVAV"!A+B"0h%QtSZ7Bu&UHlicQ.[<5p9C;?JrI5p(fD"k9^Q8Qr!5O[9%08a+ -//&-%:i%!S_/P>R#so2n/IKB,UbrOtE6L8,72!QO4B3%`O\Aso`R0WQ -)9)-IAK++$]QG47Oi2Yga78MI+im8p4qIhT3kQ8__.[9p"nI&9-q[C=W@.sKHH:"+dQ36fQ[.Lq-Q:gGEj!I.Hf+EA`ZQ)e

        6IL`@Xd4PheJs<#"^e:XiAr8Q4,]9heVf%@Cn8 -e`!'/$MBWADBUUCX@[NB*M'<4U+4n?%CKK)0 -]le2H94b/4LOq[KAI4\7MeNFi!-0&\[]R)GhA:V$g>.=fL`M:\&:u/5i]WGOMIMkS -.#K3VQ6kF?4n9`JJ`Z36hDXdHM;EKS,h[r=Li=XDU.D^,M^+u^;?Ff\WWa<[k*7HY[8_.+^uXMcXCST)$\fn -B<0.*EZ0^e5usDL96sR2-L%Id+;O-LG\L8`oLNGq"dCuLVeKR_Mi!34Li+pM_[.4j -ObL"`>+"5^N,*tk\]t6rk>2G,ESQ]p)p@A!Z?"eZE1&cc&W1BIY#l'%48;I#f.0["YD1"57h:ih[5i* -`j?V9E+08Ba=mh\"=]*+7N7"_*"bM&%>aO"#)%et"%#gM!T=(u!?c"]^oSjc0O,/` -5Wo?[_0(AAC^n4Df/:Rb.MmglV4fS#2^%J%"?-#l7'IOAUF6;)Ok9[>@.=5,`-VIr -luiWgW?6cb!"[PK5*!_X!!D#%J-"jj^`_-N_U(mTYpp`DG]O379IU&D/dqb'(^-bP -&.th4"Q[K6P>FG;adG.:jRf.0ZAqaR8OY(>7&Q;JRT<%K>:S`VZ'H$J=3F`X/Z#8P -QVusP98S'LjnufZ'+S?HGNoHs:aQ>Prag\,Rks29Ij)V(\0WOi`MUOHRUf)(JdK(j -!:0nbO6Dk,GJ)F(l@/s%#%8[?$DGs?0UhUY/'Wq84f>CUT2Xh)WthYB=G6RD'Fo[j -(Fg'1-)#@3H1+">G98_=0Qh$eC$[<@kOYQp+[3 -+=MpDSe;k$.:0@_Ki$Jt6e/cuU2/S,;:((eJk[qt+X(KOQ-?Ue"X41eX`ggmCJH@5 -2l]L+N3TfPa4UhFA?;>d]2rV3R;4QiN7j^WVKgFU"%'#03UsJ@Xp`\%+):+H)MC!= -_#fF"Y>sSD"6RbX>5DF*284=CGbV7TjW[k/,V+RfX;<)\[9.Om#mYdO2EeV\]g/&7OT(SEls%%nFm7`1'& -^_Ci#5Qj4jC!RmOIcaYrSQHA`o)L#ZDu_&s1Opn!(#U39Ld2k%6HB`H5i`:TTNVN8 -E$>AaNab[$h0W*8iWCiR4:nF,9pGKPDA,]taZ7$<5i)K3i-Z.=:e7;6Ct;PRdJFNF -jAI(1h?3s4&j>4a#\O>PS[Z?Ch[DT%nE(n3`+:gA9F1ZqK[-#/SYn@+R0YI_R"T(] -]n8k]&clZ9Wr]F;#.RnWK8:`]iQ)Ud&CLje5[=NOE%$=BTPjm69Eftt.0Q_k&V:!9 -#OURk`DZ/(Og@0.U.-%S=I%7%-U"9;g@i]TG\2#\]K)NRa1 ->skUa-E,GJVcIQG?)k;eXk#PJ=_h;WXnA9rf%TFpCV>/"AZc$IQk'L>=hI$k,fc<\ -Tt8pY@[S-%F_Ri9'4E(=ra3Nc"4u$8cA%ZHY`TgU"X8/BPn9[uId,&qY@hate[nJ& -&Qc?a=76UU^%Z^9Tdn3_mqq[2W*K=%lLZ"C+EY>L!lbMHLa,c3?kL6gqV^-2HlFrC -&6>&6$"6\C/HCo(%8tj9]N:87oY\IqV%R'LWh(e"NY)=uP3*o3jLeET -F4/<5=Q:H5)5WKOAl3VeLInR@eXNn2G0a=g6"kZ7Hreg`:4^bQ#T[_4FjT+!`(seN -rJm3Io_R&'#V^'D6*Zba@LcIF*s_FK-3c*h*db\Smp4R"f3j:f;a/IkMI$nu*4-B1 -?q^qnUau]-:)?87-4E25&r'fB#t$qDo0-[/GsK^;"#+j#+jeL?Ys\bL#eC'=jD"[g -VE7$cm>chnfpqJmmI#Hpcf=)2J.^d%5S3/ti"0OY+;-*?YRV0%9F6D?g(/a*(Bn"6 -l>-3HI'9=%^ARc32&VlQi'I^#%-i?rb_XJeml95c7GM73&!:erponu3 -:;:$4DEn!oYPeGH>^\pi.nu!'kIe+e@->Dr`ar[<^j61j\-9[&$(tB,@%IOPRL.nQ -$):*!^nLutT!P)a$@l(_@&sMSWXBqG$Oi7-J?T2"X9h-o#r!P.CqPXc8q`.iB.rb*#N,$!9(er7n+PpSG$XWNWJ2@+lrD!dMq*K*!)'"ToKk\ -&/Clc!F[;b+(9ucmm-i"&6'I6EgQN.'i!&SP1Yc -MuaIU#+;@RBb=TAnL/i^#85Es(9b7ajka#jKrI#OYp(5`uH3SdE[`V(N%NKre;e[,6LC(hs95NZn`OS66u9$G`\\"i2'2]\TTT -?U05*C+osOL?7j3#QT$M%LF.QOWA0$bD^BGn6ua?iWMO)'JE9$Dd<"2R.e^p\KdVc -6.-Xd()`fX14^VO@3?"e8.@hC"i,s:798]lY)/&birF\:5a2^U<"W#1'lmOk+V54c -]F1CD/:_9u"Iat]Uhjpj#K;Fp!0@RdKF\]O'%2^Q;NMCHmLIN!n,aeOUphg!ZRSL1 -.WVX@ZEYmB[4:aV.l+Xco"?S0].9P1"i,dJ5emo'4qE3&!oYsPJ05Y:\,cW?F91DS -_<(_`k0GI0*l7=G+n1NnoSsOu\SlOCmZJS5!Z`G3!5X$q:s9B!+:Y!4!aqN&!%\=/ -)%f^a6uT;VX6`EQB.B$Mm8C)mk2=+5^aTZlIE&l7,e,bNc@$:&HOoc'$-"9m!8Kn9 -::#>a"+;,VD -L)e%j!(#]?#AbDg!Zb^L!+DlDi!^Fd$5.m'![,8^J1LkfM*l?>6aMb>e2]ng778t( -6ki?`FAG<3;+5S,7C5u^oN=Wt>t-Ya^.\OD8%`W1<.HM7+(cl;Z+-8tbQMSV8Dlck -@V6@.$3[(;RA.>;65G1R6m--m%`sZ^$(M.[%ngc`J.cnY'R_5=q+NWbTM]f4W[=HO -lPf1[)mm^]oYb&MJPJ&d9VkQeaA?0&%&j5c=O&b.A^'Vjgg(9`>Rh0J8spLCND?5% -i/TJs%Q%=]UuCG(;3`\A:'b1fnd%u)iJ&"ATSjkfJ-T',)`6AKo\iQ\A;`)M;@KHT -!@e0p-lFSr0;hJc#iOq[*'&Se!5ZGe?m$7V_@iO."+lm=iEoe4(_L0l$fJZ*dVU?9Up*GM"nHmhEdS+tJLEdjmf;nl(#Te6jX>ZK -mZO*Z^g/t,8kJ=(?a]\dZfVHAj#"1N()@??.be@(@5OX'"i,l+T&fP2o!5ZBh_9sBT!kAP@kqisPiS"8T -g,pOE'`\d[/%cFd\cO"e#/DbooOhkp4YuK8qdSF9-j!*%*,2^'@T-1?e;u*&"ImU` -CNcY_,f;NNdl+!Y^.^?c8\i,T01ormH\C-4n+T;;Q#9Q4DQSH+;-6DEa)?.oDkLBS -QN(mT!H<5dDbAnq7`B;]J-CIP$=H[;+Nst=a:=k.%Y4lfTa%m?,SOQ>'1"bf"#:Ql -4qjl4&g7YcTaOtqlT8Lf#(VfYLpD\t7S>WDI#cinG6r4IFFFtG2@)j31\))b4:k:f -(I?7F_9?toh(Q3SFq8m?/I3>)WW7UM'VH'QT[X#Cf/!D8DKid3f=u3i`I'VdHl(%T -GL(ZGd=$5hICI[RpXt!3h0qErk>2"tQ9nI!VJ3Nnh -6GKYH"TfSG&L&_Zm1Y)W:p:GH;'KddqcUE*K=+X1jYKTgCnbLjU2$(PNcg!l4bJF2 -:3]iopf(<):gLIc?S4HKi0ILgR-_)tUBV4,DA6MjcsGua?.`O_%LDB.Ii8<[V:@ij -G`R_3*J?l2YHa\]7Lf^6[&#V/WOPl\R)%NK87Nc_M(G)&!>#?a%N"%E(W"r.@G\N1 -k4a"@+aE>q_6=\oh.`u(+2g''>Ci7%?"e^;N?rdR^=:=R=%3S+Ki8Ok^ -h@>'"%Uei0T^E@62@omC!hh4]i#icNM?..C)ZU?e!S.6Zf--Gs0abW95QDikYQ/+: -0qj%0N>`8!*Y"mu#Iilhm9=:c[5:6cI%hh"YKd8He1+D_AfJg(@KqON3qDAM9+([HNRAYp_0+D8?))K9E-_?G70Vn.#KqK]"X -IAf2`W+Mc&`H=`JOgQL+;UZ0E7-!LTqDEpSf0j. -)Bk`S6')+uO;K)[(aFnQTaCmq#Rd;%4cgr5?uX,pAtC,Q:V)iC#+MQ;L2!'!bK*5s -X%!ZZM$[VO!+Fq0huXtmF.UE[4(7Z)iR@ine/$sP(?"HYi9CMS/-_&)VAi7,HV^N. -;mgsL[C]GHgKCr]A[X[7[Ms(lHZ-@)E7XP%J'\o])%B+KIP%Fd&hi`#FDOZactU9r -Ci-tWdl.()/D>ibOP?mp>HXG*#cWO.];:-W-*+Ws`J,Y[L"j_^Ha53FR%rSfMa3*d -N]7AR\%Z7V^9PlhTVPtLrhX1b#`]I&najEqfn`?EqB8R$n?i -(8o-e?!IKJS-;XFKE^:a0];NHTk(ZAarR,Z*L:4WO(ZE[lLnoM`M9c?i@.f-O:,;O -W?>RR6X,KH1/+)JYIPAndSLD.KG%]=&j^CN_/'`M+qc$Z^QMBgltJb;!*no64WtcESGZ]V>YVI?,>:_ ->6(Y4K1+";?-jb.dKMech7_@prRp$51pZ&kc#';TB?Y2aFl"$8V)ige -7%l-4WY'b@&Rh+/JXP#sS(-DY!25Jc%3PlU.L.>q"0!i$?,O.#KBRa&k['22SrMtu -Om.=Ul+WGIhO3X-VAL,n=P*.&8qh^`">6q&KtJ-"VY#iRpKT^7JBRg/5iG$fa&I01aBIp-V6a?\S&S;kW1Q-#PdCAaeW -3HrdjmE4@6b92lh"h508#b?StTb'TM3Z'4XM1m.95d4?@(^n=#(q@^F1QDo6UHuuZ -E'56Q,gp\bluY:NNQ0BYR)1Kn()N2UEo221!A31ZhLkB.K4DmnLN/WP.ETnf!8Lq]Yk#b':jo[W7 -^diIu"SR:p+0Y/9rtUL3j)Q"7Q9"s9!'K#/7dD$(a&<&ha"W(gJ/073K42"`X@=HJ -$8qsZ=KGUVS'uOIYr"F,+q\S-iP=Z!1)^UAGl2GL$p#RELrBrHcU:YXlNqmn8>*1m -h:dd5E?/_S4fdU`I2n;L/(s1\qYf:nLX4lNq0fuLJ(NlZq#0fQ -[kCBQ"M6A2o+]A'9_07Q1JLe9f/HF1K\8@[o:4i%9-EF\%lrS_2AW$Eo!G%oZlKL@ -d*s?P78YNoBWVJ\J7BVGiE0)"7hhn")$Q^aE#48Fn7!Gu5qp_]K*9kp"W<($$?2Q/ -&__X5#Lam>+2@pT_k3jZ!.CC\+jsYJ"jn4u&S!Le1(&S/U`foY%!_(.sJbLpA"P -U!QmLKqS2p&5Mi*)`lsQAg)q=32S']@T^W#N8jW`4-!hGhF!?7=U%B[A@Y0$Q"9\s -;jM"jG%6j#H%p%$B">p"SS$R;F.VQ?p4K#OH2`_qB\FeoV.hu&Of)o>I[d9NHBtV1 -lLP[B%QG$c?kcfPk/*0q6'fX!CjSXp[-[ZjgU:tr>!/3jC%>iD:Z5eg&d+W`o.%Ro -7es0oD""Gh"m(.ALhod":?C2+\\FWtg1XC,is#\SLI2>Q'o_g.7 -drdfd=4_S#LKiF(rKg'C.UBnYgsO:%CYF"2T7c$G?3c8GGeQYh\d!MjO5bHaGGF6q -?AGHEF"3?UQNmQNQb_t/[k(l0>k67@]d#XT/%XST]p -CnD@0H:aaE5m[Q7,ET^0'S;-<#r!+bP5$.s$$f[!Y?gEZGV',,lc:D@^$^N^c4@cB -oa,%T,_Wt#'#HHt#L@u.P8GeSiKP16E,$:YG1mElLc5X5YU,#(:)Cg@+q?pZ%Z!t= -"pE#L!b/B8JMCI^^lYi;^dqXd?n*UYW#?;C'FtI7i!@5>=Tnh3B7pP4:k=HH#!gHP -`qV6paO*%!`ED^6&=";(FF+X084a2/Cb:=%OV/gr0a8hL%+NE^"bbBr(&'DX+%uhE -":-T@U'rD?5cPtq0IIFk+@M3V.S$OFF-5Ha%\K+T$$*HgKWpXB68U1u&"JdbEkXsO -TbUIYg-h3&Er'2Pj*ZoF<61BpV']%S;?`;N"?5L#++ra),d88R,'6QliEn-Da<(MG -GS2,A;[D>Q0EaYR)Zgjl%q,H$$#j2s`Ln4e@mC3W!PSTSq!A&k[!huUpqA-hpG$0r -!07_n!Cj<*!@$l(JDi7%^lW=:TNE8F,_-1eC#(0;fTh)nIn3qN6jI7n8-:[u$E2(^ -7OR:6Jf/_@aX&#W5hqqC_Keh+`%;5?i#r3f6VRn&)[4LN(nPpp;HgJ#@I?\iS7Feg -_#PQD'iqA8<:gEGgO6(,%B^Z8_,tIfA#tF]W<*0i93?3l3U#EB,LB7SWr^"'oeF7k -`/rqnV-F+&3klt6!E7^k9[o%mSp,)tj'2sUQQc7,_^b#KFD`MIdp -JkW2T!<#m[.-77b8BCUm*+j$/RIaHnc'b=cB"[#jF,"b]9t)E1h!:JOeo]5`jki2Q -gtGAagO4-:,Jpuu#sqS[#UI/K]/!nh_:>.`qAp=R\/#b[TMl2D.J\W7Xf+g5egfcS -8*A,oT:j;-RR&n[KZuIjTdWK_HBJ0i*EB*3cDf4Pn>$.IC^i\_0F&at'SR[^#m4:` -"/6>pJ^G%6KOBrF@RNB]!;78G0Ob>RYTs>O?4XI]3!Y,7;s`KOGWgDcp6VjetEi+O_i#YZ&MWr!7ic -jL2"SeB%l),AZjR4):(c?g+pq.h8B&)"=$5Q,JkuW6[N1cQ\nU'@tc'q`&1MR+VKHuDJrE#k;b)^lq^BHi&L'S=+XY/iMP -+>s=X&VGZYK:"Cp0JS0@'nV?_!Uq*DkSp:$FN4f.Rj3-dMdcu:41D8;\&pr>Z[@BZ -14q(LQJ$#/nhuSV%b993="Q3&A`c21mS?KGZ7n(et-? -:'I:4"e]:TE++K_%gJ,7!,-0`pJM8^.5SsPhO/7XXb"sU@,hGV@[nD+Vc#>F0E%e`Z/P:8QNQCY- -O:WBEPbrsSb%NEPN3n3/j@Jbm9"6QLTJK>jfZfAB4O_BNW7q>dn[rZi:>3RuWPCiA -f+b2)4c%u^6oY1oXUY@%JFb/*jS)!rpeKoFcZq(U&I9?*#J(#^39VoF`2,HsZHs$] -:`Qdf!%NSn.QlW:cs(h8JSMp?LQIo1JaaJ,kUM/1.Ka'&"(4cQO@tH9VJ1,]Z -,60>-HNsfY#7CB`=BL*@=n6<$*:<(WXd -OhhM.)]J7N8/t2^+[;()&V2Lj&9B6_ZGA^=3>,6>XIMBaX?A<&b#F8K3B^Cp7&b`) -M%Sd*<2>(FXCtVI>#iOGDR\@NuTElS\]P9n*qb@b)T-sAO\h**nncVD.;+EDkQ0I[$!-j#fKJuBCcQn*_a.Y;UT!b`bYE$58/ -(lBLp[JYR,K2kGjMkdA,2kiG[i]ftI8q`j0"&5(1j9LQ'Ner@JPTZ%oC/lU5_bNHL -KC,6Ub"]tp4j!KbV9lBn,Kp4:[=^G'g/pVoD5Dm`SceAXKGCA;-*%.K5QgdCK=Euf -fJ_!]eMsNLWki6i&_%N3eOq2".2L[kW"7Z=9EeM"h6#c\6aa%?A9:, -"rM(TOD5"["G\sb!"CJF."-UWI>>$/LTl#R@!IF9#_oieJ@JL0W"&p..Y09'K")eP -\1@\X/5B3^K2onn^d?n+X98NW>1bomXdf3V5T%fp]NbU"1@u#GV`/'T,/%T_rX>:6(UjCgd8sKZFCat+;%C*gORL3 -6jW+r%8B3Tr`!J/?g\8/Q3r[=&#ua*Y?U6:3&+!T0Zq&f9/nN^-5-Y#'8R<^9k-p" -S#%\:Y0_^T^=_`Q!#Pb3/HOc\K:jHAQqi4*:52:L#"X%?.!e`J/I/ccLU_>S0QF"p -B8*8j"et:83%]\H/CCcmQG=7OX,=)c$-d"h@.VW;m""5":YSgi_878kt@%KsN -N_3ir94Z=?jPER@k"TCS:h9Q&AG/o4%T;C0;e8ZuZB4-&,:cme%DY6-5\h_ti:p)3 -HlC=#^nW($0' -q#inHmncga:A\e99A[Y#".RO9aHim0;t()Mhu^_XmK(WO$YBep1BBXR)*a@Z&Y%G3 -j[TYs(CK8$VVoQ%<6FjGdsKs%jisY5E?>g$nj@.O0[Dbl^Y,l-OMXI&W$;=V+p5Ul"2"Se887WsE<%\4#D`BcN]jTHGlS+q -#7pn@&8;+eBa$a)Kg7QsGW,Z%$N[^EoNquJD[^`;7WaDUFH9%9T1a9m9Q[I3oY4+B -mnOd>!d+02oc@>q8Hk+Y#:7`e_mk_?OlR:s9TEP;WfRbF(tmhe-o'u'OMJ$lG@+tM -OnK#ep((VU)bBVZ.G$ee]Q>?nkCF5bP`m&*AMo-h5"bM2D5alD"eSEj'Cn5]Y -JYHp]$gHhiOe+2)u"la[5V]@1NnY9!KEM7I_pb/4TibfgdS;srTAhV7N4*YL7>+FVH;HKS.SE2n,$,2B"'A.l0';T(oE5p""/YBV -YVofp[G$+sKJ5690L5b:6%eY@KCDJ6!(mE>%#&q:J='l%YR?2iDh.V$LH#s&3,a@% -Dh_p:L1jkCfNj0g%>^hld< -bUjD%4qQ/mWs/k/J+%Lrn:#?O*29YWZCXYUmWq=2?aSfalcijSUg\*_1tX8242WnR -,:sdJOPB/2QkK`+"D0nN&;s%VJ^leC:9h_gGDI:!quFJRTEjfX!<.Iu+7\"]H9id: -4TI-)clod4#;?j#AJ+DqHRanF@kj(`?nW<(7=qd@W)>Gj%*-9EkoQ'iVAUi'3e=l= -:,3Tb`8YJfJ3G(a`T&,/S7Fl!%uGn$=c?$_7#)?^&pVB_:"17[I&OeSB;r -rEdNMZIj!egKhhJFgp2pGFSR*#CFAHEB%307j"#9k&Pa[^3<)@e*$CM?#HQI[Fstk -45IXNGJW>0H$hf*-_nrNp3Q\oYD9UIn+hB\T76m+[AkqKo*TSU4uO0 -BUhPsS8B7d&_q:Ga&2JS+37=gM&@\7BM0V'ZZQa!/`k4O#_,ZWtm99iGle2pP?Dkr?tpSF&Gb'AW%?cVsK35L<@=#s_>: -*=kKa'0p<,d@m*Q7+,%?'hZnr[4+bt<2C[3dE3kV)hu2]F<$(0i-(n$JbkHN#N>H2 -+G^(9KHUVQ(ks7@U*,I@#f8ih?AQ#FEEJ#33-ZFm1lR2[L=C',)d*4gDC,[!:mr^; -Q-b>_#I[HI;$OI:AS4lL("$[L!;fp";GMZeiBTY]U^50S%)R6W-\h^c6ZDVUi;rTC,fWkGIEJ4lpkiFGPPU33n@Y\0A5Dte -J'@gR\a\VV6JECa+J&]0V+C7!:L9MarV(bB(;S5)H-<_7; -^cVk;p`bRB4sbdDB+8;17uG\4/4E[I(#m_KMiiH.!RNq6U3f92`>fscn?Dt_(i=mK -J18MS3"hOOh'h4L4>#Z"&(h1Y=TIiuK7\mf_/VVWW3QO_5Yf]-o$Rkr(b,`oX;]$U -5SBgl&rZkD!f(1Z!+Y):Rie.[H!HnSLa`B)2gq8ua;(8E=W#_N6G)]l6221f0(ZJ['M/^N="!B<" -^re7UR(Yh]"Uh$R2Mb2P,t$me&YbLrMc#on7d.f2UJuDu;>N^OW?i^`[#U>JRSc]A -4Y>(e!0I%>S_lDfjX0liKp.hkWo/9>f#pC$Z-E-K[87@"E]R(`7=hJSI'j"of6-d5=K52=@r%WY -Y-rN#-j@g(2>Kj.[g0">0RTkKEYU\LcrE^=.DM\ -nGXSL":AF0c%U'GU\R*u"e`dL!`3&,^u-UFTTg@J?sjRu\3(,W`$pHR*ZN%BXV#$L:C#i@ -*5\q$#iN??K)dq@!H94d^oS3$[b_K](2XYO]M[i2e0!R1GR%dk)?S.T$!JH7cbW[J -21/%#"7'M0:g)(s]Q""(`6a(P9,!078g%_u8I<3.=6#r^!WbK0#RkG#K_PZr2'X@^ -cBP10D"n=1oi%cr;cmf26=m0V;MLXYo@4OHXeMXHf@o7mCFt%?[LU22nVT(ikfk"j -n1fl3QJ?-*lI%>&"-!PAN9]1J.-T/clOi.GT%11S.Z$8C)$de/dPAE -T$-pF$(i]_#nnBjL![Wf-:hPRN@ZkN^s3gM0O>,QF=.2m1^h.h8d%F*2Z^_L,_3[n -'qe6$Mi]&6"t0otPIS4@K(Zr@A>gM6"Eb.2#W%0r#8TWW"phHE"@DT2!l2]_p)T"B -p,?II]p#dGT$c9h5Afdn]=)n^jkP3\E:2Q.]D#Y%hYYoQmlgZ6dqXG0r"jbM*W*_q -%g7Q[!aTc1,2%5UjWQp,i/D&j`19N%Q`A<:oA3-dgJ:3#rV=G.Y9K>LR[@t?!=Z(QZU!SrZAC_"FfQ&Mi^)S9(.lfTpjlY$0/ -[e9XCfIp'6A?<"7qqgrjYFi)prkIRl5FmD\AgU:?bR1gqE&raSl6q=qU)Ci?B+0o? -1.CE-(SP:O_-e!D3#+_O';8#4!BLnq4TUW`!MM^Z!CRVf655M2'bDu4YVNdUA@lYY -Yj9*1L6rBD-4eHq%u,ND+RfmQ7'tru"j):6D9BdD`XRJMB$:#a$qekHW`QunqnT(C -@)QrUi,8hjDeAj^`rt-*-OG<"E@`ZY#9\%\35_dp$0>n-9e:caf)e6,"JGZ#8)htt -Ie]R\#0"IQ`S+R6(sQnS`dgh;!)>t:Sd*/O#_p2(i;sO`!Yf'('O`=#_'TRu^^OU` -&C2t$?qA],s -_)2ru!.]k6/-';p.&Ms=@S@0J#RR#9@3ueQG0St_R-cm(k`YNj%iCFa(s`d3&W7M] -Nu:f`Wf<+!W>I&NRWIkfg*c1uN:=js36)K@`T18OjLfH-]I2W=*2`uE%6/$Z1g<54 -G2WK/T`Pq$C_WS+"2U->!%8ce^&aqA*5Dn$_:ATpe/b\'*T.,B_:Sa=fGq[8*5TDj -iP6==(`@&7'HlfH+RBGeC^C)D#iKq2i-&R$HQ4IG<.K(3.,KsA\oQr=$R!+"Y"fC^ -RLLVq%3Wq%@*B$e;@Hso"$kiY5UmC4A-)dB)#tKk!Ls1!S/Qnl)I^'#6-oV*c5p?r -*c@G)WCS+]!$?da!!2^2^]kaoF9'.!&qCZ/JDpUfiX)8)$,BLAi)^eZk8A=+):In) -P4(&%o.Q9s0@KSJo(t*S#;B'a0Ja4nP7]Lt'/>.GnS\^h"@Y%d-S\4\1#OhWVZu]& -d.0s\N6%@gkbcnZ)E0<-Ws$<;ccIu,=#Eo\2)ASsP@6>f#l:l?2Uc4r$L[VG3)Lur -<<.3'DfWc?PR,8.3/*%kX?otLpf?L.#g4ds&"m%D<*n\=qNH*qZXZ'qAl7Z##N`5t -B5.e8X9iS72Y4C:1XA3V[f&ju%>:fIqo^2a5c^S*Ct1c#67cNE=g'$tJ!5k$8=Z=lcm$KA#jE/MJ*(iRFq#u.Zo -'U&jd(hQGt$>1i=PK;I.G]>=,JjCI[!C%Bno"=@]%'E\@$']i'aZNA3$Adun"Af5` -bQW\e#8$85!<17^Og=1W9rg1^44j"DF\F2$2(FTPYhp(KFdQ -!>Lp^=9T:h;:@$PQ#e^GF]T<%=4MY"'mSBp`u6AP)JDR/&`"lO3+ -J6nSAHmf@JK5Od"acm2_Nl0eJ$G`YKaeY>4e.#gV$XiN;!.#4X0E_D/'gNfT+aO0? -H5\[5)o)q&_8H>i_Ao3W*21d\U!bS;i#_q#*tke2JbB'Ep)a87*s(R*!U(EZ#T;Sb -!?jW9^`EsCScWQC!haQ:?n__KIoob)D:O8Up=jI#kAF>dDDps$QLSkDo5BrhDq=T# -(AdJ505uf&E&R`86f0Zj1@as54UT@g`eX`X9\5PR1rR.Ke(8U6204u1F4W?lpH(6R -CNML.F;I]Z;m?,<&7!"b2oS>#5^p"ng++;5F_=\]^n*%[Z=tGNG49sui1C7N:'Y@] -;6+>OQVhkVO=6rbG+UN7R -_M8jtLE-^q2KGk?'9%0q%,)+l"q[IeLX[r)FU_?Y@Xl3#$g^LlB[hRVE776J#?9Uh -^qRK=kS,lA&iB4h2#.^35hd"Lj3WQJk&qK)&rpl_7"@8JK.u$aNX&,2URZ"941/FBV*6ZTE`t8&\/Af)%qFM'38XHXps%W%\X(4!@^`F6,D?8^4(Z6>N_.j#pBG7$m'7g>ibmjl, -edF`>$NQ1jTSs*u?rTC!.&JLuehdQ`eFJ!$5S&!!1dj!"9\F#Q]J^#ll:Y+BS^'=p0@."J@^V"L4./GEVfLP<*ueqL,:\ -LT"C7W&g!X%@Z@!dgJ--t6AnY1Kk[pT^n_pN5#NYF>-f)ZjF]HrUtl`%)>4 -$h8GQT[4%=5`sto -#f(Rf+CG?b2.KR7'8Qrl/L,eu&?tL3#/Me&JHua;T]G%N$>8L'fI\*Ue;qDf.DZd2 -!@3?fMN.8Pj>K:;i87(-;b3u2E9(,g$%YZa01i):`HWC]WP_QEO_1+cNrDETl8(V(7=Ko1`FQ: -qPVMAZcef:bC%"HUHOfK7+l^CNFtFiq;RB:7`9.2c.q1'-k+LX/X=1u,`H9$)/*mW -g330h$m<9P5eILJe-UZT%cD(3_$1"8";-/6&Rd-j_'fti/e`da"$n7EJ3XWQa99;s -$6WDp5[4SFG%0N@Xk`7jQ)sSOM`?M!#^CI0EGPqHN!Vb^$DuqoJDq2LW>@g1(P0d3 -!R5@FpS34_6OsZ$lT/.!25JfTG/'4 -c2n!kTYP-%!'2n!C,3H,%rYs59EW -N(ACjMni!3.BC'M8-UKsmBERcWeu,K=$"fO,iW9uYh]T0j1n?N'sUrs1#^t^[(]8q -Skj\P/`g;;jk!13Ktr`LFH=D"=G;SlGUQ[jM$LAQcbOd1>:Xi&?fe*U;< -(SE#iR?A<$5QX5:&n!+#@.j[FoF$17$Xe>c!-e]u?j8lDpn`QJqlpc\ZtHU*>3iu. -oM,kXU_8$lJ`,dFCZ#PsJB6!o(PCZm#cDToLG-CS5JM"N#oHaYk7,30 -=E-/_%07;X<(%<\%oS>-_/Tma0X-1S6n41g^F7k4#0%/1QVu<`O'1Jl/J?c-'?"P4 -`2F]pppQ$N0aQHXH -/G7+uBSlYW."VG,JKl:qGVUTW=bR2kJbX2'3ZSW`K2FV0;CrcF7cNsje9X+sO[s#G -#rIZ<-'V$`;V=aX=YQ19As56^b&K;/c0&$YjSj?hT2;I#3].\87&`./5#K_XY*7% -m'eWA1Bb`Obd/#.1/.:=dl'o6FOrIrZ\7L%::#g=$j.Wro0(DujSqAD<@A_EoefZFZ%6RaA-=%]5dFP$E'\'g!AIcufQOZ&Cfm": -[;=T@ot,0IQPI8Tgc$P*F'U^Vf5t;b\,2mEK0"'^i%!KR)?i^j)0St9O\i]5Chk+ -:)T=/3JM13gfOi6+:%8SQFmRa@$W*O+nc/0Am)9rUhI>?O/;)%A]7\Jc:D7[KqY0d -&e*jB3)#`JR?hXjVSUIa*64^)H6+2kicTg-=j-sf`qTmZRfGIQB`SEp?3cb5kVbU2 -@5sJjL-`%o*XBPQN[,![E;@Qg]TH4:%pZ?*TIg0mPU-V\E83@77#<*SOG"bE3tB/! -cnl*HW2_"s65'rhD[0Naob"!&^BdqsN4qPEe$6D,G/W@DAi&CEuaTb$B6qIqX -Fb;Z:,RGKt,SYTsi/R486V,WpTS-G^71XdMfCfSZGJGF-IumdQYp"VX)J?`D^-uN1='IF$HKRj=/#U9U/[ikeuKa!i<#o0Iq -NXG#=7l]NL,F!>3&`,Z@B_`]Zm!FfA"ZmJTb#unZCFuch[luLoG?uPU3sT@h8MdZu -?if9m7Oh+L`JeV0nCamD5433O6PgicoM<%'AWJG_:AVl=PEiYBOq1[Ot/eb -XV(VI7u'>t*.o(M$t2sAKg:M!_D!qNi8>=NE)m3oa<+J?Kc3Jh8K[1RJu&%)PZ#(m -95.*RV3Ji`;]9@Dl*W:E'\8f'H?E"tjZfYc#+njEJPbVh7B%"7V,Vc-;JKc:"5n\? -Jn$:Z5,XG=R.DHCoro,en3-/].[f5 -eXj&4\UcO55A=rqVI![.*s9lQp&^U[$;P[g1Osqo=J.KaQD32=H[09Vot.JZbiAk& -@/`H22$`'@*s[li*X.W<(.5;.%`.-*#Di-T,N=%m>IZo\f_GLLjEpq.n2,Ydd1ZL^ -982:p(BP^5#XKRRKOC/Z_HY*4:.S-j5ucrue!LG:BHr1LN;1:Xk7L#d5_p!Dn:Qj@ -Os)%NS7#k8E3YB+Qrk+,9K;nO<)=4[KKN^&OQHUIH]2mI28&.5+bY3UF5aLq"O&]4 -Yfl[YblB$opHIeoN\;!\ouI?]M%X.97q.j#/EF;([/k9$\?F!;K5!"NEjQP!@Gj`= -\C)J)n8lea-o..!!@-OXl@ZW`8]9Q/PiD<^ar#(A#2JGWKXe/1!WP;K@jVN`-@]2! -L-fGOLPH8GF:GH94(`O-Kn4&6#8sfqB5"7ZU;QV]EHJNV#fK!L.0h"A/;B8W,?*lN -Vlb97<9fHCX*&$XeU#8;-`MQ(4rJf%0:i4 -LLAZG!l/OY5m/bBYZ;Bgi%#1Di#.<$-k=1gZ3DMoBE?MR42=DUT);(GnLM8$#<2i+ -j%ol<0n'5DnC -f08Afs.ONUM9n:B6g4IbUia>9ds=ecl((2>FWRO3d[ISG]%u)jAM%h:b*JIgIm2TN9Z[@9+8%RI>4%eIY#M8OPM;+FQc^4gnkNIpVU[s1mD#$/jK8!Smb' -PPCaZi4O8fnbtJgGsOGO'++C>-=H9At[o,b[QHOlbN5-E]:5mQb)J-#@- -J,oEb?lX"jO;8K1D!'nn5I4+#:+[K -_?2/8q>LEY.NNjN5[-ARq;q@I0S,rQUFJ'p -8iU2Qc+]6RG#%'[qadqL/PC,WD72UQ%UX)8>[@n%/?`ZQ%W@S[]2'V26N -!P8C71]N'*1BP'AK/bo:o*E0Pma5s@'H[>.f;RXPjnl;%YYQ3Yu3(o -KIr3L(pPbMMj-.V4QN)Unr*huZg9atHorUC4U_-[Uj%(8uF&NXk1[J0D/$pHF6>68842OeF`"C7k!)^PgY7S:9knR'c?'dWAYVQ:;14cA:JY3g16#$F!)RJ_;X6h<5V(#GfB\%lO -epV;aQ"sEsCY%$Pf&^^Koki:YDV#&3f+i>X$`ck/%ij)/%Vp"n9!(cIE6F=\Q5QZn -jJT'ER>@P@Q+E@*Z;:s,WRqd"/$lQDYcZ!JM&iUt=+$jg/Vhr:_cW/A2aNLm+cj9I -LtIE(ah("eH,&rf`dUC[@5dbD1Tdk -Jm]<(8.l"!4+QNV"Xj\2,4c"u=5$R?LJS$W87V^&A-Fq!KePrGpdG:X(k\2.!Z3O6 -9)g&B9u?s0Soif'KFoo",D+9r"+[m9CAgMPriLfg!f4I?\jrXQ3!B2nZa/O$i!U$aW$lF&LUI -E`YEs?Y/leFnOX;1X`Z^7+r@XoHS5a2R=+hG;e'fHc4$qZ<#E\2[L8hQF!8sF%%6N(\_!@)"#r%<3'RJ[56Ro3"K5=P -!*+aj(5MaOV*Bi`mBPEm@b7HbDs -1VBb/IM;6:WObE(0GBD?533?t]9n@Td2Z4\]sI!:]D\5P'qFB*FZ`E%VZYRE)3!4Z -gL[NiA`d(Up/pGE?tK2U=Wr<-20qB68S/mYQk!>O\Y2/9++e8QXeCq;7@Igp@:n(u -XG*3r\0cc'-3Fel!sh#>kWB#&$&'l##*pCk%AnnOA:RcmKh)N(5Xp;!7K]S+"/%7J -'Cguk"eG]d:8gu5Uf*`0jFN!@gINuh,R)Og3!8^g".]h`Z76k[4'h>=SqoYLJ]IrG -/rQFYYgNA7obk)F#?qW?cCG'Ul-I2+NMA!%1%GKRELrg;/^HDiZpEkO4AT=si1sa; -l4!j@9,:7:5eU`E:ZqaE"i0Ce3\bQ[4=TO58[C-!TF -b;LQO*`19<177L).M%2q'h&rehS@3=d7)pMae-E1:fpb6o]a50o0cVICaML8/k#%q -_sC9shjQp?dR8_JT\ml\?et_C2?7+p!>WTUX9Je;:'Co8"skO!N&2D/VB-@K9/S)Qq%h0E!_,@*<<#Y -!@S?W2T>#X_f439nE14!pC6Wl%e0c9nJ;i.%hnI\'QH&GnR4$n\f.7fSV3urG(d9J,X^8*!b4%CKq$"h>B)rMl.M\lr96X-h(D!'n04I0U3X:i!4 -)m0*PA]^.2%W1d70QS$Zo,f[Jk$kG71taf,9:muAqnskV>2)A'"TOT*?&4:.330)qB[q#OjZUZ3C --9t/b6\ebfK]Ae\eHB(l_h'Z!9a.8d2B@#lT7\Sg_@%Vuruc>=hOVU?9a'>U(8,iD -TX5e<9NK,S/YnR`"7e:dKb-#^,f87329\(VHUJuU3-J:)U4P/*CGW4p"R:"(.f'cE -!Xthu`5M:._?K:l[$M83K2`i:Fe/5E%cC%lN1MrH6LQgf;"ko,7Ft] -$pj;3ZR6j1-%[NkK,?-A(d8$m4p:@%K^`@MOC/;)$AT19J7s,b\9\DR2lLHl%K5\^;7C'FAF"o(fC3),%8'n`_>!H9H>=;-<`7KDX@W%_6U^^#S' ->l[u4"m?&BkZNEq=bR[qKc!A]>h/mo49D/^!h^?[\/9JbOa.2]rFa[ZGL_+sf):Z] -rKl7:Vq_0Bh#4_72q%j4B!TF$e7i)+u!WWsH0VhcJqGU+\%+54dCj/M36! -_GTFH0>3E!I`F*jVsjVWnFPi5Ig>ND23""Kd4bYIg\g5U\W$+2oD^36o@W#Q[W#jj -&VC?P!8p!&8:W-m5aIW/!<.U;+Rk`m!WNUa_kAeE4/`GMA:iJaTTZ,g*^uUTe,U-To^4WY+<,8#I'HTdqE7@(5"[(1*9>Ys$/c.,m>;I3;2\jBC;J%;86 -fK4rK%.Zg!To1IGbT_+"XQ:rqT2TE$qD:[+o;=5+EPrGAZp1`( -lpFu3Iajjr2/Z3Z][A/'MVoA^6nTUkNKP0>\O92$J"1iK,^NV3dZ:K0lub.`N5=CL -?/cEn6@F*.@N>r)GnmX5#Mb+0@EDk?5ca5n&-rA"0`ZknnZi1GVZF#tZj\r\!b<"6 -KY[4"%D=FI2$lU/S1=o_d*+3R_XQnL%muHV71dD""AKKHnLRNP`DLGM(WDMi>o:SD -S8B-6&Zg$ma&22K+3/C1I3D,o*/u/a&gW_ea`:(C-cseqRjlJmUnoQa'"kV&99RMT -o=r*L=qZUs.'GFdo1KTMMWp4[)pSI\8g/=ZM4FOCB#[ -_.Zja"Y3,a*!ZnFQGe^*Yf&:q%M6i=duO40:Q#qs78_R"&>U_30*l,hXMI/*[B*em -EZ9cXOH:n#K#lS3N&_f#^);dfp5p7AQfjdU50n!$2/Ck#:Z5U -)SEf^3^JKG&C;7&j@Dm2(1=CXD?0spfE%OUO90\L+9D%VJ-Tem!Lj91$=T/! -8O,4cj*5qYLZ%YW%tfDR3sgO[m'eWX(qqkcA!kP'NT8\%6':4'/k(t7R6FW8jdASD -Q0%gZ@@?7\Y%*s`RDs*6kF(1TSS/o/K:h@2/r?@eH;9HrBc:p)$[^& -!ZCKT0*SiR[9C[RKk\n.Z32t^56q@ThS%+OPM\5[_Eeu$7>4uB7DJJAhau;hh+p\o -oc7[Ff(L,6A_2*rO)*GBh9U$X#2BY/)i%kKF5^!t\8C)WS1nU1q4"jP)Ya4:F5Qd7 -Dg1Mo*S7X`qd/a%n,%SF^%$Il+3jBT+",V1rI7Vrp\j!1g\LgjVrddT*T);f/.6-E -9S+Eo#iR0WKThc7b5aYNYN>XHfGOeK]Ff_A8dIUGD@Ah070S5N.0>$o)1`?0'&["f -&Wr5?^]=6RJ,k$/ci?:$@acMh/fG8Za8ndJ\cLgO8:cmG*.\rH$fJBEKWoD.NaP6^ -OY'621NFCq(fDn-m'IO^(^^sZ.=,C_Y(VJ\V?7r[N(3.t#M@77_n^C)U!VSLP-u,m -=n=$Ap`(Xcg?8o0,`b@K'*DA7&OJ0@$De"^R::skNduEcdO[?_&E4VG?u-7fS285_ -`*:+>K*oFU:'>i)%mf\K3<5]dJs>='c;6P.-d=Ou^rDg1H)Hs+bjL5=C`&Dp=B"bn -,6LMbQqoa,",>#/(3"G!6@?l_F"UNc!8/2#:eZ-We['jQ:2N:D`s0@"Y,Uor)J92W -NBu,`b6_FC-03Nr^kuNkPl:mK4@rG.>##4`L(:%BH3Ab@#9bH@3oqJ5-ij6@8J'Pf -_Orua9oorF-75A?_dB-;7Z')2-Uju9(SarAN_tZs7d0dkU^[&Q+6:HljL]u7@+9Tu@(BP^a%j4>L)?c"GX#j]tC' -!?X[J$4Xh!$,u,##@_pQ"!KWN5uk'G%J2 -!!enQ!(2udJ2+2ZJ2"PI!%^YF?m$?(-kls&e-c@d8d5;R,.CO+hGQFZDlrEA\5rmo ->RQO1mQJP"(G=fSgQQ^HA^J!>7d=8@X`U_be[mbHm9SJWGOF;G]@Vr01SjpQkMR@F -!.m?81[GHCW%N[?[H1as%eABQ56_H;ir[E\$"MGIEn?SSdu4J8Vd#h.E*!609HA`S -ILUbP+m?QdV"#K&c[g=0ff]0^o]*(n_AJ=?@U(pM0g6r'(p=Z`gf'.$Ah_3V`u8GM -9_'5V$3s'4+NG%YVt(9_Lbf9d]H%,/=:dfT.1+uV -%>]"S"%E:c!!D/-!!2a"a5etXA5IsjiOT'0kc+\nW&t+MmM3Q'TYpVUSFiZ^9#M[J -#s]#q:9iML(,"nNSdlg5_?LZQo?R6YKXNo7"]$Zf:OSk;_A&[Kb,cIT>Lu4C*-qbK -o`4B0EaqEE8_/#",jqe'%Q;nn60\C?bXr][NNC1P@.`MP:fB_$PE\C/;LSZ6N`s82 -^H=RWAT;"jJM/Ao]R5d%E_]'FGt07D>aq$7\k8?LD)/&i;"d[k2Y$%+G!pQm51?>2 -TbKB^W'o2tK7.30K$[g].Sqdt6PCdn?V!>N:TAOkW.;`&`8-*Fi%LNDX-c`K6&[@Q67GnCeO@ -QqdhC>SqM<=3>s#\b@06g\]lNn%Io!pg49cHk25+r]eBt+"u`'him[2B@-J38*YLe -Xn7`k@KV@l&ms@BpXD)pFZ8!j?Zu_Al2.-EIoW%jQQ^_U##S4Hs7(SDS,KX:q///i -3kZY\GVB%$:]eN^ON#F_GfPWY/4BL,)#mDNrt$=Sn0J+^.0;1R!cT^n0JLG\IZttD -5u*N_!/r6u6N^.<"Ro+h0K*i\(%G\"C(T\RKN9e03=5rs^lSlLOaVG""1"BkcbEo-]iW?6NK[YGn84K&o/q:Pps"U.IrlV&tLL-W@DqY -/.TCU,u+diS2Tk+#cU/BLP/D6$S&HY/Fq%;-V4KG?3WZ:"lO>.?qLhn*!8JD(B>Qn -iJ%BLKGi\`)<+hRgV\f8Ep)o95giP$62&fT`!!F_E6J/fDW9ELnY%tHhS5bnQ+ -TEd_e#68KBTOnAc=9YN!!JKf:at!T1NWauE1]I7 --R*=6Kj#k1E4md0%r$j\dubk2R3NB9,u^KtZ_KPPV)kEZEeGD7`5:/`Zog&kT'aVZ -&mPR>*2^[M4R::jC3lfDq$aNG:osp.,.`;]_K#:A"*d'!pS -M?n`Y#_:n=+Q='M9G>7."$r4l?mK&D&fm+%md\sJb2geJhuH($*2!QWTr\7qX;.Bf -'qks<_$CFAJd[,N"ecnQ+>=WUkQ#&TZ`MOpF>+l]4s".D!("15i!L>&9E>/h%U^=f -@"&0MJN@nD3n0c_Pbgu/WCdl,8p%7/['<8G[7dm59D#bg'YR0sa\6g#6u1)],Pr(' -8;c`n,]Cq&0?V$7^AT;CrH,tJ`:l=q?R*F2/RVUU`n`,md86"U`U\-NciI!VM(FWS -_?Z>SB6u%^N-XuX:pi#SoefRr3E%ds;ft6&2*h(0Lrb*t5!Y/m6G1a@Ahh)Oe-?(T -F[&oL70=1TDFIS1i*Zb^S-<;f%%p3$F"e,5+9OnN'U('a5TgjdHia=p(Z6>N_1D^H -J/1Bq(-t+ciB.^&3"]Q`"l&L]sH,=%<;r%Y=lRaU79`4!6_-6XLF8nk:=H -9lUq2Yj4A'.po(lijI],[HQ91O^?MB63\r91s9<,cXCu;@C@=fQ6fu*MS/@*2D]R\ -C'*?/fPPKD4DK&QDE^IKGn[O6kQ8jhW3X,@&8g?;;;cFYp1/JmApAK5B(g(S2JT*U -a9Dq>-VA^q5]d2QF:LQ0%RF%r5u\gh*#q8q!?p#8J-[3W2a]L*7q)DgTuMigQiS@t -(8)W_Td0_K+q=TH%H*ZZ5aW+U6kFoo!^V&PTEH=>2[BHqC>o.5huFhWc2]$7)^#>( -92HF4rW/\m#_4Eq_#((G0\e3HKC-F&tX'l5]\Z -qb@jg,_lqT<9scfnT44X4R-o\E4\qHAQH9WG,Fk.13l`Y#:LH"\aQVkjKgH@O%!#fID`D%)GKM0ZS(HhY2Q$Qs`u@!E2i0FpHg!J,4qZ(`>knJqYk!!2.$J-$aB -S,e,1&V(]1J>A1Z>HHl&E&0J.K6El-o[!.\hc -E)(@p.+N/:PhBQ63FS;#AXJm>R(8?HllgU$Ur]Ye"E6O2PNc)fM('_K -Va7+gmA,EsUq0F!qGj?F=f"/_ggEq_5jSS\l5(Q](D)CVQL0[!RA[DK+7O@nJXca, -S.sm,'YsnS5m.W^4:NF/"@/Ub+A<"?n,krD(>p)Hf[PY_Ff4TE*s('q6/!;d#TR91 -!9&eH^`3p$NWO`nUDbeg3\@L\iNAX2Y.F/+qXq#Fq6)jVYBp/O3ris3cOjma$`j&K -ffF(-MKmkpQcT,on&J1$9#!,W:@_>FfiCm/>G`UdR9@#+/30#_LU%/Lru2`!4!h6O -[C*VL[JND$)dTm0BsfKYIt2bj@#:='I"0KA#B#HEQ]&;AB=PEj<$4/

        n%>7RdikLul;*5iG'F,!Znl'D\.47i!:=]YQ3Xd(B>3e!;llur!7g'EEi%K]VW@_Voh-$b5ABb -4KHYQZ-/ZFbIk[7r5;/6E8kBUT1XI87c&FRLjE=^5O:a<-W-+t:U7cG,lgARHStsf -4-f]&\=7#UH"_Mojj3l7cohEW4V,qG&^c"HaTnUIK%l_FKF*!J"/($d3X0i[?.$>K -d>TB!F`4q'a*dr24g"i(LrMA42Qj7#*#;q5PTH4o:f;lPMVra5MiT(gu -*#KhC"(<9R!6,A=;@7X[#[hBO!,#NojqaU6(7]Zjg:;+tIAe=)!5ZGgJ/0#R8iVjkW4br$'+l[r&ik@/,Si,O,2rd#q^NN?UB<@SgG5tV\;7V1d -B(aH-mVs_*EIr-o($F_.AE'a;2LT]lj2t&4LiK#6:iOIj;J4DU60O'rd!Xi>hM]k^ -NTm%*l$f>j^7thOIL$"*#k1<6>BC-<*Rb7i<^*/@?H)7Xo49H/]sG#3;j675g#LrF -j1aL>^>hgl5nioV#CTV_i'IpiB3O9N!+F_*J-6pS/g!6i`'4eTiSjiGiYS/o&HFj' -^p4+dYIWSW#U!FYpW*dd8.=HOt!)C5&b"of1k;9?8d2+[@g]"Nr,NT/A -50<)446[06+9Oosaoqp!_-mn"<#QV\L;Mos(kbX+'o>AROa,Af3>dfHj71e*N^Y7U -alJVA1o=D+QV++ffo3XV24@8%F.'E#EBBdgBG8N&reEe6;['_]b]( -#7#jt@IVp>/h[fq`FEp*r0BDnOilbUfpp'#0:g@#Z^Lb-LIn/fB_;.,7^#goeEcds -%3"='iHs*mC+babjkcU8*Br%TATbM!^P*`%g>6Q -A.]&4E-rRK!,$k%#aYYo5!K@i@$i/B_B=.A#@X99)%.TQYWp#o-n8,^+E;pK!=$s8 -!1nu(!.I0\l21N'a3Xg7*afTBFoZ/`VurKB8/bHg^l\IG!lE<;$]%)F0GV2PjLHp* -Er7'A9(#fl\nXD;03hf4%$GLG`pUH7U59hgJfijl(\rGQ%Dh@!EFp -JDg2L&VFLOAf$52=G#.)Xnd"&(Gphh=3j>ePWP@Rf_*FZ*:K'!l' -l_mUI"5s5G:hKFGZ(5MFhK,9$q=]H4k^!GiTkM#,O/6ODAs5eiY77s><>d:=*/4L( -dLluL^bAD!!+Cn(!=$Bi!Zb.[q$:hVDV5<_n:BEsS`Q4a=cWRhllh)"#^dHoJ]M:> -`1`9W('u2k:,!2%!:Wd9jRJ67R-/DkG=X+4diT[P\,^lHTGcI'!65\)"W0X(+@QWF -Ybi1g+_XOY"MjL^&*_oiQe^i=f6c@urSN7bG[:W1j*8:.M<0!]?^'Vtrcb."qL44! -l$C(aYO-YmkHjURIep2M8e#%fkN+"/'K$7VKh#B#NG_PBLe;l+&b9 -']GRGJoa[IcT,W+l^^t_FO'^84=>7@Ss.HH:F.5(+"QMS,mjs2;Stal@]P2:i[2H` -apHTP*f=n,Hl^90#%&2dAq5;./mqHe!F%1:<-B>1p&)bl).KAflB"nI;+^"P-Dcs( -QI<9_$4%A!VM1^FQ*?&X_K\hRJMaE\-#H@jI7'r5'n\o.;#R,E,cPo;]n0bD$C=+2 -IYHhs5YsuWC=E?Wo@A]Ig;-kV'jdu,L9fAkc!"m$gS'j6o?`r#\gfEC#/h'"!l1&[ -6MPa-!Rs[ATcu";R&q5k1h<@9ZoUH#koTm.Ho@47,UAjuZ=k6t%mca?Kg6@e_@-q\ -+OUQ`3ZJHd&0:oRF:eOm6^/`H]a%q3*CO9T&QSa"M(gb3KV04r@RLZ^!>fSU-lrqN -a:ALeU'F#80EZMRC"A39=mhPi\p$X/?$i\sDQV[*(NSnKgVJ+&(#HTiL@X1_c$F:r -hOdT4-Vr0I9U5i.$X&Q=NGn'! -J_Y,J.rA(2L!1Abn4$bm*,)%tT-I_@Oa?R^9$'(H-Y2#+P76Od^L2j3Q^,r"bFTeD -_!Dm?OG,/N81Y&JW"OiCJg,nN'bs(I#7No.!X@bQ+(,(saO0r3XJ9^=UYp'@EPCLg -.'*K%X?p(Z\-`;dKW^uq^k6u/%^QF+#p?T#"TVR:_N68T+]&o-/Na`!St+7DnIC4; -;@rr&,Lp1D&`k")PdQOXef*.CCMddfp"$\*Rc@aj]mm5/#/f(t(LZTP&US0Q04p7[MuM=gd!e2Y3@lCCGGF[!"ZHH07U?$ECCrjgZBpL3ED --Y6W`3a+"!lD"]T.=qGofZY%CNHJ]`hYK7Hqpt`7SYs3r^AZu;#D;LE(Vt!kh7Nf^ -<8Lj*HgdR5iV]%),hr50JkcDuI*mL-[C&q%&5.S_Y@[',QdU2/jlsHSW:a5UN31qq -'>0JT6fAS-!g'OPK13Bb@gE;J.4RG2Jcb(>d`S4`dZFd*MB*pX":`$M.YHY%%oqC2 ->+gSFH9l6/>qcf]mp#*B(T[J+L[tF/c2)o[lhpdlomZA_qu<#QrgfJJ?K]_t(\5OV -cm67);,]UsntSQeYVR/i9?Fh&rBO$\5[4OZ($,ISg^n?QIZck/@Lp.b72Q.,do)>pFqS/Np6*(tj]G\Q0)aB84JE,:5A(cEp -*dJ<3s(OEVsr7hPXY3LKr=fus]*!/Ii+#@LkgG[:Md%>7qR -K%!VL&/PBJ)M+#V52hkNZa[d#*'r@@6_$5*PWV=74N"fp6gR!(r&qt,5=?(%QMUTd -+S)]lZbOV7Yk,Q4;Q%?Xn2eGcPr!53ckn\%'1!m<_(8>Lr(f`i:;n2L73ck996dq8 -`WDA5!]c-hfW_!,;am3S_&O.Oa_MCq6:KZq`U#iYoNjua@4&ou$kg!7HdFb3Q,?]A -J[cQuXaNQKQo_MR -QOj]X_pJkp?,TqA(c4`Ej@B[68NR5sRA?=F.g,l>pS(&Q7BEB/Hs0-qVb2oJ8t;qS -BmZPP+JFT;!cf+pi$8Zf+dha@MJsRP`2^tE[5MbD3!9sYgg\BqR7j';bH/6I[(8o? -cBatl!=08<#ebd>Cb([6J\W+RZm,WN9/uu#!jEC@TImNI/qH8>[+HeD5U1jT(P1m* -!QmGk_$QpeRFSc`HqcZ%B#uHTg:k]9RSIObRk:UEcHXL-!l-UC-o-F" -&VG)9"1UJp!'I@h1]k;E8'iHV+Z[Zg3s?jOQh@#RAMm --4"5rBMnrel2r.B!uNA9==)5ELIPh#[!4$N:ao>)4Tur9"W1MFE*WYB"bl_\J3[Ru -3!0@M@Xp.AL):!s(gI&#>Qf!M"E6*rJ22]F$A%shJ?Tn^a:h?<)HC&^eR]`ND-0ed -=]KTJ-))>0_;-8^B6gmF558O/i$c->I:q9UaBi/FN -$99Mjkei -\Rq7PI94O&epnU'*>\_:("L9TsK -(BGWoJZKt`jCcJBUdtW#:%Z?1I)>ulDR=8C8-"RTChSqB*]0f?ba9u7L_58i5lgC> -XdDP1\."%sT7kBTKGZY!&3!:=/L=LGS(Jk:9Q&Ns)$;Q*K-4!@\54_AG5rb0#H.Y. -X-_:01t,i[#(Ql3Gl!+El%@VDg8HA"==-tnL"T/E!UT9,*@$1j9Rt2X3T+HR5QW2j -!=+.&J,jtegR$\DI"tf(LKIf33*_+j"p?n9J<2;`&./IU(4`n2E6]6^P<0GGqbVHpl[hBdGR -/`^5$j^'57hD,i]a]k$YEIo%-;#-'%9FqQp+pt7k=(iVB"m92c;AL4J079S<8qc(n -F'h`WWepqZUpdqLLk+^)d=M=''*ABV!_'"Nd1]D+ -6NHUBKocTEN7WelE.Boe_U*X6'R#Rj5))AFg&OcD3&6)i'S<8.!GEZ[&;iZe/HJ*f -K7tV)GR]=L*JL6+#DL!LVuYQS3ulq\\TiB"#^HW1!X=H_!'jWhE!:o>1B;q]JbTS( -"j^QL9jd<`?e/!5hG7\m:h:\DjXsD42:mc2fR[>]aUQtN'=;*PPhjI855Y,YlF,&V -N?aHdAaT#!rT3/G?Y0\\?>a0p&q?7\=,NXn9,(F#SnJ1.Mnp0R;r's$`95W_FonfkAF11G#N%&Gpa.7!5K/eYSKcC)Zhu+!]Vc^ -O=c*0#D77_J<2jFQjeV/2us"<"#(Aj+=^=n,9/"obj?q_=i98r.\'$`4h*"GAi>5e -/5k%7#^-iodklb,$O%[]"h8-gJ8Ba,CcTs/LA5]f3,iSfCo,cuRfHtu+An6A5Jo(M -6UWe!@b/R22'ggB9d!FeaCccsGiJrb&1DmU#^_:+#DMq@JD`f*!%3@`('603!I,Z" -.#$A_3WTdQ"OIR1aBO1N>MCiF#=nnI@`KJ*aH?9>&`A$:!.5#B!=)/3J/E,--j#,O -7=\c8!g!]iSkS=-a_-@NB:d94T$(rqb\Z.Zm-`+9jI9HVA%':,.l2_k..e$Mj46K/ -fSC&?*'_G!Ji:St=/BTm[UZ:Wq(RiamD`o.mbg?*@r;$cM[OKED]\KkR)?j5%KSg&JOg`1YT*^0 -$3EIGJ;>k2cj'["8q:#9K^]2!n4NbK8q_-lKOGUJmA^7J'32Qn;5"1t$%q -JKQh&!#'tXLk:qO!`#L/\>>!-W<.kj!e-gHJ-gpXZNbYnJ1tqtQiMo42!apaBm=1l -n-fHf3s0Vp1Dh?fYS_qd8^mG_K,>7(&4HTW7-SB*J1,I'\9kRL2@%4:tSB!)=n9@95>%0r89^WY9!/b9R/1m5YC=$?ELi."4FI_QAdnFm(fQr&JHA,H( -"^j'8J2.n7CFGF0?`rsA54eD9o(69XFDjS>In"O87n_%&Vqp8n\.V/dna/=-D+pPh -#_hYR'5_pF5=OHP.]ZkfQpfP&F_[;pmc\PT=*9hmopc;*+'KfoH'N)Hb1$h$65bAX -NCsP[9$jc.^>="9AI3hN0LkA$LM1&'m2%\K,DL;+IdhHGD01hVFJ!Jpf[Ar`"+\0% -!Jh,7QMCSQ0n>'8"8q>8TEU"A;ZK?e<6/;Jn,rpa>_$3e"eZ-TP0J\?8q>8\":,Nk -#.9)S-\K^<"@*HM0M&8F9n:#Rktk7\kR7UWJV9[cJD`kKi"(It#n]EQXX!1+mZ0/! -XTe]m\[ZeQKsBDkR"iVjKt!&DJ3%Ancc2fM;tqdDBG#l.T5&NjL"eNj*\<&E"U;,u -^1"PWG]s-)G9$[,^16=1fOfY9Aqf.JL"bDeKrP4t*J'"d\i1bt5_`FIh1VYlL04D0 -1.5AK4$oH[OoIP!W*"R8=T`=BK6@=3"p*ABaS,(AHnW?a5B$Hi_gG8"HsapA;;rff -VQ_kcYO9k_M5bUje\cje_1,A#nF6@@"rA0S.+_LC?X"%Qh:IG3I;`Bh:Y2!F>^_57 -L_3XP\QOLYW2]\'Jj*iscmLc&,)Z>Cf([dETV?UGns:Ea?a0%nR<+]]3'@BFI"006 -L[4rclYMXrJ@H;3GT:AS,Qg:;"%Yq4?q5pT"9l#?J1+r_O9,WJD1EI?L@>6Kn884[ -D2-0<--r?B!n8L&!TNS3\&8VZ<4p).^UP)8VWBu -OTF7[-8Cb(71om9IU3\S;W3kH5Sh[iJDKZj'@ldVIDs>M"X;HKM)d!a( -E<2R^!&K&9#B+"=bJ8`"6l&Un",M#3OP!GG'F*S@W7YW;)N9D\6'dIBWn(BIafrX! -XpJmV5Yi3#"mo*_d^Ru_n,`L(iUEGS#I;tl[l]5'")t3s=r.t\_ZE*EA2W*.L:b.u -kD-b1n9Flf?Up=1kOn\"T)X#Tg[k2g5$q[;ht?^BIXeQUr;aVE)ufuT:c&I\_,*fC -"@:C>*sTRnS0\NZ0YAhC6INN`j+<=*_0)oJKMs1oSF^3Z5eiLaV%j>-HT/-R4$-TN2\3td[[Kjb7`SI$p-66 -1GAnrfJX>c_-g:YL5fHhekNJuff77*Pi4XJe#`(#:K+q#4O95hg)("PE)%&L_!!lk -9GC^;/CDo+s$f[=CU+NT5mUF)"YEhd5?$%u5sSC+rC'W6Ps%W:eC@Pr(JAm&/OTkE([FfB'.[[jNYf/9qe -Ctfa(YAi7H-uE.BpF(8,LI+7d,Dp\i\1S.uGb-8g@M"04[$L*qESoC9!HDL+rWPN@ -6&8n_Kcr]H&;1a`+YVh?a?C.;iBU3QL(k2((58G75RujSI'o-uR6;^XjOmR2Q0$\: -@?tM.IV5&1RD*O.k.0>gSnD3lo]_(H-n6GLTTHfS!Mi;/".)Mc"ElbnRt[k%Vt'BZ -+%MCsGb#s+cuOZW+kcu9JhV!K#2qg$'Y>pt -T>24j!8mt_J5@!a5^4"ETO\@[YV$/H(a0%?Hkh60=pdQ?2$RIL(k^1Q&&Hma#iQID -KJ8u16AS>C@:TUP.SL8%YW)jfn/hbt=:m9<:<,Y9"Gb21AMM.2U!uahKlJ+(`+:Ep -eB47gnGRsX#c/(VN)Y[S<\-[a[2#Fs=c9P&01Hep(ukI)N)?$!.TNp[(Z]4gdAAb$ -Fn?/0^c)NB!$DE3oFr+79*o#T,D9H^^&e9t>p/,f`sC':j*ZejAs=1$n7q+e\31#r -m'D?VPRBfC9Eftq,Qc>O&IUih"lT.rK)fp$_25!s!3n@/?qL\NU5/onO:B)!^nLho -Aqr))6NS-Z%"RD0Ks7Rf9R2mXVI[f:ZS#lb)5/nLI+=Za=eGki.Ls>r&e"gU#)H\c -!_#r1!2DAqJ.^f;?VBH$^^,8t!!YP)..)$7b^=pAo/e$s]c@(aF:Acq1e#It(BiMc -LCcop,k+DP@?=?;@73'T38gEiWf.XYbWeUj!ZkjM!fiDY!XAG!!huEC#68iS6,K4? -&jRPP5b8>"BO<*_^c)NQ4+4L,k-Ys7:MWH_]UsuQTcF[/H -nQtOpIBQZI^/t18?u.->Ygs<%fNSqslrB%M2Eo,`$QWbT4@VEV<"Leb9+tFs/7AOm -77c(9&Mqpr_*llfYf7I[5["MFW$qkb,EYUJD@NKV00UC5a;226)4(rP!E&)l;0M"%oD!eD=S!:]V25Y/$q5SRc>!!YD)F^mA[ -Cjc9qoKDL(5T[=PHp15?Db$"Q.O1&%s%Xu.'2b.Q[ -+f'4GPL>n$92k0/F8:b^XBAkX=!KS`98$OUM'c>XLVC;^-^""B1nJXb?<_\o+1p6$3XH$rnm*^`0cnK^uVi6a.^DU%AkNYi5q@G[prNLb&UX -Xd]Abdg(bOO>(hh_H:'[@JD;hCbA_q[N@$]]X*rG*b!:gIl5.F8-su)-j'UFeGt5$ -FT65<%[r,t05k8CJ8_/^`iL8?!m^ -V%bR;dcWpMh#*6j5gi4>.4LY]V(@d`Mmpe5XKp)jYS0J3C0[D:m*Z.HAdP3c$fL(K5iN>?4qK?L'??1KMBij#0G>TR"$mt>^cE$Wl3&6l -.tGPa^nd2;N\$2S@-F&eV&H`0HNh_q"n,(g:h']k@0Y(k#3:dOTHjl<1'(f=)k[BS -WR;h>2U]mbl*-?8-JCG1S,m&glJji2$>^*d1'7P0)G12T-G"%(NsQ'B.H/VRU!=Qa -'H08d!WdZ]5Vs)raonBY/5Q=G+KP_hW"=JA&4'h.6"1`$ShQkT*hWQUNg_q_aIaXH -*WQ0]!Fu33Ae(IT%\RbBTQ4^5X?-Nl#-`(\;)8lIEtcq['Ce-u&P!O49,'*V'Tl6, -d8LdB-O:1!^k;gDuF6 -*S5+fB,k&i(>5g&PR8l)HZRiTUn>ci>69S7,;)+NU"03pe=]+%(>pAPj'WO.n,ra\$F&hBjY[3Z:ti6_6kb8B;e\XA6U[/7 -7*%h)i$8Zg3WVN/*.S/3NAdj,O"(i]ldDa^dS-@8hZ9DO%maYKiM&$"`9;d7l*?Zu -![nqDJ.r"K"@2*,c8`K.][3kk28KP#T`u:*+r5aP.T6t-iT^CDl5dYA*R]ld!BpNM -4q#.M$c"_(!'78*37Q>172/Bj<:`nM;bqN6:UL-u<I+i+cO_FT)s1#\EFc5`4I7F9b'Os0ZoKl];Dq=pX'2%H.El_#XUG -7Ns"9*In>7NggUB`%#.1)?FfM_&.?WWD\7V-3-C[9rLps'j]?'?552$2;__?lLdE> -!`!h<@4E22"rb>/!$Tu9Eg7$^E@O`qI;6L:e-@5WK*,Ni-(pKK,;K^GXqb=m'g[3J -iHmlQh^i3Q*.SG;G![1("rlol)_h++iD]l0;\%ajc60X>-0tfNK'uY'Wdo&QJ:n6% -=:&g=%8(pZJURXYIN&B&E+-Fa`kEH:cO=s/0`f'.+:];5KE0ta(#TW=!;Z`3q?^OV -$$/=;QH*)_%(?\+$)cLl$pCcdnM46*sU8Sl6D9OnaM)O6QbQ!7-dPA`=FEu--CpGI"N2fmS4+@Yp_TP[fs -T"5<@#`Ghl+GdYQ^^#'8F;Hoq&>Z9joFug*'Oi%!IeV2lCt'X)Ia3HM=L*5aVU\RLnBo&HROb_1Wb8"ri-C!$Tl( -p'lG000ogg)k[Z[P_'F+,/'Y$"lOh:TMu8BO:;3d"9A5^or8d8,SiuZ(D_fCngG>! -&/L$R'_&1;!<*)YrE93BTsf.fJ95m3lMsL1"lP"CJ>iQ7j"%qb>+uQD@N64nQQoBf -)#&+g5TU^b636%3&Ki,,+Q*:YiX0RDIirTE=0[RJ[>X3`D,pDg4@qU-/%'L1!,SOc(mkEg8"q(uL@? -5E<3_NnEra)#''P[8K89OMHg:7Hb&sg'Glr#IrrX=Sc,B\-1`s&g0(F!KA>.s"M:B -8PoaQ9"ur5bT27@!b#AfTPASa=9UrkH/l;kfVb"%^QmHNQ5Nnm0OhuE:]\B*'u1Fs -iKaJ;R4,ng`jQIeq1bX&g]1d<)h8D;@?^eDP&MQ+"@2#RJ6E4M,a,rdbohW=c5.c, -lk&)7&D86?%fHGP3Y=V:&M=t3TYpuK_a>QD]r]6B"%S!Q5jcHY/4*eNn-f]+jE!U" -"+_!t,:F;[6\5Ce'EKT`i?Smu/e1.>!oT^U+>*j`;?Ho!>ufEN).fS2?_b/EU`)In ->!8[M6_q:`UtSbD%%a_$@i1.A4,bV-.;\`MLd'InD]&8[&!In" -J#).cQOSsL3>nc!S#MjKOalp]T -)M`[,_;-hsl!V&TI5(dETkFK.Ae%'g%R=J,J6iC%9Eca`UKU`tqGjbH"gFI,YfWaI -?n)D3`W@:(&RZLhJQ`'T>T(<_-\)7=kK)mtKmg,<30M_Z:rF@car5F[(SOY,JP@;= -%6m+."i,L]fJ]G(kR1;b%2_]T_"J;S4qFac%&m:Ji&VG(TF]uG"5r;KTK3F1C'.jZYe.fX)o]'Dah6BK]c5/.43tTEgV&VPR$!@e -"V&28lb;-B^DldZ>O%R$I[:Re_@`rdg\a`tgSbsoWeeouOa!bYek;Hp9_t*l3j#KR -.DgH__]1>I>V3jIG$Q54]:albc1m@cWa=V8#MB,[i,Ola42YV,n";B'is.hqjfS?7 -I>!([588W>tuLjS$qgYKu!Q-#Pg]S;-+TY(=k^1fkG3C.O& -TEH7APcO)eXrP;;_h]=4)E)$,0B%[qiDpSA1_OEe%p1Fk+BAg7r(k2K!/_]>m/dY& -C^[HZIpf6b5a+D,2_R9OmHhgti*a6QqgW"OSUeVe(b_G1^^ED$$NPna5_]H83X*0e -e/Xt->bTYq6e%Z&eD4'Q]iW`)=@5Ys2\1T=*G6:]BEd4/f,\YY?#S>CCgg!E"COZ; -07K3_XA_A^^t/\(f[k$=&]Mp^_-g'T]ims3+9ZrF`Vm-rr%m)U[G.7egYKa%]KWsC -Kc\$ohi[8dbHH%.;?rZ0gfg(&_)O>2N]+,O2dC8N)WVXK'G\F/!as@X+?0KQD?JfT -"%eEGI9#!m)<'CWiZ9$Po/m.:/-T3(#!g*.+NI3-5CB06.5I5=Zu+#\CcI1,BRtQ0 -@6I7L#9b5=AmgK"^k\BHhG;69/6Fe]J9sKL#RGZBd;9;W=lqPn9r[/NmHGqE>o5-N -Kt1TJk#I%GTR6p9H3QW."s?G=j0@T-+6$VAle]PF^;oR]amP!biOhe=LTd?+XP@U#4 -I=/smR5h:nJfR-L!?k&D+5\&\aDcil6@!ED/\ -5(59o9Vh2]3-$_mNBp?2O.\TS8$q;HB -8>K')&;UE3T[e5#?EdPuhs]nJKJN2^+7(A$VLBY"pX;b\$GAgt$g4T@%=oRLM09:SlQUoig0H^KIem -Cj):2[``Zuh!Oi?h<+`]_;B4A*'Q:tOi6@$q0\cH5Fp3ao_KS'QWLHDm<-%1T\+3C -+Roa@U-U`1dHD8O"QI7"XC*[te@q.(LqDFl'8aZEWjl:LKn5DepkA0U'LEjmG7$f2kZ:pl;8eQ6@.S=`gV(>6Ebc`TkZK/bP -bVJh00MH48C77itSCKAhZS]ib:!)mD)hu2eFr^hhpj=6@63rGm#_G$p,7,&)$mSSX -0VBME_Vf)ZN?Lj>3eV":!Y:@q?oUT<@*p8r&k%g<8CM*OoFMNX5YiCKspKn;jE -(Pf>^D`?8]MJ=UE,*GbeQ%59'AH@NW^&skFQi_Q-kbXna++OCeG^q/uc2epIW!I.$ -i)qZ`JjRO:%"jH9aKEP1P[el+(Nn>Rh7&+$H![t>ms8=W[I\iSGP1WZ?apRFJRGu7 -%i^.0W%8kq(D-?H%ts]l:`*RpLMRsna8gU_LY<.(iC28TXT\o'SH1_&n,!'1VmgZJIKn*qqB -!!T[`"rM>5PQ:T\TmCGjnJkA4!-#TT=r-[[D\^3(=pBc.Vqd%Jb!,o/<:U0]i&_jr -Z*s&PBmjf#)oj\j:X=5J#BeDfSbI?dGJ4T;iHW'aO5]mu2jNHLIWD8BH7>b]l?Su, -O#9\+XQUU!!R16Ycb]hi,)N%%Q73.bLr:PI,J\+WOeEX0:kJoPC'g2\5T4/O?r5=% -_anHkTqX:B@)s'J:fN7T2Bmcm,7U>['Es#I$UQAoH1,$!"Me%NTQk8bi+tl?n0BMR -GRGD,\,hWP7'mgKruXK+I1Cc13X3(r)WLf"$ipnA"@uAk@7>;kR#(*5X)j*E-6u!h -NtYu%:5P)s.7G)Q'I'n_MWT:!!J!cN5e&QSi)Cg'J05b!!"'DbA-%[Pli79s-<`e- -(;eK84b*h3*T.?MNaN2SKoco_62V7Kd$1V`!&"SmkSSr&C(,Z`(m5GEi3ZCb$3:R% -7e'M18\$]+@a(I.P(HJ%)+c7<1np6JQ;l"P<@_WkYEa.J=%auN/EO7HQP._P2j/`7k\Cs*%c%dIid"J]Ul8q6Jm2UWnEXL/?.mpNa%][ksK7ID?WB`9E -Pe)-D3ae8iQnS^e]G)H<643fb)?h7f%"ci2"p'*X5]M/g!II]J_14!:i2dQBJ4p3` -a<1SXA.L:X34c/ec`VI]]%oHAFY8s0],+f@?#-uoDXH2jf7rd$426&Z($s$d1@P;p]V8(:cJ\t:$Rt0Ycg-&]kME1&&Hmf -r*_-"K^cDb_\c;]@=1"gE9%j_1YR3YJ;t,V-s$Yi<&91-bTMJ@JJ;LV;%,-*0S[p] -)^D!X%WUb6LcGd9lV>G0!"Ls=.*7P0`'j^C&f?0R@0^2WHkRu+ROo9qb6c63!q:FJ -JRD0K[+l4J&Kh:rI39@,4C=&?)DY[hdi.-eCQ.0]1PR:_(rG>9$^f3f@H`OX!'E4E -+=7fT=>mi2-Nn+`e"_"sO3r8D7qjOuUs4->!l3#3JKVHF^hAB8i$;81E""K=b8uZh -B#P;.n,Ptt8KN%7G)MG+/d*:<&7IhjKKrcRJ`]k,=FUib5\pi0TK`S[p`tG&Oqb^Q -;[_Mc08?,F)M>7)%cPj?LCbRJK6Rq:iG]),d#J827[OBfTF:m`63[H*bgO,D8oHjE -]XP'9hV74@DnYVSGLlcNS,\%Y*XTVA2Zr"##&P+Y:>b-B+[I_g(2PP.YgR<^540-Z -?VBSj%rpe8kDP!Or"V.2\16L.Vi,Su/'E3N0BIT%QZFcfbk\_*6:n2("$hkT_C/Xn -+_Wiei8>j].$#.:?s7&[Z9.>(4W]Q.`"A^Va/V,h*<6dpNIVX""Xk*"[,Y]#SpmZ":F*+!sERWN1gdi"Ai\6 -JY3\W\.l)]"2.)(]i5*I9E`-f"[GHZ^iTdrKEa]+#Jci8^n_@RZja,Np78E&&+RRb -.07/a&[6i-*B4cGa:Y;K]YMpA\LRk)_m_h9/09p2P=uq3ZlHo`*PoZ8,^^Iq,T4H- -+i4@+_A"4],U9P?,QVR'12noLkRX&B$\\"Z!,,hs?ic$d3PGVKQ@%VFi!4to5lgC> -Jk-Z/5Tr=T."Tgn_Ghe<"(-W,=Fs'pJNt`<:_LCmPaR>""OIMZcpN>N6j'(g"/mmR -J2"G\,QVilJUA6OKF5Y^$q-UV`2$&EZqR4*joFlZ!;I-+^_*Ua,D8_2L1gVmBR>70 -H`5-FTlaAM#_rV7"bq8!!3f:PTFh9f0*+$b6_U(hoJf0'$7TH1]7`$C""+0Y>D*hk -!3f=Sn-9-\Cbq2gLPU*R#^-G,JVOL3#7+Rb3*ebI7Y:C@K*5&dkSaI%$ip\YMYVA4 -XE_\%Gsp/-a0^05`-Or'HcOoha5h`joRP!KJ],.n\Hi_LMFtDLqLN`s6[K63J\m;\ -&f-(s%)bS`Cka"Gb0Lp('7;j -JJ^7tEY/Iqb,FknTk#fCjB'&EQNdap'lYZpQmF";+%(.;0]8=L]BFhTUm5mKK.%B8 -,+Jas3e6]\"#(/d0Im.-.fq[:Jj:7TW#L:A$\:F!96>bYI"4kC\]^5KbDShT)g6cD -'*,f]]mqF4F8H/l!X=78^$p]t$"jObD1FlgKtmtJ\4ZhC8qXVbKkQ2IP#(0;ceSHBr;b/T!)O[: -:aH4j0W0MY'nUZm9X%=0TO.\D?A>rmL:X:@!8H;ja#+u#%U,[s5bI,<=C:tP=8;pLa[SC -TQGq@!X@:hJ1,#_p]Q9N1]VbWJVX[7P3*QAk>I"3dX>'BPuLa@<7PP[eTFklKiZ`` -=4NR>Qb$f1$kEA1aAq1"e`[k#rAmsjSrc&KVN"`;Z=q'G"4eIc61GE1oTIdir`3lN -d;D`,LL(@=7E#H\HL50:6AE)ejWeF4^(rfK\0jh=E1iKUqQjl7Y,e6!156hW!.jQ -CB,Jm=(It[aEW4HG_[+<#8h4V88AAg$AC==8mQ6^I5t!:.g(S>"+h);E*E)(r; -L?4JiH`;hBA,m`_KEqbb#TWo<*RZnVJAUHhKn\0-L>%omg81k(SZLPQX]i]Gg@_W' -"g/ZKo#O)eVA6Fp\m\-4`Mm5^fnF=*ftrjS'TjmJ!9q."pr-92*7e]2>O`-QfcjIU -rmmSXgO4S+rPRDj!F-)QgdEGGcmLBX5(L.;"kX(aeW^9?OU$l==(m*1k^/%8/")2b -K,>7(&1R]W.8cpjgiAb6#l[pFL"d?Th6jKC^"V;]h;,1_4QmQ2\/,46$%egB=OiF6 -oeP-,N/+&+LS[@n;^)GLSV;1.K=.'$9lA*Y-cTOlJ?Vp83+?#=ESU1gL\%L"?igOB -a95JJJjh3k(^pEiG[8krh9GiQjnrJnr86W7ht?qU"odEhs/TQAgEVL37Kec3&s%8P -RP!.JaUSilbR\ss%m!@G0FemFs4c0e>D2"#i1:M?(HT,J_/fq -.GuO&i#XE.VCXA8.T3Jd!4WfO+=Vu2"b``5?S!i9bsnYaG[>o(g"8H=!'O$l'sNXr -8[((rO@rig?(_Yj@lStl'Nn*U/d.Ok!0A\;4Y-U&%+7TsA9KNbL+?ep8*#t.jJGT2 -SkS4R9h5%s&Rc<7"pa-o(R"GuS:^Sjq![.t7pt`qj.^d,C$8eS=kk8BjaL(g^/AOn -=CF*mAbCNqW$6io'*@YcJH.e8i!Y4j@K:(M_TXUgo]#RZ.r -g^<+ckB<'PL3Ml_P\FHgl"6:HG*qN3RH]8?iec7J!;5FhEMmt^YfQkG@0M3,!j6D? -Oh6^+!e!ql--8pLuDP%QJSJ+A]T%9s?[]BM/m5a"?C5/gIg8OD?LX!_ -YaRu]`>Sek('7^QK1k;0cj0frC4K,q#:di%BR0qdNJR$;L>W1=k%4f9"GKB5D9+A] -3%j^?hMJ\]E0M4O//.;ILR[K<05f!P0(JBh-$!WDnoN9H4XpI,$ip>OJ=n(h3!KLN -AUl1?X=?1FS^.Sb+G\s8h&'V[X66e@*_M.B)j&e -9F+.?GR8tP(]^cWJN+&=74N>--LtM4oQNdsLIQBP8+`EEoVY<"6K=+B:l;F^*/5s7H((T&UESpK4?6=TQY5E$kiUrsNmtZ>MFnPAE*@m4I27s;m,]pMAoWNW6^O(1I:*M,+!U'lAn3DM;5mB"EL+mlQ -!-qOXO)kkfBXN(`E%6E0.S>pcF*Df,L>CH'&;A?]#;.(300L(noS-j?Jh"'$<4uY: -I!=2.q.H&ghjF4`RY8?"sBAgM^CYY#GuS1Aqih_#"W*OOC*\Q%##+%G9A_7W$6e++o9%%m"cHm"-3t7KudMUm&]aQVo\\K -aa(qLI'D@VcjKm-L]cjIJ1t=88-&rhCH^d'Kr3,:2^ZYT_kl.LDI^eS@ -\[U[#Z>?KFO+-eNSm?XV'k#Xfg@(ef=/>]L?i"1lH>u&nM*-*X3bmV18N6>Ba27l, -DYiX.p&KUOL4_H"&dJSn6/bXRA0r6'LI>S`3.+aQ(5bQ@;4-ER4WBI&@0>J=n=2$V -Q\=JLGbEiD(Ea?C,ar[cS4a7V6`uKd'_DO@UV&=tJY`@!^TI\->;dX-M,rFhD#K=)6p[qg6(cE#:\9 -(BoQ1@I[HiAg8=Sa5_1X4I0%nQc`nqfpq2C4ds`1F?0:8QV"+&l?(a^7^$+"fP&8s2jEoq>FWlB;=8*"u=UM["2I[<[%p-<8lK`"Ke^9$ipC0O;&'(.\^$I,`r)k -%V#O:.I$pTVn`@]+(,-CotA`53.Co5nbN5-Yo3CK!2`$`#*:"T.NO/Wa?C(9+QtSk -3Ut:\*BFf!Got(I%"09i&fclTaV#ka,KXt"R4$,)N129=&u;?Rb7_Iq.nc&L].M4T -%)F[Ao.7j:9TqTh1sM4Ph)3IKCuID";lo"@cBH/)$qBQ]1q3YH!'h5%!B=I("n4qq -"4<2f*C\BJD'4rETjUp.K4*Ur4p*Y'3BL"o$So-n6!D-W"uMksAQ]dSSS$RkAYj%nG)`J:g=FCk>)%4^ -]RehrSZu5N2W_u#gK-hEFehh+C`%oqi//HZJtR]E$pn@=1Q!D:^*F*G\:,q7_8)Ka -L8$AP)2H&T@N5URLi%?A=KU&1fefX0Z374I4&"*gk!BPRi8.+'AJ%R7iD=AT]dA6(WUNcIjN2,S;/]3/1XGZ`#7i*.<Yrjq#B6O -i.+ID!Np)98>!3IJFG/j5hGiufRPmd@0e!/d$PIJLf"K[2@BYQ\X] -"!K_RG[Rr7JoF'b_!,cJ7Fg(jeGAdq_m"nL66/GGGn8lh6&3hp+@J2K&Rn-r1Z6%V -!t`6N6O8_R@R+.JEGdTu+OM3;"Eh1cYWpm3H6474I#hY:4bdVX)5;KdM=BR3K8="? -Tnk@bYd=a(^f(D&80rl7Oq>HK5sKn]GW$BZ$7%nUD!e#.#dKg##%M_;8;8cTG4[tK -!;[c;!.52/$o#TO%M)sk$Niq`&`QcgPu=2S8srm5j`Ibn'$aS%=_01]Upl[gk$C]; -I4jXZ]pKHC@8'UH%:-$DKs'hXbh3XcJWbfm^p-N\5YbK^#TmUK&gFu]3t&k2Ad!gR -EWT'.$)5Y(+\U?9%!C6=:HG:`9qir-@J\Ch`b]Nrh'eM"OG3l5q"Sm -TN!O3YqTr!_;#_1+W)F,:m"2`<>c*"DM^Qg)+(8^9FP;[/[h)J`%2[5k-!m[MAg;?am59EJWZ2ZW@(,_09d(Ea]'%M/b&A?"s6BNTVB -&-P*c=9KX36j4##BEUbsQidCp8-,D*,CnF+D*fd+8`2m<,\B(=(O.h -QS/\S4=tDhXr,%NB+A@_4YT/5(^+JB*7QHo"9WV;!@!Jai9t8/efDY2mlb==5G,:EJ'_@( -6>-f;T_(F%d2FZ,B\a>soOF)>+F(3I:f^Z6DOAmK%o%Z(]F1mTlNS5V!U*c9`Z)^ -n5]_/?oJ.[i$e[\VBCD&K0'.]Ck+gW2h2b%C#b.o!$T]LJ.Ui_TEoRu-D3>K(ucMX -'QB'4$oc2i#9/;/":_'-!X?0e!gfNDWLR"[Hu,iP6C`?uQB:^`qX<)3P#e%#u<&oA1N!_0B8GiVY'ZnD5P4 -GeY9Y]SDL;5!R/7?RTL=!eLOgMiP$2F(`B#n!WdN[5V*TlqubmP$Xcd=+G>h!H3N5M@OOqI -7F\i$9R*P,gu;bb70/JbJ.NHH -&cmOr%%n^O^k)WFn,gC5"Q1m9!'gVd6N.JiE:;TnDqbf+famTJ&.ndO0aSD2%1lAK -&?ul[nJ)Y6-;W_%gki[Rd3o+A-PGFoo1+\e&"Nu\0NAUM;%H@1kEP[[(cdMCA4aGF -M9r&<3r&5.((k(C%ttcR?P`0K(Ed8a-jKKaQCdVd(2\s* MmW!Y2ZgL,3?&VV+" -`mdYal/bSB:VOC0*>*:r)Y(3LnZs0s[i;>jE3J1%i%bEHj95O&!haQ?!%&!pZiWM$ -%Nl`$5nF'J&/.;C'1"#I@42_\(_ORp*l1ndTq27XTH7o_ls]?+8B`.')^/)n*af*l -@GCj6gB>@<)1WJ?JN*`42@Zbl+TRmD6?j@9q5n,LN^eT-s<1F:je)E+fi*HY] -^]`T.&.72,.,#L\*#J^n!6Ut>.(gK!"rdSH!mD@$C_#Q3X'4 -#JadM^gmS@0Ef=1"4,p:;8"Nc_&Msm/CMuuo$o=tfe)dH/i)68;W06KloCq._-fY^ -+B$f;&CaTV(I]Is"Ua$S5nXQCehZMLD.mF=DX$a8/(5[GcCZc*?CbY+0N0g@EHrAd -gDCS^>*3S7Z;o9hT_p@!r,"DWAh5\L57C'e8p$%U"s!63 -i8j;ki"Mat'>]t7TpX(jo*`R@*2!WYJRegJA.S`'&+FZK5aV^_Q3Y33#EsHXd@iN$ -]e=n(_2KA'ai)WUr!!=$#@LpE+JK$ISdaOL%'jscctF+:L]O3**'aoP6-'&Ba;hu( -*3`!<+k!D7efD!)).3jj@8$\f8k!.i%U^7dC5NJYdK0EuM;Z5X?mH)0NWP0Jrs\E; -nESP^E=Xjp3HL``FJVU:UIt0X9,+L$1q?8$]h;>@9;:QZYJMjk7[hXsob1%b@]I$& -XG*tPr$G&NeAO0SCf!S\GdR,i[.bl0>>5K`("Ci3BH&b64&(o;1X;1\Pn?lY*4OH, -]lR=6FW34(a#5_d2P?9A!1jMgFBA,bpi![2V$`_g_YeMn9D%OMuc#R\W6Ri -^b>lK7KWW]"[F[DERG(KNX4RB8?_Xn^rui[c=k#R4VQ@/PMJD1&fiN@(Z6>Ni@4pQ -.LoiS%R@H*i3Y]kLK#H'RSQWS_ToVF;?Mtt/BU_`X02doN!72cO'p$3^r-aK5S#"^ -kl -(?JEV\ko%nL$cm*8[iAW*GY%4ndk2OJhlP#+D.B['gV@cqF!gmeNT -"RSD:i+<4%@L"$+"lOb6i*$DboEldA$_YuPT[8\ViX^2"&7@U3+W?K:03Z1W!oZ6W -+Ji>3#QmmVh.tW!tK/bTSCXZSfQE._6&bS'NB#1B9K_d(lJIU"8%(MnTp,PN -QEdo$6\41^+f59+VA?rk(>$hEeZ]N-:'n7SST-oAl`Yu7;hT-51el'gnYXe`^3h&6 -##KurJ9?/\I*3Xo$AeB`TMQ#4W"#F%"5s1A+X91E@N(X3*hWQsEeptDbQ&g1(4Zr3 -T`tOk#Rb#a$\3s5J;I>m=,iW1NHpeK)4-aOR@3lARQ6k+H(g[b3b5:49\5JtB60Pm -:RfOb"\61g1Gas"c%_BcL=jV:[-V=*HCC5#;)jQ,G`/0'Oe14%SBJI"RIuKkqk*TJ -T%W.rc&d>Z-jU)12XC'h^l/N6H3^:(IMrM/=MQJta+k'LRT\===ui&*4emQS>=XT9@d!7m9X'"[>*<.IbtaR0hg.&n!O/[T"PM>#)[8"+GV%KqU1L0mRI@Jo3OAPO;Hk1bpli(3271h.T0#oXF'r%) --3t`aK7Km-@&Iq9P;Y[T=@^aq)?DX?.u[,bSU2lsHMt@c"1[*BN:-ItJ78f8dTYF#-[9-4YdY?e -(r-?D1O4]0k^[DV^i2N$BEtKm%KT40J[,;"Ylqni*^BoN.i/T;g>Q_L)BiPiiFEHa -*"P;f!hb=Z4?9ql4h1DU_n8@Sr'eQ:8]:NrPuA?k"ZVu3^Ni/ZL)C]j>>AZI<$A83 -Gq[(R_[:[W-nHr=``^KmOa"/o4ilADaS_=Cqg'a(9?+W6aHYB"r1hCD8YFD)[NM"G -D6[#16D=_:U0Oa:kZ22WM8^H[brjCuHrJ9drc"N4!oR5ed]s2[,RPIF&E.p8_0R/1 -!$5nkYf>n3-LaEXoGlcp*8uJMTn3qc0G@IQ%fjHUg?`'d+&&6,!=b^)`jJ*NL5& -UeGOh(Y6Fh*ZtM*+g:t*YSFr".:>1J+N+Du^^:c-PMIunh)EfXGLPY2e0Q]r?tDYi -Ej$C["e^ke=2l&V$B8-sh1i_q9W[A.<6u(jnin;> -32tdVs4omm(dBVD+#qc(\5rZJ=5\T6i-dO_CS=(ZKE"N;$15*,18I)R"MQ&I^?J<< -9D7B*p:f_aIqYa3j^pIn"[FUB@(l[B^_3:S'#Be4JX56q]H*SB_5e3RU#5noi#LYX -*9!%]+d*L(//'/U"CTR_5["HoK!-Zuk[7ES\rG1m1"69Ne3Ya4J:[s?J-j"l$&J!W -)KZf]*$>Y;\-;="!'d.'LcbM7s+Wn7YkXG?q>buYJ.JQf!Ue_D[h>@@WAl5#%#0C4 -Gtar4/XB&kEuB)B@5FBIB+mkdhKLuO:Zp4Fm1+\8Ti#MFh_j`S.?mWY/.lLB59?Z6h*(&nMi -_I;rdS1ZH,N5]:I)#T[].?Vd6o%BPQD_I[+B="$)(5GJSdqJCGTZj$0.1_4:idj@b -?n`CV#%K7)lZ9TRn$iHOrsOIsj)K:t^/jE`]]X?^*6sm8VpXdPqV@aHCh,EYGD:PV -YfCQ/'T*$"OQW](m?Cbk)S_)@kG\8lF8nJU[SS1\KL'!H'g#1.\H5%c1_Tr,E'tQI -6*Q"a#slq6,4<)4_nunq&EGb)6I>o`&Ak[cEt6)RS4=;^Ypf7"Q@>_AIqL$3GID/INcDS0j)uBS%2FE`d#F8Fe%:M51+i5aGeR+9Z^(!$SRNJVCWA%?Q1/;CI9NPI_V9@C()gL6d(%mb0t/Sf6:*]Mi@o%FqpC -9J,a8!>35[nbZB.12W-F;9D0-W/?84_IjJ -F]/[`*s\M'N["h8YaQjE,#<)##XSfI*f#=!E#])\LKij4mEEm5c#[e2VJ/5lVsAY8 -_M:S+i:d'["?YB9&ktYG:\-JK#Lfi0%kpc3"JIMC&`(2%6gfTus0&1"T^Y+XJg]LS -T:tLul3-dJo_ACBX7L^W`Ua.U!s9XH"\jkGm(]:Cp=!HR":L@fVPjRnJOCVun8\F. -jTPi2]IS<4Z5"8::(G(<4:Aqm08L/X+G?*i&n6e&MFC&e`OH-gnI/Y1J.=18J-Zo7 -PQZkP1]kVJK`XRT1BHFV&]%:4#6;[]">F'lJp8gQTjSRg@(6OFcsHq7F>/;c^(nIT -<=,>&-3QlV&&EKR#9_"H/a&L^c1>$q5b2os-D:?214O5XIDm78:^b`5o37m1/q[iu -'n`_6%\co3#siG37BkDF,@HH@VB!JZN2r42rJ2%t-H0*!)&"/Y$&'4'/n&k6KsLDX -9Bg^TjqPY!P6,5f3KGn,7*Cus2It&-R5?74d@-7oCJ?7_2.k#\Bu[EV864#[%BqL$ -TW'dM8*`3K;tY%qeCanXYk$t@CN?=UX#5"Gej35<5YnAa26]uj5pQ,C-d%&`agDN3 -3@]"rr;`KLPsf-ko:fnmbL(M`gM!A*F0nQ!dHX"dBb__cFG>rVH;."G/Lts6J/l4G -Ae,Nt^3>,N-3UQ;&JAlt#?7F`;PZeRT`T$4ZmKSfUrEXt?1:HlTs/d:1H -AYP9$[6_K1Gei%8X\`i#JZ(7,+N,$BLY)rAA+tT*.7C,Ds&s1\0a45[(KQmB$"!BM -:\D*7^N^W"CH*oK@+)qn>0U4]20jh>qP287(LH!T-3e6_d*Nd,$!TE%l#8#/`"#sQf+`o.6 -E24(s&4Qn4YT3h]?k.dM.gdGm&r(At#Xc[a"6'/FJ^FlM^u1%[!/*Fg:eV`.S^[rg -Zm3VaHG$6Z'0"02I*^G1e/'i@4eQU&?i)2')StJmlYU17OEM$5aCYRKPXtn\+>6!1 -]Ga$dBb"MX3Mh\6_ih6Zb45`k09"PkrT_JgH(XX&I?PCK6OKs$#,TUVumVpoa5 -S\pP/1D.[OB)/K(#O=ZW:2@sG(58@S'gqQZo;DE7&^c@c7SqBOUf;P"B2&,oF9[BD -qA2G2D$cp.;Ed2LC`9qdJ.jBA)RngcXDIA -DXjcs@'+;CA=,mQ>`G[?gRAHi"Rj'Fi^ql- -*J:S/^20qI^\XFLDQT/MNF=D8TPtHnJ4'_E\1%U^=Pn[F$jDrq('`^8$Ni!q$:+A' -2?7h15laXfl_mΠ,Be$b.;r#b)OD<)SVS-7d'.&Jehd$jhI\#Qs!o"Q>"_JtSq] -!Yt:TV`-<"B#u4bfi1b3$$ZNsO!PR_4U(oQ3s$Pg.mTc/*2"-hNmJ%n8#QJ1X@EcC -fi*\](*piNTM5S$-5<^ss56!A\p&VjhKuGQmiD#5GM`GYr"jhOSd3.-57QV"7uQm' -M>dP,lQdDsP<_ja];NlV60MbEK91]d0*\:oFAJZ*VYd:*?qgd]l@SUa,K;0bh]mO> -!c5m2d<&_e:Q[\DpP4#-],^L8;,=atT&\jFc]RaH:WN9<2s,MfQBtn`57)Gi.YU]u -V8UP/hk&T!;?bT;Ggj$Wp=9G\o^%NN(gVE@5 -2Y1"$dqFPS$-XHWIMp+2A5oX%EmQ@7#mg5p8;&VgJ1g -a;V)5BXa3'!S_WFQkc*BW%6X-5=j6K@fN*1W@UF'@&OlcY'*-YuJd;m=#VH,h/Yq#[ -KQmrZE)V:c;[(eZ"jgZXE+"Dk#)5BT!*Eh:a9Vsb;LkuLY]r]kck$<%2hLfM!GE\Z -#T&'e*J'"dQHN#Aah!^@esAboV`K'_j,/Dd,K)o)!jFP5+>j;3%"tinJ8epY!-X-b -!=,!>!!mrX9=)U*LPS#'#:KTX-rL%9;M-(t"!AE\\/9c^$olTBJHR.3Ch6(0AjS%\ -`a!.GN+b\NB?%#e7^Qo"]PU-^DFVQ_2&UP.l2M^]]#Q6!/Fi_XU4^3/QpHfF-ZIb: -bM0c.mg\N^,a!

        "C%SJdFhg7d6*G=["*F];.!'%MX4QJ_$"M7ijW/89BVDEA"ui -,W!?qa/jtcb_4'mN(E#h8F2F/r/iENn35JH*S;V=QmmWOPY!]h8G&8\;t,>d&jI@c -`r(?Yba]A]5G.ca//T4jU\Z#g!Pg5u2/Jq:P.@U)E%?t-/%s/8;N(T(3Se$*8O%9hN -r-?Bl:(A^`ap@Pd!P>[:/5X^AdAWG[728?^(/a>@1ieq6\/g.I*7>iOdNp$CFI0@E -i5iQndI`gSI48'R.T1sN;Oo>Od+gJ)*eHp.!]VV1La^^@,Y;tdd`jT\CmiDE5Y8X. -:sCsrfWu[2W'>m=6-F6KofYUaGX+?7.nTfB9GN+i4"AGOb4GPRP,c;g&PK195jA9K -gNPl\+k3Q2/"4I2qS(>_\Nor];mO;+#U!+e*3-\#=g'T\H3/g^'_4biu]5g1s -*n/SY!I3>J!Vjj,!s%FCknY%Imp1-QsGQ)89Ot= -Fp6M#L#>B"?pu6;07kkb7-G#0F^Ng-2q_bMfkm*ZI@45\RTYW=fq"U8c(%qmS([,@ -+1`"3HFj2n!`<5S8BIqr6G:0:%P_bN=l?qUD4hP?LRWu`g:aOjaT1&FX.(k9)RV'% -kq:&"+PS@*aE39f3S-g.4k!-0gO6P8NMG6^\_EC\1caNGfHR57_bOB+'7hpPUi$is_an^K-K,96G>I3=e*NK]1'M%2!<\>j0I-Qq#/JiGY@t$CIN]@nn!j&)8 -0I=TBW:3>d-+%cN4nZ3&c*eV30O(\IA'RJQ/k"ba7:^*fdNBN$1#(I=8s7B^gW^l% ->_K=*I&)?*@EST/Y#/\$Cd2)%UhUJW8/XYb>-uO<.a5C=(#b3Jidgk=T=V_.rQVE3 -*9HSNb6dc642W4%s5%/;^V/;d4&qpO:!0uV'O&/aKH&cgQa`-r.o':(^$FZ1.uIR; -NKU?WbQ,*ue<<4t+1`-9mHeHQG%DOMJSgX=i$\\`#QolTJ7)!'fE;B4&r-X1LWW`2 -2A/f)KSLi-6_Iu7(fpi.!3?5$H1?.f[LTs^(e7?pPNc7f#*B\oCqetHd>T^!kt -l7S(WqZ#DA;J10NC2Tt_DQ)iLWG8T9C;-\4cDt^2X;PaIjBF"]R:k2A=L+i]60Pu=_ -D3_>M(laC:G_Cik!JbdKL@Ai+=D*stREaL3bD^]Xu.<;U?o".c>&p(.U -Hs/*CCiZ.O)>=.ln,W^Io"`B]q7gWj%+!c.fs:sWK0@;1m'PW.Ne+9FMB:5gJe^S#HZDTjJuZ= -!O*[DWs]+OTR7gJ_;dHFLed@FeO8fe:8&Q5A_M1FP]5sDG\VDkr'X]*l#=5 -b):.%K!_#IU2I/.Ejn`!ojQ([+98&WKBNOBkZiWt>___KL@B#8]!l=^TTmAAbqEL\jJk-k_=8.c# -H@L/8O/I;jW-Y):HEXDrVlb9YQX\/VQYnF,B!QZtbaP+XNLGD:L:;KlE0"bLFQNXo -,'!K)dW:Rt(1?T%Be@DW/`ZX[A.M7YV`jqg_FUjqlm9+<+2rUC5n1k&!P:l(;;Hi" -Q+j1C<>Zg@n&@P88frs@qVSCOB3h"t]_1lDeIunmU;S/`m)+gpAO[UCt[9kH2,UuH5OSkeEEnCV\8*$U'WaC&HpNWiq(^eVA+"m5X]5+ga< -rEcg4X]K;'qV1uH!.R)GDYF,O^sNU`'ePdMoVSYR*+rF]\`,/g]d9QJ&1&^ -R!^e>$]Dr50itXl\:B)?T@]b/ldQ(1HiRLaYQO=5ri]FG\pFXU`FRB[gu'P@TG"1[ -KFL:fYi&\$(C5Wp3UH'c_;\7bE,b$-PV*`07O&M#1fu.?$2Hn_^LU!imIn/_rqD2[ -it;WN@Nb:S1`HnoG^OFRa5QXarI/*lVr.1CrdI)Xg]%2f&0(iT^b@kW"@1=-)$Rk' -<$;I_0RP/R_N;DX%)UB@0b)%Ilp2+L;#Efp`0!/V'Z@7];&2StCge.";06Lh`j)%N -*6/ZHD]ZqiRY%3*iE/=B6.> -@3A$l-rK&T1sHLdet@YGi'7hUiAaLE3Iu"M.Sj!eq(0juh#0La6)sHA#';]"6O*Y% -C`Na(^ir:H+jDB)d?Gph5u7./2,;L4rAd\QeI>)IeC>:2;UmWfLuj!@ola>Kmd@](*.m6fN'i86O6!aJ0p,I@'hKn,(Q74#^0glZ#2;L2sd<=>IFkLu45lBUT\rolt)MZ)4EZGBNk^4HW!Q]9s3M?F> -&C%Di$kC@0'9j,`+])0k"egR?'hf8X8N/j)D"DQZA2f/T2a'*s'(0S"#3!)OJQ>GXAIh*7KBI3>)Y4)W+CDp=r"t(' -M#95`_V_':Zl+SQ#[,70L_*(am2)&Jbjt\`1!T=:=q^O]JFG<)#salB7tG2rWWAQd -a8gUp#MJqR+0AU`e>j#rg&[bAkRMKuTNRXY!lXlj&Ilp`mr%sPrBeS]"6_p4(Ee9L -ZQ85%"F>4rb=C?ph:K^<[B3oZEWATQ3X$26\0NUaa;?ZDFBni*N]@r8mj//%*#'Y` -6Gm1S#CrIj"2L95!oQHTJEaVX\_&2,?c3\2E**b;hWAX;1lE]Q=1#>?fJqkJVug\:JEB -"K\\X6b&s&$*nIONVF56Fi"N\+>Pti.PO8X`:OG[MG]767k"TeUSCGJ=-84m7i:2) -iuE0$;:[j"GkE)PjEZfkmQX5[!?gG#8dGFp*sBBH'#M^m$O]cYKJfp,f#`/uZ&BTt -TPb0(W&Y&)i#Mn7q^:Io2[9?%I@$ogdA.D#MeeGr3_6.Z-)@l5d8F3op70-R>=JgU -%7dWl[b"U8'*V-6"#ckZ_p7:""S2+r2!?-3=DJmoD?Ld!`Zim$>95&K]Ru;250T%^ -@S?,WmP_H,1s*pbL]F]TK0X82joiS;i5qD3j8Ci$+=(i=E#_[cImCk&"`#7_@C-gh -$dqrhAogN:6cm-dk$'6OXcd!MqA?ppjW%aO*#,k_+$,HnlopU]&%>Ua$NZeM?bkkK -;\ooUgdj_NEqtXr)6lfc,9`l2k$-#4JPbVG*cr\;dK/9n"N"Q1!Fe`>J2+M-Wh\W* -7Z;Hi6.@cB8CeVc3+3,T0I=V=,7Qp5(^%l5+VfXR%RnT>!F\MUJ5FZG,Cm*1iV3BX -j0]u4SC1DQ"SnZTr\S,D!=gh>!eeot!^T5.T$e5UCn3jW^gbGhJ2:f=jdEE:=tCqD -J-sT63N0!YcIofmC9;'FW0UW=gDaF7m=hpUS+1sr^&>]IqYjk""b:P=!5Q]M*s9l7&ctWY[kA\1 -S8_2lo+mS=JZ_ZTIm)JUVEiX*S?`nO`u9+j5,kqK1)@s`!L&-?lf+![q8GORp/)rm -;3EdT=q'Z=1T/`gLn@-s3N*F);03$bdC/A-$+=U->Z*2>1l -%)HT[Kp[l&@PBQh:rj/5J31Pk`5RA5?k,Nm-OZXO%u:SP.)l5t(^"j_%DhT8?'1ha -A+B'TNV$uP22/:;OA18!3#'/i;^anRqq57u9ZCQ -k8`H.H]W7(7E>3G+lo/cPB*6fb5"OYj]o9^ErKXn\Yh0l8$)B\o8s$G"+^X1J"S;" -\-\mS*f<)7Ubp!A_c)@5>`%@2mLGt$<&O,AQcVm-9JP&$cX#k-J#W,/_q7$eAaGt[ -Z1aNU%iX@pC>h0c@).f._@LGf;Gp-\V">.JJ2kIJ$n$Y2RMm*;GQ;`Th5l(4:jcn"Q6r3J9:6Nrki-0"b;aDmE?'56k4c5!oZB^?l0bili83qHfo"u -/X5.0QJ\p0hr-Nq5ro@',RU7W"3qC^O(b%Jq(kS"pg1ScsAG%L?Pe$ -%o-GgbG)SIi=N7g^&r(OPkNSd4k31[_F0)Q"a;'XA0$TA-jBY"X'ZN!)*dYfE?`U%Nn4N!8I^- -fF;4Z%8F,:J@#J+VXXYF"i-!$!+,Pq@Ku,Knn`(P1!:)ibn!1OV^@3)L8r=,_#.pC -Bjr@\/sZU#E%On% -N3&T4S3R;D99K^[n-5KHi,?ra,-RkP0"R;N! -I/1cpG_*bhRC,i\k/.0)g1Qu)]t;HR:H?R>'E -@5/Q='"].L@L/VT#f.,SJJ&in$5p\@!$UDE^]5G=B*6M>hgr]G_8I2K)AqF6!eF;_ -?oS``e-(.t`LdjPM'.D)VGSk7G`cdq:VgHT2YQ -2tM__1P[s=M`DH-3E(u!F-AVJT/kApIjUTe+@&!g8:Uf<](&E,E=fb2V"4$oTr)0*"r<+'*1E$_*Sj///55; -'L48b+ZKQ)2A*_a&ZsCk!9G)K\-2l>#f'ULOi1Kr@.LXn85l3QBK"/O3?q#0*KNBt -.Q#_R;(6Ek>f$b\`r%q$a?2i"@tl%oL@Z!Nl91+r@4#T+VMQH)g2759$a4XtWFB87[He -@u$6J*g__2a6_ShN3%#uba41C@`bif0AQFupn$Wi;ITnpdI7786CH8>B^FJ% -D#DR(Pu8!f=$TT&Oi^/%In5iV-GXp/TR77-*"Lq8!8PTq$,H`Hi<%_AAfSSn -*5UD1@GN_*lSHnK?p_af+[,om4prJY$U@/`!([4M0RglnjO7MsF20-K<4l_d\i)I= -V^V9bcWCr7A2Zq[<_6h&94\l7AQDN:Q;_A'=(TrmAeo"g/oZ]fEb,B43j*lpXhQsC -NFkp%4?uJ#Q.j!5X9Qu?'/%R32LB,ds(V1tC(A!C.9UD/V/$jACI85fV%s9s-Pg]0 -$"/u(9H"2^keSug;UciToRq<;*:7,H:317mI@b53Q=),=UCmTlgRE#/m'50OirZFdkQb\!AEY-C5juE^K -f'1,@afs!0I\lM%R+HXD1lcC5RKtBPeL>mDK^.Q^"O!Ut@IMWL9_Mi>\G/J.984'i --Iufb*/2bL>f4(H7i,$#IoGLL8F2^VVX>Qspi%e6s@;Z)(E#LtI)I_>"+kp1Y#TpnN -!$UediSY_!$6;"6)*q(#Thl<93Y8QX%7$l]YZklhH>Em[gOOKR5k5%#nQXt^hBC/E -J^,<%"BE1iR\BqC+Am=6 -AkX=IA$8[g3'!&0238[TOBDICR0/P]#E[UPOVnssq&>GeDG8VBZtP;ZKU.OkTb*Nm -O@YaNTM/[B5"IWKObcA8s5_n)0',^kj"6*?/nqn`^Mf$l$[^2O/:&F88>$R2ojZ"<`H@G\.#R -m&6]pH9FsK"*]7uBq1qG!cbe]!IA@SVN.PVT2Ys/DQejD/>B]XPb$rhG^t8e&-c[+ -<$=SGieGNf#,`j<&npFLO,p+FDKGu[N@3Y;P"ehoVWPH=`:X5bBu]G/msnf/%*FEt -+6nNl7EfJiVf]o[BTJTkb!]eOU.qM*R*>o0o]C+,ma33^PX7?(d[gV72Yj>&eLEI= -R3/]f3on(]!oRCi^n_HJ*Y*`N!F[R5_/L=n"rdU"!%52T+m:D-X^Ge\/qLtE6J`DB -"9ZIA$m8:QkF%\@"9tN.#'cK.J;=OtU8en8;Oj!mA&FbZ2<(`qq8[;f=i3Y^,t5d ->O0"mn%O/>>ss;(L.453Fp."/E[ZT4HZ!'Nr4M+U"K(UVZ1#G/i_Aq_E]ab3fi!ea -05JP5R_nfcfh]JKc'Fk]_u)Zam`i[T9:*2'`-bV$V/fIZRr#m##hb,$V[AOM%jsp[ -CHQVBd:T%pdS_UY_daa(("X:PQ:J*5SKQ6)VkV;@igj&+jfK=GXg:=:%b%$G]OHT[3h7c^\D8&)]V^ZtT[% -":nYV%DYFBTYpuK_d),u#ln-7cM.V_1mVA9^>'d?(,;r2&oMFCqhe]QL2:Ja&n`rb -XCUU6C!P!]9c>J_VL@`KC#14inn9OjVBdXDDZGg6HbL^1_m -!aqr9J05;p%KW77'He#&6$<7eH!-i>*In23S"P//Z5m2k)KRA@i%bq\g&tg8(Yi+b -+E@YdDn"Z")BdN@TK3XG8/.bV!MPFqD*SdK@da -mR6,d9?K8W+iK3B&4F/l8,sbt6qlIcIlU0=Hr41dn^gII -/Z-E&C]LO?5cJe^mLqi@'0D!b6$<;1F;Z2>)*.1*!RG+?1`iQ,hXHCZWr+ZHnXX+O -bX$g]_132l/e`NM%j9UE/]nHoUUUBd%KRaU@3?=.-5IbD![2LW_0-XQ*Z*dC!b#IM -?n`6\!/:uW:#[sK>Z+TEMoVR^E4AUS%n+;YT[[!q(5t`C;:s*A3?XARA-Rk- -3irf@Jm.h44rb&f6UA=A3'nf$$8$kaE5&h<\ID$GCSfbNG9#1h[=SD^JiXp4`g't] -*)CCXLod;]-uPP!W -Je0CTMVsT#21bp=&-e7CQk3F?^_+5/J-Z"A-cseiV^Y6DN37F+7u>:h*+lDfC6a=C -<]l$;^l0%bJY6Tm9lk.(2bl/^k;U\mPjLM,o@3@q:D--.36 -R@muUDuf%rjoHN9\,q#L?iftN!!i.q/(>:JX\PM=/P:#57i=2g'7uSs.QP<9*"F1Z -FC/9Ae^S#6=#K91M1`m*9SWeY!+HcKlX3Hu\TRkC?Wo>CV.a%U[B"+IQIW0UgG\0. -Dd53fa)G:M(!C](pJoI]>rQWPG@!4^kBGdlQ0im(pXSka?PiD0J)@a?#D$9m%M+/" -(cE%^@BbYjW*5+s*&hdr3V?(krC-BFkb+hI"[_SOlHm-5L9M[O66[+@PIZX1!V -l^B_qYO";>`NX0*2TrIDRc`5'D#5R:[r+9&jg]2T[d1SDS(@&AmlT\3^Ml:'#Jb;K -(CS0#r)Sok#+C']*s\LtJ00Q`&:u#1Jf'.bLk6b0,7).WO -,kQKRL*,u[k+A\K_5cQ89qf@3)[sP:a@ZP&R=kg4-Fa\(*?ZNPI/jN&7o7@bVl4qB --b#CW(BB#&9nNSj&e:#`YX1C0Td[uP"(ZCf#aWL/,]n=pBEiXO1=<`:S&Q9T(h09J -$@rlr"A!50JY47i^l/]a6BHX)th#dFNXTl[^N!D"XoE*T*/F1d(? -PIrbABYbNA%L^WTUFe`e()Gs`J;_'"5!ZXH+*0o"en?0e;/@#AE.Js'"DTZ(Pl.9) -E6jWg"U9cg$H4EnI/tT86'7\G!e\!k9;/@=@-U*"8Bt(+C(CHfW[T&=:2>j[#V&\# -"s-\U$4lV]6E"/tRcDb(j9-Hen:FY4R9;!cED/heJ/86,(^34p>QR3597X9$1k6^s -HLG$G4]22B'Ys5=A&7=NT3/#'T'-TIEKaCs5ja@:hCB\.J -<^b#rlG[@/d2>c,.7'o?#bn\8Mp[tR7d0L`U_J!6dJ?:'BdG.&FJb7"W_lCQFY0I) -ZC+VeB2!$92l>*eR[t9B:J3)S=eL0'Jk1q7JPAV5#5Aq>#"^^"]h`G1_MGO%G>9GW -4H@YjVbLp9gmi.\6GV4R)YNHM\[$Fa5TAT+WNVR4p#iEN@BGHTKY]%=O` -?RsZTYSI/R=6g0#Cb'OAQ%d8jE-1/lgQ;`D<$+,NIc\EH6Z[.h,<=@B&OJRPFI%@% -=_eia$`H;pJG:>k&;V!NE(gdMLcgQF/1JT;$6"b?EXrJ>VMEt!R!/O[O,sE,D:$W1 -@m"(K!Hp"ZR'79T=AfHl`%:tNZl/T`FT=_XD[1lY*cGS94Q4`Z`jj"hUD'kGJJLa4(j^?XFWVQb2?A>K`EG6 -7!K(P"$?Vnqh9!eE:k5Z&9X!E$of>ZZk's"5(mlY&Ss@tXV!\_K91Tk_=1;*5s.Mc -d0qZnGeKYX]'rC%nN:\!\"7XNHV]4f!!hH@!+Ub5M2DI&1Y0UmLn9;4'oL%&GV(Cq -WL4N`6]X-#aNo3GCi-kh[s$?ZgRE\4DB6j/2`B^Oqj2DB^"'`=:@I#._fp#>ke1]r -&gIR9%T+I;^N]DM=EQ%lK,m6dgU0o^m*;VL4rCco_=_IAZ\%^+$!LSP(Md$IPZKot -`Afdtj:&Y\"$T)mllRP8*1rL:DHY,-D_'r)a-\fs^0RcA951'TVLsXFe/F-'Z%d'8 -\PRVa66Jr.JM#K,LI#JPl.HA.e0G3*?kibd.h"a0%g_]M"@^u,!2H'0!&NFjfb$AFK[lDknL7+3Hc3s&6Qp_)@>m2F -%k,JUE_a.he;D>L%<0Y!Z6Y>_&!&4k5Un2o\f;oo:8DZ[]j'"%`!s11=oem;!>#op -\.eue$3DVD!+83L?igOB['e"+Y5iVD.!%K.Ck[BGKlV/8aYXZ0RCRT(J[ipU#T!O: --%TGLK(ou\kXgasr(Vt-m00s`js -,_P2GJ>'3/jc8iq,l?5uliO!KCCu*oV!BQAe(CG6"X6'q]g0Q3;qRi9303o/UDqYh -&Grc;]8dQlO=D#"7&U[nM&==Y%,)ARq#dFF01]VPaBZ5JGn>eaa8j9kJ\VVDa?P2g -5R'1LL-)gke1/>O;\\b#Pk+8WLi=t3B8&SXKfSaWTH\r++iYD/O8'VeaT$h4(]h2O -JhS^+5UuqU&Hc]C!3f7RO9C;sG=Q2qP(J*6n9f`dI"phcL?M81=A&^7$%dQ7c2hdB -CF0r%B8m2oa>?E4%(T,Djj%tYc@k?*N9AKNlHZ3kcCF7H[-^W,mEY@lcNNYC>i`jH -%$h:Q+um`[<;!7gQl,25S!6^7*)TK_j\HQ>$u"e4kRn;mUW!**7RFRQKNuL0!)PKo -:`GB`2$;27#1-odcs6q(FU:lu$*2b!S;84;kTp:,,cpbc*7,i1,0GMa)hQ-j!I-PV -3"lECM*Ji&"XS:](g -KMMIBcOD8+&r@lc2)<+,,A`6soS\h+qlqn@1'mX_p`R8-0Z.ScatTM^0Zo@'&<=Up -%ce!5E1G"jM8189ThLp`PP$0kM*>%/N,'(;i\7[UfR`&oZGKAOBjAb>'Yl4R]o!e& -&D>Ll4:[N.Nl7rKW9tMG*Qlnt$S]T!ORt\oiXXEnMP/>GW>%qf&._%a1E$pdKg$$K -!7HR*dZl5[Pe*-Q))Mm_J9X!V8-B)eCk*XELG/`60R80SH(Ld:VorC(n8SF^E<[fr -"t[fK4&pq^1'''`2(0PCX,Wj$+G$I2JVY7s-l.CO0e\&AJFGc+kR3(%?cSp6#6c,F -]=#'9HiO.o#G;&%TPOTFC]oh'KU=*:QmYna>RDpO+W6\%64o3qnedp&fQE/*`JrMe -N`ahlf`dGi'ouKDOP)4Jfeo#I7?uOcVHC2qNP^N1U+Fuj[0VR$JRB4D<(ba[QVWiB -Ln0H,;ZS%q5mWB^_`/Et5Sr,@$QAsH`OoJQV5`0g3a.2A>&C@pV6*q'Y1i!@g>0!e -nMVY\X;QCf.$W;9aOE'c[I' -!Jc!m"onm_!)J-T:S0U-Jm]>q<@(0RRbALB=rki;_DBW=[ki!*8=_=5AQ=h$M'MSd -5D\=?R,C0$[3Ld2-qL9J3=:`/llj5'&*;4FnA`/_W(Q9S%MKD)lT%0%f*Ip3Ne"Gj -18>;2rJuY"hAEd6j[GKBr.pj80]9#qMGME'Lu$O$%[%SOOsqWm.]P2e;b3-Yi3BOB -2%UE3NmQ+J)$J-*<[!!k0f4n"7I -OG71G4ok@@KfBDC0P1;eAforKgaIC%"i)_ZH@Q!ALNifSH=$l<7t=u;Jli>2Ac^QO -lQE6WJI(CE33ul(!b1jQ?nO+m%PVB.1?0];iuU&;2Dnu62 -iGgeZp_-H!KB)YbW:X'!N(g6gZ/dXI>)l"t,Ec7H4KI#5g6P+eDFroT9&t.gA>W#\ -eH?OgVh*7>!WXMJ(aO_n*.oq3JTsKb&/'[&?\$4)L?JhrmD%Et+m#k2P.S[95` -C'Bt2"dhT+n3I,3'nUkV3)q;8o_W-I2J.+fUHLo!Hig*gE-kYWX]/mJed6#Q/'hRZ0+";$S]P[ -UFZebfV.k3O61qO*Dm/ol4+#;4c&b\2*QnM4eqQtNn*\3.hW;Y`SX4Je#3da#fD\M -d"3t=%cG^-*WYD+Z\og&$ZQO2i2\)!mkR%%j9D.:I,JBmM1I>gJN+p*QmGc52["p? -KSWi_3*V.$!=%s%#P5Ad7=PQZoEI!>T5Z=e9ZdDR*s$U-!OIAg\__n1*eAh^Jfkj2 -&2+&D/d/ZmKWo+i:hQp&_'d6,>R;pn5^<>0Gm@.GLJVT5+D0P^7KQBmJmP![BUIfI -`GB^gm"WLGI`ZDdam?IYm)I1af$!F:bj=K -$LeZq4,If3$Y4u\:``?l_j5/R7W%#>P+bJ>cK$ZN/ -GW>n''*Lj-JC%APW!8!Z>&2ErDZq)ETQs45B)l%H"_\5HBKq%B56??MJp!pCckMP> -&W6YOkZ6#Jf$;1(c<<3b1Nh5GbM!>Fn)l6mM4BrjE:T%[2*`S%Nl!4U;#Wh.(l@1j -e-OKr@-nF9!G?AokD"l.As_2TfqPGH4sf.u;"%\7%V]ScO@hAARQXWkfHc4Lal\oi -mIoe#imSk!OGZS#+e(AZMs2A#U7:QVH;<\tS-_65%[*S4q!C6g$DW-Z0BLgs*LM_7 -mgt@*%-g9=TZ-(A(N80]o0[^&&.ARV*<<#YJrg9?Qo0D>+b45o"X!r%-sls6?Nq&E -L(IjF:h,5V"pS,/"qV"D%!dQj9`Vt'".0Z&PTp6#*s$m5!RMYa_J\GK(kKXO#XBkl -O:[&#;Lk]D#/C?G^@:Re@>D>m#JRs.=Dn0VD[#n<"o(@`BL.5($3EFKn)n)%(Gkb4 -@.l6^p,?OU7qMBYB(f;=G%YI]OOSNj5)u@2e\irX^JjogKScKr -#at2QkkLA+$PPa)c[jI04c$_3aR7_Ea?Y9C5_N5I"C*8VO@FcQ7PAZQ"7S2L+>j5)'`t$N -JU/&49lj"[GSBO=!T5F.:ao9r1k\+("?'V@Q65m'[+5dD&me_CH?uQrErYG`m -_I;t:S7WudMgr@SDW\/LXM+qC;k\m'e3\7)$H[odPTrdU(lSXXiGbDo+4pcb6*6I% -B=6N3pKMLskBjhuE-N?crtgC/ic4d!SnB:=bNJJC*BofkUY"dS3o-CjDnXloGC2RR -(RN8,h?QEai>8t.-Pu\Ms"Xl9@rR"?R#;;UK)htZ>=Y5;8+A!lm%Qk+$ -_(iRq(l+7kLa!&mJ63S@Ys`UCK4*Ut-;65=`nj@e'B8opF9$#+bi)B!(!j3*NtY

        !OX4'7?Wa?&qn(X_*,9T1^+Bm5t![M;A2TIqZmlQCJb6h'ZWqo']ephes2eC -=]Z??F'I6rm,"7 -k*_fXR:dD?F.;>qmWkGfH4G@sBGqqOU?NRCQ)!Si:78$Eg5_Z%l5HOrWp:S;[B")3 -cF^4EgCD')lh`Yc!ikGoQfE^1Mq.Bkdd)TU5g* ->WmZ=nef1s@1'fK.Kk9*&V8Rd#9^Ym!oQHO_%7Fc+D)'Ka>W"N")MrgM@dWa9aOZ9 -MEq5m&]2mqQGK@O#GCi6+]*EL6)jAXkg1%nOA)Sb6pX'FJP6,V=:7i3/-^Xc*rbN_qJN --Lb4He^>TCBg+6t8GnDZ!gZiCaS!&27!I$5lN>:[pSpJk%)MF#9kd`t!jq,6TgH4f -&_T(9"CQrb\uJHnn.A">b^^9nV/@b&e"d,K)e$UDPtMT%-<(it+c%sG8t>c-!+lOs -F,Fs8AeW$QNA5$5`0jOEYaZn+#7q^o"<_4e!l-i)6,4WK!=0>A&:=gNkVraoK[RKA -CfS=X0*gH\'8=g.#QrGC!odm#JFS$'fLt4QPOQONp[ -1kW"^%jkQ'R?UE/U1D96dE!A(akYRcg-#])V%KM&L6>C`9h=M3-)Dc6[Lia6k$9,\X`L)Ef2BdrgtchMe^D-4 -gA,+Ah1;c\$G]b*%-jD.LTlH]dY!'Z%>!FkM86bFL*0/,"<\]r@[IL[=m@Z!W7?2= -[!I67l97H=q0k-iLK`9Ja[:/E8hds0O]LjL+L-% -Z=$"<5Cr>&AV0tR"[NtEJhV!IJFFn\n9PPoqN"`2rSbB8M,,7-!Z5uS>m3A?]3E4FM?Qu9CJ0gq572#Y7`.2,'-/KIDk+3ckCfbj9 -c/QqbO"k6HAo8S<"Toll&V7/W$@qUq"os2PJn+UU82r?/Fsqur!+$1fcmT8&ck-L; --3f-b\cMrpr/M.fU[@#q*P_f%%,_IKKl@>5_C,ToYegN1#WDh#j"k:@_KmWc6W5Er -&jis"G2Vebeln\ECL(ST[ALFb>3B4-NI@u&rk6r'%q09[KD -7*[4\Jd3?E%:4B2q;o7#0O#'lk0_lFAHOj_]F,E:;K!H9D/RcV?7V"\Ye/5*DaK`% -/!bS>g[BIWh=\Olk5X@E#D+U5'>\o2*]0P?;K0E`%C=DT"bA;L"q^>26b&Tf!bbt; -@E?:jJ-$bofDptFZp-C$XYB4,e6>R^4Ff-V[\MK'!"nmAq,)fo4Oed`kNk=TORF2t -&9WtO&2f/4'GV/n4U")G'S6$&S)AB&lO#qf]#N"\4-#Kk2!g4L<_:Io@2ELUgC>P( -Bi5N%p>qs"*4"'PaXJDXTIb'*ck_#+Q_,RY`.!l/RI:`Pke'M79iMM2UqV\JF>])"(P!UqrKYW2gT2Ztft -"AhAeE(pJ>;$;t\"RoIr0NeSK>m;ue#&0/mA@cY$.cUhQ&IKmfi:*EIYaGjFV$c_"$S's=_H@7cYm`>%G2l2>!2'L' -S."7OS\RK$@6!:UFoh\d(r.%,_3b7SQ5Uk[)@)QH8!Y'4rjZC6)P@c_JZJlrQ4&OEW>!#caVO9,HC).4F%@@dLNSf0j.)F;)e -8"q#ZY3+o[I#`1-EG$'Gr#MF7*MJ8iTn_Sn1_.;d%Y1nh5dCX18dD>G"NZK=Wjk3q -Ka&*H)KDSlUj,7c(eW!*QY@SUWEtRh^m"h:]qnDc"K;"Sc;fQ`o>Q5RDSSF^<(IMo -L5>&X#aA=XlM -cU(PYW0bT^q*Xq5Xcbq;qN@eqm>OFt/<]\rnkr7ia2D@^"TX\,.[X!eU6BeV5nW.mgG`sbI;GJKXN@$_:[fLFe-h?J:NQQsZE(?Qu+Rh"9 -CUY^4K.aJ20QRCOZNDoQ#r*)&0f'\%Eucu6+Yg;J1%Q\HZRCJpl2tQ."7kr\aBf$h -GmXd2#Y,sBP:"o.N`.Wq.8[8+!_"u.`s[Kg$BnsX'4j).EAmE1Y%liPdsX/2Ho.lJ -#=+(K^k<#s-Co[u%Nn4Mi2tQ&\p@OT25Q]n.'u244Yi6I-L]P>Jj.UoViq]1kr1=Tqlk,0I1>/BFh;T2V$&laW#J0Y9(*sltB.3(nc.a!TIga6MT -_uRrEG!C[[PGpfI8oqm(a,!=%-r89BT@.$[En`]o9tLP0Q.n$O?nFO_Vk -ETji/cI<&1r^@N8;flkTOA..%2^mcW2%tEi$QKAdL'>AF3<5?R^e,$/1]mb4)5%fa -U$;VN:+nB0+)gg'-5tBR2TQ*ji(_-?TO>Lgi#29T6Ic!<3RE?mk9TK(Z*S2Gh$1f/cr:kh7nf)c'+ -#m4=0XoUE#9/m[j2e&[CQ3gslrEsd^@29),[M<6E).Ff.1o9,eA_f=[dKe]j"i-$r -J=ZppRge5F$6W@Ui1^B?SdI_^$5QSJ!3-2FV@+ME$K/L"i6DIubR_KS%uh&35sbY3 -6PohR"$n=ITK!NknDaMg"Q77/p-Jq5SIG3dA>',._#P8O+r9.n(MC)sBB)=r$UXsm -ja[=Q+kcpig)M4J*!)K0+d`rd:)"i=#Jf[5+JK2CS-e,D$%SHNTTTUHPY_Z:7TK%c -8)Lig@(cpmad4`=5[k$HRpSi+kC96X];#`D9@%rg.NE2n%[ -!&IS>;^jUIEc)mso7pmBUH2?5(h)>&@Gb,EkT;_+=1*>q!!42BV>u1E(>oZ!=lQ6\K>V(H/%D%WOl>PuMk- -"Q2iW`/_o`_>/o#$Htl*M?O.Z:3fH"G7k"g<^D\#DsF]+m&3KU+?S[K4h4ZPb_SWL -nJX'WH)(F0j]QT@i_8E4NlM'RdLK:-++)":O%0@uKAP>XnLnQ[S603b),Hm%[khch -Me]MiU'>MQp]_2\MW/i=@#tr#2*R>7*Rl2QGQ]*J#qQ/g*T-u>iM$='U)%,H(1A6b -JKPAo+:Oo`!l/rNcs;(Js.C80VKuOF>&1"(D5TF7Vg<9Z\ojq)H)LLmW%P?0d@"<> -D24L,W+N`!3/JRTQi)0oTQ<^r:#IsL+f_Q>FF<-SnOGCS%%Sl,Zli:J\*2!oa -Tj.]Y>Ro\*%`"#/^ktHdJ;`M7NmqR.3f0dS5btr5PsbV;6uIg^WO3sULoF?K6XZ)^ -adM?o[)APkb+5qO1/F`3"JB`-^ggS*e/L;8g+I`;E]U4B]Z$?,f!2`anhBfPt5BS#KEX -`gDG?;[C^(f,20S)TdK%,1'n@tQ@,;&Pg]ns@#3r:.pG+uQ -Z,U$Wa,,keUrGYf"JZ'-d0U.FgWfnHRVH+:gnWKKK@eM!)?ZeUdprp:SMem0*HR^s -B,rAKrCk607@lloHafB;I6kO%;Zsd,d_t=sh,"30p!PupK1\(G]hd-QTpII5C0n_UtNhYm-)^%pRapY\44E;XRP*-5H89?2Ja -B'maV$m\"gf2S<3agN/2*[f&*]ujY1j*ilG\uj*R1ZJC&j.8^gJCsh:cc)q -o:E5kJ<1?c3"Z1Q!MPN,!V$piGO7L7/0WRE+kC,]L_HEq';4gq_!h](,RU2T!l/IE -s.gbohe7L]XO%/1"f`[=(-'670P)2#m -=Y#h2V@qR@^1B0j:$-Mb[-DWmT20,6aqXi16)%6?e=%sAO\DTMC)$N03iPuVeEYSQ -`GVkbX]MQgq\=k-@'`u%p00tgeSV\Jm?\3'`p%QV>d"rJc//,A^0SXMi96D!,o6rC -UHt9j'o^,lEZ"_?4"6<7jRUuo`c!7[(^pQd&GUcAI_G",F9ft^E?XhAZ1JR;M;-&5u4<^hpWf_/=7Am+h2QS8Mm(e>6mJRDO)"nAO!`J-1% -i##2)5Y`!:i6B_n?$:pldt8H2i!eI:=>gcJp;g6NgU@'u!ajE:!m8c@%So=\L -q;;:F#J^Cg+!:m\I=MRZIXUC7bXQrM?m4*8!Ci2l#T"cU/l%HN!:D:i6B/Sra";_q -Y?eaDUTa#g%`bnl]10oMD#7Pf[Vbnbj0kcWSZ?P\2qpKEjKC]/3mQka(hDi/jS_>@ -1hRK?EHH"TG5s"1ScY>AE"H(_?ssg)Jg1P?$O8bJkKrjJQV#SH]gklKFPUS.f(FH8 -A(YsQIr!_\h5>2IGOerdg1H`n&+]I8mSi`&C(OX;En -\=F=CKN!`mq;XSmPk+o+k^"mW"e9Op$N`;A"2YIS!:bOFLN)kc6d_Vf`t[QDN,q@] -YQ0^"O9%g9U]D[$5Ch\k(4_KM#(Teo`CQg?A5%oD&iN0Lknt`,P`_,l6;'m10-t/I -S!-`n9Zd)j-m\GYP_ghB!MuZ];c7F:VB!Ono8rX:_WZ?)W`$:G^qAd9Vuqm51.nl^ -@O6C/R#j#X^BQbSAVA&cO5=Hlq3,rBUY>s;m=">"mXEB9'R*l$+#!jFDf^6B0_ph2hi3DfFu%*>4!A*MNK:AG\f7; -mT%B>QQkTt[oF0tYU`p9$lIVufl'0Q]`t.N):6b(#QrGV!b/NQ!0OKGJ10P$5R;X6 -lerhJ&H9CXr-jZ6"?D1O#8]"#7Ku+%)+$k.#sbj*K'T+^DJfflpb)k[g`_;(Q4LiW -7g`[P/V\5I)oEM6%9=D$\m@'1XoOWq=^sQ&(.lj/6FA.YIt%>aO0 -#"6_3''\%;#N.ih")&qhJRB1GE/"aP%DFP)jOi)U!XH!%*RC+&5A.Y/T6(9icrq2` -)SBo&JQb"XZ$Kkbct3agLc,KG^`8%>Tj^"$:eLt!$g4ma%CZ4gaMpt -"5nJ*&a2,<(tfUr,Z=ptPS1d)9Eu\B*;p*ZrL(#N -G1#$5:MXek$]%'n,K.*a,U6A2L@[0G!c2dK -UV8\<:Z%Z)IdauK^j$(dhrg(B;#lae69%pJ5tim4J@$/%k[jt6O>??&^QnD0U*DW?P_q\qcB)(ra!`nD_pMqd:dF9cFrt*Xeer-)_MU1%Y=s= -#N9;Sjl%+4!-#gr^^PD+_<*pH!;Y.C<=PXAoK9npo,W>eFt"T%,_0!\$QqtkK+KXD -JNt%U+FFUQ5&K)#YB/i3e%'[/n_O)oG42!b^A#A?i-Yc^CjTr8FI:$lo*:KHk:]o>M%rSs?#7ptW6M(AOCY5ScIYcTXE+JL_P#,8%^VYI$m`4I\g,)XIm%E/[/ISqn,F -E#0;UfpMZb3!7b`>SFf0(I;jS4d6g$#j25mk!?3i6,Xd0]H.*JA=2*oXAg%QHl9Er -g6X>E^!$PnZmES*"2].,6@:4KLn27/]=pRm^0=,0&/PBMLP"6&"/nhBcq4Jg#R/"^ -!'kG5_*/+Yn23j<*)!C=QuW0;M$<>$D28l"VSk'EV4@hDA$Bi9=`+[_c.cEeF:8R9A_LtoUS5mG% -t;:PZUAE>=GVu(.8<\,R-3EhRGLsg`f5SC<#=Q]au'4]Ggmm*!*]n7mqF=9QiogF+L]=!N^,= -PSM4IHUe->690+Z,UGmTImq#"`\`6;%"_"P#"#ZV^.`i*n/DdD-37L#+ila!+q+Z8 -#)4gK!'k@o89ULQq_+H.S3V/r&9J+R8VLOTKkO&.=@tf656F.V"%XkkQmr.#$A%[[ -[L;t#F*A9o&ftNuJMA,V^_IHoU4H"5arI5Y8/$si/M$`t0n`Mh;0o]\i@ud&(GO4: -q(os2WQ6oIb63F?%'iMGZV)">9.[Hn4LIgs7E+#!]M!^dd;Q["(d)No93A((PbQ02 -`kFNU0c;dia`2lRHblL$6(Dc)I!eEU`lpQd9R:Tm`,pR_*Z"?87uDL`RB"b6^ZLd?Q)63@c)K,>h`THjP?$\;eN!;I$(bEY!? -q`.;napb"q;(rLoHqp4#@ -\P3%JXOtm9g/)nr:jiXHN=&L9$W*B%`JJ]D$nK@dKMTsnV%YpZ1g:^B ->/88ga$gOL[sHs54:sk)'29`f9M(2_\G49Q+MhV/%-8R)N71Z5`"0L$_9jNCGo*E'9r;QS&8b]L\hZd2(-g.'WqEM/enfD>msYK'2s<; -;hP4K43'UEj/$j4&)\CXL`1j6(P1V-JfBW#(f,[l:Bnu6:/^p&*0?qXTa/(-#J<'O -?il'r9`S9iab&:JTI#il)hAP/!?uh")XTHYh8c]MZd3u@D'9pGbXNu/\LbVH -/KWZOW=LFC,T[2(U2-0Bmfo;A%SSZu]R3Y<3QCGoR1NFd\s#CW8 -JS67;?n!Z53<_q\KfEt#5]0P#k!P#u<.K=NGQ>Ksh8[Cu]=-/82>g^#!,*K^As -l2b?G7"De>'M(?L^t$LGJi1YT#U@knoohJ%eqKSrV469-cp,LV("s+&g48#((QaD?J.mkifqodCNkHJEL#JnGP-P8LdiF][ -?/Ub@Gg*86hMf]cSBT4TGhGOJ(p/`pP]Kt"mo\D-7u`W?ocINmJ6pLm?4A]n#h!!A -fjAms>qPkZIJJd=n;%h76F2i9n/m43*k:D]5,^btn3D\h#mGpL>'3;0D?^e/H%5m? -LG/^`0Ppe,D$=#E"^!_aGW5`(6T7OH!8X1&]Rd>pTU*A/G*6.!/RnE+@fA)l$"2R^*DAPXJIiEE(+\DFP==:F%1>5@/Kb?m,j -hEF)4a;N2bio@I4?>FkG<-R!FNatKEYp$ghOKB+(;6*2Gn -A`[G<5dDPNbUY`j(/cklU=TY`>ZNdn*`_5I!*#mMgaiG?`V1!_.HJE$f3W.,iN'iLh]0A]eF];lfkC8uc4. -9LogVdM"0&1X*$3=G!dtX/gpJgMe>!epV4tJ![\d/eKkFb7WR'P91GMkTMcs))F\E -f')MU#c+K>*g5c%121i$l#qaiCe&2*0=P?)l%9geQk%[YNl;KZBHn?KZqb=W:F54m -B`pq?@5MXeP-Kb:ep^_4G$/ROX(nf=C8S+J^9,Xt1Jm`h3@gX:Wk@W_D(Eh$?%mZ- -d5U-,a(*-!A)2^V%R9%J]00!RA1d6%m_33obf>0%jS^*Xd]5 -PF*X.O=[R@4G@GTKjoK8raccoMplI?6NPJ-%[cEsU@^(FIE7-HnLtd*$B>>^1>klIcXRG5Cm._-,N2`l'JH4_S -(V]h:G6`'XGKT?;`CC:9h8YXV/TEuh8e1hmbbqLoGNdF17R.LE:_E4pF)UdL^mGYZ -=GuDLf!2\&Dta-KHjH$U8%&i#%FZ`_HCY.3hj4(H8p?U$R:F*cX%;]D"dUj'[#Aj>gA'm -$=4A^Fd#f'cYWLRR5[pcXRQ7Cn.q+'^(bh\O&'Tocb:)c*3?Co*D,RfSpBODMSR@S -TTRgPM!\Z2,/;IZr7*q,cYaFsnCPhPNq-U99$S,H]`QMuM\e5RnIDO@0;`k.VY)=7 -HB5"NT;VOb;bMdMdP:CbJ`Qn9B6*U]%9cc\6<@ZicZHW`F1T>4QaU^o+`+SWo@H0Q -T==oeL@b=a9`MeQcb9FuFQBkoqkM`$<#f]#*->i,J]G_,?bXRA6;eOPqe[X,SL!O) -_0icRAI-td'0?'UkksV/Sq4#Sd:pYiWHu%RI6Z81:Y$8d;tWZr&+bp7\01lt+RP7I -JLE>Xi!Y4tIti:CLQbU@Z(W.(q4&t:D>8)N&91[BAd,+8KrdRn:?Vc&[=M'-G(n<2 -^M3fDCLMC5@8rr0J!6'QT[/$hpE+G1L*9Qer2pa,cY^PLhXTBT<::kt!OYkK)S`b- -^PDlU">PK>i5K@qAe[mm%q3@XJDMP2MFC!sEI;:u)hA;_iW0$i1`?lr7$;O`Ug5Jg -94C8.bf43L)bjn=.9O)[4-PLHU#>;B4#r*+B!ckP^+1t*dHIo]aM'P_SB^:q8US0` ->8C:QU&+ulK4>D;AKm7jVRA:UbiUW^XPUN>'4""-HN8FO*"E3aU,b@&oq>PjCcdVso^b>Th!l0m[#4I0Ea>4"9Y[[;9 --_Y:d)?sW7/IXu8bW--Md*t>k`%_*X'#]np7hinh!+6Us_-g:Y"X--+&d2V]ndP\/ -g_0c[YXEm&6.-_iaX?Da6FqiKfMr]@d9N@Z8hj;A.a!peV_$!=Qtm(&Tq&kObL7HI -1'Z1nc5KD5>gYHaP8).Wb>Q9f3mNr%k<.&9c6>r -d^6bGLB4o%8^auB-lUPkgs82^FF>*(e5Zcc0@Mb^F%M-qcuW3hiOpg<;c>hj=\UaF -Y;f8j?tifqQ2POrm0M4QR`ciU:gZ5$_pCY@Mqfn=PG'_c=+*LmB6-tH0 -h`]SH8^>\SlCSn\[3bf:BCt]M?Nni%iSWRfW]NQ=KS4'^A]AuNcdi#N:#*7Acr*Wr -)[(]963FV4'*@)[%=q>:#!hr0"CS#:K$[7#_,rDri7&d"0RaKu#X&H%,U7uhMA/BZ -;[MD^/N#&0#9ad.KiVsuL<-#*!t\lNJU1'\5bu$!`-2S5,V(kD_$2%B,[S:>5=n,N -$:As"%:Z'-=%W*:-P[hpQ/l4QEFpXh(onL=/7=EVSgh[HaVs2-ClM<"&&mVe(0/:j -NmY[/VNk$geR1@:dJc>/7;j1l,'$LW>r\n(I'?VX?VW?42oup\,icat6@c1RQ887_ -jPaX5`UjWbVORjb6K3^H)H4eGM^kPkX-M,A=A$\H/*3;+QBL*/9:9QJjh]YYlm7@\ -()dWJO_dAbi#%)SSdN>JHNXB5;uo9[1B:P#)k\0gNrTAH)._Q7beSOT!U;a3#jiV) -"EKCX&1`C;%M%Fp$A8Cc"i5^8!s"`1!Qf[Pc_FERX^/$9[^t(BV$1_4XJh>GE^dg> -e9V-VL]kjGgg5'OToJTS\]668W8h+hmDb2`:oG-Y+AelZM:9hgEo*=[#9a+oQj'L# -jdajFUeYSOe!`rE)jj?;jj$Sc2n[p[m6.0Y*%+VKPh.A?4*h%O]gNMLoc3']DKRS5 -"SXcF!lLB5KIAD".X+C_71c@?6n6cV_-01+gBe#(W0eqXjGH$TF&e4&;';9(lTHGe -c>h/p!-V=Iqg&JM`TU?K4\okD7]`dZcTOU4jJV(OQW@/2=aN#;XQ>kV[VjDp)aS0( -rM?l%RaPAd@DL&A>LPf+;"Yf -;@4"T0"JGRQ/)h<9$9aYLEOD@K,]#XiiIrr=+3Xj8Lo&QjH5Q@Eq8(FeTifRku;ku -p0ScpH"59dO13qEa0d]DA&O1]C@sB^C]pRg)OCZNAjOLRkBh/Zo"h8U(]pPEEUFRI -_Uca9>YHr-nCAVtR"#S)*'K+_"s_(=JmYaZ)0l93/I5d\&dEn*#/joM!b/*7JFRqB -5ZlBD"+5$;@D"OL+Pn&F$uLtH#W.t%a;YQc+Y(\OY`UNCOO[i1<3.e\duXtf_aQQf^NX+79NR\%(4HVWh;@''#A[Zji= ->i"4KX;1Q62]E[jo5iZ'Xkg\m;X9XX-7.I#DfY9*can=4leUQ]21e*A++X-6&R]QH$'6hf"W.sg@Y>#E&O$;MpmV:nCe4WC,U*5%M%AN$ -5R$X$(YUi5"2JFXp.R3-BE0W1Pj_`Z*;gT<43i$+T!q[C2!2.QJu'_t\[S;NofY*_ -EK6UC]aDkLBTpfq"@GM;9b3XAp3<^c+65Z,$XT@3M0]=?nX(NOh;5?cGcch_\ghp+ -LdQ#//a/q;g5f_lQ%3gKm$TccHWN#3`sN;t3'RW8o;USkDCr<52oa5V8^#t3a(BO. -@VeOsXi`nEO,SEpA2$?EGipob$?g^8o`@X^HbtfiJl4>iZKtCGlnCKl:d5&D5m,J$ -"HZ+Vcp\*L9*I"F"]/D,OC"2d5aVVu=mN*!m[iOC&k;2=iM`"FcSXpB<\L3F-h*$" -d#KBg:.?@+#4?NraO%QE9&u)2=,q/e%ZJ3B1C"J_6kHI.OLGW0SI@$l$dcp&`),Z3 -*p'WSkcT0GcB.57P`BPp%.M"?;!s;qU1$_E#Gd7_nG`\)!& -KoAos+B4?BO9Whf#JcE)TSs4#e*?n;M4:'1Jm1205jM.6(2d\%_1XPh,9bf$RiE3/Sq$7@ZNb.+R. -ic0R1-R(Tr-M0$%.Oj@\.O'mjn-FAXFJ9!O,,5:f`rs]4(3>8D0lbo!6FLsXfbhNE -W8_>8VU-f%E[ig;,:<14n"q8Jiq.!$F@+P.@U=,uNcU7r#a*ak-IAHANiNUo+bsYX -irj3cA8qh5H4V9:6Ip0D`jZ"M.&,:2K*Wd?,d:(oDJ(MuVl2)>>&CB.+\MBN@ZI.6 -DD>bQ/E\:+E/>D$'dut4.$5;odYB7AM^]:*.8lWa17p"YTdeEa5Jm=#Xi(@:=GJAkBCi4>Ul4VW+lsI.h]6D%\"ut,nI.!92qB3^f)g!^:gi)N5Yuoo&*Lr -qN#2s=9W6sFO`+1nM.ED:R(HHeFsIWG;+.)%F1,='+msGqbS"CMGkR?o-I);ZV'm8 -;O&V-eKn-/.oS;X5gY."63cU>7g+.&.Vd")/E13Ba.TQW:iFiI,RAuO --LQ/W'h#in-0!3p1(GKu(j_)D?mf>*a*.H>9WSR`Vt:1?bk;@`TQHHnCJY'U_It9n -paknj;g+($eN%=ZNG1;3Bi^^;QChl7UM8;UC'4-%Kr7Snrk[oJ,iD.UCQ:rk`G08O -9_?eLS1?-&;3^V@3DO/[f[2El5o5>E+`[6$EgJ-0#acm13[=bj"9S->XoRIJ6Za,7F7&r[2c"Q4 -;Bt*d"61H\+@P4^63Da+"9:<%J2.6BKEK?e>ZW1W;jeJ=_J@cUQc<+H3GC33Pq;!A_qLffRk30/l_O?^1W.k%*1kc0g,PUH1>LsIps -k,]dM>_e]T7Bi'93pmNVMgrq!AC= -r/jtb=AYu9CW2>P"-2GDE?IbL(mU4#PEAtJOdQlF\JLC[-S.*olBrd$f7&A_%(G#18f2EI!--DR;4ed$,rK> --)LgDJg]eOU^LU0_XB_ObXPu;VJqkPaORoQh -TO>R]#H0AO:5C9L-t64$ViGhd:ou*)r;pITJ=&mc["W>0s=;l0]*e"qM//T][GUe-Pg26O?#D-i17o$6gAo!llHA(l>H??&tK')$s$6Z+aW%N?+X?4V-)pPHge%H^P]_gHs>MZu^hNrOWM;"8T -bHHgL-j>@tHt4J9.k5[\M0"H)^k+g!Z-5YJX)E+aO5(Z]ZKnL%lrgY._-AM->U.,m -+fYA[$="ZlPjcKe/M/sj]URlugZ?3J:W5Fn`EZW'3mEhJ)oZJnP8`,8(_O\0iID=NB_$t9N_nF72S^6'( -`SF27`1:8e?/O8)QeibEhEC&Yh -e-BUrE#eq&@Or_dNi;6QH,>Rm_Ghgr(jC=i+]`8"b2b1LE\P?Y0k/EQ[utM.eo?Ro -?0;>F@`P=9n(sZ1mp>nK55jrAs6s@tn=K\B4a\YE"k]B_TX<) -:ko-*#/WE=LL1lbrN5]4Z.e]th0lq=*RjW;9D)Xj;-Z$?IpWOi;=raY9H(*S;17rk -#PTHdPY"805CP8XHel[@pVQb$#sq.2oCkVmpeK*05G.c/EVY)9qO`!.dkflj*T*l) -$Ok+SVl"6":/u@Q+ie5B3G"LHS9AO?Hd?_Ll9'/fINmc_[([bik3'n&PC*9oE2m`I -U&[K1$_W(g1`d,QKasf0pi2$3%O[=3K#k1Y0Lq*;UQH`WI!Hli%\j,g`12B--VDRF -daYuf7iKUjZWS^mE(ul9-\OMLp4+ol$)iET0VX[W*)(!uM2^AM4/kqCU&),;#VN(d -kJTE82EjTlNs9c2c&A!'/)&+2fgu6W25O@5KBiq:Z$D13CGB7/`p3[Kf]bb>29r!^ -`=XhXXEp'Le-`>8Tg!P[,1s0s#",7A5fP -(^9F*//?tB/d.@,<##QkkZo1K -'/XVa9X@F=2+GE`6T9a@N9P68m70gsTsW]UL6YJ7<)p>+>ujtuPoEV#<<[/C -6:p&,P@WGqo.q-.mZK7dL'HaTs:oBa+ -=d$Y!-^g.O-6bdBIO+,+*I\`X)D_PhMHQUL\#P6RT+7ZuJA%sqMV(k//g;(?P@WA/ -K$MX#_+[OR-FEh0,-qLYE>W]H<,k:1L/W%2VWX:M?;,.=YS$@6ZS -L&=uU'WFZa2Cdd>L-M2E@QL!MBfep4\#<0V@Ml.\L1I1PgqIp!1!9V^Y-'6>;.8EH -Q5SB7?+4V)G+I6'h=j(qJ)>K6mt]hGSem=GGlCd(k'9./QfiZYLSs>3^6bte68E@1 -DF:Z'>?odP&'%*]JSKuRb968_-@N1DZhSkY-eTk=YhV3l8+@.#rVq?li`C's:8leN -Sffe8JEb&S5SR2"+CkJ(&2"7(pa$)OU_eW%Ad^o'0a?Rk"b@5>&4-Xc#@TG/Kb0Id -/*2;cQWs$,nAY1?-t*PCZ/AiE@3VLT6jS>>>[%SUBs.-+\O]+OLZ!`(`$6cAiM4e* -:Yg&nGc8&Kde8OFAfAXuT,+0f>`7!a0Le%:)-BR(."I]"(,21]6Kp(:N*2(%d(%cN -I!5raAj$rlYhDF&IkcKcV)Y,S?]tI>0?%dr2OPF-6DT['iC/qB-R@,4BdJl3&@]2! -,0UGc>a,kT0*4UD%G:PjC]u:FZs[9Dabc+B,]G7lQQ[TjUQCP!hHL`G>$m.dJS0YT -Xb7n<*"#j;M9c -BenCF11LGlB%_cKPDVlR.2sKOK--IkPcW"e`>PErrLai'JPYP;5\M_OT[YcK'gATrlDUHB%7I63 -?E)HnX&e-U/=Xr)NE/(r=_WS%GA1>sYi%hS8g#WT"BZ>%J4N#-@bP&M&h'T>X9b+" -&229>'-nuL[\=dQXQN#i6bD.(B$8l.0kTeFS[8TTEm<_h -bKd[(Q&'S7 -QP/.ZgL)jt/!fEGVZ[C(E>g?J&oTbON(H^*Dn"=$T1h0N:*pWYPcYOR84&POM&`@5 -dN0H].?c]JaX&3CPbh&c+V^*iEs33q;O!nK.7%YN6aD9;:@\R6$2(SYP7HV\f!cbp -WGsT1:q2fI"Z=M8^piEIZ-BfcJ-\<3ZhAGT@[pSY0m5(dppV)M4CsLlN]4tFiu;Ku -H&hFg3dC::%DD$k=#)WrF9'/K/+?PHdNJfuFLrUT"<1%,EYh@6Bnl`i8se!6A#n.( -0d=34R;*XcbUNsqAt7PAo57(CfuH'b4PuY"2-J/r(HH,5pRbD"@"le].V&CSTl_PV -=DLbc=&;Lh-J14fEj-9/r>AfjWW$+eYS!_i;OAb@V(O_I(KTHg&m"+>d.jj)>,BmPJ_c8TldJe-+#d"$gC"Ai-S>/i,s. -GsN'S"DKO7H-\8#T'*P5"H\cZ-CeKHb=M'8&e -#tp1saZ.BK^^:`,gW^[ZK)P]4$HoW;EfJ\;mRl\&$SL>^J?!H9lp8%V]@Yj@TkiM? -d!@'0khRV\oY-I:3`f&@*C$NFm\mrW'DOrJ(HuJ#5lX^9qg?_`ojobNeP;-*I]-5s -^O1hF3o=jT\`Z)!4P-3h=*`=mGE9RJ+%gj#59\;a\0FSs+SHW%dQ68W(VSOXQ"sjPIY#eWIr -(#C>B.@-5n8@a/HP4CgBhu#-YnGY0,npFgSmq@%d=GP3n89SoPaHF)@]'2!lbge?l -2W-MK#/4Ug^g0$upsRUNR562i/VUKbs%i+_$]Y%n&$BJE+3EO^!3PB:foY=]!MR$&C#_PAt.DP^*^dI3K -*"=g2Vh#6T^M"+l6jp^ji^&56_38>J\TbJH$(!Ac?knf=&J4:[O^2fnZ,W"'W%qaNt`%(#?.9P$[M:(=i5 -(Q8L38CkGCGFuM`7SI=3FD69[pclrG2frsb8Bs\hECV![NHAT!6$/'mBFQ5&[qk:G -X:`J]DFZ,.a-6j3nMGdIlJSYj,r$^e?*)MfL -nAQ^kVuc[XR;0a9$rb;?iYL!46jTm$R37Y+diqFXb<2RnUk_UE\]_?"3.Q]+@3<\^ -(;rRt11>t^kRa'tnWLJk7Vhn8bf7[#a$.mi^.cJ*F@O\fI+$5tGg-Z;%ReRSUh@q/E(r0``f.r(,h>Z%]Z\7KbIlZU`845+'"RaQ_ -o$9_qcW'Ku7%R1q\PHc.]%fBlPiGQHj?B&i -,a%0_Z8@UL,UbF[[8K(lWL+/d]Tc3U^JB6Kdh39kr:SMj.8rYkdoA1cbqQ01Q]V_6 -dpfH*V%D'4446J:4Y'8@!RFR2+!!AG$L8(Y0qoj_p(nWD,oE_@:p-pXi)BJQ/?SN%=+Dq>W!;lsK[ARHR1Cc*J+!Gc7tfT:\(%uJ3T#trPE -c$:gIp/ccu6ji,/W#dSt,,>LIb'4qaarT#tBYka<<7u0:"a8OPMcdrB=OS2=.BHN8 -7?QLEc=t9P9GG[8MqHjEfgV1Zr;=`p+bV4$#BL(M"=%)]LdneP;!'NSdX -6EQY+-#'[P038NA=!Kf[rMJ18VqOkDg3'@J>+sP*WS50W='_P'Xf`KACbPqF!IR7: ->mQ#gXkPfY>=bmN&fm$B*Qr50b2C7j^`p"EPf/Y'6k)N;o"@at^=qtiftG4,!USJ+ -;ppLk+53:=%2q"g7GKK9ga1(t*Qm0&b?UmegssX(jih!%4Zajr!C7kN0eq>ZXH["` -aTX3GL!Q]7UB)[:>st5^("q;pgKKlsh::<:j`-qVF#-8@h8)E]h9Og3f+-9Q)T1'U -O;a'3*/IuD$3[NT$P'$VTJ^s24Z/"S[!#&U`E2!&d"njZ\0+`pDAE*P&4C[Wd;2$U -/g=$bU&f>M4F2P>mQO$NQIGB]U^,9Nr"fa`5\9\@!lH3ql`8k8^@EQWZW#2Pr68qn -?rRSui.EOil%T2>*\(X, -hVu7!il1'9r%Q6I/E6af?7mSb-,;$B\=7'BfB)3gG`^dT+:&_H!U]#,,mrQ559]fS -4Tf;ISUud&2i1+n%$7U">YJRfq,Ft#'(X&\`4!Sm[``J\:uPg3e4nlZmGD>(8mm>m -A!f:?&BcI3fQf!5_YLSa!(=`O1h%`T&DuNb*MjX04TnGA'XJ?;*5hO`AVd-mEk%D( -Mb@gc4Z$LQ[?JO@!FZ1$!@#ORAmXTo(*koljI43Q/W/N\CZ4\tiLUh?8R>hV+lkh( -B#ZUh(38RbF6=Tdk;IHq7Wmm9.G\R*^f?qUn.)98T481"@T;W*C"hQpC?N_Eigqa] -eq3)qJnR?#;f456"4om]Kj"C0k@TS+RN:"Fk5hu>>K]Q*OGm\83"-XsM^nd=%KI9m -*OR+hB]TMXIHk>[W?I[P]>=gD2td`f=`PN+:mF7)ZSJk$qdgH;qd7 -$6[)$C1BX>;J%$^jVZ2bg"3VE!qh?oPptDdBLrqTPum>cJeo>D -PQ02JD,^kf'ia -:,t48`]]=]Ce31=ggjo*aSc+`3K8?k[+5sYAju%s) -@gH\,A*1>/TS40$!"Jm"U.YJ>@$@JEq+GL$1q!MLSig^Y&0##el1i.tP#:N.jNC+J -CLNtjGf#Cr[bKa6e@BBY1B7cZq$W12=C$WopUb[j>p!-??RHo#E?Q^Fo*/ -0665/^)eF/gOfhWP92^5DDuKbh`gYP5;Q>p -8T*NZpHEHVjR\-\;?FsE(,g&]Q/6"^fB#5T*j'AE'$H=?=k)$91dL*^6Z8o^#oKf5 -.#'#uh8Djr7/08+pefr> -EVFL)?.fY%!F(9knkaK/K_/?)Gh7ZEhi.?nO8/I2q!X?*/$qg5%"T?ED7.l7D`@Im -k\k:6P2_s?LI6,i4`gXnq6rV7kFF]L6#IQ!mOt0cO$n8CUW>gO?I'@DQAf.qq'OpL -MV@6NVe^(\"\7Rln!5k9cCbOtN!V.8J^Cp6OYApWX,eIH@mO*'30UOkQ5aE%hTB=d ->&Csg*nXfp0EY6tY+s5ldkqd?FZ0C21o^mQ^&[RqJLn7uP#@2ZoGTW]P4m$-iP6I[ -@j]q2M*1nR#7uq7[QQmL$]aE@!/u)jB*oGGqY6J9:pGp"5!=ZGB!3Hi.;?M(&KQ0u -$RY*`O:7oT.1D52-'UtH;7OQQ -;^[i(-;sXjZ>CSIc0$m>eFn/PL.s!>.2Cl$cP'0%J2N-%,`g*X:>mKKu@Ei -=DVRs)iMaIEZ$ug=!a0TAb0&pk$pQDcf]Bg4VjAOVp]<:g7;iZ?)lOmFuoSff4gcb -#/beLfT8]O(gVoLdHKqA4;nYuU=!qlQnB;!7jG17;j9-Up-h!D$0)6buT%&V\NRneo$5$re=)!WZsS#/OP6&HlMZ4:d)69GYge -_%^Dq7H(T8lGCiZ7M\)%,Ld9XTeK1__G>78j+i\oBck?G(d8K6!8omJ_/eI"%u!g[ -EAP@N88b.+5sk;bKCR[phD^G`9+ls;bk2?2&AW3?^B'gr+,,8]Sej^jJ8Hc#YB/AJ -b@(Nqf?:tr%M;#.4U`+;oOE_6LD$gt]MNM+fgNSm0R4'jF80_;aYT,n=k6TRDd$37 -[;fL(s*/X'\tmLS\]>p4K=a$42ensJe&%gd@d1M(@J6qGQHKsUq -BSr7kXTn(iar9X*`lkaogLf9LmMg'(\*dJ#_QI]:#5,1gM:1T)\1>T#;7em>&ZtQX -:D'_uHl^4fD_Jtc^g)8)[Dd+_cS3$%g]o"9ni[LL^$kk0$-dI<7odiTSFU1;DnR6& -g%HG!ddDY4FqAP-aVg=r,Xm(0AbKWYq -iB78;LXfA*p.+GQ@olGlb_%f6rpHZ?:(g7U'\$QAD#QDZFh(Blc:4H*H -r_P'%p*A!YSYEDb"OG=eVSl77U9m!Tk4&VQ#dkI@,Utj4Jeo[,:'r2NG#$BQ]H67_ -OTF50MU@RQ]m$M!A-@CD;>NUM)%.SJ1l7>!SX?OY*.h6jbQTC+k5rYTnH^W-B5=M7 -ak7CVUg0RW;LVM9)+uC>1oZ`QY#EKr<@anVYEi)+>"]0=/EOOPQP/^l9A+A>jlF4D -dfr7^fc"cCX&E;&/.a[,C5;m`=p=@$ijZpddMc*&Ro9Wl7&.\fRCFRIW/bUf=YT3# -$YK]0j;^q*gH-d)nX^E>GL'FR4f>+DD2!^c9j.>R9<3\ac"uOAZq!+*/I.t7Z:_O/ ->37*CeK`QMeBmIm7He"nS9,L@3,0[&k1el0?kE@mA>puOKSsE9C2KPB]>&iW+ -OO=J):$JoWGOFSL4/[3rc`K('<8sU`!^0-gE$\de/fr9ZM)OXI:9#%&di6AoS0+1" -7=bIh-HG9He&"CNchS$:@eL.:3T`slSIQuWcBT)A!fc\`+J/X]F^]@_9.@_A.l`i\ -?L;/j("kFY==B`'>YD*\i\Mk@,__inCbEc54!'*2'%0ABO(:LL`<@Z7eU0#h,LS3 -mCkNnq(Cojb^diTJ?L45d,tVrl6%jG9;Z=Y9FZC=7J4Ik.g4eC*J8[C'?f!Y4A6"r5#B)nJrlY:_bF, -FfY&XZ,_17bJ9onFUmDg\**GU4kQk@P-b/"#OO$,2(k_7Z?UlAJb6_ko5.BG5=cpn -%j?TOpMo0-O+*D+o<)`r6q5"j=$,%EI95*SFRmm,6B2s^&s=Oj"E']74Z -lUd3T-1278kq*pP0BF%E57LOIepC"/2MUk<9Xm,gnNeG'O-4fR9;lS5p"B9LJ:@U\ -dHrm`rs#J#9o,qN:hQ_tm6CO%HffcA_W48]XOZ/'hr;CNq%-CtE+Uc;,f -P!g\_9$5(GjFW%1S@:l<7-#mu"0P@SW'fdUK1-L.J:9ikoL[-B9EST[KR-$7;E7Ig -5GX67`9^,BQ;TD=98+R:Ua/;:i(m*Q"iu]o"bs&!^+Z9K3pV5#E.E<u! -U]=9QCBLDT2h[@Q_l-R'!'09"f]9b?,5QnKg,V[OHj(3IO?2RlC-9ZT"7=IH7;eLr -^5BiS8q`'k#`;"qZDjW:2bUphLZ[a[cK?g'05c(\8FYLpTF_6;,63&Fhmq0gQB`72,2]'JW/nnP'`Q9,2GD'p2K2 -Z!eC;AJNU+@a=?Vlu4__o#9jjrTB"*^eF5(*:Qg<(+,K$:j1o^Pj+Q-kV+biH -g@((PacAA!mlL'&ZpQ)o3bdfM@^R+oHn!*.U!H].-BS#a%#D1@BZ1C1Cg9=[ -"q6C`:8iF"[e3+5Me7/*8e@YY"@,i@6fl[o-@2B3Pl9#IW5@hqWX?uTHBMZ2dHo/" -LBSnTW]AC;5`).sXN;G[)]W\2e1F/g/P,hY7jN+X,Y!Uh,X23IM^EFZ-B?;Ci&XB, -["tX/#QTTDW/CgGqL^(&8h`e39u;;#c@D_[IRM4UK!r!fK5dAu:_p.a`ea8K0fKoO9)aJrulTO2Dm@[i7',5]dE%.J.HI -=!c*fW!>rhM8o&c8d'Z7/TMIc,hYO/LdQiU;^[r205NYJUs<@W,3LFk7g@2u5`QO* -W@_6Gif5Y>*]knIBa1U-#qI0@)*Xd#7VqeF$)&i,pb*foG6=!n"/;5Y=I_,BV%`l! -P]o_HpE\0a9!:X,'X6)o!D4'7+jscKU^o\2b<6Q\@q3md@eP2f0djo<5X^qKkdWXL -!_?iP$=sXIjT7dZ#RG!H5a=V]FmWNnnR$G- -?a]Q6ebNSG"^j4oA+S:>_\Qj;%T=gM@BWe]M@3#JU]scc4B:EL(,0(dqEU>m98XBr=@FO10$s_kA*dh9CcY%[Kg;"n7lX<8+c@= -X+!++2Gtrh8%/gnG7FjfqG[SmI\b1`9"I546:k^O@>$gldqf9V_Lk7C>Jhk9AMSti -D,KQK:IlZXK:d'5aKI(\ImclNGF?M6I[ocl<,J4.t&>@\L -@Y:,-6d^L17tecg@pi/O(i"406"H9M5kp/Y&\DSneJo9`W&E_Xp01!69Tlhn"D(8$ -!/q2VM@&42$,EBqi2R-7WJf]1#h[Amm25LLM^%;m&qUrQl7Dg.MX^c=5G4;K5a2V# -ooF@lMkHTHm<[J35%jSqM>7TRe9md&ps#\@FeFa#i/N[\W!XZ?$36EUpp(1*\g0ac -B(VU/=G(O[%O`+Y,kgZ)#B,he7j42s9K5\#H!okC^ljXa3CGRa,sXu]i0"5QX`W$< -@udnVW8&YM](q:FkcCuKC9D+V7.%j="^FRZ,;`m0-O;,O_h_*EekG0>9#t;-ifflG -i^E8G#7(0\_k)C.'qgKi8)#uf&,5-T*N]OC& -Bd@[Po"?bFb^6Yh4sT2d1=('K5%N?2"D'AcAC"7CN_^B%&/lpM6ZbnA5hk>i<"P)& -j<8o]?_r!mQ9&6&PDD>o2E_Fj7DlZl$ta9rT0e7]ju@L[RU)jQJZ*m%W4I\]g52d) -Q)Qg4W>_>,H;nuJ=m:C\-mi)YFs)JTZR[i":BCf#XhZ`WMI:i&8Mf?5(Xf8 -&#.Cp=OiPON51A[)_nR$27$]&ZafK272/ZP=cep%NS.:T2Ru?Er1O=DZhVTMRpZWY -A.%(*O3Rqi5\ZF]`GPE:PZpqm_?Z=4XX,mq\?FSq)W(Bp=p/$&\[oG>jHgB9DFP1J -4t$7kMYT6YG%SZ9F[M2IF&G1JXZ0+,upYX)]CBUWG+RH*:$40]#%e!d)HJr$%g -2cs#_'KZ-e^UsHZj0+ikLbB%h63T$5Kr(?ni%Gu/#WIa7]+-hkkAc-nV*e"@'4_5] -W]qc.TS'S!p\6T@gl:L2K@c;:2g[EX\\c>VZO=ZF,4&8F&jj&C97pfh0d&,ba1\M0 -31pSa,*'%=0/$%e -b+ABm#4.]'k1.j"%FIp7V/'oAE@\Lg*c1`gVc,*I8T3Q,)+prEj?A[=YM -%04``rD3k`0F:"-#r^7ICsO+I5a&:Co]EO.YC=6]RqtIg$,(bq5eY\':XoHifV$"3 -q(;tadXm]M"i?VZieDT\mFk"K.,CR\IBhN)[C!WXMHr'ec[a:6J2t;h$%SBNIF&?" -e-\@lgq];dqf0)J58U%EgAS)+SaZh(Xsq'Oh`^Gc?+XBJ/12BjDUqarf(75e'PkQJ -B,;Q_W2q;]*\E^`eZ#k_:].aGSI?N_[n5:%$! -,V21ckBX^Y2A#4;9$T[,^u^Je6XoOM82]T^cffWhkc\Cen_c'9Ld:+#T8RY]n+Jj@ -2?m]jZf$GnG+sW-Jk,Y/"?r>RKYOC[S:a2a5Gupp;!-rp4u:mI;Q&YLd[j6&,X`oA -]0,4dhED(@##0m$Zffb-oj0L$'*"Ck/$d.S,kOk8mGaZ/idVp;N(C8XC@M`[dKMFY -,L&3?264J4o=lI?ru^kt4nN)IoRBU-^JXWq_gIa+SecK]`cn<+q52F4k0a#ISbbRMqL>RsrXHA^S,"8_ -Xt54[oHch=$:R42O'og%qZ%%tfDT+-rOm^g?.kDu&89MC>oi+cnam"(9bJRLj%7fE -"BZ76#\8Q,+U4lBU)79n'-[O'OJ4-S'oKuiiGd"O0oec!Z2#)g3uo/0Ur*dp^/Z_L -b@VBd7&ia"RnVo7.FdL*31gUkdocPIHTRP57Bp8tXAgXF;FQ_1E9aAkWt^F;&qN0; -&1/$+"8`YVBJYMP`<($:,ZcS'N32gLXV,%q]1]=@MA16o*5:2]dEA'J;g5h0B6Uno -ru$C'A+@)fb5L2U(?=RLL$^1Rlj*[2I.?=!b!"C\%?3G/n='gMF>< ->`=&19b<,6+eB6TLW/3VK0c)!/!J0>F*\hOQTqCql?2sZT!*(;h!K<5*WHq&al2gc -r8+&9YKuV/HbH$NQcJ@[qgADC?cVX.rVXG!#Xf8X@:37SL>g&`*/>]U(BasDJq+L; -iA`e,Ke"]IrR4AX8q1_2i[(f<"U!ITJ<7H*Tm!sQ$,q#&I#e1;*Z5tk`+7:HCX -8qn(V4[<#njZ)p0!A)=oKqY'$,>jWc$U?p6Q&65QJV>Cc,#h!l:fpNdK5Xu'"hAVW -pDq.l>k^,)Entq.fl^T0L#7/]f;7MRhKQC!Hs_*2qgCTseH"L9i>cWb^d/Ms&;1bi -pu2B8INmf]=G)T_?^LaJN+7+H4,mb&k!+u=3@7%UA9g@3P\#,@>En7FAmq$<3MpGY -Am*,hSEBXuH_+mGhLhG6=pBbWBY$ZiV.f^3PGW'jG,(r"HA8DuC:]-KLXWK?hP`@b -]61A5lr#YV6@gtj%pdVV5.$".P^X@k_&PRh<0i6\9Z.WA@3RND`?G?h.L\IJcdrW>JDJm$ -_]Z<;M^!D9-O:(p.Mom/(=8m(@<,PA.1PK>1'FP[=%%04Dk\i[BMd22r58Q*:gse)6mQf0g'1iZWdu\S]`ZIQ-IgmS16SLoNjKLFn`F;bMD[l6M7+e1H -ifm2qO[V+,6q.[&a](g2R8PU_A9/FDHso9n(6PQ$M31+S7>SGp^E@'oP)(&Z#=/ki -E*SN8dLIHnm0SAdR%KOhF&33L/1C`Jfp7dY"A8V@`]5+dA#,8X;H41J#4BZE.[NfS -I3U/5GbcVu>#bhk>:N2CZe()+:dC9`Tb(\/PsRrBnWlI22"ZLPU:+,1kt7bJI$GqW -9i)H$4=lS+Od(LU=ijNS+`rqWQ:tFIl69a`3>iQ@S5GbSG&C%M[lA!lig^[BF&#br -PR^*EQtJRa0fe2*i_8R+PLag$C$@eDeG5`#idXb7s$(0#"/&U/JC&TK67=\tTp.0b -:oY[+BT3Os<*"lRH7)0q[2NV=c8)(Y:>Df\(2cP`QGRlt8kC]i,2fFd!^uCPJF)Yb -1V=-kG2-8+qk,M,+[@P,eOJg=(gcIc:Sr0$;lM'9"_\_g4@2aS+r)Rc;";ZXB-UGl -_4.H)G,eR:&Eb,l*@V;J'Y5tjkt'/f#XJSCf'pX`876+S6+Al*HKH%Gpg4Be==XM` -":\&JbH0WpV*G*Dq[/$KH#B#_"1#]TCNri&_171C^uK$BW,&`)`%aCdR[5*&(Fi5+ -%jD6D;BQ!:WPu.C>4Rh\)jO1'(8fgfgJh'f?+RLqZIg^M$:Tk]:b#;Ie4+NgkUo<< -\$iF$PermI!Bk),A5_V*!+LQ]`!LuE0kLNA-:V3-(N*5t>+(fh!?%AD!)L@oB4e`s&cE/#%B"utHY -j+.hW[6p^VG7J'XM24s%dZt65*N5r2Z;LBJ9do5o-j=+#\pROW'acE^4Wbe- -LjS>7,9X@O.?T`/:5c_;!dO6oOF<1:kfl2"A>6/q"M?9W(@38+>+MXg@a?JYUF29Y -NjK]%c0HE]/A1h2EF+7?7q#MnFQg!ZP)r5@+]ZSVrJ30$,1Ke_;JLVMWc^5"UD\%Z -[atDY;8kNGJ:Y.[r3NF]euRDkUL*9"IB[l!_q4c%@;Ke;Z1_5?fpa4!CqZIIG)"K" ->?>M*IAo3SHCb7$Fh2G^e=%p?b,#qIPu>(W95+NfVFR5I;hE;'l>t'D@$QEjO?"Y2 -`n$jIl*e[X^jsm#A-CDj%:MuU_Fo=fX&WM^E8DbU3(FY!Ygpk+g;s=8';THpZFmab5W?"^BKs7F$-IDY;83naL6n\*1;AifcR1;,m -cIX"$BS`dd,=WD?'e>PjhF^hMod/\3S"\?CSV=;W8"92BS(5*R<@PV3'_ZFQW/FBt -H+1\\)r>#Y4"3k"[(!$Co$du1+*ueE97i:H<4-NSSk)$T_*7SSGfrhCKqtfG<:9-O -Caj'l?(\Fs-j9U^US@-@T"Y(1Z1m==H -&]607iH1?I3YmifZ+(^K!3-(L"u9mj-%]YA5pECV/V2;I'1tq6iB&"\==b"%OF.;L -&PKEdD@tNV),EGKk<=hU_V?\/ln(Qq@?Jtn]Ap%"UWJEd$Tl-; -&Z?89$noMG/jk:G6_$/(X>n,13^^hI6d._]gcn0U5XXm'_u)eg/4)`e6,ZB"Zcd`X -fiX?h:bIB@^+*h'.^>HtZmin:-]<3ud$;,Y`!EV,OKfhE6phlL==(mT`EBXK!2N#Y -8j3W<`KQ+sRE0f6$"K`N"3buONM7Gb/]XusE(6B/u -6a")#Z^t@-X%3jbj1NG0Jk)6jSlrEk.((!^J]HKO]AU$+]?*E.K9IR1Mc;Nr;NOEU -dM2gQ%KSTk'7-ZNeh?=HJRRVt42iWSM_%\_7tZCTiAaA:$:?>O8Me#kd5QUodRcI[ -]rB@$!2V<,2+b*?a6>mZHa,]e_TAe*3#nZN;So%UR?.."6".M2/O^^1%*Tg1g" -nK[i\3S@@GO_PWq!R([8^R6f'6i-nqA4r:'UFSc`d8(>E5F%s-bLn\IF<;:r+9=8g -$R?o.@`P6p^a&YJQ!#aQ-m()2+0gtn_V'EV+9#ReN.CijHcE -\";M6;O`k#WU./Mf)mu_dbJ^A1GO^D)(K`cSJ0\rY`#Y\*K$L:Lk<(8p5u8+3b.J&L]HFM9p_]PW -kXj-uX`Zf[JP4"gs"-eRP4T>B*FfdP9`^a!SM@Z;NB]FU\ikDE;_Srh;o_f>&QD29 -n;^91V=A1"ViE7E$ -C(`C7/.jNM>:5dei)raD'-u+n=H*o\^d$3d:LO$#oc"G^+VmX@5fun;69GoT"Ni-M -)_pfGA@IdkBrR'[=QoRsdhS*5,?E_A0#Bii\TkC<&AWWLLlkU^K0U+k=-I`TOJD;# -Bb7qW@"A1/&**j*W^!fj"G-XgUN'KMR;"nmK+g6k(-5P/GuPJd/3L$O=I#abc$iaM -_d#pS>[/j`\.P8HCC&(]N4>'K$FJ24_G'pI>WpA;h9T>;ceRp7>ohtrmU?.W@\AeJVp'7Iq529FI4Z.-Rb3P(;XmGBj1%h`Ob;,%daGa>@O?oP?Efqm9U -JjN,P)V&O\]A_hSXa-V:+N:JM.`ET5AKt99l]#I%7J.uX6F?i8O"?aBSY[mX%JO4X -.>'Hq!cdGDH!IX_NCY#%0,Y*mr76[c*gBX5TR\7VJl2i*3$Nqs+r#/VJ^_INgujk`*=Fm6<%>r3 -HH=De('4=

        91e%W!$<$64s!\D2&;o/m+ -TSku>MIM^JGa4LZ702/6cS>_,?8H(T1Z8<[;XOO9nJB\DP)qOkY,$q:=YX:R&A0,, -&LI<_3$KJa-=\r!JmLb'<:aJ*0U+k/PUk=9<1X,-*a]2n=&c9^XBK/"ggn](=/b'/ -\DuD!k2d'(Q$YiZ\NE?L8QZm-'(a82"O@T?=(O&r'p2X'=Qinm$^A>U&NNfpW/J"h -**?&5OjQ"L!F%g!1'j!n0#B__C"!@8C*SF$Q:XsdRQnX;,*1\'6*kHoU0'\(1ltBC -12/$JZD0_7mu?ZG'P2iY.C1=:k`E>>,[rkK/-hdG*XL1JB9@G7@2Yq2ClhJn*r?g? -Og?^?&>b!s'#J0]3AOc7%qZCC5O]2IVLOLH*i1#3&:T4qX77f5NBj/B'f=_I_+>AG -,"-RjjVC[(*g^SYQt]uQ??d!VA%\dTiXOP#h:STo7GqJfR;%,Cl&MHP/u!)EU$>CJ -C0%-F?DhOUW+oqDC4,be^^`bghVGh:70&UU1#`R&H]D[s$!s/klEV@kdPl'DCKr12 -<94e/%\4`NAB"(?Fm\M'8m^n.b2r,.m3K3QZ(1X:dVN=>H]P8$LE>A.lri%LNlP%b -/o6=n7W&guE]95b=&j?k8)`U\Xpfm>,ms](K"rpEEU99tT^5c8hi02FD*-$abZ+WV -\#T:f21adMAqHC%D;1\7kV'JMb3esW*geP-fIOMt#aAnm&2\hTCtl_((SG.]?m$n8 -mc+Z4-_Q;q<5GpT>^mD3`tVt;Jp-0m/M6A8'ETFG4KNoM!/_CId"5$KK$qc3cmM`U -(P1[%)gf;:rDABLM_D.D'Qu?OVW2KK/lQZl/)->@oP\Tk21f3[&NHckc:*Q#O;.nZ -Po0ZndKK#pX9+9nK!tk5cnFoJ'6%jL3US[);+GM.Rl`=#$:_.5nuA4O]eF?9CSr+k -mS+lR(ns0?9-`S6SuCsd#a=4C'(iGV"$kCHe;Nq2"T)F6.fjpAA -3c_(AAKVGGTd:Eu)%tq*5][hT@l/7P"i,A_1SFs3L_cK^7V9a@k26f:OusG@>VYjT -6%Fh(p0,;8;\GjOP4\=$'$'*AhNLR,'CemRkn59Cn#jPCc:37!OZPg/$PG`X'S@&2 -,;]!S1[qS.!R^B!+Grh_@cL#-7i"if.FDRmFH+>m)U]-^YaWXA*,[EE+U$m.1cZ)rRL;4eWt()@1r6/Zc,3n!V^E9>XGIp/UofDSj_= -6.KKdqc0W)a6*Ac)PiYSU5KZ*SQ=`r3/;b#mN1;AD=5f'^ab-epn4$cMM$'+F1j2) -_?'Ha+ElP2YUkCoaO>'r!tWe\n1acET>pHDj&&93'>TN9e;@u@:ug?Z4m`-\GPHY0 -GWQ1AisdAsIs4E@_[@q,R2e>i),)J&FPP0)Uc00/=L!P!^TNQX8Q'.#&:Ssb&tq.I -U19K\,5"8co69bJpTOpd;iqLOP9t*1JGqIg[h,8r'f%^jC1$T`.!:D@V83Y(WNuj1 -jodo#%NrY+5cPMDL'OEgOO._c&r=Kcd9)3^1b9E#@+"M[b!d=6@F>KLRLEif&#(8k5%Nn,`0\C8%SdadK_(=M0+V;m#_4]Fu@kX6N -lN+Q#W)bDe%7[^\2#;bk*69Ao.PU"L2]0W2K$c9B:H#7Sn($1sEs7'0i,G'22CAlj -`+(N(gkJ$>NlkmQ\NI<50q6ALF'7klImp'ZBJeF+5*o-IeSB:grFWrQZ.a$fgF^F> -q0ZLe --_JrRp3JmY^ON`OoD*f`5C]TkmJ6a1s3K0prkL2b"TlK$49l#)cr:S\_9d!A#!u.6 --O@SN]IaQ/YhUrC6W!,8&&_<:8J&hF*%2:!T^/TjKV9W>'KBN2OQAK_FE&8?:4.=, -a0FEJ+NIo;KX$5(cqN\X/f7e2aAMk\+pHC[4:d(l1pI`f;*2qf9?tC$X#I#n9GO6r -&6gO,;?YZ$9lbc!jj#$>k;pme]]hORe'.VNcdThi5g?YMh*KE;/J1tTo>&:uC\6NoG'e&)nd:CK)<^b8[(m8,E86K#:(MaGLj,mbbdFFd"L6M(r8 -O`Q[&#N>0"-Ad=^X\DdskfI@o[Tu-Q<7Nt>0iQY*b@ZU>\j'HSVCGp(E4()N=+IA$?e6l[+'\=]IMAT7%1B&WKOVBq'c:j\GYZR'Q(\,eq9(#U9jBJJZ# -4Z"YD\EJJ)L3:j:&d2V[9c%IU@Qkt"="WVbha7=9ZJ(;W8=;MTH/Y:)6OK0O5U: -Y)O5cd.2Sa50mK+--FP]D_]<(>^&3Po=WsD2nCD6;Nq;?"MX98'&9fGFhN9-f_+'e -@+-E!;B76>lA/-GWO/b(]`]Ar<">tu'#32$_'E=D#(`S+(PN=pVQ-?H458bIrYS(t -Y9>sF'nt'_&T=IP4-5RWTo`Z8Hsq?h'VSGJ7YZ5h\$4=2hQM4orSYr`^A"K3?K`VX -:DB+W&gC@^cmL*_+`OZ;SutfQ.g)Ysm=GT`E*0*Y"_?m-^JIJhT?4?]mcbLNLVi[j -BaB+In/4Rud/+o*7"-K](BR\+6_1dNG>Bn*^(=JE6$q^Ic__s>pkfJ%H$=dVn=)M< -HL2oOZ\m&Z/4E[I(#m_KMiiH?`YcB+TMQPN-M=#WB+U9_):U-rV:a;8,3<2A0c\edLJXc=V2k=_V5 -K$BQ,/([,O,pGH@XAt0"cu:AJl_E@"CaX'`l7Q#GK3jE70`lbS-N- -Ag'Y-oD$!rAX$iB:P# -l$NjO;_KKuPbs+!L_/7_%pA1S;?c/Ygm)8O>lW"qp7@Ohnp[Ld34JQkHSK]/9(('?ulNBLG2jdiP4I*a?##A=J:+:q,i -^6UgSA4j7V"[JV\_K-)eD0.247WQ(Q4%]cdi2*Z584*Cq*Q'/M-AF,mVKPK@.1A(Z? -Zr90_(#m)^2%Ui-]k/h7n@fa2Mi"eY.b=fg_Ga)+b,*T@:_)?Z97VoU^#C_@gm^It -'g#F>3I7nRnW;rB#2n9%2m?lQhW%HND@nD15`-[7S#fAXr9QtnN[L$H$[8<+i@?kn -gQhZW#[nCZJ9Ta(<@<_^](5:,D2SWpF7;p*cp/7hM_Q1Ed7bF*i5AfSFM -cs+)So;pslF->Q8->g-@KdeuO9a.kt/%bk$XCb/FQjaR6Cp"Ti>$7D//G=bD=h@&` -r=b6MXOD/%qJ.NK/>a<-UoVXh;DL,s;\ro=%,--"KN[B^ZV9\,KRK&;RE!_qMQL/7 -W%;]gT%#.iTODVITMT`:MnpUNAK^]*2V&qoK,VdETdGm)2(h/qpcBl4#*mTdcDoD? -jIH*%DmLD4<>\3L@;P)FXHjpElH9hG_&%2O[[XMSZHZ^l:Jh6]g("k`05*c0(GbQR -ZQ!Z/S;ZokZc4^cl8=bal,4JCH8N7!'_kUciHnDZQWpmtfa''8+G>1Y@,']hTp6!B -Uh#QR!JPDuPEKr99oQbD5Y0nIF1XCn]DT/)gAGbnR!4]i'a@3Jc@[hl96:<$9q -/h0/8Gnp%C3("k53J\LITuA3VIVt.UJ?XsI5AX(^c#t%B^)`o:hXjGM/17nPg?uU5 -%Z9bpc^,Zlgq?rS43>Ne7G*t=?\GtELiaMb^3a/^R%nP<%qb,jF4^:1\*Ue`ZhE8* -pgbn/>p]#O;4.>A*H%upIE/_ihV[Ak?]jpY=3^P*5N[A)Sb.B/e,%rpm!W6Ip&imm+6iXDsE^dV=LVI2!(r(VIuJ)K90=CSd1-hiiXQ. --&rB4@c$inCR&Grb9[ObZ@$"gY6s/aT?dL>/``!J(2PEHbh#N>3KiV=F9POqD$-dpp -U.e7r<(:INk\DmQLDp3?G3L:R(GUC>YQD27UpX!QaD^MGd?=D>PVfFuG4*)R!'\$` -..tML/+2?`02!3M*;-Ji\;Ud)_Q8A;WuQ_im#P9fOh'd*o7riXQe%`'4LLE'd%K.eSp -9N)gL2]35g)3R3/dR*gaF=T"hQg]Aa:P-YT]-FUc,SFB.;I:bK@j[@I-IQNRnnTTc -G:-:8-Sg0!P(>"/K.)?Xlc]b\cOrfCdhkr4:$:#'jNpA:VY?tsLFIEqEjHm_ZHqUV -.B.q9O8a1*^FYP=(_@1GN?J=:Y0q$k$EYkKV4:N)g?)e#fo]O35e7DfpC)Sc/re6< -&OH`!C'Q?MBr+4fMP-Z_qOHKD?I2m[n6uV4I+LlU+c91X5`T-)hUU`=Y\DNpZ"BQ$ -9W3YkW(GEGAb8r0^h5"jSM5T.A#`TW/E%(JBr.7t7NQ1hZ>NAf;j-]Y7bVQAKIN^+ -E0/rdlB42Ij9P2<%']+0!.\PgGg,/.D$I`:V4Q=nfW]7'#bZ?glA7Vi`kd?Y"g1BF -VkUn;=YtmB@]!$.O@W?.H=>sj!mQ1Alp)^kAtOa]p*A*'QHW=7n5CS8^rqp -F?_9TV*ib19%9n7!sKs#2^H^s8dO-mW8AHA2bN_A9[q6['XLLjcV7Bn9pFO0FQ6*F -j\?NQ:=ST*'^3\PEm3Nbk[7fCPUB:#9&u)2K/-JneFQGq#U[K":ZJ3H1b+`nr6TG0 -:R*5&DOi?j'%/HQ/^iPc-(7s#c=`.!<_ZP#+P0U^U^T&h>3=Dp5`F]qR%_LT$Y<#2 -Nacqhq?gg45UEG]aosP>Al<;_,N[(B*>W*L^lj5r730+dX:Ed[#tXG,G/JCS7+@2/3aSS?\A!d%%1cVlCP65%4W2)/cD -.8roh[59U3FV@PN(MT-LC"AVbp7#e4VeT85C,W81KG(d^HG4MC3>B9M2NkK!ZYYr0 -CppTbf$eIOf5108D-#J0QJZR\j)11ADU,OHFuK8NI]gd]BU3uC6^(?eLJ\i-DKO$F -7`o\-LiF.SDs;dIB#4b,1^9u<#1kGIf-tc1_fA0-:%]rTpHn-;2Gt8O/ZgLlPsSFR -Ni\)cW(l;;C3lD)*c!)nk-\k/Fa@oDnuL]X"1?.Gb#YL,I\7gPf*'3@&>l>?G+@rV -'897g0b#bEQ7]s=-e#ga:n4MC(1tQ.G?%F#kCHk"KP1KtVMX@>B%gOE<`DeMA8pgK -'F*[.>V+):@`DY4"O%$+%pu&R?fh4C`h;6*"C-*UBP)dBm=(f6i`W\AD6>SO"WnLl ->%P+73!<]4LIcBE#\[gVbrEeWB[3L?Zo%QE%uHVA:-8Fe<2E3'u=ca"J3Hll'TPdf'EKYSpOuY.t(G0Z/5DTW2 -Oh!YsQUmRNf$ZfgRl=1G'&m$U(B_Z2B9?I778XeM^?7r9?7fOmV,UD_gneK(/>V9D -k%G)gL?U^n%m64^;kZ+LkSLtK7,g:4p0jfH24CD5td-#oqi!];a -$+:$`8rR>YHtSPH>j[AJR=q+WH;Y>e2tus\MX80=!(b%<=HR5%64=(hljrCWb0L1.6N@pLP0M`&,VR!JPt-YW&fsd1bX\: -KojsSWS$a?\tQ,"UT0c\WnO;M"&O[1*<&?f7WuUA=NO7*YH#1?XI@J:g=*.7f<#tE -X]jJ^)W.]$h6"aLQ_JSARq;:R[kPs(BD,$=SZ&+%b,mTQ\@9>s>$>'WW.MueVA.:fM\Aan>pLmgs_J-WO\_E^W0fDt\i!a1g -C9\1[KmT?R$bMH4_3o^*7b1ifdCbs*\A6EPA_%.t1o>M=U;UQ:(]#A.F_:CHTKo?( -3XZ"V#RD7U"E:6:9&,rud\jKU("^;IUh;0T%2P^lPo+MTH9,X">+K8R&,Xs77F/X. -W+:o]NRtK9R?m -Z\bH5nVaJLQ**14aLmSF[^\9X*bDVjE4hgbS?pBY\&o\ubIkC/ -gr%>Ua34D(bZr@9@s30oaaZ]kDqoiIA88r6ORYtaG5B8'n%(SNF)aWfW._"P=FIHS -iN`8,g"Ra7Xla+p.6BQ,$s>^nj30l>0%^'QDODQc,`:o?G-2otk22 -_P2=mmPJ[k2HbDg;Z&^%*(.Yl7TWF>`52\s#&2%]=k&1%`SqKL3dLsUJ&frZ`rtGC -6HX>?>LRuYWDk[X>fk;UFm#:BkMCFGrd3iMLJ54f+crR;U92T;KB\tal+Vl:*hV_( -Sa)fAlFs1]hQuMM>oOCEO+VslhJ%(BC.O6L(3;$nI.?Mr`lA.dK#bU1>J"lmr>^M6<7B*lQ -Q@,[kE5QqGG)]J4\EJ_O>RgOM\_I8F_EaAmSDVVT9u`ZAu<$,R#$ -Hf:'aiPGRG -((CIX1"b]380a8?"`h/F+D$BE$=tt1#_Y*q$tGAB=J/Jb0c1CU,FH"I -U/36Sk(_QoGe.0,P)2Pg^uA6H(Q4!a_-!j&0;6NX&4)RBTJNLqW\liFW+8.Wc@C2"GG&&Cqhf5pQY*IbLId;6jhJ\amp$2WbW=23^Th'i)+UmAJ -(sI.S1`?e`Ed945?S.\gk49J7eosEPd:]hT*A3CIWRP\TqV>2a=g-LpG+/rLcYp5H -DYIAkcMr1*hf*h14uWk3`T6Rb>i'*XQdOu<\fEuD=0^9BFo-TYkC:2(meH]$:D]AF -kOj,6StBr)h=:8frVp5kgZeJ2IXduNo84!0JD`Ql";!7K!^Img)@XHDEu+ejYM:?0 -6?':X$pq2B0+C:Qj?F*l0_@dF6ub%V'L\'_:DLi'A7$-B0l1J>7ZipN*(KJJD&u2% -lusOB1'E@SaKcM>,"V9(P9rj5$j7%CP)rju0QOHs^9B-cZS"mcgBPO!lqE`n9Tq;W -#JmKh$kNRk3ghVD;j=SmLB4o$Q3R[TF$7ijZ8Af2.WX-*cQV9Y6\eW8(IV--rS09MR,WR$B(?UtcXeTdWI+"j"K2.b,aI<\W(!'j`Ln,#)]AL<19:.O[*W -DBr;XaKR3)2A"PN%G!5lA0OAhXt'jr9mRk9J`;7p"MlQM*nhf\[Ok^_TYG&+d -084!N8C08#!1>OJ;E,(O$ss?-6n#2aPStc#CQ/^MIK]A)&'IL$B(70`/Z#tdM5&s/ -m6,MZR/"6-!ndg`La]bEbSZU[pfW/M-`sf]&V9F8#GCKV&9ddoA?\+X8h"IF#lq?# -QoeR#FZ0Af2%irg,pZmH$ETII9/+[8*"`ekiHR!Z2No@gR03_12b:MU_7KsYX#)<-V3NSK;j!Se##il+7,qI<0pBlSMM3q&)?X)H -$XmmYKS\L>gP_^Q`@)NhGVM]sq-YfbWRt*-B1X,%ZlkT^PscNl8!r\^< -W!pOBhWX38LG0Eu)C\;s$qgu9G7`.a'BjXO@E"O..b./CWa+s9(bgcGI$;L69+r%< -XB!EZ=OAg&M6 -:ZBV$>1$qU[C*pi$)731XZeCk$X*u?L#8WLRdh(]c$.!OeeSt(8!>ZtbV(bdcpe$#$-fL6C[[ -:^lp^S]po*WE7$Xn;Md1c5$49fDOg&F-_$qRH$AASGAcJp3P('pH[p?"eg#bLX:>p -6YNS6U@`VgdMao5B`0b31o@)"ENI^(YZ9Zt0cKbBX;/Fn8WA\>nkt_%'l*.BP/a/I -NGTO_m?(5AO&f9dAcX]*KF$GgR+GDL&LXDDp.!YSK."J+i1RG^XpXaCU+*\R;3bEt -%-]rbmJ2mr=Us';]=+MfFMZksgB@$SCi'%CoLSX\M3/V%E*!1IPAppaCp#NS -Y"Cdb3]sQZF15?)JKcA(!PY#fj;5\gW*4Q_QlCkA@>ZM-ZG;#/](6UAT)lfZ)O[>2 -,CV/BMQ]W;$/d*T8["u30-u3O!c/c$i$fWBNYsAb\#Lp7BH3GPr]",E(IE5"&oAt) -B*.pC(F,oW)]:>F;'f+W)\J7%qg+_DJu!W5,C4C6(`+UJR\g,'],6)NOZ*R9Z_Y^@ -QMI_fe!dD>WP%oX/_`/VHMGTtZZHbOI\A!>Z^2USM -47:%3YI--RZZ*uK/5*\c9Kb4,7-%%[oM*:%:;m?5`=u4h$rb+j<(/WC`FMufFB(b_ -fEqn.rr.Mkr(T=NQ)Z?R*hIn.p'@"$^Bn_'+7W"kRYY^>EDe? -!;dZ8&hJk2A42?a6tj,#laD[k`B0#uZOjT8gUjQ`d%WSK^EHN?1M&dCeH4cD^N9.[ -nPMO0R[cBZ)qn(3\oP;c"tQ[32]MlON4WeJ9*OX."Mb2=88 -!N_YOeFeG;`&@/OCmVP^5QA -#*g-hQE-.X>k`e9;2H7l88Emo!#<9_E^2-r""SIY9'=?<:e>)3_/#LAaa'?Oj;Ajc -aN,PlgE@kN,07l=JjMnXEP_dVGaK+9)6<`iJW$^(HmOCC,)`A$lMEjZ_oW1C12D33 -+u9U:GHeZIcThMS_`F\QPgsBrIpKK,D3)\66JB_J^dtDpdni(b0o0D$H`6 -Od^&4V.,=>;kB/8M]0_bQMMu3Wsf'9-CAM"UhmZJfoi-SE>^4.W146uJ.eU3_295L -Luds)7)^r%lqDM>WD)\XoZ35\aueoJc+QHg[6r5^6W?cJ<)lE;AOk6U8CVcR6eD3gJj\OD!:t4j`^)Iq-qBH^?jO=5G7d6DUap:0K"]ZMX^)Q'j1YK\r -_c9u,e$WK3n@['2:IeM$Xa+.PC/u`dgsYFeY!Ke*9%U1kf[#7ceti&,ZfFjU_>,Kdb^H#;[qW&i85oP&!d%YCrH',qV%'eG6QrFY: -4_#>.MPQ\Y38o6&.fUb+;l:M%Y3[6u$>(K-AM;OPd%X;`/SLpL2a?@TR2N2r.OMH9 -BdNl#VR$JsC3%2G-CS]1<`#5;6^jJVXdXZbM3FBtqX#L)/rCpIR(\%rPld;1HIbu" -9"9c*Z8J$fUk4P^'14P(4*,l&7?q -P+-"BebH+-HtA*JTTYOPc0`>'R0?'*N5iAjRLJIdD9pc"d'`g[[NRS1.9n3_AdQO2 -=?WB6R=ZC%p'EF:]m\VJMqB@:G2:L[8-r-DX8XBeDAm>KU3VpmY.(G6YJI*HX.#bt=;kp$S0+R'JPn`P'D2Ff3#Dg]#Uu=]JPe+8MP@[r;M^`Apb'XgHCF*5 -S,&rU;Q)]gE -O;!HA@>\JDJW.ZRjZX'3Y=rf;>5b_^'4;4n]q,[!X;/o_r[1ql.,ot1idNB:Q7HFA -/)o,2ioVe$p+>;'0&m-jitaE1%Q!,gogH1DJDB@VmE[r&a0T"=JV%AKh9+bF3TFKW -4\5`8>@HMT5iO[fJX+Y8'k.mm@j]VY!eQ5[e;C%eLF:'nW$ug2ToVR>(?Eb8Q,/s, -#f;p.hhjG-g&NT]WKP?&.c*I50S#@TlPHILO;l>Z-KKu=F?V##]k,^,K(_`e\n2cZ -,pWQ],0KL9H<+0GAtk1D-=ZisC/k;%OePH3JNE9H@R4FMMPuBH_.lQ>.8mq>G,4Z1 -U3blK>dt]0?sk]<0P^ljJPqu[8XLu>/jp_:U+#3@7Jqi,*pt7 -9&hfdl"64FG!,#DQKaErl'@e&VOQhASE[JQBuZ_.p7CORSn]%5l57d-L81gj_],a< -:9HSarDse%#CumY!;0K0.]p\]KE35MRrPpmAjItCO6[NDlR%^.F#2l7@BFnU626.c -2=DIrOdV"O_V4K2Gu,GG:9QRhMAp!in[L5!^qeT`M$$R#)tp+;.bUORULC*qm%KbV -5pq!r+H]R;\i,p.>)AH?=4Q\G_jZ1G5r*/gd@cI`j%rc25XO.U!\&-kA"&kAYbZPM -iNSKV%.tCGJO0:d)L8Su@BHdh8X1`^V&=D_/<%/KXeMj9\_)pWI_1 -h9PP?!%@9ACEFa>(:#e9c\c.,3%7]PJhG67GCfK;-IP[C977STG,WpPA#'P(nfg9u -(R49/,omsA6*hcH8YcE)Dn=MeY.KMlFWrQNRI<+m3q+doEuCT!3gm(;$':UuIIJEgK)0`3G2!q$@*/D*_EC -\Z!C!8\hoP)aKO`MKj'uTo(Z`MBTX1Z;5Q$0?NZgoDg%V)gl`]JhJjQh:26$5?M`` -'cTAA'V@OTI$%/%1?f**T.,KCJ-/:?g6#*S]bY\?l< -nNS%qS+4T0&.0CAa]Q+V5E]9$L0!XtB3c\AaEbH)YPTp3>3l;#Wkde\61i/"F -[]a"(ki\CcO!P*6Ob%G6dNg#q/Rqg9;O]^Ed/(?\!O`^-Ml0F`'a4;uA2H'X.N:F, -)6\h!#u[7%GMk2Q7^Lo.!HgWcZl;&c7U_j!@#ua$_\3?fiOQ@C(/-A)\=(.-h:QAM"8[^!b -[0\m9HnZ8Y&/P,:0)ZTAk5_:T2mduu';2$K2B3-_B)h*PlY@RD1Fp$os)`MCgr,Di -E,<[rYDRQHJGof4rYOSn&**X:jF0&Krb(?lGNF:/k5LG)rg2p7>N+L944BV,g=P*= -!B?Mu:_6X5I[Tclac#HBU0>R@GkZ3&s7\CKfZ]tW$l`Ws5`pmHFo8HAqu:1'5_'21 -!hiGd?8!*(#%JglghdN>NF>YWPYs(@KoBLrOb=iZ.i#jQidj(X9-t=n`=f^l[SA0: -$"cM+.&:*"((>pB#jAi2/Y!1qYULj7:IgSj`:QX'%L"&Q9>o:&-!%)lXB$Zh!ALCC -?PHS;P'NS?;dFq^,PJ)>((4QT=KY[3NLm[ZRFXc-]!TJBF1>Us!k9f:=ZrA8Ya+K" -(8imndjrr'Ai@b1^I^$Ngbf"[34@is2iGVOQRdZ&F\kc=VIq9R6$*e9d)%_&N5ae\ -^"2q'^YSC'gb&gBNQ'gDL4$.#g*P#_F?,II7h`#F)0G\&:;9l8hsYf:^-;jd`>"9s -"71[=V$qV,Nd7d1J`=ZW\(<-r6AJ[guN,'R];0?\DF]eN1o*6g7` -'-u*ac#ZS32pKg1gH!OmUuaY`'>4!":Qs$"4jVUe!C>'(/HnLRj_a"\bsFM@+MD4LJo>m8a_Wb+PcMh+7;C28sQ3 -e+FH(7K[f>5@LTE1-QGN[<'T(]X<[,BA(jn'kpheSZQY]%TSd2]^DhC3VfDd/8!\aS;_QLpiR>MAmS:N^s% -fDK3,a77rG)p.XjV^9LW*5=ASF.CQ\S]>U&pRU2ih09t/KAZH108\`aISYsbGog=`k5$-04q1UOYW*-i$eRkVUS3/9 -iS'UL"^3Ci[hE$:?C.;W9V/_r%b/;s9V;4['q9":5KEG5s*rAiZeqg6E,E"%5ZY0V -_/VXcm'*l3(`Z_Nl*WOL3I1e(jLlWIj)'=cU6'tQb/shtA^E=J68i(D)bIGAjQ[4/ -U,r$N?nH'R"gbQAC^SjC3$[Q&cEaAb!n_<8KM`3lQCq@^6#0OHX^WTnp9`6,'N'P1 -3Zu9nfK!_M<'O>6qUa(&re+P[![:Y>1r;kG;NUNqu[/\Xe:(BC8CDfC6'_`4R> -Y22b"5#NAONG];OUWYR9M0&FKq,Ec<&1lAM'aS\!L"T?;$-'0'3#EQkKs< -9Nd!&js8$8djA[#\XbLQK[#rA5&!_oW075Rf`\-OA&/e$7UPfHIqpM(!_:Jo+&(.S -;VgXRP8=k,LbY)G$?8<+l>pKedXST`92F4pE$8I=OAS+V6NRbl86@W.$dj8R+E'W? -_Qn,KAD3MT%iM=a$)91(K#\/Z^#VR4-]s]WPR.-uiC,1!NEVB6C+U*l73&(EcAb)T -M)XZ-"f:k2RSt\O7qr/KVtB\BcNr[Bc5dUl<=1!=.SWk#PWo>U,!ndJ#dUI,0P`Lb -UXe#p:$ORm,8H.T"$-1$R?4`NG:DGJK4d!Y"]f<7("CKJ[O?Yfmq -YZ:P:=;qWUlnsX)(,!MWgD+5"AWO,t7`njA/S+4]Q*V6DburdWBC+`QZdslZ=uUE" -!8o#"dqfX4,(g#rh"J038\%T!cX#W9U:3a/l2e;I#Kiti<@!"\f*NmBmR=F2mG-p7 -Mj"?_1m`i:&h=@66:-h5DpIhO" -'>bRrQr%T0HVMIiXOWWI>oZL%UoeAl2a3(-XBg[fGo.o!W:igJm:gFnVT1[b*+RcH -O0Rh3aB8`lA.4HZnifLa))!:HglmrmAl-V&7k/(4Xd$-2`Ep(]m\Q;-3iu6@Tc@HP# -cs@(^N>fJ`%YT@7"p.-9/Ko5K/V(,RpX>Q5*A>\H`#FTeRS_LaMG4FE.cZeh`jh8.#pYT3< -INh8s^VJ(H"2pfgkO&e(Xf490O2$/4Zt!hXZ(Teu#=%`b%^e9fcHpb^$EkRs%`-a= -j?/'V:uH/336ot*]W7:f^0Sp-L+&[a^QrqIBq_SO2W_HF^Xl2^D@`'CkZd)AE:/_4 -qEIF5*A=72hNQFbB2IjK8#g\qXjjr&#e4)cJ5*q+G=DB_UHhg+\J9,@9JVR-1*KB-G+P3E#o -j*q<$r*Eb$INKs"^GkEJ?9^T3hR(-*IR#Emp[j`eP'' -D6X-R3sh">!\g)N&>':T!qYoGg@2?Sn?iUbV[K`*$h1\8&A8K+aUE.5$rG=[YgX$M -eIA;YZCUZf\nM@mI3+FN2jAK:`r+j=YOaim/I?Q/HnoG+])A&c9V8'@c[#k -#dGNaODbb/,5cB:'!X.ed"'Il,6s>Y'C@.G00IN6f+bIF'[ZLf&QKP2*t$D$$Sbur -:mVo:;\bF1(@c)T0l7_(E>NVC(U8N-ObFVAL-tIg"OQ6An4aS8Q=[9Y"0m[&"`Vbd -Z32n`/EU.40p`hr,d"<8&5T=%Q'/A;GX(`UEkmh*5 -d3G/*$c(+d],i]bK2G&D0Wc6JK-6;7+S#sb1($_F@j/*c+n+Y=EY0Kn'd@ZM,-ipI -Ou4HS2^:(<,P!uC-RaZGe(%a"/j&(*lNrd:FL7e5K7U9CgUKEm64Wb:^*B0(S6['(%>-q(Hde02hm) -U`?cSX99i.0S=$dE`.uG=uDK`/]%iA+@*>-HSA$T/`8`n?q?bs=Cn?@f.EC:0eQU, -G:1gc-goS6;%Y3r'`2p0jO0/>d[)k5AN$j'2Y1VMna7T!W@G]"]AoEo1MluP]#N(Z -1=H1_'*C6NR5nuT(+e`QB+0,cW%W3"3qKU<1UT;c\N@'u3jZXb-aX!;9RZ9G5tcM+ -XNGuJ-3P"3"3Z$CjL6`p5rl9:54e/+1S$`DpHMUP5P+h=1]'FQ+$D'YINk^JO,Eeo -$nQ&!4-RcLa0@D,"IKhYHJgclkHldP>1h:k-P/!\,IKAW9]HV""d<(/ZX!!`@1i*d -7ItLg'6?WbA8Un62m[umd]jn$Bckf^$T%lLPUf:HKh/S&:=3P/5Y*C05r&X%1%_)0 -e=fKVV+S+i9(])U'V$f]j$JD+<.Hn]U.b^>*'KN@5")G8MXa70M+s4o9sikRo]8fs -ktX)$:3>l!,P]R$@OL_E/Z5s?'[]\_I8FGUHW"Tqd4Ia"7\5D07$0Jtd\A[-CFGEK -*>D]uFCS6kHW.:e;jBQhoPT8EI5h4B3)r6o'RpL4ohP0c'7#P[BWqP -R9Q@b&q;%#I\Z3>@[P68R;* -+@%H2NWrJu@)rHui`H>)XZLJd:6dXVNkN[TLc68+[7QC*rXh`QEQ"BJYmK%)]aDdJOj -DtP#2FAZIgF)A4`D:TUL0uDq8q),SX#;uRo;KH7>q.1UAutLfe`82?W.kX,6firDcZPL"f"C:2cMJ4 -=*&RiFn]$^,0kO2QZ@9rEYiS:2fX%cDg/[5GLq+an+UPs957C'+_CL#.scMp$Yrgq -Q#+CJVmJ1Ea\d6+?WA)JM'b5Y!9CW%K%I^A/kY3S>oqD8"nYr92W[=brGX^OICJ0S -(/XC"$#T?0<>0"S/oP`nO*UJNJ+nYHfE+f,.tFVJ;$+D[/Os+`is?M3b/CP.[Mmub-OOkCV7q'D1\,2c*k>ke,U389XAiKKZe -PIWuCq*gM#8L&"tK;Z(',24p9Naor-IQ)&,.iu)4+tFk%[GlCH\+Jd_R>aCHQe?e: -%Q/3nJW.tcOOtM?3K\.opJ\=%HRJcN&NQ5Ga)K^kLj>6T(\s&YAXg5#S(UFWq+b%V -Q75t\,alq(=k0''fps#:SU'+`\_o=&;0/HBR<];)j(aDQ(S4e.SiQnDH/uAt,/dGOa/h>DXSU2D3m4X<0RC(, -.#;TH/2?W_rIPf(a3uPDP#FPkA.8pT3>?&niZU5WsXW&drHXX@0 -A[]3\[ejdJ)MZI=:bR[7Q4WYs.s7/3:Rn.MG9g,^m6D7Ef^]DH\p0W]TM,;W^u/Gmd>]@%u>a<[2?+ZlC.gT_$N5U58j.,p14 -,%V\.5slU-]A(6=*!O+T$,AY2^jHSU97!uNhkT:c_!.Z=8)/GGX9CJI'>YYo_Ala$&?L<>XC$nJW%72Rl>BUl4iJCg -Y!qoWB!o]hHm@1_-X?ECaio.Vj'91+>^gQpZisYWb+.G5I-&MH0,?TgCJ]I(XIFZ?0@mfmf)!].4Z6:([Of+>.72^`rF+?,=kJiCg:acFS[I2<^VX20c^ZI2BBe((_pikUgpju>rQj-0 -g!Dn:@'A8=P@r.QhqO^hgHG"7[$$nFA6l42M&'TVo0M5=h;GKWa=7CF8u@BdS->.t -CYeUA4n7N[\)Nu*ik@/,r\`]S.E7hE0Sd8@r3rPCR/O^'\N%9Y>uBP9hrV<\h/J3Y -?4#QR`*ZPE,q%_*?9.%0GN3b8cM[A<]GjNcL]a#Jbi6<:pZ8F=S];eB`r;[P5,INC -Vs6IFlMdld4F-&FB?crG0RuYbIYIro?g$:jkJ#@,T%33,fBkcTmJL.s]?I4,:JX2K"-/*8`sF7nc%M<'D13Q$n@l#[=YOP -5;H4_EI,=N%n:Qr%9V,69Q:p=\ -)0F#01Q]S1,8#I?GV0cMKYh^_HpAe_L4`HO9d5isVGl`%)KeZG;l`o6'h["_[ook8 -ldd!ANko82=`"q$Xm -UnDK(%TDu9>,]hf[8!^Q63'*?!h6l?.oY_4))6-uDP -$GpaM!t3"cZ7Q'inDl;96norJO+p6Q;A=fc!(%5YnUnFA]2>?,)S7`2Eu[\i]R(Yh -dH#d#82;HA,=li;M^1l7;k=F#C-XZdK;]I)(*[`L7h\NE;K3BT$.**2Kn1Ml%a=:( -@dm*5<8/9bo46f=:,A\XU]`Kl@3A#L -9_*Ee,gu6p0db@KjYK\2FT"9t<-8pK:t5.a;,^IPAQMr5#t( -Enkjrdr\l>3b&V)QV_74?5KHmGc#NZ<>J$PSF'qGp/V3+?oTJ"ZX.u&;+m8dlCu\Y$$58fnARc+CQ=+'P@0\ -F.:RN<]ClA6&n*TA,7O-EWsSXoeM2g1oLoCfNt>OC3YK4WG9#aYH;Qnk-M5VHM57\ -CjQ*(Z#&/Aca@UOB$n))H[a_ZDL7]8\F0"fT(.K;.OCcQ(@C"S6.Xp$_!ph/Mnede -B*ZHHI!6gV-@?UW'4-'Q+3dY!bZ>S!q2Y!WDOhS:dWGF0;q#kp7p";6R6W_CKL#l> -gEJpmHCT^0[ki&7JTbuEKL$/3L=0Js/!X\[Ama]_5&uq@ibC-Il[#`]H/85/k;VhF -1Zj(A"_n<;chUjbe(/qqJ(aLC^PC_BIG^s_qYkuRoDF)f^\dsokP5)8'EN`G!Wt\I -%fp'(>]q\MM1VP;:)"r0-4X&#\7ND6+N,%>c[HBj837)"r#noKEY5fJ.LhGT.L)!? -'1+*TjAPk"@^%Hg6[07S@C/(N&FLW-fRU)&R8[QdtcUYpic%%jR<IOMigmpq^GUNh\aE`4N[.-U#ilS@,)ZaOC`>j -85flW'J5P_Jh4c10.J81WKi-_(WrSqHf8MA4gMe&b610@d8VucOsXO/fmtBF%)80. -(1KD5eIb(<-3TK'N>'u_j;A7:A8CIG,-i6r?E-n$dLIcO\?RY44Bm[,Kg$0S>jrX' -lR1/c(=))n:=JGhGA7=97YMd"j(g2S;^mnl0LG;[qluO[%YIGi%makt$_^NXK[BQ5 -6n!0iU6JE2;(=:hB[%?g<-F,1(Q?5V4:[X4hW7LP)6>&9$Y=-+V;](RNq6R-d&rYj+(:;JR*W -i/RkP/JcF6=n_I9>.n)K/_j*Y8GU\fpj*F)oA3^#Mt*)f`gFX_@m"[hEQ1)\=SEfq -r-=AYp-H@bfdU-`F\h:#osbkthk.D]F(r>/\JH)&;jq>p0Ep(B)07Cc4I;D$FkN(2 -dkKn97sEG%6Hto3+m/^WS259pZB$-&!W-kgVM8GtUu=L -%Ks1os5kT5?5!L$SHSf'_"cBU<,S"n,k?"Y`5;"#Zab2orC8Z]bjZ;.)oK(NT@-5c -nORH#H6r5t:a]lF,?meb)T8?O#E\:^M0H8Nf*<\(EG"`D8C7+o3UH\*Zu_8Vg)Et) -D-aESp=@gLRqHX+]tLq""8'[MD^6WfQ$4@b:SjPcD<2U7:8ts.b-]`j>hc[qo1",U -)tSL-4k7;D9h3F6G;6n188R]1OL'ab-$r!hb8? -M'dGH`G#j"`*+7=pO44@31#!\?2)#+rqYJ6pOVh*&&WWF&`Ha@jkSoqFPIaBPIGIo -5W91@mn8r.6-`NAZC?Dcs$+?u&!>d3s+3jM9B`PK3ej'+`;"fsm!XYqp%q$fVL.)o -UHbbbUuK1*'$IVP:FAkTe#H'j_>DV"l$]*' -k!9su6>Ru8HkJbc[B/?J-kb;Q)[sRa&Ms!"$2L/R^kSCa3fao).qCG'4;8KFQU1ul -1m'H.kprX1'gYB_M9$O5fGd$$*eG4P!Y?Topa(Mg,m&<=!cTO*4@DS&-A#VP!`1.o -80^N\nq$t:^do@kOk_4OVlLE*2-S$46$SgfS2H6]MCB>]q9QJEV^CD@(q?.i -+%;[g![L&5<*=eE!%Rf%R%+DdBfZs/3s]S_U7`U9h\*)7oR[@T]Gm(UnD&6'*&%U>j#$TW,RE2q2e5e9FK2GsX<]BgJOGO!#bJ,FL5>GgYUSKP)2tef'b^ila_2dlSNml0 -bf%t#SC>NQ&],K7O3H+Fr-apl(JJAn9RPRh"2.VhD5nb_h=JLEr+)Aki -Z&GE)jW\g/!JK?!"Q0hb2p".M'@L^$;knpQm/h+l8\cj/%.F?enP9uXK/E0q0J^sJ -ohSQYcT!`,GVRO#/l/"+Jui1l3$'M(Or)RS`8DG(\]Che(sZCL:22/Eo*0aGL:3La)t\#u?p@:O"[ISIA.aZm/hf.bnDF;`h3uFb?(=AZi;5G-?HHIaZ7NWWl#at4`(nJqKJ4IKA_/Tn#.%.`P)bg0P3ZN<;,^2s^ -kfnN)d]=Nb@Tpee.l0a2SFkK$>oQ]O)Uf]Gdjia$\roD)/WboD8N\Y^Kasg"EiSZa -LlpLSSLGTN5I:Nt(t-2N"%kbu*m.S2cLLlhQ@ZB=UIr=Q9:VC/]iA6^r72 -1b29X=E-^LGq5j<24glS+i;A=R>R%L8[I6:*/\IEEK)64P:C@AJ^>Z0r;+tm0@YED -K(VljkUXe8-q$0f!_m(Ur'/,U-;%Ah:m@H$]a@`k0MdKZd%iu0FR9,5;7eiIWr(t` -\=Y3+93YMjgL>Aois_.E=>ZB]YfaZ69t&ft(>Ej!fhp_LPZQ2L\Bh:Z"(fAFoBq2L -ZC/K@LjN7-[E'A]&R5("f=\\NCCn^WXWDS:2>T2Lm:oc5O4`RB>ohC"("?M@eD3:< -?#A.uIFX9Li=r@o?)hc`(_EL6J"1A+WI9>f"bMf;K<@'Y_8ReSAVf!Pj^([D==&i& -bp-Ak<7oGKf%&AXNU,HGfNurJ=Vqh*/`i/j(RZ3=2AG/F$HcYJ.2m -OsHIO\b3mmN4.5\0*=W:K,!eVj[dr>.T@\\!Y#A`d[e/eUVB&7^>L0Q==.'CXTM<* -:K=ILQmKL$+5g&4)I9[Jo2E%WN77bZkq0qi[CKSD#KK#R[pciR6V5<[;=*Yg(+g6/EQ5)hCN-M -/RIQl@a6UchCi@K0Ol.WX_@._4u+>:h:\FAM-g@3Ur>RMhi:.XPo?l-<+P7;Itkl;m;l^o2_k(Guj^6,b39a"IIUa -Uk6!DK1tf=-n8'4VZK7X\$P3Ij%BZV)7f5[:>A<1r:80!1>i-ag8HEO1oA6N"d:J2 -@Rq1YRnYF'7d!CJO#=9lH?S&Y(1D@tiJ)MaI6Q9@'B-0NiP\mK-"PM=2Wu-ik5Z^D -ZVfgWYnVA)#b+OsTG15aC*SRb$ZsN,Kk],2J]9$s@pY1_Rp_DEEFaeqkq8-55"]Na -PA+'^BjR-?DO>-G^Z/(X(4jf#=ZojZ4;:gV]UhIMnTa*>4kNe!dZ-][5!eI/5U==* -V&bH;k+cZh]9,CO0;W;&,[Y8GQg'g*1t?5BbLrf>C`;! -cK_s/^cmT1e_#G=L67@PasQ1)#\f1(i.sUfk(q[=?@.A.FYA34%Dm&qT^A76C -qet'`Dr1M4l\K8P2!DI>'05$&&hE;aSjt-+;T:e5M;N%_K\eS?l3=5,^8:>EUba'h -Y1;_b?O`+/8NE&@S[%JKk7hk7'^u2ElMqI]&/UjeS0LV%b9:P=^Dq7>*HBqpi9@?]lgH_S]B -T7[;?k2schra5d(%-qNdVK%Ta6_s=0SF"HQ>:?1X1AWOG_%BV)6`X$?V-F%=mI!Ec -P:kt[r2&Td7-GIGe;,^=>^"/38O,iFA$CmmOl1T1M^of2K*e4pcXFm!%Ql.*L'[%srol0i,$[3*bdXMMl%h*W:%8sYHG)Dp*nVk0e?hWAaG4/fo.@+MTgLSM[\kD05KtIG$YOO\d -;#b_o)f3)N90;L2V6MD+kX3uV8%6.IBVCR^YF7FRD%02 -O0=+jJi*=;+)N%s@HPU_-6?QIHTAVOYG/r@Sku).`dRq=i)I)N%Vj`+o=mnpYYdrB -)sIkV4\[9frb3ChMq>_9oKX^Y!EoV8 -JfA+;(dUuq;^91g`0*D/Q:`G:$"U>XA=XYdP6lo:8L0=F_*B=6H1QMYgEgN0l1/lu8rhXu'+?>m.LiAZseRG+3ogkA.]b -D`:nW#60Ckic'.T4uXjObN&2>>jc5hV:"RM3o*!7=0^NIGC)LPkC^J,np()h01VAX -kOj1MT)Kjbj=-Wr1!nZgJX+JP'qp"12>O7]'ST(9X_( -%/!6='X[U.dhLU-3`F?f3DEEE*CWlT$Q(c3;A<;I3u@)Cj6VWktSTp#jF(o/A@fk&c&>_+)*RtQXCq28L> -0PHXU..EXt$6lA#UPg#`iOJ;[Nno?q\tY7@#GHIEM1j!a=&7,S*sKO,Hp7qUE845, -`UV_b+ia(8IjN8.SA-Gqo%_hOc1B`Z6-aRWs$tH.SNfiuoY"U/eob8:@Ft3YGA5^D -'ae[d^5oVj.Rl1(+5k"B(P*7HIQW&<_B&9HjE[>HS`om`T:tOr?E^X"qd-bB%J`i( -\*X",&',V\d_rL)G($jQp&3^MhtI$kTB5qK5JQI\Ib[@Zrm-+B%l#b1$Pieth -OLu1%U[#Tcg>7A#h?1UedL)&8ItuDM+>:/KbR)KJ"Ak7&Z(QbAROD/EiKuDPi4R=f -5pcj;c7C[s.)+?Fr``4S^DIq#% -f.,uhgS4\Ee%.`LG'2,h[.,M3qabefIU3u,5Aq:t]Q]\6?@13a0*U[T2js)0oWjeN -Sb9QqhWNdSm='!8qnLbHoMHMn=&i+%"47j'Jq^m.6%'i+lB+5:g]6?`P,hB]k6tdh -2#na'(O%bsW7)m.9k5bPZG@-SJ`RZk.V1gJo`cBXFl'SM_XW/7"qtL3K"mO2o7sBl -VH#=&'5FmPX!'O+`KFLBfWs)099hD.QT>8KM^6]2Q5-nfG3a!W:0_]_KqPJC40*][:ZDg]!#1N -*FZ&BI^Ra1gKJB@FfolL\C\bTY*K^5Um.!J"+(\iQ0NP3m`"[epMt7j"Ijb!g/cqM -i0D,8Em\+_""A!k%K<#s/lp@'fl>H`9hh9in0NoA]]4+#i_otF`2 -dX3"oJ8_ooQ'=6O?Ku_8lhu15pf@p`S3M_t*ZY&:9sWEoWet"$PHjo>aQ&e?O$Qij -]"rD+9&$*Zb2R3Tq.#kfMD923((df$XJfZqVFbT:dh5^41r`?6PH0\Sb`iMVK( -EUNeW^%X_jhL#i^n9ub&ptlAC>;)4ED3Cn$MRK(>GLE3O'Lqr7M2JAGi"bdo"RjH+l`/XSb\\d%9Pqj[,JKtWHgr\a]4WG\iZDZW.Fo\G<5:p9.g0CB"F -CAfHes%7f*mKEWNpu!hGqlTc_0H1&^.RoF(>]'rQ/eGl'3r&0$q%,gp:d5)E6NjBe -^h"@\?q+r$==5e+Lp1@n:hKuo@Ka[DktRU5a:?4aFp03C"%=(1E(isN?;YTL-nIdK -V4"KN.P80g>'u,@uoUQjU2HKn5,ss@n$;CDOL`(T'@r*O%B%VNijYQ -ZE(c5X:Do0%`BN.aNT[i,)[:tXL>8Ag5\efbQ`=95iRnsdNU0`mpL$7DLS@24!"S$O=OG=X7FVh<,(X[jP&Vh1mM\o=Uo6Tn=0[-/l@46-E8b,d&bu\@bif@h%0Y-LeS:QQKcIE -l40U4:8n[fY76#7%F2Em%_;f,]ZLMb%Y1GecHKhEd-hP>?BG"qDVXXaGRbAc=\AMs -ihI)43;Z=/+Wsb2D")>a8mnM)B'W?(&$6#t^7ts&*`;G91Ch5Ic77rUs3?pNZlm"L=KgO7H6M)cq'K1H)?7]a;_s`k -1;jOJa:%F;@8=$k:u;a'ZQ<:qM --n:0-N!2Oe4\'TS;tMqH?*Of.\oB8Y+c1P!XZ^Z -C7pFiQ+D`^_GE'(=qhuc()B,V)dtWH+D#NMXq"?o4]XHo<7=)<%V -jSr!7EeFYi?cb>:'`*l)![6(r:hApe"V0ULfj@TB'A#PumekKcmOBD#=NI;##n'YJ -(K1<`;aSr3MBt_M1Nq?9G8<8`pN:[=GB_YcGSbXM=+>I=K6W`D([mk@okpgfE!lkD -m%ETh5ll:_%=5hqHN=(m5kB>Qf6bK,$`c9l7V&?m,mP[ah3Jpf"G]4-=p707-fu*L -`L(:g`bD*U+@)rD'sro8%4:]9^),Mf5Z71rDdU<&B8jn?pV:WrVBc/(?)/'^^g/;q -i;>iJ:o(1/OV0'MKP;R9%SXigJFe.*4(TO=+nsTB=4N"_a'mV)KkHMmG$&'^'8W$JM@DhiXUrOR"h]F$a2C,eQ>m:#C[L*r./=CJ;"(fpue"k-\F\[AQ.f<*`@ -XlD\`'Q][TEegIu?c\,Wc#BDu7&,EiKB=F0?orOWRs23#",-Yl7?"+O-uIIfN["n, -W+7CN(o:n;ZN]Xuq_n\o7VjBr?7*p6DQAmK*Kb*J-09N1=RSoH_3-_J/qC8\bdB)a -/Bbm_B'++V`h^oagH7M<>,K/K#Yae5/PUs3PsDek7LY!go["PK2-c&7n -]D'&Zq7g/2^]P]W7F(A;RNlLBUEJ2">S[m@)A*r2SH0Q>r$S)P)o.MV7l9PPC`WS`M6qPC/&3mAu>P]BE%k7u6OaB@m -&6q5pT^Erkbm2B2b&"THgrW0")OO(R=r#."'\8hdH=Vf5gpUp1N#J_81[9*g2W -]0;D>[Bs'GD4(tefbH(Q\$[]Y?^k29R3>7)n-mgiDfjrUi96fbsOjPEhs*`qG%>NJ@4Ym)>r -b3TSqq<$Jt&%mDS_"i:Al$L4sb.GdYrb:PC0G-T"knlmOXRL..o`4ObX*k)sg:'Y" -!`oL:c+"/I:A='^Dh,"b>HY:HPaLNugfgkR#U%&/*&nKQ$%!LYNo8WK67rRN^g&8t -5p!iV6i6/UpOae6C%lHS)K>mL$DrP\_?75>#j4W1=K]rZW&d7;,I`<(\q -YbMGD[U*+us+gAVMri.Re$inVGio0$G#a$EeBIfnfDnC+j9;K+#R0[UFtM9BWWQkM -n'(-U8o'fg*+BLp+lP,P>R.EO=[4s`Bo\XU*:qP#fX0Ej]n6J-5G]t_V&bC -@4mlSKRu3*=u1m>,3#kle8dMg&T3:HM+#%&Tb`NpdY7UgJL(q#,^LUPl%gPCVaS/] -<54PMjNJK>mTc`ZK+LK)d/JDSTa_4D@=ZF04fOj*l,&B -I@e2tX5WI@qu0r0Vr-\5qgQ:%^[q=&5EHQY!PgB7%g,*O//JFTOAm/)61C*Z$:6GJ --OW9q`&A(AYgbfG6h(jX&k!*=@+@pN/hU2LC#Wa!JW>NiM8gN2h8'7VIXuXZVLq]+18\f_b#dWbO.SD"S-SuRe -;'e+1drP0%LT7jhUai'I1)DP$Jm9/=POdTqL+#T(6-s]_%mWuJm1i#d@>skM-Idi[ -4\pX5C)S]J\98kt2!$kqe+FG;:58k`01!oUY[:DV';Cd-.A9"]+UB;2HpNi^&I_!f -UY,3%%HD]gaG[oCQ6fMH[9l*siN5]k<=*dqC/S*>pI6b->jU'tp@W;X&D%L3EY"Kj -fJX1Rpp@ko'\-PQ;RXglCYH.llC1YY;DO]q!KAcNLK*Pp,)TikUan+":hr`^Wi@`h -L"'r7HXaJ/'gebH2kHl:L);lD;O.g8K%[Wu*RT>oVC&4-&Op,ua7BAFG-FY5cOtOMQCc_") -Y\]dEbHu*_[MdctG>)sp8&kJ34#uXll --46=@0$EmgCBuRW`Q4PWX+K[4"B4KZ6fqb'"kG"9-In!"LPS)cs0gA_R'SE -/cHAZd$E-*V[/AQ0>M-o%A9d;#NXkA&ob/?P1uWaiP)% -D['%R\!4Zt#f.1VEm@On6^W-/iUf0e&G@6apk9;h,Y*Z1-6kpWOV6Yq9o9N<.7Es/ -'Omk>MU?#c`ON/h,1KnW&UlH'kfFZO/7XXdVDLcKGR"Zd/9=WU,!M,@*E&8o=/$F< -#4fhO$u;AdJAHsB:ia@''=;jIqF(^I(a>brjq!NK/4hfh&>#rQ8Pt3`$^F -*iqtY-mR[JabDM\4[a,\&$t>i#/\Fsej)f+WkHBLM,m)SH@d:qgpmN4I^E`R/R),Q -:pCfP7Y,Z_/au_l"9jl"JoQ?g1dHnLG,u$PK+XB->sT+b/e)BNZ%DVVA'Bd,6&E!, -%lbG+'qIA86A)0+#)Xd#/OgFs7%CX$>"aSN$s27F"mai,\;(XC -,i_Y$'lg4[g:Y^H*G;H2U9Raffim]_;gP[t&Ytf??"6lXNKrA6=.8qk/+n7mp%H1' -3sB&/$ZC!%'W8HeeB_-"mOE+S2Z_L;@I,0RY#<=[\p5V<$clYGF3WgW^e\Z[O<-4? -hTD?22?s6C.#!N-Q%R[N'::e'$6_Zd"Q5AES_uL[[E+a;7l4FNn39U'4Y>@ADX@KF -K-ANRLH*_L^MM7bG(r0?#&r%89A3[[FGPdf12QbXe&c]om'28_]!Oc1_C6h?dZkV* -#nrs`>JU*k"RrcimoWsQ2tSYu&rg.Pcn>W\2?4@$VAG3(%$.jHO+[Y)%^0p,Qrmmg -0HbCD_Ftr%`^S6:9:SkJ^`nJedhMocU;PY_4]V-8'A@t$)h@%9Yh!/%A"7h)1%m]L -q"GnA4GAo<%S+U.,9p`hR?I,a9$/#1.-1<&Q#`a'b'@VMAZW/&c<`=1es6@PTU;.# -c=[dcUc[_N4!e:=2[+mYi"Y2*,t:SV&5R[-*IEg:Edq:pgOV -e$2In1U;S:)B`%rgU_nT)A3,Kk%dS#!`"[ILeBi\EV1b2gEjq$34/(g_0$KlM:70k -jYaF<::aUes,:fHY:OcR#:VKrAiRI5:Mp+,SiW@"C)'Tn$7XqqS?<#T1%oZ -24nu.P?W?7:$N``WAM3H%;VhIbIqO@FhY-43nI[(*Ik>:m`F*t%>f&Q'<01e@64g+ -d_tiTZLs__>%9%&X/rgf_KWSL`Z9jP+lR ->_0qRF\oBSGe7U@1W,q?D\0hCkG76k.5LPWYun+k6fXfc=+Q][1u7o?%rW%7-?#!9 -hJrc^k-/etFF5G&2e@F+S^Sa"2hd[.$l#mNlbUD[jM6]bM<#,db_A55Q^bHsI!-=\ -N'sM,aY$#TXh>#0E3P'57>T(J,pokG&UKc_8D^MT`U*JUP`o\CnPU>g)m_dD!5Khi -^bc)-49E;d"i+(A^e>!KA-bGB#f*5B^pFD5`!X<($c(7%^uQ$,^^usP3.Yhh'-KD' -5YaUB1^'1'6#b)*K>@R-)D,aA/TNeD1AIJ321o!g2?RA7P%l>LCbPs%PsUYP6!1>%QF<2bJd076!4P>'<)pi_R"6[Z@"%H2Q,K:2dj/5K1MH<0"?dJ#YPM`g>7EH -_kWAeT+kTL]3:a:"rf1k`q:[CWBKN?etSKF^V4&4i%CaJ=a8S;bOr -N?_Z7/6fMQ;GOWNZc#$0>M9-VhkUV-JN5$h+XE4D'>.GB -/i^IpM:+K41-]_.''m^JM'Sc^'hP\-/\IdJ&jDuL=Y/'l0<4!)X$R*P;5id]4c8\8 -'(?tCQ`h@`Y:JF\=ld^F+Ti:[XhjAD.lg54`ikk!+G_2.8B;1]oqUb,0UXtq@&#!K -4Y5hLP'[C+pn]X+krqXl`]/i(J?sh_%NQefN4T]CUB7-nM?p2^.E$\'nVS*lV@&h3 -a[D-57#Xi6e'1kCc",GN>hI;CfhI.Qc*Z3L`7dr8gWeO/c/dd,o\d$^))Q:L+0jmm -!'MR;."m8IXnrhRA;?1KaamQj28Lo'g_U&h4O2n;UoFHZUATqZ-r1`8TL3FZEBQ=> -P),L$_QY,a_9b@X0=Y/6ZnXa7#f?^#TF?1g$Mls!MpR=>jdeMTPj*$%I0>A2=-c_M -W9D!JJ?AsYcod,JK#!rZWb)>amK:6oQQS_mE'G_o6'`tSSoCNn!niN2i<#t%K%Qb= -i]b_^YCangd$%d*+]H]`V(!>\SKVtU1NPKBFUIZnZqG$Fd=FS++nOm9Ip? ->tu,?eb*8""^Y4DMlf5T/g(c-;6)'SKtkg*'j>gd0`^C -fq3YW+XHfr&`OGWm@Hu>Qt&Kbo8gAC4c+6=66X]J)tg<1bQ8WV$CZ1)@?(_@`$]#V -_%71YptFFmc],&9Z*XL3Q)N7SWE&nrg9ms7`N!+lX4lC2g?#Nlos!0;Z.fGf>8=Hu -6k?F=X"]pSc:]sHbB#mOpC^`[%\VRZ)*4kJ$(X-3Uo:%/:pd@[4p+bJK2_!OeGVlE -L^H^U$>F4ld:%ZI>m(cE/ZSP%97o_7])mL<]@@Bd9/V@33o)+1PAiTh("7f#eUr"q -QNGmCqds,qMoGg05);64c-h6^29nl0?/%6m-pTTP7G]7GKXaR9Ld9fseUr]f`0ie; -Z323l-\HB2"/Y>/83F^R4-Og8cJUh4&3erI5c2%MY?HFbb(pLB;a4P1;A^ThP`?bpoOU$=Q!#83%G-i`9fKMC'3;Z"3(pY -'/eV83o7R#K9b#?F7l\M=q#*sP/oXhlkE_X&-K'TZWT(/fJJF5.L?Rm*j$\:;QZuf -K%59N@eEd^"tnpG0:H`[cBVP_[9?SDZX[RRj))-_L,\.Y2e/Wo_5YsNPa`"```6#O -Ln/5>WO!4>W3A;-/E07!Ra6oEa.?O=,cJtlRgGjO`mB:tXSY*mg=rBcL&o-bj8drN -W"'tZffa@ISH7+o^qH=C3FmbhJbn^7)(r&/!>bm+=>[7qX4sg#S'+.DfRPrag@_S` -`hS_pc[&3I$SjA#Y_+(?TAg*7,?2;W(*Fi9`KLKWqq3OsgPf,rYK?YnRgH6=A=b%= -Zbb'mg\8q5Rb@Img'^uHEPt)oM`1Wn7-KLJd_snK391QukN79SSq(JIJES>2kVe!* -7Y9i!KBQ?jk[oV6?AR.rbp42f*$.==EWfcKl1N1Mq>2SnJfV@`K.1&Y&5[+<:MOL# -P,Lm(G,U(SWJ%3B"JABP`iB6<(.%cE%,4**+mPAa#o34u"Q:e_f!L+J2!E5DlGg;d -XgeN%\V1O)kf[@e-6ng,oM;][d"4Eh*iOa8X]pO[KVd`4J4D!#irp40KkABjfL]BG -#:&`&[7edO?1sU"pUg/:SoXbf<[e,:E') -iu_$#QY'LT9AEWU?QPaGKXG2=Qa@MZ)Xg$G9OX -+*q%lF?M2T/%a4nN.3pJ&Aa<>jfi:4N/8pbhF*:HSltQNg&S.@+iI(d(aVl8oe<5# -=iZ'e)0$HnE@4f[LKF/8=*:ECorhNk[p8UH?1ks=p"*Pni:@;6`eun(ke]CK!(8'q -UCp5DR_XZ/0XgWt5pR>&065;jGANS%3j'>G[DgGo-H.@CEac?b;.qF"dTa]V36nd[ -4dG%2YB]&A2>BFXO9k_f2"C9/W*g^aM6gPQJDq;$8gCH!\&f/qql&f9T --rapSo7ZPd"@trS:Q5!BlNH(OKdVrUg3SE0l[teBM_T[<1$,$$+4:CPKMJ+`*i**R -5IWS3K[<]o^e:H*Ug0).N8),iZ-cp#;/GXpm/]kIH"Sh$,!D/Tml%:nG52m"5fg$k?^E2VFg_5EHBC:6HLMZIm2EcBP-3=6\P-1Og!06&]:nbn@jopl`Ads-BZ$\c)9 -('Ikq_FuYi">m_$/At--1'CQb(D;RX_>spq3?JZaK2NR,Lc?CbMWI3^@3/ZNQpFEP -1DJ?P2_@ct'=,:CWBVlZB;KXu7(j*cbtSnY*AjloQP%8\0o3bV)AWf5' -/5u,8,ee'$9['h`oaZRR.GSfApk`SnCk\6MQa6fAj\['u``5l*'Lj;Z$F)rQONR\e -,hT*XC2&_"%kc.#<')A@U/K?@.!Jm+f1]Y.Qlu)h(:GhL&d\\MS1(mN/B/*B41lEZ -)86u-3*ZA0#E-L[%#,MU:=)Fc%Yo\anDIt<)j5AT?)]K$\_lfLHepC\O3QeYGs,J` -?`2TGpO%D(5DR_Lp&'7>o(ElA7ZRsEK"TN`mN"G*QJcQFWSU9 -r.Q4`Opm6laO3bE--5XnPp].dI&/76P(]qdb4;X=/^%&YZS0Lai(Of;iOW-r#n9H" -23QF&&N?BJW+(tnZQN!ZU>aVo,I0pd^qA#."&dXM_Gq!_;%A[MYQoe1p.!I5AL'C! -"2N-KMQ-B.,)CfSC`8#0]gt>R.:k)W'[Aq$AcUaFnb)\FD -k?lb,8eRnmlfc(3%Q6lhAWuh%2eS0R\F-n,iR8hhX9'N!+jn1N$ptT&+\#=ke:f;5 -.BP;@e#&nEl8k'7Q,Z[bV!0luOTV9?3S8*YNkpGnFp'!sN7ENVN<;/b9-"2X;WV@F(-C#mo#FK6;dZN0o./@l2E0MCaUTLjgENdm],/ -N`r+CM@GKd%q2Xd=+ij6S9[cfOBs.dZ0).oJE;L-Y[5/#%Ejn"\@]7`m<`0WPOEl/ -5K3*hIh0Zmr81;np&,tFeb8taJ*$ERT9&9uH3mDI'EmAN%LBl>*s:\.llNAb#!gB; -JM88O5hHX7P7/%T&5=iE80nFI`#"&&=q3ic3sOX6.Ka4/%tXdFCdAtM9Q0V>6J,EK -iES*kd)l9PTLmO3Qql -"\RRpLa7gbJEfNn]b&R"8V[O5&[H@Xcl*3*.OsYkRPH'Q81Bu`7F\o4YcqAtdV*fS -q*Y5' -Rp0;0Q32jE$_kiH"7_gL.Bn]k!dSoF`#Q7>fkdgeflAiZei6/4E^W6fE8a/)]UpR:h+4sU()[gX=/c@SaAal3^ -XK%eQlmFe`:uBfW5uK1'7FYBS^)CBlOjMcN/_+7)KOX+BiK[)j75h&CqP1)bTiN->mfCL`f,DiE>/WBe;+"&:t0R -Ab^N\,XS9I"^D5L)gHd$$f-/;;Yna!2rQ#anQ' -C3U[iGlJQOl.8,iW"MMH\3mCGiBPa4J -:b(*VV7=X"1gHo:UFJ%O-Hi-UX![mLQm#2GK_^?7b^+]RU,#33:b"K-g_sM- -j"*&mP)aP/aiT6Z\KufuP6I&R8\WV=s;^>m^o`\ -6)@aa9Us.X[tNs5d(&OFkXVp?f$D1CYAS@S&T14oLp.&(Ci#tB/(!m>"[A+\Y)S2@ -)59O9CO6BKoIDf7gLA+O?al%eahOdJl-5ko:sMLUqUP#S/Gd7rdl.)4:hgOVSfBV] -$J#=6?YeaTF'lakT!4=&g=O-."M7T)!W/e?!_'W/#IMnUcrd$/=s_i,iMlmNM*AHV:@&L12-`Y$)7%;u`f+ED,]J2qG!SZOHa -Vm\P0/ICdE$3QI4m4s7C,F>Z -'[t.A:4PGQ&EZ#-kmm4L,G7BM0NecRi+1bHM_OMHE=!+OnIDf9%dc02/I7,ngk"N- -dDAG9d0e?^F\Hapf=APt;B7"(%+EKYre(_i**.MX6R>io(Jugl[7IVGd,><8P\q -cn4Jci(W"c8oCMV#0YU:,n,uT'IF,A$8%ie.9r*O>f2/g#%l(/-Hl%]0f^MaAL,Yb,na3'nl[7o>:";q-8K!VEaL0!AL>i>-Lu:,13k5[ -I4'&b-aJ:OE_;$rbQeL-9hq(QcC>8qjHWGgPc7nCC6ETfb&?aJ"=e/m+[ci=]Ts&M -DnH6DoMfSlYi(tYCM,X,cnPNH<'>9?@c?FLb,Q^J3,PKa:9R#a5qc -G!R]"ONCJI-iO6_<.L)e8p(;07$1*Y:lm+<"n`Q[&c1A7*Ds3f(!*b=BY-m$RZ'V1 -(9!Z*,8?C,N/\>`AMlj\BhHs5N!6']b=pqo?pKfnP!BU-,n5*UZ^_2/?B;'X;2.u2 -LsV3YjHSoMR*B"hG$3djD:>mdY9(&kMF>E#3VAC7^=TkQnO(1:p$Yj$VjpuLFZ/GLq5lS(Y6M76? -('.KR@1l<"VNq:#pXj$ -`Bsp(E4&7q/VeS`T_)<_O:Q:O&6C\k@1MZJ,SD7F"/Y>tQGa-IK)*lQ+f8C%n#U,^ -ZT3ba3NIVI=%it)N,9+$3&\^\i;7JTI_c&!GUiRT_@Jnd#s=lH^%9VNA`#Y4!<<4j -^<)t1$E%eBg@Su1Es>ufM_=BL_ZSk.'c4hETaEWuU6X4:#ge2_\&9!c64`OR<%62i -d8^@*TgENcgF[)V-&DmSPR]!c%i9G:CG*(-3rS#:(:Y)@O>bmN7]p]jH?sH;,oAkc/O1GCEYV<>^4@\/js8u`Nl&/]2%ncR)3;j80_"^ha8UuFZA-`uj3Ya_0p[>lmP+GR -StfeZ!]uQt&!&=4O+OX"o_J]4]$N"jSIFh5p[Go4;SLJi"`XNAF=*7JI/1s8>_huQ -\VP`4!LQj5"XmP!9C2nG2./C9I]bC/EEM7`qLBu8N]=k0\[@p;\XWE(S2n9Q=i$VR -c()>lS=.otq:D/tfq%rpSiPLmNU@"I4I*e:/&:dsk8#Y28l8+YDlHN9i`M7X3*/G$ -G7(#6+\r.4Ji57*->q2/[Z2MCok?cshh=^ji`'*YM_7ct#NF6o@ind+4>J%@YSR]X -(FfqFr"%pL&F=EL3bP=2\LWbf(,j_YE'e)F4I/$J3,A$B-Ma&=TsGCgU!)17'2*@g"flJQnPeHb&,Gk\Nf1sk9% -=F*K6I^jtRl&9:FLfI4%!Th*.]0W<*aq:g\`o1.+p_^k:FHOcJJhWC?QpD%jXb?I@ -]-k9^<*E8dk.)tgafq1'<-:_+5J('n]c5ILoHt%Q"d#/8Sf?^]>NNT'duIq@,Nt?+ -@QoOrd#*2!]+Fmd#lbE>p]I#s_"JGX?osC=*Pn6X^K`%@8=!#pn2A?f:[sUpg[2_% -kDDsP_mj+'ge#Fe%E,A24JSk)L\TnBTt5SkSI8"oVthF%r>"+,2EZ$3]QM9-GQ_]N -a9-"p4GYmp\qNW9["k?j:q1h9d3Ks8bHWd\Ho\p2Xi&pgb8d_/4LrX_]usZsbIka9 -r5Hmmais\'brj7q=h`L\8d7q[pL4N&:@M9co%&L/O=1#X'f`qh6C?AeTdKoA(4KiZ -2LkQI%([btH7B=a/dQbY;&VC5CJ(Y#e"d"aUdA[SI38e^UT"6Z+R).h*?7`Rb?g7n]r2Y -0%TZA2a:^/DOOdKQJ)oa\TE/FFP>:N;iRpJX0*tRY&ndt&d%R%Cb;3N&2()3+RX!2 -s.t-A_HQqYiEb?9,NLq0"obWV('lhc!uU\Z,nWB3hg+cV -a7nJlurrg!bVF58sh.FM.jo.Ba4=\\hoB!L':-c=?SADk>74SfH:?2&V^R1 -K-+M-\5EAFDhf.'"c/:I"V`I)bf40=D*o=@a3\i?,`JKE/BQ+*,71I&C-3OIkZHP% -*0)qH9n^Ad/6489$:Q.r"U]iL+qVugKMj63N.i@I#8f1G^0`4N$%mfEgj2+)(ZG]G -$3_qk6Wq_.P>S.(A!E;o0TH%YL_&^.2*blT*)dQJ./5rd@Zj=u-g_1?(U4"&@MhGY -Rh->__8pX:35SUMfafe\%hg9X+QthGCN.4K4ca>#00qtY1/&>bCi\,:Ol2cP.)I*K -*=!a@-O`>8J7f4q_3C?88Q'eD)RIkZB.D%Z`1\bSZJ;c=9Ch_m0$JA>aY*kHS3.aq -@EdCJLD+oN1eeDF[jo[e`2>*2EhbcP9XFs&5tocS"%(@V2%r3r&h=I=]3u7?&VGVt -3XgX+eLsVF'\,9?;tSm5:K1%[4@7IL<-s(fR@:33ahq.8qJRCG`olEKE`/5@c:otTDZmkcI -8Ha.;/T4iq`Oh)gpsqNeA,+nJO(;AsNXQ"4c;0\d)-0t+A9io&R:M__A")P*[W@sO -GmHF&"I]HO(!.7uM[J9\7$.mF'Q0BHd@kq8W.irsVl'^PL8D"eRbk0EaO2\t-/MiP -j0MD1>VU>-Tiass"8dgYQ0rqKDnBo!`d,5bqptYYDu8Do^MmE_#K(Mn7g[.Rr*L,W -EVt#*`q"M4.EQVCa"P\XgugK=o6g:"cua[89@7k;-Vr984_IXDFa\aDfQM\0CY8@Z -VfCI84m.#udNKH2_o&1j"=keY_h(VrIUhcl5L_,,3 -5X#Fgo^@J(#T-E@F$-/pqM:7_#"oea.3Y3._=W6h_AGUm@0hc85k=K"'Is_k[+#6b -?uDQ`#m)(cJoi)OLccBiBT-QM&Si_f1n"^/!-pqnE=O.F -`l'R"OFbJ>#XJUH(/ZP2@h=][O-I-Xa7L(_=iQAn"KR3m/4tO#FZS`R6Pon.@03]g -0bJ-i_nc[),S?4qVHh?5[-FE\;>Ddeg'u+H)&NoeH\*XKUP(W\#tq'55(\q"$+VC& -&HTrYY<:qej.LLSU"2Y&A0`;e<="0o`"'*&ef3!g/l+d36kWg"`PXAFMqED@d]?6\ -;t>Ca$3*7=$oK/,%Y@M\%14g-#cQ>&O\Gg,LrFHW"\HL9A=8Jk1R(:&F.O>K!*"V, -at=@#Q5g0Md1SdKHV"?b)\MR78.fQ*Ui\0!f:);,M-3&$=pIAB;I<1UWA[TFL78P& -2GT)t3[Z%c7MDU%TX6#Od(2A2Ba#^c87ccB?p.+feLPjNZ/8IE@7t="0;`j2RQ<@g -:0D-iAI;l4!P3aRC)'+7Pnp,oGIYuQ!BgTcMN?9`SQ';L;Q:I+/Z@#k$0al-VcB*7IM'O,NdDJ._cPN^dq5B-!NcKIB!JB/DYHN"3iF]ek0*#BKs -Ns&lWX@0oG!h1W0pPRO>%arTR7;F)&>+5FASIs:h.\YAV&f6dl_EW(Ca2\ -&I=dD$&KT^fO>UeX4S6JA%iVQW,s^;B,:lAFs05@Wf"WEI@-[M#_EcdN"LkFS(Z7O -kCg,GL+)1'5dD;:[G_WA-q+HkJpB`T`_k,t)%mMcDbQ\l%HZ"qKWE`7XiN1D@49VJ -Yk84`3/BH=9Tt0lIfhK_4u@ff+Q0237`6FLc]](8?-p23c:Q2,Eh[kP]AG-8J]J+O -1bXW[80CH8CPh$+qo3kR"$u?t_*J-1`=W$#"Y?4f&4U4Qj$tn%+Z5]:dV;Ke2`;5I -(n5L`r'Mm2*)AtQ0A8r^&V/+Fo[D.3Zbp%)H#bHZ<'M!/VL?e?LHjN&F'Y'm02]k& -?FJC/To#SIVW9k.W1=btl#)EVMDUogm0;C9F*DJaLUQ-bT(\1)`M"?]+B6@E[.mlX0A@'<*@1c?[2J"<`8QnkObWqA1LBI0ZKgIZ;d% -02(OM1So3MU!rk):?nB?WqAQXep>A@lMYq/Fmcflq\+)S[&)\bE)C^1)1`GfGIM.9 -i;UT`Z3Ga,mG-W2h-YnTGn2T#S)!XHd?Y!p^jI%a#\!;]fN%XL<*)C^FTfqsl#36)qNM]RFE.E+&& -'sF-dL2$At+S\[J_+7oXgkoQ).--&'%[bfPgbaOf -A]U1S)6OI>aY.W4M:i1_'/"#*aBD8))Mt(ZlnLkHUEgo7"S$4OEr2p -O>2C__8'04YinH[i]Vmo,(\MUN)KR#$5S:-HNdV;"]37#$WDX4Ae40>-@l:WEV`(I\Pe4)Fa -9#R5j7D)hnbZ`!=].*:94=NgP&>61>`'o>\7Qb/p6mn>;%=qJj`d"+)4.ZHST>f;b -7HA5Rb\Tc(CW>^X7eCRfr,G48E^p7R7iZTj/9FBeF[p7ia*`&#KQfkjT9uVH*dVH` -)>&UOf+!9*4Er?gWUKqfpcPM;%?TG[aA]_A$B:.1Jr97&\a'9QL*;'q-V?t'g?PjI -4WbOAT7J+4f_gXe6G`G)"or#%?qEKgr$MInMc_gD"4]u1Z+`1IVZ[pRN!_E*bQ?!/ -Vm'/)PbAP,%ZfBY!^]cncm,hm1d4RW"Yr>/;D&"^s0K3X9!S_pW'iO?=Ma9CKSV]9 -X7$PnY(>k91#T@[H9_p),YMpq^`2Kt@L0+<*X!VM%[cNGg)1fb(TuNU-4ml,KE"RM -3ha&>]9*&a+O^CRQ31(^[IOd7oYU`U+%$.`VXc>@$2FZ98-Q*@1%Qq]ki9#e+/M(3 -,ubL'C_J!L[XpR;9RqjhRMN\X281UB^kf/pjJsuUa+\ou"a&ZF]G3aQ,,/7R[:CP[ -S0`_YCVk-qVU:2dP;n0Sk6ZZ#ae1o4;skkk9>^kRYX'?4C>]W,:PJ0,"MF@9:cUmO -+L[4fRhKPV6s$?53Q%7LP,aA&HAT*[ZP0kuW8'^9$pROQ!_,h-`*7RYNGX[gV.H-Og>mJ_n'iAf`;0eT[ -l0\Q)TH4CKd2a3("WW^$[Sa'#d&eEg%3\QU(f>@Q7(Kj+2'l-P-;e%r;I(ZuD(&;Q -.8m8rd_.,.`@Fj2/lLLY;UmH@,+koOHTX8+JtpA_W&gU*$B1DGVb7>g)"=buB-'D) -]CNQ`d:-T3>kn;r>AW$)22W"h7cjYfMK*Ob4SM+S[9I -E%Qo[2,#5k5"O7#;Z6bB3=/51_,Ws]X<5:E26`J1+6Xn*dnL4G('F,'Z>pXB1C;R5 -;_A,lKS1G'pe`:J7D@h8,CI[ll3O0f&"pKJ%?_4;;#HB-od#tf9=a\JlhZUZ^-F.b -!dNBbd)istfF=!28:"[ffcC6"9-eJ]KNP(J(l&3A;MZIb_,D[*"KinM;';o)5k7i1 -/CTWLe:X5Z$2Do!pqk:O_DV"2"BAX=GVVtFJe;f6+j@.'jFni^+UZ(t[7hf&=T_Dj -##8FcJTPI_!iA)I-k?2QcVe2bCHYa8VD53"Mf@?%X^Oom>0FMIcX\s8Ee"cp\l%6m -:TXXn\BcS@EM*,Eg/&ZNbX&^KqbbnE;'TpS6BtII0%194>5bW?]a2u])7QteX8TD0 -9sl%9l%'SXgO6M7NOLCa'1Q[]=uEA8`N3:k5ENaZ*fOgF-kAeLYZgG3>V3lu$H(8Q -%T0#s&<4D.c,j2C,nts6-^7FBpseQm%A -h0mj[L"BUig0L9(?'X2NXk_aC:oXho+ug;k3$5&&$+7r^U#P@1\b[G]XX?.p1;XBk -l3GCi5+%e2Sr!MZ1:Yre.iPt:;[/+,=rUPRq==Mn%Xc./uXb_)FtIM9>8TX -,I%u9OLbKim#m_S+8d#*:qmHZ!oE_(,_cPd1FruGX\61^K\QM8/A;q)(c5cpVo[Lt -bce=k2%PC>8a)"iWXXW]%,UP1%<[H(3('JDAk1V4*`>gmNIX:s6VTmJ".fu(8>1pf -)kp/e<8n7soXj"raPY]maWU_W<$%nd%Alj\2*h4F%--"ZBiup#_I++dP;/Mo%09un -,e@_V<9jq`^In;'Mt.77H4/%a9>&VL^#7KMc(IjTTf/I9:Q+1%> -(/<-;9][i.N&m0L:#4o:h.:H[3]41B$aPc)%D4V:;H=rgrB7>0i`d?moIV7MeB@_TGmXXL"JS6Ld/Z94e -"1j&R[Xpm^%n")Y/)CH,MEo6b4liNa\CN%OLWG=0WY1p;?Q/BVLd$ReUY5Z1;F>!U/1_>@(`F8r"+90EVa7*E1X]Z(g-MJ]W$^f$B%C[LASoc6\QI1aHS3=6%:`)cGi.!@7c1fs@,ii6(mtjNc/N$-"S$I0+i.f!t`A>BL`BuZ"n!3'_&"7nUD?pNtlZ,(icGkEN^@%^E%='*c]LIn_&n, -'MX-*>_-&;%Ug4_an:;eZ&F,HLgir6ammj4j\tOgPt?kfC6PgQ-WtE#K;)P.RQE=`X3f0$#iak2m:nS@an!,7#i8ZOZd@9'WX=_op"5Wdbb-=;1[(1F>ViIN -Jta1d4q,3uX[sbf%mik)eE[Ao2m9T[eAFulaa>d=+0_stfU+C8V3mB$2;V4,]g`F' -m)H4I*7ZmsP]=,FUH-X-#h)`%/cm0G*VjN//MTfG*^U4Ai28A9.tefJo?d'Y#h:a6 -p+r0?/f`>W3`WFh08^XHPH,[!#o9ZGs"i$Yb1Aa?W58)XL/Uu1,C;Jnb4\)u6]9.; -0s+P.m?360K\EV;qX%%Mg[Hcht33]<3^AA8UB -4f[Sooku\gpl>V/G5(P$NcGAc:i`_ZWg'+IC&'9NgH"OZ`r1b`'_];#q0rp#LQ"\e -'.pc`GjcaMc^]:6eaURq;88NF&"*22H'1J%.67--qNS!T=S_!PT!jdX:T8Z4Wd7F& -T!H/A09MS'_Q.BF7Al]$s/12cZ$S..q`hB58$dP<[X2AjHWR_(Bk"S&K9VO$6_G>O -0`Zf7%t^6h+d@L=OpA.@kMDlYEZN"3;P@>-mp5u4W1Y9-i9!+c^Tbd1LmLKC011P_ -p+lM>24G2\/%U:rglMu2Jp`))G_e0V0$3=8*\`KX[`>P()X(KG(\saHq`9`k,_D#A -LpAh[q%pl9Fe_UhcOACKbR+u^%1psH%3Q`b=$T'Al2oVt1]T0]k_i!@h?q%EYts&) -3$W9S[ROs>';BCh=5O(4J4Ou;9kskf$SfGkkU)s\-41Y$,<,RGglHE*#Q[&Z:*IGC -n8Y,FAiCYfh3h9$.,#G(5-l._0K)pM:'J^_j7tc/=7%d@+ -btCL"aa/&7/sdpHP.=bM6D0UBV&>C6PWKlqTd):R`+(54N2e-!_)A\i,LV>YEE%fh -/!Psl!ujBk@;<5MAT7ap'ST^;'e[IW_-FNtSX/`rMCfa'6CO/G=F.d\C,CUoX]AVr -ZAQ=De=c=V..]_7+HUX/1H>&7b<@c&tGdJatgW//5"@7\Ll"QeA3c]1Ao)e_NR)-%F%0] -8.hqCo\gk:;?Z/BcBGp-eu\0g:_gn,*<>4(dmP]Qbd/T-1!rr`(C#LjLul_H!Jt/ -h0i\`(*.m6fN'kdA(amWR:KIO?(Y`_(7h::g,?XDCg,E7\S^*Pe\Q.Y2Z:U8gm:1E -FPPJJd<49sD;fYE=+/V$<++c?$ork9M@iYc0MW;&GR[d::]VD#%91.Ao6]%"4OmLO5l+p8[-5&LWtWG*^:BV"0h0P)BY'F"9-eXb5G;ZA`atTT3c:Y.k8L5l -OHtbJaMKco,KU'QX)<=A;3tsBo8f>/\\=W_n@PQG]u.>q"4bqD[USM>3mMTuc#QphM8K*Q.Q!Wg4VJ6JD;-UQa1&?6IGmnl\n"H2+L65ZO/U7=<& -Z!JnKR&q-u`*8/IFtcA+`>@PS@>p>?1IdbT)WO5%ND[,D7el'aUSMmiZ-GF$Q))+G -=#*7D="ob0_30uH -:ngF-1?G=+P]@pAb,K:L-%*n(;^iA>"-@!.TKXZuF<^sPn/]ENFqTC#8VthS-Ng#` -%V?\+\Wfe=>?b0,c=ds#WTu*Gr1\*bO\S^j&LO=FSY4DuP8P14CQ*OMGk,0l[cXh@ -)dL7PX\OAm(/Bb2MpZ`6`Y_%b718?!hL!b,P#@`F@nNN=9q[M2!VRkXj1R=2<8'H5 -RW2*e\mSk2:_+uiq&b.k6j)s>WYl^V8EsJ1WKfZF<>q<<+IY\heFK//g9XiF`EfNE -HEJQ>"V[;8;lUS$WE+>pBM1E7EE*LY<*G&"5j01bomXPCAb)gNo+k>C+W@_CQE"@T -r/hN\,_?qK?>B_(Z'ISXfc(rBXG)kDelL!t9/U;Ih3kU8Ia;1:4)"!bUpO0ge673! -Boc`sO@WhH06SRLe[kR5c!?@<"--N$iu,H@#;f5>k/"8f3R9W3D$^"`>A@FV\ -9:&?(fZB7iLEbqf7R;$3`Qu0J7ds]L9(TlIf!fjDn=5DdH*.=i]bcRqhKu_ZmHr-0 -pVQ\e/+n#PICm"5Er.h/9T)GL2@#Th,%-Q<';lCD%3_B$#QXiG`3pBo=BmiEOHL5C -6E=j^3pYR1965%EmCARtqr4+LMVXQW^=^,q4Td&4bqq4+GFJTlgV7Y[rW0bMIAc*= -,Rbi^1p&bZZr2cTpIJ%NXa)na0ujc+?U]g5qJD3;$D&PV>?j>!3HXCOj -(22AF#1D6fHZ2'[`O<4piS,]3F)IPl8+tn>gRF7@]=8$RG@&sYAPWA\!.YULfLZEs -r%Jpq')XjNnIf4Ahr@[)HT8J$rTgjMQJ12CIKAuA70.U& -)r=hTF`2.Z]f@)Td$b3+S.(_Xno$5Eg(,+mEn&AS;sN#i-_L#OOjKiiM,eAFPaNFN -s7pjtjukr,FWPNpC9DXAI:&XiNeu?`e2u!LP<\_(U"HrA.,('GV"U;#8l78k"DP:h -l!EJK4.ffcbMTd\7]qY_ocR"@V?&PD%_^0;3:>UDXSAD"iqu$#nQn;sGlK)NI&E(s -hG;>j?SU^@f:DLdee/tl2%e=N)?`TYZM$L_fhMJqgYT$`(7iGT6,5Ir+Uio)nno4q -2n]]'A3Ki&"<^)E<-VMHM;e-1R4 -lHdiWcoD9V>6YW<##JY2E+9*6D[+R0#-`:V&:"LWHO(14#Xj]+L$mK.:t,gb,qp&? -MP0Xf9\f+Mk:Od_JfY.@PR*qY$USqCbT73"g^\33%ggr"JDfE?H47Z$$3HS"7qs=3 -1C:8t%T)0qLa)_LI/@`I#&rk(0>:gI_[%rE&5`N@Kr5*3J7$)[@#cdKYMT[`k7R4Z -&kC%.YO`O(2A@\0Nf1=Nt[X1),ZM6EK_9&T,H%O)6p(X&ZH[G -WuDYS)b8P6L*fj9`p%;qaO*R!KOkJX>7*)Z$>nc,,+8`ZOWFR=$D>9XNX?50b9$`N -%.X&-UCISqIL!Z9.I%HJU8]-;eKGP9%P[XI@2"0oRo1.NV<9$NCsCeKO2Mh*7V -F!pO)Bb=f_E`u_/%42Hn?P8TbEgnM3mU%`D6O"N);2R\/#q45).oKY'1:\oU].=T0 -/5j/4P/AiVa"5Zf/J4f_L*BtY*;'Dp-M$:TY0SJ39J!8o]dpn4Z,5R`%e`_t+olR) -TSDMK5rT'YCl>H2m82up="SKE3)`qbn,rmWKQJbX -,Vs3p1N(>@-R+[)3$j,5`="`5X#Q;u3chbl;nG+I^H7Xq44D)0PK,f7`B=mX4"uP! -"X8fCp12MZ3O@jCaC`JiOI7h&H"WFc`WJG93:3^WBehflDT:AFCb]uZ#=*mu:p;2U -F"lOC$PELGX9pE:*kJ(BCm18SPFXNc+%)ej1il&CoKkFA:63lQ4S.)lOgut6?T$b! -&Hjq=#(1#^9gdCo7kELP-)(,85iZ,]@VT1;aO3X,=* -1lb7.Y=9523lE=8Zr]oM]1`p@9N8c#FMge:cV2j;9XNDG'ZV0!A5\*W1)#pC'VdTS -,'HGYH#[i.5 -`Yr1p79-_J=>a5TARMq:A@CW+&_1r'eE]_JV-&DA93%lioOD!GY?4f2=uEQhFgYG= -^K]7+>IDLV(!0]KO!YLt,\iRD'h7>.RkChqm0$GnKe,Ta9Qat@T&`Fc+C'$r12gf) -?muZfPER7,QHeT;\joS.7lY&'>:M7b0@pNb`^SmR=!I8*&>)'SU<= -?YaYZ#e!W*[TR_H4*M8Y8#0(+?qEtO$#>l9GW0+3oTMb=_W(3YG5"E>KNi?VIhemV -eI>Rq[tf:]KmOVmHM=go2n+.c]6kF*Hrn(1GJZB*@T15AaB'i\[`rXj*X[b#N8[.WVSEQck3;MR)o6?UL5a+B;lQ=bkA`/?'26n04g2po"rsLmVt6 -ppl4u]o3f?N**iRGf,K-c]$N*N2Z5D-hp,NJLAaoaEQ8qp<`M`D_b^CO#Zh^R/)eF -qiDZpIMF=i3(hlRn181#@&5tmjX4u`lj@.M%7&>Oq'lr$/eU0"&=GJ?T^E7L4tqug -#NgJ5J4CA&QG`3V"o*G%)-\nA=-`J:<-_S#VDs=3n7`ME-GN -"BQ?c-Q(NZR98"-BL?F*:Q=ptN]?!dRAB(JJU(CPFQR+$nIi$]O"/\]3pU'$#mHjI -Q;(!>3gHb63LQGkGFf\ASlssBH/kKan"/5(T"4R[jsL2MpgBNm?t)N<(nN[Rlmql0 -TihJkGm06%d5dU),pLAoTM/pOBlROdS4Uj5U+d32/e^N>Ud8"VRR@in6'EH9%k\>F -@(%QcHn>"l'rFc4R9c2J[359RLY,UK3c0!@;3pjTT,IHs8A%t692H=;q@_neqO=D2 -Dj\LJR2)d$\uVcuY=SjNoZ-bBRK]bG^D69BBD3b[HC^=fFp2GXK^+:m%h(K[Naf87 -(W`,'/Qb@Xf1UG]XkL%[g4ulcqlh"7YZh(2HNULA&$Xe$4;a:bWa_%qrf>#rBCDQi -q@Sc,)7(1aTt']fppiScC*4'EGi?5OVj(n50H+b@&[ -H*s>b'74o]!:DPN$$!?G;Jt6pRW5F`O$7l4FS^8N)j!%iCkA'pYe-g<"cQdV9R19A -@,$[?qjcqTU'/'*Y<*K1]?@j?TN2TSVCL]@Khnunh7agLW60kBcV1P)9=pBGF@)p: -W=WJ!o<3(%Y.=O3O@YPS$0DPib%m39G[djpOIW+Wk+9&YU*TJS3!=Z,[i*a'+`d,i53?,_KtFa+0F^pTqt*YQ;.(BJHpSVu.:GM*!P'-T(P -*IDcfr'O_N"l-rJS%Qi@CL\5ngI$&9__mGAp7_.=$;"sQqs4sXZ,6llHgSd431"lUL1i('4]\ddJQcsrrO -"Jo<7-4Y_.-3U]C"f#6iI#Oop%HJ6%jBa/:ZW<""A3-\*V\@&oA9IRk$DQ[ -SmgdQUH.^uka$G4ARR@iM2@u#E%.#kY##A%q6@!uVg:c8/DmAR*fub"% -iSpO0e``,!-j5``kC.QFIF&,1eaB%'nLga"U./M4@#r:ub9$uP5:`(JgcTLCoSSJ, -h`CnS56>1XoA;mbBMMI^jmbs3GEqB&l!S'/MFBFQQ",8ZZgaE_S+e"0ALBY8M@]Hr -=tD'sW"ZH*T.TiQ.JY'Hq-T-WT9K)cQhe_HVBuWB!+[rGhY*P'khifls0r:u^$0>? -S!uUr(oAR-VF,m&$%SBQ&C%!(8/3;"(a4Is?g8J8mM.tW&c_V(T]!Xq!%ero"@<\+ -UeiEU$cU"LR*$E\LW!Ya34):4'o^,l;:srY2^+5QU_5[EQ;Jom8`au\AA2>(QH\J) -8X.eG2k<[@PF:e*Ho6[UL3-$F%Zs2UdHOWaAJ0DgTN(+7+csWM.MRbJ_@Xe%2.*T? -/65t$T#YQO>-/RPFgg7F\QeKG)l;EYH+Ml$(X(A'!IqpmYa?C_%h4B6@ds0J<]_1[ -a^fF[%(8qbQ-8.?-JUkfss$.+m!qJU[*"MPTcqG#T6*OlA"i;s8,mZhVZmuPO -OOPom__C.9%n&,<7hA(N'MB-.nPi3u758U[(Ig-4B,ARmP\h=.n^MV$7hPB;+31Yi -LET3o%$)T(&i>+Lae;+or!),aC)fiDW,*IZ+i&:QLSO7O>QIK:^I1_NYVe,>lYH[#Z;N9I!c`oE;9==^tNU`QrU2 -2_EX'1s3ZP(58Ga<##PP0M2m!^sFtKgNW>(J(p>+"+jnt2@"lm\4.9g0\2E!Ad$X< -<#7BXIG&aK\CNHr-',nI(#gAD$^%+8+q&'h(iC"Q@@;"7QY&74B:%bkQ>N(&m[,/h -B=[_cTP-@JF/!:c2KbbY)Es@^BmOrfW+ii'T;cS:VQZub3juGtCNe>or[U9,,;dX8 -n9,nt4%OZ?D'BJE[tjj@g)j#[>c&EX)q'GRmj]%;NoOhao\1NtFSl`t(l3aOM^$6H -3K@U3.S>kX\SbVM*7m)SF/69/3HQI[8%49n&4sg6!CmTXFhAMt_"Kp8A_;0SZ?K`$ -2@k"?n/]8W)/u9o?[.9kTMcE3QA3)Uq7>a]k'A(j?#VW%'2.'V4pQT*HX?!YomMI2489@GJJts2hB)RoHdDrK]HtSfMUTUs"_c9b -7_f9OPOF)74paG5,6]3['n[''$+)*@#@R0GKnB_1)88f_`A<2JlSa)f3aW@6/QBMpW9cl`EDZM#q>&lYp -auMm>A;$hEP+GYrK?j.V*1)k0Alq#Kfe$.X[nfd?B1f^304j4ZPqrVO9IYLM+U#iR -'..9Hfo%Xu,gVj!7V>FETeto=eXI4MD,#;b2ICR!"4Mq+c8iteeo2g\@%aWoK[UI$ -Ce4np!dKAIk7HWH8T'B(*2bf0-=f2m@W>R%&Fa3@P6ani_)+**nD#9;E3U0&^fo,? -F%''T^2p%2M2P5>7mrmi%Q&hddP-#>BHjHc0^:^B)Hf:=CpKoP^6q.[#9^"QJQR$( -di2tBZ\ntBW"X3F:$RO>O:=]ElUh>n>'3MRD)806fls]$jLjKYpjT'fU`_.t -Cc!6;ecs)qRi,V8Fc3Nu2TT#_-"UnPQ\#t-%tZ`:I\5_o.raa7VQh17$*QE,&63H5tEEBfUEOU -*(\j^&0*=,7(/iU`.?btnY\)dYK]"*5CFn``Hf*Pk'Gl9noiEn8!hET'Z -J8k2^VEhqN]N:+"*_[$D3("Eh4BI4kDD/tbC;[mN5E0Zk2occu*=6Op#]YSO`]4,E -A,M1FE\9`#fdA%U]T-J/l2"]Kj!b^p,2NuZkIV#7P?80e,l%INpu1i6)?EH+4Bf(p/?Au:3=EM.eNC!e,5VsZ>QPi(afMpUOQ1u`g,$L_c]n! -8d_11T[\],"]a=qWHIp4fD;CQCc!A4f*%[(>%_D^)L!co_\7EBVdXF*K=,kLf%Q*J -*jaXGNCQ1ig`)#gDEZ+Np?S@*D#\l+Hc!8XpW*r\%YQa:Dtq -.>cA$V3K8mgS8cI%E!lY-JI8p4SlKodGJc]oR7c8j'H,k2^fQ;qH=.dt>uQ+DY,C"NFd(Em -n.!.06.\3->:*$q:NZ$^gH5.Xn/]!S(+agC`4"dt*[epOT+-j.s+Bf)5KS0m.HEV# -POe]SbSD]d*0POpX`nU9'LqSWdopIX9pmZ32V78!=0Dk2Y;/T>Y2@;nZnE^JB,s6IDZm<=VtpC4#g]l`/7 -5YJ\Pj-=fjh*4o3s#9)TGF:c\>?9Y+?hXKfpX4fN!YC.[L2]E#T;h`2=aQLNK0)a# -^MEU09Ei3t&Nbhu4/#QeZjFJ,]aa2_^gmU6C^iYj%&@@M1#'[`'G8/+`Ne.75kGN% -9Fem<(;XMt_-@hnF;YSIB+skbMSVF_+Z[5%/>ptHP2S46'Hk78*C:_j'&taRU=qg% -R%u_>35Km'GS@r^A\J!C'H'3(Mul6fLm/e-*]`5o\m%A:$9uHU_`Tcn1[mbAgVZ:9 -'@?XnGs=:Koek\-_43X(KKUg6omk5d]$)ru'K;f6gE&F\NVdDu_df6'O;:FR3b0-s -PWhL24iF]k_n3HEL_[iJ2+/Q)5dF2$`(It<9>r/T`A%t%>S+_&'QjFeG"6Xsa+SVl'(*RR(rYcf`iOR+ -nQeLtn>X=\%FQaK.<$B0?'$==846dnHhd[%=!Xkqa2EcTe$#n=!eFGdQapd#39:qX -.M(#rNT:&[<*`'8KZPFVa>?!qiVS\s.mseo8;csZ.:n&jI";Y5\nk5oeQ>uGf>f!"* -_D*mabXB@m<5Th]YpuP)ab7aVPf_*nqT%pk4i,#nX=9m=oL#pf9"`NnU8#_>LJ4eu -b`JG45_1/:e/uMG8D)jmX7Rc+FuC*d3!F8WVL3in:[22Q-D_>0Ds'0 -/'kplHZ3kV<"AU[&$OYm`IXp+U$ZI`9U25o$8TQcQ)T'1:'U" -&^'%3bdaIbi@RN`C/.*]6?oS!OK97Grk>c>JUIIuHpaDqBcjCd,lqs]:s`$@%a]%t -ct*L0E6om#M9LYMc92T\9JfP(Ij?;]6^->ik_(qSIEC8/:L+[\6%I31qFH#D:rNm' -H:3YDhN,V` -O/(,1'X\UEqbhIE99S[nCal/^YY"?j_6C%?`>MVQ7atpMd-StHd;d5=&/L6HJD?_p -NAo=#)prH&5HRH'NDYskr"%3Q<7Oao4.;UOF>& -=k31Pec=&E%3(Z$*Lc"i?):W\#i=G;/e&H%>Q<)UXs=C$m<NMW=HYkrP-rE.O\!HRfnGdGQ'WPrY/qE==OiGbbj3hbmFH]Xg&tI-MSrZJS6@eE -g-qRd4f)=RpE-AK8]*L6[3c\YEZ=8We=4u` -olUUWY#,Wo6_Qc)oh:/_FRXr:oS`,KuK#o -L&lB9!JQcmlBp=Sa'=5+W"?'ZJII\?@Br& -d9k`>XM;#[_Qi[>`Buk$gKg>N>LaPHQ0:HV\Bj1mh"6Q]"n,f0g0\q?<'@dY!KoSC -j!3*^U]pkUG4)s(bT\pjri"cUV-4/Ub$=K.] -h9fP1p_hou%c/6;h@k`5F]$l#FI9mh*]bf%[=^kE&R`P(?QL'@NZ#3t@:$)GhCQm, -@>Vk0'nH9!i3jcaSabOf)F!41#Sn,@\WYX[$"0n`ic7pYLu4k>rBco_ffD9c`3J=_ -ZXW:-iqYUnc5BjUX;;bZ=f_]I4t,D+2I_6=h(d76>S0)5A%X][Z)V>EIQc_753$NF -j5rU!"rE.,%H-pkj?=NioZ>]>.h\"o*J98TEHo.nNXY[m;)V*ufW\oC9k(oYk%&b3Y#6"RI#i[.W6.e5roXWQ#h80o?h^-?-< -@\sfEYdb1u8/3XgL#-fSb4N)2DJ@+>C;tF4P?otP*aR0Z?@b]OTur5?fkc><-lm/G:]+[8YLJSNcbl+YZ(:6ag'Q9E'.fjT4CFPKI=_/6Lq -Bs-!'6C@#YK^%@/D8*jS&ZqB'O@JKQmQ;s"38HUKR+EK3mY444[cm.Nl#*BamZldF -DV^T)gK/JG(0iEZ%e8sfo'[@c#YZ]9:QcLuLlVq)G,g6$[KD;FQ&$JT16!M7DF^<0t=LPaki -(E@Y>QP&a('$$%FAnW"I?LD[^(?(S1@0Z+42XS2u&7S24UR!7r:BN\-h!$a6.@/i4 -X0Qa.*V),mQk=!s,.3gD-C$/Dk'#2tBVo<9)"P)lkW^1a:okM%lP>7/o*6u@(GLp0 -#4jc/o0l;n:GZ2D%aK_hnjb\1/PYPsrJ*T3-SBqIHTh`e+pDYc;ekANNQ%rkX:TDEc(HAA/>J#P\/G%s!i -FAnfUO*D].L3L\AqXcY$G:N1($V0MT4jeLKB,hmcH$ZBtTgsf\cag*3LELfNHB5&t -+oFSM8=,9]]&E.QRDc!@r-UH@r("Z&0?*j%`r(&$V_?!`Ys=B#>H`$jo'"IT4^j?M -SliYXqo@(\e_0Z2E+!%I/3fmg#GZJArDP3cg*b;H(VK^Eg&8D50Tl9"S9jm%&,P1f -H`++I&)k:;q]#X]):NCDFG2G+]DN=DV"@ -[?]'NZs%'e"$r2"o8NW3:Cjqf -n+-@i57a+4l1b#QIc%?Ln,31#&**ln^i0\g"2N8W$O+?W1T26Tmp$_66*RF>$c6l, -/Ib&YgcYSL0ao,p_?$H*&NroX<>!h.8LViofGs5bkjQLe-uFEch&`"%0L"mM@mmiUtcbZiE0+q;IN*q -'iNQ#020iZh*"J3'^\7`e5\(l8Q(eD;',q7!(%5o+PIBnerm\J.o6tl8ONZ'E'[N( -Q46>meCGq"@bDJAi"7rai&V@pPSFV%f16ViB7mOP5S74dmCdGn(B?c6">U[J,?h(# -VffJJrS4#NQAt!NhNjGoH/A:t!5gKA*W:Ji98a.p@#MVc[kG6D'n5'Wp'/9=(le3F -h`.bbMdi'f22pR_`]]=Aq!LG1jB4*&PN8-$9pFb-?.i>i5kTL<95\-;*DKI"oc)/D -c@);J):jM6k^!_qUZgD>dMp%(`gN\.Ya13Hko-F_X(rWSfbhZ=lm!E<3tB*3`nMiZ -ZA*\Sione^Lf:d9N[ohpA[tk/]'gM[n%Dd[W_G%fEpUQKCHB3:_slGW$NEiLKseS^ -I#fGmn!pR-bAs,f29aqmjVLD$<.J*3"WNAZDTEho!2=FhTMgj7Q_!^XV[l/'qk/eGm$'a^QZ-\YBo(*Q&ndt+_a -#9`"C2(2<2iES?rYiPnn`(:KUUM#BWRNaYGLCoQB-p"$@-,d-c$lpRRK.pU@79HN( -i.BKu$#qUF#^Hp?"?MK=IB'g(:n1IS;iOXX28tC))rl$[NNp]u\`8S2&$%U1a^fsa -7s=YJipi*#%R@4/W`EX5M3*Xq3(HOOmaB0%P#6BLSJ`pk,d`u'&oAXIn5-Qh"EJ#@ -Q$:=69d=4;U6SDLpV.OG/(b73J#4+^YQsnRbHhVC"g.Wf=][(a4MR7^#%C74NA0KW -`L.AlAPCd@1Zi5p-Lc!u_=1h?iuB8!Xe$P$G\ngl.(TfTn -:@=W4VjuPmo>l'TC8*(*-?9T8/kjYE8>G*;;/1V(>fgN.aEAu8(<%c%Nn:jUsH>IbI['oA\hf)Aa3@KZLM6dKY">*^p:a: -j]j=,Lp9u%``S]L@dJ6"Z5-3Ufio`oAu$K,n:HUranlA&7/`l]Nm?%a9f?0Z9kffk -)$>`J%W-%IL(-Ifg3ZJ,/[_I^oD[TBl[<[VUj!&&?C`KX^'%4Nrb]6nWlO,8r -rk]Hqs,FcY_ceB -YK]ne21qFR$kY+$c<6JoTR26\o(I@=3UY6@4,H69#$9/S;aIsm[#pjcO[i;V3p>A` -U[?=^NB(30BjE0aoIcQ[cM^/3brqtI!?]$7g$n6al)='N\C50beDLm7Ruu:,3a0TA -CJAVeZsmj7qVPKB1Sgo!mM)Pb;4+B(7B\U=^=TtM=uaun-j_.>`Nrh5Coro-2H-?L -c-K+!D8!Dir]%uX3a"[`Haq986%@=pET=@F\2@UMhE/W#DdDV@pR_3;gZs5i(?Zro -)On=%>Sj`++G_i([:kk`H19&&UUYdY40tUd:9H.s\@=KX1VE>KL=*pn9Uh4CN_OOh -7!*\Z&r[Kq+>r4S&2V=RcVZ8g\sYq#3QCsZ:A7a:KT+^;m%2q$VhjtOLsZgce9"eK -VDDd<^c(@9hn;gbF^B:B\u/Wq9B&2tPrB?P4/#=BC8\*,45&%#63G^t?=-VHo9kNe -_B>+p'uTPf\CIG_U6rh8jVb,q+=^\e4*3q=rVp(,mXO:;2/ -&HK$Jda#Ep%_h$8nj),@Rd:l5K]*!rcL43/H-Y2"`aT'b,Z>gf9?NFe%dlA-P%MYj -<=15B$3E7]W5+KK"Q\M-O(doLG[/3'`MZC^X5"D:oaqBXU?hf$ZN9WU+TN&S?1b6"V-:h,J`Fo'Pd)aS1rOnd*3$h -ge?t\is)#g&+DohY5;&djO!?+U_s!s>7`37pM\-F:X%/c6K[dN$]qa(m7-TU!PhTkGhH'A-QYoC*71NOb@^kFuiJIf;U[h0khM&D]1*g"f%.^jgYF> -@d#%ug4_3a"hP$0)'5+'(M+h -"Ph^g.jQD`\q`^"YXhY!.b^$oegWI#EA0_`d1DIM7]u5YDYdrnq%N!1+0p/6k:H.R -3u_#;3V$H(Z7);^P,T`N)m^SG#@*;/A&ljEU[,+X-8jLG7u4aU0panAP!5%A4_oA# -C+@#Q=Bhs?+@UK4dq:l-,"j;`E%*p%ne!p)!Bgt)g4`B._i.jGg;:1951CH9F<*R[ -+$loIOH]<3;0>4t0gdcT6PFcXdt#jLgl&-om$(%f'M<]D9gpm97=H>$i"8"N67E_X,>']V1\3j_ -o0kMDoc7MeQLqC4N/%\F>='%C6<)'!<6IsWbtU%B9k,kYPUZeLHD7UR37EdFO*^R- -ZpqD+:NUtGe!c">B-T6[-.Il6mZpbW]M"#TFQLTSlHrJ,:1f#I`MGIj0M=Y&q*69N --<3%OEG$1%VK'R^5*XSkoh80cbjRtF-#k@L'fB"a17KX[1+sXq1n;`''hsrd=*8Xe -[80lO<=r(n",EFLUlAL,M-0G9=Wf\.:db>8=PM[CA6T -FG*ZR'Zj9S6(Gatd8elnaZE$T^^tc<. -@'"`a2?un(=ooC8K;@[llLo6EShZFE"3e%l$]M%P1GE2%rtH()LeR -@<@iGCq",%GAVM)E(Pb.p1'"JUR<7Sk>'DWM"X1I[uGWuMfP\Jq@5M&[TIC3k]B\5 -HNsTTG'$%NCG8#$#e.;MJn,CBJiu'G&Y$O(^3BFV8ZAeV,6)aY7GQWL&cWkFj^P'J-Z.( -L4F1"KR&@7-W7o,/N;gGQjs:@H<$>sVCqOu\=JK;\9b5dJ_6pe=&!+#j`NHf*OrKu -%GQdiI>YN\N*+2R36R8*c&F^0fMpWscQ%8h9e=F=A!_mF[uiXoO+,YOLq!_^jAuu\ -'dR>))mpqrKmX!dT5gNVE<)^@\Ju%r+:`qa%UdhMTY(ZJ]9.Vu#XF&(mJsflg'&/5 -LikG&\!:Y$mp4Q9;KeIXR*V&k)1W0&ReZcG\P-j_5cH%Z;0]!u=^d;8J!`6EQtGZ9 -M+H9:Hq:*=F)p,iVc%WZ@koE&TQYG2QfLNB>]aJ+de]CTUI=(H7bjcl?[!"_C#JEg#jMY4#r\n5-Y+LqFqDS*KO?#3a$!lhugBD -FBZe\qTH&7bore[\Q+4LbR),J# -E?46BTsI_&g@r$[J[RXo\,1rj4,BSCG'Ve$Mm?W!H:)K6bY=`?UPWK;o,OQ,,,;_-h$SHb4MFB<-D+&6cQDfCQ'I\CaQ'\D0'dRa7:g -f>KcmUQ?pU$oDoc;,KgC95Z3sk+VG\rN^l0+g -ZseA*C^6K[S\,I;8Bti%=2[eO[F#T+4C4H0%12oM[l\Z)RN"lSp>,XZcJ8fRI1=L# -&^\3)'q:D^BXi#)Mn.I*\e[JbgS^kEX%rPsV-Pmh>G%a?4?K]??JnbN,^eXFKlNc_ -$=KY>h-:UV?l,AE(]A"a?#1@kE#="Geq&>%6$O(AJ\PUd$NRC8 -\lB>al9,s?^!5Ei&)QfW`SacWAtfL&GMkN'f\hPC+EtjE"d#guF9hS^ -EVIr&%f8Jd]ueI.Z?VIX"ZM4'\-TRX$$RD0k+cQkJ`!:MB3`+6H.Z_o.Ee:[C-F"m -@$h6cOpNsW#EB)hAA6umfS<_q\D?]=Z,kaKs)f=VY<;d0n^!m1mGD4@l@+`XSu(_d -Z,ObR;.WU2>9aUu-',u[gRYmO"?WH/dA1e5m5eA2?J32maj^%b=td3$L>d?PI%>e0 -$3'].hY[u#!#AoE)]oCU^CB]4&/RPGW*pq\JCk<=U'`$:L7ijcDYnb?cYu-lo3XJJ -T/m3M?Cb=AkW>mB(/ek=:'TTSH+q-X)SQATo>RF3.@hi7EGON,T.#!@*V?:"s*Tj6NLj=u;lB2Xf*YTRU?3FGuDJ90Y8#RK:. -r*Y`55^?tgGKo4q)0sBYc':PO?q80]"b4eZe]J5LO)Ts1:tSTB7!KgUiFoT-0Gk5< -6Qp]a>U^?o"G/?FPY*3VM?S!^]PNKH.S%WM&r?re#T3ug6DtI$$83;a-0$G5c=&Su -9r=,"eE2$9T2+S@g'%t?7A/&lP_k4=$Rle.KOM+CE&8LCL-n8,`G2_`Y?,NTb8#KH -@Bs&&ese7od;63pDAN,7]'44Gh!Wd``U<2C]jIt0r"]MDJAYdapfp9A'ofVS1)V't -5qSAF3V+,Yeo*R>c/l6W*>X]-V:0.q)/R$6=fp:g2-F3K1D@1MD=QA?[c_qJheoqC -h@BR>`Stn4I%E8IOiup/H5t4s5GuooFo'pcYA^]$m<-;l:_hc5tUidQbgM.+ULI(Ua$5`&6q!q -_Wc;^#=H>'5nQKS,XVf(&4A@G6?';9(.I`R>o:QnP\V1+:g@]T7WI@!*(;Uc(nnui -[!NQVEA2)N8+92j+N]duOG!fnS>QFB_,LDjKOHi6'*oc^J1\uT[)u%cjh0#X9ljk" -2biE#i_@^.aRVG$U?K*2:LR]g/\jY_5TU/=eH\FfPVj+@:k?].*!Yp9UENN7Un::X -FLlN!6kk/e7u#Ol6V(0B[6"pjPsd*q8n\c?!$VFd8H&_li&V@K!6ag,^3.tQ?;kTPDa=_<@903*<4ikI+V7"F -8t#hX&YLm^rR+@EuI!EPn&EXWe"!T(.:#S_N%WZnrV.Z:&F:hZ2N -q`pLU#pMp&Q3W4"?Df)mNO?B&]=ktl866."=+k7HB3O,Y:(+sJ*'XhLEI:]Fe$X%B -,1ne*7k;c'm%\(3Ea7cgcuQcp6cO4QDb8E"I7Hr[o_hiqeogpuA(Pm0LM,@b]uOjC -G5^<>hKSA8V@E^DpcW^%+[Ad9V0gg`"B@3.CZbn!Uljt2Z:%R'W*Y7k,CBEKSS@uY -&&B$-I\4aQHLb.^CsUAn_Iqs:dLr$8b&pTKogY_l -1+.LrPog\3VFsH`J-B_U&-4F?3@1L^=Fs"+i6TV=M")rN7Te%U,?/<8Cag$q&q"oP^XJ_<+X0kSL-gZRi4&(C!$0/1aKTS -)"NtS$u&NnV,5F%P(l`Sq-bU>FK-3VQUn\fk<`r$,V)Dpnc^LU]A'?ri.->X+Rr_P@91b$u``UA$P$WS'5\L<'TC`nM:hef8jLhjb;^+iVJW1r=PnTmV -iV82EO(p#RU8R!NAIFGesTHOBhdjB -3N&,$T2W=N:ML&#W)XV+Q6Ys"(F%geTZ/Ob\($IG8f^="G,leLf^pYH2/cJa)^Ir, -=C/sV8Lg8JeG%o2C@XlrQ&;lA>1WI!6IVp;h(0ZS1'jN194D>>2MTU&?q!M:JYN8M -fQ>h$lqj[dJj.3[$Qp,LP-(o:oG&MQ).l1]3O;b,c.T=?Vs?.dY'-*^.=0VU+`oG< -&BPG_E,0.QMpbMil+e#F3*#6$7&]hMhcmR$'38@5=jJECg1[s0mS1m8(H1@t\shMQ -''9;JW]U+rU?@1(GDcQ,:OoAV0WAQ%KoUqChRTiC0 -;_$mGnes;rrs^Dg/LA'+)&Nuni-Z+j0Lc6a'%1hpl-27:%'%/fA)4R3*eSXHI;'*T"r*D^sj2Xd4"I>KZbc/S4:ZQh(u$baF)>Ai$$- -:YG[jYN8"qH^qPsS*,[UYpA'0B3X802QLtJQdsg?TM_h/d$;&L]+i6k67+JW)=:NF<#/K&fOC -_Ue$q8>g4RP0Q,\KNajHXt=TM[MI%W>=H)>Ll#$==efVA?([PV%Dl87'ke^qI<.:. -gY5qVCq$;<5as"@>jT;Cm1%IM[oUo4S#:FpS:eIuQLit&f6_Fan\/LumunR+BM/(a -2!#2?PgS'<91b[)V!\2O3!NAUBlc"B<:6:3=,Tgk-\S?*Q,/g&B2-$36LbW2Rdt@r -%8K_W\Q8fr,;sH1/5@s6>iV?h+46N..T6'h_NU`W.`n_<%FBS-oAgTUs ->rS['rh2b>FWWJD4O7Q`Z.=6O-gKN3-dp58](^DYls5s%p3t-;4#^m@SZfMGY2S,^ -O)N_^%?IZB7.NW*6/1imA*6LOSWr6>n1^8F!SdMLm>k=_+F7J"@kJ-46 --)$JsF/iPH"DL2,?,9)E"AHlYYjee1K!g[M!`.DU?X]pM5eH`E=?1_IYO4^f]3LW_ -r0#qnk4ASeo=K@qHtN,W&GER'0[n%lbA*Yd^>,fG*k#M2FDjN -6]j:656e9(;,:]X^P#6/'U2G6p+,c_u*'C -lq0/t35#FcP/rN3)4<&^)k0YM!rt"Vpd>6M6\Tne3E0!I>ZO:,CB_(I"CtXmE&"EO -,qR[gR@u4)b;^HO-,1u#7KAggEn*9&jsn89`03AKL_[Xmgr#pJ6\K,;EES+/j2MdL -7LX,u,]09]*LAGiY,grm*-)foBuZBZ7Z;I[3]'11G=R%*7uV^`RYj?%!&t&V#(qL3 -3rB1H-Hm/i9+8@!LBaOjUt^uc>%9gL8u?]X5T"/]E`scP -=3,It`DC?l**#9qC.HL.0hP*9gOQKsB;E_I3KoT&FIFLd)hr0uaip5Ggmgs;T1SsL -6:<0;>UN,pU+ra:^bg@0>c(,.6G#mj1,LZ,S>o2\ac02aa'<`,A?JP[Y=d)3Jr.lpr]RCrYL!P![ej42X5r`]bgu#[eF! -5_fW,&MmTF!8Os)2!N1LdN0"[!;YZm[-efg0,_$6c33%N*6:ninq]\PP4W^DoPqnk -l;)fn:Q4SbR+b/SqbOm&:X&br`-XH8';YL)-'JujA":*&B?1L43,F0m<.d_/J$7r: -\7?MRg1Epf;7MRCV.0shN/'E0*'l&d:\\Y?9GN;h'Y"P`,g(0nLh4\E$YabpBL -]H51jSOr2g;7rC@"pS\%AnWR+42qSN.K@SPKXR -b]Mmog=a[)A]sCL]H"^d*9'X:i4PcROK7<2be)?S7n^KfT=%6aaT@mH/A'7B(Esl] -E#KRl-j*IG">*IRF]&@];]mbjK[!LJE(>R=;$2&%")sclZ5._S)8p=)9]Stp -o+GI;1W7);&Q6V:j&=>s4UIVb6(&nm+H!QbdoC*_LtthJ=Fh@fbBO`EM*@>H(K89D -f*u*;ol=+BoRSjlcY6qA=^9EuC"IKB=+e!1Xa4'NHWRn.,S^64Ebm)HLJ^B5\ZLE1 --%:T6(XN9hcraj-Jn!)LJ[qiiYN5lkPC]U3&1/T63BNI%n7JnG&\sq>V!Nk*72Wmo&;F(t-EEJ"/KDmo*D,=b\ce]f%3esB+PH?)-rg=N]qS[\%m]K1 -,TpSNA130q.9Fcm>)G@&P9Qt0/m>ri*0Ve1/U5lqY?L=t=-]uD'sQF5ZWf#g>:$ZW -eTCl6=d=DS/"K2Zj[RGPBfoYVcQ>tC-T -8_-b0!E%p/0eK+#B!/,>!M``u5s,59:]jQUK?-F9(d6\+c\#=Q'?"*CokTWH&(\:( -Rj#@,r8,plERtjm!M.+r9k$dB\Wi<)2H&C_=Ce]2!5gYR@!hM'_t -'m%u$G$AhChTb*;h;]N`WF#Pm?OcNqFa_moQ,nB+hbEcN4nR)1Kihen5m7V#,Rl`0 -RQq%98NKYDQ(hC'Cr&_Fa\A.0[0JD'%49M8:`Z8X1/Q(MNMPAJ8Q'_>,F;QHRc(gf -34#/`g2>j7T\8G!i=.!i)ko<`'4F'==qYMYi^'D->tA:Z -['UdibWWVg<(=eh^/cN=<+X"NJ>O+iVB<%0@jT"17DHQVnLfWLj*!QFfGJ,Kk<:32 ->HL,QAipoDJqtfl$#W0C/k(>?4_*kj$!!i1K/s!a -p/1sh:BFD%Jaa_3m7Ke"QiRS8)jl0h]ssBH?_LL_A;3M55"9,I(Z]IA&2$K0@4@NQ -@-.ApA8YhnfVC=0>@r4jgdOE6Or_hU'M`[&Q*MQB?6nN?0+*j#Y,WT*K^Y,k\mk?s -hNi:s6#F@t]EjO6JEe:RG&M!\HY2Df%`TE"hALhJIqSb1kN7=K7InMjBjYG):tf#R -SIo4GKVb4D,sl(uPaA53qFSOtfG':l4oM2$U*Z%XL9:O'rW0R[RTM*Thfaf9NWl;[ -=3+k[V%*dh*XV'e$JD.d@'q$.Ru6.d&*`e\@.p8Xrh4'Z&7Hmt=p:NEU0QDu52gX] --u`^3G(Jq[H""*38sUL_h(G4n0k\4HkK^;I*jKK5Yj4KYCIYXG9=S2DE#AN@/'b[+ -&?'BCM+ji\Lr^7/`[\]T$\klAj^*#WsE%YD%>5"DUE$_L$Y[) -#[YS2&M1C7YT"l\#hU(jZe^36s+2XB4l";5fh_!DSP6S^)kJTm($4Rhg>`dYm,lo9 -p=O55g!cr()Qt_hP#"j#PY+n;e -R9@!U0SU$O2PK_\2KO>A-Z:&IQiLkk4$luF.!ei<'dtaV-hH2Go:HcfT,>^u1Z>mh -C?J#@4s%,rc!VhCb^9c)(1mVVDYS\8-[W'hmGn3T0S3']aA`NdsF[q^B:R3/!>_uPr''\COAa>W- -O`]KNH+\3ZrI+NDVe?:"81oa+N!UieK(8II -3D>1TKnXPf9^*%Lf^+l;2?Me5%/UBAYl>k\E_bkLC@_Rc=aLl37l.\'2!Nheo631k -f=iU#VtsIVl:[pocDgF@USL\ZW3=/;3^1GrP&sJgr/@]KD6A.+SG]jeI)jKZ^Wq5Q -cMZSG:8PD%(2uXM"n-p1!GBoN%rVK(N;7/se([C$7(SLt6!`;4gck\!D8D@;a)@W< -Pj(Yg_+&!<*Z0,CrZ+aEGaSGsS=%)0DV!8B9M^+-j;RI;'lGSi@lW<>Ui"2-'l?P] -_*etk*C[fIJZtO.ItH^/8fFEFA=^idWNaQS^^-!D`8Rs6kbfu@DMS;.?8<@V#(nXp -*YSg56X^(!4@!NlMF:q$34r4'%Y_r3:k=Q:@0IIh+HdQe88pO-O%4i-r5=1Q+:s>s -&fD+25Tc&`_m.SLE]+jG@07Zt\6T.P8L2Yb.)H*?UWUU:l1DK26lO/NU;9sA=tQUM -TN*.`9Oe6f73WFCT\bSX)dP(_+g&U=H]6il&\)EW4bA]&E0tn6^60lYM?H7#&9pA\ -%L5@pT\+'9)@^6AbGas4)-]Q:0Er"MHphVo0%s:8A&HJ=r-F!q4fKTUj`JF'ZI%GgHVp"DuHTb]m -LVMs=qL!b,5I]hGl)&WWm$L!"\W@d7!kJpg%g,*/>SRIZ0RO`D6-tQ>$,Y&R0abfP -]JU2:OSh$K[Djah'#`0[;&$uH>Zhhm&U\"(7Br@W(rjsfBcP/jb\nQBdG09fa3j7+ -,081pOX/$=*0hkmdX7`:b#23,-V/6qV^IlFfp=>6o)-XVlZkU_r;H.bq4.9,K -(hh=Fh)Jp_1>N4HdRIe(78G8+h_S4gJX0jbP3lReehs"*;9ai,*F.2R`CF7aFd6`M -fG5JR@TZY_O]Tb)]jkWpFe)rSelJ'/A]FGGZ"dKDS[hkL<8igUb;UH`ElBcGWFl2I -1f7i?Q[Rh;`DHb$&RL!AnU04qh==3GfD3aCi)h$,K&G9F&VT+F?5\?%p\joDhfkqH -HXbU00oG!N^,:r2R/T%+j4P26OlY1J;3GKn5$+!1R=8G/jggskRV#^*ELZ,o[X"D+ -\__b-kSbLlU?Gc=LsptVa>9[W\n7M3l&hSrWQ^1X3/jMc0'\h4T_oE4O.`">@ZUe-@LaFO_FTh8$Gs$I.uN>jONmMhLL[l?H=&\gi/o7$2h$(abef'Q6M-Z,$l;_C-onXXdqMG -WU/pH^(m^M:fle)JPY1um(ZoUm\q]\"LWsj"7O)+`VB0?,"V[g$]6@*e/f7s2A(P* -%1?T\/Ht(F(IJ^M_fsQ-9)4>nYDa<\,4JlrO`r4Ml/KJKrpXB*Jh+fgZ3$+[$%XKJ3sS:d -1jHCU@cL";d;CVVfYE$+U&\tZN"eaC=BGo@9mBCp2b+_D*92EhN`"Lk7sO\J:I4q@ -8-1Nc.0UQ!,_;&_%RWdT&L-9uNFo65,VFf-Q"5It>t_=lY,NoujPhtYP'0Yo)+9Q3 -P3eD'N=r50QDRW%Ti881:o7e4ZIKke<+A3Z."S1h'6qi"df*UNnYVl,;M\-O4[CP4 -%&+HQND5;8?n6oaS!:;);b=8rWT?I?'tU5;M<.^5eQ/-%lE4?,@:'Gn-E`W`dT=Ta -@o!i'4I/%N9CpGV:3EBb-dphCB\@4Jl30FRWo$HbKO[W3'dce8kul3H9@16r7-%=- -2U"dP!8-/Yt;+=7&]i$*%X[^d%.t] -BE92)j]SYWRDL$.$q\TM@s%pu+?^j=(II%a$t5)L#*@7O"''aVY%AB^pX2V=PGE/N -Jc-A4+:[[F6jS>P/;91i)hW*H%KX@(Kn-BBal#C-`[ThH7tXtq6c^BHeAd)lKFV7[ -:(3h\10:-t?,ILb[a%u(f\hSWJYVIb`/3"U7h5=qJKfV?P`ieNPX*;A`jr>Ui.DjC -=mi,#4TpW=^9bEXX^/M]@8o'i&FF_[h;o1AS3^JCl[%r`[L7XEp_B`C%,\=!FToi* -4j]G[/"g,W2I&.p^t@d9S$!!7[fg)of\'_i.5A9..)rR0pdbu(LiF4>"(Ld5*]>%> -Rknr"-Huaok6T8$@k)NG8c#Qe<:&,frch4qlTHVQ@+A3!;:"p'XB+?, -es_JIc;`>`BMN'haRL?Km("R@f"]k\P:8rS91EV9+kbU6OA[t[ZIkaGg=\i0Cn7o? -p=A'SRt#;C*PJtl#34LnQZR+>e[bE\l.qiC7T>\DB9'OU4&?K>&hJm$D&m,e\9i^D -\Edig%:lSZl2-(a^C2-e=1f]H3JT&4)c:]+C*CM\.3X>TW5GOD$r<83=:H -=-NpE![0r[K]Re!N!<+;p5;dGZoJX:n4j#0b4KJW3#F,*C]k[ZO%$7GWnMFD3"_&0 -^*u/0IWZ=?&tAo$XB9Z0gu:e+a:VZ)+UuPHn@@3?#\^n[f(4[e"5:[8D%N8N5Bd\- -h!DOi$pEAo]bifnLm.R_7Go5Mi0k;\AU"VLkWFW^mrrJRr\ -+ticmQh5`6ZAfM&gnDK.0WCSlS!>%774jr+DHRRM7am./MV -r0Z`3:ot@+afJ@]TN6W3!9ESK!N]2<$rB@s))*sCD)>+D9Ul7@h4mO"\il=Bp),*im$tJ#`srMd#SJAg_cm+r@FuH -n(a/2_FcAe$*^F#YH2;0W+&Js?d58Pc(>B$8IIu_$P:JW0[BNVd1"CN%?T0Nd+&U; -gC>pp%T)I$OREZuo+&orhF_6X -/8do]B6":Cl3hA[%IVdY+XdtS-52M2%j:?P$N:Bk6mNu-,k2?hV\"76=L!BmJSW!` -ld?=f1_W/1'*0d"i8j+"YUWDV\>%Re_rC=3Wop$WokmBC+K4Beg?>3hkiaW-7qN+R -Q7I_U0h4XLY,lRS_]09.Dm>K=!rX+$_W1cmh]br@iomZ*L@LqB%Ir]oOmWabo'S7+ -&&@tQY7VJR9ci6fm9p"VJI:oio"ZC#$n*Uo+J:*4I"(5'+ol;l^mK-Q%3Q/s%^G0d -kLtZ,,V9(6#V0kGTYPjrTWSY8Fb9U2mmJf^9"M8H&Hh$B88e*:8d)9]18qMi;"5': -K.$hfN2%_YkgBUtArX*2q(eEVnsq4mT.3a50MIH$Z@s[sZRZZt-uu^GUQV?Iem57. -$1H+:krOuhUs+nG/OY4BO1Qu^[RF#kfM^ZZC*$WchFNEr[.KF$,MTXka -)S0q76Ai5bC>&is.YVn='Ys2N'L!6g65J'?&V1]0EZ,>l5(MXQ.P$%i#>hP#egMY[ -$81lXi6DbI!5.iL'&d45iEd7@Je-9#,r(0DZ&L5cjW)@,)0))knXg^SV])Ke)\KG* -Z+)9Gh'L5[oQ7YKZ=-E@]hC8sM"5+DNcc?n3$V'-.?!O8O")J!I7Bm(m\(Xr_)kEn -,u6f;:R$SET^KI.0Fcsl:lEI,FA*9DF;#fC&g8G2+V54d!Y>A57f^cJ@$9IsegTI! -;hqV&:D4t94Fo$pL1kJ6P\LO;U(D+gm%BnLd4Dbl?m>&*9@VK=F6i>(bW\b`Q#8LHj=u>?/:>0n>UpFm1TDX'ZU[P1A?PQ,m8hq(K/Q -3`De\2?HCf%5B.H!)MlS&+3[Uo.j,915.8SjM4UnY5eU':GXInjUkj1@0.n!dF1ZB -iMIOe;GgI]7ak[DX`6=>CBg'u2bdIGen[1jI5dt8?O?l?KpMnmK4n:f7PGYs1E8o. -M.$#d2tiXjp"*MNT3p.9Bi^Ps;lsRViEO5:4Y<'am@)_Z^=mbA@Q(]3e\>=Sd;8O* -D3idjf%"XRgMSq,DH?(@QL6^#G2CPm"gTI+8-gXp'1MSf&aKfud3@W:X)O?$4k/-C --k>`b$Ej%1'"9>+(G6Nu1(r^HjZqJ\@#BXgn:Y\NL^42HVqNX$H@b"^'Ys07Tct2e -8edt@(Emf7=)JREeq'KiIn00#a&9F-[)S:e*sn%o5o@fgo&`2k(p\!Pfdf@KSV/R":]('g'c -_@@oCJA)#O,k;11JOC1q6UTfU+(3s2JC-jE_0_3^$^%1CPWf]OoF`;pJrr;2PlMU.uuQ5P -H'),R(SQ+5Lq5D[/J=-Ii'9OckD<7,M.AS%K.s;>$p(Rsp"&b"a7""jX)XN9McdTL -/d4t$ciqJ@C_'fi(n$@#c])%q`Ml^AKM.Bsku7"H/@drEsmW4*'/;A@%:PViJ1./G7>P[F.RA%%--3;TXqmerW<-&6'qq -R._:o+ehX>2G_me0P(Yl.5,@88/Xi*!>^5sXS\=47g04G=EA4Z8M6Vh;[6-;"u^U9 -(3s5PI:od-9NdTR.L[0qNsR,MOZ -JR@'g -Y(2M7^k&Zo4=KsH\VtH.@a2*dFp:9oH8/R,fR4LY33`jRYSrdP&Vq]ad's-!Jp=_n!%jGnn9q3Pug[O*Sd_eubCo,Egh2`Xg![jW0OR!)?sr"%:\("Ab7N#ZQ1l -R/Dh8)/5>s1/8"=;U$$rWE`)-7SF@Odg9hg8WPXFaAclHcs2`-'4@JYJ!mW`eSSSN -H(E14M3p;aB5.T0r+*(;bf6aC3 -`dK5jhM`),BP]5<3/6cFIRi=4VrY[,fQiWI,T[;ILjFG'@XW>35pt63DcZV0^9o<5 -.#^!t!oSa]fs3O<\T^d*C[&FIPuiSPD#1F@^.c$/RtjVgI->[#!l*h8USe"NNGb8A -i*b_76p%?AFhi+*@'8K3jgOU2&8kY_Op2>PmY,,OKBr$A)iuEiKs#rhY<^K5!>#tE -Z4W\;:k70Q/.?ml,_k<=GCln#qhW)BfS6:<#"mk>]0m8-JeacBmbktCU:;c`*Uc6l -Ka\RTgV>7ba7*F;o:"*QScnUj"tUh7gO9_*]k>ubMlh5bM*4H$h+ld%>sS^`jP%$k -9PrF36e7fboNt/S7aLNj*X#uQp#@W\s"X3f;t`F/%3-D*]L^9f'M9"gdTm[,>o@%? -AWC"gd/>!3)'d,UBu>Fa0:a965B$=HL%fs:qHRn4`1P9#$cnW')+kKM!K<k5. -:rLRKD!i1rMGOH51>gYW`=1"J?i:,CRqZ3SF(e(fqu-o@"OeUo63,>DZPe9!1`d.M -A[7_cW,""-"GfER&Qh.f0b')[j,kas?8WXV8E(7Qr15JZPtbYrbj0<18pF@2&9$1V(sKYC3(/a;5mO[15_o7VcKm"lBSB_HF[Ig<%N23 -,bE7mS3a87RpEJ5CB.TlPlSm=20Z^i03?oirqCuY@'CJ12AZsY`F8:]S7Xu+OiH.uN -E\rIq8?tpM,tP7Z@g%MEF:AccU1fo@%!'_d/eNbF(/P\Jq-6u9ZO&fe&gW;<6'+Gf -bVG#A8q_"bU')$>F*75FBk.Y9dW&%U4"X2 -;`)R&"]LSKUF6]1M#FWFOZeoa,o=4_UYLM,64]pETiG5^$$ --dU5#cNR[g#BqB -Wo(qiI&e`s[!c:r^\@[kQe7gTl^-f3XhS6!qQ*>:o.9A'nA"_U8)OL?Hr&s`^j"6' -+CT78jY13Z;A;O=@*O<8<2C"dS2#o6*@]?-$4oa"#tQ<\.4$GN_Ej\JL1nnf"j.5^ -fNS`V_*rrPLn[4&jTa\ba;FE>[DQ*Z"\Lc`+HXkmOJ:f4$(3t)7'Mc8dKiPkS5(D" -at43-YnTdj?QnLY0,(jb(uk1!N"ML+PDI:`aB6T;@idWrf>dn";t5@!33L;X#6B_" -qgn:g!D"X?+X?%VHS9D.)Y60WtePa.FF?;4"*3@8;'S!29T:eE`4 -.:j3jP`hV<8srg3-$62Qo!VXn3FsdRMeU30iBJ[7"Ef* -UEFH5;0"3Vo0R.9'P<>,Z4KNaFWR=R\;h,R`d!]%E'(uTPZ@!K9'Kn=#Dq(V`&NJa -e&5+@+[d]2n=:4:A5!:ip`-4&KaJ3M4]"!'NS*/P#iQUF"mQpH"5%r6;rgqU0k!LM -BXSWiAP.`s/eca_g.t?f5m.1:&)1J_$3KmHkA_Y@N9!J[!H+N,*`kZnRI?n;J- -!"nEem:Th/4Y![Y:P(_Y$4O^!ZiI.)W),oPC"sH"'q\>O:e#$t8WSSjO:WicGQl2g -+u\AU=_^lA$)&QN";$.r(b/="WdRR9:k`*ln4j?Kk*uUj_b:.YInNfF1"/D,?:)n- -W6;su9U,=9fMFZ.e>AMZaqtqXcsj<>P0;;s\/)s95mjVs-Nm&]]3YIj8b68,"#_j( -f[)ih(2,FYJIj!CR$&(K&N0l%l5a`':M\.]49Cc4Z<#=*8lm0VgkpIkWGm%k_:URK -JBelrTN&%E!GJ\@1pfSIEjNSsSHXpB&JW\S"\Zk2-Lf7%";miH!oE_ZbNL(PY\+C' -R_f6Oq+Ce$5dUPn!@JRDLsL.:"7D?]:-:CgEHWnPppV)M4CsLlN]2/>_'u^P;V$CS]g,:bul(RF!4IXn]e]#Y0cQ_V9&OP+A6 -k#/%F1?N82nf@p(Cr[V>c=SX^-TpMGnX9""I2JcS3=L-Y#0'5)N\SUaPk(LQF#9Ia=/FDWhPG[e!7DJGHbHjZK:",^Gp9S&[!rhFpsU4<hmK1/q5ZVSM"!ll_](,nZkZ98RXMI2#5F'V-L6FLq#Y -(7KVH9hA99@$+6a?rd_FW&8\$rGBK&O.Z)I(tik_q/'$6#5^jn'`_OVqWogq=pmU3.n;K[";GTY`qc6L8P7jlYW'50Zo+?'AVl'l-o -'<8QnE@@te_]")WJh#24#UgX",ennK)j+d!o&d"uoE4;?'&peDO;o4fmt+(c_,*A4 -?qQ*N8imSi6'@1\6_T1F]GUu?_#Zp9''Ls*hLhiEK+mMt.@ZUU?'aCpPE7GrA%DbA --Tlo:YJ;qB!>Um8'Kt\03K_rJiQ3(7L,_j\_ZV^'itO4I/NKSo_c/5*9K#7C2T(2, -_iZ7/nYlO740gOQJLD-\$&V)C+os)%`"RqJ@u!Ds0gmid`'d&44@Z.4E\bfp`.K_P -6ZOtmFZ/i2TF3JBS4Y^J/B$NF2YaaLdr%S_;FNVH7)AJeHr[N>9#Y:]7-mUdK.dNt -&.3JE`R6cc^o8IJ8$oe&MI^#4,[DPZ>I8H<7LMS@+I"'2,GFZM[)+d05a/SiCWr<]'\A+qnI];d(B_>G/8P#jYeA)C`)j/[eh9a#%rD>^0"!p[W3uY -1M=_sUIL&M,GG-+.re!NF0`_[7?]mR/6>6H;7=tX`ACA`Hq-S877aeEaMa(Z]T1(_ -O%A>maV9iY,`kSSOi]_Ka[DE9<0kX"Qbre5O:48Q+[$PHi;nlr&CDDYS!'Y4PIWNC -J^]k!da]\eCF8D=6]@i]F.4Qh(8jGL3SN\Lqk^pbs+G>cK[ci\/fZo"AYFnWa5Xgnup*s#9.Zn/TX2kBR(/-j/99e\e,5OuJg]WQ*"AH]bPH'3s -^:j"Q&ciFnBGI%pm)!i\KVP8pj8m#'1d?'".Y1N^i@)gbJK-[TQ0\8`O;S`&j\Tn5 -QL^b5^cG#d\AaBCu2I=B\*J(01&fCa\s -"bG;`K%NMD=B1"+?%gjALY-a*fPQJ@m46Zf?npVNP)1KqC2FQgDk1^9&L -f"Jmb._HJu/DR.Fh7P;qY]R2aRY/iB-EGh-5m8(L$B;n+Zif!T]&Xu<$CLu'V&O@s -QdW&=!gc1TjZCEM4%&0F3er@;d$"/mKS0;%qToh:LQ\W%!Kh*BU\g7fql=N]bE@4* -liF8^1VHH"Jg#or.H&Zh:p*YY!G(teOkuE:.8Z!1Q!<$1"NAT88X`1,W@/i%e(lYr -fRnSgg)*_A`W!IPdTf='4LP)+;s->D`Oku[hE%VSPdD#ZhSESa5O_/rYX$W"]rFE> -S3%+r7@>-8:oXmF6b!`e*YO#N&n*s;!>lAV@u>g#]i78r=G;W7Q5P^g?3')FO+&.mfC5Ge$=;f`aS/4#?WLgd/3iO0Zajt1'+ -oMq]><5hg-Pt]fQ1KU*&@nhC%I="tHEoS`M@q:DU**$KKHaA-H=*?R`%=2O6=5uA" -j1qn+EZ_Y-7A0?4`IqJQ(mHj/A-sSo7YXIpTVL(LB*_V5MB4]X946?lEsUiL#uHaq -!2%;$;<842>',3FQ&\-s5OqAV08nM4'-.rkC -OZeljA>*.!Q')9FkCo",2L;W^RO:1eb)n8Ybc<+5XC$>ThPBgAWg\PK$J[(M5eWr? -=gSC7>mb(lq[E1;tU(Q-LigZM4nT*,SR^=rWA$NVp%1Ki5<;/Q4\c0\`3 -V(EG[BQ-c3U>5qmlb@T.]1!I'3'u%Dao_.'ckWFk@a!#Ea'J>o.E(rrSqRiH_GRAn -4tP'oS[g1G-a'['!n+`\EltJ`RtBq%.PXtTfqj:'[5nI"_#rE*g@;bda(UTuBqS7, -@_fWI,2\n'd#A=\*;\NB+IQn$6+*?goE"26<#VAX!clfP<*k2$nd -o8T$YNp!homO%IB-LgIYfFj)#_mg=67McHJ%:Y#VQ,Q%p)(DEd6Xc#An()=Dk3R$Q -O5g^Tj+]V$IQ[*H5ZP]ej1\ae:0jUG"(i$(=*o&@]SCGJ$1O6;A0,(HgH]9C%`Ke$ -@kp?B1gG#Y4n(O&T`[S\fVULN9Q>e]ABu-J:m=HADe8TTjRuVEdO&to?0*K*ANq?h -gK@T?Iq=*N(7Bh[h7*'Qa[,WaW8-Ikh?g)f48+!Y!caVHbP67.f@hW@-u_>_Mo0:5T53Nn ->Ke3eCVE*Xk?W3('^gqsP4H>^gb8i[lS[>!!CP.c`jt-ZQ_^o&NMSl$^F5IKR4(O3 -_pki,Z54S%&=1'KXefhB`V"&oY@=;D8Q3rp6'q;c!J0,>;02hgQY`oF9-U2um&^E@ -T*2QsY0"bb#u)sNpo!%A]-(8%WnDPUJsM6r527-BQrNnkYa]k\'d$&!AYh_OTnKbY -"YA$oHE4,E?p%WR-7;A`WEnLk&SB\8B&C#+T=+aW[sNn=qj4e@!5N$&1%UGbDhdQS -^?UWjlX?P5*]ZE&*qT7V_gFtki[H:GNB_dO7"EmqifotNrqd6HR5-ueqp3Obf?X9@ -c0u3NAZ\jLrs8,G.Q5OsE3C\\cP4?Y?i;!Po(URDk6kg%f6tCHI1HL02-TS6#BI<, -TR/d!&)p,&M]h:*AB,Xt9leh!;eA&T.Ff?5:9@EqS.*I(A5B0S&Y-6n(\ES_=.:T"i>pSco_hkm2.ek"!Go5 -a`9M53mb52^GX66]Uq@0oGjbsQ#]"M0Z&Iu92ZEeiGRi1mTkk1fleC.D;+_)Vfgbg -IF!2rpYHF-h;5\d(_?6:)HXV[JPI6E4e6Ll%eVsA:[H22&,#ue\*j0e'Ert_-31i+ -'M)VQom\Y.#JaF's.=B1JWIY@6!)G;+S6b.E+k,fBM:/>5feXH-5I#g>Vb8gb_@gq -A]#[W7ttP7)5B$#6a<(9U"LJ)j#gsB0qL3kLsR&;/8>V[V\7"67Yd)f)FJ2?'k5*= -L61CG`H\d,iq-K7&BZIl=M#I2*&W\;Xu/]$b8VY$@Z/WeN5mp*%AT/3N=k;,8#Z;, -j0X;sOp3R,!LF1K9I^nkU..],(bq^P-5a[-&3r3F"sCPdJhgdF_FZNgUo]fDn,cG% -=32oK1Zam"U/f@(=Y&TUZ'DW?=A)4s/S2l0QVuOD9::,Zjn-BV'+SBn=bST-,fc#r.SMK>Tbq>Z&%=t`F28Ju0"5o2W!h$^e:)UN"-LBTYo\-&\g"&,=XQ3-lBfi5G -m5YDRiLY,$4m/TXGOsO84UM'NQ]^u+#O)./j8a^l+pJV<0L^f%s$P/[EX_S64=]V1 --3UiF8R`An.DW>]e0&HkU'OKA;'7+%G]T]I?Bue^\0*2EU8CK2;_7!M'A=B&#ZTS4 -L#BVS_jYrb.%F&ZT]8o5pf_K.MO%5m$C6=cNN,Mp7NjJd*Ku:j%"XRnXcR4E681h6 -[(3:^!;f+d>oBCf6FABG/064<>"m/f>p"b?$.Z7G$u/L0.=i&-KA)hoaL+jO:iBdl -Qt!'^1fDuUp`^@gCh+rE,>M9MM7SATNPJcYfV@9b;dAo&@sLj`GulpQSN -@^*]g(Lpj]g"G+P'iTp1&]-LsTj\+0"1nK2JI^[D4(c0-TsA"jjaF>Zg:u09J.p-= -=G7<\'GsIN53t-&0a8m30*:TPBAn2hbKG1aJb;6$HlXsX7`edp.85Zh+O/h@^&_NG -2k]Hf#%j5JRF&:=6%NW),^4K9J1F4M2VbGY31%R@!=mV,/C7@t&ab*H]#\\J-fHLG -7+JhElAQRb-70-3Wq("jl@6GT=MpE?Y6AO>eUjl^BVMS)k+F2M_$t"q!7P2kf -T/Gc$fphSVEQu#$ii)%$P_j2""]%2Ik6$J2ND4)l>b.Rq-ATuP-Uqd*6Nq#u -S:0*bO2-?)UYuoV,]HLUat5KK[#Cg/DrXU-8P:D<$jtM\T2ItG9a:6eR"A4[8SLn$ -6$9'1PM2@/CQ2UGTQH?ZOt%4UQs_\F,VUIj9P6a!N=h!=8/`'_BZ.Tb'K3pl=C-eLO%YL4!#4X;bY914hebi;Mk`.g#q#696*065&?:2j1 --Re'2Vj;A;?-9^5/`o11R<)\Kc2!tlk1o9mF1G3/JLkaq`+3BOeRlW:c+5I;7^i@5n":bm)(3(X((/$'FPGA3bF/6$fD!D)R7E=SpT -6SJNVSGPip_a-_rKlfj-"V60]Ph@%RctoXZ0Nej!1d-Vep"dP_RIX>b\-Im=Ion@l -mkmFkLib>06kXcKSa?;bdt);;ht5#"/B\ -6nNkl('tJ)e>s9%5W\^?LY.M,S_00o@9=U"*1^_GlW^?lAf'JGB>0D3Jm`!q!J7)% -'_6hY@L`r+oIi!c;SK?@c!k%263`)kSo%2P%nO>e.N?_lFCM3AUo;)@+MGP -Lepl"$;<:X5_qAb/iHA4`1uU("(&X$[`3+Q"0?+I/(QY`*"#,@%a3dA!A%U$L^6M> -^CR\b!6bkEb.m9EW))&CKBg9!*X'\>YY*[`$;OaC@LSpp`HX-?h4SFXH['-SfrpnpMoA -H7l*81r)E\j&@mO_G+O=Sn$4]E>7ZcTK)A8l7S>619`p%Y!2nglU1M5m^bYO#,+f1 -_hCbl7">Q_$LWdbW/uNB%mZq*2Fud -f/7J_#u>M;mrS^$GR.)m$u^[k75e)JMYQY'q.0j-YF\O.UAAAIqSQS8"n)7]'$(Tr -2aEm97XY-;c9Wq]rK#b5&)R:T-N"'a%.:hpO7G]3p1M_LAdcchXA3*@nGoC!2.4p, -N#YYd6SCjV!^g40@q,L4@_#lI2P=So"X42eH3^@`@)`bB6rM!oV*O+I/,K0/^gO$/W'hC4n72rckmD"l -4V9C\<,jE9I)PA`"^jq*^e+_3:<;[u")u@1;Lk(?MTF^A8Z*1X^dUj.NCn;l9!kQi --M.Ei\8MTC96@j?[)#D"`CojCD`!+M$*FB;ML0098ROX_[$h*t9'@Xkk/+Bc2CuAa':4GO2=%(!L2MC"H`#3 -+k?SEkZHdYLKJ[bD[A@=p; -ek'EG-30"Frs!J5l^bSLX:1BVW6j9Ns!a -[nguK.rVgGcFE2g`^%]gm3(+R5bu/*YR@:(BhDnM9;M82:(cFj6I.,XT[:&rX9bYU -]&98;_!jo=5qh0iVXFrglB8^9fWYl/?j_QU@.Hm^e>,#/:mU_`-Clprc9l0BE+%+j -`Bul6HE5#9!PkG=-3+gJ1pN`H?k1.q`j%DZ:Gt"A2R@:"1NK^rF=RPp0#0mN#31AG6h#B1p8MuQn\Fd5$6B`D -;Y$nKU,N'=JH55Untj-N#Jb`5?rK2Jmh6ELBp`1%UP?^@i5$r1aK1Fnp1\.@pCk>' -DfBlF\:DnM;2Ar"Lk&E[fRa8O=,BWFM0PSJ\=nbHV2=uEcX9Hr'co2rfaU2%1k7SZ -0R%bS>/bZEL)A0o\C$$*du<>"?EAJeP_2MKhb@R<&sujHA`8BPI82bILH,6Ef`-_0 -"ct0]=Oh%nXYF7l5?2hn@hi!EegTMj0p4h\@eGj/[:rXl2.>/sP?B&1=W*C56]p%2 -OeN9Bfhn"p<8ct>OuY[i[PO+%>?1)HK6/Q?PW>Z#j5MokoTYsR2*Nn\Z&m1S!d9M?W%VDRCOJ`lQFG#i(aNIq9b`c -"^q/MfVoRIkY71B9p>*YPW<*5q%1tWmpas3SonCMQ%,'tg# -Tm@`Q=s9TN,GFr[U:MeJqBr%!/EDhAkU[C,:V@EpuEqUYn -Y,Z/85qZ0'd<$U92Ce0;YC9&aE3M-?6e>F"='[[keteuuG%"s*UgJf,F$c(L"h/ia -f7,e,n@Zj=\Vnfr\92_dZG\<7/&=>4U`^arORVI@sKc=`[ -N;JT^"f)7\^^r%$$ggX_EMH\k-aiHmi -h]I7Zh-$dbEY4_q$^qsIO**lu/T&k)T9XFD)*FO]c3]bm(53a+'th$*Z9QM0X48dT -eJUL"F[UX=!/2h%i66tsgkEfiES#V]f=c7WrH[$9IFp]>fR8b3?'3dQP>ZL\83fLa -C_HkX?YN\M;[,M1hMYLM%tLFJh@#$29]327cMIok[ma?+ -n$_&$CFV9DAmPXlCBb,Kdbc^Z*NokNED&n2e.BRk"B"ITm&Kn\'?'[($$CoFG=DpP -!@AOfFKt9e8jsF""+[pol=/o+!gE1=RZ=&T(^k+'n*an*Ta#/^98*(;4#`sEHTjun -g?t=nWYZAGf%:7hs*MqR?Ph\"pMIXVH+p`GESHsJ@!]?7Is8\3]I"n*8d`>C6#cn` -W`%8I*oX^"*C61&6.cK1(n3i\n)iBC^_AIuRa+,rr*o#-nCsmLi1](`^_2BAFtcb- -l@`[>=-$09k0:G^+K$K4jQFpg(<(s&](^L\g&4S3qaq]/iHTGEQ:F!!/J1A^oa?Ral;d?&V\6Z!'iHVe(KP -WKc-'IPGH"eQI)#CGhL)]//mb$e=X>ID%H(e$`gh#B?eL0c55DIg_7T@Bp`?L,0p2 -_I`4^S/qnqQFQ&JqAaWac'#SJ1-&W@VcfqC9D$rONg!g#]5?6Q4kB'X8BZt>[nR>;1rR$7^9mG*CfSSEumjAoRe4+EWh4B -8?tXE,tQHpP:"ClFJC6VEdXo:6(mSM&-O-V8M:5j85L+V_.[R%#'2WK1X.^df/(Y0 -Pi4V,F,]?DcEkIX4\jJ%gGK1Vh"*^+<$_W29f*:m6.&X`(Iq>rOCT2_!JJH.KqVmi -1C9<(a%m2q!<,1n`'$^\OT[qr1^rA7O-.7d>K -`+^,J%:`M),`*].GTI)UaDr6RFPrNIg>r4<;d3bf\gQ7kV8=?[@Vs:mMdr%#7,;DH -g-H8q#g+n2Q"Z7'Lm=?]I0_#&N["hHFoj0$U8Xq<$:7jZ-!rtMF_Cu#TNDs5G^s@D -M:OrA5\"=G3^XIs.252_,`*^9',a6E:CpTUj>'`P4e*P@6&8>NK]3H\0apDU$XMS! -5kmMR@sHih$_ljp,O'9BA/b`hW5('EpK8,*PU-K06g1:aYUg.SE0)&p!Ph\h@UWAE -[8LFf+;sGFW,ZO-!Vh.ji8U$a10^O,-,3tY:s:^(\);cOeeO!>`9F"pW%&;.^.LqX -R-u.YeRLf^.VBq.a;/jHW*MFg1mhWD=pREB -/PG(h?\(0uU"=MDMkem/9+n&&6pD)$LNf.J^7]\_%eTi\9bTq*/5$GIB\D534?-F" -g*+cH1@N/DBD6?_i5<)0o/LA;L"e:YdKUJ;F+sk;Cpud\gClo>!t%"!ecc&;JV!(k -1U+g56?#;!5i&@c5[*ANO>'OnF[s:0+UB5*+,#`1'#HKpkhQW^9E:e&_Xt_S+`^uo -TTg&in3@6Zcl3($?6:IaIZkDc*<]4SRt>8_$CajDK5dP46?o11R@l6Tb/>"rBWqbO -cl>\,bR=N61Df'[?iuOU&:u#k$0&jYM/bF%`;$/K,F!,,OiBH&3:.bs`-[O04pqHh -G-i3]5(\=hHiu?n&X@$"@3HmCWQ"cIRij[a!2L,+n37]hl3<';M8cGB;")4G2?Rrb -0hQ],&7ng+Q&/[Fb.1e/AV@CTo%$r:Bk]0\M8P[CoTpPcHr<_4a!p$olqCQ>FbW3+ --5,h.PZaSM9mOQ%LH9%2K%sGN'[e:jr4pMh,'6Htd5Y[NE"Wd7F\]<_3sAaQR.I(- -k!\g4PLb(VH1#g04Net%)K6]0c;:AU:Dji$O3^1"ArImg0P9P(N7";)$g>tVFB46b -K)fq*;5,lOGg@5L3c(c-^EBDBNgYb>8k*@lUpQ_R;YiO=$3@Ij#0r]91F.'V\ZMb6 -/EDd?JP^(j'<%03M3kOAE![6>-M9-39mNCE$=(`E[/+O%A"PXe0k6kf4Nu31KhrQ[ -:RZQ,m=fY81X];g<4GlKeT\3>k.XpnrEsF.K%%RI"mN.<+00MhlmO/9!.5;C -lY^q:-5N^;CsiCF*=u"_9Sg=md"C':%P7BA14_,/n;r\Ci]&sWG.\RN:&nnAST0;U -G0a=fVnl)K!D&Mi`G]-e@q#>#$$Ai`K=fbEX2l]C!2/j,:aV(EW#%K[@ai0"rP'KI -+YUh&&JeJ?J,sZq#H,-ZKSED76)ZW]GC^B3>'.HO@8VgGPU@K2`""9L/]dFKZU*WC -F:!rS\lVYl(4\@OC`2^HbeEFs2H(4t<&CVP_PJ8.QZ4t`$V5FN'O'M8&\(A3Ls7*& -6S!9ab=ikW&9.:`]@hOV7m"FCbkYU,d="fqpBs(p,/Y?]J$7E"V@ZMl*A+D=Th5Op -QkV(TGd#_&lrOP[Os`#0=4ikg- --/D0hForbS]Jr[ph>B'_E8DbUe:VcGdL7?RGoF4[A`F+-3%=2ZXbsumF^K\'hLbOJ -#c+sPZ=il+ao2kmAJCr)g\[I0%EE")cTBpPl^m^nIF*9F6U"G@UNCsId>D2J2q4Y\ -*Jp"_3_r]>SQ;]>!ZjflAIL@akhgM#\(/),A*fbQWRWf-158B7m?I=9G5g7OH^AgA -S_(H<)2^lk%qb+?BOm'Yh;&A:9eussAf\Vuib7-p1c9lX%::8I7Zi$VPcMuQF*gEV -GFGBCLUYaI60A*cU[oONds98:kIh+Mjf- -+n0ps_t]i2T[Ae75)?aXTAB,%I.EM#Wpt^#+&q&:NqHF6a3Z@nW+6p$Dad-_fDM8, -fQ8`qqL;$$kb#3SIc',]s-N0QT?$g.5OJH"a8>l9p\d>Jr]g;]5R[]Z"9Un/"-Bh1 -JK+kF_U(Poc+nqZ^mk]rX9b$eLHs%=X\#rAnP#2#:6bQN"7l+%pd6Yn6\@D8/^P`E -iA1M.\cMRQ!a$bT0K1'Sk8$$7Z+)1q8dlYJl+s#=Q,l!&BMTa);R1VRP_^26ZMagg -ItBDg).5`s0L;+8bVMX&34L0*THPogJc_q8!s-sSab9dfl7HcO1r5O]90\)4OY[<9 -"=Q2p])aN43$"A[_qP:s;5"*Q3eM2VQeCr?.8L$Z#8KKl)rhSM9,',^8V2M3`!K`Q -)3':M;1n'p"2I"7:bt*$=ooZlYHeHb*(^3Z;o+hI_VoKd!PC+r3M0aR0pk$;\1KI= -QpQX[JnR$IWS"Nc.NHB4Q'`_a(`X6p9-#NAX]Q>Z3^8p4,Xnpq7[QB.&4]4%$3Y`O -"2$A-gA<-eItB1SSq&K6Qo2*H8-EEVZ"i57E#b2M)76Z(!RjbqZ0`Ukmk64gUoGpe -.j5!'J2Kti7^tqjLc>Kh3eEcGJb4[=X*L6dPEauO`IrSl=B,N$<\TV9Kj[qO\2ont -Z*^kS``hT91Np9m%7rqsa]t)E_BjanRj0m(\-b!Aj91XXJ%,4GXI;j/\k@SU9M,@+ -8dqFd*2?+?Ue326aulCLZ7?qHPfem2*=;YZ?kLOlX@ca"8gBVDl:a,*&Y)On8S"el -CpM5HZ:dlt,)J._Rj3LfBL/"38e7Gl-Pn5.JiWHF.NAHkI/rl)O4:qR\.YA9 -A.&Nj)[*;:p -9jH7DCtDC/fM.=X$=]m4bg-W8W/f68^8PZQbgSW^cHZjW:)[OHWiAe:fKGbccM?^djU05bbtqo+[-K++lqXYKcFiO>m+>&p[Ab(+#$AH!42fH,`B7=d^!LGIKCLDs -]o0hc:HFb(44-j2r!aY-:2&5)]=*a8ANU]mapX];$@L<\ -'\/(0)bm-d$7siD@-Pt-*iDP=blGAS`?PS3gV-3h9hXUSr?,!cf*K6)-nPd\;N+I< -Cf8M0/\j0dbfe5,0N.j(;Y;eD%5QBQ1K.");dD3.D)G772H,#a;iNh:Kf`5(427!` -^hJY@U^PZE5X;_B^q@$I>sf<8eNi]VXaC]_ZLn=d3O@426"8[m\YoP&AqA_i76;7' -4;aV?+-`QD_5&7Xm8Fc3;B<'JZ2pi=H0PIaefI@EKYU66]Jp$n&d.GT6+Ah=5W+g' -1de3#0pk%TrF8/;WIj^fQsm5a?L%eY#Qfg'8Y;AJK&a!n$MD`"El:5T&]N -R.s"acmP1erKk;D)q6md<(7c\U]TeJ2/t@V9JWre9nU8g"<^1@J3]LWO+X5e"&*E] -@A8C"FG#j2`TT0$:b8(-(*oZnu -_0Q!JGT+VmHH3Wn*s@"fWA#8F'Us5^QZtca\58f/EMQM#h-8eaks. -"h,U>;6JH-ee,-U@C@<5Fd/-0b>gm`mCkK*5oi!%Tr8Tta:KXKRo@-?8^!Ta&flMN -9d7pqg`R:K[E?UFb?W<9>i!TYmEJo/cI3HBc7ah$)A7rRY<-S)'(W -*(i,RS^UlX^YM'/?,bWaGr4$]eH+)caHX4ecm'@L6*C%U'EB$m#So>^&gZ#G&2Hsb -1(%ln -VnL%YL0c2fh!tiDp4eL^#+OMtJA"`J)hrZqc[)6[LqHM>W"-&/$Jl!nK[tt0-4*Aq -MY-9`oc:bWl9=cM$K_>Eg[>U@gYq_!.)b!MI-Cq+Ko4/Fj<1R3m-#gihdQI7;Um>H -jmh4d;rpaEj]5>l?<:]U=Cl)IAU[eDN`p#.>@l)`jka6Rk$8RQ4b4RX;uK!o/n/EU -6*02'h;Z`09)-n@&?Udc<-d1b1a[gU/=T:JXT.J8>!HAeHud&$mAV&;d4rU -(AUQHU#26'G/<:5"Hek#RD0L+8fh,B+CdSl@J2C,lpf3$2BXNT^aLjL/?OVYehB=o -Qq->D8OtNp76.k599Fgr6cGm+K_]fB0L&Um+XBXq"#Y7e7(kBgK]#RXgB\j.8nqf:>4>JV -WV/+GMJ7Sj_XZK6G.t,MW#.P]8$bt2c)MMTX'D\8RpjQ2g$`a+I:p>f1AtT"`H=#B -`1/=05rQd(]'Ms2bW..2'Z=Qef$cX=hX+'MAm.7(VQ9fDZn/WRAbd$F@PPF/n,V)M -8fN>Q"$pf'XR6?1mKVY<(?03qitSP*=`2dW;*jSmYAPuWDFWmY:?q8]jdU(MmV_H0 -B'4(2mZ]"j\=aqIb!aiD\q3gHU^.s2)=jUE_P,2hgdJu?B^fl]aoLK,,k83Ie<^lg -_JPlOE#r?T0%t7l"2Bj%n6;Zb:u,WMMMp-AjJZV64o/Xl.aXdsE8M.Ejt]aB%.Oi> -4gVA#)J^`,Lu9su9aGA>i4dW1X(1T&EM".2*XRkH$t;^IEQd&t]`Cq>13*=;EXs@7 -#:"72,P!K5EaL"PP+#g(Wo8lS@NQX#P(ooQ1anU^]Tj3]35':'.UnD_Etd)5:('2< -G@\".:,B83:GLjp+q=.VM!ZU3Y<-gS#KN*'#AtGChTBMIp1/=,XYT$,-O-n]_[7l0/AUaE2O[2:e -7*J$T1#J^3X[t/4!K2T=Y-5,#99d9lkdrqOB876P#&8*J`lghca^=C[GQ\I_(`4aZ -1>a4k2O'+C65>'XdE2S3J-,q/!V5)pD9ACVi#-Z-_P,Vi9PoD*:IR9u'[Rcb;Yk,[ -I@QO))tg?dCa[rQe&rg%DYJ2M>!/%UJY^lO;a/q\'V5C'gA5?i`&r9?E[M5cRY;R -2&aGL[TdV"qh<&OF1PXn;)hNaD_.Q-Y.0`-2^6rZPp9Z$(A0R?dl)Jcp --]X'8O>kGL@,Efc69>K;.Z83\^e/B<"1tM<5bTJ54AOcZnWXUW-&C>7O0A#gW?RfE -4HMA@5fbbk8Wn1b-d#>GW@1BeS?FEc'&9lIb;0"+0MBk'aYD#g'[\\\1Ha2Gc'*P, -36fp:iAo34XRS>I;nViec]e;*5gQeX!CBU^/J1@t<&GO]dBm1"8CA3C+%js\[4+bt -<6[Es;q0Vf:=L"!78hVm4\8UPeP01He^[Z.?@!E]I@Si45MZUDlN!mNWatesOB\56Qg:k,#lP\i222iIkTsBIN4qo%D -i])q'MAV_cM[Q9s`O_!Q#bi^RiV7dB?ibdnCZE7Vc6!APGapGI"+]5eihGY!aG,)6 -PTAdn@(XYBU@t61k5pI%[G`:jWYoB7rrKq"+l4%^$XJ#&1CV0%Fg$f$f5]U3?'*8_ -Mh9la.>h>;N#`-Hc3bSc&PTS=VG=hp`g$]dh5]g1'e6\'+c0G4H&QPeag_dIIM -H(0L!M@fn/j9K)G^p#.p[$V+Q?f8jF2K5Va6UTUO6'N``ODP?@814W-JWVMY1uA?' -:'mUOn--8g(fF1CJ]q-?^Q=3?J]iNGnJiZ>ON/!P1eeSP4@I.##8G(?<=7\e.lgX" -b9'@T?YedW7MrrYir!AH;4970Gh!^BA8#:&SRmCL3!V_4(]tmm4%G+pYp877O"pVq -a-buo5n&I-.kX4\R1U%I0IVXu4;>)E%LaReDN_;32T^e--=l2,PL=2B8_HHYjV4PU -P+GOnR8#0-7&sLaj;\8H64]Pn7@'V_$,Jl\/D0/H>;)i6Z4Kh=5q!u]'-9H9M#eZp -@VV!4J.R;48MoQTeXF:0&V;,f#Jg*Q"(6"1X>PViB-cN-du&6B=joCo<:-6?^3.a9 -pj"6_oq'XfnXRMrD3?/8OHLAH%l"DOLd:Zt@UP5B@L*iBplM4L7Ulj!-:J'f -+-L/(N_V$M8$m`,:uZAP8dZXa#;Hf/;OB`WGgAV8@.0G&n:Ts4*>o,^Z4Q;5L+0+X -+U9cm:Psj&l6SciW'5j`PMD7[,u$0#=R@(hUiZN -b&&^p#RK+V3a+>#r=_7-I]M'6#`PcXFfs9O]N8j"F:61rX0k:0*_O&5,_X9g8j7C8=et8Pe:V3^ammTJQpRLa@^F7_#>L;D`GDdLJFY -B`HN0:J;%ZN^Hg0Q;ZIZ1WjQOU4h*j&>GCecbRo:G95b9MUuTZZ7InHdcasMCjltI -#"DU/!*kGGG4)1,-7%CMd0%fjL/LAg1\E"=Pa=K[FRm,3^@ttRgO/IDoY+DXr*OgD -IBVc.^UNY2?lT2tn,$@b:3`c@l*$1g\/k8NMLHh=%_iY5n1a'5p@L]d00RYUP)S]NGOeJOE#oi]5K=2!m -@='/C0PU5jLklUO9>o*/=rM"7D$TSJ.g5/kL'.aW)$EGM&\NKVEY.EThX5N2mirEZ -[KVUEQRq7Na-ZAIo,JNVK:-`B$n:U_+Ci(="7aEHZPHfiqA^K-RpCP.c=>;uLJ?o: -5GiQ5S^_t`;sN13XE@Z.dQuH9#e@i)KW0(tZrX&0)DVf)/4KuD-m\!)/"TG[E1-4B -)oIgK3d71gh=0#Vn(:RRiGSbTr"k(V4s.Wl],0K)B8mb7kbZVDMa,4(Z_0Z*UX3O< -KTX+N\("[V='C'-8M?\-e8Nf:`(isR+au8TW+Of5H"9`?H)HHGc6@1$Ft'hS[a[t! -%+7dc%XDicrbW*A,\'229dVAjpY6pl]gmN_Hh$!#lq_CX6uB>PX`sc5A,2YYXchl8h7` -]IYQEq_0(r8rfh8`^>Y2[,IDO%jW'O2Bu#q3J1)6.n$a;W]-q^"A2uD%l-H:L-Pk' -5*.`AC6&OUbdkQc\g-E-UM(cCPUZ&Pq4\QKW`o\nUq,u4)N\hpcpTe8TV&HW8?8E_ -CIn#sX<[&9$'9oJd%!#;A2/[(8$FBf.[V)aLe,_;)[Lc[%h.t^f*tR2%5?ZKOPpYq -isq16%aa;J&F0i\mgi7l&!6f%EF1^8r8`Jdd8YsT3;7hbDb>)osra5kB4?=8RQId(;Gl!O`$#%jrUDs`)$ -B@?$8aNX"rgW!!%Am!-pN!Bfb>n$E1NX0=BCh8-!Oq%d87AsocFED-?#OUHjN>-K3 -=Cc+_Qq8XQ%K_HHb(Xgu']l?,%*'7j#i';!d7fL&+C9]%N!Ah;cctU+D8pU-d)M'Z -@"qF%1'5B`:<:IVInha)%#Ar%!X>phQq;uLAdWf17YRL3GpUgnN4Nu215:p!b",q- -D5mc<2%n"\m1JDeB9L2IKTZWh*h[?-/@pZ\JB+=8+_@g*Z2hg`6I1ctap9jB#)6N% -N7n`6bib."!)V[W_!"IjA7ki#::V,KN65$r`(he,JCQ/F4qXJ//&:g/#C$TQIaC?> -*h[C^N21S.;!RW(lS@2ZkK_9O5+(d)",o))C^0'?jR+I_O(=j":@=3b#*+NE"DP0) -'%\`Kh_C;M1"-pno,BFu-SeUN1,C-g"g6%Ngj.hPHqiPH9O*RU2'T$("@\90N'/k2 -3:F*_&Q;sn&JI&Y?T(hu2N/j^'6?*!i:6o<"&C?@@?dZ#](QKR[qhA5MghS-U9^h? -\!)oM@\#LE]_E.tV3@GKUJUcE%&jc!oWt:%l<:e1L8X#`U(;f90RPtJ)Yjn)p+qgl -O(g_VDYb$\o@)VTmnGp+I^&;[pp500'ETkj#UY.95gPVdccl;@_a'qc3E.(e!b`kJ -f)3kd1[;FHl5;nq'M&bM3og4L_dra6jZ2d/rm24V1ak=NfHRLR5X[7ee.4jPB1>j9 -6-:8KZirrlLcigt6R1h?lp*p67KJT-n4Xs$QO+4E9[Il",,QUE-oBug8FW/Un?GZod'Qcn)Kao0Yb3+2 ->4^`G]+g:30V8^f"&853$<)QblQ8Ko(qd\Y8E$mQ'dA=(d5LT/;U]J\od`rU2cE^< -;`-d+DTn1k8"_k*S`Pc$s_'gW3 -"m*'1KsCnprfV)V`ssB8%A_(mq'Y*,h\#eM<\f;*LmBG@)JFrT#O`H!,\:QneOEeT -N07bkd,&bUGg-.Bft7\0.F/fAG,_$m1gCk3d#U4>*]V.i*.Xq -SqG;#fBBedEaL-ZcjNYO\]/!jp,r7WauK(a?-7d7%"d6F\YJ.gpr$ -%^l'FI3_9>oSX#/kk!k,72RTUC*,mOFb&+'L!&]WfEm:!l9)q2VWs=3iJt>)QMq8c -8F)p6YCcDr`#:=bH"*C-047!YWZ[P/YF'F+'X^K]\0+b`q@oKH<7(r/FZC:-$Y#`T -_C^ZHUJRY`#r$P5/!k_6UP)V-)K9gpJsJmp@&:(bNT4^OJXj%*"c1NLM&>:u<.RVm -1JqYA;7.KD2'GkAH'+G;Ok4T8q&>J7-^%U_OuY1YR5'lX1R"4cPM%gX)*='C57Z-E -2)c3Ojc>ZU[_p(F8b1`;0eQF -.bD-oQP%LI=b9pj^Rb2K?9+LGG+5+(R@?HTeC!k-e_XK8:MH)^S9#BJfsd:#rdO5m -KB<8=RIQYB9\Z!,S8?HYNJn -WA^bfZ2Y[M7[gdgPa_W:HNTL:#I#-Q;OD+%$AWjNAtQD[\)_*mE*\M![3/m'_;P4>E.B1:2k97q"bm_:n[H7"#S=1>8TPn)gGe^Nd'$%R(aHu -oI#`'">oM)j5d_SUI6S;7/L:L(sj0.dBS@_[o`PQb%%\GA -V^k$^&A9+uh'*IT+qan-.nqSHVb!N30&%-[>U'B=)n4T5ZP<*^qjH7t -"l8.4:QVQ,+dbN"&fU`G`Om,rKSrD!'9'Q`9`>)3S.`CIX@&^da*5Q.^(!i)pcbJ? -iDZ8OhQlkh_6^*f9,\,UM<980O3a)n8"7_E*<=+OctEgF&"7 -mef8\]._7t+t^S/D=!k;2d?V5=F7k'5u7[N:EJE\TrP[2>CiMGZ90Z`'X#WCI# -2LIb-!_Wr`S&J\&7U.n@S!sLhUOBtD_jjq'4.r8-5-s49Lm4Unl2s8AgUVR8NpC5` -DimF.j,6)qIA3%)fFd;7%R/PZ;B21]?Xqk5A__cNp7H9sIrk>@FnZu%pYU>m+*mWg -J,!a.066H[aUo][>*ql%q;7fb(%u#Tn]j@uc>6A2'.`q8Z.WKiMqnX8hn/elR#Sc` -hQ3+!3T>'r5[n-,COl$U!+)qiUL$7=t(8I7U]d=J@nu8'oBlg@2te%.1M%7JUkgR>q_TMK0e1pJ3kCl -:;h`eh"l@^ThoEe$3]p^8Yo>'Jmg'l<[nfA`PUio@^0":7k6I>h0-VAYue#m)_I)p -Bs_(1p=iTYfl+E+DO1a=cF>tWNl\"_))hOf,a(^-dKoo&4hV=q"*(CLlX1T#Kd)XI -j?a`QAqO71p2<6fd-(%)>pc16WRGUi)SL='@BA-tp3RgWhefpXme7[Ff(Xa1iGZ5r -*\S%`alIL;r8(L:REt,>HCYPT:Tr=8G5GS$$Q$Y[>9+W$4?!8.0\d"H_lu6H -#t4;W/o!mr"D7kRdZ`i=_/R&6$cB1gK*O`*m%G=e`cN42_m5]"%`jaeN;^jq7&jnB -na(B+_@Z'cA'ZfUpHDBZo`%0Q0.DlI:F81-!#]_NR0(.//K%&DYh>9a^iVF;9MgI$ -%5#:@9g);j'`CHse9*WA<)f,_:K>q&APGt95Xn0O9i'9g[fFZkll?@%&=_uH -_/Gjm7p.[&QUf`;j]E\\XE4c\l_JpPS'?5$>G881Zac@d8 -K0\'G%OT!^;@eE]#/uAGDdJ!<*Hu#IG($i2gigBWDr#WN -i+C(*/&-`TGCDK!id!^0QFnahhj*@#*g`;ZqECg[L3_u$"rOXSLV/4niNR,*,NFi>bNonTP;^R!)3\i#V-(^ndpDo7gWT<-\RSTr^&q=$K6(YL(LX.5k%nU -T*,INn1#Eq\8`$fe38YLrZOZHM%Cjc'aN[l*sAg6&q[Vp$Ge^;(Z:#XN+%]nAj.?N -j!nW^bE6f42D@T[`>N.oB8htI1Idbb)WPpS"&"e;7l]^Wcl-1Ra5Hn<`],`8)Ob(" -fo;k.b`riV$"^)e%4JRZLX?2+)TYbXZiqAOc^INkj'k_;,SM=:ZTqnGeK,s2+LW#b -ZsKLZ#9_S;1JqD&7Ru!RTQt6')&Uao%.*enoDXUcM[2\/UKSeK+h -:H@Z&B=.E)Z\;,P<=:cc13oH@$@"<,P/Tn32];s-';)f>Zm]t@U'i\dX]d-\f!59[ -;mpmI\iE8oo%mWm)FLS\Ur)8]d$:S&:F;k9a63BE?KgKuU\"K";p;ll;M8aU#pauJ -$6;J(6:``JLjiEO(M>2AN==9CFt]_'q.\0 -R(=0Oop6mlSkNaD18L_a>0'8Paf=P_+/!8+Z,40*\DLXDeU=Y:rkV\%$".R$K.J\o6D@V6gO+pCbgeIh+Jp[)B1 -H]SQk5W`[rmBd"PE?67W=+9M1/\/A,ro%(^M/[>a_g&@.m?p%>lX/"$\cH"!#>;!@ -DQo#1!T6%pE69%c+B/]!9Hf'CK`_?Y;0?h4h1K2ZHNBu2\(;\s>\iSE#e2Q5m\CN- -#;"uPh>b7NYRQ1N:/jMZZ+bG:"Q6oXK.p=8_AGKD@-f(:VCW$A6`* -Ld*boRN]TFd25kf;2WXu+7p^]jO-1]nt)l2"E>j0S>AK]BmNfO4cs0qAm -IV&_o)7)+H,1Im5l#ON\]uS(]5] -BfP3F7U6Fr'Ia1-`KZqNM3Cr- -%Sb;-C/3gBe=LFJ?`:k/Y`-6hTCmVHXa((d8OXuC&5H9/[GMj3$tm=6pA*L"0\IeV]GkC;s?7I^I^X:>Wb3f9%R,m?LM@"Ld<#M>(A@T^9TGfLcorb%49 -Y;,2;pRO?+X3iATE&1=fZ,_JO+>Mq91^8?/8kHmQ<1J-GlR$[@):l&Am)CfdXI75p -kl^&sO-^'*?H`deHHB$Pla'Qu70=2Gm<[IO-te9M$O[J&LLtb&#u3Z -8tS$:Aj*qEX%V`AJTmKV0TZSG,]]hAb%eB>jYl@aWk93.$'MTEAhidbP`ZoQ.@6HA -r4c*s[G*#GZQlFoGU;%7V]h\$$<32sHn1t?4QJ91r%gJ=1db4u_dkUACc0+P35^D0 -_gFM_PWM7.42]Q1_rNpIoKB:NNhFIZ!9)1mkRa9V6le#l`+2>pGS6\FmQ%(7\TuoA -$OXhGho*.B47#_\jA3_KQ7c+/%%EoGo<"YSWW@,k]RV7/3$XA1,)eK(3j9S4CSHBR -mlK.j7$Ff-CgVagT>_477MrM*@K.JiPf?VmT_[-LgUfp+BZ;<3`<9pFP\S4V9oNI! -U/2o7+gr"8Xd>6 -=-03Y&<`h[:hdY;'XLtI]gGr/i+9`nUCtrKVd&\P4*H\MZRI/P&PSA)6$GPM4\+"q -US;oZr1h()4A$lqZ*XS[Q8Htn-u!6A>Q_c@"Me3,^hSj$A?X/W5!YT=.m$iD -]SK.ZHba\b^mosA0`/RW7DTnJ6"6Cn5\UdN9/:S<,N;M,X8im$+r%!N[T\k!PAMe> -+f7;B^au*-r$9-a[knJ+'LA1[*_.T%b$B4.E'%]/L`Wd'Z$MH63P6N -<%>ZKjf-bmti=ZJNWJK.K54!)i1Tg:MkF(@e`]hE7V^Nf@>?%'n9NEoem2fg[>NVUMAr*I]bLt!0PWbQ%R;O"d.r6m,pH2* -BJNPAdA9Q:(hc71A'o+M^&VtHKc*'+'L"r*,c)MZ]cIBS+%\mD.SV(P.6#[:le+?G -eB&KSE;Z&n.+@Q5;oGVhEB+5kFce5/dcH]XI4s77YhKnt[$Wml^.^BI3O4\EQ< -Ped6pR)Mf)HlU!<:Wo,:YG3 -T;@Iue_=BKN8;b5h::BHl`(mU"Fq?_.&NQ2BI8 -r*QjOcfcC#eGn/q!J3.IcnHP<5fQW!aj=P?hGrUoD<0Vu#iLDr$)S&[d#nDh]n+l6 -JpQnfTI""H+5mo'*9Kq]O31?rYM;R/)]K.iLhG)*ZK]%-=PI8@;ZVX -;Wn/>Wf"5!3]J?F:*YA9,+noR+R?Fl,Ion2$j$\b!iRT$2CjBAoAD;DcPb4cd#t'f -U4KCIJj(F&.sI)%Y4$YNGAN% -`J9#9&HVkL+#k\0YUqJh.q=kb$m$L$G"(Ae,31f_!J1X9IUD#pgFqh!jU_q';Y/p^ -*=NK)k$&5q"DuIp_7Ue9n%k0>=qkS[h4=Ft^9iJnY)-=."_%cF;Q -AhGFi&b:Lu,2hrAB;AYh=:o2aiaq$ekN6hqO=o_s^]JCaibi(4IMh#8=Q(rqJS#=' -^_%!p0*-NYi`ZV= -grestore -showpage -%%PageTrailer -pdfEndPage -%%Trailer -end -%%DocumentSuppliedResources: -%%+ font LiberationSans -%%EOF diff --git a/src/kaleido/tests/test_py/baselines/plotly/mapbox.jpeg b/src/kaleido/tests/test_py/baselines/plotly/mapbox.jpeg deleted file mode 100644 index 7bea5e639e1e6e8ecdadfaa2d7604c89f90ed6f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70123 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%0APRGgBIe}LDfCAP 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%0AdW%1w%uU0JxKIJBcEY^ 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 z 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 E7v0@*LI3~& diff --git a/src/kaleido/tests/test_py/baselines/plotly/mapbox.png b/src/kaleido/tests/test_py/baselines/plotly/mapbox.png deleted file mode 100644 index 6f3249c3cc5695fe43ebd215c469cb72bb5abec4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143047 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�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© Mapbox © OpenStreetMap \ No newline at end of file diff --git a/src/kaleido/tests/test_py/baselines/plotly/mapbox.webp b/src/kaleido/tests/test_py/baselines/plotly/mapbox.webp deleted file mode 100644 index d05b5848f515666b26a568f0ac98d89f9d900987..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29676 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/mathjax.eps b/src/kaleido/tests/test_py/baselines/plotly/mathjax.eps deleted file mode 100644 index 2e5799b6..00000000 --- a/src/kaleido/tests/test_py/baselines/plotly/mathjax.eps +++ /dev/null @@ -1,1462 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%Produced by poppler pdftops version: 0.80.0 (http://poppler.freedesktop.org) -%%Creator: Chromium -%%LanguageLevel: 2 -%%DocumentSuppliedResources: (atend) -%%BoundingBox: 0 0 526 376 -%%HiResBoundingBox: 0 0 525.12 375.12 -%%DocumentSuppliedResources: (atend) -%%EndComments -%%BeginProlog -%%BeginResource: procset xpdf 3.00 0 -%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC -/xpdf 75 dict def xpdf begin -% PDF special state -/pdfDictSize 15 def -/pdfSetup { - /setpagedevice where { - pop 2 dict begin - /Policies 1 dict dup begin /PageSize 6 def end def - { /Duplex true def } if - currentdict end setpagedevice - } { - pop - } ifelse -} def -/pdfSetupPaper { - % Change paper size, but only if different from previous paper size otherwise - % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size - % so we use the same when checking if the size changes. - /setpagedevice where { - pop currentpagedevice - /PageSize known { - 2 copy - currentpagedevice /PageSize get aload pop - exch 4 1 roll - sub abs 5 gt - 3 1 roll - sub abs 5 gt - or - } { - true - } ifelse - { - 2 array astore - 2 dict begin - /PageSize exch def - /ImagingBBox null def - currentdict end - setpagedevice - } { - pop pop - } ifelse - } { - pop - } ifelse -} def -/pdfStartPage { - pdfDictSize dict begin - /pdfFillCS [] def - /pdfFillXform {} def - /pdfStrokeCS [] def - /pdfStrokeXform {} def - /pdfFill [0] def - /pdfStroke [0] def - /pdfFillOP false def - /pdfStrokeOP false def - /pdfLastFill false def - /pdfLastStroke false def - /pdfTextMat [1 0 0 1 0 0] def - /pdfFontSize 0 def - /pdfCharSpacing 0 def - /pdfTextRender 0 def - /pdfPatternCS false def - /pdfTextRise 0 def - /pdfWordSpacing 0 def - /pdfHorizScaling 1 def - /pdfTextClipPath [] def -} def -/pdfEndPage { end } def -% PDF color state -/cs { /pdfFillXform exch def dup /pdfFillCS exch def - setcolorspace } def -/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def - setcolorspace } def -/sc { pdfLastFill not { pdfFillCS setcolorspace } if - dup /pdfFill exch def aload pop pdfFillXform setcolor - /pdfLastFill true def /pdfLastStroke false def } def -/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if - dup /pdfStroke exch def aload pop pdfStrokeXform setcolor - /pdfLastStroke true def /pdfLastFill false def } def -/op { /pdfFillOP exch def - pdfLastFill { pdfFillOP setoverprint } if } def -/OP { /pdfStrokeOP exch def - pdfLastStroke { pdfStrokeOP setoverprint } if } def -/fCol { - pdfLastFill not { - pdfFillCS setcolorspace - pdfFill aload pop pdfFillXform setcolor - pdfFillOP setoverprint - /pdfLastFill true def /pdfLastStroke false def - } if -} def -/sCol { - pdfLastStroke not { - pdfStrokeCS setcolorspace - pdfStroke aload pop pdfStrokeXform setcolor - pdfStrokeOP setoverprint - /pdfLastStroke true def /pdfLastFill false def - } if -} def -% build a font -/pdfMakeFont { - 4 3 roll findfont - 4 2 roll matrix scale makefont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /Encoding exch def - currentdict - end - definefont pop -} def -/pdfMakeFont16 { - exch findfont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /WMode exch def - currentdict - end - definefont pop -} def -% graphics state operators -/q { gsave pdfDictSize dict begin } def -/Q { - end grestore - /pdfLastFill where { - pop - pdfLastFill { - pdfFillOP setoverprint - } { - pdfStrokeOP setoverprint - } ifelse - } if -} def -/cm { concat } def -/d { setdash } def -/i { setflat } def -/j { setlinejoin } def -/J { setlinecap } def -/M { setmiterlimit } def -/w { setlinewidth } def -% path segment operators -/m { moveto } def -/l { lineto } def -/c { curveto } def -/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath } def -/h { closepath } def -% path painting operators -/S { sCol stroke } def -/Sf { fCol stroke } def -/f { fCol fill } def -/f* { fCol eofill } def -% clipping operators -/W { clip newpath } def -/W* { eoclip newpath } def -/Ws { strokepath clip newpath } def -% text state operators -/Tc { /pdfCharSpacing exch def } def -/Tf { dup /pdfFontSize exch def - dup pdfHorizScaling mul exch matrix scale - pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put - exch findfont exch makefont setfont } def -/Tr { /pdfTextRender exch def } def -/Tp { /pdfPatternCS exch def } def -/Ts { /pdfTextRise exch def } def -/Tw { /pdfWordSpacing exch def } def -/Tz { /pdfHorizScaling exch def } def -% text positioning operators -/Td { pdfTextMat transform moveto } def -/Tm { /pdfTextMat exch def } def -% text string operators -/xyshow where { - pop - /xyshow2 { - dup length array - 0 2 2 index length 1 sub { - 2 index 1 index 2 copy get 3 1 roll 1 add get - pdfTextMat dtransform - 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put - } for - exch pop - xyshow - } def -}{ - /xyshow2 { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval show moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval show moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/cshow where { - pop - /xycp { - 0 3 2 roll - { - pop pop currentpoint 3 2 roll - 1 string dup 0 4 3 roll put false charpath moveto - 2 copy get 2 index 2 index 1 add get - pdfTextMat dtransform rmoveto - 2 add - } exch cshow - pop pop - } def -}{ - /xycp { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval false charpath moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval false charpath moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/Tj { - fCol - 0 pdfTextRise pdfTextMat dtransform rmoveto - currentpoint 4 2 roll - pdfTextRender 1 and 0 eq { - 2 copy xyshow2 - } if - pdfTextRender 3 and dup 1 eq exch 2 eq or { - 3 index 3 index moveto - 2 copy - currentfont /FontType get 3 eq { fCol } { sCol } ifelse - xycp currentpoint stroke moveto - } if - pdfTextRender 4 and 0 ne { - 4 2 roll moveto xycp - /pdfTextClipPath [ pdfTextClipPath aload pop - {/moveto cvx} - {/lineto cvx} - {/curveto cvx} - {/closepath cvx} - pathforall ] def - currentpoint newpath moveto - } { - pop pop pop pop - } ifelse - 0 pdfTextRise neg pdfTextMat dtransform rmoveto -} def -/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 - pdfTextMat dtransform rmoveto } def -/TJmV { 0.001 mul pdfFontSize mul neg 0 exch - pdfTextMat dtransform rmoveto } def -/Tclip { pdfTextClipPath cvx exec clip newpath - /pdfTextClipPath [] def } def -/Tclip* { pdfTextClipPath cvx exec eoclip newpath - /pdfTextClipPath [] def } def -% Level 2/3 image operators -/pdfImBuf 100 string def -/pdfImStr { - 2 copy exch length lt { - 2 copy get exch 1 add exch - } { - () - } ifelse -} def -/skipEOD { - { currentfile pdfImBuf readline - not { pop exit } if - (%-EOD-) eq { exit } if } loop -} def -/pdfIm { image skipEOD } def -/pdfImM { fCol imagemask skipEOD } def -/pr { 2 index 2 index 3 2 roll putinterval 4 add } def -/pdfImClip { - gsave - 0 2 4 index length 1 sub { - dup 4 index exch 2 copy - get 5 index div put - 1 add 3 index exch 2 copy - get 3 index div put - } for - pop pop rectclip -} def -/pdfImClipEnd { grestore } def -% shading operators -/colordelta { - false 0 1 3 index length 1 sub { - dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { - pop true - } if - } for - exch pop exch pop -} def -/funcCol { func n array astore } def -/funcSH { - dup 0 eq { - true - } { - dup 6 eq { - false - } { - 4 index 4 index funcCol dup - 6 index 4 index funcCol dup - 3 1 roll colordelta 3 1 roll - 5 index 5 index funcCol dup - 3 1 roll colordelta 3 1 roll - 6 index 8 index funcCol dup - 3 1 roll colordelta 3 1 roll - colordelta or or or - } ifelse - } ifelse - { - 1 add - 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch - 6 index 6 index 4 index 4 index 4 index funcSH - 2 index 6 index 6 index 4 index 4 index funcSH - 6 index 2 index 4 index 6 index 4 index funcSH - 5 3 roll 3 2 roll funcSH pop pop - } { - pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul - funcCol sc - dup 4 index exch mat transform m - 3 index 3 index mat transform l - 1 index 3 index mat transform l - mat transform l pop pop h f* - } ifelse -} def -/axialCol { - dup 0 lt { - pop t0 - } { - dup 1 gt { - pop t1 - } { - dt mul t0 add - } ifelse - } ifelse - func n array astore -} def -/axialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index axialCol 2 index axialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index axialSH - exch 3 2 roll axialSH - } { - pop 2 copy add 0.5 mul - axialCol sc - exch dup dx mul x0 add exch dy mul y0 add - 3 2 roll dup dx mul x0 add exch dy mul y0 add - dx abs dy abs ge { - 2 copy yMin sub dy mul dx div add yMin m - yMax sub dy mul dx div add yMax l - 2 copy yMax sub dy mul dx div add yMax l - yMin sub dy mul dx div add yMin l - h f* - } { - exch 2 copy xMin sub dx mul dy div add xMin exch m - xMax sub dx mul dy div add xMax exch l - exch 2 copy xMax sub dx mul dy div add xMax exch l - xMin sub dx mul dy div add xMin exch l - h f* - } ifelse - } ifelse -} def -/radialCol { - dup t0 lt { - pop t0 - } { - dup t1 gt { - pop t1 - } if - } ifelse - func n array astore -} def -/radialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index dt mul t0 add radialCol - 2 index dt mul t0 add radialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index radialSH - exch 3 2 roll radialSH - } { - pop 2 copy add 0.5 mul dt mul t0 add - radialCol sc - encl { - exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 0 360 arc h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 360 0 arcn h f - } { - 2 copy - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arcn - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arcn h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arc - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arc h f - } ifelse - } ifelse -} def -end -%%EndResource -%%EndProlog -%%BeginSetup -xpdf begin -%%BeginResource: font LiberationMono -/LiberationMono_sfnts [ -<00010000000b0080000300306376742067066d57000000bc000002ae6670676d -7e61b6110000036c000007b4676c79666910f31b00000b20000003e868656164 -04d4c02000000f08000000366868656108c1fd8600000f4000000024686d7478 -219b050f00000f64000000646c6f636104ac05de00000fc8000000346d617870 -049004c000000ffc0000002070726570c8f38c8f0000101c0000057a76686561 -000208010000159800000024766d747808000000000015bc0000003400> -<05cc05cc007d054500150060054500150000000000000000000000000000043a -001400770000ffec00000000ffecff5f0000ffec0000fe57fe57000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000008000000000000b400bd00aa00a000c800b40085000000000000 -0088007e00a500c000000000000000000000000000bf00c900ab008c00bc009b -008d003400000000000000000000000000000000000000000000000000b900b4 -007c000000000094005f00000000000000000000000000000000000000000000 -0000000001a8006f007800a400c80083008d00bb005e018a0103006000740081 -00b800c0005004b104c3fe4c00eb01b200c30109007b012b029600c9009600db -05d804d500000000000000000000000000000000009200a8006b009200b7006b -009b0000000002f20092023e006e02a50345008900a00060024c000000c30000 -014e00a4015b005e00800069006f0000005e0068000000000000000000000000 -0026034a0087007b000000750068000000000000000000000582fcb1000bfff4 -00830089008f009600690071005b005200000000000000b202030000008d031f -00bb00ae00b500000000008b000000000000000006a9037002bc0208fd990091 -0091004d004d006400640181009f00a8fe68fe9c009b014501450090fef6ffe9 -007a0545024d000cffee0598fcf3006e004c0062004600e80000000000000000 -00000000000000000000000000000000000000000000000005cc000ffc1efff2 -02fb000e0416000afed300bf0000000000000000035b0010fd22ffecff78fff0 -fe60fe5302fb000f041605a505b205c30079005f06810468001404cb0000ffec -ffd3fe7f008300db00aa00ba00a0000000> -<40475b5a59585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c -3b3a393837363531302f2e2d2c28272625242322211f181411100f0e0d0b0a09 -0807060504030201002c20b0016045b003252011466123452361482d2c204518 -68442d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 -b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d -2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c -20452320b0cd442320b8015a51582320b08d44235920b0ed51582320b04d4423 -5920b0042651582320b00d44235921212d2c20204518684420b001602045b046 -76688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b2d2c00b028 -2370b101283e01b0282370b10228453ab10200080d2d2c2045b00325456164b0 -50515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b0 -0743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c -58b00361592d2c8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c23 -4445b02b23442d2c4b525845441b2121592d2c4b515845441b2121592d2c01b0 -05251023208af500b0016023edec2d2c01b005251023208af500b0016123edec -2d2c01b0062510f500edec2d2cb00243b001525821212121211b462346608a8a -462320468a608a61b8ff8062232010238ab10c0c8a70456020b0005058b00161 -b8ffba8b1bb0468c59b0106068013a592d2c2045b0032546524bb013515b58b0 -022546206861b00325b003253f2321381b2111592d2c2045b00325465058b002 -2546206861b00325b003253f2321381b2111592d2c00b00743b006430b2d2c21 -210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b -59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c -0c6423648bb84000626023212d2c4b53588ab004254964234569b0408b61b080 -62b020616ab00e23442310b00ef61b21238a121120392f592d2c4b535820b003 -2549646920b00526b0062549642361b08062b020616ab00e2344b0042610b00e -f68a10b00e2344b00ef6b00e2344b00eed1b8ab00426111220392320392f2f59 -2d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045b00054 -58b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c -4b5158b02f2370b01423421b2121592d2c4b515820b0032545695358441b2121 -591b2121592d2c45b01443b0006063b0016069442d2cb02f45442d2c45232045 -8a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3330034005944 -442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 -01615923586559b02923442310b029e01b2121212121592d2cb0024354584b53 -234b515a58381b2121591b21212121592d2cb0164358b004254564b020606620 -581b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b0 -042510b005252046b0042523423cb00425b0072508b0072510b006252046b004 -25b0016023423c2058011b0059b0042510b00525b029e0b02920456544b00725 -10b00625b029e0b00525b00825082058021b0359b00525b003254348b00425b0 -072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 -46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002 -2543482121212d2c452320451820b00050205823652359236820b040505821b0 -4059235865598a60442d2c4b53234b515a5820458a60441b2121592d2c4b5458 -20458a60441b2121592d2c4b53234b515a58381b2121592d2cb000214b545838 -1b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b21 -2121592d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b2121 -21592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b0005358 -20b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140 -408a704560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d -2cb012004b014b54422d2cb1020042b123018851b1400188535a58b910000020 -885458b202010243604259b12401885158b920000040885458b2020202436042 -b12401885458b2022002436042004b014b5258b2020802436042591bb9400000 -80885458b202040243604259b94000008063b80100885458b202080243604259 -b94000010063b80200885458b202100243604259b12601885158b94000020063 -b80400885458b202400243604259b94000040063b80800885458b20280024360 -42595959595959b10002435458400a0540084009400c020d021bb10102435458 -b2054008ba010000090100b30c010d011bb18002435258b2054008b80180b109 -401bb2054008ba01800009014059b9400000808855b94000020063b804008855 -5a58b30c000d011bb30c000d0159595942424242422d2c451868234b51582320 -452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e00b0 -02233eb10102060cb00a236542b00b234201b001233f00b002233fb10102060c -b006236542b0072342b00116012d2cb080b0024350b001b00243545b58212310 -b0201ac91b8a10ed592d2cb0592b2d2c8a10e52d00> -<0002007f0000038102ee00030007001e400c060007030003080905010600002f -cd2fcd111201393911331133313033112111032111217f030281fe00020002ee -fd12026dfe14000000> -<000101f0000002db012b00030017400a030000040500019b5b00002f2b111201 -39113331302111331101f0eb012bfed500> -<0003007cffec044f055a000b0017001b0054402e1a190c1212060c0006001c1d -0f18010f181f18020d18400f191f1902150319190309090f7359090703157359 -0319003f2b00183f2b11120039182f5f5e5d1acd5e5d71111201393911331133 -1112393931300110022322021110122132120310022322021110123332122535 -3315044ff9f3f3f4ee00fff9edb78da2a69193a09f94fe58eb02a3feaefe9b01 -630154015d015afea3fea601220103ff00fedbfee3fef9010e9ef9f900> -<000100940000046a0545000e0038401d0d0c06010a010c0302020f1007067359 -0707030a060c01000173590018003f2b110033183f33332f2b11120139111733 -1133113331303335211106042335322437331121159d01b725feeb8694010734 -a601619103fd4e74948263fb4c91000000> -<000100900000043c055a001c003c401d1a00000d0e1c07140e141d1e0d0d1111 -0a73591107011a001a73590018003f2b110033183f2b110033182f1112013939 -1133331133331133313033353e01373e0135342623220607273e013332161514 -06070e010721159031cfb29f8c8a80728d0db814eec2d5ee9897ce9f2102d375 -6ddd8e7fbc576f787d7111aac7c0b073e578a49b4992000000> -<00010080ffec044b055a002a0076404127241212062c1d1e1e07061724240c00 -06002b2c271211121173590f12011703121203211d1d21211a73592107030973 -59400790070240079007f0070307070319003f332f5d712b00183f2b11003318 -2f1112392f5f5e5d2b1112003911120139391133331133113333113311123911 -1239313001140623222427371621323635342e012b013533323e013534262322 -0607273e0133321615140607151e01044bfce2d6ff0017ba24010f889b5b9c61 -6662568f52858377930cb514f7c2d4eb9e8997b70172baccc2bc11fa7e794b67 -379c3968476a777a6f0eadc2bba777b01c0411b200> -<00010080ffec044b0545001d0058402d1918131315141408070d160007001e1f -1419735914141b1b1073591b1b0415151873591506040a735908080419003f33 -2f2b00183f2b11120039182f2b110033182f2b11120139391133331133331133 -33113333313001140e0123222627371633323635342623220607231321152103 -36333216044b76e39bc5f220b639ec8da8a68b497e3fb02f0321fd851d75aecc -fb01bc8bd273aca315d1a8917c9e2e3702d891fe575aeb0000> -<00010000000200006040659e5f0f3cf5021f080000000000c8437aa700000000 -d948fb0afc25fd9905f107d900000008000000000000000000> -<0001000006a9fd9900000559fc25fa7a05f10001000000000000000000000000 -0000001900> -<04cd007f00000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000004cd01f00000000004cd007c04cd009404cd009004cd008000000000 -04cd008000> -<0000002400240024002400240024002400240024002400240024002400240024 -00240024003c003c009a00d2011e0198019801f400> -<00010000001901220048005b000600020010002f005c000003b903110003000100> -<412601530001014d005501520001014d0055015601540014001f01550154001f -001f014f0033014e0055014c0033014d0055013d003d013c0055013c0001013a -0055013b003d013a005501350134b2801f00412e013400100134000201340002 -012e0055013300480132005500800132000101320002012e00550131003d0130 -0055000f0130000101300002012e0055012f003d012e00550020012e0060012e -00020000012e0020012e00020009012eb2010055b8012db23d0055b8012cb300 -ff1f7041110144000101440001013e00550143003d0142005501420001013e00 -55013f003d013e40675500fd01f550281ff246281ff1462a1ff046351f8fee9f -eeafee036fef8fef02bfef01a0ef011fef5fef6fef0300ec40ec020aeb46ff1f -e7e4261fe6e43d1fe5e41e1f0fe4011de3e2461f0fe20140e246161fe1e0461f -bfe0cfe0dfe00340e0333646e046181fbc0114003e011200550113400c3d0355 -df3ddd55de3ddc5500411201160001011600010115005500af01150001002001 -15005001150002000f011500010111405303ff1fdd01dc5520dc50dc80dcb0dc -040fdc01d015331f5fc36fc37fc303bfc201c150261f70be0120be30bec0be03 -70be80be020fbc1fbc022fbc3fbc6fbcafbcdfbc05b9ad261f20b830b850b870 -b880b805b8ffc0401cb813294610b70120b750b780b7b0b70480b5b0b5020fb3 -3fb3efb303b8010d402baa481f80b090b002b0b0c0b0d0b0032faf3faf02a0ad -b0ad02c0add0ad022fac3fac029fab01c0aad0aa02410d010f0032010e005500 -00010e0010010e0020010e0003000f0110401501509c609c709c039996261f98 -46261f3097409702b8ffc0b396161c46b8ffc04009960e1146a1943c1fa04109 -0145003c001f01470145003c001f014601454028641f951bff1f0f94af94bf94 -0340941d31464094161b4640940c0f460f932f933f937f93ef93050fba010c00 -6f010c402002928d261f9153ff1fdf90013090011f902f90026f907f9002008f -108f208f03b8ffc040208f181c46208e308e024f8d5f8d6f8d03308c010f8c1f -8c2f8c03408c10134610bf010b0020010b0030010b0003ffc0010bb2172046b9 -ffc0010b40501014468b82261f894a3c1f88873d1f87843c1f864aff1f9f8501 -108420843084033083017f82014082090c467350261f6f46351f6e46351f1a01 -185519331855073303550603ff1f6050261f5f50261fb9ffe00107b21f2646b9 -ffe00107401f131c465e5a481f5c46311f5b5a481f5a46311f13321255050103 -5504320355b80108b51b3c1f0f0301b901190118b2351f40b80118b2172846b8 -010a402550261f52501b1fef51ff510240513538464051252846cf5001df4c01 -4c461d1f4b46481f50b8011b4062014a46261f4946351f4846351f4746351faf -4601df46ef4602804601170115551632155511010f5510320f55020100550100 -ff1f1c1b641f1f0f3f0f5f0f7f0f040f0f2f0f4f0f6f0f8f0fdf0fff0f073f0f -7f0fef0f036f00014f0001a016010501b80190b154532b2b4bb807ff524bb009 -505bb00188b02553b00188b040515ab00688b000555a5b58b101018e59858d8d -00421d4bb0325358b0601d594bb0645358b0401d594bb0805358b0101db11600 -425973747374752b2b2b2b2b2b2b017374752b2b2b2b73002b2b74742b2b732b -2b2b2b732b2b2b2b012b2b2b002b2b2b2b2b2b2b2b2b012b2b002b012b737474 -732b2b2b2b2b2b2b73002b737474742b75737474742b2b73732b2b2b732b2b2b -2b2b012b2b732b2b007374732b017373740073747473742b7301730073742b73 -2b737401737475002b730174002b73732b2b7373732b732b2b2b2b012b2b742b -2b5e732b005e732b2b2b012b5e73007373737473012b2b2b002b732b2b2b2b73 -2b2b2b5e73742b2b732b2b732b2b732b2b2b2b2b2b2b2b2b2b18000000> -<0001000000000000000008000000000000000000000100000000000000000000 -0000000100> -<0800000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000> -] def -10 dict begin -/FontName /LiberationMono_00 def -/FontType 42 def -/FontMatrix [1 0 0 1 0 0] def -/FontBBox [-987 -615 1521 2009] def -/PaintType 0 def -/sfnts LiberationMono_sfnts def -/Encoding 256 array -dup 0 /c00 put -dup 1 /c01 put -dup 2 /c02 put -dup 3 /c03 put -dup 4 /c04 put -dup 5 /c05 put -dup 6 /c06 put -dup 7 /c07 put -dup 8 /c08 put -dup 9 /c09 put -dup 10 /c0a put -dup 11 /c0b put -dup 12 /c0c put -dup 13 /c0d put -dup 14 /c0e put -dup 15 /c0f put -dup 16 /c10 put -dup 17 /c11 put -dup 18 /c12 put -dup 19 /c13 put -dup 20 /c14 put -dup 21 /c15 put -dup 22 /c16 put -dup 23 /c17 put -dup 24 /c18 put -readonly def -/CharStrings 257 dict dup begin -/.notdef 0 def -/c00 0 def -/c01 1 def -/c02 2 def -/c03 3 def -/c04 4 def -/c05 5 def -/c06 6 def -/c07 7 def -/c08 8 def -/c09 9 def -/c0a 10 def -/c0b 11 def -/c0c 12 def -/c0d 13 def -/c0e 14 def -/c0f 15 def -/c10 16 def -/c11 17 def -/c12 18 def -/c13 19 def -/c14 20 def -/c15 21 def -/c16 22 def -/c17 23 def -/c18 24 def -end readonly def -FontName currentdict end definefont pop -16 dict begin -/FontName /LiberationMono def -/FontType 0 def -/FontMatrix [1 0 0 1 0 0] def -/FMapType 2 def -/Encoding [ -0 -] def -/FDepVector [ -/LiberationMono_00 findfont -] def -FontName currentdict end definefont pop -%%EndResource -/F6_0 /LiberationMono 0 pdfMakeFont16 -%%EndSetup -pdfStartPage -%%EndPageSetup -[] 0 d -1 i -0 j -0 J -10 M -1 w -/DeviceGray {} cs -[0] sc -/DeviceGray {} CS -[0] SC -false op -false OP -{} settransfer -0 0 525.12 375.12 re -W -q -[0.24 0 0 -0.24 0 375.12] cm -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -0 0 700 500 re -f -Q -Q -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -80 100 540 320 re -f -Q -q -[3.125 0 0 3.125 719.90625 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1093.75 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1467.5625 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1841.4063 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 0 1250.78125] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 1031.65625] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 812.5] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 593.375] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 374.21875] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 346.09375 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -Q -q -250 312.5 1687.5 1000 re -W* -q -[3.125 0 0 3.125 250 312.5] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -2 w -0 J -0 j -2 M -2 w -0 J -0 j -2 M -30.75 300.25 m -270 19.75 l -509.25 160 l -S -Q -q -[3.125 0 0 3.125 346.09375 1250.78125] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -q -[3.125 0 0 3.125 1093.75 374.21875] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -q -[3.125 0 0 3.125 1841.4063 812.5] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -Q -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 346.09375 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\023) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 719.90625 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -10.801758 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\023\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1093.75 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\024) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1467.5625 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -10.801758 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\024\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1841.4063 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\025) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 1250.78125] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\024) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 1031.65625] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 57.396484 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\024\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 812.5] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\025) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 593.375] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 57.396484 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\025\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 374.21875] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\026) -[7.201172 -0] Tj -Q -q -[0.0565827 0 0 -0.0565827 1069.06506 172.28561] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -132 -11 m -109.333328 -11 98 0 98 22 c -98 33 l -111 61 l -161 166.333344 197.33333 257.33331 220 334 c -228 358 l -196 358 l -170.66667 358 152.666672 357 142 355 c -131.333328 353 118.333336 346.66666 103 336 c -95.666664 331.33334 88.333336 325.33334 81 318 c -73.666664 310.66666 67.333336 303.66666 62 297 c -56.666668 290.33334 53.666668 286.33334 53 285 c -51.666668 284.33334 46.666668 284 38 284 c -25.333332 284 19 287.33334 19 294 c -19 298 25.333332 309.66666 38 329 c -50.666668 348.33334 69 369 93 391 c -117 413 140.666672 425.66666 164 429 c -168.66667 430.33334 243.66666 431 389 431 c -495.66669 431 550.33331 430.66666 553 430 c -566.33331 425.33334 573 416 573 402 c -573 381.33334 562.33331 367.33334 541 360 c -537 358.66666 514 358 472 358 c -408 358 l -405 341 l -397 293 393 253.33333 393 222 c -393 187.33333 396 156.333328 402 129 c -408 101.666664 414.33334 80.333336 421 65 c -427.66666 49.666664 431 40.333332 431 37 c -431 25.666666 426.33334 15 417 5 c -407.66666 -5 395.66666 -10 381 -10 c -373.66666 -10 367.66666 -9 363 -7 c -358.33334 -5 353 3 347 17 c -341 31 335.66666 51 331 77 c -330.33334 83 330 97.666664 330 121 c -330 153.666672 333 188.66666 339 226 c -345 263.33334 351 294 357 318 c -363 342 366.33334 355.33334 367 358 c -269 358 l -268 354 l -268 352 261.66666 325.66666 249 275 c -236.33333 224.33333 222 170.66667 206 114 c -190 57.333332 179.66667 25 175 17 c -167.666672 -1.666668 153.333328 -11 132 -11 c -h -f -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -132 -11 m -109.333328 -11 98 0 98 22 c -98 33 l -111 61 l -161 166.333344 197.33333 257.33331 220 334 c -228 358 l -196 358 l -170.66667 358 152.666672 357 142 355 c -131.333328 353 118.333336 346.66666 103 336 c -95.666664 331.33334 88.333336 325.33334 81 318 c -73.666664 310.66666 67.333336 303.66666 62 297 c -56.666668 290.33334 53.666668 286.33334 53 285 c -51.666668 284.33334 46.666668 284 38 284 c -25.333332 284 19 287.33334 19 294 c -19 298 25.333332 309.66666 38 329 c -50.666668 348.33334 69 369 93 391 c -117 413 140.666672 425.66666 164 429 c -168.66667 430.33334 243.66666 431 389 431 c -495.66669 431 550.33331 430.66666 553 430 c -566.33331 425.33334 573 416 573 402 c -573 381.33334 562.33331 367.33334 541 360 c -537 358.66666 514 358 472 358 c -408 358 l -405 341 l -397 293 393 253.33333 393 222 c -393 187.33333 396 156.333328 402 129 c -408 101.666664 414.33334 80.333336 421 65 c -427.66666 49.666664 431 40.333332 431 37 c -431 25.666666 426.33334 15 417 5 c -407.66666 -5 395.66666 -10 381 -10 c -373.66666 -10 367.66666 -9 363 -7 c -358.33334 -5 353 3 347 17 c -341 31 335.66666 51 331 77 c -330.33334 83 330 97.666664 330 121 c -330 153.666672 333 188.66666 339 226 c -345 263.33334 351 294 357 318 c -363 342 366.33334 355.33334 367 358 c -269 358 l -268 354 l -268 352 261.66666 325.66666 249 275 c -236.33333 224.33333 222 170.66667 206 114 c -190 57.333332 179.66667 25 175 17 c -167.666672 -1.666668 153.333328 -11 132 -11 c -h -S -Q -q -[0.040004 0 0 -0.040004 1101.54834 151.763565] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -109 429 m -91 429 76.666664 435 66 447 c -55.333332 459 50 473.66666 50 491 c -50 538.33331 67.666664 579.33331 103 614 c -138.333344 648.66669 182.33333 666 235 666 c -295.66666 666 346.33334 647.33331 387 610 c -427.66666 572.66669 448.33334 524.33331 449 465 c -449 436.33334 442.33334 409 429 383 c -415.66666 357 399.66666 334.33334 381 315 c -362.33334 295.66666 335.66666 271 301 241 c -277 220.33333 243.66667 189.66667 201 149 c -142 93 l -218 92 l -322.66669 92 378.33334 93.666664 385 97 c -389.66666 98.333336 397.66666 128 409 186 c -409 189 l -449 189 l -449 186 l -448.33334 184 444 153.666672 436 95 c -428 36.333332 423 5.666667 421 3 c -421 0 l -50 0 l -50 19 l -50 31 l -50 35.666668 52 40.666668 56 46 c -60 51.333332 70 63 86 81 c -105.333336 102.333336 122 121 136 137 c -142 143.666672 153.333328 156 170 174 c -186.66667 192 198 204.33333 204 211 c -210 217.66667 219.66667 228.66667 233 244 c -246.33333 259.33334 255.66667 270.66666 261 278 c -266.33334 285.33334 274 295.33334 284 308 c -294 320.66666 301 331.33334 305 340 c -309 348.66666 314 358.33334 320 369 c -326 379.66666 330.33334 390.33334 333 401 c -335.66666 411.66666 338 421.66666 340 431 c -342 440.33334 343 451.33334 343 464 c -343 506 331.66666 542.33331 309 573 c -286.33334 603.66669 254 619 212 619 c -190 619 170.66667 613.33331 154 602 c -137.333328 590.66669 125.666664 579.66669 119 569 c -112.333336 558.33331 109 552 109 550 c -109 549.33331 110.666664 549 114 549 c -126 549 138.333328 544.33331 151 535 c -163.666672 525.66669 170 510.33334 170 489 c -170 472.33334 164.666672 458.33334 154 447 c -143.333328 435.66666 128.333328 429.66666 109 429 c -h -f -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -109 429 m -91 429 76.666664 435 66 447 c -55.333332 459 50 473.66666 50 491 c -50 538.33331 67.666664 579.33331 103 614 c -138.333344 648.66669 182.33333 666 235 666 c -295.66666 666 346.33334 647.33331 387 610 c -427.66666 572.66669 448.33334 524.33331 449 465 c -449 436.33334 442.33334 409 429 383 c -415.66666 357 399.66666 334.33334 381 315 c -362.33334 295.66666 335.66666 271 301 241 c -277 220.33333 243.66667 189.66667 201 149 c -142 93 l -218 92 l -322.66669 92 378.33334 93.666664 385 97 c -389.66666 98.333336 397.66666 128 409 186 c -409 189 l -449 189 l -449 186 l -448.33334 184 444 153.666672 436 95 c -428 36.333332 423 5.666667 421 3 c -421 0 l -50 0 l -50 19 l -50 31 l -50 35.666668 52 40.666668 56 46 c -60 51.333332 70 63 86 81 c -105.333336 102.333336 122 121 136 137 c -142 143.666672 153.333328 156 170 174 c -186.66667 192 198 204.33333 204 211 c -210 217.66667 219.66667 228.66667 233 244 c -246.33333 259.33334 255.66667 270.66666 261 278 c -266.33334 285.33334 274 295.33334 284 308 c -294 320.66666 301 331.33334 305 340 c -309 348.66666 314 358.33334 320 369 c -326 379.66666 330.33334 390.33334 333 401 c -335.66666 411.66666 338 421.66666 340 431 c -342 440.33334 343 451.33334 343 464 c -343 506 331.66666 542.33331 309 573 c -286.33334 603.66669 254 619 212 619 c -190 619 170.66667 613.33331 154 602 c -137.333328 590.66669 125.666664 579.66669 119 569 c -112.333336 558.33331 109 552 109 550 c -109 549.33331 110.666664 549 114 549 c -126 549 138.333328 544.33331 151 535 c -163.666672 525.66669 170 510.33334 170 489 c -170 472.33334 164.666672 458.33334 154 447 c -143.333328 435.66666 128.333328 429.66666 109 429 c -h -S -Q -Q -Q -showpage -%%PageTrailer -pdfEndPage -%%Trailer -end -%%DocumentSuppliedResources: -%%+ font LiberationMono -%%EOF diff --git a/src/kaleido/tests/test_py/baselines/plotly/mathjax.jpeg b/src/kaleido/tests/test_py/baselines/plotly/mathjax.jpeg deleted file mode 100644 index 84d96de18bd89414b580ef78e24969c1d211592b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16287 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 aXHdFA37&d@INtB;%m2^*w>7Z+@qYoYFhunL diff --git a/src/kaleido/tests/test_py/baselines/plotly/mathjax.pdf b/src/kaleido/tests/test_py/baselines/plotly/mathjax.pdf deleted file mode 100644 index f773112aecd2945459d0ae86dc64aeaf0343784e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8218 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/mathjax.png b/src/kaleido/tests/test_py/baselines/plotly/mathjax.png deleted file mode 100644 index 8134264d0c561c417d87d21c5896d359e8d216b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28420 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.511.5211.522.53 \ No newline at end of file diff --git a/src/kaleido/tests/test_py/baselines/plotly/mathjax.webp b/src/kaleido/tests/test_py/baselines/plotly/mathjax.webp deleted file mode 100644 index 07af08a3545225bcb1c181b81a9f09521604ef92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4692 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/simple.eps b/src/kaleido/tests/test_py/baselines/plotly/simple.eps deleted file mode 100644 index fbfe3523..00000000 --- a/src/kaleido/tests/test_py/baselines/plotly/simple.eps +++ /dev/null @@ -1,1428 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%Produced by poppler pdftops version: 0.80.0 (http://poppler.freedesktop.org) -%%Creator: Chromium -%%LanguageLevel: 2 -%%DocumentSuppliedResources: (atend) -%%BoundingBox: 0 0 526 376 -%%HiResBoundingBox: 0 0 525.12 375.12 -%%DocumentSuppliedResources: (atend) -%%EndComments -%%BeginProlog -%%BeginResource: procset xpdf 3.00 0 -%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC -/xpdf 75 dict def xpdf begin -% PDF special state -/pdfDictSize 15 def -/pdfSetup { - /setpagedevice where { - pop 2 dict begin - /Policies 1 dict dup begin /PageSize 6 def end def - { /Duplex true def } if - currentdict end setpagedevice - } { - pop - } ifelse -} def -/pdfSetupPaper { - % Change paper size, but only if different from previous paper size otherwise - % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size - % so we use the same when checking if the size changes. - /setpagedevice where { - pop currentpagedevice - /PageSize known { - 2 copy - currentpagedevice /PageSize get aload pop - exch 4 1 roll - sub abs 5 gt - 3 1 roll - sub abs 5 gt - or - } { - true - } ifelse - { - 2 array astore - 2 dict begin - /PageSize exch def - /ImagingBBox null def - currentdict end - setpagedevice - } { - pop pop - } ifelse - } { - pop - } ifelse -} def -/pdfStartPage { - pdfDictSize dict begin - /pdfFillCS [] def - /pdfFillXform {} def - /pdfStrokeCS [] def - /pdfStrokeXform {} def - /pdfFill [0] def - /pdfStroke [0] def - /pdfFillOP false def - /pdfStrokeOP false def - /pdfLastFill false def - /pdfLastStroke false def - /pdfTextMat [1 0 0 1 0 0] def - /pdfFontSize 0 def - /pdfCharSpacing 0 def - /pdfTextRender 0 def - /pdfPatternCS false def - /pdfTextRise 0 def - /pdfWordSpacing 0 def - /pdfHorizScaling 1 def - /pdfTextClipPath [] def -} def -/pdfEndPage { end } def -% PDF color state -/cs { /pdfFillXform exch def dup /pdfFillCS exch def - setcolorspace } def -/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def - setcolorspace } def -/sc { pdfLastFill not { pdfFillCS setcolorspace } if - dup /pdfFill exch def aload pop pdfFillXform setcolor - /pdfLastFill true def /pdfLastStroke false def } def -/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if - dup /pdfStroke exch def aload pop pdfStrokeXform setcolor - /pdfLastStroke true def /pdfLastFill false def } def -/op { /pdfFillOP exch def - pdfLastFill { pdfFillOP setoverprint } if } def -/OP { /pdfStrokeOP exch def - pdfLastStroke { pdfStrokeOP setoverprint } if } def -/fCol { - pdfLastFill not { - pdfFillCS setcolorspace - pdfFill aload pop pdfFillXform setcolor - pdfFillOP setoverprint - /pdfLastFill true def /pdfLastStroke false def - } if -} def -/sCol { - pdfLastStroke not { - pdfStrokeCS setcolorspace - pdfStroke aload pop pdfStrokeXform setcolor - pdfStrokeOP setoverprint - /pdfLastStroke true def /pdfLastFill false def - } if -} def -% build a font -/pdfMakeFont { - 4 3 roll findfont - 4 2 roll matrix scale makefont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /Encoding exch def - currentdict - end - definefont pop -} def -/pdfMakeFont16 { - exch findfont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /WMode exch def - currentdict - end - definefont pop -} def -% graphics state operators -/q { gsave pdfDictSize dict begin } def -/Q { - end grestore - /pdfLastFill where { - pop - pdfLastFill { - pdfFillOP setoverprint - } { - pdfStrokeOP setoverprint - } ifelse - } if -} def -/cm { concat } def -/d { setdash } def -/i { setflat } def -/j { setlinejoin } def -/J { setlinecap } def -/M { setmiterlimit } def -/w { setlinewidth } def -% path segment operators -/m { moveto } def -/l { lineto } def -/c { curveto } def -/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath } def -/h { closepath } def -% path painting operators -/S { sCol stroke } def -/Sf { fCol stroke } def -/f { fCol fill } def -/f* { fCol eofill } def -% clipping operators -/W { clip newpath } def -/W* { eoclip newpath } def -/Ws { strokepath clip newpath } def -% text state operators -/Tc { /pdfCharSpacing exch def } def -/Tf { dup /pdfFontSize exch def - dup pdfHorizScaling mul exch matrix scale - pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put - exch findfont exch makefont setfont } def -/Tr { /pdfTextRender exch def } def -/Tp { /pdfPatternCS exch def } def -/Ts { /pdfTextRise exch def } def -/Tw { /pdfWordSpacing exch def } def -/Tz { /pdfHorizScaling exch def } def -% text positioning operators -/Td { pdfTextMat transform moveto } def -/Tm { /pdfTextMat exch def } def -% text string operators -/xyshow where { - pop - /xyshow2 { - dup length array - 0 2 2 index length 1 sub { - 2 index 1 index 2 copy get 3 1 roll 1 add get - pdfTextMat dtransform - 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put - } for - exch pop - xyshow - } def -}{ - /xyshow2 { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval show moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval show moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/cshow where { - pop - /xycp { - 0 3 2 roll - { - pop pop currentpoint 3 2 roll - 1 string dup 0 4 3 roll put false charpath moveto - 2 copy get 2 index 2 index 1 add get - pdfTextMat dtransform rmoveto - 2 add - } exch cshow - pop pop - } def -}{ - /xycp { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval false charpath moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval false charpath moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/Tj { - fCol - 0 pdfTextRise pdfTextMat dtransform rmoveto - currentpoint 4 2 roll - pdfTextRender 1 and 0 eq { - 2 copy xyshow2 - } if - pdfTextRender 3 and dup 1 eq exch 2 eq or { - 3 index 3 index moveto - 2 copy - currentfont /FontType get 3 eq { fCol } { sCol } ifelse - xycp currentpoint stroke moveto - } if - pdfTextRender 4 and 0 ne { - 4 2 roll moveto xycp - /pdfTextClipPath [ pdfTextClipPath aload pop - {/moveto cvx} - {/lineto cvx} - {/curveto cvx} - {/closepath cvx} - pathforall ] def - currentpoint newpath moveto - } { - pop pop pop pop - } ifelse - 0 pdfTextRise neg pdfTextMat dtransform rmoveto -} def -/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 - pdfTextMat dtransform rmoveto } def -/TJmV { 0.001 mul pdfFontSize mul neg 0 exch - pdfTextMat dtransform rmoveto } def -/Tclip { pdfTextClipPath cvx exec clip newpath - /pdfTextClipPath [] def } def -/Tclip* { pdfTextClipPath cvx exec eoclip newpath - /pdfTextClipPath [] def } def -% Level 2/3 image operators -/pdfImBuf 100 string def -/pdfImStr { - 2 copy exch length lt { - 2 copy get exch 1 add exch - } { - () - } ifelse -} def -/skipEOD { - { currentfile pdfImBuf readline - not { pop exit } if - (%-EOD-) eq { exit } if } loop -} def -/pdfIm { image skipEOD } def -/pdfImM { fCol imagemask skipEOD } def -/pr { 2 index 2 index 3 2 roll putinterval 4 add } def -/pdfImClip { - gsave - 0 2 4 index length 1 sub { - dup 4 index exch 2 copy - get 5 index div put - 1 add 3 index exch 2 copy - get 3 index div put - } for - pop pop rectclip -} def -/pdfImClipEnd { grestore } def -% shading operators -/colordelta { - false 0 1 3 index length 1 sub { - dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { - pop true - } if - } for - exch pop exch pop -} def -/funcCol { func n array astore } def -/funcSH { - dup 0 eq { - true - } { - dup 6 eq { - false - } { - 4 index 4 index funcCol dup - 6 index 4 index funcCol dup - 3 1 roll colordelta 3 1 roll - 5 index 5 index funcCol dup - 3 1 roll colordelta 3 1 roll - 6 index 8 index funcCol dup - 3 1 roll colordelta 3 1 roll - colordelta or or or - } ifelse - } ifelse - { - 1 add - 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch - 6 index 6 index 4 index 4 index 4 index funcSH - 2 index 6 index 6 index 4 index 4 index funcSH - 6 index 2 index 4 index 6 index 4 index funcSH - 5 3 roll 3 2 roll funcSH pop pop - } { - pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul - funcCol sc - dup 4 index exch mat transform m - 3 index 3 index mat transform l - 1 index 3 index mat transform l - mat transform l pop pop h f* - } ifelse -} def -/axialCol { - dup 0 lt { - pop t0 - } { - dup 1 gt { - pop t1 - } { - dt mul t0 add - } ifelse - } ifelse - func n array astore -} def -/axialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index axialCol 2 index axialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index axialSH - exch 3 2 roll axialSH - } { - pop 2 copy add 0.5 mul - axialCol sc - exch dup dx mul x0 add exch dy mul y0 add - 3 2 roll dup dx mul x0 add exch dy mul y0 add - dx abs dy abs ge { - 2 copy yMin sub dy mul dx div add yMin m - yMax sub dy mul dx div add yMax l - 2 copy yMax sub dy mul dx div add yMax l - yMin sub dy mul dx div add yMin l - h f* - } { - exch 2 copy xMin sub dx mul dy div add xMin exch m - xMax sub dx mul dy div add xMax exch l - exch 2 copy xMax sub dx mul dy div add xMax exch l - xMin sub dx mul dy div add xMin exch l - h f* - } ifelse - } ifelse -} def -/radialCol { - dup t0 lt { - pop t0 - } { - dup t1 gt { - pop t1 - } if - } ifelse - func n array astore -} def -/radialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index dt mul t0 add radialCol - 2 index dt mul t0 add radialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index radialSH - exch 3 2 roll radialSH - } { - pop 2 copy add 0.5 mul dt mul t0 add - radialCol sc - encl { - exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 0 360 arc h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 360 0 arcn h f - } { - 2 copy - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arcn - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arcn h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arc - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arc h f - } ifelse - } ifelse -} def -end -%%EndResource -%%EndProlog -%%BeginSetup -xpdf begin -%%BeginResource: font LiberationMono -/LiberationMono_sfnts [ -<00010000000b0080000300306376742067066d57000000bc000002ae6670676d -7e61b6110000036c000007b4676c79666939d49400000b200000063068656164 -04d4c02000001150000000366868656108c1fdc50000118800000024686d7478 -399c0838000011ac000001606c6f63614aea49960000130c000000b26d617870 -04cf04c0000013c00000002070726570c8f38c8f000013e00000057a76686561 -000208010000195c00000024766d74780800000000001980000000b200> -<05cc05cc007d054500150060054500150000000000000000000000000000043a -001400770000ffec00000000ffecff5f0000ffec0000fe57fe57000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000008000000000000b400bd00aa00a000c800b40085000000000000 -0088007e00a500c000000000000000000000000000bf00c900ab008c00bc009b -008d003400000000000000000000000000000000000000000000000000b900b4 -007c000000000094005f00000000000000000000000000000000000000000000 -0000000001a8006f007800a400c80083008d00bb005e018a0103006000740081 -00b800c0005004b104c3fe4c00eb01b200c30109007b012b029600c9009600db -05d804d500000000000000000000000000000000009200a8006b009200b7006b -009b0000000002f20092023e006e02a50345008900a00060024c000000c30000 -014e00a4015b005e00800069006f0000005e0068000000000000000000000000 -0026034a0087007b000000750068000000000000000000000582fcb1000bfff4 -00830089008f009600690071005b005200000000000000b202030000008d031f -00bb00ae00b500000000008b000000000000000006a9037002bc0208fd990091 -0091004d004d006400640181009f00a8fe68fe9c009b014501450090fef6ffe9 -007a0545024d000cffee0598fcf3006e004c0062004600e80000000000000000 -00000000000000000000000000000000000000000000000005cc000ffc1efff2 -02fb000e0416000afed300bf0000000000000000035b0010fd22ffecff78fff0 -fe60fe5302fb000f041605a505b205c30079005f06810468001404cb0000ffec -ffd3fe7f008300db00aa00ba00a0000000> -<40475b5a59585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c -3b3a393837363531302f2e2d2c28272625242322211f181411100f0e0d0b0a09 -0807060504030201002c20b0016045b003252011466123452361482d2c204518 -68442d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 -b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d -2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c -20452320b0cd442320b8015a51582320b08d44235920b0ed51582320b04d4423 -5920b0042651582320b00d44235921212d2c20204518684420b001602045b046 -76688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b2d2c00b028 -2370b101283e01b0282370b10228453ab10200080d2d2c2045b00325456164b0 -50515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b0 -0743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c -58b00361592d2c8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c23 -4445b02b23442d2c4b525845441b2121592d2c4b515845441b2121592d2c01b0 -05251023208af500b0016023edec2d2c01b005251023208af500b0016123edec -2d2c01b0062510f500edec2d2cb00243b001525821212121211b462346608a8a -462320468a608a61b8ff8062232010238ab10c0c8a70456020b0005058b00161 -b8ffba8b1bb0468c59b0106068013a592d2c2045b0032546524bb013515b58b0 -022546206861b00325b003253f2321381b2111592d2c2045b00325465058b002 -2546206861b00325b003253f2321381b2111592d2c00b00743b006430b2d2c21 -210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b -59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c -0c6423648bb84000626023212d2c4b53588ab004254964234569b0408b61b080 -62b020616ab00e23442310b00ef61b21238a121120392f592d2c4b535820b003 -2549646920b00526b0062549642361b08062b020616ab00e2344b0042610b00e -f68a10b00e2344b00ef6b00e2344b00eed1b8ab00426111220392320392f2f59 -2d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045b00054 -58b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c -4b5158b02f2370b01423421b2121592d2c4b515820b0032545695358441b2121 -591b2121592d2c45b01443b0006063b0016069442d2cb02f45442d2c45232045 -8a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3330034005944 -442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 -01615923586559b02923442310b029e01b2121212121592d2cb0024354584b53 -234b515a58381b2121591b21212121592d2cb0164358b004254564b020606620 -581b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b0 -042510b005252046b0042523423cb00425b0072508b0072510b006252046b004 -25b0016023423c2058011b0059b0042510b00525b029e0b02920456544b00725 -10b00625b029e0b00525b00825082058021b0359b00525b003254348b00425b0 -072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 -46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002 -2543482121212d2c452320451820b00050205823652359236820b040505821b0 -4059235865598a60442d2c4b53234b515a5820458a60441b2121592d2c4b5458 -20458a60441b2121592d2c4b53234b515a58381b2121592d2cb000214b545838 -1b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b21 -2121592d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b2121 -21592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b0005358 -20b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140 -408a704560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d -2cb012004b014b54422d2cb1020042b123018851b1400188535a58b910000020 -885458b202010243604259b12401885158b920000040885458b2020202436042 -b12401885458b2022002436042004b014b5258b2020802436042591bb9400000 -80885458b202040243604259b94000008063b80100885458b202080243604259 -b94000010063b80200885458b202100243604259b12601885158b94000020063 -b80400885458b202400243604259b94000040063b80800885458b20280024360 -42595959595959b10002435458400a0540084009400c020d021bb10102435458 -b2054008ba010000090100b30c010d011bb18002435258b2054008b80180b109 -401bb2054008ba01800009014059b9400000808855b94000020063b804008855 -5a58b30c000d011bb30c000d0159595942424242422d2c451868234b51582320 -452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e00b0 -02233eb10102060cb00a236542b00b234201b001233f00b002233fb10102060c -b006236542b0072342b00116012d2cb080b0024350b001b00243545b58212310 -b0201ac91b8a10ed592d2cb0592b2d2c8a10e52d00> -<0002007f0000038102ee00030007001e400c060007030003080905010600002f -cd2fcd111201393911331133313033112111032111217f030281fe00020002ee -fd12026dfe14000000> -<000101f0000002db012b00030017400a030000040500019b5b00002f2b111201 -39113331302111331101f0eb012bfed500> -<0003007cffec044f055a000b0017001b0054402e1a190c1212060c0006001c1d -0f18010f181f18020d18400f191f1902150319190309090f7359090703157359 -0319003f2b00183f2b11120039182f5f5e5d1acd5e5d71111201393911331133 -1112393931300110022322021110122132120310022322021110123332122535 -3315044ff9f3f3f4ee00fff9edb78da2a69193a09f94fe58eb02a3feaefe9b01 -630154015d015afea3fea601220103ff00fedbfee3fef9010e9ef9f900> -<000100940000046a0545000e0038401d0d0c06010a010c0302020f1007067359 -0707030a060c01000173590018003f2b110033183f33332f2b11120139111733 -1133113331303335211106042335322437331121159d01b725feeb8694010734 -a601619103fd4e74948263fb4c91000000> -<000100900000043c055a001c003c401d1a00000d0e1c07140e141d1e0d0d1111 -0a73591107011a001a73590018003f2b110033183f2b110033182f1112013939 -1133331133331133313033353e01373e0135342623220607273e013332161514 -06070e010721159031cfb29f8c8a80728d0db814eec2d5ee9897ce9f2102d375 -6ddd8e7fbc576f787d7111aac7c0b073e578a49b4992000000> -<00010080ffec044b055a002a0076404127241212062c1d1e1e07061724240c00 -06002b2c271211121173590f12011703121203211d1d21211a73592107030973 -59400790070240079007f0070307070319003f332f5d712b00183f2b11003318 -2f1112392f5f5e5d2b1112003911120139391133331133113333113311123911 -1239313001140623222427371621323635342e012b013533323e013534262322 -0607273e0133321615140607151e01044bfce2d6ff0017ba24010f889b5b9c61 -6662568f52858377930cb514f7c2d4eb9e8997b70172baccc2bc11fa7e794b67 -379c3968476a777a6f0eadc2bba777b01c0411b200> -<00010080ffec044b0545001d0058402d1918131315141408070d160007001e1f -1419735914141b1b1073591b1b0415151873591506040a735908080419003f33 -2f2b00183f2b11120039182f2b110033182f2b11120139391133331133331133 -33113333313001140e0123222627371633323635342623220607231321152103 -36333216044b76e39bc5f220b639ec8da8a68b497e3fb02f0321fd851d75aecc -fb01bc8bd273aca315d1a8917c9e2e3702d891fe575aeb0000> -<0001004c0000048005450007002640120701010402020809000405045f590503 -0112003f3f2b1100331112013911333311333130011123112135211502c5befe -45043404a9fb5704a99c9c0000> -<00020085ffec0446044e0014001a004f402c1800000d0607191313070d031b1c -1800505918180a101015505910100a035059df06ef060280060106060a16003f -332f5d5d2b00183f2b11120039182f2b11120117391133113311331133313001 -141633323637170e0123220211101233321211150122060721020142a18c679b -1a9e2ceba3ecfef9ebebf2fe25869c0502481c01f7b6ce594d2d7c8401260112 -010b011ffee2fedf1801d2af9901480000> -<0002008f0000046505cc0009000d003c401f0b0c0c0100000405050e0f0b0a53 -590b0008075059080f0004030450590315003f2b110033183f2b00183f2b1112 -013911333311333311333130252115213521112135212735331502e9017cfc2a -01a6fec101f3c8c88e8e8e031e8ed2c0c000000000> -<0005010b0000045c05cc000f0010001100120014000025051525262726271121 -352111161716172717273503430119fe8e71341603fedf01d5011815396710c4 -93058e0414461e86043c8efb212d1613095fed8e7400000000> -<000100befff003f9055400150036401b0509090214140f1617110c5059111608 -000100505905010303010f003f332f11332b110033183f2b1112013939113333 -1133313013353313331121152111141633323715062322263511beaa3a7801b0 -fe50556186a3a9a6a2a203ac8e011afee68efd744f4c22892e8994029f00000000> -<0001000000020000a2f1f7005f0f3cf5021f080000000000c8437aa700000000 -d948fb0afc25fd9905f107d900000008000000000000000000> -<0001000006a9fd9900000559fc25fa7a05f10001000000000000000000000000 -0000005800> -<04cd007f00000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000004cd01f00000000004cd007c04cd009404cd009004cd008000000000 -04cd008000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000004cd004c -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -04cd008500000000000000000000000004cd008f000000000000000004cd010b -0000000000000000000000000000000000000000000000000000000004cd00be00> -<0000002400240024002400240024002400240024002400240024002400240024 -00240024003c003c009a00d2011e0198019801f401f401f401f401f401f401f4 -01f401f401f401f401f401f401f401f401f401f401f401f401f401f401f401f4 -01f401f401f401f401f401f401f401f4021a021a021a021a021a021a021a021a -021a021a021a021a021a021a021a021a021a027202720272027202ac02ac02ac -02d802d802d802d802d802d802d802d80318000000> -<00010000005801220048005b000600020010002f005c000003b903110003000100> -<412601530001014d005501520001014d0055015601540014001f01550154001f -001f014f0033014e0055014c0033014d0055013d003d013c0055013c0001013a -0055013b003d013a005501350134b2801f00412e013400100134000201340002 -012e0055013300480132005500800132000101320002012e00550131003d0130 -0055000f0130000101300002012e0055012f003d012e00550020012e0060012e -00020000012e0020012e00020009012eb2010055b8012db23d0055b8012cb300 -ff1f7041110144000101440001013e00550143003d0142005501420001013e00 -55013f003d013e40675500fd01f550281ff246281ff1462a1ff046351f8fee9f -eeafee036fef8fef02bfef01a0ef011fef5fef6fef0300ec40ec020aeb46ff1f -e7e4261fe6e43d1fe5e41e1f0fe4011de3e2461f0fe20140e246161fe1e0461f -bfe0cfe0dfe00340e0333646e046181fbc0114003e011200550113400c3d0355 -df3ddd55de3ddc5500411201160001011600010115005500af01150001002001 -15005001150002000f011500010111405303ff1fdd01dc5520dc50dc80dcb0dc -040fdc01d015331f5fc36fc37fc303bfc201c150261f70be0120be30bec0be03 -70be80be020fbc1fbc022fbc3fbc6fbcafbcdfbc05b9ad261f20b830b850b870 -b880b805b8ffc0401cb813294610b70120b750b780b7b0b70480b5b0b5020fb3 -3fb3efb303b8010d402baa481f80b090b002b0b0c0b0d0b0032faf3faf02a0ad -b0ad02c0add0ad022fac3fac029fab01c0aad0aa02410d010f0032010e005500 -00010e0010010e0020010e0003000f0110401501509c609c709c039996261f98 -46261f3097409702b8ffc0b396161c46b8ffc04009960e1146a1943c1fa04109 -0145003c001f01470145003c001f014601454028641f951bff1f0f94af94bf94 -0340941d31464094161b4640940c0f460f932f933f937f93ef93050fba010c00 -6f010c402002928d261f9153ff1fdf90013090011f902f90026f907f9002008f -108f208f03b8ffc040208f181c46208e308e024f8d5f8d6f8d03308c010f8c1f -8c2f8c03408c10134610bf010b0020010b0030010b0003ffc0010bb2172046b9 -ffc0010b40501014468b82261f894a3c1f88873d1f87843c1f864aff1f9f8501 -108420843084033083017f82014082090c467350261f6f46351f6e46351f1a01 -185519331855073303550603ff1f6050261f5f50261fb9ffe00107b21f2646b9 -ffe00107401f131c465e5a481f5c46311f5b5a481f5a46311f13321255050103 -5504320355b80108b51b3c1f0f0301b901190118b2351f40b80118b2172846b8 -010a402550261f52501b1fef51ff510240513538464051252846cf5001df4c01 -4c461d1f4b46481f50b8011b4062014a46261f4946351f4846351f4746351faf -4601df46ef4602804601170115551632155511010f5510320f55020100550100 -ff1f1c1b641f1f0f3f0f5f0f7f0f040f0f2f0f4f0f6f0f8f0fdf0fff0f073f0f -7f0fef0f036f00014f0001a016010501b80190b154532b2b4bb807ff524bb009 -505bb00188b02553b00188b040515ab00688b000555a5b58b101018e59858d8d -00421d4bb0325358b0601d594bb0645358b0401d594bb0805358b0101db11600 -425973747374752b2b2b2b2b2b2b017374752b2b2b2b73002b2b74742b2b732b -2b2b2b732b2b2b2b012b2b2b002b2b2b2b2b2b2b2b2b012b2b002b012b737474 -732b2b2b2b2b2b2b73002b737474742b75737474742b2b73732b2b2b732b2b2b -2b2b012b2b732b2b007374732b017373740073747473742b7301730073742b73 -2b737401737475002b730174002b73732b2b7373732b732b2b2b2b012b2b742b -2b5e732b005e732b2b2b012b5e73007373737473012b2b2b002b732b2b2b2b73 -2b2b2b5e73742b2b732b2b732b2b732b2b2b2b2b2b2b2b2b2b18000000> -<0001000000000000000008000000000000000000000100000000000000000000 -0000000100> -<0800000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000> -] def -10 dict begin -/FontName /LiberationMono_00 def -/FontType 42 def -/FontMatrix [1 0 0 1 0 0] def -/FontBBox [-987 -615 1521 2009] def -/PaintType 0 def -/sfnts LiberationMono_sfnts def -/Encoding 256 array -dup 0 /c00 put -dup 1 /c01 put -dup 2 /c02 put -dup 3 /c03 put -dup 4 /c04 put -dup 5 /c05 put -dup 6 /c06 put -dup 7 /c07 put -dup 8 /c08 put -dup 9 /c09 put -dup 10 /c0a put -dup 11 /c0b put -dup 12 /c0c put -dup 13 /c0d put -dup 14 /c0e put -dup 15 /c0f put -dup 16 /c10 put -dup 17 /c11 put -dup 18 /c12 put -dup 19 /c13 put -dup 20 /c14 put -dup 21 /c15 put -dup 22 /c16 put -dup 23 /c17 put -dup 24 /c18 put -dup 25 /c19 put -dup 26 /c1a put -dup 27 /c1b put -dup 28 /c1c put -dup 29 /c1d put -dup 30 /c1e put -dup 31 /c1f put -dup 32 /c20 put -dup 33 /c21 put -dup 34 /c22 put -dup 35 /c23 put -dup 36 /c24 put -dup 37 /c25 put -dup 38 /c26 put -dup 39 /c27 put -dup 40 /c28 put -dup 41 /c29 put -dup 42 /c2a put -dup 43 /c2b put -dup 44 /c2c put -dup 45 /c2d put -dup 46 /c2e put -dup 47 /c2f put -dup 48 /c30 put -dup 49 /c31 put -dup 50 /c32 put -dup 51 /c33 put -dup 52 /c34 put -dup 53 /c35 put -dup 54 /c36 put -dup 55 /c37 put -dup 56 /c38 put -dup 57 /c39 put -dup 58 /c3a put -dup 59 /c3b put -dup 60 /c3c put -dup 61 /c3d put -dup 62 /c3e put -dup 63 /c3f put -dup 64 /c40 put -dup 65 /c41 put -dup 66 /c42 put -dup 67 /c43 put -dup 68 /c44 put -dup 69 /c45 put -dup 70 /c46 put -dup 71 /c47 put -dup 72 /c48 put -dup 73 /c49 put -dup 74 /c4a put -dup 75 /c4b put -dup 76 /c4c put -dup 77 /c4d put -dup 78 /c4e put -dup 79 /c4f put -dup 80 /c50 put -dup 81 /c51 put -dup 82 /c52 put -dup 83 /c53 put -dup 84 /c54 put -dup 85 /c55 put -dup 86 /c56 put -dup 87 /c57 put -readonly def -/CharStrings 257 dict dup begin -/.notdef 0 def -/c00 0 def -/c01 1 def -/c02 2 def -/c03 3 def -/c04 4 def -/c05 5 def -/c06 6 def -/c07 7 def -/c08 8 def -/c09 9 def -/c0a 10 def -/c0b 11 def -/c0c 12 def -/c0d 13 def -/c0e 14 def -/c0f 15 def -/c10 16 def -/c11 17 def -/c12 18 def -/c13 19 def -/c14 20 def -/c15 21 def -/c16 22 def -/c17 23 def -/c18 24 def -/c19 25 def -/c1a 26 def -/c1b 27 def -/c1c 28 def -/c1d 29 def -/c1e 30 def -/c1f 31 def -/c20 32 def -/c21 33 def -/c22 34 def -/c23 35 def -/c24 36 def -/c25 37 def -/c26 38 def -/c27 39 def -/c28 40 def -/c29 41 def -/c2a 42 def -/c2b 43 def -/c2c 44 def -/c2d 45 def -/c2e 46 def -/c2f 47 def -/c30 48 def -/c31 49 def -/c32 50 def -/c33 51 def -/c34 52 def -/c35 53 def -/c36 54 def -/c37 55 def -/c38 56 def -/c39 57 def -/c3a 58 def -/c3b 59 def -/c3c 60 def -/c3d 61 def -/c3e 62 def -/c3f 63 def -/c40 64 def -/c41 65 def -/c42 66 def -/c43 67 def -/c44 68 def -/c45 69 def -/c46 70 def -/c47 71 def -/c48 72 def -/c49 73 def -/c4a 74 def -/c4b 75 def -/c4c 76 def -/c4d 77 def -/c4e 78 def -/c4f 79 def -/c50 80 def -/c51 81 def -/c52 82 def -/c53 83 def -/c54 84 def -/c55 85 def -/c56 86 def -/c57 87 def -end readonly def -FontName currentdict end definefont pop -16 dict begin -/FontName /LiberationMono def -/FontType 0 def -/FontMatrix [1 0 0 1 0 0] def -/FMapType 2 def -/Encoding [ -0 -] def -/FDepVector [ -/LiberationMono_00 findfont -] def -FontName currentdict end definefont pop -%%EndResource -/F6_0 /LiberationMono 0 pdfMakeFont16 -%%EndSetup -pdfStartPage -%%EndPageSetup -[] 0 d -1 i -0 j -0 J -10 M -1 w -/DeviceGray {} cs -[0] sc -/DeviceGray {} CS -[0] SC -false op -false OP -{} settransfer -0 0 525.12 375.12 re -W -q -[0.24 0 0 -0.24 0 375.12] cm -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -0 0 700 500 re -f -Q -Q -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -80 100 540 320 re -f -Q -q -[3.125 0 0 3.125 719.90625 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1093.75 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1467.5625 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 1841.4063 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -q -[3.125 0 0 3.125 0 1250.78125] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 1031.65625] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 812.5] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 593.375] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 0 374.21875] cm -80 0 m -620 0 l -f -/DeviceRGB {} CS -[0.9333 0.9333 0.9333] SC -/DeviceRGB {} cs -[0.9333 0.9333 0.9333] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -80 0 m -620 0 l -S -Q -q -[3.125 0 0 3.125 346.09375 0] cm -0 100 m -0 420 l -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -0 100 m -0 420 l -S -Q -Q -q -250 312.5 1687.5 1000 re -W* -q -[3.125 0 0 3.125 250 312.5] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -2 w -0 J -0 j -2 M -2 w -0 J -0 j -2 M -30.75 300.25 m -270 19.75 l -509.25 160 l -S -Q -q -[3.125 0 0 3.125 346.09375 1250.78125] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -q -[3.125 0 0 3.125 1093.75 374.21875] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -q -[3.125 0 0 3.125 1841.4063 812.5] cm -/DeviceRGB {} CS -[0.1216 0.4667 0.7059] SC -/DeviceRGB {} cs -[0.1216 0.4667 0.7059] sc -3 0 m -3 0.397825 2.923879 0.780508 2.771638 1.14805 c -2.619397 1.515592 2.402625 1.840016 2.12132 2.12132 c -1.840016 2.402625 1.515592 2.619397 1.14805 2.771638 c -0.780508 2.923879 0.397825 3 0 3 c --0.397825 3 -0.780508 2.923879 -1.14805 2.771638 c --1.515592 2.619397 -1.840016 2.402625 -2.12132 2.12132 c --2.402625 1.840016 -2.619397 1.515592 -2.771638 1.14805 c --2.923879 0.780508 -3 0.397825 -3 0 c --3 -0.397825 -2.923879 -0.780508 -2.771638 -1.14805 c --2.619397 -1.515592 -2.402625 -1.840016 -2.12132 -2.12132 c --1.840016 -2.402625 -1.515592 -2.619397 -1.14805 -2.771638 c --0.780508 -2.923879 -0.397825 -3 0 -3 c -0.397825 -3 0.780508 -2.923879 1.14805 -2.771638 c -1.515592 -2.619397 1.840016 -2.402625 2.12132 -2.12132 c -2.402625 -1.840016 2.619397 -1.515592 2.771638 -1.14805 c -2.923879 -0.780508 3 -0.397825 3 0 c -h -f -Q -Q -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 346.09375 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\023) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 719.90625 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -10.801758 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\023\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1093.75 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\024) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1467.5625 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -10.801758 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\024\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 1841.4063 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 -3.600586 433] Tm -0 0 Td -/F6_0 12 Tf -(\000\025) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 1250.78125] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\024) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 1031.65625] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 57.396484 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\024\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 812.5] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\025) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 593.375] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 57.396484 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\025\000\021\000\030) -[7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 374.21875] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 71.798828 4.2] Tm -0 0 Td -/F6_0 12 Tf -(\000\026) -[7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 324.49585 50] Tm -0 0 Td -/F6_0 17 Tf -(\0007\000L\000W\000O\000H) -[10.20166 -0 -10.20166 -0 -10.20166 -0 -10.20166 -0 -10.20166 -0] Tj -Q -Q -Q -showpage -%%PageTrailer -pdfEndPage -%%Trailer -end -%%DocumentSuppliedResources: -%%+ font LiberationMono -%%EOF diff --git a/src/kaleido/tests/test_py/baselines/plotly/simple.jpeg b/src/kaleido/tests/test_py/baselines/plotly/simple.jpeg deleted file mode 100644 index 649fc01149bb8a2dae8aa39ee526efe9024a71bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16873 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/simple.pdf b/src/kaleido/tests/test_py/baselines/plotly/simple.pdf deleted file mode 100644 index d3b9bb356a8b860fa5531686a555e0f8d7448b45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7524 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/simple.png b/src/kaleido/tests/test_py/baselines/plotly/simple.png deleted file mode 100644 index 6926fddcd5f3f6236f6482afc7c3f3ffbf4dd5d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28703 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 RT>Q6600.511.5211.522.53Title \ No newline at end of file diff --git a/src/kaleido/tests/test_py/baselines/plotly/simple.webp b/src/kaleido/tests/test_py/baselines/plotly/simple.webp deleted file mode 100644 index ee15ab06516f70e5a9123869b8ad506aefde0720..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4882 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/topojson.eps b/src/kaleido/tests/test_py/baselines/plotly/topojson.eps deleted file mode 100644 index 844472b9..00000000 --- a/src/kaleido/tests/test_py/baselines/plotly/topojson.eps +++ /dev/null @@ -1,30956 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%Produced by poppler pdftops version: 0.80.0 (http://poppler.freedesktop.org) -%%Creator: Chromium -%%LanguageLevel: 2 -%%DocumentSuppliedResources: (atend) -%%BoundingBox: 0 0 526 376 -%%HiResBoundingBox: 0 0 525.12 375.12 -%%DocumentSuppliedResources: (atend) -%%EndComments -%%BeginProlog -%%BeginResource: procset xpdf 3.00 0 -%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC -/xpdf 75 dict def xpdf begin -% PDF special state -/pdfDictSize 15 def -/pdfSetup { - /setpagedevice where { - pop 2 dict begin - /Policies 1 dict dup begin /PageSize 6 def end def - { /Duplex true def } if - currentdict end setpagedevice - } { - pop - } ifelse -} def -/pdfSetupPaper { - % Change paper size, but only if different from previous paper size otherwise - % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size - % so we use the same when checking if the size changes. - /setpagedevice where { - pop currentpagedevice - /PageSize known { - 2 copy - currentpagedevice /PageSize get aload pop - exch 4 1 roll - sub abs 5 gt - 3 1 roll - sub abs 5 gt - or - } { - true - } ifelse - { - 2 array astore - 2 dict begin - /PageSize exch def - /ImagingBBox null def - currentdict end - setpagedevice - } { - pop pop - } ifelse - } { - pop - } ifelse -} def -/pdfStartPage { - pdfDictSize dict begin - /pdfFillCS [] def - /pdfFillXform {} def - /pdfStrokeCS [] def - /pdfStrokeXform {} def - /pdfFill [0] def - /pdfStroke [0] def - /pdfFillOP false def - /pdfStrokeOP false def - /pdfLastFill false def - /pdfLastStroke false def - /pdfTextMat [1 0 0 1 0 0] def - /pdfFontSize 0 def - /pdfCharSpacing 0 def - /pdfTextRender 0 def - /pdfPatternCS false def - /pdfTextRise 0 def - /pdfWordSpacing 0 def - /pdfHorizScaling 1 def - /pdfTextClipPath [] def -} def -/pdfEndPage { end } def -% PDF color state -/cs { /pdfFillXform exch def dup /pdfFillCS exch def - setcolorspace } def -/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def - setcolorspace } def -/sc { pdfLastFill not { pdfFillCS setcolorspace } if - dup /pdfFill exch def aload pop pdfFillXform setcolor - /pdfLastFill true def /pdfLastStroke false def } def -/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if - dup /pdfStroke exch def aload pop pdfStrokeXform setcolor - /pdfLastStroke true def /pdfLastFill false def } def -/op { /pdfFillOP exch def - pdfLastFill { pdfFillOP setoverprint } if } def -/OP { /pdfStrokeOP exch def - pdfLastStroke { pdfStrokeOP setoverprint } if } def -/fCol { - pdfLastFill not { - pdfFillCS setcolorspace - pdfFill aload pop pdfFillXform setcolor - pdfFillOP setoverprint - /pdfLastFill true def /pdfLastStroke false def - } if -} def -/sCol { - pdfLastStroke not { - pdfStrokeCS setcolorspace - pdfStroke aload pop pdfStrokeXform setcolor - pdfStrokeOP setoverprint - /pdfLastStroke true def /pdfLastFill false def - } if -} def -% build a font -/pdfMakeFont { - 4 3 roll findfont - 4 2 roll matrix scale makefont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /Encoding exch def - currentdict - end - definefont pop -} def -/pdfMakeFont16 { - exch findfont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /WMode exch def - currentdict - end - definefont pop -} def -% graphics state operators -/q { gsave pdfDictSize dict begin } def -/Q { - end grestore - /pdfLastFill where { - pop - pdfLastFill { - pdfFillOP setoverprint - } { - pdfStrokeOP setoverprint - } ifelse - } if -} def -/cm { concat } def -/d { setdash } def -/i { setflat } def -/j { setlinejoin } def -/J { setlinecap } def -/M { setmiterlimit } def -/w { setlinewidth } def -% path segment operators -/m { moveto } def -/l { lineto } def -/c { curveto } def -/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath } def -/h { closepath } def -% path painting operators -/S { sCol stroke } def -/Sf { fCol stroke } def -/f { fCol fill } def -/f* { fCol eofill } def -% clipping operators -/W { clip newpath } def -/W* { eoclip newpath } def -/Ws { strokepath clip newpath } def -% text state operators -/Tc { /pdfCharSpacing exch def } def -/Tf { dup /pdfFontSize exch def - dup pdfHorizScaling mul exch matrix scale - pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put - exch findfont exch makefont setfont } def -/Tr { /pdfTextRender exch def } def -/Tp { /pdfPatternCS exch def } def -/Ts { /pdfTextRise exch def } def -/Tw { /pdfWordSpacing exch def } def -/Tz { /pdfHorizScaling exch def } def -% text positioning operators -/Td { pdfTextMat transform moveto } def -/Tm { /pdfTextMat exch def } def -% text string operators -/xyshow where { - pop - /xyshow2 { - dup length array - 0 2 2 index length 1 sub { - 2 index 1 index 2 copy get 3 1 roll 1 add get - pdfTextMat dtransform - 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put - } for - exch pop - xyshow - } def -}{ - /xyshow2 { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval show moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval show moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/cshow where { - pop - /xycp { - 0 3 2 roll - { - pop pop currentpoint 3 2 roll - 1 string dup 0 4 3 roll put false charpath moveto - 2 copy get 2 index 2 index 1 add get - pdfTextMat dtransform rmoveto - 2 add - } exch cshow - pop pop - } def -}{ - /xycp { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval false charpath moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval false charpath moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/Tj { - fCol - 0 pdfTextRise pdfTextMat dtransform rmoveto - currentpoint 4 2 roll - pdfTextRender 1 and 0 eq { - 2 copy xyshow2 - } if - pdfTextRender 3 and dup 1 eq exch 2 eq or { - 3 index 3 index moveto - 2 copy - currentfont /FontType get 3 eq { fCol } { sCol } ifelse - xycp currentpoint stroke moveto - } if - pdfTextRender 4 and 0 ne { - 4 2 roll moveto xycp - /pdfTextClipPath [ pdfTextClipPath aload pop - {/moveto cvx} - {/lineto cvx} - {/curveto cvx} - {/closepath cvx} - pathforall ] def - currentpoint newpath moveto - } { - pop pop pop pop - } ifelse - 0 pdfTextRise neg pdfTextMat dtransform rmoveto -} def -/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 - pdfTextMat dtransform rmoveto } def -/TJmV { 0.001 mul pdfFontSize mul neg 0 exch - pdfTextMat dtransform rmoveto } def -/Tclip { pdfTextClipPath cvx exec clip newpath - /pdfTextClipPath [] def } def -/Tclip* { pdfTextClipPath cvx exec eoclip newpath - /pdfTextClipPath [] def } def -% Level 2/3 image operators -/pdfImBuf 100 string def -/pdfImStr { - 2 copy exch length lt { - 2 copy get exch 1 add exch - } { - () - } ifelse -} def -/skipEOD { - { currentfile pdfImBuf readline - not { pop exit } if - (%-EOD-) eq { exit } if } loop -} def -/pdfIm { image skipEOD } def -/pdfImM { fCol imagemask skipEOD } def -/pr { 2 index 2 index 3 2 roll putinterval 4 add } def -/pdfImClip { - gsave - 0 2 4 index length 1 sub { - dup 4 index exch 2 copy - get 5 index div put - 1 add 3 index exch 2 copy - get 3 index div put - } for - pop pop rectclip -} def -/pdfImClipEnd { grestore } def -% shading operators -/colordelta { - false 0 1 3 index length 1 sub { - dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { - pop true - } if - } for - exch pop exch pop -} def -/funcCol { func n array astore } def -/funcSH { - dup 0 eq { - true - } { - dup 6 eq { - false - } { - 4 index 4 index funcCol dup - 6 index 4 index funcCol dup - 3 1 roll colordelta 3 1 roll - 5 index 5 index funcCol dup - 3 1 roll colordelta 3 1 roll - 6 index 8 index funcCol dup - 3 1 roll colordelta 3 1 roll - colordelta or or or - } ifelse - } ifelse - { - 1 add - 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch - 6 index 6 index 4 index 4 index 4 index funcSH - 2 index 6 index 6 index 4 index 4 index funcSH - 6 index 2 index 4 index 6 index 4 index funcSH - 5 3 roll 3 2 roll funcSH pop pop - } { - pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul - funcCol sc - dup 4 index exch mat transform m - 3 index 3 index mat transform l - 1 index 3 index mat transform l - mat transform l pop pop h f* - } ifelse -} def -/axialCol { - dup 0 lt { - pop t0 - } { - dup 1 gt { - pop t1 - } { - dt mul t0 add - } ifelse - } ifelse - func n array astore -} def -/axialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index axialCol 2 index axialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index axialSH - exch 3 2 roll axialSH - } { - pop 2 copy add 0.5 mul - axialCol sc - exch dup dx mul x0 add exch dy mul y0 add - 3 2 roll dup dx mul x0 add exch dy mul y0 add - dx abs dy abs ge { - 2 copy yMin sub dy mul dx div add yMin m - yMax sub dy mul dx div add yMax l - 2 copy yMax sub dy mul dx div add yMax l - yMin sub dy mul dx div add yMin l - h f* - } { - exch 2 copy xMin sub dx mul dy div add xMin exch m - xMax sub dx mul dy div add xMax exch l - exch 2 copy xMax sub dx mul dy div add xMax exch l - xMin sub dx mul dy div add xMin exch l - h f* - } ifelse - } ifelse -} def -/radialCol { - dup t0 lt { - pop t0 - } { - dup t1 gt { - pop t1 - } if - } ifelse - func n array astore -} def -/radialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index dt mul t0 add radialCol - 2 index dt mul t0 add radialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index radialSH - exch 3 2 roll radialSH - } { - pop 2 copy add 0.5 mul dt mul t0 add - radialCol sc - encl { - exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 0 360 arc h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 360 0 arcn h f - } { - 2 copy - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arcn - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arcn h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arc - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arc h f - } ifelse - } ifelse -} def -end -%%EndResource -%%EndProlog -%%BeginSetup -xpdf begin -%%BeginResource: font LiberationMono -/LiberationMono_sfnts [ -<00010000000b0080000300306376742067066d57000000bc000002ae6670676d -7e61b6110000036c000007b4676c7966a2cb901500000b200000081868656164 -04d4c02000001338000000366868656108c1fdc90000137000000024686d7478 -433607f800001394000001706c6f63615f5c5cd400001504000000ba6d617870 -04d304c0000015c00000002070726570c8f38c8f000015e00000057a76686561 -0002080100001b5c00000024766d74780800000000001b80000000ba00> -<05cc05cc007d054500150060054500150000000000000000000000000000043a -001400770000ffec00000000ffecff5f0000ffec0000fe57fe57000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000008000000000000b400bd00aa00a000c800b40085000000000000 -0088007e00a500c000000000000000000000000000bf00c900ab008c00bc009b -008d003400000000000000000000000000000000000000000000000000b900b4 -007c000000000094005f00000000000000000000000000000000000000000000 -0000000001a8006f007800a400c80083008d00bb005e018a0103006000740081 -00b800c0005004b104c3fe4c00eb01b200c30109007b012b029600c9009600db -05d804d500000000000000000000000000000000009200a8006b009200b7006b -009b0000000002f20092023e006e02a50345008900a00060024c000000c30000 -014e00a4015b005e00800069006f0000005e0068000000000000000000000000 -0026034a0087007b000000750068000000000000000000000582fcb1000bfff4 -00830089008f009600690071005b005200000000000000b202030000008d031f -00bb00ae00b500000000008b000000000000000006a9037002bc0208fd990091 -0091004d004d006400640181009f00a8fe68fe9c009b014501450090fef6ffe9 -007a0545024d000cffee0598fcf3006e004c0062004600e80000000000000000 -00000000000000000000000000000000000000000000000005cc000ffc1efff2 -02fb000e0416000afed300bf0000000000000000035b0010fd22ffecff78fff0 -fe60fe5302fb000f041605a505b205c30079005f06810468001404cb0000ffec -ffd3fe7f008300db00aa00ba00a0000000> -<40475b5a59585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c -3b3a393837363531302f2e2d2c28272625242322211f181411100f0e0d0b0a09 -0807060504030201002c20b0016045b003252011466123452361482d2c204518 -68442d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 -b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d -2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c -20452320b0cd442320b8015a51582320b08d44235920b0ed51582320b04d4423 -5920b0042651582320b00d44235921212d2c20204518684420b001602045b046 -76688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b2d2c00b028 -2370b101283e01b0282370b10228453ab10200080d2d2c2045b00325456164b0 -50515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b0 -0743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c -58b00361592d2c8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c23 -4445b02b23442d2c4b525845441b2121592d2c4b515845441b2121592d2c01b0 -05251023208af500b0016023edec2d2c01b005251023208af500b0016123edec -2d2c01b0062510f500edec2d2cb00243b001525821212121211b462346608a8a -462320468a608a61b8ff8062232010238ab10c0c8a70456020b0005058b00161 -b8ffba8b1bb0468c59b0106068013a592d2c2045b0032546524bb013515b58b0 -022546206861b00325b003253f2321381b2111592d2c2045b00325465058b002 -2546206861b00325b003253f2321381b2111592d2c00b00743b006430b2d2c21 -210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b -59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c -0c6423648bb84000626023212d2c4b53588ab004254964234569b0408b61b080 -62b020616ab00e23442310b00ef61b21238a121120392f592d2c4b535820b003 -2549646920b00526b0062549642361b08062b020616ab00e2344b0042610b00e -f68a10b00e2344b00ef6b00e2344b00eed1b8ab00426111220392320392f2f59 -2d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045b00054 -58b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c -4b5158b02f2370b01423421b2121592d2c4b515820b0032545695358441b2121 -591b2121592d2c45b01443b0006063b0016069442d2cb02f45442d2c45232045 -8a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3330034005944 -442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 -01615923586559b02923442310b029e01b2121212121592d2cb0024354584b53 -234b515a58381b2121591b21212121592d2cb0164358b004254564b020606620 -581b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b0 -042510b005252046b0042523423cb00425b0072508b0072510b006252046b004 -25b0016023423c2058011b0059b0042510b00525b029e0b02920456544b00725 -10b00625b029e0b00525b00825082058021b0359b00525b003254348b00425b0 -072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 -46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002 -2543482121212d2c452320451820b00050205823652359236820b040505821b0 -4059235865598a60442d2c4b53234b515a5820458a60441b2121592d2c4b5458 -20458a60441b2121592d2c4b53234b515a58381b2121592d2cb000214b545838 -1b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b21 -2121592d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b2121 -21592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b0005358 -20b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140 -408a704560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d -2cb012004b014b54422d2cb1020042b123018851b1400188535a58b910000020 -885458b202010243604259b12401885158b920000040885458b2020202436042 -b12401885458b2022002436042004b014b5258b2020802436042591bb9400000 -80885458b202040243604259b94000008063b80100885458b202080243604259 -b94000010063b80200885458b202100243604259b12601885158b94000020063 -b80400885458b202400243604259b94000040063b80800885458b20280024360 -42595959595959b10002435458400a0540084009400c020d021bb10102435458 -b2054008ba010000090100b30c010d011bb18002435258b2054008b80180b109 -401bb2054008ba01800009014059b9400000808855b94000020063b804008855 -5a58b30c000d011bb30c000d0159595942424242422d2c451868234b51582320 -452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e00b0 -02233eb10102060cb00a236542b00b234201b001233f00b002233fb10102060c -b006236542b0072342b00116012d2cb080b0024350b001b00243545b58212310 -b0201ac91b8a10ed592d2cb0592b2d2c8a10e52d00> -<0002007f0000038102ee00030007001e400c060007030003080905010600002f -cd2fcd111201393911331133313033112111032111217f030281fe00020002ee -fd12026dfe14000000> -<0003007cffec044f055a000b0017001b0054402e1a190c1212060c0006001c1d -0f18010f181f18020d18400f191f1902150319190309090f7359090703157359 -0319003f2b00183f2b11120039182f5f5e5d1acd5e5d71111201393911331133 -1112393931300110022322021110122132120310022322021110123332122535 -3315044ff9f3f3f4ee00fff9edb78da2a69193a09f94fe58eb02a3feaefe9b01 -630154015d015afea3fea601220103ff00fedbfee3fef9010e9ef9f900> -<00020067000004650545000a000d004640270c050d0602080902030105010e0f -00040c04735908050f0c1f0c2f0c6f0c040c0c010b06060118003f3f3312392f -5d33332b11003311120139391117331133331133313001112311213501331133 -1509012103a9b4fd72027bc7bcfe90fe0c01f4013ffec1013f8c037afc888e03 -43fd4b0000> -<00010080ffec044b0545001d0058402d1918131315141408070d160007001e1f -1419735914141b1b1073591b1b0415151873591506040a735908080419003f33 -2f2b00183f2b11120039182f2b110033182f2b11120139391133331133331133 -33113333313001140e0123222627371633323635342623220607231321152103 -36333216044b76e39bc5f220b639ec8da8a68b497e3fb02f0321fd851d75aecc -fb01bc8bd273aca315d1a8917c9e2e3702d891fe575aeb0000> -<00020097ffec0448055a00160023005b4032111e1e060c0b0b17000600242514 -1a73595f140100141014020a0314140309090e73590f0c0111030c0c09070321 -73590319003f2b00183f332f5f5e5d2b11120039182f5f5e5d5d2b1112013939 -11333311331133113331300114062322021110003320130726232202153e0133 -321607342623220e011514163332360448f3d4ecfe0108f0013f53ac35b399aa -31b273c0e8b799834a844ba17e7f9701bed4fe0159013d015c017cfee11facfe -eafb5b5fedce90a043774b98cca8000000> -<0001009e0000042d05450009002c4015020303070b060007000a0b0007080773 -5908060218003f3f2b1100331112013939113311123911333130010011231012 -13213521042dfe27bcf5f2fd1f038f04bafd58fdee01070261014c9100> -<00030085ffec0446055a001b00260032006a403918152d0a270d1c15220d0d2d -061527000600333400111011020f031f03021005180a0a252a252a7359252503 -11111f73591107033073590319003f2b00183f2b11120039182f2b1112003911 -335f5e5d5d111201393911333311333311331133111239111239313001140623 -222635343637352e0135343e0133321e0115140607151e010334262322061514 -1633201334262322061514163332360446f9e7e2ff9e7b70886fca8389cc6c8a -70829bde877f7b898a7c0104239c8d889b97929390017ab8d6d2ba81b515041b -ae7062a058599e6571ae160415b101f56f71726e6f7afe8078818b72878d8a0000> -<000100a2000004620545000b0057403605090900030a0a0700030c0d05085f59 -1f052f05020f052f053f055f057f05af05df05071f030505000101045f590103 -00095f590012003f2b00183f2b11120039182f5f5e5d712b1112011739113311 -3311333130331121152111211521112115a20397fd28029cfd64030105459cfe -5a9afe339c00000000> -<00020085ffec0446044e0014001a004f402c1800000d0607191313070d031b1c -1800505918180a101015505910100a035059df06ef060280060106060a16003f -332f5d5d2b00183f2b11120039182f2b11120117391133113311331133313001 -141633323637170e0123220211101233321211150122060721020142a18c679b -1a9e2ceba3ecfef9ebebf2fe25869c0502481c01f7b6ce594d2d7c8401260112 -010b011ffee2fedf1801d2af9901480000> -<0001008a0000044b05cc00180033401a1601010602020d191a0a1150590a0000 -040504505916050f0115003f3f332b110033183f2b1112013939113333113331 -300111231121352135343633321617152e0123220e011d0121150244b4fefa01 -06c1e148a72a1eb72f686a3101eb03acfc5403ac8e19cdac0d0891050c2e685d -0a8e000000> -<0002008f0000046505cc0009000d003c401f0b0c0c0100000405050e0f0b0a53 -590b0008075059080f0004030450590315003f2b110033183f2b00183f2b1112 -013911333311333311333130252115213521112135212735331502e9017cfc2a -01a6fec101f3c8c88e8e8e031e8ed2c0c000000000> -<0005010b0000045c05cc000f0010001100120014000025051525262726271121 -352111161716172717273503430119fe8e71341603fedf01d5011815396710c4 -93058e0414461e86043c8efb212d1613095fed8e7400000000> -<000200b3fe5704420450001700230038401d1e11080809180009002425151b50 -591115100c0f081b02215059040216003f332b00183f3f3f332b111201393911 -331133113333313001102122272316151123113427331e0215333e0133321203 -34262322061514163332360442fe78f6550504b506af01040504329b7dc6c2ba -7a8397868695857a0222fdcab8089efe590503aa3604336318695ffeeffee3e2 -c1dbded5c6ca000000> -<0001005e0000046d043a000b003c401f0809090a0701040403000b0605050203 -030b0c0d070a04010408050f030015003f323f33173911120139391133331133 -1133121739331133313021090123090133090133090103a4febffebdc2019ffe -73c7012c012ac9fe7301a401bcfe44022c020efe5b01a5fdf4fdd20000> -<0001000000020000f3ae48425f0f3cf5021f080000000000c8437aa700000000 -d948fb0afc25fd9905f107d900000008000000000000000000> -<0001000006a9fd9900000559fc25fa7a05f10001000000000000000000000000 -0000005c00> -<04cd007f00000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000004cd007c00000000000000000000000004cd0067 -04cd008004cd009704cd009e04cd008500000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -04cd00a200000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -04cd008504cd008a000000000000000004cd008f000000000000000004cd010b -00000000000000000000000004cd00b300000000000000000000000000000000 -00000000000000000000000004cd005e00> -<0000002400240024002400240024002400240024002400240024002400240024 -0024002400240024008200820082008200c40120018801b60236023602360236 -023602360236023602360236023602360236027a027a027a027a027a027a027a -027a027a027a027a027a027a027a027a027a027a027a027a027a027a027a027a -027a027a027a027a027a027a027a027a027a02d2031403140314034e034e034e -037a037a037a037a03ce03ce03ce03ce03ce03ce03ce03ce040c000000> -<00010000005c01220048005b000600020010002f005c000003b903110003000100> -<412601530001014d005501520001014d0055015601540014001f01550154001f -001f014f0033014e0055014c0033014d0055013d003d013c0055013c0001013a -0055013b003d013a005501350134b2801f00412e013400100134000201340002 -012e0055013300480132005500800132000101320002012e00550131003d0130 -0055000f0130000101300002012e0055012f003d012e00550020012e0060012e -00020000012e0020012e00020009012eb2010055b8012db23d0055b8012cb300 -ff1f7041110144000101440001013e00550143003d0142005501420001013e00 -55013f003d013e40675500fd01f550281ff246281ff1462a1ff046351f8fee9f -eeafee036fef8fef02bfef01a0ef011fef5fef6fef0300ec40ec020aeb46ff1f -e7e4261fe6e43d1fe5e41e1f0fe4011de3e2461f0fe20140e246161fe1e0461f -bfe0cfe0dfe00340e0333646e046181fbc0114003e011200550113400c3d0355 -df3ddd55de3ddc5500411201160001011600010115005500af01150001002001 -15005001150002000f011500010111405303ff1fdd01dc5520dc50dc80dcb0dc -040fdc01d015331f5fc36fc37fc303bfc201c150261f70be0120be30bec0be03 -70be80be020fbc1fbc022fbc3fbc6fbcafbcdfbc05b9ad261f20b830b850b870 -b880b805b8ffc0401cb813294610b70120b750b780b7b0b70480b5b0b5020fb3 -3fb3efb303b8010d402baa481f80b090b002b0b0c0b0d0b0032faf3faf02a0ad -b0ad02c0add0ad022fac3fac029fab01c0aad0aa02410d010f0032010e005500 -00010e0010010e0020010e0003000f0110401501509c609c709c039996261f98 -46261f3097409702b8ffc0b396161c46b8ffc04009960e1146a1943c1fa04109 -0145003c001f01470145003c001f014601454028641f951bff1f0f94af94bf94 -0340941d31464094161b4640940c0f460f932f933f937f93ef93050fba010c00 -6f010c402002928d261f9153ff1fdf90013090011f902f90026f907f9002008f -108f208f03b8ffc040208f181c46208e308e024f8d5f8d6f8d03308c010f8c1f -8c2f8c03408c10134610bf010b0020010b0030010b0003ffc0010bb2172046b9 -ffc0010b40501014468b82261f894a3c1f88873d1f87843c1f864aff1f9f8501 -108420843084033083017f82014082090c467350261f6f46351f6e46351f1a01 -185519331855073303550603ff1f6050261f5f50261fb9ffe00107b21f2646b9 -ffe00107401f131c465e5a481f5c46311f5b5a481f5a46311f13321255050103 -5504320355b80108b51b3c1f0f0301b901190118b2351f40b80118b2172846b8 -010a402550261f52501b1fef51ff510240513538464051252846cf5001df4c01 -4c461d1f4b46481f50b8011b4062014a46261f4946351f4846351f4746351faf -4601df46ef4602804601170115551632155511010f5510320f55020100550100 -ff1f1c1b641f1f0f3f0f5f0f7f0f040f0f2f0f4f0f6f0f8f0fdf0fff0f073f0f -7f0fef0f036f00014f0001a016010501b80190b154532b2b4bb807ff524bb009 -505bb00188b02553b00188b040515ab00688b000555a5b58b101018e59858d8d -00421d4bb0325358b0601d594bb0645358b0401d594bb0805358b0101db11600 -425973747374752b2b2b2b2b2b2b017374752b2b2b2b73002b2b74742b2b732b -2b2b2b732b2b2b2b012b2b2b002b2b2b2b2b2b2b2b2b012b2b002b012b737474 -732b2b2b2b2b2b2b73002b737474742b75737474742b2b73732b2b2b732b2b2b -2b2b012b2b732b2b007374732b017373740073747473742b7301730073742b73 -2b737401737475002b730174002b73732b2b7373732b732b2b2b2b012b2b742b -2b5e732b005e732b2b2b012b5e73007373737473012b2b2b002b732b2b2b2b73 -2b2b2b5e73742b2b732b2b732b2b732b2b2b2b2b2b2b2b2b2b18000000> -<0001000000000000000008000000000000000000000100000000000000000000 -0000000100> -<0800000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000> -] def -10 dict begin -/FontName /LiberationMono_00 def -/FontType 42 def -/FontMatrix [1 0 0 1 0 0] def -/FontBBox [-987 -615 1521 2009] def -/PaintType 0 def -/sfnts LiberationMono_sfnts def -/Encoding 256 array -dup 0 /c00 put -dup 1 /c01 put -dup 2 /c02 put -dup 3 /c03 put -dup 4 /c04 put -dup 5 /c05 put -dup 6 /c06 put -dup 7 /c07 put -dup 8 /c08 put -dup 9 /c09 put -dup 10 /c0a put -dup 11 /c0b put -dup 12 /c0c put -dup 13 /c0d put -dup 14 /c0e put -dup 15 /c0f put -dup 16 /c10 put -dup 17 /c11 put -dup 18 /c12 put -dup 19 /c13 put -dup 20 /c14 put -dup 21 /c15 put -dup 22 /c16 put -dup 23 /c17 put -dup 24 /c18 put -dup 25 /c19 put -dup 26 /c1a put -dup 27 /c1b put -dup 28 /c1c put -dup 29 /c1d put -dup 30 /c1e put -dup 31 /c1f put -dup 32 /c20 put -dup 33 /c21 put -dup 34 /c22 put -dup 35 /c23 put -dup 36 /c24 put -dup 37 /c25 put -dup 38 /c26 put -dup 39 /c27 put -dup 40 /c28 put -dup 41 /c29 put -dup 42 /c2a put -dup 43 /c2b put -dup 44 /c2c put -dup 45 /c2d put -dup 46 /c2e put -dup 47 /c2f put -dup 48 /c30 put -dup 49 /c31 put -dup 50 /c32 put -dup 51 /c33 put -dup 52 /c34 put -dup 53 /c35 put -dup 54 /c36 put -dup 55 /c37 put -dup 56 /c38 put -dup 57 /c39 put -dup 58 /c3a put -dup 59 /c3b put -dup 60 /c3c put -dup 61 /c3d put -dup 62 /c3e put -dup 63 /c3f put -dup 64 /c40 put -dup 65 /c41 put -dup 66 /c42 put -dup 67 /c43 put -dup 68 /c44 put -dup 69 /c45 put -dup 70 /c46 put -dup 71 /c47 put -dup 72 /c48 put -dup 73 /c49 put -dup 74 /c4a put -dup 75 /c4b put -dup 76 /c4c put -dup 77 /c4d put -dup 78 /c4e put -dup 79 /c4f put -dup 80 /c50 put -dup 81 /c51 put -dup 82 /c52 put -dup 83 /c53 put -dup 84 /c54 put -dup 85 /c55 put -dup 86 /c56 put -dup 87 /c57 put -dup 88 /c58 put -dup 89 /c59 put -dup 90 /c5a put -dup 91 /c5b put -readonly def -/CharStrings 257 dict dup begin -/.notdef 0 def -/c00 0 def -/c01 1 def -/c02 2 def -/c03 3 def -/c04 4 def -/c05 5 def -/c06 6 def -/c07 7 def -/c08 8 def -/c09 9 def -/c0a 10 def -/c0b 11 def -/c0c 12 def -/c0d 13 def -/c0e 14 def -/c0f 15 def -/c10 16 def -/c11 17 def -/c12 18 def -/c13 19 def -/c14 20 def -/c15 21 def -/c16 22 def -/c17 23 def -/c18 24 def -/c19 25 def -/c1a 26 def -/c1b 27 def -/c1c 28 def -/c1d 29 def -/c1e 30 def -/c1f 31 def -/c20 32 def -/c21 33 def -/c22 34 def -/c23 35 def -/c24 36 def -/c25 37 def -/c26 38 def -/c27 39 def -/c28 40 def -/c29 41 def -/c2a 42 def -/c2b 43 def -/c2c 44 def -/c2d 45 def -/c2e 46 def -/c2f 47 def -/c30 48 def -/c31 49 def -/c32 50 def -/c33 51 def -/c34 52 def -/c35 53 def -/c36 54 def -/c37 55 def -/c38 56 def -/c39 57 def -/c3a 58 def -/c3b 59 def -/c3c 60 def -/c3d 61 def -/c3e 62 def -/c3f 63 def -/c40 64 def -/c41 65 def -/c42 66 def -/c43 67 def -/c44 68 def -/c45 69 def -/c46 70 def -/c47 71 def -/c48 72 def -/c49 73 def -/c4a 74 def -/c4b 75 def -/c4c 76 def -/c4d 77 def -/c4e 78 def -/c4f 79 def -/c50 80 def -/c51 81 def -/c52 82 def -/c53 83 def -/c54 84 def -/c55 85 def -/c56 86 def -/c57 87 def -/c58 88 def -/c59 89 def -/c5a 90 def -/c5b 91 def -end readonly def -FontName currentdict end definefont pop -16 dict begin -/FontName /LiberationMono def -/FontType 0 def -/FontMatrix [1 0 0 1 0 0] def -/FMapType 2 def -/Encoding [ -0 -] def -/FDepVector [ -/LiberationMono_00 findfont -] def -FontName currentdict end definefont pop -%%EndResource -/F7_0 /LiberationMono 0 pdfMakeFont16 -%%EndSetup -pdfStartPage -%%EndPageSetup -[] 0 d -1 i -0 j -0 J -10 M -1 w -/DeviceGray {} cs -[0] sc -/DeviceGray {} CS -[0] SC -false op -false OP -{} settransfer -0 0 525.12 375.12 re -W -q -[0.24 0 0 -0.24 0 375.12] cm -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -0 0 700 500 re -f -Q -Q -q -248.4375 336.72104 1650 826.55786 re -W* -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -79.5 107.750732 528 264.49854 re -f -/DeviceRGB {} CS -[0.898 0.9255 0.9647] SC -/DeviceRGB {} cs -[0.898 0.9255 0.9647] sc -246.4427 357.49387 m -249.76315 357.54657 l -252.92549 357.67834 l -253.9796 357.07224 l -254.77019 356.57153 l -256.29865 357.17764 l -255.877 357.91553 l -255.45535 358.57434 l -252.34573 358.36353 l -249.07799 358.46893 l -247.286 357.96823 l -247.286 357.91553 l -246.4427 357.49387 l -h -103.821449 355.04306 m -104.717445 354.51602 l -107.458138 354.75317 l -108.933891 355.20117 l -110.04071 355.72824 l -110.409645 356.38705 l -107.616249 356.57153 l -105.718849 356.07083 l -104.822853 355.54376 l -104.770149 355.46472 l -103.821449 355.04306 l -h -272.26843 354.25247 m -273.00632 354.25247 l -275.16724 353.93625 l -277.38086 354.25247 l -279.22556 354.88495 l -279.85803 355.78094 l -280.01614 356.41342 l -280.06885 357.15131 l -277.80252 357.59927 l -275.43076 357.99457 l -272.69006 358.33716 l -269.58044 358.60071 l -266.15457 358.52164 l -264.20447 358.04727 l -264.46802 357.44116 l -267.57764 357.04587 l -268.84256 356.54517 l -269.79126 355.91272 l -270.42374 355.35931 l -271.31973 354.85861 l -272.26843 354.25247 l -h -164.0112 347.82242 m -164.327438 347.34805 l -166.066727 347.58524 l -167.96413 347.82242 l -169.7034 347.55887 l -168.86012 348.08594 l -167.489777 348.45486 l -165.43425 348.34946 l -164.0112 347.82242 l -h -157.159485 347.53253 m -158.213593 347.21628 l -159.689346 347.55887 l -161.955688 348.13864 l -161.059692 348.08594 l -159.162292 347.95416 l -157.159485 347.53253 l -h -193.68443 345.23984 m -194.63313 344.97632 l -196.47783 345.18713 l -198.58606 345.29254 l -200.21992 345.50336 l -201.80109 345.31888 l -202.69708 346.16217 l -201.53757 346.05676 l -199.74557 346.10947 l -197.95358 346.05676 l -195.95078 346.13583 l -194.47502 345.84595 l -193.68443 345.23984 l -h -235.26912 344.34384 m -236.32324 344.15936 l -238.00981 344.21207 l -238.43146 343.47418 l -238.48416 342.92078 l -238.48416 341.76126 l -239.32745 341.04974 l -240.6451 340.83893 l -241.43568 341.36597 l -241.75191 341.91937 l -242.38438 342.57822 l -242.91144 343.21066 l -243.28036 343.86948 l -243.4912 344.52832 l -243.22766 345.10806 l -242.80602 345.66147 l -241.06674 345.84595 l -239.43286 346.13583 l -237.53546 346.10947 l -238.27335 345.52972 l -236.53406 345.74054 l -234.90019 345.92502 l -233.79337 345.50336 l -233.68796 344.89725 l -235.26912 344.34384 l -h -80 364.00339 m -80.103951 364.02936 l -81.368881 363.15973 l -84.004158 363.63406 l -84.162277 363.58136 l -84.583923 363.44962 l -85.110977 363.31784 l -85.532623 363.18607 l -85.743439 363.10703 l -85.954262 363.10703 l -86.112381 363.13336 l -88.220604 363.73947 l -90.0653 363.13336 l -90.434235 363.05432 l -94.703384 362.79077 l -96.126442 363.13336 l -96.811607 363.31784 l -98.972542 363.79221 l -103.136276 364.18747 l -106.456726 364.63547 l -112.096222 364.97806 l -116.312668 364.58276 l -122.531929 364.87265 l -126.063202 365.32065 l -129.910706 364.89902 l -134.021744 364.50372 l -134.337967 363.79221 l -128.540359 363.73947 l -123.849564 363.39691 l -122.584633 362.81714 l -118.684418 362.50092 l -118.947945 361.84207 l -119.475006 361.26233 l -120.00206 360.70892 l -119.738533 360.10281 l -117.314072 359.70752 l -116.154556 359.18045 l -113.888214 358.73245 l -117.472191 358.81152 l -120.845345 358.57434 l -122.953568 359.07504 l -125.588852 358.62704 l -127.960602 358.10001 l -129.172821 357.59927 l -128.645767 356.99316 l -126.748367 356.59787 l -124.58744 356.17624 l -121.583229 356.09717 l -118.947945 355.88635 l -116.101845 355.75461 l -115.153145 355.20117 l -113.255745 354.72684 l -112.148933 354.22614 l -111.674583 352.56592 l -112.41246 352.69766 l -113.730095 353.17203 l -116.101845 353.01392 l -118.420891 352.80307 l -119.633118 353.43555 l -121.952164 353.30377 l -123.902267 352.98755 l -125.746964 352.59225 l -127.43354 352.09155 l -129.594467 351.95978 l -129.541763 351.40637 l -129.067413 350.85297 l -129.489059 350.35226 l -131.386459 350.08875 l -132.229752 350.58945 l -134.44339 350.29956 l -136.129959 349.93063 l -138.23819 349.87793 l -140.240997 349.74615 l -142.191101 349.40356 l -143.772263 349.08734 l -145.564255 348.77112 l -146.723785 348.85016 l -147.725189 348.98193 l -149.886108 348.77112 l -151.836212 349.03464 l -153.839035 349.00827 l -155.789139 348.79745 l -157.739243 348.95557 l -159.900177 349.08734 l -161.955688 349.03464 l -164.063904 349.06097 l -166.277542 349.08734 l -168.28035 349.03464 l -169.7561 348.58664 l -171.5481 348.37582 l -173.39279 348.69205 l -175.13208 348.42853 l -176.71324 347.90146 l -177.66194 348.37582 l -178.13629 348.87653 l -179.08499 349.37723 l -180.61345 348.95557 l -182.35274 349.48264 l -184.35555 349.66711 l -186.04213 350.06238 l -188.09764 349.98334 l -189.99504 349.71982 l -192.15598 349.77252 l -194.15878 349.98334 l -196.16159 350.24686 l -196.95218 349.61441 l -196.00348 349.11368 l -195.26561 348.58664 l -193.36821 348.48123 l -192.57762 347.92783 l -192.26138 347.40076 l -191.73433 346.29395 l -192.84114 346.50476 l -194.73854 346.58383 l -196.63594 346.50476 l -198.37523 346.74194 l -199.85098 347.16357 l -200.48346 347.69064 l -202.48627 347.76971 l -204.38367 347.55887 l -206.38647 347.26901 l -208.17847 347.11087 l -209.65422 347.45346 l -211.60432 347.34805 l -212.86926 346.21487 l -214.08148 346.87372 l -215.76807 347.13724 l -217.56006 347.00546 l -218.77228 347.55887 l -220.7224 347.61157 l -222.46167 347.79605 l -224.25366 348.11227 l -225.36047 347.55887 l -225.94025 347.05817 l -227.416 347.61157 l -229.41881 347.47983 l -230.89456 347.79605 l -231.89597 348.29675 l -233.84607 348.13864 l -235.37454 347.82242 l -236.903 347.45346 l -238.64229 347.24265 l -240.6978 347.08453 l -242.5952 346.87372 l -244.01825 346.55746 l -244.86154 346.10947 l -245.23048 345.47702 l -245.07236 344.87088 l -244.59801 344.29114 l -244.07095 343.71136 l -243.5966 343.15796 l -243.22766 342.63092 l -243.17496 342.05115 l -243.28036 341.49774 l -243.96555 340.94434 l -244.5453 340.33823 l -244.80884 339.75845 l -244.4926 339.12598 l -244.33449 338.57257 l -245.07236 337.88742 l -245.86295 337.46576 l -246.81165 336.91235 l -247.81305 336.46436 l -248.97256 336.04272 l -249.55234 335.41025 l -250.34291 335.01495 l -251.29161 334.61966 l -252.66196 334.54062 l -253.61066 334.09262 l -254.61206 333.80273 l -255.8243 333.61826 l -256.87842 333.24933 l -257.72171 332.80133 l -258.88123 332.61685 l -259.72452 332.98578 l -259.19745 333.48648 l -257.66898 333.90814 l -257.08923 334.22437 l -255.98241 333.98718 l -254.77019 334.14532 l -253.76878 334.48788 l -252.71466 334.85684 l -251.97679 335.27847 l -251.76596 335.85825 l -251.87138 336.41165 l -252.55655 336.88602 l -251.55515 337.22858 l -250.1848 337.36035 l -249.39421 337.83472 l -248.49821 338.30905 l -247.60223 338.94153 l -247.3914 339.46857 l -247.86575 340.07468 l -248.65634 340.54904 l -249.86856 340.89163 l -250.97539 341.33963 l -251.60785 341.91937 l -251.92409 342.47278 l -252.34573 343.02621 l -253.0309 343.52692 l -253.45255 344.05396 l -253.66336 345.42432 l -254.08501 345.95135 l -254.19043 346.53113 l -254.66478 347.11087 l -254.45395 347.87512 l -253.66336 348.48123 l -252.76738 348.98193 l -250.81726 349.16641 l -250.1848 349.69345 l -249.2888 350.16782 l -247.07516 350.72122 l -245.12506 350.95837 l -243.28036 351.27463 l -241.33026 351.59085 l -240.17075 352.19696 l -237.799 352.24966 l -235.21642 352.19696 l -232.89737 352.30237 l -230.42021 352.30237 l -230.89456 352.88214 l -233.1082 353.11932 l -234.74207 353.54095 l -235.69077 354.04166 l -234.0569 354.51602 l -231.52702 354.35791 l -229.41881 354.72684 l -229.3134 355.33295 l -229.2607 355.91272 l -230.99997 356.41342 l -231.31621 356.94046 l -233.1609 357.49387 l -236.27054 357.73105 l -238.90581 358.12634 l -241.01404 358.57434 l -243.64931 359.04871 l -247.3387 359.25952 l -250.92268 359.68115 l -253.39984 360.10281 l -256.14053 360.57715 l -257.56357 361.28867 l -258.24875 361.81573 l -260.04074 361.31503 l -262.46521 360.86703 l -264.99506 360.41904 l -268.05197 360.05011 l -270.63455 359.65482 l -274.27124 359.60211 l -277.85522 359.81293 l -280.80673 360.15552 l -281.75543 359.52304 l -283.81094 359.10141 l -287.50034 359.07504 l -290.39914 358.75882 l -293.13983 358.44257 l -296.19675 358.23175 l -299.46451 357.96823 l -301.73083 357.59927 l -300.67673 357.09857 l -300.04425 356.57153 l -300.04425 356.01813 l -297.19815 356.09717 l -294.19394 356.30801 l -291.34784 356.30801 l -290.92621 355.78094 l -291.13702 354.67413 l -291.7695 354.35791 l -293.87772 354.01532 l -296.35486 353.67273 l -298.14685 353.25107 l -299.88614 352.80307 l -301.2038 352.24966 l -303.2066 351.98615 l -305.20941 351.77533 l -306.21082 351.66992 l -308.47714 351.61722 l -310.63809 351.40637 l -312.43008 351.11652 l -314.22205 350.77393 l -315.80322 350.43134 l -317.85873 349.98334 l -319.12369 349.48264 l -320.49402 349.06097 l -320.96838 348.48123 l -319.38721 348.13864 l -319.91425 347.53253 l -320.86295 347.08453 l -322.39142 346.79465 l -324.0253 346.45206 l -325.50104 345.97772 l -326.66058 345.42432 l -327.34573 344.73914 l -328.45258 344.31747 l -330.19183 344.42291 l -330.87701 344.89725 l -332.66901 344.94995 l -332.72171 344.42291 l -333.45959 343.84314 l -335.04077 343.97491 l -335.4097 344.52832 l -337.14899 344.60736 l -339.04639 344.34384 l -340.89108 344.18573 l -342.52493 344.26477 l -343.15741 344.87088 l -344.79129 344.37018 l -346.26703 344.13303 l -347.90091 343.92218 l -349.53479 343.71136 l -351.06326 343.36877 l -352.69711 343.15796 l -353.96207 342.84174 l -354.85806 342.31467 l -355.91217 342.68362 l -357.44061 342.49915 l -358.49472 343.18433 l -359.33801 343.68503 l -361.0246 343.39514 l -361.65707 342.84174 l -363.13281 342.42007 l -365.08292 342.52548 l -365.66269 343.05255 l -366.8222 342.52548 l -368.40338 342.34103 l -370.14267 342.28833 l -371.67111 342.31467 l -373.30499 342.49915 l -374.88617 342.57822 l -375.57135 343.05255 l -376.52005 343.50055 l -378.1539 343.23703 l -379.84048 343.18433 l -381.52707 343.18433 l -383.16095 343.15796 l -384.63669 342.94714 l -386.16516 342.78903 l -387.48279 342.36737 l -388.85315 342.10385 l -390.32889 341.97208 l -391.4357 341.57678 l -392.22629 340.75986 l -393.06958 340.28552 l -394.59805 340.52267 l -395.1778 341.02338 l -396.44275 341.36597 l -397.97119 341.26056 l -398.9726 341.76126 l -400.07944 342.15656 l -401.55518 341.81396 l -402.08224 341.18152 l -403.39987 340.91797 l -404.92834 340.41727 l -406.35138 340.23282 l -408.09067 339.94293 l -409.25018 339.62668 l -410.4097 339.28412 l -411.56924 338.96786 l -412.93958 339.12598 l -414.25723 338.62527 l -415.20593 338.20364 l -416.57626 338.25635 l -417.78848 337.88742 l -418.10474 337.38672 l -419.31696 336.99142 l -420.52917 336.70154 l -422.00494 336.46436 l -423.32257 336.35895 l -424.64023 336.43802 l -426.01056 336.56976 l -427.17007 336.99142 l -427.32819 337.62387 l -428.59314 338.09824 l -429.48914 338.49353 l -431.22842 338.67798 l -432.22983 339.07327 l -433.44205 339.46857 l -434.81238 339.57397 l -436.02463 339.28412 l -437.28955 338.67798 l -438.65988 338.99423 l -440.08295 339.15234 l -441.45328 339.33682 l -442.87634 339.44223 l -444.35208 339.44223 l -445.56433 340.97067 l -445.51163 341.33963 l -445.30078 341.99844 l -443.93045 342.36737 l -442.77094 342.92078 l -442.98175 343.50055 l -444.61563 343.47418 l -444.40482 344.02762 l -443.66693 344.58102 l -442.98175 345.18713 l -444.08856 345.63513 l -445.77515 345.79324 l -447.46173 345.52972 l -448.25232 344.94995 l -448.77936 344.42291 l -449.56995 343.94855 l -450.46594 343.52692 l -450.83487 342.99985 l -451.62546 342.28833 l -452.57416 342.15656 l -454.20804 342.07751 l -455.68378 341.91937 l -457.15955 341.68222 l -457.89743 341.10245 l -458.31906 340.57538 l -459.32047 340.02197 l -460.74353 339.65305 l -461.95575 339.36316 l -462.79904 338.86246 l -463.58963 338.62527 l -464.69644 338.38812 l -466.11951 338.51987 l -467.43713 338.38812 l -468.9129 338.20364 l -470.49405 338.30905 l -471.54816 337.88742 l -472.28604 336.91235 l -472.86581 337.33398 l -473.55096 338.01917 l -474.76321 338.30905 l -476.18625 338.41446 l -477.55661 338.25635 l -479.08505 338.36176 l -480.45541 338.38812 l -481.35141 338.25635 l -482.61633 338.33542 l -483.72314 338.65164 l -485.0408 338.44083 l -486.62195 338.44083 l -487.93961 338.25635 l -489.46805 338.44083 l -490.46945 337.96646 l -491.20734 337.46576 l -492.20874 337.07047 l -494.05344 335.99002 l -495.00214 336.17447 l -496.10895 336.56976 l -497.05765 337.09683 l -498.95505 337.99283 l -500.37811 338.01917 l -501.69574 338.01917 l -503.27692 337.83472 l -504.85809 337.65024 l -506.07031 337.22858 l -507.07172 336.80695 l -508.7056 336.75424 l -509.81241 336.43802 l -510.97192 336.72787 l -511.70981 337.17587 l -512.71118 337.65024 l -514.34509 337.57117 l -515.3465 337.96646 l -517.08575 338.33542 l -518.93048 338.46716 l -520.45892 338.36176 l -521.56573 337.88742 l -522.56714 337.43942 l -523.88477 337.33398 l -525.20245 337.51846 l -526.7309 337.67657 l -528.10126 337.43942 l -529.41888 337.43942 l -530.68384 337.57117 l -532.05414 337.72928 l -533.37177 337.46576 l -534.95294 337.22858 l -536.42871 337.17587 l -538.1153 337.17587 l -539.43292 337.04413 l -540.75055 336.91235 l -541.17224 336.20084 l -541.22491 335.59473 l -542.12091 336.01636 l -542.38446 336.67517 l -542.9115 337.28128 l -543.49127 337.75565 l -544.70349 338.01917 l -546.39008 337.94012 l -548.28748 337.88742 l -549.6051 337.80835 l -551.55524 337.80835 l -552.92554 337.78198 l -554.82294 337.83472 l -556.45685 337.96646 l -557.51093 338.41446 l -557.24744 338.96786 l -558.19611 339.38953 l -559.77728 339.73212 l -561.41113 340.10104 l -563.25586 340.36456 l -565.25867 340.60175 l -566.73444 340.81256 l -568.42102 340.86526 l -569.36969 340.36456 l -570.63464 340.75986 l -571.74146 341.23422 l -573.05908 341.57678 l -574.85107 341.70856 l -576.53766 341.89304 l -577.22284 342.47278 l -578.90942 342.81537 l -580.01624 343.31607 l -581.65009 343.55325 l -583.33667 343.52692 l -584.91785 343.60596 l -586.6571 343.57962 l -588.4491 343.68503 l -590.08301 343.89584 l -591.55872 344.23843 l -593.08722 344.52832 l -594.1413 344.94995 l -593.98322 345.52972 l -593.19263 346.05676 l -592.50745 346.71558 l -592.03308 347.21628 l -591.29523 347.82242 l -589.39783 348.05957 l -588.5545 348.56027 l -586.6571 348.87653 l -585.97192 349.45627 l -584.97052 350.00967 l -583.91644 350.45767 l -583.33667 351.06381 l -582.96771 351.61722 l -582.80963 352.27603 l -582.80963 352.80307 l -583.65289 353.38284 l -583.96912 353.93625 l -584.6543 354.46332 l -587.39502 354.64777 l -587.97473 355.28024 l -585.33948 355.51743 l -583.07312 355.83365 l -580.33246 355.88635 l -579.0675 356.72964 l -578.80402 357.41483 l -578.17151 357.94186 l -577.43365 358.49527 l -579.38373 358.99597 l -580.12164 359.57574 l -581.38654 360.12915 l -583.12585 360.62985 l -585.18134 361.07785 l -587.39502 361.52585 l -590.76813 362.00021 l -591.50604 362.71173 l -595.72247 363.02795 l -595.98602 363.13336 l -597.09283 363.58136 l -601.15112 363.21243 l -604.47162 363.66043 l -607 364.00278 l -607 371.74927 l -80 371.74927 l -80 364.00339 l -h -245.494 320.36279 m -244.96695 320.94257 l -243.75471 321.41693 l -242.17355 321.23245 l -241.06674 320.81079 l -239.53827 320.59998 l -237.69359 319.78305 l -236.21782 318.99246 l -234.21501 317.35858 l -235.42725 317.64847 l -237.48276 318.62354 l -239.38016 319.15057 l -240.17075 318.49176 l -240.6451 317.49036 l -241.96274 316.88425 l -243.01685 317.04236 l -243.5966 317.72754 l -244.33449 318.83435 l -246.23189 319.70398 l -248.2874 320.07294 l -247.60223 320.81079 l -246.23189 320.88986 l -245.494 320.36279 l -h -253.9269 315.90918 m -255.66618 315.01318 l -256.93112 315.38214 l -257.77441 314.80237 l -258.93393 315.46118 l -258.51227 315.98825 l -256.56216 316.40988 l -255.877 315.90918 l -254.66478 316.56799 l -253.9269 315.90918 l -h -444.40482 311.19205 m -445.35352 311.64005 l -446.72385 311.82449 l -446.77655 312.11438 l -446.40762 312.77319 l -444.14127 312.87863 l -444.08856 312.08804 l -444.29938 311.48193 l -444.40482 311.19205 l -h -559.72455 299.72858 m -560.56787 299.83398 l -560.67328 301.57327 l -560.19891 302.07397 l -560.04083 303.25986 l -559.51373 302.86456 l -558.51233 303.86597 l -558.19611 303.7869 l -557.30011 303.76056 l -556.40411 302.49564 l -556.1933 301.52057 l -555.35004 300.25565 l -555.40271 299.5968 l -556.35144 299.72858 l -557.77448 300.22928 l -558.56506 300.01846 l -559.72455 299.72858 l -h -591.87494 303.76056 m -593.13989 302.99634 l -593.98322 302.23209 l -594.66833 301.15164 l -595.19543 300.78268 l -595.45892 299.96576 l -596.46033 299.28058 l -596.77661 299.91306 l -597.09283 300.4928 l -598.14691 299.91306 l -598.5686 300.51917 l -598.5686 301.15164 l -598.0415 301.83679 l -597.09283 302.8909 l -596.35492 303.49704 l -596.88202 304.20856 l -595.72247 304.20856 l -594.51025 304.76196 l -594.08862 305.737 l -593.2453 307.21277 l -592.13849 307.87158 l -591.40063 308.26688 l -590.03027 308.24054 l -589.08154 307.76617 l -587.50043 307.66077 l -587.23688 307.1337 l -588.02747 306.02689 l -589.87213 304.60385 l -590.82086 304.31396 l -591.87494 303.76056 l -h -602.46881 298.6481 m -601.88904 299.43869 l -601.15112 300.44009 l -600.04431 301.01987 l -599.78082 300.65094 l -599.14832 300.44009 l -599.99164 299.22787 l -599.51727 298.41095 l -597.9361 297.83118 l -597.98883 297.30414 l -599.04291 296.80341 l -599.30646 295.67026 l -599.25372 294.72156 l -598.62128 293.74649 l -598.67401 293.48297 l -597.98883 292.87686 l -596.82928 291.58557 l -596.19684 290.5578 l -596.77661 290.42606 l -597.56714 291.24298 l -598.67401 291.61191 l -599.09564 292.92957 l -600.14972 294.45804 l -600.20245 293.48297 l -600.88763 293.87827 l -601.09845 294.98508 l -602.25793 295.45944 l -603.25934 295.56485 l -604.10266 295.01144 l -604.84052 295.16956 l -604.47162 296.48718 l -604.04993 297.33047 l -602.89044 297.30414 l -602.52148 297.75214 l -602.67963 298.38458 l -602.46881 298.6481 l -h -586.18274 270.84592 m -587.39502 271.76828 l -588.13287 272.42709 l -587.60583 272.79605 l -586.76251 272.40076 l -585.76111 271.74191 l -584.81244 270.95135 l -583.81104 269.92358 l -583.60022 269.42288 l -584.23267 269.44922 l -585.07593 269.94995 l -585.70844 270.45065 l -586.18274 270.84592 l -h -604.2608 265.62808 m -604.6297 265.3909 l -605.10406 265.81256 l -604.89325 266.57678 l -603.99725 266.76126 l -603.15393 266.60312 l -603.04852 265.94431 l -603.57562 265.4436 l -604.2608 265.62808 l -h -607 264.23206 m -606.05273 264.60031 l -605.1568 264.91656 l -604.94592 264.36316 l -605.68384 264.04691 l -606.1582 263.96786 l -607 263.52078 l -607 264.23206 l -h -80 263.5195 m -80.314766 263.4408 l -80.103951 264.15231 l -80 264.23029 l -80 263.5195 l -h -588.29102 263.25632 m -589.18701 264.09961 l -588.71265 264.31046 l -588.23828 263.65161 l -588.29102 263.25632 l -h -587.65851 262.94009 m -587.44769 262.5448 l -587.44769 261.41162 l -588.13287 261.85962 l -588.34369 263.0455 l -587.97473 262.86102 l -587.65851 262.94009 l -h -416.04919 258.2493 m -416.41815 258.88177 l -416.78708 259.85681 l -416.99789 261.5961 l -417.36685 262.28128 l -417.26144 262.9928 l -416.99789 263.41446 l -416.47086 262.57117 l -416.20734 262.9928 l -416.47086 264.07327 l -416.36545 264.70572 l -415.94379 265.04831 l -415.89108 266.2869 l -415.31134 267.99982 l -414.57346 270.00266 l -413.67746 272.76968 l -413.09769 274.8252 l -412.46524 276.51178 l -411.25299 276.85437 l -409.98807 277.48685 l -409.14478 277.09155 l -407.98526 276.59085 l -407.5636 275.80026 l -407.45819 274.50897 l -406.93115 273.34946 l -406.82574 272.29535 l -407.08926 271.24121 l -407.77444 270.97769 l -407.77444 270.50336 l -408.45959 269.39651 l -408.56503 268.44781 l -408.24878 267.76266 l -407.98526 266.8403 l -407.87985 265.49631 l -408.35419 264.67938 l -408.56503 263.73068 l -409.30289 263.67798 l -410.09348 263.38809 l -410.67325 263.12457 l -411.30569 263.09821 l -412.14899 262.25491 l -413.36124 261.35892 l -413.78287 260.62106 l -413.57205 260.01492 l -414.2045 260.17307 l -414.99509 259.17166 l -415.04779 258.27567 l -415.52216 257.61682 l -416.04919 258.2493 l -h -528.15393 287.15829 m -526.62549 287.92255 l -525.36053 288.23877 l -525.04431 289.02936 l -524.51727 289.6091 l -523.30505 289.63547 l -522.35632 289.76724 l -521.09137 289.50369 l -520.03729 289.6618 l -519.03589 289.74088 l -518.13989 290.5051 l -517.71826 290.45239 l -516.98035 290.87405 l -516.29517 291.32205 l -515.18835 291.26935 l -514.23969 291.26935 l -512.65851 290.34698 l -511.86792 290.0571 l -511.92062 289.21381 l -512.65851 289.02936 l -512.86932 288.68677 l -512.81665 288.1597 l -513.02747 287.13196 l -512.86932 286.28867 l -512.07874 284.78656 l -511.86792 283.9696 l -511.92062 283.12631 l -511.34088 282.17761 l -511.28815 281.75598 l -510.6557 281.14987 l -510.44489 280.01669 l -509.60159 278.85718 l -509.39075 278.2247 l -510.07593 278.85718 l -509.54889 277.51318 l -510.28674 277.93481 l -510.7084 278.48825 l -510.7084 277.75037 l -509.97052 276.59085 l -509.81241 276.14285 l -509.49619 275.69485 l -509.6543 274.85156 l -509.97052 274.4826 l -510.18134 273.74475 l -510.02322 272.90146 l -510.603 271.84735 l -510.7084 272.95416 l -511.34088 271.95276 l -512.50037 271.47839 l -513.23828 270.84592 l -514.34509 270.29251 l -515.03027 270.1871 l -515.39917 270.37158 l -516.55872 269.81818 l -517.45471 269.66006 l -517.66553 269.34381 l -518.08716 269.21207 l -518.87775 269.2384 l -520.40625 268.81677 l -521.19678 268.15796 l -521.56573 267.39371 l -522.46173 266.62949 l -522.51447 266.04971 l -522.56714 265.25916 l -523.56854 264.02057 l -524.20105 265.28549 l -524.8335 264.99561 l -524.30646 264.28409 l -524.78076 263.57257 l -525.41327 263.91516 l -525.57135 262.78198 l -526.36194 262.07047 l -526.7309 261.49069 l -527.46875 261.25351 l -527.46875 260.83188 l -528.15393 260.98999 l -528.15393 260.6474 l -528.78644 260.43658 l -529.52429 260.22577 l -530.57837 260.91092 l -531.42169 261.75421 l -532.31769 261.78058 l -533.26636 261.91232 l -532.95013 261.12177 l -533.63531 259.93588 l -534.3205 259.56696 l -534.05695 259.198 l -534.68945 258.35471 l -535.58545 257.82767 l -536.3233 258.01212 l -537.58826 257.72226 l -537.53552 256.98438 l -536.48145 256.51001 l -537.27203 256.29919 l -538.2207 256.64178 l -539.01129 257.24789 l -540.22351 257.61682 l -540.64514 257.48508 l -541.54114 257.93307 l -542.43713 257.51141 l -542.96423 257.64319 l -543.33313 257.3533 l -543.96564 258.09119 l -543.59668 258.85541 l -543.01691 259.46152 l -542.54254 259.51422 l -542.70068 260.09399 l -542.27905 260.83188 l -541.75195 261.5434 l -541.85736 261.96506 l -543.01691 262.75562 l -544.12372 263.22998 l -544.91431 263.73068 l -545.96844 264.60031 l -546.39008 264.60031 l -547.12793 264.96927 l -547.33875 265.41727 l -548.76184 265.91797 l -549.71051 265.41727 l -550.02673 264.65302 l -550.29028 263.9942 l -550.5011 263.17728 l -550.92273 262.01776 l -550.71191 261.30621 l -550.81732 260.88458 l -550.65924 260.04129 l -550.87006 258.96082 l -551.13354 258.64459 l -550.92273 258.17026 l -551.29169 257.37967 l -551.55524 256.58908 l -551.60791 256.16742 l -552.13495 255.61403 l -552.55664 256.32556 l -552.66205 257.24789 l -553.03094 257.43237 l -553.08368 258.03848 l -553.61072 258.77637 l -553.71613 259.61966 l -553.66345 260.1467 l -554.19049 261.30621 l -555.13916 260.75281 l -555.61353 261.35892 l -556.29871 261.93869 l -556.14063 262.5975 l -556.45685 263.83609 l -556.72034 264.57397 l -557.08929 264.75845 l -557.45825 265.99701 l -557.30011 266.76126 l -557.77448 267.76266 l -559.40833 268.52689 l -560.40973 269.21207 l -561.41113 269.84451 l -561.20032 270.21347 l -562.04364 271.1358 l -562.62335 272.71698 l -563.20313 272.37439 l -563.7829 273.00687 l -564.15186 272.79605 l -564.41534 274.35086 l -565.41675 275.24686 l -566.10193 275.80026 l -567.26147 276.98611 l -567.68311 278.172 l -567.73584 278.98895 l -567.63043 279.91129 l -568.31555 281.14987 l -568.21014 282.44116 l -567.94666 283.12631 l -567.5777 284.4176 l -567.63043 285.26089 l -567.31415 286.315 l -566.6817 287.659 l -565.57489 288.37054 l -565.04785 289.50369 l -564.57349 290.21524 l -564.15186 291.48016 l -563.57208 292.21805 l -563.20313 293.32486 l -562.99231 294.32626 l -563.09772 294.77426 l -562.25446 295.3013 l -560.62054 295.354 l -559.25024 295.96014 l -558.56506 296.51355 l -557.66907 297.146 l -556.45685 296.48718 l -555.56085 296.25 l -555.82434 295.48578 l -555.03375 295.7493 l -553.71613 296.80341 l -552.45123 296.40814 l -551.66064 296.1973 l -550.81732 296.09189 l -549.39429 295.64389 l -548.44556 294.74789 l -548.18207 293.64108 l -547.81311 292.9032 l -547.12793 292.29709 l -545.7049 292.13898 l -546.17926 291.42746 l -545.8103 290.34698 l -545.12512 291.34839 l -543.8075 291.61191 l -544.54535 290.79498 l -544.8089 289.95169 l -545.33594 289.24017 l -545.23053 288.1597 l -544.07104 289.39828 l -543.12231 289.89899 l -542.59528 291.08487 l -541.43573 290.47876 l -541.48846 289.68817 l -540.53973 288.63406 l -539.80188 288.08066 l -540.06537 287.73807 l -538.16797 286.86841 l -537.16656 286.8157 l -535.74353 286.10419 l -533.10828 286.23596 l -531.21088 286.763 l -529.57697 287.2637 l -528.15393 287.15829 l -h -580.80682 255.35049 m -581.22845 255.8512 l -580.22705 255.8512 l -579.64728 254.92885 l -580.54327 255.29779 l -580.80682 255.35049 l -h -519.61566 255.0079 m -517.66553 253.98015 l -519.03589 253.71663 l -519.77374 254.13826 l -520.30084 254.58626 l -520.19537 254.98155 l -519.61566 255.0079 l -h -578.9621 254.4545 m -578.38232 254.48085 l -577.48633 254.34909 l -577.22284 254.11191 l -577.27551 253.53215 l -578.27692 253.76933 l -578.75128 254.0592 l -578.9621 254.4545 l -h -580.17432 254.0592 m -579.9635 254.32274 l -578.85669 253.0578 l -578.59314 252.18816 l -579.0675 252.18816 l -579.59454 253.34769 l -580.17432 254.0592 l -h -526.46735 253.0051 m -526.62549 252.66251 l -527.89044 252.34628 l -528.89185 252.29358 l -529.36615 252.1091 l -529.89325 252.29358 l -529.36615 252.68886 l -527.83771 253.32133 l -526.62549 253.74298 l -525.67676 254.84979 l -524.41187 255.16603 l -524.25372 254.98155 l -524.35913 254.48085 l -524.99158 253.61121 l -526.46735 253.0051 l -h -516.61145 252.24086 m -517.50745 252.1091 l -517.87634 252.74158 l -516.18976 253.03145 l -515.18835 253.24228 l -514.39777 253.21593 l -514.92487 252.37263 l -515.71545 252.37263 l -516.08435 251.84558 l -516.61145 252.24086 l -h -521.1441 252.50439 m -522.09277 252.37263 l -523.41046 251.84558 l -523.19965 252.66251 l -520.98596 253.08415 l -519.03589 252.89969 l -519.03589 252.37263 l -520.19537 252.0564 l -521.1441 252.50439 l -h -577.22284 251.74016 m -577.53906 252.21451 l -577.59174 252.50439 l -576.43225 251.87193 l -575.64166 251.34488 l -575.11462 250.87053 l -575.32544 250.7124 l -576.01062 251.05499 l -577.22284 251.74016 l -h -573.53345 250.29076 m -574.11322 250.76511 l -573.84967 250.84418 l -573.16449 250.50159 l -572.58472 249.89546 l -572.63745 249.65829 l -573.53345 250.29076 l -h -502.32822 249.39476 m -502.53903 249.92183 l -505.33243 250.07994 l -505.64865 249.47383 l -508.33664 250.159 l -508.86371 251.1077 l -511.07733 251.37123 l -512.86932 252.24086 l -511.23544 252.82063 l -509.60159 252.21451 l -508.28394 252.26723 l -506.75549 252.1618 l -505.38513 251.89828 l -503.69855 251.31853 l -502.59174 251.18675 l -502.01199 251.37123 l -499.32401 250.76511 l -499.06046 250.13264 l -497.74283 250.02724 l -498.74423 248.63054 l -500.53622 248.70959 l -501.69574 249.28935 l -502.32822 249.39476 l -h -539.95996 250.10629 m -539.80188 248.99948 l -540.06537 248.47241 l -540.38165 247.97171 l -540.75055 248.39336 l -540.69788 249.10489 l -539.95996 250.10629 l -h -570.05487 247.8136 m -570.4765 248.15619 l -571.21442 249.07854 l -571.89954 249.57924 l -571.68872 249.97453 l -571.26709 250.13264 l -570.63464 249.57924 l -570.00214 248.63054 l -569.68591 247.52371 l -569.89673 247.39195 l -570.05487 247.8136 l -h -564.99512 248.55148 m -564.20453 248.89406 l -563.41394 249.23665 l -562.67609 249.23665 l -561.46387 248.815 l -560.62054 248.41971 l -560.72595 247.97171 l -562.04364 248.18254 l -562.83423 248.05078 l -563.09772 247.3656 l -563.30853 247.3129 l -563.41394 248.10349 l -564.25726 247.99806 l -564.67889 247.49736 l -565.52216 246.97031 l -565.31134 246.10066 l -566.20734 246.07431 l -566.52362 246.31149 l -566.47089 247.12843 l -565.99652 248.02443 l -565.20593 248.12984 l -564.99512 248.55148 l -h -529.20807 245.54726 m -528.20667 245.28374 l -527.94312 244.65126 l -529.41888 244.5722 l -529.78784 245.07291 l -529.20807 245.54726 l -h -532.89746 244.09785 m -534.47864 244.5195 l -535.00568 245.65266 l -533.79346 245.04655 l -532.58124 244.91479 l -531.73792 245.0202 l -530.73651 244.9675 l -531.05273 244.15056 l -532.89746 244.09785 l -h -566.94525 245.36279 m -567.52502 245.83714 l -567.68311 246.57501 l -567.20874 246.97031 l -566.94525 246.10066 l -566.62903 245.54726 l -565.94385 245.07291 l -565.10052 244.44044 l -564.04645 244.0188 l -564.46808 243.64986 l -565.25867 244.0715 l -565.73303 244.38774 l -566.36548 244.73033 l -566.94525 245.36279 l -h -549.92133 243.80798 m -552.45123 244.80939 l -555.13916 245.65266 l -556.14063 246.39055 l -556.98389 247.12843 l -557.1947 247.99806 l -559.61914 248.89406 l -559.9881 249.68465 l -558.67047 249.84276 l -558.98669 250.81781 l -560.30432 251.76651 l -561.25305 253.32133 l -562.04364 253.26863 l -561.99091 253.92744 l -563.15045 254.16463 l -562.67609 254.4545 l -564.25726 255.06061 l -564.09912 255.48225 l -563.15045 255.58768 l -562.78149 255.21873 l -561.51654 255.06061 l -560.04083 254.82344 l -558.88129 253.90109 l -558.03802 253.08415 l -557.30011 251.81923 l -555.40271 251.1604 l -554.13776 251.58205 l -553.24176 252.08275 l -553.45264 253.16321 l -552.29309 253.66391 l -551.44983 253.40039 l -549.97406 253.34769 l -548.65643 252.13545 l -547.18066 251.84558 l -546.81171 252.26723 l -544.96704 252.31993 l -545.59949 251.13405 l -546.49548 250.7124 l -546.12653 249.13124 l -545.38867 247.89265 l -542.59528 246.65408 l -541.38306 246.52231 l -539.16943 245.17831 l -538.74774 245.88985 l -538.16797 246.02161 l -537.85175 245.49455 l -537.85175 244.83574 l -536.74493 244.12421 l -538.27344 243.59715 l -539.32751 243.6235 l -539.22211 243.25456 l -537.06116 243.22821 l -536.48145 242.35858 l -535.16376 242.09505 l -534.58405 241.38351 l -536.53412 241.01459 l -537.27203 240.54024 l -539.64374 241.14635 l -539.85455 241.6734 l -540.27625 244.04515 l -541.80469 244.94115 l -543.01691 243.38634 l -544.70349 242.49034 l -546.02112 242.49034 l -547.23334 242.99104 l -548.34015 243.5181 l -549.92133 243.80798 l -h -523.46313 238.72189 m -525.14972 238.66919 l -526.57275 237.58871 l -526.8363 237.9313 l -525.67676 239.38071 l -524.56995 239.64424 l -523.14691 239.38071 l -520.72247 239.43341 l -519.45752 239.64424 l -519.2467 240.75105 l -520.51166 242.0687 l -521.30225 241.40987 l -524.04291 240.90916 l -523.9375 241.56799 l -523.30505 241.35716 l -522.67255 242.22681 l -521.35492 242.78021 l -522.77795 244.65126 l -522.51447 245.17831 l -523.83209 246.8649 l -523.77936 247.8136 l -523.0415 248.2616 l -522.46173 247.73454 l -523.14691 246.52231 l -521.72388 247.10208 l -521.35492 246.70679 l -521.51306 246.12701 l -520.45892 245.28374 l -520.61707 243.83434 l -519.61566 244.28233 l -519.72107 245.99525 l -519.77374 248.10349 l -518.87775 248.3143 l -518.2453 247.8663 l -518.66693 246.52231 l -518.45612 245.12561 l -517.82367 245.09926 l -517.3493 244.09785 l -517.98175 243.14915 l -518.19257 241.98964 l -518.93048 239.776 l -519.19397 239.16989 l -520.45892 238.08942 l -521.61847 238.51106 l -523.46313 238.72189 l -h -530.78925 236.82449 m -530.89465 237.61507 l -531.73792 237.74684 l -531.89606 238.35295 l -531.79065 239.61789 l -531.05273 239.48611 l -530.84192 240.38211 l -531.42169 241.14635 l -531.00006 241.30446 l -530.42029 240.38211 l -529.99866 238.51106 l -530.31488 237.35155 l -530.78925 236.82449 l -h -496.26709 241.59435 m -496.53061 242.6221 l -497.05765 243.43904 l -498.11176 243.54445 l -498.84964 244.49315 l -498.48071 246.31149 l -498.42801 248.57784 l -496.79413 248.60419 l -495.52921 247.3656 l -493.68451 246.17973 l -493.05203 245.28374 l -491.94522 244.09785 l -491.20734 242.99104 l -490.10052 240.96188 l -488.8356 239.7233 l -488.36124 238.48471 l -487.8342 237.3252 l -486.51654 236.40285 l -485.77866 235.16426 l -484.67184 234.34734 l -483.1434 232.71346 l -482.98526 231.97557 l -483.93396 232.02829 l -486.20032 232.31816 l -487.51794 233.74121 l -488.62476 234.74261 l -489.46805 235.34874 l -490.83841 236.9299 l -492.31415 236.95625 l -493.5264 237.95766 l -494.36969 239.16989 l -495.52921 239.85506 l -494.89673 241.04094 l -495.74002 241.54164 l -496.26709 241.59435 l -h -504.0148 237.06166 m -505.12161 237.56236 l -506.22842 237.29884 l -506.54465 236.06026 l -507.17712 235.77039 l -508.91641 235.45415 l -509.97052 234.29462 l -510.7084 233.37227 l -511.28815 232.81886 l -512.50037 232.02829 l -513.65991 231.00052 l -514.39777 229.86736 l -514.97754 229.86736 l -515.71545 230.60524 l -515.76813 231.2377 l -516.76953 231.633 l -517.98175 232.08099 l -517.87634 232.66075 l -516.87494 232.73981 l -517.13849 233.45134 l -516.08435 233.95204 l -515.24109 235.26967 l -516.29517 236.64001 l -516.03168 237.3252 l -517.71826 238.66919 l -515.97894 238.85365 l -515.4519 239.85506 l -515.55731 241.1727 l -514.13428 242.1741 l -514.08154 243.6235 l -513.5545 245.86349 l -513.29095 245.36279 l -511.6571 246.02161 l -511.07733 245.12561 l -510.02322 245.04655 l -509.28534 244.5722 l -507.54605 245.09926 l -507.01901 244.38774 l -506.07031 244.4668 l -504.85809 244.28233 l -504.64725 242.33221 l -503.90939 241.93694 l -503.22421 240.672 l -503.0134 239.38071 l -503.17151 238.03671 l -504.0148 237.06166 l -h -528.52289 227.68007 m -528.6283 228.65512 l -528.7337 229.47206 l -528.25934 230.81606 l -527.67957 229.31395 l -526.99445 230.07817 l -527.46875 231.13229 l -527.04712 231.81746 l -525.36053 230.97417 l -524.9389 229.92006 l -525.36053 229.23489 l -524.46454 228.52336 l -523.99017 229.12947 l -523.30505 229.07677 l -522.19824 229.89371 l -521.98737 229.47206 l -522.56714 228.23349 l -523.46313 227.8382 l -524.25372 227.28479 l -524.78076 227.9436 l -525.88757 227.54831 l -526.15112 226.8895 l -527.15253 226.83679 l -527.09985 225.70361 l -528.25934 226.41515 l -528.41748 227.15302 l -528.52289 227.68007 l -h -463.22067 228.99771 m -463.00986 230.49982 l -462.37741 230.92146 l -461.11246 231.26405 l -460.42731 230.10454 l -460.16376 227.99631 l -460.84894 225.62456 l -461.85034 226.4415 l -462.53552 227.46925 l -463.22067 228.99771 l -h -253.18901 224.25421 m -254.0323 224.06975 l -254.34854 224.12245 l -254.29584 225.20291 l -253.0836 225.36102 l -252.82008 225.22926 l -253.24173 224.83397 l -253.18901 224.25421 l -h -522.9361 225.38739 m -523.30505 224.96574 l -523.46313 224.06975 l -524.30646 223.99069 l -524.04291 224.96574 l -525.14972 223.56905 l -524.99158 224.96574 l -524.46454 225.44009 l -523.99017 226.36244 l -523.56854 226.78407 l -522.67255 225.78267 l -522.9361 225.38739 l -h -516.98035 226.36244 m -515.03027 227.75914 l -515.76813 226.73137 l -516.82227 225.83537 l -517.66553 224.80762 l -518.45612 223.35822 l -518.71967 224.5441 l -517.77094 225.36102 l -516.98035 226.36244 l -h -522.14551 223.27916 m -521.93469 222.59399 l -522.77795 223.04199 l -523.72668 223.04199 l -523.72668 223.6481 l -523.0415 224.28056 l -522.09277 224.72856 l -522.0401 224.0434 l -522.14551 223.27916 l -h -527.20526 222.1987 m -527.62689 223.83257 l -526.52008 223.43727 l -526.52008 223.93797 l -526.88904 224.83397 l -526.20386 225.17656 l -526.15112 224.12245 l -525.67676 224.06975 l -525.46594 223.17375 l -526.30927 223.27916 l -526.30927 222.72575 l -525.41327 221.61894 l -526.8363 221.64529 l -527.20526 222.1987 l -h -520.40625 221.40811 m -519.61566 220.27495 l -520.88055 220.32765 l -521.40765 220.85471 l -521.0387 222.11964 l -520.40625 221.40811 l -h -522.56714 213.31781 m -522.35632 213.92392 l -522.83069 214.97803 l -522.46173 216.19026 l -521.61847 216.69096 l -521.35492 217.85049 l -521.72388 219.03636 l -522.46173 219.19447 l -523.14691 219.01001 l -524.9389 219.82695 l -524.8335 220.61752 l -525.30786 220.96011 l -525.14972 221.64529 l -523.99017 220.93376 l -523.46313 220.16953 l -523.09418 220.69659 l -522.14551 219.82695 l -520.82788 220.03777 l -520.08997 219.72153 l -520.1427 219.11542 l -520.61707 218.74648 l -520.19537 218.4039 l -519.98456 218.93095 l -519.2467 218.08766 l -519.03589 217.4552 l -518.98315 216.03215 l -519.56293 216.53285 l -519.72107 214.24016 l -520.19537 212.92252 l -521.09137 212.92252 l -521.98737 213.31781 l -522.46173 212.94887 l -522.56714 213.31781 l -h -246.49541 212.89616 m -247.23329 213.02792 l -247.49681 213.31781 l -247.12788 213.68675 l -246.02106 213.68675 l -245.12506 213.73946 l -245.07236 213.10698 l -245.28319 212.89616 l -246.49541 212.89616 l -h -229.94586 212.92252 m -230.94727 213.05428 l -231.68515 213.42322 l -231.94867 213.81851 l -230.94727 213.84486 l -230.47292 214.08205 l -229.68234 213.84486 l -228.83905 213.31781 l -228.99716 212.97522 l -229.62962 212.86981 l -229.94586 212.92252 l -h -238.53687 211.13052 m -238.69499 210.89336 l -239.85451 210.89336 l -240.6978 211.2623 l -241.11945 211.23593 l -241.38297 211.763 l -242.17355 211.73665 l -242.12085 212.15828 l -242.75331 212.211 l -243.4912 212.7644 l -242.96414 213.34416 l -242.22626 213.02792 l -241.5938 213.08063 l -241.11945 213.02792 l -240.85591 213.29146 l -240.27615 213.37051 l -240.06534 213.02792 l -239.53827 213.23875 l -238.95851 214.24016 l -238.58957 214.00298 l -238.53687 213.58133 l -237.53546 213.34416 l -236.8503 213.44957 l -235.9543 213.31781 l -235.26912 213.6077 l -234.47855 213.1597 l -234.63666 212.68535 l -235.9543 212.86981 l -237.06111 213.00157 l -237.58817 212.659 l -236.9557 212.02652 l -236.9557 211.47311 l -236.007 211.2623 l -236.37595 210.84065 l -237.27194 210.91971 l -238.53687 211.13052 l -h -503.75125 213.37051 m -502.53903 212.89616 l -502.53903 211.65758 l -503.22421 210.97241 l -504.85809 210.57712 l -505.70139 210.60347 l -506.01761 211.15688 l -505.38513 211.8157 l -505.0162 212.659 l -503.75125 213.37051 l -h -115.996437 210.60347 m -116.259964 210.73523 l -116.523491 210.91971 l -116.892433 211.44676 l -116.839722 211.52582 l -116.259964 211.84206 l -115.785614 212.05287 l -115.574791 212.31641 l -115.205849 212.10558 l -115.25856 211.68393 l -115.047737 211.15688 l -115.100441 210.99876 l -115.363968 210.76158 l -115.25856 210.47171 l -115.311264 210.33995 l -115.469383 210.3663 l -115.996437 210.60347 l -h -115.153145 209.60207 m -114.995033 209.78653 l -114.520683 209.89195 l -114.257149 209.57571 l -114.099037 209.44395 l -114.099037 209.3649 l -114.257149 209.23312 l -114.731499 209.39125 l -115.153145 209.60207 l -h -114.046333 208.99596 m -113.993622 209.15407 l -113.203041 209.12772 l -113.308449 208.94325 l -114.046333 208.99596 l -h -112.148933 208.20537 m -112.307045 208.31078 l -112.728691 208.78513 l -112.623283 208.86418 l -112.517868 208.86418 l -112.043518 208.81148 l -111.832695 208.4689 l -111.779991 208.4162 l -112.148933 208.20537 l -h -110.198822 207.46748 m -110.251526 207.81007 l -110.04071 207.9682 l -109.56636 207.70467 l -109.619064 207.59926 l -109.882591 207.44113 l -110.198822 207.46748 l -h -223.09415 206.04443 m -224.30637 206.14986 l -225.4659 206.17621 l -226.83624 206.67691 l -227.416 207.20396 l -228.78635 207.04585 l -229.3134 207.38843 l -230.57832 208.28442 l -231.47432 208.94325 l -231.94867 208.94325 l -232.84467 209.23312 l -232.73926 209.65477 l -233.79337 209.70747 l -234.90019 210.3136 l -234.74207 210.65617 l -233.74066 210.84065 l -232.79196 210.91971 l -231.79056 210.78795 l -229.68234 210.94606 l -230.63104 210.12912 l -230.05127 209.73383 l -229.10257 209.62842 l -228.62822 209.20677 l -228.25929 208.38983 l -227.416 208.44255 l -226.04565 208.04726 l -225.62401 207.73102 l -223.72661 207.5202 l -223.19955 207.23032 l -223.77931 206.86137 l -222.30356 206.78232 l -221.24945 207.54655 l -220.66968 207.57291 l -220.45886 207.91548 l -219.72098 208.07361 l -219.08852 207.94185 l -219.8791 207.49385 l -220.19533 206.96678 l -220.88051 206.65056 l -221.61838 206.36067 l -222.7252 206.20256 l -223.09415 206.04443 l -h -229.04987 203.09293 m -229.47151 203.14563 l -229.99857 204.35786 l -229.99857 205.22751 l -229.62962 205.28021 l -229.2607 204.43692 l -228.73364 204.01527 l -229.04987 203.09293 l -h -521.77655 204.27881 m -520.88055 206.62421 l -520.24811 207.83643 l -519.51025 206.59785 l -519.29938 205.51738 l -520.19537 204.06798 l -521.35492 202.96117 l -522.0401 203.40916 l -521.77655 204.27881 l -h -227.89035 200.77388 m -228.57552 200.66847 l -229.52422 200.72118 l -229.57692 201.09012 l -227.99576 201.32729 l -227.89035 200.77388 l -h -229.62962 200.40495 m -230.78915 201.06377 l -230.52562 202.11787 l -230.2621 201.93341 l -230.2621 201.16917 l -229.62962 200.58942 l -229.62962 200.40495 l -h -537.27203 191.02336 m -538.06256 190.12737 l -538.90588 190.31183 l -539.53833 189.70572 l -540.59247 190.02194 l -540.80328 190.52266 l -539.95996 191.39229 l -539.38025 190.91794 l -538.58966 191.26053 l -538.2207 192.13017 l -537.27203 191.70853 l -537.27203 191.02336 l -h -393.12228 188.41443 m -393.22769 188.67796 l -393.2804 188.78337 l -391.80466 189.38948 l -391.06677 189.20502 l -390.69785 188.62526 l -391.4357 188.54619 l -391.54111 188.54619 l -391.75195 188.20361 l -392.80606 188.22997 l -394.12369 187.78197 l -393.12228 188.41443 l -h -382.0014 188.33537 m -381.79059 188.75702 l -379.68237 188.88878 l -379.73508 188.65161 l -377.94308 188.36172 l -378.2066 187.72926 l -378.99719 188.22997 l -380.15671 188.15091 l -381.21082 188.25632 l -381.21082 188.49348 l -382.0014 188.33537 l -h -365.08292 184.17163 m -366.24246 184.03987 l -365.71539 185.17303 l -365.92621 185.64738 l -365.60999 186.38527 l -364.50317 185.83186 l -363.76529 185.67374 l -361.70978 184.93587 l -361.92059 184.19798 l -363.60718 184.32974 l -365.08292 184.17163 l -h -356.22839 180.13966 m -356.96628 179.66531 l -357.86227 180.71942 l -357.65146 182.64317 l -356.96628 182.56412 l -356.38651 183.03847 l -355.85947 182.66953 l -355.75403 180.87753 l -355.43781 180.06059 l -356.22839 180.13966 l -h -551.18628 182.64317 m -549.86865 184.11893 l -549.86865 185.62103 l -549.34155 186.80692 l -549.55243 187.51843 l -548.81451 188.57254 l -546.96985 189.25772 l -544.38727 189.33678 l -542.27905 191.02336 l -541.27765 190.44359 l -541.22491 189.36313 l -538.69507 189.67937 l -536.95575 190.36453 l -535.26917 190.39088 l -536.74493 191.47136 l -535.74353 193.94852 l -534.79486 194.58098 l -534.10968 194.00122 l -534.47864 192.68358 l -533.52991 192.26193 l -532.95013 191.26053 l -534.3205 190.81253 l -535.11108 189.89018 l -536.58685 189.12596 l -537.64093 188.12454 l -540.53973 187.70291 l -542.12091 187.99278 l -543.64935 185.38387 l -544.65076 186.09538 l -546.75903 184.61963 l -547.60229 184.06622 l -548.55096 182.27423 l -548.28748 180.61401 l -548.86725 179.69167 l -550.44836 179.42813 l -551.23895 181.45729 l -551.18628 182.64317 l -h -356.2811 177.60979 m -357.2298 177.03003 l -357.49332 178.29497 l -357.01898 179.42813 l -356.3338 179.13824 l -356.01758 178.13684 l -356.2811 177.60979 l -h -555.19189 175.63333 m -556.24603 175.02722 l -556.56226 176.66109 l -554.40131 177.05638 l -553.08368 178.53214 l -550.81732 177.53073 l -550.02673 179.11189 l -548.39288 179.13824 l -548.18207 177.68884 l -548.91992 176.55568 l -550.44836 176.47662 l -550.87006 174.44745 l -551.34436 173.31429 l -553.03094 174.84274 l -554.19049 175.34344 l -555.19189 175.63333 l -h -249.76315 171.15335 m -250.29021 171.86488 l -251.34433 172.04935 l -252.71466 172.02299 l -251.97679 172.60277 l -251.44974 172.70818 l -249.60504 172.0757 l -249.2361 171.60135 l -249.76315 171.15335 l -h -249.02528 166.989624 m -249.55234 166.857849 l -251.50244 167.226791 l -252.9782 167.85925 l -253.0309 168.12279 l -252.29303 168.14914 l -250.39563 167.674789 l -249.02528 166.989624 l -h -159.900177 166.884201 m -160.638046 167.569382 l -162.1138 168.17549 l -162.693558 168.99243 l -161.955688 169.1769 l -159.531235 168.51808 l -159.109589 168.01738 l -157.791946 167.490326 l -157.528427 167.06868 l -156.052658 166.805145 l -155.4729 166.014572 l -155.578308 165.671982 l -157.159485 165.98822 l -158.055481 166.225388 l -159.425827 166.383499 l -159.900177 166.884201 l -h -262.09625 164.881393 m -261.30566 165.803741 l -260.35696 167.06868 l -261.30566 166.59433 l -262.30707 166.910553 l -261.78003 167.41127 l -263.09766 167.80655 l -263.73013 167.463974 l -265.20587 167.91197 l -264.78424 168.96608 l -265.78564 168.7289 l -265.99646 169.49313 l -266.41812 170.41548 l -265.83835 171.70677 l -265.15317 171.75948 l -264.20447 171.46959 l -264.52072 170.28372 l -264.09906 170.09924 l -262.41248 171.36418 l -261.51651 171.31148 l -262.57062 170.6263 l -261.14755 170.28372 l -259.56638 170.36278 l -256.72028 170.31007 l -256.50946 169.88843 l -257.40546 169.36137 l -256.77301 168.96608 l -258.03793 168.09644 l -259.51367 165.751038 l -260.46237 164.907745 l -261.72733 164.407043 l -262.41248 164.486099 l -262.09625 164.881393 l -h -149.200943 160.90213 m -150.623993 160.770355 l -150.202347 162.430588 l -151.467285 163.616455 l -150.887512 163.616455 l -149.991531 162.93129 l -149.464462 162.272476 l -148.726593 161.798126 l -148.463058 161.165649 l -148.515762 160.691299 l -149.200943 160.90213 l -h -552.71472 161.37648 m -553.24176 162.79953 l -553.18909 164.22258 l -553.76886 165.698334 l -555.24463 168.30725 l -553.08368 167.8329 l -552.18768 169.94113 l -553.61072 171.44324 l -553.55804 172.47099 l -552.45123 171.575 l -551.5025 172.70818 l -551.23895 171.46959 l -551.39709 170.04654 l -551.23895 168.46538 l -551.55524 167.358551 l -551.66064 165.408447 l -550.76465 163.959045 l -550.92273 161.98259 l -552.24036 161.297424 l -551.66064 160.612244 l -552.34583 160.401428 l -552.71472 161.37648 l -h -332.40549 159.294601 m -333.61771 159.241898 l -335.19888 160.137894 l -334.40829 161.139297 l -334.67181 162.193405 l -333.565 163.484695 l -330.98242 164.35434 l -328.87421 164.143524 l -330.08643 162.615051 l -329.29584 161.112946 l -331.29868 159.979782 l -332.40549 159.294601 l -h -361.60437 157.871552 m -362.0787 158.583084 l -361.18271 159.768951 l -359.65427 158.952026 l -359.44342 158.345901 l -361.60437 157.871552 l -h -119.211472 155.130859 m -120.160179 155.236282 l -120.792641 155.68428 l -119.52771 156.395798 l -118.051956 156.949203 l -117.314072 156.580276 l -117.103256 155.895096 l -118.420891 155.368042 l -119.211472 155.130859 l -h -340.46942 158.161438 m -341.89249 160.032486 l -342.89389 160.269653 l -343.78989 161.929886 l -344.21152 162.509644 l -345.95081 162.79953 l -345.79269 163.721878 l -345.05481 164.169876 l -345.63458 164.907745 l -344.31693 165.671982 l -342.36682 165.671982 l -339.83698 166.067276 l -339.15179 165.77739 l -338.20309 166.46257 l -336.83273 166.304443 l -335.83133 166.857849 l -335.04077 166.567978 l -337.20169 165.039505 l -338.51932 164.723282 l -336.20029 164.459747 l -335.77863 163.87999 l -337.3071 163.431992 l -336.51651 162.641403 l -336.78003 161.692703 l -338.99368 161.824478 l -339.2045 160.981186 l -338.20309 160.058838 l -336.4111 159.795303 l -336.04218 159.400024 l -336.56921 158.741196 l -336.09488 158.345901 l -335.30429 159.031082 l -335.25159 157.608032 l -334.5137 156.870148 l -335.04077 155.368042 l -336.14758 154.182159 l -337.3598 154.287582 l -339.09909 154.155807 l -337.51791 155.736984 l -339.04639 155.552505 l -340.62753 155.552505 l -340.25861 156.738388 l -338.94098 158.05603 l -340.46942 158.161438 l -h -99.815826 151.599594 m -100.975349 151.731354 l -101.133469 152.311111 l -100.184769 152.521942 l -99.236069 152.258408 l -98.340073 151.863129 l -99.815826 151.599594 l -h -225.94025 149.122437 m -226.4673 148.674438 l -227.09976 148.70079 l -227.4687 149.017029 l -226.88895 149.78125 l -226.25647 149.64949 l -225.83482 149.201492 l -225.94025 149.122437 l -h -220.56427 148.569031 m -221.61838 147.910202 l -223.6212 147.910202 l -223.6212 148.200089 l -221.88191 149.017029 l -220.88051 148.96431 l -220.56427 148.569031 l -h -92.120819 146.618912 m -93.016808 146.908798 l -93.912804 146.750687 l -95.125031 147.145981 l -96.54808 147.330444 l -96.442673 147.488556 l -95.335854 147.804794 l -94.229034 147.488556 l -93.649277 147.225037 l -92.384346 147.304092 l -92.015404 147.172333 l -92.120819 146.618912 l -h -220.7224 144.69516 m -222.30356 145.195862 l -223.99014 145.64386 l -224.09555 146.329041 l -225.20236 146.223633 l -226.25647 146.724335 l -224.93884 147.172333 l -222.6725 146.829742 l -221.82921 146.170914 l -220.40616 146.93515 l -218.29793 147.699387 l -217.82358 146.829742 l -215.82077 146.987854 l -217.08571 146.249985 l -217.29652 145.116806 l -217.77087 143.772812 l -218.825 143.878235 l -219.08852 144.537048 l -219.8791 144.299881 l -220.7224 144.69516 l -h -322.28601 142.718704 m -321.91708 143.667404 l -323.55093 144.668808 l -321.65353 145.775635 l -317.4371 146.777039 l -316.17218 147.040558 l -314.27478 146.829742 l -310.16373 146.381744 l -311.6395 145.722931 l -308.42444 145.011398 l -311.00702 144.721512 l -310.95432 144.299881 l -307.8974 143.957291 l -308.8988 143.008591 l -311.11243 142.771408 l -313.37878 143.772812 l -315.59241 142.982239 l -317.4371 143.403885 l -319.80884 142.613297 l -322.28601 142.718704 l -h -233.37172 141.269302 m -232.42302 141.690948 l -230.78915 141.770004 l -230.42021 141.058487 l -231.05267 140.241547 l -232.42302 140.030716 l -233.52985 140.452362 l -233.58255 141.058487 l -233.37172 141.269302 l -h -80 139.056122 m -83.582512 140.162491 l -87.430023 141.611893 l -87.271904 142.534241 l -88.273308 142.903183 l -87.957077 141.822708 l -91.909996 142.033539 l -94.8088 143.403885 l -93.333046 144.062698 l -90.908585 144.194458 l -90.908585 145.64386 l -90.328827 145.933746 l -88.958481 145.907394 l -87.798958 145.380341 l -85.901558 144.958694 l -85.532623 144.326233 l -84.056862 144.08905 l -82.422989 144.273514 l -81.579704 143.772812 l -81.895935 143.219406 l -80.156654 143.561996 l -80.841827 144.247162 l -80 144.87854 l -80 139.056122 l -h -203.48767 138.844849 m -202.59167 139.345551 l -200.58887 138.897552 l -199.42934 139.055664 l -197.42653 138.396851 l -198.69147 137.948853 l -199.69287 137.316391 l -201.27403 137.738037 l -202.17003 138.001556 l -202.59167 138.265091 l -203.48767 138.844849 l -h -607 136.315048 m -605.42029 136.394043 l -605.1568 135.919693 l -607 135.314133 l -607 136.315048 l -h -80 135.313019 m -80.209358 135.234512 l -81.421585 135.260864 l -83.529808 135.656158 l -83.4244 135.866989 l -81.895935 136.209564 l -80 136.314896 l -80 135.313019 l -h -213.13278 156.76474 m -214.60855 157.318146 l -215.66266 158.029678 l -217.50735 158.424957 l -219.03581 159.031082 l -221.46027 159.13649 l -223.04143 159.26825 l -222.83061 160.533188 l -223.25226 162.008942 l -224.35907 163.642822 l -226.52 165.039505 l -227.62682 164.565155 l -228.4174 163.063049 l -227.67952 160.744003 l -226.62541 159.979782 l -228.99716 159.294601 l -230.63104 158.266846 l -231.47432 157.23909 l -231.31621 156.264038 l -230.3148 155.025452 l -228.57552 153.91864 l -230.2621 152.390182 l -229.62962 151.046188 l -229.15527 148.779846 l -230.15669 148.437256 l -232.68655 148.83255 l -234.21501 148.96431 l -235.42725 148.595383 l -236.74489 149.096085 l -238.58957 149.939362 l -239.01122 150.492783 l -241.6465 150.624542 l -241.5938 151.836761 l -242.06815 153.681458 l -243.38579 153.91864 l -244.4926 154.788284 l -246.60081 153.971344 l -247.97116 152.363831 l -248.97256 151.67865 l -250.07939 152.96994 l -251.97679 154.840988 l -253.61066 156.606628 l -253.0309 157.528976 l -254.981 158.345901 l -256.29865 159.189194 l -258.61768 159.558136 l -259.56638 160.032486 l -260.14615 161.271057 l -261.30566 161.455536 l -261.88544 162.008942 l -261.99084 163.669174 l -260.93674 164.22258 l -259.88263 164.723282 l -257.45816 165.250336 l -255.61348 166.46257 l -253.13631 166.699738 l -250.02669 166.383499 l -247.81305 166.357147 l -246.28459 166.46257 l -245.07236 167.516678 l -243.22766 168.17549 l -241.11945 170.09924 l -239.43286 171.46959 l -240.6451 171.20607 l -243.01685 169.2823 l -246.07376 168.07008 l -248.2874 167.93832 l -249.55234 168.64984 l -248.18199 169.62489 l -248.65634 171.20607 l -249.13069 172.31288 l -251.02809 173.05075 l -253.45255 172.83994 l -254.9283 171.17972 l -255.03371 172.23383 l -255.9297 172.78723 l -254.13771 173.73593 l -250.92268 174.60558 l -249.44691 175.21169 l -247.81305 176.26579 l -246.70624 176.13403 l -246.65353 174.89545 l -249.1834 173.70958 l -246.86435 173.73593 l -245.23048 173.92039 l -245.494 174.39474 l -243.91284 175.10628 l -242.38438 175.60698 l -240.85591 176.05498 l -240.01262 177.00368 l -239.85451 177.24084 l -239.8018 178.03143 l -240.32886 178.79567 l -240.90862 178.84837 l -240.7505 178.29497 l -241.17215 178.63754 l -241.06674 179.05919 l -240.06534 179.29637 l -239.38016 179.24367 l -238.32605 179.50719 l -237.69359 179.58624 l -236.79759 179.66531 l -235.58536 180.08694 l -237.74629 179.79707 l -238.16794 180.08694 l -236.11241 180.50859 l -235.21642 180.53494 l -235.21642 180.35048 l -234.79477 180.74577 l -235.21642 180.82483 l -234.90019 181.87894 l -233.84607 182.98576 l -233.74066 182.61682 l -233.42444 182.53777 l -232.95009 182.16882 l -233.21361 182.95941 l -233.58255 183.22293 l -233.63525 183.77634 l -233.1609 184.35609 l -232.31761 185.51563 l -232.2122 185.46292 l -232.63385 184.46152 l -231.89597 183.90811 l -231.73785 182.69588 l -231.47432 183.32834 l -231.73785 184.25069 l -230.84186 184.03987 l -231.79056 184.48787 l -231.84326 185.88457 l -232.26491 185.98997 l -232.42302 186.49068 l -232.63385 187.96643 l -231.73785 189.04689 l -230.2094 189.46854 l -229.2607 190.33818 l -228.52281 190.44359 l -227.78494 190.97064 l -227.57411 191.47136 l -225.94025 192.42006 l -225.09695 193.10522 l -224.41177 193.97487 l -224.20096 195.00262 l -224.46449 196.03038 l -224.93884 197.29532 l -225.62401 198.32307 l -225.62401 198.95554 l -226.30917 200.64212 l -226.25647 201.64352 l -226.20377 202.19693 l -225.83482 203.09293 l -225.41319 203.2774 l -224.67531 203.11928 l -224.46449 202.46046 l -223.88472 202.11787 l -223.09415 200.8793 l -222.40897 199.74612 l -222.19815 199.16637 l -222.51437 198.21767 l -222.09273 197.40073 l -220.93321 196.18851 l -220.40616 195.95132 l -218.9304 196.61014 l -218.66687 196.53108 l -217.929 195.87227 l -217.033 195.50333 l -215.34642 195.68781 l -214.08148 195.52968 l -212.97467 195.60873 l -212.34221 195.81956 l -212.60573 196.24121 l -212.60573 196.82097 l -212.86926 197.11086 l -212.60573 197.32167 l -212.07867 197.08449 l -211.49892 197.37437 l -210.44481 197.32167 l -209.3907 196.55743 l -208.07306 196.74191 l -207.01894 196.39932 l -206.12296 196.50473 l -204.85802 196.84732 l -203.54037 197.92778 l -202.11732 198.56026 l -201.27403 199.27177 l -200.95781 199.9306 l -200.95781 200.93201 l -201.01051 201.64352 l -201.27403 202.11787 l -201.27403 202.14423 l -200.74698 203.40916 l -200.48346 204.46327 l -200.37804 206.43973 l -200.21992 207.15126 l -200.48346 207.94185 l -200.95781 208.65337 l -201.22133 209.78653 l -202.22273 210.89336 l -202.53897 211.71028 l -203.11873 212.44817 l -204.64719 212.81711 l -205.27966 213.44957 l -206.54459 213.02792 l -207.65141 212.86981 l -208.75822 212.60628 l -209.70692 212.36911 l -210.60292 211.763 l -210.97186 210.91971 l -211.07727 209.68112 l -211.34081 209.25948 l -212.34221 208.86418 l -213.87067 208.54796 l -215.18831 208.57431 l -216.0843 208.4689 l -216.40053 208.78513 l -216.34782 209.47031 l -215.55725 210.33995 l -215.24101 211.23593 l -215.50455 211.49947 l -215.29372 212.13193 l -214.92477 213.26511 l -214.55583 212.89616 l -214.23961 212.92252 l -214.23961 213.13335 l -214.50313 213.13335 l -214.50313 213.52863 l -214.23961 214.1611 l -214.39772 214.39827 l -214.23961 214.92532 l -214.34502 215.0571 l -214.1342 215.79497 l -213.87067 216.19026 l -213.60713 216.24297 l -213.29091 216.74367 l -213.81796 217.0072 l -213.92337 216.79637 l -214.34502 216.98085 l -214.50313 217.03355 l -214.81937 216.77002 l -215.24101 216.74367 l -215.39912 216.87543 l -215.60995 216.79637 l -216.29512 216.92815 l -216.9803 216.90179 l -217.45465 216.74367 l -217.61276 216.5592 l -218.08711 216.63826 l -218.40335 216.74367 l -218.825 216.71732 l -219.08852 216.58556 l -219.7737 216.79637 l -219.98451 216.82272 l -220.45886 217.08626 l -220.88051 217.42885 l -221.40756 217.63966 l -221.7765 218.03496 l -221.6711 218.19307 l -221.56567 218.50931 l -221.7238 219.06271 l -221.40756 219.53706 l -221.24945 220.14317 l -221.19675 220.77565 l -221.24945 221.17094 l -221.30215 221.82976 l -221.09132 221.96152 l -220.93321 222.59399 l -221.03862 222.98927 l -220.7224 223.35822 l -220.8278 223.75351 l -221.03862 223.99069 l -221.40756 224.78127 l -221.98732 225.36102 l -222.6725 225.9935 l -223.19955 226.52055 l -223.14685 226.83679 l -223.72661 226.8895 l -223.88472 226.78407 l -224.30637 227.12666 l -224.99155 227.02126 l -225.62401 226.65231 l -226.52 226.36244 l -226.99435 225.9408 l -227.83765 226.01985 l -227.78494 226.15161 l -228.57552 226.20432 l -229.20799 226.46785 l -229.73505 226.8895 l -230.2621 227.31114 l -230.99997 227.36385 l -232.1068 226.33609 l -232.73926 226.17796 l -232.73926 225.70361 l -233.00279 224.46504 l -233.84607 223.77986 l -234.74207 223.75351 l -234.90019 223.43727 l -236.007 223.56905 l -237.16652 222.83116 l -237.74629 222.48857 l -238.48416 221.80341 l -238.95851 221.88246 l -239.38016 222.27776 l -239.06392 222.75211 l -239.01122 223.0947 l -238.16794 223.27916 l -238.64229 223.93797 l -238.64229 224.70221 l -238.00981 225.5455 l -238.53687 226.73137 l -239.16934 226.62596 l -239.48557 225.57185 l -239.06392 225.0448 l -238.95851 223.93797 l -240.80321 223.35822 l -240.59239 222.6467 l -241.11945 222.1987 l -241.6465 223.22646 l -242.6479 223.25281 l -243.5966 224.06975 l -243.64931 224.5441 l -244.96695 224.57045 l -246.54811 224.41232 l -247.3914 225.07115 l -248.49821 225.25562 l -249.34151 224.78127 l -249.34151 224.41232 l -251.1335 224.33327 l -252.92549 224.30692 l -251.66055 224.75491 l -252.18761 225.44009 l -253.34714 225.5455 l -254.45395 226.25702 l -254.66478 227.4429 l -255.45535 227.41655 l -256.03513 227.75914 l -256.98383 228.28619 l -257.87982 229.23489 l -257.93253 229.99911 l -258.45956 230.02547 l -259.25015 230.737 l -259.82993 231.26405 l -261.62192 231.55394 l -261.72733 231.29041 l -262.93954 231.185 l -264.52072 231.58029 l -264.99506 231.7384 l -266.10187 232.08099 l -267.63034 233.31956 l -267.89386 233.92569 l -268.36823 233.84662 l -268.73715 234.66356 l -269.58044 237.21979 l -270.31833 237.45695 l -270.37103 238.45836 l -269.26422 239.67059 l -269.73856 240.11859 l -272.32114 240.35576 l -272.37384 241.80516 l -273.48065 240.85646 l -275.32535 241.38351 l -277.74982 242.27951 l -278.4877 243.1228 l -278.22415 243.93974 l -279.96344 243.49174 l -282.80954 244.25598 l -284.97046 244.20326 l -287.13141 245.4155 l -289.02881 247.04936 l -290.13562 247.47101 l -291.40054 247.55008 l -291.92761 247.99806 l -292.40195 249.86911 l -292.6655 250.73875 l -292.08572 253.16321 l -291.34784 254.13826 l -289.29233 256.16742 l -288.34363 257.82767 l -287.23682 259.09259 l -286.86786 259.11896 l -286.49893 260.1994 l -286.60434 262.94009 l -286.18271 265.18008 l -286.0246 266.15512 l -285.55023 266.73489 l -285.28671 268.685 l -283.81094 270.60876 l -283.54742 272.11087 l -282.38791 272.74332 l -282.01895 273.61298 l -280.43781 273.61298 l -278.11874 274.19275 l -277.11734 274.8252 l -275.48346 275.27319 l -273.7442 276.43271 l -272.53195 277.88211 l -272.26843 278.96259 l -272.53195 279.77951 l -272.26843 281.25528 l -271.95221 281.9668 l -270.89807 282.78375 l -269.26422 285.3663 l -267.99927 286.52585 l -266.99786 287.211 l -266.31271 288.6077 l -265.36401 289.42465 l -264.73154 290.34698 l -263.09766 291.16394 l -261.99084 290.87405 l -261.20026 291.03217 l -259.82993 290.39969 l -258.88123 290.45239 l -257.98523 289.63547 l -257.87982 290.39969 l -259.72452 291.66464 l -259.51367 292.66605 l -260.46237 293.29849 l -260.35696 294.01004 l -258.98663 295.90744 l -256.77301 296.67166 l -253.87419 296.98788 l -252.24031 296.82977 l -252.55655 297.72577 l -252.24031 298.80624 l -252.50385 299.5441 l -251.66055 300.07117 l -250.1321 300.25565 l -248.76175 299.72858 l -248.18199 300.12387 l -248.39281 301.57327 l -249.34151 302.02127 l -250.1848 301.54694 l -250.60645 302.31116 l -249.2361 302.75916 l -248.07658 303.68149 l -247.86575 305.15726 l -247.49681 305.92148 l -246.12646 305.92148 l -244.96695 306.6857 l -244.5453 307.79254 l -246.02106 308.84665 l -247.3914 309.13654 l -246.91705 310.45416 l -245.17776 311.29745 l -244.22906 313.01038 l -242.91144 313.59015 l -242.27896 314.27533 l -242.75331 315.77744 l -243.75471 316.64706 l -243.12225 316.56799 l -241.80461 316.54166 l -241.11945 316.91058 l -239.8018 317.43765 l -239.53827 318.80798 l -238.95851 318.83435 l -237.27194 318.35999 l -235.58536 317.33224 l -233.79337 316.51529 l -233.31902 315.59296 l -233.74066 314.72333 l -233.00279 313.74826 l -232.79196 311.24475 l -233.42444 309.84805 l -235.0056 308.71487 l -232.73926 308.29324 l -234.16231 307.00195 l -234.63666 304.55115 l -236.27054 305.07819 l -237.06111 302.04764 l -236.05971 301.65234 l -235.58536 303.47067 l -234.68936 303.28619 l -235.16371 301.17798 l -235.63806 298.46365 l -236.32324 297.46225 l -235.9016 296.03918 l -235.79619 294.4053 l -236.37595 294.3526 l -237.27194 291.98087 l -238.32605 289.63547 l -238.90581 287.44818 l -238.58957 285.26089 l -239.01122 284.04868 l -238.8531 282.25668 l -239.6964 280.46469 l -239.95992 277.61859 l -240.43427 274.58801 l -240.90862 271.32028 l -240.80321 268.92218 l -240.48697 266.86667 l -239.01122 266.02338 l -238.90581 265.41727 l -236.007 263.9415 l -233.37172 262.36032 l -232.2122 261.43799 l -231.63245 260.22577 l -231.84326 259.80411 l -230.63104 257.88037 l -229.15527 255.19238 l -227.78494 252.26723 l -227.20517 251.6084 l -226.73082 250.52794 l -225.62401 249.57924 l -224.5699 248.97313 l -225.04425 248.34065 l -224.30637 246.94395 l -224.78072 245.9162 l -225.94025 244.99385 l -226.73082 243.88704 l -226.4146 243.25456 l -225.83482 243.93974 l -224.99155 243.28091 l -225.25507 242.88564 l -225.04425 241.54164 l -225.5186 241.33081 l -225.78212 240.40846 l -226.36189 239.45976 l -226.25647 238.88 l -227.04706 238.56377 l -228.04846 237.98401 l -227.89035 237.53601 l -228.4174 237.40425 l -228.3647 236.69272 l -228.68092 236.13931 l -229.41881 236.06026 l -230.05127 235.13791 l -230.57832 234.37369 l -230.05127 234.00475 l -230.3148 233.16145 l -229.99857 231.81746 l -230.3148 231.44852 l -230.10397 230.20995 l -229.47151 229.41936 l -228.99716 228.99771 l -228.68092 228.20712 l -229.04987 227.81184 l -228.68092 227.73277 l -228.4174 227.23207 l -227.67952 226.83679 l -227.04706 226.91585 l -226.73082 227.4429 l -226.15106 227.81184 l -225.83482 227.86455 l -225.67671 228.15442 l -226.36189 228.94501 l -225.99295 229.12947 l -225.78212 229.36665 l -225.09695 229.41936 l -224.83342 228.54971 l -224.6226 228.81325 l -224.14825 228.70784 l -223.88472 228.12807 l -223.25226 228.02266 l -222.88332 227.86455 l -222.25085 227.86455 l -222.19815 228.18077 l -222.04002 227.96996 l -221.24945 227.62737 l -220.93321 227.33749 l -221.14403 227.07396 l -221.09132 226.75772 l -220.66968 226.38879 l -220.08992 226.09891 l -219.56287 225.91444 l -219.51016 225.4928 l -219.08852 225.22926 l -219.19392 225.65091 l -218.9304 226.01985 l -218.56146 225.59821 l -218.08711 225.46645 l -217.8763 225.17656 l -217.929 224.72856 l -218.08711 224.25421 l -217.66547 224.0434 l -218.03441 223.77986 l -217.50735 223.30551 l -216.82217 222.72575 l -216.50595 222.22505 l -215.87347 221.7507 l -215.18831 221.09187 l -215.34642 220.88106 l -215.55725 221.09187 l -215.66266 220.98647 l -215.39912 220.53847 l -214.97748 220.40671 l -214.81937 220.7493 l -213.97607 220.72295 l -213.44902 220.59117 l -212.81656 220.3013 l -212.02597 220.19588 l -211.60432 219.87965 l -210.86646 219.64247 l -209.97046 219.61612 l -209.28528 219.32625 l -208.49471 218.72012 l -206.80812 217.13896 l -206.07024 216.66461 l -204.85802 216.29567 l -204.06743 216.40108 l -202.90791 216.92815 l -202.17003 217.08626 l -201.11592 216.69096 l -200.00911 216.42743 l -198.63876 215.74226 l -197.53194 215.53145 l -195.89807 214.87262 l -194.68584 214.1611 l -194.31691 213.76581 l -193.47362 213.68675 l -191.99786 213.2124 l -191.36539 212.55357 l -189.78423 211.71028 l -189.04634 210.78795 l -188.73012 210.07642 l -189.20447 209.94466 l -189.04634 209.52301 l -189.41528 209.15407 l -189.41528 208.65337 l -188.88823 207.99455 l -188.78282 207.38843 l -188.30847 206.65056 l -186.99083 205.20116 l -185.51508 204.06798 l -184.8299 203.14563 l -183.56497 202.53952 l -183.30144 202.19693 l -183.51227 201.30093 l -182.77438 200.95836 l -181.87839 200.24683 l -181.50945 199.21907 l -180.77158 199.08731 l -179.87558 198.32307 l -179.1904 197.61156 l -179.1377 197.16356 l -178.34712 196.05673 l -177.82007 194.92357 l -177.87277 194.37016 l -176.81865 193.79039 l -176.2916 193.84311 l -175.50102 193.44781 l -175.23749 194.05392 l -175.50102 194.73909 l -175.60643 195.84592 l -176.13348 196.45203 l -177.2403 197.45343 l -177.45113 197.79602 l -177.66194 197.90143 l -177.87277 198.40213 l -178.13629 198.37578 l -178.45253 199.32448 l -178.87418 199.69342 l -179.1904 200.22047 l -180.0864 200.95836 l -180.61345 202.3287 l -181.0351 202.96117 l -181.45674 203.64633 l -181.50945 204.43692 l -182.19463 204.48962 l -182.82709 205.14845 l -183.35414 205.80727 l -183.30144 206.0708 l -182.66898 206.59785 l -182.40544 206.59785 l -182.03651 205.70186 l -181.0878 204.85857 l -180.03369 204.14703 l -179.29582 203.77811 l -179.34853 202.72398 l -179.08499 201.93341 l -178.39983 201.45906 l -177.39842 200.82658 l -177.18759 201.01106 l -176.81865 200.61577 l -175.92267 200.27318 l -175.07938 199.42989 l -175.18478 199.29813 l -175.76454 199.37718 l -176.3443 198.85013 l -176.39702 198.19131 l -175.23749 197.13721 l -174.3942 196.74191 l -173.86714 195.81956 l -173.28738 194.87086 l -172.65492 193.68498 l -172.02245 192.36734 l -171.81163 191.62947 l -170.86293 190.78618 l -170.17775 190.60172 l -170.01964 190.18007 l -169.17635 190.10101 l -168.64929 189.70572 l -167.278946 189.57396 l -166.910004 189.33678 l -166.751892 188.54619 l -165.328842 187.07043 l -164.116608 185.01492 l -164.169327 184.69868 l -163.484146 184.19798 l -162.377335 182.98576 l -162.166504 181.77353 l -161.375931 180.98294 l -161.692154 179.77072 l -161.63945 178.50578 l -161.217804 177.39897 l -161.744858 176.00227 l -162.1138 173.36699 l -161.850281 171.39053 l -161.375931 170.15195 l -160.954285 169.46678 l -161.1651 169.1769 l -163.273331 169.6776 l -164.063904 171.04794 l -164.432846 170.679 l -164.169327 169.46678 l -163.694977 168.2809 l -163.484146 168.25455 l -160.638046 166.831497 l -159.583939 166.199036 l -156.948654 165.592926 l -156.158081 164.301636 l -156.316193 163.40564 l -154.471497 162.773178 l -154.207962 161.587296 l -152.415985 160.533188 l -152.415985 159.768951 l -151.625397 159.215546 l -150.307755 158.767548 l -149.886108 157.476257 l -147.988708 156.29039 l -147.198135 154.920044 l -145.827789 154.814636 l -143.508743 154.788284 l -141.769455 154.366638 l -138.765244 152.838181 l -137.342194 152.574646 l -134.759613 152.047592 l -132.756805 152.179352 l -129.858002 151.494186 l -128.118713 150.86171 l -126.537552 151.177948 l -126.801079 152.205704 l -126.01049 152.28476 l -124.323914 152.600998 l -123.006279 153.1017 l -121.42511 153.391586 l -121.214287 152.548294 l -121.846756 151.098892 l -123.427917 150.650894 l -123.006279 150.281952 l -121.161583 151.098892 l -120.160179 152.073944 l -118.051956 153.128052 l -119.106064 153.839584 l -117.735718 154.86734 l -116.154556 155.499802 l -114.678795 155.9478 l -114.30986 156.580276 l -112.043518 157.344498 l -111.569168 158.029678 l -109.882591 158.66214 l -108.828476 158.53038 l -107.510841 158.952026 l -105.982376 159.452728 l -104.770149 159.927078 l -102.292992 160.348724 l -102.029465 160.111542 l -103.663338 159.426376 l -105.086388 158.978378 l -106.614845 158.18779 l -108.459541 158.003326 l -109.197418 157.397202 l -111.200226 156.527557 l -111.516464 156.237686 l -112.623283 155.710632 l -112.88681 154.603806 l -113.624687 153.760529 l -111.93811 154.182159 l -111.46376 153.944992 l -110.673172 154.472046 l -109.724472 153.734177 l -109.302826 154.26123 l -108.775772 153.523346 l -107.300018 154.103104 l -106.404022 154.103104 l -106.245903 153.233459 l -106.509438 152.706406 l -105.613441 152.179352 l -103.663338 152.469238 l -102.451103 151.784058 l -101.449699 151.415131 l -101.449699 150.59819 l -100.290176 149.965729 l -100.869942 149.122437 l -102.082169 148.305496 l -102.609222 147.567612 l -103.768745 147.462204 l -104.770149 147.699387 l -105.982376 146.987854 l -107.036491 147.119614 l -108.143311 146.645264 l -107.879776 145.98645 l -107.036491 145.722931 l -108.143311 145.143158 l -107.247314 145.16951 l -105.666145 145.485748 l -105.244499 145.801987 l -104.084976 145.485748 l -102.029465 145.64386 l -99.86853 145.301285 l -99.236069 144.721512 l -97.391373 143.878235 l -99.446892 143.245758 l -102.71463 142.534241 l -103.926865 142.534241 l -103.716042 143.27211 l -106.825668 143.219406 l -105.613441 142.297058 l -103.821449 141.743652 l -102.767342 141.005783 l -101.396996 140.399658 l -99.39418 139.925308 l -100.184769 139.161087 l -102.767342 139.108368 l -104.612038 138.449554 l -104.980972 137.738037 l -106.456726 137.026505 l -107.932487 136.868393 l -110.673172 136.209564 l -112.043518 136.314987 l -114.257149 135.550751 l -116.470787 135.840637 l -117.577606 136.499451 l -118.210068 136.235916 l -120.687233 136.314987 l -120.581818 136.657562 l -122.84816 136.894745 l -124.323914 136.762985 l -127.43354 137.210968 l -130.226944 137.342743 l -131.333755 137.553558 l -133.283859 137.316391 l -135.497498 137.738037 l -137.131363 137.948853 l -139.819351 138.291443 l -142.138397 139.00296 l -143.666855 139.134735 l -144.931793 138.52861 l -146.723785 138.080612 l -148.884705 138.238739 l -151.098343 137.606262 l -153.470093 137.237335 l -154.5242 137.843445 l -155.578308 137.500854 l -155.894547 136.815689 l -156.948654 136.973801 l -159.425827 138.291443 l -161.375931 137.290039 l -161.534042 138.396851 l -163.326035 138.159668 l -163.905792 137.738037 l -165.697784 137.817093 l -167.91142 138.449554 l -171.33728 138.976608 l -173.34009 139.213791 l -174.81584 139.134735 l -176.76595 139.872604 l -174.71043 140.610489 l -177.34572 140.90036 l -181.29863 140.742249 l -182.56357 140.478714 l -184.09203 141.348358 l -185.72589 140.610489 l -184.19743 140.004364 l -185.14613 139.503662 l -186.93813 139.424606 l -188.09764 139.292847 l -189.30988 139.635437 l -190.78563 140.42601 l -192.41951 140.320602 l -195.00208 140.979416 l -197.26842 140.742249 l -199.37663 140.7686 l -199.21852 139.872604 l -200.53616 139.609085 l -202.80251 140.109787 l -202.80251 141.480133 l -203.69849 140.320602 l -204.91072 140.373306 l -205.54318 138.897552 l -203.96202 137.975204 l -202.27544 137.395447 l -202.38086 135.787918 l -204.12013 134.707458 l -206.07024 134.944641 l -207.54601 135.603455 l -209.54881 137.237335 l -208.23117 137.975204 l -210.97186 138.265091 l -210.91916 139.767197 l -212.92197 138.607666 l -214.66125 139.556366 l -214.1869 140.636841 l -215.60995 141.638245 l -217.13841 140.557785 l -218.24522 139.319199 l -218.29793 137.711685 l -220.40616 137.817093 l -222.56708 138.027908 l -224.5172 138.765793 l -224.6226 139.47731 l -223.51578 140.267899 l -224.5699 141.032135 l -224.35907 141.743652 l -221.51297 142.771408 l -219.45746 143.008591 l -217.929 142.560593 l -217.50735 143.298462 l -216.0843 144.537048 l -215.66266 145.16951 l -213.97607 146.170914 l -211.86786 146.249985 l -210.70833 146.882446 l -210.60292 147.831146 l -208.91635 148.01561 l -207.12436 149.201492 l -205.54318 150.86171 l -204.96342 151.994888 l -204.91072 153.707809 l -207.01894 153.944992 l -207.70412 155.315338 l -208.38928 156.42215 l -210.44481 156.132278 l -213.13278 156.76474 l -h -187.57059 133.020889 m -189.20447 133.626999 l -190.10046 135.050049 l -190.57481 136.077805 l -193.05197 136.789337 l -195.68724 137.500854 l -195.52913 138.133316 l -193.10468 138.265091 l -194.05338 138.818497 l -193.57903 139.345551 l -190.89104 139.134735 l -188.36118 138.739441 l -186.67459 138.818497 l -183.93391 139.319199 l -179.61205 139.582718 l -177.60924 139.661789 l -176.81865 138.976608 l -174.81584 138.581314 l -173.55092 138.739441 l -171.70622 137.57991 l -172.70763 137.421799 l -174.97397 137.184616 l -177.02948 137.237335 l -178.92688 137.000153 l -176.08078 136.657562 l -172.97115 136.762985 l -170.91563 136.736618 l -170.12505 136.183212 l -173.4982 135.603455 l -171.28458 135.629807 l -168.702 135.234512 l -169.91423 134.154053 l -170.96834 133.574295 l -174.86855 132.678299 l -176.39702 132.96817 l -175.65913 133.653351 l -178.87418 133.205353 l -180.92969 133.943237 l -182.56357 133.205353 l -183.93391 133.679703 l -185.14613 135.102753 l -185.88402 134.496643 l -184.8299 132.994537 l -186.09483 132.783707 l -187.57059 133.020889 l -h -187.46518 132.256653 m -189.41528 132.203949 l -190.52211 132.520187 l -189.25717 133.495239 l -186.93813 132.467468 l -187.46518 132.256653 l -h -226.73082 133.416168 m -225.09695 132.651947 l -225.14966 132.124893 l -225.88754 132.01947 l -229.20799 132.177597 l -231.73785 132.994537 l -231.89597 133.389816 l -230.3148 133.337112 l -228.73364 133.31076 l -227.15247 133.521591 l -226.73082 133.416168 l -h -228.20657 134.074997 m -229.57692 133.495239 l -232.84467 134.233109 l -234.84749 134.944641 l -235.0056 135.577103 l -237.74629 135.260864 l -239.27475 136.183212 l -242.80602 136.762985 l -244.07095 137.342743 l -245.4413 138.713089 l -242.75331 139.398254 l -246.23189 140.346954 l -248.55093 140.689545 l -250.65915 142.033539 l -252.9782 142.112595 l -252.50385 143.14035 l -249.92126 144.853287 l -248.12929 144.22081 l -245.81024 142.824112 l -243.91284 143.008591 l -243.75471 143.825516 l -245.28319 144.69516 l -247.286 145.353989 l -247.86575 145.749283 l -248.81445 147.198685 l -248.3401 148.252792 l -246.49541 147.857498 l -242.80602 146.671631 l -244.86154 147.936554 l -246.39 148.83255 l -246.65353 149.333252 l -242.6479 148.753494 l -239.53827 147.910202 l -237.74629 147.198685 l -238.27335 146.777039 l -236.05971 146.039154 l -233.95149 145.327637 l -233.95149 145.749283 l -229.73505 145.98645 l -228.52281 145.459396 l -229.47151 144.405289 l -232.2122 144.378937 l -235.21642 144.168106 l -234.74207 143.667404 l -235.26912 142.929535 l -237.16652 141.506485 l -236.74489 140.847656 l -236.16512 140.346954 l -233.95149 139.635437 l -230.94727 139.134735 l -231.89597 138.765793 l -230.36751 137.869797 l -229.04987 137.790741 l -227.89035 137.290039 l -227.15247 137.711685 l -224.46449 137.896149 l -219.14122 137.57991 l -216.0316 137.158264 l -213.65985 136.921097 l -212.44762 136.420395 l -213.97607 135.735214 l -211.92056 135.735214 l -211.44621 134.25946 l -212.55302 132.941818 l -214.08148 132.335709 l -217.8763 131.966766 l -216.76947 132.915466 l -217.929 133.811462 l -219.29935 132.625595 l -222.98872 132.045837 l -225.5186 133.547943 l -225.30777 134.496643 l -228.20657 134.074997 l -h -197.11029 134.970993 m -193.47362 133.864166 l -193.47362 133.389816 l -196.47783 133.574295 l -194.84396 132.599243 l -196.58324 131.887711 l -198.32253 132.203949 l -200.95781 132.01947 l -201.32674 132.441116 l -199.95641 133.152649 l -202.17003 133.78511 l -201.90651 135.102753 l -199.53476 135.656158 l -198.11171 135.550751 l -197.11029 134.970993 l -h -548.23474 132.599243 m -549.65784 132.01947 l -551.44983 131.887711 l -553.55804 132.441116 l -553.71613 132.836411 l -551.5025 132.836411 l -548.49829 132.678299 l -548.23474 132.599243 l -h -205.17426 131.466064 m -208.23117 131.518768 l -211.02457 131.887711 l -208.81093 133.179001 l -207.07166 133.468887 l -205.49048 134.575699 l -203.80391 134.496643 l -202.90791 133.231705 l -202.96062 132.49382 l -203.69849 131.861359 l -205.17426 131.466064 l -h -163.326035 136.209564 m -162.535446 135.577103 l -159.162292 134.786514 l -159.636642 134.312164 l -160.796158 133.099945 l -162.061096 132.151245 l -160.638046 131.255249 l -165.592377 131.018066 l -167.647888 131.307953 l -171.38998 131.387009 l -172.81303 131.835007 l -174.3942 132.441116 l -172.5495 132.810059 l -168.96553 133.837814 l -167.173538 134.86557 l -167.173538 135.471695 l -163.326035 136.209564 l -h -560.46246 129.700439 m -564.15186 130.095718 l -562.46527 130.675491 l -560.14624 130.543716 l -557.40552 129.963959 l -557.77448 129.489609 l -560.46246 129.700439 l -h -206.43918 130.227493 m -205.64861 130.807251 l -203.54037 130.701843 l -201.74838 130.306549 l -202.53897 129.64772 l -204.64719 129.252441 l -205.91212 129.779495 l -206.43918 130.227493 l -h -546.75903 128.540909 m -550.60651 128.619965 l -555.87708 129.384201 l -554.71753 130.464661 l -549.34155 130.438309 l -546.91711 130.780899 l -544.01831 129.832199 l -544.8089 128.830795 l -546.75903 128.540909 l -h -199.21852 127.882088 m -199.32393 127.697624 l -200.43076 128.356445 l -200.48346 129.120667 l -199.79828 130.201141 l -197.37383 130.359253 l -195.79266 130.12207 l -195.84537 129.278793 l -193.47362 129.384201 l -193.36821 128.251022 l -194.94937 128.303741 l -197.11029 127.803032 l -199.21852 127.882088 l -h -185.67319 128.962555 m -186.99083 128.725372 l -188.51929 128.778091 l -188.78282 129.515961 l -187.88683 130.201141 l -182.9325 130.438309 l -179.24312 131.07077 l -176.97678 131.097122 l -176.81865 130.622772 l -179.82288 129.963959 l -173.23468 130.148422 l -171.17915 129.884903 l -173.18198 128.461853 l -174.55232 128.040207 l -178.66335 128.540909 l -181.29863 129.410553 l -183.82849 129.515961 l -181.72028 128.119263 l -183.09062 127.592209 l -184.61908 127.750328 l -185.09343 128.435501 l -185.67319 128.962555 l -h -421.84683 132.045837 m -425.32538 130.754547 l -424.95645 130.095718 l -428.22418 129.305145 l -433.02039 128.382797 l -437.92203 128.092911 l -440.45187 127.565857 l -443.29797 127.355034 l -444.29938 127.934799 l -443.29797 128.409149 l -438.13284 129.120667 l -433.65286 129.832199 l -429.12018 131.228897 l -426.90656 132.651947 l -424.64023 134.048645 l -424.90375 135.260864 l -427.74985 136.473099 l -426.85385 136.604858 l -422.05765 136.420395 l -421.68869 135.761566 l -419.05344 135.366287 l -418.84259 134.575699 l -420.31836 134.25946 l -420.26566 133.468887 l -423.16446 132.203949 l -421.84683 132.045837 l -h -214.45042 131.097122 m -212.07867 130.912659 l -208.17847 130.438309 l -207.70412 129.64772 l -207.4933 128.909851 l -206.07024 128.27739 l -203.01332 128.092911 l -201.32674 127.644913 l -201.85381 127.038803 l -204.91072 127.144211 l -206.49188 127.618561 l -209.3907 127.592209 l -210.65562 128.092911 l -210.3394 128.646317 l -212.02597 128.962555 l -212.92197 129.305145 l -214.92477 129.384201 l -217.033 129.489609 l -219.35205 129.17337 l -222.35626 129.067963 l -224.72801 129.17337 l -226.30917 129.726791 l -226.62541 130.332901 l -225.72942 130.701843 l -223.51578 131.018066 l -221.6711 130.833603 l -217.45465 131.07077 l -214.45042 131.097122 l -h -163.642258 128.567261 m -166.119431 127.486801 l -169.12364 126.538101 l -171.38998 126.538101 l -173.39279 126.327278 l -173.18198 127.460449 l -172.07515 127.961151 l -170.7048 128.040207 l -167.96413 128.672668 l -165.645081 128.883499 l -163.642258 128.567261 l -h -415.04779 183.90811 m -415.52216 184.98857 l -416.89249 185.27844 l -417.94659 186.01633 l -420.00214 186.27986 l -422.32117 185.88457 l -422.42657 185.54198 l -422.16306 184.51422 l -422.37387 182.98576 l -421.21436 182.48505 l -421.63599 181.48364 l -420.63458 181.40459 l -420.95084 180.16602 l -422.32117 180.50859 l -423.63879 180.06059 l -422.58469 179.1646 l -422.16306 178.34767 l -420.95084 178.71661 l -420.79269 179.77072 l -420.37106 178.82202 l -420.26566 178.47943 l -420.63458 177.87332 l -420.37106 177.34627 l -418.68448 176.84557 l -417.99933 175.55428 l -417.20874 175.18533 l -417.15604 174.68463 l -418.57907 174.84274 l -418.63177 173.76228 l -419.84399 173.5251 l -421.16165 173.73593 l -421.42517 172.31288 l -421.16165 171.41689 l -419.68588 171.46959 l -418.42096 171.127 l -416.73438 171.75948 l -415.36404 172.0757 l -414.73157 172.94534 l -413.30853 173.18253 l -411.83276 174.68463 l -413.15039 176.08133 l -413.04498 177.08273 l -414.62616 178.79567 l -415.41675 179.55989 l -416.15463 180.61401 l -416.83978 180.66672 l -417.26144 181.062 l -416.04919 181.19377 l -415.78568 182.32693 l -415.57486 182.82764 l -414.99509 183.17023 l -415.04779 183.90811 l -h -607 144.880234 m -605.10406 145.538452 l -603.20667 145.433044 l -604.52429 146.197281 l -605.42029 147.4095 l -606.10547 147.804794 l -606.26361 148.410904 l -605.89465 148.806198 l -603.15393 148.463608 l -599.04291 149.570435 l -597.72528 149.754898 l -595.51166 150.782654 l -593.40344 151.67865 l -592.82367 152.337479 l -590.76813 151.33606 l -586.92065 152.469238 l -586.28821 151.942184 l -584.86511 152.548294 l -582.91504 152.363831 l -582.44067 153.312531 l -580.70142 154.73558 l -580.75409 155.34169 l -582.38794 155.657928 l -582.17712 157.792496 l -580.8595 157.8452 l -580.22705 159.057434 l -580.80682 159.689896 l -578.27692 160.454132 l -577.74988 162.114349 l -575.58893 162.483292 l -575.11462 163.959045 l -573.00635 165.329391 l -572.47931 164.327988 l -571.84686 162.193405 l -571.05627 158.925674 l -571.74146 156.8965 l -572.95367 156.026855 l -573.05908 155.34169 l -575.32544 155.025452 l -577.96069 153.180756 l -580.43787 151.652298 l -583.07312 150.492783 l -584.28534 148.437256 l -582.49335 148.542664 l -581.59741 149.754898 l -577.90802 151.362411 l -576.69574 149.570435 l -572.90094 150.071136 l -569.26428 152.521942 l -570.4765 153.417938 l -567.20874 153.78688 l -564.94244 153.944992 l -565.04785 152.890884 l -562.78149 152.680054 l -560.93683 153.391586 l -556.45685 153.128052 l -551.66064 153.57605 l -546.91711 156.42215 l -541.33032 159.874374 l -543.59668 160.058838 l -544.33453 160.981186 l -545.75763 161.297424 l -546.7063 160.585892 l -548.28748 160.664948 l -550.39569 162.272476 l -550.44836 163.537399 l -549.34155 164.986801 l -549.18347 166.726089 l -548.55096 169.07149 l -546.33734 171.20607 l -545.86304 172.20747 l -543.86023 173.92039 l -541.85736 175.60698 l -540.96136 176.47662 l -538.95856 177.31992 l -538.06256 177.34627 l -537.16656 176.63474 l -535.16376 177.71519 l -534.95294 178.18954 l -534.37317 178.11049 l -533.74072 178.61119 l -533.31909 179.11189 l -533.37177 180.13966 l -532.63391 180.48224 l -532.37036 180.74577 l -531.79065 181.16742 l -530.84192 181.40459 l -530.20947 181.79988 l -530.15674 182.43234 l -529.99866 182.59047 l -530.57837 182.82764 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -527.52148 184.46152 l -527.31067 184.72504 l -526.88904 184.85681 l -526.8363 184.59328 l -526.46735 184.43517 l -526.04572 184.22433 l -526.46735 183.56552 l -526.8363 183.40739 l -526.67816 183.11752 l -527.04712 182.35329 l -526.94171 182.08977 l -526.09845 181.93164 l -525.41327 181.53635 l -523.35773 181.98434 l -522.30365 182.66953 l -520.72247 183.06482 l -521.51306 182.37964 l -521.19678 181.79988 l -522.35632 180.82483 l -521.56573 180.06059 l -520.30084 180.58765 l -518.61426 181.58907 l -517.71826 182.53777 l -516.29517 182.61682 l -515.55731 183.30199 l -516.3479 184.27704 l -517.50745 184.51422 l -517.56012 185.17303 l -518.71967 185.59468 l -520.35352 184.56693 l -521.67114 185.12033 l -522.61987 185.17303 l -522.83069 185.93727 l -520.77515 186.35892 l -520.08997 187.14949 l -518.66693 187.86102 l -517.92908 188.88878 l -519.51025 189.70572 l -520.08997 191.12877 l -520.98596 192.47276 l -521.93469 193.60593 l -521.93469 194.68639 l -521.0387 195.08168 l -521.35492 195.87227 l -522.25092 196.32027 l -521.98737 197.53249 l -521.61847 198.69202 l -520.82788 198.82378 l -519.72107 200.40495 l -518.56152 202.3287 l -517.19116 204.06798 l -515.18835 205.41197 l -513.13287 206.65056 l -511.49899 206.80867 l -510.603 207.46748 l -510.07593 206.99313 l -509.28534 207.73102 l -507.22983 208.44255 l -505.70139 208.67972 l -505.17432 210.23453 l -504.38373 210.3136 l -503.9621 209.23312 l -504.33102 208.67972 l -502.38092 208.20537 l -501.69574 208.44255 l -499.74564 209.70747 l -498.48071 211.07782 l -498.16449 212.10558 l -499.32401 213.63405 l -500.64163 215.5578 l -502.01199 216.4538 l -502.90799 217.63966 l -503.54044 220.354 l -503.38232 222.91022 l -502.1174 223.88527 l -500.48352 224.83397 l -499.2713 226.0462 l -497.42661 227.41655 l -496.89954 226.46785 l -497.3212 225.4928 l -496.21436 224.64951 l -495.00214 224.43867 l -494.42239 223.67445 l -493.68451 222.17235 l -492.36685 221.48717 l -491.10193 221.51352 l -491.31274 220.354 l -490.04782 220.38036 l -489.94241 221.98787 l -489.15182 224.12245 l -488.62476 225.41374 l -488.73019 226.46785 l -489.67889 226.52055 l -490.31134 227.86455 l -490.57486 229.12947 l -491.36545 229.97276 l -492.26144 230.13089 l -492.99933 230.89511 l -493.36826 231.02687 l -494.21155 231.92287 l -494.84402 232.89792 l -494.94943 233.87297 l -494.79132 234.5318 l -494.89673 235.05885 l -495.00214 235.90215 l -495.52921 236.32379 l -496.10895 237.61507 l -496.05624 238.11578 l -495.05484 238.19484 l -493.63181 237.11436 l -491.94522 235.95485 l -491.73441 235.21696 l -490.89111 234.24191 l -490.6803 233.02969 l -490.15323 232.21275 l -490.36404 231.15865 l -489.99512 230.52617 l -489.41534 229.97276 l -489.20453 229.26125 l -488.41394 228.41795 l -487.67606 227.73277 l -487.46524 228.60242 l -487.20172 227.78549 l -487.35983 226.86314 l -487.78149 225.46645 l -487.62335 224.35962 l -488.09772 223.25281 l -487.57065 222.38316 l -487.72876 220.802 l -487.09631 220.03777 l -486.62195 218.27213 l -486.35843 216.42743 l -485.72595 215.21521 l -484.77725 215.95308 l -483.0907 217.0072 l -482.30011 216.87543 l -481.40411 216.53285 l -481.87845 214.71451 l -481.56223 213.34416 l -480.45541 211.65758 l -480.61353 211.13052 l -479.77023 210.94606 l -478.71613 209.73383 l -478.29446 208.9696 l -478.24176 208.23172 l -477.92554 207.5202 l -477.34576 206.67691 l -475.97543 206.62421 l -476.13354 207.23032 l -475.65921 208.0209 l -475.02673 207.73102 l -474.81592 207.99455 l -474.39426 207.83643 l -473.81451 207.70467 l -473.60367 208.25807 l -472.60226 208.23172 l -470.8103 208.52161 l -470.91571 209.62842 l -470.12512 210.49806 l -468.01691 211.47311 l -466.38303 213.2124 l -465.27621 214.13475 l -463.80045 215.08345 l -463.80045 215.76862 l -463.11526 216.11121 l -461.79764 216.63826 l -461.11246 216.71732 l -460.63812 217.85049 l -460.95435 219.74789 l -461.00705 220.96011 l -460.42731 222.35681 l -460.42731 224.83397 l -459.63672 224.91304 l -459.00424 226.01985 l -459.42587 226.52055 l -458.10825 226.91585 l -457.58118 227.91725 l -457.00143 228.3389 l -455.63107 226.96855 l -454.94592 224.91304 l -454.36615 223.43727 l -453.89182 222.75211 l -453.10123 221.35541 l -452.73227 219.51071 l -452.46875 218.61472 l -451.15112 216.58556 l -450.51865 213.76581 l -450.09702 211.86841 l -450.09702 210.10277 l -449.83347 208.73242 l -447.67255 209.60207 l -446.67114 209.44395 l -444.77374 207.65196 l -445.45892 207.12491 l -445.03726 206.5715 l -443.29797 205.30656 l -442.24387 204.93762 l -441.76953 203.88351 l -440.66272 202.7767 l -437.97473 203.06657 l -435.60297 203.09293 l -433.54745 203.2774 l -430.75406 202.85576 l -429.17288 202.51317 l -427.53903 202.3287 l -426.90656 200.53671 l -426.22137 200.27318 l -425.06186 200.53671 l -423.58609 201.22188 l -421.79413 200.74753 l -420.31836 199.61436 l -418.89529 199.21907 l -417.94659 197.82237 l -416.83978 195.87227 l -416.04919 196.10944 l -415.1532 195.60873 l -414.57346 196.18851 l -413.73016 196.10944 l -414.04639 196.76826 l -413.88828 197.11086 l -414.36264 198.19131 l -414.94238 199.45624 l -415.68027 199.79883 l -415.94379 200.32588 l -416.89249 200.93201 l -416.99789 201.53812 l -416.83978 202.01247 l -417.05063 202.51317 l -417.47226 202.93481 l -417.68307 203.40916 l -417.89389 203.75175 l -417.78848 202.69763 l -418.15744 201.93341 l -418.57907 201.77528 l -419.00073 202.22328 l -419.05344 203.09293 l -418.73718 203.93622 l -419.00073 204.51598 l -419.26425 204.43692 l -419.31696 204.83221 l -420.47647 204.59503 l -421.68869 204.64775 l -422.58469 204.70045 l -423.58609 203.69904 l -424.64023 202.75034 l -425.58893 201.85435 l -426.01056 201.35365 l -426.16867 201.48541 l -426.06326 202.09152 l -425.85245 202.35506 l -426.06326 203.51457 l -426.69574 204.51598 l -427.53903 205.04303 l -428.59314 205.22751 l -429.48914 205.49103 l -430.12158 206.33432 l -430.54324 206.83502 l -431.07028 207.0195 l -431.07028 207.33572 l -430.54324 208.20537 l -430.27972 208.62701 l -429.64725 209.10136 l -429.12018 210.10277 l -428.43503 210.02371 l -428.17148 210.3663 l -427.90796 211.10417 l -428.11877 212.07922 l -427.96066 212.2637 l -427.27548 212.2637 l -426.37949 212.81711 l -426.22137 213.52863 l -425.90515 213.81851 l -424.95645 213.81851 l -424.42938 214.18745 l -424.42938 214.76721 l -423.69153 215.18886 l -422.90094 215.0571 l -421.89954 215.53145 l -421.26706 215.63686 l -420.21295 216.0058 l -419.89673 216.66461 l -419.84399 217.16531 l -418.42096 217.79778 l -416.04919 218.4566 l -414.78427 219.51071 l -414.09909 219.58977 l -413.67746 219.48436 l -412.83417 220.09047 l -411.88547 220.38036 l -410.67325 220.45941 l -410.30429 220.53847 l -409.98807 220.93376 l -409.56644 221.03917 l -409.35559 221.40811 l -408.61774 221.38176 l -408.14337 221.56622 l -407.14197 221.51352 l -406.77304 220.64388 l -406.82574 219.8533 l -406.56219 219.4053 l -406.29868 218.32484 l -405.87704 217.71872 l -406.14056 217.66602 l -406.03516 216.98085 l -406.19327 216.71732 l -406.14056 216.0585 l -405.92975 215.45238 l -405.50809 215.00438 l -405.40268 214.42462 l -404.61209 213.89757 l -403.8215 212.659 l -403.45258 211.47311 l -402.39847 210.47171 l -401.76599 210.23453 l -400.81729 208.83783 l -400.60648 207.81007 l -400.71188 206.94043 l -399.86859 205.33292 l -399.18344 204.75316 l -398.39285 204.43692 l -397.86578 203.61998 l -397.97119 203.2774 l -397.54956 202.51317 l -397.1279 202.19693 l -396.54816 201.11647 l -395.65216 199.9306 l -394.91428 198.92918 l -394.17639 198.92918 l -394.43994 198.11226 l -394.49265 197.61156 l -394.65076 197.03178 l -394.59805 196.82097 l -394.2291 197.40073 l -393.91287 198.50754 l -393.49124 199.27177 l -393.17499 199.53531 l -392.64795 199.06096 l -392.01547 198.40213 l -390.96136 196.29391 l -390.80325 196.42567 l -391.4357 197.98048 l -392.3317 199.45624 l -393.43851 201.72258 l -393.96558 202.51317 l -394.43994 203.35646 l -395.75757 204.96397 l -395.44135 205.22751 l -395.49405 206.17621 l -397.23331 207.49385 l -397.44415 207.78372 l -397.91849 209.23312 l -397.60226 209.49666 l -397.81308 210.99876 l -398.39285 212.73805 l -398.91989 213.10698 l -399.71048 213.6604 l -400.55377 215.34697 l -400.9754 216.69096 l -401.76599 217.4025 l -403.7688 218.79919 l -404.61209 219.61612 l -405.40268 220.45941 l -405.82434 220.96011 l -406.56219 221.40811 l -406.93115 221.85611 l -406.87845 222.46222 l -406.03516 222.83116 l -406.6676 223.22646 l -407.14197 223.48997 l -407.40549 224.0961 l -408.09067 224.70221 l -408.82855 224.70221 l -410.19888 224.33327 l -411.78006 224.17516 l -413.09769 223.70081 l -413.78287 223.62175 l -414.30994 223.35822 l -415.1532 223.30551 l -415.62756 223.27916 l -416.31274 223.04199 l -417.05063 222.91022 l -417.78848 222.40952 l -418.31555 222.40952 l -418.36826 222.80481 l -418.21014 223.6481 l -418.21014 224.41232 l -417.89389 224.93939 l -417.52496 226.54691 l -416.78708 228.18077 l -415.89108 230.02547 l -414.62616 232.1864 l -413.41394 233.82027 l -411.67465 235.82309 l -410.19888 237.00896 l -407.98526 238.45836 l -406.6676 239.56519 l -405.03375 241.35716 l -404.7175 242.1214 l -404.40128 242.46399 l -403.34717 243.04375 l -402.97824 243.64986 l -402.45117 243.75526 l -402.24036 244.80939 l -401.76599 245.38914 l -401.50247 246.3642 l -400.87 246.83855 l -400.23755 248.65689 l -400.29025 249.47383 l -401.23895 250.00089 l -401.29166 250.39618 l -400.87 251.26581 l -400.9754 251.71381 l -400.87 252.42534 l -401.39706 253.34769 l -401.97684 254.77074 l -402.50388 255.11333 l -402.7674 255.77214 l -402.71469 257.22156 l -402.8728 258.51282 l -402.92554 260.77917 l -403.18906 261.51706 l -402.7674 262.5448 l -402.18765 263.57257 l -401.23895 264.46857 l -399.9213 265.02197 l -398.28745 265.73349 l -396.60086 267.31467 l -396.07379 267.57819 l -395.01968 268.63229 l -394.43994 268.97488 l -394.2818 270.00266 l -395.01968 271.10947 l -395.2832 271.9791 l -395.2832 272.40076 l -395.54675 272.34805 l -395.49405 273.77109 l -395.2832 274.45627 l -395.59946 274.69345 l -395.38864 275.3259 l -394.80887 275.8266 l -393.59665 276.3273 l -391.80466 277.11789 l -391.17218 277.6713 l -391.33029 278.2774 l -391.69925 278.38281 l -391.54111 279.14706 l -391.17218 280.20117 l -391.01407 281.43976 l -390.64514 282.09857 l -389.64371 282.83646 l -389.38019 283.04727 l -388.74771 283.78516 l -388.32608 284.54938 l -387.48279 285.57715 l -385.84891 287.10559 l -384.7948 287.97525 l -383.68799 288.63406 l -382.15955 289.21381 l -381.42166 289.29288 l -381.26355 289.68817 l -380.36755 289.47736 l -379.62967 289.74088 l -378.04849 289.47736 l -377.1525 289.6618 l -376.57275 289.58276 l -375.04428 290.16251 l -373.77936 290.37335 l -372.88336 290.92676 l -372.19818 290.97946 l -371.61841 290.45239 l -371.09137 290.42606 l -370.45889 289.76724 l -370.40619 289.97806 l -370.19537 289.58276 l -370.19537 288.7131 l -369.72101 287.73807 l -370.19537 287.47455 l -370.19537 286.34137 l -369.19397 284.97101 l -368.45609 283.73245 l -367.40198 281.83505 l -366.34787 280.72821 l -365.7681 279.64777 l -365.45187 278.2247 l -365.08292 277.17059 l -364.60858 274.9306 l -364.55588 273.16498 l -364.39777 272.37439 l -363.81799 271.76828 l -363.0274 270.55606 l -362.28952 268.79041 l -361.9733 267.86807 l -360.76108 266.44501 l -360.65567 265.3382 l -360.55026 264.41586 l -360.76108 263.12457 l -361.23541 261.78058 l -361.34082 261.1481 l -361.81519 259.83047 l -362.13141 259.22437 l -362.9747 258.27567 l -363.44907 257.61682 l -363.60718 256.53638 l -363.55447 255.71944 l -363.08011 255.19238 l -362.71118 254.29639 l -362.34222 253.42674 l -362.44766 253.1105 l -362.86929 252.53075 l -362.44766 251.1077 l -362.13141 250.13264 l -361.39352 249.2103 l -361.55167 248.92041 l -361.34082 248.47241 l -360.91919 247.3656 l -359.75967 245.83714 l -358.2312 244.33504 l -357.2825 243.14915 l -356.38651 241.6207 l -356.43921 241.14635 l -356.75546 240.672 l -357.12439 239.61789 l -357.38791 238.51106 l -357.12439 238.30025 l -357.65146 236.66637 l -357.86227 235.50685 l -357.2825 234.5318 l -356.59732 234.29462 l -356.2811 233.6358 l -355.91217 233.42499 l -355.96487 233.00334 l -354.4364 233.5304 l -353.85663 233.45134 l -353.32959 233.79391 l -352.11737 233.76756 l -351.32678 232.84521 l -350.85242 231.79111 l -349.85101 230.81606 l -348.7442 230.84241 l -347.42657 230.84241 l -346.21432 231.00052 l -345.05481 231.31676 l -342.73578 232.1864 l -341.94519 232.6871 l -340.62753 233.10875 l -339.30991 232.6871 l -338.67743 232.71346 l -337.62332 232.42357 l -336.67462 232.42357 l -334.93533 232.6871 l -333.93393 233.10875 l -332.51089 233.66216 l -332.19467 233.60945 l -331.82571 233.6358 l -330.29724 232.92427 l -328.97961 231.81746 l -327.71469 231.00052 l -326.76599 230.07817 l -326.34433 229.94641 l -325.29022 229.36665 l -324.55234 228.57607 l -324.28882 228.04901 l -324.13071 226.96855 l -323.44553 226.09891 l -322.91849 225.51915 l -322.49683 225.33467 l -322.1806 225.0448 l -321.96979 224.41232 l -321.75894 224.06975 l -321.33731 223.83257 l -320.54672 223.22646 l -319.96698 223.12105 l -319.59802 222.72575 l -319.65073 222.48857 l -319.17639 222.17235 l -319.07098 221.88246 l -318.86014 220.7493 l -319.01828 220.09047 l -318.43851 218.95731 l -317.70062 218.43025 l -318.3331 218.16672 l -319.07098 217.13896 l -319.38721 216.37473 l -319.2818 215.58415 l -319.70343 214.87262 l -319.86154 213.50227 l -319.70343 212.05287 l -319.54532 211.315 l -319.65073 210.57712 l -319.2818 209.89195 l -318.54391 209.25948 l -318.59662 208.62701 l -318.64932 207.9682 l -319.2291 207.57291 l -319.70343 206.80867 l -319.59802 206.30797 l -320.12509 205.28021 l -320.91568 204.33151 l -321.39001 204.09433 l -321.81165 203.25105 l -321.81165 202.46046 l -322.33871 201.56447 l -323.34012 201.03741 l -324.28882 199.53531 l -325.0267 198.95554 l -326.39703 198.79742 l -327.55658 197.79602 l -328.29443 197.40073 l -329.50668 196.18851 l -329.13773 194.37016 l -329.66479 193.10522 l -329.87561 192.34099 l -330.82431 191.33958 l -332.30008 190.68077 l -333.40689 190.07466 l -334.35559 188.54619 l -334.82993 187.65019 l -335.88403 187.65019 l -336.78003 188.28267 l -338.15039 188.17726 l -339.67883 188.49348 l -340.31131 188.51984 l -341.73438 187.72926 l -343.31552 187.46573 l -344.21152 186.85962 l -345.63458 186.41162 l -348.11172 186.14809 l -350.53619 186.04268 l -351.27408 186.25349 l -352.64441 185.67374 l -354.22559 185.67374 l -354.80533 186.01633 l -355.80676 185.91092 l -357.44061 185.33116 l -358.44202 185.48927 l -358.38931 186.22714 l -359.65427 185.70009 l -359.75967 185.98997 l -359.02179 186.70149 l -359.02179 187.38667 l -359.49612 187.72926 l -359.33801 188.99419 l -358.33661 189.73207 l -358.65286 190.54901 l -359.39072 190.57536 l -359.75967 191.26053 l -360.33942 191.49771 l -362.026 191.99841 l -362.65848 191.86664 l -363.8707 192.10382 l -365.8208 192.76263 l -366.50598 194.08028 l -367.82361 194.34381 l -369.87912 194.97627 l -371.4603 195.68781 l -372.14548 195.31886 l -372.83066 194.63368 l -372.5144 193.52687 l -372.98877 192.81534 l -374.04288 192.13017 l -375.04428 191.91936 l -376.99438 192.20923 l -377.52145 192.86806 l -378.04849 192.86806 l -378.52286 193.13158 l -379.9986 193.28969 l -380.31485 193.79039 l -382.26495 193.76404 l -383.68799 194.15933 l -385.16376 194.58098 l -385.84891 194.81816 l -386.95575 194.34381 l -387.53549 193.92216 l -388.85315 193.81676 l -389.90726 194.00122 l -390.27618 194.71274 l -390.64514 194.23839 l -391.80466 194.58098 l -392.96417 194.66003 l -393.64935 194.29111 l -394.07098 193.81676 l -393.96558 193.73769 l -394.38721 193.05252 l -394.65076 191.94571 l -394.86157 191.57677 l -394.91428 191.55042 l -395.44135 190.36453 l -396.1792 189.33678 l -396.1792 189.28407 l -396.07379 188.15091 l -396.44275 187.57114 l -395.86298 186.88597 l -396.44275 186.35892 l -395.54675 186.46432 l -394.3345 186.14809 l -393.3331 186.96503 l -391.06677 187.14949 l -389.90726 186.35892 l -388.32608 186.30621 l -388.00986 186.91232 l -386.95575 187.09679 l -385.58539 186.30621 l -383.95151 186.33257 l -383.10825 184.88316 l -382.0014 184.06622 l -382.73929 182.93304 l -381.79059 182.22153 l -383.42447 180.82483 l -385.6908 180.77213 l -386.32327 179.66531 l -389.11667 179.84978 l -390.85596 178.90108 l -392.54254 178.47943 l -394.96698 178.45308 l -397.54956 179.48083 l -399.65778 180.06059 l -401.34436 179.82343 l -402.60928 179.95518 l -404.34857 179.19096 l -404.55939 178.55849 l -404.19046 177.58344 l -403.34717 177.03003 l -402.50388 176.87192 l -401.97684 176.42392 l -400.13214 175.18533 l -398.44556 174.63193 l -397.1806 173.76228 l -398.23474 173.5251 l -399.44696 172.31288 l -398.65637 171.73312 l -400.81729 171.127 l -400.76459 170.81078 l -399.44696 171.04794 l -398.28745 171.15335 l -397.33875 171.6277 l -395.96838 171.70677 l -394.70346 172.26018 l -394.75616 173.18253 l -395.49405 173.5251 l -396.96979 173.44604 l -396.70627 173.94675 l -395.07239 174.21028 l -393.12228 175.05357 l -392.27899 174.76369 l -392.59525 174.07852 l -391.01407 173.65688 l -391.27759 173.36699 l -392.64795 172.86629 l -392.22629 172.55005 l -389.95996 172.18112 l -389.85455 171.6277 l -388.5369 171.81218 l -387.95715 172.60277 l -386.85031 173.68323 l -386.85031 174.07852 l -386.16516 174.39474 l -385.6908 174.26299 l -385.32187 176.02863 l -384.53128 176.63474 l -384.00421 177.66249 l -384.47858 178.50578 l -384.63669 179.05919 l -385.95435 179.53354 l -385.6908 179.90248 l -383.95151 179.98154 l -383.31906 180.42953 l -382.10681 181.22012 l -381.63248 180.53494 l -381.63248 180.24507 l -380.73648 180.19237 l -379.9986 180.06059 l -378.2066 180.42953 l -379.20801 181.27283 l -378.47015 181.50999 l -377.67957 181.50999 l -376.88898 180.74577 l -376.62546 181.062 l -376.94168 181.93164 l -377.67957 182.61682 l -377.1525 182.95941 l -377.94308 183.61823 l -378.68097 184.03987 l -378.68097 184.88316 l -377.36331 184.48787 l -377.78497 185.22574 l -376.83627 185.38387 l -377.41602 186.67514 l -376.41461 186.70149 l -375.20239 186.06903 l -374.67535 184.88316 l -374.4118 183.90811 l -373.83206 183.24928 l -373.09418 182.40599 l -372.98877 181.98434 l -372.72522 181.87894 l -372.72522 181.56271 l -371.93466 181.08836 l -371.77652 180.37683 l -371.88196 179.37543 l -372.09277 178.92743 l -371.88196 178.69025 l -371.5657 178.58484 l -371.14407 178.11049 l -370.5116 177.82062 l -369.14127 177.2672 l -368.29797 176.74014 l -366.92761 176.3185 l -365.71539 175.23804 l -366.03162 175.13263 l -365.34647 174.50017 l -365.29376 174.02582 l -364.39777 173.78864 l -363.9234 174.4211 l -363.50177 173.92039 l -363.50177 173.41969 l -363.55447 173.39334 l -363.9234 173.26158 l -362.76389 173.05075 l -361.55167 173.57782 l -361.60437 174.28934 l -361.44626 174.71098 l -361.92059 175.44887 l -363.29092 176.18674 l -364.02881 177.39897 l -365.66269 178.58484 l -366.8222 178.58484 l -367.19116 178.90108 l -366.7695 179.19096 l -368.08716 179.71802 l -369.14127 180.16602 l -370.40619 180.93024 l -370.5643 181.19377 l -370.30078 181.72083 l -369.45749 181.03564 l -368.19257 180.79848 l -367.56009 181.74718 l -368.6142 182.27423 l -368.45609 183.03847 l -367.87631 183.14388 l -367.08575 184.38246 l -366.45328 184.51422 l -366.45328 184.06622 l -366.7695 183.27563 l -367.08575 182.95941 l -366.50598 182.11612 l -366.08432 181.37823 l -365.45187 181.19377 l -365.03021 180.56129 l -364.08151 180.29778 l -363.44907 179.69167 l -362.34222 179.61259 l -361.23541 178.95378 l -359.86508 178.00508 l -358.86368 177.16179 l -358.44202 175.71239 l -357.70416 175.52792 l -356.49191 175.05357 l -355.85947 175.23804 l -355.01617 175.92322 l -354.3837 176.02863 l -353.06607 176.87192 l -350.16727 176.47662 l -348.05902 176.95097 l -347.84821 177.82062 l -347.95361 178.66389 l -346.58328 179.63895 l -344.68588 179.95518 l -344.58047 180.45589 l -343.63177 181.27283 l -343.10471 182.45869 l -343.68448 183.30199 l -342.84119 183.93446 l -342.52493 184.88316 l -341.41812 185.19939 l -340.36401 186.30621 l -338.51932 186.33257 l -337.09628 186.30621 l -336.20029 186.83327 l -335.62051 187.38667 l -334.93533 187.25491 l -334.35559 186.75421 l -333.93393 185.91092 l -332.5636 185.70009 l -331.98383 186.06903 l -331.24597 185.85822 l -330.45538 186.01633 l -330.7189 184.88316 l -330.56079 183.98717 l -329.92831 183.85539 l -329.55939 183.30199 l -329.66479 182.32693 l -330.24454 181.79988 l -330.34998 181.22012 l -330.6662 180.32413 l -330.61349 179.71802 l -330.34998 179.19096 l -330.29724 178.69025 l -330.34998 177.63614 l -329.7702 177.00368 l -331.82571 175.94957 l -333.61771 176.21309 l -335.56781 176.21309 l -337.14899 176.45027 l -338.36121 176.39757 l -340.73297 176.42392 l -341.47083 175.55428 l -341.73438 172.62912 l -340.25861 171.10065 l -339.15179 170.36278 l -336.93817 169.80937 l -336.78003 168.7289 l -338.67743 168.41267 l -341.1546 168.7816 l -340.68027 167.121384 l -342.0506 167.753845 l -345.47647 166.620682 l -345.8981 165.408447 l -347.16302 165.118576 l -348.37527 164.82869 l -349.11313 164.433395 l -350.37808 162.272476 l -352.38089 161.666351 l -353.59311 161.719055 l -353.90936 161.402832 l -355.12158 161.323776 l -355.3851 161.639999 l -356.38651 160.928482 l -356.07028 160.375076 l -355.96487 159.531784 l -355.3851 158.714844 l -355.3324 157.23909 l -355.59592 156.843796 l -356.01758 156.395798 l -357.2825 156.316742 l -357.80957 155.895096 l -358.96909 155.499802 l -358.91638 156.237686 l -358.49472 156.712036 l -358.70557 157.133682 l -359.49612 157.344498 l -359.1272 157.897903 l -358.70557 157.739792 l -357.65146 158.7939 l -358.02039 159.505432 l -358.07309 160.08519 l -359.54886 160.42778 l -359.49612 160.928482 l -361.0246 160.664948 l -361.81519 160.269653 l -363.50177 160.849426 l -364.18692 161.297424 l -365.18835 160.875778 l -367.45468 160.190598 l -369.29938 159.689896 l -370.77512 159.95343 l -370.88055 160.296005 l -372.30359 160.322357 l -372.61981 159.689896 l -374.62265 159.215546 l -374.3064 157.976974 l -374.3591 156.870148 l -375.09698 155.9478 l -376.46732 155.447098 l -377.62686 156.553909 l -378.78638 156.527557 l -379.1026 155.394394 l -379.26071 154.52475 l -378.73367 154.709229 l -377.78497 154.208527 l -377.67957 153.365234 l -379.52426 152.943588 l -381.36896 152.732758 l -382.9501 152.96994 l -384.47858 152.943588 l -386.11246 152.126648 l -384.58398 151.441483 l -381.9487 151.54689 l -379.36615 152.073944 l -376.99438 152.390182 l -376.15109 151.599594 l -374.72806 151.098892 l -375.04428 149.675842 l -374.3064 148.3582 l -375.04428 147.488556 l -376.36191 146.566208 l -379.68237 144.985046 l -380.68378 144.69516 l -380.52567 144.062698 l -378.47015 143.377533 l -375.99298 143.799164 l -374.56992 144.800583 l -374.78076 145.696564 l -372.4617 146.882446 l -369.6156 148.147385 l -368.56149 150.202896 l -369.6156 151.230652 l -370.98596 152.047592 l -369.6683 153.707809 l -368.13986 154.0504 l -367.56009 156.501205 l -366.7695 157.871552 l -364.97751 157.739792 l -364.13422 158.899307 l -362.44766 158.952026 l -361.9733 157.58168 l -360.76108 155.921448 l -359.65427 153.839584 l -358.65286 152.943588 l -355.75403 154.630157 l -353.80392 154.972748 l -351.80112 154.234879 l -351.27408 152.653702 l -350.79971 149.280548 l -352.17007 148.331848 l -356.01758 147.119614 l -358.91638 145.591156 l -361.60437 143.561996 l -365.08292 140.742249 l -367.56009 139.635437 l -371.5657 137.790741 l -374.78076 137.158264 l -377.2052 137.237335 l -379.41885 136.025101 l -382.10681 136.077805 l -384.7421 135.787918 l -389.32748 136.868393 l -387.43008 137.263687 l -389.01126 138.186035 l -390.5397 137.658966 l -392.96417 138.554962 l -396.96979 138.897552 l -402.50388 140.557785 l -403.61069 141.24295 l -403.71609 142.218002 l -402.08224 142.982239 l -399.71048 143.377533 l -393.17499 142.270706 l -392.06818 142.455185 l -394.43994 143.535645 l -394.65076 145.696564 l -396.54816 146.144562 l -397.70767 146.539856 l -397.86578 145.828339 l -396.96979 145.16951 l -397.91849 144.642456 l -401.44977 145.538452 l -402.71469 145.195862 l -401.71329 144.115402 l -405.13916 142.692352 l -406.45679 142.771408 l -407.82715 143.27211 l -408.67044 142.270706 l -407.45819 141.401062 l -408.19608 140.531433 l -407.08926 139.609085 l -411.20029 140.083435 l -412.04358 140.90036 l -410.19888 141.084839 l -410.19888 141.901764 l -411.3584 142.402466 l -413.62476 142.086243 l -413.99368 141.163895 l -417.05063 140.452362 l -422.16306 139.187439 l -423.21716 139.266495 l -421.79413 140.162491 l -423.63879 140.320602 l -424.64023 139.819901 l -427.38089 139.767197 l -429.59454 139.161087 l -431.22842 140.057083 l -432.91498 139.082016 l -431.38654 138.238739 l -432.12439 137.738037 l -436.44626 138.186035 l -438.50177 138.634018 l -443.77234 140.320602 l -444.77374 139.556366 l -443.29797 138.792145 l -443.24527 138.475906 l -441.45328 138.317795 l -441.98035 137.632614 l -441.18976 136.499451 l -441.13705 136.025101 l -443.82504 134.707458 l -444.77374 133.363464 l -445.88055 133.073593 l -449.78076 133.468887 l -450.04431 134.285812 l -448.67395 135.471695 l -449.56995 135.919693 l -450.04431 136.947449 l -449.72806 138.950256 l -451.36194 139.846252 l -450.72946 140.847656 l -447.83066 142.903183 l -449.51724 143.14035 l -450.09702 142.613297 l -451.73087 142.218002 l -452.09982 141.506485 l -453.36475 140.794952 l -452.52145 139.978012 l -453.20663 139.00296 l -451.57275 138.897552 l -451.25653 138.080612 l -452.41605 136.604858 l -450.51865 135.418991 l -453.15393 134.417587 l -452.78497 133.389816 l -453.52286 133.337112 l -454.31345 134.154053 l -453.73367 135.577103 l -455.26215 135.840637 l -454.62967 134.786514 l -457.05414 134.206757 l -460.11105 134.127701 l -462.79904 134.970993 l -461.48141 133.758759 l -461.37601 132.177597 l -463.90585 131.887711 l -467.43713 131.966766 l -470.59946 131.755951 l -469.38724 130.991714 l -471.12653 130.043015 l -472.76041 129.990311 l -475.60651 129.278793 l -479.50671 129.067963 l -479.98105 128.672668 l -483.82855 128.540909 l -485.0408 128.857147 l -488.30853 128.092911 l -490.99652 128.119263 l -491.41815 127.486801 l -492.78851 126.854332 l -496.26709 126.248215 l -498.79694 126.722565 l -496.79413 127.091507 l -500.11459 127.328682 l -500.48352 128.040207 l -501.80115 127.697624 l -506.12302 127.697624 l -509.39075 128.409149 l -510.603 128.962555 l -510.23404 129.726791 l -508.60019 130.148422 l -504.75269 130.965363 l -503.64584 131.413361 l -505.49054 131.624191 l -507.65149 131.993118 l -508.96912 131.703247 l -509.707 132.651947 l -510.33945 132.256653 l -512.65851 132.045837 l -517.40198 132.283005 l -517.71826 132.96817 l -523.83209 133.179001 l -523.9375 132.072189 l -527.04712 132.309357 l -529.36615 132.309357 l -531.73792 133.073593 l -532.4231 134.022293 l -531.5271 134.628403 l -533.37177 135.787918 l -535.69086 136.367691 l -537.11389 134.839218 l -539.43292 135.498047 l -541.96277 135.102753 l -544.75616 135.550751 l -545.86304 135.155457 l -548.23474 135.33992 l -547.18066 133.995941 l -549.13074 133.363464 l -562.35986 134.312164 l -563.62476 135.181808 l -567.41956 136.288635 l -573.32263 136.025101 l -576.27411 136.262268 l -577.48633 136.868393 l -577.27551 137.922501 l -579.12024 138.344147 l -581.07031 138.05426 l -583.65289 138.001556 l -586.39362 138.291443 l -589.18701 138.133316 l -591.76953 139.450958 l -593.56152 138.976608 l -592.3493 138.027908 l -593.03448 137.395447 l -597.67261 137.790741 l -600.72949 137.711685 l -604.94592 138.396851 l -607 139.055115 l -607 144.880234 l -h -206.12296 126.511749 m -205.43777 126.564453 l -202.69708 126.459038 l -202.32816 126.063751 l -205.27966 126.090103 l -206.28107 126.35363 l -206.12296 126.511749 l -h -180.61345 125.589401 m -182.66898 125.826576 l -182.19463 126.248215 l -179.45393 126.669861 l -177.293 126.195511 l -178.50523 125.747513 l -180.61345 125.589401 l -h -379.68237 126.037399 m -376.41461 126.617157 l -373.83206 126.300926 l -374.83347 125.905632 l -373.99017 125.431282 l -376.99438 125.141403 l -377.57416 125.694809 l -379.68237 126.037399 l -h -181.0351 124.640701 m -182.98521 124.93058 l -181.19322 125.220459 l -178.76877 125.220459 l -178.76877 125.009636 l -180.29723 124.561638 l -181.0351 124.640701 l -h -201.85381 124.693405 m -203.59308 125.194107 l -203.22414 125.721161 l -201.06322 126.037399 l -199.85098 125.694809 l -199.21852 125.141403 l -199.11311 124.535286 l -201.01051 124.58799 l -201.85381 124.693405 l -h -189.04634 123.902817 m -191.94516 124.11364 l -195.89807 124.640701 l -197.00488 125.352226 l -197.58464 125.958336 l -195.21289 125.800224 l -192.78844 125.325874 l -189.52069 125.246811 l -190.94374 124.825165 l -189.15176 124.482582 l -189.04634 123.902817 l -h -494.05344 123.929176 m -497.74283 124.772461 l -497.3212 125.378578 l -489.04642 125.931984 l -491.73441 124.008232 l -492.94662 123.850113 l -494.05344 123.929176 l -h -365.66269 123.375763 m -366.24246 122.875061 l -368.35068 122.822357 l -370.19537 123.323059 l -375.04428 124.403526 l -371.35489 124.983284 l -370.5643 126.063751 l -369.24667 126.35363 l -368.56149 127.565857 l -366.7695 127.618561 l -363.65988 126.722565 l -364.97751 126.195511 l -362.76389 125.773865 l -359.91779 124.535286 l -358.81097 123.402115 l -362.76389 122.875061 l -363.60718 123.375763 l -365.66269 123.375763 l -h -383.63528 122.796005 m -381.47437 123.586586 l -377.2052 123.771057 l -372.88336 123.533882 l -372.61981 123.112236 l -370.5116 123.085884 l -368.93042 122.427063 l -373.4631 122.005417 l -375.57135 122.374359 l -377.04709 121.926361 l -380.73648 122.295303 l -383.63528 122.796005 l -h -409.14478 122.031776 m -411.99088 121.768242 l -414.25723 121.74189 l -414.52075 122.137184 l -415.36404 121.794601 l -416.73438 121.531067 l -418.94803 121.873657 l -418.36826 122.08448 l -416.41815 122.268951 l -415.10049 122.400711 l -414.88968 122.637886 l -413.15039 122.875061 l -411.56924 122.532478 l -412.41254 122.058128 l -409.14478 122.031776 l -h -480.77164 121.399307 m -483.93396 121.056717 l -486.78006 121.794601 l -490.15323 123.217651 l -489.7843 124.535286 l -486.62195 124.719757 l -482.51093 124.298111 l -480.08646 123.718353 l -478.97964 122.69059 l -476.97684 122.400711 l -480.77164 121.399307 l -h -202.96062 122.005417 m -203.96202 121.557426 l -205.43777 121.452011 l -204.80531 121.109428 l -208.23117 121.056717 l -210.07587 121.820953 l -212.55302 122.137184 l -214.97748 122.427063 l -216.13701 123.375763 l -217.8763 123.850113 l -215.87347 124.298111 l -213.1855 125.40493 l -210.55022 125.510338 l -207.54601 125.325874 l -205.96483 124.719757 l -205.96483 124.192703 l -207.12436 123.797409 l -204.48907 123.797409 l -202.85521 123.323059 l -201.90651 122.664238 l -202.96062 122.005417 l -h -209.44341 120.108017 m -211.60432 119.84449 l -213.29091 119.791786 l -216.18971 119.554611 l -218.35065 119.001205 l -220.14262 119.080261 l -221.7238 119.501907 l -222.83061 118.711319 l -224.78072 118.474144 l -227.416 118.316032 l -231.89597 118.236969 l -232.63385 118.395088 l -236.903 118.157913 l -240.06534 118.236969 l -243.22766 118.342384 l -247.12788 118.447792 l -250.29021 118.632263 l -252.9782 119.027557 l -252.87279 119.422844 l -249.34151 120.055313 l -245.75754 120.371544 l -244.4399 120.687782 l -247.65494 120.687782 l -244.17636 121.583778 l -241.80461 121.979065 l -239.27475 123.191292 l -236.27054 123.428467 l -235.32184 123.718353 l -230.89456 123.876465 l -232.95009 124.060936 l -231.89597 124.324463 l -233.1082 125.035988 l -231.73785 125.53669 l -229.47151 125.958336 l -228.78635 126.538101 l -226.73082 126.986099 l -226.94165 127.30233 l -229.47151 127.249626 l -229.47151 127.592209 l -225.5713 128.488205 l -221.7238 128.066559 l -217.45465 128.303741 l -215.24101 128.119263 l -212.50032 128.040207 l -212.28951 127.355034 l -215.03018 127.012451 l -214.29231 125.958336 l -215.18831 125.852928 l -219.08852 126.48539 l -217.08571 125.563049 l -214.71396 125.273163 l -215.92618 124.693405 l -218.50876 124.350815 l -218.9304 123.850113 l -216.87488 123.270355 l -216.24242 122.532478 l -220.24805 122.585182 l -221.40756 122.743301 l -223.6739 122.21624 l -220.40616 122.031776 l -215.24101 122.137184 l -212.65843 121.636482 l -211.44621 121.056717 l -209.75963 120.608727 l -209.44341 120.108017 l -h -275.06183 119.053909 m -279.96344 118.157913 l -285.0759 118.236969 l -286.9733 117.683563 l -292.13843 117.551804 l -303.83905 117.736267 l -313.00983 118.89579 l -310.26913 119.449203 l -304.68234 119.528259 l -296.77652 119.660019 l -297.5144 119.923553 l -302.73224 119.765434 l -307.10681 120.266136 l -309.95291 119.818138 l -311.16513 120.345192 l -309.58398 121.188484 l -313.32605 120.66143 l -320.44131 120.081665 l -324.81589 120.371544 l -325.60648 121.004013 l -319.65073 122.031776 l -318.80743 122.374359 l -314.16934 122.637886 l -317.54251 122.69059 l -315.85593 123.771057 l -314.64371 124.719757 l -314.69641 126.35363 l -316.4357 127.30233 l -314.16934 127.355034 l -311.7449 127.829384 l -314.4856 128.593613 l -314.80182 129.832199 l -313.22064 129.990311 l -315.11804 131.228897 l -311.90302 131.334305 l -313.5896 131.940414 l -313.11523 132.467468 l -311.05972 132.678299 l -309.00421 132.678299 l -310.84891 133.679703 l -310.84891 134.338516 l -307.9501 133.732407 l -307.21222 134.127701 l -309.16232 134.470291 l -311.11243 135.366287 l -311.6395 136.552155 l -309.05692 136.842041 l -307.8974 136.262268 l -306.10541 135.445343 l -306.63245 136.420395 l -304.89319 137.184616 l -308.74069 137.263687 l -310.7962 137.342743 l -306.84329 138.607666 l -302.89035 139.767197 l -298.62122 140.267899 l -296.98734 140.267899 l -295.45889 140.847656 l -293.45605 142.376114 l -290.29373 143.403885 l -289.29233 143.482941 l -287.34222 143.825516 l -285.23401 144.168106 l -283.96906 145.090454 l -283.96906 146.11821 l -283.1785 147.06691 l -280.80673 148.22644 l -281.38651 149.385956 l -280.75403 150.59819 l -280.01614 152.02124 l -277.96063 152.100296 l -275.79971 150.914429 l -272.84821 150.914429 l -271.42514 150.097488 l -270.47644 148.674438 l -267.89386 146.856094 l -267.15601 145.907394 l -266.99786 144.589752 l -264.94235 143.245758 l -265.46942 142.165298 l -264.52072 141.638245 l -265.94376 139.925308 l -268.15741 139.398254 l -268.73715 138.765793 l -269.05341 137.632614 l -267.36682 138.159668 l -266.57623 138.370499 l -265.25861 138.581314 l -263.46661 138.106964 l -263.36121 137.10556 l -263.94095 136.314987 l -265.25861 136.314987 l -268.26282 136.683914 l -265.73294 135.761566 l -264.46802 135.260864 l -262.99225 135.471695 l -261.78003 135.102753 l -263.41391 133.732407 l -262.51791 133.205353 l -261.35837 132.177597 l -259.56638 130.622772 l -257.72171 130.069366 l -257.72171 129.463257 l -253.82149 128.593613 l -250.71185 128.488205 l -246.81165 128.540909 l -243.22766 128.646317 l -241.54109 128.198318 l -238.95851 127.275978 l -242.80602 126.801628 l -245.75754 126.722565 l -239.48557 126.35363 l -236.21782 125.747513 l -236.37595 125.194107 l -241.96274 124.482582 l -247.286 123.771057 l -247.86575 123.244003 l -243.91284 122.716942 l -245.17776 122.137184 l -250.29021 121.109428 l -252.39844 120.951309 l -251.76596 120.292488 l -255.24454 119.923553 l -259.77722 119.686378 l -264.25717 119.660019 l -265.83835 120.134369 l -269.73856 119.317436 l -273.21713 119.870842 l -275.27264 119.976257 l -278.32956 120.450607 l -274.85101 119.660019 l -275.06183 119.053909 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -2 M -1 w -0 J -0 j -2 M -103.821449 355.04306 m -104.717445 354.51602 l -107.458138 354.75317 l -108.933891 355.20117 l -110.04071 355.72824 l -110.409645 356.38705 l -107.616249 356.57153 l -105.718849 356.07083 l -104.822853 355.54376 l -104.770149 355.46472 l -103.821449 355.04306 l -334.40829 161.139297 m -334.67181 162.193405 l -333.565 163.484695 l -330.98242 164.35434 l -328.87421 164.143524 l -330.08643 162.615051 l -329.29584 161.112946 l -331.29868 159.979782 l -332.40549 159.294601 l -333.61771 159.241898 l -335.19888 160.137894 l -334.40829 161.139297 l -549.92133 243.80798 m -552.45123 244.80939 l -555.13916 245.65266 l -556.14063 246.39055 l -556.98389 247.12843 l -557.1947 247.99806 l -559.61914 248.89406 l -559.9881 249.68465 l -558.67047 249.84276 l -558.98669 250.81781 l -560.30432 251.76651 l -561.25305 253.32133 l -562.04364 253.26863 l -561.99091 253.92744 l -563.15045 254.16463 l -562.67609 254.4545 l -564.25726 255.06061 l -564.09912 255.48225 l -563.15045 255.58768 l -562.78149 255.21873 l -561.51654 255.06061 l -560.04083 254.82344 l -558.88129 253.90109 l -558.03802 253.08415 l -557.30011 251.81923 l -555.40271 251.1604 l -554.13776 251.58205 l -553.24176 252.08275 l -553.45264 253.16321 l -552.29309 253.66391 l -551.44983 253.40039 l -549.97406 253.34769 l -548.65643 252.13545 l -547.18066 251.84558 l -546.81171 252.26723 l -544.96704 252.31993 l -545.59949 251.13405 l -546.49548 250.7124 l -546.12653 249.13124 l -545.38867 247.89265 l -542.59528 246.65408 l -541.38306 246.52231 l -539.16943 245.17831 l -538.74774 245.88985 l -538.16797 246.02161 l -537.85175 245.49455 l -537.85175 244.83574 l -536.74493 244.12421 l -538.27344 243.59715 l -539.32751 243.6235 l -539.22211 243.25456 l -537.06116 243.22821 l -536.48145 242.35858 l -535.16376 242.09505 l -534.58405 241.38351 l -536.53412 241.01459 l -537.27203 240.54024 l -539.64374 241.14635 l -539.85455 241.6734 l -540.27625 244.04515 l -541.80469 244.94115 l -543.01691 243.38634 l -544.70349 242.49034 l -546.02112 242.49034 l -547.23334 242.99104 l -548.34015 243.5181 l -549.92133 243.80798 l -510.7084 233.37227 m -511.28815 232.81886 l -512.50037 232.02829 l -513.65991 231.00052 l -514.39777 229.86736 l -514.97754 229.86736 l -515.71545 230.60524 l -515.76813 231.2377 l -516.76953 231.633 l -517.98175 232.08099 l -517.87634 232.66075 l -516.87494 232.73981 l -517.13849 233.45134 l -516.08435 233.95204 l -515.24109 235.26967 l -516.29517 236.64001 l -516.03168 237.3252 l -517.71826 238.66919 l -515.97894 238.85365 l -515.4519 239.85506 l -515.55731 241.1727 l -514.13428 242.1741 l -514.08154 243.6235 l -513.5545 245.86349 l -513.29095 245.36279 l -511.6571 246.02161 l -511.07733 245.12561 l -510.02322 245.04655 l -509.28534 244.5722 l -507.54605 245.09926 l -507.01901 244.38774 l -506.07031 244.4668 l -504.85809 244.28233 l -504.64725 242.33221 l -503.90939 241.93694 l -503.22421 240.672 l -503.0134 239.38071 l -503.17151 238.03671 l -504.0148 237.06166 l -505.12161 237.56236 l -506.22842 237.29884 l -506.54465 236.06026 l -507.17712 235.77039 l -508.91641 235.45415 l -509.97052 234.29462 l -510.7084 233.37227 l -206.43918 130.227493 m -205.64861 130.807251 l -203.54037 130.701843 l -201.74838 130.306549 l -202.53897 129.64772 l -204.64719 129.252441 l -205.91212 129.779495 l -206.43918 130.227493 l -206.12296 126.511749 m -205.43777 126.564453 l -202.69708 126.459038 l -202.32816 126.063751 l -205.27966 126.090103 l -206.28107 126.35363 l -206.12296 126.511749 l -201.85381 124.693405 m -203.59308 125.194107 l -203.22414 125.721161 l -201.06322 126.037399 l -199.85098 125.694809 l -199.21852 125.141403 l -199.11311 124.535286 l -201.01051 124.58799 l -201.85381 124.693405 l -214.45042 131.097122 m -212.07867 130.912659 l -208.17847 130.438309 l -207.70412 129.64772 l -207.4933 128.909851 l -206.07024 128.27739 l -203.01332 128.092911 l -201.32674 127.644913 l -201.85381 127.038803 l -204.91072 127.144211 l -206.49188 127.618561 l -209.3907 127.592209 l -210.65562 128.092911 l -210.3394 128.646317 l -212.02597 128.962555 l -212.92197 129.305145 l -214.92477 129.384201 l -217.033 129.489609 l -219.35205 129.17337 l -222.35626 129.067963 l -224.72801 129.17337 l -226.30917 129.726791 l -226.62541 130.332901 l -225.72942 130.701843 l -223.51578 131.018066 l -221.6711 130.833603 l -217.45465 131.07077 l -214.45042 131.097122 l -180.61345 125.589401 m -182.66898 125.826576 l -182.19463 126.248215 l -179.45393 126.669861 l -177.293 126.195511 l -178.50523 125.747513 l -180.61345 125.589401 l -181.0351 124.640701 m -182.98521 124.93058 l -181.19322 125.220459 l -178.76877 125.220459 l -178.76877 125.009636 l -180.29723 124.561638 l -181.0351 124.640701 l -246.49541 212.89616 m -247.23329 213.02792 l -247.49681 213.31781 l -247.12788 213.68675 l -246.02106 213.68675 l -245.12506 213.73946 l -245.07236 213.10698 l -245.28319 212.89616 l -246.49541 212.89616 l -229.94586 212.92252 m -230.94727 213.05428 l -231.68515 213.42322 l -231.94867 213.81851 l -230.94727 213.84486 l -230.47292 214.08205 l -229.68234 213.84486 l -228.83905 213.31781 l -228.99716 212.97522 l -229.62962 212.86981 l -229.94586 212.92252 l -223.09415 206.04443 m -224.30637 206.14986 l -225.4659 206.17621 l -226.83624 206.67691 l -227.416 207.20396 l -228.78635 207.04585 l -229.3134 207.38843 l -230.57832 208.28442 l -231.47432 208.94325 l -231.94867 208.94325 l -232.84467 209.23312 l -232.73926 209.65477 l -233.79337 209.70747 l -234.90019 210.3136 l -234.74207 210.65617 l -233.74066 210.84065 l -232.79196 210.91971 l -231.79056 210.78795 l -229.68234 210.94606 l -230.63104 210.12912 l -230.05127 209.73383 l -229.10257 209.62842 l -228.62822 209.20677 l -228.25929 208.38983 l -227.416 208.44255 l -226.04565 208.04726 l -225.62401 207.73102 l -223.72661 207.5202 l -223.19955 207.23032 l -223.77931 206.86137 l -222.30356 206.78232 l -221.24945 207.54655 l -220.66968 207.57291 l -220.45886 207.91548 l -219.72098 208.07361 l -219.08852 207.94185 l -219.8791 207.49385 l -220.19533 206.96678 l -220.88051 206.65056 l -221.61838 206.36067 l -222.7252 206.20256 l -223.09415 206.04443 l -262.09625 164.881393 m -261.30566 165.803741 l -260.35696 167.06868 l -261.30566 166.59433 l -262.30707 166.910553 l -261.78003 167.41127 l -263.09766 167.80655 l -263.73013 167.463974 l -265.20587 167.91197 l -264.78424 168.96608 l -265.78564 168.7289 l -265.99646 169.49313 l -266.41812 170.41548 l -265.83835 171.70677 l -265.15317 171.75948 l -264.20447 171.46959 l -264.52072 170.28372 l -264.09906 170.09924 l -262.41248 171.36418 l -261.51651 171.31148 l -262.57062 170.6263 l -261.14755 170.28372 l -259.56638 170.36278 l -256.72028 170.31007 l -256.50946 169.88843 l -257.40546 169.36137 l -256.77301 168.96608 l -258.03793 168.09644 l -259.51367 165.751038 l -260.46237 164.907745 l -261.72733 164.407043 l -262.41248 164.486099 l -262.09625 164.881393 l -220.7224 144.69516 m -222.30356 145.195862 l -223.99014 145.64386 l -224.09555 146.329041 l -225.20236 146.223633 l -226.25647 146.724335 l -224.93884 147.172333 l -222.6725 146.829742 l -221.82921 146.170914 l -220.40616 146.93515 l -218.29793 147.699387 l -217.82358 146.829742 l -215.82077 146.987854 l -217.08571 146.249985 l -217.29652 145.116806 l -217.77087 143.772812 l -218.825 143.878235 l -219.08852 144.537048 l -219.8791 144.299881 l -220.7224 144.69516 l -228.20657 134.074997 m -229.57692 133.495239 l -232.84467 134.233109 l -234.84749 134.944641 l -235.0056 135.577103 l -237.74629 135.260864 l -239.27475 136.183212 l -242.80602 136.762985 l -244.07095 137.342743 l -245.4413 138.713089 l -242.75331 139.398254 l -246.23189 140.346954 l -248.55093 140.689545 l -250.65915 142.033539 l -252.9782 142.112595 l -252.50385 143.14035 l -249.92126 144.853287 l -248.12929 144.22081 l -245.81024 142.824112 l -243.91284 143.008591 l -243.75471 143.825516 l -245.28319 144.69516 l -247.286 145.353989 l -247.86575 145.749283 l -248.81445 147.198685 l -248.3401 148.252792 l -246.49541 147.857498 l -242.80602 146.671631 l -244.86154 147.936554 l -246.39 148.83255 l -246.65353 149.333252 l -242.6479 148.753494 l -239.53827 147.910202 l -237.74629 147.198685 l -238.27335 146.777039 l -236.05971 146.039154 l -233.95149 145.327637 l -233.95149 145.749283 l -229.73505 145.98645 l -228.52281 145.459396 l -229.47151 144.405289 l -232.2122 144.378937 l -235.21642 144.168106 l -234.74207 143.667404 l -235.26912 142.929535 l -237.16652 141.506485 l -236.74489 140.847656 l -236.16512 140.346954 l -233.95149 139.635437 l -230.94727 139.134735 l -231.89597 138.765793 l -230.36751 137.869797 l -229.04987 137.790741 l -227.89035 137.290039 l -227.15247 137.711685 l -224.46449 137.896149 l -219.14122 137.57991 l -216.0316 137.158264 l -213.65985 136.921097 l -212.44762 136.420395 l -213.97607 135.735214 l -211.92056 135.735214 l -211.44621 134.25946 l -212.55302 132.941818 l -214.08148 132.335709 l -217.8763 131.966766 l -216.76947 132.915466 l -217.929 133.811462 l -219.29935 132.625595 l -222.98872 132.045837 l -225.5186 133.547943 l -225.30777 134.496643 l -228.20657 134.074997 l -205.17426 131.466064 m -208.23117 131.518768 l -211.02457 131.887711 l -208.81093 133.179001 l -207.07166 133.468887 l -205.49048 134.575699 l -203.80391 134.496643 l -202.90791 133.231705 l -202.96062 132.49382 l -203.69849 131.861359 l -205.17426 131.466064 l -196.47783 133.574295 m -194.84396 132.599243 l -196.58324 131.887711 l -198.32253 132.203949 l -200.95781 132.01947 l -201.32674 132.441116 l -199.95641 133.152649 l -202.17003 133.78511 l -201.90651 135.102753 l -199.53476 135.656158 l -198.11171 135.550751 l -197.11029 134.970993 l -193.47362 133.890518 l -193.47362 133.389816 l -196.47783 133.574295 l -185.67319 128.962555 m -186.99083 128.725372 l -188.51929 128.778091 l -188.78282 129.515961 l -187.88683 130.201141 l -182.9325 130.438309 l -179.24312 131.07077 l -176.97678 131.097122 l -176.81865 130.622772 l -179.82288 129.963959 l -173.23468 130.148422 l -171.17915 129.884903 l -173.18198 128.461853 l -174.55232 128.040207 l -178.66335 128.540909 l -181.29863 129.410553 l -183.82849 129.515961 l -181.72028 128.119263 l -183.09062 127.592209 l -184.61908 127.750328 l -185.09343 128.435501 l -185.67319 128.962555 l -163.642258 128.567261 m -166.119431 127.486801 l -169.12364 126.538101 l -171.38998 126.538101 l -173.39279 126.327278 l -173.18198 127.460449 l -172.07515 127.961151 l -170.7048 128.040207 l -167.96413 128.672668 l -165.645081 128.883499 l -163.642258 128.567261 l -165.592377 131.018066 m -167.647888 131.307953 l -171.38998 131.387009 l -172.81303 131.835007 l -174.3942 132.441116 l -172.5495 132.810059 l -168.96553 133.837814 l -167.173538 134.86557 l -167.173538 135.498047 l -163.326035 136.209564 l -162.535446 135.577103 l -159.162292 134.786514 l -159.794754 134.180405 l -160.796158 133.099945 l -162.061096 132.151245 l -160.638046 131.255249 l -165.592377 131.018066 l -99.815826 151.599594 m -100.975349 151.731354 l -101.133469 152.311111 l -100.184769 152.521942 l -99.236069 152.258408 l -98.340073 151.863129 l -99.815826 151.599594 l -119.211472 155.130859 m -120.160179 155.236282 l -120.792641 155.68428 l -119.52771 156.395798 l -118.051956 156.949203 l -117.314072 156.580276 l -117.103256 155.895096 l -118.420891 155.368042 l -119.211472 155.130859 l -149.200943 160.90213 m -150.623993 160.770355 l -150.202347 162.430588 l -151.467285 163.616455 l -150.887512 163.616455 l -149.991531 162.93129 l -149.464462 162.272476 l -148.726593 161.798126 l -148.463058 161.165649 l -148.515762 160.691299 l -149.200943 160.90213 l -159.900177 166.884201 m -160.638046 167.569382 l -162.1138 168.17549 l -162.693558 168.99243 l -161.955688 169.1769 l -159.531235 168.51808 l -159.109589 168.01738 l -157.791946 167.490326 l -157.528427 167.06868 l -156.052658 166.805145 l -155.4729 166.014572 l -155.578308 165.671982 l -157.159485 165.98822 l -158.055481 166.225388 l -159.425827 166.383499 l -159.900177 166.884201 l -92.120819 146.618912 m -93.016808 146.908798 l -93.912804 146.750687 l -95.125031 147.145981 l -96.54808 147.330444 l -96.442673 147.488556 l -95.335854 147.804794 l -94.229034 147.488556 l -93.649277 147.225037 l -92.384346 147.304092 l -92.015404 147.172333 l -92.120819 146.618912 l -189.04634 123.902817 m -191.94516 124.11364 l -195.89807 124.640701 l -197.00488 125.352226 l -197.58464 125.958336 l -195.21289 125.800224 l -192.78844 125.325874 l -189.52069 125.246811 l -190.94374 124.825165 l -189.15176 124.482582 l -189.04634 123.902817 l -391.75195 188.20361 m -392.80606 188.22997 l -394.12369 187.78197 l -393.12228 188.41443 l -393.2804 188.78337 l -391.80466 189.38948 l -391.06677 189.20502 l -390.69785 188.62526 l -391.54111 188.54619 l -391.75195 188.20361 l -382.0014 188.33537 m -381.79059 188.75702 l -379.68237 188.88878 l -379.73508 188.65161 l -377.94308 188.36172 l -378.2066 187.72926 l -378.99719 188.22997 l -380.15671 188.15091 l -381.21082 188.25632 l -381.21082 188.49348 l -382.0014 188.33537 l -416.04919 258.2493 m -416.41815 258.88177 l -416.78708 259.85681 l -416.99789 261.5961 l -417.36685 262.28128 l -417.26144 262.9928 l -416.99789 263.41446 l -416.47086 262.57117 l -416.20734 262.9928 l -416.47086 264.07327 l -416.36545 264.70572 l -415.94379 265.04831 l -415.89108 266.2869 l -415.31134 267.99982 l -414.57346 270.00266 l -413.67746 272.76968 l -413.09769 274.8252 l -412.46524 276.51178 l -411.25299 276.85437 l -409.98807 277.48685 l -409.14478 277.09155 l -407.98526 276.59085 l -407.5636 275.80026 l -407.45819 274.50897 l -406.93115 273.34946 l -406.82574 272.29535 l -407.08926 271.24121 l -407.77444 270.97769 l -407.77444 270.50336 l -408.45959 269.39651 l -408.56503 268.44781 l -408.24878 267.76266 l -407.98526 266.8403 l -407.87985 265.49631 l -408.35419 264.67938 l -408.56503 263.73068 l -409.30289 263.67798 l -410.09348 263.38809 l -410.67325 263.12457 l -411.30569 263.09821 l -412.14899 262.25491 l -413.36124 261.35892 l -413.78287 260.62106 l -413.57205 260.01492 l -414.2045 260.17307 l -414.99509 259.17166 l -415.04779 258.27567 l -415.52216 257.61682 l -416.04919 258.2493 l -588.29102 263.25632 m -589.18701 264.09961 l -588.71265 264.31046 l -588.23828 263.65161 l -588.29102 263.25632 l -587.65851 262.94009 m -587.44769 262.5448 l -587.44769 261.41162 l -588.13287 261.85962 l -588.34369 263.0455 l -587.97473 262.86102 l -587.65851 262.94009 l -539.95996 250.10629 m -539.80188 248.99948 l -540.06537 248.47241 l -540.38165 247.97171 l -540.75055 248.39336 l -540.69788 249.10489 l -539.95996 250.10629 l -272.26843 354.25247 m -273.00632 354.25247 l -275.16724 353.93625 l -277.38086 354.25247 l -279.22556 354.88495 l -279.85803 355.78094 l -280.01614 356.41342 l -280.06885 357.15131 l -277.80252 357.59927 l -275.43076 357.99457 l -272.69006 358.33716 l -269.58044 358.60071 l -266.15457 358.52164 l -264.20447 358.04727 l -264.46802 357.44116 l -267.57764 357.04587 l -268.84256 356.54517 l -269.79126 355.91272 l -270.42374 355.35931 l -271.31973 354.85861 l -272.26843 354.25247 l -246.4427 357.49387 m -249.76315 357.54657 l -252.92549 357.67834 l -253.9796 357.07224 l -254.77019 356.57153 l -256.29865 357.17764 l -255.877 357.91553 l -255.45535 358.57434 l -252.34573 358.36353 l -249.07799 358.46893 l -247.286 357.96823 l -247.286 357.91553 l -246.4427 357.49387 l -235.26912 344.34384 m -236.32324 344.15936 l -238.00981 344.21207 l -238.43146 343.47418 l -238.48416 342.92078 l -238.48416 341.76126 l -239.32745 341.04974 l -240.6451 340.83893 l -241.43568 341.36597 l -241.75191 341.91937 l -242.38438 342.57822 l -242.91144 343.21066 l -243.28036 343.86948 l -243.4912 344.52832 l -243.22766 345.10806 l -242.80602 345.66147 l -241.06674 345.84595 l -239.43286 346.13583 l -237.53546 346.10947 l -238.27335 345.52972 l -236.53406 345.74054 l -234.90019 345.92502 l -233.79337 345.50336 l -233.68796 344.89725 l -235.26912 344.34384 l -193.68443 345.23984 m -194.63313 344.97632 l -196.47783 345.18713 l -198.58606 345.29254 l -200.21992 345.50336 l -201.80109 345.31888 l -202.69708 346.16217 l -201.53757 346.05676 l -199.74557 346.10947 l -197.95358 346.05676 l -195.95078 346.13583 l -194.47502 345.84595 l -193.68443 345.23984 l -164.0112 347.82242 m -164.327438 347.34805 l -166.066727 347.58524 l -167.96413 347.82242 l -169.7034 347.55887 l -168.86012 348.08594 l -167.489777 348.45486 l -165.43425 348.34946 l -164.0112 347.82242 l -157.159485 347.53253 m -158.213593 347.21628 l -159.689346 347.55887 l -161.955688 348.13864 l -161.059692 348.08594 l -159.162292 347.95416 l -157.159485 347.53253 l -586.18274 270.84592 m -587.39502 271.76828 l -588.13287 272.42709 l -587.60583 272.79605 l -586.76251 272.40076 l -585.76111 271.74191 l -584.81244 270.95135 l -583.81104 269.92358 l -583.60022 269.42288 l -584.23267 269.44922 l -585.07593 269.94995 l -585.70844 270.45065 l -586.18274 270.84592 l -566.94525 245.36279 m -567.52502 245.83714 l -567.68311 246.57501 l -567.20874 246.97031 l -566.94525 246.10066 l -566.62903 245.54726 l -565.94385 245.07291 l -565.10052 244.44044 l -564.04645 244.0188 l -564.46808 243.64986 l -565.25867 244.0715 l -565.73303 244.38774 l -566.36548 244.73033 l -566.94525 245.36279 l -564.99512 248.55148 m -564.20453 248.89406 l -563.41394 249.23665 l -562.67609 249.23665 l -561.46387 248.815 l -560.62054 248.41971 l -560.72595 247.97171 l -562.04364 248.18254 l -562.83423 248.05078 l -563.09772 247.3656 l -563.30853 247.3129 l -563.41394 248.10349 l -564.25726 247.99806 l -564.67889 247.49736 l -565.52216 246.97031 l -565.31134 246.10066 l -566.20734 246.07431 l -566.52362 246.31149 l -566.47089 247.12843 l -565.99652 248.02443 l -565.20593 248.12984 l -564.99512 248.55148 l -580.80682 255.35049 m -581.22845 255.8512 l -580.22705 255.8512 l -579.64728 254.92885 l -580.54327 255.29779 l -580.80682 255.35049 l -580.17432 254.0592 m -579.9635 254.32274 l -578.85669 253.0578 l -578.59314 252.18816 l -579.0675 252.18816 l -579.59454 253.34769 l -580.17432 254.0592 l -578.9621 254.4545 m -578.38232 254.48085 l -577.48633 254.34909 l -577.22284 254.11191 l -577.27551 253.53215 l -578.27692 253.76933 l -578.75128 254.0592 l -578.9621 254.4545 l -577.22284 251.74016 m -577.53906 252.21451 l -577.59174 252.50439 l -576.43225 251.87193 l -575.64166 251.34488 l -575.11462 250.87053 l -575.32544 250.7124 l -576.01062 251.05499 l -577.22284 251.74016 l -573.53345 250.29076 m -574.11322 250.76511 l -573.84967 250.84418 l -573.16449 250.50159 l -572.58472 249.89546 l -572.63745 249.65829 l -573.53345 250.29076 l -570.05487 247.8136 m -570.4765 248.15619 l -571.21442 249.07854 l -571.89954 249.57924 l -571.68872 249.97453 l -571.26709 250.13264 l -570.63464 249.57924 l -570.00214 248.63054 l -569.68591 247.52371 l -569.89673 247.39195 l -570.05487 247.8136 l -602.46881 298.6481 m -601.88904 299.43869 l -601.15112 300.44009 l -600.04431 301.01987 l -599.78082 300.65094 l -599.14832 300.44009 l -599.99164 299.22787 l -599.51727 298.41095 l -597.9361 297.83118 l -597.98883 297.30414 l -599.04291 296.80341 l -599.30646 295.67026 l -599.25372 294.72156 l -598.62128 293.74649 l -598.67401 293.48297 l -597.98883 292.87686 l -596.82928 291.58557 l -596.19684 290.5578 l -596.77661 290.42606 l -597.56714 291.24298 l -598.67401 291.61191 l -599.09564 292.92957 l -600.14972 294.45804 l -600.20245 293.48297 l -600.88763 293.87827 l -601.09845 294.98508 l -602.25793 295.45944 l -603.25934 295.56485 l -604.10266 295.01144 l -604.84052 295.16956 l -604.47162 296.48718 l -604.04993 297.33047 l -602.89044 297.30414 l -602.52148 297.75214 l -602.67963 298.38458 l -602.46881 298.6481 l -591.87494 303.76056 m -593.13989 302.99634 l -593.98322 302.23209 l -594.66833 301.15164 l -595.19543 300.78268 l -595.45892 299.96576 l -596.46033 299.28058 l -596.77661 299.91306 l -597.09283 300.4928 l -598.14691 299.91306 l -598.5686 300.51917 l -598.5686 301.15164 l -598.0415 301.83679 l -597.09283 302.8909 l -596.35492 303.49704 l -596.88202 304.20856 l -595.72247 304.20856 l -594.51025 304.76196 l -594.08862 305.737 l -593.2453 307.21277 l -592.13849 307.87158 l -591.40063 308.26688 l -590.03027 308.24054 l -589.08154 307.76617 l -587.50043 307.66077 l -587.23688 307.1337 l -588.02747 306.02689 l -589.87213 304.60385 l -590.82086 304.31396 l -591.87494 303.76056 l -559.72455 299.72858 m -560.56787 299.83398 l -560.67328 301.57327 l -560.19891 302.07397 l -560.04083 303.25986 l -559.51373 302.86456 l -558.51233 303.86597 l -558.19611 303.7869 l -557.30011 303.76056 l -556.40411 302.49564 l -556.1933 301.52057 l -555.35004 300.25565 l -555.40271 299.5968 l -556.35144 299.72858 l -557.77448 300.22928 l -558.56506 300.01846 l -559.72455 299.72858 l -528.15393 287.15829 m -526.62549 287.92255 l -525.36053 288.23877 l -525.04431 289.02936 l -524.51727 289.6091 l -523.30505 289.63547 l -522.35632 289.76724 l -521.09137 289.50369 l -520.03729 289.6618 l -519.03589 289.74088 l -518.13989 290.5051 l -517.71826 290.45239 l -516.98035 290.87405 l -516.29517 291.32205 l -515.18835 291.26935 l -514.23969 291.26935 l -512.65851 290.34698 l -511.86792 290.0571 l -511.92062 289.21381 l -512.65851 289.02936 l -512.86932 288.68677 l -512.81665 288.1597 l -513.02747 287.13196 l -512.86932 286.28867 l -512.07874 284.78656 l -511.86792 283.9696 l -511.92062 283.12631 l -511.34088 282.17761 l -511.28815 281.75598 l -510.6557 281.14987 l -510.44489 280.01669 l -509.60159 278.85718 l -509.39075 278.2247 l -510.07593 278.85718 l -509.54889 277.51318 l -510.28674 277.93481 l -510.7084 278.48825 l -510.7084 277.75037 l -509.97052 276.59085 l -509.81241 276.14285 l -509.49619 275.69485 l -509.6543 274.85156 l -509.97052 274.4826 l -510.18134 273.74475 l -510.02322 272.90146 l -510.603 271.84735 l -510.7084 272.95416 l -511.34088 271.95276 l -512.50037 271.47839 l -513.23828 270.84592 l -514.34509 270.29251 l -515.03027 270.1871 l -515.39917 270.37158 l -516.55872 269.81818 l -517.45471 269.66006 l -517.66553 269.34381 l -518.08716 269.21207 l -518.87775 269.2384 l -520.40625 268.81677 l -521.19678 268.15796 l -521.56573 267.39371 l -522.46173 266.62949 l -522.51447 266.04971 l -522.56714 265.25916 l -523.56854 264.02057 l -524.20105 265.28549 l -524.8335 264.99561 l -524.30646 264.28409 l -524.78076 263.57257 l -525.41327 263.91516 l -525.57135 262.78198 l -526.36194 262.07047 l -526.7309 261.49069 l -527.46875 261.25351 l -527.46875 260.83188 l -528.15393 260.98999 l -528.15393 260.6474 l -528.78644 260.43658 l -529.52429 260.22577 l -530.57837 260.91092 l -531.42169 261.75421 l -532.31769 261.78058 l -533.26636 261.91232 l -532.95013 261.12177 l -533.63531 259.93588 l -534.3205 259.56696 l -534.05695 259.198 l -534.68945 258.35471 l -535.58545 257.82767 l -536.3233 258.01212 l -537.58826 257.72226 l -537.53552 256.98438 l -536.48145 256.51001 l -537.27203 256.29919 l -538.2207 256.64178 l -539.01129 257.24789 l -540.22351 257.61682 l -540.64514 257.48508 l -541.54114 257.93307 l -542.43713 257.51141 l -542.96423 257.64319 l -543.33313 257.3533 l -543.96564 258.09119 l -543.59668 258.85541 l -543.01691 259.46152 l -542.54254 259.51422 l -542.70068 260.09399 l -542.27905 260.83188 l -541.75195 261.5434 l -541.85736 261.96506 l -543.01691 262.75562 l -544.12372 263.22998 l -544.91431 263.73068 l -545.96844 264.60031 l -546.39008 264.60031 l -547.12793 264.96927 l -547.33875 265.41727 l -548.76184 265.91797 l -549.71051 265.41727 l -550.02673 264.65302 l -550.29028 263.9942 l -550.5011 263.17728 l -550.92273 262.01776 l -550.71191 261.30621 l -550.81732 260.88458 l -550.65924 260.04129 l -550.87006 258.96082 l -551.13354 258.64459 l -550.92273 258.17026 l -551.29169 257.37967 l -551.55524 256.58908 l -551.60791 256.16742 l -552.13495 255.61403 l -552.55664 256.32556 l -552.66205 257.24789 l -553.03094 257.43237 l -553.08368 258.03848 l -553.61072 258.77637 l -553.71613 259.61966 l -553.66345 260.1467 l -554.19049 261.30621 l -555.13916 260.75281 l -555.61353 261.35892 l -556.29871 261.93869 l -556.14063 262.5975 l -556.45685 263.83609 l -556.72034 264.57397 l -557.08929 264.75845 l -557.45825 265.99701 l -557.30011 266.76126 l -557.77448 267.76266 l -559.40833 268.52689 l -560.40973 269.21207 l -561.41113 269.84451 l -561.20032 270.21347 l -562.04364 271.1358 l -562.62335 272.71698 l -563.20313 272.37439 l -563.7829 273.00687 l -564.15186 272.79605 l -564.41534 274.35086 l -565.41675 275.24686 l -566.10193 275.80026 l -567.26147 276.98611 l -567.68311 278.172 l -567.73584 278.98895 l -567.63043 279.91129 l -568.31555 281.14987 l -568.21014 282.44116 l -567.94666 283.12631 l -567.5777 284.4176 l -567.63043 285.26089 l -567.31415 286.315 l -566.6817 287.659 l -565.57489 288.37054 l -565.04785 289.50369 l -564.57349 290.21524 l -564.15186 291.48016 l -563.57208 292.21805 l -563.20313 293.32486 l -562.99231 294.32626 l -563.09772 294.77426 l -562.25446 295.3013 l -560.62054 295.354 l -559.25024 295.96014 l -558.56506 296.51355 l -557.66907 297.146 l -556.45685 296.48718 l -555.56085 296.25 l -555.82434 295.48578 l -555.03375 295.7493 l -553.71613 296.80341 l -552.45123 296.40814 l -551.66064 296.1973 l -550.81732 296.09189 l -549.39429 295.64389 l -548.44556 294.74789 l -548.18207 293.64108 l -547.81311 292.9032 l -547.12793 292.29709 l -545.7049 292.13898 l -546.17926 291.42746 l -545.8103 290.34698 l -545.12512 291.34839 l -543.8075 291.61191 l -544.54535 290.79498 l -544.8089 289.95169 l -545.33594 289.24017 l -545.23053 288.1597 l -544.07104 289.39828 l -543.12231 289.89899 l -542.59528 291.08487 l -541.43573 290.47876 l -541.48846 289.68817 l -540.53973 288.63406 l -539.80188 288.08066 l -540.06537 287.73807 l -538.16797 286.86841 l -537.16656 286.8157 l -535.74353 286.10419 l -533.10828 286.23596 l -531.21088 286.763 l -529.57697 287.2637 l -528.15393 287.15829 l -463.22067 228.99771 m -463.00986 230.49982 l -462.37741 230.92146 l -461.11246 231.26405 l -460.42731 230.10454 l -460.16376 227.99631 l -460.84894 225.62456 l -461.85034 226.4415 l -462.53552 227.46925 l -463.22067 228.99771 l -532.89746 244.09785 m -534.47864 244.5195 l -535.00568 245.65266 l -533.79346 245.04655 l -532.58124 244.91479 l -531.73792 245.0202 l -530.73651 244.9675 l -531.05273 244.15056 l -532.89746 244.09785 l -529.20807 245.54726 m -528.20667 245.28374 l -527.94312 244.65126 l -529.41888 244.5722 l -529.78784 245.07291 l -529.20807 245.54726 l -530.78925 236.82449 m -530.89465 237.61507 l -531.73792 237.74684 l -531.89606 238.35295 l -531.79065 239.61789 l -531.05273 239.48611 l -530.84192 240.38211 l -531.42169 241.14635 l -531.00006 241.30446 l -530.42029 240.38211 l -529.99866 238.51106 l -530.31488 237.35155 l -530.78925 236.82449 l -523.46313 238.72189 m -525.14972 238.66919 l -526.57275 237.58871 l -526.8363 237.9313 l -525.67676 239.38071 l -524.56995 239.64424 l -523.14691 239.38071 l -520.72247 239.43341 l -519.45752 239.64424 l -519.2467 240.75105 l -520.51166 242.0687 l -521.30225 241.40987 l -524.04291 240.90916 l -523.9375 241.56799 l -523.30505 241.35716 l -522.67255 242.22681 l -521.35492 242.78021 l -522.77795 244.65126 l -522.51447 245.17831 l -523.83209 246.8649 l -523.77936 247.8136 l -523.0415 248.2616 l -522.46173 247.73454 l -523.14691 246.52231 l -521.72388 247.10208 l -521.35492 246.70679 l -521.51306 246.12701 l -520.45892 245.28374 l -520.61707 243.83434 l -519.61566 244.28233 l -519.72107 245.99525 l -519.77374 248.10349 l -518.87775 248.3143 l -518.2453 247.8663 l -518.66693 246.52231 l -518.45612 245.12561 l -517.82367 245.09926 l -517.3493 244.09785 l -517.98175 243.14915 l -518.19257 241.98964 l -518.93048 239.776 l -519.19397 239.16989 l -520.45892 238.08942 l -521.61847 238.51106 l -523.46313 238.72189 l -519.61566 255.0079 m -517.66553 253.98015 l -519.03589 253.71663 l -519.77374 254.13826 l -520.30084 254.58626 l -520.19537 254.98155 l -519.61566 255.0079 l -521.1441 252.50439 m -522.09277 252.37263 l -523.41046 251.84558 l -523.19965 252.66251 l -520.98596 253.08415 l -519.03589 252.89969 l -519.03589 252.37263 l -520.19537 252.0564 l -521.1441 252.50439 l -516.61145 252.24086 m -517.50745 252.1091 l -517.87634 252.74158 l -516.18976 253.03145 l -515.18835 253.24228 l -514.39777 253.21593 l -514.92487 252.37263 l -515.71545 252.37263 l -516.08435 251.84558 l -516.61145 252.24086 l -502.32822 249.39476 m -502.53903 249.92183 l -505.33243 250.07994 l -505.64865 249.47383 l -508.33664 250.159 l -508.86371 251.1077 l -511.07733 251.37123 l -512.86932 252.24086 l -511.23544 252.82063 l -509.60159 252.21451 l -508.28394 252.26723 l -506.75549 252.1618 l -505.38513 251.89828 l -503.69855 251.31853 l -502.59174 251.18675 l -502.01199 251.37123 l -499.32401 250.76511 l -499.06046 250.13264 l -497.74283 250.02724 l -498.74423 248.63054 l -500.53622 248.70959 l -501.69574 249.28935 l -502.32822 249.39476 l -496.26709 241.59435 m -496.53061 242.6221 l -497.05765 243.43904 l -498.11176 243.54445 l -498.84964 244.49315 l -498.48071 246.31149 l -498.42801 248.57784 l -496.79413 248.60419 l -495.52921 247.3656 l -493.68451 246.17973 l -493.05203 245.28374 l -491.94522 244.09785 l -491.20734 242.99104 l -490.10052 240.96188 l -488.8356 239.7233 l -488.36124 238.48471 l -487.8342 237.3252 l -486.51654 236.40285 l -485.77866 235.16426 l -484.67184 234.34734 l -483.1434 232.71346 l -482.98526 231.97557 l -483.93396 232.02829 l -486.20032 232.31816 l -487.51794 233.74121 l -488.62476 234.74261 l -489.46805 235.34874 l -490.83841 236.9299 l -492.31415 236.95625 l -493.5264 237.95766 l -494.36969 239.16989 l -495.52921 239.85506 l -494.89673 241.04094 l -495.74002 241.54164 l -496.26709 241.59435 l -520.40625 221.40811 m -519.61566 220.27495 l -520.88055 220.32765 l -521.40765 220.85471 l -521.0387 222.11964 l -520.40625 221.40811 l -522.9361 225.38739 m -523.30505 224.96574 l -523.46313 224.06975 l -524.30646 223.99069 l -524.04291 224.96574 l -525.14972 223.56905 l -524.99158 224.96574 l -524.46454 225.44009 l -523.99017 226.36244 l -523.56854 226.78407 l -522.67255 225.78267 l -522.9361 225.38739 l -528.52289 227.68007 m -528.6283 228.65512 l -528.7337 229.47206 l -528.25934 230.81606 l -527.67957 229.31395 l -526.99445 230.07817 l -527.46875 231.13229 l -527.04712 231.81746 l -525.36053 230.97417 l -524.9389 229.92006 l -525.36053 229.23489 l -524.46454 228.52336 l -523.99017 229.12947 l -523.30505 229.07677 l -522.19824 229.89371 l -521.98737 229.47206 l -522.56714 228.23349 l -523.46313 227.8382 l -524.25372 227.28479 l -524.78076 227.9436 l -525.88757 227.54831 l -526.15112 226.8895 l -527.15253 226.83679 l -527.09985 225.70361 l -528.25934 226.41515 l -528.41748 227.15302 l -528.52289 227.68007 l -503.75125 213.37051 m -502.53903 212.89616 l -502.53903 211.65758 l -503.22421 210.97241 l -504.85809 210.57712 l -505.70139 210.60347 l -506.01761 211.15688 l -505.38513 211.8157 l -505.0162 212.659 l -503.75125 213.37051 l -521.77655 204.27881 m -520.88055 206.62421 l -520.24811 207.83643 l -519.51025 206.59785 l -519.29938 205.51738 l -520.19537 204.06798 l -521.35492 202.96117 l -522.0401 203.40916 l -521.77655 204.27881 l -551.18628 182.64317 m -549.86865 184.11893 l -549.86865 185.62103 l -549.34155 186.80692 l -549.55243 187.51843 l -548.81451 188.57254 l -546.96985 189.25772 l -544.38727 189.33678 l -542.27905 191.02336 l -541.27765 190.44359 l -541.22491 189.36313 l -538.69507 189.67937 l -536.95575 190.36453 l -535.26917 190.39088 l -536.74493 191.47136 l -535.74353 193.94852 l -534.79486 194.58098 l -534.10968 194.00122 l -534.47864 192.68358 l -533.52991 192.26193 l -532.95013 191.26053 l -534.3205 190.81253 l -535.11108 189.89018 l -536.58685 189.12596 l -537.64093 188.12454 l -540.53973 187.70291 l -542.12091 187.99278 l -543.64935 185.38387 l -544.65076 186.09538 l -546.75903 184.61963 l -547.60229 184.06622 l -548.55096 182.27423 l -548.28748 180.61401 l -548.86725 179.69167 l -550.44836 179.42813 l -551.23895 181.45729 l -551.18628 182.64317 l -555.19189 175.63333 m -556.24603 175.02722 l -556.56226 176.66109 l -554.40131 177.05638 l -553.08368 178.53214 l -550.81732 177.53073 l -550.02673 179.11189 l -548.39288 179.13824 l -548.18207 177.68884 l -548.91992 176.55568 l -550.44836 176.47662 l -550.87006 174.44745 l -551.34436 173.31429 l -553.03094 174.84274 l -554.19049 175.34344 l -555.19189 175.63333 l -356.22839 180.13966 m -356.96628 179.66531 l -357.86227 180.71942 l -357.65146 182.64317 l -356.96628 182.56412 l -356.38651 183.03847 l -355.85947 182.66953 l -355.75403 180.87753 l -355.43781 180.06059 l -356.22839 180.13966 l -356.2811 177.60979 m -357.2298 177.03003 l -357.49332 178.29497 l -357.01898 179.42813 l -356.3338 179.13824 l -356.01758 178.13684 l -356.2811 177.60979 l -361.60437 157.871552 m -362.0787 158.583084 l -361.18271 159.768951 l -359.65427 158.952026 l -359.44342 158.345901 l -361.60437 157.871552 l -337.3598 154.287582 m -339.09909 154.155807 l -337.51791 155.736984 l -339.04639 155.552505 l -340.62753 155.552505 l -340.25861 156.738388 l -338.94098 158.05603 l -340.46942 158.161438 l -341.89249 160.032486 l -342.89389 160.269653 l -343.78989 161.929886 l -344.21152 162.509644 l -345.95081 162.79953 l -345.79269 163.721878 l -345.05481 164.169876 l -345.63458 164.907745 l -344.31693 165.671982 l -342.36682 165.671982 l -339.83698 166.067276 l -339.15179 165.77739 l -338.20309 166.46257 l -336.83273 166.304443 l -335.83133 166.857849 l -335.04077 166.567978 l -337.20169 165.039505 l -338.51932 164.723282 l -336.20029 164.459747 l -335.77863 163.87999 l -337.3071 163.431992 l -336.51651 162.641403 l -336.78003 161.692703 l -338.99368 161.824478 l -339.2045 160.981186 l -338.20309 160.058838 l -336.4111 159.795303 l -336.04218 159.400024 l -336.56921 158.741196 l -336.09488 158.345901 l -335.30429 159.031082 l -335.25159 157.608032 l -334.5137 156.870148 l -335.04077 155.368042 l -336.14758 154.182159 l -337.3598 154.287582 l -322.28601 142.718704 m -321.91708 143.667404 l -323.55093 144.668808 l -321.65353 145.775635 l -317.4371 146.777039 l -316.17218 147.040558 l -314.27478 146.829742 l -310.16373 146.381744 l -311.6395 145.722931 l -308.42444 145.011398 l -311.00702 144.721512 l -310.95432 144.299881 l -307.8974 143.957291 l -308.8988 143.008591 l -311.11243 142.771408 l -313.37878 143.772812 l -315.59241 142.982239 l -317.4371 143.403885 l -319.80884 142.613297 l -322.28601 142.718704 l -552.71472 161.37648 m -553.24176 162.79953 l -553.18909 164.22258 l -553.76886 165.698334 l -555.24463 168.30725 l -553.08368 167.8329 l -552.18768 169.94113 l -553.61072 171.44324 l -553.55804 172.47099 l -552.45123 171.575 l -551.5025 172.70818 l -551.23895 171.46959 l -551.39709 170.04654 l -551.23895 168.46538 l -551.55524 167.358551 l -551.66064 165.408447 l -550.76465 163.959045 l -550.92273 161.98259 l -552.24036 161.297424 l -551.66064 160.612244 l -552.34583 160.401428 l -552.71472 161.37648 l -516.98035 226.36244 m -515.03027 227.75914 l -515.76813 226.73137 l -516.82227 225.83537 l -517.66553 224.80762 l -518.45612 223.35822 l -518.71967 224.5441 l -517.77094 225.36102 l -516.98035 226.36244 l -522.56714 213.31781 m -522.35632 213.92392 l -522.83069 214.97803 l -522.46173 216.19026 l -521.61847 216.69096 l -521.35492 217.85049 l -521.72388 219.03636 l -522.46173 219.19447 l -523.14691 219.01001 l -524.9389 219.82695 l -524.8335 220.61752 l -525.30786 220.96011 l -525.14972 221.64529 l -523.99017 220.93376 l -523.46313 220.16953 l -523.09418 220.69659 l -522.14551 219.82695 l -520.82788 220.03777 l -520.08997 219.72153 l -520.1427 219.11542 l -520.61707 218.74648 l -520.19537 218.4039 l -519.98456 218.93095 l -519.2467 218.08766 l -519.03589 217.4552 l -518.98315 216.03215 l -519.56293 216.53285 l -519.72107 214.24016 l -520.19537 212.92252 l -521.09137 212.92252 l -521.98737 213.31781 l -522.46173 212.94887 l -522.56714 213.31781 l -522.14551 223.27916 m -521.93469 222.59399 l -522.77795 223.04199 l -523.72668 223.04199 l -523.72668 223.6481 l -523.0415 224.28056 l -522.09277 224.72856 l -522.0401 224.0434 l -522.14551 223.27916 l -527.20526 222.1987 m -527.62689 223.83257 l -526.52008 223.43727 l -526.52008 223.93797 l -526.88904 224.83397 l -526.20386 225.17656 l -526.15112 224.12245 l -525.67676 224.06975 l -525.46594 223.17375 l -526.30927 223.27916 l -526.30927 222.72575 l -525.41327 221.61894 l -526.8363 221.64529 l -527.20526 222.1987 l -230.2621 227.31114 m -230.99997 227.36385 l -232.1068 226.33609 l -232.73926 226.17796 l -232.73926 225.70361 l -233.00279 224.46504 l -233.84607 223.77986 l -234.74207 223.75351 l -234.90019 223.43727 l -236.007 223.56905 l -237.16652 222.83116 l -237.74629 222.48857 l -238.48416 221.80341 l -238.95851 221.88246 l -239.38016 222.27776 l -239.06392 222.75211 l -239.01122 223.0947 l -238.16794 223.27916 l -238.64229 223.93797 l -238.64229 224.70221 l -238.00981 225.5455 l -238.53687 226.73137 l -239.16934 226.62596 l -239.48557 225.57185 l -239.06392 225.0448 l -238.95851 223.93797 l -240.80321 223.35822 l -240.59239 222.6467 l -241.11945 222.1987 l -241.6465 223.22646 l -242.6479 223.25281 l -243.5966 224.06975 l -243.64931 224.5441 l -244.96695 224.57045 l -246.54811 224.41232 l -247.3914 225.07115 l -248.49821 225.25562 l -249.34151 224.78127 l -249.34151 224.41232 l -251.1335 224.33327 l -252.92549 224.30692 l -251.66055 224.75491 l -252.18761 225.44009 l -253.34714 225.5455 l -254.45395 226.25702 l -254.66478 227.4429 l -255.45535 227.41655 l -256.03513 227.75914 l -256.98383 228.28619 l -257.87982 229.23489 l -257.93253 229.99911 l -258.45956 230.02547 l -259.25015 230.737 l -259.82993 231.26405 l -261.62192 231.55394 l -261.72733 231.29041 l -262.93954 231.185 l -264.52072 231.58029 l -264.99506 231.7384 l -266.10187 232.08099 l -267.63034 233.31956 l -267.89386 233.92569 l -268.42093 233.97839 l -268.73715 234.66356 l -269.58044 237.21979 l -270.31833 237.45695 l -270.37103 238.45836 l -269.26422 239.67059 l -269.73856 240.11859 l -272.32114 240.35576 l -272.37384 241.80516 l -273.48065 240.85646 l -275.32535 241.38351 l -277.74982 242.27951 l -278.4877 243.1228 l -278.22415 243.93974 l -279.96344 243.49174 l -282.80954 244.25598 l -284.97046 244.20326 l -287.13141 245.4155 l -289.02881 247.04936 l -290.13562 247.47101 l -291.40054 247.55008 l -291.92761 247.99806 l -292.40195 249.86911 l -292.6655 250.73875 l -292.08572 253.16321 l -291.34784 254.13826 l -289.29233 256.16742 l -288.34363 257.82767 l -287.23682 259.09259 l -286.86786 259.11896 l -286.49893 260.1994 l -286.60434 262.94009 l -286.18271 265.18008 l -286.0246 266.15512 l -285.55023 266.73489 l -285.28671 268.685 l -283.81094 270.60876 l -283.54742 272.11087 l -282.38791 272.74332 l -282.01895 273.61298 l -280.43781 273.61298 l -278.11874 274.19275 l -277.11734 274.8252 l -275.48346 275.27319 l -273.7442 276.43271 l -272.53195 277.88211 l -272.26843 278.96259 l -272.53195 279.77951 l -272.26843 281.25528 l -271.95221 281.9668 l -270.89807 282.78375 l -269.26422 285.3663 l -267.99927 286.52585 l -266.99786 287.211 l -266.31271 288.6077 l -265.36401 289.42465 l -264.73154 290.34698 l -263.09766 291.16394 l -261.99084 290.87405 l -261.20026 291.03217 l -259.82993 290.39969 l -258.88123 290.45239 l -257.98523 289.63547 l -257.87982 290.39969 l -259.72452 291.66464 l -259.51367 292.66605 l -260.46237 293.29849 l -260.35696 294.01004 l -258.98663 295.90744 l -256.77301 296.67166 l -253.87419 296.98788 l -252.24031 296.82977 l -252.55655 297.72577 l -252.24031 298.80624 l -252.50385 299.5441 l -251.66055 300.07117 l -250.1321 300.25565 l -248.76175 299.72858 l -248.18199 300.12387 l -248.39281 301.57327 l -249.34151 302.02127 l -250.1848 301.54694 l -250.60645 302.31116 l -249.2361 302.75916 l -248.07658 303.68149 l -247.86575 305.15726 l -247.49681 305.92148 l -246.12646 305.92148 l -244.96695 306.6857 l -244.5453 307.79254 l -246.02106 308.84665 l -247.3914 309.13654 l -246.91705 310.45416 l -245.17776 311.29745 l -244.22906 313.01038 l -242.91144 313.59015 l -242.27896 314.27533 l -242.75331 315.77744 l -243.75471 316.64706 l -243.12225 316.56799 l -241.80461 316.54166 l -241.11945 316.91058 l -239.8018 317.43765 l -239.53827 318.80798 l -238.95851 318.83435 l -237.27194 318.35999 l -235.58536 317.33224 l -233.79337 316.51529 l -229.47151 229.41936 m -230.10397 230.20995 l -230.3148 231.44852 l -229.99857 231.81746 l -230.3148 233.16145 l -230.05127 234.00475 l -230.57832 234.37369 l -230.05127 235.13791 l -229.41881 236.06026 l -228.68092 236.13931 l -228.3647 236.69272 l -228.4174 237.40425 l -227.89035 237.53601 l -228.04846 237.98401 l -227.04706 238.56377 l -226.25647 238.88 l -226.36189 239.45976 l -225.78212 240.40846 l -225.5186 241.33081 l -225.04425 241.54164 l -225.25507 242.88564 l -224.99155 243.28091 l -225.83482 243.93974 l -226.4146 243.25456 l -226.73082 243.88704 l -225.94025 244.99385 l -224.78072 245.9162 l -224.30637 246.94395 l -225.04425 248.34065 l -224.5699 248.97313 l -225.62401 249.57924 l -226.73082 250.52794 l -227.20517 251.6084 l -227.78494 252.26723 l -229.15527 255.19238 l -230.63104 257.88037 l -231.84326 259.80411 l -231.63245 260.22577 l -232.2122 261.43799 l -233.37172 262.36032 l -236.007 263.9415 l -238.90581 265.41727 l -239.01122 266.02338 l -240.48697 266.86667 l -240.80321 268.92218 l -240.90862 271.32028 l -240.43427 274.58801 l -239.95992 277.61859 l -239.6964 280.46469 l -238.8531 282.25668 l -239.01122 284.04868 l -238.58957 285.26089 l -238.90581 287.44818 l -238.32605 289.63547 l -237.27194 291.98087 l -236.37595 294.3526 l -235.79619 294.4053 l -235.9016 296.03918 l -236.32324 297.46225 l -235.63806 298.46365 l -235.16371 301.17798 l -234.68936 303.28619 l -235.58536 303.47067 l -236.05971 301.65234 l -237.06111 302.04764 l -236.27054 305.07819 l -234.63666 304.55115 l -234.16231 307.00195 l -232.73926 308.29324 l -235.0056 308.71487 l -233.42444 309.84805 l -232.79196 311.24475 l -233.00279 313.74826 l -233.74066 314.72333 l -233.31902 315.59296 l -233.79337 316.51529 l -234.21501 317.35858 m -235.42725 317.64847 l -237.48276 318.62354 l -239.38016 319.15057 l -240.17075 318.49176 l -240.6451 317.49036 l -241.96274 316.88425 l -243.01685 317.04236 l -243.5966 317.72754 l -244.33449 318.83435 l -246.23189 319.70398 l -248.2874 320.07294 l -247.60223 320.81079 l -246.23189 320.88986 l -245.494 320.36279 l -244.96695 320.94257 l -243.75471 321.41693 l -243.01685 321.36423 l -242.17355 321.23245 l -241.06674 320.81079 l -239.53827 320.59998 l -237.69359 319.78305 l -236.21782 318.99246 l -234.21501 317.35858 l -409.14478 122.031776 m -411.99088 121.768242 l -414.25723 121.74189 l -414.52075 122.137184 l -415.36404 121.794601 l -416.73438 121.531067 l -418.94803 121.873657 l -418.36826 122.08448 l -416.41815 122.268951 l -415.10049 122.400711 l -414.88968 122.637886 l -413.15039 122.875061 l -411.56924 122.532478 l -412.41254 122.058128 l -409.14478 122.031776 l -421.84683 132.045837 m -425.32538 130.754547 l -424.95645 130.095718 l -428.22418 129.305145 l -433.02039 128.382797 l -437.92203 128.092911 l -440.45187 127.565857 l -443.29797 127.355034 l -444.29938 127.934799 l -443.29797 128.409149 l -438.13284 129.120667 l -433.65286 129.832199 l -429.12018 131.228897 l -426.90656 132.651947 l -424.64023 134.048645 l -424.90375 135.260864 l -427.74985 136.473099 l -426.85385 136.604858 l -422.05765 136.420395 l -421.68869 135.761566 l -419.05344 135.366287 l -418.84259 134.575699 l -420.31836 134.25946 l -420.26566 133.468887 l -423.16446 132.203949 l -421.84683 132.045837 l -383.63528 122.796005 m -381.47437 123.586586 l -377.2052 123.771057 l -372.88336 123.533882 l -372.61981 123.112236 l -370.5116 123.085884 l -368.93042 122.427063 l -373.4631 122.005417 l -375.57135 122.374359 l -377.04709 121.926361 l -380.73648 122.295303 l -383.63528 122.796005 l -379.68237 126.037399 m -376.41461 126.617157 l -373.83206 126.300926 l -374.83347 125.905632 l -373.99017 125.431282 l -376.99438 125.141403 l -377.57416 125.694809 l -379.68237 126.037399 l -365.66269 123.375763 m -366.24246 122.875061 l -368.35068 122.822357 l -370.19537 123.323059 l -375.04428 124.403526 l -371.35489 124.983284 l -370.5643 126.063751 l -369.24667 126.35363 l -368.56149 127.565857 l -366.7695 127.618561 l -363.65988 126.722565 l -364.97751 126.195511 l -362.76389 125.773865 l -359.91779 124.535286 l -358.81097 123.402115 l -362.76389 122.875061 l -363.60718 123.375763 l -365.66269 123.375763 l -229.47151 229.41936 m -228.99716 228.99771 l -228.68092 228.20712 l -229.04987 227.81184 l -228.68092 227.73277 l -228.4174 227.23207 l -227.67952 226.83679 l -227.04706 226.91585 l -226.73082 227.4429 l -226.15106 227.81184 l -225.83482 227.86455 l -225.67671 228.15442 l -226.36189 228.94501 l -225.99295 229.12947 l -225.78212 229.36665 l -225.09695 229.41936 l -224.83342 228.54971 l -224.6226 228.81325 l -224.14825 228.70784 l -223.88472 228.12807 l -223.25226 228.02266 l -222.88332 227.86455 l -222.56708 227.86455 l -222.25085 227.86455 l -222.19815 228.18077 l -222.04002 227.96996 l -221.24945 227.62737 l -220.93321 227.33749 l -221.14403 227.07396 l -221.09132 226.75772 l -220.66968 226.38879 l -220.08992 226.09891 l -219.56287 225.91444 l -219.51016 225.4928 l -219.08852 225.22926 l -219.19392 225.65091 l -218.9304 226.01985 l -218.56146 225.59821 l -218.08711 225.46645 l -217.8763 225.17656 l -217.929 224.72856 l -218.08711 224.25421 l -217.8763 224.1488 l -217.66547 224.0434 l -218.03441 223.77986 l -217.50735 223.30551 l -216.82217 222.72575 l -216.50595 222.22505 l -215.87347 221.7507 l -215.18831 221.09187 l -215.34642 220.88106 l -215.55725 221.09187 l -215.66266 220.98647 l -215.39912 220.53847 l -215.18831 220.45941 l -214.97748 220.40671 l -214.81937 220.7493 l -213.97607 220.72295 l -213.44902 220.59117 l -212.81656 220.3013 l -212.02597 220.19588 l -211.60432 219.90601 l -210.86646 219.64247 l -209.97046 219.61612 l -209.28528 219.32625 l -208.49471 218.72012 l -206.80812 217.13896 l -206.07024 216.66461 l -204.85802 216.29567 l -204.06743 216.40108 l -202.90791 216.92815 l -202.17003 217.08626 l -201.11592 216.69096 l -200.00911 216.42743 l -198.63876 215.74226 l -197.53194 215.53145 l -195.89807 214.87262 l -194.68584 214.1611 l -194.31691 213.76581 l -193.47362 213.68675 l -191.99786 213.2124 l -191.36539 212.55357 l -189.78423 211.71028 l -189.04634 210.78795 l -188.73012 210.07642 l -189.20447 209.94466 l -189.04634 209.52301 l -189.41528 209.15407 l -189.41528 208.65337 l -188.88823 207.99455 l -188.78282 207.38843 l -188.30847 206.65056 l -186.99083 205.20116 l -185.51508 204.06798 l -184.8299 203.14563 l -183.56497 202.53952 l -183.30144 202.19693 l -183.51227 201.30093 l -182.77438 200.95836 l -181.87839 200.24683 l -181.50945 199.21907 l -180.77158 199.08731 l -179.87558 198.32307 l -179.1904 197.61156 l -179.1377 197.16356 l -178.34712 196.05673 l -177.82007 194.92357 l -177.87277 194.37016 l -176.81865 193.79039 l -176.2916 193.84311 l -175.50102 193.44781 l -175.23749 194.05392 l -175.50102 194.73909 l -175.60643 195.84592 l -176.13348 196.45203 l -177.2403 197.45343 l -177.45113 197.79602 l -177.66194 197.90143 l -177.87277 198.40213 l -178.13629 198.37578 l -178.45253 199.32448 l -178.87418 199.69342 l -179.1904 200.22047 l -180.0864 200.95836 l -180.61345 202.3287 l -181.0351 202.96117 l -181.45674 203.64633 l -181.50945 204.43692 l -182.19463 204.48962 l -182.82709 205.14845 l -183.35414 205.80727 l -183.30144 206.0708 l -182.66898 206.59785 l -182.40544 206.59785 l -182.03651 205.70186 l -181.0878 204.85857 l -180.03369 204.14703 l -179.29582 203.77811 l -179.34853 202.72398 l -179.08499 201.93341 l -178.39983 201.45906 l -177.39842 200.82658 l -177.18759 201.01106 l -176.81865 200.61577 l -175.92267 200.27318 l -175.07938 199.42989 l -175.18478 199.29813 l -175.76454 199.37718 l -176.3443 198.85013 l -176.39702 198.19131 l -175.23749 197.13721 l -174.3942 196.74191 l -173.86714 195.81956 l -173.28738 194.87086 l -172.65492 193.68498 l -172.02245 192.36734 l -171.81163 191.62947 l -170.86293 190.78618 l -170.17775 190.60172 l -170.01964 190.18007 l -169.17635 190.10101 l -168.64929 189.70572 l -167.278946 189.57396 l -166.910004 189.33678 l -166.751892 188.54619 l -165.328842 187.07043 l -164.116608 185.01492 l -164.169327 184.69868 l -163.484146 184.19798 l -162.377335 182.98576 l -162.166504 181.77353 l -161.375931 180.98294 l -161.692154 179.77072 l -161.63945 178.50578 l -161.217804 177.39897 l -161.744858 176.00227 l -161.955688 174.68463 l -162.1138 173.36699 l -161.850281 171.39053 l -161.375931 170.15195 l -160.954285 169.46678 l -161.1651 169.1769 l -163.273331 169.6776 l -164.063904 171.04794 l -164.432846 170.679 l -164.169327 169.46678 l -163.694977 168.2809 l -163.484146 168.25455 l -160.638046 166.831497 l -159.583939 166.199036 l -156.948654 165.592926 l -156.158081 164.301636 l -156.316193 163.40564 l -154.471497 162.773178 l -154.207962 161.587296 l -152.415985 160.533188 l -152.415985 159.768951 l -151.625397 159.215546 l -150.307755 158.767548 l -149.886108 157.476257 l -147.988708 156.29039 l -147.198135 154.920044 l -145.827789 154.814636 l -143.508743 154.788284 l -141.769455 154.366638 l -138.765244 152.838181 l -137.342194 152.574646 l -134.759613 152.047592 l -132.756805 152.179352 l -129.858002 151.494186 l -128.118713 150.86171 l -126.537552 151.177948 l -126.801079 152.205704 l -126.01049 152.28476 l -124.323914 152.600998 l -123.006279 153.1017 l -121.42511 153.391586 l -121.214287 152.548294 l -121.846756 151.098892 l -123.427917 150.650894 l -123.006279 150.281952 l -121.161583 151.098892 l -120.160179 152.073944 l -118.051956 153.128052 l -119.106064 153.839584 l -117.735718 154.86734 l -116.154556 155.499802 l -114.678795 155.9478 l -114.30986 156.580276 l -112.043518 157.344498 l -111.569168 158.029678 l -109.882591 158.66214 l -108.828476 158.53038 l -107.510841 158.952026 l -105.982376 159.452728 l -104.770149 159.927078 l -102.292992 160.348724 l -102.029465 160.111542 l -103.663338 159.426376 l -105.086388 158.978378 l -106.614845 158.18779 l -108.459541 158.003326 l -109.197418 157.397202 l -111.200226 156.527557 l -111.516464 156.237686 l -112.623283 155.710632 l -112.88681 154.603806 l -113.624687 153.760529 l -111.93811 154.182159 l -111.46376 153.944992 l -110.673172 154.472046 l -109.724472 153.734177 l -109.302826 154.26123 l -108.775772 153.523346 l -107.300018 154.103104 l -106.404022 154.103104 l -106.245903 153.233459 l -106.509438 152.706406 l -105.613441 152.179352 l -103.663338 152.469238 l -102.451103 151.784058 l -101.449699 151.415131 l -101.449699 150.59819 l -100.290176 149.965729 l -100.869942 149.122437 l -102.082169 148.305496 l -102.609222 147.567612 l -103.768745 147.462204 l -104.770149 147.699387 l -105.982376 146.987854 l -107.036491 147.119614 l -108.143311 146.645264 l -107.879776 145.98645 l -107.036491 145.722931 l -108.143311 145.143158 l -107.247314 145.16951 l -105.666145 145.485748 l -105.244499 145.801987 l -104.084976 145.485748 l -102.029465 145.64386 l -99.86853 145.301285 l -99.236069 144.721512 l -97.391373 143.878235 l -99.446892 143.245758 l -102.71463 142.534241 l -103.926865 142.534241 l -103.716042 143.27211 l -106.825668 143.219406 l -105.613441 142.297058 l -103.821449 141.743652 l -102.767342 141.005783 l -101.396996 140.399658 l -99.39418 139.925308 l -100.184769 139.161087 l -102.767342 139.108368 l -104.612038 138.449554 l -104.980972 137.738037 l -106.456726 137.026505 l -107.932487 136.868393 l -110.673172 136.209564 l -112.043518 136.314987 l -114.257149 135.550751 l -116.470787 135.840637 l -117.577606 136.499451 l -118.210068 136.235916 l -120.687233 136.314987 l -120.581818 136.657562 l -122.84816 136.894745 l -124.323914 136.762985 l -127.43354 137.210968 l -130.226944 137.342743 l -131.333755 137.553558 l -133.283859 137.316391 l -135.497498 137.738037 l -137.131363 137.948853 l -139.819351 138.291443 l -142.138397 139.00296 l -143.666855 139.134735 l -144.931793 138.52861 l -146.723785 138.080612 l -148.884705 138.238739 l -151.098343 137.606262 l -153.470093 137.237335 l -154.5242 137.843445 l -155.578308 137.500854 l -155.894547 136.815689 l -156.948654 136.973801 l -159.425827 138.291443 l -161.375931 137.290039 l -161.534042 138.396851 l -163.326035 138.159668 l -163.905792 137.738037 l -165.697784 137.817093 l -167.91142 138.449554 l -171.33728 138.976608 l -173.34009 139.213791 l -174.81584 139.134735 l -176.76595 139.872604 l -174.71043 140.610489 l -177.34572 140.90036 l -181.29863 140.742249 l -182.56357 140.478714 l -184.09203 141.348358 l -185.72589 140.610489 l -184.19743 140.004364 l -185.14613 139.503662 l -186.93813 139.424606 l -188.09764 139.292847 l -189.30988 139.635437 l -190.78563 140.42601 l -192.41951 140.320602 l -195.00208 140.979416 l -197.26842 140.742249 l -199.37663 140.7686 l -199.21852 139.872604 l -200.53616 139.609085 l -202.80251 140.109787 l -202.80251 141.480133 l -203.69849 140.320602 l -204.91072 140.373306 l -205.54318 138.897552 l -203.96202 137.975204 l -202.27544 137.395447 l -202.38086 135.787918 l -204.12013 134.707458 l -206.07024 134.944641 l -207.54601 135.603455 l -209.54881 137.237335 l -208.23117 137.975204 l -210.97186 138.265091 l -210.91916 139.767197 l -212.92197 138.607666 l -214.66125 139.556366 l -214.1869 140.636841 l -215.60995 141.638245 l -217.13841 140.557785 l -218.24522 139.319199 l -218.29793 137.711685 l -220.40616 137.817093 l -222.56708 138.027908 l -224.5172 138.765793 l -224.6226 139.47731 l -223.51578 140.267899 l -224.5699 141.032135 l -224.35907 141.743652 l -221.51297 142.771408 l -219.45746 143.008591 l -217.929 142.560593 l -217.50735 143.298462 l -216.0843 144.537048 l -215.66266 145.16951 l -213.97607 146.170914 l -211.86786 146.249985 l -210.70833 146.882446 l -210.60292 147.831146 l -208.91635 148.01561 l -207.12436 149.201492 l -205.54318 150.86171 l -204.96342 151.994888 l -204.91072 153.707809 l -207.01894 153.944992 l -207.70412 155.315338 l -208.38928 156.42215 l -210.44481 156.132278 l -213.13278 156.76474 l -214.60855 157.344498 l -215.66266 158.029678 l -217.50735 158.424957 l -219.03581 159.031082 l -221.46027 159.13649 l -223.04143 159.26825 l -222.83061 160.533188 l -223.25226 162.008942 l -224.35907 163.642822 l -226.52 165.039505 l -227.62682 164.565155 l -228.4174 163.063049 l -227.67952 160.744003 l -226.62541 159.979782 l -228.99716 159.294601 l -230.63104 158.266846 l -231.47432 157.23909 l -231.31621 156.264038 l -230.3148 155.025452 l -228.57552 153.91864 l -230.2621 152.390182 l -229.62962 151.046188 l -229.15527 148.779846 l -230.15669 148.437256 l -232.68655 148.83255 l -234.21501 148.96431 l -235.42725 148.595383 l -236.74489 149.096085 l -238.58957 149.939362 l -239.01122 150.492783 l -241.6465 150.624542 l -241.5938 151.836761 l -242.06815 153.681458 l -243.38579 153.91864 l -244.4926 154.788284 l -246.60081 153.971344 l -247.97116 152.363831 l -248.97256 151.67865 l -250.07939 152.96994 l -251.97679 154.840988 l -253.61066 156.606628 l -253.0309 157.528976 l -254.981 158.345901 l -256.29865 159.189194 l -258.61768 159.558136 l -259.56638 160.032486 l -260.14615 161.271057 l -261.30566 161.455536 l -261.88544 162.008942 l -261.99084 163.669174 l -260.93674 164.22258 l -259.88263 164.723282 l -257.45816 165.250336 l -255.61348 166.46257 l -253.13631 166.699738 l -250.02669 166.383499 l -247.81305 166.357147 l -246.28459 166.46257 l -245.07236 167.516678 l -243.22766 168.17549 l -241.11945 170.09924 l -239.43286 171.46959 l -240.6451 171.20607 l -243.01685 169.2823 l -246.07376 168.07008 l -248.2874 167.93832 l -249.55234 168.64984 l -248.18199 169.62489 l -248.65634 171.20607 l -249.13069 172.31288 l -251.02809 173.05075 l -253.45255 172.83994 l -254.9283 171.17972 l -255.03371 172.23383 l -255.9297 172.78723 l -254.13771 173.73593 l -250.92268 174.60558 l -249.44691 175.21169 l -247.81305 176.26579 l -246.70624 176.13403 l -246.65353 174.89545 l -249.1834 173.70958 l -246.86435 173.73593 l -245.23048 173.92039 l -245.494 174.39474 l -243.91284 175.10628 l -242.38438 175.60698 l -240.85591 176.05498 l -240.06534 176.92462 l -239.85451 177.24084 l -239.8018 178.03143 l -240.32886 178.79567 l -240.90862 178.84837 l -240.7505 178.29497 l -241.17215 178.63754 l -241.06674 179.05919 l -240.06534 179.29637 l -239.38016 179.24367 l -238.32605 179.50719 l -237.69359 179.58624 l -236.79759 179.66531 l -235.58536 180.08694 l -237.74629 179.79707 l -238.16794 180.08694 l -236.11241 180.53494 l -235.21642 180.53494 l -235.21642 180.35048 l -234.79477 180.74577 l -235.21642 180.82483 l -234.90019 181.87894 l -233.84607 182.98576 l -233.74066 182.61682 l -233.42444 182.53777 l -232.95009 182.16882 l -233.21361 182.95941 l -233.58255 183.22293 l -233.63525 183.77634 l -233.1609 184.35609 l -232.31761 185.51563 l -232.2122 185.46292 l -232.63385 184.46152 l -231.89597 183.90811 l -231.73785 182.69588 l -231.47432 183.32834 l -231.73785 184.25069 l -230.78915 184.01352 l -231.79056 184.48787 l -231.84326 185.88457 l -232.26491 185.98997 l -232.42302 186.49068 l -232.63385 187.96643 l -231.73785 189.04689 l -230.2094 189.46854 l -229.2607 190.33818 l -228.52281 190.44359 l -227.78494 190.97064 l -227.57411 191.47136 l -225.94025 192.42006 l -225.09695 193.10522 l -224.41177 193.97487 l -224.20096 195.00262 l -224.46449 196.03038 l -224.93884 197.29532 l -225.62401 198.32307 l -225.62401 198.95554 l -226.30917 200.64212 l -226.25647 201.64352 l -226.20377 202.19693 l -225.83482 203.09293 l -225.41319 203.2774 l -224.67531 203.11928 l -224.46449 202.46046 l -223.88472 202.11787 l -223.09415 200.8793 l -222.40897 199.74612 l -222.19815 199.16637 l -222.51437 198.21767 l -222.09273 197.40073 l -220.93321 196.18851 l -220.40616 195.95132 l -218.9304 196.61014 l -218.66687 196.53108 l -217.929 195.87227 l -217.033 195.50333 l -215.34642 195.68781 l -214.08148 195.52968 l -212.97467 195.60873 l -212.34221 195.84592 l -212.60573 196.24121 l -212.60573 196.82097 l -212.86926 197.11086 l -212.60573 197.32167 l -212.07867 197.08449 l -211.49892 197.37437 l -210.44481 197.32167 l -209.3907 196.55743 l -208.07306 196.74191 l -207.01894 196.39932 l -206.12296 196.50473 l -204.85802 196.84732 l -203.54037 197.92778 l -202.11732 198.56026 l -201.27403 199.27177 l -200.95781 199.9306 l -200.95781 200.93201 l -201.01051 201.64352 l -201.27403 202.11787 l -200.74698 203.40916 l -200.48346 204.46327 l -200.37804 206.43973 l -200.21992 207.15126 l -200.48346 207.94185 l -200.95781 208.65337 l -201.22133 209.78653 l -202.22273 210.89336 l -202.53897 211.71028 l -203.11873 212.44817 l -204.64719 212.81711 l -205.27966 213.44957 l -206.54459 213.02792 l -207.65141 212.86981 l -208.75822 212.60628 l -209.70692 212.36911 l -210.60292 211.763 l -210.97186 210.91971 l -211.07727 209.68112 l -211.34081 209.25948 l -212.34221 208.86418 l -213.87067 208.54796 l -215.18831 208.57431 l -216.0843 208.4689 l -216.40053 208.78513 l -216.34782 209.47031 l -215.55725 210.33995 l -215.24101 211.23593 l -215.50455 211.49947 l -215.29372 212.13193 l -214.92477 213.26511 l -214.55583 212.89616 l -214.23961 212.92252 l -214.23961 213.13335 l -214.50313 213.13335 l -214.50313 213.52863 l -214.23961 214.1611 l -214.39772 214.39827 l -214.23961 214.92532 l -214.34502 215.0571 l -214.1342 215.79497 l -213.87067 216.19026 l -213.60713 216.24297 l -213.29091 216.74367 l -213.81796 217.0072 l -213.92337 216.79637 l -214.39772 216.98085 l -214.50313 217.03355 l -214.81937 216.77002 l -215.24101 216.74367 l -215.39912 216.87543 l -215.60995 216.79637 l -216.29512 216.92815 l -216.9803 216.90179 l -217.45465 216.74367 l -217.61276 216.5592 l -218.08711 216.63826 l -218.40335 216.74367 l -218.825 216.71732 l -219.08852 216.58556 l -219.7737 216.79637 l -219.98451 216.82272 l -220.45886 217.08626 l -220.88051 217.42885 l -221.40756 217.63966 l -221.7765 218.03496 l -221.6711 218.19307 l -221.56567 218.50931 l -221.7238 219.06271 l -221.40756 219.53706 l -221.24945 220.14317 l -221.19675 220.77565 l -221.24945 221.17094 l -221.30215 221.82976 l -221.09132 221.96152 l -220.93321 222.59399 l -221.03862 222.98927 l -220.7224 223.35822 l -220.8278 223.75351 l -221.03862 223.99069 l -221.14403 224.20151 l -221.40756 224.78127 l -221.98732 225.36102 l -222.6725 225.9935 l -222.6725 225.9935 m -223.19955 226.52055 l -223.14685 226.83679 l -223.72661 226.8895 l -223.88472 226.78407 l -224.30637 227.12666 l -224.99155 227.02126 l -225.62401 226.65231 l -226.52 226.36244 l -226.99435 225.9408 l -227.83765 226.01985 l -227.78494 226.15161 l -228.57552 226.20432 l -229.20799 226.46785 l -229.73505 226.91585 l -230.2621 227.31114 l -238.53687 211.13052 m -238.69499 210.89336 l -239.01122 210.867 l -239.85451 210.89336 l -240.6978 211.2623 l -241.11945 211.23593 l -241.38297 211.763 l -242.17355 211.73665 l -242.12085 212.15828 l -242.75331 212.211 l -243.4912 212.7644 l -242.96414 213.34416 l -242.22626 213.02792 l -241.5938 213.08063 l -241.11945 213.02792 l -240.85591 213.29146 l -240.27615 213.37051 l -240.06534 213.02792 l -239.53827 213.23875 l -238.95851 214.24016 l -238.58957 214.00298 l -238.53687 213.58133 l -237.53546 213.34416 l -236.8503 213.44957 l -235.9543 213.31781 l -235.26912 213.6077 l -234.47855 213.1597 l -234.63666 212.68535 l -235.9543 212.86981 l -237.06111 213.00157 l -237.58817 212.659 l -236.9557 212.02652 l -236.9557 211.47311 l -236.007 211.2623 l -236.37595 210.84065 l -237.27194 210.91971 l -238.53687 211.13052 l -365.08292 184.17163 m -366.24246 184.03987 l -365.71539 185.17303 l -365.92621 185.64738 l -365.60999 186.38527 l -364.50317 185.83186 l -363.76529 185.67374 l -361.70978 184.93587 l -361.92059 184.19798 l -363.60718 184.32974 l -365.08292 184.17163 l -398.44556 174.63193 m -400.13214 175.18533 l -401.97684 176.42392 l -537.27203 191.02336 m -538.06256 190.12737 l -538.90588 190.31183 l -539.53833 189.70572 l -540.59247 190.02194 l -540.80328 190.52266 l -539.95996 191.39229 l -539.38025 190.91794 l -538.58966 191.26053 l -538.2207 192.13017 l -537.27203 191.70853 l -537.27203 191.02336 l -319.70343 212.05287 m -319.54532 211.315 l -319.65073 210.57712 l -319.2818 209.89195 l -318.54391 209.25948 l -318.59662 208.62701 l -318.64932 207.9682 l -319.2291 207.57291 l -319.70343 206.80867 l -319.59802 206.30797 l -320.12509 205.28021 l -320.91568 204.33151 l -321.39001 204.09433 l -321.81165 203.25105 l -321.81165 202.46046 l -322.33871 201.56447 l -323.34012 201.03741 l -324.28882 199.53531 l -325.0267 198.95554 l -326.39703 198.79742 l -327.55658 197.79602 l -328.29443 197.40073 l -329.50668 196.18851 l -329.13773 194.37016 l -329.66479 193.10522 l -329.87561 192.34099 l -330.82431 191.33958 l -332.30008 190.68077 l -333.40689 190.07466 l -334.35559 188.54619 l -334.82993 187.65019 l -335.88403 187.65019 l -336.78003 188.28267 l -338.15039 188.17726 l -339.67883 188.49348 l -340.31131 188.51984 l -341.73438 187.72926 l -343.31552 187.46573 l -344.21152 186.85962 l -345.63458 186.41162 l -348.11172 186.14809 l -350.53619 186.04268 l -351.27408 186.25349 l -352.64441 185.67374 l -354.22559 185.67374 l -354.80533 185.98997 l -355.80676 185.91092 l -357.44061 185.33116 l -358.44202 185.48927 l -358.38931 186.22714 l -359.65427 185.70009 l -359.75967 185.98997 l -359.02179 186.70149 l -359.02179 187.38667 l -359.49612 187.72926 l -359.33801 188.99419 l -358.33661 189.73207 l -358.65286 190.54901 l -359.39072 190.57536 l -359.75967 191.26053 l -360.33942 191.49771 l -362.026 191.99841 l -362.65848 191.86664 l -363.8707 192.10382 l -365.8208 192.76263 l -366.50598 194.08028 l -367.82361 194.34381 l -369.87912 194.97627 l -371.4603 195.68781 l -372.14548 195.31886 l -372.83066 194.63368 l -372.5144 193.52687 l -372.98877 192.81534 l -374.04288 192.13017 l -375.04428 191.91936 l -376.99438 192.20923 l -377.52145 192.86806 l -378.04849 192.86806 l -378.52286 193.13158 l -379.9986 193.28969 l -380.31485 193.79039 l -382.26495 193.76404 l -383.68799 194.15933 l -385.16376 194.58098 l -385.84891 194.81816 l -386.95575 194.34381 l -387.53549 193.92216 l -388.85315 193.81676 l -389.90726 194.00122 l -390.27618 194.71274 l -390.64514 194.23839 l -391.80466 194.58098 l -392.96417 194.66003 l -393.64935 194.29111 l -394.07098 193.81676 l -393.96558 193.73769 l -394.38721 193.05252 l -394.65076 191.94571 l -394.86157 191.57677 l -394.91428 191.55042 l -395.44135 190.36453 l -396.1792 189.33678 l -396.1792 189.28407 l -396.07379 188.15091 l -396.44275 187.57114 l -395.86298 186.88597 l -396.44275 186.35892 l -395.54675 186.46432 l -394.3345 186.14809 l -393.3331 186.96503 l -391.06677 187.14949 l -389.90726 186.35892 l -388.32608 186.30621 l -388.00986 186.91232 l -386.95575 187.09679 l -385.58539 186.30621 l -383.95151 186.33257 l -383.10825 184.88316 l -382.0014 184.06622 l -382.73929 182.93304 l -381.79059 182.22153 l -383.42447 180.82483 l -385.6908 180.77213 l -386.32327 179.66531 l -389.11667 179.84978 l -390.85596 178.90108 l -392.54254 178.47943 l -394.96698 178.45308 l -397.54956 179.48083 l -399.65778 180.06059 l -401.34436 179.82343 l -402.60928 179.95518 l -404.34857 179.19096 l -404.55939 178.55849 l -404.19046 177.58344 l -403.34717 177.03003 l -402.50388 176.87192 l -401.97684 176.42392 l -400.13214 175.18533 l -398.44556 174.63193 l -397.1806 173.76228 l -398.23474 173.5251 l -399.44696 172.31288 l -398.65637 171.73312 l -400.81729 171.127 l -400.76459 170.81078 l -399.44696 171.04794 l -398.28745 171.15335 l -397.33875 171.6277 l -395.96838 171.70677 l -394.70346 172.26018 l -394.75616 173.18253 l -395.49405 173.5251 l -396.96979 173.44604 l -396.70627 173.94675 l -395.07239 174.21028 l -393.12228 175.05357 l -392.27899 174.76369 l -392.59525 174.07852 l -391.01407 173.65688 l -391.27759 173.36699 l -392.64795 172.86629 l -392.22629 172.55005 l -389.95996 172.18112 l -389.85455 171.6277 l -388.5369 171.81218 l -387.95715 172.60277 l -386.85031 173.68323 l -386.85031 174.07852 l -386.16516 174.39474 l -385.6908 174.26299 l -385.32187 176.02863 l -384.53128 176.63474 l -384.00421 177.66249 l -384.47858 178.50578 l -384.63669 179.05919 l -385.95435 179.53354 l -385.6908 179.90248 l -383.95151 179.98154 l -383.31906 180.42953 l -382.10681 181.22012 l -381.63248 180.53494 l -381.63248 180.24507 l -380.73648 180.19237 l -379.9986 180.06059 l -378.2066 180.42953 l -379.20801 181.27283 l -378.47015 181.50999 l -377.67957 181.50999 l -376.88898 180.74577 l -376.62546 181.062 l -376.94168 181.93164 l -377.67957 182.61682 l -377.1525 182.95941 l -377.94308 183.61823 l -378.68097 184.03987 l -378.68097 184.88316 l -377.36331 184.48787 l -377.78497 185.22574 l -376.83627 185.38387 l -377.41602 186.67514 l -376.41461 186.70149 l -375.20239 186.06903 l -374.67535 184.88316 l -374.4118 183.90811 l -373.83206 183.24928 l -373.09418 182.40599 l -372.98877 181.98434 l -372.72522 181.87894 l -372.72522 181.56271 l -371.93466 181.08836 l -371.77652 180.37683 l -371.88196 179.37543 l -372.09277 178.92743 l -371.88196 178.69025 l -371.5657 178.58484 l -371.14407 178.11049 l -370.5116 177.82062 l -369.14127 177.2672 l -368.29797 176.74014 l -366.92761 176.3185 l -365.71539 175.23804 l -366.03162 175.13263 l -365.34647 174.50017 l -365.29376 174.02582 l -364.39777 173.78864 l -363.9234 174.4211 l -363.50177 173.92039 l -363.50177 173.41969 l -363.55447 173.39334 l -363.9234 173.26158 l -362.76389 173.05075 l -361.55167 173.57782 l -361.60437 174.28934 l -361.44626 174.71098 l -361.92059 175.44887 l -363.29092 176.18674 l -364.02881 177.39897 l -365.66269 178.58484 l -366.8222 178.58484 l -367.19116 178.90108 l -366.7695 179.19096 l -368.08716 179.71802 l -369.14127 180.16602 l -370.40619 180.93024 l -370.5643 181.19377 l -370.30078 181.72083 l -369.45749 181.03564 l -368.19257 180.79848 l -367.56009 181.74718 l -368.6142 182.27423 l -368.45609 183.03847 l -367.87631 183.14388 l -367.08575 184.38246 l -366.45328 184.51422 l -366.45328 184.06622 l -366.7695 183.27563 l -367.08575 182.95941 l -366.50598 182.11612 l -366.08432 181.37823 l -365.45187 181.19377 l -365.03021 180.56129 l -364.08151 180.29778 l -363.44907 179.69167 l -362.34222 179.61259 l -361.23541 178.95378 l -359.86508 178.00508 l -358.86368 177.16179 l -358.44202 175.71239 l -357.70416 175.52792 l -356.49191 175.05357 l -355.85947 175.23804 l -355.01617 175.92322 l -354.3837 176.02863 l -353.06607 176.87192 l -350.16727 176.47662 l -348.05902 176.95097 l -347.84821 177.82062 l -347.95361 178.66389 l -346.58328 179.63895 l -344.68588 179.95518 l -344.58047 180.45589 l -343.63177 181.27283 l -343.10471 182.45869 l -343.68448 183.30199 l -342.84119 183.93446 l -342.52493 184.88316 l -341.41812 185.19939 l -340.36401 186.30621 l -338.51932 186.33257 l -337.09628 186.30621 l -336.20029 186.83327 l -335.62051 187.38667 l -334.93533 187.25491 l -334.35559 186.75421 l -333.93393 185.91092 l -332.5636 185.70009 l -331.98383 186.06903 l -331.24597 185.85822 l -330.45538 186.01633 l -330.7189 184.88316 l -330.56079 183.98717 l -329.92831 183.85539 l -329.55939 183.30199 l -329.66479 182.32693 l -330.24454 181.79988 l -330.34998 181.22012 l -330.6662 180.32413 l -330.61349 179.71802 l -330.34998 179.19096 l -330.29724 178.69025 l -330.34998 177.63614 l -329.7702 177.00368 l -331.82571 175.94957 l -333.61771 176.21309 l -335.56781 176.21309 l -337.14899 176.45027 l -338.36121 176.39757 l -340.73297 176.42392 l -341.47083 175.55428 l -341.73438 172.62912 l -340.25861 171.10065 l -339.15179 170.36278 l -336.93817 169.80937 l -336.78003 168.7289 l -338.67743 168.41267 l -341.1546 168.7816 l -340.68027 167.121384 l -342.0506 167.753845 l -345.47647 166.620682 l -345.8981 165.408447 l -347.16302 165.118576 l -348.37527 164.82869 l -349.11313 164.433395 l -350.37808 162.272476 l -352.38089 161.666351 l -353.59311 161.719055 l -353.90936 161.402832 l -355.12158 161.323776 l -355.3851 161.639999 l -356.38651 160.928482 l -356.07028 160.375076 l -355.96487 159.531784 l -355.3851 158.714844 l -355.3324 157.23909 l -355.59592 156.843796 l -356.01758 156.395798 l -357.2825 156.316742 l -357.80957 155.895096 l -358.96909 155.499802 l -358.91638 156.237686 l -358.49472 156.712036 l -358.70557 157.133682 l -359.49612 157.344498 l -359.1272 157.897903 l -358.70557 157.739792 l -357.65146 158.7939 l -358.02039 159.505432 l -358.07309 160.08519 l -359.54886 160.42778 l -359.49612 160.928482 l -361.0246 160.664948 l -361.81519 160.269653 l -363.50177 160.849426 l -364.18692 161.297424 l -365.18835 160.875778 l -367.45468 160.190598 l -369.29938 159.689896 l -370.77512 159.95343 l -370.88055 160.296005 l -372.30359 160.322357 l -372.61981 159.689896 l -374.62265 159.215546 l -374.3064 157.976974 l -374.3591 156.870148 l -375.09698 155.9478 l -376.46732 155.447098 l -377.62686 156.553909 l -378.78638 156.527557 l -379.1026 155.394394 l -379.26071 154.52475 l -378.73367 154.709229 l -377.78497 154.208527 l -377.67957 153.365234 l -379.52426 152.943588 l -381.36896 152.732758 l -382.9501 152.96994 l -384.47858 152.943588 l -386.11246 152.126648 l -384.58398 151.441483 l -381.9487 151.54689 l -379.36615 152.073944 l -376.99438 152.390182 l -376.15109 151.599594 l -374.72806 151.098892 l -375.04428 149.675842 l -374.3064 148.3582 l -375.04428 147.488556 l -376.36191 146.566208 l -379.68237 144.985046 l -380.68378 144.69516 l -380.52567 144.062698 l -378.47015 143.377533 l -375.99298 143.799164 l -374.56992 144.800583 l -374.78076 145.696564 l -372.4617 146.882446 l -369.6156 148.147385 l -368.56149 150.202896 l -369.6156 151.230652 l -370.98596 152.047592 l -369.6683 153.707809 l -368.13986 154.0504 l -367.56009 156.501205 l -366.7695 157.871552 l -364.97751 157.739792 l -364.13422 158.899307 l -362.44766 158.952026 l -361.9733 157.58168 l -360.76108 155.921448 l -359.65427 153.839584 l -358.65286 152.943588 l -355.75403 154.630157 l -353.80392 154.972748 l -351.80112 154.234879 l -351.27408 152.653702 l -350.79971 149.280548 l -352.17007 148.331848 l -356.01758 147.119614 l -358.91638 145.591156 l -361.60437 143.561996 l -365.08292 140.742249 l -367.56009 139.635437 l -371.5657 137.790741 l -374.78076 137.158264 l -377.2052 137.237335 l -379.41885 136.025101 l -382.10681 136.077805 l -384.7421 135.787918 l -389.32748 136.868393 l -387.43008 137.263687 l -389.01126 138.186035 l -390.5397 137.658966 l -392.96417 138.554962 l -396.96979 138.897552 l -402.50388 140.557785 l -403.61069 141.24295 l -403.71609 142.218002 l -402.08224 142.982239 l -399.71048 143.377533 l -393.17499 142.270706 l -392.06818 142.455185 l -394.43994 143.535645 l -394.54535 144.22081 l -394.65076 145.696564 l -396.54816 146.144562 l -397.70767 146.539856 l -397.86578 145.828339 l -396.96979 145.195862 l -397.91849 144.642456 l -401.44977 145.538452 l -402.71469 145.195862 l -401.71329 144.115402 l -405.13916 142.692352 l -406.45679 142.771408 l -407.82715 143.27211 l -408.67044 142.270706 l -407.45819 141.401062 l -408.14337 140.505066 l -407.08926 139.609085 l -411.20029 140.083435 l -412.04358 140.90036 l -410.19888 141.084839 l -410.19888 141.901764 l -411.3584 142.402466 l -413.62476 142.086243 l -413.99368 141.163895 l -422.16306 139.187439 l -423.21716 139.266495 l -421.79413 140.162491 l -423.63879 140.320602 l -424.64023 139.819901 l -427.38089 139.767197 l -429.59454 139.161087 l -431.22842 140.057083 l -432.91498 139.082016 l -431.38654 138.238739 l -432.12439 137.738037 l -436.44626 138.186035 l -438.50177 138.660385 l -443.77234 140.320602 l -444.77374 139.556366 l -443.29797 138.792145 l -443.24527 138.475906 l -441.45328 138.317795 l -441.98035 137.632614 l -441.18976 136.499451 l -441.13705 136.025101 l -443.82504 134.707458 l -444.77374 133.363464 l -445.88055 133.073593 l -449.78076 133.468887 l -450.04431 134.285812 l -448.67395 135.471695 l -449.56995 135.919693 l -450.04431 136.947449 l -449.72806 138.950256 l -451.36194 139.846252 l -450.72946 140.847656 l -447.83066 142.903183 l -449.51724 143.14035 l -450.09702 142.613297 l -451.73087 142.218002 l -452.09982 141.506485 l -453.36475 140.794952 l -452.52145 139.978012 l -453.20663 139.00296 l -451.57275 138.897552 l -451.25653 138.080612 l -452.41605 136.604858 l -450.51865 135.418991 l -453.15393 134.417587 l -452.78497 133.389816 l -453.52286 133.337112 l -454.31345 134.154053 l -453.73367 135.577103 l -455.26215 135.840637 l -454.62967 134.786514 l -457.05414 134.206757 l -460.11105 134.127701 l -462.79904 134.970993 l -461.48141 133.758759 l -461.37601 132.177597 l -463.90585 131.887711 l -467.43713 131.966766 l -470.59946 131.755951 l -469.38724 130.991714 l -471.12653 130.043015 l -472.76041 129.990311 l -475.60651 129.278793 l -479.50671 129.067963 l -479.98105 128.672668 l -483.82855 128.540909 l -485.0408 128.857147 l -488.30853 128.092911 l -490.99652 128.119263 l -491.41815 127.486801 l -492.78851 126.854332 l -496.26709 126.248215 l -498.79694 126.722565 l -496.79413 127.091507 l -500.11459 127.328682 l -500.48352 128.040207 l -501.80115 127.697624 l -506.12302 127.697624 l -509.39075 128.409149 l -510.603 128.962555 l -510.23404 129.726791 l -508.60019 130.148422 l -504.75269 130.965363 l -503.64584 131.413361 l -505.49054 131.624191 l -507.65149 131.993118 l -508.96912 131.703247 l -509.707 132.651947 l -510.33945 132.256653 l -512.65851 132.045837 l -517.40198 132.283005 l -517.71826 132.96817 l -523.83209 133.179001 l -523.9375 132.072189 l -527.04712 132.309357 l -529.36615 132.309357 l -531.73792 133.073593 l -532.4231 134.022293 l -531.5271 134.628403 l -533.37177 135.787918 l -535.69086 136.367691 l -537.11389 134.839218 l -539.43292 135.498047 l -541.96277 135.102753 l -544.75616 135.550751 l -545.86304 135.155457 l -548.23474 135.33992 l -547.18066 133.995941 l -549.13074 133.363464 l -562.35986 134.312164 l -563.62476 135.181808 l -567.41956 136.288635 l -573.32263 136.025101 l -576.27411 136.262268 l -577.48633 136.868393 l -577.27551 137.922501 l -579.12024 138.344147 l -581.07031 138.05426 l -583.65289 138.001556 l -586.39362 138.291443 l -589.23969 138.159668 l -591.76953 139.450958 l -593.56152 138.976608 l -592.3493 138.027908 l -593.03448 137.395447 l -597.67261 137.790741 l -600.72949 137.711685 l -604.94592 138.396851 l -607 139.055206 l -607 144.880142 m -605.10406 145.538452 l -603.20667 145.433044 l -604.52429 146.197281 l -605.42029 147.4095 l -606.10547 147.804794 l -606.26361 148.410904 l -605.89465 148.806198 l -603.15393 148.463608 l -599.04291 149.570435 l -597.72528 149.754898 l -595.51166 150.782654 l -593.40344 151.67865 l -592.82367 152.337479 l -590.76813 151.33606 l -586.92065 152.469238 l -586.28821 151.942184 l -584.86511 152.548294 l -582.91504 152.363831 l -582.44067 153.312531 l -580.70142 154.73558 l -580.75409 155.34169 l -582.38794 155.657928 l -582.17712 157.792496 l -580.8595 157.8452 l -580.22705 159.057434 l -580.80682 159.689896 l -578.27692 160.454132 l -577.74988 162.114349 l -575.58893 162.483292 l -575.11462 163.959045 l -573.00635 165.329391 l -572.47931 164.327988 l -571.84686 162.193405 l -571.05627 158.925674 l -571.74146 156.8965 l -572.95367 156.026855 l -573.05908 155.34169 l -575.32544 155.025452 l -577.96069 153.180756 l -580.43787 151.652298 l -583.07312 150.492783 l -584.28534 148.437256 l -582.49335 148.542664 l -581.59741 149.754898 l -577.90802 151.362411 l -576.69574 149.570435 l -572.90094 150.071136 l -569.26428 152.521942 l -570.4765 153.417938 l -567.20874 153.813232 l -564.94244 153.944992 l -565.04785 152.890884 l -562.78149 152.680054 l -560.93683 153.391586 l -556.45685 153.128052 l -551.66064 153.57605 l -546.91711 156.42215 l -541.33032 159.874374 l -543.59668 160.058838 l -544.33453 160.981186 l -545.75763 161.297424 l -546.7063 160.585892 l -548.28748 160.664948 l -550.39569 162.272476 l -550.44836 163.537399 l -549.34155 164.986801 l -549.18347 166.726089 l -548.55096 169.07149 l -546.33734 171.20607 l -545.86304 172.20747 l -543.86023 173.92039 l -541.85736 175.60698 l -540.90869 176.47662 l -538.95856 177.31992 l -538.06256 177.34627 l -537.16656 176.63474 l -535.16376 177.71519 l -534.95294 178.18954 l -534.37317 178.11049 l -533.74072 178.61119 l -533.31909 179.11189 l -533.37177 180.13966 l -532.63391 180.48224 l -532.37036 180.74577 l -531.79065 181.16742 l -530.84192 181.40459 l -530.20947 181.79988 l -530.15674 182.43234 l -529.99866 182.59047 l -530.57837 182.82764 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -527.52148 184.46152 l -527.31067 184.72504 l -526.88904 184.85681 l -526.8363 184.59328 l -526.46735 184.43517 l -526.04572 184.22433 l -526.46735 183.56552 l -526.8363 183.40739 l -526.67816 183.11752 l -527.04712 182.32693 l -526.94171 182.08977 l -526.09845 181.93164 l -525.41327 181.53635 l -523.35773 181.98434 l -522.30365 182.66953 l -520.72247 183.06482 l -521.51306 182.37964 l -521.19678 181.79988 l -522.35632 180.82483 l -521.56573 180.06059 l -520.30084 180.58765 l -518.61426 181.58907 l -517.71826 182.53777 l -516.29517 182.61682 l -515.55731 183.30199 l -516.3479 184.27704 l -517.50745 184.51422 l -517.56012 185.17303 l -518.71967 185.59468 l -520.35352 184.56693 l -521.67114 185.12033 l -522.61987 185.17303 l -522.83069 185.93727 l -520.77515 186.35892 l -520.08997 187.14949 l -518.66693 187.86102 l -517.92908 188.88878 l -519.51025 189.70572 l -520.08997 191.12877 l -520.98596 192.47276 l -521.93469 193.60593 l -521.93469 194.68639 l -521.0387 195.08168 l -521.35492 195.87227 l -522.25092 196.32027 l -521.98737 197.53249 l -521.61847 198.69202 l -520.82788 198.82378 l -519.72107 200.40495 l -518.56152 202.3287 l -517.19116 204.06798 l -515.18835 205.41197 l -513.13287 206.65056 l -511.49899 206.80867 l -510.603 207.46748 l -510.07593 206.99313 l -509.28534 207.73102 l -507.22983 208.44255 l -505.70139 208.67972 l -505.27972 209.89195 l -505.17432 210.23453 l -504.38373 210.3136 l -503.9621 209.23312 l -504.33102 208.67972 l -502.38092 208.20537 l -501.69574 208.44255 l -499.74564 209.70747 l -498.48071 211.07782 l -498.16449 212.10558 l -499.32401 213.63405 l -500.64163 215.5578 l -502.01199 216.4538 l -502.90799 217.63966 l -503.54044 220.354 l -503.38232 222.91022 l -502.1174 223.88527 l -500.48352 224.83397 l -499.2713 226.0462 l -497.42661 227.41655 l -496.89954 226.46785 l -497.3212 225.4928 l -496.21436 224.64951 l -495.00214 224.43867 l -494.42239 223.67445 l -493.68451 222.17235 l -492.36685 221.48717 l -491.10193 221.51352 l -491.31274 220.354 l -490.04782 220.38036 l -489.94241 221.98787 l -489.15182 224.12245 l -488.62476 225.41374 l -488.73019 226.46785 l -489.67889 226.52055 l -490.31134 227.86455 l -490.57486 229.12947 l -491.36545 229.97276 l -492.26144 230.13089 l -492.99933 230.89511 l -493.36826 231.02687 l -494.21155 231.92287 l -494.84402 232.89792 l -494.94943 233.87297 l -494.79132 234.5318 l -494.89673 235.05885 l -495.00214 235.90215 l -495.52921 236.32379 l -496.10895 237.61507 l -496.05624 238.11578 l -495.05484 238.19484 l -493.63181 237.11436 l -491.94522 235.95485 l -491.73441 235.21696 l -490.89111 234.24191 l -490.6803 233.02969 l -490.15323 232.21275 l -490.36404 231.15865 l -489.99512 230.52617 l -489.41534 229.97276 l -489.20453 229.26125 l -488.41394 228.41795 l -487.67606 227.73277 l -487.46524 228.60242 l -487.20172 227.78549 l -487.35983 226.86314 l -487.78149 225.46645 l -487.62335 224.35962 l -488.09772 223.25281 l -487.57065 222.38316 l -487.72876 220.802 l -487.09631 220.03777 l -486.62195 218.27213 l -486.35843 216.42743 l -485.72595 215.21521 l -484.77725 215.95308 l -483.0907 217.0072 l -482.30011 216.87543 l -481.40411 216.53285 l -481.87845 214.71451 l -481.56223 213.34416 l -480.45541 211.65758 l -480.61353 211.13052 l -479.77023 210.94606 l -478.71613 209.73383 l -478.29446 208.9696 l -478.24176 208.23172 l -477.92554 207.5202 l -477.34576 206.67691 l -475.97543 206.62421 l -476.13354 207.23032 l -475.65921 208.0209 l -475.02673 207.73102 l -474.81592 207.99455 l -474.39426 207.83643 l -473.81451 207.70467 l -473.60367 208.25807 l -472.60226 208.23172 l -470.8103 208.52161 l -470.91571 209.62842 l -470.12512 210.49806 l -468.01691 211.47311 l -466.38303 213.2124 l -465.27621 214.13475 l -463.80045 215.08345 l -463.80045 215.76862 l -463.11526 216.11121 l -461.74493 216.63826 l -461.11246 216.71732 l -460.63812 217.85049 l -460.95435 219.74789 l -461.00705 220.96011 l -460.42731 222.35681 l -460.42731 224.83397 l -459.63672 224.91304 l -459.00424 226.01985 l -459.42587 226.52055 l -458.10825 226.91585 l -457.58118 227.91725 l -457.00143 228.3389 l -455.63107 226.96855 l -454.94592 224.91304 l -454.36615 223.43727 l -453.89182 222.75211 l -453.10123 221.35541 l -452.73227 219.51071 l -452.46875 218.61472 l -451.15112 216.58556 l -450.51865 213.76581 l -450.09702 211.86841 l -450.09702 210.10277 l -449.83347 208.73242 l -447.67255 209.60207 l -446.67114 209.44395 l -444.77374 207.65196 l -445.45892 207.12491 l -445.03726 206.5715 l -443.29797 205.30656 l -442.24387 204.93762 l -441.76953 203.88351 l -440.66272 202.7767 l -437.97473 203.06657 l -435.60297 203.09293 l -433.54745 203.2774 l -430.75406 202.85576 l -429.17288 202.51317 l -427.53903 202.3287 l -426.90656 200.53671 l -426.22137 200.27318 l -425.06186 200.53671 l -423.58609 201.22188 l -421.79413 200.74753 l -420.31836 199.61436 l -418.89529 199.21907 l -417.94659 197.82237 l -416.83978 195.87227 l -416.04919 196.10944 l -415.1532 195.60873 l -414.57346 196.18851 l -413.73016 196.10944 l -414.04639 196.76826 l -413.88828 197.11086 l -414.36264 198.19131 l -414.94238 199.45624 l -415.68027 199.79883 l -415.94379 200.32588 l -416.89249 200.93201 l -416.99789 201.53812 l -416.83978 202.01247 l -417.05063 202.51317 l -417.47226 202.93481 l -417.68307 203.40916 l -417.89389 203.75175 l -417.78848 202.69763 l -418.15744 201.93341 l -418.57907 201.77528 l -419.00073 202.22328 l -419.05344 203.09293 l -418.73718 203.93622 l -419.00073 204.51598 l -419.26425 204.43692 l -419.31696 204.83221 l -420.47647 204.59503 l -421.68869 204.64775 l -422.58469 204.70045 l -423.58609 203.69904 l -424.64023 202.75034 l -425.58893 201.85435 l -426.01056 201.35365 l -426.16867 201.48541 l -426.06326 202.09152 l -425.85245 202.35506 l -426.06326 203.51457 l -426.69574 204.51598 l -427.53903 205.04303 l -428.59314 205.22751 l -429.48914 205.49103 l -430.12158 206.33432 l -430.54324 206.83502 l -431.07028 207.0195 l -431.07028 207.33572 l -430.54324 208.20537 l -430.27972 208.62701 l -429.64725 209.10136 l -429.12018 210.10277 l -428.43503 210.02371 l -428.17148 210.3663 l -427.90796 211.10417 l -428.11877 212.07922 l -427.96066 212.2637 l -427.27548 212.2637 l -426.37949 212.81711 l -426.22137 213.52863 l -425.90515 213.81851 l -424.95645 213.81851 l -424.42938 214.18745 l -424.42938 214.76721 l -423.69153 215.18886 l -422.90094 215.0571 l -421.89954 215.53145 l -421.26706 215.63686 l -420.16025 216.0058 l -419.89673 216.66461 l -419.84399 217.16531 l -418.42096 217.79778 l -416.04919 218.4566 l -414.78427 219.51071 l -414.09909 219.58977 l -413.67746 219.48436 l -412.83417 220.09047 l -411.88547 220.38036 l -410.67325 220.45941 l -410.30429 220.53847 l -409.98807 220.93376 l -409.56644 221.03917 l -409.35559 221.40811 l -408.61774 221.38176 l -408.14337 221.56622 l -407.14197 221.51352 l -406.77304 220.64388 l -406.82574 219.8533 l -406.56219 219.4053 l -406.29868 218.32484 l -405.87704 217.71872 l -406.14056 217.66602 l -406.03516 216.98085 l -406.19327 216.71732 l -406.14056 216.0585 l -405.92975 215.45238 l -405.50809 215.00438 l -405.40268 214.42462 l -404.61209 213.89757 l -403.8215 212.659 l -403.45258 211.47311 l -402.39847 210.47171 l -401.76599 210.23453 l -400.81729 208.83783 l -400.60648 207.81007 l -400.71188 206.94043 l -399.86859 205.33292 l -399.18344 204.75316 l -398.39285 204.43692 l -397.86578 203.61998 l -397.97119 203.2774 l -397.54956 202.51317 l -397.1279 202.19693 l -396.54816 201.11647 l -395.65216 199.9306 l -394.91428 198.92918 l -394.17639 198.92918 l -394.43994 198.11226 l -394.49265 197.61156 l -394.65076 197.03178 l -394.59805 196.82097 l -394.2291 197.40073 l -393.91287 198.50754 l -393.49124 199.27177 l -393.17499 199.53531 l -392.64795 199.06096 l -392.01547 198.40213 l -390.96136 196.29391 l -390.80325 196.42567 l -391.4357 197.98048 l -392.3317 199.45624 l -393.43851 201.72258 l -393.96558 202.51317 l -394.43994 203.35646 l -395.75757 204.96397 l -395.44135 205.22751 l -395.49405 206.17621 l -397.23331 207.49385 l -397.44415 207.78372 l -397.91849 209.23312 l -397.60226 209.49666 l -397.81308 210.99876 l -398.39285 212.73805 l -398.91989 213.10698 l -399.71048 213.6604 l -400.55377 215.34697 l -400.9754 216.69096 l -401.76599 217.4025 l -403.7688 218.79919 l -404.61209 219.61612 l -405.40268 220.45941 l -405.82434 220.96011 l -406.56219 221.40811 l -406.93115 221.85611 l -406.87845 222.46222 l -406.03516 222.83116 l -406.6676 223.22646 l -407.14197 223.48997 l -407.40549 224.0961 l -408.09067 224.70221 l -408.82855 224.70221 l -410.19888 224.33327 l -411.78006 224.17516 l -413.09769 223.70081 l -413.78287 223.62175 l -414.30994 223.35822 l -415.1532 223.30551 l -415.62756 223.27916 l -416.31274 223.04199 l -417.05063 222.91022 l -417.78848 222.40952 l -418.31555 222.40952 l -418.36826 222.80481 l -418.21014 223.6481 l -418.21014 224.41232 l -417.89389 224.93939 l -417.52496 226.54691 l -416.78708 228.18077 l -415.89108 230.05182 l -414.62616 232.1864 l -413.41394 233.82027 l -411.67465 235.82309 l -410.19888 237.00896 l -407.98526 238.45836 l -406.6676 239.56519 l -405.03375 241.35716 l -404.7175 242.1214 l -404.40128 242.46399 l -403.34717 243.04375 l -402.97824 243.64986 l -402.45117 243.75526 l -402.24036 244.80939 l -401.76599 245.38914 l -401.50247 246.3642 l -400.87 246.83855 l -400.23755 248.65689 l -400.29025 249.47383 l -401.23895 250.00089 l -401.29166 250.39618 l -400.87 251.26581 l -400.9754 251.71381 l -400.87 252.42534 l -401.39706 253.34769 l -401.97684 254.77074 l -402.50388 255.11333 l -402.7674 255.77214 l -402.71469 257.22156 l -402.8728 258.51282 l -402.92554 260.77917 l -403.18906 261.51706 l -402.7674 262.5448 l -402.18765 263.57257 l -401.23895 264.46857 l -399.9213 265.02197 l -398.28745 265.73349 l -396.60086 267.31467 l -396.07379 267.57819 l -395.01968 268.63229 l -394.43994 268.97488 l -394.2818 270.00266 l -395.01968 271.10947 l -395.2832 271.9791 l -395.2832 272.40076 l -395.54675 272.34805 l -395.49405 273.77109 l -395.2832 274.45627 l -395.59946 274.69345 l -395.38864 275.3259 l -394.80887 275.8266 l -393.59665 276.3273 l -391.80466 277.11789 l -391.17218 277.6713 l -391.33029 278.2774 l -391.69925 278.38281 l -391.54111 279.14706 l -391.17218 280.20117 l -391.01407 281.43976 l -390.64514 282.09857 l -389.64371 282.83646 l -389.38019 283.04727 l -388.74771 283.78516 l -388.32608 284.54938 l -387.48279 285.57715 l -385.84891 287.10559 l -384.7948 287.97525 l -383.68799 288.63406 l -382.15955 289.21381 l -381.42166 289.29288 l -381.26355 289.68817 l -380.36755 289.47736 l -379.62967 289.74088 l -378.04849 289.47736 l -377.1525 289.6618 l -376.52005 289.58276 l -375.04428 290.16251 l -373.77936 290.37335 l -372.88336 290.92676 l -372.19818 290.97946 l -371.61841 290.45239 l -371.09137 290.42606 l -370.45889 289.76724 l -370.40619 289.97806 l -370.19537 289.58276 l -370.19537 288.7131 l -369.72101 287.73807 l -370.19537 287.47455 l -370.19537 286.34137 l -369.19397 284.97101 l -368.45609 283.73245 l -367.40198 281.83505 l -366.34787 280.72821 l -365.7681 279.64777 l -365.45187 278.2247 l -365.08292 277.17059 l -364.60858 274.9306 l -364.55588 273.16498 l -364.39777 272.37439 l -363.81799 271.76828 l -363.0274 270.55606 l -362.28952 268.79041 l -361.9733 267.86807 l -360.76108 266.44501 l -360.65567 265.3382 l -360.55026 264.41586 l -360.76108 263.12457 l -361.23541 261.78058 l -361.34082 261.1481 l -361.81519 259.83047 l -362.13141 259.22437 l -362.9747 258.27567 l -363.44907 257.61682 l -363.60718 256.53638 l -363.55447 255.71944 l -363.08011 255.19238 l -362.71118 254.29639 l -362.34222 253.42674 l -362.44766 253.1105 l -362.86929 252.53075 l -362.44766 251.1077 l -362.13141 250.13264 l -361.39352 249.2103 l -361.55167 248.92041 l -361.34082 248.47241 l -360.91919 247.3656 l -359.75967 245.83714 l -358.2312 244.33504 l -357.2825 243.14915 l -356.38651 241.6207 l -356.43921 241.14635 l -356.75546 240.672 l -357.12439 239.61789 l -357.38791 238.51106 l -357.12439 238.30025 l -357.65146 236.66637 l -357.86227 235.50685 l -357.2825 234.5318 l -356.59732 234.29462 l -356.2811 233.6358 l -355.91217 233.42499 l -355.96487 233.00334 l -354.4364 233.5304 l -353.85663 233.45134 l -353.32959 233.79391 l -352.11737 233.76756 l -351.32678 232.84521 l -350.85242 231.79111 l -349.85101 230.81606 l -348.7442 230.84241 l -347.42657 230.84241 l -346.21432 231.00052 l -345.05481 231.31676 l -342.73578 232.1864 l -341.94519 232.6871 l -340.62753 233.10875 l -339.30991 232.6871 l -338.67743 232.71346 l -337.62332 232.42357 l -336.67462 232.42357 l -334.93533 232.6871 l -333.93393 233.10875 l -332.51089 233.66216 l -332.19467 233.60945 l -331.82571 233.6358 l -330.29724 232.92427 l -328.97961 231.81746 l -327.71469 231.00052 l -326.76599 230.07817 l -326.34433 229.94641 l -325.29022 229.36665 l -324.55234 228.57607 l -324.28882 228.04901 l -324.13071 226.96855 l -323.44553 226.09891 l -322.91849 225.51915 l -322.49683 225.33467 l -322.1806 225.0448 l -321.96979 224.41232 l -321.75894 224.06975 l -321.33731 223.83257 l -320.54672 223.22646 l -319.96698 223.12105 l -319.59802 222.72575 l -319.65073 222.48857 l -319.17639 222.17235 l -319.07098 221.88246 l -318.86014 220.7493 l -319.01828 220.09047 l -318.43851 218.95731 l -317.70062 218.43025 l -318.3331 218.16672 l -319.07098 217.13896 l -319.38721 216.37473 l -319.2818 215.58415 l -319.70343 214.87262 l -319.86154 213.50227 l -319.70343 212.05287 l -83.582512 140.162491 m -80 139.056122 l -80 263.5195 m -80.314766 263.4408 l -80.103951 264.15231 l -80 264.23029 l -527.89044 252.34628 m -528.89185 252.29358 l -529.36615 252.1091 l -529.89325 252.29358 l -529.36615 252.68886 l -527.83771 253.32133 l -526.62549 253.74298 l -525.67676 254.84979 l -524.41187 255.16603 l -524.25372 254.98155 l -524.35913 254.48085 l -524.99158 253.61121 l -526.46735 253.0051 l -526.62549 252.66251 l -527.89044 252.34628 l -80 364.00339 m -80.103951 364.02936 l -81.368881 363.15973 l -84.004158 363.63406 l -85.743439 363.10703 l -86.112381 363.13336 l -88.220604 363.73947 l -90.0653 363.13336 l -90.434235 363.05432 l -94.703384 362.79077 l -96.126442 363.13336 l -96.811607 363.31784 l -98.972542 363.79221 l -103.136276 364.18747 l -106.456726 364.63547 l -112.096222 364.97806 l -116.312668 364.58276 l -122.531929 364.87265 l -126.063202 365.32065 l -129.910706 364.89902 l -134.021744 364.50372 l -134.337967 363.79221 l -128.540359 363.73947 l -123.849564 363.39691 l -122.584633 362.81714 l -118.684418 362.50092 l -118.947945 361.84207 l -119.475006 361.26233 l -120.00206 360.70892 l -119.738533 360.10281 l -117.314072 359.70752 l -116.154556 359.18045 l -113.888214 358.73245 l -117.472191 358.81152 l -120.845345 358.57434 l -122.953568 359.07504 l -125.588852 358.62704 l -127.960602 358.10001 l -129.172821 357.59927 l -128.645767 356.99316 l -126.748367 356.59787 l -124.58744 356.17624 l -121.583229 356.09717 l -118.947945 355.88635 l -116.101845 355.75461 l -115.153145 355.20117 l -113.255745 354.72684 l -112.148933 354.22614 l -111.674583 352.56592 l -112.41246 352.69766 l -113.730095 353.17203 l -116.101845 353.01392 l -118.420891 352.80307 l -119.633118 353.43555 l -121.952164 353.30377 l -123.902267 352.98755 l -125.746964 352.59225 l -127.43354 352.09155 l -129.594467 351.95978 l -129.541763 351.40637 l -129.067413 350.85297 l -129.489059 350.35226 l -131.386459 350.08875 l -132.229752 350.58945 l -134.44339 350.29956 l -136.129959 349.93063 l -138.23819 349.87793 l -140.240997 349.74615 l -142.191101 349.40356 l -143.772263 349.08734 l -145.564255 348.77112 l -146.723785 348.85016 l -147.725189 348.98193 l -149.886108 348.77112 l -151.836212 349.03464 l -153.839035 349.00827 l -155.789139 348.79745 l -157.739243 348.95557 l -159.900177 349.08734 l -161.955688 349.03464 l -164.063904 349.06097 l -166.277542 349.08734 l -168.28035 349.03464 l -169.7561 348.58664 l -171.5481 348.37582 l -173.39279 348.69205 l -175.13208 348.42853 l -176.71324 347.90146 l -177.66194 348.37582 l -178.13629 348.87653 l -179.08499 349.37723 l -180.61345 348.95557 l -182.35274 349.48264 l -184.35555 349.66711 l -186.04213 350.06238 l -188.09764 349.98334 l -189.99504 349.71982 l -192.15598 349.77252 l -194.15878 349.98334 l -196.16159 350.24686 l -196.95218 349.61441 l -196.00348 349.11368 l -195.26561 348.58664 l -193.36821 348.48123 l -192.57762 347.92783 l -192.26138 347.40076 l -191.73433 346.29395 l -192.84114 346.50476 l -194.73854 346.58383 l -196.63594 346.50476 l -198.37523 346.74194 l -199.85098 347.16357 l -200.48346 347.69064 l -202.48627 347.76971 l -204.38367 347.55887 l -206.38647 347.26901 l -208.17847 347.11087 l -209.65422 347.45346 l -211.60432 347.34805 l -212.86926 346.21487 l -214.08148 346.87372 l -215.76807 347.13724 l -217.56006 347.00546 l -218.77228 347.55887 l -220.7224 347.61157 l -222.46167 347.79605 l -224.25366 348.11227 l -225.36047 347.55887 l -225.94025 347.05817 l -227.416 347.61157 l -229.41881 347.47983 l -230.89456 347.79605 l -231.89597 348.29675 l -233.84607 348.13864 l -235.37454 347.82242 l -236.903 347.45346 l -238.64229 347.24265 l -240.6978 347.08453 l -242.5952 346.87372 l -244.01825 346.55746 l -244.86154 346.10947 l -245.23048 345.47702 l -245.07236 344.87088 l -244.59801 344.29114 l -244.07095 343.71136 l -243.5966 343.15796 l -243.22766 342.63092 l -243.17496 342.05115 l -243.28036 341.49774 l -243.96555 340.94434 l -244.5453 340.33823 l -244.80884 339.75845 l -244.4926 339.12598 l -244.33449 338.57257 l -245.07236 337.88742 l -245.86295 337.46576 l -246.81165 336.91235 l -247.81305 336.46436 l -248.97256 336.04272 l -249.55234 335.41025 l -250.34291 335.01495 l -251.29161 334.61966 l -252.66196 334.54062 l -253.61066 334.09262 l -254.61206 333.80273 l -255.8243 333.61826 l -256.87842 333.24933 l -257.72171 332.80133 l -258.88123 332.61685 l -259.72452 332.98578 l -259.19745 333.48648 l -257.66898 333.90814 l -257.08923 334.22437 l -255.98241 333.98718 l -254.77019 334.14532 l -253.76878 334.48788 l -252.71466 334.85684 l -251.97679 335.27847 l -251.76596 335.85825 l -251.87138 336.41165 l -252.55655 336.88602 l -251.55515 337.22858 l -250.1848 337.36035 l -249.39421 337.83472 l -248.49821 338.30905 l -247.60223 338.94153 l -247.3914 339.46857 l -247.86575 340.07468 l -248.65634 340.54904 l -249.86856 340.89163 l -250.97539 341.33963 l -251.60785 341.91937 l -251.92409 342.47278 l -252.34573 343.02621 l -253.0309 343.52692 l -253.45255 344.05396 l -253.66336 345.42432 l -254.08501 345.95135 l -254.19043 346.53113 l -254.66478 347.11087 l -254.45395 347.87512 l -253.66336 348.48123 l -252.76738 348.98193 l -250.81726 349.16641 l -250.1848 349.69345 l -249.2888 350.16782 l -247.07516 350.72122 l -245.12506 350.95837 l -243.28036 351.27463 l -241.33026 351.59085 l -240.17075 352.19696 l -237.799 352.24966 l -235.21642 352.19696 l -232.89737 352.30237 l -230.42021 352.30237 l -230.89456 352.88214 l -233.1082 353.11932 l -234.74207 353.54095 l -235.69077 354.04166 l -234.0569 354.51602 l -231.52702 354.35791 l -229.41881 354.72684 l -229.3134 355.33295 l -229.2607 355.91272 l -230.99997 356.41342 l -231.31621 356.94046 l -233.1609 357.49387 l -236.27054 357.73105 l -238.90581 358.12634 l -241.01404 358.57434 l -243.64931 359.04871 l -247.3387 359.25952 l -250.92268 359.68115 l -253.39984 360.10281 l -256.14053 360.57715 l -257.56357 361.28867 l -258.24875 361.81573 l -260.04074 361.31503 l -262.46521 360.86703 l -264.99506 360.41904 l -268.05197 360.05011 l -270.63455 359.65482 l -274.27124 359.60211 l -277.85522 359.81293 l -280.80673 360.15552 l -281.75543 359.52304 l -283.81094 359.10141 l -287.50034 359.07504 l -290.39914 358.75882 l -293.13983 358.44257 l -296.19675 358.23175 l -299.46451 357.96823 l -301.73083 357.59927 l -300.67673 357.09857 l -300.04425 356.57153 l -300.04425 356.01813 l -297.19815 356.09717 l -294.19394 356.30801 l -291.34784 356.30801 l -290.92621 355.78094 l -291.13702 354.67413 l -291.7695 354.35791 l -293.87772 354.01532 l -296.35486 353.67273 l -298.14685 353.25107 l -299.88614 352.80307 l -301.2038 352.24966 l -303.2066 351.98615 l -305.20941 351.77533 l -306.21082 351.66992 l -308.47714 351.61722 l -310.63809 351.40637 l -312.43008 351.11652 l -314.22205 350.77393 l -315.80322 350.43134 l -317.85873 349.98334 l -319.12369 349.48264 l -320.49402 349.06097 l -320.96838 348.48123 l -319.38721 348.13864 l -319.91425 347.53253 l -320.86295 347.08453 l -322.39142 346.79465 l -324.0253 346.45206 l -325.50104 345.97772 l -326.66058 345.42432 l -327.34573 344.73914 l -328.45258 344.31747 l -330.19183 344.42291 l -330.87701 344.89725 l -332.66901 344.94995 l -332.72171 344.42291 l -333.45959 343.84314 l -335.04077 343.97491 l -335.4097 344.52832 l -337.14899 344.60736 l -339.04639 344.34384 l -340.89108 344.18573 l -342.52493 344.26477 l -343.15741 344.87088 l -344.79129 344.37018 l -346.26703 344.13303 l -347.90091 343.92218 l -349.53479 343.71136 l -351.06326 343.36877 l -352.69711 343.15796 l -353.96207 342.84174 l -354.85806 342.31467 l -355.91217 342.68362 l -357.44061 342.49915 l -358.49472 343.18433 l -359.33801 343.68503 l -361.0246 343.39514 l -361.65707 342.84174 l -363.13281 342.42007 l -365.08292 342.52548 l -365.66269 343.05255 l -366.8222 342.52548 l -368.40338 342.34103 l -370.14267 342.28833 l -371.67111 342.31467 l -373.30499 342.49915 l -374.88617 342.57822 l -375.57135 343.05255 l -376.52005 343.50055 l -378.1539 343.23703 l -379.84048 343.18433 l -381.52707 343.18433 l -383.16095 343.15796 l -384.63669 342.94714 l -386.16516 342.78903 l -387.48279 342.36737 l -388.85315 342.10385 l -390.32889 341.97208 l -391.4357 341.57678 l -392.22629 340.75986 l -393.06958 340.28552 l -394.59805 340.52267 l -395.1778 341.02338 l -396.44275 341.36597 l -397.97119 341.26056 l -398.9726 341.76126 l -400.07944 342.15656 l -401.55518 341.81396 l -402.08224 341.18152 l -403.39987 340.91797 l -404.92834 340.41727 l -406.35138 340.23282 l -408.09067 339.94293 l -409.25018 339.62668 l -410.4097 339.28412 l -411.56924 338.96786 l -412.93958 339.12598 l -414.25723 338.62527 l -415.20593 338.20364 l -416.57626 338.25635 l -417.78848 337.88742 l -418.10474 337.38672 l -419.31696 336.99142 l -420.52917 336.70154 l -422.00494 336.46436 l -423.32257 336.35895 l -424.64023 336.43802 l -426.01056 336.56976 l -427.17007 336.99142 l -427.32819 337.62387 l -428.59314 338.09824 l -429.48914 338.49353 l -431.22842 338.67798 l -432.22983 339.07327 l -433.44205 339.46857 l -434.81238 339.57397 l -436.02463 339.28412 l -437.28955 338.67798 l -438.65988 338.99423 l -440.08295 339.15234 l -441.45328 339.33682 l -442.87634 339.44223 l -444.35208 339.44223 l -445.56433 340.97067 l -445.51163 341.33963 l -445.30078 341.99844 l -443.93045 342.36737 l -442.77094 342.92078 l -442.98175 343.50055 l -444.61563 343.47418 l -444.40482 344.02762 l -443.66693 344.58102 l -442.98175 345.18713 l -444.08856 345.63513 l -445.77515 345.79324 l -447.46173 345.52972 l -448.25232 344.94995 l -448.77936 344.42291 l -449.56995 343.94855 l -450.46594 343.52692 l -450.83487 342.99985 l -451.62546 342.28833 l -452.57416 342.15656 l -454.20804 342.07751 l -455.68378 341.91937 l -457.15955 341.68222 l -457.89743 341.10245 l -458.31906 340.57538 l -459.32047 340.02197 l -460.74353 339.65305 l -461.95575 339.36316 l -462.79904 338.86246 l -463.58963 338.62527 l -464.69644 338.38812 l -466.11951 338.51987 l -467.43713 338.38812 l -468.9129 338.20364 l -470.49405 338.30905 l -471.54816 337.88742 l -472.28604 336.91235 l -472.86581 337.33398 l -473.55096 338.01917 l -474.76321 338.30905 l -476.18625 338.41446 l -477.55661 338.25635 l -479.08505 338.36176 l -480.45541 338.38812 l -481.35141 338.25635 l -482.61633 338.33542 l -483.72314 338.65164 l -485.0408 338.44083 l -486.62195 338.44083 l -487.93961 338.25635 l -489.46805 338.44083 l -490.46945 337.96646 l -491.20734 337.46576 l -492.20874 337.07047 l -494.05344 335.99002 l -495.00214 336.17447 l -496.10895 336.56976 l -497.05765 337.09683 l -498.95505 337.99283 l -500.37811 338.01917 l -501.69574 338.01917 l -503.27692 337.83472 l -504.85809 337.65024 l -506.07031 337.22858 l -507.07172 336.80695 l -508.7056 336.75424 l -509.81241 336.43802 l -510.97192 336.72787 l -511.70981 337.17587 l -512.71118 337.65024 l -514.34509 337.57117 l -515.3465 337.96646 l -517.08575 338.33542 l -518.93048 338.46716 l -520.45892 338.36176 l -521.56573 337.88742 l -522.56714 337.43942 l -523.88477 337.33398 l -525.20245 337.51846 l -526.7309 337.67657 l -528.10126 337.43942 l -529.41888 337.43942 l -530.68384 337.57117 l -532.05414 337.72928 l -533.37177 337.46576 l -534.95294 337.22858 l -536.42871 337.17587 l -538.1153 337.17587 l -539.43292 337.04413 l -540.75055 336.91235 l -541.17224 336.20084 l -541.22491 335.59473 l -542.12091 336.01636 l -542.38446 336.67517 l -542.9115 337.28128 l -543.49127 337.75565 l -544.70349 338.01917 l -546.39008 337.94012 l -548.28748 337.88742 l -549.6051 337.80835 l -551.55524 337.80835 l -552.92554 337.78198 l -554.82294 337.83472 l -556.45685 337.96646 l -557.51093 338.41446 l -557.24744 338.96786 l -558.19611 339.38953 l -559.77728 339.73212 l -561.41113 340.10104 l -563.25586 340.36456 l -565.25867 340.60175 l -566.73444 340.81256 l -568.42102 340.86526 l -569.36969 340.36456 l -570.63464 340.75986 l -571.74146 341.23422 l -573.05908 341.57678 l -574.85107 341.70856 l -576.53766 341.89304 l -577.22284 342.47278 l -578.90942 342.81537 l -580.01624 343.31607 l -581.65009 343.55325 l -583.33667 343.52692 l -584.91785 343.60596 l -586.6571 343.57962 l -588.4491 343.68503 l -590.08301 343.89584 l -591.55872 344.23843 l -593.08722 344.52832 l -594.1413 344.94995 l -593.98322 345.52972 l -593.19263 346.05676 l -592.50745 346.71558 l -592.03308 347.21628 l -591.29523 347.82242 l -589.39783 348.05957 l -588.5545 348.56027 l -586.6571 348.87653 l -585.97192 349.45627 l -584.97052 350.00967 l -583.91644 350.45767 l -583.33667 351.06381 l -582.96771 351.61722 l -582.80963 352.27603 l -582.80963 352.80307 l -583.65289 353.38284 l -583.96912 353.93625 l -584.6543 354.46332 l -587.39502 354.64777 l -587.97473 355.28024 l -585.33948 355.51743 l -583.07312 355.83365 l -580.33246 355.88635 l -579.0675 356.72964 l -578.80402 357.41483 l -578.17151 357.94186 l -577.43365 358.49527 l -579.38373 358.99597 l -580.12164 359.57574 l -581.38654 360.12915 l -583.12585 360.62985 l -585.18134 361.07785 l -587.39502 361.52585 l -590.76813 362.00021 l -591.50604 362.71173 l -595.72247 363.02795 l -595.98602 363.13336 l -597.09283 363.58136 l -601.15112 363.21243 l -604.47162 363.66043 l -607 364.00281 l -80 139.056122 m -83.582512 140.162491 l -87.430023 141.611893 l -87.271904 142.534241 l -88.273308 142.903183 l -87.957077 141.822708 l -91.909996 142.033539 l -94.8088 143.403885 l -93.333046 144.062698 l -90.908585 144.194458 l -90.908585 145.64386 l -90.328827 145.933746 l -88.958481 145.907394 l -87.798958 145.380341 l -85.901558 144.958694 l -85.532623 144.326233 l -84.056862 144.08905 l -82.422989 144.273514 l -81.579704 143.772812 l -81.895935 143.219406 l -80.156654 143.561996 l -80.841827 144.247162 l -80 144.87854 l -80 135.313019 m -80.209358 135.234512 l -81.421585 135.260864 l -83.529808 135.656158 l -83.4244 135.866989 l -81.895935 136.209564 l -80 136.314896 l -607 136.315048 m -605.42029 136.394043 l -605.1568 135.919693 l -607 135.314056 l -607 264.23196 m -606.05273 264.60031 l -605.1568 264.91656 l -604.94592 264.36316 l -605.68384 264.04691 l -606.1582 263.96786 l -607 263.52063 l -253.9269 315.90918 m -255.66618 315.01318 l -256.93112 315.38214 l -257.77441 314.80237 l -258.93393 315.46118 l -258.51227 315.98825 l -256.56216 316.40988 l -255.877 315.90918 l -254.66478 316.56799 l -253.9269 315.90918 l -444.40482 311.19205 m -445.35352 311.64005 l -446.72385 311.82449 l -446.77655 312.11438 l -446.40762 312.77319 l -444.14127 312.87863 l -444.08856 312.08804 l -444.29938 311.48193 l -444.40482 311.19205 l -604.2608 265.62808 m -604.6297 265.3909 l -605.10406 265.81256 l -604.89325 266.57678 l -603.99725 266.76126 l -603.15393 266.60312 l -603.04852 265.94431 l -603.57562 265.4436 l -604.2608 265.62808 l -253.18901 224.25421 m -254.0323 224.06975 l -254.34854 224.12245 l -254.29584 225.20291 l -253.0836 225.36102 l -252.82008 225.22926 l -253.24173 224.83397 l -253.18901 224.25421 l -115.996437 210.60347 m -116.259964 210.73523 l -116.523491 210.91971 l -116.892433 211.44676 l -116.839722 211.52582 l -116.259964 211.84206 l -115.785614 212.05287 l -115.574791 212.31641 l -115.205849 212.10558 l -115.25856 211.68393 l -115.047737 211.15688 l -115.100441 210.99876 l -115.363968 210.76158 l -115.25856 210.47171 l -115.311264 210.33995 l -115.469383 210.3663 l -115.996437 210.60347 l -115.153145 209.60207 m -114.995033 209.78653 l -114.520683 209.89195 l -114.257149 209.57571 l -114.099037 209.44395 l -114.099037 209.3649 l -114.257149 209.23312 l -114.731499 209.39125 l -115.153145 209.60207 l -114.046333 208.99596 m -113.993622 209.15407 l -113.203041 209.12772 l -113.308449 208.94325 l -114.046333 208.99596 l -112.148933 208.20537 m -112.307045 208.31078 l -112.728691 208.78513 l -112.623283 208.86418 l -112.517868 208.86418 l -112.043518 208.81148 l -111.832695 208.4689 l -111.779991 208.4162 l -112.148933 208.20537 l -110.198822 207.46748 m -110.251526 207.81007 l -110.04071 207.9682 l -109.56636 207.70467 l -109.619064 207.59926 l -109.882591 207.44113 l -110.198822 207.46748 l -229.04987 203.09293 m -229.47151 203.14563 l -229.99857 204.35786 l -229.99857 205.22751 l -229.62962 205.28021 l -229.2607 204.43692 l -228.73364 204.01527 l -229.04987 203.09293 l -227.89035 200.77388 m -228.57552 200.66847 l -229.52422 200.72118 l -229.57692 201.09012 l -227.99576 201.32729 l -227.89035 200.77388 l -229.62962 200.40495 m -230.78915 201.06377 l -230.52562 202.11787 l -230.2621 201.93341 l -230.2621 201.16917 l -229.62962 200.58942 l -229.62962 200.40495 l -249.76315 171.15335 m -250.29021 171.86488 l -251.34433 172.04935 l -252.71466 172.02299 l -251.97679 172.60277 l -251.44974 172.70818 l -249.60504 172.0757 l -249.2361 171.60135 l -249.76315 171.15335 l -411.83276 174.68463 m -413.30853 173.18253 l -414.73157 172.94534 l -415.36404 172.0757 l -416.73438 171.75948 l -418.42096 171.127 l -419.68588 171.49594 l -421.16165 171.41689 l -421.42517 172.31288 l -421.16165 173.73593 l -419.84399 173.5251 l -418.63177 173.76228 l -418.57907 174.84274 l -417.15604 174.68463 l -417.20874 175.18533 l -417.99933 175.55428 l -418.68448 176.84557 l -420.37106 177.34627 l -420.63458 177.87332 l -420.26566 178.47943 l -420.37106 178.82202 l -420.79269 179.77072 l -420.95084 178.71661 l -422.16306 178.34767 l -422.58469 179.1646 l -423.63879 180.06059 l -422.32117 180.50859 l -420.95084 180.16602 l -420.63458 181.40459 l -421.63599 181.48364 l -421.21436 182.48505 l -422.37387 182.98576 l -422.16306 184.51422 l -422.42657 185.54198 l -422.32117 185.88457 l -420.00214 186.27986 l -417.94659 186.01633 l -416.89249 185.27844 l -415.52216 184.98857 l -415.04779 183.90811 l -414.99509 183.17023 l -415.57486 182.82764 l -415.78568 182.32693 l -416.04919 181.19377 l -417.26144 181.062 l -416.83978 180.66672 l -416.15463 180.61401 l -415.41675 179.55989 l -414.62616 178.79567 l -413.04498 177.08273 l -413.15039 176.08133 l -411.83276 174.68463 l -249.02528 166.989624 m -249.55234 166.857849 l -251.50244 167.226791 l -252.9782 167.85925 l -253.0309 168.12279 l -252.29303 168.14914 l -250.39563 167.674789 l -249.02528 166.989624 l -225.94025 149.122437 m -226.4673 148.674438 l -227.09976 148.70079 l -227.4687 149.017029 l -226.88895 149.78125 l -226.25647 149.64949 l -225.83482 149.201492 l -225.94025 149.122437 l -220.56427 148.569031 m -221.61838 147.910202 l -223.6212 147.910202 l -223.6212 148.200089 l -221.88191 149.017029 l -220.88051 148.96431 l -220.56427 148.569031 l -233.37172 141.269302 m -232.42302 141.690948 l -230.78915 141.770004 l -230.42021 141.058487 l -231.05267 140.241547 l -232.42302 140.030716 l -233.52985 140.452362 l -233.58255 141.058487 l -233.37172 141.269302 l -202.17003 138.001556 m -203.48767 138.844849 l -202.59167 139.345551 l -200.58887 138.897552 l -199.42934 139.055664 l -197.42653 138.396851 l -198.69147 137.948853 l -199.69287 137.316391 l -201.27403 137.738037 l -202.17003 138.001556 l -187.57059 133.020889 m -189.20447 133.626999 l -190.10046 135.050049 l -190.57481 136.077805 l -193.05197 136.789337 l -195.68724 137.500854 l -195.52913 138.133316 l -193.10468 138.265091 l -194.05338 138.818497 l -193.52632 139.345551 l -190.89104 139.134735 l -188.36118 138.739441 l -186.67459 138.818497 l -183.93391 139.319199 l -180.24452 139.530014 l -177.60924 139.661789 l -176.81865 138.976608 l -174.81584 138.581314 l -173.55092 138.739441 l -171.70622 137.57991 l -172.70763 137.421799 l -174.97397 137.184616 l -177.02948 137.237335 l -178.92688 137.000153 l -176.08078 136.657562 l -172.97115 136.762985 l -170.91563 136.736618 l -170.12505 136.183212 l -173.4982 135.603455 l -171.28458 135.629807 l -168.702 135.234512 l -169.91423 134.154053 l -170.96834 133.574295 l -174.86855 132.678299 l -176.39702 132.96817 l -175.65913 133.653351 l -178.87418 133.205353 l -180.92969 133.943237 l -182.56357 133.205353 l -183.93391 133.679703 l -185.14613 135.102753 l -185.88402 134.496643 l -184.8299 132.994537 l -186.09483 132.783707 l -187.57059 133.020889 l -226.73082 133.416168 m -225.09695 132.651947 l -225.14966 132.124893 l -225.88754 132.01947 l -229.20799 132.177597 l -231.73785 132.994537 l -231.89597 133.389816 l -230.3148 133.337112 l -228.73364 133.31076 l -227.15247 133.521591 l -226.73082 133.416168 l -548.23474 132.599243 m -549.65784 132.01947 l -551.44983 131.887711 l -553.55804 132.441116 l -553.71613 132.836411 l -551.5025 132.836411 l -548.49829 132.678299 l -548.23474 132.599243 l -560.46246 129.700439 m -564.15186 130.095718 l -562.46527 130.675491 l -560.14624 130.543716 l -557.40552 129.963959 l -557.77448 129.489609 l -560.46246 129.700439 l -546.75903 128.540909 m -550.60651 128.619965 l -555.87708 129.384201 l -554.71753 130.464661 l -549.34155 130.438309 l -546.91711 130.780899 l -544.01831 129.832199 l -544.8089 128.830795 l -546.75903 128.540909 l -199.21852 127.882088 m -199.32393 127.697624 l -200.43076 128.356445 l -200.48346 129.120667 l -199.79828 130.201141 l -197.37383 130.359253 l -195.79266 130.12207 l -195.84537 129.278793 l -193.47362 129.384201 l -193.36821 128.251022 l -194.94937 128.303741 l -197.11029 127.803032 l -199.21852 127.882088 l -494.05344 123.929176 m -497.74283 124.772461 l -497.3212 125.378578 l -489.04642 125.931984 l -491.73441 124.008232 l -492.94662 123.850113 l -494.05344 123.929176 l -480.77164 121.399307 m -483.93396 121.056717 l -486.78006 121.794601 l -490.15323 123.217651 l -489.7843 124.535286 l -486.62195 124.719757 l -482.51093 124.298111 l -480.08646 123.718353 l -478.97964 122.69059 l -476.97684 122.400711 l -480.77164 121.399307 l -202.96062 122.005417 m -203.96202 121.557426 l -205.43777 121.452011 l -204.80531 121.109428 l -208.23117 121.056717 l -210.07587 121.820953 l -214.97748 122.427063 l -216.13701 123.375763 l -217.8763 123.850113 l -215.87347 124.298111 l -213.1855 125.40493 l -210.55022 125.510338 l -207.54601 125.325874 l -205.96483 124.719757 l -205.96483 124.192703 l -207.12436 123.797409 l -204.48907 123.797409 l -202.85521 123.323059 l -201.90651 122.664238 l -202.96062 122.005417 l -209.44341 120.108017 m -211.60432 119.84449 l -213.29091 119.791786 l -216.18971 119.554611 l -218.35065 119.001205 l -220.14262 119.080261 l -221.7238 119.501907 l -222.83061 118.711319 l -224.78072 118.474144 l -227.416 118.316032 l -231.89597 118.236969 l -232.63385 118.395088 l -236.903 118.157913 l -240.06534 118.236969 l -243.22766 118.342384 l -247.12788 118.447792 l -250.29021 118.632263 l -252.9782 119.027557 l -252.87279 119.422844 l -249.34151 120.055313 l -245.75754 120.371544 l -244.4399 120.687782 l -247.65494 120.687782 l -244.17636 121.583778 l -241.80461 121.979065 l -239.27475 123.191292 l -236.27054 123.428467 l -235.32184 123.718353 l -230.89456 123.876465 l -232.95009 124.060936 l -231.89597 124.324463 l -233.1082 125.035988 l -231.73785 125.53669 l -229.47151 125.958336 l -228.78635 126.538101 l -226.73082 126.986099 l -226.94165 127.30233 l -229.47151 127.249626 l -229.47151 127.592209 l -225.5713 128.488205 l -221.7238 128.066559 l -217.45465 128.303741 l -215.24101 128.119263 l -212.50032 128.040207 l -212.28951 127.355034 l -215.03018 127.012451 l -214.29231 125.958336 l -215.18831 125.852928 l -219.08852 126.48539 l -217.08571 125.563049 l -214.71396 125.273163 l -215.92618 124.693405 l -218.50876 124.350815 l -218.9304 123.850113 l -216.87488 123.270355 l -216.24242 122.532478 l -220.24805 122.585182 l -221.40756 122.743301 l -223.6739 122.21624 l -220.40616 122.031776 l -215.24101 122.137184 l -212.65843 121.636482 l -211.44621 121.056717 l -209.75963 120.608727 l -209.44341 120.108017 l -275.06183 119.053909 m -279.96344 118.157913 l -285.0759 118.236969 l -286.9733 117.683563 l -292.13843 117.551804 l -303.83905 117.736267 l -313.00983 118.89579 l -310.26913 119.449203 l -304.68234 119.528259 l -296.77652 119.660019 l -297.5144 119.923553 l -302.73224 119.765434 l -307.10681 120.266136 l -309.95291 119.818138 l -311.16513 120.345192 l -309.58398 121.188484 l -313.32605 120.66143 l -320.44131 120.081665 l -324.81589 120.371544 l -325.60648 121.004013 l -319.65073 122.031776 l -318.80743 122.374359 l -314.16934 122.637886 l -317.54251 122.69059 l -315.85593 123.771057 l -314.64371 124.719757 l -314.69641 126.35363 l -316.4357 127.30233 l -314.16934 127.355034 l -311.7449 127.829384 l -314.4856 128.593613 l -314.80182 129.832199 l -313.22064 129.990311 l -315.11804 131.228897 l -311.90302 131.334305 l -313.5896 131.940414 l -313.11523 132.467468 l -311.05972 132.678299 l -309.00421 132.678299 l -310.84891 133.679703 l -310.84891 134.338516 l -307.9501 133.732407 l -307.21222 134.127701 l -309.16232 134.470291 l -311.11243 135.366287 l -311.6395 136.552155 l -309.05692 136.842041 l -307.8974 136.262268 l -306.10541 135.445343 l -306.63245 136.420395 l -304.89319 137.184616 l -308.74069 137.263687 l -310.7962 137.342743 l -306.84329 138.607666 l -302.89035 139.767197 l -298.62122 140.267899 l -296.98734 140.267899 l -295.45889 140.847656 l -293.45605 142.376114 l -290.29373 143.403885 l -289.29233 143.482941 l -287.34222 143.825516 l -285.23401 144.168106 l -283.96906 145.090454 l -283.96906 146.11821 l -283.1785 147.06691 l -280.80673 148.22644 l -281.38651 149.385956 l -280.75403 150.59819 l -280.01614 152.02124 l -277.96063 152.100296 l -275.79971 150.914429 l -272.84821 150.914429 l -271.42514 150.097488 l -270.47644 148.674438 l -267.89386 146.856094 l -267.15601 145.907394 l -266.99786 144.589752 l -264.94235 143.245758 l -265.46942 142.165298 l -264.52072 141.638245 l -265.94376 139.925308 l -268.15741 139.398254 l -268.73715 138.765793 l -269.05341 137.632614 l -267.36682 138.159668 l -266.57623 138.370499 l -265.25861 138.581314 l -263.46661 138.106964 l -263.36121 137.10556 l -263.94095 136.314987 l -265.25861 136.314987 l -268.26282 136.683914 l -265.73294 135.761566 l -264.46802 135.260864 l -262.99225 135.471695 l -261.78003 135.102753 l -263.41391 133.732407 l -262.51791 133.205353 l -261.35837 132.177597 l -259.56638 130.622772 l -257.72171 130.069366 l -257.72171 129.463257 l -253.82149 128.593613 l -250.71185 128.488205 l -246.81165 128.540909 l -243.22766 128.646317 l -241.54109 128.198318 l -238.95851 127.275978 l -242.80602 126.801628 l -245.75754 126.722565 l -239.48557 126.35363 l -236.21782 125.747513 l -236.37595 125.194107 l -241.96274 124.482582 l -247.286 123.771057 l -247.86575 123.244003 l -243.91284 122.716942 l -245.17776 122.137184 l -250.29021 121.109428 l -252.39844 120.951309 l -251.76596 120.292488 l -255.24454 119.923553 l -259.77722 119.686378 l -264.25717 119.660019 l -265.83835 120.134369 l -269.73856 119.317436 l -273.21713 119.870842 l -275.27264 119.976257 l -278.32956 120.450607 l -274.85101 119.660019 l -275.06183 119.053909 l -187.46518 132.256653 m -189.41528 132.203949 l -190.52211 132.520187 l -189.25717 133.495239 l -186.93813 132.467468 l -187.46518 132.256653 l -S -80 108.250732 527 263.49854 re -S -/DeviceRGB {} CS -[0.2471 0.0157 0.6118] SC -/DeviceRGB {} cs -[0.2471 0.0157 0.6118] sc -440.87354 185.30479 m -441.71683 185.30479 l -442.77094 185.62103 l -443.24527 185.80551 l -444.29938 185.33116 l -444.77374 185.62103 l -445.24808 184.93587 l -446.14407 184.96222 l -446.35492 184.75139 l -446.51303 184.17163 l -447.14548 183.67093 l -447.93607 183.98717 l -447.77795 184.43517 l -448.25232 184.51422 l -448.09418 185.75279 l -448.67395 186.22714 l -449.20102 185.91092 l -449.83347 185.77914 l -450.72946 185.12033 l -451.73087 185.22574 l -453.25934 185.22574 l -453.52286 185.64738 l -452.67957 185.80551 l -451.94171 186.06903 l -450.25513 186.25349 l -448.67395 186.54338 l -447.83066 187.20221 l -448.14688 187.80832 l -448.35773 188.54619 l -447.61984 189.15231 l -447.67255 189.70572 l -447.25092 190.23277 l -445.88055 190.20642 l -446.46033 191.15512 l -445.51163 191.52406 l -444.87915 192.42006 l -444.98456 193.28969 l -444.40482 193.71133 l -443.87775 193.57957 l -442.71823 193.76404 l -442.56012 194.18568 l -441.50598 194.18568 l -440.66272 195.00262 l -440.60999 196.24121 l -438.71259 196.84732 l -437.71118 196.71556 l -437.39496 197.05814 l -436.55167 196.87367 l -435.07593 197.08449 l -432.59875 196.32027 l -433.91638 195.00262 l -433.81097 194.05392 l -432.70416 193.81676 l -432.59875 192.89441 l -432.12439 191.70853 l -432.75687 190.91794 l -432.12439 190.70712 l -432.49335 189.62666 l -433.12582 187.80832 l -434.60156 188.36172 l -435.70837 188.17726 l -436.02463 187.51843 l -437.18414 187.28127 l -437.97473 186.83327 l -438.29095 185.67374 l -439.50317 185.38387 l -439.76672 184.85681 l -440.45187 185.25209 l -440.87354 185.30479 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -440.87354 185.30479 m -441.71683 185.30479 l -442.77094 185.62103 l -443.24527 185.80551 l -444.29938 185.33116 l -444.77374 185.62103 l -445.24808 184.93587 l -446.14407 184.96222 l -446.35492 184.75139 l -446.51303 184.17163 l -447.14548 183.67093 l -447.93607 183.98717 l -447.77795 184.43517 l -448.25232 184.51422 l -448.09418 185.75279 l -448.67395 186.22714 l -449.20102 185.91092 l -449.83347 185.77914 l -450.72946 185.12033 l -451.73087 185.22574 l -453.25934 185.22574 l -453.52286 185.64738 l -452.67957 185.80551 l -451.94171 186.06903 l -450.25513 186.25349 l -448.67395 186.54338 l -447.83066 187.20221 l -448.14688 187.80832 l -448.35773 188.54619 l -447.61984 189.15231 l -447.67255 189.70572 l -447.25092 190.23277 l -445.88055 190.20642 l -446.46033 191.15512 l -445.51163 191.52406 l -444.87915 192.42006 l -444.98456 193.28969 l -444.40482 193.71133 l -443.87775 193.57957 l -442.71823 193.76404 l -442.56012 194.18568 l -441.50598 194.18568 l -440.66272 195.00262 l -440.60999 196.24121 l -438.71259 196.84732 l -437.71118 196.71556 l -437.39496 197.05814 l -436.55167 196.87367 l -435.07593 197.08449 l -432.59875 196.32027 l -433.91638 195.00262 l -433.81097 194.05392 l -432.70416 193.81676 l -432.59875 192.89441 l -432.12439 191.70853 l -432.75687 190.91794 l -432.12439 190.70712 l -432.49335 189.62666 l -433.12582 187.80832 l -434.60156 188.36172 l -435.70837 188.17726 l -436.02463 187.51843 l -437.18414 187.28127 l -437.97473 186.83327 l -438.29095 185.67374 l -439.50317 185.38387 l -439.76672 184.85681 l -440.45187 185.25209 l -440.87354 185.30479 l -h -S -/DeviceRGB {} CS -[0.9882 0.7412 0.1725] SC -/DeviceRGB {} cs -[0.9882 0.7412 0.1725] sc -374.25369 180.21872 m -374.25369 180.58765 l -373.77936 180.79848 l -373.67395 181.27283 l -372.98877 181.98434 l -372.72522 181.87894 l -372.72522 181.56271 l -371.93466 181.08836 l -371.77652 180.37683 l -371.88196 179.37543 l -372.09277 178.92743 l -371.88196 178.69025 l -371.77652 178.24226 l -372.409 177.50438 l -372.4617 177.79427 l -372.88336 177.66249 l -373.19958 178.05779 l -373.56851 178.18954 l -373.62122 178.71661 l -373.4631 179.21732 l -373.67395 179.84978 l -374.25369 180.21872 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -374.25369 180.21872 m -374.25369 180.58765 l -373.77936 180.79848 l -373.67395 181.27283 l -372.98877 181.98434 l -372.72522 181.87894 l -372.72522 181.56271 l -371.93466 181.08836 l -371.77652 180.37683 l -371.88196 179.37543 l -372.09277 178.92743 l -371.88196 178.69025 l -371.77652 178.24226 l -372.409 177.50438 l -372.4617 177.79427 l -372.88336 177.66249 l -373.19958 178.05779 l -373.56851 178.18954 l -373.62122 178.71661 l -373.4631 179.21732 l -373.67395 179.84978 l -374.25369 180.21872 l -h -S -/DeviceRGB {} CS -[0.9765 0.6 0.2431] SC -/DeviceRGB {} cs -[0.9765 0.6 0.2431] sc -330.77161 199.90424 m -330.82431 199.61436 l -330.82431 199.50896 l -330.82431 197.76967 l -333.14337 196.68921 l -334.61911 196.47838 l -335.83133 196.08308 l -336.4111 195.34521 l -338.09769 194.76546 l -338.15039 193.68498 l -338.99368 193.55322 l -339.67883 193.02617 l -341.57623 192.76263 l -341.83978 192.20923 l -341.47083 191.89299 l -340.94379 190.33818 l -340.89108 189.44218 l -340.31131 188.51984 l -341.73438 187.72926 l -343.31552 187.46573 l -344.21152 186.85962 l -345.63458 186.41162 l -348.11172 186.14809 l -350.53619 186.04268 l -351.27408 186.25349 l -352.64441 185.67374 l -354.22559 185.67374 l -354.80533 185.98997 l -355.80676 185.91092 l -355.54321 186.67514 l -355.75403 188.07184 l -355.43781 189.25772 l -354.48911 190.07466 l -354.64722 191.18147 l -355.85947 192.05112 l -355.85947 192.42006 l -356.75546 192.99982 l -357.38791 195.63509 l -357.86227 196.92638 l -357.91498 197.61156 l -357.65146 198.79742 l -357.75687 199.45624 l -357.59872 200.27318 l -357.70416 201.19553 l -357.12439 201.80164 l -358.02039 202.85576 l -358.07309 203.48822 l -358.60016 204.30516 l -359.28531 204.04163 l -360.44482 204.72681 l -361.0773 205.64915 l -356.07028 208.44255 l -351.80112 211.315 l -349.74561 211.94746 l -348.11172 212.10558 l -348.11172 211.18323 l -347.42657 210.91971 l -346.53058 210.52441 l -346.16162 209.83925 l -341.20731 206.62421 l -336.30569 203.43552 l -330.77161 199.90424 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -330.77161 199.90424 m -330.82431 199.61436 l -330.82431 199.50896 l -330.82431 197.76967 l -333.14337 196.68921 l -334.61911 196.47838 l -335.83133 196.08308 l -336.4111 195.34521 l -338.09769 194.76546 l -338.15039 193.68498 l -338.99368 193.55322 l -339.67883 193.02617 l -341.57623 192.76263 l -341.83978 192.20923 l -341.47083 191.89299 l -340.94379 190.33818 l -340.89108 189.44218 l -340.31131 188.51984 l -341.73438 187.72926 l -343.31552 187.46573 l -344.21152 186.85962 l -345.63458 186.41162 l -348.11172 186.14809 l -350.53619 186.04268 l -351.27408 186.25349 l -352.64441 185.67374 l -354.22559 185.67374 l -354.80533 185.98997 l -355.80676 185.91092 l -355.54321 186.67514 l -355.75403 188.07184 l -355.43781 189.25772 l -354.48911 190.07466 l -354.64722 191.18147 l -355.85947 192.05112 l -355.85947 192.42006 l -356.75546 192.99982 l -357.38791 195.63509 l -357.86227 196.92638 l -357.91498 197.61156 l -357.65146 198.79742 l -357.75687 199.45624 l -357.59872 200.27318 l -357.70416 201.19553 l -357.12439 201.80164 l -358.02039 202.85576 l -358.07309 203.48822 l -358.60016 204.30516 l -359.28531 204.04163 l -360.44482 204.72681 l -361.0773 205.64915 l -356.07028 208.44255 l -351.80112 211.315 l -349.74561 211.94746 l -348.11172 212.10558 l -348.11172 211.18323 l -347.42657 210.91971 l -346.53058 210.52441 l -346.16162 209.83925 l -341.20731 206.62421 l -336.30569 203.43552 l -330.77161 199.90424 l -h -S -/DeviceRGB {} CS -[0.1961 0.0196 0.5922] SC -/DeviceRGB {} cs -[0.1961 0.0196 0.5922] sc -362.50037 246.99666 m -361.9733 247.3129 l -361.76248 247.68184 l -361.70978 248.3143 l -361.34082 248.47241 l -360.91919 247.3656 l -361.55167 246.73314 l -361.9733 246.49596 l -362.50037 246.99666 l -h -361.55167 248.92041 m -362.13141 248.73595 l -362.55307 248.7623 l -363.08011 248.57784 l -367.40198 248.60419 l -367.7709 249.68465 l -368.19257 250.58064 l -368.50879 251.05499 l -369.08856 251.81923 l -370.03726 251.68745 l -370.5116 251.47664 l -371.35489 251.68745 l -371.5657 251.31853 l -371.93466 250.47523 l -372.83066 250.42253 l -372.93607 250.159 l -373.67395 250.159 l -373.51581 250.68605 l -375.3078 250.68605 l -375.3605 251.58205 l -375.62405 252.1618 l -375.41321 253.03145 l -375.51862 253.9538 l -375.99298 254.48085 l -375.94028 256.22012 l -376.3092 256.08838 l -376.94168 256.14108 l -377.83768 255.9039 l -378.52286 255.98296 l -378.68097 256.45731 l -378.47015 257.16882 l -378.73367 257.854 l -378.52286 258.40741 l -378.68097 258.90811 l -375.62405 258.88177 l -375.51862 263.5462 l -376.52005 264.73209 l -377.46875 265.65442 l -374.78076 266.26056 l -371.24948 266.04971 l -370.24808 265.3382 l -364.29236 265.3909 l -364.08151 265.49631 l -363.18552 264.83749 l -362.23682 264.81116 l -361.39352 265.04831 l -360.65567 265.3382 l -360.55026 264.41586 l -360.76108 263.12457 l -361.23541 261.78058 l -361.34082 261.1481 l -361.81519 259.83047 l -362.13141 259.22437 l -362.9747 258.27567 l -363.44907 257.61682 l -363.60718 256.53638 l -363.55447 255.71944 l -363.08011 255.19238 l -362.71118 254.29639 l -362.34222 253.42674 l -362.44766 253.1105 l -362.86929 252.53075 l -362.44766 251.1077 l -362.13141 250.13264 l -361.39352 249.2103 l -361.55167 248.92041 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -362.50037 246.99666 m -361.9733 247.3129 l -361.76248 247.68184 l -361.70978 248.3143 l -361.34082 248.47241 l -360.91919 247.3656 l -361.55167 246.73314 l -361.9733 246.49596 l -362.50037 246.99666 l -h -361.55167 248.92041 m -362.13141 248.73595 l -362.55307 248.7623 l -363.08011 248.57784 l -367.40198 248.60419 l -367.7709 249.68465 l -368.19257 250.58064 l -368.50879 251.05499 l -369.08856 251.81923 l -370.03726 251.68745 l -370.5116 251.47664 l -371.35489 251.68745 l -371.5657 251.31853 l -371.93466 250.47523 l -372.83066 250.42253 l -372.93607 250.159 l -373.67395 250.159 l -373.51581 250.68605 l -375.3078 250.68605 l -375.3605 251.58205 l -375.62405 252.1618 l -375.41321 253.03145 l -375.51862 253.9538 l -375.99298 254.48085 l -375.94028 256.22012 l -376.3092 256.08838 l -376.94168 256.14108 l -377.83768 255.9039 l -378.52286 255.98296 l -378.68097 256.45731 l -378.47015 257.16882 l -378.73367 257.854 l -378.52286 258.40741 l -378.68097 258.90811 l -375.62405 258.88177 l -375.51862 263.5462 l -376.52005 264.73209 l -377.46875 265.65442 l -374.78076 266.26056 l -371.24948 266.04971 l -370.24808 265.3382 l -364.29236 265.3909 l -364.08151 265.49631 l -363.18552 264.83749 l -362.23682 264.81116 l -361.39352 265.04831 l -360.65567 265.3382 l -360.55026 264.41586 l -360.76108 263.12457 l -361.23541 261.78058 l -361.34082 261.1481 l -361.81519 259.83047 l -362.13141 259.22437 l -362.9747 258.27567 l -363.44907 257.61682 l -363.60718 256.53638 l -363.55447 255.71944 l -363.08011 255.19238 l -362.71118 254.29639 l -362.34222 253.42674 l -362.44766 253.1105 l -362.86929 252.53075 l -362.44766 251.1077 l -362.13141 250.13264 l -361.39352 249.2103 l -361.55167 248.92041 l -h -S -/DeviceRGB {} CS -[0.9882 0.702 0.1882] SC -/DeviceRGB {} cs -[0.9882 0.702 0.1882] sc -243.01685 317.04236 m -243.5966 317.72754 l -244.33449 318.83435 l -246.23189 319.70398 l -248.2874 320.07294 l -247.60223 320.81079 l -246.23189 320.88986 l -245.494 320.36279 l -244.59801 320.33646 l -243.01685 320.33646 l -243.01685 317.04236 l -h -259.14474 284.23315 m -258.77582 285.39267 l -258.40686 286.92114 l -258.40686 288.37054 l -258.09064 288.68677 l -257.98523 289.63547 l -257.87982 290.39969 l -259.72452 291.66464 l -259.51367 292.66605 l -260.46237 293.29849 l -260.35696 294.01004 l -258.98663 295.90744 l -256.77301 296.67166 l -253.87419 296.98788 l -252.24031 296.82977 l -252.55655 297.72577 l -252.24031 298.80624 l -252.50385 299.5441 l -251.66055 300.07117 l -250.1321 300.25565 l -248.76175 299.72858 l -248.18199 300.12387 l -248.39281 301.57327 l -249.34151 302.02127 l -250.1848 301.54694 l -250.60645 302.31116 l -249.2361 302.75916 l -248.07658 303.68149 l -247.86575 305.15726 l -247.49681 305.92148 l -246.12646 305.92148 l -244.96695 306.6857 l -244.5453 307.79254 l -246.02106 308.84665 l -247.3914 309.13654 l -246.91705 310.45416 l -245.17776 311.29745 l -244.22906 313.01038 l -242.91144 313.59015 l -242.27896 314.27533 l -242.75331 315.77744 l -243.75471 316.64706 l -243.12225 316.56799 l -241.75191 316.33084 l -238.22064 316.14636 l -237.64087 315.27673 l -237.64087 314.19626 l -236.69217 314.27533 l -236.16512 313.74826 l -236.007 312.19345 l -237.16652 311.56097 l -237.64087 310.61227 l -237.43005 309.87439 l -238.22064 308.63583 l -238.7477 306.6857 l -238.58957 305.84244 l -239.22205 305.55255 l -239.06392 304.99915 l -238.37875 304.70926 l -238.90581 304.10315 l -238.22064 303.54974 l -237.9044 301.86316 l -238.48416 301.54694 l -238.22064 299.78128 l -238.58957 298.27917 l -238.95851 296.96155 l -239.85451 296.43448 l -239.38016 295.01144 l -239.38016 293.66745 l -240.48697 292.71875 l -240.43427 291.48016 l -241.27756 290.0571 l -241.27756 288.7131 l -240.90862 288.44958 l -240.22345 285.91971 l -241.11945 284.4176 l -241.01404 282.99457 l -241.54109 281.65057 l -242.48979 280.28021 l -243.5439 279.38425 l -243.06955 278.80447 l -243.38579 278.33011 l -243.33308 275.90567 l -244.91425 275.16779 l -245.4413 273.63931 l -245.28319 273.27039 l -246.49541 271.95276 l -248.39281 272.32169 l -249.2361 273.37579 l -249.81586 272.18991 l -251.50244 272.26898 l -251.71326 272.55887 l -254.40125 274.95697 l -255.61348 275.19415 l -257.40546 276.2746 l -258.93393 276.828 l -259.14474 277.48685 l -257.66898 279.70047 l -259.14474 280.09576 l -260.83133 280.33295 l -261.99084 280.09576 l -263.30847 278.96259 l -263.51932 277.6713 l -264.25717 277.40778 l -264.99506 278.25107 l -264.94235 279.41058 l -263.73013 280.22751 l -262.72873 280.80728 l -261.09485 282.23035 l -259.14474 284.23315 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -243.01685 317.04236 m -243.5966 317.72754 l -244.33449 318.83435 l -246.23189 319.70398 l -248.2874 320.07294 l -247.60223 320.81079 l -246.23189 320.88986 l -245.494 320.36279 l -244.59801 320.33646 l -243.01685 320.33646 l -243.01685 317.04236 l -h -259.14474 284.23315 m -258.77582 285.39267 l -258.40686 286.92114 l -258.40686 288.37054 l -258.09064 288.68677 l -257.98523 289.63547 l -257.87982 290.39969 l -259.72452 291.66464 l -259.51367 292.66605 l -260.46237 293.29849 l -260.35696 294.01004 l -258.98663 295.90744 l -256.77301 296.67166 l -253.87419 296.98788 l -252.24031 296.82977 l -252.55655 297.72577 l -252.24031 298.80624 l -252.50385 299.5441 l -251.66055 300.07117 l -250.1321 300.25565 l -248.76175 299.72858 l -248.18199 300.12387 l -248.39281 301.57327 l -249.34151 302.02127 l -250.1848 301.54694 l -250.60645 302.31116 l -249.2361 302.75916 l -248.07658 303.68149 l -247.86575 305.15726 l -247.49681 305.92148 l -246.12646 305.92148 l -244.96695 306.6857 l -244.5453 307.79254 l -246.02106 308.84665 l -247.3914 309.13654 l -246.91705 310.45416 l -245.17776 311.29745 l -244.22906 313.01038 l -242.91144 313.59015 l -242.27896 314.27533 l -242.75331 315.77744 l -243.75471 316.64706 l -243.12225 316.56799 l -241.75191 316.33084 l -238.22064 316.14636 l -237.64087 315.27673 l -237.64087 314.19626 l -236.69217 314.27533 l -236.16512 313.74826 l -236.007 312.19345 l -237.16652 311.56097 l -237.64087 310.61227 l -237.43005 309.87439 l -238.22064 308.63583 l -238.7477 306.6857 l -238.58957 305.84244 l -239.22205 305.55255 l -239.06392 304.99915 l -238.37875 304.70926 l -238.90581 304.10315 l -238.22064 303.54974 l -237.9044 301.86316 l -238.48416 301.54694 l -238.22064 299.78128 l -238.58957 298.27917 l -238.95851 296.96155 l -239.85451 296.43448 l -239.38016 295.01144 l -239.38016 293.66745 l -240.48697 292.71875 l -240.43427 291.48016 l -241.27756 290.0571 l -241.27756 288.7131 l -240.90862 288.44958 l -240.22345 285.91971 l -241.11945 284.4176 l -241.01404 282.99457 l -241.54109 281.65057 l -242.48979 280.28021 l -243.5439 279.38425 l -243.06955 278.80447 l -243.38579 278.33011 l -243.33308 275.90567 l -244.91425 275.16779 l -245.4413 273.63931 l -245.28319 273.27039 l -246.49541 271.95276 l -248.39281 272.32169 l -249.2361 273.37579 l -249.81586 272.18991 l -251.50244 272.26898 l -251.71326 272.55887 l -254.40125 274.95697 l -255.61348 275.19415 l -257.40546 276.2746 l -258.93393 276.828 l -259.14474 277.48685 l -257.66898 279.70047 l -259.14474 280.09576 l -260.83133 280.33295 l -261.99084 280.09576 l -263.30847 278.96259 l -263.51932 277.6713 l -264.25717 277.40778 l -264.99506 278.25107 l -264.94235 279.41058 l -263.73013 280.22751 l -262.72873 280.80728 l -261.09485 282.23035 l -259.14474 284.23315 l -h -S -/DeviceRGB {} CS -[0.9569 0.9255 0.1333] SC -/DeviceRGB {} cs -[0.9569 0.9255 0.1333] sc -559.72455 299.72858 m -560.56787 299.83398 l -560.67328 301.57327 l -560.19891 302.07397 l -560.04083 303.25986 l -559.51373 302.86456 l -558.51233 303.86597 l -558.19611 303.7869 l -557.30011 303.76056 l -556.40411 302.49564 l -556.1933 301.52057 l -555.35004 300.25565 l -555.40271 299.5968 l -556.35144 299.72858 l -557.77448 300.22928 l -558.56506 300.01846 l -559.72455 299.72858 l -h -528.15393 287.15829 m -526.62549 287.92255 l -525.36053 288.23877 l -525.04431 289.02936 l -524.51727 289.6091 l -523.30505 289.63547 l -522.35632 289.76724 l -521.09137 289.50369 l -520.03729 289.6618 l -519.03589 289.74088 l -518.13989 290.5051 l -517.71826 290.45239 l -516.98035 290.87405 l -516.29517 291.32205 l -515.18835 291.26935 l -514.23969 291.26935 l -512.65851 290.34698 l -511.86792 290.0571 l -511.92062 289.21381 l -512.65851 289.02936 l -512.86932 288.68677 l -512.81665 288.1597 l -513.02747 287.13196 l -512.86932 286.28867 l -512.07874 284.78656 l -511.86792 283.9696 l -511.92062 283.12631 l -511.34088 282.17761 l -511.28815 281.75598 l -510.6557 281.14987 l -510.44489 280.01669 l -509.60159 278.85718 l -509.39075 278.2247 l -510.07593 278.85718 l -509.54889 277.51318 l -510.28674 277.93481 l -510.7084 278.48825 l -510.7084 277.75037 l -509.97052 276.59085 l -509.81241 276.14285 l -509.49619 275.69485 l -509.6543 274.85156 l -509.97052 274.4826 l -510.18134 273.74475 l -510.02322 272.90146 l -510.603 271.84735 l -510.7084 272.95416 l -511.34088 271.95276 l -512.50037 271.47839 l -513.23828 270.84592 l -514.34509 270.29251 l -515.03027 270.1871 l -515.39917 270.37158 l -516.55872 269.81818 l -517.45471 269.66006 l -517.66553 269.34381 l -518.08716 269.21207 l -518.87775 269.2384 l -520.40625 268.81677 l -521.19678 268.15796 l -521.56573 267.39371 l -522.46173 266.62949 l -522.51447 266.04971 l -522.56714 265.25916 l -523.56854 264.02057 l -524.20105 265.28549 l -524.8335 264.99561 l -524.30646 264.28409 l -524.78076 263.57257 l -525.41327 263.91516 l -525.57135 262.78198 l -526.36194 262.07047 l -526.7309 261.49069 l -527.46875 261.25351 l -527.46875 260.83188 l -528.15393 260.98999 l -528.15393 260.6474 l -528.78644 260.43658 l -529.52429 260.22577 l -530.57837 260.91092 l -531.42169 261.75421 l -532.31769 261.78058 l -533.26636 261.91232 l -532.95013 261.12177 l -533.63531 259.93588 l -534.3205 259.56696 l -534.05695 259.198 l -534.68945 258.35471 l -535.58545 257.82767 l -536.3233 258.01212 l -537.58826 257.72226 l -537.53552 256.98438 l -536.48145 256.51001 l -537.27203 256.29919 l -538.2207 256.64178 l -539.01129 257.24789 l -540.22351 257.61682 l -540.64514 257.48508 l -541.54114 257.93307 l -542.43713 257.51141 l -542.96423 257.64319 l -543.33313 257.3533 l -543.96564 258.09119 l -543.59668 258.85541 l -543.01691 259.46152 l -542.54254 259.51422 l -542.70068 260.09399 l -542.27905 260.83188 l -541.75195 261.5434 l -541.85736 261.96506 l -543.01691 262.75562 l -544.12372 263.22998 l -544.91431 263.73068 l -545.96844 264.60031 l -546.39008 264.60031 l -547.12793 264.96927 l -547.33875 265.41727 l -548.76184 265.91797 l -549.71051 265.41727 l -550.02673 264.65302 l -550.29028 263.9942 l -550.5011 263.17728 l -550.92273 262.01776 l -550.71191 261.30621 l -550.81732 260.88458 l -550.65924 260.04129 l -550.87006 258.96082 l -551.13354 258.64459 l -550.92273 258.17026 l -551.29169 257.37967 l -551.55524 256.58908 l -551.60791 256.16742 l -552.13495 255.61403 l -552.55664 256.32556 l -552.66205 257.24789 l -553.03094 257.43237 l -553.08368 258.03848 l -553.61072 258.77637 l -553.71613 259.61966 l -553.66345 260.1467 l -554.19049 261.30621 l -555.13916 260.75281 l -555.61353 261.35892 l -556.29871 261.93869 l -556.14063 262.5975 l -556.45685 263.83609 l -556.72034 264.57397 l -557.08929 264.75845 l -557.45825 265.99701 l -557.30011 266.76126 l -557.77448 267.76266 l -559.40833 268.52689 l -560.40973 269.21207 l -561.41113 269.84451 l -561.20032 270.21347 l -562.04364 271.1358 l -562.62335 272.71698 l -563.20313 272.37439 l -563.7829 273.00687 l -564.15186 272.79605 l -564.41534 274.35086 l -565.41675 275.24686 l -566.10193 275.80026 l -567.26147 276.98611 l -567.68311 278.172 l -567.73584 278.98895 l -567.63043 279.91129 l -568.31555 281.14987 l -568.21014 282.44116 l -567.94666 283.12631 l -567.5777 284.4176 l -567.63043 285.26089 l -567.31415 286.315 l -566.6817 287.659 l -565.57489 288.37054 l -565.04785 289.50369 l -564.57349 290.21524 l -564.15186 291.48016 l -563.57208 292.21805 l -563.20313 293.32486 l -562.99231 294.32626 l -563.09772 294.77426 l -562.25446 295.3013 l -560.62054 295.354 l -559.25024 295.96014 l -558.56506 296.51355 l -557.66907 297.146 l -556.45685 296.48718 l -555.56085 296.25 l -555.82434 295.48578 l -555.03375 295.7493 l -553.71613 296.80341 l -552.45123 296.40814 l -551.66064 296.1973 l -550.81732 296.09189 l -549.39429 295.64389 l -548.44556 294.74789 l -548.18207 293.64108 l -547.81311 292.9032 l -547.12793 292.29709 l -545.7049 292.13898 l -546.17926 291.42746 l -545.8103 290.34698 l -545.12512 291.34839 l -543.8075 291.61191 l -544.54535 290.79498 l -544.8089 289.95169 l -545.33594 289.24017 l -545.23053 288.1597 l -544.07104 289.39828 l -543.12231 289.89899 l -542.59528 291.08487 l -541.43573 290.47876 l -541.48846 289.68817 l -540.53973 288.63406 l -539.80188 288.08066 l -540.06537 287.73807 l -538.16797 286.86841 l -537.16656 286.8157 l -535.74353 286.10419 l -533.10828 286.23596 l -531.21088 286.763 l -529.57697 287.2637 l -528.15393 287.15829 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -559.72455 299.72858 m -560.56787 299.83398 l -560.67328 301.57327 l -560.19891 302.07397 l -560.04083 303.25986 l -559.51373 302.86456 l -558.51233 303.86597 l -558.19611 303.7869 l -557.30011 303.76056 l -556.40411 302.49564 l -556.1933 301.52057 l -555.35004 300.25565 l -555.40271 299.5968 l -556.35144 299.72858 l -557.77448 300.22928 l -558.56506 300.01846 l -559.72455 299.72858 l -h -528.15393 287.15829 m -526.62549 287.92255 l -525.36053 288.23877 l -525.04431 289.02936 l -524.51727 289.6091 l -523.30505 289.63547 l -522.35632 289.76724 l -521.09137 289.50369 l -520.03729 289.6618 l -519.03589 289.74088 l -518.13989 290.5051 l -517.71826 290.45239 l -516.98035 290.87405 l -516.29517 291.32205 l -515.18835 291.26935 l -514.23969 291.26935 l -512.65851 290.34698 l -511.86792 290.0571 l -511.92062 289.21381 l -512.65851 289.02936 l -512.86932 288.68677 l -512.81665 288.1597 l -513.02747 287.13196 l -512.86932 286.28867 l -512.07874 284.78656 l -511.86792 283.9696 l -511.92062 283.12631 l -511.34088 282.17761 l -511.28815 281.75598 l -510.6557 281.14987 l -510.44489 280.01669 l -509.60159 278.85718 l -509.39075 278.2247 l -510.07593 278.85718 l -509.54889 277.51318 l -510.28674 277.93481 l -510.7084 278.48825 l -510.7084 277.75037 l -509.97052 276.59085 l -509.81241 276.14285 l -509.49619 275.69485 l -509.6543 274.85156 l -509.97052 274.4826 l -510.18134 273.74475 l -510.02322 272.90146 l -510.603 271.84735 l -510.7084 272.95416 l -511.34088 271.95276 l -512.50037 271.47839 l -513.23828 270.84592 l -514.34509 270.29251 l -515.03027 270.1871 l -515.39917 270.37158 l -516.55872 269.81818 l -517.45471 269.66006 l -517.66553 269.34381 l -518.08716 269.21207 l -518.87775 269.2384 l -520.40625 268.81677 l -521.19678 268.15796 l -521.56573 267.39371 l -522.46173 266.62949 l -522.51447 266.04971 l -522.56714 265.25916 l -523.56854 264.02057 l -524.20105 265.28549 l -524.8335 264.99561 l -524.30646 264.28409 l -524.78076 263.57257 l -525.41327 263.91516 l -525.57135 262.78198 l -526.36194 262.07047 l -526.7309 261.49069 l -527.46875 261.25351 l -527.46875 260.83188 l -528.15393 260.98999 l -528.15393 260.6474 l -528.78644 260.43658 l -529.52429 260.22577 l -530.57837 260.91092 l -531.42169 261.75421 l -532.31769 261.78058 l -533.26636 261.91232 l -532.95013 261.12177 l -533.63531 259.93588 l -534.3205 259.56696 l -534.05695 259.198 l -534.68945 258.35471 l -535.58545 257.82767 l -536.3233 258.01212 l -537.58826 257.72226 l -537.53552 256.98438 l -536.48145 256.51001 l -537.27203 256.29919 l -538.2207 256.64178 l -539.01129 257.24789 l -540.22351 257.61682 l -540.64514 257.48508 l -541.54114 257.93307 l -542.43713 257.51141 l -542.96423 257.64319 l -543.33313 257.3533 l -543.96564 258.09119 l -543.59668 258.85541 l -543.01691 259.46152 l -542.54254 259.51422 l -542.70068 260.09399 l -542.27905 260.83188 l -541.75195 261.5434 l -541.85736 261.96506 l -543.01691 262.75562 l -544.12372 263.22998 l -544.91431 263.73068 l -545.96844 264.60031 l -546.39008 264.60031 l -547.12793 264.96927 l -547.33875 265.41727 l -548.76184 265.91797 l -549.71051 265.41727 l -550.02673 264.65302 l -550.29028 263.9942 l -550.5011 263.17728 l -550.92273 262.01776 l -550.71191 261.30621 l -550.81732 260.88458 l -550.65924 260.04129 l -550.87006 258.96082 l -551.13354 258.64459 l -550.92273 258.17026 l -551.29169 257.37967 l -551.55524 256.58908 l -551.60791 256.16742 l -552.13495 255.61403 l -552.55664 256.32556 l -552.66205 257.24789 l -553.03094 257.43237 l -553.08368 258.03848 l -553.61072 258.77637 l -553.71613 259.61966 l -553.66345 260.1467 l -554.19049 261.30621 l -555.13916 260.75281 l -555.61353 261.35892 l -556.29871 261.93869 l -556.14063 262.5975 l -556.45685 263.83609 l -556.72034 264.57397 l -557.08929 264.75845 l -557.45825 265.99701 l -557.30011 266.76126 l -557.77448 267.76266 l -559.40833 268.52689 l -560.40973 269.21207 l -561.41113 269.84451 l -561.20032 270.21347 l -562.04364 271.1358 l -562.62335 272.71698 l -563.20313 272.37439 l -563.7829 273.00687 l -564.15186 272.79605 l -564.41534 274.35086 l -565.41675 275.24686 l -566.10193 275.80026 l -567.26147 276.98611 l -567.68311 278.172 l -567.73584 278.98895 l -567.63043 279.91129 l -568.31555 281.14987 l -568.21014 282.44116 l -567.94666 283.12631 l -567.5777 284.4176 l -567.63043 285.26089 l -567.31415 286.315 l -566.6817 287.659 l -565.57489 288.37054 l -565.04785 289.50369 l -564.57349 290.21524 l -564.15186 291.48016 l -563.57208 292.21805 l -563.20313 293.32486 l -562.99231 294.32626 l -563.09772 294.77426 l -562.25446 295.3013 l -560.62054 295.354 l -559.25024 295.96014 l -558.56506 296.51355 l -557.66907 297.146 l -556.45685 296.48718 l -555.56085 296.25 l -555.82434 295.48578 l -555.03375 295.7493 l -553.71613 296.80341 l -552.45123 296.40814 l -551.66064 296.1973 l -550.81732 296.09189 l -549.39429 295.64389 l -548.44556 294.74789 l -548.18207 293.64108 l -547.81311 292.9032 l -547.12793 292.29709 l -545.7049 292.13898 l -546.17926 291.42746 l -545.8103 290.34698 l -545.12512 291.34839 l -543.8075 291.61191 l -544.54535 290.79498 l -544.8089 289.95169 l -545.33594 289.24017 l -545.23053 288.1597 l -544.07104 289.39828 l -543.12231 289.89899 l -542.59528 291.08487 l -541.43573 290.47876 l -541.48846 289.68817 l -540.53973 288.63406 l -539.80188 288.08066 l -540.06537 287.73807 l -538.16797 286.86841 l -537.16656 286.8157 l -535.74353 286.10419 l -533.10828 286.23596 l -531.21088 286.763 l -529.57697 287.2637 l -528.15393 287.15829 l -h -S -/DeviceRGB {} CS -[0.9725 0.8706 0.1412] SC -/DeviceRGB {} cs -[0.9725 0.8706 0.1412] sc -368.35068 169.54584 m -368.24527 170.15195 l -367.40198 170.15195 l -367.7182 170.46819 l -367.24387 171.41689 l -366.92761 171.65407 l -365.66269 171.70677 l -364.9248 172.02299 l -363.71259 171.91759 l -361.60437 171.54865 l -361.28812 171.02159 l -359.86508 171.28513 l -359.65427 171.54865 l -358.81097 171.36418 l -358.02039 171.31148 l -357.38791 171.04794 l -357.59872 170.679 l -357.54602 170.41548 l -357.96768 170.33643 l -358.70557 170.75807 l -358.91638 170.36278 l -360.23401 170.44183 l -361.28812 170.1783 l -361.9733 170.20465 l -362.44766 170.52089 l -362.55307 170.25737 l -362.34222 169.30867 l -362.86929 169.12419 l -363.39636 168.43903 l -364.50317 168.91338 l -365.29376 168.3336 l -365.8208 168.20184 l -366.98032 168.64984 l -367.6655 168.57079 l -368.35068 168.86067 l -368.19257 169.04514 l -368.35068 169.54584 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -368.35068 169.54584 m -368.24527 170.15195 l -367.40198 170.15195 l -367.7182 170.46819 l -367.24387 171.41689 l -366.92761 171.65407 l -365.66269 171.70677 l -364.9248 172.02299 l -363.71259 171.91759 l -361.60437 171.54865 l -361.28812 171.02159 l -359.86508 171.28513 l -359.65427 171.54865 l -358.81097 171.36418 l -358.02039 171.31148 l -357.38791 171.04794 l -357.59872 170.679 l -357.54602 170.41548 l -357.96768 170.33643 l -358.70557 170.75807 l -358.91638 170.36278 l -360.23401 170.44183 l -361.28812 170.1783 l -361.9733 170.20465 l -362.44766 170.52089 l -362.55307 170.25737 l -362.34222 169.30867 l -362.86929 169.12419 l -363.39636 168.43903 l -364.50317 168.91338 l -365.29376 168.3336 l -365.8208 168.20184 l -366.98032 168.64984 l -367.6655 168.57079 l -368.35068 168.86067 l -368.19257 169.04514 l -368.35068 169.54584 l -h -S -/DeviceRGB {} CS -[0.8549 0.3569 0.4078] SC -/DeviceRGB {} cs -[0.8549 0.3569 0.4078] sc -479.13776 207.73102 m -479.13776 208.78513 l -478.61072 208.57431 l -478.71613 209.73383 l -478.29446 208.9696 l -478.24176 208.23172 l -477.92554 207.5202 l -477.34576 206.67691 l -475.97543 206.62421 l -476.13354 207.23032 l -475.65921 208.0209 l -475.02673 207.73102 l -474.81592 207.99455 l -474.39426 207.83643 l -473.81451 207.70467 l -473.60367 206.51878 l -473.07663 205.41197 l -473.34015 204.51598 l -472.44415 204.12068 l -472.76041 203.59363 l -473.70911 203.04022 l -472.65497 202.27599 l -473.12933 201.27458 l -474.28885 201.90706 l -475.02673 201.98611 l -475.13214 203.01387 l -476.5025 203.19833 l -477.87283 203.19833 l -478.71613 203.43552 l -478.03094 204.6741 l -477.3985 204.75316 l -476.92413 205.59645 l -477.76743 206.36067 l -477.97824 205.41197 l -478.3999 205.41197 l -479.13776 207.73102 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -479.13776 207.73102 m -479.13776 208.78513 l -478.61072 208.57431 l -478.71613 209.73383 l -478.29446 208.9696 l -478.24176 208.23172 l -477.92554 207.5202 l -477.34576 206.67691 l -475.97543 206.62421 l -476.13354 207.23032 l -475.65921 208.0209 l -475.02673 207.73102 l -474.81592 207.99455 l -474.39426 207.83643 l -473.81451 207.70467 l -473.60367 206.51878 l -473.07663 205.41197 l -473.34015 204.51598 l -472.44415 204.12068 l -472.76041 203.59363 l -473.70911 203.04022 l -472.65497 202.27599 l -473.12933 201.27458 l -474.28885 201.90706 l -475.02673 201.98611 l -475.13214 203.01387 l -476.5025 203.19833 l -477.87283 203.19833 l -478.71613 203.43552 l -478.03094 204.6741 l -477.3985 204.75316 l -476.92413 205.59645 l -477.76743 206.36067 l -477.97824 205.41197 l -478.3999 205.41197 l -479.13776 207.73102 l -h -S -/DeviceRGB {} CS -[0.9765 0.8549 0.1412] SC -/DeviceRGB {} cs -[0.9765 0.8549 0.1412] sc -352.539 165.619278 m -352.32819 166.620682 l -351.95923 166.673386 l -351.80112 167.490326 l -350.53619 166.831497 l -349.79831 166.93692 l -348.7442 166.25174 l -348.05902 165.671982 l -347.37387 165.64563 l -347.16302 165.118576 l -348.37527 164.82869 l -349.42938 164.960449 l -350.79971 164.644226 l -351.69571 165.276688 l -352.539 165.619278 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -352.539 165.619278 m -352.32819 166.620682 l -351.95923 166.673386 l -351.80112 167.490326 l -350.53619 166.831497 l -349.79831 166.93692 l -348.7442 166.25174 l -348.05902 165.671982 l -347.37387 165.64563 l -347.16302 165.118576 l -348.37527 164.82869 l -349.42938 164.960449 l -350.79971 164.644226 l -351.69571 165.276688 l -352.539 165.619278 l -h -S -/DeviceRGB {} CS -[0.6863 0.1647 0.5647] SC -/DeviceRGB {} cs -[0.6863 0.1647 0.5647] sc -347.42657 230.84241 m -346.21432 231.00052 l -345.8454 229.99911 l -345.95081 226.62596 l -345.63458 226.33609 l -345.58188 225.62456 l -345.05481 225.0975 l -344.63318 224.67586 l -344.79129 223.91162 l -345.31833 223.72716 l -345.63458 223.0947 l -346.31973 222.96292 l -346.63599 222.51492 l -347.16302 222.09329 l -347.69009 222.09329 l -348.79691 222.93657 l -348.7442 223.41092 l -349.06042 224.28056 l -348.7442 224.88667 l -348.90231 225.25562 l -348.21716 226.17796 l -347.7428 226.62596 l -347.47928 227.54831 l -347.53198 228.47066 l -347.42657 230.84241 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -347.42657 230.84241 m -346.21432 231.00052 l -345.8454 229.99911 l -345.95081 226.62596 l -345.63458 226.33609 l -345.58188 225.62456 l -345.05481 225.0975 l -344.63318 224.67586 l -344.79129 223.91162 l -345.31833 223.72716 l -345.63458 223.0947 l -346.31973 222.96292 l -346.63599 222.51492 l -347.16302 222.09329 l -347.69009 222.09329 l -348.79691 222.93657 l -348.7442 223.41092 l -349.06042 224.28056 l -348.7442 224.88667 l -348.90231 225.25562 l -348.21716 226.17796 l -347.7428 226.62596 l -347.47928 227.54831 l -347.53198 228.47066 l -347.42657 230.84241 l -h -S -/DeviceRGB {} CS -[0.8824 0.4 0.3804] SC -/DeviceRGB {} cs -[0.8824 0.4 0.3804] sc -241.6992 256.03568 m -242.80602 256.16742 l -243.5439 256.11472 l -243.86014 255.69308 l -245.17776 255.08698 l -245.91565 254.53355 l -247.86575 254.29639 l -247.70764 255.37685 l -247.86575 255.9566 l -247.76035 256.93167 l -249.34151 258.2493 l -250.97539 258.48648 l -251.55515 259.03989 l -252.55655 259.32977 l -253.13631 259.7514 l -254.08501 259.72507 l -254.9283 260.17307 l -254.981 261.01636 l -255.29724 261.43799 l -255.29724 262.07047 l -254.8756 262.0968 l -255.45535 263.80975 l -258.24875 263.86246 l -258.03793 264.70572 l -258.19604 265.28549 l -258.98663 265.70715 l -259.30286 266.60312 l -259.09204 267.76266 l -258.67041 268.39511 l -258.82852 269.2384 l -258.35416 269.52829 l -258.30145 269.08029 l -256.98383 268.34241 l -255.61348 268.31607 l -253.0309 268.7377 l -252.34573 270.02899 l -252.29303 270.81958 l -251.71326 272.55887 l -251.50244 272.26898 l -249.81586 272.18991 l -249.2361 273.37579 l -248.39281 272.32169 l -246.49541 271.95276 l -245.28319 273.27039 l -244.22906 273.4812 l -243.64931 271.47839 l -242.85873 269.81818 l -243.33308 268.39511 l -242.5425 267.789 l -242.33167 266.73489 l -241.6465 265.73349 l -242.5425 264.15231 l -241.91003 262.91376 l -242.27896 262.43939 l -242.01544 261.88599 l -242.5425 261.1481 l -242.5952 259.90952 l -242.6479 258.88177 l -242.96414 258.38107 l -241.6992 256.03568 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -241.6992 256.03568 m -242.80602 256.16742 l -243.5439 256.11472 l -243.86014 255.69308 l -245.17776 255.08698 l -245.91565 254.53355 l -247.86575 254.29639 l -247.70764 255.37685 l -247.86575 255.9566 l -247.76035 256.93167 l -249.34151 258.2493 l -250.97539 258.48648 l -251.55515 259.03989 l -252.55655 259.32977 l -253.13631 259.7514 l -254.08501 259.72507 l -254.9283 260.17307 l -254.981 261.01636 l -255.29724 261.43799 l -255.29724 262.07047 l -254.8756 262.0968 l -255.45535 263.80975 l -258.24875 263.86246 l -258.03793 264.70572 l -258.19604 265.28549 l -258.98663 265.70715 l -259.30286 266.60312 l -259.09204 267.76266 l -258.67041 268.39511 l -258.82852 269.2384 l -258.35416 269.52829 l -258.30145 269.08029 l -256.98383 268.34241 l -255.61348 268.31607 l -253.0309 268.7377 l -252.34573 270.02899 l -252.29303 270.81958 l -251.71326 272.55887 l -251.50244 272.26898 l -249.81586 272.18991 l -249.2361 273.37579 l -248.39281 272.32169 l -246.49541 271.95276 l -245.28319 273.27039 l -244.22906 273.4812 l -243.64931 271.47839 l -242.85873 269.81818 l -243.33308 268.39511 l -242.5425 267.789 l -242.33167 266.73489 l -241.6465 265.73349 l -242.5425 264.15231 l -241.91003 262.91376 l -242.27896 262.43939 l -242.01544 261.88599 l -242.5425 261.1481 l -242.5952 259.90952 l -242.6479 258.88177 l -242.96414 258.38107 l -241.6992 256.03568 l -h -S -/DeviceRGB {} CS -[0.9882 0.6863 0.1961] SC -/DeviceRGB {} cs -[0.9882 0.6863 0.1961] sc -370.66971 177.55708 m -369.35208 177.00368 l -368.82501 176.39757 l -368.24527 176.08133 l -367.61279 175.52792 l -367.29657 175.07993 l -366.55869 174.39474 l -366.87491 173.78864 l -367.40198 174.13123 l -367.7182 173.81499 l -368.40338 173.78864 l -369.6683 174.02582 l -370.66971 173.99945 l -371.30219 174.34204 l -371.82925 174.31569 l -371.4603 174.97452 l -372.19818 175.52792 l -371.98737 176.21309 l -371.61841 176.29214 l -371.35489 176.42392 l -370.88055 176.76649 l -370.66971 177.55708 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -370.66971 177.55708 m -369.35208 177.00368 l -368.82501 176.39757 l -368.24527 176.08133 l -367.61279 175.52792 l -367.29657 175.07993 l -366.55869 174.39474 l -366.87491 173.78864 l -367.40198 174.13123 l -367.7182 173.81499 l -368.40338 173.78864 l -369.6683 174.02582 l -370.66971 173.99945 l -371.30219 174.34204 l -371.82925 174.31569 l -371.4603 174.97452 l -372.19818 175.52792 l -371.98737 176.21309 l -371.61841 176.29214 l -371.35489 176.42392 l -370.88055 176.76649 l -370.66971 177.55708 l -h -S -/DeviceRGB {} CS -[0.502 0.0314 0.6471] SC -/DeviceRGB {} cs -[0.502 0.0314 0.6471] sc -386.58679 272.34805 m -384.53128 273.4285 l -383.21365 274.50897 l -382.68658 275.48401 l -382.26495 276.03741 l -381.47437 276.14285 l -381.21082 276.85437 l -381.0527 277.30237 l -380.15671 277.64496 l -378.94449 277.56589 l -378.25931 277.17059 l -377.62686 276.98611 l -376.88898 277.3287 l -376.57275 278.04025 l -375.83487 278.46188 l -375.14969 279.1207 l -374.09558 279.27881 l -373.77936 278.75177 l -373.88477 277.85577 l -373.04147 276.48541 l -372.61981 276.24826 l -372.61981 271.9791 l -374.04288 271.92639 l -374.09558 266.70856 l -375.20239 266.68219 l -377.46875 266.15512 l -377.99579 266.76126 l -378.94449 266.18149 l -379.41885 266.18149 l -380.20941 265.86526 l -380.47296 265.97067 l -381.0527 267.13019 l -381.31625 267.39371 l -381.79059 268.237 l -383.47717 269.84451 l -384.10965 270.00266 l -384.10965 270.52969 l -384.53128 271.45206 l -385.63809 271.68921 l -386.58679 272.34805 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -386.58679 272.34805 m -384.53128 273.4285 l -383.21365 274.50897 l -382.68658 275.48401 l -382.26495 276.03741 l -381.47437 276.14285 l -381.21082 276.85437 l -381.0527 277.30237 l -380.15671 277.64496 l -378.94449 277.56589 l -378.25931 277.17059 l -377.62686 276.98611 l -376.88898 277.3287 l -376.57275 278.04025 l -375.83487 278.46188 l -375.14969 279.1207 l -374.09558 279.27881 l -373.77936 278.75177 l -373.88477 277.85577 l -373.04147 276.48541 l -372.61981 276.24826 l -372.61981 271.9791 l -374.04288 271.92639 l -374.09558 266.70856 l -375.20239 266.68219 l -377.46875 266.15512 l -377.99579 266.76126 l -378.94449 266.18149 l -379.41885 266.18149 l -380.20941 265.86526 l -380.47296 265.97067 l -381.0527 267.13019 l -381.31625 267.39371 l -381.79059 268.237 l -383.47717 269.84451 l -384.10965 270.00266 l -384.10965 270.52969 l -384.53128 271.45206 l -385.63809 271.68921 l -386.58679 272.34805 l -h -S -/DeviceRGB {} CS -[0.9765 0.6039 0.2392] SC -/DeviceRGB {} cs -[0.9765 0.6039 0.2392] sc -265.36401 289.42465 m -264.94235 288.6077 l -265.62753 287.92255 l -264.78424 286.92114 l -263.62473 286.10419 l -262.09625 285.15549 l -261.56921 285.20819 l -260.09344 284.07501 l -259.14474 284.23315 l -261.09485 282.23035 l -262.72873 280.80728 l -263.73013 280.22751 l -264.94235 279.41058 l -264.99506 278.25107 l -264.25717 277.40778 l -263.51932 277.6713 l -263.83554 276.828 l -263.99365 275.95837 l -264.04636 275.16779 l -263.51932 274.90427 l -262.93954 275.14145 l -262.41248 275.06238 l -262.20166 274.50897 l -262.09625 273.16498 l -261.83273 272.71698 l -260.83133 272.32169 l -260.25156 272.61157 l -258.67041 272.34805 l -258.77582 270.34521 l -258.35416 269.52829 l -258.82852 269.2384 l -258.67041 268.39511 l -259.09204 267.76266 l -259.30286 266.60312 l -258.98663 265.70715 l -258.19604 265.28549 l -258.03793 264.70572 l -258.24875 263.86246 l -255.45535 263.80975 l -254.8756 262.0968 l -255.29724 262.07047 l -255.29724 261.43799 l -254.981 261.01636 l -254.9283 260.17307 l -254.08501 259.72507 l -253.13631 259.7514 l -252.55655 259.32977 l -251.55515 259.03989 l -250.97539 258.48648 l -249.34151 258.2493 l -247.76035 256.93167 l -247.86575 255.9566 l -247.70764 255.37685 l -247.86575 254.29639 l -245.91565 254.53355 l -245.17776 255.08698 l -243.86014 255.69308 l -243.5439 256.11472 l -242.80602 256.16742 l -241.6992 256.03568 l -240.90862 256.27286 l -240.22345 256.11472 l -240.32886 253.90109 l -239.11664 254.74438 l -237.8517 254.71803 l -237.27194 253.92744 l -236.32324 253.84839 l -236.58676 253.21593 l -235.79619 252.31993 l -235.21642 251.00229 l -235.58536 250.73875 l -235.58536 250.13264 l -236.48135 249.711 l -236.32324 248.92041 l -236.69217 248.39336 l -236.79759 247.73454 l -238.48416 246.73314 l -239.64369 246.44325 l -239.85451 246.23244 l -241.17215 246.28514 l -241.85732 242.27951 l -241.85732 241.64705 l -241.6465 240.80376 l -241.01404 240.2767 l -241.01404 239.19624 l -241.80461 238.95906 l -242.12085 239.11719 l -242.17355 238.56377 l -241.33026 238.40565 l -241.27756 237.48331 l -244.12366 237.50966 l -244.65071 237.00896 l -245.01965 237.48331 l -245.33589 238.35295 l -245.59941 238.16849 l -246.39 238.93271 l -247.54951 238.85365 l -247.81305 238.40565 l -248.91986 238.06306 l -249.49963 237.8259 l -249.71045 237.19344 l -250.71185 236.77179 l -250.65915 236.4819 l -249.39421 236.35014 l -249.2361 235.4278 l -249.2888 234.45274 l -248.60364 234.05745 l -248.86716 233.92569 l -249.97398 234.11015 l -251.1335 234.4791 l -251.55515 234.13651 l -252.60925 233.89934 l -254.24313 233.34592 l -254.77019 232.79251 l -254.61206 232.39722 l -255.34995 232.31816 l -255.71889 232.66075 l -255.50806 233.29321 l -255.98241 233.5304 l -256.35135 234.21556 l -255.9297 234.71626 l -255.71889 235.95485 l -256.08783 236.71909 l -256.19324 237.3779 l -257.08923 238.06306 l -257.82712 238.14214 l -257.98523 237.85225 l -258.40686 237.79955 l -259.09204 237.53601 l -259.56638 237.14072 l -260.35696 237.27249 l -260.72592 237.21979 l -261.51651 237.35155 l -261.67462 237.03531 l -261.41107 236.74544 l -261.56921 236.32379 l -262.14896 236.45555 l -262.83414 236.29744 l -263.67743 236.61366 l -264.30991 236.9299 l -264.78424 236.50826 l -265.10046 236.58731 l -265.31131 236.9826 l -265.99646 236.8772 l -266.57623 236.32379 l -266.99786 235.24332 l -267.89386 233.92569 l -268.36823 233.84662 l -268.73715 234.66356 l -269.58044 237.21979 l -270.31833 237.45695 l -270.37103 238.45836 l -269.26422 239.67059 l -269.73856 240.11859 l -272.32114 240.35576 l -272.37384 241.80516 l -273.48065 240.85646 l -275.32535 241.38351 l -277.74982 242.27951 l -278.4877 243.1228 l -278.22415 243.93974 l -279.96344 243.49174 l -282.80954 244.25598 l -284.97046 244.20326 l -287.13141 245.4155 l -289.02881 247.04936 l -290.13562 247.47101 l -291.40054 247.55008 l -291.92761 247.99806 l -292.40195 249.86911 l -292.6655 250.73875 l -292.08572 253.16321 l -291.34784 254.13826 l -289.29233 256.16742 l -288.34363 257.82767 l -287.23682 259.09259 l -286.86786 259.11896 l -286.49893 260.1994 l -286.60434 262.94009 l -286.18271 265.18008 l -286.0246 266.15512 l -285.55023 266.73489 l -285.28671 268.685 l -283.81094 270.60876 l -283.54742 272.11087 l -282.38791 272.74332 l -282.01895 273.61298 l -280.43781 273.61298 l -278.11874 274.19275 l -277.11734 274.8252 l -275.48346 275.27319 l -273.7442 276.43271 l -272.53195 277.88211 l -272.26843 278.96259 l -272.53195 279.77951 l -272.26843 281.25528 l -271.95221 281.9668 l -270.89807 282.78375 l -269.26422 285.3663 l -267.99927 286.52585 l -266.99786 287.211 l -266.31271 288.6077 l -265.36401 289.42465 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -265.36401 289.42465 m -264.94235 288.6077 l -265.62753 287.92255 l -264.78424 286.92114 l -263.62473 286.10419 l -262.09625 285.15549 l -261.56921 285.20819 l -260.09344 284.07501 l -259.14474 284.23315 l -261.09485 282.23035 l -262.72873 280.80728 l -263.73013 280.22751 l -264.94235 279.41058 l -264.99506 278.25107 l -264.25717 277.40778 l -263.51932 277.6713 l -263.83554 276.828 l -263.99365 275.95837 l -264.04636 275.16779 l -263.51932 274.90427 l -262.93954 275.14145 l -262.41248 275.06238 l -262.20166 274.50897 l -262.09625 273.16498 l -261.83273 272.71698 l -260.83133 272.32169 l -260.25156 272.61157 l -258.67041 272.34805 l -258.77582 270.34521 l -258.35416 269.52829 l -258.82852 269.2384 l -258.67041 268.39511 l -259.09204 267.76266 l -259.30286 266.60312 l -258.98663 265.70715 l -258.19604 265.28549 l -258.03793 264.70572 l -258.24875 263.86246 l -255.45535 263.80975 l -254.8756 262.0968 l -255.29724 262.07047 l -255.29724 261.43799 l -254.981 261.01636 l -254.9283 260.17307 l -254.08501 259.72507 l -253.13631 259.7514 l -252.55655 259.32977 l -251.55515 259.03989 l -250.97539 258.48648 l -249.34151 258.2493 l -247.76035 256.93167 l -247.86575 255.9566 l -247.70764 255.37685 l -247.86575 254.29639 l -245.91565 254.53355 l -245.17776 255.08698 l -243.86014 255.69308 l -243.5439 256.11472 l -242.80602 256.16742 l -241.6992 256.03568 l -240.90862 256.27286 l -240.22345 256.11472 l -240.32886 253.90109 l -239.11664 254.74438 l -237.8517 254.71803 l -237.27194 253.92744 l -236.32324 253.84839 l -236.58676 253.21593 l -235.79619 252.31993 l -235.21642 251.00229 l -235.58536 250.73875 l -235.58536 250.13264 l -236.48135 249.711 l -236.32324 248.92041 l -236.69217 248.39336 l -236.79759 247.73454 l -238.48416 246.73314 l -239.64369 246.44325 l -239.85451 246.23244 l -241.17215 246.28514 l -241.85732 242.27951 l -241.85732 241.64705 l -241.6465 240.80376 l -241.01404 240.2767 l -241.01404 239.19624 l -241.80461 238.95906 l -242.12085 239.11719 l -242.17355 238.56377 l -241.33026 238.40565 l -241.27756 237.48331 l -244.12366 237.50966 l -244.65071 237.00896 l -245.01965 237.48331 l -245.33589 238.35295 l -245.59941 238.16849 l -246.39 238.93271 l -247.54951 238.85365 l -247.81305 238.40565 l -248.91986 238.06306 l -249.49963 237.8259 l -249.71045 237.19344 l -250.71185 236.77179 l -250.65915 236.4819 l -249.39421 236.35014 l -249.2361 235.4278 l -249.2888 234.45274 l -248.60364 234.05745 l -248.86716 233.92569 l -249.97398 234.11015 l -251.1335 234.4791 l -251.55515 234.13651 l -252.60925 233.89934 l -254.24313 233.34592 l -254.77019 232.79251 l -254.61206 232.39722 l -255.34995 232.31816 l -255.71889 232.66075 l -255.50806 233.29321 l -255.98241 233.5304 l -256.35135 234.21556 l -255.9297 234.71626 l -255.71889 235.95485 l -256.08783 236.71909 l -256.19324 237.3779 l -257.08923 238.06306 l -257.82712 238.14214 l -257.98523 237.85225 l -258.40686 237.79955 l -259.09204 237.53601 l -259.56638 237.14072 l -260.35696 237.27249 l -260.72592 237.21979 l -261.51651 237.35155 l -261.67462 237.03531 l -261.41107 236.74544 l -261.56921 236.32379 l -262.14896 236.45555 l -262.83414 236.29744 l -263.67743 236.61366 l -264.30991 236.9299 l -264.78424 236.50826 l -265.10046 236.58731 l -265.31131 236.9826 l -265.99646 236.8772 l -266.57623 236.32379 l -266.99786 235.24332 l -267.89386 233.92569 l -268.36823 233.84662 l -268.73715 234.66356 l -269.58044 237.21979 l -270.31833 237.45695 l -270.37103 238.45836 l -269.26422 239.67059 l -269.73856 240.11859 l -272.32114 240.35576 l -272.37384 241.80516 l -273.48065 240.85646 l -275.32535 241.38351 l -277.74982 242.27951 l -278.4877 243.1228 l -278.22415 243.93974 l -279.96344 243.49174 l -282.80954 244.25598 l -284.97046 244.20326 l -287.13141 245.4155 l -289.02881 247.04936 l -290.13562 247.47101 l -291.40054 247.55008 l -291.92761 247.99806 l -292.40195 249.86911 l -292.6655 250.73875 l -292.08572 253.16321 l -291.34784 254.13826 l -289.29233 256.16742 l -288.34363 257.82767 l -287.23682 259.09259 l -286.86786 259.11896 l -286.49893 260.1994 l -286.60434 262.94009 l -286.18271 265.18008 l -286.0246 266.15512 l -285.55023 266.73489 l -285.28671 268.685 l -283.81094 270.60876 l -283.54742 272.11087 l -282.38791 272.74332 l -282.01895 273.61298 l -280.43781 273.61298 l -278.11874 274.19275 l -277.11734 274.8252 l -275.48346 275.27319 l -273.7442 276.43271 l -272.53195 277.88211 l -272.26843 278.96259 l -272.53195 279.77951 l -272.26843 281.25528 l -271.95221 281.9668 l -270.89807 282.78375 l -269.26422 285.3663 l -267.99927 286.52585 l -266.99786 287.211 l -266.31271 288.6077 l -265.36401 289.42465 l -h -S -/DeviceRGB {} CS -[0.9843 0.6235 0.2275] SC -/DeviceRGB {} cs -[0.9843 0.6235 0.2275] sc -376.67816 175.23804 m -377.09979 175.84415 l -377.67957 175.73874 l -378.78638 175.97592 l -380.9473 176.05498 l -381.63248 175.65968 l -383.37177 175.34344 l -384.42587 175.8705 l -385.32187 176.02863 l -384.53128 176.63474 l -384.00421 177.66249 l -384.47858 178.50578 l -383.21365 178.32132 l -381.73788 178.76932 l -381.73788 179.50719 l -380.36755 179.63895 l -379.36615 179.13824 l -378.2066 179.53354 l -377.09979 179.48083 l -376.99438 178.50578 l -376.2565 178.05779 l -376.52005 177.84697 l -376.36191 177.66249 l -376.57275 177.18814 l -377.1525 176.74014 l -376.41461 176.10768 l -376.3092 175.58063 l -376.67816 175.23804 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -376.67816 175.23804 m -377.09979 175.84415 l -377.67957 175.73874 l -378.78638 175.97592 l -380.9473 176.05498 l -381.63248 175.65968 l -383.37177 175.34344 l -384.42587 175.8705 l -385.32187 176.02863 l -384.53128 176.63474 l -384.00421 177.66249 l -384.47858 178.50578 l -383.21365 178.32132 l -381.73788 178.76932 l -381.73788 179.50719 l -380.36755 179.63895 l -379.36615 179.13824 l -378.2066 179.53354 l -377.09979 179.48083 l -376.99438 178.50578 l -376.2565 178.05779 l -376.52005 177.84697 l -376.36191 177.66249 l -376.57275 177.18814 l -377.1525 176.74014 l -376.41461 176.10768 l -376.3092 175.58063 l -376.67816 175.23804 l -h -S -/DeviceRGB {} CS -[0.5569 0.0588 0.6314] SC -/DeviceRGB {} cs -[0.5569 0.0588 0.6314] sc -335.56781 224.80762 m -335.51511 223.96432 l -335.88403 223.35822 l -335.83133 222.85751 l -337.04358 221.64529 l -337.25439 220.64388 l -337.62332 220.27495 l -338.36121 220.48576 l -338.94098 220.16953 l -339.15179 219.8006 l -340.31131 219.14177 l -340.57483 218.69377 l -341.94519 218.08766 l -342.73578 217.87685 l -343.10471 218.14037 l -344.05341 218.14037 l -343.948 218.8519 l -344.10611 219.51071 l -344.9494 220.48576 l -345.00211 221.1973 l -346.68869 221.51352 l -346.63599 222.51492 l -346.31973 222.96292 l -345.63458 223.0947 l -345.31833 223.72716 l -344.79129 223.91162 l -343.52637 223.85892 l -342.84119 223.75351 l -342.36682 223.99069 l -341.73438 223.88527 l -339.2045 223.96432 l -339.15179 224.78127 l -339.36261 225.88809 l -338.36121 225.51915 l -337.67603 225.57185 l -337.14899 225.9408 l -336.51651 225.62456 l -336.25299 225.15021 l -335.56781 224.80762 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -335.56781 224.80762 m -335.51511 223.96432 l -335.88403 223.35822 l -335.83133 222.85751 l -337.04358 221.64529 l -337.25439 220.64388 l -337.62332 220.27495 l -338.36121 220.48576 l -338.94098 220.16953 l -339.15179 219.8006 l -340.31131 219.14177 l -340.57483 218.69377 l -341.94519 218.08766 l -342.73578 217.87685 l -343.10471 218.14037 l -344.05341 218.14037 l -343.948 218.8519 l -344.10611 219.51071 l -344.9494 220.48576 l -345.00211 221.1973 l -346.68869 221.51352 l -346.63599 222.51492 l -346.31973 222.96292 l -345.63458 223.0947 l -345.31833 223.72716 l -344.79129 223.91162 l -343.52637 223.85892 l -342.84119 223.75351 l -342.36682 223.99069 l -341.73438 223.88527 l -339.2045 223.96432 l -339.15179 224.78127 l -339.36261 225.88809 l -338.36121 225.51915 l -337.67603 225.57185 l -337.14899 225.9408 l -336.51651 225.62456 l -336.25299 225.15021 l -335.56781 224.80762 l -h -S -/DeviceRGB {} CS -[0.4627 0.0118 0.6549] SC -/DeviceRGB {} cs -[0.4627 0.0118 0.6549] sc -388.11526 243.54445 m -388.16797 244.09785 l -388.48419 244.44044 l -388.5369 244.91479 l -388.16797 245.23103 l -387.5882 245.99525 l -387.06116 246.52231 l -386.42868 246.57501 l -386.37598 244.80939 l -386.00705 244.15056 l -386.90305 244.28233 l -387.32468 243.43904 l -388.11526 243.54445 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -388.11526 243.54445 m -388.16797 244.09785 l -388.48419 244.44044 l -388.5369 244.91479 l -388.16797 245.23103 l -387.5882 245.99525 l -387.06116 246.52231 l -386.42868 246.57501 l -386.37598 244.80939 l -386.00705 244.15056 l -386.90305 244.28233 l -387.32468 243.43904 l -388.11526 243.54445 l -h -S -/DeviceRGB {} CS -[0.7647 0.2431 0.502] SC -/DeviceRGB {} cs -[0.7647 0.2431 0.502] sc -493.68451 222.17235 m -493.31555 220.38036 l -494.26425 219.16812 l -496.16165 218.9046 l -497.53201 219.11542 l -498.74423 219.66882 l -499.37671 218.66742 l -500.69434 219.22083 l -501.01059 220.19588 l -500.85245 221.93517 l -498.37531 223.06834 l -499.06046 223.96432 l -497.47931 224.06975 l -496.21436 224.64951 l -495.00214 224.43867 l -494.42239 223.67445 l -493.68451 222.17235 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -493.68451 222.17235 m -493.31555 220.38036 l -494.26425 219.16812 l -496.16165 218.9046 l -497.53201 219.11542 l -498.74423 219.66882 l -499.37671 218.66742 l -500.69434 219.22083 l -501.01059 220.19588 l -500.85245 221.93517 l -498.37531 223.06834 l -499.06046 223.96432 l -497.47931 224.06975 l -496.21436 224.64951 l -495.00214 224.43867 l -494.42239 223.67445 l -493.68451 222.17235 l -h -S -/DeviceRGB {} CS -[0.4902 0.0275 0.6471] SC -/DeviceRGB {} cs -[0.4902 0.0275 0.6471] sc -364.71399 221.17094 m -365.29376 222.11964 l -365.39917 223.0947 l -365.34647 224.0434 l -366.13705 225.38739 l -365.34647 225.36102 l -364.9248 225.46645 l -364.23962 225.33467 l -363.9234 226.01985 l -364.76669 226.86314 l -365.45187 227.12666 l -365.60999 227.73277 l -366.08432 228.73419 l -365.8735 229.12947 l -365.13562 230.63159 l -364.76669 230.89511 l -364.66129 232.02829 l -364.8194 232.6344 l -364.71399 233.0824 l -365.39917 233.84662 l -365.50458 234.37369 l -366.03162 235.11156 l -366.7168 235.58591 l -366.7695 236.24474 l -366.92761 236.69272 l -366.8222 237.48331 l -365.66269 237.11436 l -364.50317 236.74544 l -362.65848 236.69272 l -362.44766 236.61366 l -361.60437 236.79814 l -360.70837 236.58731 l -360.02319 236.69272 l -357.65146 236.66637 l -357.86227 235.50685 l -357.2825 234.5318 l -356.59732 234.29462 l -356.2811 233.6358 l -355.91217 233.42499 l -355.96487 233.00334 l -356.3338 231.97557 l -357.01898 230.57889 l -357.44061 230.55252 l -358.33661 229.68289 l -358.86368 229.68289 l -359.70697 230.26265 l -360.70837 229.7883 l -360.81378 229.18219 l -361.18271 228.57607 l -361.39352 227.8382 l -362.18411 227.23207 l -362.44766 226.20432 l -362.76389 225.88809 l -362.9747 225.12386 l -363.34366 224.20151 l -364.60858 223.06834 l -364.66129 222.56764 l -364.8194 222.30411 l -364.23962 221.72435 l -364.29236 221.25 l -364.71399 221.17094 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -364.71399 221.17094 m -365.29376 222.11964 l -365.39917 223.0947 l -365.34647 224.0434 l -366.13705 225.38739 l -365.34647 225.36102 l -364.9248 225.46645 l -364.23962 225.33467 l -363.9234 226.01985 l -364.76669 226.86314 l -365.45187 227.12666 l -365.60999 227.73277 l -366.08432 228.73419 l -365.8735 229.12947 l -365.13562 230.63159 l -364.76669 230.89511 l -364.66129 232.02829 l -364.8194 232.6344 l -364.71399 233.0824 l -365.39917 233.84662 l -365.50458 234.37369 l -366.03162 235.11156 l -366.7168 235.58591 l -366.7695 236.24474 l -366.92761 236.69272 l -366.8222 237.48331 l -365.66269 237.11436 l -364.50317 236.74544 l -362.65848 236.69272 l -362.44766 236.61366 l -361.60437 236.79814 l -360.70837 236.58731 l -360.02319 236.69272 l -357.65146 236.66637 l -357.86227 235.50685 l -357.2825 234.5318 l -356.59732 234.29462 l -356.2811 233.6358 l -355.91217 233.42499 l -355.96487 233.00334 l -356.3338 231.97557 l -357.01898 230.57889 l -357.44061 230.55252 l -358.33661 229.68289 l -358.86368 229.68289 l -359.70697 230.26265 l -360.70837 229.7883 l -360.81378 229.18219 l -361.18271 228.57607 l -361.39352 227.8382 l -362.18411 227.23207 l -362.44766 226.20432 l -362.76389 225.88809 l -362.9747 225.12386 l -363.34366 224.20151 l -364.60858 223.06834 l -364.66129 222.56764 l -364.8194 222.30411 l -364.23962 221.72435 l -364.29236 221.25 l -364.71399 221.17094 l -h -S -/DeviceRGB {} CS -[0.9608 0.902 0.1373] SC -/DeviceRGB {} cs -[0.9608 0.902 0.1373] sc -163.694977 168.2809 m -163.484146 168.25455 l -160.638046 166.831497 l -159.583939 166.199036 l -156.948654 165.592926 l -156.158081 164.301636 l -156.316193 163.40564 l -154.471497 162.773178 l -154.207962 161.587296 l -152.415985 160.533188 l -152.415985 159.768951 l -153.206558 159.057434 l -153.206558 158.135086 l -150.676697 157.212738 l -149.200943 155.552505 l -148.304947 154.498398 l -146.934601 153.839584 l -145.933197 153.233459 l -145.195313 152.469238 l -143.719559 152.943588 l -142.296509 153.760529 l -140.978867 152.811829 l -139.977463 152.153 l -138.554413 151.757706 l -137.078659 151.705002 l -137.078659 143.377533 l -137.131363 137.948853 l -139.819351 138.291443 l -142.138397 139.00296 l -143.666855 139.134735 l -144.931793 138.52861 l -146.723785 138.080612 l -148.884705 138.238739 l -151.098343 137.606262 l -153.470093 137.237335 l -154.5242 137.843445 l -155.578308 137.500854 l -155.894547 136.815689 l -156.948654 136.973801 l -159.425827 138.291443 l -161.375931 137.290039 l -161.534042 138.396851 l -163.326035 138.159668 l -163.905792 137.738037 l -165.697784 137.817093 l -167.91142 138.449554 l -171.33728 138.976608 l -173.34009 139.213791 l -174.81584 139.134735 l -176.76595 139.872604 l -174.71043 140.610489 l -177.34572 140.90036 l -181.29863 140.742249 l -182.56357 140.478714 l -184.09203 141.348358 l -185.72589 140.610489 l -184.19743 140.004364 l -185.14613 139.503662 l -186.93813 139.424606 l -188.09764 139.292847 l -189.30988 139.635437 l -190.78563 140.42601 l -192.41951 140.320602 l -195.00208 140.979416 l -197.26842 140.742249 l -199.37663 140.7686 l -199.21852 139.872604 l -200.53616 139.609085 l -202.80251 140.109787 l -202.80251 141.480133 l -203.69849 140.320602 l -204.91072 140.373306 l -205.54318 138.897552 l -203.96202 137.975204 l -202.27544 137.395447 l -202.38086 135.787918 l -204.12013 134.707458 l -206.07024 134.944641 l -207.54601 135.603455 l -209.54881 137.237335 l -208.23117 137.975204 l -210.97186 138.265091 l -210.91916 139.767197 l -212.92197 138.607666 l -214.66125 139.556366 l -214.1869 140.636841 l -215.60995 141.638245 l -217.13841 140.557785 l -218.24522 139.319199 l -218.29793 137.711685 l -220.40616 137.817093 l -222.56708 138.027908 l -224.5172 138.765793 l -224.6226 139.47731 l -223.51578 140.267899 l -224.5699 141.032135 l -224.35907 141.743652 l -221.51297 142.771408 l -219.45746 143.008591 l -217.929 142.560593 l -217.50735 143.298462 l -216.0843 144.537048 l -215.66266 145.16951 l -213.97607 146.170914 l -211.86786 146.249985 l -210.70833 146.882446 l -210.60292 147.831146 l -208.91635 148.01561 l -207.12436 149.201492 l -205.54318 150.86171 l -204.96342 151.994888 l -204.91072 153.707809 l -207.01894 153.944992 l -207.70412 155.315338 l -208.38928 156.42215 l -210.44481 156.132278 l -213.13278 156.76474 l -214.60855 157.344498 l -215.66266 158.029678 l -217.50735 158.424957 l -219.03581 159.031082 l -221.46027 159.13649 l -223.04143 159.26825 l -222.83061 160.533188 l -223.25226 162.008942 l -224.35907 163.642822 l -226.52 165.039505 l -227.62682 164.565155 l -228.4174 163.063049 l -227.67952 160.744003 l -226.62541 159.979782 l -228.99716 159.294601 l -230.63104 158.266846 l -231.47432 157.23909 l -231.31621 156.264038 l -230.3148 155.025452 l -228.57552 153.91864 l -230.2621 152.390182 l -229.62962 151.046188 l -229.15527 148.779846 l -230.15669 148.437256 l -232.68655 148.83255 l -234.21501 148.96431 l -235.42725 148.595383 l -236.74489 149.096085 l -238.58957 149.939362 l -239.01122 150.492783 l -241.6465 150.624542 l -241.5938 151.836761 l -242.06815 153.681458 l -243.38579 153.91864 l -244.4926 154.788284 l -246.60081 153.971344 l -247.97116 152.363831 l -248.97256 151.67865 l -250.07939 152.96994 l -251.97679 154.840988 l -253.61066 156.606628 l -253.0309 157.528976 l -254.981 158.345901 l -256.29865 159.189194 l -258.61768 159.558136 l -259.56638 160.032486 l -260.14615 161.271057 l -261.30566 161.455536 l -261.88544 162.008942 l -261.99084 163.669174 l -260.93674 164.22258 l -259.88263 164.723282 l -257.45816 165.250336 l -255.61348 166.46257 l -253.13631 166.699738 l -250.02669 166.383499 l -247.81305 166.357147 l -246.28459 166.46257 l -245.07236 167.516678 l -243.22766 168.17549 l -241.11945 170.09924 l -239.43286 171.46959 l -240.6451 171.20607 l -243.01685 169.2823 l -246.07376 168.07008 l -248.2874 167.93832 l -249.55234 168.64984 l -248.18199 169.62489 l -248.65634 171.20607 l -249.13069 172.31288 l -251.02809 173.05075 l -253.45255 172.83994 l -254.9283 171.17972 l -255.03371 172.23383 l -255.9297 172.78723 l -254.13771 173.73593 l -250.92268 174.60558 l -249.44691 175.21169 l -247.81305 176.26579 l -246.70624 176.13403 l -246.65353 174.89545 l -249.1834 173.70958 l -246.86435 173.73593 l -245.23048 173.92039 l -244.28178 173.10347 l -244.28178 171.10065 l -243.5966 170.679 l -242.6479 170.91618 l -242.12085 170.54724 l -241.01404 171.65407 l -240.59239 172.78723 l -240.06534 173.44604 l -239.43286 173.68323 l -238.95851 173.76228 l -238.8004 174.10487 l -236.11241 174.10487 l -233.89879 174.13123 l -233.26631 174.39474 l -231.68515 175.44887 l -231.52702 175.55428 l -231.05267 176.13403 l -229.68234 176.13403 l -228.25929 176.13403 l -227.62682 176.37122 l -227.83765 176.66109 l -227.94305 177.10909 l -227.94305 177.24084 l -226.04565 177.97873 l -224.5172 178.2159 l -222.83061 178.98013 l -222.46167 178.98013 l -221.93462 178.76932 l -221.7765 178.55849 l -221.82921 178.40038 l -222.14545 177.89967 l -222.83061 177.08273 l -223.25226 176.21309 l -222.98872 174.94817 l -222.6725 173.60417 l -221.14403 172.91899 l -221.30215 172.65547 l -221.09132 172.49734 l -220.66968 172.49734 l -220.40616 172.26018 l -220.30075 171.91759 l -220.03722 172.04935 l -219.66827 172.02299 l -219.72098 171.86488 l -219.40475 171.73312 l -219.24663 171.33783 l -218.13982 170.86348 l -216.9276 170.38913 l -215.50455 169.80937 l -214.1342 169.2823 l -212.81656 169.70395 l -212.34221 169.7303 l -210.55022 169.33502 l -209.33798 169.51949 l -207.91493 169.07149 l -206.43918 168.83432 l -205.43777 168.75525 l -204.96342 168.49173 l -204.69991 167.701141 l -204.22556 167.701141 l -204.17284 168.2809 l -201.16862 168.2809 l -196.16159 168.2809 l -191.20728 168.2809 l -186.78001 168.2809 l -182.40544 168.2809 l -178.08359 168.2809 l -173.60362 168.2809 l -172.18057 168.2809 l -167.8587 168.2809 l -163.694977 168.2809 l -h -220.56427 148.569031 m -221.61838 147.910202 l -223.6212 147.910202 l -223.6212 148.200089 l -221.88191 149.017029 l -220.88051 148.96431 l -220.56427 148.569031 l -h -226.73082 133.416168 m -225.09695 132.651947 l -225.14966 132.124893 l -225.88754 132.01947 l -229.20799 132.177597 l -231.73785 132.994537 l -231.89597 133.389816 l -230.3148 133.337112 l -228.73364 133.31076 l -227.15247 133.521591 l -226.73082 133.416168 l -h -225.94025 149.122437 m -226.4673 148.674438 l -227.09976 148.70079 l -227.4687 149.017029 l -226.88895 149.78125 l -226.25647 149.64949 l -225.83482 149.201492 l -225.94025 149.122437 l -h -206.43918 130.227493 m -205.64861 130.807251 l -203.54037 130.701843 l -201.74838 130.306549 l -202.53897 129.64772 l -204.64719 129.252441 l -205.91212 129.779495 l -206.43918 130.227493 l -h -206.12296 126.511749 m -205.43777 126.564453 l -202.69708 126.459038 l -202.32816 126.063751 l -205.27966 126.090103 l -206.28107 126.35363 l -206.12296 126.511749 l -h -201.85381 124.693405 m -203.59308 125.194107 l -203.22414 125.721161 l -201.06322 126.037399 l -199.85098 125.694809 l -199.21852 125.141403 l -199.11311 124.535286 l -201.01051 124.58799 l -201.85381 124.693405 l -h -214.45042 131.097122 m -212.07867 130.912659 l -208.17847 130.438309 l -207.70412 129.64772 l -207.4933 128.909851 l -206.07024 128.27739 l -203.01332 128.092911 l -201.32674 127.644913 l -201.85381 127.038803 l -204.91072 127.144211 l -206.49188 127.618561 l -209.3907 127.592209 l -210.65562 128.092911 l -210.3394 128.646317 l -212.02597 128.962555 l -212.92197 129.305145 l -214.92477 129.384201 l -217.033 129.489609 l -219.35205 129.17337 l -222.35626 129.067963 l -224.72801 129.17337 l -226.30917 129.726791 l -226.62541 130.332901 l -225.72942 130.701843 l -223.51578 131.018066 l -221.6711 130.833603 l -217.45465 131.07077 l -214.45042 131.097122 l -h -180.61345 125.589401 m -182.66898 125.826576 l -182.19463 126.248215 l -179.45393 126.669861 l -177.293 126.195511 l -178.50523 125.747513 l -180.61345 125.589401 l -h -181.0351 124.640701 m -182.98521 124.93058 l -181.19322 125.220459 l -178.76877 125.220459 l -178.76877 125.009636 l -180.29723 124.561638 l -181.0351 124.640701 l -h -262.09625 164.881393 m -261.30566 165.803741 l -260.35696 167.06868 l -261.30566 166.59433 l -262.30707 166.910553 l -261.78003 167.41127 l -263.09766 167.80655 l -263.73013 167.463974 l -265.20587 167.91197 l -264.78424 168.96608 l -265.78564 168.7289 l -265.99646 169.49313 l -266.41812 170.41548 l -265.83835 171.70677 l -265.15317 171.75948 l -264.20447 171.46959 l -264.52072 170.28372 l -264.09906 170.09924 l -262.41248 171.36418 l -261.51651 171.31148 l -262.57062 170.6263 l -261.14755 170.28372 l -259.56638 170.36278 l -256.72028 170.31007 l -256.50946 169.88843 l -257.40546 169.36137 l -256.77301 168.96608 l -258.03793 168.09644 l -259.51367 165.751038 l -260.46237 164.907745 l -261.72733 164.407043 l -262.41248 164.486099 l -262.09625 164.881393 l -h -220.7224 144.69516 m -222.30356 145.195862 l -223.99014 145.64386 l -224.09555 146.329041 l -225.20236 146.223633 l -226.25647 146.724335 l -224.93884 147.172333 l -222.6725 146.829742 l -221.82921 146.170914 l -220.40616 146.93515 l -218.29793 147.699387 l -217.82358 146.829742 l -215.82077 146.987854 l -217.08571 146.249985 l -217.29652 145.116806 l -217.77087 143.772812 l -218.825 143.878235 l -219.08852 144.537048 l -219.8791 144.299881 l -220.7224 144.69516 l -h -228.20657 134.074997 m -229.57692 133.495239 l -232.84467 134.233109 l -234.84749 134.944641 l -235.0056 135.577103 l -237.74629 135.260864 l -239.27475 136.183212 l -242.80602 136.762985 l -244.07095 137.342743 l -245.4413 138.713089 l -242.75331 139.398254 l -246.23189 140.346954 l -248.55093 140.689545 l -250.65915 142.033539 l -252.9782 142.112595 l -252.50385 143.14035 l -249.92126 144.853287 l -248.12929 144.22081 l -245.81024 142.824112 l -243.91284 143.008591 l -243.75471 143.825516 l -245.28319 144.69516 l -247.286 145.353989 l -247.86575 145.749283 l -248.81445 147.198685 l -248.3401 148.252792 l -246.49541 147.857498 l -242.80602 146.671631 l -244.86154 147.936554 l -246.39 148.83255 l -246.65353 149.333252 l -242.6479 148.753494 l -239.53827 147.910202 l -237.74629 147.198685 l -238.27335 146.777039 l -236.05971 146.039154 l -233.95149 145.327637 l -233.95149 145.749283 l -229.73505 145.98645 l -228.52281 145.459396 l -229.47151 144.405289 l -232.2122 144.378937 l -235.21642 144.168106 l -234.74207 143.667404 l -235.26912 142.929535 l -237.16652 141.506485 l -236.74489 140.847656 l -236.16512 140.346954 l -233.95149 139.635437 l -230.94727 139.134735 l -231.89597 138.765793 l -230.36751 137.869797 l -229.04987 137.790741 l -227.89035 137.290039 l -227.15247 137.711685 l -224.46449 137.896149 l -219.14122 137.57991 l -216.0316 137.158264 l -213.65985 136.921097 l -212.44762 136.420395 l -213.97607 135.735214 l -211.92056 135.735214 l -211.44621 134.25946 l -212.55302 132.941818 l -214.08148 132.335709 l -217.8763 131.966766 l -216.76947 132.915466 l -217.929 133.811462 l -219.29935 132.625595 l -222.98872 132.045837 l -225.5186 133.547943 l -225.30777 134.496643 l -228.20657 134.074997 l -h -205.17426 131.466064 m -208.23117 131.518768 l -211.02457 131.887711 l -208.81093 133.179001 l -207.07166 133.468887 l -205.49048 134.575699 l -203.80391 134.496643 l -202.90791 133.231705 l -202.96062 132.49382 l -203.69849 131.861359 l -205.17426 131.466064 l -h -163.642258 128.567261 m -166.119431 127.486801 l -169.12364 126.538101 l -171.38998 126.538101 l -173.39279 126.327278 l -173.18198 127.460449 l -172.07515 127.961151 l -170.7048 128.040207 l -167.96413 128.672668 l -165.645081 128.883499 l -163.642258 128.567261 l -h -149.200943 160.90213 m -150.623993 160.770355 l -150.202347 162.430588 l -151.467285 163.616455 l -150.887512 163.616455 l -149.991531 162.93129 l -149.464462 162.272476 l -148.726593 161.798126 l -148.463058 161.165649 l -148.515762 160.691299 l -149.200943 160.90213 l -h -189.04634 123.902817 m -191.94516 124.11364 l -195.89807 124.640701 l -197.00488 125.352226 l -197.58464 125.958336 l -195.21289 125.800224 l -192.78844 125.325874 l -189.52069 125.246811 l -190.94374 124.825165 l -189.15176 124.482582 l -189.04634 123.902817 l -h -159.900177 166.884201 m -160.638046 167.569382 l -162.1138 168.17549 l -162.693558 168.99243 l -161.955688 169.1769 l -159.531235 168.51808 l -159.109589 168.01738 l -157.791946 167.490326 l -157.528427 167.06868 l -156.052658 166.805145 l -155.4729 166.014572 l -155.578308 165.671982 l -157.159485 165.98822 l -158.055481 166.225388 l -159.425827 166.383499 l -159.900177 166.884201 l -h -165.592377 131.018066 m -167.647888 131.307953 l -171.38998 131.387009 l -172.81303 131.835007 l -174.3942 132.441116 l -172.5495 132.810059 l -168.96553 133.837814 l -167.173538 134.86557 l -167.173538 135.498047 l -163.326035 136.209564 l -162.535446 135.577103 l -159.162292 134.786514 l -159.794754 134.180405 l -160.796158 133.099945 l -162.061096 132.151245 l -160.638046 131.255249 l -165.592377 131.018066 l -h -185.67319 128.962555 m -186.99083 128.725372 l -188.51929 128.778091 l -188.78282 129.515961 l -187.88683 130.201141 l -182.9325 130.438309 l -179.24312 131.07077 l -176.97678 131.097122 l -176.81865 130.622772 l -179.82288 129.963959 l -173.23468 130.148422 l -171.17915 129.884903 l -173.18198 128.461853 l -174.55232 128.040207 l -178.66335 128.540909 l -181.29863 129.410553 l -183.82849 129.515961 l -181.72028 128.119263 l -183.09062 127.592209 l -184.61908 127.750328 l -185.09343 128.435501 l -185.67319 128.962555 l -h -187.57059 133.020889 m -189.20447 133.626999 l -190.10046 135.050049 l -190.57481 136.077805 l -193.05197 136.789337 l -195.68724 137.500854 l -195.52913 138.133316 l -193.10468 138.265091 l -194.05338 138.818497 l -193.57903 139.345551 l -190.89104 139.134735 l -188.36118 138.739441 l -186.67459 138.818497 l -183.93391 139.319199 l -180.24452 139.530014 l -177.60924 139.661789 l -176.81865 138.976608 l -174.81584 138.581314 l -173.55092 138.739441 l -171.70622 137.57991 l -172.70763 137.421799 l -174.97397 137.184616 l -177.02948 137.237335 l -178.92688 137.000153 l -176.08078 136.657562 l -172.97115 136.762985 l -170.91563 136.736618 l -170.12505 136.183212 l -173.4982 135.603455 l -171.28458 135.629807 l -168.702 135.234512 l -169.91423 134.154053 l -170.96834 133.574295 l -174.86855 132.678299 l -176.39702 132.96817 l -175.65913 133.653351 l -178.87418 133.205353 l -180.92969 133.943237 l -182.56357 133.205353 l -183.93391 133.679703 l -185.14613 135.102753 l -185.88402 134.496643 l -184.8299 132.994537 l -186.09483 132.783707 l -187.57059 133.020889 l -h -196.47783 133.574295 m -194.84396 132.599243 l -196.58324 131.887711 l -198.32253 132.203949 l -200.95781 132.01947 l -201.32674 132.441116 l -199.95641 133.152649 l -202.17003 133.78511 l -201.90651 135.102753 l -199.53476 135.656158 l -198.11171 135.550751 l -197.11029 134.970993 l -193.47362 133.864166 l -193.47362 133.389816 l -196.47783 133.574295 l -h -187.46518 132.256653 m -189.41528 132.203949 l -190.52211 132.520187 l -189.25717 133.495239 l -186.93813 132.467468 l -187.46518 132.256653 l -h -199.21852 127.882088 m -199.32393 127.697624 l -200.43076 128.356445 l -200.48346 129.120667 l -199.79828 130.201141 l -197.37383 130.359253 l -195.79266 130.12207 l -195.84537 129.278793 l -193.47362 129.384201 l -193.36821 128.251022 l -194.94937 128.303741 l -197.11029 127.803032 l -199.21852 127.882088 l -h -202.96062 122.005417 m -203.96202 121.557426 l -205.43777 121.452011 l -204.80531 121.109428 l -208.23117 121.056717 l -210.07587 121.820953 l -212.55302 122.137184 l -214.97748 122.427063 l -216.13701 123.375763 l -217.8763 123.850113 l -215.87347 124.298111 l -213.1855 125.40493 l -210.55022 125.510338 l -207.54601 125.325874 l -205.96483 124.719757 l -205.96483 124.192703 l -207.12436 123.797409 l -204.48907 123.797409 l -202.85521 123.323059 l -201.90651 122.664238 l -202.96062 122.005417 l -h -209.44341 120.108017 m -211.60432 119.84449 l -213.29091 119.791786 l -216.18971 119.554611 l -218.35065 119.001205 l -220.14262 119.080261 l -221.7238 119.501907 l -222.83061 118.711319 l -224.78072 118.474144 l -227.416 118.316032 l -231.89597 118.236969 l -232.63385 118.395088 l -236.903 118.157913 l -240.06534 118.236969 l -243.22766 118.342384 l -247.12788 118.447792 l -250.29021 118.632263 l -252.9782 119.027557 l -252.87279 119.422844 l -249.34151 120.055313 l -245.75754 120.371544 l -244.4399 120.687782 l -247.65494 120.687782 l -244.17636 121.583778 l -241.80461 121.979065 l -239.27475 123.191292 l -236.27054 123.428467 l -235.32184 123.718353 l -230.89456 123.876465 l -232.95009 124.060936 l -231.89597 124.324463 l -233.1082 125.035988 l -231.73785 125.53669 l -229.47151 125.958336 l -228.78635 126.538101 l -226.73082 126.986099 l -226.94165 127.30233 l -229.47151 127.249626 l -229.47151 127.592209 l -225.5713 128.488205 l -221.7238 128.066559 l -217.45465 128.303741 l -215.24101 128.119263 l -212.50032 128.040207 l -212.28951 127.355034 l -215.03018 127.012451 l -214.29231 125.958336 l -215.18831 125.852928 l -219.08852 126.48539 l -217.08571 125.563049 l -214.71396 125.273163 l -215.92618 124.693405 l -218.50876 124.350815 l -218.9304 123.850113 l -216.87488 123.270355 l -216.24242 122.532478 l -220.24805 122.585182 l -221.40756 122.743301 l -223.6739 122.21624 l -220.40616 122.031776 l -215.24101 122.137184 l -212.65843 121.636482 l -211.44621 121.056717 l -209.75963 120.608727 l -209.44341 120.108017 l -h -233.37172 141.269302 m -232.42302 141.690948 l -230.78915 141.770004 l -230.42021 141.058487 l -231.05267 140.241547 l -232.42302 140.030716 l -233.52985 140.452362 l -233.58255 141.058487 l -233.37172 141.269302 l -h -203.48767 138.844849 m -202.59167 139.345551 l -200.58887 138.897552 l -199.42934 139.055664 l -197.42653 138.396851 l -198.69147 137.948853 l -199.69287 137.316391 l -201.27403 137.738037 l -202.17003 138.001556 l -202.59167 138.265091 l -203.48767 138.844849 l -h -249.02528 166.989624 m -249.55234 166.857849 l -251.50244 167.226791 l -252.9782 167.85925 l -253.0309 168.12279 l -252.29303 168.14914 l -250.39563 167.674789 l -249.02528 166.989624 l -h -249.76315 171.15335 m -250.29021 171.86488 l -251.34433 172.04935 l -252.71466 172.02299 l -251.97679 172.60277 l -251.44974 172.70818 l -249.60504 172.0757 l -249.2361 171.60135 l -249.76315 171.15335 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -163.694977 168.2809 m -163.484146 168.25455 l -160.638046 166.831497 l -159.583939 166.199036 l -156.948654 165.592926 l -156.158081 164.301636 l -156.316193 163.40564 l -154.471497 162.773178 l -154.207962 161.587296 l -152.415985 160.533188 l -152.415985 159.768951 l -153.206558 159.057434 l -153.206558 158.135086 l -150.676697 157.212738 l -149.200943 155.552505 l -148.304947 154.498398 l -146.934601 153.839584 l -145.933197 153.233459 l -145.195313 152.469238 l -143.719559 152.943588 l -142.296509 153.760529 l -140.978867 152.811829 l -139.977463 152.153 l -138.554413 151.757706 l -137.078659 151.705002 l -137.078659 143.377533 l -137.131363 137.948853 l -139.819351 138.291443 l -142.138397 139.00296 l -143.666855 139.134735 l -144.931793 138.52861 l -146.723785 138.080612 l -148.884705 138.238739 l -151.098343 137.606262 l -153.470093 137.237335 l -154.5242 137.843445 l -155.578308 137.500854 l -155.894547 136.815689 l -156.948654 136.973801 l -159.425827 138.291443 l -161.375931 137.290039 l -161.534042 138.396851 l -163.326035 138.159668 l -163.905792 137.738037 l -165.697784 137.817093 l -167.91142 138.449554 l -171.33728 138.976608 l -173.34009 139.213791 l -174.81584 139.134735 l -176.76595 139.872604 l -174.71043 140.610489 l -177.34572 140.90036 l -181.29863 140.742249 l -182.56357 140.478714 l -184.09203 141.348358 l -185.72589 140.610489 l -184.19743 140.004364 l -185.14613 139.503662 l -186.93813 139.424606 l -188.09764 139.292847 l -189.30988 139.635437 l -190.78563 140.42601 l -192.41951 140.320602 l -195.00208 140.979416 l -197.26842 140.742249 l -199.37663 140.7686 l -199.21852 139.872604 l -200.53616 139.609085 l -202.80251 140.109787 l -202.80251 141.480133 l -203.69849 140.320602 l -204.91072 140.373306 l -205.54318 138.897552 l -203.96202 137.975204 l -202.27544 137.395447 l -202.38086 135.787918 l -204.12013 134.707458 l -206.07024 134.944641 l -207.54601 135.603455 l -209.54881 137.237335 l -208.23117 137.975204 l -210.97186 138.265091 l -210.91916 139.767197 l -212.92197 138.607666 l -214.66125 139.556366 l -214.1869 140.636841 l -215.60995 141.638245 l -217.13841 140.557785 l -218.24522 139.319199 l -218.29793 137.711685 l -220.40616 137.817093 l -222.56708 138.027908 l -224.5172 138.765793 l -224.6226 139.47731 l -223.51578 140.267899 l -224.5699 141.032135 l -224.35907 141.743652 l -221.51297 142.771408 l -219.45746 143.008591 l -217.929 142.560593 l -217.50735 143.298462 l -216.0843 144.537048 l -215.66266 145.16951 l -213.97607 146.170914 l -211.86786 146.249985 l -210.70833 146.882446 l -210.60292 147.831146 l -208.91635 148.01561 l -207.12436 149.201492 l -205.54318 150.86171 l -204.96342 151.994888 l -204.91072 153.707809 l -207.01894 153.944992 l -207.70412 155.315338 l -208.38928 156.42215 l -210.44481 156.132278 l -213.13278 156.76474 l -214.60855 157.344498 l -215.66266 158.029678 l -217.50735 158.424957 l -219.03581 159.031082 l -221.46027 159.13649 l -223.04143 159.26825 l -222.83061 160.533188 l -223.25226 162.008942 l -224.35907 163.642822 l -226.52 165.039505 l -227.62682 164.565155 l -228.4174 163.063049 l -227.67952 160.744003 l -226.62541 159.979782 l -228.99716 159.294601 l -230.63104 158.266846 l -231.47432 157.23909 l -231.31621 156.264038 l -230.3148 155.025452 l -228.57552 153.91864 l -230.2621 152.390182 l -229.62962 151.046188 l -229.15527 148.779846 l -230.15669 148.437256 l -232.68655 148.83255 l -234.21501 148.96431 l -235.42725 148.595383 l -236.74489 149.096085 l -238.58957 149.939362 l -239.01122 150.492783 l -241.6465 150.624542 l -241.5938 151.836761 l -242.06815 153.681458 l -243.38579 153.91864 l -244.4926 154.788284 l -246.60081 153.971344 l -247.97116 152.363831 l -248.97256 151.67865 l -250.07939 152.96994 l -251.97679 154.840988 l -253.61066 156.606628 l -253.0309 157.528976 l -254.981 158.345901 l -256.29865 159.189194 l -258.61768 159.558136 l -259.56638 160.032486 l -260.14615 161.271057 l -261.30566 161.455536 l -261.88544 162.008942 l -261.99084 163.669174 l -260.93674 164.22258 l -259.88263 164.723282 l -257.45816 165.250336 l -255.61348 166.46257 l -253.13631 166.699738 l -250.02669 166.383499 l -247.81305 166.357147 l -246.28459 166.46257 l -245.07236 167.516678 l -243.22766 168.17549 l -241.11945 170.09924 l -239.43286 171.46959 l -240.6451 171.20607 l -243.01685 169.2823 l -246.07376 168.07008 l -248.2874 167.93832 l -249.55234 168.64984 l -248.18199 169.62489 l -248.65634 171.20607 l -249.13069 172.31288 l -251.02809 173.05075 l -253.45255 172.83994 l -254.9283 171.17972 l -255.03371 172.23383 l -255.9297 172.78723 l -254.13771 173.73593 l -250.92268 174.60558 l -249.44691 175.21169 l -247.81305 176.26579 l -246.70624 176.13403 l -246.65353 174.89545 l -249.1834 173.70958 l -246.86435 173.73593 l -245.23048 173.92039 l -244.28178 173.10347 l -244.28178 171.10065 l -243.5966 170.679 l -242.6479 170.91618 l -242.12085 170.54724 l -241.01404 171.65407 l -240.59239 172.78723 l -240.06534 173.44604 l -239.43286 173.68323 l -238.95851 173.76228 l -238.8004 174.10487 l -236.11241 174.10487 l -233.89879 174.13123 l -233.26631 174.39474 l -231.68515 175.44887 l -231.52702 175.55428 l -231.05267 176.13403 l -229.68234 176.13403 l -228.25929 176.13403 l -227.62682 176.37122 l -227.83765 176.66109 l -227.94305 177.10909 l -227.94305 177.24084 l -226.04565 177.97873 l -224.5172 178.2159 l -222.83061 178.98013 l -222.46167 178.98013 l -221.93462 178.76932 l -221.7765 178.55849 l -221.82921 178.40038 l -222.14545 177.89967 l -222.83061 177.08273 l -223.25226 176.21309 l -222.98872 174.94817 l -222.6725 173.60417 l -221.14403 172.91899 l -221.30215 172.65547 l -221.09132 172.49734 l -220.66968 172.49734 l -220.40616 172.26018 l -220.30075 171.91759 l -220.03722 172.04935 l -219.66827 172.02299 l -219.72098 171.86488 l -219.40475 171.73312 l -219.24663 171.33783 l -218.13982 170.86348 l -216.9276 170.38913 l -215.50455 169.80937 l -214.1342 169.2823 l -212.81656 169.70395 l -212.34221 169.7303 l -210.55022 169.33502 l -209.33798 169.51949 l -207.91493 169.07149 l -206.43918 168.83432 l -205.43777 168.75525 l -204.96342 168.49173 l -204.69991 167.701141 l -204.22556 167.701141 l -204.17284 168.2809 l -201.16862 168.2809 l -196.16159 168.2809 l -191.20728 168.2809 l -186.78001 168.2809 l -182.40544 168.2809 l -178.08359 168.2809 l -173.60362 168.2809 l -172.18057 168.2809 l -167.8587 168.2809 l -163.694977 168.2809 l -h -220.56427 148.569031 m -221.61838 147.910202 l -223.6212 147.910202 l -223.6212 148.200089 l -221.88191 149.017029 l -220.88051 148.96431 l -220.56427 148.569031 l -h -226.73082 133.416168 m -225.09695 132.651947 l -225.14966 132.124893 l -225.88754 132.01947 l -229.20799 132.177597 l -231.73785 132.994537 l -231.89597 133.389816 l -230.3148 133.337112 l -228.73364 133.31076 l -227.15247 133.521591 l -226.73082 133.416168 l -h -225.94025 149.122437 m -226.4673 148.674438 l -227.09976 148.70079 l -227.4687 149.017029 l -226.88895 149.78125 l -226.25647 149.64949 l -225.83482 149.201492 l -225.94025 149.122437 l -h -206.43918 130.227493 m -205.64861 130.807251 l -203.54037 130.701843 l -201.74838 130.306549 l -202.53897 129.64772 l -204.64719 129.252441 l -205.91212 129.779495 l -206.43918 130.227493 l -h -206.12296 126.511749 m -205.43777 126.564453 l -202.69708 126.459038 l -202.32816 126.063751 l -205.27966 126.090103 l -206.28107 126.35363 l -206.12296 126.511749 l -h -201.85381 124.693405 m -203.59308 125.194107 l -203.22414 125.721161 l -201.06322 126.037399 l -199.85098 125.694809 l -199.21852 125.141403 l -199.11311 124.535286 l -201.01051 124.58799 l -201.85381 124.693405 l -h -214.45042 131.097122 m -212.07867 130.912659 l -208.17847 130.438309 l -207.70412 129.64772 l -207.4933 128.909851 l -206.07024 128.27739 l -203.01332 128.092911 l -201.32674 127.644913 l -201.85381 127.038803 l -204.91072 127.144211 l -206.49188 127.618561 l -209.3907 127.592209 l -210.65562 128.092911 l -210.3394 128.646317 l -212.02597 128.962555 l -212.92197 129.305145 l -214.92477 129.384201 l -217.033 129.489609 l -219.35205 129.17337 l -222.35626 129.067963 l -224.72801 129.17337 l -226.30917 129.726791 l -226.62541 130.332901 l -225.72942 130.701843 l -223.51578 131.018066 l -221.6711 130.833603 l -217.45465 131.07077 l -214.45042 131.097122 l -h -180.61345 125.589401 m -182.66898 125.826576 l -182.19463 126.248215 l -179.45393 126.669861 l -177.293 126.195511 l -178.50523 125.747513 l -180.61345 125.589401 l -h -181.0351 124.640701 m -182.98521 124.93058 l -181.19322 125.220459 l -178.76877 125.220459 l -178.76877 125.009636 l -180.29723 124.561638 l -181.0351 124.640701 l -h -262.09625 164.881393 m -261.30566 165.803741 l -260.35696 167.06868 l -261.30566 166.59433 l -262.30707 166.910553 l -261.78003 167.41127 l -263.09766 167.80655 l -263.73013 167.463974 l -265.20587 167.91197 l -264.78424 168.96608 l -265.78564 168.7289 l -265.99646 169.49313 l -266.41812 170.41548 l -265.83835 171.70677 l -265.15317 171.75948 l -264.20447 171.46959 l -264.52072 170.28372 l -264.09906 170.09924 l -262.41248 171.36418 l -261.51651 171.31148 l -262.57062 170.6263 l -261.14755 170.28372 l -259.56638 170.36278 l -256.72028 170.31007 l -256.50946 169.88843 l -257.40546 169.36137 l -256.77301 168.96608 l -258.03793 168.09644 l -259.51367 165.751038 l -260.46237 164.907745 l -261.72733 164.407043 l -262.41248 164.486099 l -262.09625 164.881393 l -h -220.7224 144.69516 m -222.30356 145.195862 l -223.99014 145.64386 l -224.09555 146.329041 l -225.20236 146.223633 l -226.25647 146.724335 l -224.93884 147.172333 l -222.6725 146.829742 l -221.82921 146.170914 l -220.40616 146.93515 l -218.29793 147.699387 l -217.82358 146.829742 l -215.82077 146.987854 l -217.08571 146.249985 l -217.29652 145.116806 l -217.77087 143.772812 l -218.825 143.878235 l -219.08852 144.537048 l -219.8791 144.299881 l -220.7224 144.69516 l -h -228.20657 134.074997 m -229.57692 133.495239 l -232.84467 134.233109 l -234.84749 134.944641 l -235.0056 135.577103 l -237.74629 135.260864 l -239.27475 136.183212 l -242.80602 136.762985 l -244.07095 137.342743 l -245.4413 138.713089 l -242.75331 139.398254 l -246.23189 140.346954 l -248.55093 140.689545 l -250.65915 142.033539 l -252.9782 142.112595 l -252.50385 143.14035 l -249.92126 144.853287 l -248.12929 144.22081 l -245.81024 142.824112 l -243.91284 143.008591 l -243.75471 143.825516 l -245.28319 144.69516 l -247.286 145.353989 l -247.86575 145.749283 l -248.81445 147.198685 l -248.3401 148.252792 l -246.49541 147.857498 l -242.80602 146.671631 l -244.86154 147.936554 l -246.39 148.83255 l -246.65353 149.333252 l -242.6479 148.753494 l -239.53827 147.910202 l -237.74629 147.198685 l -238.27335 146.777039 l -236.05971 146.039154 l -233.95149 145.327637 l -233.95149 145.749283 l -229.73505 145.98645 l -228.52281 145.459396 l -229.47151 144.405289 l -232.2122 144.378937 l -235.21642 144.168106 l -234.74207 143.667404 l -235.26912 142.929535 l -237.16652 141.506485 l -236.74489 140.847656 l -236.16512 140.346954 l -233.95149 139.635437 l -230.94727 139.134735 l -231.89597 138.765793 l -230.36751 137.869797 l -229.04987 137.790741 l -227.89035 137.290039 l -227.15247 137.711685 l -224.46449 137.896149 l -219.14122 137.57991 l -216.0316 137.158264 l -213.65985 136.921097 l -212.44762 136.420395 l -213.97607 135.735214 l -211.92056 135.735214 l -211.44621 134.25946 l -212.55302 132.941818 l -214.08148 132.335709 l -217.8763 131.966766 l -216.76947 132.915466 l -217.929 133.811462 l -219.29935 132.625595 l -222.98872 132.045837 l -225.5186 133.547943 l -225.30777 134.496643 l -228.20657 134.074997 l -h -205.17426 131.466064 m -208.23117 131.518768 l -211.02457 131.887711 l -208.81093 133.179001 l -207.07166 133.468887 l -205.49048 134.575699 l -203.80391 134.496643 l -202.90791 133.231705 l -202.96062 132.49382 l -203.69849 131.861359 l -205.17426 131.466064 l -h -163.642258 128.567261 m -166.119431 127.486801 l -169.12364 126.538101 l -171.38998 126.538101 l -173.39279 126.327278 l -173.18198 127.460449 l -172.07515 127.961151 l -170.7048 128.040207 l -167.96413 128.672668 l -165.645081 128.883499 l -163.642258 128.567261 l -h -149.200943 160.90213 m -150.623993 160.770355 l -150.202347 162.430588 l -151.467285 163.616455 l -150.887512 163.616455 l -149.991531 162.93129 l -149.464462 162.272476 l -148.726593 161.798126 l -148.463058 161.165649 l -148.515762 160.691299 l -149.200943 160.90213 l -h -189.04634 123.902817 m -191.94516 124.11364 l -195.89807 124.640701 l -197.00488 125.352226 l -197.58464 125.958336 l -195.21289 125.800224 l -192.78844 125.325874 l -189.52069 125.246811 l -190.94374 124.825165 l -189.15176 124.482582 l -189.04634 123.902817 l -h -159.900177 166.884201 m -160.638046 167.569382 l -162.1138 168.17549 l -162.693558 168.99243 l -161.955688 169.1769 l -159.531235 168.51808 l -159.109589 168.01738 l -157.791946 167.490326 l -157.528427 167.06868 l -156.052658 166.805145 l -155.4729 166.014572 l -155.578308 165.671982 l -157.159485 165.98822 l -158.055481 166.225388 l -159.425827 166.383499 l -159.900177 166.884201 l -h -165.592377 131.018066 m -167.647888 131.307953 l -171.38998 131.387009 l -172.81303 131.835007 l -174.3942 132.441116 l -172.5495 132.810059 l -168.96553 133.837814 l -167.173538 134.86557 l -167.173538 135.498047 l -163.326035 136.209564 l -162.535446 135.577103 l -159.162292 134.786514 l -159.794754 134.180405 l -160.796158 133.099945 l -162.061096 132.151245 l -160.638046 131.255249 l -165.592377 131.018066 l -h -185.67319 128.962555 m -186.99083 128.725372 l -188.51929 128.778091 l -188.78282 129.515961 l -187.88683 130.201141 l -182.9325 130.438309 l -179.24312 131.07077 l -176.97678 131.097122 l -176.81865 130.622772 l -179.82288 129.963959 l -173.23468 130.148422 l -171.17915 129.884903 l -173.18198 128.461853 l -174.55232 128.040207 l -178.66335 128.540909 l -181.29863 129.410553 l -183.82849 129.515961 l -181.72028 128.119263 l -183.09062 127.592209 l -184.61908 127.750328 l -185.09343 128.435501 l -185.67319 128.962555 l -h -187.57059 133.020889 m -189.20447 133.626999 l -190.10046 135.050049 l -190.57481 136.077805 l -193.05197 136.789337 l -195.68724 137.500854 l -195.52913 138.133316 l -193.10468 138.265091 l -194.05338 138.818497 l -193.57903 139.345551 l -190.89104 139.134735 l -188.36118 138.739441 l -186.67459 138.818497 l -183.93391 139.319199 l -180.24452 139.530014 l -177.60924 139.661789 l -176.81865 138.976608 l -174.81584 138.581314 l -173.55092 138.739441 l -171.70622 137.57991 l -172.70763 137.421799 l -174.97397 137.184616 l -177.02948 137.237335 l -178.92688 137.000153 l -176.08078 136.657562 l -172.97115 136.762985 l -170.91563 136.736618 l -170.12505 136.183212 l -173.4982 135.603455 l -171.28458 135.629807 l -168.702 135.234512 l -169.91423 134.154053 l -170.96834 133.574295 l -174.86855 132.678299 l -176.39702 132.96817 l -175.65913 133.653351 l -178.87418 133.205353 l -180.92969 133.943237 l -182.56357 133.205353 l -183.93391 133.679703 l -185.14613 135.102753 l -185.88402 134.496643 l -184.8299 132.994537 l -186.09483 132.783707 l -187.57059 133.020889 l -h -196.47783 133.574295 m -194.84396 132.599243 l -196.58324 131.887711 l -198.32253 132.203949 l -200.95781 132.01947 l -201.32674 132.441116 l -199.95641 133.152649 l -202.17003 133.78511 l -201.90651 135.102753 l -199.53476 135.656158 l -198.11171 135.550751 l -197.11029 134.970993 l -193.47362 133.864166 l -193.47362 133.389816 l -196.47783 133.574295 l -h -187.46518 132.256653 m -189.41528 132.203949 l -190.52211 132.520187 l -189.25717 133.495239 l -186.93813 132.467468 l -187.46518 132.256653 l -h -199.21852 127.882088 m -199.32393 127.697624 l -200.43076 128.356445 l -200.48346 129.120667 l -199.79828 130.201141 l -197.37383 130.359253 l -195.79266 130.12207 l -195.84537 129.278793 l -193.47362 129.384201 l -193.36821 128.251022 l -194.94937 128.303741 l -197.11029 127.803032 l -199.21852 127.882088 l -h -202.96062 122.005417 m -203.96202 121.557426 l -205.43777 121.452011 l -204.80531 121.109428 l -208.23117 121.056717 l -210.07587 121.820953 l -212.55302 122.137184 l -214.97748 122.427063 l -216.13701 123.375763 l -217.8763 123.850113 l -215.87347 124.298111 l -213.1855 125.40493 l -210.55022 125.510338 l -207.54601 125.325874 l -205.96483 124.719757 l -205.96483 124.192703 l -207.12436 123.797409 l -204.48907 123.797409 l -202.85521 123.323059 l -201.90651 122.664238 l -202.96062 122.005417 l -h -209.44341 120.108017 m -211.60432 119.84449 l -213.29091 119.791786 l -216.18971 119.554611 l -218.35065 119.001205 l -220.14262 119.080261 l -221.7238 119.501907 l -222.83061 118.711319 l -224.78072 118.474144 l -227.416 118.316032 l -231.89597 118.236969 l -232.63385 118.395088 l -236.903 118.157913 l -240.06534 118.236969 l -243.22766 118.342384 l -247.12788 118.447792 l -250.29021 118.632263 l -252.9782 119.027557 l -252.87279 119.422844 l -249.34151 120.055313 l -245.75754 120.371544 l -244.4399 120.687782 l -247.65494 120.687782 l -244.17636 121.583778 l -241.80461 121.979065 l -239.27475 123.191292 l -236.27054 123.428467 l -235.32184 123.718353 l -230.89456 123.876465 l -232.95009 124.060936 l -231.89597 124.324463 l -233.1082 125.035988 l -231.73785 125.53669 l -229.47151 125.958336 l -228.78635 126.538101 l -226.73082 126.986099 l -226.94165 127.30233 l -229.47151 127.249626 l -229.47151 127.592209 l -225.5713 128.488205 l -221.7238 128.066559 l -217.45465 128.303741 l -215.24101 128.119263 l -212.50032 128.040207 l -212.28951 127.355034 l -215.03018 127.012451 l -214.29231 125.958336 l -215.18831 125.852928 l -219.08852 126.48539 l -217.08571 125.563049 l -214.71396 125.273163 l -215.92618 124.693405 l -218.50876 124.350815 l -218.9304 123.850113 l -216.87488 123.270355 l -216.24242 122.532478 l -220.24805 122.585182 l -221.40756 122.743301 l -223.6739 122.21624 l -220.40616 122.031776 l -215.24101 122.137184 l -212.65843 121.636482 l -211.44621 121.056717 l -209.75963 120.608727 l -209.44341 120.108017 l -h -233.37172 141.269302 m -232.42302 141.690948 l -230.78915 141.770004 l -230.42021 141.058487 l -231.05267 140.241547 l -232.42302 140.030716 l -233.52985 140.452362 l -233.58255 141.058487 l -233.37172 141.269302 l -h -203.48767 138.844849 m -202.59167 139.345551 l -200.58887 138.897552 l -199.42934 139.055664 l -197.42653 138.396851 l -198.69147 137.948853 l -199.69287 137.316391 l -201.27403 137.738037 l -202.17003 138.001556 l -202.59167 138.265091 l -203.48767 138.844849 l -h -249.02528 166.989624 m -249.55234 166.857849 l -251.50244 167.226791 l -252.9782 167.85925 l -253.0309 168.12279 l -252.29303 168.14914 l -250.39563 167.674789 l -249.02528 166.989624 l -h -249.76315 171.15335 m -250.29021 171.86488 l -251.34433 172.04935 l -252.71466 172.02299 l -251.97679 172.60277 l -251.44974 172.70818 l -249.60504 172.0757 l -249.2361 171.60135 l -249.76315 171.15335 l -h -S -/DeviceRGB {} CS -[0.2863 0.0118 0.6275] SC -/DeviceRGB {} cs -[0.2863 0.0118 0.6275] sc -383.58258 232.34451 m -383.10825 232.50264 l -382.15955 232.44992 l -381.0527 232.31816 l -380.52567 232.42357 l -380.26212 232.79251 l -379.78778 232.81886 l -379.26071 232.52899 l -377.62686 233.24051 l -376.94168 233.10875 l -376.73087 233.21416 l -376.3092 234.11015 l -375.20239 233.82027 l -374.14828 233.66216 l -373.19958 233.1351 l -371.98737 232.6344 l -371.19678 233.10875 l -370.66971 233.84662 l -370.5116 234.87439 l -369.5629 234.79532 l -368.56149 234.5318 l -367.7182 235.32239 l -366.92761 236.69272 l -366.7695 236.24474 l -366.7168 235.58591 l -366.03162 235.11156 l -365.50458 234.37369 l -365.39917 233.84662 l -364.71399 233.0824 l -364.8194 232.6344 l -364.66129 232.02829 l -364.76669 230.89511 l -365.13562 230.63159 l -365.8735 229.12947 l -367.08575 229.02406 l -367.34927 228.65512 l -367.61279 228.68147 l -367.98172 228.99771 l -369.77371 228.44431 l -370.40619 227.86455 l -371.19678 227.36385 l -371.03867 226.83679 l -371.4603 226.70502 l -372.88336 226.81044 l -374.25369 226.12526 l -375.3078 224.5441 l -376.04568 223.93797 l -376.99438 223.70081 l -377.1525 224.30692 l -377.99579 225.22926 l -377.99579 225.83537 l -377.73227 226.4415 l -377.83768 226.8895 l -378.36472 227.31114 l -379.47156 227.9436 l -380.26212 228.54971 l -380.26212 229.02406 l -381.26355 229.7883 l -381.896 230.42076 l -382.26495 231.29041 l -383.31906 231.87016 l -383.58258 232.34451 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -383.58258 232.34451 m -383.10825 232.50264 l -382.15955 232.44992 l -381.0527 232.31816 l -380.52567 232.42357 l -380.26212 232.79251 l -379.78778 232.81886 l -379.26071 232.52899 l -377.62686 233.24051 l -376.94168 233.10875 l -376.73087 233.21416 l -376.3092 234.11015 l -375.20239 233.82027 l -374.14828 233.66216 l -373.19958 233.1351 l -371.98737 232.6344 l -371.19678 233.10875 l -370.66971 233.84662 l -370.5116 234.87439 l -369.5629 234.79532 l -368.56149 234.5318 l -367.7182 235.32239 l -366.92761 236.69272 l -366.7695 236.24474 l -366.7168 235.58591 l -366.03162 235.11156 l -365.50458 234.37369 l -365.39917 233.84662 l -364.71399 233.0824 l -364.8194 232.6344 l -364.66129 232.02829 l -364.76669 230.89511 l -365.13562 230.63159 l -365.8735 229.12947 l -367.08575 229.02406 l -367.34927 228.65512 l -367.61279 228.68147 l -367.98172 228.99771 l -369.77371 228.44431 l -370.40619 227.86455 l -371.19678 227.36385 l -371.03867 226.83679 l -371.4603 226.70502 l -372.88336 226.81044 l -374.25369 226.12526 l -375.3078 224.5441 l -376.04568 223.93797 l -376.99438 223.70081 l -377.1525 224.30692 l -377.99579 225.22926 l -377.99579 225.83537 l -377.73227 226.4415 l -377.83768 226.8895 l -378.36472 227.31114 l -379.47156 227.9436 l -380.26212 228.54971 l -380.26212 229.02406 l -381.26355 229.7883 l -381.896 230.42076 l -382.26495 231.29041 l -383.31906 231.87016 l -383.58258 232.34451 l -h -S -/DeviceRGB {} CS -[0.498 0.0314 0.6471] SC -/DeviceRGB {} cs -[0.498 0.0314 0.6471] sc -378.41745 211.34135 m -378.47015 217.13896 l -377.2052 217.03355 l -376.52005 218.11401 l -376.15109 219.03636 l -376.46732 219.37895 l -375.99298 219.82695 l -376.15109 220.43306 l -375.78217 221.03917 l -375.62405 221.56622 l -376.15109 221.48717 l -376.41461 222.04057 l -376.46732 222.91022 l -376.99438 223.33186 l -376.99438 223.70081 l -376.04568 223.93797 l -375.3078 224.5441 l -374.25369 226.12526 l -372.88336 226.81044 l -371.4603 226.70502 l -371.03867 226.83679 l -371.19678 227.36385 l -370.40619 227.86455 l -369.77371 228.44431 l -367.98172 228.99771 l -367.61279 228.68147 l -367.34927 228.65512 l -367.08575 229.02406 l -365.8735 229.12947 l -366.08432 228.73419 l -365.60999 227.73277 l -365.45187 227.12666 l -364.76669 226.86314 l -363.9234 226.01985 l -364.23962 225.33467 l -364.9248 225.46645 l -365.34647 225.36102 l -366.13705 225.38739 l -365.34647 224.0434 l -365.39917 223.0947 l -365.29376 222.11964 l -364.71399 221.17094 l -364.8721 220.48576 l -363.9234 220.45941 l -363.9234 219.51071 l -363.34366 218.95731 l -363.9761 217.03355 l -365.8208 215.66321 l -365.8735 213.76581 l -366.45328 210.78795 l -366.7695 210.15547 l -366.18976 209.65477 l -366.13705 209.18042 l -365.60999 208.81148 l -365.24106 206.51878 l -366.7168 205.72821 l -372.56711 208.52161 l -378.41745 211.34135 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -378.41745 211.34135 m -378.47015 217.13896 l -377.2052 217.03355 l -376.52005 218.11401 l -376.15109 219.03636 l -376.46732 219.37895 l -375.99298 219.82695 l -376.15109 220.43306 l -375.78217 221.03917 l -375.62405 221.56622 l -376.15109 221.48717 l -376.41461 222.04057 l -376.46732 222.91022 l -376.99438 223.33186 l -376.99438 223.70081 l -376.04568 223.93797 l -375.3078 224.5441 l -374.25369 226.12526 l -372.88336 226.81044 l -371.4603 226.70502 l -371.03867 226.83679 l -371.19678 227.36385 l -370.40619 227.86455 l -369.77371 228.44431 l -367.98172 228.99771 l -367.61279 228.68147 l -367.34927 228.65512 l -367.08575 229.02406 l -365.8735 229.12947 l -366.08432 228.73419 l -365.60999 227.73277 l -365.45187 227.12666 l -364.76669 226.86314 l -363.9234 226.01985 l -364.23962 225.33467 l -364.9248 225.46645 l -365.34647 225.36102 l -366.13705 225.38739 l -365.34647 224.0434 l -365.39917 223.0947 l -365.29376 222.11964 l -364.71399 221.17094 l -364.8721 220.48576 l -363.9234 220.45941 l -363.9234 219.51071 l -363.34366 218.95731 l -363.9761 217.03355 l -365.8208 215.66321 l -365.8735 213.76581 l -366.45328 210.78795 l -366.7695 210.15547 l -366.18976 209.65477 l -366.13705 209.18042 l -365.60999 208.81148 l -365.24106 206.51878 l -366.7168 205.72821 l -372.56711 208.52161 l -378.41745 211.34135 l -h -S -/DeviceRGB {} CS -[0.9843 0.8196 0.1451] SC -/DeviceRGB {} cs -[0.9843 0.8196 0.1451] sc -243.01685 317.04236 m -243.01685 320.33646 l -244.59801 320.33646 l -245.494 320.36279 l -244.96695 320.94257 l -243.75471 321.41693 l -243.01685 321.36423 l -242.17355 321.23245 l -241.06674 320.81079 l -239.53827 320.59998 l -237.69359 319.78305 l -236.21782 318.99246 l -234.21501 317.35858 l -235.42725 317.64847 l -237.48276 318.62354 l -239.38016 319.15057 l -240.17075 318.49176 l -240.6451 317.49036 l -241.96274 316.88425 l -243.01685 317.04236 l -h -241.6465 265.73349 m -242.33167 266.73489 l -242.5425 267.789 l -243.33308 268.39511 l -242.85873 269.81818 l -243.64931 271.47839 l -244.22906 273.4812 l -245.28319 273.27039 l -245.4413 273.63931 l -244.91425 275.16779 l -243.33308 275.90567 l -243.38579 278.33011 l -243.06955 278.80447 l -243.5439 279.38425 l -242.48979 280.28021 l -241.54109 281.65057 l -241.01404 282.99457 l -241.11945 284.4176 l -240.22345 285.91971 l -240.90862 288.44958 l -241.27756 288.7131 l -241.27756 290.0571 l -240.43427 291.48016 l -240.48697 292.71875 l -239.38016 293.66745 l -239.38016 295.01144 l -239.85451 296.43448 l -238.95851 296.96155 l -238.58957 298.27917 l -238.22064 299.78128 l -238.48416 301.54694 l -237.9044 301.86316 l -238.22064 303.54974 l -238.90581 304.10315 l -238.37875 304.70926 l -239.06392 304.99915 l -239.22205 305.55255 l -238.58957 305.84244 l -238.7477 306.6857 l -238.22064 308.63583 l -237.43005 309.87439 l -237.64087 310.61227 l -237.16652 311.56097 l -236.007 312.19345 l -236.16512 313.74826 l -236.69217 314.27533 l -237.64087 314.19626 l -237.64087 315.27673 l -238.22064 316.14636 l -241.75191 316.33084 l -243.12225 316.56799 l -241.80461 316.54166 l -241.11945 316.91058 l -239.8018 317.43765 l -239.53827 318.80798 l -238.95851 318.83435 l -237.27194 318.35999 l -235.58536 317.33224 l -233.79337 316.51529 l -233.31902 315.59296 l -233.74066 314.72333 l -233.00279 313.74826 l -232.79196 311.24475 l -233.42444 309.84805 l -235.0056 308.71487 l -232.73926 308.29324 l -234.16231 307.00195 l -234.63666 304.55115 l -236.27054 305.07819 l -237.06111 302.04764 l -236.05971 301.65234 l -235.58536 303.47067 l -234.68936 303.28619 l -235.16371 301.17798 l -235.63806 298.46365 l -236.32324 297.46225 l -235.9016 296.03918 l -235.79619 294.4053 l -236.37595 294.3526 l -237.27194 291.98087 l -238.32605 289.63547 l -238.90581 287.44818 l -238.58957 285.26089 l -239.01122 284.04868 l -238.8531 282.25668 l -239.6964 280.46469 l -239.95992 277.61859 l -240.43427 274.58801 l -240.90862 271.32028 l -240.80321 268.92218 l -240.48697 266.86667 l -241.22485 266.49771 l -241.6465 265.73349 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -243.01685 317.04236 m -243.01685 320.33646 l -244.59801 320.33646 l -245.494 320.36279 l -244.96695 320.94257 l -243.75471 321.41693 l -243.01685 321.36423 l -242.17355 321.23245 l -241.06674 320.81079 l -239.53827 320.59998 l -237.69359 319.78305 l -236.21782 318.99246 l -234.21501 317.35858 l -235.42725 317.64847 l -237.48276 318.62354 l -239.38016 319.15057 l -240.17075 318.49176 l -240.6451 317.49036 l -241.96274 316.88425 l -243.01685 317.04236 l -h -241.6465 265.73349 m -242.33167 266.73489 l -242.5425 267.789 l -243.33308 268.39511 l -242.85873 269.81818 l -243.64931 271.47839 l -244.22906 273.4812 l -245.28319 273.27039 l -245.4413 273.63931 l -244.91425 275.16779 l -243.33308 275.90567 l -243.38579 278.33011 l -243.06955 278.80447 l -243.5439 279.38425 l -242.48979 280.28021 l -241.54109 281.65057 l -241.01404 282.99457 l -241.11945 284.4176 l -240.22345 285.91971 l -240.90862 288.44958 l -241.27756 288.7131 l -241.27756 290.0571 l -240.43427 291.48016 l -240.48697 292.71875 l -239.38016 293.66745 l -239.38016 295.01144 l -239.85451 296.43448 l -238.95851 296.96155 l -238.58957 298.27917 l -238.22064 299.78128 l -238.48416 301.54694 l -237.9044 301.86316 l -238.22064 303.54974 l -238.90581 304.10315 l -238.37875 304.70926 l -239.06392 304.99915 l -239.22205 305.55255 l -238.58957 305.84244 l -238.7477 306.6857 l -238.22064 308.63583 l -237.43005 309.87439 l -237.64087 310.61227 l -237.16652 311.56097 l -236.007 312.19345 l -236.16512 313.74826 l -236.69217 314.27533 l -237.64087 314.19626 l -237.64087 315.27673 l -238.22064 316.14636 l -241.75191 316.33084 l -243.12225 316.56799 l -241.80461 316.54166 l -241.11945 316.91058 l -239.8018 317.43765 l -239.53827 318.80798 l -238.95851 318.83435 l -237.27194 318.35999 l -235.58536 317.33224 l -233.79337 316.51529 l -233.31902 315.59296 l -233.74066 314.72333 l -233.00279 313.74826 l -232.79196 311.24475 l -233.42444 309.84805 l -235.0056 308.71487 l -232.73926 308.29324 l -234.16231 307.00195 l -234.63666 304.55115 l -236.27054 305.07819 l -237.06111 302.04764 l -236.05971 301.65234 l -235.58536 303.47067 l -234.68936 303.28619 l -235.16371 301.17798 l -235.63806 298.46365 l -236.32324 297.46225 l -235.9016 296.03918 l -235.79619 294.4053 l -236.37595 294.3526 l -237.27194 291.98087 l -238.32605 289.63547 l -238.90581 287.44818 l -238.58957 285.26089 l -239.01122 284.04868 l -238.8531 282.25668 l -239.6964 280.46469 l -239.95992 277.61859 l -240.43427 274.58801 l -240.90862 271.32028 l -240.80321 268.92218 l -240.48697 266.86667 l -241.22485 266.49771 l -241.6465 265.73349 l -h -S -/DeviceRGB {} CS -[0.9843 0.6196 0.2275] SC -/DeviceRGB {} cs -[0.9843 0.6196 0.2275] sc -503.75125 213.37051 m -502.53903 212.89616 l -502.53903 211.65758 l -503.22421 210.97241 l -504.85809 210.57712 l -505.70139 210.60347 l -506.01761 211.15688 l -505.38513 211.8157 l -505.0162 212.659 l -503.75125 213.37051 l -h -461.00705 178.00508 m -460.90164 177.16179 l -461.90305 176.79285 l -460.58542 174.23663 l -463.48422 173.65688 l -464.22211 173.34064 l -465.27621 170.70537 l -468.17502 171.20607 l -468.96561 170.52089 l -469.07101 169.07149 l -470.28323 168.93973 l -471.39005 167.96468 l -471.96982 167.8329 l -472.33875 168.86067 l -473.55096 169.62489 l -475.65921 170.1783 l -476.66061 171.36418 l -476.13354 173.07712 l -476.66061 173.70958 l -478.3999 173.94675 l -480.35001 174.15758 l -482.08926 175.07993 l -483.03796 175.23804 l -483.67044 176.58203 l -484.56644 177.45168 l -486.14761 177.42532 l -489.20453 177.74155 l -491.10193 177.55708 l -492.5777 177.7679 l -494.73862 178.66389 l -496.53061 178.63754 l -497.16306 179.11189 l -498.84964 178.32132 l -501.22141 177.82062 l -503.43503 177.7679 l -505.12161 177.24084 l -506.17572 176.45027 l -507.22983 175.97592 l -506.96631 175.47522 l -506.49194 174.9218 l -507.28253 173.9731 l -508.07312 174.10487 l -509.60159 174.39474 l -511.07733 173.63052 l -513.29095 173.05075 l -514.34509 172.10205 l -515.39917 171.68042 l -517.50745 171.46959 l -518.66693 171.65407 l -518.82507 171.127 l -517.50745 170.09924 l -516.3479 169.62489 l -515.18835 170.1783 l -513.76532 169.94113 l -512.92206 170.1256 l -512.5531 169.54584 l -513.60718 168.07008 l -514.29236 166.963272 l -516.08435 167.516678 l -518.13989 166.59433 l -518.08716 165.961853 l -519.45752 164.407043 l -520.24811 163.932693 l -520.24811 163.115753 l -519.40485 162.773178 l -520.61707 162.035294 l -522.46173 161.771774 l -524.41187 161.745422 l -526.57275 162.167053 l -527.89044 162.720474 l -528.78644 164.196228 l -529.31348 164.82869 l -529.84052 165.724686 l -530.36755 167.147736 l -532.95013 167.622086 l -534.63672 168.67619 l -535.26917 170.04654 l -537.48285 170.04654 l -538.74774 169.46678 l -541.17224 169.04514 l -540.38165 170.36278 l -539.80188 170.88983 l -539.32751 172.49734 l -538.32611 173.92039 l -536.58685 173.65688 l -535.3219 174.18393 l -535.69086 175.42252 l -535.48004 177.16179 l -534.74213 177.18814 l -534.74213 177.92603 l -533.79346 177.08273 l -533.21368 177.89967 l -530.94733 178.53214 l -531.15814 179.29637 l -529.89325 179.24367 l -529.20807 178.79567 l -528.20667 179.82343 l -526.62549 180.61401 l -525.41327 181.53635 l -523.35773 181.98434 l -522.30365 182.66953 l -520.72247 183.06482 l -521.51306 182.37964 l -521.19678 181.79988 l -522.35632 180.82483 l -521.56573 180.06059 l -520.30084 180.58765 l -518.61426 181.58907 l -517.71826 182.53777 l -516.29517 182.61682 l -515.55731 183.30199 l -516.3479 184.27704 l -517.50745 184.51422 l -517.56012 185.17303 l -518.71967 185.59468 l -520.35352 184.56693 l -521.67114 185.12033 l -522.61987 185.17303 l -522.83069 185.93727 l -520.77515 186.35892 l -520.08997 187.14949 l -518.66693 187.86102 l -517.92908 188.88878 l -519.51025 189.70572 l -520.08997 191.12877 l -520.98596 192.47276 l -521.93469 193.60593 l -521.93469 194.68639 l -521.0387 195.08168 l -521.35492 195.87227 l -522.25092 196.32027 l -521.98737 197.53249 l -521.61847 198.69202 l -520.82788 198.82378 l -519.72107 200.40495 l -518.56152 202.3287 l -517.19116 204.06798 l -515.18835 205.41197 l -513.13287 206.65056 l -511.49899 206.80867 l -510.603 207.46748 l -510.07593 206.99313 l -509.28534 207.73102 l -507.22983 208.44255 l -505.70139 208.67972 l -505.17432 210.23453 l -504.38373 210.3136 l -503.9621 209.23312 l -504.33102 208.67972 l -502.38092 208.20537 l -501.69574 208.44255 l -500.22 208.07361 l -499.48212 207.46748 l -499.74564 206.62421 l -498.37531 206.36067 l -497.69012 205.80727 l -496.4252 206.59785 l -495.00214 206.75597 l -493.84262 206.75597 l -493.05203 207.12491 l -492.31415 207.33572 l -492.52499 208.99596 l -491.73441 208.9696 l -491.629 208.62701 l -491.57629 208.0209 l -490.52216 208.44255 l -489.88971 208.17902 l -488.7829 207.62561 l -489.20453 206.41338 l -488.25583 206.1235 l -487.93961 204.77951 l -486.35843 205.01668 l -486.56924 203.2774 l -487.93961 202.06517 l -487.99231 200.85294 l -487.93961 199.71977 l -487.30713 199.37718 l -486.83279 198.50754 l -485.9895 198.63931 l -484.40833 198.40213 l -484.88266 197.79602 l -484.19751 196.87367 l -483.1434 197.50613 l -481.93115 197.13721 l -480.2446 198.08591 l -478.92694 199.16637 l -477.71472 199.35083 l -477.08224 198.95554 l -476.34436 198.90283 l -475.29025 198.58661 l -474.49966 198.95554 l -473.49826 200.03601 l -473.39285 198.87648 l -472.49686 199.19272 l -470.8103 199.06096 l -469.12372 198.71837 l -467.9642 198.05956 l -466.80466 197.76967 l -466.33032 197.08449 l -465.48703 196.87367 l -464.01126 195.92497 l -462.85175 195.47697 l -462.21927 195.81956 l -460.21646 194.79181 l -458.74072 193.86946 l -458.37177 192.26193 l -459.42587 192.44641 l -459.47861 191.70853 l -458.84613 190.94429 l -459.00424 189.75842 l -457.42307 188.04549 l -455.05133 187.43938 l -454.62967 186.33257 l -453.52286 185.64738 l -453.25934 185.22574 l -453.04852 184.38246 l -453.10123 183.82904 l -452.20523 183.48647 l -451.73087 183.64458 l -451.36194 182.27423 l -451.78357 181.93164 l -451.57275 181.58907 l -452.94312 180.90388 l -453.99722 180.61401 l -455.52567 180.82483 l -456.10544 179.87613 l -457.95013 179.71802 l -458.47717 179.13824 l -460.79623 178.34767 l -461.00705 178.00508 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -503.75125 213.37051 m -502.53903 212.89616 l -502.53903 211.65758 l -503.22421 210.97241 l -504.85809 210.57712 l -505.70139 210.60347 l -506.01761 211.15688 l -505.38513 211.8157 l -505.0162 212.659 l -503.75125 213.37051 l -h -461.00705 178.00508 m -460.90164 177.16179 l -461.90305 176.79285 l -460.58542 174.23663 l -463.48422 173.65688 l -464.22211 173.34064 l -465.27621 170.70537 l -468.17502 171.20607 l -468.96561 170.52089 l -469.07101 169.07149 l -470.28323 168.93973 l -471.39005 167.96468 l -471.96982 167.8329 l -472.33875 168.86067 l -473.55096 169.62489 l -475.65921 170.1783 l -476.66061 171.36418 l -476.13354 173.07712 l -476.66061 173.70958 l -478.3999 173.94675 l -480.35001 174.15758 l -482.08926 175.07993 l -483.03796 175.23804 l -483.67044 176.58203 l -484.56644 177.45168 l -486.14761 177.42532 l -489.20453 177.74155 l -491.10193 177.55708 l -492.5777 177.7679 l -494.73862 178.66389 l -496.53061 178.63754 l -497.16306 179.11189 l -498.84964 178.32132 l -501.22141 177.82062 l -503.43503 177.7679 l -505.12161 177.24084 l -506.17572 176.45027 l -507.22983 175.97592 l -506.96631 175.47522 l -506.49194 174.9218 l -507.28253 173.9731 l -508.07312 174.10487 l -509.60159 174.39474 l -511.07733 173.63052 l -513.29095 173.05075 l -514.34509 172.10205 l -515.39917 171.68042 l -517.50745 171.46959 l -518.66693 171.65407 l -518.82507 171.127 l -517.50745 170.09924 l -516.3479 169.62489 l -515.18835 170.1783 l -513.76532 169.94113 l -512.92206 170.1256 l -512.5531 169.54584 l -513.60718 168.07008 l -514.29236 166.963272 l -516.08435 167.516678 l -518.13989 166.59433 l -518.08716 165.961853 l -519.45752 164.407043 l -520.24811 163.932693 l -520.24811 163.115753 l -519.40485 162.773178 l -520.61707 162.035294 l -522.46173 161.771774 l -524.41187 161.745422 l -526.57275 162.167053 l -527.89044 162.720474 l -528.78644 164.196228 l -529.31348 164.82869 l -529.84052 165.724686 l -530.36755 167.147736 l -532.95013 167.622086 l -534.63672 168.67619 l -535.26917 170.04654 l -537.48285 170.04654 l -538.74774 169.46678 l -541.17224 169.04514 l -540.38165 170.36278 l -539.80188 170.88983 l -539.32751 172.49734 l -538.32611 173.92039 l -536.58685 173.65688 l -535.3219 174.18393 l -535.69086 175.42252 l -535.48004 177.16179 l -534.74213 177.18814 l -534.74213 177.92603 l -533.79346 177.08273 l -533.21368 177.89967 l -530.94733 178.53214 l -531.15814 179.29637 l -529.89325 179.24367 l -529.20807 178.79567 l -528.20667 179.82343 l -526.62549 180.61401 l -525.41327 181.53635 l -523.35773 181.98434 l -522.30365 182.66953 l -520.72247 183.06482 l -521.51306 182.37964 l -521.19678 181.79988 l -522.35632 180.82483 l -521.56573 180.06059 l -520.30084 180.58765 l -518.61426 181.58907 l -517.71826 182.53777 l -516.29517 182.61682 l -515.55731 183.30199 l -516.3479 184.27704 l -517.50745 184.51422 l -517.56012 185.17303 l -518.71967 185.59468 l -520.35352 184.56693 l -521.67114 185.12033 l -522.61987 185.17303 l -522.83069 185.93727 l -520.77515 186.35892 l -520.08997 187.14949 l -518.66693 187.86102 l -517.92908 188.88878 l -519.51025 189.70572 l -520.08997 191.12877 l -520.98596 192.47276 l -521.93469 193.60593 l -521.93469 194.68639 l -521.0387 195.08168 l -521.35492 195.87227 l -522.25092 196.32027 l -521.98737 197.53249 l -521.61847 198.69202 l -520.82788 198.82378 l -519.72107 200.40495 l -518.56152 202.3287 l -517.19116 204.06798 l -515.18835 205.41197 l -513.13287 206.65056 l -511.49899 206.80867 l -510.603 207.46748 l -510.07593 206.99313 l -509.28534 207.73102 l -507.22983 208.44255 l -505.70139 208.67972 l -505.17432 210.23453 l -504.38373 210.3136 l -503.9621 209.23312 l -504.33102 208.67972 l -502.38092 208.20537 l -501.69574 208.44255 l -500.22 208.07361 l -499.48212 207.46748 l -499.74564 206.62421 l -498.37531 206.36067 l -497.69012 205.80727 l -496.4252 206.59785 l -495.00214 206.75597 l -493.84262 206.75597 l -493.05203 207.12491 l -492.31415 207.33572 l -492.52499 208.99596 l -491.73441 208.9696 l -491.629 208.62701 l -491.57629 208.0209 l -490.52216 208.44255 l -489.88971 208.17902 l -488.7829 207.62561 l -489.20453 206.41338 l -488.25583 206.1235 l -487.93961 204.77951 l -486.35843 205.01668 l -486.56924 203.2774 l -487.93961 202.06517 l -487.99231 200.85294 l -487.93961 199.71977 l -487.30713 199.37718 l -486.83279 198.50754 l -485.9895 198.63931 l -484.40833 198.40213 l -484.88266 197.79602 l -484.19751 196.87367 l -483.1434 197.50613 l -481.93115 197.13721 l -480.2446 198.08591 l -478.92694 199.16637 l -477.71472 199.35083 l -477.08224 198.95554 l -476.34436 198.90283 l -475.29025 198.58661 l -474.49966 198.95554 l -473.49826 200.03601 l -473.39285 198.87648 l -472.49686 199.19272 l -470.8103 199.06096 l -469.12372 198.71837 l -467.9642 198.05956 l -466.80466 197.76967 l -466.33032 197.08449 l -465.48703 196.87367 l -464.01126 195.92497 l -462.85175 195.47697 l -462.21927 195.81956 l -460.21646 194.79181 l -458.74072 193.86946 l -458.37177 192.26193 l -459.42587 192.44641 l -459.47861 191.70853 l -458.84613 190.94429 l -459.00424 189.75842 l -457.42307 188.04549 l -455.05133 187.43938 l -454.62967 186.33257 l -453.52286 185.64738 l -453.25934 185.22574 l -453.04852 184.38246 l -453.10123 183.82904 l -452.20523 183.48647 l -451.73087 183.64458 l -451.36194 182.27423 l -451.78357 181.93164 l -451.57275 181.58907 l -452.94312 180.90388 l -453.99722 180.61401 l -455.52567 180.82483 l -456.10544 179.87613 l -457.95013 179.71802 l -458.47717 179.13824 l -460.79623 178.34767 l -461.00705 178.00508 l -h -S -/DeviceRGB {} CS -[0.9843 0.6196 0.2314] SC -/DeviceRGB {} cs -[0.9843 0.6196 0.2314] sc -245.59941 238.16849 m -245.33589 238.35295 l -245.01965 237.48331 l -244.65071 237.00896 l -244.12366 237.50966 l -241.27756 237.48331 l -241.33026 238.40565 l -242.17355 238.56377 l -242.12085 239.11719 l -241.80461 238.95906 l -241.01404 239.19624 l -241.01404 240.2767 l -241.6465 240.80376 l -241.85732 241.64705 l -241.85732 242.27951 l -241.17215 246.28514 l -240.43427 245.5209 l -240.01262 245.4682 l -240.96133 243.99245 l -239.85451 243.30728 l -238.95851 243.43904 l -238.43146 243.17551 l -237.64087 243.5708 l -236.53406 243.38634 l -235.69077 241.85786 l -235.0056 241.46259 l -234.53125 240.7774 l -233.52985 240.09224 l -233.1609 240.224 l -232.52844 239.88141 l -231.79056 239.38071 l -231.42162 239.61789 l -230.15669 239.43341 l -229.78775 238.80095 l -229.52422 238.8273 l -228.04846 237.98401 l -227.89035 237.53601 l -228.4174 237.40425 l -228.3647 236.69272 l -228.68092 236.13931 l -229.41881 236.06026 l -230.05127 235.13791 l -230.57832 234.37369 l -230.05127 234.00475 l -230.3148 233.16145 l -229.99857 231.81746 l -230.3148 231.44852 l -230.10397 230.20995 l -229.47151 229.41936 l -229.68234 228.70784 l -230.15669 228.81325 l -230.42021 228.3916 l -230.10397 227.52196 l -230.2621 227.31114 l -230.99997 227.36385 l -232.1068 226.33609 l -232.73926 226.17796 l -232.73926 225.70361 l -233.00279 224.46504 l -233.84607 223.77986 l -234.74207 223.75351 l -234.90019 223.43727 l -236.007 223.56905 l -237.16652 222.83116 l -237.74629 222.48857 l -238.48416 221.80341 l -238.95851 221.88246 l -239.38016 222.27776 l -239.06392 222.75211 l -238.11522 223.01563 l -237.74629 223.72716 l -237.21924 224.1488 l -236.79759 224.70221 l -236.58676 225.75632 l -236.16512 226.59961 l -236.9557 226.70502 l -237.11382 227.36385 l -237.43005 227.70642 l -237.58817 228.28619 l -237.37735 228.8396 l -237.43005 229.12947 l -237.799 229.26125 l -238.16794 229.76195 l -240.06534 229.63019 l -240.90862 229.81465 l -241.91003 231.07959 l -242.48979 230.92146 l -243.5439 231.00052 l -244.38719 230.81606 l -244.91425 231.07959 l -244.65071 231.87016 l -244.33449 232.34451 l -244.22906 233.39862 l -244.4926 234.37369 l -244.91425 234.82169 l -244.96695 235.13791 l -244.22906 235.87579 l -244.75613 236.19202 l -245.17776 236.69272 l -245.59941 238.16849 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -245.59941 238.16849 m -245.33589 238.35295 l -245.01965 237.48331 l -244.65071 237.00896 l -244.12366 237.50966 l -241.27756 237.48331 l -241.33026 238.40565 l -242.17355 238.56377 l -242.12085 239.11719 l -241.80461 238.95906 l -241.01404 239.19624 l -241.01404 240.2767 l -241.6465 240.80376 l -241.85732 241.64705 l -241.85732 242.27951 l -241.17215 246.28514 l -240.43427 245.5209 l -240.01262 245.4682 l -240.96133 243.99245 l -239.85451 243.30728 l -238.95851 243.43904 l -238.43146 243.17551 l -237.64087 243.5708 l -236.53406 243.38634 l -235.69077 241.85786 l -235.0056 241.46259 l -234.53125 240.7774 l -233.52985 240.09224 l -233.1609 240.224 l -232.52844 239.88141 l -231.79056 239.38071 l -231.42162 239.61789 l -230.15669 239.43341 l -229.78775 238.80095 l -229.52422 238.8273 l -228.04846 237.98401 l -227.89035 237.53601 l -228.4174 237.40425 l -228.3647 236.69272 l -228.68092 236.13931 l -229.41881 236.06026 l -230.05127 235.13791 l -230.57832 234.37369 l -230.05127 234.00475 l -230.3148 233.16145 l -229.99857 231.81746 l -230.3148 231.44852 l -230.10397 230.20995 l -229.47151 229.41936 l -229.68234 228.70784 l -230.15669 228.81325 l -230.42021 228.3916 l -230.10397 227.52196 l -230.2621 227.31114 l -230.99997 227.36385 l -232.1068 226.33609 l -232.73926 226.17796 l -232.73926 225.70361 l -233.00279 224.46504 l -233.84607 223.77986 l -234.74207 223.75351 l -234.90019 223.43727 l -236.007 223.56905 l -237.16652 222.83116 l -237.74629 222.48857 l -238.48416 221.80341 l -238.95851 221.88246 l -239.38016 222.27776 l -239.06392 222.75211 l -238.11522 223.01563 l -237.74629 223.72716 l -237.21924 224.1488 l -236.79759 224.70221 l -236.58676 225.75632 l -236.16512 226.59961 l -236.9557 226.70502 l -237.11382 227.36385 l -237.43005 227.70642 l -237.58817 228.28619 l -237.37735 228.8396 l -237.43005 229.12947 l -237.799 229.26125 l -238.16794 229.76195 l -240.06534 229.63019 l -240.90862 229.81465 l -241.91003 231.07959 l -242.48979 230.92146 l -243.5439 231.00052 l -244.38719 230.81606 l -244.91425 231.07959 l -244.65071 231.87016 l -244.33449 232.34451 l -244.22906 233.39862 l -244.4926 234.37369 l -244.91425 234.82169 l -244.96695 235.13791 l -244.22906 235.87579 l -244.75613 236.19202 l -245.17776 236.69272 l -245.59941 238.16849 l -h -S -/DeviceRGB {} CS -[0.349 0.0078 0.6392] SC -/DeviceRGB {} cs -[0.349 0.0078 0.6392] sc -386.42868 246.57501 m -386.6922 247.94536 l -386.58679 248.68324 l -386.85031 249.55289 l -387.6936 250.36981 l -388.48419 252.21451 l -387.90445 252.0564 l -385.95435 252.31993 l -385.58539 252.47804 l -385.16376 253.42674 l -385.47998 254.0592 l -385.21646 255.79849 l -385.05835 257.27426 l -385.42728 257.53778 l -386.42868 258.09119 l -386.85031 257.82767 l -386.95575 259.40881 l -385.84891 259.38248 l -385.26917 258.59189 l -384.7421 257.95941 l -383.58258 257.7486 l -383.26636 256.98438 l -382.37036 257.45871 l -381.21082 257.24789 l -380.68378 256.58908 l -379.78778 256.45731 l -379.1026 256.48367 l -378.99719 256.03568 l -378.52286 255.98296 l -377.83768 255.9039 l -376.94168 256.14108 l -376.3092 256.08838 l -375.94028 256.22012 l -375.99298 254.48085 l -375.51862 253.9538 l -375.41321 253.03145 l -375.62405 252.1618 l -375.3605 251.58205 l -375.3078 250.68605 l -373.51581 250.68605 l -373.67395 250.159 l -372.93607 250.159 l -372.83066 250.42253 l -371.93466 250.47523 l -371.5657 251.31853 l -371.35489 251.68745 l -370.5116 251.47664 l -370.03726 251.68745 l -369.08856 251.81923 l -368.50879 251.05499 l -368.19257 250.58064 l -367.7709 249.68465 l -367.40198 248.60419 l -363.08011 248.57784 l -362.55307 248.7623 l -362.13141 248.73595 l -361.55167 248.92041 l -361.34082 248.47241 l -361.70978 248.3143 l -361.76248 247.68184 l -361.9733 247.3129 l -362.50037 246.99666 l -362.922 247.15479 l -363.39636 246.57501 l -364.18692 246.60138 l -364.29236 247.02301 l -364.8721 247.28654 l -365.71539 246.3642 l -366.55869 245.65266 l -366.92761 245.17831 l -366.87491 243.96609 l -367.50739 242.54305 l -368.19257 241.80516 l -369.14127 241.09364 l -369.29938 240.61929 l -369.35208 240.09224 l -369.6156 239.56519 l -369.51019 238.74825 l -369.72101 237.45695 l -369.98456 236.53461 l -370.40619 235.74402 l -370.5116 234.87439 l -370.66971 233.84662 l -371.19678 233.10875 l -371.98737 232.6344 l -373.19958 233.1351 l -374.14828 233.66216 l -375.20239 233.82027 l -376.3092 234.11015 l -376.73087 233.21416 l -376.94168 233.10875 l -377.62686 233.24051 l -379.26071 232.52899 l -379.78778 232.81886 l -380.26212 232.79251 l -380.52567 232.42357 l -381.0527 232.31816 l -382.15955 232.44992 l -383.10825 232.50264 l -383.58258 232.34451 l -384.47858 233.55675 l -385.11105 233.71486 l -385.53268 233.47769 l -386.16516 233.5831 l -387.00845 233.26686 l -387.32468 233.89934 l -388.6423 234.87439 l -388.5369 236.58731 l -389.11667 236.77179 l -388.6423 237.29884 l -388.11526 237.69414 l -387.53549 238.43201 l -387.21927 239.11719 l -387.16656 240.30305 l -386.79761 240.85646 l -386.79761 241.96329 l -386.37598 242.35858 l -386.32327 243.25456 l -386.11246 243.35999 l -386.00705 244.15056 l -386.37598 244.80939 l -386.42868 246.57501 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -386.42868 246.57501 m -386.6922 247.94536 l -386.58679 248.68324 l -386.85031 249.55289 l -387.6936 250.36981 l -388.48419 252.21451 l -387.90445 252.0564 l -385.95435 252.31993 l -385.58539 252.47804 l -385.16376 253.42674 l -385.47998 254.0592 l -385.21646 255.79849 l -385.05835 257.27426 l -385.42728 257.53778 l -386.42868 258.09119 l -386.85031 257.82767 l -386.95575 259.40881 l -385.84891 259.38248 l -385.26917 258.59189 l -384.7421 257.95941 l -383.58258 257.7486 l -383.26636 256.98438 l -382.37036 257.45871 l -381.21082 257.24789 l -380.68378 256.58908 l -379.78778 256.45731 l -379.1026 256.48367 l -378.99719 256.03568 l -378.52286 255.98296 l -377.83768 255.9039 l -376.94168 256.14108 l -376.3092 256.08838 l -375.94028 256.22012 l -375.99298 254.48085 l -375.51862 253.9538 l -375.41321 253.03145 l -375.62405 252.1618 l -375.3605 251.58205 l -375.3078 250.68605 l -373.51581 250.68605 l -373.67395 250.159 l -372.93607 250.159 l -372.83066 250.42253 l -371.93466 250.47523 l -371.5657 251.31853 l -371.35489 251.68745 l -370.5116 251.47664 l -370.03726 251.68745 l -369.08856 251.81923 l -368.50879 251.05499 l -368.19257 250.58064 l -367.7709 249.68465 l -367.40198 248.60419 l -363.08011 248.57784 l -362.55307 248.7623 l -362.13141 248.73595 l -361.55167 248.92041 l -361.34082 248.47241 l -361.70978 248.3143 l -361.76248 247.68184 l -361.9733 247.3129 l -362.50037 246.99666 l -362.922 247.15479 l -363.39636 246.57501 l -364.18692 246.60138 l -364.29236 247.02301 l -364.8721 247.28654 l -365.71539 246.3642 l -366.55869 245.65266 l -366.92761 245.17831 l -366.87491 243.96609 l -367.50739 242.54305 l -368.19257 241.80516 l -369.14127 241.09364 l -369.29938 240.61929 l -369.35208 240.09224 l -369.6156 239.56519 l -369.51019 238.74825 l -369.72101 237.45695 l -369.98456 236.53461 l -370.40619 235.74402 l -370.5116 234.87439 l -370.66971 233.84662 l -371.19678 233.10875 l -371.98737 232.6344 l -373.19958 233.1351 l -374.14828 233.66216 l -375.20239 233.82027 l -376.3092 234.11015 l -376.73087 233.21416 l -376.94168 233.10875 l -377.62686 233.24051 l -379.26071 232.52899 l -379.78778 232.81886 l -380.26212 232.79251 l -380.52567 232.42357 l -381.0527 232.31816 l -382.15955 232.44992 l -383.10825 232.50264 l -383.58258 232.34451 l -384.47858 233.55675 l -385.11105 233.71486 l -385.53268 233.47769 l -386.16516 233.5831 l -387.00845 233.26686 l -387.32468 233.89934 l -388.6423 234.87439 l -388.5369 236.58731 l -389.11667 236.77179 l -388.6423 237.29884 l -388.11526 237.69414 l -387.53549 238.43201 l -387.21927 239.11719 l -387.16656 240.30305 l -386.79761 240.85646 l -386.79761 241.96329 l -386.37598 242.35858 l -386.32327 243.25456 l -386.11246 243.35999 l -386.00705 244.15056 l -386.37598 244.80939 l -386.42868 246.57501 l -h -S -/DeviceRGB {} CS -[0.651 0.1255 0.5922] SC -/DeviceRGB {} cs -[0.651 0.1255 0.5922] sc -370.5116 234.87439 m -370.40619 235.74402 l -369.98456 236.53461 l -369.72101 237.45695 l -369.51019 238.74825 l -369.6156 239.56519 l -369.35208 240.09224 l -369.29938 240.61929 l -369.14127 241.09364 l -368.19257 241.80516 l -367.50739 242.54305 l -366.87491 243.96609 l -366.92761 245.17831 l -366.55869 245.65266 l -365.71539 246.3642 l -364.8721 247.28654 l -364.29236 247.02301 l -364.18692 246.60138 l -363.39636 246.57501 l -362.922 247.15479 l -362.50037 246.99666 l -361.9733 246.49596 l -361.55167 246.73314 l -360.91919 247.3656 l -359.75967 245.83714 l -360.86649 245.0202 l -360.28671 244.04515 l -360.81378 243.67621 l -361.81519 243.49174 l -361.92059 242.85928 l -362.71118 243.54445 l -363.9761 243.6235 l -364.45047 242.93834 l -364.60858 241.96329 l -364.45047 240.80376 l -363.76529 239.93411 l -364.39777 238.24754 l -364.02881 237.95766 l -362.922 238.06306 l -362.55307 237.3252 l -362.65848 236.69272 l -364.50317 236.74544 l -365.66269 237.11436 l -366.8222 237.48331 l -366.92761 236.69272 l -367.7182 235.32239 l -368.56149 234.5318 l -369.5629 234.79532 l -370.5116 234.87439 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -370.5116 234.87439 m -370.40619 235.74402 l -369.98456 236.53461 l -369.72101 237.45695 l -369.51019 238.74825 l -369.6156 239.56519 l -369.35208 240.09224 l -369.29938 240.61929 l -369.14127 241.09364 l -368.19257 241.80516 l -367.50739 242.54305 l -366.87491 243.96609 l -366.92761 245.17831 l -366.55869 245.65266 l -365.71539 246.3642 l -364.8721 247.28654 l -364.29236 247.02301 l -364.18692 246.60138 l -363.39636 246.57501 l -362.922 247.15479 l -362.50037 246.99666 l -361.9733 246.49596 l -361.55167 246.73314 l -360.91919 247.3656 l -359.75967 245.83714 l -360.86649 245.0202 l -360.28671 244.04515 l -360.81378 243.67621 l -361.81519 243.49174 l -361.92059 242.85928 l -362.71118 243.54445 l -363.9761 243.6235 l -364.45047 242.93834 l -364.60858 241.96329 l -364.45047 240.80376 l -363.76529 239.93411 l -364.39777 238.24754 l -364.02881 237.95766 l -362.922 238.06306 l -362.55307 237.3252 l -362.65848 236.69272 l -364.50317 236.74544 l -365.66269 237.11436 l -366.8222 237.48331 l -366.92761 236.69272 l -367.7182 235.32239 l -368.56149 234.5318 l -369.5629 234.79532 l -370.5116 234.87439 l -h -S -/DeviceRGB {} CS -[0.9804 0.8275 0.1451] SC -/DeviceRGB {} cs -[0.9804 0.8275 0.1451] sc -222.6725 225.9935 m -222.09273 226.12526 l -222.09273 226.70502 l -222.40897 226.9422 l -222.19815 227.10031 l -222.25085 227.36385 l -222.14545 227.68007 l -222.04002 227.96996 l -221.24945 227.62737 l -220.93321 227.33749 l -221.14403 227.07396 l -221.09132 226.75772 l -220.66968 226.38879 l -220.08992 226.09891 l -219.56287 225.91444 l -219.51016 225.4928 l -219.08852 225.22926 l -219.19392 225.65091 l -218.9304 226.01985 l -218.56146 225.59821 l -218.08711 225.46645 l -217.8763 225.17656 l -217.929 224.72856 l -218.08711 224.25421 l -217.66547 224.0434 l -218.03441 223.77986 l -218.24522 223.56905 l -219.19392 223.96432 l -219.56287 223.77986 l -220.03722 223.88527 l -220.24805 224.20151 l -220.66968 224.30692 l -221.03862 223.99069 l -221.40756 224.78127 l -221.98732 225.36102 l -222.6725 225.9935 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -222.6725 225.9935 m -222.09273 226.12526 l -222.09273 226.70502 l -222.40897 226.9422 l -222.19815 227.10031 l -222.25085 227.36385 l -222.14545 227.68007 l -222.04002 227.96996 l -221.24945 227.62737 l -220.93321 227.33749 l -221.14403 227.07396 l -221.09132 226.75772 l -220.66968 226.38879 l -220.08992 226.09891 l -219.56287 225.91444 l -219.51016 225.4928 l -219.08852 225.22926 l -219.19392 225.65091 l -218.9304 226.01985 l -218.56146 225.59821 l -218.08711 225.46645 l -217.8763 225.17656 l -217.929 224.72856 l -218.08711 224.25421 l -217.66547 224.0434 l -218.03441 223.77986 l -218.24522 223.56905 l -219.19392 223.96432 l -219.56287 223.77986 l -220.03722 223.88527 l -220.24805 224.20151 l -220.66968 224.30692 l -221.03862 223.99069 l -221.40756 224.78127 l -221.98732 225.36102 l -222.6725 225.9935 l -h -S -/DeviceRGB {} CS -[0.4157 0.0039 0.651] SC -/DeviceRGB {} cs -[0.4157 0.0039 0.651] sc -331.72031 225.07115 m -331.93112 224.91304 l -332.35278 225.15021 l -333.45959 225.15021 l -333.72311 224.72856 l -333.98663 224.75491 l -334.40829 224.5968 l -334.61911 225.22926 l -334.98804 225.0448 l -335.56781 224.80762 l -336.25299 225.15021 l -336.51651 225.62456 l -337.14899 225.9408 l -337.67603 225.57185 l -338.36121 225.51915 l -339.36261 225.88809 l -339.73157 227.96996 l -339.15179 229.20854 l -338.73013 230.84241 l -339.36261 232.10735 l -339.30991 232.6871 l -338.67743 232.71346 l -337.62332 232.42357 l -336.67462 232.42357 l -334.93533 232.6871 l -333.93393 233.10875 l -332.51089 233.66216 l -332.19467 233.60945 l -332.30008 232.39722 l -332.45819 232.21275 l -332.40549 231.633 l -331.77301 231.02687 l -331.35138 230.92146 l -330.92972 230.52617 l -331.24597 229.89371 l -331.08783 229.18219 l -331.14053 228.76054 l -331.40408 228.73419 l -331.45679 228.10172 l -331.35138 227.8382 l -331.50949 227.62737 l -332.03653 227.4429 l -331.6676 226.28337 l -331.35138 225.67726 l -331.45679 225.17656 l -331.72031 225.07115 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -331.72031 225.07115 m -331.93112 224.91304 l -332.35278 225.15021 l -333.45959 225.15021 l -333.72311 224.72856 l -333.98663 224.75491 l -334.40829 224.5968 l -334.61911 225.22926 l -334.98804 225.0448 l -335.56781 224.80762 l -336.25299 225.15021 l -336.51651 225.62456 l -337.14899 225.9408 l -337.67603 225.57185 l -338.36121 225.51915 l -339.36261 225.88809 l -339.73157 227.96996 l -339.15179 229.20854 l -338.73013 230.84241 l -339.36261 232.10735 l -339.30991 232.6871 l -338.67743 232.71346 l -337.62332 232.42357 l -336.67462 232.42357 l -334.93533 232.6871 l -333.93393 233.10875 l -332.51089 233.66216 l -332.19467 233.60945 l -332.30008 232.39722 l -332.45819 232.21275 l -332.40549 231.633 l -331.77301 231.02687 l -331.35138 230.92146 l -330.92972 230.52617 l -331.24597 229.89371 l -331.08783 229.18219 l -331.14053 228.76054 l -331.40408 228.73419 l -331.45679 228.10172 l -331.35138 227.8382 l -331.50949 227.62737 l -332.03653 227.4429 l -331.6676 226.28337 l -331.35138 225.67726 l -331.45679 225.17656 l -331.72031 225.07115 l -h -S -/DeviceRGB {} CS -[0.9882 0.7176 0.1843] SC -/DeviceRGB {} cs -[0.9882 0.7176 0.1843] sc -367.7709 171.91759 m -368.19257 172.10205 l -369.29938 172.73453 l -370.5116 173.0244 l -371.03867 172.78723 l -371.40759 173.36699 l -371.88196 173.78864 l -371.30219 174.34204 l -370.66971 173.99945 l -369.6683 174.02582 l -368.40338 173.78864 l -367.7182 173.81499 l -367.40198 174.13123 l -366.87491 173.78864 l -366.55869 174.39474 l -367.29657 175.07993 l -367.61279 175.52792 l -368.24527 176.08133 l -368.82501 176.39757 l -369.35208 177.00368 l -370.66971 177.55708 l -370.5116 177.82062 l -369.14127 177.2672 l -368.29797 176.74014 l -366.92761 176.3185 l -365.71539 175.23804 l -366.03162 175.13263 l -365.34647 174.50017 l -365.29376 174.02582 l -364.39777 173.78864 l -363.9234 174.4211 l -363.50177 173.92039 l -363.50177 173.41969 l -363.55447 173.39334 l -364.60858 173.44604 l -364.8721 173.18253 l -365.34647 173.44604 l -365.92621 173.4724 l -365.92621 173.05075 l -366.45328 172.89264 l -366.55869 172.31288 l -367.7709 171.91759 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -367.7709 171.91759 m -368.19257 172.10205 l -369.29938 172.73453 l -370.5116 173.0244 l -371.03867 172.78723 l -371.40759 173.36699 l -371.88196 173.78864 l -371.30219 174.34204 l -370.66971 173.99945 l -369.6683 174.02582 l -368.40338 173.78864 l -367.7182 173.81499 l -367.40198 174.13123 l -366.87491 173.78864 l -366.55869 174.39474 l -367.29657 175.07993 l -367.61279 175.52792 l -368.24527 176.08133 l -368.82501 176.39757 l -369.35208 177.00368 l -370.66971 177.55708 l -370.5116 177.82062 l -369.14127 177.2672 l -368.29797 176.74014 l -366.92761 176.3185 l -365.71539 175.23804 l -366.03162 175.13263 l -365.34647 174.50017 l -365.29376 174.02582 l -364.39777 173.78864 l -363.9234 174.4211 l -363.50177 173.92039 l -363.50177 173.41969 l -363.55447 173.39334 l -364.60858 173.44604 l -364.8721 173.18253 l -365.34647 173.44604 l -365.92621 173.4724 l -365.92621 173.05075 l -366.45328 172.89264 l -366.55869 172.31288 l -367.7709 171.91759 l -h -S -/DeviceRGB {} CS -[0.9882 0.8078 0.149] SC -/DeviceRGB {} cs -[0.9882 0.8078 0.149] sc -223.09415 206.04443 m -224.30637 206.14986 l -225.4659 206.17621 l -226.83624 206.67691 l -227.416 207.20396 l -228.78635 207.04585 l -229.3134 207.38843 l -230.57832 208.28442 l -231.47432 208.94325 l -231.94867 208.94325 l -232.84467 209.23312 l -232.73926 209.65477 l -233.79337 209.70747 l -234.90019 210.3136 l -234.74207 210.65617 l -233.74066 210.84065 l -232.79196 210.91971 l -231.79056 210.78795 l -229.68234 210.94606 l -230.63104 210.12912 l -230.05127 209.73383 l -229.10257 209.62842 l -228.62822 209.20677 l -228.25929 208.38983 l -227.416 208.44255 l -226.04565 208.04726 l -225.62401 207.73102 l -223.72661 207.5202 l -223.19955 207.23032 l -223.77931 206.86137 l -222.30356 206.78232 l -221.24945 207.54655 l -220.66968 207.57291 l -220.45886 207.91548 l -219.72098 208.07361 l -219.08852 207.94185 l -219.8791 207.49385 l -220.19533 206.96678 l -220.88051 206.65056 l -221.61838 206.36067 l -222.7252 206.20256 l -223.09415 206.04443 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -223.09415 206.04443 m -224.30637 206.14986 l -225.4659 206.17621 l -226.83624 206.67691 l -227.416 207.20396 l -228.78635 207.04585 l -229.3134 207.38843 l -230.57832 208.28442 l -231.47432 208.94325 l -231.94867 208.94325 l -232.84467 209.23312 l -232.73926 209.65477 l -233.79337 209.70747 l -234.90019 210.3136 l -234.74207 210.65617 l -233.74066 210.84065 l -232.79196 210.91971 l -231.79056 210.78795 l -229.68234 210.94606 l -230.63104 210.12912 l -230.05127 209.73383 l -229.10257 209.62842 l -228.62822 209.20677 l -228.25929 208.38983 l -227.416 208.44255 l -226.04565 208.04726 l -225.62401 207.73102 l -223.72661 207.5202 l -223.19955 207.23032 l -223.77931 206.86137 l -222.30356 206.78232 l -221.24945 207.54655 l -220.66968 207.57291 l -220.45886 207.91548 l -219.72098 208.07361 l -219.08852 207.94185 l -219.8791 207.49385 l -220.19533 206.96678 l -220.88051 206.65056 l -221.61838 206.36067 l -222.7252 206.20256 l -223.09415 206.04443 l -h -S -/DeviceRGB {} CS -[0.9882 0.7451 0.1725] SC -/DeviceRGB {} cs -[0.9882 0.7451 0.1725] sc -365.50458 165.197632 m -366.18976 165.64563 l -367.29657 165.77739 l -367.19116 166.199036 l -367.98172 166.488922 l -368.19257 166.11998 l -369.19397 166.278091 l -369.35208 166.726089 l -370.40619 166.831497 l -371.09137 167.54303 l -370.66971 167.54303 l -370.45889 167.80655 l -370.08997 167.85925 l -369.98456 168.20184 l -369.72101 168.2809 l -369.6683 168.41267 l -369.19397 168.57079 l -368.56149 168.54443 l -368.35068 168.86067 l -367.6655 168.57079 l -366.98032 168.64984 l -365.8208 168.20184 l -365.29376 168.3336 l -364.50317 168.91338 l -363.39636 168.43903 l -362.55307 167.80655 l -361.81519 167.463974 l -361.65707 166.857849 l -361.39352 166.409851 l -362.50037 166.093628 l -363.0274 165.724686 l -364.08151 165.461151 l -364.45047 165.17128 l -364.8194 165.329391 l -365.50458 165.197632 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -365.50458 165.197632 m -366.18976 165.64563 l -367.29657 165.77739 l -367.19116 166.199036 l -367.98172 166.488922 l -368.19257 166.11998 l -369.19397 166.278091 l -369.35208 166.726089 l -370.40619 166.831497 l -371.09137 167.54303 l -370.66971 167.54303 l -370.45889 167.80655 l -370.08997 167.85925 l -369.98456 168.20184 l -369.72101 168.2809 l -369.6683 168.41267 l -369.19397 168.57079 l -368.56149 168.54443 l -368.35068 168.86067 l -367.6655 168.57079 l -366.98032 168.64984 l -365.8208 168.20184 l -365.29376 168.3336 l -364.50317 168.91338 l -363.39636 168.43903 l -362.55307 167.80655 l -361.81519 167.463974 l -361.65707 166.857849 l -361.39352 166.409851 l -362.50037 166.093628 l -363.0274 165.724686 l -364.08151 165.461151 l -364.45047 165.17128 l -364.8194 165.329391 l -365.50458 165.197632 l -h -S -/DeviceRGB {} CS -[0.9882 0.8118 0.1451] SC -/DeviceRGB {} cs -[0.9882 0.8118 0.1451] sc -358.02039 159.505432 m -357.07169 159.742599 l -355.96487 159.531784 l -355.3851 158.714844 l -355.3324 157.23909 l -355.59592 156.843796 l -356.01758 156.395798 l -357.2825 156.316742 l -357.80957 155.895096 l -358.96909 155.499802 l -358.91638 156.237686 l -358.49472 156.712036 l -358.70557 157.133682 l -359.49612 157.344498 l -359.1272 157.897903 l -358.70557 157.739792 l -357.65146 158.7939 l -358.02039 159.505432 l -h -361.60437 157.871552 m -362.0787 158.583084 l -361.18271 159.768951 l -359.65427 158.952026 l -359.44342 158.345901 l -361.60437 157.871552 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -358.02039 159.505432 m -357.07169 159.742599 l -355.96487 159.531784 l -355.3851 158.714844 l -355.3324 157.23909 l -355.59592 156.843796 l -356.01758 156.395798 l -357.2825 156.316742 l -357.80957 155.895096 l -358.96909 155.499802 l -358.91638 156.237686 l -358.49472 156.712036 l -358.70557 157.133682 l -359.49612 157.344498 l -359.1272 157.897903 l -358.70557 157.739792 l -357.65146 158.7939 l -358.02039 159.505432 l -h -361.60437 157.871552 m -362.0787 158.583084 l -361.18271 159.768951 l -359.65427 158.952026 l -359.44342 158.345901 l -361.60437 157.871552 l -h -S -/DeviceRGB {} CS -[0.6353 0.1137 0.6039] SC -/DeviceRGB {} cs -[0.6353 0.1137 0.6039] sc -405.50809 221.64529 m -406.14056 221.77705 l -406.56219 221.40811 l -406.93115 221.85611 l -406.87845 222.46222 l -406.03516 222.83116 l -406.6676 223.22646 l -406.14056 224.01704 l -405.77164 223.75351 l -405.45538 223.85892 l -404.61209 223.83257 l -404.61209 223.38457 l -404.50668 222.96292 l -404.98105 222.27776 l -405.50809 221.64529 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -405.50809 221.64529 m -406.14056 221.77705 l -406.56219 221.40811 l -406.93115 221.85611 l -406.87845 222.46222 l -406.03516 222.83116 l -406.6676 223.22646 l -406.14056 224.01704 l -405.77164 223.75351 l -405.45538 223.85892 l -404.61209 223.83257 l -404.61209 223.38457 l -404.50668 222.96292 l -404.98105 222.27776 l -405.50809 221.64529 l -h -S -/DeviceRGB {} CS -[0.9765 0.6 0.2431] SC -/DeviceRGB {} cs -[0.9765 0.6 0.2431] sc -238.53687 213.58133 m -238.53687 213.18605 l -238.16794 212.73805 l -238.53687 212.50087 l -238.64229 211.94746 l -238.53687 211.13052 l -238.69499 210.89336 l -239.85451 210.89336 l -240.6978 211.2623 l -241.11945 211.23593 l -241.38297 211.763 l -242.17355 211.73665 l -242.12085 212.15828 l -242.75331 212.211 l -243.4912 212.7644 l -242.96414 213.34416 l -242.22626 213.02792 l -241.5938 213.08063 l -241.11945 213.02792 l -240.85591 213.29146 l -240.27615 213.37051 l -240.06534 213.02792 l -239.53827 213.23875 l -238.95851 214.24016 l -238.58957 214.00298 l -238.53687 213.58133 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -238.53687 213.58133 m -238.53687 213.18605 l -238.16794 212.73805 l -238.53687 212.50087 l -238.64229 211.94746 l -238.53687 211.13052 l -238.69499 210.89336 l -239.85451 210.89336 l -240.6978 211.2623 l -241.11945 211.23593 l -241.38297 211.763 l -242.17355 211.73665 l -242.12085 212.15828 l -242.75331 212.211 l -243.4912 212.7644 l -242.96414 213.34416 l -242.22626 213.02792 l -241.5938 213.08063 l -241.11945 213.02792 l -240.85591 213.29146 l -240.27615 213.37051 l -240.06534 213.02792 l -239.53827 213.23875 l -238.95851 214.24016 l -238.58957 214.00298 l -238.53687 213.58133 l -h -S -/DeviceRGB {} CS -[0.9882 0.6941 0.1961] SC -/DeviceRGB {} cs -[0.9882 0.6941 0.1961] sc -233.1609 240.224 m -233.37172 241.33081 l -232.89737 242.27951 l -231.31621 243.80798 l -229.57692 244.38774 l -228.68092 245.67903 l -228.3647 246.65408 l -227.57411 247.26019 l -226.94165 246.52231 l -226.36189 246.3642 l -225.72942 246.4696 l -225.67671 245.94255 l -226.09836 245.59996 l -225.94025 244.99385 l -226.73082 243.88704 l -226.4146 243.25456 l -225.83482 243.93974 l -224.99155 243.28091 l -225.25507 242.88564 l -225.04425 241.54164 l -225.5186 241.33081 l -225.78212 240.40846 l -226.36189 239.45976 l -226.25647 238.88 l -227.04706 238.56377 l -228.04846 237.98401 l -229.52422 238.8273 l -229.78775 238.80095 l -230.15669 239.43341 l -231.42162 239.61789 l -231.79056 239.38071 l -232.52844 239.88141 l -233.1609 240.224 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -233.1609 240.224 m -233.37172 241.33081 l -232.89737 242.27951 l -231.31621 243.80798 l -229.57692 244.38774 l -228.68092 245.67903 l -228.3647 246.65408 l -227.57411 247.26019 l -226.94165 246.52231 l -226.36189 246.3642 l -225.72942 246.4696 l -225.67671 245.94255 l -226.09836 245.59996 l -225.94025 244.99385 l -226.73082 243.88704 l -226.4146 243.25456 l -225.83482 243.93974 l -224.99155 243.28091 l -225.25507 242.88564 l -225.04425 241.54164 l -225.5186 241.33081 l -225.78212 240.40846 l -226.36189 239.45976 l -226.25647 238.88 l -227.04706 238.56377 l -228.04846 237.98401 l -229.52422 238.8273 l -229.78775 238.80095 l -230.15669 239.43341 l -231.42162 239.61789 l -231.79056 239.38071 l -232.52844 239.88141 l -233.1609 240.224 l -h -S -/DeviceRGB {} CS -[0.9647 0.5686 0.2627] SC -/DeviceRGB {} cs -[0.9647 0.5686 0.2627] sc -397.44415 207.78372 m -391.64655 207.78372 l -386.00705 207.78372 l -380.104 207.78372 l -380.104 202.40776 l -380.104 197.18991 l -379.68237 196.03038 l -380.0513 195.10803 l -379.78778 194.47557 l -380.31485 193.79039 l -382.26495 193.76404 l -383.68799 194.15933 l -385.16376 194.58098 l -385.84891 194.81816 l -386.95575 194.34381 l -387.53549 193.92216 l -388.85315 193.81676 l -389.90726 194.00122 l -390.27618 194.71274 l -390.64514 194.23839 l -391.80466 194.58098 l -392.96417 194.66003 l -393.64935 194.29111 l -394.49265 196.42567 l -394.59805 196.82097 l -394.2291 197.40073 l -393.91287 198.50754 l -393.49124 199.27177 l -393.17499 199.53531 l -392.64795 199.06096 l -392.01547 198.40213 l -390.96136 196.29391 l -390.80325 196.42567 l -391.4357 197.98048 l -392.3317 199.45624 l -393.43851 201.72258 l -393.96558 202.51317 l -394.43994 203.35646 l -395.75757 204.96397 l -395.44135 205.22751 l -395.49405 206.17621 l -397.23331 207.49385 l -397.44415 207.78372 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -397.44415 207.78372 m -391.64655 207.78372 l -386.00705 207.78372 l -380.104 207.78372 l -380.104 202.40776 l -380.104 197.18991 l -379.68237 196.03038 l -380.0513 195.10803 l -379.78778 194.47557 l -380.31485 193.79039 l -382.26495 193.76404 l -383.68799 194.15933 l -385.16376 194.58098 l -385.84891 194.81816 l -386.95575 194.34381 l -387.53549 193.92216 l -388.85315 193.81676 l -389.90726 194.00122 l -390.27618 194.71274 l -390.64514 194.23839 l -391.80466 194.58098 l -392.96417 194.66003 l -393.64935 194.29111 l -394.49265 196.42567 l -394.59805 196.82097 l -394.2291 197.40073 l -393.91287 198.50754 l -393.49124 199.27177 l -393.17499 199.53531 l -392.64795 199.06096 l -392.01547 198.40213 l -390.96136 196.29391 l -390.80325 196.42567 l -391.4357 197.98048 l -392.3317 199.45624 l -393.43851 201.72258 l -393.96558 202.51317 l -394.43994 203.35646 l -395.75757 204.96397 l -395.44135 205.22751 l -395.49405 206.17621 l -397.23331 207.49385 l -397.44415 207.78372 l -h -S -/DeviceRGB {} CS -[0.9725 0.5882 0.251] SC -/DeviceRGB {} cs -[0.9725 0.5882 0.251] sc -212.71115 218.87825 m -213.13278 219.01001 l -213.44902 219.2999 l -213.87067 219.53706 l -213.92337 219.72153 l -214.55583 219.56342 l -214.87207 219.66882 l -215.0829 219.82695 l -214.97748 220.40671 l -214.81937 220.7493 l -213.97607 220.72295 l -213.44902 220.59117 l -212.81656 220.3013 l -212.02597 220.19588 l -211.60432 219.90601 l -211.65703 219.66882 l -212.13138 219.2999 l -212.44762 219.14177 l -212.34221 218.98366 l -212.71115 218.87825 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -212.71115 218.87825 m -213.13278 219.01001 l -213.44902 219.2999 l -213.87067 219.53706 l -213.92337 219.72153 l -214.55583 219.56342 l -214.87207 219.66882 l -215.0829 219.82695 l -214.97748 220.40671 l -214.81937 220.7493 l -213.97607 220.72295 l -213.44902 220.59117 l -212.81656 220.3013 l -212.02597 220.19588 l -211.60432 219.90601 l -211.65703 219.66882 l -212.13138 219.2999 l -212.44762 219.14177 l -212.34221 218.98366 l -212.71115 218.87825 l -h -S -/DeviceRGB {} CS -[0.5294 0.0471 0.6392] SC -/DeviceRGB {} cs -[0.5294 0.0471 0.6392] sc -357.65146 236.66637 m -360.02319 236.69272 l -360.02319 238.45836 l -357.91498 238.43201 l -357.38791 238.51106 l -357.12439 238.30025 l -357.65146 236.66637 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -357.65146 236.66637 m -360.02319 236.69272 l -360.02319 238.45836 l -357.91498 238.43201 l -357.38791 238.51106 l -357.12439 238.30025 l -357.65146 236.66637 l -h -S -/DeviceRGB {} CS -[0.7216 0.1961 0.5373] SC -/DeviceRGB {} cs -[0.7216 0.1961 0.5373] sc -396.81168 218.87825 m -396.65356 218.29848 l -397.28604 216.13756 l -397.44415 215.18886 l -397.91849 214.74086 l -398.9726 214.47733 l -399.71048 213.6604 l -400.55377 215.34697 l -400.9754 216.69096 l -401.76599 217.4025 l -403.7688 218.79919 l -404.61209 219.61612 l -405.40268 220.45941 l -405.82434 220.96011 l -406.56219 221.40811 l -406.14056 221.77705 l -405.50809 221.64529 l -404.98105 221.17094 l -404.40128 220.3013 l -403.7688 219.82695 l -403.34717 219.32625 l -402.08224 218.74648 l -401.08084 218.72012 l -400.71188 218.43025 l -399.86859 218.77283 l -398.9726 218.11401 l -398.55096 219.19447 l -396.81168 218.87825 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -396.81168 218.87825 m -396.65356 218.29848 l -397.28604 216.13756 l -397.44415 215.18886 l -397.91849 214.74086 l -398.9726 214.47733 l -399.71048 213.6604 l -400.55377 215.34697 l -400.9754 216.69096 l -401.76599 217.4025 l -403.7688 218.79919 l -404.61209 219.61612 l -405.40268 220.45941 l -405.82434 220.96011 l -406.56219 221.40811 l -406.14056 221.77705 l -405.50809 221.64529 l -404.98105 221.17094 l -404.40128 220.3013 l -403.7688 219.82695 l -403.34717 219.32625 l -402.08224 218.74648 l -401.08084 218.72012 l -400.71188 218.43025 l -399.86859 218.77283 l -398.9726 218.11401 l -398.55096 219.19447 l -396.81168 218.87825 l -h -S -/DeviceRGB {} CS -[0.5765 0.0706 0.6275] SC -/DeviceRGB {} cs -[0.5765 0.0706 0.6275] sc -413.46664 228.28619 m -409.30289 232.6871 l -407.40549 232.73981 l -406.08786 233.76756 l -405.19186 233.79391 l -404.7702 234.26826 l -403.7688 234.26826 l -403.18906 233.76756 l -401.8187 234.37369 l -401.39706 234.9798 l -400.44836 234.87439 l -400.13214 234.71626 l -399.76318 234.74261 l -399.28885 234.74261 l -397.44415 233.47769 l -396.44275 233.47769 l -395.91568 233.00334 l -395.91568 232.1864 l -395.1778 231.94922 l -394.2818 230.34171 l -393.64935 229.99911 l -393.3858 229.41936 l -392.64795 228.70784 l -391.75195 228.60242 l -392.22629 227.75914 l -393.01688 227.73277 l -393.22769 227.28479 l -393.22769 225.96715 l -393.64935 224.43867 l -394.3345 224.01704 l -394.49265 223.43727 l -395.12509 222.30411 l -396.02109 221.59258 l -396.60086 220.14317 l -396.81168 218.87825 l -398.55096 219.19447 l -398.9726 218.11401 l -399.86859 218.77283 l -400.71188 218.43025 l -401.08084 218.72012 l -402.08224 218.74648 l -403.34717 219.32625 l -403.7688 219.82695 l -404.40128 220.3013 l -404.98105 221.17094 l -405.50809 221.64529 l -404.98105 222.27776 l -404.50668 222.96292 l -404.61209 223.38457 l -404.61209 223.83257 l -405.45538 223.85892 l -405.77164 223.75351 l -406.14056 224.01704 l -405.82434 224.51775 l -406.35138 225.33467 l -406.87845 226.0462 l -407.45819 226.54691 l -412.20169 228.28619 l -413.46664 228.28619 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -413.46664 228.28619 m -409.30289 232.6871 l -407.40549 232.73981 l -406.08786 233.76756 l -405.19186 233.79391 l -404.7702 234.26826 l -403.7688 234.26826 l -403.18906 233.76756 l -401.8187 234.37369 l -401.39706 234.9798 l -400.44836 234.87439 l -400.13214 234.71626 l -399.76318 234.74261 l -399.28885 234.74261 l -397.44415 233.47769 l -396.44275 233.47769 l -395.91568 233.00334 l -395.91568 232.1864 l -395.1778 231.94922 l -394.2818 230.34171 l -393.64935 229.99911 l -393.3858 229.41936 l -392.64795 228.70784 l -391.75195 228.60242 l -392.22629 227.75914 l -393.01688 227.73277 l -393.22769 227.28479 l -393.22769 225.96715 l -393.64935 224.43867 l -394.3345 224.01704 l -394.49265 223.43727 l -395.12509 222.30411 l -396.02109 221.59258 l -396.60086 220.14317 l -396.81168 218.87825 l -398.55096 219.19447 l -398.9726 218.11401 l -399.86859 218.77283 l -400.71188 218.43025 l -401.08084 218.72012 l -402.08224 218.74648 l -403.34717 219.32625 l -403.7688 219.82695 l -404.40128 220.3013 l -404.98105 221.17094 l -405.50809 221.64529 l -404.98105 222.27776 l -404.50668 222.96292 l -404.61209 223.38457 l -404.61209 223.83257 l -405.45538 223.85892 l -405.77164 223.75351 l -406.14056 224.01704 l -405.82434 224.51775 l -406.35138 225.33467 l -406.87845 226.0462 l -407.45819 226.54691 l -412.20169 228.28619 l -413.46664 228.28619 l -h -S -/DeviceRGB {} CS -[0.9765 0.851 0.1412] SC -/DeviceRGB {} cs -[0.9765 0.851 0.1412] sc -385.37457 138.897552 m -385.16376 139.925308 l -387.37738 140.90036 l -386.00705 142.007187 l -387.74631 143.667404 l -386.7449 144.932343 l -388.06256 146.012802 l -387.48279 146.961502 l -389.64371 147.962906 l -389.06396 148.727142 l -387.74631 149.570435 l -384.58398 151.441483 l -381.9487 151.54689 l -379.36615 152.073944 l -376.99438 152.390182 l -376.15109 151.599594 l -374.72806 151.098892 l -375.04428 149.675842 l -374.3064 148.3582 l -375.04428 147.488556 l -376.36191 146.566208 l -379.68237 144.985046 l -380.68378 144.69516 l -380.52567 144.062698 l -378.47015 143.377533 l -377.99579 142.79776 l -377.94308 140.557785 l -375.67676 139.556366 l -373.72665 138.844849 l -374.62265 138.449554 l -376.2038 139.213791 l -378.1539 139.161087 l -379.73508 139.503662 l -381.10541 138.844849 l -381.84329 137.790741 l -384.10965 137.290039 l -385.95435 137.869797 l -385.37457 138.897552 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -385.37457 138.897552 m -385.16376 139.925308 l -387.37738 140.90036 l -386.00705 142.007187 l -387.74631 143.667404 l -386.7449 144.932343 l -388.06256 146.012802 l -387.48279 146.961502 l -389.64371 147.962906 l -389.06396 148.727142 l -387.74631 149.570435 l -384.58398 151.441483 l -381.9487 151.54689 l -379.36615 152.073944 l -376.99438 152.390182 l -376.15109 151.599594 l -374.72806 151.098892 l -375.04428 149.675842 l -374.3064 148.3582 l -375.04428 147.488556 l -376.36191 146.566208 l -379.68237 144.985046 l -380.68378 144.69516 l -380.52567 144.062698 l -378.47015 143.377533 l -377.99579 142.79776 l -377.94308 140.557785 l -375.67676 139.556366 l -373.72665 138.844849 l -374.62265 138.449554 l -376.2038 139.213791 l -378.1539 139.161087 l -379.73508 139.503662 l -381.10541 138.844849 l -381.84329 137.790741 l -384.10965 137.290039 l -385.95435 137.869797 l -385.37457 138.897552 l -h -S -/DeviceRGB {} CS -[0.9608 0.902 0.1373] SC -/DeviceRGB {} cs -[0.9608 0.902 0.1373] sc -267.89386 233.92569 m -266.99786 235.24332 l -266.57623 236.32379 l -265.99646 236.8772 l -265.31131 236.9826 l -265.10046 236.58731 l -264.78424 236.50826 l -264.30991 236.9299 l -263.67743 236.61366 l -264.04636 236.00755 l -264.20447 235.32239 l -264.41531 234.68991 l -263.88824 233.82027 l -263.73013 232.81886 l -264.52072 231.58029 l -264.99506 231.7384 l -266.10187 232.08099 l -267.63034 233.31956 l -267.89386 233.92569 l -h -352.539 167.595734 m -353.22418 167.96468 l -355.3324 168.25455 l -354.59451 169.25595 l -354.4364 170.28372 l -354.01477 170.54724 l -353.38229 170.41548 l -353.435 170.78442 l -352.32819 171.60135 l -352.32819 172.26018 l -353.01337 172.02299 l -353.54041 172.68182 l -353.435 173.07712 l -353.90936 173.63052 l -353.38229 174.07852 l -353.75122 175.21169 l -354.54181 175.39615 l -354.3837 176.02863 l -353.06607 176.87192 l -350.16727 176.47662 l -348.05902 176.95097 l -347.84821 177.82062 l -346.16162 178.00508 l -344.52777 177.34627 l -344.0007 177.66249 l -341.31271 177.00368 l -340.73297 176.42392 l -341.47083 175.55428 l -341.73438 172.62912 l -340.25861 171.10065 l -339.15179 170.36278 l -336.93817 169.80937 l -336.78003 168.7289 l -338.67743 168.41267 l -341.1546 168.7816 l -340.68027 167.121384 l -342.0506 167.753845 l -345.47647 166.620682 l -345.8981 165.408447 l -347.16302 165.118576 l -347.37387 165.64563 l -348.05902 165.671982 l -348.7442 166.25174 l -349.79831 166.93692 l -350.53619 166.831497 l -351.80112 167.490326 l -352.11737 167.622086 l -352.539 167.595734 l -h -356.2811 177.60979 m -357.2298 177.03003 l -357.49332 178.29497 l -357.01898 179.42813 l -356.3338 179.13824 l -356.01758 178.13684 l -356.2811 177.60979 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -267.89386 233.92569 m -266.99786 235.24332 l -266.57623 236.32379 l -265.99646 236.8772 l -265.31131 236.9826 l -265.10046 236.58731 l -264.78424 236.50826 l -264.30991 236.9299 l -263.67743 236.61366 l -264.04636 236.00755 l -264.20447 235.32239 l -264.41531 234.68991 l -263.88824 233.82027 l -263.73013 232.81886 l -264.52072 231.58029 l -264.99506 231.7384 l -266.10187 232.08099 l -267.63034 233.31956 l -267.89386 233.92569 l -h -352.539 167.595734 m -353.22418 167.96468 l -355.3324 168.25455 l -354.59451 169.25595 l -354.4364 170.28372 l -354.01477 170.54724 l -353.38229 170.41548 l -353.435 170.78442 l -352.32819 171.60135 l -352.32819 172.26018 l -353.01337 172.02299 l -353.54041 172.68182 l -353.435 173.07712 l -353.90936 173.63052 l -353.38229 174.07852 l -353.75122 175.21169 l -354.54181 175.39615 l -354.3837 176.02863 l -353.06607 176.87192 l -350.16727 176.47662 l -348.05902 176.95097 l -347.84821 177.82062 l -346.16162 178.00508 l -344.52777 177.34627 l -344.0007 177.66249 l -341.31271 177.00368 l -340.73297 176.42392 l -341.47083 175.55428 l -341.73438 172.62912 l -340.25861 171.10065 l -339.15179 170.36278 l -336.93817 169.80937 l -336.78003 168.7289 l -338.67743 168.41267 l -341.1546 168.7816 l -340.68027 167.121384 l -342.0506 167.753845 l -345.47647 166.620682 l -345.8981 165.408447 l -347.16302 165.118576 l -347.37387 165.64563 l -348.05902 165.671982 l -348.7442 166.25174 l -349.79831 166.93692 l -350.53619 166.831497 l -351.80112 167.490326 l -352.11737 167.622086 l -352.539 167.595734 l -h -356.2811 177.60979 m -357.2298 177.03003 l -357.49332 178.29497 l -357.01898 179.42813 l -356.3338 179.13824 l -356.01758 178.13684 l -356.2811 177.60979 l -h -S -/DeviceRGB {} CS -[0.6863 0.1647 0.5647] SC -/DeviceRGB {} cs -[0.6863 0.1647 0.5647] sc -360.02319 236.69272 m -360.70837 236.58731 l -361.60437 236.79814 l -362.44766 236.61366 l -362.65848 236.69272 l -362.55307 237.3252 l -362.922 238.06306 l -364.02881 237.95766 l -364.39777 238.24754 l -363.76529 239.93411 l -364.45047 240.80376 l -364.60858 241.96329 l -364.45047 242.93834 l -363.9761 243.6235 l -362.71118 243.54445 l -361.92059 242.85928 l -361.81519 243.49174 l -360.81378 243.67621 l -360.28671 244.04515 l -360.86649 245.0202 l -359.75967 245.83714 l -358.2312 244.33504 l -357.2825 243.14915 l -356.38651 241.6207 l -356.43921 241.14635 l -356.75546 240.672 l -357.12439 239.61789 l -357.38791 238.51106 l -357.91498 238.43201 l -360.02319 238.45836 l -360.02319 236.69272 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -360.02319 236.69272 m -360.70837 236.58731 l -361.60437 236.79814 l -362.44766 236.61366 l -362.65848 236.69272 l -362.55307 237.3252 l -362.922 238.06306 l -364.02881 237.95766 l -364.39777 238.24754 l -363.76529 239.93411 l -364.45047 240.80376 l -364.60858 241.96329 l -364.45047 242.93834 l -363.9761 243.6235 l -362.71118 243.54445 l -361.92059 242.85928 l -361.81519 243.49174 l -360.81378 243.67621 l -360.28671 244.04515 l -360.86649 245.0202 l -359.75967 245.83714 l -358.2312 244.33504 l -357.2825 243.14915 l -356.38651 241.6207 l -356.43921 241.14635 l -356.75546 240.672 l -357.12439 239.61789 l -357.38791 238.51106 l -357.91498 238.43201 l -360.02319 238.45836 l -360.02319 236.69272 l -h -S -/DeviceRGB {} CS -[0.7569 0.2353 0.5098] SC -/DeviceRGB {} cs -[0.7569 0.2353 0.5098] sc -319.01828 220.09047 m -320.65213 220.06412 l -320.96838 219.72153 l -321.44272 219.69518 l -322.02249 220.03777 l -322.44412 220.06412 l -322.91849 219.8006 l -323.23471 220.22224 l -322.60223 220.56482 l -321.96979 220.53847 l -321.33731 220.22224 l -320.81024 220.56482 l -320.54672 220.56482 l -320.1778 220.77565 l -318.86014 220.7493 l -319.01828 220.09047 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -319.01828 220.09047 m -320.65213 220.06412 l -320.96838 219.72153 l -321.44272 219.69518 l -322.02249 220.03777 l -322.44412 220.06412 l -322.91849 219.8006 l -323.23471 220.22224 l -322.60223 220.56482 l -321.96979 220.53847 l -321.33731 220.22224 l -320.81024 220.56482 l -320.54672 220.56482 l -320.1778 220.77565 l -318.86014 220.7493 l -319.01828 220.09047 l -h -S -/DeviceRGB {} CS -[0.9765 0.8549 0.1412] SC -/DeviceRGB {} cs -[0.9765 0.8549 0.1412] sc -364.18692 161.297424 m -364.50317 162.061646 l -364.08151 162.430588 l -364.66129 162.957642 l -364.97751 163.74823 l -364.8721 164.248932 l -365.50458 165.197632 l -364.8194 165.329391 l -364.45047 165.17128 l -364.08151 165.461151 l -363.0274 165.724686 l -362.50037 166.093628 l -361.39352 166.409851 l -361.65707 166.857849 l -361.81519 167.463974 l -362.55307 167.80655 l -363.39636 168.43903 l -362.86929 169.12419 l -362.34222 169.30867 l -362.55307 170.25737 l -362.44766 170.52089 l -361.9733 170.20465 l -361.28812 170.1783 l -360.23401 170.44183 l -358.91638 170.36278 l -358.70557 170.75807 l -357.96768 170.33643 l -357.54602 170.41548 l -355.96487 169.96748 l -355.70132 170.31007 l -354.4364 170.28372 l -354.59451 169.25595 l -355.3324 168.25455 l -353.22418 167.96468 l -352.539 167.595734 l -352.64441 166.93692 l -352.32819 166.620682 l -352.539 165.619278 l -352.27548 164.090805 l -353.17148 164.090805 l -353.54041 163.537399 l -353.85663 162.193405 l -353.59311 161.719055 l -353.90936 161.402832 l -355.12158 161.323776 l -355.3851 161.639999 l -356.38651 160.928482 l -356.07028 160.375076 l -355.96487 159.531784 l -357.07169 159.742599 l -358.02039 159.505432 l -358.07309 160.08519 l -359.54886 160.42778 l -359.49612 160.928482 l -361.0246 160.664948 l -361.81519 160.269653 l -363.50177 160.849426 l -364.18692 161.297424 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -364.18692 161.297424 m -364.50317 162.061646 l -364.08151 162.430588 l -364.66129 162.957642 l -364.97751 163.74823 l -364.8721 164.248932 l -365.50458 165.197632 l -364.8194 165.329391 l -364.45047 165.17128 l -364.08151 165.461151 l -363.0274 165.724686 l -362.50037 166.093628 l -361.39352 166.409851 l -361.65707 166.857849 l -361.81519 167.463974 l -362.55307 167.80655 l -363.39636 168.43903 l -362.86929 169.12419 l -362.34222 169.30867 l -362.55307 170.25737 l -362.44766 170.52089 l -361.9733 170.20465 l -361.28812 170.1783 l -360.23401 170.44183 l -358.91638 170.36278 l -358.70557 170.75807 l -357.96768 170.33643 l -357.54602 170.41548 l -355.96487 169.96748 l -355.70132 170.31007 l -354.4364 170.28372 l -354.59451 169.25595 l -355.3324 168.25455 l -353.22418 167.96468 l -352.539 167.595734 l -352.64441 166.93692 l -352.32819 166.620682 l -352.539 165.619278 l -352.27548 164.090805 l -353.17148 164.090805 l -353.54041 163.537399 l -353.85663 162.193405 l -353.59311 161.719055 l -353.90936 161.402832 l -355.12158 161.323776 l -355.3851 161.639999 l -356.38651 160.928482 l -356.07028 160.375076 l -355.96487 159.531784 l -357.07169 159.742599 l -358.02039 159.505432 l -358.07309 160.08519 l -359.54886 160.42778 l -359.49612 160.928482 l -361.0246 160.664948 l -361.81519 160.269653 l -363.50177 160.849426 l -364.18692 161.297424 l -h -S -/DeviceRGB {} CS -[0.7686 0.251 0.498] SC -/DeviceRGB {} cs -[0.7686 0.251 0.498] sc -343.52637 223.85892 m -343.42093 224.33327 l -344.05341 225.07115 l -344.05341 226.15161 l -344.15881 227.28479 l -344.52777 227.8382 l -344.21152 229.15582 l -344.31693 229.86736 l -344.73859 230.81606 l -345.05481 231.31676 l -342.73578 232.1864 l -341.94519 232.6871 l -340.62753 233.10875 l -339.30991 232.6871 l -339.36261 232.10735 l -338.73013 230.84241 l -339.15179 229.20854 l -339.73157 227.96996 l -339.36261 225.88809 l -339.15179 224.78127 l -339.2045 223.96432 l -341.73438 223.88527 l -342.36682 223.99069 l -342.84119 223.75351 l -343.52637 223.85892 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -343.52637 223.85892 m -343.42093 224.33327 l -344.05341 225.07115 l -344.05341 226.15161 l -344.15881 227.28479 l -344.52777 227.8382 l -344.21152 229.15582 l -344.31693 229.86736 l -344.73859 230.81606 l -345.05481 231.31676 l -342.73578 232.1864 l -341.94519 232.6871 l -340.62753 233.10875 l -339.30991 232.6871 l -339.36261 232.10735 l -338.73013 230.84241 l -339.15179 229.20854 l -339.73157 227.96996 l -339.36261 225.88809 l -339.15179 224.78127 l -339.2045 223.96432 l -341.73438 223.88527 l -342.36682 223.99069 l -342.84119 223.75351 l -343.52637 223.85892 l -h -S -/DeviceRGB {} CS -[0.9725 0.8549 0.1412] SC -/DeviceRGB {} cs -[0.9725 0.8549 0.1412] sc -382.0014 188.33537 m -381.79059 188.75702 l -379.68237 188.88878 l -379.73508 188.65161 l -377.94308 188.36172 l -378.2066 187.72926 l -378.99719 188.22997 l -380.15671 188.15091 l -381.21082 188.25632 l -381.21082 188.49348 l -382.0014 188.33537 l -h -377.09979 179.48083 m -378.2066 179.53354 l -379.36615 179.13824 l -380.36755 179.63895 l -381.73788 179.50719 l -381.73788 178.76932 l -382.42307 179.1646 l -382.0014 180.06059 l -381.63248 180.24507 l -380.73648 180.19237 l -379.9986 180.06059 l -378.2066 180.42953 l -379.20801 181.27283 l -378.47015 181.50999 l -377.67957 181.50999 l -376.88898 180.74577 l -376.62546 181.062 l -376.94168 181.93164 l -377.67957 182.61682 l -377.1525 182.95941 l -377.94308 183.61823 l -378.68097 184.03987 l -378.68097 184.88316 l -377.36331 184.48787 l -377.78497 185.22574 l -376.83627 185.38387 l -377.41602 186.67514 l -376.41461 186.70149 l -375.20239 186.06903 l -374.67535 184.88316 l -374.4118 183.90811 l -373.83206 183.24928 l -373.09418 182.40599 l -372.98877 181.98434 l -373.67395 181.27283 l -373.77936 180.79848 l -374.25369 180.58765 l -374.25369 180.21872 l -375.20239 180.08694 l -375.78217 179.77072 l -376.57275 179.79707 l -376.83627 179.53354 l -377.09979 179.48083 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -382.0014 188.33537 m -381.79059 188.75702 l -379.68237 188.88878 l -379.73508 188.65161 l -377.94308 188.36172 l -378.2066 187.72926 l -378.99719 188.22997 l -380.15671 188.15091 l -381.21082 188.25632 l -381.21082 188.49348 l -382.0014 188.33537 l -h -377.09979 179.48083 m -378.2066 179.53354 l -379.36615 179.13824 l -380.36755 179.63895 l -381.73788 179.50719 l -381.73788 178.76932 l -382.42307 179.1646 l -382.0014 180.06059 l -381.63248 180.24507 l -380.73648 180.19237 l -379.9986 180.06059 l -378.2066 180.42953 l -379.20801 181.27283 l -378.47015 181.50999 l -377.67957 181.50999 l -376.88898 180.74577 l -376.62546 181.062 l -376.94168 181.93164 l -377.67957 182.61682 l -377.1525 182.95941 l -377.94308 183.61823 l -378.68097 184.03987 l -378.68097 184.88316 l -377.36331 184.48787 l -377.78497 185.22574 l -376.83627 185.38387 l -377.41602 186.67514 l -376.41461 186.70149 l -375.20239 186.06903 l -374.67535 184.88316 l -374.4118 183.90811 l -373.83206 183.24928 l -373.09418 182.40599 l -372.98877 181.98434 l -373.67395 181.27283 l -373.77936 180.79848 l -374.25369 180.58765 l -374.25369 180.21872 l -375.20239 180.08694 l -375.78217 179.77072 l -376.57275 179.79707 l -376.83627 179.53354 l -377.09979 179.48083 l -h -S -/DeviceRGB {} CS -[0.9529 0.5373 0.2863] SC -/DeviceRGB {} cs -[0.9529 0.5373 0.2863] sc -208.49471 218.72012 m -208.54741 218.29848 l -208.70552 217.9559 l -208.49471 217.66602 l -209.17987 216.48015 l -211.07727 216.48015 l -211.12997 215.97945 l -210.86646 215.90038 l -210.70833 215.58415 l -210.18127 215.24156 l -209.60152 214.74086 l -210.28668 214.74086 l -210.28668 213.92392 l -211.65703 213.92392 l -213.02737 213.92392 l -212.97467 215.08345 l -212.86926 216.74367 l -213.29091 216.74367 l -213.81796 217.0072 l -213.92337 216.79637 l -214.34502 216.98085 l -213.65985 217.53426 l -212.97467 217.9559 l -212.86926 218.21942 l -212.97467 218.50931 l -212.71115 218.87825 l -212.34221 218.98366 l -212.44762 219.14177 l -212.13138 219.2999 l -211.65703 219.66882 l -211.60432 219.90601 l -210.86646 219.64247 l -209.97046 219.61612 l -209.28528 219.32625 l -208.49471 218.72012 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -208.49471 218.72012 m -208.54741 218.29848 l -208.70552 217.9559 l -208.49471 217.66602 l -209.17987 216.48015 l -211.07727 216.48015 l -211.12997 215.97945 l -210.86646 215.90038 l -210.70833 215.58415 l -210.18127 215.24156 l -209.60152 214.74086 l -210.28668 214.74086 l -210.28668 213.92392 l -211.65703 213.92392 l -213.02737 213.92392 l -212.97467 215.08345 l -212.86926 216.74367 l -213.29091 216.74367 l -213.81796 217.0072 l -213.92337 216.79637 l -214.34502 216.98085 l -213.65985 217.53426 l -212.97467 217.9559 l -212.86926 218.21942 l -212.97467 218.50931 l -212.71115 218.87825 l -212.34221 218.98366 l -212.44762 219.14177 l -212.13138 219.2999 l -211.65703 219.66882 l -211.60432 219.90601 l -210.86646 219.64247 l -209.97046 219.61612 l -209.28528 219.32625 l -208.49471 218.72012 l -h -S -/DeviceRGB {} CS -[0.6667 0.1451 0.5804] SC -/DeviceRGB {} cs -[0.6667 0.1451 0.5804] sc -323.44553 221.56622 m -324.13071 221.59258 l -325.18481 221.93517 l -325.50104 221.90881 l -325.65918 221.7507 l -326.44974 221.85611 l -326.66058 221.77705 l -326.71329 222.33046 l -326.97681 222.33046 l -327.34573 222.11964 l -327.60928 222.17235 l -327.97821 222.54128 l -328.61069 222.67305 l -329.03232 222.35681 l -329.50668 222.146 l -329.82291 221.93517 l -330.13913 221.98787 l -330.45538 222.30411 l -330.61349 222.6994 l -331.24597 223.33186 l -330.92972 223.70081 l -330.87701 224.17516 l -331.19324 224.01704 l -331.35138 224.20151 l -331.29868 224.64951 l -331.72031 225.07115 l -331.45679 225.17656 l -331.35138 225.67726 l -331.6676 226.28337 l -332.03653 227.4429 l -331.50949 227.62737 l -331.35138 227.8382 l -331.45679 228.10172 l -331.40408 228.73419 l -331.14053 228.76054 l -330.7189 228.70784 l -330.45538 229.2876 l -330.03372 229.2876 l -329.7175 228.97136 l -329.82291 228.3916 l -329.24313 227.49561 l -328.8215 227.65372 l -328.50528 227.70642 l -328.13632 227.78549 l -328.13632 227.23207 l -327.92551 226.86314 l -327.92551 226.4415 l -327.60928 225.80902 l -327.24033 225.28197 l -326.02811 225.28197 l -325.71188 225.57185 l -325.29022 225.59821 l -325.07941 225.91444 l -324.86859 226.33609 l -324.13071 226.96855 l -323.44553 226.09891 l -322.91849 225.51915 l -322.49683 225.33467 l -322.1806 225.0448 l -321.96979 224.41232 l -321.75894 224.06975 l -321.33731 223.83257 l -322.02249 223.12105 l -322.44412 223.1474 l -322.81308 222.91022 l -323.1293 222.91022 l -323.39282 222.6994 l -323.23471 222.22505 l -323.39282 222.06693 l -323.44553 221.56622 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -323.44553 221.56622 m -324.13071 221.59258 l -325.18481 221.93517 l -325.50104 221.90881 l -325.65918 221.7507 l -326.44974 221.85611 l -326.66058 221.77705 l -326.71329 222.33046 l -326.97681 222.33046 l -327.34573 222.11964 l -327.60928 222.17235 l -327.97821 222.54128 l -328.61069 222.67305 l -329.03232 222.35681 l -329.50668 222.146 l -329.82291 221.93517 l -330.13913 221.98787 l -330.45538 222.30411 l -330.61349 222.6994 l -331.24597 223.33186 l -330.92972 223.70081 l -330.87701 224.17516 l -331.19324 224.01704 l -331.35138 224.20151 l -331.29868 224.64951 l -331.72031 225.07115 l -331.45679 225.17656 l -331.35138 225.67726 l -331.6676 226.28337 l -332.03653 227.4429 l -331.50949 227.62737 l -331.35138 227.8382 l -331.45679 228.10172 l -331.40408 228.73419 l -331.14053 228.76054 l -330.7189 228.70784 l -330.45538 229.2876 l -330.03372 229.2876 l -329.7175 228.97136 l -329.82291 228.3916 l -329.24313 227.49561 l -328.8215 227.65372 l -328.50528 227.70642 l -328.13632 227.78549 l -328.13632 227.23207 l -327.92551 226.86314 l -327.92551 226.4415 l -327.60928 225.80902 l -327.24033 225.28197 l -326.02811 225.28197 l -325.71188 225.57185 l -325.29022 225.59821 l -325.07941 225.91444 l -324.86859 226.33609 l -324.13071 226.96855 l -323.44553 226.09891 l -322.91849 225.51915 l -322.49683 225.33467 l -322.1806 225.0448 l -321.96979 224.41232 l -321.75894 224.06975 l -321.33731 223.83257 l -322.02249 223.12105 l -322.44412 223.1474 l -322.81308 222.91022 l -323.1293 222.91022 l -323.39282 222.6994 l -323.23471 222.22505 l -323.39282 222.06693 l -323.44553 221.56622 l -h -S -/DeviceRGB {} CS -[0.3451 0.0078 0.6392] SC -/DeviceRGB {} cs -[0.3451 0.0078 0.6392] sc -319.07098 221.88246 m -319.86154 221.61894 l -320.33591 221.67165 l -320.75754 221.51352 l -323.44553 221.56622 l -323.39282 222.06693 l -323.23471 222.22505 l -323.39282 222.6994 l -323.1293 222.91022 l -322.81308 222.91022 l -322.44412 223.1474 l -322.02249 223.12105 l -321.33731 223.83257 l -320.54672 223.22646 l -319.96698 223.12105 l -319.59802 222.72575 l -319.65073 222.48857 l -319.17639 222.17235 l -319.07098 221.88246 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -319.07098 221.88246 m -319.86154 221.61894 l -320.33591 221.67165 l -320.75754 221.51352 l -323.44553 221.56622 l -323.39282 222.06693 l -323.23471 222.22505 l -323.39282 222.6994 l -323.1293 222.91022 l -322.81308 222.91022 l -322.44412 223.1474 l -322.02249 223.12105 l -321.33731 223.83257 l -320.54672 223.22646 l -319.96698 223.12105 l -319.59802 222.72575 l -319.65073 222.48857 l -319.17639 222.17235 l -319.07098 221.88246 l -h -S -/DeviceRGB {} CS -[0.7882 0.2745 0.4784] SC -/DeviceRGB {} cs -[0.7882 0.2745 0.4784] sc -238.53687 211.13052 m -238.64229 211.94746 l -238.53687 212.50087 l -238.16794 212.73805 l -238.53687 213.18605 l -238.53687 213.58133 l -237.53546 213.34416 l -236.8503 213.44957 l -235.9543 213.31781 l -235.26912 213.6077 l -234.47855 213.1597 l -234.63666 212.68535 l -235.9543 212.86981 l -237.06111 213.00157 l -237.58817 212.659 l -236.9557 212.02652 l -236.9557 211.47311 l -236.007 211.2623 l -236.37595 210.84065 l -237.27194 210.91971 l -238.53687 211.13052 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -238.53687 211.13052 m -238.64229 211.94746 l -238.53687 212.50087 l -238.16794 212.73805 l -238.53687 213.18605 l -238.53687 213.58133 l -237.53546 213.34416 l -236.8503 213.44957 l -235.9543 213.31781 l -235.26912 213.6077 l -234.47855 213.1597 l -234.63666 212.68535 l -235.9543 212.86981 l -237.06111 213.00157 l -237.58817 212.659 l -236.9557 212.02652 l -236.9557 211.47311 l -236.007 211.2623 l -236.37595 210.84065 l -237.27194 210.91971 l -238.53687 211.13052 l -h -S -/DeviceRGB {} CS -[0.9529 0.5333 0.2863] SC -/DeviceRGB {} cs -[0.9529 0.5333 0.2863] sc -221.7765 218.03496 m -221.30215 218.00861 l -221.09132 218.21942 l -220.56427 218.4039 l -220.19533 218.4039 l -219.8791 218.58836 l -219.56287 218.53566 l -219.35205 218.29848 l -219.19392 218.3512 l -218.98311 218.69377 l -218.825 218.69377 l -218.825 218.98366 l -218.29793 219.37895 l -218.03441 219.56342 l -217.8763 219.74789 l -217.45465 219.45801 l -217.13841 219.8533 l -216.82217 219.82695 l -216.50595 219.8533 l -216.50595 220.59117 l -216.29512 220.59117 l -216.13701 220.93376 l -215.66266 220.98647 l -215.39912 220.53847 l -214.97748 220.40671 l -215.0829 219.82695 l -214.87207 219.66882 l -214.55583 219.56342 l -213.92337 219.72153 l -213.87067 219.53706 l -213.44902 219.2999 l -213.13278 219.01001 l -212.71115 218.87825 l -212.97467 218.50931 l -212.86926 218.21942 l -212.97467 217.9559 l -213.65985 217.53426 l -214.34502 216.98085 l -214.50313 217.03355 l -214.81937 216.77002 l -215.24101 216.74367 l -215.39912 216.87543 l -215.60995 216.79637 l -216.29512 216.92815 l -216.9803 216.90179 l -217.45465 216.74367 l -217.61276 216.5592 l -218.08711 216.63826 l -218.40335 216.74367 l -218.825 216.71732 l -219.08852 216.58556 l -219.7737 216.79637 l -219.98451 216.82272 l -220.45886 217.08626 l -220.88051 217.42885 l -221.40756 217.63966 l -221.7765 218.03496 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -221.7765 218.03496 m -221.30215 218.00861 l -221.09132 218.21942 l -220.56427 218.4039 l -220.19533 218.4039 l -219.8791 218.58836 l -219.56287 218.53566 l -219.35205 218.29848 l -219.19392 218.3512 l -218.98311 218.69377 l -218.825 218.69377 l -218.825 218.98366 l -218.29793 219.37895 l -218.03441 219.56342 l -217.8763 219.74789 l -217.45465 219.45801 l -217.13841 219.8533 l -216.82217 219.82695 l -216.50595 219.8533 l -216.50595 220.59117 l -216.29512 220.59117 l -216.13701 220.93376 l -215.66266 220.98647 l -215.39912 220.53847 l -214.97748 220.40671 l -215.0829 219.82695 l -214.87207 219.66882 l -214.55583 219.56342 l -213.92337 219.72153 l -213.87067 219.53706 l -213.44902 219.2999 l -213.13278 219.01001 l -212.71115 218.87825 l -212.97467 218.50931 l -212.86926 218.21942 l -212.97467 217.9559 l -213.65985 217.53426 l -214.34502 216.98085 l -214.50313 217.03355 l -214.81937 216.77002 l -215.24101 216.74367 l -215.39912 216.87543 l -215.60995 216.79637 l -216.29512 216.92815 l -216.9803 216.90179 l -217.45465 216.74367 l -217.61276 216.5592 l -218.08711 216.63826 l -218.40335 216.74367 l -218.825 216.71732 l -219.08852 216.58556 l -219.7737 216.79637 l -219.98451 216.82272 l -220.45886 217.08626 l -220.88051 217.42885 l -221.40756 217.63966 l -221.7765 218.03496 l -h -S -/DeviceRGB {} CS -[0.9843 0.6353 0.2235] SC -/DeviceRGB {} cs -[0.9843 0.6353 0.2235] sc -375.83487 169.12419 m -376.62546 169.51949 l -376.73087 169.91478 l -375.83487 170.20465 l -375.14969 171.20607 l -374.25369 172.20747 l -373.09418 172.47099 l -372.19818 172.41829 l -371.03867 172.78723 l -370.5116 173.0244 l -369.29938 172.73453 l -368.19257 172.10205 l -367.7709 171.91759 l -367.45468 171.41689 l -367.24387 171.41689 l -367.7182 170.46819 l -367.40198 170.15195 l -368.24527 170.15195 l -368.35068 169.54584 l -369.08856 169.91478 l -369.6156 170.09924 l -370.88055 169.91478 l -370.98596 169.62489 l -371.5657 169.57219 l -372.30359 169.33502 l -372.4617 169.44043 l -373.14688 169.25595 l -373.4631 168.91338 l -373.93747 168.80795 l -375.51862 169.25595 l -375.83487 169.12419 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -375.83487 169.12419 m -376.62546 169.51949 l -376.73087 169.91478 l -375.83487 170.20465 l -375.14969 171.20607 l -374.25369 172.20747 l -373.09418 172.47099 l -372.19818 172.41829 l -371.03867 172.78723 l -370.5116 173.0244 l -369.29938 172.73453 l -368.19257 172.10205 l -367.7709 171.91759 l -367.45468 171.41689 l -367.24387 171.41689 l -367.7182 170.46819 l -367.40198 170.15195 l -368.24527 170.15195 l -368.35068 169.54584 l -369.08856 169.91478 l -369.6156 170.09924 l -370.88055 169.91478 l -370.98596 169.62489 l -371.5657 169.57219 l -372.30359 169.33502 l -372.4617 169.44043 l -373.14688 169.25595 l -373.4631 168.91338 l -373.93747 168.80795 l -375.51862 169.25595 l -375.83487 169.12419 l -h -S -/DeviceRGB {} CS -[0.949 0.9451 0.1333] SC -/DeviceRGB {} cs -[0.949 0.9451 0.1333] sc -322.28601 142.718704 m -321.91708 143.667404 l -323.55093 144.668808 l -321.65353 145.775635 l -317.4371 146.777039 l -316.17218 147.040558 l -314.27478 146.829742 l -310.16373 146.381744 l -311.6395 145.722931 l -308.42444 145.011398 l -311.00702 144.721512 l -310.95432 144.299881 l -307.8974 143.957291 l -308.8988 143.008591 l -311.11243 142.771408 l -313.37878 143.772812 l -315.59241 142.982239 l -317.4371 143.403885 l -319.80884 142.613297 l -322.28601 142.718704 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -322.28601 142.718704 m -321.91708 143.667404 l -323.55093 144.668808 l -321.65353 145.775635 l -317.4371 146.777039 l -316.17218 147.040558 l -314.27478 146.829742 l -310.16373 146.381744 l -311.6395 145.722931 l -308.42444 145.011398 l -311.00702 144.721512 l -310.95432 144.299881 l -307.8974 143.957291 l -308.8988 143.008591 l -311.11243 142.771408 l -313.37878 143.772812 l -315.59241 142.982239 l -317.4371 143.403885 l -319.80884 142.613297 l -322.28601 142.718704 l -h -S -/DeviceRGB {} CS -[0.8667 0.3765 0.3961] SC -/DeviceRGB {} cs -[0.8667 0.3765 0.3961] sc -485.9895 198.63931 m -486.09491 199.19272 l -485.56784 199.45624 l -485.67325 200.35223 l -484.67184 200.08871 l -482.77444 201.09012 l -482.77444 201.93341 l -481.98386 203.17198 l -481.93115 203.88351 l -481.246 205.09573 l -480.13916 204.75316 l -480.08646 206.25526 l -479.71753 206.75597 l -479.87564 207.38843 l -479.13776 207.73102 l -478.3999 205.41197 l -477.97824 205.41197 l -477.76743 206.36067 l -476.92413 205.59645 l -477.3985 204.75316 l -478.03094 204.6741 l -478.71613 203.43552 l -477.87283 203.19833 l -476.5025 203.19833 l -475.13214 203.01387 l -475.02673 201.98611 l -474.28885 201.90706 l -473.12933 201.27458 l -472.65497 202.27599 l -473.70911 203.04022 l -472.76041 203.59363 l -472.44415 204.12068 l -473.34015 204.51598 l -473.07663 205.41197 l -473.60367 206.51878 l -473.81451 207.70467 l -473.60367 208.25807 l -472.60226 208.23172 l -470.8103 208.52161 l -470.91571 209.62842 l -470.12512 210.49806 l -468.01691 211.47311 l -466.38303 213.2124 l -465.27621 214.13475 l -463.80045 215.08345 l -463.80045 215.76862 l -463.11526 216.11121 l -461.74493 216.63826 l -461.11246 216.71732 l -460.63812 217.85049 l -460.95435 219.74789 l -461.00705 220.96011 l -460.42731 222.35681 l -460.42731 224.83397 l -459.63672 224.91304 l -459.00424 226.01985 l -459.42587 226.52055 l -458.10825 226.91585 l -457.58118 227.91725 l -457.00143 228.3389 l -455.63107 226.96855 l -454.94592 224.91304 l -454.36615 223.43727 l -453.89182 222.75211 l -453.10123 221.35541 l -452.73227 219.51071 l -452.46875 218.61472 l -451.15112 216.58556 l -450.51865 213.76581 l -450.09702 211.86841 l -450.09702 210.10277 l -449.83347 208.73242 l -447.67255 209.60207 l -446.67114 209.44395 l -444.77374 207.65196 l -445.45892 207.12491 l -445.03726 206.5715 l -443.29797 205.30656 l -444.29938 204.33151 l -447.51443 204.33151 l -447.19818 203.09293 l -446.40762 202.35506 l -446.19678 201.22188 l -445.24808 200.56306 l -446.88196 199.03461 l -448.56854 199.14001 l -450.09702 197.61156 l -451.04572 196.10944 l -452.46875 194.66003 l -452.41605 193.60593 l -453.68097 192.76263 l -452.46875 192.02477 l -451.99442 191.04971 l -451.46735 189.75842 l -452.20523 189.12596 l -454.41885 189.49489 l -456.05273 189.25772 l -457.42307 188.04549 l -459.00424 189.75842 l -458.84613 190.94429 l -459.47861 191.70853 l -459.42587 192.44641 l -458.37177 192.26193 l -458.74072 193.86946 l -460.21646 194.79181 l -462.21927 195.81956 l -461.32327 196.47838 l -460.74353 197.84872 l -462.16656 198.40213 l -463.53693 199.11366 l -465.43433 199.9306 l -467.43713 200.14142 l -468.28043 200.8793 l -469.43994 201.01106 l -471.17923 201.35365 l -472.39145 201.32729 l -472.60226 200.74753 l -472.39145 199.82518 l -472.49686 199.19272 l -473.39285 198.87648 l -473.49826 200.03601 l -473.55096 200.32588 l -474.86862 200.8793 l -475.81732 200.66847 l -477.02954 200.74753 l -478.24176 200.72118 l -478.3472 199.82518 l -477.71472 199.35083 l -478.92694 199.16637 l -480.2446 198.08591 l -481.93115 197.13721 l -483.1434 197.50613 l -484.19751 196.87367 l -484.88266 197.79602 l -484.40833 198.40213 l -485.9895 198.63931 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -485.9895 198.63931 m -486.09491 199.19272 l -485.56784 199.45624 l -485.67325 200.35223 l -484.67184 200.08871 l -482.77444 201.09012 l -482.77444 201.93341 l -481.98386 203.17198 l -481.93115 203.88351 l -481.246 205.09573 l -480.13916 204.75316 l -480.08646 206.25526 l -479.71753 206.75597 l -479.87564 207.38843 l -479.13776 207.73102 l -478.3999 205.41197 l -477.97824 205.41197 l -477.76743 206.36067 l -476.92413 205.59645 l -477.3985 204.75316 l -478.03094 204.6741 l -478.71613 203.43552 l -477.87283 203.19833 l -476.5025 203.19833 l -475.13214 203.01387 l -475.02673 201.98611 l -474.28885 201.90706 l -473.12933 201.27458 l -472.65497 202.27599 l -473.70911 203.04022 l -472.76041 203.59363 l -472.44415 204.12068 l -473.34015 204.51598 l -473.07663 205.41197 l -473.60367 206.51878 l -473.81451 207.70467 l -473.60367 208.25807 l -472.60226 208.23172 l -470.8103 208.52161 l -470.91571 209.62842 l -470.12512 210.49806 l -468.01691 211.47311 l -466.38303 213.2124 l -465.27621 214.13475 l -463.80045 215.08345 l -463.80045 215.76862 l -463.11526 216.11121 l -461.74493 216.63826 l -461.11246 216.71732 l -460.63812 217.85049 l -460.95435 219.74789 l -461.00705 220.96011 l -460.42731 222.35681 l -460.42731 224.83397 l -459.63672 224.91304 l -459.00424 226.01985 l -459.42587 226.52055 l -458.10825 226.91585 l -457.58118 227.91725 l -457.00143 228.3389 l -455.63107 226.96855 l -454.94592 224.91304 l -454.36615 223.43727 l -453.89182 222.75211 l -453.10123 221.35541 l -452.73227 219.51071 l -452.46875 218.61472 l -451.15112 216.58556 l -450.51865 213.76581 l -450.09702 211.86841 l -450.09702 210.10277 l -449.83347 208.73242 l -447.67255 209.60207 l -446.67114 209.44395 l -444.77374 207.65196 l -445.45892 207.12491 l -445.03726 206.5715 l -443.29797 205.30656 l -444.29938 204.33151 l -447.51443 204.33151 l -447.19818 203.09293 l -446.40762 202.35506 l -446.19678 201.22188 l -445.24808 200.56306 l -446.88196 199.03461 l -448.56854 199.14001 l -450.09702 197.61156 l -451.04572 196.10944 l -452.46875 194.66003 l -452.41605 193.60593 l -453.68097 192.76263 l -452.46875 192.02477 l -451.99442 191.04971 l -451.46735 189.75842 l -452.20523 189.12596 l -454.41885 189.49489 l -456.05273 189.25772 l -457.42307 188.04549 l -459.00424 189.75842 l -458.84613 190.94429 l -459.47861 191.70853 l -459.42587 192.44641 l -458.37177 192.26193 l -458.74072 193.86946 l -460.21646 194.79181 l -462.21927 195.81956 l -461.32327 196.47838 l -460.74353 197.84872 l -462.16656 198.40213 l -463.53693 199.11366 l -465.43433 199.9306 l -467.43713 200.14142 l -468.28043 200.8793 l -469.43994 201.01106 l -471.17923 201.35365 l -472.39145 201.32729 l -472.60226 200.74753 l -472.39145 199.82518 l -472.49686 199.19272 l -473.39285 198.87648 l -473.49826 200.03601 l -473.55096 200.32588 l -474.86862 200.8793 l -475.81732 200.66847 l -477.02954 200.74753 l -478.24176 200.72118 l -478.3472 199.82518 l -477.71472 199.35083 l -478.92694 199.16637 l -480.2446 198.08591 l -481.93115 197.13721 l -483.1434 197.50613 l -484.19751 196.87367 l -484.88266 197.79602 l -484.40833 198.40213 l -485.9895 198.63931 l -h -S -/DeviceRGB {} CS -[0.9569 0.549 0.2784] SC -/DeviceRGB {} cs -[0.9569 0.549 0.2784] sc -549.92133 243.80798 m -549.92133 248.57784 l -549.97406 253.34769 l -548.65643 252.13545 l -547.18066 251.84558 l -546.81171 252.26723 l -544.96704 252.31993 l -545.59949 251.13405 l -546.49548 250.7124 l -546.12653 249.13124 l -545.38867 247.89265 l -542.59528 246.65408 l -541.38306 246.52231 l -539.16943 245.17831 l -538.74774 245.88985 l -538.16797 246.02161 l -537.85175 245.49455 l -537.85175 244.83574 l -536.74493 244.12421 l -538.27344 243.59715 l -539.32751 243.6235 l -539.22211 243.25456 l -537.06116 243.22821 l -536.48145 242.35858 l -535.16376 242.09505 l -534.58405 241.38351 l -536.53412 241.01459 l -537.27203 240.54024 l -539.64374 241.14635 l -539.85455 241.6734 l -540.27625 244.04515 l -541.80469 244.94115 l -543.01691 243.38634 l -544.70349 242.49034 l -546.02112 242.49034 l -547.23334 242.99104 l -548.34015 243.5181 l -549.92133 243.80798 l -h -526.46735 253.0051 m -526.57275 253.29498 l -526.62549 253.74298 l -525.67676 254.84979 l -524.41187 255.16603 l -524.25372 254.98155 l -524.35913 254.48085 l -524.99158 253.61121 l -526.46735 253.0051 l -h -539.95996 250.10629 m -539.80188 248.99948 l -540.06537 248.47241 l -540.38165 247.97171 l -540.75055 248.39336 l -540.69788 249.10489 l -539.95996 250.10629 l -h -516.08435 233.95204 m -515.24109 235.26967 l -516.29517 236.64001 l -516.03168 237.3252 l -517.71826 238.66919 l -515.97894 238.85365 l -515.4519 239.85506 l -515.55731 241.1727 l -514.13428 242.1741 l -514.08154 243.6235 l -513.5545 245.86349 l -513.29095 245.36279 l -511.6571 246.02161 l -511.07733 245.12561 l -510.02322 245.04655 l -509.28534 244.5722 l -507.54605 245.09926 l -507.01901 244.38774 l -506.07031 244.4668 l -504.85809 244.28233 l -504.64725 242.33221 l -503.90939 241.93694 l -503.22421 240.672 l -503.0134 239.38071 l -503.17151 238.03671 l -504.0148 237.06166 l -504.27832 238.03671 l -505.27972 238.88 l -506.22842 238.56377 l -507.17712 238.66919 l -508.02042 237.9313 l -508.7056 237.79955 l -510.07593 238.22119 l -511.28815 237.90495 l -512.02606 235.87579 l -512.60577 235.34874 l -513.13287 233.68851 l -514.81946 233.68851 l -516.08435 233.95204 l -h -532.89746 244.09785 m -534.47864 244.5195 l -535.00568 245.65266 l -533.79346 245.04655 l -532.58124 244.91479 l -531.73792 245.0202 l -530.73651 244.9675 l -531.05273 244.15056 l -532.89746 244.09785 l -h -529.20807 245.54726 m -528.20667 245.28374 l -527.94312 244.65126 l -529.41888 244.5722 l -529.78784 245.07291 l -529.20807 245.54726 l -h -530.78925 236.82449 m -530.89465 237.61507 l -531.73792 237.74684 l -531.89606 238.35295 l -531.79065 239.61789 l -531.05273 239.48611 l -530.84192 240.38211 l -531.42169 241.14635 l -531.00006 241.30446 l -530.42029 240.38211 l -529.99866 238.51106 l -530.31488 237.35155 l -530.78925 236.82449 l -h -523.46313 238.72189 m -525.14972 238.66919 l -526.57275 237.58871 l -526.8363 237.9313 l -525.67676 239.38071 l -524.56995 239.64424 l -523.14691 239.38071 l -520.72247 239.43341 l -519.45752 239.64424 l -519.2467 240.75105 l -520.51166 242.0687 l -521.30225 241.40987 l -524.04291 240.90916 l -523.9375 241.56799 l -523.30505 241.35716 l -522.67255 242.22681 l -521.35492 242.78021 l -522.77795 244.65126 l -522.51447 245.17831 l -523.83209 246.8649 l -523.77936 247.8136 l -523.0415 248.2616 l -522.46173 247.73454 l -523.14691 246.52231 l -521.72388 247.10208 l -521.35492 246.70679 l -521.51306 246.12701 l -520.45892 245.28374 l -520.61707 243.83434 l -519.61566 244.28233 l -519.72107 245.99525 l -519.77374 248.10349 l -518.87775 248.3143 l -518.2453 247.8663 l -518.66693 246.52231 l -518.45612 245.12561 l -517.82367 245.09926 l -517.3493 244.09785 l -517.98175 243.14915 l -518.19257 241.98964 l -518.93048 239.776 l -519.19397 239.16989 l -520.45892 238.08942 l -521.61847 238.51106 l -523.46313 238.72189 l -h -519.61566 255.0079 m -517.66553 253.98015 l -519.03589 253.71663 l -519.77374 254.13826 l -520.30084 254.58626 l -520.19537 254.98155 l -519.61566 255.0079 l -h -521.1441 252.50439 m -522.09277 252.37263 l -523.41046 251.84558 l -523.19965 252.66251 l -520.98596 253.08415 l -519.03589 252.89969 l -519.03589 252.37263 l -520.19537 252.0564 l -521.1441 252.50439 l -h -516.61145 252.24086 m -517.50745 252.1091 l -517.87634 252.74158 l -516.18976 253.03145 l -515.18835 253.24228 l -514.39777 253.21593 l -514.92487 252.37263 l -515.71545 252.37263 l -516.08435 251.84558 l -516.61145 252.24086 l -h -502.32822 249.39476 m -502.53903 249.92183 l -505.33243 250.07994 l -505.64865 249.47383 l -508.33664 250.159 l -508.86371 251.1077 l -511.07733 251.37123 l -512.86932 252.24086 l -511.23544 252.82063 l -509.60159 252.21451 l -508.28394 252.26723 l -506.75549 252.1618 l -505.38513 251.89828 l -503.69855 251.31853 l -502.59174 251.18675 l -502.01199 251.37123 l -499.32401 250.76511 l -499.06046 250.13264 l -497.74283 250.02724 l -498.74423 248.63054 l -500.53622 248.70959 l -501.69574 249.28935 l -502.32822 249.39476 l -h -496.26709 241.59435 m -496.53061 242.6221 l -497.05765 243.43904 l -498.11176 243.54445 l -498.84964 244.49315 l -498.48071 246.31149 l -498.42801 248.57784 l -496.79413 248.60419 l -495.52921 247.3656 l -493.68451 246.17973 l -493.05203 245.28374 l -491.94522 244.09785 l -491.20734 242.99104 l -490.10052 240.96188 l -488.8356 239.7233 l -488.36124 238.48471 l -487.8342 237.3252 l -486.51654 236.40285 l -485.77866 235.16426 l -484.67184 234.34734 l -483.1434 232.71346 l -482.98526 231.97557 l -483.93396 232.02829 l -486.20032 232.31816 l -487.51794 233.74121 l -488.62476 234.74261 l -489.46805 235.34874 l -490.83841 236.9299 l -492.31415 236.95625 l -493.5264 237.95766 l -494.36969 239.16989 l -495.52921 239.85506 l -494.89673 241.04094 l -495.74002 241.54164 l -496.26709 241.59435 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -549.92133 243.80798 m -549.92133 248.57784 l -549.97406 253.34769 l -548.65643 252.13545 l -547.18066 251.84558 l -546.81171 252.26723 l -544.96704 252.31993 l -545.59949 251.13405 l -546.49548 250.7124 l -546.12653 249.13124 l -545.38867 247.89265 l -542.59528 246.65408 l -541.38306 246.52231 l -539.16943 245.17831 l -538.74774 245.88985 l -538.16797 246.02161 l -537.85175 245.49455 l -537.85175 244.83574 l -536.74493 244.12421 l -538.27344 243.59715 l -539.32751 243.6235 l -539.22211 243.25456 l -537.06116 243.22821 l -536.48145 242.35858 l -535.16376 242.09505 l -534.58405 241.38351 l -536.53412 241.01459 l -537.27203 240.54024 l -539.64374 241.14635 l -539.85455 241.6734 l -540.27625 244.04515 l -541.80469 244.94115 l -543.01691 243.38634 l -544.70349 242.49034 l -546.02112 242.49034 l -547.23334 242.99104 l -548.34015 243.5181 l -549.92133 243.80798 l -h -526.46735 253.0051 m -526.57275 253.29498 l -526.62549 253.74298 l -525.67676 254.84979 l -524.41187 255.16603 l -524.25372 254.98155 l -524.35913 254.48085 l -524.99158 253.61121 l -526.46735 253.0051 l -h -539.95996 250.10629 m -539.80188 248.99948 l -540.06537 248.47241 l -540.38165 247.97171 l -540.75055 248.39336 l -540.69788 249.10489 l -539.95996 250.10629 l -h -516.08435 233.95204 m -515.24109 235.26967 l -516.29517 236.64001 l -516.03168 237.3252 l -517.71826 238.66919 l -515.97894 238.85365 l -515.4519 239.85506 l -515.55731 241.1727 l -514.13428 242.1741 l -514.08154 243.6235 l -513.5545 245.86349 l -513.29095 245.36279 l -511.6571 246.02161 l -511.07733 245.12561 l -510.02322 245.04655 l -509.28534 244.5722 l -507.54605 245.09926 l -507.01901 244.38774 l -506.07031 244.4668 l -504.85809 244.28233 l -504.64725 242.33221 l -503.90939 241.93694 l -503.22421 240.672 l -503.0134 239.38071 l -503.17151 238.03671 l -504.0148 237.06166 l -504.27832 238.03671 l -505.27972 238.88 l -506.22842 238.56377 l -507.17712 238.66919 l -508.02042 237.9313 l -508.7056 237.79955 l -510.07593 238.22119 l -511.28815 237.90495 l -512.02606 235.87579 l -512.60577 235.34874 l -513.13287 233.68851 l -514.81946 233.68851 l -516.08435 233.95204 l -h -532.89746 244.09785 m -534.47864 244.5195 l -535.00568 245.65266 l -533.79346 245.04655 l -532.58124 244.91479 l -531.73792 245.0202 l -530.73651 244.9675 l -531.05273 244.15056 l -532.89746 244.09785 l -h -529.20807 245.54726 m -528.20667 245.28374 l -527.94312 244.65126 l -529.41888 244.5722 l -529.78784 245.07291 l -529.20807 245.54726 l -h -530.78925 236.82449 m -530.89465 237.61507 l -531.73792 237.74684 l -531.89606 238.35295 l -531.79065 239.61789 l -531.05273 239.48611 l -530.84192 240.38211 l -531.42169 241.14635 l -531.00006 241.30446 l -530.42029 240.38211 l -529.99866 238.51106 l -530.31488 237.35155 l -530.78925 236.82449 l -h -523.46313 238.72189 m -525.14972 238.66919 l -526.57275 237.58871 l -526.8363 237.9313 l -525.67676 239.38071 l -524.56995 239.64424 l -523.14691 239.38071 l -520.72247 239.43341 l -519.45752 239.64424 l -519.2467 240.75105 l -520.51166 242.0687 l -521.30225 241.40987 l -524.04291 240.90916 l -523.9375 241.56799 l -523.30505 241.35716 l -522.67255 242.22681 l -521.35492 242.78021 l -522.77795 244.65126 l -522.51447 245.17831 l -523.83209 246.8649 l -523.77936 247.8136 l -523.0415 248.2616 l -522.46173 247.73454 l -523.14691 246.52231 l -521.72388 247.10208 l -521.35492 246.70679 l -521.51306 246.12701 l -520.45892 245.28374 l -520.61707 243.83434 l -519.61566 244.28233 l -519.72107 245.99525 l -519.77374 248.10349 l -518.87775 248.3143 l -518.2453 247.8663 l -518.66693 246.52231 l -518.45612 245.12561 l -517.82367 245.09926 l -517.3493 244.09785 l -517.98175 243.14915 l -518.19257 241.98964 l -518.93048 239.776 l -519.19397 239.16989 l -520.45892 238.08942 l -521.61847 238.51106 l -523.46313 238.72189 l -h -519.61566 255.0079 m -517.66553 253.98015 l -519.03589 253.71663 l -519.77374 254.13826 l -520.30084 254.58626 l -520.19537 254.98155 l -519.61566 255.0079 l -h -521.1441 252.50439 m -522.09277 252.37263 l -523.41046 251.84558 l -523.19965 252.66251 l -520.98596 253.08415 l -519.03589 252.89969 l -519.03589 252.37263 l -520.19537 252.0564 l -521.1441 252.50439 l -h -516.61145 252.24086 m -517.50745 252.1091 l -517.87634 252.74158 l -516.18976 253.03145 l -515.18835 253.24228 l -514.39777 253.21593 l -514.92487 252.37263 l -515.71545 252.37263 l -516.08435 251.84558 l -516.61145 252.24086 l -h -502.32822 249.39476 m -502.53903 249.92183 l -505.33243 250.07994 l -505.64865 249.47383 l -508.33664 250.159 l -508.86371 251.1077 l -511.07733 251.37123 l -512.86932 252.24086 l -511.23544 252.82063 l -509.60159 252.21451 l -508.28394 252.26723 l -506.75549 252.1618 l -505.38513 251.89828 l -503.69855 251.31853 l -502.59174 251.18675 l -502.01199 251.37123 l -499.32401 250.76511 l -499.06046 250.13264 l -497.74283 250.02724 l -498.74423 248.63054 l -500.53622 248.70959 l -501.69574 249.28935 l -502.32822 249.39476 l -h -496.26709 241.59435 m -496.53061 242.6221 l -497.05765 243.43904 l -498.11176 243.54445 l -498.84964 244.49315 l -498.48071 246.31149 l -498.42801 248.57784 l -496.79413 248.60419 l -495.52921 247.3656 l -493.68451 246.17973 l -493.05203 245.28374 l -491.94522 244.09785 l -491.20734 242.99104 l -490.10052 240.96188 l -488.8356 239.7233 l -488.36124 238.48471 l -487.8342 237.3252 l -486.51654 236.40285 l -485.77866 235.16426 l -484.67184 234.34734 l -483.1434 232.71346 l -482.98526 231.97557 l -483.93396 232.02829 l -486.20032 232.31816 l -487.51794 233.74121 l -488.62476 234.74261 l -489.46805 235.34874 l -490.83841 236.9299 l -492.31415 236.95625 l -493.5264 237.95766 l -494.36969 239.16989 l -495.52921 239.85506 l -494.89673 241.04094 l -495.74002 241.54164 l -496.26709 241.59435 l -h -S -/DeviceRGB {} CS -[0.9608 0.5569 0.2706] SC -/DeviceRGB {} cs -[0.9608 0.5569 0.2706] sc -414.57346 196.18851 m -413.78287 195.42427 l -413.78287 194.63368 l -413.30853 194.63368 l -413.57205 193.57957 l -412.78146 192.47276 l -410.98947 191.65582 l -409.98807 190.28548 l -410.30429 189.12596 l -411.04218 188.62526 l -410.93677 187.78197 l -409.98807 187.33397 l -409.03937 185.59468 l -408.24878 184.40881 l -408.5123 183.96082 l -408.09067 182.27423 l -409.09207 181.85258 l -409.30289 182.40599 l -410.04077 183.09117 l -411.04218 183.27563 l -411.56924 183.24928 l -413.30853 182.16882 l -413.83557 182.06342 l -414.30994 182.48505 l -413.78287 183.19658 l -414.67886 183.98717 l -415.04779 183.90811 l -415.52216 184.98857 l -416.89249 185.27844 l -417.94659 186.01633 l -420.00214 186.27986 l -422.32117 185.88457 l -422.42657 185.54198 l -423.74423 185.25209 l -424.74564 184.43517 l -425.74704 184.46152 l -426.37949 184.19798 l -427.43362 184.32974 l -429.06747 185.06763 l -430.22699 185.22574 l -431.86087 186.51703 l -432.96768 186.56973 l -433.12582 187.80832 l -432.49335 189.62666 l -432.12439 190.70712 l -432.75687 190.91794 l -432.12439 191.70853 l -432.59875 192.89441 l -432.70416 193.81676 l -433.81097 194.05392 l -433.91638 195.00262 l -432.59875 196.32027 l -433.33664 197.11086 l -433.91638 197.98048 l -435.33945 198.63931 l -435.39215 199.9306 l -436.07733 200.16777 l -436.18274 200.82658 l -434.07452 201.59082 l -433.54745 203.2774 l -430.75406 202.85576 l -429.17288 202.51317 l -427.53903 202.3287 l -426.90656 200.53671 l -426.22137 200.27318 l -425.06186 200.53671 l -423.58609 201.22188 l -421.79413 200.74753 l -420.31836 199.61436 l -418.89529 199.21907 l -417.94659 197.82237 l -416.83978 195.87227 l -416.04919 196.10944 l -415.1532 195.60873 l -414.57346 196.18851 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -414.57346 196.18851 m -413.78287 195.42427 l -413.78287 194.63368 l -413.30853 194.63368 l -413.57205 193.57957 l -412.78146 192.47276 l -410.98947 191.65582 l -409.98807 190.28548 l -410.30429 189.12596 l -411.04218 188.62526 l -410.93677 187.78197 l -409.98807 187.33397 l -409.03937 185.59468 l -408.24878 184.40881 l -408.5123 183.96082 l -408.09067 182.27423 l -409.09207 181.85258 l -409.30289 182.40599 l -410.04077 183.09117 l -411.04218 183.27563 l -411.56924 183.24928 l -413.30853 182.16882 l -413.83557 182.06342 l -414.30994 182.48505 l -413.78287 183.19658 l -414.67886 183.98717 l -415.04779 183.90811 l -415.52216 184.98857 l -416.89249 185.27844 l -417.94659 186.01633 l -420.00214 186.27986 l -422.32117 185.88457 l -422.42657 185.54198 l -423.74423 185.25209 l -424.74564 184.43517 l -425.74704 184.46152 l -426.37949 184.19798 l -427.43362 184.32974 l -429.06747 185.06763 l -430.22699 185.22574 l -431.86087 186.51703 l -432.96768 186.56973 l -433.12582 187.80832 l -432.49335 189.62666 l -432.12439 190.70712 l -432.75687 190.91794 l -432.12439 191.70853 l -432.59875 192.89441 l -432.70416 193.81676 l -433.81097 194.05392 l -433.91638 195.00262 l -432.59875 196.32027 l -433.33664 197.11086 l -433.91638 197.98048 l -435.33945 198.63931 l -435.39215 199.9306 l -436.07733 200.16777 l -436.18274 200.82658 l -434.07452 201.59082 l -433.54745 203.2774 l -430.75406 202.85576 l -429.17288 202.51317 l -427.53903 202.3287 l -426.90656 200.53671 l -426.22137 200.27318 l -425.06186 200.53671 l -423.58609 201.22188 l -421.79413 200.74753 l -420.31836 199.61436 l -418.89529 199.21907 l -417.94659 197.82237 l -416.83978 195.87227 l -416.04919 196.10944 l -415.1532 195.60873 l -414.57346 196.18851 l -h -S -/DeviceRGB {} CS -[0.7608 0.2392 0.5059] SC -/DeviceRGB {} cs -[0.7608 0.2392 0.5059] sc -400.87 192.92076 m -400.29025 191.12877 l -403.50528 189.62666 l -404.08505 187.83467 l -403.92694 186.78056 l -404.7702 186.41162 l -405.50809 185.48927 l -406.14056 185.27844 l -407.82715 185.46292 l -408.35419 185.83186 l -409.03937 185.59468 l -409.98807 187.33397 l -410.93677 187.78197 l -411.04218 188.62526 l -410.30429 189.12596 l -409.98807 190.28548 l -410.98947 191.65582 l -412.78146 192.47276 l -413.57205 193.57957 l -413.30853 194.63368 l -413.78287 194.63368 l -413.78287 195.42427 l -414.57346 196.18851 l -413.73016 196.10944 l -412.72876 196.00403 l -411.67465 197.40073 l -408.93396 197.29532 l -404.82294 194.34381 l -402.66199 193.31604 l -400.87 192.92076 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -400.87 192.92076 m -400.29025 191.12877 l -403.50528 189.62666 l -404.08505 187.83467 l -403.92694 186.78056 l -404.7702 186.41162 l -405.50809 185.48927 l -406.14056 185.27844 l -407.82715 185.46292 l -408.35419 185.83186 l -409.03937 185.59468 l -409.98807 187.33397 l -410.93677 187.78197 l -411.04218 188.62526 l -410.30429 189.12596 l -409.98807 190.28548 l -410.98947 191.65582 l -412.78146 192.47276 l -413.57205 193.57957 l -413.30853 194.63368 l -413.78287 194.63368 l -413.78287 195.42427 l -414.57346 196.18851 l -413.73016 196.10944 l -412.72876 196.00403 l -411.67465 197.40073 l -408.93396 197.29532 l -404.82294 194.34381 l -402.66199 193.31604 l -400.87 192.92076 l -h -S -/DeviceRGB {} CS -[0.9804 0.8314 0.1451] SC -/DeviceRGB {} cs -[0.9804 0.8314 0.1451] sc -334.40829 161.139297 m -334.67181 162.193405 l -333.565 163.484695 l -330.98242 164.35434 l -328.87421 164.143524 l -330.08643 162.615051 l -329.29584 161.112946 l -331.29868 159.979782 l -332.40549 159.294601 l -332.72171 160.08519 l -332.40549 160.849426 l -333.30148 160.849426 l -334.40829 161.139297 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -334.40829 161.139297 m -334.67181 162.193405 l -333.565 163.484695 l -330.98242 164.35434 l -328.87421 164.143524 l -330.08643 162.615051 l -329.29584 161.112946 l -331.29868 159.979782 l -332.40549 159.294601 l -332.72171 160.08519 l -332.40549 160.849426 l -333.30148 160.849426 l -334.40829 161.139297 l -h -S -/DeviceRGB {} CS -[0.9608 0.9059 0.1373] SC -/DeviceRGB {} cs -[0.9608 0.9059 0.1373] sc -395.81027 192.13017 m -395.54675 192.57817 l -395.01968 192.36734 l -394.70346 193.34241 l -395.07239 193.52687 l -394.70346 193.71133 l -394.65076 194.10663 l -395.33591 193.89581 l -395.33591 194.47557 l -394.59805 196.82097 l -394.49265 196.42567 l -393.64935 194.29111 l -394.07098 193.81676 l -393.96558 193.73769 l -394.38721 193.05252 l -394.65076 191.94571 l -394.86157 191.57677 l -394.91428 191.55042 l -395.38864 191.55042 l -395.54675 191.31323 l -395.91568 191.28688 l -395.96838 191.89299 l -395.75757 192.10382 l -395.81027 192.13017 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -395.81027 192.13017 m -395.54675 192.57817 l -395.01968 192.36734 l -394.70346 193.34241 l -395.07239 193.52687 l -394.70346 193.71133 l -394.65076 194.10663 l -395.33591 193.89581 l -395.33591 194.47557 l -394.59805 196.82097 l -394.49265 196.42567 l -393.64935 194.29111 l -394.07098 193.81676 l -393.96558 193.73769 l -394.38721 193.05252 l -394.65076 191.94571 l -394.86157 191.57677 l -394.91428 191.55042 l -395.38864 191.55042 l -395.54675 191.31323 l -395.91568 191.28688 l -395.96838 191.89299 l -395.75757 192.10382 l -395.81027 192.13017 l -h -S -/DeviceRGB {} CS -[0.9647 0.898 0.1373] SC -/DeviceRGB {} cs -[0.9647 0.898 0.1373] sc -358.81097 171.36418 m -359.65427 171.54865 l -359.86508 171.28513 l -361.28812 171.02159 l -361.60437 171.54865 l -363.71259 171.91759 l -363.55447 172.62912 l -363.9234 173.26158 l -362.76389 173.05075 l -361.55167 173.57782 l -361.60437 174.28934 l -361.44626 174.71098 l -361.92059 175.44887 l -363.29092 176.18674 l -364.02881 177.39897 l -365.66269 178.58484 l -366.8222 178.58484 l -367.19116 178.90108 l -366.7695 179.19096 l -368.08716 179.71802 l -369.14127 180.16602 l -370.40619 180.93024 l -370.5643 181.19377 l -370.30078 181.72083 l -369.45749 181.03564 l -368.19257 180.79848 l -367.56009 181.74718 l -368.6142 182.27423 l -368.45609 183.03847 l -367.87631 183.14388 l -367.08575 184.38246 l -366.45328 184.51422 l -366.45328 184.06622 l -366.7695 183.27563 l -367.08575 182.95941 l -366.50598 182.11612 l -366.08432 181.37823 l -365.45187 181.19377 l -365.03021 180.56129 l -364.08151 180.29778 l -363.44907 179.69167 l -362.34222 179.61259 l -361.23541 178.95378 l -359.86508 178.00508 l -358.86368 177.16179 l -358.44202 175.71239 l -357.70416 175.52792 l -356.49191 175.05357 l -355.85947 175.23804 l -355.01617 175.92322 l -354.3837 176.02863 l -354.54181 175.39615 l -353.75122 175.21169 l -353.38229 174.07852 l -353.90936 173.63052 l -353.435 173.07712 l -353.54041 172.68182 l -354.17288 172.99805 l -354.85806 172.91899 l -355.64862 172.41829 l -355.91217 172.65547 l -356.65002 172.60277 l -356.96628 172.02299 l -358.02039 172.20747 l -358.65286 171.94394 l -358.81097 171.36418 l -h -365.08292 184.17163 m -366.24246 184.03987 l -365.71539 185.17303 l -365.92621 185.64738 l -365.60999 186.38527 l -364.50317 185.83186 l -363.76529 185.67374 l -361.70978 184.93587 l -361.92059 184.19798 l -363.60718 184.32974 l -365.08292 184.17163 l -h -356.22839 180.13966 m -356.96628 179.66531 l -357.86227 180.71942 l -357.65146 182.64317 l -356.96628 182.56412 l -356.38651 183.03847 l -355.85947 182.66953 l -355.75403 180.87753 l -355.43781 180.06059 l -356.22839 180.13966 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -358.81097 171.36418 m -359.65427 171.54865 l -359.86508 171.28513 l -361.28812 171.02159 l -361.60437 171.54865 l -363.71259 171.91759 l -363.55447 172.62912 l -363.9234 173.26158 l -362.76389 173.05075 l -361.55167 173.57782 l -361.60437 174.28934 l -361.44626 174.71098 l -361.92059 175.44887 l -363.29092 176.18674 l -364.02881 177.39897 l -365.66269 178.58484 l -366.8222 178.58484 l -367.19116 178.90108 l -366.7695 179.19096 l -368.08716 179.71802 l -369.14127 180.16602 l -370.40619 180.93024 l -370.5643 181.19377 l -370.30078 181.72083 l -369.45749 181.03564 l -368.19257 180.79848 l -367.56009 181.74718 l -368.6142 182.27423 l -368.45609 183.03847 l -367.87631 183.14388 l -367.08575 184.38246 l -366.45328 184.51422 l -366.45328 184.06622 l -366.7695 183.27563 l -367.08575 182.95941 l -366.50598 182.11612 l -366.08432 181.37823 l -365.45187 181.19377 l -365.03021 180.56129 l -364.08151 180.29778 l -363.44907 179.69167 l -362.34222 179.61259 l -361.23541 178.95378 l -359.86508 178.00508 l -358.86368 177.16179 l -358.44202 175.71239 l -357.70416 175.52792 l -356.49191 175.05357 l -355.85947 175.23804 l -355.01617 175.92322 l -354.3837 176.02863 l -354.54181 175.39615 l -353.75122 175.21169 l -353.38229 174.07852 l -353.90936 173.63052 l -353.435 173.07712 l -353.54041 172.68182 l -354.17288 172.99805 l -354.85806 172.91899 l -355.64862 172.41829 l -355.91217 172.65547 l -356.65002 172.60277 l -356.96628 172.02299 l -358.02039 172.20747 l -358.65286 171.94394 l -358.81097 171.36418 l -h -365.08292 184.17163 m -366.24246 184.03987 l -365.71539 185.17303 l -365.92621 185.64738 l -365.60999 186.38527 l -364.50317 185.83186 l -363.76529 185.67374 l -361.70978 184.93587 l -361.92059 184.19798 l -363.60718 184.32974 l -365.08292 184.17163 l -h -356.22839 180.13966 m -356.96628 179.66531 l -357.86227 180.71942 l -357.65146 182.64317 l -356.96628 182.56412 l -356.38651 183.03847 l -355.85947 182.66953 l -355.75403 180.87753 l -355.43781 180.06059 l -356.22839 180.13966 l -h -S -/DeviceRGB {} CS -[0.9804 0.6078 0.2392] SC -/DeviceRGB {} cs -[0.9804 0.6078 0.2392] sc -229.94586 212.92252 m -230.94727 213.05428 l -231.68515 213.42322 l -231.94867 213.81851 l -230.94727 213.84486 l -230.47292 214.08205 l -229.68234 213.84486 l -228.83905 213.31781 l -228.99716 212.97522 l -229.62962 212.86981 l -229.94586 212.92252 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -229.94586 212.92252 m -230.94727 213.05428 l -231.68515 213.42322 l -231.94867 213.81851 l -230.94727 213.84486 l -230.47292 214.08205 l -229.68234 213.84486 l -228.83905 213.31781 l -228.99716 212.97522 l -229.62962 212.86981 l -229.94586 212.92252 l -h -S -/DeviceRGB {} CS -[0.9412 0.9765 0.1294] SC -/DeviceRGB {} cs -[0.9412 0.9765 0.1294] sc -551.18628 182.64317 m -549.86865 184.11893 l -549.86865 185.62103 l -549.34155 186.80692 l -549.55243 187.51843 l -548.81451 188.57254 l -546.96985 189.25772 l -544.38727 189.33678 l -542.27905 191.02336 l -541.27765 190.44359 l -541.22491 189.36313 l -538.69507 189.67937 l -536.95575 190.36453 l -535.26917 190.39088 l -536.74493 191.47136 l -535.74353 193.94852 l -534.79486 194.58098 l -534.10968 194.00122 l -534.47864 192.68358 l -533.52991 192.26193 l -532.95013 191.26053 l -534.3205 190.81253 l -535.11108 189.89018 l -536.58685 189.12596 l -537.64093 188.12454 l -540.53973 187.70291 l -542.12091 187.99278 l -543.64935 185.38387 l -544.65076 186.09538 l -546.75903 184.61963 l -547.60229 184.06622 l -548.55096 182.27423 l -548.28748 180.61401 l -548.86725 179.69167 l -550.44836 179.42813 l -551.23895 181.45729 l -551.18628 182.64317 l -h -555.19189 175.63333 m -556.24603 175.02722 l -556.56226 176.66109 l -554.40131 177.05638 l -553.08368 178.53214 l -550.81732 177.53073 l -550.02673 179.11189 l -548.39288 179.13824 l -548.18207 177.68884 l -548.91992 176.55568 l -550.44836 176.47662 l -550.87006 174.44745 l -551.34436 173.31429 l -553.03094 174.84274 l -554.19049 175.34344 l -555.19189 175.63333 l -h -537.27203 191.02336 m -538.06256 190.12737 l -538.90588 190.31183 l -539.53833 189.70572 l -540.59247 190.02194 l -540.80328 190.52266 l -539.95996 191.39229 l -539.38025 190.91794 l -538.58966 191.26053 l -538.2207 192.13017 l -537.27203 191.70853 l -537.27203 191.02336 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -551.18628 182.64317 m -549.86865 184.11893 l -549.86865 185.62103 l -549.34155 186.80692 l -549.55243 187.51843 l -548.81451 188.57254 l -546.96985 189.25772 l -544.38727 189.33678 l -542.27905 191.02336 l -541.27765 190.44359 l -541.22491 189.36313 l -538.69507 189.67937 l -536.95575 190.36453 l -535.26917 190.39088 l -536.74493 191.47136 l -535.74353 193.94852 l -534.79486 194.58098 l -534.10968 194.00122 l -534.47864 192.68358 l -533.52991 192.26193 l -532.95013 191.26053 l -534.3205 190.81253 l -535.11108 189.89018 l -536.58685 189.12596 l -537.64093 188.12454 l -540.53973 187.70291 l -542.12091 187.99278 l -543.64935 185.38387 l -544.65076 186.09538 l -546.75903 184.61963 l -547.60229 184.06622 l -548.55096 182.27423 l -548.28748 180.61401 l -548.86725 179.69167 l -550.44836 179.42813 l -551.23895 181.45729 l -551.18628 182.64317 l -h -555.19189 175.63333 m -556.24603 175.02722 l -556.56226 176.66109 l -554.40131 177.05638 l -553.08368 178.53214 l -550.81732 177.53073 l -550.02673 179.11189 l -548.39288 179.13824 l -548.18207 177.68884 l -548.91992 176.55568 l -550.44836 176.47662 l -550.87006 174.44745 l -551.34436 173.31429 l -553.03094 174.84274 l -554.19049 175.34344 l -555.19189 175.63333 l -h -537.27203 191.02336 m -538.06256 190.12737 l -538.90588 190.31183 l -539.53833 189.70572 l -540.59247 190.02194 l -540.80328 190.52266 l -539.95996 191.39229 l -539.38025 190.91794 l -538.58966 191.26053 l -538.2207 192.13017 l -537.27203 191.70853 l -537.27203 191.02336 l -h -S -/DeviceRGB {} CS -[0.9765 0.6078 0.2392] SC -/DeviceRGB {} cs -[0.9765 0.6078 0.2392] sc -395.54675 192.57817 m -395.81027 192.13017 l -397.44415 192.70993 l -400.29025 191.12877 l -400.87 192.92076 l -400.60648 193.13158 l -397.65497 193.86946 l -399.13074 195.34521 l -398.65637 195.58238 l -398.39285 196.08308 l -397.28604 196.26756 l -396.91708 196.79462 l -396.28461 197.26897 l -394.65076 197.03178 l -394.59805 196.82097 l -395.33591 194.47557 l -395.33591 193.89581 l -395.54675 193.47417 l -395.54675 192.57817 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -395.54675 192.57817 m -395.81027 192.13017 l -397.44415 192.70993 l -400.29025 191.12877 l -400.87 192.92076 l -400.60648 193.13158 l -397.65497 193.86946 l -399.13074 195.34521 l -398.65637 195.58238 l -398.39285 196.08308 l -397.28604 196.26756 l -396.91708 196.79462 l -396.28461 197.26897 l -394.65076 197.03178 l -394.59805 196.82097 l -395.33591 194.47557 l -395.33591 193.89581 l -395.54675 193.47417 l -395.54675 192.57817 l -h -S -/DeviceRGB {} CS -[0.6157 0.0941 0.6157] SC -/DeviceRGB {} cs -[0.6157 0.0941 0.6157] sc -400.87 246.83855 m -398.76178 245.38914 l -398.70908 244.54585 l -393.3858 241.54164 l -393.12228 241.38351 l -393.12228 239.8287 l -393.54395 239.24895 l -394.2818 238.2739 l -394.80887 237.21979 l -394.12369 235.5332 l -393.96558 234.79532 l -393.2804 233.76756 l -394.17639 232.89792 l -395.1778 231.94922 l -395.91568 232.1864 l -395.91568 233.00334 l -396.44275 233.47769 l -397.44415 233.47769 l -399.28885 234.74261 l -399.76318 234.74261 l -400.13214 234.71626 l -400.44836 234.87439 l -401.39706 234.9798 l -401.8187 234.37369 l -403.18906 233.76756 l -403.7688 234.26826 l -404.7702 234.26826 l -403.50528 235.9285 l -403.50528 241.25175 l -404.40128 242.46399 l -403.34717 243.04375 l -402.97824 243.64986 l -402.45117 243.75526 l -402.24036 244.80939 l -401.76599 245.38914 l -401.50247 246.3642 l -400.87 246.83855 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -400.87 246.83855 m -398.76178 245.38914 l -398.70908 244.54585 l -393.3858 241.54164 l -393.12228 241.38351 l -393.12228 239.8287 l -393.54395 239.24895 l -394.2818 238.2739 l -394.80887 237.21979 l -394.12369 235.5332 l -393.96558 234.79532 l -393.2804 233.76756 l -394.17639 232.89792 l -395.1778 231.94922 l -395.91568 232.1864 l -395.91568 233.00334 l -396.44275 233.47769 l -397.44415 233.47769 l -399.28885 234.74261 l -399.76318 234.74261 l -400.13214 234.71626 l -400.44836 234.87439 l -401.39706 234.9798 l -401.8187 234.37369 l -403.18906 233.76756 l -403.7688 234.26826 l -404.7702 234.26826 l -403.50528 235.9285 l -403.50528 241.25175 l -404.40128 242.46399 l -403.34717 243.04375 l -402.97824 243.64986 l -402.45117 243.75526 l -402.24036 244.80939 l -401.76599 245.38914 l -401.50247 246.3642 l -400.87 246.83855 l -h -S -/DeviceRGB {} CS -[0.9137 0.4471 0.3451] SC -/DeviceRGB {} cs -[0.9137 0.4471 0.3451] sc -528.20667 184.75139 m -528.31207 184.59328 l -528.94452 184.64598 l -529.52429 183.98717 l -530.57837 183.93446 l -531.15814 183.82904 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -528.20667 184.75139 m -528.31207 184.59328 l -528.94452 184.64598 l -529.52429 183.98717 l -530.57837 183.93446 l -531.15814 183.82904 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -h -S -/DeviceRGB {} CS -[0.9843 0.8235 0.1451] SC -/DeviceRGB {} cs -[0.9843 0.8235 0.1451] sc -528.20667 184.75139 m -528.31207 184.59328 l -528.94452 184.64598 l -529.52429 183.98717 l -530.57837 183.93446 l -531.15814 183.82904 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -528.20667 184.75139 m -528.31207 184.59328 l -528.94452 184.64598 l -529.52429 183.98717 l -530.57837 183.93446 l -531.15814 183.82904 l -531.36896 183.48647 l -532.63391 185.19939 l -533.00287 186.14809 l -533.00287 187.83467 l -532.47577 188.65161 l -531.15814 188.91513 l -529.99866 189.52124 l -528.68097 189.65302 l -528.52289 188.86243 l -528.78644 187.75562 l -528.10126 186.22714 l -529.20807 185.98997 l -528.20667 184.75139 l -h -S -/DeviceRGB {} CS -[0.9922 0.7843 0.1529] SC -/DeviceRGB {} cs -[0.9922 0.7843 0.1529] sc -413.73016 196.10944 m -414.04639 196.76826 l -413.88828 197.11086 l -414.36264 198.19131 l -413.36124 198.24402 l -412.99228 197.53249 l -411.67465 197.40073 l -412.72876 196.00403 l -413.73016 196.10944 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -413.73016 196.10944 m -414.04639 196.76826 l -413.88828 197.11086 l -414.36264 198.19131 l -413.36124 198.24402 l -412.99228 197.53249 l -411.67465 197.40073 l -412.72876 196.00403 l -413.73016 196.10944 l -h -S -/DeviceRGB {} CS -[0.9725 0.5922 0.251] SC -/DeviceRGB {} cs -[0.9725 0.5922 0.251] sc -395.91568 191.28688 m -395.54675 191.31323 l -395.38864 191.55042 l -394.91428 191.55042 l -395.44135 190.36453 l -396.1792 189.33678 l -396.1792 189.28407 l -396.86438 189.36313 l -397.0752 189.94289 l -396.28461 190.49629 l -395.91568 191.28688 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -395.91568 191.28688 m -395.54675 191.31323 l -395.38864 191.55042 l -394.91428 191.55042 l -395.44135 190.36453 l -396.1792 189.33678 l -396.1792 189.28407 l -396.86438 189.36313 l -397.0752 189.94289 l -396.28461 190.49629 l -395.91568 191.28688 l -h -S -/DeviceRGB {} CS -[0.1922 0.0196 0.5882] SC -/DeviceRGB {} cs -[0.1922 0.0196 0.5882] sc -385.90161 282.38846 m -386.42868 282.83646 l -385.95435 283.54797 l -385.7435 284.02231 l -384.90021 284.25949 l -384.63669 284.70749 l -384.10965 284.8656 l -383.00281 283.73245 l -383.7934 282.81009 l -384.58398 282.23035 l -385.26917 281.94046 l -385.90161 282.38846 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -385.90161 282.38846 m -386.42868 282.83646 l -385.95435 283.54797 l -385.7435 284.02231 l -384.90021 284.25949 l -384.63669 284.70749 l -384.10965 284.8656 l -383.00281 283.73245 l -383.7934 282.81009 l -384.58398 282.23035 l -385.26917 281.94046 l -385.90161 282.38846 l -h -S -/DeviceRGB {} CS -[0.3216 0.0078 0.6314] SC -/DeviceRGB {} cs -[0.3216 0.0078 0.6314] sc -331.14053 228.76054 m -331.08783 229.18219 l -331.24597 229.89371 l -330.92972 230.52617 l -331.35138 230.92146 l -331.77301 231.02687 l -332.40549 231.633 l -332.45819 232.21275 l -332.30008 232.39722 l -332.19467 233.60945 l -331.82571 233.6358 l -330.29724 232.92427 l -328.97961 231.81746 l -327.71469 231.00052 l -326.76599 230.07817 l -327.08221 229.60382 l -327.18762 229.18219 l -327.8201 228.36525 l -328.50528 227.70642 l -328.8215 227.65372 l -329.24313 227.49561 l -329.82291 228.3916 l -329.7175 228.97136 l -330.03372 229.2876 l -330.45538 229.2876 l -330.7189 228.70784 l -331.14053 228.76054 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -331.14053 228.76054 m -331.08783 229.18219 l -331.24597 229.89371 l -330.92972 230.52617 l -331.35138 230.92146 l -331.77301 231.02687 l -332.40549 231.633 l -332.45819 232.21275 l -332.30008 232.39722 l -332.19467 233.60945 l -331.82571 233.6358 l -330.29724 232.92427 l -328.97961 231.81746 l -327.71469 231.00052 l -326.76599 230.07817 l -327.08221 229.60382 l -327.18762 229.18219 l -327.8201 228.36525 l -328.50528 227.70642 l -328.8215 227.65372 l -329.24313 227.49561 l -329.82291 228.3916 l -329.7175 228.97136 l -330.03372 229.2876 l -330.45538 229.2876 l -330.7189 228.70784 l -331.14053 228.76054 l -h -S -/DeviceRGB {} CS -[0.9843 0.6549 0.2118] SC -/DeviceRGB {} cs -[0.9843 0.6549 0.2118] sc -380.104 207.78372 m -380.104 210.70888 l -378.41745 210.70888 l -378.41745 211.34135 l -372.56711 208.52161 l -366.7168 205.72821 l -365.24106 206.51878 l -364.18692 207.0722 l -363.39636 206.28162 l -361.0773 205.64915 l -360.44482 204.72681 l -359.28531 204.04163 l -358.60016 204.30516 l -358.07309 203.48822 l -358.02039 202.85576 l -357.12439 201.80164 l -357.70416 201.19553 l -357.59872 200.27318 l -357.75687 199.45624 l -357.65146 198.79742 l -357.91498 197.61156 l -357.86227 196.92638 l -357.38791 195.63509 l -358.07309 195.29251 l -358.2312 194.68639 l -358.07309 194.08028 l -359.07449 193.50052 l -359.49612 193.02617 l -360.23401 192.60452 l -360.33942 191.49771 l -362.026 191.99841 l -362.65848 191.86664 l -363.8707 192.10382 l -365.8208 192.76263 l -366.50598 194.08028 l -367.82361 194.34381 l -369.87912 194.97627 l -371.4603 195.68781 l -372.14548 195.31886 l -372.83066 194.63368 l -372.5144 193.52687 l -372.98877 192.81534 l -374.04288 192.13017 l -375.04428 191.91936 l -376.99438 192.20923 l -377.52145 192.86806 l -378.04849 192.86806 l -378.52286 193.13158 l -379.9986 193.28969 l -380.31485 193.79039 l -379.78778 194.47557 l -380.0513 195.10803 l -379.68237 196.03038 l -380.104 197.18991 l -380.104 202.40776 l -380.104 207.78372 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -380.104 207.78372 m -380.104 210.70888 l -378.41745 210.70888 l -378.41745 211.34135 l -372.56711 208.52161 l -366.7168 205.72821 l -365.24106 206.51878 l -364.18692 207.0722 l -363.39636 206.28162 l -361.0773 205.64915 l -360.44482 204.72681 l -359.28531 204.04163 l -358.60016 204.30516 l -358.07309 203.48822 l -358.02039 202.85576 l -357.12439 201.80164 l -357.70416 201.19553 l -357.59872 200.27318 l -357.75687 199.45624 l -357.65146 198.79742 l -357.91498 197.61156 l -357.86227 196.92638 l -357.38791 195.63509 l -358.07309 195.29251 l -358.2312 194.68639 l -358.07309 194.08028 l -359.07449 193.50052 l -359.49612 193.02617 l -360.23401 192.60452 l -360.33942 191.49771 l -362.026 191.99841 l -362.65848 191.86664 l -363.8707 192.10382 l -365.8208 192.76263 l -366.50598 194.08028 l -367.82361 194.34381 l -369.87912 194.97627 l -371.4603 195.68781 l -372.14548 195.31886 l -372.83066 194.63368 l -372.5144 193.52687 l -372.98877 192.81534 l -374.04288 192.13017 l -375.04428 191.91936 l -376.99438 192.20923 l -377.52145 192.86806 l -378.04849 192.86806 l -378.52286 193.13158 l -379.9986 193.28969 l -380.31485 193.79039 l -379.78778 194.47557 l -380.0513 195.10803 l -379.68237 196.03038 l -380.104 197.18991 l -380.104 202.40776 l -380.104 207.78372 l -h -S -/DeviceRGB {} CS -[0.7569 0.2353 0.5098] SC -/DeviceRGB {} cs -[0.7569 0.2353 0.5098] sc -416.04919 258.2493 m -416.41815 258.88177 l -416.78708 259.85681 l -416.99789 261.5961 l -417.36685 262.28128 l -417.26144 262.9928 l -416.99789 263.41446 l -416.47086 262.57117 l -416.20734 262.9928 l -416.47086 264.07327 l -416.36545 264.70572 l -415.94379 265.04831 l -415.89108 266.2869 l -415.31134 267.99982 l -414.57346 270.00266 l -413.67746 272.76968 l -413.09769 274.8252 l -412.46524 276.51178 l -411.25299 276.85437 l -409.98807 277.48685 l -409.14478 277.09155 l -407.98526 276.59085 l -407.5636 275.80026 l -407.45819 274.50897 l -406.93115 273.34946 l -406.82574 272.29535 l -407.08926 271.24121 l -407.77444 270.97769 l -407.77444 270.50336 l -408.45959 269.39651 l -408.56503 268.44781 l -408.24878 267.76266 l -407.98526 266.8403 l -407.87985 265.49631 l -408.35419 264.67938 l -408.56503 263.73068 l -409.30289 263.67798 l -410.09348 263.38809 l -410.67325 263.12457 l -411.30569 263.09821 l -412.14899 262.25491 l -413.36124 261.35892 l -413.78287 260.62106 l -413.57205 260.01492 l -414.2045 260.17307 l -414.99509 259.17166 l -415.04779 258.27567 l -415.52216 257.61682 l -416.04919 258.2493 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -416.04919 258.2493 m -416.41815 258.88177 l -416.78708 259.85681 l -416.99789 261.5961 l -417.36685 262.28128 l -417.26144 262.9928 l -416.99789 263.41446 l -416.47086 262.57117 l -416.20734 262.9928 l -416.47086 264.07327 l -416.36545 264.70572 l -415.94379 265.04831 l -415.89108 266.2869 l -415.31134 267.99982 l -414.57346 270.00266 l -413.67746 272.76968 l -413.09769 274.8252 l -412.46524 276.51178 l -411.25299 276.85437 l -409.98807 277.48685 l -409.14478 277.09155 l -407.98526 276.59085 l -407.5636 275.80026 l -407.45819 274.50897 l -406.93115 273.34946 l -406.82574 272.29535 l -407.08926 271.24121 l -407.77444 270.97769 l -407.77444 270.50336 l -408.45959 269.39651 l -408.56503 268.44781 l -408.24878 267.76266 l -407.98526 266.8403 l -407.87985 265.49631 l -408.35419 264.67938 l -408.56503 263.73068 l -409.30289 263.67798 l -410.09348 263.38809 l -410.67325 263.12457 l -411.30569 263.09821 l -412.14899 262.25491 l -413.36124 261.35892 l -413.78287 260.62106 l -413.57205 260.01492 l -414.2045 260.17307 l -414.99509 259.17166 l -415.04779 258.27567 l -415.52216 257.61682 l -416.04919 258.2493 l -h -S -/DeviceRGB {} CS -[0.4157 0.0039 0.651] SC -/DeviceRGB {} cs -[0.4157 0.0039 0.651] sc -391.4357 253.5058 m -392.91147 253.79568 l -393.17499 254.19098 l -393.70206 254.87614 l -394.07098 256.8526 l -393.70206 257.98578 l -394.07098 259.88318 l -394.59805 259.85681 l -395.12509 260.33118 l -395.75757 261.38528 l -395.86298 263.28268 l -395.2305 263.57257 l -394.80887 264.60031 l -393.80746 263.67798 l -393.70206 262.65021 l -394.01828 261.99139 l -393.96558 261.38528 l -393.3858 261.01636 l -392.96417 261.1481 l -392.12088 260.46292 l -391.33029 260.06766 l -391.80466 258.72366 l -392.27899 258.19659 l -391.96277 256.98438 l -392.27899 255.79849 l -392.54254 255.4032 l -392.17358 254.16463 l -391.4357 253.5058 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -391.4357 253.5058 m -392.91147 253.79568 l -393.17499 254.19098 l -393.70206 254.87614 l -394.07098 256.8526 l -393.70206 257.98578 l -394.07098 259.88318 l -394.59805 259.85681 l -395.12509 260.33118 l -395.75757 261.38528 l -395.86298 263.28268 l -395.2305 263.57257 l -394.80887 264.60031 l -393.80746 263.67798 l -393.70206 262.65021 l -394.01828 261.99139 l -393.96558 261.38528 l -393.3858 261.01636 l -392.96417 261.1481 l -392.12088 260.46292 l -391.33029 260.06766 l -391.80466 258.72366 l -392.27899 258.19659 l -391.96277 256.98438 l -392.27899 255.79849 l -392.54254 255.4032 l -392.17358 254.16463 l -391.4357 253.5058 l -h -S -/DeviceRGB {} CS -[0.9843 0.6667 0.2078] SC -/DeviceRGB {} cs -[0.9843 0.6667 0.2078] sc -489.99512 230.52617 m -490.25864 230.26265 l -491.47086 230.92146 l -491.57629 231.65935 l -492.52499 231.50122 l -492.99933 230.89511 l -493.36826 231.02687 l -494.21155 231.92287 l -494.84402 232.89792 l -494.94943 233.87297 l -494.79132 234.5318 l -494.89673 235.05885 l -495.00214 235.90215 l -495.52921 236.32379 l -496.10895 237.61507 l -496.05624 238.11578 l -495.05484 238.19484 l -493.63181 237.11436 l -491.94522 235.95485 l -491.73441 235.21696 l -490.89111 234.24191 l -490.6803 233.02969 l -490.15323 232.21275 l -490.36404 231.15865 l -489.99512 230.52617 l -h -516.08435 233.95204 m -514.81946 233.68851 l -513.13287 233.68851 l -512.60577 235.34874 l -512.02606 235.87579 l -511.28815 237.90495 l -510.07593 238.22119 l -508.7056 237.79955 l -508.02042 237.9313 l -507.17712 238.66919 l -506.22842 238.56377 l -505.27972 238.88 l -504.27832 238.03671 l -504.0148 237.06166 l -505.12161 237.56236 l -506.22842 237.29884 l -506.54465 236.06026 l -507.17712 235.77039 l -508.91641 235.45415 l -509.97052 234.29462 l -510.7084 233.37227 l -511.34088 234.13651 l -511.6571 233.6358 l -512.34229 233.68851 l -512.44769 232.73981 l -512.50037 232.02829 l -513.65991 231.00052 l -514.39777 229.86736 l -514.97754 229.86736 l -515.71545 230.60524 l -515.76813 231.2377 l -516.76953 231.633 l -517.98175 232.08099 l -517.87634 232.66075 l -516.87494 232.73981 l -517.13849 233.45134 l -516.08435 233.95204 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -489.99512 230.52617 m -490.25864 230.26265 l -491.47086 230.92146 l -491.57629 231.65935 l -492.52499 231.50122 l -492.99933 230.89511 l -493.36826 231.02687 l -494.21155 231.92287 l -494.84402 232.89792 l -494.94943 233.87297 l -494.79132 234.5318 l -494.89673 235.05885 l -495.00214 235.90215 l -495.52921 236.32379 l -496.10895 237.61507 l -496.05624 238.11578 l -495.05484 238.19484 l -493.63181 237.11436 l -491.94522 235.95485 l -491.73441 235.21696 l -490.89111 234.24191 l -490.6803 233.02969 l -490.15323 232.21275 l -490.36404 231.15865 l -489.99512 230.52617 l -h -516.08435 233.95204 m -514.81946 233.68851 l -513.13287 233.68851 l -512.60577 235.34874 l -512.02606 235.87579 l -511.28815 237.90495 l -510.07593 238.22119 l -508.7056 237.79955 l -508.02042 237.9313 l -507.17712 238.66919 l -506.22842 238.56377 l -505.27972 238.88 l -504.27832 238.03671 l -504.0148 237.06166 l -505.12161 237.56236 l -506.22842 237.29884 l -506.54465 236.06026 l -507.17712 235.77039 l -508.91641 235.45415 l -509.97052 234.29462 l -510.7084 233.37227 l -511.34088 234.13651 l -511.6571 233.6358 l -512.34229 233.68851 l -512.44769 232.73981 l -512.50037 232.02829 l -513.65991 231.00052 l -514.39777 229.86736 l -514.97754 229.86736 l -515.71545 230.60524 l -515.76813 231.2377 l -516.76953 231.633 l -517.98175 232.08099 l -517.87634 232.66075 l -516.87494 232.73981 l -517.13849 233.45134 l -516.08435 233.95204 l -h -S -/DeviceRGB {} CS -[0.6275 0.1059 0.6078] SC -/DeviceRGB {} cs -[0.6275 0.1059 0.6078] sc -326.66058 221.77705 m -326.71329 221.32906 l -326.60788 220.77565 l -326.02811 220.354 l -325.76459 219.51071 l -325.65918 218.61472 l -326.18622 218.32484 l -326.39703 217.48155 l -326.8714 217.42885 l -327.92551 217.85049 l -328.71609 217.56061 l -329.29584 217.66602 l -329.50668 217.32343 l -335.4097 217.29707 l -335.72592 216.26932 l -335.4624 216.11121 l -334.77722 209.78653 l -334.03934 203.46187 l -336.30569 203.43552 l -341.20731 206.62421 l -346.16162 209.83925 l -346.53058 210.52441 l -347.42657 210.91971 l -348.11172 211.18323 l -348.11172 212.10558 l -349.74561 211.94746 l -349.74561 215.32062 l -348.95502 216.29567 l -348.84961 217.21802 l -347.53198 217.4552 l -345.52917 217.56061 l -345.00211 218.08766 l -344.05341 218.14037 l -343.10471 218.14037 l -342.73578 217.87685 l -341.94519 218.08766 l -340.57483 218.69377 l -340.31131 219.14177 l -339.15179 219.8006 l -338.94098 220.16953 l -338.36121 220.48576 l -337.62332 220.27495 l -337.25439 220.64388 l -337.04358 221.64529 l -335.83133 222.85751 l -335.88403 223.35822 l -335.51511 223.96432 l -335.56781 224.80762 l -334.98804 225.0448 l -334.61911 225.22926 l -334.40829 224.5968 l -333.98663 224.75491 l -333.72311 224.72856 l -333.45959 225.15021 l -332.35278 225.15021 l -331.93112 224.91304 l -331.72031 225.07115 l -331.29868 224.64951 l -331.35138 224.20151 l -331.19324 224.01704 l -330.87701 224.17516 l -330.92972 223.70081 l -331.24597 223.33186 l -330.61349 222.6994 l -330.45538 222.30411 l -330.13913 221.98787 l -329.82291 221.93517 l -329.50668 222.146 l -329.03232 222.35681 l -328.61069 222.67305 l -327.97821 222.54128 l -327.60928 222.17235 l -327.34573 222.11964 l -326.97681 222.33046 l -326.71329 222.33046 l -326.66058 221.77705 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -326.66058 221.77705 m -326.71329 221.32906 l -326.60788 220.77565 l -326.02811 220.354 l -325.76459 219.51071 l -325.65918 218.61472 l -326.18622 218.32484 l -326.39703 217.48155 l -326.8714 217.42885 l -327.92551 217.85049 l -328.71609 217.56061 l -329.29584 217.66602 l -329.50668 217.32343 l -335.4097 217.29707 l -335.72592 216.26932 l -335.4624 216.11121 l -334.77722 209.78653 l -334.03934 203.46187 l -336.30569 203.43552 l -341.20731 206.62421 l -346.16162 209.83925 l -346.53058 210.52441 l -347.42657 210.91971 l -348.11172 211.18323 l -348.11172 212.10558 l -349.74561 211.94746 l -349.74561 215.32062 l -348.95502 216.29567 l -348.84961 217.21802 l -347.53198 217.4552 l -345.52917 217.56061 l -345.00211 218.08766 l -344.05341 218.14037 l -343.10471 218.14037 l -342.73578 217.87685 l -341.94519 218.08766 l -340.57483 218.69377 l -340.31131 219.14177 l -339.15179 219.8006 l -338.94098 220.16953 l -338.36121 220.48576 l -337.62332 220.27495 l -337.25439 220.64388 l -337.04358 221.64529 l -335.83133 222.85751 l -335.88403 223.35822 l -335.51511 223.96432 l -335.56781 224.80762 l -334.98804 225.0448 l -334.61911 225.22926 l -334.40829 224.5968 l -333.98663 224.75491 l -333.72311 224.72856 l -333.45959 225.15021 l -332.35278 225.15021 l -331.93112 224.91304 l -331.72031 225.07115 l -331.29868 224.64951 l -331.35138 224.20151 l -331.19324 224.01704 l -330.87701 224.17516 l -330.92972 223.70081 l -331.24597 223.33186 l -330.61349 222.6994 l -330.45538 222.30411 l -330.13913 221.98787 l -329.82291 221.93517 l -329.50668 222.146 l -329.03232 222.35681 l -328.61069 222.67305 l -327.97821 222.54128 l -327.60928 222.17235 l -327.34573 222.11964 l -326.97681 222.33046 l -326.71329 222.33046 l -326.66058 221.77705 l -h -S -/DeviceRGB {} CS -[0.8588 0.3608 0.4078] SC -/DeviceRGB {} cs -[0.8588 0.3608 0.4078] sc -318.54391 209.25948 m -318.86014 208.75877 l -324.55234 208.78513 l -324.28882 206.67691 l -324.65778 205.91267 l -326.02811 205.78091 l -325.9754 202.03882 l -330.77161 202.11787 l -330.77161 199.90424 l -336.30569 203.43552 l -334.03934 203.46187 l -334.77722 209.78653 l -335.4624 216.11121 l -335.72592 216.26932 l -335.4097 217.29707 l -329.50668 217.32343 l -329.29584 217.66602 l -328.71609 217.56061 l -327.92551 217.85049 l -326.8714 217.42885 l -326.39703 217.48155 l -326.18622 218.32484 l -325.65918 218.61472 l -324.71048 217.58696 l -323.81448 216.53285 l -322.86578 216.13756 l -322.1806 215.68956 l -321.33731 215.71591 l -320.65213 216.03215 l -319.91425 215.90038 l -319.38721 216.37473 l -319.2818 215.58415 l -319.70343 214.87262 l -319.86154 213.50227 l -319.70343 212.05287 l -319.54532 211.315 l -319.65073 210.57712 l -319.2818 209.89195 l -318.54391 209.25948 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -318.54391 209.25948 m -318.86014 208.75877 l -324.55234 208.78513 l -324.28882 206.67691 l -324.65778 205.91267 l -326.02811 205.78091 l -325.9754 202.03882 l -330.77161 202.11787 l -330.77161 199.90424 l -336.30569 203.43552 l -334.03934 203.46187 l -334.77722 209.78653 l -335.4624 216.11121 l -335.72592 216.26932 l -335.4097 217.29707 l -329.50668 217.32343 l -329.29584 217.66602 l -328.71609 217.56061 l -327.92551 217.85049 l -326.8714 217.42885 l -326.39703 217.48155 l -326.18622 218.32484 l -325.65918 218.61472 l -324.71048 217.58696 l -323.81448 216.53285 l -322.86578 216.13756 l -322.1806 215.68956 l -321.33731 215.71591 l -320.65213 216.03215 l -319.91425 215.90038 l -319.38721 216.37473 l -319.2818 215.58415 l -319.70343 214.87262 l -319.86154 213.50227 l -319.70343 212.05287 l -319.54532 211.315 l -319.65073 210.57712 l -319.2818 209.89195 l -318.54391 209.25948 l -h -S -/DeviceRGB {} CS -[0.9882 0.7333 0.1765] SC -/DeviceRGB {} cs -[0.9882 0.7333 0.1765] sc -172.02245 192.36734 m -173.70903 192.26193 l -175.55373 192.10382 l -175.44832 192.39371 l -177.60924 193.10522 l -180.98239 194.13298 l -183.8812 194.10663 l -185.04073 194.10663 l -185.04073 193.52687 l -187.57059 193.52687 l -188.09764 194.02757 l -188.88823 194.50192 l -189.73152 195.13438 l -190.20587 195.89862 l -190.57481 196.71556 l -191.36539 197.16356 l -192.57762 197.58521 l -193.47362 196.42567 l -194.68584 196.39932 l -195.68724 196.97908 l -196.42513 197.98048 l -196.95218 198.85013 l -197.79547 199.69342 l -198.11171 200.72118 l -198.53334 201.40636 l -199.69287 201.85435 l -200.74698 202.17058 l -201.27403 202.11787 l -200.74698 203.40916 l -200.48346 204.46327 l -200.37804 206.43973 l -200.21992 207.15126 l -200.48346 207.94185 l -200.95781 208.65337 l -201.22133 209.78653 l -202.22273 210.89336 l -202.53897 211.71028 l -203.11873 212.44817 l -204.64719 212.81711 l -205.27966 213.44957 l -206.54459 213.02792 l -207.65141 212.86981 l -208.75822 212.60628 l -209.70692 212.36911 l -210.60292 211.763 l -210.97186 210.91971 l -211.07727 209.68112 l -211.34081 209.25948 l -212.34221 208.86418 l -213.87067 208.54796 l -215.18831 208.57431 l -216.0843 208.4689 l -216.40053 208.78513 l -216.34782 209.47031 l -215.55725 210.33995 l -215.24101 211.23593 l -215.50455 211.49947 l -215.29372 212.13193 l -214.92477 213.26511 l -214.55583 212.89616 l -214.23961 212.92252 l -213.97607 212.94887 l -213.44902 213.81851 l -213.1855 213.6604 l -212.97467 213.7131 l -213.02737 213.92392 l -211.65703 213.92392 l -210.28668 213.92392 l -210.28668 214.74086 l -209.60152 214.74086 l -210.18127 215.24156 l -210.70833 215.58415 l -210.86646 215.90038 l -211.12997 215.97945 l -211.07727 216.48015 l -209.17987 216.48015 l -208.49471 217.66602 l -208.70552 217.9559 l -208.54741 218.29848 l -208.49471 218.72012 l -206.80812 217.13896 l -206.07024 216.66461 l -204.85802 216.29567 l -204.06743 216.40108 l -202.90791 216.92815 l -202.17003 217.08626 l -201.11592 216.69096 l -200.00911 216.42743 l -198.63876 215.74226 l -197.53194 215.53145 l -195.89807 214.87262 l -194.68584 214.1611 l -194.31691 213.76581 l -193.47362 213.68675 l -191.99786 213.2124 l -191.36539 212.55357 l -189.78423 211.71028 l -189.04634 210.78795 l -188.73012 210.07642 l -189.20447 209.94466 l -189.04634 209.52301 l -189.41528 209.15407 l -189.41528 208.65337 l -188.88823 207.99455 l -188.78282 207.38843 l -188.30847 206.65056 l -186.99083 205.20116 l -185.51508 204.06798 l -184.8299 203.14563 l -183.56497 202.53952 l -183.30144 202.19693 l -183.51227 201.30093 l -182.77438 200.95836 l -181.87839 200.24683 l -181.50945 199.21907 l -180.77158 199.08731 l -179.87558 198.32307 l -179.1904 197.61156 l -179.1377 197.16356 l -178.34712 196.05673 l -177.82007 194.92357 l -177.87277 194.37016 l -176.81865 193.79039 l -176.2916 193.84311 l -175.50102 193.44781 l -175.23749 194.05392 l -175.50102 194.73909 l -175.60643 195.84592 l -176.13348 196.45203 l -177.2403 197.45343 l -177.45113 197.79602 l -177.66194 197.90143 l -177.87277 198.40213 l -178.13629 198.37578 l -178.45253 199.32448 l -178.87418 199.69342 l -179.1904 200.22047 l -180.0864 200.95836 l -180.61345 202.3287 l -181.0351 202.96117 l -181.45674 203.64633 l -181.50945 204.43692 l -182.19463 204.48962 l -182.82709 205.14845 l -183.35414 205.80727 l -183.30144 206.0708 l -182.66898 206.59785 l -182.40544 206.59785 l -182.03651 205.70186 l -181.0878 204.85857 l -180.03369 204.14703 l -179.29582 203.77811 l -179.34853 202.72398 l -179.08499 201.93341 l -178.39983 201.45906 l -177.39842 200.82658 l -177.18759 201.01106 l -176.81865 200.61577 l -175.92267 200.27318 l -175.07938 199.42989 l -175.18478 199.29813 l -175.76454 199.37718 l -176.3443 198.85013 l -176.39702 198.19131 l -175.23749 197.13721 l -174.3942 196.74191 l -173.86714 195.81956 l -173.28738 194.87086 l -172.65492 193.68498 l -172.02245 192.36734 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -172.02245 192.36734 m -173.70903 192.26193 l -175.55373 192.10382 l -175.44832 192.39371 l -177.60924 193.10522 l -180.98239 194.13298 l -183.8812 194.10663 l -185.04073 194.10663 l -185.04073 193.52687 l -187.57059 193.52687 l -188.09764 194.02757 l -188.88823 194.50192 l -189.73152 195.13438 l -190.20587 195.89862 l -190.57481 196.71556 l -191.36539 197.16356 l -192.57762 197.58521 l -193.47362 196.42567 l -194.68584 196.39932 l -195.68724 196.97908 l -196.42513 197.98048 l -196.95218 198.85013 l -197.79547 199.69342 l -198.11171 200.72118 l -198.53334 201.40636 l -199.69287 201.85435 l -200.74698 202.17058 l -201.27403 202.11787 l -200.74698 203.40916 l -200.48346 204.46327 l -200.37804 206.43973 l -200.21992 207.15126 l -200.48346 207.94185 l -200.95781 208.65337 l -201.22133 209.78653 l -202.22273 210.89336 l -202.53897 211.71028 l -203.11873 212.44817 l -204.64719 212.81711 l -205.27966 213.44957 l -206.54459 213.02792 l -207.65141 212.86981 l -208.75822 212.60628 l -209.70692 212.36911 l -210.60292 211.763 l -210.97186 210.91971 l -211.07727 209.68112 l -211.34081 209.25948 l -212.34221 208.86418 l -213.87067 208.54796 l -215.18831 208.57431 l -216.0843 208.4689 l -216.40053 208.78513 l -216.34782 209.47031 l -215.55725 210.33995 l -215.24101 211.23593 l -215.50455 211.49947 l -215.29372 212.13193 l -214.92477 213.26511 l -214.55583 212.89616 l -214.23961 212.92252 l -213.97607 212.94887 l -213.44902 213.81851 l -213.1855 213.6604 l -212.97467 213.7131 l -213.02737 213.92392 l -211.65703 213.92392 l -210.28668 213.92392 l -210.28668 214.74086 l -209.60152 214.74086 l -210.18127 215.24156 l -210.70833 215.58415 l -210.86646 215.90038 l -211.12997 215.97945 l -211.07727 216.48015 l -209.17987 216.48015 l -208.49471 217.66602 l -208.70552 217.9559 l -208.54741 218.29848 l -208.49471 218.72012 l -206.80812 217.13896 l -206.07024 216.66461 l -204.85802 216.29567 l -204.06743 216.40108 l -202.90791 216.92815 l -202.17003 217.08626 l -201.11592 216.69096 l -200.00911 216.42743 l -198.63876 215.74226 l -197.53194 215.53145 l -195.89807 214.87262 l -194.68584 214.1611 l -194.31691 213.76581 l -193.47362 213.68675 l -191.99786 213.2124 l -191.36539 212.55357 l -189.78423 211.71028 l -189.04634 210.78795 l -188.73012 210.07642 l -189.20447 209.94466 l -189.04634 209.52301 l -189.41528 209.15407 l -189.41528 208.65337 l -188.88823 207.99455 l -188.78282 207.38843 l -188.30847 206.65056 l -186.99083 205.20116 l -185.51508 204.06798 l -184.8299 203.14563 l -183.56497 202.53952 l -183.30144 202.19693 l -183.51227 201.30093 l -182.77438 200.95836 l -181.87839 200.24683 l -181.50945 199.21907 l -180.77158 199.08731 l -179.87558 198.32307 l -179.1904 197.61156 l -179.1377 197.16356 l -178.34712 196.05673 l -177.82007 194.92357 l -177.87277 194.37016 l -176.81865 193.79039 l -176.2916 193.84311 l -175.50102 193.44781 l -175.23749 194.05392 l -175.50102 194.73909 l -175.60643 195.84592 l -176.13348 196.45203 l -177.2403 197.45343 l -177.45113 197.79602 l -177.66194 197.90143 l -177.87277 198.40213 l -178.13629 198.37578 l -178.45253 199.32448 l -178.87418 199.69342 l -179.1904 200.22047 l -180.0864 200.95836 l -180.61345 202.3287 l -181.0351 202.96117 l -181.45674 203.64633 l -181.50945 204.43692 l -182.19463 204.48962 l -182.82709 205.14845 l -183.35414 205.80727 l -183.30144 206.0708 l -182.66898 206.59785 l -182.40544 206.59785 l -182.03651 205.70186 l -181.0878 204.85857 l -180.03369 204.14703 l -179.29582 203.77811 l -179.34853 202.72398 l -179.08499 201.93341 l -178.39983 201.45906 l -177.39842 200.82658 l -177.18759 201.01106 l -176.81865 200.61577 l -175.92267 200.27318 l -175.07938 199.42989 l -175.18478 199.29813 l -175.76454 199.37718 l -176.3443 198.85013 l -176.39702 198.19131 l -175.23749 197.13721 l -174.3942 196.74191 l -173.86714 195.81956 l -173.28738 194.87086 l -172.65492 193.68498 l -172.02245 192.36734 l -h -S -/DeviceRGB {} CS -[0.9059 0.4353 0.3529] SC -/DeviceRGB {} cs -[0.9059 0.4353 0.3529] sc -471.96982 167.8329 m -473.49826 167.569382 l -476.29166 166.330795 l -478.50531 165.619278 l -479.77023 166.067276 l -481.29871 166.093628 l -482.30011 166.778793 l -483.77585 166.831497 l -485.88409 167.200439 l -487.30713 166.199036 l -486.72736 165.329391 l -488.20313 163.800934 l -489.83701 164.407043 l -491.20734 164.591522 l -492.89392 164.960449 l -493.21014 166.067276 l -495.26566 166.673386 l -496.63602 166.409851 l -498.53342 166.199036 l -499.95645 166.409851 l -501.43222 167.095032 l -502.27551 167.85925 l -503.64584 167.8329 l -505.49054 168.07008 l -506.8609 167.727493 l -508.7583 167.463974 l -510.91922 166.436203 l -511.81522 166.59433 l -512.5531 167.095032 l -514.29236 166.963272 l -513.60718 168.07008 l -512.5531 169.54584 l -512.92206 170.1256 l -513.76532 169.94113 l -515.18835 170.1783 l -516.3479 169.62489 l -517.50745 170.09924 l -518.82507 171.127 l -518.66693 171.65407 l -517.50745 171.46959 l -515.39917 171.68042 l -514.34509 172.10205 l -513.29095 173.05075 l -511.07733 173.63052 l -509.60159 174.39474 l -508.07312 174.10487 l -507.28253 173.9731 l -506.49194 174.9218 l -506.96631 175.47522 l -507.22983 175.97592 l -506.17572 176.45027 l -505.12161 177.24084 l -503.43503 177.7679 l -501.22141 177.82062 l -498.84964 178.32132 l -497.16306 179.11189 l -496.53061 178.63754 l -494.73862 178.66389 l -492.5777 177.7679 l -491.10193 177.55708 l -489.20453 177.74155 l -486.14761 177.42532 l -484.56644 177.45168 l -483.67044 176.58203 l -483.03796 175.23804 l -482.08926 175.07993 l -480.35001 174.15758 l -478.3999 173.94675 l -476.66061 173.70958 l -476.13354 173.07712 l -476.66061 171.36418 l -475.65921 170.1783 l -473.55096 169.62489 l -472.33875 168.86067 l -471.96982 167.8329 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -471.96982 167.8329 m -473.49826 167.569382 l -476.29166 166.330795 l -478.50531 165.619278 l -479.77023 166.067276 l -481.29871 166.093628 l -482.30011 166.778793 l -483.77585 166.831497 l -485.88409 167.200439 l -487.30713 166.199036 l -486.72736 165.329391 l -488.20313 163.800934 l -489.83701 164.407043 l -491.20734 164.591522 l -492.89392 164.960449 l -493.21014 166.067276 l -495.26566 166.673386 l -496.63602 166.409851 l -498.53342 166.199036 l -499.95645 166.409851 l -501.43222 167.095032 l -502.27551 167.85925 l -503.64584 167.8329 l -505.49054 168.07008 l -506.8609 167.727493 l -508.7583 167.463974 l -510.91922 166.436203 l -511.81522 166.59433 l -512.5531 167.095032 l -514.29236 166.963272 l -513.60718 168.07008 l -512.5531 169.54584 l -512.92206 170.1256 l -513.76532 169.94113 l -515.18835 170.1783 l -516.3479 169.62489 l -517.50745 170.09924 l -518.82507 171.127 l -518.66693 171.65407 l -517.50745 171.46959 l -515.39917 171.68042 l -514.34509 172.10205 l -513.29095 173.05075 l -511.07733 173.63052 l -509.60159 174.39474 l -508.07312 174.10487 l -507.28253 173.9731 l -506.49194 174.9218 l -506.96631 175.47522 l -507.22983 175.97592 l -506.17572 176.45027 l -505.12161 177.24084 l -503.43503 177.7679 l -501.22141 177.82062 l -498.84964 178.32132 l -497.16306 179.11189 l -496.53061 178.63754 l -494.73862 178.66389 l -492.5777 177.7679 l -491.10193 177.55708 l -489.20453 177.74155 l -486.14761 177.42532 l -484.56644 177.45168 l -483.67044 176.58203 l -483.03796 175.23804 l -482.08926 175.07993 l -480.35001 174.15758 l -478.3999 173.94675 l -476.66061 173.70958 l -476.13354 173.07712 l -476.66061 171.36418 l -475.65921 170.1783 l -473.55096 169.62489 l -472.33875 168.86067 l -471.96982 167.8329 l -h -S -/DeviceRGB {} CS -[0.9882 0.6745 0.2039] SC -/DeviceRGB {} cs -[0.9882 0.6745 0.2039] sc -372.88336 177.66249 m -372.4617 177.79427 l -372.409 177.50438 l -371.77652 178.24226 l -371.88196 178.69025 l -371.5657 178.58484 l -371.14407 178.11049 l -370.5116 177.82062 l -370.66971 177.55708 l -370.88055 176.76649 l -371.35489 176.42392 l -371.61841 176.29214 l -372.04007 176.52933 l -372.25089 176.74014 l -372.72522 176.89827 l -373.25229 177.18814 l -373.14688 177.31992 l -372.88336 177.66249 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -372.88336 177.66249 m -372.4617 177.79427 l -372.409 177.50438 l -371.77652 178.24226 l -371.88196 178.69025 l -371.5657 178.58484 l -371.14407 178.11049 l -370.5116 177.82062 l -370.66971 177.55708 l -370.88055 176.76649 l -371.35489 176.42392 l -371.61841 176.29214 l -372.04007 176.52933 l -372.25089 176.74014 l -372.72522 176.89827 l -373.25229 177.18814 l -373.14688 177.31992 l -372.88336 177.66249 l -h -S -/DeviceRGB {} CS -[0.9608 0.5647 0.2667] SC -/DeviceRGB {} cs -[0.9608 0.5647 0.2667] sc -340.31131 188.51984 m -340.89108 189.44218 l -340.94379 190.33818 l -341.47083 191.89299 l -341.83978 192.20923 l -341.57623 192.76263 l -339.67883 193.02617 l -338.99368 193.55322 l -338.15039 193.68498 l -338.09769 194.76546 l -336.4111 195.34521 l -335.83133 196.08308 l -334.61911 196.47838 l -333.14337 196.68921 l -330.82431 197.76967 l -330.82431 199.50896 l -330.61349 199.50896 l -330.61349 200.29953 l -329.7175 200.35223 l -329.24313 200.66847 l -328.55798 200.66847 l -328.03091 200.48401 l -326.8187 200.64212 l -326.34433 201.77528 l -325.87 201.88071 l -325.18481 203.75175 l -323.18201 205.30656 l -322.70764 207.33572 l -322.0752 207.99455 l -321.91708 208.52161 l -318.59662 208.65337 l -318.59662 208.62701 l -318.64932 207.9682 l -319.2291 207.57291 l -319.70343 206.80867 l -319.59802 206.30797 l -320.12509 205.28021 l -320.91568 204.33151 l -321.39001 204.09433 l -321.81165 203.25105 l -321.81165 202.46046 l -322.33871 201.56447 l -323.34012 201.03741 l -324.28882 199.53531 l -324.28882 199.50896 l -325.0267 198.95554 l -326.39703 198.79742 l -327.55658 197.79602 l -328.29443 197.40073 l -329.50668 196.18851 l -329.13773 194.37016 l -329.66479 193.10522 l -329.87561 192.34099 l -330.82431 191.33958 l -332.30008 190.68077 l -333.40689 190.07466 l -334.35559 188.54619 l -334.82993 187.65019 l -335.88403 187.65019 l -336.78003 188.28267 l -338.15039 188.17726 l -339.67883 188.49348 l -340.31131 188.51984 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -340.31131 188.51984 m -340.89108 189.44218 l -340.94379 190.33818 l -341.47083 191.89299 l -341.83978 192.20923 l -341.57623 192.76263 l -339.67883 193.02617 l -338.99368 193.55322 l -338.15039 193.68498 l -338.09769 194.76546 l -336.4111 195.34521 l -335.83133 196.08308 l -334.61911 196.47838 l -333.14337 196.68921 l -330.82431 197.76967 l -330.82431 199.50896 l -330.61349 199.50896 l -330.61349 200.29953 l -329.7175 200.35223 l -329.24313 200.66847 l -328.55798 200.66847 l -328.03091 200.48401 l -326.8187 200.64212 l -326.34433 201.77528 l -325.87 201.88071 l -325.18481 203.75175 l -323.18201 205.30656 l -322.70764 207.33572 l -322.0752 207.99455 l -321.91708 208.52161 l -318.59662 208.65337 l -318.59662 208.62701 l -318.64932 207.9682 l -319.2291 207.57291 l -319.70343 206.80867 l -319.59802 206.30797 l -320.12509 205.28021 l -320.91568 204.33151 l -321.39001 204.09433 l -321.81165 203.25105 l -321.81165 202.46046 l -322.33871 201.56447 l -323.34012 201.03741 l -324.28882 199.53531 l -324.28882 199.50896 l -325.0267 198.95554 l -326.39703 198.79742 l -327.55658 197.79602 l -328.29443 197.40073 l -329.50668 196.18851 l -329.13773 194.37016 l -329.66479 193.10522 l -329.87561 192.34099 l -330.82431 191.33958 l -332.30008 190.68077 l -333.40689 190.07466 l -334.35559 188.54619 l -334.82993 187.65019 l -335.88403 187.65019 l -336.78003 188.28267 l -338.15039 188.17726 l -339.67883 188.49348 l -340.31131 188.51984 l -h -S -/DeviceRGB {} CS -[0.1647 0.0196 0.5765] SC -/DeviceRGB {} cs -[0.1647 0.0196 0.5765] sc -394.07098 256.8526 m -395.1778 256.74719 l -396.96979 257.16882 l -397.33875 256.98438 l -398.34015 256.93167 l -398.86719 256.48367 l -399.76318 256.51001 l -401.34436 255.9566 l -402.50388 255.11333 l -402.7674 255.77214 l -402.71469 257.22156 l -402.8728 258.51282 l -402.92554 260.77917 l -403.18906 261.51706 l -402.7674 262.5448 l -402.18765 263.57257 l -401.23895 264.46857 l -399.9213 265.02197 l -398.28745 265.73349 l -396.60086 267.31467 l -396.07379 267.57819 l -395.01968 268.63229 l -394.43994 268.97488 l -394.2818 270.00266 l -395.01968 271.10947 l -395.2832 271.9791 l -395.2832 272.40076 l -395.54675 272.34805 l -395.49405 273.77109 l -395.2832 274.45627 l -395.59946 274.69345 l -395.38864 275.3259 l -394.80887 275.8266 l -393.59665 276.3273 l -391.80466 277.11789 l -391.17218 277.6713 l -391.33029 278.2774 l -391.69925 278.38281 l -391.54111 279.14706 l -390.4343 279.14706 l -390.32889 278.48825 l -390.11807 277.82941 l -389.95996 277.30237 l -390.22348 275.66849 l -389.85455 274.64072 l -389.16937 272.58521 l -390.69785 270.92499 l -391.06677 269.84451 l -391.33029 269.71277 l -391.4884 268.86948 l -391.22488 268.42148 l -391.27759 267.341 l -391.59384 266.31326 l -391.59384 264.46857 l -390.80325 263.9942 l -390.11807 263.88879 l -389.80185 263.51987 l -389.11667 263.22998 l -387.90445 263.25632 l -387.79901 262.70291 l -387.6936 261.6488 l -392.12088 260.46292 l -392.96417 261.1481 l -393.3858 261.01636 l -393.96558 261.38528 l -394.01828 261.99139 l -393.70206 262.65021 l -393.80746 263.67798 l -394.80887 264.60031 l -395.2305 263.57257 l -395.86298 263.28268 l -395.75757 261.38528 l -395.12509 260.33118 l -394.59805 259.85681 l -394.07098 259.88318 l -393.70206 257.98578 l -394.07098 256.8526 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -394.07098 256.8526 m -395.1778 256.74719 l -396.96979 257.16882 l -397.33875 256.98438 l -398.34015 256.93167 l -398.86719 256.48367 l -399.76318 256.51001 l -401.34436 255.9566 l -402.50388 255.11333 l -402.7674 255.77214 l -402.71469 257.22156 l -402.8728 258.51282 l -402.92554 260.77917 l -403.18906 261.51706 l -402.7674 262.5448 l -402.18765 263.57257 l -401.23895 264.46857 l -399.9213 265.02197 l -398.28745 265.73349 l -396.60086 267.31467 l -396.07379 267.57819 l -395.01968 268.63229 l -394.43994 268.97488 l -394.2818 270.00266 l -395.01968 271.10947 l -395.2832 271.9791 l -395.2832 272.40076 l -395.54675 272.34805 l -395.49405 273.77109 l -395.2832 274.45627 l -395.59946 274.69345 l -395.38864 275.3259 l -394.80887 275.8266 l -393.59665 276.3273 l -391.80466 277.11789 l -391.17218 277.6713 l -391.33029 278.2774 l -391.69925 278.38281 l -391.54111 279.14706 l -390.4343 279.14706 l -390.32889 278.48825 l -390.11807 277.82941 l -389.95996 277.30237 l -390.22348 275.66849 l -389.85455 274.64072 l -389.16937 272.58521 l -390.69785 270.92499 l -391.06677 269.84451 l -391.33029 269.71277 l -391.4884 268.86948 l -391.22488 268.42148 l -391.27759 267.341 l -391.59384 266.31326 l -391.59384 264.46857 l -390.80325 263.9942 l -390.11807 263.88879 l -389.80185 263.51987 l -389.11667 263.22998 l -387.90445 263.25632 l -387.79901 262.70291 l -387.6936 261.6488 l -392.12088 260.46292 l -392.96417 261.1481 l -393.3858 261.01636 l -393.96558 261.38528 l -394.01828 261.99139 l -393.70206 262.65021 l -393.80746 263.67798 l -394.80887 264.60031 l -395.2305 263.57257 l -395.86298 263.28268 l -395.75757 261.38528 l -395.12509 260.33118 l -394.59805 259.85681 l -394.07098 259.88318 l -393.70206 257.98578 l -394.07098 256.8526 l -h -S -/DeviceRGB {} CS -[0.8157 0.302 0.451] SC -/DeviceRGB {} cs -[0.8157 0.302 0.451] sc -490.04782 210.10277 m -489.20453 210.44536 l -488.36124 211.07782 l -487.30713 211.15688 l -486.67465 212.73805 l -486.04221 213.00157 l -486.78006 214.29286 l -487.67606 215.34697 l -488.30853 216.32202 l -487.72876 217.58696 l -487.25443 217.85049 l -487.57065 218.58836 l -488.57205 219.74789 l -488.73019 220.56482 l -488.73019 221.25 l -489.30994 222.59399 l -488.46664 223.96432 l -487.78149 225.46645 l -487.62335 224.35962 l -488.09772 223.25281 l -487.57065 222.38316 l -487.72876 220.802 l -487.09631 220.03777 l -486.62195 218.27213 l -486.35843 216.42743 l -485.72595 215.21521 l -484.77725 215.95308 l -483.0907 217.0072 l -482.30011 216.87543 l -481.40411 216.53285 l -481.87845 214.71451 l -481.56223 213.34416 l -480.45541 211.65758 l -480.61353 211.13052 l -479.77023 210.94606 l -478.71613 209.73383 l -478.61072 208.57431 l -479.13776 208.78513 l -479.13776 207.73102 l -479.87564 207.38843 l -479.71753 206.75597 l -480.08646 206.25526 l -480.13916 204.75316 l -481.246 205.09573 l -481.93115 203.88351 l -481.98386 203.17198 l -482.77444 201.93341 l -482.77444 201.09012 l -484.67184 200.08871 l -485.67325 200.35223 l -485.56784 199.45624 l -486.09491 199.19272 l -485.9895 198.63931 l -486.83279 198.50754 l -487.30713 199.37718 l -487.93961 199.71977 l -487.99231 200.85294 l -487.93961 202.06517 l -486.56924 203.2774 l -486.35843 205.01668 l -487.93961 204.77951 l -488.25583 206.1235 l -489.20453 206.41338 l -488.7829 207.62561 l -489.88971 208.17902 l -490.52216 208.44255 l -491.57629 208.0209 l -491.629 208.62701 l -490.36404 209.57571 l -490.04782 210.10277 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -490.04782 210.10277 m -489.20453 210.44536 l -488.36124 211.07782 l -487.30713 211.15688 l -486.67465 212.73805 l -486.04221 213.00157 l -486.78006 214.29286 l -487.67606 215.34697 l -488.30853 216.32202 l -487.72876 217.58696 l -487.25443 217.85049 l -487.57065 218.58836 l -488.57205 219.74789 l -488.73019 220.56482 l -488.73019 221.25 l -489.30994 222.59399 l -488.46664 223.96432 l -487.78149 225.46645 l -487.62335 224.35962 l -488.09772 223.25281 l -487.57065 222.38316 l -487.72876 220.802 l -487.09631 220.03777 l -486.62195 218.27213 l -486.35843 216.42743 l -485.72595 215.21521 l -484.77725 215.95308 l -483.0907 217.0072 l -482.30011 216.87543 l -481.40411 216.53285 l -481.87845 214.71451 l -481.56223 213.34416 l -480.45541 211.65758 l -480.61353 211.13052 l -479.77023 210.94606 l -478.71613 209.73383 l -478.61072 208.57431 l -479.13776 208.78513 l -479.13776 207.73102 l -479.87564 207.38843 l -479.71753 206.75597 l -480.08646 206.25526 l -480.13916 204.75316 l -481.246 205.09573 l -481.93115 203.88351 l -481.98386 203.17198 l -482.77444 201.93341 l -482.77444 201.09012 l -484.67184 200.08871 l -485.67325 200.35223 l -485.56784 199.45624 l -486.09491 199.19272 l -485.9895 198.63931 l -486.83279 198.50754 l -487.30713 199.37718 l -487.93961 199.71977 l -487.99231 200.85294 l -487.93961 202.06517 l -486.56924 203.2774 l -486.35843 205.01668 l -487.93961 204.77951 l -488.25583 206.1235 l -489.20453 206.41338 l -488.7829 207.62561 l -489.88971 208.17902 l -490.52216 208.44255 l -491.57629 208.0209 l -491.629 208.62701 l -490.36404 209.57571 l -490.04782 210.10277 l -h -S -/DeviceRGB {} CS -[0.5765 0.0706 0.6275] SC -/DeviceRGB {} cs -[0.5765 0.0706 0.6275] sc -372.61981 276.24826 m -372.61981 281.67691 l -371.30219 282.41479 l -370.5116 282.5202 l -369.6156 282.23035 l -368.93042 282.12491 l -368.7196 281.5188 l -368.13986 281.09717 l -367.40198 281.83505 l -366.34787 280.72821 l -365.7681 279.64777 l -365.45187 278.2247 l -365.08292 277.17059 l -364.60858 274.9306 l -364.55588 273.16498 l -364.39777 272.37439 l -363.81799 271.76828 l -363.0274 270.55606 l -362.28952 268.79041 l -361.9733 267.86807 l -360.76108 266.44501 l -360.65567 265.3382 l -361.39352 265.04831 l -362.23682 264.81116 l -363.18552 264.83749 l -364.08151 265.49631 l -364.29236 265.3909 l -370.24808 265.3382 l -371.24948 266.04971 l -374.78076 266.26056 l -377.46875 265.65442 l -378.68097 265.31186 l -379.62967 265.3909 l -380.20941 265.73349 l -380.20941 265.86526 l -379.41885 266.18149 l -378.94449 266.18149 l -377.99579 266.76126 l -377.46875 266.15512 l -375.20239 266.68219 l -374.09558 266.70856 l -374.04288 271.92639 l -372.61981 271.9791 l -372.61981 276.24826 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -372.61981 276.24826 m -372.61981 281.67691 l -371.30219 282.41479 l -370.5116 282.5202 l -369.6156 282.23035 l -368.93042 282.12491 l -368.7196 281.5188 l -368.13986 281.09717 l -367.40198 281.83505 l -366.34787 280.72821 l -365.7681 279.64777 l -365.45187 278.2247 l -365.08292 277.17059 l -364.60858 274.9306 l -364.55588 273.16498 l -364.39777 272.37439 l -363.81799 271.76828 l -363.0274 270.55606 l -362.28952 268.79041 l -361.9733 267.86807 l -360.76108 266.44501 l -360.65567 265.3382 l -361.39352 265.04831 l -362.23682 264.81116 l -363.18552 264.83749 l -364.08151 265.49631 l -364.29236 265.3909 l -370.24808 265.3382 l -371.24948 266.04971 l -374.78076 266.26056 l -377.46875 265.65442 l -378.68097 265.31186 l -379.62967 265.3909 l -380.20941 265.73349 l -380.20941 265.86526 l -379.41885 266.18149 l -378.94449 266.18149 l -377.99579 266.76126 l -377.46875 266.15512 l -375.20239 266.68219 l -374.09558 266.70856 l -374.04288 271.92639 l -372.61981 271.9791 l -372.61981 276.24826 l -h -S -/DeviceRGB {} CS -[0.851 0.349 0.4157] SC -/DeviceRGB {} cs -[0.851 0.349 0.4157] sc -472.49686 199.19272 m -472.39145 199.82518 l -472.60226 200.74753 l -472.39145 201.32729 l -471.17923 201.35365 l -469.43994 201.01106 l -468.28043 200.8793 l -467.43713 200.14142 l -465.43433 199.9306 l -463.53693 199.11366 l -462.16656 198.40213 l -460.74353 197.84872 l -461.32327 196.47838 l -462.21927 195.81956 l -462.85175 195.47697 l -464.01126 195.92497 l -465.48703 196.87367 l -466.33032 197.08449 l -466.80466 197.76967 l -467.9642 198.05956 l -469.12372 198.71837 l -470.8103 199.06096 l -472.49686 199.19272 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -472.49686 199.19272 m -472.39145 199.82518 l -472.60226 200.74753 l -472.39145 201.32729 l -471.17923 201.35365 l -469.43994 201.01106 l -468.28043 200.8793 l -467.43713 200.14142 l -465.43433 199.9306 l -463.53693 199.11366 l -462.16656 198.40213 l -460.74353 197.84872 l -461.32327 196.47838 l -462.21927 195.81956 l -462.85175 195.47697 l -464.01126 195.92497 l -465.48703 196.87367 l -466.33032 197.08449 l -466.80466 197.76967 l -467.9642 198.05956 l -469.12372 198.71837 l -470.8103 199.06096 l -472.49686 199.19272 l -h -S -/DeviceRGB {} CS -[0.9725 0.8667 0.1412] SC -/DeviceRGB {} cs -[0.9725 0.8667 0.1412] sc -353.59311 161.719055 m -353.85663 162.193405 l -353.54041 163.537399 l -353.17148 164.090805 l -352.27548 164.090805 l -352.539 165.619278 l -351.69571 165.276688 l -350.79971 164.644226 l -349.42938 164.960449 l -348.37527 164.82869 l -349.11313 164.433395 l -350.37808 162.272476 l -352.38089 161.666351 l -353.59311 161.719055 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -353.59311 161.719055 m -353.85663 162.193405 l -353.54041 163.537399 l -353.17148 164.090805 l -352.27548 164.090805 l -352.539 165.619278 l -351.69571 165.276688 l -350.79971 164.644226 l -349.42938 164.960449 l -348.37527 164.82869 l -349.11313 164.433395 l -350.37808 162.272476 l -352.38089 161.666351 l -353.59311 161.719055 l -h -S -/DeviceRGB {} CS -[0.9686 0.8824 0.1412] SC -/DeviceRGB {} cs -[0.9686 0.8824 0.1412] sc -602.46881 298.6481 m -601.88904 299.43869 l -601.15112 300.44009 l -600.04431 301.01987 l -599.78082 300.65094 l -599.14832 300.44009 l -599.99164 299.22787 l -599.51727 298.41095 l -597.9361 297.83118 l -597.98883 297.30414 l -599.04291 296.80341 l -599.30646 295.67026 l -599.25372 294.72156 l -598.62128 293.74649 l -598.67401 293.48297 l -597.98883 292.87686 l -596.82928 291.58557 l -596.19684 290.5578 l -596.77661 290.42606 l -597.56714 291.24298 l -598.67401 291.61191 l -599.09564 292.92957 l -600.14972 294.45804 l -600.20245 293.48297 l -600.88763 293.87827 l -601.09845 294.98508 l -602.25793 295.45944 l -603.25934 295.56485 l -604.10266 295.01144 l -604.84052 295.16956 l -604.47162 296.48718 l -604.04993 297.33047 l -602.89044 297.30414 l -602.52148 297.75214 l -602.67963 298.38458 l -602.46881 298.6481 l -h -591.87494 303.76056 m -593.13989 302.99634 l -593.98322 302.23209 l -594.66833 301.15164 l -595.19543 300.78268 l -595.45892 299.96576 l -596.46033 299.28058 l -596.77661 299.91306 l -597.09283 300.4928 l -598.14691 299.91306 l -598.5686 300.51917 l -598.5686 301.15164 l -598.0415 301.83679 l -597.09283 302.8909 l -596.35492 303.49704 l -596.88202 304.20856 l -595.72247 304.20856 l -594.51025 304.76196 l -594.08862 305.737 l -593.2453 307.21277 l -592.13849 307.87158 l -591.40063 308.26688 l -590.03027 308.24054 l -589.08154 307.76617 l -587.50043 307.66077 l -587.23688 307.1337 l -588.02747 306.02689 l -589.87213 304.60385 l -590.82086 304.31396 l -591.87494 303.76056 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -602.46881 298.6481 m -601.88904 299.43869 l -601.15112 300.44009 l -600.04431 301.01987 l -599.78082 300.65094 l -599.14832 300.44009 l -599.99164 299.22787 l -599.51727 298.41095 l -597.9361 297.83118 l -597.98883 297.30414 l -599.04291 296.80341 l -599.30646 295.67026 l -599.25372 294.72156 l -598.62128 293.74649 l -598.67401 293.48297 l -597.98883 292.87686 l -596.82928 291.58557 l -596.19684 290.5578 l -596.77661 290.42606 l -597.56714 291.24298 l -598.67401 291.61191 l -599.09564 292.92957 l -600.14972 294.45804 l -600.20245 293.48297 l -600.88763 293.87827 l -601.09845 294.98508 l -602.25793 295.45944 l -603.25934 295.56485 l -604.10266 295.01144 l -604.84052 295.16956 l -604.47162 296.48718 l -604.04993 297.33047 l -602.89044 297.30414 l -602.52148 297.75214 l -602.67963 298.38458 l -602.46881 298.6481 l -h -591.87494 303.76056 m -593.13989 302.99634 l -593.98322 302.23209 l -594.66833 301.15164 l -595.19543 300.78268 l -595.45892 299.96576 l -596.46033 299.28058 l -596.77661 299.91306 l -597.09283 300.4928 l -598.14691 299.91306 l -598.5686 300.51917 l -598.5686 301.15164 l -598.0415 301.83679 l -597.09283 302.8909 l -596.35492 303.49704 l -596.88202 304.20856 l -595.72247 304.20856 l -594.51025 304.76196 l -594.08862 305.737 l -593.2453 307.21277 l -592.13849 307.87158 l -591.40063 308.26688 l -590.03027 308.24054 l -589.08154 307.76617 l -587.50043 307.66077 l -587.23688 307.1337 l -588.02747 306.02689 l -589.87213 304.60385 l -590.82086 304.31396 l -591.87494 303.76056 l -h -S -/DeviceRGB {} CS -[0.9843 0.6196 0.2314] SC -/DeviceRGB {} cs -[0.9843 0.6196 0.2314] sc -221.03862 223.99069 m -220.66968 224.30692 l -220.24805 224.20151 l -220.03722 223.88527 l -219.56287 223.77986 l -219.19392 223.96432 l -218.24522 223.56905 l -218.03441 223.77986 l -217.50735 223.30551 l -216.82217 222.72575 l -216.50595 222.22505 l -215.87347 221.7507 l -215.18831 221.09187 l -215.34642 220.88106 l -215.55725 221.09187 l -215.66266 220.98647 l -216.13701 220.93376 l -216.29512 220.59117 l -216.50595 220.59117 l -216.50595 219.8533 l -216.82217 219.82695 l -217.13841 219.8533 l -217.45465 219.45801 l -217.8763 219.74789 l -218.03441 219.56342 l -218.29793 219.37895 l -218.825 218.98366 l -218.825 218.69377 l -218.98311 218.69377 l -219.19392 218.3512 l -219.35205 218.29848 l -219.56287 218.53566 l -219.8791 218.58836 l -220.19533 218.4039 l -220.56427 218.4039 l -221.09132 218.21942 l -221.30215 218.00861 l -221.7765 218.03496 l -221.6711 218.19307 l -221.56567 218.50931 l -221.7238 219.06271 l -221.40756 219.53706 l -221.24945 220.14317 l -221.19675 220.77565 l -221.24945 221.17094 l -221.30215 221.82976 l -221.09132 221.96152 l -220.93321 222.59399 l -221.03862 222.98927 l -220.7224 223.35822 l -220.8278 223.75351 l -221.03862 223.99069 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -221.03862 223.99069 m -220.66968 224.30692 l -220.24805 224.20151 l -220.03722 223.88527 l -219.56287 223.77986 l -219.19392 223.96432 l -218.24522 223.56905 l -218.03441 223.77986 l -217.50735 223.30551 l -216.82217 222.72575 l -216.50595 222.22505 l -215.87347 221.7507 l -215.18831 221.09187 l -215.34642 220.88106 l -215.55725 221.09187 l -215.66266 220.98647 l -216.13701 220.93376 l -216.29512 220.59117 l -216.50595 220.59117 l -216.50595 219.8533 l -216.82217 219.82695 l -217.13841 219.8533 l -217.45465 219.45801 l -217.8763 219.74789 l -218.03441 219.56342 l -218.29793 219.37895 l -218.825 218.98366 l -218.825 218.69377 l -218.98311 218.69377 l -219.19392 218.3512 l -219.35205 218.29848 l -219.56287 218.53566 l -219.8791 218.58836 l -220.19533 218.4039 l -220.56427 218.4039 l -221.09132 218.21942 l -221.30215 218.00861 l -221.7765 218.03496 l -221.6711 218.19307 l -221.56567 218.50931 l -221.7238 219.06271 l -221.40756 219.53706 l -221.24945 220.14317 l -221.19675 220.77565 l -221.24945 221.17094 l -221.30215 221.82976 l -221.09132 221.96152 l -220.93321 222.59399 l -221.03862 222.98927 l -220.7224 223.35822 l -220.8278 223.75351 l -221.03862 223.99069 l -h -S -/DeviceRGB {} CS -[0.6902 0.1686 0.5608] SC -/DeviceRGB {} cs -[0.6902 0.1686 0.5608] sc -365.24106 206.51878 m -365.60999 208.81148 l -366.13705 209.18042 l -366.18976 209.65477 l -366.7695 210.15547 l -366.45328 210.78795 l -365.8735 213.76581 l -365.8208 215.66321 l -363.9761 217.03355 l -363.34366 218.95731 l -363.9234 219.51071 l -363.9234 220.45941 l -364.8721 220.48576 l -364.71399 221.17094 l -364.29236 221.25 l -364.23962 221.72435 l -363.9761 221.7507 l -362.9747 220.14317 l -362.65848 220.09047 l -361.49896 220.90741 l -360.39212 220.48576 l -359.60156 220.40671 l -359.1799 220.61752 l -358.28391 220.56482 l -357.44061 221.1973 l -356.70276 221.22365 l -354.91077 220.45941 l -354.22559 220.82835 l -353.4877 220.802 l -352.96066 220.2486 l -351.48489 219.69518 l -349.90372 219.87965 l -349.53479 220.19588 l -349.32397 221.03917 l -348.90231 221.61894 l -348.79691 222.93657 l -347.69009 222.09329 l -347.16302 222.09329 l -346.63599 222.51492 l -346.68869 221.51352 l -345.00211 221.1973 l -344.9494 220.48576 l -344.10611 219.51071 l -343.948 218.8519 l -344.05341 218.14037 l -345.00211 218.08766 l -345.52917 217.56061 l -347.53198 217.4552 l -348.84961 217.21802 l -348.95502 216.29567 l -349.74561 215.32062 l -349.74561 211.94746 l -351.80112 211.315 l -356.07028 208.44255 l -361.0773 205.64915 l -363.39636 206.28162 l -364.18692 207.0722 l -365.24106 206.51878 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -365.24106 206.51878 m -365.60999 208.81148 l -366.13705 209.18042 l -366.18976 209.65477 l -366.7695 210.15547 l -366.45328 210.78795 l -365.8735 213.76581 l -365.8208 215.66321 l -363.9761 217.03355 l -363.34366 218.95731 l -363.9234 219.51071 l -363.9234 220.45941 l -364.8721 220.48576 l -364.71399 221.17094 l -364.29236 221.25 l -364.23962 221.72435 l -363.9761 221.7507 l -362.9747 220.14317 l -362.65848 220.09047 l -361.49896 220.90741 l -360.39212 220.48576 l -359.60156 220.40671 l -359.1799 220.61752 l -358.28391 220.56482 l -357.44061 221.1973 l -356.70276 221.22365 l -354.91077 220.45941 l -354.22559 220.82835 l -353.4877 220.802 l -352.96066 220.2486 l -351.48489 219.69518 l -349.90372 219.87965 l -349.53479 220.19588 l -349.32397 221.03917 l -348.90231 221.61894 l -348.79691 222.93657 l -347.69009 222.09329 l -347.16302 222.09329 l -346.63599 222.51492 l -346.68869 221.51352 l -345.00211 221.1973 l -344.9494 220.48576 l -344.10611 219.51071 l -343.948 218.8519 l -344.05341 218.14037 l -345.00211 218.08766 l -345.52917 217.56061 l -347.53198 217.4552 l -348.84961 217.21802 l -348.95502 216.29567 l -349.74561 215.32062 l -349.74561 211.94746 l -351.80112 211.315 l -356.07028 208.44255 l -361.0773 205.64915 l -363.39636 206.28162 l -364.18692 207.0722 l -365.24106 206.51878 l -h -S -/DeviceRGB {} CS -[0.3647 0.0078 0.6431] SC -/DeviceRGB {} cs -[0.3647 0.0078 0.6431] sc -347.42657 230.84241 m -347.53198 228.47066 l -347.47928 227.54831 l -347.7428 226.62596 l -348.21716 226.17796 l -348.90231 225.25562 l -348.7442 224.88667 l -349.06042 224.28056 l -348.7442 223.41092 l -348.79691 222.93657 l -348.90231 221.61894 l -349.32397 221.03917 l -349.53479 220.19588 l -349.90372 219.87965 l -351.48489 219.69518 l -352.96066 220.2486 l -353.4877 220.802 l -354.22559 220.82835 l -354.91077 220.45941 l -356.70276 221.22365 l -357.44061 221.1973 l -358.28391 220.56482 l -359.1799 220.61752 l -359.60156 220.40671 l -360.39212 220.48576 l -361.49896 220.90741 l -362.65848 220.09047 l -362.9747 220.14317 l -363.9761 221.7507 l -364.23962 221.72435 l -364.8194 222.30411 l -364.66129 222.56764 l -364.60858 223.06834 l -363.34366 224.20151 l -362.9747 225.12386 l -362.76389 225.88809 l -362.44766 226.20432 l -362.18411 227.23207 l -361.39352 227.8382 l -361.18271 228.57607 l -360.81378 229.18219 l -360.70837 229.7883 l -359.70697 230.26265 l -358.86368 229.68289 l -358.33661 229.68289 l -357.44061 230.55252 l -357.01898 230.57889 l -356.3338 231.97557 l -355.96487 233.00334 l -354.4364 233.5304 l -353.85663 233.45134 l -353.32959 233.79391 l -352.11737 233.76756 l -351.32678 232.84521 l -350.85242 231.79111 l -349.85101 230.81606 l -348.7442 230.84241 l -347.42657 230.84241 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -347.42657 230.84241 m -347.53198 228.47066 l -347.47928 227.54831 l -347.7428 226.62596 l -348.21716 226.17796 l -348.90231 225.25562 l -348.7442 224.88667 l -349.06042 224.28056 l -348.7442 223.41092 l -348.79691 222.93657 l -348.90231 221.61894 l -349.32397 221.03917 l -349.53479 220.19588 l -349.90372 219.87965 l -351.48489 219.69518 l -352.96066 220.2486 l -353.4877 220.802 l -354.22559 220.82835 l -354.91077 220.45941 l -356.70276 221.22365 l -357.44061 221.1973 l -358.28391 220.56482 l -359.1799 220.61752 l -359.60156 220.40671 l -360.39212 220.48576 l -361.49896 220.90741 l -362.65848 220.09047 l -362.9747 220.14317 l -363.9761 221.7507 l -364.23962 221.72435 l -364.8194 222.30411 l -364.66129 222.56764 l -364.60858 223.06834 l -363.34366 224.20151 l -362.9747 225.12386 l -362.76389 225.88809 l -362.44766 226.20432 l -362.18411 227.23207 l -361.39352 227.8382 l -361.18271 228.57607 l -360.81378 229.18219 l -360.70837 229.7883 l -359.70697 230.26265 l -358.86368 229.68289 l -358.33661 229.68289 l -357.44061 230.55252 l -357.01898 230.57889 l -356.3338 231.97557 l -355.96487 233.00334 l -354.4364 233.5304 l -353.85663 233.45134 l -353.32959 233.79391 l -352.11737 233.76756 l -351.32678 232.84521 l -350.85242 231.79111 l -349.85101 230.81606 l -348.7442 230.84241 l -347.42657 230.84241 l -h -S -/DeviceRGB {} CS -[0.9686 0.8824 0.1412] SC -/DeviceRGB {} cs -[0.9686 0.8824 0.1412] sc -365.66269 123.375763 m -366.24246 122.875061 l -368.35068 122.822357 l -370.19537 123.323059 l -375.04428 124.403526 l -371.35489 124.983284 l -370.5643 126.063751 l -369.24667 126.35363 l -368.56149 127.565857 l -366.7695 127.618561 l -363.65988 126.722565 l -364.97751 126.195511 l -362.76389 125.773865 l -359.91779 124.535286 l -358.81097 123.402115 l -362.76389 122.875061 l -363.60718 123.375763 l -365.66269 123.375763 l -h -389.01126 138.186035 m -386.53409 138.765793 l -385.37457 138.897552 l -385.95435 137.869797 l -384.10965 137.290039 l -381.84329 137.790741 l -381.10541 138.844849 l -379.73508 139.503662 l -378.1539 139.161087 l -376.2038 139.213791 l -374.62265 138.449554 l -373.72665 138.844849 l -372.83066 138.897552 l -372.61981 139.846252 l -369.82642 139.635437 l -369.45749 140.452362 l -368.03445 140.42601 l -367.08575 141.480133 l -365.60999 143.087646 l -363.34366 145.16951 l -363.8707 145.670212 l -363.34366 146.249985 l -361.92059 146.223633 l -360.97189 147.593964 l -361.0773 149.517731 l -361.9733 150.281952 l -361.49896 151.994888 l -360.28671 152.996292 l -359.65427 153.839584 l -358.65286 152.943588 l -355.75403 154.630157 l -353.80392 154.972748 l -351.80112 154.234879 l -351.27408 152.653702 l -350.79971 149.280548 l -352.17007 148.331848 l -356.01758 147.119614 l -358.91638 145.591156 l -361.60437 143.561996 l -365.08292 140.742249 l -367.56009 139.635437 l -371.5657 137.790741 l -374.78076 137.158264 l -377.2052 137.237335 l -379.41885 136.025101 l -382.10681 136.077805 l -384.7421 135.787918 l -389.32748 136.868393 l -387.43008 137.263687 l -389.01126 138.186035 l -h -383.63528 122.796005 m -381.47437 123.586586 l -377.2052 123.771057 l -372.88336 123.533882 l -372.61981 123.112236 l -370.5116 123.085884 l -368.93042 122.427063 l -373.4631 122.005417 l -375.57135 122.374359 l -377.04709 121.926361 l -380.73648 122.295303 l -383.63528 122.796005 l -h -379.68237 126.037399 m -376.41461 126.617157 l -373.83206 126.300926 l -374.83347 125.905632 l -373.99017 125.431282 l -376.99438 125.141403 l -377.57416 125.694809 l -379.68237 126.037399 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -365.66269 123.375763 m -366.24246 122.875061 l -368.35068 122.822357 l -370.19537 123.323059 l -375.04428 124.403526 l -371.35489 124.983284 l -370.5643 126.063751 l -369.24667 126.35363 l -368.56149 127.565857 l -366.7695 127.618561 l -363.65988 126.722565 l -364.97751 126.195511 l -362.76389 125.773865 l -359.91779 124.535286 l -358.81097 123.402115 l -362.76389 122.875061 l -363.60718 123.375763 l -365.66269 123.375763 l -h -389.01126 138.186035 m -386.53409 138.765793 l -385.37457 138.897552 l -385.95435 137.869797 l -384.10965 137.290039 l -381.84329 137.790741 l -381.10541 138.844849 l -379.73508 139.503662 l -378.1539 139.161087 l -376.2038 139.213791 l -374.62265 138.449554 l -373.72665 138.844849 l -372.83066 138.897552 l -372.61981 139.846252 l -369.82642 139.635437 l -369.45749 140.452362 l -368.03445 140.42601 l -367.08575 141.480133 l -365.60999 143.087646 l -363.34366 145.16951 l -363.8707 145.670212 l -363.34366 146.249985 l -361.92059 146.223633 l -360.97189 147.593964 l -361.0773 149.517731 l -361.9733 150.281952 l -361.49896 151.994888 l -360.28671 152.996292 l -359.65427 153.839584 l -358.65286 152.943588 l -355.75403 154.630157 l -353.80392 154.972748 l -351.80112 154.234879 l -351.27408 152.653702 l -350.79971 149.280548 l -352.17007 148.331848 l -356.01758 147.119614 l -358.91638 145.591156 l -361.60437 143.561996 l -365.08292 140.742249 l -367.56009 139.635437 l -371.5657 137.790741 l -374.78076 137.158264 l -377.2052 137.237335 l -379.41885 136.025101 l -382.10681 136.077805 l -384.7421 135.787918 l -389.32748 136.868393 l -387.43008 137.263687 l -389.01126 138.186035 l -h -383.63528 122.796005 m -381.47437 123.586586 l -377.2052 123.771057 l -372.88336 123.533882 l -372.61981 123.112236 l -370.5116 123.085884 l -368.93042 122.427063 l -373.4631 122.005417 l -375.57135 122.374359 l -377.04709 121.926361 l -380.73648 122.295303 l -383.63528 122.796005 l -h -379.68237 126.037399 m -376.41461 126.617157 l -373.83206 126.300926 l -374.83347 125.905632 l -373.99017 125.431282 l -376.99438 125.141403 l -377.57416 125.694809 l -379.68237 126.037399 l -h -S -/DeviceRGB {} CS -[0.9882 0.7137 0.1843] SC -/DeviceRGB {} cs -[0.9882 0.7137 0.1843] sc -424.32397 206.75597 m -424.37668 206.17621 l -424.79834 205.57008 l -424.79834 204.96397 l -425.43079 204.6741 l -425.16727 204.46327 l -425.32538 203.51457 l -426.06326 203.51457 l -426.69574 204.51598 l -427.53903 205.04303 l -428.59314 205.22751 l -429.48914 205.49103 l -430.12158 206.33432 l -430.54324 206.83502 l -431.07028 207.0195 l -431.07028 207.33572 l -430.54324 208.20537 l -430.27972 208.62701 l -429.64725 209.10136 l -429.12018 210.10277 l -428.43503 210.02371 l -428.17148 210.3663 l -427.90796 211.10417 l -428.11877 212.07922 l -427.96066 212.2637 l -427.27548 212.2637 l -426.37949 212.81711 l -426.22137 213.52863 l -425.90515 213.81851 l -424.95645 213.81851 l -424.42938 214.18745 l -424.42938 214.76721 l -423.69153 215.18886 l -422.90094 215.0571 l -421.89954 215.53145 l -421.26706 215.63686 l -420.79269 214.6091 l -419.63318 212.18463 l -424.00775 210.73523 l -425.00916 207.78372 l -424.32397 206.75597 l -h -425.85245 202.35506 m -425.58893 201.85435 l -426.01056 201.35365 l -426.16867 201.48541 l -426.06326 202.09152 l -425.85245 202.35506 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -424.32397 206.75597 m -424.37668 206.17621 l -424.79834 205.57008 l -424.79834 204.96397 l -425.43079 204.6741 l -425.16727 204.46327 l -425.32538 203.51457 l -426.06326 203.51457 l -426.69574 204.51598 l -427.53903 205.04303 l -428.59314 205.22751 l -429.48914 205.49103 l -430.12158 206.33432 l -430.54324 206.83502 l -431.07028 207.0195 l -431.07028 207.33572 l -430.54324 208.20537 l -430.27972 208.62701 l -429.64725 209.10136 l -429.12018 210.10277 l -428.43503 210.02371 l -428.17148 210.3663 l -427.90796 211.10417 l -428.11877 212.07922 l -427.96066 212.2637 l -427.27548 212.2637 l -426.37949 212.81711 l -426.22137 213.52863 l -425.90515 213.81851 l -424.95645 213.81851 l -424.42938 214.18745 l -424.42938 214.76721 l -423.69153 215.18886 l -422.90094 215.0571 l -421.89954 215.53145 l -421.26706 215.63686 l -420.79269 214.6091 l -419.63318 212.18463 l -424.00775 210.73523 l -425.00916 207.78372 l -424.32397 206.75597 l -h -425.85245 202.35506 m -425.58893 201.85435 l -426.01056 201.35365 l -426.16867 201.48541 l -426.06326 202.09152 l -425.85245 202.35506 l -h -S -/DeviceRGB {} CS -[0.8824 0.3961 0.3804] SC -/DeviceRGB {} cs -[0.8824 0.3961 0.3804] sc -457.42307 188.04549 m -456.05273 189.25772 l -454.41885 189.49489 l -452.20523 189.12596 l -451.46735 189.75842 l -451.99442 191.04971 l -452.46875 192.02477 l -453.68097 192.76263 l -452.41605 193.60593 l -452.46875 194.66003 l -451.04572 196.10944 l -450.09702 197.61156 l -448.56854 199.14001 l -446.88196 199.03461 l -445.24808 200.56306 l -446.19678 201.22188 l -446.40762 202.35506 l -447.19818 203.09293 l -447.51443 204.33151 l -444.29938 204.33151 l -443.29797 205.30656 l -442.24387 204.93762 l -441.76953 203.88351 l -440.66272 202.7767 l -437.97473 203.06657 l -435.60297 203.09293 l -433.54745 203.2774 l -434.07452 201.59082 l -436.18274 200.82658 l -436.07733 200.16777 l -435.39215 199.9306 l -435.33945 198.63931 l -433.91638 197.98048 l -433.33664 197.11086 l -432.59875 196.32027 l -435.07593 197.08449 l -436.55167 196.87367 l -437.39496 197.05814 l -437.71118 196.71556 l -438.71259 196.84732 l -440.60999 196.24121 l -440.66272 195.00262 l -441.50598 194.18568 l -442.56012 194.18568 l -442.71823 193.76404 l -443.87775 193.57957 l -444.40482 193.71133 l -444.98456 193.28969 l -444.87915 192.42006 l -445.51163 191.52406 l -446.46033 191.15512 l -445.88055 190.20642 l -447.25092 190.23277 l -447.67255 189.70572 l -447.61984 189.15231 l -448.35773 188.54619 l -448.14688 187.80832 l -447.83066 187.20221 l -448.67395 186.54338 l -450.25513 186.25349 l -451.94171 186.06903 l -452.67957 185.80551 l -453.52286 185.64738 l -454.62967 186.33257 l -455.05133 187.43938 l -457.42307 188.04549 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -457.42307 188.04549 m -456.05273 189.25772 l -454.41885 189.49489 l -452.20523 189.12596 l -451.46735 189.75842 l -451.99442 191.04971 l -452.46875 192.02477 l -453.68097 192.76263 l -452.41605 193.60593 l -452.46875 194.66003 l -451.04572 196.10944 l -450.09702 197.61156 l -448.56854 199.14001 l -446.88196 199.03461 l -445.24808 200.56306 l -446.19678 201.22188 l -446.40762 202.35506 l -447.19818 203.09293 l -447.51443 204.33151 l -444.29938 204.33151 l -443.29797 205.30656 l -442.24387 204.93762 l -441.76953 203.88351 l -440.66272 202.7767 l -437.97473 203.06657 l -435.60297 203.09293 l -433.54745 203.2774 l -434.07452 201.59082 l -436.18274 200.82658 l -436.07733 200.16777 l -435.39215 199.9306 l -435.33945 198.63931 l -433.91638 197.98048 l -433.33664 197.11086 l -432.59875 196.32027 l -435.07593 197.08449 l -436.55167 196.87367 l -437.39496 197.05814 l -437.71118 196.71556 l -438.71259 196.84732 l -440.60999 196.24121 l -440.66272 195.00262 l -441.50598 194.18568 l -442.56012 194.18568 l -442.71823 193.76404 l -443.87775 193.57957 l -444.40482 193.71133 l -444.98456 193.28969 l -444.87915 192.42006 l -445.51163 191.52406 l -446.46033 191.15512 l -445.88055 190.20642 l -447.25092 190.23277 l -447.67255 189.70572 l -447.61984 189.15231 l -448.35773 188.54619 l -448.14688 187.80832 l -447.83066 187.20221 l -448.67395 186.54338 l -450.25513 186.25349 l -451.94171 186.06903 l -452.67957 185.80551 l -453.52286 185.64738 l -454.62967 186.33257 l -455.05133 187.43938 l -457.42307 188.04549 l -h -S -/DeviceRGB {} CS -[0.9882 0.7098 0.1882] SC -/DeviceRGB {} cs -[0.9882 0.7098 0.1882] sc -230.2621 227.31114 m -230.10397 227.52196 l -230.42021 228.3916 l -230.15669 228.81325 l -229.68234 228.70784 l -229.47151 229.41936 l -228.99716 228.99771 l -228.68092 228.20712 l -229.04987 227.81184 l -228.68092 227.73277 l -228.4174 227.23207 l -227.67952 226.83679 l -227.04706 226.91585 l -226.73082 227.4429 l -226.15106 227.81184 l -225.83482 227.86455 l -225.67671 228.15442 l -226.36189 228.94501 l -225.99295 229.12947 l -225.78212 229.36665 l -225.09695 229.41936 l -224.83342 228.54971 l -224.6226 228.81325 l -224.14825 228.70784 l -223.88472 228.12807 l -223.25226 228.02266 l -222.88332 227.86455 l -222.25085 227.86455 l -222.19815 228.18077 l -222.04002 227.96996 l -222.14545 227.68007 l -222.25085 227.36385 l -222.19815 227.10031 l -222.40897 226.9422 l -222.09273 226.70502 l -222.09273 226.12526 l -222.6725 225.9935 l -223.19955 226.52055 l -223.14685 226.83679 l -223.72661 226.8895 l -223.88472 226.78407 l -224.30637 227.12666 l -224.99155 227.02126 l -225.62401 226.65231 l -226.52 226.36244 l -226.99435 225.9408 l -227.83765 226.01985 l -227.78494 226.15161 l -228.57552 226.20432 l -229.20799 226.46785 l -229.73505 226.91585 l -230.2621 227.31114 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -230.2621 227.31114 m -230.10397 227.52196 l -230.42021 228.3916 l -230.15669 228.81325 l -229.68234 228.70784 l -229.47151 229.41936 l -228.99716 228.99771 l -228.68092 228.20712 l -229.04987 227.81184 l -228.68092 227.73277 l -228.4174 227.23207 l -227.67952 226.83679 l -227.04706 226.91585 l -226.73082 227.4429 l -226.15106 227.81184 l -225.83482 227.86455 l -225.67671 228.15442 l -226.36189 228.94501 l -225.99295 229.12947 l -225.78212 229.36665 l -225.09695 229.41936 l -224.83342 228.54971 l -224.6226 228.81325 l -224.14825 228.70784 l -223.88472 228.12807 l -223.25226 228.02266 l -222.88332 227.86455 l -222.25085 227.86455 l -222.19815 228.18077 l -222.04002 227.96996 l -222.14545 227.68007 l -222.25085 227.36385 l -222.19815 227.10031 l -222.40897 226.9422 l -222.09273 226.70502 l -222.09273 226.12526 l -222.6725 225.9935 l -223.19955 226.52055 l -223.14685 226.83679 l -223.72661 226.8895 l -223.88472 226.78407 l -224.30637 227.12666 l -224.99155 227.02126 l -225.62401 226.65231 l -226.52 226.36244 l -226.99435 225.9408 l -227.83765 226.01985 l -227.78494 226.15161 l -228.57552 226.20432 l -229.20799 226.46785 l -229.73505 226.91585 l -230.2621 227.31114 l -h -S -/DeviceRGB {} CS -[0.9686 0.5843 0.2549] SC -/DeviceRGB {} cs -[0.9686 0.5843 0.2549] sc -258.35416 269.52829 m -258.77582 270.34521 l -258.67041 272.34805 l -260.25156 272.61157 l -260.83133 272.32169 l -261.83273 272.71698 l -262.09625 273.16498 l -262.20166 274.50897 l -262.41248 275.06238 l -262.93954 275.14145 l -263.51932 274.90427 l -264.04636 275.16779 l -263.99365 275.95837 l -263.83554 276.828 l -263.51932 277.6713 l -263.30847 278.96259 l -261.99084 280.09576 l -260.83133 280.33295 l -259.14474 280.09576 l -257.66898 279.70047 l -259.14474 277.48685 l -258.93393 276.828 l -257.40546 276.2746 l -255.61348 275.19415 l -254.40125 274.95697 l -251.71326 272.55887 l -252.29303 270.81958 l -252.34573 270.02899 l -253.0309 268.7377 l -255.61348 268.31607 l -256.98383 268.34241 l -258.30145 269.08029 l -258.35416 269.52829 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -258.35416 269.52829 m -258.77582 270.34521 l -258.67041 272.34805 l -260.25156 272.61157 l -260.83133 272.32169 l -261.83273 272.71698 l -262.09625 273.16498 l -262.20166 274.50897 l -262.41248 275.06238 l -262.93954 275.14145 l -263.51932 274.90427 l -264.04636 275.16779 l -263.99365 275.95837 l -263.83554 276.828 l -263.51932 277.6713 l -263.30847 278.96259 l -261.99084 280.09576 l -260.83133 280.33295 l -259.14474 280.09576 l -257.66898 279.70047 l -259.14474 277.48685 l -258.93393 276.828 l -257.40546 276.2746 l -255.61348 275.19415 l -254.40125 274.95697 l -251.71326 272.55887 l -252.29303 270.81958 l -252.34573 270.02899 l -253.0309 268.7377 l -255.61348 268.31607 l -256.98383 268.34241 l -258.30145 269.08029 l -258.35416 269.52829 l -h -S -/DeviceRGB {} CS -[0.9647 0.5725 0.2627] SC -/DeviceRGB {} cs -[0.9647 0.5725 0.2627] sc -241.17215 246.28514 m -239.85451 246.23244 l -239.64369 246.44325 l -238.48416 246.73314 l -236.79759 247.73454 l -236.69217 248.39336 l -236.32324 248.92041 l -236.48135 249.711 l -235.58536 250.13264 l -235.58536 250.73875 l -235.21642 251.00229 l -235.79619 252.31993 l -236.58676 253.21593 l -236.32324 253.84839 l -237.27194 253.92744 l -237.8517 254.71803 l -239.11664 254.74438 l -240.32886 253.90109 l -240.22345 256.11472 l -240.90862 256.27286 l -241.6992 256.03568 l -242.96414 258.38107 l -242.6479 258.88177 l -242.5952 259.90952 l -242.5425 261.1481 l -242.01544 261.88599 l -242.27896 262.43939 l -241.91003 262.91376 l -242.5425 264.15231 l -241.6465 265.73349 l -241.22485 266.49771 l -240.48697 266.86667 l -239.01122 266.02338 l -238.90581 265.41727 l -236.007 263.9415 l -233.37172 262.36032 l -232.2122 261.43799 l -231.63245 260.22577 l -231.84326 259.80411 l -230.63104 257.88037 l -229.15527 255.19238 l -227.78494 252.26723 l -227.20517 251.6084 l -226.73082 250.52794 l -225.62401 249.57924 l -224.5699 248.97313 l -225.04425 248.34065 l -224.30637 246.94395 l -224.78072 245.9162 l -225.94025 244.99385 l -226.09836 245.59996 l -225.67671 245.94255 l -225.72942 246.4696 l -226.36189 246.3642 l -226.94165 246.52231 l -227.57411 247.26019 l -228.3647 246.65408 l -228.68092 245.67903 l -229.57692 244.38774 l -231.31621 243.80798 l -232.89737 242.27951 l -233.37172 241.33081 l -233.1609 240.224 l -233.52985 240.09224 l -234.53125 240.7774 l -235.0056 241.46259 l -235.69077 241.85786 l -236.53406 243.38634 l -237.64087 243.5708 l -238.43146 243.17551 l -238.95851 243.43904 l -239.85451 243.30728 l -240.96133 243.99245 l -240.01262 245.4682 l -240.43427 245.5209 l -241.17215 246.28514 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -241.17215 246.28514 m -239.85451 246.23244 l -239.64369 246.44325 l -238.48416 246.73314 l -236.79759 247.73454 l -236.69217 248.39336 l -236.32324 248.92041 l -236.48135 249.711 l -235.58536 250.13264 l -235.58536 250.73875 l -235.21642 251.00229 l -235.79619 252.31993 l -236.58676 253.21593 l -236.32324 253.84839 l -237.27194 253.92744 l -237.8517 254.71803 l -239.11664 254.74438 l -240.32886 253.90109 l -240.22345 256.11472 l -240.90862 256.27286 l -241.6992 256.03568 l -242.96414 258.38107 l -242.6479 258.88177 l -242.5952 259.90952 l -242.5425 261.1481 l -242.01544 261.88599 l -242.27896 262.43939 l -241.91003 262.91376 l -242.5425 264.15231 l -241.6465 265.73349 l -241.22485 266.49771 l -240.48697 266.86667 l -239.01122 266.02338 l -238.90581 265.41727 l -236.007 263.9415 l -233.37172 262.36032 l -232.2122 261.43799 l -231.63245 260.22577 l -231.84326 259.80411 l -230.63104 257.88037 l -229.15527 255.19238 l -227.78494 252.26723 l -227.20517 251.6084 l -226.73082 250.52794 l -225.62401 249.57924 l -224.5699 248.97313 l -225.04425 248.34065 l -224.30637 246.94395 l -224.78072 245.9162 l -225.94025 244.99385 l -226.09836 245.59996 l -225.67671 245.94255 l -225.72942 246.4696 l -226.36189 246.3642 l -226.94165 246.52231 l -227.57411 247.26019 l -228.3647 246.65408 l -228.68092 245.67903 l -229.57692 244.38774 l -231.31621 243.80798 l -232.89737 242.27951 l -233.37172 241.33081 l -233.1609 240.224 l -233.52985 240.09224 l -234.53125 240.7774 l -235.0056 241.46259 l -235.69077 241.85786 l -236.53406 243.38634 l -237.64087 243.5708 l -238.43146 243.17551 l -238.95851 243.43904 l -239.85451 243.30728 l -240.96133 243.99245 l -240.01262 245.4682 l -240.43427 245.5209 l -241.17215 246.28514 l -h -S -/DeviceRGB {} CS -[0.9686 0.5804 0.2549] SC -/DeviceRGB {} cs -[0.9686 0.5804 0.2549] sc -520.40625 221.40811 m -519.61566 220.27495 l -520.88055 220.32765 l -521.40765 220.85471 l -521.0387 222.11964 l -520.40625 221.40811 l -h -522.9361 225.38739 m -523.30505 224.96574 l -523.46313 224.06975 l -524.30646 223.99069 l -524.04291 224.96574 l -525.14972 223.56905 l -524.99158 224.96574 l -524.46454 225.44009 l -523.99017 226.36244 l -523.56854 226.78407 l -522.67255 225.78267 l -522.9361 225.38739 l -h -528.52289 227.68007 m -528.6283 228.65512 l -528.7337 229.47206 l -528.25934 230.81606 l -527.67957 229.31395 l -526.99445 230.07817 l -527.46875 231.13229 l -527.04712 231.81746 l -525.36053 230.97417 l -524.9389 229.92006 l -525.36053 229.23489 l -524.46454 228.52336 l -523.99017 229.12947 l -523.30505 229.07677 l -522.19824 229.89371 l -521.98737 229.47206 l -522.56714 228.23349 l -523.46313 227.8382 l -524.25372 227.28479 l -524.78076 227.9436 l -525.88757 227.54831 l -526.15112 226.8895 l -527.15253 226.83679 l -527.09985 225.70361 l -528.25934 226.41515 l -528.41748 227.15302 l -528.52289 227.68007 l -h -516.98035 226.36244 m -515.03027 227.75914 l -515.76813 226.73137 l -516.82227 225.83537 l -517.66553 224.80762 l -518.45612 223.35822 l -518.71967 224.5441 l -517.77094 225.36102 l -516.98035 226.36244 l -h -522.56714 213.31781 m -522.35632 213.92392 l -522.83069 214.97803 l -522.46173 216.19026 l -521.61847 216.69096 l -521.35492 217.85049 l -521.72388 219.03636 l -522.46173 219.19447 l -523.14691 219.01001 l -524.9389 219.82695 l -524.8335 220.61752 l -525.30786 220.96011 l -525.14972 221.64529 l -523.99017 220.93376 l -523.46313 220.16953 l -523.09418 220.69659 l -522.14551 219.82695 l -520.82788 220.03777 l -520.08997 219.72153 l -520.1427 219.11542 l -520.61707 218.74648 l -520.19537 218.4039 l -519.98456 218.93095 l -519.2467 218.08766 l -519.03589 217.4552 l -518.98315 216.03215 l -519.56293 216.53285 l -519.72107 214.24016 l -520.19537 212.92252 l -521.09137 212.92252 l -521.98737 213.31781 l -522.46173 212.94887 l -522.56714 213.31781 l -h -522.14551 223.27916 m -521.93469 222.59399 l -522.77795 223.04199 l -523.72668 223.04199 l -523.72668 223.6481 l -523.0415 224.28056 l -522.09277 224.72856 l -522.0401 224.0434 l -522.14551 223.27916 l -h -527.20526 222.1987 m -527.62689 223.83257 l -526.52008 223.43727 l -526.52008 223.93797 l -526.88904 224.83397 l -526.20386 225.17656 l -526.15112 224.12245 l -525.67676 224.06975 l -525.46594 223.17375 l -526.30927 223.27916 l -526.30927 222.72575 l -525.41327 221.61894 l -526.8363 221.64529 l -527.20526 222.1987 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -520.40625 221.40811 m -519.61566 220.27495 l -520.88055 220.32765 l -521.40765 220.85471 l -521.0387 222.11964 l -520.40625 221.40811 l -h -522.9361 225.38739 m -523.30505 224.96574 l -523.46313 224.06975 l -524.30646 223.99069 l -524.04291 224.96574 l -525.14972 223.56905 l -524.99158 224.96574 l -524.46454 225.44009 l -523.99017 226.36244 l -523.56854 226.78407 l -522.67255 225.78267 l -522.9361 225.38739 l -h -528.52289 227.68007 m -528.6283 228.65512 l -528.7337 229.47206 l -528.25934 230.81606 l -527.67957 229.31395 l -526.99445 230.07817 l -527.46875 231.13229 l -527.04712 231.81746 l -525.36053 230.97417 l -524.9389 229.92006 l -525.36053 229.23489 l -524.46454 228.52336 l -523.99017 229.12947 l -523.30505 229.07677 l -522.19824 229.89371 l -521.98737 229.47206 l -522.56714 228.23349 l -523.46313 227.8382 l -524.25372 227.28479 l -524.78076 227.9436 l -525.88757 227.54831 l -526.15112 226.8895 l -527.15253 226.83679 l -527.09985 225.70361 l -528.25934 226.41515 l -528.41748 227.15302 l -528.52289 227.68007 l -h -516.98035 226.36244 m -515.03027 227.75914 l -515.76813 226.73137 l -516.82227 225.83537 l -517.66553 224.80762 l -518.45612 223.35822 l -518.71967 224.5441 l -517.77094 225.36102 l -516.98035 226.36244 l -h -522.56714 213.31781 m -522.35632 213.92392 l -522.83069 214.97803 l -522.46173 216.19026 l -521.61847 216.69096 l -521.35492 217.85049 l -521.72388 219.03636 l -522.46173 219.19447 l -523.14691 219.01001 l -524.9389 219.82695 l -524.8335 220.61752 l -525.30786 220.96011 l -525.14972 221.64529 l -523.99017 220.93376 l -523.46313 220.16953 l -523.09418 220.69659 l -522.14551 219.82695 l -520.82788 220.03777 l -520.08997 219.72153 l -520.1427 219.11542 l -520.61707 218.74648 l -520.19537 218.4039 l -519.98456 218.93095 l -519.2467 218.08766 l -519.03589 217.4552 l -518.98315 216.03215 l -519.56293 216.53285 l -519.72107 214.24016 l -520.19537 212.92252 l -521.09137 212.92252 l -521.98737 213.31781 l -522.46173 212.94887 l -522.56714 213.31781 l -h -522.14551 223.27916 m -521.93469 222.59399 l -522.77795 223.04199 l -523.72668 223.04199 l -523.72668 223.6481 l -523.0415 224.28056 l -522.09277 224.72856 l -522.0401 224.0434 l -522.14551 223.27916 l -h -527.20526 222.1987 m -527.62689 223.83257 l -526.52008 223.43727 l -526.52008 223.93797 l -526.88904 224.83397 l -526.20386 225.17656 l -526.15112 224.12245 l -525.67676 224.06975 l -525.46594 223.17375 l -526.30927 223.27916 l -526.30927 222.72575 l -525.41327 221.61894 l -526.8363 221.64529 l -527.20526 222.1987 l -h -S -/DeviceRGB {} CS -[0.9882 0.7137 0.1843] SC -/DeviceRGB {} cs -[0.9882 0.7137 0.1843] sc -377.89038 161.086594 m -377.94308 161.719055 l -378.36472 162.272476 l -378.36472 162.878586 l -377.46875 163.168472 l -377.89038 163.853638 l -377.94308 164.486099 l -378.68097 165.77739 l -378.52286 166.172684 l -377.78497 166.357147 l -376.46732 167.569382 l -376.83627 168.2282 l -376.52005 168.14914 l -375.14969 167.569382 l -374.09558 167.7802 l -373.4104 167.648438 l -372.5144 167.93832 l -371.77652 167.437622 l -371.19678 167.622086 l -371.09137 167.54303 l -370.40619 166.831497 l -369.35208 166.726089 l -369.19397 166.278091 l -368.19257 166.11998 l -367.98172 166.488922 l -367.19116 166.199036 l -367.29657 165.77739 l -366.18976 165.64563 l -365.50458 165.197632 l -364.8721 164.248932 l -364.97751 163.74823 l -364.66129 162.957642 l -364.08151 162.430588 l -364.50317 162.061646 l -364.18692 161.297424 l -365.18835 160.875778 l -367.45468 160.190598 l -369.29938 159.689896 l -370.77512 159.95343 l -370.88055 160.296005 l -372.30359 160.322357 l -374.09558 160.480484 l -376.78357 160.480484 l -377.52145 160.638596 l -377.89038 161.086594 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -377.89038 161.086594 m -377.94308 161.719055 l -378.36472 162.272476 l -378.36472 162.878586 l -377.46875 163.168472 l -377.89038 163.853638 l -377.94308 164.486099 l -378.68097 165.77739 l -378.52286 166.172684 l -377.78497 166.357147 l -376.46732 167.569382 l -376.83627 168.2282 l -376.52005 168.14914 l -375.14969 167.569382 l -374.09558 167.7802 l -373.4104 167.648438 l -372.5144 167.93832 l -371.77652 167.437622 l -371.19678 167.622086 l -371.09137 167.54303 l -370.40619 166.831497 l -369.35208 166.726089 l -369.19397 166.278091 l -368.19257 166.11998 l -367.98172 166.488922 l -367.19116 166.199036 l -367.29657 165.77739 l -366.18976 165.64563 l -365.50458 165.197632 l -364.8721 164.248932 l -364.97751 163.74823 l -364.66129 162.957642 l -364.08151 162.430588 l -364.50317 162.061646 l -364.18692 161.297424 l -365.18835 160.875778 l -367.45468 160.190598 l -369.29938 159.689896 l -370.77512 159.95343 l -370.88055 160.296005 l -372.30359 160.322357 l -374.09558 160.480484 l -376.78357 160.480484 l -377.52145 160.638596 l -377.89038 161.086594 l -h -S -/DeviceRGB {} CS -[0.9882 0.8039 0.149] SC -/DeviceRGB {} cs -[0.9882 0.8039 0.149] sc -330.29724 178.69025 m -330.82431 178.32132 l -331.40408 178.11049 l -331.77301 178.82202 l -332.6163 178.82202 l -332.87982 178.63754 l -333.72311 178.69025 l -334.14478 179.42813 l -333.45959 179.82343 l -333.45959 180.95659 l -333.19608 181.16742 l -333.14337 181.87894 l -332.51089 181.98434 l -333.09064 182.85399 l -332.72171 183.82904 l -333.19608 184.25069 l -332.98523 184.64598 l -332.45819 185.19939 l -332.5636 185.70009 l -331.98383 186.06903 l -331.24597 185.85822 l -330.45538 186.01633 l -330.7189 184.88316 l -330.56079 183.98717 l -329.92831 183.85539 l -329.55939 183.30199 l -329.66479 182.32693 l -330.24454 181.79988 l -330.34998 181.22012 l -330.6662 180.32413 l -330.61349 179.71802 l -330.34998 179.19096 l -330.29724 178.69025 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -330.29724 178.69025 m -330.82431 178.32132 l -331.40408 178.11049 l -331.77301 178.82202 l -332.6163 178.82202 l -332.87982 178.63754 l -333.72311 178.69025 l -334.14478 179.42813 l -333.45959 179.82343 l -333.45959 180.95659 l -333.19608 181.16742 l -333.14337 181.87894 l -332.51089 181.98434 l -333.09064 182.85399 l -332.72171 183.82904 l -333.19608 184.25069 l -332.98523 184.64598 l -332.45819 185.19939 l -332.5636 185.70009 l -331.98383 186.06903 l -331.24597 185.85822 l -330.45538 186.01633 l -330.7189 184.88316 l -330.56079 183.98717 l -329.92831 183.85539 l -329.55939 183.30199 l -329.66479 182.32693 l -330.24454 181.79988 l -330.34998 181.22012 l -330.6662 180.32413 l -330.61349 179.71802 l -330.34998 179.19096 l -330.29724 178.69025 l -h -S -/DeviceRGB {} CS -[0.9804 0.8275 0.1451] SC -/DeviceRGB {} cs -[0.9804 0.8275 0.1451] sc -246.49541 212.89616 m -247.23329 213.02792 l -247.49681 213.31781 l -247.12788 213.68675 l -246.02106 213.68675 l -245.12506 213.73946 l -245.07236 213.10698 l -245.28319 212.89616 l -246.49541 212.89616 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -246.49541 212.89616 m -247.23329 213.02792 l -247.49681 213.31781 l -247.12788 213.68675 l -246.02106 213.68675 l -245.12506 213.73946 l -245.07236 213.10698 l -245.28319 212.89616 l -246.49541 212.89616 l -h -S -/DeviceRGB {} CS -[0.9765 0.6039 0.2392] SC -/DeviceRGB {} cs -[0.9765 0.6039 0.2392] sc -384.8475 173.41969 m -385.47998 173.68323 l -386.16516 173.44604 l -386.85031 173.68323 l -386.85031 174.07852 l -386.16516 174.39474 l -385.6908 174.26299 l -385.32187 176.02863 l -384.42587 175.8705 l -383.37177 175.34344 l -381.63248 175.65968 l -380.9473 176.05498 l -378.78638 175.97592 l -377.67957 175.73874 l -377.09979 175.84415 l -376.67816 175.23804 l -376.41461 175.00087 l -376.73087 174.73734 l -376.36191 174.55287 l -375.94028 174.89545 l -375.04428 174.47382 l -374.93887 173.86769 l -374.04288 173.5251 l -373.88477 173.05075 l -373.09418 172.47099 l -374.25369 172.20747 l -375.14969 171.20607 l -375.83487 170.20465 l -376.73087 169.91478 l -377.36331 169.59854 l -378.25931 169.75665 l -379.20801 169.75665 l -379.89319 170.1256 l -380.42026 169.88843 l -381.47437 169.75665 l -381.84329 169.41408 l -382.47577 169.41408 l -382.8974 169.54584 l -383.37177 169.99384 l -383.8461 170.59995 l -384.68939 171.46959 l -384.7421 172.12842 l -384.58398 172.73453 l -384.8475 173.41969 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -384.8475 173.41969 m -385.47998 173.68323 l -386.16516 173.44604 l -386.85031 173.68323 l -386.85031 174.07852 l -386.16516 174.39474 l -385.6908 174.26299 l -385.32187 176.02863 l -384.42587 175.8705 l -383.37177 175.34344 l -381.63248 175.65968 l -380.9473 176.05498 l -378.78638 175.97592 l -377.67957 175.73874 l -377.09979 175.84415 l -376.67816 175.23804 l -376.41461 175.00087 l -376.73087 174.73734 l -376.36191 174.55287 l -375.94028 174.89545 l -375.04428 174.47382 l -374.93887 173.86769 l -374.04288 173.5251 l -373.88477 173.05075 l -373.09418 172.47099 l -374.25369 172.20747 l -375.14969 171.20607 l -375.83487 170.20465 l -376.73087 169.91478 l -377.36331 169.59854 l -378.25931 169.75665 l -379.20801 169.75665 l -379.89319 170.1256 l -380.42026 169.88843 l -381.47437 169.75665 l -381.84329 169.41408 l -382.47577 169.41408 l -382.8974 169.54584 l -383.37177 169.99384 l -383.8461 170.59995 l -384.68939 171.46959 l -384.7421 172.12842 l -384.58398 172.73453 l -384.8475 173.41969 l -h -S -/DeviceRGB {} CS -[0.3412 0.0078 0.6353] SC -/DeviceRGB {} cs -[0.3412 0.0078 0.6353] sc -388.00986 241.6734 m -388.5896 242.49034 l -388.5369 243.35999 l -388.11526 243.54445 l -387.32468 243.43904 l -386.90305 244.28233 l -386.00705 244.15056 l -386.11246 243.35999 l -386.32327 243.25456 l -386.37598 242.35858 l -386.79761 241.96329 l -387.16656 242.1214 l -388.00986 241.6734 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -388.00986 241.6734 m -388.5896 242.49034 l -388.5369 243.35999 l -388.11526 243.54445 l -387.32468 243.43904 l -386.90305 244.28233 l -386.00705 244.15056 l -386.11246 243.35999 l -386.32327 243.25456 l -386.37598 242.35858 l -386.79761 241.96329 l -387.16656 242.1214 l -388.00986 241.6734 l -h -S -/DeviceRGB {} CS -[0.9804 0.6157 0.2314] SC -/DeviceRGB {} cs -[0.9804 0.6157 0.2314] sc -394.65076 197.03178 m -396.28461 197.26897 l -396.91708 196.79462 l -397.28604 196.26756 l -398.39285 196.08308 l -398.65637 195.58238 l -399.13074 195.34521 l -397.65497 193.86946 l -400.60648 193.13158 l -400.87 192.92076 l -402.66199 193.31604 l -404.82294 194.34381 l -408.93396 197.29532 l -411.67465 197.40073 l -412.99228 197.53249 l -413.36124 198.24402 l -414.36264 198.19131 l -414.94238 199.45624 l -415.68027 199.79883 l -415.94379 200.32588 l -416.89249 200.93201 l -416.99789 201.53812 l -416.83978 202.01247 l -417.05063 202.51317 l -417.47226 202.93481 l -417.68307 203.40916 l -417.89389 203.75175 l -418.31555 204.04163 l -418.73718 203.93622 l -419.00073 204.51598 l -419.05344 204.85857 l -419.63318 206.33432 l -424.00775 207.0722 l -424.32397 206.75597 l -425.00916 207.78372 l -424.00775 210.73523 l -419.63318 212.18463 l -415.41675 212.73805 l -414.04639 213.39687 l -412.99228 214.95168 l -412.3071 215.18886 l -411.93817 214.68816 l -411.3584 214.76721 l -409.93536 214.63545 l -409.67184 214.47733 l -407.98526 214.50368 l -407.61633 214.63545 l -406.98386 214.26651 l -406.6149 214.97803 l -406.77304 215.6105 l -406.14056 216.0585 l -405.92975 215.45238 l -405.50809 215.00438 l -405.40268 214.42462 l -404.61209 213.89757 l -403.8215 212.659 l -403.45258 211.47311 l -402.39847 210.47171 l -401.76599 210.23453 l -400.81729 208.83783 l -400.60648 207.81007 l -400.71188 206.94043 l -399.86859 205.33292 l -399.18344 204.75316 l -398.39285 204.43692 l -397.86578 203.61998 l -397.97119 203.2774 l -397.54956 202.51317 l -397.1279 202.19693 l -396.54816 201.11647 l -395.65216 199.9306 l -394.91428 198.92918 l -394.17639 198.92918 l -394.43994 198.11226 l -394.49265 197.61156 l -394.65076 197.03178 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -394.65076 197.03178 m -396.28461 197.26897 l -396.91708 196.79462 l -397.28604 196.26756 l -398.39285 196.08308 l -398.65637 195.58238 l -399.13074 195.34521 l -397.65497 193.86946 l -400.60648 193.13158 l -400.87 192.92076 l -402.66199 193.31604 l -404.82294 194.34381 l -408.93396 197.29532 l -411.67465 197.40073 l -412.99228 197.53249 l -413.36124 198.24402 l -414.36264 198.19131 l -414.94238 199.45624 l -415.68027 199.79883 l -415.94379 200.32588 l -416.89249 200.93201 l -416.99789 201.53812 l -416.83978 202.01247 l -417.05063 202.51317 l -417.47226 202.93481 l -417.68307 203.40916 l -417.89389 203.75175 l -418.31555 204.04163 l -418.73718 203.93622 l -419.00073 204.51598 l -419.05344 204.85857 l -419.63318 206.33432 l -424.00775 207.0722 l -424.32397 206.75597 l -425.00916 207.78372 l -424.00775 210.73523 l -419.63318 212.18463 l -415.41675 212.73805 l -414.04639 213.39687 l -412.99228 214.95168 l -412.3071 215.18886 l -411.93817 214.68816 l -411.3584 214.76721 l -409.93536 214.63545 l -409.67184 214.47733 l -407.98526 214.50368 l -407.61633 214.63545 l -406.98386 214.26651 l -406.6149 214.97803 l -406.77304 215.6105 l -406.14056 216.0585 l -405.92975 215.45238 l -405.50809 215.00438 l -405.40268 214.42462 l -404.61209 213.89757 l -403.8215 212.659 l -403.45258 211.47311 l -402.39847 210.47171 l -401.76599 210.23453 l -400.81729 208.83783 l -400.60648 207.81007 l -400.71188 206.94043 l -399.86859 205.33292 l -399.18344 204.75316 l -398.39285 204.43692 l -397.86578 203.61998 l -397.97119 203.2774 l -397.54956 202.51317 l -397.1279 202.19693 l -396.54816 201.11647 l -395.65216 199.9306 l -394.91428 198.92918 l -394.17639 198.92918 l -394.43994 198.11226 l -394.49265 197.61156 l -394.65076 197.03178 l -h -S -/DeviceRGB {} CS -[0.8392 0.3294 0.4275] SC -/DeviceRGB {} cs -[0.8392 0.3294 0.4275] sc -319.01828 220.09047 m -318.43851 218.95731 l -317.70062 218.43025 l -318.3331 218.16672 l -319.07098 217.13896 l -319.38721 216.37473 l -319.91425 215.90038 l -320.65213 216.03215 l -321.33731 215.71591 l -322.1806 215.68956 l -322.86578 216.13756 l -323.81448 216.53285 l -324.71048 217.58696 l -325.65918 218.61472 l -325.76459 219.51071 l -326.02811 220.354 l -326.60788 220.77565 l -326.71329 221.32906 l -326.66058 221.77705 l -326.44974 221.85611 l -325.65918 221.7507 l -325.50104 221.90881 l -325.18481 221.93517 l -324.13071 221.59258 l -323.44553 221.56622 l -320.75754 221.51352 l -320.33591 221.67165 l -319.86154 221.61894 l -319.07098 221.88246 l -318.86014 220.7493 l -320.1778 220.77565 l -320.54672 220.56482 l -320.81024 220.56482 l -321.33731 220.22224 l -321.96979 220.53847 l -322.60223 220.56482 l -323.23471 220.22224 l -322.91849 219.8006 l -322.44412 220.06412 l -322.02249 220.03777 l -321.44272 219.69518 l -320.96838 219.72153 l -320.65213 220.06412 l -319.01828 220.09047 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -319.01828 220.09047 m -318.43851 218.95731 l -317.70062 218.43025 l -318.3331 218.16672 l -319.07098 217.13896 l -319.38721 216.37473 l -319.91425 215.90038 l -320.65213 216.03215 l -321.33731 215.71591 l -322.1806 215.68956 l -322.86578 216.13756 l -323.81448 216.53285 l -324.71048 217.58696 l -325.65918 218.61472 l -325.76459 219.51071 l -326.02811 220.354 l -326.60788 220.77565 l -326.71329 221.32906 l -326.66058 221.77705 l -326.44974 221.85611 l -325.65918 221.7507 l -325.50104 221.90881 l -325.18481 221.93517 l -324.13071 221.59258 l -323.44553 221.56622 l -320.75754 221.51352 l -320.33591 221.67165 l -319.86154 221.61894 l -319.07098 221.88246 l -318.86014 220.7493 l -320.1778 220.77565 l -320.54672 220.56482 l -320.81024 220.56482 l -321.33731 220.22224 l -321.96979 220.53847 l -322.60223 220.56482 l -323.23471 220.22224 l -322.91849 219.8006 l -322.44412 220.06412 l -322.02249 220.03777 l -321.44272 219.69518 l -320.96838 219.72153 l -320.65213 220.06412 l -319.01828 220.09047 l -h -S -/DeviceRGB {} CS -[0.9843 0.6588 0.2118] SC -/DeviceRGB {} cs -[0.9843 0.6588 0.2118] sc -371.03867 172.78723 m -372.19818 172.41829 l -373.09418 172.47099 l -373.88477 173.05075 l -374.04288 173.5251 l -374.93887 173.86769 l -375.04428 174.47382 l -375.94028 174.89545 l -376.36191 174.55287 l -376.73087 174.73734 l -376.41461 175.00087 l -376.67816 175.23804 l -376.3092 175.58063 l -376.41461 176.10768 l -377.1525 176.74014 l -376.57275 177.18814 l -376.36191 177.66249 l -376.52005 177.84697 l -376.2565 178.05779 l -375.57135 178.08414 l -375.09698 178.16319 l -375.04428 178.05779 l -375.20239 177.87332 l -375.3605 177.50438 l -375.14969 177.53073 l -374.88617 177.24084 l -374.62265 177.18814 l -374.46451 176.95097 l -374.20099 176.87192 l -373.99017 176.66109 l -373.72665 176.74014 l -373.51581 177.21449 l -373.14688 177.31992 l -373.25229 177.18814 l -372.72522 176.89827 l -372.25089 176.74014 l -372.04007 176.52933 l -371.61841 176.29214 l -371.98737 176.21309 l -372.19818 175.52792 l -371.4603 174.97452 l -371.82925 174.31569 l -371.30219 174.34204 l -371.88196 173.78864 l -371.40759 173.36699 l -371.03867 172.78723 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -371.03867 172.78723 m -372.19818 172.41829 l -373.09418 172.47099 l -373.88477 173.05075 l -374.04288 173.5251 l -374.93887 173.86769 l -375.04428 174.47382 l -375.94028 174.89545 l -376.36191 174.55287 l -376.73087 174.73734 l -376.41461 175.00087 l -376.67816 175.23804 l -376.3092 175.58063 l -376.41461 176.10768 l -377.1525 176.74014 l -376.57275 177.18814 l -376.36191 177.66249 l -376.52005 177.84697 l -376.2565 178.05779 l -375.57135 178.08414 l -375.09698 178.16319 l -375.04428 178.05779 l -375.20239 177.87332 l -375.3605 177.50438 l -375.14969 177.53073 l -374.88617 177.24084 l -374.62265 177.18814 l -374.46451 176.95097 l -374.20099 176.87192 l -373.99017 176.66109 l -373.72665 176.74014 l -373.51581 177.21449 l -373.14688 177.31992 l -373.25229 177.18814 l -372.72522 176.89827 l -372.25089 176.74014 l -372.04007 176.52933 l -371.61841 176.29214 l -371.98737 176.21309 l -372.19818 175.52792 l -371.4603 174.97452 l -371.82925 174.31569 l -371.30219 174.34204 l -371.88196 173.78864 l -371.40759 173.36699 l -371.03867 172.78723 l -h -S -/DeviceRGB {} CS -[0.1882 0.0196 0.5882] SC -/DeviceRGB {} cs -[0.1882 0.0196 0.5882] sc -324.13071 226.96855 m -324.86859 226.33609 l -325.07941 225.91444 l -325.29022 225.59821 l -325.71188 225.57185 l -326.02811 225.28197 l -327.24033 225.28197 l -327.60928 225.80902 l -327.92551 226.4415 l -327.92551 226.86314 l -328.13632 227.23207 l -328.13632 227.78549 l -328.50528 227.70642 l -327.8201 228.36525 l -327.18762 229.18219 l -327.08221 229.60382 l -326.76599 230.07817 l -326.34433 229.94641 l -325.29022 229.36665 l -324.55234 228.57607 l -324.28882 228.04901 l -324.13071 226.96855 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -324.13071 226.96855 m -324.86859 226.33609 l -325.07941 225.91444 l -325.29022 225.59821 l -325.71188 225.57185 l -326.02811 225.28197 l -327.24033 225.28197 l -327.60928 225.80902 l -327.92551 226.4415 l -327.92551 226.86314 l -328.13632 227.23207 l -328.13632 227.78549 l -328.50528 227.70642 l -327.8201 228.36525 l -327.18762 229.18219 l -327.08221 229.60382 l -326.76599 230.07817 l -326.34433 229.94641 l -325.29022 229.36665 l -324.55234 228.57607 l -324.28882 228.04901 l -324.13071 226.96855 l -h -S -/DeviceRGB {} CS -[0.9882 0.6824 0.2] SC -/DeviceRGB {} cs -[0.9882 0.6824 0.2] sc -376.52005 168.14914 m -376.09839 168.51808 l -375.83487 169.12419 l -375.51862 169.25595 l -373.93747 168.80795 l -373.4631 168.91338 l -373.14688 169.25595 l -372.4617 169.44043 l -372.30359 169.33502 l -371.5657 169.57219 l -370.98596 169.62489 l -370.88055 169.91478 l -369.6156 170.09924 l -369.08856 169.91478 l -368.35068 169.54584 l -368.19257 169.04514 l -368.35068 168.86067 l -368.56149 168.54443 l -369.19397 168.57079 l -369.6683 168.41267 l -369.72101 168.2809 l -369.98456 168.20184 l -370.08997 167.85925 l -370.45889 167.80655 l -370.66971 167.54303 l -371.09137 167.54303 l -371.19678 167.622086 l -371.77652 167.437622 l -372.5144 167.93832 l -373.4104 167.648438 l -374.09558 167.7802 l -375.14969 167.569382 l -376.52005 168.14914 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -376.52005 168.14914 m -376.09839 168.51808 l -375.83487 169.12419 l -375.51862 169.25595 l -373.93747 168.80795 l -373.4631 168.91338 l -373.14688 169.25595 l -372.4617 169.44043 l -372.30359 169.33502 l -371.5657 169.57219 l -370.98596 169.62489 l -370.88055 169.91478 l -369.6156 170.09924 l -369.08856 169.91478 l -368.35068 169.54584 l -368.19257 169.04514 l -368.35068 168.86067 l -368.56149 168.54443 l -369.19397 168.57079 l -369.6683 168.41267 l -369.72101 168.2809 l -369.98456 168.20184 l -370.08997 167.85925 l -370.45889 167.80655 l -370.66971 167.54303 l -371.09137 167.54303 l -371.19678 167.622086 l -371.77652 167.437622 l -372.5144 167.93832 l -373.4104 167.648438 l -374.09558 167.7802 l -375.14969 167.569382 l -376.52005 168.14914 l -h -S -/DeviceRGB {} CS -[0.9922 0.7961 0.149] SC -/DeviceRGB {} cs -[0.9922 0.7961 0.149] sc -363.71259 171.91759 m -364.9248 172.02299 l -365.66269 171.70677 l -366.92761 171.65407 l -367.24387 171.41689 l -367.45468 171.41689 l -367.7709 171.91759 l -366.55869 172.31288 l -366.45328 172.89264 l -365.92621 173.05075 l -365.92621 173.4724 l -365.34647 173.44604 l -364.8721 173.18253 l -364.60858 173.44604 l -363.55447 173.39334 l -363.9234 173.26158 l -363.55447 172.62912 l -363.71259 171.91759 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -363.71259 171.91759 m -364.9248 172.02299 l -365.66269 171.70677 l -366.92761 171.65407 l -367.24387 171.41689 l -367.45468 171.41689 l -367.7709 171.91759 l -366.55869 172.31288 l -366.45328 172.89264 l -365.92621 173.05075 l -365.92621 173.4724 l -365.34647 173.44604 l -364.8721 173.18253 l -364.60858 173.44604 l -363.55447 173.39334 l -363.9234 173.26158 l -363.55447 172.62912 l -363.71259 171.91759 l -h -S -/DeviceRGB {} CS -[0.4118 0.0039 0.651] SC -/DeviceRGB {} cs -[0.4118 0.0039 0.651] sc -404.40128 242.46399 m -403.50528 241.25175 l -403.50528 235.9285 l -404.7702 234.26826 l -405.19186 233.79391 l -406.08786 233.76756 l -407.40549 232.73981 l -409.30289 232.6871 l -413.46664 228.28619 l -414.46805 227.07396 l -415.1532 226.15161 l -415.1532 225.38739 l -415.1532 223.91162 l -415.1532 223.33186 l -415.1532 223.30551 l -415.62756 223.27916 l -416.31274 223.04199 l -417.05063 222.91022 l -417.78848 222.40952 l -418.31555 222.40952 l -418.36826 222.80481 l -418.21014 223.6481 l -418.21014 224.41232 l -417.89389 224.93939 l -417.52496 226.54691 l -416.78708 228.18077 l -415.89108 230.05182 l -414.62616 232.1864 l -413.41394 233.82027 l -411.67465 235.82309 l -410.19888 237.00896 l -407.98526 238.45836 l -406.6676 239.56519 l -405.03375 241.35716 l -404.7175 242.1214 l -404.40128 242.46399 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -404.40128 242.46399 m -403.50528 241.25175 l -403.50528 235.9285 l -404.7702 234.26826 l -405.19186 233.79391 l -406.08786 233.76756 l -407.40549 232.73981 l -409.30289 232.6871 l -413.46664 228.28619 l -414.46805 227.07396 l -415.1532 226.15161 l -415.1532 225.38739 l -415.1532 223.91162 l -415.1532 223.33186 l -415.1532 223.30551 l -415.62756 223.27916 l -416.31274 223.04199 l -417.05063 222.91022 l -417.78848 222.40952 l -418.31555 222.40952 l -418.36826 222.80481 l -418.21014 223.6481 l -418.21014 224.41232 l -417.89389 224.93939 l -417.52496 226.54691 l -416.78708 228.18077 l -415.89108 230.05182 l -414.62616 232.1864 l -413.41394 233.82027 l -411.67465 235.82309 l -410.19888 237.00896 l -407.98526 238.45836 l -406.6676 239.56519 l -405.03375 241.35716 l -404.7175 242.1214 l -404.40128 242.46399 l -h -S -/DeviceRGB {} CS -[0.4549 0.0078 0.6588] SC -/DeviceRGB {} cs -[0.4549 0.0078 0.6588] sc -367.40198 281.83505 m -368.13986 281.09717 l -368.7196 281.5188 l -368.93042 282.12491 l -369.6156 282.23035 l -370.5116 282.5202 l -371.30219 282.41479 l -372.61981 281.67691 l -372.61981 276.24826 l -373.04147 276.48541 l -373.88477 277.85577 l -373.77936 278.75177 l -374.09558 279.27881 l -375.14969 279.1207 l -375.83487 278.46188 l -376.57275 278.04025 l -376.88898 277.3287 l -377.62686 276.98611 l -378.25931 277.17059 l -378.94449 277.56589 l -380.15671 277.64496 l -381.0527 277.30237 l -381.21082 276.85437 l -381.47437 276.14285 l -382.26495 276.03741 l -382.68658 275.48401 l -383.21365 274.50897 l -384.53128 273.4285 l -386.58679 272.34805 l -387.16656 272.34805 l -387.90445 272.61157 l -388.37878 272.42709 l -389.16937 272.58521 l -389.85455 274.64072 l -390.22348 275.66849 l -389.95996 277.30237 l -390.11807 277.82941 l -389.38019 277.56589 l -388.95856 277.6713 l -388.80045 278.09296 l -388.43149 278.64636 l -388.43149 279.14706 l -389.27478 279.93765 l -390.17078 279.77951 l -390.4343 279.14706 l -391.54111 279.14706 l -391.17218 280.20117 l -391.01407 281.43976 l -390.64514 282.09857 l -389.64371 282.83646 l -389.38019 283.04727 l -388.74771 283.78516 l -388.32608 284.54938 l -387.48279 285.57715 l -385.84891 287.10559 l -384.7948 287.97525 l -383.68799 288.63406 l -382.15955 289.21381 l -381.42166 289.29288 l -381.26355 289.68817 l -380.36755 289.47736 l -379.62967 289.74088 l -378.04849 289.47736 l -377.1525 289.6618 l -376.52005 289.58276 l -375.04428 290.16251 l -373.77936 290.37335 l -372.88336 290.92676 l -372.19818 290.97946 l -371.61841 290.45239 l -371.09137 290.42606 l -370.45889 289.76724 l -370.40619 289.97806 l -370.19537 289.58276 l -370.19537 288.7131 l -369.72101 287.73807 l -370.19537 287.47455 l -370.19537 286.34137 l -369.19397 284.97101 l -368.45609 283.73245 l -367.40198 281.83505 l -h -385.90161 282.38846 m -385.26917 281.94046 l -384.58398 282.23035 l -383.7934 282.81009 l -383.00281 283.73245 l -384.10965 284.8656 l -384.63669 284.70749 l -384.90021 284.25949 l -385.7435 284.02231 l -385.95435 283.54797 l -386.42868 282.83646 l -385.90161 282.38846 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -367.40198 281.83505 m -368.13986 281.09717 l -368.7196 281.5188 l -368.93042 282.12491 l -369.6156 282.23035 l -370.5116 282.5202 l -371.30219 282.41479 l -372.61981 281.67691 l -372.61981 276.24826 l -373.04147 276.48541 l -373.88477 277.85577 l -373.77936 278.75177 l -374.09558 279.27881 l -375.14969 279.1207 l -375.83487 278.46188 l -376.57275 278.04025 l -376.88898 277.3287 l -377.62686 276.98611 l -378.25931 277.17059 l -378.94449 277.56589 l -380.15671 277.64496 l -381.0527 277.30237 l -381.21082 276.85437 l -381.47437 276.14285 l -382.26495 276.03741 l -382.68658 275.48401 l -383.21365 274.50897 l -384.53128 273.4285 l -386.58679 272.34805 l -387.16656 272.34805 l -387.90445 272.61157 l -388.37878 272.42709 l -389.16937 272.58521 l -389.85455 274.64072 l -390.22348 275.66849 l -389.95996 277.30237 l -390.11807 277.82941 l -389.38019 277.56589 l -388.95856 277.6713 l -388.80045 278.09296 l -388.43149 278.64636 l -388.43149 279.14706 l -389.27478 279.93765 l -390.17078 279.77951 l -390.4343 279.14706 l -391.54111 279.14706 l -391.17218 280.20117 l -391.01407 281.43976 l -390.64514 282.09857 l -389.64371 282.83646 l -389.38019 283.04727 l -388.74771 283.78516 l -388.32608 284.54938 l -387.48279 285.57715 l -385.84891 287.10559 l -384.7948 287.97525 l -383.68799 288.63406 l -382.15955 289.21381 l -381.42166 289.29288 l -381.26355 289.68817 l -380.36755 289.47736 l -379.62967 289.74088 l -378.04849 289.47736 l -377.1525 289.6618 l -376.52005 289.58276 l -375.04428 290.16251 l -373.77936 290.37335 l -372.88336 290.92676 l -372.19818 290.97946 l -371.61841 290.45239 l -371.09137 290.42606 l -370.45889 289.76724 l -370.40619 289.97806 l -370.19537 289.58276 l -370.19537 288.7131 l -369.72101 287.73807 l -370.19537 287.47455 l -370.19537 286.34137 l -369.19397 284.97101 l -368.45609 283.73245 l -367.40198 281.83505 l -h -385.90161 282.38846 m -385.26917 281.94046 l -384.58398 282.23035 l -383.7934 282.81009 l -383.00281 283.73245 l -384.10965 284.8656 l -384.63669 284.70749 l -384.90021 284.25949 l -385.7435 284.02231 l -385.95435 283.54797 l -386.42868 282.83646 l -385.90161 282.38846 l -h -S -/DeviceRGB {} CS -[0.9608 0.9137 0.1373] SC -/DeviceRGB {} cs -[0.9608 0.9137 0.1373] sc -332.5636 185.70009 m -332.45819 185.19939 l -332.98523 184.64598 l -333.19608 184.25069 l -332.72171 183.82904 l -333.09064 182.85399 l -332.51089 181.98434 l -333.14337 181.87894 l -333.19608 181.16742 l -333.45959 180.95659 l -333.45959 179.82343 l -334.14478 179.42813 l -333.72311 178.69025 l -332.87982 178.63754 l -332.6163 178.82202 l -331.77301 178.82202 l -331.40408 178.11049 l -330.82431 178.32132 l -330.29724 178.69025 l -330.34998 177.63614 l -329.7702 177.00368 l -331.82571 175.94957 l -333.61771 176.21309 l -335.56781 176.21309 l -337.14899 176.45027 l -338.36121 176.39757 l -340.73297 176.42392 l -341.31271 177.00368 l -344.0007 177.66249 l -344.52777 177.34627 l -346.16162 178.00508 l -347.84821 177.82062 l -347.95361 178.66389 l -346.58328 179.63895 l -344.68588 179.95518 l -344.58047 180.45589 l -343.63177 181.27283 l -343.10471 182.45869 l -343.68448 183.30199 l -342.84119 183.93446 l -342.52493 184.88316 l -341.41812 185.19939 l -340.36401 186.30621 l -338.51932 186.33257 l -337.09628 186.30621 l -336.20029 186.83327 l -335.62051 187.38667 l -334.93533 187.25491 l -334.35559 186.75421 l -333.93393 185.91092 l -332.5636 185.70009 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -332.5636 185.70009 m -332.45819 185.19939 l -332.98523 184.64598 l -333.19608 184.25069 l -332.72171 183.82904 l -333.09064 182.85399 l -332.51089 181.98434 l -333.14337 181.87894 l -333.19608 181.16742 l -333.45959 180.95659 l -333.45959 179.82343 l -334.14478 179.42813 l -333.72311 178.69025 l -332.87982 178.63754 l -332.6163 178.82202 l -331.77301 178.82202 l -331.40408 178.11049 l -330.82431 178.32132 l -330.29724 178.69025 l -330.34998 177.63614 l -329.7702 177.00368 l -331.82571 175.94957 l -333.61771 176.21309 l -335.56781 176.21309 l -337.14899 176.45027 l -338.36121 176.39757 l -340.73297 176.42392 l -341.31271 177.00368 l -344.0007 177.66249 l -344.52777 177.34627 l -346.16162 178.00508 l -347.84821 177.82062 l -347.95361 178.66389 l -346.58328 179.63895 l -344.68588 179.95518 l -344.58047 180.45589 l -343.63177 181.27283 l -343.10471 182.45869 l -343.68448 183.30199 l -342.84119 183.93446 l -342.52493 184.88316 l -341.41812 185.19939 l -340.36401 186.30621 l -338.51932 186.33257 l -337.09628 186.30621 l -336.20029 186.83327 l -335.62051 187.38667 l -334.93533 187.25491 l -334.35559 186.75421 l -333.93393 185.91092 l -332.5636 185.70009 l -h -S -/DeviceRGB {} CS -[0.9765 0.6039 0.2392] SC -/DeviceRGB {} cs -[0.9765 0.6039 0.2392] sc -463.22067 228.99771 m -463.00986 230.49982 l -462.37741 230.92146 l -461.11246 231.26405 l -460.42731 230.10454 l -460.16376 227.99631 l -460.84894 225.62456 l -461.85034 226.4415 l -462.53552 227.46925 l -463.22067 228.99771 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -463.22067 228.99771 m -463.00986 230.49982 l -462.37741 230.92146 l -461.11246 231.26405 l -460.42731 230.10454 l -460.16376 227.99631 l -460.84894 225.62456 l -461.85034 226.4415 l -462.53552 227.46925 l -463.22067 228.99771 l -h -S -/DeviceRGB {} CS -[0.7373 0.2118 0.5294] SC -/DeviceRGB {} cs -[0.7373 0.2118 0.5294] sc -379.47156 227.9436 m -378.36472 227.31114 l -377.83768 226.8895 l -377.73227 226.4415 l -377.99579 225.83537 l -377.99579 225.22926 l -377.1525 224.30692 l -376.99438 223.70081 l -376.99438 223.33186 l -376.46732 222.91022 l -376.41461 222.04057 l -376.15109 221.48717 l -375.62405 221.56622 l -375.78217 221.03917 l -376.15109 220.43306 l -375.99298 219.82695 l -376.46732 219.37895 l -376.15109 219.03636 l -376.52005 218.11401 l -377.2052 217.03355 l -378.47015 217.13896 l -378.41745 211.34135 l -378.41745 210.70888 l -380.104 210.70888 l -380.104 207.78372 l -386.00705 207.78372 l -391.64655 207.78372 l -397.44415 207.78372 l -397.91849 209.23312 l -397.60226 209.49666 l -397.81308 210.99876 l -398.39285 212.73805 l -398.91989 213.10698 l -399.71048 213.6604 l -398.9726 214.47733 l -397.91849 214.74086 l -397.44415 215.18886 l -397.28604 216.13756 l -396.65356 218.29848 l -396.81168 218.87825 l -396.60086 220.14317 l -396.02109 221.59258 l -395.12509 222.30411 l -394.49265 223.43727 l -394.3345 224.01704 l -393.64935 224.43867 l -393.22769 225.96715 l -393.22769 227.28479 l -393.22769 226.15161 l -393.01688 226.12526 l -393.01688 225.38739 l -392.85876 224.88667 l -392.12088 224.30692 l -391.91006 223.25281 l -392.12088 222.17235 l -391.4357 222.06693 l -391.33029 222.40952 l -390.4343 222.46222 l -390.80325 222.91022 l -390.90866 223.77986 l -390.11807 224.57045 l -389.38019 225.65091 l -388.6423 225.78267 l -387.43008 224.93939 l -386.85031 225.22926 l -386.6922 225.65091 l -385.95435 225.9408 l -385.90161 226.23067 l -384.42587 226.23067 l -384.26776 225.9408 l -383.21365 225.88809 l -382.68658 226.15161 l -382.26495 226.01985 l -381.52707 225.15021 l -381.26355 224.75491 l -380.20941 224.96574 l -379.78778 225.65091 l -379.41885 226.9422 l -378.89178 227.23207 l -378.47015 227.3902 l -379.47156 227.9436 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -379.47156 227.9436 m -378.36472 227.31114 l -377.83768 226.8895 l -377.73227 226.4415 l -377.99579 225.83537 l -377.99579 225.22926 l -377.1525 224.30692 l -376.99438 223.70081 l -376.99438 223.33186 l -376.46732 222.91022 l -376.41461 222.04057 l -376.15109 221.48717 l -375.62405 221.56622 l -375.78217 221.03917 l -376.15109 220.43306 l -375.99298 219.82695 l -376.46732 219.37895 l -376.15109 219.03636 l -376.52005 218.11401 l -377.2052 217.03355 l -378.47015 217.13896 l -378.41745 211.34135 l -378.41745 210.70888 l -380.104 210.70888 l -380.104 207.78372 l -386.00705 207.78372 l -391.64655 207.78372 l -397.44415 207.78372 l -397.91849 209.23312 l -397.60226 209.49666 l -397.81308 210.99876 l -398.39285 212.73805 l -398.91989 213.10698 l -399.71048 213.6604 l -398.9726 214.47733 l -397.91849 214.74086 l -397.44415 215.18886 l -397.28604 216.13756 l -396.65356 218.29848 l -396.81168 218.87825 l -396.60086 220.14317 l -396.02109 221.59258 l -395.12509 222.30411 l -394.49265 223.43727 l -394.3345 224.01704 l -393.64935 224.43867 l -393.22769 225.96715 l -393.22769 227.28479 l -393.22769 226.15161 l -393.01688 226.12526 l -393.01688 225.38739 l -392.85876 224.88667 l -392.12088 224.30692 l -391.91006 223.25281 l -392.12088 222.17235 l -391.4357 222.06693 l -391.33029 222.40952 l -390.4343 222.46222 l -390.80325 222.91022 l -390.90866 223.77986 l -390.11807 224.57045 l -389.38019 225.65091 l -388.6423 225.78267 l -387.43008 224.93939 l -386.85031 225.22926 l -386.6922 225.65091 l -385.95435 225.9408 l -385.90161 226.23067 l -384.42587 226.23067 l -384.26776 225.9408 l -383.21365 225.88809 l -382.68658 226.15161 l -382.26495 226.01985 l -381.52707 225.15021 l -381.26355 224.75491 l -380.20941 224.96574 l -379.78778 225.65091 l -379.41885 226.9422 l -378.89178 227.23207 l -378.47015 227.3902 l -379.47156 227.9436 l -h -S -/DeviceRGB {} CS -[0.051 0.0314 0.5294] SC -/DeviceRGB {} cs -[0.051 0.0314 0.5294] sc -390.4343 279.14706 m -390.17078 279.77951 l -389.27478 279.93765 l -388.43149 279.14706 l -388.43149 278.64636 l -388.80045 278.09296 l -388.95856 277.6713 l -389.38019 277.56589 l -390.11807 277.82941 l -390.32889 278.48825 l -390.4343 279.14706 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -390.4343 279.14706 m -390.17078 279.77951 l -389.27478 279.93765 l -388.43149 279.14706 l -388.43149 278.64636 l -388.80045 278.09296 l -388.95856 277.6713 l -389.38019 277.56589 l -390.11807 277.82941 l -390.32889 278.48825 l -390.4343 279.14706 l -h -S -/DeviceRGB {} CS -[0.9608 0.9098 0.1373] SC -/DeviceRGB {} cs -[0.9608 0.9098 0.1373] sc -359.65427 153.839584 m -360.28671 152.996292 l -361.49896 151.994888 l -361.9733 150.281952 l -361.0773 149.517731 l -360.97189 147.593964 l -361.92059 146.223633 l -363.34366 146.249985 l -363.8707 145.670212 l -363.34366 145.16951 l -365.60999 143.087646 l -367.08575 141.480133 l -368.03445 140.42601 l -369.45749 140.452362 l -369.82642 139.635437 l -372.61981 139.846252 l -372.83066 138.897552 l -373.72665 138.844849 l -375.67676 139.556366 l -377.94308 140.557785 l -377.99579 142.79776 l -378.47015 143.377533 l -375.99298 143.799164 l -374.56992 144.800583 l -374.78076 145.696564 l -372.4617 146.882446 l -369.6156 148.147385 l -368.56149 150.202896 l -369.6156 151.230652 l -370.98596 152.047592 l -369.6683 153.707809 l -368.13986 154.0504 l -367.56009 156.501205 l -366.7695 157.871552 l -364.97751 157.739792 l -364.13422 158.899307 l -362.44766 158.952026 l -361.9733 157.58168 l -360.76108 155.921448 l -359.65427 153.839584 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -359.65427 153.839584 m -360.28671 152.996292 l -361.49896 151.994888 l -361.9733 150.281952 l -361.0773 149.517731 l -360.97189 147.593964 l -361.92059 146.223633 l -363.34366 146.249985 l -363.8707 145.670212 l -363.34366 145.16951 l -365.60999 143.087646 l -367.08575 141.480133 l -368.03445 140.42601 l -369.45749 140.452362 l -369.82642 139.635437 l -372.61981 139.846252 l -372.83066 138.897552 l -373.72665 138.844849 l -375.67676 139.556366 l -377.94308 140.557785 l -377.99579 142.79776 l -378.47015 143.377533 l -375.99298 143.799164 l -374.56992 144.800583 l -374.78076 145.696564 l -372.4617 146.882446 l -369.6156 148.147385 l -368.56149 150.202896 l -369.6156 151.230652 l -370.98596 152.047592 l -369.6683 153.707809 l -368.13986 154.0504 l -367.56009 156.501205 l -366.7695 157.871552 l -364.97751 157.739792 l -364.13422 158.899307 l -362.44766 158.952026 l -361.9733 157.58168 l -360.76108 155.921448 l -359.65427 153.839584 l -h -S -/DeviceRGB {} CS -[0.949 0.9412 0.1333] SC -/DeviceRGB {} cs -[0.949 0.9412 0.1333] sc -357.54602 170.41548 m -357.59872 170.679 l -357.38791 171.04794 l -358.02039 171.31148 l -358.81097 171.36418 l -358.65286 171.94394 l -358.02039 172.20747 l -356.96628 172.02299 l -356.65002 172.60277 l -355.91217 172.65547 l -355.64862 172.41829 l -354.85806 172.91899 l -354.17288 172.99805 l -353.54041 172.68182 l -353.01337 172.02299 l -352.32819 172.26018 l -352.32819 171.60135 l -353.435 170.78442 l -353.38229 170.41548 l -354.01477 170.54724 l -354.4364 170.28372 l -355.70132 170.31007 l -355.96487 169.96748 l -357.54602 170.41548 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -357.54602 170.41548 m -357.59872 170.679 l -357.38791 171.04794 l -358.02039 171.31148 l -358.81097 171.36418 l -358.65286 171.94394 l -358.02039 172.20747 l -356.96628 172.02299 l -356.65002 172.60277 l -355.91217 172.65547 l -355.64862 172.41829 l -354.85806 172.91899 l -354.17288 172.99805 l -353.54041 172.68182 l -353.01337 172.02299 l -352.32819 172.26018 l -352.32819 171.60135 l -353.435 170.78442 l -353.38229 170.41548 l -354.01477 170.54724 l -354.4364 170.28372 l -355.70132 170.31007 l -355.96487 169.96748 l -357.54602 170.41548 l -h -S -/DeviceRGB {} CS -[0.9843 0.6627 0.2078] SC -/DeviceRGB {} cs -[0.9843 0.6627 0.2078] sc -395.81027 192.13017 m -395.75757 192.10382 l -395.96838 191.89299 l -395.91568 191.28688 l -396.28461 190.49629 l -397.0752 189.94289 l -396.86438 189.36313 l -396.1792 189.28407 l -396.07379 188.15091 l -396.44275 187.57114 l -396.81168 187.22856 l -397.1806 186.91232 l -397.28604 186.09538 l -397.76038 186.38527 l -399.39426 185.98997 l -400.13214 186.25349 l -401.34436 186.25349 l -403.03094 185.70009 l -403.8215 185.72644 l -405.50809 185.48927 l -404.7702 186.41162 l -403.92694 186.78056 l -404.08505 187.83467 l -403.50528 189.62666 l -400.29025 191.12877 l -397.44415 192.70993 l -395.81027 192.13017 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -395.81027 192.13017 m -395.75757 192.10382 l -395.96838 191.89299 l -395.91568 191.28688 l -396.28461 190.49629 l -397.0752 189.94289 l -396.86438 189.36313 l -396.1792 189.28407 l -396.07379 188.15091 l -396.44275 187.57114 l -396.81168 187.22856 l -397.1806 186.91232 l -397.28604 186.09538 l -397.76038 186.38527 l -399.39426 185.98997 l -400.13214 186.25349 l -401.34436 186.25349 l -403.03094 185.70009 l -403.8215 185.72644 l -405.50809 185.48927 l -404.7702 186.41162 l -403.92694 186.78056 l -404.08505 187.83467 l -403.50528 189.62666 l -400.29025 191.12877 l -397.44415 192.70993 l -395.81027 192.13017 l -h -S -/DeviceRGB {} CS -[0.9843 0.8157 0.1451] SC -/DeviceRGB {} cs -[0.9843 0.8157 0.1451] sc -521.77655 204.27881 m -520.88055 206.62421 l -520.24811 207.83643 l -519.51025 206.59785 l -519.29938 205.51738 l -520.19537 204.06798 l -521.35492 202.96117 l -522.0401 203.40916 l -521.77655 204.27881 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -521.77655 204.27881 m -520.88055 206.62421 l -520.24811 207.83643 l -519.51025 206.59785 l -519.29938 205.51738 l -520.19537 204.06798 l -521.35492 202.96117 l -522.0401 203.40916 l -521.77655 204.27881 l -h -S -/DeviceRGB {} CS -[0.5608 0.0627 0.6314] SC -/DeviceRGB {} cs -[0.5608 0.0627 0.6314] sc -393.12228 241.38351 m -393.3858 241.54164 l -398.70908 244.54585 l -398.76178 245.38914 l -400.87 246.83855 l -400.23755 248.65689 l -400.29025 249.47383 l -401.23895 250.00089 l -401.29166 250.39618 l -400.87 251.26581 l -400.9754 251.71381 l -400.87 252.42534 l -401.39706 253.34769 l -401.97684 254.77074 l -402.50388 255.11333 l -401.34436 255.9566 l -399.76318 256.51001 l -398.86719 256.48367 l -398.34015 256.93167 l -397.33875 256.98438 l -396.96979 257.16882 l -395.1778 256.74719 l -394.07098 256.8526 l -393.70206 254.87614 l -393.17499 254.19098 l -392.91147 253.79568 l -391.4357 253.5058 l -390.64514 253.08415 l -389.69641 252.82063 l -389.11667 252.58345 l -388.48419 252.21451 l -387.6936 250.36981 l -386.85031 249.55289 l -386.58679 248.68324 l -386.6922 247.94536 l -386.42868 246.57501 l -387.06116 246.52231 l -387.5882 245.99525 l -388.16797 245.23103 l -388.5369 244.91479 l -388.48419 244.44044 l -388.16797 244.09785 l -388.11526 243.54445 l -388.5369 243.35999 l -388.5896 242.49034 l -388.00986 241.6734 l -388.5369 241.48894 l -390.17078 241.51529 l -393.12228 241.38351 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -393.12228 241.38351 m -393.3858 241.54164 l -398.70908 244.54585 l -398.76178 245.38914 l -400.87 246.83855 l -400.23755 248.65689 l -400.29025 249.47383 l -401.23895 250.00089 l -401.29166 250.39618 l -400.87 251.26581 l -400.9754 251.71381 l -400.87 252.42534 l -401.39706 253.34769 l -401.97684 254.77074 l -402.50388 255.11333 l -401.34436 255.9566 l -399.76318 256.51001 l -398.86719 256.48367 l -398.34015 256.93167 l -397.33875 256.98438 l -396.96979 257.16882 l -395.1778 256.74719 l -394.07098 256.8526 l -393.70206 254.87614 l -393.17499 254.19098 l -392.91147 253.79568 l -391.4357 253.5058 l -390.64514 253.08415 l -389.69641 252.82063 l -389.11667 252.58345 l -388.48419 252.21451 l -387.6936 250.36981 l -386.85031 249.55289 l -386.58679 248.68324 l -386.6922 247.94536 l -386.42868 246.57501 l -387.06116 246.52231 l -387.5882 245.99525 l -388.16797 245.23103 l -388.5369 244.91479 l -388.48419 244.44044 l -388.16797 244.09785 l -388.11526 243.54445 l -388.5369 243.35999 l -388.5896 242.49034 l -388.00986 241.6734 l -388.5369 241.48894 l -390.17078 241.51529 l -393.12228 241.38351 l -h -S -/DeviceRGB {} CS -[0.9569 0.549 0.2784] SC -/DeviceRGB {} cs -[0.9569 0.549 0.2784] sc -497.53201 219.11542 m -496.16165 218.9046 l -494.26425 219.16812 l -493.31555 220.38036 l -493.68451 222.17235 l -492.36685 221.48717 l -491.10193 221.51352 l -491.31274 220.354 l -490.04782 220.38036 l -489.94241 221.98787 l -489.15182 224.12245 l -488.62476 225.41374 l -488.73019 226.46785 l -489.67889 226.52055 l -490.31134 227.86455 l -490.57486 229.12947 l -491.36545 229.97276 l -492.26144 230.13089 l -492.99933 230.89511 l -492.52499 231.50122 l -491.57629 231.65935 l -491.47086 230.92146 l -490.25864 230.26265 l -489.99512 230.52617 l -489.41534 229.97276 l -489.20453 229.26125 l -488.41394 228.41795 l -487.67606 227.73277 l -487.46524 228.60242 l -487.20172 227.78549 l -487.35983 226.86314 l -487.78149 225.46645 l -488.46664 223.96432 l -489.30994 222.59399 l -488.73019 221.25 l -488.73019 220.56482 l -488.57205 219.74789 l -487.57065 218.58836 l -487.25443 217.85049 l -487.72876 217.58696 l -488.30853 216.32202 l -487.67606 215.34697 l -486.78006 214.29286 l -486.04221 213.00157 l -486.67465 212.73805 l -487.30713 211.15688 l -488.36124 211.07782 l -489.20453 210.44536 l -490.04782 210.10277 l -490.6803 210.55077 l -490.78571 211.44676 l -491.78711 211.49947 l -491.41815 213.05428 l -491.41815 214.37192 l -492.99933 213.50227 l -493.42099 213.73946 l -494.26425 213.7131 l -494.58051 213.18605 l -495.68732 213.29146 l -496.79413 214.47733 l -496.89954 215.92673 l -498.05905 217.21802 l -498.00635 218.4566 l -497.53201 219.11542 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -497.53201 219.11542 m -496.16165 218.9046 l -494.26425 219.16812 l -493.31555 220.38036 l -493.68451 222.17235 l -492.36685 221.48717 l -491.10193 221.51352 l -491.31274 220.354 l -490.04782 220.38036 l -489.94241 221.98787 l -489.15182 224.12245 l -488.62476 225.41374 l -488.73019 226.46785 l -489.67889 226.52055 l -490.31134 227.86455 l -490.57486 229.12947 l -491.36545 229.97276 l -492.26144 230.13089 l -492.99933 230.89511 l -492.52499 231.50122 l -491.57629 231.65935 l -491.47086 230.92146 l -490.25864 230.26265 l -489.99512 230.52617 l -489.41534 229.97276 l -489.20453 229.26125 l -488.41394 228.41795 l -487.67606 227.73277 l -487.46524 228.60242 l -487.20172 227.78549 l -487.35983 226.86314 l -487.78149 225.46645 l -488.46664 223.96432 l -489.30994 222.59399 l -488.73019 221.25 l -488.73019 220.56482 l -488.57205 219.74789 l -487.57065 218.58836 l -487.25443 217.85049 l -487.72876 217.58696 l -488.30853 216.32202 l -487.67606 215.34697 l -486.78006 214.29286 l -486.04221 213.00157 l -486.67465 212.73805 l -487.30713 211.15688 l -488.36124 211.07782 l -489.20453 210.44536 l -490.04782 210.10277 l -490.6803 210.55077 l -490.78571 211.44676 l -491.78711 211.49947 l -491.41815 213.05428 l -491.41815 214.37192 l -492.99933 213.50227 l -493.42099 213.73946 l -494.26425 213.7131 l -494.58051 213.18605 l -495.68732 213.29146 l -496.79413 214.47733 l -496.89954 215.92673 l -498.05905 217.21802 l -498.00635 218.4566 l -497.53201 219.11542 l -h -S -/DeviceRGB {} CS -[0.7333 0.2078 0.5333] SC -/DeviceRGB {} cs -[0.7333 0.2078 0.5333] sc -344.79129 223.91162 m -344.63318 224.67586 l -345.05481 225.0975 l -345.58188 225.62456 l -345.63458 226.33609 l -345.95081 226.62596 l -345.8454 229.99911 l -346.21432 231.00052 l -345.05481 231.31676 l -344.73859 230.81606 l -344.31693 229.86736 l -344.21152 229.15582 l -344.52777 227.8382 l -344.15881 227.28479 l -344.05341 226.15161 l -344.05341 225.07115 l -343.42093 224.33327 l -343.52637 223.85892 l -344.79129 223.91162 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -344.79129 223.91162 m -344.63318 224.67586 l -345.05481 225.0975 l -345.58188 225.62456 l -345.63458 226.33609 l -345.95081 226.62596 l -345.8454 229.99911 l -346.21432 231.00052 l -345.05481 231.31676 l -344.73859 230.81606 l -344.31693 229.86736 l -344.21152 229.15582 l -344.52777 227.8382 l -344.15881 227.28479 l -344.05341 226.15161 l -344.05341 225.07115 l -343.42093 224.33327 l -343.52637 223.85892 l -344.79129 223.91162 l -h -S -/DeviceRGB {} CS -[0.949 0.5216 0.2941] SC -/DeviceRGB {} cs -[0.949 0.5216 0.2941] sc -253.18901 224.25421 m -254.0323 224.06975 l -254.34854 224.12245 l -254.29584 225.20291 l -253.0836 225.36102 l -252.82008 225.22926 l -253.24173 224.83397 l -253.18901 224.25421 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -253.18901 224.25421 m -254.0323 224.06975 l -254.34854 224.12245 l -254.29584 225.20291 l -253.0836 225.36102 l -252.82008 225.22926 l -253.24173 224.83397 l -253.18901 224.25421 l -h -S -/DeviceRGB {} CS -[0.9843 0.6549 0.2118] SC -/DeviceRGB {} cs -[0.9843 0.6549 0.2118] sc -357.38791 195.63509 m -356.75546 192.99982 l -355.85947 192.42006 l -355.85947 192.05112 l -354.64722 191.18147 l -354.48911 190.07466 l -355.43781 189.25772 l -355.75403 188.07184 l -355.54321 186.67514 l -355.80676 185.91092 l -357.44061 185.33116 l -358.44202 185.48927 l -358.38931 186.22714 l -359.65427 185.70009 l -359.75967 185.98997 l -359.02179 186.70149 l -359.02179 187.38667 l -359.49612 187.72926 l -359.33801 188.99419 l -358.33661 189.73207 l -358.65286 190.54901 l -359.39072 190.57536 l -359.75967 191.26053 l -360.33942 191.49771 l -360.23401 192.60452 l -359.49612 193.02617 l -359.07449 193.50052 l -358.07309 194.08028 l -358.2312 194.68639 l -358.07309 195.29251 l -357.38791 195.63509 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -357.38791 195.63509 m -356.75546 192.99982 l -355.85947 192.42006 l -355.85947 192.05112 l -354.64722 191.18147 l -354.48911 190.07466 l -355.43781 189.25772 l -355.75403 188.07184 l -355.54321 186.67514 l -355.80676 185.91092 l -357.44061 185.33116 l -358.44202 185.48927 l -358.38931 186.22714 l -359.65427 185.70009 l -359.75967 185.98997 l -359.02179 186.70149 l -359.02179 187.38667 l -359.49612 187.72926 l -359.33801 188.99419 l -358.33661 189.73207 l -358.65286 190.54901 l -359.39072 190.57536 l -359.75967 191.26053 l -360.33942 191.49771 l -360.23401 192.60452 l -359.49612 193.02617 l -359.07449 193.50052 l -358.07309 194.08028 l -358.2312 194.68639 l -358.07309 195.29251 l -357.38791 195.63509 l -h -S -/DeviceRGB {} CS -[0.9686 0.5843 0.2549] SC -/DeviceRGB {} cs -[0.9686 0.5843 0.2549] sc -409.03937 185.59468 m -408.35419 185.83186 l -407.82715 185.46292 l -406.14056 185.27844 l -405.50809 185.48927 l -403.8215 185.72644 l -403.03094 185.70009 l -401.34436 186.25349 l -400.13214 186.25349 l -399.39426 185.98997 l -397.76038 186.38527 l -397.28604 186.09538 l -397.1806 186.91232 l -396.81168 187.22856 l -396.44275 187.57114 l -395.86298 186.88597 l -396.44275 186.35892 l -395.54675 186.46432 l -394.3345 186.14809 l -393.3331 186.96503 l -391.06677 187.14949 l -389.90726 186.35892 l -388.32608 186.30621 l -388.00986 186.91232 l -386.95575 187.09679 l -385.58539 186.30621 l -383.95151 186.33257 l -383.10825 184.88316 l -382.0014 184.06622 l -382.73929 182.93304 l -381.79059 182.22153 l -383.42447 180.82483 l -385.6908 180.77213 l -386.32327 179.66531 l -389.11667 179.84978 l -390.85596 178.90108 l -392.54254 178.47943 l -394.96698 178.45308 l -397.54956 179.48083 l -399.65778 180.06059 l -401.34436 179.82343 l -402.60928 179.95518 l -404.34857 179.19096 l -405.87704 179.13824 l -407.30008 179.84978 l -407.5636 180.35048 l -407.40549 181.062 l -408.5123 181.43094 l -409.09207 181.85258 l -408.09067 182.27423 l -408.5123 183.96082 l -408.24878 184.40881 l -409.03937 185.59468 l -h -381.73788 178.76932 m -383.21365 178.32132 l -384.47858 178.50578 l -384.63669 179.05919 l -385.95435 179.53354 l -385.6908 179.90248 l -383.95151 179.98154 l -383.31906 180.42953 l -382.10681 181.22012 l -381.63248 180.53494 l -381.63248 180.24507 l -382.0014 180.06059 l -382.42307 179.1646 l -381.73788 178.76932 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -409.03937 185.59468 m -408.35419 185.83186 l -407.82715 185.46292 l -406.14056 185.27844 l -405.50809 185.48927 l -403.8215 185.72644 l -403.03094 185.70009 l -401.34436 186.25349 l -400.13214 186.25349 l -399.39426 185.98997 l -397.76038 186.38527 l -397.28604 186.09538 l -397.1806 186.91232 l -396.81168 187.22856 l -396.44275 187.57114 l -395.86298 186.88597 l -396.44275 186.35892 l -395.54675 186.46432 l -394.3345 186.14809 l -393.3331 186.96503 l -391.06677 187.14949 l -389.90726 186.35892 l -388.32608 186.30621 l -388.00986 186.91232 l -386.95575 187.09679 l -385.58539 186.30621 l -383.95151 186.33257 l -383.10825 184.88316 l -382.0014 184.06622 l -382.73929 182.93304 l -381.79059 182.22153 l -383.42447 180.82483 l -385.6908 180.77213 l -386.32327 179.66531 l -389.11667 179.84978 l -390.85596 178.90108 l -392.54254 178.47943 l -394.96698 178.45308 l -397.54956 179.48083 l -399.65778 180.06059 l -401.34436 179.82343 l -402.60928 179.95518 l -404.34857 179.19096 l -405.87704 179.13824 l -407.30008 179.84978 l -407.5636 180.35048 l -407.40549 181.062 l -408.5123 181.43094 l -409.09207 181.85258 l -408.09067 182.27423 l -408.5123 183.96082 l -408.24878 184.40881 l -409.03937 185.59468 l -h -381.73788 178.76932 m -383.21365 178.32132 l -384.47858 178.50578 l -384.63669 179.05919 l -385.95435 179.53354 l -385.6908 179.90248 l -383.95151 179.98154 l -383.31906 180.42953 l -382.10681 181.22012 l -381.63248 180.53494 l -381.63248 180.24507 l -382.0014 180.06059 l -382.42307 179.1646 l -381.73788 178.76932 l -h -S -/DeviceRGB {} CS -[0.5294 0.0471 0.6392] SC -/DeviceRGB {} cs -[0.5294 0.0471 0.6392] sc -393.12228 241.38351 m -390.17078 241.51529 l -388.5369 241.48894 l -388.00986 241.6734 l -387.16656 242.1214 l -386.79761 241.96329 l -386.79761 240.85646 l -387.16656 240.30305 l -387.21927 239.11719 l -387.53549 238.43201 l -388.11526 237.69414 l -388.6423 237.29884 l -389.11667 236.77179 l -388.5369 236.58731 l -388.6423 234.87439 l -389.22208 234.45274 l -390.17078 234.79532 l -391.33029 234.45274 l -392.3844 234.45274 l -393.2804 233.76756 l -393.96558 234.79532 l -394.12369 235.5332 l -394.80887 237.21979 l -394.2818 238.2739 l -393.54395 239.24895 l -393.12228 239.8287 l -393.12228 241.38351 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -393.12228 241.38351 m -390.17078 241.51529 l -388.5369 241.48894 l -388.00986 241.6734 l -387.16656 242.1214 l -386.79761 241.96329 l -386.79761 240.85646 l -387.16656 240.30305 l -387.21927 239.11719 l -387.53549 238.43201 l -388.11526 237.69414 l -388.6423 237.29884 l -389.11667 236.77179 l -388.5369 236.58731 l -388.6423 234.87439 l -389.22208 234.45274 l -390.17078 234.79532 l -391.33029 234.45274 l -392.3844 234.45274 l -393.2804 233.76756 l -393.96558 234.79532 l -394.12369 235.5332 l -394.80887 237.21979 l -394.2818 238.2739 l -393.54395 239.24895 l -393.12228 239.8287 l -393.12228 241.38351 l -h -S -/DeviceRGB {} CS -[0.9765 0.8549 0.1412] SC -/DeviceRGB {} cs -[0.9765 0.8549 0.1412] sc -334.40829 161.139297 m -333.30148 160.849426 l -332.40549 160.849426 l -332.72171 160.08519 l -332.40549 159.294601 l -333.61771 159.241898 l -335.19888 160.137894 l -334.40829 161.139297 l -h -337.3598 154.287582 m -339.09909 154.155807 l -337.51791 155.736984 l -339.04639 155.552505 l -340.62753 155.552505 l -340.25861 156.738388 l -338.94098 158.05603 l -340.46942 158.161438 l -340.57483 158.31955 l -341.89249 160.032486 l -342.89389 160.269653 l -343.78989 161.929886 l -344.21152 162.509644 l -345.95081 162.79953 l -345.79269 163.721878 l -345.05481 164.169876 l -345.63458 164.907745 l -344.31693 165.671982 l -342.36682 165.671982 l -339.83698 166.067276 l -339.15179 165.77739 l -338.20309 166.46257 l -336.83273 166.304443 l -335.83133 166.857849 l -335.04077 166.567978 l -337.20169 165.039505 l -338.51932 164.723282 l -338.46661 164.723282 l -336.20029 164.459747 l -335.77863 163.87999 l -337.3071 163.431992 l -336.51651 162.641403 l -336.78003 161.692703 l -338.99368 161.824478 l -339.2045 160.981186 l -338.20309 160.058838 l -336.4111 159.795303 l -336.04218 159.400024 l -336.56921 158.741196 l -336.09488 158.345901 l -335.30429 159.031082 l -335.25159 157.608032 l -334.5137 156.870148 l -335.04077 155.368042 l -336.14758 154.182159 l -337.3598 154.287582 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -334.40829 161.139297 m -333.30148 160.849426 l -332.40549 160.849426 l -332.72171 160.08519 l -332.40549 159.294601 l -333.61771 159.241898 l -335.19888 160.137894 l -334.40829 161.139297 l -h -337.3598 154.287582 m -339.09909 154.155807 l -337.51791 155.736984 l -339.04639 155.552505 l -340.62753 155.552505 l -340.25861 156.738388 l -338.94098 158.05603 l -340.46942 158.161438 l -340.57483 158.31955 l -341.89249 160.032486 l -342.89389 160.269653 l -343.78989 161.929886 l -344.21152 162.509644 l -345.95081 162.79953 l -345.79269 163.721878 l -345.05481 164.169876 l -345.63458 164.907745 l -344.31693 165.671982 l -342.36682 165.671982 l -339.83698 166.067276 l -339.15179 165.77739 l -338.20309 166.46257 l -336.83273 166.304443 l -335.83133 166.857849 l -335.04077 166.567978 l -337.20169 165.039505 l -338.51932 164.723282 l -338.46661 164.723282 l -336.20029 164.459747 l -335.77863 163.87999 l -337.3071 163.431992 l -336.51651 162.641403 l -336.78003 161.692703 l -338.99368 161.824478 l -339.2045 160.981186 l -338.20309 160.058838 l -336.4111 159.795303 l -336.04218 159.400024 l -336.56921 158.741196 l -336.09488 158.345901 l -335.30429 159.031082 l -335.25159 157.608032 l -334.5137 156.870148 l -335.04077 155.368042 l -336.14758 154.182159 l -337.3598 154.287582 l -h -S -/DeviceRGB {} CS -[0.9882 0.8078 0.149] SC -/DeviceRGB {} cs -[0.9882 0.8078 0.149] sc -163.694977 168.2809 m -167.8587 168.2809 l -172.18057 168.2809 l -173.60362 168.2809 l -178.08359 168.2809 l -182.40544 168.2809 l -186.78001 168.2809 l -191.20728 168.2809 l -196.16159 168.2809 l -201.16862 168.2809 l -204.17284 168.2809 l -204.22556 167.701141 l -204.69991 167.701141 l -204.96342 168.49173 l -205.43777 168.75525 l -206.43918 168.83432 l -207.91493 169.07149 l -209.33798 169.51949 l -210.55022 169.33502 l -212.34221 169.7303 l -212.81656 169.70395 l -214.1342 169.2823 l -215.50455 169.80937 l -216.9276 170.38913 l -218.13982 170.86348 l -219.24663 171.33783 l -219.40475 171.73312 l -219.72098 171.86488 l -219.66827 172.02299 l -220.03722 172.04935 l -220.30075 171.91759 l -220.40616 172.26018 l -220.66968 172.49734 l -221.09132 172.49734 l -221.30215 172.65547 l -221.14403 172.91899 l -222.6725 173.60417 l -222.98872 174.94817 l -223.25226 176.21309 l -222.83061 177.08273 l -222.14545 177.89967 l -221.82921 178.40038 l -221.7765 178.55849 l -221.93462 178.76932 l -222.46167 178.98013 l -222.83061 178.98013 l -224.5172 178.2159 l -226.04565 177.97873 l -227.94305 177.24084 l -227.94305 177.10909 l -227.83765 176.66109 l -227.62682 176.37122 l -228.25929 176.13403 l -229.68234 176.13403 l -231.05267 176.13403 l -231.52702 175.55428 l -231.68515 175.44887 l -233.26631 174.39474 l -233.89879 174.13123 l -236.11241 174.10487 l -238.8004 174.10487 l -238.95851 173.76228 l -239.43286 173.68323 l -240.06534 173.44604 l -240.59239 172.78723 l -241.01404 171.65407 l -242.12085 170.54724 l -242.6479 170.91618 l -243.5966 170.679 l -244.28178 171.10065 l -244.28178 173.10347 l -245.23048 173.92039 l -245.494 174.39474 l -243.91284 175.10628 l -242.38438 175.60698 l -240.85591 176.05498 l -240.06534 176.92462 l -239.85451 177.24084 l -239.8018 178.03143 l -240.32886 178.79567 l -240.90862 178.84837 l -240.7505 178.29497 l -241.17215 178.63754 l -241.06674 179.05919 l -240.06534 179.29637 l -239.38016 179.24367 l -238.32605 179.50719 l -237.69359 179.58624 l -236.79759 179.66531 l -235.58536 180.08694 l -237.74629 179.79707 l -238.16794 180.08694 l -236.11241 180.53494 l -235.21642 180.53494 l -235.21642 180.35048 l -234.79477 180.74577 l -235.21642 180.82483 l -234.90019 181.87894 l -233.84607 182.98576 l -233.74066 182.61682 l -233.42444 182.53777 l -232.95009 182.16882 l -233.21361 182.95941 l -233.58255 183.22293 l -233.63525 183.77634 l -233.1609 184.35609 l -232.31761 185.51563 l -232.2122 185.46292 l -232.63385 184.46152 l -231.89597 183.90811 l -231.73785 182.69588 l -231.47432 183.32834 l -231.73785 184.25069 l -230.78915 184.01352 l -231.79056 184.48787 l -231.84326 185.88457 l -232.26491 185.98997 l -232.42302 186.49068 l -232.63385 187.96643 l -231.73785 189.04689 l -230.2094 189.46854 l -229.2607 190.33818 l -228.52281 190.44359 l -227.78494 190.97064 l -227.57411 191.47136 l -225.94025 192.42006 l -225.09695 193.10522 l -224.41177 193.97487 l -224.20096 195.00262 l -224.46449 196.03038 l -224.93884 197.29532 l -225.62401 198.32307 l -225.62401 198.95554 l -226.30917 200.64212 l -226.25647 201.64352 l -226.20377 202.19693 l -225.83482 203.09293 l -225.41319 203.2774 l -224.67531 203.11928 l -224.46449 202.46046 l -223.88472 202.11787 l -223.09415 200.8793 l -222.40897 199.74612 l -222.19815 199.16637 l -222.51437 198.21767 l -222.09273 197.40073 l -220.93321 196.18851 l -220.40616 195.95132 l -218.9304 196.61014 l -218.66687 196.53108 l -217.929 195.87227 l -217.033 195.50333 l -215.34642 195.68781 l -214.08148 195.52968 l -212.97467 195.60873 l -212.34221 195.84592 l -212.60573 196.24121 l -212.60573 196.82097 l -212.86926 197.11086 l -212.60573 197.32167 l -212.07867 197.08449 l -211.49892 197.37437 l -210.44481 197.32167 l -209.3907 196.55743 l -208.07306 196.74191 l -207.01894 196.39932 l -206.12296 196.50473 l -204.85802 196.84732 l -203.54037 197.92778 l -202.11732 198.56026 l -201.27403 199.27177 l -200.95781 199.9306 l -200.95781 200.93201 l -201.01051 201.64352 l -201.27403 202.11787 l -200.74698 202.17058 l -199.69287 201.85435 l -198.53334 201.40636 l -198.11171 200.72118 l -197.79547 199.69342 l -196.95218 198.85013 l -196.42513 197.98048 l -195.68724 196.97908 l -194.68584 196.39932 l -193.47362 196.42567 l -192.57762 197.58521 l -191.36539 197.16356 l -190.57481 196.71556 l -190.20587 195.89862 l -189.73152 195.13438 l -188.88823 194.50192 l -188.09764 194.02757 l -187.57059 193.52687 l -185.04073 193.52687 l -185.04073 194.10663 l -183.8812 194.10663 l -180.98239 194.13298 l -177.60924 193.10522 l -175.44832 192.39371 l -175.55373 192.10382 l -173.70903 192.26193 l -172.02245 192.36734 l -171.81163 191.62947 l -170.86293 190.78618 l -170.17775 190.60172 l -170.01964 190.18007 l -169.17635 190.10101 l -168.64929 189.70572 l -167.278946 189.57396 l -166.910004 189.33678 l -166.751892 188.54619 l -165.328842 187.07043 l -164.116608 185.01492 l -164.169327 184.69868 l -163.484146 184.19798 l -162.377335 182.98576 l -162.166504 181.77353 l -161.375931 180.98294 l -161.692154 179.77072 l -161.63945 178.50578 l -161.217804 177.39897 l -161.744858 176.00227 l -161.955688 174.68463 l -162.1138 173.36699 l -161.850281 171.39053 l -161.375931 170.15195 l -160.954285 169.46678 l -161.1651 169.1769 l -163.273331 169.6776 l -164.063904 171.04794 l -164.432846 170.679 l -164.169327 169.46678 l -163.694977 168.2809 l -h -115.996437 210.60347 m -116.259964 210.73523 l -116.523491 210.91971 l -116.892433 211.44676 l -116.839722 211.52582 l -116.259964 211.84206 l -115.785614 212.05287 l -115.574791 212.31641 l -115.205849 212.10558 l -115.25856 211.68393 l -115.047737 211.15688 l -115.100441 210.99876 l -115.363968 210.76158 l -115.25856 210.47171 l -115.311264 210.33995 l -115.469383 210.3663 l -115.996437 210.60347 l -h -115.153145 209.60207 m -114.995033 209.78653 l -114.520683 209.89195 l -114.257149 209.57571 l -114.099037 209.44395 l -114.099037 209.3649 l -114.257149 209.23312 l -114.731499 209.39125 l -115.153145 209.60207 l -h -114.046333 208.99596 m -113.993622 209.15407 l -113.203041 209.12772 l -113.308449 208.94325 l -114.046333 208.99596 l -h -112.148933 208.20537 m -112.307045 208.31078 l -112.728691 208.78513 l -112.623283 208.86418 l -112.517868 208.86418 l -112.043518 208.81148 l -111.832695 208.4689 l -111.779991 208.4162 l -112.148933 208.20537 l -h -110.198822 207.46748 m -110.251526 207.81007 l -110.04071 207.9682 l -109.56636 207.70467 l -109.619064 207.59926 l -109.882591 207.44113 l -110.198822 207.46748 l -h -99.815826 151.599594 m -100.975349 151.731354 l -101.133469 152.311111 l -100.184769 152.521942 l -99.236069 152.258408 l -98.340073 151.863129 l -99.815826 151.599594 l -h -119.211472 155.130859 m -120.160179 155.236282 l -120.792641 155.68428 l -119.52771 156.395798 l -118.051956 156.949203 l -117.314072 156.580276 l -117.103256 155.895096 l -118.420891 155.368042 l -119.211472 155.130859 l -h -137.131363 137.948853 m -137.078659 143.377533 l -137.078659 151.705002 l -138.554413 151.757706 l -139.977463 152.153 l -140.978867 152.811829 l -142.296509 153.760529 l -143.719559 152.943588 l -145.195313 152.469238 l -145.933197 153.233459 l -146.934601 153.839584 l -148.304947 154.498398 l -149.200943 155.552505 l -150.676697 157.212738 l -153.206558 158.135086 l -153.206558 159.057434 l -152.415985 159.768951 l -151.625397 159.215546 l -150.307755 158.767548 l -149.886108 157.476257 l -147.988708 156.29039 l -147.198135 154.920044 l -145.827789 154.814636 l -143.508743 154.788284 l -141.769455 154.366638 l -138.765244 152.838181 l -137.342194 152.574646 l -134.759613 152.047592 l -132.756805 152.179352 l -129.858002 151.494186 l -128.118713 150.86171 l -126.537552 151.177948 l -126.801079 152.205704 l -126.01049 152.28476 l -124.323914 152.600998 l -123.006279 153.1017 l -121.42511 153.391586 l -121.214287 152.548294 l -121.846756 151.098892 l -123.427917 150.650894 l -123.006279 150.281952 l -121.161583 151.098892 l -120.160179 152.073944 l -118.051956 153.128052 l -119.106064 153.839584 l -117.735718 154.86734 l -116.154556 155.499802 l -114.678795 155.9478 l -114.30986 156.580276 l -112.043518 157.344498 l -111.569168 158.029678 l -109.882591 158.66214 l -108.828476 158.53038 l -107.510841 158.952026 l -105.982376 159.452728 l -104.770149 159.927078 l -102.292992 160.348724 l -102.029465 160.111542 l -103.663338 159.426376 l -105.086388 158.978378 l -106.614845 158.18779 l -108.459541 158.003326 l -109.197418 157.397202 l -111.200226 156.527557 l -111.516464 156.237686 l -112.623283 155.710632 l -112.88681 154.603806 l -113.624687 153.760529 l -111.93811 154.182159 l -111.46376 153.944992 l -110.673172 154.472046 l -109.724472 153.734177 l -109.302826 154.26123 l -108.775772 153.523346 l -107.300018 154.103104 l -106.404022 154.103104 l -106.245903 153.233459 l -106.509438 152.706406 l -105.613441 152.179352 l -103.663338 152.469238 l -102.451103 151.784058 l -101.449699 151.415131 l -101.449699 150.59819 l -100.290176 149.965729 l -100.869942 149.122437 l -102.082169 148.305496 l -102.609222 147.567612 l -103.768745 147.462204 l -104.770149 147.699387 l -105.982376 146.987854 l -107.036491 147.119614 l -108.143311 146.645264 l -107.879776 145.98645 l -107.036491 145.722931 l -108.143311 145.143158 l -107.247314 145.16951 l -105.666145 145.485748 l -105.244499 145.801987 l -104.084976 145.485748 l -102.029465 145.64386 l -99.86853 145.301285 l -99.236069 144.721512 l -97.391373 143.878235 l -99.446892 143.245758 l -102.71463 142.534241 l -103.926865 142.534241 l -103.716042 143.27211 l -106.825668 143.219406 l -105.613441 142.297058 l -103.821449 141.743652 l -102.767342 141.005783 l -101.396996 140.399658 l -99.39418 139.925308 l -100.184769 139.161087 l -102.767342 139.108368 l -104.612038 138.449554 l -104.980972 137.738037 l -106.456726 137.026505 l -107.932487 136.868393 l -110.673172 136.209564 l -112.043518 136.314987 l -114.257149 135.550751 l -116.470787 135.840637 l -117.577606 136.499451 l -118.210068 136.235916 l -120.687233 136.314987 l -120.581818 136.657562 l -122.84816 136.894745 l -124.323914 136.762985 l -127.43354 137.210968 l -130.226944 137.342743 l -131.333755 137.553558 l -133.283859 137.316391 l -135.497498 137.738037 l -137.131363 137.948853 l -h -92.120819 146.618912 m -93.016808 146.908798 l -93.912804 146.750687 l -95.125031 147.145981 l -96.54808 147.330444 l -96.442673 147.488556 l -95.335854 147.804794 l -94.229034 147.488556 l -93.649277 147.225037 l -92.384346 147.304092 l -92.015404 147.172333 l -92.120819 146.618912 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -163.694977 168.2809 m -167.8587 168.2809 l -172.18057 168.2809 l -173.60362 168.2809 l -178.08359 168.2809 l -182.40544 168.2809 l -186.78001 168.2809 l -191.20728 168.2809 l -196.16159 168.2809 l -201.16862 168.2809 l -204.17284 168.2809 l -204.22556 167.701141 l -204.69991 167.701141 l -204.96342 168.49173 l -205.43777 168.75525 l -206.43918 168.83432 l -207.91493 169.07149 l -209.33798 169.51949 l -210.55022 169.33502 l -212.34221 169.7303 l -212.81656 169.70395 l -214.1342 169.2823 l -215.50455 169.80937 l -216.9276 170.38913 l -218.13982 170.86348 l -219.24663 171.33783 l -219.40475 171.73312 l -219.72098 171.86488 l -219.66827 172.02299 l -220.03722 172.04935 l -220.30075 171.91759 l -220.40616 172.26018 l -220.66968 172.49734 l -221.09132 172.49734 l -221.30215 172.65547 l -221.14403 172.91899 l -222.6725 173.60417 l -222.98872 174.94817 l -223.25226 176.21309 l -222.83061 177.08273 l -222.14545 177.89967 l -221.82921 178.40038 l -221.7765 178.55849 l -221.93462 178.76932 l -222.46167 178.98013 l -222.83061 178.98013 l -224.5172 178.2159 l -226.04565 177.97873 l -227.94305 177.24084 l -227.94305 177.10909 l -227.83765 176.66109 l -227.62682 176.37122 l -228.25929 176.13403 l -229.68234 176.13403 l -231.05267 176.13403 l -231.52702 175.55428 l -231.68515 175.44887 l -233.26631 174.39474 l -233.89879 174.13123 l -236.11241 174.10487 l -238.8004 174.10487 l -238.95851 173.76228 l -239.43286 173.68323 l -240.06534 173.44604 l -240.59239 172.78723 l -241.01404 171.65407 l -242.12085 170.54724 l -242.6479 170.91618 l -243.5966 170.679 l -244.28178 171.10065 l -244.28178 173.10347 l -245.23048 173.92039 l -245.494 174.39474 l -243.91284 175.10628 l -242.38438 175.60698 l -240.85591 176.05498 l -240.06534 176.92462 l -239.85451 177.24084 l -239.8018 178.03143 l -240.32886 178.79567 l -240.90862 178.84837 l -240.7505 178.29497 l -241.17215 178.63754 l -241.06674 179.05919 l -240.06534 179.29637 l -239.38016 179.24367 l -238.32605 179.50719 l -237.69359 179.58624 l -236.79759 179.66531 l -235.58536 180.08694 l -237.74629 179.79707 l -238.16794 180.08694 l -236.11241 180.53494 l -235.21642 180.53494 l -235.21642 180.35048 l -234.79477 180.74577 l -235.21642 180.82483 l -234.90019 181.87894 l -233.84607 182.98576 l -233.74066 182.61682 l -233.42444 182.53777 l -232.95009 182.16882 l -233.21361 182.95941 l -233.58255 183.22293 l -233.63525 183.77634 l -233.1609 184.35609 l -232.31761 185.51563 l -232.2122 185.46292 l -232.63385 184.46152 l -231.89597 183.90811 l -231.73785 182.69588 l -231.47432 183.32834 l -231.73785 184.25069 l -230.78915 184.01352 l -231.79056 184.48787 l -231.84326 185.88457 l -232.26491 185.98997 l -232.42302 186.49068 l -232.63385 187.96643 l -231.73785 189.04689 l -230.2094 189.46854 l -229.2607 190.33818 l -228.52281 190.44359 l -227.78494 190.97064 l -227.57411 191.47136 l -225.94025 192.42006 l -225.09695 193.10522 l -224.41177 193.97487 l -224.20096 195.00262 l -224.46449 196.03038 l -224.93884 197.29532 l -225.62401 198.32307 l -225.62401 198.95554 l -226.30917 200.64212 l -226.25647 201.64352 l -226.20377 202.19693 l -225.83482 203.09293 l -225.41319 203.2774 l -224.67531 203.11928 l -224.46449 202.46046 l -223.88472 202.11787 l -223.09415 200.8793 l -222.40897 199.74612 l -222.19815 199.16637 l -222.51437 198.21767 l -222.09273 197.40073 l -220.93321 196.18851 l -220.40616 195.95132 l -218.9304 196.61014 l -218.66687 196.53108 l -217.929 195.87227 l -217.033 195.50333 l -215.34642 195.68781 l -214.08148 195.52968 l -212.97467 195.60873 l -212.34221 195.84592 l -212.60573 196.24121 l -212.60573 196.82097 l -212.86926 197.11086 l -212.60573 197.32167 l -212.07867 197.08449 l -211.49892 197.37437 l -210.44481 197.32167 l -209.3907 196.55743 l -208.07306 196.74191 l -207.01894 196.39932 l -206.12296 196.50473 l -204.85802 196.84732 l -203.54037 197.92778 l -202.11732 198.56026 l -201.27403 199.27177 l -200.95781 199.9306 l -200.95781 200.93201 l -201.01051 201.64352 l -201.27403 202.11787 l -200.74698 202.17058 l -199.69287 201.85435 l -198.53334 201.40636 l -198.11171 200.72118 l -197.79547 199.69342 l -196.95218 198.85013 l -196.42513 197.98048 l -195.68724 196.97908 l -194.68584 196.39932 l -193.47362 196.42567 l -192.57762 197.58521 l -191.36539 197.16356 l -190.57481 196.71556 l -190.20587 195.89862 l -189.73152 195.13438 l -188.88823 194.50192 l -188.09764 194.02757 l -187.57059 193.52687 l -185.04073 193.52687 l -185.04073 194.10663 l -183.8812 194.10663 l -180.98239 194.13298 l -177.60924 193.10522 l -175.44832 192.39371 l -175.55373 192.10382 l -173.70903 192.26193 l -172.02245 192.36734 l -171.81163 191.62947 l -170.86293 190.78618 l -170.17775 190.60172 l -170.01964 190.18007 l -169.17635 190.10101 l -168.64929 189.70572 l -167.278946 189.57396 l -166.910004 189.33678 l -166.751892 188.54619 l -165.328842 187.07043 l -164.116608 185.01492 l -164.169327 184.69868 l -163.484146 184.19798 l -162.377335 182.98576 l -162.166504 181.77353 l -161.375931 180.98294 l -161.692154 179.77072 l -161.63945 178.50578 l -161.217804 177.39897 l -161.744858 176.00227 l -161.955688 174.68463 l -162.1138 173.36699 l -161.850281 171.39053 l -161.375931 170.15195 l -160.954285 169.46678 l -161.1651 169.1769 l -163.273331 169.6776 l -164.063904 171.04794 l -164.432846 170.679 l -164.169327 169.46678 l -163.694977 168.2809 l -h -115.996437 210.60347 m -116.259964 210.73523 l -116.523491 210.91971 l -116.892433 211.44676 l -116.839722 211.52582 l -116.259964 211.84206 l -115.785614 212.05287 l -115.574791 212.31641 l -115.205849 212.10558 l -115.25856 211.68393 l -115.047737 211.15688 l -115.100441 210.99876 l -115.363968 210.76158 l -115.25856 210.47171 l -115.311264 210.33995 l -115.469383 210.3663 l -115.996437 210.60347 l -h -115.153145 209.60207 m -114.995033 209.78653 l -114.520683 209.89195 l -114.257149 209.57571 l -114.099037 209.44395 l -114.099037 209.3649 l -114.257149 209.23312 l -114.731499 209.39125 l -115.153145 209.60207 l -h -114.046333 208.99596 m -113.993622 209.15407 l -113.203041 209.12772 l -113.308449 208.94325 l -114.046333 208.99596 l -h -112.148933 208.20537 m -112.307045 208.31078 l -112.728691 208.78513 l -112.623283 208.86418 l -112.517868 208.86418 l -112.043518 208.81148 l -111.832695 208.4689 l -111.779991 208.4162 l -112.148933 208.20537 l -h -110.198822 207.46748 m -110.251526 207.81007 l -110.04071 207.9682 l -109.56636 207.70467 l -109.619064 207.59926 l -109.882591 207.44113 l -110.198822 207.46748 l -h -99.815826 151.599594 m -100.975349 151.731354 l -101.133469 152.311111 l -100.184769 152.521942 l -99.236069 152.258408 l -98.340073 151.863129 l -99.815826 151.599594 l -h -119.211472 155.130859 m -120.160179 155.236282 l -120.792641 155.68428 l -119.52771 156.395798 l -118.051956 156.949203 l -117.314072 156.580276 l -117.103256 155.895096 l -118.420891 155.368042 l -119.211472 155.130859 l -h -137.131363 137.948853 m -137.078659 143.377533 l -137.078659 151.705002 l -138.554413 151.757706 l -139.977463 152.153 l -140.978867 152.811829 l -142.296509 153.760529 l -143.719559 152.943588 l -145.195313 152.469238 l -145.933197 153.233459 l -146.934601 153.839584 l -148.304947 154.498398 l -149.200943 155.552505 l -150.676697 157.212738 l -153.206558 158.135086 l -153.206558 159.057434 l -152.415985 159.768951 l -151.625397 159.215546 l -150.307755 158.767548 l -149.886108 157.476257 l -147.988708 156.29039 l -147.198135 154.920044 l -145.827789 154.814636 l -143.508743 154.788284 l -141.769455 154.366638 l -138.765244 152.838181 l -137.342194 152.574646 l -134.759613 152.047592 l -132.756805 152.179352 l -129.858002 151.494186 l -128.118713 150.86171 l -126.537552 151.177948 l -126.801079 152.205704 l -126.01049 152.28476 l -124.323914 152.600998 l -123.006279 153.1017 l -121.42511 153.391586 l -121.214287 152.548294 l -121.846756 151.098892 l -123.427917 150.650894 l -123.006279 150.281952 l -121.161583 151.098892 l -120.160179 152.073944 l -118.051956 153.128052 l -119.106064 153.839584 l -117.735718 154.86734 l -116.154556 155.499802 l -114.678795 155.9478 l -114.30986 156.580276 l -112.043518 157.344498 l -111.569168 158.029678 l -109.882591 158.66214 l -108.828476 158.53038 l -107.510841 158.952026 l -105.982376 159.452728 l -104.770149 159.927078 l -102.292992 160.348724 l -102.029465 160.111542 l -103.663338 159.426376 l -105.086388 158.978378 l -106.614845 158.18779 l -108.459541 158.003326 l -109.197418 157.397202 l -111.200226 156.527557 l -111.516464 156.237686 l -112.623283 155.710632 l -112.88681 154.603806 l -113.624687 153.760529 l -111.93811 154.182159 l -111.46376 153.944992 l -110.673172 154.472046 l -109.724472 153.734177 l -109.302826 154.26123 l -108.775772 153.523346 l -107.300018 154.103104 l -106.404022 154.103104 l -106.245903 153.233459 l -106.509438 152.706406 l -105.613441 152.179352 l -103.663338 152.469238 l -102.451103 151.784058 l -101.449699 151.415131 l -101.449699 150.59819 l -100.290176 149.965729 l -100.869942 149.122437 l -102.082169 148.305496 l -102.609222 147.567612 l -103.768745 147.462204 l -104.770149 147.699387 l -105.982376 146.987854 l -107.036491 147.119614 l -108.143311 146.645264 l -107.879776 145.98645 l -107.036491 145.722931 l -108.143311 145.143158 l -107.247314 145.16951 l -105.666145 145.485748 l -105.244499 145.801987 l -104.084976 145.485748 l -102.029465 145.64386 l -99.86853 145.301285 l -99.236069 144.721512 l -97.391373 143.878235 l -99.446892 143.245758 l -102.71463 142.534241 l -103.926865 142.534241 l -103.716042 143.27211 l -106.825668 143.219406 l -105.613441 142.297058 l -103.821449 141.743652 l -102.767342 141.005783 l -101.396996 140.399658 l -99.39418 139.925308 l -100.184769 139.161087 l -102.767342 139.108368 l -104.612038 138.449554 l -104.980972 137.738037 l -106.456726 137.026505 l -107.932487 136.868393 l -110.673172 136.209564 l -112.043518 136.314987 l -114.257149 135.550751 l -116.470787 135.840637 l -117.577606 136.499451 l -118.210068 136.235916 l -120.687233 136.314987 l -120.581818 136.657562 l -122.84816 136.894745 l -124.323914 136.762985 l -127.43354 137.210968 l -130.226944 137.342743 l -131.333755 137.553558 l -133.283859 137.316391 l -135.497498 137.738037 l -137.131363 137.948853 l -h -92.120819 146.618912 m -93.016808 146.908798 l -93.912804 146.750687 l -95.125031 147.145981 l -96.54808 147.330444 l -96.442673 147.488556 l -95.335854 147.804794 l -94.229034 147.488556 l -93.649277 147.225037 l -92.384346 147.304092 l -92.015404 147.172333 l -92.120819 146.618912 l -h -S -/DeviceRGB {} CS -[0.9882 0.7412 0.1725] SC -/DeviceRGB {} cs -[0.9882 0.7412 0.1725] sc -259.14474 284.23315 m -260.09344 284.07501 l -261.56921 285.20819 l -262.09625 285.15549 l -263.62473 286.10419 l -264.78424 286.92114 l -265.62753 287.92255 l -264.94235 288.6077 l -265.36401 289.42465 l -264.73154 290.34698 l -263.09766 291.16394 l -261.99084 290.87405 l -261.20026 291.03217 l -259.82993 290.39969 l -258.88123 290.45239 l -257.98523 289.63547 l -258.09064 288.68677 l -258.40686 288.37054 l -258.40686 286.92114 l -258.77582 285.39267 l -259.14474 284.23315 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -259.14474 284.23315 m -260.09344 284.07501 l -261.56921 285.20819 l -262.09625 285.15549 l -263.62473 286.10419 l -264.78424 286.92114 l -265.62753 287.92255 l -264.94235 288.6077 l -265.36401 289.42465 l -264.73154 290.34698 l -263.09766 291.16394 l -261.99084 290.87405 l -261.20026 291.03217 l -259.82993 290.39969 l -258.88123 290.45239 l -257.98523 289.63547 l -258.09064 288.68677 l -258.40686 288.37054 l -258.40686 286.92114 l -258.77582 285.39267 l -259.14474 284.23315 l -h -S -/DeviceRGB {} CS -[0.9843 0.6471 0.2157] SC -/DeviceRGB {} cs -[0.9843 0.6471 0.2157] sc -254.61206 232.39722 m -254.77019 232.79251 l -254.24313 233.34592 l -252.60925 233.89934 l -251.55515 234.13651 l -251.1335 234.4791 l -249.97398 234.11015 l -248.86716 233.92569 l -248.60364 234.05745 l -249.2888 234.45274 l -249.2361 235.4278 l -249.39421 236.35014 l -250.65915 236.4819 l -250.71185 236.77179 l -249.71045 237.19344 l -249.49963 237.8259 l -248.91986 238.06306 l -247.81305 238.40565 l -247.54951 238.85365 l -246.39 238.93271 l -245.59941 238.16849 l -245.17776 236.69272 l -244.75613 236.19202 l -244.22906 235.87579 l -244.96695 235.13791 l -244.91425 234.82169 l -244.4926 234.37369 l -244.22906 233.39862 l -244.33449 232.34451 l -244.65071 231.87016 l -244.91425 231.07959 l -244.38719 230.81606 l -243.5439 231.00052 l -242.48979 230.92146 l -241.91003 231.07959 l -240.90862 229.81465 l -240.06534 229.63019 l -238.16794 229.76195 l -237.799 229.26125 l -237.43005 229.12947 l -237.37735 228.8396 l -237.58817 228.28619 l -237.43005 227.70642 l -237.11382 227.36385 l -236.9557 226.70502 l -236.16512 226.59961 l -236.58676 225.75632 l -236.79759 224.70221 l -237.21924 224.1488 l -237.74629 223.72716 l -238.11522 223.01563 l -239.06392 222.75211 l -239.01122 223.0947 l -238.16794 223.27916 l -238.64229 223.93797 l -238.64229 224.70221 l -238.00981 225.5455 l -238.53687 226.73137 l -239.16934 226.62596 l -239.48557 225.57185 l -239.06392 225.0448 l -238.95851 223.93797 l -240.80321 223.35822 l -240.59239 222.6467 l -241.11945 222.1987 l -241.6465 223.22646 l -242.6479 223.25281 l -243.5966 224.06975 l -243.64931 224.5441 l -244.96695 224.57045 l -246.54811 224.41232 l -247.3914 225.07115 l -248.49821 225.25562 l -249.34151 224.78127 l -249.34151 224.41232 l -251.1335 224.33327 l -252.92549 224.30692 l -251.66055 224.75491 l -252.18761 225.44009 l -253.34714 225.5455 l -254.45395 226.25702 l -254.66478 227.4429 l -255.45535 227.41655 l -256.03513 227.75914 l -254.8756 228.60242 l -254.71748 229.15582 l -255.24454 229.68289 l -254.8756 229.97276 l -253.9796 230.20995 l -253.9796 230.86876 l -253.61066 231.26405 l -254.61206 232.39722 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -254.61206 232.39722 m -254.77019 232.79251 l -254.24313 233.34592 l -252.60925 233.89934 l -251.55515 234.13651 l -251.1335 234.4791 l -249.97398 234.11015 l -248.86716 233.92569 l -248.60364 234.05745 l -249.2888 234.45274 l -249.2361 235.4278 l -249.39421 236.35014 l -250.65915 236.4819 l -250.71185 236.77179 l -249.71045 237.19344 l -249.49963 237.8259 l -248.91986 238.06306 l -247.81305 238.40565 l -247.54951 238.85365 l -246.39 238.93271 l -245.59941 238.16849 l -245.17776 236.69272 l -244.75613 236.19202 l -244.22906 235.87579 l -244.96695 235.13791 l -244.91425 234.82169 l -244.4926 234.37369 l -244.22906 233.39862 l -244.33449 232.34451 l -244.65071 231.87016 l -244.91425 231.07959 l -244.38719 230.81606 l -243.5439 231.00052 l -242.48979 230.92146 l -241.91003 231.07959 l -240.90862 229.81465 l -240.06534 229.63019 l -238.16794 229.76195 l -237.799 229.26125 l -237.43005 229.12947 l -237.37735 228.8396 l -237.58817 228.28619 l -237.43005 227.70642 l -237.11382 227.36385 l -236.9557 226.70502 l -236.16512 226.59961 l -236.58676 225.75632 l -236.79759 224.70221 l -237.21924 224.1488 l -237.74629 223.72716 l -238.11522 223.01563 l -239.06392 222.75211 l -239.01122 223.0947 l -238.16794 223.27916 l -238.64229 223.93797 l -238.64229 224.70221 l -238.00981 225.5455 l -238.53687 226.73137 l -239.16934 226.62596 l -239.48557 225.57185 l -239.06392 225.0448 l -238.95851 223.93797 l -240.80321 223.35822 l -240.59239 222.6467 l -241.11945 222.1987 l -241.6465 223.22646 l -242.6479 223.25281 l -243.5966 224.06975 l -243.64931 224.5441 l -244.96695 224.57045 l -246.54811 224.41232 l -247.3914 225.07115 l -248.49821 225.25562 l -249.34151 224.78127 l -249.34151 224.41232 l -251.1335 224.33327 l -252.92549 224.30692 l -251.66055 224.75491 l -252.18761 225.44009 l -253.34714 225.5455 l -254.45395 226.25702 l -254.66478 227.4429 l -255.45535 227.41655 l -256.03513 227.75914 l -254.8756 228.60242 l -254.71748 229.15582 l -255.24454 229.68289 l -254.8756 229.97276 l -253.9796 230.20995 l -253.9796 230.86876 l -253.61066 231.26405 l -254.61206 232.39722 l -h -S -/DeviceRGB {} CS -[0.9882 0.6667 0.2078] SC -/DeviceRGB {} cs -[0.9882 0.6667 0.2078] sc -496.21436 224.64951 m -497.47931 224.06975 l -499.06046 223.96432 l -498.37531 223.06834 l -500.85245 221.93517 l -501.01059 220.19588 l -500.69434 219.22083 l -500.95789 217.74507 l -500.58893 216.71732 l -499.48212 215.68956 l -498.58612 214.39827 l -497.3739 212.68535 l -495.58191 211.78935 l -496.00354 211.2623 l -496.95224 210.89336 l -496.3725 209.60207 l -494.58051 209.60207 l -493.94803 208.25807 l -493.05203 207.12491 l -493.84262 206.75597 l -495.00214 206.75597 l -496.4252 206.59785 l -497.69012 205.80727 l -498.37531 206.36067 l -499.74564 206.62421 l -499.48212 207.46748 l -500.22 208.07361 l -501.69574 208.44255 l -499.74564 209.70747 l -498.48071 211.07782 l -498.16449 212.10558 l -499.32401 213.63405 l -500.64163 215.5578 l -502.01199 216.4538 l -502.90799 217.63966 l -503.54044 220.354 l -503.38232 222.91022 l -502.1174 223.88527 l -500.48352 224.83397 l -499.2713 226.0462 l -497.42661 227.41655 l -496.89954 226.46785 l -497.3212 225.4928 l -496.21436 224.64951 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -496.21436 224.64951 m -497.47931 224.06975 l -499.06046 223.96432 l -498.37531 223.06834 l -500.85245 221.93517 l -501.01059 220.19588 l -500.69434 219.22083 l -500.95789 217.74507 l -500.58893 216.71732 l -499.48212 215.68956 l -498.58612 214.39827 l -497.3739 212.68535 l -495.58191 211.78935 l -496.00354 211.2623 l -496.95224 210.89336 l -496.3725 209.60207 l -494.58051 209.60207 l -493.94803 208.25807 l -493.05203 207.12491 l -493.84262 206.75597 l -495.00214 206.75597 l -496.4252 206.59785 l -497.69012 205.80727 l -498.37531 206.36067 l -499.74564 206.62421 l -499.48212 207.46748 l -500.22 208.07361 l -501.69574 208.44255 l -499.74564 209.70747 l -498.48071 211.07782 l -498.16449 212.10558 l -499.32401 213.63405 l -500.64163 215.5578 l -502.01199 216.4538 l -502.90799 217.63966 l -503.54044 220.354 l -503.38232 222.91022 l -502.1174 223.88527 l -500.48352 224.83397 l -499.2713 226.0462 l -497.42661 227.41655 l -496.89954 226.46785 l -497.3212 225.4928 l -496.21436 224.64951 l -h -S -/DeviceRGB {} CS -[0.9843 0.6353 0.2196] SC -/DeviceRGB {} cs -[0.9843 0.6353 0.2196] sc -395.33591 193.89581 m -394.65076 194.10663 l -394.70346 193.71133 l -395.07239 193.52687 l -394.70346 193.34241 l -395.01968 192.36734 l -395.54675 192.57817 l -395.54675 193.47417 l -395.33591 193.89581 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -395.33591 193.89581 m -394.65076 194.10663 l -394.70346 193.71133 l -395.07239 193.52687 l -394.70346 193.34241 l -395.01968 192.36734 l -395.54675 192.57817 l -395.54675 193.47417 l -395.33591 193.89581 l -h -S -/DeviceRGB {} CS -[0.8275 0.3216 0.4392] SC -/DeviceRGB {} cs -[0.8275 0.3216 0.4392] sc -419.63318 212.18463 m -420.79269 214.6091 l -421.26706 215.63686 l -420.16025 216.0058 l -419.89673 216.66461 l -419.84399 217.16531 l -418.42096 217.79778 l -416.04919 218.4566 l -414.78427 219.51071 l -414.09909 219.58977 l -413.67746 219.48436 l -412.83417 220.09047 l -411.88547 220.38036 l -410.67325 220.45941 l -410.30429 220.53847 l -409.98807 220.93376 l -409.56644 221.03917 l -409.35559 221.40811 l -408.61774 221.38176 l -408.14337 221.56622 l -407.14197 221.51352 l -406.77304 220.64388 l -406.82574 219.8533 l -406.56219 219.4053 l -406.29868 218.32484 l -405.87704 217.71872 l -406.14056 217.66602 l -406.03516 216.98085 l -406.19327 216.71732 l -406.14056 216.0585 l -406.77304 215.6105 l -406.6149 214.97803 l -406.98386 214.26651 l -407.61633 214.63545 l -407.98526 214.50368 l -409.67184 214.47733 l -409.93536 214.63545 l -411.3584 214.76721 l -411.93817 214.68816 l -412.3071 215.18886 l -412.99228 214.95168 l -414.04639 213.39687 l -415.41675 212.73805 l -419.63318 212.18463 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -419.63318 212.18463 m -420.79269 214.6091 l -421.26706 215.63686 l -420.16025 216.0058 l -419.89673 216.66461 l -419.84399 217.16531 l -418.42096 217.79778 l -416.04919 218.4566 l -414.78427 219.51071 l -414.09909 219.58977 l -413.67746 219.48436 l -412.83417 220.09047 l -411.88547 220.38036 l -410.67325 220.45941 l -410.30429 220.53847 l -409.98807 220.93376 l -409.56644 221.03917 l -409.35559 221.40811 l -408.61774 221.38176 l -408.14337 221.56622 l -407.14197 221.51352 l -406.77304 220.64388 l -406.82574 219.8533 l -406.56219 219.4053 l -406.29868 218.32484 l -405.87704 217.71872 l -406.14056 217.66602 l -406.03516 216.98085 l -406.19327 216.71732 l -406.14056 216.0585 l -406.77304 215.6105 l -406.6149 214.97803 l -406.98386 214.26651 l -407.61633 214.63545 l -407.98526 214.50368 l -409.67184 214.47733 l -409.93536 214.63545 l -411.3584 214.76721 l -411.93817 214.68816 l -412.3071 215.18886 l -412.99228 214.95168 l -414.04639 213.39687 l -415.41675 212.73805 l -419.63318 212.18463 l -h -S -/DeviceRGB {} CS -[0.1804 0.0196 0.5843] SC -/DeviceRGB {} cs -[0.1804 0.0196 0.5843] sc -388.48419 252.21451 m -389.11667 252.58345 l -389.69641 252.82063 l -390.64514 253.08415 l -391.4357 253.5058 l -392.17358 254.16463 l -392.54254 255.4032 l -392.27899 255.79849 l -391.96277 256.98438 l -392.27899 258.19659 l -391.80466 258.72366 l -391.33029 260.06766 l -392.12088 260.46292 l -387.6936 261.6488 l -387.79901 262.70291 l -386.6922 262.91376 l -385.90161 263.4935 l -385.6908 263.9942 l -385.16376 264.09961 l -383.8988 265.31186 l -383.10825 266.26056 l -382.58118 266.2869 l -382.10681 266.12878 l -380.47296 265.97067 l -380.20941 265.86526 l -380.20941 265.73349 l -379.62967 265.3909 l -378.68097 265.31186 l -377.46875 265.65442 l -376.52005 264.73209 l -375.51862 263.5462 l -375.62405 258.88177 l -378.68097 258.90811 l -378.52286 258.40741 l -378.73367 257.854 l -378.47015 257.16882 l -378.68097 256.45731 l -378.52286 255.98296 l -378.99719 256.03568 l -379.1026 256.48367 l -379.78778 256.45731 l -380.68378 256.58908 l -381.21082 257.24789 l -382.37036 257.45871 l -383.26636 256.98438 l -383.58258 257.7486 l -384.7421 257.95941 l -385.26917 258.59189 l -385.84891 259.38248 l -386.95575 259.40881 l -386.85031 257.82767 l -386.42868 258.09119 l -385.42728 257.53778 l -385.05835 257.27426 l -385.21646 255.79849 l -385.47998 254.0592 l -385.16376 253.42674 l -385.58539 252.47804 l -385.95435 252.31993 l -387.90445 252.0564 l -388.48419 252.21451 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -388.48419 252.21451 m -389.11667 252.58345 l -389.69641 252.82063 l -390.64514 253.08415 l -391.4357 253.5058 l -392.17358 254.16463 l -392.54254 255.4032 l -392.27899 255.79849 l -391.96277 256.98438 l -392.27899 258.19659 l -391.80466 258.72366 l -391.33029 260.06766 l -392.12088 260.46292 l -387.6936 261.6488 l -387.79901 262.70291 l -386.6922 262.91376 l -385.90161 263.4935 l -385.6908 263.9942 l -385.16376 264.09961 l -383.8988 265.31186 l -383.10825 266.26056 l -382.58118 266.2869 l -382.10681 266.12878 l -380.47296 265.97067 l -380.20941 265.86526 l -380.20941 265.73349 l -379.62967 265.3909 l -378.68097 265.31186 l -377.46875 265.65442 l -376.52005 264.73209 l -375.51862 263.5462 l -375.62405 258.88177 l -378.68097 258.90811 l -378.52286 258.40741 l -378.73367 257.854 l -378.47015 257.16882 l -378.68097 256.45731 l -378.52286 255.98296 l -378.99719 256.03568 l -379.1026 256.48367 l -379.78778 256.45731 l -380.68378 256.58908 l -381.21082 257.24789 l -382.37036 257.45871 l -383.26636 256.98438 l -383.58258 257.7486 l -384.7421 257.95941 l -385.26917 258.59189 l -385.84891 259.38248 l -386.95575 259.40881 l -386.85031 257.82767 l -386.42868 258.09119 l -385.42728 257.53778 l -385.05835 257.27426 l -385.21646 255.79849 l -385.47998 254.0592 l -385.16376 253.42674 l -385.58539 252.47804 l -385.95435 252.31993 l -387.90445 252.0564 l -388.48419 252.21451 l -h -S -/DeviceRGB {} CS -[0.2314 0.0157 0.6039] SC -/DeviceRGB {} cs -[0.2314 0.0157 0.6039] sc -389.16937 272.58521 m -388.37878 272.42709 l -387.90445 272.61157 l -387.16656 272.34805 l -386.58679 272.34805 l -385.63809 271.68921 l -384.53128 271.45206 l -384.10965 270.52969 l -384.10965 270.00266 l -383.47717 269.84451 l -381.79059 268.237 l -381.31625 267.39371 l -381.0527 267.13019 l -380.47296 265.97067 l -382.10681 266.12878 l -382.58118 266.2869 l -383.10825 266.26056 l -383.8988 265.31186 l -385.16376 264.09961 l -385.6908 263.9942 l -385.90161 263.4935 l -386.6922 262.91376 l -387.79901 262.70291 l -387.90445 263.25632 l -389.11667 263.22998 l -389.80185 263.51987 l -390.11807 263.88879 l -390.80325 263.9942 l -391.59384 264.46857 l -391.59384 266.31326 l -391.27759 267.341 l -391.22488 268.42148 l -391.4884 268.86948 l -391.33029 269.71277 l -391.06677 269.84451 l -390.69785 270.92499 l -389.16937 272.58521 l -h -f -/DeviceRGB {} CS -[0.2667 0.2667 0.2667] SC -/DeviceRGB {} cs -[0.2667 0.2667 0.2667] sc -1 w -0 J -0 j -4 M -1 w -0 J -0 j -4 M -389.16937 272.58521 m -388.37878 272.42709 l -387.90445 272.61157 l -387.16656 272.34805 l -386.58679 272.34805 l -385.63809 271.68921 l -384.53128 271.45206 l -384.10965 270.52969 l -384.10965 270.00266 l -383.47717 269.84451 l -381.79059 268.237 l -381.31625 267.39371 l -381.0527 267.13019 l -380.47296 265.97067 l -382.10681 266.12878 l -382.58118 266.2869 l -383.10825 266.26056 l -383.8988 265.31186 l -385.16376 264.09961 l -385.6908 263.9942 l -385.90161 263.4935 l -386.6922 262.91376 l -387.79901 262.70291 l -387.90445 263.25632 l -389.11667 263.22998 l -389.80185 263.51987 l -390.11807 263.88879 l -390.80325 263.9942 l -391.59384 264.46857 l -391.59384 266.31326 l -391.27759 267.341 l -391.22488 268.42148 l -391.4884 268.86948 l -391.33029 269.71277 l -391.06677 269.84451 l -390.69785 270.92499 l -389.16937 272.58521 l -h -S -/DeviceRGB {} CS -[1 1 1] SC -/DeviceRGB {} cs -[1 1 1] sc -499.53482 162.694122 m -499.48212 162.509644 l -500.27271 162.140701 l -500.58893 161.85083 l -501.01059 161.639999 l -501.64304 161.165649 l -502.1701 160.55954 l -503.1188 159.452728 l -503.32962 158.688492 l -503.80399 158.424957 l -504.43643 158.451324 l -504.0675 159.505432 l -504.0148 159.900726 l -503.75125 160.454132 l -503.54044 161.218353 l -503.38232 161.50824 l -503.0661 161.271057 l -502.48633 161.771774 l -502.74985 161.85083 l -502.69714 162.114349 l -502.27551 162.219772 l -501.85385 162.694122 l -501.32681 163.036697 l -500.58893 163.27388 l -499.58752 163.40564 l -498.79694 163.827286 l -498.2699 164.22258 l -497.58472 164.591522 l -496.95224 164.670578 l -496.16165 164.617874 l -495.37109 164.459747 l -495.21295 164.248932 l -495.52921 164.090805 l -496.31979 164.090805 l -497.3212 163.87999 l -497.90094 163.458344 l -498.63882 163.115753 l -499.06046 162.957642 l -499.53482 162.694122 l -h -198.63876 161.060242 m -200.11452 160.454132 l -200.32533 160.875778 l -200.53616 161.798126 l -202.38086 164.749634 l -202.59167 165.803741 l -201.90651 166.146332 l -201.64297 165.698334 l -201.16862 164.617874 l -199.74557 163.616455 l -198.21712 162.087997 l -198.63876 161.060242 l -h -175.13208 149.280548 m -173.97255 148.437256 l -173.60362 148.094681 l -173.91985 148.147385 l -175.97537 148.621735 l -177.55653 149.17514 l -179.87558 148.595383 l -180.92969 147.88385 l -182.19463 147.646683 l -183.35414 147.962906 l -183.82849 148.041962 l -183.77579 148.22644 l -182.30003 148.48996 l -180.61345 148.727142 l -178.61064 149.886658 l -177.13489 150.59819 l -174.65773 150.888062 l -173.02385 150.914429 l -170.6521 150.2556 l -170.23045 150.176544 l -170.17775 149.939362 l -170.49399 149.886658 l -172.4968 150.229248 l -174.18338 149.702194 l -175.13208 149.280548 l -h -231.89597 175.60698 m -232.00137 176.18674 l -230.89456 176.66109 l -229.68234 176.55568 l -228.52281 176.50298 l -227.78494 176.68744 l -227.31059 176.76649 l -226.73082 176.60838 l -227.15247 176.10768 l -227.62682 175.94957 l -228.68092 175.73874 l -229.89316 175.52792 l -230.52562 175.81779 l -230.94727 175.47522 l -231.42162 175.29074 l -231.73785 175.39615 l -231.89597 175.60698 l -h -221.82921 178.40038 m -222.6198 178.47943 l -223.72661 178.03143 l -224.35907 177.60979 l -224.78072 177.55708 l -225.5713 177.68884 l -225.99295 177.47803 l -226.67812 177.29355 l -227.94305 177.10909 l -227.99576 177.24084 l -226.73082 178.11049 l -225.62401 178.53214 l -224.88612 178.74297 l -223.99014 179.13824 l -222.93602 179.34908 l -222.19815 179.27002 l -221.30215 178.95378 l -221.82921 178.40038 l -h -212.34221 169.7303 m -212.92197 169.15054 l -213.76526 168.91338 l -214.08148 168.54443 l -214.39772 168.35997 l -215.76807 168.64984 l -216.76947 168.70255 l -217.13841 168.88702 l -217.61276 169.7303 l -219.24663 169.94113 l -218.98311 170.36278 l -219.56287 170.78442 l -219.35205 171.33783 l -219.93181 171.52229 l -219.66827 172.02299 l -219.19392 171.97029 l -218.8777 171.54865 l -217.45465 171.68042 l -216.13701 171.99664 l -215.1356 171.44324 l -214.29231 171.25877 l -214.76666 170.49454 l -213.44902 170.96889 l -212.28951 171.44324 l -211.18268 171.81218 l -210.28668 171.31148 l -208.81093 171.6277 l -208.81093 171.41689 l -209.81233 170.78442 l -210.86646 170.20465 l -212.34221 169.7303 l -h -393.3858 241.54164 m -392.64795 242.20045 l -392.17358 242.85928 l -392.75336 243.35999 l -391.91006 243.72891 l -391.75195 243.5708 l -390.90866 243.64986 l -390.22348 243.96609 l -389.85455 243.41269 l -390.11807 242.38493 l -390.17078 241.51529 l -390.06537 240.93552 l -390.75055 240.09224 l -391.64655 239.88141 l -392.27899 239.51247 l -393.06958 239.80235 l -393.49124 240.46117 l -393.3858 241.54164 l -h -387.16656 150.361008 m -388.6423 149.570435 l -391.11948 150.519135 l -391.75195 151.230652 l -391.54111 151.467834 l -391.22488 151.388779 l -391.22488 151.863129 l -389.90726 151.81041 l -389.64371 152.28476 l -389.01126 152.28476 l -389.06396 151.942184 l -388.22067 151.230652 l -388.16797 150.940781 l -387.16656 150.361008 l -h -459.10965 171.575 m -459.53131 171.70677 l -459.00424 172.12842 l -458.31906 172.23383 l -456.52707 172.0757 l -454.20804 171.91759 l -453.94452 171.68042 l -453.89182 171.97029 l -453.15393 172.0757 l -452.94312 172.49734 l -452.25793 172.65547 l -451.99442 174.13123 l -450.99301 173.23523 l -450.99301 172.94534 l -451.46735 172.62912 l -451.36194 172.39194 l -451.83627 172.36559 l -451.94171 172.02299 l -453.20663 171.46959 l -455.05133 171.52229 l -456.47437 171.70677 l -457.47577 171.70677 l -458.10825 171.97029 l -458.26636 171.70677 l -459.10965 171.575 l -h -388.5896 252.5571 m -388.11526 252.45169 l -388.22067 251.87193 l -387.79901 251.47664 l -387.6409 250.68605 l -386.7449 249.89546 l -386.21786 248.84135 l -386.48138 248.20889 l -386.11246 247.39195 l -386.37598 245.04655 l -386.90305 246.4696 l -386.85031 247.15479 l -387.11386 247.39195 l -387.06116 247.99806 l -387.32468 248.57784 l -387.00845 249.13124 l -388.16797 250.13264 l -388.32608 251.02864 l -389.16937 252.76793 l -388.90585 252.87334 l -388.5896 252.5571 l -h -395.12509 260.91092 m -395.07239 261.06906 l -394.54535 260.51566 l -394.2818 260.88458 l -394.07098 260.56836 l -394.07098 260.01492 l -393.75476 259.59329 l -393.75476 258.96082 l -393.3331 257.88037 l -393.75476 257.06342 l -393.64935 255.29779 l -393.12228 254.34909 l -393.2804 253.90109 l -394.01828 254.69168 l -394.17639 256.22012 l -394.65076 256.77356 l -394.2818 258.19659 l -394.54535 260.06766 l -394.80887 260.12036 l -395.12509 260.91092 l -h -429.43643 173.39334 m -429.54184 172.81358 l -430.17429 172.76088 l -430.64865 173.10347 l -430.70135 172.20747 l -431.01758 172.28653 l -431.49194 172.5237 l -431.49194 172.81358 l -431.28113 172.94534 l -431.12299 173.36699 l -431.49194 173.28793 l -431.70276 174.44745 l -431.38654 175.21169 l -431.01758 175.34344 l -429.96347 175.05357 l -430.38513 174.13123 l -430.38513 173.84134 l -429.80536 173.57782 l -429.75266 173.9731 l -429.75266 174.50017 l -429.12018 175.29074 l -428.80396 174.89545 l -428.80396 174.28934 l -429.43643 173.39334 l -h -363.9761 153.338882 m -363.9761 153.496994 l -363.8707 153.760529 l -362.922 154.208527 l -362.28952 154.340286 l -361.76248 154.340286 l -361.86789 153.944992 l -361.81519 153.813232 l -362.0787 153.707809 l -362.55307 153.628754 l -362.81659 153.44429 l -363.39636 153.128052 l -363.9761 153.338882 l -h -225.36047 200.77388 m -225.04425 200.72118 l -225.04425 200.37859 l -225.36047 200.4313 l -225.36047 200.77388 l -h -219.29935 223.67445 m -218.66687 223.6481 l -217.929 223.1474 l -217.77087 222.56764 l -218.24522 222.51492 l -219.03581 223.12105 l -219.29935 223.67445 l -h -397.86578 222.6467 m -397.70767 222.38316 l -398.0239 222.09329 l -398.44556 222.1987 l -398.39285 222.6994 l -398.18201 222.85751 l -397.86578 222.6467 l -h -241.91003 263.59891 m -241.43568 263.30902 l -241.06674 263.0455 l -241.22485 262.94009 l -241.22485 262.75562 l -241.17215 262.46576 l -241.5938 262.57117 l -242.48979 263.25632 l -242.5425 263.28268 l -242.85873 263.9415 l -242.6479 264.15231 l -242.48979 264.20502 l -242.38438 264.09961 l -242.22626 264.02057 l -242.12085 263.75702 l -241.91003 263.59891 l -h -198.00629 162.219772 m -197.79547 162.246124 l -197.37383 162.193405 l -196.47783 162.008942 l -196.21431 161.639999 l -196.63594 161.323776 l -196.47783 161.086594 l -196.53053 161.03389 l -196.63594 160.823074 l -196.74136 160.612244 l -197.11029 160.638596 l -197.05759 160.796707 l -196.84677 161.060242 l -197.32112 161.060242 l -197.21571 161.218353 l -197.00488 161.771774 l -197.58464 161.98259 l -198.00629 162.008942 l -198.00629 162.219772 l -h -395.75757 148.83255 m -396.28461 149.64949 l -396.75897 150.308304 l -396.33734 150.677246 l -395.2305 150.782654 l -394.54535 150.519135 l -395.01968 150.545486 l -395.59946 150.571838 l -394.96698 150.12384 l -394.54535 149.886658 l -393.96558 149.43866 l -393.64935 148.911606 l -393.70206 148.806198 l -394.2291 148.911606 l -394.17639 148.569031 l -394.49265 148.806198 l -394.86157 149.043381 l -395.07239 148.96431 l -395.44135 148.858902 l -394.96698 148.516312 l -394.17639 148.121033 l -394.70346 148.147385 l -395.07239 148.252792 l -395.75757 148.83255 l -h -179.29582 179.48083 m -179.34853 179.77072 l -179.29582 180.19237 l -178.55794 179.79707 l -178.50523 179.74437 l -178.2417 179.05919 l -178.66335 179.34908 l -178.92688 179.48083 l -179.24312 179.34908 l -179.29582 179.48083 l -h -171.12645 143.061295 m -170.81023 143.588348 l -170.5994 143.720108 l -168.22765 143.772812 l -168.22765 143.878235 l -168.33305 144.062698 l -168.28035 144.299881 l -165.855896 145.011398 l -165.855896 144.853287 l -166.435654 144.299881 l -166.277542 144.194458 l -164.063904 144.800583 l -163.115204 144.589752 l -163.167908 144.378937 l -164.432846 143.693756 l -164.380142 143.535645 l -160.585342 143.298462 l -160.638046 143.166702 l -168.59659 141.954483 l -168.7547 142.112595 l -167.595184 142.692352 l -171.33728 142.560593 l -171.33728 142.771408 l -171.12645 143.061295 l -h -182.98521 153.57605 m -180.87698 154.26123 l -180.71887 154.103104 l -180.77158 153.971344 l -183.77579 152.811829 l -187.51788 153.154404 l -187.51788 153.207108 l -182.98521 153.57605 l -h -194.31691 155.078156 m -194.84396 155.288986 l -194.21149 156.053207 l -194.26419 156.211334 l -192.41951 157.528976 l -192.31409 157.423553 l -192.52492 157.001907 l -192.57762 156.975555 l -192.68303 157.186386 l -193.31549 156.659332 l -192.99927 156.132278 l -192.99927 155.868744 l -194.00067 155.078156 l -194.31691 155.078156 l -h -222.83061 177.08273 m -222.77791 176.47662 l -222.51437 175.63333 l -221.93462 175.47522 l -221.03862 176.13403 l -220.7751 176.10768 l -220.66968 175.73874 l -221.46027 175.15898 l -221.61838 174.50017 l -221.51297 173.84134 l -220.40616 173.26158 l -219.19392 172.97169 l -219.40475 172.76088 l -219.45746 172.78723 l -220.7751 172.65547 l -220.03722 172.04935 l -220.30075 171.83853 l -220.61697 172.18112 l -221.7238 172.36559 l -222.83061 172.36559 l -223.99014 172.5237 l -225.30777 172.81358 l -225.78212 173.26158 l -226.73082 174.36839 l -226.25647 174.86909 l -225.09695 174.65828 l -224.35907 173.76228 l -224.5172 174.68463 l -223.83202 175.50157 l -223.88472 176.18674 l -223.77931 176.60838 l -222.83061 177.08273 l -h -219.40475 172.76088 m -219.19392 172.97169 l -218.98311 173.5251 l -218.66687 173.68323 l -218.40335 174.39474 l -218.24522 173.89404 l -217.66547 174.26299 l -217.29652 174.73734 l -216.9276 175.47522 l -216.82217 176.08133 l -217.34923 177.00368 l -217.29652 177.95238 l -216.71677 178.66389 l -216.40053 178.87473 l -215.9789 179.03284 l -215.50455 179.03284 l -215.34642 178.95378 l -214.97748 178.16319 l -214.97748 177.79427 l -215.03018 177.42532 l -214.81937 176.71379 l -215.0829 175.89687 l -215.45183 174.86909 l -216.18971 173.73593 l -215.9789 173.73593 l -214.87207 174.68463 l -214.71396 174.52652 l -215.29372 173.99945 l -216.13701 173.05075 l -217.13841 172.91899 l -218.29793 172.62912 l -219.40475 172.76088 l -h -f -Q -Q -q -0 0 2187.5 1562.5 re -W* -q -[3.125 0 0 3.125 250 278.125] cm -q -548 0 30 321 re -W -[30.000001 0 0 321.000013 548.000026 0.00000370833] cm -/DeviceRGB {} cs -/t0 0 def -/t1 1 def -/dt 1 def -/x0 0 def -/y0 1 def -/dx 0 def -/x1 0 def -/y1 0 def -/dy -1 def -/xMin -0.000001 def -/yMin -0 def -/xMax 0.999999 def -/yMax 1 def -/n 3 def -/func { dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.224 mul 0.051 add -1 index 1 exp -0.019 mul 0.031 add -2 index 1 exp 0.095 mul 0.529 add -4 3 roll pop -} -/xpdfFunc0_0 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.172 mul 0.275 add -1 index 1 exp -0.008 mul 0.012 add -2 index 1 exp 0.035 mul 0.624 add -4 3 roll pop -} -/xpdfFunc0_1 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.165 mul 0.447 add -1 index 1 exp 0.086 mul 0.004 add -2 index 1 exp -0.039 mul 0.659 add -4 3 roll pop -} -/xpdfFunc0_2 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.129 mul 0.612 add -1 index 1 exp 0.126 mul 0.09 add -2 index 1 exp -0.095 mul 0.62 add -4 3 roll pop -} -/xpdfFunc0_3 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.106 mul 0.741 add -1 index 1 exp 0.125 mul 0.216 add -2 index 1 exp -0.105 mul 0.525 add -4 3 roll pop -} -/xpdfFunc0_4 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.082 mul 0.847 add -1 index 1 exp 0.134 mul 0.341 add -2 index 1 exp -0.095 mul 0.42 add -4 3 roll pop -} -/xpdfFunc0_5 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.055 mul 0.929 add -1 index 1 exp 0.149 mul 0.475 add -2 index 1 exp -0.098 mul 0.325 add -4 3 roll pop -} -/xpdfFunc0_6 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp 0.008 mul 0.984 add -1 index 1 exp 0.168 mul 0.624 add -2 index 1 exp -0.078 mul 0.227 add -4 3 roll pop -} -/xpdfFunc0_7 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -0 index 1 exp -0.051 mul 0.992 add -1 index 1 exp 0.184 mul 0.792 add -2 index 1 exp -0.02 mul 0.149 add -4 3 roll pop -} -/xpdfFunc0_8 exch def -{ dup 0 lt { pop 0 } { dup 1 gt { pop 1 } if } ifelse -dup 0.111111 lt { 0 sub 9 mul 0 add xpdfFunc0_0 } { -dup 0.222222 lt { 0.111111 sub 9 mul 0 add xpdfFunc0_1 } { -dup 0.333333 lt { 0.222222 sub 8.999999 mul 0 add xpdfFunc0_2 } { -dup 0.444444 lt { 0.333333 sub 9 mul 0 add xpdfFunc0_3 } { -dup 0.555556 lt { 0.444444 sub 8.999998 mul 0 add xpdfFunc0_4 } { -dup 0.666667 lt { 0.555556 sub 9 mul 0 add xpdfFunc0_5 } { -dup 0.777778 lt { 0.666667 sub 9.000001 mul 0 add xpdfFunc0_6 } { -dup 0.888889 lt { 0.777778 sub 9 mul 0 add xpdfFunc0_7 } { -0.888889 sub 9.000001 mul 0 add xpdfFunc0_8 -} ifelse -} ifelse -} ifelse -} ifelse -} ifelse -} ifelse -} ifelse -} ifelse -} -def -0 1 0 axialSH -Q -Q -q -[3.125 0 0 3.125 250 1272.21875] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\027\000\023) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 1155.5625] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\027\000\030) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 1038.875] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\030\000\023) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 922.21869] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\030\000\030) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 805.53119] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\031\000\023) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 688.875] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\031\000\030) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 572.1875] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\032\000\023) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 455.53125] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\032\000\030) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 250 338.875] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 580.90002 4.2] Tm -0 0 Td -/F7_0 12 Tf -(\000\033\000\023) -[7.201172 -0 -7.201172 -0] Tj -Q -q -[3.125 0 0 3.125 0 0] cm -/DeviceRGB {} CS -[0.1647 0.2471 0.3725] SC -/DeviceRGB {} cs -[0.1647 0.2471 0.3725] sc -[1 0 0 1 0 0] Tm -0 0 Td -[1 0 0 -1 627.53998 82] Tm -0 0 Td -/F7_0 12 Tf -(\000O\000L\000I\000H\000\(\000[\000S) -[7.201172 -0 -7.201172 -0 -7.201172 -0 -7.201172 -0 -7.201172 -0 -7.201172 -0 -7.201172 -0] Tj -Q -Q -Q -showpage -%%PageTrailer -pdfEndPage -%%Trailer -end -%%DocumentSuppliedResources: -%%+ font LiberationMono -%%EOF diff --git a/src/kaleido/tests/test_py/baselines/plotly/topojson.jpeg b/src/kaleido/tests/test_py/baselines/plotly/topojson.jpeg deleted file mode 100644 index 75fd4dc4af8cafbbba4c77ba8ee2958f1ab08b4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49785 zcmeEubyS;O&}S$VDOR9`;tr*_JCq{9DNwsbM~)qa*{K@+~>LXW|Dhn=FUu>W}j98ujOUrWB^D=007eS1Msu}kOUyV z_=o;^MSdm}RFr=R9ToK@DhB$iR~YCR7_YE!v0h=~U}9ik<6-0AzJ87O`V|&F0sd=( zXa4m+ogn>lCo&59^Np`DF)*Ls{lBEAb^sna()o)PWF#8E3p^xbJfx>?0LAkpUmzp> zLxBHDsAwoJ(UCEbUc7p4H+~I3LP2_-Iw~s4D-<-$S7`rSkMa@~4G*81fD`@ATN(*t zLM~O!q$yfHS2qkI-cL?J)iuy=I~Osz!Um6%<$XNzFMpXX4~7J+Hb+2dztd4H35_2)1@g_cRZ{LVlh$9x@(49B^9@ z7WRUM3Oy{4h6eCo?0?DO|M^D%X{E`{Oy@1(f>x*MyDds%RKGa@IcqY>52Wpau06T$$GL5viweKv})qA%}tT31oN zup%3S1;3l&c>&WmM8`gv5*{n#NLygd=XpdOm9P6*6V*2d!AT!9%BHc1AU2OnHrWfQ zmr{p@jKFsq!Fw(eIO-qRXuqAI^&#l(n!_XQV*}M*4ScprQz?>C0rQ=kMQ}U@s zC0wN3*prh)!gRTlw^BE(-5QURN8rXOxT}=+C<|tKIn?Gt$$WiZ2`}%u zRiQh4Th3^mxAQNiKC+Mk8Lk#pX^?sb8F?y?XC0OBCM=*Scf#S8dI$Nuwpo zPF4d^7JtyKic4T-d2L;m=ek)-7a~Wo7hTC5yA!Y9MJcy=CZOYF2af6MQB#zm(yEWP zdje=w?Q;_g9pUezY9$jX(s|)JCX^=gmfwz8k@~TVz#YF7W@+_bxt;Aa#QR<0a@CdA zndxL-*1ZT3X1GDnoH7p__Wc@s{I?74y=z za|MUb6H+#pIfwe6;`pu$nS;U`{6@B4b9ImDJdkp*C^n>M4adx-|{ z%;^((n|{c;d6$|iPM~`q{K7nf_+QXR!Aor0a;zKPMirR)JLF$53%0D%n8tm|ThUL& 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 GXZ{a;Lxp(& diff --git a/src/kaleido/tests/test_py/baselines/plotly/topojson.pdf b/src/kaleido/tests/test_py/baselines/plotly/topojson.pdf deleted file mode 100644 index 84a0c92583b5ac3857f4692cfd53eabab2743ecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173772 zcmb5T1yr2RvM(AeNRZ&}?mD;xP0-*@aCZ+72<|?(6Wn!hcPF?E?lwRI3{Ecj?{n69 zZ?E_6y}Q;-uU_?4{ko*9R`>VODoe?*a|8@oBW zP%ubZxj5QeyW2COuq(Sbnz@^rzcSTqt&Q1Vbt&xmxnCdrBW&&HAZ6@kPQf50$i>0M z!6CrK&mq9W&B@Em!9oA}dzDjkH2dF+h>D_^JDB}7f%|_dT*7l+pn{%i6N_thdrV>cJ;uM~P*Tx@^W=b&Ka;^AQ915ohraZ+$| z@UwCA8N9A#Wo%~cU`g?s78!R3Q@7Vh|D8)Y+8bLtQ0Q?`aJ~xt_mh91xl!1q9ZVg~ z%>Q}%iu*US|G)oNZ3#zr2Qya+JvPq&A}$IxuKywmHtv5B4+R^~zX(9V2KX28Q?T*= ziv%dx`2Iz&GyZ=_;QwLQEBN1S#qqiZ2Y{1;jf4Aj0C4>kk>q@3a=m)Z#=-fzE-x3) zEAxNj-D}{KC^$t${|4b7z<<~M2atz{?-h{a)o5P8-&Ot-z<<~M2axx#aU8GC@pAo# zaQ|=3f57;7Uft*7viDb`n#$BlXM9Do9@2=1zyv^_jlmr`A_pJ@Nc^R0{k010lwFiaQ?F` z|1T^wcNs9G|5e2QUHOuZc8)G;PR6FM z-9gIS!`jqb^`nI7EB$u^!O08Y z;p2F%1y{G%j%| zlxj4;Aon-BMXkx;F8TErF~iZ9TQNVemxigA?D3`VkB`&cFa2UE9S5F&#(Z%e|GYrD z|6CdV>0kQO^u1!S{BioC`|RU=)SqYeKfjB_ULfCJu5w?B{GO-(?D|e7b+tWFQ}jIek}cRZ{zY>AKp<=tdI13VXZtjsZBD)v?$>WN z->KhMS52SH3zo008qH<-2!Uci(%GBl*6Kc$zk@uwu3cZgzuX)C*;DV<8l9vEcdJ!c zFZV68`ArM!nHoXb4-+Cmmdv__t!(tuU#{GKKWu=ivpa!_^&z zZvhPfg=7YC!g48jVJYqhwRzfD-Sh$m{v{GRT3up{MgxSL3@-@{KplK@AzOn6+&N(lM`m^3D+V> zW~W{9?~zIRWf%K>P?Oiu`-Sv$S3-{> zO`FLw>N+9iFyElfdrlS|#6<_)y5b*ndgFxZLf>Rftyn*H^OA`j`H7sxmqH%CRNVo=Z)d6(XGf`8y4pa5EV8<7H`Ij8D)?L`Ag-HFJmBTC%axyJZ6e<^w(O>?QRxs`YpQnzT0Sp@O7_U#c5raht~dN41cSfkRzODM5+ z+{O0(g}tQ{>z_h{)tSJo2eL=g<;92_t)`)RpDW*IcN)$Kxl2& z7$#qe(R}Zbdq<^xGorO1;D&Os)*dltA<{`17>g1oPd2Sf8McgE# zim?Nor#>{hJ1we0x`&`upexIgxEn^O%%Z9>l?*6k;jA1YxymdA+Do)h)|>3ASm;{& zEjT}Tuxwm!8L84$wvxlchCdIX?-l}pM0`W^9(d2khi7lg4+%%1oI)%cjj>&p%9hiY z?vJ)$eQD64^|5IBCr-%PTlYg$%ew6h5{_?3PxdUIf!h5_s>)y;VxM_i0mX3=K@4bd zA?Et3Vckjp-5w!9YI7$v@V@DUebaO^x@6hw$iBlP2bWuBdVE}fSx;dES^{pfLT#YU z9<{L)xMy}$7b=ytuc+fRt-Jv03Sh9&FRw*o9Hrmw^Ek<+$V$|{dHmJ1Ypk%jQ9ilx zfmM(!3at(s1LR^wH>dklX&zgx5{9u_wq}wRr{Yx}WMf;W$nS4+v1J51uDOyzy}GJ) z9>i6?{u|T2!Qdw&Q(r{PY#9_?OC?4{dzWuPQvm!h^tA%dV#OODJaRCv147HRtX|TR zFX&}lAu3qKyZcoOwp?#;f?luoWir4obeXfOGGCAl-PU_Dc3N6Ig+jucTvHPz`D-

        }b}@KiRHpnTd;t&-1pOI3s@~}yaZNgUJL^5*6j%*JE@@c^i`uCLr1$)n^~lXse@2n z+!8u)JFYJQc{N>&2K}LW3I+{$JWEkqs&cC;yK|t8Dy;?H7$ZrRtxI*qqT&6qJ`d*t z#R&8|17*kMXa}hjn>f5Ke04*W*EQ_6!IE^QjXnVat9{63w!)RBPsQaDK#-8&%H{Xo zCk4~~N}k3PKYCb+cbF#EzHcHtCf9y}0<5?wZ@|yh)hjdU`U#6MT~ALgyvrw4-PaM8 zXt2J(OOt6IchCAs>C`55E!HUBac1pnl}IS%=I7ut{`HmMRH8r)LT8ftGI2ByT}8k# zR4~bE-R`Wv4EjC}(_q?$zPLTlE^1d{8z9=g(E8=$SZsniBEN5EERG92;!j=h_`DCx zXv$ZV)>RGuFz~tDFLRKh0k>{{;}CR_*RGvX#G{^Y7ax#MF({LfHP?aBRsU@4?$W?o zro>C9XBiJTL+aCvmS+dpW=WA zdA)v=JFj?HXQPxf{Mo|f5;bOuW@nyGtJ76c?7UuDW1DRjx$^l;52iA^SlLi*Cuu@c z3YGu51ie&Jvr4BHJjiGx@31Mzm!@WzipWAC1awc){yvfY2riT~t@g5~&*Z?SULl#u zT5QMGlW%`JNG|nQ*g1hE0r|3&{iMO`qT8le%?8n5xLs3wXO2I0r{}z4OL+<ZRMw4s*VR==bSGI0wQzV^nBAn;vD?k9VkXjwSC)={lTa2kBM|MzK$9ULVT*;+^`qIKa3( z!lu&dZiIJsDGrTmbp53>+(xKqVPz0^MLB3pKg?!=LwzJg^$3}cEK^zCpq|H?l?Qg$ zv>1=CWObsz{>qcRl+JUBpyt=b^U9)UQ>o!D*X&Q;gP=x0sGS(F$#iyBuq~JINp)S3 zo2!%C4Q$=9vT$J5Ubb|YPrv#OvL>qzR0XcCMsT&ts_zocEH19Hg=mKHEtr4V2n$Yw zs@FnXs4wwH*P)sfVRpCn`*iDL)yaDfKE(&xj9r=~mA25F+ijN+6}6LJp#3wOPD|ss z4&wc9gl8+*GbzS^*jQL%JSf$B86aBb=Guw z1QkXtO_&0*n^F%}2xViX1X9wIEMnh&nxXng75<>^_(iS+Sno}ioLKKq{#x3!Bfjs+ zHs`9XmOdQW`9vsl55g{V5YUN2oG;~_C@&62Cd_n_UKBQzm$dw6hjyMH)JwFTYv}&V{aU7B)-`H)0VQvZ{K}n;HlG;OA>17z~IV zU4RbBAW%W3yIZYy&9aG4PAYbc^WbQmryt)2&(s%tXBj*;?2^^-L=VA|3DK>nAUVvg zcl>u#g3r*!p@gQXvyqbr8dFr}Hjvgr)epL^rfgkQ+~C0MkaPGYZK^hVd3@P&?rizazPZ8Hkn~V0PS+f4 zU9{l(16!ifPDsR-G$zAd)H^`&``AsEpAW;*qasgvc1jg}pVXtiXqSgPzMs=jVmg2Y!_ zC4A7WtA+^zKMQ>RD1+;%ILaTqSob^LzGTH|K$8EGPA)Yr1>v1`vaZFtEj+H|ccyzp z0GZtNhb71j%_5Yt|b{BeJ1=N_QKH`;6J zk_46@!?=^A4b^o;tC3=TNWqK}oBxa$I{60w?3<9w&u0$B@%KMfg)}9IC;Ys2zs}jK z8;B<9xQ?KBD8Cmr^JJjTsYccN41w@BPLiTcN9gfH8|=Fl-NO&;O#A77n!7i9B4GaV zx$&fPeZ+&<(r6!A#RiO#9iG8EMrE9@5*@0tsC6+#sNvfTIUzg%DMHM?L=j8%h7O2Q^`jxBCJ4tD0O30!kfCueJqn&xvk z&pxgb5Z@+RHiO~`emdzR1>4Ze>}-X?wCBHUgR79Usl70oJIgZgIEtqO=^dl&B^4)q zl`v9IGHqaUzk+#VEl|t4qZJWiCa#Heiq9Hm(G)H?zch=MWie!5hxyE{W(bpeD$-%A zC^8>kyt9gGILNZeaOvo2;$O(NTJv~vKj}G#od&8w2II%g##euS8KOz4q`B4EB&nc# zOpoI0;FW)ih20w6l7RXZWLcxjF^}&|=~FWV{Ww${vv#`4RbJ;}wTqq1(t;&#bet26LR1fyGv_J!g0i8dqHf`xcP7rf>q9A9uNi+;kFsyfa=SNo3Q~JM%ic+QL2ch$LG*cBaGq$4$kVs ztWDdXe2!7KTkVjQtnRX~T`$_L@iZUEMS!B|JujsSBmm{4k33HxZ4VcYyJ@9xLJZGS zRxX2FU6$>+6Y>s!g@C9U0$e2dymho)kz;#m8}$Zx<%4~nX{0op-6&aPNb>432qRT% zUQ^B{$Y6VKynS6qBs&}^Eme8U6+pxXKwC$&aFnYLvk(BWh+IJPTBRi(6g;P4=9Oww z^tb3zG~Fv&7|R%jIln{@*DB7nD6}0vq}d)h(tq1+1vD-5aL%1eB`cN0tzdUZvyuom zo2&@c?RD1!_as)5eo=iU4}_$ygK<|=vk$45YKl;kc@6c1Zv3rzoqtE)ruiMQ$J8T zPC99@vssb)Tx-=P^K6DGibG1{Gxl)^gJ!Nm_-KS!F-rr|DhboWDH>*vl4kRLO%7}* zDiMtBZx;w+x{;vh=?vN5@D`h@3;hz(RF{neMcGTR_7N|> z#u>YKtmheJcqGJcUQVB9fD)~l8LCH}anwz3Um90~g4!$PCE{HeN?!;31cL*UA)ndV`l&@YjT|5 z#aDXo+OW3q7mk)9&Ue^64XaZI?qnRNM7dh(GZ9MG1X1=?#?Cj<=>lh=EOJYo~ojPDN;hP0n3GRQ5J2ugHhf%(Qqlq3MT} ze2xpAkR*5K`R%xpQn~^Fq^`V6Ip-d~@m;UBoEtnTA!X5|4bfImbdT))wdBqG#fF$0Z^;iJ=kjN}j zQ>tt+1^-F2;Er%J_aDh`Nn@YX-UV9 zT#UB^!rT(P2bOzuB}Cr^K9i9-yKm9qY;He#@c>BbtWrO{RsI@P=WuE?EC6UCP`5iG z+x|tOEkk|6sSmUP0Ip=@pjz(yO<6T*9BM8hc;z#Fh~|z{>KITP94+AliD=U3yj8bM^p!LeoC_32wC*rc zzFf(HSeq_v&j>XUVGe!grDTrvCH3&a1%SorTG>_fszvwUcxNw@*r#T>CaFSo`M?v~d&YW-!0oYf8t!U0 z6%SHCnx8)daqEc4`;9r+2As@%k*_Hg5qq%!_Yu0Ib^f3pJ+bRS|E#Y#?6PH< zIkq2dWy^^MW`x|0^x|=0W3&~$JfL8nnFvn<04iQnavNi&T2t{}n}i)mjoJC*J}K>b z-AEI*5jhow;;l>OwxoWrO~=;}B+o#w5Dc5F_%=L&yYt(EVqKuV9({vJ?ive`J0$?#{S3PYAJ@-c&yOArikDj(?*adAu~md+?Tovck%TASkezJY6i> z^ZJuGWuPW`zt3tMsC`l($mRz`edn{zuX$DyIrsq|6t$dH_s6sds+T$k{ldsjR#+Sy z8?WJS&|{Twt`)Ekhc1aP_P}R9B?l~;+Q(&!Fz()*EX>rBdwMfNV2^zB!hnYWBQ#|+ zh;k39Q!4qaVQ`;Qqa&=pbVO;8Cfe0WFKi;`)pAeEePQ;N^R5lIC`7)mg z4Jo@wHDgd^WeHMS7*-Db0jFo`a|U03e>%k7zKEbCX!W8&VZr8JHpHN*D}fQmWPWyj zXB-5HxzaZ}HO>7=n#uRsDIg)`@|__vruK1+=WhTO)tUQY)c{4H#Vsvj^-YLQrqP*3 z|8#gNT$qb=@M;n1AM4R`GJ1*jk7qDL=Yis+Csvrp%I3?&8~qG`M0$Qj_=vXVzF@>j zhzlz=OowZ5f7Uz>RjX%YOKP-idYO43m9BuZ=qQ}DRi^Ge5_w;+x`mjrC}y$gW__4| z1nt}ECfthn6H!hy^Fgj+oxT1xYTBGAAI~@L$Jvjqon6Nq=zOG^G`1K(+0O4G=;mn| zpsWm+7=9e=%JN+4!i`;|VQOJymjTQv7z~9{p!=o82!3${#x4xF zcZO2+QmQ9_YOOT5gVunCKhutCMivi<`$#%XB#Gizde7FQr5Ny<<9rrl*&BNE{mE=TS(hZRLTN zsk|fUGCQOJGBCFF8~H8+V!U{dYbzH<@YV{SS8bdqa8^WWl5B3;DvHhMmS!BDnRfR) ze8y~&$aGxPuw9nfFOGMUOuhiqi7Hi)e-%lM;Jjn_+!yDEA>IqC2`0vo=MYNWmv*N(G0A&e%L7GY7l31 zuMv#>pAu)4(c8nP;>-35I@L$dD@h^Rx?z6T37K~!ETbSRfzhCy!<4x!~uK7o0R z$lLNBP&l1G48irOBwgPbtQM`o+@KCMdbfKT)7&y-_nk}-eRpdNb>}-08$s~-ANSE7 zZJ*f{zQw)f3rcn;bX~b0-bM&A$x?2y3W3?!-NN4f6fxDcNTuNx7i4)30|wcHrefPn zZQsKJKv@!9y=VJ~IQD9ln-R8EC+eB*qU7>qXmT7O$nC6%3yVM5N+a%urW4%+Mc0s# z=%D>6jk$9QO+ybV%>zpsb#nB8@zG<(APN`k@-*TQi(}b`UCFY|B9|<=PgehjHHq-KnZa zVyP^9`tWz!Q&RzCVOjV)JZ?hl%rFHOR($Q1Ky`NsQpJsre2qt=SLV_NuV?gfWN+V& zz0XZm(pgOEB>i=R8Wy9JY}>*Q8(&MaM|?`AzOa=$6Xp{0f)}S*L}R-ftiH9pJC4$3 z=CU6x>kje2y0(uRL|$@nY$KhI;PX9EW-p{q9L~#m|Mda1v~DKiNKA-ZiZqn$qS?*b zJ)8NB{hll97}QYHH``}+ z7}^2e!lTN+*0oAjzqgJemXC60WzUE-iXbkyHB#Ex-h4YVt<30iQ^(zy-!2%|{g8#L zt~YU%pwLJ825(no>9V;7VSd*jzic8^Sxv2)aou7zd8{(3o?oP~vQcRBO%Ar^RIjJ2NJBKwcUmT3agv)pEem%#NFlomF zQ)k7I8)(h5krMPXPKh-Lt~1fkGa5UW+6hw>s8p-iqj`Do))v-;8g`pG@T#Qa&VwX^ z?|}+6x965bU8q`q7oy9Zb?2U!_X}j&86u}?JxAd2{$g_pj5dfwSJTX{NYI-qozeqdRkaYqWgZ)t-DmvYUHUSbB;SJ zOh(>m$Bl_|Lnx53{BU4pxYn9!GNu-}?~5@l+;CIYOmXaT_XT8rA-Up1bf`%28j2l2 zJ{?opKKaa3`7=sInS6(=dFdw7PUvb~Jsfs}YGfV`%)OO9G#Y{}9C%{=PUcRmcS?x>JyYuHa_TciGrlWF{(lpfkSO7;L1z!~Z4VeIB8` z>bv|!&@4JrxshjirwU4YZD%E!$9d|k8hhhK zrsCtrBwRv+WkSh~Ij$7)HdF_UYIIURN?$J>!me4Wu}@jf3y=W*I)P3jqD!6(5@%wu zmB6dI`YGndVs5uXQ+Q`V3p{nMs%#9#lIpoducEz&SxF@}E4Toc8QH+pr1r~!qkVc_ z`fXfy6Mv4a{E8{<{Hc69@eVI&MLD{iS`mZkFsHLeMHnTg0I&m`8cruF_lcrs~Uidwk^}iNZ|++SB<~Ym?mIH3Hm<@x*R`fd^ZgnyWUk3)=Ho zb8~3u-I0-g-HS40C6qhun>j|CTZm61S5{oyjOMfnziVmNgE=muoRIn>yxk|`yE-JR z&%S~)N`CwaDmfXBg^wPMhh}ATT%qrVF4=ks%STNbgg{8#k?0cePgbkM#$lIBWGMox ztJm3>KYT#i&WO!c8{+Rw!9hn`?y3gc`{&zVe;kE%HcmHX%=SfgUutWr7hhfb5p@hgs8w-^SdG{(Nrsr=2X>Xc~co(Xv2PCFpbLy z#)`KLKPv{D=b3!YR6)dmz3z)6Eh-? z3Lv-s3UbSs3Yp!Pa4xLwONYcTCXVvqmFF>arFovZc;Xi_tIp-;T&6K!_tGw92O?sp z)qZovbSd|E7N>n-i9+6-j#7ysym$^0%=q?MhNpP9o+cejk{*5leF9F2wpwi)H8?H- z_Hf;z=>2Vmvu#+OqFoe5C03a4z=an}pjjO{ejyU$xHP&LmzvMmLK%F+wADKsQ|R!L zc6;$#lQ^*r?e8BshCV4{15#4X^gqIF?^pTN=EExN?y%Ik(CX();8bkz>?6TZ*qGfH z?B6#9QXa$h1*&YBYI8OED2$A4u+Ek`*<0z6v`HJKfG01cB5~MI2WDtmuoz)O*P(HQ zddbqUm%DvRV&;)#=s5@TcyDp2q}!>h7*YQl_{k>+7q8>CE1ToILa1BOsxa z#R?&Um>f%(kBOPz+csP+;NZ_Bn(Wru{#d=L1DS3WCEcYxi?QVrpHW){7|kZ><9ehk ze@vnnZJir-Mu!KGK3DUIgztF{sJOV^+al>VY!q#7|6*{6lgwsu*%n`4kuD9}S{*GX zbZGs`aPIkjBGabE$GHG^!em5mg<69n_z;PS-e@T2fOg6a_GkO97mXG@xxMp7s&h1= z$Az4-q6e~u*T*F6JiZnVeK)8!9;V_q)CF9eRLuF~ArbsUVB+`o-xdjS+P^u>#1Zm8 z*-?V@q1NNo_e~cGZe+5C^~rJQGbT22fg9ve=-QLeTi_*GQMgC0GUTRc&<$o=$sSxi?74qj zD5+;>Vu|r%r;s0wH{C6xFU0M~=O^#DMn6VZ#2+v=SJ&QRMLv-U2C?-ej1Z46A~&*Y z>MbXQKG0n~0=e)~$AIm~Mi=oyK&N$wqep+_9x>Ps#Ogm)-_I??X8c}U?v#sQ@BK~d z-Y8+Z%BdYzaj0$3BXgcL?PFV2)Q8wq1Kh8gK1`YNL7)J_A{Un3C zPJ1}Ipq2=WwhwYPX6Pq9lUpthn*Nx!T0SFPK8&t?dW(CiOfR)9--A9myyyS&Tj;AC z&1@U2Q;*rPadSYzMHvf{iAP)g3{~LO%i@Uxcul;jwG|eI?ez#qoY#!g90<`)5-k#b z(}GRL)Qp0e`CFCR{VBt(KM?`%aT)fT5%b_>Q4#yCXi|rXX>~Tj*V4viSU!{95x&`8 zh7v@7!hU4awcSQgGXn`PfRSo$5)O4eA|vq73)>ui56woi{f$G;@ZMx>zuco|p;{?#d>BHA#D)NuVg zo!i2X%pof#x587U<))unDf5bueBJ$XI66u8H#j}l%y&4yoko^U76pq~P`Z+@Sl&7< zr!$qlW6oMGi&*J9A(Ak-dsrW-*F^2zxIKx+u8^ciqGDT>cFrbORN${`L_ku%bzMxZ z9@z_M>6QLMw@R{t(=hm6<5K?9@YsvLl^SY*#vP`-M-2eQzdLxv*F^`^2 z1><+05(g7Lux6aN*1Q*BhLN1=M5<@Wc$L~J->l3{cV-RS0idcpI}cMVAc zC{rNDJ@Ri44MVr6cR4?3zvq(ccZ5UpFQVE(0f*VGR(Bc^gmZ*37cL=sIKZm|BO5;V zU9%~osm0QZAeDV&kW}t9o_Q#)6?r09T#=JtA78(&xtOLKnhnz!>wsle0Y9mg83qi= z9m1_5T*qTRo(81nO0^fU*_s%n+CQaUjE~8wk6lwrabFmN;Fa&j@sGe~G`eEB2C;9hxQ+=;cab`pvl-X=jcllfW3qzs1Tl}iz8DknH9?;u>80)k zzO8=u(4_!!HkK5lLfFy!GL7^daRBSpt}DVcQS7+ZaLD^#A`in6eZOIAt{H2fK~eAR zYTf+|=O1nPx+$#9N#LG`tp?f7Ph+RaDNkzDVy@b{Lf_;52Fzz$`rL?He4q}wWi|pe zo)IXKzD2SD7=K4t(8Q8#11wJD=y- zGIDS(+MS_Q`25k7jwC>wrzlN=cHUPA)DA;jF3ID{{b6wxRyud{hV21{z1k+w86xn!VBUixp9eDUXOzq7^!s4*r0G>3j`gBnta z`eE_AR*TG2WmGJ>pa}Cl#mT)~7W*|6``cNRl?f8Ex2U{t{5$!snv_0?M43(+Xn!ro#Xa|q@YzB@x-{^m_R;z=e zw(qx?aFN9F%!fHkhs2-o=rtn1B4`tqLMvWhGD=?qu(6UocX_G()4z2U8K~!L-myfM z`#d!Py5e+BQze- zf_(iHJU7H|w}h>Hh~fjc<#k&k^{)ip^VIcx|wj z|4}tXV&K$oLAFivNVV0X_fETASe^zz%`pB5yj?1P*%ISL8so=Q&@aFo^%OC4RG-I- zi=Ot{*IHW6b(yupsm)NGd(?-z35Sz`j*E8;=teNzZ1oCby+Z63iz1;;zI3sce_VAdQZ$`Cz*vJxJG^QDkg+T{jkh5y= zhwH}LhwE9L;B?_Dy#wqD*?fdUR#N}R4o~2SMNQ~|jKd7n=O!MSnVNW<80spbUMRD! zIe&(=a*%3YnXt9W##cN#D2t)Vjv^`jGHS}li7zxGE`5-xCY-%jM>b#U`71g(oPjpG z1DHcPYTg^~$mH;6WEkEvA4F=`L=xA8FCJPZ&koy^SeLM7-E< zI?4ta;EEn%t6d^?CFdI<3w~{E&3vr0mYZ)zD0nj?-l@9iC;J|Q5gkWkww+UczWYAA(I%mo2{Rsu)|CNeV@IqB%)Gz z3`+7JB`#h>$1O6rlpoaJlvaIbxdm!1Ys<##d)olF&U3imOt5ebAn}idf%mY^r`{dy zvD&HrHf^ia7J-A>X{R~LChIeS_bj#(C94}vRbzkAM-P5>eu>T4X|$Am>&57*P`bVQ zGZ=W2!B*A{g|(?QlhU_nQI-7CbO_2as`kEH#l)dRu^NwpX&e!yk9EbK*(>X3{=LI) zM1XD|j2oZO;mm~Zd<@#OMM@bF{KWdzGQ|*KmIpWC5j>cTqqMPo5Dr(gTUPx&yN!f$ z!L?TLQ<@_s5q|>R*6}%jYQ*=);p(`k$@QA`!2aa+N?V9+^|ABHZ&1oJ3(Yjm)C{jl z&KEl#p!r2f#5kcp4a`F4rigM0DkG#5Ye9{hzx~bLb?w$mJ$jC7?eNS<>k@I)p<&4? z`^Xb4raJDVLkA5zv33Yz%nXfX>Sv>xDr9y$cD_nkc^KqJ{=ek{b(+;?N({UZZ?W%;|$iZaMglrd@#obS_3{PP&TG6-FF6*-IdMHr5@n=VmrB*T}HFlvEX!M&@1 zAtnC}uir>c1StpXsX?90MSFeMzke{;Pd4b&5S!<&vgr|PDj~fYV4FaP%FHsynQ8TM zz3&V*xiW)|BlSd<dHSPZkPTb}{c zlig7A!=a|b`UmSmbrCzFINnUgB)Zw078M&8w@6rqgOe<#`tifo27aQS#~WXgdJrRa z%5!$3GZxkJ#~InV-HdVChVFg5o1S9~EU*rCM=U`?Xc8?=Rf9*W z#4*MzN8eMx13RT9g-M1-@$W#|HsC_dSIytbQ z49k0YnU@lnG(VzN#K%73?u!f)YSF;FF<+p{NhGr&JN05DZ$ro8C5Gfe4HG z21Ddx$vN0c3w^qiqQ#<;We{;OHBUmq%r?REIq620{?{OMhv!hS<|{fB+|k47M3I|n z;-YtBcyWts_R>fW!`m**c5J*N_r+c0=2q>qjmidNcMK)IS$2a*z{19n2RkO608|ON zv+#tpcfNc5W!ogc;2v*&$0ji-4&EXMpTW*iCGAZ9<4@VsqBfH>9(T-bMlaq_$Wpdl)yI;rXp7xIer?hAn ziu@?{t}B?7exv6&Dp~ZUIrWtO+jw3DhY4YP`(>hdhbT#w={BA4zvBniK33gLfvfcW z<84#l2?lPOhlp?&aO}F7IDUkZCmb6p*HZPNb!>k5hB<_`(z7b)!6e;(Rw#4#3hcSFPf|{pjdF2sc4~yGA~-l^VYW3m|AT8_s?p5%^h@N* zaGaKk-R^1i9Ek(q7_Tsy(=^8DO-EARAEk>GGjQG)N`*6-jNKmZ(DD&gPs&Zn?3L#u z0)TEi7nJ1mzV)UX?bgoHflO1q=kt1`sQ)i@KHOeArSL!YJn=ui6H*rkmHc^}_g8Cy zz>$>UipC3lf$LIVRJ3<~P-Qslj@EGPS=v@@SuQ0b{xBTIjooZ`4a}X}eVeBcGIIHY z=xRNTXqi6F2PWBusZFQYf6&QM)XQ)(4Ccfg#@k={3efI(C2Xn=&8!&}DN8y!^28WZ zOVq3`dE$D#hnSx_?Z<&;5)H}>j4Eg;JpPEXQX#xE0S||QQheHxW0}=p)Bj8@sJ=YY z9LEQrbZK{`^j}|&4^OQ`g|Sp9c*Wjjk2p-;F{v{UGBuflrz+ca0j0+JR0`H%Oir0h zNF=MrW6JNi6Y+tvkhFxpy}bnCfZ>NDd~DhFoO2G{8E7GjflDA}jOAJXkEBStIpChb zxoL*{xV*m0%a-%BZ~MKbL}nKG0UlMfj8VQzRS(bnl1H%TX7fIPgCjurlX!YBrJw(} zETo$1N~`-vnl2{i;TwW3duylM;)kF(|B^G1n35fi6=#10|EE|+MGsYTs#w#ANDiiH z^E3REUwxq}`o0WWBq@yHdOqlDFXnl`mDq_LBzbT2im$p*PIKwvYeYbB)hSQcXV^SU z+ibq=t38x8<(%ZRDn&I92VFCY;poD%9pCcB^w?;_%bBom(OqIzKum9JUBrVj{2TQa zW}Tw*kIEX~vCE(7{GZndf?(Za&ZcX2Z@ege^S*bzzQc05aWrpT&8gvVIul-IYYXkX5Fpc$CR17TD^9*MFM0Ij?4ufR7?K?8Gy;T_BzZ?5D^03oDf=i>*c>0&!u86T+4Z3SDvVCBGpVc;jS4|L&yv*V* z_6IxZUTOpED1F%Qq^B9q`gauSlkIcE5$`VYQ^vo<_-#qFm!Nz_^d0`tOn(o@s;o{A z5vS?yuxaM>ExH%9DeP0iaNJSmh2d-6xAV^7I=aS0xd9ueI#+w|-ML~ICM06;{wi#9 zFU$?^<6z(?@*9|04~?wEisa(SV^Ce{Vn8&UW=V-f#S4t9Ld@A9?M}N&zKL(6))h;+ zY$oJr$P(!(6ZkGh{%C9F;?XX3AaR47Yo#h~lL=J_ZIsJ4|pHMs^ zLjC+G5lUaE9ns#7!nb(EcLheNzy^~SuHm*eE96#2Q=Ia$2%)a!;LV%UQUEDp?9HWt zQ~J>Li1Ntb07?!cM~q7(K%H^nY`&`FA&W#Mue^*k!1i1jalthM=(DUv8KhRffS{8K z5Pac8MV7>>NvC$g4VK9;qTmkAE#H29FZ8((9Km1ksR4&O+9%=!o%#d<`?(quoWK0B zEj`u&eZj+pRCeUlNPkW&c1r0)&cKUJMF?pEYupYy9vB$~yGO#;?7zM%EBa51;v4fqVo%^NM^aX-j|WvL<#2we$k zJ7^VYufF2ssXBoJOMZx@RY1%b2rpgY(50|Zt#&LO(;?uG#I`s8aXj7biIcP^JC9&F z$foCs#oYSHaH-iSI@RRJj;x=k1&+z|R;vpsH(Qc4|HP!>RQly21N{xL@ZpeB3O7Fc zlAZ<6Gs&{72G$r~mCB{rX^R4L}U#6a5t456LyP1-bnTZ9etc+zd4`jYM#aM)^vY=FaJFqxDx`6hl>eF zbhOcvDGVab$~=qMNKkpsSXD@1x*iYKK|+bM_&s1pRDRiy5TZMx<<9gou+f9bYT!LY zR!w}q%4%@?)Cg5O*}VBgSfOM!;d8m={{lWh!M`fSyQ|xx@;q0WREWkD-Mb7CteyOW zDwrCmC45(uR9(a*i&}QnK5bESIxkf}nlXpZ`T9C6%6DYVtyW2Dl$Paz(=wR&s##1u za2oJhOLbi*4;Vl}KDR(wtGVW`RBKp`Gl|H!Fe?YUi6J8L8akJ_gc!XHcnvur=N-R_PT_ z62K2oYuVAm&$;=WyT_^cJjk!w9@7HV{^Cfmv!lBsk@_=h;Ps&`ig^jD?X9m*aaboG z+ug&$;HW~SUUYtu1du6~Q^jq)Fb-A5)I*qty%c>1Xos&YO1cNNQCH8Yi8@Zv@8>L3 z8p3k`V-yXD$?dXj0hZdqaV?U zP(e#QP-7~k>HK;`Ze3W6#F>o~t%EA2ICREfGKt1;fi&c;qNK_fqHa0n%}jZMl`asp zOm#%3+C?j;t@4;)&88S%*la-OW~Y`B3BVUN+ncus3LC=(hWkvyc%rit^lX(*_vmzo z+=WVg;}Z)%8nxS;bCd|^y}&M<_kQp|*3}>${r%62ry{k3c z=1^N%Iu0OTQFzXJpu+DAM6I9K;$j8}Z+SAv?WtSbZ;BQ>G1VkS*Ij-#9-Cp@yNNS{ z?v&SFuQB+grzAH-z$#i0savgQM!eMFd z#By$J>NjMdj@lU;P)m?G;$uem32qo9hJmkjM+qjau@PY$imVIF4GtjGwxiw?ycGS7 z4#t5n`gLq>Ln6m60hg!YVQWRf$|M3;~G%v=^O7LK@ri<;e<=sZg>s%M=P(25`;JZH$A|8QG$McEk`dou0-T zYVIWnM%P5qp#AJ-9&XqVRMLfHKP1hLI%c#+-pPuE%BnOCb}n?;wjh(xOqFHtrr5Tu zGxUb(T5D*0S%?q6udN>yk_|VG{cLiW>4;To_z?W}@Xwlpq8Lo@@{Bj_@tW$h@$fKV z*V%_`nfm0$>RqGpTq)^Tm>4geTUpsd9h-O|^M{ZjbF>{*GF(wg^U{I?im5ILi6fE6 zcYchtqAiwsQD@N^RHn4=<2&*ubs%`Ad)0d0QF}Rtw%V?HIXSi=PjH)S zJkJ10%^?=N!(@L$eEOAXRe}TfSYF+TC$Pz?k~i@Kaknr_2|-VzTw9*sR!J1;X3WziQKEls~`ET-FQ(Cj6K@ zrc`|Ms1Ps8iY1Y^wDa;F0|PaZv`}_fw}#T)k5bf{>mH6z>(fblNc=(QWu-yWe z+m_giTo<+kG=Kvb>h-KW+zv8HC$eZzD;DTR-4;@X)SB|GfLU`m`gu*L5^V#H!+3ZX z)afNYIgR8p$^b_^RY*(C^P}bnGKj(J{q*p~>ZNL5q8P)b8c_Kl6Gv2u&~ky!9trhL zB3Abu<+YoNIi@Ij3HceUH$}8kFy5G?^NHb^i~iPeJ6FxMzQuLOcuyr)kx#5SV#Os3 z+&@Syskogy6#!H*$BDPN#3u`JIC@9>mN&3gWz$t(zcmG2PuCT9tzYr#s++n9p@du8 z0t*`Qk?#O{Dl^E--RXMC$fArEjmqRlo@(8j_NkwU#X|IHpC z@6T&a4o^-TdUjL`{>SN*$#Cop=)Hs$b-S9If?U8`;Je$A2(UoVyB$yoRKE^J?j?|K zTrL0#!yZ$&+Lu6B{6c~68Xs+H zY(kn8YtIRwP_G2DD0cMg*feNL_4+I01?V@aVt*gL)(lWhPPfmQf|ma-l{=IKCruY7 z6?1;xlR3U!S`+MZ+{-_P;ajgbM%)l!hL{kMc}cg*SfjdP;!R7>5$4e>pO6~>136(U z;1$W3I9a=Z?w2HOx~UJ9gmf+sqH>e5iBQ|Mge<=uE|}a8$o2_&!ZzZnBU-#$yQvb3 z3*=IwmJR8(rrV&=G_NjL0=zTQ-!WL6Qqw7P57K%2#2g1+H0Mo z{jpgtzZA;*Auwj5a;csOPop~h&eIPipg^-FNwL*!)K$HhQsgX()+Wiob&*157c7C- zfv+*~d6JqbOP;4cT8${72nnPzI+d$F7PV&OvsIlCk{*2^gbh|_MP4a+%R5D2OX2=N zPC2XMH;s+6C9M|7^?83scUbm>!%vcpoS*$+kPnkoNwYu%}piAk|MyV ze zxvjA|UcABcSt&)YF^EIrdlt@NaMvZ!ueT=DlCrYuLD{7L15dl(|5(f}Iv$ zjOMvG{gZsNLtJoWxd{^)-$Wl*`yCG06kT2a%V+KdjNs8e?4=w<$~oZh*}58&0`ibCJ$T{r*STKkI^8{D;7jE|j+2jm zbhQQ!bO(90tVt3kKNVofb_0bKT=TvAe!vOvS=3F+WY)K~9F?UA?bXTnX}io73U?vj z#ar(wMKn_fypYhV-o0`Q6fq3H&hpgx&D9HHq^2^(J>XrOY>V!y(^cs= z6U=Xt{}y#R0aT586Rz&A3rCYmOr%%qEy?l3A(z_v*=z`dnqwH0-4H4WH_LzfK8%| z4r8~&i^I5dUv@>n^oIjjaPRj_%x}m+j~dOl6VCgw>K>0lKVoiQ?E$?G_YiSLCPH^Tx23u8JkV z=*|ZfZI{78%sM?+@S1B%c<|qGYUnt|ThD@GVCW&GQ{lCpVA|{u|86|4GlDRI4OzqA zo#m;tirvMw($k0h56nuD&`4>39-+62hj4a?k~#!sf2a1i(Yx;R(5a*vqb9ZAj_XNA zlA+Ws@J$JcSKg8?{xy+mIxKA^Y9z)8VM8n-ok<#R?pr8uI=I2d79Xw1Qtt&jhPx}@><=F zI-($YS0`9xR(A*R^KJ@pbm?k=?GoNMl39n}xZ6MA#k5x$^=)S=s%VwvHYlfXvWkb* zwqABH$15O!$Emi^a=Z#?+>i9rrx~Diguy^25oE@eQ^DkIV!Jac-G`h{aC1{I<9Iod z?~J*ZYtG>V3m%ZCb1%vPII1=dm))ig^f=}nQj&4YMS z7nswX{R!0`B6X`+Sj<+Y-Lf2P%i3n zuaFL-Pz8(HB7L8)fi>Gc+74Go6&cyXN#R+cz{813W%wV|8d6|UG~bN)&erGr(RSIr ztI<~ZGX$2c@Svg3*?XK6$w`XB(Fv76PnAwwKee% z;fj9yj-dBTsa)_gB`g$Ga4n+FDO6afc_c;M)jmRYQMp)!>r#}t2DSJLzQ~9w`{Wjl zT9;x*PnA)JV%lWY@~s{45Jjkv-j=W&`O+Wa(*pE*#klUar1c3>rU?IWyM8eKa}=0yvXnRm>YR%BeJyak-52joskufH4~zrF3?Fb z@i@{N;amZUlwVP+jxDpCx1a{kBq;{mCVUmInA3;Bcr$L{SV1)@4D%0x>**xSdu<}l zE(X{c_60At>|vD~!2B|4l0(7_t>wuc^^( z^D-uXTnSk!MDt7}c_b(iZMcu&)L1Yl+7w;mJuwFdV1aLLfELG<(bcp2dpE@(=amcv z>`V1^l=I@xKLG`TkWXR26`%^Y<&|=WJ=bIJ1nAB5p|?$fd-ufVR(t{!2;9;y zNJUNECyRYo7?^MBvimZFYP_0@O1;LcnmNz5zzZsx*R!kV@-bjR7Wk?sZg1diz3r3( z#Z#S|TZo=Lcn)xi<+97=lTd~n!B>E#wj5>$h3#s=i4O8zAPv-Rw%Xbgp=F3{_@b$` z8EpY_O;y9i=im#e!v@FOI8+oo@UWEN^qQ)>%@H(Z$|r$3rK^4s{jaLvJx`HR_2TD+ zy1IRx@i(<8uG&+wyt3mnam>@9mRHXpS8mjD24-9^DFe3EJx>qC9l|VL4iM^R509k7 z$1IRpYrRG$Jn=``IHN48U;ISpaJYhXFgJ42UH5yx0^fxLFk^#^*&MVKlVY`Ioy3AM z-Z&D1BkdpPE=dU;`HciY0=9#9>BNTk=P9+G636{8Q8vekwB6q2i4o$E3SMyanJ+6G z%E)##T{j#aL>Q-~T=R0G46hsbOz(Dtm6;+zxHsixl_>J2wmquKlmG*LW_&|4Ce`aJ z#T;sFb1Ad7MGcZ7(9Y6dI07ZWMDrUbg|?{$CW@(U($Z+V9o3MW@|vTqmzkRZDH4UK zpxVo_-p~~eFH-l&FASI`6=gDB$p2cwV4qEQiIQ;fS6pq2%71_wd*p2g=9!*+jV2)_O_*C% z-OeMhKZfNva_e&q{I%$ZYMlM_FjFcY`}-V1hgD|vyJl}^*NM&SA7c=(Y>c6-a4-tj zPDGD_(&N>-BLu%b2Ie>sHVz!6Qj-Bfl{KyrRX_v8s(yAL7oyX0Fzq`Hf79r-=n1DR4LX8!kAGrnLW4|T;kFB{- zF!3uQWiIdv@>lz7vR9^cnI6`2EZBQH2p!ZBzycM}8^@6(1M1c}1EhjsMIP~!dLz)H zv?iYAFUj>iy_M_$T38?070(lM!(2Q-BQFG|2Qq1i(#$%W6y+L0l>x#PgSGlGK(ys( z65NDza?mdbEDyUW?cj~cU_uWj8O}qsv$6HH*#igcGMOHf8TSZJe7tpJ%t2THBGocBcEjjYA|1Y1>wH^;w$ zI8!@teO&+!u2Ba{hiW7Wm(|{Ay!&Zc3>0ieTL< zxC=BTI>1)Y1Eu=l!s7Z^0IGOYrF zuh$^*ntX@0K+JeSLF2A4ezXM)Zo}4Nb>)$G+Y?*mNf};w6KHWA<107=5Zq<>b3FkPPF&Pls!Da#8w{=omQvPua1Q*kpAw{W9pDg=P zqX&$pULBhl->huV;wd|;s$5d*io18}BxT!qQ(yJ;P=>>JP;zCa$V-B)J4hI@BsmPF z_zMX0R>71Wrc0viCYl5LW?xQLZ*LR&P<9NnF{U|88JE(Bbsj5C% zC8(j5(xU9tK1p9HXdVT?+HpoL@Eue_6|-TNfgNywnW83RiA24!D2(9x9A^D+A7j%i zD(yEtiPM{c@lhRdgh;}frEp`DODah^2?5iqOMp!AyZ5LgSg_Qkyj5*@9fgpLZ--loUiJ3OWvl;b@eT` zo>r6^f@He7AN>*zi11Ieqd?=K{48RsTu5wD%PaJmVB`f<@o z%O8;v$gy+)YD(yoKqMn6bNe~qoM@~#QnPO@Kqcu)b*#f>QcT@N#V$CsF(!-M5WrmZde#ji<0P+Nq858m!r3@XuHqHd(9MAKdG$O7$=kr}s)7vp+! zUOj-0Mf3$lJKbaamzuV4 z&k^{Ms547b6o(NVczQcTWQq~r0-l@>6aaF$g@GzHDp6hm)^{_a=%k+t8WBbsI@Dv z==Sx}FGX&SS|^-BA6OQcdWcjetVRIwetT3|oGa-4QWsgs+2ZNEfC_ypS_{15<9%f_ z?XaeU0ZdtG-*ywA*Krz3H-&1fA%=^U5JjDXlTzL%vP#gxHDSFBO@Tnai2%WIq|VK8 zj|*GaFHf7}xUmy;PW|=_j|O=y85a8)xO;qU?Vw)5cT_P|4`|pcsK6-bv#w*+cg+QgIvOkE%fUls6;pn{x0;7%dd(hR2Kh)z0zQk!)$I72z z_^foWuN73mGh9o!9Bw_9y!TS_q1s@uevq&?#+dKXk|0RX%zM6M66X(t1Zl)Ap98AU za0gTv0WEoa^Sq*VBlihGH0cqQnZ(NTW?X)8e_K<_@7P9vFHe~66;xOpAf;USQDH%P zlq)VOOM#b{rzXNx+=h@`<^;}ehQ;tQYZ2KrBcLj(xPB?_E^MH)rHZ<65 zzyg;jf}}ECJCApEm9zN^+wvM0$s>_4pn67ayb1+Be9uqyP>?qYhbgS+1ct*EATI+&|u6-p%LXT-QFIYugm*^h+t1>n^nMyuu~p@pO4yKkES39tbX8Q?OpY{s2-_t0ni4z zsE<3ey}R_lqps6qzF0KU%*R3+;GnE$&T;JTwnV*`Yag_>T$NhF9DE{^-}dBdBeCq} z{&{L2RvB4w)A$&{b!wpo4n>LTHQDE2(t0cJf1Tey_FgK~>m>_q#%|5o&5u4+Qpp`bP*j50lfwkAbK%+wnM_aocc6A@=^DzG$Fr}*Ix*CwsYh3P>t^4aBd zT<78B{%EUw3O^EST<+{}f|5KNc#bM_q!M`^-*dTw!?}vXtA*#AU@iGF+zS>Sb&pX< z(d`Z$&f^(I*AN^YNkn_}wmQfs)-DT)qI^X@q;4-E6~oK7Q7x*Kb^>L>Xy!GfBH~F! zFN<7@WK1cP1Cuw3hF1_OfdCB3by`{FnQ{%&lB!-JTB4MUCYR0?KNC*jae_8%nVNjT z_HLyUKVzD8_`WZ<@s(2a^134G=DyYMDI7)UNlH6h#2~{dg^AeL<=$ja9g9GB_H@%s zbE+x^K<&rg!v0M~(1Gh{`XiQ&J6HfB_z{XhKz|h#dA*J(OA_^e2=fao3=aNWS`bYv zuL@nk0MFVumhd8Q=NbGGF^K`Get^~;leQ+`36%dK01wC8_1f_4b!*N@A3XrUU#h`pQYL@+8f z-5wCw#C&2QdI5wJN(wlV!U%D1l%U#luo*vs3%zajqJ02Wrxa9jSDT}76Q?B0c?9*c z6&Os~ST(3XWGM{LE=DX4o^vw3pb{?U3pu%Xo{9JfoOF~#Pt4qCAX%&6(1}yQV>zt< z1ZY>Ucj`f!eR$jzA>x#QoDMB&a=MNP)ajY-oWZH$JA|H_IyDq1I=4dGJ*Iwp#32p{ zm82nd-J}7JYJ>GCJkW#k{mFA2)2?!E&$ieCl?D~j?@eKcd}qHaIxw|(uNVA0RDhG(4{EBzC*c)- z*0~Oel?F}`_0aiVn{U{O?ipu2i7{*m4%-vg1e6k?7jIVcKG#-zW3N}88WLMuwr^c0Wf z3HjXgz2byX3>4H{KTC5)55w_5{n)LZqUmtZF~xowXRn_(ikEU0Q9a9~yn<3mM_FE{ z?ip_j)ec(~w6LkO+8(e)y*dEbcdQnx>o}xM;p3)oxZLGPrWyEao|_TkJ_%3DEAtVS zZtqgeEV&g^h{FI?m7pfC59yHjQR_GGHLKd1xT@zwc}$M>dqd(o-Y6*(LWu7nKnGrA zO6>&-4SAXdy~_*uoy0PdVLUMdDLe(_Cy>^TNXR>Kz*hnQsyg5_7!ZNhDe$r!=;jAQ zJgXFOt^JkA;rM66!%(;p)}SAhQH)?!sV62%yY(Y*knojw_R35#c}H((%E7URFeV95 z`xNw@pY%P0O!B4U1Y;voi1&?w3J&fVLIG4oW6wCiX0_9g(XpRBDlrWQfGCly*2cKT z5#UZYUMlsEZ855-W5!}M5C2HYKs#V8jw@yR(gbiRHTSvtua8x)(C3&|%dIOPdjd5A z7+!d=XwX^Fl%5w!5iMo@W$HxYlJlF?3fdK}}f1sYfDfZm|l) z&ls!s?CwWKts`X&7xAED5D+?UU5?jJ8WSa|Nq+HZ0S?f-*oEUfQEk-wCrqo`<5-=J z)kpUeBYPj1;i21wQCNGXrn>D`QW|vIEncJ|SFZO1?}}1qgv`~*u$J*#tA@?Rc+w1f zsnlf&%&rkTN;KpZxSW_Bi@SOtk3?~Fr{iE4C329ns%vE84@=KVHm(?PMvx1zjZ-Vo z4qG5Ntc@Az#v~AH1qe_hylW~+x~CQGA0GwUHHVOk5dxrr`q|F|RIs>pLOcG139N2q z=?C5~Cm~ScsH_gX_{U)aC+W3d?jVmVIWW_P>=J%JXWE1pk%-Hd=Y1oiHK%tNJr`K~?G zHNfXKUVHUVdXLL<4z{+Ym}OExR1DuV-Fg*2vj?i3MccE)%FCf%Vv)=2;t1K%gPU*c zK<*gpEPj-ab5uDSMlC@%&f}!6td;=-$MpoZt9%klWB2&VsS5rURi2#p^?Sr}2k0Qv%vpuDl<{AAir1Pnwa^LPY( zBolsx8rMNuIK#J7fp^-W(*{b<$BlS`e?4!|6XuKMPgUubJUAvDUKi9}6qHPdPqQmG zPJ3e&a|$R8b6WrG<^gT>>ZW_}dOsJvP*zo#R}|IGXS0U;4j`NKq9F5qbGhMi7WIl=|G zTK$|!dusqBctH&L6}J-&r@*5Qn$S5+`0AIie%4)R_2xuR0G{WYBp{wR9e24=0D18G z>6BqnoPrVt-=`(zituh4gYw!_0GDDH%klmeTa2Op$&-?q1_uG)3H9T6t;T03fEJY^O#>_?HEKmT9y&L!D$97wM7T1Bp)Mf`yk^jwQjPckRc{>_Br z9^fT!zM8j5ld`f%K3)>UCq5qTRFDd!oJlCs%T1n%>R9fp+FtJ5D0DWZ$nB(D*h+}j z(t*CcJKFZ2yidG3N*2(FzP?Hk=n`z=n?4FiNrGe0)K4qqwwRFHAUBx8`4!%@2>80_ zjhG~*j$)#9nw68-38{dBeUKSyL^o{%dfz9Q_c_RK_8h!y2h(Kl*p3q!D4vq8K96w| z$Uyt1$y%rt+_TA`^s(7&M0h9~Fn! z*gPUQo@QO)+Y@(`s^$M;?&?KIi{iIUEwFoq~CqJlCz#{dJ%CDW{@!c49dK;c%AJ% zdQt!=PD@;^uzy^U7JV!!|ZG4#%pzsiL$1f6q^7Ygt3YS^`F+)b^G7W7CCCxWq9XHwW_2uch ztvMbLWL!Ht*LIZad6GS&2{k|}0TiC`lY1-Gr>T;^HMH%nPGP1dQco**6AhS%+^!OZ zWGW;Tw8LvVkbG|;&-;GByVdv2Zs)$=7+9+FcU$}d-LI?rHKI|Bc&bA)teMt8m4$iV zIc6)eQKvE2ZI|MKM26|qZTC&9zuAro#$Eaa66+6N5~57UY{FM|hm`s)4;vf>&&@%7 zeO>7Wc3M>14go{+*{a0AVO0n$fR@J?0U;?;v+xwoJJO3L!GH(J=O{VdJhwp@_jFOz z7Ma9B^yDC=W?9KOyctVxwgj9gr1Q$JXUSR45`1dz4vk*vFM8RVR`20(eyX@{UR@-% z1-btszr9ebC}wq~Pb?VwPSd!^jZu5)F~?R?UKLpEK0D4lg?iO-!G~h{vydK15v{sz zxdO_LbE{)Ll7Vbn$ss)R z1B0RT5fBkncM5I>yV{gI!d$P@8rIe%%$ZkQK#wm{w_xUIHb~5Iv0Y+u;eS&|E zYVemd&BVbD?{WTmK+7U!@6P*u{$AJzKXEqY)5nNWpveU$MYjt*>Rd9-8RjF-fx@+@#>h1EzFIsb<$V}EN>g7MI_OlJ_U|a8FC~qsV4H$eN^Y(o|>pc_kV%|q@ zn#Z{!T=Q#gpVd7hPY;be&8T*XfBH$&yB`RiZj)f`62bdTzQkwS`^t@$OI2FT^gKh+ zchea`jUe-NUwoRab@3Q&9lUPvO+5$kL9qoQc&?dV;73`@2;z`i*j(mx1%MQamK^(N zBT;wS%l~>szq_=EHB;Dcl02*Ef}j=MJ7)BGLyxIa=gYx52z$lS zV_0SO!SnW{)dd9$E&A7573NkR{57cW`+{29&+D8#-I^7(5 z#3LG@y{R1v#zXy1w0?L7m8Un6_=6(*qo7Doi}-2_tGjjZGf+)ARE0|{03v{H0VPlq zPPVT?&q$z#$yy~jtqeh~@zp=fgfDOB?g~-rDYtgFrtC;Q`PPRFpWYU6T$0mjWzBcX zjnZ*dypVplnQ9~r)0*KZ8n|sz+1w7BP9+DTWHxte<8UF~->|w~2nlXX5k06~}CaFQdoBhAs1{_JI;IhBrYUWahXuBUV=M6hgM% z51jGlMR*p4^W5N`Ap;v+AI%{b-4*L>p2lG-NTKoW4RU{FNS-_2E2Oyz@VGb0Y6n33v1Hs<;Kp-|PE#CnG0_Od1Gh%_sJ8E0? z5T&(Nj%!d;w90%q++cIu=lgYdbf(=f^^T5+9=ocz!}r(|xIdx1?CX=bpGc%W-I+|0fUN#!%`Bdo-=R z&G*qLsM#2^e0f{|W-1Fy{=zL03%T1Ya*<)}7$Y6_`;rA4dpaEtnzrYOPC`73Ko#er zMsuT>+?rI}Xl9`H;d^{I@rxL@4y)U`guHk;Ty%C8RXCr_@&Xkl!n=1)`ls=e5F}f2 zsquvI@>YWH&56Iy>om&~&+;CUhdAT&Eu|2ddU#e7?b7t?DbV<`24}{4yS+a?o^=lZ zoL6NIs4J>W{pXcV#@o$MVFSG%q`UJuIr}#Q;V+rnJ&Qu$Ix|&5g56z z(TuJk88t8a$Gy-O8;1pnFl zb**1+l$gVNRt|w}e|Ae(U?+c6Z7(UiHAx)#OH)d&_`>Uy9R~Jv#af}1RlgxP#f|Fq zK(Qcl86NoUiC3bms9Pfy|{ zBbr8qG}L(1Y4AsrY@ge>IHYw_C`#M^y{SRT{Ub2~WKNr6p8nfh!a7;qn_>T_T*Ln`9WuqV%zPbb9w zu(}C=gAfdV97Mc39K%O}=C2`f=-*V7_1MCeu|L(HM}Gk3J!LIxEf{E$$AWo8SLUbl zfG0=3(M7>Iglj2ZV+F9Yq%>`V#_v`_4uc``+Wi#(199*?*TJh`e7j~ladG!>vt~So9Y_dZ1 z=Q6HJ=PB-fZZy@`Bu_VHlAoIv(W|%qPChXvyZ&4VoA`Qxio&S*gsERX`<1D_ekVx+IFa_k)PhQt#`A99*^qkXpb`1Ef+ zwa2H!dQ-2;M}o5QR0z#U`#ckVoMFdnhl{Cs9~Cqy$!qW8SSkLz&{sr{1gl+1TcMX{ zv`&1S_q@^u;+YhKTR$ajA(7n|CQX&U_QbqRy{F1iVLAs+8FP&*=>B zes3uP%;WeRA)cS#Q+qlD$Q3l}M;79btR(E+YO#V#v(npZv2dt9_9E0SMMk2sI8{VQ z?wVq6xGs_;Sab9Yvq!;PH(mk|SW&gJb|A+oKx5T`b$N zH^l4S`e3qA3rL+McGc@hietTuCdGRS=6LoVcib*l!`LF zX}$LMOSnnUXUXTs5Qj;2d}~O_uU8L>wqAh0mW;{yI@Z{FX_|{1&g0e8c4ykP=N(A4 z_k4ExJ{7Cr8r2q`SVUy(1@sO!tJ!1Cmn4wXY-NHYtot;%ti6NsT8aBoQ5}}~A+>*g ztw{3%Ubdd&zDs!?iybwGIn`kK{uckKf!rT2wWQ~@Ky(e-;&X)`nkFbYgSsW_m zGowebBoH0w?m%GnL#I}M#hUb`W>fP6Q1bD6(ZnZ&saCa}_zIeU^zzrpkXe$8qv~iX z$9f4;onC0r7}j`N7&yI&AYFZ~{oYz`g-GJFdBK=u zg~)UPd?lq$Yrg6O9ik+8U&^#gaav{r`z-Ukk2tf*K4d0=M_+P&I>Hc_P<>AoYRubV z?yi4qUwd6OZZQKxEb2CIL_9}oiUO3mI!M>1zBaK zWRPc=_k>SYXoPNP^|;3r)DX%e&jV~I-MSm=LLs4^OD~B{k~7=G>^neB>e6R7$(uI8 z7Tl)ummBi-J@jjGl#ftUN#hWdL5-PF;z46JQ?L)c%aM3)+e zonCR+;kBOTURNen#C)|brOqj~S?!RRhdb#S$E+s;TTSysfS5`sgm{joc?j3_SCG@{8%LrPy4j6Ol_lO zn)a8kHNcZxGy22eNq3@ozyi^vWc^%7y!$2nre=0TAxT^CXS$1{ftdGOf* z!d!eGT%^8d_lJQn*lMp&*i`G;E+-G}t zZZ%UqM&ni+X0d$av>u48X7Z`xiA{f>CrHp`hmPc)wSGkkiv?ChwTVJDr01ZL*;G~P zW;M(;esNsg7w@RqeP}Hd4t?wW4Sf!h&f7txR2{)_X1Cm7u2sR{UL0+EW07*Z^LC8y zahY2P{0+5yjzbXFqDm`kOO4!wo}N% zJw*N*z}uc=C6YE2xCIenI7TU^0T{`i+uL1gQEl}ddNCfZ1%IEfrTnXBprF(8vU>;N zZ4GOonZed%C|ol=;;65B-(OE^WMt_5sAUd{r~ zu-6S=9?|8X=Xt&bw05hUH{MZ%y!}od?)tU@zcd>?cc}E6sr9^vhyuU1m!{$n(3#fE zc|I?MDkgPlK@m1&?ad1BEeificR(4jgmv#Ha->M98Q+FAU4n>k{AR=1n@~ja8ZUvn z=E`b!m-`O<{KjMgM1uMh?`slpxX!iN>I%(L4{C7-kkaJ{HFK5~hfT|=zGkh65}JUe zr4iQ4Sbg^Q{buFsS}0puJi>ijT$T|}3m`-dE;xRB$(^UY%!k6^zdy{mc2(6uA+DGv z(QW3`s-BVi4D}qbj9m8I+XtXe1PKxh8nn1}h95wT1`mcM47=-AEtEk`mYkP&uvi2)kA#!h&%98M4gEw}-y$rC^ zOEj7#b%$<`zeS#<`VRSuIl@B<+wr__2#Y&GutLJ4S+0h}#zX};&YYlC^CI5czqdn6 z=i!gBv_lG}8T25Y2=N#xkJ3!GmfMT4;&EU2t@9k`8P;r4h+~^@Z!_<dSh=;AytJaW3sin90Vb!J)9KJnnUVZ`?Pr~cw)YQe46#2B-^FK6B%758tW$nkme@DF2P_otHOB@zc4;olhVSNe> zrH{Nwg#>*`(cvLMRITWkpVWt3>AalUN~(J>svDvtdctAksa2sW&X$+~08~J$zuoMj zYBftvvpUuG|B9^ysaAXMN9C?l_P?J$!j1tSwR=>`iLG+~I_j0tjoc9B*)+No~i$Y!Sn0Ka15q)So}G>#DP!iBpnTZ-)Z@9s{}5Po-yQHJ%JSw+Jqc%v?P_#axhn z^J+QBp0IXF;i+P2=>m*9u#;Ad0H5Rj!pb9Nd!hZzhGm64{Nw!r&n(-)lV-!?3%ji* zWO%ZA%sk8XjFZfi=xbf*o3PgQAe}t~x7Dcm>}z+pB#$3!7DtqcqYW9sTADUzoW1Uz z60DAYpFE@bwR{UAHS?cUcTtY~5_+ocBIsuSB(>DfeY2RT$Sn&(5D`+T>R$_Hr z6jqSmEv$Q!U{#VFPHrB@y60%NW+k)AZ%Z<&RUaBXNCc|6>6!^6_X_ro<@A5{5x1g4 zwYpT0LWQ*y`J>g6@zQan{Z15x2y$5IS4Q=?mzELy85an`vL4~BG z7R3^gku)w_#s>hR0@v5&}nHEvyuoVUn) zHTH<(k3RQy3d5igC>9D2nGBi$SkuZ1sqF}vK9HSgtM~VX(I19{7ZW9rr>jdT;C1bO zuGud$T%tH}YLxW+mtWTMHdy?DsDah=xF^7GNFBadYabQ%1*fc=1Rn*yN9_41=E;Rx zQKN72PhK+dRPEXjUh$!GPdySBwtwBAih0#0!|G*8yajUfCA^LmsX$X3kCwd8lhT>UC~*gHqNftRPa3hdekfBv^>G1r zN4qQG*WQr*WI30QRUoa`^iP%`v?Tm0-N1;)9jbtW=MGd$-sH7di@aQs#1?ChG9^*A z@fzMP)O8B)#*YPd*l&D;9k7n;3LM*K0RW$OS@i>Y(|SLkynHHehElocQ%&-xMab4` z=^LyGK5o;@&e)K-wwL&B`vci|qLH)ZL-*U7kMhU0z=;mpa;0SlMU7KF!L#9SW`ZI#rDRyzFo84;8x^Ks$+ckZ7?`9b-d2qT6BJ zF7dem43FcNL3=BpIxakRS+jfXFlO;%zKlo{t;n6s=%ZuV1AOP?m+KeMqI`3TDBzYQjv?OlZ2KLeeY=t*`)lnCJ*A1l;Q{ zE6YFprev)PSyz@cz(>YWjwH6sns{%|2|Dm{hf?(;AXHQ(dNgk z*&w%qgs-?S_)ODeKHRpbcK&c4^|VC-=FC9BTjR}oYxCCQu}G*th3iqSuh2LK2w#y~B7q2+$L&4%-Zej3XmZHFu$>kfL3!27Y{Q7sxM zpAzw$onu~?DcXey5u z?>kP+((eKYSkq`+`NTqxdeI}2VQ??=SL1_})LQ%7>XHIOex0~U+?mP0*8eu{b(nHF zKNi6h?prbD18Wl;P|2bi8A;AYQKmoj!FXYKn&wN8{sW#R8=s42)9^YeLDvp+s~SY0AsFr2K9ee zOE(rP5$X801uoGRrYycu_(OV7WL6U&XUnM95qW7cAVmcnGFeyDrm!whuvyqL^E{oO zYBC|LQ zUCqgcO31X@d&zmdPfR+sN1eyT$k17!ZjLl~f8PLT{k3j~C`(Ebb@Z{)+m_{voIh{S z?8{o}Io0m-mOg-CuA;{csvLpyOM6mF0lrEi=-gm`ZF1*E#-6v@jyKb2u;AnQ4Xtbv zi!V7mB&#p?U!gibS6H`Gs{tVEn$D%AfIZJbABRH;q+qcwhB_K&3Tvw>DuV0_{pZJB zr~6)yC$#rW3CQCUtr#t$7uW(&(Y;no4QkA^r^`warH2*9+WlbEx~j9@g(`I&y4I`~ zJ*;%nPf7N+Y6NYeemLa;PtzA@XzAV|?;$B*zz!N4s%$_UVK~PEFT7^f_ApJtI>WlxMqIm{4-d{X>5Q!qRqDQw>mfxT>!@y8-m!<&R@c|H zVw{QFdMnz2DQj@p2sxjxv|8+xUVZ9rR4JO4=xR#EJ_zy3u;`_&+i{OOSl-fifCJW6 zgMX5&HCVc^B2GDM%`X2H0M1Pyf+b>g}mbkqZ@y<(wx@Cc+DJQ(P`w^kkDyW>ZPs3|Cn9 z3*Z&A0S)sr6zX&$MPvgb=RL!E$(b6s((!S?M^7on!Z*0C>NjBD1BlTHLt|(;C8P<1 z)^rVJSFH4W4sGJa93&W9Ll8rUKp@PYHvnPoR3^Wbi|Wf=9;ag==%}mIX(<`n8N)aQ zRhHUxxndAu^`_q*>rpAdN?Arn9-ifhAwctT=yW_-MXdc&S{iAKV$m6_O|-u{Uz5uT z8pNq8`$NQ<9~()fKXfEkkI%rFfS1n^U$fgKu)^NtgFmI1NE!Mm_F;Mh$~D^8rJPRV z`*p$2m?}!+CA|oIne1#XMhMx4Rj~8tza&>NJ&F7IL7^EBIt5W%^0NR|k(YWI9`PY7r& zRegv>vC@~5tVCeDFX#Ra+xKLdZ1a zu;wXv4Nx6V*k&S`AHf^3jtx{|T(Am{$e9sL1hf+uM zxW28%$N9F~OIBc2ssT+&){^1~fd;X(c(90S_9jfRoB0NSeh%ODQW)q#K*K>FrijX1 zAN+GEJk~>MuJC>)OSF_?aE}3CHKZ#`5zTG?wz9dlQr@>UQ|b2;WQqOwGoTFA!-|rk zKSRIFYgC{W%ED#lZZXncno=_NT{05;i$e-3T#CjcT~9N|l3%K{o^ zwSxb$pw_&Ii=VpMC7ad5fT}j!qJlM33jJkecXza7O+`r22SA~ab*QbCm!Nb}6g~rH zwZEvBKJhl3w6d0Hb-+p={I8I)*Vq7AgnI84ViyT3&*i}T>dPM@OBSG5&>5OW-}RCk zo?qFLlHf%lrG#}aP4Bdn5+o<}lzGNVR?<0z8g1iPo$Y)=II%(jI-T5^Iev{63nvP0 zG*|V>K_P%2pu*_`DXL4r2~9j8$oz#7h4f#B|By&aVeRUu(Hc z$ZItSnw(IK_GMWYEl$sZAlB{fl)zranay4Ea`FB8O@)wyh*0J0b#Rk%#mU*e%ve|&QEAMPN+&q_h^BzzN ztcV4dm)0-VZr)Q-mA9P3x_3!hl1X(}Q@ya^ku6PXW+>>r#g2)B*0k1Vs3jk_L8(S7g;sUiU^PxTtA%6++LUwhFgbME8NzD5#r*0S z;{Zo0BUmbG?lTViOqA$;trocx`aG+&mrR8;j=PbwNAhi*5X-;VFK}4){!Dp>MwoQ1 zvl=r z{xGw8$G6RHw)t(ctSF7zp@!e4|FR1EtjD(3rKGAs%=La^ia8{=P5;FSp-A#*rI30v zOBV6wjy#u@d1**?^fAeVE-RU0ln!iQM$?U+M8rE(O<4+cd zQAllhnasO=mdfS49F5<}CGo(f8R@CchAn~P$L9fBP6w8LZRLEYvS#Brm2&!VpvjP2 z5+CEUUnT(}ot8&Wo(v=9NZy?!8`g~4m8>Tv_bOe6Vz}n8cQBxX) zQrmksr<lMXZ+7~Q=%6*Ry{h4`gPZ%p^X`8LA zuRDlOyZOn=@vLVFq_Y}zqXB}I0;XBUE3hjVN3jYwV8jS()t4$A29{U0$OgBC#$dcU zRC%!OUdc-ZjS}y${Uiel=wz{s<(Cbpg8wfdNP)NqVGujR}-Lq({XnlN$36y%Cr8Mz%%tL;)E10BasZMgVBKBxv0AFy_}? zKeFGSf|35dMc$hBy)uWbJ&#jZA^Hq{r0cV-5Fq$r5kEVXAspELqC)yqab9oRBUY7` zOEoqDD=IbSh+5hSe1pAw^>uLqMlo}SH6!!!l52lJT{z8q&&Rr>WPJzt-Y-Wk>^E)2m)wV!!?#JMNRr%-(Zw4s z-QRJhoKC@I32UF+)e@KD_FfW(=Oit;d|4lFHcj>KxmcE|Dn8o+!`Mycjd9OqP(V;p z1;mm%PGb(fxGu2L+L5$$_88Pt^MNzP8$i3%@;=A~qc~`qw<2 zEPbvA;}~_iiLRlnIa-skUY5Xx$mDAA9c~x=K{0_9PA?Or?Dt)NTPa2R*UTOe-)zou zDt%)}tOKuk^q3)JzS8p9SEAXF`|hJ}m?&mNW8?E$hyo(9HB3k0)i;ev#kgaO>&-Mn z^$rFya|7m>P2D;gJ`Zyw#`-+OxJZB2%U`F%GdB1-6v>mb{S@hvydXXkg!6GJIvm+& zWI17%5NFlQfP1@4r+AlF39h^gO;uS>MNUWOoOg(~axvjxP^+rIbRA~FLj&}-))W!T zU5qj{XVeiscP;eTw!0S9!6qe)t&bt#LqmlMS| zzvf7uiX*un_c1*lteBsov-Hc#b(f+Wy_-)KL5$nUI@BsTJi%_wM>7syrN!5!TPQdG z*jTfku)K9?)pCbw7HO{SBA~+`9@Tr;U2_)aOJL6x*N+|?Dk*T^Sg&cPo-ixY&t1$5 zdA>+g-qzbwzlV`sWwe;%pW8mR+)u)Rvnl|RS|zg7Yno4fcY-Ff`LKn}+KMOsQr`dGzhIkt}N>ntJXbaM60& z9fQ|+x$k8B_N(Xd;`|~z2z8!U8l07S1lS?#4BzJ791);u$_SaW-G$R?6&gD%T_COB z%1|E8(NDmF6&V&!>Fxf-9m*j?eYy)(!j-{~RNL(LwWeu(FaS{tobb2!pevRo#R_t= zyw60$e$zY@K*6k~oNSi_*fV@pDR`Cq4quDH-ux9TOKwAio4BEYcP$cMyfh^r`Ng|P zh&6|}#xplf*}CR;?eLX5Es{j+@5Cph6;m1tPuBn<_S(V`nE{w3l}^!Zz7w@{jY>oA zIb!r#?dcSw8|)%v=urmqKC%O3k7HgZ_CX+G8~R-+WgTL-m9<5)CA5fp#e~NWKx8qF90U7wsAqeEMLNs8{o6JU z&|o`_`a$YBXU8C^0|^t>T8bOL*$xY`DQ_}IY8}N&DR?n^lXHX)OC{KQnfH$BmVL~7 zeu?@KoW78l-mBg3h#3x-xHleu^F2T|2bklaSwvWwr>WU6yX6t{ey!`ihoK*kVKy3F z>g(1GC|flZxvbI$1B6o6b-*J#{KvO~Se3Toets`O!-08^ktwon_=>EDAyH75OW_rV z)oQWEnkYAd@s?%f1=*|v?OW#(BJMgVQPs1gGE{2EJg%mDQ-&@v6FwywkUF&nR1Mvz zJZy!U$6Ma(9*Fne1t;TnG)%Gcw|SH{7}2Xmo)t3^6Q&oPEuC@^YUG{oDivMHgGF?5|adk}h?@7Zf4JUgY z!H*|3FwQ7MbS75aCwl}|7gW^Ex6Z3a9%qPFu=%mK_Yuy@F!5dbzO_};%~8CULaWDI z%=!uH& zy)m?Q5*bNFG}gzC{Udy(H5_mXB+e)=wsVVO#$mF2E5P8N;GQz*6-;7}v;z>U-f}s& z1}xP@nY(|m-9X-8{xp|{NpOlh<;#rJdjQtSHbq|PeTyEJE-oQ(wN6F}4#>5vQ3~tvJb9OWiVSnLvzYtIg;Y7~^o#6h zD#9ru4U*#2$VA>D)^0-Eng@_=F zQg#iw_v-|~5kRsiE=jNdeuQsqq$8Q-lWx+%9u|pnK z54r)6t<8IB&WPA<&;vk+9rIl$UfN%On6w+>>bQv|Fo!2^NfDNRj!&GEwE7KdjiV1L z|8?3`KN%8OtfdSWySjnfh|=z@K61*RFZL9r{p7lya42Lx=0!;}T`Gw1sDm@cr%`eQyoG?G`?Z7IP1TZhsI~Re9lL+0duKuIy4~%uYV77F+x0DFy+^77Em-aJ=o(t7U2=OA z?KHSna3*iriBIpB?y(nSKh?mIO2~Zgd0ns5<+^979vkYH{2?3IzcM^hJ6x(}oTKMG zkJy4?vb(tr26UdUVO2+Jo5>$?|9;4Iz2$5YyW;B=&rGxt(`NbW5%(DJ6@00PUek2j_`K#mjoz_+pV@hcK@MU9OOUWZb zr;|4MbfKo|4j8}VM>dD}ZAM219343+Nr~Ki@AZ~AGs6-$N&V1QePnt_cI4}5`g}Cl zcI>yeq99BeClD&?uSp@~2JBHWJ5Ry}ZqgNry;bjAR~t@jR!KEW%w=D_7nUJ^Rnn>Z65ErKcDvj4pkZ+-fHYHwgo7RZTEr+ z>^w(X(hh;T*!KW)0HU*9r?Hwm6T!k#ee=G?Q$4w}t)79(yF zamQ0PoT~$+hIxAi@slVf3oKMXnH}a9d_>1IPYGt|19OM=1oPZmwwE8Cm0Ad2!pveI zY&Chl?!gJ_6yi>`AL%DyV>f4F#+i!QeXDyzySUG|kQwJ4+hJqej{jw;@&x|C_a@uY zrp4@TjqFO$TSod4jEBS0O|X~;8t}f_cy=ooFXTq_I)aY$5Z{I5%ItpBG&>zm(nDot z9zM_`?EBE4g{XATu#w(kfYl}YtG&hPs-;ZZm+&c!t(Uw}6zkf4JiR*rEemVCgg@z? zT&kl!bx$GiCCA;~a(z%C4}r0hG&5@mqQOD34_xc=+ zSiwaMiFQgt+;DR2xoF1zn_K&(*9X5iu6TPZ2{)KTvJ!i5vthICtxS5z*I!DH&6GP= zeQPW>e2NPM_e;UHi84pULuNy#P4Abm?zNd0AqWs6U6K%15d~p!(%3Ps?|X;AQ5$itv!nQ>eKe%BRhha}H}F1!F5j zvzAEsXt+Fs3WQ_;!T9Vfhlf|HGf7ow5c{@*C}jD+^1aMr!|sE5J_7u_SUd({dNuc z#T_tQN2F=btmb#mbB5XnCHkCo20i=+)S`Cum3%B`l5R&^YOniJ-ccE5(qKuh%Gzr> zZXzDMY=;bvW)I*L?Vi3QWkRPUk;EbvclfnuQw!}Y(#8_s#;MzD)WR@R4(sK6Kr&&) z_;sjIIZ^i^=vEH&-z?rBZ({G{p)E(TcEyRB$GXnNXvI0i+QlxSkjyE%0xRU|tEjqVMh#t3tfs=e zEQ(r@U7umzyJhlCICDdj7XoF%V41-x_$KNRy?pNy+trT`Vr_C4$k;f6=PnAIfBvyB zjL=nCqz|s2s2IN_ocKHkgjuyK0zYJ5(~{dvr7$K6yfzB-MlgYTZ5`GZ`tdn=*t*2Sb&qs5W6$@;9rQ&WJVbM&R|AjbDOvCQLnox zV5mZ$*?SJM`lko<&R65}pUh#QzW-S&VR^smoG z8p4{kVgO!Jn0k(ixZ$ok{oMOOOerV*nOVDEes4s@0}i!H(muy3*q-Z(eQQUdjq#h$HsEJ+5m885Oy=s){=f#6BmiGVs%b zXeEDOSo9xSYwwTJ%DJjQ0V&pKS3h(Zg%)|6Kh>nesG*x|Pp}=xW7Gy1tv%iI0TC9& z6usD{MCyM(fLG5ARW-0GZ2x2DeB|C~Z^YMfBKsu6pYr5lbZFAdd^*IB9QkuAd?4mn zQlnVzf&}+UQh|N027!r^kfpRkU)iV5^Cqw1JKPeF!T$a8H_*qK>KV@-?%|r=AM?wM z8pDkq$2@pe=Zdq5hVDwAiClDXDKoayy8uW(^uB*NwMC;V;aCF*bRcc3NO)Wt*OFfJ zPF;ma%d~*Bdbf1#@Q1WYHVa8RrMIg(S^+!Q?VCR^%g9ZkX>oc&{(5t*C}@ByRYm|bfexXqidbV);Lm_niB5?axQHDw=q$zwWoV z;MhTZ>$%^d9kbcw^n5eev5@wNz>Zdfxo)DnbY0ccgf854sBY(6vC8&J2om3q@bYs~ z@#?KFoIu#D30M4+lD4h^3@qBP~U^RZ?B%3`;(P+ghQ4D@HAE{ zx^Zw8-1G7p*q`3fr*0OYpkW=Kx$ZYFv#97;dtCY||vvx;SMuRv*R6nW{-okPMI5>0)c0rdRud0NMN zU`4j+bVidJTZyNGv&VqT4bKY)8&p^cD3a*$ht1loR= z9wfUem}RaAD{H*1VkYB`%Pe3c){rH#wzgxf0K3p4%$(UK=g0c7;w>JaCLgkw|CRZ|fGoy!;x813|&P`|nfl!e``D>4|fEm>~t;f-8+*^Q=%Ps}X!#aW= z-w^^(RzJ z1Q^o4s!3bUBUP$>@{+prGeIdfex0s*=oTssViYfz9IqiA4M*#^2TLih*Eof~q|Fmq zH;uKHvE!tUd_y^p4OHG2H!@KxZatFE%_hN>e)iz~2FWh*9VfAc?1dR|#okP2I_9O+ z)_WfZZsl-@>g!cn3o|Zze)|DzLs?vuGS6l}kO_)Mv!Ak^v=VcnsJ3K3B{`2P;^Rx1 zx2MnW{4%ej%CrV{jCu*pTJf*fp3~Pcc$q|@c$Hq$+>SqP*V@O2C2NZJ5ktoIK2EN_ zE53PcXe8y;2Kn00=!6!q#o{RLdB~zA&~roGyT{46n@e~W#*aKLiZJGpDeAHI4m!bI z$|`7J^3(0ZB-@*XS$e9t$)*o5Q_n$4-rZD?YcG;;SE?GQtfL@#%G z`F;gA2Q2$n90Z%Pm_=Vcip+pje!b#L{B@DHKeoQ-Q#|$-##BXBtP??w8W&e-vRiPa zr*n%bNFG&=9r*^%9)BYXS@$eg@g_;rFu6`2om0d*ms~^&@;fvME-PZe<+>T#1L=H2 z7-xz~0BGIzGZFT14Hpdhn9)dktMJT00~t&t4SgyN5C+8}_v<*Mn-kuzJ?ZAF zVNOl)Qzhj+N|-JF)itDO+X#^WT`F2*0kf*1wh6Ur?P3^$fPJ4IYsS@NHH?@*V^NqG zt|pUdu+hrFZ2`e6s$NOvz4d2*u5M8-VFjJM4a;%+$Q*Gukx-^>TN*My>~w`rKb^QG_T@n zVb98VBPO7(h5d7?ybU+$aAXCkRZ=aMKy4We^)Taw_h@&6PXj6FP!h=1-1mBf}uTaJG|b&)6`JAHrW=?Mviws|@R7{OpV#M|MP$y9iA zlx6I5@YQRMhu+_5^e?CP6ZF1vKg~izjzM==;*K(@0d%3kaoSdny#yqW8|$8)AF~0~ z-*6LWcXun(mA;L?dEbWAwrH!DKiWwDwbU|4bK_oD}aHrtn}fU^_sOWBn0hjOR6G>J)2*y(eIEXm{TO*R9gx53(`la842vGJ zqHEW~x<^gY9O6L|4_xb#orB#}TZGf+jTW+omoIe?y}8jTmx-f+Id(UZbL~><5-Y45 z2ePuiBjOqjpRM+D2c*`Qtb52j8JZ>YI_-4=YnFouQVmzCC8 zWyvzFO#&jl)vx<%?LiC-17$Y76@#;fQ3U8kgbypM+hx7Xpne5=EuSZp&gm0L<_hGq z*9+K^$kNTs)OdF_bz*FB@-;@!D&tLE1mjq1%Q3opG0AUbj%^3}@`LRY+VCbdYe{gP zzq-ubp;ex3d4@X>>$t>K{v07%t^L$FG4Xa6~rWVTndPeY|21L4A)|PWI%8O7A zLNyHd+vhBjr8GfQQ;_gvUEqT!Cq7nlZ;3vC6n{0* zK4y>2UWtC+NMa&+M7hM7I?U>3Ax<)(F&Ge;<9=P#>O;;O8BJMglip{fGB z)tIMwAa&n+wDFSo7-B;&(t6$-H@zK`jHjsTgK)G(f_KPz<(Z8gRV{y|7ae*_x9|mN zm2P2_=9(Eh&dVyQA3i0%_2o0KS;8JoBF;0jm9*54?l-tm@4ARsPfbQ1YdTlnqTpsm zcQ`y+{QW*(m#sV2^T?Q`yRH|vKi9&d(qyFv?>ttPpPdzwtbU$rpTtrZ=)hzQ225rv zvf5Y4F){~Rif>M!z2de@XDrqk^2AMIoXPqMGZcq0Hj$ERE;>8Q$kIn>wXftvJ;qB6 zXU|2JL{;Pk&5S!Ak@A|YkQvyT;8jfT9f3U6koX9DN^W75zAu#amGt6R(7V=_C|eZU21$pPlRB%#TiRBd9c==!WTa*=HJ3J zLgntzb=%mX4X*6f0XkWpkpnJS*!2|uazT~Q}eM;|V`ty%fw`cckSokQu z3C!%UU}3H}9yXhsDSyod$(KfV0kUE#Mio|$DsvugT+3dBr-pc%GbGtAeICKcwvUm@ z*So;EI%j-F$cdG9%kabmpPS~{O4Aj`8;h2sCE}}0nk<|2{UFg@@RfUEl(Or?j|K|N zOImsi#|{?U5+~ru_UOV)a@@D(6^b)PbM<%(B&)OPJ!oB&a-a!2rWK;;(H$dbLKa!% z>tX=DEBWW{HV(`%KzjKjfgIJwCTw^9TK)jllDcA<9(Ig>t7O?niY=s+ejTh!l#Q)6 zKgPe!uzvwG|Mvk_|Mvzb=LjZ}iRs>&?tR=$R4`M`GzSGpW zao$UD{%O^DA663OJ*?2^_LoL5Rw%93%0-rxUN8VAIrR}6mAA3-#hbOrSm!O$eP zZ#F541M@I>TULEdkrLwLDYlr`9l-tdu+||>H@Qa#0I{MT{JNHOj4I8qF=LUhk>YuW zbvAT|yrd5!v9P%I?|1WZf+Ez4&sU|vB)z%$L=Jp=(mz6?|6qg=4 z)ZuD}4)yjNydPLFtN2>lbZxCPjVCLY$*sS1X5U2kbp_msXefg2>>P2dvJ8^ zI2sY8O9W6pZEwVmuB|3?$jMq5FR62(^_KL%kn8UK2G7v1?U(57YWG2ua8IQn)C~v@ z1t|*)<>;sWY3==1H3%lcX2!D}cG^j%8gx;Nf*)<(2q=<*P4wr`a`qWTw$H`L(wRPi zJC{p+iqsS-o1Hq-p@d@wm~EX}74qG_@jhie?49lQN^vb>@~3FFcduz$xb2|0Qq=({ zLT&|v+={+071$<(7!L+I6(W}ayzr*3fb{i#XdS7fp3nIyVmt`ju_op6WeuGu)j=+^ z;UZ_U>@ETPS=?pLlOB3;Jhc|w0#~?!h(?Myj zpW#h)h!*|vW1lMCgR>7+$&p16hc#XH*v09yVsPf!Bb&wCZ7pXFaRvvSy=I1~SPqxd zpU1j?v5~Mm==G{5QK=;kA-)oBEyZ)3#d^F&7_?ner(q!wiAWxag0M2Q)f_q2VxQvm z7?Nv?tI2t1-+JZ{$&z+kMuk!+g>glp_yc^aFfFzll?VAm(VaU4Z6h4fy`PDT7L=oTXV0AdK_@W26-7s_ga{<8^al=6mmA0cZfbsJhUSnGePhqBKaf5#%6l9w}2^< z2BG|Zc1Z1dSo2bu;>V8_XUAoVBKY|0Qo)JiXFJBxHVpGZIRIlH!(tTJ$FPG5I(@6i zkvU~+s1cG@xUSaU90sH-kYrq6rS}i|wgA0WbJXu=J((mhx-9k>ElShg@EfI))%RW` z7iyZX!nt@tm;Hqaps=w0 z+mhlNT6K`CSLyBkEPzt^;Sz3(>Jh*wgbON>@Z`Q`tVO=`=p`_bcIXZ<47c4wXwT&{ z?Ore9B0}*dF-~qw*|WA{$!?p~9GtHe&VsSa!~7d>^JnY`izOH>1kf~@lr%Uq(&|_% zM7&?9Y7&xHi<1=g03*cEX7Cm*73GE^!>& z1EymKjT#*01SjOXd0f(>y+%(tkzqag4`||z-)qB^E;;h*zh1;_*@cLpVB0I$4BW(B zQ0e72jF79>aC17?Be-g0Hj94$+Z<47cGMQ3@24|}#sQor@9RptSCdNYNjt6sOLq&< zlUyacqEU@EVgmPbylAf}#IwoiT}A`;QIkiIW{NPz(h`1*o7=)_ufb%~j;@l_UN7ZO zDdq3y2=fmI%x@)1lX|Q~-_gMhE6I5`P{Bo!qRh-FU6Kud(aLc3bos3XFcGG&=cc>px=~yu858noIs)~utl7ssc3d9xA_PE@&HUjdNvlHc zKBga=PP5h2C(S9UHUgN#aac=S4S9QgzdO30CFf?aFOx5l$6${{Yt1JM?vh8Elc(Ni zNpkx%$nhTBK8X_e$-Tp$=;zx`%$+KYF03aA&Qhg^A%hUwDXV2kOJ996c+kh4lDOTT zBtxjh)nQ_a!s0d;{o8y~Dg8KpWU{1jnbtE|N=mJ(UDRpf?GD;w4_(jftKm;vDa`vg z57c%8=V1^R+BVD0X4tUl*xUHC)0VSDdGPQa;XRY&&pzw zP|Rv~SdrUfE{Z+)$&n-a@FC}f^5?APShlK_NNB+Sk(svHdeC3}G@%$!zF>i(cwe(e z0{MiQ$<#=7eGgPRAKy?T#iI286hNl6Lq>+Le-8DDa*>KeU7!0*$)ec)}T z(|V6X^KUj2i|h~I0UcK*2s6~;n40mv_opY z)!&D*MhnuUJtWot3T}>L#5cdfTqTHQfd^XECPs=lAsWZK;m^$f5ty z?YDa*q!rBrdozpAf4`_m{>F8kN8fSX5{?(Do9}=EblLtla|=D_&#>>a zNuX2O5ccg2>+3@9i~Ai;q_wQy&i!`)c*O?1zg({8`i{hhxA8se%=!BBxc~l#5}SO7 zC;u||#fy}#q!7e|mnrx~0(V(%2lC%IRb>(dmJD4Fuks8mXI1JfXzI}Wh6%GAZC(YgBWQgB` zk)AfGy@d-r3eN8IM$uJO5U?|!d_#Glhkbv`-1?iWUcILKkYE1QvKO$1;OD2`c36Nf zWV+4rexW3}Uy9Hz7imZH?N1k7a5<|>nzRSi7Ck-~uK-Cvw!gi)rjeC>JKFd4`}~y; z{IV0*t)y;n0OT?BnDIQ>^q%?!idLw17AqC(Q!O8R?JD^Q0ts|%g`E;vH+Mab{QB3o z^|Z$k8qNz&mjVC0rm@(H!*>y)6!Nv& z$0pds?HNcjg3}@`za+p;l88HUg*jg$aCKKwTHMv4Ixz-6_b4V1|cRDNaI zeth?T;mP^`gbWBt&e6nnf&Tne3hONviYk2&wG~NO z^8w_gx(xqNc!uVChJ?jKS(t62nJ^uV=%r??NhK*rdX_posJ7!2*KQq+A70}3Qvn!i zb$EdOytIDF!~{G0hnEX+>%DUxSpbqEels*bb=!x+qqKIc>i1Eud`P?x7fIK97!iAG z;`MwgJmb5%lb&l2>)6Y>W4JnhelwG~T+p@$Wbq5jJ?3O6@k-JWIn>jvji z;%{qSVJ%%?J*qmFcTYHKnEd=0SUaP7vF=69i?K&qvPT3uNrhg#*yU|jY&(OUgI>A4 z0zdrPW5^0u(lWPdaz$$Y*w9Mz4QN~ir@1`?L85#qZWpH>))_e_=xz2!PVv@Eioqp+ zNN=#heQN6vuA=+ChiRNzBj^a)SJ*J#9OhY?k8Z?;9Ua!tJzxX`)p;7MQ?jAF*-5N@ zc+F`f%r&X9j&%oIy?Bw=U;lxdD25OLL)*Rp!@^sYuulrBFfsLe~9Jm%q=Ycx}oG zTIz7HqXW}qO}PeXl53g1!?g^$=DS;WODiJO)|evn1=e5DJZCv;Fd~!OIi;k3jcR3|1oS2=n1Funu=gR4WOOj&-|Ag2Yb=q4uzHpiTETTy_52GyGPw z?_M~ys8K8{Rs2U?aTiF*hxNDm*-&DvzoZ{lx=|>@g!}#LTAB;+sIZcJX<-FR>~1j9 zOYU$!P0JFN1Xz8nod)e9KQ*~Ng0ADmzKE54;CZrrP>wDuq3eiu>kE!9Sn6OGcbDsu zmSdH*UxpsDAtX`fVr{{6`zftUR;va#$K5B(uMz(HzNE~NRKQAJ_;lcIhgjo)&)N*8 z>0(vNUE{DM1oqpl)EPHR0%+*A$x88k4S%8847U5}yG5;uU_lS2y6hiS*w9V&Kmsl~ z#6yccMb^F@Czs2M*u?w}!_Fd|Np$PIJN~G`lLCwHGb|=SZxbjxeTQ`VH=86Io5yz4 z_$jz?o8AlWCK`hG!(IdMtYp^ubS)%`bGmD{!0O9(e(CS`e^z>s@r1}uNp%`$GZ|#8 zsU7a2DOQst>vo(CPC!hdpudKUCoEK_*|$#6L`4;(YkXVjU~?Fo-GDq}kjU=slZ8vSKeA3kFOFxDb)_hIRYxULkFaCBd`f^T;WP2L90e|L%1shhH3LDCKFnsDN>#R{EF|#$F2RuQs=#-%PrPZ)r zk%zyljohID$Nc5eS}Syq6_pRKsH`2p8rD63ql|gLZMsAF3s`p$$z-Oex<-KJ{+FXb{`U3T@CSQta6j)-#gCfVf-p>ssPLX6N%;@NRXq_?qXt{WK0_ zII6^teo0@KRt}|3s;0CiA8>;iiNvn?z#^=Kr0y^Jq;)^{aMqdLD_`1Nk|Hm%2U0(W z4n-vANQ+GMIAN~Mm{I9#?#bU|Juc`E5By4Z=;sP`qCZM^H9VJo z_$^zL(drUv^oC_BI=9*vI?VK2^jW&ypZ)@W+#z0;gdVlJwkxd(M$lXVDK^Gifr1CvTehb?$v8m*vF`uz za-`X$r5MAgk5KJNV@-l1Vcnaxd&4QG&Z?!qsDC*fFhqc-ZI$+hXp8>g8L-ktP-nFC z)86n$M(|r+V9j~mMox;}wO+64g0W;lppOd&?3@VXc!#gAD{ z<$VX`0fRh)>XsKd9!FDqI)_?`&60PgrlGxVB_EuBzZp^=S-_rs131(u;QZM}@G&S@ z<%Lh~OeNMGQsW^ZbQEa{q(&^2R@BXC5~;Q%&Nh8*Zw}hABG3E216C`~@@pA|sjxP+ zPV->2bL$#^>DfF-dc-Z{g# z<6*rTA-y|YxGl-}sv98aIlmr(u8P=gcwv?Jc?8gjBfif*QsUKWGeIX-G;rGMC9qBb z;IIOY9`W6Gc&lrzKRjdNWWf$ir)MSQP7`f|?h$JXBqX{sNjYq+S4wd$FfF-2%YvOf ztnh_peYQPY(+n$&Xz_`Q0S?`4fNVpL504d4;FNU)J`k(hFquyXexA4Zn*P6~*JBC- zcucn|)3gUrNfO2v62i5D34$8rWXr;uOO7dBB~e_oDE6Z9!d^o06DXn2Gef<|Y=j&K zEQDyIWIEK2r=~?Qul7AjkX9)7B)J5Y)v|KAf;obc>G!21qY1GuGz*qhvp&Y>!;-ur z0mNodx=-}SFKOskJk$=*iB~QX1H&u~OJdN(ikDTxd%P?eqVZ*ghUy|9gXF2Fb*$H< z=b=CpWi_xRPCtHM%$TN}2ol;QD|*f|zG5XI`3vGnAVIcXkQx(dD%~I3DCI}dFmMM3 z*pg5KHjV0EgP`JAx4T9#2OEHEhlExasQX_KS6;s6vZOuP?2e=Q!9Ix<{o8rm=>hPIPu8M9g>`SrB!MnVo*%0zgo;<} zJioT1w-KMW2fGUixRi^posnF^it=;v^ZJPR@Cv7g7FxhQ?1o8EEY*)HQ=M!tc% z$MHO;SWfK$zy-W$XTsVpbJR8XgbVl$-J$zLq@9H_k8e;-U*FP<9Zctr8Ok1HC(A0l z<`wB7^NMwjU`G0Is4Q@>!37n}-_2(fXct)t>EVukTaU;e_XVrv2Los|v;|60_pq3( zEO(N^dn!Q$bKl@Ow(jTEfK7Enk7E_na#ktZ^VSX5FpKedOYAj|8(4?#++h24xX;sg zxc+`x^R)J_r=>>ciXhga(a%#>WIz&<#YplhggO%)W z7z>)LGL~~{B{-TDD0Fj>&sd~YT}fCWi|k?TLW!!lUC#<3m#E%%WT2uPfpzarOb)Eh zU^lnwsjy5^CYB9koU5x2Zd&*r*1d(QbV*DRkp{vl`?M^oj`wWrJXUt*AuE-Ob8Yyt z%3UpwIlL8}*hyvGa}FT30yT=Soh|Mw@jKUgcZ}uL!82-!%C?pvU#85 z1+3u?71v+ZUY-9iF@SI^pyGR+PvEWKSH`*zB7d}C25>EZB_qwyA+0$@!FsgA_Xaxl zl(EP0E$Pna0&$S9PVO>q*4u#N3n*ny@oQ3=;)DapR}A-r#H|Q8;3i(r8=6%bjGDp- ztaD+XYF%%FOn82PMV^AvG&1nRd$4P6MVDU5&5TgM?cdA>6O4efHJ6ImC`3wWR_O-~ z9hJxw#9tp0In^YCQ9zJD3~_S3!I7&Aj^zLSWzSWn$Gor+XTz1L3sxbVw|begB9)b z2rM&E_xu)>-kxhCKp8aIhIJ*mP!G@ybc@8z-YfPl=tI_Qq=HpFt)flQih}#mMgJz~ zr`IG~K~S>+B<_$BtKUA2n=y5Wo#}NgMCQVa>etj;W-C<22AnJd%$pNaeuqQ@au~P! z7!Z&vG#r`lT`T6% zgI}ugY6xtRm3|NUO@2!yqUCw4bfc9Qf~pzMF#Oq8IZ@C}lnZufjl+{$o1u!dboA?7 z$}Z#?-A;7YjC(VXY_wSqY3rT=*>iU-Lwg@ot`c%g@hwjn^u)3e@DTJF_ts97+C|zt z%G+Tu!YSFh*W8CyR|-P%Z|Fyr^)AlPKNXce>Ofhi^)MIssm<*7O|CW~R&wev=w|#1 z5RrXf_?6Wj`6^6O4ND>{99I1~Wti>5$@et~`4n8zmE`<>aEU7E35kG13K7*Q^hNn^ zuqJZYw!0X<@7n%yJ6A$D{7V8l>6DU?6{C^r<-bFwp8&%W036s4cR+8nzk>yXfrf&O zYOT@7Z%z03udtRRf)s?PqnHL+e{xu34mj1OhJy!53Pj3S@VwdHVWg*Db!?bZFnoSK z0ojxp$$NWLY`BYB!@S!2%P#tkYJ36#XxYdY-a*gj4pE^a-x?Bu&4|Uw%@&K^Jc@)E z{R+@vH(L6!?TL{N0kVU9GKW;5&#Kw32xmGill4wWcr8A1j4bi}YhleN@i23ZbY=~4 zS*%wTuHm%=Y!3PHt;2T0;u#yZ!${h45C2I4=f7p##~!!Nc6*2@s(U+yw*A6H&Y4w-<3kvIL}Vf`WZ-peY#Q6_)%CF$_66*eVDkm?3W zMwvi5(c=zP0J10NFB}_l%=(6@{P1J(4wG>Pakn=}g9xnHD9YR+354+;1QUli^C12T zYFr@sO3UjEgGD640`?T!+GlX2auVk?zgCk57npMn>mBgESinVlE$Vd~J@Q~P;cdqwTVNXs~((A;Z7G{uiQBq@jw z4Gj!fEpC9$bx^m5mxd_tB`^V-e`)_7B0%X#~%eeHuUBpo^q!g|(%l4X_X9>wK`N48GPhG^j&Ml6Q%a z8xa|4GQAkL#qgJ6`R-{F$y>OcO_l#ZJ$*8SpdzhXh%wgyP3=W-Y} zZ9R_c>Z0}23U9$1%#%Jv^uK!f0Y*(}dF)sF-CRqPqA1c57(f73tf{c}cMgGRuZYY| zMyOBW^^yON5BD>(_!l*b6 zuUfIs{Cfy~h74`@58CrzEzqP!R6*ruiL)P=8?7-Pr3_P04uht~h+H+AOEj^31w&p> z#-U_Q(69CPYrkheM18dXJ=*^$*^SDcM{stEHDYeh*%8(pg|eSmKu3D@mn}zJItE+a z(fle%Nv5RO3;gLFU15Z_&FZD0Zt-gH$qet zX3MU zmV#6@oC}IH>!iP`Om9e;h-U?veCw+~Oxjf*<()+plIL1IdkE`#%< zs-dPDei0?>jNa$_AsQGS)2zN=Vp!AgBL9J@8W50HR?Ka2DfL7f)Qkc*`hcmxMAT7? zn1mG1vzsA&n}Kp&QONus@0a_I3+Up6+pLxU%G#w!&*~*nX^} za^8p*G*%FBb}wN8z1F6){S6$IRTSfbea^XB4D1A1IUYEohql!_QSuuo+YIOLzAd@X z8rI{41-AK~Ma@m}S)N1ZrE>_xT%jJOv zb5ISLh9IsxpU2flBFmp#TWlc2r(HOJMb0j?W$CXbJqC!>G%6A>Ei_1Gt`1*=9L`F6zRlVX(KAZ^V+{C=L@ZDX*JyG+#)3xeS zUgWcaX_@B?}7h+YeHZigc?UUFvsct zKYq-M>Ycr$SkX!tcnU8cLyYSqSsx3`2;&tfu`x9@r5*q=;L=@L5%9Mszr| z3G$B~P;SbLV)qtfVhJB;T>u{eRt^{<_nH6-gO)sABrWwVRDsfrtjMqISxE+$a!aJC zSvdv8vB)C*@H1o&&UbQyhb=`pVzCm%?%$=vq%|5;UvtZY*T;3ga|=b)j?(RKEr8d( z)o%0(kS~jOf-(6c6z32-nx^OF4g+ExA?o#u14V?G^IeR|{PAew-KhEB!~Ksdduxc;q^M4; z4;|F|5DDG_OTR+r?q}_4^uN~Hh%jLGTWPqY1?Id8+i;*W|dAxkVwwcH9RKBIYFnc^dJ`?He0f$ zWa`0R{t%9wvFZb;fNLYmdd_;kiw97Vg^P=ZiVK}!xGR_EA&xUBE*G|@l0Rzn5iTxgH8Y9pIrhy(>sK*H?cR`iKK4e)JYq@BdnQ5FpqqF{R$-SLz zamad{TQ3L7)pdzhCzHa8GWfqgi~qQ$tBOhnZB`*%`md|EfUIRDHn=t2j`00IFiMVb zbu{4;hED*=niJI4TY`3BTADSrM0w{{asDhhBkOdO{+S(m#>TkV1H%E}9c*nz30a*zx)!yRR=!1du7x=45&l$loY^7G z)c%i|{LlZR$G;F2>TQB(Cfdb%{#E>JV{{#CwAnA{Id$y}GCmOsbgBpM_x8HO;^=L; zgf-OdVZ*Ge`C6LPMAIu}B6Bo~Gs2ShbfeArSX&jjs~989y7<4IBCH$$dKD+e*?Kg( znqYopHB_r#2Z4azJ4_?Zgh~|iCE5F4y?TaPzpq^?$eE*)8=T!~wf{YUV;lf5;P0U^ z7|gpQdFn7?^&dKvJM?WWE~Yuw0>Tq2cE1UsEsL*4KGD2TpakfTmbs$TmjAC`L~fXT zI8O(s#BpPm#sOvuNnM%GrLK2zaVWa;Ug~hGqOL|XL*`CzE~^!WgCTa@f0;wK9`pn| zm1w8XQEyUY6B(VAuDG~Kh8!z|A^LD3L|7a8N!a|-tyaT`u;hATMmo~V1yXqGhT;?4 zXaxFd=pH~)iBa>)M~G#>tfSzZb}U3{tGhr?2G{|G-xcN*ym?Jw+8kj9uCl&b6QUo; zLxhJfQa*+a4OaPMCd6ZoP3=d2{RlG@Y}@h{q3g!<6?Oq#+(Nv(QrD=|UPRw_wOEjz zK5lBYnX-7>VMY|(q<$p${fuDkKz`{5VfPNvZ4n1o>uaCbzr?5&P>Ya|hNW%Up;{f( zSIr+%dHb$DQXo?9uG$=Zi%=l}gmP8*Fke9zayn&(nfjnMamtHDoL8PEF&>E%@_c`O z=dWo3s=k)j6X^#Lzlkfg*XIXM?3gX{eFDD}TH#ENgfjpxwQLN!uHGW)`+RpK1&Ba( zlT>qxX#zt_c8ff|*=-YrT$&_rr7xSk7^gF_016?d20}POys95Od$tcDc)<#6VVG0SZlU4ggyx|}O&?&s zx2A8ae04z7Z3HU|Prk3#61P5k#ro<>aAzvw)w6eENY97Dk~P;?qoigr;x^Cq`I<{i z$TLlZ2i48j6_Ju;(H5lVtDE`$=llAP5Gm7)uK?NRaD)G&=l$NZux536@hKKDCfj<> zkY&ZCv%S=MJ%cl&!&*8u%|OsR9ujg%H5?9_wC6DSDN@V#*No?rCQ++)h3K4C*CJHO zZH9L6gR9}%KCg4rlYB?;tAU*Vd5JHfBl$rBy-3oijo!Z3LJK#-*L?txJOP}b{l;I$ z@Q6+XLW=9Fo;e+6ygk2`!tuI@OPwIA^!pU0L9c^V3%UKdHNJ6)+>ptSmRV|#Gui@B z`tKL|pLYY#lV1AoyAeS&;a2Q<={O7BZp9=CF_)ri+3kB+pTZYl{4_(=_9_06Wa;J< z!aB1Ww<%M%_VgRg6u^#pDbW7Ma6kE$N8Inf@9roRBF?8#;#$ z*?|E3mH#N-?DTXvL`Y7t>CzSa%DAd_jryk$tg>T!GE7kj=GqH2f6`fesAcS%Ds(G@ z%ejs@t^BZ@F9p|@!+LX#8FYF1n?FqCrRSd#rUrS188XVP$rD{raer+HMg@dlsa zqYZ@>dhCY^PxN+@j0x3DOO|>Jh{U?41&33wNkwnU1L=aZyjf3p#mHtUou8pLy2ag&sP&P zQ#HTOZKD;{$Axj)uMq;s>2a1^G>rx8h>!Rao#m@^*2GdPO~PpZDUpQs4bC>{75A|| zw~b~N84)l0a#Dsk@4lBF7pnW(88o;h{LcKT#05D}4EMfo5$@D&hol4(H`X!4iA9ZeIWhlkQ4Tj{P>&Mk{V_J<$+;Pvd?_fIN@~LgPSFA+E>ueWZ^xcfchT$G}*Q?%$ z`0P^Ltk<@RI5S=#TpCr*ezaYPJHs}e>LX&QYp-~uL>R>93a6@Kt z#eBNGw7C6(Z-#>Tx(b+TX{auZ*KFDktYlt>tmlOeUn|`TJpv@729#r+G|Z}uK1Pi@ zT#ih-ixkcz~>)5om6<7f*^p@nAj$ z(t*sqDbc2deu{}V^ka}9CQGdX6)F1mUZiR?8XU)C8|1V`tZ}L+DtHl1sa?-T#6L}& zb)u_sf9!m`mv}3{b!rsY?i&5IrW9tLNMwVLdM= z+H~^{D&nEUX#3DNmmnl`_h4Qz3lvd=ix+pW(+jlroM|dX-nZgIw;l!$PJeX&e(03CM(7cXe!sXEIkGy|7str!%=z5Glql}tIY(U(G+#kvf0-jjcJ+{HH!9mX;Ggg|tx3ed zEk?G5A6Ca!n(dy37G0(SrNgT$txztCBma<;{aPj=y8gcQI zaCW-%se-nLVnrB90d-wkLoF;AHU0N97!*VWIUxstbZ4y4<$PplVNc3E6zWA?IW(@W zcAXVoT$Y>owO)@8PNNaNeDrOZDCsg5LuV=Z03|=$i1`XHu%aYU$8+hH1SCn-7Q`Dy z=;P~?CnXWq#wEqtIPR|~6PY0-z&NA>>ksH0=` z_G31XWjG~ODGya}ylhM>N#JXB(=3i%4H;?&ebFa#(UcJisX^noXsd_SI6}L2B@{KC zhHY{UUk;zZUCn^u^EuiVHcLrdx+3+@4UT(K+$RH2smG6jNps`I&Y>}{SW1Et&;*Af z@9P<)k~i)RBmpZ$ifOP;bnOX-{3Ee^jSFssVo|N)#0jZP(F&|I&PF z4I#hp?g)L&XAk%?MZD4zlwV7Y?JLp4w#|)mj>PdN;zuQ}lzgu}4#6;uca<7w+@UJ% zimuMG7-tEojv}{e+%SbeM!<1AywT!ggcn5ZuryqUr}P^w;GMR{-KY8z@blGw{(4?1 zqO3>T0J+I8m)UPmQv|TWIfd0_isTubau30SEjpdTI858!mv3^AV{-2ju+IrSPBkt1qHcAbBhMV%El1cOH{UWF$bX`jzJHl%9i)_Widm5jJ z0Xd0mEy0_`O42Up+H*G4d&(=}g^|X~7LG=(bZ>r6<3>j{TR!8WCVl-qfNTF$N+Pp( z2Mgp|mGwku&OQ8YAZ%%5UWux=|NgSBzg#VfIjzJLJbnr|ci}!h&qcv%v~oQiG+=El zwS))t2yMK_^>az+=-fNLh$*GYc-&QEF`Z|~6C&Si`O5Ksy!5wXSf-#*#clIn2~}+& zFmtgOL3_kSIQ%+<_gkCz5U zV(Z@1T`;`)bINwobC@g8#=A1vwyfrUg0>Mq>Ez{*`TTEpCjm(x+z-`d*o%FSVnX!s z)v^Dds|S%rF}M}4HOO^R4*|+H1@fcVa{@@Co~BD%vLY94a2P_@(hSwb$G`%3@n?39P9ROJ#w$%b@mrre zLg}HfDW-+yM=TF0>wi7@M`W|$XiUnmXF{gk>n!t${&PIK+sKE-%u~9OnyOxcLB-cj zS0{7cT0Lg?7-FK-KU1yBnje@NpyAmxQ>MmD`~Mms6Ns*oaD~*0W{2(rASl>ocI(fE z#B^75a&3mdZpOQD8C*AkS7pb1J(5y`mjyx*M60};32Jfg1Pg@{zX;u zhlgEz_4|c?YGm!Mubrfd!fIRe9UnFZ%^n~~74gGy_T<=AY7UcM!F-1AK2RXAXAVNW zc21DO{}|P}@%}XEUbUxSUdpKY${Z-y zwLOhLBX~kltRdfBq6VM!47oRF-G7lY&)a&s!R&^k{?nrMil;fHMkJC5JNJldJ&z7M z`PMvRJxE5e3cQbT~lyvb>_yWY~Vpq%?s?bR(EB) zguHMGJ_cJy2nh$!#|3lLB6=9v4Sd%gQl@!re_nO2jGS!1Y*943*-?cBIlx!reWvAa%o-O5eW0*}CIB zxWk|bPj>t`?-V(aCSh^VPTWGZ(xlMWnuqtxM2EgOz48{@oCXHicZ)q4L|RF4ElqFW zZF#A%osF;p0B(i`j%H*{bSxHG&*M5T;C{Ylpjk`iTT?%usWHh77i(Q%J>jhSBO!M* z-3LN_=fK(J14KjsFhS?)`=XckkHrEJ(Bg?{SbIshSEW~27r}t>lY!U!n`Kypker9; z3^SRB&}nx|K^9VtGJ>t7KO{&NVF{h=y-XdK1Ldqg_dO>!|8ox2BEwbq6@iOSQf|CAX~iP7KxEHvP8J z_H3z!&`@V&$-1x47#4mR*0VKw&Z!tD0Yxc+1TPnza0IkfeV*qXTA+_AZievp-RDUs z+>+pS0vp8XfA}`bI0T)JbAGH5NE8ZEIZvu$J>#0$q}4kr4{TSR@+%No&_~7(NX}f zVt_E{TdHdFM)49gNsWL)Zy{;QYTMy-$~w!m^>~k-Muf?;dQ}nK*+zC$u7PfV5Gp7and=BN-{j z6T@BOiHNhU1QR8!L)76?*G&1j_CD{Dt65{lPUJ{?2QxlRF^RRQ(L0;$q+RQhk}Otm zXXX8N^wNuY%GK8tADCl9=QpIVY_*Cf0aIrw1!lhxupaYx`YsgE8ovd-qslMYN^;%bHB8=PvSf zKZhhecW>YQnV2eFZd8fdjF$^wr0etNv|sst4QCmEz@pw-oB_mo_5^*?Aa@OC)XLvm zn*wvU(};JDAZpQjSj80XSkJNDeTNkEQ@@qZwIjPS!4lm?(wMy7X{iP^tV&>>m4GbN zUCzMTZ9T?VVI&}E2-aGfGwv|d3aVwddWuVj`XY*~XJ@Z}zbH=1S!``$Ce=rBr9f#b zUBW%mL*0b2EyQbGP>kw@kLwNg8kd4{JH7MGxD7u)Yh31X(PKLXtM}!MBZ!96b zX`4RhQao8wG1<-3$BCFFtVskSSaVPu(0_6sy87DV*!nmDaMQLLnaTWi-vQp>3B#ex zJzQ;C-F8mk9Nzuzm``j9^O#!Zn=1@7i<}RS6+!bgvI3fTn*Yw9sMni@q~=e{J%Lrt zvW;Gw;d@sBYBds&IdRsQi?gbQTMRbV@*PD`T@4T_0jp-aTSS84d=tm%4$WM(#sOK$ z!rY{Ic(qaSTIh5RF-Enm9D}-Zw9@wsGvw21WTjeG$~A`$E{o^9ai4~aFRK-{67%gH z*Pc}gf`WH{_UnHQn%5j$oodnRk{02Ol5V)ei#9;L<{fhf(6QP&X3S9&I9Cq>1^2)f&iD9My-KWBJ~{?W6Ej_3O0)#dGW$rdbZH1vUVCEY=WV^&KXsL}82C&Nud z=#O}9(`I$XwA=*=l47kt_IF2drhZ#s9FYC2A`37cw}{4;3D*QIkH?+#fd=UBe6}om znx|*9ozm~ODO)e~F_!BEK%~g7*43H_HH@NCdic&+16?Tg1@EVRmSPX$y;b&kygqAF zOJ!Z2A9nH#s?BC-|3;_zh$mbX{T12aD=a$D0TI#EqWc4)?;Fx*>>wcg*;0Y)qIAN3 zzN2anj}&%?hx{LAs?n08`xFE1bRV`fYu=L9LdLuMa*|h`HBvcA#T;&rWQywh%DZKi zEHE!~l9BE@jvPQ7%p)b&dz6MvDnMlbm8MlDgW5`0Cu;@1(_@6vx-9A}M>FE?7S1kD zGVWb6fhNXRG7a$k)DxY}XT|leA4P2_hwn=k;~aUUslWH3iz(%JRMH!M<3#6O$BPC} ze~Yds>5$wz2aN2v)_&tzOzz6uu|n>#LQ_~5kv5I7kQ&>8%hLKKJi)$Qw!vD(fSe_T zklat5v)J!@_98xqYMf*){^SuI>1D@8L9Lb!K==Qis9n(T40OsbP0jn&aHsQ{$+$oS z_UY2kAhk#b4>uS0Vtt8>f*yUp?iZ%XIewKKcoBO95WTicg_ngy+wNEd-yCgRIY}`= z6b0PB40o9EyXX9_(WVS0JMK?ToA?$w^R@F7&150xj8O} zy((@aNrx1RHK%F@J*K#&hIsnF?4_BGg+5+1ZFksl*Yyf%i5+Gr=M@qL=$*W`r}rx_ zV$!a6=@8^3f1I$A*^R}~Z6qzdo#h_>;@eIp$RLQEq>-W~<7TDHa_wtKGX*;xT@KV) znM-8O8MqOO!XxY>9iOhzQ(=btaA8ED#DO#eA` zML)!WgUaFkK+lOn?8)`CeT{ql*(#>))0KPce{b_@J^$Q>$f)LiKlIWj%GR=vI8u38 zLy$YnXb|`iNNTqx4AJp-m3MhsqLUcS>-yh!-mE0RWNtA-ML#|{7{yatFw>-&fAzs{ z0Xp4cZ++MrSGV&?v9mPEbIyK$ab`7yL$!YnPzOqh{tmNI{k6}t1+}=%G}xL&ybMy3 zIq!cj;${hh_|-EqWSJQ|ZfG5`xT)w&(VBpYz=N%^SgRB7xfuwp`)sj#s=&-HdbZ;g zYn2E~bzOSD0&M@jJ9f9c`)!=nnN+1mv*Gx^cTJwNhNfPe3-kbD%}bdAurBtq)jMm< z;s6Q6zE!0ZP@M;Q?L^|u2yxB#nFLnq>XBrFF7z!_bse}$$3fVpnPcGgXvqQroSSEZ zf(20JZPH~q&fk)y5vAX)fko!LKA#|+7vJ9{BWyK0RnIAL`+P6pma=bud;}wZ-#!bZ z9Vfs0-5MlLB;1^{Y55Fu`y{51#lWVD5LM(ydpS8vs3u? z#2vNi^9M+H-mF*Js6rK1KW*;O*&%v`1hDkayAmgbXm9mgCvNkXLVL$q{^ieyNN`zk zoiNjr;qRPKRGmD$sd53!;>XHe_kO>?$r`27qZM(!ULQQ?YQ#vYc9yeMw8+x1M9C>+ z;XBilyFIIX_+rxgD({*1ii9a<^hkUbfzjLo=rk*>cwxhQTj-Mi{-TovF_2`bCSMJ- zp=#JD0Y&C+$QQC141qUX)J!%gM@`8ttKB3!PO&#iP@jGcO33th9OTShRv>QVVAEb( zQshff1s6fSW(1<*Tic+|r~H``WwFMcsqh1p+NK8ic?HFk&e~rjx@%2R(s{>yk8x1` zcMXGJf`J8xaz{9DP*1^JtISV7jYONuE zqf(}N6nF~*ZnRtY%_2nR>JGE@tsNIpP;={=w*g`@?-_gE%sCq9T-wazyE*&{`PymW zsWj-{lFk1_VqnI_0Wr|$F=w*R3KpQ z`EUdkD|C=5dNT^$nzx)N80_jl@A|ZyrL$-a=MUz3xpTeF z%T_&Jc9u)qw{$NZ-D=h)y7&zc6@_crcF~~+usOkCsB|k$OSzA`PN7C}Tu^TE^YtOU zk|O%*hS}+;Mz*!?mk}Q$k=OBL+=ZD;zSq719Oj8~qWQ3L4{Sc<`U_A4r`p+X@_j@! zn9Vl_q48WXPY^@+;u)H)TIoqg{5u!$n(B8d;Ptw?2&uM#zd?4Azm#8MyB?`Hxt8k) z0El=#l;fhUag_@l}kB<_Cb7V>}T>S4SVBw5T>f^k4(9beYA5@a7{ZR;bXa31s# zH%LgU zLabdQX#IeX?rtxPzQ+m$b7T*nxsyIY z>l%(cbX!b8^eosL{nd!6B`@z*lR3fFwmSa8zNn=ze0twjMCJ8_Pn34Ex zazy^47SiMW3@4FB5{0PE=I%pqx2$O5veL?zb)RZ+rJs^V9s1&a+-&M} zT16ymFHXf`>CkM-wlkGAhV2-7eK;T0US9>iMN@Kb^H^IyLra?e=M!h_r_VIgEFd$n z<&0NeD5!sLZD}zPo{`p!(urEv${endyeMYIi$Y$fR8*K=_N$?dc1_h=X?f zC)_DPod!*$7}(hWR6wi0ai@Rlcunck)uAw~pAUB*VoB(>gl>*Ph@p794esWu804I7+-X1SqpErLnAr zb<2C8-+x8JoLCX2E+r!wZi4CPMik`*jx%l;!w8x4hqaT6Jmb+sjLT z>sepXgmxQzWL?n}&v~+EST9NQuMsYQB>T3!nchjI;XTurap`;Q5aFe(%V*sCwy_ly zS^oc6YY+F-4D2(AqTB7%d|!L~%{Ub=aaCZT_LutVT@U~Dya{3w%I&{iI)&W9dsocX z&Zi2>Wvu7gE3s+v&{3l2GVb-Zq1mHgHYVH7j+D2>GPUa;lQeFA+`R*dU+Et$gfbZ?(2 z&9z47NS^o6bIv2i3k?(!2tsp^>MXZvd=k)h%V4^L#@E(~U zfa{K|h`HP%I{ttlQPNw7*`h{wYDiq{J`m; zSk4Jwu0wtPURWrj4n%k=1_`I)m z_ug-_^>KExkwfQ;$=9ck-gcT4ysj3a^T3d$U1#6k}wyck-rec7O zIgsJcqjB3dQuN0^z5f zy-zS625v8zjQ@wFXU>l+@6h*`9e|~zXV3YCtaIteDPMRvx!fr$orgD`Q%nx{X&Ut+ zyl*wa5XZ}5`bBnQJ$G3bYmGwm^0mduZKYHuY;U?2q-Izv5$XrIDCLvX^{@o#IWX^U z>niC<)ttSW4;55bP62TLU5m_?6&QrqK90D-o^(z+$CAZ{RDA7p=I<3QzwbZ^Q~@T_ z)t#Rw-ahYx;=&6<_KMjzaI{@7T>I>T+t;2W!qe~ov-N0g)|+dC^WVdT?(zb&vt=1J z{RZiQV3%oJ=f+3(zAx0I1OhhUR2mbdP_jVBJWAxz^>;00@t zCjp=wK^BupDz0RtW2-wJ75m24dNvH9?!OgY6c==J~~2UMmT(E(QSZ8s}} z21NcR)~3G-s^p?T^x6zZkFksFPhY|%4tvs08n4gKCxIC`%jj#6JYq4r{6w|hSTf1< zq#4_4xV&GWzqKNz#g=dWXNe&IYj45K`RlE~IwO|9`8Ty9#L=am0SQ|1gi(zb+> zBGz+;tgph8Xmjfx`9q5Pwh}f*E}1(d(GdTiR?1xU&mEqwgc4$%?e+c-`H@myOFE|zs(&zd`AUbVJ$VBy5_G(5V`gGI|n)!`n5)v4R@Hy1%}uAeGlR3>7niD#0>YXJ8AwMgSu7X+NT#K z$hK`1xXQ;=>mm*P{1|}$qNWq}?R^i#=&Yh^<#O(s*SY?^0jQ?1<=CEo{bJm7^?v)s z=KR+rnjzXhbvA*gkFE8!#XsjW2o-)6ofxW~P1mioI|sAf=%y{^s5y|=I)Cpp^+ z_1WJRKlm>q1b8(G{>Y?@WfX_`b2+kaLm`6TUzXY6|NimtK(ccK+ujocHea{OKyb zSdI|GD^aZau`kh4S>lNO5gL)b?j_cNGURX4`eIeY8V?XP94P}@-SXA<_~SToo9(!* zz|KnBD{uAYpMmIZS&usycYvJKnuf1V-hY!$|L4tMj21;r5)2Xr@>Vm$``rJL0jc}$ zrW%|W`CLij4Vf1mL8IL4a&QvA&n2;(mg`H5FKdZx^%BQPpN#j)S=HB*+A)_K)?i{Z z$EgpsIU=h}dbnNc^>!KNq#|F&*WrpdgipHSWGbat%?Q7Ry<0yzJyj@ z^!i0(vL)@hA1wEMjixb@E4F&=-4M1VCrs&L-9$K~ZG^zkl2m8l}*m zkpR3#A|sf$UQ6xABgLY;jATE~skh7bKRy8W?x&?nB`ArR|I#Or@u)^IaqY}q0%0^C z2cg6u@2Y|k>Wa)YXgc;NyQfJ5obbXsGkD_`YLWTp7Ww2{b`tI2&P% z0g4Ow8Q!fQFJb}`N@d3#{{3vnO81#D&m@243jX*1wPec6$fqt7D7K{f%5sjhU9Anx zuh1utmg9e=&xk7Ta4$`Ct@q#xTh7MhkUaOdKv?|hu<2$vZ_eDL;+jhjZZzMaM@N1S zzO$h*oN<|h-}%tuex9A(#?k#Xjqyiw5lS3|qI}Aa z2`he*U$wZC&HZijYDAIPgKgx~u33vx^6i@&bRE0ZzrHHUnPpO}#Rjfng`tKwl z*0aeE3xJ--3CS|0t*euZwYnTq$^9mZQEFNXdWcF=IuS4GgP87tM&s+8nc4z=on=@} z2~67bthRh5*^c9r{#qX;v_;{|g3?v^I*~!4Av#SNTg8RGmajdl%?q;WW3C|xn?uMC zIE(qX&>M{=CFJv}BRQV$x?GvR$GdkeGMH9 zSY=uh*o&ln_}f_Pa>E@;lZNuWR2V_;r4-M$)mk+Fi~$;Ub;B&`Z@KM1R(jXXoFy5@ zO~Ul^E;=oWKs0%8$4~WoU}SX+3+~P!kHH$;TWq{7^ys=XdBxW0;`M91uPwF?Wh<2D zBo|?>8;MjFZ^nBY^o8wwm&$!+(PFkZ*4DgRbh5NIr`i%&aO3oqpx`mtMhNpRXR0cy z0wPS-*LoJ_r6dAT=U(u0y!q{@oSf<>B@35TZaq@6fM`Zo0oPa?cvNG(v38o6*#mkR z>vCk#$>v8m@pm;LX4V)<05+RU#8pq>Lz17FL(Pz z00h^-)=#_n^?H{5S#PFrq54{rmU;~5@2zFIAPNy&{-wu!mZ!XOFNSm2`m^4~2sBws zwU|WRCV2ic-t8d5+yrBU!0Ub_lDWgqCY<7zr-Vn}BV+8tObXPu-F?cnXk%wt&pBZq zbUz}?y!hr67S=@@xU4<&>ap&87fJ7-%1RNk;CI1Gv3vT-lR2JdUZfw+Hh@oUrM4v^j5&e2&1cu$mcVO&&TCcTT4i)aa+pJ^HbhtU}GnXWuJ4| z62i+QxbrKoj3{^(-x^#VEhJdCqgO)}c2L!@%FoH8R_}9Q9cQ`T6*eRrD;A0x*8(P1 z!zD7tD|uk>PyogK2q_aaT$yQf3e1(!qHoKZ$I!Kz^sg{^3%9LQ{yIc^3Q~!3m3ntjPaAr_8Xy+hCDO$XnN+yZ##0H2}B1 z@%P;ccg9+kXTUm2Y#^ObK@b@toZq%WfZ)Lb*I(D#RS=y>ftJ`-1jkAJ`?P$ui0)u) z&G>t)z=WppJk2~p+yEHZ*36bDE3pAUz;EnM3L+uaXc3xP?G&TNK1y;^s0xnKxndus z6xWh}ZHQ^W*7N9ne+UM+10H+8t;Q(VN}9-kEwpR;-ESOg;txcz2*2 zE1Sog6AdC({}u?|8Q(7%8bhxUc!)ro8pV;Wsn!N~ z-}Q%6!kP^y`azE{p3Pea1jyG_?qK1GoZlqY$NC&xQ$mC~et%#dtR$!%g+P|y?t|44 z5exe3_uBIe0p>X$dcM~Nf9gA80biI(9JFcdAU-vQ<}8D&>8P+t$JxtsUZbwZH`zWpm_84*;k`H z$9=84sq;7b6W`a8hEJu3wU6#g35i-5skPXebBcMqoVsS%@@j(Yq~+rC5ak3J*JWL% zS*;nxLeykYE;0WYHt@=Fiuh-xduak$?=!NNhxrsB%hVQhw#$6;q!gRITcr{L;==_| z@6Hfs-wWRl;g^a0{vQBj)(=Tx~8kD^FLiP9} z!#BW}DPe_+&<}RPqk2=a=V&W_u$d!R_@!i#!3qgjhCl(i7$Lhxq-0wNsl5qvUIeo5 zcRsAZ{Kp6fir@LmlY5ABUrrS7oI0(S;>_l@cr6b$#t}KNY3S3Ib=Od;e<*zy<;og6 z7-TMKdbgS-Ji*~EB_l9X?c>rrpS`yShI6lW!}30is-*wPj8t4Z)S!t!Jk4v5v2`OQ z0q?u%P;vbfL>)K0)pc)+LY()H8j7M!4e3~?#?P)~pZsHeJoRT9*;QtbHU7KpYs>v5 z95}0jfKp${GOCh3*Vu?r1u<{>dme|yxC0@J>e^i(%h3jW3C1q5nBdk7Uw<1^#exQy zQf$o@O=CGCt&qJ!y7@Us&@6aZ3}H^)>jwJcA$fMrm0>KvD}4obSPu31?xv|BYmcf{ zrBjMdz^~UvvaD}?m9ISn+&VwQx1FYZ>YJ?`Ex@b&>628oDz=9Q>NiXT+{>2@D z`Q|ue9(MsvsRZ+=4y3-ubFI_|g80tI6aql!pz}&U`;AvG-F>AgtNS_=X-~~7JHL4T z-Y=-7kf8g7uT}ZkTE5|HRoGkp1k2(ONX6&!3W-&6$OD0%Z+@|=C{>+VE+Mh{&P_vr z*5bZAQQh^MJFV(%9^b@g&7qL`aSdSkZ#^856<7sQ=_s%IA>h8MVV&?ze`X9>sv*iG zW_L{=RH$8*75m6S4K=J0e7@h$FUOCvVlhOP`<`&U2e;aG{}ERDW7gMwrIC##D}SN1 zd~ZMx&i-!FzZ<+a^r{`9w6DMLx)y|s*-9Ah6q6r8af%cr;B5FG`~gN)n74C2%4sj4 zQ4JigUm2DzCdbU22# zcxR|ApGDPsn9usE(T#RCU}wnC*DB(NrCsfWPjPQN{_cB>x+BzqZf==rkIo|Y-7wRa z?zXr(mE!b0_7Il|eRJRt+UM5Y5=ZT^qJi}8^2B(;e|)PB?6(?xso%@6&xrr-tZw^f z{G~E=X2pwIAW~sT;gzT@dVFJ$TEWEpWdxHstHbY2Kc$m$oA3#MTS@hrXX?5)UF$Vg z!mlLrZVtwr%e3`4gt6s)?lI3t^%R@{$-0wx#?G&%VpZ;#(bOZ)+KsQ?Zc99Kd&@=i z{|{MPprc=7`@F)DEm$kY!qK7}O{*g0i!z_Ba74N1@z4iojNM#w8gBD9xggkta?uGu zWlcP`X1}hEfrwr-tkQ6@_f?ajV0Jzzzpg3toTijBx<+7SD4=g$ei|PXS=9l>di<$h zJc1?PTf5J{f4K}XR};+9zB&SGG1Wosw&O*d>wwhFA?r;er;vCEht3LXGopy;#_AwG z>vyTsTDI=Od-%{uPh=I*_&yNmYhk7H#WZHeZ*YXeElB^nD>nsJ;uYMB{_#RoerX37 z0I%E`w}vgo&AQ;*eA40O4kk<#W5;1|s3lK1Qpw$Bq0ZFq+^)N%qaIL)nL&XZUPb``z zA4QRUhVCf?L0!X~S;s5686~q(6y4;UihbR@3ks0tf#72vHy6_6tiPEZ_zqDs(sO6P zP7b0UJr`&lQ;ARLxtOB-nXZ0g&Aoc8nTIt~7fYz<&ETL2vYK=eI`4FY;0Pf3D2{vO z@B0bgByOC0zj=qyiTP}#!wB)Bjr4dl#`_XewKjvP;h|epj6ZR9X&qnL?i8d3!Cq?J z+;+FpsOY~rC|~9D&+>=1unVC9Q(+CL9LMrXb(`z&IDNBSbi)Fg>5mo~#~tPXJpgn7 zdwk=i38jLWHO`J0H?bIjNekeH2=jA%zIpFnM_=pGb?A3SB0~br>RI3M${)t$|Y}> zpjXxEO>#qt3qAw$$k3v2tFT7R|*sxH$sg7}ch zsC9@Arav9F&I_mk~hFTHki9byLa*0r&mcxT-Lc9gY0`wIPA=6r)-<^)eMBcvDR z@P2b9(lRcX(XsaGI}UM;r+MZN?wUb#W$kIOLY5gj^JOz^p!X)M#h=;cV)z;Seo+#M zftV`Nss(kb>6Fryv1~yFxIT1aE#q4)Ei_Wv&1i_PS!A6pZe2xt z#$v!9^gTqTIz1t@VYtpqJIq#2sY%^_g(6;2z~fP8SedO)M=$jZA}J34M?Vi9Fq3>` zDpNVGMg-*#71vwfPn3LyDxu^TfzX?z3h}_c6|=uN9GjH{gKi8`Wu1AjS zA%9$5gZA!4!pGHc8SO7CU4uN)iR1T{f#_j4%!H&P`7}i$aZaVLKTio4r!ZzWL)J@;1?I#jK|7?)UXnx;>lG}76tA5g+pV0WpY(3{$<+pjhq0;gP&!Ji*0{}9)g$7j<(Ur=GY`du% z>8z1tws`Rj#6k<~CAqrkj9)~8ZT{KOag$CYYUGm zH-WrqdSQ~O&InKTQ&1wr})V-jka!-kM@q$eO})7nj&km=vrmmJfkr% z;<+^W9^Te8Osbi-Qr-&1zZtT!1ie)R@Z>+onEte<^m(P}iC9<WxNtr2oB?d^kla;BPm>{LwTxN9KH!+4F{)HJCqjAmWMKLF+57JnLc4@Kg{OIx$ObzpjHb9>OV~Ym= z_>oF=H2U3#H9%?ISmthP0)N9u@{x|@>Ns6!@!Hv#fesER3vt8Aan_>3y6*1k7$5}P zakX9XP^$z-s%8T?MwPSXsVfN9E^I(z_=*8M{ zDXYV8-BmnfHH?th>=N!VS1B`Dt%`cQ2$(jy&1Y;m?(MYF_5vhLxZ)?bdV{n8VYZs_ zFoNa2Rd%~ull7%qSKhr7>h#eIdkfHZdNgT-^VMhPOg+pqiz%IRceuB_7nl3DzOg*j zabWYdelJmfv4nKDx~0ZUzGpkj)60`1_?XQrA{yD(Db!6(;?pKwG8ZoHU;?m?vdnta z*{`Ng@mEmMt3fb6JE2qaOcT;%RiQ!bA4fZ`7O$1Y!5doEaq6LM?tABSc53}(dw^MQ z8t2ZDI>c4M)hF8UGqwkwhU#!N31V+XvU$VZx3JmGS@rj{?$jE);&4hlx#TcEJ|Mq% z0tR`%o&C)643w1C8annmCHf+IvbW#RDKMCCg{wy~lD|)V_rWFoL}i#sgPFgSM)bIe zB%zBPGTPugfmEZ_Mz52sJ0;ndWu+Z{(Vo_ACT$FL-iNcegOr6N{GSg6ao>^==|Pm+ zgW0NYg~Q!9c_@XudO(8X`Jou)Vq_-Qm;bdRw01uH{0)ppvg@(Gtfm9#)jx63NOlz*E;RtFEq;a+;CA4)XIcIkhzcEd@J(+I zY0w8lEd;;l;uJAkpIN+!IqlTq7Av^v7hM)v*)7Hq4g^=9zl%A80H|zdH4s1X;v#@7 zJrZ>&%xquXg^?LbO-(eoT1=60%)!^$cz1(i;wG|OjxlOSTIuOzatx%4n6fvBARnZai+D~GSM z!Og^N+=5W4$qH{1Vb1z%cIezjVs!o>8aj>5nE>}uYQL9HRH^5+|1Bx!~25S{Az?z?CIVypjrNIZKItCmPNv-z(&6_}yywj&Jl zQ+AL;bC@2qWr@=H04Pa}iX<{~HSWHXi)|KIdhzjgl7>y>Ug$2Jp{{%8%#}mXXppeB zS=5)2DSkAHdRHQ5c_fb{P-l`KMWBx4i%vP30cLi==2HD~+MeC6dS#QM@CqTWAcu#UyTpC+>1Tv5cdbN)1&L%$ikk#gXsEEICYL$ohjW<6T9c5gSZ) zZL<@Z^|FnS$S_cbwN77{|CCt6e-mbHO6g%~ZFI)oRMQ z+FEA{?!=4x?PkjxMh@R1bf+1#X|H0bo6 zA#4eDy-?@f?0zM%>@^&BF~q3t`GukGMfLO%%#y>%`5v?~W}zfm<&i;duk&8Z zG&t+K(z$OR^~>?u&BUWI{J{HNs^X$YrbN1?kMC?OsS(>}uT3}RjNtOc@!5kU>5H@P zrrZi>*ad-g({mYHMq;SNZF^Gl%?n{F>qr-)7i19(Z06h7dqOTp5j6-$Fl*cca!IpFL+zQUXEDmVjnUAVv5=;#v1Ce zKe9!p0qO$t0oIbjYVslT0iNBe-P;btoJ0|D{MK|I0{){VE9Lq7z_a9JF3qz~@4Lzz z>Am!nnK1*j-#XwuU$6_L3cx<uzGIS6{pbuj2lYHQY=Qv<_#Fu$v&gbmopL$=W#c zv%_VS&OwbgiN08|K(XMxc4)1aEXi>4dM23eX6>8hLrsA-i!!!2LFLaq8NO?7iyFS7 z)lP!MBAVQ~i6c_^^IJlzZClUm)SFzhYx*8-6A5S^R)3%2j*#R#=hHL~UJ3+1)@<%k zScHP(x>-&;nU`kV$Up?C(4z#?-im>xoJEZ!u=q7@(=fg0#JUM5QKi}O75udF z60uG;@9)ekQ(Ei~omewJ4WA8cU86l#B=op138vldlbv%j1jXy;q2T2U#;5T z#=1A%@mNvH%`uO_0?&PGR)Bfu98!!f>n`Q7u0|CaZsZjJ7OZFMhSLR}>lq~^S~g7! zSJm>j?hVeN!=+sTO#i-iie%}g%*8#+w_DX( zPq6ez{lo*+tb0M;U%M2f4Sj=#y*78pL%PP{9v)Mp!LQ_P`ot3b z=*=!hGq2>;;A@s7)3v``US}rxEp`PSJg4X3!g9W$r z<$b|z&gJj(s*T+a$XN#?hw;RQ)2_lOMpt4z-&VG(K{Z6vNJCp5JAY{5n&n7>>MjDx zMhoJU2Vy2zZvgPgq}06ZfXMvY3bMO|6?!65pPpUEQ*LSdT|eBXSPfx)^PDz|yz3z* zP2K*etyM3cRJ@tFZn^lZ_+&oNJyJZH0NT}uZH+MVZGE{5_^LqfI+bl|pH<@HJ;1Qa#0=R0HYlY~dY8$I=qoVqbQj>4HBWFtS-PMWjz*>~! z*qK@cER^-n7QgH?otQR1K!Sv5vZzq?)&9pg0@S!nx0=(uR`i{{H=Vb6lYCGy|^KcqHs>s&aDPg z<$_~^{@NP`br*$eA&%x<0QsCci}wZ*3jF5<{~@vfW9u6fnowbg zTRfW$7oZk^_xcW`8f!?86Dp2=zm)e8Icva6=^DpKD>s9AdH)>G|@t7g}aI zc2`szerHx{6;6}uoH>i|PbNPE1dn!|cF zdGSh7y);aLfknd;vDRKb)HtN+veA^)V&t+OnEKI&4}n$PtAW#cCZ{N@GLC?W z1l3r-s{v@h^yvX#PV;9;ytQhYAMSjtYu9Blig|+X9@gXEH~$(Kj2bWVoHV%S(7>F} zHixxOc^%+BXLq0kud|o{&5U1v)?Rgo*YYQ)Q)f1-Kjq`{=MH3r+{S{HB1$*ce;xZ? zTjk|S(4ZEdH6=wqneMPniNx|9i-dYG?$3*^Jib?0XL8x>{Q;n1>T2r`EvfJQ+_uFh z?}>ApX&=w#?W6p4Ey|e& zDqy`)|7*@(yF(YQ$@8$(&elv*S&V>Se}QMr*7M!@TEa0kvx(@kx;+Xjol;g34 zH-nUs{In7+!)ux|Ihl~2V7uje0~8v9RQJS-Y zME-;HO$`7nWa=E7x6J(-Dq}Av4VD&|CWPbi?99MBqRW4 zH0b}fdGX-)aW~!*j{Nmd*t$0rCRrmJFEI6-&E)YXK8o{)v@S1I@mExLfMcT+IKSBv zYrz-0kS*XmSSx4=S$hyDob3}%l;k^{tkcG6;!;cQIdV9zXI)|KY3T)b z$!%Y2BhRB%-a>8;O0$tmvJ%RQ&S^S3gkb#9WMe`eaD8JRw$#l#Rh%@fk*fxV(Sy|e zCTf2iW0Enc#us3vI_{nAglFmD9?N-o!`v;k%l3BWyPFxf24n+kUOp75rbWX&`c#{^ z{C&{Sw!ZJ1pGv69MZ~8{9`l&AT^?&nMR)6qsnpCi&+Q2+>TuBR9-lZSOQZm9&RfZ zG=x8`Nr9f%v@FiYZL2EkFXvICRSUOVsn8_-F=2jRb?)xUq zZuvgye>8N`hMGZPfm)h)BvmNc(VxgnH;aqm8rJ#k7J8Q{u-@c_dZNeEheS%(IiS7f zpH+?mL5(Ie7SWk*f7CgU5Wfa2l^#rx$A{Ltgx9PIw(sXhy2r=S!-@F&s#!PX=>dc1 zjy;e@&&!i|Hx*);0Pp`cp!fN}epy;=-^9aj!~N{}P%PvtMAFA&jjS7LZKISwd#g&5 zCPu~zxZUZ<;+OtD9)Kn6m;)ZNE6vG)Iqs=*PC*<`#6?m#%Is%Cp?|DTFOxE&L1x0) z2_b|lASYbNH*iWcb6fT#rS*hfOXWG7k#d6zI)AltU%DwzL?>hF5xc>hVl5Olwi~mI zrvM`D?(NpACl-3ui(Zk8r0}A}g99)3-v4cNNr5R(H*P`-JviPEDk&LF?T)J^mek566+UuJux!Ri{0BUMCg=CM|I2Y4?2lF7Iy* zAh~UYEel3cz}U?a9@#T}FtCgjR`?Vf7Sc?*9Z?04TAG&utIm)y66^*Cwm-k^&1uNW|UpXxZ?EThQ>KQ4JTfJ=Ug z8sxlO&}Ql`aFt~z&atAQyks3S-%D!+l3oN#4u=v*!REV|5b>92QieuCMMdy_?Y2KZ zcLf8Ta=xCB`DF|Br@CXdF0Xh2UA1FrP-CX0OIC^~m#-Z5{WCCXUCmi3m` zSytk?9afaqrmbb9%RGY!ou7fM#br!1k0Mr@FYmP(CcZyU@v~A&tXG@>q>fTmxY1y0#5Ik-?XV%S$tIUV+5GiVnRih?EwxcdAR`imR*nh;Mfe7W)>OUK- zJ?o+3m_HQqjx&s=Hq@6^+BKR3LSO0(n%#laJRPHK3O61b)|y<}RPqQ$q=zb08&I^0 zOAR7xns+(jM$3@hEUYwjR@UKI$&n zKN=3M@&vyCA&3rvz@5Ku0PftW%pVIQ2M+8LmpBQ5(IRVZ>ki9oN(Iz;P3;nqoF%~x zpdTthm@%XVJay#ZS<;K*~C^1XB?-6!N94r`)9jrfMC3syY7<_n63L#(-u0NP&E_YZ_ z_xAQ~`_P@?O^&OUB9-1^<2m2!y>yB>N=kY2Qh1po02g)KgA7VAdI#mr9{Ky$T=DebgQUi>L+?K}Zs|jANNUnpdyRO&$!oiA!Th9GO3tKGcL5&zazJsT$m4 z09d=cWxV^zyZc%%FX!jBmw@v-0`f6L0(#>klva2esQPV9+b6|C9r<1z4%zaMmbPpMKm?34dImYVWh?eMykSEo}hGNU;K@LdP@xsvAjbvN7~ra!tX!rJSsk`Ju-V&kgpLLj(b~l zbgagCj_)%6Tzkd){`3Fnx>&*;y=Z6t`~OyoM%rP4q4VDg4k-@ue~IUGp6MVKmW?){ zRKeHcE9B6N)gQv!mC9{7p^K#He5B!NA*2Xt!iI1OYuWzRe*NoMvlV(UuC1ES|9R<% z(pk3#EsI~ST_MsrCC>%V7A(<8NC%S7?J#?2!{YIw#u=qYiS_IDx$)A?@%oRxg;Y=I#)WL)xq|*1nlQZqKC>p zE$e0JwDJnXvhugK{UNX(XQ`Z1>vM-83B|L;VZF?$q?^wtAJslfSk~vNXcNr zRzo5Jb5CZX#=L1!=grVNY?m%mY@9u5+}50}y0sBJC?hJuGQ(_CK(aX}b8F-PY88HRlFcbI-ogN$dR|U<%gKlrKWR+0`FvZ; zSF>dFg1bvJ{>3b|bruiJ)!W?y@0S20Z*WFvrp{>-=Gk4G&(62!Fy9mn6L>bKDKq_g zW3^b_&{p$ur1>~vIVjr<4JOWKA3a_rG)EkOl8xLZ7nxzN(XME?Y&h=SR zXBjQMGP3dYSyITXumFjksu^FHlHJ9rA>TMzB7nt>!=q`1%WuZjY)@nBYMMSv>G39; z;J~#Te{(;+4j`F(@GDjXlNm^ImH9Fy1?dmyxNx!eHJ|AtkQeE6cP%uV1g(XcG@gDE z%splCA~Wtzj}IHC&KH-xyYInH2mQ!DxbNfzG_7V;%eJm*b|OyYf{^NzdD5jRb5YOL zS-F_mC3I`^sKGaa8JL~kI$Re+Ekz0qf@um;i%Gwi&8wT}4gQL=xzY!W`J8VtlFbq& z?El;Ze$KPCod3{I275{nfkOTzb6WnISkPyQRNot!T0M?=N@;i1Pj++uis3kkF7ER< zWHq|Pu0B7>(RZ9Y&ZXvhux^5~^_)5^J~tt0{fzIq#}>_uhS8Tf2Ivo0Fce(nN;X)0 zg|sAAn(6c)mWqivYQ<{GQlQDerliJ@ETwJ*D%jS(_gy-~d|%S?z5^pC7G<;*t~{&; z@3;P)H5v#y2_h|x;1ZQWNblXxJBATXp(7iM|2VBmgJd^R4BufdN4wc=BQd=*Z;ux} z&kk-))@jN(3uMwe`MCpU{8_;9Jv0N9u(B2STDpmHSdV+tY=x0QBP01f{`G>QwaC`< zraU`HrcH3bn)RTU$ZlDxOV(Qe$nL*kw`_(7^tcvC?+zacfabM8!egD1I z?DoFz*=4rJOVpmW$B>8P*y5%*Heuk@JL%aZ9lfYBV1<1<%c>s4VJqoG-$7}bW@{Oa z0Rg|@H`$tl{82#dPUo)Xp*!wYYe>RP!+HxLp>vM|<#d7XkR{xrH$*|)&P;R^r1-V! zEOBvfaPqT3YvEs8+OF33DWaX)(~!*$>`Hr%2S&(R1G6VS#y=KJcBG>~b)@!Za)9j# zM4%yb2j0wYrG z6EtBEGp71|4J1XH`~_ZQv$Ls$+Mb@Rv6F7f@J*5PPh>T}q_cfj=mlYBQ zd!tGi@OR|T&YB1-P4jHPSV!=6k-D{)8FL)_v3!#&4P%f5D5S1U^Hcv8?=LjD@lFo%w$YQeu1 zQ$~``lLN0si|IY*ABQ{bn9~?iApu6$^jeeWzKS(-_S{??D$T1l>y+YvhJ2+XMkTVd-dM}z7{0S zfBI6=G#x{rDOh^V!sji90Qzyrx}Zdl(H>7%9vn%$9aatwyONgjzB9IQU-e;A{JnEd z$6wXfkcx3^%7j#1DmC$aUm76Lt_>%hUmbTvqeAX2tF(Gobi#?1b%VMMD-yasfjj-q zclD1Jd+Bo~lDO%0`-oUl+4%n2&%4mV8MCgBlg#7*IUV*|hV!_;7mR}w-~iQkK=_2l z*DCRPk|0`QvMQ> zaUq%zzl9!Tb|RpqII5}QvTVE2mov_EXylr#G@tf3)uF<5P9v8QN0%`c?UT|7d{xcP zXf#(f^hxs*7)v(_P9LNgB&EZ!;`9_#*jAG5mz-fM&w`Vyv>RXwHrFmMR9T;8Is_G5 z8v$9vP72x|K*VUx((52uDs}6j$vI0vQG|qvfzih$JR+U)N8* zsRB=*dJ2xb3$97x@y4O+ZiKA=vL1)edmD&xveKVqQz0VTbvrXvlNr+rxS>W;^=lPw zL@S+mJ?$3P=6b(1r%Y^>1j*+E-0(BZ=}S|N6Bve?4zmPbJF14h0UZ?h30PrBoiSx( z8`>wC#FUl9p8MLdYLIt2+q0Y?so2Z@4*X)JgQyTS13VI4~N0A#1uWLONgm-pPwy= zRjEv#4_CPW8ujPAwaqaAe!S0R>Y(?yCvx5)*SDg*1M8U-m(=K6+YrfPZE6~@b%~T* z!N{KF7ITMUT&%n8eXZe^e(r!D;glPpnTaLjQ8yhlL>2QYIszM4L;#@jRs}~bf8s1n)XpXDJ42klney9r$klCu zPAO3x(?gU{U?-Rmao0O0W6in=5i9C0hEXWzoAW1BlT4nV9wF2@FXZ8@-sDj2L3KW$ z359j!1OG7)14`Fy?{8l$$yJckuPqb7vEkP0$P&0-e}FF%W7BYVC~ObWSNt8=Ftb$r zSV`#%%<}Yy9MGdaEC;lkYw1xR{$5HCN!7Q8*BXEvaA-|gYTC|0+sSJBvizMJ5{1dB zyVop0M6pK9*olX{=fDv=bM4=OJ&-`T#wlbBNfg=*uYjUsV07>~n14;~vX?afSnav= zT%A*JCP0*hW83D$HvTx1iEY~x+qP}nwr$(C?PO>5uv^u2tGlb;`*h!XzjI^hqjZD4 z>L#1*Kokvk}cx&<%PnS}h-(7l$Ape&2NOsiVE?HabRnLJL3U9}N{0${u_7Qs_+S0J9a zG`FHYV+}`?wvtr}_T=5S-9i}HW!hpkTAWeRAgPD1TH%YpWn~04m5Df11>Hzx4G|20 zL44%5?)Y`q#;14)N+&;+Jis?5_@gk%YZ#z(Hp^h-oo&eB`B}!?!T;r ze8Y^hzk*r~7mh&EQu7Q_tUX@r==^n1z3RwU{ybJOE9ikxcWtTv)3Mcj{k`187V4eN zXH)5Qsb`r=jP{HlFo>KeheU6_m2LQ9_%Im86Ij_oh-(R&8u%2q4&9k>vSLgs13-w! zh6iLSOHU8d*xD3Qlnzb&GakzgRn8v0d59LLudF&8_*j9uC(c~V*jdK4iI=fww}frB zGq$BoC!JLpb?dM5gK;ZF+m%Q_ACYB?iBV=NIZwocM|se2Q1LoX;pw&TbGm}x5GuX( zyiC{lxupO1$#}oHmLp-$Q6JcI|7jf;3CG4qfivwsp_&y!SI=1@N3SRb&n|YM4XHbO z(fw$IYc+#EEx48CBVhH+7t}^kH?7@8Aa;@M)jclZH1~3ZOV#A*nNr-o9$k3xr0qS= z$Gy8jmL~pND?LQF8|*@ebf%$!;X@ju-pKP`DZue0hR1tDmO2iLoA&}-GH|GM;oPgt zO>dYX9Pe^nKJs*a_0-Mlq+y2^U=|LLwpg+TzIVhmZT1lCiYu}E!R52lRZcv@W*Il` zy+HGn`C@JE{@X%rN$z+ZrrJD){~tspM!KV=-jpVl8-fzk&$JTny569L4!KiF~+y(X|l1PQ|CT0m7zlm3itS|M2LJwEEDX_Xr?A;cE}_gNKnQKYJqwkjl|Ke7H!EX`SS5|JTbE*2D(Z z91p%SXn0k)^tnk!Ca-5edma2=eytA!UY~;K8hcK?4I0VRDrd9P3}$GG9{m-&5TpaV z1)AXJpFG(oj26&AQp4BvSOelO0neK8LWm)TCVL~iv(0u&H!#Y){7JpP_vGjD(K(KJ zda$e_roEm1>L(Asz%N1ivagSh{ctTw+~bo*#b7SVS%BhGq@w*8EgBXG5dh{WzELuF1`@$XA?=o@@lL@m9U7$u;w80Gae-i{0Hl2HWg` zdRizr-Xp+np^SIE^hI)0V33^ffpu_TVY8Z%U-~pOaE$6l-dAX_c(Sl~_wr^#GO`k$ z{$7>wow6n?e!Ui^i`>$5TcMAc`tXom`>-9!-jW0D+3^#z>$whz0_ojvA1|@| zQ$LLVW6x*q)4=7gc0y#sAEG>K$6K^CW~J&;4f4o4JrLxWOjO>=xN?*65_J3h+Ur?S zf4q@`L}~1WN|2AgQzUJdab4_mKI4fV`>Z~uDwK-ALT7$AE+-Sd#id9(D|{YJp%Pja zfUMxLRV>YJlI!DudzA2^rhc=rcv15LzM`dgd*3TIq%G>-J$q$`$u5IBv=Je-d$$%= zUqXKSJ=qRc%mTz>8Oh=@sfB#Wvf+kRRJYvtsAKTX+(! zq`^d=hGpz0o{gnMVd1D$`U?0?IXtixKDNXfO7=Lkp&3 z8|y)zN|41s({ijFBxb{OxNET_AIWvlJ<-yXUl^6~aFsmVcL-+O5G(%jL2Av(qzbl| za0T77QBLRz1z_Tg~KS{lqs(nH9?MATrFT!3(A;p6meKS*Fx-fL^4zj+gd4xAUp{kfk-YxHNhl6 z$&<=x0M#L7*I?4+1LIlf&e8&fh#j>~KP%)&AVeQYh(9LzM(!^;nEB(4__;ml`iGr0q>;E)_a7WBB&EF$QKl<)zT-? z-#T(d5-=!Xg)HT#Nq8RYyr1uzxcV_+q`1sjodi&d<%7oV;Su{%9ZgGmB6XjS2d{eK z#)QZNnS7)Ej^TzdoQ~^A5rBbO?UrpnEV_f~(sdvtJ#|X=fU>`wL+T{iXTqFck*L-v zWZTl2jV^XBw`G*G6qKsJJt1gSB4B*baJ2SA^>@wEA2&<6F+m54R1c9?_&!Mr=iPCP zm?cKFwPcyz?pf($8~Cose!%@Pg^2TWo6!|3Q+kg!S;C}}CFdDNit;OPv=*M@EeveC zu}UbrSsEEiGUp^g3a)Skb2bdGCxj)wp8(hf)S{gw`M+)$1mTJo-_BI(U!}@Kq{bU+ zRbhNJ=!=EsRK46_^URZeFTV_6l}P!W5JuV#|8hflOKa_?{*r+=5;DNTu8UFvSqLhD%6A-=|3DZ zo5MM%2g_sM%x)8Q7dmI?7cP9>`HUnEvS@p4-FT}YYnreSTi3wPIVraReGa?LKSLew z?)j^aNBpxK8d~dr^0uoY_rgK09jDn^15>2D^r#lV5X_w$R8S~7L0=*S{rT`NQ2EWu zz~-EqZ=sy({G9Im^L5W2G5VD!?!HDS8bYM_#%9~l#{kcNp08A3G=c0GhMZmJ5Laej&Gc{(!W&AQTwRQdL= zc%uy1ttTIcaMM7uUYXF5N&PGy@74lKg=?@^m)rjV7V<;-Z}8~1S0w0M@T!d02FeN@ zL2%4MbRLsY5Kqh&$EOvifAsQ2Y-LwbMZoCfG5K%z(;mstslRr7*bwGTk3Kjbb2g9u z!Cy!F61`O&Sf!8XvK!jhz0ZS%$t0(tkZJVr1{{`rvKjJMy(u;ZP*6q!{li$T)4IA>M7PlYQQUwwa8LSO@UtyKn|aJm zB86DX@IuMpcV!|M(Wb&7JZ5)dz4R;9V}7Yio0?kPZK%W31Ju_FU7s?iEZr$h`VKi0JvAoE*l2%H>GkTZ=0xkW}in-sjm$c8&9DrMFue;gp#60YX!580t_B zwmfDPDc!z{JFz)`;4JIpj(3Dg?L8uk9Q-L>;rJO-eZs#^C2d!ewW36k3xx?_WFQt} zl7?4@8eQkIugUMW6$Vpe#Yx2|%MrKmjd?tTs_J~>KG!spMCbyKU=uw)<*$-8>b$=v zQ*KmwjHK9a6MffG9*#^V^WnBYJJM0WRnSKkuuyC(&sSWaAsYqx!#;nV=K{NHL%m?) zVv5g^f8!g$YuFSbUBQRfX{UoyBiN4YFS_hr9@+yR=9vDokoB|oo{f!ro=1$%r33cH zjfqy6ZUifv#sTuJd?Ddw|LmF`7sL5o#~Oj(tBdrU#R6@9bA^*~y>%p&Tk!-0Pmu(q zHJ-(WMg^WYQDjLS>6aK>wwIa1nz7u1ED#Szj)7ydSv=hSI0m}YdDONnEV-g9Sk?v|w1w>o+g1y2kNK%dw zNyZ$0M@!o-XzmuECB-z}wwmj9hm5kLqmV8+D#`uz6t5n-XkA+zB6_RM3~d1#E(u%p z`zYu5xy5B~j)iBag*Q~|EfJp)p-E~h?@i#|9}H9TTRz+l9Vt^tbF9zA$0NzeV4j^P zDlGfQ9H+d!CVOX6r>SXg=Icqd7lbUV4>@_rQTs7ex{eIpS@#My^v-C%{G>-ttoZnX zwlnl&l`(+qh!p>QY#={Wa8}VnS^2iMC+16k+s7k;!dSE!b<_=6YCz9rJ0{3NWRf=* z5jyg8nm!n^1J*%O(z7fj$d4Yw7lk)3VwTkKn-PB}S)qz_xI{u{G z;9tlKa#IT&=@Lq}gRmLRRj+kGj!p=KfvLVQ9k+vaKF)2*3wj3j8UL6!_J&m|+^qin zZL#7jS)KS%F2y7P80ll>u%!a+wvw-_!F)#_{IBtnepe`EO(C*wA|J9r1?3 zCVhGWsH^G#NSWQilmim<7I$) zGy>hR)uZvn!pnFLdWgW}Fh+0KUh)j*%g1cG!vM8HUzJS-*1*Vu2`hZM#nw^M#gbj4 z>O9WfG-Eo-b;@mF$4!=@ck&vBtFWfi@@!m?OIe%c(ak&5YsA?O3I5Rof*C)g58gDf|1uYji%fiUJLWd6&Oh z78p=F*8I;6R`t~{@B@-R9`EJuf7RpA;;B9iol&9Z|d^<^)vIVf7+3k!__fN z8I$(@GFV{myJjU!MJ0NTg;D4WSyftuwiE#-#G42f)i zRci4t?fJ+m_fKtw?)Uj#FoXn@ac=$I(HB5^-|FQr;|l@1&M;8NpKjL9;bxZbACj!$ z@{cc8zBPc$UK zx+uat1q7}<$6VS;dfhXl{QJZ6Dn~auR#`$kUEN=AUV^N^tY&;GGifrPCLxKO(3J7! zK&h4R#ue4esEE(+6i-)>$mS6okjl+`{HuzYE@9Rh$cD?WdLGSX)0c2XGt0rx~I1f!1xmXX0x?_{zJxfA&VLxPfAspOlvSy^)(mhxw;+Pnk(Z8 zg`p9(HGL8|H*pwxmq~sd`ewpJ6dAyr%LrbfznsP{=7Iy2FAVf7&*E~6(^~b|bg5It z#4iuWhPkn{vEe5r@0f6!z7>WE)OX6d+!;26N%jN=- zX3Kz6DAGL}hO`px)~iMZ2jU-_RLwjnmr6Y?5N@CH-Yr8y2gk(eKEL7}>Ewa9U-u-H z5pKi#_gex6-5+Q1Xf^A?84v!i%`Pf($Ddw>KHTQbcjC4r6+Qz7DzAlo-_=-&yNpF8 ziyLD4Dpo4K4)Y9lc6|rY9+Ya6+xJjhi}!5W#?r-A*j6Pl25F7^u(vQQ!5N`g_K}Sg zU?6XkGVqhGg(Mj@53p}P`!}+lEoX7pYvq!}^?4tq74qzTnCf|wu5qE@rQTq(E9tDc z8Ya69g7v@fOwdMk^MBltZ#fw3MWj#*8D|rEf7&CMV3(4_PdVCTNt5*v|IVB0277c- zvar-IYD#pC-P_Vr6AHNGjHq};vhHJ1i60GQodExR-;yo>EltRS&P_-_Mq$e!B$y^FR@b@akEOY+H&={dql zU*nmoXv!9w^tLcbzZjA`CESWO=Y#+5Z}$F630W!AAP(mgI7+dLi%;-;kk4UNLa)({ zid`Gxb|MDeWuwl=xCLhI3@ecm;zM&xGP?Bmr}lUYZO03PW2!%0h?*gSfP4`H zv1RFKa@FV$pD=CjWVQ}EEIf=|!i|^~=SapOE##UeeM-A0i%ATmji6mw6+~$3`kNE@O(NJhWW{Zn6i{3RwxLp^ojs1$j{4H!g6 z&OptrOO`h>QkQ?%&7sM@xn=9y|IjQt>TkP-gMa=_InKQx8ZhvX>TQ^|THw_{6uZKB zQIV$sr;-wIq)K}R2osGh6>+T*;MyfkUJdh<3O}=tZ_W0sZqE3GCt2Ch%Y^j7mJ*tE zZ)k2?hDOTPbmd-~6O%`Lt3*h35mjE4dj~72+42kjx{=4;oV;FI)qxvklU!Tla!3xNl_1xVA%{ zv-(){m6=aJgQOex7orTo?>X|`8C{F26`U$Ex060mC`NHz8BHuK1q;^`3>X|*k2><@ z0j8fT0I#)2{Sfo;fHcs>;S&$w8Tx~+JEmkdzq&R_l(eH%)5Krh2iIt!$D3l9=rB@^ zX2s*8Yt6ZLd1O0>$w$ah|Dov?{1U*Q9MigfGx{-B+&Z6@bEfaeUkOPgAz}vw&A+`Q*2$3ag1mcX;F=5x6RFGX=IO`KKG!VS0n

        EUrM1dmr(IT^X|qhaG~uL-ZRK31veqdK^fHhGkuMfK{V1k|RVna%N=HEe zt6a*53YgHK9yc7nPIoCd5!uHW=WFnkV6bM@6bJH}Inc86>ZvJ>lBB3Lj zAR*2!X4a{u?c(`owP9paXd`uT%wc(QAp8Bb;&aCiZeXjHe-t9uld~gj^3?NH^X%)Q z_9=(X>C?%3e8T@zlCu-^bJg?x)bm;L{-FDV7?N9SnQkLSstnR}nj$Q>ieW%Sf40N% z3Ry_{p8yxHu>DNoKORe+A5bB2Dc=eUD>tN$F0aYsw&fb8WgRUSL900P1CJYcBXAqg z-F?{?Wt*lADkamK;s0LK=yrJJDk- zh^5d;G}`lMk4=w%;g%6??HbyHN^F61iLOMVB&R-NI|YnkJI}?ebV{S)7fX2VRA(R* z{IgHMd|Owv*Gss$z8Z~oA->dW>Jrfc!jbWEq|5|2WubR-O3)ZE)Fx^50)Zrn&ug<{ zvR=c~tbkI}^dQ4NyQbWG%>og89skflDJ&|_j=1D~vb)H4)*A!Tny2@N#sh=vC@by4A);ptNNt2o+f0cV(DhXtvX7!=SIl?xxgOQQm+)5| zp$#11YV=K_=zZBT++hLYfETR~7b;sU0;M3YZuc03qbE!7Hy6G%I3nU>HAvya{nNdo z$K&D_7Dz>^Z6~2ABQSBB8HFZXse~Fk;!hfvlp03kw3h+%W_D;;;;qP7MuGN7d zS*7*pqOlFYk3RE_1A+NVzrHD*Mn_9SWcctl&YxHmn7bF|7xmKi8g!Rkg&{sZuQC2c z-0qBhpGRrG;@yugOC-bEJS}OSUmW=I$~8v(t$7%h+g$s%^WTLjZ6_G3(=O(+g46B^ z-1rI18KtLx#@ZGHs_4c|xx&mC(eAPEqP<&kSr%6RcRU$f*U0LSc)#4CBwmRQ$ zoL9m`>R!Gw5=q$Hh&-%}ajBT4S7BT%*X#UndZVb{5m_zedC1i>sSFClaBcngk(*!% zoEV<&wMp)ikrf*9xHLBMf;ZS8bJssDi>tYhOa1}f8K#{JbAt(9t?wE%G5T@Y4TXFB0XqH{Qfk>8Yq?tCeO#PR9`aK)NRGB_}C4W zT=v;T)l#y!l&y4A@kTEae=bU+3T)i^6(1h3HvmXrVJjeJmnq<$xntE@p`NnABg3BqgCXq=1M$dwdjWtsqqDrlj4KK{6a$26( z9C%Q1n?QXxMWIF7v^R-)6?Z!bZS+CpwNg4M<8v4ikR(u{DxQ57yMKLVGkx4Ce3EWe zq5n7d#G`#V#h@+Vp3T(K6finwpuc1>$(Wxw|Ljph_Dv>}^StPjo7>L7rJiSpo zs=5*0{gLZ?oX9DbAn8D(4e=g6b);x@JU#GZ8qK!N!@qH5Nsl*scTwTNbqYz$y^k3% zuFM_IBQi=jp__iE9abq!ELv|6&~R3^U#tU7o`42*pnMjmVUow8nAOY|{v!c48)Q|k zkBN!!T=?}|>Kmi2)?gsRuoLgrv^H^vi4N&x4oywOqaMQokksa<&*Z5ssWc@T|A+T` zSA>$Ju1fELek*y|7Oevl+7O{H0ufC&2Ep@XSGn-AK9Sd$2$yuJIhpIC+OSLRCes0= zu=8JJnKkF?6G_=w$OpDA(*!D+T*z+_wcq!R_s)FV(T^!TRnzP*2r`y=h4OcWB4LPv zWV3}d3QFDyONYTTH1RGmaB8>rgL_B8ltofE-4s;Ap6zvO$dpp$XRq`F6|W4tsn-q2 zZRycBT8C1#`qJw)ZWlh4aFYfPRB0PgH1@EsJH!=ZNc=4pbK%_AT=IZl@{R$(Wg42% zhY;jXS|HL*%K1bJfLcX4)ocjT%24dhpXxde)mZ{{7d4;D;}wA7-lh6+{|!c*wO3WY zuuWvlp`BC6bKuO-F0y8#jwu||)foRy+Hgv^g~_B(Y#`dV84uK?%0-SvA$hVVfW6 zlYgW9*cINbI_I;i{5VcbULW-NkSx?`#E=tuzjPRR-ds`t~8S27fJ&5L>bW6dnAFlj+pYS?54luH zy3<8{p1QPY1J^TI=Vl0m>&G4RF0b-fu0V(|FmN0>Q+({&J`T8rbrx$eBH1juRlLih zi_jcp^hl^6Qh+cMsK&2H(!K+t9EBTN&Oax2P5J0*2otf3RtlG{khg<;Gv4wTd!$QURMZ?J_5av#;*$`4EuH8cyUNfOB|t?_=231nu{?-tzI_~$p_*bt`8 zcZK*Vfa=Jlluycf zoZQ#lo0Gj*3Z6Q%sQooOG$(5$D~h4OB1WiV9k2e!h1om1uT++&J2TW^59DwNEhOm9 z-)Ez+`181zzWL!h%uWbFdL$(2Pxv~X57D&M{$PdhtGFra)+kb#!14XrUJ_Il_QCof zze0w$oB1o7SZSy5qp)lZ(KIYi*_a0?mo2#~u3}oGm+W}k9|8-Yf9-AGbD2>qm6(t7 z86!2JIyxRR<6sdte#-lOPdDPZqhbTS64ND6HYtKYUNI_sr{U9jPOmx>t-Flpn`hxV zJLC*VOsM+gN1>Kp=@k%^9B%^)FQIH0a#eS05c<1w0cVz(5ze!g?&aZHL7rLME#sK7QiP_0RD6g`SSx&V zt~8kHU~y`O!YhsZ;^StT0qQ@QYt9tA@ph~R{>+3pnY$pHg*JvTxm*II zHLsxSy)-+!FQqz?D4% z|HtXtv79FJyP`13oE0c8@EyDNI0zKNCOWxN_*>}aEs^+Q3>|m2Mx;1+fT|$J!$A+{ z_7fm6S#()MLj;I6)^) zz$U4eb0J8SEHVNj;q4NIbukoH9lM1DBC~?@uTA6HgSudh?2l1# z`Qm$2nMHWXD_(FZr!GD(Uma@=AEB>8$Up5ouG{4&wc@PN2r=*QC!)!w7BrX_FV9l~ zCUrFY48&>K>mWHDB;d^jaE@q5tc&_+>F+H)TLb;hCfGy%&q(GgJ@>yhzh6>w2L;MV z?BX{FMcY-79<^V?{ht{3su!Sm%%(c}jxAt7YS4UVh!GPm z_7diIxm9PMZqfRhrBLULjD48uj&+aunJP|OA!%&F>6ujU8|>(P`%brlET?+bcQ7+} zApZz|Vhfv-dZYDzPt^2HG@6UWL~>VJY`)l08jtx}d&^McxlTy1)MhGt0;onLwA*d{ zP<}EuV=e4~JFHpab1ecSr`V(`Z63XHIYMs278Gn3<)uY|N@fmQML=hgc^7UeGxl&#`4kNHfo~WYhv^=UWE=BhO)I!Z~b-cLk(7)$mI0i!& zU?n4<1YKa-%A2U@Tpt$rF#AZrGo&?4IJjg$7R6<*yW2w%!6 zbc#az-7zNF+=}+nN*26erC<`aFI3aXIb5!Hy}cT@z~em=Xka=GyTL&X_(SMX7a9a} zhZ7(wBr?)MUs;tD1wiIOVn$um6$d9rf70*rXvGwmqbgX;xiF%X7NzM~7VP%f90B!t z2nK4Z-4WZoa-IBA5h^j#2szo<{EQP)r^|W4gofMbL&|*MGkKWvc?VRWn+$t}{Pkw3 z$P2LOar2F+>IJY}qkh@P4IgNSmK0T)41|sO7?a|90RgIGh(R>4`?1!eAs$4}7^~T1 zh0q5RF=bv@s!y4`0A2GZsjbHDcj@!x=)~I#_dF1jF#Q86d}-EMf51^RX}Nrevlvo? zRZ4Owy<_ht@aIacyunt5;vs^x3&ezR4d=~+7%A|!pfidzfr%Q%tTW~?%`=kuUHric zqgNN>svwAb-H8?sMM$k@9J_ZSle(tIWA9A{tmK;jQ-ZlOk^t)RUvH_J6r>d7Er zj0kZZVzyP)5;5Co_v30?@w?z_=6#&CaaIakpOr2pzbc5)myl9{Fq&aWFKG9Vg*oV z9X!YMyrJe*n15U<%Vr?-_7TduK4vMd4LF=RLL;VK0=lHQWAcL<3qI~GKKF{ zbgTXeY@;IWcGFp7ypju<<4^m*)~YizZhAy(-KUH$Ok^hRG|}}2K6r@hmdu7i=VQkb zyB;o!rVS4D#4fq0!ehKbIYAYxg*~|XYh74B83ohUr`s?hdlxZ5OD98wsRDV#nlQv# z^xd2C8~XuSv4wAwgV}AaXH8sUa9XyGJ4r}|%Ln4{t}}?Tx9)rcY=q)T?s=N4FOktn zEw~LAK$|9ydV*#d64KBc?gXIeeZd>DpGg=#2oy+sG7b0={osriPR;$eb7a`MrwQ!5 zRain$#l=Ph7-D;AEW*|@IQk6& zimGSo#e@)>f`%tZNX}y=USDcFV`o;J>#zn8!16}?5cv5Fv_hgJcj6XrQOWd|up z@!%BF)AGa=g@DDg8-K~L6!Ntrr}R2{{H*$~#P)uwd_t?j*yM=(V%st<1uMBEBIzdg zX>i67?Huv2It_$oYVoVfAt~OTgFd}}q6WSsUawd{NSdGG$ufbosmc6hYwhK4 z=c9&WJ(n2Ob6sE^2Jfk1FK zNBPH>+k>%GH0FP$&t`j6z|IHORBM2qL&v^^dU;>{YiI3`>6wA$P3<`OKWuFMSpr14 z(Bk-1QaDe0o5CL~4)X<0G+Jv(zr$Q7*DvZ#-y!Pa+=}$T2OWXAH5p7`D-1&&kvZ;( zCN!A9(P@GDIAp5nzetER9R{dJSokZi#nSGe5aAX{YWT>hz`G{)t=hIZWMCH*QmT z|G(3o|GTuQWG>uMJK|7zi&FMBOxjU17W?l5J^U(Xr47y?wUon%NCG6P@4$e;25P@I^XWp3rGJd@Iw$gUy)PD28u6@1T zq897wf1|fRv5u_3;OzWrKiWIk&A z2!7eHFx`>IqvdrOKJ}?vNjhe;4OE&3jv}?rPPqq~M1{`zi*>XOPL=58JVH&WK8c#A zpkZ4SL=E@d-N>a!<+k&9o;p@s0-c6GF^MWS^m zN;ViYv_MOSzDSZmN}~gyr2%6de^7&8?x&*B3^emn(oY&@8Zv#a1xk2nUgiXjZ0HJ) z{h~>;di}X1C>@hb5fb!LB#GS^?k;mfCjHd+(l+lZ+e|q-$Mju4!d)6bL-KNVrByU{ zy`1ikFi4678_!nkZGB^ReBFVFwNlu+*X==qN*vFKNT-33TY<_y8*Yk3QnjmW zJ`<_dDven`s-IjPqp>~mhW+lQjJzE^H0|9Bp1o1OyPtj%JI_7ByGu?z!mmqC4X$R7 z93FDE137-ihzD9zpjoZqf_3RD!9D0a-08rVu?zL_wS+Mp^!|hf0cSCR+C7nV+m1md zinc)uWZtr~cF{Lm)gd;%f%PNgwcQH=3hp{>E{RPz9DH3+rE;tVNvyr_Ce0c=_w~(! zg5sn@jvYPFIotE)s1nSEpwD?Eax{7iN(Kg`W4rK$F!#wjI#xfbN8}%D%p! ze)M^O1qe`L#w?cIdjis`l zLBLQLf7^$zrI1fUl1xe4DG>lt8VxC|;ejw4=B{e31Bbv?d5ntxcj58T%r{op8VYi+ zQC)FR*}i65(;)Cr=MFbCr3wNnfunT34;2#KeU-Zjn!4(TIelzAYAuW1#p? zYV$|@mA8lUk#UxXrm6rIR;ZJ=Vn|)VxOEbQVb){_7g)X3mXPvweaJ;(Wr zgTAlBfBIa4&cYE!K&9yUPw~sbUDl)(Y0F(g0v_$a3-i!+tb2ZdAfvToOXAl*};};2yIJ!`lZUbIOT)94& zi3{EJ<1_ zx~xv{j0NHKXDFA!JPeoQxw{lLqlefc7pP#=V|IYI%e`OPA!lg?Ucl)+YcNhIQMZ+B zV?vCPvT2f8C~TbfsVRmQ(KpE?nR&HKQlYHAN%bvrX{1QRrgV}IKc%VE&aM_^n>{+P zSR{F3TsBs$a$N92d5@ZKH6K)UzCIJXvd5ZL7=F9`Ii&}GV7Mw~cHa=d(U;d&Z9cVn zj*R?i!i4B@6Gzotw2iEVl{rCHXh$~E&eAsYaOGCot1?OB&7RV^Vs4AS94KkT>?7Hk z5iZ76*et58TRzg(eiP~X*!%re*8fc~eY5vTF#Q9GaFUdU-^%=R-|>=^)&*@-r$bo> zK@q;M`|uhZ(AtwLL-mbbmB8ZbclUXU;^LAb@PN98-(Nm|+>p!RX}Rp+cZ`3{*rhxG zi);oeMw9(?U0M8m$m$W#@D5G$L};u0103+gqH|&Tcg3gQ?<)}d16e288jE4eRe#SN zG073HE?IddcMQ3eaJH{SFe3qC#+B*e+*8TX|MYruV}gvxeF5nPb6&{uNw{E}@1L84 zF!=d3w#rRrJ6qFctji4n+miS8fR+|jY4it1N~_f*E*a31f8W&ij9*v`Q>5%(^h{pd zjDF$_af%Pjj3>g8C(MT@0hL56UXwy(%8FOff3dh=8=&<$Yx z64R?Rqh96rSXXL@3H5qJi3;@~0jb?1Wiw*pivsm?jzAw@eaa~qe!mhUuTqK3-8Mn% z-kttJ)&wf~2L(ZXJXLsIwZ`B!lTB}naDHH2by08f9wDZH1g7d+_@0? zP3j8gPE?vOwPQ`{)*&;Sz#4@k2}(Wu z2hsroBuU$ARN7(6druNr8pgxh^Ji7tV{!h}mT9n>2UIR7Ra?y?Jj&K!pt&OB+)1ms zR?%{x7lkw+;lbUdgN*IrMN7I^ zH~9}1>Cn<*9Z39k<)wy9s1HL36O(z(+3osb_QBL;=@ZK(J(|4Aqw1~irZ=qD4#-Z< zDGu4sH+qAaPDF3qEJ4zF^=qRAO!W*tX(^b-^=f9-ptLg+a2q|{(dJPfnbMx)+Sf1T z{y(;#fp+R~&J;^U(kt5RYV_&%juQUsAm&tavJat8rx$f_eSBBFHSpudSMb zX+i@zwwm{Ai(0r4y)P^ANr)b_S7kUMryegq?OJVN70rMDb9&FF{6{W=w8D5?8j==% z{6w)17lvV@sBGVni{=Y7t+t** zR3YB-I0L)c@3TomG^ri)wf&~!5V3g#Yj1Z0CFM^I#*PY@mid)Q$Xyn+QTgc&}QnuL9!q>g7 z%5rEPeW;?FnZ6ERg%-G+Ov+KH1*#|YjZ0e<+3}N0#-@p1XVW%d$snFP%w8vI_Xv_H zD%Ai4gPd)i=VUT2P``;?@n+<<)5|1pG-Sjo`*1A_S{Ipk5T0Qq&QZA}XUC}8r(se_1xKr4tFUf|hxPUyu7TtC^C-%B z;VXOuX&AH@f23q*O{3i=f)sH*l$Dhmx)U>GA_&13eUJ0GC8I^zsr(0F-x#Dx6l^(d z+t##g+qP}nwr$(Ct!dk~`)j+WyLT2Z;_b%U-9M-5-m06CQBhG9c{9(+n%@vEn>X@p z8r#jsIB0Yt6jUc})%HuJFEwK}vSb{jR;SQBcRlqx`kyL`fdY4J(CYteGp9Xd3f+)e zC2B(#;+1cQRb|dNVVZ-drs>m%>sjVZ^xc;7)0zF)P2INr?RVE!lD++92=&`rJE!L5 zb}xk8R#M04ZAX;6`-`eVoNfjbxYyC2#TPNT4h)-3$=Pj+R28&&{D{iulj%GP@% zsLS(?u{M>RO49H^T>@~Uj*iu95g(;ri*DIQDL}w~pQZhH=FUtwL+}zth^63YEb9bX zsEO-%iLsU05l|5e25@29F6)W-m)oW5U3G*Ugm@_U z%`Fo$_Xb5!h|X8cI~ zeCzY)a3N}}uDh=`+3@&k!Rn^50ew}=N~IHk<#w0GW$G_mE{7!ghf67E5TLZBycu=m zk>@@R^LI$^aKYw}SzPRopUd}?(_7xqE#=?5p`USO3wJ{tHc1Zoj+b#hM`(YPUGJ&8 z^>aK0uVU8LdY%1Mn>ya&IT6Mez~ZXXx>7VlMhG|i2249pM{To#WO|3bPKUcXe+1M< zO4Rmi(T#rAudGZ1=|zcEV%G2&=5vRm%Wu&vWU-vF7Vm+T1RgoolGEuG=1}N~fFeBC z@<;gF>btQofjzLVGq6@XENq=+K{T` zdMugZrS7Z@{zWwktYF;NKb<#rbgZ)E79+7!M>CS46!m@Mk9<*Zzuo!#H;AXW_lu~jdv_xe+iXpLaYpeu!rV$K_;QxD zRO&W9={9M`42&PHAx_Yf2qeH{p|}++iDl52PY>&uaLscWmb6_YqHERXbW=dzm7-B6 zOolQlCTZ9o{b7{!*Zjn9P9Izq+vfsH6ga{GJqsb9UfYox>!Ea5jVEhpgG5m~-a&5(jUd_tkbl|8jDwBCU&0U4g`QsU-urX6 znWY#lJxL!(l$f)(n2X6GLeR6@esM6OGINQdO>;zB=>}gEpk|t(sH@B-s%^g<22w28(t39GFk3>v8rX%!WsrPUEws&k1%0U+n_-1{W7|qAlitF)PUQ zTt&D9`CzJZib-zNfL!rAa1$vyifpQVg8E0SL6LE~mYtl_$D>V47Ur%zbMnTj@?4oA z<1nsq(g1a!Mti*|!iRCc+|rh~W<;%5w;>TJ&Nvlv*l*o(8b7KOSVM>2;S~f921vJJ*F&59qAWJn~xOxjfFc@jj~xLR+r}fNj=vq zPbx>8R=K|^lA=3FP~0kqK6LHQRB1}br%H-Jr}aiuq<$D-g*%0qmnwXqUk+tXU`-o< zqjg5bWj19d?%c)PGg(`Si!DE}TCe;~jR^6$d)skqtCLJS_r0)CRkZ5({H1)iswNv*{R8^L`& z$*PP$gKCFkrkv<(($;ghfQ2I{E1b(SJ#v(V}d#Z5D36LKZyc9hwfgKE`jI5^=@|E(g3=UoGr zWyci}GiOFVi178SI z-TXGg9cFiKdDa?mSKVYowCBdc_ntXCHh4vXXiNNSHAf77-*`(f&)D~|>fTz+qZD0U z$=&K2F1h(#iUvcKd}y@0#|~jikqyhdXnE6DE@$hlJSC0X6FD?*50Gi|9QMe~9>@CH zoUT@ufW+K5!VomrU?xi%xv46bY*ou=J1*R$7kR#fW>lr%VnHOdqx+?wq?@*7jb$gc z>TVA|tRZ#KkV+ey7*<=r$9#@uEl zqi|6TCSJUFc>}7MOzbeTbT=hYxuUe%5uO5E<<2EpnlKgq?}n5Z*_8+5RfQy*@_xt0 zT&mRKLCHl1k99?u;F1x-GC*=$wWPGne5GcV8#Np|V0y&u$!PaQl5$Y%KDqPv4@*ld zs5eXqxusBH6lNNp>J&L+zA3>-T!NjDg{N0B{B0q8P!L2|!x$*D{_jtjYakXUzQZ14 z!^nop3v!H)<~I1Rfa^bNzo%m6fiBu;=^Wiu1l_FR{!AyG2)X<~2UCIP>x)5g|HZdt zUOM?m(cBOFxO2NVQ7tCkWp>$}=8W1Kw;%Q7>kQq=S4-m;x45j@+5gR8B^3Aakg0IbqWZ=>`yG}|QjHnLU(tdbqPf$*SrvwfiiWRW=k&!Lc5jAI&byceN zyOEcrH$Qg~>$bfj`PkustXq_{_wZNcJMjiK9iWuzxSLqGP3*)UEhLjq4U1M(9QECu zYS7|xh@69eU6=p!W}JF6al3KKPGYlxlg#{8+|e74`>J5M(|Qe08;vQZbM6>dbxsxM zcZ?gQG>r*A;77H%SG5-5+%iim%wxHzy5wAwnNFmH>~`;7?BIBv#Eu1a>}1r*B_V^q zI5_@2lX-JtRv~yo9M5$j{rD!Ja;{pumfIPzMcj4T@h))&ucV?T*S%HLsc2UU8aSz2hR1qV|4H3(&g5tJ_vuv>S<%V%$naUlK3Y1sJQZmz{@JOR7kX520kcNjbOpXqDf`a1Fat%ubNi#<%cxQQJmxTMz= z(yUxI)c%Dy3tqTFs~3a(^5OIwu-%!f`vNdlZG|x$6pn?4hz#%;3p|GcE1AHtjS!yY z8xlO)EhWV`d*dzf7Ziv9cc_&6SmZx!LsM;EWi!&-#om>;j^fPEbORnlxkn$HstftG zxwE0I?K~nszed|xTBoYp0+#u9H0f@brvmQdIDPuZ=1~);54TH_55p9Kw^c_g6%3(r z7f7T(b-~Xus8pCCCoT7zh39yW1NykNdMFMqjDkl6vKeh2q6wT77nc|rmpTMJt<;oV zoRInNMsqOxtDNn9jEV}~XO|8~t~Ib?tis6^rU6jR)|*?f^Gg$s$ro8vR|13N@oM{K z8IM@H%BgXT^cN!T`EdBOov_w)hdeVH4y)$=Euf=^E3BdOGGe`T?kv*-vTfO?qxuF~ z8kjR?JWoqKW^3&j_KQoN4afBeGI-}49ghV%i>2qTS*@kb9mT`eH+e~#&0jS`52cQI zLvM^i6QGg!C@4riD8x^6>=7TL`=FL=!ft(%%(7w&7?AWv4VQ7ATqJnYc!`+=fm;4q z6uExwGt~!5wi)h!Ox!Sz9X>l-27&8en?j{;KT%vYpKIFf>+tgpMLyx+g&qis;iXHS zDc)c+Z?jYE`dD8v|h5Gm>??_b2()oru#Tstfyb($MDx{#TFVS_#|vKU1!GySW@x0!;g6Ww97bE zWu@YFY;ZmK?ze?5yVUn@=w|WSsp5;S;y30f9@vBv#b69ZSZm0nqYZDOtry*R+Oz)J zDHBLHjGWM0U4;|hp4v;3sJdTO<0FCX2jp_Kgd%1Iofe!h;NzAHRh%uNn#s02)@)p^ z3oC@*RL;&FCL9@mk-@Q#e;Opkfj(nWdS<>v18^*>Tmre6J+_<-RZJ91Y~l4e7Bv@F z6HCf}oD7tr9WO@ch*(J(N;YM(B_kCZG~DO2>lKHU6<;+f+YBDHWEZDvq@@z)101os*E;k1oeFXIXspXH%h#-p&XLNPWxm&w>0hDt(t5&N1yzq*7Fl1bac3ZelW)2n zhjgF3HS&G|vFqY6%3D2F&M^atl<-sWfKcAdWXRxNrLyCPc%>}jB#E`J68c-MfwDGP zwb@ySk)Ij59~QWo_&?k_tunJwU8LlKPJROigMxC_yN)_w_Pjcs}t46FgMDVgVf-@{YVl-QK*A!HIpvnx7AW30Xz6V-QUw7lyph%}F+ghrL*` z!Y-(`@VS4ts4sVVZB}y8oH|1(_UZlm1_`E>Vqx-%Dqc;-&83QB#i6NQKG_jtI>5^g z+rnEomMD~(r-ck*#Cv*1k@#k2$iKKMR}8&4Cj0+ZWSt77s~dh$&;cJbr7MxN9kpx4 zCW}F}gEvwW#;l2~5lL`lcDIPKGn02O3lAZY5BrAIgqXqQR=`M(|Hx5kbBen=#fBJl#J;{vFs7EL)qh= z+9NH(1`JhtsESP8j<_KG64X9b#vxh-xTRLM60)Po)6C;aTRjV-qe*txd=LApKS_mk zTXYL9B1nLBLNtz1#AOb8&5YVC18PJX^&`{+4t=uP`sKlA1t*~DG~1p0-qD1HB)o_C z4(3xc?~K%v*V%k~gA|cmy{@4$LZJ$fz8lt}<{Uy@8oSDrcmz9U@bn}8q@TOCS*{)S z86buE*V)^Hs0=_8W~f)hDDP^ylr(LzDZ&wqs4?*YuVZ}gkc%~VEb;c8E$7WeW^}C9 zO2)HU@d+Ao`}v_Sr*F-D;WQo!!52dOQF*aS#X4M(;yRc;t`_Ou#J^a_Y1ntc*lJad zrxXR7aIj<|H^5z5xZ$L09UI=&N_%!*QoCPtK`J`bSVJ}h+RNX19n^*DDeAXD=src= zJGBCy`-27*(nKz14gPzT3}Np4>#JpW-HR=Q`(o$SRX_WCU*8W0;S5H&=Wa?&XVI;$ zp(-i@wuwn)B;hJ;9d<~9(a1hL;kV7KW9cjCOK84W^Og_0Z%#OwgaxXU%sH&R*Jl>*E@Mt6PsmAxrk7CX>daR13lR$M6FyW zUJ=92pl3-meF(e_$^aj{&4y~v_;2j+U#mRZo_lt9E4$TqbMX(^k^Jq^uGvpSX^{lQ9(X54ejt! z!Tp(pZ>S}HNE&}z=f8y7CD^j|$el}F+H@ObVehCEs~>|&*Ou;q(8xTp54ZjrXYAcp zqNl%jpS+_?J!4sYp=MsL=yXTz;0c?x5O%4GZ!DX{`1_$D=kgfdV znT%7cFqL8;IxSa!DumOaljopi=gyOCT~fGHS^#VnU3oe@w#fd3ZtFvWSTr5A$&~-E z$q@H6U`M*3d0~4sEDyYZNr^yYpm88ib3f|xdh+)x=VK^1MAW=nBVa!HGeC7r*L6st zI_>XBi!cvh4p=>Yg3R4k!Yy?}4pCl|y+jsp)4fhmSw11PoE5z%Z#RIOMxj|@k%D5% z%I_l%7(tWj+3%F_&f=YKB`yIi!}&&CN~8P4;t=8v`Y>1zCdanqMz{(9FUMaN!C$47 zs$jc?;tVh|d;WlECZ(X&f66ceyqooxn{3eZzLQm7rwrV5da&Q>=XO+uLs`0AL!jLY zQHj{>HHq|@31*G$OdT|BdE-GgZW7z8zn;QSq82Vb;xCgXSD#IHXO}o z(Lgli*YeqxYIQS-=k`bHTZe0^OX_*qZYsSumw!X|R7%WjR{)<4cI9+lt#8^QwpZqM z9BQ_RN!~>%EQR_+WaN=jB1kc7Nh;w#;ffk$IJY&kRob@H0VHfU62OCC+(7F#XlEcA zzi__<@SLR6+Ls=@p1qOa@qg@^r_DPTdHEdbtt*C76m-Y2k4=pwlWd7rLS?%94&4Yp zDw}GwvDSDU?kc()Rz?^X*1bh)WM=-wPmFBw6*daBtuW5|fykNE;{KAX8&GoUqfjRe zO0u;&gT2*Jfxy_#$aPdOJ_!Xl2YZhL^J#>BOGdEq!7xsGY<;5d_984_RqFx=5Mw~6^2Y58D2|x6WNhr z+F>ajZM3C!DcVzWGM%?00=-3D3{~y~?on2NStYEyUIi!{d)1^X8wpJm_Ly79beRVP z>cB(BFa0g=-e~IW=?bx&X(rQTFL-NC!K&~cC2MlNtTJ=k@$g^nHG+4{*<_H$dP=EB zE>uRMa2al>qDCvOb1fKEA|#TZ@4UWXcCP&IGI!;FH=n(2KUiSuPR@Q%GsxK{}i4dn+0qX-IO=_ID zrJYvTq5Hh{#~hcN&ICNMGk|5gYxn2B-jcpwW_@yTQ6e`zMs@sntxpRBV~qc_H;!t= zyYLEm4^YqEr%Z2gKlhz#$CPeI%1WsYZ!xCKy9V30s<=tlfAJ#QiKJD01wt*9CJfF!JkofazD@T$C*@9!A?+m&Z_zSh zO6*Jxg4-$9U&(webMIY|@YUC*#J8g@bKWWz>-)9M6lh5={9ZZ*M(?!58nG^;t{3vt z!-)61e{dur!u?pdR!dz54qGF}Ftn1oOL?$?(tGm-jnIc71u1e!Ei1FL?2A@Bk>)sx zm$Kzjc54yXAIX+n+|@z+SugfTBqUqH2G)4_2JdFXL@J``S_P2cz<@{8uUPJ8nHkQxumX;%39%aYP086fv8+ z3H1bkS|bgsP`IRpGR?oijgYKLAJZ!u1+^CFtAI}=lr)aYU27hJ*r-V+Y&;)Pda;4o zW~z(FnRj+W&TjtUO;KqO)ig?|rUG*U-mvN?tzLo`%ITCJ`fBi`?3l7+lO^mlH zlB~YLMtfjOXN{)n*Y`!o!GFNpZT_-})$)M&z`D{5v*ki6$;Tc&ZNs**YAT<}lA}5( zzv<4uGP12N@oAx_5wD7jdbZReX(O{MN_XJ>qenP8Dc6mr#5fGW&FF`oY@1eko#}DIk3`O;W(6=y&`v!!NZ^6j(yYGBX4%1)&kbb;UeBlI zm4z6wSo@GjQH1&2(G%7J)alTfoSH65_WdL90soqP! zO5bl%t=jP)&9!BNWm;`-i`||g7%oV6U;ZdTOl%#!RDKPFad)iKzsrE4Gr4XVrSPQsimgN2^uVHfyXW z1!QT!jOCC0VfD!V(FfkwrcKyGrZhoYs8D~~_LLW0D)pjLQ`+S9ZjW4bqJ$&8!tJ5NLQto>nx8guS9KDZ~3Qg7X zxt7qZ?kV_vMzAS$gM#$|@S(eT9}hHwNzdLee-r}M&GpLng8Jr8j2=Nl;H1{UJVLJP zm?LDOZa`(}*kFJ9nwYSrG@Wn;L( zuJQlQw|)NnD+^2E_WQJ+4^!ak#YT}W0HGZ9uQ2RTA#x4oE^EQ5{$#*%wC9(4>zF-( zl72>!egiObg}7Vy1&nzh*!trJ)GmphxH3{1gc38x8J8d(caE}=bDS6rAw*b{&WKxh znu}M%bs9GIrk_G1q-(741Vh-x*pr$@rX<<10GRt5uRKRq$Hu7|a9jZNE?2+JOTW~u z-hmvGq-#Wg-Z^3(-niUb3GZzPD1`;il$Y9Zh-p;u-W)o9)} zp$)tqfzg$AGgD&K`+?(x~M>~=PZutO1)^@O`mK)$>`aJ-8~fZItNBA zWSw1L5_xN3Wrm&x!2#}zXLiBJMmzClrX4;bHHdQm8P8I^Xz6-cz&ki)4Kl+{x4e#1 z>WHJ<^*p$D=<`)0W^I7hUb=hi)^5cvRON7D>o%3@$+}s6 z9_Upa&k|tKO!W#wWVC*^+&~&pEQl3pX-^fYJ!Pr#=b7uMBJgw2hG|NQSTdk2 z?Mj?XN4dH6<%n`D*D{qDucEM3`{u$DL76aQgpILk5 z04nVth=6^&VtTvYeU`47&t37a3)-*e${<=hY-R119Hi^DVsgub?N~jq@d71FD+4NZ zv@O?mkKAXv@&yT92N8SeO!8p6s}z;_ByCia^;A>#BL&wa&DDRJRRpJQWW0kmO49Il z#Lj-YKCg8F@D4zsD)D_m@YE(aM;q#QR*%I;M5)ml^Vi5e{m!vFtr&JmAV2Q{tKDn~2YqdAVu3sure@k~^DOor5@5T6~`JDowNq(;DQ*gaA-;j50$zlZ~roKsaTHLTu5B*JBNKn&Qf@%hz^!84O` zt6uS}P((9&4L>+(?QQNcn)j@R>I60&3wtsDw6yor^5QJxdYJ8QL-{AQ1eX^kzFc~j zFKP_(5(bx!T)g*q&x{`;vC<%9x;R6=5p{P`LJOdKe!2INgAP5g@nyYiuE zhJtq2bx=zTG&?3qSy_|CB&cae`Pb#mYL1bWvIFr{)9ZX<4g6ATbyz&-a0$%hJ}`TI zdnyNm?8j>-A(x3L5Z$)GFd2&LNMuuiZR}Aitlp~ivMjo$X*){r^Q7`d;IRBz{%QUk ze`@-am?fnk;dGMy&~D*Gu{9lChzm;$NUb3GnX&o8Nti2bAf8b#9UjF#Tb_q3{b}p2 zhZU{k_PeATWymASC4_rxu>s}{d0M9J9o$4l?y>D_(vjnA=XlA;JtEJ#ierQ7Jvex; zjdw`i<)dT#3Q0F=YR}(SLKd4WtOLfOQ&-l5trC&Jti>n z_eHx=Kk)lskWZo0>_7>9lF~wOE8*<>N!Pv6u6#%LQjFEi+iiHe7)b@~Q09x?kzw`~ znU?F9qQy=gD;}v<;R$MalR^*kAohhPae+-kSGxUh&b747CQ4sRXZ(5w$#E1oINE&r z;!t&8c{R&i0Q3>M8Ljc@EDhYs{5>P~)luxc@%?>K;m5T~pgLggdXG?blD|A}p871=>$@BxRJRx}yX7fvi5$D+0`Q*3 zS`@1-l6FRVS(n9Xh83nff%YM^YZ-<$A+_;bt|Me&QT$uAPr4|}4=&VAsKx&(Rtz&l zfXA839n~V7&JuuiJID6<(aKAY|0`#9%dO{*)5qWRQ|>G&ax3ERgv@7GoY}0Yb zeU133sWq97DDgSx6loP4J{w}`qh_tx?{RnT<}M8y9-l(3^>}P;@|V_=tKF`c=vVwv zP;Di%*UmPUN{OHE`ZXj^NQ;=gGam+nE&Uhe+#Dda%nJTt)M{C0scYO_A0e7>p{ku_ z=3-tX`KfP6vztmh6%<9)bTf_VoMzHc(0jd*&By2&Bd zE@=Oq(h}M$g)J~!m;L7+NlI4Rq*zETkQ^Qj&XR7tgvO;%RYeU?(5B_9_8tHWLr&CM zla!U1(=Rn39sx!8qad$>kb6r@q0Lt{Z8U|cY`$PADW4UWO?R8<3}fwPt3rA6gn)02 zP^<4MF%AKL332U2oxP+7FY}hwzy_Xg^&1Lb`^p<_`8)YwVrC)Bj0>1;U^Sfe zW)KzTC%OZCZl^{7KvOg+MQ z33vnv^<}V@e7v))EK-YP-^&ZCZSm;$>kswdRvZ^XJzJNEXv)>ES@4K)UG-;dRYo>y z$RNv|`(~oKlT)@5xe5#ihpQF4hbCd;@f5Gpfb%dC7>)4S5PDI|$D%j17=GdJN|BBQ zy`HX}0V`hnGzK%PrCqMXsYJM&vc~Pc$An_@qX452lQ(g=u;})hLd|~szLH%#3Z=8} zot8f+Gu!|86dNmp0(158t6q3FReE5E`rE^nd!c7<;hpZ*L=3Q*U)gXC)nahwM3~Rq zpG#00{u-%asRo-zBIT2eN8@stL_eIu0#fncdW!_ZTQIdyr&Z?>s;j%lEZ{Pcc3EZ) z4Z*JaMOKIRR$mwsN=GOKr4Z3av@T!H<-b+SO5}lbUc(SAh6>85cdsAy&6NE zxWLE7X|7M&M{xQ4v{#Hp4TWK+^!#AFdc>=Ew>(m!Y7Wj1Nl9KgOfU(c)U^tyxg(b6 zjg&6VyK8++3@T}uH7nv6WX&j^;9X__tXtlk!8=>p{v+03pwz+Diz>aljX+-|VAqxA z;7?w(ZtykI^a07spXEl;gY3JLkMiQ!g3xTNT*=iS-krCL((m>#{Vhi7xW1?HF1=`O zM_UtnvT7DK4hvv|el`e%3rT zT{06B0L5Pn^7m=msVuBKi$FRpN0xBX3%hoMD70;##vY$lZ2Zxu;ARJN7=at-Y`Vq? zkd@*zqcqE8V~O7Sl?P<;!yww#%lcYyFhn-5tMS?D`noSfXJYc{@ajp`K1=7P~p#O>vh&h{Y8r(@w~{^TpmML+q* zdeK+5t6uVz^`eh#XRYKj%jIW}>7tHe=Pp2pQ#Ga^N?)-nkD)n0gVaJYBe5v!MxpFU zgd^@j?dVuHtM^|fYB`a|6Xy($3f}<0^6UA;GUga=f3y@2bd>4>Qsou?&QvWTwP?Cg zjmMhZbG5#9+Z-}E-P6PLId0G29|V0k1qGTF>R@Zuxag#s6I=v5EAS&QaVKqG)4Tpx zPky(@b+$R6gQd`Ii|o1SnXE|=Vyui_soB=ZWL(I*Ue*BBq#V5`Ni8h$$& z@f!R^P}(fJvEZ|UN+cFNVwje0&JpjZhfR=+HQe9$Bx{!Nht+%ezKuXE*UT!N!{6-( z&?_tyq(77icgE3~@ZagQ;lWkK@5|-u76|pu(pnau2p1U|C_a;YQj5(6VsT}2@IB#w zPF}Ks4(wj?)oEE>1GtNU=2e-Tr}5dnhdc3QH$R_lPTB;iOFm=8Q{|X`!WQoavLW&n zls0AHjd$>Di=g{JY7Nd*uU-lXy$~ z!`IGoHk4!sU)t*y8}lmg_h#7_h=8_8^L7N8e}#zAi*M#&jCxm>cK8IG%+&ixn#x|c z40a|?1uqsPuSvj*`;pL}3&6^Xi@H?vd*b=W|7rd%m_Bz?&UQ>uL5Kg7Q9|x~Ji41m za#5sZ^#!D};W+YV{dw?pKJ+o2C1{`f*8c~%`5IFk-p`Gjgm=^A<15CcG_We*#9etx z${lta88K6nMo_mlj_btC*F)NiSwYod7(M8}_BK_+q2 z7yFpu(}2fiA@2Dhr2N_{Td+M5rdqV`O*x0NW{pr1lZyRCIS*fRpps=a!|?Q$VloVi zf`93ydc;F+V^9HT>n5n?{K;yDiM6e_;yRqpps8RX)6K&e@%G;8aBA>3T^1B3IO{x{ zx~5+(iEcqZ)Hq5H-VZ}yLYe7|L%-zpmsQ{a*8qIVI$S#?s?U0g&v`&#_NKV)+rlk0 z94O9&G*x;r)X1}sD6Dm$gcA%)VVTR_ewusf&Yiq>#?}zOuC+D&;Tf8^S9hY2i>9)p zHQo&xGoq{`SL7@p?8@pKhAoMdMk&OY+mgtt2$BHN5+*HqjdTkvDZRAPCdex?+yw)O z%sun|No#MMwF_fR&AiP6$SfB+T!Q&q2=BD1x=m+)i7%Jmi8E_QF}y_B7ex%qN8A^`is{f{ zE@f{kb-FWLa@0-upZ;dC|pgjVPoHqX5!GTe_qr(!5&<~k-N71q>&7Pwm5eL%X z8~?`S|0MUiOQ)Nx)jIF3L|F}fd-S&q?*PP(CX}{M@{-0K(9|d^gOiK`Y~df9>Z2)MBH2>rurL}=1c{2PtD6y=SCWcb zEc(S(Fc^^noJ#-FLB|q$&51{P?$}fMbJMGS7P^y^c1OejF6%t~!bn#XL&tP9#mt3$ zk}#zlPp=%X9EV>=t9*WweJ#fgUOCL;=UhuO&|uIdxF#^uvF7zRPK;ep(G$6pMBfIgB`fz@- zto|tz&|agd(>#TD@l6tQ33zZKB=sreYDEE~W&PU@zv_e{gt7|(OCYT7H4K>eefAmt zjQU-f4W}WKol!&>cP~OIpxQq`RAu{Wr0QF*$)~jowVKdewC#mxvUEq;uC0S3(~vLC z8(>9&k4(bfcS@H#J29jN zCUMAqIpNa>S?E`h;T)gJ4xqxhj>NOF4~MMM7H?%gbIwLX%Nn<#V4GC>gM0wv;m`}Xh$0xBMD;5_NNs;z)(sEQviu=DIX}+J3Pmx+QrQ>|JI<`r zwfK;j!6iLd!mIzNie>;AI_Q+ZM_&yI=EA5qa!*S9lA4Ko2-HT%3=S6}WZtt$R0b|| z!k#O@Q=QM20O$!ywV0oJ6L&bZyL0uUha$DWHOxn+SVg=`IjB-qHyNG1f3D!E4E;DG z4(OKH(CCVY-jJr#^%P0poRAWvd%{DSF<3Y6oh)a@{2C0S4n8_T&F}8HBrXCDib7t3 zAwWZn9bb_vml<%Y#v_nV%LkJGl-qpW}2-f7YIE9o= zrkK+Zwidl-Ip>wQ58i%Y+_+Qugt6$hk|T5S=`MBck64ww8GcJwf&Wvli6UHi;fIfg zX;A5eIkN$wL!M3;8eNKGJmb`WHDnlOb*kLnKSW%qwj|knhpagfroG5!vm*;%AJ2%q z-arN85;f3aFW~^PfuxS7utSCCd_`pG$wS~*`kkiCpNt2N=+QPXQ#-*qI0;96v)NYI zNCF_x?f}!+g+%tINM{ozh95H>#(ym%T%)@$XNrU}$~sIz`efA|f?MkV0p9uMO}nEe z49KkBNe5c&*O|gfZ^-dYa>IWm0Ez24_AME;eS;~=Ob)-nlSM#;&L%4t5D8xR7PzR+ z87$N|-98eIN+zQI)>R~uo6nnlX|YWRc@gv-q^v_pu9EhSZC=h%wC!#Qt@f5OOUPWv zl&g)1vKAppc&sEvgrHRt$dg|Qs7lPq;TqNR%XcifLjCH!EV*MhAMop!ibS}iO|~W3$ot5%%No666}M=2F?$!p6m3^DAe&ziwE4@ zV^J#I9>VicZM3?Yzb2~2KZLn$xxs!a%k0O<{N45UwNV2<`sDur{uQHl{U2bvLwa~b z8{BI{*fjZ#)WTp2{^#E9X5W|J10Fw=b}9j-uHr7Glz-hUE`wy_`;jK$A+FYh5SHwCrX;jg{yR}Id^AqU ziuWvuO;=790>{~Z;T_5~Q3w(14WizVp*Ph52)p3r6#v7b15W z7eiQrtNuZ1YBWmoE3d)LjWV&tRqT`!^l8gI&T@IH)4dyk?g*zB8~CmbzN9s?i0^1v z*y=Ks{p47wsYs2`HhblK+u*x*P!Ht$CE$3|n{fJ^w`bumH>GIcs|4aaoJ@$cqPYVS zAnpF7G@~~jO-WQc^PzVV=9-moB$0~tAm~%xqUi*4Q1GpMt@X*!gsD|!xh3Uyz&!h^ zbvQ0VZSb$H<}2Ky;;$8;+xPc$4}X^}{Q^Di3-WiCT0L2LLN<Ge(2DgXQggDl%K?^iA zpdJBb8F|PVD*B^cmxxB0MN_KrZaiWf<@U_JkR_?&@CKkX zs?kJvOlnkMgE>NgGMNJ2VRH^$E{WJLeawH|GOZDO6gb%Ma?9`SP$O4Vm zC2cj7g&XQFk>JBELO<Za55t!JGrvkIJkicVomP;*&x?uY6K<3vxQr`Owa* z00L}{l0;fsM5;v?yd_HdwqWy{65YzHhy|r)B1P|;4l?EXLo|TgYqC0!<~So2`YgzP zE;U}n>b6O3zBpfj%|<3SG_UpmY^cSHrj{EBx4_fKpp|WlKS#|wTmNc9=V;-Fj(cvC zR&UnpG1kB?#t#zKZ)VCZ=j=ee%$BL>ArFMqYPN`Y6|yIqv}>>EShk4oH1r8aewnwV zeNPYELo~(Rj^OKa3iLIF`jDf)%LzTC)*s6+lkHh3^eLD5l&il>jXvbIogkpn>u(tJ zp^W*EXTFQI4)mI>$;lYsPQtxJZ=aTQqbg)LBfM%EVP|Oyo&6aVSY>%yKb`_1lf_$i zjDRO=$yf;dw>Ob8gXw6|vh}TToZg8ujfR=NL(ISw=A(>1`0{m2e%x{85*1I#?y-K^ ziYY)&DSn?p6=qc8<l!ku^!fU3q z6n&KT+UvSJJV$zj1KtWziFe;~nR3y-?n_9g=gRWalK-34eZe@2uk8H4g8n_!FZ~}Q zXv&`=dmVbyLH*{+T= zSFIa1BkD`0WzlAYsp}BSSMVu%)_VOb@=MolGzD{dyujI3ljfF} zWxvOf9JhREi!*zqxqV(e+l34~2nH*k+loBQl)f;BfL6W$iotUCIzrv8yK%jS7@5{W zdR;-nNxa&B+jk=o{EZ~Oq{=>0-JWp-uiCdh={M%_dmqkI#p`*zPW+42d8GMT^+W7F zVnwfoJtmUMpB&K}$2K^_j2A8-*e5vEu?M=JQUwKGM6|R$!L(hoW`DPqwPPI%Lz?sc`3(lO1H{-UwrX?deJoA0k%U->Mv(%WMayK4?&ZyT^&F1 znoLSOsf9spQ;W0{rVa~hVt4^E9j<`H;XEkRU}DFL$ANi z=6T!Bm&s72dZ-Nx*j3?nSc%A;Pvw}VsAo6vT~-@8M!FGb zOiLAYR!?VyY2##1f)a|-|7bp@@suVa=y86eLg?7_MDnwL@0r>1k)Lx4&OvS3lTCr+ zCU@?-QFoSK^PCejMUTnUS>B6>1N$MYp|809uxM}st-*6b+RwDAlbiQa; z%Yq&kq%droI_ub5kE*9-+CZ8pco>@%1`tkm20J9${BYS$D%$zLA9f`ChHh%5lQyZrT+(`kuHy__{gZv^Ge^)C$!%*} zsyo3wF5#momZ$(Pmv>C%)bfkm@f3dU7LQUbJb9w8qY;?|Kthoq>pR)y6CXo!*%ddh zV!Fk?GIs{dPE1O$(#(P}U1fcX_xNAOHD|Ux>Hk z$Evt-hLNbJtV8?zD*VofHz!>yVZ)6~`1_S~-eokk~s#}8;ME(P_fM5+6{Pbd!!ILpV43S6bUS?GiR7FzgN>0i)$-?H$)p`NJ)~TB+SY(T=sF1|8mXWChRS@ zq(-V@0^vWg@Dy0SQR1#XA_de+T44i7bWUxzB*ZTRWkNhflSWTa>SPD+F&ENQf(V8{ z3dX0`8!5Pm1FZb)u=C`nw9M&u<#+e=?&q-lX78NCemrOIuJHBrUW7$HeBt^{*C?94 zzR?-h1}ycqF0tS?6Laod}r zL1;2V-KhS_J)<(LYso&l)&t88ET~0uu|14wNw{-|Cb0p*xjLqA!m_nv&@0%aXNeJ7 zdn>a(MPs2{$TZ_Uj8!Q6fb{4}VG9;qk@Rypbjg%VeY=Jc8p(*y^NqCK0_!Gcxp}Wd zi@m}t?@))w+10_zS>zF^&FQ-N@(I6BsW-Bk$C343}BIL)086MAu-!2&0r6{ z75d#J(_JuldVyWmytaMWjUcwh?VilGCF$xLB_kfIw}4+K%FZZS=g-GIcYnP0cBb~| z`K!?Kon$|x)bjl?CYL@R)2;V;$aQy#o=-E8`p|BvWvLwb>w-?)Bmik8py^ve6aj$x z$8z4oYO$mdEaAp7%Tj7(y)FR3k?UxMZ6pWTFn`(a>ds>-;0Mr}t$V=;MFD$8iuirn zTB6GV@46`WCYN=0^iX-W3;*s;YCPOEnUKaAZ3YuRl1&4A@8+Tw(nO{i1k39?3{CdA)+bv_8{Wt%wzo8ZIvJNoR8(tTj_Zc?lLd%)j zieJ2Ve}T*bPf~peJ*hhH*m))UrtJC{ttbB0;S|orm%2=&edSi0 zpL-v_7cSi86&&Ahyo)z<*StuR4@_(>kV+A{cDtT6^XC_+z(Ka*{hYEpMG8>kS?qSj_*F?! zD!1<#5ZdRk=U^!MAH30c8qPD8bF(3NsRdQ6<(H*b0d8OpRq_Y;y)mN)RVDl`bWu@9M6aI{4TqbWLSgZrqqnw8-u>H zp#d4OG*hI<$dA)~TH^&~-@Jj+XPLxBksR?~LULMi`@E<%JWE4H(GX;I2(r~Q-Zz(fHE-R;tIcJv4C zx33wS!d#-9jF8ZXO$Va|{xMnu!)}pZX$?wqgu7qcdfmf@+gxvLaNr<7M#QWFCc^E{bwiSJX zN&EP+tMc!v?t13r?D%KNCLDluDT*88c3s%o_dUM(e}oRnE~7ppP?E6P30H>U+E<*)*5rv$nkZpGAK4;rbwW7O@h_aZZhzgqst6v98hF7Xd@n{ zcba3{4%LSiT!&X@%`&+cESaORc4pZ=ee?`=+iRRD2zm_ZoH6+ZZ(Y{QVAu0Xg1@U> z7}S^Z3Bc^a3XiL{31Qe6kH}h)G~KlrGa5?>v{$T4aT1DV%4hm=4;A07=uwwplQPTxvSUOH;6ffJs{4`hRZK|^mV0;*wn)EM7670>^cUsAAWVB-juY)_eIk8 zKNRq^7O^)al^%`$aGJ?5)hJ@Qj2k?TjY9x#H8nAAb3=DHZQsc$;vX>M7;tVLUD83~ z_fo`ug|fck{&-}zxbX1;i&5+b%T9eH)V)E+KCyeBH$D}1e{Gvx6+gW&5PuF>k;(*o zMPFk%t^;YvgzDPOd z9c2JwIFO^zQF2onvp2;>>_s-UbfEc1aF9MX8&fIcnGBdT{%00Ko?7=+zrga^oYwGX z#ZV`r$NA__XqkL8cQRG8a)~SWWmv_V@G2vjdss~%

        +zm^;usc4IvIq8`vH1LX@ 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∓)N=7I^UFmI;r_1G0$r3Gt^47?{l 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�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≀*Sy*zui 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 From 78928484c43291ac2a9330b9d86fbb1367af05dc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 30 Sep 2024 14:59:13 -0400 Subject: [PATCH 437/510] Update README.md for devtools --- README.md | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 96ec65d1..502e1d28 100644 --- a/README.md +++ b/README.md @@ -3,17 +3,12 @@ Kaleido is a cross-platform library for generating static images (e.g. png, svg, In short: If you `pip install kaleido` you can use `fig.write_image("filename.png")`. -It is designed to be relatively straight-forward to extend to other web-based visualization libraries (and other programming languages)- see [BUILD_AND_RELEASE.md](toolchain/BUILD_AND_RELEASE.md) for that and other developer questions. - -[Here is the historical readme](README-HISTORICAL.md) -

        - # Installing Kaleido The kaleido package can be installed from [PyPI](https://pypi.org/) using pip... @@ -28,8 +23,6 @@ or from [conda-forge](https://conda-forge.org/) using conda. $ conda install -c conda-forge python-kaleido ``` -Releases of the core kaleido C++ executable are attached as assets to GitHub releases at https://github.com/plotly/Kaleido/releases. - # Use Kaleido to export plotly.py figures as static images Versions 4.9 and above of the Plotly Python library will automatically use kaleido for static image export when kaleido is installed. For example: @@ -44,14 +37,11 @@ Then, open `figure.png` in the current working directory. ![fig](https://user-images.githubusercontent.com/15064365/101241780-3590b580-36c7-11eb-8eba-eb1fae256ad0.png) - See the plotly static image export documentation for more information: https://plotly.com/python/static-image-export/. -# Low-level Kaleido Scope Developer API - -The kaleido Python package provides a low-level Python API that is designed to be used by high-level plotting libraries like Plotly. Here is an example of exporting a Plotly figure using the low-level Kaleido API: +# Previos Kaleido API -> Note: This particular example uses an online copy of the plotly JavaScript library from a CDN location, so it will not work without an internet connection. When the plotly Python library uses Kaleido (as in the example above), it provides the path to its own local offline copy of plotly.js and so no internet connection is required. +Kaleido was previously arcitectured to accept "scopes"- they are no longer necessary. The old API is demonstrated below but it is only supported to the extent needed as to not break previous implementations of kaleido for plotly. This API will likely emit a deprecation warning, and proceed to be unsupported. ```python from kaleido.scopes.plotly import PlotlyScope From d8b458c0e8ccc6e5c961a50aeadcea22646d51f5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 30 Sep 2024 15:10:53 -0400 Subject: [PATCH 438/510] Convert setup.py to pyproject.toml --- src/py/kaleido/__init__.py | 1 - src/py/pyproject.toml | 34 +++++++ src/py/setup.cfg | 2 - src/py/setup.py | 184 ------------------------------------- 4 files changed, 34 insertions(+), 187 deletions(-) create mode 100644 src/py/pyproject.toml delete mode 100644 src/py/setup.cfg delete mode 100644 src/py/setup.py diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 8dee4bf8..e69de29b 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -1 +0,0 @@ -from ._version import __version__ diff --git a/src/py/pyproject.toml b/src/py/pyproject.toml new file mode 100644 index 00000000..b05fd620 --- /dev/null +++ b/src/py/pyproject.toml @@ -0,0 +1,34 @@ +[build-system] +requires = ["setuptools>=65.0.0", "wheel"] +build-backend = "setuptools.build_meta" + +[tool.setuptools.packages] +find = {namespaces = false} + +[project] +name = "kaleido" +description = "plotly graph export library" +license = {file = "LICENSE.txt"} +readme = "README.md" +requires-python = ">=3.9" +dynamic = ["version"] +dependencies = ["devtools"] +authors = [ + {name = "Andrew Pikul", email = "ajpikul@gmail.com"}, +] +maintainers = [ + {name = "Andrew Pikul", email = "ajpikul@gmail.com"}, +] + +[project.optional-dependencies] +dev = [ + "pytest", + ] + +[tool.ruff.lint] +ignore = ["E701"] # E701 oneline if's + +[tool.setuptools-git-versioning] +enabled = true + + diff --git a/src/py/setup.cfg b/src/py/setup.cfg deleted file mode 100644 index ef9e2d18..00000000 --- a/src/py/setup.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[metadata] -license_files = LICENSE.txt diff --git a/src/py/setup.py b/src/py/setup.py deleted file mode 100644 index 830d76f2..00000000 --- a/src/py/setup.py +++ /dev/null @@ -1,184 +0,0 @@ -from __future__ import unicode_literals, print_function -import os -import shutil -import setuptools -from setuptools import setup, Command -import glob -import distutils.util -from io import open -import hashlib - -KALEIDO_PY_DIR = os.path.dirname(os.path.abspath(__file__)) -KALEIDO_DIR = os.path.dirname(KALEIDO_PY_DIR) # was # parent -BIN_BUILD_DIR = os.path.abspath(os.path.join(KALEIDO_PY_DIR, 'build')) -is_repo = all( - os.path.exists(os.path.join(KALEIDO_DIR, fn)) for fn in ["version", "README.md", "LICENSE.txt"] -) - -if is_repo: - print("Running setup.py from the kaleido repository tree") - with open(os.path.join(KALEIDO_DIR, 'version'), 'r') as f: - version = f.read() - with open(os.path.join(KALEIDO_DIR, "README.md"), encoding="utf8") as f: - long_description = f.read() -else: - print("Running setup.py during source installation") - raise RuntimeError("Not supporting source installation through setup.py") - - -def list_dir_flat(directory): - paths = [] - for (path, directories, filenames) in os.walk(directory): - for filename in filenames: - paths.append(os.path.relpath(os.path.join(path, filename), "kaleido")) - return paths - - -executable_files = list_dir_flat(os.path.join("kaleido","executable")) # list of relative-to-root files to include - -class CleanCommand(Command): - """Custom clean command to tidy up the project root.""" - CLEAN_FILES = './build ./*.pyc ./*.tgz ./*.egg-info ./kaleido/kaleido/_version.py'.split(' ') - - user_options = [] - - def initialize_options(self): - pass - - def finalize_options(self): - pass - - def run(self): - global KALEIDO_PY_DIR - - for path_spec in self.CLEAN_FILES: - # Make paths absolute and relative to this path - abs_paths = glob.glob(os.path.normpath(os.path.join(KALEIDO_PY_DIR, path_spec))) - for path in [str(p) for p in abs_paths]: - if not path.startswith(KALEIDO_PY_DIR): - # Die if path in CLEAN_FILES is absolute + outside this directory - raise ValueError("%s is not a path inside %s" % (path, KALEIDO_PY_DIR)) - print('removing %s' % os.path.relpath(path)) - shutil.rmtree(path) - - -class WriteVersion(Command): - description = "Write _version.py file" - user_options = [] - - def initialize_options(self): - pass - - def finalize_options(self): - pass - - def run(self): - global KALEIDO_PY_DIR - with open(os.path.join(KALEIDO_PY_DIR, 'kaleido', '_version.py'), 'w') as f: - f.write('__version__ = "{version}"\n'.format(version=version)) - - -class CopyLicenseAndReadme(Command): - description = "Copy License and Readme files" - user_options = [] - - def initialize_options(self): - pass - - def finalize_options(self): - pass - - def run(self): - global KALEIDO_PY_DIR - shutil.copy( - os.path.abspath(os.path.join(KALEIDO_PY_DIR, '..', 'LICENSE.txt')), KALEIDO_PY_DIR - ) - shutil.copy( - os.path.abspath(os.path.join(KALEIDO_PY_DIR, '..', 'README.md')), KALEIDO_PY_DIR - ) - - -class PackageWheel(Command): - description = "Build Wheel Package" - user_options = [] - - def initialize_options(self): - pass - - def finalize_options(self): - pass - - def run(self): - self.run_command("clean") - self.run_command("write_version") - self.run_command("copy_license") - cmd_obj = self.distribution.get_command_obj('bdist_wheel') - - # Use current platform as plat_name, but replace linux with manylinux2014 - cmd_obj.plat_name = distutils.util.get_platform() - - # Handle windows 32-bit cross compilation - print(os.environ.get("KALEIDO_ARCH", "x64")) - if cmd_obj.plat_name.startswith("win-"): - arch = os.environ.get("KALEIDO_ARCH", "x64") - if arch == "x86": - cmd_obj.plat_name = "win32" - elif arch == "x64": - cmd_obj.plat_name = "win_amd64" - else: - raise ValueError( - "Unsupported architecture {arch} for plat_name {plat_name}".format( - arch=arch, plat_name=cmd_obj.plat_name) - ) - elif cmd_obj.plat_name.startswith("linux"): - arch = os.environ.get("KALEIDO_ARCH", "x64") - if arch == "x64": - cmd_obj.plat_name = "manylinux1-x86_64" - elif arch == "x86": - cmd_obj.plat_name = "manylinux1-i686" - elif arch == "arm64": - cmd_obj.plat_name = "manylinux2014-aarch64" - elif arch == "arm": - raise RunTimeError("We're not gonna compile for regular arm, ever") - - # Set macos platform to 10.11 rather than Python environment - elif cmd_obj.plat_name.startswith("macosx"): - arch = os.environ.get("KALEIDO_ARCH", "x64") - if arch == "x64": - cmd_obj.plat_name = "macosx-10.11-x86_64" - elif arch == "arm64": - cmd_obj.plat_name = "macosx-11.0-arm64" - - cmd_obj.python_tag = 'py2.py3' - - package_data={ - 'kaleido': executable_files, - }, - self.run_command("bdist_wheel") - -setup( - name="kaleidofix2", - version=version, - author="Jon Mease", - author_email="jon@plotly.com", - maintainer="Andrew Pikul", - maintainer_email="ajpikul@gmail.com", - project_urls={"Github": "https://github.com/plotly/Kaleido"}, - description="Static image export for web-based visualization libraries", - long_description=long_description, - long_description_content_type="text/markdown", - license="MIT", - install_requires=[ - "pathlib ; python_version<'3.4'", - ], - packages=["kaleido", "kaleido.scopes"], - package_data={ - 'kaleido': executable_files, - }, - cmdclass=dict( - clean=CleanCommand, - write_version=WriteVersion, - copy_license=CopyLicenseAndReadme, - package=PackageWheel, - ) -) From f303a4baa14b51e76eecfbad2fb8bb0746bb0c01 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 30 Sep 2024 17:17:46 -0400 Subject: [PATCH 439/510] Fix typo in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 502e1d28..8e88b577 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ Then, open `figure.png` in the current working directory. See the plotly static image export documentation for more information: https://plotly.com/python/static-image-export/. -# Previos Kaleido API +# Previous Kaleido API Kaleido was previously arcitectured to accept "scopes"- they are no longer necessary. The old API is demonstrated below but it is only supported to the extent needed as to not break previous implementations of kaleido for plotly. This API will likely emit a deprecation warning, and proceed to be unsupported. From 364f3ec050e8e74c404e354246dcf699e7da4d27 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 1 Oct 2024 09:20:57 -0400 Subject: [PATCH 440/510] Fix up continuous integration --- .circleci/config.yml | 90 ------- .circleci/config.yml.old | 416 ------------------------------- .dockerignore | 2 - .github/workflows/ruff.yml | 13 + .github/workflows/test.yml | 48 ++++ .gitignore | 41 +-- src/py/tests/test_placeholder.py | 2 + 7 files changed, 70 insertions(+), 542 deletions(-) delete mode 100644 .circleci/config.yml delete mode 100644 .circleci/config.yml.old delete mode 100644 .dockerignore create mode 100644 .github/workflows/ruff.yml create mode 100644 .github/workflows/test.yml create mode 100644 src/py/tests/test_placeholder.py diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index ac5517ad..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,90 +0,0 @@ -version: 2.1 - -orbs: - win: circleci/windows@5.0 - -commands: # all jobs/workflows use same commands - set_version: - steps: - - run: - name: set_version - command: bash ./toolchain/stages/00-set_version.sh --latest --verbose - -jobs: - linux-docker: # similiar to the one below us - docker: # machine specifies a linux vm, can we just use docker for the pull? - - image: cimg/python:3.12.3 - resource_class: small - steps: - - checkout - - run: - name: Install Dependencies - command: sudo apt-get update && sudo apt-get install rsync npm nodejs pip - - set_version - - linux-x64: - machine: - image: default # maybe specify an image? circle-ci changes them - resource_class: medium - steps: - - checkout - - run: - name: Install Dependencies - command: sudo apt-get update && sudo apt-get install rsync npm nodejs pip - - set_version - - windows-x64: - executor: - name: win/default - steps: - - checkout - # The following actually comes installed already: - - run: - name: Install Dependencies - #command: choco install git.install --params "'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'" - command: choco install rsync - - set_version - - osx: - macos: # indicate that we are using the macOS executor - xcode: 15.4.0 - resource_class: macos.m1.medium.gen1 - steps: - - checkout - - run: - name: Install Dependencies - command: brew install rsync - # The following recommended by circle CI, but it takes time, costs money, and may not be necessary - #- run: - #name: Delete simulators and unused platforms to save space - #command: | - #sudo rm -rf /Library/Developer/CoreSimulator &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform &> /dev/null - #sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform &> /dev/null - - set_version - -workflows: - 1-arch-3-os: # this workflow will do mac, linux, and windows without arch xcompile - jobs: - - hold: - type: approval - - linux-x64: - requires: - - hold - - windows-x64: - requires: - - hold - - osx: - requires: - - hold - cheap_test: - jobs: - - hold: - type: approval - - linux-docker: - requires: - - hold diff --git a/.circleci/config.yml.old b/.circleci/config.yml.old deleted file mode 100644 index dd41de79..00000000 --- a/.circleci/config.yml.old +++ /dev/null @@ -1,416 +0,0 @@ -version: 2.1 - -orbs: - win: circleci/windows@2.4.0 # The Windows orb give you everything you need to start using the Windows executor. - -commands: - linux_build: - parameters: - arch: - default: "x64" - type: string - steps: - - checkout - - attach_workspace: - at: ./repos - - run: ./repos/linux_scripts/build_kaleido <> - - run: ./repos/linux_scripts/bundle_artifacts <> - - store_artifacts: - path: ./repos/kaleido/kaleido_artifacts_linux_<>.zip - - persist_to_workspace: - root: ./repos - paths: - - kaleido/py/ - - kaleido/tests/ - - windows_build: - parameters: - arch: - default: "x64" - type: string - steps: - - checkout - - run: - name: Update PowerShell.Archive to fix slash direction - command: Install-Module Microsoft.PowerShell.Archive -MinimumVersion 1.2.3.0 -Repository PSGallery -Force - - run: - name: Install Debugging Tools for Windows SDK 10.0.19041.685 - command: choco install windows-sdk-10-version-2004-windbg - - attach_workspace: - at: .\repos - - run: .\repos\win_scripts\build_kaleido.ps1 <> - - run: python .\repos\kaleido\py\setup.py bundle_hash_artifacts - - store_artifacts: - path: ./repos/kaleido/kaleido_artifacts_win_<>.zip - - mac_build_blink: - parameters: - arch: - default: "x64" - type: string - steps: - - checkout - - run: - name: Delete simulators and unused platforms to save space - command: | - sudo rm -rf /Library/Developer/CoreSimulator - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform - - attach_workspace: - at: ./repos - - run: - command: ./repos/mac_scripts/build_blink <> - no_output_timeout: 30m - - persist_to_workspace: - root: ./repos - paths: - - src - - depot_tools - - .gclient - - .gclient_entries - - kaleido/version - - CREDITS.html - - mac_build: - parameters: - arch: - default: "x64" - type: string - steps: - - checkout - - run: - name: Delete simulators and unused platforms to save space - command: | - sudo rm -rf /Library/Developer/CoreSimulator - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform - - attach_workspace: - at: ./repos - - run: - command: ./repos/mac_scripts/build_kaleido <> - no_output_timeout: 30m - - run: python3 ./repos/kaleido/py/setup.py bundle_hash_artifacts - - store_artifacts: - path: ./repos/kaleido/kaleido_artifacts_mac_<>.zip - - -jobs: - linux_fetch: - machine: - image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run - resource_class: large - steps: - - checkout - - run: docker pull jonmmease/chromium-builder:0.8 - - run: - name: Fetch detpot_tools and chromium source tree - command: ./repos/linux_scripts/fetch_chromium - no_output_timeout: 30m - - run: - name: Delete .git directories to save space (skipping angle taken from electron circleci build) - command: | - cd ./repos/src - sudo rm -rf .git - - run: - name: Open permissions of fetched src directory - command: | - sudo chmod -R 777 ./repos/src - - persist_to_workspace: - root: ./repos - paths: - - src - - depot_tools - - .gclient - - .gclient_entries - - kaleido/version - - CREDITS.html - - linux_build_x64: - machine: - image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run - resource_class: xlarge - environment: - KALEIDO_ARCH: "x64" - steps: - - linux_build: - arch: "x64" - - linux_build_arm64: - machine: - image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run - resource_class: xlarge - environment: - KALEIDO_ARCH: "arm64" - steps: - - linux_build: - arch: "arm64" - - linux_build_arm: - machine: - image: ubuntu-1604:201903-01 # the primary container, where your job's commands are run - resource_class: xlarge - environment: - KALEIDO_ARCH: "arm" - steps: - - linux_build: - arch: "arm" - - linux_test_37: - docker: - - image: continuumio/miniconda3 - steps: - - checkout - - attach_workspace: - at: ./repos - - run: - name: Install dependencies - command: | - conda install python=3.7 poppler - pip install pytest plotly pandas - pip install ./repos/kaleido/py/dist/kaleido-*.whl - - run: - name: Test Python - command: | - cd ./repos/kaleido/tests/ - pytest -s test_py/ - - store_artifacts: - path: ./repos/kaleido/py/tests/baselines/plotly/failed/* - - linux_test_27: - docker: - - image: continuumio/miniconda2 - steps: - - attach_workspace: - at: ./repos - - run: - name: Install dependencies - command: | - conda install python=2.7 poppler - pip install pytest plotly pandas mock pathlib - pip install ./repos/kaleido/py/dist/kaleido-*.whl - - run: - name: Test Python - command: | - cd ./repos/kaleido/tests/ - pytest -s test_py/ - - store_artifacts: - path: ./repos/kaleido/py/tests/baselines/plotly/failed/* - - mac_fetch: - macos: # indicate that we are using the macOS executor - xcode: 11.1.0 # indicate our selected version of Xcode - resource_class: large - steps: - - checkout - - run: - name: Delete simulators and unused platforms to save space - command: | - sudo rm -rf /Library/Developer/CoreSimulator - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform - sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform - - run: - name: Fetch detpot_tools and chromium source tree - command: ./repos/mac_scripts/fetch_chromium - no_output_timeout: 30m - - run: - name: Delete .git directories to save space (skipping angle taken from electron circleci build) - command: | - cd ./repos/src - ( find . -type d -name ".git" -not -path "./third_party/angle/*" ) | xargs rm -rf - - persist_to_workspace: - root: ./repos - paths: - - src - - depot_tools - - .gclient - - .gclient_entries - - kaleido/version - - CREDITS.html - - - mac_build_blink_x64: - macos: # indicate that we are using the macOS executor - xcode: 12.2.0 # indicate our selected version of Xcode - resource_class: large - environment: - KALEIDO_ARCH: "x64" - steps: - - mac_build_blink: - arch: "x64" - - mac_build_blink_arm64: - macos: # indicate that we are using the macOS executor - xcode: 12.2.0 # indicate our selected version of Xcode - resource_class: large - environment: - KALEIDO_ARCH: "arm64" - steps: - - mac_build_blink: - arch: "arm64" - - - mac_build_x64: - macos: # indicate that we are using the macOS executor - xcode: 12.2.0 # indicate our selected version of Xcode - resource_class: large - environment: - KALEIDO_ARCH: "x64" - steps: - - mac_build: - arch: "x64" - - mac_build_arm64: - macos: # indicate that we are using the macOS executor - xcode: 12.2.0 # indicate our selected version of Xcode - resource_class: large - environment: - KALEIDO_ARCH: "arm64" - steps: - - mac_build: - arch: "arm64" - - - windows_fetch: - executor: - name: win/default - size: "large" - shell: powershell.exe - steps: - - checkout - - run: echo $Host.Version - - run: - command: .\repos\win_scripts\fetch_chromium.ps1 - no_output_timeout: 30m - - persist_to_workspace: - root: ./repos - paths: - - src - - depot_tools - - .gclient - - .gclient_entries - - kaleido/version - - CREDITS.html - - windows_build_x64: - executor: - name: win/default - size: "xlarge" - shell: powershell.exe - environment: - KALEIDO_ARCH: "x64" - steps: - - windows_build: - arch: "x64" - - windows_build_x86: - executor: - name: win/default - size: "xlarge" - shell: powershell.exe - environment: - KALEIDO_ARCH: "x86" - steps: - - windows_build: - arch: "x86" - -workflows: - build-windows-x64: - jobs: - - hold: - type: approval - - windows_fetch: - requires: - - hold - - windows_build_x64: - requires: - - windows_fetch - - build-windows-x86: - jobs: - - hold: - type: approval - - windows_fetch: - requires: - - hold - - windows_build_x86: - requires: - - windows_fetch - - build-mac-x64: - jobs: - - hold: - type: approval - - mac_fetch: - requires: - - hold - - mac_build_blink_x64: - requires: - - mac_fetch - - mac_build_x64: - requires: - - mac_build_blink_x64 - - build-mac-arm64: - jobs: - - hold: - type: approval - - mac_fetch: - requires: - - hold - - mac_build_blink_arm64: - requires: - - mac_fetch - - mac_build_arm64: - requires: - - mac_build_blink_arm64 - - build-linux-x64: - jobs: - - hold: - type: approval - - linux_fetch: - requires: - - hold - - linux_build_x64: - requires: - - linux_fetch - - linux_test_37: - requires: - - linux_build_x64 - - linux_test_27: - requires: - - linux_build_x64 - - build-linux-arm64: - jobs: - - hold: - type: approval - - linux_fetch: - requires: - - hold - - linux_build_arm64: - requires: - - linux_fetch - - build-linux-arm: - jobs: - - hold: - type: approval - - linux_fetch: - requires: - - hold - - linux_build_arm: - requires: - - linux_fetch diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index f8b9e8e8..00000000 --- a/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -repos -!repos/linux_scripts/ diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml new file mode 100644 index 00000000..13016a84 --- /dev/null +++ b/.github/workflows/ruff.yml @@ -0,0 +1,13 @@ +name: ruff-wf +on: pull_request +jobs: + ruff: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: chartboost/ruff-action@v1 + with: + src: './app' + - uses: chartboost/ruff-action@v1 + with: + src: './devtools' \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..e3fa5ec1 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,48 @@ +name: test-wf +on: pull_request +jobs: + test-linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v1 + - name: Install Dependencies + run: sudo apt-get update && sudo apt-get install chromium-browser + - name: Install devtools + run: ls && pip install .[dev] numpy + - name: diagnostic + run: dtdoctor + timeout-minutes: 1 + - name: test + run: pytest + timeout-minutes: 1 + test-windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + - name: Install Dependencies + run: choco install googlechrome -y --ignore-checksums + - name: Install devtools + run: pip install .[dev] numpy + - name: diagnostic + run: dtdoctor + timeout-minutes: 1 + - name: test + run: pytest + timeout-minutes: 1 + test-mac: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + - name: Install Dependencies + run: brew install google-chrome + - name: Install devtools + run: pip install .[dev] numpy + - name: diagnostic + run: dtdoctor + timeout-minutes: 1 + - name: test + run: pytest + timeout-minutes: 1 diff --git a/.gitignore b/.gitignore index 59d0ef99..9a3faeab 100644 --- a/.gitignore +++ b/.gitignore @@ -1,42 +1,15 @@ -# Py build stuff +# Py Build Stuff *.pyc *.egg-info/ +__pycache__ -# Text editor stuff +# Text Editor Stuff *.DS_Store *.kate-swp *.sw* -# Old, don't know -.idea/ - -# Toolchain artifacts -.set_version -bin -toolchain/tmp/ - -# Vendor repos -vendor/src -vendor/depot_tools - -# Build artifacts -build/ -src/kaleido/LICENSE.txt -src/kaleido/README.md -src/kaleido/CREDITS.html -src/kaleido/version -CREDITS.html -src/kaleido/py/kaleido/executable -# Windows build artifacts -vendor/.cipd -vendor/.gclient_entries -vendor/.gclient_previous_sync_commits -vendor/.gcs_entries - -# Packaing build artifacts -src/kaleido/js/node_modules/ -src/kaleido/py/LICENSE.txt -src/kaleido/py/README.md -src/kaleido/py/dist/ -src/kaleido/py/kaleido/_version.py +# Local Environment .venv + +# Artifacts from Build +src/js/build diff --git a/src/py/tests/test_placeholder.py b/src/py/tests/test_placeholder.py new file mode 100644 index 00000000..201975fc --- /dev/null +++ b/src/py/tests/test_placeholder.py @@ -0,0 +1,2 @@ +def test_placeholder(): + pass From 9ea2c6cc2e9c243c47c8e5cac34d624862e53cc5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 1 Oct 2024 09:26:49 -0400 Subject: [PATCH 441/510] Fix GHA directives for kaleido --- .github/workflows/ruff.yml | 5 +---- .github/workflows/test.yml | 15 +++------------ 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml index 13016a84..6191422e 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yml @@ -7,7 +7,4 @@ jobs: - uses: actions/checkout@v4 - uses: chartboost/ruff-action@v1 with: - src: './app' - - uses: chartboost/ruff-action@v1 - with: - src: './devtools' \ No newline at end of file + src: './src/py' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e3fa5ec1..59b9dc5f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,10 +9,7 @@ jobs: - name: Install Dependencies run: sudo apt-get update && sudo apt-get install chromium-browser - name: Install devtools - run: ls && pip install .[dev] numpy - - name: diagnostic - run: dtdoctor - timeout-minutes: 1 + run: ls && pip install .[dev] - name: test run: pytest timeout-minutes: 1 @@ -24,10 +21,7 @@ jobs: - name: Install Dependencies run: choco install googlechrome -y --ignore-checksums - name: Install devtools - run: pip install .[dev] numpy - - name: diagnostic - run: dtdoctor - timeout-minutes: 1 + run: pip install .[dev] - name: test run: pytest timeout-minutes: 1 @@ -39,10 +33,7 @@ jobs: - name: Install Dependencies run: brew install google-chrome - name: Install devtools - run: pip install .[dev] numpy - - name: diagnostic - run: dtdoctor - timeout-minutes: 1 + run: pip install . - name: test run: pytest timeout-minutes: 1 From 8278cf1ea82a50292e58d854cfa26892241e9d15 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 11:17:01 -0400 Subject: [PATCH 442/510] Set -x on base.py (?): Why was it ever set as +x in the first place? --- src/py/kaleido/scopes/base.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 src/py/kaleido/scopes/base.py diff --git a/src/py/kaleido/scopes/base.py b/src/py/kaleido/scopes/base.py old mode 100755 new mode 100644 From 5b01908be10e04f8c76b9d964e780e1aa625b62e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 12:43:22 -0400 Subject: [PATCH 443/510] Excise old kaleido --- src/py/kaleido/__init__.py | 79 ++++++ src/py/kaleido/scopes/ISSUES | 8 + src/py/kaleido/scopes/base.py | 473 +------------------------------ src/py/kaleido/scopes/plotly.py | 75 +++-- src/py/kaleido/vendor/index.html | 10 + 5 files changed, 133 insertions(+), 512 deletions(-) create mode 100644 src/py/kaleido/scopes/ISSUES create mode 100644 src/py/kaleido/vendor/index.html diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index e69de29b..0a717f25 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -0,0 +1,79 @@ +# do not ever import scopes here! it is deprecated +# and this folder is the new API +from pathlib import Path +import asyncio +import base64 +import json + +from devtools import Browser + +script_path = Path(__file__).resolve().parent / "vendor" / "index.html" + +_all_formats = ("png", "jpg", "jpeg", "webp", "svg", "pdf", "eps", "json") +_text_formats = ("svg", "json", "eps") + +_scope_flags = ("plotlyjs", "mathjax", "topojson", "mapbox_access_token") + +def to_image_block(figure): + loop = None + try: + loop = asyncio.get_running_loop() + except RuntimeError: + pass + if loop: + # TODO: create thread and post the new loop there and run the thing and return it in a message queue :-( + ... + else: + return asyncio.run(to_image(figure)) + +async def to_image(figure): + async with Browser(headless=False) as browser: + tab = await browser.create_tab(script_path.as_uri()) + await tab.send_command("Page.enable") + await tab.send_command("Runtime.enable") + + event_done = asyncio.get_running_loop().create_future() + async def execution_started_cb(response): + event_done.set_result(response) + tab.subscribe("Runtime.executionContextCreated", execution_started_cb, repeating=False) + await tab.send_command("Page.reload") + await event_done + execution_context_id = event_done.result()["params"]["context"]["id"] + # this could just as easily be part of the original script + # some changes could be made their to download more easily TODO + # read original python, read original javascript + + event_done = asyncio.get_running_loop().create_future() + async def load_done_cb(response): + event_done.set_result(response) + tab.subscribe("Page.loadEventFired", load_done_cb, repeating=False) + await event_done + + kaleido_jsfn = r"function(spec, ...args) { console.log(typeof spec); console.log(spec); return kaleido_scopes.plotly(spec, ...args).then(JSON.stringify); }" + + params = dict( + functionDeclaration=kaleido_jsfn, + arguments=[dict(value=figure)], + returnByValue=False, + userGesture=True, + awaitPromise=True, + executionContextId=execution_context_id, + ) + response = await tab.send_command("Runtime.callFunctionOn", params=params) + + # Check for export error, later can customize error messages for plotly Python users + code = response.get("code", 0) + if code != 0: + message = response.get("message", None) + raise ValueError( + "Transform failed with error code {code}: {message}".format( + code=code, message=message + ) + ) + + img = json.loads(response.get("result").get("result").get("value")).get("result") + + # Base64 decode binary types + if format not in _text_formats: + img = base64.b64decode(img) + return img diff --git a/src/py/kaleido/scopes/ISSUES b/src/py/kaleido/scopes/ISSUES new file mode 100644 index 00000000..7f437834 --- /dev/null +++ b/src/py/kaleido/scopes/ISSUES @@ -0,0 +1,8 @@ +- [ ] #1: Vendor mathjax +- [ ] #2: Add switch deprecation warnings (See TODO) +- [ ] #3: TODO: Obey plolty versions switches (plotlyjs, mathjax, openmapbox) + + + +NOTES: +Eliminated conda search for mathjax, they can use a custom path diff --git a/src/py/kaleido/scopes/base.py b/src/py/kaleido/scopes/base.py index 4f6b4894..aca170cb 100644 --- a/src/py/kaleido/scopes/base.py +++ b/src/py/kaleido/scopes/base.py @@ -1,472 +1,7 @@ -import subprocess -import json -from threading import Lock, Thread -import io -import os -import sys -import time -import locale -import platform - -try: - from json import JSONDecodeError -except ImportError: - JSONDecodeError = ValueError - +class OldKaleidoError(NotImplementedError): + pass class BaseScope(object): - # Tuple of class properties that will be passed as command-line - # flags to configure scope - _scope_flags = () - - # Specify default chromium arguments - _default_chromium_args = ( - "--disable-gpu", - "--allow-file-access-from-files", - "--disable-breakpad", - "--disable-dev-shm-usage", - ) + ( - # Add "--single-process" when running on AWS Lambda. Flag is described - # as for debugging only by the chromium project, but it's the only way to get - # chromium headless working on Lambda - ("--single-process",) if os.environ.get("LAMBDA_RUNTIME_DIR", None) else () - ) - - _scope_chromium_args = () - - @classmethod - def default_chromium_args(cls): - """ - Get tuple containing the default chromium arguments that will be passed to chromium if not overridden. - - chromium arguments can be overridden in the Scope constructor using the chromium_args argument, or they - can be overridden by assigning a tuple to the chromium_args property of an already constructed Scope instance - - :return: tuple of str - """ - return cls._default_chromium_args + cls._scope_chromium_args - - def __init__( - self, - disable_gpu=True, - chromium_args=True, - debug=False - ): - self.debug=True if os.environ.get('DEBUG') else debug - if chromium_args is True: - chromium_args = self.default_chromium_args() - elif chromium_args is False: - chromium_args = () - - # Handle backward compatibility for disable_gpu flag - if disable_gpu is False: - # If disable_gpu is set to False, then remove corresponding flag from extra_chromium_args - chromium_args = [arg for arg in chromium_args if arg != "--disable-gpu"] - - self._chromium_args = tuple(chromium_args) - - # Internal Properties - self._std_error = io.BytesIO() - self._std_error_thread = None - self._proc = None - self._proc_lock = Lock() - - def __del__(self): - self._shutdown_kaleido() - - @classmethod - def executable_path(cls): - vendored_executable_path = os.path.join( - os.path.dirname(os.path.dirname(os.path.abspath(__file__))), - 'executable', - 'kaleido' - ) - - # Add .cmd extension on Windows. The which function below doesn't need this, but os.path.exists requires - # the file extension - if platform.system() == "Windows": - vendored_executable_path += ".exe" - - if os.path.exists(vendored_executable_path): - # The kaleido executable is vendored under kaleido/executable. - # It was probably install as a PyPI wheel - executable_path = vendored_executable_path - else: - # The kaleido executable is not vendored under kaleido/executable, - # Probably installed using conda, where the executable is a separate package - # and is placed on the system PATH - executable_path = which("kaleido") - if executable_path is None: - path = os.environ.get("PATH", os.defpath) - formatted_path = path.replace(os.pathsep, "\n ") - raise ValueError( - """ -The kaleido executable is required by the kaleido Python library, but it was not included -in the Python package and it could not be found on the system PATH. - -Searched for included kaleido executable at: - {vendored_executable_path} - -Searched for executable 'kaleido' on the following system PATH: - {formatted_path}\n""".format( - vendored_executable_path=vendored_executable_path, - formatted_path=formatted_path, - ) - ) - - return executable_path - - def _build_proc_args(self): - """ - Build list of kaleido command-line arguments based on current values of - the properties specified by self._scope_flags and self.chromium_args - - :return: list of flags - """ - proc_args = [self.executable_path(), self.scope_name] - for k in self._scope_flags: - v = getattr(self, k) - if v is True: - flag = '--' + k.replace("_", "-") - elif v is False or v is None: - # Logical flag set to False, don't include flag or argument - continue - else: - # Flag with associated value - flag = '--' + k.replace("_", "-") + "=" + repr(str(v)) - proc_args.append(flag) - - # Append self.chromium_args - proc_args.extend(self.chromium_args) - - return proc_args - - def _collect_standard_error(self): - """ - Write standard-error of subprocess to the _std_error StringIO buffer. - Intended to be called once in a background thread - """ - while True: - # Usually there should aways be a process - if self._proc is not None: - val = self._proc.stderr.readline() - self._std_error.write(val) - else: - # Due to concurrency the process may be killed while this loop is still running - # in this case break the loop - return - - def _ensure_kaleido(self): - """ - Launch the kaleido subprocess if it is not already running and in a good state - """ - # Use double-check locking to make sure we only initialize the process - # from a single thread - if self._proc is None or self._proc.poll() is not None: - with self._proc_lock: - if self._proc is None or self._proc.poll() is not None: - # Wait on process if crashed to prevent zombies - if self._proc is not None: - self._proc.wait() - - # Reset _std_error buffer - self._std_error = io.BytesIO() - - # Launch kaleido subprocess - # Note: shell=True seems to be needed on Windows to handle executable path with - # spaces. The subprocess.Popen docs makes it sound like this shouldn't be - # necessary. - proc_args = self._build_proc_args() - env = os.environ.copy() - resource_folder = os.path.join( - os.path.dirname(os.path.dirname(os.path.abspath(__file__))), - 'executable' - ) - if 'LD_LIBRARY_PATH' not in env: env['LD_LIBRARY_PATH']="" - env['LD_LIBRARY_PATH'] = str(os.path.join(resource_folder, "lib")) + ":" + env['LD_LIBRARY_PATH'] - env['FONTCONFIG_PATH'] = str(os.path.join(resource_folder, "etc", "fonts")) - env['XDG_DATA_HOME'] = str(os.path.join(resource_folder, "xdg")) - - self._proc = subprocess.Popen( - proc_args, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - stderr=None if self.debug else subprocess.PIPE, - shell=sys.platform == "win32", - env=env, - cwd=str(resource_folder), - ) - - # Set up thread to asynchronously collect standard error stream - if not self.debug and (self._std_error_thread is None or not self._std_error_thread.is_alive()): - self._std_error_thread = Thread(target=self._collect_standard_error) - self._std_error_thread.daemon = True - self._std_error_thread.start() - # I didn't have much luck with this strategy - - # Read startup message and check for errors - startup_response_string = self._proc.stdout.readline().decode('utf-8') - if not startup_response_string: - message = ( - "Failed to start Kaleido subprocess. Error stream:\n\n" + - self._get_decoded_std_error() - ) - raise ValueError(message) - else: - startup_response = json.loads(startup_response_string) - if startup_response.get("code", 0) != 0: - self._proc.wait() - raise ValueError(startup_response.get("message", "Failed to start Kaleido subprocess")) - - def _get_decoded_std_error(self): - """ - Attempt to decode standard error bytes stream to a string - """ - std_err_str = None - try: - encoding = sys.stderr.encoding - std_err_str = self._std_error.getvalue().decode(encoding) - except Exception: - pass - - if std_err_str is None: - try: - encoding = locale.getpreferredencoding(False) - std_err_str = self._std_error.getvalue().decode(encoding) - except Exception: - pass - - if std_err_str is None: - std_err_str = "Failed to decode Chromium's standard error stream" - - return std_err_str - - def _shutdown_kaleido(self): - """ - Shut down the kaleido subprocess, if any, and self the _proc property to None - """ - # Use double-check locking to make sure we only shut down the process - # a single time when used across threads. - if self._proc is not None: - with self._proc_lock: - if self._proc is not None: - if self._proc.poll() is None: - # Process still running, close stdin to tell kaleido - # to shut down gracefully - self._proc.stdin.write('{"operation":"shutdown"}\n'.encode('utf-8')); - self._proc.stdin.close() - - # wait for process to terminate if it was running. - # Also prevent zombie process if process crashed - # on it's own - try: - self._proc.wait(timeout=2.0) - except: - self._proc.kill() - # We tried to wait! Moving on... - pass - - # Clear _proc property - self._proc = None - - @property - def scope_name(self): - raise NotImplementedError - - # Flag property methods - @property - def disable_gpu(self): - """ If True, asks chromium to disable GPU hardware acceleration with --disable-gpu flag""" - return "--disable-gpu" in self.chromium_args - - @disable_gpu.setter - def disable_gpu(self, val): - new_args = [arg for arg in self.chromium_args if arg != "--disable-gpu"] - if val: - new_args.append("--disable-gpu") - self.chromium_args = tuple(new_args) - - @property - def chromium_args(self): - return self._chromium_args - - @chromium_args.setter - def chromium_args(self, val): - self._chromium_args = tuple(val) - self._shutdown_kaleido() - - def _json_dumps(self, val): - return json.dumps(val) - - def _perform_transform(self, data, **kwargs): - """ - Transform input data using the current scope, returning dict response with error code - whether successful or not. - - :param data: JSON-serializable object to be converted - :param kwargs: Transform arguments for scope - :return: Dict of response from Kaleido executable, whether successful or not - """ - # Ensure that kaleido subprocess is running - self._ensure_kaleido() - - # Perform export - export_spec = self._json_dumps(dict(kwargs, data=data)).encode('utf-8') - - # Write to process and read result within a lock so that can be - # sure we're reading the response to our request - with self._proc_lock: - # Reset _std_error buffer - self._std_error = io.BytesIO() - - # Write and flush spec - self._proc.stdin.write(export_spec) - self._proc.stdin.write("\n".encode('utf-8')) - self._proc.stdin.flush() - try: - response = self._proc.stdout.readline() - if self.debug: print(str(response), file=sys.stderr) - except BaseException: # allows to catch KeyboardInterrupt = CTRL+C - # no need to decode_std_err, honestly get rid of all this - # and ctl+c should be clean - if not self.debug: print("Error stream:\n", self._get_decoded_std_error()) - self._proc.stdin.write('{"operation":"shutdown"}\n'.encode('utf-8')); - self._proc.stdin.close() - try: - self._proc.wait(timeout=2.0) - except: - # We tried to wait! Moving on... - self._proc.kill() - raise - - response_string = response.decode('utf-8') - if not response_string: - message = ( - "Transform failed. Error stream:\n\n" + - self._get_decoded_std_error() - ) - raise ValueError(message) - try: - response = json.loads(response_string) - except JSONDecodeError: - print("Invalid JSON: " + repr(response_string)) - raise - - return response - - def transform(self, data, **kwargs): - """ - Transform input data using the current scope - - Subclasses should provide a more helpful docstring - - :param data: JSON-serializable object to be converted - :param kwargs: Transform arguments for scope - :return: Transformed value as bytes - """ - response = self._perform_transform(data, **kwargs) - - # Check for export error - code = response.pop("code", 0) - if code != 0: - message = response.get("message", None) - raise ValueError( - "Transform failed with error code {code}: {message}".format( - code=code, message=message - ) - ) - - img_string = response.pop("result", None) - return img_string.encode() - - -# PATH helpers -def which_py2(cmd, mode=os.F_OK | os.X_OK, path=None): - """ - Backport (unmodified) of shutil.which command from Python 3.6 - Remove this when Python 2 support is dropped - - Given a command, mode, and a PATH string, return the path which - conforms to the given mode on the PATH, or None if there is no such - file. - - `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result - of os.environ.get("PATH"), or can be overridden with a custom search - path. - """ - # Check that a given file can be accessed with the correct mode. - # Additionally check that `file` is not a directory, as on Windows - # directories pass the os.access check. - def _access_check(fn, mode): - return os.path.exists(fn) and os.access(fn, mode) and not os.path.isdir(fn) - - # If we're given a path with a directory part, look it up directly rather - # than referring to PATH directories. This includes checking relative to - # the current directory, e.g. ./script - if os.path.dirname(cmd): - if _access_check(cmd, mode): - return cmd - return None - - if path is None: - path = os.environ.get("PATH", os.defpath) - if not path: - return None - path = path.split(os.pathsep) - - if sys.platform == "win32": - # The current directory takes precedence on Windows. - if not os.curdir in path: - path.insert(0, os.curdir) - - # PATHEXT is necessary to check on Windows. - pathext = os.environ.get("PATHEXT", "").split(os.pathsep) - # See if the given file matches any of the expected path extensions. - # This will allow us to short circuit when given "python.exe". - # If it does match, only test that one, otherwise we have to try - # others. - if any(cmd.lower().endswith(ext.lower()) for ext in pathext): - files = [cmd] - else: - files = [cmd + ext for ext in pathext] - else: - # On other platforms you don't have things like PATHEXT to tell you - # what file suffixes are executable, so just pass on cmd as-is. - files = [cmd] - - seen = set() - for dir in path: - normdir = os.path.normcase(dir) - if not normdir in seen: - seen.add(normdir) - for thefile in files: - name = os.path.join(dir, thefile) - if _access_check(name, mode): - return name - return None - - -def which(cmd): - """ - Return the absolute path of the input executable string, based on the - user's current PATH variable. - - This is a wrapper for shutil.which that is compatible with Python 2. - - Parameters - ---------- - cmd: str - String containing the name of an executable on the user's path. - - Returns - ------- - str or None - String containing the absolute path of the executable, or None if - the executable was not found. + def __init__(self): + raise OldKaleidoError("Kaleido no longer uses a scope system, BaseScope should not be used.") - """ - if sys.version_info > (3, 0): - import shutil - return shutil.which(cmd) - else: - return which_py2(cmd) diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index 73e711a6..daed2cc2 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -1,23 +1,34 @@ from __future__ import absolute_import -from kaleido.scopes.base import BaseScope, which import base64 import os +import io +import sys from pathlib import Path -import subprocess -class PlotlyScope(BaseScope): +import kaleido # kaleido __init__.py, dislike + +# The original kaleido provided a global lock (instead of supporting concurrency) +# So kaleido 2.0 will as well if it's used from scopes (old api) +from threading import Lock +_proc_lock = Lock() + +try: + from json import JSONDecodeError +except ImportError: + JSONDecodeError = ValueError + +class PlotlyScope(): """ Scope for transforming Plotly figures to static images """ - _all_formats = ("png", "jpg", "jpeg", "webp", "svg", "pdf", "eps", "json") - _text_formats = ("svg", "json", "eps") + _all_formats = kaleido._all_formats_ + _text_formats = kaleido._text_formats_ + + _scope_flags = kaleido._scope_flags_ - _scope_flags = ("plotlyjs", "mathjax", "topojson", "mapbox_access_token") - _scope_chromium_args = ("--no-sandbox",) def __init__(self, plotlyjs=None, mathjax=None, topojson=None, mapbox_access_token=None, **kwargs): - # TODO: validate args - # Save scope flags as internal properties + # TODO: #2 This is deprecated, this whole FILE is deprecated self._plotlyjs = plotlyjs self._topojson = topojson self._mapbox_access_token = mapbox_access_token @@ -25,7 +36,7 @@ def __init__(self, plotlyjs=None, mathjax=None, topojson=None, mapbox_access_tok # Try to find local MathJax, but never fail if something goes wrong try: self._initialize_mathax(mathjax) - except: + except: # noqa TODO what would the actual error be self._mathjax = None # to_image-level default values @@ -34,8 +45,6 @@ def __init__(self, plotlyjs=None, mathjax=None, topojson=None, mapbox_access_tok self.default_height = 500 self.default_scale = 1 - super(PlotlyScope, self).__init__(**kwargs) - def _initialize_mathax(self, mathjax=None): if mathjax is not None: self._mathjax = mathjax @@ -47,19 +56,12 @@ def _initialize_mathax(self, mathjax=None): 'etc', 'mathjax', 'MathJax.js' - ) + ) # TODO: #1 Not vendored yet mathjax_path = None if os.path.exists(vendored_mathjax_path): # MathJax is vendored under kaleido/executable. # It was probably install as a PyPI wheel mathjax_path = vendored_mathjax_path - else: - mathjax_path_executable = which("mathjax-path") - if mathjax_path_executable: - # A script named "mathjax-path" found on the PATH, - # MathJax was probably installed as a conda package - path_bytes = subprocess.check_output(mathjax_path_executable) - mathjax_path = path_bytes.decode("utf8").strip() if mathjax_path: mathjax_uri = Path(mathjax_path).absolute().as_uri() @@ -69,12 +71,9 @@ def _initialize_mathax(self, mathjax=None): @property def scope_name(self): + # TODO: #2 This is deprecated return "plotly" - def _json_dumps(self, val): - import plotly.io as pio - return pio.to_json(val, validate=False, remove_uids=False) - def transform(self, figure, format=None, width=None, height=None, scale=None): """ Convert a Plotly figure into a static image @@ -148,27 +147,17 @@ def transform(self, figure, format=None, width=None, height=None, scale=None): ) ) - # Transform in using _perform_transform rather than superclass so we can access the full - # response dict, including error codes. - response = self._perform_transform( - figure, format=format, width=width, height=height, scale=scale - ) - - # Check for export error, later can customize error messages for plotly Python users - code = response.get("code", 0) - if code != 0: - message = response.get("message", None) - raise ValueError( - "Transform failed with error code {code}: {message}".format( - code=code, message=message - ) - ) - img = response.get("result").encode("utf-8") + data = figure + config = dict(format=format, + width=width, + height=height, + scale=scale) - # Base64 decode binary types - if format not in self._text_formats: - img = base64.b64decode(img) + # Write to process and read result within a lock so that can be + # sure we're reading the response to our request + with _proc_lock: + img = kaleido.to_image_block(data, config) return img diff --git a/src/py/kaleido/vendor/index.html b/src/py/kaleido/vendor/index.html new file mode 100644 index 00000000..31204dc6 --- /dev/null +++ b/src/py/kaleido/vendor/index.html @@ -0,0 +1,10 @@ + + + + Kaleido-fier + + + + + + From ffa9b05db49ae350205f23560a991d7ca935a487 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 12:54:48 -0400 Subject: [PATCH 444/510] Add vendor to package --- src/py/pyproject.toml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/py/pyproject.toml b/src/py/pyproject.toml index b05fd620..6a464f22 100644 --- a/src/py/pyproject.toml +++ b/src/py/pyproject.toml @@ -5,6 +5,12 @@ build-backend = "setuptools.build_meta" [tool.setuptools.packages] find = {namespaces = false} +[tool.setuptools.package-data] +kaleido = ['vendor/*'] + +[tool.setuptools-git-versioning] +enabled = true + [project] name = "kaleido" description = "plotly graph export library" @@ -27,8 +33,3 @@ dev = [ [tool.ruff.lint] ignore = ["E701"] # E701 oneline if's - -[tool.setuptools-git-versioning] -enabled = true - - From 2a46cf166b4e0edbdf238a365b6bcad2ce925bcc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 12:55:01 -0400 Subject: [PATCH 445/510] Add dist/build to gitignore --- src/py/.gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 src/py/.gitignore diff --git a/src/py/.gitignore b/src/py/.gitignore new file mode 100644 index 00000000..edd9d60a --- /dev/null +++ b/src/py/.gitignore @@ -0,0 +1,2 @@ +build/ +dist/ From ca56ceb2cf770cd1345f33be674bea98679b071f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 12:56:39 -0400 Subject: [PATCH 446/510] Move issues file --- src/py/kaleido/scopes/ISSUES => ISSUES | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/py/kaleido/scopes/ISSUES => ISSUES (100%) diff --git a/src/py/kaleido/scopes/ISSUES b/ISSUES similarity index 100% rename from src/py/kaleido/scopes/ISSUES rename to ISSUES From 41df98e04f2fad934fcde47959749d6b564998ce Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 12:57:13 -0400 Subject: [PATCH 447/510] Add issue #4 - improper version number- to ISSUES --- ISSUES | 1 + 1 file changed, 1 insertion(+) diff --git a/ISSUES b/ISSUES index 7f437834..8237e676 100644 --- a/ISSUES +++ b/ISSUES @@ -1,6 +1,7 @@ - [ ] #1: Vendor mathjax - [ ] #2: Add switch deprecation warnings (See TODO) - [ ] #3: TODO: Obey plolty versions switches (plotlyjs, mathjax, openmapbox) +- [ ] #4: Build not picking up version tag :-( From 234fa350d391b97872105464093d4f30e1439c31 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 12:59:55 -0400 Subject: [PATCH 448/510] Fix up GHA --- .github/workflows/test.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 59b9dc5f..72cf58da 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,8 +8,8 @@ jobs: - uses: actions/setup-python@v1 - name: Install Dependencies run: sudo apt-get update && sudo apt-get install chromium-browser - - name: Install devtools - run: ls && pip install .[dev] + - name: Install kaleido + run: ls && pip install src/py/.[dev] - name: test run: pytest timeout-minutes: 1 @@ -20,8 +20,8 @@ jobs: - uses: actions/setup-python@v5 - name: Install Dependencies run: choco install googlechrome -y --ignore-checksums - - name: Install devtools - run: pip install .[dev] + - name: Install kaleido + run: pip install src/py/.[dev] - name: test run: pytest timeout-minutes: 1 @@ -32,8 +32,8 @@ jobs: - uses: actions/setup-python@v5 - name: Install Dependencies run: brew install google-chrome - - name: Install devtools - run: pip install . + - name: Install kaleido + run: pip install src/py/.[dev] - name: test run: pytest timeout-minutes: 1 From 22c54bca19982d8f415e34acf75da40ae29040db Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 13:00:17 -0400 Subject: [PATCH 449/510] Remove unused imports --- src/py/kaleido/scopes/plotly.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index daed2cc2..6f72d591 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -1,8 +1,5 @@ from __future__ import absolute_import -import base64 import os -import io -import sys from pathlib import Path import kaleido # kaleido __init__.py, dislike From 6b5e33e6bf90720b2267bc8739522a826a2cf42b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 15:24:49 -0400 Subject: [PATCH 450/510] Move kaleido to src: To enable pip install . from this directory... --- src/py/{ => src}/kaleido/__init__.py | 0 src/py/{ => src}/kaleido/scopes/__init__.py | 0 src/py/{ => src}/kaleido/scopes/base.py | 0 src/py/{ => src}/kaleido/scopes/plotly.py | 0 src/py/{ => src}/kaleido/vendor/index.html | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename src/py/{ => src}/kaleido/__init__.py (100%) rename src/py/{ => src}/kaleido/scopes/__init__.py (100%) rename src/py/{ => src}/kaleido/scopes/base.py (100%) rename src/py/{ => src}/kaleido/scopes/plotly.py (100%) rename src/py/{ => src}/kaleido/vendor/index.html (100%) diff --git a/src/py/kaleido/__init__.py b/src/py/src/kaleido/__init__.py similarity index 100% rename from src/py/kaleido/__init__.py rename to src/py/src/kaleido/__init__.py diff --git a/src/py/kaleido/scopes/__init__.py b/src/py/src/kaleido/scopes/__init__.py similarity index 100% rename from src/py/kaleido/scopes/__init__.py rename to src/py/src/kaleido/scopes/__init__.py diff --git a/src/py/kaleido/scopes/base.py b/src/py/src/kaleido/scopes/base.py similarity index 100% rename from src/py/kaleido/scopes/base.py rename to src/py/src/kaleido/scopes/base.py diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/src/kaleido/scopes/plotly.py similarity index 100% rename from src/py/kaleido/scopes/plotly.py rename to src/py/src/kaleido/scopes/plotly.py diff --git a/src/py/kaleido/vendor/index.html b/src/py/src/kaleido/vendor/index.html similarity index 100% rename from src/py/kaleido/vendor/index.html rename to src/py/src/kaleido/vendor/index.html From 4adb1f84d8f5db70cfea308c030278e5e8d25ab5 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 16:16:46 -0400 Subject: [PATCH 451/510] Add versioning dep to toml --- ISSUES | 3 ++- src/py/pyproject.toml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ISSUES b/ISSUES index 8237e676..ddefcae5 100644 --- a/ISSUES +++ b/ISSUES @@ -1,7 +1,8 @@ - [ ] #1: Vendor mathjax - [ ] #2: Add switch deprecation warnings (See TODO) - [ ] #3: TODO: Obey plolty versions switches (plotlyjs, mathjax, openmapbox) -- [ ] #4: Build not picking up version tag :-( +- [x] #4: Build not picking up version tag :-( <-- not picking up repo at all +- [ ] #5: Can't import diff --git a/src/py/pyproject.toml b/src/py/pyproject.toml index 6a464f22..1e407713 100644 --- a/src/py/pyproject.toml +++ b/src/py/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=65.0.0", "wheel"] +requires = ["setuptools>=65.0.0", "wheel", "setuptools-git-versioning"] build-backend = "setuptools.build_meta" [tool.setuptools.packages] From 667ad9f6c6446e71d4512c42337587c8d2d45d5c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 17:23:42 -0400 Subject: [PATCH 452/510] Reorganize for pyproject.toml --- src/py/{src => }/kaleido/__init__.py | 0 src/py/{src => }/kaleido/scopes/__init__.py | 0 src/py/{src => }/kaleido/scopes/base.py | 0 src/py/{src => }/kaleido/scopes/plotly.py | 0 src/py/{src => }/kaleido/vendor/index.html | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename src/py/{src => }/kaleido/__init__.py (100%) rename src/py/{src => }/kaleido/scopes/__init__.py (100%) rename src/py/{src => }/kaleido/scopes/base.py (100%) rename src/py/{src => }/kaleido/scopes/plotly.py (100%) rename src/py/{src => }/kaleido/vendor/index.html (100%) diff --git a/src/py/src/kaleido/__init__.py b/src/py/kaleido/__init__.py similarity index 100% rename from src/py/src/kaleido/__init__.py rename to src/py/kaleido/__init__.py diff --git a/src/py/src/kaleido/scopes/__init__.py b/src/py/kaleido/scopes/__init__.py similarity index 100% rename from src/py/src/kaleido/scopes/__init__.py rename to src/py/kaleido/scopes/__init__.py diff --git a/src/py/src/kaleido/scopes/base.py b/src/py/kaleido/scopes/base.py similarity index 100% rename from src/py/src/kaleido/scopes/base.py rename to src/py/kaleido/scopes/base.py diff --git a/src/py/src/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py similarity index 100% rename from src/py/src/kaleido/scopes/plotly.py rename to src/py/kaleido/scopes/plotly.py diff --git a/src/py/src/kaleido/vendor/index.html b/src/py/kaleido/vendor/index.html similarity index 100% rename from src/py/src/kaleido/vendor/index.html rename to src/py/kaleido/vendor/index.html From d72b9ff1b558bb3d8a6bc72dcb57dc0456163456 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 17:23:54 -0400 Subject: [PATCH 453/510] Reorganize namespace to match old api --- src/py/kaleido/__init__.py | 11 +++++++---- src/py/kaleido/scopes/__init__.py | 3 +++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 0a717f25..92f611b9 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -1,4 +1,7 @@ -# do not ever import scopes here! it is deprecated +#import ONLY to maintain namespace structure of previous version +#don't use! +#import kaleido.scopes as scopes + # and this folder is the new API from pathlib import Path import asyncio @@ -9,10 +12,10 @@ script_path = Path(__file__).resolve().parent / "vendor" / "index.html" -_all_formats = ("png", "jpg", "jpeg", "webp", "svg", "pdf", "eps", "json") -_text_formats = ("svg", "json", "eps") +_all_formats_ = ("png", "jpg", "jpeg", "webp", "svg", "pdf", "eps", "json") +_text_formats_ = ("svg", "json", "eps") -_scope_flags = ("plotlyjs", "mathjax", "topojson", "mapbox_access_token") +_scope_flags_ = ("plotlyjs", "mathjax", "topojson", "mapbox_access_token") def to_image_block(figure): loop = None diff --git a/src/py/kaleido/scopes/__init__.py b/src/py/kaleido/scopes/__init__.py index e69de29b..bba3a57e 100644 --- a/src/py/kaleido/scopes/__init__.py +++ b/src/py/kaleido/scopes/__init__.py @@ -0,0 +1,3 @@ +from .plotly import PlotlyScope + +__all__ = ['PlotlyScope'] From 4bdb8d2438a92dfa1aceb7ec05979c0a52ac681a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 18:47:11 -0400 Subject: [PATCH 454/510] Add issue #6 --- ISSUES | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ISSUES b/ISSUES index ddefcae5..1d821466 100644 --- a/ISSUES +++ b/ISSUES @@ -2,7 +2,8 @@ - [ ] #2: Add switch deprecation warnings (See TODO) - [ ] #3: TODO: Obey plolty versions switches (plotlyjs, mathjax, openmapbox) - [x] #4: Build not picking up version tag :-( <-- not picking up repo at all -- [ ] #5: Can't import +- [x] #5: Can't import +- [ ] #6: Will permanently need more from old api (prepare spec) From 8cd8df3c1c5c61e74b460f8e2dff7a009f748f5a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 18:50:05 -0400 Subject: [PATCH 455/510] Fix spec formatting --- src/py/kaleido/__init__.py | 16 ++++++---------- src/py/kaleido/scopes/plotly.py | 12 +++++------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 92f611b9..f0428035 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -1,8 +1,4 @@ -#import ONLY to maintain namespace structure of previous version -#don't use! -#import kaleido.scopes as scopes - -# and this folder is the new API +# don't use scopes! from pathlib import Path import asyncio import base64 @@ -17,7 +13,7 @@ _scope_flags_ = ("plotlyjs", "mathjax", "topojson", "mapbox_access_token") -def to_image_block(figure): +def to_image_block(spec): loop = None try: loop = asyncio.get_running_loop() @@ -27,9 +23,9 @@ def to_image_block(figure): # TODO: create thread and post the new loop there and run the thing and return it in a message queue :-( ... else: - return asyncio.run(to_image(figure)) + return asyncio.run(to_image(spec)) -async def to_image(figure): +async def to_image(spec): async with Browser(headless=False) as browser: tab = await browser.create_tab(script_path.as_uri()) await tab.send_command("Page.enable") @@ -56,7 +52,7 @@ async def load_done_cb(response): params = dict( functionDeclaration=kaleido_jsfn, - arguments=[dict(value=figure)], + arguments=[dict(value=spec)], returnByValue=False, userGesture=True, awaitPromise=True, @@ -77,6 +73,6 @@ async def load_done_cb(response): img = json.loads(response.get("result").get("result").get("value")).get("result") # Base64 decode binary types - if format not in _text_formats: + if format not in _text_formats_: img = base64.b64decode(img) return img diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index 6f72d591..9671503b 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -2,6 +2,8 @@ import os from pathlib import Path +from plotly.graph_objects import Figure + import kaleido # kaleido __init__.py, dislike # The original kaleido provided a global lock (instead of supporting concurrency) @@ -102,7 +104,6 @@ def transform(self, figure, format=None, width=None, height=None, scale=None): :return: image bytes """ # TODO: validate args - from plotly.graph_objects import Figure if isinstance(figure, Figure): figure = figure.to_dict() @@ -145,16 +146,13 @@ def transform(self, figure, format=None, width=None, height=None, scale=None): ) - data = figure - config = dict(format=format, - width=width, - height=height, - scale=scale) + js_args = dict(format=format, width=width, height=height, scale=scale) + spec = dict(js_args, data = figure) # Write to process and read result within a lock so that can be # sure we're reading the response to our request with _proc_lock: - img = kaleido.to_image_block(data, config) + img = kaleido.to_image_block(spec) return img From fde6c7b08f8ac6cd6038752a717076f200c7bfd8 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 18:54:57 -0400 Subject: [PATCH 456/510] Improve error handling of bad js --- src/py/kaleido/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index f0428035..b6af3a75 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -6,6 +6,8 @@ from devtools import Browser + + script_path = Path(__file__).resolve().parent / "vendor" / "index.html" _all_formats_ = ("png", "jpg", "jpeg", "webp", "svg", "pdf", "eps", "json") @@ -69,8 +71,10 @@ async def load_done_cb(response): code=code, message=message ) ) - - img = json.loads(response.get("result").get("result").get("value")).get("result") + try: + img = json.loads(response.get("result").get("result").get("value")).get("result") + except Exception as e: + raise RuntimeError(response) from e # Base64 decode binary types if format not in _text_formats_: From a703d2558af3e65d9c950418a2d2b6f21104bb89 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 18:56:06 -0400 Subject: [PATCH 457/510] Vendor js build --- src/py/kaleido/vendor/kaleido_scopes.js | 2698 +++++++++++++++++++++++ 1 file changed, 2698 insertions(+) create mode 100644 src/py/kaleido/vendor/kaleido_scopes.js diff --git a/src/py/kaleido/vendor/kaleido_scopes.js b/src/py/kaleido/vendor/kaleido_scopes.js new file mode 100644 index 00000000..4719c438 --- /dev/null +++ b/src/py/kaleido/vendor/kaleido_scopes.js @@ -0,0 +1,2698 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.kaleido_scopes = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i + * but significantly simplified and sped up by ignoring number and string constructors + * ie these return false: + * new Number(1) + * new String('1') + */ + +'use strict'; + +var allBlankCharCodes = require('is-string-blank'); + +module.exports = function(n) { + var type = typeof n; + if(type === 'string') { + var original = n; + n = +n; + // whitespace strings cast to zero - filter them out + if(n===0 && allBlankCharCodes(original)) return false; + } + else if(type !== 'number') return false; + + return n - n < 1; +}; + +},{"is-string-blank":3}],2:[function(require,module,exports){ +'use strict'; + +module.exports = value => { + if (Object.prototype.toString.call(value) !== '[object Object]') { + return false; + } + + const prototype = Object.getPrototypeOf(value); + return prototype === null || prototype === Object.prototype; +}; + +},{}],3:[function(require,module,exports){ +'use strict'; + +/** + * Is this string all whitespace? + * This solution kind of makes my brain hurt, but it's significantly faster + * than !str.trim() or any other solution I could find. + * + * whitespace codes from: http://en.wikipedia.org/wiki/Whitespace_character + * and verified with: + * + * for(var i = 0; i < 65536; i++) { + * var s = String.fromCharCode(i); + * if(+s===0 && !s.trim()) console.log(i, s); + * } + * + * which counts a couple of these as *not* whitespace, but finds nothing else + * that *is* whitespace. Note that charCodeAt stops at 16 bits, but it appears + * that there are no whitespace characters above this, and code points above + * this do not map onto white space characters. + */ + +module.exports = function(str){ + var l = str.length, + a; + for(var i = 0; i < l; i++) { + a = str.charCodeAt(i); + if((a < 9 || a > 13) && (a !== 32) && (a !== 133) && (a !== 160) && + (a !== 5760) && (a !== 6158) && (a < 8192 || a > 8205) && + (a !== 8232) && (a !== 8233) && (a !== 8239) && (a !== 8287) && + (a !== 8288) && (a !== 12288) && (a !== 65279)) { + return false; + } + } + return true; +} + +},{}],4:[function(require,module,exports){ +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],5:[function(require,module,exports){ +const ANY = Symbol('SemVer ANY') +// hoisted class for cyclic dependency +class Comparator { + static get ANY () { + return ANY + } + constructor (comp, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) { + return comp + } else { + comp = comp.value + } + } + + debug('comparator', comp, options) + this.options = options + this.loose = !!options.loose + this.parse(comp) + + if (this.semver === ANY) { + this.value = '' + } else { + this.value = this.operator + this.semver.version + } + + debug('comp', this) + } + + parse (comp) { + const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] + const m = comp.match(r) + + if (!m) { + throw new TypeError(`Invalid comparator: ${comp}`) + } + + this.operator = m[1] !== undefined ? m[1] : '' + if (this.operator === '=') { + this.operator = '' + } + + // if it literally is just '>' or '' then allow anything. + if (!m[2]) { + this.semver = ANY + } else { + this.semver = new SemVer(m[2], this.options.loose) + } + } + + toString () { + return this.value + } + + test (version) { + debug('Comparator.test', version, this.options.loose) + + if (this.semver === ANY || version === ANY) { + return true + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + return cmp(version, this.operator, this.semver, this.options) + } + + intersects (comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required') + } + + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (this.operator === '') { + if (this.value === '') { + return true + } + return new Range(comp.value, options).test(this.value) + } else if (comp.operator === '') { + if (comp.value === '') { + return true + } + return new Range(this.value, options).test(comp.semver) + } + + const sameDirectionIncreasing = + (this.operator === '>=' || this.operator === '>') && + (comp.operator === '>=' || comp.operator === '>') + const sameDirectionDecreasing = + (this.operator === '<=' || this.operator === '<') && + (comp.operator === '<=' || comp.operator === '<') + const sameSemVer = this.semver.version === comp.semver.version + const differentDirectionsInclusive = + (this.operator === '>=' || this.operator === '<=') && + (comp.operator === '>=' || comp.operator === '<=') + const oppositeDirectionsLessThan = + cmp(this.semver, '<', comp.semver, options) && + (this.operator === '>=' || this.operator === '>') && + (comp.operator === '<=' || comp.operator === '<') + const oppositeDirectionsGreaterThan = + cmp(this.semver, '>', comp.semver, options) && + (this.operator === '<=' || this.operator === '<') && + (comp.operator === '>=' || comp.operator === '>') + + return ( + sameDirectionIncreasing || + sameDirectionDecreasing || + (sameSemVer && differentDirectionsInclusive) || + oppositeDirectionsLessThan || + oppositeDirectionsGreaterThan + ) + } +} + +module.exports = Comparator + +const {re, t} = require('../internal/re') +const cmp = require('../functions/cmp') +const debug = require('../internal/debug') +const SemVer = require('./semver') +const Range = require('./range') + +},{"../functions/cmp":9,"../internal/debug":34,"../internal/re":36,"./range":6,"./semver":7}],6:[function(require,module,exports){ +// hoisted class for cyclic dependency +class Range { + constructor (range, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (range instanceof Range) { + if ( + range.loose === !!options.loose && + range.includePrerelease === !!options.includePrerelease + ) { + return range + } else { + return new Range(range.raw, options) + } + } + + if (range instanceof Comparator) { + // just put it in the set and return + this.raw = range.value + this.set = [[range]] + this.format() + return this + } + + this.options = options + this.loose = !!options.loose + this.includePrerelease = !!options.includePrerelease + + // First, split based on boolean or || + this.raw = range + this.set = range + .split(/\s*\|\|\s*/) + // map the range to a 2d array of comparators + .map(range => this.parseRange(range.trim())) + // throw out any comparator lists that are empty + // this generally means that it was not a valid range, which is allowed + // in loose mode, but will still throw if the WHOLE range is invalid. + .filter(c => c.length) + + if (!this.set.length) { + throw new TypeError(`Invalid SemVer Range: ${range}`) + } + + this.format() + } + + format () { + this.range = this.set + .map((comps) => { + return comps.join(' ').trim() + }) + .join('||') + .trim() + return this.range + } + + toString () { + return this.range + } + + parseRange (range) { + const loose = this.options.loose + range = range.trim() + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE] + range = range.replace(hr, hyphenReplace(this.options.includePrerelease)) + debug('hyphen replace', range) + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace) + debug('comparator trim', range, re[t.COMPARATORTRIM]) + + // `~ 1.2.3` => `~1.2.3` + range = range.replace(re[t.TILDETRIM], tildeTrimReplace) + + // `^ 1.2.3` => `^1.2.3` + range = range.replace(re[t.CARETTRIM], caretTrimReplace) + + // normalize spaces + range = range.split(/\s+/).join(' ') + + // At this point, the range is completely trimmed and + // ready to be split into comparators. + + const compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] + return range + .split(' ') + .map(comp => parseComparator(comp, this.options)) + .join(' ') + .split(/\s+/) + .map(comp => replaceGTE0(comp, this.options)) + // in loose mode, throw out any that are not valid comparators + .filter(this.options.loose ? comp => !!comp.match(compRe) : () => true) + .map(comp => new Comparator(comp, this.options)) + } + + intersects (range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required') + } + + return this.set.some((thisComparators) => { + return ( + isSatisfiable(thisComparators, options) && + range.set.some((rangeComparators) => { + return ( + isSatisfiable(rangeComparators, options) && + thisComparators.every((thisComparator) => { + return rangeComparators.every((rangeComparator) => { + return thisComparator.intersects(rangeComparator, options) + }) + }) + ) + }) + ) + }) + } + + // if ANY of the sets match ALL of its comparators, then pass + test (version) { + if (!version) { + return false + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + for (let i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) { + return true + } + } + return false + } +} +module.exports = Range + +const Comparator = require('./comparator') +const debug = require('../internal/debug') +const SemVer = require('./semver') +const { + re, + t, + comparatorTrimReplace, + tildeTrimReplace, + caretTrimReplace +} = require('../internal/re') + +// take a set of comparators and determine whether there +// exists a version which can satisfy it +const isSatisfiable = (comparators, options) => { + let result = true + const remainingComparators = comparators.slice() + let testComparator = remainingComparators.pop() + + while (result && remainingComparators.length) { + result = remainingComparators.every((otherComparator) => { + return testComparator.intersects(otherComparator, options) + }) + + testComparator = remainingComparators.pop() + } + + return result +} + +// comprised of xranges, tildes, stars, and gtlt's at this point. +// already replaced the hyphen ranges +// turn into a set of JUST comparators. +const parseComparator = (comp, options) => { + debug('comp', comp, options) + comp = replaceCarets(comp, options) + debug('caret', comp) + comp = replaceTildes(comp, options) + debug('tildes', comp) + comp = replaceXRanges(comp, options) + debug('xrange', comp) + comp = replaceStars(comp, options) + debug('stars', comp) + return comp +} + +const isX = id => !id || id.toLowerCase() === 'x' || id === '*' + +// ~, ~> --> * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0 +const replaceTildes = (comp, options) => + comp.trim().split(/\s+/).map((comp) => { + return replaceTilde(comp, options) + }).join(' ') + +const replaceTilde = (comp, options) => { + const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE] + return comp.replace(r, (_, M, m, p, pr) => { + debug('tilde', comp, _, M, m, p, pr) + let ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = `>=${M}.0.0 <${+M + 1}.0.0-0` + } else if (isX(p)) { + // ~1.2 == >=1.2.0 <1.3.0-0 + ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0` + } else if (pr) { + debug('replaceTilde pr', pr) + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0` + } else { + // ~1.2.3 == >=1.2.3 <1.3.0-0 + ret = `>=${M}.${m}.${p + } <${M}.${+m + 1}.0-0` + } + + debug('tilde return', ret) + return ret + }) +} + +// ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0 +// ^1.2.3 --> >=1.2.3 <2.0.0-0 +// ^1.2.0 --> >=1.2.0 <2.0.0-0 +const replaceCarets = (comp, options) => + comp.trim().split(/\s+/).map((comp) => { + return replaceCaret(comp, options) + }).join(' ') + +const replaceCaret = (comp, options) => { + debug('caret', comp, options) + const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET] + const z = options.includePrerelease ? '-0' : '' + return comp.replace(r, (_, M, m, p, pr) => { + debug('caret', comp, _, M, m, p, pr) + let ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0` + } else if (isX(p)) { + if (M === '0') { + ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0` + } else { + ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0` + } + } else if (pr) { + debug('replaceCaret pr', pr) + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${m}.${+p + 1}-0` + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0` + } + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${+M + 1}.0.0-0` + } + } else { + debug('no pr') + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p + }${z} <${M}.${m}.${+p + 1}-0` + } else { + ret = `>=${M}.${m}.${p + }${z} <${M}.${+m + 1}.0-0` + } + } else { + ret = `>=${M}.${m}.${p + } <${+M + 1}.0.0-0` + } + } + + debug('caret return', ret) + return ret + }) +} + +const replaceXRanges = (comp, options) => { + debug('replaceXRanges', comp, options) + return comp.split(/\s+/).map((comp) => { + return replaceXRange(comp, options) + }).join(' ') +} + +const replaceXRange = (comp, options) => { + comp = comp.trim() + const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE] + return comp.replace(r, (ret, gtlt, M, m, p, pr) => { + debug('xRange', comp, ret, gtlt, M, m, p, pr) + const xM = isX(M) + const xm = xM || isX(m) + const xp = xm || isX(p) + const anyX = xp + + if (gtlt === '=' && anyX) { + gtlt = '' + } + + // if we're including prereleases in the match, then we need + // to fix this to -0, the lowest possible prerelease value + pr = options.includePrerelease ? '-0' : '' + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0-0' + } else { + // nothing is forbidden + ret = '*' + } + } else if (gtlt && anyX) { + // we know patch is an x, because we have any x at all. + // replace X with 0 + if (xm) { + m = 0 + } + p = 0 + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + gtlt = '>=' + if (xm) { + M = +M + 1 + m = 0 + p = 0 + } else { + m = +m + 1 + p = 0 + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<' + if (xm) { + M = +M + 1 + } else { + m = +m + 1 + } + } + + if (gtlt === '<') + pr = '-0' + + ret = `${gtlt + M}.${m}.${p}${pr}` + } else if (xm) { + ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0` + } else if (xp) { + ret = `>=${M}.${m}.0${pr + } <${M}.${+m + 1}.0-0` + } + + debug('xRange return', ret) + + return ret + }) +} + +// Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. +const replaceStars = (comp, options) => { + debug('replaceStars', comp, options) + // Looseness is ignored here. star is always as loose as it gets! + return comp.trim().replace(re[t.STAR], '') +} + +const replaceGTE0 = (comp, options) => { + debug('replaceGTE0', comp, options) + return comp.trim() + .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '') +} + +// This function is passed to string.replace(re[t.HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0-0 +const hyphenReplace = incPr => ($0, + from, fM, fm, fp, fpr, fb, + to, tM, tm, tp, tpr, tb) => { + if (isX(fM)) { + from = '' + } else if (isX(fm)) { + from = `>=${fM}.0.0${incPr ? '-0' : ''}` + } else if (isX(fp)) { + from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}` + } else if (fpr) { + from = `>=${from}` + } else { + from = `>=${from}${incPr ? '-0' : ''}` + } + + if (isX(tM)) { + to = '' + } else if (isX(tm)) { + to = `<${+tM + 1}.0.0-0` + } else if (isX(tp)) { + to = `<${tM}.${+tm + 1}.0-0` + } else if (tpr) { + to = `<=${tM}.${tm}.${tp}-${tpr}` + } else if (incPr) { + to = `<${tM}.${tm}.${+tp + 1}-0` + } else { + to = `<=${to}` + } + + return (`${from} ${to}`).trim() +} + +const testSet = (set, version, options) => { + for (let i = 0; i < set.length; i++) { + if (!set[i].test(version)) { + return false + } + } + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (let i = 0; i < set.length; i++) { + debug(set[i].semver) + if (set[i].semver === Comparator.ANY) { + continue + } + + if (set[i].semver.prerelease.length > 0) { + const allowed = set[i].semver + if (allowed.major === version.major && + allowed.minor === version.minor && + allowed.patch === version.patch) { + return true + } + } + } + + // Version has a -pre, but it's not one of the ones we like. + return false + } + + return true +} + +},{"../internal/debug":34,"../internal/re":36,"./comparator":5,"./semver":7}],7:[function(require,module,exports){ +const debug = require('../internal/debug') +const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants') +const { re, t } = require('../internal/re') + +const { compareIdentifiers } = require('../internal/identifiers') +class SemVer { + constructor (version, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + if (version instanceof SemVer) { + if (version.loose === !!options.loose && + version.includePrerelease === !!options.includePrerelease) { + return version + } else { + version = version.version + } + } else if (typeof version !== 'string') { + throw new TypeError(`Invalid Version: ${version}`) + } + + if (version.length > MAX_LENGTH) { + throw new TypeError( + `version is longer than ${MAX_LENGTH} characters` + ) + } + + debug('SemVer', version, options) + this.options = options + this.loose = !!options.loose + // this isn't actually relevant for versions, but keep it so that we + // don't run into trouble passing this.options around. + this.includePrerelease = !!options.includePrerelease + + const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]) + + if (!m) { + throw new TypeError(`Invalid Version: ${version}`) + } + + this.raw = version + + // these are actually numbers + this.major = +m[1] + this.minor = +m[2] + this.patch = +m[3] + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version') + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version') + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version') + } + + // numberify any prerelease numeric ids + if (!m[4]) { + this.prerelease = [] + } else { + this.prerelease = m[4].split('.').map((id) => { + if (/^[0-9]+$/.test(id)) { + const num = +id + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num + } + } + return id + }) + } + + this.build = m[5] ? m[5].split('.') : [] + this.format() + } + + format () { + this.version = `${this.major}.${this.minor}.${this.patch}` + if (this.prerelease.length) { + this.version += `-${this.prerelease.join('.')}` + } + return this.version + } + + toString () { + return this.version + } + + compare (other) { + debug('SemVer.compare', this.version, this.options, other) + if (!(other instanceof SemVer)) { + if (typeof other === 'string' && other === this.version) { + return 0 + } + other = new SemVer(other, this.options) + } + + if (other.version === this.version) { + return 0 + } + + return this.compareMain(other) || this.comparePre(other) + } + + compareMain (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + return ( + compareIdentifiers(this.major, other.major) || + compareIdentifiers(this.minor, other.minor) || + compareIdentifiers(this.patch, other.patch) + ) + } + + comparePre (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) { + return -1 + } else if (!this.prerelease.length && other.prerelease.length) { + return 1 + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0 + } + + let i = 0 + do { + const a = this.prerelease[i] + const b = other.prerelease[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + compareBuild (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + let i = 0 + do { + const a = this.build[i] + const b = other.build[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + inc (release, identifier) { + switch (release) { + case 'premajor': + this.prerelease.length = 0 + this.patch = 0 + this.minor = 0 + this.major++ + this.inc('pre', identifier) + break + case 'preminor': + this.prerelease.length = 0 + this.patch = 0 + this.minor++ + this.inc('pre', identifier) + break + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0 + this.inc('patch', identifier) + this.inc('pre', identifier) + break + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier) + } + this.inc('pre', identifier) + break + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if ( + this.minor !== 0 || + this.patch !== 0 || + this.prerelease.length === 0 + ) { + this.major++ + } + this.minor = 0 + this.patch = 0 + this.prerelease = [] + break + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++ + } + this.patch = 0 + this.prerelease = [] + break + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++ + } + this.prerelease = [] + break + // This probably shouldn't be used publicly. + // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + case 'pre': + if (this.prerelease.length === 0) { + this.prerelease = [0] + } else { + let i = this.prerelease.length + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++ + i = -2 + } + } + if (i === -1) { + // didn't increment anything + this.prerelease.push(0) + } + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + if (this.prerelease[0] === identifier) { + if (isNaN(this.prerelease[1])) { + this.prerelease = [identifier, 0] + } + } else { + this.prerelease = [identifier, 0] + } + } + break + + default: + throw new Error(`invalid increment argument: ${release}`) + } + this.format() + this.raw = this.version + return this + } +} + +module.exports = SemVer + +},{"../internal/constants":33,"../internal/debug":34,"../internal/identifiers":35,"../internal/re":36}],8:[function(require,module,exports){ +const parse = require('./parse') +const clean = (version, options) => { + const s = parse(version.trim().replace(/^[=v]+/, ''), options) + return s ? s.version : null +} +module.exports = clean + +},{"./parse":24}],9:[function(require,module,exports){ +const eq = require('./eq') +const neq = require('./neq') +const gt = require('./gt') +const gte = require('./gte') +const lt = require('./lt') +const lte = require('./lte') + +const cmp = (a, op, b, loose) => { + switch (op) { + case '===': + if (typeof a === 'object') + a = a.version + if (typeof b === 'object') + b = b.version + return a === b + + case '!==': + if (typeof a === 'object') + a = a.version + if (typeof b === 'object') + b = b.version + return a !== b + + case '': + case '=': + case '==': + return eq(a, b, loose) + + case '!=': + return neq(a, b, loose) + + case '>': + return gt(a, b, loose) + + case '>=': + return gte(a, b, loose) + + case '<': + return lt(a, b, loose) + + case '<=': + return lte(a, b, loose) + + default: + throw new TypeError(`Invalid operator: ${op}`) + } +} +module.exports = cmp + +},{"./eq":15,"./gt":16,"./gte":17,"./lt":19,"./lte":20,"./neq":23}],10:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const parse = require('./parse') +const {re, t} = require('../internal/re') + +const coerce = (version, options) => { + if (version instanceof SemVer) { + return version + } + + if (typeof version === 'number') { + version = String(version) + } + + if (typeof version !== 'string') { + return null + } + + options = options || {} + + let match = null + if (!options.rtl) { + match = version.match(re[t.COERCE]) + } else { + // Find the right-most coercible string that does not share + // a terminus with a more left-ward coercible string. + // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' + // + // Walk through the string checking with a /g regexp + // Manually set the index so as to pick up overlapping matches. + // Stop when we get a match that ends at the string end, since no + // coercible string can be more right-ward without the same terminus. + let next + while ((next = re[t.COERCERTL].exec(version)) && + (!match || match.index + match[0].length !== version.length) + ) { + if (!match || + next.index + next[0].length !== match.index + match[0].length) { + match = next + } + re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length + } + // leave it in a clean state + re[t.COERCERTL].lastIndex = -1 + } + + if (match === null) + return null + + return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options) +} +module.exports = coerce + +},{"../classes/semver":7,"../internal/re":36,"./parse":24}],11:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const compareBuild = (a, b, loose) => { + const versionA = new SemVer(a, loose) + const versionB = new SemVer(b, loose) + return versionA.compare(versionB) || versionA.compareBuild(versionB) +} +module.exports = compareBuild + +},{"../classes/semver":7}],12:[function(require,module,exports){ +const compare = require('./compare') +const compareLoose = (a, b) => compare(a, b, true) +module.exports = compareLoose + +},{"./compare":13}],13:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const compare = (a, b, loose) => + new SemVer(a, loose).compare(new SemVer(b, loose)) + +module.exports = compare + +},{"../classes/semver":7}],14:[function(require,module,exports){ +const parse = require('./parse') +const eq = require('./eq') + +const diff = (version1, version2) => { + if (eq(version1, version2)) { + return null + } else { + const v1 = parse(version1) + const v2 = parse(version2) + const hasPre = v1.prerelease.length || v2.prerelease.length + const prefix = hasPre ? 'pre' : '' + const defaultResult = hasPre ? 'prerelease' : '' + for (const key in v1) { + if (key === 'major' || key === 'minor' || key === 'patch') { + if (v1[key] !== v2[key]) { + return prefix + key + } + } + } + return defaultResult // may be undefined + } +} +module.exports = diff + +},{"./eq":15,"./parse":24}],15:[function(require,module,exports){ +const compare = require('./compare') +const eq = (a, b, loose) => compare(a, b, loose) === 0 +module.exports = eq + +},{"./compare":13}],16:[function(require,module,exports){ +const compare = require('./compare') +const gt = (a, b, loose) => compare(a, b, loose) > 0 +module.exports = gt + +},{"./compare":13}],17:[function(require,module,exports){ +const compare = require('./compare') +const gte = (a, b, loose) => compare(a, b, loose) >= 0 +module.exports = gte + +},{"./compare":13}],18:[function(require,module,exports){ +const SemVer = require('../classes/semver') + +const inc = (version, release, options, identifier) => { + if (typeof (options) === 'string') { + identifier = options + options = undefined + } + + try { + return new SemVer(version, options).inc(release, identifier).version + } catch (er) { + return null + } +} +module.exports = inc + +},{"../classes/semver":7}],19:[function(require,module,exports){ +const compare = require('./compare') +const lt = (a, b, loose) => compare(a, b, loose) < 0 +module.exports = lt + +},{"./compare":13}],20:[function(require,module,exports){ +const compare = require('./compare') +const lte = (a, b, loose) => compare(a, b, loose) <= 0 +module.exports = lte + +},{"./compare":13}],21:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const major = (a, loose) => new SemVer(a, loose).major +module.exports = major + +},{"../classes/semver":7}],22:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const minor = (a, loose) => new SemVer(a, loose).minor +module.exports = minor + +},{"../classes/semver":7}],23:[function(require,module,exports){ +const compare = require('./compare') +const neq = (a, b, loose) => compare(a, b, loose) !== 0 +module.exports = neq + +},{"./compare":13}],24:[function(require,module,exports){ +const {MAX_LENGTH} = require('../internal/constants') +const { re, t } = require('../internal/re') +const SemVer = require('../classes/semver') + +const parse = (version, options) => { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (version instanceof SemVer) { + return version + } + + if (typeof version !== 'string') { + return null + } + + if (version.length > MAX_LENGTH) { + return null + } + + const r = options.loose ? re[t.LOOSE] : re[t.FULL] + if (!r.test(version)) { + return null + } + + try { + return new SemVer(version, options) + } catch (er) { + return null + } +} + +module.exports = parse + +},{"../classes/semver":7,"../internal/constants":33,"../internal/re":36}],25:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const patch = (a, loose) => new SemVer(a, loose).patch +module.exports = patch + +},{"../classes/semver":7}],26:[function(require,module,exports){ +const parse = require('./parse') +const prerelease = (version, options) => { + const parsed = parse(version, options) + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null +} +module.exports = prerelease + +},{"./parse":24}],27:[function(require,module,exports){ +const compare = require('./compare') +const rcompare = (a, b, loose) => compare(b, a, loose) +module.exports = rcompare + +},{"./compare":13}],28:[function(require,module,exports){ +const compareBuild = require('./compare-build') +const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) +module.exports = rsort + +},{"./compare-build":11}],29:[function(require,module,exports){ +const Range = require('../classes/range') +const satisfies = (version, range, options) => { + try { + range = new Range(range, options) + } catch (er) { + return false + } + return range.test(version) +} +module.exports = satisfies + +},{"../classes/range":6}],30:[function(require,module,exports){ +const compareBuild = require('./compare-build') +const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) +module.exports = sort + +},{"./compare-build":11}],31:[function(require,module,exports){ +const parse = require('./parse') +const valid = (version, options) => { + const v = parse(version, options) + return v ? v.version : null +} +module.exports = valid + +},{"./parse":24}],32:[function(require,module,exports){ +// just pre-load all the stuff that index.js lazily exports +const internalRe = require('./internal/re') +module.exports = { + re: internalRe.re, + src: internalRe.src, + tokens: internalRe.t, + SEMVER_SPEC_VERSION: require('./internal/constants').SEMVER_SPEC_VERSION, + SemVer: require('./classes/semver'), + compareIdentifiers: require('./internal/identifiers').compareIdentifiers, + rcompareIdentifiers: require('./internal/identifiers').rcompareIdentifiers, + parse: require('./functions/parse'), + valid: require('./functions/valid'), + clean: require('./functions/clean'), + inc: require('./functions/inc'), + diff: require('./functions/diff'), + major: require('./functions/major'), + minor: require('./functions/minor'), + patch: require('./functions/patch'), + prerelease: require('./functions/prerelease'), + compare: require('./functions/compare'), + rcompare: require('./functions/rcompare'), + compareLoose: require('./functions/compare-loose'), + compareBuild: require('./functions/compare-build'), + sort: require('./functions/sort'), + rsort: require('./functions/rsort'), + gt: require('./functions/gt'), + lt: require('./functions/lt'), + eq: require('./functions/eq'), + neq: require('./functions/neq'), + gte: require('./functions/gte'), + lte: require('./functions/lte'), + cmp: require('./functions/cmp'), + coerce: require('./functions/coerce'), + Comparator: require('./classes/comparator'), + Range: require('./classes/range'), + satisfies: require('./functions/satisfies'), + toComparators: require('./ranges/to-comparators'), + maxSatisfying: require('./ranges/max-satisfying'), + minSatisfying: require('./ranges/min-satisfying'), + minVersion: require('./ranges/min-version'), + validRange: require('./ranges/valid'), + outside: require('./ranges/outside'), + gtr: require('./ranges/gtr'), + ltr: require('./ranges/ltr'), + intersects: require('./ranges/intersects'), + simplifyRange: require('./ranges/simplify'), + subset: require('./ranges/subset'), +} + +},{"./classes/comparator":5,"./classes/range":6,"./classes/semver":7,"./functions/clean":8,"./functions/cmp":9,"./functions/coerce":10,"./functions/compare":13,"./functions/compare-build":11,"./functions/compare-loose":12,"./functions/diff":14,"./functions/eq":15,"./functions/gt":16,"./functions/gte":17,"./functions/inc":18,"./functions/lt":19,"./functions/lte":20,"./functions/major":21,"./functions/minor":22,"./functions/neq":23,"./functions/parse":24,"./functions/patch":25,"./functions/prerelease":26,"./functions/rcompare":27,"./functions/rsort":28,"./functions/satisfies":29,"./functions/sort":30,"./functions/valid":31,"./internal/constants":33,"./internal/identifiers":35,"./internal/re":36,"./ranges/gtr":37,"./ranges/intersects":38,"./ranges/ltr":39,"./ranges/max-satisfying":40,"./ranges/min-satisfying":41,"./ranges/min-version":42,"./ranges/outside":43,"./ranges/simplify":44,"./ranges/subset":45,"./ranges/to-comparators":46,"./ranges/valid":47}],33:[function(require,module,exports){ +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +const SEMVER_SPEC_VERSION = '2.0.0' + +const MAX_LENGTH = 256 +const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || + /* istanbul ignore next */ 9007199254740991 + +// Max safe segment length for coercion. +const MAX_SAFE_COMPONENT_LENGTH = 16 + +module.exports = { + SEMVER_SPEC_VERSION, + MAX_LENGTH, + MAX_SAFE_INTEGER, + MAX_SAFE_COMPONENT_LENGTH +} + +},{}],34:[function(require,module,exports){ +(function (process){ +const debug = ( + typeof process === 'object' && + process.env && + process.env.NODE_DEBUG && + /\bsemver\b/i.test(process.env.NODE_DEBUG) +) ? (...args) => console.error('SEMVER', ...args) + : () => {} + +module.exports = debug + +}).call(this,require('_process')) +},{"_process":4}],35:[function(require,module,exports){ +const numeric = /^[0-9]+$/ +const compareIdentifiers = (a, b) => { + const anum = numeric.test(a) + const bnum = numeric.test(b) + + if (anum && bnum) { + a = +a + b = +b + } + + return a === b ? 0 + : (anum && !bnum) ? -1 + : (bnum && !anum) ? 1 + : a < b ? -1 + : 1 +} + +const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a) + +module.exports = { + compareIdentifiers, + rcompareIdentifiers +} + +},{}],36:[function(require,module,exports){ +const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants') +const debug = require('./debug') +exports = module.exports = {} + +// The actual regexps go on exports.re +const re = exports.re = [] +const src = exports.src = [] +const t = exports.t = {} +let R = 0 + +const createToken = (name, value, isGlobal) => { + const index = R++ + debug(index, value) + t[name] = index + src[index] = value + re[index] = new RegExp(value, isGlobal ? 'g' : undefined) +} + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*') +createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+') + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*') + +// ## Main Version +// Three dot-separated numeric identifiers. + +createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})`) + +createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})`) + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. + +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER] +}|${src[t.NONNUMERICIDENTIFIER]})`) + +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE] +}|${src[t.NONNUMERICIDENTIFIER]})`) + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER] +}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`) + +createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE] +}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`) + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+') + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER] +}(?:\\.${src[t.BUILDIDENTIFIER]})*))`) + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +createToken('FULLPLAIN', `v?${src[t.MAINVERSION] +}${src[t.PRERELEASE]}?${ + src[t.BUILD]}?`) + +createToken('FULL', `^${src[t.FULLPLAIN]}$`) + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE] +}${src[t.PRERELEASELOOSE]}?${ + src[t.BUILD]}?`) + +createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`) + +createToken('GTLT', '((?:<|>)?=?)') + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`) +createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`) + +createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:${src[t.PRERELEASE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:${src[t.PRERELEASELOOSE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`) +createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`) + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +createToken('COERCE', `${'(^|[^\\d])' + + '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + + `(?:$|[^\\d])`) +createToken('COERCERTL', src[t.COERCE], true) + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +createToken('LONETILDE', '(?:~>?)') + +createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true) +exports.tildeTrimReplace = '$1~' + +createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`) +createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`) + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +createToken('LONECARET', '(?:\\^)') + +createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true) +exports.caretTrimReplace = '$1^' + +createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`) +createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`) + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`) +createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`) + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT] +}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true) +exports.comparatorTrimReplace = '$1$2$3' + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAIN]})` + + `\\s*$`) + +createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAINLOOSE]})` + + `\\s*$`) + +// Star ranges basically just allow anything at all. +createToken('STAR', '(<|>)?=?\\s*\\*') +// >=0.0.0 is like a star +createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$') +createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$') + +},{"./constants":33,"./debug":34}],37:[function(require,module,exports){ +// Determine if version is greater than all the versions possible in the range. +const outside = require('./outside') +const gtr = (version, range, options) => outside(version, range, '>', options) +module.exports = gtr + +},{"./outside":43}],38:[function(require,module,exports){ +const Range = require('../classes/range') +const intersects = (r1, r2, options) => { + r1 = new Range(r1, options) + r2 = new Range(r2, options) + return r1.intersects(r2) +} +module.exports = intersects + +},{"../classes/range":6}],39:[function(require,module,exports){ +const outside = require('./outside') +// Determine if version is less than all the versions possible in the range +const ltr = (version, range, options) => outside(version, range, '<', options) +module.exports = ltr + +},{"./outside":43}],40:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const Range = require('../classes/range') + +const maxSatisfying = (versions, range, options) => { + let max = null + let maxSV = null + let rangeObj = null + try { + rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { + // compare(max, v, true) + max = v + maxSV = new SemVer(max, options) + } + } + }) + return max +} +module.exports = maxSatisfying + +},{"../classes/range":6,"../classes/semver":7}],41:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const Range = require('../classes/range') +const minSatisfying = (versions, range, options) => { + let min = null + let minSV = null + let rangeObj = null + try { + rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { + // compare(min, v, true) + min = v + minSV = new SemVer(min, options) + } + } + }) + return min +} +module.exports = minSatisfying + +},{"../classes/range":6,"../classes/semver":7}],42:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const Range = require('../classes/range') +const gt = require('../functions/gt') + +const minVersion = (range, loose) => { + range = new Range(range, loose) + + let minver = new SemVer('0.0.0') + if (range.test(minver)) { + return minver + } + + minver = new SemVer('0.0.0-0') + if (range.test(minver)) { + return minver + } + + minver = null + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i] + + comparators.forEach((comparator) => { + // Clone to avoid manipulating the comparator's semver object. + const compver = new SemVer(comparator.semver.version) + switch (comparator.operator) { + case '>': + if (compver.prerelease.length === 0) { + compver.patch++ + } else { + compver.prerelease.push(0) + } + compver.raw = compver.format() + /* fallthrough */ + case '': + case '>=': + if (!minver || gt(minver, compver)) { + minver = compver + } + break + case '<': + case '<=': + /* Ignore maximum versions */ + break + /* istanbul ignore next */ + default: + throw new Error(`Unexpected operation: ${comparator.operator}`) + } + }) + } + + if (minver && range.test(minver)) { + return minver + } + + return null +} +module.exports = minVersion + +},{"../classes/range":6,"../classes/semver":7,"../functions/gt":16}],43:[function(require,module,exports){ +const SemVer = require('../classes/semver') +const Comparator = require('../classes/comparator') +const {ANY} = Comparator +const Range = require('../classes/range') +const satisfies = require('../functions/satisfies') +const gt = require('../functions/gt') +const lt = require('../functions/lt') +const lte = require('../functions/lte') +const gte = require('../functions/gte') + +const outside = (version, range, hilo, options) => { + version = new SemVer(version, options) + range = new Range(range, options) + + let gtfn, ltefn, ltfn, comp, ecomp + switch (hilo) { + case '>': + gtfn = gt + ltefn = lte + ltfn = lt + comp = '>' + ecomp = '>=' + break + case '<': + gtfn = lt + ltefn = gte + ltfn = gt + comp = '<' + ecomp = '<=' + break + default: + throw new TypeError('Must provide a hilo val of "<" or ">"') + } + + // If it satisifes the range it is not outside + if (satisfies(version, range, options)) { + return false + } + + // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i] + + let high = null + let low = null + + comparators.forEach((comparator) => { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0') + } + high = high || comparator + low = low || comparator + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator + } + }) + + // If the edge version comparator has a operator then our version + // isn't outside it + if (high.operator === comp || high.operator === ecomp) { + return false + } + + // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + if ((!low.operator || low.operator === comp) && + ltefn(version, low.semver)) { + return false + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false + } + } + return true +} + +module.exports = outside + +},{"../classes/comparator":5,"../classes/range":6,"../classes/semver":7,"../functions/gt":16,"../functions/gte":17,"../functions/lt":19,"../functions/lte":20,"../functions/satisfies":29}],44:[function(require,module,exports){ +// given a set of versions and a range, create a "simplified" range +// that includes the same versions that the original range does +// If the original range is shorter than the simplified one, return that. +const satisfies = require('../functions/satisfies.js') +const compare = require('../functions/compare.js') +module.exports = (versions, range, options) => { + const set = [] + let min = null + let prev = null + const v = versions.sort((a, b) => compare(a, b, options)) + for (const version of v) { + const included = satisfies(version, range, options) + if (included) { + prev = version + if (!min) + min = version + } else { + if (prev) { + set.push([min, prev]) + } + prev = null + min = null + } + } + if (min) + set.push([min, null]) + + const ranges = [] + for (const [min, max] of set) { + if (min === max) + ranges.push(min) + else if (!max && min === v[0]) + ranges.push('*') + else if (!max) + ranges.push(`>=${min}`) + else if (min === v[0]) + ranges.push(`<=${max}`) + else + ranges.push(`${min} - ${max}`) + } + const simplified = ranges.join(' || ') + const original = typeof range.raw === 'string' ? range.raw : String(range) + return simplified.length < original.length ? simplified : range +} + +},{"../functions/compare.js":13,"../functions/satisfies.js":29}],45:[function(require,module,exports){ +const Range = require('../classes/range.js') +const { ANY } = require('../classes/comparator.js') +const satisfies = require('../functions/satisfies.js') +const compare = require('../functions/compare.js') + +// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff: +// - Every simple range `r1, r2, ...` is a subset of some `R1, R2, ...` +// +// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff: +// - If c is only the ANY comparator +// - If C is only the ANY comparator, return true +// - Else return false +// - Let EQ be the set of = comparators in c +// - If EQ is more than one, return true (null set) +// - Let GT be the highest > or >= comparator in c +// - Let LT be the lowest < or <= comparator in c +// - If GT and LT, and GT.semver > LT.semver, return true (null set) +// - If EQ +// - If GT, and EQ does not satisfy GT, return true (null set) +// - If LT, and EQ does not satisfy LT, return true (null set) +// - If EQ satisfies every C, return true +// - Else return false +// - If GT +// - If GT is lower than any > or >= comp in C, return false +// - If GT is >=, and GT.semver does not satisfy every C, return false +// - If LT +// - If LT.semver is greater than that of any > comp in C, return false +// - If LT is <=, and LT.semver does not satisfy every C, return false +// - If any C is a = range, and GT or LT are set, return false +// - Else return true + +const subset = (sub, dom, options) => { + sub = new Range(sub, options) + dom = new Range(dom, options) + let sawNonNull = false + + OUTER: for (const simpleSub of sub.set) { + for (const simpleDom of dom.set) { + const isSub = simpleSubset(simpleSub, simpleDom, options) + sawNonNull = sawNonNull || isSub !== null + if (isSub) + continue OUTER + } + // the null set is a subset of everything, but null simple ranges in + // a complex range should be ignored. so if we saw a non-null range, + // then we know this isn't a subset, but if EVERY simple range was null, + // then it is a subset. + if (sawNonNull) + return false + } + return true +} + +const simpleSubset = (sub, dom, options) => { + if (sub.length === 1 && sub[0].semver === ANY) + return dom.length === 1 && dom[0].semver === ANY + + const eqSet = new Set() + let gt, lt + for (const c of sub) { + if (c.operator === '>' || c.operator === '>=') + gt = higherGT(gt, c, options) + else if (c.operator === '<' || c.operator === '<=') + lt = lowerLT(lt, c, options) + else + eqSet.add(c.semver) + } + + if (eqSet.size > 1) + return null + + let gtltComp + if (gt && lt) { + gtltComp = compare(gt.semver, lt.semver, options) + if (gtltComp > 0) + return null + else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) + return null + } + + // will iterate one or zero times + for (const eq of eqSet) { + if (gt && !satisfies(eq, String(gt), options)) + return null + + if (lt && !satisfies(eq, String(lt), options)) + return null + + for (const c of dom) { + if (!satisfies(eq, String(c), options)) + return false + } + return true + } + + let higher, lower + let hasDomLT, hasDomGT + for (const c of dom) { + hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>=' + hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<=' + if (gt) { + if (c.operator === '>' || c.operator === '>=') { + higher = higherGT(gt, c, options) + if (higher === c) + return false + } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) + return false + } + if (lt) { + if (c.operator === '<' || c.operator === '<=') { + lower = lowerLT(lt, c, options) + if (lower === c) + return false + } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) + return false + } + if (!c.operator && (lt || gt) && gtltComp !== 0) + return false + } + + // if there was a < or >, and nothing in the dom, then must be false + // UNLESS it was limited by another range in the other direction. + // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0 + if (gt && hasDomLT && !lt && gtltComp !== 0) + return false + + if (lt && hasDomGT && !gt && gtltComp !== 0) + return false + + return true +} + +// >=1.2.3 is lower than >1.2.3 +const higherGT = (a, b, options) => { + if (!a) + return b + const comp = compare(a.semver, b.semver, options) + return comp > 0 ? a + : comp < 0 ? b + : b.operator === '>' && a.operator === '>=' ? b + : a +} + +// <=1.2.3 is higher than <1.2.3 +const lowerLT = (a, b, options) => { + if (!a) + return b + const comp = compare(a.semver, b.semver, options) + return comp < 0 ? a + : comp > 0 ? b + : b.operator === '<' && a.operator === '<=' ? b + : a +} + +module.exports = subset + +},{"../classes/comparator.js":5,"../classes/range.js":6,"../functions/compare.js":13,"../functions/satisfies.js":29}],46:[function(require,module,exports){ +const Range = require('../classes/range') + +// Mostly just for testing and legacy API reasons +const toComparators = (range, options) => + new Range(range, options).set + .map(comp => comp.map(c => c.value).join(' ').trim().split(' ')) + +module.exports = toComparators + +},{"../classes/range":6}],47:[function(require,module,exports){ +const Range = require('../classes/range') +const validRange = (range, options) => { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*' + } catch (er) { + return null + } +} +module.exports = validRange + +},{"../classes/range":6}],48:[function(require,module,exports){ +module.exports = { + name: 'kaleido_scopes', + plotly: require('./plotly/render'), + // Additional plugins go here +} + +},{"./plotly/render":53}],49:[function(require,module,exports){ +module.exports = { + contentFormat: { + png: 'image/png', + jpeg: 'image/jpeg', + webp: 'image/webp', + svg: 'image/svg+xml', + pdf: 'application/pdf', + eps: 'application/postscript', + emf: 'image/emf', + json: 'application/json' + }, + + statusMsg: { + 400: 'invalid or malformed request syntax', + 406: 'requested format is not acceptable', + 525: 'plotly.js error', + 526: 'plotly.js version 1.11.0 or up required', + 527: 'plotly.js version 1.53.0 or up required for exporting to `json`', + 530: 'image conversion error' + }, + + dflt: { + format: 'png', + scale: 1, + width: 700, + height: 500 + }, + + // only used in render for plotly.js < v1.30.0 + imgPrefix: { + base64: /^data:image\/\w+;base64,/, + svg: /^data:image\/svg\+xml,/ + }, + + mathJaxConfigQuery: '?config=TeX-AMS-MML_SVG', + + // time [in ms] after which printToPDF errors when image isn't loaded + pdfPageLoadImgTimeout: 20000 +} + +},{}],50:[function(require,module,exports){ +function isNonEmptyString (v) { + return typeof v === 'string' && v.length > 0 +} + +module.exports = isNonEmptyString + +},{}],51:[function(require,module,exports){ +const isNumeric = require('fast-isnumeric') + +function isPositiveNumeric (v) { + return isNumeric(v) && v > 0 +} + +module.exports = isPositiveNumeric + +},{"fast-isnumeric":1}],52:[function(require,module,exports){ +const cst = require('./constants') +const isPlainObj = require('is-plain-obj') +const isPositiveNumeric = require('./is-positive-numeric') +const isNonEmptyString = require('./is-non-empty-string') + +const contentFormat = cst.contentFormat +const ACCEPT_HEADER = Object.keys(contentFormat).reduce(function (obj, key) { + obj[ contentFormat[key] ] = key + return obj +}, {}) + +/** plotly-graph parse + * + * @param {object} body : JSON-parsed request body + * - figure + * - format + * - scale (only for plotly.js v.1.31.0 and up) + * - width + * - height + * - encoded + * - fid (figure id) + * 0r: + * - data + * - layout + * @param {object} _opts : component options + * - format + * - scale (only for plotly.js v.1.31.0 and up) + * - width + * - height + * - safeMode + * @return {object} + * - errorCode + * - result + */ +function parse (body, _opts) { + const result = {} + + const errorOut = (code, extra) => { + let message = `${cst.statusMsg[code]}` + if (extra) message = `${message} (${extra})` + return {code, message, result: null} + } + + let figure + let opts + + // to support both 'serve' requests (figure/format/../) + // and 'run' body (data/layout) structures + if (body.figure) { + figure = body.figure + opts = body + } else { + figure = body + opts = _opts + } + + result.scale = isPositiveNumeric(opts.scale) ? Number(opts.scale) : cst.dflt.scale + result.fid = isNonEmptyString(opts.fid) ? opts.fid : null + result.encoded = !!opts.encoded + + if (isNonEmptyString(opts.format)) { + if (cst.contentFormat[opts.format]) { + result.format = opts.format + } else { + return errorOut(400, 'wrong format') + } + } else { + result.format = cst.dflt.format; + } + + if (!isPlainObj(figure)) { + return errorOut(400, 'non-object figure') + } + + if (!figure.data && !figure.layout) { + return errorOut(400, 'no \'data\' and no \'layout\' in figure') + } + + result.figure = {} + + if ('data' in figure) { + if (Array.isArray(figure.data)) { + result.figure.data = figure.data + } else { + return errorOut(400, 'non-array figure data') + } + } else { + result.figure.data = [] + } + + if ('layout' in figure) { + if (isPlainObj(figure.layout)) { + result.figure.layout = figure.layout + } else { + return errorOut(400, 'non-object figure layout') + } + } else { + result.figure.layout = {} + } + + result.width = parseDim(result, opts, 'width') + result.height = parseDim(result, opts, 'height') + + if (_opts.safeMode && willFigureHang(result)) { + return errorOut(400, 'figure data is likely to make exporter hang, rejecting request') + } + + return {code: 0, message: null, result} +} + +function parseDim (result, opts, dim) { + const layout = result.figure.layout + + if (isPositiveNumeric(opts[dim])) { + return Number(opts[dim]) + } else if (isPositiveNumeric(layout[dim]) && !layout.autosize) { + return Number(layout[dim]) + } else { + return cst.dflt[dim] + } +} + +function willFigureHang (result) { + const data = result.figure.data + + // cap the number of traces + if (data.length > 200) return true + + let maxPtBudget = 0 + + for (let i = 0; i < data.length; i++) { + const trace = data[i] || {} + + // cap the number of points using a budget + maxPtBudget += estimateDataLength(trace) / maxPtsPerTrace(trace) + if (maxPtBudget > 1) return true + } +} + +// Consider the array of maximum length as a proxy to determine +// the number of points to be drawn. In general, this estimate +// can be (much) smaller than the true number of points plotted +// when it does not match the length of the other coordinate arrays. +function findMaxArrayLength (cont) { + const arrays = Object.keys(cont) + .filter(k => Array.isArray(cont[k])) + .map(k => cont[k]) + + const lengths = arrays.map(arr => { + if (Array.isArray(arr[0])) { + // 2D array case + return arr.reduce((a, r) => a + r.length, 0) + } else { + return arr.length + } + }) + + return Math.max(0, ...lengths) +} + +function estimateDataLength (trace) { + const topLevel = findMaxArrayLength(trace) + let dimLevel = 0 + let cellLevel = 0 + + // special case for e.g. parcoords and splom traces + if (Array.isArray(trace.dimensions)) { + dimLevel = trace.dimensions + .map(findMaxArrayLength) + .reduce((a, v) => a + v) + } + + // special case for e.g. table traces + if (isPlainObj(trace.cells)) { + cellLevel = findMaxArrayLength(trace.cells) + } + + return Math.max(topLevel, dimLevel, cellLevel) +} + +function maxPtsPerTrace (trace) { + const type = trace.type || 'scatter' + + switch (type) { + case 'scattergl': + case 'splom': + case 'pointcloud': + case 'table': + return 1e7 + + case 'scatterpolargl': + case 'heatmap': + case 'heatmapgl': + return 1e6 + + case 'scatter3d': + case 'surface': + return 5e5 + + case 'mesh3d': + if ('alphahull' in trace && Number(trace.alphahull) >= 0) { + return 1000 + } else { + return 5e5 + } + + case 'parcoords': + return 5e5 + case 'scattermapbox': + return 5e5 + + case 'histogram': + case 'histogram2d': + case 'histogram2dcontour': + return 1e6 + + case 'box': + if (trace.boxpoints === 'all') { + return 5e4 + } else { + return 1e6 + } + case 'violin': + if (trace.points === 'all') { + return 5e4 + } else { + return 1e6 + } + + default: + return 5e4 + } +} + +module.exports = parse + +},{"./constants":49,"./is-non-empty-string":50,"./is-positive-numeric":51,"is-plain-obj":2}],53:[function(require,module,exports){ +/* global Plotly:false */ + +const semver = require('semver') +const cst = require('./constants') +const parse = require('./parse') + +/** + * @param {object} info : info object + * - data + * - format + * - width + * - height + * - scale + * - encoded + * @param {string} mapboxAccessToken: mapboxAccessToken + * @param {string} topojsonURL + */ +function render (info, mapboxAccessToken, topojsonURL) { + let opts = {}; + + if (mapboxAccessToken !== undefined && mapboxAccessToken.length > 0) { + opts.mapboxAccessToken = mapboxAccessToken; + } + if (topojsonURL !== undefined && topojsonURL.length > 0) { + opts.topojsonURL = topojsonURL; + } + + // Rename info.data to info.figure + info.figure = info.data + delete info.data; + + // Parse request + let parsed = parse(info, opts); + if (parsed.code !== 0) { + // Bad request return promise with error info + return new Promise((resolve) => {resolve(parsed)}) + } + + // Use parsed export request + info = parsed.result; + const figure = info.figure; + const format = info.format; + const encoded = info.encoded; + + // Build default config, and let figure.config override it + const defaultConfig = { + mapboxAccessToken: opts.mapboxAccessToken || null, + plotGlPixelRatio: info.scale * 2 + } + if (opts.topojsonURL) { + defaultConfig.topojsonURL = opts.topojsonURL + } + + const config = Object.assign(defaultConfig, figure.config) + + let errorCode = 0 + let result = null + let errorMsg = null + let pdfBgColor = null + const done = () => { + if (errorCode !== 0 && !errorMsg) { + errorMsg = cst.statusMsg[errorCode] + } + + return { + code: errorCode, + message: errorMsg, + pdfBgColor, + format, + result, + width: info.width, + height: info.height, + scale: info.scale, + } + } + + const PRINT_TO_PDF = (format === 'pdf' || format === 'eps') + const PRINT_TO_EMF = (format === 'emf') + + let imgOptsFormat + if (PRINT_TO_PDF || PRINT_TO_EMF) { + imgOptsFormat = 'svg' + } else if (format === 'json') { + imgOptsFormat = 'full-json' + } else { + imgOptsFormat = format + } + + // stash `paper_bgcolor` here in order to set the pdf window bg color + const pdfBackground = (gd, _bgColor) => { + if (!pdfBgColor) pdfBgColor = _bgColor + gd._fullLayout.paper_bgcolor = 'rgba(0,0,0,0)' + } + + const imgOpts = { + format: imgOptsFormat, + width: info.width, + height: info.height, + // only works as of plotly.js v1.31.0 + scale: info.scale, + // return image data w/o the leading 'data:image' spec + imageDataOnly: PRINT_TO_EMF || (!PRINT_TO_PDF && !encoded), + // blend (emf|jpeg) background color as (emf|jpeg) does not support transparency + setBackground: (format === 'jpeg' || format === 'emf') ? 'opaque' + : PRINT_TO_PDF ? pdfBackground + : '' + } + + if ( + // 'full-json' was introduced in plotly.js v1.53.0 + // see: https://github.com/plotly/plotly.js/releases/tag/v1.53.0 + imgOpts.format === 'full-json' && semver.lt(Plotly.version, '1.53.0') + ) { + errorCode = 527 + errorMsg = `plotly.js version: ${Plotly.version}` + return new Promise((resolve) => {resolve(done())}) + } + + let promise + + if (semver.gte(Plotly.version, '1.30.0')) { + promise = Plotly + .toImage({ data: figure.data, layout: figure.layout, config: config }, imgOpts) + } else if (semver.gte(Plotly.version, '1.11.0')) { + const gd = document.createElement('div') + + promise = Plotly + .newPlot(gd, figure.data, figure.layout, config) + .then(() => Plotly.toImage(gd, imgOpts)) + .then((imgData) => { + Plotly.purge(gd) + + switch (format) { + case 'png': + case 'jpeg': + case 'webp': + if (encoded) { + return imgData + } else { + return imgData.replace(cst.imgPrefix.base64, '') + } + case 'svg': + if (encoded) { + return imgData + } else { + return decodeSVG(imgData) + } + case 'pdf': + case 'eps': + case 'emf': + return imgData + } + }) + } else { + errorCode = 526 + errorMsg = `plotly.js version: ${Plotly.version}` + return new Promise((resolve) => {resolve(done())}) + } + + const img = document.getElementById("kaleido-image") + const style = document.getElementById("head-style") + + let exportPromise = promise.then((imgData) => { + result = imgData + return done() + }) + + if (PRINT_TO_PDF) { + exportPromise = exportPromise.then((response) => { + // Retrun promise that resolves when the image is loaded in the element + return new Promise((resolve, reject) => { + style.innerHTML = ` + @page { size: ${info.width * info.scale}px ${info.height * info.scale}px; } + body { margin: 0; padding: 0; background-color: ${pdfBgColor} } + ` + img.onload = resolve + img.onerror = reject + img.src = response.result + setTimeout(() => reject(new Error('too long to load image')), cst.pdfPageLoadImgTimeout) + }).then(() => { + // We don't need to transport image bytes back to C++ since PDF export will be performed + result = null; + return done() + }) + }) + } + + return exportPromise + .catch((err) => { + errorCode = 525 + errorMsg = err.message + result = null; + return done() + }) +} + +function decodeSVG (imgData) { + return window.decodeURIComponent(imgData.replace(cst.imgPrefix.svg, '')) +} + +module.exports = render + +},{"./constants":49,"./parse":52,"semver":32}]},{},[48])(48) +}); From 4b9304d6c777602412b0d9d1ea2d3d541df40b4e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 18:59:53 -0400 Subject: [PATCH 458/510] Shim over old API's internal shutdown --- src/py/kaleido/scopes/plotly.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index 9671503b..d150dd3e 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -209,3 +209,7 @@ def mapbox_access_token(self): def mapbox_access_token(self, val): self._mapbox_access_token = val self._shutdown_kaleido() + + def _shutdown_kaleido(self): + pass + # TODO: #2 deprecate, but also used to reset HTML From eb3574671a1e21e346f75ac09b4de294c1f33f3b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 8 Oct 2024 19:01:12 -0400 Subject: [PATCH 459/510] Add issue in TOOD --- ISSUES | 1 + 1 file changed, 1 insertion(+) diff --git a/ISSUES b/ISSUES index 1d821466..78fc9337 100644 --- a/ISSUES +++ b/ISSUES @@ -4,6 +4,7 @@ - [x] #4: Build not picking up version tag :-( <-- not picking up repo at all - [x] #5: Can't import - [ ] #6: Will permanently need more from old api (prepare spec) +- [ ] #7: Move over more from devtools? From 1758414828a16384598ce57489442efe7d57d55c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 17 Oct 2024 10:08:14 -0400 Subject: [PATCH 460/510] Update dependency to choreographer --- src/py/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/py/pyproject.toml b/src/py/pyproject.toml index 1e407713..57f8294d 100644 --- a/src/py/pyproject.toml +++ b/src/py/pyproject.toml @@ -18,7 +18,7 @@ license = {file = "LICENSE.txt"} readme = "README.md" requires-python = ">=3.9" dynamic = ["version"] -dependencies = ["devtools"] +dependencies = ["choreographer"] authors = [ {name = "Andrew Pikul", email = "ajpikul@gmail.com"}, ] From 8586067095c24ca76e3976387075fe1c5faebce0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 17 Oct 2024 10:22:32 -0400 Subject: [PATCH 461/510] Change import from devtools to choreographer --- src/py/kaleido/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index b6af3a75..f2409e8f 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -4,7 +4,7 @@ import base64 import json -from devtools import Browser +from choreographer import Browser From 0a7d76e14feed02441ca7ebcdbd8b236bf14cc4e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 17 Oct 2024 10:29:38 -0400 Subject: [PATCH 462/510] Change headless to True --- src/py/kaleido/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index f2409e8f..c285eab3 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -7,7 +7,6 @@ from choreographer import Browser - script_path = Path(__file__).resolve().parent / "vendor" / "index.html" _all_formats_ = ("png", "jpg", "jpeg", "webp", "svg", "pdf", "eps", "json") @@ -28,7 +27,7 @@ def to_image_block(spec): return asyncio.run(to_image(spec)) async def to_image(spec): - async with Browser(headless=False) as browser: + async with Browser(headless=True) as browser: tab = await browser.create_tab(script_path.as_uri()) await tab.send_command("Page.enable") await tab.send_command("Runtime.enable") From cbeb08f313da927989b15245f0fdb497e041c50e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 17 Oct 2024 17:26:58 -0400 Subject: [PATCH 463/510] Fix result access to ensure text formats --- src/py/kaleido/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index c285eab3..a615f413 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -71,11 +71,15 @@ async def load_done_cb(response): ) ) try: - img = json.loads(response.get("result").get("result").get("value")).get("result") + js_response = json.loads(response.get("result").get("result").get("value")) + response_format = js_response.get("format") + img = js_response.get("result") except Exception as e: raise RuntimeError(response) from e # Base64 decode binary types - if format not in _text_formats_: + if response_format not in _text_formats_: img = base64.b64decode(img) + else: + img = str.encode(img) return img From 115b32edabacd6b6331214585d8e512a4fc339fc Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 17 Oct 2024 17:36:33 -0400 Subject: [PATCH 464/510] Temporary disable pdf and eps --- src/py/kaleido/__init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index a615f413..3272e319 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -9,8 +9,9 @@ script_path = Path(__file__).resolve().parent / "vendor" / "index.html" -_all_formats_ = ("png", "jpg", "jpeg", "webp", "svg", "pdf", "eps", "json") -_text_formats_ = ("svg", "json", "eps") +# pdf and eps temporarily disabled +_all_formats_ = ("png", "jpg", "jpeg", "webp", "svg", "json") # pdf and eps +_text_formats_ = ("svg", "json",) # eps _scope_flags_ = ("plotlyjs", "mathjax", "topojson", "mapbox_access_token") From c594c14c0bf188c8874c2ba391f0fa44f4ba6655 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 17 Oct 2024 17:38:19 -0400 Subject: [PATCH 465/510] Remove issues --- ISSUES | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 ISSUES diff --git a/ISSUES b/ISSUES deleted file mode 100644 index 78fc9337..00000000 --- a/ISSUES +++ /dev/null @@ -1,12 +0,0 @@ -- [ ] #1: Vendor mathjax -- [ ] #2: Add switch deprecation warnings (See TODO) -- [ ] #3: TODO: Obey plolty versions switches (plotlyjs, mathjax, openmapbox) -- [x] #4: Build not picking up version tag :-( <-- not picking up repo at all -- [x] #5: Can't import -- [ ] #6: Will permanently need more from old api (prepare spec) -- [ ] #7: Move over more from devtools? - - - -NOTES: -Eliminated conda search for mathjax, they can use a custom path From 2ce8e8c290a7358bf5f4cd7661ff0354f763242c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 17 Oct 2024 18:07:14 -0400 Subject: [PATCH 466/510] Block use of old API w/ asyncio --- src/py/kaleido/__init__.py | 4 +- src/py/kaleido/scopes/plotly.py | 65 +++++++++++++++++---------------- 2 files changed, 36 insertions(+), 33 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 3272e319..9c9523ff 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -3,6 +3,7 @@ import asyncio import base64 import json +from threading import Thread from choreographer import Browser @@ -22,8 +23,7 @@ def to_image_block(spec): except RuntimeError: pass if loop: - # TODO: create thread and post the new loop there and run the thing and return it in a message queue :-( - ... + raise RuntimeError("Kaleido doesn't support asyncio + the old kaleido API yet.") else: return asyncio.run(to_image(spec)) diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index d150dd3e..f66b996f 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -73,36 +73,7 @@ def scope_name(self): # TODO: #2 This is deprecated return "plotly" - def transform(self, figure, format=None, width=None, height=None, scale=None): - """ - Convert a Plotly figure into a static image - - :param figure: Plotly figure or figure dictionary - :param format: The desired image format. One of - 'png', 'jpg', 'jpeg', 'webp', 'svg', 'pdf', or 'json'. - - If 'json', the following arguments are ignored and a full - JSON representation of the figure is returned. - - If not specified, will default to the `scope.default_format` property - :param width: The width of the exported image in layout pixels. - If the `scale` property is 1.0, this will also be the width - of the exported image in physical pixels. - - If not specified, will default to the `scope.default_width` property - :param height: The height of the exported image in layout pixels. - If the `scale` property is 1.0, this will also be the height - of the exported image in physical pixels. - - If not specified, will default to the `scope.default_height` property - :param scale: The scale factor to use when exporting the figure. - A scale factor larger than 1.0 will increase the image resolution - with respect to the figure's layout pixel dimensions. Whereas as - scale factor of less than 1.0 will decrease the image resolution. - - If not specified, will default to the `scope.default_scale` property - :return: image bytes - """ + def make_spec(self, figure, format=None, width=None, height=None, scale=None): # TODO: validate args if isinstance(figure, Figure): figure = figure.to_dict() @@ -147,7 +118,39 @@ def transform(self, figure, format=None, width=None, height=None, scale=None): js_args = dict(format=format, width=width, height=height, scale=scale) - spec = dict(js_args, data = figure) + return dict(js_args, data = figure) + + def transform(self, figure, format=None, width=None, height=None, scale=None): + """ + Convert a Plotly figure into a static image + + :param figure: Plotly figure or figure dictionary + :param format: The desired image format. One of + 'png', 'jpg', 'jpeg', 'webp', 'svg', 'pdf', or 'json'. + + If 'json', the following arguments are ignored and a full + JSON representation of the figure is returned. + + If not specified, will default to the `scope.default_format` property + :param width: The width of the exported image in layout pixels. + If the `scale` property is 1.0, this will also be the width + of the exported image in physical pixels. + + If not specified, will default to the `scope.default_width` property + :param height: The height of the exported image in layout pixels. + If the `scale` property is 1.0, this will also be the height + of the exported image in physical pixels. + + If not specified, will default to the `scope.default_height` property + :param scale: The scale factor to use when exporting the figure. + A scale factor larger than 1.0 will increase the image resolution + with respect to the figure's layout pixel dimensions. Whereas as + scale factor of less than 1.0 will decrease the image resolution. + + If not specified, will default to the `scope.default_scale` property + :return: image bytes + """ + spec = self.make_spec(figure, format=format, width=width, height=height, scale=scale) # Write to process and read result within a lock so that can be # sure we're reading the response to our request From f8122653373dac33ab0ffada0d8978a1d653c898 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 17 Oct 2024 18:09:10 -0400 Subject: [PATCH 467/510] Remove unused import --- src/py/kaleido/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 9c9523ff..dad3f6a0 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -3,7 +3,6 @@ import asyncio import base64 import json -from threading import Thread from choreographer import Browser From 26d8c6a70a197f41e7f10825dad4f998a4293f98 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 20 Oct 2024 20:05:21 -0400 Subject: [PATCH 468/510] Vendor mathjax --- src/py/kaleido/vendor/Mathjax-2.7.5.zip | Bin 0 -> 1931789 bytes src/py/kaleido/vendor/Mathjax-2.7.5/LICENSE | 202 + .../kaleido/vendor/Mathjax-2.7.5/MathJax.js | 3324 +++++++++++++++++ src/py/kaleido/vendor/Mathjax-2.7.5/README.md | 53 + .../Mathjax-2.7.5/config/AM_CHTML-full.js | 21 + .../vendor/Mathjax-2.7.5/config/AM_CHTML.js | 21 + .../Mathjax-2.7.5/config/AM_HTMLorMML-full.js | 22 + .../Mathjax-2.7.5/config/AM_HTMLorMML.js | 22 + .../Mathjax-2.7.5/config/AM_SVG-full.js | 21 + .../vendor/Mathjax-2.7.5/config/AM_SVG.js | 21 + .../Mathjax-2.7.5/config/Accessible-full.js | 30 + .../vendor/Mathjax-2.7.5/config/Accessible.js | 30 + .../Mathjax-2.7.5/config/MML_CHTML-full.js | 21 + .../vendor/Mathjax-2.7.5/config/MML_CHTML.js | 21 + .../config/MML_HTMLorMML-full.js | 22 + .../Mathjax-2.7.5/config/MML_HTMLorMML.js | 22 + .../Mathjax-2.7.5/config/MML_SVG-full.js | 21 + .../vendor/Mathjax-2.7.5/config/MML_SVG.js | 21 + .../vendor/Mathjax-2.7.5/config/MMLorHTML.js | 111 + .../vendor/Mathjax-2.7.5/config/Safe.js | 37 + .../config/TeX-AMS-MML_HTMLorMML-full.js | 22 + .../config/TeX-AMS-MML_HTMLorMML.js | 22 + .../config/TeX-AMS-MML_SVG-full.js | 21 + .../Mathjax-2.7.5/config/TeX-AMS-MML_SVG.js | 21 + .../config/TeX-AMS_CHTML-full.js | 21 + .../Mathjax-2.7.5/config/TeX-AMS_CHTML.js | 21 + .../Mathjax-2.7.5/config/TeX-AMS_HTML-full.js | 21 + .../Mathjax-2.7.5/config/TeX-AMS_HTML.js | 21 + .../Mathjax-2.7.5/config/TeX-AMS_SVG-full.js | 21 + .../Mathjax-2.7.5/config/TeX-AMS_SVG.js | 21 + .../config/TeX-MML-AM_CHTML-full.js | 21 + .../Mathjax-2.7.5/config/TeX-MML-AM_CHTML.js | 21 + .../config/TeX-MML-AM_HTMLorMML-full.js | 22 + .../config/TeX-MML-AM_HTMLorMML.js | 22 + .../config/TeX-MML-AM_SVG-full.js | 21 + .../Mathjax-2.7.5/config/TeX-MML-AM_SVG.js | 21 + .../vendor/Mathjax-2.7.5/config/default.js | 1104 ++++++ .../Mathjax-2.7.5/config/local/local.js | 40 + .../Mathjax-2.7.5/extensions/AssistiveMML.js | 161 + .../Mathjax-2.7.5/extensions/CHTML-preview.js | 30 + .../Mathjax-2.7.5/extensions/FontWarnings.js | 313 ++ .../extensions/HTML-CSS/handle-floats.js | 49 + .../Mathjax-2.7.5/extensions/HelpDialog.js | 203 + .../Mathjax-2.7.5/extensions/MatchWebFonts.js | 309 ++ .../Mathjax-2.7.5/extensions/MathEvents.js | 619 +++ .../extensions/MathML/content-mathml.js | 1743 +++++++++ .../Mathjax-2.7.5/extensions/MathML/mml3.js | 784 ++++ .../Mathjax-2.7.5/extensions/MathMenu.js | 1664 +++++++++ .../Mathjax-2.7.5/extensions/MathZoom.js | 366 ++ .../vendor/Mathjax-2.7.5/extensions/Safe.js | 428 +++ .../Mathjax-2.7.5/extensions/TeX/AMScd.js | 158 + .../Mathjax-2.7.5/extensions/TeX/AMSmath.js | 658 ++++ .../extensions/TeX/AMSsymbols.js | 349 ++ .../Mathjax-2.7.5/extensions/TeX/HTML.js | 106 + .../Mathjax-2.7.5/extensions/TeX/action.js | 83 + .../Mathjax-2.7.5/extensions/TeX/autobold.js | 50 + .../extensions/TeX/autoload-all.js | 83 + .../Mathjax-2.7.5/extensions/TeX/bbox.js | 102 + .../extensions/TeX/begingroup.js | 292 ++ .../extensions/TeX/boldsymbol.js | 75 + .../Mathjax-2.7.5/extensions/TeX/cancel.js | 110 + .../Mathjax-2.7.5/extensions/TeX/color.js | 281 ++ .../Mathjax-2.7.5/extensions/TeX/enclose.js | 91 + .../Mathjax-2.7.5/extensions/TeX/extpfeil.js | 102 + .../extensions/TeX/mathchoice.js | 107 + .../extensions/TeX/mediawiki-texvc.js | 137 + .../Mathjax-2.7.5/extensions/TeX/mhchem.js | 520 +++ .../extensions/TeX/mhchem3/mhchem.js | 1770 +++++++++ .../extensions/TeX/newcommand.js | 270 ++ .../Mathjax-2.7.5/extensions/TeX/noErrors.js | 405 ++ .../extensions/TeX/noUndefined.js | 72 + .../Mathjax-2.7.5/extensions/TeX/unicode.js | 170 + .../Mathjax-2.7.5/extensions/TeX/verb.js | 61 + .../extensions/a11y/accessibility-menu.js | 1 + .../extensions/a11y/auto-collapse.js | 1 + .../extensions/a11y/collapsible.js | 1 + .../Mathjax-2.7.5/extensions/a11y/explorer.js | 1 + .../extensions/a11y/invalid_keypress.mp3 | Bin 0 -> 9030 bytes .../extensions/a11y/invalid_keypress.ogg | Bin 0 -> 5353 bytes .../extensions/a11y/mathjax-sre.js | 985 +++++ .../a11y/mathmaps/en/functions/algebra.js | 1 + .../a11y/mathmaps/en/functions/elementary.js | 1 + .../a11y/mathmaps/en/functions/hyperbolic.js | 1 + .../mathmaps/en/functions/trigonometry.js | 1 + .../a11y/mathmaps/en/symbols/greek-capital.js | 1 + .../en/symbols/greek-mathfonts-bold.js | 1 + .../en/symbols/greek-mathfonts-italic.js | 1 + .../greek-mathfonts-sans-serif-bold.js | 1 + .../a11y/mathmaps/en/symbols/greek-scripts.js | 1 + .../a11y/mathmaps/en/symbols/greek-small.js | 1 + .../a11y/mathmaps/en/symbols/greek-symbols.js | 1 + .../mathmaps/en/symbols/hebrew_letters.js | 1 + .../en/symbols/latin-lower-double-accent.js | 1 + .../mathmaps/en/symbols/latin-lower-normal.js | 1 + .../en/symbols/latin-lower-phonetic.js | 1 + .../en/symbols/latin-lower-single-accent.js | 1 + .../symbols/latin-mathfonts-bold-fraktur.js | 1 + .../en/symbols/latin-mathfonts-bold-script.js | 1 + .../en/symbols/latin-mathfonts-bold.js | 1 + .../symbols/latin-mathfonts-double-struck.js | 1 + .../en/symbols/latin-mathfonts-fraktur.js | 1 + .../en/symbols/latin-mathfonts-italic.js | 1 + .../en/symbols/latin-mathfonts-monospace.js | 1 + .../latin-mathfonts-sans-serif-bold.js | 1 + .../latin-mathfonts-sans-serif-italic.js | 1 + .../en/symbols/latin-mathfonts-sans-serif.js | 1 + .../en/symbols/latin-mathfonts-script.js | 1 + .../a11y/mathmaps/en/symbols/latin-rest.js | 1 + .../en/symbols/latin-upper-double-accent.js | 1 + .../mathmaps/en/symbols/latin-upper-normal.js | 1 + .../en/symbols/latin-upper-single-accent.js | 1 + .../a11y/mathmaps/en/symbols/math_angles.js | 1 + .../a11y/mathmaps/en/symbols/math_arrows.js | 1 + .../mathmaps/en/symbols/math_characters.js | 1 + .../mathmaps/en/symbols/math_delimiters.js | 1 + .../a11y/mathmaps/en/symbols/math_digits.js | 1 + .../a11y/mathmaps/en/symbols/math_geometry.js | 1 + .../a11y/mathmaps/en/symbols/math_harpoons.js | 1 + .../en/symbols/math_non_characters.js | 1 + .../a11y/mathmaps/en/symbols/math_symbols.js | 1 + .../mathmaps/en/symbols/math_whitespace.js | 1 + .../a11y/mathmaps/en/symbols/other_stars.js | 1 + .../a11y/mathmaps/en/units/energy.js | 1 + .../a11y/mathmaps/en/units/length.js | 1 + .../a11y/mathmaps/en/units/memory.js | 1 + .../a11y/mathmaps/en/units/other.js | 1 + .../a11y/mathmaps/en/units/speed.js | 1 + .../a11y/mathmaps/en/units/temperature.js | 1 + .../extensions/a11y/mathmaps/en/units/time.js | 1 + .../a11y/mathmaps/en/units/volume.js | 1 + .../a11y/mathmaps/en/units/weight.js | 1 + .../a11y/mathmaps/es/functions/algebra.js | 1 + .../a11y/mathmaps/es/functions/elementary.js | 1 + .../a11y/mathmaps/es/functions/hyperbolic.js | 1 + .../mathmaps/es/functions/trigonometry.js | 1 + .../a11y/mathmaps/es/symbols/greek-capital.js | 1 + .../es/symbols/greek-mathfonts-bold.js | 1 + .../es/symbols/greek-mathfonts-italic.js | 1 + .../greek-mathfonts-sans-serif-bold.js | 1 + .../a11y/mathmaps/es/symbols/greek-scripts.js | 1 + .../a11y/mathmaps/es/symbols/greek-small.js | 1 + .../a11y/mathmaps/es/symbols/greek-symbols.js | 1 + .../mathmaps/es/symbols/hebrew_letters.js | 1 + .../es/symbols/latin-lower-double-accent.js | 1 + .../mathmaps/es/symbols/latin-lower-normal.js | 1 + .../es/symbols/latin-lower-phonetic.js | 1 + .../es/symbols/latin-lower-single-accent.js | 1 + .../symbols/latin-mathfonts-bold-fraktur.js | 1 + .../es/symbols/latin-mathfonts-bold-script.js | 1 + .../es/symbols/latin-mathfonts-bold.js | 1 + .../symbols/latin-mathfonts-double-struck.js | 1 + .../es/symbols/latin-mathfonts-fraktur.js | 1 + .../es/symbols/latin-mathfonts-italic.js | 1 + .../es/symbols/latin-mathfonts-monospace.js | 1 + .../latin-mathfonts-sans-serif-bold.js | 1 + .../latin-mathfonts-sans-serif-italic.js | 1 + .../es/symbols/latin-mathfonts-sans-serif.js | 1 + .../es/symbols/latin-mathfonts-script.js | 1 + .../a11y/mathmaps/es/symbols/latin-rest.js | 1 + .../es/symbols/latin-upper-double-accent.js | 1 + .../mathmaps/es/symbols/latin-upper-normal.js | 1 + .../es/symbols/latin-upper-single-accent.js | 1 + .../a11y/mathmaps/es/symbols/math_angles.js | 1 + .../a11y/mathmaps/es/symbols/math_arrows.js | 1 + .../mathmaps/es/symbols/math_characters.js | 1 + .../mathmaps/es/symbols/math_delimiters.js | 1 + .../a11y/mathmaps/es/symbols/math_digits.js | 1 + .../a11y/mathmaps/es/symbols/math_geometry.js | 1 + .../a11y/mathmaps/es/symbols/math_harpoons.js | 1 + .../es/symbols/math_non_characters.js | 1 + .../a11y/mathmaps/es/symbols/math_symbols.js | 1 + .../mathmaps/es/symbols/math_whitespace.js | 1 + .../a11y/mathmaps/es/symbols/other_stars.js | 1 + .../a11y/mathmaps/es/units/energy.js | 1 + .../a11y/mathmaps/es/units/length.js | 1 + .../a11y/mathmaps/es/units/memory.js | 1 + .../a11y/mathmaps/es/units/other.js | 1 + .../a11y/mathmaps/es/units/speed.js | 1 + .../a11y/mathmaps/es/units/temperature.js | 1 + .../extensions/a11y/mathmaps/es/units/time.js | 1 + .../a11y/mathmaps/es/units/volume.js | 1 + .../a11y/mathmaps/es/units/weight.js | 1 + .../extensions/a11y/mathmaps/mathmaps_ie.js | 308 ++ .../extensions/a11y/semantic-enrich.js | 1 + .../extensions/a11y/wgxpath.install.js | 77 + .../Mathjax-2.7.5/extensions/asciimath2jax.js | 254 ++ .../Mathjax-2.7.5/extensions/fast-preview.js | 155 + .../Mathjax-2.7.5/extensions/jsMath2jax.js | 105 + .../Mathjax-2.7.5/extensions/mml2jax.js | 263 ++ .../Mathjax-2.7.5/extensions/tex2jax.js | 319 ++ .../Mathjax-2.7.5/extensions/toMathML.js | 241 ++ .../Mathjax-2.7.5/jax/element/mml/jax.js | 1813 +++++++++ .../jax/element/mml/optable/Arrows.js | 122 + .../jax/element/mml/optable/BasicLatin.js | 65 + .../element/mml/optable/CombDiacritMarks.js | 35 + .../mml/optable/CombDiactForSymbols.js | 36 + .../jax/element/mml/optable/Dingbats.js | 38 + .../element/mml/optable/GeneralPunctuation.js | 42 + .../element/mml/optable/GeometricShapes.js | 66 + .../jax/element/mml/optable/GreekAndCoptic.js | 35 + .../element/mml/optable/Latin1Supplement.js | 37 + .../element/mml/optable/LetterlikeSymbols.js | 36 + .../jax/element/mml/optable/MathOperators.js | 228 ++ .../element/mml/optable/MiscMathSymbolsA.js | 42 + .../element/mml/optable/MiscMathSymbolsB.js | 168 + .../mml/optable/MiscSymbolsAndArrows.js | 36 + .../jax/element/mml/optable/MiscTechnical.js | 40 + .../element/mml/optable/SpacingModLetters.js | 38 + .../element/mml/optable/SuppMathOperators.js | 289 ++ .../mml/optable/SupplementalArrowsA.js | 40 + .../mml/optable/SupplementalArrowsB.js | 162 + .../jax/input/AsciiMath/config.js | 46 + .../Mathjax-2.7.5/jax/input/AsciiMath/jax.js | 1540 ++++++++ .../Mathjax-2.7.5/jax/input/MathML/config.js | 41 + .../jax/input/MathML/entities/a.js | 90 + .../jax/input/MathML/entities/b.js | 116 + .../jax/input/MathML/entities/c.js | 114 + .../jax/input/MathML/entities/d.js | 112 + .../jax/input/MathML/entities/e.js | 92 + .../jax/input/MathML/entities/f.js | 60 + .../jax/input/MathML/entities/fr.js | 79 + .../jax/input/MathML/entities/g.js | 83 + .../jax/input/MathML/entities/h.js | 52 + .../jax/input/MathML/entities/i.js | 86 + .../jax/input/MathML/entities/j.js | 35 + .../jax/input/MathML/entities/k.js | 37 + .../jax/input/MathML/entities/l.js | 179 + .../jax/input/MathML/entities/m.js | 61 + .../jax/input/MathML/entities/n.js | 220 ++ .../jax/input/MathML/entities/o.js | 90 + .../jax/input/MathML/entities/opf.js | 79 + .../jax/input/MathML/entities/p.js | 84 + .../jax/input/MathML/entities/q.js | 35 + .../jax/input/MathML/entities/r.js | 138 + .../jax/input/MathML/entities/s.js | 170 + .../jax/input/MathML/entities/scr.js | 79 + .../jax/input/MathML/entities/t.js | 86 + .../jax/input/MathML/entities/u.js | 92 + .../jax/input/MathML/entities/v.js | 73 + .../jax/input/MathML/entities/w.js | 35 + .../jax/input/MathML/entities/x.js | 47 + .../jax/input/MathML/entities/y.js | 41 + .../jax/input/MathML/entities/z.js | 42 + .../Mathjax-2.7.5/jax/input/MathML/jax.js | 781 ++++ .../Mathjax-2.7.5/jax/input/TeX/config.js | 54 + .../vendor/Mathjax-2.7.5/jax/input/TeX/jax.js | 2371 ++++++++++++ .../CommonHTML/autoload/annotation-xml.js | 60 + .../jax/output/CommonHTML/autoload/maction.js | 178 + .../output/CommonHTML/autoload/menclose.js | 317 ++ .../jax/output/CommonHTML/autoload/mglyph.js | 94 + .../CommonHTML/autoload/mmultiscripts.js | 296 ++ .../jax/output/CommonHTML/autoload/ms.js | 73 + .../jax/output/CommonHTML/autoload/mtable.js | 602 +++ .../output/CommonHTML/autoload/multiline.js | 793 ++++ .../jax/output/CommonHTML/config.js | 64 + .../CommonHTML/fonts/TeX/AMS-Regular.js | 289 ++ .../CommonHTML/fonts/TeX/Caligraphic-Bold.js | 99 + .../CommonHTML/fonts/TeX/Fraktur-Bold.js | 125 + .../CommonHTML/fonts/TeX/Fraktur-Regular.js | 125 + .../output/CommonHTML/fonts/TeX/Main-Bold.js | 208 ++ .../CommonHTML/fonts/TeX/Math-BoldItalic.js | 208 ++ .../CommonHTML/fonts/TeX/SansSerif-Bold.js | 152 + .../CommonHTML/fonts/TeX/SansSerif-Italic.js | 152 + .../CommonHTML/fonts/TeX/SansSerif-Regular.js | 152 + .../CommonHTML/fonts/TeX/Script-Regular.js | 88 + .../fonts/TeX/Typewriter-Regular.js | 155 + .../CommonHTML/fonts/TeX/fontdata-extra.js | 240 ++ .../output/CommonHTML/fonts/TeX/fontdata.js | 1784 +++++++++ .../jax/output/CommonHTML/jax.js | 2841 ++++++++++++++ .../jax/output/NativeMML/config.js | 52 + .../Mathjax-2.7.5/jax/output/NativeMML/jax.js | 1431 +++++++ .../jax/output/PlainSource/config.js | 49 + .../jax/output/PlainSource/jax.js | 184 + .../jax/output/PreviewHTML/config.js | 54 + .../jax/output/PreviewHTML/jax.js | 1096 ++++++ .../jax/output/SVG/autoload/annotation-xml.js | 92 + .../jax/output/SVG/autoload/maction.js | 201 + .../jax/output/SVG/autoload/menclose.js | 233 ++ .../jax/output/SVG/autoload/mglyph.js | 106 + .../jax/output/SVG/autoload/mmultiscripts.js | 130 + .../jax/output/SVG/autoload/ms.js | 55 + .../jax/output/SVG/autoload/mtable.js | 389 ++ .../jax/output/SVG/autoload/multiline.js | 732 ++++ .../Mathjax-2.7.5/jax/output/SVG/config.js | 107 + .../SVG/fonts/TeX/AMS/Regular/Arrows.js | 140 + .../SVG/fonts/TeX/AMS/Regular/BoxDrawing.js | 44 + .../fonts/TeX/AMS/Regular/CombDiacritMarks.js | 32 + .../SVG/fonts/TeX/AMS/Regular/Dingbats.js | 32 + .../fonts/TeX/AMS/Regular/EnclosedAlphanum.js | 29 + .../TeX/AMS/Regular/GeneralPunctuation.js | 29 + .../fonts/TeX/AMS/Regular/GeometricShapes.js | 53 + .../fonts/TeX/AMS/Regular/GreekAndCoptic.js | 32 + .../fonts/TeX/AMS/Regular/Latin1Supplement.js | 35 + .../fonts/TeX/AMS/Regular/LatinExtendedA.js | 29 + .../TeX/AMS/Regular/LetterlikeSymbols.js | 47 + .../output/SVG/fonts/TeX/AMS/Regular/Main.js | 131 + .../fonts/TeX/AMS/Regular/MathOperators.js | 359 ++ .../fonts/TeX/AMS/Regular/MiscMathSymbolsB.js | 29 + .../SVG/fonts/TeX/AMS/Regular/MiscSymbols.js | 29 + .../fonts/TeX/AMS/Regular/MiscTechnical.js | 32 + .../output/SVG/fonts/TeX/AMS/Regular/PUA.js | 74 + .../TeX/AMS/Regular/SpacingModLetters.js | 32 + .../TeX/AMS/Regular/SuppMathOperators.js | 95 + .../SVG/fonts/TeX/Caligraphic/Bold/Main.js | 167 + .../SVG/fonts/TeX/Caligraphic/Regular/Main.js | 166 + .../SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js | 272 ++ .../output/SVG/fonts/TeX/Fraktur/Bold/Main.js | 35 + .../SVG/fonts/TeX/Fraktur/Bold/Other.js | 32 + .../output/SVG/fonts/TeX/Fraktur/Bold/PUA.js | 47 + .../fonts/TeX/Fraktur/Regular/BasicLatin.js | 272 ++ .../SVG/fonts/TeX/Fraktur/Regular/Main.js | 34 + .../SVG/fonts/TeX/Fraktur/Regular/Other.js | 32 + .../SVG/fonts/TeX/Fraktur/Regular/PUA.js | 50 + .../output/SVG/fonts/TeX/Main/Bold/Arrows.js | 98 + .../SVG/fonts/TeX/Main/Bold/BasicLatin.js | 149 + .../fonts/TeX/Main/Bold/CombDiacritMarks.js | 62 + .../TeX/Main/Bold/CombDiactForSymbols.js | 29 + .../fonts/TeX/Main/Bold/GeneralPunctuation.js | 56 + .../fonts/TeX/Main/Bold/GeometricShapes.js | 41 + .../SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js | 59 + .../fonts/TeX/Main/Bold/Latin1Supplement.js | 50 + .../SVG/fonts/TeX/Main/Bold/LatinExtendedA.js | 29 + .../SVG/fonts/TeX/Main/Bold/LatinExtendedB.js | 29 + .../fonts/TeX/Main/Bold/LetterlikeSymbols.js | 44 + .../output/SVG/fonts/TeX/Main/Bold/Main.js | 217 ++ .../SVG/fonts/TeX/Main/Bold/MathOperators.js | 227 ++ .../fonts/TeX/Main/Bold/MiscMathSymbolsA.js | 32 + .../SVG/fonts/TeX/Main/Bold/MiscSymbols.js | 47 + .../SVG/fonts/TeX/Main/Bold/MiscTechnical.js | 44 + .../fonts/TeX/Main/Bold/SpacingModLetters.js | 53 + .../fonts/TeX/Main/Bold/SuppMathOperators.js | 35 + .../TeX/Main/Bold/SupplementalArrowsA.js | 47 + .../SVG/fonts/TeX/Main/Italic/BasicLatin.js | 287 ++ .../fonts/TeX/Main/Italic/CombDiacritMarks.js | 59 + .../TeX/Main/Italic/GeneralPunctuation.js | 44 + .../fonts/TeX/Main/Italic/GreekAndCoptic.js | 59 + .../fonts/TeX/Main/Italic/LatinExtendedA.js | 29 + .../fonts/TeX/Main/Italic/LatinExtendedB.js | 29 + .../TeX/Main/Italic/LetterlikeSymbols.js | 29 + .../output/SVG/fonts/TeX/Main/Italic/Main.js | 40 + .../SVG/fonts/TeX/Main/Regular/BasicLatin.js | 146 + .../TeX/Main/Regular/CombDiacritMarks.js | 62 + .../fonts/TeX/Main/Regular/GeometricShapes.js | 41 + .../fonts/TeX/Main/Regular/GreekAndCoptic.js | 59 + .../fonts/TeX/Main/Regular/LatinExtendedA.js | 29 + .../fonts/TeX/Main/Regular/LatinExtendedB.js | 29 + .../TeX/Main/Regular/LetterlikeSymbols.js | 44 + .../output/SVG/fonts/TeX/Main/Regular/Main.js | 628 ++++ .../SVG/fonts/TeX/Main/Regular/MiscSymbols.js | 47 + .../TeX/Main/Regular/SpacingModLetters.js | 29 + .../TeX/Main/Regular/SuppMathOperators.js | 29 + .../SVG/fonts/TeX/Math/BoldItalic/Main.js | 392 ++ .../output/SVG/fonts/TeX/Math/Italic/Main.js | 391 ++ .../fonts/TeX/SansSerif/Bold/BasicLatin.js | 290 ++ .../TeX/SansSerif/Bold/CombDiacritMarks.js | 59 + .../SVG/fonts/TeX/SansSerif/Bold/Main.js | 35 + .../SVG/fonts/TeX/SansSerif/Bold/Other.js | 83 + .../fonts/TeX/SansSerif/Italic/BasicLatin.js | 290 ++ .../TeX/SansSerif/Italic/CombDiacritMarks.js | 59 + .../SVG/fonts/TeX/SansSerif/Italic/Main.js | 35 + .../SVG/fonts/TeX/SansSerif/Italic/Other.js | 83 + .../fonts/TeX/SansSerif/Regular/BasicLatin.js | 290 ++ .../TeX/SansSerif/Regular/CombDiacritMarks.js | 59 + .../SVG/fonts/TeX/SansSerif/Regular/Main.js | 34 + .../SVG/fonts/TeX/SansSerif/Regular/Other.js | 83 + .../fonts/TeX/Script/Regular/BasicLatin.js | 107 + .../SVG/fonts/TeX/Script/Regular/Main.js | 60 + .../SVG/fonts/TeX/Size1/Regular/Main.js | 159 + .../SVG/fonts/TeX/Size2/Regular/Main.js | 135 + .../SVG/fonts/TeX/Size3/Regular/Main.js | 87 + .../SVG/fonts/TeX/Size4/Regular/Main.js | 168 + .../TeX/Typewriter/Regular/BasicLatin.js | 314 ++ .../Typewriter/Regular/CombDiacritMarks.js | 53 + .../SVG/fonts/TeX/Typewriter/Regular/Main.js | 34 + .../SVG/fonts/TeX/Typewriter/Regular/Other.js | 74 + .../output/SVG/fonts/TeX/fontdata-extra.js | 241 ++ .../jax/output/SVG/fonts/TeX/fontdata.js | 1613 ++++++++ .../Mathjax-2.7.5/jax/output/SVG/jax.js | 2333 ++++++++++++ src/py/kaleido/vendor/Mathjax-2.7.5/latest.js | 159 + .../localization/ar/FontWarnings.js | 32 + .../Mathjax-2.7.5/localization/ar/HTML-CSS.js | 32 + .../localization/ar/HelpDialog.js | 35 + .../Mathjax-2.7.5/localization/ar/MathML.js | 35 + .../Mathjax-2.7.5/localization/ar/MathMenu.js | 85 + .../Mathjax-2.7.5/localization/ar/TeX.js | 78 + .../Mathjax-2.7.5/localization/ar/ar.js | 62 + .../localization/ast/FontWarnings.js | 34 + .../localization/ast/HTML-CSS.js | 32 + .../localization/ast/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/ast/MathML.js | 37 + .../localization/ast/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/ast/TeX.js | 98 + .../Mathjax-2.7.5/localization/ast/ast.js | 59 + .../localization/bcc/FontWarnings.js | 28 + .../localization/bcc/HTML-CSS.js | 28 + .../localization/bcc/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/bcc/MathML.js | 28 + .../localization/bcc/MathMenu.js | 28 + .../Mathjax-2.7.5/localization/bcc/TeX.js | 94 + .../Mathjax-2.7.5/localization/bcc/bcc.js | 57 + .../localization/bg/FontWarnings.js | 28 + .../Mathjax-2.7.5/localization/bg/HTML-CSS.js | 28 + .../localization/bg/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/bg/MathML.js | 28 + .../Mathjax-2.7.5/localization/bg/MathMenu.js | 56 + .../Mathjax-2.7.5/localization/bg/TeX.js | 68 + .../Mathjax-2.7.5/localization/bg/bg.js | 55 + .../localization/br/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/br/HTML-CSS.js | 32 + .../localization/br/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/br/MathML.js | 35 + .../Mathjax-2.7.5/localization/br/MathMenu.js | 98 + .../Mathjax-2.7.5/localization/br/TeX.js | 94 + .../Mathjax-2.7.5/localization/br/br.js | 66 + .../localization/ca/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/ca/HTML-CSS.js | 32 + .../localization/ca/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/ca/MathML.js | 37 + .../Mathjax-2.7.5/localization/ca/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/ca/TeX.js | 98 + .../Mathjax-2.7.5/localization/ca/ca.js | 59 + .../localization/cdo/FontWarnings.js | 28 + .../localization/cdo/HTML-CSS.js | 28 + .../localization/cdo/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/cdo/MathML.js | 28 + .../localization/cdo/MathMenu.js | 28 + .../Mathjax-2.7.5/localization/cdo/TeX.js | 28 + .../Mathjax-2.7.5/localization/cdo/cdo.js | 57 + .../localization/ce/FontWarnings.js | 28 + .../Mathjax-2.7.5/localization/ce/HTML-CSS.js | 28 + .../localization/ce/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/ce/MathML.js | 28 + .../Mathjax-2.7.5/localization/ce/MathMenu.js | 28 + .../Mathjax-2.7.5/localization/ce/TeX.js | 28 + .../Mathjax-2.7.5/localization/ce/ce.js | 57 + .../localization/cs/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/cs/HTML-CSS.js | 32 + .../localization/cs/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/cs/MathML.js | 37 + .../Mathjax-2.7.5/localization/cs/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/cs/TeX.js | 98 + .../Mathjax-2.7.5/localization/cs/cs.js | 60 + .../localization/cy/FontWarnings.js | 28 + .../Mathjax-2.7.5/localization/cy/HTML-CSS.js | 28 + .../localization/cy/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/cy/MathML.js | 28 + .../Mathjax-2.7.5/localization/cy/MathMenu.js | 28 + .../Mathjax-2.7.5/localization/cy/TeX.js | 28 + .../Mathjax-2.7.5/localization/cy/cy.js | 57 + .../localization/da/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/da/HTML-CSS.js | 32 + .../localization/da/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/da/MathML.js | 37 + .../Mathjax-2.7.5/localization/da/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/da/TeX.js | 98 + .../Mathjax-2.7.5/localization/da/da.js | 59 + .../localization/de/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/de/HTML-CSS.js | 32 + .../localization/de/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/de/MathML.js | 37 + .../Mathjax-2.7.5/localization/de/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/de/TeX.js | 98 + .../Mathjax-2.7.5/localization/de/de.js | 59 + .../localization/diq/FontWarnings.js | 28 + .../localization/diq/HTML-CSS.js | 29 + .../localization/diq/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/diq/MathML.js | 28 + .../localization/diq/MathMenu.js | 89 + .../Mathjax-2.7.5/localization/diq/TeX.js | 28 + .../Mathjax-2.7.5/localization/diq/diq.js | 56 + .../localization/en/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/en/HTML-CSS.js | 32 + .../localization/en/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/en/MathML.js | 37 + .../Mathjax-2.7.5/localization/en/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/en/TeX.js | 98 + .../Mathjax-2.7.5/localization/en/en.js | 59 + .../localization/eo/FontWarnings.js | 28 + .../Mathjax-2.7.5/localization/eo/HTML-CSS.js | 28 + .../localization/eo/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/eo/MathML.js | 28 + .../Mathjax-2.7.5/localization/eo/MathMenu.js | 28 + .../Mathjax-2.7.5/localization/eo/TeX.js | 28 + .../Mathjax-2.7.5/localization/eo/eo.js | 54 + .../localization/es/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/es/HTML-CSS.js | 32 + .../localization/es/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/es/MathML.js | 37 + .../Mathjax-2.7.5/localization/es/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/es/TeX.js | 98 + .../Mathjax-2.7.5/localization/es/es.js | 59 + .../localization/fa/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/fa/HTML-CSS.js | 32 + .../localization/fa/HelpDialog.js | 37 + .../Mathjax-2.7.5/localization/fa/MathML.js | 37 + .../Mathjax-2.7.5/localization/fa/MathMenu.js | 107 + .../Mathjax-2.7.5/localization/fa/TeX.js | 98 + .../Mathjax-2.7.5/localization/fa/fa.js | 58 + .../localization/fi/FontWarnings.js | 28 + .../Mathjax-2.7.5/localization/fi/HTML-CSS.js | 28 + .../localization/fi/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/fi/MathML.js | 28 + .../Mathjax-2.7.5/localization/fi/MathMenu.js | 82 + .../Mathjax-2.7.5/localization/fi/TeX.js | 28 + .../Mathjax-2.7.5/localization/fi/fi.js | 58 + .../localization/fr/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/fr/HTML-CSS.js | 32 + .../localization/fr/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/fr/MathML.js | 37 + .../Mathjax-2.7.5/localization/fr/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/fr/TeX.js | 98 + .../Mathjax-2.7.5/localization/fr/fr.js | 59 + .../localization/gl/FontWarnings.js | 28 + .../Mathjax-2.7.5/localization/gl/HTML-CSS.js | 32 + .../localization/gl/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/gl/MathML.js | 28 + .../Mathjax-2.7.5/localization/gl/MathMenu.js | 28 + .../Mathjax-2.7.5/localization/gl/TeX.js | 28 + .../Mathjax-2.7.5/localization/gl/gl.js | 58 + .../localization/he/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/he/HTML-CSS.js | 32 + .../localization/he/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/he/MathML.js | 37 + .../Mathjax-2.7.5/localization/he/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/he/TeX.js | 98 + .../Mathjax-2.7.5/localization/he/he.js | 62 + .../localization/ia/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/ia/HTML-CSS.js | 28 + .../localization/ia/HelpDialog.js | 37 + .../Mathjax-2.7.5/localization/ia/MathML.js | 28 + .../Mathjax-2.7.5/localization/ia/MathMenu.js | 28 + .../Mathjax-2.7.5/localization/ia/TeX.js | 28 + .../Mathjax-2.7.5/localization/ia/ia.js | 58 + .../localization/it/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/it/HTML-CSS.js | 32 + .../localization/it/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/it/MathML.js | 37 + .../Mathjax-2.7.5/localization/it/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/it/TeX.js | 98 + .../Mathjax-2.7.5/localization/it/it.js | 59 + .../localization/ja/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/ja/HTML-CSS.js | 32 + .../localization/ja/HelpDialog.js | 37 + .../Mathjax-2.7.5/localization/ja/MathML.js | 37 + .../Mathjax-2.7.5/localization/ja/MathMenu.js | 107 + .../Mathjax-2.7.5/localization/ja/TeX.js | 98 + .../Mathjax-2.7.5/localization/ja/ja.js | 57 + .../localization/kn/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/kn/HTML-CSS.js | 32 + .../localization/kn/HelpDialog.js | 32 + .../Mathjax-2.7.5/localization/kn/MathML.js | 35 + .../Mathjax-2.7.5/localization/kn/MathMenu.js | 105 + .../Mathjax-2.7.5/localization/kn/TeX.js | 98 + .../Mathjax-2.7.5/localization/kn/kn.js | 57 + .../localization/ko/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/ko/HTML-CSS.js | 32 + .../localization/ko/HelpDialog.js | 34 + .../Mathjax-2.7.5/localization/ko/MathML.js | 28 + .../Mathjax-2.7.5/localization/ko/MathMenu.js | 106 + .../Mathjax-2.7.5/localization/ko/TeX.js | 66 + .../Mathjax-2.7.5/localization/ko/ko.js | 57 + .../localization/lb/FontWarnings.js | 28 + .../Mathjax-2.7.5/localization/lb/HTML-CSS.js | 28 + .../localization/lb/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/lb/MathML.js | 28 + .../Mathjax-2.7.5/localization/lb/MathMenu.js | 55 + .../Mathjax-2.7.5/localization/lb/TeX.js | 28 + .../Mathjax-2.7.5/localization/lb/lb.js | 53 + .../localization/lki/FontWarnings.js | 34 + .../localization/lki/HTML-CSS.js | 32 + .../localization/lki/HelpDialog.js | 37 + .../Mathjax-2.7.5/localization/lki/MathML.js | 37 + .../localization/lki/MathMenu.js | 107 + .../Mathjax-2.7.5/localization/lki/TeX.js | 98 + .../Mathjax-2.7.5/localization/lki/lki.js | 57 + .../localization/lt/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/lt/HTML-CSS.js | 32 + .../localization/lt/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/lt/MathML.js | 37 + .../Mathjax-2.7.5/localization/lt/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/lt/TeX.js | 98 + .../Mathjax-2.7.5/localization/lt/lt.js | 62 + .../localization/mk/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/mk/HTML-CSS.js | 32 + .../localization/mk/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/mk/MathML.js | 37 + .../Mathjax-2.7.5/localization/mk/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/mk/TeX.js | 98 + .../Mathjax-2.7.5/localization/mk/mk.js | 59 + .../localization/nl/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/nl/HTML-CSS.js | 32 + .../localization/nl/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/nl/MathML.js | 37 + .../Mathjax-2.7.5/localization/nl/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/nl/TeX.js | 98 + .../Mathjax-2.7.5/localization/nl/nl.js | 59 + .../localization/oc/FontWarnings.js | 28 + .../Mathjax-2.7.5/localization/oc/HTML-CSS.js | 28 + .../localization/oc/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/oc/MathML.js | 28 + .../Mathjax-2.7.5/localization/oc/MathMenu.js | 89 + .../Mathjax-2.7.5/localization/oc/TeX.js | 28 + .../Mathjax-2.7.5/localization/oc/oc.js | 57 + .../localization/pl/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/pl/HTML-CSS.js | 32 + .../localization/pl/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/pl/MathML.js | 37 + .../Mathjax-2.7.5/localization/pl/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/pl/TeX.js | 98 + .../Mathjax-2.7.5/localization/pl/pl.js | 64 + .../localization/pt-br/FontWarnings.js | 34 + .../localization/pt-br/HTML-CSS.js | 32 + .../localization/pt-br/HelpDialog.js | 38 + .../localization/pt-br/MathML.js | 37 + .../localization/pt-br/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/pt-br/TeX.js | 98 + .../Mathjax-2.7.5/localization/pt-br/pt-br.js | 59 + .../localization/pt/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/pt/HTML-CSS.js | 32 + .../localization/pt/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/pt/MathML.js | 37 + .../Mathjax-2.7.5/localization/pt/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/pt/TeX.js | 98 + .../Mathjax-2.7.5/localization/pt/pt.js | 58 + .../localization/qqq/FontWarnings.js | 34 + .../localization/qqq/HTML-CSS.js | 32 + .../localization/qqq/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/qqq/MathML.js | 37 + .../localization/qqq/MathMenu.js | 110 + .../Mathjax-2.7.5/localization/qqq/TeX.js | 98 + .../Mathjax-2.7.5/localization/qqq/qqq.js | 54 + .../localization/ru/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/ru/HTML-CSS.js | 32 + .../localization/ru/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/ru/MathML.js | 37 + .../Mathjax-2.7.5/localization/ru/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/ru/TeX.js | 98 + .../Mathjax-2.7.5/localization/ru/ru.js | 62 + .../localization/scn/FontWarnings.js | 34 + .../localization/scn/HTML-CSS.js | 32 + .../localization/scn/HelpDialog.js | 37 + .../Mathjax-2.7.5/localization/scn/MathML.js | 37 + .../localization/scn/MathMenu.js | 107 + .../Mathjax-2.7.5/localization/scn/TeX.js | 98 + .../Mathjax-2.7.5/localization/scn/scn.js | 57 + .../localization/sco/FontWarnings.js | 34 + .../localization/sco/HTML-CSS.js | 32 + .../localization/sco/HelpDialog.js | 37 + .../Mathjax-2.7.5/localization/sco/MathML.js | 37 + .../localization/sco/MathMenu.js | 107 + .../Mathjax-2.7.5/localization/sco/TeX.js | 98 + .../Mathjax-2.7.5/localization/sco/sco.js | 57 + .../localization/sk/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/sk/HTML-CSS.js | 32 + .../localization/sk/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/sk/MathML.js | 37 + .../Mathjax-2.7.5/localization/sk/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/sk/TeX.js | 98 + .../Mathjax-2.7.5/localization/sk/sk.js | 59 + .../localization/sl/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/sl/HTML-CSS.js | 32 + .../localization/sl/HelpDialog.js | 37 + .../Mathjax-2.7.5/localization/sl/MathML.js | 37 + .../Mathjax-2.7.5/localization/sl/MathMenu.js | 108 + .../Mathjax-2.7.5/localization/sl/TeX.js | 98 + .../Mathjax-2.7.5/localization/sl/sl.js | 60 + .../localization/sv/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/sv/HTML-CSS.js | 32 + .../localization/sv/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/sv/MathML.js | 37 + .../Mathjax-2.7.5/localization/sv/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/sv/TeX.js | 98 + .../Mathjax-2.7.5/localization/sv/sv.js | 59 + .../localization/th/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/th/HTML-CSS.js | 32 + .../localization/th/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/th/MathML.js | 37 + .../Mathjax-2.7.5/localization/th/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/th/TeX.js | 98 + .../Mathjax-2.7.5/localization/th/th.js | 57 + .../localization/tr/FontWarnings.js | 28 + .../Mathjax-2.7.5/localization/tr/HTML-CSS.js | 28 + .../localization/tr/HelpDialog.js | 28 + .../Mathjax-2.7.5/localization/tr/MathML.js | 28 + .../Mathjax-2.7.5/localization/tr/MathMenu.js | 28 + .../Mathjax-2.7.5/localization/tr/TeX.js | 28 + .../Mathjax-2.7.5/localization/tr/tr.js | 53 + .../localization/uk/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/uk/HTML-CSS.js | 32 + .../localization/uk/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/uk/MathML.js | 37 + .../Mathjax-2.7.5/localization/uk/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/uk/TeX.js | 98 + .../Mathjax-2.7.5/localization/uk/uk.js | 61 + .../localization/vi/FontWarnings.js | 34 + .../Mathjax-2.7.5/localization/vi/HTML-CSS.js | 32 + .../localization/vi/HelpDialog.js | 38 + .../Mathjax-2.7.5/localization/vi/MathML.js | 37 + .../Mathjax-2.7.5/localization/vi/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/vi/TeX.js | 98 + .../Mathjax-2.7.5/localization/vi/vi.js | 58 + .../localization/zh-hans/FontWarnings.js | 34 + .../localization/zh-hans/HTML-CSS.js | 32 + .../localization/zh-hans/HelpDialog.js | 38 + .../localization/zh-hans/MathML.js | 37 + .../localization/zh-hans/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/zh-hans/TeX.js | 98 + .../localization/zh-hans/zh-hans.js | 58 + .../localization/zh-hant/FontWarnings.js | 34 + .../localization/zh-hant/HTML-CSS.js | 32 + .../localization/zh-hant/HelpDialog.js | 38 + .../localization/zh-hant/MathML.js | 37 + .../localization/zh-hant/MathMenu.js | 111 + .../Mathjax-2.7.5/localization/zh-hant/TeX.js | 98 + .../localization/zh-hant/zh-hant.js | 57 + 715 files changed, 76376 insertions(+) create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5.zip create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/LICENSE create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/MathJax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/README.md create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/MMLorHTML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/Safe.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG-full.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/default.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/config/local/local.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/AssistiveMML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/CHTML-preview.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HTML-CSS/handle-floats.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MatchWebFonts.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathEvents.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathML/content-mathml.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathML/mml3.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathZoom.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/Safe.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMScd.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSmath.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSsymbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/HTML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/action.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autobold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autoload-all.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/bbox.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/begingroup.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/boldsymbol.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/cancel.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/color.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/enclose.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/extpfeil.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mathchoice.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mediawiki-texvc.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem3/mhchem.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/newcommand.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noErrors.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noUndefined.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/unicode.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/verb.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/accessibility-menu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/auto-collapse.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/collapsible.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/explorer.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/invalid_keypress.mp3 create mode 100755 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/invalid_keypress.ogg create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathjax-sre.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/algebra.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/elementary.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/hyperbolic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/trigonometry.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-capital.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-italic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-sans-serif-bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-scripts.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-small.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-symbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/hebrew_letters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-double-accent.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-normal.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-phonetic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-single-accent.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-fraktur.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-script.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-double-struck.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-fraktur.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-italic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-monospace.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-italic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-script.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-rest.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-upper-double-accent.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-upper-normal.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-upper-single-accent.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_angles.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_arrows.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_characters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_delimiters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_digits.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_geometry.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_harpoons.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_non_characters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_symbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_whitespace.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/other_stars.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/energy.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/length.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/memory.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/other.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/speed.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/temperature.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/time.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/volume.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/weight.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/algebra.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/elementary.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/hyperbolic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/trigonometry.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-capital.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-italic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-sans-serif-bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-scripts.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-small.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-symbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/hebrew_letters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-double-accent.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-normal.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-phonetic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-single-accent.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-fraktur.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-script.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-double-struck.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-fraktur.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-italic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-monospace.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-italic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-script.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-rest.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-upper-double-accent.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-upper-normal.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-upper-single-accent.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_angles.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_arrows.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_characters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_delimiters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_digits.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_geometry.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_harpoons.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_non_characters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_symbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_whitespace.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/other_stars.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/energy.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/length.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/memory.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/other.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/speed.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/temperature.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/time.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/volume.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/weight.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/mathmaps_ie.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/semantic-enrich.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/wgxpath.install.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/asciimath2jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/fast-preview.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/jsMath2jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/mml2jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/tex2jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/extensions/toMathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Arrows.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/BasicLatin.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiactForSymbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Dingbats.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeneralPunctuation.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeometricShapes.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GreekAndCoptic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Latin1Supplement.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/LetterlikeSymbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MathOperators.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsA.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsB.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscSymbolsAndArrows.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscTechnical.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SpacingModLetters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SuppMathOperators.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsA.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsB.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/config.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/config.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/a.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/b.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/c.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/d.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/e.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/f.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/fr.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/g.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/h.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/i.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/j.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/k.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/l.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/m.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/n.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/o.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/opf.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/p.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/q.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/r.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/s.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/scr.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/t.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/u.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/v.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/w.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/x.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/y.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/z.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/config.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/annotation-xml.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/maction.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/menclose.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mglyph.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mmultiscripts.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/ms.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mtable.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/multiline.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/config.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Main-Bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Script-Regular.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/config.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/config.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/config.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/annotation-xml.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/maction.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/menclose.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mglyph.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mmultiscripts.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/ms.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mtable.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/multiline.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/config.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/Italic/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata-extra.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/jax.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/latest.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/ar.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/ast.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/bcc.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/bg.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/br.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/ca.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/cdo.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/ce.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/cs.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/cy.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/da.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/de.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/diq.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/en.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/eo.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/es.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/fa.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/fi.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/fr.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/gl.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/he.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/ia.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/it.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/ja.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/kn.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/ko.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/lb.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/lki.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/lt.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/mk.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/nl.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/oc.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/pl.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/pt-br.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/pt.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/qqq.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/ru.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/scn.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/sco.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/sk.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/sl.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/sv.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/th.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/tr.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/uk.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/vi.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/zh-hans.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/FontWarnings.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HelpDialog.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathML.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathMenu.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/TeX.js create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/zh-hant.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5.zip b/src/py/kaleido/vendor/Mathjax-2.7.5.zip new file mode 100644 index 0000000000000000000000000000000000000000..96576d23d384d25ccf1e351ed34ad28f9b38e794 GIT binary patch literal 1931789 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 z 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/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�|NOoGM(9{H z5@O%)qbB%)t0(z)aEqilI>LLEr^8L4om4LM71` zW`cYE-rEYe{~EOOkcN?CJ&N$924`l>aCls0)_8>{@+o4pdagaE|1=KQ(m_-_%vZJQ z-U=NNK)~K=Vk)QBjP&5qsVX{xakaRQHdTk(etrtDN5A_({jJ?AHPZ=_k;}`7U_M@( zo*>h|=|lp(!6sPqYn?RuS56|-=%^1dqC1UX*|rb(AYLAl2u*4=2$p#HOPNK-`qYwL z^;YE$TU%>*^4W_s_!2vk9s|YQ!@FncrYRELRzKq1K>@USZ4pLa4Cm5!%HJZ)5lYfq zFngd#fWWeFJPKoB6mfW*Rm!l^n}j(0xS}2r-i8^J6)uMd zH2RJJIEC~o&O8$4>R;QW@aYXBb%!|=K-@BstZ~=`g7#_+dj>zY^8LGp6D;vuKn4-K z>sX5u+jm5lnVCp1;0ihL{rABa;}b8GE5neF(E&M|0gffrMttWgPsR*cEN$prsGZfz z;sFa&E3uWJgtC*JYW{>nD)OpKT{T8CG5#LdnhJzb*2}EShXfCkGQ%=akV)p}s4Vra zamb>qpF=}EK-kkA4_sn@*tqOER;sRmdEW8u)*p#Dx%tm^$=tr*3*$OWC&-rF7!36W z9)i|_#n4Sc$QkcO(8Y9KDeGPyAiIzqG{BamN5=>?ploEr>jpRM~qrIDE8DX zv>^7{t0Ml&LLRvSd;){kUe4rMxE9wmOmrQxHB9=kFD%aed7<5oI!30@5sD_Aew#xD zocm|r{UBf+FhdLw_N!OhFJpEtA{e#|HTvVHe%@k|8Es)2%VfU>*LVui z@1G>?S?^c8mk9OGL8r=y3+}PokB`I6TbGq5-CT!GAPaz@PeI358qfWnv!vl8CY46| zeK+}s8_N`V)WFH=yW)JGARtE1+DEVNqrx144D*qxZeP!`5VCu=V>_gmjgF%d46e~QQwIh=<^+RnA344u$VRXgMYRV% zl4>TDY*I=ens!bWgE^j->RjD}0gj5bNd8uVO43fc?*Mu$?xvla7P_F~<1pu~Zer-; z)3%v8+cq5Rclg8~^vCwn`y2+Gnvk7eTsw4pq#`Z`Y7@Qr#Tq|%Fd(M=X z(0J&{?#9C#xc9ZKZO4is&eYB;M8MgKaa*eH^s^4w<~iv*QEe!7`Js7FbgS9#~-p9)$Q%goGQ;+jqH8 z-bfnO1m$>Dc9Dk!pxm=t@S$oYJoO{Rg>3g(-h8AZgp5R2lOj6hFO!=F_!tDL8tB5y z8F#vqvR7}5G@$UzZFy?9X#|iI|NJ<~&{l<79nn(bIB5L^Nzeylmr(u*emjb;HZA!2 ztpddkyXN(R&AmZD{E`Zf93H`?DrB0Sa(wxxH%eOQhf*nun%&Rr>o!pdbxH%65`}yP zE{Y54Ek+KyDR}1*QaH}BfUzS^L%AUPs9197V4J4YtD}>u?Srw>FPH>4QEVa{b*Kvi z;adG`%c#C<+LCC}odfwmpc8puPR+-4d1)>ZP`NgkDe(b$h#vnXYC%KR8KKze4>_%C z4BdW!$sy2XFu-KB@p~(FdDRPyYvq)f0*A!6ptuuCVupDpuPV&kWcR@>rvlPzc~b|@ za@E_sL_%wnI&I6jl8u&JIe}IpEgWjFQSeebXW-#jfk!fQwjE>#6v#z#8v3 z9*^LsC{1*21{}gEDd;zr8H;zqjpc-+OO&WT1!&?JJXej+1uJVf^MYjkk55sCnp|3- zY0j&StT^Jby>3}f7i?irxh?0H{1?~zGnVU?i#<1-_Ul0H#TL8%MNXdH9x!d37%W2W zp69mXDNsE4S_=qyRgVF5QL5QYQ;+11QP364oaX2 z#IFgdtsBlQg?F<#Q8mN@=ggNC^v5)haxHc*k(;QGl*D@!j@DoDd;R!6EbJF=x>vFX zg5mkzKDGKK2U=6)oUOT8czIneuPC;r>3?KzGPvtKlgW)zm*^7C#%JT?%x+YOev zDg8er>>8T=+o;4V`hu_kFe>o@j7t8)5fSjNq1oSrUDX@AT{g7OtnOVZMKZ2gBqBGH z%vVrx!C|qJ`TfPLCJUx;Ngo(jQ*QB<`7fVoIYpT{i}pz&a^I_$yQi+B(y+k>8>v~O@B^*;__Z-T6h zl%(b#FEQF$zt z`;nBq#I@+?R4Ow;HW~pdHx=KogJryPPFhPlf&V?$yy>C8}u0by9 zKCqc84@U7O!gncWAS;A?7Jdz_rfNdR|8WM96{yfG+4hC6m_H!0x6E4ZeH_UP?+8@KN^;Y=v(snAE0{9nxL1 zulIIeveSHr=!e~$O!-Jligd1yR-ew!^h6KW_W$i8|4ANX`@ck%0Y38o*{~`6i!2lP zM-)@Du^k=Zw&wH=iu?4ivA#+3 z*>{d5`}mue6sGTr@UL!|lqCgkpV7MEA}x))@4s)%WYf*$Vu+}dlfn}RlkxXN@H>=&>3bf6V}5+>I-W04_CeT+!R>BOq5f3Ht!7zGeRyLA)W`VMk2zoTX;y zb?^*XB(fbBxHEX#rCF8KptCTy9HOwx9V;xI)}QA%dO@L5&CE6OmiU7m%?x7R#D?Xb z3PpWUO^G+obtR(y@+IQ)@u2}Q57{zrw(!yu+}ZJu#_h3b-Qstiq#vWP6m~8cQa|=R z@`71RnzOhpc3R{Jm4IjwS_ z`A%2Q)FepOB?Nqzmw27|zAdvtW=s)#;mYQNq|UL5HEK2P-;nUtRYwOoS_i%Vhc4l} zzVy*;R=Hfs$7}o&LD&}%N9g$>drO&zGX(EDJd=#1&FLcfarG&`K~tId#~V;PI~?9r z^iK;ciYuA?P2dFFM1^fD2?@}Ue9lgc>t$_q1z>b#C6mqHx zDBch(^{&Ffv9QoywwONf6>u(`2=T6nJ=Ec{Fi@rGh#3$nV?OLwf9wR3x}j?VBZ_eu zbR0tfR2I|7l5ki5(bnOu6p#ivyWa-mVa}rE_(2^EYFs&sy_IeoO9eb6uNOc1c9+rD<}|@xqI8O z;O;oz!JB0ysyaG;l0rh4s2ee2sR=CMAPx;fCrt;A7DtvtKU?eQYUYpj5Cld_&$MGb zKqmAKhWT-WE*`@^`!Jpof(|I`Ma_&M8sfM7<`6^Ur1CZjLL)w8L8rc-g`2*KvJzj1 zYJ+OIM*t6^0ry6uwZ~dx+b7|I#z$mel;)wGS1B(NSbPlPR|$<5SIym%0g(`5c=1$E zYfIXLd72%&dEzC~bt`4a3W(6KQPWD=8>ZmEQ#>X*LaQMXI(z#bI{^QqHysM-F#`O$ zPkf&zIj4m;CL|2CGdjw&6IBnlbKmmkK3(U6T-C-ymZ@hq14Cm1r0FeZC(dZry=Sua z59ieY>XCZ$0`5~B-e55;&l+AU!3E9n4T&o(lq!%4Fk*jIxb?H24?L}U;7o5eJt#=< zvzcTqIz!m3pl8s;y$_AUPf4dO%!`$14sz_0=b{18X26fln2e!H`ElO15&?~is*&Q!?jH4>$7GDBP z;B4Z!c#q;U8)%!IO{R(4Lz%P>&$u50H$Gy44lEm^47vMq zUQ*gOy!Gk+jJ>q5nYwNos%1dhB@PI?^V#wqVMcXDhijHDfi8U&j`MRqiD(~AE>Nrw zq|zx>rHlSupy>)qFvs1xnUQ=$v-xZCyC8zyu7*J8_bWqW4QWaWd@X5SI=b7jb!p^+ z>eiIX1G@Zgc2s!je@vAEOA9H4IoEGhPv^qe&mYH%!H`vvGy-PB=?mjsZXGd`dYtb{ z(L7{1K~_;BlPlsf87gR**fiReev|yzF;Lv@cO-+Avb9M6$eACZeGvbNd2A*T&X1Q*@GUAO><42<=}`c-L|6gX<~U-y$;EUUM%hK(2q>f@1sP{#E<0Js;`sfo zITR4w^|)Z$9GJ(e)Wq2nH_9>{yx6SY7=|x{R!z%y?&0XY!R%%RTBAc|$9$qJnrrH& zSZsDBHwE1BNuOOtKI2d;2d3S+l~v8(X9oJ?w&b`2^j7N!V?;BoEU+Vuok}2-ox&-J zOwfPYDn=2eo`VpIR1@c`gp(L)S#B-kjE%#ns7%JBC?A2L*Pe=L=8JHjq6X8xh%9!5`s%UHkA zrGd$7Pid@wdkD<4lt1;n+^+3IJI)i(25{ydMVH$7NE|MC}A~AzYy$HE-Lb(6GPuIButZvwt?UbNI_%>+3pF zJa;bAujeNgSH(MBwh!HlpxApopw<0r+x6cvi~3)(9szCl-)zzV)}w8P08-~0jaX)8 z#80bI%d_l~y^;p{WVljv6<#>TA>19Ewsx>~h0jhowH3{cbI?o5tmhUDUdLlQw=_ZJ>Zgt;`1m>nS&9gaqK~!mJ`T=LS<)43k z29sB5ER5MU)STDDirLr%rgLR$W0i|)u3-Y`Y97zhK-{4ynM5IsuG>aPp|xwZ)_wZ` z)T6&_jV`1D3ccY!xS_Uv-?T+L+JlMOLKzI4_dsf`ypiy!H>P@oM9(M>DBcY7FiDzD zzl|v;hF6Zbb7{=0BcYwfwOtE{dNRno+5F=Or+6NGk!SizFv*R567$OAF&=5|nR*m1 zW-(^V?fR$BA#1#b>vHZdqYq{QF0=G$(QB{eD1uQsnDc7gHU;F=(^$4h?e{x0sOC7-k{#P9( zP&XhX!&#uI@X|64q5h+exc|G33U%9rew%D|_}sZa+x-`M);4Iv7u~B{IgRo}QXL?u z!G3YIYRF+Yob#pvx5+OED%CbJPSNYLW%*`K6xs0$)D8NFeE&mfQ@RPSBRwXMGm)Fj zX;}k@Kpl6JU)^$z-?(FBa42iA4wBimuMJ>5B9w(>ar{)qund$Df?!i7+2-pX1Cbn= zucDS5fy*UszW}fvJN~jB6-v>gFxM4sY@MRP3;;2NO^d2dTXyL~s9DB8PWl*Pgb9%@Raly^r_+x1f#(jo zXGSd~EW*+STnsvE(UYG-ax*g^n)Hs*0KtXjl+ULmoRF(2N9CyUlnfe7ssxp6=D zw@@ePoUc|t%3XAE0sacT>EYFEM}FLA$#g<9Ph=s*Ezhh_dfi%dR)f8^8C2OGUkm^l zIxH~Ro91!V>GqGS0Ck)ZA0*%^aM$Icgkg#>oj=!}G7Ecj^^NQwbri{FVeWALer(16 z_3+j}{O@%{%k&|14v>sS0l_){!Ceceqkr=C6{@Z|0%nUoPip7aqbHQ}zaoqu!jlie zH8s*}6AMlbfJum9sK9H0uvRYix9Y(pV1MuF7U94{88R&Mde!JZwSV2U|2##s7r)@x}n3cJ{q(4(Vb4yIwp;#!H61kz&aGkMF>j)66c6;!gIs2jS_4^m@{En2w zOBjeok&C8}p*57i@LYa60v~VI(5%7wNYVWYGam7bjcDHrPtY1@Pdqw> z63i@N%qUWC1v6)ct4$bAw^aA+ZHJbl0PySYdtj>p=KAoNofih}TI3{!$BSJpA&Xx7 zX%#mE-{l<3H$;qBNO5}yqJ+(S_XgZ9DzGe^t@;D~n!l1iSx|>bRS|okuP<7ACsw9x z(N->a#A~In${)3_^X8AwEOv4NQ>Cf)@#|1dRD>CiGg!27+Z{~~^Icc_<2H<~1B02( zS)+zX(py~a_l}l*;BL}MTCk_H($`+Q9f<9OEpzWx+0#d0;L%v;Fx(>6|3KvMiNcIo zjhmi&6=`ZYuC?HMihMY&vm#)O(?CLYNAtrvtdmeNQ)eiuU&7;US7+@HBk9@-umvd zvL~gy%sNGmfR8^uB0FMIyCr!Fv%VH7<}-dWAV}p4?9;3=f9^8LbJ8H%_DZ=N?x*bN z)a7)MZ?^^|b*dpf)`;dow!rlC;-&vKmg~W{w@WA4@cctL)4lX9E=BWs*lU~Z&b9rH z2)A3k!iq}nRA#rU-~G(goj&8jJdQBA6+B~ViLfzpeOIFcwWt^8plE9W)AEc5N>nRC zPE+pBqzWpJhF|M*0HN8BC+BzQP`v6zjR$No)=oIzQj_kFjb@XF;3xEdZ9P#1{*C`j zoZ#Qq^UpKC|2rU-E9o!y{4Z!2!ZwU%*tCgC@*kk#f5i#@H)!}etNlW)3$b9T6)k2R zx-y^wu1Y}_wzrV}!;AapQ5zSQf-Qd39c-!`IUz%FLNg)J#;$+}*5B06zuhM;zfN7C z5{6|P3Qv`%_%E*-5=R>He|XjOd@gv9I{ndvfDqh9Q4(YfHX%Uw86NYOk3G{N16Sh| zB3*CdE-Aj@j&IKvF^fjcRuUI&pX5Yo`O6dJQkx9;ZGn^H1_;3&69Di8)y3`rq~U+& z3Bn39n?Y`)kB)hW8Isuv;BFWGgC}SU2*FJvQ15hrXJ5WS1E87eRy%KPkR7u!c(Ht$8#A8X?K4aVoZRI}z^kdcu6-YuI;>48VY;#a`|#utvxKld?S9(&ex;1; zTI%6H2sqT-9Qd3SQ(wSkixs;~=bK4wOUk(aV3!1(VyuqsCww0p^}arXSBd_Qrv(V` z6q{=*{{8(w4*}rM-~M80;7-Rx&rZ+EU~Ok)U~S=P;A~-M%V6mEZ#pO%@eS-KAd0yW zFn<0Ij4;5v|Gy5ZtYf#zh~{%u-4em_OO7R1W{&MqgleNsAr(qT#m0+ql+3~5e8Lq+ z|I}}5QZ3i=jRiJtneS-bE5`1;^Ciat>;Q2)er2C#&0Q#1<{H0VThgwy)A7S`cQYM> zLvcm*j-z%4Iwp7P%!lXXNshmVq*pbF5peqP$Zo2DMpVFwB1%EFtN|l1r7aMzp9>}| zfd>!nS__newoj)!dR8i|RpBhKhE>!Ufscn`uh|6wW+yhqXbF-pOxulk2@lGDtV+G~xjTMt3B1(*;?1G+ya#0Jgf&@o^x2mqYvBsqe**7) zSA3)+;P?wlyXGAcsHd|lO@w#14}d8A8yOn(JVZc!tp%w+%%TFbl1#6*EYG0BDtq4WR|@u+hSl2 zpQp~ZsT00)du9dNK64<|qZU1e&cs^m9$m2QDAAPKWm9PA!UfohR3yfqYQ>Q0kUg+u zbpGSRuroBR$z`!h=sSiP#QvZYjo|gFtr927X~u5Tv&YJe1^v3)L&@jy8cwu0k%}nn z-dQun#jZbIj4G2pr$#Wamwb~f>HxOhCb<2haE|M z$yWeUnW3=$v!v_z-;!>jI^YP$fdZgw{%$yMtUDNKQuIoj=uh?@jdHc&G#O>)Zp?-Z zvz81a`Ux5kU#a}*^COUmj5^Vb`Aq6O4=U5vIfrj!<|OAUCr2&d3)+F^<2~p0M0rib zvN29q!->nG*yz>mNlCY|tzo5JslFAnI)OdU&Gm6(ZFA*iYtUT|9b_?eovS*+r14CQ z%-B&%)Iia(&&Yv40s3=*onn{5k&`w;_erMX5IpO-?C$XG=Z!UNZQ^vFIzvPzP@dy= zm2@y(vP6&ED2a2XIjQuZ0nHZ=Ml^#q;QbURLkeBP&VgvSA9EW?La$?X?-QNVn>pE4 zOJ`MZ^lp_IS*MN`zMjl29R$%;TYVRnbAhvoM}4z)!Hyhv`x+x~wq%YVW{ujgXF-{q zecW~{7mZ4~X)EC)7xUGH`9BlN*11`!yh&}75;)#3K}6(mW=~=U^yiT=KW6ovQRICI zqWn6%up)Ebo}NB--0gW$+@5xCZQWV15HCaAUx{A(^#-~j`pZ!T!*Jkcl@6cb?3Eov zsOb9HNh~?OHx?>+h=r$@ffX~?3r$H(oJVB#=8A~fmO4(^AYjh@%wJG^>8W`?%Xb+U z$nJ{pKHWTLtfQH8J}($`arfRxYnhUS#JkA!_9fe$F5Ca(HGAUnwfG@@RN$L`i%X*< zwFP?xv+6tL&r<*1xf}rH@UfrOF+Q?h_hsr@Y9j~KX)om|IYb1??08zs!Tn~Bz{J^S zF<9W6l~BG_^!vbYI01@~k(4jPvghjZ3#ZfI-Rc?2Q&@?RcEf1_bI2{=KbAx+S$y*zfvI zXdB~oNjr)^HismpCiLY&ctFBBn_6em9Ks;LVqC7s@N~#+FwOR~KXAcgGQxr%spp(6 zQlzm-+@;lNp86RXvwP;cGJ@}>Bj9s7A1H&7#d2MVQ3)p4yf|pW1jf?sz2=^>=j=^# zli<{RVPLovuU|g=wR^mix{t**z->+<9|cf#?NmYT?Nxb5tYfmq6pe-hHL%**4x$}d z`^Qz*=hbvgSA%ze4@G@(}(+S{8>#4S^tCv zfF9P(9ALNNfT?6YJU8Y{niCNDR9>Y25#)hP*iW^-7T1ii55ysdFxvVh5su4A{Ht@P znuCvvKSZ|qTVUsS{5PwX`9py%qu7>hDO29eO-iTKXAqzMkkG53`C}^6FJ*a1gvk+p zD{55!TPY);>!2@7;4A8}28HeX$=MXOdvVIl71`x-tw`OQ~q}ay4S`#<)%yh?7uy)wW^i z(mNy-{^N^@6%wnsPr`;Q3H)cB+ml_77#Sz(hE*vR3Eu#ID%l@W?!spU`vbah2GAra zB&LfSt1OH*>bZ+N;{|T6(25PJdbF1`GIY`{8nhGx=U5^0g%VA+mDepcem>)4#FZzb z(nsewK_>k zvm^Rs4+UEDERYTz1wPP@KrhXif8qA!!C-4sOA;%o5(sCsTHjoBF*?%aw6@hQvU`b? z<`nYp5?=VXlE5{FlJ*Zu(e&)>Z47<&?K4Vcj^ShrxJUBnaU?nZ+LjzF?k9zvPK@nR z`0in0zk%=_@seu748 zyU*n#QA5e}o>+|L022#E>aeHXv#6>u#b*jrGd`gX9{pxQ*wc~xmY)7YVLR)TW9uM} zdQ{tRh-3}JswA~gc924;UzosWx1ki}6%bsiM2w(bdpSu)^}s9=U6WQDLFoLt}bc zZD!C|>26S5u>{R2-rd%wUQDmrz%rK|yNT(px$^J4@j1uA&!fewkwX$rVfGzRBal=_JfVau*9B6Y}Zbl`f7KWplL z#n1G7K>HgpZkqi3lbG#V0xTE4^QuZd<(nu+kIS;T80wsvOk``1R8Jbe3W27+6tP3{ z@(1&yRqTo_i2E7|Z(r-gj)#So8S_trpOF`nLDe4bDLA7$^@9*MtwdB?VG z+qP}nw$(8@ww+GJwr#6pcHFVmNl*RG|GMvM&Ur9r<^|+YrM|WITA#hvkcnsCR=o9h zSxA)Bs-z<=a5QWgBrL{X)Ng^p_J=D*>;zMkt<4^z&=!z1r1)N6QDiWGoD1z-GrGWX zP`@>bF-u3)ImUPX#TQfi1}j-y$Vx1Iz~8L~n$oFoKssdHKDMc^9e78vHI_2w;^VRV z%{2J+OataGI0vaQh*j9a-CE|8!t<=Vq~pbOHM4VHkY>=q1~3qAQ%*rVm`u5z|8Mk7 zpy2JNK#=^`e_*GuY(#{rKo(vIs9G`p*S+CCl=NCH(|@S=&wr?RmK9uw4OkWjMPXmt zCBNBAGOr9wePNX)T{DGbJlT!t$gdYd+r{J*N8ARuNXO*y?iV6rWxSw|pgM9F;^4w; z#z3>i?gC8fY%%@9(| zQ6Lp@?1`&oc!vQPM6k;)hLRs#jsZL_&mkOOuSCiX+X{q)z<=MYJbR6wzbmq%*#MWZ zEasAt?Fiw-hVdyhvkZ}!(bR>VvxsRpY`cxv5Q2aOL}F+e{(0@aahP|HBk8T2aR zXfPn3)jc-3;b<>?K#9}aB3wRuu-Mj_P2GI%eb?@Ux7COF=(XZW zJ>X}f)l8EEkPRN%Ln@Jw9C^qnHUARFjq{1v!?OjYB-M7XDQbWS@aHwsXFdra1eQyg7LW}2t}jK8e_%b2;=fR_^0yRFEr;HE4i@srDL(tC0-p{bRN7@NgHyBoecp!2(*i;Gh;9Z<7Ptr8FwJ){F=eK z1rV&D(GK|-wM89EG(>)+oKWOtMR(eXoXZ{kYqv{u?rCy~;mHq`L)dfQk&G#{^R$;y zy-{BXy_ZMucgJF)K@8j7@6T8vPC4{O4a`aT-&Tt3{HpxpYXM(jBA65wD{*8v{t_u_ z+Yh&QVv}cBULE2}0BSk%9R6-{wD*)c<+Eg$)3-Skfzj8({g=!?^tae9scOcsUdA8w z;9rzKeP!2&&vhv*_6w5#3@uQDsc7fUv4FZTCUwc{@7speHE|BwV-X z&5EhiwT#6pUv^d4lZ^COY^pUEU4w5e2)#>>!7rQ>1F9k}h;X$zJ&$5GYyJN?hHnzQ z_t^d5;Bxg?IGSF>_Cx0rz$o{Aq&&m*y599&_(cMT|MUjPD5 zm;-f*|E8$B{hKqBw&%Plf-t`KMqeYdybb{?nbX!(9*314AG)%j`Lhk0n)P7HHFL-C zb+PjAM;?madRO0Ncqmhw@Ym*@;q7yf7WfqL0A<&k^)`eWHO;6XU$G`i?!K8HuieX! ziT-B)wZ6G_DGPV#*&{>`{`_UHcK3VGGWSjMb!lD4JerJ;iewoXUAbZvT3nY)f|IOU zV@KOTZMKYMv9%kKW{+FD)RzY886A)SLW~R?GKQIOiXug^PVi!q#c2aL4cI}w z4&U^Ou~*Eaw#c(}(hqWJU=|pmA6Qqflac%By%9>ynmsZ7WFMCx-qOZJs#ce5Ba~yOUeIobYil3)@ChWExIunSzB=#_DvkBv zi}3VCFc079!hi1`i?&J4ZGyt0n@UjYvNx9SpfD@*E^$zb&WaANR@V)|6)n@Yz`%y& z%?30ax3@B|*7B$^L{yK>d>Q8S+gmJDoK6xG#sLy-`8X?TYT6W;xs0Z_kbxypKY=At zUjHhI0!n1QwbHQ-L z&|?!t)`9BOFpK~o`+2y|Dthmipyt*I@Aj8M5F8ICJtNJ28mv&V)?;wIq|8MemQZEu zJoNf61d%C*;8FKdjOf8T?I ztby7CYf|7d@!RIA7g_73Onr^5blvPBIGgSTC1WwS*V~B(+rzJbdm{rwqrjeyu0OY_ zIP(=4;Bm6G4|Muz)$ev}J*IMr;>=S_o;eK_y<5kQa`qqbL3h0ZWf@Ma4@1o1i1HSVKEo&X znmpnWu=_gGV{FvEb@9|i88*dukupeU2o(17Bgtq`~vfu8zbd?JUMr zyec83qBY&xpfoXpdeURrx~Al7nNlY6FX@4VTC38VZYp5Z8IZyfNDMMBOOBVHdwu7QA^gsNFI&FO2_VxRXFy4DDBOnl+8+G95yzP(k>q^NZ(s-nN_qL4|#%NgT zvCG2&97FR`HOBoV{yUwVf@7UVS1C|=fURMdr9wxGHcVz`kz<%-)R?l)6&vN5ShOn+ zfN6eQXwkZ!c-BQ#uKhC7X|o_m%;%^?sy~gN;LM3T!$Dp2!c-pl=?ST#) z?d)_{`nc)=j6Ksf+;h7evVM$SVkY-9b)<({0QcNQDVcFCW;Vq!7`^0O^gQdOBH>0> z(^+bKY;epO@Ox?8$_Lv0duSg0Y&aK%{=M~4Fr_f1cV=kEDo)(4f_EfW_kd{w?t0!$wFbVqR z{s=SMlEIq;Ey3yrCJZI3+66riolx`vBg`%m%AYzs96TYNuped7O#+`8c1JaIfl4tB z)$4cCNWz6YgR#!bI8c(S8}AV4>J@Kmh2qAVTunFSbb9zE){0{Jyfqh?!bIC9CMtS& z0IUOB!LHS+_Jc^C4S?|rW+J1C4=ti^@L!S_l0KptdciSsEH_cPxLfm?^Y~&)&7)Rj zgD9hqJ%b=R#5CxVlUv^*LKuc-3Qp$y$Var$VY*MyU=`QZdp$N&EvdJ^G*^EHwvwt# z^8h|hVUV)J15B3&it9=<-_wZs&n0LJ&ay3UKL+qt-mY9~D-e#@2&`X)5aRcz+&s>^}@k)3n@O8zI>2vkv_*94L1W^kJCa+P`=oxx}2 z9+7`6C)h~VWCtE-NWUv$>wr{K>< zz6saAXEr%l*WXnEC2A?CR z-T(RSI10*B<|78<#rbxtLGIGE&> zvraJ)eDce%7nIF-a)XU4l7cIz3}Wv7LzRSVGmW=7jWm`^M+@~yhD7jCUNyh>XH!xa zHKq6ozg+2EmT*+hf@gQxtBWV?Zf`Z#jL{2q8d;wO#IB{U9U}55$2g|)?@tBMUlcW6 z9z0^Vn{BBlP}RY$5^FH@WqP5PqH`p?!GKk{8Sng(eLUE9DFsE7s@tq91sF<>IA4RQ z0j;20LC|lT29eFRRigxtOK-iJ?3agg4O_K}0c~cM7i3;LqPj9UW`jDHx%ldvA-NB< z;tU;o5oagrf7(R%SflD4T5ag+scnopYl)y7b)HDfWAI~V>gl6qy(+4UUph3=ICK~r zYu2aK;5=a@+STx});rfLFog-|YrNSk{S0W~Uid1>y$W>rG;37_*)tZw-|4Vp%69L~ z$6Nx;xtptF;;)wa=f48~K5RTcZ~6`r$3yfS5K~Vq`yTd>ZvX9jiiQ7seTV$-akJwFbiw|0v*YOg>tAQxjduv%3#2_eJEbnO&~ifrj3G+5oV~XEgr>|= zyrgdwZ!$~MK{s-3=;$d5{6B*mwYujYF6}J0zpnqrfddy$n z%JbzeHo&qBfIElU9{#BUn6h3Tv~uCmALSBH3G(*O;<`~5mvavT7{p=2{Q)IEH=HK< zs9wWypuG|aQ@r+DWQP}GRBgfMhSf;}3f~JHXk#Iu{f~`RPp-h|0-L;98p@7K>dftZ-8hV=)-8KpjXN9<^9}q{&RZ9sXkulQ|q4d%%#F$7m7=`s3}=15N3K zJty9j=L14m*{WPoqzVu9z_ZE_i6X5##w;(>Ii!Q!4B)0p1%!HhBsL}~%wfe!`bsj= zFiI=9w>x?{DOjI*LY+IF5Urlo?T;fIh%r7_a9H z5Y3L*h9dxB+`rP3RRE)d2$Q z3MbWk^@*V{jH(48RbpyZY{waUWEYDVeIkFimA-KkNH)yM5{16RC>!#sdnE&C1yAq& zNF?glG@y)ATT8T7SeN=LC=Jo59C16qPrO-=DqRCYGdIlwtCOeIK1hTkwCS2vsy)xM zmRRpF>wo%jfOq}8b}f_N+%Gts+uJ!V9n_KapZqh(QP(d25p^5j$DzmI-{h^${%in_c0@x*0ByqypQbA!DpBXz#}}GSr;)aA`-L3ydK!VMC7Bnn+>CYw?C)ke>gQmcgb5#P;<*Sys28oz zbJg>m1^v`dbli(dI$R|WS^0d{yTed;<;{hm6Unl4U6$Hb<=-N;xeZ?Tm7Zp&MuSGC z(jmsvj`C`K!|~d`zPa)d)vsNs{7e$R_~p8qm2p^ozA-v``3t6@Taj2{%u+U?Uu%=} z^bNfdtO3gosUcf0)w9%WT<1Z{q(1+7bA+7kYN7JpXqI|p z=ww`3bFh)J)$&Hg^S!Iz%gOUF;kUe=AmPr=T%(z@XTkiP-8|)+vUcuQPubL5T#Mz+x&hi%HlmpgQLfZ^9juFv;Wz$LJLWK zP=CM-4A@>gPS-@0E zrL^RLS6A;kEAYry2Ae)(Vk}s@xlo6W0dN`39X;zF^L%BXwazcuvqXg6*iQ;z6d;nE zi{zi|_3|Pc?Os2cNJ+&ffSFHG^-9oKE}$>8*}77+I8dIA zuNuO>sxW_b5egUQh*Xon;edxYSa6kA;R|ZJ-@Q^`-W>h}-+r_L}?`7w)JO!(oDoNSi&Pd8JyvPJQ{1Ijqkl!29YbQ?&WQ&M`RCjPEj zAhjsUSns!<4A-$KroKtDkY%NL&yzyCytC5^I@da)0*>KZ_q<6|$}lX2%O4RbK&2qTf4jxSY-IUmEyDXmKx}?1$cQ$OXj4CF5~zTX|CrVb!V;9rfBC6 zUOgK-kMqpX!h(ODcIVmj-Q1&-mJ9Ni!@_{yo|In{tMu{are|G6-gk~S_;ppEwU(h` z;kb3U)^43?DpY@ldXmpmL!fey&aWjJ7hWMM^@v6+K z-`p&VvkS!Qm)|;fE6t3Ige@O!f?~r#1S*{pdsbY>y2y&tydz^ z#F#HdmU$tb)Lgy>%^fshdAC9}u;juZh7cJ#LMqo0}1QZZ~0 zZ2q(#<=7QChhR$3Te_3cuS2ClwXOU!L~h~(hsbFxoYn^XvccX$;DV!cO3a=& z$#GV=3Cb`9(tf6>K(s#5u~$k!&sW;O)&7YUi#*jKPMx!fk08Ec%H&g=RVGW;w~#%m zW>xqkjUN)PDmL2SsK-jGGjwleBj9N8n#pXCWdVcgRZ2|qZ4x?FoOZI3q9J^zW4-#~ z80?AUK6ACsEbaz+ISzbitGsIf@xIo;}EQe|bgdn6) zAm6k%&b_1znu3plJ%3uXY{KtFIrqlrR+`~jeQW5Fu%6UVnl*jjCjku&3f=jEU(QnH z8mEEyl5wivtyHO7D{VGm6qm~vutob@w7?tn5fS8;;bS{q_i_Sa;{+Q*sT7}#H1uHJs80jS8 zsk)^VqmDr=HXr1ekgw*nD+@lfxmn#6)0|lA*hi6T1IuRN`c|;f=~)Ktu)wXHZ6&!) zsgcZ#Q^UdJRAGAxP8yLT%t~Cw5R4LV0x5D=YvfO_Vj=jPU`ssL3 z;H49plKG8B<6LDou~YKbwqtM6p07Oes!RRRj}rA$O*1S3YTtWhWzE%nHCg}ZKVzJA z7v9f_lRsMo;|{^`W6VafRi?jH(;wRTSro^2I?LZ83p=hlVD`Z@eO-fQP}u zF7sPST-_7*mAztZ=&``eWwDAz6oyeN6eva*J&zFHiA}lkSWj&*LrvalHsCdLjK9zo zl=maKjWgnoWn_lSSIyd&&^PXG{CnYl-yoNE=oKe`X6QN44E--4B=D>M|AUaVS~ve= zgZBS2F%jYGXv%N3&;8~`i2Y#4FM0Vme)6pd5Gxr=#+i~rj{LdjO-8%sq~Tm_{4X75Sg9nI$9Y9?J-+&LCf8Kzaf8GG|aKiRVeVPFYq$70@RePWVswyS= zqx(?Cr0rM{7_#xJX>IGu3)MZ19KbDjAg<`lhZ}zyd#7HqL$xCpG8Q~0ELT@~;)z&8 zqQ|O_uKOh&-w#$etl!v*>#4 zKe@2#dJs-UP2QhgY*7Z_>~15RPEY!Pu5q(;6&NdKq+amG?+&%`|YZGNL*Rn4Bpz04*_mN(~(hZYtRmiw;dMj3@Glh82w z12)OR64dDVl&lk* zp0=R$S%rtuDz`=r85baVHR6g1&SV9>6vbG$xFYnbPK^1Eq^NO;6iw-9>zic4rrmVs z0))(P#J@G~-=nzlWE45@lP|Q)GX?cfjT71Ba{JWNCOMcHIKu{WpnvJDu9S+{)mDHM zUK4Pt^UC2{q`+8?qVMS}k)PU}omJVPXI*BGFy_}_ooAvKW^u`fozf|Qn~HZeosGPb zQ(eiBQwHWK?y)-dZGv{1zs%4}Kvg&bJi1{O7#XJ-5}O+svn@)HdRslXP^r!jxgibB z_kPP0vE5eB1>BizWfc87tks!JH45I8Uwx+~X;R4N5$f2PL^@5}@~2Gv_L>-nwDfG z(wfNy*i^3xGSZ^H>?|0Cl63n z*ctV`A-3oWCjp)RZa_C1!?De2hWeerOzk@k#-dM0;UbLjpLFzlRE-3@$W@ zH+kv3zIHY`-J~=v2^qy00u`9)$vjt*h6Ix3a9FfSj>EVZn2DHkfacL?o*rqxAE{dz zZ9%z@bY$U4H#O|fL8m|ZcKN;h{Q9+8bU%N^b^mzVI6JZ9DM08KZyr`m3>7ax zhYZ3{D4uVQSwNVLIYWp)_K++k^C$+Xx3!%yqAknT$xAYrdy1iJa5KxWAGL~b8eznV zp1UC$m{1i>ct>|*=OxShoSZ!xk$XF~dVknCO#8DGVUy=lZ;`{`)UR9{xW@h`P>FNxtt@RJSHY@E3rQD{^;xohSksG z{v7iz2r#_F@8;q9et3>7P5p$Kkw_6w8YtaDXY$btTdH$(Gob}TI^3%D$OP_ce~BGS z&*Uyr`~qi{o}movepl^@`i zCxgP`8O}l^ky$3$gNk0e)=z7uHrQ8Ejn=Ryd2mZ(!Efh$9HNNn;lHsJ*A0irIkFh7 zC?=yLaUNSYj0rXE>5tFwE+s%x1`=x^!Mh*i=c&w4Czj@kJCrbW$$bQJyU9| zotH--=eT+ALJJy^nad8wp)S=*QFf6CZfF`aVV+Eh%%hPqmtytjrJyVjn`F#|Y8r@U zGq6TWwzV@+nX)eXwpsMG+p#>AI5V5u|F6{ERKBi-*5?MPH za#E4c2JJ|$V|P#|Z^8`Be13(sxizgXAwocu7Au+S>qmzS<&R^~>Lhvrnacczyc8=8 z8Qo)90AbGiuEvjIif9cI9d)}w&S@TlNe)08W55XAy=26s@WPODcqC*+pWZ&q-;vj}59ImIkt%m*>(Mj~C*W*sy9)5Uj4go$(bdE9-KASKG9OMdX?Hp=o z_Wh?&&Lw}gYoRUV))+j+c= z;h_?dlLPsGT_$Q``=@G{@i|H+1TAq-@>3=#NUd&*?fppVo=*@R%^V9a9(nb@)8-TY z;;{r+oTKY3P3YI1*X(6FzcoFK=g_Cg=xIaNWL+6uf!E$y2md@;zp2=zeGKE(E7yIuO!uMp4GOw( z;l7o4qQQ`GBVC931-g&r70k&y!~nvcovn-00Nmm7re!qpa+#ATM^aSJ$0RcGpfT#N za5I(=jjwoZ*92zw~&M*y(|!AJZ}5g&gJb{E3?d7Kt$z;v-Q~YYVZQ@W;k(IL03?=h89Pc zBmP@@LW$s7(jZvuu(sK^c6-WKiOeuoIp1j@8gNK|Wo~HHca+Hd+qEtKFX2aW;Uqa9 z_^x2`BBy+Cz6tm#BlIw8|M<7w_-}%SLjYYuguYX9iZ$pBMe}I!a1%Z*4i$-fj0{(5 zNo_kvbdPS0ufhH9E9s*c}! zXIyjXigO!1x(i(JpyB%yIuX*vl;Y@jam=l_YJ|NU+Y;bPJpiLg?Z%kV#6?wPPbzp4 z{yO_vWzd~dHxNr4;NPLq-{8tM@QqjTX9DHG;a>upS|kW%P3jy)AKAb2v3f_#@Ak4u zXlRp$VM8@u35-!{g*x9EHdj+t@EW2(TDHPkWG+ag@M^LXp!bbiawM?EML2uS#@)t7_zett>g^W%tN zEZ>z)uYhv_&teDQs0l_>jNX75A@iq8IS%`;7fwWd!p;`B1+x1Mu*j7AkdjnT;F=7` zc49B~jI3IZKp2GaZoMvZtJesN`79{xz5IZ5Y0YOdrg*0neuOKQ#kO{IZh>ofH$%gd z6$NM@&HlDp<g41370n zE6Al_7vH1EQ3XfRX0NlL z;HZV8MV!L){CL6PjN&I^GIB%_y&j~OiQ5VIMk4Ob?wODWxL^(ZcLiMa(FTG0D=D;z zvkZ>uD<(T)-M5;bCBpshf37~XpPU6gt^Y*H$AD9eR@NRoEe8E*-9!FEVH=3^=RY(t zwM9n0b>L#$4fIX^3ndJk1^uP4hE_|J7pbK`xz3f7~u2!jN%^uERSBAA~y zXJsn5(?-(a?aCAv>QHs)&@*d1J=14jv-R!ToPCtLaN+g(dvf9RM;t@h(`=Hb&2Y@8 zzOOL8sL~*iV1rr}**;KM3VrKH2Nf_YtKi7t&>wC?z+XoBCE@ibIl3sV~t%T#nsRw&I6FHJ&-<&^_kkg*O${+BU%{9WWU7kL0 z>E7|HDY=|<5RALh;_S&cG@Qp?tN-rx?M!r}0>k1}dyajnXA@LDI%8f-g3C%j3Ae#B zvZV}A+&kMrRR~>l)V$k-K%W;(pMR%W$KUspLN>r3oOc}JkqSPG(eHNJf>j@ZF0Fjy zeyux-Qa}-yi}`ST=?Cil;^GNRtIcTc<~7_Iu=qj^ESxO|2VM`t9mwb4B1)v;OS3jS zGotWQ6aXjzYL9R1FS7YMrw;KA8IW2BAsEf!^vn8^7-4YKC$MXpD=Up0^LV@huD)rvf&`qr3KR83g2x0oaF3EuPuj)LI4abYa|90M>v+46KU!YI3ic9#p<{c zCBvaqv3?%&%P>aDWkJh7yv%ZtYI*r8obqgaH*kjtA&spfM29(|BMz>si-vBy%bv_L zQ@JFwGoLYs%7%RAW{o@<8O>T&951meFIy(409&l7{8&U4TpEfHtkGqFw}UIiwT`CX zD)N%sB8Pnv3TMm6z{^%KcTwokLa#uCjTrT*?z5{ift9vg&qi*1;2tn*YPbWM;hDw! z+Z(D<<4W?#yVg=ybjS-E7II%6id7K2`BUMet;!au;V7^vUSmkHxaURYR$lRC+Z^x7 z8|0;Zx-5<1Bfg{*oQ-r{i4%Q_GzR1FLvZE_j9CgKsQ^ZP&sVS0mJ2{qloT97spDaX zQgk({mK(ECI|HsrsioFwqFJM|@^CuZc;7X{Qw)MSQ)zOxY9+%})x0lvJXk@s4nA?=-qD>!;dZCN>UktD{6rTH$-HvUoCzH8GFEit` z3NO901eTnDxj3<+X^I2+1NP}(Cjk+G?aEF$SyF;p*7J<4*xaUai!vCBHQitqpuUP@ zJ%#4^6_yw7?&_)*aN3;Q%}u3=VP**LTAJBKCeqdAR5a1s z3*odc(Vj|N;Hdq)DBVbc#78`hN~@pm^F12IiB9|K^a-)Ym&2!D$cO4{`N~Kh#5Sn1VyP)CE0)8hOb;s_&1a&o=>#koJS%Q(HI)0b-;5cn4CdHTvlWl}P0 zE)dwm%Gb}utUlgM-c|Gm6o)nSU5D^z|B46azt7$!e8)O$OL`}Emxg$I&Bx=*FD4zy z-PO?cPvNIdu=0sAYvhNCj4lwLjVF52T^NKog1sIR4e zoAOcJut~z>({TJSNg?lm;BO|}E&F=OPhD6dt0lH7Ci%E7@Gp4C?|u2(Y-bV#!ac*# z*HoK1^&Jo}kB~XEEPvzY#?E&WS^QCiTxXblg`tcE^?MPwC3m*^!K?WRmI_{AASrP{ z4Y!~kNtK+acmYS8$xOp!Vq;!MA}AdIx~FO@2k+Pp>v^%SL3MiR9@3b~TeFT7&XHtK zfl_BWrw*|#m4&+xM%Fo{HYX9@aA2iMQDw3XcGL%!%sxC(s45}V{nkj$;=ZqFZ>q3* z*E4H%*c94CulWlAsD73jb`pm9IFm-|PCTxhak#vxMks&2a^bBIiLZm>i^D$TU224v)7d-5ky+>Ik?@KO!jiQ_~f1>6mruG6TL4NpG3 zI)SPGeO^VT8V-ax)IUoI+jU_hfNsGLCf*)yH(js?QTs`Q>cnmdlntHeV_bFnQ0^e3 zI~iop5y*v3Q7h49=g`6>>QrITAaScO*Pfj?Rpa3E(&{^CHx&xy+^5C-TB{1T7ghDU z7!s&sVDquIx_)FT4fAqTEx)RV+0{-*{tjODV%~u-zq2^-qtK0Wg^ruLd)wAhr|1Ho zCt2w_;v3x%ffH8&{mAClpC$U1`&nRW50x_rW$ose2qj1t&2n4knU)Y43HtyC&5p}H zs&0EYO0UuV;d4iI8N6xF)Lwp;4hk{mrW@SGaAZlmr|`3%PVLHs*|ay2S6(&k6do47 z5|P`+T7GOnCVo(#E5E_)F%#@sX8VDkIPL;93l22$zWT3oqT3`~IE zkdBMp2-rdtfG|PfT0R@~lnKINRCRd(S5^%vA$w+e$wfV6GMg^@I+Gc_V-CG~e3QIa zP8spH@B%e}{%rFF8gVtBIQ?p^pGfng)@fmmyb-}>#(TwuHo?;)?!`H40t(+S zreL~7C7_k-h{i{9PDyFESBRhYGka#OMgyEpOy1HbBdxj4cOcw~bW&mhgOx-;!4`x# zuvEE^1#r-K8nEYIaVBYwAo!crw$!paFBd6 zAVyb^bWQ3`(#ozQT`KfJ6I3JtZV7*G!e^D7II{V!#7aYAwBmV1Xr%p3cL8 zInj^r_mjV6$@BYPU(rAG-mp&vk8@DMh`W#PAEi!HvAwcX8|4d#A0k( zxnW_Fivmh5YZ}j&?m6hbUjzdoJSu>eZ7XpiW;LJ;n2}`S-hOqF%15U{LxkKwc33mb zc-fy@EOPQs(Wei>TV&a4c!{TZMd(acl9IV{siRhp(?z_A*V%d>$n)6K%Pyjzdh1km z6_l~>lZbe3#!QyS!-?kEb1CckcUcD4omQeQ`D%n8Jle525sBm_hB2>Hnpo!>WMh1Z^ zfFw>7T$)C>TY+blM7lAKz@(AJh?BCvNs_kRvY?fTSF!!lrI%qYAvH9c0f<;!AFiKL&fmQ{1#aC;{nq#A(~VQ(jjW zo+8>fl$d_Yh>Ng9a#<@+`Ajs$$y}#oXVX;I{Pr|E;uDD(eMYq13q#sw?r4<#_I^T0 zUHQW}^H5o}K@p{0;wq+sRbu$_cI4w%OZL(x;ah3v7HbuY7K6C6l>K z%bdV=nGV3|kH}09=9c#=!(a^Rf{AJ@VM>=x717;xLi0q-TW-^n+x_WZ6N|XrbHX@z zSz2Z;szD9aM!V7A{oVAOywq-djTGBk9mrJ&MOe0J*>%bgq>dZv1`>*70`RB99gFoS z>3f_Dl8vWJB~-o~T{^ge5N9Y`&g9=-XD2i+PI!aA3M({3H(+yCQV|;~k3h{Dz1s#N zL|ACF=l2k^1QJv@`X;ez40A-(pf!>TPz`QvZ;AwT^0R*&O!V+X{nGFxo?wH1B2LwRv?#e+fcCM|7^r}vy~Y?r=hY?A zi$2NFGh|L`xqs$@B1fBD3C;xkCa!cQN4O2f`qoN2C$U_*I7ShTNQ#0#3s%IMLpgZp zrldFMO26^%sU#7%lOuAAdj=H&&KhN;I8m{-Bd~|&;jyNXJCc~0XJs0?sRnlj{;+&< z>xs|!h8E~2GPe62lOO%~9QoZvk(*^WQ*b`C8C=SLpu$K|p zQFPa<97UX~iiBV;3)$LX_)@2(Iz|clg}y_(ak2%}+Z1l^eeEdC&QP<`&B@@(Q7+UvH;7|qAZX+dfeAjc9KyE0&_siNl2U5h08`NjYAz&1+7X| zZcWW>yjl#3wSJv#b1fLk28TO}o-qSO_#*#-MBM&6Divd2&);v6T8v0%t?(IyD_H@{ zAdO(;HtU%9*`Q*GW&qCO)SjVa_SE!5p<-Kf({>xTQ(!wpq0=gQn0CF`-8cVp)8%nz zaIp^YU{G{g%QwXKd@OgaF;agc)oBA^x7+F?_P%(4toGZPL zr1WOq_!3d;wtA}kC_hqTNff%Xqg)-fnDbwIv?c923VQQC(rfl?7SY@048|@o_UHY<0{{ z#!o>_j_@7N@2o988!en3s!Rz`7v1fJe@|nDjX&?r{-zGPfIG7?$ezB&qEPIq-WUg7 z?#+MBLM$HK8Wo>GH^vwK=`i&?muhNzeS#D8M-g?{3~xNH9Mbnlt=c>!52=E zFPxE99E_nsfaY1TW;3HF<#J`?p#LVFl3!NdcSAw=Ql^XVblbgtMfgp)ki0<{SL*`rA_vE+i0H&P^C+cuQUs6(`Km z^+|4N0g%QNq%8lf_xA#|skCtBzu9nqGGM4!4QNh=$5zwTI}%V-wzwzxp{eC~+W&&bre5EI*QY__VhO|KMG&3FpwArD|m7 zMN7GH^|S#V%p^=b4w)?zwX}A6y4S@Jaj^ycuMZeE%#F_IN%F6VvObUcEH z#!3*lWWg&k$I?2o^K9)T+uUMhDkn>d?LmdTbhKv~lyd91ndBeGv8O20!;-x0GW`OK z;y3`b%a*})x`gMua|jOb5Z}sNPV+F5!2`TFS`76WNhD;MK2^6Lvg*_KVMF0`j8;yl z1$o}b#xz*EdFkO*uFbD-a6{`Bu(;aNS7aNqv7E)7RzyUgQ5&wsV3+n zP&f&>;~_UcYNZBa7^XZXfWxJ?My4{Lvz?z27d0G?P{oB=-MCD-+-FcZ2vJ7znMdzz z+-7)jMpU`ZZ_@{5NT)VBG3|S(9AA{Bm+RMXUmug(l~G2{qb?XzaRkI<8G`bqN5G4a zu~pBpUM<6XeoZac6=l1<)uc3%=vKfU@3Op}A)#`NVS3zHj7_X#(#{1!b~7?lr_5G7 zciS}0B!G$jmU~9f0?3f><_B1c=wZ{9&K*i90s80-u5^!ZC?#BS*V0Ctz(r^13#Zwe zQkrGSB{yED6r+)Bjo#|)ZTrl(_&yEI+R|s9VRqKvkVT3pe66y$&uweuqO8=I`IV`6 zoj2wDzhC60y?wqHSLovvz2gG-^9%u-fh!if>B*n{mjaZTPVLP-NO%t18i9qxM^lw! z?frI;2|*xnNY;v)-s)nJ5yYjd|BJJ8ey;4>*LBCXZQHhO+fK($$M%YC+qT`Yla6h( zZ@&B7d+VP4!`)Tq513V}R@EGHe8za*=N&egdLc?zLY+$(EB8xV2Vl$CO$aw(ZQDS! zB=B@JyN<21i};4+dCO?c^p|p0<7IUtFNCnHx2;83)Tyb$Eo#85XHpcf_Nd?zcNf*{ zXEYgPH}bhmGLO8!K85Dth;39{J#`hph;uH8uh(4I%1sy`6$R#drz|Y}e%_^~fsPu!F_9@WB{}mX4`NxKiXo%gKy;5;vO`IhVxm)%ua{!WxQ&2aF)N zzEh@pi6z7byUD~A-MXAgq&q6MA&2)XWe4F5?6U{Mr6=v{asMT5H=EowK`Q3zNm%NA zgnB8ZR5s-D4t}RDk4BAlQor@PPF$e_$9<&;X-PP3uKQ?UJ8#&`|bN=cenB1 z|2cDOZuD>W3%KDX3hUorg>sDl2;O}^`+vc^VNIRy;ycvu+%sok`phbx7=|FnF_ei_ zg=z{*$|mc=gAtuNGZip2WyAWo-*p3qqoGjExom|gW1#cv%%|msK+lmg_?n+T4uHRh zM8Qr#7is4`sz@KRX{9KeuQ$D!pCa-%RH4X)9li>ufu8@|Y4kQ`_7!4EoGO$Ns}S-? zdFuvsO?qpAkg(n=7<~+p*^ry4`bC`2La>2l7Gtqt6SqSS66-ke$iwdY&<;JFa^XhFwl_z_o*d>Cj1+LCWOXC>8yqM38x(3FsadD$j_) zu*0%1xjT(MLw6$V^saQ{oy@21`s(7{`}O*i^pPz+;CQ4V0Piv6@~I1 zTSYXtfU_|G=#e>2S)=WzkQLAnH)8YO)lfu>#oMZEB*xrJm|vb0 zp=L7)8w-a)6&czRF<(>6wnfg4+0#7yqyI~-B_O5JEn7v66%@5J%L-N`k1Rf0#Z0Y` z`Mc@7&oA5*eEAEHt4>Hy3{q(R3C@a^6;#DI2sEY{JA+#lM({f zHfPKf)_)vw!l)%Q!ztmL!&H+LljY)oP8l=6+OFWma1g`8q_nt{x{Atql;u8CQ@0c< z;2m8})8=h+b;txa$$~){S{a0_M z&XDDsJJ4UJv94@3F~}|nyjGpZN~xqtaz##84SpkomrI_9qNmYiYl9Edj*%p^>2pN)>3A4(;>(gX(4}ylhMsp{OW##0fjXDM!zl~p>OEb`YfxWY1mJ9N| zBuv!flyZ!AQM7ceZk%gxv|4L0b3&gT{Es;Jc0RXCKj=*K8Cy{o+wl-7SAq|u;CDm( z4j0exGHx0{E&Ev3fMLRY5|GM|Axx4?@O7mDU%_1B4(amFA_c2ZVd6546`EP#=B@QZ z1H}*$I35BV>9gYRo8bk{*g;O5b^SUdq2#o)=Ma>_bP$bEamgsvzGPpL*Uc=cL&xc9 z+y10imx~3uLkVGz0)*yv{_@pD2Xwe*bp2Je8$%}Vwg_VJb{1o`*g}%>x9WFltWCPXYy82K4(U91Z43Zg+`SJtcZwUww=i_u2Ocb3itXXYbEbPq)y|e@pi2SoBi~d|y4ga{osZ@%!`eUnt_Cj*jylC;E5Gk|I-b z##OZ}G7ek-dVq>yHaqMdu*@DQp|3h zE{Uf@vulX=`LlvolyM2eSx_W669%p0pK@JbP{ex$qz+Qy#!q#P{V-25n_MD)iH(NL zMW0^Dyi)mpBer5+`%R5_6hmq6YoPwdBttR^@<7t|;uktF6Jlq&18&MYkGbA86#Bg! zmD><8#CW_$*c&c%ViLV}pVnP(w3Bip6}+!&|8$Q!nt2`-b?N3E%aSl_)z)$IS~xds z%8My)F-VZM`YMAEpilrAa_~F^lRgty3;8om6Xs(q`0*Bf4slmaaOxvL_^WiQCEEjHGD2vFx7RY1vnul9T%-y}m*TU8y?&rnk z4$s1?2d9Ypv!w$^H`eT^yULSYaMmfqN$&pXG!`)|8#|KcT5vhMtRjP0QX6g$77+kZ zW+Eh#-E^0(8*G7IlgvZxcO-uzqoH&@9Mp<_QjOh^s7s@x&(F)@^boNQ>to!pC=?@w zV-&-L<5kyVB6wnf_qUqwZrw)k#<`KTV-(U~Iqh_Mg`vLNTt7Kx+}yh?h3jQDZBWCY zsA@_D!7ER&(SitBeIi7BT8aAYsQv1&Us#E4f5(jgZapL;AE+f9*8P&-VYgHTVFhzG|}NC-&HfUP8@ZoBFyoMR5IrFFY>Gl5bYw;7fLh zH9zZSQ#(*S)2hljs;jI<$w@THx$wpxVK}mj8Uk72%LPo( zu%Mu�ga`&1nngLE^akL4c_2|c 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 g(r4{8b|9~IcwNXRFD@qU4TvQq8t_8B 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 z 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­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�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 Mbiw7dbaEBRJj<`n&{b0=000?YQP+ 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�s zJmz3(eNQKBXIOS^k_QFd1?Uyl(^l|2dhy3g_q5UC3`Z;fYj?V(+cta6bd|8+RK#I~ zq$U&vVBXkRsFrGOVyiF84O`32V9Z}bDp`Nd9ES4h52J}T0ui5&8aE-he{RBr_nZb$ zXJ9C$P6fBLL2JSkF~m;kx%IMc;H$L&8V{gD@KW98*EG&!A-P=<58vR4$O}r@T8ZAp zNt_KDe>l%^V3QQ6n;Ti}7R=>QaWVM$w4vaKhNG*xOi>&ODMiyIzmv|z_Z(c#Cqys? z2BOfUA%2K6s(j>{F{-wdtNqqpi}M6vQnqD;V3(7Ihhegvs<@G|8aWybPa0%eSuM#tMjE+Zf@Ku77d+Wln)=m|6L;ayek;!>^{Q~N0JAMgf zY|1Z!?-Qg9#Wu@SqaOnkm5ZmzC4-O#jBspZy-{?7U=~|nAnhTY9@o@r!LkLgPcU~O zoyyTB!b5MfsTaEsF3Stqgc-y3rauh_-E<(&W2>gO@WI=1E5c1;nVe~PpVix)n9(>2 z71ICmVj7Cmz#&|kixXl_%o^iS)P?$ zei$qhV|pY@Ns-*(JX46x)`hxPx|la3v+YH8-+;&|-WsCi_L^H7B>J(6L6os}pEH7N zc5;OK-r*0LAqWwYOt0T=?P>vY$VNa&jfi7od6goK13x=$9iuEFOqT5s!#;htp&Y4< zNQD<(WraxKRQTuLe13GOG*KbRX40W|U$A@rS$u7>wRF*RvAh2odB`%)K@?Ha<87f% zFftyjf9RPjSxeR>_{wX1Ejqnb3YSBsKA9;9HvL4ux1(Ih;t$r04>4PU)$6j##457( zztYr&j4F0F414fEbmW@|o^=$vwMXiU0$0`bz$LomGEzKRDXtVpG}%e{SiU#=~Yn;!zj%ri2X9S$0SBwTy(0))H{k~V){-~F)c!XLjIDHDz!7N zLeFLpUd$9NKTkbo34>PM6&ga3k*~JVcntE46!EhWebr5iu@01Hn`*TZ6v z2ufe3CneuFmKQdtY%CUGdkFE=A_k#ZD&)@hEuxr!kpqpyYWhE(39E$qNu03a9y4arllt#GhQxzaDMnhdwF{8 z)hI?JuTC4SSk%4>TY4LGus~DA6d#_xX zS4uoG5Q#5f9nm#+r(B`Dz2xa8bzzFeg3%hT?M%<)a5|e!e7EaA;wZindQJPiG4nq= zCp*>gHLHugNbmNuZR|ELOVR5*>}_14m-#eVH9jrL#-H0TcsM(;aeU>KNn7gf$GMGp zsiM{{$4ZHEPgX2sYCLrC&~T3CpOlFAN4i4DnokCF?F*H2Uf}#7`0`{%LHQBc@~Fz~ ziEw6B>qy`!Q}R;&68@)j8s$P)rs$0e#$=Ild+c*EGR?QlHBvNY-R+S+(Ae`zUyeQd z`}OLP;}VdK(Z727F5cOTqpR`ZtlN;jOr|`m%~E#{Ye6HA-01^2SC%m4ELhI}#1BteEJW+wh%e^b z?aH3}dAPIV$cw8Zcl8!WZ{8nUaCPAtyUGsVd%v5q^j#$eu!1CwFNFQZqCv$-tIx9| zt^zZ%e|e3hs?MoI+`SbZge?rzkq3oJHibGBwZJ1Z?~|&9J}Ft=d0I-y>-<(vDO*<( z%=ntQb1ELL#Z^fcc>K8_~s>-1{-Ol882yCewQ=vnWvTf5C8Q!(&{YK+XkjnPtXb+|t}~O6 zt1+}-NPvyTBEZiz=v2o*XB2oMB#B7|K<>NQq9fh`a9PYp*~2!Lrpa(aOIyY=19ziv zNT@)`xo3hufS@2ly3m=q!WjZ#zI3%OC$6RVZbM*@VJZuU;a}w~j&cO+H4&PG#bTbj zj%go~h#BGb_*I1%^OrdEQ85%Af)-N2^0dRdzQ9=_Y*DzXCJEI5dxL3{)jv4?ESFZ= z(yJ#aQxHY%axgpx$k^sFcSiECM=8bBN+@&h)2f25mMpXGB+Qyg&q1ePajb_}Rlm>x zAAk2ncn`U1Uto!34%!mP^b)wksHFxO1ex}{ju~wuQDq2bK(nS7s%IgAp<3xp0`1VK z!S|Swv>i#>;c&rhm%J2(YN2g@8W@v`k|NSU7^7lUpMiFEG7yh0%LbC!*59C4VGpYcmPZXK@|?BgS#0C>l2rv=?uL_g!APAIVR5LCmA8Jsu!=ul$=Ku@AC6s!RLgFrTnP;S zDc$nxb{NjUFElCe^Mas%&AXHp9wQwSpJk)j~`GycXU*Nuh z!wx>29RGk(EG^721aa%J=uTeNJx1st2vlMLnDk_y5hHJw1bkl+n+jUk4M3M_&|*kV zay;vp99lv%E`((vg9O3WK$JN|N37zn+-{Uv9m9-BoU&DSDFhp%9lXU#;ADw;%*<72 z(atpoVy3;*va(W@c$#W@-jvlu?RsJQp>jAIbWajP=3BIl*M*3Q1&sCEHUO%8(b1K1h@i-jW@JzcZLl&~pZ;v|52+ms-by zps4o?di4DTJ(`oKImu5^#Joj~m&lcXN+T+D3erlTP%Lq>FL$$wFjhJ;f>6hnAuk#atOcldY?SOA=;TGk!HjU zTma>N*LP7WF$a+&G|`pr95_*hl2YIsm9dt|B)b_Rrp*vYV;I1Z((TWlE8=FMkzF|l z+<7x%$m~dR%?U~xUwn;%HIth>%daUjtxDPHr)RViBG@vLBKr((wcM4BnipWm)`CsZ zIx$qR^Aw`jFs7^ZEwCOFRZ{I>SZy>my?cHO;Y4LPv8vKPsO^@)<(uWOpoR4i>RZ`} zWGZO+4|}M|BBW-0YYqs~VQqewU@9uL@K{*9`&LxrZZr_hBZKMU9=SHvRot_^D&(>* zaQ^YU;#p92aVYhd*T;1A)6wO!XuR~XHsb$wOICYXxBs8-_2%`A81P?>X8pJ8g7W`v z4E`^9+SJbVH#5Ke-wQ8Z>IW>yl*V{~e9xn=X4eoxis^>%oC183KZ4ui2wSsj|FvQ&>Tp-x4`s8S(^ zaUzhD%HJ!`=QP3(Y1mBbJ<+dGB0gPI?kwW-#)IoN2JthL;#SuHAX~00odiXGsHDV6 zjwbX4euY7vpb`AGnrbQ<-TjEgnndnL_^*E3Ha99jI?efiDt|Fd*w z!iP1p@tUS9Pp|*4%n7Vy(=%mqWq4y(gUx| z0{#c!&#;FG4|>1eMG-(i8i%#lLRuJc(@2>TQhp*8HTYCu&>H5hJP#3wMEC{@4%m9< z&j5yPoguOUT_lv~ex(8C7QAvJ0uCI@tt_4`*IOOq0h8b4ZP|T`C(kPRRbm7Hz*0{w^67BuZIX2D&wo}r4gKNO$Z@Q?$#a5cUZB{pp3|STo0@WI}Q|+ z3^TCkSO>xPr(n_1gEOkITPZb2S=e3`m2-fr4BKB41WS-p-lPJwCpHjXt|t`77PL$u z!XxWIJ?x1VpDnJW92<;XT3m1OwU5C>P>fvgwR6gqDJ{Cl@*mzH?+N8{$O*zb=91mw z;2o$ab-e4lhyfAvkjsdn{Qb^kOKPgEp5Tnm@MEb7@4*0YXu*B5Q}`f)Ca&E(3}PtD z;8=*VQ~Vb8uA%TQVWHR<51DmC@DV1(OnnELDG~Ay!hjw|BgvU_bqxPMBBe|ogGoNq zZ7Uh>kC*qyHYe8$4r2B5XS`~T$1LX<{PBa}_>YtXAW&`>(<$Y)N%2O15o|^eEWA`g zCXOLVdQli>ZTL29h39iW{)ntmB;Z`9Xw-3>vnsr)*Pp^|w8M*S2_*2G24;b2@IF9% z;jF8y0Y5PO5#$Z~sI)dADhBGrH!v&-_9J>Kmu^A;~dQ4$noO9=a` z;c6eVqjgJz+=od0kb)skK+{8Qiex4ZiG4q985MKAH}U@Ehtp9aOL?cLd(1n{m1o4c zS_2b^@YYF<;l;X`)Y#rZU8Si7!n28}>tsy8^%_JwrG<~avl|zGB#E|hx|OMyG1jZt zKa!|*M7lnz8(Na%y6DjzoSUScIPJL9t@7I*_=p)!VRB{vXF;EC(2XE6&4d0-uTg{$ z<04z2^r|uB2ynaFvW#}?YIsvTg1_e)3C^3St!&$xinMZ!h^T&0J?z1;r&Ov8fDBuba)aMlboGj&aSLtz(YuI|8v_U_Dd-s(9Gx@h}^$a z882cJaQ0EiXrqpIP`4`Iqh-Fl*sxr2tfs_!1}P3U4)I-s5oGJbpVK{BiUaH9ob*dPt(m*IT&xD76dq1!HU)Ro%^W5SQ1=^e~l&nL}wm0c3Vy7Ea8q1@|< z0tmO)bvUXHC>DuWdCNep^zSTHtPs4{3^mv#fh94I(thmUZg!aAfwL7E+fem9ehJl? zJ>_C+!Wi&3^X{FdmC5;MCR3wG%{w>dvuE3U8Am%^Puf*nv#rMFKvoIGpO;Lbs;-#V zGJo@aOKHDR+?Q>kzLS!bCu+gLv*c69*EOm1I^=&1$M7mDg5|7W0kT)Y$@Z)vv;Z}& zO|R$4?A{Xp*kF}H$yFPxqTw=~)p1d}Q~?)buhmd3 z#VJluD6tdTe!vAjr5Fd#pg|Dk*ty)_C~dnJoXfXEXJt|{0AP4;J5KH=527t}gmxj4 zhW+Bw?$i^_(*j5KOmc{md%!?*aWD^`qoc{>j5rQs*K`UoHO1Ss`V%;k<@c=D+2z}^ z6%j$&+j4n~Q3lw#VPsR|b!NTvPJeFspnbV?X%lk5_v`40ICKr)S+MOj2$XyZvjwX^ zOt2}U_O}uOPj_+=1sh|K@KoL7b)<3J%J^FuJX(1nenhLE`R`bUI{23G$fjmpJn}s^ z%~gNCB(=pBb*%ozs`(lU_N2QEws!9nm6oc>My9maNw?g_hZE^Oc9>%NB}bt}S#|dCzaOL#hAL<61XC{|fIooB6){X?2>QZQaMFZ0kdWH=S>e4FNtD50#Gf zi%i(LP^fKjr7D+5er=h({F~uca^l0tnt8h?Mm0+f;uO^$wm=Itrb_B*-@Z4W%%A`5 z(bU~8dvljcY^<};+T(E0@)GZLlkfkpAFS*C=YL_xJxZ^0g#Hc})xRnU_5bH<>VGjX z?*6CK;+Gxg$iP4#tGh1y$4xeW>vLeM6cVBPva1f>{M?2)K_s>0szmtb#aDbX?ih7* zIEJ8T zM?CCBN2U^C*0WaSUUK`QcyMjyL3ou7fmU=5#=H|U^rR1!DuJ?+B{WsL4w=vuGMYoN z+H4Z8wPc9glZm>V6d#2w4Al>$ zKtxkJhCF6#!T%$Z$QlZvWc`?1ND3eA6)Y<|wGz*SG}~NsJbC)?Ua1zY-ttPduKrvG zZ0uGgE>ZrAOIDwZ*7N5!{!BfVX;Ox&OB=tPGVi=Ae>w}1$Q>R(tDDPU>P~!%>$Zg* zysE&(`=Uzzq##c`(QmVll;1@8j%n zM2Sqn3R7g4UK~KtA%SR)51y>`VrBKJ(yEVECNjNs21&)(5D>^qrAW}&OgCSREjEpq zirt&wxbj}c`8zDcr=@n{^eR>?w=Y^`&S3x&t!)kd)6@m`jC)1TN8{M?1v zHs+a2CQ&gW=s`0G4FBU|MpQHmX`h(=Y^20EdOg1DMN%nCyW4Y+!{*ZF&_4{EW78q0 zS1{*yU@}a-a(aBE4UkbWu42k7+r(i(8$MEnkv%+`k@wpfJJOotIR}-T9X2q! zilR2-{>O=`0R*TgGo-L}? zLVKA0;7}<8@YvcgHv>4`1Vv^SFJg(t2*#Zjc11t+_AekvOY2!(Qv}2nI8F!*za{gg zAPFfK_7dYTJ2zKs;}wcqoB~lsFH}N0pxLf&W+JO%n^~PQdej{8?K4;$3?~hMrc1*P zxkC!LlbF&SFL=~e8a!yo$@)0in~i-@4Cg}BZNOC`#xNU0-#9^`uKP@`O^&R;IzqcP zQ(DFb(Bm^h>YgtS(_&G%j8DW|-+Y9(hTc@lFPt>gA4guXfJT773yar3!o)U3GK9Oe zWV;H7sC;k(P*;Ck7XGccT_^jA`R;r(QOv`>=gC4%qOZLi!Yi$m@;7_9E4UNSRxj@G zThq}wWPDb#fV==_H$W#m)>7C24p3YeyDJF{ztxcXkldvwsTV!U?(?aGC2qT38>@X` zeXhtE< z)cg97rd=;98fc4{R{UrYy8r@8py%b$wZD>Q%dp-#C$h${6%9>;t&&Gm2G*bt4Qf8udGY=fM;Crmy>AeE!5vWr$JCIU^SZ*X_#l2 z6AL1LlxRqd$$$XHi~Vw#DFc`raYBpCxbpbLJXH!Cx`(-swZBikUrTIOJ&GrXtcJa?>F->%8K`%^ z!jf2Y3gR@RDIUp}M+_O5`vQ!B>&OabA~rg57z4i(kMFp0M=YdS>svKp&DlF6EZ-r+ zq2>f1tks}EW{U?UxDPbtMb0GnBD()2~S_$PR8r@n&(naAK$*bStjMlZ5p1A zze>M3Zkz^zfJ0k2i41wCP+?R-x`Iq32BO8zKg`5| z7@o(dKfmV|kpC)x^J52oM;ja_{G4&`x#a^M14u+qT<*hG=%vXMhG z@LfxWm$9uo+t0w{-0C-A5-4sv1JqF0r-LS#d;9eKN?w~nXl_GhjGt-4x%XiL(B-0Y z^7OXnha-s~YfJ!)$w_0sDn*RoJH4JwJNN*EFT=VA!a=IPY-QGwn+U?+gV6C6n57`5jJJpM zlxJepJ2!yjkOPbNdWaAP%qWErrbo4UGeGn%igeEa)+h&w_{s<^3xH)UGgS>vBq_2K zVQ39x-dPChpw5`EUji8&G5=tI%#R3Cj!^_TLEdpv62z1s`LiRBRq!l!<*ybED?owK zzDGJx#%~}LzR!?EaQ^d={{w3OGG_X%8jtrqEyS6cpC2k;$OB5xoFpCkpc{6Qi2;)} z2SNn#Y7}huGrmf9nb+WccM8SE=&l(b?{U=JzN2TD3W+}jTJwNL1NpN%tiOx95Z{VZ zBb2eGx9A-`2XOb(A($dx0HTtW#U3J|s82dvZYhi@HTr~oTN`@lmn0K>Y6ytaKXIq; zj5tX#3IGUI(>$7^NizQ3;QCp}4SMQf3$xvQ2c9TWejBJdvqaQd{r7BmkPpI_%2*S(vT-2I9-wjo&FMzZkzY7bzQ6}-=eqdC*hTl6XjXA)xF4EFk$Gr z!gx8~$jE-VXHJDem;&?D-JTB_Qk9yFfv{7Lu`WJ|EL zBHgDU6QKBt%{Qt8C4VBH75nN8jzROnuqubH6WE#4-&hiAkR>ix4~Fc!EIba2m0Vb? ziRnX@1La0RtV9S7s};{I{aM0-%KzJAl=ryFMY@4^%*M`4fMw1MZWTE<4b# z#o@=D$mzK{0%nKx$y@UDRgNmqgWTDV9dE`k6e$rs`h7*F{9MUj#s?6R>dX!_pAM&8 zTI5pe9t1843fN{OC43LeMlru_mi!2hb)WlGum%N1(HCU}^Hz`TEbr%ASC_fFc=T<2 zb#-*CwDOR1f$4og(o34;U`kLS%Ww`F6QxWSSc@yf3Q344Y+O+eO zy=@a#WV#ize=hc~#A?Ef9%1P9&R^d-jko>g^bix+B#L*@8q1g_9|{+OsbGAay@;Q8 zpIPgBJQ65Rj|1H3rS0A@9coxTnLo&1Cj26ct#r~6K9W&fNlu%|dztVxmL zKL*v6J!Lwuqcon6p*Q*NHyK$4%>j?O;ek-+qT@>PHW^+|tY1k$Bs@q*Z8s}cJd3eR z_5PSuPNZ)vq@>&lGMxgt>IFb~6V-j7pm&O#_hta?C#ctDlz3%u46!&PK-|Sf@`L89 zhmhc*TEKb`pI*Bn1dKSu3UCNC3d26hV3(KqxJM=_Lv)YiI-0I_Mz)p*H49+=);g zVg!XVz%nM=B%x4G8JECZBExZtfIKA05f=$osdsVJmo6=> zLvKOD`&|v|jcpqw?uWM$t!ITmH<#KrF`LmpJYc-TukCj9alEipw$jW8S+TiniB|~Z zI5Bm(+0#O9+hy4>c}mO4eg;3&Yr(fy;C3g0S2u?)#hTD^c9@bYy}Kal1>Q7PEMvl@c-$Z;X_ zV{pNwgR*x-u;G&0%}$aAG$95fzTU%(7f4QbqTu0=5lz7nOvQ@C3cx_`a>aw|V!%8Z z1RG6(xDJUYI3*RB_Dht5Z*qkKJIz2#KIc>GtLLnQ-XUGy7|;3| zqrsIGf2qbA!a~lVwk4C@CaR`vyMs}g%CO)nC)|-14O5a_<$Kw9Lx;r=^>r5GV%x^R+2$+v~KEPFWeFCzD& z!S#2_J22xR#nd1#Mm8kiBZhGcC1rTKy{#+x@eLd8 z*saq9g98;UP9@Ek5e@U9J6i%3oN&6^;NVo z?+OTeyjlLc>q95<7+M7xv~VnY|8^PDj>c2Ep7u)mlr7~>OhPr!vx@8~6k+c{#!?I_ zNCQ)7L-3Zql)5n(ln5^(ubrkkXfX^OD6A%pTvnJ{MdyT;71m%DJDnz!It4^`5o!iNj3KpP=ZLyv*3 zHB+nRrg?B@D)smpthv2`X$BCdMO8Oc<}!!^`b$*k{v40#3WoHc0k?Rdb2Q zt}0I^8h~{16016AMfL=ZS?xDQ(J`}MTXvA3=R}L34l}le{bneh`BJkCuo<4m3E>^| zNm{kT?Sv>G#zQ?^+F1cyJt%-G4v4EJI8$dyQ7>-*TeVel`+E_Wk)v){vd%XF%2Y}f z%4LVbSh+Xts7<`QOy5Xzg)XgH} zQK>D;lTtUO-RsviR;CFhIAd%MpvdbU>p;zuU%50|l(O%r+C zQ<1mL;Jflguz^^CP7;bT_FR#fU|e5-M#;n2z)Itlsw<0%ZJu)ocX+G=Tq~R8oedgL zbJ6i@yN0zy1@kXGG)zyN88T>?)z|0{b0$Fkz~eW*gB(wPlRt9pRu_6TPc&>}0!}!| zo0JPQ$_ac|N@;6A7Hr7me(+^L3nX~Oow$rcvCtVD0NBSj4CysWjF)bXm7cNbuXs@{ zlTN3$k0_zEt6}G>y<4V&_H7}FyFC0GVY=|RlBY46Aw-p>vtUOETvvUg(Bo&S@`|e0H07ikW)T+9XLYNX!6^ax1N%%B5fG zm>QcXzrG0Z+c$Os2NRX|1q8FU7vmIAu3`C0ufJB-W@rafy=KKEdjO`)8_n{ZwO%zn zY;qj7yh6ju%*wUhz7^GggVDm~+`Y9zb!}d(ag4UtzMR4YO^L2G4R2HwCvb+~#55FW zwdLucg*8Ruo?>+WM+&(I=28JLE2^AATh_;sFSbl|I;*uUIC;-jsNctP zhAz1jG(J=@JZY)Xc8Ti-Hdoka2h#Iz-ZVk|M9tngt7W7tD+sKL$xqlRH54I4%J1wzB+9T|Ez0QvSU8*Q6uT#XE9;%V6&om zL94&+{;F|}J?AVW=9eW&FV4E9-vcxB+uD1lihN6TCxbj`U911Y1Kn=piQx6tl`5R_ z4X-IJYYFC~>D{WJeiI>5_pl7CQ#S{ST-dtH9I1a838wV1-pDUojq!zM~)cNTZS=vG6oL=|yh%CwwJs1oJ>H+72M7kf+JV7qcM1`n6p=i*}^VhaPv$vbZ0B>7if9abA zW!pLszmOSHcBiqL+PXWMc5{B;Bf34i!{5(NAL7CO*+Z*3b#&_fc{B{}e zlL@buqRDs*5|B!Mas+2nWx0R1+a?SVgR7f*8?+W`{QP>UOtPY9Ly}xFsQMJXIoHkX zcq(8pJ+KE*&08%^ejw(d;2)v>k{4dfwLS6{9%ezOfZ_K*8b)PLxx*h+yZOUC-Xhy1 z3?=aG=AYYoQAyvKQKM1}@GaQNE`-mDrD>grWucz{YtQZPe8c04*y=MM)ia`2T?O;* zVvxRFR_%1uN!f{A$Aax+5`M6I$)}F!SEja9z7dkJtPP?;KR}Q|$Y7 zeeR8V#w>(4Y-W-cW0|ItnaiKbNfV?B;BFT$v2;hv5C;rg(7oD4jV2oE(*at}F>kSpVoI3+|@1uXBIE z|7QW}6ZP2800sbn@HcNr@_*B zUaYP_)4Ed!l_r)zq#kuF3|;n*-!`*XEKFSTHvG#zMf#r^mzSrfr_GFdiA&XJoiMoT zq}>{B>PBOBBi;irI9QEn&34J@@#TSkUPsOgQ)oP1;=Od7Cuj9Dz>lb%&R=wr6vQ-~ zykvK|HT&7M^7`%F5I_w6$Ib$G@d?t=wSLWPWZMi_Bz71iWYCTe4@0jx4hY{EZ;9f* zd#r?LlY}aUob4Da(G_k;fGekhCBs6Zpq?#jz@X69I zabP3iq(bb9GRP*Q6PY$&xcLt>!3jf!hA3|(5tx$5P$D`Y zH9PP^jW=103Mfb51Xt=%*HUV95g@4D88{O8nTYmjn*nx!Vj#q#sYn_%208rHVnlTp zb?R5cMl;!lJS@F{I2h^0g7-bRYyb~IH$Db}y#qEsm|cxIp09ZuiS}mN>;m=YwU9ep ztTB}}j0v6k;&j2%H%KHq46Lcka^emTba%^SkaXwBbNZnGhMIwjp2|&FR43@a&Mh{M zRQ&K~cXWI66L&w7CH;A@Vat!Kguv7f+l$xFtYC_r7w~@szj?9xZIPgYf@7I7`XPSfrR_yO;IaK*|i3D8?1D2@8)DA=l=mU|Rkndx`hWT%aiY4UaB@z7NA;^i1EV7~YX0V2I&cW!8AHbmM-%`jg$i5sO^yENM&S-ku<(7;<%wR99GBK6qVk5sD~6g(>`PjIUkBnlNx;Y|5R+vT0eKn;k)-SG%z^z$Z*bR~Y8*tk(j6D`@ri`PX}Fc~p|{|| zfQDL)#j^DnWZ@OilS(DX%D;G?3OB#+x7J8^!zgG)tfVg7DWl3PJIiOdCIyLf9tV+> ziP+1TPShfp2SGTCnwldkT%B=35Nfyjt~fPPeW+k!JSg`p?me5EmVz*3CNI&fekHJ@ zY>9&PzZ`mUBFPL8l%^+KUWY1{XWh6?gPCRQ0%pBXnG4Lemwcw_)kj#bK^4($ zkavqOQeWMY%&~Ny%9RZVOWUY$6a{UME=_5u)7?feq(#jci}62bo>+U{H8}Tw&w&#f&}V!q9z;B7z4;mt7!sS8vCIF@5644);O&_yx## zgWKO?6X>^L5=K4cyZ-tRuMbd_E7SRZtW9~?Q+fgFH=iUKKG_UdV-|hg!7;n$6%Pqs zwxHjHaTzIAVr=eY#Ofi7fP_L)JGFfpHNPE|!D%{z!Lx#)^um2U!8M0IGCa4EgJ`W+ z;mm?66gKL}E)r;VLYJ|1G+i;G1Zr5gESp$a>3GysQ9*N4+a==z63KN;sK0_nR-w~Z zI>qA*L|7gPMySgg(Pby-6qsD4T78SF+H1Y*co+LQx%^AMpY$y4^&GL+UHp6kSAMuJ zlbjRBrw`YSD6MArSHRNTCtx^?jo32_kO*4EI^8zRVgRaV)G1g)0hw0i zHZx~^t;+XR45q{_KC8IjYVekPUsn5Lz~(6@=3A<+Ttt+;Rm-Xa@VL;=1Fkw<{Or}U zQwbXIr9Rz$_z;Uwsr}uYSZVPZVuHqiRh74@M~bIdfyhL>?;vxuDPUWATlX z%<+1*VcYIdhu}l40j5Nt2mzPhv%Vb>PG-M%&atp8eASTA6AoW^EWh@QH;^fn!%oKb zWIGtmC>ZcU?JquLOqMs?1g68&VnRB~03}S^<{2Mw9#bp(bsvitb*$gY#hW@IB8^}C zccbDHKns6 aR$u3hnjYM25g^+7c6s1z|%MJ=Mpp|(j&T1#&W9M-N_;^}y=STf6; zy#eFTFPPo*1KmOQr3^h|Z)FDdTV6>l+nNpPna$1ZbKP?)o!;Q7`&8+xl=d~t+m0px zY?-x``-KIRC_=95L(_%gl=vBFf=9I#dTp{*|y&eW2B-thP z92sPRF+WOK4I;TQYRN1@dG-CQC*+_nR$}uCistFDjb`806LV|g(-}2{kRs?eTVCc6 zAfq#|69Nww!1y6knY*mm+1 zIjBvJYBWWUOYB{2vNlvja2Tk%K071RXCG%5C${jC{sxz2)1~_GZy7&$9)M&bp!_>P z_*sl5Nwnt4XRyc_>3U7WdcPAeerM5jOS5ussnV#uLMblmvjxpYaZMo!r**CaNmXXLpHRt$S~?2`7$EMAqTsl9fy=TC5Mnsolbv?r+IGzh3$I_rGluHD$w zN#D13O6sQy6CM>;%8zVsa_+C&b~P|ayZfV1y#Ve_zK-)aWY$>$21bP=?_GR%Kl}Us zpWkY!1Eim;nyL;5agJ_!%Q$dgd8t3;w(8)~^b)zaJ9qnwYssoO=obu^dMKGm(rB;_ zg&q~6y}WGWPjX@ie9NAy8nGiI=#`-?7{6$0+&}V4e$J1pWU_=%NX`=M^J57 zyDP+dr`$%hie&9A#uLz&&t>0suqP%E+&O2G%G+A~go((*jD~u}3?(p_T3UMtp_L&; z(HxmqL~vJwG9|`dC92o4cBx%382vM0H1xFp9_HXEgh9jWIU0P=9OtQSJB zF#|e&_*&F=LRnD?S}A!W8sn@EW(c$LZ*5Wv#h6zlWP{L}_G+YA2Wf$Hku}5sXi6#KHh;Yw5u_Z4$5JCHB%Nz@5U?j!Cg*WFjH3?B~jMHbBXzg+=-0rVJOoX~c| zzx5tuqIi-GYfDCpw_ovfq-sh0WR-{xDT`1C1||Zg7H7XGr1VfcMo4F-7uaP4k;G>l zEKL0?*&xx;_GInGkTvw-%bE?7i}Ie6L;$H5(&7V58@;>ucXWsh)ZqmbRSQFeG$M=~ z7Jd-P6WS`k(|mt?WK=h55UD{!l~`-gSm_Jf0_vVc9iv3bc^-W5a&%9u?iBHG6_*Zm z^64JoNu*ThK?%s-np%-WCBMmCVLWeH3<+?;F61@~eJGtriXEHgVBs~vZ3Kv}Jdw`2 zIZLVcXT&s5n;b9mh4HeeB#M(GH-f99F5XJWj)GRYt*}>CFZJj}sb(mvN&85dWD6X+ zSO*j2Rpb+*vYaeeE}v z%zn=wL%4jg^z`C$A1Aipmvja{eqY{9`5pQD&3c9`zp!1h#Z^8B5;*vSmyBH{^n3y( zPaBLJ#~nb$)g&4Zk~AWr+a}dfH5@fgG-t8vf<05Jk~u#rc3W|EbY-t=>eVxft1j1r z{N+((mQhe)k2Tf`6-D0%h7^3iau;B&^XEceX z)&jqLJ)U9Laa-Z#AqqChz}rUt1&R6_y^VII8hFu(5G{@M?OFvZG$fVc=)>8fU4L^J zYOv|jWh2vjMwu3xg6W3`7zI~V)pV?H-|!k4qi+#*+AA#yCS7w;-Rc2S*UimboSPxt zvS26AXUTX9`6iBI6MK(K%^1vV5o&b)KHa)9o0n0}9dMDHczn>Y?nJVv6{1&yL(Hjj z)k-%d>@n7LDaO#{#-fAbzONui?Pt8+=!~UXzYBdHN6~ zZB)B)k0UQuZADi7aZwK^Lf2OX+{LaKODT!zlFvAVE98LHqb&8}fY?7KC$hbj(*kh;(kdHaICOcKe&k@sEdc!j zfzOepV+e3%&hPpo#pdM2G>_y>D?YJw!cyj>N&cNzVsT`r`TcHz#??;WmxHZZMog$= zHcVe%u=S5~kK-Q3V3mlcw--~%x|SM8-TrdeO*nm={u%lH>Mr~bE(_i-zWY^6rcZPJOcuN0ALk< zl<7?G(vkelDTe+AuK)K?*8kuj6aH@*MF%HSH%n9Z|J;zuvhte(2)(E3F+M>P_$(KI zppFcIP|6ZZ94Le%hPLuKrI)(y?l|N>ea7Sh7WAnbsmIG+J3YRSJjk$w7+?tcA}2vr(N>jnd!wKq0Yj`+j4|&|hAa_b4Qb05I7kWH_<*-{$GIDi zi^-1QhBN&&fG+R@xdqFyYa$(lOLAD(MU(#yZrCbl>qy)7qc0u5E`^TxwG5#rWL2S) zGF6h={zz#BDuVhOf4#%CCC3%phs1FOu*ZLhoA-*VwJbo={uB1=*(6yQ zRH8cSa;}N|@w87)5<2a8jM%YX^L*$aXT*dYgPyB+YvBuJxY% zSz}V-Ziu!^o?K?>h0=J{-sn|3!_oL$mzXv+*G6Eao)#VRO0^i&KqwWBOFU0$S4&zd zg`cB|^yhr$33V|sUHJokspsnS6%N2AZ*g~klC%^Y%^|DQZ|*69w%Ysw$}{rl$)ii6 zPC0YJkSR-_EXtJqa1K4PDE^uyL+>lV7Dqn>+m5oH1QG z)5)dFRwP0(i&cA4R3N4;xysHhP2+_}N-epyu-(otby;^1x#_OLfhc9l1GV1{hRuTo zz~lLt+n)CW6{SBi_LBEJemV@O4J8i#c+C638_HCa;es3d70z&cw!)*38EKxBB}(AGV63{iYa< z-+Vp6QwmsG3MPgc$3*a{SwzcYUe#$AKzS5=SSU9Nv<7%X^9#vO zFm6q{0ENKf>CSt}V0_ySZ_hsax@)KXJmh=)0PRDpx1;GO{Txdqv1LzQ&fduN4?MOZ zbtq%nrXj^gkz*OM#E@kG2vV7W1~9;j-F4BgycdLzWo^wD zwkK*#aP%MidFQ6o^Jle{*xGuIe^{e8^JCl!<@Q?;JPXai3xjwrXOFF4F z#p$=$9Zml8zx;m)JEtH|qA<(<%eIX!+qP}nR+rUf+qP}nwr$&8uI<^~iP)Xk*vXg7 zhs?)}d+#~l`JKJn;t-2;;S}+^52o1%O@X&G+nQTGo4vz_Z=d!Z6Lrq5?ZFGXFS<<= zH|y_b2%6R0y;++tJ8+6G)}s>FmDN6xVtXpJQ23KDdI_6pe^eKZiE5gE|K#5Sv9hn_ zCw7omy5@v{nsg&Hha{U~7_H*f;y0D9Te+A7shSb5d&DnyRnb_7b9>|~cqT0Y7I`0O zpJ=%ry}O;G=M4N*4F%ZTjXOkWCTP6M*rL@a^SduOl!=0}7Y7M(ptI$gbab%;C)uXj z58`n=`}Tif^A)YKBYNQ*XDVPlRG`0niK`!wb>0W5`lQtKHfEmKytuZp{LQ_*|5>s9 zpKHwDN?J|oe|2mgEdMX!?EkUGIGeiv@AFr)_K(|!81hecuTjCf)i^rv=|(5&#iWzY zZlzcFV&wMAyWbOSou3ksq9o?W`sXcsqkfUDy1YtrrL!7_y0hL#Sbdu{yZy<$wCB}JvN;e!b8rZ z^>gVy6j{uxwJrwl!-0}!5!*ZhadbniTx z+ok*7@qyg;d#0@)svo9*kI=UEh?kZmP!0zk9lDE%jMg?C0xFJ_H41+#*B>>aW$p=X z-|vg(B-HGi&Vi*u;<`-UzXy!|X$T?h4CNR%%+8-dHw15FIOw}2^G+@l&$pYWAc`c{ zxuB*uhXhT`MN2fvVlFc0FmjR4V5jgu4&HmxJbJ5GJ-1=Y^n=O|B*}IomdtY5(aX`- z(baEKyfa!u_#H$h`0>>OudKs{9a62(0EJW7g|rF4j+s`D`8#K+kRXeFVj)D(V3K05 zL8WVgZRUX;v)W$FMN3|@OCoSwkD1kI-PYy0H@*IR+)Us0>Fn`%{Xt;2SK5d`FjHek zM_;r51;OF#`#gO-ef&Yq^Ff}a`vv>c(e*w85fd>O{)*SZSOWwGCt2=I#p*uYPC7&r zFJwy12W7qws*W+cYBOV)v-QA2)~j>xjAcfgG*%0iOQ93OIXT?Cv0y!;j2*{627Se@=8|FyD=%f(gIS?=oqUMu|zcPFrqdq$xfDfj$+sTg@VFR9W5u z|Bd#y2u44R<8D!4sY+gmB$|aJLJ+)_)GM zb;_&0QssT0kqp;>dUfKaVA5Ah%3$`uZ9^4DrjMjjVN0HB?eJ25fKL7%pu9~Dbl3Fb_{fu{*mgx_HBt2 zsCdYG39gz*Ezu5}_^QHlr-0-K-R@qZ#qtXhr#!ksfVyN2jg+OgZ%x_*X36p!myu|M zkhH=E4IZig?#d8Bw}bD@80y`+4Y2C32Wt*%FFkan}(^pseWE;Eyq85oHzh7gOaEZ z^ud|7t${*{je#fcmcyZA z7G;@JOo{#ris@!t!u@(P)6JeJQW!Siizcdy#8D)-2%uVt%!%rfz5@cx7QX?a^^(HV zEo!Wt0JMzgzbY~`#xcbJAcsi^YeVc)PxA@Jlt4%UF@Z|xGs$}CTYf#+eCBXZB*RhB zKs39pp{L(_oQ+f?oYOB052)Rzc88l`a0OHY#gGsF7KX(W&*8`|H@cc*H72zPx-DL3 zEL*t`N`bDCQpy>TVRq100EQ$<892+n@B)m$i5Q+h&mx3IPcA?UdKz@;3RF7Z#3@4@!tE6Mt9`r{pDmy@$&nOI)3%~!V4{UKL4h09+ zX>@+9mYB48pbmI0x8RxkJz|J@^0$I^5q2I$>4{Co-UTheE}nF_NM*W3Ra3z*OIZsj z|I7U*FK5XGSLby+>lEYRBJ*R?lCi<$t)R(y@a{KLH+u<&5HaS&+g}>-{llqeo?;YW z0xK%s=-L>;D8dUaTx0O;$nxgf^)8v8#Tl1KC~cB`*kNqK5gn{uVS*Gs)EM(K1u8k6 zz9v>p1*f`XjB!M}FpLfkY=nsvQ*}fUo}AN2z938uX&zjH)EYWdD78x)qUHL8fuGEa zH0?uHNb$g%F>3FwB#XL0*P?gKH>6HNQP@R@N>K#t(HzV=Wy$44lmpCSW4BR>>pkto zLsyFl3;gf43Rtt*%L=irvZ|g}$BHnwvYLU5zh^aUO^P0<^im*7l4WVC<%lkkY@$Vu zXPerRnBGzYYcBYBvtf(G$4h|F={2kaaX{4mT|b`pR!mISzQg5}87We7>4SFi^1Ol% zysHzT%|4oH^GN@3uSYGCLLQG0t}u4HqY@Z4(}>Kw|1ABDT8)WfS-;y!jCoMg&Gwbx zjQA?2T7qRn!f5>=oA%lvkj##-atHL`5F+dsXW>ox6fhb~RDG(+W0)HhE-+O3DieXjxhCBv^qfDmavS9Ct_SM}Nyn`~qi;=#htm2C z(w9LQN(7D`3OCJ=h2^zgK$Z*B0c@(Q>_SrSmyybZJEj|@rWh^+DEDX$@DE3}4g2Su zlWo+7ll$gPjgDtnZ`ytFLLi!E8q11W?&?sFzS~!k-z}tzj2@-?GEN%O9RQH2ePbv8})f#mI zGCJT zf*LmwCH?C^wE#lfEoA48^)LUKe7T|O*=fB5Y%fHzfcI})=3a?yH>F;iVQR&g=ErXJ zCv$+U0?auGSW(hyGQGw5uOdQBsjlUz#*70KmupK*Z)N|Ew&C_}WkJI3+T3e+Pjvjf zx=8gpj@A|!l$=~|s9t4uH`X@j*I&hFjNpp;Ru>AYTqcO0=rStp61WR`Ht!@N+}?@_ zGSeUXjcQbMv@=&)Y>t_+*2z%tt-4!?uh>Z0ka8c;L_@1poNsrx=9zuKP$$L{g&#gr zFy{^W|K;FtgpOk!+sxFFU0J*7z16rz#6 zVl;siU6a>nzywW5*)?ZI*3gn&?u`dJR# z>ynzLK&|z5GL8qUCkm2^2PQ5<7d4pxL5#JHI?XVMB>LE?wEZjW??CCuhsv?jcEKhG zZ9MLL>#f~NsSAaTN-=b-{E)6G5|OjrF*UWzuK{4nwB)6B8Ju8q^d7VL+zgnyTj{uk zswghjeblS%CCl{uWjV3os^A*gsLtFi=r65VX`8ub2+SQ-A`;vicE18G-8heLf2JCqQw&YF(13-rt}GtG3mR&_7zH@`U0}d6dl|TvD$k zbzT!-)QIYTDxW)tQyR7Bax(nZ8V_6NMo|8I)a*SAil>x|5X|iM^!D5hGrQ1Gr8!Sf zv=YM~BmbJH7M_;Zv%4rWd8<1Y$wvJ!2lskp%wwVBf$V>(vw|{MEFTuGqf;)wJ&XR5 zQbQ7N7rI9mOve`Ke8i4m#$OdB#lEP5C7#^~bTHPe32S|>iVu+9^2&di?>jq0z>BirgFPAS-b_lkN&IkE8dn}g%$-A|78(;K{eA8MS3&`^9MwV0x^v zJTPZOFx|z%H!}QN4rR>(Hwj}}_9KthjAO~h!2q!{Ea?PLwlzh5Q^pi?&3>I6o%EZI zx9yhYjTh}Ft2gle;DwBr)kGarlyYtWyvimV+Nx?xllTwr_xRlO#pE{5 zKO%K1)TcENyuqz15;-}InV?5bMZxA?Dn`gNr{gxvdLH4E9Eg!9y9zAk#(Eu|UWt_` zmjoM%5#TYru2{daT^8PwE8_wif9J}_?)OINIyAn=@5T&QBc-QMEgmu_r^|PZnY1kJ zo68QK&3a^z6NCA%9@+pEu5G{@m(OL;gJ}=?EM=slu}7V@?**G(CXZQkXhM-GOVR3k#gjCK-*$sTXAL0IS^wrt;NU#P+Pm)Vc$QfVO zyo^Y5Go)r8>XBl80x!0SurTi&Z8hsOmxZR=EI$|8EL)D3PD`L*nsdjElz6O`0H$hP z!sL$=Z%_=w5X~9eb48W}-KbO#?-uJI4;^2D^E*my1lw!BoT^_&!NI_pWEPEcHRM2p zU?}avzcADcR?R!SaSMW+4BBkZh971u848o>M`)@0xwU*MYRn~2Dq>=Z_!NvQt)%qK zA+My3rbxR$*m|;5zFxLIJU5%Nm!v&4h06P6!m>8`2wl=>-QpJ+qS;jMwTK2ky@cq=6SPio%Mxc0-oh)`BZac$$v8-T{ ze=%nUcMuu~I0dtPU(@rxT|pg0c)AE(QC}MMw3Ja12ngEPrYC738l)2u^ew7A9sSM? zSs63b{ielj9!JN68}$mOgT`CAP%qKyaV%o7JK?X|Kq69(rxKi;B$FUbsNa}2!U9!? zY4%sh$pYIL^@~Jy%X*CPM#YM>I0B~Je{Rf}l`NqR8SkNYN-mR zi$ESMjY(i4%_hZDk3fn$Yw$TDaHcG%{euS~vxN?lH+C$)M|bBq?;Wv9J;b9^08lYGvtJXs0n-`HR+o(q4=ns8%!jpXUZAs~V3R0&^cbXKA-G|rP_fNV z9}F7pi@`xlIIJjj4y|rSt58!}FOe{;n(#z8tVqbnxrs$NAg*5lxR2p+WPCEnZ?#84 zSf4W5CsrQLP+rAHee4*ThYPze<%Rs$>mzTlNGxZ6Ni$UxjdGUI;?4x54d#)OS(7T} zpR7m7o~=Zp4{}04lo!N)(DQGBJ$x`ZECohDR40fowvd1y8X@xpsFNLuV_-a(qd|^D zj_3gN%o25ws;Ixn(v|}i4)I!?n>RahfYLArn3(ayxqFvht+1R-XoW@$3b#h=Zcc7i zPiA(E-@VnwC@gRQc0H&G2Z{0=; zDA4h~o|0>}w7Ja+0Eu8j#F10~sM)87H#=j#a=@3Z-{bLfpYVt4`)>br`}plVs{6-p zc=Gab^6~HO-bEB%??>?0;pg^c{;c8w8@&TU*t|j+aSQTO{~Ytaqd{~6a@`d&o)Ogi z2=KQKs)qRnG(%*#9I>)x8(ayF_F(Zyx1O(}8G7gQuD3VqP!@Y%o}WS3*W=S5Y@4|_ zqSChAQFdcM-i{U~E(h5j}z1C8cPYC=)+BRj(Je9l8jA0!l}Oo0a@4b z1F5J!v+_R|l+lD9-tlHnBoP9ZBN%=|;S=M~1zly3#TTvf%5T6z=7?D67cCjzrlt!= z;h+ZZ{3b0rl4`GW7 zB&e=LUmb;+>r=a;#&NSHe4Jd11PF!UxW6j7aqI%Qim^S-?r zpWaVKV|yPMpL~Lee4Z_!B5yWhKE$UTNaC|HiV^0401Q6(KKx$Wy_$;4^@#> zA#aOs!xJl;!;wDUKfQ*ww^*qvKNm;>Yuv?w@#dGqf!|La@c+@Ze6Bf_Ar zDp9I46BATD=1Z@-nvmJ}rhGP`6)=~M4+j>IPal^M#6oDpkI)X>rm34to`5=hq$5qJ zzYNrvo~dt62#fhC*7zgDV!L3g{J>R0My+y-ct}`9?&e$sKopqtFcRO}7fbl0$Noc8 zp-3P!%^#@Vk!>`H?<%a@SuoHl3%XcVn0XYZ0;j(<&E>k%SP`*9pzd7i{s>%HSxpyq z94)Td^LGVUMt5!K^avez0h)LnjANTcW1IsWYm1307d#(~Nd@Vxa%TnDgJ2NXFOYjG%5SO zJe)j4l!^E{myhyU-0z>CN6Litv~6A@NLBV!?c z?=8M(F=}5dTl!eZh}eFk8O%j!;@;=id=*U%>2JY~=QE_N#MN+rT7+mb$GH}LN%Tr{ z^2>$*y&wi=#tP+;2Ck1DF-@Ra`?WArpQuqvxfvp(ygAq>Ai{td%Jb<>wVl?LygLlJ z>yDMv@wX_ReTLKa&*8TpCyB@L>8ltAA79^#Xqgi^!^#`_|fIQKuHwwCa#4Kh@M|?iXASl zUBC6VI8TGy6S-LT5|MI9=PB)Lotj{c2UD9ASTRRC+(DGCv-Ce$y=tgs>U-DweUEo0 zq4W%-{)-`S?bPM4sNC** z&e(>*u*dJp00s33ZWG5%Y0Cl!?%GgexvXZ0*%XDo?_D;cg#rmh_(V*y4P1TrP?G3u zI63xaX;pL3IcNoDv%GB8otB-u0s!RNFJ{d) z1OaqLtD$gs#A}KWW`QPNAVNucP%F)J(N$r-^xIB)X;Kf=tO}{QaH{BoIh$|UyF0jJ zKLjI(uwuaZzQ63b@9S2B7*bZ)#qk6Io3XcX%X4eOh#y~lBEUdLl;|;ot-SJY*W@Cj zbyB^9*WK+E*$=KzWcmv1uj_WS4lf;>o5yP+lWK80 z!g9XYL_F`_+N_*v^P2pwuKSLUWh9CkRXov zs7?slKvJtY)W@sCZ5QLJt_B3IL)0g&X~CFdhEIONm30whnf+$4LFa7VySdB&eSwAf z&^o?)eLnw)O&z4A=Hm##uQ1}{@pmbLG#_|^IxaxXW9U~;5aAh~DbH?-mp2}|7(MB2HX((NV4bP5BodC zn(!bD1|o6-O}_y>CTPxzowY?@m931|hXY?rcC%f#_U01VnMU|ol6SXl7QV*?X~RhCpkD6SCUHbD2e3m!Zd}eYzc47&9svB=KQnyXF&WHAZK~kK2Nt$JX|z zA3C9@7#MaQA-4y?%a?F?+1NTsXhNs$OF`lMt2h5I#pivwR%pdm#UuM_IV)=2qUB9Ki({ zd%SBBb}5E@eln#usr1HTI2qnWJj#}@%OTeJstUiHn2>)0gRF5byQ8&S>6>IQU1{`uqD|4sMg>g7Pj z%;(p7m2$2UUd#zlH0xsF9W3ckpR=QU0C_F)dKR0p_u%uxNcq#+ySN*ytq3dN1R_Sz z1NdB`{$!~fO#J{M7R=~<+yHtdNy8HL;npB6*{Sd8)vROq;1*~49 zMLE7;ohJ}lxO9vSlTI^&;8_l~H&5{>6=R$)NCa_7ThQ6Sw8|6=>|f_EoC@}|E+iat zypyxlMCy@@1gWQX9n*0gvY8=5#V|+iry5MW@?cyJ(I~R-w6~N&iE5S}jB!e!k8iUU z=@eDA1ncc-jK*L2(Za*W@!tq&_Uk*ToU7Qz&t9ac8N9k6+688mnFT$Z+KR7hxF8uo zBiO8(l!hXlv4WH7nvBN*xrP?WX=){h9b)oLyW|3=h9O{sP*LPSxNzi$k~YQOnEE+g zUcOKSAs85gkCXTJpgX#KXWMW8P~WfHoZp@xgO9s=rT1@_m~C~I!?!6BHUgqxoXO@h zfhaTFQVLcJ_T5M2Y2m2V)Td~q*E&0nss)O5M-_-0=+G5unw;$vL53qWyiCzC16FY6 zs_Dp3L4&P>`iJv(Pfr#c@05HVzNoo6IoV=&9uRvelxev7dNH%US$#x%W(gCHWG7H7 zx~%&lJe7=*d1NnE zmsF^x2uZvn4Emv(vWmzh)QFiQdyDeCbB-N@Md0gl^9IN0oLcZf7j;V52fG@~Fklyzi#vf62mLF_SliY0*yrUka3*WZ6WgSFN>Uhl&S9`m9$NY-|LLNVH= z6}i7p{~Q7Jm4W-gnTb|gFb3XXu~vbnWgL`FSmjY0;%RUNHB3B~@ooS`iYCqS)xhz6 zc!LyD`S{B7F7`mOCx#Cv&8heG%Sek2(7)mi8_eet-Td;)mGD3TA2l^YVF+UnLG#4- zu={n{f{kPd!IDhH?UxDLX!E!k5&){l+iPcI+tmBFOWT|kZGx252lt`Qo~Ay~`idAA z=bd~Cj$QSbLVNT5HRuqM4VPPLr`ZXOcC?zK4i&bcf?`Dgjmh*}mN(ZDo7EAO&=95RwOio`|KOnRuEgQD%~(#aO=Bd+Ri z8^$oX4+~s&i*2R~^?}*HwkDb0jpgnEEvHGy`MfQ%BV3kOMhj!M%0|{)6ncbQoq6U{ zb$b3%sGKp5&+aN89xzoiNiH=AZ@WiQ5r6kxXQxrA-HmDC6o?ohNk&I> z_8{Xx(ZO>F0x2%~ihjAt`9>V}723~AIhIUY5Ixv9S#>5Ay{hIeVna(} z82aMa{VgnGwtnr~HW4`9tl;A%>=GLD8uvv>E%Tb1^Xj3P_#3i=@^Pf1ylZk8 zTT<1({(&9HAm`ZB0%HYeeHpVywtD|kiGl_b_fTtj6<@8^&Ii-gVVJ+vroakHKemq8 zK^_TR#@0~88KU~xi*6u*#O=;#1f2UDZ(Olb%u!CD^M49CD=d_YR8T;WWp+eli$@a2 z;@HQn%T`pOJJ&l8AZz<8VxatqS7%*+?r%*xO|?pta8MJ*4)`(WKmfHB0#o7DhV+@a zSL2RPmg0=(sX;mLdWjykTk3ek8M9`Uprn*FGT9ypBpeVLT4z5t{OKj#*+2PhejRGw zt=I5TvHH=vdCz!&9~dQyK%`FP>5!M5>wrg^Uz;4xKzSDe+~zD09`rV$q+Fk+R&?&&X9VXhRK?39P4!LKDUH3)f&6 z=-TckwE4J0%^Se7KD>6mjVW{Z3%;V^3Uy>$nNKxgSir(|7#_$3eM<^@@V zBfv;%{f*d99kEYeX5P6R##^W7cFk5fY-+HGzMc4E9_}m~LU8v$Cqp^$#5GdJ-EGPi z3lu^>EGU6KgCL zxwS)BeobaznlK7vDJFA;JSlydY2HY$f#*%rYVps4A2ZAg7MIT{A9Usu0rC}ZRj})R zQHEX5;v<@gSRH8@pE3IyH1%=LHw)=4@7$1HymZR^B3+Db(?jEo-t#sBKUJpR7<=YRFF{Wp1z|M{({yMv9rqp9P+t=X`4wEZSW!;d;HKB5HV zAeSzU9TC5NT*nMs>)TmmX16Y;n4n}+wOERGLRPHHXYVd7KZ#U|?q9!9x3+512xeS( z^N?OFCibqhpTyoedFtHlNX;Y+V&lR9^I@wuN?8ItrU{W#y}P^QxpOM02ntzTx38f_ z_)Nt3mMc;*-8OJwYbVhJIWqiFIww&P07 zoYh$#AJlYl=$p}iIS-c1(L4S9coNyX{?qGujl>Kz=JL2U;_y3s2)67(&~s-8 ztl6t-*z;_nWOXuG$CDgXxQ!;KvgOZ+k2HiV~d(aOG0$ks%>^2s9J^vYkT-hYe!M|Rw!F%~!Hac48d9&;) zimORU{NkbvqosbQ0icgGx?!bH!R}IVMX4%Fqu(#jq1$`01JG zpyCAOD6qo8r$%PUqZ>HPZA<1J9ZL%dZ?>3eORU^F&}Q+jM9Xb6fzU3H=V!HcC-^e*H<`7A&L-)X@h6Sqry}0YHRV4+fO|Q3Rr9Sk zt~k)^2r!XiV<*K;Lo*#ul-@JM#TS*_Kg(X#xzSoASqA9}NxGo%9Fg*@e(?uDLVYkX z!T{$ZyZdu}^~@TyiWNAT5!vYQMG}UcIIsBb!h9^=+bm@Eqob>xOnZG^Uysp;F3fwW z(x`*|-rc!!uXcrH0{Ybm$s#cpZp{rx0bnsmQqA;H-k(&B*@t_Vm&QAz#Y}@>Y)fy1 zFC<43C;)B2d3H}03GN=G7@1f0od8eoqYVdCkIjjOvjIu!wGU(5xvwdQ)&sWDV)g}~ zK85={=?Ch-Y3dpw1%V8)tKx#*EMF&Hk*NPwUV(^k_qGIa{UQJ6Q9}Hd1`MEzc5rZB=I{(Y z6wTT|)!dzKJ44UNf;oo`H`Voi<@Y>GDIV>NML4e`$d5gUiu+x_FrC4?m6vV-194~^ zmW>Gzk6x=;~9u+WLE^+J;OWaLRZ?Il~SP6lBq1}kR7hTAKRW0qVsGrrG%PN zOc$BqrNBex?`FdT0jgeE6jY!_a1S}@LZEofhEt_B_4T)Qc6hhoL-5;=<>#ZMHRun0 z$)&j3G^z^mdO_k0cE(TVo6e4;@x$Qd2jFKLp4tP;R9%NkP-VnylL~$%MW1GSkR%qt zcl8xP9!ml@LWzWN=xfpNjg1SX2x{mS4r$Xb@+f%#|9xc9LyOb$YvBPNpU^2oJ%Y78 z<%EuG_t673$5id@S2A71bg(2o>2~a45z6FUQK%JZJt$k|2>gZBLVczD!#RD* zBcgb$VE#Jm^?7RF`}qK4VrYqOl=6bFC15j#_stgfBivOwpfYWD;pGpjK*lwmC$hS5 zV*e)O4rfdrr)O1l`%9&VqL2J5IVw+rvRGRwWDV zpxCbqicr~K4`{1b1SY-)dUPhudfOnWkuHeumbHUl61|pAwK}bec)apm7lh{T;_TIV$T=!dlbteHc(3dhihPl!qQR6U@auql3wwL# z1{zSQ*2JHTJp10PDO;$)v!&17EEcVuIydsVzD`YI?o|OxT5?%?=*VIZy%|Is0j?+IfUUS&H-8Wr!TPmZUv`9q3-dbP{}W7vE^%K zowUL_%>+pyDD4erY-1=yNKg$AO3DfNaMgcrkQzV_e_k2jJ30z@6k6`p!vaBe?*bK| z@Olb3GzRQwf%^Tct_wjk$mU6hS`P(JTT&UMgg>`f~|ibRb}ZZ-b7PSYBHN4&IEI74$a58d%; z_Q_CHD2-6Z4#1_Wroi4yo6>$3)@Ev?ClF7rfb~y8%~cTQgD}~&Mua7oaY1u@h=rMA z>)Ienb^A=iiCP4yO9}V7_cOezDR%?J;04T^>M9{nc9}?#F%#0SV{~DiV=8jiEt0K7 zpjAw}NwP`n2r(PD`EyDs^*4$KV?^L>YK3kjU2&q7{TUF*K25t6p%7R4Gf50V5NDxl zdiFkvGH8YtB-%su&+c}zIy)ljzm8LW`+p*ttFmNb7C{5Z^P)h}KiHo|Tx0}K@~4a( zXg~+cL^V*jqvpBTmZhz)v+eEcn$Iz4j;{|bfvIg{bv%PltMHkMZC5fG-pG+dku688 z9u3>(^1bM&tNq{sG2sJiwV~B9=l|Le3in(B-BiJ9(R?S96TV*@q?Z*T0$DC4S-j{!RZ%gH7Y1JlaR4&~ zFHae2`i7cziwbiM$EHa35Fb*DNvP{mXBzgh2G(Ak`>|RB^gO;pY8}E38zMcs1Rv&j z?9u+XT<;dmeoe>EpC&x!J?^Te~bc ztH4AVvP8%At^Z>UkWd3N-~_i0cnVaX{4z$pnQsG2|HpBqFc(MVv49%0rgRL)pQwep z8xmNDZw%d+x!OQxFidQ;SyZLBg7_hI^!2j-@n-J8&OmZ=++8xLnYo>y#JcQPrKzVu z4Clb;yK$P*4`mwtJ(1L@rD^)*ztiTaUBdG2&4_7*!Ymzf8j5z6d%fmZVrLJtBYQ3b z0&nTYOnU?bvA}ffLs_?T1?s%Pln7UC{09Enyj2q$WBJ^5)Rx$_p_|oAljGi;-A+|) z@D!fvbaM}9d#Q;AI+$`E)E+3<9|bURfoetNNv1%Z;xFqQx;5&-8$qQtOKE~yWW zxUDZHka9gf18CTL{U?~8(^kMsdx%NkQ9b@ zCRsMz&59$6DbYNKtyEJkYg{_ySXRW?2|2SX)ZBx$pF==6{gRyJ=lm^e*1t}nYwFK{ zCefNs)d%VNtD+?Xf;9oj(yMHbEr>G%?HnVpx(T;Ub>3Nm@9Y?ETb?vI3(K^4@ zKRQXa<-iAU(d>$L9PY(uuJw7(=Uv?)-_^h_d`~g-`iPv^mx784_j6)>Qjyj#V@_b2;o=F;d!)v6ot=jIH5MwiPT+$OwYXt2LF!J8V8w{O z8k&uOOkw+?hSm|?nGuEl5HIh(*6z8>6Nb>Q&@R^sRT*DvK? zRwa)bcWWJ;PrE^)x=Pyr?P~J zFVPY+{oc|dF7#-`EkKA}KV_lMS`c}zp643AsVuShpv90K>~I2|<45LgY-t|YUQ5xH zzDiC^9$NxstRQzpC> zx|Hp@WV{trc?n#NH3U3)vAJJpN0DI%-%%+xH<>mC!}WTy6Yr0Fn;H3Z=XcU49TWdF z4i__fd;P?Q*o}F7T0zV4EkgWBh-;J9z?>J>k~t@Zy;SBVSZ^skZ6l4n%8y%P)!3s) zhNN*^FTcoyF#r~dJ+t7s#i@oa`eVihBEofdX9cIV3k5ruyNjTa+NBt{Q(awx(u~G^ z@rOsPRrFrvYu*|emMX7gW~lszj{XM1UBp+c^9c!5cw^mXV;x>gYd^Db3=j~yTPn}w zuxZuLo#oyK1E(y)#In967!&n(?4vxdBe8ehwgMz|RRz**$EzKh;epD@6_ zmpOETa8i8^{lxZ`P&*W@?))x_X74wRJ>JAe$g6M1U*P%8&2JbnTi?Lo;&7A)xum-f zycd$__?zKgbwzN^AmC%sQ^xT`xOy&kiM~ zbj;+;^isnI<0~|b9~}=cL9TZg( z6Z-o;?QVVyKC}`ZX|jk38k_FBUb>|z|6L21yzIbokQ4qON-XNzX?k@lM|1bJf<{PB z72VK@sj(zuJ(lD^Vle^tR8E$U%B~jj<_2|ZoBVYxGIBvIbf|}Cej}oUM?dVi{BrpA z4~Ls)g+l`-e%7#)yXyihHGqts=Rw$%5#iLfmqP)_|w19Vqp%=Q2Lq z*q`}#JqB#BCPUL-9-#~!R8+r{YgZ1O6t`5Lh$960fl#9il9jQfSs0I2lpV%Y)`b454Br+f=)Vi-BvC_ z3!+Ab8Yu8ewKJrKgK8!S$3tDEm&QvPAWb(iVWD1vFZD=DG)k7+{z{xk50*}4P{}z5 zn$ro6CTqtF5RkC1plEcIpscBp^8}Ke0nYS<=0max0I+D}fSeVQoAJ(J*ikXLyq~I! zB%q^yLe9VVPv$yi@(EMXm-CQ4^UX#=GECGf-;QhCnbb zGh=-q+4H)3kQ-Ho$6u2p;{&0yg>+q5PsjdnrOP)PT#TL{GLD8)(b9$dH%H`V0DWkQh(Jx(sM>>uRuLK3M7q~4AqTP990kkb-& zT?KC;Ppex*-EShBcM~Ei*u@4$Dvkl#*fP)KFRc5jK#=X+D%kAC;eZB&9pZm()QDxqx*=vWf$FU}Q)q?QoDS+~B`S*M zPmwZd#ve2Ck;|?=y?s0pEDg7-)?f;{C`V9OsBv`Sq@U>(guuEI>?mFC%& zPkJR3v?hRAO2#TsfhW}`HQ(@ZiTc*P&|2aV_%Z9Zl@rSyNUlAiQ+m5ra#Ue~DojY= z;j?&3VdZ$JMgE>M-HHAB64xQ)QTGl1tLscUcBd4>sK_imXuX{zBl78c%bOoJsEv?u ze{;zG2YHl4`$WCb}y(u1{Gy_*#M&2CF*&=@5 z=)Ff;mB^gqTtWRqFnOT)a`d0CV-pX{4LLF7Ho`z|IU;pZqPF!27?N#dGx+W5v@?LL@S5!|DtogI0&&(9S%a#>j&2=BcmmfnFSy4U9`p0BZMM9cYn>7-BaHobA` zmhqeZ*N9(V9N*+qj;U&;`)48?B`@i`j-ZAoRR@I(#Ym5~jJ;bGa zy* zL;e1w@xA#T{{S09<;OA#C~iF8!Rmj%pK*7sJ^N7mk$#W<=unVt z&3ffNRlC=m=DqOVeAKR*U$s2%SYJJD?(V)kd|ZEhajjz$0RdT=$jkG5YXSoh>A&ZR z$h99~+s?53!TSaLQ?~>B!jwhF3k1S|OkRs7fs}mMA?J_`i2aAhRQ==p4S>SlvQguS z3DpIm@-Bg~L7Sn^_E{(ml=`y);c@>tm<2e80P$9c5w4r@^st^PUwcyiXP4OvUeKPYo?`i9yu#eqcj7j` zI@_ND6lu|jWVoWc;C_>G41}It|BKLgYS!PZ8~zH_%r`_@8l3R9c^S_8Syb`C2h)pv zZq%{DTNE^tl#nC)_XNZ9fNAzbP+iV7+G_b3gPfeqbBUSk0*xq4k6afJ72s%C)~q=H zdxua%vLZ~@!|4LU0xAIBb*zaG3NrdrP7YrRXJd3^8>0#(?xqJ#g!6FKb>{sNs1Ebp z!II&wAw{yzrkRf2&x);B*HG4N(6(`i1Ce?tPX#yeWL|qDexO*??d0b$il25*6fx)X zk{pEe>9{e~a%M**(f3<8*3uMsgL-*&QHKBt^11X{LMoHbva9abNF7BHk)Ki#ZRd9O5h>3j7u>Gxf6 zfzm~@pNPPBx9wKM=RgjSm1{zw4Yw*;XW#ZSW%2A2W|2oY`YQdbJg9Q4PaH6fBun}? zapk?Z#w3uaCo}fSxOJ~N@H>MfU%pko`9zqcugNQZlN>R=@J~yWPqe{b;66=J%VAv@ zmYFP2-b;3xX@2~cwuMc|VwGBuMTBerOuB9Axf%<-3Wly`)LIxFs@W}kv8IWtK zP23yUE~EQI^CL$Wmd|Y=IT~_gWnN6dcodTHSe7j^&U%x=_uy3`1ay&kz#zQ(LO+KO4uu{3mVEgbCQk@sq z80;r{iNqzIB~5Y+LZ)7KZ}n)&w-AoZ$mW{&2ii(6I1$RLkPsgYBpKI~cJnOXXN&jx zL=D0ta-PsyR5fx7z8FalYDg;kvQ3_b=JW}`ewsp#2VgBYLaYuMe$*6pY_3Gq#W5MX zR}Zg5xg*2JAD+{_GfFh?7;|i7Q@-uWs+D-*Zhs=9Z}T;>HKBEn)en&Gx(tqi+B2z@ zphj@m@%ElSonYx(X#2BL1uFu6DJo$R0U2f51#}^U$Xy9n#JyrnS!Jqgy;enSkU&cD zN7&7x;(%MH=Gn4@RqoOXbP9)*=HvY^syyw&`)znYOOo|sz3}!n`Zl<|W()Aiul!9d z70DlZdv+}%z=^Rk{Y(il}nf2h0QD|v1^dN&t-%V)VlM!)_@MadB6E< z(*!C^dv*_jqBK90Ft^epz;N!t$s2o%3pJ+rm9$;q{cqABm2iv)ik#91IJ#VPGFP9t z-W@G%M+s1!nS!yo7P`S}24OI@v9vX5=bKuNN9*|@$M56Y%-6cT<+D~k-^nNKH^y~3 z<-R1sWCKbTgfT{Z*EIxc1}ggW%tJ_OzO`?Y1-H%iN^{AXnu z%BgyM)V_H5Fph@T7)ju@tjS38dLsKsaj#pXZwBL9SIY?+7bj4)C|DDR4cfZC0QaofGxVecdY%Ni< zpgAm|CvILcbJ8~zNFNJP6P~Xr?MbqhLRUx2K8+mwVe?D0xuZ7zxnefbb9zaW_?Znc zsIDz@&xi3k5U@xebB(OyA4}c}>|^9dGeI;7kl4uYZUyW<8fBuMqGxJ@Ul8T-jD))7 zW!Rp_nezI*3D?jYq++&X4$7Djz#(3oXzll!jF7`6f zFT!^5Ixl<jpE)XXW?2*c-ng$n+#@UtFHQGtIW3}niKCVmDU1kG~ro>AYPQ|S*KR_gFKHgXM` z8vfyr8AKI=vjh7nRqHg$P^VbBBl{XtLegSk^Eog5+a`+GP<@H)+44gBFXkt)iXGdv zTUBACc7+sD#4KRlzT3igq z#&l#Vyn#%sG+I0MaokiL(FgWrV#a8D>Nhz`&q!+I9OnT4@7o0zEB zbD?O@SNX!;2gl@k%4 z_5PpZzlmbCyc?*aq~Pvgpfra+WtCc{wllQs$GkI2G1O6bmsEA*k_4QIwRZ=a<9yrqO&&d>Z9xZ{ ztl1aXLo@?3AUIrEFk|#keXlm2guJVsE3DbZEBJ4vY2AxYS{q@ZUN_Dz3@WQ-GeO1y zyagtufds=V6`=-7HNyAjj+E9+*FwuQj+JevHxnJf+op5RzU=H|u}&g*FUs0pJPbV{ z9W=ca-Nn7}+c`?{tU|C9|x)O2zR7Wehrjp^Ah7&;845y0gEc2@EkeT9hh~Pdw3A|I ziR03klTlD=)$vGO*WZE2aGJPzR*@8UrOM-m3hUW`{Y@P=_%qPMTBXgm)=}28S%HN| zmZgDSr=8?*F0qROk@J@riw9>+0c9S3iQ-s-(e*=F{cW7qI`JdA8*+?uO!Z57*ua}& zsc&&)A#x&vjOX-REX6jVtyfhuVEg^_8}`5|iSK)?(=MQZ;Y>$GAt;99tad{14Y=}y zWdx>3C)jCYj7;|q@(HN!XZEvh4MEe?0f-P5QDq=+oBgMJZx{L7_@jVL#5!~ZwgyX! zrP<8l&s^qzF8r{4ga7ZrDTM}u#-@L$bu1VFfaSkCEyl+Gp0<`omNu3yo^-aRcCP>I zmKZhJe?eWuFPd0*@QC_o=d)jdh{d&C6Lz}pNpNmJLJ(5LHsq1TXcerXH9x%~7d&!N ze56QWM_C*!_Mu$Tm9#6&vxp=}{N43V=qPf*vliLr5nBu9392u`))}^FlAjD$o?6Kr zGf%yUtch5CnFqZa_*ZV12H-FCNcVqW_xX(CkzX9}l-?|J>~p5T4i z1$Z-b95sd9d=T&L`@~KY`1wO=SU^M1ti~tharM$mw~BjFpxGt~DJR%I!3UAUMct_p z3d;iuAo=q}e@z-WCY9+Vx8g?3o@31I(uvPJwNoq5XXJy5H%~6fkz9tod zHV_0^NI(3>YX=;)A@a2sp)I7(v;i)o?63_fFlwh(LPh$}5Z6fYYZZM05zVx3duHr| zI#Rh5m75iI+G1j@$pPfmA-g_@Zj|=|&gSV@CLZRA`&L-ijI0KO!<=IaA z5BmNjy_h0Ap1)TqY3Wqf@_n3qmY)J3rsx=^JxJv#k0?W?U2!-aH=XRL5xdlQ71Y07 zv#zes7rg%@@!gw(8O9=B(K`DJa9Pb{>|o5|yQkDZiMGY3y@c6yGd%Zz7x=0Vi(}iB zH1<3zr2_1+6X8dr3EXw3%t?;{m91(P&b5L)h)5ALz~>t+Pl_WW4Hsi^st4jfgMMTa zFj1U?=8ZJP>z4=|s;xUzT)M3z6gM96z-kH>%_%aj315{V1f*=Rb9igy63d?{#M=ug z;v6|iozn(U4Qjxp4S$KgnEgJ7XRSa{s;qOTRos#BJ*)|rN2k-aP6#JXL7MI z5w|HDgCl_)xN*DA*n-PUb^oC*Qz%nu?jCsebrktmPAhKPL&+(tA^G?0@+O5D`yi06 zPxHTi8T-mJjOr|6`7L*hG+J2_bb%-8oEfvQaYPf#(i3JsdZmKhi?+J8i60~KbwWd( zA|z?2LhZj_|MAgxxW`Y(39RN0CUu||8+B= z{(rw27s>1lQzT$H7u}?ytyN-!-ZBh0kWm5Ec4DQ5G-bH{Yu8;umv+en0yJ0bByPtU+zm z!0kdLio#b)wXC?q1h*V2xV9+0j=7*(_L37+4&E_PIrr!S5S{`|Bm&VuyDB3R3D*)l zERnBjxXys{A`-SSiKjGCun_x+MS%@^Vmcb*8J6Jh&>e9qM~PhUD{lTGR8-;}F`#gH zd*P(BKJ_xjbSdrVnV~e^U+;{X>TH^N@uXAsSMkIb_aS@{^DNtPN5S?EC#F12;%4%n zu4>8_E*0cQlq9J+;S=uFOJRT~nVk^Ja4|bNPK>*~j@)7V-+xA)6QpDJq0Ga$A!hy5 zXM_7NxlJ2M)3m5ZJWjVKJ%pMe<5}v*ZV6?`VF3@2M@NUtg5igU_>RgX1G67fh?lF3 zT8A~+^OX=v0-cKsfA0P6b`+I>z*rXbmv|ulOBqp34?OtQJkTxB&KK|Zs1rpXwjYG9 zB6X7KxEYP=zVQ{CKHYv9dvrJ+v4>kHOzuE)3R7h3^)V0y)R1> z?Nxx4FAnAI_`0+;l!ccMs}YbZE!pOJV#>~+ACzon%q^hI|S({ z- zTVQ3{U7__XsJ%*4T-Gb%9{JJ!G0%3Vug3zUT+5q&c9F4FIT^*qqa**t63{SKaJTF? z7}QCDDY~-3wve&Lf+#_^aym-vD%X-2cdZI#NjgWS4KOlS2{D?P1Wnc4CRoO($XZ(a z=~pUf)do+|tFFTiOO*v=n!NUs0-fQMbU$v(YNi@yI!6EBXGC# z<<_+>Yk0Bw74n{A(7LH+!6+zinMj3d-V+(v8$g?c-ao+HU(m&z zFn8j>d?Z2miV7u1!9#WJ9Ay}4uo03dkk(WeB^g60O-3<9UT&vXM1UjdoIacmAju_c zCJ|SY&n2p^tTymCDQwyg2(mY=4H>$-omN3|P9%I-5PH8ewax zZvDfP{Vyzt!4UjCHe8W?@+ZAKa9zBp8a@n)GQ~3qGxl7hY>+m$HpbQe(ewG~{p8|1 z_xJ0op;;B2Jonc!J|8OcpP5Y}Ff3%E`#89bI^oE$(<=y%K`NR^6Wb?9UO#D+rofQs z{gmwtv+V)xBdN`?w2byhy$~YWqKlGtf^z}v5`Irt$9BF;BstaYaSdUC00_+E7QH$z zvK8Ym3nBM3YFewNp|AM_@vfTvgCCIpeFv?Q+QVo0*VoPE_dO0m$j zn*k&ksAbdk!b8y@X_SQp3*H3O+PSD04}Xwg>gUHKOH3k35k%;_zugdVw=Dk=G`y+g z3Oh<`<~K%sU50Q-d5t}d<3h)BqF+eJ=9{;93+;Ma#)L^mg#)Hh!h zgjj*XFK5pFnSV?bNAXakR1KRiPkWv+b>@aHx;8)!F{5IT9UT%vw50|U9GfTgwVdVGcBSo1>_m=VThFNU|x<VLey z@W^~zoiolTrhEkea%9>%{^EFY@eEK#5kkzIzBP?i-lXk3cokWgfxf3%AqLTA%LK9J zzQRiFykU_~LuJ=~^}z5(B0hpjR-1}#@3iFf_FX=yYph+WQ@h<@Te*Bz|LxqJKsSIN zbDdMH8b1dD>&{8j)*dw#V2<5P8%08NN*28}6~Gse0q^;3r4eBJcg3m?^8BH9ou@ zgcGDiuPGuBGAMqlMwp;$^d={+%bmMudQ6!Qr^I_K5`4WqzwEwoAVI_)yip^Hd}}l* zHhe=AkiXp7$*m$8u35CGELn!do~A%A-2t;it3ic~7^8(~%pm5tnDIg@h<^QV4t)4S zEF*|dEO^9<;S|^b4;g74**i)(AT1!!nL*AxZO!CI!)0vVMA4uCh$6ZmOH5frz!KB~ zkW4>k?p*j(I`OFvert5pqI()a)+t?)uVHph-uFDe1sCevSBlcnU>;WlY@1`Tj&rY zQ4#P)ztg(QtfQ0MW$qNu=f@$rSteQUgs2C<;a-x=!_=`xycp{b<+$@F*w!(eP1m%Z z{g_T|?f8=obDEFTzmh|R`2#lP^c>ukl_XRf;QV%l`Izihc2}}R_x_kR8L-zugO!cb8DtGp`lbRf9+QJw(PnMca#%fFggX(X*^k`KY{^ zrUjIZw>ps1jEk7lp+Bm}?<(9lRxgWTzC&|T+#~gbD$FXwlrEdft=4&N_sm@aAL)YP zJnGSR!e^g#ZaQ|tH(|^exHcNtOB78wpGqyM3EF?bl-KbkQl`g)S3n4#q1_-4$AFYDb_Z3Tu<0 z)7t%P;2P{joEe8`^_SPQ1W1jzt0a{>o{1{7g(bzqfdl+BbK*#QV{&1sOrI zJSFG@mHuod%Dc)|`z$|c#&y)&G^wTpHJW`wj>bI$Gaw%x_F4w7zq;QMvRcV`;JNz8 z0ze;eJbjQG>I`VW_^U-FiBRDvDRsEOFO>hFsxV`yH<VIMiVK zb=eeO_1>kiEsh#*@Xby8cH^3-9bKVLL?V!!_|?R&ZRd{(CW&=$Bu08qew z1Au8G3oI_iXh}AVF0x9`9H&41sw<3h1F?r>y!kQg%}?`*cOnX>CJ2Lb8wU@g++d`B z66mxI5uPR@e0&MO^o>!_Ehqk21evi1nyl;QQ0e5cTv4y9LQ*4I#;V?n8q&)-!J}S! zyIg*yGT71*JS8ON>`1p!?{2Us*)(f*LMrAvsl^|7Ad_4yCk*TQ(|N=t6f*P)ITPD4 z*1A8g#@;!Rw%cpYvpW@HFN%aYTt6mkNYhz(m+$1=6~f!XH9V^4q1td55lneo>#Mc% zp4B&`mmkK%0~?P4F-FH=8p$kckcMyXEGy{^mtJEb zt~C85M>iR9&1Ce!$LjYt1>bz$EM`fhUL4Vy&@qPFaw((6+aQQsEX+T#NCgDxKfVPW z2fa+^W;A^D)+-Za*kON2Z@Z=wzhn!%$^PN`2@BL(RZ!nDo)IZ4FsTV3BL=Z;UXGpI z8HfX3b=L}k#{1uJPkL{{E*$@Y7!IW|fYzat^_@JZ2q{#~+e6^U6@ds9{m zxKmZ{s?4=W?TMt;xZYFuX1Wa0jj$CoEndH~_U6~8m1wiQke>F0!NGGF)&=P>;cuJ% zii&#w?ZabsCTkm*Uuv%776aQ#B{II1XVZZ!srBcR2NkXEexLPz=yQmSo7ruIM-T!sr(gXZTm5jIGP5}p zsqozTyC*2n+MFPs<0Gj&s`t=F0g!e4h4#ln?8Vq4+&;Jphk-YH3MF78qlWPm(5p3?nxxma>DG8`ay8QJ1NmXX?c#w_` zFFk`Hb?cBtkPEMP2-3j}tNmAkY^A3GO*pgsrL_}~^1A!UVHSBdS&J_C#TlvOO90%E zOb?_WeQ>$06XGKNgWz%$9J2!|Ry;7;o7_@M&S?O3CQ&w_UM+}&16O$KyrHz@e1EqoR5@5DceZ3t=AVa)+v@Xdd4iW17b zX#y_ilJ|eVV9R90nsd+*xlA78dzu8e>8;+-)k`*z!(JcmnMII_Qj2BJ?rI`QBy5>* zE=k7w%~(Fx3Ko%x*3UX&p;|i!JIfyAyQ~7>HI$LahcW=b8Mz?ICaPlKEdXo7qGW2; zE%j*9P(>T`YAlkfPCLT6Pt}GS5&0?*jFWHQB0)^|FHqz<`^-(N)yA|vfZ_&eo(rY8 z*n=(I@+Md%N*|FsZ;}w%EEpw^gZV$&lQU{YlQd-WSBOU`R9KL)R|3u`T3Tk zt9DAd5V~JAaT3*eHPk6hY-pfR>HKKgmDVdZB+l~TP>`t)Hul5E%VupA;mVhGTw6g; zjS+dn=5LGP`G#7&S6>vc?pf=fdLPp~icV0=UcxNoADoi{YB-{=WnFlPQ=Dmq66w|F zq*4+!S0TX3${9nNH3Jl85|+HSPTsR9aJAkM<=p9(h1lJ3#sXLDpgJMG2f^moYWsK< z^F-dGXNpFl-Z#^)w902JNjek0&Fr-eivS6mbjb|DeS$~eYbP=m2Ue5uzcT^|UJcm* zK~ym_>*ZlU3;CI%LzILj3WMN`$3sLoLCLhsHVitJh!=32y%^Y(tMv!jZA`RK?4F!a z5cN|U`c+HvPX~>jzu#Vt&v$E*Kv1i&`f^dL!E)|d?YUs2-CG=r9RVbDn!q@tV&m$k zP^FZj>sc`rr+>X`*_`u{N8O9Mgm`6(haYU1xTnNt+u1RwKT?}3+ZkeLP)!DPu-{vJ zmXs62GBitU7*D2F)@bW|OQ$NSr%=ppL1qOQWnaR)`d<|w#rP`{bnmJlCefYx%902C z2?dpN@darfJ{~;P(-!{;xZimXO#S;8wRL|k7N-OwEu^{n<< z?lPE30dL@SXMe}-V$_~rof6Sh8W2Y1xgZxIsGtXI-_UHq?$nk#*YR%# z2b9YBvUXjdw4xm08pAI`0-zW zzl(sK(bw#LH37xtZfi7yRjFJ1e*Rr4QBuI`yj3o`ieSzVAKWNr#Zbdr%guI^yyc%x zyFH-%kw>@!nVYTRV|>$t6mM36hU54l30^w2}6{X0_QYGi#qzZlpM7Kji{m3Z_Rk44-q*yPk9 zA!6et(MkoGH)p>Hei{LR)AvgOH{ZJ1Heh-EX&B^KP-}P2=ff;OF@cASS$}A9PO$m7 zAZiiH*fBn%AMy4do>DyNEq?S5tZjvHC}H0wW8><}aL^ZD2Hf24d{ZBU!96DR`TW&K zioKeCXEvYW=%EK@0}^_w6ivxO8CZxGQhA3Bw~Q`d){G58m?A+qQm9=u9l5Y`Cry;LTcWLr9z>R4Hn6NAYEb(y1{Y!xpXB2( zZkVw7pq}Kdwb1|NF}TUrG~;Y%$;r#|!TFmp6E|~R3SO3~mrqeoi;E=-#st0H{U*QNJ>Ml{@c9EC z)3-F6^|LaYB`h#rMUa88Eo5K!?Q8#gB@3i922lOD+euw>9vS2R<;L;iD&wq6Phg#d zCof|VOOZK!s+pvNqQ({_98h#gwAjG7kUx<)+p!JwVTtblk&sv%Dg6#h%3pg$GJH(O>_SxsTP zpksZ2wf2N}wF|F)DyNqvmH8wpGeW4>q~yRc-)Qo~pi5e{mI62iHBPI30v_C=}OMTHAFmQ|_@j5OYNneqrpKQ5zH{mU2+$!8`34U*B_6k<{F9W*xE#KRS`+;9Y& zmeXS0bcj@or563()rwWj9WyHDk&0Vs#8enwSVeAyZCNfN++$4UO@=tS16VsAj@mtd z7k+k}93Cc@kIZpttj>mtxx9jE&Mo2CFR@G%OGYdD=1PQTn3OyPJfe1BwfFHO;f2#> zsPF-^T8>F_p{UV0NyTmMv*+5wfRJb8D&@X{F;i*t;bU-~FVFo~ciMsOS$A&n3KB}E zX57m7x0K*jj_NeR71F+AXc+AJ&pZ^mGV5?pqDB#?q^M`~7+v10R^MntmW_C`jWQ4W zl4>_=v?0MpDPyCKRts5e{O{vYt|rjKjUzKk?I8uQcp1Mmd!4oyf zG2uO9_X;AX0x2ZdNo8B_mgddwCXW-r=u{=t*lvzIL}Klxn*G29sVZo4c;jZ08(5VS zVYM|MY#Y+?%T6wQqSUw)&w1nFXP6V)k-)wo0`O?hgq#NDXjy$W{{619N)S+5TWNbM zJDQ+~Xffurdv;Xv-hk*TYOx4RZ-Vu*GZ_S}nz}H`7YuWmMZPDRc$HAxK|F~uY|7O63g?h8G_+udrB#!UqUhpavK(z zK)!DnSEm@FP}&U3z@&_k+@v`mu68@fTdwJqGn+7#lRsQBfy^Kp+C=HP^W;OAkUbOk zPj`1y)V`438!RtRR_UmogkxyYHN-j)1DlV6aAydka&jku)P9#@sbq{Rwx={fq z=DJX^94o;eXm5$gs;j-X?6HqN_E(>&7CMVv?2Xe%zQq%=#xOkbhfJb%vW5ac2+bwWd3#LQ=;B*Az_x zP6HrgseIl#nBYG*PnS^zfoo6kCQ*J&n5$uZI#SatZHV(gM{vg0r?Q6v>xY~X^ zJ)vmMEB5W*%r92FE*_qy^=fW!)fkGNocGJsI``|3 z^Q*aOTn@P2;xzE6l~LC+qXnE<`cK^0cx1{+Ib|-%~-3) zC*U8NNmk-6@3+}NV>A1GE8EGHx1XbZIa;!=T!dD82zfMisWk>usob0#m?#h&Vquuh z;bzeYJPl8qram~CdPPdy1^le5!KmNSinHTX1$h_OUTRk`N#_@M6AVVvC>dFyaTA;< z-506WlCvAAgu9n8!5w$F#2FoWXi*3TCCe9MM2AcwX!OWS3R)}^X7?y_b_N*v@&Y)g zX;`p7le(hmKh{pEB#{~YeAPWc%O^KCkxFLy>^S>6Tv|JbS($rX?k3mR$Q(3 z7;!BLi2TUUqEm>lKL(oaJ}B}=MSU9xC3|T$Uij=RqNv+)>va;%H<_pTJ$a>j*R!g* z{lL~wtf+r)wNGGSa(N|hE)j3i@L%5iOj`OTh#9+Rco$#ZP7{>g)Fq{SJ&Dr|79W7= zuU&*^9e~L%r7#6Rbk zE#*pVpI4>uj_Q`pZ(nzPN#RKiWl!Y%L(n2MC8j0)@_Jq)`1sAxhh+VBQMuDujcTJt zeO%);5`p{C(t{t4MXeWEH%V#9mL(}<#_A6JQX!8%5Ei8 zwb)6eM@u`Spr!^GPLxw(!m{UB0cy7w5g0;EixM4=4lKh{h*GB@x$gST%5stwn=`Ph zzmh*RP7!BX>3t+s!5TDE66SpL?R(8=0+@i}PeRH?hezJVMFqu`@fx18V*+8dx|Xl{ zN;1#u?GAElo9*Vpd5|_X%DM+~u{P{KekR?fm?_>Yyh1ZGYg&r9>^wq~Z6pY28;8^7K| z>2qsM)Q&1Oa%Dx6>#(SIgdCA)w%2>j)@UTpYyqn&;us$EJc3nj!zz%Em%z2@u3RWUbvq`i#4{@(a>ffBjXNv z$HX?y`+EtOX5VpNTtz%TUmr^DHZlZBfjJ;!g-Y{s?}aXC=Ux!ZqjNh&Kyfl1?pp~q zDHQ$~xFMp%D($!)*e_wL_8zA-837B**^`jWQ3YqlERIfio}=G6Y@Kh8CcHc7oDit~ zE%U`w!vSEjjKh(wE^Bf{+K-omonD=u0r{?*k`bvc_wzb;k{EIbZ5bb%ew=)?!py@Y z2Cty=lqQ(wepS7T(Q;6c-9CI6=WSn*NbgIYB44=8fx}pf2J61g@-aZ!m8CEtK)FA2 zGo%Mthqd4$>VtD5*7OdqwcIqcYh4~*a(z*hWy;_iZp7f8*O7GnC8?`jDQMbdip+WO z9T#mB80Wp^QYbF+tSJ5hjXUi4jYZxAZmTJT9^DR6L0Wo-cjKGJube-SujGn|A@Z{o z>_)D9YhmJ%g(<1J|x)*vc+%9&m$E2$o1kz9M0AK(E zMM4k%Upxj)<3hA?0*voq@Pr?zj+G7)1|yo)wB=(q$@Ja)A$xhUK3hM9QW7)W-`=HZ=T>CDerr$lEww(L7{`M|%lbFG z>DYTdWXwe@)>-Eq+jFe7Z$K6K0&_)``QJlj|6Sh|5SD)M5Okz+tSO%#yJSxil6Wb0 zN|4Um{1~hj=)XStf2_S_SYAuBAd0)Y1b26Lcb7nLhv4o6cL?t8?(PJK;O_1gJotUt z-#0UN=gd8GXP@&UPiobApJsJcby-(;?Q|9}@@RVJcF;@E3N7sjFfIM+7bEXMG;kK5 zCvMx!8SOF6e}c7-kVpdlbpF`u90N|sJ@pf#Z4$cVb=S?x?+7H3wgpY6K z>s`^&cTEU7ag{QeaBS0{gKg+4M{jvQAQ6y(J}9_L;a8lfPa?}x2}a?il}xRJLOhG# zfkzoNHi|8Fow0E}64P>B(0mGCFL0aKVUNF}!R>;d?QbTpy*4PK3F<%X%!*gdqx!~nNp=;S(hV-ioefi~NKqavOi+F? z6nz!X`2o91Le9cOBOCF#n^CVNFCMdK%scI(kVQqaNh)Y|x>k8u>XR)YWz3rYGSQh( zj0H=}z^iY-6$3^MMR#~02oj)0V4S&39I1lL=dh(dAz}JnMWn16jEZgJPRV1UK~2RF z?0B1tt4u=RTHsw_xT%8C29W*im_;B1Hl!_drtnV2YV>RNR_p?m0}lF5;NNeWx_VMW zXJ^EHyEbL(#ZP?nRX4Zm9#j;&KiCk3VYnxVMli05+A4oZ`gEa4gXtp!=L$y-Y5Fq!)rFK{` z96jmBLVn#3ZI21ZSE`Aao*6Rc0a3C6uk((D^+iL0?;X$)7_bC$c>E%`bxAJ@g(>s1$aL&#!lusSMP^^u^@^U-}-sWM~;#RY)WP#qMsNyV21_<1Sl`!5+J! znd~-*>8=V znfe@ge)M~fI5kNHvN>MQ)Z$0gj=+1s@}`(`aSE&{ZJ6+;{OO(kGaPq*McOJCYJYW1DhGP~AkPJQkxj`!5I&%u2;)$Qe5A?FH-~cs)c_eEb$(erR^p}r)*tc!bj>{j< ztFyED>NlcZZr}t}^7502Uk)n+x)tORzkF+E&^jC+Q(5l&uDBh$ldZn0m%%zokD$OH z7L=X5iW%|k3hY+KTXDHs@xIF2$Nur*>+-2rJlD8m!DsOHcY_ghNA+JqwT~|}x`)bY zRO&5sWru5hp%zig&ejEkW;0&=hc%pU#;LMe*6?IY5^*oehF{PF$MT zN>8ez_DsF)DyK)ldyo-@WUJ%?hiK|TNgI-UAkil>?k<#QSn%T2PwdQHGA7?XU%L9} zoWh9@9zJ&5rqY9SLy-sAb7!C0QWp32R4SgYIe(kT^*%^%m}o_;{?YqA`1$g2+S=K< z{@WmKcJ-ut@zrwiX4T92H@%jf?MP2p9#_Iut#`z~7vSN7ljphv4uC`h8Whw19}A%W zebbhOq1DG_Tl+W`wyWaz)l2ohg5pNvPPnXvqY!2J>^A31iJ9wY)Jngwq^&69wqubl%VvgI3!Q^*C1Wr+J2uuCE9-h*@%c3xf`F;fRxnS zf}~~Z%2TR!_)Q4uj{Ou0(X*kGf%U|aR>x>`Y2QHogV$H#(=)AupVBLrvp={M?*I#z zR)I^XkwD|)IqnnH_(pN-72N=A?J`Wx1kzF12$+CCw5QbKnQcog0^ba^vv zQbtL|S{NS4Gs_r;cUGr+_;ClG@$^YV7Y#;1jig%#=4Wu@`GeH8*l^2hMB?A%X+_9i zDWuFRq_8UdUrJ^S4Y$Bz1;eUK3anB{6~eaSUUW0EPS}xuF6dcT*1e!)mFfIEv0y_iN^<*FWB5qbuZ>N73`lvn z4n8+u60}W=MJcsVAgb1Xwod}}!%zftq{c1<`<7MWR?;N$Py*|uh@0n$pJ#mCru(pqN&L&ox_H+I$!ihmraew zmYG>H(S#T^D<$)$5+o>6+7!$0`aU?l^j!s9C)@TKFUoO77=!M5KaBsro5NspB+PCp z;%%_iHVQM1)P}Jn#J}*GQ3f3?9}n{>fmEz1@G)*9hbjPiE`7dnw&g5F=w;ZxKmAp!23h=6-Ctn8I$IC&JO!V{X?Z{fsuA>ifaleWajdsowExO}CN+72UB zKrox7ZU2}BU2+D~35MqeVP@CsVE^ld?7Ao9aR`i-_B$qQWT4!y;27xD$rD@7sTmDW z*-9}?XkNw{2tqGoTH_y}DyH)tbM;8GbM{*Scv~|Wn&e+ZgCbE9AeiK0Xn&w~JPzZw z@D=Wqi&d`juP12);Y>ZQkP4yCFe-bgdYybtX)9?AqdP)DS}4W^)oLg{l(FmpGdkVp zlROvhLy9RL4L#8-&k^j>w>6LgV$Ab_1?9*9FZx8}wwrINk{$_%N1>9W`Z+c%SgF3R zkz!fJOU=P_0y!q*&aTP1iNto&Nk$ek`YT}-cT(GFqO#fqQ?tdf;_B#tuEXQaYW%3I z{BVq=jTCxETaJ057T=3d3S{s?J?RpLWv-~P;+_eqi->}Mx{-y zMi{@Mxbm-K)XCHxhj8G2M@n*UX_@1hcE6~5pcOD-MS{nj1_%O{qxrpodX%zEW+*F|O}K6&Xz*K~d^bk}UK+pLJAk-*nuMxFh)%{m z*F|bmbS7nanHj2+?huMrR1C}i6_|Ok;>Rq!xgkHW0hoL&%aW`%Z&n@DT1pK@!}2Kl z@h<~Mxr7KTi(iiXbv>?6v~sBrd0EU>7swEx3O~1^=K5SZRB6WNaxmPXPm#>iqh6|Q zoCj8wTv6TgR}ti^Nm+lCAiHa`H>X55?5mW5CrfrlRjZQkb}4E@VN$hsD9?=#ss$mv zMFvO`iLwpD&it4PKwz#Ju&r{Xtk-#hq+bMiI5WWp zXdTy4%k#;FwQ3*?Dc6!n0;nO0qg)LN9BR5NAAyg(U*3e{$~-(BKGdJ5S=(JYyDZA} zw+IH6HHFf$rGg`H@&-#mG~ZW{IekIl1JK+E6ZsbP3l0m-`?RPs7kXRDLmm{qY0vh- z5crvGh~*`taV`eKi=hW9J~f&zTKoYL&9z3{HzKnBw|Lt;MMEi2u-^Pyn3mFkrtWT$S)o5VPNXyN+1R0r84yW zVW2gJY+;MNenYH#!{|1PT};Y2@3AcVz3Qc4F2lA7Q0(-0LvP5@)#Um!L#w^&4#^st zqf8eOW=m_{*C}(#& zqoqy|5l8F^q50fN!9?u!?x9PGX>m0*VrzkEPAJRWi_{3@##rp(&09xDPN_eV#-BIo z`AnbU(mlOG8`ZAUpJe1dL-l5jkwt{(W7l_n#}n>oBMQI;`tm}r-+>Pb%eZQ&`?Gxy zWtxHnBKDljkZOn|{Ja@q_~%>C1gD1Bz+u3|&g1!Q-QCxo!(ZdTFpfo;ooQLG*M0L^ zg;mE$Oc!Jge2)Fav@4d^W8#G>Wvq<3%o3mi4`|HxwVUXiLZP-8)C?R~^2nE*ZouJ4 z=7+IE7gb(s8xobu9lW=93?OvF%hc(sNv*7VA(U6C?4FKHK}e0NYM_Kq)}g2r^i!w5 zuLCO{ls+dnaF_bm+?rh{D?=ZtZL{v|+tRY!cLC`Y$8hndYbbb*vz|{zvQljQ#z$|B z9f~e`SwfK8=B_PnmdNb8WJQ~eI-m;j7^mo}*M}eu-L7m(G%}M-M}zIpsc80us$|z% z&)?g^DYT}DQbUu!)47TZBgR2G^(Yr#t*jZK|ZG;(6G;9D6$dV-ix@=KQ%n%ghP zkqs+;L3H-BOHP+_ji1s{z)At5=*!AhT~f*<$?Ym5cB19s$d^gw(ng7-QRMOron{%5Yo+!8 z#0xBkVjK9HNK~PE=^wIuoSkrH0Dt|tK16n_?=T;0%loc7#Sc|wTA_?a8P_v}*}UBB zmdqV9te>ytz2WAo`2mTq6&shFYuDsV%{8`@r6aL#j_soQeP*3eUy`qz`rP7g>rq9! zkm-v}zbhe|<;H7hh}ACGq<*bVjT28=vGv2XesBz=x!K>KV6*S#JQe%hm?smSTl(+q zCw9MzPQMMht(j2B49D!uzhg#CP_2Jd7ta+br6s5Xy;#%ePole z1LEG}mqlWl#w0XLEHrCE&lKCE>pN6P#zt#D7Y5g!L({selr^cQCzlp-zx~^V2YBoM zp+ytmD9!(&MUyq)0F5=^w%mXBYWm*|LjC`L5R?CGod5HI%K!N>fN`8{ES&zwXdpmP zKx`s6vh{7b-J^i7F#`o05&FOSs(+1UWnyCnI4=Y^s2*2~+(!r}_ADE#GS1{{HVna! z$=xGr*29mB$xqN{?5m318!^!0KYHRuy@46Gg11&Og>BwL8`F;vunf4w6AbLutk#0X z8H86J72H$ZWvXase&7T;YwhZee1fEaRM3FcC8Per#6RltM>Tc#&SN5UEUx0iq-8c4 zKJ`tH3gV%$5AQbunRhYogo=c)YXsXDH0gISw3N4b%{ey#&$8g`k@&r=n0CY^Cv3av zB6nciiAVylV-sw9ruO%J?C41xDFa=J6Z~&~58p~5k_~}@fq>KjXITFUflO>n9L(GS z1WKG?vgsp4^WE+&F4;IkHNHU`QCb_v%Yz&C1_zte2!s+#LYxEL1K|^#R6V0-ylQ)7 zddbe(uJd)yuYrQ>!L1kvfgrGO3xOaPIzF>o4uM*Pko;MnWz4O;1u8JG9=wB^2L-&) z=%)mhFkwrTF*PQ!z%I7d&ss<#zhQo=0fr7{4R!@JqkhvATBa>>?pgAU?z$`kQ>|<) zHyYgO!loIvGU2&nt$vhma0_r%!}u6o`Pxh*e)&ET17gMXmeo|%mp7j`ul+0U1HQCr zp5jmgMJXh$nl#9SS8orMeqlFXs-W(x{xu`d-@FIf%w`wgg{jAq~ z3FS7u)o?iot9ag#H)FOIdECXpeMr&+Qy)-J;V@wK%Y#w!g>tMNBj_Z41Z3Y{Dap#x z6CVmF5rln_IExLMhAEh*s=qmvItiRRF6c>;S0*VCr_gjIx)VNeR^D4wz_Hc)`?SF0 zF5n;lQyKtV`|wYuNt!BO=EG89$7cpQtPFC# zdkYi4@-~A4MOmR7M{c3TM({A9yM^;9M49Q5pTtJ=Tyc?jGDOV`xrLR~HgjzE8~a(= zC=y0PJWs(*L!a)@z10?t>}@Agx_Gr#%!i&D<%nEAS-|j$e1X?M{~5F;$)dt2;gm}a z^+Ta`C-K4W@kOaCzdW1t<(il6z1}>pO>#6Zk?ec*U=3d+%*4~d{PZ0@Za4<6TlXHI z7)(Box+~{qi?@bqI5>no?Kb=O*eb{0iCd3^+!_Or8Dju}IRXCzw)*~)R(bzX^*P#^ zm>7SE%mfnxKvx9;mSQMxK0e{+Fy@?oYb17YFlx0>l{=_TjR0m=E2}p?FAo)nI5E^8 zP%R=#*tA{WYmm`6$A=sOmGZa36Tzu+_beL~FTv3)ONGx(9sP4cR|p=lENz|4|LXA<70m=#7;s__S$R*6bD(zU{l5}h3cpJF_DqSl^4O@B*3>S&Yu?AN z!V%DQ=J=7K#b3oW`$rI9fgx~PuMm9g^wt{3;R*2D{SAkxGiv8>c#wVCs7(evAu{?g%CN5U&7%T|u#7oSheGy*!@GRdpXOM-vh(xteywacL z0u5JH7BTYAxkjWnpGGBixZq8BhG;g^VQN{Fi{n^lGL81Z?2V~0<9LqJ(JrM^%`>Ia zO<3PF#E`{GG4r~VRVdGMrGJn&p@@C+5_Ek2qnY;WyAe$sfEp42YH<7m8FsSxOFcwI zcfxc)%R0zcH2(( zgP|nEdu*u)UozGW$s;ciKmVS+-PH?sJ?o-qwC`IHE zUl_)Tp2v#RF(q(p;&SYuFzY0~?DF-ldQE2@R2ySiXY@(8lh5bxOczdxQ1Jsy4;&!G z{QqQ{Cf0T)4hBxn4j;-eqDp;qL_z+ilvP+8U#F_L6&`n&i2DmDe=IAFj}#|2Gc-^Y{<`AoKs# zOT~L z0=GAcx7O19Yh)n7*6cR#G_?E3hz(*%&G&v8Hg%KzkE-q!0mI|A^+mBJi{`?jmz*-m7v}_e_ zy5oa9S)C-!+zMJp5#LUjY*L5lAV&TmST(xGKg^ce0qLMaei^V9GXhD-VRB70+|K+6 zwbvwz@4FT|GDPTVat%G)CCd-qN)bOPcrmtj({XnEU z0YCzP2LSK_biK(h0XQpXXC3VcQPpP;Y^M{A3v%d~0a`U=PqOv&3G<-UA#7LI_lDC3 zPCIp1*RR}e4XlNFNUUd`(*{O6bJw(ojnf7}JAN0VC$`fQH2Q2Eg|p6;$t%}op)OkDM> zOq`rd931}>`HzH)l1p?-a6pBHVZND(NUSJJR92ovk#PhRHA)LsT1YoGa!Zedk(C}l ziV=45KbAnGA{!|xe}yJ;{29hX(Rur8Wo_=0u&E}Jk^1O%5Z6*BK$HA29l`0GXH39U zzyS`h@IRW4nS+UmCEdS8A26HD_+IILMkK*YAF&k2ARTqBwR~DnWu#kjeACrsc2+s* zIEaF^r8afb+j(n?4besH%+kYspkrnM`yg#Iw6X=7_W zZ2^(@OHe#t{INI6GEu_Mhly{!!Kl8BCh`kk^ry7I5jB-?Nz2fZm_`7dI72nkbIv9_ zS=b{*wO3T1zxGw<=}hfPnyy=gW$dT%q=dA?r)eCc*yX*btQo=Q= zECj=nQK)WG;p_1Z4YgQFX=S}y?AGEKRSVak;|IIOvx6*8&Sby60*@E#d!cN_>}|w~ z9XMx7>)GtArr*d~qe z8QDLyfu5O(t+k2MUygET8jr&&BU12lhJW9eAl-x#C$D1=Di$h2n56BPK)AT9T0VYR zge~HDk|RT4vWO-us&-h#3uDap=60Y5F`sWPEU9&o?Rq-8Z43cs4;0_#zD0I!PvNz2 zt=fpyQmt1{UZic-aF@&boam(viw!I&b2Tf6QD~~tI_l{{*o;zl#g-{OlPeSssUAaC zQOExHfh?Yq{Lo05LK2Q!6{xP~I54XP5&At?d}l}MJ)oS8QlM}+`7X)0-If&4vm+1x zNJ*3XyZlJA?6l34n>0B7j&V52^J4HX5=8e13gg3-F;iiY$D}gueeTf9r;fSq2vy@$ zTHrvlSm}&L?c-Z8An_t-a0-DYDH>2>D?`ZqV4JT2eMG$N{ZjB-KQScWx7QFt1Aepb z`{Dcu!i&V|>469l33LIE!RZ+Wyfv_b>=#10Va^`i5wRAYPC97l^a%;8y016bT>sgN zUm`mpUL*(4*HT|gHAdeM@AJ%VtY18MzRG1A8#Vuvr6}ug8^LA4vOFB_*IJ8FBXo_e zY$Noqyv2)8*jqgfQtyf_(dTVV0UA1{28h4=q_S(iV+gt3AcLdp5G4NkoZ3;{S}!nv zpX--UY`ni~?U&%)!A#gFIG?F}Kr@gbYt`a^4;;ZH#B^v03?mQapI73hBpe5PGBul4 znclufnPt-9Yx9*cFI3pDmyH(gxdCb3`2&{a_ULo= z?m(Uy1NU`oA*R*9MGxqAcyGZlitO#)>u`Kg5gEi928g`aT+C$P;z?1~H(CYqPR|+O z9OmPuh4H95yS{wI;ggnam6{9-pgIgu$8bv0gLqmm{o@PgZoN`4hFd2gR=h;%{YD_(%sPfGGq_5i+Gib#|-(t&U^Ru?H| z4A-z7A}$cyc;ogpKHr>T4t#9?=m&9n`|tjHvT$7I!f+$0aazLTY~p0ut~awBE-zJ z?{rEnnRg*M(UBz<$E$+Ek)&M zBL3@T7xY?~*_KQ?>tqZviVNCVhZhg_22-O8^y_`p<(mve()$Nbz(z z_O{R3BD1$M%@bBVK4z^oKh0x&^mV`qLC%GiyWwf*qu21xhb5nt<1RyoKC|++7H!Ln zA?&L6|Bue(JbD9E zA88W-NFX4=|BBVH{?|1$QFDCqeT-OxSD7j~t`mUDv2}BE3L9Un4f1HCuS4oP(t-(~ zOpNwm^x{}FM0}H`G7}0eRWmRDxAF@PE4B;Daz}*YI zlxjf`XYdS;;1R8}#6@6v=;!p+0ZHSEU*p`v7f=VoATWK0n-wt~W3-J~R#JH8Y4Pw? zX#c{bA?#UJLJ6-UiZEX=y_|Dcc{)#0UBE}GWHIU?ihxK}z9QDeNSgr*gjeS+SFRULvBOiHcvyUO2p3vBN-Mrnz|p!-sU9WF1Sc zY$>$M7&zAI(v&@@Q^o4?piP)mr@dOfQN`+f2d)bRx80Mnt}+5vvaZncp8WM;Jz1jr z@4-xL{1;te0JRb`caG6Py+ZaP>p6I+hrs zdu!>2it^Mj`*1XbImET0p&^Fl%1tpOMp_SbRwuQJ=p^Kdl{6A7Q z|B9ciY+X$p=!|Wh0o6Bj27v2WZ9dWtg-J{wev=r$ZwmMlgq^lMoJkm?W)mX?>{kPZ zOU_D|8Yz(v+B$*kRjXJt6g{)WFeNqaS^oM>;F}t@O#04z{{_9r)u=@;XA;D?R)ZeS6`$ zmwN$Pzb;S1plos*TL@Dk&+km^*c56D*Ib+~h8&2`+WMCpp61nHu%YV!r&(qLULe-@ zu)qwqf?mkuHqtXA0p*3&d(VcHFKiRpqdA#O`yl@pALQQA!Q6Y=HNKDWeS zYYK>mL)tfZg5wp|s|X83GA_v+O}G8^pmjLg*{rA$2Hp!&;!kg}Et&1z`xqwzf-}a< zp$Q&=fp%U?b@EL@f65tJvVyAKrsX%g@&b|c!rq~6Ux9NYUO@RPf!*LEEm+4>8NPd{ zAMc>x0aHvd*03Yo9vMVkq+iE|e`JU?x_?eAJRxYj}D@wc(&?k`o0$+lL!*BV#z>dfUXv+8oXfw}9qOsqhzvvY{SkC6a zlULq5bHc9}K6#Z@2^*61SL$qR==>4nY>-U4qycFBiUb5C^N(o!XX3-r$ic$yW7Re; zjLH8H!~);yR1h*9&%+cQtD>93-MGZTY(x`xDPG-^|BanqZ{ z&LrF2T24o>>m0GR478P-$H_$+vFy12!zhg*LHN?1KO#_7xtxZ_SI_lg)6>?FeKs#J zF;4AYOg;3NULZ9?;MpJ*2(_h;i*sn4*rf1&q~V|u~Y41jL} zSvmGL11+{}@%Vlo(!lT)nK~goM{b~t!|-d8o8ivkIss;&6da&2B9@wNLmF2>#IXS` z8~St(oyR8ig`fdL$`gW)&;nHL20o5lh(&4zi8Z1iO0a%@R;dz*&Gc;zB~%=@8FR{f zmmN5Y-G<7%!G288QSu8yn#_!@(2e8@t~tMyCu9`6t;&@7%{}mn;RZf?7x3S0>w9Zn zp%Xv^N>G4+6#rX9;3M}%_dn&Ja=umhhay(+_C~qByj(BB3a}I)1?Ef}P1G;xn<6F_ zj9Y&<*w37udE;Uxf5pH4AW$LO@yq&C3LdJlsg4fz=7CU)WO918l0lg%;GUwikkn<( zRC~r+v5e#_Q~W@SgjMN-Vx_pxrY?`KiH~AdG~V^PpT}8$ThC`EspR|l0XgGf!A#`< zOZbw*w}3R5_n_v;fwqGX~(!-y@PUZW70ykM~Df;rmM}lEZ^~3^+;BaE}DG=}fGKSQ@-v_F1HCQn`|3Ua}0n;E8yi zTsc#^F-R3qHx+v#TZUJ_o%|KEl)hj^q%2G|)!RFfy1u#;0E`!mo>|hXnd-roGCx0& z1AtALd6%f=MMS`JTLR!$*~;r@r@IS(6u>$sOYJFu00FsS|I<+5FGXr>VFuW~{!pSz zV^u4F4Zm&oY!G+Z!Zijnh%ml0SXDfYUP!SZ&Zzh@x}9|y*u+t83u|{z2+79=$y=?^ z@0cz#nY>i@KN1WU&x5?xH*Ib6%(H9gc*g9{Lh=n5FkKX@9k|977*aLG*{o4qI&Cy5 z%$()w*p~dI(+Z1pkVh;{MAI6wc-H;? zPTQJ&&4{hF(`#%c4HlnEhYTK{%Y+OWpUV~tc;t$Oh|lGV1>l6X-8ZuCauTsk z7A+$c(40`pP{}d_*F?oAa#@sSrQob2C~7PCGW!c~xWnigolr=2oKQ~PJ?p+=GOt9A zWxt={r-bGYW1ik>`lCN7 zY7}4YUZ`qnk9}AzZ4J0pJRUUWl(iMsA>bnyp9jdrKeIj}?Xk=8gS3joe-}b9cR<{u zm*XE9(~Tw1_CK51V~LSrZAElQCC?7{d3pmr+`+Hs4*<|VfDa5j0NDJ%;C%oe7|`MF zXRCJ-%PkP>2RQA|gF)_9$_e(MTiV!WzBD5(M0O_F93VEybL%<|5xvWd_B19+~MOs_1r2d!YLsU@{oJ z9Jd0uWv;c=u)5GV4Sq8Np0t1{;5Jb>6$U$jKgZhBYz20DLfWjh7kB=VqVO2MIIaV* zIsp|3Ncq3T^87n;aCCBTHnIe8ymMYo#b5B#(3NMk|8hN~Amd%IKc7V^-=fo!9T`fZ zTglv2l=FF%$pP!RZBc31yN62eWO8PZ0EZ)noEJW{x*4%a#7xE`FKRDoD*ZQ$!-{@! z-snF2n7XHoy8+)rC30_LBVg&gKR;PNm+*a!0 z`Xu(S(+wA7stvz@pDagq_6LfAaCZEV3V?TqxOU**wCVgKuAH{!1>7bF1mwW_-w{_j zT71O+|F5_*ZQN#75H09|S8U%IGj%E2$i+TG)2|YynzLkeMs5Ot6?a^KCN~Alw>u9~s+6!(5rlF(i!#3sboQjfW z<}rc|du#%sS*HsFF?g4WsymLN!Hglj1yZ*M_64E{x}jw3cL+o7ndY1!w<cr%b+kg6`>6MaE6~fh?0QYYs1kPL3XDXo0o^N_d?#f z*9+ZVcNav}VB{8Ot&{hqFzxo7-aS7l0}G1$vCVp;4=Tuv%9GO>qVtJxhxS%j8(Y4A zUvmhmC#6y+97gHh(&!zc-YODOnDc-ixoICzY{3YYjBMTr7Y5ZV+Na^T(9sTlg|tBj z&gCPcK6l~7!IE#<*~tO+6Xf)66Y2K7ZlZTaV@4v^k?^1wC&eH^ZY9hdhic^Fo<27% z$-~}1`^_gTezhV`av_ShAcYouBPBubT8nEI$*F>;;}ddpjZjII<@{dAoC+hFFd8TK z%h;?qc#~dzz3$N+lcH62y6Vi{dM5Hl!+J)WFm9!w$md!m7+r zvjKaE9Wh($lCXIz*_#ZuFx+GsW+5;R+z4z8G{XUu>7c*+5CW@F|4YUzp8xl&SGyn$ z)nOVnm+(uw(=vSy+)$?GPYHr5=n*sA6P!udqo6E@vP~Q*EDo=hl>QM6VxS=gscLn- zhnk-pvlKlJdaU*qhJPlDBQ$SmP^~H3xlEjeF@4o-)<6#1=FJ@`F*87{PD_>G~h^;wTqA)mAA;T-aqgf!NUb~(jkkmqjXzb<@alv zAEqPz@sUa|RQ}By>#l4ro2(=H79t4#G*yI0)g$nwQGyn(r4}Fq>e^MsEVz#lG|*^_)kNI02sI+fD`^-$YdCq z8#ovk{d-5ca;g^Q$44e(y%>tawX{jC4H|F#(*O~vSy)li9!g5Kics9yC?-uHt564T%=CLLWLfwUsP_2 z!=%pqCu@3SsW@iG)2;j-yY_pkrz8hnTaDsPuI>ndzdOz>1zf|v0B_0-;7zIiw|G;I z1~!g#jwTKkrvIayrE$Jhz7JqAx3d6k4H1;@D;*8f=>(TJl;9@%Q#j>+EeVFc7&dfZ z<=*CsJUHc3y;bu(807Dm7|u>(3|M(F9w31>_YLj=kNWZW-^0Bnyvj7*3RiVeEM60^&^GmkY4P3R2a03#XT zCktf39K#|=`LOp1X_T)OD9}NH9yoU`p5_CE^ML{eplm)+JRd0hnC=JCH;TO6v#`YM zoU@3;0Egx3u*71;s)$7R1YE;??1Xf~eWX#k+H01CRl|L#QM}q~*o1b&eXayg!+oq# z@7imS(P#}WziY*cj=*cliVpv}HU4g4O`B{L%CYl$xAq-@2YbF_-w_Ei<{kvKjM0R8ZyXs0H^H$YDMrLas01JMLj^LiNA_mGN(Hc z{27se04k+r?WZpik%5b|11o|Vm!G2fECw+O{z&n!fxy`Qf}Nw_Y?so6nw^>;D)M|ABOCP6Rsx(T0xF+EVN|3*A6nAa=yIWDz(x%#Gh=n(a8^l)2p8YADy{(vP!ZSTZEJHyiA)Cp9tF9ZZB=D@jhv z?bnp^jZYx$WXU%X!c@salUS2>rp zt&Q#f$|3)i(E11?^=&f!`2;cRTDH4R0X1FVB+H~>;cyJ5rx9T$(TO*i7eA?d_TLRE zcWCEol}Jor8fzD*=L%EJ#^&!+RY#S>CT=J*F~2sbtFX+fX)hE>*RisQRrOI?l6u^| zss*Z5;6|@l(Ka%6D~_G6%9Zg$bc)UEOs%S}gLaC{dr!5i@&R>9%)1I*s@(BSS(kMo zKKYgr`0^K=gyit3dV@Trlo9w{DBl@P@s;_2v?1#DMf=S5Z-~ep=S$m$ON1;H`x~O@Tg0HC(Iz=OM2_@fyx%N@qBE#`Gcz`97mTs05OjSoRpCK zN8tA~UoeD%Y_fwRlepYm>DoxR3eFI&i#BubJ4uniTwH5BQ zOESIILd}^-PrsetKO;t4I)Q2BfQiiag;nheG3dG~`VHMIL&WQ^iim73wesTTs!2p5 z8(>kFFvV{JS~Rq$HfqRJ7|ZF;$H07VFCOlmR>;c7gI{GI0 zqEs9SE^UczVl|2!F>)*Y!@dRGG0bCoVO1dZeqDPdl+2_r$dDd0XOpxj6(eabY;7P| zdDJy5bk`*M40cIbwQT5gH|t~~cjfiv(|bN5gTmhpMgK&@QwLymtOIiX|IF_GYwP-d zt&aau?6}Y=4aH)5jgV`i>zU(OaK)%Fca{A^%gVm1~P zR(NP-G;s_CJt^<&{ouI-lN`8$&4fgb+5V&+*v6<7XN_k$C@i$fQz}fu||fNSU4uj-9W!x zRjPAc6~aXF`n!R3o|ry~8TTNWsfu=bPZ7O#fBE?&Ba0YI{n)-SK6z0+I|)aVX2L<1 z>BSGXxD|hbRg1KNpi~|2Z)8Fk%fgFR>|!j=-L-X}ZEx*!Df~lVy^$eWw!*e{e-JXT z%Cu}nC=LecAXB&0Pza-A-iwuN|L}uy*5*XZ^@9~bPHV9v6^6x(7Bk=d5eB8B&552H z0&7P6>tS0P?2TVLv}ZF!2Ko21T_Wa}7w;Afzivd1kC*Czmuq2wm!8OP8zDym{)tur zBm7cLBgUX3O(|!Rb=Kskq^l-%MkDtrR+P*9@!m-lL&g+wc#O-KBTup}X_HMdvg~nI zsUs7lS_XBFBkHMV!gXxq?FqCE&DC*1_v}dkAj~+oQ;rPw+?rg|+;)=`_WZmZfO(Ap zyrLNq_I##VKHuQK__Ihh=lfMjIDo|*fIO@0e+!HM7k59l{sIKi2Cq65rhm4<25+?I zD|XC3>+Bj9G^poPYL_kjwe@Ei74e9Ix}S03JHSBk^QVAgGurk~m0X6l9}1#MIxq@_ zZ*CZe~`aTk}X7P}O?N--*^fCc*{9u}OBNBw^R@Y3!Z0wI+9TUxM5Ti) z=G(JuS>bR%PUPB8_8@y=f=Zm}ec8>Xy+}i+us&!=myn28E09o!2K*EFFYw&K#PMT?_y6lqK%{I29pGHR|Gp@?7pBx5W+Y@0 zgDm-Ak7j=1gp!ORsi5c((+>_BBD~)L_zzXYTD51wfDQ!II0z`k{YT&Ym(~A&Nc+a{ zNVjd>*tR;hZQFLI(=j@>ZQHhOCmp9_yOWM>>sGI`*WP!pbMNzY$Lb=?P{>p;3ob6VF|e0VI|lGxkn}avUwj$-_?{ej{$=G|$K309u0g=gWhBiYLnt zLq;rk0)F0IgBF#+X27)^#Ip5J?h5+%$692mq9~M={;xh>u9Bi;EvuZqKX1uap@d`{ ztLtSG(U!4*QMGgh!smfka|qtweS8`|N>tZ`J<4vw-+Ua*S;egVV`UzGvgo%f_E4lK zs(^hfk;^wyii?~em&t~e*by5=}i<EVMyife4;4|l79 z2FahUo=MUpUB@CQm8!|gFRX#IP;vWXc{^smQ2VCT1s?5I_K_4yFtmIC&&4WhJ` zxO;r%!Hlm)Xs zn$m^pEjy8rWhCUn+!i2(86-BPt_pR134@tHJBLuKEM?5kU{ujMWHvbxALI0KgbQ_R zK25(UzCy*tWCXU!qK9z|SNq?mNrpx`bvr1LJBbrqmRwdDZ`5W-6aWV{W7p z({};I#aT^rw>V2wKvP}+S$axHS4(lo-GD(-jvx`Ry~Tdv5&?!C=}fjB;rHFYv3s1T zlFE9U?^}UxBU=m$jAL-kP|Q~%%;#Q^DQxYl@x`Y&bVDUjgkzY$Q4oe^Y}DJgRb540CV5o4!y@=*<+~9g#d;F0BpHG@h6+no zUkXVv3V&3MCQ6DJ$oVYB%!6mv*{DIW>#a0TCnQZf?!=0rFy}*~hq}3}ozyV(Bo@m< z>>EzZs~6rSZN%&N!`tn!I5~Tma}b#~eAYR1v^?1_1EL%l1xqQ|b1)PY=E0>s4aYS$ z^O{&lf)ozfIRd(2U)vy^DasLMNG-%DCI;ii5j;H$OfoGBTZ$FK^{22%;aXBBizFr@ zlCzpBbw??)eIF7+@s@}{;D?;+ES7qA7n|qdGDOZ2x=>pTD$#8Q;d&?ha>{6H=<9$RFK|!oY)cF zIx#|G)yMwqwZj*M0G^S|+EJTgmwp)kB}{xfSTm9llU^-Y6!-34)G=;|F(?feLaZOk3dNIC4lC9tnQvwt;HBiaWF_8A866kK@kg)dm|(6y%!% zJS3`0q7WX;9HJ`e@htnm#66Rb3Cin6eQbX@EZ^>V@ly2AUvf$fya{Q!+a{%AU?jrn z7iq$NtoUv5z<4R{3_-aOP)8l@g1N+rTo%kK7Z|jdS5W(GlUOkJeg2h^t23!G_!*N9 zhH@Y(u{2%3KsXqVqq^v*vY9USxNZ|Bk9Cw!Vz?M%pw949>Nm$l}P_ zfQW8Xx~k@%-ZRvM3Y9{O;02C#H15mf^9Nf-T^c1}v5veD4KYz?oAUtPxyy*!n8lIp6G>h9S_DfYXY%OSN2px@hvE^C$1Xa>K1Y=C#)3;~e7Q3=k= zU~IfEzYO(BJIubS(ktWNM+R*?o-~^FfCoM(&2%agG9B=87%*V_;dc<}hKUaV9tWFugNq2EhyNRq&MBxvoF zGbftWrK+wB*vT0X1fxK6cn=c82aa({x@*_*!07GT` zn2x3c+N>67K_p~A=fOUokwhmPVJsVPIbXRnCK-ExHHH|ca&t7uQ5Xl`pd6&EEr4kD zZJqTakb7Y>r4UZzCm2o$D^qnGdJjr5#5um>sr4-DrUulpytF&TKr)|m0Dg+=TDQBK7hE{*a_I)22~S*In8ao3Txs+1aXds9(bzpwcT zmBX5IwK~Sqc)x}SkQo*{``{Vwi0TJeM4sa{nO^kf z2k9-xe0_X{Ea=YMAssqJ%bzPzoJJjr7Gf%~J%FOPdHYG8$MOKeOP3rFu72jgc;Kqb z2%4nf8VbT)LVvn`m#vs=x2uZmkW>tthXaTgaW?xYzN zCG=88tIAyHWyX%f;C%Pms8F&jYGeY@ZVM4lB27J6-=1Q&Vl(PCNp5i-D+5tstfB{V z>!q!ZLE5DAfgFrKi@p5flTN6R4ij!f)ZHZvzTB}W8C`?1NZvoLTN6cRRwc;$mRjx{ zHvNcOC815(OY|6>jUvA3z$D(tMo*H54tOXqc*W^?-NyWqzHds!I#+( zoq_9b*}yqXx}=f=T~d0%mg@z_LcS?>odfe-T^WZNl)-2xED+6DTft{DDhfgfTv_wl z4k7+{cC7~;D}=>-75*1;Tf{4t%G#P6Xg>@C$7ru{Wk~rA?!j5 z-r0MY6)iQAhmRT4uQ2em^#jGP7nT9V_lD@$+FBFO;m83GPf?IRKXEJ!X8%Oy*@_rk zAZ3^F*sSqYrLVZu#rCfV#nz@go$HT%qf)=}(!;b|J|VH;u9bNw_p8hE*d9a;szx9Y z6D>n^O4mB5a#BZ89n#ELQ$6e1uV)s(UpJho-PX@XLz_m!1FK_s)*?@Gs13jU#%BiU z8Vn*cCrYTlyA33t=2hb*1&Ks+!VV1`=xorlxpxmTK1_^dN`#?BT20hi;o<$ZMsOi5 zfWN^hG8i+=F=6mfM+uoucs~68N%_>1HkFWi=en1gL-V_s!B{ij@^fmk404~Yn7b9h zm*M+y3g&3aAcFhU>Vw2nbyFVbwJ-eprvgpNcc<9}%AB6#bZ?#}>TKCYVnJb^<6LxW zCcosq*Vwiwp6$=Ejv9n|?HN`d?+9rO7VE#E%>!>#@$dI~i|n&$f}?(S7tFNXOL1oE zOb^F+OpSP<#71B&#IBdc;9Yi`itLJCXYH$U;@IE!{?dFfhj6+tq!fsiX8G}*4fgPy zUxC*ghj&Y=fPepm|KKT=Cj6+54EKG2OI&ZkgNME3!ylzt=v4uk@uFf#GsSyN^!oCESSd44bTqT9%7T5I=I zUqPn`7-CBtHLHoL@{OoUL@lOiyJgqjh-IeOkWRf%pl$>FDK#3rI!7paHSf+Rt~qLV zhiW-f1z@^b*l(l!YE{=|_-D@T+@qZ$2|nhZNC>kjQ8}oCWkcY8nfnlz1(t!Ck#v(3 z%@)xXscKRK-E2l$+&b%|%^pX~9fgg3J}IB&5;GXRRdI?a?Hn@R{_+BDrU9n8xV{$X zF#<|J3(>>eCZIWxsq~57t|rYyoNp{(5am9DSVa(IT->T>CEYegPRQ}5u)vq1v)Dy$ zbw5Ppve+%8d7hG4#YBahAKY?2a&n1YsN0SXDO7WOcHUaLlI=^ju{7``V~IiWY`f)M zKr_Ty`ZZbLGG48U^K+S;kMc!N@%^qM3BIr;wPr&?Q3kcL+j3|G5?*J~IvEwU#fj@= znqr)|0_QHg!68c_A>K6vqfvQm^^c;AYFG9AnSpjEaTMGK@_pr2g32LNQD9YMic%`eRubTVu(zj@N@29Xldz@d3^Y27 zWY98J0lQL9m=w=rJw2+3uI9Gcn870!#WIkcKT?K`<0uFCQN!}5J_D%BbC3z=>9$-# z5qwgGMp*fXAlN~W#hkzbV;dC3Hz`g7x!~Ju9rFmHl9Ax$5yAsGa1st8cG|;GsQvB0 ztX2-J@3cYh~?$*$jMhYc#@FEG(Tvj%*;zva6qX%rZupU&xmc>(7 zuX!u*+nh#sN_}=D!De=V4z`O+Z{CEAZ z!?6q}3m)KLXny$ssfaR}dbC$ICi2Qe;G04V51CBpFs~icUMuPcXlGL;j>5a62QIIp zA2xVE6 zzgAmDCiH*)wYvyT;|BsJm18OA+cZ3q|(})bboGE|2XBo1YxXFCR#L zQtE+yR2^>+NN>BAQ9dH}^4z7}Y@`g8ON5`Nq_;>JI+v3rw}c#>qf1Jv;v7$u;bV^} zosi^lLr>SHX>l_yN|QSnMEZVZ$*a&0A*(C^Z?TjeWM%XSK^Y| zixIp|ZWASQ6T9{~gTj8Lbz-yi@g_$(Q0H5p!jTYt6B2?EPTFFa%sGfUufLL5_Ybr{ z>>I8i#CQK643V9kZ;a23IvXW7I-%%;cz#+UmBN+G#bE#=K+EG4#vnL8M4 zNqg0sJ|upadiO1HD`n=8L2ai=H*eB@iPzx^6n-aVU~4VgunUFD7@lB<55$d|>C&H(Oq31D^_GR`fCmTb@&G;Y2-O2Z4 z?NTUIM~9!Npmr(31gxX_&#SUufy6Nt`) zVO97LiV6+EjWqWz(m3w9izj%XGnYj>g!?KO6_;2F%}?JDNG6Q2%QvXN;T ziywsR!Rytqwt_UI*5TLItliQs!lDaT_O8HUQk*I}bS0;~%WlVLia_@!#}Y07y2DGB zPtv3_J+*YKDEoQ&yyiC7wE*)YqJ5os>G8Ga+?KWgybdvdTI+ukS$DDp zkjv2hcR=Qp^|~t7-~;dA$O-M~2@ie=&s0;0Ac!ifAeF)P)w;agC!TZxRkg&BEhf!c zgJEY~I0`lM3YZOtXqPawx5>Bn$BrC@*B@Wz;pH}-4yAS&|aXj653GXE(>%$7lys%N6<+ed&&B|Y^j@5lG`+fb%s{=9bV7Ba} z`>b709D{Ui0;dPNug`v;wDo)XMdpz3gvO<2`%`iw#5z&5s80}CM`4{}Jq`YgQoT*C zQH>cq>k1jqhrCZ<=;`4L0`=FlSR7z_Ts8TIL=lM` ztMf)NWPb_Iw(;?gL?&4+^{sMC<(0XV^t>QtbkWFUW?{J#32F08VzZMcPm9_`#i8Z4#1GUqTnktDjvn2iu75=Vq#5m&u_ZYg9HvPd zhRLzYjV<0;R8>>)tkH+<%dXsA!E{^B6$L^}efefKO_Ezm=J+!mrMahxuCHIUW z-;pI_MthdrWbMv-wm8EeH4>XPJZrIGqUrMf*8iOPpd}fa1^Kg|Ez1-Ir{airX-iV> z;B@c`ZYpeU`t&hNBOW37g?4dE@|?xFtjz?$nvK)(GSk~n0y8bLg)J64f$L~s@GQ_ z9+O!&c0w`fVkOs>Ji)fOzYo7ipC+q>T=JZ3^Kcc2s@_SDfrqB!ck5#atl&myXCZ>0 z@`}FFddyP59YPYG^xJjAG3+b!{Iqd;&Y9;(1~82$&d}9ZB&(8U`EF(+7xCFY8&h1w zAeAIxRFULw;0F5uB%*h?ttFPUd0}y;6JX$!e2dcF1gIkHLckG3DQKz1O+ovu;c_w= zehS;gMH9UxmVIIpu}YMHe-^xy6uh`d^d?#o)oPp1a84B0V962A+8+c%gp7)@sF<$) zL~2gNaqRuGp%8k-OJ%Nbaazi^)n)Y;WY%a2N3y&y`boplJ~*Foj{GQ-Xpj`8>Zj^M zSdDBcR|DR?Cou5J+S5=k`Qa^6@K&g#T{l$V%;9vFiMEG==ozbTmCFao>aKJ6x)bfq z4-HKh!5qMT!VQ&SNHAv&GgccMHNEZ(H_$mJLPE4`Eio|PkAe+=&KeckQs+7hzCS1_ zLT4uMcj}>0OZiEu6rD+mA|*AGFbP#gvi8O;7#LHm!z+5Lulneez3#>jeDIIFgdWDJmGF7dY_P5*Ziv$c&qfH~ne8gaf2!T&dAZgaSm4ct1{xjKpbe#jsY zIZi27Oze9HY#4mlDAz`&(YeNZh_vh}Re>=%cfx8p>8vq}<=RmM8AlT7Hs6SmdRWa= zIiuSFmGto{iUNRRW$xbAqJ7L)NnR40IXom0x!_R}n*SpimICDvYWB3r?FT)loG7G?DWCA4yBH*c))9hn%+LJAy}>R0BE8(r#$hY5LId4DqqKc!(Lq&r}}bTlD&j!>u; zV{klN5p#oiU-B~`(><Q}ro=CYQSR+cXxVPiZJu^eznx$2e3lq2mH^I8W>iO+lc^P72*@T0 zr}OW|AX;$Ksc*2Kjp?!{38alwKjIxhF0Kg7p02 zi730F1VNGdGJqUPf6N^2U#O^|1ZMDHfq&bI>3O5)#*H`&PJ`keDyf+^8HCnf?ubvE zLw<@)&zVy!c_4IcJ{AZ#Q7nBRd~FW+E?IuGiS~!ys=C!KFkxL&9E>nu;qADQ#nc1Y z$|#LrZiRq+@{lYRE~<(+_{&;}D_HP0D_a~>L6|MtS;2LD&X@*5==B4;U#TCJ zS>)ePM9ZFm;ADBhK~ZrnzD6?Jr+{x*DHXk1lHCco^q|wjN5T%)K{?b_*of(cGfFRI z^fT-z&x;wZH!1`_PLiRy({HeG6MT?YYTyEM9bhC2{U(*9`87<~V+Y zXZJ+HK(eXdrXZKf-87h!$P@9fX*haWqHUr7;s?%c3A?^cQL}7Iu=0i717`<7GkQCR zw(Z6K`f7_f4{7*$KG~$ny)wq>j>t5HiJ6r9&jTlE4KObq13(1Ae`{L*13&=4-rL&PSpSj#nkr-e3&7*`-~f}fNb7qEwF0jHmGFlu zMm?S31XjcdxvH>TIoEd`%hxS^NP{MPnq0-ZC7+LtJ+yuG;X8`qXuJ0+menzAnDGf&|=i9yg}uP0u^X_1sLV!@^B?=PRdB=HqJc@bCVq0i)n+JEXg=MsKa(%~u&YC5!o$Q~{!@Ppy zQK&?nL027xWcUDL_CeHrg0ZFrP|;Uxmid%j2+G1D-fp6v>{eyIav{!xbC>4avkOjM zwi%STB1vauk=G4Ss-e=@t2e}4xEc(K+k%LZ?e^BLs8APZC#K76MCdj!+iGW9k(>@j zTVzz|w&!EQj8`*ZVJSGJwy+ZT{(e&?7(>dIIzJQm7Z;N~M(0iQ-CZ%zmV2C}bhK*aHmc^7u^SV1OF}yXYkk!}97ph^b zxj~%W8?&yo-Ef$`+}nK}oM~hGDPFVUgh7o^H|NlvTt-QQ%68^LK}eUqE!7~I-YrPn z?Uh=Z+YR2>W`v`70OnZ~<(8f6f31pc501~`DyvY_L5y4oS7q*eAvV=A&F=_%Gs@#0eJrc^Z$n5&Hu*nV+~vZaQw{(%IATO-QUsAaYgGm zEl_{qxf=FrdNXP3Mk>0OPIGLSg@1kWp;WDhb26A$#I6`~&lB!qzha)?nBr7%Vq2-NM7+?#H z*7O9KL60B`&DPBHJ&X_oH6X+wL6R_Fst(r`q2&))MvG8E`fP9oKG3Y0>9>p=0Ui3K zjuWzu0t1uqe()E{fS;z0ALYdkP3Sd$G2z&YnNZ?`9ejRg3^w3I_wOqnYPWk{uRuzh z!+4@@1Oh_qw^w#2kpFHY^;Fe(l>y+(k9hy9L?9z$OLHp#tH~dz{VJ_C>orEK%@?%5 zeY98wtrc3CO&G94O~+hPZ4;3QdNMLee_q*PgtTiY?>gl$hWfb2gvouvYnN9Fst?y| ztSLs4%_a%zi>Kq!4l=}R#GeF{oisK9EuXb9l3d<)_l$yY)oBR2=rB5ZjOD1ciJl)j z@)T5#{MFP@&pe%Q*v&}*mTMzJ*RjfWAgXq%1~!ucr?Fe!ynAO~{p5Pwcc zcjO){BRsrJ96cp%{&niKI#KovC&-W8??RFANRnU^lZpqylzJ8`^;*}1(C*;SABR}3 zsVw!GOkAyj%-`N_UnSt9TWMQ_;xT{$^l=>`Gnq!_EDn`d@dZS4#Ok1Q`c=TJT6h>? zy5yYIm%`STE(aT`>z*TrWnUw<8#-`PLJ*fDn5_w#{ct)qX4Il(j1C47~g zH$H|G2{O1zFh35$)}`rK-{s;D^cJP>e0>`GT}G)L%#H(JaW9c6--pveYmrz7LkTk2 zDX8AbWRi`rH@cE9EC!L9p%Rnc3VD_A4fn;lo4IlE!Y34aW(Lj^8)}$9zjfA5xR>a# zLD^Y)ft)E<0#m5lA>AS$;8nUGfgq@6Kgv7#NrruEvq=Bm_#?qjCCnGvAG{QzV&ez- zUZoYj_)qf9Cj_&Q>{pwhHN=G_bj*wmiw{c}3>DMOxm%!GYE&A@V)gCL{+06}kprt( zFaSq^7A`3ZjinB2ThQe+FkUHcV}N~j{hZu{y4S8O@NI2vCpNzORJ-pl*syl_{`R~9 z=Xe`zdOA3e*Y{TeY^px{HCGRO- z0boDtCz{U=DZ^$Yf0^y}CSJGiXV5cGEL<~dyy=wJP4`S|DnO}eYy+K2>uT)EY8={I zAE($txqy&P!$odEh?0NqE?4XtBCGw`Ul-&Z_7#e_PE;UhUk_xhRIWogMqE%dJ*5nM zW;CA5s659NVR9tT&;^lhJS-z8_r1X;jWEzzlVrH8sS ze;BboRcfF~Cz4*?Hs~rHhJ!vLvME-vMEvyjrB10ngPZ5Q&-$r#&-wVYNAPj($L8H%UP{RTpa$s3r zZ~j(s-`WJJ4?A61hc!x`RCvwku-?xvrfX?Thk_0)sb^Mn2U^1i_mc)lJmp{7s6ulnT_x z-Cf_57~RrpBe#zwAe+^{lu?{cXpl&#F1GmX{C($k#-_*T1?g8{VjRPuDLiyE=lxxF zw;V_;K?2=bqYtmGR~c^}rAHFG_NumUIkH+)Z>hXgc{3B%Oe%Fav*7pZ5bf5V+g=1l!Lho)9Pq5PsV6&>k~Jt%f2Di6AE(AZi??7e_QX^B?Wa~ z4>+)I8<3jzp%3+qhg&&`KS5ztmE@RrI*aymW$KLGoTX#tv{!`^p!@{kNfzTIN&)Af z^T~D?4|(RRqIzmQ>Pnb?-gL%*C8SOS^-o`fY@{=Pm8?36FX5(&Uh;S>;w)!L%+~Y# zpX3*78ih@I15u817M`^#m9A{rb3HseK!#f*CTbgU5y4xK8i<P> z+c}k&#Iv4U3I3^t-oddSiRySlkrK2y5iJPGx!pE}-r{FgN~dY&5#Ll|tAawyxksc3 znd>Ht7IKTSug63qL**GALirf@Q^<%9X@1PKo3P*Z`;jlL?EM(49!B5zf^e)5NIb*nA7TH2?mOf^m^Dj&B9d z2a}-YQzNUfzZ9%AiUsn%q?z0n^bRwf@gDmt>GknCDhgp&nY(con2T@6f%9>eGUmW@ zfl0ESvRI0?PKkRVP{ux{s$}gHQpI^QT(|gu_nQ;bgB>ub)bkc%H9$sQB^Bmy$$x?# zzou8ro;$@4qOzo^A?VWfxD$65ui|Jb(V&OpQ#Z{46&ocsevpsxDxiU#&olafHSX&S zd~7}Loy!L&3p|)uTl&t*QyO?q=&uX)c+RH{HwsF z&X#4#(bs`FmN0wM>WykXQi_Za!>FRI)V}kko$eE&BGX>%LCjN^_xz@KxG+YEvYzp6 za~3$5aFr*O28DcH#-c$`Ev~E_GNSS?(GlNBcE7na+?t-;YA|FZxJMZ|6L8VRnG}4r zE<0G2B?NPewjfFo^*tCK3#4E7w_-C9iP^UswvZ$X!bwQbNrkH}?4~W4^Qu^oEHHb- zaI;!B@3g80kpYQ1Y#7p(Vrm^CakMg8<}vI|k%)!k5sprmak<{11Cv&qtt4n1Q~D$B zWFGGChU(HHzQ`wiw7`t}ompgu3Yt@9&_Kf5Hd9MmNA8e4BB}AvgJHH+AwPi!SbbIa zK+WKYh)^dZ1Bn8+`P_FtP1xnI+@*-STNs0N8zP0EnnZN=6N6PTw&S8;)_7)9?I;Fwz9NVg%4MFVe4Oo z<*f608FoJuSK}2H*c=&D=7)Xx;^#VJB(6-d{v^Vowq15stvV|lK970*Z3C**GCEjv zMmq@{Er>)Fjh`}$kGw>p%4}d;Fkkg!Do9P@vq$cIVa^Ldb4Eq89Igw|Vq$yDAgVm) zxd61hmL;X^imoRs{J!xthY9D{N2b@O7uIZrsfkGhPrceXR4j}4bv7HuTPYn@~?FqZC_LY$tKOyNt!nI zKfRls+h?6%>6|;tHPgNt@g<)5_Rq0^-%27(l|>s;D&yr(b2{duBFwzA-7FSC+d6US zJUo6qwsVD$oI9A7O@8Dh3OS?|%LWcP_;u+-iDMrs&YeB!M^$Q5ii&qb>-J-b!A zE+mschO}wO^FyByj1FN5E4y?;zfG%Huzyylh24Jxsn)Syw8k&E1bcHVok-6-_zHy| zns(3@fsVF|@m{fi7G|j~Z0jc2qVG+maK=7?jrkD`y`(askEC$Vn|!pLE@k<2JPHa~k?u@Qy%*_GJV(F-KdH!pEi_fT?AK+{j__d;$r&*Z>@50K*wzX({aT-7@Q!@g zdpLSZv6K@9Bst6z>~-mI`gs-J*mY5h*FG8nJriAN9Akdqa-b;0w{r+*bOc}Xx+k=)~Om*XR4wFk~mRBE62Oc^VM#x74 zrPa*pR_jgSjwa+0jmz(F4twQky7W6w1Lf!1QRA8iQtIy16$ii5(eZhdvR7S;veM|g zdn^+vR<9OJcFN11&eQ@-is<}qfsP~zy#zg>Nr4I}`~rP%$zp*C{lMxWB`N(*L78I( z5ym8&i2d+Dl#>Lbfv!kni3r)Ccd=sI!R$dKML@W~3#t4vfoJ0dCxMaMC@_6P*Arv} zMbAgk35kCvqsMvJgNBaqwSkN7X0HPi+bf*^2&J%Bzz2HrP>A;-#u>w}dWGA=slpR# zlc$LRDA@rr(lZ*bvBv1M-9Yx(t6o9&5UTJ*R!Wk-=B*b1a@No1#-I~HwcQ~0V%4)n z+yrSD#`d&>)OCf^TBd9i_s<+)j5ql|Q{LQj1u)y>H~XI5iw}0{E%FK>hE+C;t^1{%80kX}%5SyCM=Gd{PoyrZV7lG~asBp+rl6 zMQt#zCrd>1JJ}k$PaFxMq@y41=h?d)<@thAb#lGgS7MUH1n+?Wa}yPV5iPgPEBnhL zyfOI;wXIE`?5n<=yW6Z@wb5|VIHKtGlm5GVCigyuRPsJ*5EfER5xrzEIU#MXpAN>dBx`~sup`$s#SNWF!7rtYDdIjJ~MgVW7F|?lgg9Ib88ejPLHCK%E=KEDM2aTHtc6#Zi%RHlncu9v$v zB5;~+yHkR68@I3-&EW(i=ke|a9HM7>%fTrVy%o3HB;({eikmcc z+!jScBouAC<8`kMKchx{u+q;=%Dd9FICVf3RykHeKFou1ItVrk}nfBM5-j~t$H>fI>WfWCGP}w~w4fjw+ z>sCQ%3>yQDml*y;+x}_`OS(-c3hte*J+mXkc&EXlqf&wHY%4=NSrurAv~No>QgauWj%x}UhG7!4-1`^PER*~#6jNcLrwhmf~Ts`~b( zkY5^W`r?AxJC;!~!a;2Ibc7GUvp};nX4GnGWn)>nIQjjW7q;I&BATIM7r8n4p{t-{ zLln62@nV+l-y**9yft3-Avd?bvUm)hB4+$WTCEwzV=xi0Vln`x&%fKK#+Jrb0LpCr zKh#E&5~l!REV!WyUa>?6MB5D~TTt_duz)4^!B_#c^!$8t#D37z0g}@}TdV@P5Y`9f zJ%_3bfM)L^kCi7h#GSBV#lxU{&o(6Nj>Q)<$mD{EyBJUU#-L&%4F|Ilnss4QgJxMb zBued?hZo@#q`G^eC%$a&&Sj>4Vo3Hhj^fld4D0es=bL{hT*%q6mhh;D{1 zE4X_S5aSn$m3v$$WOS|4Q9GAyZt^XxerbQ`W#t8_aND&?nB;n?a9}q_uAG`MM9c=6 zWCQ2Dn>pt1JIuqNxZ7$Tuy4!!QZtO71U#M(_}XeqPT8cCO?+%oUYdVcJH?}TOrjEW zr?a|4T}iLr{j?rGZcj(!2y`W@x`o5gkUe)|w(~*OElt}gp@z{MI*GFM&#@0t)Se(u z@ED$kA)hymaf+{pekJWkXyNudiMbJGl3M)+CkR!1(9e9U<-e13~ap- zKXUSgSsrJR>iKRFf{?Y+X(FR{osET_f*xJqk37Zia2l>3Ik+!-_7fx`-^FhNtXb5S zfIp+lmp4Ag`j)9bhRidh6ne#6x;uWZ-B-Z?Qr4703SNVlifLde0Xnt5LjYAJj4-uG z20Tv&Tmxp~%O$M#crlvK^vw&BvO|`3^*a99&R-Zv?kCq2K>%a46fp7qou>Jx6lqg@ zofRO&4A5#t)~SMCZ)4u-l{Uo;h81p$g_BasEkg><^<(zMyaY<4Vx7BGeU6vUneG~9 z*sudR;n7D{_vIU(0Lu!c^lD8+g}VlU=VXFwPchX5h|pgcG{*4?qcCObXX7%u=J4+3 z>2i*v4x^xC;s@hey(#O3_7!Gc&+H(SR4vGak)XJwwDuFAxv6`@70M|$MpJvC_1|qv zL^K(G#%+ePkDz+)CT?MCGmZ_yWsH@nvA9k5d%sP7UG;+BY``di-K5c|vst>R!THMU zz*g3$XDAxb zpCY(H+M-aQfWC$cuuT3=!~Ro?G;6#9A&?OXphX&E=a>T&CWM3+O$g!KYt6~oL2mv%ELnhx5 z$nFK6H`Boy*vJyd$*!W0R`Uy6@>q2!!${huL1>j8r8TLyC1nzj0*$n@ssz+yD`@h1 zGHv9r!dUKzy7Jf$miG`w!HTG2YZh@TnuZ`u)Gf8VZl@N~C+K>1%R0)f%@@P9vW}e= zYFKPv-2P&{J!N$>B>>to4KNP>6A98kr>8$9NV8&uU;+R`5FqdR+H?z~E2aa+vk)sw zJ|LARd9E9f0rjOVgX8jJCx)kUd-qY%FC zPQ7`>c@iW=_4aA!k-7MnYVq)2a0?q>ztp(_DoX!1EBdDjX;xGnK!p@Zfk{L{sbhm3HNvxst;On{GL;6iy^eqUX~uLH#@@uMVdCi9@&C zjp7W^3jxzw%5l$EO@nBRWZ4IawuvWtI%NT@aQ%{~iXyDzya)r=MZP+zhwHFod!jG5 zC$Rq>eZUc#-kk+hN9b=ZEB_QB1sIEes;XW`asrv^8HvCV6)FXy79a)tbE-2;C$RYu zgSV@$T+@9V*wEa8NM`2wf&}`pefDLcAYCb`5rjyG4`8+rH1Lz>T@F0I4fG?Qi>j^0 zz9mkry<_ihyv%mjSl*u|t&NN9uuV67EH-Z$dsX&Abjs0XX%2@O@q=zN8HaC=e-Ky}u!;L7GfM}Dgd%3nK)CV#G zm+jPcN~FSCKB}&e*@4j9BR3t;30I+Z)|PNJ)6#s$(BZBMaIfcHf9xSpnzrlg9v6ln1{ij#( zSZ)2ke5aw9pB_Is9uWVAh;y|yQPPvdssPN~N5(xBoc)OIWDPSl(o~K2oIQL{Ro0WM zcsXOm)Kjkj^?me=vW?UfG^TXET)o0TEu|8|+eJA}PL4gulDVzN>mPF$;Me?bh8i>A z-2ZgrWXP3wb-xy;dD{xYioib2d^-6 zj1RE}LDv=|fdN z?L~Lovt!bs#|(bG?WtqgN8V-V&3UbtWrvp~%@is-+Rt>-ZJ&7xiuViXl>ZH_Q8tsS zI|P2t%_H*^7_S%TRQwICaW<7}H9Rly0klyz$5tEDWnd;nqT8nb!D26}UAE-D8)P;Q z=v4SkrBU|7mYda97?%R=jVI7lZ*PKaw&=ba(A0Eqf_=8?{u5MooS*50+amK6#bqQs zFZRKxQTEhU8kVd5WWo>Lue~g6mzJDU;`?r$w~n;;3Vm)cX$Lf}fYPX&blL&#@6wX@6v?Zx3mLjUW^yhA8yUeQ;3(Er#YVvRz`UR`V8xQ?lVmpZeBrR2H&}CvjfI& zZ~-?SjJQQJPZ3;Bza@n786T64I~@xd9;gERX&@Ym%Q0BmI~VEg1-RA?uH@lQSmtTi-yijDGJhNu(EM=} zY4OLAb4%=W52jJiIXx=hn}-nj5kAWEgMZ~X=IAZ?QegB(IYu2>P?^WG*+e?9{!Fev3{}QfC=*WN-^%G7)d?a|>dY956F)Z?W z5aZJg(-d^1#Wa$tAcg^#P=IjNjbXbRCuQF7REQOBZn|LHP@kl8;H@^M{;7rOEGG_; zjnX3z2ipr_kZYq*gK=KIP|fl$UL5X&58%+cK#qx??C66Z{8DoD5YY3S70sknu_Dzk zgme!^i`c%dD)aBAYL(h!QoX6%bLP<>qQ`5=X+ zeJuil!k)}Tv3{XTAClUGNsvO-JMHtJzx@>xQve(df9yEo?Hcw4Rsb?E_m|?!1*SlN zhwYH+<1qm>l)@&0^47xFr|R7ZpyFC;AhDdw&q@bChKM3##htf0`l%c0Om1GZG~Q)v zm+oI4DMoe}zW&-nBX`GxR4YLzzU{6QaUy`#>_elq7v0HQ&PPBYfEKJt@Ey8Lh(qw37iu~x)%Mqo(!$%xjraO-eloKD+4t5xb!l!in?o%P5=pak*=U6Ed74Eshm&s+-cia!|(;!oLI@6i~y;<$sP z;VtD}2@OVZC2T6Z{OP&iQT+ObixD599&w;@)sRz*pm3S3y#AzVqL3{uLor7Qsb*>2gi3MK32oiE6z^7;9FO<~ z6S`gmP%oFwlE8W!5Dh!%Qc8mWxU+{^e{h0BCilee4fzXDyI0R#Eo!6aKj#=*CMopG zgGWZ$t4B_Q3)pbV`E~71!$%+aeJG8{pWY_YnyXXcGCG}g%^CGohRsnlSc9v?co^nF zKSPT*eBrK$Dq{U+T=?Dci>9dIhr2^Oc~MKmP*Z#pPoYq^@uGCE`UOmY2Bb?%n28;O zQqlKgJX$#Q^T*&*2KRgP@|Yl@!|3rtqc2g?#qC;HqUZmIwYLnYqX`xTahKrk8r*}s zySqzpcMb0D?s{+w?(PKF;C3KDAh^Ag@7}$8_uKvR?!G_MHPux$b7t!FbXS**BL&QX8Zll6SCRc$ZXs=@iu1!B%VSbxNBS<{O8E zWdcr(Tt+9wIHV2fUNlNMjEmW3{uo0#EqQNUd#|ovLLnSs-^H)drr_MAJ0=73{l9`^O#Tzt{K8n@Qhq zM+tm*_{?47JK#v#O!3KZm+54h9J-3ULJb~6^zP4}Gta(IW%bmxbh`;pt!*hGBXd1X zJMeGs_$NnX6N|q|4q9+O-tTSwq=A2GYXW}0pY$C)Zaxa|6g2PuVtYSWea!5oUhRhY z7H>59O>&Ix=?7fg&BZVE1VxLqH$80ktQjRZEh%jMXL|t;o0cH~Uus``p>| zlqj(A&kBM8`=pSpU~E`1<5IfI>)=siYH-5S!^J_ue?q~A^%>CJ)ADZJ+~k>Pfc!ry z!TQ6rQ)|HD=)j!LsDewq%hbV~f-+8%jtNlO&||iCRu8oe>?;Zk5sm9cOs!&~tih+} zwK!zdR4O1ped#5a$xfskmS%_^yOCm*jXtQfdACL~RKf(ahYq~F*V9sBwpZrRhJgla zO9{4>I-SyTh|CfJ?;kO3j^jv`RRL?sDA4nMmd(}moM4)DBNuAMr{Th=ra+x9zqtio zPMYevAA)bl2WaBKs8GQ>9Rl0VvodP~NduEAmmOB@+0rx#0~sy)?V3_Sz{Ij;=$;xJ zL}uC_ebHt$EtJBVGE4OAEVl(P`qX?WE6oKN$eOr645IAG9=qhfzu1~;szySxMDYU8 zhN#8JWWiicXq5bab^bA5{s9{C>yxis!8g?Xm52h{GYD;RauaCX$t*F9+}}>LH&X9G zXzsh_yl-)o{z_M;VB$~g9Q#bsr8(;E{67zBL927u8_> z{fkpk1`wg3hkZozQPdi(14~*b(Br#7B~%FkCdLe1X#hM2k;N5EM`#8}2mf{okmR4y zn1JMnLb#^4UQgA^#O_b61m}Y;mp~Y90sG3(7u*Lk`xOnf1?<>RP{)%{_wYPO6US8$ zjlgX)HU#vts+Q23>fl)!1JCwiEzTCS)h)kzqDg<_A%x2in>?d+8M;ok-i1)79f64_K zq>%^aJ@b^2E~s*VU&_Oh7T6@qbWz>2C-}Hcd@xQfOMn-d#9)h(!Q4+SyTx=mv@cBAh7#)>U0&P z(jxSDQpK=h9#pE?m@&PFRk}KCP693cF!Wki?{ zHBkn0YJ8;WYcwxTfzgiVRP1ukPkwd(lbjK8)qlFtC~57v+axVzE#|A5mG7eP;jaMD zt5N@MNw|4eB`Y+*On2@Y?`}|vLs(MZwr)ypcysVO^1kBfU0fp)APj*rPW2{@xM;@f zP*=aoua)Jx#k6TAAIoWuTM;)dtQyv6Vr<;ZWV*J(n8L_s2eV5w#GRaET5j!6>^}XH zK<(n5DYn|Z^K&^jnS%cmo+#zb*Jrx!iY_D`?>$p}N8|W7cV>}Wa4(o$@atl{_1k-y zpNz`6;q{R4@MVJ=f|mS{(bd!ZrS7zYo~gjW!c)b*vnYuJRsdI1K<60$wR6$t>BpYt z?{+=3K7=7Yo}tnHk)N-bkS9LVSu_!#kCg{=Cia*3&He;6%?jBNwcddr2^ZQU3{hqjgf+J?B@-UIY1-IS?v&$mq#m4kA1Lc}P?$-%5PRQFB*x~S zlO20%fNJYJhx}A`d!8y2l&V-6pm8wd;{$ zdSwy3cv}Px-wD;@W{4tgJ9;@r%}`jr=BC}x$+#1Aa4_!x4vE&{wAXixJty~i@}*AL z=z-L%s~YLF%%#Z1fuXG`iPA{LfuO8WDIR3H;^h@!mDsAkMJkn{gj<6vNogRiXqoT2imtkr0I401;fB+Bw18>@k>|= zO@8e^d_@B$FTz3Mue>XjvLZlc=jq!?Pt8<9jGK0FCt(xh#cDKfAvyv57T`RszhfxE z&@AABB&aiSl|GrPgPYg*Ohm^PLX01~u(DS;v@#g$j7v=9w!<^j=$_s4J{w|7S+N=) zVWy3w1xjpt$1N0@q1|K~D4xyz9Cqy)qyJEdY0GC^N&hwu5c{UVeYr8#RF~7t87487 z*Txx^Ct+{kxnP@b1Ve%0THXs>e|WXL`e{$ybDp~$>PWH$L?)DnCNA6@W^rOU-~)T3 zg@kqe47Kjl#x!t7<=#2eX^8wp0}qEXGq%;EUM zk#+|agK}y^O(2+3&GXR`$gPU_S?N@o(Lx|=5NAAm?$GAQqdOLh?uB!#u1I`6!Xdn| z)4p#nxA_|vB&x6ceNxW$cT@JYZP{xeuh~5xyiM(0CVP1KMB_<@lDqfHg;mmd!kfoT zU#h!7udTqe#mivgGjldmDNsSyo1o+U`tn4CSCdGhPN)!(FcXkHey8Oe1iMJ6hqxw1 ztuxN+L&9`A{)A(>sRi^Ms9>A&F`CcWX4^aquu;=Hd`_vIbKp&}U#T77VFZ447fq>2 z*0pvS1>`B635mtj+>(|_jEVoW4&%ZtxWyT|{za4B7#~2a*R(&$n%#(?m$D}usO^l0 zH=_wLEIVWy@Y2MF4q^X8)-b5os?0!BPQx;-)H^?qS>T`s<@0pAe09r0i+oAT!XHCp zQ6nG}hqn0a&gi!NC<$&JLd!mC>@4LbfkxMY3)6a2<)7Wm0urNNg>o--JM`Pxj6x3V zb#H|7w_2L|O=fce{f#>UwqCEbH;wx*fiSCnA#I{u6X!KrW}HTKudCnQ{}o*0au2Yu z1(_0uKu-3;|9_Uw|5@=qZ+Yr(94Pd>fDxMawnS0)1`%?@KI*3!Yc_?N$FgCO`O1&@ z#mZ#lVvHH4)oAyN;TwOF&?abFOoAXuLYxrVelv^BE0&w`VNnilK_;!u^G_VyGz!a6 zGo-RxV)cGEv;geJ30`Db3xu9AF32MrIM=R??+5g1g2c?GU*zo~1ivdL6>7=@AZpEQ zC!sv1hGo?!M$6@mJ>`)MXwo>*Jc-HreW|^qKQ>H8jeK`68I!&WC&-Vle&)1*&|_z{ z#yH1>2S&+onkd>SWc7cSmk(l+LQ3$vlX0(;|yQw^DxXI~fP;irx{w3*K~w{QSs^%Tlk4LtkraTrMlxr?$=eg}_N(9jaE0 z1ay|Rvw)Ol7KcUeNTs(-xX4YHw}SL@%U1nadmb$s*d}Tv%C>`OC_1aiP3Jw|5k8=_ z)l4s6L-64-u4}(w-M^g&d)tlieu7@47Rvv0W%eI75Hk~}zpjEH8%WuTo>B-4ChWDR z(8$7xfc%MlFKgbYS6s%hm0zW@bu$DqW(kv@=M){Pt%8!PU&sf_;c7F)iG_rDn(D+j znhDj}D1EZ(%njh3ZNfrs)O_N3Xu|Egy&?i2mG(BAuvU8Xr#1cEDA|PVXnIL1T~QUG zOgU$@lscW_%rbI4uy_3RHOKvpk<$^gWNL<>RW^$rLvI<{gwJY?V6o1YNTlYeleQ+i zSc8WVA;W@w-2H3yV1oe%gW1A)#ti9NR4u~L{X9!KK3Vlb5%T9yJtTLNpMu#BzZ{#d zGVSjP8)s0i6>gPT%c13Y#Zx#QRJcO4QTdCt*g53Y^Z!b}MbMADX>ZZklOQa?QE7>vg!*&_2;--*QabaIU2{eD z!M2*KaN?&9v|><T3ng^Z@-3d<{&4&jm-B}5F-gkV zvFkSSZFT@Tp}W*K#{9I|xw+X3UG3$RD*1t}n;uDbKm{ogTm zX?YIm9w6<({vQtm{}JZ$w^rcaFqe@ug}>FL!ay5^N1TWV_SS16g*c~8K-0*GVH;D} zk55>`+vgmlR8YDT;^sIKD-S=r@e+jYInvNdr7JL@1(5DJAVM0|cP{6AC1E*2_)o}J z+&U|eR*lsbA4{XhqR2@1F=Yl6M1>{(IN{DSGmw@1@LNaAoDjt<%%tWcz9RLImBn_i z{Z092ku6G;GS-roBLiYVwrw^)R7}Vtys%c(gF)h$cFQ|?e`D!Mgr!fQf{_+wP~H11 z4mwOB?s^oTiQ}jyI;=nxxeDIXz}RwDpaPEEwqbjQ)a&-(j9+A=WHD6V@x*SeHgG2A zQEE=6O*Z#yBRrvZJc)zK+0^*&nPy{Xu~vxXLqT_wJLVuuA@B~_r_p_(Jl`{PL#7ex zfQ5OdTv5_Lr~Dj2!me_r@ju@FBjPw7$-a@jA?s8$r`o zX9s_D8&-(muB=Ps_ljdAgiKnlE}Am9Hw3pz9-prNwNvzHpw#^WvWl*O++_ZDa!dT* zmg4`On&bbKTOwP*bpsU7ef5S#T;Lj66ffrpK2-HlxERuqwkx8IXGZnQ{ATC85cjpH zKJ6Z}czN)4(#O+&;OZgscQ6b7N31o`x2>KrXzMd}$9H#%K5ai7lCzVk7s_v^?>tEv z8Gr!6F`=DM^uudJzDbs=IvIZRv-PMrOn7VJT@zz5-a62_pk%uzGbdGdgZCB z(pA^ojdE!^_~D$uQ^(=STz9z?DgV{t@oRG;-nTXsz4!7df|@?pJ@S%inIEc9adg-* z?rRd)tVs2M5qDkZ$C;d+*29DOMU8y*FL6$tmy3~M0;pyr4%z-< z1~|P+=V}hu2a$LId%m_R(Axu=-}%-M0$_9OGJ5YV+R$4nV*9}5KE;R|0BsV3$vJNFykRm64XLdFmLgFP__nenOln$?&Ly`+oGa1#3hNxE@18 ze5XVD)*TUuF3D#BFvaFToX|9}#3hasw!#kr;|R7R3KyspDpVw`OOxD0Y*CwzCSGh9 zJ1Vw8aP~3%!~DnjNmzHp^~Qc_Ft5mk&y!7t`SW%66{ODv=?2a?e!N?o}oS%1_TIHd1fU=<@x}snJr$zFJ|=^40eGU z77JT7L(Yiz=!gVB^{lGjKn5$7B-1J|Tn*}(T3*67V@vHd;etu=GBp~qm_UQw-%*yX zWs}FUc{%6QB1bTU9aY)%?hbW1RCHgao78voKi70PsH)@5=Ko(rVn;Ap>A-CIFpgFJ zYrEmq27PPoOS?6{s7Yk*RTaE+J_0T!l@62eBcCCcOp{wAjqqlZj)jJ;^@b;eGy-$& zI(7z73aM+~g-iBJYll7*s+%3q3dY<5z=&sCT)z+daCAlqO_O!T#C!2 zHDu}s$Vafx@0vnKS5k&q^6LFN+*SeEgx=KrsiQ>K6K&y2UW_#wopz6#NhivY-){z} z9Bak{3luSW!yJ~~vgNHQ?bk+w)|!ZU_KI(ITdr+jPgXm>C4AyiH$YO)7%{ld8D#fv zXmahRa+KJFwz{vzdV;3UQj8)F;vMuM-*o@Q5lUq~MBZSDKP?B_&%lj6);r%2X1$FJ zq-Wh;z9N{%`=PG!9mTYNj-$}t{aCMt5F_px$EHvn^Gn5EsWMZz-aNt+D)-Pm-2)rU z+cQhcxsXuY!mjAejfqQaXR!)>zr!)ID5!G;SoMj#6 zj{3ys*zEi36{n-(Uns5#`hILVejFG-#5>HsyG$s*YAqZ0h0bkAnVY(Wt5>K4 zK5v55a*-o10q}_)2~#JQE*Q0|5?P(4E5PshUmi8gh<4?6AZ_iy``=4}^Y4%1U!DDr zDtG@8OAMOx)UHXnZYX0y@A?No->w*vk}6)uXCGr$WK4)gMo_A&6rp?w+%R1oGdO&m zoee=gQ4@I}{^-nXfqPxb<}-73?dizuceK-1ueeNmS=q{*W}f0kwRQDmwe9-7+2S0) z;jTPlv55G}=J48b;(1k7Qta|=xyR4{wT2oXcTRJSvC-6`;b>a7ZA5*KwmTzrfG5#9 z2uRc9e3Rq6h9OiBR0+c7#Hg?lQK@aTsnwVXvyoBJscF((9_$Dl5`=CYsEosIbyFdR z#xhl}l<0A)-!T_fk(aQP+C6<`w!XsuM*S9iv)hN;G{1vV>#Ana=0T3}3d zwoCXfarM3KvR2W4jV5djua(A5Xf(THytexipcfI#ayPdDSgP^%34kWyJ_=~oyi==u zH>g|qP+ra|7#zKb$QNJR$yXFQHO z^D`L?$IyJO28Jktl}{3PCJz~mTbuSU0~~8%oV^6n0See1owM0je^I1UxvI$DAT+oI z`B&jc@H}c9Rxwc|+RtHnKO{pjm3d{ISz=8fb%zy)S;CPkq0=HwkO&%1SINU!?fQ>@ zM&gb(fLD9bo8qEcHRxSQAen6hT0D`OehtNKcq0a#ZUwsEQ<~x)z+6;VqAkYd>?r*^ zuTw#dh`BLHsTDyPGL-*EL-7BXOAF(F(`*^X4X00|d%i-@&jqf5P{|x$`sW$9A2bDU zH*rJa;&3#7Z=Vx-Z{k^(K7_9Y%-Mf^eK}m{Xt(+`t3`wJ=#F`EROEls=&Z$b z8$+%$mgdXd!IJ%=plj6a*36I0r=d(Ou?_!9UiH>;&?Z!a?fq0Rw>dYf^r6cPAivSN z`Nk=MmX=q<*JflSp_HG$`q0ULC@(TA4=P#e%Wqyt3W?!@G;T}Grk+>?e+GUN9ubRa zZZ4__wthl(g5csHstC@rOJ)X*my^g0<~=3Ggn2j^>IXm0N6e;@7zO`?kodrVs4Bvw zFuoe-H!D_$c{myB2RTlLnngFh6zT_c7#T5*Y5rBT7y2+WLZ5!T75)h&kr*|Letav` z4|N;t91lF-a5n4DwwgG12~InxhZLz zQ0CO|KQ&4HGodiIwzPKpyB2NDn{YXhMhU;V#Y8E1A+@1c|H63aY-ntXQmn8Uttvw- zQwO|^_IcPNj|M}}l1>_zlj6J8+6zg4O+uXbc=Zv?HS~zMd73-9d3=3IFq&iTvV98R z{V-^KeYtx|I03B&=H7n4-MpUEpRC^4Ke)FSfA|M%_g&R1eWaeKmG%1N&bpi3o?JaI zuO>`ccD#fev3tK8xChXm)22+=u~FZgX$SY;8Qr&|#S_Fu`M$wp)O|FK#%+CE9Ydldxl)>eWP#vkqOPhd4uo;b+Daper>|fs8{qZWar$daVn>(F+ zX6BQ(lRHpl70(D;Z^6sDyEf$N>-vwIzWVKT5?29@p>AXt6lFI3Za*xl@GR?r7K%n9 z=!7K&rNwY7n1EoRUX-h@+r>@q2bb-F_`ALr^>4ITF$3mk;D{Y<l*KxS=bx^p1bYY5tZHh5B8% zmO!+y17G<(0EN^p;Y;BtCE2_vVkM^pA1dn%Ohu!jbhCO%hfY~YM7Fiuk}jQjbZaIr zVk^5!ihY)YCSn#kV|h;NMpER%ckxVz{bkS_9R+zjp#CRKF!=^o?|)?ax!(to!%#EpjWVAHr#VFpk# z*&R5U#1Br0!iJHAAWp&Q;~qFRsqZ($_J+A%FlHuwiE_8HJ8&=|a!33+t$PBfTO;H0B zH^<#pTwiV`DoZ+C!%KDa#|W=m>qNAZHk1~MPK&s6!{!H-{}eAgK5`BhR2c`vYMSuN zT-Q%#%HZ=n1A0-tvmT>3L!Ve2%HjIm*4}jPKB;%ei#C3md($o(4J;R9JBH= z7>qn8kDi5m-3mDtwVDC(<2-|khSik`Rr%Cd3V`HmG5_i!y93zu^I9=HwX8*vuxxBzLsO`P4>`OfROrl%KX#Txv6ko)S%rG7njdd8bjIzBP|RvQ0` zsS<9d)HK>Y0Cd_auwv?o+i5+Gp3Gaog0L*8X;y&SnKiAFJV_!K`b-kjXoR$_{}u1I zejrPyC6sn-p4sVF_OVDySna)h3S&l(#G0RXAnUy$}~msJ?C)eGTjUv1wMbmK08G zZK5-S7iS`u&}ix?`!%~}nlOU3a?Gnyj>>h$c`EmgMe*(vqer!Qk@VDbi2RgKEcT0L z(-M*O@9A+|>+M?#)m^g(e4jtZg3LZXFT8~LOsk6(jblr;f>XEe;&Vb<_(WP4TU4L8 z@gTP@))D(bMG;}*;^q9ccik|Zx{{d5zR+RdbMe)on>K2hHEaq51a+d}%{MGN`=d>D z6OZU$jYm(nj+?{O#?z;0AJ5<(Pd1Am>Y9BDksPB^V7T_cbZV|;ApcJx;iiqvtZQ-p zQERo6{gN~Bh*jDben=j_%*fp-*a}Um4>qXdd5E-8A8t8d**|3+$#{q2LXbzENjH@275U$FvhYSl(q=4dcQIMK0^62Ax{$`4uD0)F9=o5yuQsa~qP(QXHAg>63H8 z3VNrl4UZy@JgMX4=+JYO-MBPH#c9RfW<5v7;ly>IZT2|Wbq6yLoj_U&)K}E+&wo^J z!4r@>lQfc{h6?Z%;mzvy9Q1+e&bV|(@J<{ zW7km>HMO9<80+?!eI)*iPClLKKI9kieL-ij;o&~b?8MTWvP{u+xx?Z5mFU7hYshFa zCk~Oh+)I*Zskz-`_VrrN^B8Lb)lXv& zrds|R{2ZRJDQ~}}ynEa2(`~i{<(9{-4vHdJ!j{@|im$6oT+8v>_|)z&E3hME;(F$y zsd!9*l0L!JYHvt1nNTu`J?@AFBvsIr(zGy@e(}w6L*`@K$fLe!(sCMRZjQ zMbA()?a0ZbzLrFSLaHPxNy?-u-qFodsm)@o$$Wg@YuNPnims@cYWBU%Yh6B~F5)wQ zo-RN8cmP-;(}n`5+7bEvSUMdyVxO9|R>W3lG3oV`B3-839}>OrBQqI4QF4A$5gg77 z8$2R3QoYr>5Zm%5)t?=NX7%M1GB*e{wGhxr)vLRU7@iUy?w*KtnaTqrbta6=bXSm> z*`Ws8rv|p85Tq_$2tbk6-s|^IZN~zB{Bp@&yfMe(H7UUBG)~J-xicr?H>vmTI&JGz zdo;)3wXa|AHs1hXyqFX4TNd#29=-w=-zX9Dn&+mCXh}G5z?1pC1`W@_O_7VcI1&{_ zD}J@fl47%UBEnc>f|y$&tMF9~B&93%Tmp?DCW!caWB$eup&K@rmjfWPrQ7p_a?G3%?> z)IRBj#J~w);6aG6Dg~>L?opJTyUzudSLL+K#%hX<5Gc84Hgo-*lXEFg?U_{{Zsr-S+yBJ+zPdj)ulLu)BeX%TbZGHzI5X zbTG#eExoAF@tlx)FdSKk?@HVS@Yo={}lt zfeiPV`##zjAkMNsaDg=#lik{Cw|Cx=hn z)Q!UGfn`gYd@%Q%&Gkey)?xU9xSe1EliiVKa{A&2iez9%*g!AZ44ikV+-&|V%L`iD zE^6FY#fFN>wJmVOW)ib5#z`vp0_s;({Mz$5x|_g!&c9 z%@(K|Lq+PdbxEdvx+!Dg@m=e`klG3s;>u1n9z$4bn_^&IyrY)WKEDZ>@!zRb6 zqx@9Y4Yqv=0D}WD&V(EerbF#ZV6l*Zm{dVbF`w`nse;^kpiXfB5QUT)BHxjcQMAyd zGerB{wlu(%lL4eLVx>cAP=gvMg_{OgU}RMYO_b71b~2=f{b09f00>el4UzQl@knO) zVOxwqVE{s4swQ;xe~4WN=P&MiXeHLgs&QXT!d}f&rDiRl@}#Rs8>H5b7VR)LNU6ZT z8Vu5_n)^O*gCPrd{w%QUg@dsL2uKf`Qlg_Lw0)C|e}{%?gG@XcXiAkue(43ndcq;v zau5-O&nQ+7SbO*si`j#S=3q&d5L`x^O1bg|1NhCP*lrN%htDKbCGUKpfXnlY!>|=E zA&8h>rrpVX&sqr#A`jo(9zOwzoWy&{hXsk`+ESFRV|9NC;LT?$=*n2oSp7q;I;Agk zFI5$IW+X40;fEJkK(FhA%%qO*E$xHM^Q1AH z1N=J9%*-7^)Zj;7t~#bSJ}LC~^izq_04wxQ(c$kSE&AGFyC(?H{RuH4={p8!f0)Z# z`+32Hw4ndsU%VpsY+k-(sFv)623j%_?_%gVVtnfE{>J0}+ddG}>*G>msW}IevgFc8 zk&zcM5yE!1Clc2sC2)7}EvD)t-bdf$SN3U#*tLH1t1#KIx2OuS0(D7}q2f;86|Lgt zX>rHrPx2i1&RwZxj;;dI8Dd%S{)tQyXPf#7<44M04@i=1`vWysOB{J}pH8KARPpCe zeaabOn{nUd^&ra~-2`gVLv-T(wHYn`vJ@RD@BdCH;xrbnKL6cBsL1yIy9pEadnYl$ z)Lv-`34xroaLKuM1EIXe>f3|S$G@CuJ~lI@9YA)t^Z#SU<^RgsRJ$sbuwe`;hyXG! z-}qqv`OIgtQ7Z4Ff=x0SIIuPvM)&SZTK#y);85BuHXXZTNjcy1a552tz9SLzunXPj z*~{bIOCRhFngU$$r~iy=^RUJrz1{NV_FgnTo~*3w{xdizQDk&$;N!31n$b6bBcu8D z`n#v ztff#3Aggqs0t8k=RNFuS_@Zn^HQ1|dkO00>HnSS8)j%FlW#8rCYHZDAMCCgwKw`CM zHIS+j27NiXI$d*_UKyDRfTdMi16VD@mr+O4lF(eHs2oLK&aPh3T+RUi3^FQB>!ND` zZG|?{>hM}rn#+93oK%3+YSn6>K&3AFa(FeD<}yYl$BV|OMwZ4MxO(;*-3ed|@C-*c z6QJRwVWQy=k@mHZt^;Il77USXHnQ)qvDNSg2jMoHmuCUb2q3!F6F`r~9Wsa)*slRw z4desKTTZHu*IY(be(N%l_$ZoOWh%~S4w;rtB&)cFVlxv7-~PTVU%@nbyb=YhYmDX+$rGaq9nEde#w%w&HX#2ryd*7R}Ro{(5m zh9m)R)U0??G3*^kbIjXtyC$h|{o|Q>%f5d_kE1a%*?NG~T8;<|O!fbWdHFw`30&P= z+|6wN**ckUz!&+e-T4s98;CGsc2~IUJRvFEB~4b@roeCqA7jib;%?W1L&Gy!OUw2C zkE+lv;L24>ObSb6PnT=JKQ?BVumY;}y_=ku1%nQa#PXOs22W3#FTWQHV`C;09FkKH z)>d!G>4z$@Va|%-_H~`SZ3UH@K6>|WR&N(+aBlhUL`wY)v&sdl-M61^!pDWG@IyS# z!)1u7ml~5cAc2f2_<*H(>0d%6Tm*O2YP>3C7$t6CF&k#8J+gO_z)zL_)b0S)3P~Vb zB_y?bxvHfkkiHNlYpFvvkD#i)`a@$$!k}^?Oy#+}vvSp)+Pz9OLlUT0$d$PyT_!0B zm}#_6FnFkhd)k+ZYFkNPUEwC#iWL{Lux<}Go8B%Vwx^)l~Ita03e;N zl|z-}FXW&BT#Qt5~~9Tq~CPPzE@c;m&gj> zSM|{)EFbsLq^&W{Xo=Jq0H7N96%5sTiSfi*Mq=o2h(1v<)%#hp23h6cq&brCi}Q6? z`X#W0oyviT&@x5-gyW=HzVL`UdaHQL8ws~e#Y{pzpce}msuSl?MBan2aPefkyAnsv z9?(C?nCVcW(AwYSrb>n`A-yZcImu!x_afL_VHqUK~L@$_}Pd1*Bp1hUB^!N z`!xhO(i-N5Bg8v<&u1g#lhBkpB>`=+1$}ZE=0tL|IbQUi$`BaMf8$C+ z!YiabN~P1Qq|;R?<>-45?G5EvC=owRZi12u~iqR z>0s4Q)3vj0O4GZKshi+bHkeg6l&G&I(Oo!U{bX>T@29(f!1A!e@<>JCQw<}k8_Xdf z;^4>fpuqBw|8K}N6asAt{X+71bu=6eG#o9oi0bj$%PgJQgYvwwiM%n9*#njnXZ@3; z^uqkAK|y7cIZYF#ssptaACbvb9~cF6T1E{uiAc*#TtsNvWXT6t`iC=0Je|rC;OuL(gE$ zFa`bUYrbs=(>7s5fY4Pv{l!SmK^!%XWp8g3u844n{)S6dwLEy!9`}7HQXf;}kEhP% z!=Z2A@Hj)kq&xbd>3?%6?=$K}wWXpv%253rl^I8ZWsy;R<60W3QeSwU7LC3(J-nYVn`+iJ{fyRQ5Pw#1((g5)oYG3=@_?D{eFIJ{Qcy18*J+!$8QT=gS(MI(5CkySYh z{yjd5=JDBa`382j5>Lsm{j=k-jqEPYj0&zUQ5T04>l0Z`DQZnADNQK{O|JeGn<^0X z78}Nli^;ZGT%GCG2ew(*22=X_JLma$bARk97u$r(9VxPU<1C)Br~lNaz04SUHU@QR zfA7+sG+;PmO5bCe6wvSzwH*pwxxvttqi#u8v|^+vGLZfCU~F7wosEd7fSZf-p3U~y zIhxP$*t>pM+CTA-WCj;n3e#-nGv#o|$XDKWLF>4l^s{NG$KrEs5u%5Ws`x^RXktF5 zn~y5knaqHUQu@LhDwXSVA5!^;-2I<#G729Vhkw3BDSa@LxXrWRs!QUkBjBnpAkl%t zq%pt5v8uUwcx zrIN3t(+Hx|u+sq0Y5=4)0JwlZv_BPMa0-}I{dfx>-IDefN1~Nru?xNsZ2vTAe{>W1 zeYQ4IQ4*~rgV3G3A|Qbu0k_bmlY7B{xTc)})6md^e5@Qk;dD z*=H*T_&5vUl8anuu>%MzLIQj#kppQfLda|a3$tXXI<~QSFD{P!;L((MFG76huKiee z1#IDz#-a&YD>n4(Sn!!V7co)<1vFu`hN923RtV_X!QeAJiniCXlVNG82U@D}HKl|G zGCY!0tsUrBjYrOwI8K&h$FuSKv+;+sC@1mlBnG1l*iD7n<7*?Ll30j%It=Dsjie4; znyj038X}vm(c2!i#T#`R=9{eu4qYC#_6xVZ*^$n#Q>PdMNyvjk#*%Giv!;a!;XEHa zx1@BN?`uFa!=2LHccB5x-XOxaC}az#bD7vdk{}c+FaztIu9L?(X?zt^8&nfhxX~c zs*8?}Qe#tkQxlAiPDxG8dJX265Cq{<-jB^MX?I!j#ULiKb6(n&IFi-_gBN+YSxRT)7)jyW0H)B#oYkQXK_% zKz!^+w3_+XaL##dh+f~LpHjqrzo7hTKlNgV)I;ytu3y`y`a92mUQUUctuN=^`n;T* ztvWODd6_U@wWrt6mS#+M);hP*RUQjA6P+eQRVw{ECif(EU~Jwxbrbt0oX1xJAItCH zpk{RT;`}`BJHMIJxWt^S3SqKnZoDW_jHt6!$CCZ~;KS#KB>zc)2BnUK3$;tLmsDT7 zf}7TMqRB?&+4w~%OPsTk=9K#%>p%S6JcLQ|wi!fYXhxF7-z=&hpT>fc3Jga5U;n@z zTN5P2*(91keO(at!LFQk6}QNTrn}{@XPXP1?VK_@rXV}4 zfPitJf{HR7!-4&!iqc`>sa+gNS$C|@ImBV3pvFkJ6lM==z9`a+==M1U_mcs6N5`c3CO#@41cYm+LG6%MlkqG|52>t#DzkF1l zfe6CmAz4(E8a!`?f+?yeeZhjcBXPlqp=Qm&A)YJN0>LZRjDm+uu@iygHSYwT^X@Uo z0ME%VD1Mr03LX=tad=l=n(3fimXpKK{odQB34)JYZvKz{FZva$>p#2#7AGnR{J(I- z2VVU~CDaHUvZPTZK`a;K%70#qS{mE0N@yqZ9oV`uf_iyFybt&Y-ncSK1c7dSAK=+# zDER3=uvkmzDJ8Y02@FJV4TA9V+Ex6?vf61)F>s*SoK=RYnW9gJC4v<7BQuO-!8s>! zIc4EFC%tV_p*UqT@gI1-yq0LqmT1vzQdw=OLJh0xdR}E6H=|Bl&T$n8SP1$q_}#ZZZ85mbH^|QWmjPmO5O81>DdQ`km+MZa=m$IhYSQgt@*4tPP z+xvoN_44Nd$Tcr%_S^NT?tRHCZ_#>f?Mlzp!U0AUH!pOFJFDJL{#1t#Sj#x}o^IIO z?ohe9V2T2$iVA^hL%Un&13_sO@!o2Tzsr4o=GYA8IC*h_9?VbmvF<9#?kZ3Z(Oo(I z9ksoyqvjSzQoA*j^WyZFg4nP^2)fwT&n~oK1&o*+N%Su>ep?*kTf5h^M)oGo6>&}# zSWXprCyH`T6=4J3OCdvE=QM+PnuB>B`FxB6M1=WqD8%{4-&tqu(Pr$;vNt6;+ax%( zwpKdQRw37HDTVJ3vecFf~~KHMU1D1IfF$jk~v?qx!Ws+ao{4V=3|dD1YugBX{n8 z+~3xRdqnTmDf-K`Q}htKqubo{&9Ao1(QcXHBm19iJ8(MzV*W282JpNd ze8KTHnyX1OK;9Oe?SGWe3kX0guj9R6(vVUxa6eqqh*0`pti5G)9Zj<}cErqNv1Fme z%*>1yGcz-z#TGNO#mvl17E2a0Gh>dQd{2`5CM#>@-u#-Hnq4(L)4k5j>FL^A=Ust- zv1heoQPxiPbT4Cx%luX|)JFF-_2S*Aav(<8!bNclJq$%b@k`v++Hr3HMtkHpR|>^5 zTisf2p;`y`LY0?xf9^|^iw?M!TfXTmw?OVo296jhdyc+4K3bVeM+48$;A4EWVz(*= z8|Uhg`jG{3|5J#t``f(}7{`0c)(gzBemeEgVfcc6BglhoMlcum2>}8E=B=W^btOL` zSejK~nFgqEbEMmRUgUh#Dgxcd;kTe2Z!#N{iXHRQ^U&9x+E?P4l)7it> zyyDrsF}z*`J`Z@l4~>qCsk`Fm4TO!3{FcQ0mW=$CX}->n!YOb!h-ha+p)js%{ovd? z4874@GBsdGXgmT=zv?XsSl+*+XT!~|VygbA(@X$fVB=qbaY&(GSAclyq;3r_I z+v2H5^-+)b)C8{8tHpX*LbOr&}Dp>-#bZ5UY>JL!gB);=h(;k zmpud*VuH#JAywqTRpcR5VxW>79iimBUWv}nM;n@BiaULH&d;akHa_1^KmY4m$b8$5 z04-o$UOZ4<`F~JcVFVQ7G%)&C`!0b|9$2FL!_D`{ek)i}QKD@a08W@pY`~sW{B%H) z=8s@m*_#_)JX>orOT!K3^Tk_Nhnw%FV_GOt96g6=2cC@wG^SeXMoWU)s5lQqkw_Dh zckMokuOKn)^B(!UkcO#JY`hAZY1XNn;7uLgHF!C$-O%o6-k6qWh!nJxdaO(>0rTUE+-4J=(=*F0(S{-Ns?b)A)<|0NvJTK2zDo=XfF1;hOu`k#$ox%&^ z=`ti>m-;OeLv;^ZF;(}qrr<^>*h?*6S9w)z=}yloJ#RJ7e`oV$`BN;{7c%Gyg)G&B zqK6o?5ZrA8W&jyPXYP27TaZTtSvl}^9NPS*HOU0|fgKRyS6#m_JD0?Cq~JpX4*gVuI#CXTfB=61Fw&i_!qpJz!om$jh!A3mzp;5`al zuQRWo9DM}o@&Y*qX+fa^Uyn2nyY;-Se*`N?CIwwIURdJ_osd+QeWzOSd&eP7n?~h( za_X7uz2x^r@FsUp#W>{J?;hQX=?&2P#6xt8d>M}0_s9&{-Ko0hRu_@`7ID^d%A~IJtJtLrZK+d%ydvtP!Xy!6N$HR1+sAr8C(h5< z%m7-mE%yp@1xU=q3p`2e6(uoL6JtS6hq%OWT9f<+55r#0{>9>&eRL%oSh%r4WXaD zKP1V)%f%x`9KjAYmj3AJf2;mPYgRTE4sJp~k;*~QRJd@xR4_x71`B;o+TyZV82Jsi z7tJ3l(DmJB^Glb9O$*u?_!w(n>(47PrKewFPrrU%At<@$q3A9{54-l&i#@FfJ)u+c zjEMA&E0y{#>w9)lV#{SgJj_kk9GFMVD>#60Gy!yEHZ&%ik4eYsf?Rz3x)-#Lt9M@c zEm`YSjX2It${Ot3#&lX2Hx;imd6Ugu*4{m*Q+jV+_#7Irf5yF6M}d6|P8HSpzYfhC z9}TA&Eof)L6oV)dfIu&Q<6jzSwut6*U97xelB@e3G;`m8W!yf%CPGW@Jl0-FWNMJS z!Bqr4p8^N?(*Z&g(O*JXmIkKYY!D!#Qh48k;QlpTIzyF70qfL_MTs2mz=Xo)mL~^{ z!8}N?4Dd7_TEM8YoB_2!03T1 z70}9FHA&VKBTB)%bXa=)#3RVE>~hpwHHPT;$epUT9B~lKn#DyR$GL!SHFMo0F%Wv~ zm?0Xe$rv!%<+6kL6=p))#jVcJq_t)VFREu`W8 zwip_nTlvZ22#zFq0PMnvrI$n9~Q1VGD(CsJu|YFuP7y zne{cT9?Miv`Z_4;mk(be(F$NIv9;`2EcA{67a>fq=evtkS4oi2>l)L3dWS3vvL4N5 z@2LDW?H;{G>{Di<$>}RASQLhQcF$s3KLCZxUD@90Hc@_T<=1HWy;br`Bx!>Ud?FDk+Lp~R5Xd_v2RFKPEcm>1a3q%@TW!TOUe(VS_21U zEUv}k9efyBtJbfB55VH7*chvpuM-be;=q3$1e!It6p*T?!VR_IfL1dG@wV5Pu~D}g zRY*RQTq6IG03R?!$Q|ZWdLEQAu_@pK6EX}LVCbR?i=+itJ!gMB$_TKSG!|f4?7ZD& z4H(I(<^cr_3SlW)u3Z`>ic>e~jps4Md_|XSdTj@!N>{)scZq)>PN+%(XdRq>&$I50 zu8uP=>MB<}j5%g=$!?yLfFQFM*?dda9Pg?y_BJA8&O&KMM_88+P_|bzehvQoZrCfc zE`Q-H7sQIFGe?wu$51ir>#>uuomnj+K%;7r;(ND%clo&KUxOi8sP5(ReIsp;5N-&5 zD_$i^uLHqajCH-~Z6FhBJrUj=%lHcl?T|1N@E-{a zcDR^~-D43!m$!})VxU#3?;nJgA%R3;e|Vk0-7I145hc&^gqbk@k{uDsQpr<+e?d;{ z(G(Z5!-olWX;9A>F8MQ@MfKDW-md;Tdag{|oH#%o!$&Bq+>$__D{Y#Bu))?#sr?)V zRWhpZMM>0G@M|+moSDiVHf%SE7{xNuRHU!HE^?3)XTFdBafer&*?Q!4=IdvwwDUyK zq{rCd*Pj@NEPFH#avEoPHq~DrE~6f>G>*Q0ycPm-SiGixXs9;p2+BBF6)Vm6&&ODD zc10JaLBw{~Bwr4~-0r;GzL7p4z0;nmNGjbhF9k@MfK*WD@AkPW%eSYPHT-BMJxPo< zVR28HiY2%1>d z@_(n`CE^F7?M?-6Sav#xvu1blU5)V^{?JP@c~ziD#n@UQatF47uGJ8Qp`3S0P6oDGWz9EcBkQWq?01KjEr%B}~Ot z9J%q4yYiZx7Zye^NL{5da0jBWI-=-Z#$CTQFatQaspQ0wBVH;9`?A!j2SQ^=Jh*tr zc<9uroHZ3Q2#M<59&6OSsQd2~yLp@$G#A>+P;oAg6qu{o4<_rQJjw;x8u}4&VtWXT zrQ0WD!Rnf!R(=cRu@H${Av=euufoNz21S`;nOX=qdLgG^>g9rbI};qbgmG@c?s)(H zQUTZr#zf5pe!D-ll=^eF;1BJEyyG`LwuKbQuWea*&LL!3R$40D-X>a|p1NUa_2$UuOLaABf=684E#1&jpiNa7DnBmV+wH zlS3d28=y3lg)dkr*QY^Jku;H$Aoq=t0(G|E&mf*Hkm`z7^l)M$d7)i@46~rfP5)u5 zC`b~+b#7TWuY-q{$bj<4`CTn=E|h%h`qp6Wb8NOUp^t}nacp{_e_ z7LN(YZM;t|<8rzz@;JP}9 z1Slj6%eqUyZUxxmWognqJ`o9$U74fa<39+JUSc1{y)&W%MEe2<&^MAv#!sHnW0W zUFbLzd&05b2zn6cI8=H{vEM*?Qnc-h{h67cNc^i?wvs?~(|U6NG8>^z5SbahIUqm_ z4njM%SMRS+8bUk0SMRTn8bUj*HwHj{*>45W!4}jFlG=e}hki8#|ADA~!`GqGqs9CL zPr#4Y@C&&2XiWTT)pCDQ@4k>aAg6^X=Rd4$|MD8*O zDdP48+13K?4jVylGWO5vbOzgJU?*Sfg7@JAy-v!|ZotgClSDFE!?WwHfebDL(vL=n z1}8kp7d<;PYh}uZwa(K?$i-7e$8_cYpnMub{-WGwA^YY%Xx6#4p#Nf;&;B|1UK@I4 zLGbBu4gOyz4yx8Mta5{M*c?hUm{cVZ>UBTJ* zgoD0jxRO`IJR~trLGn#4`LatLlrl)zjIeO6 zuX&c+?XVe^t2bUPiLzVvsuqc9^7IN;sds?63GeMG#;F zhRcH}F{Ojwron!-|-cVX0cF_WunxJMN0L7kPYP2#Nn=grxPVxTk#5OY=$&S)ztVV)hy*# zF4u=r*PQuc$n7eFME+S3AB+}3?YnF=9(IA&w@K}vSQ`~olTCeIGxe}~*1TTJa< z%y!-s)|SZSF8uZ6ch&(E2{X=sn*rg0Cc5HC%CZHcFnTxGhV4&i>@hLx96J28QCBcW z1o>lI`kN=Rw%xu1eFV$tEJhPKRYo)FIi?;qdKA^;w&ts8b`_W)-YhO za~{4Umy1>vZVhi74nKyQoj3AD@A*FXv$!s56xNreaFF5^<=_eLpqQYso*h*6o|h%J z5)mj%1to~E`Og_Vzx|OxVD}k!UV5{j3D;@+e82w>6&Uv6OCn9+;FrSvpDpG3KS>^J zfVzeM2RX@dvyzb@@aNn+M~IaXq)#GH#ueX6-Oe)T_ri$oFl$|rn;y!^48HTiC?)ut z9-GgTm%Rh#Ge?UTmXccsN6UzsK{7`BoEw3q+cs*>VWhKa+iOrpaB21K$(eMDv4!dZ zAMDSO!${zAB)^wN$7~FGK3*S3?~llZj)@>W3%_4ew+bw67w#|HD(=ZFP?Zm4k?g7- zMqt%Y9psT%r5z(Zr(l;6gBc|q;Q{P`4c17k@45_EAwBH|*TqzJmRmpl-Ntt&zi&+R zcp-FPMzX7UIDuUvT&>b<2<_9tcQp5$*0@V2HM3l8fLuloYL#{*1w0bC>tNEWdejCy z0y+pHQ%X7pdR_q?e32<-9rHb}&>bL=DWx3~J+I&$#E~iG9cw+W@Es_TkA*kc@EyZW zx}mO@7*y2^S6zS@*UKcTYL=@mP@ttkRn2tO1p>4dsH)kny1;-|rOL)?&npPeYG<>e z2QJtp#g+NvhU&fzLWf>Y!MYcBQZw_F?_c1#%Em^|D_BR$qptOCQg}?`CyINR3n!z; zbqw+1?m*%@Vl5v9dG$5S0AyxrMl!dy5QJy`dVNjlAL zAUy-W9P=h%$$~J>dXZlypc)oF%IM-^3`kt2b>Lfu#ceQqz*G>6c~0-O`#KSv#&0k` zOKl28-DQumKO+7GcjZ1Jb9b73>c0QS^kMy4Mx!}!6pO(F022SLWw-y-!Q0x|>iyUG zUsc(d3X|Kr{!21we>%$tLG;4D)K4|K}L`@3{6%U-zmrZE&)Gpfz!#?qXQ@9u-)R4ibSHvix zqdiIJ6HD6PRGI3*hWiNn11kbB5OWP-g#^lzpr8^pz*VA~=JPuo*YseIV&O5+W+n)aign>KJ*#}1E( zNKaomP}k?T;BV_@67C>3!=B8EI&ya0J1v}t@St~@;0JJ47f18q(cg&?*SW6xBykIW z(_Fz)o;cxA1!`K~W2hUu@wQ~4_gG#~fu?Q@fWA(mD5vQM>_?@E_CWAdL`5x3nBL?O= zaz-?ptF+b_gsEvnD`gjqKl&Fa!Ol&kzEGCy8WJC8 zHVyD3AQaq5S7cRCTMl*CRV4|L?`QcU(+;g6Ll(v;Yp%fBkvTLj@V#9yPu-w{{<56; z4bW=SJX|Y>txn{|43>)=fs?hCiyVNRH6G%{iN6h>_{IwPT_c~$_9Nv=9MbvtO7>2O zbGM?7yhEEKT}MR`*9Hf;V_WUX=TYEXuTYS05{OH`aQT(;8b^1e0n50SY#xFDv}SUNNLxIUPDu&v6v4}J4Px<(}p}4Z~0AML#ZBm1;a%7)k0S!%#2DD zrIMUc-*8^0eJgu~^I?L{bNUTPYD%V;fgBR_702+$7u9+A6VEWicp^ldu&=F?*PhzS z_2{zD`x*ffL#K*FmpBPV&*|w#@^ZzGZmf_` zWy?=l6=Rzt8b1``_)_#Aw-%^i#mtuE*y?B&I%wFfg+gJRyCZQS-qOTpP=ZpT%ZYT0)E8ex7#PFR6*GbQ{W ztM{unc_8yJP4O@8MiWu0hQ5!EXc3Hp_%q zy*MdYyC0#?qmE;@(2HdI7dTJ#*{jlj#uSyiA7>d0f^2QMGYoFb;5fw;3E(fc3De?m z7rX3ZGYNuRHTE)-xC&WKFf#^%>RbPW5;#j-Om%xRlJe&?;Ko|UuI$v=vNFxsJ-b>u z%Y4dvmet@fkj83A<}t#g1T=Z_uo|Q^46QMvDL^&BvVa-DX{u$zK%)cnw0LIpr8SMR z9U##GMr7G?3}RLjtQn~)0YzgHy);Gl%3kkVlEOAG8oys0CJ{|lwhntG1kchJW85(H zrTpuM7MFhw^on^BV%eS)UAN4VX!1|7`RGDMYt~=Ng_A7$D872xWx%UvrsS&ZtYNTN zG@3DsWwvLoe{{gdh}8SYhodba%V|e1`qYqBC2}}$zFv7?+sf8|lMUZhJ!m$zDvKlA zY1u!EKQwttoM>Y2EcD&x&d{Y~(0wQgl~q}Mxj*?|%BuhBQnpKY%NqipTQfj5BE|pK zbL;<+jmXr|z{=Uh@t;0xG04}{B-?iZ*)w*krQtXa8Ay^8!hf&-~*as&AKIhy2;u-OcGK9$QBHe@=LiBE+V% zrgCC}%#@tmH*t`&&?Y%+IbXN%P_vXLIU6~lw(wB0m?t^wIYYPb(6Ry!;H{^A7uEa7 zI)|h)H*gMbS)*pf9Yk4ArEGN&a~-BT**bNB9@749oymmDxMk(I44W!C&|b~7>+z6x z9!h6!;@k|Z7j-62XRhTW>|G(}Ql3m(&AjYcA?8v`cQSG6f-*}vnqV^=c@5f<_jqlb4Qo z^adXVq5YP9;3R=)A$dKfE8r+19RYQV8gHbj)Zw!`Zv2>@j6S^#9xn^rmr$12n2FzU zXbs$>rTw-Mj!k-LE_uB-PCS~CvUA@QLTaZQ5vmR%xzT}cSB4tj;qfh79D~&3R;k0; zQsU;I$i2au=r8oW_Qzl7uK~or7+najzXw~k2#GwhQ~Y$_{zJNZZ@CTB3OJwzaR30B z|6d05|79#M0jaeV&_lL;{2FD&yajkh6B0hD^)cknGxstl@ zLHk}uYQ3kQU0fZQt{sjpbXpuz%Ihm?ZI4F7@ zo2JD?Fj>iXx6yd7T`dsqN0J6jmp#(UcdOFeu-wJH;hLm}XcU~%EvOY-jUvNyOrYiCF~ISbq#PTA;K)KTm_yJ;`+L`Ffqwud9 zdg~vZkGr1^`&NYG)GeWK493BQNuKa|C?up+BlimBqtKGvm*_$uB&6px#KD?Tu?-1R zMDwP>h4@a0c~)W)tJqk`Ck#Tfs4c-W2qdI7F4WNLOhU8Cn1W$9(D6-GUxeI%F`|{k z^CrQCmF8f11V9icOz;cP+gON<0}REi`+>aA6W&{p>&fBiEK$6U_kGp7DUX zu>AjnLG5Vb(zBvx&`7A?N_`^qHQ$-Oucc zX&dfnyW`INvaDT9-<)Qs60N?e&kgu`CfIuSr%4975W8+)=BPfljimegZ8u%?{_4=s zr|T5Asd$v5;i>r3jfL^+m6wh7K!%{k;2;rR@ac_lHhP#eh$3Heu&Eq$ z!G40Yc{WiWs_3{`%FJ6KR=%B#9$%+O5amXphH3V9eqVHfy*U|879C8b{=wlG&@k_| zaIM?a>!(*D?GK(>X0c0!D=b+K`MArQf*Pqm3?u-;Dvv@Qu|`Sd!R-K8cQ+q36(qk8 z=HL{0Nhp#R|G<4^B~$n*1^e8G{jr`DY9qhaY?3!Agd8yMsiAJb)0W&D8GY0dD3Je) z&kEwH0^@9YRXUikeA~*udgVzC`jQgf&Sk}Qkeqa=`H>I;`Pq3smEVg}oe$S!|I;Z- z-n9rpkdI_N>bQA>x&LXZ{-xEbE%dVRS3h9c;{A0N{YN!=AKcdt!1klt&YY4t5A6?1 zcT&XYpS_H*$%KQ_M)u)>`{LJ;j8B1ox8zb&2i3RjF#!KJiR>@^Xy`l`P=ryvP=C9a z*~mWRZx^q9$t(bNvAqF&$h1DNi%sCGfL;7yWbzRw)GO^^Zw1eGW}}xv7)0UPtD-(E znlT{j8OeU+y7UVx6nd*1ut=)^6A%DP^c4gJwBkDe7qte&|2Yemh#Z6wH0nD*3$;en zzZOuou_XgK_4ly0L=VJYG&M}i-(Y(Z5O(mIKib7Ei9TT;_D(}r zIE6e7_tFKbD&ydSGsELh0-`G7q=P%KNZ7$0jeg#tIMRs? zfipFUK|;48lQe@nTK&`}-cyQNLmA0py}=fGF*Ft;LbKXyhQQN*1;U7!F$V3vG#(Kjk6g@bSDR8hjf(3mX76%bPQxQjx;`mi8 z8N9AR>?16;>Wc=-$QaHun$XzcC`ka1CW)Vz#50cu+Q=%-Gc57`t+6l>uGOAZaN=|V zZGd%UTsKjnclH^yvDwcz4B+9taDnWKxNc&glLu|2p7qAw z2WTAnIr}ZT{m3i6~*{Q%fE*h+J;Z2{~EMy z)hG19K!d6+<%IsPhoa5zN@j1m_f<0ci2V33pLQ_2)+0TIlH7h_l&TPgiu)h ztN8Xy8x)R&p1kZKweu!(Y*%*rl=P9V8Icb!YnI>4`=r2&rzO{Pu2*`%-Tk~XpWq`S z*zsxUaYw*~&i|eWWW5^xpG1HsX+&xHkEY+9*ER+3^m_#h=68daC`Ya0FFB90f!sx( z9`XT$@3Z2M5~H0LF4bul5Y914Yl_v}hHWV`K;>Tc&I^RObKyskQT)d?qhfA7 za~Hd`3k+xZq_uY4$LM2U$o1@a?qe4UnaAcCUS-E$ofnD6ABb(2No%jVkJ-l`1Z{^> z7sA!AJ2?^)$PV@e!&+> z@$DxrYBG=VBfN|0-7%dPBy;b~&Q_C~F4gU(ZF+*ui*M_9ZMem+tbd(0)$Jy2egU?X z&+Vr!ZZeP6GnK4TN-Z71kV=6p9HVJ zPHi?VKb>3mZOuF8^OxT5(xpRp{f$_CS%)vSy%r3wpFe~eZoK`n_Uq=b!;`FpTANh+ z7K)iMsY!&eHK@1Q%Xh<)aD`fHRr?x?m{F*Wgs`=!x8r9W2FGag)-XE6L zh0=hhNT1P&NaD*hygjsU@Yod%zX~Lw~15J;w zi4?%Rt+IQ!`)LZ!H-Ec-P`|16ZkQ4zT=jQQRujh=d@%`hv93IN*1J;(pifrw2Sz zUWil+M8OWcf!Yu5w0S}_mGmU*0c`cwN_7M9scLqy{3EfK=BQ(HL1DT9Yb!0xouJ>S zVsGGjT%x_I)%0Uv&z>Q+iifjKF*tHTp@7N39kDzin7$JMBVUQ#O4W$OAsm5jE=QkE zPzWl8E4ZG@c-$ilO2vS9Jpf(iT9R%6EJn!_#1@@pnL7bTKBzblU7Svp4Q2T~_iw{1 zN_RYR1tD;N?zO*e&F{JUSpHtsf8D|mTtGK!2GA{6(i0AB_;_)|VE{9gJuot|0SMU& zgw+NnkG26OZ^;K$1Hyg(!fi`>egfeKJR8)t_kUveyn^pdqo0BQgbLO4f5KJ(FUoWZ z_Y@;cAt3A@n0R#$B*rqZ^^=+Gzp0T6KpBCzW5T0KH-MI^2H2hqPP;NS{ZQC5;K@v< zZtq}8O9cAp0qjm2GSvbRu!X?;%Y3+gim_Y(>IG~=+U&C<||JQw_5D@*Z8;#0-2bi!m4S1KLU^D-PwB&+f{hPe1q$lZL zI4+evuup;Tb$)Bj6xrJ+dCNL+*qgYkPelRVD?O5-O}+R3kkS~|{MHA;3IHsvg8&5o zTQAH1OvV2%L2}^ha;J}E!fspi#m76Wc%>FfcIbwO_Wh2?-OZrZNK4vw`$jdz z1(WL+8A!0gR|}y~Q$s7`G(I$pX~^(jUy*0a*xw$5YHz_^G#{!UdBr}8ec$|rJ*l&& z)!%0wu8O$#q;ob!hK)TWoIopu$38bJoTrMvauBC1x+Tk&wYeief?!)&I5fxDi4hfW z>?(X0P2Na@{SL1pmO{lG{P4Jky*bf64o$zzHw~+@8_8Q&Im*1?eeREYq@kpe@WMRx zTG094o6jeO=757eh5|+Q{EBZDq%r(i2FtMx?wtr@@U3w&$*;aaJ=OxpXXxTu65`Je z=em8Up7vEa@`^!;3i?t!x#6Gec}CGhxxm`Y9sR^n`nqpqXmjXYL(Mr=7BpQbtede8 zl_3S!6cW4^9$x%}8aH03o6B;%>e{;3KfMiS6{R%a8p;{z&{TZNx1T_;IW?|XM`w8$ z^Sut;@-ws)S6#QM8^erQurg=)#-7x6X0b?=iV5ER{$v_;OJ6N2uYn4PNoK{@2kRQ0 zSF4r#EXRua6xqa{>Smd`HTvN08O9%=Ydhw^%P}7uu<*p)L)YhQTia*tpE7vevt9Z| zgI!ULfPYbUyo+HQ5B{j?_2&s&+b~JnYrYKlIVzC!^b@M}sx?~otFjQCe{RDwhIkfs_to0TUOs$WxDe5O!A8G|^hkOGV8)_d3OdIsG0RZ~BcC;6KIe+WE3S z1G6N;d@>X6eUuU(St!81O4 zNdOY&lD+GuT=N>>obR58RX~~uqu0{cA}G$qGTT}v^qXqz4SCS|hGba1!pY@524|YZ z2ZTnwFB}k~fujcY&-YLFtzo>-nRH_nNqyxuCa2SbBKum;h3d?7fL-;t^QYYvr!`7~ zPo?&gy&t`M{0b8H&CevaH!1%2oEpY!fhf+lJJwf)SM=Xf}Ahv z*Nrv$$CN$e3vUhmdEZv#On;EXEt6xXX$DG!G!FMt@kQ`FTLhE(vh`a)8&g8zC7xiL ztpt17%eV*o4Ko#ae&jqKhvD;jR|bEfWU6$bRID@C&z_K{$f2e_R=z#9j(Ghphl#{= zzmwCzJLyI%9>-%@LV_QGjW|g1?w&H>U(;T~sp715nGiP5DQ6kqPD~{5bJp zUP9|@sDxtiC%Ol1rocPO8a4=`jE?#MGR|xbM*Yx*#08oT{xzg^2sV!f_{l0<*=?Y} zOuz*UxN4fJSljhg^!INAeQ4kB+b6;`2I*!gwivLd@Ei`p7{!NXuxB$XV?emecw0hR zv>28jKg$H#al}PKr>2f`4TpJTsG-fkZDD4w$zy%u>C(cq`r6xN1ItZ%T;%%^&DVR4 zcEX-d&Es?XWbqi!d(jS$m>t9#p_Y){;N)7uNh(`&!-K3KvN*PqGaZDbiEud`z_DC+ z!o+^2a*Qm8dc9r8mHavLK53j}({pZ=rNG7}@bocD+bKycDBwM1`gt3}j*w#AWyx37 z&=7~%3mWR5IkNnlO?szYB_=p_Lq`-Lj|LYzPs0y`VP$7Sh8ovGL8{3%-sCuP<3OY0 zELjBeCkyg3c9^`(0l-NN{zik++yorg+5Buz65lp`OZ_8=*P8*A1vPOH9jS;swCttc zeGXXz|Le0G6oU|sOCb~Ap7G`IXgvL7Cnn9c;F4!iT)RLuBfY=2TyaAC9V|mTH(B$a zXt9SeWj2LlTJZXZrECfR^_j1Xk5G=Yk4Bp#DNVXVot~o6Eh<=>*nX{a@ILEBAQlUV zW)SS5NcVJLPM?hVI-OR?Ui}Zt#7`3D49Yu9U|M~7z0Dl%w4Nk8I|J|yB7>8xaZ@v1 z#Isf=4rEznzDU@?daXPGWYKG&=@5^h$M^0MLnQ~^^^jIygT~OyluA7Hp z2e!}!z7G&_op;KM`At9}DQ^Z7M&qT{rPaq!?}1lVDs;@o;(vIt*~ zL0jfG1u=Dmsdj~J$(Crk-i^hE)wDOLAHN&ID~{)8DT@=*Sl<#r6z|UD3)%|L7c7`; zYpkoK8}ojBJmWMhoTq$Do!M7JfnT;xuPBKheKq+*OerZMN$OGlZNuz0Wo`NZb{dHY z$RwH4!}*nALq(kaPh(Z=P59S`c3%?2a+Ibs?mYhV z6x~gL{F)h;SX}nu>`Jj4X>BQ*&kR$ODBn`-7)PtrQ3VCrt5_;S5F>j_UIWR~)TG}mA9GZuf8Q1rX z-Gt+3e61|X1+TtVNo%-OfsSU^DIiFw=FPs?2(--LoSB8ZfrE zol$w`k6-Ee~zWx-)IF3L=d4@6`Pf&6SI&En;ze*w5=z!(FthJ0u$`PSqM^6rG8bv*(ns=ccJ~t}lkkYFxMWBWBGj?mJp~`*_z` zqWmaHdMova37)jE4RDzgjd0Qe>!^7?)v=`ZHfiy5<$P2DE7LV+7nP*jp7cn=ui%&q z$?KY-XNLR|_Y$V&r-pNm9Dk8H-Fm{dbXTdawdKF7b`=#rZJ zR`_y=-E`}M+NXyl@h!OUTe;brHFP}mr1KyqCwIL=)+RI_s0ApClp(&lIr?hBp>TFA zWlh&)JZ{=KGGxULE;dOxl!YmeD%EN|yq+XVTCkuZEhkL1SMcjFaVCjTIl>i(UIq@r z$2m#qa6}&?n23BcIi{#cdy}|r07_!H4#`2CP#fe$OsNYCl1YnR6!gA7omYJ(5V+fbSuOW!@` zsF#OZ8N!r(6sA{S9nz*6uWA=K@7bne5E|mGS1NK48p5xul;ZN2F3OgoXxzyT+z&O3-j{0xld96bvN&>2)*h6!)RC~P=d z%+nI}iCQ-CtbF@#QHa)je4FCc9R1z_Yl79Iw7zPccEpc^@ogyc^p!q8P4As>->%nO zj7^C7f=Et5TV2Sy?Iago(H-YrBqGd&jNHiUR44WuaBoHmMfQ>(HF)5d9!8#2`Q5H4 zBM~@{A5JMy;zqKnq~o0utxxK9L+XA*F{0q54}N;fQ%RUp7Dag)LAQ_prt;T&;5thr ze^IikMGGJCIgjiryn?ZBb?lQk1ksVZerPR^EH&XfTQ5pknj=ei#b;HjZU27%?!E9M z?9_EQsN^m^HA+82fhIg|RGeA&~_XpuPT`*~I z`PBiJx)5ScKW|y=Vi^H3V!YL>8dLr9yI8%)Gt_H9-fWC&wTf7R7iSW@#qoU<&h*|F z9;dM;Ftun>y%(rfqT7YB-E@}8b)O+vh+nNup^F4{27xY0?8^>{$&&X}H(n-s-ei3r zp6z{Ym}Tid?{uYIpVli%5f0X-();w^llA*=PQU24C{WpK8g!mZst()MM#)ewUB369 z0(m2T>W&p(NNS2MT}qIrIArqJ307~$QqPooxu zu&WS-@&-u*Vc`jqVIZh!j_R-fcsXi}32MS%gq7hQgNfhXw=X z=DKBQd1_5xX@G#M*E-^drh%J?? zvD};jKj*-VWXhtUssD?>L?~^w7Mh2frZV7)=pdrhWc&&Za)tv6*Y+hfy#3Px+uRR$!$O2n2{n}@KU`0~>9L@F?IugwpT07&L{%$eFF4-Bus!5!EL~&bTo5Re zH=YBZ)xnAlaPxNHXIGOCkO3xtrdg#C=CANDyZzk4qi?6IFl0AuC62e-&>+W?K{Eg40ALX9Yn1w=~<*V!jf?=wB6R+34KA54C2tgAYyqVW^ zyl&z#lotg7XfE-E(XwoiIiP8zyp4hGu3dw&Gb(`0VkFA?;>Q_g_Zr8SI2xyIid%%Z z=ZjGh9D(MB4wE}ZfR_V;ARA3ht=99X3no2QU}&0fdt=TXmk&AeXrNqj$8`cc9o?)z z4LbIU4R0-auH_fnc-`M2>r?VP4FCxeKLu#x=0`Aw;yXz&AuUi7w=1w6?K_-f94#Za zJ3R0n1CB4=6gfYpT92TaCi9&h5>6|sNWiTyvm$ehm-6Q%2UiJ-|jPxkK=z7Q0DY{?Gap11j&T8`iWTg|uFxJ#*Dw~6k?VD4*qgabe zCB$!za=cVQ6BbO2uBGI}?xDCPnCq*9O!+8PBmB`b^?|*O9FhrN^#?IgsXFpQw zvz(ttARusgwtB~3RBSB8)Ddxq_n*s#7lgE2MsrNOQ;$7d0i?$t{7XwP^H{(fCE#6* zoh9&+d+#9v&3|WNQ_pJqKex&tR`svaFCoOv6_5RKZ(+{i-JAxo@bf0$XRe&%_%&$% zabGNb5X_P<-yZJ&hDZ#HIQX8)Vr zh_}wE%!-Q2c%x2bW!A~x6Ry2q!6_j8tOYufB-TtcC?fwNX^FRzEt0LRleYZL=`?{8 zmod`xdd?%s!Dqv>iQ7-&I>?sK{TzG2L;7q5OMx(`Mc7ZW`zb$CQ-$rc`Bs^L_xtUg z1MXs5sN&%1RM7Eu4o6Uxj$44r3-Ep*$zPWf{~1wp=U&^SmnSq%v^eV&N3h%LTNx1M z&t60dc}R$MYZeP^7Rej)Q{p5r5kWn+r26}0M>%ybL@ZT@g|*+pCUnpQ2Eu*_YagUJ za_9W}^Bct?x#9_VPCmNRBhUri!vRqqn~E;4+sIqPE1rc`D)1+1JXwCp$DPh%Zs>RS zmje{yku8XAzQrwd&qhY>U_88rAG7o*=NFH?k>R;nWz2%NSaRp&!ZLap3w9qrSfAx2 zC;OErxQi+iMCycro-fR8b$4u=zz2X~cL0R6-5eu8h{p=qKrW{%Dq>x;K8_Xnd;z_} z1q2q44MD-tA#~e>BH->USySe8H%9v-8UUCz-6Z928=;F{+_=M8PHR-*6aF>00t84r zV4@f(>eN^fFbIrh*K7|%Z0vT5zJNgbZ1g^V9{sv0p()J$jG2j8!W_fir$>|i7AQ4f zki^=m5`1;U!B`Pzoe)|Wps5|a4Kl?v1jPo{?350}yC#=T04vRzitW19b!=ULW?b(* zEVnmJv1sVs2i{G`?Ar*vt&Z$w=)DKR!r@-2uh59Shr5_F`$ZcYl~VlxzPuP)?sAf` z`bT4*^DbDdv!8haQ!Dv5F0WcILD}syzQ!d28h`5ZR+v({(^1~*tFDqeaF0befN&?c zmlsxPcj=TeG0y{6C7MITK+EF~3}%-iBay#^E~d&ULo*kGB+zsX&4^WosMqQirZx?lk?3k2@XXD^u zz`bl)w%meK_m<~b`(ZlcuZ4DDYWGV=?Wv~-M}hD4S7s5eID=1#U&eCn5)Hy-dU>Kj6J<|ptIOz%6%jGxlhr@6m{Vd2mEW5kc+5Mi&Tfv}7cX9Ik0=3b6( zqH~EQkr-7VCk;4<{N8BXZI5Y-9XC^SjPK~(w>~Of+EDKug%9YrUY1*LyoP$Z$sf7( zJ^CVMg)>EyTl*xegxFHi6|XGc*uJRRV zy}>zV%MSx=7SCJIR&BQ|Sa^*YHHl0W1jR69@~k*DonM@LCSp|4(|&O!%)==BV(UnP zm;O7M0ZKkIdI{)UZa|PTawa;2$ZT9ZF(Zj{y;>2Wi*l7!t6pl_HSoZrl zaSD*5M#K(AyfHMEk+7FH;Wcep0y}*x6_EKNa|87JrdcEvsX1>${v|Io1M2(+>W@|I zuQf}ZL2)VDM;U~t2yuL2f$kGHlmex6hB{bQPjzu;urSEB0fe7|e;Y-|0~h0gf+c2K z{w3TsY+a=O0V)+oSvXBs!cvs3KrQ0wIYb{8?$;G*fX_ ziEV1OuNr(b$0r3i?sC!cuW2xBBIzOWLwp!>2^EX{_Td?GM*=A;MAHaPR!sDJ=`q=B zU!Gvxxh4-7RvNXr(EyqVj3fx&09kG+*YPKESl4Y@vNv(t&jT44^;lO)^TcQ`W^y{d_^=K<$btxFWeL_* z06jWP1&^SKWfi@(T|>9A)PjkmR`eq=TyYT)R68Un?Ca<~fv#u4QA)-{B&t$Zs|!wgJKi#jr0QVdkW zd9v_)P{nn4z?1>fL()OgIEfX(w&XY>Vu60u1@pWiw}8eKNN-fNQm-%3!Sc2LId}F zB!YeSgZJFZ7%tLwF3En;3GHE5{Km{x4ltV#=RlFOF_y3EiDbuqmK~LUfW6?bXA`?t z^U}jLdIju(uMDu_xVkwWu{#>RhV*dQayKubW+uCn7_F6~5O>L3nsDciwPEEbqVYPW z?fUCYIxW^g3X|yl>iJ?5A&XdL&Qc{7&jsZsUoRdj;o#D()95oF$gGe0ht}~6>44_Jlg~PiP%C`M=Q+w3nt|sgYG^udWholb$ z7GWJiH$Bw%$Ws%I02iHqV~1-t)nL%rISUxRJbsZ8KG5Lpl<*2umcA7~e$P`O{&I~< zFqE)#0fHK3ihH)Louo-x+)=gFS5erw7u!cv7P_X6UNdHz$zxP64?J!Mr%$Lnh(@{- zbNXV;^Z>E>F(dm2F@aYXR9n{v*tBF4c~di-{!*eW4`M?stXOC(Ns#FC!3MhN%q(0} z>=f$EG*@i{!y2{j1%_NN&b-cuu;0D0&on)5lUR} zc3FADE%7UyUs!$Wi~0dCV<%ieWN9p`>or_Q_@F2lM=ERBP0RWTJ%bv#%F=Q2;y!okdu zz-6UeSV$8QZ&PY~f#A}vh9NiTM#S+cEaC*`8%k}0LsU(In=i$H+Xg(&EIB`za8>K< z$*h4D7FHn#V}i$wY%MZze0Vc>t}ytvHvPSDW7Y4rxyS za@oHAfm4eEX=Ny`Jg2?8=?&-_4Hzzb;K*yx$E=K3C#+-M)A3bOQQY(2l>-c5wb_m!ZMrRV50XU6!U-NMi zsTluW{4v&U()yfgAYTR4Bhg>38b*BD2ex!Y-0Bcu?mp(?$y;)4e;L9ZXrNd$|L|?S zJ3+bvS(07DeThGFQL7D#J~eAYI|!o1_Wg`CJgg*qPZGpr8_py~-o(sd-E28tnXlN5 zm`AgsVQxI$yu(VoPfZDV<{U743A#2XB{F~S$ivP-lb2lQulpVZ`eY=O3059`5|X8S zt=X|abNM8i>p5MQn93tRvJywdNhR7Fmv0| z+-EM;A?oVsy9qT)?YK=RVL84~8fjmXajoc0Y8O*gqPmylinNx#i`t<2%k+rOEE6u9 z*$6!X<+70M9(kBqPBs(zM!PDv02?+2nRXzgYRz1f=>-?xTHyl)Z9En3&%S0qHwa;P zZH@@cfzDi+iW8UWavAV(y(!uKCT<5nPEK)T2u{8-{VSqgflVvUoR^0rlEhi;pV>Y7 zN)#j~`Uf)TGD#s?J{JoOa>f%2CZ@E3Q$e07BNAGZsiw@)T)OIFSx1zsSQ5y%Hbs1O z=0w2mm*&CSX#7sXtEeT-S)b2v6Eq!h93Y)PK;q52NA9W|otnQmSThVzWIJw+go@{r zejVuS^@G7ECnx46Rqir7H#p2V$%qgH8Ri1#B#N7Eg=Si}#kqxVfyElpFxkO6NZ-)S z764!akKX6COb6{`iy3?yCszcy`mI(4=s~X@G=_j_H8fq2isEUJ)1ZR-*Hhzr zoOP*S!w~F37=#uv$k0}s#`n@Ul+GwDTa?WJ$*W9l#>{eS$DTHC8PlkmfCn*H-k4`N zU&+ExkYVsePU~^aYJnF+_7}m`^xD*;2AC*UsZE0bE8XQZ+?G-pC*!>Y;9C1w@{ zrEjU5!Op+4*hp97-fhb3EuF5^d-|1;^@N{$=w^I+R>4-kMAveHrTf16clrYa;-t}t zlf7o=Kmm*J)!d!%rt6rDZ^Ap0kAszZIPrPz$@tE+-yle66^%xm?*GgsLiSAOA59K( zHgf6|C|de89_^cEdJXOur)f9^X__;^H=IFLP1E5WltO|43XhFGzU!rt&RZPJ;ludf zQ%E*QKKq0O&A{LZtkIipzi#T-L;6jVc4vm1)20UKTrtw-i%S0LU~qS-((4A?Gr=#Fys;uL{4!~wGsG2sQkgOwZI8g1QV z0bqj%zFMw(X~q+WhOU#`Z_@B9SzJRG3k`E-4tmB8Gq@j%ZjjT7yyn(PX10t=V++-x zojauWFddBwV~V>q5Lb*_7x~nQF^VR;)%n3N;y6UY`vnS0 z!uzjefY~)mx1LEXh7Q?=X%mEhpT)}~!J}375)%ISri}JGD}XpYbFr$)FG~|tjFexK z8qgIrv{p~Gm9C5oG@OHYAJY=Vc!={UJ&=SucM6F>db9MJH*V4~Y zIc%AClMv~?x_0fSn;k*;hb=~0?&+(5;SLa4oM;HSFPd!YaBko7D&h<|cq`d-+LpQ` zukWSJCOkM2a)iPD)L3+Iv#nd`rYDv@vAROP)Bk)7%>7P}s0Ljns;9BAkLA9kBb@+3 zw+=ACheMz#mhv}(I?*tM9xt9rJjP;aVY&Ra!p15IP3O`SpeOF*>D$t7s&Y&{ECxLH}f7`{|jdJ+!)1#@v~vuflZR>(pgg>go(?;h2-H+o}y z$3;q%aH-i#P>?my;urS@LS_Jb`(3)Ewl&4fFTj5MXj?!=0t;0h4e%Q+S{n$a{*!I{ z3;-uEumc~T4!Jd-hkZO)WtaoLNX|Lx7iE(esL~C?tM|c)x}lu0{Z^Z{Wh6V&&wD2P z4wiaP`QdZ5Vp9yYgsnSMNQ#uf>>sw}t7mmGNQg$iS+IGi5R`A#XwZrqAp6vp#FMWD+30nV>c~;KmM9OA4jwf*69cN_&U#x*o7Pe4_+TzMD%f)6n(VMn0 z`tJpItE{q3i0!tSEm68MLoQIoCx{3v7EJ}*AxrryYBsU$qPL{2CSAi-P?~%iE(;9q z!IS-nSRs>wO}Gtu?JjhY2kw1s4CPm;;8-v9xaQZyK~|HIv9wZ-Ig~~gTBSmLdCkZlo)zwJ1k^M}h^LsJM#e0Y@5&TPy{OI*lda*`%Y7`Y{rY-yxl5Y0 z8=sI-?tu91N7Ab;-hLBT{SbI10W7nuDlUX`fFl)nxo(r!UyS=EoiHfeAMidvw1N$W zDnSLho4`(hS5^uE*RtE}xl$(JLzPJl_*h>il)6G4cV{lbQ;0q;kbo+N0D89;tnRRf zUyGK-hY}(uqoHn-959Bqe9(R-o7||rk;Ha<@a2Sdy;TCb$+sI`2=G;z*9^}}#f4m_ z9%c1uyRJmSg}=}Go(ae*Y7-ST~fP8A){#>-eUe@qK$C5)a(=@$|_nJz3GDZ zOYRg|rb%C{ouXdTx&?PP-2GpG*i7ULlTlq_Zu%|1!sX2i@jf-7!&ehFtYMZm@VlG= zfQZcpB9BlgJWt=fySww`hVRpD5``SQ+QhIdYM9zcUkWX@{I`^0CeO`zXWKzKGBC2b z0$Ap@TQuW0?-(-Rd-d>&`Q)dy^+%E+=Q|_dQrh3zv5W~^^Jrxdr2FrmQ%?9>Vp~ZQIuBPTO}+l< z6U9()f%Ej1Z4pKHEn(M`RBz8gt}>_0O_z|Olp1Lt*j}M3BWyZgFY30~1iS$8=rL0U z%k`ACM~P6RZ~~bxs^J}3^NJ#h3f{3ls%f{6 z<;+SGs2VVX%*L2of)ahR|t%UZhs5(=KAZtOXZj>wBTI|hwF9}vSo z7_oCfnAJsfbBDN3SG_X(ljoHk|3=|EYC}PKR$}h^Cjh4)94xYWZhuM7sYLW}klTb1!jk7p|s(X!<0rwnD*3p~LKL$P&XiDYhb8zvr@SeERS zUvJ|*`}60+2v(N}y=z2aGQ&ZQp*rSXA3tf;a&Zq?2-x+mYn^(q0pi!Pp-1AFMl`GI z^v0R0J>oNin2r9`g9g<(9)jz;zXHEqDg^H3mqgc0+l1J z5V>Py!pPzBfGdF}8Vqy;XZAEoS)72Ob@o!ATid7JpA-?~VsFyfD}{w0x-~q@Od(D^ z1sjZCaAM;TOxIhvxlmVVS)W2SWmz3@nuhg>9O)3ot9JkoDN~gLo4fSNPrwI)Ecngz$ z3q^JRWkpjOz!aFx!?zQs3J&6BcR?Sr)EssD5p)(}@)$CD#{`S?5nUv#HxBdFhIvK0-YwL(u}HetX< zx%jh;V9gFb)Xst`ME`(r+WP`a)wriUV7#a7ugn--ZH||+b2Z_5onH~IKG;?ettr|D z6XM`>bKWb+>3$THw(<@9SnE4-stjOB4?uj+4+3I|H)@Ow1j_&~3~Dq9+-5a!lt}qx zlxbt4EtsaDBYNS~ec8WvwUQwqaGjDfSFr8z?`Lq0j)QD z?;^uI5e{{AYU&Qv1bEB5jC=B1fS{_qW~NaE)i7=*ls24S!|W|EIwe;eYD zleI_qy~*%R@RD|Nq|69D{|3qIGIEtOWTx#S{JxCOZsRH9zQ%P@yynM$XGnYAiBFRR zb6ig)yW~(`-eY!?Bd19w=2eqaTp#1_*1V)`2Cico1(b-$j%7XN%wVtBiNW~s7RpDN zQRzOsy)-yz%$*WdtqV(4aacMPKF}05H7?UJ<+^_ZV=c!*J%0{#}e~4=nz_${iL<)JTS#rI#Z7uX*C$}wi!q8%`??s`4ps&VANR` zP7VhXwPaG2?VIjH#hMCtjlNE}g>6!_+JnbW%5Wuk9{S6T@Nr1h;kapkvt*IZwYf(m zh$59mBDa+;n6k4Avn}IQLEDPi^mmFq)8g*RHqs_RlVjh51%eyhJS3pOnB}Z;z`f>8 zf_;Q)#trH*({XkQKx-Hdma@=L4vb{!ix=gc3RBPdBS;-A|E$#(veum+so7~Ba(`uK zwyQIV0d0@=`}FJGGq+`VihFl8UA)lf3~tx&>4|5ey_QvjO^dX=4uEzDJ;;ADZCaYI zp(luEQBdVo$P=Ta+wwHfsPg(9$sX-Mu&j7;8)lHoL0ijSx z)y68#S#q`0j|8G~A@Esvmli#emgX6z5a0c*fevt!3b{9cJ{fwMHq%hHrKmY=Tq2>S zR5ar?yh+YDJBAp^qj>_-8%8WZW2p9OmfO(-P?pzGiE(al79iA?0w5qyM;L6T!fWRH zX6q?(YPyE7r!$ccp=+k~7JPM&wd38MPt49ArZCLj3DVKWxE&EWY~+tJXwIVD_%Mg0 z9$HEZp4pYD7NCD)DIP~((wJxq%T&tlj8btj%W_X5C{teZsN)m8CTX2d&(|N=Tj`~tCfrWRL8`_R)!z$ zwY}iW_|I)toZiE_m71=Jm@W!~;~%q89TRfhIm1i$3K5^QtS=el)RlqLo7PD>!eoii zF*9Z~`iC-luob|9f9t#L00oOa_6ETT`xZZT5!{s)tZw1(rqeYjh-}x)F7=H5F!LHR4#z$Sb_r4Y_ zXd=5!97c8MsWP=$UNLwG9lExUmiNqJXTNrI01KPV9MnP&+inis zhg;%T;jRG*A@-1U6U;drntJ9Do-(IUCj@80e1AnKiVZ^+OLXCI#C9W>H1UfwYq#Ae zeJZn)`k-=-S!#)S4X+7hl7`=_$2G-}p#j&kXo{kds)$6&r({diT6@)L|4MHjusrc) zU<@wRkFCq}th+sh&jttS?>FSf0>gw>xBA}se*15j3!z<*zb}XY0A0KPZ-RZ!c6L9c zg#VkpI^nRtinO^?W9P~P-HY+7VSpe2ERqwT3EO596bzGD?{Id&W^?Y_`_3`aD>_kq z$Oa5Ikc+s2>7w(zrzd)4&Z-?Q`kNDub)@I})tNh^xQ{5jr9;kr?GAsWV)u+ss>sCr zg|B6yqrSKc17%hKqlbT%>5Cec;aWxMi=}a z`m|~ne49VOH^3ik+hF7q6yEN4HoYGuJvo14ozgZz7nc6c?1(OMLG zhf-@`W9EiH!i_WQ${u)UW+q@5C8o!K=Qrxgo_c4;f3Sxze4rJ9McE|Ky$GgJ<_uBh zj8W#SR%RU@2YWV&j`d5IV$zc?`Av)Ap-uSM(p-R;N!M)BGw-LUcI?aByj5puDb>`6zGPfEZf$xo690G|K=|6@~pm&4GQ1%ZePK!gP$Zy6wO`5|xZ zAkCDUa_f)~Fi8lIBz!|8e8DAsL!|gGlp?U=s)!7m!+Wicj*O`3={4P4o6F7T2tXOf z(Fet;L-7bh@rXn5s6+4Fc?+Bgex37^Edt^%0OBtK=FIv9|6B>2sQ}JM5cif5_f`P+ z77~|z#eevm-(=QLx)7MR7?`&dm^TkthStL9c;fz-Zt;{SZ`_+F*~6RFal*=jCTD2N zFu^udfNLb^9R|!kBhKJayh+{PKb#Q-ua}1`ec%Wgq*Z?D*IO8jl|zzMki}J=Ys{*RF#ckXP8+pnW*nIV!4*UP zgL9-H6tOPrk!JjwHe@mRlRNtM*9ApLb(e}alFGNLjBEo%WrSRIs=Kgx?SlGH%j55t z0UQtfPt<_sj-`MfGn+XQn>iAi(ZV#ML1;jOS82^vM=*)f)MC^Duo^@!g>w8MKK2!@ z)LQZvz^Lmr8wAQjbY%FaYO*g%t*ux`{p3fbNJ6_S8ICsJu;N67vb%DdVeoaO_fi+Q z%*UDk`#ksW65*$%dJnLPWFd`WK73%z|3vRw5-yjahLKH8m7{LX|+)d zVTqFxYT`4*YJwPrjLNo zp}pBwb{zkR0h{Ul+Kd+V%lwFeBT1nMFh%&FWOs_d3&Ir*__k;FQP7LLaCb}cJnuaD zFTuR`w$%5w-1oM?_c9ksreR)Y?2q3Tm)f(d9i??HkcK`A3bx9JkwRu$1*O}W5Lc3e z&BSQNx5#bRUqVvbd|+cAVkB-phVd_K6mC8T@h(I;^=gor%j5fvDh4G>B3UZve>Aj* z&9g??-Yd^g3!Cgg&1tm+&h@FqdF(*TLTU)IGA#uP)LNQrZD>uj;f=N7O|)YSw54DP zcyAh5r#~u#9(Z}IwoAaLKOS%0auT3v&06+6|8^UK3EJFXf82Vxk__729DxE{eG|U! zdWu(&hkJcnJ#Sz%?1-j*y{kQ61gzD>nD(5Pp)pf^SktW85>I=3F@HSmU9Onc>pn@t z5@dg|4qvt)n)L7{f4%EHUmW}lxs)!SOsL*Q6~@HuNN?1s-DY&gJoHF)of|#2!z6i` zRPN(y<6mkew}GkM;A;-$q|O6?=s(2D0yuNJ4Y?_EIh!BOz-yEgY?xQj{Q<%}H%mS9@0;>stNBUc?Lt6hqHY_FU|BY*q#|a|jEFNf~2#v)>n}Sh%gf!QAYWD8vJsCUG7D$MkjNR+z zkCU^@RBpUw;u2tbkd2jYM;-)s@qay)MaWr&bRc^{fv*QT@B7Wq6AD#IUFq8n1YJtq z>C0JRE|=F(Y7JXzEm9iAxHwE;VF=XJj>dAY5@`Lm3PSU$3c_$-C6LjPx<9o8HP4f5 zhwNT_2A2m5^+=wA6xr(93}_lx=C-Y%!I9SNkgQb<8XkWLB$FUxmu!}-6|x=jy0R!J zs#Fj^O8K;)7Ai|m`4ps5klYouyfxTKGJuuEpB2@AxtHJ4H*(?o#86S8GT;RceHZ%Pl z0~Kz)A7Wh)LIWGP3f6y_jK8A7Mff1MDl)e!FxQ!Jww=IC8>lguwS@7>%c%N>*xc*J z@2M+f`6s7!M^~vyKvD?|+R(TbK?TgZlF2L}NdUVBhVFbF*LUzK9sA&C+j~m)x^$o7 zb?q|2@78HhP;d$Kpmix5w)?rEt?COckY9do=xzzKh1P#>=%+2`y<_t@id4sxRj;>Y z-oYF^Xo0`?#GtKSUj?o7DE!(>x{duz9HWK~xrX&ZjB9(Tm$%X?JBGyi4zV+b{1ZkY zM)d=fD4yDHRQcP>cX_u0zo7}T# z_T_-0a0$e?2|VFrcq2wJruFZu{()oiya~j#2|V#*coRl)y@w7G9USSV4w)l|Y9oh$ zLx+GrcFJgoC!#KM%$_&FkTwCFBmtZz0UU`;6~3_|$U-!3;81$RD950FhH>pAO>3c_ zTHhgg=1_XVD95ONhG{M3rHIEvK|tyLKv?NMBdJ-C*e*=T(~BI7BX!H8Q1=JVl(uD0S zLCWZO?5xh{;^WojuQGgcuqOSAlDX{zjU9h;riGfYlv2})7`VrQoN%O|nW?MY>{HwJ?iK(C3jNJGDP7YMrtqefYQv$SOp|!iPLxza`NMGdTrWm(4!QZLN>3GH?T{ZPT20I!bT|=Rs@t?gTA{58dMv?fg!&cEolM&j(yj1a|iW5FfCuJNxPFmLDUz z7?_Xa-xuBRcLl{j13e+e*n(3%3QmG>IKTXM=!u6hJGkDjnoGmiJ9T^PGSk7Skaa#D zX@_hyeiBtb?6`~8y4Gmyx{FqRtr5^ePP*TBi!bo{lJ`MHB)Yw%ZW|i$Emx#&*fe9P z+5*W$aI~~I8sQv^0_=-^KR*topMOW#Mq@qmLg8AAE7b9de;O6Mx)>~)3$|mD54K}5 zJNOErM4xNYd=<_a>raT4_EvVVeUDVchj#duEx2CB9`%}UV6sH+_m*c zcxq<`;41CAeo1uhddA>CBLghTe(DT}nnR*Z5#d(oFgtWqeG##gB&&Bb;|yMny#+Dt zk4Jen)A!N{S$xX%=1LJKjg8aB}&q7TJ>QEZHs`&L=%i zmZd9U;RSxn4dz)5Uf9KfpS3=_%)jAtz&PV(>^JB8T`f_DHS-vB4EkLmp$nv_&q_Uq4)D9`Eh^8X@D87_?z>JbY*Et3JXH~_W^gX|(90pPTjKOZuTwL}Hk zVl(c%L+rdG?7TBrH3{{K-dYD}I>LzI zv*0WRw+F z0B2-ynFXNHOH-@G8I08#z#TSl4o;4~=f&MspqN2nq)^EAC~$EUID+!*!efPIR&k;E z40R&7FLl$p*yU2E;!0 zzgL-hFQdIEab3n=Yxqk+ei1WUSz{&}Yf)abs6tzGZ($y&EJa+afwi|3-wodP@dplU z@P+s$8RF|bGiZ^1by=SI-?5t(k2pC#oc71Qn<#Dehg-yn_w{~T41IP^Sq)5Vkb?>I zku=^oFWNXS#yBtH_>US+iKgfl_RkhTThM*d82O&P!gS8H%487|Tp$wQg#FU2^@m>0 zUcL zAr!+ssCEe+5IYYOo^{GK)^Zp%A5%5fWVd(BRMcE*6ytsxbTJ7P`AMNp3tC7l9goZ?Ur z#eos3jUgx<*6SlQk*m^7LM@M5zfHW~AusSKAF^VNdk{4a#4ZlDRU9re1mHxV*NwsM zyn|(pAxc^wYpj1Upnq}T#||uV^zvMm>9x%?u2<@s1TUx51sxGJbDSS3BwMG2S*Jx> z^A57&8)m>aTnT!`P}fy9vCvss2Tf=gTB%#Y&{;;^8Pkej4_8qLw=^ScjSD$N2A*O- z$-5F=E}lnzT=hCx0czn z6B;?9vPCFjcz*YN@`IPXyT)t}BVsH_v$;xos;IpA{$i*O7c`xkU!CU$her;|lBqZb zv+d5rOfB%j_40X#gcng;aZ779d1I)P>ECwti5?Ep)^WE+Ntn5yA$EzZ8myOA*fVoFUB1hdRl*2R{CD=$GL1KMq=u?jJ`jSpAQ~ z7PR@taS2}A#t~pN{CzESxsD&vJ}%QhYRyYOP$jh^W*NDW+8wrt)=lq~S;Xn#@XILY z@b&^?Q*``<1GT9>eieb*6r8%-Kxs|-If2T~^5+EQUDlrys(Y=MaC-FpHp)1>r-0B) zIlNcE`UX`UKl?#tdt5%3|F!4;+Q0u=B(Q(#$^NyR|6199t--(c&p-B?>iy&Z{lAiQ zy39Za-a!BWE?ED6%uO2EIvZFS)9M=<8r%GYL=d*34v)| z6i0LwzF+}Q=9(VLEJ}F2rd;v;0X8Xybm@?EweaYq3|N!NjV}BBg}9P$#1hjp`)|TnJMJgON@dlv{1}|_ z#Chql^+blaXixbcY-_4vZ12iw#0}egHWgNboi4J9j!ZArm+2|`T0{r!2l37a6XNxU z9?NB?rI9K#S=&wJ)CFF-oX#yg_{^)|992BHt&5t-pd39Zo&M&)r23<1+_q)^uip}f zHd^DmI-hvW=%kK4oXwSoT$=QY*s&h=lmQ-f5E~II!Cf6X=qnnv=u}~w5mK0&5u0u3 zld9M-C9uckQHwIzZ-X7AB^eG|T^Wi}lU})OzT(*&3D6>RIz!nvqpSNGrQ|*k8@&-B zK(QYl=N#4-)%cM=i=- zdvI63or~#U3jVyx^NxNx?|Wggd&sJ-dHH0w z7?>V@BY0d`#7w6)YZ_gwJNYAFagt@fIGh>tpnt5+Z_>}XQ|5HR9lf6>f06md^g@5_ zJa7l?Mcau6n-?O_^+~l8J7d91aa~2Z4-+5%Y>YE{WYl5+YXKJ8t`x+4I_7;mJHYUE779+*4 z%k??iVzZeY(8k`sbqKYP_L>87RJwgVk5(3;rPaT2h^J#`7q-uiJocC_N3mGPV(Mx^ zH=(N6$3l|-IPK&0kJ9AH^!CZ0O(uMLcYlC_UyK8xZkYDWF z9uQh1uoo`97*PFbB}%$W9E_I|@2^a!zKe3kt<^2r6FbB%O&z+lQk~IKlNj14h_)8z zV|LXT7bH31C)-gC#OgBoIhD=bW&m-jC4)2N6+iq-ISP}0K>Hx(HU#VJsJL47hr|xNDT}iHJ3~}6IqJU*JrHPAlcJ9 z%T{R8P<#?p(+R9XTd->-kuPKFDt~9Bp%zt*P-j=GFH#l{s+Z7HnRkR=_|Gy41GTdHCbNe9r&*GrScMfITDC6s+lrviJy8|ITD#N zWM?^4WqEQ#ZzG5@WI;KIfHJ6t@`Rh7N`5&=A(eolvVcO;%Z{=${^A~CB&Qr7^U}rv z(2L=pRRPw?bWlT5iStY=y{nPSpYlZhA5Uukx4XV8w&_L_Y_toc<8;m+cPR!N~D0w67l6KAj(JP3@Y=w?-|OZ66G3* zN=J9-oAZjw^OaN*@=M{l<=hyw0?J6glSs-eM1C*5NHF}glH}*0@{(jhxsUe;{(pVS z9^52)$Nk_zUWotzr2a?U^MA*Km^;AxK0wZucT5fyo6?O8JZxqNU@ z6Pi8^2wIVIg72g+BSA0rtJOZ=kT=(f*<(VH|<7O4a?G{(AbX2Y`3v`?hu<<7~X zkxetYfVT}Psuk|Gbtw(hVI4SItAk3Q9-3u z>_D^{Rl|;gGY$Ic!9dPL&~a28L|v)|QD=$S=2MEEah!2M5=l5|$&!_fS#!Va2o*@h3S)jQM0=X1kX$8S zENi6yQ&p@Q`I@2TO>zj%e^gOBn3Y58@~o*dQ!K6UQ|X)yLGANw9*ionm38 zP4(hjMlf-NazeSo@X4%9bfMl(&yiDDrDn)v8u;jwRvuX-j#MHA0RPLd={9(MTdlO1 z(zgxVPzxqyaa$CaNgHU>da{vPOMU};s@(~)wuLpIf}yZEWKiWd2#v!;8PY3n(-`ji zLqmxi*XslHC&wG`V5NFi+HiDPR1}y{`;QE?;leg#Q&(N2m?D6qguW|R(KBoM$|=&W zjb$LcpO2`uEwlR^X|ImOA%&lhthFt>$k~!#T_s>OkcBG8{&;fe;p`GuJ*zF9IPmGR8>Jnf{PO|rGPGgt}X)w zxa0jFy8g&DaPI*OH!e1&o)^&DFy+}*$S-|HrpODVgIwPPXNHun%^R0*fd3l#&3j|U zb3b&2xgP?j;QuJ{|JBws(|545wYB+&RoL`@ScOW{c%Kmin;=i1&#f%r7{5ye3;?T} zjNh&cB7xL7B?8Veiez5s$5wR3{%Wa>^L;TJ+|Z1#Iy>p-cw=6<{k?gfvYi&a+{KTP zXr^EN2nw2;<|`_?jVqd~=KgR~Q>)9t=a{K{G0&WDs6?cbU91Httv*gVH8s@%!A zph%zrLU))O?FM|tdYu|S5y>YSHO$2K{hej#2w=0S>Ll z>esKwv_uLiteLK&-o(Zp*CYg5%JzU2P=|s}hA>HZSED@*Zw6iw09uP06#{4kg&r`c zg@q41iy{kF;HIPl)=RksGpvdHhN)v~&`XQ30Wy+3xB59#ZJ~+G2C6ak z+mxByB6MWgVhU@Gp~|VXK?C7A{+QpR5$T#X$8bZqp|s~wsi3^(IXUsGkavuCD$qUP zX4O`SxUI#H8vKtOybFaX(#*5UDY|{mo+2NyUUeuINvMMNH82z}X>NOAIk@-}P>28z zmB0j>a+%gqbv5M;mRE7=bF*KLKKA-rWRCzL*{^4~r*X?AZG}OVGxD-nhqrK9V-D~M ziR9a$hQy*y>!Xnx+y5Fc*jeuDsy_iU`9n99`yU0&f9LBs{wK2bCwl&&)&5J@@yzyb zuLCy3-Z+SKW}WGtSp-412L&R8q^%ehTBmV<9Z2q2T*Yts>n;ux9;`_iM+xEYNs(A^)C{6g6PYUX*ul86M4e-cT1<*>zg2Y z1MKmWO|~(#K=A!Y9U-G>si_6#@UzE5s%o{?L-6H5d$fPm9`?@@eF6z?d8^s$8zXvy z=GpL7w$(QOFVfyINVleG7i_zGw{6?DZQHiF+qP{RyKURH?e5)nPe0F@b0*#|Vj?Eq zx&N#}R^GJ=xvH|Rtc2+Cmv6yi)m~K(+7T$*__d|A_mgJZYHx(_1@c3;>A1H{ z_yPJ;w)LPtTjT{RsQuG^CfFI75P@6xwSj_`KTRyp%>@~V0kwVPo%)-6)w_*~}$SsVcjY5oeGvr~7Fo$EwG=Uq< zczmW4U>lY~40asFA!h-08(3;w2g=c?MXJEHY!Z>1CS04>Po@s&q4IrUpIUzwYk`8A}T+&<5)N(B8@asa1 zkFME5_O0h>to-{v74OqVGtpbYXHM@+?a}uPZ{ePU>#FjrmhX-0E=Bh)L>3B$t+^)nT94zF^g zw&yV;*GDn^<}kvG9(|ga7G$7!@(G+L-9}g0osrE0iuIW>UKVIBoLgGSyJz;xE0b}n zJ5kdDCqJW)znXcPy(QP6YRqI6Pr z`+l=307!s_2k>7YqdFb0pDN&?%)S>UWb5_PZLdbm*sT&>g-Z}Vf7eb>m5*I4q~zYU zyP)%Xuu_l(5M$}@*1Puc2~~}0hTBFq$E?G=Qt#7~x`Y%uwLn0vsmOVECx+zxFB12V zX@DFEeOC^ZO@_uo6gMD@2T`Sh(%>|BC-{Hg?Jx9+N>jxlsL?7Iz8iB?|3=lY8c76V zU%gLLm)-LW?|a;rZ=~-gYY51SB?0x+D|qg9A(te7PUP_a8c7Jip`YX0{k_Xj7BuB~ z0251sf)-$J(~B=$Mi5N!yOz2s)qZhSDQ^>ixH#==P%vhi9y@y&D}L9PSNW50YPuoqGM6C-eo=9~LkWtk_@m;x;la~r z-F)6mqWV?XZAGDR?;Pdvy=<@nuSr*~_Ay?w!;I2?{9{dkG>>rVa}D~%mrw0Li6*5) zNsi8#H56P*(-&5HWTF`=ii6!OX@ z9HVeCO@SlF7_V0$1=DZj(hR8ShQ#@NoR+2NmMzl2f=(+CMQ@SjCZARck}aFRNxgZx zFu*mJW1nJ`gV@Fham9fY)XVvs?Tmn(y@4-HSL{*2lE6%@Oc5P#snsD{Z(;PEvH z-NKv4z!-WtPyQ`DV0{iOz6OMP2?WFi2hptdTVAeVo<(k-qPJJF3_Q--((gFEm4S9a zr@0tO_0eS$nd3A|iEXS!Kz47L?KN}%W}|2{GKV9eTLuVhE#6BJ%Z+Whm7x$ zRk$dkfumkv0Y<$h*M0{rDO{MLx7zWpupbI-HA zoUn=%Z6>A_{=4Dhd;Z`9A@5`WeP5nv zvKZU`r@690a1tuOAP(4KsV}g^V8k94v=nu^HN%fhFRLYfmjcAr&K7h;k!8yh_xAFYdgT!xhW@pOL-y&h2W zcXSC}0B33e0_LHq!wd{fTVbsE+v_@?>o?|_kAlTjoSGE+#_K!?)T=O6^I<ut8b$nRS6;(2FB`g-HLP zGtTu6aJ)nvS9j>Y*;Sa5AYg*@E7JPz!k#g7OM&^30j4`M zT@E1e>X|vrlZcFfTGPW@PKajtqyyEBsxo-Sn;xr}POy`(Sl|LYdg{*_wTltlh9}11 zXBi2*j1_LS(bw54%==R#nhQ!A5b1@q%H`jCfnz?9svtB@`y4FcDN!yqZt$ zs3~aTueQVc);WE8=;qRYQYcJ?bBw!CbbU_SZy3X9Ktk9-3Hm4MXK0};X52m2@nqfD-F=8v4grkhi_St>=> z{DL1CZ)3mV({L&K4enl%V+hezD8|q`6xnNeDFydE$RPsFE_qt1JH^-h0-68f8Kde3 z4KP2dCKl5X+;Ga9Gx@q`yrJM~9agg*mh#Zhd0E)yD{MOXW)t%5TR>|2GDH))ZBiv2 z1}34b@wh#hxFXXr-{VwwBBq+Y#z@)d{@&+cr_En^&wq}D9-R%f$PfGd(>A+KbV&y- zkCumJr5)n0R=uK#?Jv=_1$puO%-Avxv=Sl?%wRrL;|GtiPg{jP>4pGx!FR3l=Gqv7 ztH+sJlg&G^>3HJldTccQUHMB*MNYor`90}meI;tL(o3wMRYU!~U9SpkY7}V%X5z7e zn+y9FYcm_8KQ z@2@fxS+lzFZr|hlW(iV5W=|mLmzW;k!W5n!4LDgk3x15nVf8gO&?Nq_a1uCKl1oJp~Elas$ukqb!4 zBBH^{){5D(;yUFGZwpRSI?1{{e5T(NMX}uhkprt$E|)EnTw}bo_7VJz*Xj{__%BpO zbz;o2dQ7!jNN?~KT(TdJWg|4I<=(UTqNiBdvvbw6LS67^sC0G=s0HhFG)_i76#E85 zG3_-pQ6&))3w%#qtL(QA3@GX;)VM2Tzxvw60Ul$tlviH=)QIsE9GbWDT_m|cfHdcl z*nQ_(eP~luWZoMOd(j0tp|H3QaydsDx9`^J{8Go|)2%e-#4IReJ1r}H_j&mr9&;wy z$GUV-0RVI_008*^`wgCfqobYMzdAh~DJM!Uxb2zRy!!4^C?LqaYy92_6eSIrsRH2a zAj!~U=Bcr^=jD$dx!qa8gr-%W3l&;i?TpU(ID+zy+!l&pHi*Lzy2o$;HZRa`F#g~J_`iN8d2?Q|!2 z-)hj5d@-TSugq({+U$CfI&Z3M09uvUaheH9}a-VfaiM&T^L3PL;!1{np_j|{>K%zZ4$Do$cyXA!D* zt8yzwJ_XJ;lzJss$;eh@W!-WFZw0!uZ3 zMuizoswrj7q$-)A>s24qUU(MuGA(GI302aO-ip^g#o3?m6>y+0#Fm|yU28#rfa@t} z-2?gX_De1kyHKWfP%O|W*$Xs*T5Tvc7eS1@^?kx-`akF46OA`&11lB z6m}wCOI|WiowBrgA}T;8XDp7%AOcbS?NW$>EAJ8j&fa(xU(l6bLd3p;@ceFwetz3Q zd+H7BxI*vDh{H{R33;uqa^ztg(1zFsBM#Xb^uQg#FZ;f`bkg33L^Kli;$W z{p>U&L9;+sI*^vtn>}?In>Y8crLApk+xzJ0Z2Q3On&qznv&9{4dEbFFq5)F6CyTj` z-V;$s{tHHRepbs#d10Zt!muR|TH*a#zr}n>0yLHK2;;ED`&FW~)DD>xJKi3*kw&%S z&~1j#b(|Fz`5GB58}j7pyEX`?$qw6 z=DI%Ajvz!EtoiouWdjwC5M)GQG58)FA2BEo)vZVbFQg6K?R~_bdDdG>@~^Gp@vPRj z&?958{F2=WTsWY59OK0fXds)1KCw+^jw5J&FXqHfQ$1vX|4LKBNy)d4iU&iPhy>XD z=H(l-s5jRd!Ybe9G?`Mgi&Ym2qLCMQMUS|PyNs~SeJeXq>2L} zTJN%7=K*E&lI&YX2;!{az#+?5B9I&^5rAUJa>D$9=~&+{Sgp`Gh3*mK9Aq;83WD!e z*e%@9EZZV*pGec~_Xt_ULVi5CGab+Na4vhG(K<`qbuTn@%L4;H!dmcD;Vj!`cFz$%b%RSppirlW0vl0_B(&CR4jXgqk?p$1;OHdm5#wX%S!v*Z?}1iD=QQ1tJMway`~ zXOFPQ2Y?ppzZ@d1)MmSc|NCx6*Emia1GF2x53aQpALR4RW%*qTw5&ZkQ`Rzc0d9aj ze6GbD>y14TPqwv1$6vbdup8w%+#xOyS?d9}`!R8f7|@iuQ3Hi*7}X|Nm3}GnI2&R* z+`&%-S?2}OH&hhG?CTxU1+S2(KxLd!#4z%Y*v!cC4g}oz_6*VBR6EabXU&?U#2Bav za*2qde!_-a<_Qi;5g2`YuNkmFkEC6L_dN?Ikb|HUXFYbg- zCx0d@wFC-Zn3G8wqAy{9YjZ9SE#EF;ORnmR$=JHkpr>z;?$gHr}0=qnP@*)_j6eCG9^3Z&DhGKiKC9= z3rsE~JzmjH3?B@>YPCTZ$yXN8BAAEa00kfro)`~_SW%lsVGip;2FBJE!%aDcS`7B( zd}zX}eZWWxQ_H}6e!6F)0D&CoXa&pch}2(Xc#2M&+ZXOPR`3P(xN z^HtezDNpbR)?VuByyQenPBDOOT`GEy@c#o-oh+62G6G@ZOM?(#vEs`O> zTJ%)gQR5P42T0I7atFp&2nQn$U9`36!CsDa$Dr3g`;nLPto#}dHvX6!m5;iQ<8R)dxy@jOqOf zJhss)dssLmd}0BHXrXiW#2Yr3<3dwcy|w9xxpC4eLs1}=F?MLn#5k?Ct^+Y9P=J%G zO_kq?nyy%Q2F(6MN#xsp6Lf~HAb(CP+99eW!VDj^WqOvU6|d{poz4aC>>$mtQoXxP z5&We0&EXbtb1H9I2y2(`r@{WzYtR@b>t_TR3E13W&y$%ZKhXXP+@xpJHMlWH5^{-$ z!LuyQQ~5fxzim#8R_i2iyRAnW2wk_>!=h8MJzpx$6_aSIZccz=tR~qNzG{MLNX<2q zXd8NRe5M5?Go{;^^t>vcYIftDslx~(ZqW=nWR~%ZFG%B2JE$IPX;fsUd5I=TQby0M zbWl)eS7SsrnuU6&%;b=om%x!tHdnPYgPh%W7jwAPd>+@nKt8H36lUNZ>>JIJIV;*% zqKue}LFQ|_n|cLDJ0heT#>kQr*Wu3C?Y*Lpu>jwD3a^Z1>QsCne=1E|ttPAA?w)Co zqTz1@o_TahS8dWh4CT~5SaRGCjbE4hpr<_?lp_*ikPVdmXh*DAoBmRAJ`8mfpZSnC zy_=OQ75(c~Q&^e4<+aW|XOJF+?);P<))ycxgby1*WllpaBBmf^ha!^NUKelav~o$ zb0i#Cc$5mtIm~tvNhO2Ep}2HCc{vZ|1*S8W{JGw@I*SgfGc&jXatG#_*k|or@|w*f=m*@ zCU-{cp#rmr=}ZZhNMh3+_7zQP?<4onT6DES_O)MpoF@5#Dt|mKeq}CyggP$T>52Cq z!*XB@Tz2g~9l_Z0*@~_2`rO_r;)CdVHai|}PR|~7md$*VzVJoEhJbIsPd6fQ zJ$lD7rcZsX4J83?2Pf~FO1ZN&a1YdeWW0f5i@HyKj4U0yVv5+Y39#@lixnJWBn9r=d|u;IO7w(S`ojeN8+#fM(kp%eAY<&!E&=SfK*5(Yc&`>LUNoK#lk5+gHpehmG=sjB zK({7T@&HvzDftMNR^mOA6Vi#4uW^7(_tX;Y(kRmX)15Ndtpo&-M*RzdVeyGWwI{fu z@@j7peN z%AK3FIsAYw+9|aJV6R0ctugF z2Su=)NjpbhycpnXisRgh7Xx+>+0GNhfl)@eFkc7+JGN;f;*FIi>&*&zNldW{u#OpC zkqU&46Inu)=_OBPi3RaARuLcW@eHwwDk+EG(H?Mib`mK|{gvB)d3My4JP9~& z1P;SehXb&lj5ZP;llJfxBU9EKPuDzrS16R%12Tjus|_NZl}t}QvMd>LvRhSww1<5b zUrptPYTuskaf=)TOBv6(D?$o0E#22_o#+1?D>nTOD)%gTVX_aQ<>9SC6 zkQqlB(@lRrq(6i)P>QKp4hSDit*yFE?!d_19%IK z+|J{r&Vq8JV_j73)eG$UMhiZB)BBh?ObXLrja}YpxL?#GDI(Fk@WqPn0`!@v>I6qs z4AAbff9 z$x+7ekRhGTC?()j77xFFZ3Z(AUp)j`1$umR_isY0CDP>=!XrMIbP-Ldp zvG<}#iomNMH?|K>ebX!XQ{&DDjw zFdws6)Ie7PgK7*3Y9X(k*b29SI_hqxNL&Tf{b@;)&WRuzbouxC1ME!WH^ zG~QGSMLe^@dMF`I<<}GV11_rA28EIq%9}He$3natkpvwq9LF)nZ;&v85kgnbtW+mh&g z2=i+RbH&j39=Phr7FcK=Nxxk5D`dv9jli4Cu`JW2JmUF_;N^?CZx0LEhLRqnGuBcU zXuF=G)6(51sfZkq7CprW=GM=I0<*p=wN=68M!1>nn}~_6tKt#%P3~O|s(Z$*Yd)CT}n8(49rZ{3p$|=AAzAWBrJihvjvQ* zb=74{tOue(CM(#1VO7i!>FS2$;^`ls%pG~=sYGlM(TbUzp&75koy~HgmMBilIZR!K z+?sl{T|itJu}L+wig|bO)O6A&Ra!aY#+?bqj5)8v2bLNPuOLx2X^B!_Ls4Tr>{xJt zNS5p+^45vgVQH;{Sd4)1XQ!;<)o!*Jy)|eyKTQVzCFJ~~o}+|Zi9bOx0;0ezDr_JJ zdXSt;jC4Yl4m*NC^Va|AzR=UCG41xjL$J<{ep~8bhzBZV00^_`$QU8PXfou!RjjJ#bzy187QC{jjcI9zGHwX=y6S8t&9wW^tEoAL zw{7HtXHeT-X$vWiV*uBE7p{C!&-uU}E~e@*$j!#;CBg?Q;8aO!Q&7# z$^dwmGoX3E03oy_F>&_tk7Eo;)Q=nT>om1`4F#dJlk4@u=c5` zqF}ynR6udu6`UV+tWBm)3=t!TCFr9E&xz1Q@H_iQvIn8T^fMy^Js(y}9s&e;?mh|D z4cAQy{xJ_vR3I;K=TFW8W*qTThCS^0e&hSkQ-=n*bcpmHDEd1&0D$s;rMmu~Q1t%? zUq@qTXKnm1L{&#_gC05L=9#KO+X)c(ycb74t>n)y8|e(ztNx;r@Qhznct}+HJu}te zVOOghr3-BWWuBYea+^gXH?^hYwTL;9r`(7p55I4bNjgy~E50gq+pY=%%XSq_k1E2a za|?>ycXhTgzbW%%g5MI$pVL`7txcoL8ba5+lj+PLQ#C4ePuis0JlS$u3TRP2%--Xb zoD)@DxTd@4XTUpV?22}+m{Ph*5)~I4pt~e#v?8nb=K`{)A-irwpjUkSg_gNMsJz>> zjM3F-yoM|p7`R$){< z>YQKS2h4I+!mrcWk9vmc7w@RW+_U80Yj#0vx0ebnXY^V6&Q`+QUev1rZ7;1m&wY0Z`G(Bz3A$;@TDJ<{xuAQ}%|&cqwg638vL1Dn z(s${xT|w_oGCL*JBA8C(!Es!MS$@mZHE~zUA=85MRkvbgw{!eBc#GMXu^M+W4&@ee z&2uttIpMf_U*&L=^@vHL*e6Jl-%q>(why2?& zbL`XRX?17#NhfZa*l-8|DZFIhel(>|j;KQ=q{Yi;@_VC$!X3`0U1s@Ya;rH5CxHaq zWeMzj!uuu(`7(@}waS)NL+>_O3!|aMc+4R9&)8c6-PU|6P9jODYB%eZ6y30o^%|tc z7wktRufnSBX6+lrmI-(%T&OG4%oyW9hEn3=k?qz~B18RQ-t_{%cNZLTU5~!^~U~tWT#W*h!)bx3iSbp8T zvCAJ5sK);J(OEL@1!_jwn1z`}Bo6`L@5~l@w^;SPahlfRZ-gtZZ72)To4+(5Xw~voWv-t=~mJ*zGO}n}vGxg`niaQwBf91-QeuOVwe!frr4^eRFHsEFY z1GUw}0{~F{uSCKBJJgou{}`xLua4PbD!>QtdFKE9bsU(wq6f{si}VHrGAC_zK1gB{#7YjPsT;`ZjjAa(!kbMX*;&?Y|}G1(FP zNw{o+389$DTv8toL)3BC54hMUQTgPSnq;3)md&yhZVco2@ zw%v;h&@o~vr~EY7iwo2-V=AZewAkwddkL7yqqN2Z{0>_eYVBH7PXzpaMbe>Q)^I}U zWvkx<>>4ecI{HwgbeISOn;|tt$bV- z_EN6bwqY%Od>ZC*rnlRqL5_@8W9lN*@J+|*0b z&#o@DH80?Iw7PF^yAf8`KhA$#6CL6091reHEI|IEvej&c;`>ZRPpIWE4BE9iys91$ zY#$FFMNWY1w`{ilW=j|Rh`~y&#bXNFaXPqzB?@p4#Y&|^a0+v4b9l|E^K*~=$pvB< zeBW&C+@K@i-5oxHTt)M%C>^Nf9OGblM6aH zcCWonC>54?($)#B3QsoUyjwOq#JW8)Tk%6yS!@>CugP zO;Nsih8!fvIu*~h+P7>kxHM|FZSHL~)(vO?iDd!o-Ej1KV#@bQGrly?Rx;yd3>iP6| zRb<&j5U22b^C+R(<{+m}$QWSROv~tn!p;b#7ox*aNJG+a`x`gY;`^iUOJeD5*hm%9 zKn%ekoUVqWP)uPM2>Lf$8IXe0`6r=++FXoEpqPTwQX!m9hKryQ1t+P3&RQ9mg3|>i zt%A8-+EgXq7w8x+!D2Y-vA`{q!flmw;GK^)95 zCHE`C-=q9PR!OfF_8RgJnNk|g;BT=XvNftnTtgrHD83nN z!~QyhH{jSx>W$(;N6q&eYYdb6@gwKVk9Qz%Ae7&Mes~$Tm*Fb6GC;hnduvEFyILS0 zqd{hJg8_C(x8aa8IeDPIGQF`f?oWd>FIYf6hW!m>&V4(Gw@OGkJaf=rF@AC~?ykW2 zFK~c-OnYn5{<|F@ADcmDY%l>g2)F5wGq%JaJ7l|Pq}&~S@E?ADGe6V^1TS%ZdO!ag zLJX7X0@O|aQ!Zi`!^6jha|2G(XKhK>e5tHa_12Dm_a7?Ee(0VXp2i)CPE zAsAX0A>n=e12_nWXUx;MNd?rN+7~_%$rb@|V6XtxFatYQbont74VpG^F**Tr{C#dO zSLjBp&a=Rsydm>MB*N8aFjCFh-Y0aTHAOc=J*8UWIi~vcM-%BgIq1R^(Q3vw@y?gQ zw!V>meRTtLrADIr)6_Jc@qK9z`I64t_=-U!NTpF?)WZZ|s&f_lQQ!Usaz2S)0>1D6 z1KB?)VfRA&gW2%|2LKTIFI&Rd(ZbBm*3QPn+0o;tIjWO*YzOFJf`1l{yO&7DS19eE zxFE?6!RyNS41h2LZng6e(O;KEb*%S1V;}t7=j;P{#pv*Gejrj@fyhx^tcgmzQRggY z2y5h!G*SD%RTs6`CvU^a95C45K+3BLt!2>?s+ilTo}@BEfhXqs*<{`N)`&%&d$``_ zbI+fg>hf^IC&;&>%-Ku!FyT>))s0%c2m+E30;t@Gs(_8Jvf-P1lHWJT4B&wa3Hr_> zK%alnz(r6I)$P>FO0xw;e)DKo)tEtT`$d*oAVz zy*OsHn=DyJC-Nqd7wI6I16S)T_5Acda5xeWzg>lXx})(2LM8BDc89sg&#kII8<&5r zX{(b2V*VYQPEdy|WT&>SPN5aha>K#q<^cg(<${}C5?UfM5F}-5dvrqEWMA8{vljk1 zeQ@G^%CY!y<#WfD$+=c?$7*hh{IFz~Uga5pu0$Vm2s1d~v9oX2lBWWc6)|Qc>Xs%u zxSBQzGW0SmABkMkP}Mdn?u1_BUkZ5R3=9<^$hC$%??8+(qpjp?{6I{-xHh%gfe>xl zI#E=Smcz!uerLL=Mw+>m<`vc$cdhN{a@*2VWaE^8OI;NALbTp44ZGF4+lI=i zo+=H+Qa zT60v(8%{#F-M0TJI%c50=x~3;#xm4@-$N$WCN@9!Nf`XE>5|MByH5{4^!|>VVinQh zy0PS9T?pu^V)I{yBK|t;*ZTH3{Srpf`6it!p+sIt0YtSj49xL zfgUa!i%}&ySaH~>I&M?vvN2f{ZJJZ;ZRnNH%o!3LOX-^~?{3_y>LuSv^?Ab_24)yc zBV|Bwq;n>hY~QC1tb$8t>7jFwwAd*+(v?aF2iz%Vc+MzkuA*dyQT20E>}44TW38Odek~cYb#qgG6zn%`zic)4XiUYU1pQtNJ4ON>qJ*WN6*?5fof3ORi1bDr#><+kA4 zsMEww;QdeI+mh#72nlgO0M&I^0G9vn;^BXP67?)he&qAzr&TNwM+_fSPp+K7L*~iU zVa-h{a28s(>x!$4nw`taq%$2Vv>xGAStF75p1mmt+WS^+>sktOlDNdf*9;&W*lD@5 zd>zF%)Ud{wCyb$yq2I5$Jzuwo+T(cju5)+r#?fDeFZX=jy18Iu1W_pp8S%NU4vL?Y z4$>wuVhVHoAxGzJuyKFQ?Kb!ro`?MNXrp}ip=co zQF~@yqA6Tn(kWbD%DI`oXDMEqw}m{aR^*{_7JNWH^|IBabU1v9G$F6u<3k=40qUo) zD1YJ;StaqQ%xoIuOpg$cI_MgVk~fTKCap1Hn0y5W)PIzF9>?6(ebhJ?T%!4Ve5Lks zd@lrQpqEby&gCBYhEMi~348;wY1Bq2emIJ%dS+L}KA(5`#uaD@CoXd~t7Dc6O z(5>-d`Ust*4VtDIJYW)+0$_6zj(>}|kvC4AVw`92&-qAj#}Vo^{>$qu4ci7T!emF@GC08mW`ZLG@ST76%x8!dd@@nE+VM%p_BP!>W?{cf2{zce?#PvLs_Bt?sB zti(OofD%KCiJxW}W!rOz2sRm@0n2`FUkS^)l(XeCCIaPA9rh^SfNnlZuT;H%l`7pl zE~qP%&J5Y&fQ%QAl-BnCx$S3q^hk;jp`FxA^4?JJCg+O{R&7~;LZZG0kdGH?uU{}o z@&*3@kcTb|DS*C;71~l$xfqB*f;wiQ(H@?k=(iV&=)LG9o%*;P@VVr<>mSOo>IV#C z;-}J6CqTN&!5lRk0yl17<+G>6b}sh^KmZMyJh1gG7?K^d8G{*p1ccJq{IWw(l&iU1 zYlW-H5T-&etv8{ac|O1Ix+*Q^{Kvofw3?w_&hms&8tpUj%*Wr4fyd9O=`s=R6$o8S zl*D0Pai%fMiBE?XX9Wmm9fC`A;tzer$KityTl^?JJk46$EV9PFG&5%zl-pM@%y{06|80s?^>h|2hUK|f&c{;vBy;HT$rtaQm z?l+INPqJsGzKHE>y*d^w^2pLo*z>a(itUwwl)eM{pWQ^KmWMFZQC6)Hx%BFIhS*E1 z7)w&ilEErpA$xCaMU23i?7$mzzcNjx{+x-cVX1`G^NK`U$*k zU<@!h4I`Di6JpQMk>|8A<=o^4ki7#A+|R%dG}sR#;q|*HIsvWdF&O98IE%U;lrVJ` zR@4yH)aWs|L~jMw8>3PA-RaQ_=Q?3B5kL2yAlq8`%e`WOU9=>O!%XtrN~E5zPWTFV z&m&@a8$HLJz=Uv{8IIluBi}`B3FRErEN{65eRT_Qb$WF+)Cg!I;mbIPU;mYTLQ$s4 zhS229j}ygJWnQJVVrBk@ZOH>&`X)!3?woSME-o!q>D-w;$qs@g(=bo_B%9n`7~Szk zI^x_(8u%4=NO}B7z)42~aWrS+&1keqA|Q#uYJ-7rmPp8_h&;z!J)QO6vJKf$u{lXRR?Jj#v^63>XpMiFHJDG)@+MzDWle-I1*fe^+= zxc@COv~x79XUq)qQXDk`+rw~0uuJENNBD)y_T>dOh%d||LE2NXW853vBi(=w5_eC}201x~E)c{>L^R&Z3*L5Y0;5<~o|%cQ{v{fB zm@$Z8Vi3DEp&UbjsS%($o^^{r6klvvx@z>qL}JQ!Vf54>Gx-G?u|{^u;FV6#2>XD; zJ@2-d->o#l>DAdiY^*-OSXIs_ZN*qOa$zDl{(vKU>&C9oGa!*{(02nqft@l3J#InU z2cF@ilK@VQq#HoJ;91q}mU!f>ejS}ooz9Ss=sJSq39P zn$F+fRDBXvqNA%H5*06v54f?2#J_+`M{o2dMiSo(8mE``@L4DQLvG2Wl#A z_7kh~=HX(u4+o!bWR}(L?sB*WfG|v`vrAHaO z`##`q6xtY7OlSkkOul0wAC2A4pb&^S@C_hB2@q?b^w<{@ASFzCSbT(f6k)`&ZVY4I z<5Y0j5c4pA@H!fT1o7UIxYr;(Quf#a0wCl5<`8j4z)YcIC7*OZWEf#UaidK_!tesy zA8!sXM`7|Dgwfat8gMQRqra!=z~k=x$pJW`v_y$H7G;R;L3^;}gImAGzGMnzx}>dt&9(->mhqnyfZ`T@#8JY_Q&IsL zei~eQIrW43Dwq1Iv-(BWZ0eu5AEG5bb;;(fv;>Pim*itrH-QPm!LX@xTwkVQMQCqx(ohyw4#Ntl zolH3{P^J!5qJyvyPRG-pCMQ zyIzr}%1#r5nd^r?2d@3W5C3Ktli5p0Bc@}k-7Bi4fj6)efrb&-nKVy-wm-_hE;iJ` zrg+)7y-`6|#}#=LSQ}t6fNhl#0-(mjgefZs*eJb2fLE9Q$!UhkAhJ~!?-p!n`=>5; z7|d%zB}4_B9DOx?nO-tuX*9z=#1O zxGNZU2(v%8vs&p?kOuPT z7R8grG`W*c!=M(Ot*npZV`h*RHGpMg8zY#l@k>+Zb2)8+ar_I3c<){aI{VNX6BJ8w z3MuMM6}C+_)HYXP!7y=g6ctPTbX_-7!0whmeJ=}0)FuIQBLp~7 zXD62F6c&%1Evu@xOvcej%SFHK!pjw`YYzBm*+jtJGx74p6<6KUTyG|i%_r~UhSlf; z2k+p9*63sA4Lz6pE>kNkO6rpE_Wxq*s)FKZqBZUkf;)r&!66Xb36S9KuEE`10>Rzg zVQ~#^0fH_b++_*wE_cZPa;xrr=<3s-^_eOtX1kV|cAAsRfb-rvipa(H>`g96$*rBC z-zG8y6l_^1gWqHnN;Kj3h|XOTqI+H-4x`c5uv#X}%;UY+IK0;@6tO!KZrK(}6gQ zV)}KgfyQENsoKC{)<+}gnF=yt&x~EbITUF#8CX?`~PFlFv>r#c@pnlchk###5=Ut7DJhkG@ z89EInEQumCalQXOURTehp+E8vzrl2lRQ~ZZ@hBNWYI@xC5u(c9?x=vE-~F|cpx&rE z4wvzDgEQ9d#0G+f2!*0D8(I=U=55X+hQfx4q1+VHS!@GSPH@>+njOi^aqkOdv;Vn+vr?NcI#IR_tdcL_sc| z(UH)=H|tkr@o-e~$hom!-l@OK%Rn2<&!vF#-U7YvpTFVDtig1c@(#nkQ}%aLBZH&! zEX??Uc}C-nabe4hq7+Dtb~Vidt4vgIUsEl>4tvby11-j^g{powHH-}h`i?7*r9SIb z&M%BCF8gJzRPD6?;O#>Imlr;}uNU@TD~t}dMWUc3?YH(nr1vCN_a?x_t~IzFUQr#B zm2A#d=&c`Tlz&A%&NlT()U($%%W8{OGqdZaBt?!cMvu;ve_B7It=;FYQwp8Ii*opA zrYmW-4>Ri0(?3`N8La3udi$-qFPY$)l#srh_Ud^Roemvq@nUjgC5IhkI% zDN3m=p1eFmnlzuHB6T`+1QiA^xUkPL@NKlzC zQ9>4~JU)GD=pa!$TYZ-x(H9>Y7j?daW8NT0`(RKICVsML-@#eDtFKYGq; z#KJ^)sk9(6JVYqu@MHe9`aHHA4g*xx+fG#jzbc=G_C&;ATtuHvW}o$)$$a!QX}4ae zqM2?GZK+yTH4Anut6Q{6z2C2y%x!LZ>CjlDsyia(jP@NZV;X^seGR& z-K>j+shf7>cYeAv_zrjLh}zVW$@s708gz}C+L7=A=+`nI^d(CzertfI4Q7Lf6Wn=* z@rj;S@ZfFd*bU>=)$|S?c zFU?<)B*iu9joc)7M1q^b-zQ6Z5iKh)meI%^N_!3L@<^LFAMD5-3VRL0^Nt=kGakqt z0yn>?SB-6iZ3Oal)gy0YNfYI3IYRD#B(A1??><}nn|hONSn!!X?EN@GFjvb7?karw zd-sRxk0Me!n?LC4Oe%9+NOyT;#EL3Bn*j6Jmop>!V4PmXx;Jbe`;rC6UVE@ zT6)>mL>Hiky!Q$~D?C9kAtnp#z>sQ1#m4!1hCn#djXpx7T&>15e#Z0FjUaUs_alKJ z_PwB&=4C_7THv+?c8>bPx;Pm$*`c(u#i0)n1us+2&EvBxQF?#`+i^ zjX=ry?p^9riASRM8Qe_IevLAHjk=^^4*hkXh#jRGbaJMqDJ0~5cj(gngHLQ75=J}t3rm(ul%>HO70h+1VCG1YMMYVsD2h^Gx z<_v$?P6jwPaWvHx3Cwlo+(xbUaRg#7VJ*8|^_3`viz@FZG$V-PP|B(Px+hS`p*ThK zJ&m|)L4B;Fgwyv8>?XhKNqLAZLQ;}fEGiY?K>bK?x5G+8(xbVB1jdUtU_A?BnkQ$F zx9`*>s$`jnPo*Zhc`P0|VAagQ9Di7EJ975;DHGsv{-h3f>%{0M%MVtkc9?IF`LT=p zM~7T1)S@g4R3BH+yrwn-ZP-*sB(8espQF2v?R%O?%S@%mG%5u?7w$QHHDpr&xV%@6 z4B$vgOvUUA>0{nN<7NNFmV^-bgFjL5%~?d?{uCcZcdUY5Xp!TqXg&(D&ULE_$a2cM z*662*S%7l>#~@ZTS0dQtI#mTkIc0h5O6VY3qhZXa@*9|wsx9MrkbdhP*oNjisNHNL zuBr9y9&m+q>sBrjxCEU48{xD-|zVcwebBU6~W zz0jxYeN(do3{j4Jqc-1r6c6gxAwVh8_4q%xnGe2l_r$tcE{Kve8sMWV*p5kPh_CzI-h~0oECrT_`f0 zMlw1+`OQan@Wz|1zciO0x_+lN-wy?8z+f4FbTfHJh8D?60}f~*n52|Jkd>s7tS!U= zB67U3Q@wuyN^FZQxYu=NpQ%e^Sh)}uWQp!|{bLqwoB&(h@0_01qaV;Ea0Ltz|1;uS z#Q}Rh4T&2#_Pi2qwfVJiLq?O-QMZr_-xoaFx;G09$)od)9Sf5M!;!kbGe`wGN9SFD zCDmA@?l`dA9i6{=Wyd2|x`8Fe*gX0xI~BPy2rN0r=A&NOnaGtsV5v7YFZ;^QMXrnj z%aF18u~&8>a-|noR_QW&%G$YJB5@f*PEPh}Z3n<>YrtEIBeS}?3VwGH^7;8m#sssw zK0im3VVfU5K9LIWg6HoZ_&hT+YcFoxE`RX+XLNcs&gOsn;NZ2~uNWI*^)Pc}wD+^n zSt{Z7doz^lB8xnq#nl(@?|1xmBcG^iYWrI(2FYkJR zILu07Zw2qXEq}$0I1%q|<)DGi6Fr_|deW7=#3QRjnTQ-YHEJx$Db4jU*7Hr(U03B% z=sdlVHIo7}9?7xHqA`>wLjX(}A?p>NouBg3Qy;%3@lh2-Zj|VvJEX9k;9T!^imR)ElkfCdi=)Y=p66QOnkgw zvZqb$nU>hi4?AWQ0fgZ0*|8n2PnP~OWR!1oWS*Fr6 z!?+h$!J(leHag3o5}1#Ql-*`%-L4z1<_OeE6c?Q8!hdH^AFzc4&S?iux-#RVHb ztV3D^B)hp0(XQ3ccU`zhZ_ufyc65*j20et6=_~%?9LSJ%y%#onlr|Un0<-)riC_4N z4`#-NC}lt~mIsq>KIuG;5Ny+y(bL_6w1VnQldl6Z~dNap2qU!VWER@opNL7`pvZJY;`5~l{ z)ST;YLkf5)(bKpcqQuZ-$5}XwqXP)n+jvh3RC_jw43+e%?OI{-Yq_yAT6iGTzO#>X|6wU1^?|`eD2WA|6+a~ zZf+K>JU81u)~4VdgJ<3~H+(q4A`;7suk|FQO@M#HcHCw3O$S1Yg)I9%FN~D~{5v*9 ziOEAe%;umXiMYs@`>dXI+z-_aYyBFC@M@NSPm|Th3R&p}HRQGNh{lAF7XE zT;b+Xgx*=>`}XI{+l?sO*ed&lSch47+HM62w=V_SyF6?Xbu_cdJ`x%prLW$(a#4V8 z8zlz^a*K16;r{TZ5J*E>DIT_LEo$W`vz{0i-*qo$x8`n^??IzM`hH|u9h{LerV$9GfpjTbZ;^JC6FU5V&7|DkJa)X zcozC?0JWX&v~b}it9psgcwfX4&k4|MR<)MK$!cMFaYPrEnK8Lp6GOWP_Ks8OiO9N~ zH-bPVp3RZxC5S1|dVfiC@6CyBS%|6+F^uN`>|zyp>FF$Uo*!_=XtinH5#!{Fp)YEq z`9hKIMnzXqyf%cmpE3^ut;HuD>G)To$TY>Hm->oov?5UNAFa(e$}SG3S8=6u-dP?*`XcYxP}jT4RXLCk*Mc*)YMBOHe!+v;tjQYUU5;@J~ZE+y^jV+{#`F{4VPLfJ&l&yTR z@5*)Ks*OHdayDPt>OSKdYqFD2atiMVYSR=xR?V|j-x+}L&kn)RVw zT7Iz`FS^K<&bUbY`E~JQ%jYG77Q6O=4c?fJcza!=1{RaNr8B$Dz#lUZx>QruBa~kp zH3QC4^@gphrrv*e-@ild_4_vFhkKk-&WdfR3#EUW&Juh)C`p=f+UQqb5M(rL}L@$pNb@@=+{=9@qn|8C9O zUTDs|nVd9{hPFQ#wZjgFc3)$r*<_LxK^Ng#o^WYCt>%Q5bY1Z?W*_UxL-VwfQ~;#iIf1u=);?jQJZYzl*T5$^3rzW^>3R#CPvlrTjvru1;0^C=#^Ptad zG5ehQN#}za`!#s&AklJ=QFCejlP*e`EVt|xmQ!T?K&)*eZP&74%qqFA9M!n`a^lFE0w8E`u+y z+Xk2>>-cCE{y?iCzCE!BgOg-~gDeP>P+t!NBA?!&qsJx)#D<+D^P%J1^1ztw{|u9Y z-I*o(ae#KxhBfHsMd8$SD-FB7@`~7%Eo?ZKHyL(lmwj?twN=F#>4vhfc%#7d@)k*9 zk=#2{*y2HVsc2SqJwGLSj?xbbU%=qgW!2Q+FN)6! zTfNAZNQT$eO?2O?_QXA-K;bXpD_+rP4`w!KKVUd$ys)j#G8?&T?J0GT33RC$Lb%(X z(jeP_t-#v8pqAv9 z_oc;ZbeCFGGisma@GaoG97I37nQeGdsmDmTx{FkQJIo^{@G~zXJqs~)!B)f zn-b@TEw68Di-(~igzU1)$`JOPY<$(6WrR?r=g4gRYMy~MB zu$}BY{<`D$st@Oli@p?!SszS(JbPw4wPcWR!0%qhFNTv>B&l{tFuWv1r9ml=oC?lY6pH^VqHUl8U0MR$Ecwe?@}jN(M4|Cbiex3#wJOWx|c@5gv_?==f!fh_5W zhHrP3o$=;oST(xn8EN9{ql|&T!o#fT+rvuv*QQ>FF_hnb)VK#K>?5@{Qf6hJc{zW6gT>>n)~F%H2Ok#-zSE* z1#0gRD!-s<$EDhe-}`>l_Q=*a@i1~5$4=mvm$~4tt%RKEKq$30oW@XcDl1P3>wC>- zP;!_mPUq!6nJ{=)X>Qav;tCq8-2!dYf5*+fEgJx%aOx!_A5tN zb)lQbh<*jWT@}j|GkE#+r_Yi@K0v)wX&H#m_t>jsoReXZ@Y_ zrpwsd>Pn_FqWV6onYYzL$;~@DECxq!p(>N0zS$5$Rn|g%i$V~#a)g?(lzVheSa7%x zKWn9ID{c&uZ@u_LCwcHa81lo&EITX2lk2wCmF@Q4ld4%Pht56S^Rp%$dY-UK{b~E( z6i~XX>?dNYS!>o=YlT_sJ&=XVquRrsh%^)&6Ex*FWdB@h|G;E_0^lLLzV8x(l5_DI z;Qok6`@=Iq6E(nH=JvPbe_1!s2?}XlKd7CGU_3LjYD;yn@i;EZm2?sjNJl*^Xn~5_ zh2c*}Wz26$hEze z?QLt>9Z?S>mwAD)$w&1wI4e#&A}g-ab^Jt1oUguKc@zwuIy_{puNNBwN87qCQgxA1 zZ#RzCG$j+}TcuGpClmGplM7S*Z1(LC@Nj7{iYZLwIA5gC_mnt)L;JpT9kr}Q9_sd{ zyCGM0NdNFid2_{__ucJmSy>$O+b>UH;zh&;N}`DncVS{JxCT;)*o;Ffrd&z>H`;90 zH$Uv?f|l(5d<}XSY4{2qKrR*ZZE&{7yYZ4qA9wA1cIu~hzxRmx%uny4hh%VfHCmLo z`#DT7EepoR5Gq-A`D~i-|rLuK7-qhiZh=t;k`jI=MhzC=X zA(2oa#V zxWQu>0tqI{#$GwSJ@+=&OF`>Eq|60Vs+KG< zA3*m+vdxbNtui2si@SunOZ-7r8RqUb7czQFhhEtP1@bK8-IwPwse0J~e|HGe^|HgJ zr6J{h;NS3fRE}wFFcw;6D zEN|Ob`*>^G&4SCW4-L3|d6^`Iyv^n zOv6u$Ww2HmOOWj5aW>Gi-nCDbAc5x)b#C$KYqj`bD{nyZ8_W&Hi?n z#jIAMPx5gd_)40uoLp+&80?o2m9ONU3`?!H{j!~Ky8wm>*B+k>*IxI99?H4QdIu-A z`_F9Tc4PJcH)ontxg2B}NcL=a%J#(|$TIm4NYe|8zTP(1&LimFqS+8Cko7@_J|S``t* zv0qzy*4hfRpjB=bQDznaGPBA{kAs8=gDmwdK_0bgW2nXH_$r@R@IYy|3qEljZyH?f(Ly{~h(MF855%hS#JlmBPrtVF0{4hd|F6&Q7P6H;j&(JavUp8@ z623EWYR=~alTTd@!QGL_yA<6BOVhb`2X$6hYOYM8BUR$tbyhZO?*vrS2RHBWi^PwH z5q^&tB+ePRv8}8B8nhpkx@3I7mhjLM>Qefl_fqm_x9ZDITqC_z^`HGxj6kXI4-F8n z`%^ydIwDRQDunYdA^D>r@Xp?)dorW;k}0K`cd&$9RF?QgK~-n!$KZj}Y6- zROTqD)~EV%In#QL!Puudas_~nlh``c2QWJ7X3v+TEtVLtb*p7`yi7$8laL$LY5sIf zwGgOoE;3;IRLd*_@Np7yhdK>&N8RtbWjnR$8YU5IMsRteW{KUlZcSCMZT}mc`|-5#K|{9GogJ;n%@}) zS(W6wDk8cnir$yD*q095m#&=sd0G)6CR>IQ2G&+2SxVf;kS;r(NZgOkRI>Sr*f~@? zv&$*BN2VNuDifC>UCSV?EW?vc4aMYYhS&{0>^3xa^*@$pSkaG^dSmK>`q-@KVBG!`Jb7!e6 z31Lu>gp^y6W>vcbBbb+0KZ?k5Od$Dve1>+>nxBr-_SCqu5VKxSh1=Gf*)Y+Ny-^q7 zRmK&gC^a7$5E<$}YNz2EnW}LxB+!*Ws!1G6v_63+i>tDhVlFX?R54F)O}wK^&DTq^ zeF)(H+{ZE1o)+i{DUFo3pC9<^V=d77CQVchj3E$k5r;a|v&Ceff3)S?j%K@1$7s>F z&UL7FAmk#xXkMV$3aKI+r@wdIGJ}oEKsQ}}<)D9$h49*DPPY*stoy;jy%2}4`voDs z5R0C6)lmDJ;kv#EHV;#F$-`33SLsbX+By07c$+PMGAzsc<7Df0Hj z929h3nJSl~YZtI^mCV|<3R8c;#L>1IZ#I`UNZMsmtm-!p{bUH4Aa~t;t`WQc6}?RE z`8-Uy6iJFRex$S6lEss~M0rM{D*!8hHNSk*JiT_)?9_GQAlV9xwi5?)mo?+!t~iJ& zi~!9tG}{K4l4f~>Z6o>(_OZ2*D5Uj*Z=H{)|?soj9R zDzvUo9?d0kSe`smsNie$H!sFX6xVw7=Ip~^lN~5&-Vp?-}go46RFUw22U&g z;ABTLcPoBZh|YXcT&Z{)3ybZD!?rLGkO-3g?RonWzb zNrHUNDx+b)?pzjmFXJu9?wsk^=98^lcQX%9WJZF=a%QZ9Q@$%2~h|?*}PjK^t5+7t(ny$1fOO+{reERkD=qbhv2;FX;xm3 zn=7HWx%Fw*WRF`Dfp?YQ;q19%_}t`C&e#6>uC`Iwd6Jur?l=2pJ|;~Ov-J8taP%Y-u0{t%aPV@6SedYyym z&9|#b>iT_y7_T!T`hD5854rk`rf0W!rC*LG+&W=>AZ=o6ceclTYjK?ySrwUSC63l; z({3Gx_s6!Woe4mhZg_8Nm5S#pxn0RS2d}W)FJg@E1e{A}9f%(36eL4T@zqj(w=)1k zTaWA_S{E3=ESIAd$@|Pz7#nrXXVS2y8+qNf@U4qV;vs9<#nX4cRyw9b>~F1`l;E0~!g zj|%av&0R4KwA%+pQwnk?B`^$ufyIJ7s=|KmH0ug#DFwC6gLVT;cLU3IMb*dVtK-$) z+PdA%);~ZPNR)sRv^b4TabGiC{qko=8zv?w#I!#Ze;h`-gww=ZNV!l0ZY6|LY4-acl{y44GhUCbPSL;JdC^hLCu5*bVEtrGf>^RE7L zTtzm4lKf$Q_B>E1%FC$5n7hcd1>ly$GBlBDuzjpCvNq`74)}CarJAi(ol~yO=6!8I zk-<`6}oH&0-m9<3@R0L4PS70ZfB%t!UK<@DHNlGO9QR}VH}J>9 zfoA5Ye$4ZUjtZQF3>n6NeD2{f?rY)P&{^8Zr00f2a&ysS67yxU!$ShG%nf=8=QlD( zxDjO~GRJ8$$6dMcQNVaq;7Vl39}Gwg3Ye1$oP`VlV?g9lz!+5EiD34IUw0xs3#NT{ zv%weTq+mZ~`)dM+&Q$x(`He@-o(1#17OsuurH#kZbrRN1{#1LiL;Gjh9v+iE!Zdpc zS8hK=`)C4(0h-KOQZSIoMg=ZFhD>5Ws!_nmRA4)r%r!vY7MQ^PEF;5>&6k;jo0)kA z84A8I3BBNgr!{{}OSdluV$|&&fkzu)gX>AbEFZy?=8t!ly?2(O7bhrk;M!I}w!R%H#6pva&zI@WgBWrPh7yj|Bc4k(OcIKAXEY$7?%JbVdRV9!fOca z0Lln6;7L3wt=YavSzK7+`c9qGH6z#e_TLOHlS7df^ef9EEBbH#n~9t3{j9`i;i0N= zekXnOxFu^i1Yv1Z4muuLRuTPgfp>VJ3%Ygg2HIzpa@L*!-Ap-eMBH>P;pSD-IH@m-gJ101!){{DKA){48n& z7_S-DlHVyagl5LNI_c0B9`kIOlRo^L^_-Om>h8o=NN836&E7i|tR@$stu4RHdt=AQ z_jj>|7mX8M3%KFof5oPk=}PU;E~ZOuYu*0*VX8W5OA2x0L1ZDkguQ9)f=PFM;AzD- z_eAkNvk2&MqTc%A4aGmG88!&~#7N^IA(EOz)~*DnaBs5xfg0Z0mGG2b%stz}JrTak zECzZUueZJkFkGkmAn@}cjYk8b0V@oG)8IGRu|QpGg+X}g{r%J%5aB`6sSx;C-eltw zk(rWK@tAejhn^k+Nz^}ggQ3Tvd!2GO6xHU^l@a){f@$*s!&Evu0zX?Y?Q2V;=}rjz zl1SrmKq{FPGr_5M(5ZI;VCdB%Ig^Lk`1*Pc)p(MRPJySHKz&sS)Cr>QO2B4x<^5PM znUwtIKs^fr>UL3gz1K?s0h$Yh4G$paPd<<{?uIn(28b5Q0Fe#_|7)k;U+Z=;_f^2q zUzn_Zj;1HBlpLdFY=_r~TvBH+lkQ$$I!=j;rwjlVd37IV(mm=+$1W31bN?)7h(Ecf z_Zn@C<#UoNCwnf+0vfvHy5?!yS5122PNwTphPchULdNw5zEws`Ct}l~;*~2i#f+*C z5gbR^ToH?CpEZ*$ZaOq)XmE!`WxUpbD0zisy+tt~YC>Pr+T!6MLW`rCvAW^uNt{Vo z9ZzNP`8mHcKELMl2EUP2OOxZD!lZ&R;h$n&6;I+-f!8%GO}P@?)m8eva19sl6*1Mr z`8RWSGBBc{lI)I05`nl>i6 zQWl9)7GO`$1YNcIRxZ&MZBbPzIaj_+1x$%jMCnqg*&*8$Y)g}1B2CdJ@sChd$a(}8 z)}M*A->FK;yFO$p#7LA%N|$yGOPNN2Itk-^>p$P0e4JvVo$C9+QTzE`Q(}0(OirSZ z7U&&)n7Ld@nQCU{El4S(ZiEPw9i=c1>@Ah3`$yqw7U^mhAR_BV7S-1x71kK@=&wGs zRpjlvQO%qHs`$hec-ol=to?pKl~nhesJxRnuTxv}N%>=W)t$@T*i{nmU5ip$-Q2D* zNIvF6Bb^tiU~$Oj(B4GFj{D5-N;!3NTgISq!4J6fUOs}w_xyoM1$A8O0EF~GmEKDX zfLc0~O6s^ajX^oZ3`z7}#sGx;Q>na;YXg9I8D{CdlmX~#jZ$?T7m$?$rpIOQasr^R zGNt;upFmcQF}*6ogDe0omKV0>6s7u;iQw zGY`HpKMB~UGpy^3JN>ouo7Q>U^#n=#K{9q*x#k+ppJeUQrB`+2-T$7rP3s)(dV;0> z$}@IFx#p(z?%S3*=9BrMoL%x5TRj%=LaW?o%p>RBSI*!*VnWb^lLLFmsL+Q zcfaPA>I0)XUJ);#MX68vUiwdBW_nikPokk||4&k(ikHR<`}9tkj40G<;8XGW_w~2a zPjL?4%ih6C6S%fAma4IWaB-8A25Y8`MH)jCE6Yj~9YeANQ9YOgHA^r(W@WT#2jK&J+&M z`_%1NL0rJqL>i^gcHUzY+{*!k@+*N)F#8?Yylj3ata{Z@*%%-I-L=gyNzajiMy~4Zr-Ai4@q1Yj+b5r`6V;ooCP=l zkD0Ahmc*R#tB1aL#?o1U;5A51szYL~z#ahW3TLdH1s-VtrI6H$#N3wc>y`yGw$1|U z0Juvl^)x^hstrR!B8C2&?Dr|0*&8X+->*n9oD|b;&GEv!*F<9g`SOidxDw$Il}#+EP-6;Q3T1&HkYzo?a6%yU&BkZyhuBuzQ+ zcM#dTma~`r;%TXa*QzYaAoe7ZfVwJ$YG(>`u(o9tGc? z22=eDo@JsJm2rIx*Ik#{eO$|Z9PbnlrJW4Fy%KNr56o%|O1mI_dlud*7-m%-r5zf- zT>+J)!T&}ifNMMOMiup>9KPL8c|EFmz2nlI zq>SrNvH@H>f%q01;&`XNitA&|>-}2pweamgCJ%ml0p98)%xX1CJ3M~7otFC=Jz1Qd&;*BYP?fHhST}Yjs(2bA(&M=6#gc6mf2ouruC<)ZsUj>u$H?ys=GdpyY<;> zIo>MJPuD*=7gIYIs{4z=dTqbgTH|Ra&`$|W4AW}cw+&sOpS)M^YUAlDkW<#}H2Sit zudV;oDx^(6I>0}=PWU2a$hl!yoYuuKS`4fgZY2ykw+s=+D`CGcWQG#*EBmUYGP$Sr zTVNp}tMh#=ztQdS^$$;Ny^%vXJ#07Ph6BJF>0Z~+tXci2A+qiT?(6MiqW;i8 z^L}zyi(-2Vr7k(+z${dh1H4=jqBIn^wcTGGX+7zaK@rD##cx#iC@4K`*lc?LhjxE1 zr1dBOPhPj~M&%ZULj2>OL=;p{$+B(^cUlh+*X!1OsO}L^t6H#XmT$oW?fz~^>sg=H zb8xz`^|~oxxEl~EmIpaA&S9Rzp`I<#HOg$cGtOXqMWDJgVAVim;N5or8>ICPAc|3*cn{8K_osrhHvt^k+;(R$(OBKJfC#kNK8AYx14^zYIH z7Odd3tqnNnObyuQ3MjMaPF1i)aumB~XUht*vM)S0ifAeH|(a1|e8oOa!BaiJf9 zp6Fh<&7(ut-gMgmL|yDF!3T5O1~_!K0Y@i=Kg+8l{*@qwezZlum4~k}##8q3@DWfg zQrMRTLoy>}?}&?@x4nCY=2JuC2wBo!5u75yo&5fx`9yrheO2bgR|vhxcPIZB0F@~0 zYcjXKLI_2jJNdr>h)ZE#m-!xmF8qp~cZ|A+<~d^2_YIjtULl7f!Cj+10IF8oH)S4p zg^Y`Qca3@hXk2yQg1Pt=QZ4G-4V)#<*v*pa7=tet;v6GSy3asW^RrGzq%ZH6eJ#f6 z7=HgNQs~MD{}uXl48#8lTDtO)f5piMhOvLe&kyC`e}&%%hKVs~3;6U7oKmO}1zeoM z{36_O^!+pJewgM5{A{J1`M=cGK_8KiE*w60HUseXCs6(w+0q* zemHD;H<9?79pzyGAl^3eY=v})8``}(R5F}w=lO81!2sdd*s>l%nqMRK>iDCUKzyx^ zbFB_6zRsyd5MQIBJoE!9n5Nm?kPb=1lUKX3HmU7ABF=RWKo~X6?u3x$)lj`U7S&>i zT_by=Uq#m1KDNMnlCLKL(RtIS^^hm@?@wdE;@!`FGCSH2hkZb;^jhaA%+msH8!VyOR0 zgf9UEAIifD;FxMY$|;}yvs5|#fi`BzMsIg_G~V%T%gTmn^mZuDt}XyD#yBdqtZbRu zf@eR_rY!jYP-KK-e2c(30A+lj%~%oxpu{}pkGpKkwY zoD*GcAH#XQNuSwJPX~wF`s4ZB_q~=)#G0q5bQUO7qCH}?t&!$DgRO{zhg*&vGSD|9 zV(g8B6nF*&j%z5r1%0EQY@;4sbf@&X`FDtYxny&rNNMI6+0DY6<4Ytr zPNbw?^IOowy$Ug`4FJ(ehPm*@cb4kW63DU@AgiVHo}}`w1(<5G7{GFcbOTsmXSa}v zdxOX}dJys)13mdo#R&dlNdN@Z^cEp;uSN`O6X1v=8((-sc7+rJ5Mq;C@Wj1#p22I@ zZ|F;MX}!-3^CeT~fh!S^zuo+mK(;XiM1ehe@yUxlgUf(^4K9LN1o;oJvTfeb)20E2 zjdHS$a)8)72MF(JD(`w=57q3`{?N56q^>0j6%5+fs0gx+ejtkIHLCLfs}mri$>krX zIR;!*cP7qEM*HO4Ry7Q{42?=g;6EG|%N%lGd+lhPnGE#Fu}iCCV9W0Ukh1L#(wRvQ z0Qsq5V8~|xP=eu3^JznWpWIJyS&bEY?X-+?QbEr&1~%VVrZUeP{-cioM3H3NJxvBc z)(Sk2d`GXUqeQB%X=niAm*v^xBYjo1CT?{oGy9dKiO_|5mgqdov6CuApUbs8W|`SK zDa||F@r`|^R{b|uY*o~3ox7#e^_BNVkE~hj!rDnC2?Ji_<1U87=Ep1=rLGVE=0jig z`LuAM>eu5!<{Mm=;FNpYn9&h$YQl!TIZ|0og-Qbz26|AKGp=_A;tUZ&V{u?QJt)0C zcd@&aQ$>Xxel`$Z6{-NGv~+h0@sLAPSm0M~c3Cdo$5K4hQYJJ@X?W`D5tppFP*W8? zg4yWsecG?8U`UCn0wo%KVc0cY#Pt zdGRa7XMcX(C#WD^1(7G&CKOUU1uQiB{J?whJ6|e16}CwF;{5x4FJTh^m?nI<#`G&&Sl9H<#CdP4~=&5tPEwsQx ziwHQ#VvW&_ifmhrgpGCZXFK*_#}FBy9B4in<3=F-O|TWfwZ%So8_7oI$*va^IY+P+ z$F+q%=pMvI=Ec4m5a~v+6~?s%J9z8QmhH(dCp>^W;J!P?4Nq7?u+_q~r5=06FyOv1 zcFQ+->y>r(`xmB>Ari_~_=*Sh_@{lE3%R#Ok$kI>*s%_QY{#DLf0$Ss}N z=(k-LO!dPwvi3SgH@Rj~+lbU@m%O8b_`m@B_{P4_(=QzAEXJ&N&v}&v_)q^QI+#A8 zR%9ja(Lq1S)Q6=ora{jLHrH@_`eaolqIqH`JNp7Q+jzylCvB#Y>rVxR_-`&z2j+#O z7K0*h2)1~ZAd6HvR(4M~7fXqCxl=A%3zz_5AtPMegVo$1W}V?B@Hgr#QL#C&uB=hBtQaDPA;O@&IPWEpDRlQ&T`UZh)l=uP{)a3o*|5cY~AM4(he<6gV?QI zIM74~AjW?MFye)VnTA*WsXy^e-tqqh1Zv#vZ`|qgh(O-U4tWw@kc>A0X76Cke*M_U zT{zc5!`?Bsvst&GCO&=G@m)9)M8=CjvE4X?Lcoq-;6-KXhC|cKz)Wl9yCF^ zEI_*qK%i(rp0q%`5&9A!`-I?k13<6mAgG9qp^4|6V8;AkjjfB=~2GL^z0S2-#`~IUm z*FxUlgZH5!>okGTV}s-Z_vL`!#RnIh&K3YHBU&*@P)0Z$#XA%ScM^f(`XdZKa=MFy(9 zPf)H~$c~Mu)g(c{h{$}K$Q?I=PsqM@exG>#!xiJnpif4mp@d{YL~}N0K6;OoX9caKO(9<#Sny znkz{^SieS=&CU7bOJ{uuw3Bik`7(s>oo(>l*l$eWrdk`CSJq~MAphZIZFACpAZ%^p zoY;RLZ5v%zcA(OfdPDQ#+TuT@!DV@KmVY2rZI+y=e;^T?9G8}VN`U(2x%N7N&|~{m zuhY$yJmGsL8$_3@3;BW6053Ke@_S>tn#bHqgz!ucy7ATiC`U)5ambi6_0ug6^IM>uxZJud$z7 z)aEVImKWQWN9V|(u<1*&sZDxSLw-f5xCu_N$wPXTLw=Q~uqi^ZS%Bhh5%~rl z^><(9eSXdTPsE`q4F59m%?k3X9mP$ZTfkbxn@!{!d{h?ArytwCU-RIH`#<=H+2Ds+ zg>p6m@hS+QA~diYC7jQ256M#yf#y#m(Ypo~fI`y&o3YZbE)^qK!Je z5I=^Jt+kERbT<;Lc5BpHou2nHdq#Q+%j}x#MkCt`o|56cjKXqPg(dz3BK>&h_T@46 zO-Xp}LM?0!RC5_LF)urcbt(~RCn*wD&dO=w7;lC;%8Wt1tj>w!7>|WI3X4IN)pqOH zrUFMC4*-sp+`P7_^4O^I#;E3!P0FrgovMV|$%{nM5^@4L#&e*K;(#Cyx3Fz05ybHX z;F#V`e4DD*O2H2ZQjW}N;26h39LHjoVs%{2@F?1}R=5Hxu^O76$KK@&c@hCzNBn2@kukqJoY2C)z?UO7fHh=r|h!2*#@ec<*1vta~fe*(+*Ox8=24*)?Uss|<- z9=v?Oc#Xk$H{b)z^u2ufL0i&6w7o%R2W9O0DEpAm49pooGJl^TzCge*feHf?E^_vR zlzr+l0d+vFjNI*X`2Z}L04!jJOu>GDvX21Gz#d2;JePfe;4}dH{ufeES)v;!4+Mom z&;*!JJ)e4kh+qOW0y09B?fWVFP|$WQfQjgHmTBl7LolD;z`m3paZbQtDFlsxiT-~H zxpWXpAmdOi&yhdD2(0+ufzobdY~ttu_8jAfoL~>4C5&E}Lf~ z`;0(5+X1DFFMv|?=^+2web5F<-NeD({7Yout$G^WJr!xeJDE*8iOlB@QTD;18JPZ; zYI=dtFb1o>gcM|P4o1oY!IKGy1Q6B^h@DPCsf;^C!bdZ^Uv(he>B9Y`60 zSpD~=978GdgCeDaKm%Kz+%y=b6bym=_CGCWeo!NsfYtvP8aJ>GgAknS{}^F0_ks55 zAUpr{B{KXX7zCTJ`u`-*DEh|!W0+(k7pH?%{8xOGlaSLGEc?GB1QPmaDEj`_6)@rP z2f_pRmP}0|0%v%K3AE?GuKv}4r|A1%yFjTfW3aCOC7K3GfBJAAk+ao^z}ZSa#DVFG z5Dz}j^u9kb2tdsBVp8QsLCa@7cdbLqPdsu*%=^D&jx9b<_`d^?-#ofEq1U{Fc?*-_ z7jo?3EL+SlSAwg=+io#SJBKNBpnf{Q$;X;DS$EBT=euW;)l5_%%}g3$#uu^}-pK)9P@2xjg>Ys1}|o%Wrz|t_}@`E$d8dZ4MlFow;snh zc8UX}Zw6A&Fsw|}`4gwJbld~L_0~K3e&UZu$#q*f_psi0;BH_OzAB{c!lJ5y>yzct zx$Y_l$NNS_(b06eo0K$I5(=~RP`B!I-GZs>)SB?X2Bri0NFk1o5Y}UuX1mYtua}!H}EHe$cq4*DT!;^e@tHaZpLT~~+!i{wqC$_9R!{EU#MR>%&=V|fQ_ZCW~R zR$qXcrx;p-UG+0dUc;M5wFQzc6TH_T(1$x-ULT0T*bxJl=+ll+RUmE_@fE#uW(hntOeWs^hrlnrG|B- z5xnwaq)nxnt(j)c-3qrdhIV?TyooZ~1v5~y(kQ1Q>a6q}ZAoS7b#h)S{r}4lG1H`z zRkdMOZOEy3H8HL10;rk_;$s?)`@Ay2B0nP2^8X11P z3CgU$dqqu0W@*i!a$2qQJUX-@Gae|sepbh!YEGm4I5eQ*`FEG!JG1ilwn~nz%n}y7 zGMjnQ@_zB&yDJX*Td04Mk@2dG()xvv_bV{a zF^`s?#voUb5gsAtjd;8U%q%+S1qJ+opye+*BM#oe>&+atByuPq{dtU;g|vC{VLa zerRzFjbB^1&%=g@_ynJjhs&)AR|Zg&O9|<*LBLz5R#= zR`(E>RoeF)+W|f^WQl0;nE?6pKUx*oF$UzlJ3@>%?|o^2r%3-hII!y(AN4*TiT-!A ze`6hVMlAG6!hagax}f)QK`#q1W(^iev^V#jz5ehVYckqAt;yyag5Xa$7EnD?Abw(C zGknHVeeT$Obw798&D(IE>A{~7VR->DoZvggAcP5h&NKNeH@;9eGh{cLELRBc0if@x z5V_uAxq*bt0XvDn{3*)~Dbx)yEU!Bh5x9UE$X5zPE{}0SU>;+DKXKs6G^5FG8Nx0A z$j6C9c#i>n4+Q3e69e;D0^%ii+gS*3o*}`X(}6*eMvd915u)Arf7lcRUJ2f>SYQ}D zDexrX1P#^WDn=G6mo!%ZSk>Hv`R4nrj}+KU4$63+^WeQXFpU7*Q<^l_pBz|}({z_> z|ApgUQ1xH%OAd&f`wxlrFR1Y!k}}YJGF>Q(T@FVJKs`KF0az2RLJPgo6t<~)`)@t9 z_t3}%3T@;UHEi(7uT@bulDQ1$l7-Z|`ReKHfil^K-`~VbboC>t4u&&;dz;rxxvQ=1 zyD+;@t*KgHn4%W9E!Y0H@TNJgZn;`6bl^m&f>P+78Eu6_$22@Q=K&eT)@3b`RGL^Mnf->!QcG2drS`vjetbmf$--bo;6gs#xDdK5uUQ)JqKMchTk` zeF{54rYi|Cmx%I7zSU~|(dnZsgnt%w2PJTS8(P+E)ljAm(V`Hwui?+AUZU)1KL4$& zf9Ph8;-sEvJwn1YD9?^`n^Yt6&_gy0`~$8J>$X<7zJ=c|{2a1R!wvZM5#(PQs=j74 zos_VbKn78Po1p<@5B+|N3+U+pLQWoFj8)(!^c1>B<2mrh#!!mgiYf_~YDeWSlb4=V zjUI-U)EQrX{|16VEQfFU-=S{_n}pt>9lw1E5e(Lp&KPxX)ufl=F`aQ3rrHOny;Ztj z5DWoOc9a=Ik*MN& zTFN|{VzHJjZ*YraD&_dzcAii!oG-k{{&;2c@V2zF8+va20OeX;hw*;Puab}>=@K!& znFh_iEVU6JwZTbkE3UjAQ{IH5YgxlSb6J||o_TJ^QnF*L1wVNFDrh5zF!)~A+T3xD z-m||*_bqDytbvOO=)jr2-W=&+c>hU|eaG#)wcf?;osPV{ z$ObyP{gu=&r1X-|u^=pP0x=KM(?kr ze15i5zRhNPC@uLCtK428gq8$*5`_}aiB~A=vcMC;E2L(a)Fy{-ARaybhIEYdUGfp; zvIPLsycXQK^tXSD`?~)lu>%?)aYwL8NcXhcvVOIR^5SVa^ln)izOgO*Ai3s7teF5^| zi^7Jtby+9?Ug#Q&+p8Cu^%@X(`oXW^A#kl5#UAJj1N~HBZSWO{z3QJ2^+ZSu_9nOB zT~(;N`^^eKuMumD7f)1&o@X4&RVtN zyPmmP&I;<9!AX6~G8ODc;Wazsf_(0XD7?Qbgcb`eo6UD>UJ3mn^OT=w%UeET3me%C zEh~te$q59qBEM#w3JEOmm5+$QQC=7TAdr@l4ir9O*;V{Wk(PF7!_F7gEn6(x(GpU5 zxJr)vihxF13iM@1Ue5M4YuIf`!+kl~h@18*-~ha}z7I3w-B($A$a%y~SXKv031D!l z??ar`p?3~ZXUBJq&-K)`qI9KXy8FuAst&j|=fbb`+*KDy@YaQU>R4=8`H;JC?M3t6 zy2k9Degm_8!wcW*41)z+o~v*5rmJoBCa7<{ZJQg|9-o^}>3qoKR{76OFZG_Doa;w8 zKlT8A$VRun;$&Cl;R7QU&W{X(?XOs`I^Ea4DXq5sBP=R6w|~`cZs99-53scQM;I1^ z;%fo{IlE7=ale1`J3dJ}_%uiX?Vp!(Kv?fNZ(f6S3Ud$2)^!i^A-;lm5#EBm8#1CC z?c*!;aLy9!21P69D1%)Tus|#K|3<0sl`o$U<-4PN+M?A7qSeW1d5N64{7GbWi40$Z z2t1cHG4_mVqa1E)qHe;)R6_)8DoNfA)iDa#9Cj$~>~eU#p!vo-i)dbwQh8pJ(t(!C zgDc~cV%83OrMrNOXH@ zKwv7Fwk)L`B&E$wZ7ZX^o?hP65IWxlZ>2>=2a$rwO??S2Ye^U(^(LsEDN!@Is%6Pk z-n6P{nP(yOCaSVd318ycRi#5m*GQ5uKOHCaCak=URXE=>o5FtWO;}V&V+&7hdr{s* zXesrU2y}GG><`;0vg+&bUud@T#Xgj%YPcIB?+uP9U{~7 zd5$-UZJvW6h{(qQ@svRP7!cnG#E)R=csbczjWq!ACP4h!)1f>PU;EO-)_2>TBs67t zxp%KSb0A?2NNBklBXGq;1LS6>dpqrKBnfCg9nQ4yz5JGzzhb_$YUqd=m`$4T<9mr# zmH#waN$On%9QM?C>3ZF*Z6?k10OO{>_(oE1+rwc2!0+n+E~d7RO3S43?hG|YN5o1V zPqjIFENoHOPl9ACTx|fPnraV~LJgJbMSX0EH}q=%cyhNMn&y+L-*UQFVq`+(>}x$$&o%+OaJFpx9qa>ZRYs2U(ESoSD4@HCj9BN zpYXK^+CL$Vpy~KCntW`EM=>^SQMg5afK$|9TAsQ*Q>$N^jnPK}p!bHk_ zeYQf_Q3xw7Ws_k>Ma@J3dvsizRdx|#b?XNBhFrO7cIv5UzA*XtEq>$WFM^z=nQt{QzSmF<-$U`Hs5Uv{2XIW$rzMLV#IIzOk(xChN@DHM?KUO$ zVwmB~ixnl+vjMuSEkzDRc%gW&RM}?|dy|ZC=8KA_iN@QUgU@)fF};p)x8{r3{^CIQ zfGwbGu%R8;3eJy|Q{}fT;jzm}TL3Nq)rb~}G*|egvhXuHP%b*K6Z3?XZaPvcTiasp z4KsD$q%8;Rh@uf`$o!d2DRg*GE7zi# zVU}CRsOt$q`=@B6jz5W5t;^73H-@=8uA4bOV&^>{;#<;?Cler-!#B*@p{9jtRMPG9!*kVA~`^=5fZ_etgVc7_^v+5k_US z>L6=W?5rV91*%kle)Mr)#xN(s(}L`gB{GI(Xf?e)a2kd95g>i_W=RrY~U3fW-F_;+*IY@w-sxFU-XqWufmU%w8gH%r zB)4T*cOmBuxOzyO&*A^ou^{2(j{8PE-NJL}x@9SUEl2pcbyifs<4fjVRsnD&k+aP2 zrbldYmk0MPE(zpET@WNZv&@h4jyo{8#753H=H=ub?w$L7uoDq?Ywt3$YWqq(<)q|4 zJ6Ve~y-?Y!Nb%@TDtrDV-fXbpI`+HdD>tCNC(`dmoPv%pyapU# ziS*sVv+bV7b=%)K!f}%5_Mx;xfA5_Ii_?z)A|3+%9IPi4x%N3ifX5XX_ubOa?LMbq zJG@IFbMjsxadC466b*xZ&%y7j19n6+2Kp}5Z2ZX)rcp^ZS5D`swqYK%&Y!gSlu_Nn z1Z;>_r|>>2vUBHM<~A$ur(aTSTYKHU&4(E<3cF?RxBNCW1J(PIanA8k*IfTSlyZuS zmn(i?hpOm?W1i|gc0GfazJ-%3b|A?PJr{V|*e5GK<5{B5W1RSMPd4_JWPYY{16p@} zd|bK%Cn2Z0b=;!mtM>W!j$heB>(0-Q*#Fh6@vHp(`eW<-tG4yE7q9yBTBYjR zkxS^DMO(`Ccgdn}%L9)s&>Vs0+j8g+-EYei9*b%(vCT%>^tq{4qMu-kk9`>_7h};j z;gl4g-3PjlfwUI*EF&KMepC1q#v9j<5P69nQg8#*)h(-w zcLxCtwJzqhb8o!7H>)=0mFIT6Tn5is-&R8$uZ~;$>D+GcQ!bMIQ!WZ2_PmCj2mE=<2Bh~5 zx6fY-yU&09pW*hk19EiT@b3z{t0&%4>E|DHn!MW?n`1M#)5tXSz5(c46>6nB1f05A ze)@2^5&wb+kpo^YO*!hOh01%byd=B3=iN~bmA(JG`{DoV&1gm4u|;#nU3d9DC-?DP zIq&g(A>r{oDf98W_vCa`+a|Z@4{giW#rbae*dM-DGUv+1R(ZJIJL2`x2Uwl^)}GOs z%Ta{*6Sb-gz%6Wa*OW#lrLqt{t}!I>r~6mDvn04Zu~yUSOZ?cv(6s#&y19Y5?W#kU+DyOOxIE;jd4as%xJ)=`S|e~ep+&I5 zsFxjfD#jtoa3%79JpSz?m{oKvvPor$E z|I5MmlK6Fo%kGYulkjMz^}F{gS7fcPqMzYL!y9Bq4Of5NUk?Bzu`yj&>jdc1VE)N4 zk>2GW`xB5CC*SF`6LCeqkANYWlobne8D<)93y3)ib4>A)DckP{j8f8T%&+6Lql{r+ z&<2apd#Cbwtul`O?sv=>ELv2kshF`;>=lsA7r1NE#Kij`c+E=)g%_Z@evw&w1*1y<;1&M z=o4Ac#S0>ft3T2~7znA3JmUeuCVdOxQpDdy09$pu4nWN8h?*{)TN{BY zZ}u`kUEtOYF3ycYIycLY^Rja&{2P6VYv2DPGz`=-U(My4l0(yzZ-SZHH&Lm#Np)cu zn&(7lI}Q0;&G6>uXVxZnC5!9;k8pmEem#W%qQ_u7@(|3wu%wtHN>gMDWPY%Ml%yyM z-{W4zhh9dn(I9c}HN0a*h3kl;$Xp0=Wb&9YDC~64KNGi8>p;JQ!N{xNK;%TLkknV; zF$%2_H7ZS@TjVv*n)Pr?@9YoLYuMd+)D4s!5;=c>s;K`6ktpu3nq3L67X*nrYOmrU zgUima%WMldl`UkCf*W>$zgCQs(smQh>|-@AWM_;*e8D6d!`KLoEME+TE`XJdDnR!t z8dXq$B-=JJhfbmY)7{U95q~y)_R2oXmU4{>Y3a;OA@(a%TUfM$i(EBz#!Qo&m+*)y z5*g9czV=4ePX1?}s88Cf*p)qM=;>>QbPbI9g#^m3)tlh6e$0)x%m-|O;9ofi;=yf* zvD-B&iJg^F%b_+r;0M$F9s-Vu1&+xeJyMPQJ*_N&n-W7y@VD}9D9I{u(N9&ia@C}$ zYSk(VRb7uy4gWN%(NUiFMQJ6LiU=yUq{{KTHQI^v+oHb*&lb;AL%@CT+ItY+sg62D zg($KK#S)936u&825sIZ8{nkvac$2W4rDXDSlV*u^oXV*3^U@S!0PGz<_Gi-bIc5){nuQcSR(H%YnRr-}_y zg?GUGl|m;|xPnFw>5b1PY(f^{^i>g%ud~( zGn{2d)T5PTy&(=y*udps&4?)%ei5%`Dx0)hXEhnB4^^V(=VBw8EeYUVG^z8pzYQ_- z4&Cu94EDhP@hHA+aD+oL^n-Cn_8f>j;O!3^3NQzyJV+iweMwby)uR$MB0+RCl<>8; zO_cDfpu$le&FdEMc5T>cP{d0;65+h6W=q~k2%1~x$yMpG3ZZU!u696gX4yaOACd#{ z-NAix(?9&sF?27W{pbO`J=l`8O&z$dX_7u5hfUtkZ9KHOnje}${6KxBoBknMEjhM< zTCBF71DBDE1DpJu{p1lw%c-^}R2e6?UavAj%KB{xg-Uu2kaE|CkYt_vT0BlJz$(*+ zE{w9*S2uBXW7-`ZaTN`_HS4{40g{Rz7;*a>_F$9)eO`zbiVS6MGGvzLMM6StAw;4a4lTRT$oOgE7 zpwhyT$Sm{`X0^71)q-p99LWMALG%4@U=L`D=ux|3LG{8}+-;Au5BuE+s=AOyj(8+zZSC_v+^tMC#& zUz>5{my)YNYT>(4#d8zBu75*wQQCi#s{}{VN<+~W2y6iv#}8{nRJh{WRTHd$@5ci> zG3IaBFLy*>UlTQJ4{tfV_{k>qEppULVH=@J*z0$B?3hTC>-E!Qk8m@9P9h>t?^LS3VWkzTD2~K!!3Ph-QK_+Y1 zL&9HN`v-1gU6g=0r)fIYsbL%~>=Z-OTlArH#Jp;VSdVhn8U&oWjxs&|EQ{M zuu!`tJfE$F582i~?n4VRvzgC@Gak(E#{zSt`_$wg>0o`}ybTHmL~wk&yv1c{9qg!Q zMk`Q7LRT{;?cv!Y2(-Ngv7+Ps;6*aoC5Y4#^4BAoP!CttCooS|_yUT=)g>qjv5Os{ z%~DqQ;45S1+Bq_uJUtr{?%$MgpwNZNdWs5G{VTaJ^t{G#1KB&)LkTn39gz7^u2oi{ZZC3<`~m z6%JCa3l?=4z+q73rO8U}J2#EV(-Qm;FOZYH^lT36h^JBvy5l~6TIka7>@kLE4IuiV zcL8k$sq(HkDu`pwzq2T;Bm%ylMlOYj7Tnl*Wj*fhU}F=)(cCvuSHQ#=XK1DH89LM2 zx&pQxcTQBpYGea`Hq`vOV%4kDn~qNOE&mr>lWXF5IFZ}Pnux2isH2;E9t$M@5gUKn ze32lU(rTS8;tV9w-OSCq0i)g9nE^(brBA&o_~N(}+ARF!xPq3&San_rc;R{Z!la%;0GkgX&E%AaadKYFP2i8L?pq8g zwfAc!+VO=g;;v%8in`h%srfyaey>g!nv2UOzH0z_VQESI+LXs})hyW}t(iXbVsZ(# zLR(FBP*J$?znpjsJI~)u1cL{&HNbvGzB#9;b?A1uGb@PK;XHk8g*B6 zM71#V?Bu;GY-irEhie%qfiV4hJ8GekrSx;GN~I&Lt@vg<#d=D>QAzH6$N~HULn(`( z#uD_xu&)Bz=yk9q9&cT#1lp9)X*{lWlpEmd>|6=OdeG)Hk@z$(KMKxo1n5CvLG*)t(9lCF0@} zL@s867)D5fj~}sNl}eQrm0qn8OTsAtKg!dV(TKho;p^dvnkoU`Qcx|Fu@or4Otap$ z?p`jtHpxza>!BolEjV$NNii7dGker6&lNF0vtyi<69*WzYtvk#+00ufjM5@%ss9@6 zd7LFcLf8J5T=Cp+^yk;aIK$kqta6cNz}n-<6{D`C#j{(9wa5B0T05g5Pl%r;^bK*@ zz6Y@#uO9(;C;g~*^?Y~-?p~W6kG|Dp2|DePV^gB}?I55;Il^I ziCc26L6EibSk3E$R~Kn6fkEJL5z0)u{c~_@#+X}xOG$>!w>~iRLQ{|nd4%klWfJN zZG(RQ*zzj~(jz;?zl&5pd*zoI($APm4~M27R!R>r$K`8234YC#ho@HJGYpwcw!X77 z#V+q{d2)c~_Fl!`N8VR;dU$xsou%{bdP^8JZ<-E!kb_q`&Cilo9n8Ot8^p=G_& zp>Gl0I*PMGr@^h37QE7WjjH3Tcf4?Q1$6y>{|JF3!-EY$!3~y#d1qZlhWi3hhKBrJ zWEQ_vYq?|$10wqr?XpvC^_$3-$_;K=EN_LK*f+Esae^Og6+f7N(${!53oO~rsvF;H zNyD;PlyPytGV510EjYx2R1m_)U5%)M6O%azYC}HDC^+qTOa$K@nznKUFItjX>3ejG z%u6}f)1?-!gIHRA{|5H1YQu+%W8{>>$ODm`jL2E!k}^9?OO|PDG?*5*~Nv zs&Vf54Ynhf5cO!M7S1k}n!cwgnu4Wfd%bc!t+(iwrl<0y<49DizEBU4PwKyyIqmn5^3LtxMmH|FBpkJ$ zmf~&8Qs^aLf{GTT!!6xOvmu~N9&Hp6#(!?v2)qg&UWnxz1WTf$)pZ2$Oy(BKZ zqP4CGm~glp41O6%V`)>h30OPEYdUizOkY4e(~5<=4P@zprq~7oSi;=L7gG+b+|Ma= z2=*;cW1vr#b_{i-9?ubtdL%z7n~n5r_pV~r%W|^d4SDP;%(Y@#fT zv|G!MSWc2Ha7W6QbtUA!7*D11FURJ*M00hto*en*_459X+u$4*_9}FlmOF%SW`SF= zbh?;dRpzEEMUh=F9hvj!Jt9|;5*H&*QEK>EF9%TdmCJ}NLQ&_8SXkB7vwzC&I__2H z8eNCW*;KG4CH>2fzDKuZ5z1swUi7yiAAPw&)UDM)8M#qsR|#(n`z?OZL%kkRGGF4= zL-3sgljBN)_NL0O*;Z78U!8N4b96*{7K6%}2PLQI&*a5<;`a3^MU|2(877(l zO0s*J;~H_yA=;0k>117Ha+=4#6Xge89~xA{DBlO(9i}|BU&k&FvWBnz7tM-x-x&i!gbB+85vPPqARuhaKbQm6uXs0 zIB6V=>|PI2W50y8(-AO!z%jT-nHS8W{6l)zUs-Ocl^|8YXNkMQc7w8ek24=&905I{ z)vy2v%CS$nIS7Tv=~Nl`EaSZbUBq(wF&q}Pgd^yGRh z7}z?qtrB#>z#fy0AGT+pZj;o2p*`X5Ka}D}ge(_2@Jk2w*}d+g1~o=4hjpPtHlY(C zeGiV@-SBJ|FjbDVRmo5Y_Fni_IRf~)zscS4WZPS2Y@)}nZ*U?$IX-HVvH*#XeI*uT??-MEtRNMv~Pmkwu z_PlHx&{if*AKnH1U(H<-qXSuB&qR(-cd#MFsGtE|p8t%{0 zi`$A_xqX;bt-)jpL~#{rQS8I%a5BBE#f+C!udkOL7cR8L_H@+0rZf6`E~Xf9YSB>n zwQCR`wnTAf=Q)p+ga0sfv);L<-Iksc$S4xbsyrYoUyarx#|pdAqQO zT!O}>`xdS5jJiYSW3K7Zd=s}#O`_KpnyT}sY-^I)!pYJQ0mNk$zI8IZHfvLz-CNgs zOviyEi`3bAv3gc*$gfPKOEp0Iaa9l3j??rDki`nJmVan<|XN}unRpmz}EPBY%{+^3GSyVKVan|pKe zfV=9|u;T{C&Z;smy9%a8Zd7-}LVjRNj~b5i1hc-U4gsBEN6L&+XL*1uvx~!aUgtT} zZy;P59B;r~`47(NZ(mUX?W!?a-H$4vMjQcLvW)jBev+N)BgF=3pXRAwS+yBREq3@; z`yD6EUEC@!jAiStrS3TLr&A^F{c?}eQUcrCBtho$ybZ|>m7cof2l2^L!)PlXZBnW- z&Y;6iSxK@VL)`_R`^5{l^yP+{!VR>ILRKc!T|(Z0RF(jyUxns&h+rE8O#75rnlI(a7ZIE+`LffGsPsflViqHHml`(%W$Lq92U zh>H@EmA{%J`U_;l=_2w~#-1&7(GBKt_(Zu_iw2cRMe3-#M296-oIsPNpP7!obB|vs z5gE(VCNQ1J5Ku;hGXSrF8vsAzfiDSbpb6zK^}ZX=D10}b&$y*;@Z+ef^=sAE_^{Jb z{-B3v_V3GJd&FKCbhY>Mwa)O{!Yp-NJ%*~=UOo%J*o?fm4IuNF!V1URZDIa%>|2e~ z6HMq0?f~9V0b8Dod4kzSPoi9!P>sf!FvAE^Tgwk zbK+VMDib^KiO@h55wG>e&CgBscf-W$F-vh8=!Ki|WaDyc&U)tZ>yz?gi(gA~jmWU? zvDeJSl_MQ5-PWHtPCnYT-`w6Rg_LYQN4KQHaIaThvhd;gK^+@5CZ=9QEKhA)+|z-C~a&; zD=TnQa5KklyuW|+8Yv)wqrZ!b&zehoGk^iZ=?}mciXcwtv~(Yh+ocKHt%@-?3={mk zbJY4CjaJg@cfV1@v$9+*aK+sCQEC3BYPg}?^+>TA9-i>G#-A_I{pNex&u=B2yXd)A zeys4#MZ6ab^F;TAFRlQV^p~P9{U^!Xk7R)@F?;rlC0c*PQ;ApEfkQFR(}CnU5?a|u z8H^Javgy%-h3v+kj;O3^n%PfE#Z-HBMG3@&r=RR+2j~J5guvTV$)y~(FPssaE7u~J zW$y^Co*_F&GvF|+_s_f+&W*kK`VyriKH2%77+|mueHS$8iuwXz7>~LuLb@w(e{nVx zs8$?$bN+nfu5JxsD$JziRRs&~ySqzGc{%L!6Id|+^d-QQBASzY#7P`C{-bV;AL1FS zbsLJm0{>Bo1m8VJinH#qJ>v9Ke&E%s3;WF@@8Bh}lHQoy9hLB?Rjzwm%P)6b8eg94 zFciy`^W>^-F+k_Jhe@tb@Kd~|qII`V+8iMd#^W-(NC5O&w@rO(azQrs0#xR#rZ)7I zrYQ`o)n|Y60yEV#*?wY~tM9M-USb`K@Ug$NWz7&&bDEaC4F?zBn_y>SxkSG(Oy}-#fGTmi_YI? zN|MMcQshlo|K-uM1%n3g8q$}YdF3V6a-5(>&jZetgmUE3;r{yOO?BJ%lcQF=Et!J7 z%!IM(&IucHyx!=YAe~SFE^zIAmE=OXw&5W|*eP-NDEDD5^*w zOULRqL{KC;*h2+hau!pl)3N=Ga~Z3r?8_u!f`W)yL2R3??oGXiU%$r}k|m32Lioo3 zfA*U+9mwPzp4g%Y`{IK~?O<{AqLn;(SKJx~4z=lXDkCfD49$;&S*}o>Qg(D!z%(qO zkr4o$>EiXoyvbkg#X(!tr=;t$m#LM_Ie@qj;*PfQml}C3z zsT}S;A6etMd_OlEGRI|BrM;tfaDdnRgOKii7ZW%wE(Y5T1=@M4HSCxbvKXnVQ$kY9 zHQvN~>ic}0H|no0xl|PJDw9_IAwz(-Z7l7d)ki7*Uxuj684r;mxVP3xFg}Oo(=2z4uwPgC<{tB%U zcYvI!ZWW0k(wLciej*G>f(t6k>|#eh%SB79zW{fGfr}GAcxrT{I2xL81GL;KR~n|k zv?DILuF`G_6^H04aS>z>7An? zhKs@0si{zczVI<_<4kV8dqH)9x7=6m>yQ&G@a3uYC!BO;sNtq}g?rrY3rb@c$#H{j z{dCnsWplj{gIc}6#u)K30|XNb?p(xhvR-N1A``%vzs`vn2zJA#y4 z!9L2u@*>)pP+CnUmwSGp2Qs)4?77pB6~Q|=aB4?2#1X&_C9$+tUxR`qNi-XzADed{%#x>rb?Yp)sfImVMQk2&4~ zZU!eU9RLePmqgYrBv6G`Mqi3)HT_dWM}RQ-%wW3Ioq{}F4lX0>+tLk=(w~7pw(2We z8sBA5e8PN)=jsm*wl4$9x21*VAD3Zj@RFOtY8g<=^V)o%T>j40pVa-t1C`lQD+~~O zMu^NX z*Z~Cf4_j_0SL|pAC7puPI zC#RlJd7o`}y`4_dk5+66?J_6|uwl^R@3q^~kZ{o=P>@Wn_@ZS>t$(Lc4J;UTB32UE zyCzG#KKS*^l_IEM%*LE~6Ut$7vhoi49{a(4hjB^TK;*XVs#!4=P5T#z8b(-lR22!t zT62dXK0PkE;u}|%6y=DeTr9daSzWD)*}=ehjNa2zyK)o1SQ&f$fF0nhrfCZe@ zFNQWfc+T26^LqYZ>g)w(CqmpSj$IL_AN*&-F%IKq7(R8Xh##6p*>-)H~9Wday}8{gB16=%hsr-shxbMonv zVx!;bVM`4xK9K0)^vG?91uwmjn&I?BhFk5{(oFVBZC)gb6TVkZHX6=1#C0#rFkM-7 ztWCBfG7kzr1L+$g%c&h7Mw*d2OlwrPh#ESiALTt&dATNIEexW*eSXCQ+)4Z9%^h8f z-u}*6A3!*rQ#Q{{`BEXc?Q00v%nLX{)Q zz6BK=947ud@xPwGEQ11jNH@JE059}VV70*>xOHM+OY_;jW*yDj90BBVg9ny%CH}1H zfwO`_O7<#$=})k!)a^Q7$AYq-SdLXIS+6}t|s&ucX!R&`x- zPzx{g{;(Nu_2#Z*U8|xGT6z?tl#6vn&O<=<;slpL{hYbRNGuP{f;t%WgSaQ!xkZOt z{Hqu_4k;RvfQ2(2qZoa5AOcNaWc7-a&abR1*GOW4`k4*lBr87uG)?Aa570|+yhe!i zE9`{`;to!2_B8Tvx~9z~9{Q;SUsz`U5ag7@KWT@s=}LctHpZg zqCY=|APLj^a7*9Nwczx)HCmaU3n-ppITXe|)LL;##?_Hd$W3uPlWV&R-JbGR`2B0# zNkM(o`=TPPPA^lU~L|@ zhG*fuP0d=~E@w#~`s9f$4$Fmb;N@A`jqb}CS`YwoiRkGM_errkSR+IYtBIy)y*y+# zm<(B14Y;NUnD0*iqaSr${VBVjVU=s^49dHE(Aft4zE?okhnKfaQ)vEj zg!~hXf``9oip$;yewfBfeDFd|{he!{0*uaKuW2~-4g)KS>;u!Aa@>h3j^C&$u?J0w z>v$f~Y%( zxXvHngL#fZ(mxzI0nrjr-#@9yv+u|l-p9Tlr;upJDc_5~z+#Ma1iYvR$26X#l7~B* zd-jw7Y-9nOxxKWE{`F9r-je958OW+esxs=_qOXbCGF9b5mUtTV4^7LH7rPB zL#I1aQ2ai-Eu3FHNSh(3J8$(|H4lc+-A|iAsXN#5Ts;Va*w{@QfvB^7_E@$2Q`FGQ zSbL=pp6!PvXpoNf5g!RgIiLx^<&F01Au0RzBN z(3n4Xvj2dW>PC&8_Wdu&>5jhIQ}A~UVO&Mcxh%YPfs08vMM~wNJbtKse+Y|5BOPCs z+!RspTzKpV%V+#kBV&{qa?B2usv-_w0@MUB=aCvc>TTwt4x^d9pcjEPlI~K5(z@nd z?GN`J5g0Y3E7a!rA-Ut1J_MinXBnMHn8JG%nLyc)^4^-0CqouUXc%0;!p)wk_<{Vt zup(UwL-QC)#MS@;WujMxq!khzRRrp;6ZVc-}#8Nz6h0n+g zNDE~aoo9GU#;C3pw7se^KaLYHci2GGVHGj(U%&D6fH{+a^bJqs)(uJso;6scb-i>@ zh5CB)Nm8_6jWtXpq65Ik^{|H$601fgrB{~LGd#d%2u*^&DuaHip+}L?2No!8idKYi z!ibmj%djl{EA+yIBUC-=(;S29Z$^}Pz+PuNl1b_b1cJ;%tQbwYaKwcPXQ)~}@fg-I ze=w*&8gSVX)PIj2FNsa1OiO4y6SY(zB+;tgD^#)eH5Hyz!CaX&G3l21@KM zlO($+4ykUI6Ou(Np3MWwkqjGTGGUkX(}{nsIUs*@r)%ZoFEiD8`IkVw zHoiD-dAsD`a^FMh#%U0c+Sn+1WSb_2Hgx_gdY^YRIgz1&AbAI4S-C{-=T}0mzb)RY zK!x)>gl^Xx8zsZlber3s4cCw$yKF$cbdDnx*GF3xi|Hen!41l!HOPFx*1>X7)*NN} zwC2l#GRc28n(@U!;4iNv$MNSPvVs7g?FPf0oS-`lu0r|wx#mcK5Gwofum$0_UvX7_YXXp&^OA>smAUhP^qdoo7x3S$9w!9b&#F4kcm$9r!K_ zDf$UqBNGoMq`x$bQV&#i=XwNvg;OON$=0RTH4f4htxj(HL->bLR2v-G$ayfdkUro9);Re9N@W=uh7hvmGs!3+~CmR8GyfZPa_ zDN66zFd2i_*tRSF!{yMXR$(5{ipTyZm3Nbl>X?`pp<%yoB$q60Ogk(pvM+u;Uz~HR_@wJl)cIDG~X6BLj`jaDIqTHR<@mbXIAK33ZdJ(U0#B2wHv` zC^ayUvpXQnFD$*W1JkA3C_i-j7jZ{&+<3H*@;B)kkW4SMABO^f|ALj`S`?1` z(oD@+i5d+3ZdW`~ye>*@&>TXlUDCZBhBs0zgd0k#dD8_v*`r!I&VqH6pP4kCl$p&u zJic9FX8hgp-Z4o2!F_4xUU@HKQ8q>?d)ibv$IV1ES6I(tf{66tvu5#Y?{l6*!{V>p zYkw9L9t#Nz8$D^@2w8V!klMq%$zmhaFS5ZLHoO)RW*&NvKxxSut5CHMCk|aRtop=g z?hdwdN9_2C-^C;U@q{#i(0{~@;?7aZ7Ozq888cOH`$I8G&<%BHFsL$BgSjlKMx-R6 z7UctJY^gKl0>uR2=Td9$F`&^DX~DDEar7v}7gQArkA2q z%6b`3Z;(QcS)ee*uiv>6Hpw*Ftrp7etXh)i*toLV@*x@Zl$zG! zo+ahU)KK8m2wdads~qy3nb0!@hL&SIK-0R!>34}@>8Sjysc~~x@?~mpaA^dtbKf-# z^$w03SpJU}%TBi#FKQzG^AB2zvhfHCtAZqU+lA{{su4)#5rPmJ&~#DpvuuEl;x;_^ zPK_%yqa%gPIgT^##v1McH0=3~94mMncc5`6#`G*lhCt)uQ@X^VW0EM;ocLBk>7R>P zv^#du@QbGEZvVUXd3raQx4t)W>GAFh9s8Dq2icql6Z?e5{$c_$K1LX} z9Tb5xD+PuPI4WqxKj$LTTet}oPrB=il&D)qF@81Sv&j8KIEH4m_+=<})eyR73*yzc z#(J%ojUd@yfx($=MmDfU3LxC$usS<>$b5B#65gRgD`^L9S%f3o)mMmS80Y9Kh%agw zd3YL2`cPRXP|sP=Y9>BnPw87s?ef3|ijBna0fK)OlHJ@v_c|JEQPNMs)(?o+$zM3^_Gj<-mZkcX`9`q8U_jHp)2+dV9HK)zOZl$eBQmm}2eWG1{gX~dtgTwE*xNvy1SEDZ|D9FH zD^aRYFdhDTf-h{;+mT@Dd0u$}2CVa9G+%T%&XD-$Q=a&5-FqLXL=qK}O3O zI(l3oM)sf63wdK8Ik4k(G9S_6kggW#@PLoWPL2aP>ADUBPBA6fo zd9*1ANde@9NXL>X$GL-b4J2X4; zPz>s)&W~mi8VZc$UqC`l0%u2vS_!80gcMXn4I~>(Zu~QF#AcI*Qz1nKE?4#%(+W)- zair$XhEowm1*Y8jIId3 zQ32X{wJD;9Pr)ey8;0`aqDT?I6ASmYe<0(IB=n;~BS84`^U>YqPzL*$a^qwQfr(;4 zZ(5nn8W!?)efVfB&#RDvlepeN_zu@*K#=u*ZtFemH^D}NecTA9oi`z(vw_&{fX>r5 zNGY(qhdeo_u`sYm++JR-uR5SxSO+lmni%7S`v4aK`~|)Rr`BSTa6v$XD4ikqUKTSu zS^{G6zQ6K3s0O9Cw&RMh`oWkh8=uHB=J?+KiHnd#8%W@k7!Jh15 zUMpH={!3mfH`@!TQpU1`(R**ka@CLPzAQjdSRvA9T~Tcix<9u*E8+nDyCG}!AM^lj zeL_&f%aE}8H@ZL97A#`W_NX{CPBptUPpA z%q4%GNEM06!)(9bR?!g469<)h9X+8TM=hoSBR2f;O^cVMRGq6H37N`~lg04}xAS40 z(ADA>Sx`>X6VF09lsvT<;@{pD)ch#@>O!o&=Il>lMoW{$1}Ja%pD}%g*fmU@X=1G6 zHV-chgR-G?)O@~o8*g&WS{Ox8;gnjF+xDiF&4(EEB&ckJjHT2Wfp^1}p|h}P3Pv!S ze(){I6nRkQV_PYzlO@IJMse*Q=+gW=KrSuMINnYeGR+_*N{@djZxQ^=@xR6^S^bVrTl0BttRg{-Eac^`yHV`rHO` zS~1;x`}(%v*EuH>JXRn{>8&=j*({jQ5KSn zp#Q|78L$Z@s=$!ZRZ%W2cF<`QQm&U~PJd@i_}x=-@QS=MjT||!(S!!yUxyKRnXrem zk!yO92Eilf;M;NON}gdY$wtmYff9jM#t{GA7yf^6y#ahV;(9jJ1A4cFHbF&UJ%APr zWA|)Z(yf(!qgtv=W&pVvF{TN~LLHk&2U@dHE*Z}P(Q8ffeg-f5rP@ga6Sxqz`OhM9lm$xJ{EsCvfkQD+)DZ{e^hhTdDaHkwdE*IG6b>3Y7wQBm zMr|P=4(iU>>9-JkYeS^MH~8zpeQ6B6|BO#|e7N7GCC#b3EbUk3_)UCxO6^5(ts94^ z?k;f3cPvY)5F6f#>A{id3+lle$BhUqZ(b6T@U{`tG<;?YaLCm4whiTzjSxjeQ0c4) zZgSul1PVqUpDwOmKXerri^4Hh!98wk2o#;6ka<)4MVMsLu9B5XszBq3Fd0w}l>TSX zwaLdC(Tkg8aL(#r)i$lQS6NYj=W-m2F@X_)mfI3_p3JI=VO0!*Hz4v^ZbQ?_QHXy! z81Y^B!j&S`AO#iSH&L2G@Ib5KZR!{20fo#De%+LqMeZc9)($W&>vk8$wH&bXY&kGN zU()1eU7WHsGB?s&wQ9%N{hVlKD$gER--Y0;Wn64sx!ZTt*TV2&@kC9CA*`LXI8{kV zc%nsr$*y@T&;}vA^Hcc4q86zh%xUp2@wH-U@!K5DWdS;AlD9Yfdg>SDez98Hw{Dl@dEGC zF7vmoNrQ43yDq9EUGKJ7ClwwG)DY#Vt%dUXBr{e1x@~U7I2;c_5^TX#U5Njp*Ils9 zscZc2j_~KIt+Bh02^0g|MZ%Qzv+mSEc1YK ztdjz;L-)FXu-dQNKgmGAHC9alH5d5E6#eh2P`l07@aw8ukwahn2E^;?V(QR=5EXa0 zdF|FOKLgBui&4*n84?cg(_HWEHMpt(qlYTFfh?)9u|iv%@4zYb4g&IbPIAOW854VT z=RQkYr=rC+z#`QEm4voy328JOTJXVUg$&|Uu)-#8FMG-UHNxtHR;+P zO3jYVuaX8Ud5Va!x;EeDnBPP601gg>;&v>Tp58=`wFR@Ee$(x6D7ayMsudjdJk42g z-TL17<+JvAj6H9240WDKzha_UKEkzv6|l3CvQJaSFgE3VI@CiC?euK&9c_Q(i7}Psy=_HY1oJhX{1+D2#?}-r?;FoEP}UHiLKhQc#$pG< za^Xu&7TX9Dryv?(?q3W^mRkG($_87J&mZjR24lZ|@B7y}rxxHd`|rvr`PzhhyhFF_ zg1EoxW>z8R40;v0eH9$vDR679ATO73rPAq;d#Yv2^OD=Txi0UuP$}50v!<3XzFb6= z`zH5ow>yq?dh$dhupz@I>+67HyjQP2p>6!0tjA;D{0sTU?rm3?lyHiWZi>zV}2BRuJLz>=}zXcKWWC*#nx!2dr zNC{b3!_Nk)iI!ZO*;5)5dh6IT+NSbgw4xVpM+ZQ`D;aB>z)xqYX$Wx1n83$n;Ii_> zs7B<5|ByI1`WN*pb_gRIzrbE@aC%irg6Cur)2e;D6n4 zKyF{-Ah%;|RvmImuB1e_S62(3EwyPHx9(Tr$kvIjZoR*tIPH0bT%@w5k?dH60C*Zlw?Na?((Xos-{ z#tEdYNfq{h=i`9-$4k-oFj3It@B4#))?wGOIgJJ>%>>w@OV(RO%#``{U|1E~KW5MV zwtU{656nlcKKbxMUpA70wl70Nmis`5m#K7;X@{HlzO9n%e3ew#ACvrpjoI`pS)4V+ z_y@^viEjG0t&wG>ye4xQY+$PXrU2<1-NSAKm4VL8$E!iPGXu-fKH5 z+Zht+QSqxb1_|$P@F%f^mbL#DgR&#ys||H&blDm+S=$8|(QM>$agXJ}mk*B2)C~)?{b;lx+a5V^Dwx7WZn#6~Vv;su8rtpH zpU0aFc_D!>nM^eHH_VhggFfX%o^FDsIGiX;>us}sy+xHSOrL}0Tq4#&>qAeChIdcZ zd`br)>5>s1hIknNlz!?1JX0{XmGxM+duSFKPJiut2LXoqv6dC}9EQ{QGT&Dd_rBz4 z3B5|UFCe}5eGhE;OIaX9PFoBfpucR&^Eb{|elGGj^)x=U=FB|W*L@E$MJs(fO*K5j zRu8GO^%P zl2KlVgc;h6iTJybA+E$`8v}F4aTx=%bJ0?&fJZ&xPfDUPG1=oTXUuxC#(>C)f9kx-}cZfVYHyGZsZ_Y%>qP#SeSw{HbGyF27skXfb zg~|X#1pL%2Ma2I_5VY!-LdR zj9O_#BKFU=js>Em-=~}3z_?UL=l3d~h=9yxyk$$h8U`1Vr@{c;Z%UDce~ZC2FT??a z3Kyor{yi4aB|B~hU&{W)sg6pk@9G1U;o2K{_J?dNqncKCf2`*;O?En&hJGy(e{e7u zFxPkHU}en@ad)vi-X*Wq#tg)k`Nv)ZE8%^`WjMDTN;EcewVhysa5nwKH?F*uRuW3C zki<>{ZWBE2nCtD?G$EGVA;a1i1sHlHp^e@2`l99|mW|IS$p*8eb~sExj0AKCD-=;a`aklTIMTD-xFQld&QD#!y!LyYkuXwX(q$)7Jk zY2apv?v&|)aipe$U}i9kFp@b!Bk|yKNa;x7JbtOnkp1|z_(%@VWIi%C4jdg&_J8Se zEap#;ZgEf>Y?hR1F=P7Qr(xH4yfZiheH49L^~@KmVOE&sS8o0?NYEH9If$0v)&vWQ zuZb~XRVHj2NRLy-zUPf*zNuHA&Xst9@0pi4Ecwj^R%pf$*z5E>SfJUUawOko>HIROAv_LOvKYA& zHAi%Xcaf4V*s^RyRm5t!TTX&fKYU^Q?|grG!TI*tW}YkS<7;}SHcM*hHC_B)n>@eJ zBLUVe<)62I+iBA#X0}Pp{?R}8g`PQ+0;==Kx}48w{9*{LJmCm7sNn7eXsisXKJixK zDb5IROMu&2=;H~T0}20AkCH8b?>a-x-%}`F*~&jy%fEDrxWo?E0XID-J07tc6uG*2 zid#IYkAC@GPDd)IsK;wBdm@=Q6sOT%Yj~UzxW^gxm1)HvQYS95Ss z3K9tI?05%}FWfLl7TGvS&+e%cch1}23wj`mc>yNhwSwpTKbM>3VQsG@8Q-B*aSBjmcx+9;}C`bbkQyFRV&=3B( z&KRm`8>*v4lv{xST>2?wDByA=AWK;BK@UH2_xX`1%%t7^&%*+I=BTYT`q`H-zDoQuwE;dgyLeywIKZK%OUXSOd2p z#MPc)hHHyBDI(SbR|Pi-`U(m9_3A8To!E*-f$NuB^@R)vt z-T{7?o7<)09j&aBRn2|MM_FV~dy73W-YLXw&TOKcb?m@_Z`<*1>zMUTI53BF?<*@; zrk22XQV(c60ls5^N=nuN3zS=SsL;>1yp?j+t{)_1wMp6(CI41~+sT9VpLSYtTsU2j z-XQ7-7z|*XB zC?e3IH^Dp(2r2!$W`G=Oo5xAXCto?vwJmmO+uz4X)lm6Cb0JcdXt8vl?ZMfQ(Cw&> z19EiJiYG^}Y*@O$&1u*YCW?_m?6jjgVfMrm3)gUAS=iTd&pwO;HAPnXo0YxIz5I)e z%A{uSyj|x&Mes(rJzQP-1+Fcg_Kjy}ujCN4Erd@|x`Z%k{>#A2h_k-udA1Wj3sAc3 zUWWdclcm-H2fW$S@{8_QCyka6{ba@2+!1dab-7z^W_NwA(99guW@@VvNb{qtE?ADh z`)#L;U0Voux5K`%lehtz+nrU_G8VPYOr>f;FC%Kfu`lU}kdGim*B!uL3BPSjG@%RiX8(@B?;Ae8o>_0(gCVS=$y=zwlSn0W8^bGg> z{TuvI>)Wk=$+TSKE8oPWPw@{qrkQ4kMwVn+zehemTz-{|iUcLPhOhBfrh4-P2!bKp${IguO7cfgtaEK$dUsLs} zi`wMP^5;U}x)dJx@KTAUu!qfRcqcelBvwP{7x z)$D-3UU2#WL4rz}+3MZq_`YP<&K!5S32IG3ZR43DTbxdtJDy{IS%t12P@#v~?lm+{ z@j&dt*cl?;HHSaITPU%PzxD+2*z#KlOhmB93@YSS5$118T=?*ZNYaGuP{(0E#G5ub zYEj=Eu*_VRVeI3*ijaplQ}FlTsLI6Ck!z#nLb=^T(souzx_^;>Pk3?!KvASd5vHDN z^-+Wr4{98FAW15W|7*6?0B&onD<}j~ED&_5D?e)@s;oa%JJ_bz3=xA(Yb{=VSF;dm zENb%|KkDcOvSCN%1C~_KqSFbZPaJ)egU|Z|{eyK>g)2u9vY(>oxd7s!PDm7ix}!-O z;79IY?QXCg1rbfDP1TGXh)IZ5TkfYJd#?8!CKMYjop@XC2 zo0V0Kv8|*_AQLXf=u4zLv6tPnO?nfz$sAJX2}RT53Zh3;)@wPl_#_L!Ruo8h#U0_T z{r>?m$E(vS?g5+SoqeHr3wi$lOBX)#aksxscppRr|hJAqp6#*v>o^UUF*yBNah2I{Is2X zEP?(=W5ch06YnV#{n$oZMOz}N?Eq!^lZ`aWqs1QP-W`d~W_dzVgX2S)qR|}*ZIWM= zpDhLouhSGH8i!pQX|&tT-Rd-kY2SamdLQKVv8y3XDR#!SRaCN8!mu@b;v2&hD(4#y zHYrzdT|yx;Ismv%nciM{=J>IU$nFDud&RerNg3oI4|8|rZO67znCoBnQpAA4ze_`uy(M3K)@w1}T$-FcU?l4D_JNC;qFcq|PYT!IM*16^9euG+sXnQQ9h2l9g{Si@{kN z?u9;)p*K(vgO&Nkq`oY5`@;FfZr(Ir1&yE=>2LcppZKN&*NhvHX-pR3q~Q7l)MLcZ%3w4J--zu ztkq(L`w(~}00qS&EV;DR!`u@(L(T$O9$rTQtqB>*PipOz`1pFBP>fAP?=W;%3?70c>IS5D0?@qgb`J!1U%L zb`(Tk!)HPqq)ELQM}yiZP`Zj9>UDLHI@1mkbxN$NAUmfdt*Lcmp_c$Og6yb|)}LQ_U|(Z*`6<6Tl2NwI9h`-pu~K`w z&_xMf-ms)p?wY1tPW^3t@VVt`9&UPL^IhSH94_dXapA?Rx?Dd;0T$E>8OE;GOe%4b zflG|t7^2K7D%vLKgF`I~{@e)FFDdn#BPPpo5mx69`ZdiO{-lbs@zkBczfzv!WpENR zM`fGGy+<^pY3|)zo!3U?Sok-lz4EdtOOquIJ8t(n;++5xas6$}k9$4>q$oeEnGqvV zCTWAz53f&?29^WYFDtgJKe|N_bqeXr9_Ks>L>OXVDln(qs}BU8=dJ9L25asv-bnz` zI2$*zR?EZB?vwKm79>Okq_Ah0xAVk34{qES2HQZ@U*JEyY};~K5hi(oyNWIXSw+RP ztlBp8OcxiOSLxLcf8A$j%HpP0vtu>opET8@^z`+gy~6INtia+ifmt*B@*a4z$q2jW zr@;^79(tGf6UX#cv5JdzsVY`XE(IOowVA{l+@y4dqQ;n-iyl)I9{xxaKNKtbKANgkH@Pah-9KF%s3t%~kHJ{+?K! zF7c%ft`4By!%PLg;@LWIxx_q4^7^`P?`h1(o8`EH zb98%BFQ44Y99izQ_Z5v)M72e*>LU3|uT{u2kHx6QM1!iLIBz_CxaLn0=l+jAf(()g+ZoqUAgHf2$vG=`D}X1@SE8i?qY2=h($2AJlz(K9+X?R1TYpmc zbfv^$XA-KpbnZdC7px5)5fKWdx6nkqFOU7Kq`-B2%vLlU+vKz8YOzs9^a#vLVp0mYVv_3uKK!6Tru@vo4htTH`;_oQ-R2rW z0|wdj$tCZ)#uiVH+xkLFEN?&SX&^3_?nP5kdN{b(B8PW2*%-5Z#{k;Boh75SA8PKl zxlFghez-<8F^`G$`oE9@SmG|*eARe{V9(C1+`KTxrHMFazt1g)H9~bJ1LO5)t@RP% z58E<~tNIp$-woSGFH4Mwch9^j_1njJ@#`AW{t;#gG`=%?=tOn9L_K|O04N0!t<_`5 zp4R)(3Z4afwF|e)<)4Dp+z9^kRIGbx_Dwp5RgwV0W8Ld2NnB@j2kOA3has@#$MJ>v z=st)Pc*IsP)Uj(JMQ*=8awmkI|0FM|_{cU54n)Q0iZ|k&$9S?&Hahg~neYa-?_|{k zYmpFcTFbmbZB^%r6Z(jyT=T-rqdSPPfLQ~?XV{eWwDB)ozWy#vCZudCEF-#-m>YG{&+3Tym_Wy5ag$1&kyb;Y?eE@g;5e^r_zv4l#)$A zq|D;&5n|4VlgIn{qfm+<%(}Y-KR$#yNj>KHNg~k$8b6*qL8WezJ(8Q2{TWBMLzi?oiGu3jP-@K1Twc z=ARUmt`&zyz{fi;gSKa9(g(kUDYZHj)xoN+Z_I7W`#>1R00h|I8x%5#o1hY zj+Z;%oYqQ6YLk>@C9mHE;Au%-6sx86!ZrFbxW`^J40VMnnWeZmRk)Vf*@>jSgw`Cd z-C%O+dCLVNknIQYS-RUt<=dIBqsqbBF{<%olyH#eV!LY)Yl}!*+8<3Izs)6*=xiXa zd3y~xVM$TU#*@x+hMnl_o#BDi4x07MvO==q0xQPOp?PG4MSFkU-A6lp9nMwUjPfI+ zf`_?C(>jy9I?>?bc1W;c;o~CfW}C1zV_?DJJIhoG35GwObl*G#4Z(f7&)H z8@uxc=jbAA=2itbO5Qm>4MM%6QDs{7-1TNTW-9*}kvw6jwQ(DY>z+B^M0l-Bm;VmU zU&rF3FetnSH(UEVVCB7%fb?aBVxmD?2?_q_>D`KBwMs7>>e(B<1^!`3kd~+qgY!>= z^S1kC17q2x-7#fd3kv^3YRhRBmJTE6$LT^O!>CK~rVa4^lyq*c0`N26>ljhj16z^{ z7EXU}udT;o&c9}c;z}tyc}KvXwsRW}9r1c`b{-QsIqP1haXOYyZ1zz8bfwl>L{DiA zkk)}lZD_86P?TBTTR@^GR|6*Tkh7mPUc^An7xD{hjXDOUpDa+f)A;o@*@tr4ar6br z3Op1Z`qRYUjk3t07!$A*cjL_fUFkxnN^RH7_J1nsRd(<=J)a>IW&x>a;jKyuZ$c>?>KMlSxi89;P_|jpF3OlmXPmzT zBnNPnvbwA`A_QBb)eO5cJC#`nkH}{jeGVR8qBSix-0IGyj4MkJ%7haZqf@b@t5R2T zpM_(DOm(t!|F-0(X9)--eE%%dQ&`JK5ndqvE_d6lXF0*h;=C2ABb0-I0EJzd$UsH6 zA-c5@;ucayNh){--qKv){$rHnXA6)r++x3&A6DPk^9O?;`b@+(=)OXt=cSh3BmOl^ zKUMMfk_Rall)o1L7$GaX_QJGj$~WDEXl($l5GOi|DJ~u4!GAs!=$#$BwB4woz$MJJ z*>EyjdQ^=D#D;rGFsF!2gH1C593u?b4S&CatinUD;EJA*0aK#=VjPYbX%eyEI%xZJ1ri<2V1J6)dCFcS2-}1O!GFT^vNQA-kA|R$iWs+879-iRWRj2)ia)I|mni zm+Y_U2bPm`6+*}8ZP!=tSZ*;n*j8ij$!M}{4b2A;2V=DJH#^-dS91wh6J#M=54*dq z6;Jrp@ceH*t*iEoy->E49)so`uQ?**i2V=jJ8t=pVMeD0DvQClzJDs&8!Ov>;N`23 zmdP?Y0JJMc24-{19YD-QqdwGxtvGrb%eUGNzj`|5%a6_*F8Z`(GMc#FT!8v5o*zBe2tg;pQ=;Jaoitc}iVedd;P zMHxaYNYAUhA?DxXMjAf9L!jH_z*aX`TW57d-JctfJ}zumnIDTy*!ZJ+2?%McH_4Y8 z7+q27W}N6AF&0gxdCe9f@b%r4SyNJ+-;qsx+ridGO1|6t8TsoycZXyYD&QyDTA-}T z@HM}n^j1!!XSk5(LR-5Co-)p9Bkq!5kBO3OzV6hf?U`K!{#tT8zaz&FBK(e=(yV$t zvRNBR{=;l%U&>96F;(#xwu42sWp#8_{*n9}uQ7wm)9K#(Rwp==YBK&SiN)NLud{WU zkI)U;hPcQI5|5E3B^hy%J8c%fzQ6Id0u%E2(Pa>s%1vi57PyQa$8OnnZM?)OuQt7# zA64Celh;ng1KCqQzqXeiW<%CEUlHTZ0mfo41}mv}NZ$CiT0&_YjlV1VoD=r(at5xK z%|xOeX;_=1H{#96w^+Mzs)t+72R(`__dY~|>-4L~@jv~wN1yaBG`9;DtlWrY)e~Rp zKjDs^OefEJKV0ta&pi|JXQr&IWjSGs^HHbnvw0zB?xo5gumopx$ZGSBh+^MGRBs~M zpMKSGG3;*Kz#R+b!EHEg8uBs>%l<(r{c%qp5_QlH;2BN)p)F|U3a3{mzZqubxRLFL z40*3{Vy;If%8S33d)w;varXCjIfrIq!M9a?UVh8o<4kC)J%K(f82)e2(ryO3a&s3YBm9}O%`QW_+rVujccA9k5cQlM8L*8EI| zyjWM?^5=8hQt$3I;gHlZ0AG52ucJD&r@Lu8IoRM>LvwNYURU&0Gnv4c9@Tt;NZR2eXMsxnOl8@YYXz7Ws2EE|nau~=LTQ5lfeWW2z z?|kz{G(*0x>Y2YZy$e)4ebS7O>(-kJdJ9uE&1|<5y!}wIvPbs2E`TAB*$`Vx=@ z7OB3)J6v)a;d)+VMwwH(9#t@9RV8 z-?ZnI=>TYi? zPO^)!Ug5AEK0aM^$x5D3{dw+F92oMV_dx4k9g4RoD| zI#z!6)H1+Cn0i|!I_Kw<2fxaXJICuGI&S?)X;aZ(vjP5<1st_uF)hPD|12r%uWF_L zMbVn%;sn5m&GwRRbxfsO3bj$P$;U31mXxLY$+*soA7S}*dNE+BuzX2aIkwXj-P{Ne zqt9nzr5*bvbRoxR^Sxcc)ke2CN?YD)nyPqJJ}oTI%GdTX{lhY8s!G!8n0z?BiV0_W z`(J9GA=Tnbf5X31CLEJLgX}X`7asekScJlU8SGx^4gZI+s|tv#XWGS~SaElX6nBT> z4#i!HyHkq0dvSMnhs9kME$;5_4&T!E;=lcG9y0UH%%083BumaoqPusWe!hJR)Jnb` zBfl?J?00nSgsZ?PAa8o`D>{POSQ;?f(x7dP0I2O-eJ_GEGS2q=ie*3gY8Qj@y$#E& zje0+`>ZDs~f^7bep&Ddg@2J`rK;9_Xe1oewLKqTnB#VrSr}B{DQ{u8e#mtJ( zdPwK|zq%1@h1s*uA1abdSR_x50*<#*xZTTFvl&x=y~fO%L@1jzn3MWc><6EEDS?GS z17`GhG&N2~^zd;Y5w^a^*dy@Tqrb}w{y+(9BOuH3DBlgI<+v;SLPsR`^>R8=y>CM| ztZn69gumZmc_Uw-m)T*Jfh3P4eKe-~`#!T+r8~J?BxA1CGdEu#N^_YdYlef_W;`Nb zU#SD=ogn+Z4WWT&-0MN~-jEX#SrB8ss8Q;Su)I}h+*vZm{{3~#)5fJ)NE^zPIT^QC z+AMRV@#$g3IXEyrtnAYt={~8)=Fd4DRwqNwS)v-=SDCZ)rlMu-t}Ufj&hlnSjv1v1 zA*H*~r8CKF<%(+D+EGl(mxTijCPjqepr z9m>(=+TB_%c8%5Lqa!?;jhVB-npC<`>CH8-=_&BYnks{`_0UaE^mH^m!v0K!o;l=d z2kob+NCQ`XHjIlzgo&4nV&XDnt%mm8*K2_MKDq|Qmw5!+(@dLFNTW*2OAX|)!s8<1 z&f~6?Sn1lL0^TTXwPpF%>ubk5`->$2##d!UmmPqnE(QgV#YnW2ISo;anr=cnff|Sw zqe8>Edjj|pC0O|Z(6rF6%opt)53VJLAh5BU$@ZmdC!U)Z zYV5hw5}~Af41~o5sjdiH6CpYAM>3}SFGimq*_muyI~%Bi58DGn2BxNsSKZ^%qi0nF z9xbW$w&tWD2AF_4QSG0*yq z+dH0xTBJa^xE?+_MB;(QSz(oiQq1PrRmSbY!O8|lS5JrSNBo~0qHsI%E)HPgz(=dr zW?;=9Tre_QtN5jm5d7Zw+?Se*zu)!~TI!AK$6WSI2>70Vru6NgQU|=b463pQ2TxUZq)$2Icq#nZ8|3=5x(`MfdtM8+Ulkv~O^(5RRb%_N`-n zts!hk6VDs&hArckwA~vnKy-htn2=9Aw4eGLyr7gXVf|H5Lc0L8U03znAMa3oEARP~ z>Zl7<3;HctIau6)N(fG7OMVtyj2oK##4Ehh#{IE(#a;whNh6 zvWicFrERvB8FB{8&ecH#a!Pk^x#*PCC)IjCnSl_P+4lWurrqaf-%PeWK_?y@v?5CQ zA5D%-qAV!$0WkBow6O%`$CA0Yr6soB$Yehq5deQZ&d-06TLqU?u}3enKpXWyWAm8x zBx1oXuQ=O!>f-QBz+j28!Mfj$U_P#@h{BsqtTmrvCt~0+M?c%?1PcAt7eNe|QO8Me z=9w~QHY6VId+g~Yw;1oy(a`C&GJ=7AnpJr! zns2?|N-oDU@-~@{bYh-?w60cPhd0^OM=MbT44WHBG}}n6kQ%IO4ER+(1Mbj6TKVf@ zMeokZGlfbxOJ#o^^(5-4L)93@=~SZ=ybMm?{)vctU*HS@r!7n6rG$%`^Xx(VH!GFU zP;Ni7$*B(d54%CXDOd8rKh@1@_$*^;iVNKGeB-ibR}BvEk#^Z1d2v#0|55SVox5C4u{{DU&A3c7bYo{hBK;X zZ&bt*Nx9k;`A_MMo`t{QMw*we27*odp&)-qwJq;GY1Tuwzx00>A)ptjce{3028^+; zR^H!}Vq{_QrazTYT$|hZ$*rmtE!W<)HbgpqgfrRTiM4=WvAda;p?y z;V`SL5chd%F-F$Zr5I_cRT%1q^J>b_`GwzQOoa*QubV;1;L(HUS#H@De(G-jS+Za> zZZRgXhNHs5=lI#za<87}yS%G53Z}!{V~yQzS!=Pvd8Y~suXPgX@kcnD)%fG% zh8M=rdtC*R(0M(ukR{#Ma7<{GRcWl}8*WWPo!BAH>o%@Q>`<%3O#P5H_JBrk- z3g=~_aj*bmxB&$gzy`Mkett~-uvL=1_VcfYN-bm}y8;^<(JSa*!HPYTa_%|DizuJ} zWG+|+fPq%t-)Er2z4CxI*Qu_t#&3a5aC23&eO(Tb*x*(CUC zsh`9hUeo(>ck@2FpQ~vRQyLh}$|f+`G=5dOALO5Ey|UA=ha;Ex__NJljx*VA^)g3< zNsUX|NySYXFz7GdmCUJ%EZk1`G351R@O+|8O})H*kv@)Tx>RO!LeTpCR(+fsjsm6t7vmWkI%g8%ZQen|<=KnXg}_hXY47L(GBu zwFU{bW*VmISg}W6e-z!1!84y_mAjz5=$cm=jH!00?OiI~ zre2mfOL$ve@JU^4KlP?nx0IAX>T{k4^@RF#8$eH#JJrdWV#^`oy{}C5Bs;XJGW%eF zR`VJ3#MA82>bzP;_o4w=!)1Oz-qr8`DA&wt22)olj(#|!mZni`PZuAyl-`P4_kCNF z6oZ+E1^RXIQyhA*ep;R738A+Z!WQm`y982XYCjpP1=vdYPqJV0mZFllMbRD*2T#oo z?Gf>%wlvcE!ELW*)_M2hQ_i}b-z|7gUKq?eIOV$w-ioe_a}jicY>7wDivfwLA-~;t zxeEjp6N*GdClJN6cGyG;wB!APqCP@dKBq*G|^V|&{uy2WG?@S4}LTbW{EvW~Vtareag0&Ck2g0)LAT5sOWwZZjxeWK&C+|&qh=HT*LbkReDtIUgS%PX#KmL?PG((T3I%JkoQ%$vu{2r=O$a+j-dy5_XAwEf3-#S1nE!Ix26`AZK(KcU#hM&P(aJ6fuLW&vk=Q^% z_bc#E4DL;d@RG??iBeU-hLbw_{>(Emrw-<6^9}Rr{ZS3oPyxr`ms<@d@>Bn!GRc*l z$_?CVv#>B}g+#FVmyrjgU>AV_6~0>ye+y6W=U^RMu_u?97p7pCd=!m)(u zs3JKXd)3bk-y$-jqs?StwB2ey6_kGV zVcVHP=ktlh0G$F`NJbwxRa5fBoQ-#V5XspdlTetVCqt=?OO~rRThP0U8=fF~8ixC* z;WB}*{Ia?ww42N9wRT2rNePka3ib`S!9)Ble7!ejPdDLygwPLbzV&ZtI#y;nQ1|<$ zX90TiL@I(q9BSSl==zc=jc`%CUm=y-62Zd^L8Z(_4=$z3O2&O%Rl9hUIyL2tK5(4=8UI?N2JJ{(fKGmzjQ?Aq8uFG@J%Vh=iN*wRfGto;#}yXlpa>ni&ED;H<+qo z2WkS!q!kuVyiiiZR+%V1-*uA+q@~M4Gvn#avABk>C5AFZDzMQ|fEm|O=A?uGnMk>V z4&CnYDH&!{&WXcGw)3dre_8(^I76x(VzMPRu&;RiLz_2kd1svHZULo}6WZZ*HVRtk zQ=rT+o6a>rqk!*Q&muRq1i)uLOV;n&8r>N3mEy4b3H(!wg9ihX| zwh40>?G0 zzgEGPP+>Iv?JD-sr+aS--ZBhxvbxolf9JbOe_3M3W>{sI4&s}^SyNI5c*&6>?wgmi zNpmki^)i4rao6m;0Rt4em`UHPX;Ba(r6oDg5}Rv<3Hy(EAwH_d2Aw8be8=9->{r; zb{Os}H-ChRj=AcC-wFB&et9a`baB8_6W+FiQgqCOimbB=(RdyH_&Gf+aOuZMK88`_ zSAia^$_w2oml{Moc?AN))qkg43guzRV?U2+2;m z5f2xow!4#dK zv7~1NZ}36|PokAwd`7XoC;9Dve*Aj-XQOSYfX8Z6R(>~4cer-hiddw?QJ9?^@-baHA7)j=s`+RiZAlGf~ z3R{hM1r=M%;>C2%%^k+vOlD6n%tPQU?w@u4Zbh$>9vj@TerpKlv@rioG7C}>r6^Bf zqH2?hWJ?`G6X85VJJ|K)!TK60Dz{zXCucZ)l_016%hRq*IJELtv1dUpYL@OyfJS~P zi$!GAUvo+J!lMSy$cH5|qJo z*Ogz_lU3FH&E}KG+P=p8gZjMeRE`)LvQc0B7;NZb*qr*#3vDdREw=%pE8OdD74^mV!pg8aFF`FdQn}*KM zZG^(`%owxm6nXB{JMQVJZ6I ztCe_2n+ZBUoJRNT@jK-=qm?8oGhCLg*cJYDk2BL>1blt`=?x%PSB$!5_!Xa9rS;iL zv7IRcIx&x(o&IUzp_z#p+%o(5ZR4PsjUL>xSPR@pVX7q^wmi1+j=qePr7r;VTEGO5 zL8q*B>F5edc3zR98eJe+uYtQd{ZM-dGO-crkM%dL<>9W>61q(K)D7^XxxduadjMNc zcco?Q@OzHNQ#xz?N5I$C2Dj!X#Kj}uN*r*S$@8!GO|2D?Hu~;MY`#_(t&MlSe6s|x z7gtYrJ>1o%fP${Xy3;@_{R!s+uH&axny0S2+a!wQ`R&3^vT6u46I2c6HEmjGPw6Iv zTEu}}j#yc-{X0^-rHs224J87suys~rO52Oa^_8+E#^_X)BPxJL)xaZNr)_IQ%ykov zAGs9vf$BbYRc`D?YPt98nL6S+2bLU!^t>u-?)-T?O2iQWWdZ|I*xKI>wm5Nqi|OL& z*AOY(D5mkXa}(hZpwoS7-Ci!Pq#by7`_A@tfsJa&(2|U($JMPiItvnH8y93>szpMy!xfWD{^a;X;^KfGq6#j)Q~55 zh3iMkk@v;aA(3{HaivzG@Xg>R{ukv$VT7R%l_>VI_sbb_=d)-0o0jOK>1*1odL;jw zE_%Uz>-$4ir#!Pl#;jSWqUP24=OH!q%StD@vi5*p33CeQ(%(~SV3NU(-vBnR_X!2& zWsMB5DSU#v6PY91s;$FmW$l63OSxLw=Pu8Q1?pr|jsC_oN#UxgKDP<*b6}1$`nwd- zxg*h&#{)<+)$)t{ox%j)e%(I|@=V4WC~V*IM+1B+aqXJqlXl;J57o;Ol(8$Xgr*g5 zvj0qX+2n2TeIXgCTQlYp%2u*AGxk1e<9ChYou+V6*teJwMhZSj?(#pmfSOb5CA{`E z8a#ogv$A}@(*aLtCRS7KrI(lB-!7(~-VnZg#s*VNrm0N>j<&!#kntX4E}J z3}dllT_1M8tlO{>R$3KPw6RCgPB7`GGAx}~1t{;Aus^+4mPMPzC-J(B*VA}u<+cra zI6f&UF(@nPJA7^qDdU`CUK8t2=-O<_nVO$%MtBaFYoay_PPA(%t&&w^zBLs7nO#~P zidD04)@jqEkTM9=y>xiskZsFthZD`~L@vX2gwvba%io+@DBp6v#Z0pkPt&j`l&Z7# zAi~E^-aoey#;nTS>f=PW>{5-<{Zia`&t%aA&|;F6CxQM6STT}a7iMHCon&JS2r*R_ zd8xK&NF2GTg`N-P}(S0B!Op3N`B-AN!;Uap!E#^6Czl`5h&)vniK zBgGV1?oi`N{cF*&{>WJb11_*5NN5$!0(qDKtb!>Lh`_pLm~w)3e<++GdA1<|+~V&2 zoRPcoCNUTyy$}YWQ@(PwPfoh(UcS_R{cZH?a*|{Q0l>ZV*K!n;olVJp|FXLLI-_%y z%F3H^ksAJDQ&@#r#(0BA*{CC3__w@g3#ZE_hBPWE?hs#tqUC_HlU>lkVze1<2dt=3 z73V6IXl^Y1uF) ze;R>XU(FA@L(-(<1f9GS1vlmtL`lIkf55Mxu`AEp0D5b;+n!slmiHU5xMat&f{;7b zcP=*vo~yb(=(t2|2z`pq_*nLKeznA$PSenOl4CJ;e4w~a91*?3Jl2FkUh+Zao8**7 zB21Gvp@6ZZHV<{{rSMq$-E*7fAD23DP2f0%v}M(jB)+9p!Pn)OZV}Tj4S=)27!VvkQ4SK)+S7{L7>iSy5SonhYb zL9_eG@0Ucky}KUGnzNqj zRd#z%9dR14nx>s%JnOyRdV6;a%ul51)Rk0Qf3|9PkaddF7I>9>@zX7`rQ+rIiWHqC zaD~Bo#IG4F`;a92l%)CKEOVK~dYLuz5O*k->!f2tJpC&AT4r~@BsTl1JkMvfe4u}d zA$e&^}14M?e7r-fnh3BKZarY$?$W8G(*R49#_;w&o&B#SKL@SN>y374yRx;&k^Y&5v$r*> zOJu+2ZE?>8SxwNY8c{Fuw^_K?AWG_WHj2U{1?POCy|&6E*EM#RZ_8sUN(obqEBXFJlVR>hyx_ySw(-0W*gzvRIhWlLqM6FR=fqzV64m6>B-deWwc)jT# zTra)Uf-Y|{EzTMrIA)cuN~?3aZPuyueg`dv$2u;wE-0yWBDQmb$PB>cj=(F{#eHdl5vY0%z5@=SCXs;+@{*p<<57v6}DBZP`tE~BNSAWJs!HP zCOxH=J_<_-d_sXSMv}|rt@mAd`hoxwSbO%1l_LyD-U=-T47ia6fZqnxH-C$zep24) z#;9I9C)-YI1&Gd+oe{**hzhW)vIUD@>RH)kjQ7=xC3@QcXew@NH~T6GQDPZP9bvOr zJL#08C+izlgdP}eS*316Hu}#`Y1GSBO&5Q;Nc1=>nk^Ad-kkLH@Er9o+v%+CVh1~< z@LD{ClS)uThy894*Cq9|@Ur|3?yi_3o_id&Ud7C}SJ8oIYw7)1(2&-U;4_=h_DcFa z7QGYE+iJ9S3*|`0R^S!eWg!l;!*CmU(_0e7qsBJk=m@1deBGa>Qyll{itLiIem1(I z+v1kcwFMa6mo>@32iI$hU$h=a=<*i&ARN8;8WnuFi`W8WDRqBTxTS1#NLLL-^d(GX zi*UXTxt-KgdnWg%J!&0z+9YUn`oho-i)A3+%w1UDGA{A^srBl%Hf*6Sj6yf$^<1$r zOx;AZ*HTr0%ow#3yFkMhO-;(S^K*$Rl!qI=sBks8-`8*IL5G0U-&LZ*GWF{0qGhHx zbV)gX3LkyJW?2f0|NhD4!gaW1sYg|{8DuPay?sHuglRqxaz(%M zK{^RtCp$8hZs#paqIE9DT>47P_xKW53Talw-`Uxg*YNp!>+K_@iX^EV*vyV3k-&TY zAMxjBh0Nur`ra&W()!JDJxi9QH>1BmUR_i3+ZM$RHgs8OE4N!uVw%#Ml4k3o-N!pc zaEqx>LDMBi^IxXo6Vd%kg7$RxeiHWJ^w>ji7Bc*bRIHLTe6u^mg!Xs} zO|>5Y_i9LC>L#B+Uk zK1iO<@B)~+Ez}e_RfS1}<*|_4tOa zDzE8NxwSnS5}#Ftx``*>RxaD_C_dj7pq)Jh@g}D1&d-Q_M!4g3g^k#RjPEG;mo>nx zkKL{uhITnTVo?Mcr%4r)MLzmrMOSXL&}}H+5RobEkg2Kf_voHmTl|#=-&%A$mKjp2 zUh5o`qikLySwZ@;TU&bNr@d76tCI0q-FnLRmco(~A&b^zqTftMU6w-hx~UBSBx#j!sr-F>r=8Vdi~P6A)AjeBWG34f^vWpsh76 z=Oyo&Y62>A(?e~8fv)W7stWX-NM-uHb9ud(31A&a?qia_xNy1!$N~AbkXFSH>iNE& z*}cH#G*0&s$Ptpv917S6uaVVvST_B=LE#3?_TIs!H2U`wj1!T}Ts1TczoT$lH-+;c zfJ`@i?ZxNF;zL*l2o|G%JcgCt5anEPly33%5j(kBu1sy9Xr3S7Arj>Xd2*f|kU0KW z&e)D3WajuW5yj&+Iy$+#V=s=Jf>Yc%NWf=g@DNeTYowd4OYCwJqmgs^#X&p__==R1 zXglN#N|MC1A!lpDi^jnr=jVX~>;2ec?tz0$@TB*50Wd0Eo_t z<6(zBw-abVGrXafk3YugRVs?-VGAmJqjoVtkkwH+TUq&XdZXF0N6X->-{Q;U1WaOM zH=VWxGz{#?xMQuRo7-}=4nQNi7p+@bjaN5m>l-@$%5du)*c){NGO@Fp&hU5`Z8P1* zVgPy968aINu^(5hlRpKQ6-~BuRUeBu|AiE!EXC4+F^3!KR#bDz$e(qi?dfM~7-lJreUjaLwu%lLEDgmW$~i7p^spwq zZ@P036a!qW-`3Pz)ypDO%Zh`OPaeNm-RLH;DoWw`LT?}!4Kl393Q1S=t{BgrIAY)T z;YxRruXOe7r!V)5@8y4Lv~6FW zK#jQp*Ax-@jqAhErdF!j?b`KLn`jzsh3T+ncdVO7*S%z+Tr+~t$#51`NQ8|uw|Ati zLkQ{U9Emgq2H9LOI$yPSnHjnid4Awgu(>zM17#wnMISsVE(VWcVG*(|hAn)VMdViv>G4#DIwPHc-(^|o?) z;SkaU^=55&C<-88U@0zgxbsW`&d~RDpAeVUYi?9FbIi+H1f3>1_0Fb?$V)9@U7=_% zX9!S?Jbs4eorQunl!9Pyc#%A8NsiArJxHhs@@ zuneHfKXX^8K)EB(5%cAKQWWdv&jwO0%+Te1x9On7fpWYWriyX5CCk$%0ve+qNI%{) ze>T#~1Qj7%N%QnWJ3*!E-{11|Suz5)46^!-(T6%-i1WVReN9rRX4qu@e21Ye=6eFv z{Q!3ys9FYwj{sir3dGM>Qv5INBM3F{IO)g-CxB%mbLElq!Mbw&2)Z>)10B>6KUXU} zT-mZ-_D)i%-=4+09Bj7j(Z=*TK*AgQeF4b6y$)0uIqV#jc4loGqY8s(?An8`KRb}B zR=T?sXTUp0_@vWtTY2{mf5hG@YCzvy6hc24cyso@U~iH}IcUfPgHFZ@F$?7_<&aBy(y`>3leE5kkFy{RI=rNt&XXRSV!%S!ATV(|spP!JIuK=g>n+}mXbC3LrOKA2R~K0+4&WsBhuOz2xsJN zU@tH@@;gFqK(|6ZV@PD71X#9f%?isUFeGtkxAg(n2-PEGdvCZ_q$f09DzxPN z(>L^O!6;I(E~*(m0z8N?&&wQNBi>@;4mC?0+L5P6?k{R$Mx637uDvOnyww5x{viv| zzWtH#YhivtB`32m5Tn!ns=N9D*VU!?5jY~n-}VuTY6JR1Wps_hciOPTj~qDrghNO& z!>_9wapbT?@~wlEOn%fwaF|{+2U%k?3gzcK^=-j@ZsV`X_W7gKN8%5Q5sQ~gx9y9k zX7oE6JBN9w$D%JJg6n~+CLsX`8}T!Z9^?524v*X= z=sG4L?RcBljMLz)mhGXZ(RNXLo*&aCn2Q6mjW4VVsYSiKo<2%;%}X-x%Z}XT7=IDw zo;IzjW{{>j;ah^0 z-7e~bnDD^T1hgN1nO}QfNbv?1x_HUb%BGnYfDze*vHiT7rw(y*dXf{-+i6{P>_J*Jex!D;;)nnW;R@dMuYJKWgGjUr_56%#EZ zWOxGMSj|xiypwjkc_7O+X>WjK)AAyoawqXgK^C6i9rS-83td z<{u*e!|S0B&HO)X{fAlq(ElHr{zK`Zxs}>4dNCC(Y9w;RT8?o-Z32yZX93NgR%6z1 zm-h>)po2mVYS=hP`+BG6SA4(B%jr2D3wm&Sj`6|R@7=IvaP@^x&);l)xtGZmwhCc^+xuf^MeVE@GstUGP-o<}A*SOgBBZx?ZkjA;< z${a&HmyeEVMm0^*?xTOBIJk|c@CyatXFHlie<3kFNPi>~8Diodv~7IW*4vz3FI*kg z0Qla*qBx}6=nDu1q!;7ee1w`sOcxJ{adh?<%yV26_6)4@N*fnNnnx5H!%8`zX=}YC zHAR%y+g>-ug%*3B-w7(Is(QbAkoQhwCxf|!UITrIMq9VA37!MK?M2LDQ2G!auTdjO z@D=nMh-zsQya0V7tF0NEn4))f)dc~g45}!O1HbJ8hZu$UO;8jQGgkozJ~mmLzguq( zNGRjL$03W`b`ze*PDx+Di;9dL&S~H50}0D`ZUaL*2Wxf~5i)Y;h^8Rn)4H8agv|H_ zqNkyeLxe3hC`_CO84x=Ke-97T2~OGnrZj=J{a7&QYc z4p%a&rGh+H2>)x|{KL$D=tZ6OK&B$TF^`N-)fZlXTSF#KW}L<{-lz8uCI2Cdu{$UU2#n=H%^&#) z`>&%eN(AVF@Z~vb1xujsSBAg~a9143p5rX+CL+t_OS}0vYWe;VSNR`A>wkpYKZ5HY zvGtE||BsOUN3i`P{{AC){v%}m5lpvirv&zkHz2&61~u9!PE&kYcX3|ksKRzK8*K59 z_8y*Rejd`>KUMG22i!7S;@Q%)UsuX6#L`KhC|##J1Z#`8|pAA={$}e z|GeQMVnOz^UDZhcOcDPx74G`abVcpM6fe1MVrONs3)C3)$DuzOg9|$&s4=wE`F=Ep z48)JdaAu_sY7CC15RP~M=kndY)t>Z2sfR2MvIFPC2f5bY*ny%=&h^GRnwI+hpakg( zabKN!Kw@uU=h794Y9gj_a^mdQjCL2vWcn;yZSH(+8HZ1@Y$JyOWH6J;!fA4xA7bWz zqJQ$ZiSGt4D7H@_ZY3xVgjp$*6ez3@`wXkc&Zngx(-$C}uxzh5Qg$ROA`yuA`;U~=n-T6~&<`)7Ab0I~yYn=YD|tDf{28%@qCGUa{7HEmj@Bb(*vv6(Ci zu)!;sfNi&p=cjZUq*|rC@l|m9ejuE8BM<9o6#qt@(<*l8O@33O@MIdm&m{GpKFODN z!vO1P5&!lzXCmTnC+SU#!c!LPDuIh`4WRM-hL{5?uA_bwO@%lt z*WZN>OirKm;8x2$-|;>;Z%U`SyH_3|wG|BAX<@&cn^<_i^dqt)NUmw|N?3===m^-q z^Wyv{M%mF;0C%y{dsiJY4oLH3GDE+UW3o<432~xFnHUI9BcT{!&z(eK@u#79VjWK- zu^2Alq|Rtie&6sT{Lq@I2L&KpRWQKgrXEn*4mx*c9ck&Jp*7RwesCy<~>mymZWY8E1yYsHWH3>wC_cSaA;?r zn?df|>ZL9YAa}|-EC5d)9FWEEix`z=;1bHH6oQpM(#48>kflBG5=cz0%H3>XFV*P>c}S+m4SI6PO=4 zXQuU$Q%W`;X{K$H2tr=l55%|oz?XlxV*gQYbNIk?#}D*yN`!wrh#<;u{g!egvpR$e z8m{`>G~z(xR15>qJpeZJrM3_>$bspDj_)KTM;c8983g!ifJPh%#W|1= zk!=0Jge|^;Ttk?aT?1g@@ateeu9t>)7a-S&Q9?eU0Fk)GGm!O2av~)dIF6^s5x^k5wViln%GBikR}SjNTo%ZRv*~RGJ0+m? z_9NEq95N`@MVcXqz~&qT^KdA2lbmWCFEt=epVQU|RnBjNcOFD{x*EpWq2BDt%JfK9 zr|pBhi8*X7K=g833dqmmdJp86Ja#SHBl#r_D>)!;qoG6rv`gz;q1Y)GoN5|w!#=r$ zwZ%+k+(!LB;_p8~>>mO9A5r&@7%zMRN~2n_&+4iEA+9U&J>@4kvb~o4v8e3rF7G#7 z__XYXD#AXyJ|4GGlk&!%2^l$d({xU*ZdKT6O(|%=@_Nb*hm>|`J1zNRLB<<&3Ed{p ze%!DM-aK-CohDDqpl`u8-4so}U|DEOBpEX=v(Ep=YLCV9Spqe6;^vfW*qr}^u6X<) zM)w>+#GkZ@TM%K(KMx}MA79o4M~n&2rQ#~HaDP+wJ_fApGb`oE$*#)Hh{fIPp{=7Q z8*vB_V)D-h7?vn_4$GQHRSX~!s`ZlBJWgf(8vn$tk|$Lap;W#hz+Xu!A?Ij}tO+lp zm`c=cx}SPbrqCJV%qAZByt{3YY{a5=m(M`ZyKnth)h)pltLl^gdRcIf;l*Z9gz* z@OuR!mbGvg`+RP!(eB82DMaMXH??2N1ZLzaEwyn+-^o%&5(tzBH|5Pd>2QaYyqsh* z)Wjj6zp<>WO8mJ>$+Rcq8ZmVnh|H(TI>h1lljBinx+3A{U<^7hL+mP!<~b9I^-reu z;<;0H?8(jue-T6^Ic3&i3df%`kmZ_$#ns5f%uV!;g8d++1O9}{1UPHwp{Tj-_6JAoNhpw_-~s1p}*Zu1CL+7wYIj@ zdAfI@Us}fgH$xjZ#ErZz&Kw(C2zx`p(l{ioZ8Lt0QCPM{8lBHDeV@YZU9M*WnyRIB z)7SQ?+P2er57#sS&DEASg<)>qr~Ken%@MKessISgY8t1P=N>sHJ}atPLg-0vX}hDQ zJiJg!Im`?bY!Nk+wEkceNFL_$jZPdz0E_%vy&%%;(_l)H{ZCV&G;i3QILq+BY zkho8Y9y_!LL=Prb-20}{${))T*Jh+lu!?3!ZCQp{)tIz3myncU=tH2!`j!vv@!eEr_If1QCa)DZkm58-gSInPWyPv}MVQEd7s zzG*=3EcJE{`DnX8sNuv|BEM67aO?f&MDJTbm#wNd!eR7g=qnzlQw3Pkm;Q-b6OXJ! z4-D$+lLXoJPe{h<9q#4rO>yR&QgSqpn#$Ra^c^U0?RW|>V_jP4&p~?=}8fazD zx%Thv|CJH>t_-C4<_;T+G@pXQkv&%CL-p_bGBn?B3HOW%+aCe7Bi}Uywd0hJWw#^W z;{;bW*EszhsTJGeFPau%o=dSBAOB=%wU2$-I!mKx8GED@G$wa=3ba~08n+9A0o*Me zI8s9>%+w<5LTN0GU~}inInK8EA0Cmet{9%jsBn9%qyY7J+f!m=70&G_pQv?t+gH*- zj7{HCLNgk--&azAb|rS7Yb!rhYk~e)DXJ4#zu0|`jYdYTVjLPG_PNql-+o&Qu8vmV2%SM@*&@Xv8gVMe)N_RyXYLU|+%2&i;V)6{FhO z-=0#u+7&{$5hJ4*Prb?(Npu>lhcIE8&_F5N8EI3t&-`mfo3h>AU*m1c_Dg?**U3x` z%{9M6UoGAns{4_p5lk*)a~Cz=atc0BgF^+^h(ed4`ECuw#*Ea0T#&`@NG+!2;E2Z- zGOk)kOWQ)qboxp<&~ne^_Q$`fSp#>(_5juW9v2w11wikW?Q++8-@(S%ohqU0C6f$2 zS3(1p#`Y~s<0}^y$H#WUO?mqep)k-;z}{h`q>#M*l13pY;VJo?IMp=MP{7_n&2Pr3 zCfibT%>i?|fcKT)9nsF%yNpf6=3{bdPPW6@HcWxr{sFfSD|*7PBb00>*r)8`4>S~@ zCg_ip6wot;Y!}<7jN!+2vVD4Wx(TbDnYxD%Q($}DJ_nZ=0^L_aGdd63q4zo4ezSdf zU$9@oQ&M2P#7xa+sA#wyu37yO?o$Ix3C%Eh>>b8R3Y<>M z4k7%XS97<2JaWN06i7X{UyeDfmhXoGzv4yyGN*=xZl{kSTademu@Q z%rq3Rckq=II8DuVk$tOWJrq4w6BC_^y0Cl z_wKBM$Ki-$$X<0Hppog>tbnv3MHsQBV`i)KcilFO&Dz?>Qck`7l&<$l*2|-1HS<-IV7_dp zZ{1#_9c*3PMvEzRxe0q8;`N7c-P?rAIP8U8P1e+Nu|uFIz2fcHBwk6FlgXU_4pl7P zD!cuqnMhz615XmQ@4bo*>BZ?&l*d^v!w)(5IDH@Gg^J9GBa zAn!dBFtK427W+I}_3H6;SVU#Js2UI3UX-rHKNdAsy;1hk+huWDRzKPA4!M4^Ub%^S zdA#0~veHa`tI{OVle942;|jCNUQ%}DOn@QF)jFl&{qedY!z1~E*10FmqGQP*G7mPYpE_D)q zkkV(&G9%2n)|7E)?L%~Yy`>d619}`&fAk+A_Hb(Pd;H10gU_&2TSo;w;;*rdX|-z zPW2fsL?OgLP;17iAxTVbrZNm$wTh07nZgdb>L<;G-d&FX5ge&?pBvpqrUnhcRaP9a z#nId(j2axPNkAJQEFs|)T*mVh3yZWYXW?_$M9FvfM8emQ;I4dT0b2|M&n-5X-7Dv| zq6XA0=Y1|+Rwa&Vae>)bUXDaMl}T9`CL@kBmKKvt`7Gx+~`oa97TK{#M|!O}ngW_3F!%mIXM-Yx4^>v@7@A}0--pY$UqXdWi~^j_EdlSzWRH~q9m9r`%VvjqZNp=DqPm%ux|* zdJ$2n0n=%}efz1X{4gk=W8!O%8DfTs#)zvS1G0EVoy0L4Kv8sn(1pn6XV35vsaC)INXM5DKl0<3NIGR_#>q-T802);a^<0!Ru`g zK2aF66;?-uTRwauFyRRZ>Xkr-D0pmzt4cx?9LI!joG^zvd+HzdQEwgRA>%xjGg5Ss z6D@|(a$IAQn8|X+szEu8+6BToi0(v7_p)UIV_1kfG^LCB%zA0G4$JtxlsJcpyR3)- z;$W!a*D3bJGLNMvJ_lnxXIS+CE`0y?bCqxhbRAe zlS2LdBEx$X7S($je>|Qpk@0M39*@QTVx5crdUx2KDk?Wzt_F@mhtLKMIMZ<=^Ntznkwu0HJZelDsQ+7f>XlKs6TMpfrDi zbm@Iw#P6%1pE8MxqIUov6M@V}-oOm@dx9O34!VkxcpD=f)UvRh)-KH7eij3%%Kmp6 zGZ{JUd-XfCKHm||30L#51g45hQ4Fyfzb70uFR}+cTKRGlmC?;N4HtPe#~yx5_Oin{ zOY`oV-qvisCpMKNN%;Oca;)Pe>tB(*A$Etx0d?b~`0@R2$VH8OGuSn&rvn@3V-4Us z%dsX(cxWf+U>8x)qb+#Zr%HIR?4XM_uSQN2EeVNnthoaEGCC!2ABU6XY~RX8*?|HZ zEx64}ti;F9mGD@L+CDEG5wlG(XLk#al^whXBQC?$b+zf1Q}s^l=9J-LQe zEroX~zhUo%f~Tr*qyCA3$Bt>X&go?5L3_yj)+?grGJg9tJxnW-YQs)#lCw|QrOwnu z2duThsk2G?FLu=NvdV!DP&!zg_jRk^EN-(Bun_OY3KYs!=FELoJ>>C+aFxNO4piV^ z$+2+mR==qHw56D9_Ofs!2aDrwbrD#=#m@K@Z@+98S$)}Ay<-tolsAS{PyB6BfATFp zddl+c+pqU+lZzeo>(sqi4?wkHv0N;S`dpnyhX-hHT`Yc@(ji;xV!_jA_Tj2pxZo27 zI9P5*Je_Lkr^*uGJIt6n!_(Mfcc8hZ(5=-leIcJ~$#+SZGTtLl<3r6c84uAYu-?li z7WE{AqV#@|Cu2M&=q{BM6&hF{dTCaMWnASDsY<Oh+0?U&L2@k(1IQE6Z$q zON_i#p!ZhywVE$Bu{2-oP8Bxa3d@jqO!-(PiEPNNGTC^+@+F>fTS5Zl1swbZ@@22~ z6qlPY1;;yun!XxzSqC1wQzK8ERTHh$Upii~vu)AMUsOBr%1Gu%Sf{(}BqXOgwJcWILtk6@Py~W*+6t@aMUJ9DoifApSUlZ=&%!E`jf%SZ1~Qy?TAB z`c>9sIXKIau_idnma(8^@jmS>_hH@+bEC95NUJVPkisByQ07r_EL?FH*tdrcSUR!9 zSW1c~Xah97?tqh)ZU~mH`eIi~OE*GGcfd(Y=faHv0x@sXJ}mPLMNYsPETSLf6^PBS zak|V7JZb5sVCk}D8NQbmZw9x=fhR5A9DiSsh)w5lwLZ8{y#C1wfu_+qkIS%UHKJqO znXiYl2`X2(GV(8xowOhZ_;xKo92<+)xiUCb*FvZbERb9SG2B0m=+%uVxRIv$DZHUCXzAdJK97t*8G7sk&H2as7)ke%O7bI$(Zt8Z6X;< z{#ctx#*jbJCepFvX%p#~nQ9YnEbRQ5F)|%Pb7N#WmV9GmI;H|+WHPn_%NUuAvA{M) zCSxt=8zYl37dXbqWb6e4V`MT014Vng&C)C?cHuJ4=->-R`baYB0#_eNhFdV!N0MRQ+%EU+z06}HT_Az|5S zEW3-0%AkSc5LsP>nV0VvW>Tqb`=K#&Ww@V>Q;ei#1VWO}bbf`5v>5 zvTao6uhJuwL(9SlU17#*a_sjzSK+lD*oz(Z%bh!$iW(LUo9~x( zi0YXi6;*PQWt=3kJmABjhAFvmrvwqORSgP;@9UVAKQP4{Juz<84Rqu%iJ_k1w$%E^7FdJL;=y=~b;`cHIV6>_B<>*7dgF!fG^BR_)fq z8g^uKsR~xGtGr^>so=4)s!jz@jIPeX3iebN=~oliX}K=S!JJ)2Qv>pcmTqXDN+gq4 z-=aXZJBAGYBFU;ul+6SLGV*{;#?FNg$77rc~!NOl3v5IdA}Bv$dM zQlP^CRv8=8LWcA#Feq|W^`%n|Y8lk#KxHuR5ha|OEFpG9K(s86IYDGRpUFF?1_!4M z?27Yi0T7Jkv8e1)5+&I>54W#goA~i>^A;1sZ$a=g&9?w9dmCbhBRbvzg8RS48w3x0gPEoI2Iz-@nXUL1 zVCuEutp8iRiDUdthyY|st8d#;uJIZ}jtZNOZ9d7p9x|xQfy!WGRtYaTa_juQJ#Nt< zQ<{BWXTRA+A7nTW%lExqNDGFo0*`6PZyYJ5%o&SW_c8er6T52uOszKd%rzl))BGX{ z)1|bq0jscBC&KQKZ`8nXCwX@69)x707rRKlL+Ip)2W9%I?{o5_fI5z%&eI~RA zhwW9`mH86v6GIc47q>O2ie>q#ZnQWlvn5=%1heKazsX*(%9{z%338%fOpk17aXof@ zoST;?H2tlFplKq^ml;0}1m%v-JPRrfRh5`^2PR(JR`&tbd0AyZm*whIU*q^=MIqiA z2TZ}(mbuyVQbkX-2D^ukRBy`GTf{}Q6rE4D&GES&qN|%sF0tQt_*~~uSl=g~R@ZPH z5)ftUXqG{1&d{288kSXv6O8qq~y}9Kk?3oh# zmXRm$`2!2?KeFI~<_h9Ie>wyM!ON<+$M2hmYLSf5DHg|iChwvj_LYYYvj9^xjFr-F z7rk+`U=!xMEK7mgnWmgO>zj8)35_bt`@t68e_wk#*OfUWmzT+KE*icv;%5!uas+!C zXo-LqJlHed#lrddVmD5^%xpaos8wd1O9v14jItYL=ICg^Z8F6+h)w9_LP_R3%@}GY z*Go$ae7DH}PvyA?^F?pJJLNmBo~rBOdq=Y)yP$K*6ROcyQbHIM@^#(_mkAin)VR*J zaoy-EbXhPq;oYu0Mmu3M;Prc547bXg_0czb3G-EPdWl|{Rd04kA$)AO`WIw!4xFph zj2`59II?bwT?!=A12YZ3q{b9Sh8pl(D4C#ZstIAmv5`hR*MUrKVyF#aK~Jp-pYm+0 zHY%oyO{lIoQ)$8uIec8q)ml+Y(>KH-u|t+hsa7YQ0!|Rm2&sDkXlikXuIp>-tR#* zGcwj&B-JM?h^t$WdZ}utjmGBs%l*2O6=b4akgICZ9na8gzX%U0?a!O#_SNAs9nP-# z#>M1yDP%e`z4w7!j+4<`bG$etdukgKnP{LPde~$tsJb(FOZyZT zn_d~li3~Z%FQR~%KCgEj&RDI(w9C;$&;dGy+%Ijz2b^Z-uW4Ui$Xm+bEa0!)zD7pEN6K57@puTpU|uX)JZ_+31OvsFb-?``ArL z(K;?l`Pm-34=pjW^nN4RfQG3=O}p}r?OIF zGmrSoQY_FVFb8VXZTR~3-^Fq-Y<_Tl^RNru7_G%?bsZ;gI|p`m@{<_#Ssu3oZr?R8 zo4`8iGTX*U5*9KTv_A-w?S2!kDj>N%M`jPG9Cnoa?boDzi`_TNCJGD1&+=s)bp$og zft&{*_4O{nZ)^WpFSl~$H$`QCNIG5f?DL^YsdQPUDNzyZp3g|+5RdTtK(MtX7OA` z1>QUw)9hW?_M?oGm8_p)2jj!lHqMWo^zsRrOfZXFEV3`ZDCqV7$tE>P!3@Zz&yFpN{WIO6tC@Tjwxrv??~14kX>ueZ%Au^$2*o#(}HLD z-hR%j%j+b=#{+Lo-@SIbL`m78*)hvkqK72Cr%230aXYZ>3j&>T7S5;3`l8~>Y1T28 z+P~kb_qbV%8F;Tp_W-4q!8f>V6*zpMBk2%R3*H$@%7i6{sFtX`&Q&3)F)Zi8apnlu z`;}~B!?G=G<7In$)bPOw5_V(f+fSnUr8@*Hox)*B*m=nz&L*O-@AJt}CG@e3tl>J8bfvzH zmk`1Av2m10K|`K1t(Uz0BHBbo9l${OnWktlG)o>d|2gtfMXwyY9M z=XfkhXb~+jfezz?{jH<+q~b6iYZ9-+)xM**ESoSJUwp2rb$d}=s4iQx3obM|*86&^ z02su<0Ix?;&Zj(F%AE}Y8*sle-2RYEN{k(nsC!d{HvJGi7N3`r3hiUp`BVuidu1ls z4GEf!CICn(*H#(ku@nhrB+ujb;VP{Bjmuc#z!p$!0sdoLl#vVt^~h9gtRNbez$Z(; zulpi$sJ3s7uxfZ>`2a6{H?U%BiGprc?O38?xYTNqZ~{NiFMZPu}N`WynB zsP0242+J@TzWwq+Mw-H;-tz6g7x7YBwi$!ixg?^%IcP`f7_6*vY#DyI&6S0JXQJFXC%>RKgQc|#bb|H?Al+K^~Ae?co(gji-MFn z<`tQKG!m_VmL7FtMn#W<_22^wy^IB(g4q?t@(~+0n9d1ZzJm zDc22CBs#PB;X10k$}$~nWqYFat_%q8eFn_n4*4-60UhGw`}QF$3LW9lI9(?D*Qm}+ zoOWK~N!TvVK87etD;D&l=6O`?GUS^DdhvNFI)NPKp?2sPm|N|fWXvgEi&a8^Q#Mx_ zcE-c5qD1Om9pXpk4iP<3&WLlUDV)gd3*o`mc;|t3Ibu2qhbByNwGXlhl8J|C53$Jk7Zms z9NT12M-M5h`;fAZ`R#@suNCZx0vkFaE7*`3-tMbJws3i;3?^F685S%qU-n_yf~s-L z8CE_Bh3hatfnWu?7OR9Qy5n(eRzY!YpELM5ZRI)~1Hd8=xOL2;54knXqO*)G-0N7z z79AY!m|M?qc_-XDhRY24d81_nEXCa^n9gYrux6Z+HP&Jh@Ek8B2kW!T%Nhs)v(y~; z7`4J^M;N2#7wZdS@Y|W#-Bz0i>36@e14eQlZjhB04>hoi5)R>5L9~z~Rvn^_yRplv zO2&X1kGZu9&*I|=w|1*(3of|F>#faQleA|{Sry)-ON)-(@)B<2Bo2??jlV~{RO31K z^OA~)k4J{6N(2o5al9$jx8i7td~U z+Z2&j^gyNPjBWgMsQ(fixe;qWB5wni6>uV>jj?Y~Nf|%wQ)DWcPB2$?b%%Fv6Xn~u zjKefMYT_&Bauw-e~dF(@=iu6(X)>jNRxA2AS$x|;w+MG;khvkk8+2@oJH??yI=RyW| zj-~#IqeNbfywkO)6L~&jT`f?D3?im{?y{~1z`0}d5l~nbQ(goVmcR5+!qdqGm_5bo z_RL1>V)lqAJ}kQ_H;QlWKPVJp9y}xz!smt)aK5hkywCy`niD%qKAFMao_z-wp`Xn- zG6R(lf2Xg-GWbyCqaTiE+G=K0q|Y?jT>O|bTDkBEK4Q6O4;@%sKbAk`hFd7Pviuo7 zvM3uLS92rp!ZJ&~T1wcnFE)}zHTZ#|LYT-yCIU+lF1F?CDud6Vx#H^Bl1$3hms*71 zhk#O_lW*>@>?`x|Lv|-OH(@HQ>tws#*@)HleRdNi zBfHL$T?DVYT+G>jPNmuteNGm_;bLy-*Q;e!?MaShpNU+|IUOC6iPr(YVKocwtNUr{ zU@>HUgEvViXH>%fyb!2=#N>SDg{ z>oT8WMKL?(v+?JWV*-J4cdSSMX+p&8nh)OXP?U$uoDQGw!@5!OXr17@c^C7TpMoI7 zd;FR%!}r()1}^3^Z^LUhLFEfx9%lozoB56*K`2n!#r){!V=d~hHPq9A-e!Uwc=!;n zKZNUQk%zf(CR0n{W(+ik;$&*8(7`?K1dHA5qGK!I2^au*vL0}`M-Mn>GXd{!J$`*J zIAs2u%%MZm=8wlqe5&g(3Rbnu&}-?FXjLc9T_)M``6Vu*UY?bLyE@*0Aj=jtnPRt5 z?ZtAdJoHA^iv$chj-6S&FLn&F&HGr#Aotnh@-oH4CtW7kuK&<=dM|Og>6I_nUkQ3e znP<;pt1667xe?u|^Cokm$)B`NUqE_cv8=9&k%mJ~WZk(u>f6j@oASxrhyA9=Eg%zYje2-zv4q>y2cqjOoeVtSCB3V|Hve$^ zcvJ5~4{9=*Au}l*Uje&nCfhEm0QuUrAR%JkEc1PJORQMByhbY-aD+J(lX$f+4)!4v z3)+Rum*8RdfSse$&uRLX`?sG~V&urKc<``W!RnqIRkwIVlzzh6Ox-;`M!H3F!QZ*Js@f*?V6dZONs#$a>h7L6tWZ{Bq-A zmj#`OU>uGIUQxaci_PhTl8iWDBy~~h6Y%Xkid_P`vWKLlVOUa!llBHll~*cGb<1c<{(D4%>OyRX5G5IH({;?>y|*n?~vD2Kj1(;Pd<8;p|Ds3elOLK*>1d*}3W}1aP*evOw!Y*og zl~D!;aus;ky(^X5{Zxsi_|0CDtq)Q3Qk#U`!E#eTUYU>yDUxhgW5awM0njlY3RDF& zYOkvH;5pmIt5p*9iZa^D1g0DTvC!c1XG$+{9n~V%>N1hJ%1bac0;Lz(rz^yXIU4ai z(T9C4xDUs!f4H~|kR{Xz4ZmOK`*V;y1P;J}^V1PCe4~QhVsN2yTt3)M22HjM>F|(e z_Z@KMoaZt>eV`X;c`oZ#F6pJsp6haQbe3X0RQW6O3@q)Kdr@BPsNyJ0_?Z$eE(C1r zg^`x5z36OOSsoc{AUP6sY=V0`A9wq0b9Wth`6!U#ikk)d*%9Fr#e9kO> zdKV7fW|zJShd}9lcHud6hhO$XR3|?2nOQ5;G+fquoHyv;9ef^^)Z&tPgYc!r=MR8o zET&_iki(nv20?U|VKnl*Z{}54n&^)E?Wf+=RhnoH7H>Xa=gMkG z$=iR(YMAU8ESTuAfOcvzN-U0g0V zPg(waJZ>0O=_z(H^b|YG7N$j=5+S(?b&wwaz>YPovVC>HD2blRUb)ZHDm6lM$+si_ zW{u^QO|o=de_!uC<=OTiw~e-oNbE$PddEUw2je{~)oiiJ@=}mr((3foGv_Rk&$w-| zo=WkYCmxtRU+z+skEQ-l~Xoa**Q@)w6JQ%~pK`t4QRrB3J_0js#a=6f>3s_R>wSzV$)}Ap-F3 zg~kXwp1EE`N%kV+_gR+`fGHt8FvaUNRvs!5_#<{Sy0Fx(vc9`cx)%gkTvW4*bd~cT zzx%`Q#0u%(wqd#X=gTG*yW?HBj6VKeKzqOYkN+v`ZAI{rL-PzN18(LVt$-AWz5XS^$U;;8U0dY-0#wH*W6A;e?WU2z8oo$9)SbT61 zRX*DK3v`qg;dYU9ox7w0bG`tB4t@p_mb0Q?@^{@#wm}5~mcS{^!ku&qL;wq_lyrrW zWuPmJuqiK+Vfx^K9T^9_t8y!=;n4u~klzIbeh{eE@@b07%1xC2vna#7kWEkh5tuIc zc&FPjsevR1@yKFb6n9JqB*~tO9Zg?uBC$>qBjs6!bFpsMJ9{HrKL8g9kU{>OjR4==y}2T-h+uxy)iwDmi2PObQnr0C zEwXn__8_vi-9_z>h%NG8uE~Fa$bZR_vYpbSMgG@+{okLj;q^1tX_k4GZMJ~MwkffN z6_OYeX!7f)KW(;<2qy5{R5(0-4!%d#@iCb%n=)Ub6&0;ROyHBIz$c)vAJAwA*c?J8aS3@b*jR{RLmtqF4N7gTKW1ORppH&e)Y7CKSsMyA{TgFT?^DtuPaR8 zHOzrGNI%|wd@WHw!{sk}>Dy2H$~#mw$Hf~IZH1g{4*Y>_@`kUp8hhOtHZwn6$9BUKK>6REL%k~Qfn`*1CH zcohGwy4b4z^9QVVt+M4|KXqXjKU|~hr{V{UcDc1MYaln_HBvnN16uhn#U3&WuPdk6 zMbS!DInNDyS3f<2_AcF%l5cm7#c%b<7_?Oo$#LO(LFT)Ly{{hsfqfgvlKrwy&sBrB zak?*?rG4Hum+IRMb1rEX`Bdv=R4rJ;a-T~b&cU^Q^$=8D@?ZZafC>_Xn>PP~=YN?J5be}VPIFwKf+y-z!`vR0yv z^?cD>&KLM<9+cQN6t)GtmZ>+7Wr{x~AsLQwiUc~K-u38dL$;Z9J z{B>EW9)ASw=+Y0u-ipn_5Bqr4c0IM^)?uUG4v*r$n40*-ER|Q=t}zkSPdj+wowl8H zErA~z0`=1mpui9NFfXM7<)YYKOB|o8{{fqSzubhm{7p)tbCBVwbS?DTU3uB)%1iDx zvFIIpw7ic!H@et!0xx)zxMN$_!Z+v`90P9~w?KP}^`r_kn8MNx+^6CbJT$bV<5Rg< z=xmz{!gb!Ta+Qt4=BGC5xly|3HQbxqsBHtaUBex$jcORc>fu{#<0Z^@a&SC|j`_cS z_q+ceP)h>@6aWGM2mm!h^Gs`#g^fZE008L}001%o002#4bZBZ}cr7w6H!d|VWq5RD zZgXjGZgVeTF)?{BX>N95Y-wa)Yh`(Ga%FRKE^lXN?O1(SlSj6ne1Hi=d;!y1DGHLP(V>@*Jn|IMNqy$ ztF7xt7Z5+zZf)!Kx_akLaK-N4r}ugG-v4%dF3xr+2WjDZhnwn`{FaF*Y*xJYa!m^%|2AyJ*}sQj02mU#s0N{g_i z)3ei-Mdog0W~M9REL>(d)8E(k*S>H2`(rENY^=g;@#;7n5CXu;qjSSdc`ho%O&sNV zk0Bn|_Rv-Q4z-x!|IYe;c3!2su|}+3?_D%hDF@huk3|JEl}1EzSFu;cYfHRVK}sD2 zdFdDr5x;6egVNxrh_py`&o_`#^5?*349JT|Aa9zfS|C1aC}|FYa;yMJREcfSG(&Zf z=dCI3@;&RKA_jPu7k}g1J62*ZRvSvf1D?65wu%Z|tU6dCNo9$xsF$t^6TuzW2A!p; z`b7b&g`w{|+r6(rT( zW;{>=K!j=pt7C%K=t2f#<=0MU-JDa`>r-7V(;Z%hc1}HaG-Bpud zXQjN_3Wp3_jLI3fzp0wq11Zmz!b-!w4oKOwq*oXs+8`zQybwJc(P3HdRWs9lpHc0E zQ4Qxm*B>70hE!zF{ae+@z#DQFkl}fS$liUMzv7TarqY;URE3-WebJB8zGSzOYVpkQ zbed7Og2b-ML8V?+!0|vxaxbN!l2?sF?Y@_u+s8RpQ!M2+Hq@2-_w!C(u{0|lHlK7@ zN%8AKR{OMcp)pwj6Y<*~2Td7DPQ@i|Yw19x9Fq>Uv*5>sdlB2Zrc_2-7v&tQ&b8w< zSm9)1rU4-GuZ&^pqSy6X#vqj)?FcJ>)IVS}CRCoEdQG37aAx=V>!nFQ?*1CqXZf4s z^{EMORO`{{x;ny({7w+*v?`hw zIx3J4J10f|IxG6^)X{*Xn75PUaars1S?f>d-~2T7=8wDoG^ZxbvmDV8fEC)M9IXdO zdoQqp6)sHctrgM=RR>|8EWdxTKy$^Uvw@MflG!yn&T%0KoLs7b{E<-I^Xyt^yz z#k;^fO3&5+uqnadjsJHscvGPxP~$0Jhz2JegCd)|hVa(y+ougCl9_hN;3M=@-8X#*ST=W1M94 zOb+8ylm+&Z`mVd6bZ;{ei1C1-Q6v~93y*kd>KhH#RYHdavKV=|w!ZKPOqS9O_2zb- z?7LtrM8(SGrL%0ac?K%7NXy6b?_euHjpmti7Nw)HGI@RyQ&XRAFq_TC?L#7IaLuG^ z`9)KoU~`+!Ekk73a`{OKw%88M5BmIta=22`Iz0}X^59%MB}#q`j_Xqa*5ma<)EyWw zke1gRDCd^74y)`J2y5Ma@Jeq0I_dSam_A=mcO&A~!&1@2o@~D=u0jF0UPOR@rBP|UQovjQl)hnD&|d3dq$Ljoc~Mb~-&FMhsox|_ zZ^AjQFq%&pb(U-gm14Xgj>(eu=uj!-t(9`vssWLgNjCy{P5{JO&_3EbNn9$jz>VSn zr6L)F8zQA=S*+!4sP_!F8o+${6`oa7vlw%)Im5g_CYL9*^DJ1-ob$zCgRodZJGU%z zJ%(DU>**F~5s2A_Yx${P>Wg?^9DjJD9e^jqd7uXWR@|CEj+;GCkiy2|rI21y3A6E3 zL~Q4-(xD{s&%99rUB0|+0!yeSgj-<)DdiPQ_jQB5+5KNNe3+bBGPF634fshO2%i1+ zdh3dd;luHppha=YY|Nr2dLBj0F~yRg1$M+HmbHo1ep4*tSYl>(-hjy4y=p?iJCf%h z=5V^>lA}2)6qWK%$CpWKk7`kA%XoabU!!p%v8<&>Q6A1YHI`WB=dv_Y*4S}9qp6La zyp790MNcm8CT&c~XVPggI31;A zw#pIZa7;8QRE|m^FIGyfRXIZE#K5+wgw|yQ!sM7P@^Y2CY(7d}xY&BDz&A`~oet&j zLyJ93bR#_?%sDSAQPYr1L9aHV1I$U5UhSvS9flSDj+8YPiYoqfsay@HGL*A8*G`Ao~DIUhWM8{7b>)Zr_eQ_?cC zcNFYWs?_C`B+IZX*agD`TNn}|$fLWuy~S9xcnQK8bBd~$kdUKx^H@OBtR9o&TW{L|5O+y& zy+yH$z3lR;;}0GmE9(8}`ww`F?)=JuHfS&3UN%+Aeec?M6DskL14>v|!}xus{-HWB zRb@{&F#K%Q7imwGf_W*aXYM`Uf;ErH2(Y~QHDHIQ+tDG?)rEgqm~#-PuRkl8m$~)F z?D8zE*$rlcU>)(wKF<{`acQAVF-bOE=$Br5a4S~6h`6R+*Wk3q?n=eWk$}6-GhO@f zFEMeSB1vo;@;Zhk80)-oN-2xUXegs%`<4s< z7Qb`r;i>YSCn;+;Bd^IPSYFbkYP*V;7>hlz> z0-&a9i>4HQfJ&OU$_{+A^43@Urd4%Y0?GK|o8L}uPk2NPxD<{c&#?@>nek8gz04Ct z@$o>-1vQd9`#gJi(!|Xfb;IE>0GZ>GGvJc;FE%DU+M&O2S#^Q`Y)^j2Xo9VmldaVq z<^gcgPW;9WX+ZcTe4la2AhsLbmhKLfj7uVpvf+c%H+}{_?>apJSy)0yA$-*T_m{fs z9KX&+!kMpLz8_xY=v4i|?Im!LO(qb1*cp_z)}fpIRCE4s6#zg-A3XF#;yN5qoqp+2 zGzsCZ#Gmg$rC@=wQvqBEf~#~#p{rz!ZcJ1%Da?k}KyVoVWeIpO{d~{b=J#vG)z=j{ zw}=1svO4}RV(%P9S+~o#@E|F&X!~Xw)2Cy<@ahpNjGS^3_A0jr;6hzk2o4}!n}|Ra z=e;7YB`g#ae3lX=UR?L#I(jlEsyK@kq8Ue+MY;J`C?7@<jW>kMB1vj619IP7Ws) ze0vt)FMuZ2C*yCWYVNC?XZGog?S~XD<#*@*hBa8u%K2oEiI13TK5LP4O=JNG|38^2lf`=>9ZefaME zPW||VunOMqRc_Zw4D-maRwoUcDRR6>1!H-gwNA$D=y zdTEEVv!CeCtSg)-nV<8J@V9E8U!DBBf7TyPtu`-0`yY(`^#|@?QTNL3lkXNz_zc#= z!Hdf~P9?;i*!97mA6>{id1~WiU&MKB;*G(b1?j#%ofKzaGtXg8`EO850|XQR0ssgA zHAC}E?Xz-wfm{Iqf@uc;EC2uiO<{CsYGHUSGA=hRH7{j&bY*UHX>V?GFJUn;c`t2Y zbZBZ}cr9~sWiD!S?EU{=+dA?njQ`GG5q$U3crlOwElpA%E`{_Q?(*$T((~m~-aN7` zhipT_CZR1`^7-38nvrCWY}qkw&)NIDUeE4nNNi~|8jVIXqtR$;;os2&6X{|Sz4*1H}miVuBG7R~6#-rN9I1;bsx4d?6&qDD>z42vB=eO97g0cxP{!lO`!JLWWOjNiRzhYXj#^wrX{NL?-e&62O`uzFxCPR!jMYpy_ zvg~Z@$7e@gjSG^AcKDb3 zDfB>~IRtX@2x-^j+(03oNR(#xJRHWuP;_lPcwhrw8%#d&=>T6qpubr3sCLh%cf%PB z>r5aR0hrP7Za8Oie3a|g=E^5Ft^MtvGZ;u;{e61+y6C9yo8t4H`{cnvulN46d(-W` z^jDkNr)TFkX9xY`U%NM_2N$L9d)+>LAMtoN<`+}Z*mVBr=No%^a^i<^2>oz;fBtyS z1s9zM|K#D^tUTniecSWLwys}iUf_l9SGMXOOsDK|^L{#+PXOfFns}xvlZSP76_iY9eKG;`k$dG18|y7lA#uhl&8vRxk$&= zfMd)Pply(jZvt7Bz0f_W=aCHFu+0%459YV~U!%!bbf~F1BxdUR`t_o%9ybKe3&H_e z*akwyeG{C({I6sFWe(GiU6qgZwV%fr2)NK)B~w_}c{iQh;RyOvN-e`lEM~JgtiFO( zdSY=J4?tM0`-1(Ebwj`5MGA3((=e`w2?gaqa6epMSNMIEqzvkUiLUsy>nRd17SSev z%6CswTMfde$uO!3((C@pYIVUto#?6pv7)pl8NB<+=uxO2Bj1$cUW6SIvUUxPHMZ^MHj|9U-N#8e`ooIbsQ-EDX*By>(jhNA)=(PK2$2ZeJqtTroy1&}J~xX^*Zk8*eqrh}QEUB^W4p<%I{xbxfT z-`I0z!x=ykD7#pm&%JxXFXhZYIhH_Icj_XuK`d{O40?& z?Es}I*In{K_shM#-FL&O0LG?+hdVx=gYH$KQ6?0*!NZ6pY7xjoH<>x>j+0IvfmC!n z7K}7zqa0NVCWkM-iuo=X0){^F^}u>u@CSbrb+~4W*oQfQ{oV}OXe7ok_Qb?+UB&vt zHupZYXP_$FURjNxQDzhLv* zoBRNovr|m7rzb)VA!ZxbaxM}TDQO`TuzA=Er^EaC(-ZwwcYx&1I@Bj)+|gq!xBv!x zb~}uPOmaK!YWgN6z7Qz;p%4gu&;|hziG>$F1?98)p?HcV+gKddJ~@UG<%~QRe6*^$ zK{8nAlTL3Qo}BmIUv_WapXpLJM?$MP>-K~ow-r=xJK@@zfFc1%&^PcS0m@xuc>rmkSmUVs_WjRdLdahy=Z6O; zUEkqjM?UCZzVG!#?|aAnZc?h(zdSzd-<+Nwb#H(^!jyO`Y6&|+f;{dWoSdBhcGK_n z`ZwoiCx3`iM_pf&a&2ujZCY08o*f7XH;2Dmo(ntU;Ns$@ckoVFCx@5E7yX-)^Mj+~ zv!9^>Ii{lbpN5gCHi#irY;!z5okR~KellUg&bkrICFP=$hZI6BWMd`q9>7co>lqE? zJA|+)MeS;exoYAYK@h^n#`@*TQ(Ui03u@>=A$WviezHnuy z#R?=u!$UYv>HxS!;mcAUj`)br!3G8VzctdV*ShCb`m#cbM~Jp@uV)f-;8 zIbyTuB!)1STvID-aZ1zdMIXVVMF1y;FBVjThZ{Oj5wQ!b%AOgasiby zES%lr`y0W@<^$gX<)%)jWi$zKwR6!1(aV+zMG^Y!{OquMBY3#qy*#_|xBmO;!{_y_ zn~m%BEC2dy!`oi`ZL5=MAJFXBkgy2lItbW*J@DycPYh8ADx)*QDpzBubL{}3u@wG( zdSU?eV6MCzbq60~DGS1zb3U7k)`STQSgB6^dT?@l1QYbVm{meNLATh(zYjM4&&}Vi z)wjk*Yg7FCyXc-A7RmG3NwsRMZ{p$8)2cAFHkv+2Z_cLSZQa^tX4)N(h1Meknrx*e zX3uy&jE7>ml5;GXyg!RCr4v}bgr!9&EkgW>*~`bZ5fqMuwh>OIQ$gp^<7Vw_GUuLZ zaYp94Dl4jvC(}DNs>uPFZPtX6_NaYWwb|s3*FFmE23%!A3)&D;BLrP&JgCj){C*Q0 zYcE8>(eNW5J=W&aM|dSPENCE+BDGILCVt2^YI8O~PuNU6x@Xflzy^ohIAn7^X5iKe z#6mlguDr>^T%e;oW#}?elBxDi0J)n?K~at;wHfDa^x4hYTU!HB@j>WGle;aT>WFWJ zqsi<+bYL_LrfmAS^?CSlxJ3rNy}`yC-QKGW`Evt0w82KG)6IvU_{My)LFFb0#uY7b z@5o^F=As8T>Jf+qi|kcYL5Jj6kSzc)JQ|@tPsmNNjuG*@yagf6Oi`Gw1m7#BmkZTI z%}^MNnVXwH>FNQ>u!JT#P;&C@CdJu&E*jW`MSfLEJoy;(fX$!J&wn;ad&tI;oEdb` z%plKZYEdg_P8K?jRueNOg%7hQ3q5!gTs*%8pbIKy(<0h5Ad8#jWg*q@S0UkOlljib z1!zX(i**n+6y{r(JLY=QqGVdgs`66cu4Kl>|0*U@+u^fUjt9fkMy_`jMXXF#lbr5i zvC7Njq|)5sZFlx6^K#KCu9|OWb+rIpwF+6LBzkhJoVrNtsXSu7=@I!st%@N~qbihE z={}_Tfihhadv@RA^uuNN@Ifpl5IZ~d`?GUnq{Po zl2s>sz{1Cbr!y2?&FbBi7TM*^NPj^pyyNNQE>)mO{hSiL`d!P0+3Njt2pck!+H!=; zmXiWX3Qbl~e8%T}p=q5932QYw3XC4r524+GChBQj=nmu(uIK{h28!)an0P|UiJl03 zZzJNt!=T2;pN7-P7&KXDy)L-44O&kdweyZ*G$GzUvuSiBJ7D0p=xCZhJ>`}}n_Htu z%nFsSM0`?v{a_pkrRz*cw0eOobr)U{EdMJVX$SnqZfY`6I2ltY5cvkDH2#2DUl zVStUpM~ibcYlI$kFS=((-Lu2vZtq6g&-xWIkDAve+yvahu)EO`M>D&7nOOOw$)GLAg#ia5i@ zUC@XSVLTGl?i48ArLLI@IwST_!?56`_pl0NyRl^E6)$15ea-g^MhqK|hXRd}Dq?{V zEDUW>&8vXTaHxDo`O)CzJH@N!#;u(E;D}-2{FDpsh-d+0WFN*LH90U0n6Ii*?G9@> z$&w(Zd`~Pc!giUAf9CUf##sz=O1k84eCcECFiCXzG^0O|;)$Z1J|bR3?Wd9N=0mV$ z6FkI9QT9@aWFZmLO$LG{Y-un}+yW5()wLRGU<>Vtc;7od`}wB(>%mFtzU&^H=-1uf zFU~LfJwNM^G}k}>YvL`<3tc}enJp};ov8GjF-G7O1ndN5YhP-9t=UQT{cCaEt$nTO{Zy$cf9cc~9eCmUHN6SZdEqWXHV<#> zxIhcV*xngtn2p)jTHb$7dZ+u_73jWwux_}}t!nfVeHeEZZr$yC7&{tZDv~qnHrWiY z$dW`_SVY0sRDEp=UC*vk!X7zLt!=ZDJP_1vp;@F7^Ih6KS8tM`k6+GQ54J`P0ZBY{ zZZVJ4rO&aPwg5u!cck=!J@Ves;YDV6#sWGx#Q6FP=Y?2KmMwnag5Z+l4r6MfbV-DJx;r*8{KVwgoMO&Zyq4t%=W#=Cypb>dRkg zjg5`K+ZJ__=nJv@{BtrKW7DLQ?}TLTJ&wa0tLB;66vTDtosjD{y+6(l4OOSKB+y9< z<^b0|TIcuElV9fZ`%9^Lb%M=_(C&qe%;%2Byw#?#e*^=<6z`|yrwwA~;- z_XDB9&F;mN;C+ZrK^;a)?J!Zzm0}~uD_Ngzisfd;$r5Vo(|qoS7}p_%T9^VxZ8Xx+ zAci`%o>?xv*w2rQkPZMMcE8ef0QoP5rC@98f7E8kq3@rrg~d#*YPEaovt(U{d`2svYU9*oWR2*u^3eoM1f4@KE0FtOx6kwq#}r zbnm|rn0WSb;bWs!W1j9o~O#pkgl7Eb&BfCW-%AAm8*5^r=8(}Lk* zYHm9iX6JOWW#qD;1wf#J!g5>r^NEVgL2i@=m2)LAsQre~s@DROP`9RVGm0TPSnBC1 z9}kj5SlGf{wJ)j%Qr~m}BIWV0Qb9x+8%(Zk{#?vRb*(_*$Cvik(&DH$&lr)bIa(7+IaG(g1#cd~|bhd4AEo z?Ei6d4Kd5M=l;4}>mG*Dp%7@ogul__CQKxI3#+SEP^#LL-%UR8Y)#o0p9zx70!iF~ z171p@Hf?5}*YizCZAERC+HpuML9H#kr4eCHoHBXMBFE%koXFr17?AQ8Y;A7G#T?kX2{G1b6F51K9>y46sCo&0?^L^&&!9Jn2QR-#mlh+mAw@fn9R{ zFuS#oG&?E~f(x3O-ZLM58ICi!8M7pCVLtdlx|=edeD-qzjB9JK3c=To}oQ$_d7Z6?w7P7B#=hi=5YUCV!saRVwWLIIp$TE_ZLXur z$3*3FCgRTvg>f5BxfsZ<^pw{f8Ab}h%`#fRnG0KY>z`s!WK5PLUI^OoslT$?6yF6C z3j6u+b~uXa8W@jGn7yK&Phygf%0qPdr~L zpkwTtss{EZ(??y3^t({PI~7C|NWs4G(-T{GQIX4M!*KarU3=!45j-&>1xh`v!O|k#B2$-+BAT&2PV)pL8AHR-iY36xQc{*pAvZRc_H?V!dYTqKS3EBW^oN zm1L`f=djniIXgJT1DQAP&h{&m5fI^+Qxbk~Xdq~_oHKp&S*NgPps!~4ElSY2I6nJ1 z4Z}5CsZ!TXgJNb`)B_d$I_38xCf13q4_`n0t$y|2i|ciFu{H2W=_q3YiK@u6!F~Xd z|H9NKWK$sU7LtGg|#859WPl!ZP#n>%QMr&kl(V|>e} z!}%<`tm$o*5H<(HblDYBE&1LNljK1(atPD+Ci5n(0Sj74pQOI;$y6{0L%$kDAoSvN zWmQUBJ*(1fY`Y%!w>vzi?BQ{p=!$P_U;D{BIJT3_%k;EHc&&9$h(<{C%?v_FIJNDO zG=`BsQUl@B#7}2Gl%PT|)c)jZWNzzcU`|oasa0~bR!dN-yS9S@YMTt4=TcGI#KYp` z+#io2*ur~^%j8UYRfd5)PpGbt^dl(@k#tEnL3 zC<)sF8Yh8WtR~@OlyptObvrA(m>+SWhy_oUbb33}=@^caXkrdvS1s*uXV4k=14<4d zB8#YlK_-N=#Vq&z$cc(?~CX+LYj@_u+B8L~ladaco? z`I5+$4mt3J<7BmG0!me(Rmi=NVK{@sTVX!&04)v&QVXLql!zeV36Pxvr+*CblJ)VV zMqp_{<6`VIoV?4TuT;+-XCpBm4%4bPcvP&zbmW~{OXO3fxEtL}AL_p5+Cq*>lQ)Pa z$SL-~?Ie4g^@zH*wN1MZ%5J*?R3Yw@MLIMO>B%a%1$%gMAXJFsvtIw;?68}U&!|Kt z%Yms%ttInMskHf8!`b^WZ1RG_ek1fhFYJbbVJa%8DV6|%|p@)r?XNmzE(%L{W8BB9VwT?O+H5#%;8n zk%SJh5#+f-0*>>)RU7Ws(;4z$w$1E&d(gv^iNCl>Ot|tvl$UnRpvlt0nP?|-Bp{@> zm`olBSK+1N<*3ees* zXH&7j`I*DC5ZoL2aAGpr4;6rRgbF|O86y4slYc?_{}(}Mv_mX#$1+K$s@feZT3rLZid-uZ;4NIr-)t zc4w;_4fuzx`iE%Ut$*135V?Qf8m2CcwYBEUpJcWNA%>gRE*w4z>M!bb*Z=9O5vhru zyxQ+y$y%wRKlx`Nu&08#SCv0dY3NOTnwjq*r z7YA_#OTR8C&1R3|um+K@Kh>IEO;C-eL*FW>RR6lU32|5RMa{2$UAWnLH;|{thJ15D zROgauI_5k|W~a?N%toKt<4n6glYpx9$Q%?J^G~>?Z!e?x$1X^Oom3`fq(WOFOCTYL zKK5Ax$R%l=3W^8;voFNXs(rP1dcqmHircv3iL_;%q3Ofb%SU!wL2Vwm`zvrJuwfeF z@5dju(_6B)}tbY9hDFMEc;-PzBNB(_z$~NaaF50Yzxe z$LRy5pd9gg8P~6&&H58)D}8p)z#RuWN%FTaw1wzRD>J8hp%!Y7iYN zKQX~rzxuBS{=lJeOXumP?qo8DqZ#-9N{M$j(%PhAGdN*5yyKIHc|GzPU{b@K8f z5a4`BcGY1=q?5V=AzKooURaeh39%QlAIJ@nxk%7DrW3<3%h=5@?UWBDGKeSh|unuCMp3Le{v>+HuEWAK`ZcfHPL>jKSzCQ5%G+a&4YoX$o z;cF@Nfp-pNI0m^^k6|r)P|Gq9DB-c&Z zS`NXIJ|xGgGEzV+panyUNkjtaT-ao?>j*cxu?-lzPUNMm=@-laI35o^AL&0TF60Tt zZb_#EgXborA%4sm%$5&xE(*JlI6ABgd@-TiP0Ysmz!r<8D$bM4dE~b&swMQ)$Lprb zR}J%JMb!%u(FV-^)%XeiVPSn_28Lf7Ge!>*ojUn5c1ba4<>@KPJn4jz(HW-xgFZ2T zbu~8`R1-N_n=2@jmB5xamBCL>OtBwjbF%x*q$RFVtA&$?kqmJL>jlM(XNdr2t~xfI zuAC(-A(sqliYOr|XO5>BUE$m*Ai~<(YS3}(xiBPQVZZ?#T0tc+6P5?0r($~Px*_L3 zu(53BM{9NsaJ2rII^fZO9CBQc)+TncWn!Sag#ndVNDirdfZwqA!Y$Hmd%^#!>-a> zVcF=m9lpY&Q%s()3A~C&u@*qb!B9xrX_A+st4`}!L(?-EM$)rAfwy8k+|%v7O3(H< z4rwqwkNmAIRya+>M1$dov#FJ$#pINZ0F?A?n)0`hb9Jxe&L~zaVPPg05y4ZazZ&aR z+Zu*vu4qxZdI^z+;YvuVdYqov4Smcz3vp*_Yw4t4y7tOaIkh3tG#ks7Zk&Nc^)ms8 z#WbV2dRd`aLBTP7gL>^WW}O!KOJQY`L6`@v@_^NJ4rKO(+a~XDR=cbgCuI zn0mIYA+v;R3Nxc5%AElr-=YoU#BEcIgjf&?mI@d8&?!ORO{`OSP~M8CT0~Y>8*U7Z7|gehg_)|h4zF(GoMaI8E>q$Kvo(V z!em(uDS)2ShGe&AVI|c7|5<3+*Vzoomw_>rgJ)LGu7uCQUj~R8>2;RWFy^PFsgiUr z9#0kxA(vK|_O*>L=o>c#6z{26nwcM({y0BMP0n{CHkkQ5eLy`XXfCHN58~U<*pV(t zL*2gc2%!5+D4rImxwXgwI?seAx;l-Q1$;qAIwevNL{;5_j}il7QO>>z73foT500VS zd(Gb(g&WI365~iq8uq`lt+t*EnuBF-g%J%oTlisI-a3utE^32W20pYvQ!eB*Ra5~$ zvODfCX;|1)!gSz%voNMmF%XF-K8b!i3D)>S5l>*&E%p`cPnj$ z+Qa10!Jq68!-4R0A6Oq?u9TD+JG=EEP=2q!ZOMeRDe91KMx(A+cwq#gD+2;I!y)-V zQWdjuq6wj~#sPxF1W71QB^=WPWtrV|O`|-A=H^qKT0wb5;<$HnesXkk+!gvg-FK&S z)$wcP6Ia+*UP>|Cfs$?`UVrgM<&d3CLqAKY7wh#hwDz6J7*T-$Fdho#9&o2E9zsiw zyYBcOoWki}e*rfHy!i0KL-opaYW8y!1c{79-FNV>Xc5}_33m}>rJo!*aaEXaP_)a^ ziPREoZ$P}py*OCcqM~CSB&C3vxEbaWcsXSXW}heW*iOrOG6lV8Gf&q{(1arg(}6_p zlpE;$qi@`F_`MbF(g6o}8yYi(jgam78J-Lwwu2x8@JYfXwo@ySKA&RoyJ^cFoKb?t z>|q44(U6u9o0!ssV!!lHPm);*DaBGpxU#CK?y_IEHYdIf0j^N-FgK!ADAocVgLqc< zn-<+3`d_(G@9g~MsC&@^zXR;A0#;;VrD9Zx_CzsVqL9<*(C4mKSY_R}rB707{=x`u2xLM43ioRaq2kr2e3Aky^a&W+A$ku-a+(&z zwB7>17W4eOh%-5yR5~N&JK5x82p*_kN#w3+AlC9}UIMtD(8`!XDdnR2lJM0ZKEnfH zUSM#AK*+k}XLV?yF4zN!>gCfvfa%|P;bv8hg)m(8MCsWDY zuUjUyT|rFGoX5WDRMU5+*z(UqcbadQ_LbIM^LncS+d>~$%&y60HmurBqhl|}G&z2j z92Cl^5^HNKC0atEc0iSatYaainp$lw22y9R+-e#W#Ig%o8?o$ozKVrlTV&q3)>dvk zK^reMtFoDd#A3d-c5C{UXz~xB>1w$HporFmq}~Vh4~A?}ZD~jZx6L1&g#4APd@EvA zgR{ORtrf3>a}riwyb5M8DCwA6jQ7$$(*V#Euk@?vZ>nr7WYdlJQq{nVy}>t9$c(?e z@#8GvZv26jayHbKQ_fb)O1YJs<358a9>ve%T0l)R-+?{nvT>Ck6&H}6(A{@3$wTYT zdbSYBVaROR8&ic@ymZ|47hYD47OPJCMYf@Y5GtC&t(o!kXwZHb>n^HN3k&cpN-r`f z*|r^1Vd1YDWMT73pf6j<2-bqfn~-|0e4E&~SYRc8vjE;yaCO}=lQ4YP8hDs@m6+3| zQIK%-bZsrUxRM-T$E=UhzRHhmjaXT<{ z^;b3>!nw#<+q_O(yxdIQZT{N5>>Zz<`OfyH_`j2REAJBR`B!k8s3+#3bDb%1C+5yS z*_U7W6s{KrFngQ3SuhXNk?-i6?ZRlh`OjIzN5fB3G2`c3Q!4|Z8$L?p@rhfbRcieBM&HZx*dG{Wo7y=0KNcik`9yOiOci2Qr&B`7Li zr7e+&y1g)yOI5#B!1lGR%3O7!q@`iK`1Eu#hy49kwsd2h$4`Fqy%o&HubYMoXV>ec471A{PbAg^MR+BT)hS; z0AS9F{~C5WAP+wmrQ8|CugNPt@r&s6c^H1=5!??MZD8Y$t2rBE%~M_FcUUbih2b@t z3tfZ!N)Iq6JW{uIPE5c%COB(awS&OJrK6lcEEwc?_QRTr3pw|PH6b`?<4$JgvbP1| zG$&wf1^+plj4{wCH?`}8Po|eD}KZ6-< z?=#$(uO-5jgsHe{|N8jPA8vdeENPq9QjIClSiBKwwL2>_GUhN!Y3)3 z1St>DtMR+c)&QpxlQ-dLcppsQ+BY_5>6yeOKNHyk2gM&Crq4Dg zX76B=u(*GBno26yVi_o7>9rM9IY5h&(v9b3G`8 z7$Va6wyQZK$1AqdYI!1yQ>K($iqCrDvW*sHl7^z8B22qFt`!Gn=Rv#XhorW7!yG-9=54p09 z{eMOd36tK#t)L6^a~L^Cmtm%3et!&7!8+auYr&1=6wjln(&K`^)FkHNY(BNk5!ig0 zjO8|&PKx$*;YH{)i)5a9b%qu)@peM-;lokZ3~ZrYjUL1x(%S~>E_f*G=)kd4FZHvB zczuiMH_tTTSz)+2ObnJjO!`+eKL`aD<*=}eg>!?z!MU-r9M%tJV1&7xdo#$`_?Gr7 zK~@Z>() zz!QJVWh}h|K7T=Iy#S6|IE9T32Aj~JXbN73LkwEoE{7+EB+v3f+ys6_aY7pQlw+UV z5 zyhvHMuYGW0cfJLHq|LQoTKAhEBW3>#z&I{{2H<2=p9%YdO=p?IcT`cgO40p*7y0vDA50^K4BqfQBOzEOF)xAiJ#W*=5C+x+{5Ty!eotd^Fh9GI%uCBMG z6+dTMBIPPzU18A7tZBL#n}93~#Pfu{4ly8zXYXa)Kq{2kif94R|XHF{7FdI(8;~j2@HDLfoX$msZ zJ??q~nPf@-mZ=70(c9t<%Ys1icx??VfPvD}H=6pzK)y&4?Kf!+c%P=7#BvG_90$Q% z!n}-_qW#$C2|;7GGax@@YRveJiPYdtii?)ujY8jr^t2V^a41#RJZXwoyQZrFd5Rid z>_>`4aX|D*+c$zL{LKK5+=f?>neEz-$o(C~b2hZhxBoYG3D?xnHcynEX?jQswQt#X zdgoechhfj5ZgCkb(XrU|!nV+(Mv`$F8t&d=JoHU%iKj@4FH>s@63$QVJVI&2K;Eg0 zE6i&`#y-TYi!m8_Gj^ozMft>knat*L{>eaI{EfRW_)xj)CvwwQg3|-i)$deb7ja~j z3}HPv(vd9oX>-z`_rF8gmvGP%;5)P1$yC@UDsUXU0seOwA}V1f8+{bR>+~MSbM{36 zpYc1mcOsnmn2dCY(dnGh>=Z7kfg8qE1q_^_1$y{ov-iuv$;tU|x*L!R_+iSElo1eV z)8q45;)e=Zc+1mP+4SSXy}v>m#z&iH=Vx6NIyb`&MD_i+>+7b5;XG+as2C6TaNnHF zOHt~(kPW$n;WmYEn!%kr!#Sq#pZQ-ej{Aqdw4M8*SnVC}@}S>sJ7V;?tQv*R6gyP|f)d8W1`V5WBO^h8vh-HikehrOOaA)L*`b2t(&USMK- z(X->j?(b0Y(?rb7FQT*oS)U03I_I`CRTeS7wy2>tm0M^roJC|Q)mt2 zP5@zbGoJXasa~AiBpiqZPLzZS`GR<*n!feZHSbhc8+IMp7~Z;OqB#>X8Gq0lFnK1drub#f$z)2HkFOeV_1RM5<*||s@#E0ax7+1P2n=%+HU`CdycpB1!e<@$ zJH0*xvMR5_{grELWpoym^=w#5n-0HdJ=!Yo&>Lg8Wtg)o}L<=(s?H+0r$qq zr3hr6TnofkAqk$I)K5*3P7IH5$xEJyHgPR53VLQKMI56qHe;Rp7n^Wflvm)e z@$!uFsF2#q!);0|oEH*FnV_miHz55=YF43N79y(#uZXbJjh{lT22+t;TGXoSDc%KI zsd|18$mM1gG02TeCOoO814yLwunkdhJ4wutvh8NzchN_@RRRx7Ad%UWR|wy=AeP|( z+Mrc4kgGZ_A2t-z6RPf4?$`MSbGPcjM&fc?ugh$blZSCs5C2|oZg6)!`a55D#DD9t zEBR2YwE?<=gu3Koy*F$fRu5zXNssMwT^!y@kgfLzQ9}W-Z~>wO9*90-;UEEJ4cE^Zcy`7YxBNShalxz-C4g~cU+;s4#Xd) zJiua#0q2Z|*Ex9+-7VNpKX1+q*7XGIQva^U*EKVac4PiWWV7`FR2e6ny; zsVMO&L8nMMzo_Gzno8H^z9@yF$yu<2BdtU)=Ma%<3mr3K-og=XNZ*<|FQ~X*S&mQM z(!-2*YWpB3%)py6`wR|WKtF_=vC9l8^a<<1n-0Ug@Ir{(^Ow4vYcMn6Q<5;(<@ zmK6GCLA%jxfUIqJ+utT^39l#4Dok@F1(&|wB>7!UW(pfWFXXtEjWUfE@g}+&sTi); zdSkvsVXsWnP#H-A0$e`o>yqilwQIez4oX2HO-b7tmuNyj)4;q048ir;03a>6G-d2I zQ{r!}t76LH1D~dJX|6Y2w=9yG!SzXnQiXXd9ImROcOB`Vha_;LP{QZ9*~l3$`&g)O z^kAQ*Xc|zM<#WIQ<7Mi)`Iah7>=$p|UUm=uQ9JE*4>3n)mC60W+4|{)lEj4#{uQE_ zO41i^@K+6P0rq7!vH$7(^rG_|dH&)J{HXOVy4|B^!7ya;i#PIT?WFr__k_Yx8#h{J zzky|cK6!tC5Bb(0A=dhfnhIK#>Cgn37p3Exu%1O`zuC&ecYacGxi>2o%+KJ+Sw<}9 z8FFTwGRyd}e|*}l&X0F9$&qCZeltG?e&eTLKOo0t+Kw=vf{rHh#pQYL{OFIGWi;hD z!kxDMa`xF5gVRPvaZ9^WKIRG=Jn|$KkyL^u=V6vESH#Hfw~aIFC1#Oj$8X`f%U1A%hbdE& zDtkLkY4C_y&$Ym+;@(RGtTJ_{idv^KF~iMOVHkuY;x%lX1V%&2>C-~AioAsKWXcc0 zDw$p^Lw>l}PH*HCpl4x^A4o5);t5H9r*(HksvM`B+5RV?1nr<}OfvAYq0HOwe-2(; zU8`9*d^$ELFK$pCR>6l|`+>E)*^+70Kq(4!dsLa1WYjU_llzSzA)G1!NzLhR1&A?O zDUwv-vx59`H_~J0C$)&i@QrBbU@)(|Nw*R=*t*%P02`yBAP?EVvf(nE$*d>o1yz%W z`TfH@b&Q8HV>qM_PXZJYdnC+}TPV#X45 zli=<=*i3DUw?cKnntw<|6aNP3nR{3;X+BFEyWK3MN5yDrgQhAcbddV!tncMfa*yt} zsP_T^2gQuz*>NMInVzN+KWajKh?Rq3h(&`f5wQ$%216AcPTJFFJ~9RORgt#srFZ4X z$kN*7!-&`9bgXH#+RnAsQ&|!!UW9TU+|Q&o1b?!C)2@Jv(;*C;akVUd^|;^UT?wH z7k-?cINt2jz*ca((P(UmcTScWrV`6DjZ~4jWyN3UVoy)$27M0d^u}`g;zTU#$&K0X zFOU6lgce!)X&$oVsq#WgM3$knYGoDE_wrRgca{Ny?Vp|^jPI6zAx?Y0WO`u3TBEX% zzzaRxSZtTh!lYXWuAC$qVwUOv;`fXP08dXQ*ItxS($X-Qmz#K;r+ajBc7D{oIqr8a z5BleqH~l{@y6z%G-$JAr=IVOEbX;!WhnvGWism!^1&<(ia?f0yeI}PVA;m=u;|XW+ z*(A#3^RY5%LW;VxxwZB8t8nr#p4b2G`i*NLhOLwXO1zb+rvD83y*)oa=^mWfDVAgh zsfC*=-8F{t7vY&ro$}+*?Da1p)w&f+$4Rl2+ff9`qsbjz!_?2s`2?5tf-PU%0&94Y zpPpKO6XD5qwKKzLI*lL$dOEy29_KV8BkB0sIGEjcAn~}+G&}h{@}EA;*5APEpWZkw zLQD?&s#b(;bJIQRANP+T=Yz8*mJ~-Us-CkpNWQVVd;Rra50muq{bYvUwQ8q8V&VYA zJm**ro}O^)OvRxt&FU(X5~!WWJYhhsmjZEhRl5MU*6RDKqxsWd{v_~z0)(FcQ}@H? zbwMe4f|jX$JU}3*JLp{#O0$5u>ZJGRKo}x+2CmvxUNz=L`!bCiE?#Z<9S#X4^e^@( zz)2{(Ox~}TD=}O&%VpxW5K^|GoVaRSw|SD*O*!-3{3FHaF|1Lf*Tj zy!MXH58tQ1Tj_6@=L*wC`t;r9!Ox@*P4Dcye~^N2Zktm?%_bm0hN0nj4-6B$f}0@7 zPsp&yr}MXX`64>DJ>#`>>&oG|~tbtp?R{5Hc(1zF^u+f1Uwb*G|u|Y3S1G z{Qb_BsA{YJlUsk|)<10h-Q5}(mnQ_C^S9=Q>4)*(w*R&R=@Mn(&2>>BEGdkiJB~if zButPdWWQSXbx1$1#==Kky zJ>&EJq|9arl#~vSXxC-E4G{8V5^ogyS<= zqR!a>Oa=Qkpn93%TXkF%!qebMKG;5eXKoOkqG@Ug&R6?=HkfHZl{{UZjapyQ*0Kn5 zQXMW1FD##y%iXe(@3p=|MWE5W3;1X>oZa#$*RMqy!H!DyQ1!PV!>p@j61yN%m{KcdLG758 z9C{DqVF)_p8#3tNgd#IqozM}21zzJ))TY&63V(KLi|EGM2 zNZaU+nve}4lFZG?g>A~zYfL8vbv`^quNw{L4IHtCA3+>DKfw=CWW9O4uNXmSFjwpA zf*IODau&}tZVlW{x(Dz22S3A&H>c;0=bRqH#~FNp6#;*H>JA*E-to_8=a*fq>6~^i zFV8P)rx(8*ob}I7Yp1=7gTrp^^x#C4`uXzw{e}8|dT{v+ZujROzM}O>o~13d7bA{AV(XX(uQ}P42CY zF5vM4?wQW~7pu!=J6LiDOYXeJ&j3F|{EYCE!{;uR*+po(2yGW3>|(9m7Jg#gU97u{b$4Z5 z#O)=v^%CK{LI4>D~BD9wX?Il8cDWJu?*}%^o{M^OQm-zV#K6mi# zEy~E&rgA@lf_x9kuY+s>gR#vye!{SA$Gp7*kR;vKsNI@r+n%;< zPusRVZQHhO+dXY-+O}=my!D>*@!XI9jrb#;+IuN7va+(WGP72$1^X_9#H{Q+P zMxphCC{oBsI7>~y~abVbcd_yp4mu)%kx;dRnE?Pj2sBTo3Cni;I zT>QKc#@`g)d+2KR6S6LnJ?rWx_7gf)YYqSd%}3w~nV&b(DOsF%-$Q~L&x%DUnTPa{ zX53cOLjkU~sVbjaS#}`QK&M<@%aCpvnWrq@47q(2;nKeyf(*_cqCIEbJ1cTJ=4EwG z$UI(0EIta0a_B#Zr)32`h-YP6ypbx%s)F5T%}>eJUc&}Uif+uzJTa!}3L_ROU?w!m&IxqrPoz&d54HB&58KP<KsBy|7 z#wak)f}|oBnB-VQRs0~XN9t`G`!Mf9TBkKoe;h$RC~5`s)2(d^epEkTB|@SFOp=&J z&#{lwOj#E8?h~Auwv5ZUsoT4edUa^&Hpcf~hB&ZtBDy~=yTEPY0scq%cptm@`WzZL zS$P@o(SCfr^7*)U;`@|^8(GQvsiz;_}r)ulojpqB%*E%nhg zmj}?Ce}7Y&FjSh@`3y;V@vpIlwZUFE68@#k-hz{{nGVlv&r#lfQ=vqE027oT% zdkVxC2^DT|bAtSSfd?c6Vo;O_;H+U5f9-w1QW4(Ww#!efc}+g#y?+3Y8?nNNBHpY$re0n0qn80kR<^+ZO)ko4*v z>4jawV~e=QdLhqd@qYnPi}YLlKOp#4|99#Qr@4oYhjz#43yrq&vNr!)in2EUiGUW# zxBCAKK&KA(?9=v!DFAe4Il8mF-GyG>;&1OruN@oAhhLJbYbg!QbY?cXvzuLoonGP| zZ}E?hB)FX^A_Wa(HKwvUGua*aJZ{1sx8c#7RGjWLran4xpSDea%}1RBbjmBuh*E_R zW+F9;cA-Qy2*M6JfWL~^L<5PxjW0OL7|!iM0zJIT)i4wZ2UGysa|}cuRz!e~IS?;D z3yzZDYk(sMnB#ood0izyE2ENS4khxFWReXRkg^JQ` z)M3>|=54~Po8yA5J4|!d+7fXhZu@K!pwXOR&!Dx$pE6b4`KOFQ6<0V zQV?90WcrVGiZ^zjRHQahrHN=P1u1!4%6uqiA=L9w%4Nh+OakjfEfzWE9=q3o$GGsf zVW6K$r=gS!@`}~-N(E7+oVfB%ocX7Y^M%Wb#vJ((0`p2^>aF`t2+60jhzmtT<&vUG zDbc00xboVZ`E8CuPA8%Nfn&_s=o%Oh-8L%(h(315`zw0PQ3yRMw0s0nIf2OFQWNvl z^cEp)Oc`Af;*bh5TaxfT{?*) zpT&{S=^*5E7CR+#=ksh8 z{I?LbioVtVGk58aM=Tdp7OOc+4SY3bK04i68EEmrft2avxdo^Z5x^vOp z#kfAwT%Uh)xJEd42y<=bsjA;z9^_vDPEIKaGMEBN@;uod~3kzS41h(RRsHeuQgur}fmne&LuyGLUD6;aG; zBxE%lx*ChvNI+yRC^8=$Sqh8!t$}ZzKC)CFL;epv)Tpu@)eh+Dg|9PL?nZGFAbuot zH6F2%gveY{WIj1kVD%!_IYT26v5}m}TwY{8KeAL9Q$B(*AI(^ZW;FC~j)K_75RFj8 zMg$^r0;q{R!ZDNeCd5WkB6Dex`Si$A7EE~y#{5Mip{kKkjfDTPV;8WR5|O1z81hsM zyYeheQ%E^jiHIzK)sPdJ&y6hQ$CM9X%>QmI1Unk~UpqKh$p1n)fny_XXI^RFQ8aiC z7jtvDV)&JVjke^FCbULzZk0aLa4*j6tRelrKKQRE_k2&+cP!pb*9ki&zJRlI5x}oJQ?Tq}k8I!+0;AwC3;|PM zB=8;=U?xgVxyI>b{b>qpfc;|}NdG$oGU${GNFXLa`3;M(_U{J7HH4iI2tJ`_f~qvFB&8a%~rcd3t4 zhKGuw|AnIJE~S0K;8ZkJV~SoHz+DV?`;1Cwd?G}VnZFZh zW9W&!w}!Db*zU#?)i+5yG0!(x<`b#-g;Da!AoF3E$p%fHhc!MjllqEia4H&FhEGuJ z9SBf%f5~kc5i~1Okr%7TNmb>hYVb2O`tL5G!GF=f7r);@7UO205G=WWMK8X&G;DU? zX~1(}SeC0yy0d~TDXvXYMT0$s?^bl8o_%JRtYF+if$;HI=;f;-kQ}N1>FkJ~Ca$4( z9Ha`rxIT}A)HzvfRjq?OPr6WWA80q#`MozqWiRe_;B8+s9&<+H!0dhyO%KgQj0ajX zoV1;^(xziA{KPmGW762k9kH;Ddfbw&%yl>F1X*K=dVkKiHYScdMJd<`!he(`Nkm7- zc+Zebjx{>BHp!Vi9h@+==6ddg9n)#Ohk0(r-b28v`3y;x)2#a^?dSq6*-~Ge{%L>= zZ_M}^Z2a}&0%$CtjE48ON~nz>HRdkxrYSZb@aou4@5>#s9#2Tp7NFn*O}eaI7W7s00u?Fk(HT^s#O!>%n}?P2@ogssjuZqQ-V0)+IQ zeYGl~#85Xv4xvthm8b?U2xB1xNCZ8=t8X5Yow3_%A%;T>uUoY)V|2hh)kBJYHL_<3*2cvU*=`lO=C?gypDN*ue84hCt+WhhHO$ zJ}UndL5tyMA%fObWbAr@44al(5r;dYb;d;IvAi0^4B6;af?KQECrkDTI?yG^tF>6G zsa>QJxc(8{}Hcm>u(zT59@A`XT-iR1R3J6Fk8YvWP(hH9U%xZ0d~Z`9f%MjoM>13eq?Z$ z45DnULxrEuI6DrR@gBFx;LyK~LumvpF%8BLG)ZG537gJY>iR8=!j^`SYV3}6i6lEj zl3f88hKQdQfiVIBJM(%qe~DjMJIx5*(13xLmJ0~kvm~ZXanXJ zF$S$d3@F0j+0;DdUobmNfiaR8e@G&C2;>J5cm<#TvP}J};O%>Dr*910H}oy~8wB6a zXMjW!^Eau*kx`2?4Ml}~S}oGpfErma4ehynphOD9|3pA%2UBod6_L$NM@i;IjK)}X zl{poV(|a(wC{)fCcPd@zj$F3+|FfuE6jtGgta?IPJv)Igwx_Yt-`Ivp2v<7KEMI0O z5-J$Tp6fp+^sNMwKnf*XI&U9b;z* z0>8B`Olw7`+LBO}^4(JI<+hn5wJo^nity)C77X-Q&jr(f|d_?d2 z&tc}@ZWr+WSJ=yBRub2hG!9IKKV9gkawXXNab3U0Kn}?QK!lU zq36=q#%W*EJm49D#)_a(J?O?gH1i>v`Djh)z%8NYe;rDVo8`u=^~+1qio?wbnj7eq zm7pC!8mHCF@_x?>EYt;+8(U!OTN9021%`9O+KF~bO{4UrQQF!d=U|q1x+L&X6!a<#{Sbk6 zicT|6r%|fgAlGf0=RG6vkq>ZK$Sw-6+YVS0_%y}xX%5@aWIoVjUIBm+B?cr~#R`J# z#{zNui5R89?GBPDr zKq}yAn(0$jX}^Gpf}_5pnb*+F>u8pqH_NTqSaAj9~9c&RdiQjbb#`1oM_!FxwdR1?PcsUp<(6?4K>e^)PP9 z0}3_aG>1c4M1TfrC#?)X;viw6V(u#PH70D7ijBI?*fc$u@D?j6u zQBr0%5B_+H-RN-Yr$-jD?kAV~-GDAT(Wsv?5%nV@tg?N9?3mQccY9_@mWe8<}rHC+> z>YqA@($8G{qnP0v1HeTj$z3i~vt6ku1qyF~<%%%pdYU?@IONz(Ui>D^ut67o;w>-r z6k%Wuy_V>@+IMe=HG?o08k{P^+|Qg(P>cx65M>%_CL}0Dgk^v=^J6iEPy_9fW~L=1 zb&#i@`I4a64xS;(Bh+kNP-+j)0Luz@?nfxQw|Za+4HSK`J`w|LLa14)kklVy1FRU_ zIoI>lLBW1zJi_7|1Unq`*;`<1*%Z-2f*AP%zu$(ik+>GQU7J5)EB#(oKp(2UpK8L+ zH)ECBusntz8eb8ll91IlV;|$2<@yx*ea3x%6~+2TMa@Ve^Hm#h?yrNQ5G#p?wkiMV{jCjP4YnJx}8--@Gim zVemgyL`~2i_O$0?T;%ySg)f}ZtyZ@H}Q7 zHAQ2%I|Z^P@LrrA+jA@Y&3ACGGA`3E9RZU^xQ@J6xp!{hSyNoc>Kpv%_i$~wF4NyS z189$N9r>?vq20l?r@4;(H~%x&8n6Hyg1v7nXdupyeINpG2#%k_|6oGvWD34FC!O0h z+8P+?iU?@=-}1&;qq|<=If}VXkD&Q(Ho_19#+-o3vD@L^`N48UwT4t1gn8M>M`+u5P zDy7PXfX)L6H zROVC~0B+Tc_&y>6iYJxkr`^AUcjQKcwYgwT=F%ABsc|N2ac9=$qNT$=SR7NxyDrIt zwImXN^<@wLb=b&{vBSrTI}bKbQKPMvD{es%q{OH)xUFG&j(R^yC7_ujiLnWLR7m&7 zP78TzJLi?tqoro!Hyz7O`}eJoJs$zTw-d0>LoSl?8D4D;7vxZrj9V_N;|aVguv;G9 zE7|+Y^C+JOr@^C(e5D7x^`qHI($=lOu~$~Q%^cjvt-S%XO%&SxN!0ehjE1e8kG=Ev z=K7%K_$K0nv@f7-Tjj0ZK1qVJ_ai|YXo9@F{%=fMxGr>KJvk7E z99$=lZ~1E6m{WHHn_(q@CkRqXe8G~yiB~V^hW?1aAT_<<|0(_vdH)4+D%N-*N?51h zKeBe0P(axB?kbh-C&s(|NGGu0;sYp#t0t82#m@LLy(>{#>B&cX`&dQT#|@pq2a4$d z_Mki5d2s&%Pt<6D+RqvOMkjC#$co{6y`qCYxc0%z%D;Z@hA1ewd$N&jb2WM73opHg z4Xt{2OGU+jeun1ogjD>{4NQKZ@7E=vgP(NoygayR7g)IF3s>4vD9yQ_ETcxVXK`I1iz%_ZmlxW`w+fDV?!ZF`tiuvyS6fcihWK4Cz zw)aSu|BHk11wBux&^M!m<;&oAy}{5PALo|UkiwT?Lgha7xlejhltar_%%s~_%B69T z6JfW(49zVg_vB_y7tPSlbLG~@ODps*XQEHOpkBu6XM!k`v>r6wYa%(dm+#`q5oXT` zX8J6ARSYOTsDzI*Wk#Uy2tt*I!)o9*p0ayaGL!I9bVl~OoiNug!cVukJ~~jZ+sDTk zkIEF2X?y!yYyBs037sF$&j6;fA^UflcoZAT=Gfh~?GaZCAd$>4w;iPMD(1J6WeOF=x7-3uHNyxJEt0%5) zE^@R{2*T9v8(#uAzutADLmJTG*Wjvec7Gr5V2+M71^j_gGn=8%Bk%N##E zJ?R|?@*TLmLX6G?0y3QhS0v5u+8{Vj99iCoovUn}`!58N%gdvf$v#GKz13!( z2Yp%AA`N-iP=1hmL4Y0p!@x1Q{Hd3tu-yZEMD$05@; zp=GoPsav;Y-UXImEWq24l$ZXg1&|pP=^8zH(lo|0F+L$>9&GO*^=O!q5x_VUGWVU_uXYg`9sOgcu4T0Wh zl2gaq1@61YTF&us35bIy5D0L9Kfuwxot{`u7CSs-LLJv%P8sC-T=WgY_mlhVzG7bI zczz!b2?T%S&j*DrV?h_5wAGO;VwRA8fjS^{OQOx!@SROjh%Rqdh>u_D+?#{uXY=I3 z-rR^`_j>t65jmfvwP++E8!nF&WOzL^sNfVS#{Qiii+MN_4-$%l-**qn984g^Zv`6m zQZ`OW0JfR)9%-U@XzFI)0eu6qFbp3o&ycm zF9=BMYDl*gPdm3wbRb*fY?(ul;M84KOxUL2FH}pIShWI(eN`j~0(`4}MijxWc$Ii} zCZRj2u4yWKz-udyoLcR07rhiIywBg_(k2hejYyNshK-nX{)AWr1Xl-}>E1PsjzvZ! z4y?71Nu1BoO`Gs058~EhC@Qt$_#T-FwKG!yCY<;23#bnI{MVgmZihE%du|TZJF@mq zL?VWhej

        +zm^;usc4IvIq8`vH1LX@ zs2Vh=r{jQXjQ+`c>DnYq#VhtLrNl~p7O9?YElBAKTU5X}*Dp6}5H^|BUZT)yUxTcBG>}j^ThTOQc~xBXih$b2--H>|_?Q-TVws0L zyPpyIS2g7Bv65;_O8QPEUMT%?B@%lO%C*J4oVfMPwk|$&STji@u`4aG=XcJv$cvJj z%H>@-zE$CJqqJSIHLBY!S4KGp-BL=0tkA@S8^!ycrL;rUT6M1rDye+0il_tWzim#q zO!k}oQzDuSXUVMU1ulEQdc(NOzFFjwJ2y7emvWEvkgIG<((abkXop#ACtPmlR%rJ- z$gXwSVh@jxz=`nlfLkQ5Re|uP{@gMPdHUs@0e^O|E7yH`F->EzC-B`LwxpiQnP!ul z=R{E2W(I_)Mk0mi^dk?1AzSJ!XIY7UVJQgx8J6xm(0k{mw_>{uxw58x=P+`LO?ZPA z+U5+BeMXWr{8@KK8P&Qkr=(=IQO3QiPx{%ALLx=;L>7*1C#Hz}HR%DW&6dl(DG@%s zm43B2V@Cox(Hqb?X5B*baGI&Dz7U(e(7(!>pr#swaIbm4WvzW?g?RVqW+!yw*MJs! zp;QxxNdS}c&^PQ(@TKWIx%RVai=a>0M`H?C(b5!?=qobcr4% zf$|{JG^7nN##+OPU?dlpPsEkJto=-LZz~%w%Ba69xLnonqHsfO+wZa$(C?)d ze>?g*&fdtxd3x<~aM$AEsmRJ+lIg9i&dLv`{Y)(>V}gAk!+&WJ`=ZK=?kNU}qYftn z_sQ(OvcL(FR^$41Rr>S1oAz7swjs(^FJ)<#bC9u{I#(ycFZ(C4_YYx=q@$92kT%r; zj}sFn_eB2tKpq*qL%v*5uq(@y!lL|k;&F!=zbEwT8?>){F44&Tn(MS@XY&%%(a}+! znf9^jSDi(Cx7{TP;@$gj@U))bzf-?CDAUhCtu)%MLyK#KZ$BI+ioz2l z)d&An!h{PfzF1XF;KhCisxuyrKk(o31|;#z?^Bd>u&+mlFoJ(>OFrlKLwO5}?`fGJ zeqA`TA2D_>J{e~7)39y-Sy?gqJV%SG&L0L8AtSgA)6VX|y`#Is>o#ctEpCR6LJRr* zx!wW#P~Y{ih5zf!XU$$aXzW>^`P4TYJrq#Z`$}|rdNE{WvByDAd@;#o$BVyo}$c2-`lI@jg?d zQy7XQk}Why=*zjGYT+j|m3x^xppa(qVT!pqWe^5Cl%x|wQYtaa6a;Gvr~?CV_szTu zj#J6%g)Is{-yHYuHU}RHeI8v~>baTECx-#FTyxi196$E%o9 z-Rn_|8d$k##Zv-w_T3`h#G&>%xB98Jst`X4Q+iN;g~u8zP9AE7z13&y8PYj&wasbW zvt9OkI}X%v;Y^^B-jCWjLU`2-L2mB!MVwC~{c_-1y+jd=tP=h%qQ4Ix`;8cG)`gy%`Y=VEqbv54e!KXFw{Md+WGF(Kg<~3PXHk+E4(1mbyz)&lx&A4}e?Z^MvLtf6dw_#&rGHlW0W zlHj)Dr7j{uSgIWj^x?ZnFR2-%3|kVa+@7%@3N7;|Z{iBK5wIZNKrc&I?aNt0GRVn~ zux8R?se>uNYlxByPG2A#GA-bMth$qRL%jmiQkoA#Ef8Sb{ovY$Nha>0me?{T07C&8 z6X+3^4np{a$zL0tRA&&cg4N}S$uN+W>iNP27M@3Na|T{kO@x}I9V^V#25)? z6ooLJ{9B9K{@1oTHMnBMM{+!?PsK{LzD00D-5-pg-@KVI=L4J$;8fjxGrTS`Nnf4T zbl8-8NFp;pew2^_{Y2iHE+T=T@tbIq$F#S3(POWsfRms#EDo@_`wgCGt8i6=5WKU*c8y~E~5j{X{gu5t#B;S&XLLO``vMm z4ax%1v&b0e$}*MomBvqgs)6V^UqaC3oXCd{ty_>c<7PNtb);9~1`$goHg)VgJ=I`A z<4nM}fFjXYaeNVls=mVxCHzr4oPk^eL*mtfJg0V_uX(A2@mE9>&sZtuiBvZT@ba;c zjT)H%6=NqfV?cK*MSp2!=oqAlUGd#CZ?$YS2j;MC-Y=^Gzg~Lrs;3iiZ;#L1j;uO6 z*9^fiL1b;LrQ|ro^k0LFKyRs%#rnI@cHv;x3GsaA#GfJ46VL=A^BkKyLFwXc4?`1( zu_~m-4r?9);LM`1$yy5fJx6F^^@X$J3S|n4zdV074f50f>G@+>(|8FdXWh_FlMJ!` z%qm}8O9k4U_&qVo$q*G7ZF;Dmt9eY*Unkibg{@FRxS!Z#*bt?BoFZpShR|WZSRm3w zRFQiPXA-G>t;JIGh%S=+-W-YPivy_}M3FiYu$LP{SWQ0WK9rz&Gfg9!Ts|Po$qD zs=V#jGl7fbPV{>koR0i3Nx!RYz~V=u&*_-;L>yu#GZ_j!REXr)&|3wdWmQ>CPmkZU?C=9nxv(0 zLG$4I6prFo*gh1{p$RFt)wN+!8?s_Ye8)ta5O!UF{pDD7KUzR8n`I1pYm>&`zmuBJ z&rSu@OzySNp|e=fqixFC=v<-~NE!WA#Mz<3{7DSBf=x}J=eG#`@qluL-Mu;%0C#53 z*!Fg7gPm!j!f7h=`D^EsI?tlz&qTS(IdfJwX1ht43o=(hxfjF;y$>K?U;9joxW2JU zi5kY|qqm|tOhco__e*#NSjZoFal)`%%d#Sn0{tu`usxW_Wc^?bdCK2>|RiTM{233 zO4cLk7U}-owko;q`Smr^v66{TMNK#yVqFc?92$QOme%@Xm{_ExnYiP0r1knD{Gj-z zqnEsv-_Ft?J+2Qr$*@wW;T{M$X#>F9zR2d*yM$Tzw3Ej1#IdV8&E|kjHYC+g1M7h$ z@4VDJ$F>z~L5DM^6lt(79Z*tp2g)|uqMl-Re7fvthWqKD zl@f_C33#QY2#~To*Z=Z`Mx(O^diGWyIF<7Hl@YCcKzVb95-(iJ^;P>~&hlqO`$w|09=kfMmX4dQ8Z55PY^p13 z#+q~GDYg1?C&`f8S@l^^lE%P1w7sC{IJulUr~XREG;OntT$c%QU-IwPJ>=NVx`RI% z+etHVUHrca+ch5)d!g|8Pc%l=6gR9LT73b^jnqs$dze zLx=p?Rzs&8B=Oc8=}jFE1XFUFNuKX=to_?!CTjSCIZQ>9E~%3;Y`DJPPYT(9Sic+sSy8V$x)|F#1i$=#-WuOtnT8_L+_?9KEFKy=`?ND|@giPpCzNQwDNRdvSMV zdU^+c_d{!`RPKy_7S0@=vO;q1`}XD~*hp-puknOQEQ4f3+DKIuEcB;N2vQmOc-({4 zhvcnh$g58$z0np?=AbrX81+VK`tGz1Sz4*1F5doBDiOUb{L}?}ejv6om{-zJzmWGu zq+W?0*^3pbj*ADTxn(a7l$e-sO~ znLWO-yRBZB^qCN*(cF-TRGl2#K3v$Twruy?i1uzC`WrU`6z4l-SM{-G630E5gj|U^ zUm`(;#l=zqA3wTkYe!8kqzy^iV|DewJB2bj!9$MdA%be$E-alhgQIp`=2|gw)EryH zx|_PVK1-D3dzlKUG>MgS02EI#D^C~ak;*#qOXpR~$gWzSjgpRE@2YD86sd5oguM>6 zabAXqlqiM{Z5mtKpxCGolB>AKjQic{+a#K?OLe(YZ)U1Qi9=1rG40{$1MY3H(U8V0 zC*Y0zbpcJ`-7Za+{pfkCPLLZz=OUcw_(tewS2(JX=-XjuQ(-wrY@X;Q_h@5 zLrhea-Ypv1gDLmtbqE5Lmf+M;Wdb2d*rke68r`q71-`CGV49L#Ead$ktq8z|4XaRU zP^#68WqEIx&gHGBW_wA@+^4Fj#GMD!_MJ&Tl;^iaLO+g1pxOKE0@6Z*iS!={A)0Zy zBSaB{Nw|4#3rb2V&hiOj;{Tixhy~nUP@aHSmM_btfSSVWdlK7AgTc-wtX}t6@!>PK zOnC$SAx80Mn1~aXCcwbFY8OElDMJ288pl-5g0ZKMCESC6h-mrL8~h&Ch-8zojB>%L z5|OmwQ~cmO&~e>H$tEGxt{YtcV#_@Z<5YkURKI!9uKWw`;Nw&}JKkt4=lP}6`W6#V z#+K4VqxE)pU!%G8kSds*&!n>!26?6;ZD?W+P;?Jczub{MbFz%^lGA$M0hqZQh}pF| zWt(zzOn8NeDNOj9TJ)#2X$0vMTf9drU9+A9ii`n_WHmj8oJ^K5tx4&}IOfJ+qe>m9 zep>yzy6w%n;jdkUB~2^O5-_z%Ci^}CODEL1G)^U|i&GWGMg;R4EcY*ZT-z1KRawsd z%-8Gez57TOa-|CroZpl^mj0iBbuI2XaGrN_F~^mGFhjIq3*V&F7vxSPy7Z=66R;RZz=%i95-uRMvFL6ndIF zB(Ngg93k4{p|aTiDNxLi7_>~R^LB~}JFRyPaaeWDpsXy!yp$mV_FzHAzQ(AUoDS}K zYLCg zX!Rmf^6Se1^1FYv@QbDgYRz+FZ6Q**H#$vsN+M*Lz)8~%1)WkxRIPLF;*T(dw~Lg1E1~oSPm~t|=AprqI&32PIt|y>^@vm0 zjMvaP4^djnQ|2+#I$ zhaK72HG9Rtap;dkb@-tAH z*iC3OK+KoQZ;r)itXHP)!2RBvAI07N2#1L^@qAeJ<>4sm`rzrP9V{ygyHQ-Mm?CVXJcsPCuVmC$GR|eS!A<_0_5EA-j^sXXDbty{cU2 zyUISPRT3(<;z~O4?a)-sy^5M_4jbgG9{sOCQ(@O8GKQT30eBsIXTs82I$WC2sOTv| zIxQuxp+JN3oy(8|{+yAEm?__MJYh8u-d0-$m!{eEJ}xN&iXjOK+m5`t4wqB7aeroQ zRvF0vA<7ybpHY6ejt7{>x(FGKL`UqCX4hog)SN65|92GokDRScoE*G>*>5fuC>w88 zaQyDKa8i}111#|}<6LC$x zxoH%tV1tFM%egYsWZ*$@UNort(I(;;q)_B=if2XCagJa8GYNpwkmK7BX!0MbT0Oi!t{{QhiHv^p9k|Ir2!$Gw+{o4c}5*RellhGSSERY7_op zG^%~agl`Bk3~v91>ViH|57U}pz^_g$FSqg)+MEZwC%Ul?tE2Q|!{?+77#H@f>WF@{ zZcF;ySYj^S{EgUTGVCwJ<`>r zOW%1XAL_RMj-LJ3M(wP{_%|`k)B6p2<=yWfwnc>ShadNngh+6-wA+*`w*odXKFMLP z$zW{5aSG#C?55(7Sz;LcFIjDrOYcwv&lbB1mtewJ{PvihCT^uNoLXZsr(^QApa-TD ztdy54Kac0#5pwI&Tf>peQ5F_$JH-|?o&`Bp0;5nGs1B}t&qT5?d7W3I>s`@iR}`0( znQqB>G?#;_o6Od?(Ma3x(8KEltL2qWqgj0QAYmFQKXUYeBZt$U&Rh@6UCSDlxE z|0K=$0n9%GjiRA&*i>b9LTnwePd3l6edIeBLk=fJ30JxU6pkFVloc{X{1+0c-Fl=g6rISviMw8L` zBx6b6vk%ijSW87Kd1+?M_&xRT<0YYA4WP0zUQ(+ky*MEb#}d*s&KxKQnXnt>(#tz& zB;GXOIFzO4*!3rbuE}HT8p{yJ1$wdOfTlT)O00In%6H5rxaO+0+R>pE{HZ3cKn`Q-WzeyKRI@L)hB$Xcpax6dx%3yjdKB6MW-E5*Q>qT!Ux$Zp zZ2$+n`sR-^^#Mik(&ox+WYWU664V%jgkH_wDzUs&t)L}T!m_!d3%3r#_%AoNug}2h z0s>+e{Z53)GYRqNP}&qlSv%C{>O1E=d~dQq6KTJ%XAIN4us=X?@A3nF!@hJKV8Rx{ zd7eOa9E@8@(PPjX-`=cU)DtsL_GjAyr`0#&@#hkdltoBwp25v1_p!!|arBbc4ET{N z2frhHPZr8|8LsL_4ffj?ev$wEwb;;LJ>;%PTTq5J{LymA4>S!T*);OI_p{#;fj0UZ zoiO4s+*>xW@(Ojsbo?kWVxP3guOSpF6B)L|;xg2LQHKht;y-E#!8sKermNb1vl6j| zpTjS((grAYjahYzV`38!c_t<7aO)omDEGN_gnJV|m5bMY>)t2h^}yefIn)142t$^8^ zIf~Mx+aB_9Hx@0`n$D%7#LM03!voPT8B8Wu7P=)}?82y5Ccsf3O7aqA+;%#9@zOkG za#S*8kTn{+|KgOMblNiZU7F$a32ya-|LgYo2@bcmktI@M)MO5hQM*K$8kNygZ_$-j zH5CHw8sl6j8S&}%oo%F0vaCYm(^}kkM72vdd{@31(1MwVmy7+ZSrYp3^X#M7SQSn; zOd&1~X%P;y-QIvaC5Zn5-0DqQ#a>e1f!B?0e-|Y=rOm^tyq-gEOhkZIAxQNL^^6ad z#Bv`MY!mOkt&^newN`4#+qS-*IjnsEra`iua^$T+srFZBbE`M?^3Onpw9@G@D>9e0 zrUTM7|LwVvqtAUI<`nH!MzX0q%x1+n_Jek_h7f4X07VTv<@&lp7c+cIUO@ftn&Kr0 zhN2oda$E$!x9ZnNrX<3x6`r%KOr5GPb2SOnzKj?k13XH&dOKL7D6=+5vkp5kE6+`{ z)Ih`A>mjIEE*|?`Js>vl;zZ5gB(`2r1{nf`NeRA1zhfC)x=Ha?|H2glw~vMYFdo5B zpURFwa!=;Gp2~Y;M^7e~2eU-J{7qNif!I#+_Mtcf43};Yorf@QMLaf49XRJep;ivKD zoX){=U=jM8>WDZIKX?R>ASP2ao~q9A_e0lOhQ+4^I>%dvndWbn=n%?#92~6Y zWC>l+f+{!Ert%*>!c*{;#V1xpSN-6Xm;1+$F1wE%l{K~E8m1~y3|=NGWu?x0J-2cR z_k(`34>E^o)B|!C)GFekTI{Hhg`OdjhEhr)R&ht{Y$i_yJMSN^7`tlNA!`iHx^Sna zj4#i&KBFtH?09-w+BYWw3P_T(CsHKJmz}PIEEEUy@Kds~@MyNGJ9VA)m&R{3XFC!P zw6ubs8zV1%ydKKVMNvY(Z80TNnWmhIT!P+5w8)YVj|mFJ3B~=LV|PNcKHJ;CBo(4B z>W#ftQ-b7SP3wbHWqf6P%M&})H>&Cu2W|68kLO0NiJEm>3=wn1=Kfx+11v?q_T?+I+D*o-EPpV4@hS$Q@jm9-0I zO0UqDEHfkJ3r)l#@27Wp%9k!4zf??@6=~U(DHZjaee~*yMc=&bUT>WJ49}mJ_V6rk z_=t{DW9v?UTAU2jl{wwRo6RU|Q5DQiu399{XA#??IQnx8(a0G+(_DSDvu%y_Vk z;tF77@qCcuJ8%f~C`^0-WtE$X!e#O`C&{PjYoJV2Ox_97@2xxw1e3gbU@`EB%@xqi zg{pbquwV2)34{df*%=J8OQOBH@GnYC+U7YJ-I!sbX_>}JpCjjbm6zq=SpX;H1^8PK zd|I5>bwMVnbR+6r?&r#Fwf@_RD8`w1XoI#(B5&AWyiwynLGGE)b38)$5U0FX_0&C$7|ErIkaB5HzvyIWGY2}ux}{J_Mxin${@(0%kzio z2`?$|?gV&gMiduY>Y$$npy05N*o)KDa~im{S!m3?Pk#~JIqmw~GSQ{YW0exyC3 zDyktiTBB|CR16D6OSw1KYfXKp`f14oj~IO4C(a7FXDXx=H=VaucG|&u^&75S*XQH$ zB`LnWBfy{j+IUDRx2WxRKXj7LatLB{==vO>=^~na66ivLjZm49UP_J(Fr|*v4^NwL z^+Ih~IN97_vUtzN<4U#k2xCTtmS!7o4>o_4Sqlqndvp!nRh(#|&jXxz=|W?zTIU6i zq{V=ab2-{LZ3#8w7jgX6oJv5lg0c<&!VkWjZ2t-U29BKje&0xNTZiO4nWRClgK;{+ zc#JjwrcQFYQ!txtnfe9y#0_Q?samXqiXLU)v$N9g3jsOr(+dXNb^ZE|&$lpmlILlj zb%b67-#PRLD>hfXS9myFtqW^Aj0HAUWmrR8!$kiqw^wF@f}+9A-0m3N+p=XVFH3m6 zr6!}M$IpG#Jb{x9LWjGZseK9>guGKuF6@+)FE_<9BY8yMR>N%j+EPG`R10B-4qr6 z5YFO8kerrJl?v(F&Fl-^p%u%49j~EEkVs;u)?zb}ykYH_?cnMwb!8p`&V~v&6*m^oQ)en_i;zC;>PNEM|WVU z->xcqJWVdCY)H1)Kvkw7;_=ld(~)UFQghZxj43w~_DC3Yf8Z2VtG{+j&S`>$97YFg!tjm%k#|*5 z2~~0U7sMGqeMW%IE1)*HmJ~WG)`GszhC}Wqg-}k9>~yTjd*a5{v#!U+TtNNjjebqm z<%?ljnm>o)Q-GVVanrQpEr%B!+Q#e?`u_oqKytqaM@QYG(jqt*r6s@@o-LsL@hO=1 zZ?k347epF*f3dX0+vSBYv~B z>0Gm=M4{1S2IchF5+pC{zqNx?EI`-THsV}K4r@oQ%+bR z_ z#K3b>1zRk+Hq(`6$%XF(etq~lzD@!h5H@C5m4riJ2F@W<>O=7y_k*XS4 zl~&Y;!d%xnk`;$8Sp}EPZGc!wXyqPpXH+0L5};4J^L!B;EX zx8s~{@)S%`8=aT(#bjQ9lAYz2UlS@8Ztp5fogDqHEeBom^99!PT-ZUbo8@eru+=wq z2ow$Psw%HD-Luk;Nj1dYv*%-onvQMsar?O1iHVY97Iy3{!Rg=J0kIquqF)+VhCMIX z?6adylsfA^hM923RPl5MyDTr4yV@obr9b98-a4PPi*Axr~WrD zM9O@xt_lU&_%(A9jwf^UyJxr0^2Y|Nu3Uz1pz7*gW>jU?dgHeC95j{>!0|YI#PBij zSDW6gFeg8Xf1}RG53W95cRmV}QkcP)UFGd?)U?hDYh*E6Ld&z*mChmK zA$KcYO-`a3ZAiqH2Kmy}PkN4?V>(s0)=SOX<{P_3-Yj$zydU37(qKU7lD4J)<~jY! zf?r|=!#ZZ$z_kNE5yk&J&A?6!V|}n)p}opBZy8Zo)7YO7RbHb>a#1w6Ji^=h)_;GP z{rzuS?!G$MVc>vXEJ_~f_LRFJjO=Pm{W1Ss%cI{(eC0%VO%~Yb-3M4=MVfpb^Xbtfe7J*IfrO_QW*7R@GKlGTD9gO8Cqw)=oAbNwmpPw~*$CQ? zCU={^pPux%m`MLE@%gxi3;QxhLYIx__NwGB*x{ICOfCnlhUPYWd#v#LAf3{*{w3mKJn4)l-(!7Rt)$|#Sz+|(=CX}{lkdO^PH%l ztgV?%JU!KoM!w23s8)gU4ox=4Ybyk$=VMmqY)EYml&&uP|zQp z2_~k(?(qYU_6DB7iAcDjT}&74-)e{Q#&vVEB56>CI@?;@PxJG(Sx4yP;H$gV;pU-n z6CEB&(Fal9@J=Muk_&&hCHcWREiF3jz=Fw)oA^XnB10j$tf1eQ@jX_p{~ z-4eJNDPJhTbftPJq#L;$t`rt3T#vt@K?&<7zXIDz`Pq12wQ$w9KGe4co^$0$w{H5_ zg~!*~$2EBBWuJ!P=?f=xUL>OVfA`MMh;q78PPXjf@KvUhz+ZQ4M>*&Ph{@Gv#r&4E z16roum=x%`3n?h*Zn;X+pUu#(OtUMtIgGsUx($Ev&f_YLreUJ=*6dFD1E9I&mf`12 zcndQ*(n|?$2asHoIH$ob6$G{ufvYTYCus#)w6-Sb4C^bp!>pAtf?wE=pZIY!D|R`< z)pYWhdQ$#mILm};kbX&ABCs@P*_Y!S94u8P zM5J|}KZucZZx|^-gEKsPV;>m^yue-gD^TkfYEJIJ7)k|ORP4evQ;HRrbMyI-Gtnv~ z^eTy7S<;o_W23-3>de!S4;O&C9$7k=3e?Pw{dX0f$0z$jWY)7|z0U&vEl4vNK z**7e%a^CA3b;5+x3+t$`xTJ!X;xd9n`EO->L|6m^GSn*wS0Uad1Ro*X%1~4VV<(d; zaF`J^-{R80710}VSF|%L+uGVnt|Q5r-NXYU=X`fO9fr3mlJ{%=*=Bb-otSx*@JSla ztHOBi_-w`o+!uzI0Cx@7_rEy78Te&Dn;I`r1%epP7}kpV0p*gNB!bU3XX% z@yPKGPWs);vxENeuia|ZM(Del4?l6oJN)JN z*6*J6D^^2M<9OZEw{UBD@0W`0k)wQ$hqLeE9MXMUR;rDAdiV06ps0Rc5nJ#xJKk|6 z3|E|?z)WwxRsyg0g&ptW;Ib+OrBN-a;Dc&a|_`^#$0%(RZ+c>O;vs@1^&l7(fuar{x>tqVt!v5W>>ZCHfDXEyqXj-x;- z8LGrUtc}@#T#YiES((wzfa3YTnNY=Bt}cl+hgj|slOrBH30*SwenpU+t+gnxI$K^cI};4*yI@cjbZS2GayYzD(*bOdUU8X%sSfA;ZDR@sSy6 zh<3s)o8eA;pAG78^7#1!)Wm@{&q{<-E`+S&ySj5XoqWc4r4j@$F5jPZkM_T*{mn*# zft}1qyf>OKrk4@v8Gc+OHfTw zvb!cTRxo=G>CA>FWY;D;!7CL>RFLi}S6hfvWOkV;DwmT)a~PBc1{3!6*KZqN7-7rY z71+{EJ2^igJ(&tb%%1O|XMSC4Vsd5>5R!1K1O2SSd~hdlA!oug!-rTeu7Ydvrf9Gb z7ZWPxj;`2vnSxQ!{i6F3YD0^(O6nDkaZ&>OD49@?$iBRg}QG=o)m6tJ?zQ1nlEo%DY6kaQ?u+;ByuLJ?9m%=RK)|6F2C|wkQF+Fv^S4}JEe`~E z0Osil)FGE##ws)L2Nmamg;NX+Eb)!njk((FL=#B$pT@ID0gK9+D%0r5wC%|zd2%p* zDOs0>>lEL5*&&&8!8jr@U63uv_{lQ2tcRHr@{uEKBJSWQ4k}t&=xA~G>qP<#dS#@` zur1&IS5z?C&L=hkoBsGr{T`0h6S=;(g<<_L=8@GLO%X2oXm651A;}$4I?LvJ+ zVd!DTB^jWQ4&9Q5)O05oBS?!4#-Lj3r0rnQvGnd9mdptRX=UyuH%kFAFU0p7sg$yE zK%wQDQxta*5r7LYfiNGTPOg+5J?-c^koai-*%WTe8hV>hG`tef(Ag5jFy9RF6>7uL zl@Pnv@)F_wa*|iX*5A3nbW^U3XRk+`?Qf(*+r(FiA0l zctZ;=`n9xqEXQL*3-J=xux^X4)**q{Y5=R%y_mtn$-}HS3`WE801~3%r5W<4bzrD@ zmm8JN(mv+^J_ywW7dn(+%c)SR5>kbHNpPiAb220-Bq2?c(^|9Dz-;NK2XHj(Gxd10 zd(u7ap7n3e&X2kU3~@Xd3spgqCsnDMh54m&W@{iXCt8KSrg~bk>VfmrA}maU#z;t7 zFlbelD*FHi%lakp%Z^uI*f5zKK;-m1H~=l0;ZPDBkKCeaWnb56vHT9P5-)=aphfK5n5kq$bD(mk!LG%eiH$7H8f zJ>|(Blu)jT7u;rBWjv|*yCn+!#dg;}qq#J!TZWr@lQ2Kkq>t!${AoCY#Jbvno80?Z z>PzY*;pTA1oEg=f(J4Rj;|TV^?Za3UNw7JL7COw%bF3_4I0bWQH>(aG2qI5<@SZd3 zurKAwvt({ZU!#!=lcuRIt3rmIK2Jh?4noJke-Msky^Hf1?5uWTy^^6cWgs?5w-LUf zQMnzvtWDC0E3ZUGA@H1*+xd&je$g2KJ4S zoBuB&=KqU`c}_%3X0Il@HaRM*mb2;?WM#^qJPj)BNu(JgSt84Iz!+L_SNZ_8J{C=m zVW(M{B8PK!4@-r+u+GQra)1^Y^gUBFc;@Oa5Kv6zAJ+FHDd zX}iPZN>X%1Czm)-6I46l_d!J3O~Fi@h&82j^z^ja>@2H_*%!{I!@+ROMm3eX6E2lp zUNQ6>O`IC2<`t_2X*D()J=SDE5RXXXi{)T)OTBppjT}cb!gRuYu|UoswZUj2tlf2| z{bBt7{6GKC?fh=^VeG7176@Yp=>j9P1ox~vSWnb(+Y}rW@HCn-9d4Z9 z5R*%u$>7(?)QiQe8*~O{^5j^&hiihNz^z|w3gV5FIDu~6&h3(Ec#9VXfy?stxr%dy z8na63Fn}NWLSb$-Qr5 zayc$_p3F2xj3o7CIt&;Nl#`$%Ta+(t#j`_pbLe0$Yu}nzn%;S_B=rs`hfA;Ee0zL$ zetLXxqQ=g^B0YMMM8DB9gs@~88Hw3O9p;XJ#`V=rlw zV)ZUQ1tS)Aiamv4fO$1+cN$*jaX%S&RAU2jnGI$COO6!CR3+kdG0>MHQyG^Egh zu3~Q>*5D-UYaLM@^zNw)@-y?btYXZy2>f<8`lol`|;c{(CjCKm~vMQSeKZA5iI za2kA;2qDbtiKhCWD}vH?3I)(gzATx0aM8tx&*jTmR%n(-KqaF>y$SkMqco{}JA2XX zWH7s6pSTlftuOW=fCrX7VLEYtiE0Y3{M;+Whk%3o6*0TZ+myE`; zqkxfJWxB=vl&e&5j_bCOCK#Grj{Ea`LSs<{6d21M_n+e1u}vkC^zJw}-*Jnp(nasx zBfK0ebE#mdCVTY$^z@IyEwjA2rwxw6oi%E{nd78JGAGNj14-mqsl-z7ygUro+HjG5 zP@^((-!X13D9Yu>%q#Mi4G_7^5W+W>lvOtvl51{qU0I^{e52Z+?F757q%zsqUzT&3 z)cw9yAFD87>Logx&N#XZ1j|F%+Wy2}J`k_S`fTdpherZimQ$&m$BEe&TTD&Ex1 z;aA&_H+7dR6@`et%cg%$wdjmkRvD^Si&iPQttqoDnwO1I?y$a7OqEkqC{yGwbGD9x zq9@Z?wX&un`uOU`PV#oa6-8eob@6?kC^Zz=z2 z8MMUn2AO7s?AH#q++k7>ZNRZhl-JNB%%xTgx2m}Ms&}K(0r1rNHoNEHkd2_5H<%3x z)L||J9G8ap614EZ9Ha^-8&l1~jVYcc^(oqzviMyWyv&frq|d_CjQx-Xs1LIDOqZPb zHB!6Z)TR2q zlBw&%rZ(=SW8fCeZqdmW4J`_-3XDrr|7B)(XE|oi40lp{bGeXhodLV_b`iX}r$a@h zAVB66NAWbti}!-%Ar|9=>PvPZ^8#yubY-e?dcS;wG114-T+DAXChy^`;ksmAzJPi9 z6SNpU#e^T+CA)_UoI_nc+l(is3{^*t+fBY^hD7T zuJUqzQqwiD|6L8hl`pAJOpaqA8!t%$m4urYY+EF;Gy8S>j+|Q7%>7u*)u0j~D03eQ zn9H449Hf*gbH%wC0S%1WSm4sBfQzeW1 z7@;inZ#r2d@aOItRg;bBB>S$tg5di=Y+t+IyJN9ad8?=p#O}AR72h9VQno!OUazRg z?rWDAm`hV>t7vc%h+E#w_v~_Ty2+<%kkYD>i2v?rxNI_~?^)J({g+c$zYm$@-M7CSPSMrbNU=DGuK^4B)ccB!y0$^A>#68ZF2B-`$AcF9@vSa)rHQxlV*UXDcQ zs(=O|5BkG9J}JtPo2e|x<-Ke)%riGQ(ETYJ&qgv?mg#rX-ZV0$%Mz4A61TdUnJ;e?{K;8oD$4)XDT>7=AQziUQL}zmu>{2GhyISgB`eY0N%+%Y@Z5!l!UJ zEL-HL`|jZVN&n{E`DOR#%k%eVM>lFw2w3>BDqL0w_wB*qKQ!E2cWkA6Cm20&r&9q@ zC@PRtS?6hCIH4QigV~KQw1KFNAKNcqdIKRW#_fg&t+X2p^&4L|)DI}8U*lint*R;t zExbpuoJ>Avfz$foBP)WA5boGOSi7tMKP>Y3Rv3tdZD0|kgB8ujB2V?~@a68~W=~IW zFTi99naq+@hVWp&jM7)C&^25~CYU<(OG^jRFFU%w1wntyX6K*B7gNXvKYy${_}qaT zUGQ7GNoB496V4*Sjf{#H!^9I(TxiLqH7rdF$-D-LrzCA8&^?v^_!#F13VTS28TmmS z|H4$qp}+_D4IaU$;FADPkE`yH2IT{6)_5lxZ+hxciHM+k&x3&FHB!qZNl*~)DHCX~ z%j3|9ulf#{s;}6(yr4`a#Y@FRo7FRd!}U_(q~E4bAX(^2DfU&7Uy6HWe6fG<~xgK0E3; zRWhm5d}SO6*BSQqord5TeO>V{!@=!H{F~ENSKB1yB^@jM)M&b_#>3cBr(z=qqtUmt zV^k}zB{W7PYvpEy`Pcn~H+PyVimao}_yWpGpT@%!cCL~lV)@n=k>b)qA|&tRCE{mz zO^&)VM<{R*Yx8wc*y7URDnLV;n=-kS{m2cqY!lGh4p8T;+-Kp11`#&KRE1MMznw(S zfsy4BwXuvI3rRn`@1D6GBLih8OpgqiJ*q?EOC_?(aVTJJvb}91^W?sc2Ts_M19X(! zq@@hOtI#`B`x_}Dc4MhR>auGqOdL%AHCL z4rio2+x_Fx&7sszR1uu43mr^KW_KNv5!k@^A$ig<0Qn)& zzcPuK3Okq;s-}|!dRKr4Gw~oLl|UoNC|zWJH~OIrP%`+Lw#r98Q`np>r&+2eU{zy%__3OnmUlY15p=a0Vf zIzS2PI@HCY;p~3I9(`vx9u3EQBN$D<%cNi5a#U%e&D-^8Gg{wl!nJ(q>rZ@&xt9*a z0FC_(C}O<7W7ENK+@IY0=99OR`FwKcuQ(fx&BjYwG#gSqMrIek_zn`y6ibQ7}ffZ74`aVC&Z$BY@cnlltTNVGqHTce!x8JeH#2| zop<(WP^$NuO%~6`m3-k!6A})82pk;r$f^GSNOibS^DUp!rtVWdrIST7D9~=sdUfY^ zKEH2oZGHaydGqtm=43k9+HN!&ThMh+C{N+s!SHzJVa6pbpzkR$!fypV!1-3R_+!XP zE=pc%aJb3-_U+_L9f}x>FwS{Z+*=9NR&ylfs;ZJn3*vlnylC^w#%?43>JeT&T3?|O z1h4VS`fE!OshB|-`3(!zqnwbR!|pYtuoPBxF1;^#>qYrC;^AoIc%>{;MrN5OMe%cB zGV37U5bh~eM1Z)@b2r`>&Bn5|!%2H26yX}%uUEF)yd`!U1hHs(rp4N66NIHw zHik(NQKM6+KEhk=D=ef{vDB{S!08ZoPrzpUS2o&DzO~tN{W}Cn6&K}yEqaqm-Ao99 z%bSbn;nD z2*@RKvT@k!IqkIQwLBMOo>EI(ocSAqESTBdj?mBgvwB02av`s90#}6*tyG8Qf9?JH zb2~X^W-g-%(UJlgz1R7ruL-3~WStNxDG7{>adJ4hyPJ#wR#M0;Au0Ovl-&u-(RQFn zu%9Rf@f13R#bgT0l_*6XLUhb@67tz>Ld&Adt~VDF;wC+aA!ynY1j69cpZOe8QxhCq zicp$~*LMc;kz>3!&qh`2Ko%)GJi&e!y0Z05YZg9Smlf<=p87$XI#@GROxDihF|gxd zD!e94#irIi9VVk^bJ^0dC5~G=b;yw0V3{mY3T;q;S5~VxkShU}@gviqT-i&P!9%34-%D0<^rdJK2f@^cY_J zrjNa(JOH``#?WMWS#4Fig`y}*?Z0GjK z4`8S2)@b1YxY-4$&8?+aS;&2C-?QY@#GD_3y zHlXfFvoVH&JDG%R1j7b5aS2%|#u%Mu6928*)5aE*%{WST^&=l&<5bpy78aQ4Naa?osbMUCXP5&nDyhF>f)M%Tt@@ojmf1km%k;D!r$Ywqweqe2mDPQVE*sqOWLsR6#Pw|=IC|v?)}-J{}suA$Q*Sq`oFZTSHXIh z2S>+;2PfqPMI+wf`RQBHXYARH#MI7si#$SU9T?sf<26hh|7$QAMbI+`zHG!(_E7+H z(kH_?6VsVIkOye+ftY_oVL0614nurTes4foSu4UrJ{w|vc?dsR9?>RL`|wphg>S;f zn#}ISl!PBL=or3<2GAFR5cQ9=U5O{YoQV};L)gc|*vb4hxNn3J>Ftk7Q;uZ6$!NRPxZEO`s8*p9sXMgRQl|WMbn4RfeAVx@BJ+k zGL?ZzT|Ve%2frTwd?1YJuj;DNrWo$xx=C9#zuP0mR`LbH)|)^fu23w1sT&9!+LEHNi-wmJ57`PJkI9)uKPu> zp&;Dmm%C9kx!XKCKfM4QWtv=5#q>2*@BO#R_mo_9}9JlkcP{qE0~2ewzBt5_b(OeJ2y#he9|r0Q{gX?q9D zy!G*KmZ!b{y0jHe6fNt!L?^Sn?Sp8uJXboD9c7t@<+@WiLPz|5ew%77MiGp(Jfr2Z zhvv&cs!Kf+XP#MlPzYP*Ch)iytJ~_9@|Tzb98KidkDs2bnjmfn4rHFU;+gpS=}C{n zYC8NkpMuJ-zV~&gl}a#O+;P#}r>FYTGJ-z1SGu&|)!>@u@n2RJZ^jTjTRlQHcBfRqB&K>8q|>U7SzrtAFt5mLlvIl(Nv&BiRtkNgXew+nBXjDG1|{@p?<)Nz)7Y1a9PjJG zvl*tF8N1Y~7s4gJ0@gd#-miQbOlI72gnxO*i6c%8)p}EDr5W@#(O8$q<>+JSbg;Aa zXfpfj@$8-*6=P{3rm#Q$Vhj@(jH~=}6$bgOV4L_qImB5mg{^_HL&cr{dkMiz9 zO9#awA#MGc@6^Pv+WhmRHou*6UW+FW!jc<);XsQmJ;2NtE@hr)`H z-)F)cO}^giuai)J8&AgSTf{^8ZCUqkAI8y?N3;Iqx5+dzcTL&<^qbuslCY<6jIU4w ziboUJ$l`J4*t&W1t;yq%pov@V{ntS&vw9{P6<=bfW0Q6UB{7q?pCsK8!}7N+2(^J}y!Iz>S2mo3RbYOR$zN->(-LCPI{0v#JQPDDAMTKcVmvw#kJ-a$-ZolTSXUs~fy2qe zxG3mLo3ge1$%7?isjrLKvMyxmdax)kgU7HL@aw~9z><~z#&Vl6HAz=lHYsiPiBWv} zr{cHDnuS2tq9VA{E{){EYel4kd>NEM-c#(Z7G+^X_vI3p%^!kU^V={}-1}7x;Slzs zR-2y6Y1}s4=wj?GN!at9A&z(EFBuY2RJ5(zS?i|;1!!Vz*~^WS*?B;{3^7!Xp;Jxbxez-Y%2;@Yqf_Jiu@~2{c0dlw$cTobcUjg** z75a=EP%iNuiT=vS3Y$Z#)XSc7luB)AxQCM6r>_E~cK)?M8A2v3Z{9A-5zRY}z6;Gl z1k2E~sddoApF_%Yv+l_T|RCWBEZHP4izh`_)h*wNHFmP8s!5l9rx6-gmYg?uziotO+8n_NcrUPvacSNs~UH?-~do@nqAbV9!i#(IDsGfE218}pljdHO6h4`p& zSi2y_9oxSUnIs_BT|QXPmQCf@+$3=`-#S`<2||^J>o39PIpby7O8Jv8vLZui^VguF z31b;3h;|h!)MUzk!19#>lPehcT`@wSEJFs~_fuksq=8-en>3gEd#r{Df;>1p?4I?@ z7T5PlKbQJ3?DWp>1sCiDBSQK8HF7S%I?Aw-_@f3nfhET{{rMLRaT0C#!$ue&E+63Y zPgTd)O6khOiy;!$-P4l6C6V^WvmW}NbDK&9j?(NEbrl?;l59uae)sb9`0U`UuN zG7iKtbJFei!JA<(^7Cc4`;YP>=lx&0m$HcKf@5$ve$ZEfUR^Ji1%i&jdB@)>)94Uy zVqwGayh{4;T2aKA1IM;z;IVBx>rBiBFYul5WDXhE>%tn*jte+_lG@!E{S5csIM+#R z|72Q&BW$h%+drb}6f(v9OO%AO9pZ;53jXan2_W;Fdv!mO{3Y+mgQlnvlx}-Q5bMtc zi^QGSXIK2X!v%}LSPE)}Y+etG;_BjcXAAoW#*FG;q%nU|i0h#sH2M2hJb@b^#GKxk z$s{D=p#xUbwXP1k^^RK*8w^=U@D|ru>Hbc#C9_&#+h(2*Pe37dh^Y9lbS3+QAw0JCBekM?D^{w(?9 z6$;V;{rm;d?zlEUhm*TNOw5bPY#tB4WGzs7I8I3it0pT1vgI|t+GlE;CNSC^!5=u7 zS=bYL$_|ZD_KXvu33z$JBipD79HEav*e%5cj-`DYE|qH0qzGi#MWeN3Gy-^2hQE$(js#UtY>;R=F zJ!C8OK`gWIlzXb3J7HTYY`hiAQQKk(`JD5%p5b$93!NLLJN$*I)+Q%F^|$;PvEl6#rxnl9C_BnNsn!Cco3urTSa;l&SnxlRu3k zr>fh$20v%%0aRU7x2M}uhf#51!elD42kK}l{vn4m)fd4tD@x3?)1#^IrIwPAoKsD{ z)@F})!DK|vt*V}&dL)mqiVyP?tNLEU7y3Y}{Hu?(!e>pNO5Kq2R2_81KiPM9_7yCh zfKAgQuxQ%ill)QGa5|aICJ%G_k=XQY_GqmBU6T*6O#ZNJT0c27doX3eFs#LxtBaB@ zca~QFtSNpoPS(mFHT*>e(j2RWrw`e-%|o{8?$04|0X=WazuXI5QF6zMI(mD;KMB>? z)KMV+0a+sW-97)e(0)3@PCR(+V!Co*iLE z)`(fMM$B?+1eOErcq9fL)*-S`h>FImbhQ|%=bY67Tqvq%RnR1wG700~WVuK?Pu`NH zgJ4sOc(#z33+aPwYKDOQbCOv|;E~ZkN$S}om~wM9!AG>HkPn56%8yUmP_DS0JDNseWU4viSW<{e}=_@pDiA#NM~==fgYk z^tF0A3FqvS_}x;!$3oPa@Agnl1B zOlQMSESFwFzt5HshHAxh!c*Mh7R;*cZL$!*BVy0Est?=)^YpIAJ+EpsoXSF*i zHl(_h)wKRysA)w!6bpAsLg04sYLe(&cYIbnVtK90pl}Uh-kG6$Ny!v}?jRUhKPMVk zvM7))quv#=e=<`OgD15qk0#;?mP@oT31S*Pj6_FPq*4~(3{DiF;lG6pH#~%@CsNeWdh3}7b(BFuZ@RP zUu!nTiHi#|fz5O#u)I&!mMsjz^q8AT21)%AkQWkCFOnt(wkC*6L%zH!%Dg8X6I>mG zNqiFO+NK8~)F#u%BQ9lhHmp8q6ou0j$Orluq-jQdtWib!)2_}0uIwgXovBVQ-Lxd)n z?%v(cA1wpd@O?^K<+oj1)6cCB6JqAxq-0dD^bKF7=;2N56uBe~VoGz(&5%TbvTd%M zN;OIz0UK8!@V!hY`jSX6YB4QTt{hxFpi5cA* z$)bo!dcQ&%-nIjuj)z%*+7AA4yngq0VY$Mm&b!vv^uKjU3pPNT9=)dmxVs*qW9%RNnewFr}-^-kuW_~jSKAsug77X zMFB156?VXiI%)zi!gvZiNm=YUA3oF_mn7SjAXedo33gGDMxKT|~q&9mLHo})p%$TMJG$a%X^^Ub}d7}w(TPN;u1X^orb>?I4IHBNuT$E3h zCDSAHR|xQ$fbKzq;eI_J{3cQHu+_Hlh7NV;rUjGk=x6SNA>M_|mvS!2PRHP46UDi3 z(ml`5p1N)zdEk2I!9RuVy!nwo!qMnNH59e!R3V4eeajdoh}8qPc-Agi(WIv6$a8c> z60n}kb}>`deLB_mo%D(^c}UT5IwU!K+Mj-U);LLg3@6-StGw+bu^HArD8jw7&wjED zLrH5j{zd3aGjzDY>g0Avw(?T( zNTXdm$9q;jb4X&I3Y@k)U0B=|BM0SDBEH8?q)&{sXiI(OR$fG@JyE0=I#enJ*pKtUt#W^nz4!DVDN zu2vw39)v~i7uA88Z<$xJR*^2lmM#1p$K8yFBe?UUAcjyT!tHIj3%4lNPOq4YT$0|h z=}|#1tHTr$JP%j8$$YDB)}xRkg>3;-M5=C&r8F<;b81y->D{SW#P7k*f$qxFo&%GY7d=wwlZhl@o7ccRI@ zxt$gB>MA=DhNQtK`724KTia);cNZNj4#2`H_KQia?Rog=W-#jN`(!BNFNz9LkCc4I zkEAW@%L~lZ{immVemjXWP~NEqW@Sw!g*JPlJ$_Sge^xyFa-%2xOco55fubvK6j?9% zy5-@=!v_KIPFL=s1qPWSgiS!2!&|%D=QWAX?Dtyvh8d#Tu!Q%^WiyKEaHXWeB)WbM z9;3Z$Vr&`R#~Hr>=DdJp=dt?;81)ir8n`{pJqj*syr2`6ZfE<~|@Q4P1ABwb6z> zh1mq-i3fE@L+(nanil%Hff@+Y&6hP#*IRAo=2vDW=fxNnFlRry&6i8b zY)$F0_{Peyu${i6>cMCPuV&v+U5c4+?z3pUyw80h2+VtD^&sds*;^EC$A8Ld{6i3+ zQd!&s?em%Gl`SqF$?K%6l?K$GUwX>Nl~9L4&R58{fVB9k;`=a)_UMnZgVW=~wxjl1 z9Phv0cQ5~FJE#Ub-rMu@lkUM8MB0k!$i^6c*oO)b04&O@T`x7V`QfBjZze;>^uDqv7XMk zW^}y{x`#<$Fwt{Q#E4|lSuP=Nu6cv731oeVX$5E*UN7`PB*0zeQ^<9OI^dQxUN~`5 z>m8d9EzPTJBAMoef)}MjjrwMw4T{VKd?k1-x6D)4mHHjd#)9c*Z7fwN@Jj5mDJQ3V zM_uMQ5=uH`^S7!_1{$8NVWnIc1xR_9iHhbIQJJ`#hZAO5>7{gjq-88Dpw?UU&C1L%i;M7?bVnq@3E= zZd-+!Mj&&Cdgd`6c+WBnWXiE@%I3vzJL83d!$-PQr=Xr*a57bo2X6jj#?S_Z&dxxASmGN&t%=_MIyPqRvV$xMUW^|FJ%+E}<17QFmiqc{}I zv=s|!bJz5gN`|CxdgdyCR6P1j=mlPK zE#6=x{rk&faQbI@_P;1SqlBK#as+PKj3lXCF(1H6ns3B+u0DMJ5Y?{Noh$);LBI$% z($d!T=2Y{VZfrdRsT@wZWSSAsDBVpm(Oot1g;b>pzN#Vh;hFgi znz_su5hT6f3pdT0{ondVp%3*Bv%mi@wFM=v>hJT2*6=Zw_Y_&4!i#fESoVYhyYpiDV=TH8$~sN#c88M z(=W&CC6fXiCL2Y!4FX__4*sizE>1j&V1kWsKc(g6u8{crZ0T4k?5a1Ci^*DEe+EkM z3=J?PNH&n5H3JL_2v@FUV9VHOe=TGW8=JqRQdgT^_~6~p>Wp}5tWk~HF#8gcFGub; zc73XZ4~nI?gF6&-M%8qSm_gKRPpuf4L(uZ_cLiBN(yFl@kGmIW8R1#d`5~7??UTsK z;j)||Y1N}+1!5kx0V4GgEB<2x)Z%3%xiM14wcrLUse`qMfo3cXhd^Ffi(&7Aajn6V zv*qTqf&vwts6oo|)YE_+_QBWM4XJ0B%6T>C8&9+!h>K`=_v*F7*m27Zwy+y8p5c7 zoi|N3aeteUvrgF6z6Q0ZXjt2|qtUamA7^&wn2Ts$f}W^wYEF7M&Q))KR*lLTx#L}r z_4#B&QMWErP5UP`0aZ5X21W@BI2@H9h|+yNUBc_hkR;K~3@Dc2vL!q+ccrCf!%ZL> zg*YYun$ZKvZ;cr?F|c5gNY`1vQiVsV@{kvLwLG$pg6ysaPQZ!aI2HMd8g^jy4YX6P z<`${W?EzL_a>mUTdC3^yp2Y-{G~w(Ff0<)L`+hCBWCsr62iSZozijva*Q7Q5cC7pY zOwN7BWkyX+^)Ojw6H=#tXfia0?4|a;68;O% zX4F9Yco=G6Vr zCx=tH*b3#)w0^hc?UNm~*r~bP-Z*HtO3>nefU0?!SHy)HA!s5OvH+Ab&3&J352!bi zZsdEg(r_Ve+<)=8`cruD&CA=+Xbd`YNV*b&aRj@K+VSn=Ai+5E6R_Z3xUOnjGNR%W zQx>u{L?lwuxle%MWxH!E;$}rOij6Z6EdgFO^n@RNp+mwcuvERvf5n`fM&|hGDx8{6?x9#*``!gJqHlD-|Vdm)(?ipN2QJwM2ewpmKDV~BYQgV-it-#8hSJR@7af_l@T0e(DP4I0a3apOR}Sc^6>^SAt>2cwRp)X^U>vx<})wq zYdUPtIITI*&{nsRFJj*3WbiNVQO$?zs8c8k^TKrpFCmQPs*=KkGb!FRGzSbU0B!zx-bCS=ify0Uq->N6US{nE=+`L2Dom zg+;jZFhE>B8~zJ+2nJ)hnV#Q)z1u{tq5V!^@^36)^rSLu_vxaU&5EEu=E)68< zPT^48glXafafBeHKW; zsEnolhll;lL{zmB2JQaxv%Ayz(rQN@JMeRoE+A}i$g@XVUoY9&COSWLS>t?hW zI;B>x9FZr3Q)0S^Xe_1_hMMk~iyu1lUr8wW!3$z!d~BITCn7k~W4<-%@~661{t-l? zwdg^(aNu?BK79hAxtufZA&}Xb;2&J;E4TG%lKn9Yd``?Y=qN!OJhu}mkK&zw*nq+o zJ(0yy5;7hY61ccd$`5PozL|8OW4ZEO*<3mLS}?5HyCWHXIV>*iYz7P!#6dnc9eOMR z=551x!^B2$T6VjBv;7hq@r3WHNW{eLJrj29(fsC0U8*xCx?^sYg3j>W&h34-?5MRa zCp@C?PgAqT4pAw=ZziEs<4>%-(|Q|!;h^2n&96(R7eUh)v;OecE_x{@&JrQsoZVnW z@0tGC?LX|!S8>7LV*WmhZ{086bvA+x|8Z-#{amleud6rw3I4E1FG`XLF(P5&FmJ#2 zl(_e5Z-vVcit%96FE%5uHY4xss0o_ERL}?X3IB7AJ-5#{XM&+W!gs%a!QJlo-d*?a z?2Epx?jQ>TEe?>X*{A(m!Z|zO#Da>*_;th^V6Hd0cf%g}a6!xRt`dV4%y%nT`7!u% z?6Vc^@1QpY+Ggq}T<*m-(v z0=W=TXe1_Q86~GlrQ8E|iF`EX5OEmuE{8|717Hq4PG`1fb|sAXQY#pkViJJ1h`Wb8ahbbGxDuB)lc$#WxG+y4 zS5O=+TK%Zy-Sg>zU>4RoDjrM#*$nN|wA8IjHOYhm2M4J}b4O7FRe&`_23+q`FYOEbugBUfjD9{IP)p7u95ZIV3YX0PWIv)9>EeQ@yw4Q9pN=x;5(xVHIX|Q0;aD4K z79PGH&)=U{CZ#FW+e>-a4WSLt#gq)_kSA_j1}n>{9Q`>XR#I?SdYJE}Qp%w7#6a-W zNAi9A>!Wr%J?Y==^E5e0N+Bg0n-8{S#V#(=gO{IT8kAQMi8?b^@<1mxX>}lqM7iOE zm$wk*oPVXWLr4_f=;4?iZQF^XsrZ}BjL(R^Q5dC97&-sS(j-Z>c+0|-PNoOk?61DH z(3Rrif=5FmAZ|LLxTsYd>dc|SftSZX0XyMp1Dy551^c%j6K=4ctjhTPbToFaSu74X zU{L6^ci-{3&KjvLJMuRYMb=SPn&hbiQ690N`1LEP`&(~cHyKRm9ko|1=ueVq3gc1g)cyJE@cElV zS!AYoZmKwunesi&sm;nhy<>-TSe<|Jp&`zk19b687PL21|3lYZTT&4Vf33WyEZ_X% zaJ3Y!>K49q{h<$g?so9w+v-qoV7O&bx{}iV$#i)FqFg$nx9M+EpKT#(b!R2E=`Biq zM1B6UA|hn4l2igidLG!$dLxk4fH+^Y`W(rtr}22f9P%sM^>A^+oB_1LT)Xm`gV6%@ zKB+9Oy~+K5L+(p!+%*Oi4W>%q$a}K-atS$pVRCD5QojZLM(#yE&xC%IquO5AeMLv2 z4f%f=t5#CwEntqHWYh3&hZnA=z{ej(!N*(l+<^>0(m}801VyR9z&1}fZOJ9tR%xsK zS{zu5=he|qSvqoW@}jApu}6LcSxohckRBZyD%CIt^(Ke~b8UiCV!Lf<$Hb^qK5R?#r4X_?h*u&V7u|Q6$LU#keU9% z@sS)c)h}t)dPuRk!&Q@DTvViy{R#d$Out+Rh+Oi`g_5NKCs+9ucUR4LDeWhMplxZ` zHd&lL8?%uwjp;Zhd_ZmHBJxQMh$U}EL$ll?8E_)aZ*-|AYOT)Ew+uUS@)+H4VsKt1 z=;9{abasq;O#CmAutn7DaW}pj$FVlvCA9Y&gn}Sm8dhy&u=L#VjRZ*_PD5MLkrpU^ z`%hSe`;2i}Rr*&h756kr+cb^O^#~UEH-a)ziYQ#1@8=V_A{y2Ouv!w8@u-h6*qb+- z8}`~9b&R=c2p_pOVo^>0saAJx9daGBROuA1e3*EULn;`f+|?d7{U1TFj7cZFb$4F&T)Q=FCN-gZ{9wA3 z-%c>V{t!>h|ICSwRCb9J2CtbpE!j^QXaFYTc%1pq<-`@5du4~AM4*T2QUp)FgXe%- zH1}{Xmd6Z*-rX>OzOzdWR5$Y!%y7xH`($Q+_%ZkQL?C*A1}lzm2$e}+2UHYMvL49~ zQ8~GmM|D5clj-)Fm0oCHUYyN0f=Y4;){I9XKG=A3Ki?2Z{=XwooLx}e9Uy>$s zl15dbTqhT^;!G0fFI=`;ZNpiGT;ja$&;cmp*P6>tS(?L*4|4k?=zD_ovaLLBck&Y= z6oN%)M?Hj6bQUH!dT)h`p@|&;-GoR|<(zIP@y^U$*`d9;rDX5fOabzKh3w=@M-TEM z?LVN}`m}()LH>F>)z`mSQwAd*B_%1&FB@>&D79{2+PcBGDx_+;?WpJ5Q!OefLly6o7!tBn$L$T94^%AfAPe>hYQEoZNzN9dB z)=cR^;rX#^&i5Z&374Xnnj~nLG1j2XiK~7xoiQO7Rj{A0eYmHjI(nT##vR=?OA+{J z_-0o(IY~DtquBtv01pu!3Y;_Y-vBDGLOD(nOc{C-l+Ki@Po< zQuc^cV^R3P1+17U%UK&;*7&AdB4fGfWGs!rC*#CY!Jeksjn3HI7iiBHE}V+@U&*na z`xvJ|vs^B+)OL5rU@_WF!tE;eF8xa)+LL0fy_^^e{7qFJ?@Yy7Q~U!m9S}4*2p6$P z=vK+fAjsNC3T{X97_?x3tmrHq4H#E}Q;JNL$>fdycNerd+sf}czqvUi3gCUCrJJ)H z0P1=)tjEBB71Oh*kLd__6wd;mAQXxc#*FS657VWWl8{M{OeE6e(v15=K+!w@id?Y0Efcl}?yheQ)KyD6b0Ed?t~tg3>&?rJR40^wb)Sz1Qo zxI-qMmT83j1AaQ(g~dI&B2kxHh=~=40zqZitTO!U%4@%L93L>D@0Et_qu$%&`Mv1X z?L+w8F8us&?p7Q=zzfl8TlBzWPyODPU?W1euUjsHKN)6_#=k9QPtl<n_}fgB8k{UJYHW#K{M5 z*Vq;UW30@{N0e>gN7Z_`!=L-x#~d=+20knW*LnFFx%oH}aRX)tkD3ka2oG9^H4S!1r*z!FOwZUt%(vXv^(=;@B!r@H|7^Gq%svWB2R2t{SA> zYP;LD|N0H&!JD2k6-xGHBv%=NDvYfbLm>8D60zc>wtF+hTgC4fMcgE34s&{wppY|C z&`0ii!&kKtO(IxdD5&BmSOE1I-cS#cS(Kkr0_dKB$-<4kS#FgWwn4{X; zzS}Ihih^N*=Te6wcBUhTzlh=eAwKOng3|h)yYT5TrT&IY5rZMtA6Z<(yItbKHXAA* zQ7XEcERdnaHHTP9Nqn7M)}hC|&%^h?Y;o%D4H0@!7gY@aOEO9zZ*3RA0~mUsj@W!b zr8imP|68b60Zo=6_F0P4xDGOJE7g&cjj*xv4*MDYi0~i*m*JW>(TI)(-~069p3GH4Bd5Kq8gef>S$k+93=4=sqK*3>&6% zzf#a9NIsbT21NE`(`1vTP=3%%p<)Rc&ch3YnQFxW9x`j0C=rZ=E|2Cjg@yRD7 z@RX<&E>^_HkGy>wcVda}Z%taJdmTDYUJNVM!vLkk<~v)$8lbSfO(XZH*gA`krR zQE8z>FoP(_bZRZ!rV`*HsgCH7_4sgP!h>LMA%)R3*omc+@|(mfIibzMB3Q8(RYnOW zDcXyp_#KTDod@ntpPV98twV+JV=0pihDe3xN<1te~FpjjE%dM_}~DOXj6iW{4F^$QF}&UBLnGjg9Zhzl>qa18VWIQ(QPSX(CyDnnV9 zD+PFvK(BR*KMK1TXtS#vqX591Y|gd|x@6*jZ3+z-t#nCU+vosRf{Szu8Rbq=y9$iJ zs6#uU#52i>`9_YVN9YMPnwG})TGl!{mnW@MRo$dLj=vS%;gMD>YnP(VxhhrHFVpJ*cWw-=TBH3QG z)FWip+cMhqq-~LG+|cx>Ju%V$IVA|F zjdMxNvO|4aT(K8lCny{e5@--**5FYyTc@(THwdRlqeou zOX!uxBJ%mGNdm;#i+r!3)9F5)%u&5MFSMd5H+yDm8HL6HhnP#Yb&UTu0XHw4JUaR@ z1xN!%b@Xu`1)&ny*XgT zw;t2fKQRg&u@|_K^Mw&E@Pp>28_0eZy{P6Je-(h3s`Z6Sf#FrPC?FfIK%>yA&7#Zu_i-nae|D2*a zd@=q>pFo?XD7+VwE1_0!Q)M}a;gq`%ZjO{@rSd?<8Kcl4jaeW`8Tp+RKW;}ynzXNV zo=_pEMd{3n`ZP<7ai28j^S32Az5J-8!PO*ZOv*qyHK%U>NDdP=(aa*MC31ZQo&CSQ zK=$#9%&~bj_TUQGBrowwX7SdRIp6yAOqq+|gC^l3NCf0=$LToVWZry{l@cHg-m#ta zlxDd;6rRjJfZKhfJ;nMqBy;Sb$kfSrB~OD1UPa4l zg)@z%9FC_VMj^l14PqL|YbOhjWA3(q?BK1OZheH+$ak)I5c9y7s7JNMvxP;`!JVT* zDe^$84S;S!JTyev!rGeDP4y>2&7O;n0OkgR8<=_O>ZfNwsecB zOdwD?WPVO-|83eFoA~oL6=t^~^6z&AFsYp49j#flcXdEdsoHMRcpr{5v5yn4@cGkW z9IhBKmTp1}BjkHZJm8f?>QPxNsUGm3Ui+z}obsu3TxTBn1fNh7J<_rujwx+$Y`nmW zARl((ph&D9rwvseCbd25dEFxIMG6=*{#w_dAPp+pwRGaqcL=&ZO=K;W*PmMosFQHq zv=%5YcvDKIs#1@_=UaDDFdt_Gq%L%_+EceCf8SkkHp*H}8~Hk?6+Eg`k37g`=!`tE z$t|Ckw|A>K0ZE5+{6)bqg6i%r{#1kCL$S)IP-*-QU=X$rekqpnOabpT&s zmS@dTUfetOsp_WGm4cw=UkG8-sMMTE?j79{Al*Ucx6vFZBzQPoQQ?|3_O6!6UA!`# zpaDLq(S7I&IfD2H-x{&a{cyDp#zA=j{-65vAUAOb1uR6y%vPJPzJPYhWOzMpX(cNL z0iv6HW(WtH#<@e`g^Nb0?wGdv9#L&%obd`BgY&R-CB%JVadksaId<&NK9)Pi6RW0G zjt69W<-mxG=6{s1Rih>*V4D=TD$YE=bAV!xLW=6V60lyuYBW()G2vr9IX6L3KG8F6 zQ8v+{R9dR?oIEXGY%BGT&}WS_sHRm zW=+dVJ#@D?w?A-noV#r-zhwezY7ki)7WqE!c|8YzwEA{;VoiH2I%X=K7%#x|wVeJC zv4%)?#CD~#GNTfVmy<}EB0>50h9EnT_2kO=?n>^BaByJQKPb2re~S7iD=OH=Unlf( z+Il|BAs#y|LKzo>=jl!rqt@HfqNzhbR0AdZ(XHyo?7E}d%4pJCvM({$n^*-RPOxTB zJiv0Ae9lR-o^QC4}w=<17 z5q3jY(jj%y(d}r&Qc8kcQC1*+GCDSB*AAQxDpSn__P za&dM&i+WCe@^7A5x1WOg(G+z83Kusy2VQ}CHY!fjzU4<`)1D&M{;1o+H?Ga~x@Z(; z>A^Yr52|)1S3icY^A|hCYKl@;ZZF)n+u9oh?jI<>(H^Y zx9(SKUTqIs>JT0yu^j4RJMJ9U|M-V%8UkQ>q+G{bFBl`edT0P2foWGv5Xv~XC>uoF z>kS@%2kBtW;sotKtg}t>UxA`Lhd7(rMoZ9i;X9|ZgiX{<0C2+3z1{9jSa(TpTGmdD z%?(5vvQd}SS_iX8r3oDEgR~Zi(wNAUKN+octcXicsTEmOzQxv>b2;pl#lm@3OtNmH zjN>*#d*tb~#H+S9_#QXWyT)1y<;+E0ATgZxyqQ1v3}7y{K!=iiSUMjUej*FYWkbDG zu@E0X42&HUF}ZEkzB%kEpv2>TjEwE+>~qy3yQYqy7*G1jz_bk)(w+xO$6ytn8gg#1 zH?MnlifMb9t>s@y zK4Yl@x&`x69p)x7fn$Pz>t!g|d_hmV5(aN8dZ?2IRH55z30%7C!P0{Dl#Bjafq+RE z1`0Ue`p;gDttnl#3BRCv!M3Akg%rllS)GVgN~M~uE+H{k;Bi&V89JkU?<{hCKfVnu zo=((h%a-tUz$wemZi|*TxlG2%2eVpczLSwxhbkl)m)-q0J3RH}Gv+Jnffb43%>WO= zbL0m(dIVV)rIlhynx;9$5Bu*EZCb(7SKDhn$Wli$HEv> zf9j5E1TUI4s7)iy64YOFjZUY~7h_i@Qzk^_K!J+909NEf0_Hl4ylIvkz{xtc;;y;6 zZ3%lQ+cmO)Ds$RTlmSf%kVuz!{kMgZ#;&{21$rF&yGuRsqq!9sg|t1YxJYB>m0i`-2O@AUv(e0z$hmZGK_uzz0FWzo-P zffz`?2#{0dx9Wlcu^gZRk!l`P(gAc`)V7CFHge3^mXq%Y-FW*@EeXNr#1JJ71`_Wa z7*hcZ40rv66iD;dOb{DbCNr2KXDT+DGn9!KP5M0|h63csb9_ye;(7j_66vJ0cPNL5 zj%ly3d?EYKmhpvHKU~HA>-AO22jInqBnSGll9u`g@;{zjS_jhmaZ%M!1?rX#SeLwN{c2Ry5_Ev8X4H0%n?|lE? z@ijQA7?(>V_;FvFx7uW~VE{`5obJr8m&k0U9R5=v8u9~;_+o$&B}d|WdQCo}lc&E&J%KHy0vZFgo@?58hnu#dWUiiWR$=Qc@~VuBp@?OwpBIWEY8LT34Q;^iG8zb zkP|{Wq#~WifUjTVKOz|pw;Ul)WkAM~HuW#`$sx&swI>x2prMqvlSl<*BVHy|bjArW zjiuBegw%!-$7^L6ZeTZ{$kY|HqmH~VKa{Cw7f>SiT<9|+zx5_lx>FvuPr_iF04-vy zKp^Q>AakyuG}mAgO)4f)GJ*XswS;#rzGaGO3mT%fBXvrNqAsgDla!Z+zmRqQn)q!k zE8nj0lvJ+ii*=tyJ~2nk6r_t4N7@ZUX@b3U9%p?VCXZ6gJcq>bRfAx+F12Vr9w+M_ zbF~c$#+|WtRS(ys3|Qoot+sOs)^&XTW1jFWyJuYmB38*-iy$>y9AjZXE@j@qBi3cC z3qesDhRV^7m`OPa>_Dw2qIg~ZvG2FO3WQT8dVy{Utm`(jCgUvzrXD-0J2NDE{zIS+h`nFyt4;%Y z(r_mWhX`?s4e9HLaWg0EV*rTL!xZ%@0=P&yWXegtQWqE13vxFW24fJc8>pZQ@WbI> z|Bm5YqzY=<h%(&*Y%i?ATR&e8y^~61)~kn;?x`!BkQ)Hf3k47?l0}n<7$S`CL|#IxD4WjCMJ5 zK5ZqY>w&sogzZ*{HthD>(2vY20M|OsF#kr4&r0?&1UYlrB9LKiM4zF6V+Ry*55BZp zFLYANcHXDvPT7S5ZB`^a z3RBE?RUA`I@Ax1a^_1kCiqa$LkW4y+XX?Ia ze859GABM;-VwFCZKO_I@xGEWVR1bh(Tg_JG{$9>Y!$96V9hXh7D>u7tG2wO#^Z06U zit>2t@{{9O4;@mqu~mJUzmkOeeYWXLZJ@7gQA4Cak^8 zv+&ZPPvH%9-eR#1wx{YvQ;c)F+9l|~F+marlX^dMY#+01P@edF=d?3c2YO*(Shfg| zfb|@rz)R;(#+GLwi4(Hs64=%Dp@P(8UqpF3di2XYeShYt>?$&wlNRz^YByQa6GxnJ zrTDH-WEf`N)Dk#)jRyBhAr-4;#QHpeq|Y*#m@jqt3)wAoIg}@zS4|~oBm{|7$i0Dj zK(w7g1g2n)zy|KweAoHAiL*h>!= zgN5N1=|t`*vffHjQzESoNc)Hz9M{c6n4}3GR_W zQTwrMJ|cgkx_tP{4GFG6CL!oN5(R}C_xmTg4-l$6XoiQwW6NZbM~r!n%A}pS3Nwip zC`oA*p)z%w@Lt!ZE4^-{`gI@TpvL|54Q={EKbal1fK^wE0UZJr+B{9U`4BCPr`lhf zU7RI@p2r4Qd=|K_(eR_dqGF0Pvct^TWljNbGL-<-k6Ut%d?*uH;a*9sun5(folKmtK@vv+bzceM{wq*v@~@j=`x)SBO$grXbmNp zwA6n=3WmsTb#Jt`j;{xLme-&RrXX}{Y~z<|7im!bf;-v(cH}z$4Zau*B&_vW7iBUd zi~p?<7pxfkuzdaMu5`pS94$?af4m`@GMuXzpN&~ebwqZGtb#1Ee2;0#olA)w*&dVu z43Lf+?erGSXPGukBrEyy3+}mm*U+yzxEGoKqEBDP7MOzx@PnM2CDY z_N=*vVK+_p;Jlxz9D4}9+0h((T*zKzK|<@A!;ZE@jq|!HF?;Zg zJAtx`-Q6M9JbC{1?~cHZD395M-aL2~X0-Qbw9aSfB({y-ep&8`XOw=d~Q-djZ-)_lWs~jI+_-tczr=jv!XWBm5aElfxOmEykQNydy;e_DWzarMh^Q80e zK=msTl%`AZJZECk@{uWw4f`riw60R6Z7b7uj5hDzzZ-Ch zTqI(zP)-v|q0`PD>7wTW1Ivi>N7GLKy`@N$isSVd8a-&BPLDThYG+vTQRPNV^clQ_iCeyNkI`W zJ85QFm;_3>%o~fB(W6X4#Noma5jPeZDRABk$;#MA`9Kz2qT9xF%m%s<9%8Z2K)fw!3~+9Nya7cn%5D3N^%2g_9Ekx@+Q>PngGnW* z%6sK-217JE*z8)t0HbUf87w|aWfU+;W|X$vNHt1(O;Qg6np*ewJ?Ieh24tY?uSOcI z{ka#JdC~|D8+kLfpJixTTi6jkooK>f2D_@#h&gXls!@ z8+?fIr$<7$%(J(KHy8BhBYs%<_a$`*9a|85vk$=xN6I_?D54=_zKXPAh>5Q_jw}ny z-5YS;D$!C=X-x<>_9lvz&Y-*VN?jqT43(zokWwn|JE!3~!nN84C_xXYGYZ%L z;Ur9Nj6~3A_1v^{$E3Y~27fs!UChJ6oa3_{3YA|C;)je?! z{GGP{BrI*7C%r>4GtTsG&{mUQhfB$%L$_IvUT z`Oiu8Y^zM@fP$laVj>*|-Cc_t{8X_RE`tjXESJum>p=-YO7KIW2+V6xNGB^|bqS!; ziiwkEy|quvxW&Ely>V0GW{G!22DGuY4$4*D-No=kr7!Y)m!(L8N_qau%CiGapsA;7 z|94;M?C|;BgEW3DS{#pgMhZdWqC@H2@k#PVLg_i#VinMhRiZ>`f+|+7w~3Nl8V$Pw zXfx5XVgZ}%Mm~v3WAmR*!OCwWoL8StsI=oEyUu}s!HqzNlJnN_`^)?dwiw5<5gpGr ze@H4XLkUSYBdxBj-Ny$_Z03$J4w#-0AH$MAeVm>=7FT9YG0qdN|1fX<1zeKE>K)WR z9l{#eFoydKnKZ4rA+b|mgCzt#J7zdPCXh@n+aLUJPT1FjtziBksQK+PO^=*S#9xm$ z-DK8oe`l5-$MYJN#}BynosH$bL^mAi`oqZ^(GXT~Q$!V9M^U&{jNzAFP2twxUibgJ#?+|N zuC=;>KI|7UXu(a@@_xxl)z|tqdg;cAF8a)OpT-Lx`pnN|@BKgdSO4*$tetS`F>^H| zca?k-t#s`WrB7(=tf>y_?bye4fX(FVezv~@mEysgQh}Pd{>azl`CaBge)PzKizPbH zGFPEc$3}<$tTkN8k^i8MT>kPD#oNFB@0#mio-1FV{vPx66{`QzZ(}3v_cUjMXPkHu zf+x!T8?Ubir;{0=W2;t0|LVpmq zC{{K$OQq@C8X>^IzHQcU-GDsRC(02wM_nvYOjzYY=#!+OCf&Qka*5|1@o z>=p?3Bsb1wp5w{paUb`z0CW>2gUb`@WH%-ejee)|UgDFM?S8s>^7`-pZ1y3Q2i{?< zDslq)DF)hu)u+CpyA;_}r~XdNvpq(LFO}4mq`?=V?QO&OQ^X`ZAur4#0V+UZ_Z6_6 zPKh6NOYMpcbvZpVoxIgEjTu?Cn;2Bmw%>NC+FQ`}qO#;}`AUJJ`E> zxGVa3d0>eA^Zv@!*Gu}H(^tDY+KbZ@zyI<7jqvz90)BqK=R-y6pU>5Q*vy7G-ycuw zZ&`W%Z%?g1eIKF-wH6Qtm|N2SUw2>{SslLH2EV}`^kDJ%pMlIcWC|Y- zZHQl$`J1lfhcViOERqM74Qm>%s;@$$)V4(oFn-Rd-`QC1AhSf-ps*Dh#!#^CKQvu+ zkSOP%;isAtGCtwkx>JQ$(jRRu+zCPYbRIy|Ng1iFl-5x0CbF3Yn)hF%L|Ah*wBgJq z^OaY%)|)ywa?xZ2;ij5kdmDN2Nqx1~*{MVPSV^Uquf00q-{|Qt5qQOqnKDLg?|1JH z=oez2kL{Ome(L!o_Q9TeY%j1zN!61k=h@dsDWPuQW0+I^m$RbDL)p^b4kv8Q>l;6z z51wksH>k`nu}f!$pePPJ~qgS)j3OSqKB;pN_O-WpPt>{VB%?u${R1(KO4-FQy-E9m7!icN{V; zt&v&>;Fe)i7cDq)ZhX1m^tLg5e!=5!bz0fIhOzzkuU5R(1O)ed)IoT}#&%g8w#c2T z&a7%02g95?E2ttjZ?d$}f|4~@U6k@-S{-cafz)9~?BFzGr_z+~=|3G27--VNgG^T! zd(w#^H|*kWJ3XoDN!VSk=96IbD%BYq()jwZ*F^;GL2?hchToZk9qAm>OJw0@OSUCRsy73F49sy(7Kf=g34%3l^wp zDdCLxdM$=_cHBtFa%=UIBFX3{xig&*&*V%WU6kT0__k1_|NUDtpBuoE@fz9Wl0&~I zf<+I!4bgoW6OH!|S)4e=TPV#ff6Onrq__|hKz|S&0Cpw4^;699fOaIN>p1cl!h+qu_YU)c|X^4?20Oh-Gm95!RpWB;7nK8 z7zhdQEg?QV0lo@TQJ*b__IZ7Yp1cvm=5T{1xek+sk5np_&r!sOT4M80IAn%rj;G8L8_%9B7KwhRmF zVa$5K9NB1C3A?==_k!hHgobMOgA{&o39jW5A_r$W{9H%y3r?SVDEd$j8(Gs;`un^w zA_F@adQ${s2wTpt?2eIWjvm1vjgs@ac;7>qa~w%Uwr9RAlVVZj!GU^Jsl!WYoM6*;Q!+|l_6V`^s$cb5g_KMPK%|a& z^J)P#s2r!E9_clvB;u_{b)5!{gp8a|q5TPAM^x6ZZL5a?tX6}MLvLZ6k9{&n>`VKm zi-ktt7E*YN#&g!(5iA8aXcFpqTP$A`M##<}!FGaDH72t_56oAMogVgq&Jt{$g;Ce~ zIa$<}o2-<-U5`Hf1BJ#3GM;FuU;05wquR9G7{?Q9c-l+;)}nO9nwhS$IgbYau^(YQ zbOn^!-fxv`B{ck~8p{hX&2Uqo`(RTmP6h4S9H!LmNyTUsjfp#4_*OC6;$*D0)7wB+ z^1aB!VoJimg|W*bGJoa?1b`)4Z6Q_cm@qi@jbdkjd z^45tIB6`L_s_vPWwNM{rzZ4;r&O=yZ0=23JCxZ&RgAVO7LR^#)F?x)Zl8K0q?fnMRD|kQ8JOnf=`*t)p262kGS( z18Gutpk{4`uoh0Q7U21k=LW$-?3V(cF2P!rJ-NEBUN!Mf#zQPl@?M835E?v6gU!qx z;%#Xr29^2jy;&6KT1Bj4D7?Z% zYx@7bL(s7@Nt=Yd&jScbmX5lqeWDTcn9kfKS1gI~=C!o5pH%IQl5AW|<>3iX6hYPR z=*SbKzdOH)%F0J12r+`4aH8M7diUIuN4B%Dg1bvuxYGVsS@e{1<%~29BGv+o3hEK zkg%%gt`K^~)*%;m0>u{|UyvK^8%4)g7ypud^1NaTrvp@njdu}je#WEg%Yy_=2C710KbCkFfMxO7+D8jBe0g%QO$VF#yMyW#1u zm7gr616NBE&N8#gZ@phZ`qoruOsOk%S`BO_k`}fpt)%SO*q3bU2%dkKJY@4wcG+OY zSbk4TD1fHqmlIN#zoS)S$D$h8k-)W^*M-;iNviLCb!Ymq5Xy7-n&QqCf0^ngb3UswVOL9hpFdn7-|;7XEg*g=WB=e_lL^9@Tb>96Jg z4`1gLoLRtV*^X`7wr#6p+qTuQZCjmA^2N4o+qRud{(Glpre><<GX8SIm`XSO`zsP}l87-N&oqAN}{i#@- zr-v;htb5#mkX>H5fp!Tgy%0ue^!_~A)=m;7gaRYsDI~?eKD$+Ft)o)cb}W;E z#-}X<2?MSor&Y|!nyZ`PnlK-S-uchms4i_!u4< zM#csepdy!cP-`KarILW~VJI%xMH=HYPOLOATnAnJFP`$|FBREI{o;c$#;_>X@YF#a zbcNH^Sf%1zkz<$oTpJ}F7Tp-JRHl^uzMi&-Cde$P85g^L{BNlehOeu_Zt{>=h*#{f zSot$Tgv#X+r^btiCEk$KrQ;%2RWtwin)7k;R@%XcC~l&xUmgU)eY;M~ox^*HB`&_m5Gk6SVx0+|mvEqjYp9VxLg zfK_9~ysIShtjfv?&X*k1{%#mC|NFNI%1lU~6sR#p;WRa%PEKGKq%7+?PZS_M`&_KZ z6snaCdSppnTpY^QPuX7cFm4H?bGXJ!nVhu_;WKLoTMAoy_Q%uep09KqG(;f>L@0d7 zCw9oMw(Ah=foj=VL}D2Oyzn|ad5hiL1{*|Vom8@Lw+WI2c{C1TB9^FY$Ku8O)s?4;{lI0pG_z4MgM6yfzBR$Rn+&>JDdvdtw+YrdMeM#@sIicuVYfoHO`8h#s)wti zx{wmylmcw^2uiHA%Z*t(L39WC!97~0{%{lx;w_c{F?j+Lhax%_m2Sv@){L`lyy;Fm3vwBuFkK0(XO>A{>NpBj{ zmLRzpw~KoG%Mocj`DqK?_65G|5Z+X8PDe{dZ>NQledo=N3??;Ofta8hEdL3~C5FHz zMikhct94%&Oq4;Zx~R4MDq#FMQ}EXg7(cV9&bcs;?&JY3 z^{)+7B%hdWAIU)fZ0sbZ61h)R)ZrDK*}t(Q77td+3g%3fCE~XAu%%a~!4r&>HDB}x zam+y{{lcG5)LL@ifw~ml<~H;UKAjmwBv*PFFO+x`q>AFr!!WCjJaF1ta2sdy{?)F- z#6Xq&g5T{XmF>`m@%>hHP5RCH{EouJ>$6N`K zRv8RECMFW{qpD5QXgCULCUYO%%&coS0}56Rh}F|L%7ZB?}fvT`?@$L&ve=M#_R7$8-l+7D(L1 zhc}0%7r7g@m?ZvHOd}XS)I3Tff>i;#M8doZ`j;p4V;wPSMh&R zYw&W{Vl}hULn{p*ZYXqXdF%6BXEp<5x|3;2kZZC&PkaKTd=Z5;T=CFkx8-Fd66s@T z0?cmOu%v5*lNpM@um@R8kZI|+WBD%;Xs?zU4=;ARTVcL@-w4srxlDSl$hw9j^S1~t zcp!p6%>8P@2)85z@i$<#6Q?y&8}A*EBxpRu8KbsiH5M~tt^K^N0c%@7ThT8h<4(Xo zGH?kQj0`Obi@DaRF1~Eh3V2o+iO=1juwBNDO|oq{@s4!OcCZos;C)?d8@RHhpORgi ze+w?w%^mT_HpD)WFk;;L)ggea7^B9GqJ3#*?J*2!Ik+8f8XJ@&z725s$R71y=_gv= z`JG4jJf3mi7l#J-{m0a-mw)@~B5&0__<+7gvqlSVuT+XS<*j?2W&x(yHWF)uuWC2} z-sTKXU8y$ zd9aWF@{j4$>d&W)ShBd%OtJM-Ht#@7$*3kwy#08yFJi-w6Vhy9CRx6iq}CZ>XZl&m z`exE!BPTF;gW!e-e$Az^sF;zU8H};0Sj`DHJaF+IdY+FTcBz}Ke$W;dGahlT%HMCm zUf`U1Ib#9j(Jes2yslO{skH9>%l$$sW6YWRnE&oSX zu?W(cTr45%>5rGxSL7~3@!g96(p2x*VcxH|6RK~>gv3|xR&;H`G2*Xlv4)*(7}ADh zRvjYt%0B-h5W6=AgCMyhphEI{P?X??;1|^JF4zmG%|h-cz@brvt^M~drKJIBHHIC=>iWbG?iC)v$Ie#g zx??-ZgM8SU>XHxlet2y}`EJ}VFMH;w_}YW5^`QBoF9iO#%s*zli5UFCeQq1ye0_q9 zXmOGL2Y+iIa&V=aj6;zG1UzhZya(d$T8dLGu77^u^^o`#VR7UB9$(o!VORapgzDIz`xHhEzCE7)oV6GbIGyYpJbXL5 zH!s)}^PBh-E4dGZ%4s9}0K?fO*}DaO?Q*{M`-9;2-R*ti*>UCJ20bCuESeiM6mx5J z4RL+7+45g$;{_WAJ_c&FZb~2hZzrS2uRb+K5`u?>z z{cC6O+<5T)Czv@0Zahf{6^#sv%5E#-9!{3h0$k%m%<}6k-3x~m8l4lGmYmc5Edmv= zIi6-w9r3g@b6+j9z*Y;q)n2bJKdX-y^&H(|fx>-uwTTrY`x*&bN%-+%6*%ye5M|=M zqu1inM;PKLg0wadiz;yP2*p8;x@#4-{4`Wj~no z>V?$5BP9mq;EJa0V8Pc%NBD<^zq~n43}-$ zo3ATAOO|+4;lQRlJSR4bl)ria!vQ%J-^dKJJi901lcfDt<@4Y*uG$d0luzz&u+q*) z#$y@Lpo>{uCa4i|aKo$af4!9$uxNOA=ASYb zV!h_`ecVG;8%sgiNv-Z5-;W!QeH74q&d>hRweGN9{hj{$ce#6!9I7q9`87#l&H&<70VTy}Khh zFpxhqZHEQqidS3A*-A%Sz~9}xOpbSgr(M0BXQ@AD6Dm`$eF@>Y=KPpw&8IJXLqxU- z+5NzjA^c+!7jE{JHu$?IbN9)Jb-EwkM}Dz;Q-p6)h{5#&Cj}(Q(Phdk#bp=C^{-Ao z*Y+f&yevYMES|6VhD2ni`MMz%a- z=`*yEuL%_YCM{E))2dWDhsL`6Ph4QEce;scJIq`#LOlt-Iv%1N^xV(0jZj$jyDKX0W$+MG4| z%>*uN70Dcb+T254(4~6iue3l030MyKC@Wn#;AMe0@pku4tH#U}%)eWe=GQ=!ID>gO$Wo+!ff5D*fNAj|Ws+y2CQ?|r$IzDo*3 zc)r?QmM8j1SqoZa(Kyq|I&S(_OvVPsZNE20XDRMT+6dD7#ByMht@v+3{<)s~NNNNO z%o-vVQ`T)G$fz=Ig4sm4RI#i{$n{R&`vjg2Yr^saupNUhTc-|T4D_}53yEQIrCYb9{h=5Cg{nfca_-0;k7JM5v&nCimCrqlgv_nwJhPPV=KOT>&pk>!6w zLCIiKv8FMJ?_{W~ZxfF`qVtD~4{`4Guf$qkt&z)F&jkE>-;eL5emj@D+rA&({(jf{ z+dpAd?T>f7uTT7M{5^e)Z?Bi-;clQWxZ7*cKcDi^A){(m`D)B4~g_XWpWapZE^LywBS z^bw=qL(w7i$SgH$i{;sL37Sr0a?4jXXIV*N(@9aO!^w=;X%=Nt_LPwG_>M>b06_mR zB#Mh`G5RpAD+w*U*DQ*b>RmOFj5IIU?+{?LDVGbzrH~U=5pISv?m2z$p{e#CAfy=n z+4&jtj?nda_1>SGB&){_Jfx30OVt`=Em>EG48I?k2o|%iLR=N*mb}^0u1Q}&&|p3f z_ps4PE;{sOc2wHx^Fk85Avu2hEW#Leg7)t_P!(z5szMvfF~X`<_3p9ij=Y|qe{uNT9O`leV?!9A0N_j)&x z%=Pb1n6zEgd331*(%@Rw)o95BXbLF3UvFOjDrh(9GfbFC`Iq#CC8=+tEVs<{PCbmj z&0P0?BKj%4$=#g=jL)IK(ZZU^`3VF>`}{>7Ro5zsw`437l+nnY{|oPu+>&kt}Y4%Zp-AR$ayQ^(QVJMkSiPIHEIn)m|3%Ed# z-J8CowOe(&n@iT|GQ^r?xfYL7aRiVYlpiGFp#j0dX<_<1hLl=k#Z^v6JSO-(zngux zLu^~)$dV(#>O>*KFpifpn-W!mW2(7wW}&vJ&E}_wGQ&4&GmzWWXH?K}=Q77MY%rzc zQQy9icC8)jZ5rH5>xm;^jrTDT&RVh^$c|!{M5i1jo*L{XZ(z?8`bp-QB)qh+t6$JB zFjG=8C$O)Lnq`nkMQX5(@<>5bg)j_t6-}`LoZcAN9cw)^OQ&?|TGBu(>>?Hk^!Ly9 zWFgjAb!b}XyNbr2B@8G{mQe|`{$%YHX_5p&Hd-%>SZ`y}vF4$Y=fbbyr2{ejj?-weQbIxT@$lu5KQ z)f6W4d5eXCuc6GW4x_D^MgBv4?2&$zg#H5`nF{$9R3wD0_zEeY8XXD$#OEgYFU7N5 z|H>`G(|uC4>a|%YLjqiw$Wlj*I-%iEj(2gTUsa^sn&O{338Oz9kOVJlEfz~=d2C34 zM`KfOS)10bh%IR5nN{yCKrQ0&-(Y+FkhAIfP;G|UaGP^7c z=We9QWO<+ejVf95q|=y2WPzOL&&-{R(K?{L{fkaFnccbWN+%|x zw?I>{LaQ|C154HJfmYgby-i77+i$UFkEQYHCimVgCGRo~bN`V+P8w?2FW5tAcK(tC ztd^t7-0vx6M8j4)yKhZM{-qHag1^N5stx_s7`qbq)5_|x;eIZBRE3h~Jk4z%C;eIV z+ChtHVFrPMHwx!f&m+d5%u_>Ob#ya1f=KJY6%rChMFr{yhw%m?JaN7ULoJAGn+pb3 zH^rQWUF%oxg~R31(DGt+O4tPp`8K^LrfV6E2y3H9v|`gOD--6?CvaunBgJ}Tv54*_ zm(DOarokG8LgRMU(jPnkt6CR(?{HE)nY8%cXa$Z*7J<>iydT6HT~kmKvJav)jvl3D zY9dZ=Q0>#KmX1**-_w)AQ)rlc)Gg{%$y^4maRJ7L$g07XjQr6r%#k^xSeNzlj53014&yxs>yy_Px(IxW_7buh^vG^Z5ug~115l1mIGKgFJ#c~d{B zByx@-Y=HKhfcm)xkg)fHQshY~(ou>ajgNkI<$UZ?q)p`~q}^OV3@?QY_OnCuTjU6i z+CzI_5{T|7j>kQROM@d`{&TI$lQ;k+)h>3jyps=Wi8X~VzT2UMzFHYfOS5Q@67Fu? z${>9uR%a>i0+RQn1jMjf5D272Z7vR0OzI^u)w~u-0i^AMQoPhcYU^BX=v1kgtg{nX#j#3;5vx1P5<@CPn^|k94KFC55LDM^&3LATzduSl-K@GFQ2*iopeF zhIyA7vA?#{d0e(0RvLQLX}Lz2SKgvqVwPC1TF2zn^+KD#z2HF6lP=a(27^@!glHaj z?oK#{c0)&NWLC1E6bz_@F`CtqPfTr~cCT)>kw?bJFjI-gha*%((}{8-BabRoYInvW5o35qpQ5>lV zX_WU@dwj*1)<~io@q$iMlqRS-W;5DJPeK-Wsh5`(fRQ+7S-&TQo$&g1-u*=l4cSMP1|CCKeq!w!<^UU`866fg=1V8>vT9QA9gZ z$aHhYZ8BMMgMUd-`wjT_cr{+jX*zB~67JuPQO~=Hrlk5OT<&abI;LS+9s9S_J~AW5 z7tkn>$rAr8Yc2BQ4^rLrl@`9=|Acw4L_*U$?5deJS(TPXT-by3*;oGTm)obGmWHa^ zYvKAh&hLFsLOZH8WM-g?_B63kMdznwBWGHBvB_p!G_1_78mj)dz1QFzwA?Wo$*bE- z5J;}EM58csBTbKk`s`+7Q&rr<&0>aRtGO{lY*!m z>Bh2qTWyN!C?9thF+^fZsu+F~;_!B`CKj7DsbvD}G-bFJV+UFU4dk$cJW&aaMs#QSG$!Ydh*z^mlZdx?fPBZ@@eL0n8Ml@Hui5T?F=uqoUtk^B| z2(Law@(i(_@M=59VCJ-Fl$3Xbj~h|DbCPxCnjm;_5}Qm$Mh7Zi)($er3>^cuF*^@M zb4XUlrP&o5BdwDB=R{COAri;&0z3L!I3O zFPe%g0yoZk_xYjhvy3&t9tx>T{RN9H(&fZ>@sJv*@eERB8%^P;wYAyM<@Dsd_%UNp zZw_pqD}%KRLlV%fKK=iA|1!g*JZKQll3UuxYr`~uMCtkdRGNxMp?f=$8xiG9vQYo* zF>t?HE7`gcR^*(&6ysj@WXhV`t=BoLyHa_Lb`%Du9E!+f*qp%>bQ`Xrs2dYQf)2bR zCU&QyJ*YnPGWxa=HU42;pTMB+3#w3B+q!<9AETcs^90U8C>C6qcvRuIv4~&}7Ut2B z|K12bC+*Gk*jB_1Dz5T3Jv96ciE-jW8!3W<8pXBKQ2fQmD#_}~#I=~>3XD@@j`#Nw zXqw5Xp$8)w-!8&j_HzClJ+=PzhqF$(~o8eiSDppHf^{XXM85sPF z(IBQQSK=aH6zj3K+$RL8I3B-4%7k31A;9xxkbVd_an+QH$=P#^#xp&Vvn;z^p9m#} z1F&JfiP>k+U#(P08;0geBFYQ595aG7MHK#DB!=q|RDOJ~TH=e^p@4|$w78Q;Vt%S=kTZFSTp7@12}dx2OPx3D^$`v<_R{EbJV2)mn1 z=K0xzuyepsjyBLu6i>o>LQ_mFeKo=kmLU%+ik_$+DG%yGEjf_xXV_@AcV6!z$=9`p zuojgG(QU*34n?Z+>qrznc3)TJSP$)QteSLIG`!fj;_9X8wj~wvKpm8x?G@u>LxKmK z6zM^OA>G)@zubYSiohfj)&uDh#y6qa;9$OllsXhyNLCgSx~Nxja$?eF?ClJLrrIjy z#Q@8QXYVRnfywQoixNiYHio|cD-m=WUV~28YtWN$cGd-39%n;hkvb5^A;^4lvUZV( zfcIyprwLv^Lj&s1B5ZHKk|CZH@+L)$jORRXb7z&0X+$1jaslW|sg#>(07IWD7}|RLq<8O! z2ufD{pt?Q~tvZ^nnnDtwk%G+f&NXi8*1peR5bYS_l)1udsj;69_LX7??rO+Fsr8y+ zMN-T+AbeIwmbFPRy12=a`)2r@?28$gq<^U!%{IZ-VE3HbN$yS!I-M|XVIMQ_5uMXU zl}!<1-0cV|dYzhtIyi)4ON$cTZZXobGTOaBE^XE~NCtP zMG5*$zm-Vl9{4Zq}6P+s6 zK{6!NbPu~z(#06|akhk2KO4sdRN^=Bo%LIh(52+0(r2WW%NY%sN@A#~s&&y`HMuQp z&`k0&FBZ0zwZZ~MN8$6jf5p8zg}xxJ>nK7Cd%)#v5Ne6A={c`WP`GY#DN{-nlEH61 zy+oVTrvX?#xPO5*G>HbhN(To)6pFpz`rws7B9va2l@tw@u&8O3u#*^bh*0T;zsm%F z8u^COt`8or&z5}#3~oj=XY+kfeSiMSsoY>wPc6-CwV$I*^M%}meW(djnWatcK*xjtR) zl4`l;YjU0;5b(l=?OxHp+A;63MKx+m_K0zAH4ZH~aG$ogKSRckCm_i)^nLp>;uDkJ zLSE@zX$fOPTD#X-!&T|}VLHgQ;DT2QIe@G}uIt&?hgX*-xeoWeq3K=UaLsIlAxL<0 z=-IbMRC9On6@Not>{9F4t3@@b54;?RaRc*SU&=>UUyZBRtNKGxY8L1> zqT-GBxW#I1j?`WC_^cRVPFND@uOJs*@t}4=ZZIHc05gGNnET%^6OCeQuPZ06_A6TU z`V41Hz^m%(rH_GEeXq*Y^Kk#@Rk+8lCs*@K$38)lRaXBmKG}P9*cb?*1VFHP!|n>E z;M-j2gv|i3tY4_wd>#0!Y}MTy*x?ufrE>Wn^ttfl9ll$vTU@vcoIx#@|A3uaY_IG8 za2=F@+W+D@4SWrpYlNadTxaQr>x`wYhDDZYJ#r6)=Nau|3hX}8fw+fqVm!sG3Y=F~ zmojNBG8CO4?>e9XO3z!8fOa9bSBqIdqydN<4a2n3cth);24q+leYgR{B3NTAk;PiSffz2bc-wzrU0oB4iW>XYW+d%t zNrohLTD#$VGFuYqz#?9e`X>{(CSLeL%XsK(R@hKQjjskY6eCAw9;!{8oZro zrxVdjW*)FbnX9(`4cw`&6@zB_;Qtk7)eiA+N^wjH@7i5U?op8xQqC));plmFOSb4T zgBye8KDgU{ZTEs0Z$R4Gd6W;t?j-UG)aQs!PY^a#6;aUvc~)tkbCFxv`dunG`rEhR zZk)%}Sydv9Cjcd~WP5yG1YfPxO6uQ&^=oG(a~>M5K6Dwa_=@Vj7g_Q7?PhXQaejmn zk6=(JDBo!%u31&0PIZ8jYN>jGEQtaX)MPl%vLVY0THT*<dZH*idV>P zyKnD(`Xz;E4LP9O7SU;1N(xW3Bo>%bs1^& zH*sMJnbZQ|<1xv$w9SOs5!lw?++nQPc|r6f85F07IEN{qNy&J4Qg`}UHJ8?|y=rZ> zo;rRj6&G zgLUF-Jpe+hAH%ZjcG}Qz**W9!VUo-GST~!~i^Wh>=UMlgwmDh0%kanZbWnT7pNjj2fT@Wm}OH3hG*dQ8p^;7%Nu5$|&|bM@yXnkqUjpaU1`r{C4P` z^hZhlLK_Y93#Cx}-P`zkfTgm1H~%U-0JV|(^>}QC4G6TL(d(0@q~-vT%ir=Jt}&G@ zoQewEwzDQR*$Ryew-PUc0?vFUwE|?F9f8di75E)CMPan4`Q{n1;iiZf#=cj*qBo+Z zW?}@lSZMzqf(~zz{v8dCx`2z|EDZAz!|!nl%pu6y(CdCIA5b&eyJ!E%OC7D=d7VH( z29T4fV4^5yw$!p@^G9hdw@hduVpC^{!cBm7{C65@aw?DWAeJiHKsT-se3r8M8rqF-Jy zS9!mnT|SskW)Eb?mPio|C4)ulb34D_r+Gwz<_^0VEY2FxeDgEZ5k(1U8OXXvJ%DK# zM*d8#2y7}iKR!!geFSdO$Ddb{V}i}3U!3jsq=FUk7tO?{0tZ?p$f+Nj+FKKP8(q3W zDA8(3L}Udqsk2X$#A(KI%p1Ew4xoDIynKr>RcEt`G&d^5G33$duC6Rex(fHbL5SAc zrDhCCcjIXk{S{I{E6IFOi|b{PBTfJf^~@RJ_^@y>BZdmmR1aeU6}Z2ky0D*A$G;(w z?j)bC8>aBvV8U$PlsD$J!iAiKxNMXTVD1&>Mv>QYmzg4ytltB<7;10bp9yfccA8+PgH|K4$n zyJcf5=EH@f6G|aarpyMDRoPtgjaUQIr-&rF_F`6%!UZ`oCZf0DB1;WNCtU=PZU%9U z7kb2al8eZ>y5|1ruTNmQ_J5|B2{rW?JZ@05@R%zg8x1tJqnLRdu8FFvSoC>gf^9qF zPtGnew||ZHn842~tyGebRE{ROn`_ZCYV0p3i!6|hKww3xJ zhL5o#oGx>Y_QTuxK|onIWWq!g%Q9Y<25pu!S>`6Ik!gYUMmfUDxuet5FRSAb!?iH# zusJFJI7r5^$*^)LO&&7NUm?H8D^3Zn&F;k-KAh32Ij#kKI=;@I<-U8?`+s5_&%eI6 zhP!{dF3m5`JRk3TUwi}I^k0uR)p33xA2@s4P#WKQ#>=^pk1p&s-_D=^-Em>^ zd7csG4Q-RJ!XtuHFg>-lflfhf&*sD$H)N|TdUe@UJ&$HEc9L5j!F(QvHA`FkNWuY8mv1KL{q5vJ7l;r<*@P73M(LAtHcYrrcSmK?X!1yra*Da(hMH$y5i2+gmQ_e?mH32L=O?_8i5+KBB_Ha;sy z0W$c0{id9axvdQ-k1-C1U;Ct!990$ZNffDuRVwise3fiow3XSs_LeO4%?kb@oF!}6 zX)5!iwh1mR%19ggFz*QrV-c#b@cv?HWXTK{vRdqd31O_34Gdm(pv9Vpdi>NBS@9jL zWSggjQJqXq-H8hk#qO+RMY1=YBZe?I?RrjKIc-2EK~7yn(lbAs80uG*l8Tolkz zXlphP7jg&D--R{#Fl5r9m`t3^B2_#(yFaSsl2i!Z#)2x-^g~HlN(p4!mRRLR>hVuf z57Hp!+_UNsV|Iu$uE*5Qd!A$WaJVBMAXPYDevuRfKkXbZq9p*t8ljcML9v>Yxd(H0#rxxec)uh~sK^?YV zW`l>3`ALN-+W7jh62hF?rADPlfM$V8bC& z2I?=9Bl<1P3=47J&zrv3)_*8sl@qo<*7E|&SoOVs3Y62`gE?w;$8$gTxW4&p8%^k- zMIJ}M<$B^B>c)Cq3N>_G--{C3;ZaPfh1l*?OelEzn`PqD(VM@G4ctCiB>VY$d3y4C z;ZT+*ht>o@hU=ZY!U9kp&=^~3_*=B)*L^ESRW&l2=(m{`B$0|Z1lbJith||C*1BE) zrvw$>shF4y@gs1HZykue>0eqA$htM@Tv=+Q<5szzR3Vf4pBX68-Xd6XPyiSC)fsbe zl50KJNM;&jPHVD=y|7bqqL3F|RpoeCdgHT6S30cS&vM3|A~Xhqs3Oxcy&qu7s{RsI zy~MI#RUsrw#p^?ulqSa+vCSWw-7G zt`3bhxVGUl?=iWSVWD=q;qw zyjNoY2@4S!&S}YhEVO}si}8B`kN+B(rf@7qnuXcj-+kVIo|b3OnRO%|i8+WjfL{nc zVefz+K$xTD4^P{CnSBH`l;pR4#z!K(!v45r2fX^RVaHW*n&|yQ1J?=%d>7$_9b^UI z-E5?`MD%HfyEb-dc^vU>ktijGUqV@HhmwZ#kmvxA0pri&C#gJV>{;m^Di=I|9+Avy-4 zwtiJ1f~~!zb! zNvrtBy;W34x9QWXgg%`w%HbGU>_JV`&UIQO3=LqB?}WJYpvJyxnd0*s+YLk`VMHlb z^@8ITaFqaf-ax73EXUCWYJ6+bVl2##gQhYUaHR02D24s6uA8AjkH8P%bMskfC9X(d zunBhozpj1Z`eAF)u4W-^tTCEO+Kq%4WIK9|=$sWPuqQ$P0jpp_&6n=DopGR{WY=xS zNyQWz@mvRmz=Lbe21rc^kY$4f4R0w5+hz{;G`v%o4ez6|@WLreg;~m8 zmCa5XX6$k_u4~%|ag!m+ahPfPBX$(8cxWlNnJMCrnLp4t+Jd`2++meaE~qc^Ld!Fw zl%JsHSa6+_ho&uK@p!gNgB~O0w1p#^r$(PmNiJjx zpid}ExgkZgJ_REHY8;yx2Yf8$t@2Rpgh9t>we5|ygJtrw0a1;R?k-!oLo zavDImnkOk3MQGdUj98mior{mat&V)O5A6266LqyW8B*yTHzVY)`mt`@R($bziUkm%MoWMUy=*CX$)7C!1e`ql^E7N~M?-{X9I3v7));f)2hZ{ID9I>+zxB%F_c=*Zrj zuNXeF&3U@39$ZA^;qj<1%xDSBXC9J63&IcNKp^!8w0CEfk$l|(zVHe-+~0g@u*ApX z2l^!7&UKYbT;mp=;6fUbMXw}zDF&oUsGw!L)UoKC`TMrVbDn7${nVERmG&r1DCp|L z?!XiSXXAJUR9R>AN^Q%-_fJl!eSS!Nc;%<*az-Lm!#z#CRxb3HLVxr89d%XCRp!#QRuV9r?*(&1us(6uME$s}uzkE!6vI8fpvLE~Ei?xQ4>|w}D6Q@szrz zVo=1hU*&Np* zhV-D>3m7YWr6lOHf4#7=q3koQ?_ZJT~1W4?GdF}42o4d1+4iV(G9v_f@ z-1r_?{0U-{3wuq^>js(=^LQ-ek$7__YeXcB;)6yiY+dP3J2u}*GU>UOu3==ywsL_>CE^ls2n00&?-~~uI+6Cl4 zHyjp+2d%=;%nmw*+}mX({Qi8ixR-h}0(*~-w85X4N-b1t0WpRm>izMT$YA=48r|~u zSPXB)q~66Y7&5pqHuL*r^aKq}eWgkx80nP`{8-dlr+C>O{r=83BvYV_8&si8iOLVR zwJ=K@VKK`hbCL~oxql_?Vfie7^F#|$#1{kZ{~kkC-dR$zAL$p5&j0GfkEACk|UNJ7NH^OFHX2VJz zhz_`>zkw8aQqCH>8&DmA61CKF#U)b(@tV|NI0d_h9DVqg%j1m@0(|55Fs_smV-ovv zhpKn$V?QNN=?m3#8upM`iA(phBL{{^kq>6VB;O%lF1VN+r$zhBc#hY}+RY&Xt0Kb` zHg2%f?eJM?J61p4I$eyf29e1${)`8qqfy*G9+KUx1zO7nJ9#`_|eOYZC8W!1PL z%jf-m|JXiunx1vDrarDtKWS=ss>I|z=y4$hC(oAmggm8p9^!B(0HUw2pl`ou2l>=C~ZNx|CgkX;VkrT@&RY#T{Jfn+a)5;5(mLE zIx&riMCEAsGWFL^w;@M{y&C96jh0s44n9byQpVRnC9tQ;aJlP!AMh~ikK!f9qqNgE z=9)0A0|fBs;|V>@chwJ-&~Zo6?hk0%KzG4Xoex*bYrR zFMBim8DRxz2sJFBfqBMD$I&~c++y50oHDE=aH-0ve>Ch|FmG*woQ2dMa#3Q5 zbbZB$8N5a-wpLGXZ)fE_L<)t%2e3^L&rpp;yFiW+aX~ZoT;ASZR!6I~vIpQzlvVh` zMmX$Q?iWoqbb_#?3o2aH)tozGi8;+2M%;e$c78shelD(_Zni&94hod^j;yVM8E$R{ zgww{I!8WuN5BGpOP21D(K zi8fvv+=6QDvp@0~VA=qqC4133s4@OA2&_5JFybkh?O0Sd+7Au#1r-K+fw*&Pvvj+o zhuxl@#Et&;o3pr7r)TOnd69yfOZ3umL{l8a@(q-xqb>x$6FH;Dg=lECEadIz?upWc z1dHMC+{FD_n&{sD7yu<#0)O$gnlZa08=yFQxIP2WY>w`&&!;S0OgBbf?aPLDga(eq zss4S|22pYhKmNDfFCP&wfd>3FWGQDe{6W&QTo9c4dUZhMVJjOpM268h6j@}OnU5NOVAhZ%ODWi!6#bOpAp@EEAOPc?d zBi3j7LcHqfm33+(x7XQ_7rBd3J?c)4K?hq6LQD%gMaUqq0@2@Rnx(}-3-FKqiG$2= zYgm#E+XhvPEJNnT61=?;GLOW9XIBkKP}6Cy$Jd1rV0`?Gq)NZYfQ-xioiN(I1)Wr! zAJt0wIpHst9UmS=iea&b>J%P1rL3XZ)Q<*b0#Yj3#e5WDid5J`zc@qMuXZQJRF@bB z>wrcag^lQ{A5M*&41M710X;>xmw_-U1={#)_hh7%mbr<>^5{ztq9P?m6?W?%@kMTc0;&9@ z?({ZK?e6rtPwn?MBV}6ff^Yvh=Ed`Q?{wyUd7ANLe*s*7aK6}0zgpgGb~!V@ zT=l#j@3g;9b%Ss7IpiXAy)St(yU*Cd zre1g6->0&ApMS0ZV%zWhgZbr)=XkmId7Gyju1mn>i-q$-nT6{R^9w_?EruVDPk`%f zx#!MY`8(&3*Y_@)AF>0>_i1l2tKN75#2VjrkMW1(o+uAc-r3X_%jc^pzud{!>Qr&dptU!fVRQ2{h)z{5uothA1=24KrIg79mtrzsV^F4h>Oje zALdU#V4I}=1l;LUFZQm?-Ts6< z(>&nxN@SI`moJz~a>E7A5EH);ZLFBuQ-VZz)&Y&lFAFXSNl+;J_@FvWf)?(RzzYWM za>y>LO9m@~r>Z|m1F`0Sv0k<^UT9J0R=KT;{P1L4&)z@6gF41LT?stQ8B1Rg@JxZ! zMz??9PT_V;uVdm04uxW)sdKEm&`~xLN5$L$(usB=ClRQ94f}%3vmgQs+P@X9lWQsV zlWt2V90!>aV!`cj*$ElRW$Z`NHxQDhtgnv`c)CZuQVJ`EvZ2X_BG#B9STsitElC6Y z$8rh$B;?yLE@elg_vQcP=e`^oUKTZ8%hziNbFlsLqrjvru3*r4uz-!dcYi8#FLKW| zSHc6M!d={qcg!fTKV_5~$pH_aW7|34F%RW3+^(sb3zkhg-t`W){2ej9d8 zZr@1ae1Ewwu^JGm)c+#)^G@7YM&Vtvz&5k%5ccOyWc16{s{l>ofC!jMz-5;N#6WiJ z`+jZso&5Q_;FoQq*j2}u_2nvWxp3;OK~{kN1!k4mK+q=3=-G0hW+{M^nsYAPw8m)H z{?ixa9dOFiO)cybHSXKoL>eHxelt@X$5Q#Rr?pp&I_n|s4|D1bG*RZ!ZroOdnYEA{d{a4=)cNWk6NbSMj!mXo+?GKh+q1@P2`hmS86h6BY|yG3S-U z4$s@Y+w*PkV#>`kY{DD?eoy%Pr7M@vpM7|kNkC*1)Ct#bVCq~mlR zxcdwTi_mM?Y+Ay6p8V%GrRN}ygJ~-94T6Jc;48JrJO>D&J}d}Z_Ye;bkS`*WPa=#b zu-eE2`-bL1`VdlMp|=y^Hk#{BF1$FW*%;E&Sw!GyPk8WfK`KfOVJCx{p5#Cfr8E!_ z;gg0RGq~ReX&fy2veJry<`fWdoenhOQ_4XrEK4aWZaO~~BV(4d&?_56;8c&2!WT&a zM5!$mp}?_!M;>4a2X{^usBwbukfP5Ctt(GFs|8iq{_frqNt727SNKLvrBk%05YnED zEcTSt4<71TYCR9M!%p+r!O-bLyuo%914V=IMHguE%Z1Zp3hWu8vredhC*pVUjo>>( z(S(y=ac-Ludj+S~U_=a!)n=d=m*4HF?U5uGgc+W$-c;YP3e#A92Vn?R;DT^+)!B=4 zsN=9%*jzR>guU7@`3JJY*@~M`n3D+cJXw2lUlsHVHfZe8Z*i!IU!6`OZebQhrt81K zmk~!T*SKWZ^wuRz1>g1gKRbC zY3Z^r;{@N7-JgiP5?EYv z@WtFHVXMZZ5-~!s=cZmhQk=K|`lKGY=`N~7s4ic6HQ>v`6FjT2P%j2zI+VI%bYE$y&oSnDr)puCoLJbGa$PGkS&}w*P~%Zwk^R*t-3C z+O}=m)3(iN+qP|M+O}=mwr$(EbN+i@&eMPEp|YYPvLf=KcCNj0?Y-{Q>rQpT3}|rT zE}MfC$E#+p-9}A0C77OSAtTv#>_W+ofUHL+&5M0si)@lKFMIP1)>F-}ej(YY#&6ks zyj{xn=%KJrWKO5h*V)R37O~Q<9)|4p71QqkrLKkG`lZob@$;R#@#(FCZYv~_2dKXl zd+%md7ABIQD$Z%-{AqDA{1u_Qp;FOGKU75f_QmkHLfKKVk+ zNnu8G-WVdqMr>mW0tptc*zJj)u}UwV(A4^Je>X$U$IHuijhNGWKt2=u4?iqa*fykf z40fw;g^JZ=^Z9ytxCnMjJ3R-RC+&bfBuOO5%~m4c$K>Guczt@USS&1{nA8!FP99-k zc(wa)QW}y|C{AYeJ{E&$p#`pMf5;NTJfH&KyXs zg`iBtxH0v6piDNs&v0jo(xP&Oj`n3hBp)Chh z@h^z@HH}n&HqY$(U~>`@NmRIP%ydvXIMzyGNQ#8r1ZZ0ai4>urTU{{XoEIFRnCpb zA;Ik5C#^>ttUZ)8!vAu*|D?>{G-&~CnH!;Ik=XS}MplMz8Dbwg4UUln==6B_(8vHB zgzr)D=9114LUvyf{Lf=y`awgg`15+}Wm_0!t5YGxZwV>2dL781X3Rrt#YsvA&=364 zoROYU9|?B22o2P0lSX%wRu~wiyEmZ=)D4{O;4YvlDF8a`tp3lut$u1MH-?^$*DpMiE>h92@}N7g_g!~UJ> zo!FU}*eXDwsTuP^7ccxWPHRkS9rSgmnxw9+t@rPg_OR< z@v0Qv^1T~d)$}s5z45~pRHYa6?LtW%S7+5Ox5Wv{r5tyO1N%&SCSm@48;rM!IPrm; zjIhn?5LV&X+s1>-ae~92?*s(cvYrJN+7^PGy_r2 zTum-inDYYwyO9KxRt+8iYuLt1Z*_T&4DBop(X@T!MVZFu(rF3xS0$~0kD<%rg=Jl7 zoK1JnHBP=4J6ku{m}qZg4ybQ%oV+jP)4=B@uuprmJ6W@yqS)+ZG zlxPPjCVtA~+pW%G7cmtfd_Tt6K4BVF!mmF@3OT5Y&&S90{ldSne|Xf8sH>ZGp1w#_jYHhy@CP+W=3Oo?qunZL{Gp0l!@E^;*;!AfqcY2q# zy8Uqy@7QDrf%9E95wgK^mU0K%#7P#f|J5Om{h&dYW1`(Z2aOX^NA6CD43`2ShNVej zI|K%jlPXyd=>^JV*E$D!xaXjiIhVcTWKKD=o(&33&Z0(>=|pRkqQ%4(y|slMA(Cb0 zxd@W)pK$K-?mwQ^1NyrEyo9jLDy$x9dtEDhBtv5;csC7WfsaU2jc)mJfUYm(m|99} zR;>X1%zTqIjj9>vN?Mow7SdwCW%`#tzv7TW3RW9+9yYbjYqCVR43@_Og|;P#hlf$u z9}%W1JNI}sg)NwxyJ6Nl)^cvp_-c>M^ews0b0ag@v*MZdoCESHXwK!-;nI+qf`Qe- zQBOmlfX!+T1NN8F1QR2nM1;ALCL$K{gI6jmz_t-fy#2Gh*l}zqB{rU3!~3XQTs`3k zWE9;971TJzFgs}LH;EYqgHFEVF;)t48X0&X0_xQ}^=__)_lbfZb)wXD-`LHmmb$lP zW=HYEh)Fj$lxa~lzP7q&w7|M8%)EeM+%-Gc84$k(>#y^T;kfr|M)940FJ^I&ax9He zz1_I-oy*7TxI`8!fNdE9lc=p zY8{iY91B8&RpJCwDL5Wjdqg5S^J}u@QYP&V4FKllRQ23wYY?lZEu}!X)WVH%4!DuI zy}Y=aOl@X=1LE=VxhDn@?Fr79w{qcEtePXPeL6NE5d;2^*sypwxHl(##MN#VH8WA`VBE7l&XhEnU zG1ReOoIpIOR1`Cf`;CRIco#!doi-d0M;W8IaMkVPOAA4pF^CWznP@3tr5M1L(9+@B z;pr+$44fw25U|Tno<`ybzWIrxaC{VZDc-eNJU!#!Cvt|qrZ3Aeeq+XS)}n)?*SBF2 z+qu={55BbdKtA}%#?+YQ#HrUp#pS?Ee@4+z(*=CZpgEZ&0`#`nRd%V^UG&#BIIzxV zcQqg-oV#1dwlAAz)L^;Jn(;3Qb|xXTlIqsFAe3Z9pun!1C3bQ{^?E8wX%>+}yOU`x zpy!Gtl38O54>Gdt)g~@)cevK@7Kd+={^8Bd7PUn2qHhWGhByTF2!V-F{2j=fdV)7) zl{%IQ{q^pCBYur#lY7#8p~c!~Ji-g{Ak8dDlprmigueiq_ktiTZ&zdnl4~Q>>?HGX z;u1x=xX6Nre)D>J)hOh|Vix1EYOB+pgFu^Qx_2dphYvr=-K`=t1QnJk24~=?oY(g` zk0F_giKgq@oCT_rO>`$UQ9z2j6^Vtikw_YU>mO;+$F6>JC|YbrlX{&*ZpNf>yhXS? z{7#y|9Nfx^jqZr99N)@ipT*_fS|BBKWsBk2bnHuZN!7Jn+PFT4-l<921wPpb(=nG( zj;nrpNLj*^79Jeh1@G_zmb5o*LYnNIIw4$XDZC$k33nk7Etl@jk;s{916WIiCqd*j zGUOP|($q6CWhb2ci&8V-Zu1d1*?>V+A(WW2wS>YO86W-eetEbg)h-sSd?bzjg;Bj{ zVgNOFocj`^Rw2D^`Wb|8iWL`bYZ{}ab(C2uKyhq|$YK5Ymz1wqg3IBy#;@0r0t{N@ z72(nAI-VnO1)HyMzVB+R=`likb#ft07ZQ_|ZNjQ)s^7o{&h-cg3P=0ZQ0w&Q!SwZH zYW7Bbv=E-w-{{-QfH6&nH%;Wb17ioFvsS!{e4@^-j6CeIH~>T?OT1`&imGw=?LDCM z=Vgw?>?J+`2qzZ|d)M&1tZp-59#2ELYGpEESGt zWq;ks{~bbwinNI)FLM=2U&XmU#3U+WW{U=z%EU~`+|-r$(c0KlWT@l%|MOO zF&C1k#76avPy0&`l!g;)mvcxahlA%k$T>A9W}B#KQor6L-L_UpQHMiN_VaP!1!hWH zDJ}`8y-suGURY#N>LI0|sIALhgn3oE81+Ry9~>=y`3_}1%(g)Csj*SVAF_V&wvvvEc=yRi3oz{s(bw zU6BH=Y?;2hBC8>%U$is}^JnM)R;occDFK~<)CGA_>Y{O&rsJF4dr+rC4igk*+Rs}J z(eoNP@|AXlSMp^{mjFGfz&tI(O{9D;C~P=g*mfkDx+(!v?Y|h0PT{m_L+o=2OOda~ z@?)otWe<@Yv+-|-6$#KCvMvIRxbW7$y`Cid&va+ycfFlhl2Iqjej?P>&(0jb!4l}B zfTM@Vma&a!qR<#K6Q}YgVw|B!;;tTZt*^kWPO@l8k`FY&Jd550H~gp(l+MyAI$PQl z88(p^qIE-U?6wFkEijRfFI!T?Vo&$v=FuzTZOz#OFDFJAf6%Ovrb`?tdWlVapDmvW zae+;1cGRZAD8&^5V%(JFrd(`E>b%Kzt(<|MNzZSUT5k&g(O{h4t0=P|Y zE{8~wuvhnSYq7ij+_`BkiIJYlv6^V^-Ea*~aA8J?1FR`zo_BX4BC-#mOHR0C!XM%* zw=d5e`s{faz?L-yK^FK5uqxE+pUU>op)nAViU;Gv(rh|0!p*B95IfaOL3sPZ`QQ;^ z3WDGn0q+8Z4MT|veu;Mbc~AJLQIz@1j!Ye>E7jZy&wlu#HF3zh>53{2^o^{#$D6hR zT=EujKcl3Daxy15^CU8r_;j{P;AMB1^J~fMj$f|gW~)2+)df&@LXW4Uyzy># z`)$sNNt?7<`F{5@iGpx}0?l&vwGc&XGk?>EdwR?F#yrvhimXpxuCMxa&OBqP_ zywU8FnlwXO^YQXrz79ajcJ<2T&=L^sB2j$MvTX9?b3tU{sB4SYd>(^thj0>sH8W7q@Wf6ja^ zap&&Mx*E<%6FOs@n*%V1bpnOydL1tEP7356TMc&W1EI->b6~koAUg8pD+I_I*-h0B z+rMAPHiK}VUrVA_JaKgdIa^e2VCutclllJn(!{Xl%&eD+U<23VG$L`LFPozX_3>UC zzRSes9s@)k6YKPh#LX{BojBlovk_E_w5r8jMrYqxOrJ;_WO2c@$bpwv3|Z6{m)3xD z+-@$P?y8+_;l4p!F*V_ylh9dz?7}nhihu~2fo;2v8j)N_cV&M>83QPt<$1t9PpW?K z<)wf@PyqkAO3XAA|L5WV-EjYnGWt$t7W!_qOmysYtn|iiPR2Hl=C(GD^vcHS^#6D2 zF8~C9Rp>z)On}t|GsNzW@~O}OlRR(rDmPD(Tw&_SgUGi=5Xz&Qt zoR1T@hgR9v3HW5;`fTi&u$>+T5t#hB?*#latYYYRi{XiS4Lq8MAe}NB+liIbl4X}H znDIDV!t+=+1ia$(Z1M5|cG3$8v2|9%0&;3m^& zkkN~W+0|VziWi<9hmSnU=(tI_9eDiq@#xT+L~iW}UE8`^GH7e<7_zO=_xK?GG`06c z1sdty6aCDaKLkcXMN!UvgCNVqk5{Lb8&~E=wT#bqWvclzO{k_>P5K)Yb)|@bZXn*^ z_!1=_CHYUw^C0Uw)I{Z2>8ngv#EpAQw*xMDvbm<3ZPGgiOs$Te!*zCp6<^qLlk^w~ z2%(n;P^~f6_S6mXBNCmy9pVq|w+Dm!oVblmwSCi;(RD@SH|>PMyk7Fd3(usWYLn1z zH_zbGCu_iM&TB+XFv>J_!ofu3fq61$j#gGWqu05GD-8YE>!i2)+bhOcI|WgNCEo9B zqet2Wj0E#6Rcai|@$HDY>1SYo5U7hz5soVp|x?1ZhQk+Qgk_ag zat(jbXeJJHl1R2ct>uFT!N~1cR;^FpAu=y3YH-MkANvA_Z3JAv^efJSs!Zs$8u7A? ze)Z=V4V^JoV}cc$ z31GY=ao01FNe7@4&<~1z!=z>BWed(?rlnBpp!8d1Kb?(A%N^;N6+foTo$lFQcUy_Y z@|0>knYcS{sj;FaYS-l2TDu@JEoJ_R>6U`ee6+i>D8kcVxC-2G|G>LAOss~{IRL2> zjh412*44;VZxl^WeZlUOV)RYh*@oqYA(^>T-I^yb8?50#E0o-KGcTAXx|f&Vzlth| zn-1`603*Thqv>aMJ$ zGVe5K#ZR`HCS9rQMJu&KpyD|h?i-B-%j$d1vk&4z&CIs@9>^O*2u9^&wNzI4IM}nt z6Qh_M^oV_W=4?Q*#}`N`NQH?`S+sH?Dli*|QGd>3^O=M1<~4!%&Q!qSxA*HCa1B)O z#1OKr;e5>mMZ_a1*oT zSq#+WT@CCU*6lhY*y-8>%;_d}&-YlJLNE59Z98o{{IMFQRZrwo5%px~WBdNF(7i%N z9EuOM0RO5=kvw%8O3=cM@wqtaQhWP>e-`m$?bFbYzGys4~1OSl!Z`+rlt(C3A zznyDK!_#qt4e4hm=a+GMnbAa&Fc0O@${e%G#frMkLQK|0FA+&y9zQAw?T4c8%LXU} z@2B{J<#DmA1(E3L%e8F^VC|fjbCZvRJa5F~kjq1=Ao#YWUe4>9kq(};D;$np{K#jP zyhk(?l2EUO<`hvZ{6_7i{Nr$W=TUr+Bz`VlXcy~hm&#RaO9TFo-${+vGsHLHVbJ)K z>tpr!HOWCd{(Y&(m`^!fKLN^fP5i!sZo?Ft9=07D(Flq<9QxkBavEP`28XKEu@E|8 zaS$`3fKk>X(GN95$l#uPPS~VsB=|Rd63Um-+wsF>$VRI`M94A?kh&2f`Q9+~E#=Xn z4E^9rkgghpID$-@RIwzHBA5qE;q(xu6(j?NL#Vdr)%lajPsNptTUlmZ`YGEg@UGZP zn*D*9yRpUS{wp35eOd`~1v1$x9loF%x;BuUL~bDXSV6)sw?HDv%T--|eS&?ATq5P5 zKw9ly(mdtS*x$Z`b(V!eFsg#}*i>XU^3+v;r*Kqa zO$)}(yc{56N(}gJ{X`HEFI!g85uT@b@-%O)1Q5-Ewt$i#v?0M*F!N8i_M~!Zs7Rnv z9K=ACJh=H1`g_8S37v=K!uVzYW5A6Xft+bmv`jdYrVkPG_bx7PS8MPohgZA%26i5t z8IxmcpqN=%F{UXE4N9-9q=5@LV=oO0_Q4Fg0y$gOpu>Qe_f+NMGni>iYK}UXCZ)M# z+RvgMztdN$Vro%U!bgzM+<$%1qVdayg=eXF{Cn<58}X`nAYoh$+fpBttbEdXW^IGm|d;^8->y^Z81+**Im+-kSuiSPAeQ@^heC+fId zCdx1S@|)M0XPbMXZ7&sC+x%T{C>0@D*EEzsmk{cUvca1L6f8Z#E$ptyP!I^uLrB%# zDag+S=*|&oIaZ;35y$Z)c$X{A>`q;>ghzH;Qf*2B3td546|kBE5`uW|ih>Ya!;N4U zOQp-1%UmHivqK-stO>X!yk&Aq4wDYbB(Yg#7l)&^fT~V0rj2NQcCqg{_`pGyxQwij z3<)8v8~W50slV_WuqC{bV|y{^S{JRd6{^gK>UQpA02LZYE2zhJ4#L>d5u<7EI2#un z*SG{wwN%a*&SCg@*%eGS*tBpCy(H7>B@1BFd4@yzTVsUl)LArw+V@&EiJ}`ydK1_} za^%ECM!hUhDCOeZgT2zTLZiEHX`1D3(|R_uW-RT4H=_X%*iIdRwu|)E62iuk$%p_W z*HsHlhfZ}d-YE%Jv1pf-!%rEEULMULo#S;UZW(P)VD@qYJ(~sVj;*9j0Yc}ht<2*w zz6JnNN-JBo>^g2@(~Utll=_?_#N?p2v@NFERzmx-6FD)l_oXeKKphvJGgdLItlqs{ zTC68i`O8kdRAHoSSH{ zXbkm^gW`F6yMZ8zb-Xq(%aX@u-klIhkA&ydKf61}z%4qgqFWjTHlu$6F;+CTJPMQu zOnD&8F;}pw1SF^R%=WK2gcbr$U~D{xTDfev{_>jk?+AE;o*A9DX33s&I&CNJ&EdMh zEKdizJwRB-EL^82WJcNnz2vblTRbinms!@Wf(5r~x2)OANYI_yTr*FbTWnmh5Y~iD zc6OR)CFd=Sjs|z`-6E2vY zM7IjI7PtJiy!dV0ce_gka9C#t`4T96+i1yZs2yrDF^YNOiB$SU*@{9Cs$MPGX3Fn` zq;C0&+WaM4L@8XeO7J0jDbPO->O-{ee?c{T>)=pMI(&)^#su&$@B*R&sU(Z0Z3T#+b_=fw>XJK z=dd^u`ZF-(ERJXsOn1 zz}b5D^Yg^cXUt0Aeace(-79B~DUR1;7b6Y|8w-cZwjc8t)1p!pxlQr6IX7Wuv$C)i zR*-UXBmI%jG#{ML%IHlG@CBbZ&qG!mdZMX~z>N1dK}7~f!eK}sKBT6NtPWRsnGQQ| zG17ugnaX+E0huriJUk}bC0n0J_f4aQv1SN^oL+MBxpi+8)O_!Op3>iYgpIsl@H?A!A+R8G`Sx3 zrYGLkXHS^PQ|=W*05)Jj0F9wbF*E~a@wLOwaUi&IaPFHq5l+=H_(!YYI!&M?b0Ynq zi0}o!cef$1S5O!FK}PJ!-9%H-6$2F<=jTKG>1kl8Bv|d@ZTvv6`<^QDJuj-Ocy29b z;LLC$sPi9`%xH~2=oFmq2uN&Ac%k=!&8cKc~y3y^NqL;s@X@E4e3c&7I*ioxms6FZVr-zugh=_ z6oYpH1q=ux*ArA>?v5t?1}1@}kduvZ#6kXQ#Q$kq1Njo3_;g@+_i^Fm1d_ePyfwJn z&X#Cq#3^VvXo&30HqF6#w%@2yx4y#gdXZ=d+lm$LiZ4>-e9%ve*6N+)9vkuSX@T~&HlwzJ!G(jjoR0DOPNpR+-E8( z#{H7tvqw-a4Exh&YrrYSum=3a!WJ&S zihiXC{#)@W;y zv84R*CO<9tfbr1&^2pVtrDkz?lIAG$erG^ucQ%A{6#3SAN$(h7>Z|UgeR-H&lIiw> z1TyK~0kN#5y4!p{#DGw936&H&!A1I2>)@kFunvk`}$k8|V)dWis^R_wSS9n?-udglZ;wOSqURDVnV(RI*vt<*NuXn_yz#LWj|gb!aP21uaKQ&B_kdelX&!TN+Ie1s`cw?(rrjf-j;2=9xOs&%{K; z#B>c&ENHQMbs3#50Ok9qWxCl~l=|f0GVp2L)n}XBbpNe&V08*Ec6s7NLH^5UCQ!(Q z|I}8DtDxm_TNl4R$&^Ma79PW^82&bm2j|EB20;LDyz{oE|2nbSmQnS6&KvV;I6SZz z+wbHw<%?CNwjEKEm80}4pReSCW7l$*&3G-Mp==}#y=uj#Rj);%U-edQH&iMltosCv zqkS4!Ev{82pLGv%{BknbSpCw&^*Vv;h-yIhpoD}yX1`=mx0-4B;r&w2*4G!p_j|P3 zAGyuh4|0KG?9(fnBFN>~lK{3`kMoqAuv^Yg?KO^>?L#*^w{_LOVZ;MMZ;Z0SSC}O` zKeK9!98DB+LJ3azGimD`$nxAZ$PWsI~LzS=O)&DI6 zK*+{sx;Tu;()n}wHMVs2S4R0C^YwN1uv5LZBS%LsM^`OJu6FrAitXF|YUkno{`RZe z+lU#%-oO z-myWpL=>481D+p8-0~z1b&b(~3p$d|XxaY({KOTF0(z3M^C=}XJxlIw6G-;hXLN*R zNk}rL(1;ilfmFABdx3Bw0cSD<^($*%eBv7Bx!(q)ztRXZI3$|{ZE{XrAu#}@HYAf0 zsN3CyFNRBxsLz0hpr4tfO@B2xA7;XD*aPkXU%;C9%+1m8e1KT%4&St_{L_szIfZKSFntx- za-VDhM+p~Fd0Mtn{cBc?L8hs2ksNFV4w6(Vz){i{F_M74bxY- zBFT-P{h@C&TRl@44@3b0?;4CP1srqFzdqfq#T{W0Xp1JG{b(7ML5zstl8O1$WDXae z@;MlUx;bY=<(v_nDHsysx3aKAuRHqgCSX8XK7plI&p^FIqW3{oFY!7?UB!prW-LDl zn+S|+KebTc0Pzfy{ahewrf{9)+Wgd%faD7O7j`GGC5YJk?_^=<4rl99J%*=>C&mnc zsiUgR!KYqgN_)syLQAnoXXa>`C9J$^++kV%SVWV#B#7Z^`6a6G`y;4>ZycnZb;dsg zGi}57yYiwU!!Ds61jCMelS&h+hQK%i>@QDlu&7*J*Mh|t{u#*gb1Ue#f2`EN<2q^t}QiK-D zFdh<0af}9`mCZKu3CqlcMsBuHpitN)^1;#CE$IyKR*~0aECO-}L|oYIa_3ag~`+w6Wc6qoNs_5X}s9AXH{XDPy`bKO5?V3x-YJv%q1B z6~mUQZ+g%YbrJ%e?L110a+RtNZgJol>~)JvJl(I zKj2huD}T?g6g2e=$x|szM@MOErN46-hi1RMoxlyxf5IPDn_B{rxG1@54@m}97{qK%uT3h#0~SLf^X zjKktn>C;hvqaGA9x)%{)HRrQAdwFfvSMBkBJXdiw!aaWknK4%E7+5k!^nZ{J7q2B% zNKPPBtb;o&?ZqZ1bi_*Gjutx9tIN}zAr8hzC0XaSMF|e{TSRw%>)9>-P0(aP16R~{ z%kGcKk?w>g-8(xa{XGvZOgYtm*iFmY~rBf9-byWTR7B<*C19wU(rNdQ`Ej( ze^8WfuY5Ze7V5z;X+b;DWCv z68IHZ=D?VT6rCaA8|B5qm`j@u6${K!{uG@vJ-97BQ;ypz;d0vic~X@mXaGnq=;l+{ zyVOvYgM(kW?%dYG`0f=H*RcmFE2U9dDdGR_hAhmd<~4_|8l?CuN096E*GCk)NC<$7 z`l2Ua(N<=MHs@i;st7Vns=pC|GwL)4{IoOyiFu1#fdih5mx#bzwLYDotks?v6#Y@tT&kG{35 zzGdE=38H4Eyz6+jlpJok=|)mjg?wIQ`E-uL@ zBJ@3|?Xr%1dN-TNVj=NVDN6LpPI{+QR(VN=0q(CnUL4yl+KMkvcU`*PuqDA+GJn_!Xnr#CoS^afi&CP;CFPFA4RI~ny|;J1QUt3ouWh4?lBTr+BviP8~wlQnim z^ObG$b!Tn5SWbRzI%m6JVfyjlo$bZmsT1bDVG0V@2`wRXsICTk5~+cAJiU5b+a9uC zUs^T>sKL2{cthO4@Dz2Vl&z)qy$CncLJ7|@bZ=Wc=DjgT@AjQEM>ALK^-#eKCwOSJ zQ?ZJ--hJ_TWL9!@+I4zVjp;&$g?|3aA$+J<(0*B1Pl*z#3eR9%;VXJ}7y9NeAkEs< z-zCZAi_%Qi^Q)6aqLo0L>X&P`?3pTo0ch#_(X6?B|1z@`zRqSnKBG^1oW8uYR~jVg0GPB#Bw5cYjcxa>5tS?;#ygRr8Tv^LCuTqb}EiJNFS0Hd+v~& zp-2-nPh(%*$t{$D%F`beC%p1)aF8h<=Y~q6cEc^WIvLF5g9qYyjfk<->z3BE%fXh% z>&D*F@a>>}Y_xI@KU|!p_G{Fj;-n1Piiq$@>fg+fa`o;|0~uW$)PwjZel>))`^TgF ziVHS(X(GGyLhfMD*;LTa&6xj;hOWHBwv=O^CG+XuPcrL0&qnpB|aLA$zM zEQa%anug!Xu|648Y~eDV{|J4UhO^Z)`DApB8!k*$K8JlV-JHACFDW?dMZ=RjrERS- zh2I*%8Qymfr*>-{EQDzO)MWX@}>0tvfrc|>&04tE7-rQdSvqA{mr`bs_b4* z-jXhAEQCjz)q?i5TdiF+QqW5?d6`!kSp=Fhehq|Y3B(GRS_3J!cm8xBFKrsDFQxi} z6PZFJaXXsTeG)09z3#+~{I^yF^&f*wcMd|A@UFoofPUO?@Q>M)kCEp9}Mn>6i1k+|deN7&(Yg%fx zYYh4O{CUj_GZKkC7e2vus8d;@M)&=Cso8bXOH5(p=tMZe1%YQ6M}7wXqYK#Th7v9) z{8ZFc40*?SafIsz#vX)GOe1aO@AF*DPR~i%>6+WiLY?Q{+@{_uJ9iz_7P2ASSD&n1 z!zZ?N!Y%XdrS{b(SJJnwwEeR>d!eh_KS>iS1uQnT)&h)$4|k6x4`X@lJ!=jFmj@&F z377*Z!6Z!CL>n%})u@811sihvQRVo-wrm3izrBHbu-#Q8_K)oq^m@3pJI*W`5MBQs z;^=@Ws0#ra9-HGMCv1w!Z~vUZa{Goc-XmRiB6B>d>Q?d{($4=TgE2?gcQPLT%u!*a_`%139Gxm8cbmh+4z9ZpQ zKhYG0@_5K?NOD7rM9L0*@j(i9BW{fPdtbeqCoRU_K`yb+d$q2Q2Qr+qB@Fk+b9#H5 zw|lVOv&-^k#;KWNu(LZ>#W$@mncYZP{^rgK`eq7H6Oa)VJQGBL$)mD+=~vD3QfgBi z_s6 z3*FUw&Pnj?wjpFW+Xt_Vy3O+DpO@FqSmkn8=v4&pva)o zBxqa)XYvlhA71U89M};xHJb4Tj+t>(I^Q`cYVoEss`0>JH+1{yqdJGXYLcz=B@J=g z7OYolX!P?KF7h{|E_mf7cQvl1o10BC-WqL2Ou5Mfe0o~d3Lo}AShPpTZ_hCR7W|RO zg*Uf(V34n%ItS$ydR_S)Kj)mx$2@U-;_QxSIIhaa2w~Gggq*nSW1I0vSlGRn^Y5wI zZW*K{7w9X5K|+9a0YVKMNylDX*-4&GqtS^+aY*ecu2PeBN{v@KzR1$?KuQJcw`O-uS!-#K`Kq{SMMZy<_au z=Q0tbb?}4~6xCYKGxoQ zMkgya9Mt`L#`V`DaI3M)N63|!mu(x1paiqVgB-D{`d=zE*gxs-FT-{1J+2y8!h^7f z>F~sO&|}1->ZN~yDstn2lYl#p>=rKuqx)4%wp@rs9@b&p;>uZif2k0}9{XWLB!N=C z#FD}I4!SC{tGo$B8d>I{Kkw~-p6G_WzCbOTc^fXHT&b-`5D_DiKdT0vV*J+CgJ^ni zPG~>~^)LnCx0225_49?|F}gh^uk<+mhAZbsfg|`E+;68$1T#oPx+<8hIf)ISl3Wrn z7AHh`xs0n^QO5A5MXlg(JUSy!H1cQj2*gBl;A}%9BUY@Sp2qt)>iMs%sQHkUsO>*& z@^)?#_OD9h#(4Zck}b+0(Uw5qS{zzv%HMJINdFXDW-*?r5M~l(!Kh4_db5U_1}s_G z;usYo@~h;ttS(-K3cy6(KKMS#;xSt1s@%0he3Hr`&{co^HC{)1vn;~%C`6>NPRSGjw?#l_BB{t-5$h^U zHE(@u9LC_PEMEYm9$R8l=C}2 z>-|gKW!w|)N|^_^;WxAiuO=%{ct5!Pa~cPcDJ`j(BI2rtBN!HAI28QXA5KA4iXozm z_X4?Y@rZ+kt5swO2~fB(TN)|v(OLFpg$ZLH81n~xiY!p&88?HS!b6gN?si_$C=!kPK4kswz^ zctrv6Ovj~7loBFaeXtZ#>6sH_DTYdBY?hfE@=IN5mJ?N4h%i1llS<^XR3ujCZH3K= zFkR0sJt;9RwYS138M|dAJXLOOZg3y>|7p8B?i>sz#*idi-AHX^~n+&oZ_N?(lSRX?tcJ5_v2-X_vm_xR`PYtVs$YabXlrX z3thAfsGJN&8+KHtW&ZhvIX#DoLj}Zlgwz4gJG$#SYRAEK(Gve9i1+a?YsDMHWj%;q zSwDo`WQ>)K_{PVtDCHT-L+%C(pPr8$`c<$WcZzenqaN4mN-!7x93tEeb|89<5KAPZ z`>V*_knEu!$zS$$MY*|OJMo(&!ox{@=ScCzq=KGhCrr40(YGY3imv%u<` zw$Y|fPqFEYdFAiMC*A)J!V`=vzRAD<05CWJK=J<*gbi%1jQ$gVRdyWLMG<^XYF6ij zz;NOyn6rxA+`7gnaE^H=&xW4fUmAwc6?e| zgwba^PW!54?ICW4WLF1A6X*oWQBa@6E3IqnR7oGC+#0)v;||~+2w}WlMHVCI^vEL# z)kz4rumCqMGhA04n=l5B497 zlCt2L>n0wwPJf1WMM{(?|IfH^&~>O^3ds~vNA&`Bu#k+^VzZbKpeuJ*ut^4iO)ZZx zyc<&0+dp+U31S(i_hyGCQnRwZ8BSk(uVLT$I{n=uXP|0h>(}EdBa~L7rPWcS{VRkA ztPqEb#N8}uv|mx9m0-d2@z1!Sh1W)qwWZ&uMNa7N{S`QSsz{a!RdK5A-+wlPUO z^WwZ>yi-~g`&-bYcN;5-Md#`5BsNB9Fy-Y~2X4)81ydj0XxPo3P`K{YcOLcJpF1K^ zL`uAZ>P@`GELZ)r=|6Ok4KXa0N(|Dq$7v2r+a$PI6%SgKXC_t56s z1#RZ~`11lc>ID8)pUrmz)M$?b5l`~KLN9+lJVHi^7O{sg{wzI-mN7m}y7hNcnUejgl4!u=BZ#GB@DWv>f<6>t64q9t~PQGv?H$!Dym%+@{LRp_6d)qO_ zv^0&1+Ci5iAtPaCoim6A<%Mv7OC9_E%BDxJC_p$`jd(o)-W=rGSzWHF_V7TJ<-{IM zl5TqzwZ42+)>#qN3KBUmz%ISuV+jsNc=jw?pq09R0<%A>(Sg=cLQEFf%6L4Gk)uKL z_c4Zv#vGTz=%(jTJ^w^ksHn+Fx6OB{Q~h7}cULw>_}^k}xKTA^FYrC#&JG;km`+$! z)r+V?o)}ri+Pu=*lc|MgByJ0s%DnOdmn zyGXopzD42gBH>wB*XzU8KtHj{ep4#pTzz;pZzpSXC=kZ`&Zk}4de{t?fws4r0Lt{R z{Tz+eigelsLq@82Dy#E;OYwyQe?4-wUlWOPS5v00n^U0VM{EEQ@J3#_T0oR4ow?R)gt*1 zO}N6r_c#(FFH+WW=e3~Gt`=>u1yH;)WXtbA`u;W%B z2M?dn{pN%|X1-R9kBA~&mrC7Sdn7`y2}?ADLecmS3@VtCu7CcCU**m1c-YvsPVzS>j!nE@&yp%yIqt38GjZ65e5??mk5tI_OJ}C2%}% z3zYg#Q^xe4?Ub4TSRzGs#Q(;81{AzUMl~Cx#*}PQi@U9JczHbhoiD4u_ z5%R+?gq~=L&qRxszYpV>!~dB7ifL%f8~(kHHS_@A+S~0Byh4QJdP6N5)OcAV%<&dV z6$Ot z+zjNuPF{rRCp|teLu(b_3SOBFndP5(^Bb+Pw?(MS3pSXY9dK$(A9z7wKaFR!Oiaq? z0tSOc4D1^bQnTL$e=pY|;Stl50~Z}6b&;aaU+^hR^B5l@OxQcQadc;t*`@F06mLz+ zYOv~^Bjd}yvNwyZm)8TIDN$$Q&XOl|Fa*aLVTNcGXh9)ghTPEt;_vp1eaR`g`-xLN zHG#bh$3;f$q%H~Ub=of5`GwV}0kutOo2RpG0&zF|${5R|`izD#ZznFZ0CSiiLh?u( z&!&zBqnR$W|2 z`Ul^Y(rZ6q^p##k3E31nR}x-)yWak?8`02A4o4Z0kGe5q@@vM+vl(Dz@?xcOy z4^Vym7e?5fQxynMe83q*%MS<_r*G3#`&C3w{vcex_{6z|#bMj)-?h?3`@42oxYzjB zqXJCs0q;$9SC$4%;_}Mhtm%{6%N%G`|2C-BS@&BVAMpK^<&*0CCX~hXER<{I3_gCz z(7r+b*C}o%*dv+-1_V_3Lx7Y0PYO*^RZjLtowcglIqY*GeQg^srz7fE5?j&cx`CgE z>lUtF0M`a=*)P}1Q!o$O?H}5fqY;0-$Kr>l^CPHr^`enGon*FKj2(DT{^7F{5sbEk z6-d?~5gi09LyVD5s;MMK+LmcgYAu9WthWS(^evQtV@iCE@ZQPqrk2tts0JpbV+JU2 zkC$f|`0?0S{fzJ_SFkt8Ka|!_nLVBla!L$ZW2KyBJ3ZM>{U-u4pv>(=GpJd{H7H9l zL(iE7ix57Ds3hb9rP^ew^`&qml2TMGXX*l3f(IKRfYc+{!Tro2ZO!oL=KE%fZGl0o zgQhd0uqjz8^%CvTibu@|>;)*8L){FzkDQQ~h9n4|QV|s(%q#3Awt+^H@@)!@H4@slhrD?7vb6u0eL7WMSD5AUqiMZ-B4wMLO z$h!JWWzVVm z>;!I85J@_!N!2paeAqIqcwD09$}Cjj*xU#y^0g90-X%3BNWc4E zgB3IMn<1_%cW7J;Hh3Q6D6U~@qs zCfO?4Xt42=x==^hXoHiu;n!0_Gw|bKQB)$DHE6gfz`4<>lgoygM}DtKX-=Xk9s7Sv z%5@Lfne$Fws^cEcS8_z$gQYj{fq2lrmx0fQzR!Oyb8EM9Msbdg;4ffF6%FB2lc*-{ zn6AsnZ31uAh)NfQE@oixEj0?&#;Lbzkr@8{43nqP0iJ^`HBfBr6?W-bg&M+a7cGxr zO-@WZs7LGeLtA#KFyyp=okVZLxH?Sp68p1`f_nyYT@AsQR8lA=>{Oj<)a@>2i2Xsb;#_V{1$@KzzLqIv zPCyTvSd&H#Xx#|ADq9YMpUWv}>7x)yj>Jfi>aE?{sk{@{#oB?;JSt)&+2`-@>(>z3 z#IOc(56xLt9PAyhtD}eC;aTVkt(6`QZ(>E)v|jYSdoQF3M`hb}FNeC8N|F;Uf3|!- zg!bzM)01=2_1r|x4+{1#H>0Wsl~s$?0BJwv5lcNAE$!rd)ZM=&nDnz;98SU35lm-+ z!?Eyq36cy74+{c=3>xu#2uj}Jp$pzQTB8@o4O*RLAAs6&lnAN6ASvWiZ$9?KcV!r~ z;;m5G;9{Rz-VjPX8k13@Y_1{^RAuCam_Fz|VhJ{yDB>62$U_UKMRVEx-fpF{2G13h zg06xwn#H&r!)jYj?JCinEcxI&dk#oDt9P}T#>=k!ecY9h6XtP_+*skjyB_<(M645; zMI067{aiEkk^=MTdb1Z?=_7{LCR#Q|LT+B`={gPu+m9?u&IhDMn1=tr~W?f;(RQ z>49;lWn+5hzs@x`kW81(A9c$2bH$VKf0}D{W~Np~?p8Kd^e$!|ZYKXZfM)18Z*ZXn z?A+6`U5F;(gM`?+cb{DZqn?JyfzT&h#_~bE8&)@xYovj~4g2qyI5#GU8=0qDS@}Mk zo&I&9Q~G}F_mP);3Qzb|71V!LgTM;TXB0&FNbFPhYnPeFjPXKb@M5{vR{_BDeJm?rs;_xFGo(CCSpvq2C@HS-ViX$lb3!14Vmy^-;GUrty{RNyk8pdV= z4@d(}eN;U9(5o|HP=*`JaV%`IEI>(1fQAhmm=4uM9*d-9a*P3Bw(YIgC{CsNXwf2@ zh$ohFk&cx|%A-`Zg<0eaRlaoT=gXI~XW{ChF4Tw9a#aet*l%tLzk|T<$b0V-mjz0` zB(ii$BuO2jtNpZ+8%b#-m*mXPs zgT*2o@E)dJQQ{}TabM`8j?&X9&EPz-NyWcJ-U*aJ; zE;?!;SX{bL=9&tppg5CF1wrjmyFiBH5s{kMsUy2h(9ZL`SLI8P`_UQ+c)29Zzaz*! z&x#}U>nKf;RaB3fl5EzMACr?^#g{j-bMI@7*SS+I?l84-knXx@3T>3FR=z5FD|6^} z(0Q&FoN5sT#$ZkD3My2sd?-hzw91l9T{j`mXK2+}q&l3Cd~S5#=jd z4TrdW}SPj;J-}xln`lC%4N03cWlyen#?vrOuTT$JCT)Icp9~W zu4?N0cET+c*THNncRjjQO4H>^rt>a3Oa!Uq{Kk_?G-WtPDHZCO*7GJ*@f5%ZlRzr7 zx_iRm)uT0MY}(obJ;mlNkJvF1LEh#o9Q(NsB52i}z{gEujGb;d4NNvnZCMNH_Sc&b z?l@qTXcFpK@V};DrWCkR?*fY-GoDq)CqBV1zJuF^`H^&kFrp0K?)l?4u>=Ik*g|ZQSD|%+@cJIxMW1`_Go>9#;Q@MD4 zX7za2DJ|J6pD`B-#61RF(Rds1aBep3AgZ!hZI8Hm-qaiC6uHsCPPC>VX#Bb}L&|6K#eK%4E-? z@XVrCtseASkjvpIdVN7m+C*Hap38mFgtvyvm}mor^kOB~&b355k7%nK;KVZNg)iHU%Em9r+HJ%I$9-0Yi zeZv0NzrZkzjx*Vhxis`C~#``ujdxx)EjzTvvh`qr@=8H}mQWM$Itq=+1sxeCTrAqWpx$c{H$+&_kGhGLvU{@Y^1FF||tvNptFBvKe zX8k?o1N?wY>{kh2or&^lf5)nJLSyVZ-;g~d@#B>5>lfEZiic^!ueAo$m)ztsKjD+4 zn(@UOm9iaUmzvStgVFJTDetSB&j$A=y1{n_iBwBsiE3MeW5>6!1dNp-B_2|X+0=QO zhH}8Sg|EK}=C#{GRIOQO*3iEwf%05FG1khze?n>+TC32z;w1h2>NjLo}mR3ks`5htNbktjg5G9*_4-seUM6-S6% zAW7wm2jg0}&;dKn@u|$MC_So}n=e{J$%f1txTJOTT3Nx^B3iTMh~fPsdqyTnYlf;D z4>3I9vnH}zZ=QdL#t75$(wu^`sBa&L89}!%Gm?D=uZOG9B9y5X;!|8Y8f_P(MBBZm z%_Z2#raon66<@J=F!F(jp1_wEj5%w>_PpEfD3HaOo8CRYZ~bNk?7nAojFeB$5(o?mXH^8%%@F`%Oj9#!Z3;>Od-Xo{kBXlEHXGv$c)<>^EX=aN1Os}f! zz7gSe+e7O%_UzhZzh{xlR!;}XE@Uy{)Fo9i%0#004vhm2Vr|ER&kN2}fdy^f?m}|N zJmEuCdwM{+fnrw4ZrlmY-POIr<#)G_kV?tT=dHY0<^Y760KfU(@Chk|04iD+zIr*+ z>>WdSI#oApuAT>6m3b0We+l+IXNBw+Hdgc7uPp8Qp+or9{!yGbftC@^GmP)|c6X5$ zWol^^2lYDzMW{-*_V(-J71HLteEuG^DP9Raprf!(pc(QdZt!D{1)ftt=Jksusv<*z z)!5Md^PaNHMQQv;?)6|Gj3Vl~!fxd>6GMFRmMwtD%FAHNjo0>oFT|I}dw=VzjLn9S zHqGpCt6U>^%ZO7&Yn?r8bi%T`#0hs+f(v@hgC}#=VQA2C)l#*OCgEj+{rryaqO>bC zBT;Hr#jQA|Ry&fW=8C*Zk;Tt$=my!Ka{o4^E;V{W+xG+boGG>^I4P7RhX;1&e!o3QW}$ok*tiGhZd=b$noSrus{ zu3XGpt$Z`Lp~-uA(XUz84j|y2w(;g-$j=#dm8DWsB}+1(O&P;8H>}bL{j-F^ ze$xpMITMx!@kya&_>c zK)icOB9RmzGP|^4t6Fs%lN4Wy(x(V^1Wlssqr*WSSdrC1U{kt~cYWe{g)F*pV0`o| zwBf-ZUOwz#q9Js|X04m7NI9s$-$J%v9X3WjY8s?Ts1JD}5SEBm*h$W5h7S{K&h#kg zP$u=~2%VQ;PX>_Q+lfFor6$`WjJ06^*I9)7 zuqz|wS`6ruaF&C|Md8o5T>aW|f0n^{cYekoE1H72)svJ}uJk~}Iq*)1prob4M0q5D zSMs6u_#o|$v5LE@t?@uIM&jh!>5#$@uS3Chwg2@H6t+q_}$EZz_8#q7fS%l@PR zx{LLTmzUo;zw_5m3Ht4h$j0Tc%CjXVz~UpjJLkjr;*3Mc-E2U>Zv>Ajp!84<*&o%3 zpR;(IE1VJc&4oSvOsGNm{!XavF|ZVo!q%umh~M{F@kb+%x$D<1)UQO0zEioJ|;~T-n%1R*f&V zfU7R6;O%wc#;$9&t9yDYd!Zy%PdtM<{x%Gn-rhu5j0#Bv%{4Mlx^YwW43?6A$0iQk zd>p;OX0}%Mqwyb}Y(d|Fcf<@AkExQgtjL=$AX8}Ao2%H)pcSySXQGLHaCAXa7>a9V z`MhZikNZYm`Tp4j5?z#Qn#nfZ9*(RUzA#nHDJW-T0~=oorCYCfiza-@_IWP0$*rK6 z6)o>8pZi)?_o|W3^=hxtS_}g>H-#qj?d9Hf-KwHt4fl+uQPLHcOc>smkYoXF`G?pv z8f%?qfZf-?H;ndN|9@3{sJXX@n?H)L8|HtJN*S5B{B%0~NAvwSn*VPSt0-y0nDQ_) z)i|bs=--oT~X_LJQ$+S$16{#jQnP7eW5I?3~~NoUA>S#I=_qq-&hr#$zcv-%c<$1MK>kuhqx zuRvza1Do~m`guK+W1}pXqQKIu+&kYsI*nsK@_O67X^U39N z&BiUiW*(9573rv(Q=E)_p;&F%}p|-0E7^ZP%BJ;$(UzeQG^?CyqNw$v-~%@fYg1e0Di>m(cXsK7Q4xX zenkh0otgob!{GE?=+t2Y&8#s6npkB_o){j-f;~Aqx8aPz&qt;CC}k?!)8W7*l-=eY zGVRTyF0WqB6)*&Qw|vLXckoU`m!?fj2N8n*;pgJBJvhLR`A0FNE{tymurtd{jAZ3a zM}F#ws6GaCKEM*}smh4F$XN2A{V{{wO%BqC?%DnQs(DOK(E*mKqhZS{idKe#7~l~n zW>lG8j29nwNQ2Ulu%_0wUMTWzb4ix38TW=q595=4Wew84IbbziL+_P4Yusq~7kmbg z>#`ud?lK!r89XF6+)BT$_(n}@L@UCDeof#MOEDDIP_jExzP`x}*BG0b&X5<^?N z62&&v#~M>t!wyr%q%|kyiT9M_$B*rXfg;e@ef-6Q=XvwXpA9c`cIwjcWAFSP%l@5{ z^K~sr_BuNF^$c=_N5vhUsL=r0l4Nb&iforz-$=y#mQ);UA{Ylii1s%mtk8Be*4f>FssgiGkz6|oM^R7;IBr6`z#wem3~<& zJ-7v{Zn7%XcK5ZXtSV{@>o{;Stu?dt4WxmSCGyQ^n5qc|Sf>lM$?bPT_kJgM2^FDH zR%F}3B9XDbfSScEP?QGwIBRJAOsvf714=ZM;s#cucOGgz?O8dXemufp_nnb*aBo~M z{X_%x6!T*TC1Quddowx|R#a;OMa~!DhV7-Gl2y~t%i(h|Y^9N;zK}z9!*&mpPqk#f z_^jARh0{NA{rZS&FXtB*J`D&#H2JPSv5#L*LjSOCZ$M`^|2Od4XxThR#W&akz9v2k zlx-`gy>_iSu!L?J}cKE#R1 zT&6?Jd;E)}GeQ2JT+*7G-fr!uoBHqD-}C>?7A+U_9m@V8B0X9E7hQG2aw^WAc0Wjt z^M6L9j*iOaZ2Og#w ze>O~_=eDP)eT~>=hskCYuFnk0uO8X_^=6Z(9DL@u6TY2WWl6ihVx5~FKIkSURFaVA zo~`o2orKncP_U#qO!kP0aE)Ikz7I%G!=&D_LI;BqNx%7>vSzj;7j0c9_$`%YVVRur zOzG&-xIz%KLj+_~XQhD0<~VrD^AH6mDaQ|SXZ~P}Sg}nYgCI=)g1i<4#I2S9!S*C^ z8I}B|P6#oKW-1Eldtozc*dI|C&@RM$PpJ`Y+YOS=ik16fkV?Y72f7}NK=boXN*pms z-G9+yN_$dJSpDZZd?3x4M8_4&vHRfyV8`2$9j7etV85`z8@x-1sf%I?wwlwAOb;^e z;{^33b&zv}4~`jPO)EJ5M`zlQGft+Ex3)1wb&?s*JvF2?h_-0=81gy=#FU4b4C*dj zR|aXiD_>tWo^v!;{jSh%a6OTKwUz7b?9ZN;w8_iT(~GUQWw5n9;E+Dj`;eFjJ6*sMlUkbEMZ)RgqJ$$crip8!t~y)hmqvG^HRoso2P6*WQ0swq6qoh zdH#i)pFG)Aj&%o=_ZwmME?6vOkn9eH2@%wx^WjbG9gkzPcz#cvH)9m>rVj^BF?|Mx z+|*BQ5uYXS(mnYPWWm2y#Q5*gN+77BgvWWWScj`E^bWm)^X*X0*Vp)x)d-2{X_qGn z3P~Z1vMbz7ifsVLY9-g=Zmg_-Xlp8U=9q)&o3RNX+rcy|EYS1vZ+qR=DjOmxTqn-r ztByrGlWaVzUQa4@J9FcaK{MA zXvDc{MJFcqIuiJOnrbJ4bG}4Ep_THX*+fErFl5KfOwV+MQu9#&od5v`jqJbOj%mn;iay{5XN(Wy9rXQ$TvacRzg;iAESd=YQ<0o$`=hIj$N z@VGFUjmK#Y;w%lc&H$elEy8C&!#pmTBp8>AuGDW0aNF~;%sc}Gnk6DnX8OReeH8eR z2pshas#nC=;4Voa_$?TAm|ioKx#xloG0?rjMO@h452pJ;utl#mE{ow@U=L?+_e*)Q z>@eY3xGRrS-QA#cg6jH8p+JL+n>D^r5J>ArNzwr)dG>7b$2*Xy_O25y`D&5T2k`T# zzXg?xXkVlMl=ZnEY^VlXb;;6}Pmnc>=psRrRqmT!F=!3KZky>Lp?Rl88L5?>VwN%qr!5 zRyhmAxI{5`zcodSmRBhktXfBdypW4Kslj-63-BK9H5q|WOM&o08q0)7uH(NtC#o-nJ_S!raYp9jbOECqPdSQ)25xT~-lWvZYV$2W9(XhOv6QxNYZ$$lJ zYD&ny#xN3(!J28AGffTNHeES(E|Y4Jn8AH z$p#KY&Veep^m}bC3?E91Q>mS{^Yh8ZSPRTE=OT?YSXb1v$9v9PeJ_w9l43qKWkMNQ;GNv|D+9G z=KiY)Fnb&7?uC`A=bO7dtgY*9p#+MA9#OIjh1K4YWh@ple%3u^3FMMKZ4LaBYIHlR zD_%6=z}%?&8^vyxKS`Y`s;07rw%DZ^S5X*Av(t+u%IwpZD#c=`@G_Mf2VGS4*IrRI z53aO}8ABIK1F?01Q?2aRGJb_F1dAAa>EXobWP`+yyH}ErTr~ZZr0AkHrGPHIp(x7N z51!a59a+(qbR$cGOkVQ_#@i7IrzBrHrL|n^#o*xZM>pf3k^T;>#Y6&&V(!UNVZ0^L zaKWTPifM#en(N$ z4%>=4pQr|Spc=ZPeS0GG+~`hv2WhIv=+zisX!6u#-j0pd3bE2dagh|Nqv*Ao%qZoQ zq~A!c3{Gb141rz**zx8b!W1=ccJ{v_@eeoe{{m(YI_g#;=tO%f!y_DcFZq%CC0R}l zkIQ^o-03ELC#`*{)Bk-0{au<05azBt06gc)p-(L(ZO)0oO;hQpi2jRO&W*SqL|{O6 zwfg-rs$y)ZlRKYzv4tc{EpuM6BDqdku?L4W$0iXzw#ZClO^TwD?{#M)BVLi#5r z=&7Yn<6X8X{Th9&Y}1OiwX!nj@QG!tvkx*C@yTQPge-<$?NyOKwYM-Zobl%2T#y6P z%jak`YwQ>$t~dm96uI>gDz|LJ>{lxqgG%yE0J)k)yV}0t_!@t=m#tMe!KBnhvJL*` z20urXo%-J5)=DO?qVgj__T#|vIgKtyifX#xVhnZyBKdk9H+c8h)6@De4zEci;aXtQ zTj1JSlvA~o?<7LXn&7_nCrK6U#JJ64v{0)m!*EcM@7TK!Jo(z#)h#=kjkZsX*=%am zcvzQW73CsH0ghhkRM2^)ZkV`GB>&HA(#pgI7T>cp?JlL0;lv+IlyuL7llSZOK35ip zZJ&$Lyv8tXlXtgW*}Ebyvj%Y~=QSmKc=Dy+Q7G?rA2YM$m)JWOx(j(mHR+srdn-!P zWwGs-xxmZS&b8;)7|&O~(je{%(Hi?jV`Dcu zwZp9?;16j=C7%_OE*FC1<>*Zy`?p?@ydlH_NvLOS~5 zP;7=)CW5@~aYzeFK<`l0Ou$lHdJGbo7-LfC<^lLWYZ9@FO71twq_`{6oV2eB;;PJY z(oz^{HyI0Zr3$JrHe|N7*7ZgCiEQV%(+o`KmI@f)Qr(OKm6yd;e|a}5QHrM6h*+H< z(4V=^lNqdSlOm3EZCwgQ>UBs)tHy`aqIWNxo$-wImt{DS*Dd^hT*lX3QTlntphr@0 zq)_D!DE1IcTtA%66FJet`Y37pJ4c=n>m`eAJ&BfIxxQ9Gfg-b?W|J=eV;kX+{)Ljx zIj3cOYHEgd^;}i}xwNLFSOykUQPzn2cvyn9nH>MHP2WaIcqV7S*9edr@4wAWwW(-n z1%#!-Q>XKy(pq!XZ4YZ`fFGwA$d_i`QEV$TY5v{e@$jK5n$dtfKlAM-2Ot%(z*>_P zli;pu3a@uC{7YWb#lU1;)7{@1IUe3)7vSd;@bUS0dEp8a(b0tLIp*JIBihdJ8{w#n`bVYem?5e=uz5ES71{tN7#6R!2wW_R;L+&#+oV`0>`3f3gbIgg1$(_!dSDTE1E*I zx+G9km10}zgxFNXnL8sx^+ai?-z|^BfdVeNyH-%Oj>+j zeDtd%oc}imD4$282kXa;Km8%vDE}w&!_3~q*1`GzbaDUx77$XGy8QnElO4}N?Dy-g z7D^&=OG8h9TU^rCC5t4Koq`6weSe)V+bzPcfen+CcAw;Vmj?NsUO(>zM>qmquj8u} z9(D=<=ZR;W^_j~oE6i-hP*UEAKUQNxZyT`$m{j)>UVy(ljxPdJEfp-^V4c=+xU6RH zO$`Sk6K8${E(2eIeGI)m^R^&8>X}t^O=&Xr%7L1hkYPRrLrh9Q1rmPVsCzt zgHpqmDiYYP@ac+9Un6N^6)86)k$?w*(#J%Jd#0*;)eARgkeCd@#Uh@xnBu@hMaptj zW&MQ}H^wm=L(zoJWVvjwsY8!;`g1j-rs6#vVxE<=A&|7-1-qjwDEu!}U$oEzLkE+k z!ZlywF)Q@?T@RK1JPfs}=t6p5Kf0O_DVMdD+yDb-xk%=X_P2V~W6!t0F8$xi--KlG zt2lofAjiXh{qlYDhHj?OOTkK-NJ+@TtW;{WKH)178LE&imb;>|Al|CtB>0G1P{qM} z58uTBF84Zmkf$39rlKN5q%cfDAw!ZM9YF=_L1bPnvlbCP`mKebjyzu*+QcKEL1bKs zJ;A#0+p7IsS{V;_|5)257ct1NdHrQN=_xcOxCBjo@b%EehZ+Al(xccdm%MC={7cPI z%AS!h;An)-RAxWB0UipPE=}^f0zP6w0w8C09Ed{OYt(cR9Z^kFy7gz7Z{oWS2t3|w zH>Qj!ljp{qEmxL58o-*_+uf5lICFY#?ZTWLQ|{;qUY?F=k-UC*7v$z(07RPS+e;4ek%KReIN_WP&sM_D2}fiR-B|{eLZph;-Z@z*1?4O_k@Ju zb7JbG7MfB`7JsU{N465gDK!7um7PM2j;rK0y399>iL{`!e^us^_?LWy&Z-!cEUrFr zGy$H2nrY!J++TfcItn9>FR{YvLJBQ?%VwgP1&&-GHg}y!C+__j7P(~YF^Ce{N3paI z8UUq1shRYNMq)ap_-9VWt3}5?c6;hxe9>=Tx;YdWA8_sf%mcuqara{ri4-3_Yzem# zv5#qzwWaDvSgX$Q)KGd@HtWC2kM>MP^nkKlv9d<~imXn4m-E#74a;7btmc|kcD}mK zRcI&HG~@cJG8RU56!2wP&Tow+Qf$l>SX#aCZ44shOQ^m?Rh5e6_Mj)EYA`!fsOA)& zv$Z%!vyI9!Cd=P1DEA?urx5x`-UwX1cD3UgyEr(tnDF$@Htd6zJp2apMDq|8%iTPK^h4Qm%9Zv<)*&Ti0*XM4GWp~;&vtiSPWg}(rs;MC#@?V zj*V-hArMY}reiV|t6ulz2XF8ECtADQb8$KNxTUH1F?&dODtQQ68{nJ@?cX&$#*uGv zZN49%kHgYi2sDs+g4aBYo1349o+S_Oxp$lE1OcM4I8GR_ZyPkXZ2_iVyi~k{Td{`e zw%v6akG(aEBDH!rB7R%4b(Q;h{-WW@GU{GxOR)=WwjWofH4sJh9xt@>qw-3(^!f*er7tZaRBl_lNus;2;!vEv017kA_ zD|-uogRA3@f7GgN_n*e-pRh9!aO|ZVR+KyaSN9izyM$}bh@G7U-N{B=Eg}-Qlq6LU zxDajE()XtuCJ}T}(tFyXsj2ds9-SNJ90LZo*Q~_cuM1`RkqqBC!Valcx(n#!SCKvtV1j|@&-R8?rk@#_6q&n1fa0i@DTs;tJ&3LCx&JutQtjGdE3??!jNUf4wP6wB+qG|o zBrilRR2NSpXBQJP&d%1CoscT_n0x123}HDg)t4?cT)f8Jg0RVOzcC-^l(8Mq(i=|G zEcsLqZobl(OVD3p^jr)H;Zz^>w9qfAc@4dZf-n)xX|ZKCMO%&ZWy>;_F-yIk?LS>U zzUw?K9v+(mT)mwH%vL!sF5b?UM=wVo(R+H$ldBEZ5HU6CjVT5knG#=AEpci$sMMi)6T_b1A($s74kfg&NP61Ya$q>> z<0}q(Hr(8myf=UB$4LP}lZ!#|xeRf}WPi%{zu~Gv$gB@9hx!@y%Il+h}ibX)4`QMB|3zon|>V9mz+~jtT=&xP-o#O+=m*f^p++8c=_<8Ia#gI)|UNnvRdXvilcdI1;vy zkB}-_8cJuiL_NYuo5%aC(PBVS0o(@xS;V*v4=vuiT3Y|saxrSe5B#2<8`9ImSK5&> z8;a^Z6>en;frT&B*$W-k3fPQRKpn|HpxhvdNJ;{@Ydq)4fNF_MDsn`+^Fk<~mUXRL z?D2m(HgthVtazb}sVS_#l_3|1^O(~3ENHb6!B@z=Y*Q;eTm9iEU_o@I7UOMq$C|bh zo*Lb6m8;>A=Vg1@`-urq8FEY5WyW(295M~(msya5AS6?8rggWW7(BLQI2~26zTRvU zJkztZ_SqbcP3@&3@`Ug?Q=AU-ir3DSm&(RqB1I}G?@I)gnfV0>m>#q!I;I5e-CcIk z0I9dTq7^V_X;lerHqz<$q>hpyfs$`wtn+k*TY*i%s`zMcADWeMZLWuQV(%X>zr`S| zI+zcyJFgo+Z9q78lKVca^I5&q{AJ5f19tSCFq zE)Opt^Shi6GW-~~lqv{*yLp>~?o=61$Kh@y0H3?YGDEOIDcd%n+ZNvWYgfF(0?H_Q;UJPZg@tnHfZ}2_%`aZrusz^%}&Y<@X%H zT|t$VU?5q>{|0B;2VwLd=Q2^M4Nfxw_WhW*Z`_-i_WJ=fVz+f{{{k5$A?o(42G;t) zvn{xM;DXk#6Z$fuE)4hi5|&G4gif2b&+}*VoiJaRVD7Dpg9hfK{{Z=BJT$vJ*pen{ zILyYz4>9roabjhsr%qu3($6Sb*b%o6f|m2Y7y*~6A1bFGRkYt|M3X0W77G-gk>vIc zJ}b{o$G^DN*>;Py=oX&sGaFY!LVDB_kg1r2l8#1AiD5RD2p_pnO__*^6dW0Ef+Omc4vA(8%!8}z(aW7wW;VDoQ$!#K-F1FJGDPv9XB0%L&iZQ_v)=1O= z03^y*pa}UNFFVEzw~&mW7`C`{ebb`NTqUq-PrgdylinNos=SW)N}@Q* z#SOqkB7$0NtT-GyH^%>FF7S~`6DWL{XfI#GcKvPy<8#JC1+3Q?zO7_iR}1mUG55co?Kc16hF>+(-@eT?1X`zZx~cxT>njapNv zvkmui`2(qPndR zp-+e=xEBnLRdP9^SguMStlLS>ffh<0In~nU%l;|OiFcT=j`WNu@c{iVwz`ac0v>i= z*1&?$*6@9lVEoR(=sf~)l;B>@L_o6O6e(uoJ+ zIrt%6$d7r>NX$RlNrL)YuJP?n(4h z#b&IDSKMED%drYbk^Jscl=9g9)35EuzdOU0Y~EuyD)UN30=qn0$?m$iiL#UED>;79 z!bD5$aC_vUl1nueuxqh9P6SjC0CP|&}A42ZUL%r*e zVk^xn_7nnv9#S*_7oK z6y5=|t?FKmn7RHz3sBRpku$eG;t0V)h574(`n!!L2VrZzyN6U|by^yMpj~cJ@SHz4 zy!54y?&{_o#1f74qS{oogD4E8{)|rcOuD*o6)cLEE&cKdxn1r`&9X+E4=kzsmeXtL zC?Z9)k@1p*R|joLMhH)xd$rTxP!n60!Z8+Xw+rDHySxcsBwWx%PWoJa9ln~qww$N1 zb2)2=!URawdbb^Qi>?Bz$|!zPVzASy!n^!~>cOSbD!90x8Rhp~-i8KiS{n?u*9<@C zl*)RBILCIk=UIp3%RNwDyt7$=rGo_H&Zr$`x1_u#w&6xX6PP3XGJt8{a{a9ZZ0t>k zWB6CY3U~!&l~EIEF*epe{NdOkMn`QEH$Ma+)U+BdopRd!^8?W#gg=`k_~5P=t0aAI z9U7|-1S?u-5X#$snYXO*rgt9M9|4C6eULWM94X3!sh=U_Sp6(5fVL4mzaVYi8W(>^ zwtb)0%%GZ1MW^w_UZZ?#g%Sj4v~Oi$aZhi$my;!nQ^KPc5pFYh*$*E(OoLXSPx84b z6oP2mof0^&TTYZv;1eE4f*Mw=V}k^3UOuh1Dk^GeJ2H6aRSTpbtp`FOg(aY%&G~|%S<7UTvSlqOxJE9zabNJ97J^% zf3o5{5RxbTC<;2pK_wq__-h=cYB(2D6*my(#kvq-uR838$;eikJ}tIe;-Ah$XJOdK z>;wRQHu!IVD`acMDxZNc;F(jV=}x1Tbo=@qFM!?(TMhf2vgRBiqEHHy_v`3;P!yN8 zC*%J4J2H{B!l>YbdF4|uV7Kb;r#sN!*_LwJrwPcHAtavrFaj}mKij86e|Qn4Z_xjW z_tC1@Ksi7y({zoX0GQW`TE) zg;s{cdxJXC2EhOw`?UNQXUKebX?o>KUeu43%+gz32NayOVz;;}3^J`4XtSC@I^?gK zzxr4vI#7#bdjJHA&=5gl&2G>-MQ(s3=DMdIhV*Vk1n)v3qy%Y}xSU<3 z&QI`w82$&wFo>erOUV@)=J6<m?Jh1!x^>C7!8_2 zGNP9xR}nXiJM@-HnuVkEmyfVD39a=6;d~#tY-OYP=f?BzG0Q2PO-5}g64qj?6Pn>I z*r{JG^4jP*2}3w|s2@;Raj_2JA(0vC=1O#IBZ+<^N!;~VCc7eyMO=(=>SDB_TX>KO zYnPI7be!ta%~$!=1sXX{?(u~c)ChU<#f8<5H??XA;P1&F(C}xwgG??E4BLZZ2n(Jv zM1g~Ra0CC^<@G^;NT(M9H}lb{s^ClfZG>UzIP|Qf-u({c8NO59ar%=gi;?W%c0RxK3p7D8Jx* zs&;R=RJ-}-GbVwRs9LeM=4f_z!6TQClLl`)6_+r_sc(}w^~W46w#=k;M0fD=5ztWr}JY!9z>f=XLTjZ z+8HqgiZ*}UkgMy_p{z}KuE4$_Ky<)xUuCKflrAQGSA+EX{?L!j7gZkzac>;6c-Q_; z{$l&k+5wuZTg_YOf_yMDqzb=ynAqtbQ1u-nGCe# zn*0D=xnAw}QS3v1{{2h&fyHKwYe`(U({7|Dejx;*Hv>_;VOQ)#QtBn!>;yLCJv_mafgqze%g__ z{^MR0-fyWBF^4&(_i8Dt=*WtoJW-g^BzRVa)S|Qj&8)G|P5?6u`}f;VG{H-`Sy*2$ z;l6e>VrBBOQ{o{6!e=%Vup5a+9r8bqvv zM)Q`~Eg@!k&w$^&5Tp-r%%qLOlz5 zRHZPB^rB4gf8&^W9*!QbBVgG9a}rLZQHhO?$}OtY}>YNJK3>q zJ9%R#XMc6-zc~NZ*HvA8w=Q~CtsblAGskd1n|Bt!amG?EN6tZ393{XWJ5N;P+SgX@ zAn&MdFiA$I;s{k{28I=887KCKzL{s&&bUtp5B?*~f~+jG6d3ZSlO0{rbmrBj78>nW z#G3G|6gS)K5LXH-n0Ik#n+*N{wgw^CEHZunba69t!nrb&)=Lc0ALItAX=Az43V((S za#OC;eO!{|N7&8hU&&{W>Zo^0c+O!2kaLG|V>tJNr(rqiFI^uBPZ~d*8=uf$U3;%< z_TV*#cZZeR{2z`@C5S{-p}C-gG6<4l70=gd2#k~(g5oTFhkG}HQkliX)Vg1SsB-B6 z@|v7E;Xxy5ENP!x@b8ck5bi(44N}sz^rp9im(&a)K z{DAO%6lf5ZZy=`B<#Uo&Yhui(XuJd~T6LXp+@-TUQ8rut8-gH5mOrI+_;O$)YWzj1DJKgc61yx*^g4`EZ$|eb31D%Mf-KmslrQYE3vB z2RlHpKWPy)+P6v+gruG2Bu?x*0YkcfWYpJJ?GY<^+uOG;{0m=R`BF({1+MOrqf~qT z5_d*16RIBWA%t4x`jt`4s1%Hy(PRuAO|5K#qYs@lkTiXVu_*^7n2t<&Elf+a za=A3qag%K0Datd`r!uerR|90)Iw>dHM$4FS0^yLG8$>XZTBPo7b^R=H&5#!EZ*NDwqgau8);mTtXW`9z;bH2j{k#Tnh#`DUj% zX$+namclEH{3xC5Juqy>S&$Mm(bq_4$T|$N0V14YnXJu~GKlC&3LOb9g$Z|*7PKpN zdnbup(5O0mt6uY#>}iu`f^u_0)aKJ`FjXg;-)d?@?dyGTu5{1F7)!eu&Q7{yoP#pJfvR* z5<4zoUj_Enf6n6Q>+B_tL|#rxc`%>6MJPp`y!bdT<4k_;K^))O!?6;?#Q=aR(d^6YGTrX&?`kk=(p{tc=T z%nx$|%C#EV)^6egTQ4w@(5ls`q{sljMk$)|R!PRB40x1z~P80nQPE%pdPm3u)6?N&>r!Z&$pdX7-%I{| zH;h>5=m{Z6_ymR_+ZPZthf$i6@-Qu)cQnWtZJlOb(&&vW*&1&7*Gg_7`z==k(SLQw zv*ykEnxDIR8}emd=PqFgH_gx$IIG_; zGUTc*^}{l|!)*4_!=XA4mevT3yw@oR?7Xw%SwPQ}m3d-s&#d3=xJ9)kNr| zopyl!v^mgQy4AVKmY8VO@0?HB?o@Y5$*}P2{s)8(oM@undkEU?9;=o=>52S<=ZK>- zNds$V2f{u6U8=p-7=sEl6~rspr!iQv`#>~8NcecTE!s82qjYaYW%m+1_iCI|j>WWi zB?WdM6wx%195n`gK#(QdxAezsOk)$oW_?z>f@apDi0m2Pe5TjB#o zY|Lf{-L%(TyVeK$iEVE_uIZAD#eM96@{y-hqLNj{&VksJ3Qg*b!mSl%T~!HdviP@@ zMPXo#B1OhSpx?5Rt~JW46n`C{dmA?&q-!nRj`T`T*z)fP=WR-+(USRBFEd{>DAmt8 z5gBK#_eyd_I@g=ZR(r0KT={iDM$7|82Y5VS>qSPv%^_o$8r#NgeTK3-arJs^vk}7l zSgU)@P;(3r#fR*%MBU^!eONNkoe!`}yMr~%m`&b&dMWx*AhuPH>>G819nqOSRtpZ~ zkPW(WsG?5_IlOjz&W9pkLmo>#4Mm@t|jxJgGCF zyjr#J=kKg#{4HXNwSS%e$f}LP>2JED%m1Bm4tjxbgf$VrhGpvBIPAbf+>D1r(B>pR z2-U!vPyT%_&zvLGp!3GFlVD<4ZO>GNGCu2l%Cn?As8ln=k4s2K*mb9e(>o_<28H(V z*E}_ooBiw5qG7Mrs!-6LA{BVrYI~h1tRK7AJ-sMnR>ORNf7_cWw~G$Lk07f-nY6xT z4f{jqMZ)9<^S8p}9}Ma^-R(#QV!cR&19qXPFad@6`xE* zaJvSd1Wv%FU$(0CWUo20{(coKq5y%FZ$KJwQ*y7B(EDOv7iea8nC zdfbLmnT(1cuj=P33k!&}U&Jl$TBoIf(wGr*DrCU$@0W(n?J_=(9LSFO55TTxN?}Ni z-_Qsbz_~lwqt)6ryuuj`aW!V6z%KfkD&gZMxovQLd(~&$w%<6*oZH0f?elk!rz`08 z^X6&S%LfcNefR!fM3I0=nZEA>;;nDq?kVrgAnD9=*=N|-{<$eM-A!Bu2rh%hF9VPU ztRV5wn&`1Mqs-xhS`0{sRfVLf5`;(d+n3kmv)IIC5o~%pr{5oXZflocKDYJm01oz^ zeJgSx6mzM}uuC$x0y~NV#H2%D9ndb7RM1C<<2L}A4(_u;?!nc1!KMj2h-TyX1p?HV zNMqC_r;H0R+9zrit~$q7Y&@m!S8%#HA#f_^Na$2~&?X~r>rzxSL8 zc;5*(>BD`X!{^q~TV-FLpS%01muPcVanzS2kogD2VbT1$X)|On#y0=xuUY2Q`@9t+ zn8jQ^Mtkt&w;i~%m~Nib;whbC+>LuMsy>+^-e?Sj$wW`z(~@iem{DrkzD*8JwTjE& zrz?qonS_U;5P=t%1&UDnA7AU zCi#duuU;q?6^9koe#D?zx;NK$l^lE+2y7Deacr`!u6Cxa=IRxj_mdbxa_R@jZf zwtxLixJNA)S=+xo8gH@Dn?Hl}1KM4BQ{?y-Jm-nkE}gVk__>N^w8sh|7M zVI!I7fC?nO3-H}5=VjBFoDeusXjb_M@B}`l4-WZdwIDD%;_9+*ihl7=C8SGuH&$FU z{#*blXfG_QZZpaWH6>7_4hTb?BeYk^9|S)7x)?1F%Zr4!e{C2A^tM=|8z~o9R$)X0 z%|E%&z~M7+bLTwC26BKE~zSWdBgTp5&a| zT>mZDWhDMz3~7^4WN~@tXOQr}aqCvVfI%stTneyL(ZN9*NAmpv9*^i={UP2{r$)Gm z`KX=aE*_6x9^Bk1gp3S7O*}Ji%0m7fJ$QXd)4s^FLm^dbG|lull8Rg>^KZ}#nvMHO zdqEaokI)AKM5>p>2jE7rduBmSA{ zx(_&4AgyPGRkU$Fq;9n$EnG;u)vwkCi0M7!HPNo@8l}vFZCQ3xGKohh5MOjs8HnZ1 zUVkxcX&Bt_pf?IN?k(TGuVZM2Omqwp)`u)9k$vGXT+=1>s)Frd{W<7XSWU|rGP*54 z~f2ec1&qcsG4dxo>gc_KST^bXfp5{cT76uaxKUBD5|L@mSf;hf!ja@gVLTa4BpPqG~97p1l*Ad|J zmdwvpuSFu+{mYB~rlVX)c&AK}p~Ex{4WyXBxIcusL@a%*uY`S0_VWyIg%9`#1K~kc z^gd#RLVur|M8onmOF$e0Utpl1_^eEH0iN?SehY;3uKv7w57>RHO>nCZzGfRN;l>9N z7A1@p4`=rAMZ5?T-tZ5IhXf>B+K~m0Auux<{)jhz;NNsJ>Yx@3AqbaF^Fm=`|E$ss z9Yu*oAAF;{6x;Dan7Fy1GE2wJ@dfCIrb%2t!7Gd>R;t)#G4};fl$fsF5-m)i|H$0r z2Gki&rc&L%J)(>x8*~!!Q)OVPGR?EcGd*OViFEgVsJC=4SGCEazggcI+` z!)`4FB{%Nw92$S#d^JnY_*6`+J^6-f;FY=ic>rESPG@HfA`xCf5|OnaOlRL{UiY+z zOUZmD>ZhXy#dI&wXo<>DoP_Ww^d)}1vE4zwCW#;W;X%G&J)6yPxmf+wc7Ye*VehMz z?K1aoMKQAt)?ph$8-czflROXLY`{rdp*9niL&z>A2kMF$^@eZ-y4|%EDOD@A0UXK} z{P6w07Ft|HB}Uq=Z62)YBhqgy6Hbuq;T|r^(U?3taO*b;aBI(m@I3ZX1|&ofM--YA zLTK^(k3u(&CItFKNpL5>SPZn~Puo?D`q2OIa^*AFWBr`~&oNarwjLJpgHZz-JH$t- zjOeX2mtlxB+?E>p_(s>2j1zRN|6!ZHtB;i#S3Cw!hLgB|!GYs6EKupA*_WPIz!K9D znCf(?WIh%cK`U*x@}PJU3RjQQ>e^VD+;Wl{y&Q)AjBIxkc_llu-eKB99Vo1!-h~Pf z0*mEku&H1DsA`a_y-JiY&q}m`D$Lt`IXn8p%*-wEv&2L2jPQLA3*qZ)z*WBo@!MQF z!&NNO;?y26S8^z11}&4gQ+R_yUm#a0I7MICU1wg@tO~Z=EWRAi_{$ejsL}wx!i| zv?tuu#r*vz8Y!14-lhazSzTUL(hw{_#L7ThV%!OOic99+2$js87jvxWb;ZdlgZ@>M z0r8A;1SP(G#Lu%FwzLDsX^1JjgT5c;#_l2*lvJ?>MW!N9ZJ2BxX{&NwzdPjD6d zL7Fzb1N_?HBp_;x8j=0eDLg0L%|D!X5Hpu^*Hs|I;SCeQM}+y%1ZR9*(yIh=-Yx4o zGK8gaTwWfb8*!G)+D84MoC6s}X~(b@RQhBu0SG&^Z6=A&0_>-!yn}nXm%cr(82Dj$ zC!JJO$_UZ5e85S57~L!Dy7{t#M1l%_k`-0Yob2dwb*izGIn4$WkrtHRW>lb-5M;ko z**a20(l_b?b)pEW>^6W29hq2Oi2nRC^XroZAEo`GTXg5fihN%3*B$yaP@8P$BYwZdA*q}L^-~@5o*CuGM6Q{p(tACQz0A1 z_X6V(dd;s+MGHAc!^M0?jC2O3<&gr~$O_h36}aHwTA&x*QXFa$aWp7a2&!+xmkf+> zH23R3!;_&eS+5{ zl`uK)JwVa%CdZz3E_CjjF9d*$sP5e4AXkY0^{SS{gW{t|$J}NKm4iJ1#`M+qvLRY# z_;(kTQ}&vnpI=vRuyyo40?tg}|0d=2(+YGtIzh(nCC~C>oLnn>3~4*YFQigP<4x6a z?{#}N3=E~AlltT8*zvA`EEKHQgHi+b*F1fvP6bOfLY?Z!E}+(Z0rWwBljv<+Ap_-8>ZqKK7=dCu58qs@od7E{t&%4#my z2;YiX>0MBeWE=o0XKLUx;^uyQ=1}uaASZ~*fJB-2hd~Ms7FkE#m3COLEqbg{Lkv6W z!l!luS1pK7rLpp)wIYgZxjVUA^Q>%qf_(~sP?r}MJxOsL<1&KM1-GhO)*I-;n@Q#% zoZ6IgE^utP5l#r+B(&Jr(ms+ULDJzNm-oUau-%BiXTO;Zf{i;b&!)twW5$V=Veo>m zFedRwb(tfBBq+ zpHvH0%|xlos!j^(QRX9rgwCeruy94WnzVs^MwwEM6w;SOu)?-+IFZI8)X7=^%#{Ml zPl0^MkBP*5WwPChqR7Z9A%Wv~cc-(n9U`f89jbdX@V>R8Pd$s32I({ZNa*W@4#LP^ zlRNh>EZ!(e+V*clGGS+)+>JxXTOOw zc48zX?<+$Uy%23&!Kyp+7#hZ=G^x~~KpznqRPyHq)1LPE$i07RU@HTwYw^IN?D1D~ zD0g9EB4o*#j4*T|50d*Q&W#`bSMXakGiSoF<;Yqs@w&PPo4dhgpb`Xkf6sMMZ?k3f zO;Yir8RWBA0@$y4FDzKb%luVuOP8??gdz?b zUJ3_=Fs;yrHC!5MSpZW?GX@|8y%|<_6#MMrcsy1~%kHmI$@S*(nPD$XQX2x1Gik== zu#B(NGqPPf@pX(ZAec(?lb!=T?dRDDdUPAyhU2Vxc9e!%^QzvdXnuijF!!wcaauZ( zV_fUp-KRThgp2pz4w`SAn4T|VZIr|3SFR7!k~B6f%-FJ0*hN?8`@KF$QfGI`Xi#@A zpzjmqU*ZI%sUpQfsXka2GLTAr+~6kTd9968MQzwJP&RMj(9lccIEjk12`imsD+SpwOSc&<|Q}e^g-iM3bxYD6DSS03 zeYKmf_wxMh+p}xCIqoCb$cSjqrG}#%4N2314TqSxGz0%)YeQDh@QE^jL#Th%KlYV!Is?qwkjihg@-8#xF@1`2Mwq=`YKL-k7! zMULU2_-7mQRA00G=UrppbAu8p%UNgsgRX1qU>#cS4St(LzVQ+rXg+h623FRjSy8~d zpq6;wdXcTv)>Ii?!9diuH(dUZ^n|TU5EV0NDQ^9;Iq;`iQJarayZ^lkWOzagX-({m zjOGwpGj_Y6N}LJ z83p6^!EX|u_M#V~THdDGuIn;OW6hBPbBkSNJlv2*3$7rf)sJX;5mI7D-v?3r#2I|k z#uoftbhX)*nEFB8yQxq9Ix;MH2}vNc)Xg<)%Z|U)rPA!Bsn#}w2BhRq;X(cYMkSC6 zX?rjgXXB-N;X1P3PNzLTYmI>XpDmlot#BWClu_yhIuD!|9x?3>!QRRKzQNtyWYJpd zUxo+u7D~$?Xpb4}q|_f)k^8&F@<+v``d|kZGInIude*D4Zi_dyExJR4c;o*t#`m6i z6rd(jd+loL4j#JQ&0M*Bsq!8>;Zt3Y`^5Ewf0@;}%wKp`I?66uOBNh|HR1 zbcm(8(el(vx%q}2(MzwYb5Rv`S%0bffrfJcpKFtRICZ~*D_PQLD#-`3>q%kTE1|mO zPMoXr+qOWXlQ>R(p*SeDfeb7$w?Xw~v4o4oQ7egd3!x#*%P;48zfvSszoX;dMcR2B zwdm*gF`&?HV(9*no}`H?1{mS@>K-G?j#Q;|=OzexpLmWl@XnctI|3csPCYZKBZ{E8 zV9b3Rmf@r49t@S<9q@i(mTf7ZGySHwB-SJ+#CANfuF*P-$oTMt;Hj9Bq(utH%A<~b zV2#j(u*S&Qimy3z>3%Jk*tbfb(;PI-iV6md)lD%ftq?)CwRCkc9fI26T_sO67gb;P zsbiL2heZw6TUAm$t0b7$@@qzw>3C4epFU3VDk^|sZw9aXXT4Y1hDDkFDR>hTGNWic=#98(lcrc*FP}A2)EN9V&jda(B z4UXOum-oquh|G43k61w9fU9Jt#Uf#BNj^Sf6myN8QKDY>C1L{sBQ_Fpdy9eLrI>q< z_5xt~zH@{;P;GA=eQr<1a6Sc2`pw2G{BdH0yJpO+rio2)@$`A3%s($2z784B;rLOIKgsLF16u94l*pPTVOT;M=IGF5kzp{h{6 zqnNVa;B?q@pumo$MTgV+p;Y~QCHV&fa^o?YC;Bpo5+uwlZ)iC(we7XQqDV0rZA4TS z0;LI6!|%7k8=}ZsbEHHcG@?x!I07`*sB`WC4Kri8GYso1rN>mS7WpoB`943Qe{S|p zQGu6l6I|a2YTQ~g$p93BI}9mH_7HEkJNzmb$7taDqI1rv2fx96&v}GbO>_UB@|{N> zs8GaJzb7@vnlyQ&$$CZ6T|_pZ!HGTKTUynt!i-+;;4Y_0%0Fjrmz$j61iwi%OA0Bc z>IOBtH{!Ep7~i7#+~x$OyfUC5vt_8+@0Q9v0?ML0uD? z3`leCV|2fSXOSqrFF|JL|7s(vSRSV!oSHH5O%|my6Msb}o5DFGQ)EDd>nbpPhPOiW zfFwXP66!cQmxEmyq_53#PZIuTQN>1+!i4Z-Widaz*rM#5-yCTEvZnhNd$%*IUSba%VY$;eL>Pii* zz)e=Z?|5hICi4rY6NmCrA+A0!q_BzG+vSc?!G`tDX32QB0snIK*uMl~)TuzO4=RNL z9KM;ZzUyzo+KW>c#6}GRixbld`T;hy?PP-!TXPVCCB1R&F7&L3fCtdE&w1oRYsTEB zQ-04yrK+`iJs+Ya?}ZYoP9Ry7P7s~-IoNg1XEKM(O2-ya6eG1@Ty0-Ewewjm23R9U zqz)S0J?CG>l34vwTTPc`sktT$z2ySid0YP1?>wErrcyRc&NtXq^Z6J!DS0$h_y?_g zeQ~cRKR>nAmDaSYc-qswjH<4VJv*I!ze{Od>^4^Y2i%WU?gfKW@h3FrsHVlFRoSv$ zfY=B%oq`zk<~VlB#-GQrSvXf)Edb6Z*20TK?T>5eN{$KpYfP?cPtg^rlxXWQ%*O#N z3e{M9EbrU1Ebn8K5VdL7<8N^R?Zq9H0;(_Ko`br?4cS6}W$xFLHedMGKO>oS{@M5b zYL8SI*n{?q%y+SCL<^PK$K#c5)Ra!q!zk^=B;mD9Y$1yL-{hB3lIt{`_V3i!^64>$ zn4i@hd325TnH1!iLf_3rHLooa<*~E>kzA zsMc!6-hdXILaGJHFJS(|5!W>3d%ST#~*A{so8f+65B^DD+=@C$<}jY z)*=dThPcAa!8)&qV`kz}^%oQ`v2Z)+l69WqrI>-4+dm)$kczL5T(p_qrbktzlP@Pm z$q%d|C>Uzh#JrW+LbQCmtg&}Kjb_ck$dINWpuO$PMedJm6p1cXiO{5P&h;kvEPum@ zTH4|fibMB4cxaN%_F#=qytP8?4tt7z-(#csvaB&BrXAqZ*r6-PMIIdBZF8K>o?)v- z;c=)Dc3t>nZqQ0op&a_Z%^q%{Sm3Ow$rd4?(}ZRc7~01)v~w$J1wY>`9?(rc-Y+<2 z-?6rt-KMy<9h$Dj`|c|BNt$<+$W zN(MtQXa*Tx)TNFzl3nLCVq+JickaN%cxS3Z$!b&T!7z%||Ax?_lT!M}ZkAX{lWHJg zb*(mPOA8q-s5b#&7wkW^?d6t{yc~v^yjF6W<{&D!vl{d$2dNTXRte$Ngo0K>KQnyB z;w?IfM%lC> zw!BP!l8t)lYL^q$qciF)1>>w{!qo2(BFai)lJ}3by75d9C#+BE`fy5yjb2(@y#0C% zzp*~+zUlYmK9K;BbeS+u3=2OAlA7d}#~O1qvXpg2gnK*C@H~r8-Fo~13-fxryqUbQ zZbx|_iPsHC91HW$bBf5b^8B3s{*^#D?RW15{RrtWvveilwtM^%NugXEaixD}&#gDXS6E$hg6T()RQ8j){g&!){ceMmGt z4}%zA4C6GO0KH*EY>e>9e*hc81Y$8MMyrYJs0qWih@-_`@cX{XEOCc2^bt;j7O**7 z2386)aL%S;<+yZBpEen9Sun(!BMNkMFYk3&8-~S;JDQO9c41*ULZ( z(zpmXdqFSOjwEo}D6j%CaNCf;7Kc9wZ(u$Uo$+-utCq*|Ts zH-8^A!yBsHNRvapX6gON2kX}sshuE^_xSp2!7tf+QsRjG^#$DsrpdjFM~tmeM;;mU zjzT{N$GTz<_jgd_eSv)*{$CMunNM&i&OBFfV{*oqjc-s>9RA8hB+kIk^so2Bx*M>x zYNM;?7v+^|M}L)bQqw9wshc+`8(_Ewvj3bGgH&qIU5)5otCc_d4${2e!0c)WC5}1f zH)flN<5UF`Xoc?FoT_Xf#1vI@)xpd3>A#oU-*Fo`_hOS55y6b!YsTOYG3u_X>3wNw zpFm0XEexs~xjE^P&fETT%9AaA147B3EdBoGsC{2&T}?c9r7NpsXK8npd|@}4H?J)& zco})7a0` zbO+cHXR>wu*o5{WYMmMsxm`}yTBNixesfMYvRWhHm^)6D(T*zDHnQRy;vH(LGAL$- zGPvG3!Pe(qpsjgKBNM{AB)nea|C&ovDu`n+K9EUVYA2;i)yhc}F4^}z-BkLRv=htH z_F>#w`y|fW1yt)JDkO;}DcNhzQOAymbW(>cqgy|hikHaWs8j_|g0X=6V8F@kT!Ek6 z5<)X_Zyls0n7e~`jK8;MfO2RaCR*_8^WB@u=3PQNUYx$y7Wez?DU^*opd4xib95;W zQ5?-q7yP_vig0ku2VvUSQxO9$^%<8&+;3U27FU%7)!|?B!iAX|Ylcz)PG5WDRyy$U zNx;8sxm7lWyn;1w%?u~vAyl6>61FG{&~`RS_S6>dF(OpKFy`;SXiX50R`jT>Q)418 zB9$;mpf(y$%!8HX?RtDsjeVli8#mi%^UA92!oY3nTS~{+Keq7O>>Ptcz4&V+yaGhz znwD8&#$2)vL!06)+PvA8W|+6_?hpk9VrdR!!kJ^m2ZVzx$Ho!0#e$;z6KFsLHDP6L z8Z!Plb9!)z15Q%&r--M?=+#&*qP>K%o#7dnN?2)*1n$->+A~kIM3K1HhomNL;Am%{ zpfahVs6q@4P~tL-n;9O`)6qtf8~!SbcEp!(4SLX#>PJ8c!lJEY4zCZ&5v-A%Zb+^s z@UCPMhB?Oa!n|2zx0^6wPp^_MOGQ-STP{=gb1CNUapEyHJ7+J5l0==;4q_Qa<}$Y9 z@trnc7mNF6QC&1}`jX;Dp$72C(~aUCCR<0*EncxWqMaaff$jrB3-$Lf)0I>80>Phz zw9q+=T1q015IL_dyS2*}scIss)G}&yuC517{OAX9J;dQQs%M&*thsHP z-(&S}?AnfFv$u9sWWS&jWVjWFpe@^uyk;T4)OYUq z`aZkhrI0pv;n2);$j#!4?FcUBxRO}*a;60=_rE&KSrwS&Z_B$${T@{zqdnOn+8RUF z!%>PvWrD(05k;Rm2%`X_J1FtlOCeDSW{K!McIvux%_ zT%MHkfst)fhp>{KA(OBd$Id`#&UQt2AJ#;Iv0}8c+>DD-VTM7$LsboSTZxQAS7svc zX(+oGg+MicoD3MWfzNJ{Hn*LMR3+17XHzR_V_C0}c#!}+tpcP~a#b47p=fV!FiGZp zx%rq*>t$^5hy*fthZNn`Wb1@Y$@y^X3Gjuyi_T&8_zQiiU7&scZOOP5IP^|jG!woF zBBO5VXj1`7lTq@_6|g73VhxHN2W!lxNt#wk_PAi41-C2DVr3+>}+m>5$U0)Uj{QD6lnwyIy!V+t3tt%xHjjl2>P?@J?W>; zIQa{f@(t+cIp;>;dNB;J$8WC?ykGz`X)ILe$Vg@c1%Zcp|DMxhuu68;D)v(*a1vgmj}tLc!Og zl}c3OX2GetQ~ZD)eiTmXH37Wu%nYhh1#;m4zYEew$)};A)8FaO_pxwQ<8+$}&G#vTwy_y*;tTHqhnTEe$1dFp zx2(WtVg*eVE7}B+1yR?a1k^sFH7&nUE`W1ac$$}m_XeNy7Sao?&C3dv&`{#A35owU z3U&M%6Lw5t`jzCe31qKi!{L>Bq9rHhGY;+-0eTTP^e5ebI0MK|Y8%KQvIy>IVf8z1 ze}5ugWuzD<{1LkS2shvbn*MDN?={?Fay(Cc;{MFP9NfBvuCs+ox`AV7LBgL`i6uI`%H# z$L5s?mrB}T*|5qrh_80@PgVcsOy$?JR|bX6IDYmbc0iXfxV%B5#n%UQ^m?K<1q;3p zxtJE0$DC36!kEpPBFh10S%U97F8XDr#yeOd?PV#5?<_GIW_HAr`T>yaIyZU}G`mH1 zjv15-AmkI4z1@~Jc~CT?ECb)O^g#afH98|7$SuiuI@K$?Rc-RoeL=o;Wv&WVst;_* z^k+qrv7}H^5u10*38&(t>WTVb@brBH42h3Ml(g&SxwG0%qqS*Od|ZJ1 zSsKF{WoAr4568w^5~=Z%{r@6;|15fd$}F^%|MUER*S|vpkla6H&&tSyj+vf=o{iz3 zZN8bE^FOy{X9iU>O$J*F6ALq27KZ;z1v2^|R*J9!0kt3k1JVDtOZ@Lr{|+A4KGxow z?2UkzPZ-rF^+eaS&6@~3iZRDTTemE7h3uQ>?!tpGWXr4uQf1QPN$CrFKXah?;TYm$ znGNT0JGuxUh@b&O`hLT;b+Vdmbk9?s8~(R0A2W%=IoJcxgK1oM^fqH})Rt0B?gw(n zBblWGaFmycoU0^$+ulvjg>^EG9hW>&JK2M?dWAif&d}M{cYr|WhbH*N*6A)v;19)7 z4xYj1cJFyRM*~k3uOGTAe@CBdDaIkJ`^Gmi+0%}EPy`RSE(x+h`!IHw>6Jp+^AwS} zuO$86}`+wGP4(-Ee z4PivM+et8y{s0om-^y@^#iaVS$=IqD_r+4)fkPZG8U8NylCcPoNBspS)EAxUj*!{P zYQP!p=a4)$JXmKTd~Lxnn2Y61X9vGGzzr9Ov@N$6i30M?iD3Iz1CPVLC{BcDo}A0e z%T_r@yN`WO^T7-8oV;E9zVG8BS6G0&_7`_nyOOA|doMs3^YJWo4S0{ORl@&zxR<;i z?Ah~7SnG;pXSD!Ql*c~tuRv7Y^<0SqE<>b*L+wJVV}2FF(<(K;q#`U$@uC`Spjv-YSmM<|Hlj@RW5(zou<2H(<4F|RKbv()Vglu+ zQN7HhVWw}v@ie2oAH|KUJJ#+r3M-IWi+Sip&k`@VzbD~0DVVC`#Q;gS1}jL&10zrK zEjgRgN!fJ2O^RVEmVs#pTSV^9pX}#kK(4N7HHTlpH}DP7@=?Bt>a_zXc*&hh|L&L| zQ7KV7#YabQ3M-*@qTq0aMU|FM4|Ib!h-E2kzYe-19YFF#>k6K~58@0}HZtg~MB(K! zD9#Y=b7~@xx*UpenzW4iLQSE*!hz#57x7*)VjbUE8^zyB7;HIi@oPn&VOmKV4`uG05vqOd^mezi^ho7Vj&8Y3*a0O;%H2!eKd?(^p zxcn!XYA=xm@JV{kO@osmJGi6l%$Xc`D?)BOfTK<(YRY2V+{gV!+X7@#Z^4RJDG@M} z!cF#R6pC5tfNo0glt%M&s9IvL$H7SFO0wjUB&)QK%f3Hg2+-=hZ=!}@9QLVDWg-r9 z5;i!RA)Fxcf(8KoNnvV8S&2hKBGm6QdtpH_N6N~0UCY&62)XM0iFQwW(0(&aB}1J1 zRfdjkp$ABou}5QMCgszWEw+NeYbpeyx#}k-8I!VDH4eccC@-{jVuZm`%|KkUvYa(m z`RaJbs@W!DR%-vE7MnA@UbKtiW6>~QwHcfanvqV@L5QEBk~NbEC9tuNR>D&7vnbJL z;C-UEpud@4m}YD0o(oz+o(S?TkjmCcIPlvZHbGB;K4CfT3-jjp#AUm&4*i+|GXt{3 zdNo?2>&8bPDCN*6iLg+hBo`()0sPrwKOoMBWR#)B3BUyPLPBN=Tb$yh5Y^#)5r38r z5gJH(DStmN#mE+UDokT(Q%$G?pD!T%0%!d$Zw&$tqLYc(z6;2(nZu|TRFapqyVP35 zXU_q4h1SNuvsGWvke(3Sl-U%7H*y+%{bLm;Vt}JcPHLd6>~xnd2`z4b8ha@!+9VNF z$z7(_tlwEdTW}DC+c@iX27!{^r#+VGDyXC?Nrv{ug$B7&xO@AwZ{OA?@#CxT;}(W0 zScU3u_amX+vu&qwA6tOH>i;hPz={q}0_IQMud$Oa}UC1WIR;T;1QQ znr%L3%18PXas>83QcAuW003YIaPe1u>Awi(VTMkBh{0V$h?oWbdB@BQ^xBIXs0EqL zM-PM5SZXV0S@<632+KA!Ml&7-|1qQU?5cKvSH?q6ftIZzQLxGYP(t z5qGVJ9~fg|E85^uvs);Rh-APH?+b-g_Qr({Bbs5gW+tslX=v`$LEH0Sq8EQrQ8yBx z6N%9pitQe{0lv!}xsKrBiDTIFE+SINfrpfYI0j1V}d9Hi($b=63SaQOxF zQ(r@3It^t+^C-Bhum?OkY*23u?D&!mOEsPB+sV-vOkX1e=dNgki_0nr5oI-Wl(7Gc z(Jo0lgf$#XiL!i&#t=~@1%JnB6|(0pL%=$q33(*bW#w3rKMjuyA+1_0h3q~M54?6p z33H>3ZKYf4Pl)7YAe-mGsBDM|*V0lXgFok<74we}9Up|qOcvd1C>l6RZ@ox<5Kg7* zfF*aaj#S%l-n>99rT4%TVZf~K632cvC$dXr{Upje&=Cb)f<&C|^doB$iD-|x+p zoOM|S9=#s}uhP*9*G{vGLORm{& zYV6r(Jd|8w(`SGcLu1`yf=97of>cNVtPlR=`q$;xhzkR5`g!8b?|g5FGyf#jsz(}E zX{*jB_SmLTLVAa)1@UU!C7gChs7PLv4mEe|;kIR;g}3fSOPIKTzmJwWJ{zk9Dywn) zt;E+{TnA(=7-2z0D?d%uIYxR_EkiU?l4~`7i({a#%&4$-XNNfFzk(b{fB|bF3SNJ6 zWVDsN8{+zZ)rh&@n$?96j49mRsyrW_ok#uP*5>D$4G?%E>#kKL;A~bodvmvF#PS5( z+97$O__e-spzrzh(*sr?_Gih$9lY5Z%1Fla4$&Z^-dzq1y7n>6D68QBwwU(uIl)|3 z$xlc-GgbgDaFV-4dH#Gngz=5>Fth8cBNMSQk)eqVPp0@+S11K_z%Buwxhu^EIP3j6 z1N`#cOwT`q4xzRu7s>|XOUtge!!$a(YLW!-<5Hk?RRzU0Pwuj zSp}-(ODzy<(3)K-(#T4SdQT|O1sg^$Z;eI^opDf6x}B>cn_>`EQ+^xT=lNV5+ILG} z1zJyeUwI1ta#W_;W+)6gyHKmM0ip&Y6PvZWD=6L=zC|(`qx{RVf#aZ;-lcO7IWicz z{HJ9Nu(HI9@woeL!g+p`C%Y~VJ+wxU=|(I-aH;0$qLBYcb(v;p5m((V4Dt9&A|$c6_3(B{ z3V!1{+I?w2HcAV!{b1hn#6^pxLC$Adb*-YMI)VlI@E`KDriWlvQQK5~Jb_(Zok_ZK zIpnHc)Y~Z7uhm`}j4d|^=JQ|(B`i-Z1v^}3``kguPd zu?KR>V!J!~1MFRxYd<-9V+Z1(Vg2o?1q$`l;%VuaY2RhV&p=~yJ@>QHE<79of*!{2 zeu212;ntG$J^$W}mBR0A2_xEAt&$-NIQre8UrT_?&}@z3Tx>+glS~N`l8UwuyuxB|KP=V^J)Ap86h0-6 zJGo#KkM-js@+gM%PR!w(fZON;C4c?1H+q}u8wz`^_qq8Sv^DQllEd$iXPl-T7dD&A zVvArv>hn$K{Yhu_K;W&c6m*w=70m2iA|^L|<^o^3SI?q*UETh)AShEK1>b_cd1b{W zb?M(6S_~fNwnvpIME6romM&E2oH-yNMCx5@C?3b#{K?qvWDIGk_b5=hD-pysE%9|kEJ!>0`5lf&c)ac@!+R@?-sF98qj47S{1^o&*$Ch^^F_N$O9$( z6FO*YP?N(={|OboV!WU(9uFb+iQRo)XAXTtLwJj(?V7hA^@L?HWkWTNn&ws`{ypUx zy*x=|uRBz83cWL{J*zRR4G8nC&BX%|%N;QIY#p=++fji_d%esexcj(k;Eg4;S4=;KW?}+X7a4MPxPu1u#(HB2IG!gp(qg+h>OIshefCUsLUaS+yg3KfLU*cXm;ox>A55S7`WLye6?)VOp8i1SxOd2 zbTQfoE#9VH_WkW11DES0i=9N}ZTiL@nOc7viMMs6?E-{PWQ#b$Ce1SN6-P6CQgUtU z%1U_f?@t2~K_QZ2wi>1b-v(HQQBt6+AEUxs`<$o!a!+e(J+GI!+8DEs@%4@ox%$_a zEhXFsWAkVn83e6~77RwU+q7^cZu`wqK`OvL7CpA#pS4Bl+^g<^LV#J?O&k*`A%H^CtWo*D~{0PeT!=sDj7L)gOHsyp&oh(k=#X z!|=19I{2^3SZz<`20#Xg!M>=8SMGP*1*KVNcA5c1@a)7~Ta8?oU>!zpg1nn0lvgFZ z*LFJ^2k|{;pYJaD7x_h-zXgf_f{opqeV9HDWXSa&?u~uhap2OSxn9j}hCC4HI}6CN zFU=Q!=}k%r2&gqnO|6=dmyO@3{y8~V60Mh?8d+I^i+}*CH%!TVEo6-=0~ig(9hZs# zQ0iUuvH4l<;U2Mjz#T99o9VjhPKCT2*7?)zlX>l~T=I2`TS+0=vgPBS4i~Wt>>5?? zU-Mh^WaQo&{=ayNuHXrxS}z%D-eGxAtrnHHx(K*TOI}D8xEUxbM|OF%y|PPL^>A=V zqg^JVO@Y-v#`%*Ozr3s-mEBA}-Yux>cv#W1lPV_}`T=OQU$jVcxdSU_yNL)!=L&x{ zW9}O+k$B;E>m|D~F!*n*MmtA{J;*KCYT4h4T{T8s0y*GByQ@oTD|LGZ|5}{QH^{;M zHbq{b;i$j&3O*|XW*L;P-sk;v?}7PleBcYAxjhkbhh}EPC)jM(Zsw}$|AP$se7IBM z(y&!l&MA*Z%VufRF~sIHufG>V@ie`K?dNDN_fAH4X}-54bbw2P|FN9tf-2Jm)nK9v zNIvevPxqPxZ6YQ_&MctkG1P|;ev>LUqSGNVknzfLsAOkF(AWPRfmj2gCug6psv(Y^ zI^Gl-cJ1=`U6Up>$_=IKTbikn(w^usi)NA8exAhVn)oi;#4Kfy$mlP3zAsoQ`S{X# zB}MU#bzM5a8YoR!@++9(-Y9V;jL(nPIVt=K-nrVb!7{HG4t+n2C;_P(=HZ$teE1K>nI*{uP3c0>FrfEXG=VV-*KODqr@$! zdsrI+9g#7u;Y2}U-U!WKg-G67IO*_5mXwh#-Z2FW&nlCDp5IvFmJyH~)Je=;r~8t~ z;iXI32Gud82*0Imkq{nsSQN#{VTnO=qJgXeyNLrxhR;8ib%xbP$X8{t^5$EUmzuTP z)M47oWAHhv)@(u0c4uK5%0kIRUqbg>7FSaN{gq^0D2g&Ir6{ktHTpZu@-`WI%7(w1 z*+_m-Ky=q|=-Ce+en@h(- z%sH0_0Fag&UP-^8V23G;y_td62`-mD%o3$TTQMmx<(MZVy`s8D&L~!ENnl+`*j@G=pmT4eiGm0&8GUHu<0Ukt5lRR_h3v4eus~SHzlSaHnc15ssd+5 z8i0Kg039_529iMp8KVz3hB@%|+u(H6;1ndo69KCnD~2S%(PNA48x2sL5V3_V1gMS=UJb9`4LE{7a{K3I zN(gT zE7zY0j9?Ua>JwV;O z**&$3#V@ZWzwnUPsuu2*}BYIEUsB;C0JxNahf=`2<?+R4%zzL5Yd_ z?Ewif-?~md&gYSHlwlzDJI%yOxQiUvu~hk&Zfr_N|Y@j^(@>-76^Q6Op<`WaPhvieGqLZ6KI*46|3JES{v(Q#U zjCb3Iv1zg&VPyxBQ~}jVl0SJoUT%qfJLLTawA&*e?KCF3LnDc_yuwDyK_uV*81K&w zuZp4Suft)F!sjP;CkpeA{ZFy)W9mtSEP6_p=1Er+R^*Ux3y^Q!>)5Sh+Zou3^c@1j zpnRM-S4>{O4wvrak>~_FrUtY$f3vo|{frE84TiT{^|jx9sBISb&Llz-9&49=4u)df z(OUL`zz(szvzpGKj2<6s3!G$n8JOflr*;;~nN!F8ovdJ@+Pn?c#ou=U>&`yuBGgQR zt&_fsV2%$vrpR85NA4&TrF&25G}NC=k|eMtf59bxPjYto%AZk@FV;OXVtvZh>h4ui zvyg*n%q5eeMCKc=H02!8Q*6`|EgqSg2o=Yu2*f@()Gus_HW2{r>8ZsOdfBU>L9b|C z_Av`Is-iQ%AzM`H9>NS%7L&#_+V^DXm~)#x;l-(_M9XiDQO4O0V{MCFa$WxlbU z3D(!Rjo&zyl+dJ2A1j(Y{Q9GkUDCF)TnX7cE{yRQ%fPD(z0=ZtRr@*h)QNa@m<1R2 z&dvQTlT;W7JI7qWrgp#BBMwWcR{zSrhACK$-!qh z;bnzN>EgJ0{~SIQB|#|m@RD_dJjhH04CwL?D^mAXdpg9j!uTOgu>->73A#Y?04Fuh z+-2&T9Cq)TnVr=yw#+NroYkHNir!3?JppoYiew0b+diMY)io`YrfP>I>Ovb=mo^y5 zz5p|=*3xy`)6R0F>=5ky53Fx|na0PWLS8g>ZH4C2NIn13`QNZ>VU=U}_u8L7=*O_}{#wpzcp;)U{>%P(_oYCoBK?@2%dSs3hsVcpf} zmMaf1&dL9}+rzzs$2<|?PYBbN3Wt{Fx#T~sf;wbbhPcgt{Z>yb246t4{riWdc)Ao` zG$w= zg;O-lKFh$ac#w1bNvg52qSf&fT!u!|q0es6viRRp!DF*a_L9d2*rBqpYb*1Ws!^82 zsEjL$vbIEJxp%!na+K-nhj!>awafm`8xx23OqZbQX1zrBDqg+oV(jb57_cqMg-0KQ zgeyEdH!T%+ShoNJqhNCkh_ov+E2iG-s4F5tx%}hdbC@$aVj8=2W2oZ|xAXD?1BK+h zFA5pjCZJ7ijC}M)j$9APGcoWjD|(NdCJV;KbNnynM=O4~ZRr8*y#NQNDbj@ORXc5O z6&zC3E4zkOdudm-0donW>6w&ozGSf?T}wg?E^4PcqZ zmhW0MX)xZukdP+J10XLaW$vxSCAN2%>Ueew%>F)AzNusNsBIQ@=GE>j+-?&~`ukI@ zTwYyrj_2ES)Oj>D^G<-wO5xZW!aehDyy=-Rs)p84vybI;7|u?sT=bj2IT=QG#-4-Z z-k}>|FU`>-{R$*i(WC`kgOq31AQ85w74+J^R34ViJc-t!b5gpcGQ=?anY$VPD534? zf{L-HFcA-ULR*2H@?B2g_l{B+oK;)djncGNCt?d9W12Ho2YJGV zG|9_6cRzCSz2tfiQ`SCDS`{D?H#~*zk@LGd^v52Y8LG+(?qLzl>Pup^@Mi5-xJY~BqWF7iRui&^cPOB`g5URZm)l6L47 z@94|c>T5G#`13u*TZ}u06DkNpa@mtRrUN;3FXv~0UhauogYur7p0NhIkWlxtg6Sa{ zVpHH~WZN-!x}{>Mz@#wPRTR2XRESG~v<&1xg(dvOK2p=Xig$LRnP%}xCNz7TgYNJv$THlTsVv3^)m@p|*kxh@ z)KeXwha!@i2PyrcBfZ5flVyblaz%Ovf{KRs(FXQjt*VaTUOH}t-3rz1!PiiHv>vPK z23WV2@3DL!xENxx<$uE>9@j4bx6<%Mz`P^Fv_n8CdeA^Z-?ekRzn^@I_W`pT}=ia*#PqWC9MIX|bIw<}Bf;p*D1KF)5)R66|;EU3Fmby)P9JCadcO;8Kb4J47Z9!kK6u%Ae$Zo&zp zI)k&aa{7c=?X~$!tgXUa+eTNS+;Yb+t82zURK;b8D*OuDjeAc=V=Z|*+bFM1Fo|~X z7zym7nf5U2fprIzHtd?s0xla?_F$XVHi!)?e6+l{w8qXB?Flh~&&}=whzkAG2U7_M zB3>98%g^P{>Y?X#3(QB5;1(q|VuIw{g^onw8Rsy`&9W@LY3jyp+fEbKGXWNz*|0*S zbTa%h<$D3rB zFX-gEk(Mx|Tg$ZN}TAip)|*+8KOQQH|Uh7@q*e8ePX-^-Nk*inHrAg{oCz{!2sll-W7;Orn%K~EJjQWNs6=Zjc zh0WfcswMXnJNEj~mFKKP+dlb9yWkR}s<4lw4YafYw%k8T_-9Eq=S{U8Sx?c~kwqX? zxt{8Ft(B^cuHHnMd*pzUwP*6;ZE_Nxbtf6yplx>GvBw!%+s|!wzGjUl^2hCek6q3- zyBv!&*68Vlf)VnA(0l7Vg#9Im_N}yYo!lk)kMPVd%w6-3nMF3qBJZ4xSU~PzBOLx} z>#PMDm(yH6MYg)k=6rdN-$*fV)=Y$^iluj3&izwg3iD=+x9<_#(@g~TJO#i9)$t4$ zDaT%X`!D(7Ty*4gb9HLjjo8W+c;?sA^h#Gx(YiI8A-Y+Fm1sjmAS&DE{)NsMv3)Rg zZ#dyTuTS#)94eoJx~RKgM);64db~!J1PzITqi{X|S7R*Jorb)!#q5OYx?M z4R&&#q~^b92$HcH9WePb+6cQn>lpf;a>@&rqZl_#gE1fyOMRu-2p9FXj?mI3g(c%6PBi5rW0F+?&uOMOIGeN6 zPn;ajoD9nf_7vM0?0_sVUSm1FgCzF(H+5Jq)-(OwvQuT}eltU`_|#0{PM{GzmsTb+ z2=Xr$^IJw%8Yrm=Pg%ei7_rp%Xb@+b*~Nn7mmc(vy7x(3Zzb;m_ED4&pNfg*%J3-` zq-WdL4_R}r^Rp6}0VkV?=f-QM3IpEOyA8$|_sLw%#q&}%ou?-3BpteHnu*&NSIoau zC;FcTJi#$eQ&3SRj%||JXw$`tKwG;zBG9YA;MvtSICGdX>PE)L3uXFC>Uo4o*jB^J zV(GAT8>qUCW5TBEm8+a>%ci4}ZqCzffR%}iAD^4sG5e2~(YqW6y0aa{R6=jA(eLkB z%|Ie`{g8IW+=ZNV-1;Wy+i{wK8mLBbRr^qrznfhF^r&pgLRWiM&CN-@yPCZ1d2QM9 z(OHH?`cCrFvYo(ngh6>3EuX^R^)!VSuh1gu!!x%yCUU|PxAhh=X|ur_X!=wm0R~OC zj_2U_y20>$U6^x-5Ha;ANiOpff4#cSPJgkE3`ageCe5md9Y`xCyU(~vL(`H45Ax<9 zVJ=&Q56H(6UMXD?7=4@)NCXn}FD7<&=d1NX(hHu;>f&ee2P=K?<3F4&{_>B>7+YR7 zV#>uA^kK8C?VI*{j2fM)EqO4eYhmWQaC4?V>K(muBR!O`-<{m^M%NR39Jlqcah_M$ zCUtnG1L+EH>RL{ELA+&d|1P#;e?#n9B6A1$BI}&UkuTj$^@RNJG55Ydf8h3 zJm0#u?6rtNszFM^@u`zil_CVz-m2$(AkCzaK1c^*EfX|3-XXf?#Le+b)=%q!n}Uo( zP5`(?PFxyNHRZFkc(8*Xs_ZRh3#vJ_Xnh4tJXdYh0R|}Im(Vu}`m*X2n1h|RRt9GGxYpGz`7X0h>@7IG)|0D8 zn0BV}(N;=w5^3dN!3Kd_%)#l_;qqRJ(=a<3sbLa(Ll6{qDi=cueFBu)fFg2`xiY7(aSm<`1(!V0ntjs2zADtBKIWj-bL z(Q8-!Vg=qOqfNzq{MLv&InI^;t(1QUdhWqgSy{cjtYOE^(MSp6c!mJR6qFMtdRDY`eHcUid-| z3F}@6(v5?ih{PRIu9qJ|!f~}jrrY98-!(yf%{oY z>>WIa&oEG*B5+@&%}Uo0KE-9TL5pin2lLzXxv+f!tqkw z7pjgxFuI3Z63W+oO69;Wn~v#18-xHLq+K1Jci_fhAd5G4_3nx8X+c3F<>cM5vro~8 zf0J=0(}0E0a58lEi-eEME4fVWqHI<0L%o-&)ftXQHj)joZ;R*ZXFB^FG@Dhd)TG}k zFy22T?qF{1o3$lwI*NTaC?6>YPYo&cx@P7@lppSC_1&w>>=0fsMm0*A6}feW68|&{ zMt8LU|32j&?Fd2pXn2;KO(Bvn+g>J$56M2Mis|j3fxGvi#Yt_N}acKi*ghGtS`! zkgVoI86%)JHrpX9+Y9P|36vryix#hVcY)U4Vw&qr${rSG}Sp zuUqV5^Ae-yfx7YxQ*ZSAG@?(9<7XAp&k#!vSw$E}s{j2ham9VNZavMf+IxLe->X$R za4q~nzRLiS9n9an?awQ@pdk%V@}>VT?=G~4(~an$_uJh^0Y) z_+|Msr5}IN^fncGbWSAfn@o6roFBT5+3KIjzmjV1Wh_#ELoWj|+}*n6`8Lw&Jt-*r zSZ|kRB$MdwWu)`B_mqIJDg258I3bsw`kw?ZQ}REEwY^!gI;Wy{=ge$sBH-TKjzqCM z)#)?-WjOuKTX0V!x+2IC}c4<$|7EIU9NGGkNFhOLx#zCq+vD| zJ{HwNrSZr}hV6&rF;x6zCIR_FTN~P4GeEz4-BSdyENXGlZa^E zE-h4#&8Do>?UoLhDiUh?V2}_^u?E5bK-O9TuX2)Y7=>mZc5yk82*pQr&Hrg_5S)EApVZ&c5QuE)+{MoXcaDEHP&N?tRbY zLIsGNx^H!>w_mT~;oPC+;2IM%!^Dl@S-kvkMA^!{vN8z$WWiC-RD0ux`9&xs#Q#B{ zD4gFsUf(#G>Caol3{eQrT%o?61*+j_3A#)@P@55$XL()aU}FqgR4*dq1>?QsH0l3n zA}PF|e;axo10*?GqwUFUOBrtqK!wE{y-3aJsp{Z^ujf?GCUB^ouirA_gdf!Vr=W;_ z?#8YeirFZ^QAl>1nY@V?L?TC$j%Fc89`Cs61IM!#W+5j&p}XtDqNef6j+2Ro^={}ZVaWVWRP3u-lg(xOuTj!Z^v=J6} z3>d}}|DAKzHQ+*lj+~e}fXruP%LdQ*o=BlS%HUiK9CP!hZ>4$ojE7jk&%(>9Zp(_d zK7%=yrG-R+&n*Uf=l&~S5wEL5k@;nK0e?JM+bNm}57QA(k6H}j7j8SqKA*zny zMfMEe=Nq4|mr|=kvHbOGId4f>2tVU0lApVt^&Hgr8WtstAjCvg>0q&-RAy+&DcL=J zFq6h%sWo0hr~5#^92OxtYa~0c%wfW5R+hw_m{qe*veakD4V$|q1rmgMc>5c7yZOXr z;o6Sn-+^yNUL;OtL9Aj-hZwN7t+Z~oQzNx3IU`5C;;m0LHpBj9-Cg79)gGvoPM>g_ zH4^0i_G)xE3q!XwKzlQ7;rNTDA9&!lG^Uu8`8f~h{de1ADem0Mf*U<~t4~leVx2xr zj*EfKlEG~3ln_X9PtpjOtb-?K7Jr(!vZuJ@?>BGv5Pu~Uzj`#EZwUG$8?ru|MmaY; z9B*J86P!2L;`)$}77JHSzaF)Ao7rgL8M35#Sx%X096EATj$Nx`R=S7{)*?)dsW)=g z>~LfbEfq6AXYp_{G9V~NUEIi&ML$@a#%x@((}5yp&=OCoS(msTOK56;_EtSGl~%O& zKIT@pfn55H-CUU-q6eo6M&P8hLZR`M9_4L>V$WIYO67(Kyw@2$8KcHVd_%4*ea7>k zy!y!6li7&$=tub>z7Y#YIlk7(@W^P1P`mwb$8Khm_XqrWwvqYd;n9%3S(iZ$Iym#S zDP&UNs}O?IRfqiJf^(ZB?af2aLWhYIypN4dM}6>^!>=bDu94JYC*W#xy7%7luO-)? z_tSAF*ZkHHuYXIW?VHY}yJ8u*R^ndI!m$v4j)xFH_wq%>l<)}cS3|g{HG|_v;Y~{X zPluGCJdN^l+-$PCE(s_(~KtJI>{dDhncoH=^`kRDvu4+}l8P`9a3=*eiVyt)@cF z&zu3;{d@3?zFmW zf6$tU97WsHA>j>K_q91pFtyUL70OMkoGI6Tv#xrQuX~zRJ?hjwZbOL!ha>`tY0R&B zot>3=d3dYVV$003-4H>2;kL4STUj+GqXAOvoypW%YgRZ}S8H`w+bg~_>!xGXNVeyn zQC$1k$E^<{_&ZSzz9PiVVtpa^z%BRW26)Uye;&wDQFH~`pE9OKA8CX*a0a6waGCBj z6Z+8dBe)@yn@rm4*GJ6mbuNaIASasIqi>QZ8J)T9)SAME1l|zH3l~kU4+WH_qBra9 zjodK=Ckq}XziNk})Un&*^@E}PKC>20Uk|=rk@m~i`&;!*Ia}lL!u2gOHjfrCjc%76 z(0ugIB5{*N1@_h^FB`EzLU;@2Yd1}<0m)PMS5i&L1ho6F;ra*d&~Mx^yrbz%2i%*s z;ds5=g_Yg^OB-NeWPzQ;>MS@MzYpauR@vc*rh)V%!ms%Huve6{h+&-E(F}w2;?ACK zGuS=eBiOP|J1gS`3fb>|zW~_aPEg5`j^?YFI$wsRo!|i^V{rYR!hVg$w^P2a0CVQh z&|%yozbZ$ETL%nH2|+Z_+>IA&FDU4+AX8t^ANeOn`);VUE7DKn$!B^7A;DBuE5img zE*p`6 zfS-N2^`{RlBci}$KSx8l-!9KuPd$YF2TkAj{jwyDRfMQWW9HWrV|gBD9UvE*AMLmD z2i+XQxRy-7mVd6?eu`ewH!@)+l@HrcNP6Wt65arGcHc90%U^;oJ>vQHejv7n`1?F(o1ewj-0cCS zE+kh7Pbi1@l~KTHLlfB<@gVwMynQB7W~chuS(&C^@H;)gVBH*FyUVxP$Kr4O5+20@ zDO&i19FvH$59@}>hiMV|TtjxW1V{FA5Dx_9>GaU5d-Y+jpk z`lWdi$U4VwRxjGiIA_w`_<<7b6gP-|Xw77EvF>d{jVznSOHb#ppMsN)*CZ4pcD2j~ zbYa_Gw*HX~8$Xc$jU##gcz$j{00EsL0s;NY%l-coO-4rc9{(VuT6JsZtu~Y|fPQ1T z?O2hhVjHusPG=ss(;>T+@wjoPEO!(aXktP{2&o3pN^#P+w>z*>(V@xvftc|l@O2(< z_aEJW9hUPP*L}6I9z_0T@a065&`z+#aUKr*;j*seMH~7hX^(pDRgo!7o*Uu$s(e@Z zF7pN?O+r=QgbsHng~5(afiuXApbV67H0yv!1D(wb!Hz~=1cJ0( zqlzzNONJ?<{g>v^G-DiLLY<1BKm$Q1c9 zBr*tIuJ-p2F0-bU-D>#~>G^^zCt|R$#^9*^HqDGlvsJyj!dIRqzi1zlmW;AprfQ5L zT-p$6fE1B=YI>IeGXGEx&DueOJ`4>8q%yJUs9vY4KRY6ONDbBDC?E+ANnKL@A zI>b29eu3^7sSIe47O6|cTq+fZw9_BcaCCFkCe{a#^+!1zK!TIy!o|w3)G|u=-;qH$ zE}Cdc*wp|b#}ttemYKyip#^4BY9dKkmw#U5e%>ElVKJVAj~c->9aNnw+vHh8j(~>- zY>N`xL~5_LedIYw=Tasy&a8>;69))7IV!6YfO6Yu6=dTv7r(2hPG)70QSYMPTcwy` zVB@axq>&DW8jj^~80|mRJ*MsoUrof_I7j)gcS}9lp zmhw~g&WRH?vou$V)vj!A1E7zfucH%p$0gxS?`9n@UHORkM-@g}+S&k|IU0+tFon*R zqQnfT+Yd&X3{FiZ0Gypgx=d$xOh}#T51j5S>X$u?!Cix)M=&y+IDyW;tcOJFMEmgg z`rXfWD0@gm#Nh7ngITCuo`Gl%cZTrzVGj4V7ZNzYcYuDFI|JxG7N?wUslqWRN@=ZB zM-B*$z1 zu9r*Q)$9Ru8#y2hdi(eN=b_sn`<~>T6Ty4c-|&QQc)=s8oXmf)rw&t72(>~$Q)&=% zMy(k#Qaw#LiqhgM!2YdC?taFJS=AWE#Rd~7pdVTJuP7p*aM%f#kJCysKtuc*O7|gm zI^bF%iqppJp1$I^Nsz!b`#Vqvouhdq&g~G>NAHqVxl|)+u76@E?Ec%JVDj9;hfwgMi4ZS^l!T7mZ&ivu;SIwZCZ}VxL zow9A*jPk)X-J*T$2e2cJ!f9cYOs>EiqkWDc4TNFbicwW+8Q-?a#18OgVF2_bYaoLq z&v?5lro-L`P@MC%2Ac`wcDnIbU@d-;f7b=x2%)Y^n=$3KkZ|;6wCoH&N(T2FMMm+_ zVXMjyRVKgowylpDYE2H2hOe&>NW8yzQXN`Vt#Vh_zIn5B2WR5nrFbQ`uEM=%xPJ59 ze!2$*{#eBz*05yT^zE?i<=ryw4*BEk2z&W166xO>@}r-P0Z))E^mG3P6eK6R{Upo% z>3U209K=OFF7N0*QX~JQymb>BDzk9eFBwUUdCG_- zKkw-5oYl%Imo*-4))FnmilNOYvNhILfD3*~$X;$-+sk!v-D2BUB88ooyAAd(ZkE`# zd|kCdVh_tyJYBtPEL3g^DvhuD)CMq_8@;!>m5d8rCcX1>e5L)km0|Ki4$Lmu5U&YbRUew9S z-pTo2fjrUv_#blpsd+RI-?=%&?RfCe(kK{h%01YmQ5s@|l5x#g6*(N_N z*b7V2AdH^>SOy2|-4{T^vwf=imVd(lME-=NNGJRw^6z+a54v;keR|hPkyHMr^y3%! z15wDt^&3BOGDjE+m9P*lG1sTy6L@CdSyWCr0m3sCKog8q_MW&Nt6R|oA)(HM7-e4t5lSd&51~i&?r!WTfjZfQ*k==2I3!6#%h4F7Z+yA zBF8f`jsrzyD<^~mmL@_kmdGAe2uKmHKr7N1LfR8mffX6~HB#DX^(`b0ms|;k0XB+q zD6tjtV1*QyU&iT%Bf$jSv6SLfib!uf%>EmL3N6ps(u7LVKhwQ;uH_cL%J60U@K*w` zETcWpah!e+Vh3&0NdzP@T2k^zt7&JN>($|~S1xUTTi*z`zE=DD;py1ebT;mIm+r#9 z!9K<+n;^L|AZuP?Jpue2%&F`p(Mc0f46a+*gZS3e3ADyIwjwt=ziqX2!r|@Tv~5Zi ziBQuBWGrQ*HW2QV`iBVNP=rb;{VM>TuO=y*ac>-MhP3u;67QQUvp(s1JaQg3Rf;(l z^gvs>Xo{i&Gx;KKH+00o7=-Y}%j<8-w#*Q(*=>xdQ!7ZrM@B7|J!hX0K!mAOeu%Mr zC;_;tpyxQF>0ZGXPJ@Dc?Qoy0ScBk1}y4LoXE zgW?dmMsDC+zyr#eL1cb$SX10lG?t1~JW>E6c9w*)M2r&*CBFi~=mvl>+9$P zG@xcz7D^$b0UW48%iUj9Q5*S0qM@yW_DY#0o%7d7jR3cCj1gBE6qOmCa+=XX7%kdh zZ#9V;Ids^xlqYeRT4l`(o_}fAu!mE;3wxRYBA&(djjyux^^Je66I(Rzl!#@H1QWbv z1kQ_^fndo*obs{%tnCdn?!NZRNa!uoPz3YB-OB(uFpal~Xq6etYC$cm@*6F9xmc1L|?RaQ_P1q8lK(jg^7&ac?g9M-Gn4VzOY(-usM zVy}YG<@YVX!M){eM_3r<@UCb?A{FT;zj7cYkZ;T>7#(hdp8yd@vCqHr{00{soi>9a z2o4}7MLdD?)H9BkFeQFh)^yahqo~_MBif7_uzD@nYTkG4Ucb2z>Alo*o7>eLQvEnA z^7Y!_1q^P0>$x(>oM;LGtC3wm?`hPE>BM6I?s$F$GB^ z*DXU6MigT0UluK*eUM;{y7NRZ+D*Kd4ymxldAZJnaZ@eTp=RI)B5_zgT2UN`-%vH4+pH23WhqFoDx$ekeuBcM!-=JU- zBwHvFQOc7M9?GUDiT1k-!UmkCOI#l^9S-d0=;b!kIX&$RIEHp}_!NXLPlYr8C<(jC zu-8VkwUS)(+)a6VPP+~@^lSVndvYD5w-u%yPC_I_Ln*B|s8X0s6SC)Y@eWzT35Nfr zazosw6dx=xS$Pm`%bu1^6T|b8r!iXW;rue~&kq|eWf=oMtUeqs5=g_+r7!%gj6S{V> zBcF;@)+*uK{TXh`i<2GgxmeB+R=331WE2}_%MiKknudaXv_tb-SCn~$P1Fm?dT%)Y z??$;s^ywCbqUsuGEOO6pR1 zl~9M}S4;El5MDGpH`54yJOz?GsYl7AX^lPk4)SBHGjwTQPCkx-zMACKC|;6Xv}^dF zjL4z$jHHow&AD|LVPMHIJ#imUt@`?lMMwd`gyQ~*jArgxR1kp~GEh0tSH`RGa>Y>I zs#eU7c}!l*Iei*i#B7!L-TnCNf`N-B)10`ULrRTiq8a*#f zS?<)Gvd)(+4;A8O2}xG62|I=>q=T!o`u0b5@t}66rogwNqp@y%ELS@B{!jFd0PAtkc3YJ z(uAByq=q*X4s(w;?+Ud=L^$4?9@K2t$=q zGTDPgMq3fX=BuXxc#Cng%AvjnXA+k84J<;j-mdXwZ$IqYEzBgm zKKLNSZFh%0MVvq7HZx*EM_+>twqg&RW zqh*;E?++1Uw|xur4%b`b@fBKo1RbP49v(1`>K!tX>&x!B)iztZUltx+YegJsw{Pa> zs>)}gx#tY{I@{5W^DO7JbBg&tD6B4zmuVx*83ImQl;ISSHN?3}8QO{oxbjrO75KiS zid81Wo>s5LWRzuk5r*`FtYC)qk{k#SXQr3u#1g&hVk?9w&`uKlIWYq5Kkfx4y}Zn` zgv-is%?||LN-g%Osv`+3woJ~h8`22aUx1mz9w~)s6ECe0JYw`Q;b)-D;e9m<@4f=G zt7)lqrIA2VzkqyL`?40Q#%X!8Mb9L827d!=54fjw)=OiX@1`H`v(yQ(C-^9p9roeJ zXf36^3B3#6@VnT5n^3jqLYlL&>AA<-O*3FT(H-ClJT>V4HNSq-lt}bTpm>wXHL#V7 zKCP&2&l}sH6H#x7?@Zex_)$r+rGeNC z2+;b6iOlCeQ@YT!eD!b5_FTsuG9nCfZlZ9<3Tg|R|9-JNhTEIB4sL`4RUqULluK29 z2f{pg=?(kn7G49tEoL2MOC1m{jGiO^YeWPer1t2+F}eE>BY{yU(ngO zUr4<>`BQmi$g_RTT>?QZsN;#Q7N5ET_OvQj-gw2T|Z|C=fOKLmq zXyNVuQMG2tY28mtf4a?4_K4E}8;c&TRfNZU^r$S?`&p<1;hah+T)8K7A})sgClMVn z&i2!0n{81-yFGc&s((D4$n5*q*Ic@^o%Z@h^A_8WIO6Ps{(s+oLOnU*fuMkZ4$**s z{!g=`fBA*R|8YjG)%ag$RDk}XqN>soPKc~kGCbBeo<}pOpCtBLcFIi`P6_a=mOVx6 zz{r}v{Hp~i82j$*PNz=6;?on)j=Z}(VlBsl&vMA)#0maeDxJn9DRG)EQsK1lMv6@q zJ7^Ys=w9f&rLz2+&)^qA%jyG1ZSNYcMnnN9RXWkK9_}5t?qR#m%Pzi)1eob}dOvT0 ze}FT2ul|N`G`|Ev88OWATFB4hWqv&V`gaaB_A?WVQ9dLTJNSho7F=LBY@*1o-eAp? z090^6@=P>XggS%A5b(-gwS`ar&)QY^B9GLFPKrSnS_?uvzrB%ocSb>nP0AGLWy(Zi zSc^z4H*&m|mt9DP2F3oVI!K;Kk@$OXNVcDWPzF`G306Oo@f-3mA=<2|RYu9zJal=5QUy zoMhx*`s6}U4!Z%YS(9Ya9ZN@1D&$64lkn@QoQvOGKwR;m22bORIJkH9-yW=Xlyv!G z$%yHM6nB;WuB-hSF>>P$p5VdL(FYdHT|EPf-sk$C(EYLWVetFsoZAunBhVWG0^q+> zyF($zbL;~Ouu2?poW*BCg4aSHV`hKP6obnPvBDVTff1`Z#v$pJj$;NEG?co}%M{l# zZn%hSl$&O4W2t6gxi18d^9G0_|1)6Re2IV22DKGa8_vvdpGs)qH&OOR0#`;7wcbzQ<&6^O*+aZLXNdTQlc5ctBJn{*Drw z{A6K2@!JfTtMoxzk^7tp>JtQZ;P@#%Ylbq0g)DGWI`Y1R|IL>5H?R2b6mqn=Ufv|0 ziVLi~zV&5cKGZ@5m9$4Jom=t#mBJp0LS3ZLwRGwmEni_jgKCXe|s)f~RXvW20)<1J7F)M!T6g6hZ z;MlDX6_ zjZ8jQrW*Ced9_NNzZqoAlOAlD^(PT|a)!=TLWsG>)|>kmmD>inQMl5*_|mcz#IABe7xS5S#NI7yjyim(du8xa48gR>;PfJZ4#NC=vWw?0jE0T znKzFP^t{y=C{h$z0Eaz>0GD;=dO+5dJ^q3y%#$wWM=E8uw*ZbZ*HwaFIj3NXKhsE3 z2=|h{Ee(-$>IAyf^8hP!dkLrtXt;f$tzi9n@GuMn9gJjFh@&l47ou6|l{sesLS3VT zV5h@{B88#SRPR0*RQ4=9Ohe9E`x9g9Ip+{1%_YCB{9@Eur$`jO{c54X{8eYepT>zT zt&m|=B!?JA@%U#=*M$HP{*#?voUgctC_`KeS;?5F^37vZ*&=MR@;A;%fTzVFvJqsW z<+j<4+edAoG<0BVjqa3}zS0`av&Z~%&2ar;9~7Y#om^ae{K4`0Ih0&oeSM{OK(b%| zUchg*3stm5Z~feA2C8bI$ZcCZTzqE0U3uFg&`|{*{{FcZzkmF^@0X9oF~^*)yRxR` zIfIU03`HVLvTyl;hHDUT8TScwA3GK|JEh?B{zL$tvn$B%;otj^5sJHN==NW`HwD1t_kNjWe=x z%C2ElXE1EtAu;Z*YGeAOH~Jl-+u~BoT z{orJNKrTNx*DfIU+ua~_o_#^i+M*w-nkPa3+_|KNM!bR&%JoaSBJHkTDxoQ@N8{?!QdwmdpdRWw%TO_} zja(_B#vj)h&bnS={Ego4Sr}`OTwWS2T8NH+r3h?Z_Q5XkM%}7+6^-} z^aWx5b^oWY2j`T*bm__Zo(#P2LjAD%zIWAjp$?7reL)SLIkx(+p}KGpvN6xIck;uj zyVXuMFV7B8qvc;j{TJBhRd+SfMxsK~`V3m)3$@q`Xc$wQf(u|qELnP4cCHTEw_j-0 zYl$O2@_tB_{%0;2Fm=HZM{FaxT?cFD=06qwd`+v|JTu|m)&+-|Y1MMyi2?Vw`D3aJ zR245}Q^X5rs>H@&;sXD@LS^;+?xCqIyA+=z^m&6D%>&sx^XJm&6>-(OzG`oarVh>f zvbYEAmH#N5kjY)3U)eD-)3Nvr;P!D znpxVJ{!b&JW-EUrhV=da0B}H$zn)()a<5W?5{E{rdJW=33ZeK40g+HRQB-Z5iL;#T z_3f^4(i8u^Giy6BFGZEw6|%jVmz{a$nOXXK(A(?5xmw^5K8Z(RLM=0U05V-*YI|19 zO)p_-D&qrqFuh6;<0HmH7&!C2eyhI+k1`p8K?~L#4uIaKptmg!Kkg4%g>?SQY61TN zoC~}9B-VXgTTG2qsp-$~wx6nNifk!UT=);hX}ZU3B@KikH)tTQH6T=})hecNzvh^R zB(n-EzIC{!LVoSTI-Su8eu0$JTcA?*qTn0#IW&w&|f*{fP|5MU`!@Ys>(H?mT! zxs*|^Nrh9~!qElF6_ykZu0@i?xU=F_!RMdmbN|S>Xn)%Z$uZszq4@))zC-q<2tZh? z+v#U_WN)N%)xbV7fYRpCWCDMwjLu%ihoQ!GxgQ}5#5mCLL_rLdE$e*6= zo4eijQ|F*&QSbj)J7kYkw$UWd2F z_Wb;;X&58dia(Piu63>_$K#V=GCpo-25FW%J%;vDXkr9iLsr>MhJI+a2U3pkp3$ge zN4o^9VMsOErpi}dXN##^Lc2`auM0@Rsz%#beQxJXn`cm0=qTq?Oy{Zf`tC6@qKf*L z%GmbZ7Vq9WceK~#i0*mpxy6V0m$_NB2~I!Zi?WQ_zoAyGgWd6?Q(2Zocm@#%RMr1k zU@opkAuB$Rv2#$Hj~?g|E3r7@Ig1wC-d!cTfB*j!cJ((o{vg|! zU~U{nJK~RQLuN$5hal>TZL0p==Gx|W;zKy;iY&-Qp6zZ6_?z9p-~49xNvDfNpv;&2 zwGIqe;SahJ?symul_a>Nw?2{SPcqd)|=!(f^NZ2`VuenLMU2I3|J)a1Ga zkAS?BK$1c3LwTPuoQ%zq!p~K|@xSXlpLRDlZ*FcppZe@2>D6Y$WwXuWqrHQd=LZ|m zZ&mAc90ge>(%|2-Foi)6?u0*uehvKr^fvNu1Q3gVl?IRplMMa1Nkg177v_1K-}q@j za7JO4r{Q3hTZmJ=gwdM?0Cj#WoZh)OI(NkL-uclvlgpcIyy?iHrIeNM8iU80C4F$K;6vqG^4H2cmi1BwG1Xd@;33n=+ z2E%Y14qx;JdxF*C0KNY_ooSnmv#IA6*y&t{D&d!?5 zIY0XOW$zd=B#nA|eiRM-;d}2qyo&v(<=}z^QWIix6IK+a(cowu15<(pi?CGn1H~mg z#UubWb_1GYLhh>GxRlBuyRsvYG%x!0J5<#}4M%MWC=K#i8W&9-Cqq99|0JY&zk5hg zcda$1(Yi9O%)7jFR39BT9QFI&Fo}nL-n#628IrLFb)uG^Ud@Ovxm)cvRmF9O-4sH0 zG|YNw3X4Z$@pSM7oKOwKx z8YM&Oi>H3zM)K)Xr!Ag}C)6!$$GEQ&-|IFF~d$TMUqAoLeUKg%Zf zlF1;917J|&@Tz6tg)u$~BLA){wjOs}vBG~qDM+ui91NU zB2Q<5y963lA(+%Pp=vushR+J9nE47CT>)+tDpxFne31Z_A*CzEev~cjsSOeT?EyD#==dh)A#eLz*ih|~+1av>lhR9x!pDyXJ4b-ey21;uuSYe{dK)GT)xYuXL z%Q0F8=a0lVg`FHKE2s<>#E2N>h+YhvAal>IWEMg=7r|SnD=z7;3vhh-L+(9TeDih# zkm~dmZ*b0YKSiRTit0l=_BuwH6CY$AD!{*V4$TqJ4KAZ&Spt7<$c%F9D6UMRjUnf* z-%cU}*y%Kgi>?$OeafD@jDZ^v6O)^BDdE7_m(CL{OA?-BW!YQ?_?rO)Cr+T3d6K|x zkgCrp;SL)~I1Tz!0vW;fKFpIe3<^lF*<}fEdZQ|Aq`;DiRGqsZgA|a46Wo5%OeINx zH{mG1?uzd_z<{m;6tlYG5q!w(C>TQm;>Al7*fv`&fD{C=NA<)8R%~x>w^jK(nRZ28 zd4>%Y9$|$?Z41d+eisEMVSOXn{qMa&GRqyEBg8bxLc~l2JBB)vD0;6r_X^6xdo^}k^-~qI*+Ee0-6Ca7SZXCMljV~XDgV9?O=jn zaNEA3@c<=7NeaNe*{A;?mr}aUAc8^$@Zk)m1!rUwjQv?elsN`6+!*_lFuDT}6A*Vm zZrK)7KL{b0xv|Z#~Y=|lv`m6zw_O2$-{IdqT-3V{uRz9p=!#dw zb3O#S4{@u0*mkh#qXXII+^uI@p87gLeH~!fj0{TPYLqKM!&1O>b(BZyS)f12k_eQs z1|~&ou$e{K%u+EvCEPmOK$B9s6&;jttDJKSvY-dyNPM$L|KYv`a(x&hJCZC=b3i>w zz|R0OX+UK*jqLn?8gnDX;;Ztu8i=34+Uomt56)Hx;C~t0e;>wH%Z!e45Q{8^Bw2?r zc?Stk$UnB^ZTG(~G$1J_c-fe(v3P|_1Ia%_= zZ+@WvD#DhM(r`#*L4ZL$?4_X}iCG*DlTjc}&L86V&0qh1#ktyN+h;Y9QM~ksR-BE*4Gf1t< zE-W0(88DpWJ|ohkx+Te!8e7sy-HhsK(G+*N39L1UB~*Uw4}xg5^(DSX7UDg6WG^-G zNGG?O)QB*L9e22_GiNi>#6MQ{E?P~-a4V94>W@s7`jXKdDJWvzO9#7uh%nqbV(L-ww~Z%R#A(ed>ys;$rr1|PnM{~_4|?Ya4(sqVUUWK!OcTg zepKx#Y-`#6-a?C#3tn{ae@m!{W?O*t5?fPV%$=OHdJ7UwmsX{`$7&}3r%s}!zjfTo z_UAmo%|ZNt+k=Ec?pf*890X#(4xSC=99&`cy4Pr)uiH9^K|cs5(V8=6x zuH0^wc4|rGGoi1{ZP(PlbM3}@(K|jraK+*2uLozY_~qaodcn}8brxKO889mkt@rtC zdYB~d*|T*(UQ2Nn_@g_=)gDIWUnG!*Gtc&Ea&3?PcrVa{u|u_}2g_<5;&{0{bak~h ztqnqe-6k&iy@vGAivybtaMiJy){?0*Qa{G6Qg2{|+| zc0vdOg1CR#`?c!xJf95+T#J#(jbU>q$p`d$hcUTxBA6U(5r}ufU?pI{OmGJ}A&6XR zYFgxHW?w_Qppxt+%!k*4Gd<|_9*FWfd*}nt1KfEB=XQ^v%l>gndBx{jhOx z@%pTQQY4?h>g|x!IYGTIr;@rBj*IAhCP-N?NJ;W6CqkaJAf0SH-Zk` zX^P|Mv?YGugy>W(!wARf7j7d*G3?ZN3jw>BI^R(Qhe=Al)?7~PvsA@lXn+@swV`?4 zY>{V_%}VY#Nr%Dl#hK<|*p&xN(&8iig<-L~)}zl)pFYmjI>31ug&&|q5hijKkZ&->(x#?{jn zySux>N%KgL+Qi+2i5SDFJc+fI11L~IFeI166xBF`1y1ds@Rti2qd`O=j$J8|7IPMDRZb9( z48kG&8#7*%E$Ees77fhZ%S+YUx$FEk>vZ;ibozZ`WfZX-A26m4n%lb$qfyJ+zzK=W zz7gf=EHEdN2p}1cVb0#56OW^RJu>ad(2U(`srBu)SQiecPdmoyyoI7nbW{H-cc^TadJ zkkhgnYYR|jc*kOa0i7t$+-eNVk<0<@VTZj`hMrJZ$|Q_i9hcJ4tb-T<8p(ne=(=lh zM?Kww&BkxVKmH*e+~L2@kjDDfLAhJ)Bn1^{q{?E@jEyyp$iXJeEcHVYzfnr_=erW@ zcMY&FlBrk@8%mXVHVu^*jyWd8ZHz{JxpVE!QY`Wkl3)watP5}#7~Mr^6|N__C~>?3 zt?f4cjV)zEHOyrER`1e8tf!QUK<6XZJ^&|>qrV+ zCjgQxH^nw2$YGnc?uuH2B+rwHs+K2HyVg5hYi`ZPEfgv92JzHbHyg};conpbwm)K* z&2kkmR#m&%GRMD_axN6UZ9R5xH|S#=B}rOgU7OqO_6`hvV^?f<=C-K9a!#=*!pztL z3(^(=NWdjx&O#z)6>%`Rfe$8ov*{gcQQM;cw)Ln3ED5S^h;8a2Y?Hdi%{3NkF;FCK z`Rf6!fs#mw;MYs-6V(FDa(apMB+#M||G{zhfk+J0{AyT zqaCbmI;24CAQ&0t^)`GdO}A%c2!$DQ*0KA2B9OW$h6X5a$iDl00jz~)T^ra*^5^r# zy{fV7+8};GEAK)ewZ`3fS^6;q7F>T&_ja8`6Eg>R8f4t9n=%V&k%~35u#Xxa5LY$T z3ntSXgockzSuHKl(W0Z# z*ivPk0;0BJlkf|^dZM(C7eG~@?383tj1bQ+!by(s;|aE-ef~JwZ+iu(USXQY(ixY_0G=ObfV*r6 znjkchC&j5A+j@@xO{zpFfPTYh=3$YStt}U`+y$qtq?wMoxEjpPePF({KypnQv!<5M zF)UOmyRb4K^vk$U#308|5^1P?3D?e*o4*aPm|TSmG?>n zEx?v3znNg`fbP`nqE>0_+hPhvR!5Gf| zTV3qmSzEzS)%`i<(_2ClJxuvVx`(nibw-xeYQgJ6zXMbX|x?-TQ+& z(FS4*+6<3CekQb8ZUbZc=jQ?AUD=;jNdDs83#c#}|DtI3pn z>NR3zjr`0utBOnmeeouKKD=&iN^1Y4@VwcsQLA20cf^9hYp6UzgYHVEnpO!7Y@9_L z+XKh+`i|783JX1~riYM35y|}(n>WRM%7@oo>c1J@4CU_25d78MQ`WC>9#(z8X!e_^z49;OXGPC<(IoVUAH+cqm?YeS!EgW}wQa!z}owe8qJTtur!nNs4DX%O=jAU+*ok&#_Y(im(;2DAVTOSA#7 zq9sE`xh<;wb3h`Vp);XTu1-a3q9wHWh4FNjAMGO=H%jEBHe%G|!c1M<^^Bo*IlW9+ zN}ScUJfna0lB^s@*{&!d^`Z!Kvsy4XMyQb);dh6#0S*(Y!IvGe!>AnO_M#Oe9uqaubv)+dg=sru1%GdO4eD zZA5QMa+f|8ygJMmS5Y$XBjJz7ewf0R64I?{0qhjf9Xr-;eAse*%(;pT(nY1;1WPcD z?%EO$i>xws<{9_CFd1;su8|r@8*%Or$h-tY+}PSNy;Md{r|My$>Q!5dYH=mA&FdJM zylh6(nK=;C@uJK*Y#pzi^cBaaHk5|8^#H3z^@d)Kb>M!X^M42qlQjG@iF3S=tPUUW zFO;f_&-AkEaGV3PY?p$T&E-mim22Bxrcn^f^`|UZ+M>zIwoH4z?O86W-)aR8V*<8z=AUWtynkyO)z+-_*DOmdCbxqB|54BX{{a5~ zN7a#m`)08=pCT=q&I!y-qS1w3yk_~j_znx6xz^{Fh4eplyyl2776vb59EWi*st!K4 zM{d+K3QBWCsepl{iPc-(vbY{sX@(k}cdYExHNOo2E&gkO3*=9PzBA zitAbKxwNOcf^0#0ZS+*#mYKaX7v0rCRrG&LENW3P3})y6e?-FRSss}`Dk75YrDH=8 zP)rZRDaA5HxKk-UucXMbdOZ|H+v*xJ|3k2sB=5tr21b?>&cV%6Ufs!><&ct zH4u!V$`T{t{anD~P!xFr&pZI)@o_NtcjqrZr&f3dODEFsyn$i`@^|S_3XMPJcx=8^ zQLz`JabiWg3!4rttclM#qQI#}^!eJNn00N-wFB36 zCVUzon!@GjG8b2#TOcyUpGHOdbcA8xLp0g`PLB0&wnb_``*k=P1#vmL7$7QVt)3Xu z#6uDtQIRZ0Hz44IxuxT8wWkOKTOqL>m*KQ)H%CU3wSXlV{LU^A@(OqQuKw8Sw-pu) zXWrrvq9T%CyI8bvXvyxnfPpeTUKsdFwW(CAXpoHAlJ~T#x@iC5;{KOA&;V&RZ3JYx z{4Ft;ZTRjQV^p_sE+bEBA&twBTgHL zLt(DKWp+8~*W$C1S*uQ4B^x3DRlYF~lZ}mfd*%WUcHR1<;-;gR4`x+;{MwaW4^^xV z*YNi1VheoAHgBc-`Vslo5z4YYVx6SK!*OMYxK+T4kg(%r8^%B$WfzS%#-vz1lAGC% zeW+8?U!6}!Zac{72`%+eYW1BWG?k39w$0`qL9i3uPm?0cj7v6CwPx5m##cT%OotBY zw{d+aK~h(mM|&tB)fbmBVOSngp9x3c?O%9_6B7ZR6<1bt#RLqV6DAq81)lvEwNVrlguT5eUnI>!qi_sMJY5GnJq zQzpz82sG41X+E+{!m>}+aek7?xbQ9-m7U@gupg{FNwXU*o30IGMiP~ZmR+I(6?EE}Q9s7)PNr==4Gdoh& zSxU_;k8-tHFg0w_woTEN*;rV1V=-SPy!C6ewqDa(gAKl+xvEv18`J^Eu6SVXY^zw{ zKc_8(UXT1FH}6SsN8G`EOlBHfy@P z={imkr2p3l%*Fv3l8>b{oYC`blL-pQH=yDQX|f&JqA~HIz0;GE9=#T&#pSYy%yM-} z=a@I#!$ha3xQ1&9$nxkixqsGtJqP1`(vTv{@HeG`xr<0vIrrE?8yCI3!hjlj} zDEynq6UKtHDLG~hHJ-nIu5K1piibU zc#q4HB2LBkzGvT1r8J5CQ0}wU!jG(tUHjQIna=QXY6p!j&fNWq%2$J)RJ&IHrbVhW zr7de)KxE;Gz8s&X1dYESg|_lW7Hii<<;Y_H#m*~3zv$sV{MmT^Gb{^_3phYcOAYqU z8eXyP2*Eq&?sWy!LmE|FlG6*Ul_;B;q3)F@0HcXNucHG;XPX!F74#x0t0wbZ#B z`vn~_!i?2(m#xdf4C`w4Mn)u>z)gcY4_EVd`;4q>k7lKfK9V3n~iSg{qRMIwY1a7Nito?3O9F5{>TOIk_% zZafIycvb7l3dah{Ruh;d!$OyJ|97i6Rzoj^^g+?k|R`tS1dFTnv$I zwxeJ#O*qniQV!y@#=&OIPSvDo0)qVVmiPB45@9Bin1Zb`jK}vQf%o_)ct|Tx;;cro zIP2{noi0=>KA>1WhyqiukP3jxB1zU#EsA$jNN0FKzBc&zMvghA(NsRUIWLv26mGqSZ8O6nj%{QEk*wNPg7IW zp#D~)LNW8Z1rhAjniLFX!KlW2I50R}N>wsZm|>6hWWg~=1^QVi~mY>MyV?<=t}FRo#pF`RE1-zCJLa+ zFzdsksN9n9C@VmUD%1x^)dW9jQq!pClyaDH0au?xlSc>TWZ)r2nvVM0d*-$vWI!?M z8+DiQ7=utsw{vqOakau?h&%GUei7!}YBYP5>#t$d$GztV#|ydi zY5{BinWp|P;~q<5!}!_J1*Z4@XPs|eXfj%2URlf={xY&kXHlT<`m9rWUmqW=5c;S? zp4>0>Y9%Qe_vw-dbZmW)MxnpOx%K6wMUTktG~UScb*J&mAefYJNEg?ToH&FDoyYt>o&gEDDRu%=dwiy_I$Og*j>bXF#x)& zx^RRyfWQxEU;T7k=i4noUjpy^`0(wvvl_6|SzbUZels}!yeB+)6odil4~8heD%RI<%%qy|FfaF_VZKW z$T$>9g<$i~i{tT~YAiTIk`dvOSt_i-%G0xe%l{njbaJ+~JKqAT-D2@NBpe&d*Iv5H z4~)o*Yf$I#J!8%~X17%(yKdnqm%Ul`x-jT?!EL_bN8uIhGwNXs>$%(~ct@R{=81n> zJlX1OcSvkPzu!1YZsc?4?&7yi55C9$Ir_Fc$NL`0())p670=^NZ|QhUP9_ zy558YA24v82IH=Co#)f;=H|`K4c@bOO&12FSDOw_ODPejr;NrXrHh}OGOxrl9;>c6 z^plw1GczcOW%HVn3&^fSqEhHkHk&dimLnqhw*2ochdM_9_d`EQu7J_-bH==c)D2A| z&TJcJ8R{Rn>htoIYq9Z?c0AI>O*BdjSPT^#DKcz1KK519ESjxb7ws0lVbo`4Vi z8Kn>PEtO#$2dTUljL#Ix7z;bix<3prHqZ#*n{kSZ8SoZ9Lb!GN9uLpH-Hcb#j+JL# zDpy=Lxl;o~KBr;4rqf#Ta)f%ihoPA7ifwMUt;aXacKC6Qmf6nXh6#dk(%yX3UT=7x z$^>3=hMO(v=eX=~ZB#nEyuT}T*XR`rr#qIsCl_n8*jG$_vEP_4kPrsUGn=KNJJyx6 zMS5LFBqK0-QtgQKh%c=}{dBK+fJ2^f8_7#xt8B~)*KPnykJRd?z{=VDv~9axzNX5+ zYU$$KnztM*Mj)E34enZvv}H{hN?!l!z2&=zm^YLlXS7bt@9H?64z;7}wMz~Em z6uY>NWw1j>@#`$$IhZX}k2Uk_ehkPCob zNO~(fEWcd&aMC*~`JF*C4~iQ&EjlPn&C2AVcAJx9$98m_oE#g}s>Q6$sovPTnSruB`WYBd>y>e-?`>qMDCMJ#rG-{ZZOqBSjuw4}B)%~l> zue=>r#?2cdM75XWjJye+{}ST;(7`Cf8`ki)TS>2=8wpaQSk_ppjQ9V}f?3cqFtNfi zS5twDylt-Xx*PJWtLN$lyivMCKt$WuO%`p)=Q8wLXS{Z0PP=4LsfKpn6ow6+s)GKFjGHvff$#r>@0ULP z={oR7Pk)*Oxlg{;-G}Nn|A%yQAXM0WNY~49Thhp>T zPc)vV&N}^FcYfOBgr7FK8C3cC4fNfIg)O!F~eW;Q=ROUz=FA@6?vs!H&*uv&EaacG;L}+bE38|I~ ze(se0MX1h^aRPKeVGdxbn1_Z&_)m)eP~oqM9JwrHypU0ftVPua7iykewM7$U%WU1C zlBevL8HSh6vtQN3Y zv+dIGOl#fxoAvF-=4N$h!d(iM{SG!<9@+X~32=iomP@la_7JVmj~?^+IeHC2}JuJ1qCVE#4!S8k3gfQFfz7jt-s(lG#yvU_CU^71ASIc%y-t`Y;L!eF2~cf@n&PYW4}*%w*u66Ce%X{ zD$ml!VFm1shXy~u;;nmEr*629JGR(SqaDLcpa%fZ#UgDW(1TM_jFDA08bv^ECy%bj8ng~XTY;|Dygs!rBNzox)aW*7dDR%!exA^yJ!yxpyOS;3+I({3iw|?_}8-3S)24CMkBdMcp#lx!}`)L-u0M#m&fbCUXYRpO|eV=+**4mcM zfpJTC<6M+3HE&m@0uR;Fl&m%1Ol`ym7M0M)z8p?9I8a#m2!(avOXn;|gLs7AeMs#$ zJU**7XhY?Q|075fA`T#u3wkcwXPeY48VS&R@V%Ztp^VdRm&^nj%&Q>9*a8Wr_I)rR zs?Z1c2Gf-5`d0xkKkv$O1-j9{Z5Qn|vj(Y*6I1vzNhToIjY=l7|G?xr#=z=I#fpb1 zSOM&oi02#IlPsUT4v@47q6D#br^7J@r(}wodl^ z?DWm~!I=au13xgtFUw#~@P4QB^WM)zFr4bBcftiSSKRn%tWQ|W2VD4}F!p~?=q8Rm z4sMF^Q!M8cnAJ25@x`#>bw2Jv8CrG|(%!m!Py)7LpiYCKcgse#G7uiYiEZFgr6qzu zC)tCYd=lX1tkR^11<(Fvc?vt{BWZ!${@z0iiNqoykI?9${pU?E_$AD3E>W06baUta z*iSm)jK&sY7L!e(HaleZEJHl;!16Xsu6#l{JD!6|i z>&stCuzkA*Par*}r>4?rdVgEq6;+}Z6arSH6DYcvPUva|oVGAKI{0Vp&;bTxZ*eE9 zhiWA#J2+lJ|6OIHdr#T9$KmwN}t`~qJL2%iP~v?860VFz*1Oxuj*H+R@nGg4-S zUN~A9W=|7MdvQ7`uv>HYSQUN~D{6lJp(s+hJfOaBW!s)fBiL`IM|GpI?4eu>H61Kg z2^#6=Yo9s11=yUgl?4+WQRDz1wRw<`;x;wl>V3_KNGeG_B!-JrH2h0gys#IE!65H#cCH&;y6c;hQWIDv%Y8C@48Ik^s_*9lq;5}W& zEB;(*GSlY!BS*=P8JX zewX@5KUeA~l|&z^oDCE$WD6j4MByaNgAuv+EbP~Jw`or3+T`GNii`|}L4?2rDyELbS8m3oR>lsU9UvNC?&|L*D4?OyS_>3nQW>>NL(h&<)=A`5TrTbO1^SjW6dZoaDLVGhI8F30dOR`73l~HgB7*vhB2*YQp$bKtz4LPp+Oa2cVQiPG zSJ+y#2@WssM&!yOb~s64C&v&g^1`M8&Rc6?fAP{z`P?prX7QExsT3iKebVm#anfi< zYzjx_DwR3lHcO$*#-zby$gR(DjqE?3pF;90NiY z^d9j)OC!rTh*e&np|$gvRsp_<9Z+Kls@&4X3bwhZFyMlvvj+fuq zij*7R>xUM60}daYkFy+)UGwUQ1 zx##i|b;82Ivypq0=GafHWT+7ADz&O&Cw_uIjC`O} zYtEgxQ^f&^i#^yVEy~bSW!MShVKf5_)kg}N$u1^lP8wS(CoVa zgs>vL7>?zHvMN&HIFVdlzMf_lw(`CTOIVZcCvs%byQggEk_rWJA}J+9B4|`v+sKei z>U9PR9L*GLKK(?%S$>xzYjRlX=R`~~LA{b9j0Z=&7eL7%<^#K*;pvsOx}ef69%Rzj zRqm`A&NdwH&w=#Vk+>|M=8YsQ4u!`fM3_7=>(av`5(OOTd3-9v7#5+U_V5+gl%6U6 zsE_-U4XW5r74ND0p$f=TPsYHFqhH48L1mU#gYexm*s;JLUYq6WPEDzH7Tt7b21oLs zE@d^0JfNw&z-;U09!$XSf2v1EX^uD0&99p#i)uyyX-e38R=`byvK*)qD|5`ezT zN16i1{V3nCFjVBZ9S~c>9JzyLQsrjtl9maoeoT92t#YsAt5C)hSsUAZwfEorL@|(;IwpD<=z_W-y=INu4|FF@VZAzp(vtG& zx*MHsD_TZId5QV$%0*md8j=s8v@U(u@4MybWLJFTSH`;JcXEaCtfflg`24Q$=k2;{ zalaNj$Nl0gxB^y<0va0fX46B^V_MDukm?@MgX7v0%e49(cj`OM8EG<=+^qKjXhO7Z zuEXKAk{xK%D5{&bl|ab%;{6DHG`5mvS zl73`|9AVe(XnSHZe7vfxS>frlvm(f%db~=NH;UD0k!JRMl_t@a$j`MdY*H0#Xi{ab z)MTMSE^bmO&<#z>?76<-;?V9bh*RY2=e8!Xo1w*dL0QdzsTFz{ZmR;ADKhERYEQ-2tu zkwW71B6usVF+mB098s#vEr3;Ub?hYYgwk1{%wXpPQ}W#Ehy&B09?mMF_~z|Km}Eep6A$?J z>%iPkW=~t^4l-DZhVE#}%BmcWxF!D!Vpk=5REfLW*ASnkoI)yh5YtXA&F)!NdCd35}53{%$+gf6^*vW zdeIe|P6RCeuMotnwyeP9dE*{<@`^p6xceOkx#{cRjKy2vB{`g=zsa?{PbIQ(3eQtz zW|bew6$)u&Azr-OkO5UUOisDFmL2Jrqs!yJM!WcUQ#_I|Wy7eAmd1Xcc4f0GY>=p@ z0Zoo^%oIg}ALu+B271_aOu10-8Yux(1{qgEusIL~S#vD~sKwl)YYq92iFdjvu`<)x zi`AE^Y6ElwQt(hf12v&V2DdghcfWQtz&F7_fx8I?ZDafSOn^sp^^pWg_aJ>%4;N$N z{NkuU1^za1@mU>5AdCtIr*QE#JKf9t*hjv?4bdm-(4X0yg!}Vd8oUBLN0HBvF+s?b zuK@cZNGCyNfaZiRgnW!~iRfZWV+KtLf>XW__RAnSm_5AuM!OI?J8r0n5z}>ZxB=y~ZJFCofJKFu7{(ON|!vukXa(HzevGWx~T4fY)Mph}Y ztS|F=i-%$H;X~JhFbeZKT&>o3zqz}1q^ABfjXAzmMpzCLv;HEq9K{#@;54OR8TeqY zGb|uT6`YJMg}T(T5g$wUjrIW62)wn3<(jUD@|2BWWg=l!EQnDNQ(mI7FrXYo_arc` z_WJDDq%LX$(i*9&AbTALsp1-y=Sh-&Ib6~e3wtqN*^;LFAa9rEzd|p3<1*`pns|kr zaY+h&%6j;l`=V^f3+_r;aAAbu5GWb1?Mn`FX)&sLtBjpPlptZdq|3H#SC`dg+qP}n zwr!)!wr$(C?Yi~P+*!;l?wQFdY(d6{ zW(oIWVFMI}f0LIe+`@PClk{>A6sAz-u!E^Kmw${^D{l1LR6j9XDh_;hSf^nOTn&B% z-GXg-^@7%F?g`3Z0=iJDc*GXWkz!~!3VPIC^Cq=wIQEC#u*(mpN4N{FIAT{J*dQ<2WAg5iw}1mfm#_fEyHh%5IFEt=<5fg3c_yYQX9>!gUuv z>giiLUp`#Y9xMb`Yht6TkGydlA+kp7C(}H2W6&3*T70yU zNvyaozda}S%ij289AnX&1X`F_1-wkL@?sG+f6#C^zN!_|>PRGOM*~z699PFEeuRv)h^*I#CSHlnPNCZq0C4F9GxUXVt&+m7&mx}E=MIU^cx4&S z#1ciBR`JLH?|$?C-|=pPqs>5;U$#9iBLD!w|3sir)HgByjdo9A|FZ2_?>l@!``gS1 z(+aFuVpYm-MD7YzEJiRV%;yys;e-T`ka?U)4n=9cUN%7a5WFa!pBNmkrAYugBE1b= z$1b>tuS~5Sa$YM%w`VOg+|6qby^#iaBHc3=%$H;A*x>qk-m;pOL`JLCSBbU#zbhLS z+(oJb%S0K6A!p#)L3kRlUk};9cdnigK=i&Rci{Sd5FKRR_F=oOYBi_#|A_5ZG8Hf# z`%DiuznWsu2%-VzV&)I_TSw-h1kq8D`^3$ek1{eECe~{%o** zKH#d#ETG4!KjGCS6(QAvb6s% z9)wUrI;1$oO4Pwlz=LtkLR(v#{Xe~R>3MhZq+azCD>t`K7pG0IVV3m|3>*?-%8wZ; zz75$M2yGzKoLX%$TL_GpX+U(`VcXl^V7B0N_NXf^t!o8*2eVR`W!oZfE zxZDuiSe$-7dpm>^hqH2qR10!4pXBXtp;YW{LzGB z1Vo~BKVjWj$UutSe$$3_GdGkVFU#f#?!D!zg_oM_zRW(+%*`7F7~uPdyCaBJa`3_P z_L@y}v{p!YPbv*Khg>IFRmB(j@Dlz>IN{DlBP~v`Xap<)=BKbvezDTR9)x=)SXG2W zyi*q_9mu>C!AdE;LYKSbxYvcp)*+X<~MEiXmk?NhXcBsI};dFx^tZ za}G?hO0?de-!fyba0n+tM2`--W8&^Q;#i0=Hlsn5!kg5A)EQoJ=erbyFzv@*VGaFY z2~IF{>*#s}HT32dq~zu8<8ynCUL_%ovwG|YLkqTvuc?bQ{C~ttWH)JgPpxAwJ7#jx zSzl4+ooERK&}QBQdc7`CfhF=rYVRfN5g$jRLNKYrtEUvQfJ@2D(}$BhbdSw}?44I@DF-QQ+$)$X`o-NR zEG0;fgyB-p%=o=w@)N9f|By37^>@6#i~W_iMis80^VM@ZN?Jh{8v?A6lTqOcLP(8N z?$SQiNu`d7*ij>pY4AMZH|8cxWi+ybW#d->^i})6YaEkeQNrg@hb*q_Z;^0FzxJ2R9XH`PUVu z5%;g5!nh66BT!^OCIGEhW!JEEHV5vPwSb8^5+X;iXHUsA6QzW5z8*>|=;I5#{|vec zyS(=JYD<)^wBCFfmdv*mkWhmq{ii&bf(U993&ux%PWYnCG~Yl9SN%0ETzI52CZSI8TowA-cGc&l2KqoLnORh+}QXeDk!=Q zIMY0mr;UzA96306eY>BAtUvlnPG&Adqfp7}Wf`(aV4`8+KIimr;u@NJH7=%fzbiF0 zRsms6@Cn7$VG6$b#dA=$6Sdi@I#r-!B*xfqwO((f9v2Z;4bbqBc406uf*oGU@02H~ zM{x@1B#I6Rzha6$C;?BrknhBFHmOXY$0MdcL?FO0V15bQDTQ0%tAPYVsdRm>VX z1#mtNe6I6_K93Yitzrejjp7-{K&7CIrc^S~vfY2D*9?x6t3FF3ejUKI;B$oWrfEcQ zVjKp^81m?176Pk^&vRA8KiuK0mS<@K6^DiJpSh4#&R&VJ4v8`^2jcAE{`QeTC;EN<$9NlUd_sZ8)`_5vGnEL z_u$c(x&yFD38v-R*QNu#eAlno}y!@Y2aMhtTtiA`2ijRTWGmh zlu*-joila||5@O3&&&GG&#{cl&s?3n4dBY3wpFUJ9MOm|?_IWfT8{D1zo~r2!@xg? zTHroR6aGIKnqw9sXk4&h;~#|rBI>FvWB;hCfe*&zD@U`ZR2hOypimSEa<b4mPJy8>bW5J=#?h5J@(E5BL$;Ls;O1Tcp7$hL3og2fH<3Alm_oWPztUc>$N zgGO2ELL5-Y>(H1jX*Y0@$i~nEj2$opx^?{(Ye}W|LSSz)(gq?MgERUeM(&$c)bdmV z;x9nK>Fw>21=rQyCC>^W$zyLLPEMq3 z^8N;XifD}HhFFW4Q28}KdQzp%Vc@5LtoZj7qAceNZ@dl}wpLNfSF%pi8@PG}78iIBNVidCn&t<6jr^CB|%c+yq;S1Zy*%LinUs z0nA^AMp!reSFPd?;FH+DcQ*xSt0Sf4dx0y+)Sc;1WTs7J%L-tfy(BN?s-|*%0{h}G zkbvg>o}_oreY=i5JT{0$uY9SCZkxL*ATdvBy4ni3MpS7}Wy;+ntGo#!)Y-3c;9hfu zZY{xr(hF?X*lGXO)+#vKVYsE>1kDra-JwUOhgNJOU>wKBX3eRT6D!bD)k})>pA*2m z=$9bmv1I(g@$bQHwC7OqN)0)$^Tr5Z+G~Ep_4>kNoz6(brcI|;?;eb`r?3x!neKS{ z#kg711aB8;gH}4VBw0XoO@6}AWIjcA5o8K0z{_qh?R}-LhM#$JJwCo}t?lD0RD`c@ z~U8i6a}lB;A^lnpM#` zhR74rgb$c?Aa=k;Y+C%eSF9nHPaCSLC$5uxg|`Y~0&nUaNeu&>eSx2?1l`jrJpx(q z^SLI(nC5Hw=_il5bulRA?BMV43 z?DvOPK#^Y~!#O_4!ZP^h`xhrFN1WZ_4o`Yd{@vW6>l}vi!kkNL zU;8q?rDb#W1eM2qr8l}AsaAMK1X-N@;ENSUl#h-y&`e5e4Mu4$xOeHOIGRWF>TNQ zA@zfUS9j+`v8rmuPN{Uj$#qx;vIG)J!R4mb#aG$}eZCzDwhb&alW{Wxq+xyix_YSc z<>Rc4G?C8<&PM2KRv2^JJlpgMN@Mi(>hGF=h-EArqbjFi8x}*rfqI|Nm~ri%1kvoT zyfw+Xx|3h7jZ{DX$g()dM=m%}N9un4`UPV8_D@QJUY|o?Bl#7+_^+f)@UhLSZf=im zz`*hK?xCW-f-zWl$qGulFCn6_qp}KgWs(nL`zy9cUYK|AIwZkF1%Zs$6{xM$%qWYuAcH*eBMFr7-QCv63;xf=t zrVRJYKi?P_?c_KGw6RMOva1Wa4aq{gQXQj79_rlY;g2;BA`{m&QF8fqQX{lii*s*xLOK$SxE!z|rKPaRsRCQ@F! zU7{cA#elpeG>xB3rP+`QdR-R1OG5qGYEm<@W_1y?U?%#S^N*pE`x;BA)5*LTK}b(q z_w5(_HS35JBW~ZF9W=4$&egN-Q{Gw12^vob(p}%EML_dOpRj9=EAMQYA0;K0X$_t$ zbSh$khf$lwV=pn;UwkFo&V_@)8*FmqEtlg!lv0+wc;c)tLMpoHaE^m8E4z`fjQC!5L%>n&*&`x2RLr47edA6p|n& z6zz;Nv!*;^uS;WQk@RuMO1TM4CT_I|hVOb#p3gr_NE}>nF?qrOIa~MZ+{1O^s?S&Wfiy(#YYv#r_%mv;W1k@agKSQJK87+)flIb)=Lp;JM zQ*Qfai01k3)}buzP`I3I#}AvNz!&kep|PF-Y{Mq)yWDW!h+KDZ+Dc}O(I(p4;0~ji zV%3NNpSFmeBE<+Hw~35VYBNd075ue5SAE?0Tv~c?Vni89r=;dY+$o|7#~a@RVM*My z2GYMsNjhrDOl`r)Mhzc~?4~0s)oxG8#1t>yy_gF{ zAdgf1a7ms~Yd&2HjtM2CN=*@-pPR{l6Wp#kst+$FrH5Ehc6~_~zISez+MS|bBPq*} z`3$1G)E>_{XoPffYzKJGQh}aOuAKLihpp=vAO{>@WF`$Tj!}=uI=cZaaRaAWK{XUN z8;KTg5RuL_1i}fzj2Rak|4{FNVEUil)?Vq+a~TAfbA7UU>^Sm?1B64VsP{K_Qr}2$ zy}!1d3nm5a&t714tf86R_cZ&F?z_b>kWR#TG;|KlM(0$Nf(9Sbx{bw49&WZJBu-`%cJt_IB^w~{m_X~eG4p%E{WC|Tfi|z-K%bVO-3BID zsx=ViVk~dwBfr#ohXW!+$*Vh+vGrqvZW@)+v1uDMpaWB_D_38}IRwwZkv=G;aNFM1 zvQ5o9tatv3HJfzTWMKGW_ed~*<^A3&i;AkaQOESm4t;;NP@Nu6g8z74t~y_Aa=dTi zZ%-DSvRtZ>12}4l`9PCL1TbT_#*d6Jb9sz5b#&wy&X`2w*l%i*O%+h|cQnvzC?jif zP_71nps>B@XxFYbYe<2lf|S1%%v9cvwN5cX#qIu@(@JSUO3?0h%N*k^XQlem;QAEp zT7>UL0D8Ft|Dn*RD5cBp*fX}f9T(?m9JoyzWt?9C_|mRgjlRw6Z~n6bq=|^}14T}& z)=Fj4Q_EmXnXa(TIUHL&0vHs?v*ef&_=#Z9-5P~>6x=!|Y4-xpp?u5)-?fvYF9Yk- z`sKq_H~&uefGpI?PtU+A$TaJTJ5MaQcV3z~I~(5xdvu$cNRpTuiEx^6bdY;ilSk+#0RQ`WyID~q_yxU zGuRonMjt1nd*|NMcTyD+sdRG&bYGLK$wHm%y?M_vPhDF1rq2*@wgR2a?T2CVxx%V3 zr6w$dDCE^dLW}Tut06d-~tXrgkrV-|F`BL4 zm~#m?b9rMVS00|V-t+)B_z^W1l^5qyK7VYOJ{NjA#sSMF!8~eIkmn$0-HQ4n95o}P z(>tT~#HAF4IvnG9G&KI(*28_LW6Utd;K9jqrOe zT)NXp1)2(lND3hiKDewNNfQ8+I#es7K>XR_=h{*3pQa-T!6JQ<;U2+@-CY1u+B;bW z;dE@Scp_oo>o!;7|61$k%gbGm zoa=R5SeWE(Jpi1$RQ`p|coaQ4KIy9cR`tiXB&a%j_%V*78j9zvUIzvYYUgOUPV2b& zmF<;K7B&-*E5XgPtvLb?0UjEVpw5jk*m6Y^$ae@%Da&-K;Cv5Y0iW<^m3wqnhj)ct?gAkbI>jr}Ti_q1M|r=J&JduQa8aqGU& z8!ytp7!zp)tie+vr4B_e3@1G*-%GVh&~E}JHn?l@gQ|z+XwHJyo6E=jO#!QTmFIdLD@r76M~5XjFApqtpcmXe)NSMkGTnYG3c`gZTa=5|(ciBdI>pZ?M{25QvhMaO+FmDjRCDGPpPgi7 zN^np8EObPh?@bsZ%t~a&V{(4%#S&dq(J1Bz&i-~(^sX=GZ1&RF_ zS4LPvr%^Uc!h*F#E{zeH8_6bZ@qgJY9Q_Sy*6BXW^-aXm{S@$^`*X~0B%%;D*>(3+ zsIX50w)Fi-m1uGxI*Tea0KVuypY}T~a~|*Z;KE>;}>YZUl0{n##c(YAVn+P2e)x+Rk&thA1@(|hfC{c@$7R7+QB!S{Fcgn!lumThlYnk6SR?~-u&rN z46(FW;9q2aVVE>3UWnhuCK`L@+ZeXlcLF++1duX>Veu0U|2#^0>X7LdGVSs^cO1@F zI+dcxyc1OhSo@T+(AWW4WL58iwntm}&mJzoVYdAu+^^9uQy`=b5hU%2r5E~Hf-Ly_ zjj11EOkH(Q>A4q~()1MbCkONv;3zR=IWgYaJXmX#_e!ruizmt2U|c2s{0%yW|piAFZsrT%aA_HDFpW6Vhc|^ zuYc_BLXv z)I_<=9))HcHg~fSfP*JsSx9DxYS}uVlr5}QS3O@KHkXllhwCfE7nwVx3fMD4_f`QA zcf)b$ao7PZ$=0+;{h~_M=joGk2hZb%mml_I1Gt@1X6P_V2QLxjXlK3aWr_}1;r^ZO ze~&7EB@#fXnTEoD_Wx%i_&xX!aQass(J<1o(X!APyEz%#IGWqqIMV$u61CKSuLk<9 z=wT6jkV@rfM=K@+0KonL0ATq4SZ!!)^Ls)k8tdPySX=!^gK>X&Zm=fs*8D&zx$a1m zKe^zCCl{TNT(NdY&s)}e?r5L0CW(zXQ7Dj7@~*%7_Fw{#03s0Zt4m~kWo&UUK*IRB z>zmMH!10oQ{gUO}4?RW>Z>ED2Ck=hGWy0~>b<&;{O;a9KUs)dmDcNP;KZSR--THp- z)O9XAd`NC0w6C)i5*?}ey`8}B%^}ja3?2S9Hm)JEnPVm|ILMFes3SS|M~5TJW3>XE z)F*{h$m{7F{D3=3$=?>#&vq!V6Y=Gvr}W&oV0AQj!0T_CWn9pc(%iNc%X!$ zNAhl=zjTJaXQ482fKCZk+MnXFK$+GQdROPiGGZop;U@nMLg|l$ajMJ?P(O26`XON` zC_?taK;nTXBt2_G+-vQ-_DR3>w_?Wd-;f2Mpzspes*s*EO5HayfiR@@IMxTnnu2>a z2c6CXqvpwtaEF{2=75f~;&H!avR!pXmlR*%1M~WSC(fB|4&)-gKj3}21%JAftG zr__O8`GaQ@007yn{u(-~&|KvH;iX2vKqGF4Mpu(Fosf{9?7LIM*@F*$3bPH8nDA+& zn%uf55EZdakC8`sP0ibR z@Zjj^=)mE!9|r4tntZmTt7@P{N@1@zMAh0hb^YDOjun_=y!VC zNb+Q%ngi0chJBzUpq|Evx||HiQmb=|>fkl_1hiRY)p}L|;=rl$o$n*KJeP=KWp%hc zhtj@%bGp92k9c(xf7sv7N)yp*a=kwyIzPj?+~4-k8dhd>y8U*#iOK1{Q$G*ZB1^gV z0r&L?ZY*#Qu=EOeh?X2N!F1hon8T%*$SiHI=|0&jX|-&!ibYcpPcINyYza*uB?y9% zU#W8`8;d%baiClZ0;P0)GymnW(Oi+ubCAM|o7O>|K-4~b@#4G62gei62lm?4I|yf4 zDpPG4*x{^4I%l&(3RYL*t&3OZy(bAH9U|H;_ecad)kYN<`(6daO&Uy8_gc(O}%CL zDRz54v+ zPk;i|jpt4Bi&gUz#Ig_H&IE%Cg~f_{qJi4r|3wUH*qYECD68{L?%J;WH*NW_!nXgZ zqg|5+o9{OAo3|qZFqW}SVIp@q*5f1T6yzxla!D*{bW))P5BYRw;_&cFf)6p=aw=tK z&=KVYqEus>t{N#~!Sv#Otsg=I7{)zE0+^;4DTPk-&er6ju#)@%dR_+)+Y<$GVQjys z?OKu1v15zwat62*0TfABP6XscSkBVa+__I3AwgfQ^kx$UFHeR;g;2XJ69syuwq$|m zv`f$NfBFE3(*C)Pa}pjGAlI6QM&LOOdc`U;JOS>$lePC8`;)zYrU%RMR|;{|kM3?P z9ltdj#z_{4-@zgrhDd)?K7Jg~?|G%LW#lf?Wjrh1umH*w5`W|xgwuimH!ACK?K$6ZI_L;ua z2(^Sg&1wM4=VcehKvf%ZV|pg!YUk`h)=U{PM0dAXzDx{v-n<8iN4m@x7pFsac&? z0%(-ny}4MbZ7hpMQYNca!Tu@t!-X$ zHcQ;3l2)B~90r+?4dSkZwe2_;xTC1zme4sd?my{C3V}HJatb;qv+`?USqf$+B*rHh z8cGwey!UH)HWsY{;ouS}#M{y2j@CP|NeT!+R@#){p1zFR8Y}WE7+*{;AFj)$-WK8^ zyn?8N8WB_(9-_arJ7P`+zEakltR{A`(qF4+e^ysUssz{nX$rjTbS4oL&noiC0D1}x z;#rZ(z8WIB&hpFSbRzEFPMI&+U@F)SI8+FQC~@?m<#>4v?ZO5y0Gf{<`;38XTju*z$v`O);$Og?5G&P;zw0W1r^L{l&Pb>_MzSd+TA5 z&E*D^0T`TzwMO1*W<5ZQINq#9f*)U=!m|+~)uD6ojbpk$5^rJ1pM6D|P4f^39&-WUVH5^RLI=44z!ksA*DjcV z>3_drdjxbn#7&0p(|F)u%9u0RGk1m`Lt#Drumq96_FECr5gsCo7ROPvP&^xDx}rBE z>A&yf^1~+)x`_Dmcd>UKl&U{~AdP4~$j@!LiGuAjsIj|azV%f%eB@>oarLnfG;5Oy z%-2yK1dppFOSa)Kj5ts~MSuz56@S~k9`#VU-!FW%q{$A(9{Uh{+-srmgKukY5kGs; zc0I`cowQ;A45fNMtAM*pX0m5~v~HmOjrItk2jq^~crB-4p4n`VD#x{&1qPkHZt~sU zeIHzYRmdngH%IaxTy^u%L&(&8hYUW1s0%6&AEP~J?WfArQ`BA6izkiIu2VWtQ4R-XcEgro-|!gt$i zn}K^Tb1*Ckn%&|90TVJCDa%VhILW+9IQn9NFFsU|x!Q2iL~@WO|MH26R^NnLN$(u% z%^m*;Xb#6s2T`nAEx3R|=a`dUyH%?S_-#RINsF+M*5j13zFp~+#o5cXs-xa4?KodH zCCJ>Lpo}VE5-_SIH9?wP)_J?i87@s>9buf+2vtlkf>^DUNX%^$Y*;{HLk_uC)=1Q- zF1HV^AmP6cvlabPV190UhARw#?ed@yTXx0}BK4eFDbEpp9CM(c%EU zA1n)xDaBCD|83!tlnlij1K4p|uYKD4*=~{SNCS0&@gaf!Ysa35dsdI92w;cKVJdJ; zWVG${oz?-7V4B_YC#Spv!jS{h@WQ|cnpb8%(e2;#?$oK$v-2zSKgFb7dmgoa3rMX} z%4*}zWNnZ3U16#$D-xV9br_;fZlcM1Oel{O$Cx?LK~MtP)|d>tPoCz*324gZq0^#z zkL|bvB>G-mL0G)Z455|63#mLaz1}%Lg<^;V(BLz^H6248KLN&nsqewbl!7L(k4>M~ zbh-G2cpOtiykbg=rWwIg$K1+W^Bt_5EZLh_SBA|@(qC@mpVXzAVv2m2tqJfWSz3m% zID$Os{eK&KW1I*xa0w)TqsIeGVcZX+^C~eq4#j7zY8pzWGwM|W$VD3a2Fk!?QyyP|fCXv9dIr+jsX;yJV@w}LSCv9T~tLZ%t z3Y+supj;GS#5X&MG51)n=@2x0x`%TVQOwB({rh@N=K>H*PU~RKGrLfL3!;YD@WBDc zoSxw(CGk{b80FhJ92N1?o3GiK2)2VIo5epSPFyNca0dcDH9GyeF2cdp=};~Ln&cUJ z$DzNh&Zh~n(b%2KD|s1uT%A4K&LQd7ij4A#UajLs_Z=~EPP z8S+tYBV@bo!0vJTZBqATTp*Pun`Xs6u~{!-t?FM?y9wXZ+vKeffK(aAq>pXPy zSR%E;;=z?t-Z&E_<8ebxy!ro0vq&%cMaE$Y6yj=Ylb=_Q>hpYoOh&k91-*-KnC4a1 zKgpgKFrrGhZCX|pq!iVaG!d8gsP4%c1Rz}o%r88ETg*QG#{R7Qq_I~dd_{V`6wd$Z zNXW>gNN7rZqXc&lKvjj(KqHoEh{GP7qPrRHC1tjV;wHU&0<)VNT6 zMjVW5V}FYWrKU2-P14pHO!5%QzCE~y9riME^k8CM`O)1F2Ga$+nNJ=uxQK^bKTUDi$`~rBgGy^!43UzKTVk z-s-J#1KmxSWzm_TWLXsTjF6Z#Gvkmb5cbbZ3f^}YRw5-TG-T35I)K6>RMtFUVng_( z+;!`t>jMqi)Qy41J(3g(r(b5Vg~Ocvc<_pVqkYPT?(l6ZiM)0@9MEC@+9dT^egAIxQgBPQ1@6aDwe4+>h>1aZ z@}2wX?9@-8cXN}Q=ExX(okd74-hmD|IyKiFxx7W<5@Q*_R72XHYM_@6RXj#xoVLGe ztXQ!WC@3MYND90Vi?q>XSp3v4d>3RFeCk%gF#IjT=ot=6>EJGPH26;&=~Ie|H<_-H zw;nLO6_|U5Yu<6Zc4=ZIGELsGwmVw3NMhvz$FnLc_wY*t-u4m))Lk*M+tODjjw!XN zc*E1@Ih@ZjV8b=0bvb9JozCIHI*88X1idm{h>F>M*CmHk_c&+em&dKF2x!Bf&so_T z%R5d?-%L8ACYhSEr+{{z!YoQnj5G`7mtHb=Pb{~JGrkQY?ndN*P+WTYe+>N@ptboJ z>-IAN(0VRZj-1ALLStmrTk`G=F7^ig+2&N7pz)!P36i|oxz28$|JuP-B8*Z227!=Y z0YpNZq>s+2A!VRasCjbyvE0~}{4N*ZY>-DwpW-lQyX~iKn{yn^+pAmbSozoWk_^7x z?bg1@1hS7;HWfx6dA4M1MjSV`YwJ394BCSdbsgKLtg`|giUe7_-Mz!P5EN+X`ZQ5q zwlz2DEuF{MgiKLR4E=HM1f9-?Wc^|}v>l}Mr6*iX*Q#f1N3dvTQr0gAXL41xkd&X+ z14i&%xa-GID$o&0CG>tdIPkWlKxjHr&>JXY2#;9XthKMGs?X~J6(~c?TPrW@&tTUbGDd6~0rAxyfR;0hPCal_50J2I$t&** z7c-6O9i~ON9;%re{yD-6tmcTSUJaDE1~4zoT7hfTveqLT9=6|+GGi{%o z#~el4pmQ!^izqJ<*s95RIzec@J{RH8KNa&{>pbjYiSKqcFWVVAW^`kZ;I&w&_7pY=x@ub0PD^i#k z-=pU{F*dVg*;Z$itW{@}g|vqb_xrGV9;IY7cEXP#5i2)n!fR5QBZ6isr&Z!UqL3{O zb&Yc+Bvu)>H4jI{Cx89q)n$L7%COJsO7Q8n-p_iHKfSG5hp^Es?TWE7A#1rQ!=hu= zDwaK$SN$V5%e>B87<3S+*$c`sADEFCuT=*MbV~pI_nTo1`BHpaRJV*oj#wUV_^1~K z;AU=2Pr68vZ=`mvtAI&;xoWp3Pl>~8rk2RqD9U0cS*1BGmS%0M(>Q9hNJc#)#<%`= ztc215n!CPejH11iAljvDTr#Zk=)$F{f3ET%rUF*pZ_`4%>{Ph60#N9iG1Bp9h`oXC zUi}h!M|%^JN^b1AGe2VJT4WQ@h-O}>Oou@yGHjlZZXstn%?W_85L z9Xfwu?K$CKdfws_*gOhiZPuLut0ui|_7Ju8rKPg={2b^$U zWlOrl%%n-OCH!DulRZ|#>26u&W!L1@vXl(Am^9V8)xA)p<7(Y>Eq$t8)y2L%G`IXx z7P%GS-0>i*oy~u+Q8mX_HG^JIVc~J9eo3?5H4Z|wUPN6eT4i$ZqETZ9S|ki7j%-GT z^H%=FAOF0Uwrhhy5Ovqg#NViOT$M%tbRupj7c(ET_ixqGmHeGsJF;+c8m)gijV<@rQ>P#)1UYpuM@X-Mf%jbNQD~LK zteYjbEiBeAGBjf+HRAw1*eU$bAk~w;zv!1BU&Y}q?-Vdx-J_=Dis7s5bnCM~(r*a6 zAoHQ$!G>0?Dim&NC6V91DT+x8Y#aYQ?%8C~VLYHETvtcai9D;$U=8xVR0hy46)laA zS_R}-0S;8zZr_7Ku-x=jV0Q6qh0^ z8z?%Zcimr<^db*ZZ_9L79+^8mTM-^n*?v&nZZh6VJ<|BkK!(#_al=y1DXh1o0mGQF zjV`8s&TO*tk@Dn=fs=aN&IXJBn&n;Qa_F2M7n`S!eY2 zm|ogjL^KvZ^<6Kze*B3K+Qr(}i?=5wxpjM}j&>(2hH<8bxDBsY-Ct)x9F{c{OkLB% zT*rEVcHw|@uA(zr=HJQHr(EZfNd|G8vr7Ay@|;^|ji<==(z}~%GJuQGIUAn%+v zszGVfv8_vA!q#&P92FYB(OI2s$H5g5H&)t*+2Nv<=RUcB$g`g5Mo|o~%`}^&+N6%W zs`8>vwP}qo1Z!PCgmqfJ5wio@6U82?c5z32!{Id3{73e~?1%O0NIX^RwR32VG(gqb z^GV@`&4;d)sik+9sivi`h3yFmhA#=y<^~gFH4iM-Ed6>Y833+R&1x=Z-A8GEv*IfC z%vy!0)^|?YIr7>D&{U;=$g^LvaIG>WP+K+0X>LuIr}cO2$M8Hzg_&`tc>^hS$2Q}0 zCm#OTf4m!2TGbrg-qmIjJ?$xTR@fnZL-=C(B15};GBs2yee-dE{>%vZ#muaZ#*cXD zMG{HP+2mX-BfI7bhjP{Zh`~BQW+GQ&saW}1lB;HYfsE7U6tupOUmi3m$n9RTQQWXD zdJTk7M#75?m2Gt8R2eOcDw>z!gz8K1#`dFUDQJ!5seUG8xinW}QOMuGu6QF8ek8|A zw`H{@)f;r+jq=LD~Lb+J1}aV|hzA9t>;EFVnd*^XgM1gMeqzLFYW~$K88t{I^?lrai{89h zE<|61r=s+nd@$RaRFN7e-BH?08C8O=gSMNg_A-NL%`RDZF4bg2rOedWN+k(tVw<`X z;KFN2vDHq`3YqYfVE)=9wA{D&^0lRzXnhbJk$hWLl>{$%>q4tNp2fq!l#c9cl5OwA z8OkRo>`ojVAZFrOUo%>DIc_pPK1$+7)qMl(vkKtl3YfbvcX?%{`t3NBLg3nbL^X_W zFNT8#+=>JmBo){9i-Wb43}$MAVuU=VV3!s(a8;mmf^|@FYSP(8iR2*YrKTyeGP1sw zaFDfWfizM4-zUM#w(%j#Z{+}=oc+yqMUhn+_*^(^!Wits+Nkb~Ma{^xzvs4&kI9Ng zxS%qhw!*Net{6;a2Qei-b|*anHt9-GbmX`x*2Z^G~-)D&-_`ONWE2JAw27$Y(3gY zjjTOw21bH#4_rk$3XxkX7V!sY3ocbOe<~jqw&S0Jo(DGg%;J2YU|8BXVTN!6|E!bx zcywLMa5>3YogtYjaFx05ji=rf5ZEn;zYxz}v%kZ%&**a$i-FnEs|deVYIOqk*hW2g z^YdCRF$9sdZ_&EX-X`8ZqHPsv{kG?lTfK~;g->nwNUGqD+k}KebDeT6( zYjtQRv~l&RNx$v5n8#YA2)97CfegPY&A>W4p##XhC*m^r{jF=nfG1mkFTI5B61>01 zcT@H8IS!Ki{fgp}+%ae!l)gfqribQ+yL^ExKy#=5ja-bR+uLa_0?fh|n>UIMg-zq< z+;7e`SccoyJI!2&hf?l+i>%Xm9$6bRb4%C?=n-_KicTeEA%|Di*}iy2OQl|U<*twg z#uZJG9?_UwD+j7+-9Zqr$t9ClQ&1`fbvst&#AL^9_$pk zUG1M-R;fXQ0%3c*exCAIhUD?gWeQ8_Fp1VQ8eK(+W>WI99FRD?TvTwOzy1-(upWy7 zfWSyLyI~fbtKn4PL#w7jWG|3+ZA-B+b{=}Kl+jmMCLhtYMc#fKXmk!;rDi01Td7qY zyaC{)9bz&~=IobRM|lM%ZR#m%9gd!eKT5y1099=BIepaAMU}ls*bO{QSl%}4@ugd{ zQTD#anvv!(r`9{}Dz=5TQO;AIMBf%RS4murriN-z(Wu*?sfh7eLl2npIYEQQR{kT^ zu$4>#p1)LVcax6YtnfkA8{k^xlq3WyxdQqFDxzrs>sMSmo9EvkH+HYOw+|1NVHSIrL7Gg@v!7>oqAB zPh2t4MVY`^l6eSj^D9Tn^>4I-dirt&p#DiLlA=0|c!9=?-T|6Cilc%<)H(7dG6`~8 zQ92wf%Wc8#?xtk7(S%O>6^qCs!(wLVd%Cq9hQFq=v@TX#(u zqn*C{lDC02kyYeTxMj8MuW#f+`%RYh4`lQ>yqQ^+E0e6Sx%Yg5%5v~jUW7m^=crH| zPd*qYSgLuZI5VZPb~|AJsnN?|V@AETFD6_#r&CSbEj6V1Tu4lX7xV;ADUsx`HXHQ- zYveq$gY_>B#bhp zr`89d>jZX}LerOH1r%UE4kFEZ!7b>ZgMQ0rk)|t{_=TNeSR3~;&MMmAXbMGxu|B@K zjx!sElFdIz1&qwKEP!@ye{&IOS->_yqP*JbQ*6Wgc_68j$f)JRdD#+TGVmL9MV)r3AX|zZg4*@XVsFO~R*%h0(LLhvAtNd8^ubo8D=r&wlPa#ZTK02$Qm)il6Zw=;Cf0ST^-Y?;**f5 z5xAt4$5IV}5dz%B&Ek0%@Sxwq@aoyNOGo)!M*{aN-vN|7T23MO&u1yIEz8{%ZAQ1r zQqnO6rhgmMvynqmn3j|9=eB!+Jt*sq(Ds8|XbGh_nm{ei5p!a9NN%&g*#1`j4!P7R zC5qOcPCgjplMJx@pg46^PY~q9YM{2-mf7BN23!E;>aC`>74*!m=*Fm{A}9A1c`zZ&-GW| zpLViab>%e^$Xj{b1Dza(1MgPXkq|C9&y@dquhnIWa@%Ri)37f3WxS2oOA`m3) zx;`ZG(+(E)&+GiK@t6sZxNgQx#jz$faKVoIB7RO5qW*W9$^!oKRJF77A&YI>DBtJe z_ao1`3SyIEx$_;B#sgP&GQa5f;cSIQIbV5M>7k%oBfKGW5RX+?^BNFNdwi2g$tJ#8(Wu|D z(}dDR#~~qy&YDA55mo)V-m-k(tGt2#zPa!UbmCQX^*Q;I5P2Tf){dCLgwic`u%6Zp z#;}=W=4V1pd!>igA=0wH^WBpEsxMyeX&x&-B5*e%(BSK0 zBsj-)U&xFc-*x@MKfW`yhYb7npf}ue=-`k@LSb1q4>;|WX%0w%|Gv_K?<&^m@AbQR z-=VZUr7Xon)G3tBv{~8~pKX_o(3J}mJD{BYTdmp2(={uo!mVfj{c-U4Jaa)jO2h}d zoPqY;3nX11%!!`6+N`SQM+S5WPiQ_udi439oRvoLYoDsCx$wmp7SeaC2Ka^3)=MiZ zb}LmDY{t#b>G&}$zpwJXMM7`bxpVkqtL&N4Uf?&uPUan=v1vsDw9uA+{AKVZ42eIN zj-SQ&3^WA4nBK~%>g1nI(R3MD>a5KE7$W-(%7)AzyqJdVOZ$9oias;8g+9U*D%i{S ze}#KcnqjQIp#uSZ_yGY?{(ofNehNn{|1;@ksklB;_iwa1HUE$vr8l0K(g{UPu?AXm zcZ;V9Bn#odw&P&ZmMr5z5UnSOe@?D+f;xv=&{!7m5( zg>okwgYjLtZSlaKXJh7OQ?gs=V#_vM`>*t0f5Gl!AI#`P9aSyfb`gS8e(VYT>*v`e zTNubDys6Gk>FcRolI;*_CNIIxh z5S+gp=!cYyL8}O*w*aKCk_aeBie!U?c!QP?cHH#aB`^^P#{<+gGnOi>?O=M`eJl_$ zpsvm;BM|vLf&+Ofq$gdo%7zjMo&l-^dDR6HZp3jE$OH>SN)kY1AQi?D#wuM+JnuGXrs#`K%+5?<9eP(Tzu-M0p5vHc& z_Jx0AiHy7|KVtbg#5_vFTT_W7fCnGK03qJre_T;|l@8^I4Psj4@=Jagrr&kLU>X!_ zfD{%V&6+^o3{fh7ogK<-G$iO6xUrM~BpX>hZ;Mgv-+Nnaj`%wi@;{YV8**M;bIPV-(plQYG>wUyOS zE0NNTKq<<4qRHIi8B7r>?mebC=09RFy&=rh6g?Qc5e}fI-j9^2>XE}F5pTZkwvIiF z{pRs=4#F=t8E@|Im)noe$HPJN*PFPGx0|oW!^gvr=bKAR`>!wE10VYBZayM3HAv7| zO~$_hphV%$%Xt*XyXb}BWGLsDZwoah$-oP(_l11LMpu4p&VD5uO2XsT%$!Y!YRL6q z`bn&KQXY2)k`>Blq6St&3R992sLVncA~r2gc&MimpCNBr?ss8=9N z@~0IADt}^a%)WtUIQpbaPoD=sV#O1pJ7lAVb(ne6Z)`VkvDEj1X7d76*J^T@c+f3) zW_$M(L>!I&paBo>?ajWrr&40g$nuP)7w$wfh;R^fvk#Fd4mlYUsYMt}hP3i=XriMf zo-tQU4$s()fPo}!0SrHm&VbS899D(-TJ1J!xPLbaGQc_>)x3sbO{&4kqcsxkk#nH9 zz52h5SaFb{O|!UDP`H@D7_?(c0HpSR&)0Q;a3;aQf6KXgU?6+y1Z(|Pi6oM~57g<2 zMRe%9;z6=76z(wqU)t6z?Wv=|QERjQ6b$G)IX&dDeBfH)O8N-4F)+{2qjx0(wtwo` zzHO@J?+{*wW1$`E$%S#7KtfAOT9xC4^Hb((=ta3DqR3^Bj;AoN zF;c8K834%Y#Ix;NxVby373c54H6I3O2utTCv346%dy0)1wn6p?A{QWc3R9d}_2wUv zgGon;gB{b^jS}6)p)kp@1lwjM+VXQncy78uu}t(7K$jpU(C;aXIP_15@%K|}7jQs7I@s7n1+h0V0`14GIPAl*~VW&^)r zQuu=hkD}@V1cyYHwf3h6Qto=mKsnJvInc63ld_~k$swlfu1!v=_BVa zK+B48nn{2I9zJC%5hCXwuo{OR5PWY*+DW;hS{J59NfnS>IY^|QzK0Y_SI@CjL{&T` zQ$t`0o!NQXv0}3%j=m`^9(~d+s`058-ovo>l zksGY%e#1Iz9*WN!EL+@|cW+l7E8Lh6Z`Tc5Xhejn{uirs{pxa;B8EN8FRQ6>kD8!d3ut# z@_zI+Xw;nEEok(`#V_0bt7G46qGIp+`I1cR2AxO}&{ZyP`-sicQK-(_<ScEIc24(z3&d7P-#3Ir?5hHC@d@?mG1KiLZk)tCuIDSrPIUU zc4t4{lRvEexWJO%minvlk{x;}!u7P-0GQP&+1V&aOz-v2N;;~thhn-`%X5!@vTbWN zpb-HSe-U9IQ6kdY#apIZ&inB&Ds+DRaM`8Y;8T5R<9@YSet;*DKdv(fPj;<%BLO+3&nS^nQL*jj5wp6Mhdh94#=q}c@QMw#}Qn|R~lo=cY!Dh+z z*&J6H5?3KDvO)OebNodrGsP4rZZ9Z3R$$V{_kMq=uiXFit&l9Pgdxo{9?r>@{}7}! zS~ucFtb7N8`14eGdiEmzG!v&Z*5jYbPuRLS0&#tUxbbe`{f*OA(r2_>jN6yB)Z;Y^ zf2Ce$W|#wtA5*l7pTGbOb;_#!Y)wfFra1nz(Q3ZAqd^zxxDRlkfQaFaB;$rzve{a+ zDy;;#R>U}P#kWQc^uy3|xa-v#>SuaIE3r>lbxOfa>-@GkIfuY1iDNB@?pacCmUCK9 zZ};D+U^UB#6t#FoEpj+Rh|qS^_fk%J0C-S9h4{<~up&NVfzAp%Ac;$Q;fi5)|Ssy<~Z7u?D4ax`w5 zN#8VW+N!1Q+q}9$ZqFPUBi=s*UE}OQXoRKRIO<59+z z1b3;%blGeWWWB+pK2r}a^-idF!Ld4l7IeWc>m6M-UK^o3I*nY~vstu6Yk9SWriO@c zIL6rv^RyP#${xw(WrFEmRf^qaxn=&Y*wcB>D;yW6rV`30w>|E-X8P(h)=f3Vmi55) zwar{1p@No0!;W9v%F)C3U9W`Cbh(fk2R+DeWdIi&kK%jchRU%TYYG4A?S7$YW*H~! z+6Pj|3r0xv^4~%)O;Lo42HxNr@-7n{l$hC$bJ;y6FFZdxb^gNCO^@yg9qExdjB3x0 zz6wgFdw`kNTaqsf?H zQ7?~&Htov?LDC?j!o2#iJsjIJn~U)crzT>DWTLytW;wG&>{W>BjtL|0T6tVL;-XxO z;Sjnwq&Lw{(!nw*$6NwX>1>khodB?Pi2pXnW#0TZe>A@^H3w94wmS3gA^I3U7XYLw04f(h7QCE@HoTFn4Hb%0V zp@-N`^Zt_8GNmQnw~%u+Q8dJ>Xg6>6t9n`!i0#0aj~3sBS4{>d>!q!R57D3IYnyhQ z%P|Y9P9{U8@GCO-v$g6yrl+YVyqTFS3P;XkpgDY!hIxg-*StLoWxE$2c2tK=IW&Wb z@3A*H##ly8AT0ed^C*zvS+&cekSd_gdtGXo-Eg^TOlQKi@J@FwQ$Cl~==4)KE&_+` zo-+}jkw&$smajd3Y@>Mmj(RLpcZ;TufluBYTo-*r1jFEnY$#f{N+~u0gjv$piqCx# zn{<7IoVCs?dE8hd>mPs*-jmV{2i@jn+&Q0}!I!pAyBtf%L~4l7&$Vuq|O11GW6zRQyAi`Xyl<;$T@ zU8up^eBvFCvhb80-4Eq>HK-|dhVlYLnU-$upfcr<^$n>p&ibZ@M3yC>DPPFUmIja6RL_5)#vJv5hq9E4Z4An`zaSoFq?a>AfJDd=(*-z>QAAJL* zz!kfzE325MU15dvy*B|`KAIKUa?(QfrJwp`>Ul_k7!<+h85U#HN*wJ0q@|1|YLvD- zRH?o)#vWa|j@Rkz{0m}`gFI|g%<=%ljwT8GX(9Fi2E~l?P)y37trv+r7s0Am>k@>((~@!>BZU zW8zeLa_Q%b2q^2|24J#atfO4%jxP*{W~K#}g=;icEh`1l!A+|~%W^!_8C6~84k?DFXM?nturz<2^e>Z9<}fY+TWdR`3TL6WtU(;YOsR_` z@iaLO3Ql#jrhx#)gG?R*PzFDElFDDOgg7n`%4fCETxyK-$f*(DE@ea6>KkiF=aHOE z_+S>dW*5+-HT>REfETcRf1^I(O7=mhi zBiiaU`*-eZHEQpU^tmW-!MkBZi7oTIir@?by3QQ7uo`Q9?5}Ahn9G@wDouwIH%roF znG<%CjgI~N4VyRpUVF@6cN5ccVA(nbmJPDHUCB|e!@t5AO6;jvk*XCfY|3zlgauEC z_a+AH?4uyba_NC$#;_||8QDsU7p%*wAMu%~S1E4-P`9I^=ZIqn%zNj(T4WRjFCqas5h9Rh2rS&zFi> zFEM{YZOg!8=-!$T*PT5**(!Lt$1?lhOqCA@n&EaZ>8DnvRJ>mcBKI+sL$g0D8}C9T z4VWXeLrI3qIsQzbCT|@l!@^h+K10aBir#>pnia9j zk(4kzAB^_RS}V4llC=h0d^}{;-lzVxUr73=J<4|_@}y6fIqNdSXX0Ekx`KJn`26Jf zF|1NGD9htFQ*POE<6ojHw*_5{h-d-O9;hl!#ENhTi96=F#C4pBfq$JU=@rd9hD~hl zR3IDGL^;MPc;CZ-$*Y1xAROSug_C{n_s>iD?VL^wPpKkVX>G|H)68RwRl6->fp4@l zSrVoz7=|Nhfyh?v!0!YZ-G1M7g?0CDWQ(7_z}(2Fna6aqq?L7<=eHY$`>X|*k~Nc62N!(HUW8uzL)v48c=lQ);Pne2IqHZ`-7=X9wuy{LSRCFCJy zmL?d!;S-NDqSMfi&9#mCLl{A{iO_2TrwnPfB=>Ks%n{Q@6)ezf`uomo`W`4YcX{8h zitT_K8h4wW>d_^qx<*#Rm|a9%r5p;9()BtJhL6~u|| z{i?CK_M4^Jm<3%BscOub<$|Mg#OrvNTm_A~_@vIEwN;Sp>;oyiA#j*;aiP*d_kV(> z#&8az(Bh>O5sReyP{Ze`&kS+&G?3;rg17UA@o0I*#_|qC&@`N49bNjKi6?&yt)pK63k7Q}rwY*c_apSK)*#!LgH*@NyQGx9L*@Ki^jgT%N2H=% ze62<;=~}p=CR5Ki&U*yv{g5E0mAJ&dq*kwE26lY*a+8eaoWFFIY=IIeo?F!f>C-Jm zY>I2s`dZ64Z*^bb$$3)Uec`99d3CJO*D|c>3u_3CT9wv7!Fpea|8;$ALyFi54hsad zOb-M^_5WBO8=9#a8;JdMrXBvXK-RE!SZ_i8y3(y3ZrzGymsxF<^dMdAjKe?PV|A`d zj^Bv-Nzjs!_3lPU`6e$6e0R13NyNoh43s)tK2+SMqSUmna9r>at*!-qZhCP}lWYa2 zTm+9YVk#~I$BFSMzlXygdJEN;hH~4{Jzt7U*t%{6Q>J@0H_opG;l?!x+Jj3G@B(*? zVe2ejoP-3h#}Q5X+^qt?fpVH!+{I67dRDnoizbg@AOt12c)suelHjTei{`)E{*V!i zd|8(u9h2c?A?V%h8Us{x`~ z_Hs!K;z&K{ZPegsqjFNkr2o>93+fas+N)uiK({qy!cx-WJ22f;q&wc z;=>zqHCTPKTpwY|XXl7VKX5#sX(b>E&XpuS6u>)$D-~&FFiwRyC=qC;{hQt{pqI0K z*DYMEH}NG3@3tqMWNZ+T3>;tSS_(qz)}}LLJ5hq; z@4k9`PkruG-Tb1eQwQ#4O(^?UuQa6Az|EcBm3fY_4~CnkNg)`}1P_=bD`I>uHiHhH zE{}&O`EJ=>`TKIkeIAiBQQcO?DlVfWS(t(xn9$SlLBeGjk+ z4XawSVy*L%nXVj(-_tb_K3C~8l$DKL>3mbNyp5Sv!B7ue-zX@=;GMEtq}4`NDUi~e z1~Z;ZSaFa&On@0R@h}U36!`}kU)Ns<{5>{nx#}gAeb=}Sdhx8f_Ll?)?jt?3G3L?R zf$*(7-sjd8CCEE?t5wbxMIjHJstYId1t)&2Gk{h=0Z$bNlgVuR^N*}d3 zNrqE3m?@P>z@3ox<%Vx;Cz1|rA4Nz8?>mdu{i*hWTWt9CTqTqnMpHZBukNsNWjzlc+_g?Rlrq2P7Vbr_1C0)6m z0&llt6cEFdst%1&LoQcz%uui3OWml7_<$JHLM^E6gb9)GuH%cVC~B_)C5|XXx^V+A zEFO1*-TO#K!tVO&6>@M*i^`O8Gj5y%`8#f#K;b_wdLqsuja|&hi%{Siit_v!0WEwyw9p zl*Jr*SVwz?;#U)TnA4Szfu`Teo&E&nu9}om#*G^JzKxPtM|n-fS+V<__lgyKLR`?W z8+*SE5|rB(H}@vkG__1OhJ7hg&Oo#37c^gHMIrBLm81dxulLmvl2EhYy)2zFBE~!JOVQwo1k;hkl`h^ihc4@ zHZ(B+1hrzS*8<}Mf^m~`8N|sx{Iw}~>+&7)M>=>*aBq_N2_&ygh&vnfi*!s#TQq=4 zwOFj@c8}H`dLta|{b{wH*Yw+M3gzBjQ26IHaSf#?T>^$TD^I^4Whq*;ib^SOd4)qs z+8jmy3$39IZFy)z0t$Y-antfq=VFE0;r7^OWVCrGJ4kxD%99MEN_4h^dM_VGafHq4}tvVhZS47hD4#}nOAS1w@;ND$SfqV zS49hCVtvx7B0Dy-<>Ewg_u7!J1v%^XfG>GOmw~LTA%=bPVcWL%g{x0W`%1@iBb7D7$|o{S^R=f3)Ks>% z!KN_$DM0i9Le$gimao6~-!0nx_*F_0$HawKoj~~CvAvyR>9QnMid=WDnJupQi?=G+ zO*PJ3)xTV;&c+eFdh6?(1Dy`%t&N!MpLZT90zRh4+yC_}y;pzDf%OA@T_pkn`k@g0 z_wXVKV=FrmbA2mY)1QO%;eQU&>?mKJU+A1h8UO^*aoL2TyO#hG8dLJ@1qaE9N7y#k1R1R(t7Md8Uq)*%H&6$Cib?)0M+~zJ{|8NM+uu> z#4?T}n1J7enBBN@PTpP?ItO~%SW6vY2W!o(2wXxwOdByg7rV150(O%y?Rud*m$P*- zV_OeFzw?S_OMn~|G^Iv{LA#V}Tna`)ZH$U8MR5(9rdDKtVOA53@|S2;YZaSmZ1hFs zz(H0dro#6T#F^}dwY18pFWG>8LvDYL zw|rXers&-_>%9}aHdpm8WU-vr_&uhhVdWm)MOk0b2!?Br5Fe&mH9~HMzfHfnLV82; z{ReI=Zch6Tv1yNz0^};&{+U7j{_WwN$l$%q|Kp~9mK{=OdTjGxzwo%Q{$`2xefcWP z>@%0#N33LI2go*dS=()_cjvoyB^q?>Y$=?Y&@;}il`Pvg%kh6%A{X6-Is>0yJ{>Ug zv5rEue(VrbLw*B+{BoBQCq)N@UWBEyzo4YIh&P$iHp1Gy%F;6$en?KesA^55phlAa zRxZ&Ekz44*bBGDDH{kwodxw1Ss2Xx!+9j#S$#x~X(qsiAdtqqs*Ay5{hFWAj!bkW5 zVL#N7^e%vRRSe+=T%}D}QPW*W4!FW)uk1oH8-y?mF_R*1$VNdNTY~>yfC%N~%0--* zlL(0sQd1%(FoLLo7r`D68xbO#oMq5JMJ}}iCL@8ux%tBIwc|=FV?ZfFK=|_&ufi7+ z95AYuArV;U4kJX;)G<#FQGxsyrWa#&O-%(l$d0`-O+>5e4@@EWdV_)hoqQKN8zhZ& zs@hxuxC3eYTT@zH{8R1(Ym`*5#)<;{P^hCfSNHC!Ab8uSY^X$ zefKmy5C<5y+50py+e*&&c)XG&y?FCjQxh?CL9hWyBnfk8+H72feE37kQgS?S;WE$( zs+aDn4|n~a7JTrPZXK6`f)Fstgzbb0Oa+ZX2=((P+d8lrd!>hnWf-W|D!qP z=`PcZ%L3tjGiC&jBmQl@9P5z2LCKk$P^g&ft<9&m7CHr+fu_**18)!aj4cy+0UdmoUNdtIb0 z^cGhj2-VtvL5bATaD3{fS?!eK;2uq(G5vKx6Y!|l`lo%ywc_by3@A1-w+sd-CMhSV zQTUtM-@smYj*1W(Je3A4at#`-C`14$q1qEWbX28iA#LHuKGqOD9KDjE3(4m7N)1Eu zw%6YAwnl=G{1hK}yv~n#yN5f(of2=lq~}!|Ia4t~cW3(JcAc*p?+7jqo{v(K51=^-uT=Ju&Dx^tmsTs za0iBvaIWe$EIKE?^7vpmvx)-I+^yj@Sj27QkeHz5;4gxj_Pe1|2s#)V*H`&mEPSR# z8wx0FP#R5T4d;Dt^IH}7>@O%+ysjGQpZ?8y#;t}q&!Uvpw)KN1`d& zk>>M3WV)*7S2fMs(LnVp6z3nY&DZc2Rxq`(`>PPh>$i07=#DkET@DTo9myW(b_(Oa zGRuKpzp(dZbKa9&58kQi5p)_;Vy^TT=~r<7QU?3|2@4W(H40Ss9Skxi3H0C(A_{uL zrvFZ3FSSGh(`QePtS?s1L!L>zDfCZ#!>1NoRtN@;MUGl9t%&%5OH7_~T@b-OcU?~Q z<6A0M673LBP|S=PsC0~<6p0^MfwWArwC#{N>$b0nt2)tzyLK8ALr%nMmbF{R5XBLR zgk6zzDEt#E_&umtEg<;>_oaipy31hs9>SQi&-`_Ya;W=(DFi8-VQ)8}FvnoVN zd(M$b(SIBMd*_47DbYZBnHdBK0EPQ3cVqr|DYfIszs=Tuf2DYXw~4$If5+CuG) zHsVx#kXg{@$pbrR1EZInCSVZlmO)MvuCS%2^?WIAx40m+ghchn$3;x0IF%~mk`mlM zfG)18W-`5xE$RHXz#(jQLe+V!+(j)F*|)4G4^zJISo^97Oa^x9Y{H%qZ?XySO9{(+ zI!Wp~8r{H{x!ZyLRgQmJs4|ZJ_8fQ?z=AruHcP|Q&DL6`(!d}_aPqoA%J>&303?x) zYmZ+ekv_uIS4B)!YMD(K{HX8o=B{hVg{*TGkN11&_Zk{6C&DaCYHUNFgl{VM0jmn? z2z%WOJyesO#6V$bhr$a`d)DJk++V0@dO^wt=1u7-G*;F;=MfCx?Ls0&UsUH>k~e#) zRZ;YDG$O2IOUD-^Tv&gO5F2y7f=CA>S%B6jLV83dJOym})QxN*c3jYcsGg!5EU%8? zu)QcSjwU+Z`>7x60;)I@*5mIql46~iU4cSmOBV;-HIKFJ(A*q#9V`0u6-9Iaiy>}IUmT> zVOB6#77^AbVl;uX70WBvPGGh;{CGfJu5OSm7Moehh}}mZkvsvgrHa<5`Ip|P&sCCe z;ytPmZb=}<wmCgOWKPrxZSpy@xuSw@1Q*pHhSJ-`_@;PovYR2A4`QZu1kU5;u$~ zE^n^h7cVbZdq5sE>U|jl{fI(wMaLjj&&7bq2)L*WM?W&p%l4*eUz)c+cGsXh$0|_7;g?!-26H1?Xz;;bsd14{O4?prKFK+ zZ)rB<^JO2!oFMnN=k_J>pC-4rI-kegyN*?@H^)J%)`P)bd5H&RL%kckP}cNE`6*q$ zMd!G`CznFE;pLEwG2q?b)6yn&g5?B0w@bra@SQV46&4CCp7c9?V+Q3y(lGik5e?vxS@e$oM<^nImR)U-`?#+zxr2J5H01U8#z+}8aR zlkNyS^*E#{Th-FMkeCnW9N{v~rs7QsN1k>yTsB08Y+aWEc-ud$n-{%cISf`oC*iTY zY9L=KmtU-xAg`T0$o!doj^;t$AnnE`_CVV&?=<@hF{I9}BF*R34?o0ioIEQlQ$JZW zs+hY(JlGhCsO%Kv&4`cnF!1=2Nrw~WQRRcw(IKiG3#gR0PW(*68e9z|$9z2MvXQ&qFBFbfezHZD+UMIMY#UNNR55!7>o0dH$-XzMnB_HIps@;>Au zM)bI)4kv@HCFqjs5iyt;f7ugJGi2VQ(QN z?d>47u)ruND{&)`W70*&SkIKn2WzO(Y2(tVGdzKVU+%dzDW$*3iwz%ax~~rjzfJp2 z#!|(0@S#a;&-3(vumVE|SV6m-T=`)>S!Fw93J>R#pKDH*OjG3VVofpV*?Bv&rbkXq z-(2!OOnV1>M^8nQ>_Fk!4A{mkyF#!kA(imZA>%o0F&Y#}qh64bmTq=Ho3LO52KpGx=a8NRIrCmj~&INx&rJ}oj zgJ^r3YPFO3TQexzErHasf}E3>a>y|UM8tOM7mki~TQ1&fCWaQW9czw?xpCv2;*=d2 z;}h1FCOCfrFppcg+ZaJ3@m8|60$xV9-uz_zbLUOWK{EUl6bNGFS5kGfI~u?1kxsHM zRr7&LBbI$Tmm;$XQVzT#JXEE42We(=BgN#pOo@*ygY9VhBGX;Ml0zj4opf~em>kn>#9?AmsM3qCPffKZoEL!iig;HqGe!IAzP zSdvJZHl;z>;0a+#r>9H!m$D>X+^NKBZR@x^eXP`76a*X-PMdE!$2Pr_gf`jJHBL`>$$b}zv#yRZts9)kc;5CUhdY@rYD{wYJ z%|XYF&_d8y(d5Mt>Q@zlp_u2b&gKg7zxQf{zD*lNT@a08K75s=JQKAWfxFwn(|^Ifm1s4Nd>Q_iu<}g-pnfJK30qES~pxv z;Mv2)w_gyK^YlTa5eC)tciWpd`8HgZ|h2c1*T+bV}o;hd|52 zH*LAeihO^#2I56&$?J&d*_z?y9Y~;?qI4gW`d`2fYX)J8QSw{%+{METoLA@yWSN#e~88@{o}C zVQ1Q;VoT6-MG5hhh(n0=gR|&-RcSF1(lf{s&?Fxg0X{?QCfHMLrDu$hkwD{B8cY&< z#Z}`M-cVcNq#j1Kl+Jp&_=3YaL@y-YcI8G~vh-e)<0HX_Evd`FxNz#iw zeYeLSu_`FLBJSi5qy2H;ikqjlW{d9ti-gCKTRi&$7AM=^NnZW4fmPWRiptHV)ecCo z=G$n=B&g1F&vV6W^c%F7)o^qf=&XogCG{|Ga8AFl!Ht1gIx#ANl|_Q?fTe=C`!>kX zNb(AGaL#mqLW~qVFgF5wQ$br=Ab5_)tE_lpFp#tn@o!aPSkxWb8xK*LH;rp==lK9o zzGb-HK=+KuiQBN$5Fu{#2ndA{T6;eaj z%;onXy@5Vd`5y1A*e>pO=_0z6La}O83+~{0>q1FhQb@a(!@O?p)t>k^<`silb+lh4 zCrih|0XBUr#a@~*motEAT28;4wMj3t3yz&S ztXqtaiK|qsa)jo6+uipI%w>()e2d^ z2nk_bR3-?=9GNSL@WkvqT^%=i_-%I~9t#SE)A87}3L~&(e$)qZ#A}G)8ad)gV>}M* z0}%vayQ(_ze!HApfw52^yl5iUVYl+MdP4+64Ag2+tmCYryv5j%-uwsmFq>F1A$+lQ zo+WU`XC@BXbyXs}blsTI0y*pUM_VkRYZNLtuSe@uY7FT_NC zMz479nP(Dbnxb&Go?VhpCTl_XLL$isYd?KI#djxkHU0oZ_~$rn@1?S zbB@rHb(e_&HaxnWKnQ|{GnpPUFA0dw$7$7qKh>Byzx*_182WB*W!;F%D z;K5Y6^O8D=AGC%bhX_1|AGt#yl}ZL?5{~iW25}h&9YcAk7!g(vcrKQiIzM+ZankOK z$VbW$zU6s))YFP(u7@C4nsECrbt7u{ux13|avEy1QnGRH%l;Vpul+Q;$k>9)GkO$+ zvg)J3D$^QOm*GnRC8w&Vtr1*1d;K)84~`v~_Ug#S%=;xNXaOj&h$?u*=$}${aIlwu z^5GqL&3#p?ZUbAhIe@wWuP9Es&k%l~Qc-fiSXW$#C%B?m)B!0;rT#vi3Q#Q|ZOE>)Bj zIG__}?_zcp4U+Rgah|{$U)L?rk61i_oV!8+-~c#Gd_V}vC`u}j?+LE@&lo-a!w5L= zQm6f6ElEw^p5^eezI{eO!=ziH8$`HEc!S{YO#rk8<}dNu8xIs9unD%U|5}U<%s&|rVdq**3p>A0_RcSKoi*ZDtW=X5S=C%lbZ>fj4L?7o(OYaSDDS%)2!6=Do< zt)cCrvXJsR9R4n<wrxAv zyo(RJwY&eWnVzniJ|BB(PWN-3pRjCUA`VCN6EGVi3nuA;74HD9nyN)pUPhVp3-_1h z)=1X2C5$yxz%Najff46Cd|hV8qXUAEPcZm>mbnH~(A^u!fYMyx;UTl6QmqwDW1+gQ zlB6jKRZ-xKouPefu>NAp78wdllW>mfst)7%J$EN~Ze^+OyVLiee&=H6S?lZDW-)8f z>+3tSuzM6hEA`RQSNFs@`Z}x;!&cZAp8NSO5u~{{ouo>wL#obwHwD?0x;_%pD9^6S z{uq+^pL~t>vmh8V+?9J+Nna=4k<0&$-fOHMx{-*&;%B1+l_61thR-F!+uubsJNb2`U{ zcxoz^*p`Y#lYKC=s$@cCfQCSwn2>lz1?pE7x_BQ(hr$ay8?F)cPBFkI)I|+z#TKi@ zb4cY)R|;u&*d_TEo&c6CW6lKIePmN2Nj2U%VJge%p0E#zv16t4+q$=r?81zrOR&M3 zsg>~*(NxJgiCmiox^fw2u?WV}{cr86+(NVCum zlVI4GtFuQ!A9G-IKDO1_Y9$pUziHaTarMT-pQ=2|h9GYH0FmBmW2z!<&3K&N)gddlnQe_ZIM{vyO03FRg;cw$Cx~0p#TQl1Z z&!wboPO9s&8AR=u6sUXS@w$ek>=&9 z&{0g+37>7jNR-+=EvAj0y7t>(h2QsIS*~&dJ`sFipJ-5SKS*Tco)B$C)KJi^gB2wv zxDf-^j>&6D>+^hvyuXxmiqe}ddTyy^^%OTYi!bi5N?LXI!dR^%vDp&ss9EZG7mCD@ zVUb2;6&uoT?{bPko1x)#p44;C#s(zR!YI#(#L;mK*eXKjcy`g)Rbn15gnOi@HYmC6 zZUqrZgx)4FFir8OcD8qkubLkkh@Wy$DIlmNAqDaa)rbUkQ9>Tcp_4TyF#`4my~mtn zRw2UJ1mYBoTDb|%0|g?sxN(YrO2u4Z^1O2qVm9i87Tq@cISMJ@S-qo3I>-a# zX8HF9+hFp&c$wkJ+R1)&(@W!iyczXIJriwm?etg-_hlCTyK-A$Q`$h)MB9$Br4YLC z-^Q5m41XEatGq$=N+fEOn$;}MMw?xhvLoHFx=IA8n+~o>0B2hKkb-h=4?*YcuCmd+ zP@@KGJF4ITFC^71ln+?6C&!eHiLOfJ9fFD$xyrUF9X_Vkvqe9GLpbJE$&IdX7|5wA zEKTJ!bv9-{MD{WdaJjG63Q_qu^ZlN6q#D==ep5oEB%}*RayX>#3Sd?=asHVfgq6`7cBXFkPf5>*2Qfv3A5;ZOZ8P|WtYTXT=!M|T$@Ux;_N ziQY_#9elX)Nc4;qjf$ZkJN0-S+Uf?r@9|QS)?yCxw>I^&8*(F>sj|(x*~x1_nDqc6Z*sSygYNl_vXg+NqgdeO6t%OBr>3d zPxbIUio9uFAN2|ZrNMg=WyF*D;Q)WfY{YN^2)Al1lPnQW7n$|7w^Pq;AeA$n;4GjH zAh6fq;W(j`DqxfX;7wU)l5<}9p!P{_{CCVTJ9OnCtGUFcWo2vY>R+vzHFWTJAFy;5 zi3Khy)Y3V777&-dI4A^pu>wrWH}dx=X6hFZFt~3$Pwj*z#O^3%=@uFGMUg&~-_$;_ znaD7pL|VNDI^fH7iFbOCYMlj;H_Vs&_!{Np$zr_l0YbtHq6FiZkN->l5Ms}iwD|E! zgzabg$y-BfW20s@cdq$!!lNe{V%^&G-Ko91GW<^ z^fZnuJv&}@XYkR=-0RfYP}&zKI~P_~l-PiitLHGRoSbg#aNz>dtLq>b+0EKaVd4ty zLB4!`r%8knfS`~u1surFG)HR~fJ)KLT7ukw27Acd&`OBk)EbMW33QNPv`#RF44ATF zKT=2}{fiT2B@9ewAjVn-${n(R`o+{xz=!GQ^D53K^Xn83HZ~p}G_0R%tlZwgY{*=9 zCwgZg((9HfUMqU%lhX6V?Irf`$a8w*$=8C{*<-8m)NLz6nDnAV_EV^3|1-(#2En4G zcx~2@{O6r2xs{xYW359j+{nS)SnLS^sIb=paZbnzuI!>yPGJ-i%pXE_%&)N17V()l z1D@xG4VUz%#>Rnr`#vcjpzL(}S?xSDc5u)hb7^za@?HQZ3VTM^6(hQ?R9Y=y)0KV+ zf9o@Fz(3(2LVSrT=!Xxu8!nZ~VW^43A|43HRsr|416;T!HcQ?a!jMq|ZzH=KD>0qr z90FscPHTmYAC4YoEa@M3ZKo0emY21<(AcV=H1*q^kKo6mF^-I@b8jhaa~=kbz#_zb zeYlhQ<)g-#D6H#7OL*o+0Snq`C<==RRe%oKSVxi{yF^xRujs0Rbi)dZwl?C+)e%JkK)a zd0@DwS*bQ(zmQH{V*OGX!`;RrvzMcXtr~u1k$p6e27qaqi9Yy1YP}#08j&-1$LsHJ zu;iZ?B4xVLDsYH=tL#O%e!?Kikqxggw3rF?L}s}@`8VsC z9DfA*><=bB7|4k|ZW+`~{w8r==NwTqe9pi(Ua9M-W3~rx1Rh90<{ysmAEjI5lHjq# zPFdEMAmfm$jtQ>NANym545e$d+e3vYx&1MvQ^6eKO!s^CK+_xu+k!8^RqF75|NJ|{ z8T%_>vEf*!k)_$XQ(B3?+4M2}X>OznjNO2b6U0ys{V&+JQi%|%CSt6CV|q&Kt@?Jp zeDGjJ1!FH@B^Z*r1qiG^qK>&J-pHp%pe;s{c3uh_mLciKr{Vt`W9I? z)TUv{V{ao0Xg^HCKkW(NX5+CmcUBy#pr_KGXHza2{!mN#-vJd75Xn)^wtU3fXf5s% z7RT6IKBX%(R7DH;iv|z;(F{+c0`*`dZ_OEhIsBHH=P;WdZf|D+zM^t2xNVGen7(PA zu(rBrl!@O%`eqFQ1&iD(h32q26qUlnQIOj+d!glqPc312?(xSCh_Xfo3h(-c+`T>L zjg~+)|Ayo|GTMHX!Na-@nzcXjKuoQjj<8|QI*FA*++5xUVG3i7E6RP@lJ1kC5xg*B*v<-c`rPxx*q5d)->*?(^ z!UVVlbTWdj02YgN7pZRoZI`HX*1r}&?IH3Or9Ju@9_S_$7xLm^RzV1B6gymR{{lt8VV9xm#tg;bSUo4N@~ z=d-=sNRw5M8hWCe^xDRmM7^_oj@ zY;Pg1W&ph~R9O2bo!;#iy9kM|CC<39vtx$(vQFxGdW+asBbnh6kIf$awry@y3h@mZ z#SErhnHX5)k~ci=H4%oMfL&?@{a%{38Ud|@J--f|Oa+mviVZkfGI&-Z@z#zl@=sE$ za8|42@r5P#O{B;{B|_`Ui+&eFtvOJnch;~0E+1EUi*0xM-uR7HCgqz2bOF<&xNC_P z3ksmGD#$R9qtz#+6!b<5iql9@a?#BX_{IQ3*vncDD>i#3k+8o=tI3qwdb)E z8;x{kkN{z^6uwdpk0gpzW6lZNCom`=SCb~BYDU?kXMX9&whaHZ!7Dh)1p@r5!qYxa8Kyslz(fYJ5i%&N z!zPVwb`&dPA}ZtRC0Ri$V?Yq@5mx^O&7af7pOJv(I*!U9RcrPg6A0qgy2EU^8J_ms zcFOY8VFSLCl%l}&M_FzlNChT1M%E&>>I9CPx~tNtqabB0BrMMb;5$cYJJocfBy7(I zkyONY*(Zs<<*7F39~`cmFGIzYzt0lU&+9p6|0L*av0Mdd6Xwu^^}+?aJQ*wM>Us#I z?eU^Cd}<(3@`1^aqF@i_X%?MpnNC{xAgqH~@&fxZUdx?ak`9A53lALbB1DWdiJ8*i zn^a&)7=Jrw6s_7cJ+nSVGSd8}w^&w5UTQv#>(~tzMCWOu!hJnU>gU1yHmo!OF$2_W zCDWOPffo!kNZxxR9_&+KB%(;*)1RpG@PZ$-uh6O|!ZB!fubjCrfQMc!{(Ku7E$5K} z;zwo7J$?GM+alkX(#Bi#aWe8+o-r3m|DLgFCZsrX5UfO$LqCp?ld=Hj zT0dzf9S+&9ad3+u(Vfgs%t%mweLHhVY;N>D;-4FXslYW_|FP6ehHb6$0LPCfw`@P_ z))uQMe5T9C)t98Oa2^%#*O?g_H63Y>W4NmD_yv%6@i8hfKLub$B^%im3?A}Tvm6IP zs880WoptusLiR^_zEy7npr$WbeQU`L%e}4@7rcnhc@Z69hsam#9-Ha0r2|%h}lzxx-505IdyL^fo;p5nHA1VCsJV z=4|ES^1BSMB;fZ_#Dp|e(VUG8rgI+5*{5|6$xzn=6>*dH40{?Sgpf#6_~UrL63k)` z^266op+D4YOE2-f+c~kJa@XJiHaiulEtf0(s4xxclBk9b$jrTA*)+*L?jP1Bui6w=7mKz-4#TBlvi&jlS zjG`0f8|0BoA$0=sN8dbA$c*wX{#{}7JG9Glu&2(Q{#aS>Q@*yR{xQ)q>-KTFs7ltC&?zr?_A|GTS zy&l)GE!|fZ`n3)Vy(@cNp?P45w7-GdKSF!xJEvi8TU>$JG9; zYA84}{jQjHK66PG=oUY8xT@-+f6_+UE6VPy;z7TWXn73l1d~X@{Z#mOsB#@E5J{td z0R4qCC`tC1Cww9H0y{ogIM#<_%6@A8VMtB~MeM%}a3elY5oeki*w-QF18xNwjWzaC z)fR_B+CEhQtJmm}=`Q+2ZN32d41nMPt=fr1R{b5rOuxElX-*OgP&Ex$_w|;1>V<X>5h!4mMyRGK<4Jf`lx=T^ldQ@Um$ftIX2np<>1f|Z6uR>e%s)Z||M z5hiE0VM6^ZCA^a}$Jqsb$zJQ}bAaK!7JNlL8j+G)O(9aE#|Pbc1r=+k41D*Sr<}J= zKXcubR4mRW8Q#uT6WLS+``8hZp=tjTB^=cNMdh;n5fr+I^l&ovM}dk2EQuwSJAviA zbZE4N4CHB$Pi8-c=N!0Q)pq`I<{23x1BA_n$-5+vEsMh7+!>$A^%>l_=%9k}WUt_M zZ@Y3D@@}z>BiOY+W= z`jhofb;D~WsI$d1ONC>ngb%R4imDBoCnF?HC9qz2qJ1X;Hv-l6PvG8+=tE50DDV-4n!}&w|tc#1ysix*4BAiJ%9IeR8BW@5EZdZWFtTL}lu{iY+9gPMb zAAE;_!(E+MSD6*l*p0FF>l2=($R&5G_pE3oRBE12cH%IrtXK?U6=~;!x-yL<$k9F zi9i=GAd@&!Y-oF#5k|KTD%z*P5%VTq80~%F#B|cnAE0X zGY?$IdF8xg-w3_cb&K<`WsVbMyA@A_GctkLW-qz*geC16HsuA2TRb}g98H%K6#PPA zmNC_P<3i1MP)SqLOaQ63uO)@3T;W?>s@^#tqaKaUY~xr0SgIwv#i&|}nchie-MBKB z|N3}1!_a9CF+>H)E)#0&;+uD4X=4*^;G6A∓)N=7I^UFmI;r_1G0$r3Gt^47?{l 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�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≀*Sy*zui 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 literal 0 HcmV?d00001 diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/LICENSE b/src/py/kaleido/vendor/Mathjax-2.7.5/LICENSE new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/LICENSE @@ -0,0 +1,202 @@ + + 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: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) 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 + + (d) 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/src/py/kaleido/vendor/Mathjax-2.7.5/MathJax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/MathJax.js new file mode 100644 index 00000000..48101fa7 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/MathJax.js @@ -0,0 +1,3324 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax.js + * + * The main support code for the MathJax Hub, including the + * Ajax, Callback, Messaging, and Object-Oriented Programming + * libraries, as well as the base Jax classes, and startup + * processing code. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + + +// +// Check if browser can support MathJax (no one fails this nowadays) +// +if (document.getElementById && document.childNodes && document.createElement) { +// +// Skip if MathJax is already loaded +// +if (!(window.MathJax && MathJax.Hub)) { + +// +// Get author configuration from MathJax variable, if any +// +if (window.MathJax) {window.MathJax = {AuthorConfig: window.MathJax}} + else {window.MathJax = {}} + +// MathJax.isPacked = true; // This line is uncommented by the packer. + +MathJax.version = "2.7.5"; +MathJax.fileversion = "2.7.5"; +MathJax.cdnVersion = "2.7.5"; // specifies a revision to break caching +MathJax.cdnFileVersions = {}; // can be used to specify revisions for individual files + +/**********************************************************/ + +(function (BASENAME) { + var BASE = window[BASENAME]; + if (!BASE) {BASE = window[BASENAME] = {}} + + var PROTO = []; // a static object used to indicate when a prototype is being created + var OBJECT = function (def) { + var obj = def.constructor; if (!obj) {obj = function () {}} + for (var id in def) {if (id !== 'constructor' && def.hasOwnProperty(id)) {obj[id] = def[id]}} + return obj; + }; + var CONSTRUCTOR = function () { + return function () {return arguments.callee.Init.call(this,arguments)}; + }; + + BASE.Object = OBJECT({ + constructor: CONSTRUCTOR(), + + Subclass: function (def,classdef) { + var obj = CONSTRUCTOR(); + obj.SUPER = this; obj.Init = this.Init; + obj.Subclass = this.Subclass; obj.Augment = this.Augment; + obj.protoFunction = this.protoFunction; + obj.can = this.can; obj.has = this.has; obj.isa = this.isa; + obj.prototype = new this(PROTO); + obj.prototype.constructor = obj; // the real constructor + obj.Augment(def,classdef); + return obj; + }, + + Init: function (args) { + var obj = this; + if (args.length === 1 && args[0] === PROTO) {return obj} + if (!(obj instanceof args.callee)) {obj = new args.callee(PROTO)} + return obj.Init.apply(obj,args) || obj; + }, + + Augment: function (def,classdef) { + var id; + if (def != null) { + for (id in def) {if (def.hasOwnProperty(id)) {this.protoFunction(id,def[id])}} + // MSIE doesn't list toString even if it is not native so handle it separately + if (def.toString !== this.prototype.toString && def.toString !== {}.toString) + {this.protoFunction('toString',def.toString)} + } + if (classdef != null) { + for (id in classdef) {if (classdef.hasOwnProperty(id)) {this[id] = classdef[id]}} + } + return this; + }, + + protoFunction: function (id,def) { + this.prototype[id] = def; + if (typeof def === "function") {def.SUPER = this.SUPER.prototype} + }, + + prototype: { + Init: function () {}, + SUPER: function (fn) {return fn.callee.SUPER}, + can: function (method) {return typeof(this[method]) === "function"}, + has: function (property) {return typeof(this[property]) !== "undefined"}, + isa: function (obj) {return (obj instanceof Object) && (this instanceof obj)} + }, + + can: function (method) {return this.prototype.can.call(this,method)}, + has: function (property) {return this.prototype.has.call(this,property)}, + isa: function (obj) { + var constructor = this; + while (constructor) { + if (constructor === obj) {return true} else {constructor = constructor.SUPER} + } + return false; + }, + + + SimpleSUPER: OBJECT({ + constructor: function (def) {return this.SimpleSUPER.define(def)}, + + define: function (src) { + var dst = {}; + if (src != null) { + for (var id in src) {if (src.hasOwnProperty(id)) {dst[id] = this.wrap(id,src[id])}} + // MSIE doesn't list toString even if it is not native so handle it separately + if (src.toString !== this.prototype.toString && src.toString !== {}.toString) + {dst.toString = this.wrap('toString',src.toString)} + } + return dst; + }, + + wrap: function (id,f) { + if (typeof(f) !== 'function' || !f.toString().match(/\.\s*SUPER\s*\(/)) {return f} + var fn = function () { + this.SUPER = fn.SUPER[id]; + try {var result = f.apply(this,arguments)} catch (err) {delete this.SUPER; throw err} + delete this.SUPER; + return result; + } + fn.toString = function () {return f.toString.apply(f,arguments)} + return fn; + } + + }) + }); + + BASE.Object.isArray = Array.isArray || function (obj) { + return Object.prototype.toString.call(obj) === "[object Array]"; + }; + + BASE.Object.Array = Array; + +})("MathJax"); + +/**********************************************************/ + +/* + * Create a callback function from various forms of data: + * + * MathJax.Callback(fn) -- callback to a function + * + * MathJax.Callback([fn]) -- callback to function + * MathJax.Callback([fn,data...]) + * -- callback to function with given data as arguments + * MathJax.Callback([object,fn]) + * -- call fn with object as "this" + * MathJax.Callback([object,fn,data...]) + * -- call fn with object as "this" and data as arguments + * MathJax.Callback(["method",object]) + * -- call method of object wth object as "this" + * MathJax.Callback(["method",object,data...]) + * -- as above, but with data as arguments to method + * + * MathJax.Callback({hook: fn, data: [...], object: this}) + * -- give function, data, and object to act as "this" explicitly + * + * MathJax.Callback("code") -- callback that compiles and executes a string + * + * MathJax.Callback([...],i) + * -- use slice of array starting at i and interpret + * result as above. (Used for passing "arguments" array + * and trimming initial arguments, if any.) + */ + +/* + * MathJax.Callback.After([...],cb1,cb2,...) + * -- make a callback that isn't called until all the other + * ones are called first. I.e., wait for a union of + * callbacks to occur before making the given callback. + */ + +/* + * MathJax.Callback.Queue([callback,...]) + * -- make a synchronized queue of commands that process + * sequentially, waiting for those that return uncalled + * callbacks. + */ + +/* + * MathJax.Callback.Signal(name) + * -- finds or creates a names signal, to which listeners + * can be attached and are signaled by messages posted + * to the signal. Responses can be asynchronous. + */ + +(function (BASENAME) { + var BASE = window[BASENAME]; + if (!BASE) {BASE = window[BASENAME] = {}} + var isArray = BASE.Object.isArray; + // + // Create a callback from an associative array + // + var CALLBACK = function (data) { + var cb = function () {return arguments.callee.execute.apply(arguments.callee,arguments)}; + for (var id in CALLBACK.prototype) { + if (CALLBACK.prototype.hasOwnProperty(id)) { + if (typeof(data[id]) !== 'undefined') {cb[id] = data[id]} + else {cb[id] = CALLBACK.prototype[id]} + } + } + cb.toString = CALLBACK.prototype.toString; + return cb; + }; + CALLBACK.prototype = { + isCallback: true, + hook: function () {}, + data: [], + object: window, + execute: function () { + if (!this.called || this.autoReset) { + this.called = !this.autoReset; + return this.hook.apply(this.object,this.data.concat([].slice.call(arguments,0))); + } + }, + reset: function () {delete this.called}, + toString: function () {return this.hook.toString.apply(this.hook,arguments)} + }; + var ISCALLBACK = function (f) { + return (typeof(f) === "function" && f.isCallback); + } + + // + // Evaluate a string in global context + // + var EVAL = function (code) {return eval.call(window,code)} + var TESTEVAL = function () { + EVAL("var __TeSt_VaR__ = 1"); // check if it works in global context + if (window.__TeSt_VaR__) { + try { delete window.__TeSt_VaR__; } // NOTE IE9 throws when in IE7 mode + catch (error) { window.__TeSt_VaR__ = null; } + } else { + if (window.execScript) { + // IE + EVAL = function (code) { + BASE.__code = code; + code = "try {"+BASENAME+".__result = eval("+BASENAME+".__code)} catch(err) {"+BASENAME+".__result = err}"; + window.execScript(code); + var result = BASE.__result; delete BASE.__result; delete BASE.__code; + if (result instanceof Error) {throw result} + return result; + } + } else { + // Safari2 + EVAL = function (code) { + BASE.__code = code; + code = "try {"+BASENAME+".__result = eval("+BASENAME+".__code)} catch(err) {"+BASENAME+".__result = err}"; + var head = (document.getElementsByTagName("head"))[0]; if (!head) {head = document.body} + var script = document.createElement("script"); + script.appendChild(document.createTextNode(code)); + head.appendChild(script); head.removeChild(script); + var result = BASE.__result; delete BASE.__result; delete BASE.__code; + if (result instanceof Error) {throw result} + return result; + } + } + } + TESTEVAL = null; + }; + + // + // Create a callback from various types of data + // + var USING = function (args,i) { + if (arguments.length > 1) { + if (arguments.length === 2 && !(typeof arguments[0] === 'function') && + arguments[0] instanceof Object && typeof arguments[1] === 'number') + {args = [].slice.call(args,i)} + else {args = [].slice.call(arguments,0)} + } + if (isArray(args) && args.length === 1 && typeof(args[0]) === 'function') {args = args[0]} + if (typeof args === 'function') { + if (args.execute === CALLBACK.prototype.execute) {return args} + return CALLBACK({hook: args}); + } else if (isArray(args)) { + if (typeof(args[0]) === 'string' && args[1] instanceof Object && + typeof args[1][args[0]] === 'function') { + return CALLBACK({hook: args[1][args[0]], object: args[1], data: args.slice(2)}); + } else if (typeof args[0] === 'function') { + return CALLBACK({hook: args[0], data: args.slice(1)}); + } else if (typeof args[1] === 'function') { + return CALLBACK({hook: args[1], object: args[0], data: args.slice(2)}); + } + } else if (typeof(args) === 'string') { + if (TESTEVAL) TESTEVAL(); + return CALLBACK({hook: EVAL, data: [args]}); + } else if (args instanceof Object) { + return CALLBACK(args); + } else if (typeof(args) === 'undefined') { + return CALLBACK({}); + } + throw Error("Can't make callback from given data"); + }; + + // + // Wait for a given time to elapse and then perform the callback + // + var DELAY = function (time,callback) { + callback = USING(callback); + callback.timeout = setTimeout(callback,time); + return callback; + }; + + // + // Callback used by AFTER, QUEUE, and SIGNAL to check if calls have completed + // + var WAITFOR = function (callback,signal) { + callback = USING(callback); + if (!callback.called) {WAITSIGNAL(callback,signal); signal.pending++} + }; + var WAITEXECUTE = function () { + var signals = this.signal; delete this.signal; + this.execute = this.oldExecute; delete this.oldExecute; + var result = this.execute.apply(this,arguments); + if (ISCALLBACK(result) && !result.called) {WAITSIGNAL(result,signals)} else { + for (var i = 0, m = signals.length; i < m; i++) { + signals[i].pending--; + if (signals[i].pending <= 0) {signals[i].call()} + } + } + }; + var WAITSIGNAL = function (callback,signals) { + if (!isArray(signals)) {signals = [signals]} + if (!callback.signal) { + callback.oldExecute = callback.execute; + callback.execute = WAITEXECUTE; + callback.signal = signals; + } else if (signals.length === 1) {callback.signal.push(signals[0])} + else {callback.signal = callback.signal.concat(signals)} + }; + + // + // Create a callback that is called when a collection of other callbacks have + // all been executed. If the callback gets called immediately (i.e., the + // others are all already called), check if it returns another callback + // and return that instead. + // + var AFTER = function (callback) { + callback = USING(callback); + callback.pending = 0; + for (var i = 1, m = arguments.length; i < m; i++) + {if (arguments[i]) {WAITFOR(arguments[i],callback)}} + if (callback.pending === 0) { + var result = callback(); + if (ISCALLBACK(result)) {callback = result} + } + return callback; + }; + + // + // An array of prioritized hooks that are executed sequentially + // with a given set of data. + // + var HOOKS = MathJax.Object.Subclass({ + // + // Initialize the array and the auto-reset status + // + Init: function (reset) { + this.hooks = []; + this.remove = []; // used when hooks are removed during execution of list + this.reset = reset; + this.running = false; + }, + // + // Add a callback to the list, in priority order (default priority is 10) + // + Add: function (hook,priority) { + if (priority == null) {priority = 10} + if (!ISCALLBACK(hook)) {hook = USING(hook)} + hook.priority = priority; + var i = this.hooks.length; + while (i > 0 && priority < this.hooks[i-1].priority) {i--} + this.hooks.splice(i,0,hook); + return hook; + }, + Remove: function (hook) { + for (var i = 0, m = this.hooks.length; i < m; i++) { + if (this.hooks[i] === hook) { + if (this.running) {this.remove.push(i)} + else {this.hooks.splice(i,1)} + return; + } + } + }, + // + // Execute the list of callbacks, resetting them if requested. + // If any return callbacks, return a callback that will be + // executed when they all have completed. + // Remove any hooks that requested being removed during processing. + // + Execute: function () { + var callbacks = [{}]; + this.running = true; + for (var i = 0, m = this.hooks.length; i < m; i++) { + if (this.reset) {this.hooks[i].reset()} + var result = this.hooks[i].apply(window,arguments); + if (ISCALLBACK(result) && !result.called) {callbacks.push(result)} + } + this.running = false; + if (this.remove.length) {this.RemovePending()} + if (callbacks.length === 1) {return null} + if (callbacks.length === 2) {return callbacks[1]} + return AFTER.apply({},callbacks); + }, + // + // Remove hooks that asked to be removed during execution of list + // + RemovePending: function () { + this.remove = this.remove.sort(); + for (var i = this.remove.length-1; i >= 0; i--) {this.hooks.splice(i,1)} + this.remove = []; + } + + }); + + // + // Run an array of callbacks passing them the given data. + // (Legacy function, since this has been replaced by the HOOKS object). + // + var EXECUTEHOOKS = function (hooks,data,reset) { + if (!hooks) {return null} + if (!isArray(hooks)) {hooks = [hooks]} + if (!isArray(data)) {data = (data == null ? [] : [data])} + var handler = HOOKS(reset); + for (var i = 0, m = hooks.length; i < m; i++) {handler.Add(hooks[i])} + return handler.Execute.apply(handler,data); + }; + + // + // Command queue that performs commands in order, waiting when + // necessary for commands to complete asynchronousely + // + var QUEUE = BASE.Object.Subclass({ + // + // Create the queue and push any commands that are specified + // + Init: function () { + this.pending = this.running = 0; + this.queue = []; + this.Push.apply(this,arguments); + }, + // + // Add commands to the queue and run them. Adding a callback object + // (rather than a callback specification) queues a wait for that callback. + // Return the final callback for synchronization purposes. + // + Push: function () { + var callback; + for (var i = 0, m = arguments.length; i < m; i++) { + callback = USING(arguments[i]); + if (callback === arguments[i] && !callback.called) + {callback = USING(["wait",this,callback])} + this.queue.push(callback); + } + if (!this.running && !this.pending) {this.Process()} + return callback; + }, + // + // Process the command queue if we aren't waiting on another command + // + Process: function (queue) { + while (!this.running && !this.pending && this.queue.length) { + var callback = this.queue[0]; + queue = this.queue.slice(1); this.queue = []; + this.Suspend(); var result = callback(); this.Resume(); + if (queue.length) {this.queue = queue.concat(this.queue)} + if (ISCALLBACK(result) && !result.called) {WAITFOR(result,this)} + } + }, + // + // Suspend/Resume command processing on this queue + // + Suspend: function () {this.running++}, + Resume: function () {if (this.running) {this.running--}}, + // + // Used by WAITFOR to restart the queue when an action completes + // + call: function () {this.Process.apply(this,arguments)}, + wait: function (callback) {return callback} + }); + + // + // Create a named signal that listeners can attach to, to be signaled by + // postings made to the signal. Posts are queued if they occur while one + // is already in process. + // + var SIGNAL = QUEUE.Subclass({ + Init: function (name) { + QUEUE.prototype.Init.call(this); + this.name = name; + this.posted = []; // the messages posted so far + this.listeners = HOOKS(true); // those with interest in this signal + this.posting = false; + this.callback = null; + }, + // + // Post a message to the signal listeners, with callback for when complete + // + Post: function (message,callback,forget) { + callback = USING(callback); + if (this.posting || this.pending) { + this.Push(["Post",this,message,callback,forget]); + } else { + this.callback = callback; callback.reset(); + if (!forget) {this.posted.push(message)} + this.Suspend(); this.posting = true; + var result = this.listeners.Execute(message); + if (ISCALLBACK(result) && !result.called) {WAITFOR(result,this)} + this.Resume(); this.posting = false; + if (!this.pending) {this.call()} + } + return callback; + }, + // + // Clear the post history (so new listeners won't get old messages) + // + Clear: function (callback) { + callback = USING(callback); + if (this.posting || this.pending) { + callback = this.Push(["Clear",this,callback]); + } else { + this.posted = []; + callback(); + } + return callback; + }, + // + // Call the callback (all replies are in) and process the command queue + // + call: function () {this.callback(this); this.Process()}, + + // + // A listener calls this to register interest in the signal (so it will be called + // when posts occur). If ignorePast is true, it will not be sent the post history. + // + Interest: function (callback,ignorePast,priority) { + callback = USING(callback); + this.listeners.Add(callback,priority); + if (!ignorePast) { + for (var i = 0, m = this.posted.length; i < m; i++) { + callback.reset(); + var result = callback(this.posted[i]); + if (ISCALLBACK(result) && i === this.posted.length-1) {WAITFOR(result,this)} + } + } + return callback; + }, + // + // A listener calls this to remove itself from a signal + // + NoInterest: function (callback) { + this.listeners.Remove(callback); + }, + + // + // Hook a callback to a particular message on this signal + // + MessageHook: function (msg,callback,priority) { + callback = USING(callback); + if (!this.hooks) {this.hooks = {}; this.Interest(["ExecuteHooks",this])} + if (!this.hooks[msg]) {this.hooks[msg] = HOOKS(true)} + this.hooks[msg].Add(callback,priority); + for (var i = 0, m = this.posted.length; i < m; i++) + {if (this.posted[i] == msg) {callback.reset(); callback(this.posted[i])}} + callback.msg = msg; // keep track so we can remove it + return callback; + }, + // + // Execute the message hooks for the given message + // + ExecuteHooks: function (msg) { + var type = (isArray(msg) ? msg[0] : msg); + if (!this.hooks[type]) {return null} + return this.hooks[type].Execute(msg); + }, + // + // Remove a hook safely + // + RemoveHook: function (hook) { + this.hooks[hook.msg].Remove(hook); + } + + },{ + signals: {}, // the named signals + find: function (name) { + if (!SIGNAL.signals[name]) {SIGNAL.signals[name] = new SIGNAL(name)} + return SIGNAL.signals[name]; + } + }); + + // + // The main entry-points + // + BASE.Callback = BASE.CallBack = USING; + BASE.Callback.Delay = DELAY; + BASE.Callback.After = AFTER; + BASE.Callback.Queue = QUEUE; + BASE.Callback.Signal = SIGNAL.find; + BASE.Callback.Hooks = HOOKS; + BASE.Callback.ExecuteHooks = EXECUTEHOOKS; +})("MathJax"); + + +/**********************************************************/ + +(function (BASENAME) { + var BASE = window[BASENAME]; + if (!BASE) {BASE = window[BASENAME] = {}} + + var isSafari2 = (navigator.vendor === "Apple Computer, Inc." && + typeof navigator.vendorSub === "undefined"); + var sheets = 0; // used by Safari2 + + // + // Update sheets count and look up the head object + // + var HEAD = function (head) { + if (document.styleSheets && document.styleSheets.length > sheets) + {sheets = document.styleSheets.length} + if (!head) { + head = document.head || ((document.getElementsByTagName("head"))[0]); + if (!head) {head = document.body} + } + return head; + }; + + // + // Remove scripts that are completed so they don't clutter up the HEAD. + // This runs via setTimeout since IE7 can't remove the script while it is running. + // + var SCRIPTS = []; // stores scripts to be removed after a delay + var REMOVESCRIPTS = function () { + for (var i = 0, m = SCRIPTS.length; i < m; i++) {BASE.Ajax.head.removeChild(SCRIPTS[i])} + SCRIPTS = []; + }; + + var PATH = {}; + PATH[BASENAME] = ""; // empty path gets the root URL + PATH.a11y = '[MathJax]/extensions/a11y'; // a11y extensions + PATH.Contrib = "https://cdn.mathjax.org/mathjax/contrib"; // the third-party extensions + + BASE.Ajax = { + loaded: {}, // files already loaded + loading: {}, // files currently in process of loading + loadHooks: {}, // hooks to call when files are loaded + timeout: 15*1000, // timeout for loading of files (15 seconds) + styleDelay: 1, // delay to use before styles are available + config: { + root: "", // URL of root directory to load from + path: PATH // paths to named URL's (e.g., [MathJax]/...) + }, + params: {}, // filled in from MathJax.js?... + + STATUS: { + OK: 1, // file is loading or did load OK + ERROR: -1 // file timed out during load + }, + + // + // Return a complete URL to a file (replacing any root names) + // + fileURL: function (file) { + var match; + while ((match = file.match(/^\[([-._a-z0-9]+)\]/i)) && PATH.hasOwnProperty(match[1])) { + file = (PATH[match[1]]||this.config.root) + file.substr(match[1].length+2); + } + return file; + }, + // + // Replace root names if URL includes one + // + fileName: function (url) { + var root = this.config.root; + if (url.substr(0,root.length) === root) {url = "["+BASENAME+"]"+url.substr(root.length)} + do { + var recheck = false; + for (var id in PATH) {if (PATH.hasOwnProperty(id) && PATH[id]) { + if (url.substr(0,PATH[id].length) === PATH[id]) { + url = "["+id+"]"+url.substr(PATH[id].length); + recheck = true; + break; + } + }} + } while (recheck); + return url; + }, + // + // Cache-breaking revision number for file + // + fileRev: function (file) { + var V = BASE.cdnFileVersions[file] || BASE.cdnVersion || ''; + if (V) {V = "?V="+V} + return V; + }, + urlRev: function (file) {return this.fileURL(file)+this.fileRev(file)}, + + // + // Load a file if it hasn't been already. + // Make sure the file URL is "safe"? + // + Require: function (file,callback) { + callback = BASE.Callback(callback); var type; + if (file instanceof Object) { + for (var i in file) + {if (file.hasOwnProperty(i)) {type = i.toUpperCase(); file = file[i]}} + } else {type = file.split(/\./).pop().toUpperCase()} + if (this.params.noContrib && file.substr(0,9) === "[Contrib]") { + callback(this.STATUS.ERROR); + } else { + file = this.fileURL(file); + // FIXME: check that URL is OK + if (this.loaded[file]) { + callback(this.loaded[file]); + } else { + var FILE = {}; FILE[type] = file; + this.Load(FILE,callback); + } + } + return callback; + }, + + // + // Load a file regardless of where it is and whether it has + // already been loaded. + // + Load: function (file,callback) { + callback = BASE.Callback(callback); var type; + if (file instanceof Object) { + for (var i in file) + {if (file.hasOwnProperty(i)) {type = i.toUpperCase(); file = file[i]}} + } else {type = file.split(/\./).pop().toUpperCase()} + file = this.fileURL(file); + if (this.loading[file]) { + this.addHook(file,callback); + } else { + this.head = HEAD(this.head); + if (this.loader[type]) {this.loader[type].call(this,file,callback)} + else {throw Error("Can't load files of type "+type)} + } + return callback; + }, + + // + // Register a load hook for a particular file (it will be called when + // loadComplete() is called for that file) + // + LoadHook: function (file,callback,priority) { + callback = BASE.Callback(callback); + if (file instanceof Object) + {for (var i in file) {if (file.hasOwnProperty(i)) {file = file[i]}}} + file = this.fileURL(file); + if (this.loaded[file]) {callback(this.loaded[file])} + else {this.addHook(file,callback,priority)} + return callback; + }, + addHook: function (file,callback,priority) { + if (!this.loadHooks[file]) {this.loadHooks[file] = MathJax.Callback.Hooks()} + this.loadHooks[file].Add(callback,priority); + callback.file = file; + }, + removeHook: function (hook) { + if (this.loadHooks[hook.file]) { + this.loadHooks[hook.file].Remove(hook); + if (!this.loadHooks[hook.file].hooks.length) {delete this.loadHooks[hook.file]} + } + }, + + // + // Used when files are combined in a preloading configuration file + // + Preloading: function () { + for (var i = 0, m = arguments.length; i < m; i++) { + var file = this.fileURL(arguments[i]); + if (!this.loading[file]) {this.loading[file] = {preloaded: true}} + } + }, + + // + // Code used to load the various types of files + // (JS for JavaScript, CSS for style sheets) + // + loader: { + // + // Create a SCRIPT tag to load the file + // + JS: function (file,callback) { + var name = this.fileName(file); + var script = document.createElement("script"); + var timeout = BASE.Callback(["loadTimeout",this,file]); + this.loading[file] = { + callback: callback, + timeout: setTimeout(timeout,this.timeout), + status: this.STATUS.OK, + script: script + }; + // + // Add this to the structure above after it is created to prevent recursion + // when loading the initial localization file (before loading message is available) + // + this.loading[file].message = BASE.Message.File(name); + script.onerror = timeout; // doesn't work in IE and no apparent substitute + script.type = "text/javascript"; + script.src = file+this.fileRev(name); + this.head.appendChild(script); + }, + // + // Create a LINK tag to load the style sheet + // + CSS: function (file,callback) { + var name = this.fileName(file); + var link = document.createElement("link"); + link.rel = "stylesheet"; link.type = "text/css"; + link.href = file+this.fileRev(name); + this.loading[file] = { + callback: callback, + message: BASE.Message.File(name), + status: this.STATUS.OK + }; + this.head.appendChild(link); + this.timer.create.call(this,[this.timer.file,file],link); + } + }, + + // + // Timing code for checking when style sheets are available. + // + timer: { + // + // Create the timing callback and start the timing loop. + // We use a delay because some browsers need it to allow the styles + // to be processed. + // + create: function (callback,node) { + callback = BASE.Callback(callback); + if (node.nodeName === "STYLE" && node.styleSheet && + typeof(node.styleSheet.cssText) !== 'undefined') { + callback(this.STATUS.OK); // MSIE processes style immediately, but doesn't set its styleSheet! + } else if (window.chrome && node.nodeName === "LINK") { + callback(this.STATUS.OK); // Chrome doesn't give access to cssRules for stylesheet in + // a link node, so we can't detect when it is loaded. + } else if (isSafari2) { + this.timer.start(this,[this.timer.checkSafari2,sheets++,callback],this.styleDelay); + } else { + this.timer.start(this,[this.timer.checkLength,node,callback],this.styleDelay); + } + return callback; + }, + // + // Start the timer for the given callback checker + // + start: function (AJAX,check,delay,timeout) { + check = BASE.Callback(check); + check.execute = this.execute; check.time = this.time; + check.STATUS = AJAX.STATUS; check.timeout = timeout || AJAX.timeout; + check.delay = check.total = delay || 0; + if (delay) {setTimeout(check,delay)} else {check()} + }, + // + // Increment the time total, increase the delay + // and test if we are past the timeout time. + // + time: function (callback) { + this.total += this.delay; + this.delay = Math.floor(this.delay * 1.05 + 5); + if (this.total >= this.timeout) {callback(this.STATUS.ERROR); return 1} + return 0; + }, + // + // For JS file loads, call the proper routine according to status + // + file: function (file,status) { + if (status < 0) {BASE.Ajax.loadTimeout(file)} else {BASE.Ajax.loadComplete(file)} + }, + // + // Call the hook with the required data + // + execute: function () {this.hook.call(this.object,this,this.data[0],this.data[1])}, + // + // Safari2 doesn't set the link's stylesheet, so we need to look in the + // document.styleSheets array for the new sheet when it is created + // + checkSafari2: function (check,length,callback) { + if (check.time(callback)) return; + if (document.styleSheets.length > length && + document.styleSheets[length].cssRules && + document.styleSheets[length].cssRules.length) + {callback(check.STATUS.OK)} else {setTimeout(check,check.delay)} + }, + // + // Look for the stylesheets rules and check when they are defined + // and no longer of length zero. (This assumes there actually ARE + // some rules in the stylesheet.) + // + checkLength: function (check,node,callback) { + if (check.time(callback)) return; + var isStyle = 0; var sheet = (node.sheet || node.styleSheet); + try {if ((sheet.cssRules||sheet.rules||[]).length > 0) {isStyle = 1}} catch(err) { + if (err.message.match(/protected variable|restricted URI/)) {isStyle = 1} + else if (err.message.match(/Security error/)) { + // Firefox3 gives "Security error" for missing files, so + // can't distinguish that from OK files on remote servers. + // or OK files in different directory from local files. + isStyle = 1; // just say it is OK (can't really tell) + } + } + if (isStyle) { + // Opera 9.6 requires this setTimeout + setTimeout(BASE.Callback([callback,check.STATUS.OK]),0); + } else { + setTimeout(check,check.delay); + } + } + }, + + // + // JavaScript code must call this when they are completely initialized + // (this allows them to perform asynchronous actions before indicating + // that they are complete). + // + loadComplete: function (file) { + file = this.fileURL(file); + var loading = this.loading[file]; + if (loading && !loading.preloaded) { + BASE.Message.Clear(loading.message); + clearTimeout(loading.timeout); + if (loading.script) { + if (SCRIPTS.length === 0) {setTimeout(REMOVESCRIPTS,0)} + SCRIPTS.push(loading.script); + } + this.loaded[file] = loading.status; delete this.loading[file]; + this.addHook(file,loading.callback); + } else { + if (loading) {delete this.loading[file]} + this.loaded[file] = this.STATUS.OK; + loading = {status: this.STATUS.OK} + } + if (!this.loadHooks[file]) {return null} + return this.loadHooks[file].Execute(loading.status); + }, + + // + // If a file fails to load within the timeout period (or the onerror handler + // is called), this routine runs to signal the error condition. + // + loadTimeout: function (file) { + if (this.loading[file].timeout) {clearTimeout(this.loading[file].timeout)} + this.loading[file].status = this.STATUS.ERROR; + this.loadError(file); + this.loadComplete(file); + }, + + // + // The default error hook for file load failures + // + loadError: function (file) { + BASE.Message.Set(["LoadFailed","File failed to load: %1",file],null,2000); + BASE.Hub.signal.Post(["file load error",file]); + }, + + // + // Defines a style sheet from a hash of style declarations (key:value pairs + // where the key is the style selector and the value is a hash of CSS attributes + // and values). + // + Styles: function (styles,callback) { + var styleString = this.StyleString(styles); + if (styleString === "") { + callback = BASE.Callback(callback); + callback(); + } else { + var style = document.createElement("style"); style.type = "text/css"; + this.head = HEAD(this.head); + this.head.appendChild(style); + if (style.styleSheet && typeof(style.styleSheet.cssText) !== 'undefined') { + style.styleSheet.cssText = styleString; + } else { + style.appendChild(document.createTextNode(styleString)); + } + callback = this.timer.create.call(this,callback,style); + } + return callback; + }, + + // + // Create a stylesheet string from a style declaration object + // + StyleString: function (styles) { + if (typeof(styles) === 'string') {return styles} + var string = "", id, style; + for (id in styles) {if (styles.hasOwnProperty(id)) { + if (typeof styles[id] === 'string') { + string += id + " {"+styles[id]+"}\n"; + } else if (BASE.Object.isArray(styles[id])) { + for (var i = 0; i < styles[id].length; i++) { + style = {}; style[id] = styles[id][i]; + string += this.StyleString(style); + } + } else if (id.substr(0,6) === '@media') { + string += id + " {"+this.StyleString(styles[id])+"}\n"; + } else if (styles[id] != null) { + style = []; + for (var name in styles[id]) {if (styles[id].hasOwnProperty(name)) { + if (styles[id][name] != null) + {style[style.length] = name + ': ' + styles[id][name]} + }} + string += id +" {"+style.join('; ')+"}\n"; + } + }} + return string; + } + }; + +})("MathJax"); + +/**********************************************************/ + +MathJax.HTML = { + // + // Create an HTML element with given attributes and content. + // The def parameter is an (optional) object containing key:value pairs + // of the attributes and their values, and contents is an (optional) + // array of strings to be inserted as text, or arrays of the form + // [type,def,contents] that describes an HTML element to be inserted + // into the current element. Thus the contents can describe a complete + // HTML snippet of arbitrary complexity. E.g.: + // + // MathJax.HTML.Element("span",{id:"mySpan",style{"font-style":"italic"}},[ + // "(See the ",["a",{href:"http://www.mathjax.org"},["MathJax home page"]], + // " for more details.)"]); + // + Element: function (type,def,contents) { + var obj = document.createElement(type), id; + if (def) { + if (def.hasOwnProperty("style")) { + var style = def.style; def.style = {}; + for (id in style) {if (style.hasOwnProperty(id)) + {def.style[id.replace(/-([a-z])/g,this.ucMatch)] = style[id]}} + } + MathJax.Hub.Insert(obj,def); + for (id in def) { + if (id === "role" || id.substr(0,5) === "aria-") obj.setAttribute(id,def[id]); + } + } + if (contents) { + if (!MathJax.Object.isArray(contents)) {contents = [contents]} + for (var i = 0, m = contents.length; i < m; i++) { + if (MathJax.Object.isArray(contents[i])) { + obj.appendChild(this.Element(contents[i][0],contents[i][1],contents[i][2])); + } else if (type === "script") { // IE throws an error if script is added as a text node + this.setScript(obj, contents[i]); + } else { + obj.appendChild(document.createTextNode(contents[i])); + } + } + } + return obj; + }, + ucMatch: function (match,c) {return c.toUpperCase()}, + addElement: function (span,type,def,contents) {return span.appendChild(this.Element(type,def,contents))}, + TextNode: function (text) {return document.createTextNode(text)}, + addText: function (span,text) {return span.appendChild(this.TextNode(text))}, + + // + // Set and get the text of a script + // + setScript: function (script,text) { + if (this.setScriptBug) {script.text = text} else { + while (script.firstChild) {script.removeChild(script.firstChild)} + this.addText(script,text); + } + }, + getScript: function (script) { + var text = (script.text === "" ? script.innerHTML : script.text); + return text.replace(/^\s+/,"").replace(/\s+$/,""); + }, + + // + // Manage cookies + // + Cookie: { + prefix: "mjx", + expires: 365, + + // + // Save an object as a named cookie + // + Set: function (name,def) { + var keys = []; + if (def) { + for (var id in def) {if (def.hasOwnProperty(id)) { + keys.push(id+":"+def[id].toString().replace(/&/g,"&&")); + }} + } + var cookie = this.prefix+"."+name+"="+escape(keys.join('&;')); + if (this.expires) { + var time = new Date(); time.setDate(time.getDate() + this.expires); + cookie += '; expires='+time.toGMTString(); + } + try {document.cookie = cookie+"; path=/"} catch (err) {} // ignore errors saving cookies + }, + + // + // Get the contents of a named cookie and incorporate + // it into the given object (or return a fresh one) + // + Get: function (name,obj) { + if (!obj) {obj = {}} + var pattern = new RegExp("(?:^|;\\s*)"+this.prefix+"\\."+name+"=([^;]*)(?:;|$)"); + var match; + try {match = pattern.exec(document.cookie)} catch (err) {}; // ignore errors reading cookies + if (match && match[1] !== "") { + var keys = unescape(match[1]).split('&;'); + for (var i = 0, m = keys.length; i < m; i++) { + match = keys[i].match(/([^:]+):(.*)/); + var value = match[2].replace(/&&/g,'&'); + if (value === "true") {value = true} else if (value === "false") {value = false} + else if (value.match(/^-?(\d+(\.\d+)?|\.\d+)$/)) {value = parseFloat(value)} + obj[match[1]] = value; + } + } + return obj; + } + } + +}; + + +/**********************************************************/ + +MathJax.Localization = { + + locale: "en", + directory: "[MathJax]/localization", + strings: { + // Currently, this list is not modified by the MathJax-i18n script. You can + // run the following command in MathJax/unpacked/localization to update it: + // + // find . -name "*.js" | xargs grep menuTitle\: | grep -v qqq | sed 's/^\.\/\(.*\)\/.*\.js\: / "\1"\: \{/' | sed 's/,$/\},/' | sed 's/"English"/"English", isLoaded: true/' > tmp ; sort tmp > tmp2 ; sed '$ s/,$//' tmp2 ; rm tmp* + // + // This only takes languages with localization data so you must also add + // the languages that use a remap but are not translated at all. + // + "ar": {menuTitle: "\u0627\u0644\u0639\u0631\u0628\u064A\u0629"}, + "ast": {menuTitle: "asturianu"}, + "bg": {menuTitle: "\u0431\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438"}, + "bcc": {menuTitle: "\u0628\u0644\u0648\u0686\u06CC"}, + "br": {menuTitle: "brezhoneg"}, + "ca": {menuTitle: "catal\u00E0"}, + "cdo": {menuTitle: "M\u00ECng-d\u0115\u0324ng-ng\u1E73\u0304"}, + "cs": {menuTitle: "\u010De\u0161tina"}, + "da": {menuTitle: "dansk"}, + "de": {menuTitle: "Deutsch"}, + "diq": {menuTitle: "Zazaki"}, + "en": {menuTitle: "English", isLoaded: true}, + "eo": {menuTitle: "Esperanto"}, + "es": {menuTitle: "espa\u00F1ol"}, + "fa": {menuTitle: "\u0641\u0627\u0631\u0633\u06CC"}, + "fi": {menuTitle: "suomi"}, + "fr": {menuTitle: "fran\u00E7ais"}, + "gl": {menuTitle: "galego"}, + "he": {menuTitle: "\u05E2\u05D1\u05E8\u05D9\u05EA"}, + "ia": {menuTitle: "interlingua"}, + "it": {menuTitle: "italiano"}, + "ja": {menuTitle: "\u65E5\u672C\u8A9E"}, + "kn": {menuTitle: "\u0C95\u0CA8\u0CCD\u0CA8\u0CA1"}, + "ko": {menuTitle: "\uD55C\uAD6D\uC5B4"}, + "lb": {menuTitle: "L\u00EBtzebuergesch"}, + "lki": {menuTitle: "\u0644\u06D5\u06A9\u06CC"}, + "lt": {menuTitle: "lietuvi\u0173"}, + "mk": {menuTitle: "\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438"}, + "nl": {menuTitle: "Nederlands"}, + "oc": {menuTitle: "occitan"}, + "pl": {menuTitle: "polski"}, + "pt": {menuTitle: "portugu\u00EAs"}, + "pt-br": {menuTitle: "portugu\u00EAs do Brasil"}, + "ru": {menuTitle: "\u0440\u0443\u0441\u0441\u043A\u0438\u0439"}, + "sco": {menuTitle: "Scots"}, + "scn": {menuTitle: "sicilianu"}, + "sk": {menuTitle: "sloven\u010Dina"}, + "sl": {menuTitle: "sloven\u0161\u010Dina"}, + "sv": {menuTitle: "svenska"}, + "th": {menuTitle: "\u0E44\u0E17\u0E22"}, + "tr": {menuTitle: "T\u00FCrk\u00E7e"}, + "uk": {menuTitle: "\u0443\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430"}, + "vi": {menuTitle: "Ti\u1EBFng Vi\u1EC7t"}, + "zh-hans": {menuTitle: "\u4E2D\u6587\uFF08\u7B80\u4F53\uFF09"}, + "zh-hant": {menuTitle: "\u6C49\u8BED"} + }, + + // + // The pattern for substitution escapes: + // %n or %{n} or %{plural:%n|option1|option1|...} or %c + // + pattern: /%(\d+|\{\d+\}|\{[a-z]+:\%\d+(?:\|(?:%\{\d+\}|%.|[^\}])*)+\}|.)/g, + + SPLIT: ("axb".split(/(x)/).length === 3 ? + function (string,regex) {return string.split(regex)} : + // + // IE8 and below don't do split() correctly when the pattern includes + // parentheses (the split should include the matched exrepssions). + // So implement it by hand here. + // + function (string,regex) { + var result = [], match, last = 0; + regex.lastIndex = 0; + while ((match = regex.exec(string))) { + result.push(string.substr(last,match.index-last)); + result.push.apply(result,match.slice(1)); + last = match.index + match[0].length; + } + result.push(string.substr(last)); + return result; + }), + + _: function (id,phrase) { + if (MathJax.Object.isArray(phrase)) {return this.processSnippet(id,phrase)} + return this.processString(this.lookupPhrase(id,phrase),[].slice.call(arguments,2)); + }, + + processString: function (string,args,domain) { + // + // Process arguments for substitution + // If the argument is a snippet (and we are processing snippets) do so, + // Otherwise, if it is a number, convert it for the lacale + // + var i, m, isArray = MathJax.Object.isArray; + for (i = 0, m = args.length; i < m; i++) { + if (domain && isArray(args[i])) {args[i] = this.processSnippet(domain,args[i])} + } + // + // Split string at escapes and process them individually + // + var parts = this.SPLIT(string,this.pattern); + for (i = 1, m = parts.length; i < m; i += 2) { + var c = parts[i].charAt(0); // first char will be { or \d or a char to be kept literally + if (c >= "0" && c <= "9") { // %n + parts[i] = args[parts[i]-1]; + if (typeof parts[i] === "number") parts[i] = this.number(parts[i]); + } else if (c === "{") { // %{n} or %{plural:%n|...} + c = parts[i].substr(1); + if (c >= "0" && c <= "9") { // %{n} + parts[i] = args[parts[i].substr(1,parts[i].length-2)-1]; + if (typeof parts[i] === "number") parts[i] = this.number(parts[i]); + } else { // %{plural:%n|...} + var match = parts[i].match(/^\{([a-z]+):%(\d+)\|(.*)\}$/); + if (match) { + if (match[1] === "plural") { + var n = args[match[2]-1]; + if (typeof n === "undefined") { + parts[i] = "???"; // argument doesn't exist + } else { + n = this.plural(n) - 1; // index of the form to use + var plurals = match[3].replace(/(^|[^%])(%%)*%\|/g,"$1$2%\uEFEF").split(/\|/); // the parts (replacing %| with a special character) + if (n >= 0 && n < plurals.length) { + parts[i] = this.processString(plurals[n].replace(/\uEFEF/g,"|"),args,domain); + } else { + parts[i] = "???"; // no string for this index + } + } + } else {parts[i] = "%"+parts[i]} // not "plural", put back the % and leave unchanged + } + } + } + if (parts[i] == null) {parts[i] = "???"} + } + // + // If we are not forming a snippet, return the completed string + // + if (!domain) {return parts.join("")} + // + // We need to return an HTML snippet, so buld it from the + // broken up string with inserted parts (that could be snippets) + // + var snippet = [], part = ""; + for (i = 0; i < m; i++) { + part += parts[i]; i++; // add the string and move on to substitution result + if (i < m) { + if (isArray(parts[i])) { // substitution was a snippet + snippet.push(part); // add the accumulated string + snippet = snippet.concat(parts[i]); // concatenate the substution snippet + part = ""; // start accumulating a new string + } else { // substitution was a string + part += parts[i]; // add to accumulating string + } + } + } + if (part !== "") {snippet.push(part)} // add final string + return snippet; + }, + + processSnippet: function (domain,snippet) { + var result = []; // the new snippet + // + // Look through the original snippet for + // strings or snippets to translate + // + for (var i = 0, m = snippet.length; i < m; i++) { + if (MathJax.Object.isArray(snippet[i])) { + // + // This could be a sub-snippet: + // ["tag"] or ["tag",{properties}] or ["tag",{properties},snippet] + // Or it could be something to translate: + // [id,string,args] or [domain,snippet] + var data = snippet[i]; + if (typeof data[1] === "string") { // [id,string,args] + var id = data[0]; if (!MathJax.Object.isArray(id)) {id = [domain,id]} + var phrase = this.lookupPhrase(id,data[1]); + result = result.concat(this.processMarkdown(phrase,data.slice(2),domain)); + } else if (MathJax.Object.isArray(data[1])) { // [domain,snippet] + result = result.concat(this.processSnippet.apply(this,data)); + } else if (data.length >= 3) { // ["tag",{properties},snippet] + result.push([data[0],data[1],this.processSnippet(domain,data[2])]); + } else { // ["tag"] or ["tag",{properties}] + result.push(snippet[i]); + } + } else { // a string + result.push(snippet[i]); + } + } + return result; + }, + + markdownPattern: /(%.)|(\*{1,3})((?:%.|.)+?)\2|(`+)((?:%.|.)+?)\4|\[((?:%.|.)+?)\]\(([^\s\)]+)\)/, + // %c or *bold*, **italics**, ***bold-italics***, or `code`, or [link](url) + + processMarkdown: function (phrase,args,domain) { + var result = [], data; + // + // Split the string by the Markdown pattern + // (the text blocks are separated by + // c,stars,star-text,backtics,code-text,link-text,URL). + // Start with the first text string from the split. + // + var parts = phrase.split(this.markdownPattern); + var string = parts[0]; + // + // Loop through the matches and process them + // + for (var i = 1, m = parts.length; i < m; i += 8) { + if (parts[i+1]) { // stars (for bold/italic) + // + // Select the tag to use by number of stars (three stars requires two tags) + // + data = this.processString(parts[i+2],args,domain); + if (!MathJax.Object.isArray(data)) {data = [data]} + data = [["b","i","i"][parts[i+1].length-1],{},data]; // number of stars determines type + if (parts[i+1].length === 3) {data = ["b",{},data]} // bold-italic + } else if (parts[i+3]) { // backtics (for code) + // + // Remove one leading or trailing space, and process substitutions + // Make a tag + // + data = this.processString(parts[i+4].replace(/^\s/,"").replace(/\s$/,""),args,domain); + if (!MathJax.Object.isArray(data)) {data = [data]} + data = ["code",{},data]; + } else if (parts[i+5]) { // hyperlink + // + // Process the link text, and make an tag with the URL + // + data = this.processString(parts[i+5],args,domain); + if (!MathJax.Object.isArray(data)) {data = [data]} + data = ["a",{href:this.processString(parts[i+6],args),target:"_blank"},data]; + } else { + // + // Escaped character (%c) gets added into the string. + // + string += parts[i]; data = null; + } + // + // If there is a tag to insert, + // Add any pending string, then push the tag + // + if (data) { + result = this.concatString(result,string,args,domain); + result.push(data); string = ""; + } + // + // Process the string that follows matches pattern + // + if (parts[i+7] !== "") {string += parts[i+7]} + }; + // + // Add any pending string and return the resulting snippet + // + result = this.concatString(result,string,args,domain); + return result; + }, + concatString: function (result,string,args,domain) { + if (string != "") { + // + // Process the substutions. + // If the result is not a snippet, turn it into one. + // Then concatenate the snippet to the current one + // + string = this.processString(string,args,domain); + if (!MathJax.Object.isArray(string)) {string = [string]} + result = result.concat(string); + } + return result; + }, + + lookupPhrase: function (id,phrase,domain) { + // + // Get the domain and messageID + // + if (!domain) {domain = "_"} + if (MathJax.Object.isArray(id)) {domain = (id[0] || "_"); id = (id[1] || "")} + // + // Check if the data is available and if not, + // load it and throw a restart error so the calling + // code can wait for the load and try again. + // + var load = this.loadDomain(domain); + if (load) {MathJax.Hub.RestartAfter(load)} + // + // Look up the message in the localization data + // (if not found, the original English is used) + // + var localeData = this.strings[this.locale]; + if (localeData) { + if (localeData.domains && domain in localeData.domains) { + var domainData = localeData.domains[domain]; + if (domainData.strings && id in domainData.strings) + {phrase = domainData.strings[id]} + } + } + // + // return the translated phrase + // + return phrase; + }, + + // + // Load a langauge data file from the proper + // directory and file. + // + loadFile: function (file,data,callback) { + callback = MathJax.Callback(callback); + file = (data.file || file); // the data's file name or the default name + if (!file.match(/\.js$/)) {file += ".js"} // add .js if needed + // + // Add the directory if the file doesn't + // contain a full URL already. + // + if (!file.match(/^([a-z]+:|\[MathJax\])/)) { + var dir = (this.strings[this.locale].directory || + this.directory + "/" + this.locale || + "[MathJax]/localization/" + this.locale); + file = dir + "/" + file; + } + // + // Load the file and mark the data as loaded (even if it + // failed to load, so we don't continue to try to load it + // over and over). + // + var load = MathJax.Ajax.Require(file,function () {data.isLoaded = true; return callback()}); + // + // Return the callback if needed, otherwise null. + // + return (load.called ? null : load); + }, + + // + // Check to see if the localization data are loaded + // for the given domain; if not, load the data file, + // and return a callback for the loading operation. + // Otherwise return null (data are loaded). + // + loadDomain: function (domain,callback) { + var load, localeData = this.strings[this.locale]; + if (localeData) { + if (!localeData.isLoaded) { + load = this.loadFile(this.locale,localeData); + if (load) { + return MathJax.Callback.Queue( + load,["loadDomain",this,domain] // call again to load domain + ).Push(callback||{}); + } + } + if (localeData.domains && domain in localeData.domains) { + var domainData = localeData.domains[domain]; + if (!domainData.isLoaded) { + load = this.loadFile(domain,domainData); + if (load) {return MathJax.Callback.Queue(load).Push(callback)} + } + } + } + // localization data are loaded, so just do the callback + return MathJax.Callback(callback)(); + }, + + // + // Perform a function, properly handling + // restarts due to localization file loads. + // + // Note that this may return before the function + // has been called successfully, so you should + // consider fn as running asynchronously. (Callbacks + // can be used to synchronize it with other actions.) + // + Try: function (fn) { + fn = MathJax.Callback(fn); fn.autoReset = true; + try {fn()} catch (err) { + if (!err.restart) {throw err} + MathJax.Callback.After(["Try",this,fn],err.restart); + } + }, + + // + // Reset the current language + // + resetLocale: function(locale) { + // Selection algorithm: + // 1) Downcase locale name (e.g. "en-US" => "en-us") + // 2) Try a parent language (e.g. "en-us" => "en") + // 3) Try the fallback specified in the data (e.g. "pt" => "pt-br") + // 4) Otherwise don't change the locale. + if (!locale) return; + locale = locale.toLowerCase(); + while (!this.strings[locale]) { + var dashPos = locale.lastIndexOf("-"); + if (dashPos === -1) return; + locale = locale.substring(0, dashPos); + } + var remap = this.strings[locale].remap; + this.locale = remap ? remap : locale; + MathJax.Callback.Signal("Hub").Post(["Locale Reset", this.locale]); + }, + + // + // Set the current language + // + setLocale: function(locale) { + this.resetLocale(locale); + if (MathJax.Menu) {this.loadDomain("MathMenu")} + }, + + // + // Add or update a language or domain + // + addTranslation: function (locale,domain,definition) { + var data = this.strings[locale], isNew = false; + if (!data) {data = this.strings[locale] = {}; isNew = true} + if (!data.domains) {data.domains = {}} + if (domain) { + if (!data.domains[domain]) {data.domains[domain] = {}} + data = data.domains[domain]; + } + MathJax.Hub.Insert(data,definition); + if (isNew && MathJax.Menu.menu) {MathJax.Menu.CreateLocaleMenu()} + }, + + // + // Set CSS for an element based on font requirements + // + setCSS: function (div) { + var locale = this.strings[this.locale]; + if (locale) { + if (locale.fontFamily) {div.style.fontFamily = locale.fontFamily} + if (locale.fontDirection) { + div.style.direction = locale.fontDirection; + if (locale.fontDirection === "rtl") {div.style.textAlign = "right"} + } + } + return div; + }, + + // + // Get the language's font family or direction + // + fontFamily: function () { + var locale = this.strings[this.locale]; + return (locale ? locale.fontFamily : null); + }, + fontDirection: function () { + var locale = this.strings[this.locale]; + return (locale ? locale.fontDirection : null); + }, + + // + // Get the language's plural index for a number + // + plural: function (n) { + var locale = this.strings[this.locale]; + if (locale && locale.plural) {return locale.plural(n)} + // default + if (n == 1) {return 1} // one + return 2; // other + }, + + // + // Convert a number to language-specific form + // + number: function(n) { + var locale = this.strings[this.locale]; + if (locale && locale.number) {return locale.number(n)} + // default + return n; + } +}; + + +/**********************************************************/ + +MathJax.Message = { + ready: false, // used to tell when the styles are available + log: [{}], current: null, + textNodeBug: (navigator.vendor === "Apple Computer, Inc." && + typeof navigator.vendorSub === "undefined") || + (window.hasOwnProperty && window.hasOwnProperty("konqueror")), // Konqueror displays some gibberish with text.nodeValue = "..." + + styles: { + "#MathJax_Message": { + position: "fixed", left: "1px", bottom: "2px", + 'background-color': "#E6E6E6", border: "1px solid #959595", + margin: "0px", padding: "2px 8px", + 'z-index': "102", color: "black", 'font-size': "80%", + width: "auto", 'white-space': "nowrap" + }, + + "#MathJax_MSIE_Frame": { + position: "absolute", + top:0, left: 0, width: "0px", 'z-index': 101, + border: "0px", margin: "0px", padding: "0px" + } + }, + + browsers: { + MSIE: function (browser) { + MathJax.Message.msieFixedPositionBug = ((document.documentMode||0) < 7); + if (MathJax.Message.msieFixedPositionBug) + {MathJax.Hub.config.styles["#MathJax_Message"].position = "absolute"} + MathJax.Message.quirks = (document.compatMode === "BackCompat"); + }, + Chrome: function (browser) { + MathJax.Hub.config.styles["#MathJax_Message"].bottom = "1.5em"; + MathJax.Hub.config.styles["#MathJax_Message"].left = "1em"; + } + }, + + Init: function (styles) { + if (styles) {this.ready = true} + if (!document.body || !this.ready) {return false} + // + // ASCIIMathML replaces the entire page with a copy of itself (@#!#%@!!) + // so check that this.div is still part of the page, otherwise look up + // the copy and use that. + // + if (this.div && this.div.parentNode == null) { + this.div = document.getElementById("MathJax_Message"); + this.text = (this.div ? this.div.firstChild : null); + } + if (!this.div) { + var frame = document.body; + if (this.msieFixedPositionBug && window.attachEvent) { + frame = this.frame = this.addDiv(document.body); frame.removeAttribute("id"); + frame.style.position = "absolute"; + frame.style.border = frame.style.margin = frame.style.padding = "0px"; + frame.style.zIndex = "101"; frame.style.height = "0px"; + frame = this.addDiv(frame); + frame.id = "MathJax_MSIE_Frame"; + window.attachEvent("onscroll",this.MoveFrame); + window.attachEvent("onresize",this.MoveFrame); + this.MoveFrame(); + } + this.div = this.addDiv(frame); this.div.style.display = "none"; + } + if (!this.text) { + this.text = this.div.appendChild(document.createTextNode("")); + } + return true; + }, + + addDiv: function (parent) { + var div = document.createElement("div"); + div.id = "MathJax_Message"; + if (parent.firstChild) {parent.insertBefore(div,parent.firstChild)} + else {parent.appendChild(div)} + return div; + }, + + MoveFrame: function () { + var body = (MathJax.Message.quirks ? document.body : document.documentElement); + var frame = MathJax.Message.frame; + frame.style.left = body.scrollLeft + 'px'; + frame.style.top = body.scrollTop + 'px'; + frame.style.width = body.clientWidth + 'px'; + frame = frame.firstChild; + frame.style.height = body.clientHeight + 'px'; + }, + + localize: function (message) { + return MathJax.Localization._(message,message); + }, + + filterText: function (text,n,id) { + if (MathJax.Hub.config.messageStyle === "simple") { + if (id === "LoadFile") { + if (!this.loading) {this.loading = this.localize("Loading") + " "} + text = this.loading; this.loading += "."; + } else if (id === "ProcessMath") { + if (!this.processing) {this.processing = this.localize("Processing") + " "} + text = this.processing; this.processing += "."; + } else if (id === "TypesetMath") { + if (!this.typesetting) {this.typesetting = this.localize("Typesetting") + " "} + text = this.typesetting; this.typesetting += "."; + } + } + return text; + }, + + clearCounts: function () { + delete this.loading; + delete this.processing; + delete this.typesetting; + }, + + Set: function (text,n,clearDelay) { + if (n == null) {n = this.log.length; this.log[n] = {}} + // + // Translate message if it is [id,message,arguments] + // + var id = ""; + if (MathJax.Object.isArray(text)) { + id = text[0]; if (MathJax.Object.isArray(id)) {id = id[1]} + // + // Localization._() will throw a restart error if a localization file + // needs to be loaded, so trap that and redo the Set() call + // after it is loaded. + // + try { + text = MathJax.Localization._.apply(MathJax.Localization,text); + } catch (err) { + if (!err.restart) {throw err} + if (!err.restart.called) { + // + // Mark it so we can tell if the Clear() comes before the message is displayed + // + if (this.log[n].restarted == null) {this.log[n].restarted = 0} + this.log[n].restarted++; delete this.log[n].cleared; + MathJax.Callback.After(["Set",this,text,n,clearDelay],err.restart); + return n; + } + } + } + // + // Clear the timout timer. + // + if (this.timer) {clearTimeout(this.timer); delete this.timer} + // + // Save the message and filtered message. + // + this.log[n].text = text; this.log[n].filteredText = text = this.filterText(text,n,id); + // + // Hook the message into the message list so we can tell + // what message to put up when this one is removed. + // + if (typeof(this.log[n].next) === "undefined") { + this.log[n].next = this.current; + if (this.current != null) {this.log[this.current].prev = n} + this.current = n; + } + // + // Show the message if it is the currently active one. + // + if (this.current === n && MathJax.Hub.config.messageStyle !== "none") { + if (this.Init()) { + if (this.textNodeBug) {this.div.innerHTML = text} else {this.text.nodeValue = text} + this.div.style.display = ""; + if (this.status) {window.status = ""; delete this.status} + } else { + window.status = text; + this.status = true; + } + } + // + // Check if the message was resetarted to load a localization file + // and if it has been cleared in the meanwhile. + // + if (this.log[n].restarted) { + if (this.log[n].cleared) {clearDelay = 0} + if (--this.log[n].restarted === 0) {delete this.log[n].cleared} + } + // + // Check if we need to clear the message automatically. + // + if (clearDelay) {setTimeout(MathJax.Callback(["Clear",this,n]),clearDelay)} + else if (clearDelay == 0) {this.Clear(n,0)} + // + // Return the message number. + // + return n; + }, + + Clear: function (n,delay) { + // + // Detatch the message from the active list. + // + if (this.log[n].prev != null) {this.log[this.log[n].prev].next = this.log[n].next} + if (this.log[n].next != null) {this.log[this.log[n].next].prev = this.log[n].prev} + // + // If it is the current message, get the next one to show. + // + if (this.current === n) { + this.current = this.log[n].next; + if (this.text) { + if (this.div.parentNode == null) {this.Init()} // see ASCIIMathML comments above + if (this.current == null) { + // + // If there are no more messages, remove the message box. + // + if (this.timer) {clearTimeout(this.timer); delete this.timer} + if (delay == null) {delay = 600} + if (delay === 0) {this.Remove()} + else {this.timer = setTimeout(MathJax.Callback(["Remove",this]),delay)} + } else if (MathJax.Hub.config.messageStyle !== "none") { + // + // If there is an old message, put it in place + // + if (this.textNodeBug) {this.div.innerHTML = this.log[this.current].filteredText} + else {this.text.nodeValue = this.log[this.current].filteredText} + } + if (this.status) {window.status = ""; delete this.status} + } else if (this.status) { + window.status = (this.current == null ? "" : this.log[this.current].text); + } + } + // + // Clean up the log data no longer needed + // + delete this.log[n].next; delete this.log[n].prev; + delete this.log[n].filteredText; + // + // If this is a restarted localization message, mark that it has been cleared + // while waiting for the file to load. + // + if (this.log[n].restarted) {this.log[n].cleared = true} + }, + + Remove: function () { + // FIXME: do a fade out or something else interesting? + this.text.nodeValue = ""; + this.div.style.display = "none"; + }, + + File: function (file) { + return this.Set(["LoadFile","Loading %1",file],null,null); + }, + + Log: function () { + var strings = []; + for (var i = 1, m = this.log.length; i < m; i++) {strings[i] = this.log[i].text} + return strings.join("\n"); + } + +}; + +/**********************************************************/ + +MathJax.Hub = { + config: { + root: "", + config: [], // list of configuration files to load + styleSheets: [], // list of CSS files to load + styles: { // styles to generate in-line + ".MathJax_Preview": {color: "#888"} + }, + jax: [], // list of input and output jax to load + extensions: [], // list of extensions to load + preJax: null, // pattern to remove from before math script tag + postJax: null, // pattern to remove from after math script tag + displayAlign: 'center', // how to align displayed equations (left, center, right) + displayIndent: '0', // indentation for displayed equations (when not centered) + preRemoveClass: 'MathJax_Preview', // class of objects to remove preceding math script + showProcessingMessages: true, // display "Processing math: nn%" messages or not + messageStyle: "normal", // set to "none" or "simple" (for "Loading..." and "Processing...") + delayStartupUntil: "none", // set to "onload" to delay setup until the onload handler runs + // set to "configured" to delay startup until MathJax.Hub.Configured() is called + // set to a Callback to wait for before continuing with the startup + skipStartupTypeset: false, // set to true to skip PreProcess and Process during startup + elements: [], // array of elements to process when none is given explicitly + positionToHash: true, // after initial typeset pass, position to #hash location? + + showMathMenu: true, // attach math context menu to typeset math? + showMathMenuMSIE: true, // separtely determine if MSIE should have math menu + // (since the code for that is a bit delicate) + + menuSettings: { + zoom: "None", // when to do MathZoom + CTRL: false, // require CTRL for MathZoom? + ALT: false, // require Alt or Option? + CMD: false, // require CMD? + Shift: false, // require Shift? + discoverable: false, // make math menu discoverable on hover? + zscale: "200%", // the scaling factor for MathZoom + renderer: null, // set when Jax are loaded + font: "Auto", // what font HTML-CSS should use + context: "MathJax", // or "Browser" for pass-through to browser menu + locale: null, // the language to use for messages + mpContext: false, // true means pass menu events to MathPlayer in IE + mpMouse: false, // true means pass mouse events to MathPlayer in IE + texHints: true, // include class names for TeXAtom elements + FastPreview: null, // use PreviewHTML output as preview? + assistiveMML: null, // include hidden MathML for screen readers? + inTabOrder: true, // set to false if math elements should be included in the tabindex + semantics: false // add semantics tag with original form in MathML output + }, + + errorSettings: { + // localized HTML snippet structure for message to use + message: ["[",["MathProcessingError","Math Processing Error"],"]"], + style: {color: "#CC0000", "font-style":"italic"} // style for message + }, + + ignoreMMLattributes: {} // attributes not to copy to HTML-CSS or SVG output + // from MathML input (in addition to the ones in MML.nocopyAttributes). + // An id set to true will be ignored, one set to false will + // be allowed (even if other criteria normally would prevent + // it from being copied); use false carefully! + }, + + preProcessors: MathJax.Callback.Hooks(true), // list of callbacks for preprocessing (initialized by extensions) + inputJax: {}, // mime-type mapped to input jax (by registration) + outputJax: {order:{}}, // mime-type mapped to output jax list (by registration) + + processSectionDelay: 50, // pause between input and output phases of processing + processUpdateTime: 250, // time between screen updates when processing math (milliseconds) + processUpdateDelay: 10, // pause between screen updates to allow other processing (milliseconds) + + signal: MathJax.Callback.Signal("Hub"), // Signal used for Hub events + + Config: function (def) { + this.Insert(this.config,def); + if (this.config.Augment) {this.Augment(this.config.Augment)} + }, + CombineConfig: function (name,def) { + var config = this.config, id, parent; name = name.split(/\./); + for (var i = 0, m = name.length; i < m; i++) { + id = name[i]; if (!config[id]) {config[id] = {}} + parent = config; config = config[id]; + } + parent[id] = config = this.Insert(def,config); + return config; + }, + + Register: { + PreProcessor: function () {return MathJax.Hub.preProcessors.Add.apply(MathJax.Hub.preProcessors,arguments)}, + MessageHook: function () {return MathJax.Hub.signal.MessageHook.apply(MathJax.Hub.signal,arguments)}, + StartupHook: function () {return MathJax.Hub.Startup.signal.MessageHook.apply(MathJax.Hub.Startup.signal,arguments)}, + LoadHook: function () {return MathJax.Ajax.LoadHook.apply(MathJax.Ajax,arguments)} + }, + UnRegister: { + PreProcessor: function (hook) {MathJax.Hub.preProcessors.Remove(hook)}, + MessageHook: function (hook) {MathJax.Hub.signal.RemoveHook(hook)}, + StartupHook: function (hook) {MathJax.Hub.Startup.signal.RemoveHook(hook)}, + LoadHook: function (hook) {MathJax.Ajax.removeHook(hook)} + }, + + getAllJax: function (element) { + var jax = [], scripts = this.elementScripts(element); + for (var i = 0, m = scripts.length; i < m; i++) { + if (scripts[i].MathJax && scripts[i].MathJax.elementJax) + {jax.push(scripts[i].MathJax.elementJax)} + } + return jax; + }, + + getJaxByType: function (type,element) { + var jax = [], scripts = this.elementScripts(element); + for (var i = 0, m = scripts.length; i < m; i++) { + if (scripts[i].MathJax && scripts[i].MathJax.elementJax && + scripts[i].MathJax.elementJax.mimeType === type) + {jax.push(scripts[i].MathJax.elementJax)} + } + return jax; + }, + + getJaxByInputType: function (type,element) { + var jax = [], scripts = this.elementScripts(element); + for (var i = 0, m = scripts.length; i < m; i++) { + if (scripts[i].MathJax && scripts[i].MathJax.elementJax && + scripts[i].type && scripts[i].type.replace(/ *;(.|\s)*/,"") === type) + {jax.push(scripts[i].MathJax.elementJax)} + } + return jax; + }, + + getJaxFor: function (element) { + if (typeof(element) === 'string') {element = document.getElementById(element)} + if (element && element.MathJax) {return element.MathJax.elementJax} + if (this.isMathJaxNode(element)) { + if (!element.isMathJax) {element = element.firstChild} // for NativeMML output + while (element && !element.jaxID) {element = element.parentNode} + if (element) {return MathJax.OutputJax[element.jaxID].getJaxFromMath(element)} + } + return null; + }, + + isJax: function (element) { + if (typeof(element) === 'string') {element = document.getElementById(element)} + if (this.isMathJaxNode(element)) {return 1} + if (element && (element.tagName||"").toLowerCase() === 'script') { + if (element.MathJax) + {return (element.MathJax.state === MathJax.ElementJax.STATE.PROCESSED ? 1 : -1)} + if (element.type && this.inputJax[element.type.replace(/ *;(.|\s)*/,"")]) {return -1} + } + return 0; + }, + isMathJaxNode: function (element) { + return !!element && (element.isMathJax || (element.className||"") === "MathJax_MathML"); + }, + + setRenderer: function (renderer,type) { + if (!renderer) return; + var JAX = MathJax.OutputJax[renderer]; + if (!JAX) { + MathJax.OutputJax[renderer] = MathJax.OutputJax({id: "unknown", version:"1.0.0", isUnknown: true}); + this.config.menuSettings.renderer = ""; + var file = "[MathJax]/jax/output/"+renderer+"/config.js"; + return MathJax.Ajax.Require(file,["setRenderer",this,renderer,type]); + } else { + this.config.menuSettings.renderer = renderer; + if (type == null) {type = "jax/mml"} + if (JAX.isUnknown) JAX.Register(type); + var jax = this.outputJax; + if (jax[type] && jax[type].length) { + if (renderer !== jax[type][0].id) { + jax[type].unshift(JAX); + return this.signal.Post(["Renderer Selected",renderer]); + } + } + return null; + } + }, + + Queue: function () { + return this.queue.Push.apply(this.queue,arguments); + }, + + Typeset: function (element,callback) { + if (!MathJax.isReady) return null; + var ec = this.elementCallback(element,callback); + if (ec.count) { + var queue = MathJax.Callback.Queue( + ["PreProcess",this,ec.elements], + ["Process",this,ec.elements] + ); + } + return queue.Push(ec.callback); + }, + + PreProcess: function (element,callback) { + var ec = this.elementCallback(element,callback); + var queue = MathJax.Callback.Queue(); + if (ec.count) { + var elements = (ec.count === 1 ? [ec.elements] : ec.elements); + queue.Push(["Post",this.signal,["Begin PreProcess",ec.elements]]); + for (var i = 0, m = elements.length; i < m; i++) { + if (elements[i]) {queue.Push(["Execute",this.preProcessors,elements[i]])} + } + queue.Push(["Post",this.signal,["End PreProcess",ec.elements]]); + } + return queue.Push(ec.callback); + }, + + Process: function (element,callback) {return this.takeAction("Process",element,callback)}, + Update: function (element,callback) {return this.takeAction("Update",element,callback)}, + Reprocess: function (element,callback) {return this.takeAction("Reprocess",element,callback)}, + Rerender: function (element,callback) {return this.takeAction("Rerender",element,callback)}, + + takeAction: function (action,element,callback) { + var ec = this.elementCallback(element,callback); + var elements = ec.elements; + var queue = MathJax.Callback.Queue(["Clear",this.signal]); + var state = { + scripts: [], // filled in by prepareScripts + start: new Date().getTime(), // timer for processing messages + i: 0, j: 0, // current script, current jax + jax: {}, // scripts grouped by output jax + jaxIDs: [] // id's of jax used + }; + if (ec.count) { + var delay = ["Delay",MathJax.Callback,this.processSectionDelay]; + if (!delay[2]) {delay = {}} + queue.Push( + ["clearCounts",MathJax.Message], + ["Post",this.signal,["Begin "+action,elements]], + ["Post",this.signal,["Begin Math",elements,action]], + ["prepareScripts",this,action,elements,state], + ["Post",this.signal,["Begin Math Input",elements,action]], + ["processInput",this,state], + ["Post",this.signal,["End Math Input",elements,action]], + delay, + ["prepareOutput",this,state,"preProcess"], + delay, + ["Post",this.signal,["Begin Math Output",elements,action]], + ["processOutput",this,state], + ["Post",this.signal,["End Math Output",elements,action]], + delay, + ["prepareOutput",this,state,"postProcess"], + delay, + ["Post",this.signal,["End Math",elements,action]], + ["Post",this.signal,["End "+action,elements]], + ["clearCounts",MathJax.Message] + ); + } + return queue.Push(ec.callback); + }, + + scriptAction: { + Process: function (script) {}, + Update: function (script) { + var jax = script.MathJax.elementJax; + if (jax && jax.needsUpdate()) {jax.Remove(true); script.MathJax.state = jax.STATE.UPDATE} + else {script.MathJax.state = jax.STATE.PROCESSED} + }, + Reprocess: function (script) { + var jax = script.MathJax.elementJax; + if (jax) {jax.Remove(true); script.MathJax.state = jax.STATE.UPDATE} + }, + Rerender: function (script) { + var jax = script.MathJax.elementJax; + if (jax) {jax.Remove(true); script.MathJax.state = jax.STATE.OUTPUT} + } + }, + + prepareScripts: function (action,element,state) { + if (arguments.callee.disabled) return; + var scripts = this.elementScripts(element); + var STATE = MathJax.ElementJax.STATE; + for (var i = 0, m = scripts.length; i < m; i++) { + var script = scripts[i]; + if (script.type && this.inputJax[script.type.replace(/ *;(.|\n)*/,"")]) { + if (script.MathJax) { + if (script.MathJax.elementJax && script.MathJax.elementJax.hover) { + MathJax.Extension.MathEvents.Hover.ClearHover(script.MathJax.elementJax); + } + if (script.MathJax.state !== STATE.PENDING) {this.scriptAction[action](script)} + } + if (!script.MathJax) {script.MathJax = {state: STATE.PENDING}} + if (script.MathJax.error) delete script.MathJax.error; + if (script.MathJax.state !== STATE.PROCESSED) {state.scripts.push(script)} + } + } + }, + + checkScriptSiblings: function (script) { + if (script.MathJax.checked) return; + var config = this.config, pre = script.previousSibling; + if (pre && pre.nodeName === "#text") { + var preJax,postJax, post = script.nextSibling; + if (post && post.nodeName !== "#text") {post = null} + if (config.preJax) { + if (typeof(config.preJax) === "string") {config.preJax = new RegExp(config.preJax+"$")} + preJax = pre.nodeValue.match(config.preJax); + } + if (config.postJax && post) { + if (typeof(config.postJax) === "string") {config.postJax = new RegExp("^"+config.postJax)} + postJax = post.nodeValue.match(config.postJax); + } + if (preJax && (!config.postJax || postJax)) { + pre.nodeValue = pre.nodeValue.replace + (config.preJax,(preJax.length > 1? preJax[1] : "")); + pre = null; + } + if (postJax && (!config.preJax || preJax)) { + post.nodeValue = post.nodeValue.replace + (config.postJax,(postJax.length > 1? postJax[1] : "")); + } + if (pre && !pre.nodeValue.match(/\S/)) {pre = pre.previousSibling} + } + if (config.preRemoveClass && pre && pre.className === config.preRemoveClass) + {script.MathJax.preview = pre} + script.MathJax.checked = 1; + }, + + processInput: function (state) { + var jax, STATE = MathJax.ElementJax.STATE; + var script, prev, m = state.scripts.length; + try { + // + // Loop through the scripts + // + while (state.i < m) { + script = state.scripts[state.i]; if (!script) {state.i++; continue} + // + // Remove previous error marker, if any + // + prev = script.previousSibling; + if (prev && prev.className === "MathJax_Error") {prev.parentNode.removeChild(prev)} + // + // Check if already processed or needs processing + // + if (!script.parentNode || !script.MathJax || script.MathJax.state === STATE.PROCESSED) {state.i++; continue}; + if (!script.MathJax.elementJax || script.MathJax.state === STATE.UPDATE) { + this.checkScriptSiblings(script); // remove preJax/postJax etc. + var type = script.type.replace(/ *;(.|\s)*/,""); // the input jax type + var input = this.inputJax[type]; // the input jax itself + jax = input.Process(script,state); // run the input jax + if (typeof jax === 'function') { // if a callback was returned + if (jax.called) continue; // go back and call Process() again + this.RestartAfter(jax); // wait for the callback + } + jax = jax.Attach(script,input.id); // register the jax on the script + this.saveScript(jax,state,script,STATE); // add script to state + this.postInputHooks.Execute(jax,input.id,script); // run global jax filters + } else if (script.MathJax.state === STATE.OUTPUT) { + this.saveScript(script.MathJax.elementJax,state,script,STATE); // add script to state + } + // + // Go on to the next script, and check if we need to update the processing message + // + state.i++; var now = new Date().getTime(); + if (now - state.start > this.processUpdateTime && state.i < state.scripts.length) + {state.start = now; this.RestartAfter(MathJax.Callback.Delay(1))} + } + } catch (err) {return this.processError(err,state,"Input")} + // + // Put up final message, reset the state and return + // + if (state.scripts.length && this.config.showProcessingMessages) + {MathJax.Message.Set(["ProcessMath","Processing math: %1%%",100],0)} + state.start = new Date().getTime(); state.i = state.j = 0; + return null; + }, + postInputHooks: MathJax.Callback.Hooks(true), // hooks to run after element jax is created + saveScript: function (jax,state,script,STATE) { + // + // Check that output jax exists + // + if (!this.outputJax[jax.mimeType]) { + script.MathJax.state = STATE.UPDATE; + throw Error("No output jax registered for "+jax.mimeType); + } + // + // Record the output jax + // and put this script in the queue for that jax + // + jax.outputJax = this.outputJax[jax.mimeType][0].id; + if (!state.jax[jax.outputJax]) { + if (state.jaxIDs.length === 0) { + // use original array until we know there are more (rather than two copies) + state.jax[jax.outputJax] = state.scripts; + } else { + if (state.jaxIDs.length === 1) // get the script so far for the existing jax + {state.jax[state.jaxIDs[0]] = state.scripts.slice(0,state.i)} + state.jax[jax.outputJax] = []; // start a new array for the new jax + } + state.jaxIDs.push(jax.outputJax); // save the ID of the jax + } + if (state.jaxIDs.length > 1) {state.jax[jax.outputJax].push(script)} + // + // Mark script as needing output + // + script.MathJax.state = STATE.OUTPUT; + }, + + // + // Pre- and post-process scripts by jax + // (to get scaling factors, hide/show output, and so on) + // Since this can cause the jax to load, we need to trap restarts + // + prepareOutput: function (state,method) { + while (state.j < state.jaxIDs.length) { + var id = state.jaxIDs[state.j], JAX = MathJax.OutputJax[id]; + if (JAX[method]) { + try { + var result = JAX[method](state); + if (typeof result === 'function') { + if (result.called) continue; // go back and try again + this.RestartAfter(result); + } + } catch (err) { + if (!err.restart) { + MathJax.Message.Set(["PrepError","Error preparing %1 output (%2)",id,method],null,600); + MathJax.Hub.lastPrepError = err; + state.j++; + } + return MathJax.Callback.After(["prepareOutput",this,state,method],err.restart); + } + } + state.j++; + } + return null; + }, + + processOutput: function (state) { + var result, STATE = MathJax.ElementJax.STATE, script, m = state.scripts.length; + try { + // + // Loop through the scripts + // + while (state.i < m) { + // + // Check that there is an element jax + // + script = state.scripts[state.i]; + if (!script || !script.parentNode || !script.MathJax || script.MathJax.error) {state.i++; continue} + var jax = script.MathJax.elementJax; if (!jax) {state.i++; continue} + // + // Call the output Jax's Process method (which will be its Translate() + // method once loaded). Mark it as complete and remove the preview unless + // the Process() call returns an explicit false value (in which case, it will + // handle this later during the postProcess phase, as HTML-CSS does). + // + result = MathJax.OutputJax[jax.outputJax].Process(script,state); + if (result !== false) { + script.MathJax.state = STATE.PROCESSED; + if (script.MathJax.preview) { + script.MathJax.preview.innerHTML = ""; + script.MathJax.preview.style.display = "none"; + } + // + // Signal that new math is available + // + this.signal.Post(["New Math",jax.inputID]); // FIXME: wait for this? (i.e., restart if returns uncalled callback) + } + // + // Go on to next math expression + // + state.i++; + // + // Update the processing message, if needed + // + var now = new Date().getTime(); + if (now - state.start > this.processUpdateTime && state.i < state.scripts.length) + {state.start = now; this.RestartAfter(MathJax.Callback.Delay(this.processUpdateDelay))} + } + } catch (err) {return this.processError(err,state,"Output")} + // + // Put up the typesetting-complete message + // + if (state.scripts.length && this.config.showProcessingMessages) { + MathJax.Message.Set(["TypesetMath","Typesetting math: %1%%",100],0); + MathJax.Message.Clear(0); + } + state.i = state.j = 0; + return null; + }, + + processMessage: function (state,type) { + var m = Math.floor(state.i/(state.scripts.length)*100); + var message = (type === "Output" ? ["TypesetMath","Typesetting math: %1%%"] : + ["ProcessMath","Processing math: %1%%"]); + if (this.config.showProcessingMessages) {MathJax.Message.Set(message.concat(m),0)} + }, + + processError: function (err,state,type) { + if (!err.restart) { + if (!this.config.errorSettings.message) {throw err} + this.formatError(state.scripts[state.i],err); state.i++; + } + this.processMessage(state,type); + return MathJax.Callback.After(["process"+type,this,state],err.restart); + }, + + formatError: function (script,err) { + var LOCALIZE = function (id,text,arg1,arg2) {return MathJax.Localization._(id,text,arg1,arg2)}; + // + // Get the error message, URL, and line, and save it for + // reporting in the Show Math As Error menu + // + var message = LOCALIZE("ErrorMessage","Error: %1",err.message)+"\n"; + if (err.sourceURL||err.fileName) message += "\n"+LOCALIZE("ErrorFile","file: %1",err.sourceURL||err.fileName); + if (err.line||err.lineNumber) message += "\n"+LOCALIZE("ErrorLine","line: %1",err.line||err.lineNumber); + message += "\n\n"+LOCALIZE("ErrorTips","Debugging tips: use %1, inspect %2 in the browser console","'unpacked/MathJax.js'","'MathJax.Hub.lastError'"); + script.MathJax.error = MathJax.OutputJax.Error.Jax(message,script); + if (script.MathJax.elementJax) + script.MathJax.error.inputID = script.MathJax.elementJax.inputID; + // + // Create the [Math Processing Error] span + // + var errorSettings = this.config.errorSettings; + var errorText = LOCALIZE(errorSettings.messageId,errorSettings.message); + var error = MathJax.HTML.Element("span", { + className:"MathJax_Error", jaxID:"Error", isMathJax:true, + id: script.MathJax.error.inputID+"-Frame" + },[["span",null,errorText]]); + // + // Attach the menu events + // + MathJax.Ajax.Require("[MathJax]/extensions/MathEvents.js",function () { + var EVENT = MathJax.Extension.MathEvents.Event, + HUB = MathJax.Hub; + error.oncontextmenu = EVENT.Menu; + error.onmousedown = EVENT.Mousedown; + error.onkeydown = EVENT.Keydown; + error.tabIndex = HUB.getTabOrder(HUB.getJaxFor(script)); + }); + // + // Insert the error into the page and remove any preview + // + var node = document.getElementById(error.id); + if (node) node.parentNode.removeChild(node); + if (script.parentNode) script.parentNode.insertBefore(error,script); + if (script.MathJax.preview) { + script.MathJax.preview.innerHTML = ""; + script.MathJax.preview.style.display = "none"; + } + // + // Save the error for debugging purposes + // Report the error as a signal + // + this.lastError = err; + this.signal.Post(["Math Processing Error",script,err]); + }, + + RestartAfter: function (callback) { + throw this.Insert(Error("restart"),{restart: MathJax.Callback(callback)}); + }, + + elementCallback: function (element,callback) { + if (callback == null && (MathJax.Object.isArray(element) || typeof element === 'function')) + {try {MathJax.Callback(element); callback = element; element = null} catch(e) {}} + if (element == null) {element = this.config.elements || []} + if (this.isHTMLCollection(element)) {element = this.HTMLCollection2Array(element)} + if (!MathJax.Object.isArray(element)) {element = [element]} + element = [].concat(element); // make a copy so the original isn't changed + for (var i = 0, m = element.length; i < m; i++) + {if (typeof(element[i]) === 'string') {element[i] = document.getElementById(element[i])}} + if (!document.body) {document.body = document.getElementsByTagName("body")[0]} + if (element.length == 0) {element.push(document.body)} + if (!callback) {callback = {}} + return { + count: element.length, + elements: (element.length === 1 ? element[0] : element), + callback: callback + }; + }, + + elementScripts: function (element) { + var scripts = []; + if (MathJax.Object.isArray(element) || this.isHTMLCollection(element)) { + for (var i = 0, m = element.length; i < m; i++) { + var alreadyDone = 0; + for (var j = 0; j < i && !alreadyDone; j++) + {alreadyDone = element[j].contains(element[i])} + if (!alreadyDone) scripts.push.apply(scripts,this.elementScripts(element[i])); + } + return scripts; + } + if (typeof(element) === 'string') {element = document.getElementById(element)} + if (!document.body) {document.body = document.getElementsByTagName("body")[0]} + if (element == null) {element = document.body} + if (element.tagName != null && element.tagName.toLowerCase() === "script") {return [element]} + scripts = element.getElementsByTagName("script"); + if (this.msieHTMLCollectionBug) {scripts = this.HTMLCollection2Array(scripts)} + return scripts; + }, + + // + // IE8 fails to check "obj instanceof HTMLCollection" for some values of obj. + // + isHTMLCollection: function (obj) { + return ("HTMLCollection" in window && typeof(obj) === "object" && obj instanceof HTMLCollection); + }, + // + // IE8 doesn't deal with HTMLCollection as an array, so convert to array + // + HTMLCollection2Array: function (nodes) { + if (!this.msieHTMLCollectionBug) {return [].slice.call(nodes)} + var NODES = []; + for (var i = 0, m = nodes.length; i < m; i++) {NODES[i] = nodes[i]} + return NODES; + }, + + Insert: function (dst,src) { + for (var id in src) {if (src.hasOwnProperty(id)) { + // allow for concatenation of arrays? + if (typeof src[id] === 'object' && !(MathJax.Object.isArray(src[id])) && + (typeof dst[id] === 'object' || typeof dst[id] === 'function')) { + this.Insert(dst[id],src[id]); + } else { + dst[id] = src[id]; + } + }} + return dst; + }, + + getTabOrder: function(script) { + return this.config.menuSettings.inTabOrder ? 0 : -1; + }, + + // Old browsers (e.g. Internet Explorer <= 8) do not support trim(). + SplitList: ("trim" in String.prototype ? + function (list) {return list.trim().split(/\s+/)} : + function (list) {return list.replace(/^\s+/,''). + replace(/\s+$/,'').split(/\s+/)}) +}; +MathJax.Hub.Insert(MathJax.Hub.config.styles,MathJax.Message.styles); +MathJax.Hub.Insert(MathJax.Hub.config.styles,{".MathJax_Error":MathJax.Hub.config.errorSettings.style}); + +// +// Storage area for extensions and preprocessors +// +MathJax.Extension = {}; + +// +// Hub Startup code +// +MathJax.Hub.Configured = MathJax.Callback({}); // called when configuration is complete +MathJax.Hub.Startup = { + script: "", // the startup script from the SCRIPT call that loads MathJax.js + queue: MathJax.Callback.Queue(), // Queue used for startup actions + signal: MathJax.Callback.Signal("Startup"), // Signal used for startup events + params: {}, + + // + // Load the configuration files + // + Config: function () { + this.queue.Push(["Post",this.signal,"Begin Config"]); + // + // Make sure root is set before loading any files + // + if (MathJax.AuthorConfig && MathJax.AuthorConfig.root) + MathJax.Ajax.config.root = MathJax.AuthorConfig.root; + // + // If a locale is given as a parameter, + // set the locale and the default menu value for the locale + // + if (this.params.locale) { + MathJax.Localization.resetLocale(this.params.locale); + MathJax.Hub.config.menuSettings.locale = this.params.locale; + } + // + // Run the config files, if any are given in the parameter list + // + if (this.params.config) { + var files = this.params.config.split(/,/); + for (var i = 0, m = files.length; i < m; i++) { + if (!files[i].match(/\.js$/)) {files[i] += ".js"} + this.queue.Push(["Require",MathJax.Ajax,this.URL("config",files[i])]); + } + } + // + // Perform author configuration from in-line MathJax = {...} + // + this.queue.Push(["Config",MathJax.Hub,MathJax.AuthorConfig]); + // + // Run the deprecated configuration script, if any (ignoring return value) + // Wait for the startup delay signal + // Run the mathjax-config blocks + // Load the files in the configuration's config array + // + if (this.script.match(/\S/)) {this.queue.Push(this.script+";\n1;")} + this.queue.Push( + ["ConfigDelay",this], + ["ConfigBlocks",this], + [function (THIS) {return THIS.loadArray(MathJax.Hub.config.config,"config",null,true)},this], + ["Post",this.signal,"End Config"] + ); + }, + // + // Return the delay callback + // + ConfigDelay: function () { + var delay = this.params.delayStartupUntil || MathJax.Hub.config.delayStartupUntil; + if (delay === "onload") {return this.onload} + if (delay === "configured") {return MathJax.Hub.Configured} + return delay; + }, + // + // Run the scripts of type=text/x-mathjax-config + // + ConfigBlocks: function () { + var scripts = document.getElementsByTagName("script"); + var queue = MathJax.Callback.Queue(); + for (var i = 0, m = scripts.length; i < m; i++) { + var type = String(scripts[i].type).replace(/ /g,""); + if (type.match(/^text\/x-mathjax-config(;.*)?$/) && !type.match(/;executed=true/)) { + scripts[i].type += ";executed=true"; + queue.Push(scripts[i].innerHTML+";\n1;"); + } + } + return queue.Push(function () {MathJax.Ajax.config.root = MathJax.Hub.config.root}); + }, + + // + // Read cookie and set up menu defaults + // (set the locale according to the cookie) + // (adjust the jax to accommodate renderer preferences) + // + Cookie: function () { + return this.queue.Push( + ["Post",this.signal,"Begin Cookie"], + ["Get",MathJax.HTML.Cookie,"menu",MathJax.Hub.config.menuSettings], + [function (config) { + var SETTINGS = config.menuSettings; + if (SETTINGS.locale) MathJax.Localization.resetLocale(SETTINGS.locale); + var renderer = config.menuSettings.renderer, jax = config.jax; + if (renderer) { + var name = "output/"+renderer; jax.sort(); + for (var i = 0, m = jax.length; i < m; i++) { + if (jax[i].substr(0,7) === "output/") break; + } + if (i == m-1) {jax.pop()} else { + while (i < m) {if (jax[i] === name) {jax.splice(i,1); break}; i++} + } + jax.unshift(name); + } + if (SETTINGS.CHTMLpreview != null) { + if (SETTINGS.FastPreview == null) SETTINGS.FastPreview = SETTINGS.CHTMLpreview; + delete SETTINGS.CHTMLpreview; + } + if (SETTINGS.FastPreview && !MathJax.Extension["fast-preview"]) + MathJax.Hub.config.extensions.push("fast-preview.js"); + if (config.menuSettings.assistiveMML && !MathJax.Extension.AssistiveMML) + MathJax.Hub.config.extensions.push("AssistiveMML.js"); + },MathJax.Hub.config], + ["Post",this.signal,"End Cookie"] + ); + }, + // + // Setup stylesheets and extra styles + // + Styles: function () { + return this.queue.Push( + ["Post",this.signal,"Begin Styles"], + ["loadArray",this,MathJax.Hub.config.styleSheets,"config"], + ["Styles",MathJax.Ajax,MathJax.Hub.config.styles], + ["Post",this.signal,"End Styles"] + ); + }, + // + // Load the input and output jax + // + Jax: function () { + var config = MathJax.Hub.config, jax = MathJax.Hub.outputJax; + // Save the order of the output jax since they are loading asynchronously + for (var i = 0, m = config.jax.length, k = 0; i < m; i++) { + var name = config.jax[i].substr(7); + if (config.jax[i].substr(0,7) === "output/" && jax.order[name] == null) + {jax.order[name] = k; k++} + } + var queue = MathJax.Callback.Queue(); + return queue.Push( + ["Post",this.signal,"Begin Jax"], + ["loadArray",this,config.jax,"jax","config.js"], + ["Post",this.signal,"End Jax"] + ); + }, + // + // Load the extensions + // + Extensions: function () { + var queue = MathJax.Callback.Queue(); + return queue.Push( + ["Post",this.signal,"Begin Extensions"], + ["loadArray",this,MathJax.Hub.config.extensions,"extensions"], + ["Post",this.signal,"End Extensions"] + ); + }, + + // + // Initialize the Message system + // + Message: function () { + MathJax.Message.Init(true); + }, + + // + // Set the math menu renderer, if it isn't already + // (this must come after the jax are loaded) + // + Menu: function () { + var menu = MathJax.Hub.config.menuSettings, jax = MathJax.Hub.outputJax, registered; + for (var id in jax) {if (jax.hasOwnProperty(id)) { + if (jax[id].length) {registered = jax[id]; break} + }} + if (registered && registered.length) { + if (menu.renderer && menu.renderer !== registered[0].id) + {registered.unshift(MathJax.OutputJax[menu.renderer])} + menu.renderer = registered[0].id; + } + }, + + // + // Set the location to the designated hash position + // + Hash: function () { + if (MathJax.Hub.config.positionToHash && document.location.hash && + document.body && document.body.scrollIntoView) { + var name = decodeURIComponent(document.location.hash.substr(1)); + var target = document.getElementById(name); + if (!target) { + var a = document.getElementsByTagName("a"); + for (var i = 0, m = a.length; i < m; i++) + {if (a[i].name === name) {target = a[i]; break}} + } + if (target) { + while (!target.scrollIntoView) {target = target.parentNode} + target = this.HashCheck(target); + if (target && target.scrollIntoView) + {setTimeout(function () {target.scrollIntoView(true)},1)} + } + } + }, + HashCheck: function (target) { + var jax = MathJax.Hub.getJaxFor(target); + if (jax && MathJax.OutputJax[jax.outputJax].hashCheck) + {target = MathJax.OutputJax[jax.outputJax].hashCheck(target)} + return target; + }, + + // + // Load the Menu and Zoom code, if it hasn't already been loaded. + // This is called after the initial typeset, so should no longer be + // competing with other page loads, but will make these available + // if needed later on. + // + MenuZoom: function () { + if (MathJax.Hub.config.showMathMenu) { + if (!MathJax.Extension.MathMenu) { + setTimeout( + function () { + MathJax.Callback.Queue( + ["Require",MathJax.Ajax,"[MathJax]/extensions/MathMenu.js",{}], + ["loadDomain",MathJax.Localization,"MathMenu"] + ) + },1000 + ); + } else { + setTimeout( + MathJax.Callback(["loadDomain",MathJax.Localization,"MathMenu"]), + 1000 + ); + } + if (!MathJax.Extension.MathZoom) { + setTimeout( + MathJax.Callback(["Require",MathJax.Ajax,"[MathJax]/extensions/MathZoom.js",{}]), + 2000 + ); + } + } + }, + + // + // Setup the onload callback + // + onLoad: function () { + var onload = this.onload = + MathJax.Callback(function () {MathJax.Hub.Startup.signal.Post("onLoad")}); + if (document.body && document.readyState) + if (MathJax.Hub.Browser.isMSIE) { + // IE can change from loading to interactive before + // full page is ready, so go with complete (even though + // that means we may have to wait longer). + if (document.readyState === "complete") {return [onload]} + } else if (document.readyState !== "loading") {return [onload]} + if (window.addEventListener) { + window.addEventListener("load",onload,false); + if (!this.params.noDOMContentEvent) + {window.addEventListener("DOMContentLoaded",onload,false)} + } + else if (window.attachEvent) {window.attachEvent("onload",onload)} + else {window.onload = onload} + return onload; + }, + + // + // Perform the initial typesetting (or skip if configuration says to) + // + Typeset: function (element,callback) { + if (MathJax.Hub.config.skipStartupTypeset) {return function () {}} + return this.queue.Push( + ["Post",this.signal,"Begin Typeset"], + ["Typeset",MathJax.Hub,element,callback], + ["Post",this.signal,"End Typeset"] + ); + }, + + // + // Create a URL in the MathJax hierarchy + // + URL: function (dir,name) { + if (!name.match(/^([a-z]+:\/\/|\[|\/)/)) {name = "[MathJax]/"+dir+"/"+name} + return name; + }, + + // + // Load an array of files, waiting for all of them + // to be loaded before going on + // + loadArray: function (files,dir,name,synchronous) { + if (files) { + if (!MathJax.Object.isArray(files)) {files = [files]} + if (files.length) { + var queue = MathJax.Callback.Queue(), callback = {}, file; + for (var i = 0, m = files.length; i < m; i++) { + file = this.URL(dir,files[i]); + if (name) {file += "/" + name} + if (synchronous) {queue.Push(["Require",MathJax.Ajax,file,callback])} + else {queue.Push(MathJax.Ajax.Require(file,callback))} + } + return queue.Push({}); // wait for everything to finish + } + } + return null; + } + +}; + + +/**********************************************************/ + +(function (BASENAME) { + var BASE = window[BASENAME], ROOT = "["+BASENAME+"]"; + var HUB = BASE.Hub, AJAX = BASE.Ajax, CALLBACK = BASE.Callback; + + var JAX = MathJax.Object.Subclass({ + JAXFILE: "jax.js", + require: null, // array of files to load before jax.js is complete + config: {}, + // + // Make a subclass and return an instance of it. + // (FIXME: should we replace config with a copy of the constructor's + // config? Otherwise all subclasses share the same config structure.) + // + Init: function (def,cdef) { + if (arguments.length === 0) {return this} + return (this.constructor.Subclass(def,cdef))(); + }, + // + // Augment by merging with class definition (not replacing) + // + Augment: function (def,cdef) { + var cObject = this.constructor, ndef = {}; + if (def != null) { + for (var id in def) {if (def.hasOwnProperty(id)) { + if (typeof def[id] === "function") + {cObject.protoFunction(id,def[id])} else {ndef[id] = def[id]} + }} + // MSIE doesn't list toString even if it is not native so handle it separately + if (def.toString !== cObject.prototype.toString && def.toString !== {}.toString) + {cObject.protoFunction('toString',def.toString)} + } + HUB.Insert(cObject.prototype,ndef); + cObject.Augment(null,cdef); + return this; + }, + Translate: function (script,state) { + throw Error(this.directory+"/"+this.JAXFILE+" failed to define the Translate() method"); + }, + Register: function (mimetype) {}, + Config: function () { + this.config = HUB.CombineConfig(this.id,this.config); + if (this.config.Augment) {this.Augment(this.config.Augment)} + }, + Startup: function () {}, + loadComplete: function (file) { + if (file === "config.js") { + return AJAX.loadComplete(this.directory+"/"+file); + } else { + var queue = CALLBACK.Queue(); + queue.Push( + HUB.Register.StartupHook("End Config",{}), // wait until config complete + ["Post",HUB.Startup.signal,this.id+" Jax Config"], + ["Config",this], + ["Post",HUB.Startup.signal,this.id+" Jax Require"], + // Config may set the required and extensions array, + // so use functions to delay making the reference until needed + [function (THIS) {return MathJax.Hub.Startup.loadArray(THIS.require,this.directory)},this], + [function (config,id) {return MathJax.Hub.Startup.loadArray(config.extensions,"extensions/"+id)},this.config||{},this.id], + ["Post",HUB.Startup.signal,this.id+" Jax Startup"], + ["Startup",this], + ["Post",HUB.Startup.signal,this.id+" Jax Ready"] + ); + if (this.copyTranslate) { + queue.Push( + [function (THIS) { + THIS.preProcess = THIS.preTranslate; + THIS.Process = THIS.Translate; + THIS.postProcess = THIS.postTranslate; + },this.constructor.prototype] + ); + } + return queue.Push(["loadComplete",AJAX,this.directory+"/"+file]); + } + } + },{ + id: "Jax", + version: "2.7.5", + directory: ROOT+"/jax", + extensionDir: ROOT+"/extensions" + }); + + /***********************************/ + + BASE.InputJax = JAX.Subclass({ + elementJax: "mml", // the element jax to load for this input jax + sourceMenuTitle: /*_(MathMenu)*/ ["Original","Original Form"], + copyTranslate: true, + Process: function (script,state) { + var queue = CALLBACK.Queue(), file; + // Load any needed element jax + var jax = this.elementJax; if (!BASE.Object.isArray(jax)) {jax = [jax]} + for (var i = 0, m = jax.length; i < m; i++) { + file = BASE.ElementJax.directory+"/"+jax[i]+"/"+this.JAXFILE; + if (!this.require) {this.require = []} + else if (!BASE.Object.isArray(this.require)) {this.require = [this.require]}; + this.require.push(file); // so Startup will wait for it to be loaded + queue.Push(AJAX.Require(file)); + } + // Load the input jax + file = this.directory+"/"+this.JAXFILE; + var load = queue.Push(AJAX.Require(file)); + if (!load.called) { + this.constructor.prototype.Process = function () { + if (!load.called) {return load} + throw Error(file+" failed to load properly"); + } + } + // Load the associated output jax + jax = HUB.outputJax["jax/"+jax[0]]; + if (jax) {queue.Push(AJAX.Require(jax[0].directory+"/"+this.JAXFILE))} + return queue.Push({}); + }, + needsUpdate: function (jax) { + var script = jax.SourceElement(); + return (jax.originalText !== BASE.HTML.getScript(script)); + }, + Register: function (mimetype) { + if (!HUB.inputJax) {HUB.inputJax = {}} + HUB.inputJax[mimetype] = this; + } + },{ + id: "InputJax", + version: "2.7.5", + directory: JAX.directory+"/input", + extensionDir: JAX.extensionDir + }); + + /***********************************/ + + BASE.OutputJax = JAX.Subclass({ + copyTranslate: true, + preProcess: function (state) { + var load, file = this.directory+"/"+this.JAXFILE; + this.constructor.prototype.preProcess = function (state) { + if (!load.called) {return load} + throw Error(file+" failed to load properly"); + } + load = AJAX.Require(file); + return load; + }, + Process: function (state) {throw Error(this.id + " output jax failed to load properly")}, + Register: function (mimetype) { + var jax = HUB.outputJax; + if (!jax[mimetype]) {jax[mimetype] = []} + // If the output jax is earlier in the original configuration list, put it first here + if (jax[mimetype].length && (this.id === HUB.config.menuSettings.renderer || + (jax.order[this.id]||0) < (jax.order[jax[mimetype][0].id]||0))) + {jax[mimetype].unshift(this)} else {jax[mimetype].push(this)} + // Make sure the element jax is loaded before Startup is called + if (!this.require) {this.require = []} + else if (!BASE.Object.isArray(this.require)) {this.require = [this.require]}; + this.require.push(BASE.ElementJax.directory+"/"+(mimetype.split(/\//)[1])+"/"+this.JAXFILE); + }, + Remove: function (jax) {} + },{ + id: "OutputJax", + version: "2.7.5", + directory: JAX.directory+"/output", + extensionDir: JAX.extensionDir, + fontDir: ROOT+(BASE.isPacked?"":"/..")+"/fonts", + imageDir: ROOT+(BASE.isPacked?"":"/..")+"/images" + }); + + /***********************************/ + + BASE.ElementJax = JAX.Subclass({ + // make a subclass, not an instance + Init: function (def,cdef) {return this.constructor.Subclass(def,cdef)}, + + inputJax: null, + outputJax: null, + inputID: null, + originalText: "", + mimeType: "", + sourceMenuTitle: /*_(MathMenu)*/ ["MathMLcode","MathML Code"], + + Text: function (text,callback) { + var script = this.SourceElement(); + BASE.HTML.setScript(script,text); + script.MathJax.state = this.STATE.UPDATE; + return HUB.Update(script,callback); + }, + Reprocess: function (callback) { + var script = this.SourceElement(); + script.MathJax.state = this.STATE.UPDATE; + return HUB.Reprocess(script,callback); + }, + Update: function (callback) {return this.Rerender(callback)}, + Rerender: function (callback) { + var script = this.SourceElement(); + script.MathJax.state = this.STATE.OUTPUT; + return HUB.Process(script,callback); + }, + Remove: function (keep) { + if (this.hover) {this.hover.clear(this)} + BASE.OutputJax[this.outputJax].Remove(this); + if (!keep) { + HUB.signal.Post(["Remove Math",this.inputID]); // wait for this to finish? + this.Detach(); + } + }, + needsUpdate: function () { + return BASE.InputJax[this.inputJax].needsUpdate(this); + }, + + SourceElement: function () {return document.getElementById(this.inputID)}, + + Attach: function (script,inputJax) { + var jax = script.MathJax.elementJax; + if (script.MathJax.state === this.STATE.UPDATE) { + jax.Clone(this); + } else { + jax = script.MathJax.elementJax = this; + if (script.id) {this.inputID = script.id} + else {script.id = this.inputID = BASE.ElementJax.GetID(); this.newID = 1} + } + jax.originalText = BASE.HTML.getScript(script); + jax.inputJax = inputJax; + if (jax.root) {jax.root.inputID = jax.inputID} + return jax; + }, + Detach: function () { + var script = this.SourceElement(); if (!script) return; + try {delete script.MathJax} catch(err) {script.MathJax = null} + if (this.newID) {script.id = ""} + }, + Clone: function (jax) { + var id; + for (id in this) { + if (!this.hasOwnProperty(id)) continue; + if (typeof(jax[id]) === 'undefined' && id !== 'newID') {delete this[id]} + } + for (id in jax) { + if (!jax.hasOwnProperty(id)) continue; + if (typeof(this[id]) === 'undefined' || (this[id] !== jax[id] && id !== 'inputID')) + {this[id] = jax[id]} + } + } + },{ + id: "ElementJax", + version: "2.7.5", + directory: JAX.directory+"/element", + extensionDir: JAX.extensionDir, + ID: 0, // jax counter (for IDs) + STATE: { + PENDING: 1, // script is identified as math but not yet processed + PROCESSED: 2, // script has been processed + UPDATE: 3, // elementJax should be updated + OUTPUT: 4 // output should be updated (input is OK) + }, + + GetID: function () {this.ID++; return "MathJax-Element-"+this.ID}, + Subclass: function () { + var obj = JAX.Subclass.apply(this,arguments); + obj.loadComplete = this.prototype.loadComplete; + return obj; + } + }); + BASE.ElementJax.prototype.STATE = BASE.ElementJax.STATE; + + // + // Some "Fake" jax used to allow menu access for "Math Processing Error" messages + // + BASE.OutputJax.Error = { + id: "Error", version: "2.7.5", config: {}, errors: 0, + ContextMenu: function () {return BASE.Extension.MathEvents.Event.ContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)}, + Mousedown: function () {return BASE.Extension.MathEvents.Event.AltContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)}, + getJaxFromMath: function (math) {return (math.nextSibling.MathJax||{}).error}, + Jax: function (text,script) { + var jax = MathJax.Hub.inputJax[script.type.replace(/ *;(.|\s)*/,"")]; + this.errors++; + return { + inputJax: (jax||{id:"Error"}).id, // Use Error InputJax as fallback + outputJax: "Error", + inputID: "MathJax-Error-"+this.errors, + sourceMenuTitle: /*_(MathMenu)*/ ["ErrorMessage","Error Message"], + sourceMenuFormat: "Error", + originalText: MathJax.HTML.getScript(script), + errorText: text + } + } + }; + BASE.InputJax.Error = { + id: "Error", version: "2.7.5", config: {}, + sourceMenuTitle: /*_(MathMenu)*/ ["Original","Original Form"] + }; + +})("MathJax"); + +/**********************************************************/ + +(function (BASENAME) { + var BASE = window[BASENAME]; + if (!BASE) {BASE = window[BASENAME] = {}} + + var HUB = BASE.Hub; var STARTUP = HUB.Startup; var CONFIG = HUB.config; + var HEAD = document.head || (document.getElementsByTagName("head")[0]); + if (!HEAD) {HEAD = document.childNodes[0]}; + var scripts = (document.documentElement || document).getElementsByTagName("script"); + if (scripts.length === 0 && HEAD.namespaceURI) + scripts = document.getElementsByTagNameNS(HEAD.namespaceURI,"script"); + var namePattern = new RegExp("(^|/)"+BASENAME+"\\.js(\\?.*)?$"); + for (var i = scripts.length-1; i >= 0; i--) { + if ((scripts[i].src||"").match(namePattern)) { + STARTUP.script = scripts[i].innerHTML; + if (RegExp.$2) { + var params = RegExp.$2.substr(1).split(/\&/); + for (var j = 0, m = params.length; j < m; j++) { + var KV = params[j].match(/(.*)=(.*)/); + if (KV) {STARTUP.params[unescape(KV[1])] = unescape(KV[2])} + else {STARTUP.params[params[j]] = true} + } + } + CONFIG.root = scripts[i].src.replace(/(^|\/)[^\/]*(\?.*)?$/,''); + BASE.Ajax.config.root = CONFIG.root; + BASE.Ajax.params = STARTUP.params; + break; + } + } + + var AGENT = navigator.userAgent; + var BROWSERS = { + isMac: (navigator.platform.substr(0,3) === "Mac"), + isPC: (navigator.platform.substr(0,3) === "Win"), + isMSIE: ("ActiveXObject" in window && "clipboardData" in window), + isEdge: ("MSGestureEvent" in window && "chrome" in window && + window.chrome.loadTimes == null), + isFirefox: (!!AGENT.match(/Gecko\//) && !AGENT.match(/like Gecko/)), + isSafari: (!!AGENT.match(/ (Apple)?WebKit\//) && !AGENT.match(/ like iPhone /) && + (!window.chrome || window.chrome.app == null)), + isChrome: ("chrome" in window && window.chrome.loadTimes != null), + isOpera: ("opera" in window && window.opera.version != null), + isKonqueror: ("konqueror" in window && navigator.vendor == "KDE"), + versionAtLeast: function (v) { + var bv = (this.version).split('.'); v = (new String(v)).split('.'); + for (var i = 0, m = v.length; i < m; i++) + {if (bv[i] != v[i]) {return parseInt(bv[i]||"0") >= parseInt(v[i])}} + return true; + }, + Select: function (choices) { + var browser = choices[HUB.Browser]; + if (browser) {return browser(HUB.Browser)} + return null; + } + }; + + var xAGENT = AGENT + .replace(/^Mozilla\/(\d+\.)+\d+ /,"") // remove initial Mozilla, which is never right + .replace(/[a-z][-a-z0-9._: ]+\/\d+[^ ]*-[^ ]*\.([a-z][a-z])?\d+ /i,"") // remove linux version + .replace(/Gentoo |Ubuntu\/(\d+\.)*\d+ (\([^)]*\) )?/,""); // special case for these + + HUB.Browser = HUB.Insert(HUB.Insert(new String("Unknown"),{version: "0.0"}),BROWSERS); + for (var browser in BROWSERS) {if (BROWSERS.hasOwnProperty(browser)) { + if (BROWSERS[browser] && browser.substr(0,2) === "is") { + browser = browser.slice(2); + if (browser === "Mac" || browser === "PC") continue; + HUB.Browser = HUB.Insert(new String(browser),BROWSERS); + var VERSION = new RegExp( + ".*(Version/| Trident/.*; rv:)((?:\\d+\\.)+\\d+)|" + // for Safari, Opera10, and IE11+ + ".*("+browser+")"+(browser == "MSIE" ? " " : "/")+"((?:\\d+\\.)*\\d+)|"+ // for one of the main browsers + "(?:^|\\(| )([a-z][-a-z0-9._: ]+|(?:Apple)?WebKit)/((?:\\d+\\.)+\\d+)"); // for unrecognized browser + var MATCH = VERSION.exec(xAGENT) || ["","","","unknown","0.0"]; + HUB.Browser.name = (MATCH[1] != "" ? browser : (MATCH[3] || MATCH[5])); + HUB.Browser.version = MATCH[2] || MATCH[4] || MATCH[6]; + break; + } + }}; + + // + // Initial browser-specific info (e.g., touch up version or name, check for MathPlayer, etc.) + // Wrap in try/catch just in case of error (see issue #1155). + // + try {HUB.Browser.Select({ + Safari: function (browser) { + var v = parseInt((String(browser.version).split("."))[0]); + if (v > 85) {browser.webkit = browser.version} + if (v >= 538) {browser.version = "8.0"} + else if (v >= 537) {browser.version = "7.0"} + else if (v >= 536) {browser.version = "6.0"} + else if (v >= 534) {browser.version = "5.1"} + else if (v >= 533) {browser.version = "5.0"} + else if (v >= 526) {browser.version = "4.0"} + else if (v >= 525) {browser.version = "3.1"} + else if (v > 500) {browser.version = "3.0"} + else if (v > 400) {browser.version = "2.0"} + else if (v > 85) {browser.version = "1.0"} + browser.webkit = (navigator.appVersion.match(/WebKit\/(\d+)\./))[1]; + browser.isMobile = (navigator.appVersion.match(/Mobile/i) != null); + browser.noContextMenu = browser.isMobile; + }, + Firefox: function (browser) { + if ((browser.version === "0.0" || AGENT.match(/Firefox/) == null) && + navigator.product === "Gecko") { + var rv = AGENT.match(/[\/ ]rv:(\d+\.\d.*?)[\) ]/); + if (rv) {browser.version = rv[1]} + else { + var date = (navigator.buildID||navigator.productSub||"0").substr(0,8); + if (date >= "20111220") {browser.version = "9.0"} + else if (date >= "20111120") {browser.version = "8.0"} + else if (date >= "20110927") {browser.version = "7.0"} + else if (date >= "20110816") {browser.version = "6.0"} + else if (date >= "20110621") {browser.version = "5.0"} + else if (date >= "20110320") {browser.version = "4.0"} + else if (date >= "20100121") {browser.version = "3.6"} + else if (date >= "20090630") {browser.version = "3.5"} + else if (date >= "20080617") {browser.version = "3.0"} + else if (date >= "20061024") {browser.version = "2.0"} + } + } + browser.isMobile = (navigator.appVersion.match(/Android/i) != null || + AGENT.match(/ Fennec\//) != null || + AGENT.match(/Mobile/) != null); + }, + Chrome: function (browser) { + browser.noContextMenu = browser.isMobile = !!navigator.userAgent.match(/ Mobile[ \/]/); + }, + Opera: function (browser) {browser.version = opera.version()}, + Edge: function (browser) { + browser.isMobile = !!navigator.userAgent.match(/ Phone/); + }, + MSIE: function (browser) { + browser.isMobile = !!navigator.userAgent.match(/ Phone/); + browser.isIE9 = !!(document.documentMode && (window.performance || window.msPerformance)); + MathJax.HTML.setScriptBug = !browser.isIE9 || document.documentMode < 9; + MathJax.Hub.msieHTMLCollectionBug = (document.documentMode < 9); + // + // MathPlayer doesn't function properly in IE10, and not at all in IE11, + // so don't even try to load it. + // + if (document.documentMode < 10 && !STARTUP.params.NoMathPlayer) { + try { + new ActiveXObject("MathPlayer.Factory.1"); + browser.hasMathPlayer = true; + } catch (err) {} + try { + if (browser.hasMathPlayer) { + var mathplayer = document.createElement("object"); + mathplayer.id = "mathplayer"; mathplayer.classid = "clsid:32F66A20-7614-11D4-BD11-00104BD3F987"; + HEAD.appendChild(mathplayer); + document.namespaces.add("m","http://www.w3.org/1998/Math/MathML"); + browser.mpNamespace = true; + if (document.readyState && (document.readyState === "loading" || + document.readyState === "interactive")) { + document.write(''); + browser.mpImported = true; + } + } else { + // Adding any namespace avoids a crash in IE9 in IE9-standards mode + // (any reference to document.namespaces before document.readyState is + // "complete" causes an "unspecified error" to be thrown) + document.namespaces.add("mjx_IE_fix","http://www.w3.org/1999/xlink"); + } + } catch (err) {} + } + } + });} catch (err) { + console.error(err.message); + } + HUB.Browser.Select(MathJax.Message.browsers); + + if (BASE.AuthorConfig && typeof BASE.AuthorConfig.AuthorInit === "function") {BASE.AuthorConfig.AuthorInit()} + HUB.queue = BASE.Callback.Queue(); + HUB.queue.Push( + ["Post",STARTUP.signal,"Begin"], + ["Config",STARTUP], + ["Cookie",STARTUP], + ["Styles",STARTUP], + ["Message",STARTUP], + function () { + // Do Jax and Extensions in parallel, but wait for them all to complete + var queue = BASE.Callback.Queue( + STARTUP.Jax(), + STARTUP.Extensions() + ); + return queue.Push({}); + }, + ["Menu",STARTUP], + STARTUP.onLoad(), + function () {MathJax.isReady = true}, // indicates that MathJax is ready to process math + ["Typeset",STARTUP], + ["Hash",STARTUP], + ["MenuZoom",STARTUP], + ["Post",STARTUP.signal,"End"] + ); + +})("MathJax"); + +}} diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/README.md b/src/py/kaleido/vendor/Mathjax-2.7.5/README.md new file mode 100644 index 00000000..7ca6f7e4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/README.md @@ -0,0 +1,53 @@ +# MathJax + +## Beautiful math in all browsers + +MathJax is an open-source JavaScript display engine for LaTeX, MathML, and +AsciiMath notation that works in all modern browsers. It was designed with +the goal of consolidating the recent advances in web technologies into a +single, definitive, math-on-the-web platform supporting the major browsers +and operating systems. It requires no setup on the part of the user (no +plugins to download or software to install), so the page author can write +web documents that include mathematics and be confident that users will be +able to view it naturally and easily. Simply include MathJax and some +mathematics in a web page, and MathJax does the rest. + +Some of the main features of MathJax include: + +- High-quality display of LaTeX, MathML, and AsciiMath notation in HTML pages + +- Supported in most browsers with no plug-ins, extra fonts, or special + setup for the reader + +- Easy for authors, flexible for publishers, extensible for developers + +- Supports math accessibility, cut-and-paste interoperability, and other + advanced functionality + +- Powerful API for integration with other web applications + +See for additional details. + + +## Installation and Usage + +The MathJax installation and usage documentation is available in a +separate GitHub repository at . +The HTML versions can now be viewed at , +where it is possible for you to submit corrections and modifications +directly to the documentation on line. + + +## Community + +The main MathJax website is , and it includes +announcements and other important information. MathJax is maintained and +distributed on GitHub at . A user forum +for asking questions and getting assistance is hosted at Google, and the +bug tracker is hosted at GitHub: + +Bug tracker: +MathJax-Users Group: + +Before reporting a bug, please check that it has not already been reported. +Also, please use the bug tracker for reporting bugs rather than the help forum. diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML-full.js new file mode 100644 index 00000000..ab7e2bbb --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_CHTML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML.js new file mode 100644 index 00000000..5a4f72f3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_CHTML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_CHTML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML-full.js new file mode 100644 index 00000000..216217f4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML-full.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_HTMLorMML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML.js new file mode 100644 index 00000000..6259a7d2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_HTMLorMML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG-full.js new file mode 100644 index 00000000..cb0635f1 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_SVG-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_SVG-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG.js new file mode 100644 index 00000000..1ad6db95 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_SVG.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_SVG.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible-full.js new file mode 100644 index 00000000..9910e5bf --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible-full.js @@ -0,0 +1,30 @@ +/************************************************************* + * + * /MathJax/unpacked/config/Accessible-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"], + menuSettings: { + zoom: "Double-Click", + mpContext: true, + mpMouse: true + }, + errorSettings: { + message: ["[",["MathError","Math Error"],"]"] + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/Accessible-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible.js new file mode 100644 index 00000000..efba6db5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible.js @@ -0,0 +1,30 @@ +/************************************************************* + * + * /MathJax/unpacked/config/Accessible.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"], + menuSettings: { + zoom: "Double-Click", + mpContext: true, + mpMouse: true + }, + errorSettings: { + message: ["[",["MathError","Math Error"],"]"] + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/Accessible.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML-full.js new file mode 100644 index 00000000..140d1990 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_CHTML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML.js new file mode 100644 index 00000000..36e54337 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_CHTML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_CHTML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML-full.js new file mode 100644 index 00000000..06ac2d28 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML-full.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_HTMLorMML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML.js new file mode 100644 index 00000000..d9721795 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_HTMLorMML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG-full.js new file mode 100644 index 00000000..031c63af --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_SVG-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_SVG-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG.js new file mode 100644 index 00000000..ae1a02f9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_SVG.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_SVG.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MMLorHTML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MMLorHTML.js new file mode 100644 index 00000000..9d9b34a1 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/MMLorHTML.js @@ -0,0 +1,111 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/config/MMLorHTML.js + * + * Chooses between the NativeMML and HTML-CSS output jax depending + * on the capabilities of the browser and configuration settings + * of the page. + * + * This file should be added to the config array when configuring + * MathJax. Note that if you include this, you should NOT include + * an output jax in the jax array (it will be added for you by + * this file). + * + * You can specify the preferred output jax on a global or + * browser-by-browser basis. To specify it globally, use + * + * MathJax.Hub.Config({ + * MMLorHTML: {prefer: "MML"} // or "HTML" + * }); + * + * To specify on a browser-by-borwser basis, use + * + * MathJax.Hub.Config({ + * MMLorHTML: {prefer: { + * MSIE: "MML", + * Firefox: "MML", + * Opera: "HTML", + * other: "HTML" + * }} + * }); + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,BROWSER) { + var VERSION = "2.7.0"; + + var CONFIG = MathJax.Hub.CombineConfig("MMLorHTML",{ + prefer: { + MSIE:"MML", + Firefox:"HTML", + Opera:"HTML", + Chrome:"HTML", + Safari:"HTML", + other:"HTML" + } + }); + + var MINBROWSERVERSION = { + Firefox: 3.0, + Opera: 9.52, + MSIE: 6.0, + Chrome: 0.3, + Safari: 2.0, + Konqueror: 4.0 + }; + + var canUseHTML = (BROWSER.version === "0.0" || + BROWSER.versionAtLeast(MINBROWSERVERSION[BROWSER]||0.0)); + + var canUseMML = (BROWSER.isFirefox && BROWSER.versionAtLeast("1.5")) || + (BROWSER.isMSIE && BROWSER.hasMathPlayer) || + (BROWSER.isSafari && BROWSER.versionAtLeast("5.0")) || + (BROWSER.isOpera && BROWSER.versionAtLeast("9.52")); + + HUB.Register.StartupHook("End Config",function () { + var prefer = (CONFIG.prefer && typeof(CONFIG.prefer) === "object" ? + CONFIG.prefer[MathJax.Hub.Browser]||CONFIG.prefer.other||"HTML" : + CONFIG.prefer); + + if (canUseHTML || canUseMML) { + if (canUseMML && (prefer === "MML" || !canUseHTML)) { + if (MathJax.OutputJax.NativeMML) {MathJax.OutputJax.NativeMML.Register("jax/mml")} + else {HUB.config.jax.unshift("output/NativeMML")} + HUB.Startup.signal.Post("NativeMML output selected"); + } else { + if (MathJax.OutputJax["HTML-CSS"]) {MathJax.OutputJax["HTML-CSS"].Register("jax/mml")} + else {HUB.config.jax.unshift("output/HTML-CSS")} + HUB.Startup.signal.Post("HTML-CSS output selected"); + } + } else { + HUB.PreProcess.disabled = true; + HUB.prepareScripts.disabled = true; + MathJax.Message.Set( + ["MathJaxNotSupported","Your browser does not support MathJax"], + null,4000 + ); + HUB.Startup.signal.Post("MathJax not supported"); + } + }); + +})(MathJax.Hub,MathJax.Hub.Browser); + +MathJax.Ajax.loadComplete("[MathJax]/config/MMLorHTML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/Safe.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/Safe.js new file mode 100644 index 00000000..0bffafc4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/Safe.js @@ -0,0 +1,37 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/config/Safe.js + * + * Allows you to load the Safe extension as part of the config list + * when you load MathJax.js, e.g. + * + * + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("End Config", function () { + if (!MathJax.Hub.config.extensions) {MathJax.Hub.config.extensions = []} + MathJax.Hub.config.extensions.push("Safe.js"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/Safe.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML-full.js new file mode 100644 index 00000000..a3b69152 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML-full.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML.js new file mode 100644 index 00000000..475fbdf2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG-full.js new file mode 100644 index 00000000..2c2a6276 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS-MML_SVG-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_SVG-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG.js new file mode 100644 index 00000000..885f2461 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS-MML_SVG.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_SVG.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML-full.js new file mode 100644 index 00000000..0b985a3b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_CHTML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML.js new file mode 100644 index 00000000..57d05497 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_CHTML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_CHTML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML-full.js new file mode 100644 index 00000000..851f5b58 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_HTML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/HTML-CSS","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_HTML-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML.js new file mode 100644 index 00000000..80e00a29 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_HTML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/HTML-CSS","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_HTML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG-full.js new file mode 100644 index 00000000..aeba7faf --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_SVG-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_SVG-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG.js new file mode 100644 index 00000000..847e4da4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_SVG.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_SVG.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML-full.js new file mode 100644 index 00000000..f521b8e0 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_CHTML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML.js new file mode 100644 index 00000000..8361462f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_CHTML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_CHTML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML-full.js new file mode 100644 index 00000000..2c0293c5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML-full.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_HTMLorMML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML.js new file mode 100644 index 00000000..f9b5e5f7 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_HTMLorMML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG-full.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG-full.js new file mode 100644 index 00000000..66d52050 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_SVG-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_SVG-full.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG.js new file mode 100644 index 00000000..83ed816d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_SVG.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_SVG.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/default.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/default.js new file mode 100644 index 00000000..a4120d48 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/default.js @@ -0,0 +1,1104 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/config/default.js + * + * This configuration file is loaded when you load MathJax + * via + * + * Use it to customize the MathJax settings. See comments below. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + + +/* + * This file lists most, but not all, of the options that can be set for + * MathJax and its various components. Some additional options are + * available, however, and are listed in the various links at: + * + * http://www.mathjax.org/resources/docs/?configuration.html#configuration-options-by-component + * + * You can add these to the configuration object below if you + * want to change them from their default values. + */ + +MathJax.Hub.Config({ + + // + // A comma-separated list of configuration files to load + // when MathJax starts up. E.g., to define local macros, etc. + // The default directory is the MathJax/config directory. + // + // Example: config: ["local/local.js"], + // Example: config: ["local/local.js","MMLtoHTML.js"], + // + config: [], + + // + // A comma-separated list of CSS stylesheet files to be loaded + // when MathJax starts up. The default directory is the + // MathJax/config directory. + // + // Example: styleSheets: ["MathJax.css"], + // + styleSheets: [], + + // + // Styles to be defined dynamically at startup time. + // + // Example: + // styles: { + // ".MathJax_Preview": { + // color: "#888" + // } + // }, + // + styles: {}, + + // + // A comma-separated list of input and output jax to initialize at startup. + // Their main code is loaded only when they are actually used, so it is not + // inefficient to include jax that may not actually be used on the page. These + // are found in the MathJax/jax directory. The choices include + // + // input/TeX + // input/MathML + // input/AsciiMath + // + // output/HTML-CSS + // output/NativeMML + // output/SVG + // + // If you change the input jax, you may need to include the appropriate + // preprocessor in the extensions array below. + // + jax: ["input/TeX", "output/HTML-CSS"], + + // + // A comma-separated list of extensions to load at startup. The default + // directory is MathJax/extensions. + // + // Example: extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"], + // + // You may wish to include "mml2jax.js" if you are using "input/MathML" in the + // jax array above, and "asciimath2jax.js" if you using "input/AsciiMath". + // Include "jsmath2jax.js" if you are converting from using jsMath to MathJax. + // + extensions: ["tex2jax.js"], + + // + // Patterns to remove from before and after math script tags. If you are not + // using one of the preprocessors (e.g., tex2jax), you need to insert something + // extra into your HTML file in order to avoid a bug in Internet Explorer. IE + // removes spaces from the DOM that it thinks are redundent, and since a SCRIPT + // tag usually doesn't add content to the page, if there is a space before and after + // a MathJax SCRIPT tag, IE will remove the first space. When MathJax inserts + // the typeset mathematics, this means there will be no space before it and the + // preceding text. In order to avoid this, you should include some "guard characters" + // before or after the math SCRIPT tag; define the patterns you want to use below. + // Note that these are used as regular expressions, so you will need to quote + // special characters. Furthermore, since they are javascript strings, you must + // quote javascript special characters as well. So to obtain a backslash, you must + // use \\ (doubled for javascript). For example, "\\[" is the pattern \[ in the + // regular expression. That means that if you want an actual backslash in your + // guard characters, you need to use "\\\\" in order to get \\ in the regular + // expression, and \ in the actual text. If both preJax and postJax are defined, + // both must be present in order to be removed. + // + // See also the preRemoveClass comments below. + // + // Example: + // preJax: "\\\\\\\\", // makes a double backslash the preJax text + // or + // preJax: "\\[\\[", // jax scripts must be enclosed in double brackets + // postJax: "\\]\\]", + // + preJax: null, + postJax: null, + + // + // The CSS class for a math preview to be removed preceding a MathJax + // SCRIPT tag. If the tag just before the MathJax SCRIPT tag is of this + // class, its contents are removed when MathJax processes the SCRIPT + // tag. This allows you to include a math preview in a form that will + // be displayed prior to MathJax performing its typesetting. It also + // avoids the Internet Explorer space-removal bug, and can be used in + // place of preJax and postJax if that is more convenient. + // + // For example + // + // [math] + // + // would display "[math]" in place of the math until MathJax is able to typeset it. + // + preRemoveClass: "MathJax_Preview", + + // + // This value controls whether the "Processing Math: nn%" message are displayed + // in the lower left-hand corner. Set to "false" to prevent those messages (though + // file loading and other messages will still be shown). + // + showProcessingMessages: true, + + // + // This value controls the verbosity of the messages in the lower left-hand corner. + // Set it to "none" to eliminate all messages, or set it to "simple" to show + // "Loading..." and "Processing..." rather than showing the full file name and the + // percentage of the mathematics processed. + // + messageStyle: "normal", + + // + // These two parameters control the alignment and shifting of displayed equations. + // The first can be "left", "center", or "right", and determines the alignment of + // displayed equations. When the alignment is not "center", the second determines + // an indentation from the left or right side for the displayed equations. When + // the alignment is "center", the indent allows you to shift the center to the right + // or left (negative is left). + // + displayAlign: "center", + displayIndent: "0", + + // + // Normally MathJax will perform its starup commands (loading of + // configuration, styles, jax, and so on) as soon as it can. If you + // expect to be doing additional configuration on the page, however, you + // may want to have it wait until the page's onload hander is called. If so, + // set this to "onload". + // + delayStartupUntil: "none", + + // + // Normally MathJax will typeset the mathematics on the page as soon as + // the page is loaded. If you want to delay that process, in which case + // you will need to call MathJax.Hub.Typeset() yourself by hand, set + // this value to true. + // + skipStartupTypeset: false, + + // + // A list of element ID's that are the ones to process for mathematics + // when any of the Hub typesetting calls (Typeset, Process, Update, etc) + // are called with no element specified. This lets you restrict the + // processing to particular containers rather than scanning the entire + // document for mathematics. If none are supplied, the entire document + // is processed. + // + elements: [], + + // + // Since typesetting usually changes the vertical dimensions of the + // page, if the URL contains an anchor position you may no longer be + // positioned at the correct position on the page, so MathJax can + // reposition to that location after it completes its initial + // typesetting of the page. This value controls whether MathJax will + // reposition the browser to the #hash location from the page URL after + // typesetting for the page. + // + positionToHash: true, + + // + // These control whether to attach the MathJax contextual menu to the + // expressions typeset by MathJax. Since the code for handling + // MathPlayer in Internet Explorer is somewhat delicate, it is + // controlled separately via (showMathMenuMSIE). The latter is now + // deprecated in favor of the MathJax contextual menu settings for + // MathPlayer. + // + // These values used to be listed in the separate output jax, but + // have been moved to this more central location since they are shared + // by all output jax. + // + showMathMenu: true, + showMathMenuMSIE: true, + + + // + // The default settings for the MathJax contextual menu (overridden by + // the MathJax cookie when users change the menu settings). + // + menuSettings: { + zoom: "None", // when to do MathZoom + CTRL: false, // require CTRL for MathZoom? + ALT: false, // require Alt or Option? + CMD: false, // require CMD? + Shift: false, // require Shift? + discoverable: false, // make math menu discoverable on hover? + zscale: "200%", // the scaling factor for MathZoom + renderer: null, // set when Jax are loaded + font: "Auto", // what font HTML-CSS should use + context: "MathJax", // or "Browser" for pass-through to browser menu + locale: null, // the language to use for messages + mpContext: false, // true means pass menu events to MathPlayer in IE + mpMouse: false, // true means pass mouse events to MathPlayer in IE + texHints: true, // include class names for TeXAtom elements + FastPreview: null, // use PreviewHTML output as preview? + assistiveMML: null, // include hidden MathML for screen readers? + inTabOrder: true, // set to true if math elements should be included in the tabindex + semantics: false // add semantics tag with original form in MathML output + }, + + // + // The message and style for when there is a processing error handling + // the mathematics (something has gone wrong with the input or output + // jax that prevents it from operating properly). + // + errorSettings: { + message: ["[",["MathProcessingError","Math Processing Error"],"]"], + style: {color: "#CC0000", "font-style":"italic"} // style for message + }, + + + //============================================================================ + // + // These parameters control the tex2jax preprocessor (when you have included + // "tex2jax.js" in the extensions list above). + // + tex2jax: { + + // + // The delimiters that surround in-line math expressions. The first in each + // pair is the initial delimiter and the second is the terminal delimiter. + // Comment out any that you don't want, but be sure there is no extra + // comma at the end of the last item in the list -- some browsers won't + // be able to handle that. + // + inlineMath: [ +// ['$','$'], // uncomment this for standard TeX math delimiters + ['\\(','\\)'] + ], + + // + // The delimiters that surround displayed math expressions. The first in each + // pair is the initial delimiter and the second is the terminal delimiter. + // Comment out any that you don't want, but be sure there is no extra + // comma at the end of the last item in the list -- some browsers won't + // be able to handle that. + // + displayMath: [ + ['$$','$$'], + ['\\[','\\]'] + ], + + // + // This array lists the names of the tags whose contents should not be + // processed by tex2jax (other than to look for ignore/process classes + // as listed below). You can add to (or remove from) this list to prevent + // MathJax from processing mathematics in specific contexts. + // + skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], + + // + // This is the class name used to mark elements whose contents should + // not be processed by tex2jax (other than to look for the + // processClass pattern below). Note that this is a regular + // expression, and so you need to be sure to quote any regexp special + // characters. The pattern is automatically preceded by '(^| )(' and + // followed by ')( |$)', so your pattern will have to match full words + // in the class name. Assigning an element this class name will + // prevent `tex2jax` from processing its contents. + // + ignoreClass: "tex2jax_ignore", + + // + // This is the class name used to mark elements whose contents SHOULD + // be processed by tex2jax. This is used to turn on processing within + // tags that have been marked as ignored or skipped above. Note that + // this is a regular expression, and so you need to be sure to quote + // any regexp special characters. The pattern is automatically + // preceded by '(^| )(' and followed by ')( |$)', so your pattern + // will have to match full words in the class name. Use this to + // restart processing within an element that has been marked as + // ignored above. + // + processClass: "tex2jax_process", + + // + // Set to "true" to allow \$ to produce a dollar without starting in-line + // math mode. If you uncomment the ['$','$'] line above, you should change + // this to true so that you can insert plain dollar signs into your documents + // + processEscapes: false, + + // + // Controls whether tex2jax processes LaTeX environments outside of math + // mode. Set to "false" to prevent processing of environments except within + // math mode. + // + processEnvironments: true, + + // + // Controls whether tex2jax processes \ref{...} commands outside + // of math mode. Set to "false" to prevent processing of \ref + // except within math mode. + // + processRefs: true, + + // + // Controls whether tex2jax inserts MathJax_Preview spans to make a + // preview available, and what preview to use, when it locates in-line + // and display mathetics on the page. The default is "TeX", which + // means use the TeX code as the preview (until it is processed by + // MathJax). Set to "none" to prevent the previews from being + // inserted (the math will simply disappear until it is typeset). Set + // to an array containing the description of an HTML snippet in order + // to use the same preview for all equations on the page (e.g., you + // could have it say "[math]" or load an image). + // + // E.g., preview: ["[math]"], + // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] + // + preview: "TeX" + + }, + + //============================================================================ + // + // These parameters control the asciimath2jax preprocessor (when you have included + // "asciimath2jax.js" in the extensions list above). + // + asciimath2jax: { + + // + // The delimiters that surround asciimath expressions. The first in each + // pair is the initial delimiter and the second is the terminal delimiter. + // + delimiters: [ + ['`','`'] + ], + + // + // This array lists the names of the tags whose contents should not be + // processed by asciimath2jax (other than to look for ignore/process classes + // as listed below). You can add to (or remove from) this list to prevent + // MathJax from processing mathematics in specific contexts. + // + skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], + + // + // This is the class name used to mark elements whose contents should + // not be processed by asciimath2jax (other than to look for the + // processClass pattern below). Note that this is a regular + // expression, and so you need to be sure to quote any regexp special + // characters. The pattern is automatically preceded by '(^| )(' and + // followed by ')( |$)', so your pattern will have to match full words + // in the class name. Assigning an element this class name will + // prevent `asciimath2jax` from processing its contents. + // + ignoreClass: "asciimath2jax_ignore", + + // + // This is the class name used to mark elements whose contents SHOULD + // be processed by asciimath2jax. This is used to turn on processing + // within tags that have been marked as ignored or skipped above. + // Note that this is a regular expression, and so you need to be sure + // to quote any regexp special characters. The pattern is + // automatically preceded by '(^| )(' and followed by ')( |$)', so + // your pattern will have to match full words in the class name. Use + // this to restart processing within an element that has been marked + // as ignored above. + // + processClass: "asciimath2jax_process", + + // Controls whether asciimath2jax inserts MathJax_Preview spans to make a + // preview available, and what preview to use, when it locates in-line + // and display mathetics on the page. The default is "AsciiMath", which + // means use the AsciiMath code as the preview (until it is processed by + // MathJax). Set to "none" to prevent the previews from being + // inserted (the math will simply disappear until it is typeset). Set + // to an array containing the description of an HTML snippet in order + // to use the same preview for all equations on the page (e.g., you + // could have it say "[math]" or load an image). + // + // E.g., preview: ["[math]"], + // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] + // + preview: "AsciiMath" + + }, + + //============================================================================ + // + // These parameters control the mml2jax preprocessor (when you have included + // "mml2jax.js" in the extensions list above). + // + mml2jax: { + + // + // Controls whether mml2jax inserts MathJax_Preview spans to make a + // preview available, and what preview to use, when it locates + // mathematics on the page. The default is "mathml" which means use + // the tag as the preview (until it is processed by MathJax). + // Set to "alttext", to use the tag's alttext attribute as the + // preview, if the tag has one. Set to "none" to + // prevent the previews from being inserted (the math will simply + // disappear until it is typeset). Set to "altimg" to use an image + // described by the altimg* attributes of the element. + // Set to an array containing the + // description of an HTML snippet in order to use the same preview for + // all equations on the page (e.g., you could have it say "[math]" or + // load an image). + // + // E.g., preview: ["[math]"], + // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] + // + preview: "mathml" + + }, + + //============================================================================ + // + // These parameters control the jsMath2jax preprocessor (when you have included + // "jsMath2jax.js" in the extensions list above). + // + jsMath2jax: { + + // + // Controls whether jsMath2jax inserts MathJax_Preview spans to make a + // preview available, and what preview to use, when it locates + // mathematics on the page. The default is "TeX", which means use the + // TeX code as the preview (until it is processed by MathJax). Set to + // "none" to prevent the previews from being inserted (the math will + // simply disappear until it is typeset). Set to an array containing + // the description of an HTML snippet in order to use the same preview + // for all equations on the page (e.g., you could have it say "[math]" + // or load an image). + // + // E.g., preview: ["[math]"], + // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] + // + preview: "TeX" + + }, + + //============================================================================ + // + // These parameters control the TeX input jax. + // + TeX: { + + // + // This specifies the side on which \tag{} macros will place the tags. + // Set to "left" to place on the left-hand side. + // + TagSide: "right", + + // + // This is the amound of indentation (from right or left) for the tags. + // + TagIndent: "0.8em", + + // + // This is the width to use for the multline environment + // + MultLineWidth: "85%", + + // + // List of macros to define. These are of the form + // name: value + // where 'value' is the replacement text for the macro \name. + // The 'value' can also be [value,n] where 'value' is the replacement + // text and 'n' is the number of parameters for the macro. + // Note that backslashes must be doubled in the replacement string. + // + // E.g., + // + // Macros: { + // RR: '{\\bf R}', + // bold: ['{\\bf #1}', 1] + // } + // + Macros: {}, + + // + // Equation numbering parameters. + // + equationNumbers: { + autoNumber: "none", // "AMS" for standard AMS environment numbering, + // or "all" to number all displayed equations +// formatNumber: function (n) {return n}, // format for equation number n +// formatTag: function (n) {return '('+n+')'}, // format for \tag and \eqref +// formatID: function (n) {return 'mjx-eqn-'+String(n).replace(/\s/g,"_")}, +// // element ID to use for reference +// formatURL: function (id,base) {return base+'#'+encodeURIComponent(id)}, +// // URL to use for references + useLabelIds: true // make element ID's use \label name rather than equation number + }, + + // + // Controls the TeX/noErrors extension + // + noErrors: { + disabled: false, // set to true to return to original error messages + multiLine: true, // false to not include original line breaks + inlineDelimiters: ["",""], // or use ["$","$"] or ["\\(","\\)"] to put back delimiters + style: { + "font-size": "90%", + "text-align": "left", + "color": "black", + "padding": "1px 3px", + "border": "1px solid" + } + }, + + // + // Controls the TeX/noUndefined extension + // + noUndefined: { + disabled: false, // set to true to return to original error messages + attributes: { // attributes to set for the undefined control sequence + mathcolor: "red" + } + }, + + // + // Controls the TeX/unicode extension + unicode: { + fonts: "STIXGeneral,'Arial Unicode MS'" // the default font list for unknown characters + } + + }, + + //============================================================================ + // + // These parameters control the AsciiMath input jax. + // + AsciiMath: { + // + // Determines whether the unicode positions for phi and varphi are + // to be swapped or not. (Unicode originally had these reversed, and + // many fonts have them reversed as well.) When set to true, phi + // and varphi will correspond to the LaTeX macros of the same name. + // + fixphi: true, + + // + // Determines whether the MathML should be marked so that the HTML-CSS + // and SVG output jax will use MathML spacing rules rather than TeX + // spacing rules. Since AsciiMath was designed for MathML output, the + // MathML rules are used by default. + // + useMathMLspacing: true, + + // + // Determines whether limits are placed above and below operators, + // or next to them. (AsciiMath doesn't have separate in-line and + // display modes like TeX and MathML do, so this is the only control + // you have over its output) + // + displaystyle: true, + + // + // The character to use for decimal places when scanning for a number. + // If you change it to ",", beware of things like "(1,2)" which would need + // to be changed to "(1, 2)" to be parsed correctly. + // + decimal: "." + }, + + //============================================================================ + // + // These parameters control the MathML input jax. + // + MathML: { + // + // This specifies whether to use TeX spacing or MathML spacing when the + // HTML-CSS output jax is used. + // + useMathMLspacing: false + }, + + //============================================================================ + // + // These parameters control the HTML-CSS output jax. + // + "HTML-CSS": { + + // + // This controls the global scaling of mathematics as compared to the + // surrounding text. Values between 100 and 133 are usually good choices. + // + scale: 100, + + // + // Don't allow the matching of math text to surrounding text to use a scaling + // factor smaller than this. + // + minScaleAdjust: 50, + + // + // This is a list of the fonts to look for on a user's computer in + // preference to using MathJax's web-based fonts. These must + // correspond to directories available in the jax/output/HTML-CSS/fonts + // directory, where MathJax stores data about the characters available + // in the fonts. Set this to ["TeX"], for example, to prevent the + // use of the STIX fonts, or set it to an empty list, [], if + // you want to force MathJax to use web-based or image fonts. + // + availableFonts: ["STIX","TeX"], + + // + // This is the preferred font to use when more than one of those + // listed above is available. + // + preferredFont: "TeX", + + // + // This is the web-based font to use when none of the fonts listed + // above are available on the user's computer. Note that currently + // only the TeX font is available in a web-based form. Set this to + // + // webFont: null, + // + // if you want to prevent the use of web-based fonts. + // + webFont: "TeX", + + // + // This is the font to use for image fallback mode (when none of the + // fonts listed above are available and the browser doesn't support + // web-fonts via the @font-face CSS directive). Note that currently + // only the TeX font is available as an image font. Set this to + // + // imageFont: null, + // + // if you want to prevent the use of image fonts (e.g., you have not + // installed the image fonts on your server). In this case, only + // browsers that support web-based fonts will be able to view your pages + // without having the fonts installed on the client computer. The browsers + // that support web-based fonts include: IE6 and later, Chrome, Safari3.1 + // and above, Firefox3.5 and later, and Opera10 and later. Note that + // Firefox3.0 is NOT on this list, so without image fonts, FF3.0 users + // will be required to to download and install either the STIX fonts or the + // MathJax TeX fonts. + // + imageFont: "TeX", + + // + // This is the font-family CSS value used for characters that are not + // in the selected font (e.g., for web-based fonts, this is where to + // look for characters not included in the MathJax_* fonts). IE will + // stop looking after the first font that exists on the system (even + // if it doesn't contain the needed character), so order these carefully. + // + undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif", + + // + // This setting controls whether elements will be typeset + // using the math fonts or the font of the surrounding text. When + // false, the mathvariant="normal" font will be used; when true, + // the font will be inherited from the surrounding paragraph. + // + mtextFontInherit: false, + + // + // These values control how "chunky" the display of mathematical + // expressions will be. + // + // EqnChunk is the number of equations that will be typeset before + // they appear on screen. Larger values make for less visual flicker + // as the equations are drawn, but also mean longer delays before the + // reader sees anything. + // + // EqChunkFactor is the factor by which the EqnChunk will grow after each + // chunk is displayed. + // + // EqChunkDelay is the time (in milliseconds) to delay between chunks + // (to allow the browser to respond to other user interaction). + // + // Set EqnChunk to 1, EqnChunkFactor to 1, and EqnChunkDelay to 10 to get + // the behavior from MathJax v1.1 and below. + // + EqnChunk: 50, + EqnChunkFactor: 1.5, + EqnChunkDelay: 100, + + // + // This option indicates whether MathJax should try to correct the + // x-height of equations to match the size of the surrounding text. + // + matchFontHeight: true, + + // + // When true, MathJax will not measure the widths or heights of the + // subexpressions as it creates its output, but instead will rely on + // its internal calculations based on the bounding boxes of the + // characters it uses, and will only take measurements when it + // absolutely has to. Since measurements cause display reflows, they + // slows down MathJax considerably, so without them MathJax runs + // faster, but can produce slightly less accurate character placements, + // especially in width fractions or roots. + // + noReflows: true, + + + // + // These settings control automatic line breaking. It is off by + // default, so only explicit line breaks are performed (via + // linebreak="newline" attributes on and elements). To + // perform automatic line breaking on line expressions, set + // 'automatic' to 'true' below. The line breaks will be applied via a + // penalty-based heuristic, which does well, but isn't perfect. You + // might need to use linebreak="goodbreak" or linebreak="badbreak" by + // hand in order to get better effects. It is also possible to modify + // the penalty values; contact the MathJax user's forum for details. + // + linebreaks: { + + // + // This controls the automatic breaking of expressions: + // when false, only process linebreak="newline", + // when true, line breaks are inserted automatically in long expressions. + // + automatic: false, + + // + // This controls how wide the lines of mathematics can be + // + // Use an explicit width like "30em" for a fixed width. + // Use "container" to compute the size from the containing element. + // Use "nn% container" for a portion of the container. + // Use "nn%" for a portion of the window size. + // + // The container-based widths may be slower, and may not produce the + // expected results if the layout width changes due to the removal + // of previews or inclusion of mathematics during typesetting. + // + width: "container" + }, + + // + // This allows you to define or modify the styles used to display + // various math elements created by MathJax. + // + // Example: + // styles: { + // ".MathJax .merror": { + // color: "#CC0000", + // border: "1px solid #CC0000" + // } + // } + // + styles: {}, + + // + // Configuration for tooltips + // (see also the #MathJax_Tooltip CSS in MathJax/jax/output/HTML-CSS/config.js, + // which can be overridden using the styles values above). + // + tooltip: { + delayPost: 600, // milliseconds delay before tooltip is posted after mouseover + delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout + offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position + } + }, + + //============================================================================ + // + // These parameters control the NativeMML output jax. + // + NativeMML: { + + // + // This controls the global scaling of mathematics as compared to the + // surrounding text. Values between 100 and 133 are usually good choices. + // + scale: 100, + + // + // Don't allow the matching of math text to surrounding text to use a scaling + // factor smaller than this. + // + minScaleAdjust: 50, + + // This option indicates whether MathJax should try to correct the + // x-height of equations to match the size of the surrounding text. + matchFontHeight: true, + + // + // This allows you to define or modify the styles used to display + // various math elements created by MathJax. + // + // Example: + // styles: { + // ".MathJax_MathML": { + // color: "red" // MathML is in red + // } + // } + // + styles: {} + }, + + //============================================================================ + // + // These parameters control the SVG output jax. + // + "SVG": { + + // + // This controls the global scaling of mathematics as compared to the + // surrounding text. Values between 100 and 133 are usually good choices. + // + scale: 100, + + // + // Don't allow the matching of math text to surrounding text to use a scaling + // factor smaller than this. + // + minScaleAdjust: 50, + + // + // This specifies the font to use for SVG output (currently the only + // one available) + // + font: "TeX", + + // + // This is the stroke width to use for all character paths (1em = 1000 + // units). This is a cheap way of getting slightly lighter or darker + // characters + // + blacker: 10, + + // + // This is the font-family CSS value used for characters that are not + // in the selected font. IE will stop looking after the first font + // that exists on the system (even if it doesn't contain the needed + // character), so order these carefully. + // + undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif", + + // + // This setting controls whether elements will be typeset + // using the math fonts or the font of the surrounding text. When + // false, the mathvariant="normal" font will be used; when true, + // the font will be inherited from the surrounding paragraph. + // + mtextFontInherit: false, + + // + // This controls whether the MathML structure is retained and CSS + // classes are added to mark the original MathML elements (as in the + // HTML-CSS output). By default, the SVG output jax removes unneeded + // nesting in order to produce a more efficient markup, but if you + // want to use CSS to style the elements as if they were MathML, you + // might need to set this to true. + // + addMMLclasses: false, + + // + // These values control how "chunky" the display of mathematical + // expressions will be. + // + // EqnChunk is the number of equations that will be typeset before + // they appear on screen. Larger values make for less visual flicker + // as the equations are drawn, but also mean longer delays before the + // reader sees anything. + // + // EqChunkFactor is the factor by which the EqnChunk will grow after each + // chunk is displayed. + // + // EqChunkDelay is the time (in milliseconds) to delay between chunks + // (to allow the browser to respond to other user interaction). + // + // Set EqnChunk to 1, EqnChunkFactor to 1, and EwnChunkDelay to 10 to get + // the behavior from MathJax v1.1 and below. + // + EqnChunk: 50, + EqnChunkFactor: 1.5, + EqnChunkDelay: 100, + + // This option indicates whether MathJax should try to correct the + // x-height of equations to match the size of the surrounding text. + matchFontHeight: true, + + // + // These settings control automatic line breaking. It is off by + // default, so only explicit line breaks are performed (via + // linebreak="newline" attributes on and elements). To + // perform automatic line breaking on line expressions, set + // 'automatic' to 'true' below. The line breaks will be applied via a + // penalty-based heuristic, which does well, but isn't perfect. You + // might need to use linebreak="goodbreak" or linebreak="badbreak" by + // hand in order to get better effects. It is also possible to modify + // the penalty values; contact the MathJax user's forum for details. + // + linebreaks: { + + // + // This controls the automatic breaking of expressions: + // when false, only process linebreak="newline", + // when true, line breaks are inserted automatically in long expressions. + // + automatic: false, + + // + // This controls how wide the lines of mathematics can be + // + // Use an explicit width like "30em" for a fixed width. + // Use "container" to compute the size from the containing element. + // Use "nn% container" for a portion of the container. + // Use "nn%" for a portion of the window size. + // + // The container-based widths may be slower, and may not produce the + // expected results if the layout width changes due to the removal + // of previews or inclusion of mathematics during typesetting. + // + width: "container" + }, + + // + // These are the styles used for merror elements in SVG output. Note + // that only a limited number of style attributes are supported by + // SVG, but you can at least change the colors and borders. + // + // + merrorStyle: { + fontSize:"90%", color:"#C00", background:"#FF8", + border: "1px solid #C00", padding:"3px" + }, + + // + // This allows you to define or modify the styles used to display + // various math elements created by MathJax. + // + // Example: + // styles: { + // ".MathJax .merror": { + // color: "#CC0000", + // border: "1px solid #CC0000" + // } + // } + // + styles: {}, + + // + // Configuration for tooltips + // (see also the #MathJax_Tooltip CSS in MathJax/jax/output/SVG/config.js, + // which can be overridden using the styles values above). + // + tooltip: { + delayPost: 600, // milliseconds delay before tooltip is posted after mouseover + delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout + offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position + } + }, + + //============================================================================ + // + // These parameters control the contextual menus that are available on the + // mathematics within the page (provided the showMathMenu value is true above). + // + MathMenu: { + // + // This is the hover delay for the display of submenus in the + // contextual menu. When the mouse is still over a submenu label for + // this long, the menu will appear. (The menu also will appear if you + // click on the label.) It is in milliseconds. + // + delay: 150, + + // + // This is the URL for the MathJax Help menu item. + // + helpURL: "http://www.mathjax.org/help-v2/user/", + + // + // These control whether the "Math Renderer", "MathPlayer", "Font + // Preferences", "Contextual Menu", and "Discoverable" menu items will + // be displayed or not. + // + showRenderer: true, + showMathPlayer: true, + showFontMenu: false, + showContext: false, + showDiscoverable: false, + + // + // These are the settings for the Annotation menu. If the root has + // a child that contains one of the following annotation + // formats, the source will be available via the "Show Math As" menu. + // Each format has a list of possible encodings. + // + semanticsAnnotations: { + "TeX": ["TeX", "LaTeX", "application/x-tex"], + "StarMath": ["StarMath 5.0"], + "Maple": ["Maple"], + "ContentMathML": ["MathML-Content", "application/mathml-content+xml"], + "OpenMath": ["OpenMath"] + }, + + // + // These are the settings for the Show Source window. The initial + // width and height will be reset after the source is shown in an + // attempt to make the window fit the output better. + // + windowSettings: { + status: "no", toolbar: "no", locationbar: "no", menubar: "no", + directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes", + width: 100, height: 50 + }, + + // + // This allows you to change the CSS that controls the menu + // appearance. See the extensions/MathMenu.js file for details + // of the default settings. + // + styles: {} + + }, + + //============================================================================ + // + // These parameters control the contextual menus that are available on the + // mathematics within the page (provided the showMathMenu value is true above). + // + MathEvents: { + // + // This is the time required for the mouse to be held still over a + // typeset equation in order for it to count as a hover (used when the + // zoom trigger is "Hover"). It is in milliseconds. + // + hover: 500 + }, + + //============================================================================ + // + // These parameters control the MMLorHTML configuration file. + // NOTE: if you add MMLorHTML.js to the config array above, + // you must REMOVE the output jax from the jax array. + // + MMLorHTML: { + // + // The output jax that is to be preferred when both are possible + // (set to "MML" for native MathML, "HTML" for MathJax's HTML-CSS output jax). + // + prefer: { + MSIE: "MML", + Firefox: "HTML", + Opera: "HTML", + Safari: "HTML", + Chrome: "HTML", + other: "HTML" + } + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/default.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/local/local.js b/src/py/kaleido/vendor/Mathjax-2.7.5/config/local/local.js new file mode 100644 index 00000000..cf2c6780 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/config/local/local.js @@ -0,0 +1,40 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/config/local/local.js + * + * Include changes and configuration local to your installation + * in this file. For example, common macros can be defined here + * (see below). To use this file, add "local/local.js" to the + * config array in MathJax.js or your MathJax.Hub.Config() call. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX; + + // place macros here. E.g.: + // TEX.Macro("R","{\\bf R}"); + // TEX.Macro("op","\\mathop{\\rm #1}",1); // a macro with 1 parameter + +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/local/local.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/AssistiveMML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/AssistiveMML.js new file mode 100644 index 00000000..10b5af4e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/AssistiveMML.js @@ -0,0 +1,161 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/AssistiveMML.js + * + * Implements an extension that inserts hidden MathML into the + * page for screen readers or other asistive technology. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +(function (AJAX,CALLBACK,HUB,HTML) { + var SETTINGS = HUB.config.menuSettings; + + var AssistiveMML = MathJax.Extension["AssistiveMML"] = { + version: "2.7.5", + + config: HUB.CombineConfig("AssistiveMML",{ + disabled: false, + styles: { + ".MJX_Assistive_MathML": { + position:"absolute!important", + top: 0, left: 0, + clip: (HUB.Browser.isMSIE && (document.documentMode||0) < 8 ? + "rect(1px 1px 1px 1px)" : "rect(1px, 1px, 1px, 1px)"), + padding: "1px 0 0 0!important", + border: "0!important", + height: "1px!important", + width: "1px!important", + overflow: "hidden!important", + display:"block!important", + // + // Don't allow the assistive MathML become part of the selection + // + "-webkit-touch-callout": "none", + "-webkit-user-select": "none", + "-khtml-user-select": "none", + "-moz-user-select": "none", + "-ms-user-select": "none", + "user-select": "none" + }, + ".MJX_Assistive_MathML.MJX_Assistive_MathML_Block": { + width: "100%!important" + } + } + }), + + Config: function () { + if (!this.config.disabled && SETTINGS.assistiveMML == null) + HUB.Config({menuSettings:{assistiveMML:true}}); + AJAX.Styles(this.config.styles); + HUB.Register.MessageHook("End Math",function (msg) { + if (SETTINGS.assistiveMML) return AssistiveMML.AddAssistiveMathML(msg[1]) + }); + }, + + // + // This sets up a state object that lists the jax and index into the jax, + // and a dummy callback that is used to synchronizing with MathJax. + // It will be called when the jax are all processed, and that will + // let the MathJax queue continue (it will block until then). + // + AddAssistiveMathML: function (node) { + var state = { + jax: HUB.getAllJax(node), i: 0, + callback: MathJax.Callback({}) + }; + this.HandleMML(state); + return state.callback; + }, + + // + // This removes the data-mathml attribute and the assistive MathML from + // all the jax. + // + RemoveAssistiveMathML: function (node) { + var jax = HUB.getAllJax(node), frame; + for (var i = 0, m = jax.length; i < m; i++) { + frame = document.getElementById(jax[i].inputID+"-Frame"); + if (frame && frame.getAttribute("data-mathml")) { + frame.removeAttribute("data-mathml"); + if (frame.lastChild && frame.lastChild.className.match(/MJX_Assistive_MathML/)) + frame.removeChild(frame.lastChild); + } + } + }, + + // + // For each jax in the state, look up the frame. + // If the jax doesn't use NativeMML and hasn't already been handled: + // Get the MathML for the jax, taking resets into account. + // Add a data-mathml attribute to the frame, and + // Create a span that is not visible on screen and put the MathML in it, + // and add it to the frame. + // When all the jax are processed, call the callback. + // + HandleMML: function (state) { + var m = state.jax.length, jax, mml, frame, span; + while (state.i < m) { + jax = state.jax[state.i]; + frame = document.getElementById(jax.inputID+"-Frame"); + if (jax.outputJax !== "NativeMML" && jax.outputJax !== "PlainSource" && + frame && !frame.getAttribute("data-mathml")) { + try { + mml = jax.root.toMathML("").replace(/\n */g,"").replace(//g,""); + } catch (err) { + if (!err.restart) throw err; // an actual error + return MathJax.Callback.After(["HandleMML",this,state],err.restart); + } + frame.setAttribute("data-mathml",mml); + span = HTML.addElement(frame,"span",{ + isMathJax: true, unselectable: "on", + className: "MJX_Assistive_MathML" + + (jax.root.Get("display") === "block" ? " MJX_Assistive_MathML_Block" : "") + }); + try {span.innerHTML = mml} catch (err) {} + frame.style.position = "relative"; + frame.setAttribute("role","presentation"); + frame.firstChild.setAttribute("aria-hidden","true"); + span.setAttribute("role","presentation"); + } + state.i++; + } + state.callback(); + } + + }; + + HUB.Startup.signal.Post("AssistiveMML Ready"); + +})(MathJax.Ajax,MathJax.Callback,MathJax.Hub,MathJax.HTML); + +// +// Make sure the toMathML extension is loaded before we signal +// the load complete for this extension. Then wait for the end +// of the user configuration before configuring this extension. +// +MathJax.Callback.Queue( + ["Require",MathJax.Ajax,"[MathJax]/extensions/toMathML.js"], + ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/AssistiveMML.js"], + function () { + MathJax.Hub.Register.StartupHook("End Config",["Config",MathJax.Extension.AssistiveMML]); + } +); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/CHTML-preview.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/CHTML-preview.js new file mode 100644 index 00000000..f35a233e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/CHTML-preview.js @@ -0,0 +1,30 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/CHTML-preview.js + * + * Backward compatibility with old CHTML-preview extension. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2014-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Callback.Queue( + ["Require",MathJax.Ajax,"[MathJax]/extensions/fast-preview.js"], + ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/CHTML-preview.js"] +); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/FontWarnings.js new file mode 100644 index 00000000..99595293 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/FontWarnings.js @@ -0,0 +1,313 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/FontWarnings.js + * + * Implements a font warning message window that appears when + * the image fonts, no fonts, or web fonts are used, informing + * the user where to download the fonts, or to update to a more + * modern browser. The window will fade out automatically after + * a time, and the user can dismiss it by a close box. + * + * To include font warning messages, add "FontWarnings.js" to the + * extensions array in your MathJax configuration. + * + * You can customize the warning messages in a number of ways. Use the + * FontWarnings section of the configuration to specify any of the items + * shown in the CONFIG variable below. These include + * + * messageStyle the style to apply to the warning box that is + * displayed when MathJax uses one of its fallback + * methods. + * + * removeAfter the amount of time to show the warning message (in ms) + * fadeoutTime how long the message should take to fade out + * fadeoutSteps how many separate steps to use during the fade out + * (set to 0 to use no fadeout and simply remove the window) + * + * Messages stores the descriptions of the messages to use for the + * various warnings (webFonts, imageFonts, and noFonts). + * These are arrays of strings to be inserted into the window, + * or identifiers within brackets, which refer to the HTML + * snippets in the HTML section described below. To disable a + * specific message, set its value to null (see example below). + * + * HTML stores snippets of HTML descriptions for various + * common parts of the error messages. These include + * the closeBox, the message about web fonts being available + * in modern browser, and messages about downloadable fonts. + * The STIX and TeX font messages are used when only one + * of these is in the availableFonts list. The data for these + * are arrays of either strings to include or a description of + * an HTML item enclosed in square brackets. That description + * has (up to) three parts: the name of the tag to be included, + * a list (enclosed in braces) of attributes and their values + * to be set on the tag (optional), and an array of the contents + * of the tag (optional). See the definitions below for examples. + * + * For example, + * + * MathJax.Hub.Config({ + * ... + * extensions: ["FontWarnings.js"], + * FontWarnings: { + * removeAfter: 20*1000, // 20 seconds + * messageStyle: { + * border: "2px solid black", + * padding: "2em" + * }, + * Message: { + * webFont: null // no webfont messages (only image and no fonts) + * } + * } + * }); + * + * would extend the time the message is displayed from 12 seconds to 20, + * and changes the border to a solid black one, with 2em of padding + * rather than the default of 1em. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML) { + var VERSION = "2.7.5"; + + var STIXURL = "http://www.stixfonts.org/"; + var MATHJAXURL = "https://github.com/mathjax/MathJax/tree/master/fonts/HTML-CSS/TeX/otf"; + + var CONFIG = HUB.CombineConfig("FontWarnings",{ + // + // The CSS for the message window + // + messageStyle: { + position:"fixed", bottom:"4em", left:"3em", width:"40em", + border: "3px solid #880000", "background-color": "#E0E0E0", color: "black", + padding: "1em", "font-size":"small", "white-space":"normal", + + "border-radius": ".75em", // Opera 10.5 and IE9 + "-webkit-border-radius": ".75em", // Safari and Chrome + "-moz-border-radius": ".75em", // Firefox + "-khtml-border-radius": ".75em", // Konqueror + + "box-shadow": "4px 4px 10px #AAAAAA", // Opera 10.5 and IE9 + "-webkit-box-shadow": "4px 4px 10px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow": "4px 4px 10px #AAAAAA", // Forefox 3.5 + "-khtml-box-shadow": "4px 4px 10px #AAAAAA", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=3, OffY=3, Color='gray', Positive='true')" // IE + }, + + // + // The messages for the various situations + // + Message: { + + webFont: [ + ["closeBox"], + ["webFont", + "MathJax is using web-based fonts to display the mathematics "+ + "on this page. These take time to download, so the page would "+ + "render faster if you installed math fonts directly in your "+ + "system's font folder."], + ["fonts"] + ], + + imageFonts: [ + ["closeBox"], + ["imageFonts", + "MathJax is using its image fonts rather than local or web-based fonts. "+ + "This will render slower than usual, and the mathematics may not print "+ + "at the full resolution of your printer."], + ["fonts"], + ["webFonts"] + ], + + noFonts: [ + ["closeBox"], + ["noFonts", + "MathJax is unable to locate a font to use to display "+ + "its mathematics, and image fonts are not available, so it "+ + "is falling back on generic unicode characters in hopes that "+ + "your browser will be able to display them. Some characters "+ + "may not show up properly, or possibly not at all."], + ["fonts"], + ["webFonts"] + ] + }, + + // + // HTML objects that can be referred to in the message definitions + // + HTML: { + // + // The definition of the close box + // + closeBox: [[ + "div",{ + style: { + position:"absolute", overflow:"hidden", top:".1em", right:".1em", + border: "1px outset", width:"1em", height:"1em", + "text-align": "center", cursor: "pointer", + "background-color": "#EEEEEE", color:"#606060", + + "border-radius": ".5em", // Opera 10.5 + "-webkit-border-radius": ".5em", // Safari and Chrome + "-moz-border-radius": ".5em", // Firefox + "-khtml-border-radius": ".5em" // Konqueror + }, + onclick: function () { + if (DATA.div && DATA.fade === 0) + {if (DATA.timer) {clearTimeout(DATA.timer)}; DATA.div.style.display = "none"} + } + }, + [["span",{style:{position:"relative", bottom:".2em"}},["x"]]] + ]], + + webFonts: [ + ["p"], + ["webFonts", + "Most modern browsers allow for fonts to be downloaded over the web. "+ + "Updating to a more recent version of your browser (or changing "+ + "browsers) could improve the quality of the mathematics on this page." + ] + ], + + fonts: [ + ["p"], + ["fonts", + "MathJax can use either the [STIX fonts](%1) or the [MathJax TeX fonts](%2). " + + "Download and install one of those fonts to improve your MathJax experience.", + STIXURL,MATHJAXURL + ] + ], + + STIXfonts: [ + ["p"], + ["STIXPage", + "This page is designed to use the [STIX fonts](%1). " + + "Download and install those fonts to improve your MathJax experience.", + STIXURL + ] + ], + + TeXfonts: [ + ["p"], + ["TeXPage", + "This page is designed to use the [MathJax TeX fonts](%1). " + + "Download and install those fonts to improve your MathJax experience.", + MATHJAXURL + ] + ] + + }, + + removeAfter: 12*1000, // time to show message (in ms) + fadeoutSteps: 10, // fade-out steps + fadeoutTime: 1.5*1000 // fadeout over this amount of time (in ms) + + }); + if (MathJax.Hub.Browser.isIE9 && document.documentMode >= 9) + {delete CONFIG.messageStyle.filter} + + // + // Data for the window + // + var DATA = { + div: null, // the message window, when displayed + fade: 0 // number of fade-out steps so far + }; + + // + // Create the message window and start the fade-out timer + // + var CREATEMESSAGE = function (data) { + if (DATA.div) return; + var HTMLCSS = MathJax.OutputJax["HTML-CSS"], frame = document.body; + if (HUB.Browser.isMSIE) { + if (CONFIG.messageStyle.position === "fixed") { + MathJax.Message.Init(); // make sure MathJax_MSIE_frame exists + frame = document.getElementById("MathJax_MSIE_Frame") || frame; + if (frame !== document.body) {CONFIG.messageStyle.position = "absolute"} + } + } else {delete CONFIG.messageStyle.filter} + CONFIG.messageStyle.maxWidth = (document.body.clientWidth-75) + "px"; + var i = 0; while (i < data.length) { + if (MathJax.Object.isArray(data[i])) { + if (data[i].length === 1 && CONFIG.HTML[data[i][0]]) { + data.splice.apply(data,[i,1].concat(CONFIG.HTML[data[i][0]])); + } else if (typeof data[i][1] === "string") { + var message = MathJax.Localization.lookupPhrase(["FontWarnings",data[i][0]],data[i][1]); + message = MathJax.Localization.processMarkdown(message,data[i].slice(2),"FontWarnings"); + data.splice.apply(data,[i,1].concat(message)); + i += message.length; + } else {i++} + } else {i++} + } + DATA.div = HTMLCSS.addElement(frame,"div", + {id:"MathJax_FontWarning",style:CONFIG.messageStyle},data); + MathJax.Localization.setCSS(DATA.div); + if (CONFIG.removeAfter) { + HUB.Register.StartupHook("End",function () + {DATA.timer = setTimeout(FADEOUT,CONFIG.removeAfter)}); + } + HTML.Cookie.Set("fontWarn",{warned:true}); + }; + + // + // Set the opacity based on the number of steps taken so far + // and remove the window when it gets to 0 + // + var FADEOUT = function () { + DATA.fade++; if (DATA.timer) {delete DATA.timer} + if (DATA.fade < CONFIG.fadeoutSteps) { + var opacity = 1 - DATA.fade/CONFIG.fadeoutSteps; + DATA.div.style.opacity = opacity; + DATA.div.style.filter = "alpha(opacity="+Math.floor(100*opacity)+")"; + setTimeout(FADEOUT,CONFIG.fadeoutTime/CONFIG.fadeoutSteps); + } else { + DATA.div.style.display = "none"; + } + }; + + // + // Check that we haven't already issued a warning + // + if (!HTML.Cookie.Get("fontWarn").warned) { + // + // Hook into the Startup signal and look for font warning messages. + // When one comes, issue the correct message. + // + HUB.Startup.signal.Interest(function (message) { + if (message.match(/HTML-CSS Jax - /) && !DATA.div) { + var HTMLCSS = MathJax.OutputJax["HTML-CSS"], FONTS = HTMLCSS.config.availableFonts, MSG; + var localFonts = (FONTS && FONTS.length); + if (!localFonts) {CONFIG.HTML.fonts = [""]} + else if (FONTS.length === 1) {CONFIG.HTML.fonts = CONFIG.HTML[FONTS[0]+"fonts"]} + if (HTMLCSS.allowWebFonts) {CONFIG.HTML.webfonts = [""]} + if (message.match(/- Web-Font/)) {if (localFonts) {MSG = "webFont"}} + else if (message.match(/- using image fonts/)) {MSG = "imageFonts"} + else if (message.match(/- no valid font/)) {MSG = "noFonts"} + if (MSG && CONFIG.Message[MSG]) + {MathJax.Localization.loadDomain("FontWarnings",[CREATEMESSAGE,CONFIG.Message[MSG]])} + } + }); + } + +})(MathJax.Hub,MathJax.HTML); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HTML-CSS/handle-floats.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HTML-CSS/handle-floats.js new file mode 100644 index 00000000..01fdcec3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HTML-CSS/handle-floats.js @@ -0,0 +1,49 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/HTML-CSS/handle-floats.js + * + * This extension allows HTML-CSS output to deal with floating elements + * better. In particular, when there are tags or equation numbers, these + * would overlap floating elements, but with this extension, the width of + * the line should properly correspond to the amount of space remaining. + * + * To load it, include + * + * "HTML-CSS": { + * extensions: ["handle-floats.js"] + * } + * + * in your configuration. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2012-2018 The MathJax Consortium + * + * 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. + */ + + +MathJax.Extension["HTML-CSS/handle-floats"] = { + version: "2.7.5" +}; + +// +// This file is now obsolete, since the HTML-CSS output already handles +// floating elements properly. +// + +MathJax.Hub.Startup.signal.Post("HTML-CSS handle-floats Ready"); +MathJax.Ajax.loadComplete("[MathJax]/extensions/HTML-CSS/handle-floats.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HelpDialog.js new file mode 100644 index 00000000..4c6120ad --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HelpDialog.js @@ -0,0 +1,203 @@ +/************************************************************* + * + * MathJax/extensions/HelpDialog.js + * + * Implements the MathJax Help dialog box. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML,AJAX,OUTPUT,LOCALE) { + + var HELP = MathJax.Extension.Help = { + version: "2.7.5" + }; + + var STIXURL = "http://www.stixfonts.org/"; + var MENU = MathJax.Menu; + var FALSE, KEY; + HUB.Register.StartupHook("MathEvents Ready",function () { + FALSE = MathJax.Extension.MathEvents.Event.False; + KEY = MathJax.Extension.MathEvents.Event.KEY; + }); + + + var CONFIG = HUB.CombineConfig("HelpDialog",{ + + styles: { + "#MathJax_Help": { + position:"fixed", left:"50%", width:"auto", "max-width": "90%", "text-align":"center", + border:"3px outset", padding:"1em 2em", "background-color":"#DDDDDD", color:"black", + cursor: "default", "font-family":"message-box", "font-size":"120%", + "font-style":"normal", "text-indent":0, "text-transform":"none", + "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", + "word-wrap":"normal", "white-space":"wrap", "float":"none", "z-index":201, + + "border-radius": "15px", // Opera 10.5 and IE9 + "-webkit-border-radius": "15px", // Safari and Chrome + "-moz-border-radius": "15px", // Firefox + "-khtml-border-radius": "15px", // Konqueror + + "box-shadow":"0px 10px 20px #808080", // Opera 10.5 and IE9 + "-webkit-box-shadow":"0px 10px 20px #808080", // Safari 3 and Chrome + "-moz-box-shadow":"0px 10px 20px #808080", // Forefox 3.5 + "-khtml-box-shadow":"0px 10px 20px #808080", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE + }, + "#MathJax_Help.MathJax_MousePost": { + outline:"none" + }, + + "#MathJax_HelpContent": { + overflow:"auto", "text-align":"left", "font-size":"80%", + padding:".4em .6em", border:"1px inset", margin:"1em 0px", + "max-height":"20em", "max-width":"30em", "background-color":"#EEEEEE" + }, + + "#MathJax_HelpClose": { + position:"absolute", top:".2em", right:".2em", + cursor:"pointer", + display:"inline-block", + border:"2px solid #AAA", + "border-radius":"18px", + "-webkit-border-radius": "18px", // Safari and Chrome + "-moz-border-radius": "18px", // Firefox + "-khtml-border-radius": "18px", // Konqueror + "font-family":"'Courier New',Courier", + "font-size":"24px", + color:"#F0F0F0" + }, + "#MathJax_HelpClose span": { + display:"block", "background-color":"#AAA", border:"1.5px solid", + "border-radius":"18px", + "-webkit-border-radius": "18px", // Safari and Chrome + "-moz-border-radius": "18px", // Firefox + "-khtml-border-radius": "18px", // Konqueror + "line-height":0, + padding:"8px 0 6px" // may need to be browser-specific + }, + "#MathJax_HelpClose:hover": { + color:"white!important", + border:"2px solid #CCC!important" + }, + "#MathJax_HelpClose:hover span": { + "background-color":"#CCC!important" + }, + "#MathJax_HelpClose:hover:focus": { + outline:"none" + } + } + }); + + /* + * Handle the Help Dialog box + */ + HELP.Dialog = function (event) { + LOCALE.loadDomain("HelpDialog",["Post",HELP,event]); + }; + + HELP.Post = function (event) { + this.div = MENU.Background(this); + var help = HTML.addElement(this.div,"div",{ + id: "MathJax_Help", tabIndex: 0, onkeydown: HELP.Keydown + },LOCALE._("HelpDialog",[ + ["b",{style:{fontSize:"120%"}},[["Help","MathJax Help"]]], + ["div",{id: "MathJax_HelpContent", tabIndex: 0},[ + ["p",{},[["MathJax", + "*MathJax* is a JavaScript library that allows page authors to include " + + "mathematics within their web pages. As a reader, you don't need to do " + + "anything to make that happen."]] + ], + ["p",{},[["Browsers", + "*Browsers*: MathJax works with all modern browsers including IE6+, Firefox 3+, " + + "Chrome 0.2+, Safari 2+, Opera 9.6+ and most mobile browsers."]] + ], + ["p",{},[["Menu", + "*Math Menu*: MathJax adds a contextual menu to equations. Right-click or " + + "CTRL-click on any mathematics to access the menu."]] + ], + ["div",{style:{"margin-left":"1em"}},[ + ["p",{},[["ShowMath", + "*Show Math As* allows you to view the formula's source markup " + + "for copy & paste (as MathML or in its original format)."]] + ], + ["p",{},[["Settings", + "*Settings* gives you control over features of MathJax, such as the " + + "size of the mathematics, and the mechanism used to display equations."]] + ], + ["p",{},[["Language", + "*Language* lets you select the language used by MathJax for its menus " + + "and warning messages."]] + ], + ]], + ["p",{},[["Zoom", + "*Math Zoom*: If you are having difficulty reading an equation, MathJax can " + + "enlarge it to help you see it better."]] + ], + ["p",{},[["Accessibilty", + "*Accessibility*: MathJax will automatically work with screen readers to make " + + "mathematics accessible to the visually impaired."]] + ], + ["p",{},[["Fonts", + "*Fonts*: MathJax will use certain math fonts if they are installed on your " + + "computer; otherwise, it will use web-based fonts. Although not required, " + + "locally installed fonts will speed up typesetting. We suggest installing " + + "the [STIX fonts](%1).",STIXURL]] + ] + ]], + ["a",{href:"http://www.mathjax.org/"},["www.mathjax.org"]], + ["span",{id: "MathJax_HelpClose", onclick: HELP.Remove, + onkeydown: HELP.Keydown, tabIndex: 0, role: "button", + "aria-label": LOCALE._(["HelpDialog","CloseDialog"],"Close help dialog")}, + [["span",{},["\u00D7"]]] + ] + ])); + if (event.type === "mouseup") help.className += " MathJax_MousePost"; + help.focus(); + LOCALE.setCSS(help); + var doc = (document.documentElement||{}); + var H = window.innerHeight || doc.clientHeight || doc.scrollHeight || 0; + if (MENU.prototype.msieAboutBug) { + help.style.width = "20em"; help.style.position = "absolute"; + help.style.left = Math.floor((document.documentElement.scrollWidth - help.offsetWidth)/2)+"px"; + help.style.top = (Math.floor((H-help.offsetHeight)/3)+document.body.scrollTop)+"px"; + } else { + help.style.marginLeft = Math.floor(-help.offsetWidth/2)+"px"; + help.style.top = Math.floor((H-help.offsetHeight)/3)+"px"; + } + }; + HELP.Remove = function (event) { + if (HELP.div) {document.body.removeChild(HELP.div); delete HELP.div} + }; + HELP.Keydown = function(event) { + if (event.keyCode === KEY.ESCAPE || + (this.id === "MathJax_HelpClose" && + (event.keyCode === KEY.SPACE || event.keyCode === KEY.RETURN))) { + HELP.Remove(event); + MENU.CurrentNode().focus(); + FALSE(event); + } + }, + + MathJax.Callback.Queue( + HUB.Register.StartupHook("End Config",{}), // wait until config is complete + ["Styles",AJAX,CONFIG.styles], + ["Post",HUB.Startup.signal,"HelpDialog Ready"], + ["loadComplete",AJAX,"[MathJax]/extensions/HelpDialog.js"] + ); + +})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.OutputJax,MathJax.Localization); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MatchWebFonts.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MatchWebFonts.js new file mode 100644 index 00000000..8fd7cad7 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MatchWebFonts.js @@ -0,0 +1,309 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/MatchWebFonts.js + * + * Adds code to the output jax so that if web fonts are used on the page, + * MathJax will be able to detect their arrival and update the math to + * accommodate the change in font. For the NativeMML output, this works + * both for web fonts in main text, and for web fonts in the math as well. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,AJAX) { + var VERSION = "2.7.5"; + + var CONFIG = MathJax.Hub.CombineConfig("MatchWebFonts",{ + matchFor: { + "HTML-CSS": true, + NativeMML: true, + SVG: true + }, + fontCheckDelay: 500, // initial delay for the first check for web fonts + fontCheckTimeout: 15 * 1000, // how long to keep looking for fonts (15 seconds) + }); + + MathJax.Extension.MatchWebFonts = { + version: VERSION, + config: CONFIG + }; + + HUB.Register.StartupHook("HTML-CSS Jax Ready",function () { + var HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + var POSTTRANSLATE = HTMLCSS.postTranslate; + + HTMLCSS.Augment({ + postTranslate: function (state,partial) { + if (!partial && CONFIG.matchFor["HTML-CSS"] && this.config.matchFontHeight) { + // + // Check for changes in the web fonts that might affect the font + // size for math elements. This is a periodic check that goes on + // until a timeout is reached. + // + AJAX.timer.start(AJAX,["checkFonts",this,state.jax[this.id]], + CONFIG.fontCheckDelay,CONFIG.fontCheckTimeout); + } + return POSTTRANSLATE.apply(this,arguments); // do the original function + }, + + checkFonts: function (check,scripts) { + if (check.time(function () {})) return; + var size = [], i, m, retry = false; + // + // Add the elements used for testing ex and em sizes + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.insertBefore(this.EmExSpan.cloneNode(true),script); + } + } + // + // Check to see if anything has changed + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; retry = true; + var jax = script.MathJax.elementJax; if (!jax) continue; + // + // Check if ex or mex has changed + // + var test = script.previousSibling; + var ex = test.firstChild.offsetHeight/60; + var em = test.lastChild.lastChild.offsetHeight/60; + if (ex === 0 || ex === "NaN") {ex = this.defaultEx; em = this.defaultEm} + if (ex !== jax.HTMLCSS.ex || em !== jax.HTMLCSS.em) { + var scale = ex/this.TeX.x_height/em; + scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale)*this.config.scale); + if (scale/100 !== jax.scale) {size.push(script); scripts[i] = {}} + } + } + // + // Remove markers + // + scripts = scripts.concat(size); // some scripts have been moved to the size array + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script && script.parentNode && script.MathJax.elementJax) { + script.parentNode.removeChild(script.previousSibling); + } + } + // + // Rerender the changed items + // + if (size.length) {HUB.Queue(["Rerender",HUB,[size],{}])} + // + // Try again later + // + if (retry) {setTimeout(check,check.delay)} + } + }); + }); + + HUB.Register.StartupHook("SVG Jax Ready",function () { + var SVG = MathJax.OutputJax.SVG; + var POSTTRANSLATE = SVG.postTranslate; + + SVG.Augment({ + postTranslate: function (state,partial) { + if (!partial && CONFIG.matchFor.SVG) { + // + // Check for changes in the web fonts that might affect the font + // size for math elements. This is a periodic check that goes on + // until a timeout is reached. + // + AJAX.timer.start(AJAX,["checkFonts",this,state.jax[this.id]], + CONFIG.fontCheckDelay,CONFIG.fontCheckTimeout); + } + return POSTTRANSLATE.apply(this,arguments); // do the original function + }, + + checkFonts: function (check,scripts) { + if (check.time(function () {})) return; + var size = [], i, m, retry = false; + // + // Add the elements used for testing ex and em sizes + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.insertBefore(this.ExSpan.cloneNode(true),script); + } + } + // + // Check to see if anything has changed + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; retry = true; + var jax = script.MathJax.elementJax; if (!jax) continue; + // + // Check if ex or mex has changed + // + var test = script.previousSibling; + var ex = test.firstChild.offsetHeight/60; + if (ex === 0 || ex === "NaN") {ex = this.defaultEx} + if (ex !== jax.SVG.ex) {size.push(script); scripts[i] = {}} + } + // + // Remove markers + // + scripts = scripts.concat(size); // some scripts have been moved to the size array + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.removeChild(script.previousSibling); + } + } + // + // Rerender the changed items + // + if (size.length) {HUB.Queue(["Rerender",HUB,[size],{}])} + // + // Try again later (if not all the scripts are null) + // + + if (retry) setTimeout(check,check.delay); + } + }); + }); + + HUB.Register.StartupHook("NativeMML Jax Ready",function () { + var nMML = MathJax.OutputJax.NativeMML; + var POSTTRANSLATE = nMML.postTranslate; + + nMML.Augment({ + postTranslate: function (state) { + if (!HUB.Browser.isMSIE && CONFIG.matchFor.NativeMML) { + // + // Check for changes in the web fonts that might affect the sizes + // of math elements. This is a periodic check that goes on until + // a timeout is reached. + // + AJAX.timer.start(AJAX,["checkFonts",this,state.jax[this.id]], + CONFIG.fontCheckDelay,CONFIG.fontCheckTimeout); + } + POSTTRANSLATE.apply(this,arguments); // do the original routine + }, + + // + // Check to see if web fonts have been loaded that change the ex size + // of the surrounding font, the ex size within the math, or the widths + // of math elements. We do this by rechecking the ex and mex sizes + // (to see if the font scaling needs adjusting) and by checking the + // size of the inner mrow of math elements and mtd elements. The + // sizes of these have been stored in the NativeMML object of the + // element jax so that we can check for them here. + // + checkFonts: function (check,scripts) { + if (check.time(function () {})) return; + var adjust = [], mtd = [], size = [], i, m, script; + // + // Add the elements used for testing ex and em sizes + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.insertBefore(this.EmExSpan.cloneNode(true),script); + } + } + // + // Check to see if anything has changed + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + var jax = script.MathJax.elementJax; if (!jax) continue; + var span = document.getElementById(jax.inputID+"-Frame"); + var math = span.getElementsByTagName("math")[0]; if (!math) continue; + jax = jax.NativeMML; + // + // Check if ex or mex has changed + // + var test = script.previousSibling; + var ex = test.firstChild.offsetWidth/60; + var mex = test.lastChild.offsetWidth/60; + if (ex === 0 || ex === "NaN") {ex = this.defaultEx; mex = this.defaultMEx} + var newEx = (ex !== jax.ex); + if (newEx || mex != jax.mex) { + var scale = (this.config.matchFontHeight && mex > 1 ? ex/mex : 1); + scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale) * this.config.scale); + if (scale/100 !== jax.scale) {size.push([span.style,scale])} + jax.scale = scale/100; jax.fontScale = scale+"%"; jax.ex = ex; jax.mex = mex; + } + + // + // Check width of math elements + // + if ("scrollWidth" in jax && (newEx || jax.scrollWidth !== math.firstChild.scrollWidth)) { + jax.scrollWidth = math.firstChild.scrollWidth; + adjust.push([math.parentNode.style,jax.scrollWidth/jax.ex/jax.scale]); + } + // + // Check widths of mtd elements + // + if (math.MathJaxMtds) { + for (var j = 0, n = math.MathJaxMtds.length; j < n; j++) { + if (!math.MathJaxMtds[j].parentNode) continue; + if (newEx || math.MathJaxMtds[j].firstChild.scrollWidth !== jax.mtds[j]) { + jax.mtds[j] = math.MathJaxMtds[j].firstChild.scrollWidth; + mtd.push([math.MathJaxMtds[j],jax.mtds[j]/jax.ex]); + } + } + } + } + // + // Remove markers + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.removeChild(script.previousSibling); + } + } + // + // Adjust scaling factor + // + for (i = 0, m = size.length; i < m; i++) { + size[i][0].fontSize = size[i][1] + "%"; + } + // + // Adjust width of spans containing math elements that have changed + // + for (i = 0, m = adjust.length; i < m; i++) { + adjust[i][0].width = adjust[i][1].toFixed(3)+"ex"; + } + // + // Adjust widths of mtd elements that have changed + // + for (i = 0, m = mtd.length; i < m; i++) { + var style = mtd[i][0].getAttribute("style"); + style = style.replace(/(($|;)\s*min-width:).*?ex/,"$1 "+mtd[i][1].toFixed(3)+"ex"); + mtd[i][0].setAttribute("style",style); + } + // + // Try again later + // + setTimeout(check,check.delay); + } + }); + }); + + HUB.Startup.signal.Post("MatchWebFonts Extension Ready"); + AJAX.loadComplete("[MathJax]/extensions/MatchWebFonts.js"); + +})(MathJax.Hub,MathJax.Ajax); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathEvents.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathEvents.js new file mode 100644 index 00000000..a496b84e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathEvents.js @@ -0,0 +1,619 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/MathEvents.js + * + * Implements the event handlers needed by the output jax to perform + * menu, hover, and other events. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML,AJAX,CALLBACK,LOCALE,OUTPUT,INPUT) { + var VERSION = "2.7.5"; + + var EXTENSION = MathJax.Extension; + var ME = EXTENSION.MathEvents = {version: VERSION}; + + var SETTINGS = HUB.config.menuSettings; + + var CONFIG = { + hover: 500, // time required to be considered a hover + frame: { + x: 3.5, y: 5, // frame padding and + bwidth: 1, // frame border width (in pixels) + bcolor: "#A6D", // frame border color + hwidth: "15px", // haze width + hcolor: "#83A" // haze color + }, + button: { + x: -6, y: -3, // menu button offsets + wx: -2 // button offset for full-width equations + }, + fadeinInc: .2, // increment for fade-in + fadeoutInc: .05, // increment for fade-out + fadeDelay: 50, // delay between fade-in or fade-out steps + fadeoutStart: 400, // delay before fade-out after mouseout + fadeoutDelay: 15*1000, // delay before automatic fade-out + + styles: { + ".MathJax_Hover_Frame": { + "border-radius": ".25em", // Opera 10.5 and IE9 + "-webkit-border-radius": ".25em", // Safari and Chrome + "-moz-border-radius": ".25em", // Firefox + "-khtml-border-radius": ".25em", // Konqueror + + "box-shadow": "0px 0px 15px #83A", // Opera 10.5 and IE9 + "-webkit-box-shadow": "0px 0px 15px #83A", // Safari and Chrome + "-moz-box-shadow": "0px 0px 15px #83A", // Forefox + "-khtml-box-shadow": "0px 0px 15px #83A", // Konqueror + + border: "1px solid #A6D ! important", + display: "inline-block", position:"absolute" + }, + + ".MathJax_Menu_Button .MathJax_Hover_Arrow": { + position:"absolute", + cursor:"pointer", + display:"inline-block", + border:"2px solid #AAA", + "border-radius":"4px", + "-webkit-border-radius": "4px", // Safari and Chrome + "-moz-border-radius": "4px", // Firefox + "-khtml-border-radius": "4px", // Konqueror + "font-family":"'Courier New',Courier", + "font-size":"9px", + color:"#F0F0F0" + }, + ".MathJax_Menu_Button .MathJax_Hover_Arrow span": { + display:"block", + "background-color":"#AAA", + border:"1px solid", + "border-radius":"3px", + "line-height":0, + padding:"4px" + }, + ".MathJax_Hover_Arrow:hover": { + color:"white!important", + border:"2px solid #CCC!important" + }, + ".MathJax_Hover_Arrow:hover span": { + "background-color":"#CCC!important" + } + } + }; + + + // + // Common event-handling code + // + var EVENT = ME.Event = { + + LEFTBUTTON: 0, // the event.button value for left button + RIGHTBUTTON: 2, // the event.button value for right button + MENUKEY: "altKey", // the event value for alternate context menu + + /*************************************************************/ + /* + * Enum element for key codes. + */ + KEY: { + RETURN: 13, + ESCAPE: 27, + SPACE: 32, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40 + }, + + Mousedown: function (event) {return EVENT.Handler(event,"Mousedown",this)}, + Mouseup: function (event) {return EVENT.Handler(event,"Mouseup",this)}, + Mousemove: function (event) {return EVENT.Handler(event,"Mousemove",this)}, + Mouseover: function (event) {return EVENT.Handler(event,"Mouseover",this)}, + Mouseout: function (event) {return EVENT.Handler(event,"Mouseout",this)}, + Click: function (event) {return EVENT.Handler(event,"Click",this)}, + DblClick: function (event) {return EVENT.Handler(event,"DblClick",this)}, + Menu: function (event) {return EVENT.Handler(event,"ContextMenu",this)}, + + // + // Call the output jax's event handler or the zoom handler + // + Handler: function (event,type,math) { + if (AJAX.loadingMathMenu) {return EVENT.False(event)} + var jax = OUTPUT[math.jaxID]; + if (!event) {event = window.event} + event.isContextMenu = (type === "ContextMenu"); + if (jax[type]) {return jax[type](event,math)} + if (EXTENSION.MathZoom) {return EXTENSION.MathZoom.HandleEvent(event,type,math)} + }, + + // + // Try to cancel the event in every way we can + // + False: function (event) { + if (!event) {event = window.event} + if (event) { + if (event.preventDefault) {event.preventDefault()} else {event.returnValue = false} + if (event.stopPropagation) {event.stopPropagation()} + event.cancelBubble = true; + } + return false; + }, + + // + // Keydown event handler. Should only fire on Space key. + // + Keydown: function (event, math) { + if (!event) event = window.event; + if (event.keyCode === EVENT.KEY.SPACE) { + EVENT.ContextMenu(event, this); + }; + }, + + // + // Load the contextual menu code, if needed, and post the menu + // + ContextMenu: function (event,math,force) { + // + // Check if we are showing menus + // + var JAX = OUTPUT[math.jaxID], jax = JAX.getJaxFromMath(math); + var show = (JAX.config.showMathMenu != null ? JAX : HUB).config.showMathMenu; + if (!show || (SETTINGS.context !== "MathJax" && !force)) return; + + // + // Remove selections, remove hover fades + // + if (ME.msieEventBug) {event = window.event || event} + EVENT.ClearSelection(); HOVER.ClearHoverTimer(); + if (jax.hover) { + if (jax.hover.remove) {clearTimeout(jax.hover.remove); delete jax.hover.remove} + jax.hover.nofade = true; + } + + // + // If the menu code is loaded, + // Check if localization needs loading; + // If not, post the menu, and return. + // Otherwise wait for the localization to load + // Otherwse load the menu code. + // Try again after the file is loaded. + // + var MENU = MathJax.Menu; var load, fn; + if (MENU) { + if (MENU.loadingDomain) {return EVENT.False(event)} + load = LOCALE.loadDomain("MathMenu"); + if (!load) { + MENU.jax = jax; + var source = MENU.menu.Find("Show Math As").submenu; + source.items[0].name = jax.sourceMenuTitle; + source.items[0].format = (jax.sourceMenuFormat||"MathML"); + source.items[1].name = INPUT[jax.inputJax].sourceMenuTitle; + source.items[5].disabled = !INPUT[jax.inputJax].annotationEncoding; + + // + // Try and find each known annotation format and enable the menu + // items accordingly. + // + var annotations = source.items[2]; annotations.disabled = true; + var annotationItems = annotations.submenu.items; + annotationList = MathJax.Hub.Config.semanticsAnnotations; + for (var i = 0, m = annotationItems.length; i < m; i++) { + var name = annotationItems[i].name[1] + if (jax.root && jax.root.getAnnotation(name) !== null) { + annotations.disabled = false; + annotationItems[i].hidden = false; + } else { + annotationItems[i].hidden = true; + } + } + + var MathPlayer = MENU.menu.Find("Math Settings","MathPlayer"); + MathPlayer.hidden = !(jax.outputJax === "NativeMML" && HUB.Browser.hasMathPlayer); + return MENU.menu.Post(event); + } + MENU.loadingDomain = true; + fn = function () {delete MENU.loadingDomain}; + } else { + if (AJAX.loadingMathMenu) {return EVENT.False(event)} + AJAX.loadingMathMenu = true; + load = AJAX.Require("[MathJax]/extensions/MathMenu.js"); + fn = function () { + delete AJAX.loadingMathMenu; + if (!MathJax.Menu) {MathJax.Menu = {}} + } + } + var ev = { + pageX:event.pageX, pageY:event.pageY, + clientX:event.clientX, clientY:event.clientY + }; + CALLBACK.Queue( + load, fn, // load the file and delete the marker when done + ["ContextMenu",EVENT,ev,math,force] // call this function again + ); + return EVENT.False(event); + }, + + // + // Mousedown handler for alternate means of accessing menu + // + AltContextMenu: function (event,math) { + var JAX = OUTPUT[math.jaxID]; + var show = (JAX.config.showMathMenu != null ? JAX : HUB).config.showMathMenu; + if (show) { + show = (JAX.config.showMathMenuMSIE != null ? JAX : HUB).config.showMathMenuMSIE; + if (SETTINGS.context === "MathJax" && !SETTINGS.mpContext && show) { + if (!ME.noContextMenuBug || event.button !== EVENT.RIGHTBUTTON) return; + } else { + if (!event[EVENT.MENUKEY] || event.button !== EVENT.LEFTBUTTON) return; + } + return JAX.ContextMenu(event,math,true); + } + }, + + ClearSelection: function () { + if (ME.safariContextMenuBug) {setTimeout("window.getSelection().empty()",0)} + if (document.selection) {setTimeout("document.selection.empty()",0)} + }, + + getBBox: function (span) { + span.appendChild(ME.topImg); + var h = ME.topImg.offsetTop, d = span.offsetHeight-h, w = span.offsetWidth; + span.removeChild(ME.topImg); + return {w:w, h:h, d:d}; + } + + }; + + // + // Handle hover "discoverability" + // + var HOVER = ME.Hover = { + + // + // Check if we are moving from a non-MathJax element to a MathJax one + // and either start fading in again (if it is fading out) or start the + // timer for the hover + // + Mouseover: function (event,math) { + if (SETTINGS.discoverable || SETTINGS.zoom === "Hover") { + var from = event.fromElement || event.relatedTarget, + to = event.toElement || event.target; + if (from && to && (HUB.isMathJaxNode(from) !== HUB.isMathJaxNode(to) || + HUB.getJaxFor(from) !== HUB.getJaxFor(to))) { + var jax = this.getJaxFromMath(math); + if (jax.hover) {HOVER.ReHover(jax)} else {HOVER.HoverTimer(jax,math)} + return EVENT.False(event); + } + } + }, + // + // Check if we are moving from a MathJax element to a non-MathJax one + // and either start fading out, or clear the timer if we haven't + // hovered yet + // + Mouseout: function (event,math) { + if (SETTINGS.discoverable || SETTINGS.zoom === "Hover") { + var from = event.fromElement || event.relatedTarget, + to = event.toElement || event.target; + if (from && to && (HUB.isMathJaxNode(from) !== HUB.isMathJaxNode(to) || + HUB.getJaxFor(from) !== HUB.getJaxFor(to))) { + var jax = this.getJaxFromMath(math); + if (jax.hover) {HOVER.UnHover(jax)} else {HOVER.ClearHoverTimer()} + return EVENT.False(event); + } + } + }, + // + // Restart hover timer if the mouse moves + // + Mousemove: function (event,math) { + if (SETTINGS.discoverable || SETTINGS.zoom === "Hover") { + var jax = this.getJaxFromMath(math); if (jax.hover) return; + if (HOVER.lastX == event.clientX && HOVER.lastY == event.clientY) return; + HOVER.lastX = event.clientX; HOVER.lastY = event.clientY; + HOVER.HoverTimer(jax,math); + return EVENT.False(event); + } + }, + + // + // Clear the old timer and start a new one + // + HoverTimer: function (jax,math) { + this.ClearHoverTimer(); + this.hoverTimer = setTimeout(CALLBACK(["Hover",this,jax,math]),CONFIG.hover); + }, + ClearHoverTimer: function () { + if (this.hoverTimer) {clearTimeout(this.hoverTimer); delete this.hoverTimer} + }, + + // + // Handle putting up the hover frame + // + Hover: function (jax,math) { + // + // Check if Zoom handles the hover event + // + if (EXTENSION.MathZoom && EXTENSION.MathZoom.Hover({},math)) return; + // + // Get the hover data + // + var JAX = OUTPUT[jax.outputJax], + span = JAX.getHoverSpan(jax,math), + bbox = JAX.getHoverBBox(jax,span,math), + show = (JAX.config.showMathMenu != null ? JAX : HUB).config.showMathMenu; + var dx = CONFIG.frame.x, dy = CONFIG.frame.y, dd = CONFIG.frame.bwidth; // frame size + if (ME.msieBorderWidthBug) {dd = 0} + jax.hover = {opacity:0, id:jax.inputID+"-Hover"}; + // + // The frame and menu button + // + var frame = HTML.Element("span",{ + id:jax.hover.id, isMathJax: true, + style:{display:"inline-block", width:0, height:0, position:"relative"} + },[["span",{ + className:"MathJax_Hover_Frame", isMathJax: true, + style:{ + display:"inline-block", position:"absolute", + top:this.Px(-bbox.h-dy-dd-(bbox.y||0)), left:this.Px(-dx-dd+(bbox.x||0)), + width:this.Px(bbox.w+2*dx), height:this.Px(bbox.h+bbox.d+2*dy), + opacity:0, filter:"alpha(opacity=0)" + }} + ]] + ); + var button = HTML.Element("span",{ + isMathJax: true, id:jax.hover.id+"Menu", className:"MathJax_Menu_Button", + style:{display:"inline-block", "z-index": 1, width:0, height:0, position:"relative"} + },[["span",{ + className: "MathJax_Hover_Arrow", isMathJax: true, math: math, + onclick: this.HoverMenu, jax:JAX.id, + style: { + left:this.Px(bbox.w+dx+dd+(bbox.x||0)+CONFIG.button.x), + top:this.Px(-bbox.h-dy-dd-(bbox.y||0)-CONFIG.button.y), + opacity:0, filter:"alpha(opacity=0)" + } + },[["span",{isMathJax:true},"\u25BC"]]]] + ); + if (bbox.width) { + frame.style.width = button.style.width = bbox.width; + frame.style.marginRight = button.style.marginRight = "-"+bbox.width; + frame.firstChild.style.width = bbox.width; + button.firstChild.style.left = ""; + button.firstChild.style.right = this.Px(CONFIG.button.wx); + } + // + // Add the frame and button + // + span.parentNode.insertBefore(frame,span); + if (show) {span.parentNode.insertBefore(button,span)} + if (span.style) {span.style.position = "relative"} // so math is on top of hover frame + // + // Start the hover fade-in + // + this.ReHover(jax); + }, + // + // Restart the hover fade in and fade-out timers + // + ReHover: function (jax) { + if (jax.hover.remove) {clearTimeout(jax.hover.remove)} + jax.hover.remove = setTimeout(CALLBACK(["UnHover",this,jax]),CONFIG.fadeoutDelay); + this.HoverFadeTimer(jax,CONFIG.fadeinInc); + }, + // + // Start the fade-out + // + UnHover: function (jax) { + if (!jax.hover.nofade) {this.HoverFadeTimer(jax,-CONFIG.fadeoutInc,CONFIG.fadeoutStart)} + }, + // + // Handle the fade-in and fade-out + // + HoverFade: function (jax) { + delete jax.hover.timer; + jax.hover.opacity = Math.max(0,Math.min(1,jax.hover.opacity + jax.hover.inc)); + jax.hover.opacity = Math.floor(1000*jax.hover.opacity)/1000; + var frame = document.getElementById(jax.hover.id), + button = document.getElementById(jax.hover.id+"Menu"); + frame.firstChild.style.opacity = jax.hover.opacity; + frame.firstChild.style.filter = "alpha(opacity="+Math.floor(100*jax.hover.opacity)+")"; + if (button) { + button.firstChild.style.opacity = jax.hover.opacity; + button.firstChild.style.filter = frame.style.filter; + } + if (jax.hover.opacity === 1) {return} + if (jax.hover.opacity > 0) {this.HoverFadeTimer(jax,jax.hover.inc); return} + frame.parentNode.removeChild(frame); + if (button) {button.parentNode.removeChild(button)} + if (jax.hover.remove) {clearTimeout(jax.hover.remove)} + delete jax.hover; + }, + // + // Set the fade to in or out (via inc) and start the timer, if needed + // + HoverFadeTimer: function (jax,inc,delay) { + jax.hover.inc = inc; + if (!jax.hover.timer) { + jax.hover.timer = setTimeout(CALLBACK(["HoverFade",this,jax]),(delay||CONFIG.fadeDelay)); + } + }, + + // + // Handle a click on the menu button + // + HoverMenu: function (event) { + if (!event) {event = window.event} + return OUTPUT[this.jax].ContextMenu(event,this.math,true); + }, + + // + // Clear all hover timers + // + ClearHover: function (jax) { + if (jax.hover.remove) {clearTimeout(jax.hover.remove)} + if (jax.hover.timer) {clearTimeout(jax.hover.timer)} + HOVER.ClearHoverTimer(); + delete jax.hover; + }, + + // + // Make a measurement in pixels + // + Px: function (m) { + if (Math.abs(m) < .006) {return "0px"} + return m.toFixed(2).replace(/\.?0+$/,"") + "px"; + }, + + // + // Preload images so they show up with the menu + // + getImages: function () { + if (SETTINGS.discoverable) { + var menu = new Image(); + menu.src = CONFIG.button.src; + } + } + + }; + + // + // Handle touch events. + // + // Use double-tap-and-hold as a replacement for context menu event. + // Use double-tap as a replacement for double click. + // + var TOUCH = ME.Touch = { + + last: 0, // time of last tap event + delay: 500, // delay time for double-click + + // + // Check if this is a double-tap, and if so, start the timer + // for the double-tap and hold (to trigger the contextual menu) + // + start: function (event) { + var now = new Date().getTime(); + var dblTap = (now - TOUCH.last < TOUCH.delay && TOUCH.up); + TOUCH.last = now; TOUCH.up = false; + if (dblTap) { + TOUCH.timeout = setTimeout(TOUCH.menu,TOUCH.delay,event,this); + event.preventDefault(); + } + }, + + // + // Check if there is a timeout pending, i.e., we have a + // double-tap and were waiting to see if it is held long + // enough for the menu. Since we got the end before the + // timeout, it is a double-click, not a double-tap-and-hold. + // Prevent the default action and issue a double click. + // + end: function (event) { + var now = new Date().getTime(); + TOUCH.up = (now - TOUCH.last < TOUCH.delay); + if (TOUCH.timeout) { + clearTimeout(TOUCH.timeout); + delete TOUCH.timeout; TOUCH.last = 0; TOUCH.up = false; + event.preventDefault(); + return EVENT.Handler((event.touches[0]||event.touch),"DblClick",this); + } + }, + + // + // If the timeout passes without an end event, we issue + // the contextual menu event. + // + menu: function (event,math) { + delete TOUCH.timeout; TOUCH.last = 0; TOUCH.up = false; + return EVENT.Handler((event.touches[0]||event.touch),"ContextMenu",math); + } + + }; + + /* + * // + * // Mobile screens are small, so use larger version of arrow + * // + * if (HUB.Browser.isMobile) { + * var arrow = CONFIG.styles[".MathJax_Hover_Arrow"]; + * arrow.width = "25px"; arrow.height = "18px"; + * CONFIG.button.x = -6; + * } + */ + + // + // Set up browser-specific values + // + HUB.Browser.Select({ + MSIE: function (browser) { + var mode = (document.documentMode || 0); + var isIE8 = browser.versionAtLeast("8.0"); + ME.msieBorderWidthBug = (document.compatMode === "BackCompat"); // borders are inside offsetWidth/Height + ME.msieEventBug = browser.isIE9; // must get event from window even though event is passed + ME.msieAlignBug = (!isIE8 || mode < 8); // inline-block spans don't rest on baseline + if (mode < 9) {EVENT.LEFTBUTTON = 1} // IE < 9 has wrong event.button values + }, + Safari: function (browser) { + ME.safariContextMenuBug = true; // selection can be started by contextmenu event + }, + Opera: function (browser) { + ME.operaPositionBug = true; // position is wrong unless border is used + }, + Konqueror: function (browser) { + ME.noContextMenuBug = true; // doesn't produce contextmenu event + } + }); + + // + // Used in measuring zoom and hover positions + // + ME.topImg = (ME.msieAlignBug ? + HTML.Element("img",{style:{width:0,height:0,position:"relative"},src:"about:blank"}) : + HTML.Element("span",{style:{width:0,height:0,display:"inline-block"}}) + ); + if (ME.operaPositionBug) {ME.topImg.style.border="1px solid"} + + // + // Get configuration from user + // + ME.config = CONFIG = HUB.CombineConfig("MathEvents",CONFIG); + var SETFRAME = function () { + var haze = CONFIG.styles[".MathJax_Hover_Frame"]; + haze.border = CONFIG.frame.bwidth+"px solid "+CONFIG.frame.bcolor+" ! important"; + haze["box-shadow"] = haze["-webkit-box-shadow"] = + haze["-moz-box-shadow"] = haze["-khtml-box-shadow"] = + "0px 0px "+CONFIG.frame.hwidth+" "+CONFIG.frame.hcolor; + }; + + // + // Queue the events needed for startup + // + CALLBACK.Queue( + HUB.Register.StartupHook("End Config",{}), // wait until config is complete + [SETFRAME], + ["getImages",HOVER], + ["Styles",AJAX,CONFIG.styles], + ["Post",HUB.Startup.signal,"MathEvents Ready"], + ["loadComplete",AJAX,"[MathJax]/extensions/MathEvents.js"] + ); + +})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.Callback, + MathJax.Localization,MathJax.OutputJax,MathJax.InputJax); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathML/content-mathml.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathML/content-mathml.js new file mode 100644 index 00000000..a527abda --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathML/content-mathml.js @@ -0,0 +1,1743 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/MathML/content-mathml.js + * + * This file provides methods to convert Content-MathML to + * Presentation MathML for processing by MathJax. The transform is + * performed in a DOM filter for the MathML input jax, so that the + * Show Math As menu will still show the Original MathML as Content MathML, + * but the Presentation MathML can be obtained from the main MathML menu. + * + * To load it, include + * + * MathML: { + * extensions: ["content-mathml.js"] + * } + * + * in your configuration. + * + * A portion of this file is taken from ctop.js which is + * Copyright (c) David Carlisle 2001, 2002, 2008, 2009, 2013, + * and is used by permission of David Carlisle, who has agreed to allow us + * to release it under the Apache2 license (see below). That portion is + * indicated via comments. + * + * The remainder falls under the copyright that follows. + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + + +MathJax.Extension["MathML/content-mathml"] = (function(HUB) { + /* + * Content MathML to Presentation MathML conversion + * + * based on David Carlisle's ctop.js - https://web-xslt.googlecode.com/svn/trunk/ctop/ctop.js + * + */ + + + var isMSIE = HUB.Browser.isMSIE; + + if (isMSIE) { + try {document.namespaces.add("m","http://www.w3.org/1998/Math/MathML")} catch (err) {} + } + + var CONFIG = HUB.CombineConfig("MathML.content-mathml",{ + // render `a+(-b)` as `a-b`? + collapsePlusMinus: true, + + /* mathvariant to use with corresponding type attribute */ + cistyles: { + vector: 'bold-italic', + matrix: 'bold-upright' + }, + + /* Symbol names to translate to characters + */ + symbols: { + gamma: '\u03B3' + } + + }); + + var CToP = { + version: "2.7.5", + settings: CONFIG, + + /* Transform the given elements from Content MathML to Presentation MathML and replace the original elements + */ + transformElements: function(elements) { + for (var i = 0, l = elements.length; i= 0) element = CToP.cloneNode(element,true); // removes namespaces + var mathNode = CToP.cloneNode(element); + for (var j = 0, l = element.childNodes.length; jn instead of -n + // + element.appendChild(document.createTextNode(textContent.substr(1))); + var mrow = CToP.createElement('mrow'); + CToP.appendToken(mrow,'mo','\u2212'); + mrow.appendChild(element); + element = mrow; + } else { + element.appendChild(document.createTextNode(textContent)); + } + parentNode.appendChild(element); + return element; + }, + + /* Transform a Content MathML node to Presentation MathML node(s), and attach it to the parent + */ + applyTransform: function(parentNode,contentMMLNode,precedence) { + if (!contentMMLNode) { + var merror = CToP.createElement('merror'); + CToP.appendToken(merror,'mtext','Missing child node'); + parentNode.appendChild(merror); + return; + } + var nodeName = contentMMLNode.nodeName.replace(/.*:/,''); + if (contentMMLNode.nodeType === 1) { + if (CToP.tokens[nodeName]) { + CToP.tokens[nodeName](parentNode,contentMMLNode,precedence); + } else if (contentMMLNode.childNodes.length === 0) { + var mml = CToP.MML[nodeName]; + if (mml && mml.isa && mml.isa(CToP.mbase)) { + parentNode.appendChild(CToP.cloneNode(contentMMLNode)); + } else { + CToP.appendToken(parentNode,'mi',nodeName); + } + } else { + var clonedChild = CToP.cloneNode(contentMMLNode); + parentNode.appendChild(clonedChild); + for (var j = 0, l = contentMMLNode.childNodes.length; j1) { + CToP.applyTransform(mrow,args[0],tokenPrecedence); + } + CToP.appendToken(mrow,'mo',name); + if (args.length>0) { + var z = args[(args.length === 1)?0:1]; + CToP.applyTransform(mrow,z,tokenPrecedence); + } + if (needsBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + parentNode.appendChild(mrow); + } + }, + + /* Transform an infix operator + * + * (function factory) + */ + infix: function(name,tokenPrecedence) { + return function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + var needsBrackets = precedence>tokenPrecedence; + if (needsBrackets) { + CToP.appendToken(mrow,'mo','('); + } + for (var j = 0, l = args.length; j0) { + CToP.appendToken(mrow,'mo',name); + } + CToP.applyTransform(mrow,args[j],tokenPrecedence); + } + if (needsBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + parentNode.appendChild(mrow); + } + }, + + /* Transform an iterated operation, e.g. summation + * + * (function factory + */ + iteration: function(name,limitSymbol) { + return function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + var mo = CToP.createElement('mo'); + CToP.setTextContent(mo,name); + var munderover = CToP.createElement('munderover'); + munderover.appendChild(mo); + var mrow1 = CToP.createElement('mrow'); + var i, j, num_qualifiers, num_bvars, children, bvar, num_children, num_args; + for (i = 0, num_qualifiers = qualifiers.length; i',1), + lt: CToP.transforms.infix('<',1), + geq: CToP.transforms.infix('\u2265',1), + leq: CToP.transforms.infix('\u2264',1), + equivalent: CToP.transforms.infix('\u2261',1), + approx: CToP.transforms.infix('\u2248',1), + subset: CToP.transforms.infix('\u2286',2), + prsubset: CToP.transforms.infix('\u2282',2), + cartesianproduct: CToP.transforms.infix('\u00D7',2), + "cartesian_product": CToP.transforms.infix('\u00D7',2), + vectorproduct: CToP.transforms.infix('\u00D7',2), + scalarproduct: CToP.transforms.infix('.',2), + outerproduct: CToP.transforms.infix('\u2297',2), + sum: CToP.transforms.iteration('\u2211','='), + product: CToP.transforms.iteration('\u220F','='), + forall: CToP.transforms.bind('\u2200','.',','), + exists: CToP.transforms.bind('\u2203','.',','), + lambda: CToP.transforms.bind('\u03BB','.',','), + limit: CToP.transforms.iteration('lim','\u2192'), + sdev: CToP.transforms.fn('\u03c3'), + determinant: CToP.transforms.fn('det'), + max: CToP.transforms.minmax('max'), + min: CToP.transforms.minmax('min'), + real: CToP.transforms.fn('\u211b'), + imaginary: CToP.transforms.fn('\u2111'), + set: CToP.transforms.set('{','}'), + list: CToP.transforms.set('(',')'), + + exp: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var msup = CToP.createElement('msup'); + CToP.appendToken(msup,'mi','e'); + CToP.applyTransform(msup,args[0],0); + parentNode.appendChild(msup); + }, + + union: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (bvars.length) { + CToP.transforms.iteration('\u22C3','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } else { + CToP.transforms.infix('\u222A',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } + }, + + intersect: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (bvars.length) { + CToP.transforms.iteration('\u22C2','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } else { + var mrow = CToP.createElement('mrow'); + var needsBrackets = precedence>2; + if (needsBrackets) { + CToP.appendToken(mrow,'mo','('); + } + for (var j = 0, l = args.length; j0) { + CToP.appendToken(mrow,'mo','\u2229'); + if (args[j].nodeName === 'apply') { + var child = CToP.getChildren(args[j])[0]; + argBrackets = child.nodeName === 'union'; + } + } + if (argBrackets) { + CToP.appendToken(mrow,'mo','('); + } + CToP.applyTransform(mrow,args[j],2); + if (argBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + } + if (needsBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + parentNode.appendChild(mrow); + } + }, + + floor: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + CToP.appendToken(mrow,'mo','\u230a'); + CToP.applyTransform(mrow,args[0],0); + CToP.appendToken(mrow,'mo','\u230b'); + parentNode.appendChild(mrow); + }, + + conjugate: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mover = CToP.createElement('mover'); + CToP.applyTransform(mover,args[0],0); + CToP.appendToken(mover,'mo','\u00af'); + parentNode.appendChild(mover); + }, + + abs: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + CToP.appendToken(mrow,'mo','|'); + CToP.applyTransform(mrow,args[0],0); + CToP.appendToken(mrow,'mo','|'); + parentNode.appendChild(mrow); + }, + + and: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (bvars.length || qualifiers.length) { + CToP.transforms.iteration('\u22c0','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,4); + } else { + CToP.transforms.infix('\u2227',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } + }, + + or: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (bvars.length || qualifiers.length) { + CToP.transforms.iteration('\u22c1','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,4); + } else { + CToP.transforms.infix('\u2228',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } + }, + + xor: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (bvars.length || qualifiers.length) { + CToP.transforms.iteration('xor','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,4); + } else { + CToP.transforms.infix('xor',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } + }, + + card: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + CToP.appendToken(mrow,'mo','|'); + CToP.applyTransform(mrow,args[0],0); + CToP.appendToken(mrow,'mo','|'); + parentNode.appendChild(mrow); + }, + + mean: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (args.length === 1) { + var mover = CToP.createElement('mover'); + CToP.applyTransform(mover,args[0],0); + CToP.appendToken(mover,'mo','\u00af'); + parentNode.appendChild(mover); + } else { + parentNode.appendChild(CToP.createmfenced(args,'\u27e8','\u27e9')); + } + }, + + moment: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var degree, momentabout, children, i, j, l; + + for (i = 0, l = qualifiers.length; i1) { + argrow.appendChild(CToP.createmfenced(args,'(',')')); + } else { + CToP.applyTransform(argrow,args[0],0); + } + if (degree) { + var msup = CToP.createElement('msup'); + msup.appendChild(argrow); + children = CToP.getChildren(degree); + for (j = 0, l = children.length; j3; + if (needsBrackets) { + CToP.appendToken(mrow,'mo','('); + } + for (var j = 0, l = args.length; j0) { + CToP.appendToken(mrow,'mo',(args[j].nodeName === 'cn') ? "\u00D7" :"\u2062"); + } + CToP.applyTransform(mrow,args[j],3); + } + if (needsBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + parentNode.appendChild(mrow); + }, + + plus: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + var needsBrackets = precedence>2; + if (needsBrackets) { + CToP.appendToken(mrow,'mo','('); + } + for (var j = 0, l = args.length; j0) { + var n; + if (CToP.settings.collapsePlusMinus) { + if (arg.nodeName === 'cn' && !(children.length) && (n = Number(CToP.getTextContent(arg))) <0) { + CToP.appendToken(mrow,'mo','\u2212'); + CToP.appendToken(mrow,'mn', -n); + } else if (arg.nodeName === 'apply' && children.length === 2 && children[0].nodeName === 'minus') { + CToP.appendToken(mrow,'mo','\u2212'); + CToP.applyTransform(mrow,children[1],2); + } else if (arg.nodeName === 'apply' && children.length>2 && children[0].nodeName === 'times' && children[1].nodeName === 'cn' && (n = Number(CToP.getTextContent(children[1]))) < 0) { + CToP.appendToken(mrow,'mo','\u2212'); + children[1].textContent = -n; // OK to change MathML since it is being discarded afterward + CToP.applyTransform(mrow,arg,2); + } else{ + CToP.appendToken(mrow,'mo','+'); + CToP.applyTransform(mrow,arg,2); + } + } else { + CToP.appendToken(mrow,'mo','+'); + CToP.applyTransform(mrow,arg,2); + } + } else { + CToP.applyTransform(mrow,arg,2); + } + } + if (needsBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + parentNode.appendChild(mrow); + }, + + transpose: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var msup = CToP.createElement('msup'); + CToP.applyTransform(msup,args[0],precedence); + CToP.appendToken(msup,'mi','T'); + parentNode.appendChild(msup); + }, + + power: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var msup = CToP.createElement('msup'); + CToP.applyTransform(msup,args[0],3); + CToP.applyTransform(msup,args[1],precedence); + parentNode.appendChild(msup); + }, + + selector: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var msub = CToP.createElement('msub'); + var mrow = args ? args[0]: CToP.createElement('mrow'); + CToP.applyTransform(msub,mrow,0); + var mrow2 = CToP.createElement('mrow'); + for (var i = 1, l = args.length; i1) { + CToP.applyTransform(mrow,args[1],0); + } + } + CToP.appendToken(mrow,'mo','\u230B'); + parentNode.appendChild(mrow); + }, + + factorial: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + CToP.applyTransform(mrow,args[0],4); + CToP.appendToken(mrow,'mo','!'); + parentNode.appendChild(mrow); + }, + + root: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mr; + if (firstArg.nodeName === 'root' && (qualifiers.length === 0 || (qualifiers[0].nodeName === 'degree' && CToP.getTextContent(qualifiers[0]) === '2'))) { + mr = CToP.createElement('msqrt'); + for (var i = 0, l = args.length; i1) { + var msup = CToP.createElement('msup'); + CToP.applyTransform(msup,bvar,0); + CToP.appendToken(msup,'mn',degree); + bottomrow.appendChild(msup); + } else { + CToP.applyTransform(bottomrow,bvar,0); + } + } + for (i = 0, l = lambdaSequence.length; i0) { + if (hadFirst) { + CToP.appendToken(degreeRow,'mo','+'); + } + CToP.appendToken(degreeRow,'mn',degree); + } + } + + if (args.length) { + differendNode = args[0]; + } + + for (i = 0, l = bvars.length; i but use MATHML.Parse's preProcessMath to apply the normal preprocessing. + if (!MATHML.ParseXML) {MATHML.ParseXML = MATHML.createParser()} + var doc = MATHML.ParseXML(PARSE.preProcessMath(data.math)); + + // Now transform the using the mml3 stylesheet. + var newdoc = MATHML.mml3XSLT.transformToDocument(doc); + + if ((typeof newdoc) === "string") { + // Internet Explorer returns a string, so just use it. + data.math = newdoc; + } else if (window.XMLSerializer) { + // Serialize the again. We could directly provide the DOM content + // but other prefilterHooks may assume data.math is still a string. + var serializer = new XMLSerializer(); + data.math = serializer.serializeToString(newdoc.documentElement, doc); + } + }); + + /* + * The following is derived from mml3mj.xsl + * (https://github.com/davidcarlisle/web-xslt/blob/master/ctop/mml3mj.xsl) + * which is Copyright (c) David Carlisle 2008-2015. + * It is used by permission of David Carlisle, who has agreed to allow it to + * be released under the Apache License, Version 2.0. + */ + var BROWSER = MathJax.Hub.Browser; + var exslt = ''; + if (BROWSER.isEdge || BROWSER.isMSIE) { + exslt = 'urn:schemas-microsoft-com:xslt' + } else { + exslt = 'http://exslt.org/common'; + } + var mml3Stylesheet = + '' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + '' + + ' ' + + ' ltr' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + '' + + ' )' + + '' + + ' (' + + '' + + '' + + ' ]' + + '' + + '' + + ' [' + + '' + + '' + + ' }' + + '' + + '' + + ' {' + + '' + + '' + + ' ' + + '' + + ' )' + + '' + + ' (' + + '' + + '' + + ' ]' + + '' + + '' + + ' [' + + '' + + '' + + ' }' + + '' + + '' + + ' {' + + '' + + ' ' + + ' ' + + ' \' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ')' + + '(' + + '}' + + '{' + + '>' + + '<' + + '' + + '' + + '' + + ' top right' + + '' + + '' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' 0' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' decimalpoint' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' decimalpoint' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' .' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' decimalpoint' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' *' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' 0.1em' + + ' 0.15em' + + ' 0.2em' + + ' ' + + ' 0.15em' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' 0' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' )' + + ' ' + + ' (' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' /' + + ' ' + + ' \' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' :' + + ' ' + + ' =' + + ' ' + + ' ' + + ' ' + + ' ' + + ' top' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' )' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ''; + + /* + * End of mml3mj.xsl material. + */ + + var mml3; + if (window.XSLTProcessor) { + // standard method: just use an XSLTProcessor and parse the stylesheet + if (!MATHML.ParseXML) {MATHML.ParseXML = MATHML.createParser()} + MATHML.mml3XSLT = new XSLTProcessor(); + MATHML.mml3XSLT.importStylesheet(MATHML.ParseXML(mml3Stylesheet)); + } else if (MathJax.Hub.Browser.isMSIE) { + // nonstandard methods for Internet Explorer + if (MathJax.Hub.Browser.versionAtLeast("9.0") || (document.documentMode||0) >= 9) { + // For Internet Explorer >= 9, use createProcessor + mml3 = new ActiveXObject("Msxml2.FreeThreadedDOMDocument"); + mml3.loadXML(mml3Stylesheet); + var xslt = new ActiveXObject("Msxml2.XSLTemplate"); + xslt.stylesheet = mml3; + MATHML.mml3XSLT = { + mml3: xslt.createProcessor(), + transformToDocument: function(doc) { + this.mml3.input = doc; + this.mml3.transform(); + return this.mml3.output; + } + } + } else { + // For Internet Explorer <= 8, use transformNode + mml3 = MATHML.createMSParser(); + mml3.async = false; + mml3.loadXML(mml3Stylesheet); + MATHML.mml3XSLT = { + mml3: mml3, + transformToDocument: function(doc) { + return doc.documentElement.transformNode(this.mml3); + } + } + } + } else { + // No XSLT support. Do not change the content. + MATHML.mml3XSLT = null; + } + + // Tweak CSS to avoid some browsers rearranging HTML output + MathJax.Ajax.Styles({ + ".MathJax .mi, .MathJax .mo, .MathJax .mn, .MathJax .mtext": { + direction: "ltr", + display: "inline-block" + }, + ".MathJax .ms, .MathJax .mspace, .MathJax .mglyph": { + direction: "ltr", + display: "inline-block" + } + }); + + MathJax.Hub.Startup.signal.Post("MathML mml3.js Ready"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/MathML/mml3.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathMenu.js new file mode 100644 index 00000000..d05d8f36 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathMenu.js @@ -0,0 +1,1664 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/MathMenu.js + * + * Implements a right-mouse (or CTRL-click) menu over mathematics + * elements that gives the user the ability to copy the source, + * change the math size, and zoom settings. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML,AJAX,CALLBACK,OUTPUT) { + var VERSION = "2.7.5"; + + var SIGNAL = MathJax.Callback.Signal("menu"); // signal for menu events + + MathJax.Extension.MathMenu = { + version: VERSION, + signal: SIGNAL + }; + + var _ = function (id) { + return MathJax.Localization._.apply( + MathJax.Localization, + [["MathMenu",id]].concat([].slice.call(arguments,1)) + ); + }; + + var isArray = MathJax.Object.isArray; + + var isPC = HUB.Browser.isPC, isMSIE = HUB.Browser.isMSIE, isIE9 = ((document.documentMode||0) > 8); + var ROUND = (isPC ? null : "5px"); + + var CONFIG = HUB.CombineConfig("MathMenu",{ + delay: 150, // the delay for submenus + + showRenderer: true, // show the "Math Renderer" menu? + showMathPlayer: true, // show the "MathPlayer" menu? + showFontMenu: false, // show the "Font Preference" menu? + showContext: false, // show the "Context Menu" menu? + showDiscoverable: false, // show the "Discoverable" menu? + showLocale: true, // show the "Locale" menu? + showLocaleURL: false, // show the "Load from URL" menu? + + semanticsAnnotations: { + "TeX": ["TeX", "LaTeX", "application/x-tex"], + "StarMath": ["StarMath 5.0"], + "Maple": ["Maple"], + "ContentMathML": ["MathML-Content", "application/mathml-content+xml"], + "OpenMath": ["OpenMath"] + }, + + windowSettings: { // for source window + status: "no", toolbar: "no", locationbar: "no", menubar: "no", + directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes", + width: 400, height: 300, + left: Math.round((screen.width - 400)/2), + top: Math.round((screen.height - 300)/3) + }, + + styles: { + "#MathJax_About": { + position:"fixed", left:"50%", width:"auto", "text-align":"center", + border:"3px outset", padding:"1em 2em", "background-color":"#DDDDDD", color:"black", + cursor: "default", "font-family":"message-box", "font-size":"120%", + "font-style":"normal", "text-indent":0, "text-transform":"none", + "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", + "word-wrap":"normal", "white-space":"nowrap", "float":"none", "z-index":201, + + "border-radius": "15px", // Opera 10.5 and IE9 + "-webkit-border-radius": "15px", // Safari and Chrome + "-moz-border-radius": "15px", // Firefox + "-khtml-border-radius": "15px", // Konqueror + + "box-shadow":"0px 10px 20px #808080", // Opera 10.5 and IE9 + "-webkit-box-shadow":"0px 10px 20px #808080", // Safari 3 and Chrome + "-moz-box-shadow":"0px 10px 20px #808080", // Forefox 3.5 + "-khtml-box-shadow":"0px 10px 20px #808080", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE + }, + "#MathJax_About.MathJax_MousePost": { + outline:"none" + }, + + ".MathJax_Menu": { + position:"absolute", "background-color":"white", color:"black", + width:"auto", padding:(isPC ? "2px" : "5px 0px"), + border:"1px solid #CCCCCC", margin:0, cursor:"default", + font: "menu", "text-align":"left", "text-indent":0, "text-transform":"none", + "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", + "word-wrap":"normal", "white-space":"nowrap", "float":"none", "z-index":201, + + "border-radius": ROUND, // Opera 10.5 and IE9 + "-webkit-border-radius": ROUND, // Safari and Chrome + "-moz-border-radius": ROUND, // Firefox + "-khtml-border-radius": ROUND, // Konqueror + + "box-shadow":"0px 10px 20px #808080", // Opera 10.5 and IE9 + "-webkit-box-shadow":"0px 10px 20px #808080", // Safari 3 and Chrome + "-moz-box-shadow":"0px 10px 20px #808080", // Forefox 3.5 + "-khtml-box-shadow":"0px 10px 20px #808080", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE + }, + + ".MathJax_MenuItem": { + padding: (isPC ? "2px 2em" : "1px 2em"), + background:"transparent" + }, + + ".MathJax_MenuArrow": { + position:"absolute", right:".5em", "padding-top":".25em", color:"#666666", + "font-family": (isMSIE ? "'Arial unicode MS'" : null), "font-size": ".75em" + }, + ".MathJax_MenuActive .MathJax_MenuArrow": {color:"white"}, + ".MathJax_MenuArrow.RTL": {left:".5em", right:"auto"}, + + ".MathJax_MenuCheck": { + position:"absolute", left:".7em", + "font-family": (isMSIE ? "'Arial unicode MS'" : null) + }, + ".MathJax_MenuCheck.RTL": {right:".7em", left:"auto"}, + + ".MathJax_MenuRadioCheck": { + position:"absolute", left: (isPC ? "1em" : ".7em") + }, + ".MathJax_MenuRadioCheck.RTL": { + right: (isPC ? "1em" : ".7em"), left:"auto" + }, + + ".MathJax_MenuLabel": { + padding: (isPC ? "2px 2em 4px 1.33em" : "1px 2em 3px 1.33em"), + "font-style":"italic" + }, + + ".MathJax_MenuRule": { + "border-top": (isPC ? "1px solid #CCCCCC" : "1px solid #DDDDDD"), + margin: (isPC ? "4px 1px 0px" : "4px 3px") + }, + + ".MathJax_MenuDisabled": { + color:"GrayText" + }, + ".MathJax_MenuActive": { + "background-color": (isPC ? "Highlight" : "#606872"), + color: (isPC ? "HighlightText" : "white") + }, + + ".MathJax_MenuDisabled:focus, .MathJax_MenuLabel:focus": { + "background-color": "#E8E8E8" + }, + ".MathJax_ContextMenu:focus": { + outline:"none" + }, + ".MathJax_ContextMenu .MathJax_MenuItem:focus": { + outline:"none" + }, + + "#MathJax_AboutClose": { + top:".2em", right:".2em" + }, + ".MathJax_Menu .MathJax_MenuClose": { + top:"-10px", left:"-10px" + }, + + ".MathJax_MenuClose": { + position:"absolute", + cursor:"pointer", + display:"inline-block", + border:"2px solid #AAA", + "border-radius":"18px", + "-webkit-border-radius": "18px", // Safari and Chrome + "-moz-border-radius": "18px", // Firefox + "-khtml-border-radius": "18px", // Konqueror + "font-family":"'Courier New',Courier", + "font-size":"24px", + color:"#F0F0F0" + }, + ".MathJax_MenuClose span": { + display:"block", "background-color":"#AAA", border:"1.5px solid", + "border-radius":"18px", + "-webkit-border-radius": "18px", // Safari and Chrome + "-moz-border-radius": "18px", // Firefox + "-khtml-border-radius": "18px", // Konqueror + "line-height":0, + padding:"8px 0 6px" // may need to be browser-specific + }, + ".MathJax_MenuClose:hover": { + color:"white!important", + border:"2px solid #CCC!important" + }, + ".MathJax_MenuClose:hover span": { + "background-color":"#CCC!important" + }, + ".MathJax_MenuClose:hover:focus": { + outline:"none" + } + } + }); + + var FALSE, HOVER, KEY; + HUB.Register.StartupHook("MathEvents Ready",function () { + FALSE = MathJax.Extension.MathEvents.Event.False; + HOVER = MathJax.Extension.MathEvents.Hover; + KEY = MathJax.Extension.MathEvents.Event.KEY; + }); + + + /*************************************************************/ + /* + * Abstract class of all keyboard navigatable objects. + */ + var NAV = MathJax.Object.Subclass({ + /* + * Moving in the list of items. + */ + Keydown: function(event, menu) { + switch (event.keyCode) { + case KEY.ESCAPE: + this.Remove(event, menu); + break; + case KEY.RIGHT: + this.Right(event, menu); + break; + case KEY.LEFT: + this.Left(event, menu); + break; + case KEY.UP: + this.Up(event, menu); + break; + case KEY.DOWN: + this.Down(event, menu); + break; + case KEY.RETURN: + case KEY.SPACE: + this.Space(event, menu); + break; + default: + return; + break; + } + return FALSE(event); + }, + Escape: function(event, menu) { }, + Right: function(event, menu) { }, + Left: function(event, menu) { }, + Up: function(event, menu) { }, + Down: function(event, menu) { }, + Space: function(event, menu) { } + }, {}); + + + /*************************************************************/ + /* + * The main menu class + */ + var MENU = MathJax.Menu = NAV.Subclass({ + version: VERSION, + items: [], + posted: false, + title: null, + margin: 5, + + Init: function (def) {this.items = [].slice.call(arguments,0)}, + With: function (def) {if (def) {HUB.Insert(this,def)}; return this}, + + /* + * Display the menu + */ + Post: function (event,parent,forceLTR) { + if (!event) {event = window.event||{}} + var div = document.getElementById("MathJax_MenuFrame"); + if (!div) { + div = MENU.Background(this); + delete ITEM.lastItem; delete ITEM.lastMenu; + delete MENU.skipUp; + SIGNAL.Post(["post",MENU.jax]); + MENU.isRTL = (MathJax.Localization.fontDirection() === "rtl"); + } + var menu = HTML.Element("div",{ + onmouseup: MENU.Mouseup, ondblclick: FALSE, + ondragstart: FALSE, onselectstart: FALSE, oncontextmenu: FALSE, + menuItem: this, className: "MathJax_Menu", onkeydown: MENU.Keydown, + role: "menu" + }); + if (event.type === "contextmenu" || event.type === "mouseover") + menu.className += " MathJax_ContextMenu"; + if (!forceLTR) {MathJax.Localization.setCSS(menu)} + + for (var i = 0, m = this.items.length; i < m; i++) {this.items[i].Create(menu)} + if (MENU.isMobile) { + HTML.addElement(menu,"span",{ + className: "MathJax_MenuClose", menu: parent, + ontouchstart: MENU.Close, ontouchend: FALSE, onmousedown: MENU.Close, onmouseup: FALSE + },[["span",{},"\u00D7"]]); + } + + div.appendChild(menu); + this.posted = true; + if (menu.offsetWidth) menu.style.width = (menu.offsetWidth+2) + "px"; + var x = event.pageX, y = event.pageY; + var bbox = document.body.getBoundingClientRect(); + var styles = (window.getComputedStyle ? window.getComputedStyle(document.body) : {marginLeft: "0px"}); + var bodyRight = bbox.right - Math.min(0,bbox.left) + parseFloat(styles.marginLeft); + if (!x && !y && "clientX" in event) { + x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; + y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; + } + if (!parent) { + var node = MENU.CurrentNode() || event.target; + if ((event.type === "keydown" || (!x && !y)) && node) { + var offsetX = window.pageXOffset || document.documentElement.scrollLeft; + var offsetY = window.pageYOffset || document.documentElement.scrollTop; + var rect = node.getBoundingClientRect(); + x = (rect.right + rect.left) / 2 + offsetX; + y = (rect.bottom + rect.top) / 2 + offsetY; + } + if (x + menu.offsetWidth > bodyRight - this.margin) + {x = bodyRight - menu.offsetWidth - this.margin} + if (MENU.isMobile) {x = Math.max(5,x-Math.floor(menu.offsetWidth/2)); y -= 20} + MENU.skipUp = event.isContextMenu; + } else { + var side = "left", mw = parent.offsetWidth; + x = (MENU.isMobile ? 30 : mw - 2); y = 0; + while (parent && parent !== div) { + x += parent.offsetLeft; y += parent.offsetTop; + parent = parent.parentNode; + } + if (!MENU.isMobile) { + if ((MENU.isRTL && x - mw - menu.offsetWidth > this.margin) || + (!MENU.isRTL && x + menu.offsetWidth > bodyRight - this.margin)) + {side = "right"; x = Math.max(this.margin,x - mw - menu.offsetWidth + 6)} + } + if (!isPC) { + // in case these ever get implemented + menu.style["borderRadiusTop"+side] = 0; // Opera 10.5 + menu.style["WebkitBorderRadiusTop"+side] = 0; // Safari and Chrome + menu.style["MozBorderRadiusTop"+side] = 0; // Firefox + menu.style["KhtmlBorderRadiusTop"+side] = 0; // Konqueror + } + } + + menu.style.left = x+"px"; menu.style.top = y+"px"; + if (document.selection && document.selection.empty) {document.selection.empty()} + + // Focusing while keeping the scroll position. + var oldX = window.pageXOffset || document.documentElement.scrollLeft; + var oldY = window.pageYOffset || document.documentElement.scrollTop; + MENU.Focus(menu); + if (event.type === "keydown") { + MENU.skipMouseoverFromKey = true; + setTimeout(function() {delete MENU.skipMouseoverFromKey;}, CONFIG.delay); + } + window.scrollTo(oldX, oldY); + return FALSE(event); + }, + + /* + * Remove the menu from the screen + */ + Remove: function (event,menu) { + SIGNAL.Post(["unpost",MENU.jax]); + var div = document.getElementById("MathJax_MenuFrame"); + if (div) { + div.parentNode.removeChild(div); + if (this.msieFixedPositionBug) {detachEvent("onresize",MENU.Resize)} + } + if (MENU.jax.hover) { + delete MENU.jax.hover.nofade; + HOVER.UnHover(MENU.jax); + } + MENU.Unfocus(menu); + if (event.type === "mousedown") MENU.CurrentNode().blur(); + return FALSE(event); + }, + + /* + * Find an item in a menu (or submenu) by name (Find) or ID (FindID). + * A list of names or IDs means descend into submenus. + */ + Find: function (name) {return this.FindN(1,name,[].slice.call(arguments,1))}, + FindId: function (name) {return this.FindN(0,name,[].slice.call(arguments,1))}, + FindN: function (n,name,names) { + for (var i = 0, m = this.items.length; i < m; i++) { + if (this.items[i].name[n] === name) { + if (names.length) { + if (!this.items[i].submenu) {return null} + return this.items[i].submenu.FindN(n,names[0],names.slice(1)); + } + return this.items[i]; + } + } + return null; + }, + + /* + * Find the index of a menu item (so we can insert before or after it) + */ + IndexOf: function (name) {return this.IndexOfN(1,name)}, + IndexOfId: function (name) {return this.IndexOfN(0,name)}, + IndexOfN: function (n,name) { + for (var i = 0, m = this.items.length; i < m; i++) + {if (this.items[i].name[n] === name) {return i}} + return null; + }, + + Right: function(event, menu) { + MENU.Right(event, menu); + }, + Left: function(event, menu) { + MENU.Left(event, menu); + }, + Up: function(event, menu) { + var node = menu.lastChild; + node.menuItem.Activate(event, node); + }, + Down: function(event, menu) { + var node = menu.firstChild; + node.menuItem.Activate(event, node); + }, + Space: function(event, menu) { + this.Remove(event, menu); + } + },{ + + config: CONFIG, + + Remove: function (event) {return MENU.Event(event,this,"Remove")}, + Mouseover: function (event) {return MENU.Event(event,this,"Mouseover")}, + Mouseout: function (event) {return MENU.Event(event,this,"Mouseout")}, + Mousedown: function (event) {return MENU.Event(event,this,"Mousedown")}, + Mouseup: function (event) {return MENU.Event(event,this,"Mouseup")}, + Keydown: function (event) {return MENU.Event(event,this,"Keydown")}, + /* + * Events for mobile devices. + */ + Touchstart: function (event) {return MENU.Event(event,this,"Touchstart")}, + Touchend: function (event) {return MENU.Event(event,this,"Touchend")}, + Close: function (event) { + return MENU.Event(event,this.menu||this.parentNode,(this.menu?"Touchend":"Remove")); + }, + Event: function (event,menu,type,force) { + if (MENU.skipMouseover && type === "Mouseover" && !force) {return FALSE(event)} + if (MENU.skipMouseoverFromKey && type === "Mouseover") { + delete MENU.skipMouseoverFromKey; + return FALSE(event); + } + if (MENU.skipUp) { + if (type.match(/Mouseup|Touchend/)) {delete MENU.skipUp; return FALSE(event)} + if (type === "Touchstart" || + (type === "Mousedown" && !MENU.skipMousedown)) {delete MENU.skipUp} + } + if (!event) {event = window.event} + var item = menu.menuItem; + if (item && item[type]) {return item[type](event,menu)} + return null; + }, + /* + * Style for the background DIV + */ + BGSTYLE: { + position:"absolute", left:0, top:0, "z-index":200, + width:"100%", height:"100%", border:0, padding:0, margin:0 + }, + + Background: function (menu) { + var div = HTML.addElement(document.body,"div", + {style:this.BGSTYLE, id:"MathJax_MenuFrame"}, + [["div",{style: this.BGSTYLE, menuItem: menu, onmousedown: this.Remove}]]); + var bg = div.firstChild; + if (MENU.msieBackgroundBug) { + // MSIE doesn't allow transparent background to be hit boxes, so + // fake it using opacity with solid background color + bg.style.backgroundColor = "white"; bg.style.filter = "alpha(opacity=0)"; + } + if (MENU.msieFixedPositionBug) { + // MSIE can't do fixed position, so use a full-sized background + // and an onresize handler to update it (stupid, but necessary) + div.width = div.height = 0; this.Resize(); + attachEvent("onresize",this.Resize); + } else { + // otherwise, use a fixed position DIV to cover the viewport + bg.style.position = "fixed"; + } + return div; + }, + Resize: function () {setTimeout(MENU.SetWH,0)}, + SetWH: function () { + var bg = document.getElementById("MathJax_MenuFrame"); + if (bg) { + bg = bg.firstChild; + bg.style.width = bg.style.height = "1px"; // so scrollWidth/Height will be right below + bg.style.width = document.body.scrollWidth + "px"; + bg.style.height = document.body.scrollHeight + "px"; + } + }, + + /*************************************************************/ + /* + * Keyboard navigation of menu. + */ + posted: false, // Is a menu open? + active: null, // The focused in HTML node in the menu. + + GetNode: function(jax) { + var node = document.getElementById(jax.inputID + "-Frame"); + return node.isMathJax ? node : node.firstChild; + }, + CurrentNode: function() { + return MENU.GetNode(MENU.jax); + }, + AllNodes: function() { + var jaxs = MathJax.Hub.getAllJax(); + var nodes = []; + for (var i = 0, jax; jax = jaxs[i]; i++) { + nodes.push(MENU.GetNode(jax)); + } + return nodes; + }, + ActiveNode: function() { + return MENU.active; + }, + FocusNode: function(node) { + MENU.active = node; + node.focus(); + }, + // + // Focus is a global affair, since we only ever want a single focused item. + // + Focus: function(menu) { + !MENU.posted ? MENU.Activate(menu) : MENU.ActiveNode().tabIndex = -1; + menu.tabIndex = 0; + MENU.FocusNode(menu); + }, + Activate: function(event, menu) { + MENU.UnsetTabIndex(); + MENU.posted = true; + }, + Unfocus: function() { + MENU.ActiveNode().tabIndex = -1; + MENU.SetTabIndex(); + MENU.FocusNode(MENU.CurrentNode()); + MENU.posted = false; + }, + MoveHorizontal: function(event, menu, move) { + if (!event.shiftKey) return; + var jaxs = MENU.AllNodes(); + var len = jaxs.length; + if (len === 0) return; + var next = jaxs[MENU.Mod(move(MENU.IndexOf(jaxs, MENU.CurrentNode())), len)]; + if (next === MENU.CurrentNode()) return; + MENU.menu.Remove(event, menu); + MENU.jax = MathJax.Hub.getJaxFor(next); + MENU.FocusNode(next); + MENU.menu.Post(null); + }, + Right: function(event, menu) { + MENU.MoveHorizontal(event, menu, function(x) {return x + 1;}); + }, + Left: function(event, menu) { + MENU.MoveHorizontal(event, menu, function(x) {return x - 1;}); + }, + UnsetTabIndex: function () { + var jaxs = MENU.AllNodes(); + for (var j = 0, jax; jax = jaxs[j]; j++) { + if (jax.tabIndex > 0) { + jax.oldTabIndex = jax.tabIndex; + } + jax.tabIndex = -1; + } + }, + SetTabIndex: function () { + var jaxs = MENU.AllNodes(); + for (var j = 0, jax; jax = jaxs[j]; j++) { + if (jax.oldTabIndex !== undefined) { + jax.tabIndex = jax.oldTabIndex + delete jax.oldTabIndex; + } else { + jax.tabIndex = HUB.getTabOrder(jax); + } + } + }, + + //TODO: Move to utility class. + // Computes a mod n. + Mod: function(a, n) { + return ((a % n) + n) % n; + }, + IndexOf: (Array.prototype.indexOf ? + function (A, item, start) {return A.indexOf(item, start);} : + function (A, item, start) { + for (var i = (start || 0), j = A.length; i < j; i++) { + if (item === A[i]) return i; + } + return -1; + }), + + saveCookie: function () {HTML.Cookie.Set("menu",this.cookie)}, + getCookie: function () {this.cookie = HTML.Cookie.Get("menu")} + + }); + + MathJax.Menu.NAV = NAV; + + /*************************************************************/ + /* + * Abstract class of menu items. + */ + var ITEM = MENU.ITEM = NAV.Subclass({ + + name: "", // The menu item's label as [id,label] pair. + node: null, // The HTML node of the item. + menu: null, // The parent menu containing that item. HTML node. + + Attributes: function(def) { + return HUB.Insert( + {onmouseup: MENU.Mouseup, + ondragstart: FALSE, onselectstart: FALSE, onselectend: FALSE, + ontouchstart: MENU.Touchstart, ontouchend: MENU.Touchend, + className: "MathJax_MenuItem", role: this.role, + menuItem: this}, + def); + }, + + Create: function (menu) { + if (!this.hidden) { + var def = this.Attributes(); + var label = this.Label(def,menu); + HTML.addElement(menu, "div", def, label); + } + }, + Name: function () {return _(this.name[0],this.name[1])}, + + Mouseover: function (event,menu) { + if (menu.parentNode === MENU.ActiveNode().parentNode) { + this.Deactivate(MENU.ActiveNode()); + } + this.Activate(event, menu); + }, + Mouseout: function (event,menu) { + this.Deactivate(menu); + }, + Mouseup: function (event,menu) {return this.Remove(event,menu)}, + + + DeactivateSubmenus: function(menu) { + var menus = document.getElementById("MathJax_MenuFrame").childNodes, + items = ITEM.GetMenuNode(menu).childNodes; + for (var i = 0, m = items.length; i < m; i++) { + var item = items[i].menuItem; + // Deactivates submenu items. + if (item && item.submenu && item.submenu.posted && + item !== menu.menuItem) { + item.Deactivate(items[i]); + } + } + this.RemoveSubmenus(menu, menus); + }, + RemoveSubmenus: function(menu, menus) { + menus = menus || document.getElementById("MathJax_MenuFrame").childNodes; + var m = menus.length-1; + while (m >= 0 && ITEM.GetMenuNode(menu).menuItem !== menus[m].menuItem) { + menus[m].menuItem.posted = false; + menus[m].parentNode.removeChild(menus[m]); + m--; + } + }, + + Touchstart: function (event,menu) {return this.TouchEvent(event,menu,"Mousedown")}, + Touchend: function (event,menu) {return this.TouchEvent(event,menu,"Mouseup")}, + TouchEvent: function (event,menu,type) { + if (this !== ITEM.lastItem) { + if (ITEM.lastMenu) {MENU.Event(event,ITEM.lastMenu,"Mouseout")} + MENU.Event(event,menu,"Mouseover",true); + ITEM.lastItem = this; ITEM.lastMenu = menu; + } + if (this.nativeTouch) {return null} + MENU.Event(event,menu,type); + return false; + }, + + Remove: function (event,menu) { + menu = menu.parentNode.menuItem; + return menu.Remove(event,menu); + }, + + With: function (def) {if (def) {HUB.Insert(this,def)}; return this}, + + isRTL: function () {return MENU.isRTL}, + rtlClass: function () {return (this.isRTL() ? " RTL" : "")} + }, { + GetMenuNode: function(item) { + return item.parentNode; + } + }); + + /*************************************************************/ + /* + * Abstract class of menu items that are focusable and perform some action + */ + MENU.ENTRY = MENU.ITEM.Subclass({ + role: "menuitem", // Aria role. + + Attributes: function(def) { + def = HUB.Insert( + {onmouseover: MENU.Mouseover, onmouseout: MENU.Mouseout, + onmousedown: MENU.Mousedown, onkeydown: MENU.Keydown, + "aria-disabled": !!this.disabled}, + def); + def = this.SUPER(arguments).Attributes.call(this, def); + if (this.disabled) { + def.className += " MathJax_MenuDisabled"; + } + return def; + }, + MoveVertical: function(event, item, move) { + var menuNode = ITEM.GetMenuNode(item); + var items = []; + for (var i = 0, allItems = menuNode.menuItem.items, it; + it = allItems[i]; i++) { + if (!it.hidden) { + items.push(it); + } + } + var index = MENU.IndexOf(items, this); + if (index === -1) return; + var len = items.length; + var children = menuNode.childNodes; + do { + index = MENU.Mod(move(index), len); + } while (items[index].hidden || !children[index].role || + children[index].role === "separator"); + this.Deactivate(item); + items[index].Activate(event, children[index]); + }, + Up: function(event, item) { + this.MoveVertical(event, item, function(x) { return x - 1; }); + }, + Down: function(event, item) { + this.MoveVertical(event, item, function(x) { return x + 1; }); + }, + Right: function(event, item) { + this.MoveHorizontal(event, item, MENU.Right, !this.isRTL()); + }, + Left: function(event, item) { + this.MoveHorizontal(event, item, MENU.Left, this.isRTL()); + }, + MoveHorizontal: function(event, item, move, rtl) { + var menuNode = ITEM.GetMenuNode(item); + if (menuNode.menuItem === MENU.menu && event.shiftKey) { + move(event, item); + } + if (rtl) return; + if (menuNode.menuItem !== MENU.menu) { + this.Deactivate(item); + } + var parentNodes = menuNode.previousSibling.childNodes; + var length = parentNodes.length; + while (length--) { + var parent = parentNodes[length]; + if (parent.menuItem.submenu && + parent.menuItem.submenu === menuNode.menuItem) { + MENU.Focus(parent); + break; + } + } + this.RemoveSubmenus(item); + }, + Space: function (event, menu) { + this.Mouseup(event, menu); + }, + + Activate: function (event, menu) { + this.Deactivate(menu); + if (!this.disabled) { + menu.className += " MathJax_MenuActive"; + } + this.DeactivateSubmenus(menu); + MENU.Focus(menu); + }, + Deactivate: function (menu) { + menu.className = menu.className.replace(/ MathJax_MenuActive/,""); + } + + }); + + /*************************************************************/ + /* + * A menu item that performs a command when selected + */ + MENU.ITEM.COMMAND = MENU.ENTRY.Subclass({ + action: function () {}, + + Init: function (name,action,def) { + if (!isArray(name)) {name = [name,name]} // make [id,label] pair + this.name = name; this.action = action; + this.With(def); + }, + + Label: function (def,menu) {return [this.Name()]}, + Mouseup: function (event,menu) { + if (!this.disabled) { + this.Remove(event,menu); + SIGNAL.Post(["command",this]); + this.action.call(this,event); + } + return FALSE(event); + } + }); + + /*************************************************************/ + /* + * A menu item that posts a submenu + */ + MENU.ITEM.SUBMENU = MENU.ENTRY.Subclass({ + submenu: null, // the submenu + marker: "\u25BA", // the submenu arrow + markerRTL: "\u25C4", // the submenu arrow for RTL + + Attributes: function(def) { + def = HUB.Insert({"aria-haspopup": "true"}, def); + def = this.SUPER(arguments).Attributes.call(this, def); + return def; + }, + Init: function (name,def) { + if (!isArray(name)) {name = [name,name]} // make [id,label] pair + this.name = name; var i = 1; + if (!(def instanceof MENU.ITEM)) {this.With(def), i++} + this.submenu = MENU.apply(MENU,[].slice.call(arguments,i)); + }, + Label: function (def,menu) { + this.submenu.posted = false; + return [this.Name()+" ",["span",{ + className:"MathJax_MenuArrow" + this.rtlClass() + },[this.isRTL() ? this.markerRTL : this.marker]]]; + }, + Timer: function (event,menu) { + this.ClearTimer(); + event = {type: event.type, + clientX: event.clientX, clientY: event.clientY}; // MSIE can't pass the event below + this.timer = setTimeout(CALLBACK(["Mouseup",this,event,menu]),CONFIG.delay); + }, + ClearTimer: function() { + if (this.timer) { + clearTimeout(this.timer); + } + }, + Touchend: function (event,menu) { + var forceout = this.submenu.posted; + var result = this.SUPER(arguments).Touchend.apply(this,arguments); + if (forceout) {this.Deactivate(menu); delete ITEM.lastItem; delete ITEM.lastMenu} + return result; + }, + Mouseout: function(event, menu) { + if (!this.submenu.posted) { + this.Deactivate(menu); + } + this.ClearTimer(); + }, + Mouseover: function(event, menu) { + this.Activate(event, menu); + }, + Mouseup: function (event,menu) { + if (!this.disabled) { + if (!this.submenu.posted) { + this.ClearTimer(); + this.submenu.Post(event, menu, this.ltr); + MENU.Focus(menu); + } else { + this.DeactivateSubmenus(menu); + } + } + return FALSE(event); + }, + Activate: function (event, menu) { + if (!this.disabled) { + this.Deactivate(menu); + menu.className += " MathJax_MenuActive"; + } + if (!this.submenu.posted) { + this.DeactivateSubmenus(menu); + if (!MENU.isMobile) { + this.Timer(event,menu); + } + } + MENU.Focus(menu); + }, + MoveVertical: function(event, item, move) { + this.ClearTimer(); + this.SUPER(arguments).MoveVertical.apply(this, arguments); + }, + MoveHorizontal: function(event, menu, move, rtl) { + if (!rtl) { + this.SUPER(arguments).MoveHorizontal.apply(this, arguments); + return; + } + if (this.disabled) return; + if (!this.submenu.posted) { + this.Activate(event, menu); + return; + } + var submenuNodes = ITEM.GetMenuNode(menu).nextSibling.childNodes; + if (submenuNodes.length > 0) { + this.submenu.items[0].Activate(event, submenuNodes[0]); + } + } + }); + + /*************************************************************/ + /* + * A menu item that is one of several radio buttons + */ + MENU.ITEM.RADIO = MENU.ENTRY.Subclass({ + variable: null, // the variable name + marker: (isPC ? "\u25CF" : "\u2713"), // the checkmark + role: "menuitemradio", + + Attributes: function(def) { + var checked = CONFIG.settings[this.variable] === this.value ? "true" : "false"; + def = HUB.Insert({"aria-checked": checked}, def); + def = this.SUPER(arguments).Attributes.call(this, def); + return def; + }, + Init: function (name,variable,def) { + if (!isArray(name)) {name = [name,name]} // make [id,label] pair + this.name = name; this.variable = variable; this.With(def); + if (this.value == null) {this.value = this.name[0]} + }, + Label: function (def,menu) { + var span = {className:"MathJax_MenuRadioCheck" + this.rtlClass()}; + if (CONFIG.settings[this.variable] !== this.value) { + span = {style:{display:"none"}}; + } + return [["span",span,[this.marker]]," "+this.Name()]; + }, + Mouseup: function (event,menu) { + if (!this.disabled) { + var child = menu.parentNode.childNodes; + for (var i = 0, m = child.length; i < m; i++) { + var item = child[i].menuItem; + if (item && item.variable === this.variable) { + child[i].firstChild.style.display = "none"; + } + } + menu.firstChild.display = ""; + CONFIG.settings[this.variable] = this.value; + MENU.cookie[this.variable] = CONFIG.settings[this.variable]; MENU.saveCookie(); + SIGNAL.Post(["radio button",this]); + } + this.Remove(event,menu); + if (this.action && !this.disabled) {this.action.call(MENU,this)} + return FALSE(event); + } + }); + + /*************************************************************/ + /* + * A menu item that is checkable + */ + MENU.ITEM.CHECKBOX = MENU.ENTRY.Subclass({ + variable: null, // the variable name + marker: "\u2713", // the checkmark + role: "menuitemcheckbox", + + Attributes: function(def) { + var checked = CONFIG.settings[this.variable] ? "true" : "false"; + def = HUB.Insert({"aria-checked": checked}, def); + def = this.SUPER(arguments).Attributes.call(this, def); + return def; + }, + Init: function (name,variable,def) { + if (!isArray(name)) {name = [name,name]} // make [id,label] pair + this.name = name; this.variable = variable; this.With(def); + }, + Label: function (def,menu) { + var span = {className:"MathJax_MenuCheck" + this.rtlClass()}; + if (!CONFIG.settings[this.variable]) {span = {style:{display:"none"}}} + return [["span",span,[this.marker]]," "+this.Name()]; + }, + Mouseup: function (event,menu) { + if (!this.disabled) { + menu.firstChild.display = (CONFIG.settings[this.variable] ? "none" : ""); + CONFIG.settings[this.variable] = !CONFIG.settings[this.variable]; + MENU.cookie[this.variable] = CONFIG.settings[this.variable]; MENU.saveCookie(); + SIGNAL.Post(["checkbox",this]); + } + this.Remove(event,menu); + if (this.action && !this.disabled) {this.action.call(MENU,this)} + return FALSE(event); + } + }); + + /*************************************************************/ + /* + * A menu item that is a label + */ + MENU.ITEM.LABEL = MENU.ENTRY.Subclass({ + role: "menuitem", // Aria role. + + Init: function (name,def) { + if (!isArray(name)) {name = [name,name]} // make [id,label] pair + this.name = name; this.With(def); + }, + Label: function (def,menu) { + def.className += " MathJax_MenuLabel"; + return [this.Name()]; + }, + Activate: function(event, menu) { + this.Deactivate(menu); + MENU.Focus(menu); + }, + Mouseup: function (event,menu) { } + }); + + /*************************************************************/ + /* + * A rule in a menu + */ + MENU.ITEM.RULE = MENU.ITEM.Subclass({ + role: "separator", + + Attributes: function(def) { + def = HUB.Insert({"aria-orientation": "vertical"}, def); + def = this.SUPER(arguments).Attributes.call(this, def); + return def; + }, + Label: function (def,menu) { + def.className += " MathJax_MenuRule"; + return null; + } + }); + + /*************************************************************/ + /*************************************************************/ + + /* + * Handle the ABOUT box + */ + MENU.About = function (event) { + var font = MENU.About.GetFont(); + var format = MENU.About.GetFormat(); + var jax = ["MathJax.js v"+MathJax.fileversion,["br"]]; + jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}]); + MENU.About.GetJax(jax,MathJax.InputJax,["InputJax","%1 Input Jax v%2"]); + MENU.About.GetJax(jax,MathJax.OutputJax,["OutputJax","%1 Output Jax v%2"]); + MENU.About.GetJax(jax,MathJax.ElementJax,["ElementJax","%1 Element Jax v%2"]); + jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}]); + MENU.About.GetJax(jax,MathJax.Extension,["Extension","%1 Extension v%2"],true); + jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}],["center",{},[ + HUB.Browser + " v"+HUB.Browser.version + (format ? + " \u2014 " + _(format.replace(/ /g,""),format) : "") + ]]); + MENU.About.div = MENU.Background(MENU.About); + var about = HTML.addElement(MENU.About.div,"div",{ + id: "MathJax_About", tabIndex: 0, onkeydown: MENU.About.Keydown + },[ + ["b",{style:{fontSize:"120%"}},["MathJax"]]," v"+MathJax.version,["br"], + _(font.replace(/ /g,""),"using "+font),["br"],["br"], + ["span",{style:{ + display:"inline-block", "text-align":"left", "font-size":"80%", + "max-height":"20em", overflow:"auto", + "background-color":"#E4E4E4", padding:".4em .6em", border:"1px inset" + }, tabIndex: 0},jax],["br"],["br"], + ["a",{href:"http://www.mathjax.org/"},["www.mathjax.org"]], + ["span",{className:"MathJax_MenuClose",id:"MathJax_AboutClose", + onclick:MENU.About.Remove, + onkeydown: MENU.About.Keydown, tabIndex: 0, role: "button", + "aria-label": _("CloseAboutDialog","Close about MathJax dialog")}, + [["span",{},"\u00D7"]]] + ]); + if (event.type === "mouseup") about.className += " MathJax_MousePost"; + about.focus(); + MathJax.Localization.setCSS(about); + var doc = (document.documentElement||{}); + var H = window.innerHeight || doc.clientHeight || doc.scrollHeight || 0; + if (MENU.prototype.msieAboutBug) { + about.style.width = "20em"; about.style.position = "absolute"; + about.style.left = Math.floor((document.documentElement.scrollWidth - about.offsetWidth)/2)+"px"; + about.style.top = (Math.floor((H-about.offsetHeight)/3)+document.body.scrollTop)+"px"; + } else { + about.style.marginLeft = Math.floor(-about.offsetWidth/2)+"px"; + about.style.top = Math.floor((H-about.offsetHeight)/3)+"px"; + } + }; + MENU.About.Remove = function (event) { + if (MENU.About.div) {document.body.removeChild(MENU.About.div); delete MENU.About.div} + }; + MENU.About.Keydown = function(event) { + if (event.keyCode === KEY.ESCAPE || + (this.id === "MathJax_AboutClose" && + (event.keyCode === KEY.SPACE || event.keyCode === KEY.RETURN))) { + MENU.About.Remove(event); + MENU.CurrentNode().focus(); + FALSE(event); + } + }, + MENU.About.GetJax = function (jax,JAX,type,noTypeCheck) { + var info = []; + for (var id in JAX) {if (JAX.hasOwnProperty(id) && JAX[id]) { + if ((noTypeCheck && JAX[id].version) || (JAX[id].isa && JAX[id].isa(JAX))) + {info.push(_(type[0],type[1],(JAX[id].id||id),JAX[id].version))} + }} + info.sort(); + for (var i = 0, m = info.length; i < m; i++) {jax.push(info[i],["br"])} + return jax; + }; + MENU.About.GetFont = function () { + var jax = MathJax.Hub.outputJax["jax/mml"][0] || {}; + var font = { + SVG: "web SVG", + CommonHTML: "web TeX", + "HTML-CSS": (jax.imgFonts ? "image" : (jax.webFonts ? "web" : "local")+" "+jax.fontInUse) + }[jax.id] || "generic"; + return font + " fonts"; + }; + MENU.About.GetFormat = function () { + var jax = MathJax.Hub.outputJax["jax/mml"][0] || {}; + if (jax.id !== "HTML-CSS"|| !jax.webFonts || jax.imgFonts) return; + return jax.allowWebFonts.replace(/otf/,"woff or otf") + " fonts"; + }; + + + /* + * Handle the MathJax HELP menu + */ + MENU.Help = function (event) { + AJAX.Require("[MathJax]/extensions/HelpDialog.js", + function () {MathJax.Extension.Help.Dialog({type:event.type})}); + }; + + /* + * Handle showing of element's source + */ + MENU.ShowSource = function (event) { + if (!event) {event = window.event} + var EVENT = {screenX:event.screenX, screenY:event.screenY}; + if (!MENU.jax) return; + if (this.format === "MathML") { + var MML = MathJax.ElementJax.mml; + if (MML && typeof(MML.mbase.prototype.toMathML) !== "undefined") { + // toMathML() can call MathJax.Hub.RestartAfter, so trap errors and check + try {MENU.ShowSource.Text(MENU.jax.root.toMathML("",MENU.jax),event)} catch (err) { + if (!err.restart) {throw err} + CALLBACK.After([this,MENU.ShowSource,EVENT],err.restart); + } + } else if (!AJAX.loadingToMathML) { + AJAX.loadingToMathML = true; + MENU.ShowSource.Window(event); // WeBKit needs to open window on click event + CALLBACK.Queue( + AJAX.Require("[MathJax]/extensions/toMathML.js"), + function () { + delete AJAX.loadingToMathML; + if (!MML.mbase.prototype.toMathML) {MML.mbase.prototype.toMathML = function () {}} + }, + [this,MENU.ShowSource,EVENT] // call this function again + ); + return; + } + } else if (this.format === "Error") { + MENU.ShowSource.Text(MENU.jax.errorText,event); + } else if (CONFIG.semanticsAnnotations[this.format]) { + var annotation = MENU.jax.root.getAnnotation(this.format); + if (annotation.data[0]) MENU.ShowSource.Text(annotation.data[0].toString()); + } else { + if (MENU.jax.originalText == null) { + alert(_("NoOriginalForm","No original form available")); + return; + } + MENU.ShowSource.Text(MENU.jax.originalText,event); + } + }; + MENU.ShowSource.Window = function (event) { + if (!MENU.ShowSource.w) { + var def = [], DEF = CONFIG.windowSettings; + for (var id in DEF) {if (DEF.hasOwnProperty(id)) {def.push(id+"="+DEF[id])}} + MENU.ShowSource.w = window.open("","_blank",def.join(",")); + } + return MENU.ShowSource.w; + }; + MENU.ShowSource.Text = function (text,event) { + var w = MENU.ShowSource.Window(event); delete MENU.ShowSource.w; + text = text.replace(/^\s*/,"").replace(/\s*$/,""); + text = text.replace(/&/g,"&").replace(//g,">"); + var title = _("EqSource","MathJax Equation Source"); + if (MENU.isMobile) { + w.document.open(); + w.document.write(""+title+""); + w.document.write("
        "+text+"
        "); + w.document.write("
        "); + w.document.write(""); + w.document.close(); + } else { + w.document.open(); + w.document.write(""+title+""); + w.document.write("
        "+text+"
        "); + w.document.write(""); + w.document.close(); + var table = w.document.body.firstChild; + setTimeout(function () { + var H = (w.outerHeight-w.innerHeight)||30, W = (w.outerWidth-w.innerWidth)||30, x, y; + W = Math.max(140,Math.min(Math.floor(.5*screen.width),table.offsetWidth+W+25)); + H = Math.max(40,Math.min(Math.floor(.5*screen.height),table.offsetHeight+H+25)); + if (MENU.prototype.msieHeightBug) {H += 35}; // for title bar in XP + w.resizeTo(W,H); + var X; try {X = event.screenX} catch (e) {}; // IE8 throws an error accessing screenX + if (event && X != null) { + x = Math.max(0,Math.min(event.screenX-Math.floor(W/2), screen.width-W-20)); + y = Math.max(0,Math.min(event.screenY-Math.floor(H/2), screen.height-H-20)); + w.moveTo(x,y); + } + },50); + } + }; + + /* + * Handle rescaling all the math + */ + MENU.Scale = function () { + var JAX = ["CommonHTML","HTML-CSS","SVG","NativeMML","PreviewHTML"], m = JAX.length, + SCALE = 100, i, jax; + for (i = 0; i < m; i++) { + jax = OUTPUT[JAX[i]]; + if (jax) {SCALE = jax.config.scale; break} + } + var scale = prompt(_("ScaleMath","Scale all mathematics (compared to surrounding text) by"),SCALE+"%"); + if (scale) { + if (scale.match(/^\s*\d+(\.\d*)?\s*%?\s*$/)) { + scale = parseFloat(scale); + if (scale) { + if (scale !== SCALE) { + for (i = 0; i < m; i++) { + jax = OUTPUT[JAX[i]]; + if (jax) jax.config.scale = scale; + } + MENU.cookie.scale = HUB.config.scale = scale; + MENU.saveCookie(); + HUB.Queue(["Rerender",HUB]); + } + } else {alert(_("NonZeroScale","The scale should not be zero"))} + } else {alert(_("PercentScale", + "The scale should be a percentage (e.g., 120%%)"))} + } + }; + + /* + * Handle loading the zoom code + */ + MENU.Zoom = function () { + if (!MathJax.Extension.MathZoom) {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }; + + /* + * Handle changing the renderer + */ + MENU.Renderer = function () { + var jax = HUB.outputJax["jax/mml"]; + if (jax[0] !== CONFIG.settings.renderer) { + var BROWSER = HUB.Browser, message, MESSAGE = MENU.Renderer.Messages, warned; + // + // Check that the new renderer is appropriate for the browser + // + switch (CONFIG.settings.renderer) { + case "NativeMML": + if (!CONFIG.settings.warnedMML) { + if (BROWSER.isChrome && BROWSER.version.substr(0,3) !== "24.") {message = MESSAGE.MML.WebKit} + else if (BROWSER.isSafari && !BROWSER.versionAtLeast("5.0")) {message = MESSAGE.MML.WebKit} + else if (BROWSER.isMSIE) {if (!BROWSER.hasMathPlayer) {message = MESSAGE.MML.MSIE}} + else if (BROWSER.isEdge) {message = MESSAGE.MML.WebKit} + else {message = MESSAGE.MML[BROWSER]} + warned = "warnedMML"; + } + break; + + case "SVG": + if (!CONFIG.settings.warnedSVG) { + if (BROWSER.isMSIE && !isIE9) {message = MESSAGE.SVG.MSIE} + } + break; + } + if (message) { + message = _(message[0],message[1]); + message += "\n\n"; + message += _("SwitchAnyway", + "Switch the renderer anyway?\n\n" + + "(Press OK to switch, CANCEL to continue with the current renderer)"); + MENU.cookie.renderer = jax[0].id; MENU.saveCookie(); + if (!confirm(message)) { + MENU.cookie.renderer = CONFIG.settings.renderer = HTML.Cookie.Get("menu").renderer; + MENU.saveCookie(); + return; + } + if (warned) {MENU.cookie.warned = CONFIG.settings.warned = true} + MENU.cookie.renderer = CONFIG.settings.renderer; MENU.saveCookie(); + } + HUB.Queue( + ["setRenderer",HUB,CONFIG.settings.renderer,"jax/mml"], + ["Rerender",HUB] + ); + } + }; + MENU.Renderer.Messages = { + MML: { + WebKit: ["WebkitNativeMMLWarning", + "Your browser doesn't seem to support MathML natively, " + + "so switching to MathML output may cause the mathematics " + + "on the page to become unreadable."], + + MSIE: ["MSIENativeMMLWarning", + "Internet Explorer requires the MathPlayer plugin " + + "in order to process MathML output."], + + Opera: ["OperaNativeMMLWarning", + "Opera's support for MathML is limited, so switching to " + + "MathML output may cause some expressions to render poorly."], + + Safari: ["SafariNativeMMLWarning", + "Your browser's native MathML does not implement all the features " + + "used by MathJax, so some expressions may not render properly."], + + Firefox: ["FirefoxNativeMMLWarning", + "Your browser's native MathML does not implement all the features " + + "used by MathJax, so some expressions may not render properly."] + }, + + SVG: { + MSIE: ["MSIESVGWarning", + "SVG is not implemented in Internet Explorer prior to " + + "IE9 or when it is emulating IE8 or below. " + + "Switching to SVG output will cause the mathematics to " + + "not display properly."] + } + }; + + /* + * Toggle assistive MML settings + */ + MENU.AssistiveMML = function (item,restart) { + var AMML = MathJax.Extension.AssistiveMML; + if (!AMML) { + // Try to load the extension, but only try once. + if (!restart) + AJAX.Require("[MathJax]/extensions/AssistiveMML.js",["AssistiveMML",MENU,item,true]); + return; + } + MathJax.Hub.Queue([(CONFIG.settings.assistiveMML ? "Add" : "Remove")+"AssistiveMathML",AMML]); + }; + + /* + * Handle setting the HTMLCSS fonts + */ + MENU.Font = function () { + var HTMLCSS = OUTPUT["HTML-CSS"]; if (!HTMLCSS) return; + document.location.reload(); + }; + + /* + * Handle selection of locale and rerender the page + */ + MENU.Locale = function () { + MathJax.Localization.setLocale(CONFIG.settings.locale); + MathJax.Hub.Queue(["Reprocess",MathJax.Hub]); // FIXME: Just reprocess error messages? + }; + MENU.LoadLocale = function () { + var url = prompt(_("LoadURL","Load translation data from this URL:")); + if (url) { + if (!url.match(/\.js$/)) { + alert(_("BadURL", + "The URL should be for a javascript file that defines MathJax translation data. " + + "Javascript file names should end with '.js'" + )); + } + AJAX.Require(url,function (status) { + if (status != AJAX.STATUS.OK) {alert(_("BadData","Failed to load translation data from %1",url))} + }); + } + }; + + /* + * Handle setting MathPlayer events + */ + MENU.MPEvents = function (item) { + var discoverable = CONFIG.settings.discoverable, + MESSAGE = MENU.MPEvents.Messages; + if (!isIE9) { + if (CONFIG.settings.mpMouse && !confirm(_.apply(_,MESSAGE.IE8warning))) { + delete MENU.cookie.mpContext; delete CONFIG.settings.mpContext; + delete MENU.cookie.mpMouse; delete CONFIG.settings.mpMouse; + MENU.saveCookie(); + return; + } + CONFIG.settings.mpContext = CONFIG.settings.mpMouse; + MENU.cookie.mpContext = MENU.cookie.mpMouse = CONFIG.settings.mpMouse; + MENU.saveCookie(); + MathJax.Hub.Queue(["Rerender",MathJax.Hub]) + } else if (!discoverable && item.name[1] === "Menu Events" && CONFIG.settings.mpContext) { + alert(_.apply(_,MESSAGE.IE9warning)); + } + }; + + MENU.MPEvents.Messages = { + IE8warning: ["IE8warning", + "This will disable the MathJax menu and zoom features, " + + "but you can Alt-Click on an expression to obtain the MathJax " + + "menu instead.\n\nReally change the MathPlayer settings?"], + + IE9warning: ["IE9warning", + "The MathJax contextual menu will be disabled, but you can " + + "Alt-Click on an expression to obtain the MathJax menu instead."] + }; + + /*************************************************************/ + /*************************************************************/ + + HUB.Browser.Select({ + MSIE: function (browser) { + var quirks = (document.compatMode === "BackCompat"); + var isIE8 = browser.versionAtLeast("8.0") && document.documentMode > 7; + MENU.Augment({ + margin: 20, + msieBackgroundBug: ((document.documentMode||0) < 9), + msieFixedPositionBug: (quirks || !isIE8), + msieAboutBug: quirks, + msieHeightBug: ((document.documentMode||0) < 9) + // height of window doesn't include title bar in XP + }); + if (isIE9) { + delete CONFIG.styles["#MathJax_About"].filter; + delete CONFIG.styles[".MathJax_Menu"].filter; + } + }, + Firefox: function (browser) { + MENU.skipMouseover = browser.isMobile && browser.versionAtLeast("6.0"); + MENU.skipMousedown = browser.isMobile; + } + }); + MENU.isMobile = HUB.Browser.isMobile; + MENU.noContextMenu = HUB.Browser.noContextMenu; + + /*************************************************************/ + + // + // Creates the locale menu from the list of locales in MathJax.Localization.strings + // + MENU.CreateLocaleMenu = function () { + if (!MENU.menu) return; + var menu = MENU.menu.Find("Language").submenu, items = menu.items; + // + // Get the names of the languages and sort them + // + var locales = [], LOCALE = MathJax.Localization.strings; + for (var id in LOCALE) {if (LOCALE.hasOwnProperty(id)) {locales.push(id)}} + locales = locales.sort(); menu.items = []; + // + // Add a menu item for each + // + for (var i = 0, m = locales.length; i < m; i++) { + var title = LOCALE[locales[i]].menuTitle; + if (title) {title += " ("+locales[i]+")"} else {title = locales[i]} + menu.items.push(ITEM.RADIO([locales[i],title],"locale",{action:MENU.Locale})); + } + // + // Add the rule and "Load from URL" items + // + menu.items.push(items[items.length-2],items[items.length-1]); + }; + + // + // Create the annotation menu from MathJax.Hub.config.semanticsAnnotations + // + MENU.CreateAnnotationMenu = function () { + if (!MENU.menu) return; + var menu = MENU.menu.Find("Show Math As","Annotation").submenu; + var annotations = CONFIG.semanticsAnnotations; + for (var a in annotations) { + if (annotations.hasOwnProperty(a)) { + menu.items.push(ITEM.COMMAND([a,a], MENU.ShowSource, {hidden: true, nativeTouch: true, format: a})); + } + } + }; + + /*************************************************************/ + + HUB.Register.StartupHook("End Config",function () { + + /* + * Get the menu settings from the HUB (which includes the + * data from the cookie already), and add the format, if + * it wasn't set in the cookie. + */ + CONFIG.settings = HUB.config.menuSettings; + if (typeof(CONFIG.settings.showRenderer) !== "undefined") {CONFIG.showRenderer = CONFIG.settings.showRenderer} + if (typeof(CONFIG.settings.showFontMenu) !== "undefined") {CONFIG.showFontMenu = CONFIG.settings.showFontMenu} + if (typeof(CONFIG.settings.showContext) !== "undefined") {CONFIG.showContext = CONFIG.settings.showContext} + MENU.getCookie(); + + /* + * The main menu + */ + // Localization: items used as key, should be refactored. + MENU.menu = MENU( + ITEM.SUBMENU(["Show","Show Math As"], + ITEM.COMMAND(["MathMLcode","MathML Code"], MENU.ShowSource, {nativeTouch: true, format: "MathML"}), + ITEM.COMMAND(["Original","Original Form"], MENU.ShowSource, {nativeTouch: true}), + ITEM.SUBMENU(["Annotation","Annotation"], {disabled:true}), + ITEM.RULE(), + ITEM.CHECKBOX(["texHints","Show TeX hints in MathML"], "texHints"), + ITEM.CHECKBOX(["semantics","Add original form as annotation"], "semantics") + ), + ITEM.RULE(), + ITEM.SUBMENU(["Settings","Math Settings"], + ITEM.SUBMENU(["ZoomTrigger","Zoom Trigger"], + ITEM.RADIO(["Hover","Hover"], "zoom", {action: MENU.Zoom}), + ITEM.RADIO(["Click","Click"], "zoom", {action: MENU.Zoom}), + ITEM.RADIO(["DoubleClick","Double-Click"], "zoom", {action: MENU.Zoom}), + ITEM.RADIO(["NoZoom","No Zoom"], "zoom", {value: "None"}), + ITEM.RULE(), + ITEM.LABEL(["TriggerRequires","Trigger Requires:"]), + ITEM.CHECKBOX((HUB.Browser.isMac ? ["Option","Option"] : ["Alt","Alt"]), "ALT"), + ITEM.CHECKBOX(["Command","Command"], "CMD", {hidden: !HUB.Browser.isMac}), + ITEM.CHECKBOX(["Control","Control"], "CTRL", {hidden: HUB.Browser.isMac}), + ITEM.CHECKBOX(["Shift","Shift"], "Shift") + ), + ITEM.SUBMENU(["ZoomFactor","Zoom Factor"], + ITEM.RADIO("125%", "zscale"), + ITEM.RADIO("133%", "zscale"), + ITEM.RADIO("150%", "zscale"), + ITEM.RADIO("175%", "zscale"), + ITEM.RADIO("200%", "zscale"), + ITEM.RADIO("250%", "zscale"), + ITEM.RADIO("300%", "zscale"), + ITEM.RADIO("400%", "zscale") + ), + ITEM.RULE(), + ITEM.SUBMENU(["Renderer","Math Renderer"], {hidden:!CONFIG.showRenderer}, + ITEM.RADIO(["HTML-CSS","HTML-CSS"], "renderer", {action: MENU.Renderer}), + ITEM.RADIO(["CommonHTML","Common HTML"], "renderer", {action: MENU.Renderer, value:"CommonHTML"}), + ITEM.RADIO(["PreviewHTML","Preview HTML"],"renderer", {action: MENU.Renderer, value:"PreviewHTML"}), + ITEM.RADIO(["MathML","MathML"], "renderer", {action: MENU.Renderer, value:"NativeMML"}), + ITEM.RADIO(["SVG","SVG"], "renderer", {action: MENU.Renderer}), + ITEM.RADIO(["PlainSource","Plain Source"],"renderer", {action: MENU.Renderer, value:"PlainSource"}), + ITEM.RULE(), + ITEM.CHECKBOX(["FastPreview","Fast Preview"], "FastPreview") + ), + ITEM.SUBMENU("MathPlayer", {hidden:!HUB.Browser.isMSIE || !CONFIG.showMathPlayer, + disabled:!HUB.Browser.hasMathPlayer}, + ITEM.LABEL(["MPHandles","Let MathPlayer Handle:"]), + ITEM.CHECKBOX(["MenuEvents","Menu Events"], "mpContext", {action: MENU.MPEvents, hidden:!isIE9}), + ITEM.CHECKBOX(["MouseEvents","Mouse Events"], "mpMouse", {action: MENU.MPEvents, hidden:!isIE9}), + ITEM.CHECKBOX(["MenuAndMouse","Mouse and Menu Events"], "mpMouse", {action: MENU.MPEvents, hidden:isIE9}) + ), + ITEM.SUBMENU(["FontPrefs","Font Preference"], {hidden:!CONFIG.showFontMenu}, + ITEM.LABEL(["ForHTMLCSS","For HTML-CSS:"]), + ITEM.RADIO(["Auto","Auto"], "font", {action: MENU.Font}), + ITEM.RULE(), + ITEM.RADIO(["TeXLocal","TeX (local)"], "font", {action: MENU.Font}), + ITEM.RADIO(["TeXWeb","TeX (web)"], "font", {action: MENU.Font}), + ITEM.RADIO(["TeXImage","TeX (image)"], "font", {action: MENU.Font}), + ITEM.RULE(), + ITEM.RADIO(["STIXLocal","STIX (local)"], "font", {action: MENU.Font}), + ITEM.RADIO(["STIXWeb","STIX (web)"], "font", {action: MENU.Font}), + ITEM.RULE(), + ITEM.RADIO(["AsanaMathWeb","Asana Math (web)"], "font", {action: MENU.Font}), + ITEM.RADIO(["GyrePagellaWeb","Gyre Pagella (web)"], "font", {action: MENU.Font}), + ITEM.RADIO(["GyreTermesWeb","Gyre Termes (web)"], "font", {action: MENU.Font}), + ITEM.RADIO(["LatinModernWeb","Latin Modern (web)"], "font", {action: MENU.Font}), + ITEM.RADIO(["NeoEulerWeb","Neo Euler (web)"], "font", {action: MENU.Font}) + ), + ITEM.SUBMENU(["ContextMenu","Contextual Menu"], {hidden:!CONFIG.showContext}, + ITEM.RADIO(["MathJax","MathJax"], "context"), + ITEM.RADIO(["Browser","Browser"], "context") + ), + ITEM.COMMAND(["Scale","Scale All Math ..."],MENU.Scale), + ITEM.RULE().With({hidden:!CONFIG.showDiscoverable, name:["","discover_rule"]}), + ITEM.CHECKBOX(["Discoverable","Highlight on Hover"], "discoverable", {hidden:!CONFIG.showDiscoverable}) + ), + ITEM.SUBMENU(["Accessibility","Accessibility"], + ITEM.CHECKBOX(["AssistiveMML","Assistive MathML"], "assistiveMML", {action:MENU.AssistiveMML}), + ITEM.CHECKBOX(["InTabOrder","Include in Tab Order"], "inTabOrder") + ), + ITEM.SUBMENU(["Locale","Language"], {hidden:!CONFIG.showLocale, ltr:true}, + ITEM.RADIO("en", "locale", {action: MENU.Locale}), + ITEM.RULE().With({hidden:!CONFIG.showLocaleURL, name:["","localURL_rule"]}), + ITEM.COMMAND(["LoadLocale","Load from URL ..."], MENU.LoadLocale, {hidden:!CONFIG.showLocaleURL}) + ), + ITEM.RULE(), + ITEM.COMMAND(["About","About MathJax"],MENU.About), + ITEM.COMMAND(["Help","MathJax Help"],MENU.Help) + ); + + if (MENU.isMobile) { + (function () { + var settings = CONFIG.settings; + var trigger = MENU.menu.Find("Math Settings","Zoom Trigger").submenu; + trigger.items[0].disabled = trigger.items[1].disabled = true; + if (settings.zoom === "Hover" || settings.zoom == "Click") {settings.zoom = "None"} + trigger.items = trigger.items.slice(0,4); + + if (navigator.appVersion.match(/[ (]Android[) ]/)) { + MENU.ITEM.SUBMENU.Augment({marker: "\u00BB"}); + } + })(); + } + + MENU.CreateLocaleMenu(); + MENU.CreateAnnotationMenu(); + }); + + MENU.showRenderer = function (show) { + MENU.cookie.showRenderer = CONFIG.showRenderer = show; MENU.saveCookie(); + MENU.menu.Find("Math Settings","Math Renderer").hidden = !show; + }; + MENU.showMathPlayer = function (show) { + MENU.cookie.showMathPlayer = CONFIG.showMathPlayer = show; MENU.saveCookie(); + MENU.menu.Find("Math Settings","MathPlayer").hidden = !show; + }; + MENU.showFontMenu = function (show) { + MENU.cookie.showFontMenu = CONFIG.showFontMenu = show; MENU.saveCookie(); + MENU.menu.Find("Math Settings","Font Preference").hidden = !show; + }; + MENU.showContext = function (show) { + MENU.cookie.showContext = CONFIG.showContext = show; MENU.saveCookie(); + MENU.menu.Find("Math Settings","Contextual Menu").hidden = !show; + }; + MENU.showDiscoverable = function (show) { + MENU.cookie.showDiscoverable = CONFIG.showDiscoverable = show; MENU.saveCookie(); + MENU.menu.Find("Math Settings","Highlight on Hover").hidden = !show; + MENU.menu.Find("Math Settings","discover_rule").hidden = !show; + }; + MENU.showLocale = function (show) { + MENU.cookie.showLocale = CONFIG.showLocale = show; MENU.saveCookie(); + MENU.menu.Find("Language").hidden = !show; + }; + + MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + if (!MathJax.OutputJax["HTML-CSS"].config.imageFont) + {MENU.menu.Find("Math Settings","Font Preference","TeX (image)").disabled = true} + }); + + /*************************************************************/ + + CALLBACK.Queue( + HUB.Register.StartupHook("End Config",{}), // wait until config is complete + ["Styles",AJAX,CONFIG.styles], + ["Post",HUB.Startup.signal,"MathMenu Ready"], + ["loadComplete",AJAX,"[MathJax]/extensions/MathMenu.js"] + ); + +})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.CallBack,MathJax.OutputJax); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathZoom.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathZoom.js new file mode 100644 index 00000000..fcce3df3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathZoom.js @@ -0,0 +1,366 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/MathZoom.js + * + * Implements the zoom feature for enlarging math expressions. It is + * loaded automatically when the Zoom menu selection changes from "None". + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML,AJAX,HTMLCSS,nMML) { + var VERSION = "2.7.5"; + + var CONFIG = HUB.CombineConfig("MathZoom",{ + styles: { + // + // The styles for the MathZoom display box + // + "#MathJax_Zoom": { + position:"absolute", "background-color":"#F0F0F0", overflow:"auto", + display:"block", "z-index":301, padding:".5em", border:"1px solid black", margin:0, + "font-weight":"normal", "font-style":"normal", + "text-align":"left", "text-indent":0, "text-transform":"none", + "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", + "word-wrap":"normal", "white-space":"nowrap", "float":"none", + "-webkit-box-sizing":"content-box", // Android ≤ 2.3, iOS ≤ 4 + "-moz-box-sizing":"content-box", // Firefox ≤ 28 + "box-sizing":"content-box", // Chrome, Firefox 29+, IE 8+, Opera, Safari 5.1 + "box-shadow":"5px 5px 15px #AAAAAA", // Opera 10.5 and IE9 + "-webkit-box-shadow":"5px 5px 15px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow":"5px 5px 15px #AAAAAA", // Forefox 3.5 + "-khtml-box-shadow":"5px 5px 15px #AAAAAA", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE + }, + + // + // The styles for the hidden overlay (should not need to be adjusted by the page author) + // + "#MathJax_ZoomOverlay": { + position:"absolute", left:0, top:0, "z-index":300, display:"inline-block", + width:"100%", height:"100%", border:0, padding:0, margin:0, + "background-color":"white", opacity:0, filter:"alpha(opacity=0)" + }, + + "#MathJax_ZoomFrame": { + position:"relative", display:"inline-block", + height:0, width:0 + }, + + "#MathJax_ZoomEventTrap": { + position:"absolute", left:0, top:0, "z-index":302, + display:"inline-block", border:0, padding:0, margin:0, + "background-color":"white", opacity:0, filter:"alpha(opacity=0)" + } + } + }); + + var FALSE, HOVER, EVENT; + MathJax.Hub.Register.StartupHook("MathEvents Ready",function () { + EVENT = MathJax.Extension.MathEvents.Event; + FALSE = MathJax.Extension.MathEvents.Event.False; + HOVER = MathJax.Extension.MathEvents.Hover; + }); + + /*************************************************************/ + + var ZOOM = MathJax.Extension.MathZoom = { + version: VERSION, + settings: HUB.config.menuSettings, + scrollSize: 18, // width of scrool bars + + // + // Process events passed from output jax + // + HandleEvent: function (event,type,math) { + if (ZOOM.settings.CTRL && !event.ctrlKey) return true; + if (ZOOM.settings.ALT && !event.altKey) return true; + if (ZOOM.settings.CMD && !event.metaKey) return true; + if (ZOOM.settings.Shift && !event.shiftKey) return true; + if (!ZOOM[type]) return true; + return ZOOM[type](event,math); + }, + + // + // Zoom on click + // + Click: function (event,math) { + if (this.settings.zoom === "Click") {return this.Zoom(event,math)} + }, + + // + // Zoom on double click + // + DblClick: function (event,math) { + if (this.settings.zoom === "Double-Click" || this.settings.zoom === "DoubleClick") {return this.Zoom(event,math)} + }, + + // + // Zoom on hover (called by MathEvents.Hover) + // + Hover: function (event,math) { + if (this.settings.zoom === "Hover") {this.Zoom(event,math); return true} + return false; + }, + + + // + // Handle the actual zooming + // + Zoom: function (event,math) { + // + // Remove any other zoom and clear timers + // + this.Remove(); HOVER.ClearHoverTimer(); EVENT.ClearSelection(); + + // + // Find the jax + // + var JAX = MathJax.OutputJax[math.jaxID]; + var jax = JAX.getJaxFromMath(math); + if (jax.hover) {HOVER.UnHover(jax)} + + // + // Create the DOM elements for the zoom box + // + var container = this.findContainer(math); + var Mw = Math.floor(.85*container.clientWidth), + Mh = Math.max(document.body.clientHeight,document.documentElement.clientHeight); + if (this.getOverflow(container) !== "visible") {Mh = Math.min(container.clientHeight,Mh)} + Mh = Math.floor(.85*Mh); + var div = HTML.Element( + "span",{id:"MathJax_ZoomFrame"},[ + ["span",{id:"MathJax_ZoomOverlay", onmousedown:this.Remove}], + ["span",{ + id:"MathJax_Zoom", onclick:this.Remove, + style:{visibility:"hidden", fontSize:this.settings.zscale} + },[["span",{style:{display:"inline-block", "white-space":"nowrap"}}]] + ]] + ); + var zoom = div.lastChild, span = zoom.firstChild, overlay = div.firstChild; + math.parentNode.insertBefore(div,math); math.parentNode.insertBefore(math,div); // put div after math + if (span.addEventListener) {span.addEventListener("mousedown",this.Remove,true)} + var eW = zoom.offsetWidth || zoom.clientWidth; Mw -= eW; Mh -= eW; + zoom.style.maxWidth = Mw+"px"; zoom.style.maxHeight = Mh+"px"; + + if (this.msieTrapEventBug) { + var trap = HTML.Element("span",{id:"MathJax_ZoomEventTrap", onmousedown:this.Remove}); + div.insertBefore(trap,zoom); + } + + // + // Display the zoomed math + // + if (this.msieZIndexBug) { + // MSIE doesn't do z-index properly, so move the div to the document.body, + // and use an image as a tracker for the usual position + var tracker = HTML.addElement(document.body,"img",{ + src:"about:blank", id:"MathJax_ZoomTracker", width:0, height:0, + style:{width:0, height:0, position:"relative"} + }); + div.style.position = "relative"; + div.style.zIndex = CONFIG.styles["#MathJax_ZoomOverlay"]["z-index"]; + div = tracker; + } + + var bbox = JAX.Zoom(jax,span,math,Mw,Mh); + + // + // Fix up size and position for browsers with bugs (IE) + // + if (this.msiePositionBug) { + if (this.msieSizeBug) + {zoom.style.height = bbox.zH+"px"; zoom.style.width = bbox.zW+"px"} // IE8 gets the dimensions completely wrong + if (zoom.offsetHeight > Mh) {zoom.style.height = Mh+"px"; zoom.style.width = (bbox.zW+this.scrollSize)+"px"} // IE doesn't do max-height? + if (zoom.offsetWidth > Mw) {zoom.style.width = Mw+"px"; zoom.style.height = (bbox.zH+this.scrollSize)+"px"} + } + if (this.operaPositionBug) {zoom.style.width = Math.min(Mw,bbox.zW)+"px"} // Opera gets width as 0? + if (zoom.offsetWidth > eW && zoom.offsetWidth-eW < Mw && zoom.offsetHeight-eW < Mh) + {zoom.style.overflow = "visible"} // don't show scroll bars if we don't need to + this.Position(zoom,bbox); + if (this.msieTrapEventBug) { + trap.style.height = zoom.clientHeight+"px"; trap.style.width = zoom.clientWidth+"px"; + trap.style.left = (parseFloat(zoom.style.left)+zoom.clientLeft)+"px"; + trap.style.top = (parseFloat(zoom.style.top)+zoom.clientTop)+"px"; + } + zoom.style.visibility = ""; + + // + // Add event handlers + // + if (this.settings.zoom === "Hover") {overlay.onmouseover = this.Remove} + if (window.addEventListener) {addEventListener("resize",this.Resize,false)} + else if (window.attachEvent) {attachEvent("onresize",this.Resize)} + else {this.onresize = window.onresize; window.onresize = this.Resize} + + // + // Let others know about the zoomed math + // + HUB.signal.Post(["math zoomed",jax]); + + // + // Canel further actions + // + return FALSE(event); + }, + + // + // Set the position of the zoom box and overlay + // + Position: function (zoom,bbox) { + zoom.style.display = "none"; // avoids getting excessive width in Resize() + var XY = this.Resize(), x = XY.x, y = XY.y, W = bbox.mW; + zoom.style.display = ""; + var dx = -W-Math.floor((zoom.offsetWidth-W)/2), dy = bbox.Y; + zoom.style.left = Math.max(dx,10-x)+"px"; zoom.style.top = Math.max(dy,10-y)+"px"; + if (!ZOOM.msiePositionBug) {ZOOM.SetWH()} // refigure overlay width/height + }, + + // + // Handle resizing of overlay while zoom is displayed + // + Resize: function (event) { + if (ZOOM.onresize) {ZOOM.onresize(event)} + var div = document.getElementById("MathJax_ZoomFrame"), + overlay = document.getElementById("MathJax_ZoomOverlay"); + var xy = ZOOM.getXY(div), obj = ZOOM.findContainer(div); + if (ZOOM.getOverflow(obj) !== "visible") { + overlay.scroll_parent = obj; // Save this for future reference. + var XY = ZOOM.getXY(obj); // Remove container position + xy.x -= XY.x; xy.y -= XY.y; + XY = ZOOM.getBorder(obj); // Remove container border + xy.x -= XY.x; xy.y -= XY.y; + } + overlay.style.left = (-xy.x)+"px"; overlay.style.top = (-xy.y)+"px"; + if (ZOOM.msiePositionBug) {setTimeout(ZOOM.SetWH,0)} else {ZOOM.SetWH()} + return xy; + }, + SetWH: function () { + var overlay = document.getElementById("MathJax_ZoomOverlay"); + if (!overlay) return; + overlay.style.display = "none"; // so scrollWidth/Height will be right below + var doc = overlay.scroll_parent || document.documentElement || document.body; + overlay.style.width = doc.scrollWidth + "px"; + overlay.style.height = Math.max(doc.clientHeight,doc.scrollHeight) + "px"; + overlay.style.display = ""; + }, + findContainer: function (obj) { + obj = obj.parentNode; + while (obj.parentNode && obj !== document.body && ZOOM.getOverflow(obj) === "visible") + {obj = obj.parentNode} + return obj; + }, + // + // Look up CSS properties (use getComputeStyle if available, or currentStyle if not) + // + getOverflow: (window.getComputedStyle ? + function (obj) {return getComputedStyle(obj).overflow} : + function (obj) {return (obj.currentStyle||{overflow:"visible"}).overflow}), + getBorder: function (obj) { + var size = {thin: 1, medium: 2, thick: 3}; + var style = (window.getComputedStyle ? getComputedStyle(obj) : + (obj.currentStyle || {borderLeftWidth:0,borderTopWidth:0})); + var x = style.borderLeftWidth, y = style.borderTopWidth; + if (size[x]) {x = size[x]} else {x = parseInt(x)} + if (size[y]) {y = size[y]} else {y = parseInt(y)} + return {x:x, y:y}; + }, + // + // Get the position of an element on the page + // + getXY: function (div) { + var x = 0, y = 0, obj; + obj = div; while (obj.offsetParent) {x += obj.offsetLeft; obj = obj.offsetParent} + if (ZOOM.operaPositionBug) {div.style.border = "1px solid"} // to get vertical position right + obj = div; while (obj.offsetParent) {y += obj.offsetTop; obj = obj.offsetParent} + if (ZOOM.operaPositionBug) {div.style.border = ""} + return {x:x, y:y}; + }, + + // + // Remove zoom display and event handlers + // + Remove: function (event) { + var div = document.getElementById("MathJax_ZoomFrame"); + if (div) { + var JAX = MathJax.OutputJax[div.previousSibling.jaxID]; + var jax = JAX.getJaxFromMath(div.previousSibling); + HUB.signal.Post(["math unzoomed",jax]); + div.parentNode.removeChild(div); + div = document.getElementById("MathJax_ZoomTracker"); + if (div) {div.parentNode.removeChild(div)} + if (ZOOM.operaRefreshBug) { + // force a redisplay of the page + // (Opera doesn't refresh properly after the zoom is removed) + var overlay = HTML.addElement(document.body,"div",{ + style:{position:"fixed", left:0, top:0, width:"100%", height:"100%", + backgroundColor:"white", opacity:0}, + id: "MathJax_OperaDiv" + }); + document.body.removeChild(overlay); + } + if (window.removeEventListener) {removeEventListener("resize",ZOOM.Resize,false)} + else if (window.detachEvent) {detachEvent("onresize",ZOOM.Resize)} + else {window.onresize = ZOOM.onresize; delete ZOOM.onresize} + } + return FALSE(event); + } + + }; + + + /*************************************************************/ + + HUB.Browser.Select({ + MSIE: function (browser) { + var mode = (document.documentMode || 0); + var isIE9 = (mode >= 9); + ZOOM.msiePositionBug = !isIE9; + ZOOM.msieSizeBug = browser.versionAtLeast("7.0") && + (!document.documentMode || mode === 7 || mode === 8); + ZOOM.msieZIndexBug = (mode <= 7); + ZOOM.msieInlineBlockAlignBug = (mode <= 7); + ZOOM.msieTrapEventBug = !window.addEventListener; + if (document.compatMode === "BackCompat") {ZOOM.scrollSize = 52} // don't know why this is so far off + if (isIE9) {delete CONFIG.styles["#MathJax_Zoom"].filter} + }, + + Opera: function (browser) { + ZOOM.operaPositionBug = true; + ZOOM.operaRefreshBug = true; + } + }); + + ZOOM.topImg = (ZOOM.msieInlineBlockAlignBug ? + HTML.Element("img",{style:{width:0,height:0,position:"relative"},src:"about:blank"}) : + HTML.Element("span",{style:{width:0,height:0,display:"inline-block"}}) + ); + if (ZOOM.operaPositionBug || ZOOM.msieTopBug) {ZOOM.topImg.style.border="1px solid"} + + /*************************************************************/ + + MathJax.Callback.Queue( + ["StartupHook",MathJax.Hub.Register,"Begin Styles",{}], + ["Styles",AJAX,CONFIG.styles], + ["Post",HUB.Startup.signal,"MathZoom Ready"], + ["loadComplete",AJAX,"[MathJax]/extensions/MathZoom.js"] + ); + +})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.OutputJax["HTML-CSS"],MathJax.OutputJax.NativeMML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/Safe.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/Safe.js new file mode 100644 index 00000000..e013aa20 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/Safe.js @@ -0,0 +1,428 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/Safe.js + * + * Implements a "Safe" mode that disables features that could be + * misused in a shared environment (such as href's to javascript URL's). + * See the CONFIG variable below for configuration options. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,AJAX) { + var VERSION = "2.7.5"; + + var CONFIG = MathJax.Hub.CombineConfig("Safe",{ + allow: { + // + // Values can be "all", "safe", or "none" + // + URLs: "safe", // safe are in safeProtocols below + classes: "safe", // safe start with MJX- + cssIDs: "safe", // safe start with MJX- + styles: "safe", // safe are in safeStyles below + fontsize: "all", // safe are between sizeMin and sizeMax em's + require: "safe" // safe are in safeRequire below + }, + sizeMin: .7, // \scriptsize + sizeMax: 1.44, // \large + lengthMax: 3, // largest padding/border/margin, etc. in em's + safeProtocols: { + http: true, + https: true, + file: true, + javascript: false + }, + safeStyles: { + color: true, + backgroundColor: true, + border: true, + cursor: true, + margin: true, + padding: true, + textShadow: true, + fontFamily: true, + fontSize: true, + fontStyle: true, + fontWeight: true, + opacity: true, + outline: true + }, + safeRequire: { + action: true, + amscd: true, + amsmath: true, + amssymbols: true, + autobold: false, + "autoload-all": false, + bbox: true, + begingroup: true, + boldsymbol: true, + cancel: true, + color: true, + enclose: true, + extpfeil: true, + HTML: true, + mathchoice: true, + mhchem: true, + newcommand: true, + noErrors: false, + noUndefined: false, + unicode: true, + verb: true + }, + // + // CSS styles that have Top/Right/Bottom/Left versions + // + styleParts: { + border: true, + padding: true, + margin: true, + outline: true + }, + // + // CSS styles that are lengths needing max/min testing + // A string value means test that style value; + // An array gives [min,max] in em's + // Otherwise use [-lengthMax,lengthMax] from above + // + styleLengths: { + borderTop: "borderTopWidth", + borderRight: "borderRightWidth", + borderBottom: "borderBottomWidth", + borderLeft: "borderLeftWidth", + paddingTop: true, + paddingRight: true, + paddingBottom: true, + paddingLeft: true, + marginTop: true, + marginRight: true, + marginBottom: true, + marginLeft: true, + outlineTop: true, + outlineRight: true, + outlineBottom: true, + outlineLeft: true, + fontSize: [.7,1.44] + } + }); + + var ALLOW = CONFIG.allow; + if (ALLOW.fontsize !== "all") {CONFIG.safeStyles.fontSize = false} + + var SAFE = MathJax.Extension.Safe = { + version: VERSION, + config: CONFIG, + div1: document.createElement("div"), // for CSS processing + div2: document.createElement("div"), + + // + // Methods called for MathML attribute processing + // + filter: { + href: "filterURL", + src: "filterURL", + altimg: "filterURL", + "class": "filterClass", + style: "filterStyles", + id: "filterID", + fontsize: "filterFontSize", + mathsize: "filterFontSize", + scriptminsize: "filterFontSize", + scriptsizemultiplier: "filterSizeMultiplier", + scriptlevel: "filterScriptLevel" + }, + + // + // Filter HREF URL's + // + filterURL: function (url) { + var protocol = (url.match(/^\s*([a-z]+):/i)||[null,""])[1].toLowerCase(); + if (ALLOW.URLs === "none" || + (ALLOW.URLs !== "all" && !CONFIG.safeProtocols[protocol])) {url = null} + return url; + }, + + // + // Filter class names and css ID's + // + filterClass: function (CLASS) { + if (ALLOW.classes === "none" || + (ALLOW.classes !== "all" && !CLASS.match(/^MJX-[-a-zA-Z0-9_.]+$/))) {CLASS = null} + return CLASS; + }, + filterID: function (id) { + if (ALLOW.cssIDs === "none" || + (ALLOW.cssIDs !== "all" && !id.match(/^MJX-[-a-zA-Z0-9_.]+$/))) {id = null} + return id; + }, + + // + // Filter style strings + // + filterStyles: function (styles) { + if (ALLOW.styles === "all") {return styles} + if (ALLOW.styles === "none") {return null} + try { + // + // Set the div1 styles to the given styles, and clear div2 + // + var STYLE1 = this.div1.style, STYLE2 = this.div2.style, value; + STYLE1.cssText = styles; STYLE2.cssText = ""; + // + // Check each allowed style and transfer OK ones to div2 + // If the style has Top/Right/Bottom/Left, look at all four separately + // + for (var name in CONFIG.safeStyles) {if (CONFIG.safeStyles.hasOwnProperty(name)) { + if (CONFIG.styleParts[name]) { + for (var i = 0; i < 4; i++) { + var NAME = name+["Top","Right","Bottom","Left"][i] + value = this.filterStyle(NAME,STYLE1); + if (value) {STYLE2[NAME] = value} + } + } else { + value = this.filterStyle(name,STYLE1); + if (value) {STYLE2[name] = value} + } + }} + // + // Return the div2 style string + // + styles = STYLE2.cssText; + } catch (e) {styles = null} + return styles; + }, + // + // Filter an individual name:value style pair + // + filterStyle: function (name,styles) { + var value = styles[name]; + if (typeof value !== "string" || value === "") {return null} + if (value.match(/^\s*expression/)) {return null} + if (value.match(/javascript:/)) {return null} + var NAME = name.replace(/Top|Right|Left|Bottom/,""); + if (!CONFIG.safeStyles[name] && !CONFIG.safeStyles[NAME]) {return null} + if (!CONFIG.styleLengths[name]) {return value} + return (this.filterStyleLength(name,value,styles) ? value : null); + }, + filterStyleLength: function (name,value,styles) { + if (typeof CONFIG.styleLengths[name] === "string") value = styles[CONFIG.styleLengths[name]]; + value = this.length2em(value); + if (value == null) return false; + var mM = [-CONFIG.lengthMax,CONFIG.lengthMax]; + if (MathJax.Object.isArray(CONFIG.styleLengths[name])) mM = CONFIG.styleLengths[name]; + return (value >= mM[0] && value <= mM[1]); + }, + // + // Conversion of units to em's + // + unit2em: { + em: 1, + ex: .5, // assume 1ex = .5em + ch: .5, // assume 1ch = .5em + rem: 1, // assume 1rem = 1em + px: 1/16, // assume 1em = 16px + mm: 96/25.4/16, // 25.4mm = 96px + cm: 96/2.54/16, // 2.54cm = 96px + 'in': 96/16, // 1in = 96px + pt: 96/72/16, // 72pt = 1in + pc: 96/6/16 // 1pc = 12pt + }, + length2em: function (value) { + var match = value.match(/(.+)(em|ex|ch|rem|px|mm|cm|in|pt|pc)/); + if (!match) return null; + return parseFloat(match[1])*this.unit2em[match[2]]; + }, + + // + // Filter TeX font size values (in em's) + // + filterSize: function (size) { + if (ALLOW.fontsize === "none") {return null} + if (ALLOW.fontsize !== "all") + {size = Math.min(Math.max(size,CONFIG.sizeMin),CONFIG.sizeMax)} + return size; + }, + filterFontSize: function (size) { + return (ALLOW.fontsize === "all" ? size: null); + }, + + // + // Filter scriptsizemultiplier + // + filterSizeMultiplier: function (size) { + if (ALLOW.fontsize === "none") {size = null} + else if (ALLOW.fontsize !== "all") {size = Math.min(1,Math.max(.6,size)).toString()} + return size; + }, + // + // Filter scriptLevel + // + filterScriptLevel: function (level) { + if (ALLOW.fontsize === "none") {level = null} + else if (ALLOW.fontsize !== "all") {level = Math.max(0,level).toString()} + return level; + }, + + // + // Filter TeX extension names + // + filterRequire: function (name) { + if (ALLOW.require === "none" || + (ALLOW.require !== "all" && !CONFIG.safeRequire[name.toLowerCase()])) + {name = null} + return name; + } + + }; + + HUB.Register.StartupHook("TeX HTML Ready",function () { + var TEX = MathJax.InputJax.TeX; + + TEX.Parse.Augment({ + + // + // Implements \href{url}{math} with URL filter + // + HREF_attribute: function (name) { + var url = SAFE.filterURL(this.GetArgument(name)), + arg = this.GetArgumentMML(name); + if (url) {arg.With({href:url})} + this.Push(arg); + }, + + // + // Implements \class{name}{math} with class-name filter + // + CLASS_attribute: function (name) { + var CLASS = SAFE.filterClass(this.GetArgument(name)), + arg = this.GetArgumentMML(name); + if (CLASS) { + if (arg["class"] != null) {CLASS = arg["class"] + " " + CLASS} + arg.With({"class":CLASS}); + } + this.Push(arg); + }, + + // + // Implements \style{style-string}{math} with style filter + // + STYLE_attribute: function (name) { + var style = SAFE.filterStyles(this.GetArgument(name)), + arg = this.GetArgumentMML(name); + if (style) { + if (arg.style != null) { + if (style.charAt(style.length-1) !== ";") {style += ";"} + style = arg.style + " " + style; + } + arg.With({style: style}); + } + this.Push(arg); + }, + + // + // Implements \cssId{id}{math} with ID filter + // + ID_attribute: function (name) { + var ID = SAFE.filterID(this.GetArgument(name)), + arg = this.GetArgumentMML(name); + if (ID) {arg.With({id:ID})} + this.Push(arg); + } + + }); + + }); + + HUB.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX, + PARSE = TEX.Parse, METHOD = SAFE.filter; + + PARSE.Augment({ + + // + // Implements \require{name} with filtering + // + Require: function (name) { + var file = this.GetArgument(name).replace(/.*\//,"").replace(/[^a-z0-9_.-]/ig,""); + file = SAFE.filterRequire(file); + if (file) {this.Extension(null,file)} + }, + + // + // Controls \mmlToken attributes + // + MmlFilterAttribute: function (name,value) { + if (METHOD[name]) {value = SAFE[METHOD[name]](value)} + return value; + }, + + // + // Handles font size macros with filtering + // + SetSize: function (name,size) { + size = SAFE.filterSize(size); + if (size) { + this.stack.env.size = size; + this.Push(TEX.Stack.Item.style().With({styles: {mathsize: size+"em"}})); + } + } + + }); + }); + + HUB.Register.StartupHook("TeX bbox Ready",function () { + var TEX = MathJax.InputJax.TeX; + + // + // Filter the styles for \bbox + // + TEX.Parse.Augment({ + BBoxStyle: function (styles) {return SAFE.filterStyles(styles)}, + BBoxPadding: function (pad) { + var styles = SAFE.filterStyles("padding: "+pad); + return (styles ? pad : 0); + } + }); + + }); + + HUB.Register.StartupHook("MathML Jax Ready",function () { + var PARSE = MathJax.InputJax.MathML.Parse, + METHOD = SAFE.filter; + + // + // Filter MathML attributes + // + PARSE.Augment({ + filterAttribute: function (name,value) { + if (METHOD[name]) {value = SAFE[METHOD[name]](value)} + return value; + } + }); + + }); + + // MathML input (href, style, fontsize, class, id) + + HUB.Startup.signal.Post("Safe Extension Ready"); + AJAX.loadComplete("[MathJax]/extensions/Safe.js"); + +})(MathJax.Hub,MathJax.Ajax); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMScd.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMScd.js new file mode 100644 index 00000000..625beb19 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMScd.js @@ -0,0 +1,158 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/AMScd.js + * + * Implements the CD environment for commutative diagrams. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/AMScd"] = { + version: "2.7.5", + config: MathJax.Hub.CombineConfig("TeX.CD",{ + colspace: "5pt", + rowspace: "5pt", + harrowsize: "2.75em", + varrowsize: "1.75em", + hideHorizontalLabels: false + }) +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var MML = MathJax.ElementJax.mml, + TEX = MathJax.InputJax.TeX, + STACKITEM = TEX.Stack.Item, + TEXDEF = TEX.Definitions, + CONFIG = MathJax.Extension["TeX/AMScd"].config; + + TEXDEF.environment.CD = "CD_env"; + TEXDEF.special["@"] = "CD_arrow"; + TEXDEF.macros.minCDarrowwidth = "CD_minwidth"; + TEXDEF.macros.minCDarrowheight = "CD_minheight"; + + TEX.Parse.Augment({ + // + // Implements \begin{CD}...\end{CD} + // + CD_env: function (begin) { + this.Push(begin); + return STACKITEM.array().With({ + arraydef: { + columnalign: "center", + columnspacing: CONFIG.colspace, + rowspacing: CONFIG.rowspace, + displaystyle: true + }, + minw: this.stack.env.CD_minw || CONFIG.harrowsize, + minh: this.stack.env.CD_minh || CONFIG.varrowsize + }); + }, + + CD_arrow: function (name) { + var c = this.string.charAt(this.i); + if (!c.match(/[>>> @<<< @VVV and @AAA, get the arrow and labels + // + var arrow = {">":"\u2192", "<":"\u2190", V:"\u2193", A:"\u2191"}[c]; + var a = this.GetUpTo(name+c,c), + b = this.GetUpTo(name+c,c); + + if (c === ">" || c === "<") { + // + // Lay out horizontal arrows with munderover if it has labels + // + mml = MML.mo(arrow).With(hdef); + if (!a) {a = "\\kern "+top.minw} // minsize needs work + if (a || b) { + var pad = {width:"+11mu", lspace:"6mu"}; + mml = MML.munderover(this.mmlToken(mml)); + if (a) { + a = TEX.Parse(a,this.stack.env).mml(); + mml.SetData(mml.over,MML.mpadded(a).With(pad).With({voffset:".1em"})); + } + if (b) { + b = TEX.Parse(b,this.stack.env).mml(); + mml.SetData(mml.under,MML.mpadded(b).With(pad)); + } + if (CONFIG.hideHorizontalLabels) + {mml = MML.mpadded(mml).With({depth:0, height:".67em"})} + } + } else { + // + // Lay out vertical arrows with mrow if there are labels + // + mml = arrow = this.mmlToken(MML.mo(arrow).With(vdef)); + if (a || b) { + mml = MML.mrow(); + if (a) {mml.Append(TEX.Parse("\\scriptstyle\\llap{"+a+"}",this.stack.env).mml())} + mml.Append(arrow.With({texClass: MML.TEXCLASS.ORD})); + if (b) {mml.Append(TEX.Parse("\\scriptstyle\\rlap{"+b+"}",this.stack.env).mml())} + } + } + } + if (mml) {this.Push(mml)}; + this.CD_cell(name); + }, + CD_cell: function (name) { + var top = this.stack.Top(); + if ((top.table||[]).length % 2 === 0 && (top.row||[]).length === 0) { + // + // Add a strut to the first cell in even rows to get + // better spacing of arrow rows. + // + this.Push(MML.mpadded().With({height:"8.5pt",depth:"2pt"})); + } + this.Push(STACKITEM.cell().With({isEntry:true, name:name})); + }, + + CD_minwidth: function (name) { + this.stack.env.CD_minw = this.GetDimen(name); + }, + CD_minheight: function (name) { + this.stack.env.CD_minh = this.GetDimen(name); + } + + }); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMScd.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSmath.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSmath.js new file mode 100644 index 00000000..f79a76b4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSmath.js @@ -0,0 +1,658 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/AMSmath.js + * + * Implements AMS math environments and macros. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/AMSmath"] = { + version: "2.7.5", + + number: 0, // current equation number + startNumber: 0, // current starting equation number (for when equation is restarted) + IDs: {}, // IDs used in previous equations + eqIDs: {}, // IDs used in this equation + labels: {}, // the set of labels + eqlabels: {}, // labels in the current equation + refs: [] // array of jax with unresolved references +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var MML = MathJax.ElementJax.mml, + TEX = MathJax.InputJax.TeX, + AMS = MathJax.Extension["TeX/AMSmath"]; + + var TEXDEF = TEX.Definitions, + STACKITEM = TEX.Stack.Item, + CONFIG = TEX.config.equationNumbers; + + var COLS = function (W) { + var WW = []; + for (var i = 0, m = W.length; i < m; i++) + {WW[i] = TEX.Parse.prototype.Em(W[i])} + return WW.join(" "); + }; + + // + // Get the URL of the page (for use with formatURL) when there + // is a element on the page. + // + var baseURL = (document.getElementsByTagName("base").length === 0) ? "" : + String(document.location).replace(/#.*$/,""); + + + /******************************************************************************/ + + TEXDEF.Add({ + mathchar0mo: { + iiiint: ['2A0C',{texClass: MML.TEXCLASS.OP}] + }, + + macros: { + mathring: ['Accent','2DA'], // or 0x30A + + nobreakspace: 'Tilde', + negmedspace: ['Spacer',MML.LENGTH.NEGATIVEMEDIUMMATHSPACE], + negthickspace: ['Spacer',MML.LENGTH.NEGATIVETHICKMATHSPACE], + +// intI: ['Macro','\\mathchoice{\\!}{}{}{}\\!\\!\\int'], +// iint: ['MultiIntegral','\\int\\intI'], // now in core TeX input jax +// iiint: ['MultiIntegral','\\int\\intI\\intI'], // now in core TeX input jax +// iiiint: ['MultiIntegral','\\int\\intI\\intI\\intI'], // now in mathchar0mo above + idotsint: ['MultiIntegral','\\int\\cdots\\int'], + +// dddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}}',1], +// ddddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}\\mathord{.}}',1], + dddot: ['Accent','20DB'], + ddddot: ['Accent','20DC'], + + sideset: ['Macro','\\mathop{\\mathop{\\rlap{\\phantom{#3}}}\\nolimits#1\\!\\mathop{#3}\\nolimits#2}',3], + + boxed: ['Macro','\\fbox{$\\displaystyle{#1}$}',1], + + tag: 'HandleTag', + notag: 'HandleNoTag', + label: 'HandleLabel', + ref: 'HandleRef', + eqref: ['HandleRef',true], + + substack: ['Macro','\\begin{subarray}{c}#1\\end{subarray}',1], + + injlim: ['NamedOp','inj lim'], + projlim: ['NamedOp','proj lim'], + varliminf: ['Macro','\\mathop{\\underline{\\mmlToken{mi}{lim}}}'], + varlimsup: ['Macro','\\mathop{\\overline{\\mmlToken{mi}{lim}}}'], + varinjlim: ['Macro','\\mathop{\\underrightarrow{\\mmlToken{mi}{lim}}}'], + varprojlim: ['Macro','\\mathop{\\underleftarrow{\\mmlToken{mi}{lim}}}'], + + DeclareMathOperator: 'HandleDeclareOp', + operatorname: 'HandleOperatorName', + SkipLimits: 'SkipLimits', + + genfrac: 'Genfrac', + frac: ['Genfrac',"","","",""], + tfrac: ['Genfrac',"","","",1], + dfrac: ['Genfrac',"","","",0], + binom: ['Genfrac',"(",")","0",""], + tbinom: ['Genfrac',"(",")","0",1], + dbinom: ['Genfrac',"(",")","0",0], + + cfrac: 'CFrac', + + shoveleft: ['HandleShove',MML.ALIGN.LEFT], + shoveright: ['HandleShove',MML.ALIGN.RIGHT], + + xrightarrow: ['xArrow',0x2192,5,6], + xleftarrow: ['xArrow',0x2190,7,3] + }, + + environment: { + align: ['AMSarray',null,true,true, 'rlrlrlrlrlrl',COLS([0,2,0,2,0,2,0,2,0,2,0])], + 'align*': ['AMSarray',null,false,true, 'rlrlrlrlrlrl',COLS([0,2,0,2,0,2,0,2,0,2,0])], + multline: ['Multline',null,true], + 'multline*': ['Multline',null,false], + split: ['AMSarray',null,false,false,'rl',COLS([0])], + gather: ['AMSarray',null,true,true, 'c'], + 'gather*': ['AMSarray',null,false,true, 'c'], + + alignat: ['AlignAt',null,true,true], + 'alignat*': ['AlignAt',null,false,true], + alignedat: ['AlignAt',null,false,false], + + aligned: ['AlignedAMSArray',null,null,null,'rlrlrlrlrlrl',COLS([0,2,0,2,0,2,0,2,0,2,0]),".5em",'D'], + gathered: ['AlignedAMSArray',null,null,null,'c',null,".5em",'D'], + + subarray: ['Array',null,null,null,null,COLS([0]),"0.1em",'S',1], + smallmatrix: ['Array',null,null,null,'c',COLS([1/3]),".2em",'S',1], + + 'equation': ['EquationBegin','Equation',true], + 'equation*': ['EquationBegin','EquationStar',false], + + eqnarray: ['AMSarray',null,true,true, 'rcl',"0 "+MML.LENGTH.THICKMATHSPACE,".5em"], + 'eqnarray*': ['AMSarray',null,false,true,'rcl',"0 "+MML.LENGTH.THICKMATHSPACE,".5em"] + }, + + delimiter: { + '\\lvert': ['007C',{texClass:MML.TEXCLASS.OPEN}], + '\\rvert': ['007C',{texClass:MML.TEXCLASS.CLOSE}], + '\\lVert': ['2016',{texClass:MML.TEXCLASS.OPEN}], + '\\rVert': ['2016',{texClass:MML.TEXCLASS.CLOSE}] + } + },null,true); + + + /******************************************************************************/ + + TEX.Parse.Augment({ + + /* + * Add the tag to the environment (to be added to the table row later) + */ + HandleTag: function (name) { + var star = this.GetStar(); + var arg = this.trimSpaces(this.GetArgument(name)), tag = arg; + if (!star) {arg = CONFIG.formatTag(arg)} + var global = this.stack.global; global.tagID = tag; + if (global.notags) { + TEX.Error(["CommandNotAllowedInEnv", + "%1 not allowed in %2 environment", + name,global.notags] + ); + } + if (global.tag) {TEX.Error(["MultipleCommand","Multiple %1",name])} + global.tag = MML.mtd.apply(MML,this.InternalMath(arg)).With({id:CONFIG.formatID(tag)}); + }, + HandleNoTag: function (name) { + if (this.stack.global.tag) {delete this.stack.global.tag} + this.stack.global.notag = true; // prevent auto-tagging + }, + + /* + * Record a label name for a tag + */ + HandleLabel: function (name) { + var global = this.stack.global, label = this.GetArgument(name); + if (label === "") return; + if (!AMS.refUpdate) { + if (global.label) {TEX.Error(["MultipleCommand","Multiple %1",name])} + global.label = label; + if (AMS.labels[label] || AMS.eqlabels[label]) + {TEX.Error(["MultipleLabel","Label '%1' multiply defined",label])} + AMS.eqlabels[label] = {tag:"???", id:""}; // will be replaced by tag value later + } + }, + + /* + * Handle a label reference + */ + HandleRef: function (name,eqref) { + var label = this.GetArgument(name); + var ref = AMS.labels[label] || AMS.eqlabels[label]; + if (!ref) {ref = {tag:"???",id:""}; AMS.badref = !AMS.refUpdate} + var tag = ref.tag; if (eqref) {tag = CONFIG.formatTag(tag)} + this.Push(MML.mrow.apply(MML,this.InternalMath(tag)).With({ + href:CONFIG.formatURL(ref.id,baseURL), "class":"MathJax_ref" + })); + }, + + /* + * Handle \DeclareMathOperator + */ + HandleDeclareOp: function (name) { + var limits = (this.GetStar() ? "" : "\\nolimits\\SkipLimits"); + var cs = this.trimSpaces(this.GetArgument(name)); + if (cs.charAt(0) == "\\") {cs = cs.substr(1)} + var op = this.GetArgument(name); + op = op.replace(/\*/g,'\\text{*}').replace(/-/g,'\\text{-}'); + this.setDef(cs, ['Macro', '\\mathop{\\rm '+op+'}'+limits]); + }, + + HandleOperatorName: function (name) { + var limits = (this.GetStar() ? "" : "\\nolimits\\SkipLimits"); + var op = this.trimSpaces(this.GetArgument(name)); + op = op.replace(/\*/g,'\\text{*}').replace(/-/g,'\\text{-}'); + this.string = '\\mathop{\\rm '+op+'}'+limits+" "+this.string.slice(this.i); + this.i = 0; + }, + + SkipLimits: function (name) { + var c = this.GetNext(), i = this.i; + if (c === "\\" && ++this.i && this.GetCS() !== "limits") this.i = i; + }, + + /* + * Record presence of \shoveleft and \shoveright + */ + HandleShove: function (name,shove) { + var top = this.stack.Top(); + if (top.type !== "multline") { + TEX.Error(["CommandInMultline", + "%1 can only appear within the multline environment",name]); + } + if (top.data.length) { + TEX.Error(["CommandAtTheBeginingOfLine", + "%1 must come at the beginning of the line",name]); + } + top.data.shove = shove; + }, + + /* + * Handle \cfrac + */ + CFrac: function (name) { + var lr = this.trimSpaces(this.GetBrackets(name,"")), + num = this.GetArgument(name), + den = this.GetArgument(name); + var frac = MML.mfrac(TEX.Parse('\\strut\\textstyle{'+num+'}',this.stack.env).mml(), + TEX.Parse('\\strut\\textstyle{'+den+'}',this.stack.env).mml()); + lr = ({l:MML.ALIGN.LEFT, r:MML.ALIGN.RIGHT,"":""})[lr]; + if (lr == null) + {TEX.Error(["IllegalAlign","Illegal alignment specified in %1",name])} + if (lr) {frac.numalign = frac.denomalign = lr} + this.Push(frac); + }, + + /* + * Implement AMS generalized fraction + */ + Genfrac: function (name,left,right,thick,style) { + if (left == null) {left = this.GetDelimiterArg(name)} + if (right == null) {right = this.GetDelimiterArg(name)} + if (thick == null) {thick = this.GetArgument(name)} + if (style == null) {style = this.trimSpaces(this.GetArgument(name))} + var num = this.ParseArg(name); + var den = this.ParseArg(name); + var frac = MML.mfrac(num,den); + if (thick !== "") {frac.linethickness = thick} + if (left || right) {frac = TEX.fixedFence(left,frac.With({texWithDelims:true}),right)} + if (style !== "") { + var STYLE = (["D","T","S","SS"])[style]; + if (STYLE == null) + {TEX.Error(["BadMathStyleFor","Bad math style for %1",name])} + frac = MML.mstyle(frac); + if (STYLE === "D") {frac.displaystyle = true; frac.scriptlevel = 0} + else {frac.displaystyle = false; frac.scriptlevel = style - 1} + } + this.Push(frac); + }, + + /* + * Implements multline environment (mostly handled through STACKITEM below) + */ + Multline: function (begin,numbered) { + this.Push(begin); this.checkEqnEnv(); + return STACKITEM.multline(numbered,this.stack).With({ + arraydef: { + displaystyle: true, + rowspacing: ".5em", + width: TEX.config.MultLineWidth, columnwidth:"100%", + side: TEX.config.TagSide, + minlabelspacing: TEX.config.TagIndent + } + }); + }, + + /* + * Handle AMS aligned environments + */ + AMSarray: function (begin,numbered,taggable,align,spacing) { + this.Push(begin); if (taggable) {this.checkEqnEnv()} + align = align.replace(/[^clr]/g,'').split('').join(' '); + align = align.replace(/l/g,'left').replace(/r/g,'right').replace(/c/g,'center'); + return STACKITEM.AMSarray(begin.name,numbered,taggable,this.stack).With({ + arraydef: { + displaystyle: true, + rowspacing: ".5em", + columnalign: align, + columnspacing: (spacing||"1em"), + rowspacing: "3pt", + side: TEX.config.TagSide, + minlabelspacing: TEX.config.TagIndent + } + }); + }, + + AlignedAMSArray: function (begin) { + var align = this.GetBrackets("\\begin{"+begin.name+"}"); + return this.setArrayAlign(this.AMSarray.apply(this,arguments),align); + }, + + /* + * Handle alignat environments + */ + AlignAt: function (begin,numbered,taggable) { + var n, valign, align = "", spacing = []; + if (!taggable) {valign = this.GetBrackets("\\begin{"+begin.name+"}")} + n = this.GetArgument("\\begin{"+begin.name+"}"); + if (n.match(/[^0-9]/)) { + TEX.Error(["PositiveIntegerArg","Argument to %1 must me a positive integer", + "\\begin{"+begin.name+"}"]); + } + while (n > 0) {align += "rl"; spacing.push("0em 0em"); n--} + spacing = spacing.join(" "); + if (taggable) {return this.AMSarray(begin,numbered,taggable,align,spacing)} + var array = this.AMSarray(begin,numbered,taggable,align,spacing); + return this.setArrayAlign(array,valign); + }, + + /* + * Handle equation environment + */ + EquationBegin: function (begin,force) { + this.checkEqnEnv(); + this.stack.global.forcetag = (force && CONFIG.autoNumber !== "none"); + return begin; + }, + EquationStar: function (begin,row) { + this.stack.global.tagged = true; // prevent automatic tagging + return row; + }, + + /* + * Check for bad nesting of equation environments + */ + checkEqnEnv: function () { + if (this.stack.global.eqnenv) + {TEX.Error(["ErroneousNestingEq","Erroneous nesting of equation structures"])} + this.stack.global.eqnenv = true; + }, + + /* + * Handle multiple integrals (make a mathop if followed by limits) + */ + MultiIntegral: function (name,integral) { + var next = this.GetNext(); + if (next === "\\") { + var i = this.i; next = this.GetArgument(name); this.i = i; + if (next === "\\limits") { + if (name === "\\idotsint") {integral = "\\!\\!\\mathop{\\,\\,"+integral+"}"} + else {integral = "\\!\\!\\!\\mathop{\\,\\,\\,"+integral+"}"} + } + } + this.string = integral + " " + this.string.slice(this.i); + this.i = 0; + }, + + /* + * Handle stretchable arrows + */ + xArrow: function (name,chr,l,r) { + var def = {width: "+"+(l+r)+"mu", lspace: l+"mu"}; + var bot = this.GetBrackets(name), + top = this.ParseArg(name); + var arrow = MML.mo(MML.chars(String.fromCharCode(chr))).With({ + stretchy: true, texClass: MML.TEXCLASS.REL + }); + var mml = MML.munderover(arrow); + mml.SetData(mml.over,MML.mpadded(top).With(def).With({voffset:".15em"})); + if (bot) { + bot = TEX.Parse(bot,this.stack.env).mml() + mml.SetData(mml.under,MML.mpadded(bot).With(def).With({voffset:"-.24em"})); + } + this.Push(mml.With({subsupOK:true})); + }, + + /* + * Get a delimiter or empty argument + */ + GetDelimiterArg: function (name) { + var c = this.trimSpaces(this.GetArgument(name)); + if (c == "") return null; + if (c in TEXDEF.delimiter) return c; + TEX.Error(["MissingOrUnrecognizedDelim","Missing or unrecognized delimiter for %1",name]); + }, + + /* + * Get a star following a control sequence name, if any + */ + GetStar: function () { + var star = (this.GetNext() === "*"); + if (star) {this.i++} + return star; + } + + }); + + /******************************************************************************/ + + STACKITEM.Augment({ + /* + * Increment equation number and form tag mtd element + */ + autoTag: function () { + var global = this.global; + if (!global.notag) { + AMS.number++; global.tagID = CONFIG.formatNumber(AMS.number.toString()); + var mml = TEX.Parse("\\text{"+CONFIG.formatTag(global.tagID)+"}",{}).mml(); + global.tag = MML.mtd(mml).With({id:CONFIG.formatID(global.tagID)}); + } + }, + + /* + * Get the tag and record the label, if any + */ + getTag: function () { + var global = this.global, tag = global.tag; global.tagged = true; + if (global.label) { + if (CONFIG.useLabelIds) {tag.id = CONFIG.formatID(global.label)} + AMS.eqlabels[global.label] = {tag:global.tagID, id:tag.id}; + } + // + // Check for repeated ID's (either in the document or as + // a previous tag) and find a unique related one. (#240) + // + if (document.getElementById(tag.id) || AMS.IDs[tag.id] || AMS.eqIDs[tag.id]) { + var i = 0, ID; + do {i++; ID = tag.id+"_"+i} + while (document.getElementById(ID) || AMS.IDs[ID] || AMS.eqIDs[ID]); + tag.id = ID; if (global.label) {AMS.eqlabels[global.label].id = ID} + } + AMS.eqIDs[tag.id] = 1; + this.clearTag(); + return tag; + }, + clearTag: function () { + var global = this.global; + delete global.tag; delete global.tagID; delete global.label; + }, + + /* + * If the initial child, skipping any initial space or + * empty braces (TeXAtom with child being an empty inferred row), + * is an , precede it by an empty to force the to + * be infix. + */ + fixInitialMO: function (data) { + for (var i = 0, m = data.length; i < m; i++) { + if (data[i] && (data[i].type !== "mspace" && + (data[i].type !== "texatom" || (data[i].data[0] && data[i].data[0].data.length)))) { + if (data[i].isEmbellished()) data.unshift(MML.mi()); + break; + } + } + } + }); + + /* + * Implement multline environment via a STACKITEM + */ + STACKITEM.multline = STACKITEM.array.Subclass({ + type: "multline", + Init: function (numbered,stack) { + this.SUPER(arguments).Init.apply(this); + this.numbered = (numbered && CONFIG.autoNumber !== "none"); + this.save = {notag: stack.global.notag}; + stack.global.tagged = !numbered && !stack.global.forcetag; // prevent automatic tagging in starred environments + }, + EndEntry: function () { + if (this.table.length) {this.fixInitialMO(this.data)} + var mtd = MML.mtd.apply(MML,this.data); + if (this.data.shove) {mtd.columnalign = this.data.shove} + this.row.push(mtd); + this.data = []; + }, + EndRow: function () { + if (this.row.length != 1) { + TEX.Error(["MultlineRowsOneCol", + "The rows within the %1 environment must have exactly one column", + "multline"]); + } + this.table.push(this.row); this.row = []; + }, + EndTable: function () { + this.SUPER(arguments).EndTable.call(this); + if (this.table.length) { + var m = this.table.length-1, i, label = -1; + if (!this.table[0][0].columnalign) {this.table[0][0].columnalign = MML.ALIGN.LEFT} + if (!this.table[m][0].columnalign) {this.table[m][0].columnalign = MML.ALIGN.RIGHT} + if (!this.global.tag && this.numbered) {this.autoTag()} + if (this.global.tag && !this.global.notags) { + label = (this.arraydef.side === "left" ? 0 : this.table.length - 1); + this.table[label] = [this.getTag()].concat(this.table[label]); + } + for (i = 0, m = this.table.length; i < m; i++) { + var mtr = (i === label ? MML.mlabeledtr : MML.mtr); + this.table[i] = mtr.apply(MML,this.table[i]); + } + } + this.global.notag = this.save.notag; + } + }); + + /* + * Save data about numbering and taging equations, and add + * tags at the ends of rows. + */ + STACKITEM.AMSarray = STACKITEM.array.Subclass({ + type: "AMSarray", + Init: function (name,numbered,taggable,stack) { + this.SUPER(arguments).Init.apply(this); + this.numbered = (numbered && CONFIG.autoNumber !== "none"); + this.save = {notags: stack.global.notags, notag: stack.global.notag}; + stack.global.notags = (taggable ? null : name); + stack.global.tagged = !numbered && !stack.global.forcetag; // prevent automatic tagging in starred environments + }, + EndEntry: function () { + if (this.row.length % 2 === 1) {this.fixInitialMO(this.data)} + this.row.push(MML.mtd.apply(MML,this.data)); + this.data = []; + }, + EndRow: function () { + var mtr = MML.mtr; + if (!this.global.tag && this.numbered) {this.autoTag()} + if (this.global.tag && !this.global.notags) { + this.row = [this.getTag()].concat(this.row); + mtr = MML.mlabeledtr; + } else {this.clearTag()} + if (this.numbered) {delete this.global.notag} + this.table.push(mtr.apply(MML,this.row)); this.row = []; + }, + EndTable: function () { + this.SUPER(arguments).EndTable.call(this); + this.global.notags = this.save.notags; + this.global.notag = this.save.notag; + } + }); + + // + // Look for \tag on a formula and make an mtable to include it + // + STACKITEM.start.Augment({ + oldCheckItem: STACKITEM.start.prototype.checkItem, + checkItem: function (item) { + if (item.type === "stop") { + var mml = this.mmlData(), global = this.global; + if (AMS.display && !global.tag && !global.tagged && !global.isInner && + (CONFIG.autoNumber === "all" || global.forcetag)) {this.autoTag()} + if (global.tag) { + var row = [this.getTag(),MML.mtd(mml)]; + var def = { + side: TEX.config.TagSide, + minlabelspacing: TEX.config.TagIndent, + displaystyle: "inherit" // replaced by TeX input jax Translate() function with actual value + }; + mml = MML.mtable(MML.mlabeledtr.apply(MML,row)).With(def); + } + return STACKITEM.mml(mml); + } + return this.oldCheckItem.call(this,item); + } + }); + + /******************************************************************************/ + + /* + * Add pre- and post-filters to handle the equation number maintenance. + */ + TEX.prefilterHooks.Add(function (data) { + AMS.display = data.display; + AMS.number = AMS.startNumber; // reset equation numbers (in case the equation restarted) + AMS.eqlabels = {}; + AMS.eqIDs = {}; + AMS.badref = false; + if (AMS.refUpdate) {AMS.number = data.script.MathJax.startNumber} + }); + TEX.postfilterHooks.Add(function (data) { + data.script.MathJax.startNumber = AMS.startNumber; + AMS.startNumber = AMS.number; // equation numbers for next equation + MathJax.Hub.Insert(AMS.IDs,AMS.eqIDs); // save IDs from this equation + MathJax.Hub.Insert(AMS.labels,AMS.eqlabels); // save labels from this equation + if (AMS.badref && !data.math.texError) {AMS.refs.push(data.script)} // reprocess later + },100); + + MathJax.Hub.Register.MessageHook("Begin Math Input",function () { + AMS.refs = []; // array of jax with bad references + AMS.refUpdate = false; + }); + MathJax.Hub.Register.MessageHook("End Math Input",function (message) { + if (AMS.refs.length) { + AMS.refUpdate = true; + for (var i = 0, m = AMS.refs.length; i < m; i++) + {AMS.refs[i].MathJax.state = MathJax.ElementJax.STATE.UPDATE} + return MathJax.Hub.processInput({ + scripts:AMS.refs, + start: new Date().getTime(), + i:0, j:0, jax:{}, jaxIDs:[] + }); + } + return null; + }); + + // + // Clear the equation numbers and labels + // + TEX.resetEquationNumbers = function (n,keepLabels) { + AMS.startNumber = (n || 0); + if (!keepLabels) { + AMS.labels = {}; + AMS.IDs = {}; + } + } + + /******************************************************************************/ + + MathJax.Hub.Startup.signal.Post("TeX AMSmath Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMSmath.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSsymbols.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSsymbols.js new file mode 100644 index 00000000..74b3e62b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSsymbols.js @@ -0,0 +1,349 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/AMSsymbols.js + * + * Implements macros for accessing the AMS symbol fonts. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/AMSsymbols"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var MML = MathJax.ElementJax.mml, + TEXDEF = MathJax.InputJax.TeX.Definitions; + + TEXDEF.Add({ + + mathchar0mi: { + // Lowercase Greek letters + digamma: '03DD', + varkappa: '03F0', + + // Uppercase Greek letters + varGamma: ['0393',{mathvariant: MML.VARIANT.ITALIC}], + varDelta: ['0394',{mathvariant: MML.VARIANT.ITALIC}], + varTheta: ['0398',{mathvariant: MML.VARIANT.ITALIC}], + varLambda: ['039B',{mathvariant: MML.VARIANT.ITALIC}], + varXi: ['039E',{mathvariant: MML.VARIANT.ITALIC}], + varPi: ['03A0',{mathvariant: MML.VARIANT.ITALIC}], + varSigma: ['03A3',{mathvariant: MML.VARIANT.ITALIC}], + varUpsilon: ['03A5',{mathvariant: MML.VARIANT.ITALIC}], + varPhi: ['03A6',{mathvariant: MML.VARIANT.ITALIC}], + varPsi: ['03A8',{mathvariant: MML.VARIANT.ITALIC}], + varOmega: ['03A9',{mathvariant: MML.VARIANT.ITALIC}], + + // Hebrew letters + beth: '2136', + gimel: '2137', + daleth: '2138', + + // Miscellaneous symbols +// hbar: '0127', // in TeX/jax.js + backprime: ['2035',{variantForm: true}], + hslash: '210F', + varnothing: ['2205',{variantForm: true}], + blacktriangle: '25B4', + triangledown: ['25BD',{variantForm: true}], + blacktriangledown: '25BE', + square: '25FB', + Box: '25FB', + blacksquare: '25FC', + lozenge: '25CA', + Diamond: '25CA', + blacklozenge: '29EB', + circledS: ['24C8',{mathvariant: MML.VARIANT.NORMAL}], + bigstar: '2605', +// angle: '2220', // in TeX/jax.js + sphericalangle: '2222', + measuredangle: '2221', + nexists: '2204', + complement: '2201', + mho: '2127', + eth: ['00F0',{mathvariant: MML.VARIANT.NORMAL}], + Finv: '2132', + diagup: '2571', + Game: '2141', + diagdown: '2572', + Bbbk: ['006B',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + + yen: '00A5', + circledR: '00AE', + checkmark: '2713', + maltese: '2720' + }, + + mathchar0mo: { + // Binary operators + dotplus: '2214', + ltimes: '22C9', + smallsetminus: '2216', + rtimes: '22CA', + Cap: '22D2', + doublecap: '22D2', + leftthreetimes: '22CB', + Cup: '22D3', + doublecup: '22D3', + rightthreetimes: '22CC', + barwedge: '22BC', + curlywedge: '22CF', + veebar: '22BB', + curlyvee: '22CE', + doublebarwedge: '2A5E', + boxminus: '229F', + circleddash: '229D', + boxtimes: '22A0', + circledast: '229B', + boxdot: '22A1', + circledcirc: '229A', + boxplus: '229E', + centerdot: ['22C5',{variantForm: true}], + divideontimes: '22C7', + intercal: '22BA', + + // Binary relations + leqq: '2266', + geqq: '2267', + leqslant: '2A7D', + geqslant: '2A7E', + eqslantless: '2A95', + eqslantgtr: '2A96', + lesssim: '2272', + gtrsim: '2273', + lessapprox: '2A85', + gtrapprox: '2A86', + approxeq: '224A', + lessdot: '22D6', + gtrdot: '22D7', + lll: '22D8', + llless: '22D8', + ggg: '22D9', + gggtr: '22D9', + lessgtr: '2276', + gtrless: '2277', + lesseqgtr: '22DA', + gtreqless: '22DB', + lesseqqgtr: '2A8B', + gtreqqless: '2A8C', + doteqdot: '2251', + Doteq: '2251', + eqcirc: '2256', + risingdotseq: '2253', + circeq: '2257', + fallingdotseq: '2252', + triangleq: '225C', + backsim: '223D', + thicksim: ['223C',{variantForm: true}], + backsimeq: '22CD', + thickapprox: ['2248',{variantForm: true}], + subseteqq: '2AC5', + supseteqq: '2AC6', + Subset: '22D0', + Supset: '22D1', + sqsubset: '228F', + sqsupset: '2290', + preccurlyeq: '227C', + succcurlyeq: '227D', + curlyeqprec: '22DE', + curlyeqsucc: '22DF', + precsim: '227E', + succsim: '227F', + precapprox: '2AB7', + succapprox: '2AB8', + vartriangleleft: '22B2', + lhd: '22B2', + vartriangleright: '22B3', + rhd: '22B3', + trianglelefteq: '22B4', + unlhd: '22B4', + trianglerighteq: '22B5', + unrhd: '22B5', + vDash: '22A8', + Vdash: '22A9', + Vvdash: '22AA', + smallsmile: ['2323',{variantForm: true}], + shortmid: ['2223',{variantForm: true}], + smallfrown: ['2322',{variantForm: true}], + shortparallel: ['2225',{variantForm: true}], + bumpeq: '224F', + between: '226C', + Bumpeq: '224E', + pitchfork: '22D4', + varpropto: '221D', + backepsilon: '220D', + blacktriangleleft: '25C2', + blacktriangleright: '25B8', + therefore: '2234', + because: '2235', + eqsim: '2242', + vartriangle: ['25B3',{variantForm: true}], + Join: '22C8', + + // Negated relations + nless: '226E', + ngtr: '226F', + nleq: '2270', + ngeq: '2271', + nleqslant: ['2A87',{variantForm: true}], + ngeqslant: ['2A88',{variantForm: true}], + nleqq: ['2270',{variantForm: true}], + ngeqq: ['2271',{variantForm: true}], + lneq: '2A87', + gneq: '2A88', + lneqq: '2268', + gneqq: '2269', + lvertneqq: ['2268',{variantForm: true}], + gvertneqq: ['2269',{variantForm: true}], + lnsim: '22E6', + gnsim: '22E7', + lnapprox: '2A89', + gnapprox: '2A8A', + nprec: '2280', + nsucc: '2281', + npreceq: ['22E0',{variantForm: true}], + nsucceq: ['22E1',{variantForm: true}], + precneqq: '2AB5', + succneqq: '2AB6', + precnsim: '22E8', + succnsim: '22E9', + precnapprox: '2AB9', + succnapprox: '2ABA', + nsim: '2241', + ncong: '2246', + nshortmid: ['2224',{variantForm: true}], + nshortparallel: ['2226',{variantForm: true}], + nmid: '2224', + nparallel: '2226', + nvdash: '22AC', + nvDash: '22AD', + nVdash: '22AE', + nVDash: '22AF', + ntriangleleft: '22EA', + ntriangleright: '22EB', + ntrianglelefteq: '22EC', + ntrianglerighteq: '22ED', + nsubseteq: '2288', + nsupseteq: '2289', + nsubseteqq: ['2288',{variantForm: true}], + nsupseteqq: ['2289',{variantForm: true}], + subsetneq: '228A', + supsetneq: '228B', + varsubsetneq: ['228A',{variantForm: true}], + varsupsetneq: ['228B',{variantForm: true}], + subsetneqq: '2ACB', + supsetneqq: '2ACC', + varsubsetneqq: ['2ACB',{variantForm: true}], + varsupsetneqq: ['2ACC',{variantForm: true}], + + + // Arrows + leftleftarrows: '21C7', + rightrightarrows: '21C9', + leftrightarrows: '21C6', + rightleftarrows: '21C4', + Lleftarrow: '21DA', + Rrightarrow: '21DB', + twoheadleftarrow: '219E', + twoheadrightarrow: '21A0', + leftarrowtail: '21A2', + rightarrowtail: '21A3', + looparrowleft: '21AB', + looparrowright: '21AC', + leftrightharpoons: '21CB', + rightleftharpoons: ['21CC',{variantForm: true}], + curvearrowleft: '21B6', + curvearrowright: '21B7', + circlearrowleft: '21BA', + circlearrowright: '21BB', + Lsh: '21B0', + Rsh: '21B1', + upuparrows: '21C8', + downdownarrows: '21CA', + upharpoonleft: '21BF', + upharpoonright: '21BE', + downharpoonleft: '21C3', + restriction: '21BE', + multimap: '22B8', + downharpoonright: '21C2', + leftrightsquigarrow: '21AD', + rightsquigarrow: '21DD', + leadsto: '21DD', + dashrightarrow: '21E2', + dashleftarrow: '21E0', + + // Negated arrows + nleftarrow: '219A', + nrightarrow: '219B', + nLeftarrow: '21CD', + nRightarrow: '21CF', + nleftrightarrow: '21AE', + nLeftrightarrow: '21CE' + }, + + delimiter: { + // corners + "\\ulcorner": '231C', + "\\urcorner": '231D', + "\\llcorner": '231E', + "\\lrcorner": '231F' + }, + + macros: { + implies: ['Macro','\\;\\Longrightarrow\\;'], + impliedby: ['Macro','\\;\\Longleftarrow\\;'] + } + + },null,true); + + var REL = MML.mo.OPTYPES.REL; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u2322': REL, // smallfrown + '\u2323': REL, // smallsmile + '\u25B3': REL, // vartriangle + '\uE006': REL, // nshortmid + '\uE007': REL, // nshortparallel + '\uE00C': REL, // lvertneqq + '\uE00D': REL, // gvertneqq + '\uE00E': REL, // ngeqq + '\uE00F': REL, // ngeqslant + '\uE010': REL, // nleqslant + '\uE011': REL, // nleqq + '\uE016': REL, // nsubseteqq + '\uE017': REL, // varsubsetneqq + '\uE018': REL, // nsupseteqq + '\uE019': REL, // varsupsetneqq + '\uE01A': REL, // varsubsetneq + '\uE01B': REL, // varsupsetneq + '\uE04B': REL, // npreceq + '\uE04F': REL // nsucceq + } + } + }); + + MathJax.Hub.Startup.signal.Post("TeX AMSsymbols Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMSsymbols.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/HTML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/HTML.js new file mode 100644 index 00000000..c947dd9d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/HTML.js @@ -0,0 +1,106 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/HTML.js + * + * Implements the \href, \class, \style, \cssId macros. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/HTML"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + TEXDEF.Add({ + macros: { + href: 'HREF_attribute', + "class": 'CLASS_attribute', + style: 'STYLE_attribute', + cssId: 'ID_attribute' + } + },null,true); + + TEX.Parse.Augment({ + + // + // Implements \href{url}{math} + // + HREF_attribute: function (name) { + var url = this.GetArgument(name), + arg = this.GetArgumentMML(name); + this.Push(arg.With({href:url})); + }, + + // + // Implements \class{name}{math} + // + CLASS_attribute: function (name) { + var CLASS = this.GetArgument(name), + arg = this.GetArgumentMML(name); + if (arg["class"] != null) {CLASS = arg["class"] + " " + CLASS} + this.Push(arg.With({"class":CLASS})); + }, + + // + // Implements \style{style-string}{math} + // + STYLE_attribute: function (name) { + var style = this.GetArgument(name), + arg = this.GetArgumentMML(name); + // check that it looks like a style string + if (arg.style != null) { + if (style.charAt(style.length-1) !== ";") {style += ";"} + style = arg.style + " " + style; + } + this.Push(arg.With({style: style})); + }, + + // + // Implements \cssId{id}{math} + // + ID_attribute: function (name) { + var ID = this.GetArgument(name), + arg = this.GetArgumentMML(name); + this.Push(arg.With({id:ID})); + }, + + // + // returns an argument that is a single MathML element + // (in an mrow if necessary) + // + GetArgumentMML: function (name) { + var arg = this.ParseArg(name); + if (arg.inferred && arg.data.length == 1) + {arg = arg.data[0]} else {delete arg.inferred} + return arg; + } + + }); + + MathJax.Hub.Startup.signal.Post("TeX HTML Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/HTML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/action.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/action.js new file mode 100644 index 00000000..a551dd39 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/action.js @@ -0,0 +1,83 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/action.js + * + * Implements the \mathtip, \texttip, and \toggle macros, which give + * access from TeX to the tag in the MathML that underlies + * MathJax's internal format. + * + * Usage: + * + * \mathtip{math}{tip} % use "tip" (in math mode) as tooltip for "math" + * \texttip{math}{tip} % use "tip" (in text mode) as tooltip for "math" + * \toggle{math1}{math2}...\endtoggle + * % show math1, and when clicked, show math2, and so on. + * % When the last one is clicked, go back to math1. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/action"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX, + MML = MathJax.ElementJax.mml; + + // + // Set up control sequenecs + // + TEX.Definitions.Add({ + macros: { + toggle: 'Toggle', + mathtip: 'Mathtip', + texttip: ['Macro','\\mathtip{#1}{\\text{#2}}',2] + } + },null,true); + + TEX.Parse.Augment({ + + // + // Implement \toggle {math1} {math2} ... \endtoggle + // (as an ) + // + Toggle: function (name) { + var data = [], arg; + while ((arg = this.GetArgument(name)) !== "\\endtoggle") + {data.push(TEX.Parse(arg,this.stack.env).mml())} + this.Push(MML.maction.apply(MML,data).With({actiontype: MML.ACTIONTYPE.TOGGLE})); + }, + + // + // Implement \mathtip{math}{tip} + // (an an ) + // + Mathtip: function(name) { + var arg = this.ParseArg(name), tip = this.ParseArg(name); + this.Push(MML.maction(arg,tip).With({actiontype: MML.ACTIONTYPE.TOOLTIP})); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX action Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/action.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autobold.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autobold.js new file mode 100644 index 00000000..6ad42ff5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autobold.js @@ -0,0 +1,50 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/autobold.js + * + * Adds \boldsymbol around mathematics that appears in a section + * of an HTML page that is in bold. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/autobold"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX; + + TEX.prefilterHooks.Add(function (data) { + var span = data.script.parentNode.insertBefore(document.createElement("span"),data.script); + span.visibility = "hidden"; + span.style.fontFamily = "Times, serif"; + span.appendChild(document.createTextNode("ABCXYZabcxyz")); + var W = span.offsetWidth; + span.style.fontWeight = "bold"; + if (W && span.offsetWidth === W) {data.math = "\\boldsymbol{"+data.math+"}"} + span.parentNode.removeChild(span); + }); + + MathJax.Hub.Startup.signal.Post("TeX autobold Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/autobold.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autoload-all.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autoload-all.js new file mode 100644 index 00000000..e5ed2e50 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autoload-all.js @@ -0,0 +1,83 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/autoload-all.js + * + * Provides pre-defined macros to autoload all the extensions + * so that all macros that MathJax knows about are available. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/autoload-all"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var EXTENSIONS = { + action: ["mathtip","texttip","toggle"], + AMSmath: ["mathring","nobreakspace","negmedspace","negthickspace","intI", + "iiiint","idotsint","dddot","ddddot","sideset","boxed", + "substack","injlim","projlim","varliminf","varlimsup", + "varinjlim","varprojlim","DeclareMathOperator","operatorname", + "genfrac","tfrac","dfrac","binom","tbinom","dbinom","cfrac", + "shoveleft","shoveright","xrightarrow","xleftarrow"], + begingroup: ["begingroup","endgroup","gdef","global"], + cancel: ["cancel","bcancel","xcancel","cancelto"], + color: ["color","textcolor","colorbox","fcolorbox","definecolor"], + enclose: ["enclose"], + extpfeil: ["Newextarrow","xlongequal","xmapsto","xtofrom", + "xtwoheadleftarrow","xtwoheadrightarrow"], + mhchem: ["ce","cee","cf"] + }; + + var ENVIRONMENTS = { + AMSmath: ["subarray","smallmatrix","equation","equation*"], + AMScd: ["CD"] + }; + + var name, i, m, defs = {macros:{}, environment:{}}; + + for (name in EXTENSIONS) {if (EXTENSIONS.hasOwnProperty(name)) { + if (!MathJax.Extension["TeX/"+name]) { + var macros = EXTENSIONS[name]; + for (i = 0, m = macros.length; i < m; i++) + {defs.macros[macros[i]] = ["Extension",name]} + } + }} + + for (name in ENVIRONMENTS) {if (ENVIRONMENTS.hasOwnProperty(name)) { + if (!MathJax.Extension["TeX/"+name]) { + var envs = ENVIRONMENTS[name]; + for (i = 0, m = envs.length; i < m; i++) + {defs.environment[envs[i]] = ["ExtensionEnv",null,name]} + } + }} + + MathJax.InputJax.TeX.Definitions.Add(defs); + + MathJax.Hub.Startup.signal.Post("TeX autoload-all Ready"); + +}); + +MathJax.Callback.Queue( + ["Require",MathJax.Ajax,"[MathJax]/extensions/TeX/AMSsymbols.js"], + ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/TeX/autoload-all.js"] +); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/bbox.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/bbox.js new file mode 100644 index 00000000..86894601 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/bbox.js @@ -0,0 +1,102 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/bbox.js + * + * This file implements the \bbox macro, which creates an box that + * can be styled (for background colors, and so on). You can include + * an optional dimension that tells how much extra padding to include + * around the bounding box for the mathematics, or a color specification + * for the background color to use, or both. E.g., + * + * \bbox[2pt]{x+y} % an invisible box around x+y with 2pt of extra space + * \bbox[green]{x+y} % a green box around x+y + * \bbox[green,2pt]{x+y} % a green box with 2pt of extra space + * + * You can also specify style attributes, for example + * + * \bbox[red,border:3px solid blue,5px]{x+y} + * + * would give a red background with a 3px solid blue border that has 5px + * of padding between the border and the mathematics. Note that not all + * output formats support the style specifications. In particular, the + * NativeMML output depends on the browser to render the attributes, and + * not all MathML renderers will honor them (e.g., MathPlayer2 doesn't + * render border styles). + * + * This file will be loaded automatically when \bbox is first used. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/bbox"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX, + MML = MathJax.ElementJax.mml; + + TEX.Definitions.Add({macros: {bbox: "BBox"}},null,true); + + TEX.Parse.Augment({ + BBox: function (name) { + var bbox = this.GetBrackets(name,""), + math = this.ParseArg(name); + var parts = bbox.split(/,/), def, background, style; + for (var i = 0, m = parts.length; i < m; i++) { + var part = parts[i].replace(/^\s+/,'').replace(/\s+$/,''); + var match = part.match(/^(\.\d+|\d+(\.\d*)?)(pt|em|ex|mu|px|in|cm|mm)$/); + if (match) { + if (def) + {TEX.Error(["MultipleBBoxProperty","%1 specified twice in %2","Padding",name])} + var pad = this.BBoxPadding(match[1]+match[3]); + if (pad) def = {height:"+"+pad, depth:"+"+pad, lspace:pad, width:"+"+(2*match[1])+match[3]}; + } else if (part.match(/^([a-z0-9]+|\#[0-9a-f]{6}|\#[0-9a-f]{3})$/i)) { + if (background) + {TEX.Error(["MultipleBBoxProperty","%1 specified twice in %2","Background",name])} + background = part; + } else if (part.match(/^[-a-z]+:/i)) { + if (style) + {TEX.Error(["MultipleBBoxProperty","%1 specified twice in %2", "Style",name])} + style = this.BBoxStyle(part); + } else if (part !== "") { + TEX.Error( + ["InvalidBBoxProperty", + "'%1' doesn't look like a color, a padding dimension, or a style", + part] + ); + } + } + if (def) {math = MML.mpadded(math).With(def)} + if (background || style) { + math = MML.mstyle(math).With({mathbackground:background, style:style}); + } + this.Push(math); + }, + BBoxStyle: function (styles) {return styles}, + BBoxPadding: function (pad) {return pad} + }); + + MathJax.Hub.Startup.signal.Post("TeX bbox Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/bbox.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/begingroup.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/begingroup.js new file mode 100644 index 00000000..3600d2c9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/begingroup.js @@ -0,0 +1,292 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/begingroup.js + * + * Implements \begingroup and \endgroup commands that make local + * definitions possible and are removed when the \endgroup occurs. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/begingroup"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX, + TEXDEF = TEX.Definitions; + + /****************************************************/ + + // + // A namespace for localizing macros and environments + // (\begingroup and \endgroup create and destroy these) + // + var NSFRAME = MathJax.Object.Subclass({ + macros: null, // the local macro definitions + environments: null, // the local environments + Init: function (macros,environments) { + this.macros = (macros || {}); + this.environments = (environments || {}); + }, + // + // Find a macro or environment by name + // + Find: function (name,type) {if (this[type].hasOwnProperty(name)) {return this[type][name]}}, + // + // Define or remove a macro or environment + // + Def: function (name,value,type) {this[type][name] = value}, + Undef: function (name,type) {delete this[type][name]}, + // + // Merge two namespaces (used when the equation namespace is combined with the root one) + // + Merge: function (frame) { + MathJax.Hub.Insert(this.macros,frame.macros); + MathJax.Hub.Insert(this.environments,frame.environments); + }, + // + // Move global macros to the stack (globally) and remove from the frame + // + MergeGlobals: function (stack) { + var macros = this.macros; + for (var cs in macros) {if (macros.hasOwnProperty(cs) && macros[cs].global) { + stack.Def(cs,macros[cs],"macros",true); + delete macros[cs].global; delete macros[cs]; + }} + }, + // + // Clear the macro and environment lists + // (but not global macros unless "all" is true) + // + Clear: function (all) { + this.environments = {}; + if (all) {this.macros = {}} else { + var macros = this.macros; + for (var cs in macros) { + if (macros.hasOwnProperty(cs) && !macros[cs].global) {delete macros[cs]} + } + } + return this; + } + }); + + /****************************************************/ + + // + // A Stack of namespace frames + // + var NSSTACK = TEX.nsStack = MathJax.Object.Subclass({ + stack: null, // the namespace frames + top: 0, // the current top one (we don't pop for real until the equation completes) + isEqn: false, // true if this is the equation stack (not the global one) + // + // Set up the initial stack frame + // + Init: function (eqn) { + this.isEqn = eqn; this.stack = []; + if (!eqn) {this.Push(NSFRAME(TEXDEF.macros,TEXDEF.environment))} + else {this.Push(NSFRAME())} + }, + // + // Define a macro or environment in the top frame + // + Def: function (name,value,type,global) { + var n = this.top-1; + if (global) { + // + // Define global macros in the base frame and remove that cs + // from all other frames. Mark the global ones in equations + // so they can be made global when merged with the root stack. + // + while (n > 0) {this.stack[n].Undef(name,type); n--} + if (!MathJax.Object.isArray(value)) {value = [value]} + if (this.isEqn) {value.global = true} + } + this.stack[n].Def(name,value,type); + }, + // + // Push a new namespace frame on the stack + // + Push: function (frame) { + this.stack.push(frame); + this.top = this.stack.length; + }, + // + // Pop the top stack frame + // (if it is the root, just keep track of the pop so we can + // reset it if the equation is reprocessed) + // + Pop: function () { + var top; + if (this.top > 1) { + top = this.stack[--this.top]; + if (this.isEqn) {this.stack.pop()} + } else if (this.isEqn) { + this.Clear(); + } + return top; + }, + // + // Search the stack from top to bottom for the first + // definition of the given control sequence in the given type + // + Find: function (name,type) { + for (var i = this.top-1; i >= 0; i--) { + var def = this.stack[i].Find(name,type); + if (def) {return def} + } + return null; + }, + // + // Combine the equation stack with the global one + // (The bottom frame of the equation goes with the top frame of the global one, + // and the remainder are pushed on the global stack, truncated to the + // position where items were poped from it.) + // + Merge: function (stack) { + stack.stack[0].MergeGlobals(this); + this.stack[this.top-1].Merge(stack.stack[0]); + var data = [this.top,this.stack.length-this.top].concat(stack.stack.slice(1)); + this.stack.splice.apply(this.stack,data); + this.top = this.stack.length; + }, + // + // Put back the temporarily poped items + // + Reset: function () {this.top = this.stack.length}, + // + // Clear the stack and start with a blank frame + // + Clear: function (all) { + this.stack = [this.stack[0].Clear()]; + this.top = this.stack.length; + } + },{ + nsFrame: NSFRAME + }); + + /****************************************************/ + + // + // Define the new macros + // + TEXDEF.Add({ + macros: { + begingroup: "BeginGroup", + endgroup: "EndGroup", + global: "Global", + gdef: ["Macro","\\global\\def"] + } + },null,true); + + TEX.Parse.Augment({ + // + // Implement \begingroup + // + BeginGroup: function (name) { + TEX.eqnStack.Push(NSFRAME()); + }, + // + // Implements \endgroup + // + EndGroup: function (name) { + // + // If the equation has pushed frames, pop one, + // Otherwise clear the equation stack and pop the top global one + // + if (TEX.eqnStack.top > 1) { + TEX.eqnStack.Pop(); + } else if (TEX.rootStack.top === 1) { + TEX.Error(["ExtraEndMissingBegin","Extra %1 or missing \\begingroup",name]); + } else { + TEX.eqnStack.Clear(); + TEX.rootStack.Pop(); + } + }, + + // + // Replace the original routines with ones that looks through the + // equation and root stacks for the given name + // + csFindMacro: function (name) { + return (TEX.eqnStack.Find(name,"macros") || TEX.rootStack.Find(name,"macros")); + }, + envFindName: function (name) { + return (TEX.eqnStack.Find(name,"environments") || TEX.rootStack.Find(name,"environments")); + }, + + // + // Modify the way macros and environments are defined + // to make them go into the equation namespace stack + // + setDef: function (name,value) { + value.isUser = true; + TEX.eqnStack.Def(name,value,"macros",this.stack.env.isGlobal); + delete this.stack.env.isGlobal; + }, + setEnv: function (name,value) { + value.isUser = true; + TEX.eqnStack.Def(name,value,"environments") + }, + + // + // Implement \global (for \global\let, \global\def and \global\newcommand) + // + Global: function (name) { + var i = this.i; var cs = this.GetCSname(name); this.i = i; + if (cs !== "let" && cs !== "def" && cs !== "newcommand" && + cs !== "DeclareMathOperator" && cs !== "Newextarrow") { + TEX.Error(["GlobalNotFollowedBy", + "%1 not followed by \\let, \\def, or \\newcommand",name]); + } + this.stack.env.isGlobal = true; + } + }); + + /****************************************************/ + + TEX.rootStack = NSSTACK(); // the global namespace stack + TEX.eqnStack = NSSTACK(true); // the equation stack + + // + // Reset the global stack and clear the equation stack + // (this gets us back to the initial stack state as it was + // before the equation was first processed, in case the equation + // get restarted due to an autoloaded file) + // + TEX.prefilterHooks.Add(function () {TEX.rootStack.Reset(); TEX.eqnStack.Clear(true)}); + + // + // We only get here if there were no errors and the equation is fully + // processed (all restarts are complete). So we merge the equation + // stack into the global stack, thus making the changes from this + // equation permanent. + // + TEX.postfilterHooks.Add(function () {TEX.rootStack.Merge(TEX.eqnStack)}); + + /*********************************************************/ + + MathJax.Hub.Startup.signal.Post("TeX begingroup Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/begingroup.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/boldsymbol.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/boldsymbol.js new file mode 100644 index 00000000..8b0aeebf --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/boldsymbol.js @@ -0,0 +1,75 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/boldsymbol.js + * + * Implements the \boldsymbol{...} command to make bold + * versions of all math characters (not just variables). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/boldsymbol"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var MML = MathJax.ElementJax.mml; + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + var BOLDVARIANT = {}; + BOLDVARIANT[MML.VARIANT.NORMAL] = MML.VARIANT.BOLD; + BOLDVARIANT[MML.VARIANT.ITALIC] = MML.VARIANT.BOLDITALIC; + BOLDVARIANT[MML.VARIANT.FRAKTUR] = MML.VARIANT.BOLDFRAKTUR; + BOLDVARIANT[MML.VARIANT.SCRIPT] = MML.VARIANT.BOLDSCRIPT; + BOLDVARIANT[MML.VARIANT.SANSSERIF] = MML.VARIANT.BOLDSANSSERIF; + BOLDVARIANT["-tex-caligraphic"] = "-tex-caligraphic-bold"; + BOLDVARIANT["-tex-oldstyle"] = "-tex-oldstyle-bold"; + + TEXDEF.Add({macros: {boldsymbol: 'Boldsymbol'}},null,true); + + TEX.Parse.Augment({ + mmlToken: function (token) { + if (this.stack.env.boldsymbol) { + var variant = token.Get("mathvariant"); + if (variant == null) {token.mathvariant = MML.VARIANT.BOLD} + else {token.mathvariant = (BOLDVARIANT[variant]||variant)} + } + return token; + }, + + Boldsymbol: function (name) { + var boldsymbol = this.stack.env.boldsymbol, + font = this.stack.env.font; + this.stack.env.boldsymbol = true; + this.stack.env.font = null; + var mml = this.ParseArg(name); + this.stack.env.font = font; + this.stack.env.boldsymbol = boldsymbol; + this.Push(mml); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX boldsymbol Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/boldsymbol.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/cancel.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/cancel.js new file mode 100644 index 00000000..c42c6e35 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/cancel.js @@ -0,0 +1,110 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/cancel.js + * + * Implements the \cancel, \bcancel, \xcancel, and \cancelto macros. + * + * Usage: + * + * \cancel{math} % strikeout math from lower left to upper right + * \bcancel{math} % strikeout from upper left to lower right + * \xcancel{math} % strikeout with an X + * \cancelto{value}{math} % strikeout with arrow going to value + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/cancel"] = { + version: "2.7.5", + + // + // The attributes allowed in \enclose{notation}[attributes]{math} + // + ALLOWED: { + color: 1, mathcolor: 1, + background: 1, mathbackground: 1, + padding: 1, + thickness: 1 + } +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX, + MML = MathJax.ElementJax.mml, + CANCEL = MathJax.Extension["TeX/cancel"]; + + CANCEL.setAttributes = function (def,attr) { + if (attr !== "") { + attr = attr.replace(/ /g,"").split(/,/); + for (var i = 0, m = attr.length; i < m; i++) { + var keyvalue = attr[i].split(/[:=]/); + if (CANCEL.ALLOWED[keyvalue[0]]) { + if (keyvalue[1] === "true") {keyvalue[1] = true} + if (keyvalue[1] === "false") {keyvalue[1] = false} + def[keyvalue[0]] = keyvalue[1]; + } + } + } + return def; + }; + + // + // Set up macros + // + TEX.Definitions.Add({ + macros: { + cancel: ['Cancel',MML.NOTATION.UPDIAGONALSTRIKE], + bcancel: ['Cancel',MML.NOTATION.DOWNDIAGONALSTRIKE], + xcancel: ['Cancel',MML.NOTATION.UPDIAGONALSTRIKE+" "+MML.NOTATION.DOWNDIAGONALSTRIKE], + cancelto: 'CancelTo' + } + },null,true); + + TEX.Parse.Augment({ + // + // Implement \cancel[attributes]{math}, + // \bcancel[attributes]{math}, and + // \xcancel[attributes]{math} + // + Cancel: function(name,notation) { + var attr = this.GetBrackets(name,""), math = this.ParseArg(name); + var def = CANCEL.setAttributes({notation: notation},attr); + this.Push(MML.menclose(math).With(def)); + }, + + // + // Implement \cancelto{value}[attributes]{math} + // + CancelTo: function(name,notation) { + var value = this.ParseArg(name), + attr = this.GetBrackets(name,""), + math = this.ParseArg(name); + var def = CANCEL.setAttributes({notation: MML.NOTATION.UPDIAGONALSTRIKE+" "+MML.NOTATION.UPDIAGONALARROW},attr); + value = MML.mpadded(value).With({depth:"-.1em",height:"+.1em",voffset:".1em"}); + this.Push(MML.msup(MML.menclose(math).With(def),value)); + } + + }); + + MathJax.Hub.Startup.signal.Post("TeX cancel Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/cancel.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/color.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/color.js new file mode 100644 index 00000000..816ce52e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/color.js @@ -0,0 +1,281 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/color.js + * + * Implements LaTeX-compatible \color macro rather than MathJax's original + * (non-standard) version. It includes the rgb, RGB, gray, and named color + * models, and the \textcolor, \definecolor, \colorbox, and \fcolorbox + * macros. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +// +// The configuration defaults, augmented by the user settings +// +MathJax.Extension["TeX/color"] = { + version: "2.7.5", + + config: MathJax.Hub.CombineConfig("TeX.color",{ + padding: "5px", + border: "2px" + }), + + colors: { + Apricot: "#FBB982", + Aquamarine: "#00B5BE", + Bittersweet: "#C04F17", + Black: "#221E1F", + Blue: "#2D2F92", + BlueGreen: "#00B3B8", + BlueViolet: "#473992", + BrickRed: "#B6321C", + Brown: "#792500", + BurntOrange: "#F7921D", + CadetBlue: "#74729A", + CarnationPink: "#F282B4", + Cerulean: "#00A2E3", + CornflowerBlue: "#41B0E4", + Cyan: "#00AEEF", + Dandelion: "#FDBC42", + DarkOrchid: "#A4538A", + Emerald: "#00A99D", + ForestGreen: "#009B55", + Fuchsia: "#8C368C", + Goldenrod: "#FFDF42", + Gray: "#949698", + Green: "#00A64F", + GreenYellow: "#DFE674", + JungleGreen: "#00A99A", + Lavender: "#F49EC4", + LimeGreen: "#8DC73E", + Magenta: "#EC008C", + Mahogany: "#A9341F", + Maroon: "#AF3235", + Melon: "#F89E7B", + MidnightBlue: "#006795", + Mulberry: "#A93C93", + NavyBlue: "#006EB8", + OliveGreen: "#3C8031", + Orange: "#F58137", + OrangeRed: "#ED135A", + Orchid: "#AF72B0", + Peach: "#F7965A", + Periwinkle: "#7977B8", + PineGreen: "#008B72", + Plum: "#92268F", + ProcessBlue: "#00B0F0", + Purple: "#99479B", + RawSienna: "#974006", + Red: "#ED1B23", + RedOrange: "#F26035", + RedViolet: "#A1246B", + Rhodamine: "#EF559F", + RoyalBlue: "#0071BC", + RoyalPurple: "#613F99", + RubineRed: "#ED017D", + Salmon: "#F69289", + SeaGreen: "#3FBC9D", + Sepia: "#671800", + SkyBlue: "#46C5DD", + SpringGreen: "#C6DC67", + Tan: "#DA9D76", + TealBlue: "#00AEB3", + Thistle: "#D883B7", + Turquoise: "#00B4CE", + Violet: "#58429B", + VioletRed: "#EF58A0", + White: "#FFFFFF", + WildStrawberry: "#EE2967", + Yellow: "#FFF200", + YellowGreen: "#98CC70", + YellowOrange: "#FAA21A" + }, + + /* + * Look up a color based on its model and definition + */ + getColor: function (model,def) { + if (!model) {model = "named"} + var fn = this["get_"+model]; + if (!fn) {this.TEX.Error(["UndefinedColorModel","Color model '%1' not defined",model])} + return fn.call(this,def); + }, + + /* + * Get an rgb color + */ + get_rgb: function (rgb) { + rgb = rgb.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s*,\s*/); var RGB = "#"; + if (rgb.length !== 3) + {this.TEX.Error(["ModelArg1","Color values for the %1 model require 3 numbers","rgb"])} + for (var i = 0; i < 3; i++) { + if (!rgb[i].match(/^(\d+(\.\d*)?|\.\d+)$/)) + {this.TEX.Error(["InvalidDecimalNumber","Invalid decimal number"])} + var n = parseFloat(rgb[i]); + if (n < 0 || n > 1) { + this.TEX.Error(["ModelArg2", + "Color values for the %1 model must be between %2 and %3", + "rgb",0,1]); + } + n = Math.floor(n*255).toString(16); if (n.length < 2) {n = "0"+n} + RGB += n; + } + return RGB; + }, + + /* + * Get an RGB color + */ + get_RGB: function (rgb) { + rgb = rgb.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s*,\s*/); var RGB = "#"; + if (rgb.length !== 3) + {this.TEX.Error(["ModelArg1","Color values for the %1 model require 3 numbers","RGB"])} + for (var i = 0; i < 3; i++) { + if (!rgb[i].match(/^\d+$/)) + {this.TEX.Error(["InvalidNumber","Invalid number"])} + var n = parseInt(rgb[i]); + if (n > 255) { + this.TEX.Error(["ModelArg2", + "Color values for the %1 model must be between %2 and %3", + "RGB",0,255]); + } + n = n.toString(16); if (n.length < 2) {n = "0"+n} + RGB += n; + } + return RGB; + }, + + /* + * Get a gray-scale value + */ + get_gray: function (gray) { + if (!gray.match(/^\s*(\d+(\.\d*)?|\.\d+)\s*$/)) + {this.TEX.Error(["InvalidDecimalNumber","Invalid decimal number"])} + var n = parseFloat(gray); + if (n < 0 || n > 1) { + this.TEX.Error(["ModelArg2", + "Color values for the %1 model must be between %2 and %3", + "gray",0,1]); + } + n = Math.floor(n*255).toString(16); if (n.length < 2) {n = "0"+n} + return "#"+n+n+n; + }, + + /* + * Get a named value + */ + get_named: function (name) { + if (this.colors.hasOwnProperty(name)) {return this.colors[name]} + return name; + }, + + padding: function () { + var pad = "+"+this.config.padding; + var unit = this.config.padding.replace(/^.*?([a-z]*)$/,"$1"); + var pad2 = "+"+(2*parseFloat(pad))+unit; + return {width:pad2, height:pad, depth:pad, lspace:this.config.padding}; + } + +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX, + MML = MathJax.ElementJax.mml; + var STACKITEM = TEX.Stack.Item; + var COLOR = MathJax.Extension["TeX/color"]; + + COLOR.TEX = TEX; // for reference in getColor above + + TEX.Definitions.Add({ + macros: { + color: "Color", + textcolor: "TextColor", + definecolor: "DefineColor", + colorbox: "ColorBox", + fcolorbox: "fColorBox" + } + },null,true); + + TEX.Parse.Augment({ + + // + // Override \color macro definition + // + Color: function (name) { + var model = this.GetBrackets(name), + color = this.GetArgument(name); + color = COLOR.getColor(model,color); + var mml = STACKITEM.style().With({styles:{mathcolor:color}}); + this.stack.env.color = color; + this.Push(mml); + }, + + TextColor: function (name) { + var model = this.GetBrackets(name), + color = this.GetArgument(name); + color = COLOR.getColor(model,color); + var old = this.stack.env.color; this.stack.env.color = color; + var math = this.ParseArg(name); + if (old) {this.stack.env.color} else {delete this.stack.env.color} + this.Push(MML.mstyle(math).With({mathcolor: color})); + }, + + // + // Define the \definecolor macro + // + DefineColor: function (name) { + var cname = this.GetArgument(name), + model = this.GetArgument(name), + def = this.GetArgument(name); + COLOR.colors[cname] = COLOR.getColor(model,def); + }, + + // + // Produce a text box with a colored background + // + ColorBox: function (name) { + var cname = this.GetArgument(name), + arg = this.InternalMath(this.GetArgument(name)); + this.Push(MML.mpadded.apply(MML,arg).With({ + mathbackground:COLOR.getColor("named",cname) + }).With(COLOR.padding())); + }, + + // + // Procude a framed text box with a colored background + // + fColorBox: function (name) { + var fname = this.GetArgument(name), + cname = this.GetArgument(name), + arg = this.InternalMath(this.GetArgument(name)); + this.Push(MML.mpadded.apply(MML,arg).With({ + mathbackground: COLOR.getColor("named",cname), + style: "border: "+COLOR.config.border+" solid "+COLOR.getColor("named",fname) + }).With(COLOR.padding())); + } + + }); + + MathJax.Hub.Startup.signal.Post("TeX color Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/color.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/enclose.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/enclose.js new file mode 100644 index 00000000..ef1440fb --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/enclose.js @@ -0,0 +1,91 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/enclose.js + * + * Implements the \enclose macros, which give access from TeX to the + * tag in the MathML that underlies MathJax's internal format. + * + * Usage: + * + * \enclose{notation}{math} % enclose math using given notation + * \enclose{notation,notation,...}{math} % enclose with several notations + * \enclose{notation}[attributes]{math} % enclose with attributes + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/enclose"] = { + version: "2.7.5", + + // + // The attributes allowed in \enclose{notation}[attributes]{math} + // + ALLOWED: { + arrow: 1, + color: 1, mathcolor: 1, + background: 1, mathbackground: 1, + padding: 1, + thickness: 1 + } +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX, + MML = MathJax.ElementJax.mml, + ALLOW = MathJax.Extension["TeX/enclose"].ALLOWED; + + // + // Set up macro + // + TEX.Definitions.Add({macros: {enclose: 'Enclose'}},null,true); + + TEX.Parse.Augment({ + // + // Implement \enclose{notation}[attr]{math} + // (create math) + // + Enclose: function(name) { + var notation = this.GetArgument(name), + attr = this.GetBrackets(name), + math = this.ParseArg(name); + var def = {notation: notation.replace(/,/g," ")}; + if (attr) { + attr = attr.replace(/ /g,"").split(/,/); + for (var i = 0, m = attr.length; i < m; i++) { + var keyvalue = attr[i].split(/[:=]/); + if (ALLOW[keyvalue[0]]) { + keyvalue[1] = keyvalue[1].replace(/^"(.*)"$/,"$1"); + if (keyvalue[1] === "true") {keyvalue[1] = true} + if (keyvalue[1] === "false") {keyvalue[1] = false} + if (keyvalue[0] === "arrow" && keyvalue[1]) + {def.notation = def.notation + " updiagonalarrow"} else + {def[keyvalue[0]] = keyvalue[1]} + } + } + } + this.Push(MML.menclose(math).With(def)); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX enclose Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/enclose.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/extpfeil.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/extpfeil.js new file mode 100644 index 00000000..804b59e9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/extpfeil.js @@ -0,0 +1,102 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/extpfeil.js + * + * Implements additional stretchy arrow macros. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/extpfeil"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX, + TEXDEF = TEX.Definitions; + + // + // Define the arrows to load the AMSmath extension + // (since they need its xArrow method) + // + TEXDEF.Add({ + macros: { + xtwoheadrightarrow: ['Extension','AMSmath'], + xtwoheadleftarrow: ['Extension','AMSmath'], + xmapsto: ['Extension','AMSmath'], + xlongequal: ['Extension','AMSmath'], + xtofrom: ['Extension','AMSmath'], + Newextarrow: ['Extension','AMSmath'] + } + },null,true); + + // + // Redefine the macros when AMSmath is loaded + // + MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () { + MathJax.Hub.Insert(TEXDEF,{ + macros: { + xtwoheadrightarrow: ['xArrow',0x21A0,12,16], + xtwoheadleftarrow: ['xArrow',0x219E,17,13], + xmapsto: ['xArrow',0x21A6,6,7], + xlongequal: ['xArrow',0x003D,7,7], + xtofrom: ['xArrow',0x21C4,12,12], + Newextarrow: 'NewExtArrow' + } + }); + }); + + // + // Implements \Newextarrow to define a new arrow (not compatible with \newextarrow, but + // the equivalent for MathJax) + // + TEX.Parse.Augment({ + NewExtArrow: function (name) { + var cs = this.GetArgument(name), + space = this.GetArgument(name), + chr = this.GetArgument(name); + if (!cs.match(/^\\([a-z]+|.)$/i)) { + TEX.Error(["NewextarrowArg1", + "First argument to %1 must be a control sequence name",name]); + } + if (!space.match(/^(\d+),(\d+)$/)) { + TEX.Error( + ["NewextarrowArg2", + "Second argument to %1 must be two integers separated by a comma", + name] + ); + } + if (!chr.match(/^(\d+|0x[0-9A-F]+)$/i)) { + TEX.Error( + ["NewextarrowArg3", + "Third argument to %1 must be a unicode character number", + name] + ); + } + cs = cs.substr(1); space = space.split(","); chr = parseInt(chr); + this.setDef(cs, ['xArrow', chr, parseInt(space[0]), parseInt(space[1])]); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX extpfeil Ready"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/extpfeil.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mathchoice.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mathchoice.js new file mode 100644 index 00000000..44937702 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mathchoice.js @@ -0,0 +1,107 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/mathchoice.js + * + * Implements the \mathchoice macro (rarely used) + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "2.7.5"; + + var MML = MathJax.ElementJax.mml; + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + TEXDEF.Add({macros: {mathchoice: 'MathChoice'}},null,true); + + TEX.Parse.Augment({ + MathChoice: function (name) { + var D = this.ParseArg(name), + T = this.ParseArg(name), + S = this.ParseArg(name), + SS = this.ParseArg(name); + this.Push(MML.TeXmathchoice(D,T,S,SS)); + } + }); + + MML.TeXmathchoice = MML.mbase.Subclass({ + type: "TeXmathchoice", notParent: true, + choice: function () { + if (this.selection != null) return this.selection; + if (this.choosing) return 2; // prevent infinite loops: see issue #1151 + this.choosing = true; + var selection = 0, values = this.getValues("displaystyle","scriptlevel"); + if (values.scriptlevel > 0) {selection = Math.min(3,values.scriptlevel+1)} + else {selection = (values.displaystyle ? 0 : 1)} + // only cache the result if we are actually in place in a tag. + var node = this.inherit; while (node && node.type !== "math") node = node.inherit; + if (node) this.selection = selection; + this.choosing = false; + return selection; + }, + selected: function () {return this.data[this.choice()]}, + setTeXclass: function (prev) {return this.selected().setTeXclass(prev)}, + isSpacelike: function () {return this.selected().isSpacelike()}, + isEmbellished: function () {return this.selected().isEmbellished()}, + Core: function () {return this.selected()}, + CoreMO: function () {return this.selected().CoreMO()}, + toHTML: function (span) { + span = this.HTMLcreateSpan(span); + span.bbox = this.Core().toHTML(span).bbox; + // Firefox doesn't correctly handle a span with a negatively sized content, + // so move marginLeft to main span (this is a hack to get \iiiint to work). + // FIXME: This is a symptom of a more general problem with Firefox, and + // there probably needs to be a more general solution (e.g., modifying + // HTMLhandleSpace() to get the width and adjust the right margin to + // compensate for negative-width contents) + if (span.firstChild && span.firstChild.style.marginLeft) { + span.style.marginLeft = span.firstChild.style.marginLeft; + span.firstChild.style.marginLeft = ""; + } + return span; + }, + toSVG: function () { + var svg = this.Core().toSVG(); + this.SVGsaveData(svg); + return svg; + }, + toCommonHTML: function (node) { + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleColor(node); + this.CHTMLaddChild(node,this.choice(),{}); + return node; + }, + toPreviewHTML: function(span) { + span = this.PHTMLcreateSpan(span); + this.PHTMLhandleStyle(span); + this.PHTMLhandleColor(span); + this.PHTMLaddChild(span,this.choice(),{}); + return span; + } + }); + + MathJax.Hub.Startup.signal.Post("TeX mathchoice Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mathchoice.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mediawiki-texvc.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mediawiki-texvc.js new file mode 100644 index 00000000..228090ca --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mediawiki-texvc.js @@ -0,0 +1,137 @@ +/************************************************************* + * + * MathJax/extensions/TeX/mediawiki-texvc.js + * + * Implements macros used by mediawiki with their texvc preprocessor. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/mediawiki-texvc"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () { + MathJax.InputJax.TeX.Definitions.Add({ + macros: { + AA: ["Macro", "\u00c5"], + alef: ["Macro", "\\aleph"], + alefsym: ["Macro", "\\aleph"], + Alpha: ["Macro", "\\mathrm{A}"], + and: ["Macro", "\\land"], + ang: ["Macro", "\\angle"], + Bbb: ["Macro", "\\mathbb"], + Beta: ["Macro", "\\mathrm{B}"], + bold: ["Macro", "\\mathbf"], + bull: ["Macro", "\\bullet"], + C: ["Macro", "\\mathbb{C}"], + Chi: ["Macro", "\\mathrm{X}"], + clubs: ["Macro", "\\clubsuit"], + cnums: ["Macro", "\\mathbb{C}"], + Complex: ["Macro", "\\mathbb{C}"], + coppa: ["Macro", "\u03D9"], + Coppa: ["Macro", "\u03D8"], + Dagger: ["Macro", "\\ddagger"], + Digamma: ["Macro", "\u03DC"], + darr: ["Macro", "\\downarrow"], + dArr: ["Macro", "\\Downarrow"], + Darr: ["Macro", "\\Downarrow"], + dashint: ["Macro", "\\unicodeInt{x2A0D}"], + ddashint: ["Macro", "\\unicodeInt{x2A0E}"], + diamonds: ["Macro", "\\diamondsuit"], + empty: ["Macro", "\\emptyset"], + Epsilon: ["Macro", "\\mathrm{E}"], + Eta: ["Macro", "\\mathrm{H}"], + euro: ["Macro", "\u20AC"], + exist: ["Macro", "\\exists"], + geneuro: ["Macro", "\u20AC"], + geneuronarrow: ["Macro", "\u20AC"], + geneurowide: ["Macro", "\u20AC"], + H: ["Macro", "\\mathbb{H}"], + hAar: ["Macro", "\\Leftrightarrow"], + harr: ["Macro", "\\leftrightarrow"], + Harr: ["Macro", "\\Leftrightarrow"], + hearts: ["Macro", "\\heartsuit"], + image: ["Macro", "\\Im"], + infin: ["Macro", "\\infty"], + Iota: ["Macro", "\\mathrm{I}"], + isin: ["Macro", "\\in"], + Kappa: ["Macro", "\\mathrm{K}"], + koppa: ["Macro", "\u03DF"], + Koppa: ["Macro", "\u03DE"], + lang: ["Macro", "\\langle"], + larr: ["Macro", "\\leftarrow"], + Larr: ["Macro", "\\Leftarrow"], + lArr: ["Macro", "\\Leftarrow"], + lrarr: ["Macro", "\\leftrightarrow"], + Lrarr: ["Macro", "\\Leftrightarrow"], + lrArr: ["Macro", "\\Leftrightarrow"], + Mu: ["Macro", "\\mathrm{M}"], + N: ["Macro", "\\mathbb{N}"], + natnums: ["Macro", "\\mathbb{N}"], + Nu: ["Macro", "\\mathrm{N}"], + O: ["Macro", "\\emptyset"], + oint: ["Macro", "\\unicodeInt{x222E}"], + oiint: ["Macro", "\\unicodeInt{x222F}"], + oiiint: ["Macro", "\\unicodeInt{x2230}"], + ointctrclockwise: ["Macro", "\\unicodeInt{x2233}"], + officialeuro: ["Macro", "\u20AC"], + Omicron: ["Macro", "\\mathrm{O}"], + or: ["Macro", "\\lor"], + P: ["Macro", "\u00B6"], + pagecolor: ['Macro','',1], // ignore \pagecolor{} + part: ["Macro", "\\partial"], + plusmn: ["Macro", "\\pm"], + Q: ["Macro", "\\mathbb{Q}"], + R: ["Macro", "\\mathbb{R}"], + rang: ["Macro", "\\rangle"], + rarr: ["Macro", "\\rightarrow"], + Rarr: ["Macro", "\\Rightarrow"], + rArr: ["Macro", "\\Rightarrow"], + real: ["Macro", "\\Re"], + reals: ["Macro", "\\mathbb{R}"], + Reals: ["Macro", "\\mathbb{R}"], + Rho: ["Macro", "\\mathrm{P}"], + sdot: ["Macro", "\\cdot"], + sampi: ["Macro", "\u03E1"], + Sampi: ["Macro", "\u03E0"], + sect: ["Macro", "\\S"], + spades: ["Macro", "\\spadesuit"], + stigma: ["Macro", "\u03DB"], + Stigma: ["Macro", "\u03DA"], + sub: ["Macro", "\\subset"], + sube: ["Macro", "\\subseteq"], + supe: ["Macro", "\\supseteq"], + Tau: ["Macro", "\\mathrm{T}"], + textvisiblespace: ["Macro", "\u2423"], + thetasym: ["Macro", "\\vartheta"], + uarr: ["Macro", "\\uparrow"], + uArr: ["Macro", "\\Uparrow"], + Uarr: ["Macro", "\\Uparrow"], + unicodeInt: ["Macro", "\\mathop{\\vcenter{\\mathchoice{\\huge\\unicode{#1}\\,}{\\unicode{#1}}{\\unicode{#1}}{\\unicode{#1}}}\\,}\\nolimits", 1], + varcoppa: ["Macro", "\u03D9"], + varstigma: ["Macro", "\u03DB"], + varointclockwise: ["Macro", "\\unicodeInt{x2232}"], + vline: ['Macro','\\smash{\\large\\lvert}',0], + weierp: ["Macro", "\\wp"], + Z: ["Macro", "\\mathbb{Z}"], + Zeta: ["Macro", "\\mathrm{Z}"] + } + }); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mediawiki-texvc.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem.js new file mode 100644 index 00000000..344edb6a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem.js @@ -0,0 +1,520 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/mhchem.js + * + * Implements the \ce command for handling chemical formulas + * from the mhchem LaTeX package. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + + +// +// Don't replace [Contrib]/mhchem if it is already loaded +// +if (MathJax.Extension["TeX/mhchem"]) { + MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mhchem.js"); +} else { + +MathJax.Extension["TeX/mhchem"] = { + version: "2.7.5", + config: MathJax.Hub.CombineConfig("TeX.mhchem",{ + legacy: true + }) +}; + +// +// Load [mhchem]/mhchem.js if not configured for legacy vesion +// +if (!MathJax.Extension["TeX/mhchem"].config.legacy) { + if (!MathJax.Ajax.config.path.mhchem) { + MathJax.Ajax.config.path.mhchem = MathJax.Hub.config.root + "/extensions/TeX/mhchem3"; + } + MathJax.Callback.Queue( + ["Require",MathJax.Ajax,"[mhchem]/mhchem.js"], + ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/TeX/mhchem.js"] + ); +} else { + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX; + + /* + * This is the main class for handing the \ce and related commands. + * Its main method is Parse() which takes the argument to \ce and + * returns the corresponding TeX string. + */ + + var CE = MathJax.Object.Subclass({ + string: "", // the \ce string being parsed + i: 0, // the current position in the string + tex: "", // the partially processed TeX result + TEX: "", // the full TeX result + atom: false, // last processed token is an atom + sup: "", // pending superscript + sub: "", // pending subscript + presup: "", // pending pre-superscript + presub: "", // pending pre-subscript + + // + // Store the string when a CE object is created + // + Init: function (string) {this.string = string}, + + // + // These are the special characters and the methods that + // handle them. All others are passed through verbatim. + // + ParseTable: { + '-': "Minus", + '+': "Plus", + '(': "Open", + ')': "Close", + '[': "Open", + ']': "Close", + '<': "Less", + '^': "Superscript", + '_': "Subscript", + '*': "Dot", + '.': "Dot", + '=': "Equal", + '#': "Pound", + '$': "Math", + '\\': "Macro", + ' ': "Space" + }, + // + // Basic arrow names for reactions + // + Arrows: { + '->': "rightarrow", + '<-': "leftarrow", + '<->': "leftrightarrow", + '<=>': "rightleftharpoons", + '<=>>': "Rightleftharpoons", + '<<=>': "Leftrightharpoons", + '^': "uparrow", + 'v': "downarrow" + }, + + // + // Implementations for the various bonds + // (the ~ ones are hacks that don't work well in NativeMML) + // + Bonds: { + '-': "-", + '=': "=", + '#': "\\equiv", + '~': "\\tripledash", + '~-': "\\begin{CEstack}{}\\tripledash\\\\-\\end{CEstack}", + '~=': "\\raise2mu{\\begin{CEstack}{}\\tripledash\\\\-\\\\-\\end{CEstack}}", + '~--': "\\raise2mu{\\begin{CEstack}{}\\tripledash\\\\-\\\\-\\end{CEstack}}", + '-~-': "\\raise2mu{\\begin{CEstack}{}-\\\\\\tripledash\\\\-\\end{CEstack}}", + '...': "{\\cdot}{\\cdot}{\\cdot}", + '....': "{\\cdot}{\\cdot}{\\cdot}{\\cdot}", + '->': "\\rightarrow", + '<-': "\\leftarrow", + '??': "\\text{??}" // unknown bond + }, + + // + // This converts the CE string to a TeX string. + // It loops through the string and calls the proper + // method depending on the ccurrent character. + // + Parse: function () { + this.tex = ""; this.atom = false; + while (this.i < this.string.length) { + var c = this.string.charAt(this.i); + if (c.match(/[a-z]/i)) {this.ParseLetter()} + else if (c.match(/[0-9]/)) {this.ParseNumber()} + else {this["Parse"+(this.ParseTable[c]||"Other")](c)} + } + this.FinishAtom(true); + return this.TEX; + }, + + // + // Make an atom name or a down arrow + // + ParseLetter: function () { + this.FinishAtom(); + if (this.Match(/^v( |$)/)) { + this.tex += "{\\"+this.Arrows["v"]+"}"; + } else { + this.tex += "\\text{"+this.Match(/^[a-z]+/i)+"}"; + this.atom = true; + } + }, + + // + // Make a number or fraction preceding an atom, + // or a subscript for an atom. + // + ParseNumber: function () { + var n = this.Match(/^\d+/); + if (this.atom && !this.sub) { + this.sub = n; + } else { + this.FinishAtom(); + var match = this.Match(/^\/\d+/); + if (match) { + var frac = "\\frac{"+n+"}{"+match.substr(1)+"}"; + this.tex += "\\mathchoice{\\textstyle"+frac+"}{"+frac+"}{"+frac+"}{"+frac+"}"; + } else { + this.tex += n; + if (this.i < this.string.length) {this.tex += "\\,"} + } + } + }, + + // + // Make a superscript minus, or an arrow, or a single bond. + // + ParseMinus: function (c) { + if (this.atom && (this.i === this.string.length-1 || this.string.charAt(this.i+1) === " ")) { + this.sup += c; + } else { + this.FinishAtom(); + if (this.string.substr(this.i,2) === "->") {this.i += 2; this.AddArrow("->"); return} + else {this.tex += "{-}"} + } + this.i++; + }, + + // + // Make a superscript plus, or pass it through + // + ParsePlus: function (c) { + if (this.atom) {this.sup += c} else {this.FinishAtom(); this.tex += c} + this.i++; + }, + + // + // Handle dots and double or triple bonds + // + ParseDot: function (c) {this.FinishAtom(); this.tex += "\\cdot "; this.i++}, + ParseEqual: function (c) {this.FinishAtom(); this.tex += "{=}"; this.i++}, + ParsePound: function (c) {this.FinishAtom(); this.tex += "{\\equiv}"; this.i++}, + + // + // Look for (v) or (^), or pass it through + // + ParseOpen: function (c) { + this.FinishAtom(); + var match = this.Match(/^\([v^]\)/); + if (match) {this.tex += "{\\"+this.Arrows[match.charAt(1)]+"}"} + else {this.tex += "{"+c; this.i++} + }, + // + // Allow ) and ] to get super- and subscripts + // + ParseClose: function (c) {this.FinishAtom(); this.atom = true; this.tex += c+"}"; this.i++}, + + // + // Make the proper arrow + // + ParseLess: function (c) { + this.FinishAtom(); + var arrow = this.Match(/^(<->?|<=>>?|<<=>)/); + if (!arrow) {this.tex += c; this.i++} else {this.AddArrow(arrow)} + }, + + // + // Look for a superscript, or an up arrow + // + ParseSuperscript: function (c) { + c = this.string.charAt(++this.i); + if (c === "{") { + this.i++; var m = this.Find("}"); + if (m === "-.") {this.sup += "{-}{\\cdot}"} + else if (m) {this.sup += CE(m).Parse().replace(/^\{-\}/,"-")} + } else if (c === " " || c === "") { + this.tex += "{\\"+this.Arrows["^"]+"}"; this.i++; + } else { + var n = this.Match(/^(\d+|-\.)/); + if (n) {this.sup += n} + } + }, + // + // Look for subscripts + // + ParseSubscript: function (c) { + if (this.string.charAt(++this.i) == "{") { + this.i++; this.sub += CE(this.Find("}")).Parse().replace(/^\{-\}/,"-"); + } else { + var n = this.Match(/^\d+/); + if (n) {this.sub += n} + } + }, + + // + // Look for raw TeX code to include + // + ParseMath: function (c) { + this.FinishAtom(); + this.i++; this.tex += this.Find(c); + }, + + // + // Look for specific macros for bonds + // and allow \} to have subscripts + // + ParseMacro: function (c) { + this.FinishAtom(); + this.i++; var match = this.Match(/^([a-z]+|.)/i)||" "; + if (match === "sbond") {this.tex += "{-}"} + else if (match === "dbond") {this.tex += "{=}"} + else if (match === "tbond") {this.tex += "{\\equiv}"} + else if (match === "bond") { + var bond = (this.Match(/^\{.*?\}/)||""); + bond = bond.substr(1,bond.length-2); + this.tex += "{"+(this.Bonds[bond]||"\\text{??}")+"}"; + } + else if (match === "{") {this.tex += "{\\{"} + else if (match === "}") {this.tex += "\\}}"; this.atom = true} + else {this.tex += c+match} + }, + + // + // Ignore spaces + // + ParseSpace: function (c) {this.FinishAtom(); this.i++}, + + // + // Pass anything else on verbatim + // + ParseOther: function (c) {this.FinishAtom(); this.tex += c; this.i++}, + + // + // Process an arrow (looking for brackets for above and below) + // + AddArrow: function (arrow) { + var c = this.Match(/^[CT]\[/); + if (c) {this.i--; c = c.charAt(0)} + var above = this.GetBracket(c), below = this.GetBracket(c); + arrow = this.Arrows[arrow]; + if (above || below) { + if (below) {arrow += "["+below+"]"} + arrow += "{"+above+"}"; + arrow = "\\mathrel{\\x"+arrow+"}"; + } else { + arrow = "\\long"+arrow+" "; + } + this.tex += arrow; + }, + + // + // Handle the super and subscripts for an atom + // + FinishAtom: function (force) { + if (this.sup || this.sub || this.presup || this.presub) { + if (!force && !this.atom) { + if (this.tex === "" && !this.sup && !this.sub) return; + if (!this.presup && !this.presub && + (this.tex === "" || this.tex === "{" || + (this.tex === "}" && this.TEX.substr(-1) === "{"))) { + this.presup = this.sup, this.presub = this.sub; // save for later + this.sub = this.sup = ""; + this.TEX += this.tex; this.tex = ""; + return; + } + } + if (this.sub && !this.sup) {this.sup = "\\Space{0pt}{0pt}{.2em}"} // forces subscripts to align properly + if ((this.presup || this.presub) && this.tex !== "{") { + if (!this.presup && !this.sup) {this.presup = "\\Space{0pt}{0pt}{.2em}"} + this.tex = "\\CEprescripts{"+(this.presub||"\\CEnone")+"}{"+(this.presup||"\\CEnone")+"}" + + "{"+(this.tex !== "}" ? this.tex : "")+"}" + + "{"+(this.sub||"\\CEnone")+"}{"+(this.sup||"\\CEnone")+"}" + + (this.tex === "}" ? "}" : ""); + this.presub = this.presup = ""; + } else { + if (this.sup) this.tex += "^{"+this.sup+"}"; + if (this.sub) this.tex += "_{"+this.sub+"}"; + } + this.sup = this.sub = ""; + } + this.TEX += this.tex; this.tex = ""; + this.atom = false; + }, + + // + // Find a bracket group and handle C and T prefixes + // + GetBracket: function (c) { + if (this.string.charAt(this.i) !== "[") {return ""} + this.i++; var bracket = this.Find("]"); + if (c === "C") {bracket = "\\ce{"+bracket+"}"} else + if (c === "T") { + if (!bracket.match(/^\{.*\}$/)) {bracket = "{"+bracket+"}"} + bracket = "\\text"+bracket; + }; + return bracket; + }, + + // + // Check if the string matches a regular expression + // and move past it if so, returning the match + // + Match: function (regex) { + var match = regex.exec(this.string.substr(this.i)); + if (match) {match = match[0]; this.i += match.length} + return match; + }, + + // + // Find a particular character, skipping over braced groups + // + Find: function (c) { + var m = this.string.length, i = this.i, braces = 0; + while (this.i < m) { + var C = this.string.charAt(this.i++); + if (C === c && braces === 0) {return this.string.substr(i,this.i-i-1)} + if (C === "{") {braces++} else + if (C === "}") { + if (braces) {braces--} + else { + TEX.Error(["ExtraCloseMissingOpen","Extra close brace or missing open brace"]) + } + } + } + if (braces) {TEX.Error(["MissingCloseBrace","Missing close brace"])} + TEX.Error(["NoClosingChar","Can't find closing %1",c]); + } + + }); + + MathJax.Extension["TeX/mhchem"].CE = CE; + + /***************************************************************************/ + + TEX.Definitions.Add({ + macros: { + // + // Set up the macros for chemistry + // + ce: 'CE', + cf: 'CE', + cee: 'CE', + + // + // Make these load AMSmath package (redefined below when loaded) + // + xleftrightarrow: ['Extension','AMSmath'], + xrightleftharpoons: ['Extension','AMSmath'], + xRightleftharpoons: ['Extension','AMSmath'], + xLeftrightharpoons: ['Extension','AMSmath'], + + // FIXME: These don't work well in FF NativeMML mode + longrightleftharpoons: ["Macro","\\stackrel{\\textstyle{{-}\\!\\!{\\rightharpoonup}}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"], + longRightleftharpoons: ["Macro","\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\small\\smash\\leftharpoondown}"], + longLeftrightharpoons: ["Macro","\\stackrel{\\rightharpoonup}{{{\\leftharpoondown}\\!\\!\\textstyle{-}}}"], + + // + // Add \hyphen used in some mhchem examples + // + hyphen: ["Macro","\\text{-}"], + + // + // Handle prescripts and none + // + CEprescripts: "CEprescripts", + CEnone: "CEnone", + + // + // Needed for \bond for the ~ forms + // + tripledash: ["Macro","\\raise3mu{\\tiny\\text{-}\\kern2mu\\text{-}\\kern2mu\\text{-}}"] + }, + + // + // Needed for \bond for the ~ forms + // + environment: { + CEstack: ['Array',null,null,null,'r',null,"0.001em",'T',1] + } + },null,true); + + if (!MathJax.Extension["TeX/AMSmath"]) { + TEX.Definitions.Add({ + macros: { + xrightarrow: ['Extension','AMSmath'], + xleftarrow: ['Extension','AMSmath'] + } + },null,true); + } + + // + // These arrows need to wait until AMSmath is loaded + // + MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () { + TEX.Definitions.Add({ + macros: { + // + // Some of these are hacks for now + // + xleftrightarrow: ['xArrow',0x2194,6,6], + xrightleftharpoons: ['xArrow',0x21CC,5,7], // FIXME: doesn't stretch in HTML-CSS output + xRightleftharpoons: ['xArrow',0x21CC,5,7], // FIXME: how should this be handled? + xLeftrightharpoons: ['xArrow',0x21CC,5,7] + } + },null,true); + }); + + TEX.Parse.Augment({ + + // + // Implements \ce and friends + // + CE: function (name) { + var arg = this.GetArgument(name); + var tex = CE(arg).Parse(); + this.string = tex + this.string.substr(this.i); this.i = 0; + }, + + // + // Implements \CEprescripts{presub}{presup}{base}{sub}{sup} + // + CEprescripts: function (name) { + var presub = this.ParseArg(name), + presup = this.ParseArg(name), + base = this.ParseArg(name), + sub = this.ParseArg(name), + sup = this.ParseArg(name); + var MML = MathJax.ElementJax.mml; + this.Push(MML.mmultiscripts(base,sub,sup,MML.mprescripts(),presub,presup)); + }, + CEnone: function (name) { + this.Push(MathJax.ElementJax.mml.none()); + } + + }); + + // + // Indicate that the extension is ready + // + MathJax.Hub.Startup.signal.Post("TeX mhchem Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mhchem.js"); + +}} diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem3/mhchem.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem3/mhchem.js new file mode 100644 index 00000000..6b304e78 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem3/mhchem.js @@ -0,0 +1,1770 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/mhchem.js + * + * Implements the \ce command for handling chemical formulas + * from the mhchem LaTeX package. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2015 The MathJax Consortium + * Copyright (c) 2015-2018 Martin Hensel + * + * 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. + */ + +// +// Coding Style +// - use '' for identifiers that can by minified/uglified +// - use "" for strings that need to stay untouched + + +MathJax.Extension["TeX/mhchem"] = { + version: "3.3.0" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () { + + var TEX = MathJax.InputJax.TeX; + + // + // This is the main class for handing the \ce and related commands. + // Its main method is Parse() which takes the argument to \ce and + // returns the corresponding TeX string. + // + + var CE = MathJax.Object.Subclass({ + string: "", // the \ce string being parsed + + // + // Store the string when a CE object is created + // + Init: function (string) { this.string = string; }, + + // + // This converts the CE string to a TeX string. + // + Parse: function (stateMachine) { + try { + return texify.go(mhchemParser.go(this.string, stateMachine)); + } catch (ex) { + TEX.Error(ex); + } + } + }); + + // + // Core parser for mhchem syntax (recursive) + // + /** @type {MhchemParser} */ + var mhchemParser = { + // + // Parses mchem \ce syntax + // + // Call like + // go("H2O"); + // + go: function (input, stateMachine) { + if (!input) { return []; } + if (stateMachine === undefined) { stateMachine = 'ce'; } + var state = '0'; + + // + // String buffers for parsing: + // + // buffer.a == amount + // buffer.o == element + // buffer.b == left-side superscript + // buffer.p == left-side subscript + // buffer.q == right-side subscript + // buffer.d == right-side superscript + // + // buffer.r == arrow + // buffer.rdt == arrow, script above, type + // buffer.rd == arrow, script above, content + // buffer.rqt == arrow, script below, type + // buffer.rq == arrow, script below, content + // + // buffer.text_ + // buffer.rm + // etc. + // + // buffer.parenthesisLevel == int, starting at 0 + // buffer.sb == bool, space before + // buffer.beginsWithBond == bool + // + // These letters are also used as state names. + // + // Other states: + // 0 == begin of main part (arrow/operator unlikely) + // 1 == next entity + // 2 == next entity (arrow/operator unlikely) + // 3 == next atom + // c == macro + // + /** @type {Buffer} */ + var buffer = {}; + buffer['parenthesisLevel'] = 0; + + input = input.replace(/\n/g, " "); + input = input.replace(/[\u2212\u2013\u2014\u2010]/g, "-"); + input = input.replace(/[\u2026]/g, "..."); + + // + // Looks through mhchemParser.transitions, to execute a matching action + // (recursive) + // + var lastInput; + var watchdog = 10; + /** @type {ParserOutput[]} */ + var output = []; + while (true) { + if (lastInput !== input) { + watchdog = 10; + lastInput = input; + } else { + watchdog--; + } + // + // Find actions in transition table + // + var machine = mhchemParser.stateMachines[stateMachine]; + var t = machine.transitions[state] || machine.transitions['*']; + iterateTransitions: + for (var i=0; i 0) { + if (!task.revisit) { + input = matches.remainder; + } + if (!task.toContinue) { + break iterateTransitions; + } + } else { + return output; + } + } + } + // + // Prevent infinite loop + // + if (watchdog <= 0) { + throw ["MhchemBugU", "mhchem bug U. Please report."]; // Unexpected character + } + } + }, + concatArray: function (a, b) { + if (b) { + if (Array.isArray(b)) { + for (var iB=0; iB': /^[=<>]/, + '#': /^[#\u2261]/, + '+': /^\+/, + '-$': /^-(?=[\s_},;\]/]|$|\([a-z]+\))/, // -space -, -; -] -/ -$ -state-of-aggregation + '-9': /^-(?=[0-9])/, + '- orbital overlap': /^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/, + '-': /^-/, + 'pm-operator': /^(?:\\pm|\$\\pm\$|\+-|\+\/-)/, + 'operator': /^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/, + 'arrowUpDown': /^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/, + '\\bond{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\bond{", "", "", "}"); }, + '->': /^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/, + 'CMT': /^[CMT](?=\[)/, + '[(...)]': function (input) { return mhchemParser.patterns.findObserveGroups(input, "[", "", "", "]"); }, + '1st-level escape': /^(&|\\\\|\\hline)\s*/, + '\\,': /^(?:\\[,\ ;:])/, // \\x - but output no space before + '\\x{}{}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); }, + '\\x{}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", ""); }, + '\\ca': /^\\ca(?:\s+|(?![a-zA-Z]))/, + '\\x': /^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/, + 'orbital': /^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/, // only those with numbers in front, because the others will be formatted correctly anyway + 'others': /^[\/~|]/, + '\\frac{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\frac{", "", "", "}", "{", "", "", "}"); }, + '\\overset{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\overset{", "", "", "}", "{", "", "", "}"); }, + '\\underset{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\underset{", "", "", "}", "{", "", "", "}"); }, + '\\underbrace{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\underbrace{", "", "", "}_", "{", "", "", "}"); }, + '\\color{(...)}0': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}"); }, + '\\color{(...)}{(...)}1': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}", "{", "", "", "}"); }, + '\\color(...){(...)}2': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color", "\\", "", /^(?=\{)/, "{", "", "", "}"); }, + '\\ce{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\ce{", "", "", "}"); }, + 'oxidation$': /^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, + 'd-oxidation$': /^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, // 0 could be oxidation or charge + 'roman numeral': /^[IVX]+/, + '1/2$': /^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/, + 'amount': function (input) { + var match; + // e.g. 2, 0.5, 1/2, -2, n/2, +; $a$ could be added later in parsing + match = input.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/); + if (match) { + return { match_: match[0], remainder: input.substr(match[0].length) }; + } + var a = mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); + if (a) { // e.g. $2n-1$, $-$ + match = a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/); + if (match) { + return { match_: match[0], remainder: input.substr(match[0].length) }; + } + } + return null; + }, + 'amount2': function (input) { return this['amount'](input); }, + '(KV letters),': /^(?:[A-Z][a-z]{0,2}|i)(?=,)/, + 'formula$': function (input) { + if (input.match(/^\([a-z]+\)$/)) { return null; } // state of aggregation = no formula + var match = input.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/); + if (match) { + return { match_: match[0], remainder: input.substr(match[0].length) }; + } + return null; + }, + 'uprightEntities': /^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/, + '/': /^\s*(\/)\s*/, + '//': /^\s*(\/\/)\s*/, + '*': /^\s*[*.]\s*/ + }, + findObserveGroups: function (input, begExcl, begIncl, endIncl, endExcl, beg2Excl, beg2Incl, end2Incl, end2Excl, combine) { + /** @type {{(input: string, pattern: string | RegExp): string | string[] | null;}} */ + var _match = function (input, pattern) { + if (typeof pattern === "string") { + if (input.indexOf(pattern) !== 0) { return null; } + return pattern; + } else { + var match = input.match(pattern); + if (!match) { return null; } + return match[0]; + } + }; + /** @type {{(input: string, i: number, endChars: string | RegExp): {endMatchBegin: number, endMatchEnd: number} | null;}} */ + var _findObserveGroups = function (input, i, endChars) { + var braces = 0; + while (i < input.length) { + var a = input.charAt(i); + var match = _match(input.substr(i), endChars); + if (match !== null && braces === 0) { + return { endMatchBegin: i, endMatchEnd: i + match.length }; + } else if (a === "{") { + braces++; + } else if (a === "}") { + if (braces === 0) { + throw ["ExtraCloseMissingOpen", "Extra close brace or missing open brace"]; + } else { + braces--; + } + } + i++; + } + if (braces > 0) { + return null; + } + return null; + }; + var match = _match(input, begExcl); + if (match === null) { return null; } + input = input.substr(match.length); + match = _match(input, begIncl); + if (match === null) { return null; } + var e = _findObserveGroups(input, match.length, endIncl || endExcl); + if (e === null) { return null; } + var match1 = input.substring(0, (endIncl ? e.endMatchEnd : e.endMatchBegin)); + if (!(beg2Excl || beg2Incl)) { + return { + match_: match1, + remainder: input.substr(e.endMatchEnd) + }; + } else { + var group2 = this.findObserveGroups(input.substr(e.endMatchEnd), beg2Excl, beg2Incl, end2Incl, end2Excl); + if (group2 === null) { return null; } + /** @type {string[]} */ + var matchRet = [match1, group2.match_]; + return { + match_: (combine ? matchRet.join("") : matchRet), + remainder: group2.remainder + }; + } + }, + + // + // Matching function + // e.g. match("a", input) will look for the regexp called "a" and see if it matches + // returns null or {match_:"a", remainder:"bc"} + // + match_: function (m, input) { + var pattern = mhchemParser.patterns.patterns[m]; + if (pattern === undefined) { + throw ["MhchemBugP", "mhchem bug P. Please report. (" + m + ")"]; // Trying to use non-existing pattern + } else if (typeof pattern === "function") { + return mhchemParser.patterns.patterns[m](input); // cannot use cached var pattern here, because some pattern functions need this===mhchemParser + } else { // RegExp + var match = input.match(pattern); + if (match) { + var mm; + if (match[2]) { + mm = [ match[1], match[2] ]; + } else if (match[1]) { + mm = match[1]; + } else { + mm = match[0]; + } + return { match_: mm, remainder: input.substr(match[0].length) }; + } + return null; + } + } + }, + + // + // Generic state machine actions + // + actions: { + 'a=': function (buffer, m) { buffer.a = (buffer.a || "") + m; }, + 'b=': function (buffer, m) { buffer.b = (buffer.b || "") + m; }, + 'p=': function (buffer, m) { buffer.p = (buffer.p || "") + m; }, + 'o=': function (buffer, m) { buffer.o = (buffer.o || "") + m; }, + 'q=': function (buffer, m) { buffer.q = (buffer.q || "") + m; }, + 'd=': function (buffer, m) { buffer.d = (buffer.d || "") + m; }, + 'rm=': function (buffer, m) { buffer.rm = (buffer.rm || "") + m; }, + 'text=': function (buffer, m) { buffer.text_ = (buffer.text_ || "") + m; }, + 'insert': function (buffer, m, a) { return { type_: a }; }, + 'insert+p1': function (buffer, m, a) { return { type_: a, p1: m }; }, + 'insert+p1+p2': function (buffer, m, a) { return { type_: a, p1: m[0], p2: m[1] }; }, + 'copy': function (buffer, m) { return m; }, + 'rm': function (buffer, m) { return { type_: 'rm', p1: m || ""}; }, + 'text': function (buffer, m) { return mhchemParser.go(m, 'text'); }, + '{text}': function (buffer, m) { + var ret = [ "{" ]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'text')); + ret.push("}"); + return ret; + }, + 'tex-math': function (buffer, m) { return mhchemParser.go(m, 'tex-math'); }, + 'tex-math tight': function (buffer, m) { return mhchemParser.go(m, 'tex-math tight'); }, + 'bond': function (buffer, m, k) { return { type_: 'bond', kind_: k || m }; }, + 'color0-output': function (buffer, m) { return { type_: 'color0', color: m[0] }; }, + 'ce': function (buffer, m) { return mhchemParser.go(m); }, + '1/2': function (buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + if (m.match(/^[+\-]/)) { + ret.push(m.substr(0, 1)); + m = m.substr(1); + } + var n = m.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/); + n[1] = n[1].replace(/\$/g, ""); + ret.push({ type_: 'frac', p1: n[1], p2: n[2] }); + if (n[3]) { + n[3] = n[3].replace(/\$/g, ""); + ret.push({ type_: 'tex-math', p1: n[3] }); + } + return ret; + }, + '9,9': function (buffer, m) { return mhchemParser.go(m, '9,9'); } + }, + // + // createTransitions + // convert { 'letter': { 'state': { action_: 'output' } } } to { 'state' => [ { pattern: 'letter', task: { action_: [{type_: 'output'}] } } ] } + // with expansion of 'a|b' to 'a' and 'b' (at 2 places) + // + createTransitions: function (o) { + var pattern, state; + /** @type {string[]} */ + var stateArray; + var i; + // + // 1. Collect all states + // + /** @type {Transitions} */ + var transitions = {}; + for (pattern in o) { + for (state in o[pattern]) { + stateArray = state.split("|"); + o[pattern][state].stateArray = stateArray; + for (i=0; i': { + '0|1|2|3': { action_: 'r=', nextState: 'r' }, + 'a|as': { action_: [ 'output', 'r=' ], nextState: 'r' }, + '*': { action_: [ 'output', 'r=' ], nextState: 'r' } }, + '+': { + 'o': { action_: 'd= kv', nextState: 'd' }, + 'd|D': { action_: 'd=', nextState: 'd' }, + 'q': { action_: 'd=', nextState: 'qd' }, + 'qd|qD': { action_: 'd=', nextState: 'qd' }, + 'dq': { action_: [ 'output', 'd=' ], nextState: 'd' }, + '3': { action_: [ 'sb=false', 'output', 'operator' ], nextState: '0' } }, + 'amount': { + '0|2': { action_: 'a=', nextState: 'a' } }, + 'pm-operator': { + '0|1|2|a|as': { action_: [ 'sb=false', 'output', { type_: 'operator', option: '\\pm' } ], nextState: '0' } }, + 'operator': { + '0|1|2|a|as': { action_: [ 'sb=false', 'output', 'operator' ], nextState: '0' } }, + '-$': { + 'o|q': { action_: [ 'charge or bond', 'output' ], nextState: 'qd' }, + 'd': { action_: 'd=', nextState: 'd' }, + 'D': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' }, + 'q': { action_: 'd=', nextState: 'qd' }, + 'qd': { action_: 'd=', nextState: 'qd' }, + 'qD|dq': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' } }, + '-9': { + '3|o': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '3' } }, + '- orbital overlap': { + 'o': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' }, + 'd': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' } }, + '-': { + '0|1|2': { action_: [ { type_: 'output', option: 1 }, 'beginsWithBond=true', { type_: 'bond', option: "-" } ], nextState: '3' }, + '3': { action_: { type_: 'bond', option: "-" } }, + 'a': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' }, + 'as': { action_: [ { type_: 'output', option: 2 }, { type_: 'bond', option: "-" } ], nextState: '3' }, + 'b': { action_: 'b=' }, + 'o': { action_: { type_: '- after o/d', option: false }, nextState: '2' }, + 'q': { action_: { type_: '- after o/d', option: false }, nextState: '2' }, + 'd|qd|dq': { action_: { type_: '- after o/d', option: true }, nextState: '2' }, + 'D|qD|p': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' } }, + 'amount2': { + '1|3': { action_: 'a=', nextState: 'a' } }, + 'letters': { + '0|1|2|3|a|as|b|p|bp|o': { action_: 'o=', nextState: 'o' }, + 'q|dq': { action_: ['output', 'o='], nextState: 'o' }, + 'd|D|qd|qD': { action_: 'o after d', nextState: 'o' } }, + 'digits': { + 'o': { action_: 'q=', nextState: 'q' }, + 'd|D': { action_: 'q=', nextState: 'dq' }, + 'q': { action_: [ 'output', 'o=' ], nextState: 'o' }, + 'a': { action_: 'o=', nextState: 'o' } }, + 'space A': { + 'b|p|bp': {} }, + 'space': { + 'a': { nextState: 'as' }, + '0': { action_: 'sb=false' }, + '1|2': { action_: 'sb=true' }, + 'r|rt|rd|rdt|rdq': { action_: 'output', nextState: '0' }, + '*': { action_: [ 'output', 'sb=true' ], nextState: '1'} }, + '1st-level escape': { + '1|2': { action_: [ 'output', { type_: 'insert+p1', option: '1st-level escape' } ] }, + '*': { action_: [ 'output', { type_: 'insert+p1', option: '1st-level escape' } ], nextState: '0' } }, + '[(...)]': { + 'r|rt': { action_: 'rd=', nextState: 'rd' }, + 'rd|rdt': { action_: 'rq=', nextState: 'rdq' } }, + '...': { + 'o|d|D|dq|qd|qD': { action_: [ 'output', { type_: 'bond', option: "..." } ], nextState: '3' }, + '*': { action_: [ { type_: 'output', option: 1 }, { type_: 'insert', option: 'ellipsis' } ], nextState: '1' } }, + '. |* ': { + '*': { action_: [ 'output', { type_: 'insert', option: 'addition compound' } ], nextState: '1' } }, + 'state of aggregation $': { + '*': { action_: [ 'output', 'state of aggregation' ], nextState: '1' } }, + '{[(': { + 'a|as|o': { action_: [ 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' }, + '0|1|2|3': { action_: [ 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' }, + '*': { action_: [ 'output', 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' } }, + ')]}': { + '0|1|2|3|b|p|bp|o': { action_: [ 'o=', 'parenthesisLevel--' ], nextState: 'o' }, + 'a|as|d|D|q|qd|qD|dq': { action_: [ 'output', 'o=', 'parenthesisLevel--' ], nextState: 'o' } }, + ', ': { + '*': { action_: [ 'output', 'comma' ], nextState: '0' } }, + '^_': { // ^ and _ without a sensible argument + '*': { } }, + '^{(...)}|^($...$)': { + '0|1|2|as': { action_: 'b=', nextState: 'b' }, + 'p': { action_: 'b=', nextState: 'bp' }, + '3|o': { action_: 'd= kv', nextState: 'D' }, + 'q': { action_: 'd=', nextState: 'qD' }, + 'd|D|qd|qD|dq': { action_: [ 'output', 'd=' ], nextState: 'D' } }, + '^a|^\\x{}{}|^\\x{}|^\\x|\'': { + '0|1|2|as': { action_: 'b=', nextState: 'b' }, + 'p': { action_: 'b=', nextState: 'bp' }, + '3|o': { action_: 'd= kv', nextState: 'd' }, + 'q': { action_: 'd=', nextState: 'qd' }, + 'd|qd|D|qD': { action_: 'd=' }, + 'dq': { action_: [ 'output', 'd=' ], nextState: 'd' } }, + '_{(state of aggregation)}$': { + 'd|D|q|qd|qD|dq': { action_: [ 'output', 'q=' ], nextState: 'q' } }, + '_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x': { + '0|1|2|as': { action_: 'p=', nextState: 'p' }, + 'b': { action_: 'p=', nextState: 'bp' }, + '3|o': { action_: 'q=', nextState: 'q' }, + 'd|D': { action_: 'q=', nextState: 'dq' }, + 'q|qd|qD|dq': { action_: [ 'output', 'q=' ], nextState: 'q' } }, + '=<>': { + '0|1|2|3|a|as|o|q|d|D|qd|qD|dq': { action_: [ { type_: 'output', option: 2 }, 'bond' ], nextState: '3' } }, + '#': { + '0|1|2|3|a|as|o': { action_: [ { type_: 'output', option: 2 }, { type_: 'bond', option: "#" } ], nextState: '3' } }, + '{}': { + '*': { action_: { type_: 'output', option: 1 }, nextState: '1' } }, + '{...}': { + '0|1|2|3|a|as|b|p|bp': { action_: 'o=', nextState: 'o' }, + 'o|d|D|q|qd|qD|dq': { action_: [ 'output', 'o=' ], nextState: 'o' } }, + '$...$': { + 'a': { action_: 'a=' }, // 2$n$ + '0|1|2|3|as|b|p|bp|o': { action_: 'o=', nextState: 'o' }, // not 'amount' + 'as|o': { action_: 'o=' }, + 'q|d|D|qd|qD|dq': { action_: [ 'output', 'o=' ], nextState: 'o' } }, + '\\bond{(...)}': { + '*': { action_: [ { type_: 'output', option: 2 }, 'bond' ], nextState: "3" } }, + '\\frac{(...)}': { + '*': { action_: [ { type_: 'output', option: 1 }, 'frac-output' ], nextState: '3' } }, + '\\overset{(...)}': { + '*': { action_: [ { type_: 'output', option: 2 }, 'overset-output' ], nextState: '3' } }, + '\\underset{(...)}': { + '*': { action_: [ { type_: 'output', option: 2 }, 'underset-output' ], nextState: '3' } }, + '\\underbrace{(...)}': { + '*': { action_: [ { type_: 'output', option: 2 }, 'underbrace-output' ], nextState: '3' } }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { action_: [ { type_: 'output', option: 2 }, 'color-output' ], nextState: '3' } }, + '\\color{(...)}0': { + '*': { action_: [ { type_: 'output', option: 2 }, 'color0-output' ] } }, + '\\ce{(...)}': { + '*': { action_: [ { type_: 'output', option: 2 }, 'ce' ], nextState: '3' } }, + '\\,': { + '*': { action_: [ { type_: 'output', option: 1 }, 'copy' ], nextState: '1' } }, + '\\x{}{}|\\x{}|\\x': { + '0|1|2|3|a|as|b|p|bp|o|c0': { action_: [ 'o=', 'output' ], nextState: '3' }, + '*': { action_: ['output', 'o=', 'output' ], nextState: '3' } }, + 'others': { + '*': { action_: [ { type_: 'output', option: 1 }, 'copy' ], nextState: '3' } }, + 'else2': { + 'a': { action_: 'a to o', nextState: 'o', revisit: true }, + 'as': { action_: [ 'output', 'sb=true' ], nextState: '1', revisit: true }, + 'r|rt|rd|rdt|rdq': { action_: [ 'output' ], nextState: '0', revisit: true }, + '*': { action_: [ 'output', 'copy' ], nextState: '3' } } + }), + actions: { + 'o after d': function (buffer, m) { + var ret; + if ((buffer.d || "").match(/^[0-9]+$/)) { + var tmp = buffer.d; + buffer.d = undefined; + ret = this['output'](buffer); + buffer.b = tmp; + } else { + ret = this['output'](buffer); + } + mhchemParser.actions['o='](buffer, m); + return ret; + }, + 'd= kv': function (buffer, m) { + buffer.d = m; + buffer.dType = 'kv'; + }, + 'charge or bond': function (buffer, m) { + if (buffer['beginsWithBond']) { + /** @type {ParserOutput[]} */ + var ret = []; + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + return ret; + } else { + buffer.d = m; + } + }, + '- after o/d': function (buffer, m, isAfterD) { + var c1 = mhchemParser.patterns.match_('orbital', buffer.o || ""); + var c2 = mhchemParser.patterns.match_('one lowercase greek letter $', buffer.o || ""); + var c3 = mhchemParser.patterns.match_('one lowercase latin letter $', buffer.o || ""); + var c4 = mhchemParser.patterns.match_('$one lowercase latin letter$ $', buffer.o || ""); + var hyphenFollows = m==="-" && ( c1 && c1.remainder==="" || c2 || c3 || c4 ); + if (hyphenFollows && !buffer.a && !buffer.b && !buffer.p && !buffer.d && !buffer.q && !c1 && c3) { + buffer.o = '$' + buffer.o + '$'; + } + /** @type {ParserOutput[]} */ + var ret = []; + if (hyphenFollows) { + mhchemParser.concatArray(ret, this['output'](buffer)); + ret.push({ type_: 'hyphen' }); + } else { + c1 = mhchemParser.patterns.match_('digits', buffer.d || ""); + if (isAfterD && c1 && c1.remainder==='') { + mhchemParser.concatArray(ret, mhchemParser.actions['d='](buffer, m)); + mhchemParser.concatArray(ret, this['output'](buffer)); + } else { + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + } + } + return ret; + }, + 'a to o': function (buffer) { + buffer.o = buffer.a; + buffer.a = undefined; + }, + 'sb=true': function (buffer) { buffer.sb = true; }, + 'sb=false': function (buffer) { buffer.sb = false; }, + 'beginsWithBond=true': function (buffer) { buffer['beginsWithBond'] = true; }, + 'beginsWithBond=false': function (buffer) { buffer['beginsWithBond'] = false; }, + 'parenthesisLevel++': function (buffer) { buffer['parenthesisLevel']++; }, + 'parenthesisLevel--': function (buffer) { buffer['parenthesisLevel']--; }, + 'state of aggregation': function (buffer, m) { + return { type_: 'state of aggregation', p1: mhchemParser.go(m, 'o') }; + }, + 'comma': function (buffer, m) { + var a = m.replace(/\s*$/, ''); + var withSpace = (a !== m); + if (withSpace && buffer['parenthesisLevel'] === 0) { + return { type_: 'comma enumeration L', p1: a }; + } else { + return { type_: 'comma enumeration M', p1: a }; + } + }, + 'output': function (buffer, m, entityFollows) { + // entityFollows: + // undefined = if we have nothing else to output, also ignore the just read space (buffer.sb) + // 1 = an entity follows, never omit the space if there was one just read before (can only apply to state 1) + // 2 = 1 + the entity can have an amount, so output a\, instead of converting it to o (can only apply to states a|as) + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + if (!buffer.r) { + ret = []; + if (!buffer.a && !buffer.b && !buffer.p && !buffer.o && !buffer.q && !buffer.d && !entityFollows) { + //ret = []; + } else { + if (buffer.sb) { + ret.push({ type_: 'entitySkip' }); + } + if (!buffer.o && !buffer.q && !buffer.d && !buffer.b && !buffer.p && entityFollows!==2) { + buffer.o = buffer.a; + buffer.a = undefined; + } else if (!buffer.o && !buffer.q && !buffer.d && (buffer.b || buffer.p)) { + buffer.o = buffer.a; + buffer.d = buffer.b; + buffer.q = buffer.p; + buffer.a = buffer.b = buffer.p = undefined; + } else { + if (buffer.o && buffer.dType==='kv' && mhchemParser.patterns.match_('d-oxidation$', buffer.d || "")) { + buffer.dType = 'oxidation'; + } else if (buffer.o && buffer.dType==='kv' && !buffer.q) { + buffer.dType = undefined; + } + } + ret.push({ + type_: 'chemfive', + a: mhchemParser.go(buffer.a, 'a'), + b: mhchemParser.go(buffer.b, 'bd'), + p: mhchemParser.go(buffer.p, 'pq'), + o: mhchemParser.go(buffer.o, 'o'), + q: mhchemParser.go(buffer.q, 'pq'), + d: mhchemParser.go(buffer.d, (buffer.dType === 'oxidation' ? 'oxidation' : 'bd')), + dType: buffer.dType + }); + } + } else { // r + /** @type {ParserOutput[]} */ + var rd; + if (buffer.rdt === 'M') { + rd = mhchemParser.go(buffer.rd, 'tex-math'); + } else if (buffer.rdt === 'T') { + rd = [ { type_: 'text', p1: buffer.rd || "" } ]; + } else { + rd = mhchemParser.go(buffer.rd); + } + /** @type {ParserOutput[]} */ + var rq; + if (buffer.rqt === 'M') { + rq = mhchemParser.go(buffer.rq, 'tex-math'); + } else if (buffer.rqt === 'T') { + rq = [ { type_: 'text', p1: buffer.rq || ""} ]; + } else { + rq = mhchemParser.go(buffer.rq); + } + ret = { + type_: 'arrow', + r: buffer.r, + rd: rd, + rq: rq + }; + } + for (var p in buffer) { + if (p !== 'parenthesisLevel' && p !== 'beginsWithBond') { + delete buffer[p]; + } + } + return ret; + }, + 'oxidation-output': function (buffer, m) { + var ret = [ "{" ]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'oxidation')); + ret.push("}"); + return ret; + }, + 'frac-output': function (buffer, m) { + return { type_: 'frac-ce', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; + }, + 'overset-output': function (buffer, m) { + return { type_: 'overset', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; + }, + 'underset-output': function (buffer, m) { + return { type_: 'underset', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; + }, + 'underbrace-output': function (buffer, m) { + return { type_: 'underbrace', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; + }, + 'color-output': function (buffer, m) { + return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1]) }; + }, + 'r=': function (buffer, m) { buffer.r = m; }, + 'rdt=': function (buffer, m) { buffer.rdt = m; }, + 'rd=': function (buffer, m) { buffer.rd = m; }, + 'rqt=': function (buffer, m) { buffer.rqt = m; }, + 'rq=': function (buffer, m) { buffer.rq = m; }, + 'operator': function (buffer, m, p1) { return { type_: 'operator', kind_: (p1 || m) }; } + } + }, + 'a': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + '1/2$': { + '0': { action_: '1/2' } }, + 'else': { + '0': { nextState: '1', revisit: true } }, + '$(...)$': { + '*': { action_: 'tex-math tight', nextState: '1' } }, + ',': { + '*': { action_: { type_: 'insert', option: 'commaDecimal' } } }, + 'else2': { + '*': { action_: 'copy' } } + }), + actions: {} + }, + 'o': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + '1/2$': { + '0': { action_: '1/2' } }, + 'else': { + '0': { nextState: '1', revisit: true } }, + 'letters': { + '*': { action_: 'rm' } }, + '\\ca': { + '*': { action_: { type_: 'insert', option: 'circa' } } }, + '\\x{}{}|\\x{}|\\x': { + '*': { action_: 'copy' } }, + '${(...)}$|$(...)$': { + '*': { action_: 'tex-math' } }, + '{(...)}': { + '*': { action_: '{text}' } }, + 'else2': { + '*': { action_: 'copy' } } + }), + actions: {} + }, + 'text': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { action_: 'output' } }, + '{...}': { + '*': { action_: 'text=' } }, + '${(...)}$|$(...)$': { + '*': { action_: 'tex-math' } }, + '\\greek': { + '*': { action_: [ 'output', 'rm' ] } }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { action_: [ 'output', 'copy' ] } }, + 'else': { + '*': { action_: 'text=' } } + }), + actions: { + 'output': function (buffer) { + if (buffer.text_) { + /** @type {ParserOutput} */ + var ret = { type_: 'text', p1: buffer.text_ }; + for (var p in buffer) { delete buffer[p]; } + return ret; + } + } + } + }, + 'pq': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + 'state of aggregation $': { + '*': { action_: 'state of aggregation' } }, + 'i$': { + '0': { nextState: '!f', revisit: true } }, + '(KV letters),': { + '0': { action_: 'rm', nextState: '0' } }, + 'formula$': { + '0': { nextState: 'f', revisit: true } }, + '1/2$': { + '0': { action_: '1/2' } }, + 'else': { + '0': { nextState: '!f', revisit: true } }, + '${(...)}$|$(...)$': { + '*': { action_: 'tex-math' } }, + '{(...)}': { + '*': { action_: 'text' } }, + 'a-z': { + 'f': { action_: 'tex-math' } }, + 'letters': { + '*': { action_: 'rm' } }, + '-9.,9': { + '*': { action_: '9,9' } }, + ',': { + '*': { action_: { type_: 'insert+p1', option: 'comma enumeration S' } } }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { action_: 'color-output' } }, + '\\color{(...)}0': { + '*': { action_: 'color0-output' } }, + '\\ce{(...)}': { + '*': { action_: 'ce' } }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { action_: 'copy' } }, + 'else2': { + '*': { action_: 'copy' } } + }), + actions: { + 'state of aggregation': function (buffer, m) { + return { type_: 'state of aggregation subscript', p1: mhchemParser.go(m, 'o') }; + }, + 'color-output': function (buffer, m) { + return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1], 'pq') }; + } + } + }, + 'bd': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + 'x$': { + '0': { nextState: '!f', revisit: true } }, + 'formula$': { + '0': { nextState: 'f', revisit: true } }, + 'else': { + '0': { nextState: '!f', revisit: true } }, + '-9.,9 no missing 0': { + '*': { action_: '9,9' } }, + '.': { + '*': { action_: { type_: 'insert', option: 'electron dot' } } }, + 'a-z': { + 'f': { action_: 'tex-math' } }, + 'x': { + '*': { action_: { type_: 'insert', option: 'KV x' } } }, + 'letters': { + '*': { action_: 'rm' } }, + '\'': { + '*': { action_: { type_: 'insert', option: 'prime' } } }, + '${(...)}$|$(...)$': { + '*': { action_: 'tex-math' } }, + '{(...)}': { + '*': { action_: 'text' } }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { action_: 'color-output' } }, + '\\color{(...)}0': { + '*': { action_: 'color0-output' } }, + '\\ce{(...)}': { + '*': { action_: 'ce' } }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { action_: 'copy' } }, + 'else2': { + '*': { action_: 'copy' } } + }), + actions: { + 'color-output': function (buffer, m) { + return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1], 'bd') }; + } + } + }, + 'oxidation': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + 'roman numeral': { + '*': { action_: 'roman-numeral' } }, + '${(...)}$|$(...)$': { + '*': { action_: 'tex-math' } }, + 'else': { + '*': { action_: 'copy' } } + }), + actions: { + 'roman-numeral': function (buffer, m) { return { type_: 'roman numeral', p1: m || "" }; } + } + }, + 'tex-math': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { action_: 'output' } }, + '\\ce{(...)}': { + '*': { action_: [ 'output', 'ce' ] } }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { action_: 'o=' } }, + 'else': { + '*': { action_: 'o=' } } + }), + actions: { + 'output': function (buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { type_: 'tex-math', p1: buffer.o }; + for (var p in buffer) { delete buffer[p]; } + return ret; + } + } + } + }, + 'tex-math tight': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { action_: 'output' } }, + '\\ce{(...)}': { + '*': { action_: [ 'output', 'ce' ] } }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { action_: 'o=' } }, + '-|+': { + '*': { action_: 'tight operator' } }, + 'else': { + '*': { action_: 'o=' } } + }), + actions: { + 'tight operator': function (buffer, m) { buffer.o = (buffer.o || "") + "{"+m+"}"; }, + 'output': function (buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { type_: 'tex-math', p1: buffer.o }; + for (var p in buffer) { delete buffer[p]; } + return ret; + } + } + } + }, + '9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + ',': { + '*': { action_: 'comma' } }, + 'else': { + '*': { action_: 'copy' } } + }), + actions: { + 'comma': function () { return { type_: 'commaDecimal' }; } + } + }, + //#endregion + // + // \pu state machines + // + //#region pu + 'pu': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { action_: 'output' } }, + 'space$': { + '*': { action_: [ 'output', 'space' ] } }, + '{[(|)]}': { + '0|a': { action_: 'copy' } }, + '(-)(9)^(-9)': { + '0': { action_: 'number^', nextState: 'a' } }, + '(-)(9.,9)(e)(99)': { + '0': { action_: 'enumber', nextState: 'a' } }, + 'space': { + '0|a': {} }, + 'pm-operator': { + '0|a': { action_: { type_: 'operator', option: '\\pm' }, nextState: '0' } }, + 'operator': { + '0|a': { action_: 'copy', nextState: '0' } }, + '//': { + 'd': { action_: 'o=', nextState: '/' } }, + '/': { + 'd': { action_: 'o=', nextState: '/' } }, + '{...}|else': { + '0|d': { action_: 'd=', nextState: 'd' }, + 'a': { action_: [ 'space', 'd=' ], nextState: 'd' }, + '/|q': { action_: 'q=', nextState: 'q' } } + }), + actions: { + 'enumber': function (buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + if (m[1]) { + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + if (m[2]) { + if (m[2].match(/[,.]/)) { + mhchemParser.concatArray(ret, mhchemParser.go(m[2], 'pu-9,9')); + } else { + ret.push(m[2]); + } + } + m[3] = m[4] || m[3]; + if (m[3]) { + m[3] = m[3].trim(); + if (m[3] === "e" || m[3].substr(0, 1) === "*") { + ret.push({ type_: 'cdot' }); + } else { + ret.push({ type_: 'times' }); + } + } + } + if (m[3]) { + ret.push("10^{"+m[5]+"}"); + } + return ret; + }, + 'number^': function (buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + ret.push("^{"+m[2]+"}"); + return ret; + }, + 'operator': function (buffer, m, p1) { return { type_: 'operator', kind_: (p1 || m) }; }, + 'space': function () { return { type_: 'pu-space-1' }; }, + 'output': function (buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + var md = mhchemParser.patterns.match_('{(...)}', buffer.d || ""); + if (md && md.remainder === '') { buffer.d = md.match_; } + var mq = mhchemParser.patterns.match_('{(...)}', buffer.q || ""); + if (mq && mq.remainder === '') { buffer.q = mq.match_; } + if (buffer.d) { + buffer.d = buffer.d.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.d = buffer.d.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + } + if (buffer.q) { // fraction + buffer.q = buffer.q.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.q = buffer.q.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + var b5 = { + d: mhchemParser.go(buffer.d, 'pu'), + q: mhchemParser.go(buffer.q, 'pu') + }; + if (buffer.o === '//') { + ret = { type_: 'pu-frac', p1: b5.d, p2: b5.q }; + } else { + ret = b5.d; + if (b5.d.length > 1 || b5.q.length > 1) { + ret.push({ type_: ' / ' }); + } else { + ret.push({ type_: '/' }); + } + mhchemParser.concatArray(ret, b5.q); + } + } else { // no fraction + ret = mhchemParser.go(buffer.d, 'pu-2'); + } + for (var p in buffer) { delete buffer[p]; } + return ret; + } + } + }, + 'pu-2': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { action_: 'output' } }, + '*': { + '*': { action_: [ 'output', 'cdot' ], nextState: '0' } }, + '\\x': { + '*': { action_: 'rm=' } }, + 'space': { + '*': { action_: [ 'output', 'space' ], nextState: '0' } }, + '^{(...)}|^(-1)': { + '1': { action_: '^(-1)' } }, + '-9.,9': { + '0': { action_: 'rm=', nextState: '0' }, + '1': { action_: '^(-1)', nextState: '0' } }, + '{...}|else': { + '*': { action_: 'rm=', nextState: '1' } } + }), + actions: { + 'cdot': function () { return { type_: 'tight cdot' }; }, + '^(-1)': function (buffer, m) { buffer.rm += "^{"+m+"}"; }, + 'space': function () { return { type_: 'pu-space-2' }; }, + 'output': function (buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret = []; + if (buffer.rm) { + var mrm = mhchemParser.patterns.match_('{(...)}', buffer.rm || ""); + if (mrm && mrm.remainder === '') { + ret = mhchemParser.go(mrm.match_, 'pu'); + } else { + ret = { type_: 'rm', p1: buffer.rm }; + } + } + for (var p in buffer) { delete buffer[p]; } + return ret; + } + } + }, + 'pu-9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '0': { action_: 'output-0' }, + 'o': { action_: 'output-o' } }, + ',': { + '0': { action_: [ 'output-0', 'comma' ], nextState: 'o' } }, + '.': { + '0': { action_: [ 'output-0', 'copy' ], nextState: 'o' } }, + 'else': { + '*': { action_: 'text=' } } + }), + actions: { + 'comma': function () { return { type_: 'commaDecimal' }; }, + 'output-0': function (buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + if (buffer.text_.length > 4) { + var a = buffer.text_.length % 3; + if (a === 0) { a = 3; } + for (var i=buffer.text_.length-3; i>0; i-=3) { + ret.push(buffer.text_.substr(i, 3)); + ret.push({ type_: '1000 separator' }); + } + ret.push(buffer.text_.substr(0, a)); + ret.reverse(); + } else { + ret.push(buffer.text_); + } + for (var p in buffer) { delete buffer[p]; } + return ret; + }, + 'output-o': function (buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + if (buffer.text_.length > 4) { + var a = buffer.text_.length - 3; + for (var i=0; i" || buf.r === "<=>>" || buf.r === "<<=>" || buf.r === "<-->") { + // arrows that cannot stretch correctly yet, https://github.com/mathjax/MathJax/issues/1491 + arrow = "\\long"+arrow; + if (b6.rd) { arrow = "\\overset{"+b6.rd+"}{"+arrow+"}"; } + if (b6.rq) { arrow = "\\underset{\\lower7mu{"+b6.rq+"}}{"+arrow+"}"; } + arrow = " {}\\mathrel{"+arrow+"}{} "; + } else { + if (b6.rq) { arrow += "[{"+b6.rq+"}]"; } + arrow += "{"+b6.rd+"}"; + arrow = " {}\\mathrel{\\x"+arrow+"}{} "; + } + } else { + arrow = " {}\\mathrel{\\long"+arrow+"}{} "; + } + res = arrow; + break; + case 'operator': + res = texify._getOperator(buf.kind_); + break; + case '1st-level escape': + res = buf.p1+" "; // &, \\\\, \\hlin + break; + case 'space': + res = " "; + break; + case 'entitySkip': + res = "~"; + break; + case 'pu-space-1': + res = "~"; + break; + case 'pu-space-2': + res = "\\mkern3mu "; + break; + case '1000 separator': + res = "\\mkern2mu "; + break; + case 'commaDecimal': + res = "{,}"; + break; + case 'comma enumeration L': + res = "{"+buf.p1+"}\\mkern6mu "; + break; + case 'comma enumeration M': + res = "{"+buf.p1+"}\\mkern3mu "; + break; + case 'comma enumeration S': + res = "{"+buf.p1+"}\\mkern1mu "; + break; + case 'hyphen': + res = "\\text{-}"; + break; + case 'addition compound': + res = "\\,{\\cdot}\\,"; + break; + case 'electron dot': + res = "\\mkern1mu \\bullet\\mkern1mu "; + break; + case 'KV x': + res = "{\\times}"; + break; + case 'prime': + res = "\\prime "; + break; + case 'cdot': + res = "\\cdot "; + break; + case 'tight cdot': + res = "\\mkern1mu{\\cdot}\\mkern1mu "; + break; + case 'times': + res = "\\times "; + break; + case 'circa': + res = "{\\sim}"; + break; + case '^': + res = "uparrow"; + break; + case 'v': + res = "downarrow"; + break; + case 'ellipsis': + res = "\\ldots "; + break; + case '/': + res = "/"; + break; + case ' / ': + res = "\\,/\\,"; + break; + default: + assertNever(buf); + throw ["MhchemBugT", "mhchem bug T. Please report."]; // Missing texify rule or unknown MhchemParser output + } + assertString(res); + return res; + }, + _getArrow: function (a) { + switch (a) { + case "->": return "rightarrow"; + case "\u2192": return "rightarrow"; + case "\u27F6": return "rightarrow"; + case "<-": return "leftarrow"; + case "<->": return "leftrightarrow"; + case "<-->": return "leftrightarrows"; + case "<=>": return "rightleftharpoons"; + case "\u21CC": return "rightleftharpoons"; + case "<=>>": return "Rightleftharpoons"; + case "<<=>": return "Leftrightharpoons"; + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getBond: function (a) { + switch (a) { + case "-": return "{-}"; + case "1": return "{-}"; + case "=": return "{=}"; + case "2": return "{=}"; + case "#": return "{\\equiv}"; + case "3": return "{\\equiv}"; + case "~": return "{\\tripledash}"; + case "~-": return "{\\rlap{\\lower.1em{-}}\\raise.1em{\\tripledash}}"; + case "~=": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}"; + case "~--": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}"; + case "-~-": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{-}}\\tripledash}"; + case "...": return "{{\\cdot}{\\cdot}{\\cdot}}"; + case "....": return "{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}"; + case "->": return "{\\rightarrow}"; + case "<-": return "{\\leftarrow}"; + case "<": return "{<}"; + case ">": return "{>}"; + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getOperator: function (a) { + switch (a) { + case "+": return " {}+{} "; + case "-": return " {}-{} "; + case "=": return " {}={} "; + case "<": return " {}<{} "; + case ">": return " {}>{} "; + case "<<": return " {}\\ll{} "; + case ">>": return " {}\\gg{} "; + case "\\pm": return " {}\\pm{} "; + case "\\approx": return " {}\\approx{} "; + case "$\\approx$": return " {}\\approx{} "; + case "v": return " \\downarrow{} "; + case "(v)": return " \\downarrow{} "; + case "^": return " \\uparrow{} "; + case "(^)": return " \\uparrow{} "; + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + } + }; + + // + // Helpers for code anaylsis + // Will show type error at calling position + // + /** @param {number} a */ + function assertNever(a) {} + /** @param {string} a */ + function assertString(a) {} + + // + // MathJax definitions + // + MathJax.Extension["TeX/mhchem"].CE = CE; + + /***************************************************************************/ + + TEX.Definitions.Add({ + macros: { + // + // Set up the macros for chemistry + // + ce: "CE", + pu: "PU", + + // + // Make these load AMSmath package (redefined below when loaded) + // + xleftrightarrow: ["Extension", "AMSmath"], + xrightleftharpoons: ["Extension", "AMSmath"], + xRightleftharpoons: ["Extension", "AMSmath"], + xLeftrightharpoons: ["Extension", "AMSmath"], + + // FIXME: These don't work well in FF NativeMML mode + longrightleftharpoons: ["Macro", "\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"], + longRightleftharpoons: ["Macro", "\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\smash{\\leftharpoondown}}"], + longLeftrightharpoons: ["Macro", "\\stackrel{\\textstyle\\vphantom{{-}}{\\rightharpoonup}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"], + longleftrightarrows: ["Macro", "\\stackrel{\\longrightarrow}{\\smash{\\longleftarrow}\\Rule{0px}{.25em}{0px}}"], + + // + // Needed for \bond for the ~ forms + // Not perfectly aligned when zoomed in, but on 100% + // + tripledash: ["Macro", "\\vphantom{-}\\raise2mu{\\kern2mu\\tiny\\text{-}\\kern1mu\\text{-}\\kern1mu\\text{-}\\kern2mu}"] + }, + }, null, true); + + if (!MathJax.Extension["TeX/AMSmath"]) { + TEX.Definitions.Add({ + macros: { + xrightarrow: ["Extension", "AMSmath"], + xleftarrow: ["Extension", "AMSmath"] + } + }, null, true); + } + + // + // These arrows need to wait until AMSmath is loaded + // + MathJax.Hub.Register.StartupHook("TeX AMSmath Ready", function () { + TEX.Definitions.Add({ + macros: { + // + // Some of these are hacks for now + // + xleftrightarrow: ["xArrow", 0x2194, 6, 6], + xrightleftharpoons: ["xArrow", 0x21CC, 5, 7], // FIXME: doesn't stretch in HTML-CSS output + xRightleftharpoons: ["xArrow", 0x21CC, 5, 7], // FIXME: how should this be handled? + xLeftrightharpoons: ["xArrow", 0x21CC, 5, 7] + } + }, null, true); + }); + + TEX.Parse.Augment({ + + // + // Implements \ce and friends + // + CE: function (name) { + var arg = this.GetArgument(name); + var tex = CE(arg).Parse(); + this.string = tex + this.string.substr(this.i); this.i = 0; + }, + + PU: function (name) { + var arg = this.GetArgument(name); + var tex = CE(arg).Parse('pu'); + this.string = tex + this.string.substr(this.i); this.i = 0; + } + + }); + + // + // Indicate that the extension is ready + // + MathJax.Hub.Startup.signal.Post("TeX mhchem Ready"); + +}); + +MathJax.Ajax.loadComplete("[mhchem]/mhchem.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/newcommand.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/newcommand.js new file mode 100644 index 00000000..b4edc892 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/newcommand.js @@ -0,0 +1,270 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/newcommand.js + * + * Implements the \newcommand, \newenvironment and \def + * macros, and is loaded automatically when needed. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/newcommand"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + TEXDEF.Add({ + macros: { + newcommand: 'NewCommand', + renewcommand: 'NewCommand', + newenvironment: 'NewEnvironment', + renewenvironment: 'NewEnvironment', + def: 'MacroDef', + 'let': 'Let' + } + },null,true); + + TEX.Parse.Augment({ + + /* + * Implement \newcommand{\name}[n][default]{...} + */ + NewCommand: function (name) { + var cs = this.trimSpaces(this.GetArgument(name)), + n = this.GetBrackets(name), + opt = this.GetBrackets(name), + def = this.GetArgument(name); + if (cs.charAt(0) === "\\") {cs = cs.substr(1)} + if (!cs.match(/^(.|[a-z]+)$/i)) { + TEX.Error(["IllegalControlSequenceName", + "Illegal control sequence name for %1",name]); + } + if (n) { + n = this.trimSpaces(n); + if (!n.match(/^[0-9]+$/)) { + TEX.Error(["IllegalParamNumber", + "Illegal number of parameters specified in %1",name]); + } + } + this.setDef(cs,['Macro',def,n,opt]); + }, + + /* + * Implement \newenvironment{name}[n][default]{begincmd}{endcmd} + */ + NewEnvironment: function (name) { + var env = this.trimSpaces(this.GetArgument(name)), + n = this.GetBrackets(name), + opt = this.GetBrackets(name), + bdef = this.GetArgument(name), + edef = this.GetArgument(name); + if (n) { + n = this.trimSpaces(n); + if (!n.match(/^[0-9]+$/)) { + TEX.Error(["IllegalParamNumber", + "Illegal number of parameters specified in %1",name]); + } + } + this.setEnv(env,['BeginEnv',[null,'EndEnv'],bdef,edef,n,opt]); + }, + + /* + * Implement \def command + */ + MacroDef: function (name) { + var cs = this.GetCSname(name), + params = this.GetTemplate(name,"\\"+cs), + def = this.GetArgument(name); + if (!(params instanceof Array)) {this.setDef(cs,['Macro',def,params])} + else {this.setDef(cs,['MacroWithTemplate',def].concat(params))} + }, + + /* + * Implements the \let command + */ + Let: function (name) { + var cs = this.GetCSname(name), macro; + var c = this.GetNext(); if (c === "=") {this.i++; c = this.GetNext()} + // + // All \let commands create entries in the macros array, but we + // have to look in the various mathchar and delimiter arrays if + // the source isn't a macro already, and attach the data to a + // macro with the proper routine to process it. + // + // A command of the form \let\cs=char produces a macro equivalent + // to \def\cs{char}, which is as close as MathJax can get for this. + // So \let\bgroup={ is possible, but doesn't work as it does in TeX. + // + if (c === "\\") { + name = this.GetCSname(name); + macro = this.csFindMacro(name); + if (!macro) { + if (TEXDEF.mathchar0mi.hasOwnProperty(name)) {macro = ["csMathchar0mi",TEXDEF.mathchar0mi[name]]} else + if (TEXDEF.mathchar0mo.hasOwnProperty(name)) {macro = ["csMathchar0mo",TEXDEF.mathchar0mo[name]]} else + if (TEXDEF.mathchar7.hasOwnProperty(name)) {macro = ["csMathchar7",TEXDEF.mathchar7[name]]} else + if (TEXDEF.delimiter.hasOwnProperty("\\"+name)) {macro = ["csDelimiter",TEXDEF.delimiter["\\"+name]]} else + return; + } + } else {macro = ["Macro",c]; this.i++} + this.setDef(cs,macro); + }, + + /* + * Get a CS name or give an error + */ + GetCSname: function (cmd) { + var c = this.GetNext(); + if (c !== "\\") { + TEX.Error(["MissingCS", + "%1 must be followed by a control sequence", cmd]) + } + var cs = this.trimSpaces(this.GetArgument(cmd)); + return cs.substr(1); + }, + + /* + * Get a \def parameter template + */ + GetTemplate: function (cmd,cs) { + var c, params = [], n = 0; + c = this.GetNext(); var i = this.i; + while (this.i < this.string.length) { + c = this.GetNext(); + if (c === '#') { + if (i !== this.i) {params[n] = this.string.substr(i,this.i-i)} + c = this.string.charAt(++this.i); + if (!c.match(/^[1-9]$/)) { + TEX.Error(["CantUseHash2", + "Illegal use of # in template for %1",cs]); + } + if (parseInt(c) != ++n) { + TEX.Error(["SequentialParam", + "Parameters for %1 must be numbered sequentially",cs]); + } + i = this.i+1; + } else if (c === '{') { + if (i !== this.i) {params[n] = this.string.substr(i,this.i-i)} + if (params.length > 0) {return [n,params]} else {return n} + } + this.i++; + } + TEX.Error(["MissingReplacementString", + "Missing replacement string for definition of %1",cmd]); + }, + + /* + * Process a macro with a parameter template + */ + MacroWithTemplate: function (name,text,n,params) { + if (n) { + var args = []; this.GetNext(); + if (params[0] && !this.MatchParam(params[0])) { + TEX.Error(["MismatchUseDef", + "Use of %1 doesn't match its definition",name]); + } + for (var i = 0; i < n; i++) {args.push(this.GetParameter(name,params[i+1]))} + text = this.SubstituteArgs(args,text); + } + this.string = this.AddArgs(text,this.string.slice(this.i)); + this.i = 0; + if (++this.macroCount > TEX.config.MAXMACROS) { + TEX.Error(["MaxMacroSub1", + "MathJax maximum macro substitution count exceeded; " + + "is there a recursive macro call?"]); + } + }, + + /* + * Process a user-defined environment + */ + BeginEnv: function (begin,bdef,edef,n,def) { + if (n) { + var args = []; + if (def != null) { + var optional = this.GetBrackets("\\begin{"+name+"}"); + args.push(optional == null ? def : optional); + } + for (var i = args.length; i < n; i++) {args.push(this.GetArgument("\\begin{"+name+"}"))} + bdef = this.SubstituteArgs(args,bdef); + edef = this.SubstituteArgs([],edef); // no args, but get errors for #n in edef + } + this.string = this.AddArgs(bdef,this.string.slice(this.i)); this.i = 0; + return begin; + }, + EndEnv: function (begin,bdef,edef,n) { + var end = "\\end{\\end\\"+begin.name+"}"; // special version of \end for after edef + this.string = this.AddArgs(edef,end+this.string.slice(this.i)); this.i = 0; + return null; + }, + + /* + * Find a single parameter delimited by a trailing template + */ + GetParameter: function (name,param) { + if (param == null) {return this.GetArgument(name)} + var i = this.i, j = 0, hasBraces = 0; + while (this.i < this.string.length) { + var c = this.string.charAt(this.i); + if (c === '{') { + if (this.i === i) {hasBraces = 1} + this.GetArgument(name); j = this.i - i; + } else if (this.MatchParam(param)) { + if (hasBraces) {i++; j -= 2} + return this.string.substr(i,j); + } else if (c === "\\") { + this.i++; j++; hasBraces = 0; + var match = this.string.substr(this.i).match(/[a-z]+|./i); + if (match) {this.i += match[0].length; j = this.i - i} + } else { + this.i++; j++; hasBraces = 0; + } + } + TEX.Error(["RunawayArgument","Runaway argument for %1?",name]); + }, + + /* + * Check if a template is at the current location. + * (The match must be exact, with no spacing differences. TeX is + * a little more forgiving than this about spaces after macro names) + */ + MatchParam: function (param) { + if (this.string.substr(this.i,param.length) !== param) {return 0} + if (param.match(/\\[a-z]+$/i) && + this.string.charAt(this.i+param.length).match(/[a-z]/i)) {return 0} + this.i += param.length; + return 1; + } + + }); + + TEX.Environment = function (name) { + TEXDEF.environment[name] = ['BeginEnv',[null,'EndEnv']].concat([].slice.call(arguments,1)); + TEXDEF.environment[name].isUser = true; + } + + MathJax.Hub.Startup.signal.Post("TeX newcommand Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/newcommand.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noErrors.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noErrors.js new file mode 100644 index 00000000..87acaf90 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noErrors.js @@ -0,0 +1,405 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/noErrors.js + * + * Prevents the TeX error messages from being displayed and shows the + * original TeX code instead. You can configure whether the dollar signs + * are shown or not for in-line math, and whether to put all the TeX on + * one line or use multiple-lines. + * + * To configure this extension, use + * + * MathJax.Hub.Config({ + * TeX: { + * noErrors: { + * inlineDelimiters: ["",""], // or ["$","$"] or ["\\(","\\)"] + * multiLine: true, // false for TeX on all one line + * style: { + * "font-size": "90%", + * "text-align": "left", + * "color": "black", + * "padding": "1px 3px", + * "border": "1px solid" + * // add any additional CSS styles that you want + * // (be sure there is no extra comma at the end of the last item) + * } + * } + * } + * }); + * + * Display-style math is always shown in multi-line format, and without + * delimiters, as it will already be set off in its own centered + * paragraph, like standard display mathematics. + * + * The default settings place the invalid TeX in a multi-line box with a + * black border. If you want it to look as though the TeX is just part of + * the paragraph, use + * + * MathJax.Hub.Config({ + * TeX: { + * noErrors: { + * inlineDelimiters: ["$","$"], // or ["",""] or ["\\(","\\)"] + * multiLine: false, + * style: { + * "font-size": "normal", + * "border": "" + * } + * } + * } + * }); + * + * You may also wish to set the font family, as the default is "serif" + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML) { + var VERSION = "2.7.5"; + + var CONFIG = HUB.CombineConfig("TeX.noErrors",{ + disabled: false, // set to true to return to original error messages + multiLine: true, + inlineDelimiters: ["",""], // or use ["$","$"] or ["\\(","\\)"] + style: { + "font-size": "90%", + "text-align": "left", + "color": "black", + "padding": "1px 3px", + "border": "1px solid" + } + }); + + var NBSP = "\u00A0"; + + // + // The configuration defaults, augmented by the user settings + // + MathJax.Extension["TeX/noErrors"] = { + version: VERSION, + config: CONFIG + }; + + HUB.Register.StartupHook("TeX Jax Ready",function () { + var FORMAT = MathJax.InputJax.TeX.formatError; + + MathJax.InputJax.TeX.Augment({ + // + // Make error messages be the original TeX code + // Mark them as errors and multi-line or not, and for + // multi-line TeX, make spaces non-breakable (to get formatting right) + // + formatError: function (err,math,displaystyle,script) { + if (CONFIG.disabled) {return FORMAT.apply(this,arguments)} + var message = err.message.replace(/\n.*/,""); + HUB.signal.Post(["TeX Jax - parse error",message,math,displaystyle,script]); + var delim = CONFIG.inlineDelimiters; + var multiLine = (displaystyle || CONFIG.multiLine); + if (!displaystyle) {math = delim[0] + math + delim[1]} + if (multiLine) {math = math.replace(/ /g,NBSP)} else {math = math.replace(/\n/g," ")} + return MathJax.ElementJax.mml.merror(math).With({isError:true, multiLine: multiLine}); + } + }); + }); + + /******************************************************************* + * + * Fix HTML-CSS output + */ + + HUB.Register.StartupHook("HTML-CSS Jax Config",function () { + HUB.Config({ + "HTML-CSS": { + styles: { + ".MathJax .noError": HUB.Insert({ + "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") + },CONFIG.style) + } + } + }); + }); + + HUB.Register.StartupHook("HTML-CSS Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + + var MATH = MML.math.prototype.toHTML, + MERROR = MML.merror.prototype.toHTML; + + // + // Override math toHTML routine so that error messages + // don't have the clipping and other unneeded overhead + // + MML.math.Augment({ + toHTML: function (span,node) { + var data = this.data[0]; + if (data && data.data[0] && data.data[0].isError) { + span.style.fontSize = ""; + span = this.HTMLcreateSpan(span); + span.bbox = data.data[0].toHTML(span).bbox; + } else { + span = MATH.apply(this,arguments); + } + return span; + } + }); + + // + // Override merror toHTML routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toHTML: function (span) { + if (!this.isError) {return MERROR.apply(this,arguments)} + span = this.HTMLcreateSpan(span); span.className = "noError" + if (this.multiLine) {span.style.display = "inline-block"} + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + HTMLCSS.addText(span,text[i]); + if (i !== m-1) {HTMLCSS.addElement(span,"br",{isMathJax:true})} + } + var HD = HTMLCSS.getHD(span.parentNode), W = HTMLCSS.getW(span.parentNode); + if (m > 1) { + var H = (HD.h + HD.d)/2, x = HTMLCSS.TeX.x_height/2; + span.parentNode.style.verticalAlign = HTMLCSS.Em(HD.d+(x-H)); + HD.h = x + H; HD.d = H - x; + } + span.bbox = {h: HD.h, d: HD.d, w: W, lw: 0, rw: W}; + return span; + } + }); + + }); + + /******************************************************************* + * + * Fix SVG output + */ + + HUB.Register.StartupHook("SVG Jax Config",function () { + HUB.Config({ + "SVG": { + styles: { + ".MathJax_SVG .noError": HUB.Insert({ + "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") + },CONFIG.style) + } + } + }); + }); + + HUB.Register.StartupHook("SVG Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + + var MATH = MML.math.prototype.toSVG, + MERROR = MML.merror.prototype.toSVG; + + // + // Override math toSVG routine so that error messages + // don't have the clipping and other unneeded overhead + // + MML.math.Augment({ + toSVG: function (span,node) { + var data = this.data[0]; + if (data && data.data[0] && data.data[0].isError) + {span = data.data[0].toSVG(span)} else {span = MATH.apply(this,arguments)} + return span; + } + }); + + // + // Override merror toSVG routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toSVG: function (span) { + if (!this.isError || this.Parent().type !== "math") {return MERROR.apply(this,arguments)} + span = HTML.addElement(span,"span",{className: "noError", isMathJax:true}); + if (this.multiLine) {span.style.display = "inline-block"} + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + HTML.addText(span,text[i]); + if (i !== m-1) {HTML.addElement(span,"br",{isMathJax:true})} + } + if (m > 1) { + var H = span.offsetHeight/2; + span.style.verticalAlign = (-H+(H/m))+"px"; + } + return span; + } + }); + + }); + + /******************************************************************* + * + * Fix NativeMML output + */ + + HUB.Register.StartupHook("NativeMML Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var CONFIG = MathJax.Extension["TeX/noErrors"].config; + + var MATH = MML.math.prototype.toNativeMML, + MERROR = MML.merror.prototype.toNativeMML; + + // + // Override math toNativeMML routine so that error messages + // don't get placed inside math tags. + // + MML.math.Augment({ + toNativeMML: function (span) { + var data = this.data[0]; + if (data && data.data[0] && data.data[0].isError) + {span = data.data[0].toNativeMML(span)} else {span = MATH.apply(this,arguments)} + return span; + } + }); + + // + // Override merror toNativeMML routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toNativeMML: function (span) { + if (!this.isError) {return MERROR.apply(this,arguments)} + span = span.appendChild(document.createElement("span")); + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + span.appendChild(document.createTextNode(text[i])); + if (i !== m-1) {span.appendChild(document.createElement("br"))} + } + if (this.multiLine) { + span.style.display = "inline-block"; + if (m > 1) {span.style.verticalAlign = "middle"} + } + for (var id in CONFIG.style) {if (CONFIG.style.hasOwnProperty(id)) { + var ID = id.replace(/-./g,function (c) {return c.charAt(1).toUpperCase()}); + span.style[ID] = CONFIG.style[id]; + }} + return span; + } + }); + + }); + + /******************************************************************* + * + * Fix PreviewHTML output + */ + + HUB.Register.StartupHook("PreviewHTML Jax Config",function () { + HUB.Config({ + PreviewHTML: { + styles: { + ".MathJax_PHTML .noError": HUB.Insert({ + "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") + },CONFIG.style) + } + } + }); + }); + + HUB.Register.StartupHook("PreviewHTML Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var HTML = MathJax.HTML; + + var MERROR = MML.merror.prototype.toPreviewHTML; + + // + // Override merror toPreviewHTML routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toPreviewHTML: function (span) { + if (!this.isError) return MERROR.apply(this,arguments); + span = this.PHTMLcreateSpan(span); span.className = "noError" + if (this.multiLine) span.style.display = "inline-block"; + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + HTML.addText(span,text[i]); + if (i !== m-1) {HTML.addElement(span,"br",{isMathJax:true})} + } + return span; + } + }); + + }); + + /******************************************************************* + * + * Fix CommonHTML output + */ + + HUB.Register.StartupHook("CommonHTML Jax Config",function () { + HUB.Config({ + CommonHTML: { + styles: { + ".mjx-chtml .mjx-noError": HUB.Insert({ + "line-height": 1.2, + "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") + },CONFIG.style) + } + } + }); + }); + + HUB.Register.StartupHook("CommonHTML Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var CHTML = MathJax.OutputJax.CommonHTML; + var HTML = MathJax.HTML; + + var MERROR = MML.merror.prototype.toCommonHTML; + + // + // Override merror toCommonHTML routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toCommonHTML: function (node) { + if (!this.isError) return MERROR.apply(this,arguments); + node = CHTML.addElement(node,"mjx-noError"); + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + HTML.addText(node,text[i]); + if (i !== m-1) {CHTML.addElement(node,"br",{isMathJax:true})} + } + var bbox = this.CHTML = CHTML.BBOX.zero(); + bbox.w = (node.offsetWidth)/CHTML.em; + if (m > 1) { + var H2 = 1.2*m/2; + bbox.h = H2+.25; bbox.d = H2-.25; + node.style.verticalAlign = CHTML.Em(.45-H2); + } else { + bbox.h = 1; bbox.d = .2 + 2/CHTML.em; + } + return node; + } + }); + + }); + + /*******************************************************************/ + + HUB.Startup.signal.Post("TeX noErrors Ready"); + +})(MathJax.Hub,MathJax.HTML); + + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noErrors.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noUndefined.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noUndefined.js new file mode 100644 index 00000000..ef292d12 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noUndefined.js @@ -0,0 +1,72 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/noUndefined.js + * + * This causes undefined control sequences to be shown as their macro + * names rather than producing an error message. So $X_{\xxx}$ would + * display as an X with a subscript consiting of the text "\xxx". + * + * To configure this extension, use for example + * + * MathJax.Hub.Config({ + * TeX: { + * noUndefined: { + * attributes: { + * mathcolor: "red", + * mathbackground: "#FFEEEE", + * mathsize: "90%" + * } + * } + * } + * }); + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +// +// The configuration defaults, augmented by the user settings +// +MathJax.Extension["TeX/noUndefined"] = { + version: "2.7.5", + config: MathJax.Hub.CombineConfig("TeX.noUndefined",{ + disabled: false, // set to true to return to original error messages + attributes: { + mathcolor: "red" + } + }) +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var CONFIG = MathJax.Extension["TeX/noUndefined"].config; + var MML = MathJax.ElementJax.mml; + var UNDEFINED = MathJax.InputJax.TeX.Parse.prototype.csUndefined; + + MathJax.InputJax.TeX.Parse.Augment({ + csUndefined: function (name) { + if (CONFIG.disabled) {return UNDEFINED.apply(this,arguments)} + MathJax.Hub.signal.Post(["TeX Jax - undefined control sequence",name]); + this.Push(MML.mtext(name).With(CONFIG.attributes)); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX noUndefined Ready"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noUndefined.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/unicode.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/unicode.js new file mode 100644 index 00000000..629870b8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/unicode.js @@ -0,0 +1,170 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/unicode.js + * + * Implements the \unicode extension to TeX to allow arbitrary unicode + * code points to be entered into the TeX file. You can specify + * the height and depth of the character (the width is determined by + * the browser), and the default font from which to take the character. + * + * Examples: + * \unicode{65} % the character 'A' + * \unicode{x41} % the character 'A' + * \unicode[.55,0.05]{x22D6} % less-than with dot, with height .55 and depth 0.05 + * \unicode[.55,0.05][Geramond]{x22D6} % same taken from Geramond font + * \unicode[Garamond]{x22D6} % same, but with default height, depth of .8,.2 + * + * Once a size and font are provided for a given code point, they need + * not be specified again in subsequent \unicode calls for that character. + * Note that a font list can be given, but Internet Explorer has a buggy + * implementation of font-family where it only looks in the first + * available font and if the glyph is not in that, it does not look at + * later fonts, but goes directly to the default font as set in the + * Internet-Options/Font panel. For this reason, the default font list is + * "STIXGeneral,'Arial Unicode MS'", so if the user has STIX fonts, the + * symbol will be taken from that (almost all the symbols are in + * STIXGeneral), otherwise Arial Unicode MS is tried. + * + * To configure the default font list, use + * + * MathJax.Hub.Config({ + * TeX: { + * unicode: { + * fonts: "STIXGeneral,'Arial Unicode MS'" + * } + * } + * }); + * + * The result of \unicode will have TeX class ORD (i.e., it will act like a + * variable). Use \mathbin, \mathrel, etc, to specify a different class. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +// +// The configuration defaults, augmented by the user settings +// +MathJax.Extension["TeX/unicode"] = { + version: "2.7.5", + unicode: {}, + config: MathJax.Hub.CombineConfig("TeX.unicode",{ + fonts: "STIXGeneral,'Arial Unicode MS'" + }) +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX; + var MML = MathJax.ElementJax.mml; + var UNICODE = MathJax.Extension["TeX/unicode"].unicode; + + // + // Add \unicode macro + // + TEX.Definitions.Add({macros: {unicode: 'Unicode'}},null,true); + // + // Implementation of \unicode in parser + // + TEX.Parse.Augment({ + Unicode: function(name) { + var HD = this.GetBrackets(name), font; + if (HD) { + if (HD.replace(/ /g,"").match(/^(\d+(\.\d*)?|\.\d+),(\d+(\.\d*)?|\.\d+)$/)) + {HD = HD.replace(/ /g,"").split(/,/); font = this.GetBrackets(name)} + else {font = HD; HD = null} + } + var n = this.trimSpaces(this.GetArgument(name)).replace(/^0x/,"x"); + if (!n.match(/^(x[0-9A-Fa-f]+|[0-9]+)$/)) { + TEX.Error(["BadUnicode","Argument to \\unicode must be a number"]); + } + var N = parseInt(n.match(/^x/) ? "0"+n : n); + if (!UNICODE[N]) {UNICODE[N] = [800,200,font,N]} + else if (!font) {font = UNICODE[N][2]} + if (HD) { + UNICODE[N][0] = Math.floor(HD[0]*1000); + UNICODE[N][1] = Math.floor(HD[1]*1000); + } + var variant = this.stack.env.font, def = {}; + if (font) { + UNICODE[N][2] = def.fontfamily = font.replace(/"/g,"'"); + if (variant) { + if (variant.match(/bold/)) {def.fontweight = "bold"} + if (variant.match(/italic|-mathit/)) {def.fontstyle = "italic"} + } + } else if (variant) {def.mathvariant = variant} + def.unicode = [].concat(UNICODE[N]); // make a copy + this.Push(MML.mtext(MML.entity("#"+n)).With(def)); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX unicode Ready"); + +}); + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var FONTS = MathJax.Extension["TeX/unicode"].config.fonts; + + // + // Override getVariant to make one that includes the font and size + // + var GETVARIANT = MML.mbase.prototype.HTMLgetVariant; + MML.mbase.Augment({ + HTMLgetVariant: function () { + var variant = GETVARIANT.apply(this,arguments); + if (variant.unicode) {delete variant.unicode; delete variant.FONTS} // clear font cache in case of restart + if (!this.unicode) {return variant} + variant.unicode = true; + if (!variant.defaultFont) { + variant = MathJax.Hub.Insert({},variant); // make a copy + variant.defaultFont = {family:FONTS}; + } + var family = this.unicode[2]; if (family) {family += ","+FONTS} else {family = FONTS} + variant.defaultFont[this.unicode[3]] = [ + this.unicode[0],this.unicode[1],500,0,500, + {isUnknown:true, isUnicode:true, font:family} + ]; + return variant; + } + }); +}); + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var FONTS = MathJax.Extension["TeX/unicode"].config.fonts; + + // + // Override getVariant to make one that includes the font and size + // + var GETVARIANT = MML.mbase.prototype.SVGgetVariant; + MML.mbase.Augment({ + SVGgetVariant: function () { + var variant = GETVARIANT.call(this); + if (variant.unicode) {delete variant.unicode; delete variant.FONTS} // clear font cache in case of restart + if (!this.unicode) {return variant} + variant.unicode = true; + if (!variant.forceFamily) {variant = MathJax.Hub.Insert({},variant)} // make a copy + variant.defaultFamily = FONTS; variant.noRemap = true; + variant.h = this.unicode[0]; variant.d = this.unicode[1]; + return variant; + } + }); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/unicode.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/verb.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/verb.js new file mode 100644 index 00000000..348c5012 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/verb.js @@ -0,0 +1,61 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/verb.js + * + * Implements the \verb|...| command for including text verbatim + * (with no processing of macros or special characters). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/verb"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var MML = MathJax.ElementJax.mml; + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + TEXDEF.Add({macros: {verb: 'Verb'}},null,true); + + TEX.Parse.Augment({ + + /* + * Implement \verb|...| + */ + Verb: function (name) { + var c = this.GetNext(); var start = ++this.i; + if (c == "" ) {TEX.Error(["MissingArgFor","Missing argument for %1",name])} + while (this.i < this.string.length && this.string.charAt(this.i) != c) {this.i++} + if (this.i == this.string.length) + {TEX.Error(["NoClosingDelim","Can't find closing delimiter for %1", name])} + var text = this.string.slice(start,this.i).replace(/ /g,"\u00A0"); this.i++; + this.Push(MML.mtext(text).With({mathvariant:MML.VARIANT.MONOSPACE})); + } + + }); + + MathJax.Hub.Startup.signal.Post("TeX verb Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/verb.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/accessibility-menu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/accessibility-menu.js new file mode 100644 index 00000000..2d241f97 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/accessibility-menu.js @@ -0,0 +1 @@ +!function(a,b){var c,d,e=a.config.menuSettings,f=Function.prototype.bind?function(a,b){return a.bind(b)}:function(a,b){return function(){a.apply(b,arguments)}},g=Object.keys||function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b},h=MathJax.Ajax.config.path;h.a11y||(h.a11y=a.config.root+"/extensions/a11y");var i=b["accessibility-menu"]={version:"1.5.0",prefix:"",defaults:{},modules:[],MakeOption:function(a){return i.prefix+a},GetOption:function(a){return e[i.MakeOption(a)]},AddDefaults:function(){for(var a,b=g(i.defaults),c=0;a=b[c];c++){var d=i.MakeOption(a);void 0===e[d]&&(e[d]=i.defaults[a])}},AddMenu:function(){for(var a,b=Array(this.modules.length),e=0;a=this.modules[e];e++)b[e]=a.placeHolder;var f=d.FindId("Accessibility");if(f)b.unshift(c.RULE()),f.submenu.items.push.apply(f.submenu.items,b);else{var g=(d.FindId("Settings","Renderer")||{}).submenu;g&&(b.unshift(c.RULE()),b.unshift(g.items.pop()),b.unshift(g.items.pop())),b.unshift("Accessibility");var f=c.SUBMENU.apply(c.SUBMENU,b),h=d.IndexOfId("Locale");h?d.items.splice(h,0,f):d.items.push(c.RULE(),f)}},Register:function(a){i.defaults[a.option]=!1,i.modules.push(a)},Startup:function(){c=MathJax.Menu.ITEM,d=MathJax.Menu.menu;for(var a,b=0;a=this.modules[b];b++)a.CreateMenu();this.AddMenu()},LoadExtensions:function(){for(var b,c=[],d=0;b=this.modules[d];d++)e[b.option]&&c.push(b.module);return c.length?a.Startup.loadArray(c):null}},j=MathJax.Extension.ModuleLoader=MathJax.Object.Subclass({option:"",name:["",""],module:"",placeHolder:null,submenu:!1,extension:null,Init:function(a,b,c,d,e){this.option=a,this.name=[b.replace(/ /g,""),b],this.module=c,this.extension=d,this.submenu=e||!1},CreateMenu:function(){var a=f(this.Load,this);this.submenu?this.placeHolder=c.SUBMENU(this.name,c.CHECKBOX(["Activate","Activate"],i.MakeOption(this.option),{action:a}),c.RULE(),c.COMMAND(["OptionsWhenActive","(Options when Active)"],null,{disabled:!0})):this.placeHolder=c.CHECKBOX(this.name,i.MakeOption(this.option),{action:a})},Load:function(){a.Queue(["Require",MathJax.Ajax,this.module,["Enable",this]])},Enable:function(a){var b=MathJax.Extension[this.extension];b&&(b.Enable(!0,!0),MathJax.Menu.saveCookie())}});i.Register(j("collapsible","Collapsible Math","[a11y]/collapsible.js","collapsible")),i.Register(j("autocollapse","Auto Collapse","[a11y]/auto-collapse.js","auto-collapse")),i.Register(j("explorer","Explorer","[a11y]/explorer.js","explorer",!0)),i.AddDefaults(),a.Register.StartupHook("End Extensions",function(){a.Register.StartupHook("MathMenu Ready",function(){i.Startup(),a.Startup.signal.Post("Accessibility Menu Ready")},5)},5),MathJax.Hub.Register.StartupHook("End Cookie",function(){MathJax.Callback.Queue(["LoadExtensions",i],["loadComplete",MathJax.Ajax,"[a11y]/accessibility-menu.js"])})}(MathJax.Hub,MathJax.Extension); \ No newline at end of file diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/auto-collapse.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/auto-collapse.js new file mode 100644 index 00000000..640b9c25 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/auto-collapse.js @@ -0,0 +1 @@ +!function(a){var b=a.config.menuSettings,c={},d=MathJax.Ajax.config.path;d.a11y||(d.a11y=a.config.root+"/extensions/a11y");var e=MathJax.Extension["auto-collapse"]={version:"1.5.0",config:a.CombineConfig("auto-collapse",{disabled:!1}),dependents:[],Enable:function(d,e){b.autocollapse=!0,e&&(c.autocollapse=!0),this.config.disabled=!1,MathJax.Extension.collapsible.Enable(!1,e),d&&a.Queue(["Reprocess",a],["CollapseWideMath",this])},Disable:function(d,e){b.autocollapse=!1,e&&(c.autocollapse=!1),this.config.disabled=!0;for(var f=this.dependents.length-1;f>=0;f--){var g=this.dependents[f];g.Disable&&g.Disable(!1,e)}d&&a.Queue(["Rerender",a])},Dependent:function(a){this.dependents.push(a)},Startup:function(){var b=MathJax.Extension.collapsible;b&&b.Dependent(this),a.postInputHooks.Add(["Filter",e],150),a.Queue(function(){return e.CollapseWideMath()}),window.addEventListener?window.addEventListener("resize",e.resizeHandler,!1):window.attachEvent?window.attachEvent("onresize",e.resizeHandler):window.onresize=e.resizeHandler},Filter:function(a,b,c){a.enriched&&!this.config.disabled&&("block"===a.root.Get("display")||c.parentNode.childNodes.length<=3)&&(a.root.SRE={action:this.Actions(a.root)})},Actions:function(a){var b=[];return this.getActions(a,0,b),this.sortActions(b)},getActions:function(a,b,c){if(!a.isToken&&a.data){b++;for(var d=0,e=a.data.length;db?1:0},CollapseWideMath:function(b){if(!this.config.disabled){this.GetContainerWidths(b);var c=a.getAllJax(b),d={collapse:[],jax:c,m:c.length,i:0,changed:!1};return this.collapseState(d)}},collapseState:function(b){for(var c=b.collapse;b.ie.M)){var f=this.getActionWidths(d,b);if(f)return f;this.collapseActions(e,b),b.changed&&c.push(d.SourceElement())}b.i++}if(0!==c.length)return 1===c.length&&(c=c[0]),a.Rerender(c)},collapseActions:function(a,b){for(var c=a.width,d=c,e=1e6,f=a.action.length-1;f>=0;f--){var g=a.action[f],h=g.selection;c>a.cwidth?(g.selection=1,d=g.SREwidth,e=c):g.selection=2,c=g.SREwidth,a.DOMupdate?document.getElementById(g.id).setAttribute("selection",g.selection):g.selection!==h&&(b.changed=!0)}a.m=d,a.M=e},getActionWidths:function(a,b){if(!a.root.SRE.actionWidths){MathJax.OutputJax[a.outputJax].getMetrics(a);try{this.computeActionWidths(a)}catch(a){if(!a.restart)throw a;return MathJax.Callback.After(["collapseState",this,b],a.restart)}b.changed=!0}return null},computeActionWidths:function(a){var b,c=a.root.SRE,d=c.action,e={};for(c.width=a.sreGetRootWidth(e),b=d.length-1;b>=0;b--)d[b].selection=2;for(b=d.length-1;b>=0;b--){var f=d[b];null==f.SREwidth&&(f.selection=1,f.SREwidth=a.sreGetActionWidth(e,f))}c.actionWidths=!0},GetContainerWidths:function(b){var c,d,e,f,g,h=a.getAllJax(b),i=MathJax.HTML.Element("span",{style:{display:"block"}}),j=[];for(c=0,d=h.length;c=0;f--){var g=this.dependents[f];g.Disable&&g.Disable(!1,e)}b&&a.Queue(["Reprocess",a])},Dependent:function(a){this.dependents.push(a)},Startup:function(){b=MathJax.ElementJax.mml;var c=MathJax.Extension["semantic-enrich"];c&&c.Dependent(this),a.postInputHooks.Add(["Filter",g],100)},Filter:function(a,b,c){a.enriched&&!this.config.disabled&&(a.root=a.root.Collapse(),a.root.inputID=c.id)},Marker:function(a){return b.mtext("\u25c2"+a+"\u25b8").With({mathcolor:"blue",attr:{},attrNames:[]})},MakeAction:function(a,c){var d=b.maction(a).With({id:this.getActionID(),actiontype:"toggle",complexity:a.getComplexity(),collapsible:!0,attrNames:["id","actiontype","selection",e],attr:{},selection:2});if(d.attr[e]=d.complexity,"math"===c.type){var f=b.mrow().With({complexity:c.complexity,attrNames:[],attr:{}});f.Append.apply(f,c.data);for(var g,h=c.attrNames.length-1;g=c.attrNames[h];h--)"data-semantic-"===g.substr(0,14)&&(f.attr[g]=c.attr[g],f.attrNames.push(g),delete c.attr[g],c.attrNames.splice(h,1));f.complexity=c.complexity,d.Append(f),c.data=[],c.Append(d),c.complexity=d.complexity,d=c}else d.Append(c);return d},actionID:1,getActionID:function(){return"MJX-Collapse-"+this.actionID++},Collapse:function(a){a.getComplexity();var b=(a.attr||{})["data-semantic-type"];if(b)if(this["Collapse_"+b])a=this["Collapse_"+b](a);else if(this.COLLAPSE[b]&&this.MARKER[b]){var c=a.attr["data-semantic-role"],d=this.COLLAPSE[b];if("number"!=typeof d&&(d=d[c]||d.value),a.complexity>d){var e=this.MARKER[b];"string"!=typeof e&&(e=e[c]||e.value),a=this.MakeAction(this.Marker(e),a)}}return a},UncollapseChild:function(a,b,c){if(null==c&&(c=1),this.SplitAttribute(a,"children").length===c){var d=1===a.data.length&&a.data[0].inferred?a.data[0]:a;if(d&&d.data[b]&&d.data[b].collapsible)return d.SetData(b,d.data[b].data[1]),a.complexity=d.complexity=null,a.getComplexity(),1}return 0},FindChildText:function(a,b){var c=this.FindChild(a,b);return c?(c.CoreMO()||c).data.join(""):"?"},FindChild:function(a,b){if(a){if(a.attr&&a.attr["data-semantic-id"]===b)return a;if(!a.isToken)for(var c=0,d=a.data.length;cthis.COLLAPSE.fenced&&"leftright"===a.attr["data-semantic-role"]){var b=a.data[0].data.join("")+a.data[a.data.length-1].data.join("");a=this.MakeAction(this.Marker(b),a)}return a},Collapse_appl:function(a){if(this.UncollapseChild(a,2,2)){var b=this.MARKER.appl;b=b[a.attr["data-semantic-role"]]||b.value,a=this.MakeAction(this.Marker(b),a)}return a},Collapse_sqrt:function(a){return this.UncollapseChild(a,0),a.complexity>this.COLLAPSE.sqrt&&(a=this.MakeAction(this.Marker(this.MARKER.sqrt),a)),a},Collapse_root:function(a){return this.UncollapseChild(a,0),a.complexity>this.COLLAPSE.sqrt&&(a=this.MakeAction(this.Marker(this.MARKER.sqrt),a)),a},Collapse_enclose:function(a){if(1===this.SplitAttribute(a,"children").length){var b=1===a.data.length&&a.data[0].inferred?a.data[0]:a;if(b.data[0]&&b.data[0].collapsible){var c=b.data[0];b.SetData(0,c.data[1]),c.SetData(1,a),a=c}}return a},Collapse_bigop:function(a){if(a.complexity>this.COLLAPSE.bigop||"mo"!==a.data[0].type){var b=this.SplitAttribute(a,"content").pop(),c=g.FindChildText(a,b);a=this.MakeAction(this.Marker(c),a)}return a},Collapse_integral:function(a){if(a.complexity>this.COLLAPSE.integral||"mo"!==a.data[0].type){var b=this.SplitAttribute(a,"content")[0],c=g.FindChildText(a,b);a=this.MakeAction(this.Marker(c),a)}return a},Collapse_relseq:function(a){if(a.complexity>this.COLLAPSE.relseq){var b=this.SplitAttribute(a,"content"),c=g.FindChildText(a,b[0]);b.length>1&&(c+="\u22ef"),a=this.MakeAction(this.Marker(c),a)}return a},Collapse_multirel:function(a){if(a.complexity>this.COLLAPSE.multirel){var b=this.SplitAttribute(a,"content"),c=g.FindChildText(a,b[0])+"\u22ef";a=this.MakeAction(this.Marker(c),a)}return a},Collapse_superscript:function(a){return this.UncollapseChild(a,0,2),a.complexity>this.COLLAPSE.superscript&&(a=this.MakeAction(this.Marker(this.MARKER.superscript),a)),a},Collapse_subscript:function(a){return this.UncollapseChild(a,0,2),a.complexity>this.COLLAPSE.subscript&&(a=this.MakeAction(this.Marker(this.MARKER.subscript),a)),a},Collapse_subsup:function(a){return this.UncollapseChild(a,0,3),a.complexity>this.COLLAPSE.subsup&&(a=this.MakeAction(this.Marker(this.MARKER.subsup),a)),a}};a.Register.StartupHook("End Extensions",function(){null==c.collapsible?c.collapsible=!g.config.disabled:g.config.disabled=!c.collapsible,a.Register.StartupHook("MathMenu Ready",function(){d=MathJax.Menu.cookie;var a,b=function(a){g[c.collapsible?"Enable":"Disable"](!0,!0),MathJax.Menu.saveCookie()},e=MathJax.Menu.ITEM,f=MathJax.Menu.menu,h=e.CHECKBOX(["CollapsibleMath","Collapsible Math"],"collapsible",{action:b}),i=(f.FindId("Accessibility")||{}).submenu;i?(a=i.IndexOfId("CollapsibleMath"),null!==a?i.items[a]=h:i.items.push(e.RULE(),h)):(a=f.IndexOfId("About"),f.items.splice(a,0,h,e.RULE()))},15)},15)}(MathJax.Hub),MathJax.Ajax.Require("[a11y]/semantic-enrich.js"),MathJax.Hub.Register.StartupHook("Semantic Enrich Ready",function(){var a=MathJax.ElementJax.mml,b=MathJax.Extension.collapsible,c=b.COMPLEXITY,d=b.COMPLEXATTR;b.Startup(),a.mbase.Augment({Collapse:function(){return b.Collapse(this)},getComplexity:function(){if(null==this.complexity){var a=0;if(this.isToken)a=c.TEXT*this.data.join("").length+c.TOKEN;else{for(var b=0,e=this.data.length;b1&&(a+=e*c.CHILD)}!this.attrNames||"complexity"in this||this.attrNames.push(d),this.attr&&(this.attr[d]=a),this.complexity=a}return this.complexity},reportComplexity:function(){!this.attr||!this.attrNames||d in this.attr||(this.attrNames.push(d),this.attr[d]=this.complexity)}}),a.mfrac.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity*=c.SCRIPT,this.complexity+=c.FRACTION,this.attr[d]=this.complexity),this.complexity}}),a.msqrt.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity+=c.SQRT,this.attr[d]=this.complexity),this.complexity}}),a.mroot.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity-=(1-c.SCRIPT)*this.data[1].getComplexity(),this.complexity+=c.SQRT,this.attr[d]=this.complexity),this.complexity}}),a.msubsup.Augment({getComplexity:function(){if(null==this.complexity){var a=0;this.data[this.sub]&&(a=this.data[this.sub].getComplexity()+c.CHILD),this.data[this.sup]&&(a=Math.max(this.data[this.sup].getComplexity(),a)),a*=c.SCRIPT,this.data[this.sub]&&(a+=c.CHILD),this.data[this.sup]&&(a+=c.CHILD),this.data[this.base]&&(a+=this.data[this.base].getComplexity()+c.CHILD),this.complexity=a+c.SUBSUP,this.reportComplexity()}return this.complexity}}),a.munderover.Augment({getComplexity:function(){if(null==this.complexity){var a=0;this.data[this.sub]&&(a=this.data[this.sub].getComplexity()+c.CHILD),this.data[this.sup]&&(a=Math.max(this.data[this.sup].getComplexity(),a)),a*=c.SCRIPT,this.data[this.base]&&(a=Math.max(this.data[this.base].getComplexity(),a)),this.data[this.sub]&&(a+=c.CHILD),this.data[this.sup]&&(a+=c.CHILD),this.data[this.base]&&(a+=c.CHILD),this.complexity=a+c.UNDEROVER,this.reportComplexity()}return this.complexity}}),a.mphantom.Augment({getComplexity:function(){return this.complexity=c.PHANTOM,this.reportComplexity(),this.complexity}}),a.ms.Augment({getComplexity:function(){return this.SUPER(arguments).getComplexity.call(this),this.complexity+=this.Get("lquote").length*c.TEXT,this.complexity+=this.Get("rquote").length*c.TEXT,this.attr[d]=this.complexity,this.complexity}}),a.menclose.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity+=c.ACTION,this.attr[d]=this.complexity),this.complexity}}),a.maction.Augment({getComplexity:function(){return this.complexity=(this.collapsible?this.data[0]:this.selected()).getComplexity(),this.reportComplexity(),this.complexity}}),a.semantics.Augment({getComplexity:function(){return null==this.complexity&&(this.complexity=this.data[0]?this.data[0].getComplexity():0,this.reportComplexity()),this.complexity}}),a["annotation-xml"].Augment({getComplexity:function(){return this.complexity=c.XML,this.reportComplexity(),this.complexity}}),a.annotation.Augment({getComplexity:function(){return this.complexity=c.XML,this.reportComplexity(),this.complexity}}),a.mglyph.Augment({getComplexity:function(){return this.complexity=c.GLYPH,this.reportComplexity(),this.complexity}}),MathJax.Hub.Startup.signal.Post("Collapsible Ready"),MathJax.Ajax.loadComplete("[a11y]/collapsible.js")}); \ No newline at end of file diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/explorer.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/explorer.js new file mode 100644 index 00000000..5478cce7 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/explorer.js @@ -0,0 +1 @@ +MathJax.Hub.Register.StartupHook("Sre Ready",function(){var a,b,c=MathJax.Hub.config.menuSettings,d={};MathJax.Hub.Register.StartupHook("MathEvents Ready",function(){a=MathJax.Extension.MathEvents.Event.False,b=MathJax.Extension.MathEvents.Event.KEY});var e=MathJax.Extension.explorer={version:"1.5.0",dependents:[],defaults:{walker:"table",highlight:"none",background:"blue",foreground:"black",speech:!0,generation:"lazy",subtitle:!1,ruleset:"mathspeak-default"},eagerComplexity:80,prefix:"Assistive-",hook:null,locHook:null,oldrules:null,addMenuOption:function(a,b){c[e.prefix+a]=b},addDefaults:function(){for(var a,b=MathJax.Hub.CombineConfig("explorer",e.defaults),d=Object.keys(b),f=0;a=d[f];f++)void 0===c[e.prefix+a]&&e.addMenuOption(a,b[a]);e.setSpeechOption(),h.Reset()},setOption:function(a,b){c[e.prefix+a]!==b&&(e.addMenuOption(a,b),h.Reset())},getOption:function(a){return c[e.prefix+a]},speechOption:function(a){e.oldrules!==a.value&&(e.setSpeechOption(),h.Regenerate())},setSpeechOption:function(){var a=c[e.prefix+"ruleset"],b=a.split("-");sre.System.getInstance().setupEngine({locale:MathJax.Localization.locale,domain:e.Domain(b[0]),style:b[1],rules:e.RuleSet(b[0])}),e.oldrules=a},Domain:function(a){switch(a){case"chromevox":return"default";case"mathspeak":default:return"mathspeak"}},RuleSet:function(a){switch(a){case"chromevox":return["AbstractionRules","SemanticTreeRules"];case"mathspeak":default:return["AbstractionRules","AbstractionSpanish","MathspeakRules","MathspeakSpanish"]}},hook:null,locHook:null,Enable:function(a,b){c.explorer=!0,b&&(d.explorer=!0),MathJax.Extension.collapsible.Enable(!1,b),MathJax.Extension.AssistiveMML&&(MathJax.Extension.AssistiveMML.config.disabled=!0,c.assistiveMML=!1,b&&(d.assistiveMML=!1)),this.DisableMenus(!1),this.hook||(this.hook=MathJax.Hub.Register.MessageHook("New Math",["Register",this.Explorer])),this.locHook||(this.locHook=MathJax.Hub.Register.MessageHook("Locale Reset",["RemoveSpeech",this.Explorer])),a&&MathJax.Hub.Queue(["Reprocess",MathJax.Hub])},Disable:function(a,b){c.explorer=!1,b&&(d.explorer=!1),this.DisableMenus(!0),this.hook&&(MathJax.Hub.UnRegister.MessageHook(this.hook),this.hook=null);for(var e=this.dependents.length-1;e>=0;e--){var f=this.dependents[e];f.Disable&&f.Disable(!1,b)}},DisableMenus:function(a){if(MathJax.Menu){var b=MathJax.Menu.menu.FindId("Accessibility","Explorer");if(b){b=b.submenu;for(var d,f=b.items,g=2;d=f[g];g++)d.disabled=a;a||!b.FindId("SpeechOutput")||c[e.prefix+"speech"]||(b.FindId("Subtitles").disabled=!0)}}},Dependent:function(a){this.dependents.push(a)}},f=MathJax.Object.Subclass({div:null,inner:null,Init:function(){this.div=f.Create("assertive"),this.inner=MathJax.HTML.addElement(this.div,"div")},Add:function(){f.added||(document.body.appendChild(this.div),f.added=!0)},Show:function(a,b){this.div.classList.add("MJX_LiveRegion_Show");var c=a.getBoundingClientRect(),d=c.bottom+10+window.pageYOffset,e=c.left+window.pageXOffset;this.div.style.top=d+"px",this.div.style.left=e+"px";var f=b.colorString();this.inner.style.backgroundColor=f.background,this.inner.style.color=f.foreground},Hide:function(a){this.div.classList.remove("MJX_LiveRegion_Show")},Clear:function(){this.Update(""),this.inner.style.top="",this.inner.style.backgroundColor=""},Update:function(a){e.getOption("speech")&&f.Update(this.inner,a)}},{ANNOUNCE:"Navigatable Math in page. Explore with shift space and arrow keys. Expand or collapse elements hitting enter.",announced:!1,added:!1,styles:{".MJX_LiveRegion":{position:"absolute",top:"0",height:"1px",width:"1px",padding:"1px",overflow:"hidden"},".MJX_LiveRegion_Show":{top:"0",position:"absolute",width:"auto",height:"auto",padding:"0px 0px",opacity:1,"z-index":"202",left:0,right:0,margin:"0 auto","background-color":"white","box-shadow":"0px 10px 20px #888",border:"2px solid #CCCCCC"}},Create:function(a){var b=MathJax.HTML.Element("div",{className:"MJX_LiveRegion"});return b.setAttribute("aria-live",a),b},Update:MathJax.Hub.Browser.isPC?function(a,b){a.textContent="",setTimeout(function(){a.textContent=b},100)}:function(a,b){a.textContent="",a.textContent=b},Announce:function(){if(e.getOption("speech")){f.announced=!0,MathJax.Ajax.Styles(f.styles);var a=f.Create("polite");document.body.appendChild(a),f.Update(a,f.ANNOUNCE),setTimeout(function(){document.body.removeChild(a)},1e3)}}});MathJax.Extension.explorer.LiveRegion=f;var g=MathJax.Ajax.fileURL(MathJax.Ajax.config.path.a11y),h=MathJax.Extension.explorer.Explorer={liveRegion:f(),walker:null,highlighter:null,hoverer:null,flamer:null,speechDiv:null,earconFile:g+"/invalid_keypress"+(-1!==["Firefox","Chrome","Opera"].indexOf(MathJax.Hub.Browser.name)?".ogg":".mp3"),expanded:!1,focusoutEvent:MathJax.Hub.Browser.isFirefox?"blur":"focusout",focusinEvent:"focus",ignoreFocusOut:!1,jaxCache:{},messageID:null,Reset:function(){h.FlameEnriched()},Register:function(a){if(e.hook){var b=document.getElementById(a[1]);if(b&&b.id){var c=MathJax.Hub.getJaxFor(b.id);c&&c.enriched&&(h.StateChange(b.id,c),h.liveRegion.Add(),h.AddEvent(b))}}},StateChange:function(a,b){h.GetHighlighter(.2);var c=h.jaxCache[a];c&&c===b.root||(c&&h.highlighter.resetState(a+"-Frame"),h.jaxCache[a]=b.root)},AddAria:function(a){a.setAttribute("role","application"),a.setAttribute("aria-label","Math")},AddHook:function(a){h.RemoveHook(),h.hook=MathJax.Hub.Register.MessageHook("End Math",function(b){var c=b[1].id+"-Frame",d=document.getElementById(c);a&&c===h.expanded&&(h.ActivateWalker(d,a),d.focus(),h.expanded=!1)})},RemoveHook:function(){h.hook&&(MathJax.Hub.UnRegister.MessageHook(h.hook),h.hook=null)},AddMessage:function(){return MathJax.Message.Set("Generating Speech Output")},RemoveMessage:function(a){a&&MathJax.Message.Clear(a)},AddEvent:function(a){var b=a.id+"-Frame",c=a.previousSibling;if(c){var d=c.id!==b?c.firstElementChild:c;h.AddAria(d),h.AddMouseEvents(d),"MathJax_MathML"===d.className&&(d=d.firstElementChild),d&&(d.onkeydown=h.Keydown,h.Flame(d),d.addEventListener(h.focusinEvent,function(a){e.hook&&(f.announced||f.Announce())}),d.addEventListener(h.focusoutEvent,function(a){if(e.hook)return h.ignoreFocusOut&&(h.ignoreFocusOut=!1,"enter"===h.walker.moved)?void a.target.focus():void(h.walker&&h.DeactivateWalker())}),e.getOption("speech")&&h.AddSpeech(d))}},AddSpeech:function(a){var b=a.id,c=MathJax.Hub.getJaxFor(b),d=c.root.toMathML();if(a.getAttribute("haslabel")||h.AddMathLabel(d,b),!a.getAttribute("hasspeech"))switch(MathJax.Hub.config.explorer.generation){case"eager":h.AddSpeechEager(d,b);break;case"mixed":a.querySelectorAll("[data-semantic-complexity]").length>=e.eagerComplexity&&h.AddSpeechEager(d,b)}},AddSpeechLazy:function(a){var b=new sre.TreeSpeechGenerator;b.setRebuilt(h.walker.rebuilt),b.getSpeech(h.walker.rootNode,h.walker.xml),a.setAttribute("hasspeech","true")},AddSpeechEager:function(a,b){h.MakeSpeechTask(a,b,sre.TreeSpeechGenerator,function(a,b){a.setAttribute("hasspeech","true")},5)},AddMathLabel:function(a,b){h.MakeSpeechTask(a,b,sre.SummarySpeechGenerator,function(a,b){a.setAttribute("haslabel","true"),a.setAttribute("aria-label",b)},5)},MakeSpeechTask:function(a,b,c,d,e){var f=h.AddMessage();setTimeout(function(){var e=new c,g=document.getElementById(b),i=new sre.DummyWalker(g,e,h.highlighter,a),j=i.speech();j&&d(g,j),h.RemoveMessage(f)},e)},Keydown:function(c){if(c.keyCode===b.ESCAPE){if(!h.walker)return;return h.RemoveHook(),h.DeactivateWalker(),void a(c)}if(h.walker&&h.walker.isActive()){void 0!==h.walker.modifier&&(h.walker.modifier=c.shiftKey);var d=h.walker.move(c.keyCode);if(null===d)return;if(d){if("expand"===h.walker.moved){if(h.expanded=h.walker.node.id,MathJax.Hub.Browser.isEdge)return h.ignoreFocusOut=!0,void h.DeactivateWalker();if(MathJax.Hub.Browser.isFirefox||MathJax.Hub.Browser.isMSIE)return void h.DeactivateWalker()}h.liveRegion.Update(h.walker.speech()),h.Highlight()}else h.PlayEarcon();return void a(c)}var f=c.target;if(c.keyCode===b.SPACE){if(c.shiftKey&&e.hook){var g=MathJax.Hub.getJaxFor(f);h.ActivateWalker(f,g),h.AddHook(g)}else MathJax.Extension.MathEvents.Event.ContextMenu(c,f);return void a(c)}},GetHighlighter:function(a){h.highlighter=sre.HighlighterFactory.highlighter({color:e.getOption("background"),alpha:a},{color:e.getOption("foreground"),alpha:1},{renderer:MathJax.Hub.outputJax["jax/mml"][0].id,browser:MathJax.Hub.Browser.name})},AddMouseEvents:function(a){sre.HighlighterFactory.addEvents(a,{mouseover:h.MouseOver,mouseout:h.MouseOut},{renderer:MathJax.Hub.outputJax["jax/mml"][0].id,browser:MathJax.Hub.Browser.name})},MouseOver:function(b){if("none"!==e.getOption("highlight")){if("hover"===e.getOption("highlight")){var c=b.currentTarget;h.GetHighlighter(.1),h.highlighter.highlight([c]),h.hoverer=!0}a(b)}},MouseOut:function(b){return h.hoverer&&(h.highlighter.unhighlight(),h.hoverer=!1),a(b)},Flame:function(a){if("flame"===e.getOption("highlight"))return h.GetHighlighter(.05),h.highlighter.highlightAll(a),void(h.flamer=!0)},UnFlame:function(){h.flamer&&(h.highlighter.unhighlightAll(),h.flamer=null)},FlameEnriched:function(){h.UnFlame();for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++)h.Flame(a.SourceElement().previousSibling)},Walkers:{syntactic:sre.SyntaxWalker,table:sre.TableWalker,semantic:sre.SemanticWalker,none:sre.DummyWalker},ActivateWalker:function(a,b){var c=e.getOption("speech"),d=e.getOption("walker")?h.Walkers[MathJax.Hub.config.explorer.walker]:h.Walkers.none,f=c?new sre.DirectSpeechGenerator:new sre.DummySpeechGenerator;h.GetHighlighter(.2),h.walker=new d(a,f,h.highlighter,b.root.toMathML()),c&&!a.getAttribute("hasspeech")&&h.AddSpeechLazy(a),h.walker.activate(),c&&(e.getOption("subtitle")&&h.liveRegion.Show(a,h.highlighter),h.liveRegion.Update(h.walker.speech())),h.Highlight(),h.ignoreFocusOut&&setTimeout(function(){h.ignoreFocusOut=!1},500)},DeactivateWalker:function(){h.liveRegion.Clear(),h.liveRegion.Hide(),h.Unhighlight(),h.currentHighlight=null,h.walker.deactivate(),h.walker=null},Highlight:function(){h.Unhighlight(),h.highlighter.highlight(h.walker.getFocus().getNodes())},Unhighlight:function(){h.highlighter.unhighlight()},PlayEarcon:function(){new Audio(h.earconFile).play()},SpeechOutput:function(){h.Reset(),["Subtitles"].forEach(function(a){var b=MathJax.Menu.menu.FindId("Accessibility","Explorer",a);b&&(b.disabled=!b.disabled)}),h.Regenerate()},RemoveSpeech:function(){e.setSpeechOption();for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++){var d=document.getElementById(a.inputID+"-Frame");d&&(d.removeAttribute("hasspeech"),d.removeAttribute("haslabel"))}},Regenerate:function(){for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++){var d=document.getElementById(a.inputID+"-Frame");d&&(d.removeAttribute("hasspeech"),h.AddSpeech(d))}},Startup:function(){var a=MathJax.Extension.collapsible;a&&a.Dependent(e),e.addDefaults()}};MathJax.Hub.Register.StartupHook("End Extensions",function(){e[!1===c.explorer?"Disable":"Enable"](),MathJax.Hub.Startup.signal.Post("Explorer Ready"),MathJax.Hub.Register.StartupHook("MathMenu Ready",function(){d=MathJax.Menu.cookie;var a,b=function(a){e[c.explorer?"Enable":"Disable"](!0,!0),MathJax.Menu.saveCookie()},f=MathJax.Menu.ITEM,g=MathJax.Menu.menu,i={action:h.Reset},j={action:e.speechOption},k=f.SUBMENU(["Explorer","Explorer"],f.CHECKBOX(["Active","Active"],"explorer",{action:b}),f.RULE(),f.CHECKBOX(["Walker","Walker"],"Assistive-walker"),f.SUBMENU(["Highlight","Highlight"],f.RADIO(["none","None"],"Assistive-highlight",i),f.RADIO(["hover","Hover"],"Assistive-highlight",i),f.RADIO(["flame","Flame"],"Assistive-highlight",i)),f.SUBMENU(["Background","Background"],f.RADIO(["blue","Blue"],"Assistive-background",i),f.RADIO(["red","Red"],"Assistive-background",i),f.RADIO(["green","Green"],"Assistive-background",i),f.RADIO(["yellow","Yellow"],"Assistive-background",i),f.RADIO(["cyan","Cyan"],"Assistive-background",i),f.RADIO(["magenta","Magenta"],"Assistive-background",i),f.RADIO(["white","White"],"Assistive-background",i),f.RADIO(["black","Black"],"Assistive-background",i)),f.SUBMENU(["Foreground","Foreground"],f.RADIO(["black","Black"],"Assistive-foreground",i),f.RADIO(["white","White"],"Assistive-foreground",i),f.RADIO(["magenta","Magenta"],"Assistive-foreground",i),f.RADIO(["cyan","Cyan"],"Assistive-foreground",i),f.RADIO(["yellow","Yellow"],"Assistive-foreground",i),f.RADIO(["green","Green"],"Assistive-foreground",i),f.RADIO(["red","Red"],"Assistive-foreground",i),f.RADIO(["blue","Blue"],"Assistive-foreground",i)),f.RULE(),f.CHECKBOX(["SpeechOutput","Speech Output"],"Assistive-speech",{action:h.SpeechOutput}),f.CHECKBOX(["Subtitles","Subtitles"],"Assistive-subtitle",{disabled:!c["Assistive-speech"]}),f.RULE(),f.SUBMENU(["Mathspeak","Mathspeak Rules"],f.RADIO(["mathspeak-default","Verbose"],"Assistive-ruleset",j),f.RADIO(["mathspeak-brief","Brief"],"Assistive-ruleset",j),f.RADIO(["mathspeak-sbrief","Superbrief"],"Assistive-ruleset",j)),f.SUBMENU(["Chromevox","ChromeVox Rules"],f.RADIO(["chromevox-default","Verbose"],"Assistive-ruleset",j),f.RADIO(["chromevox-short","Short"],"Assistive-ruleset",j),f.RADIO(["chromevox-alternative","Alternative"],"Assistive-ruleset",j))),l=(g.FindId("Accessibility")||{}).submenu;l?(a=l.IndexOfId("Explorer"),null!==a?l.items[a]=k:(a=l.IndexOfId("CollapsibleMath"),l.items.splice(a+1,0,k))):(a=g.IndexOfId("CollapsibleMath"),g.items.splice(a+1,0,k)),c.explorer||e.DisableMenus(!0)},20)},20)}),MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){MathJax.Hub.Config({SVG:{addMMLclasses:!0}});var a=MathJax.OutputJax.SVG;if(parseFloat(a.version)<2.7){var b=a.getJaxFromMath;a.Augment({getJaxFromMath:function(a){return a.parentNode.className.match(/MathJax_SVG_Display/)&&(a=a.parentNode),b.call(this,a)}})}}),MathJax.Ajax.config.path.a11y||(MathJax.Ajax.config.path.a11y=MathJax.Hub.config.root+"/extensions/a11y"),MathJax.Ajax.Require("[a11y]/collapsible.js"),MathJax.Hub.Register.StartupHook("Collapsible Ready",function(){MathJax.Extension.explorer.Explorer.Startup(),MathJax.Ajax.loadComplete("[a11y]/explorer.js")}); \ No newline at end of file diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/invalid_keypress.mp3 b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/invalid_keypress.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..cba44de08a288ee4d5aae221b71b740349c0caad GIT binary patch literal 9030 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 WCEpm@S)lay>ms`WyLrxY(tiW58)c^e literal 0 HcmV?d00001 diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathjax-sre.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathjax-sre.js new file mode 100644 index 00000000..40a6151f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathjax-sre.js @@ -0,0 +1,985 @@ +// Copyright 2014-2018 Volker Sorge +// +// 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 $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_"; +$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+a++}}(); +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var b=0;return $jscomp.iteratorPrototype(function(){return b>>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("function"===typeof a.clone)return a.clone();b="array"==b?[]:{};for(var 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(2Number(a[1])?!1:b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});a("es6-impl",function(){return!0});a("es7",function(){return b("2 ** 2 == 4")}); +a("es8",function(){return b("async () => 1, true")});a("es9",function(){return b("({...rest} = {}), true")});a("es_next",function(){return!1});return c},goog.Transpiler.prototype.needsTranspile=function(a,b){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;this.requiresTranspilation_||(this.requiresTranspilation_=this.createRequiresTranspilation_());if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a]?!0:!goog.inHtmlDocument_()||"es6"!=b||"noModule"in goog.global.document.createElement("script")? +!1:!0;throw Error("Unknown language mode: "+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={};this.idToPath_={};this.written_={};this.loadingDeps_=[];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory(goog.transpiler_);this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap= +function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){b=[];for(var e=0;e\x3c/script>")}else{var d=b.createElement("script");d.defer=goog.Dependency.defer_;d.async=!1;d.type="text/javascript";var e=goog.getScriptNonce();e&&(d.nonce=e);goog.DebugLoader_.IS_OLD_IE_?(a.pause(),d.onreadystatechange=function(){if("loaded"==d.readyState||"complete"==d.readyState)a.loaded(), +a.resume()}):d.onload=function(){d.onload=null;a.loaded()};d.src=this.path;b.head.appendChild(d)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or seting CLOSURE_NO_DEPS to true."),a.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load= +function(a){function b(a,b){b?d.write('");return a};sre.ColorPicker=function(a,b){this.foreground=sre.ColorPicker.getChannelColor_(b,sre.ColorPicker.DEFAULT_FOREGROUND_);this.background=sre.ColorPicker.getChannelColor_(a,sre.ColorPicker.DEFAULT_BACKGROUND_)};sre.ColorPicker.DEFAULT_BACKGROUND_="blue";sre.ColorPicker.DEFAULT_FOREGROUND_="black"; +sre.ColorPicker.namedColors_={red:{red:255,green:0,blue:0},green:{red:0,green:255,blue:0},blue:{red:0,green:0,blue:255},yellow:{red:255,green:255,blue:0},cyan:{red:0,green:255,blue:255},magenta:{red:255,green:0,blue:255},white:{red:255,green:255,blue:255},black:{red:0,green:0,blue:0}};sre.ColorPicker.getChannelColor_=function(a,b){a=a||{color:b};var c=a.color?sre.ColorPicker.namedColors_[a.color]:a;c||(c=sre.ColorPicker.namedColors_[b]);c.alpha=a.hasOwnProperty("alpha")?a.alpha:1;return sre.ColorPicker.normalizeColor_(c)}; +sre.ColorPicker.normalizeColor_=function(a){var b=function(a){a=Math.max(a,0);a=Math.min(255,a);return Math.round(a)};a.red=b(a.red);a.green=b(a.green);a.blue=b(a.blue);a.alpha=Math.max(a.alpha,0);a.alpha=Math.min(1,a.alpha);return a};sre.ColorPicker.prototype.rgba=function(){var a=function(a){return"rgba("+a.red+","+a.green+","+a.blue+","+a.alpha+")"};return{background:a(this.background),foreground:a(this.foreground)}}; +sre.ColorPicker.prototype.rgb=function(){var a=function(a){return"rgb("+a.red+","+a.green+","+a.blue+")"};return{background:a(this.background),alphaback:this.background.alpha.toString(),foreground:a(this.foreground),alphafore:this.foreground.alpha.toString()}}; +sre.ColorPicker.prototype.hex=function(){var a=function(a){return"#"+sre.ColorPicker.toHex_(a.red)+sre.ColorPicker.toHex_(a.green)+sre.ColorPicker.toHex_(a.blue)};return{background:a(this.background),alphaback:this.background.alpha.toString(),foreground:a(this.foreground),alphafore:this.foreground.alpha.toString()}};sre.ColorPicker.toHex_=function(a){a=a.toString(16);return 1===a.length?"0"+a:a};sre.Highlighter=function(){};sre.Highlighter.prototype.highlight=function(a){};sre.Highlighter.prototype.unhighlight=function(){};sre.Highlighter.prototype.highlightAll=function(a){};sre.Highlighter.prototype.unhighlightAll=function(){};sre.Highlighter.prototype.setColor=function(a){};sre.Highlighter.prototype.addEvents=function(a,b){};sre.AbstractHighlighter=function(){this.currentHighlights_=[];this.color=null;this.mactionName="";this.state_={}};sre.AbstractHighlighter.prototype.highlight=function(a){this.currentHighlights_.push(a.map(goog.bind(function(a){return this.highlightNode(a)},this)))};sre.AbstractHighlighter.prototype.highlightNode=goog.abstractMethod;sre.AbstractHighlighter.prototype.highlightAll=function(a){a=this.getMactionNodes(a);for(var b=0,c;c=a[b];b++)this.highlight([c])}; +sre.AbstractHighlighter.prototype.unhighlight=function(){var a=this.currentHighlights_.pop();a&&a.forEach(goog.bind(function(a){return this.unhighlightNode(a)},this))};sre.AbstractHighlighter.prototype.unhighlightNode=goog.abstractMethod;sre.AbstractHighlighter.prototype.unhighlightAll=function(){for(;0'+e+"","text/xml");b.push(e.documentElement)}return b}; +sre.MathspeakUtil.spaceoutIdentifier=function(a){var b=a.textContent;if(!b.match(/[a-zA-Z]+/))return a.setAttribute("role",sre.SemanticAttr.Role.PROTECTED),[a];a=b.split("");b=[];for(var c=new sre.SystemExternal.xmldom.DOMParser,d=0,e;e=a[d];d++){var f=sre.Semantic.Type.IDENTIFIER;e=c.parseFromString("<"+f+' role="'+sre.Semantic.Role.UNKNOWN+'">'+e+"","text/xml");b.push(e.documentElement)}return b}; +sre.MathspeakUtil.nestingBarriers=[sre.Semantic.Type.CASES,sre.Semantic.Type.CELL,sre.Semantic.Type.INTEGRAL,sre.Semantic.Type.LINE,sre.Semantic.Type.MATRIX,sre.Semantic.Type.MULTILINE,sre.Semantic.Type.OVERSCORE,sre.Semantic.Type.ROOT,sre.Semantic.Type.ROW,sre.Semantic.Type.SQRT,sre.Semantic.Type.SUBSCRIPT,sre.Semantic.Type.SUPERSCRIPT,sre.Semantic.Type.TABLE,sre.Semantic.Type.UNDERSCORE,sre.Semantic.Type.VECTOR];sre.MathspeakUtil.nestingDepth={}; +sre.MathspeakUtil.resetNestingDepth=function(a){sre.MathspeakUtil.nestingDepth={};return[a]}; +sre.MathspeakUtil.getNestingDepth=function(a,b,c,d,e,f){d=d||sre.MathspeakUtil.nestingBarriers;e=e||{};f=f||function(a){return!1};var g=(new sre.SystemExternal.xmldom.XMLSerializer).serializeToString(b);sre.MathspeakUtil.nestingDepth[a]||(sre.MathspeakUtil.nestingDepth[a]={});if(sre.MathspeakUtil.nestingDepth[a][g])return sre.MathspeakUtil.nestingDepth[a][g];if(f(b)||0>c.indexOf(b.tagName))return 0;b=sre.MathspeakUtil.computeNestingDepth_(b,c,sre.BaseUtil.setdifference(d,c),e,f,0);return sre.MathspeakUtil.nestingDepth[a][g]= +b};sre.MathspeakUtil.containsAttr=function(a,b){if(!a.attributes)return!1;a=sre.DomUtil.toArray(a.attributes);for(var c=0,d;d=a[c];c++)if(b[d.nodeName]===d.nodeValue)return!0;return!1}; +sre.MathspeakUtil.computeNestingDepth_=function(a,b,c,d,e,f){if(e(a)||-1=Math.pow(10,36))return a.toString();for(var b=0,c="";0b)return c+"th";switch(a%10){case 1:return c+"st";case 2:return c+"nd";case 3:return c+"rd";default:return c+"th"}};sre.MathspeakUtil.ordinalCounter=function(a,b){var c=0;return function(){return sre.MathspeakUtil.simpleOrdinal(++c)+" "+b}}; +sre.MathspeakUtil.convertVulgarFraction_=function(a){if(!a.childNodes||!a.childNodes[0]||!a.childNodes[0].childNodes||2>a.childNodes[0].childNodes.length||a.childNodes[0].childNodes[0].tagName!==sre.SemanticAttr.Type.NUMBER||a.childNodes[0].childNodes[0].getAttribute("role")!==sre.SemanticAttr.Role.INTEGER||a.childNodes[0].childNodes[1].tagName!==sre.SemanticAttr.Type.NUMBER||a.childNodes[0].childNodes[1].getAttribute("role")!==sre.SemanticAttr.Role.INTEGER)return{convertible:!1,content:a.textContent}; +var b=a.childNodes[0].childNodes[1].textContent;a=a.childNodes[0].childNodes[0].textContent;var c=Number(b),d=Number(a);return isNaN(c)||isNaN(d)?{convertible:!1,content:a+" "+sre.Messages.MS.FRAC_OVER+" "+b}:{convertible:!0,enumerator:d,denominator:c}}; +sre.MathspeakUtil.vulgarFraction=function(a){a=sre.MathspeakUtil.convertVulgarFraction_(a);return a.convertible&&a.enumerator&&a.denominator?sre.MathspeakUtil.numberToWords(a.enumerator)+"-"+sre.MathspeakUtil.numberToOrdinal(a.denominator,1!==a.enumerator):a.content||""};sre.MathspeakUtil.vulgarFractionSmall=function(a){var b=sre.MathspeakUtil.convertVulgarFraction_(a);return b.convertible?(a=b.enumerator,b=b.denominator,0a&&0b):!1}; +sre.MathspeakUtil.isSmallVulgarFraction=function(a){return sre.MathspeakUtil.vulgarFractionSmall(a)?[a]:[]}; +sre.MathspeakUtil.nestedSubSuper=function(a,b,c){for(;a.parentNode;){var d=a.parentNode,e=d.parentNode,f=a.getAttribute&&a.getAttribute("role");if(e.tagName===sre.Semantic.Type.SUBSCRIPT&&a===d.childNodes[1]||e.tagName===sre.Semantic.Type.TENSOR&&f&&(f===sre.Semantic.Role.LEFTSUB||f===sre.Semantic.Role.RIGHTSUB))b=c.sub+" "+b;if(e.tagName===sre.Semantic.Type.SUPERSCRIPT&&a===d.childNodes[1]||e.tagName===sre.Semantic.Type.TENSOR&&f&&(f===sre.Semantic.Role.LEFTSUPER||f===sre.Semantic.Role.RIGHTSUPER))b= +c.sup+" "+b;a=e}return b.trim()};sre.MathspeakUtil.subscriptVerbose=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUBSCRIPT,{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB})};sre.MathspeakUtil.subscriptBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUB,{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})}; +sre.MathspeakUtil.superscriptVerbose=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUPERSCRIPT,{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB})};sre.MathspeakUtil.superscriptBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUP,{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})}; +sre.MathspeakUtil.baselineVerbose=function(a){return(a=sre.MathspeakUtil.nestedSubSuper(a,"",{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB}))?a.replace(new RegExp(sre.Messages.MS.SUB+"$"),sre.Messages.MS.SUBSCRIPT).replace(new RegExp(sre.Messages.MS.SUPER+"$"),sre.Messages.MS.SUPERSCRIPT):sre.Messages.MS.BASELINE};sre.MathspeakUtil.baselineBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,"",{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})||sre.Messages.MS.BASE}; +sre.MathspeakUtil.radicalNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("radical",a,["sqrt","root"],sre.MathspeakUtil.nestingBarriers,{})};sre.MathspeakUtil.nestedRadical=function(a,b,c){var d=sre.MathspeakUtil.radicalNestingDepth(a);c=(a=sre.MathspeakUtil.getRootIndex(a))?sre.Messages.MS_FUNC.COMBINE_ROOT_INDEX(c,a):c;return 1===d?c:b+sre.Messages.MS_FUNC.RADICAL_NEST_DEPTH(d-1)+c}; +sre.MathspeakUtil.getRootIndex=function(a){a="sqrt"===a.tagName?"2":sre.XpathUtil.evalXPath("children/*[1]",a)[0].textContent.trim();return sre.Messages.MS_ROOT_INDEX[a]||""};sre.MathspeakUtil.openingRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.STARTROOT)};sre.MathspeakUtil.closingRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.ENDROOT)}; +sre.MathspeakUtil.indexRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.ROOTINDEX)};sre.MathspeakUtil.openingRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.STARTROOT)};sre.MathspeakUtil.closingRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ENDROOT)}; +sre.MathspeakUtil.indexRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ROOTINDEX)};sre.MathspeakUtil.openingRadicalSbrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ROOT)};sre.MathspeakUtil.indexRadicalSbrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.INDEX)}; +sre.MathspeakUtil.underscoreNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("underscore",a,["underscore"],sre.MathspeakUtil.nestingBarriers,{},function(a){return a.tagName&&a.tagName===sre.Semantic.Type.UNDERSCORE&&a.childNodes[0].childNodes[1].getAttribute("role")===sre.Semantic.Role.UNDERACCENT})};sre.MathspeakUtil.nestedUnderscore=function(a){a=sre.MathspeakUtil.underscoreNestingDepth(a);return Array(a).join(sre.Messages.MS.UNDER)+sre.Messages.MS.UNDERSCRIPT}; +sre.MathspeakUtil.overscoreNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("overscore",a,["overscore"],sre.MathspeakUtil.nestingBarriers,{},function(a){return a.tagName&&a.tagName===sre.Semantic.Type.OVERSCORE&&a.childNodes[0].childNodes[1].getAttribute("role")===sre.Semantic.Role.OVERACCENT})};sre.MathspeakUtil.nestedOverscore=function(a){a=sre.MathspeakUtil.overscoreNestingDepth(a);return Array(a).join(sre.Messages.MS.OVER)+sre.Messages.MS.OVERSCRIPT}; +sre.MathspeakUtil.determinantIsSimple=function(a){if(a.tagName!==sre.Semantic.Type.MATRIX||a.getAttribute("role")!==sre.Semantic.Role.DETERMINANT)return[];for(var b=sre.XpathUtil.evalXPath("children/row/children/cell/children/*",a),c=0,d;d=b[c];c++)if(d.tagName!==sre.Semantic.Type.NUMBER){if(d.tagName===sre.Semantic.Type.IDENTIFIER&&(d=d.getAttribute("role"),d===sre.Semantic.Role.LATINLETTER||d===sre.Semantic.Role.GREEKLETTER||d===sre.Semantic.Role.OTHERLETTER))continue;return[]}return[a]}; +sre.MathspeakUtil.generateBaselineConstraint=function(){var a=function(a){return a.map(function(a){return"ancestor::"+a})},b="not("+a(["subscript","superscript","tensor"]).join(" or ")+")",c=a(["relseq","multrel"]);a=a(["fraction","punctuation","fenced","sqrt","root"]);for(var d=[],e=0,f;f=a[e];e++)d=d.concat(c.map(function(a){return f+"/"+a}));c="not("+d.join(" | ")+")";return["ancestor::*/following-sibling::*",b,c].join(" and ")}; +sre.MathspeakUtil.removeParens=function(a){if(!a.childNodes.length||!a.childNodes[0].childNodes.length||!a.childNodes[0].childNodes[0].childNodes.length)return"";a=a.childNodes[0].childNodes[0].childNodes[0].textContent;return a.match(/^\(.+\)$/)?a.slice(1,-1):a};sre.Locale={};sre.Locale.nestingToString=function(a){switch(a){case 1:return"";case 2:return sre.Messages.MS.TWICE;default:return a.toString()}};sre.Locale.vulgarNestingDepth=function(a){return sre.MathspeakUtil.vulgarFractionSmall(a)};sre.Locale.combinePostfixIndex=function(a,b){return a===sre.Messages.MS.ROOTINDEX||a===sre.Messages.MS.INDEX?a:a+" "+b};sre.Locale.localFont=function(a){return sre.Messages.FONT[a]||a};sre.Grammar.getInstance().setCorrection("localFont",sre.Locale.localFont); +sre.Locale.localRole=function(a){return sre.Messages.ROLE[a]||a};sre.Grammar.getInstance().setCorrection("localRole",sre.Locale.localRole);sre.Locale.localEnclose=function(a){return sre.Messages.ENCLOSE[a]||a};sre.Grammar.getInstance().setCorrection("localEnclose",sre.Locale.localEnclose);sre.Locale.en={MS:{START:"Start",FRAC_V:"Fraction",FRAC_B:"Frac",FRAC_S:"Frac",END:"End",FRAC_OVER:"Over",TWICE:"Twice",NEST_FRAC:"Nest",ENDFRAC:"EndFrac",SUPER:"Super",SUB:"Sub",SUP:"Sup",SUPERSCRIPT:"Superscript",SUBSCRIPT:"Subscript",BASELINE:"Baseline",BASE:"Base",NESTED:"Nested",NEST_ROOT:"Nest",STARTROOT:"StartRoot",ENDROOT:"EndRoot",ROOTINDEX:"RootIndex",ROOT:"Root",INDEX:"Index",UNDER:"Under",UNDERSCRIPT:"Underscript",OVER:"Over",OVERSCRIPT:"Overscript"},MS_FUNC:{FRAC_NEST_DEPTH:sre.Locale.vulgarNestingDepth, +RADICAL_NEST_DEPTH:sre.Locale.nestingToString,COMBINE_ROOT_INDEX:function(a,b){return a}},MS_ROOT_INDEX:{},FONT:{},ROLE:{addition:"addition",multiplication:"multiplication",subtraction:"subtraction",division:"division",equality:"equality",inequality:"inequality",element:"element",arrow:"arrow",determinant:"determinant",rowvector:"row vector",binomial:"binomial",squarematrix:"square matrix",multiline:"multiple lines",matrix:"matrix",vector:"vector",cases:"case statement",table:"table",unknown:"unknown"}, +ENCLOSE:{longdiv:"long division",actuarial:"actuarial symbol",radical:"square root",box:"box",roundedbox:"rounded box",circle:"circle",left:"left vertical-line",right:"right vertical-line",top:"overbar",bottom:"underbar",updiagonalstrike:"crossout",downdiagonalstrike:"crossout",verticalstrike:"vertical strikeout",horizontalstrike:"crossout",madruwb:"Arabic factorial symbol",updiagonalarrow:"diagonal arrow",phasorangle:"phasor angle",unknown:"long division"},NAVIGATE:{COLLAPSIBLE:"collapsible",EXPANDABLE:"expandable", +LEVEL:"Level"}};sre.Locale.es={MS:{START:"empezar ",FRAC_V:"fracci\u00f3n",FRAC_B:"frac",FRAC_S:"frac",END:"finalizar ",FRAC_OVER:"entre ",TWICE:"",NEST_FRAC:"",ENDFRAC:"",SUPER:"super",SUB:"sub",SUP:"sup",SUPERSCRIPT:"super\u00edndice",SUBSCRIPT:"sub\u00edndice",BASELINE:"l\u00ednea base",BASE:"",NESTED:"",NEST_ROOT:"",STARTROOT:"empezar ra\u00edz",ENDROOT:"finalizar ra\u00edz",ROOTINDEX:"\u00edndice de ra\u00edz",ROOT:"ra\u00edz",INDEX:"",UNDER:"bajo",UNDERSCRIPT:"bajo\u00edndice",OVER:"sobre",OVERSCRIPT:"sobre\u00edndice"}, +MS_FUNC:{FRAC_NEST_DEPTH:function(a){return!1},RADICAL_NEST_DEPTH:function(a){return""},COMBINE_ROOT_INDEX:sre.Locale.combinePostfixIndex},MS_ROOT_INDEX:{2:"cuadrada",3:"c\u00fabica",4:"a la cuarta",5:"a la quinta",6:"a la sexta",7:"a la s\u00e9ptima",8:"a la octava",9:"a la novena",10:"a la d\u00e9cima"},FONT:{bold:"negrita","bold-fraktur":"negrita Fraktur","bold-italic":"negrita cursiva","bold-script":"negrita script",caligraphic:"caligr\u00e1fica","caligraphic-bold":"caligr\u00e1fica negrita", +"double-struck":"negrita de pizarra","double-struck-italic":"negrita de pizarra cursiva",fraktur:"Fraktur",italic:"cursiva",monospace:"monoespacio",normal:"normal",oldstyle:"estilo antiguo","oldstyle-bold":"estilo antiguo negrita",script:"script","sans-serif":"sans-serif","sans-serif-italic":"sans-serif cursiva","sans-serif-bold":"sans-serif negrita","sans-serif-bold-italic":"sans-serif negrita cursiva",unknown:"desconocida"},ROLE:{addition:"adici\u00f3n",multiplication:"multiplicaci\u00f3n",subtraction:"resta", +division:"divisi\u00f3n",equality:"igualdad",inequality:"desigualdad",element:"elemento",arrow:"flecha",determinant:"determinante",rowvector:"fila vector",binomial:"binomial",squarematrix:"matriz cuadrada",multiline:"l\u00edneas m\u00faltiples",matrix:"matriz",vector:"vector",cases:"declaraci\u00f3n de caso",table:"mesa",unknown:"desconocida"},ENCLOSE:{longdiv:"divisi\u00f3n larga",actuarial:"s\u00edmbolo actuarial",radical:"ra\u00edz cuadrada",box:"caja",roundedbox:"caja redondeada",circle:"c\u00edrculo", +left:"barra vertical izquierda",right:"barra vertical derecha",top:"barra",bottom:"subbarra",updiagonalstrike:"tachadura",downdiagonalstrike:"tachadura",verticalstrike:"ponchado vertical",horizontalstrike:"cruce",madruwb:"s\u00edmbolo factorial \u00e1rabe",updiagonalarrow:"flecha diagonal",phasorangle:"\u00e1ngulo de fasores",unknown:"divisi\u00f3n larga"},NAVIGATE:{COLLAPSIBLE:"plegable",EXPANDABLE:"ampliable",LEVEL:"nivel"}};sre.L10n={};sre.L10n.setLocale=function(){var a=sre.L10n.getLocale();if(a)for(var b in a)sre.Messages[b]=a[b]};sre.L10n.getLocale=function(){return sre.Locale[sre.Engine.getInstance().locale]||sre.Locale.en};sre.AuditoryDescription=function(a){this.context=a.context||"";this.text=a.text||"";this.userValue=a.userValue||"";this.annotation=a.annotation||"";this.personality=a.personality||{}};sre.AuditoryDescription.create=function(a,b){a.text=sre.Grammar.getInstance().apply(a.text,b||{});return new sre.AuditoryDescription(a)};sre.AuditoryDescription.prototype.isEmpty=function(){return 0==this.context.length&&0==this.text.length&&0==this.userValue.length&&0==this.annotation.length}; +sre.AuditoryDescription.prototype.clone=function(){if(this.personality){var a={};for(var b in this.personality)a=this.personality[b]}return new sre.AuditoryDescription({context:this.context,text:this.text,userValue:this.userValue,annotation:this.annotation,personality:a})};sre.AuditoryDescription.prototype.toString=function(){return'AuditoryDescription(context="'+this.context+'" text="'+this.text+'" userValue="'+this.userValue+'" annotation="'+this.annotation+'")'}; +sre.AuditoryDescription.prototype.descriptionString=function(){return this.context&&this.text?this.context+" "+this.text:this.context||this.text};sre.AuditoryDescription.prototype.equals=function(a){return this.context==a.context&&this.text==a.text&&this.userValue==a.userValue&&this.annotation==a.annotation};sre.SpeechRule=function(a,b,c,d){this.name=a;this.dynamicCstr=b;this.precondition=c;this.action=d};sre.SpeechRule.prototype.toString=function(){return this.name+" | "+this.dynamicCstr.toString()+" | "+this.precondition.toString()+" ==> "+this.action.toString()};sre.SpeechRule.Type={NODE:"NODE",MULTI:"MULTI",TEXT:"TEXT",PERSONALITY:"PERSONALITY"}; +sre.SpeechRule.Type.fromString=function(a){switch(a){case "[n]":return sre.SpeechRule.Type.NODE;case "[m]":return sre.SpeechRule.Type.MULTI;case "[t]":return sre.SpeechRule.Type.TEXT;case "[p]":return sre.SpeechRule.Type.PERSONALITY;default:throw"Parse error: "+a;}}; +sre.SpeechRule.Type.toString=function(a){switch(a){case sre.SpeechRule.Type.NODE:return"[n]";case sre.SpeechRule.Type.MULTI:return"[m]";case sre.SpeechRule.Type.TEXT:return"[t]";case sre.SpeechRule.Type.PERSONALITY:return"[p]";default:throw"Unknown type error: "+a;}};sre.SpeechRule.Component=function(a){this.type=a.type;this.content=a.content;this.attributes=a.attributes;this.grammar=a.grammar}; +sre.SpeechRule.Component.fromString=function(a){var b={};b.type=sre.SpeechRule.Type.fromString(a.substring(0,3));a=a.slice(3).trim();if(!a)throw new sre.SpeechRule.OutputError("Missing content.");switch(b.type){case sre.SpeechRule.Type.TEXT:if('"'==a[0]){var c=sre.SpeechRule.splitString_(a,"\\(")[0].trim();if('"'!=c.slice(-1))throw new sre.SpeechRule.OutputError("Invalid string syntax.");b.content=c;a=a.slice(c.length).trim();-1==a.indexOf("(")&&(a="");break}case sre.SpeechRule.Type.NODE:case sre.SpeechRule.Type.MULTI:c= +a.indexOf(" ("),-1==c?(b.content=a.trim(),a=""):(b.content=a.substring(0,c).trim(),a=a.slice(c).trim())}a&&(a=sre.SpeechRule.Component.attributesFromString(a),a.grammar&&(b.grammar=a.grammar,delete a.grammar),Object.keys(a).length&&(b.attributes=a));return b=new sre.SpeechRule.Component(b)};sre.SpeechRule.Component.prototype.toString=function(){var a=""+sre.SpeechRule.Type.toString(this.type);a+=this.content?" "+this.content:"";var b=this.attributesToString();return a+(b?" "+b:"")}; +sre.SpeechRule.Component.grammarFromString=function(a){return sre.Grammar.parseInput(a)};sre.SpeechRule.Component.prototype.grammarToString=function(){return this.getGrammar().join(":")};sre.SpeechRule.Component.prototype.getGrammar=function(){var a=[],b;for(b in this.grammar)!0===this.grammar[b]?a.push(b):!1===this.grammar[b]?a.push("!"+b):a.push(b+"="+this.grammar[b]);return a}; +sre.SpeechRule.Component.attributesFromString=function(a){if("("!=a[0]||")"!=a.slice(-1))throw new sre.SpeechRule.OutputError("Invalid attribute expression: "+a);var b={};a=sre.SpeechRule.splitString_(a.slice(1,-1),",");for(var c=0,d=a.length;c "+this.getRule().action:this.constraint};sre.TrieNodeFactory={};sre.TrieNodeFactory.getNode=function(a,b,c){switch(a){case sre.TrieNode.Kind.ROOT:return new sre.RootTrieNode;case sre.TrieNode.Kind.DYNAMIC:return new sre.DynamicTrieNode(b);case sre.TrieNode.Kind.QUERY:return new sre.QueryTrieNode(b,c);case sre.TrieNode.Kind.BOOLEAN:return new sre.BooleanTrieNode(b,c);default:return null}};sre.RootTrieNode=function(){sre.AbstractTrieNode.call(this,"",function(){return!0});this.kind=sre.TrieNode.Kind.ROOT};goog.inherits(sre.RootTrieNode,sre.AbstractTrieNode); +sre.DynamicTrieNode=function(a){sre.AbstractTrieNode.call(this,a,function(b){return b===a});this.kind=sre.TrieNode.Kind.DYNAMIC};goog.inherits(sre.DynamicTrieNode,sre.AbstractTrieNode); +sre.TrieNodeFactory.constraintTest_=function(a){if(a.match(/^self::\*$/))return function(a){return!0};if(a.match(/^self::\w+$/)){var b=a.slice(6).toUpperCase();return function(a){return a.tagName&&sre.DomUtil.tagName(a)===b}}if(a.match(/^self::\w+:\w+$/)){a=a.split(":");var c=sre.XpathUtil.resolveNameSpace(a[2]);if(!c)return null;b=a[3].toUpperCase();return function(a){return a.localName&&a.localName.toUpperCase()===b&&a.namespaceURI===c}}if(a.match(/^@\w+$/)){var d=a.slice(1);return function(a){return a.hasAttribute&& +a.hasAttribute(d)}}if(a.match(/^@\w+="[\w\d ]+"$/)){a=a.split("=");d=a[0].slice(1);var e=a[1].slice(1,-1);return function(a){return a.hasAttribute&&a.hasAttribute(d)&&a.getAttribute(d)===e}}return a.match(/^@\w+!="[\w\d ]+"$/)?(a=a.split("!="),d=a[0].slice(1),e=a[1].slice(1,-1),function(a){return!a.hasAttribute||!a.hasAttribute(d)||a.getAttribute(d)!==e}):a.match(/^contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)$/)?(a=a.split('"'),e=a[1],function(a){return sre.Grammar.getInstance().getParameter(e)}): +a.match(/^not\(\s*contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)\s*\)$/)?(a=a.split('"'),e=a[1],function(a){return!sre.Grammar.getInstance().getParameter(e)}):null};sre.QueryTrieNode=function(a,b){this.store_=b;sre.StaticTrieNode.call(this,a,sre.TrieNodeFactory.constraintTest_(a));this.kind=sre.TrieNode.Kind.QUERY};goog.inherits(sre.QueryTrieNode,sre.StaticTrieNode);sre.QueryTrieNode.prototype.applyTest=function(a){return this.test?this.test(a):this.store_.applyQuery(a,this.constraint)===a}; +sre.BooleanTrieNode=function(a,b){this.store_=b;sre.StaticTrieNode.call(this,a,sre.TrieNodeFactory.constraintTest_(a));this.kind=sre.TrieNode.Kind.BOOLEAN};goog.inherits(sre.BooleanTrieNode,sre.StaticTrieNode);sre.BooleanTrieNode.prototype.applyTest=function(a){return this.test?this.test(a):this.store_.applyConstraint(a,this.constraint)};sre.Trie=function(a){this.store=a;this.root=sre.TrieNodeFactory.getNode(sre.TrieNode.Kind.ROOT,"",this.store)};sre.Trie.prototype.addRule=function(a){for(var b=this.root,c=a.dynamicCstr.getValues(),d=0,e=c.length;d=e&&1a)return String.fromCharCode(a);a-=65536;return String.fromCharCode((a>>10)+55296,(a&1023)+56320)};sre.MathMap=function(){this.store=sre.MathCompoundStore.getInstance();this.retrieveMaps()};goog.addSingletonGetter(sre.MathMap);sre.MathMap.toFetch_=0;sre.Engine.registerTest(function(){return sre.MathMap.getInstance()&&!sre.MathMap.toFetch_});sre.MathMap.prototype.stringify=function(){return JSON.stringify(this)};sre.MathMap.SYMBOLS_PATH_="symbols";sre.MathMap.FUNCTIONS_PATH_="functions";sre.MathMap.UNITS_PATH_="units";sre.MathMap.SYMBOLS_FILES_="greek-capital.js greek-small.js greek-scripts.js greek-symbols.js greek-mathfonts-bold.js greek-mathfonts-italic.js greek-mathfonts-sans-serif-bold.js hebrew_letters.js latin-lower-double-accent.js latin-lower-normal.js latin-lower-phonetic.js latin-lower-single-accent.js latin-rest.js latin-upper-double-accent.js latin-upper-normal.js latin-upper-single-accent.js latin-mathfonts-bold-fraktur.js latin-mathfonts-bold.js latin-mathfonts-bold-script.js latin-mathfonts-double-struck.js latin-mathfonts-fraktur.js latin-mathfonts-italic.js latin-mathfonts-monospace.js latin-mathfonts-sans-serif-bold.js latin-mathfonts-sans-serif-italic.js latin-mathfonts-sans-serif.js latin-mathfonts-script.js math_angles.js math_arrows.js math_characters.js math_delimiters.js math_digits.js math_geometry.js math_harpoons.js math_non_characters.js math_symbols.js math_whitespace.js other_stars.js".split(" "); +sre.MathMap.FUNCTIONS_FILES_=["algebra.js","elementary.js","hyperbolic.js","trigonometry.js"];sre.MathMap.UNITS_FILES_="energy.js length.js memory.js other.js speed.js temperature.js time.js volume.js weight.js".split(" "); +sre.MathMap.retrieveFiles=function(a,b,c){b=sre.BaseUtil.makePath(sre.SystemExternal.jsonPath+b);switch(sre.Engine.getInstance().mode){case sre.Engine.Mode.ASYNC:sre.MathMap.toFetch_+=a.length;for(var d=0,e;e=a[d];d++)sre.MathMap.fromFile_(b+e,function(a,b){sre.MathMap.toFetch_--;a||JSON.parse(b).forEach(function(a){c(a)})});break;case sre.Engine.Mode.HTTP:var f=sre.Engine.getInstance().isIE;sre.MathMap.toFetch_+=a.length;for(d=0;e=a[d];d++)f?sre.MathMap.getJsonIE_(e,c):sre.MathMap.getJsonAjax_(b+ +e,c);break;default:sre.MathMap.parseFiles(a.map(function(a){return b+a})).forEach(function(a){c(a)})}}; +sre.MathMap.prototype.retrieveMaps=function(){for(var a=0;a=d?setTimeout(function(){sre.MathMap.getJsonIE_(a,b,d++)},300):sre.MathMap.toFetch_--};sre.MathMap.fromFile_=function(a,b){return sre.SystemExternal.fs.readFile(a,"utf8",b)}; +sre.MathMap.loadFile=function(a){try{return sre.MathMap.readJSON_(a)}catch(b){console.log("Unable to load file: "+a+", error: "+b)}};sre.MathMap.loadFiles=function(a){return a.map(sre.MathMap.loadFile)};sre.MathMap.parseFiles=function(a){a=sre.MathMap.loadFiles(a);return[].concat.apply([],a.map(function(a){return JSON.parse(a)}))};sre.MathMap.readJSON_=function(a){return sre.SystemExternal.fs.readFileSync(a)}; +sre.MathMap.getJsonAjax_=function(a,b){var c=new XMLHttpRequest;c.onreadystatechange=function(){4===c.readyState&&(sre.MathMap.toFetch_--,200===c.status&&JSON.parse(c.responseText).forEach(function(a){b(a)}))};c.open("GET",a,!0);c.send()};sre.AbstractionRules=function(){sre.MathStore.call(this)};goog.inherits(sre.AbstractionRules,sre.MathStore);goog.addSingletonGetter(sre.AbstractionRules);sre.AbstractionRules.mathStore=sre.AbstractionRules.getInstance();sre.AbstractionRules.defineRule_=goog.bind(sre.AbstractionRules.mathStore.defineRule,sre.AbstractionRules.mathStore);sre.AbstractionRules.defineRuleAlias_=goog.bind(sre.AbstractionRules.mathStore.defineRulesAlias,sre.AbstractionRules.mathStore); +sre.AbstractionRules.defineSpecialisedRule_=goog.bind(sre.AbstractionRules.mathStore.defineSpecialisedRule,sre.AbstractionRules.mathStore);sre.AbstractionRules.defineUniqueRuleAlias_=goog.bind(sre.AbstractionRules.mathStore.defineUniqueRuleAlias,sre.AbstractionRules.mathStore); +sre.AbstractionRules.initAbstractionRules_=function(){(0,sre.AbstractionRules.defineRule_)("abstr-collapsed","mathspeak.default",'[t] "collapsed"; [n] . (grammar:collapsed)',"self::*","@alternative",'not(@alternative="summary")','not(contains(@grammar, "collapsed"))');(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.default",'[t] "long identifier"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.default", +'[t] "identifier"',"self::identifier",'@alternative="summary"',"@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.brief",'[t] "identifier"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-identifier","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.default",'[t] "long number"',"self::number","@alternative"); +(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.default",'[t] "number"',"self::number","@alternative",'@alternative="summary"');(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.brief",'[t] "number"',"self::number","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-mixed-number","mathspeak.default",'[t] "long mixed number"',"self::number","@alternative",'@role="mixed"'); +(0,sre.AbstractionRules.defineRule_)("abstr-mixed-number","mathspeak.brief",'[t] "mixed number"',"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-mixed-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-text","mathspeak.default",'[t] "text"',"self::text","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-function","mathspeak.default",'[t] "functional expression"',"self::function","@alternative","self::*"); +(0,sre.AbstractionRules.defineRule_)("abstr-function","mathspeak.brief",'[t] "function"',"self::function","@alternative","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-function","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-lim","mathspeak.default",'[t] "limit function"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionRules.defineRule_)("abstr-lim","mathspeak.brief",'[t] "lim"',"self::function","@alternative",'@role="limit function"'); +(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-lim","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-fraction","mathspeak.default",'[t] "fraction"',"self::fraction","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-fraction","mathspeak.brief",'[t] "frac"',"self::fraction","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-fraction","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-continued-fraction", +"mathspeak.default",'[t] "continued fraction"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-continued-fraction","mathspeak.brief",'[t] "continued frac"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-continued-fraction","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-sqrt", +"mathspeak.default",'[t] "square root"',"self::sqrt","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-sqrt-nested","mathspeak.default",'[t] "nested square root"',"self::sqrt","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt-nested", +"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-root","mathspeak.default",'[t] "root of index"; [n] children/*[1]; [t] "endindex"',"self::root","@alternative","following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionRules.defineRule_)("abstr-root","mathspeak.brief",'[t] "root"',"self::root","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-root", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "nested root of index"; [n] children/*[1]',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "nested root of index"; [n] children/*[1]; [t] "endindex"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root", +"following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.brief",'[t] "nested root"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-root-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-superscript","mathspeak.default",'[t] "power"',"self::superscript","@alternative","self::*", +"self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-superscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-subscript","mathspeak.default",'[t] "subscript"',"self::subscript","@alternative","self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subscript","mathspeak.default","mathspeak.brief"); +(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-subsup","mathspeak.default",'[t] "power with subscript"',"self::superscript","@alternative",'name(children/*[1])="subscript"',"self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subsup","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subsup","mathspeak.brief","mathspeak.sbrief"); +(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "with"; [t] count(./children/*); [t] "elements"',"self::infixop","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "with variable number of elements"',"self::infixop","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.brief", +"[t] @role (grammar:localRole)","self::infixop","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-infixop","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-addition","mathspeak.default",'[t] "sum with"; [t] count(./children/*); [t] "summands"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionRules.defineRule_)("abstr-addition","mathspeak.brief",'[t] "sum"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-addition", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-addition","mathspeak.default",'[t] "sum with variable number of summands"',"self::infixop","@alternative",'@role="addition"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-multiplication","mathspeak.default",'[t] "product with"; [t] count(./children/*); [t] "factors"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionRules.defineRule_)("abstr-multiplication", +"mathspeak.brief",'[t] "product"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-multiplication","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRuleAlias_)("abstr-multiplication","self::infixop","@alternative",'@role="implicit"');(0,sre.AbstractionRules.defineRule_)("abstr-var-multiplication","mathspeak.default",'[t] "product with variable number of factors"',"self::infixop","@alternative",'@role="multiplication"', +"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRuleAlias_)("abstr-var-multiplication","self::infixop","@alternative",'@role="implicit"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-vector","mathspeak.default",'[t] count(./children/*) ; [t] "dimensional vector"',"self::vector","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-vector","mathspeak.brief",'[t] "vector"',"self::vector", +"@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-vector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-vector","mathspeak.default",'[t] "n dimensional vector"',"self::vector","@alternative",'./children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-binomial","mathspeak.default",'[t] "binomial"',"self::vector","@alternative",'@role="binomial"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-binomial", +"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-determinant","mathspeak.default",'[t] count(./children/*); [t] "dimensional determinant"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionRules.defineRule_)("abstr-determinant","mathspeak.brief",'[t] "determinant"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-determinant", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-determinant","mathspeak.default",'[t] "n dimensional determinant"',"self::matrix","@alternative",'@role="determinant"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-squarematrix","mathspeak.default",'[t] count(./children/*); [t] "dimensional square matrix"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionRules.defineRule_)("abstr-squarematrix", +"mathspeak.brief",'[t] "square matrix"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-squarematrix","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-rowvector","mathspeak.default",'[t] count(./children/row/children/*); [t] "dimensional row vector"',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionRules.defineRule_)("abstr-rowvector","mathspeak.brief",'[t] "row vector"',"self::matrix", +"@alternative",'@role="rowvector"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-rowvector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "n dimensional row vector"',"self::matrix","@alternative",'@role="rowvector"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-matrix","mathspeak.default",'[t] count(children/*); [t] "by";[t] count(children/*[1]/children/*); [t] "matrix"', +"self::matrix","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-matrix","mathspeak.brief",'[t] "matrix"',"self::matrix","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-matrix","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "n by m dimensional matrix"',"self::matrix","@alternative",'./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-cases", +"mathspeak.default",'[t] "case statement";[t] "with"; [t] count(children/*); [t] "cases"',"self::cases","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-cases","mathspeak.brief",'[t] "case statement"',"self::cases","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-cases","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-cases","mathspeak.default",'[t] "case statement with variable number of cases"',"self::cases","@alternative",'./children/row/children/cell/children/punctuation[@role="ellipsis"]or ./children/line/children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionRules.defineRule_)("abstr-punctuated","mathspeak.default",'[n] content/*[1]; [t] "separated list";[t] "of length"; [t] count(children/*) - count(content/*)',"self::punctuated","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-punctuated","mathspeak.brief",'[n] content/*[1]; [t] "separated list"',"self::punctuated","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-punctuated","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-punctuated", +"mathspeak.default",'[n] content/*[1]; [t] "separated list";[t] "of variable length"',"self::punctuated","@alternative",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-bigop","mathspeak.default","[n] content/*[1]","self::bigop","@alternative","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-integral","mathspeak.default",'[t] "integral"',"self::*","@alternative",'@role="integral"');(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.default", +"[t] @role (grammar:localRole);","self::relseq","@alternative","count(./children/*)=2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.default",'[t] @role (grammar:localRole); [t] "sequence"; [t] "with"; [t] count(./children/*); [t] "elements"',"self::relseq","@alternative","count(./children/*)>2"); +(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.brief",'[t] @role (grammar:localRole); [t] "sequence"',"self::relseq","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-relation","mathspeak.default",'[t] @role (grammar:localRole); [t] "sequence"; [t] "with variable number of elements"',"self::relseq","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionRules.defineUniqueRuleAlias_)("abstr-relation","mathspeak.default","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionRules.defineUniqueRuleAlias_)("abstr-relation","mathspeak.brief","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRuleAlias_)("abstr-var-relation","self::multirel", +"@alternative",'@role!="unknown"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-multirel","mathspeak.default",'[t] "relation sequence"; [t] "with"; [t] count(./children/*); [t] "elements"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineRule_)("abstr-multirel","mathspeak.brief",'[t] "relation sequence"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-multirel", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-multirel","mathspeak.default",'[t] "relation sequence with variable number of elements"',"self::multirel","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-table","mathspeak.default",'[t] "table with"; [t] count(children/*); [t] "rows and";[t] count(children/*[1]/children/*); [t] "columns"',"self::table","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-table", +"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-table","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-line","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);',"self::line","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-row","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);[t] count(preceding-sibling::..); [t] "with";[t] count(children/*); [t] "columns"',"self::row","@alternative", +"*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-cell","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);',"self::cell","@alternative")};sre.AbstractionRules.getInstance().initializer=[sre.AbstractionRules.initAbstractionRules_];sre.AbstractionSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.AbstractionSpanish,sre.MathStore);goog.addSingletonGetter(sre.AbstractionSpanish);sre.AbstractionSpanish.mathStore=sre.AbstractionSpanish.getInstance();sre.AbstractionSpanish.defineRule_=goog.bind(sre.AbstractionSpanish.mathStore.defineRule,sre.AbstractionSpanish.mathStore);sre.AbstractionSpanish.defineRuleAlias_=goog.bind(sre.AbstractionSpanish.mathStore.defineRulesAlias,sre.AbstractionSpanish.mathStore); +sre.AbstractionSpanish.defineSpecialisedRule_=goog.bind(sre.AbstractionSpanish.mathStore.defineSpecialisedRule,sre.AbstractionSpanish.mathStore);sre.AbstractionSpanish.defineUniqueRuleAlias_=goog.bind(sre.AbstractionSpanish.mathStore.defineUniqueRuleAlias,sre.AbstractionSpanish.mathStore); +sre.AbstractionSpanish.initAbstractionSpanish_=function(){(0,sre.AbstractionSpanish.defineRule_)("abstr-collapsed","mathspeak.default",'[n] . (grammar:collapsed); [t] "plegado"',"self::*","@alternative",'not(@alternative="summary")','not(contains(@grammar, "collapsed"))');(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier","mathspeak.default",'[t] "identificador largo"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier", +"mathspeak.default",'[t] "identificador"',"self::identifier",'@alternative="summary"',"@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier","mathspeak.brief",'[t] "identificador"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-identifier","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.default",'[t] "n\u00famero largo"', +"self::number","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.default",'[t] "n\u00famero"',"self::number","@alternative",'@alternative="summary"');(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.brief",'[t] "n\u00famero"',"self::number","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-mixed-number","mathspeak.default",'[t] "n\u00famero largo mixto"', +"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionSpanish.defineRule_)("abstr-mixed-number","mathspeak.brief",'[t] "numero mixto"',"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-mixed-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-text","mathspeak.default",'[t] "texto"',"self::text","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-function","mathspeak.default",'[t] "expresi\u00f3n funcional"', +"self::function","@alternative","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-function","mathspeak.brief",'[t] "funci\u00f3n"',"self::function","@alternative","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-function","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-lim","mathspeak.default",'[t] "funci\u00f3n de l\u00edmite"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionSpanish.defineRule_)("abstr-lim", +"mathspeak.brief",'[t] "l\u00edmite"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-lim","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-fraction","mathspeak.default",'[t] "fracci\u00f3n"',"self::fraction","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-fraction","mathspeak.brief",'[t] "frac"',"self::fraction","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-fraction", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-continued-fraction","mathspeak.default",'[t] "fracci\u00f3n continua"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-continued-fraction","mathspeak.brief",'[t] "frac continua"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-continued-fraction", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-sqrt","mathspeak.default",'[t] "ra\u00edz cuadrada"',"self::sqrt","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-sqrt-nested","mathspeak.default",'[t] "ra\u00edz cuadrada anidada"',"self::sqrt","@alternative", +"children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-root","mathspeak.default",'[t] "ra\u00edz del \u00edndice"; [n] children/*[1]; [t] "finalizar de \u00edndice"',"self::root","@alternative","following-sibling::* or ancestor::*/following-sibling::*"); +(0,sre.AbstractionSpanish.defineRule_)("abstr-root","mathspeak.brief",'[t] "ra\u00edz"',"self::root","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-root","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "ra\u00edz anidada del \u00edndice"; [n] children/*[1]',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested", +"mathspeak.default",'[t] "ra\u00edz anidada del \u00edndice"; [n] children/*[1]; [t] "finalizar de \u00edndice"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root","following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested","mathspeak.brief",'[t] "ra\u00edz anidada"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-root-nested", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-superscript","mathspeak.default",'[t] "potencia"',"self::superscript","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-superscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-subscript","mathspeak.default", +'[t] "sub\u00edndice"',"self::subscript","@alternative","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-subsup","mathspeak.default",'[t] "potencia con sub\u00edndice"',"self::superscript","@alternative",'name(children/*[1])="subscript"',"self::*","self::*","self::*"); +(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subsup","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subsup","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "con"; [t] count(./children/*); [t] "elementos"',"self::infixop","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "con una cantidad variable de elementos"', +"self::infixop","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.brief","[t] @role (grammar:localRole)","self::infixop","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-infixop","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-addition","mathspeak.default",'[t] "suma con"; [t] count(./children/*); [t] "sumandos"',"self::infixop","@alternative", +'@role="addition"');(0,sre.AbstractionSpanish.defineRule_)("abstr-addition","mathspeak.brief",'[t] "suma"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-addition","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-addition","mathspeak.default",'[t] "suma con n\u00famero variable de sumandos"',"self::infixop","@alternative",'@role="addition"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionSpanish.defineRule_)("abstr-multiplication","mathspeak.default",'[t] "producto con"; [t] count(./children/*); [t] "factores"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionSpanish.defineRule_)("abstr-multiplication","mathspeak.brief",'[t] "producto"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-multiplication","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-multiplication", +"self::infixop","@alternative",'@role="implicit"');(0,sre.AbstractionSpanish.defineRule_)("abstr-var-multiplication","mathspeak.default",'[t] "producto con una cantidad variable de factores"',"self::infixop","@alternative",'@role="multiplication"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-var-multiplication","self::infixop","@alternative",'@role="implicit"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionSpanish.defineRule_)("abstr-vector","mathspeak.default",'[t] "vector de dimensi\u00f3n"; [t] count(./children/*)',"self::vector","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-vector","mathspeak.brief",'[t] "vector"',"self::vector","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-vector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-vector","mathspeak.default",'[t] "vector de dimensi\u00f3n n"',"self::vector", +"@alternative",'./children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-binomial","mathspeak.default",'[t] "binomio"',"self::vector","@alternative",'@role="binomial"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-determinant","mathspeak.default", +'[t] "determinante de dimensi\u00f3n"; [t] count(./children/*)',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-determinant","mathspeak.brief",'[t] "determinante"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-determinant","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-determinant","mathspeak.default",'[t] "determinante de dimensi\u00f3n n"', +"self::matrix","@alternative",'@role="determinant"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-squarematrix","mathspeak.default",'[t] "matriz cuadrada de dimensi\u00f3n"; [t] count(./children/*)',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionSpanish.defineRule_)("abstr-squarematrix","mathspeak.brief",'[t] "matriz cuadrada"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-squarematrix", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-rowvector","mathspeak.default",'[t] "vector fila de dimensi\u00f3n"; [t] count(./children/row/children/*) ',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionSpanish.defineRule_)("abstr-rowvector","mathspeak.brief",'[t] "vector fila"',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-rowvector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-matrix", +"mathspeak.default",'[t] "vector fila de dimensi\u00f3n n"',"self::matrix","@alternative",'@role="rowvector"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-matrix","mathspeak.default",'[t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [t] "matriz"',"self::matrix","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-matrix","mathspeak.brief",'[t] "matriz"',"self::matrix","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-matrix", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "matriz de dimensi\u00f3n n por m"',"self::matrix","@alternative",'./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-cases","mathspeak.default",'[t] "declaraci\u00f3n de caso";[t] "con"; [t] count(children/*); [t] "casos"',"self::cases","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-cases","mathspeak.brief", +'[t] "declaraci\u00f3n de caso"',"self::cases","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-cases","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-cases","mathspeak.default",'[t] "declaraci\u00f3n de caso con n\u00famero variable de casos"',"self::cases","@alternative",'./children/row/children/cell/children/punctuation[@role="ellipsis"]or ./children/line/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-punctuated", +"mathspeak.default",'[t] "lista separada por"; [n] content/*[1]; [t] "de longitud"; [t] count(children/*) - count(content/*)',"self::punctuated","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-punctuated","mathspeak.brief",'[t] "lista separada por"; [n] content/*[1]',"self::punctuated","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-punctuated","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-punctuated","mathspeak.default", +'[t] "lista separada por"; [n] content/*[1]','[t] "de longitud variable"',"self::punctuated","@alternative",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-bigop","mathspeak.default","[n] content/*[1]","self::bigop","@alternative","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-integral","mathspeak.default",'[t] "integral"',"self::*","@alternative",'@role="integral"');(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.default","[t] @role (grammar:localRole);", +"self::relseq","@alternative","count(./children/*)=2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.default",'[t] "secuencia de"; [t] @role (grammar:localRole); [t] "con"; [t] count(./children/*); [t] "elementos"',"self::relseq","@alternative","count(./children/*)>2"); +(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.brief",'[t] "secuencia de"; [t] @role (grammar:localRole)',"self::relseq","@alternative","count(./children/*)>2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-relation","mathspeak.default",'[t] "secuencia de"; [t] @role (grammar:localRole); [t] "con una cantidad variable de elementos"',"self::relseq","@alternative","count(./children/*)>2", +'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineUniqueRuleAlias_)("abstr-relation","mathspeak.default","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionSpanish.defineUniqueRuleAlias_)("abstr-relation","mathspeak.brief","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-var-relation", +"self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-multirel","mathspeak.default",'[t] "secuencia de relaci\u00f3n"; [t] "con"; [t] count(./children/*); [t] "elementos"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionSpanish.defineRule_)("abstr-multirel","mathspeak.brief",'[t] "secuencia de relaci\u00f3n"',"self::multirel","@alternative","count(./children/*)>2"); +(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-multirel","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-multirel","mathspeak.default",'[t] "secuencia de relaci\u00f3n con n\u00famero variable de elementos"',"self::multirel","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-table","mathspeak.default",'[t] "mesa con"; [t] count(children/*); [t] "filas y";[t] count(children/*[1]/children/*); [t] "columnas"', +"self::table","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-table","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-table","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-line","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);',"self::line","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-row","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);[t] count(preceding-sibling::..); [t] "con";[t] count(children/*); [t] "columnas"', +"self::row","@alternative","*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-cell","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);',"self::cell","@alternative")};sre.AbstractionSpanish.getInstance().initializer=[sre.AbstractionSpanish.initAbstractionSpanish_];sre.ClearspeakRules=function(){sre.MathStore.call(this)};goog.inherits(sre.ClearspeakRules,sre.MathStore);goog.addSingletonGetter(sre.ClearspeakRules);sre.ClearspeakRules.mathStore=sre.ClearspeakRules.getInstance();sre.ClearspeakRules.defineRule_=goog.bind(sre.ClearspeakRules.mathStore.defineRule,sre.ClearspeakRules.mathStore); +sre.ClearspeakRules.initClearspeakRules_=function(){(0,sre.ClearspeakRules.defineRule_)("fraction","mathspeak.clearspeak",'[t] "the fraction with numerator"; [n] children/*[1]; [p] (pause:300); [t] "and denominator"; [n] children/*[2]; [p] (pause:500)',"self::fraction");(0,sre.ClearspeakRules.defineRule_)("sqrt","mathspeak.clearspeak",'[t] "the square root of"; [n] children/*[1]; [p] (pause:500)',"self::sqrt")};sre.ClearspeakRules.getInstance().initializer=[sre.ClearspeakRules.initClearspeakRules_];sre.MathmlStoreUtil={};sre.MathmlStoreUtil.matchMathjaxToMathml=function(a){return sre.Engine.getInstance().alternativeHost.querySelector("#"+a.id)};sre.MathmlStoreUtil.retrieveMathjaxExtender=function(a){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))?[a]:[]};sre.MathmlStoreUtil.retrieveMathjaxLeaf=function(a){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))?[a]:[]}; +sre.MathmlStoreUtil.checkMathjaxTag=function(a,b){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))&&a.tagName.toUpperCase()==b?[a]:[]};sre.MathmlStoreUtil.checkMathjaxMunder=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MUNDER")};sre.MathmlStoreUtil.checkMathjaxMover=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MOVER")};sre.MathmlStoreUtil.checkMathjaxMsub=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MSUB")}; +sre.MathmlStoreUtil.checkMathjaxMsup=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MSUP")};sre.MathmlStoreUtil.mfencedSeparators=function(a,b){var c=sre.MathUtil.nextSeparatorFunction(b);return function(){return c?[sre.AuditoryDescription.create({text:c()},{translate:!0})]:[]}}; +sre.MathmlStoreUtil.contentIterator=function(a,b){var c=02",'./children/punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("multi-equality","emacspeak.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2");(0,sre.EmacspeakRules.defineRule_)("multi-equality","emacspeak.short",'[t] "equation sequence"; [m] children/* (sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2"); +(0,sre.EmacspeakRules.defineRule_)("equality","emacspeak.default",'[t] "equation"; [t] "left hand side"; [n] children/*[1];[p] (pause:200); [n] content/*[1] (pause:200);[t] "right hand side"; [n] children/*[2]','self::relseq[@role="equality"]',"count(./children/*)=2");(0,sre.EmacspeakRules.defineRule_)("simple-equality","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/identifier or ./children/number"); +(0,sre.EmacspeakRules.defineRule_)("simple-equality2","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/function or ./children/appl");(0,sre.EmacspeakRules.defineRule_)("relseq","emacspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.EmacspeakRules.defineRule_)("implicit","emacspeak.default","[m] children/*","self::infixop",'@role="implicit"', +'children/*[1][@role="latinletter"] or children/*[1][@role="greekletter"] or children/*[1][@role="otherletter"] or name(children/*[1])="number"','children/*[2][@role="latinletter"] or children/*[2][@role="greekletter"] or children/*[2][@role="otherletter"] or name(children/*[2])="number"');(0,sre.EmacspeakRules.defineRule_)("binary-operation","emacspeak.default","[p] (pause:100); [m] children/* (sepFunc:CTXFcontentIterator); [p] (pause:100);","self::infixop");(0,sre.EmacspeakRules.defineRule_)("variable-addition", +"emacspeak.default",'[t] "sum with variable number of summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(children/*)>2",'children/punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("prefix","emacspeak.default",'[t] "prefix"; [n] text(); [t] "of" (pause 150);[n] children/*[1]',"self::prefixop");(0,sre.EmacspeakRules.defineRule_)("negative","emacspeak.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'self::prefixop[@role="negative"]'); +(0,sre.EmacspeakRules.defineRule_)("postfix","emacspeak.default",'[n] children/*[1]; [t] "postfix"; [n] text() (pause 300)',"self::postfixop");(0,sre.EmacspeakRules.defineRule_)("identifier","emacspeak.default","[n] text()","self::identifier");(0,sre.EmacspeakRules.defineRule_)("number","emacspeak.default","[n] text()","self::number");(0,sre.EmacspeakRules.defineRule_)("font","mathspeak.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))', +'@font!="normal"');(0,sre.EmacspeakRules.defineRule_)("font-identifier-short","emacspeak.default","[t] @font; [n] CQFhideFont; [t] CSFshowFont","self::identifier","string-length(text())=1","@font",'@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")', +'@role!="unit"');(0,sre.EmacspeakRules.defineRule_)("font-identifier","mathspeak.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.EmacspeakRules.defineRule_)("omit-font","mathspeak.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.EmacspeakRules.defineRule_)("simple-fraction", +"emacspeak.default",'[p] (pause:100); [n] children/*[1] (rate:0.35); [t] "over"; [n] children/*[2] (rate:-0.35); [p] (pause:100)',"self::fraction",'name(children/*[1])="number" or name(children/*[1])="identifier"','name(children/*[2])="number" or name(children/*[2])="identifier"');(0,sre.EmacspeakRules.defineRule_)("vulgar-fraction","emacspeak.default","[t] CSFvulgarFraction","self::fraction",'@role="vulgar"',"CQFvulgarFractionSmall");(0,sre.EmacspeakRules.defineRule_)("fraction","emacspeak.default", +'[p] (pause:250); [n] children/*[1] (rate:0.35); [p] (pause:250); [t] "divided by"; [p] (pause:250); [n] children/*[2] (rate:-0.35); [p] (pause:250)',"self::fraction");(0,sre.EmacspeakRules.defineRule_)("superscript","emacspeak.default",'[n] children/*[1]; [t] "super"; [n] children/*[2] (pitch:0.35);[p] (pause:300)',"self::superscript");(0,sre.EmacspeakRules.defineRule_)("subscript","emacspeak.default",'[n] children/*[1]; [t] "sub"; [n] children/*[2] (pitch:-0.35);[p] (pause:300)',"self::subscript"); +(0,sre.EmacspeakRules.defineRule_)("ellipsis","emacspeak.default",'[p] (pause:200); [t] "ellipsis"; [p] (pause:300)',"self::punctuation",'self::punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("fence-single","emacspeak.default","[n] text()","self::punctuation",'self::punctuation[@role="openfence"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="closefence"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation", +'self::punctuation[@role="vbar"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="application"]');(0,sre.EmacspeakRules.defineRule_)("omit-empty","emacspeak.default","[p] (pause:100)","self::empty");(0,sre.EmacspeakRules.defineRule_)("fences-open-close","emacspeak.default","[p] (pause:200); [n] children/*[1] (rate:0.35); [p] (pause:200)","self::fenced",'@role="leftright"');(0,sre.EmacspeakRules.defineRule_)("fences-open-close-in-appl","emacspeak.default", +"[p] (pause:200); [n] children/*[1]; [p] (pause:200);",'self::fenced[@role="leftright"]',"./parent::children/parent::appl");(0,sre.EmacspeakRules.defineRule_)("fences-neutral","emacspeak.default",'[p] (pause:100); [t] "absolute value of"; [n] children/*[1];[p] (pause:350);',"self::fenced",'self::fenced[@role="neutral"]');(0,sre.EmacspeakRules.defineRule_)("omit-fences","emacspeak.default","[p] (pause:500); [n] children/*[1]; [p] (pause:200);","self::fenced");(0,sre.EmacspeakRules.defineRule_)("matrix", +"emacspeak.default",'[t] "matrix"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::matrix");(0,sre.EmacspeakRules.defineRule_)("matrix-row","emacspeak.default",'[m] children/* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)','self::row[@role="matrix"]');(0,sre.EmacspeakRules.defineRule_)("matrix-cell","emacspeak.default","[n] children/*[1]",'self::cell[@role="matrix"]');(0,sre.EmacspeakRules.defineRule_)("vector","emacspeak.default",'[t] "vector"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"element",pause:100)', +"self::vector");(0,sre.EmacspeakRules.defineRule_)("cases","emacspeak.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100)',"self::cases");(0,sre.EmacspeakRules.defineRule_)("cases-row","emacspeak.default","[m] children/*",'self::row[@role="cases"]');(0,sre.EmacspeakRules.defineRule_)("cases-cell","emacspeak.default","[n] children/*[1]",'self::cell[@role="cases"]');(0,sre.EmacspeakRules.defineRule_)("row","emacspeak.default",'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)', +"self::row");(0,sre.EmacspeakRules.defineRule_)("cases-end","emacspeak.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100);[t] "end cases"',"self::cases","following-sibling::*");(0,sre.EmacspeakRules.defineRule_)("multiline","emacspeak.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"line",pause:100)',"self::multiline");(0,sre.EmacspeakRules.defineRule_)("line","emacspeak.default","[m] children/*","self::line");(0,sre.EmacspeakRules.defineRule_)("table", +"emacspeak.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table");(0,sre.EmacspeakRules.defineRule_)("table-row","emacspeak.default","[m] children/* (pause:100)",'self::row[@role="table"]');(0,sre.EmacspeakRules.defineRuleAlias_)("cases-cell",'self::cell[@role="table"]');(0,sre.EmacspeakRules.defineRule_)("end-punct","emacspeak.default","[m] children/*; [p] (pause:300)","self::punctuated",'@role="endpunct"');(0,sre.EmacspeakRules.defineRule_)("start-punct", +"emacspeak.default","[n] content/*[1]; [p] (pause:200); [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.EmacspeakRules.defineRule_)("integral-punct","emacspeak.default","[n] children/*[1] (rate:0.2); [n] children/*[3] (rate:0.2)","self::punctuated",'@role="integral"');(0,sre.EmacspeakRules.defineRule_)("punctuated","emacspeak.default","[m] children/* (pause:100)","self::punctuated");(0,sre.EmacspeakRules.defineRule_)("function","emacspeak.default","[n] text()","self::function"); +(0,sre.EmacspeakRules.defineRule_)("appl","emacspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::appl");(0,sre.EmacspeakRules.defineRule_)("sum-only","emacspeak.default",'[n] children/*[1]; [t] "from"; [n] children/*[2]; [t] "to";[n] children/*[3]',"self::limboth",'@role="sum" or @role="integral"');(0,sre.EmacspeakRules.defineRule_)("limboth","emacspeak.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[t] "under"; [n] children/*[3]; [p] (pause 250);', +"self::limboth");(0,sre.EmacspeakRules.defineRule_)("limlower","emacspeak.default",'[n] children/*[1]; [t] "over"; [n] children/*[2];',"self::limlower");(0,sre.EmacspeakRules.defineRule_)("limupper","emacspeak.default",'[n] children/*[1]; [t] "under"; [n] children/*[2];',"self::limupper");(0,sre.EmacspeakRules.defineRule_)("largeop","emacspeak.default","[n] text()","self::largeop");(0,sre.EmacspeakRules.defineRule_)("bigop","emacspeak.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[p] (pause 250);', +"self::bigop");(0,sre.EmacspeakRules.defineRule_)("integral","emacspeak.default","[n] children/*[1]; [p] (pause 100); [n] children/*[2];[p] (pause 200); [n] children/*[3] (rate:0.35);","self::integral");(0,sre.EmacspeakRules.defineRule_)("sqrt","emacspeak.default",'[t] "Square root of"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::sqrt");(0,sre.EmacspeakRules.defineRule_)("square","emacspeak.default",'[n] children/*[1]; [t] "squared" (pitch:0.35); [p] (pause:200)',"self::superscript","children/*[2][text()=2]", +'name(./children/*[1])!="text"');(0,sre.EmacspeakRules.defineRule_)("cube","emacspeak.default",'[n] children/*[1]; [t] "cubed" (pitch:0.35); [p] (pause:200)',"self::superscript","children/*[2][text()=3]",'name(./children/*[1])!="text"');(0,sre.EmacspeakRules.defineRule_)("root","emacspeak.default",'[t] "root of order"; [n] children/*[1];[t] "over"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::root");(0,sre.EmacspeakRules.defineRule_)("text-no-mult","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] children/*[2]", +"self::infixop","children/text");(0,sre.EmacspeakRules.defineRule_)("text","emacspeak.default","[n] text(); [p] (pause:200)","self::text");(0,sre.EmacspeakRules.defineRule_)("unit","emacspeak.default","[t] text() (annotation:unit, preprocess)","self::identifier",'@role="unit"');(0,sre.EmacspeakRules.defineRule_)("unit-square","emacspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.EmacspeakRules.defineRule_)("unit-cubic", +"emacspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.EmacspeakRules.defineRule_)("reciprocal","emacspeak.default",'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]'); +(0,sre.EmacspeakRules.defineRule_)("reciprocal","emacspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.EmacspeakRules.defineRule_)("unit-combine","emacspeak.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.EmacspeakRules.defineRule_)("unit-divide","emacspeak.default", +'[n] children/*[1] (pitch:0.3); [t] "per"; [n] children/*[2] (pitch:-0.3)',"self::fraction",'@role="unit"')};sre.EmacspeakRules.getInstance().initializer=[sre.EmacspeakRules.initCustomFunctions_,sre.EmacspeakRules.initSemanticRules_];sre.MathmlStore=function(){sre.MathStore.call(this)};goog.inherits(sre.MathmlStore,sre.MathStore);goog.addSingletonGetter(sre.MathmlStore);sre.MathmlStore.prototype.defineMathmlRule=function(a,b,c){this.defineRule(a,b,c,"self::mathml:"+a)};sre.MathmlStore.prototype.defineDefaultMathmlRule=function(a,b){this.defineRule(a,"default.default",b,"self::mathml:"+a)};sre.MathmlStoreRules=function(){sre.MathmlStore.call(this)};goog.inherits(sre.MathmlStoreRules,sre.MathmlStore);goog.addSingletonGetter(sre.MathmlStoreRules);sre.MathmlStoreRules.mathStore=sre.MathmlStoreRules.getInstance();sre.MathmlStoreRules.defineDefaultMathmlRule_=goog.bind(sre.MathmlStoreRules.mathStore.defineDefaultMathmlRule,sre.MathmlStoreRules.mathStore);sre.MathmlStoreRules.defineRule_=goog.bind(sre.MathmlStoreRules.mathStore.defineRule,sre.MathmlStoreRules.mathStore); +sre.MathmlStoreRules.defineRuleAlias_=goog.bind(sre.MathmlStoreRules.mathStore.defineRuleAlias,sre.MathmlStoreRules.mathStore);sre.MathmlStoreRules.addContextFunction_=goog.bind(sre.MathmlStoreRules.mathStore.contextFunctions.add,sre.MathmlStoreRules.mathStore.contextFunctions);sre.MathmlStoreRules.addCustomQuery_=goog.bind(sre.MathmlStoreRules.mathStore.customQueries.add,sre.MathmlStoreRules.mathStore.customQueries); +sre.MathmlStoreRules.initCustomFunctions_=function(){(0,sre.MathmlStoreRules.addContextFunction_)("CTXFnodeCounter",sre.StoreUtil.nodeCounter);(0,sre.MathmlStoreRules.addContextFunction_)("CTXFmfSeparators",sre.MathmlStoreUtil.mfencedSeparators);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFextender",sre.MathmlStoreUtil.retrieveMathjaxExtender);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmunder",sre.MathmlStoreUtil.checkMathjaxMunder);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmover", +sre.MathmlStoreUtil.checkMathjaxMover);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmsub",sre.MathmlStoreUtil.checkMathjaxMsub);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmsup",sre.MathmlStoreUtil.checkMathjaxMsup);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFlookupleaf",sre.MathmlStoreUtil.retrieveMathjaxLeaf)}; +sre.MathmlStoreRules.initDefaultRules_=function(){(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("math","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("semantics","[n] ./*[1]");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mspace","[p] (pause:250)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mstyle","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mpadded","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("merror","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mphantom", +"[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mtext","[t] text(); [p] (pause:200)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mi","[n] text()");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mo","[n] text() (rate:-0.1)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mn","[n] text()");(0,sre.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,sre.MathmlStoreRules.defineRule_)("mi-variant","default.default","[t] @mathvariant; [n] text()","self::mathml:mi","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineRuleAlias_)("mi-variant","self::mathml:mn","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineRule_)("mo-variant","default.default","[t] @mathvariant; [n] text() (rate:-0.1)","self::mathml:mo","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("ms", +'[t] "string" (pitch:0.5, rate:0.5); [t] text()');(0,sre.MathmlStoreRules.defineRule_)("unit","default.default",'[t] text() (grammar:annotation="unit":translate)',"self::mathml:mi",'@class="MathML-Unit"');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msup",'[n] ./*[1]; [t] "super";[n] ./*[2] (pitch:0.35); [p] (pause:300)');(0,sre.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,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msub",'[n] ./*[1]; [t] "sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:300)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mover",'[n] ./*[2] (pitch:0.35); [p] (pause:200); [t] "over"; [n] ./*[1]; [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("munder",'[n] ./*[2] (pitch:-0.35); [t] "under"; [n] ./*[1]; [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("munderover",'[n] ./*[2] (pitch:-0.35); [t] "under and"; [n] ./*[3] (pitch:0.35); [t] "over"; [n] ./*[1]; [p] (pause:400)'); +(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mrow","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msqrt",'[t] "Square root of"; [m] ./* (rate:0.2); [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mroot",'[t] "root of order"; [n] ./*[2]; [t] "of";[n] ./*[1] (rate:0.2); [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mfrac",' [p] (pause:400); [n] ./*[1] (pitch:0.3); [t] "divided by"; [n] ./*[2] (pitch:-0.3); [p] (pause:400)');(0,sre.MathmlStoreRules.defineRule_)("mfrac", +"default.short",'[p] (pause:200); [t] "start frac";[n] ./*[1] (pitch:0.3); [t] "over"; [n] ./*[2] (pitch:-0.3); [p] (pause:400); [t] "end frac"',"self::mathml:mfrac");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default","[n] @open; [m] ./* (separator:@separators); [n] @close","self::mathml:mfenced","@open","@close","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:@separators); [n] @close', +"self::mathml:mfenced","not(@open)","@close","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[n] @open; [m] ./* (separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced", +"@open","not(@close)","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default","[n] @open; [m] ./*; [n] @close","self::mathml:mfenced","@separators","@open","@close",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[t] "(" (grammar:translate); [m] ./*; [n] @close',"self::mathml:mfenced","@separators","not(@open)","@close",'string(@separators)="" or string(@separators)=" "'); +(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[n] @open; [m] ./*; [t] ")" (grammar:translate)',"self::mathml:mfenced","@separators","@open","not(@close)",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[t] "(" (grammar:translate); [m] ./*; [t] ")" (grammar:translate)',"self::mathml:mfenced","@separators","not(@open)","not(@close)",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma", +"default.default",'[n] @open; [m] ./* (separator:"comma"); [n] @close',"self::mathml:mfenced","@open","@close","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:"comma"); [n] @close',"self::mathml:mfenced","not(@open)","@close","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[n] @open; [m] ./* (separator:"comma"); [t] ")" (grammar:translate)',"self::mathml:mfenced", +"@open","not(@close)","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:"comma"); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default","[n] @open; [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [n] @close","self::mathml:mfenced","@open","@close","string-length(string(@separators))>1"); +(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[t] "(" (grammar:translate); [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [n] @close',"self::mathml:mfenced","not(@open)","@close","string-length(string(@separators))>1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[n] @open; [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","@open","not(@close)","string-length(string(@separators))>1"); +(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[t] "(" (grammar:translate); [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","string-length(string(@separators))>1");(0,sre.MathmlStoreRules.defineRule_)("mtable","default.default",'[t] "matrix"; [m] ./* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::mathml:mtable");(0,sre.MathmlStoreRules.defineRule_)("mtr","default.default", +'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)',"self::mathml:mtr");(0,sre.MathmlStoreRules.defineRule_)("mtd","default.default","[m] ./*","self::mathml:mtd");(0,sre.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,sre.MathmlStoreRules.defineRule_)("mtable","default.short",'[t] "matrix"; [m] ./*',"self::mathml:mtable");(0,sre.MathmlStoreRules.defineRule_)("mtr", +"default.short","[m] ./*","self::mathml:mtr");(0,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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]")}; +sre.MathmlStoreRules.initMathjaxRules_=function(){(0,sre.MathmlStoreRules.defineRule_)("mj-math","default.default","[n] ./*[1]/*[1]/*[1]",'self::span[@class="math"]');(0,sre.MathmlStoreRules.defineRule_)("mj-leaf","default.default","[n] CQFlookupleaf",'self::span[@class="mi"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mo"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mn"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mtext"]'); +(0,sre.MathmlStoreRules.defineRule_)("mj-mo-ext","default.default","[n] CQFextender",'self::span[@class="mo"]',"./*[1]/*[1]/text()","./*[1]/*[2]/text()");(0,sre.MathmlStoreRules.defineRule_)("mj-texatom","default.default","[n] ./*[1]",'self::span[@class="texatom"]');(0,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.MathmlStoreRules.defineRule_)("mj-mfenced","default.default",'[t] "opening"; [n] ./*[1]; [m] ./*[position()>1 and position()1",'text()=translate(text(), "abcdefghijklmnopqrstuvwxyz\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", "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9")','""=translate(text(), "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9","")'); +(0,sre.MathspeakRules.defineRule_)("number-baseline","mathspeak.default",'[t] "Baseline"; [n] text()',"self::number",'not(contains(@grammar, "ignoreFont"))',"preceding-sibling::identifier",'preceding-sibling::*[1][@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline","mathspeak.default","mathspeak.brief",'[t] "Base"; [n] text()');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("number-baseline-font","mathspeak.default",'[t] "Baseline"; [t] @font; [n] . (grammar:ignoreFont=@font)',"self::number","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"',"preceding-sibling::identifier",'preceding-sibling::*[@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline-font","mathspeak.default", +"mathspeak.brief",'[t] "Base"; [n] text()');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline-font","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("identifier","mathspeak.default","[m] CQFspaceoutIdentifier","self::identifier","string-length(text())>1",'@role!="unit"','@role!="protected"','not(@font) or @font="normal" or contains(@grammar, "ignoreFont")');(0,sre.MathspeakRules.defineRule_)("identifier","mathspeak.default","[n] text()","self::identifier",'@role="protected"'); +(0,sre.MathspeakRules.defineRule_)("negative","mathspeak.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'@role="negative"',"children/identifier");(0,sre.MathspeakRules.defineRuleAlias_)("negative","self::prefixop",'@role="negative"',"children/number");(0,sre.MathspeakRules.defineRuleAlias_)("negative","self::prefixop",'@role="negative"','children/fraction[@role="vulgar"]');(0,sre.MathspeakRules.defineRule_)("negative","mathspeak.default",'[t] "minus"; [n] children/*[1]',"self::prefixop", +'@role="negative"');(0,sre.MathspeakRules.defineRule_)("prefix","mathspeak.default","[n] text(); [n] children/*[1]","self::prefixop");(0,sre.MathspeakRules.defineRule_)("postfix","mathspeak.default","[n] children/*[1]; [n] text()","self::postfixop");(0,sre.MathspeakRules.defineRule_)("binary-operation","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.MathspeakRules.defineRule_)("implicit","mathspeak.default","[m] children/*","self::infixop",'@role="implicit"'); +(0,sre.MathspeakRules.defineRuleAlias_)("implicit","self::infixop",'@role="leftsuper" or @role="leftsub" or @role="rightsuper" or @role="rightsub"');(0,sre.MathspeakRules.defineRule_)("subtraction","mathspeak.default",'[m] children/* (separator:"minus");',"self::infixop",'@role="subtraction"');(0,sre.MathspeakRules.defineRule_)("function-unknown","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl");(0,sre.MathspeakRules.defineRule_)("function-prefix","mathspeak.default","[n] children/*[1]; [n] children/*[2]", +"self::appl",'children/*[1][@role="prefix function"]');(0,sre.MathspeakRules.defineRule_)("fences-open-close","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="leftright"');(0,sre.MathspeakRules.defineRule_)("fences-neutral","mathspeak.default",'[t] "StartAbsoluteValue"; [n] children/*[1]; [t] "EndAbsoluteValue"',"self::fenced",'@role="neutral"','content/*[1][text()]="|" or content/*[1][text()]="\u2758" or content/*[1][text()]="\uff5c"');(0,sre.MathspeakRules.defineSpecialisedRule_)("fences-neutral", +"mathspeak.default","mathspeak.sbrief",'[t] "AbsoluteValue"; [n] children/*[1]; [t] "EndAbsoluteValue"');(0,sre.MathspeakRules.defineRule_)("fences-neutral","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="neutral"');(0,sre.MathspeakRules.defineRule_)("fences-set","mathspeak.default",'[t] "StartSet"; [n] children/*[1]; [t] "EndSet"',"self::fenced",'@role="leftright"','content/*[1][text()]="{"','content/*[2][text()]="}"',"count(children/*)=1",'not(name(../..)="appl")'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("fences-set","mathspeak.default","mathspeak.sbrief",'[t] "Set"; [n] children/*[1]; [t] "EndSet"');(0,sre.MathspeakRules.defineRule_)("text","mathspeak.default","[n] text()","self::text");(0,sre.MathspeakRules.defineRule_)("factorial","mathspeak.default",'[t] "factorial"',"self::punctuation",'text()="!"','name(preceding-sibling::*[1])!="text"');(0,sre.MathspeakRules.defineRule_)("minus","mathspeak.default",'[t] "minus"',"self::operator",'text()="-"');(0,sre.MathspeakRules.defineRule_)("single-prime", +"mathspeak.default",'[t] "prime"',"self::punctuated",'@role="prime"',"count(children/*)=1");(0,sre.MathspeakRules.defineRule_)("double-prime","mathspeak.default",'[t] "double-prime"',"self::punctuated",'@role="prime"',"count(children/*)=2");(0,sre.MathspeakRules.defineRule_)("triple-prime","mathspeak.default",'[t] "triple-prime"',"self::punctuated",'@role="prime"',"count(children/*)=3");(0,sre.MathspeakRules.defineRule_)("quadruple-prime","mathspeak.default",'[t] "quadruple-prime"',"self::punctuated", +'@role="prime"',"count(children/*)=4");(0,sre.MathspeakRules.defineRule_)("counted-prime","mathspeak.default",'[t] count(children/*); [t] "prime"',"self::punctuated",'@role="prime"');(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.default","[t] CSFopenFracVerbose; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracVerbose","self::fraction");(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.brief","[t] CSFopenFracBrief; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracBrief", +"self::fraction");(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.sbrief","[t] CSFopenFracSbrief; [n] children/*[1]; [t] CSFoverFracSbrief; [n] children/*[2]; [t] CSFcloseFracSbrief","self::fraction");(0,sre.MathspeakRules.defineRule_)("vulgar-fraction","mathspeak.default","[t] CSFvulgarFraction","self::fraction",'@role="vulgar"',"CQFvulgarFractionSmall");(0,sre.MathspeakRules.defineSpecialisedRule_)("vulgar-fraction","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("vulgar-fraction", +"mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("continued-fraction-outer","mathspeak.default",'[t] "ContinuedFraction"; [n] children/*[1];[t] "Over"; [n] children/*[2]',"self::fraction","not(ancestor::fraction)",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.default","mathspeak.brief",'[t] "ContinuedFrac"; [n] children/*[1];[t] "Over"; [n] children/*[2]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("continued-fraction-inner","mathspeak.default",'[t] "StartFraction"; [n] children/*[1];[t] "Over"; [n] children/*[2]',"self::fraction","ancestor::fraction",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.default","mathspeak.brief",'[t] "StartFrac"; [n] children/*[1];[t] "Over"; [n] children/*[2]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.brief","mathspeak.sbrief",'[t] "Frac"; [n] children/*[1];[t] "Over"; [n] children/*[2]');(0,sre.MathspeakRules.defineRule_)("sqrt","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[1]; [t] CSFcloseRadicalVerbose","self::sqrt");(0,sre.MathspeakRules.defineRule_)("sqrt","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakRules.defineRule_)("sqrt", +"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakRules.defineRule_)("root","mathspeak.default","[t] CSFindexRadicalVerbose; [n] children/*[1];[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root");(0,sre.MathspeakRules.defineRule_)("root","mathspeak.brief","[t] CSFindexRadicalBrief; [n] children/*[1];[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakRules.defineRule_)("root", +"mathspeak.sbrief","[t] CSFindexRadicalSbrief; [n] children/*[1];[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakRules.defineRule_)("limboth","mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]","self::limboth",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limlower","mathspeak.default", +"[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];","self::limlower",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limupper","mathspeak.default","[n] children/*[1]; [t] CSFoverscript; [n] children/*[2];","self::limupper",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limlower", +"self::underscore",'@role="limit function"','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limlower","self::underscore",'children/*[2][@role!="underaccent"]','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limupper","self::overscore",'children/*[2][@role!="overaccent"]', +'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limboth-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]; [t] "Endscripts"',"self::limboth");(0,sre.MathspeakRules.defineRule_)("limlower-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2]; [t] "Endscripts"',"self::limlower");(0,sre.MathspeakRules.defineRule_)("limupper-end", +"mathspeak.default",'[n] children/*[1]; [t] CSFoverscript; [n] children/*[2]; [t] "Endscripts"',"self::limupper");(0,sre.MathspeakRules.defineRuleAlias_)("limlower-end","self::underscore",'@role="limit function"');(0,sre.MathspeakRules.defineRuleAlias_)("limlower-end","self::underscore");(0,sre.MathspeakRules.defineRuleAlias_)("limupper-end","self::overscore");(0,sre.MathspeakRules.defineRule_)("integral","mathspeak.default","[n] children/*[1]; [n] children/*[2]; [n] children/*[3];","self::integral"); +(0,sre.MathspeakRules.defineRule_)("integral","mathspeak.default",'[n] children/*[1]; [t] "Subscript"; [n] children/*[2];[t] "Superscript"; [n] children/*[3]; [t] "Baseline";',"self::limboth",'@role="integral"');(0,sre.MathspeakRules.defineSpecialisedRule_)("integral","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "Sub"; [n] children/*[2];[t] "Sup"; [n] children/*[3]; [t] "Base";');(0,sre.MathspeakRules.defineSpecialisedRule_)("integral","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("bigop", +"mathspeak.default","[n] children/*[1]; [n] children/*[2];","self::bigop");(0,sre.MathspeakRules.defineRule_)("relseq","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.MathspeakRules.defineRule_)("equality","mathspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::relseq",'@role="equality"',"count(./children/*)=2");(0,sre.MathspeakRules.defineRule_)("multi-equality","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)", +"self::relseq",'@role="equality"',"count(./children/*)>2");(0,sre.MathspeakRules.defineRule_)("multrel","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::multirel");(0,sre.MathspeakRules.defineRule_)("subscript","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]","self::subscript");(0,sre.MathspeakRules.defineRule_)("subscript","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]","self::subscript");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("subscript-simple","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(./children/*[1])="identifier"','name(./children/*[2])="number"','./children/*[2][@role!="mixed"]','./children/*[2][@role!="othernumber"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-simple","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-simple","mathspeak.default", +"mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("subscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]; [t] CSFbaselineVerbose","self::subscript","following-sibling::*",'not(name(following-sibling::subscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="subscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and @role!="subsup"','not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]; [t] CSFbaselineBrief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::punctuated|ancestor::fraction",'not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])'); +(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","@embellished");(0,sre.MathspeakRules.defineRule_)("subscript-empty-sup","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="superscript"', +'name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("subscript-empty-sup","self::subscript",'name(children/*[2])="superscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakRules.defineRule_)("superscript","mathspeak.default", +"[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2]","self::superscript");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2]");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("superscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2];[t] CSFbaselineVerbose", +"self::superscript","following-sibling::*",'not(name(following-sibling::superscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="superscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])');(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2];[t] CSFbaselineBrief"); +(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::punctuated",'ancestor::*/following-sibling::* and not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])');(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::fraction|ancestor::fenced|ancestor::root|ancestor::sqrt"); +(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel","not(@embellished)",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","@embellished",'not(children/*[2][@role="prime"])');(0,sre.MathspeakRules.defineRule_)("superscript-empty-sub","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript", +'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="subscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("superscript-empty-sub","self::superscript",'name(children/*[2])="subscript"','name(children/*[2]/children/*[1])="empty"'); +(0,sre.MathspeakRules.defineRule_)("square","mathspeak.default",'[n] children/*[1]; [t] "squared"',"self::superscript","children/*[2]","children/*[2][text()=2]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))','name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])', +"not(@embellished)");(0,sre.MathspeakRules.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("cube","mathspeak.default",'[n] children/*[1]; [t] "cubed"',"self::superscript","children/*[2]","children/*[2][text()=3]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))', +'name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])',"not(@embellished)");(0,sre.MathspeakRules.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime", +"mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript","children/*[2]",'children/*[2][@role="prime"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime-subscript","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]","self::superscript", +'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime-subscript-baseline","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]; [t] CSFbaselineVerbose", +"self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"following-sibling::*");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]; [t] CSFbaselineBrief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("prime-subscript-baseline", +"self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)","@embellished");(0,sre.MathspeakRules.defineRule_)("prime-subscript-simple","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2];[n] children/*[1]/children/*[2]","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"','name(children/*[1]/children/*[1])="identifier"','name(children/*[1]/children/*[2])="number"','children/*[1]/children/*[2][@role!="mixed"]', +'children/*[1]/children/*[2][@role!="othernumber"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-simple","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-simple","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overscore","mathspeak.default",'[t] "ModifyingAbove"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("overscore", +"mathspeak.default","mathspeak.brief",'[t] "ModAbove"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("double-overscore","mathspeak.default",'[t] "ModifyingAbove Above"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]','name(children/*[1])="overscore"','children/*[1]/children/*[2][@role="overaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-overscore", +"mathspeak.default","mathspeak.brief",'[t] "ModAbove Above"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("underscore","mathspeak.default",'[t] "ModifyingBelow"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::underscore",'children/*[2][@role="underaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("underscore","mathspeak.default","mathspeak.brief", +'[t] "ModBelow"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("double-underscore","mathspeak.default",'[t] "ModifyingBelow Below"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::underscore",'children/*[2][@role="underaccent"]','name(children/*[1])="underscore"','children/*[1]/children/*[2][@role="underaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-underscore", +"mathspeak.default","mathspeak.brief",'[t] "ModBelow Below"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overbar","mathspeak.default",'[n] children/*[1]; [t] "overbar"',"self::overscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="overaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("overbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "overBar"');(0,sre.MathspeakRules.defineSpecialisedRule_)("overbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("underbar","mathspeak.default",'[n] children/*[1]; [t] "underbar"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("underbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "underBar"');(0,sre.MathspeakRules.defineSpecialisedRule_)("underbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overtilde","mathspeak.default",'[n] children/*[1]; [t] "overTilde"',"self::overscore",'children/*[2][@role="overaccent"]','@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("overtilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "overtilde"');(0,sre.MathspeakRules.defineSpecialisedRule_)("overtilde","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("undertilde","mathspeak.default",'[n] children/*[1]; [t] "underTilde"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("undertilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "undertilde"');(0,sre.MathspeakRules.defineSpecialisedRule_)("undertilde","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("matrix-fence","mathspeak.default","[n] children/*[1];","self::fenced","count(children/*)=1",'name(children/*[1])="matrix"');(0,sre.MathspeakRules.defineRule_)("matrix","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Matrix"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndMatrix"', +"self::matrix");(0,sre.MathspeakRules.defineRule_)("matrix","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Matrix"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndMatrix"',"self::matrix");(0,sre.MathspeakRules.defineRuleAlias_)("matrix","self::vector");(0,sre.MathspeakRules.defineRule_)("matrix-row","mathspeak.default",'[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column");[p] (pause: 200)',"self::row");(0,sre.MathspeakRules.defineRule_)("row-with-label", +"mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel"(pause: 200); [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content");(0,sre.MathspeakRules.defineRule_)("row-with-label","mathspeak.brief",'[t] "Label"; [n] content/*[1]; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("row-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("row-with-text-label", +"mathspeak.sbrief",'[t] "Label"; [t] CSFRemoveParens;[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakRules.defineRule_)("empty-row","mathspeak.default",'[t] "Blank"',"self::row","count(children/*)=0");(0,sre.MathspeakRules.defineRule_)("matrix-cell","mathspeak.default","[n] children/*[1]; [p] (pause: 300)","self::cell");(0,sre.MathspeakRules.defineRule_)("empty-cell","mathspeak.default",'[t] "Blank"; [p] (pause: 300)', +"self::cell","count(children/*)=0");(0,sre.MathspeakRules.defineRule_)("determinant","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndDeterminant"',"self::matrix",'@role="determinant"');(0,sre.MathspeakRules.defineSpecialisedRule_)("determinant","mathspeak.default","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndDeterminant"'); +(0,sre.MathspeakRules.defineRule_)("determinant-simple","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row",grammar:simpleDet); [t] "EndDeterminant"',"self::matrix",'@role="determinant"',"CQFdetIsSimple");(0,sre.MathspeakRules.defineSpecialisedRule_)("determinant-simple","mathspeak.default","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row",grammar:simpleDet); [t] "EndDeterminant"'); +(0,sre.MathspeakRules.defineRule_)("row-simple","mathspeak.default","[m] children/*;","self::row",'@role="determinant"','contains(@grammar, "simpleDet")');(0,sre.MathspeakRules.defineRule_)("layout","mathspeak.default",'[t] "StartLayout"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::table");(0,sre.MathspeakRules.defineRule_)("layout","mathspeak.sbrief",'[t] "Layout"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::table"); +(0,sre.MathspeakRules.defineRule_)("binomial","mathspeak.default",'[t] "StartBinomialOrMatrix"; [n] children/*[1]/children/*[1]; [t] "Choose"; [n] children/*[2]/children/*[1]; [t] "EndBinomialOrMatrix"',"self::vector",'@role="binomial"');(0,sre.MathspeakRules.defineRule_)("binomial","mathspeak.sbrief",'[t] "BinomialOrMatrix"; [n] children/*[1]/children/*[1]; [t] "Choose"; [n] children/*[2]/children/*[1]; [t] "EndBinomialOrMatrix"',"self::vector",'@role="binomial"');(0,sre.MathspeakRules.defineRule_)("cases", +"mathspeak.default",'[t] "StartLayout"; [t] "Enlarged"; [n] content/*[1];[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::cases");(0,sre.MathspeakRules.defineRule_)("cases","mathspeak.sbrief",'[t] "Layout"; [t] "Enlarged"; [n] content/*[1];[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::cases");(0,sre.MathspeakRules.defineRuleAlias_)("layout","self::multiline");(0,sre.MathspeakRules.defineRule_)("line","mathspeak.default","[m] children/*", +"self::line");(0,sre.MathspeakRules.defineRule_)("line-with-label","mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel" (pause: 200); [m] children/*',"self::line","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("line-with-label","mathspeak.default","mathspeak.brief",'[t] "Label"; [n] content/*[1] (pause: 200); [m] children/*');(0,sre.MathspeakRules.defineSpecialisedRule_)("line-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("line-with-text-label", +"mathspeak.sbrief",'[t] "Label"; [t] CSFRemoveParens; [m] children/*',"self::line","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakRules.defineRule_)("empty-line","mathspeak.default",'[t] "Blank"',"self::line","count(children/*)=0","not(content)");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("empty-line-with-label", +"mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel"(pause: 200); [t] "Blank"',"self::line","count(children/*)=0","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line-with-label","mathspeak.default","mathspeak.brief",'[t] "Label"; [n] content/*[1] (pause: 200); [t] "Blank"');(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("enclose","mathspeak.default",'[t] "StartEnclose"; [t] @role (grammar:localEnclose); [n] children/*[1]; [t] "EndEnclose"', +"self::enclose");(0,sre.MathspeakRules.defineRuleAlias_)("overbar","self::enclose",'@role="top"');(0,sre.MathspeakRules.defineRuleAlias_)("underbar","self::enclose",'@role="bottom"');(0,sre.MathspeakRules.defineRule_)("leftbar","mathspeak.default",'[t] "vertical-bar"; [n] children/*[1]',"self::enclose",'@role="left"');(0,sre.MathspeakRules.defineRule_)("rightbar","mathspeak.default",'[n] children/*[1]; [t] "vertical-bar"',"self::enclose",'@role="right"');(0,sre.MathspeakRules.defineRule_)("crossout", +"mathspeak.default",'[t] "CrossOut"; [n] children/*[1]; [t] "EndCrossOut"',"self::enclose",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineRule_)("cancel","mathspeak.default",'[t] "CrossOut"; [n] children/*[1]/children/*[1]; [t] "With"; [n] children/*[2]; [t] "EndCrossOut"',"self::overscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel","mathspeak.default", +"mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("cancel","self::underscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineRule_)("cancel-reverse","mathspeak.default",'[t] "CrossOut"; [n] children/*[2]/children/*[1]; [t] "With"; [n] children/*[1]; [t] "EndCrossOut"',"self::overscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("cancel-reverse","self::underscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakRules.defineRule_)("end-punct","mathspeak.default","[m] children/*","self::punctuated", +'@role="endpunct"');(0,sre.MathspeakRules.defineRule_)("start-punct","mathspeak.default","[n] content/*[1]; [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.MathspeakRules.defineRule_)("integral-punct","mathspeak.default","[n] children/*[1]; [n] children/*[3]","self::punctuated",'@role="integral"');(0,sre.MathspeakRules.defineRule_)("punctuated","mathspeak.default","[m] children/*","self::punctuated");(0,sre.MathspeakRules.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate)', +"self::identifier",'@role="unit"');(0,sre.MathspeakRules.defineRule_)("unit-square","mathspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.MathspeakRules.defineRule_)("unit-cubic","mathspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.MathspeakRules.defineRule_)("reciprocal","mathspeak.default", +'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.MathspeakRules.defineRule_)("reciprocal","mathspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]', +"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.MathspeakRules.defineRule_)("unit-combine","mathspeak.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.MathspeakRules.defineRule_)("unit-divide","mathspeak.default",'[n] children/*[1]; [t] "per"; [n] children/*[2]',"self::fraction",'@role="unit"')};sre.MathspeakRules.componentString_={2:"CSFbaseline",1:"CSFsubscript",0:"CSFsuperscript"};sre.MathspeakRules.childNumber_={4:2,3:3,2:1,1:4,0:5}; +sre.MathspeakRules.generateTensorRuleStrings_=function(a){var b=[],c="",d="";a=parseInt(a,2);for(var e=0;5>e;e++){var f="children/*["+sre.MathspeakRules.childNumber_[e]+"]";if(a&1){var g=sre.MathspeakRules.componentString_[e%3];c="[t] "+g+"Verbose; [n] "+f+";"+c;d="[t] "+g+"Brief; [n] "+f+";"+d}else b.unshift("name("+f+')="empty"');a>>=1}b.push(c);b.push(d);return b}; +sre.MathspeakRules.generateMathspeakTensorRules_=function(){for(var a="11111 11110 11101 11100 10111 10110 10101 10100 01111 01110 01101 01100".split(" "),b=0,c;c=a[b];b++){var d="tensor"+c;c=sre.MathspeakRules.generateTensorRuleStrings_(c);var e=c.pop(),f=c.pop(),g=[d,"mathspeak.default",f,"self::tensor"].concat(c),h=[d,"mathspeak.brief",e,"self::tensor"].concat(c);sre.MathspeakRules.defineRule_.apply(null,g);sre.MathspeakRules.defineRule_.apply(null,h);(0,sre.MathspeakRules.defineSpecialisedRule_)(d, +"mathspeak.brief","mathspeak.sbrief");g=sre.MathspeakRules.componentString_[2];f+="; [t]"+g+"Verbose";e+="; [t]"+g+"Brief";d+="-baseline";g=[d,"mathspeak.default",f,"self::tensor","following-sibling::*"].concat(c);h=[d,"mathspeak.brief",e,"self::tensor","following-sibling::*"].concat(c);sre.MathspeakRules.defineRule_.apply(null,g);sre.MathspeakRules.defineRule_.apply(null,h);(0,sre.MathspeakRules.defineSpecialisedRule_)(d,"mathspeak.brief","mathspeak.sbrief");d=[d,"self::tensor","not(following-sibling::*)", +"ancestor::fraction|ancestor::punctuated|ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::relseq|ancestor::multirel|@embellished"].concat(c);sre.MathspeakRules.defineRuleAlias_.apply(null,d)}};sre.MathspeakRules.getInstance().initializer=[sre.MathspeakRules.initCustomFunctions_,sre.MathspeakRules.initMathspeakRules_,sre.MathspeakRules.generateMathspeakTensorRules_];sre.MathspeakSpanishUtil={};sre.MathspeakSpanishUtil.europeanNumber=function(a){return a=a.replace(/,/g,"").replace(/\./g,",")};sre.Grammar.getInstance().setCorrection("euroNum",sre.MathspeakSpanishUtil.europeanNumber);sre.MathspeakSpanishUtil.onesOrdinals="primera segunda tercera cuarta quinta sexta s\u00e9ptima octava novena d\u00e9cima und\u00e9cima duod\u00e9cima".split(" ");sre.MathspeakSpanishUtil.tensOrdinals="d\u00e9cima vig\u00e9sima trig\u00e9sima cuadrag\u00e9sima quincuag\u00e9sima sexag\u00e9sima septuag\u00e9sima octog\u00e9sima nonag\u00e9sima".split(" "); +sre.MathspeakSpanishUtil.hundredsOrdinals="cent\u00e9sima ducent\u00e9sima tricent\u00e9sima cuadringent\u00e9sima quingent\u00e9sima sexcent\u00e9sima septingent\u00e9sima octingent\u00e9sima noningent\u00e9sima".split(" "); +sre.MathspeakSpanishUtil.numberToOrdinal=function(a){if(1999=a)return sre.MathspeakSpanishUtil.onesOrdinals[a-1];var b=[];1E3=a?b.push(sre.MathspeakSpanishUtil.onesOrdinals[a-1]):(c=Math.floor(a/10),0=b?[a]:[]}; +sre.MathspeakSpanishUtil.unitMultipliers=function(a,b){var c=0;return function(){var b=sre.AuditoryDescription.create({text:sre.MathspeakSpanishUtil.rightMostUnit(a[c])&&sre.MathspeakSpanishUtil.leftMostUnit(a[c+1])?"por":""},{});c++;return[b]}};sre.MathspeakSpanishUtil.SCRIPT_ELEMENTS=[sre.SemanticAttr.Type.SUPERSCRIPT,sre.SemanticAttr.Type.SUBSCRIPT,sre.SemanticAttr.Type.OVERSCORE,sre.SemanticAttr.Type.UNDERSCORE]; +sre.MathspeakSpanishUtil.rightMostUnit=function(a){for(;a;){if("unit"===a.getAttribute("role"))return!0;var b=a.tagName;a=sre.XpathUtil.evalXPath("children/*",a);a=-1!==sre.MathspeakSpanishUtil.SCRIPT_ELEMENTS.indexOf(b)?a[0]:a[a.length-1]}return!1};sre.MathspeakSpanishUtil.leftMostUnit=function(a){for(;a;){if("unit"===a.getAttribute("role"))return!0;a=sre.XpathUtil.evalXPath("children/*",a)[0]}return!1};sre.MathspeakSpanishUtil.makePlural=function(a){return/.*s$/.test(a)?a:a+"s"}; +sre.Grammar.getInstance().setCorrection("plural",sre.MathspeakSpanishUtil.makePlural);sre.MathspeakSpanishUtil.oneLeft=function(a){for(;a;){if("number"===a.tagName&&"1"===a.textContent)return[a];if("infixop"!==a.tagName||"multiplication"!==a.getAttribute("role")&&"implicit"!==a.getAttribute("role"))break;a=sre.XpathUtil.evalXPath("children/*",a)[0]}return[]};sre.MathspeakSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.MathspeakSpanish,sre.MathStore);goog.addSingletonGetter(sre.MathspeakSpanish);sre.MathspeakSpanish.prototype.evaluateDefault=function(a){return[sre.AuditoryDescription.create({text:a.textContent})]};sre.MathspeakSpanish.SPANISH_REGEXP="a-zA-Z\u00e1\u00e9\u00ed\u00f3\u00fa\u00f1\u00c1\u00c9\u00cd\u00d3\u00da\u00d1"; +sre.MathspeakSpanish.evaluateDefault=function(a){a=a.textContent;for(var b=[],c=new sre.SystemExternal.xmldom.DOMParser,d=new RegExp("^["+sre.MathspeakSpanish.SPANISH_REGEXP+"]+"),e=new RegExp("^[^"+sre.MathspeakSpanish.SPANISH_REGEXP+"]+");a;){var f=d.exec(a);if(f)var g=sre.Semantic.Type.TEXT,h=sre.Semantic.Role.PROTECTED;else f=e.exec(a),g=sre.Semantic.Type.UNKNOWN,h=sre.Semantic.Role.TEXT;g=c.parseFromString("<"+g+' role="'+h+'">'+f[0]+"","text/xml");b.push(g.documentElement);a=a.slice(f[0].length).trimLeft()}return b}; +sre.MathspeakSpanish.mathStore=sre.MathspeakSpanish.getInstance();sre.MathspeakSpanish.defineRule_=goog.bind(sre.MathspeakSpanish.mathStore.defineRule,sre.MathspeakSpanish.mathStore);sre.MathspeakSpanish.defineRuleAlias_=goog.bind(sre.MathspeakSpanish.mathStore.defineRulesAlias,sre.MathspeakSpanish.mathStore);sre.MathspeakSpanish.defineSpecialisedRule_=goog.bind(sre.MathspeakSpanish.mathStore.defineSpecialisedRule,sre.MathspeakSpanish.mathStore); +sre.MathspeakSpanish.addContextFunction_=goog.bind(sre.MathspeakSpanish.mathStore.contextFunctions.add,sre.MathspeakSpanish.mathStore.contextFunctions);sre.MathspeakSpanish.addCustomQuery_=goog.bind(sre.MathspeakSpanish.mathStore.customQueries.add,sre.MathspeakSpanish.mathStore.customQueries);sre.MathspeakSpanish.addCustomString_=goog.bind(sre.MathspeakSpanish.mathStore.customStrings.add,sre.MathspeakSpanish.mathStore.customStrings); +sre.MathspeakSpanish.initCustomFunctions_=function(){(0,sre.MathspeakSpanish.addCustomQuery_)("CQFspaceoutNumber",sre.MathspeakUtil.spaceoutNumber);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFspaceoutIdentifier",sre.MathspeakUtil.spaceoutIdentifier);(0,sre.MathspeakSpanish.addCustomString_)("CSFspaceoutText",sre.MathspeakUtil.spaceoutText);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracVerbose",sre.MathspeakUtil.openingFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracVerbose", +sre.MathspeakUtil.closingFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverFracVerbose",sre.MathspeakUtil.overFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracBrief",sre.MathspeakUtil.openingFractionBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracBrief",sre.MathspeakUtil.closingFractionBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracSbrief",sre.MathspeakUtil.openingFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracSbrief", +sre.MathspeakUtil.closingFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverFracSbrief",sre.MathspeakUtil.overFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalVerbose",sre.MathspeakUtil.openingRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseRadicalVerbose",sre.MathspeakUtil.closingRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalVerbose",sre.MathspeakUtil.indexRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalBrief", +sre.MathspeakUtil.openingRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseRadicalBrief",sre.MathspeakUtil.closingRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalBrief",sre.MathspeakUtil.indexRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalSbrief",sre.MathspeakUtil.openingRadicalSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalSbrief",sre.MathspeakUtil.indexRadicalSbrief);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFisSmallRoot", +sre.MathspeakSpanishUtil.smallRoot);(0,sre.MathspeakSpanish.addCustomString_)("CSFsuperscriptVerbose",sre.MathspeakUtil.superscriptVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFsuperscriptBrief",sre.MathspeakUtil.superscriptBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFsubscriptVerbose",sre.MathspeakUtil.subscriptVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFsubscriptBrief",sre.MathspeakUtil.subscriptBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFbaselineVerbose",sre.MathspeakUtil.baselineVerbose); +(0,sre.MathspeakSpanish.addCustomString_)("CSFbaselineBrief",sre.MathspeakUtil.baselineBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFunderscript",sre.MathspeakUtil.nestedUnderscore);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverscript",sre.MathspeakUtil.nestedOverscore);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFordinalCounterEs",sre.MathspeakSpanishUtil.ordinalCounter);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFcontentIterator",sre.MathmlStoreUtil.contentIterator);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFunitMultipliers", +sre.MathspeakSpanishUtil.unitMultipliers);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFdetIsSimple",sre.MathspeakUtil.determinantIsSimple);(0,sre.MathspeakSpanish.addCustomString_)("CSFRemoveParens",sre.MathspeakUtil.removeParens);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFoneLeft",sre.MathspeakSpanishUtil.oneLeft);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFresetNesting",sre.MathspeakUtil.resetNestingDepth);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFtextEvaluator",sre.MathspeakSpanish.evaluateDefault)}; +sre.MathspeakSpanish.initMathspeakSpanish_=function(){(0,sre.MathspeakSpanish.defineRule_)("stree","mathspeak.default","[n] ./*[1]","self::stree","CQFresetNesting");(0,sre.MathspeakSpanish.defineRule_)("unknown","mathspeak.default","[n] text()","self::unknown");(0,sre.MathspeakSpanish.defineRule_)("protected","mathspeak.default","[t] text()","self::*",'@role="protected"');(0,sre.MathspeakSpanish.defineRule_)("omit-empty","mathspeak.default","[p] (pause:100)","self::empty");(0,sre.MathspeakSpanish.defineRule_)("blank-empty", +"mathspeak.default",'[t] "espacio"',"self::empty","count(../*)=1",'name(../..)="cell" or name(../..)="line"');(0,sre.MathspeakSpanish.defineRule_)("font","mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"');(0,sre.MathspeakSpanish.defineRule_)("font-identifier-short","mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1", +"@font",'not(contains(@grammar, "ignoreFont"))','@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")','@role!="unit"');(0,sre.MathspeakSpanish.defineRule_)("font-identifier", +"mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.MathspeakSpanish.defineRule_)("omit-font","mathspeak.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.MathspeakSpanish.defineRule_)("number","mathspeak.default","[n] text() (grammar:euroNum)", +"self::number");(0,sre.MathspeakSpanish.defineRule_)("mixed-number","mathspeak.default",'[n] children/*[1]; [t] "m\u00e1s"; [n] children/*[2]; ',"self::number",'@role="mixed"');(0,sre.MathspeakSpanish.defineRule_)("number-with-chars","mathspeak.default",'[t] "n\u00famero"; [m] CQFspaceoutNumber',"self::number",'"" != translate(text(), "0123456789.,", "")','text() != translate(text(), "0123456789.,", "")');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-with-chars","mathspeak.default","mathspeak.brief", +'[t] "n\u00fam"; [m] CQFspaceoutNumber');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-with-chars","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("number-as-upper-word","mathspeak.default",'[t] "may\u00fascula"; [t] CSFspaceoutText',"self::number","string-length(text())>1",'text()=translate(text(), "abcdefghijklmnopqrstuvwxyz\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", "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9")', +'""=translate(text(), "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9","")');(0,sre.MathspeakSpanish.defineRule_)("number-baseline","mathspeak.default",'[t] "l\u00ednea base"; [n] text()',"self::number",'not(contains(@grammar, "ignoreFont"))',"preceding-sibling::identifier",'preceding-sibling::*[1][@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline","mathspeak.default","mathspeak.brief",'[t] "base"; [n] text()');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("number-baseline-font","mathspeak.default",'[t] "l\u00ednea base"; [t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)',"self::number","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"',"preceding-sibling::identifier", +'preceding-sibling::*[@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline-font","mathspeak.default","mathspeak.brief",'[t] "base"; [n] text()');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline-font","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("identifier","mathspeak.default","[m] CQFspaceoutIdentifier","self::identifier","string-length(text())>1", +'@role!="unit"','@role!="protected"','not(@font) or @font="normal" or contains(@grammar, "ignoreFont")');(0,sre.MathspeakSpanish.defineRule_)("identifier","mathspeak.default","[n] text()","self::identifier",'@role="protected"');(0,sre.MathspeakSpanish.defineRule_)("negative","mathspeak.default",'[t] "menos"; [n] children/*[1]',"self::prefixop",'@role="negative"',"children/identifier");(0,sre.MathspeakSpanish.defineRuleAlias_)("negative","self::prefixop",'@role="negative"',"children/number");(0,sre.MathspeakSpanish.defineRuleAlias_)("negative", +"self::prefixop",'@role="negative"','children/fraction[@role="vulgar"]');(0,sre.MathspeakSpanish.defineRule_)("negative","mathspeak.default",'[t] "menos"; [n] children/*[1]',"self::prefixop",'@role="negative"');(0,sre.MathspeakSpanish.defineRule_)("prefix","mathspeak.default","[n] text(); [n] children/*[1]","self::prefixop");(0,sre.MathspeakSpanish.defineRule_)("postfix","mathspeak.default","[n] children/*[1]; [n] text()","self::postfixop");(0,sre.MathspeakSpanish.defineRule_)("binary-operation", +"mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.MathspeakSpanish.defineRule_)("implicit","mathspeak.default","[m] children/*","self::infixop",'@role="implicit"');(0,sre.MathspeakSpanish.defineRuleAlias_)("implicit","self::infixop",'@role="leftsuper" or @role="leftsub" or @role="rightsuper" or @role="rightsub"');(0,sre.MathspeakSpanish.defineRule_)("subtraction","mathspeak.default",'[m] children/* (separator:"menos");',"self::infixop",'@role="subtraction"'); +(0,sre.MathspeakSpanish.defineRule_)("function-unknown","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl");(0,sre.MathspeakSpanish.defineRule_)("function-prefix","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl",'children/*[1][@role="prefix function"]');(0,sre.MathspeakSpanish.defineRule_)("fences-open-close","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="leftright"');(0,sre.MathspeakSpanish.defineRule_)("fences-neutral", +"mathspeak.default",'[t] "empezar valor absoluto"; [n] children/*[1]; [t] "finalizar valor absoluto"',"self::fenced",'@role="neutral"','content/*[1][text()]="|" or content/*[1][text()]="\u2758" or content/*[1][text()]="\uff5c"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("fences-neutral","mathspeak.default","mathspeak.sbrief",'[t] "valor absoluto"; [n] children/*[1]; [t] "finalizar valor absoluto"');(0,sre.MathspeakSpanish.defineRule_)("fences-neutral","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]", +"self::fenced",'@role="neutral"');(0,sre.MathspeakSpanish.defineRule_)("fences-set","mathspeak.default",'[t] "empezar llave"; [n] children/*[1]; [t] "finalizar llave"',"self::fenced",'@role="leftright"','content/*[1][text()]="{"','content/*[2][text()]="}"',"count(children/*)=1",'not(name(../..)="appl")');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("fences-set","mathspeak.default","mathspeak.sbrief",'[t] "llave"; [n] children/*[1]; [t] "finalizar llave"');(0,sre.MathspeakSpanish.defineRule_)("text", +"mathspeak.default","[m] CQFtextEvaluator","self::text");(0,sre.MathspeakSpanish.defineRule_)("factorial","mathspeak.default",'[t] "factorial"',"self::punctuation",'text()="!"','name(preceding-sibling::*[1])!="text"');(0,sre.MathspeakSpanish.defineRule_)("minus","mathspeak.default",'[t] "menos"',"self::operator",'text()="-"');(0,sre.MathspeakSpanish.defineRule_)("single-prime","mathspeak.default",'[t] "prima"',"self::punctuated",'@role="prime"',"count(children/*)=1");(0,sre.MathspeakSpanish.defineRule_)("double-prime", +"mathspeak.default",'[t] "doble prima"',"self::punctuated",'@role="prime"',"count(children/*)=2");(0,sre.MathspeakSpanish.defineRule_)("triple-prime","mathspeak.default",'[t] "triple prima"',"self::punctuated",'@role="prime"',"count(children/*)=3");(0,sre.MathspeakSpanish.defineRule_)("quadruple-prime","mathspeak.default",'[t] "cuadruplicar prima"',"self::punctuated",'@role="prime"',"count(children/*)=4");(0,sre.MathspeakSpanish.defineRule_)("counted-prime","mathspeak.default",'[t] count(children/*); [t] "prime"', +"self::punctuated",'@role="prime"');(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.default","[t] CSFopenFracVerbose; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracVerbose","self::fraction");(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.brief","[t] CSFopenFracBrief; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracBrief","self::fraction");(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.sbrief","[t] CSFopenFracSbrief; [n] children/*[1]; [t] CSFoverFracSbrief; [n] children/*[2]; [t] CSFcloseFracSbrief", +"self::fraction");(0,sre.MathspeakSpanish.defineRule_)("continued-fraction-outer","mathspeak.default",'[t] "fracci\u00f3n continua"; [n] children/*[1];[t] "entre"; [n] children/*[2]',"self::fraction","not(ancestor::fraction)",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.default","mathspeak.brief",'[t] "frac continua"; [n] children/*[1];[t] "entre"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-outer", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("continued-fraction-inner","mathspeak.default",'[t] "empezar fracci\u00f3n"; [n] children/*[1];[t] "entre"; [n] children/*[2]',"self::fraction","ancestor::fraction",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.default","mathspeak.brief",'[t] "empezar frac"; [n] children/*[1];[t] "entre"; [n] children/*[2]'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.brief","mathspeak.sbrief",'[t] "frac"; [n] children/*[1];[t] "entre"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineRule_)("sqrt","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[1]; [t] CSFcloseRadicalVerbose","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("sqrt","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("sqrt", +"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("root-small","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root-small","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root-small", +"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.default","[t] CSFindexRadicalVerbose; [n] children/*[1];[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root");(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.brief","[t] CSFindexRadicalBrief; [n] children/*[1];[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root"); +(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.sbrief","[t] CSFindexRadicalSbrief; [n] children/*[1];[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakSpanish.defineRule_)("limboth","mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]","self::limboth",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limlower", +"mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];","self::limlower",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limupper","mathspeak.default","[n] children/*[1]; [t] CSFoverscript; [n] children/*[2];","self::limupper",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower", +"self::underscore",'@role="limit function"','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower","self::underscore",'children/*[2][@role!="underaccent"]','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limupper","self::overscore",'children/*[2][@role!="overaccent"]', +'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limboth-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]; [t] "finalizar \u00edndices"',"self::limboth");(0,sre.MathspeakSpanish.defineRule_)("limlower-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2]; [t] "finalizar \u00edndices"',"self::limlower"); +(0,sre.MathspeakSpanish.defineRule_)("limupper-end","mathspeak.default",'[n] children/*[1]; [t] CSFoverscript; [n] children/*[2]; [t] "finalizar \u00edndices"',"self::limupper");(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower-end","self::underscore",'@role="limit function"');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower-end","self::underscore");(0,sre.MathspeakSpanish.defineRuleAlias_)("limupper-end","self::overscore");(0,sre.MathspeakSpanish.defineRule_)("integral","mathspeak.default", +"[n] children/*[1]; [n] children/*[2]; [n] children/*[3];","self::integral");(0,sre.MathspeakSpanish.defineRule_)("integral","mathspeak.default",'[n] children/*[1]; [t] "definida"; [t] "sub\u00edndice"; [n] children/*[2];[t] "super\u00edndice"; [n] children/*[3]; [t] "l\u00ednea base";',"self::limboth",'@role="integral"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("integral","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "Sub"; [n] children/*[2];[t] "Sup"; [n] children/*[3]; [t] "Base";'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("integral","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("bigop","mathspeak.default","[n] children/*[1]; [n] children/*[2];","self::bigop");(0,sre.MathspeakSpanish.defineRule_)("relseq","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.MathspeakSpanish.defineRule_)("equality","mathspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::relseq",'@role="equality"', +"count(./children/*)=2");(0,sre.MathspeakSpanish.defineRule_)("multi-equality","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq",'@role="equality"',"count(./children/*)>2");(0,sre.MathspeakSpanish.defineRule_)("multrel","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::multirel");(0,sre.MathspeakSpanish.defineRule_)("subscript","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]","self::subscript");(0,sre.MathspeakSpanish.defineRule_)("subscript", +"mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]","self::subscript");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("subscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]; [t] CSFbaselineVerbose","self::subscript","following-sibling::*",'not(name(following-sibling::subscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="subscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and @role!="subsup"', +'not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]; [t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)", +"ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::punctuated|ancestor::fraction",'not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])');(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)", +"@embellished");(0,sre.MathspeakSpanish.defineRule_)("subscript-empty-sup","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="superscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.brief", +"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-empty-sup","self::subscript",'name(children/*[2])="superscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineRule_)("superscript","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2]","self::superscript");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2]"); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("superscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2];[t] CSFbaselineVerbose","self::superscript","following-sibling::*",'not(name(following-sibling::superscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="superscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2];[t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::punctuated",'ancestor::*/following-sibling::* and not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])'); +(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::fraction|ancestor::fenced|ancestor::root|ancestor::sqrt");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel","not(@embellished)",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)", +"@embellished",'not(children/*[2][@role="prime"])');(0,sre.MathspeakSpanish.defineRule_)("superscript-empty-sub","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="subscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-empty-sub", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-empty-sub","self::superscript",'name(children/*[2])="subscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineRule_)("square","mathspeak.default",'[n] children/*[1]; [t] "al cuadrado"',"self::superscript","children/*[2]","children/*[2][text()=2]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))', +'name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])',"not(@embellished)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("cube", +"mathspeak.default",'[n] children/*[1]; [t] "al cubo"',"self::superscript","children/*[2]","children/*[2][text()=3]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))','name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])', +"not(@embellished)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript","children/*[2]",'children/*[2][@role="prime"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime", +"mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime-subscript","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]"); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime-subscript-baseline","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]; [t] CSFbaselineVerbose","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"following-sibling::*");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript-baseline", +"mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]; [t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("prime-subscript-baseline","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)","@embellished");(0,sre.MathspeakSpanish.defineRule_)("overscore", +"mathspeak.default",'[t] "modificando superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overscore","mathspeak.default","mathspeak.brief",'[t] "mod superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("double-overscore","mathspeak.default",'[t] "modificando superior superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]', +"self::overscore",'children/*[2][@role="overaccent"]','name(children/*[1])="overscore"','children/*[1]/children/*[2][@role="overaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-overscore","mathspeak.default","mathspeak.brief",'[t] "mod superior superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("underscore","mathspeak.default",'[t] "modificando inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]', +"self::underscore",'children/*[2][@role="underaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underscore","mathspeak.default","mathspeak.brief",'[t] "mod inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("double-underscore","mathspeak.default",'[t] "modificando inferior inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]',"self::underscore", +'children/*[2][@role="underaccent"]','name(children/*[1])="underscore"','children/*[1]/children/*[2][@role="underaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-underscore","mathspeak.default","mathspeak.brief",'[t] "mod inferior inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("overbar","mathspeak.default",'[n] children/*[1]; [t] "barra"', +"self::overscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="overaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "barra"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("underbar", +"mathspeak.default",'[n] children/*[1]; [t] "subbarra"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "subbarra"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underbar","mathspeak.brief","mathspeak.sbrief"); +(0,sre.MathspeakSpanish.defineRule_)("overtilde","mathspeak.default",'[n] children/*[1]; [t] "tilde"',"self::overscore",'children/*[2][@role="overaccent"]','@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overtilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "tilde"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overtilde", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("undertilde","mathspeak.default",'[n] children/*[1]; [t] "subtilde"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("undertilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "subtilde"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("undertilde", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("matrix-fence","mathspeak.default","[n] children/*[1];","self::fenced","count(children/*)=1",'name(children/*[1])="matrix"');(0,sre.MathspeakSpanish.defineRule_)("matrix","mathspeak.default",'[t] "empezar matriz"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar matriz"',"self::matrix");(0,sre.MathspeakSpanish.defineRule_)("matrix", +"mathspeak.sbrief",'[t] "matriz"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:" "); [t] "finalizar matriz"',"self::matrix");(0,sre.MathspeakSpanish.defineRuleAlias_)("matrix","self::vector");(0,sre.MathspeakSpanish.defineRule_)("matrix-row","mathspeak.default",'[m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna");[p] (pause: 200)',"self::row");(0,sre.MathspeakSpanish.defineRule_)("row-with-label","mathspeak.default", +'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content");(0,sre.MathspeakSpanish.defineRule_)("row-with-label","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1]; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("row-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("row-with-text-label", +"mathspeak.sbrief",'[t] "etiqueta"; [t] CSFRemoveParens;[m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakSpanish.defineRule_)("empty-row","mathspeak.default",'[t] "espacio"',"self::row","count(children/*)=0");(0,sre.MathspeakSpanish.defineRule_)("matrix-cell","mathspeak.default","[n] children/*[1]; [p] (pause: 300)","self::cell");(0,sre.MathspeakSpanish.defineRule_)("empty-cell","mathspeak.default",'[t] "espacio"; [p] (pause: 300)', +"self::cell","count(children/*)=0");(0,sre.MathspeakSpanish.defineRule_)("determinant","mathspeak.default",'[t] "empezar determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar determinante"',"self::matrix",'@role="determinant"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("determinant","mathspeak.default","mathspeak.sbrief",'[t] "determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar determinante"'); +(0,sre.MathspeakSpanish.defineRule_)("determinant-simple","mathspeak.default",'[t] "empezar determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila",grammar:simpleDet); [t] "finalizar determinante"',"self::matrix",'@role="determinant"',"CQFdetIsSimple");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("determinant-simple","mathspeak.default","mathspeak.sbrief",'[t] "determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila",grammar:simpleDet); [t] "finalizar determinante"'); +(0,sre.MathspeakSpanish.defineRule_)("row-simple","mathspeak.default","[m] children/*;","self::row",'@role="determinant"','contains(@grammar, "simpleDet")');(0,sre.MathspeakSpanish.defineRule_)("layout","mathspeak.default",'[t] "empezar esquema"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::table");(0,sre.MathspeakSpanish.defineRule_)("layout","mathspeak.sbrief",'[t] "esquema"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"', +"self::table");(0,sre.MathspeakSpanish.defineRule_)("binomial","mathspeak.default",'[t] "empezar binomial"; [n] children/*[1]/children/*[1]; [t] "en"; [n] children/*[2]/children/*[1]; [t] "finalizar binomial"',"self::vector",'@role="binomial"');(0,sre.MathspeakSpanish.defineRule_)("binomial","mathspeak.sbrief",'[t] "binomial"; [n] children/*[1]/children/*[1]; [t] "en"; [n] children/*[2]/children/*[1]; [t] "finalizar binomial"',"self::vector",'@role="binomial"');(0,sre.MathspeakSpanish.defineRule_)("cases", +"mathspeak.default",'[t] "empezar esquema"; [n] content/*[1]; [t] "alargada"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::cases");(0,sre.MathspeakSpanish.defineRule_)("cases","mathspeak.sbrief",'[t] "esquema"; [n] content/*[1]; [t] "alargada"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::cases");(0,sre.MathspeakSpanish.defineRuleAlias_)("layout","self::multiline");(0,sre.MathspeakSpanish.defineRule_)("line", +"mathspeak.default","[m] children/*","self::line");(0,sre.MathspeakSpanish.defineRule_)("line-with-label","mathspeak.default",'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [m] children/*',"self::line","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("line-with-label","mathspeak.default","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1] (pause: 200); [m] children/*');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("line-with-label","mathspeak.brief","mathspeak.sbrief"); +(0,sre.MathspeakSpanish.defineRule_)("line-with-text-label","mathspeak.sbrief",'[t] "etiqueta"; [t] CSFRemoveParens; [m] children/*',"self::line","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakSpanish.defineRule_)("empty-line","mathspeak.default",'[t] "espacio"',"self::line","count(children/*)=0","not(content)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line","mathspeak.brief", +"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("empty-line-with-label","mathspeak.default",'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [t] "espacio"',"self::line","count(children/*)=0","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line-with-label","mathspeak.default","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1] (pause: 200); [t] "espacio"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line-with-label","mathspeak.brief", +"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("enclose","mathspeak.default",'[t] "empezar rodear"; [t] @role (grammar:localEnclose); [n] children/*[1]; [t] "finalizar rodear"',"self::enclose");(0,sre.MathspeakSpanish.defineRuleAlias_)("overbar","self::enclose",'@role="top"');(0,sre.MathspeakSpanish.defineRuleAlias_)("underbar","self::enclose",'@role="bottom"');(0,sre.MathspeakSpanish.defineRule_)("leftbar","mathspeak.default",'[t] "barra vertical"; [n] children/*[1]',"self::enclose",'@role="left"'); +(0,sre.MathspeakSpanish.defineRule_)("rightbar","mathspeak.default",'[n] children/*[1]; [t] "barra vertical"',"self::enclose",'@role="right"');(0,sre.MathspeakSpanish.defineRule_)("crossout","mathspeak.default",'[t] "tachado"; [n] children/*[1]; [t] "finalizar tachado"',"self::enclose",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineRule_)("cancel","mathspeak.default",'[t] "tachado"; [n] children/*[1]/children/*[1]; [t] "con"; [n] children/*[2]; [t] "finalizar tachado"', +"self::overscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("cancel","self::underscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineRule_)("cancel-reverse", +"mathspeak.default",'[t] "tachado"; [n] children/*[2]/children/*[1]; [t] "con"; [n] children/*[1]; [t] "finalizar tachado"',"self::overscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("cancel-reverse", +"self::underscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakSpanish.defineRule_)("end-punct","mathspeak.default","[m] children/*","self::punctuated",'@role="endpunct"');(0,sre.MathspeakSpanish.defineRule_)("start-punct","mathspeak.default","[n] content/*[1]; [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.MathspeakSpanish.defineRule_)("integral-punct","mathspeak.default", +"[n] children/*[1]; [n] children/*[3]","self::punctuated",'@role="integral"');(0,sre.MathspeakSpanish.defineRule_)("punctuated","mathspeak.default","[m] children/*","self::punctuated");(0,sre.MathspeakSpanish.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate)',"self::identifier",'@role="unit"');(0,sre.MathspeakSpanish.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate:plural)',"self::identifier",'@role="unit"','not(contains(@grammar, "singularUnit"))'); +(0,sre.MathspeakSpanish.defineRule_)("unit-square","mathspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.MathspeakSpanish.defineRule_)("unit-cubic","mathspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.MathspeakSpanish.defineRule_)("reciprocal","mathspeak.default",'[t] "reciprocal"; [n] children/*[1]', +"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.MathspeakSpanish.defineRule_)("reciprocal","mathspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]", +'preceding-sibling::*[@role="unit"]');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[m] children/* (sepFunc:CTXFunitMultipliers)","self::infixop",'@role="unit"');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[m] children/* (sepFunc:CTXFunitMultipliers);","self::infixop",'@role="multiplication" or @role="implicit"','children/*[@role="unit"]');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[n] . (grammar:singularUnit);", +"self::infixop",'@role="multiplication" or @role="implicit"','children/*[@role="unit"]','not(contains(@grammar, "singularUnit"))',"CQFoneLeft");(0,sre.MathspeakSpanish.defineRule_)("unit-divide","mathspeak.default",'[n] children/*[1]; [t] "per"; [n] children/*[2]',"self::fraction",'@role="unit"')};sre.MathspeakSpanish.componentString_={2:"CSFbaseline",1:"CSFsubscript",0:"CSFsuperscript"};sre.MathspeakSpanish.childNumber_={4:2,3:3,2:1,1:4,0:5}; +sre.MathspeakSpanish.generateTensorRuleStrings_=function(a){var b=[],c="",d="";a=parseInt(a,2);for(var e=0;5>e;e++){var f="children/*["+sre.MathspeakSpanish.childNumber_[e]+"]";if(a&1){var g=sre.MathspeakSpanish.componentString_[e%3];c="[t] "+g+"Verbose; [n] "+f+";"+c;d="[t] "+g+"Brief; [n] "+f+";"+d}else b.unshift("name("+f+')="empty"');a>>=1}b.push(c);b.push(d);return b}; +sre.MathspeakSpanish.generateMathspeakTensorRules_=function(){for(var a="11111 11110 11101 11100 10111 10110 10101 10100 01111 01110 01101 01100".split(" "),b=0,c;c=a[b];b++){var d="tensor"+c;c=sre.MathspeakSpanish.generateTensorRuleStrings_(c);var e=c.pop(),f=c.pop(),g=[d,"mathspeak.default",f,"self::tensor"].concat(c),h=[d,"mathspeak.brief",e,"self::tensor"].concat(c);sre.MathspeakSpanish.defineRule_.apply(null,g);sre.MathspeakSpanish.defineRule_.apply(null,h);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(d, +"mathspeak.brief","mathspeak.sbrief");g=sre.MathspeakSpanish.componentString_[2];f+="; [t]"+g+"Verbose";e+="; [t]"+g+"Brief";d+="-baseline";g=[d,"mathspeak.default",f,"self::tensor","following-sibling::*"].concat(c);h=[d,"mathspeak.brief",e,"self::tensor","following-sibling::*"].concat(c);sre.MathspeakSpanish.defineRule_.apply(null,g);sre.MathspeakSpanish.defineRule_.apply(null,h);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(d,"mathspeak.brief","mathspeak.sbrief");d=[d,"self::tensor","not(following-sibling::*)", +"ancestor::fraction|ancestor::punctuated|ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::relseq|ancestor::multirel|@embellished"].concat(c);sre.MathspeakSpanish.defineRuleAlias_.apply(null,d)}};sre.MathspeakSpanish.getInstance().initializer=[sre.MathspeakSpanish.initCustomFunctions_,sre.MathspeakSpanish.initMathspeakSpanish_,sre.MathspeakSpanish.generateMathspeakTensorRules_];sre.PrefixRules=function(){sre.MathStore.call(this)};goog.inherits(sre.PrefixRules,sre.MathStore);goog.addSingletonGetter(sre.PrefixRules);sre.PrefixRules.mathStore=sre.PrefixRules.getInstance();sre.PrefixRules.defineRule_=goog.bind(sre.PrefixRules.mathStore.defineRule,sre.PrefixRules.mathStore);sre.PrefixRules.defineRuleAlias_=goog.bind(sre.PrefixRules.mathStore.defineRulesAlias,sre.PrefixRules.mathStore);sre.PrefixRules.addCustomString_=goog.bind(sre.PrefixRules.mathStore.customStrings.add,sre.PrefixRules.mathStore.customStrings); +sre.PrefixRules.ordinalPosition=function(a){var b=sre.DomUtil.toArray(a.parentNode.childNodes);return sre.MathspeakUtil.simpleOrdinal(b.indexOf(a)+1).toString()};sre.PrefixRules.initCustomFunctions_=function(){(0,sre.PrefixRules.addCustomString_)("CSFordinalPosition",sre.PrefixRules.ordinalPosition)}; +sre.PrefixRules.initPrefixRules_=function(){(0,sre.PrefixRules.defineRule_)("numerator","prefix.default",'[t] "Numerator"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("denominator","prefix.default",'[t] "Denominator"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("base","prefix.default",'[t] "Base"; [p] (pause:200)',"self::*",'name(../..)="superscript" or name(../..)="subscript" or name(../..)="overscore" or name(../..)="underscore" or name(../..)="tensor"', +"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("exponent","prefix.default",'[t] "Exponent"; [p] (pause:200)',"self::*",'name(../..)="superscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("subscript","prefix.default",'[t] "Subscript"; [p] (pause:200)',"self::*",'name(../..)="subscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("overscript","prefix.default",'[t] "Overscript"; [p] (pause:200)',"self::*",'name(../..)="overscore"',"count(preceding-sibling::*)=1"); +(0,sre.PrefixRules.defineRule_)("underscript","prefix.default",'[t] "Underscript"; [p] (pause:200)',"self::*",'name(../..)="underscore"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("radicand","prefix.default",'[t] "Radicand"; [p] (pause:200)',"self::*",'name(../..)="sqrt"');(0,sre.PrefixRules.defineRule_)("radicand","prefix.default",'[t] "Radicand"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("index","prefix.default", +'[t] "Index"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("leftsub","prefix.default",'[t] "Left Subscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsub"');(0,sre.PrefixRules.defineRule_)("leftsub","prefix.default",'[t] CSFordinalPosition; [t] "Left Subscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsub"');(0,sre.PrefixRules.defineRule_)("leftsuper", +"prefix.default",'[t] "Left Superscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsuper"');(0,sre.PrefixRules.defineRule_)("leftsuper","prefix.default",'[t] CSFordinalPosition; [t] "Left Superscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsuper"');(0,sre.PrefixRules.defineRule_)("rightsub","prefix.default",'[t] "Right Subscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsub"');(0,sre.PrefixRules.defineRule_)("rightsub", +"prefix.default",'[t] CSFordinalPosition; [t] "Right Subscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsub"');(0,sre.PrefixRules.defineRule_)("rightsuper","prefix.default",'[t] "Right Superscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsuper"');(0,sre.PrefixRules.defineRule_)("rightsuper","prefix.default",'[t] CSFordinalPosition; [t] "Right Superscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"', +'../../@role="rightsuper"');(0,sre.PrefixRules.defineRule_)("choice","prefix.default",'[t] "Choice Quantity"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("select","prefix.default",'[t] "Selection Quantity"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("row","prefix.default",'[t] CSFordinalPosition; [t] "Row"; [p] (pause:200)', +"self::row");(0,sre.PrefixRules.defineRuleAlias_)("row","self::line");(0,sre.PrefixRules.defineRule_)("cell","prefix.default",'[n] ../..; [t] CSFordinalPosition; [t] "Column"; [p] (pause:200)',"self::cell",'contains(@grammar,"depth")');(0,sre.PrefixRules.defineRule_)("cell","prefix.default",'[t] CSFordinalPosition; [t] "Column"; [p] (pause:200)',"self::cell")};sre.PrefixRules.getInstance().initializer=[sre.PrefixRules.initCustomFunctions_,sre.PrefixRules.initPrefixRules_];sre.PrefixSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.PrefixSpanish,sre.MathStore);goog.addSingletonGetter(sre.PrefixSpanish);sre.PrefixSpanish.mathStore=sre.PrefixSpanish.getInstance();sre.PrefixSpanish.defineRule_=goog.bind(sre.PrefixSpanish.mathStore.defineRule,sre.PrefixSpanish.mathStore);sre.PrefixSpanish.defineRuleAlias_=goog.bind(sre.PrefixSpanish.mathStore.defineRulesAlias,sre.PrefixSpanish.mathStore); +sre.PrefixSpanish.addCustomString_=goog.bind(sre.PrefixSpanish.mathStore.customStrings.add,sre.PrefixSpanish.mathStore.customStrings);sre.PrefixSpanish.ordinalPosition=function(a){var b=sre.DomUtil.toArray(a.parentNode.childNodes);return sre.MathspeakUtil.simpleOrdinal(b.indexOf(a)+1).toString()};sre.PrefixSpanish.initCustomFunctions_=function(){(0,sre.PrefixSpanish.addCustomString_)("CSFordinalPosition",sre.PrefixSpanish.ordinalPosition)}; +sre.PrefixSpanish.initPrefixSpanish_=function(){(0,sre.PrefixSpanish.defineRule_)("numerator","prefix.default",'[t] "numerador"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("denominator","prefix.default",'[t] "denominador"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("base","prefix.default",'[t] "base"; [p] (pause:200)',"self::*",'name(../..)="superscript" or name(../..)="subscript" or name(../..)="overscore" or name(../..)="underscore" or name(../..)="tensor"', +"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("exponent","prefix.default",'[t] "exponente"; [p] (pause:200)',"self::*",'name(../..)="superscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("subscript","prefix.default",'[t] "sub\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="subscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("overscript","prefix.default",'[t] "overscript"; [p] (pause:200)',"self::*",'name(../..)="overscore"', +"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("underscript","prefix.default",'[t] "underscript"; [p] (pause:200)',"self::*",'name(../..)="underscore"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("radicand","prefix.default",'[t] "radicand"; [p] (pause:200)',"self::*",'name(../..)="sqrt"');(0,sre.PrefixSpanish.defineRule_)("radicand","prefix.default",'[t] "radicand"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("index", +"prefix.default",'[t] "\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("leftsub","prefix.default",'[t] "sub\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsub"');(0,sre.PrefixSpanish.defineRule_)("leftsub","prefix.default",'[t] CSFordinalPosition; [t] "sub\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsub"'); +(0,sre.PrefixSpanish.defineRule_)("leftsuper","prefix.default",'[t] "super\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsuper"');(0,sre.PrefixSpanish.defineRule_)("leftsuper","prefix.default",'[t] CSFordinalPosition; [t] "super\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsuper"');(0,sre.PrefixSpanish.defineRule_)("rightsub","prefix.default",'[t] "derecha sub\u00edndice"; [p] (pause:200)', +"self::*",'name(../..)="tensor"','@role="rightsub"');(0,sre.PrefixSpanish.defineRule_)("rightsub","prefix.default",'[t] CSFordinalPosition; [t] "derecha sub\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsub"');(0,sre.PrefixSpanish.defineRule_)("rightsuper","prefix.default",'[t] "super\u00edndice derecho"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsuper"');(0,sre.PrefixSpanish.defineRule_)("rightsuper","prefix.default", +'[t] CSFordinalPosition; [t] "super\u00edndice derecho"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsuper"');(0,sre.PrefixSpanish.defineRule_)("choice","prefix.default",'[t] "cantidad de elecci\u00f3n"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("select","prefix.default",'[t] "cantidad de selecci\u00f3n"; [p] (pause:200)',"self::line",'@role="binomial"', +"parent::*/parent::vector","count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("row","prefix.default",'[t] CSFordinalPosition; [t] "fila"; [p] (pause:200)',"self::row");(0,sre.PrefixSpanish.defineRuleAlias_)("row","self::line");(0,sre.PrefixSpanish.defineRule_)("cell","prefix.default",'[n] ../..; [t] CSFordinalPosition; [t] "columna"; [p] (pause:200)',"self::cell",'contains(@grammar,"depth")');(0,sre.PrefixSpanish.defineRule_)("cell","prefix.default",'[t] CSFordinalPosition; [t] "columna"; [p] (pause:200)', +"self::cell")};sre.PrefixSpanish.getInstance().initializer=[sre.PrefixSpanish.initCustomFunctions_,sre.PrefixSpanish.initPrefixSpanish_];sre.SemanticTreeRules=function(){sre.MathStore.call(this)};goog.inherits(sre.SemanticTreeRules,sre.MathStore);goog.addSingletonGetter(sre.SemanticTreeRules);sre.SemanticTreeRules.mathStore=sre.SemanticTreeRules.getInstance();sre.SemanticTreeRules.defineRule_=goog.bind(sre.SemanticTreeRules.mathStore.defineRule,sre.SemanticTreeRules.mathStore);sre.SemanticTreeRules.defineRuleAlias_=goog.bind(sre.SemanticTreeRules.mathStore.defineRuleAlias,sre.SemanticTreeRules.mathStore); +sre.SemanticTreeRules.addContextFunction_=goog.bind(sre.SemanticTreeRules.mathStore.contextFunctions.add,sre.SemanticTreeRules.mathStore.contextFunctions);sre.SemanticTreeRules.initCustomFunctions_=function(){(0,sre.SemanticTreeRules.addContextFunction_)("CTXFnodeCounter",sre.StoreUtil.nodeCounter);(0,sre.SemanticTreeRules.addContextFunction_)("CTXFcontentIterator",sre.MathmlStoreUtil.contentIterator)}; +sre.SemanticTreeRules.initSemanticRules_=function(){(0,sre.SemanticTreeRules.defineRule_)("stree","default.default","[n] ./*[1]","self::stree");(0,sre.SemanticTreeRules.defineRule_)("multrel","default.default",'[t] "multirelation"; [m] children/* (sepFunc:CTXFcontentIterator)',"self::multirel");(0,sre.SemanticTreeRules.defineRule_)("variable-equality","default.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]', +"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("multi-equality","default.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2");(0,sre.SemanticTreeRules.defineRule_)("multi-equality","default.short",'[t] "equation sequence"; [m] children/* (sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2"); +(0,sre.SemanticTreeRules.defineRule_)("equality","default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2");(0,sre.SemanticTreeRules.defineRule_)("simple-equality","default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/identifier or ./children/number");(0,sre.SemanticTreeRules.defineRule_)("simple-equality2", +"default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/function or ./children/appl");(0,sre.SemanticTreeRules.defineRule_)("relseq","default.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.SemanticTreeRules.defineRule_)("binary-operation","default.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.SemanticTreeRules.defineRule_)("variable-addition", +"default.default",'[t] "sum with variable number of summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(children/*)>2",'children/punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("multi-addition","default.default",'[t] "sum with"; [t] count(./children/*); [t] "summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(./children/*)>2");(0,sre.SemanticTreeRules.defineRule_)("prefix", +"default.default",'[t] "prefix"; [n] text(); [t] "of" (pause 150);[n] children/*[1]',"self::prefixop");(0,sre.SemanticTreeRules.defineRule_)("negative","default.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'self::prefixop[@role="negative"]');(0,sre.SemanticTreeRules.defineRule_)("postfix","default.default",'[n] children/*[1]; [t] "postfix"; [n] text() (pause 300)',"self::postfixop");(0,sre.SemanticTreeRules.defineRule_)("identifier","default.default","[n] text()","self::identifier"); +(0,sre.SemanticTreeRules.defineRule_)("number","default.default","[n] text()","self::number");(0,sre.SemanticTreeRules.defineRule_)("mixed-number","default.default",'[n] children/*[1]; [t] "and"; [n] children/*[2]; ',"self::number",'@role="mixed"');(0,sre.SemanticTreeRules.defineRule_)("font","default.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"');(0,sre.SemanticTreeRules.defineRule_)("font-identifier-short","default.default", +"[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")', +'@role!="unit"');(0,sre.SemanticTreeRules.defineRule_)("font-identifier","default.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.SemanticTreeRules.defineRule_)("omit-font","default.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.SemanticTreeRules.defineRule_)("fraction", +"default.default",'[p] (pause:250); [n] children/*[1] (rate:0.35); [p] (pause:250); [t] "divided by"; [n] children/*[2] (rate:-0.35); [p] (pause:400)',"self::fraction");(0,sre.SemanticTreeRules.defineRule_)("superscript","default.default",'[n] children/*[1]; [t] "super"; [n] children/*[2] (pitch:0.35);[p] (pause:300)',"self::superscript");(0,sre.SemanticTreeRules.defineRule_)("subscript","default.default",'[n] children/*[1]; [t] "sub"; [n] children/*[2] (pitch:-0.35);[p] (pause:300)',"self::subscript"); +(0,sre.SemanticTreeRules.defineRule_)("ellipsis","default.default",'[p] (pause:200); [t] "ellipsis"; [p] (pause:300)',"self::punctuation",'self::punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("fence-single","default.default","[n] text()","self::punctuation",'self::punctuation[@role="openfence"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="closefence"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation", +'self::punctuation[@role="vbar"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="application"]');(0,sre.SemanticTreeRules.defineRule_)("omit-empty","default.default","[p] (pause:100)","self::empty");(0,sre.SemanticTreeRules.defineRule_)("fences-open-close","default.default","[p] (pause:100); [n] content/*[1]; [n] children/*[1]; [n] content/*[2]; [p] (pause:100)","self::fenced",'@role="leftright"');(0,sre.SemanticTreeRules.defineRule_)("fences-open-close-in-appl", +"default.default","[p] (pause:200); [n] children/*[1]; [p] (pause:200);",'self::fenced[@role="leftright"]',"./parent::children/parent::appl");(0,sre.SemanticTreeRules.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,sre.SemanticTreeRules.defineRule_)("omit-fences","default.default","[p] (pause:500); [n] children/*[1]; [p] (pause:200);","self::fenced");(0,sre.SemanticTreeRules.defineRule_)("matrix", +"default.default",'[t] "matrix"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::matrix");(0,sre.SemanticTreeRules.defineRule_)("matrix-row","default.default",'[m] children/* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)','self::row[@role="matrix"]');(0,sre.SemanticTreeRules.defineRule_)("matrix-cell","default.default","[n] children/*[1]",'self::cell[@role="matrix"]');(0,sre.SemanticTreeRules.defineRule_)("vector","default.default",'[t] "vector"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"element",pause:100)', +"self::vector");(0,sre.SemanticTreeRules.defineRule_)("cases","default.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100)',"self::cases");(0,sre.SemanticTreeRules.defineRule_)("cases-row","default.default","[m] children/*",'self::row[@role="cases"]');(0,sre.SemanticTreeRules.defineRule_)("cases-cell","default.default","[n] children/*[1]",'self::cell[@role="cases"]');(0,sre.SemanticTreeRules.defineRule_)("row","default.default",'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)', +"self::row");(0,sre.SemanticTreeRules.defineRule_)("cases-end","default.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100);[t] "end cases"',"self::cases","following-sibling::*");(0,sre.SemanticTreeRules.defineRule_)("multiline","default.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"line",pause:100)',"self::multiline");(0,sre.SemanticTreeRules.defineRule_)("multiline-ineq","default.default",'[t] "multiline inequality";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)', +"self::multiline",'@role="inequality"');(0,sre.SemanticTreeRules.defineRule_)("line","default.default","[m] children/*","self::line");(0,sre.SemanticTreeRules.defineRule_)("table","default.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table");(0,sre.SemanticTreeRules.defineRule_)("table-ineq","default.default",'[t] "multiline inequality";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table",'@role="inequality"'); +(0,sre.SemanticTreeRules.defineRule_)("table-row","default.default","[m] children/* (pause:100)",'self::row[@role="table"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("cases-cell",'self::cell[@role="table"]');(0,sre.SemanticTreeRules.defineRule_)("empty-cell","mathspeak.default",'[t] "Blank"',"self::cell","count(children/*)=0");(0,sre.SemanticTreeRules.defineRule_)("end-punct","default.default","[m] children/*; [p] (pause:300)","self::punctuated",'@role="endpunct"');(0,sre.SemanticTreeRules.defineRule_)("start-punct", +"default.default","[n] content/*[1]; [p] (pause:200); [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.SemanticTreeRules.defineRule_)("integral-punct","default.default","[n] children/*[1] (rate:0.2); [n] children/*[3] (rate:0.2)","self::punctuated",'@role="integral"');(0,sre.SemanticTreeRules.defineRule_)("punctuated","default.default","[m] children/* (pause:100)","self::punctuated");(0,sre.SemanticTreeRules.defineRule_)("function","default.default","[n] text()","self::function"); +(0,sre.SemanticTreeRules.defineRule_)("appl","default.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::appl");(0,sre.SemanticTreeRules.defineRule_)("sum-only","default.default",'[n] children/*[1]; [t] "from"; [n] children/*[2]; [t] "to";[n] children/*[3]',"self::limboth",'self::limboth[@role="sum"]');(0,sre.SemanticTreeRules.defineRule_)("limboth","default.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[t] "under"; [n] children/*[3]; [p] (pause 250);', +"self::limboth");(0,sre.SemanticTreeRules.defineRule_)("limlower","default.default",'[n] children/*[1]; [t] "over"; [n] children/*[2];',"self::limlower");(0,sre.SemanticTreeRules.defineRule_)("limupper","default.default",'[n] children/*[1]; [t] "under"; [n] children/*[2];',"self::limupper");(0,sre.SemanticTreeRules.defineRule_)("largeop","default.default","[n] text()","self::largeop");(0,sre.SemanticTreeRules.defineRule_)("bigop","default.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[p] (pause 250);', +"self::bigop");(0,sre.SemanticTreeRules.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,sre.SemanticTreeRules.defineRule_)("sqrt","default.default",'[t] "Square root of"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::sqrt");(0,sre.SemanticTreeRules.defineRule_)("square","default.default",'[n] children/*[1]; [t] "squared" (pitch:0.35); [p] (pause:300)',"self::superscript", +"children/*[2][text()=2]",'name(./children/*[1])!="text"');(0,sre.SemanticTreeRules.defineRule_)("cube","default.default",'[n] children/*[1]; [t] "cubed" (pitch:0.35); [p] (pause:300)',"self::superscript","children/*[2][text()=3]",'name(./children/*[1])!="text"');(0,sre.SemanticTreeRules.defineRule_)("root","default.default",'[t] "root of order"; [n] children/*[1];[t] "over"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::root");(0,sre.SemanticTreeRules.defineRule_)("text","default.default", +"[n] text(); [p] (pause:200)","self::text");(0,sre.SemanticTreeRules.defineRule_)("unit","default.default",'[t] text() (grammar:annotation="unit":translate)',"self::identifier",'@role="unit"');(0,sre.SemanticTreeRules.defineRule_)("unit-square","default.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.SemanticTreeRules.defineRule_)("unit-cubic","default.default",'[t] "cubic"; [n] children/*[1]',"self::superscript", +'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.SemanticTreeRules.defineRule_)("reciprocal","default.default",'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.SemanticTreeRules.defineRule_)("reciprocal","default.default", +'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.SemanticTreeRules.defineRule_)("unit-combine","default.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.SemanticTreeRules.defineRule_)("unit-divide","default.default",'[n] children/*[1] (pitch:0.3); [t] "per"; [n] children/*[2] (pitch:-0.3)', +"self::fraction",'@role="unit"')};sre.SemanticTreeRules.getInstance().initializer=[sre.SemanticTreeRules.initCustomFunctions_,sre.SemanticTreeRules.initSemanticRules_];sre.SpeechRuleStores={};sre.SpeechRuleStores.RULE_SETS_={MathmlStoreRules:sre.MathmlStoreRules,SemanticTreeRules:sre.SemanticTreeRules,MathspeakRules:sre.MathspeakRules,MathspeakSpanish:sre.MathspeakSpanish,ClearspeakRules:sre.ClearspeakRules,EmacspeakRules:sre.EmacspeakRules,AbstractionRules:sre.AbstractionRules,AbstractionSpanish:sre.AbstractionSpanish,PrefixRules:sre.PrefixRules,PrefixSpanish:sre.PrefixSpanish};sre.SpeechRuleStores.availableSets=function(){return Object.keys(sre.SpeechRuleStores.RULE_SETS_)}; +sre.SpeechRuleStores.getConstructor=function(a){return(a=sre.SpeechRuleStores.RULE_SETS_[a])?a:null};sre.SpeechRuleEngine=function(){this.activeStore_=null;this.cache_={};this.ready_=!0;this.combinedStores_={};sre.Engine.registerTest(goog.bind(function(a){return this.ready_},this))};goog.addSingletonGetter(sre.SpeechRuleEngine);sre.SpeechRuleEngine.prototype.parameterize=function(a){for(var b={},c=0,d=a.length;ca||a>=b.length?null:b[a]};sre.Levels.prototype.depth=function(){return this.level_.length};sre.Levels.prototype.clone=function(){var a=new sre.Levels;a.level_=this.level_.slice(0);return a};sre.Levels.prototype.toString=function(){for(var a="",b=0,c;c=this.level_[b];b++)a+="\n"+c.map(function(a){return a.toString()});return a};sre.Walker=function(){};sre.Walker.prototype.isActive=function(){};sre.Walker.prototype.activate=function(){};sre.Walker.prototype.deactivate=function(){};sre.Walker.prototype.speech=function(){};sre.Walker.prototype.getFocus=function(){};sre.Walker.prototype.setFocus=function(a){};sre.Walker.prototype.getDepth=function(){};sre.Walker.prototype.move=function(a){}; +sre.Walker.move={UP:"up",DOWN:"down",LEFT:"left",RIGHT:"right",REPEAT:"repeat",DEPTH:"depth",ENTER:"enter",EXPAND:"expand",HOME:"home",SUMMARY:"summary",DETAIL:"detail",ROW:"row",CELL:"cell"};sre.AbstractWalker=function(a,b,c,d){this.node=a;this.xml=sre.DomUtil.parseInput(d);this.generator=b;this.rebuilt=this.rebuildStree_();this.generator.setRebuilt(this.rebuilt);this.highlighter=c;this.active_=!1;this.keyMapping={};this.keyMapping[sre.EventUtil.KeyCode.UP]=goog.bind(this.up,this);this.keyMapping[sre.EventUtil.KeyCode.DOWN]=goog.bind(this.down,this);this.keyMapping[sre.EventUtil.KeyCode.RIGHT]=goog.bind(this.right,this);this.keyMapping[sre.EventUtil.KeyCode.LEFT]=goog.bind(this.left, +this);this.keyMapping[sre.EventUtil.KeyCode.TAB]=goog.bind(this.repeat,this);this.keyMapping[sre.EventUtil.KeyCode.ENTER]=goog.bind(this.expand,this);this.keyMapping[sre.EventUtil.KeyCode.SPACE]=goog.bind(this.depth,this);this.keyMapping[sre.EventUtil.KeyCode.HOME]=goog.bind(this.home,this);this.keyMapping[sre.EventUtil.KeyCode.X]=goog.bind(this.summary,this);this.keyMapping[sre.EventUtil.KeyCode.Z]=goog.bind(this.detail,this);this.keyMapping[sre.EventUtil.KeyCode.V]=goog.bind(this.virtualize,this); +this.keyMapping[sre.EventUtil.KeyCode.P]=goog.bind(this.previous,this);this.keyMapping[sre.EventUtil.KeyCode.U]=goog.bind(this.undo,this);this.dummy_=function(){};this.rootNode=sre.WalkerUtil.getSemanticRoot(a);this.rootId=this.rebuilt.stree.root.id.toString();this.focus_=sre.Focus.factory(this.rootId,[this.rootId],this.rebuilt,this.node);this.moved=sre.Walker.move.ENTER;this.cursors=[]};sre.AbstractWalker.prototype.isActive=function(){return this.active_}; +sre.AbstractWalker.prototype.toggleActive_=function(){this.active_=!this.active_};sre.AbstractWalker.prototype.activate=function(){this.isActive()||(this.generator.start(),this.toggleActive_())};sre.AbstractWalker.prototype.deactivate=function(){this.isActive()&&(this.highlighter.setState(this.node.id,this.primaryId()),this.generator.end(),this.toggleActive_())};sre.AbstractWalker.prototype.getFocus=function(){return this.focus_};sre.AbstractWalker.prototype.setFocus=function(a){this.focus_=a}; +sre.AbstractWalker.prototype.getDepth=function(){return this.levels.depth()-1}; +sre.AbstractWalker.prototype.speech=function(){var a=this.focus_.getDomNodes();if(!a.length)return"";var b=this.specialMove();if(null!==b)return b;switch(this.moved){case sre.Walker.move.DEPTH:return this.depth_();case sre.Walker.move.SUMMARY:return this.summary_();case sre.Walker.move.DETAIL:return this.detail_();default:b=[];for(var c=this.focus_.getSemanticNodes(),d=0,e=a.length;dthis.currentTable_.childNodes.length)return this.getFocus();this.row_=a;this.moved=sre.Walker.move.ROW;return this.getFocus().clone()}; +sre.TableWalker.prototype.jumpCell_=function(a,b){this.firstJump?this.virtualize(!1):(this.firstJump=this.getFocus(),this.virtualize(!0));var c=this.currentTable_.id.toString();do var d=this.levels.pop();while(-1===d.indexOf(c));this.levels.push(d);this.setFocus(this.singletonFocus(c));this.levels.push(this.nextLevel());a=this.currentTable_.childNodes[a-1];this.setFocus(this.singletonFocus(a.id.toString()));this.levels.push(this.nextLevel());return this.singletonFocus(a.childNodes[b-1].id.toString())}; +sre.TableWalker.prototype.isLegalJump_=function(a,b){var c=sre.DomUtil.querySelectorAllByAttrValue(this.rebuilt.xml,"id",this.currentTable_.id.toString())[0];if(!c||c.hasAttribute("alternative"))return!1;a=this.currentTable_.childNodes[a-1];if(!a)return!1;c=sre.DomUtil.querySelectorAllByAttrValue(c,"id",a.id.toString())[0];return!c||c.hasAttribute("alternative")?!1:!(!a||!a.childNodes[b-1])}; +sre.TableWalker.prototype.isInTable_=function(){for(var a=this.getFocus().getSemanticPrimary();a;){if(-1!==sre.TableWalker.ELIGIBLE_TABLE_TYPES.indexOf(a.type))return this.currentTable_=a,!0;a=a.parent}return!1};sre.TableWalker.prototype.undo=function(){var a=sre.TableWalker.superClass_.undo.call(this);a===this.firstJump&&(this.firstJump=null);return a};sre.WalkerFactory={};sre.WalkerFactory.walker=function(a,b,c,d,e){return new (sre.WalkerFactory.walkerMapping_[a]||sre.WalkerFactory.walkerMapping_.Dummy)(b,c,d,e)};sre.WalkerFactory.walkerMapping_={Dummy:sre.DummyWalker,Semantic:sre.SemanticWalker,Syntax:sre.SyntaxWalker,Table:sre.TableWalker};sre.System=function(){this.version=sre.Variables.VERSION};goog.addSingletonGetter(sre.System);sre.System.Error=function(a){Error.call(this);this.message=a||"";this.name="System Error"};goog.inherits(sre.System.Error,Error);sre.System.LocalStorage_=function(){this.speechGenerator=this.walker=null};goog.addSingletonGetter(sre.System.LocalStorage_); +sre.System.prototype.setupEngine=function(a){var b=sre.Engine.getInstance(),c=function(c){b[c]=a[c]||b[c]};c("mode");sre.System.prototype.configBlocks_(a);["strict","cache","semantics","structure"].forEach(function(c){void 0!==a[c]&&(b[c]=!!a[c])});"markup style domain speech walker locale".split(" ").forEach(c);a.json&&(sre.SystemExternal.jsonPath=sre.BaseUtil.makePath(a.json));a.xpath&&(sre.SystemExternal.WGXpath=a.xpath);b.setupBrowsers();b.ruleSets=a.rules?a.rules:sre.SpeechRuleStores.availableSets(); +sre.SpeechRuleEngine.getInstance().parameterize(b.ruleSets);b.dynamicCstr=sre.DynamicCstr.create(b.locale,b.domain,b.style);b.comparator=new sre.DynamicCstr.DefaultComparator(b.dynamicCstr,sre.DynamicProperties.create([sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.LOCALE]],[sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.DOMAIN]],["short",sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.STYLE]]));sre.L10n.setLocale()}; +sre.System.prototype.configBlocks_=function(a){if(sre.Engine.getInstance().mode===sre.Engine.Mode.HTTP)for(var b=document.documentElement.querySelectorAll('script[type="text/x-sre-config"]'),c=0,d=b.length;c=0;c--){var d=this.dependents[c];d.Disable&&d.Disable(!1,b)}a&&MathJax.Hub.Queue(["Reprocess",MathJax.Hub])},Dependent:function(a){this.dependents.push(a)}},function(){var a=MathJax.Ajax.config.path;a.a11y||(a.a11y=HUB.config.root+"/extensions/a11y"),a.SRE||(a.SRE=MathJax.Ajax.fileURL(a.a11y)),MathJax.Ajax.Load("[SRE]/mathjax-sre.js"),MathJax.Hub.Register.StartupHook("Sre Ready",["loadComplete",MathJax.Ajax,"[SRE]/mathjax-sre.js"])}(),MathJax.Callback.Queue(["Require",MathJax.Ajax,"[MathJax]/jax/element/mml/jax.js"],["Require",MathJax.Ajax,"[MathJax]/jax/input/MathML/config.js"],["Require",MathJax.Ajax,"[MathJax]/jax/input/MathML/jax.js"],["Require",MathJax.Ajax,"[MathJax]/extensions/toMathML.js"],MathJax.Hub.Register.StartupHook("Sre Ready",function(){var a=MathJax.ElementJax.mml,b=MathJax.Extension["semantic-enrich"];a.mbase.Augment({toMathMLattributes:function(){var c="mstyle"===this.type?a.math.prototype.defaults:this.defaults,d=this.attrNames||a.copyAttributeNames,e=a.skipAttributes,f=a.copyAttributes,g=b.running?b.mstyleLookup[this.type]||[]:[],h=[],i=this.attr||{};if("math"!==this.type||this.attr&&"xmlns"in this.attr||h.push('xmlns="http://www.w3.org/1998/Math/MathML"'),!this.attrNames)for(var j in c)e[j]||f[j]||!c.hasOwnProperty(j)||null!=this[j]&&this[j]!==c[j]&&this.Get(j,null,1)!==this[j]&&this.toMathMLaddAttr(h,j,this[j]);for(var k=0,l=d.length;kb?1:0};var ha=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(l(a))return l(b)&&1==b.length?a.indexOf(b,c):-1;for(;cc?null:l(a)?a.charAt(c):a[c]}function la(a){return Array.prototype.concat.apply(Array.prototype,arguments)}function ma(a,b,c){return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};var u;a:{var na=k.navigator;if(na){var oa=na.userAgent;if(oa){u=oa;break a}}u=""};var pa=q(u,"Opera")||q(u,"OPR"),v=q(u,"Trident")||q(u,"MSIE"),qa=q(u,"Edge"),ra=q(u,"Gecko")&&!(q(u.toLowerCase(),"webkit")&&!q(u,"Edge"))&&!(q(u,"Trident")||q(u,"MSIE"))&&!q(u,"Edge"),sa=q(u.toLowerCase(),"webkit")&&!q(u,"Edge");function ta(){var a=k.document;return a?a.documentMode:void 0}var ua; +a:{var va="",wa=function(){var a=u;if(ra)return/rv\:([^\);]+)(\)|;)/.exec(a);if(qa)return/Edge\/([\d\.]+)/.exec(a);if(v)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(sa)return/WebKit\/(\S+)/.exec(a);if(pa)return/(?:Version)[ \/]?(\S+)/.exec(a)}();wa&&(va=wa?wa[1]:"");if(v){var xa=ta();if(null!=xa&&xa>parseFloat(va)){ua=String(xa);break a}}ua=va}var ya={}; +function za(a){if(!ya[a]){for(var b=0,c=fa(String(ua)).split("."),d=fa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f",4,2,function(a,b,c){return O(function(a,b){return a>b},a,b,c)});P("<=",4,2,function(a,b,c){return O(function(a,b){return a<=b},a,b,c)});P(">=",4,2,function(a,b,c){return O(function(a,b){return a>=b},a,b,c)});var Wa=P("=",3,2,function(a,b,c){return O(function(a,b){return a==b},a,b,c,!0)});P("!=",3,2,function(a,b,c){return O(function(a,b){return a!=b},a,b,c,!0)});P("and",2,2,function(a,b,c){return M(a,c)&&M(b,c)});P("or",1,2,function(a,b,c){return M(a,c)||M(b,c)});function Q(a,b,c){this.a=a;this.b=b||1;this.f=c||1};function Za(a,b){if(b.a.length&&4!=a.i)throw Error("Primary expression must evaluate to nodeset if filter has predicate(s).");n.call(this,a.i);this.c=a;this.h=b;this.g=a.g;this.b=a.b}m(Za);Za.prototype.a=function(a){a=this.c.a(a);return $a(this.h,a)};Za.prototype.toString=function(){var a;a="Filter:"+J(this.c);return a+=J(this.h)};function ab(a,b){if(b.lengtha.v)throw Error("Function "+a.j+" expects at most "+a.v+" arguments, "+b.length+" given");a.B&&r(b,function(b,d){if(4!=b.i)throw Error("Argument "+d+" to function "+a.j+" is not of type Nodeset: "+b);});n.call(this,a.i);this.h=a;this.c=b;Ua(this,a.g||ja(b,function(a){return a.g}));Va(this,a.D&&!b.length||a.C&&!!b.length||ja(b,function(a){return a.b}))}m(ab); +ab.prototype.a=function(a){return this.h.m.apply(null,la(a,this.c))};ab.prototype.toString=function(){var a="Function: "+this.h;if(this.c.length)var b=t(this.c,function(a,b){return a+J(b)},"Arguments:"),a=a+J(b);return a};function bb(a,b,c,d,e,f,g,h,p){this.j=a;this.i=b;this.g=c;this.D=d;this.C=e;this.m=f;this.A=g;this.v=void 0!==h?h:g;this.B=!!p}bb.prototype.toString=function(){return this.j};var cb={}; +function R(a,b,c,d,e,f,g,h){if(cb.hasOwnProperty(a))throw Error("Function already created: "+a+".");cb[a]=new bb(a,b,c,d,!1,e,f,g,h)}R("boolean",2,!1,!1,function(a,b){return M(b,a)},1);R("ceiling",1,!1,!1,function(a,b){return Math.ceil(K(b,a))},1);R("concat",3,!1,!1,function(a,b){return t(ma(arguments,1),function(b,d){return b+L(d,a)},"")},2,null);R("contains",2,!1,!1,function(a,b,c){return q(L(b,a),L(c,a))},2);R("count",1,!1,!1,function(a,b){return b.a(a).l},1,1,!0); +R("false",2,!1,!1,function(){return!1},0);R("floor",1,!1,!1,function(a,b){return Math.floor(K(b,a))},1);R("id",4,!1,!1,function(a,b){function c(a){if(w){var b=e.all[a];if(b){if(b.nodeType&&a==b.id)return b;if(b.length)return ka(b,function(b){return a==b.id})}return null}return e.getElementById(a)}var d=a.a,e=9==d.nodeType?d:d.ownerDocument,d=L(b,a).split(/\s+/),f=[];r(d,function(a){a=c(a);!a||0<=ha(f,a)||f.push(a)});f.sort(La);var g=new C;r(f,function(a){F(g,a)});return g},1); +R("lang",2,!1,!1,function(){return!1},1);R("last",1,!0,!1,function(a){if(1!=arguments.length)throw Error("Function last expects ()");return a.f},0);R("local-name",3,!1,!0,function(a,b){var c=b?Ra(b.a(a)):a.a;return c?c.localName||c.nodeName.toLowerCase():""},0,1,!0);R("name",3,!1,!0,function(a,b){var c=b?Ra(b.a(a)):a.a;return c?c.nodeName.toLowerCase():""},0,1,!0);R("namespace-uri",3,!0,!1,function(){return""},0,1,!0); +R("normalize-space",3,!1,!0,function(a,b){return(b?L(b,a):z(a.a)).replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},0,1);R("not",2,!1,!1,function(a,b){return!M(b,a)},1);R("number",1,!1,!0,function(a,b){return b?K(b,a):+z(a.a)},0,1);R("position",1,!0,!1,function(a){return a.b},0);R("round",1,!1,!1,function(a,b){return Math.round(K(b,a))},1);R("starts-with",2,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);return 0==b.lastIndexOf(a,0)},2);R("string",3,!1,!0,function(a,b){return b?L(b,a):z(a.a)},0,1); +R("string-length",1,!1,!0,function(a,b){return(b?L(b,a):z(a.a)).length},0,1);R("substring",3,!1,!1,function(a,b,c,d){c=K(c,a);if(isNaN(c)||Infinity==c||-Infinity==c)return"";d=d?K(d,a):Infinity;if(isNaN(d)||-Infinity===d)return"";c=Math.round(c)-1;var e=Math.max(c,0);a=L(b,a);return Infinity==d?a.substring(e):a.substring(e,c+Math.round(d))},2,3);R("substring-after",3,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);c=b.indexOf(a);return-1==c?"":b.substring(c+a.length)},2); +R("substring-before",3,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);a=b.indexOf(a);return-1==a?"":b.substring(0,a)},2);R("sum",1,!1,!1,function(a,b){for(var c=H(b.a(a)),d=0,e=I(c);e;e=I(c))d+=+z(e);return d},1,1,!0);R("translate",3,!1,!1,function(a,b,c,d){b=L(b,a);c=L(c,a);var e=L(d,a);a={};for(d=0;d]=|\s+|./g,hb=/^\s/;function S(a,b){return a.b[a.a+(b||0)]}function T(a){return a.b[a.a++]}function ib(a){return a.b.length<=a.a};function jb(a){n.call(this,3);this.c=a.substring(1,a.length-1)}m(jb);jb.prototype.a=function(){return this.c};jb.prototype.toString=function(){return"Literal: "+this.c};function E(a,b){this.j=a.toLowerCase();var c;c="*"==this.j?"*":"http://www.w3.org/1999/xhtml";this.c=b?b.toLowerCase():c}E.prototype.a=function(a){var b=a.nodeType;if(1!=b&&2!=b)return!1;b=void 0!==a.localName?a.localName:a.nodeName;return"*"!=this.j&&this.j!=b.toLowerCase()?!1:"*"==this.c?!0:this.c==(a.namespaceURI?a.namespaceURI.toLowerCase():"http://www.w3.org/1999/xhtml")};E.prototype.f=function(){return this.j}; +E.prototype.toString=function(){return"Name Test: "+("http://www.w3.org/1999/xhtml"==this.c?"":this.c+":")+this.j};function kb(a,b){n.call(this,a.i);this.h=a;this.c=b;this.g=a.g;this.b=a.b;if(1==this.c.length){var c=this.c[0];c.u||c.c!=lb||(c=c.o,"*"!=c.f()&&(this.f={name:c.f(),s:null}))}}m(kb);function mb(){n.call(this,4)}m(mb);mb.prototype.a=function(a){var b=new C;a=a.a;9==a.nodeType?F(b,a):F(b,a.ownerDocument);return b};mb.prototype.toString=function(){return"Root Helper Expression"};function nb(){n.call(this,4)}m(nb);nb.prototype.a=function(a){var b=new C;F(b,a.a);return b};nb.prototype.toString=function(){return"Context Helper Expression"}; +function ob(a){return"/"==a||"//"==a}kb.prototype.a=function(a){var b=this.h.a(a);if(!(b instanceof C))throw Error("Filter expression must evaluate to nodeset.");a=this.c;for(var c=0,d=a.length;ca.length)throw Error("Unclosed literal string");return new jb(a)} +function Hb(a){var b,c=[],d;if(ob(S(a.a))){b=T(a.a);d=S(a.a);if("/"==b&&(ib(a.a)||"."!=d&&".."!=d&&"@"!=d&&"*"!=d&&!/(?![0-9])[\w]/.test(d)))return new mb;d=new mb;W(a,"Missing next location step.");b=Ib(a,b);c.push(b)}else{a:{b=S(a.a);d=b.charAt(0);switch(d){case "$":throw Error("Variable reference not allowed in HTML XPath");case "(":T(a.a);b=Cb(a);W(a,'unclosed "("');Eb(a,")");break;case '"':case "'":b=Gb(a);break;default:if(isNaN(+b))if(!db(b)&&/(?![0-9])[\w]/.test(d)&&"("==S(a.a,1)){b=T(a.a); +b=cb[b]||null;T(a.a);for(d=[];")"!=S(a.a);){W(a,"Missing function argument list.");d.push(Cb(a));if(","!=S(a.a))break;T(a.a)}W(a,"Unclosed function argument list.");Fb(a);b=new ab(b,d)}else{b=null;break a}else b=new Ab(+T(a.a))}"["==S(a.a)&&(d=new sb(Jb(a)),b=new Za(b,d))}if(b)if(ob(S(a.a)))d=b;else return b;else b=Ib(a,"/"),d=new nb,c.push(b)}for(;ob(S(a.a));)b=T(a.a),W(a,"Missing next location step."),b=Ib(a,b),c.push(b);return new kb(d,c)} +function Ib(a,b){var c,d,e;if("/"!=b&&"//"!=b)throw Error('Step op should be "/" or "//"');if("."==S(a.a))return d=new U(yb,new G("node")),T(a.a),d;if(".."==S(a.a))return d=new U(xb,new G("node")),T(a.a),d;var f;if("@"==S(a.a))f=lb,T(a.a),W(a,"Missing attribute name");else if("::"==S(a.a,1)){if(!/(?![0-9])[\w]/.test(S(a.a).charAt(0)))throw Error("Bad token: "+T(a.a));c=T(a.a);f=wb[c]||null;if(!f)throw Error("No axis with name: "+c);T(a.a);W(a,"Missing node name")}else f=tb;c=S(a.a);if(/(?![0-9])[\w\*]/.test(c.charAt(0)))if("("== +S(a.a,1)){if(!db(c))throw Error("Invalid node type: "+c);c=T(a.a);if(!db(c))throw Error("Invalid type name: "+c);Eb(a,"(");W(a,"Bad nodetype");e=S(a.a).charAt(0);var g=null;if('"'==e||"'"==e)g=Gb(a);W(a,"Bad nodetype");Fb(a);c=new G(c,g)}else if(c=T(a.a),e=c.indexOf(":"),-1==e)c=new E(c);else{var g=c.substring(0,e),h;if("*"==g)h="*";else if(h=a.b(g),!h)throw Error("Namespace prefix not declared: "+g);c=c.substr(e+1);c=new E(c,h)}else throw Error("Bad token: "+T(a.a));e=new sb(Jb(a),f.a);return d|| +new U(f,c,e,"//"==b)}function Jb(a){for(var b=[];"["==S(a.a);){T(a.a);W(a,"Missing predicate expression.");var c=Cb(a);b.push(c);W(a,"Unclosed predicate expression.");Eb(a,"]")}return b}function Db(a){if("-"==S(a.a))return T(a.a),new zb(Db(a));var b=Hb(a);if("|"!=S(a.a))a=b;else{for(b=[b];"|"==T(a.a);)W(a,"Missing next union location path."),b.push(Hb(a));a.a.a--;a=new rb(b)}return a};function Kb(a){switch(a.nodeType){case 1:return ea(Lb,a);case 9:return Kb(a.documentElement);case 11:case 10:case 6:case 12:return Mb;default:return a.parentNode?Kb(a.parentNode):Mb}}function Mb(){return null}function Lb(a,b){if(a.prefix==b)return a.namespaceURI||"http://www.w3.org/1999/xhtml";var c=a.getAttributeNode("xmlns:"+b);return c&&c.specified?c.value||null:a.parentNode&&9!=a.parentNode.nodeType?Lb(a.parentNode,b):null};function Nb(a,b){if(!a.length)throw Error("Empty XPath expression.");var c=fb(a);if(ib(c))throw Error("Invalid XPath expression.");b?"function"==aa(b)||(b=da(b.lookupNamespaceURI,b)):b=function(){return null};var d=Cb(new Bb(c,b));if(!ib(c))throw Error("Bad token: "+T(c));this.evaluate=function(a,b){var c=d.a(new Q(a));return new Y(c,b)}} +function Y(a,b){if(0==b)if(a instanceof C)b=4;else if("string"==typeof a)b=2;else if("number"==typeof a)b=1;else if("boolean"==typeof a)b=3;else throw Error("Unexpected evaluation result.");if(2!=b&&1!=b&&3!=b&&!(a instanceof C))throw Error("value could not be converted to the specified type");this.resultType=b;var c;switch(b){case 2:this.stringValue=a instanceof C?Sa(a):""+a;break;case 1:this.numberValue=a instanceof C?+Sa(a):+a;break;case 3:this.booleanValue=a instanceof C?0=c.length?null:c[f++]};this.snapshotItem=function(a){if(6!=b&&7!=b)throw Error("snapshotItem called with wrong result type");return a>=c.length|| +0>a?null:c[a]}}Y.ANY_TYPE=0;Y.NUMBER_TYPE=1;Y.STRING_TYPE=2;Y.BOOLEAN_TYPE=3;Y.UNORDERED_NODE_ITERATOR_TYPE=4;Y.ORDERED_NODE_ITERATOR_TYPE=5;Y.UNORDERED_NODE_SNAPSHOT_TYPE=6;Y.ORDERED_NODE_SNAPSHOT_TYPE=7;Y.ANY_UNORDERED_NODE_TYPE=8;Y.FIRST_ORDERED_NODE_TYPE=9;function Ob(a){this.lookupNamespaceURI=Kb(a)} +function Pb(a,b){var c=a||k,d=c.Document&&c.Document.prototype||c.document;if(!d.evaluate||b)c.XPathResult=Y,d.evaluate=function(a,b,c,d){return(new Nb(a,c)).evaluate(b,d)},d.createExpression=function(a,b){return new Nb(a,b)},d.createNSResolver=function(a){return new Ob(a)}}var Qb=["wgxpath","install"],Z=k;Qb[0]in Z||!Z.execScript||Z.execScript("var "+Qb[0]);for(var Rb;Qb.length&&(Rb=Qb.shift());)Qb.length||void 0===Pb?Z[Rb]?Z=Z[Rb]:Z=Z[Rb]={}:Z[Rb]=Pb;}).call(this) diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/asciimath2jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/asciimath2jax.js new file mode 100644 index 00000000..ee340212 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/asciimath2jax.js @@ -0,0 +1,254 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/asciimath2jax.js + * + * Implements the AsciiMath to Jax preprocessor that locates AsciiMath + * code within the text of a document and replaces it with SCRIPT tags for + * processing by MathJax. + * + * Modified by David Lippman, based on tex2jax.js. + * Additional work by Davide P. Cervone. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2012-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension.asciimath2jax = { + version: "2.7.5", + config: { + delimiters: [['`','`']], // The star/stop delimiter pairs for asciimath code + + skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], + // The names of the tags whose contents will not be + // scanned for math delimiters + + ignoreClass: "asciimath2jax_ignore", // the class name of elements whose contents should + // NOT be processed by asciimath2jax. Note that this + // is a regular expression, so be sure to quote any + // regexp special characters + + processClass: "asciimath2jax_process", // the class name of elements whose contents SHOULD + // be processed when they appear inside ones that + // are ignored. Note that this is a regular expression, + // so be sure to quote any regexp special characters + + preview: "AsciiMath" // set to "none" to not insert MathJax_Preview spans + // or set to an array specifying an HTML snippet + // to use the same preview for every equation. + + }, + + // + // Tags to ignore when searching for AsciiMath in the page + // + ignoreTags: { + br: (MathJax.Hub.Browser.isMSIE && document.documentMode < 9 ? "\n" : " "), + wbr: "", + "#comment": "" + }, + + PreProcess: function (element) { + if (!this.configured) { + this.config = MathJax.Hub.CombineConfig("asciimath2jax",this.config); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + this.configured = true; + } + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = document.body} + if (this.createPatterns()) {this.scanElement(element,element.nextSibling)} + }, + + createPatterns: function () { + var starts = [], i, m, config = this.config; this.match = {}; + if (config.delimiters.length === 0) {return false} + for (i = 0, m = config.delimiters.length; i < m; i++) { + starts.push(this.patternQuote(config.delimiters[i][0])); + this.match[config.delimiters[i][0]] = { + mode: "", + end: config.delimiters[i][1], + pattern: this.endPattern(config.delimiters[i][1]) + }; + } + this.start = new RegExp(starts.sort(this.sortLength).join("|"),"g"); + this.skipTags = new RegExp("^("+config.skipTags.join("|")+")$","i"); + var ignore = []; + if (MathJax.Hub.config.preRemoveClass) {ignore.push(MathJax.Hub.config.preRemoveClass)} + if (config.ignoreClass) {ignore.push(config.ignoreClass)} + this.ignoreClass = (ignore.length ? new RegExp("(^| )("+ignore.join("|")+")( |$)") : /^$/); + this.processClass = new RegExp("(^| )("+config.processClass+")( |$)"); + return true; + }, + + patternQuote: function (s) {return s.replace(/([\^$(){}+*?\-|\[\]\:\\])/g,'\\$1')}, + + endPattern: function (end) { + return new RegExp(this.patternQuote(end)+"|\\\\.","g"); + }, + + sortLength: function (a,b) { + if (a.length !== b.length) {return b.length - a.length} + return (a == b ? 0 : (a < b ? -1 : 1)); + }, + + scanElement: function (element,stop,ignore) { + var cname, tname, ignoreChild, process; + while (element && element != stop) { + if (element.nodeName.toLowerCase() === '#text') { + if (!ignore) {element = this.scanText(element)} + } else { + cname = (typeof(element.className) === "undefined" ? "" : element.className); + tname = (typeof(element.tagName) === "undefined" ? "" : element.tagName); + if (typeof(cname) !== "string") {cname = String(cname)} // jsxgraph uses non-string class names! + process = this.processClass.exec(cname); + if (element.firstChild && !cname.match(/(^| )MathJax/) && + (process || !this.skipTags.exec(tname))) { + ignoreChild = (ignore || this.ignoreClass.exec(cname)) && !process; + this.scanElement(element.firstChild,stop,ignoreChild); + } + } + if (element) {element = element.nextSibling} + } + }, + + scanText: function (element) { + if (element.nodeValue.replace(/\s+/,'') == '') {return element} + var match, prev, pos = 0, rescan; + this.search = {start: true}; + this.pattern = this.start; + while (element) { + rescan = null; + this.pattern.lastIndex = pos || 0; pos = 0; + while (element && element.nodeName.toLowerCase() === '#text' && + (match = this.pattern.exec(element.nodeValue))) { + if (this.search.start) {element = this.startMatch(match,element)} + else {element = this.endMatch(match,element)} + } + if (this.search.matched) element = this.encloseMath(element); + else if (!this.search.start) rescan = this.search; + if (element) { + do {prev = element; element = element.nextSibling} + while (element && this.ignoreTags[element.nodeName.toLowerCase()] != null); + if (!element || element.nodeName !== '#text') { + if (!rescan) return prev; + element = rescan.open; + pos = rescan.opos + rescan.olen; + this.search = {start: true}; + this.pattern = this.start; + } + } + } + return element; + }, + + startMatch: function (match,element) { + var delim = this.match[match[0]]; + if (delim != null) { + this.search = { + end: delim.end, mode: delim.mode, + open: element, olen: match[0].length, + opos: this.pattern.lastIndex - match[0].length + }; + this.switchPattern(delim.pattern); + } + return element; + }, + + endMatch: function (match,element) { + if (match[0] == this.search.end) { + this.search.close = element; + this.search.cpos = this.pattern.lastIndex; + this.search.clen = (this.search.isBeginEnd ? 0 : match[0].length); + this.search.matched = true; + element = this.encloseMath(element); + this.switchPattern(this.start); + } + return element; + }, + + switchPattern: function (pattern) { + pattern.lastIndex = this.pattern.lastIndex; + this.pattern = pattern; + this.search.start = (pattern === this.start); + }, + + encloseMath: function (element) { + var search = this.search, close = search.close, CLOSE, math, next; + if (search.cpos === close.length) {close = close.nextSibling} + else {close = close.splitText(search.cpos)} + if (!close) {CLOSE = close = MathJax.HTML.addText(search.close.parentNode,"")} + search.close = close; + math = (search.opos ? search.open.splitText(search.opos) : search.open); + while ((next = math.nextSibling) && next !== close) { + if (next.nodeValue !== null) { + if (next.nodeName === "#comment") { + math.nodeValue += next.nodeValue.replace(/^\[CDATA\[((.|\n|\r)*)\]\]$/,"$1"); + } else { + math.nodeValue += math.nextSibling.nodeValue; + } + } else { + var ignore = this.ignoreTags[next.nodeName.toLowerCase()]; + math.nodeValue += (ignore == null ? " " : ignore); + } + math.parentNode.removeChild(next); + } + var AM = math.nodeValue.substr(search.olen,math.nodeValue.length-search.olen-search.clen); + math.parentNode.removeChild(math); + if (this.config.preview !== "none") {this.createPreview(search.mode,AM)} + math = this.createMathTag(search.mode,AM); + this.search = {}; this.pattern.lastIndex = 0; + if (CLOSE) {CLOSE.parentNode.removeChild(CLOSE)} + return math; + }, + + insertNode: function (node) { + var search = this.search; + search.close.parentNode.insertBefore(node,search.close); + }, + + createPreview: function (mode,asciimath) { + var previewClass = MathJax.Hub.config.preRemoveClass; + var preview = this.config.preview; + if (preview === "none") return; + if ((this.search.close.previousSibling||{}).className === previewClass) return; + if (preview === "AsciiMath") {preview = [this.filterPreview(asciimath)]} + if (preview) { + preview = MathJax.HTML.Element("span",{className:previewClass},preview); + this.insertNode(preview); + } + }, + + createMathTag: function (mode,asciimath) { + var script = document.createElement("script"); + script.type = "math/asciimath" + mode; + MathJax.HTML.setScript(script,asciimath); + this.insertNode(script); + return script; + }, + + filterPreview: function (asciimath) {return asciimath} + +}; + +// We register the preprocessors with the following priorities: +// - mml2jax.js: 5 +// - jsMath2jax.js: 8 +// - asciimath2jax.js, tex2jax.js: 10 (default) +// See issues 18 and 484 and the other *2jax.js files. +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.asciimath2jax]); +MathJax.Ajax.loadComplete("[MathJax]/extensions/asciimath2jax.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/fast-preview.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/fast-preview.js new file mode 100644 index 00000000..e3189be3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/fast-preview.js @@ -0,0 +1,155 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/fast-preview.js + * + * Implements a fast preview using the PreviewHTML output jax + * and then a slower update to the more accurate HTML-CSS output + * (or whatever the user has selected). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2014-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML,BROWSER) { + + var SETTINGS = HUB.config.menuSettings; + var JAX = MathJax.OutputJax; + var msieColorBug = BROWSER.isMSIE && (document.documentMode||0) < 8; + + var FastPreview = MathJax.Extension["fast-preview"] = { + version: "2.7.5", + enabled: true, + + // + // Configuration for the chunking of the main output + // after the previews have been created, and other configuration. + // + config: HUB.CombineConfig("fast-preview",{ + Chunks: {EqnChunk: 10000, EqnChunkFactor: 1, EqnChunkDelay: 0}, + color: "inherit!important", + updateTime: 30, updateDelay: 6, + messageStyle: "none", + disabled: BROWSER.isMSIE && !BROWSER.versionAtLeast("8.0") + }), + + // + // Ajust the chunking of the output jax + // + Config: function () { + if (HUB.config["CHTML-preview"]) + MathJax.Hub.Config({"fast-preview": HUB.config["CHTML-preview"]}); + var update, delay, style, done, saved; + var config = this.config; + + if (!config.disabled && SETTINGS.FastPreview == null) + HUB.Config({menuSettings:{FastPreview:true}}); + if (SETTINGS.FastPreview) { + MathJax.Ajax.Styles({".MathJax_Preview .MJXf-math":{color:config.color}}); + HUB.Config({"HTML-CSS": config.Chunks, CommonHTML: config.Chunks, SVG: config.Chunks}); + } + HUB.Register.MessageHook("Begin Math Output",function () { + if (!done && FastPreview.Active()) { + update = HUB.processUpdateTime; delay = HUB.processUpdateDelay; + style = HUB.config.messageStyle; + HUB.processUpdateTime = config.updateTime; + HUB.processUpdateDelay = config.updateDelay; + HUB.Config({messageStyle: config.messageStyle}); + MathJax.Message.Clear(0,0); + saved = true; + } + }); + HUB.Register.MessageHook("End Math Output",function () { + if (!done && saved) { + HUB.processUpdateTime = update; + HUB.processUpdateDelay = delay; + HUB.Config({messageStyle: style}); + done = true; + } + }); + }, + + // + // Allow page to override user settings (for things like editor previews) + // + Disable: function () {this.enabled = false}, + Enable: function () {this.enabled = true}, + + Active: function () { + return SETTINGS.FastPreview && this.enabled && + !(JAX[SETTINGS.renderer]||{}).noFastPreview; + }, + + // + // Insert a preview span, if there isn't one already, + // and call the PreviewHTML output jax to create the preview + // + Preview: function (data) { + if (!this.Active() || !data.script.parentNode) return; + var preview = data.script.MathJax.preview || data.script.previousSibling; + if (!preview || preview.className !== MathJax.Hub.config.preRemoveClass) { + preview = HTML.Element("span",{className:MathJax.Hub.config.preRemoveClass}); + data.script.parentNode.insertBefore(preview,data.script); + data.script.MathJax.preview = preview; + } + preview.innerHTML = ""; + preview.style.color = (msieColorBug ? "black" : "inherit"); + return this.postFilter(preview,data); + }, + postFilter: function (preview,data) { + // + // Load the PreviewHTML jax if it is not already loaded + // + if (!data.math.root.toPreviewHTML) { + var queue = MathJax.Callback.Queue(); + queue.Push( + ["Require",MathJax.Ajax,"[MathJax]/jax/output/PreviewHTML/config.js"], + ["Require",MathJax.Ajax,"[MathJax]/jax/output/PreviewHTML/jax.js"] + ); + HUB.RestartAfter(queue.Push({})); + } + data.math.root.toPreviewHTML(preview); + }, + + // + // Hook into the input jax postFilter to create the previews as + // the input jax are processed. + // + Register: function (name) { + HUB.Register.StartupHook(name+" Jax Require",function () { + var jax = MathJax.InputJax[name]; + jax.postfilterHooks.Add(["Preview",MathJax.Extension["fast-preview"]],50); + }); + } + } + + // + // Hook into each input jax + // + FastPreview.Register("TeX"); + FastPreview.Register("MathML"); + FastPreview.Register("AsciiMath"); + + HUB.Register.StartupHook("End Config",["Config",FastPreview]); + + HUB.Startup.signal.Post("fast-preview Ready"); + +})(MathJax.Hub,MathJax.HTML,MathJax.Hub.Browser); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/fast-preview.js"); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/jsMath2jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/jsMath2jax.js new file mode 100644 index 00000000..80402573 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/jsMath2jax.js @@ -0,0 +1,105 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/jsMath2jax.js + * + * Implements a jsMath to Jax preprocessor that locates jsMath-style + * ... and
        ...
        tags + * and replaces them with SCRIPT tags for processing by MathJax. + * (Note: use the tex2jax preprocessor to convert TeX delimiters or + * custom delimiters to MathJax SCRIPT tags. This preprocessor is + * only for the SPAN and DIV form of jsMath delimiters). + * + * To use this preprocessor, include "jsMath2jax.js" in the extensions + * array in your config/MathJax.js file, or the MathJax.Hub.Config() call + * in your HTML document. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension.jsMath2jax = { + version: "2.7.5", + + config: { + preview: "TeX" // Set to "none" to prevent preview strings from being inserted + // or to an array that specifies an HTML snippet to use for + // the preview. + }, + + PreProcess: function (element) { + if (!this.configured) { + this.config = MathJax.Hub.CombineConfig("jsMath2jax",this.config); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + if (typeof(this.config.previewTeX) !== "undefined" && !this.config.previewTeX) + {this.config.preview = "none"} // backward compatibility for previewTeX parameter + this.previewClass = MathJax.Hub.config.preRemoveClass; + this.configured = true; + } + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = document.body} + var span = element.getElementsByTagName("span"), i; + for (i = span.length-1; i >= 0; i--) + {if (String(span[i].className).match(/(^| )math( |$)/)) {this.ConvertMath(span[i],"")}} + var div = element.getElementsByTagName("div"); + for (i = div.length-1; i >= 0; i--) + {if (String(div[i].className).match(/(^| )math( |$)/)) {this.ConvertMath(div[i],"; mode=display")}} + }, + + ConvertMath: function (node,mode) { + if (node.getElementsByTagName("script").length === 0) { + var parent = node.parentNode, + script = this.createMathTag(mode,node.innerHTML); + if (node.nextSibling) {parent.insertBefore(script,node.nextSibling)} + else {parent.appendChild(script)} + if (this.config.preview !== "none") {this.createPreview(node)} + parent.removeChild(node); + } + }, + + createPreview: function (node) { + var previewClass = MathJax.Hub.config.preRemoveClass; + var preview = this.config.preview; + if (preview === "none") return; + if ((node.previousSibling||{}).className === previewClass) return; + if (preview === "TeX") {preview = [this.filterPreview(node.innerHTML)]} + if (preview) { + preview = MathJax.HTML.Element("span",{className:previewClass},preview); + node.parentNode.insertBefore(preview,node); + } + }, + + createMathTag: function (mode,tex) { + tex = tex.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&"); + var script = document.createElement("script"); + script.type = "math/tex" + mode; + MathJax.HTML.setScript(script,tex); + return script; + }, + + filterPreview: function (tex) {return tex} + +}; + +// We register the preprocessors with the following priorities: +// - mml2jax.js: 5 +// - jsMath2jax.js: 8 +// - asciimath2jax.js, tex2jax.js: 10 (default) +// See issues 18 and 484 and the other *2jax.js files. +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.jsMath2jax],8); +MathJax.Ajax.loadComplete("[MathJax]/extensions/jsMath2jax.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/mml2jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/mml2jax.js new file mode 100644 index 00000000..f50b3d87 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/mml2jax.js @@ -0,0 +1,263 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/mml2jax.js + * + * Implements the MathML to Jax preprocessor that locates nodes + * within the text of a document and replaces them with SCRIPT tags + * for processing by MathJax. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension.mml2jax = { + version: "2.7.5", + config: { + preview: "mathml" // Use the element as the + // preview. Set to "none" for no preview, + // set to "alttext" to use the alttext attribute + // of the element, set to "altimg" to use + // an image described by the altimg* attributes + // or set to an array specifying an HTML snippet + // to use a fixed preview for all math + + }, + MMLnamespace: "http://www.w3.org/1998/Math/MathML", + + PreProcess: function (element) { + if (!this.configured) { + this.config = MathJax.Hub.CombineConfig("mml2jax",this.config); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + this.InitBrowser(); + this.configured = true; + } + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = document.body} + var mathArray = []; + // + // Handle all math tags with no namespaces + // + this.PushMathElements(mathArray,element,"math"); + // + // Handle math with namespaces in XHTML + // + this.PushMathElements(mathArray,element,"math",this.MMLnamespace); + // + // Handle math with namespaces in HTML + // + var i, m; + if (typeof(document.namespaces) !== "undefined") { + // + // IE namespaces are listed in document.namespaces + // + try { + for (i = 0, m = document.namespaces.length; i < m; i++) { + var ns = document.namespaces[i]; + if (ns.urn === this.MMLnamespace) + {this.PushMathElements(mathArray,element,ns.name+":math")} + } + } catch (err) {} + } else { + // + // Everybody else + // + var html = document.getElementsByTagName("html")[0]; + if (html) { + for (i = 0, m = html.attributes.length; i < m; i++) { + var attr = html.attributes[i]; + if (attr.nodeName.substr(0,6) === "xmlns:" && attr.nodeValue === this.MMLnamespace) + {this.PushMathElements(mathArray,element,attr.nodeName.substr(6)+":math")} + } + } + } + this.ProcessMathArray(mathArray); + }, + + PushMathElements: function (array,element,name,namespace) { + var math, preview = MathJax.Hub.config.preRemoveClass; + if (namespace) { + if (!element.getElementsByTagNameNS) return; + math = element.getElementsByTagNameNS(namespace,name); + } else { + math = element.getElementsByTagName(name); + } + for (var i = 0, m = math.length; i < m; i++) { + var parent = math[i].parentNode; + if (parent && parent.className !== preview && + !parent.isMathJax && !math[i].prefix === !namespace) array.push(math[i]); + } + }, + + ProcessMathArray: function (math) { + var i, m = math.length; + if (m) { + if (this.MathTagBug) { + for (i = 0; i < m; i++) { + if (math[i].nodeName === "MATH") {this.ProcessMathFlattened(math[i])} + else {this.ProcessMath(math[i])} + } + } else { + for (i = 0; i < m; i++) {this.ProcessMath(math[i])} + } + } + }, + + ProcessMath: function (math) { + var parent = math.parentNode; + if (!parent || parent.className === MathJax.Hub.config.preRemoveClass) return; + var script = document.createElement("script"); + script.type = "math/mml"; + parent.insertBefore(script,math); + if (this.AttributeBug) { + var html = this.OuterHTML(math); + if (this.CleanupHTML) { + html = html.replace(/<\?import .*?>/i,"").replace(/<\?xml:namespace .*?\/>/i,""); + html = html.replace(/ /g," "); + } + MathJax.HTML.setScript(script,html); parent.removeChild(math); + } else { + var span = MathJax.HTML.Element("span"); span.appendChild(math); + MathJax.HTML.setScript(script,span.innerHTML); + } + if (this.config.preview !== "none") {this.createPreview(math,script)} + }, + + ProcessMathFlattened: function (math) { + var parent = math.parentNode; + if (!parent || parent.className === MathJax.Hub.config.preRemoveClass) return; + var script = document.createElement("script"); + script.type = "math/mml"; + parent.insertBefore(script,math); + var mml = "", node, MATH = math; + while (math && math.nodeName !== "/MATH") { + node = math; math = math.nextSibling; + mml += this.NodeHTML(node); + node.parentNode.removeChild(node); + } + if (math && math.nodeName === "/MATH") {math.parentNode.removeChild(math)} + script.text = mml + ""; + if (this.config.preview !== "none") {this.createPreview(MATH,script)} + }, + + NodeHTML: function (node) { + var html, i, m; + if (node.nodeName === "#text") { + html = this.quoteHTML(node.nodeValue); + } else if (node.nodeName === "#comment") { + html = "" + } else { + // In IE, outerHTML doesn't properly quote attributes, so quote them by hand + // In Opera, HTML special characters aren't quoted in attributes, so quote them + html = "<"+node.nodeName.toLowerCase(); + for (i = 0, m = node.attributes.length; i < m; i++) { + var attribute = node.attributes[i]; + if (attribute.specified && attribute.nodeName.substr(0,10) !== "_moz-math-") { + // Opera 11.5 beta turns xmlns into xmlns:xmlns, so put it back (*** check after 11.5 is out ***) + html += " "+attribute.nodeName.toLowerCase().replace(/xmlns:xmlns/,"xmlns")+"="; + var value = attribute.nodeValue; // IE < 8 doesn't properly set style by setAttributes + if (value == null && attribute.nodeName === "style" && node.style) {value = node.style.cssText} + html += '"'+this.quoteHTML(value)+'"'; + } + } + html += ">"; + // Handle internal HTML (possibly due to annotation or missing ) + if (node.outerHTML != null && node.outerHTML.match(/(.<\/[A-Z]+>|\/>)$/)) { + for (i = 0, m = node.childNodes.length; i < m; i++) + {html += this.OuterHTML(node.childNodes[i])} + html += ""; + } + } + return html; + }, + OuterHTML: function (node) { + if (node.nodeName.charAt(0) === "#") {return this.NodeHTML(node)} + if (!this.AttributeBug) {return node.outerHTML} + var html = this.NodeHTML(node); + for (var i = 0, m = node.childNodes.length; i < m; i++) + {html += this.OuterHTML(node.childNodes[i]);} + html += ""; + return html; + }, + quoteHTML: function (string) { + if (string == null) {string = ""} + return string.replace(/&/g,"&").replace(//g,">").replace(/\"/g,"""); + }, + + createPreview: function (math,script) { + var preview = this.config.preview; + if (preview === "none") return; + var isNodePreview = false; + var previewClass = MathJax.Hub.config.preRemoveClass; + if ((script.previousSibling||{}).className === previewClass) return; + if (preview === "mathml") { + isNodePreview = true; + // mathml preview does not work with IE < 9, so fallback to alttext. + if (this.MathTagBug) {preview = "alttext"} else {preview = math.cloneNode(true)} + } + if (preview === "alttext" || preview === "altimg") { + isNodePreview = true; + var alttext = this.filterPreview(math.getAttribute("alttext")); + if (preview === "alttext") { + if (alttext != null) {preview = MathJax.HTML.TextNode(alttext)} else {preview = null} + } else { + var src = math.getAttribute("altimg"); + if (src != null) { + // FIXME: use altimg-valign when display="inline"? + var style = {width: math.getAttribute("altimg-width"), height: math.getAttribute("altimg-height")}; + preview = MathJax.HTML.Element("img",{src:src,alt:alttext,style:style}); + } else {preview = null} + } + } + if (preview) { + var span; + if (isNodePreview) { + span = MathJax.HTML.Element("span",{className:previewClass}); + span.appendChild(preview); + } else { + span = MathJax.HTML.Element("span",{className:previewClass},preview); + } + script.parentNode.insertBefore(span,script); + } + }, + + filterPreview: function (text) {return text}, + + InitBrowser: function () { + var test = MathJax.HTML.Element("span",{id:"<", className: "mathjax", innerHTML: "x"}); + var html = test.outerHTML || ""; + this.AttributeBug = html !== "" && !( + html.match(/id="<"/) && // "<" should convert to "<" + html.match(/class="mathjax"/) && // IE leaves out quotes + html.match(/<\/math>/) // Opera 9 drops tags after self-closing tags + ); + this.MathTagBug = test.childNodes.length > 1; // IE < 9 flattens unknown tags + this.CleanupHTML = MathJax.Hub.Browser.isMSIE; // remove namespace and other added tags + } + +}; + +// +// We register the preprocessors with the following priorities: +// - mml2jax.js: 5 +// - jsMath2jax.js: 8 +// - asciimath2jax.js, tex2jax.js: 10 (default) +// See issues 18 and 484 and the other *2jax.js files. +// +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.mml2jax],5); +MathJax.Ajax.loadComplete("[MathJax]/extensions/mml2jax.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/tex2jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/tex2jax.js new file mode 100644 index 00000000..e3af3f9f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/tex2jax.js @@ -0,0 +1,319 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/tex2jax.js + * + * Implements the TeX to Jax preprocessor that locates TeX code + * within the text of a document and replaces it with SCRIPT tags + * for processing by MathJax. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension.tex2jax = { + version: "2.7.5", + config: { + inlineMath: [ // The start/stop pairs for in-line math +// ['$','$'], // (comment out any you don't want, or add your own, but + ['\\(','\\)'] // be sure that you don't have an extra comma at the end) + ], + + displayMath: [ // The start/stop pairs for display math + ['$$','$$'], // (comment out any you don't want, or add your own, but + ['\\[','\\]'] // be sure that you don't have an extra comma at the end) + ], + + skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], + // The names of the tags whose contents will not be + // scanned for math delimiters + + ignoreClass: "tex2jax_ignore", // the class name of elements whose contents should + // NOT be processed by tex2jax. Note that this + // is a regular expression, so be sure to quote any + // regexp special characters + + processClass: "tex2jax_process", // the class name of elements whose contents SHOULD + // be processed when they appear inside ones that + // are ignored. Note that this is a regular expression, + // so be sure to quote any regexp special characters + + processEscapes: false, // set to true to allow \$ to produce a dollar without + // starting in-line math mode + + processEnvironments: true, // set to true to process \begin{xxx}...\end{xxx} outside + // of math mode, false to prevent that + + processRefs: true, // set to true to process \ref{...} outside of math mode + + + preview: "TeX" // set to "none" to not insert MathJax_Preview spans + // or set to an array specifying an HTML snippet + // to use the same preview for every equation. + + }, + + // + // Tags to ignore when searching for TeX in the page + // + ignoreTags: { + br: (MathJax.Hub.Browser.isMSIE && document.documentMode < 9 ? "\n" : " "), + wbr: "", + "#comment": "" + }, + + PreProcess: function (element) { + if (!this.configured) { + this.config = MathJax.Hub.CombineConfig("tex2jax",this.config); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + if (typeof(this.config.previewTeX) !== "undefined" && !this.config.previewTeX) + {this.config.preview = "none"} // backward compatibility for previewTeX parameter + this.configured = true; + } + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = document.body} + if (this.createPatterns()) {this.scanElement(element,element.nextSibling)} + }, + + createPatterns: function () { + var starts = [], parts = [], i, m, config = this.config; + this.match = {}; + for (i = 0, m = config.inlineMath.length; i < m; i++) { + starts.push(this.patternQuote(config.inlineMath[i][0])); + this.match[config.inlineMath[i][0]] = { + mode: "", + end: config.inlineMath[i][1], + pattern: this.endPattern(config.inlineMath[i][1]) + }; + } + for (i = 0, m = config.displayMath.length; i < m; i++) { + starts.push(this.patternQuote(config.displayMath[i][0])); + this.match[config.displayMath[i][0]] = { + mode: "; mode=display", + end: config.displayMath[i][1], + pattern: this.endPattern(config.displayMath[i][1]) + }; + } + if (starts.length) {parts.push(starts.sort(this.sortLength).join("|"))} + if (config.processEnvironments) {parts.push("\\\\begin\\{([^}]*)\\}")} + if (config.processEscapes) {parts.push("\\\\*\\\\\\\$")} + if (config.processRefs) {parts.push("\\\\(eq)?ref\\{[^}]*\\}")} + this.start = new RegExp(parts.join("|"),"g"); + this.skipTags = new RegExp("^("+config.skipTags.join("|")+")$","i"); + var ignore = []; + if (MathJax.Hub.config.preRemoveClass) {ignore.push(MathJax.Hub.config.preRemoveClass)}; + if (config.ignoreClass) {ignore.push(config.ignoreClass)} + this.ignoreClass = (ignore.length ? new RegExp("(^| )("+ignore.join("|")+")( |$)") : /^$/); + this.processClass = new RegExp("(^| )("+config.processClass+")( |$)"); + return (parts.length > 0); + }, + + patternQuote: function (s) {return s.replace(/([\^$(){}+*?\-|\[\]\:\\])/g,'\\$1')}, + + endPattern: function (end) { + return new RegExp(this.patternQuote(end)+"|\\\\.|[{}]","g"); + }, + + sortLength: function (a,b) { + if (a.length !== b.length) {return b.length - a.length} + return (a == b ? 0 : (a < b ? -1 : 1)); + }, + + scanElement: function (element,stop,ignore) { + var cname, tname, ignoreChild, process; + while (element && element != stop) { + if (element.nodeName.toLowerCase() === '#text') { + if (!ignore) {element = this.scanText(element)} + } else { + cname = (typeof(element.className) === "undefined" ? "" : element.className); + tname = (typeof(element.tagName) === "undefined" ? "" : element.tagName); + if (typeof(cname) !== "string") {cname = String(cname)} // jsxgraph uses non-string class names! + process = this.processClass.exec(cname); + if (element.firstChild && !cname.match(/(^| )MathJax/) && + (process || !this.skipTags.exec(tname))) { + ignoreChild = (ignore || this.ignoreClass.exec(cname)) && !process; + this.scanElement(element.firstChild,stop,ignoreChild); + } + } + if (element) {element = element.nextSibling} + } + }, + + scanText: function (element) { + if (element.nodeValue.replace(/\s+/,'') == '') {return element} + var match, prev, pos = 0, rescan; + this.search = {start: true}; + this.pattern = this.start; + while (element) { + rescan = null; + this.pattern.lastIndex = pos; pos = 0; + while (element && element.nodeName.toLowerCase() === '#text' && + (match = this.pattern.exec(element.nodeValue))) { + if (this.search.start) {element = this.startMatch(match,element)} + else {element = this.endMatch(match,element)} + } + if (this.search.matched) element = this.encloseMath(element); + else if (!this.search.start) rescan = this.search; + if (element) { + do {prev = element; element = element.nextSibling} + while (element && this.ignoreTags[element.nodeName.toLowerCase()] != null); + if (!element || element.nodeName !== '#text') { + if (!rescan) return (this.search.close ? this.prevEndMatch() : prev); + element = rescan.open; + pos = rescan.opos + rescan.olen + (rescan.blen || 0); + this.search = {start: true}; + this.pattern = this.start; + } + } + } + return element; + }, + + startMatch: function (match,element) { + var delim = this.match[match[0]]; + if (delim != null) { // a start delimiter + this.search = { + end: delim.end, mode: delim.mode, pcount: 0, + open: element, olen: match[0].length, opos: this.pattern.lastIndex - match[0].length + }; + this.switchPattern(delim.pattern); + } else if (match[0].substr(0,6) === "\\begin") { // \begin{...} + this.search = { + end: "\\end{"+match[1]+"}", mode: "; mode=display", pcount: 0, + open: element, olen: 0, opos: this.pattern.lastIndex - match[0].length, + blen: match[1].length + 3, isBeginEnd: true + }; + this.switchPattern(this.endPattern(this.search.end)); + } else if (match[0].substr(0,4) === "\\ref" || match[0].substr(0,6) === "\\eqref") { + this.search = { + mode: "", end: "", open: element, pcount: 0, + olen: 0, opos: this.pattern.lastIndex - match[0].length + } + return this.endMatch([""],element); + } else { // escaped dollar signs + // put $ in a span so it doesn't get processed again + // split off backslashes so they don't get removed later + var slashes = match[0].substr(0,match[0].length-1), n, span; + if (slashes.length % 2 === 0) {span = [slashes.replace(/\\\\/g,"\\")]; n = 1} + else {span = [slashes.substr(1).replace(/\\\\/g,"\\"),"$"]; n = 0} + span = MathJax.HTML.Element("span",null,span); + var text = MathJax.HTML.TextNode(element.nodeValue.substr(0,match.index)); + element.nodeValue = element.nodeValue.substr(match.index + match[0].length - n); + element.parentNode.insertBefore(span,element); + element.parentNode.insertBefore(text,span); + this.pattern.lastIndex = n; + } + return element; + }, + + endMatch: function (match,element) { + var search = this.search; + if (match[0] == search.end) { + if (!search.close || search.pcount === 0) { + search.close = element; + search.cpos = this.pattern.lastIndex; + search.clen = (search.isBeginEnd ? 0 : match[0].length); + } + if (search.pcount === 0) { + search.matched = true; + element = this.encloseMath(element); + this.switchPattern(this.start); + } + } + else if (match[0] === "{") {search.pcount++} + else if (match[0] === "}" && search.pcount) {search.pcount--} + return element; + }, + prevEndMatch: function () { + this.search.matched = true; + var element = this.encloseMath(this.search.close); + this.switchPattern(this.start); + return element; + }, + + switchPattern: function (pattern) { + pattern.lastIndex = this.pattern.lastIndex; + this.pattern = pattern; + this.search.start = (pattern === this.start); + }, + + encloseMath: function (element) { + var search = this.search, close = search.close, CLOSE, math, next; + if (search.cpos === close.length) {close = close.nextSibling} + else {close = close.splitText(search.cpos)} + if (!close) {CLOSE = close = MathJax.HTML.addText(search.close.parentNode,"")} + search.close = close; + math = (search.opos ? search.open.splitText(search.opos) : search.open); + while ((next = math.nextSibling) && next !== close) { + if (next.nodeValue !== null) { + if (next.nodeName === "#comment") { + math.nodeValue += next.nodeValue.replace(/^\[CDATA\[((.|\n|\r)*)\]\]$/,"$1"); + } else { + math.nodeValue += next.nodeValue; + } + } else { + var ignore = this.ignoreTags[next.nodeName.toLowerCase()]; + math.nodeValue += (ignore == null ? " " : ignore); + } + math.parentNode.removeChild(next); + } + var TeX = math.nodeValue.substr(search.olen,math.nodeValue.length-search.olen-search.clen); + math.parentNode.removeChild(math); + if (this.config.preview !== "none") {this.createPreview(search.mode,TeX)} + math = this.createMathTag(search.mode,TeX); + this.search = {}; this.pattern.lastIndex = 0; + if (CLOSE) {CLOSE.parentNode.removeChild(CLOSE)} + return math; + }, + + insertNode: function (node) { + var search = this.search; + search.close.parentNode.insertBefore(node,search.close); + }, + + createPreview: function (mode,tex) { + var previewClass = MathJax.Hub.config.preRemoveClass; + var preview = this.config.preview; + if (preview === "none") return; + if ((this.search.close.previousSibling||{}).className === previewClass) return; + if (preview === "TeX") {preview = [this.filterPreview(tex)]} + if (preview) { + preview = MathJax.HTML.Element("span",{className:previewClass},preview); + this.insertNode(preview); + } + }, + + createMathTag: function (mode,tex) { + var script = document.createElement("script"); + script.type = "math/tex" + mode; + MathJax.HTML.setScript(script,tex); + this.insertNode(script); + return script; + }, + + filterPreview: function (tex) {return tex} + +}; + +// We register the preprocessors with the following priorities: +// - mml2jax.js: 5 +// - jsMath2jax.js: 8 +// - asciimath2jax.js, tex2jax.js: 10 (default) +// See issues 18 and 484 and the other *2jax.js files. +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.tex2jax]); +MathJax.Ajax.loadComplete("[MathJax]/extensions/tex2jax.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/toMathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/toMathML.js new file mode 100644 index 00000000..acd5b31d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/toMathML.js @@ -0,0 +1,241 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/toMathML.js + * + * Implements a toMathML() method for the mml Element Jax that returns + * a MathML string from a given math expression. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js",function () { + var VERSION = "2.7.5"; + + var MML = MathJax.ElementJax.mml, + SETTINGS = MathJax.Hub.config.menuSettings; + + MML.mbase.Augment({ + + toMathML: function (space) { + var inferred = (this.inferred && this.parent.inferRow); + if (space == null) {space = ""} + var tag = this.type, attr = this.toMathMLattributes(); + if (tag === "mspace") {return space + "<"+tag+attr+" />"} + var data = [], SPACE = (this.isToken ? "" : space+(inferred ? "" : " ")); + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {data.push(this.data[i].toMathML(SPACE))} + else if (!this.isToken && !this.isChars) {data.push(SPACE+"")} + } + if (this.isToken || this.isChars) {return space + "<"+tag+attr+">"+data.join("")+""} + if (inferred) {return data.join("\n")} + if (data.length === 0 || (data.length === 1 && data[0] === "")) + {return space + "<"+tag+attr+" />"} + return space + "<"+tag+attr+">\n"+data.join("\n")+"\n"+ space +""; + }, + + toMathMLattributes: function () { + var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); + var names = (this.attrNames||MML.copyAttributeNames), + skip = MML.skipAttributes, copy = MML.copyAttributes; + var attr = []; + + if (this.type === "math" && (!this.attr || !('xmlns' in this.attr))) + {attr.push('xmlns="http://www.w3.org/1998/Math/MathML"')} + if (!this.attrNames) { + for (var id in defaults) {if (!skip[id] && !copy[id] && defaults.hasOwnProperty(id)) { + if (this[id] != null && this[id] !== defaults[id]) { + if (this.Get(id,null,1) !== this[id]) + attr.push(id+'="'+this.toMathMLattribute(this[id])+'"'); + } + }} + } + for (var i = 0, m = names.length; i < m; i++) { + if (copy[names[i]] === 1 && !defaults.hasOwnProperty(names[i])) continue; + value = (this.attr||{})[names[i]]; if (value == null) {value = this[names[i]]} + if (value != null) {attr.push(names[i]+'="'+this.toMathMLquote(value)+'"')} + } + this.toMathMLclass(attr); + if (attr.length) {return " "+attr.join(" ")} else {return ""} + }, + toMathMLclass: function (attr) { + var CLASS = []; if (this["class"]) {CLASS.push(this["class"])} + if (this.isa(MML.TeXAtom) && SETTINGS.texHints) { + var TEXCLASS = ["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"][this.texClass]; + if (TEXCLASS) { + CLASS.push("MJX-TeXAtom-"+TEXCLASS) + if (TEXCLASS === "OP" && !this.movablelimits) CLASS.push("MJX-fixedlimits"); + } + } + if (this.mathvariant && this.toMathMLvariants[this.mathvariant]) + {CLASS.push("MJX"+this.mathvariant)} + if (this.variantForm) {CLASS.push("MJX-variant")} + if (CLASS.length) {attr.unshift('class="'+this.toMathMLquote(CLASS.join(" "))+'"')} + }, + toMathMLattribute: function (value) { + if (typeof(value) === "string" && + value.replace(/ /g,"").match(/^(([-+])?(\d+(\.\d*)?|\.\d+))mu$/)) { + // FIXME: should take scriptlevel into account + return (RegExp.$2||"")+((1/18)*RegExp.$3).toFixed(3).replace(/\.?0+$/,"")+"em"; + } + else if (this.toMathMLvariants[value]) {return this.toMathMLvariants[value]} + return this.toMathMLquote(value); + }, + toMathMLvariants: { + "-tex-caligraphic": MML.VARIANT.SCRIPT, + "-tex-caligraphic-bold": MML.VARIANT.BOLDSCRIPT, + "-tex-oldstyle": MML.VARIANT.NORMAL, + "-tex-oldstyle-bold": MML.VARIANT.BOLD, + "-tex-mathit": MML.VARIANT.ITALIC + }, + + toMathMLquote: function (string) { + string = String(string).split(""); + for (var i = 0, m = string.length; i < m; i++) { + var n = string[i].charCodeAt(0); + if (n <= 0xD7FF || 0xE000 <= n) { + // Code points U+0000 to U+D7FF and U+E000 to U+FFFF. + // They are directly represented by n. + if (n > 0x7E || (n < 0x20 && n !== 0x0A && n !== 0x0D && n !== 0x09)) { + string[i] = "&#x"+n.toString(16).toUpperCase()+";"; + } else { + var c = + {'&':'&', '<':'<', '>':'>', '"':'"'}[string[i]]; + if (c) {string[i] = c} + } + } else if (i+1 < m) { + // Code points U+10000 to U+10FFFF. + // n is the lead surrogate, let's read the trail surrogate. + var trailSurrogate = string[i+1].charCodeAt(0); + var codePoint = (((n-0xD800)<<10)+(trailSurrogate-0xDC00)+0x10000); + string[i] = "&#x"+codePoint.toString(16).toUpperCase()+";"; + string[i+1] = ""; + i++; + } else { + // n is a lead surrogate without corresponding trail surrogate: + // remove that character. + string[i] = ""; + } + } + return string.join(""); + } + }); + + // + // Override math.toMathML in order to add semantics tag + // for the input format, if the user requests that in the + // Show As menu. + // + MML.math.Augment({ + toMathML: function (space,jax) { + var annotation; + if (space == null) {space = ""} + if (jax && jax.originalText && SETTINGS.semantics) + {annotation = MathJax.InputJax[jax.inputJax].annotationEncoding} + var nested = (this.data[0] && this.data[0].data.length > 1); + var tag = this.type, attr = this.toMathMLattributes(); + var data = [], SPACE = space + (annotation ? " " + (nested ? " " : "") : "") + " "; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {data.push(this.data[i].toMathML(SPACE))} + else {data.push(SPACE+"")} + } + if (data.length === 0 || (data.length === 1 && data[0] === "")) { + if (!annotation) {return "<"+tag+attr+" />"} + data.push(SPACE+""); + } + if (annotation) { + if (nested) {data.unshift(space+" "); data.push(space+" ")} + data.unshift(space+" "); + var xmlEscapedTex = jax.originalText.replace(/[&<>]/g, function(item) { + return { '>': '>', '<': '<','&': '&' }[item] + }); + data.push(space+' '+xmlEscapedTex+""); + data.push(space+" "); + } + return space+"<"+tag+attr+">\n"+data.join("\n")+"\n"+space+""; + } + }); + + MML.msubsup.Augment({ + toMathML: function (space) { + var tag = this.type; + if (this.data[this.sup] == null) {tag = "msub"} + if (this.data[this.sub] == null) {tag = "msup"} + var attr = this.toMathMLattributes(); + delete this.data[0].inferred; + var data = []; + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {data.push(this.data[i].toMathML(space+" "))}} + return space + "<"+tag+attr+">\n" + data.join("\n") + "\n" + space + ""; + } + }); + + MML.munderover.Augment({ + toMathML: function (space) { + var tag = this.type; + var base = this.data[this.base]; + if (base && base.isa(MML.TeXAtom) && base.movablelimits && !base.Get("displaystyle")) { + type = "msubsup"; + if (this.data[this.under] == null) {tag = "msup"} + if (this.data[this.over] == null) {tag = "msub"} + } else { + if (this.data[this.under] == null) {tag = "mover"} + if (this.data[this.over] == null) {tag = "munder"} + } + var attr = this.toMathMLattributes(); + delete this.data[0].inferred; + var data = []; + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {data.push(this.data[i].toMathML(space+" "))}} + return space + "<"+tag+attr+">\n" + data.join("\n") + "\n" + space + ""; + } + }); + + MML.TeXAtom.Augment({ + toMathML: function (space) { + // FIXME: Handle spacing using mpadded? + var attr = this.toMathMLattributes(); + if (!attr && this.data[0].data.length === 1) {return space.substr(2) + this.data[0].toMathML(space)} + return space+"\n" + this.data[0].toMathML(space+" ")+"\n"+space+""; + } + }); + + MML.chars.Augment({ + toMathML: function (space) {return (space||"") + this.toMathMLquote(this.toString())} + }); + + MML.entity.Augment({ + toMathML: function (space) {return (space||"") + "&"+this.toMathMLquote(this.data[0])+";"} + }); + + MML.xml.Augment({ + toMathML: function (space) {return (space||"") + this.toString()} + }); + + MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function () { + MML.TeXmathchoice.Augment({ + toMathML: function (space) {return this.Core().toMathML(space)} + }); + }); + + MathJax.Hub.Startup.signal.Post("toMathML Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/toMathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/jax.js new file mode 100644 index 00000000..e5f74321 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/jax.js @@ -0,0 +1,1813 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/element/mml/jax.js + * + * Implements the MML ElementJax that holds the internal represetation + * of the mathematics on the page. Various InputJax will produce this + * format, and the OutputJax will display it in various formats. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.ElementJax.mml = MathJax.ElementJax({ + mimeType: "jax/mml" +},{ + id: "mml", + version: "2.7.5", + directory: MathJax.ElementJax.directory + "/mml", + extensionDir: MathJax.ElementJax.extensionDir + "/mml", + optableDir: MathJax.ElementJax.directory + "/mml/optable" +}); + +MathJax.ElementJax.mml.Augment({ + Init: function () { + if (arguments.length === 1 && arguments[0].type === "math") {this.root = arguments[0]} + else {this.root = MathJax.ElementJax.mml.math.apply(this,arguments)} + if (this.root.attr && this.root.attr.mode) { + if (!this.root.display && this.root.attr.mode === "display") { + this.root.display = "block"; + this.root.attrNames.push("display"); + } + delete this.root.attr.mode; + for (var i = 0, m = this.root.attrNames.length; i < m; i++) { + if (this.root.attrNames[i] === "mode") {this.root.attrNames.splice(i,1); break} + } + } + } +},{ + INHERIT: "_inherit_", + AUTO: "_auto_", + SIZE: { + INFINITY: "infinity", + SMALL: "small", + NORMAL: "normal", + BIG: "big" + }, + COLOR: { + TRANSPARENT: "transparent" + }, + VARIANT: { + NORMAL: "normal", + BOLD: "bold", + ITALIC: "italic", + BOLDITALIC: "bold-italic", + DOUBLESTRUCK: "double-struck", + FRAKTUR: "fraktur", + BOLDFRAKTUR: "bold-fraktur", + SCRIPT: "script", + BOLDSCRIPT: "bold-script", + SANSSERIF: "sans-serif", + BOLDSANSSERIF: "bold-sans-serif", + SANSSERIFITALIC: "sans-serif-italic", + SANSSERIFBOLDITALIC: "sans-serif-bold-italic", + MONOSPACE: "monospace", + INITIAL: "initial", + TAILED: "tailed", + LOOPED: "looped", + STRETCHED: "stretched", + CALIGRAPHIC: "-tex-caligraphic", + OLDSTYLE: "-tex-oldstyle" + }, + FORM: { + PREFIX: "prefix", + INFIX: "infix", + POSTFIX: "postfix" + }, + LINEBREAK: { + AUTO: "auto", + NEWLINE: "newline", + NOBREAK: "nobreak", + GOODBREAK: "goodbreak", + BADBREAK: "badbreak" + }, + LINEBREAKSTYLE: { + BEFORE: "before", + AFTER: "after", + DUPLICATE: "duplicate", + INFIXLINBREAKSTYLE: "infixlinebreakstyle" + }, + INDENTALIGN: { + LEFT: "left", + CENTER: "center", + RIGHT: "right", + AUTO: "auto", + ID: "id", + INDENTALIGN: "indentalign" + }, + INDENTSHIFT: { + INDENTSHIFT: "indentshift" + }, + LINETHICKNESS: { + THIN: "thin", + MEDIUM: "medium", + THICK: "thick" + }, + NOTATION: { + LONGDIV: "longdiv", + ACTUARIAL: "actuarial", + RADICAL: "radical", + BOX: "box", + ROUNDEDBOX: "roundedbox", + CIRCLE: "circle", + LEFT: "left", + RIGHT: "right", + TOP: "top", + BOTTOM: "bottom", + UPDIAGONALSTRIKE: "updiagonalstrike", + DOWNDIAGONALSTRIKE: "downdiagonalstrike", + UPDIAGONALARROW: "updiagonalarrow", + VERTICALSTRIKE: "verticalstrike", + HORIZONTALSTRIKE: "horizontalstrike", + PHASORANGLE: "phasorangle", + MADRUWB: "madruwb" + }, + ALIGN: { + TOP: "top", + BOTTOM: "bottom", + CENTER: "center", + BASELINE: "baseline", + AXIS: "axis", + LEFT: "left", + RIGHT: "right" + }, + LINES: { + NONE: "none", + SOLID: "solid", + DASHED: "dashed" + }, + SIDE: { + LEFT: "left", + RIGHT: "right", + LEFTOVERLAP: "leftoverlap", + RIGHTOVERLAP: "rightoverlap" + }, + WIDTH: { + AUTO: "auto", + FIT: "fit" + }, + ACTIONTYPE: { + TOGGLE: "toggle", + STATUSLINE: "statusline", + TOOLTIP: "tooltip", + INPUT: "input" + }, + LENGTH: { + VERYVERYTHINMATHSPACE: "veryverythinmathspace", + VERYTHINMATHSPACE: "verythinmathspace", + THINMATHSPACE: "thinmathspace", + MEDIUMMATHSPACE: "mediummathspace", + THICKMATHSPACE: "thickmathspace", + VERYTHICKMATHSPACE: "verythickmathspace", + VERYVERYTHICKMATHSPACE: "veryverythickmathspace", + NEGATIVEVERYVERYTHINMATHSPACE: "negativeveryverythinmathspace", + NEGATIVEVERYTHINMATHSPACE: "negativeverythinmathspace", + NEGATIVETHINMATHSPACE: "negativethinmathspace", + NEGATIVEMEDIUMMATHSPACE: "negativemediummathspace", + NEGATIVETHICKMATHSPACE: "negativethickmathspace", + NEGATIVEVERYTHICKMATHSPACE: "negativeverythickmathspace", + NEGATIVEVERYVERYTHICKMATHSPACE: "negativeveryverythickmathspace" + }, + OVERFLOW: { + LINBREAK: "linebreak", + SCROLL: "scroll", + ELIDE: "elide", + TRUNCATE: "truncate", + SCALE: "scale" + }, + UNIT: { + EM: "em", + EX: "ex", + PX: "px", + IN: "in", + CM: "cm", + MM: "mm", + PT: "pt", + PC: "pc" + }, + TEXCLASS: { + ORD: 0, + OP: 1, + BIN: 2, + REL: 3, + OPEN: 4, + CLOSE: 5, + PUNCT: 6, + INNER: 7, + VCENTER: 8, + NONE: -1 + }, + TEXCLASSNAMES: ["ORD", "OP", "BIN", "REL", "OPEN", "CLOSE", "PUNCT", "INNER", "VCENTER"], + skipAttributes: { + texClass:true, useHeight:true, texprimestyle:true + }, + copyAttributes: { + displaystyle:1, scriptlevel:1, open:1, close:1, form:1, + actiontype: 1, + fontfamily:true, fontsize:true, fontweight:true, fontstyle:true, + color:true, background:true, + id:true, "class":1, href:true, style:true + }, + copyAttributeNames: [ + "displaystyle", "scriptlevel", "open", "close", "form", // force these to be copied + "actiontype", + "fontfamily", "fontsize", "fontweight", "fontstyle", + "color", "background", + "id", "class", "href", "style" + ], + nocopyAttributes: { + fontfamily: true, fontsize: true, fontweight: true, fontstyle: true, + color: true, background: true, + id: true, 'class': true, href: true, style: true, + xmlns: true + }, + Error: function (message,def) { + var mml = this.merror(message), + dir = MathJax.Localization.fontDirection(), + font = MathJax.Localization.fontFamily(); + if (def) {mml = mml.With(def)} + if (dir || font) { + mml = this.mstyle(mml); + if (dir) {mml.dir = dir} + if (font) {mml.style.fontFamily = "font-family: "+font} + } + return mml; + } +}); + +(function (MML) { + + MML.mbase = MathJax.Object.Subclass({ + type: "base", isToken: false, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT + }, + noInherit: {}, + noInheritAttribute: { + texClass: true + }, + getRemoved: {}, + linebreakContainer: false, + + Init: function () { + this.data = []; + if (this.inferRow && !(arguments.length === 1 && arguments[0].inferred)) + {this.Append(MML.mrow().With({inferred: true, notParent: true}))} + this.Append.apply(this,arguments); + }, + With: function (def) { + for (var id in def) {if (def.hasOwnProperty(id)) {this[id] = def[id]}} + return this; + }, + Append: function () { + if (this.inferRow && this.data.length) { + this.data[0].Append.apply(this.data[0],arguments); + } else { + for (var i = 0, m = arguments.length; i < m; i++) + {this.SetData(this.data.length,arguments[i])} + } + }, + SetData: function (i,item) { + if (item != null) { + if (!(item instanceof MML.mbase)) + {item = (this.isToken || this.isChars ? MML.chars(item) : MML.mtext(item))} + item.parent = this; + item.setInherit(this.inheritFromMe ? this : this.inherit); + } + this.data[i] = item; + }, + Parent: function () { + var parent = this.parent; + while (parent && parent.notParent) {parent = parent.parent} + return parent; + }, + Get: function (name,nodefault,noself) { + if (!noself) { + if (this[name] != null) {return this[name]} + if (this.attr && this.attr[name] != null) {return this.attr[name]} + } + // FIXME: should cache these values and get from cache + // (clear cache when appended to a new object?) + var parent = this.Parent(); + if (parent && parent["adjustChild_"+name] != null) { + return (parent["adjustChild_"+name])(this.childPosition(),nodefault); + } + var obj = this.inherit; var root = obj; + while (obj) { + var value = obj[name]; if (value == null && obj.attr) {value = obj.attr[name]} + if (obj.removedStyles && obj.getRemoved[name] && value == null) value = obj.removedStyles[obj.getRemoved[name]]; + if (value != null && obj.noInheritAttribute && !obj.noInheritAttribute[name]) { + var noInherit = obj.noInherit[this.type]; + if (!(noInherit && noInherit[name])) {return value} + } + root = obj; obj = obj.inherit; + } + if (!nodefault) { + if (this.defaults[name] === MML.AUTO) {return this.autoDefault(name)} + if (this.defaults[name] !== MML.INHERIT && this.defaults[name] != null) + {return this.defaults[name]} + if (root) {return root.defaults[name]} + } + return null; + }, + hasValue: function (name) {return (this.Get(name,true) != null)}, + getValues: function () { + var values = {}; + for (var i = 0, m = arguments.length; i < m; i++) + {values[arguments[i]] = this.Get(arguments[i])} + return values; + }, + adjustChild_scriptlevel: function (i,nodef) {return this.Get("scriptlevel",nodef)}, // always inherit from parent + adjustChild_displaystyle: function (i,nodef) {return this.Get("displaystyle",nodef)}, // always inherit from parent + adjustChild_texprimestyle: function (i,nodef) {return this.Get("texprimestyle",nodef)}, // always inherit from parent + hasMMLspacing: function () {return false}, + childPosition: function () { + var child = this, parent = child.parent; + while (parent.notParent) {child = parent; parent = child.parent} + for (var i = 0, m = parent.data.length; i < m; i++) {if (parent.data[i] === child) {return i}} + return null; + }, + setInherit: function (obj) { + if (obj !== this.inherit && this.inherit == null) { + this.inherit = obj; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] && this.data[i].setInherit) {this.data[i].setInherit(obj)} + } + } + }, + setTeXclass: function (prev) { + this.getPrevClass(prev); + return (typeof(this.texClass) !== "undefined" ? this : prev); + }, + getPrevClass: function (prev) { + if (prev) { + this.prevClass = prev.Get("texClass"); + this.prevLevel = prev.Get("scriptlevel"); + } + }, + updateTeXclass: function (core) { + if (core) { + this.prevClass = core.prevClass; delete core.prevClass; + this.prevLevel = core.prevLevel; delete core.prevLevel; + this.texClass = core.Get("texClass"); + } + }, + texSpacing: function () { + var prev = (this.prevClass != null ? this.prevClass : MML.TEXCLASS.NONE); + var tex = (this.Get("texClass") || MML.TEXCLASS.ORD); + if (prev === MML.TEXCLASS.NONE || tex === MML.TEXCLASS.NONE) {return ""} + if (prev === MML.TEXCLASS.VCENTER) {prev = MML.TEXCLASS.ORD} + if (tex === MML.TEXCLASS.VCENTER) {tex = MML.TEXCLASS.ORD} + var space = this.TEXSPACE[prev][tex]; + if ((this.prevLevel > 0 || this.Get("scriptlevel") > 0) && space >= 0) {return ""} + return this.TEXSPACELENGTH[Math.abs(space)]; + }, + TEXSPACELENGTH:[ + "", + MML.LENGTH.THINMATHSPACE, + MML.LENGTH.MEDIUMMATHSPACE, + MML.LENGTH.THICKMATHSPACE + ], + // See TeXBook Chapter 18 (p. 170) + TEXSPACE: [ + [ 0,-1, 2, 3, 0, 0, 0, 1], // ORD + [-1,-1, 0, 3, 0, 0, 0, 1], // OP + [ 2, 2, 0, 0, 2, 0, 0, 2], // BIN + [ 3, 3, 0, 0, 3, 0, 0, 3], // REL + [ 0, 0, 0, 0, 0, 0, 0, 0], // OPEN + [ 0,-1, 2, 3, 0, 0, 0, 1], // CLOSE + [ 1, 1, 0, 1, 1, 1, 1, 1], // PUNCT + [ 1,-1, 2, 3, 1, 0, 1, 1] // INNER + ], + autoDefault: function (name) {return ""}, + isSpacelike: function () {return false}, + isEmbellished: function () {return false}, + Core: function () {return this}, + CoreMO: function () {return this}, + childIndex: function(child) { + if (child == null) return; + for (var i = 0, m = this.data.length; i < m; i++) if (child === this.data[i]) return i; + }, + CoreIndex: function () { + return (this.inferRow ? this.data[0]||this : this).childIndex(this.Core()); + }, + hasNewline: function () { + if (this.isEmbellished()) {return this.CoreMO().hasNewline()} + if (this.isToken || this.linebreakContainer) {return false} + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] && this.data[i].hasNewline()) {return true} + } + return false; + }, + array: function () {if (this.inferred) {return this.data} else {return [this]}}, + toString: function () {return this.type+"("+this.data.join(",")+")"}, + getAnnotation: function () {return null} + },{ + childrenSpacelike: function () { + for (var i = 0, m = this.data.length; i < m; i++) + {if (!this.data[i].isSpacelike()) {return false}} + return true; + }, + childEmbellished: function () { + return (this.data[0] && this.data[0].isEmbellished()); + }, + childCore: function () {return (this.inferRow && this.data[0] ? this.data[0].Core() : this.data[0])}, + childCoreMO: function () {return (this.data[0] ? this.data[0].CoreMO() : null)}, + setChildTeXclass: function (prev) { + if (this.data[0]) { + prev = this.data[0].setTeXclass(prev); + this.updateTeXclass(this.data[0]); + } + return prev; + }, + setBaseTeXclasses: function (prev) { + this.getPrevClass(prev); this.texClass = null; + if (this.data[0]) { + if (this.isEmbellished() || this.data[0].isa(MML.mi)) { + prev = this.data[0].setTeXclass(prev); + this.updateTeXclass(this.Core()); + } else {this.data[0].setTeXclass(); prev = this} + } else {prev = this} + for (var i = 1, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].setTeXclass()}} + return prev; + }, + setSeparateTeXclasses: function (prev) { + this.getPrevClass(prev); + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].setTeXclass()}} + if (this.isEmbellished()) {this.updateTeXclass(this.Core())} + return this; + } + }); + + MML.mi = MML.mbase.Subclass({ + type: "mi", isToken: true, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.AUTO, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT + }, + autoDefault: function (name) { + if (name === "mathvariant") { + var mi = (this.data[0]||"").toString(); + return (mi.length === 1 || + (mi.length === 2 && mi.charCodeAt(0) >= 0xD800 && mi.charCodeAt(0) < 0xDC00) ? + MML.VARIANT.ITALIC : MML.VARIANT.NORMAL); + } + return ""; + }, + setTeXclass: function (prev) { + this.getPrevClass(prev); + var name = this.data.join(""); + if (name.length > 1 && name.match(/^[a-z][a-z0-9]*$/i) && + this.texClass === MML.TEXCLASS.ORD) { + this.texClass = MML.TEXCLASS.OP; + this.autoOP = true; + } + return this; + } + }); + + MML.mn = MML.mbase.Subclass({ + type: "mn", isToken: true, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT + } + }); + + MML.mo = MML.mbase.Subclass({ + type: "mo", isToken: true, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT, + form: MML.AUTO, + fence: MML.AUTO, + separator: MML.AUTO, + lspace: MML.AUTO, + rspace: MML.AUTO, + stretchy: MML.AUTO, + symmetric: MML.AUTO, + maxsize: MML.AUTO, + minsize: MML.AUTO, + largeop: MML.AUTO, + movablelimits: MML.AUTO, + accent: MML.AUTO, + linebreak: MML.LINEBREAK.AUTO, + lineleading: MML.INHERIT, + linebreakstyle: MML.AUTO, + linebreakmultchar: MML.INHERIT, + indentalign: MML.INHERIT, + indentshift: MML.INHERIT, + indenttarget: MML.INHERIT, + indentalignfirst: MML.INHERIT, + indentshiftfirst: MML.INHERIT, + indentalignlast: MML.INHERIT, + indentshiftlast: MML.INHERIT, + texClass: MML.AUTO + }, + defaultDef: { + form: MML.FORM.INFIX, + fence: false, + separator: false, + lspace: MML.LENGTH.THICKMATHSPACE, + rspace: MML.LENGTH.THICKMATHSPACE, + stretchy: false, + symmetric: false, + maxsize: MML.SIZE.INFINITY, + minsize: '0em', //'1em', + largeop: false, + movablelimits: false, + accent: false, + linebreak: MML.LINEBREAK.AUTO, + lineleading: "1ex", + linebreakstyle: "before", + indentalign: MML.INDENTALIGN.AUTO, + indentshift: "0", + indenttarget: "", + indentalignfirst: MML.INDENTALIGN.INDENTALIGN, + indentshiftfirst: MML.INDENTSHIFT.INDENTSHIFT, + indentalignlast: MML.INDENTALIGN.INDENTALIGN, + indentshiftlast: MML.INDENTSHIFT.INDENTSHIFT, + texClass: MML.TEXCLASS.REL // for MML, but TeX sets ORD explicitly + }, + SPACE_ATTR: {lspace: 0x01, rspace: 0x02}, + useMMLspacing: 0x03, + hasMMLspacing: function () { + if (this.useMMLspacing) return true; + return this.form && (this.OPTABLE[this.form]||{})[this.data.join('')]; + }, + autoDefault: function (name,nodefault) { + var def = this.def; + if (!def) { + if (name === "form") {return this.getForm()} + var mo = this.data.join(""); + var forms = [this.Get("form"),MML.FORM.INFIX,MML.FORM.POSTFIX,MML.FORM.PREFIX]; + for (var i = 0, m = forms.length; i < m; i++) { + var data = this.OPTABLE[forms[i]][mo]; + if (data) {def = this.makeDef(data); break} + } + if (!def) {def = this.CheckRange(mo)} + if (!def && nodefault) {def = {}} else { + if (!def) {def = MathJax.Hub.Insert({},this.defaultDef)} + if (this.parent) {this.def = def} else {def = MathJax.Hub.Insert({},def)} + def.form = forms[0]; + } + } + this.useMMLspacing &= ~(this.SPACE_ATTR[name] || 0); + if (def[name] != null) {return def[name]} + else if (!nodefault) {return this.defaultDef[name]} + return ""; + }, + CheckRange: function (mo) { + var n = mo.charCodeAt(0); + if (n >= 0xD800 && n < 0xDC00) {n = (((n-0xD800)<<10)+(mo.charCodeAt(1)-0xDC00))+0x10000} + for (var i = 0, m = this.RANGES.length; i < m && this.RANGES[i][0] <= n; i++) { + if (n <= this.RANGES[i][1]) { + if (this.RANGES[i][3]) { + var file = MML.optableDir+"/"+this.RANGES[i][3]+".js"; + this.RANGES[i][3] = null; + MathJax.Hub.RestartAfter(MathJax.Ajax.Require(file)); + } + var data = MML.TEXCLASSNAMES[this.RANGES[i][2]]; + data = this.OPTABLE.infix[mo] = MML.mo.OPTYPES[data === "BIN" ? "BIN3" : data]; + return this.makeDef(data); + } + } + return null; + }, + makeDef: function (data) { + if (data[2] == null) {data[2] = this.defaultDef.texClass} + if (!data[3]) {data[3] = {}} + var def = MathJax.Hub.Insert({},data[3]); + def.lspace = this.SPACE[data[0]]; def.rspace = this.SPACE[data[1]]; + def.texClass = data[2]; + if (def.texClass === MML.TEXCLASS.REL && + (this.movablelimits || this.data.join("").match(/^[a-z]+$/i))) + {def.texClass = MML.TEXCLASS.OP} // mark named operators as OP + return def; + }, + getForm: function () { + var core = this, parent = this.parent, Parent = this.Parent(); + while (Parent && Parent.isEmbellished()) + {core = parent; parent = Parent.parent; Parent = Parent.Parent()} + if (parent && parent.type === "mrow" && parent.NonSpaceLength() !== 1) { + if (parent.FirstNonSpace() === core) {return MML.FORM.PREFIX} + if (parent.LastNonSpace() === core) {return MML.FORM.POSTFIX} + } + return MML.FORM.INFIX; + }, + isEmbellished: function () {return true}, + hasNewline: function () {return (this.Get("linebreak") === MML.LINEBREAK.NEWLINE)}, + CoreParent: function () { + var parent = this; + while (parent && parent.isEmbellished() && + parent.CoreMO() === this && !parent.isa(MML.math)) {parent = parent.Parent()} + return parent; + }, + CoreText: function (parent) { + if (!parent) {return ""} + if (parent.isEmbellished()) {return parent.CoreMO().data.join("")} + while ((((parent.isa(MML.mrow) || parent.isa(MML.TeXAtom) || + parent.isa(MML.mstyle) || parent.isa(MML.mphantom)) && + parent.data.length === 1) || parent.isa(MML.munderover)) && + parent.data[0]) {parent = parent.data[0]} + if (!parent.isToken) {return ""} else {return parent.data.join("")} + }, + remapChars: { + '*':"\u2217", + '"':"\u2033", + "\u00B0":"\u2218", + "\u00B2":"2", + "\u00B3":"3", + "\u00B4":"\u2032", + "\u00B9":"1" + }, + remap: function (text,map) { + text = text.replace(/-/g,"\u2212"); + if (map) { + text = text.replace(/'/g,"\u2032").replace(/`/g,"\u2035"); + if (text.length === 1) {text = map[text]||text} + } + return text; + }, + setTeXclass: function (prev) { + var values = this.getValues("form","lspace","rspace","fence"); // sets useMMLspacing + if (this.hasMMLspacing()) {this.texClass = MML.TEXCLASS.NONE; return this} + if (values.fence && !this.texClass) { + if (values.form === MML.FORM.PREFIX) {this.texClass = MML.TEXCLASS.OPEN} + if (values.form === MML.FORM.POSTFIX) {this.texClass = MML.TEXCLASS.CLOSE} + } + this.texClass = this.Get("texClass"); + if (this.data.join("") === "\u2061") { + // force previous node to be texClass OP, and skip this node + if (prev) {prev.texClass = MML.TEXCLASS.OP; prev.fnOP = true} + this.texClass = this.prevClass = MML.TEXCLASS.NONE; + return prev; + } + return this.adjustTeXclass(prev); + }, + adjustTeXclass: function (prev) { + if (this.texClass === MML.TEXCLASS.NONE) {return prev} + if (prev) { + if (prev.autoOP && (this.texClass === MML.TEXCLASS.BIN || + this.texClass === MML.TEXCLASS.REL)) + {prev.texClass = MML.TEXCLASS.ORD} + this.prevClass = prev.texClass || MML.TEXCLASS.ORD; + this.prevLevel = prev.Get("scriptlevel") + } else {this.prevClass = MML.TEXCLASS.NONE} + if (this.texClass === MML.TEXCLASS.BIN && + (this.prevClass === MML.TEXCLASS.NONE || + this.prevClass === MML.TEXCLASS.BIN || + this.prevClass === MML.TEXCLASS.OP || + this.prevClass === MML.TEXCLASS.REL || + this.prevClass === MML.TEXCLASS.OPEN || + this.prevClass === MML.TEXCLASS.PUNCT)) { + this.texClass = MML.TEXCLASS.ORD; + } else if (this.prevClass === MML.TEXCLASS.BIN && + (this.texClass === MML.TEXCLASS.REL || + this.texClass === MML.TEXCLASS.CLOSE || + this.texClass === MML.TEXCLASS.PUNCT)) { + prev.texClass = this.prevClass = MML.TEXCLASS.ORD; + } else if (this.texClass === MML.TEXCLASS.BIN) { + // + // Check if node is the last one in its container since the rule + // above only takes effect if there is a node that follows. + // + var child = this, parent = this.parent; + while (parent && parent.parent && parent.isEmbellished() && + (parent.data.length === 1 || + (parent.type !== "mrow" && parent.Core() === child))) // handles msubsup and munderover + {child = parent; parent = parent.parent} + if (parent.data[parent.data.length-1] === child) this.texClass = MML.TEXCLASS.ORD; + } + return this; + } + }); + + MML.mtext = MML.mbase.Subclass({ + type: "mtext", isToken: true, + isSpacelike: function () {return true}, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT + } + }); + + MML.mspace = MML.mbase.Subclass({ + type: "mspace", isToken: true, + isSpacelike: function () {return true}, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + width: "0em", + height: "0ex", + depth: "0ex", + linebreak: MML.LINEBREAK.AUTO + }, + hasDimAttr: function () { + return (this.hasValue("width") || this.hasValue("height") || + this.hasValue("depth")); + }, + hasNewline: function () { + // The MathML spec says that the linebreak attribute should be ignored + // if any dimensional attribute is set. + return (!this.hasDimAttr() && + this.Get("linebreak") === MML.LINEBREAK.NEWLINE); + } + }); + + MML.ms = MML.mbase.Subclass({ + type: "ms", isToken: true, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT, + lquote: '"', + rquote: '"' + } + }); + + MML.mglyph = MML.mbase.Subclass({ + type: "mglyph", isToken: true, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + alt: "", + src: "", + width: MML.AUTO, + height: MML.AUTO, + valign: "0em" + } + }); + + MML.mrow = MML.mbase.Subclass({ + type: "mrow", + isSpacelike: MML.mbase.childrenSpacelike, + inferred: false, notParent: false, + isEmbellished: function () { + var isEmbellished = false; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] == null) continue; + if (this.data[i].isEmbellished()) { + if (isEmbellished) {return false} + isEmbellished = true; this.core = i; + } else if (!this.data[i].isSpacelike()) {return false} + } + return isEmbellished; + }, + NonSpaceLength: function () { + var n = 0; + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i] && !this.data[i].isSpacelike()) {n++}} + return n; + }, + FirstNonSpace: function () { + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i] && !this.data[i].isSpacelike()) {return this.data[i]}} + return null; + }, + LastNonSpace: function () { + for (var i = this.data.length-1; i >= 0; i--) + {if (this.data[0] && !this.data[i].isSpacelike()) {return this.data[i]}} + return null; + }, + Core: function () { + if (!(this.isEmbellished()) || typeof(this.core) === "undefined") {return this} + return this.data[this.core]; + }, + CoreMO: function () { + if (!(this.isEmbellished()) || typeof(this.core) === "undefined") {return this} + return this.data[this.core].CoreMO(); + }, + toString: function () { + if (this.inferred) {return '[' + this.data.join(',') + ']'} + return this.SUPER(arguments).toString.call(this); + }, + setTeXclass: function (prev) { + var i, m = this.data.length; + if ((this.open || this.close) && (!prev || !prev.fnOP)) { + // + // came from \left...\right + // so treat as subexpression (tex class INNER) + // + this.getPrevClass(prev); prev = null; + for (i = 0; i < m; i++) + {if (this.data[i]) {prev = this.data[i].setTeXclass(prev)}} + if (!this.hasOwnProperty("texClass")) this.texClass = MML.TEXCLASS.INNER; + return this; + } else { + // + // Normal , so treat as + // thorugh mrow is not there + // + for (i = 0; i < m; i++) + {if (this.data[i]) {prev = this.data[i].setTeXclass(prev)}} + if (this.data[0]) {this.updateTeXclass(this.data[0])} + return prev; + } + }, + getAnnotation: function (name) { + if (this.data.length != 1) return null; + return this.data[0].getAnnotation(name); + } + }); + + MML.mfrac = MML.mbase.Subclass({ + type: "mfrac", num: 0, den: 1, + linebreakContainer: true, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + linethickness: MML.LINETHICKNESS.MEDIUM, + numalign: MML.ALIGN.CENTER, + denomalign: MML.ALIGN.CENTER, + bevelled: false + }, + adjustChild_displaystyle: function (n) {return false}, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + if (!this.Get("displaystyle") || level > 0) {level++} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n == this.den) {return true} + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.msqrt = MML.mbase.Subclass({ + type: "msqrt", + inferRow: true, + linebreakContainer: true, + texClass: MML.TEXCLASS.ORD, + setTeXclass: MML.mbase.setSeparateTeXclasses, + adjustChild_texprimestyle: function (n) {return true} + }); + + MML.mroot = MML.mbase.Subclass({ + type: "mroot", + linebreakContainer: true, + texClass: MML.TEXCLASS.ORD, + adjustChild_displaystyle: function (n) { + if (n === 1) {return false} + return this.Get("displaystyle"); + }, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + if (n === 1) {level += 2} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n === 0) {return true}; + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.mstyle = MML.mbase.Subclass({ + type: "mstyle", + isSpacelike: MML.mbase.childrenSpacelike, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + inferRow: true, + defaults: { + scriptlevel: MML.INHERIT, + displaystyle: MML.INHERIT, + scriptsizemultiplier: Math.sqrt(1/2), + scriptminsize: "8pt", + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT, + infixlinebreakstyle: MML.LINEBREAKSTYLE.BEFORE, + decimalseparator: "." + }, + adjustChild_scriptlevel: function (n) { + var level = this.scriptlevel; + if (level == null) { + level = this.Get("scriptlevel"); + } else if (String(level).match(/^ *[-+]/)) { + var LEVEL = this.Get("scriptlevel",null,true); + level = LEVEL + parseInt(level); + } + return level; + }, + inheritFromMe: true, + noInherit: { + mpadded: {width: true, height: true, depth: true, lspace: true, voffset: true}, + mtable: {width: true, height: true, depth: true, align: true} + }, + getRemoved: {fontfamily:"fontFamily", fontweight:"fontWeight", fontstyle:"fontStyle", fontsize:"fontSize"}, + setTeXclass: MML.mbase.setChildTeXclass + }); + + MML.merror = MML.mbase.Subclass({ + type: "merror", + inferRow: true, + linebreakContainer: true, + texClass: MML.TEXCLASS.ORD + }); + + MML.mpadded = MML.mbase.Subclass({ + type: "mpadded", + inferRow: true, + isSpacelike: MML.mbase.childrenSpacelike, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + width: "", + height: "", + depth: "", + lspace: 0, + voffset: 0 + }, + setTeXclass: MML.mbase.setChildTeXclass + }); + + MML.mphantom = MML.mbase.Subclass({ + type: "mphantom", + texClass: MML.TEXCLASS.ORD, + inferRow: true, + isSpacelike: MML.mbase.childrenSpacelike, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + setTeXclass: MML.mbase.setChildTeXclass + }); + + MML.mfenced = MML.mbase.Subclass({ + type: "mfenced", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + open: '(', + close: ')', + separators: ',' + }, + addFakeNodes: function () { + var values = this.getValues("open","close","separators"); + values.open = values.open.replace(/[ \t\n\r]/g,""); + values.close = values.close.replace(/[ \t\n\r]/g,""); + values.separators = values.separators.replace(/[ \t\n\r]/g,""); + // + // Create a fake node for the open item + // + if (values.open !== "") { + this.SetData("open",MML.mo(values.open).With({ + fence:true, form:MML.FORM.PREFIX, texClass:MML.TEXCLASS.OPEN + })); + } + // + // Create fake nodes for the separators + // + if (values.separators !== "") { + while (values.separators.length < this.data.length) + {values.separators += values.separators.charAt(values.separators.length-1)} + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data[i]) + {this.SetData("sep"+i,MML.mo(values.separators.charAt(i-1)).With({separator:true}))} + } + } + // + // Create fake node for the close item + // + if (values.close !== "") { + this.SetData("close",MML.mo(values.close).With({ + fence:true, form:MML.FORM.POSTFIX, texClass:MML.TEXCLASS.CLOSE + })); + } + }, + texClass: MML.TEXCLASS.OPEN, + setTeXclass: function (prev) { + this.addFakeNodes(); + this.getPrevClass(prev); + if (this.data.open) {prev = this.data.open.setTeXclass(prev)} + if (this.data[0]) {prev = this.data[0].setTeXclass(prev)} + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data["sep"+i]) {prev = this.data["sep"+i].setTeXclass(prev)} + if (this.data[i]) {prev = this.data[i].setTeXclass(prev)} + } + if (this.data.close) {prev = this.data.close.setTeXclass(prev)} + this.updateTeXclass(this.data.open); + this.texClass = MML.TEXCLASS.INNER; + return prev; + } + }); + + MML.menclose = MML.mbase.Subclass({ + type: "menclose", + inferRow: true, + linebreakContainer: true, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + notation: MML.NOTATION.LONGDIV, + texClass: MML.TEXCLASS.ORD + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.msubsup = MML.mbase.Subclass({ + type: "msubsup", base: 0, sub: 1, sup: 2, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + subscriptshift: "", + superscriptshift: "", + texClass: MML.AUTO + }, + autoDefault: function (name) { + if (name === "texClass") + {return (this.isEmbellished() ? this.CoreMO().Get(name) : MML.TEXCLASS.ORD)} + return 0; + }, + adjustChild_displaystyle: function (n) { + if (n > 0) {return false} + return this.Get("displaystyle"); + }, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + if (n > 0) {level++} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n === this.sub) {return true} + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setBaseTeXclasses + }); + + MML.msub = MML.msubsup.Subclass({type: "msub"}); + MML.msup = MML.msubsup.Subclass({type: "msup", sub:2, sup:1}); + MML.mmultiscripts = MML.msubsup.Subclass({ + type: "mmultiscripts", + adjustChild_texprimestyle: function (n) { + if (n % 2 === 1) {return true} + return this.Get("texprimestyle"); + } + }); + MML.mprescripts = MML.mbase.Subclass({type: "mprescripts"}); + MML.none = MML.mbase.Subclass({type: "none"}); + + MML.munderover = MML.mbase.Subclass({ + type: "munderover", + base: 0, under: 1, over: 2, sub: 1, sup: 2, + ACCENTS: ["", "accentunder", "accent"], + linebreakContainer: true, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + accent: MML.AUTO, + accentunder: MML.AUTO, + align: MML.ALIGN.CENTER, + texClass: MML.AUTO, + subscriptshift: "", // when converted to msubsup by moveablelimits + superscriptshift: "" // when converted to msubsup by moveablelimits + }, + autoDefault: function (name) { + if (name === "texClass") + {return (this.isEmbellished() ? this.CoreMO().Get(name) : MML.TEXCLASS.ORD)} + if (name === "accent" && this.data[this.over]) {return this.data[this.over].CoreMO().Get("accent")} + if (name === "accentunder" && this.data[this.under]) {return this.data[this.under].CoreMO().Get("accent")} + return false; + }, + adjustChild_displaystyle: function (n) { + if (n > 0) {return false} + return this.Get("displaystyle"); + }, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + var force = (this.data[this.base] && !this.Get("displaystyle") && + this.data[this.base].CoreMO().Get("movablelimits")); + if (n == this.under && (force || !this.Get("accentunder"))) {level++} + if (n == this.over && (force || !this.Get("accent"))) {level++} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n === this.base && this.data[this.over]) {return true} + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setBaseTeXclasses + }); + + MML.munder = MML.munderover.Subclass({type: "munder"}); + MML.mover = MML.munderover.Subclass({ + type: "mover", over: 1, under: 2, sup: 1, sub: 2, + ACCENTS: ["", "accent", "accentunder"] + }); + + MML.mtable = MML.mbase.Subclass({ + type: "mtable", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + align: MML.ALIGN.AXIS, + rowalign: MML.ALIGN.BASELINE, + columnalign: MML.ALIGN.CENTER, + groupalign: "{left}", + alignmentscope: true, + columnwidth: MML.WIDTH.AUTO, + width: MML.WIDTH.AUTO, + rowspacing: "1ex", + columnspacing: ".8em", + rowlines: MML.LINES.NONE, + columnlines: MML.LINES.NONE, + frame: MML.LINES.NONE, + framespacing: "0.4em 0.5ex", + equalrows: false, + equalcolumns: false, + displaystyle: false, + side: MML.SIDE.RIGHT, + minlabelspacing: "0.8em", + texClass: MML.TEXCLASS.ORD, + useHeight: 1 + }, + adjustChild_displaystyle: function () { + return (this.displaystyle != null ? this.displaystyle : this.defaults.displaystyle); + }, + inheritFromMe: true, + noInherit: { + mover: {align: true}, + munder: {align: true}, + munderover: {align: true}, + mtable: { + align: true, rowalign: true, columnalign: true, groupalign: true, + alignmentscope: true, columnwidth: true, width: true, rowspacing: true, + columnspacing: true, rowlines: true, columnlines: true, frame: true, + framespacing: true, equalrows: true, equalcolumns: true, displaystyle: true, + side: true, minlabelspacing: true, texClass: true, useHeight: 1 + } + }, + linebreakContainer: true, + Append: function () { + for (var i = 0, m = arguments.length; i < m; i++) { + if (!((arguments[i] instanceof MML.mtr) || + (arguments[i] instanceof MML.mlabeledtr))) {arguments[i] = MML.mtr(arguments[i])} + } + this.SUPER(arguments).Append.apply(this,arguments); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.mtr = MML.mbase.Subclass({ + type: "mtr", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + rowalign: MML.INHERIT, + columnalign: MML.INHERIT, + groupalign: MML.INHERIT + }, + inheritFromMe: true, + noInherit: { + mrow: {rowalign: true, columnalign: true, groupalign: true}, + mtable: {rowalign: true, columnalign: true, groupalign: true} + }, + linebreakContainer: true, + Append: function () { + for (var i = 0, m = arguments.length; i < m; i++) { + if (!(arguments[i] instanceof MML.mtd)) {arguments[i] = MML.mtd(arguments[i])} + } + this.SUPER(arguments).Append.apply(this,arguments); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.mtd = MML.mbase.Subclass({ + type: "mtd", + inferRow: true, + linebreakContainer: true, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + rowspan: 1, + columnspan: 1, + rowalign: MML.INHERIT, + columnalign: MML.INHERIT, + groupalign: MML.INHERIT + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.maligngroup = MML.mbase.Subclass({ + type: "maligngroup", + isSpacelike: function () {return true}, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + groupalign: MML.INHERIT + }, + inheritFromMe: true, + noInherit: { + mrow: {groupalign: true}, + mtable: {groupalign: true} + } + }); + + MML.malignmark = MML.mbase.Subclass({ + type: "malignmark", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + edge: MML.SIDE.LEFT + }, + isSpacelike: function () {return true} + }); + + MML.mlabeledtr = MML.mtr.Subclass({ + type: "mlabeledtr" + }); + + MML.maction = MML.mbase.Subclass({ + type: "maction", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + actiontype: MML.ACTIONTYPE.TOGGLE, + selection: 1 + }, + selected: function () {return this.data[this.Get("selection")-1] || MML.NULL}, + isEmbellished: function () {return this.selected().isEmbellished()}, + isSpacelike: function () {return this.selected().isSpacelike()}, + Core: function () {return this.selected().Core()}, + CoreMO: function () {return this.selected().CoreMO()}, + setTeXclass: function (prev) { + if (this.Get("actiontype") === MML.ACTIONTYPE.TOOLTIP && this.data[1]) { + // Make sure tooltip has proper spacing when typeset (see issue #412) + this.data[1].setTeXclass(); + } + var selected = this.selected(); + prev = selected.setTeXclass(prev); + this.updateTeXclass(selected); + return prev; + } + }); + + MML.semantics = MML.mbase.Subclass({ + type: "semantics", notParent: true, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + definitionURL: null, + encoding: null + }, + setTeXclass: MML.mbase.setChildTeXclass, + getAnnotation: function (name) { + var encodingList = MathJax.Hub.config.MathMenu.semanticsAnnotations[name]; + if (encodingList) { + for (var i = 0, m = this.data.length; i < m; i++) { + var encoding = this.data[i].Get("encoding"); + if (encoding) { + for (var j = 0, n = encodingList.length; j < n; j++) { + if (encodingList[j] === encoding) return this.data[i]; + } + } + } + } + return null; + } + }); + MML.annotation = MML.mbase.Subclass({ + type: "annotation", isChars: true, + linebreakContainer: true, + defaults: { + definitionURL: null, + encoding: null, + cd: "mathmlkeys", + name: "", + src: null + } + }); + MML["annotation-xml"] = MML.mbase.Subclass({ + type: "annotation-xml", + linebreakContainer: true, + defaults: { + definitionURL: null, + encoding: null, + cd: "mathmlkeys", + name: "", + src: null + } + }); + + MML.math = MML.mstyle.Subclass({ + type: "math", + defaults: { + mathvariant: MML.VARIANT.NORMAL, + mathsize: MML.SIZE.NORMAL, + mathcolor: "", // should be "black", but allow it to inherit from surrounding text + mathbackground: MML.COLOR.TRANSPARENT, + dir: "ltr", + scriptlevel: 0, + displaystyle: MML.AUTO, + display: "inline", + maxwidth: "", + overflow: MML.OVERFLOW.LINEBREAK, + altimg: "", + 'altimg-width': "", + 'altimg-height': "", + 'altimg-valign': "", + alttext: "", + cdgroup: "", + scriptsizemultiplier: Math.sqrt(1/2), + scriptminsize: "8px", // should be 8pt, but that's too big + infixlinebreakstyle: MML.LINEBREAKSTYLE.BEFORE, + lineleading: "1ex", + indentshift: "auto", // use user configuration + indentalign: MML.INDENTALIGN.AUTO, + indentalignfirst: MML.INDENTALIGN.INDENTALIGN, + indentshiftfirst: MML.INDENTSHIFT.INDENTSHIFT, + indentalignlast: MML.INDENTALIGN.INDENTALIGN, + indentshiftlast: MML.INDENTSHIFT.INDENTSHIFT, + decimalseparator: ".", + texprimestyle: false // is it in TeX's C' style? + }, + autoDefault: function (name) { + if (name === "displaystyle") {return this.Get("display") === "block"} + return ""; + }, + linebreakContainer: true, + setTeXclass: MML.mbase.setChildTeXclass, + getAnnotation: function (name) { + if (this.data.length != 1) return null; + return this.data[0].getAnnotation(name); + } + }); + + MML.chars = MML.mbase.Subclass({ + type: "chars", + Append: function () {this.data.push.apply(this.data,arguments)}, + value: function () {return this.data.join("")}, + toString: function () {return this.data.join("")} + }); + + MML.entity = MML.mbase.Subclass({ + type: "entity", + Append: function () {this.data.push.apply(this.data,arguments)}, + value: function () { + if (this.data[0].substr(0,2) === "#x") {return parseInt(this.data[0].substr(2),16)} + else if (this.data[0].substr(0,1) === "#") {return parseInt(this.data[0].substr(1))} + else {return 0} // FIXME: look up named entities from table + }, + toString: function () { + var n = this.value(); + if (n <= 0xFFFF) {return String.fromCharCode(n)} + n -= 0x10000; + return String.fromCharCode((n>>10)+0xD800) + + String.fromCharCode((n&0x3FF)+0xDC00); + } + }); + + MML.xml = MML.mbase.Subclass({ + type: "xml", + Init: function () { + this.div = document.createElement("div"); + return this.SUPER(arguments).Init.apply(this,arguments); + }, + Append: function () { + for (var i = 0, m = arguments.length; i < m; i++) { + var node = this.Import(arguments[i]); + this.data.push(node); + this.div.appendChild(node); + } + }, + Import: function (node) { + if (document.importNode) {return document.importNode(node,true)} + // + // IE < 9 doesn't have importNode, so fake it. + // + var nNode, i, m; + if (node.nodeType === 1) { // ELEMENT_NODE + nNode = document.createElement(node.nodeName); + for (i = 0, m = node.attributes.length; i < m; i++) { + var attribute = node.attributes[i]; + if (attribute.specified && attribute.nodeValue != null && attribute.nodeValue != '') + {nNode.setAttribute(attribute.nodeName,attribute.nodeValue)} + if (attribute.nodeName === "style") {nNode.style.cssText = attribute.nodeValue} + } + if (node.className) {nNode.className = node.className} + } else if (node.nodeType === 3 || node.nodeType === 4) { // TEXT_NODE or CDATA_SECTION_NODE + nNode = document.createTextNode(node.nodeValue); + } else if (node.nodeType === 8) { // COMMENT_NODE + nNode = document.createComment(node.nodeValue); + } else { + return document.createTextNode(''); + } + for (i = 0, m = node.childNodes.length; i < m; i++) + {nNode.appendChild(this.Import(node.childNodes[i]))} + return nNode; + }, + value: function () {return this.div}, + toString: function () {return this.div.innerHTML} + }); + + MML.TeXAtom = MML.mbase.Subclass({ + type: "texatom", + linebreakContainer: true, + inferRow: true, notParent: true, + texClass: MML.TEXCLASS.ORD, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + isEmbellished: MML.mbase.childEmbellished, + setTeXclass: function (prev) { + this.data[0].setTeXclass(); + return this.adjustTeXclass(prev); + }, + adjustTeXclass: MML.mo.prototype.adjustTeXclass + }); + + MML.NULL = MML.mbase().With({type:"null"}); + + var TEXCLASS = MML.TEXCLASS; + + var MO = { + ORD: [0,0,TEXCLASS.ORD], + ORD11: [1,1,TEXCLASS.ORD], + ORD21: [2,1,TEXCLASS.ORD], + ORD02: [0,2,TEXCLASS.ORD], + ORD55: [5,5,TEXCLASS.ORD], + OP: [1,2,TEXCLASS.OP,{largeop: true, movablelimits: true, symmetric: true}], + OPFIXED: [1,2,TEXCLASS.OP,{largeop: true, movablelimits: true}], + INTEGRAL: [0,1,TEXCLASS.OP,{largeop: true, symmetric: true}], + INTEGRAL2: [1,2,TEXCLASS.OP,{largeop: true, symmetric: true}], + BIN3: [3,3,TEXCLASS.BIN], + BIN4: [4,4,TEXCLASS.BIN], + BIN01: [0,1,TEXCLASS.BIN], + BIN5: [5,5,TEXCLASS.BIN], + TALLBIN: [4,4,TEXCLASS.BIN,{stretchy: true}], + BINOP: [4,4,TEXCLASS.BIN,{largeop: true, movablelimits: true}], + REL: [5,5,TEXCLASS.REL], + REL1: [1,1,TEXCLASS.REL,{stretchy: true}], + REL4: [4,4,TEXCLASS.REL], + RELSTRETCH: [5,5,TEXCLASS.REL,{stretchy: true}], + RELACCENT: [5,5,TEXCLASS.REL,{accent: true}], + WIDEREL: [5,5,TEXCLASS.REL,{accent: true, stretchy: true}], + OPEN: [0,0,TEXCLASS.OPEN,{fence: true, stretchy: true, symmetric: true}], + CLOSE: [0,0,TEXCLASS.CLOSE,{fence: true, stretchy: true, symmetric: true}], + INNER: [0,0,TEXCLASS.INNER], + PUNCT: [0,3,TEXCLASS.PUNCT], + ACCENT: [0,0,TEXCLASS.ORD,{accent: true}], + WIDEACCENT: [0,0,TEXCLASS.ORD,{accent: true, stretchy: true}] + }; + + MML.mo.Augment({ + SPACE: [ + '0em', + '0.1111em', + '0.1667em', + '0.2222em', + '0.2667em', + '0.3333em' + ], + RANGES: [ + [0x20,0x7F,TEXCLASS.REL,"BasicLatin"], + [0xA0,0xFF,TEXCLASS.ORD,"Latin1Supplement"], + [0x100,0x17F,TEXCLASS.ORD], + [0x180,0x24F,TEXCLASS.ORD], + [0x2B0,0x2FF,TEXCLASS.ORD,"SpacingModLetters"], + [0x300,0x36F,TEXCLASS.ORD,"CombDiacritMarks"], + [0x370,0x3FF,TEXCLASS.ORD,"GreekAndCoptic"], + [0x1E00,0x1EFF,TEXCLASS.ORD], + [0x2000,0x206F,TEXCLASS.PUNCT,"GeneralPunctuation"], + [0x2070,0x209F,TEXCLASS.ORD], + [0x20A0,0x20CF,TEXCLASS.ORD], + [0x20D0,0x20FF,TEXCLASS.ORD,"CombDiactForSymbols"], + [0x2100,0x214F,TEXCLASS.ORD,"LetterlikeSymbols"], + [0x2150,0x218F,TEXCLASS.ORD], + [0x2190,0x21FF,TEXCLASS.REL,"Arrows"], + [0x2200,0x22FF,TEXCLASS.BIN,"MathOperators"], + [0x2300,0x23FF,TEXCLASS.ORD,"MiscTechnical"], + [0x2460,0x24FF,TEXCLASS.ORD], + [0x2500,0x259F,TEXCLASS.ORD], + [0x25A0,0x25FF,TEXCLASS.ORD,"GeometricShapes"], + [0x2700,0x27BF,TEXCLASS.ORD,"Dingbats"], + [0x27C0,0x27EF,TEXCLASS.ORD,"MiscMathSymbolsA"], + [0x27F0,0x27FF,TEXCLASS.REL,"SupplementalArrowsA"], + [0x2900,0x297F,TEXCLASS.REL,"SupplementalArrowsB"], + [0x2980,0x29FF,TEXCLASS.ORD,"MiscMathSymbolsB"], + [0x2A00,0x2AFF,TEXCLASS.BIN,"SuppMathOperators"], + [0x2B00,0x2BFF,TEXCLASS.ORD,"MiscSymbolsAndArrows"], + [0x1D400,0x1D7FF,TEXCLASS.ORD] + ], + OPTABLE: { + prefix: { + '\u2200': MO.ORD21, // for all + '\u2202': MO.ORD21, // partial differential + '\u2203': MO.ORD21, // there exists + '\u2207': MO.ORD21, // nabla + '\u220F': MO.OP, // n-ary product + '\u2210': MO.OP, // n-ary coproduct + '\u2211': MO.OP, // n-ary summation + '\u2212': MO.BIN01, // minus sign + '\u2213': MO.BIN01, // minus-or-plus sign + '\u221A': [1,1,TEXCLASS.ORD,{stretchy: true}], // square root + '\u2220': MO.ORD, // angle + '\u222B': MO.INTEGRAL, // integral + '\u222E': MO.INTEGRAL, // contour integral + '\u22C0': MO.OP, // n-ary logical and + '\u22C1': MO.OP, // n-ary logical or + '\u22C2': MO.OP, // n-ary intersection + '\u22C3': MO.OP, // n-ary union + '\u2308': MO.OPEN, // left ceiling + '\u230A': MO.OPEN, // left floor + '\u27E8': MO.OPEN, // mathematical left angle bracket + '\u27EE': MO.OPEN, // mathematical left flattened parenthesis + '\u2A00': MO.OP, // n-ary circled dot operator + '\u2A01': MO.OP, // n-ary circled plus operator + '\u2A02': MO.OP, // n-ary circled times operator + '\u2A04': MO.OP, // n-ary union operator with plus + '\u2A06': MO.OP, // n-ary square union operator + '\u00AC': MO.ORD21, // not sign + '\u00B1': MO.BIN01, // plus-minus sign + '(': MO.OPEN, // left parenthesis + '+': MO.BIN01, // plus sign + '-': MO.BIN01, // hyphen-minus + '[': MO.OPEN, // left square bracket + '{': MO.OPEN, // left curly bracket + '|': MO.OPEN // vertical line + }, + postfix: { + '!': [1,0,TEXCLASS.CLOSE], // exclamation mark + '&': MO.ORD, // ampersand + '\u2032': MO.ORD02, // prime + '\u203E': MO.WIDEACCENT, // overline + '\u2309': MO.CLOSE, // right ceiling + '\u230B': MO.CLOSE, // right floor + '\u23DE': MO.WIDEACCENT, // top curly bracket + '\u23DF': MO.WIDEACCENT, // bottom curly bracket + '\u266D': MO.ORD02, // music flat sign + '\u266E': MO.ORD02, // music natural sign + '\u266F': MO.ORD02, // music sharp sign + '\u27E9': MO.CLOSE, // mathematical right angle bracket + '\u27EF': MO.CLOSE, // mathematical right flattened parenthesis + '\u02C6': MO.WIDEACCENT, // modifier letter circumflex accent + '\u02C7': MO.WIDEACCENT, // caron + '\u02C9': MO.WIDEACCENT, // modifier letter macron + '\u02CA': MO.ACCENT, // modifier letter acute accent + '\u02CB': MO.ACCENT, // modifier letter grave accent + '\u02D8': MO.ACCENT, // breve + '\u02D9': MO.ACCENT, // dot above + '\u02DC': MO.WIDEACCENT, // small tilde + '\u0302': MO.WIDEACCENT, // combining circumflex accent + '\u00A8': MO.ACCENT, // diaeresis + '\u00AF': MO.WIDEACCENT, // macron + ')': MO.CLOSE, // right parenthesis + ']': MO.CLOSE, // right square bracket + '^': MO.WIDEACCENT, // circumflex accent + '_': MO.WIDEACCENT, // low line + '`': MO.ACCENT, // grave accent + '|': MO.CLOSE, // vertical line + '}': MO.CLOSE, // right curly bracket + '~': MO.WIDEACCENT // tilde + }, + infix: { + '': MO.ORD, // empty + '%': [3,3,TEXCLASS.ORD], // percent sign + '\u2022': MO.BIN4, // bullet + '\u2026': MO.INNER, // horizontal ellipsis + '\u2044': MO.TALLBIN, // fraction slash + '\u2061': MO.ORD, // function application + '\u2062': MO.ORD, // invisible times + '\u2063': [0,0,TEXCLASS.ORD,{linebreakstyle:"after", separator: true}], // invisible separator + '\u2064': MO.ORD, // invisible plus + '\u2190': MO.WIDEREL, // leftwards arrow + '\u2191': MO.RELSTRETCH, // upwards arrow + '\u2192': MO.WIDEREL, // rightwards arrow + '\u2193': MO.RELSTRETCH, // downwards arrow + '\u2194': MO.WIDEREL, // left right arrow + '\u2195': MO.RELSTRETCH, // up down arrow + '\u2196': MO.RELSTRETCH, // north west arrow + '\u2197': MO.RELSTRETCH, // north east arrow + '\u2198': MO.RELSTRETCH, // south east arrow + '\u2199': MO.RELSTRETCH, // south west arrow + '\u21A6': MO.WIDEREL, // rightwards arrow from bar + '\u21A9': MO.WIDEREL, // leftwards arrow with hook + '\u21AA': MO.WIDEREL, // rightwards arrow with hook + '\u21BC': MO.WIDEREL, // leftwards harpoon with barb upwards + '\u21BD': MO.WIDEREL, // leftwards harpoon with barb downwards + '\u21C0': MO.WIDEREL, // rightwards harpoon with barb upwards + '\u21C1': MO.WIDEREL, // rightwards harpoon with barb downwards + '\u21CC': MO.WIDEREL, // rightwards harpoon over leftwards harpoon + '\u21D0': MO.WIDEREL, // leftwards double arrow + '\u21D1': MO.RELSTRETCH, // upwards double arrow + '\u21D2': MO.WIDEREL, // rightwards double arrow + '\u21D3': MO.RELSTRETCH, // downwards double arrow + '\u21D4': MO.WIDEREL, // left right double arrow + '\u21D5': MO.RELSTRETCH, // up down double arrow + '\u2208': MO.REL, // element of + '\u2209': MO.REL, // not an element of + '\u220B': MO.REL, // contains as member + '\u2212': MO.BIN4, // minus sign + '\u2213': MO.BIN4, // minus-or-plus sign + '\u2215': MO.TALLBIN, // division slash + '\u2216': MO.BIN4, // set minus + '\u2217': MO.BIN4, // asterisk operator + '\u2218': MO.BIN4, // ring operator + '\u2219': MO.BIN4, // bullet operator + '\u221D': MO.REL, // proportional to + '\u2223': MO.REL, // divides + '\u2225': MO.REL, // parallel to + '\u2227': MO.BIN4, // logical and + '\u2228': MO.BIN4, // logical or + '\u2229': MO.BIN4, // intersection + '\u222A': MO.BIN4, // union + '\u223C': MO.REL, // tilde operator + '\u2240': MO.BIN4, // wreath product + '\u2243': MO.REL, // asymptotically equal to + '\u2245': MO.REL, // approximately equal to + '\u2248': MO.REL, // almost equal to + '\u224D': MO.REL, // equivalent to + '\u2250': MO.REL, // approaches the limit + '\u2260': MO.REL, // not equal to + '\u2261': MO.REL, // identical to + '\u2264': MO.REL, // less-than or equal to + '\u2265': MO.REL, // greater-than or equal to + '\u226A': MO.REL, // much less-than + '\u226B': MO.REL, // much greater-than + '\u227A': MO.REL, // precedes + '\u227B': MO.REL, // succeeds + '\u2282': MO.REL, // subset of + '\u2283': MO.REL, // superset of + '\u2286': MO.REL, // subset of or equal to + '\u2287': MO.REL, // superset of or equal to + '\u228E': MO.BIN4, // multiset union + '\u2291': MO.REL, // square image of or equal to + '\u2292': MO.REL, // square original of or equal to + '\u2293': MO.BIN4, // square cap + '\u2294': MO.BIN4, // square cup + '\u2295': MO.BIN4, // circled plus + '\u2296': MO.BIN4, // circled minus + '\u2297': MO.BIN4, // circled times + '\u2298': MO.BIN4, // circled division slash + '\u2299': MO.BIN4, // circled dot operator + '\u22A2': MO.REL, // right tack + '\u22A3': MO.REL, // left tack + '\u22A4': MO.ORD55, // down tack + '\u22A5': MO.REL, // up tack + '\u22A8': MO.REL, // true + '\u22C4': MO.BIN4, // diamond operator + '\u22C5': MO.BIN4, // dot operator + '\u22C6': MO.BIN4, // star operator + '\u22C8': MO.REL, // bowtie + '\u22EE': MO.ORD55, // vertical ellipsis + '\u22EF': MO.INNER, // midline horizontal ellipsis + '\u22F1': [5,5,TEXCLASS.INNER], // down right diagonal ellipsis + '\u25B3': MO.BIN4, // white up-pointing triangle + '\u25B5': MO.BIN4, // white up-pointing small triangle + '\u25B9': MO.BIN4, // white right-pointing small triangle + '\u25BD': MO.BIN4, // white down-pointing triangle + '\u25BF': MO.BIN4, // white down-pointing small triangle + '\u25C3': MO.BIN4, // white left-pointing small triangle + '\u2758': MO.REL, // light vertical bar + '\u27F5': MO.WIDEREL, // long leftwards arrow + '\u27F6': MO.WIDEREL, // long rightwards arrow + '\u27F7': MO.WIDEREL, // long left right arrow + '\u27F8': MO.WIDEREL, // long leftwards double arrow + '\u27F9': MO.WIDEREL, // long rightwards double arrow + '\u27FA': MO.WIDEREL, // long left right double arrow + '\u27FC': MO.WIDEREL, // long rightwards arrow from bar + '\u2A2F': MO.BIN4, // vector or cross product + '\u2A3F': MO.BIN4, // amalgamation or coproduct + '\u2AAF': MO.REL, // precedes above single-line equals sign + '\u2AB0': MO.REL, // succeeds above single-line equals sign + '\u00B1': MO.BIN4, // plus-minus sign + '\u00B7': MO.BIN4, // middle dot + '\u00D7': MO.BIN4, // multiplication sign + '\u00F7': MO.BIN4, // division sign + '*': MO.BIN3, // asterisk + '+': MO.BIN4, // plus sign + ',': [0,3,TEXCLASS.PUNCT,{linebreakstyle:"after", separator: true}], // comma + '-': MO.BIN4, // hyphen-minus + '.': [3,3,TEXCLASS.ORD], // full stop + '/': MO.ORD11, // solidus + ':': [1,2,TEXCLASS.REL], // colon + ';': [0,3,TEXCLASS.PUNCT,{linebreakstyle:"after", separator: true}], // semicolon + '<': MO.REL, // less-than sign + '=': MO.REL, // equals sign + '>': MO.REL, // greater-than sign + '?': [1,1,TEXCLASS.CLOSE], // question mark + '\\': MO.ORD, // reverse solidus + '^': MO.ORD11, // circumflex accent + '_': MO.ORD11, // low line + '|': [2,2,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}], // vertical line + '#': MO.ORD, // # + '$': MO.ORD, // $ + '\u002E': [0,3,TEXCLASS.PUNCT,{separator: true}], // \ldotp + '\u02B9': MO.ORD, // prime + '\u0300': MO.ACCENT, // \grave + '\u0301': MO.ACCENT, // \acute + '\u0303': MO.WIDEACCENT, // \tilde + '\u0304': MO.ACCENT, // \bar + '\u0306': MO.ACCENT, // \breve + '\u0307': MO.ACCENT, // \dot + '\u0308': MO.ACCENT, // \ddot + '\u030C': MO.ACCENT, // \check + '\u0332': MO.WIDEACCENT, // horizontal line + '\u0338': MO.REL4, // \not + '\u2015': [0,0,TEXCLASS.ORD,{stretchy: true}], // horizontal line + '\u2017': [0,0,TEXCLASS.ORD,{stretchy: true}], // horizontal line + '\u2020': MO.BIN3, // \dagger + '\u2021': MO.BIN3, // \ddagger + '\u20D7': MO.ACCENT, // \vec + '\u2111': MO.ORD, // \Im + '\u2113': MO.ORD, // \ell + '\u2118': MO.ORD, // \wp + '\u211C': MO.ORD, // \Re + '\u2205': MO.ORD, // \emptyset + '\u221E': MO.ORD, // \infty + '\u2305': MO.BIN3, // barwedge + '\u2306': MO.BIN3, // doublebarwedge + '\u2322': MO.REL4, // \frown + '\u2323': MO.REL4, // \smile + '\u2329': MO.OPEN, // langle + '\u232A': MO.CLOSE, // rangle + '\u23AA': MO.ORD, // \bracevert + '\u23AF': [0,0,TEXCLASS.ORD,{stretchy: true}], // \underline + '\u23B0': MO.OPEN, // \lmoustache + '\u23B1': MO.CLOSE, // \rmoustache + '\u2500': MO.ORD, // horizontal line + '\u25EF': MO.BIN3, // \bigcirc + '\u2660': MO.ORD, // \spadesuit + '\u2661': MO.ORD, // \heartsuit + '\u2662': MO.ORD, // \diamondsuit + '\u2663': MO.ORD, // \clubsuit + '\u3008': MO.OPEN, // langle + '\u3009': MO.CLOSE, // rangle + '\uFE37': MO.WIDEACCENT, // horizontal brace down + '\uFE38': MO.WIDEACCENT // horizontal brace up + } + } + },{ + OPTYPES: MO + }); + + // + // These are not in the W3C table, but FF works this way, + // and it makes sense, so add it here + // + var OPTABLE = MML.mo.prototype.OPTABLE; + OPTABLE.infix["^"] = MO.WIDEREL; + OPTABLE.infix["_"] = MO.WIDEREL; + OPTABLE.prefix["\u2223"] = MO.OPEN; + OPTABLE.prefix["\u2225"] = MO.OPEN; + OPTABLE.postfix["\u2223"] = MO.CLOSE; + OPTABLE.postfix["\u2225"] = MO.CLOSE; + +})(MathJax.ElementJax.mml); + +MathJax.ElementJax.mml.loadComplete("jax.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Arrows.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Arrows.js new file mode 100644 index 00000000..a2e89b9b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Arrows.js @@ -0,0 +1,122 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/Arrows.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u219A': MO.RELACCENT, // leftwards arrow with stroke + '\u219B': MO.RELACCENT, // rightwards arrow with stroke + '\u219C': MO.WIDEREL, // leftwards wave arrow + '\u219D': MO.WIDEREL, // rightwards wave arrow + '\u219E': MO.WIDEREL, // leftwards two headed arrow + '\u219F': MO.WIDEREL, // upwards two headed arrow + '\u21A0': MO.WIDEREL, // rightwards two headed arrow + '\u21A1': MO.RELSTRETCH, // downwards two headed arrow + '\u21A2': MO.WIDEREL, // leftwards arrow with tail + '\u21A3': MO.WIDEREL, // rightwards arrow with tail + '\u21A4': MO.WIDEREL, // leftwards arrow from bar + '\u21A5': MO.RELSTRETCH, // upwards arrow from bar + '\u21A7': MO.RELSTRETCH, // downwards arrow from bar + '\u21A8': MO.RELSTRETCH, // up down arrow with base + '\u21AB': MO.WIDEREL, // leftwards arrow with loop + '\u21AC': MO.WIDEREL, // rightwards arrow with loop + '\u21AD': MO.WIDEREL, // left right wave arrow + '\u21AE': MO.RELACCENT, // left right arrow with stroke + '\u21AF': MO.RELSTRETCH, // downwards zigzag arrow + '\u21B0': MO.RELSTRETCH, // upwards arrow with tip leftwards + '\u21B1': MO.RELSTRETCH, // upwards arrow with tip rightwards + '\u21B2': MO.RELSTRETCH, // downwards arrow with tip leftwards + '\u21B3': MO.RELSTRETCH, // downwards arrow with tip rightwards + '\u21B4': MO.RELSTRETCH, // rightwards arrow with corner downwards + '\u21B5': MO.RELSTRETCH, // downwards arrow with corner leftwards + '\u21B6': MO.RELACCENT, // anticlockwise top semicircle arrow + '\u21B7': MO.RELACCENT, // clockwise top semicircle arrow + '\u21B8': MO.REL, // north west arrow to long bar + '\u21B9': MO.WIDEREL, // leftwards arrow to bar over rightwards arrow to bar + '\u21BA': MO.REL, // anticlockwise open circle arrow + '\u21BB': MO.REL, // clockwise open circle arrow + '\u21BE': MO.RELSTRETCH, // upwards harpoon with barb rightwards + '\u21BF': MO.RELSTRETCH, // upwards harpoon with barb leftwards + '\u21C2': MO.RELSTRETCH, // downwards harpoon with barb rightwards + '\u21C3': MO.RELSTRETCH, // downwards harpoon with barb leftwards + '\u21C4': MO.WIDEREL, // rightwards arrow over leftwards arrow + '\u21C5': MO.RELSTRETCH, // upwards arrow leftwards of downwards arrow + '\u21C6': MO.WIDEREL, // leftwards arrow over rightwards arrow + '\u21C7': MO.WIDEREL, // leftwards paired arrows + '\u21C8': MO.RELSTRETCH, // upwards paired arrows + '\u21C9': MO.WIDEREL, // rightwards paired arrows + '\u21CA': MO.RELSTRETCH, // downwards paired arrows + '\u21CB': MO.WIDEREL, // leftwards harpoon over rightwards harpoon + '\u21CD': MO.RELACCENT, // leftwards double arrow with stroke + '\u21CE': MO.RELACCENT, // left right double arrow with stroke + '\u21CF': MO.RELACCENT, // rightwards double arrow with stroke + '\u21D6': MO.RELSTRETCH, // north west double arrow + '\u21D7': MO.RELSTRETCH, // north east double arrow + '\u21D8': MO.RELSTRETCH, // south east double arrow + '\u21D9': MO.RELSTRETCH, // south west double arrow + '\u21DA': MO.WIDEREL, // leftwards triple arrow + '\u21DB': MO.WIDEREL, // rightwards triple arrow + '\u21DC': MO.WIDEREL, // leftwards squiggle arrow + '\u21DD': MO.WIDEREL, // rightwards squiggle arrow + '\u21DE': MO.REL, // upwards arrow with double stroke + '\u21DF': MO.REL, // downwards arrow with double stroke + '\u21E0': MO.WIDEREL, // leftwards dashed arrow + '\u21E1': MO.RELSTRETCH, // upwards dashed arrow + '\u21E2': MO.WIDEREL, // rightwards dashed arrow + '\u21E3': MO.RELSTRETCH, // downwards dashed arrow + '\u21E4': MO.WIDEREL, // leftwards arrow to bar + '\u21E5': MO.WIDEREL, // rightwards arrow to bar + '\u21E6': MO.WIDEREL, // leftwards white arrow + '\u21E7': MO.RELSTRETCH, // upwards white arrow + '\u21E8': MO.WIDEREL, // rightwards white arrow + '\u21E9': MO.RELSTRETCH, // downwards white arrow + '\u21EA': MO.RELSTRETCH, // upwards white arrow from bar + '\u21EB': MO.RELSTRETCH, // upwards white arrow on pedestal + '\u21EC': MO.RELSTRETCH, // upwards white arrow on pedestal with horizontal bar + '\u21ED': MO.RELSTRETCH, // upwards white arrow on pedestal with vertical bar + '\u21EE': MO.RELSTRETCH, // upwards white double arrow + '\u21EF': MO.RELSTRETCH, // upwards white double arrow on pedestal + '\u21F0': MO.WIDEREL, // rightwards white arrow from wall + '\u21F1': MO.REL, // north west arrow to corner + '\u21F2': MO.REL, // south east arrow to corner + '\u21F3': MO.RELSTRETCH, // up down white arrow + '\u21F4': MO.RELACCENT, // right arrow with small circle + '\u21F5': MO.RELSTRETCH, // downwards arrow leftwards of upwards arrow + '\u21F6': MO.WIDEREL, // three rightwards arrows + '\u21F7': MO.RELACCENT, // leftwards arrow with vertical stroke + '\u21F8': MO.RELACCENT, // rightwards arrow with vertical stroke + '\u21F9': MO.RELACCENT, // left right arrow with vertical stroke + '\u21FA': MO.RELACCENT, // leftwards arrow with double vertical stroke + '\u21FB': MO.RELACCENT, // rightwards arrow with double vertical stroke + '\u21FC': MO.RELACCENT, // left right arrow with double vertical stroke + '\u21FD': MO.WIDEREL, // leftwards open-headed arrow + '\u21FE': MO.WIDEREL, // rightwards open-headed arrow + '\u21FF': MO.WIDEREL // left right open-headed arrow + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/Arrows.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/BasicLatin.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/BasicLatin.js new file mode 100644 index 00000000..8b0d2c10 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/BasicLatin.js @@ -0,0 +1,65 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/BasicLatin.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '||': [0,0,TEXCLASS.BIN,{fence: true, stretchy: true, symmetric: true}], // multiple character operator: || + '|||': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}] // multiple character operator: ||| + }, + postfix: { + '!!': [1,0,TEXCLASS.BIN], // multiple character operator: !! + '\'': MO.ACCENT, // apostrophe + '++': [0,0,TEXCLASS.BIN], // multiple character operator: ++ + '--': [0,0,TEXCLASS.BIN], // multiple character operator: -- + '..': [0,0,TEXCLASS.BIN], // multiple character operator: .. + '...': MO.ORD, // multiple character operator: ... + '||': [0,0,TEXCLASS.BIN,{fence: true, stretchy: true, symmetric: true}], // multiple character operator: || + '|||': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}] // multiple character operator: ||| + }, + infix: { + '!=': MO.BIN4, // multiple character operator: != + '&&': MO.BIN4, // multiple character operator: && + '**': [1,1,TEXCLASS.BIN], // multiple character operator: ** + '*=': MO.BIN4, // multiple character operator: *= + '+=': MO.BIN4, // multiple character operator: += + '-=': MO.BIN4, // multiple character operator: -= + '->': MO.BIN5, // multiple character operator: -> + '//': [1,1,TEXCLASS.BIN], // multiple character operator: // + '/=': MO.BIN4, // multiple character operator: /= + ':=': MO.BIN4, // multiple character operator: := + '<=': MO.BIN5, // multiple character operator: <= + '<>': [1,1,TEXCLASS.BIN], // multiple character operator: <> + '==': MO.BIN4, // multiple character operator: == + '>=': MO.BIN5, // multiple character operator: >= + '@': MO.ORD11, // commercial at + '||': [2,2,TEXCLASS.BIN,{fence: true, stretchy: true, symmetric: true}], // multiple character operator: || + '|||': [2,2,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}] // multiple character operator: ||| + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/BasicLatin.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiacritMarks.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiacritMarks.js new file mode 100644 index 00000000..d4ae292c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiacritMarks.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/CombDiacritMarks.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u0311': MO.ACCENT // combining inverted breve + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/CombDiacritMarks.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiactForSymbols.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiactForSymbols.js new file mode 100644 index 00000000..ad6c8717 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiactForSymbols.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/CombDiactForSymbols.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u20DB': MO.ACCENT, // combining three dots above + '\u20DC': MO.ACCENT // combining four dots above + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/CombDiactForSymbols.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Dingbats.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Dingbats.js new file mode 100644 index 00000000..d396b8dc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Dingbats.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/Dingbats.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2772': MO.OPEN // light left tortoise shell bracket ornament + }, + postfix: { + '\u2773': MO.CLOSE // light right tortoise shell bracket ornament + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/Dingbats.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeneralPunctuation.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeneralPunctuation.js new file mode 100644 index 00000000..a762fc51 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeneralPunctuation.js @@ -0,0 +1,42 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/GeneralPunctuation.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2016': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // double vertical line + '\u2018': [0,0,TEXCLASS.OPEN,{fence: true}], // left single quotation mark + '\u201C': [0,0,TEXCLASS.OPEN,{fence: true}] // left double quotation mark + }, + postfix: { + '\u2016': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // double vertical line + '\u2019': [0,0,TEXCLASS.CLOSE,{fence: true}], // right single quotation mark + '\u201D': [0,0,TEXCLASS.CLOSE,{fence: true}] // right double quotation mark + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/GeneralPunctuation.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeometricShapes.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeometricShapes.js new file mode 100644 index 00000000..2eaf90e9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeometricShapes.js @@ -0,0 +1,66 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/GeometricShapes.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u25A0': MO.BIN3, // black square + '\u25A1': MO.BIN3, // white square + '\u25AA': MO.BIN3, // black small square + '\u25AB': MO.BIN3, // white small square + '\u25AD': MO.BIN3, // white rectangle + '\u25AE': MO.BIN3, // black vertical rectangle + '\u25AF': MO.BIN3, // white vertical rectangle + '\u25B0': MO.BIN3, // black parallelogram + '\u25B1': MO.BIN3, // white parallelogram + '\u25B2': MO.BIN4, // black up-pointing triangle + '\u25B4': MO.BIN4, // black up-pointing small triangle + '\u25B6': MO.BIN4, // black right-pointing triangle + '\u25B7': MO.BIN4, // white right-pointing triangle + '\u25B8': MO.BIN4, // black right-pointing small triangle + '\u25BC': MO.BIN4, // black down-pointing triangle + '\u25BE': MO.BIN4, // black down-pointing small triangle + '\u25C0': MO.BIN4, // black left-pointing triangle + '\u25C1': MO.BIN4, // white left-pointing triangle + '\u25C2': MO.BIN4, // black left-pointing small triangle + '\u25C4': MO.BIN4, // black left-pointing pointer + '\u25C5': MO.BIN4, // white left-pointing pointer + '\u25C6': MO.BIN4, // black diamond + '\u25C7': MO.BIN4, // white diamond + '\u25C8': MO.BIN4, // white diamond containing black small diamond + '\u25C9': MO.BIN4, // fisheye + '\u25CC': MO.BIN4, // dotted circle + '\u25CD': MO.BIN4, // circle with vertical fill + '\u25CE': MO.BIN4, // bullseye + '\u25CF': MO.BIN4, // black circle + '\u25D6': MO.BIN4, // left half black circle + '\u25D7': MO.BIN4, // right half black circle + '\u25E6': MO.BIN4 // white bullet + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/GeometricShapes.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GreekAndCoptic.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GreekAndCoptic.js new file mode 100644 index 00000000..a2fe5071 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GreekAndCoptic.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/GreekAndCoptic.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u03F6': MO.REL // greek reversed lunate epsilon symbol + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/GreekAndCoptic.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Latin1Supplement.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Latin1Supplement.js new file mode 100644 index 00000000..e165175e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Latin1Supplement.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/Latin1Supplement.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u00B0': MO.ORD, // degree sign + '\u00B4': MO.ACCENT, // acute accent + '\u00B8': MO.ACCENT // cedilla + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/Latin1Supplement.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/LetterlikeSymbols.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/LetterlikeSymbols.js new file mode 100644 index 00000000..fc10e6c5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/LetterlikeSymbols.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/LetterlikeSymbols.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2145': MO.ORD21, // double-struck italic capital d + '\u2146': [2,0,TEXCLASS.ORD] // double-struck italic small d + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/LetterlikeSymbols.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MathOperators.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MathOperators.js new file mode 100644 index 00000000..10a96fde --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MathOperators.js @@ -0,0 +1,228 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MathOperators.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2204': MO.ORD21, // there does not exist + '\u221B': MO.ORD11, // cube root + '\u221C': MO.ORD11, // fourth root + '\u2221': MO.ORD, // measured angle + '\u2222': MO.ORD, // spherical angle + '\u222C': MO.INTEGRAL, // double integral + '\u222D': MO.INTEGRAL, // triple integral + '\u222F': MO.INTEGRAL, // surface integral + '\u2230': MO.INTEGRAL, // volume integral + '\u2231': MO.INTEGRAL, // clockwise integral + '\u2232': MO.INTEGRAL, // clockwise contour integral + '\u2233': MO.INTEGRAL // anticlockwise contour integral + }, + infix: { + '\u2201': [1,2,TEXCLASS.ORD], // complement + '\u2206': MO.BIN3, // increment + '\u220A': MO.REL, // small element of + '\u220C': MO.REL, // does not contain as member + '\u220D': MO.REL, // small contains as member + '\u220E': MO.BIN3, // end of proof + '\u2214': MO.BIN4, // dot plus + '\u221F': MO.REL, // right angle + '\u2224': MO.REL, // does not divide + '\u2226': MO.REL, // not parallel to + '\u2234': MO.REL, // therefore + '\u2235': MO.REL, // because + '\u2236': MO.REL, // ratio + '\u2237': MO.REL, // proportion + '\u2238': MO.BIN4, // dot minus + '\u2239': MO.REL, // excess + '\u223A': MO.BIN4, // geometric proportion + '\u223B': MO.REL, // homothetic + '\u223D': MO.REL, // reversed tilde + '\u223D\u0331': MO.BIN3, // reversed tilde with underline + '\u223E': MO.REL, // inverted lazy s + '\u223F': MO.BIN3, // sine wave + '\u2241': MO.REL, // not tilde + '\u2242': MO.REL, // minus tilde + '\u2242\u0338': MO.REL, // minus tilde with slash + '\u2244': MO.REL, // not asymptotically equal to + '\u2246': MO.REL, // approximately but not actually equal to + '\u2247': MO.REL, // neither approximately nor actually equal to + '\u2249': MO.REL, // not almost equal to + '\u224A': MO.REL, // almost equal or equal to + '\u224B': MO.REL, // triple tilde + '\u224C': MO.REL, // all equal to + '\u224E': MO.REL, // geometrically equivalent to + '\u224E\u0338': MO.REL, // geometrically equivalent to with slash + '\u224F': MO.REL, // difference between + '\u224F\u0338': MO.REL, // difference between with slash + '\u2251': MO.REL, // geometrically equal to + '\u2252': MO.REL, // approximately equal to or the image of + '\u2253': MO.REL, // image of or approximately equal to + '\u2254': MO.REL, // colon equals + '\u2255': MO.REL, // equals colon + '\u2256': MO.REL, // ring in equal to + '\u2257': MO.REL, // ring equal to + '\u2258': MO.REL, // corresponds to + '\u2259': MO.REL, // estimates + '\u225A': MO.REL, // equiangular to + '\u225C': MO.REL, // delta equal to + '\u225D': MO.REL, // equal to by definition + '\u225E': MO.REL, // measured by + '\u225F': MO.REL, // questioned equal to + '\u2262': MO.REL, // not identical to + '\u2263': MO.REL, // strictly equivalent to + '\u2266': MO.REL, // less-than over equal to + '\u2266\u0338': MO.REL, // less-than over equal to with slash + '\u2267': MO.REL, // greater-than over equal to + '\u2268': MO.REL, // less-than but not equal to + '\u2269': MO.REL, // greater-than but not equal to + '\u226A\u0338': MO.REL, // much less than with slash + '\u226B\u0338': MO.REL, // much greater than with slash + '\u226C': MO.REL, // between + '\u226D': MO.REL, // not equivalent to + '\u226E': MO.REL, // not less-than + '\u226F': MO.REL, // not greater-than + '\u2270': MO.REL, // neither less-than nor equal to + '\u2271': MO.REL, // neither greater-than nor equal to + '\u2272': MO.REL, // less-than or equivalent to + '\u2273': MO.REL, // greater-than or equivalent to + '\u2274': MO.REL, // neither less-than nor equivalent to + '\u2275': MO.REL, // neither greater-than nor equivalent to + '\u2276': MO.REL, // less-than or greater-than + '\u2277': MO.REL, // greater-than or less-than + '\u2278': MO.REL, // neither less-than nor greater-than + '\u2279': MO.REL, // neither greater-than nor less-than + '\u227C': MO.REL, // precedes or equal to + '\u227D': MO.REL, // succeeds or equal to + '\u227E': MO.REL, // precedes or equivalent to + '\u227F': MO.REL, // succeeds or equivalent to + '\u227F\u0338': MO.REL, // succeeds or equivalent to with slash + '\u2280': MO.REL, // does not precede + '\u2281': MO.REL, // does not succeed + '\u2282\u20D2': MO.REL, // subset of with vertical line + '\u2283\u20D2': MO.REL, // superset of with vertical line + '\u2284': MO.REL, // not a subset of + '\u2285': MO.REL, // not a superset of + '\u2288': MO.REL, // neither a subset of nor equal to + '\u2289': MO.REL, // neither a superset of nor equal to + '\u228A': MO.REL, // subset of with not equal to + '\u228B': MO.REL, // superset of with not equal to + '\u228C': MO.BIN4, // multiset + '\u228D': MO.BIN4, // multiset multiplication + '\u228F': MO.REL, // square image of + '\u228F\u0338': MO.REL, // square image of with slash + '\u2290': MO.REL, // square original of + '\u2290\u0338': MO.REL, // square original of with slash + '\u229A': MO.BIN4, // circled ring operator + '\u229B': MO.BIN4, // circled asterisk operator + '\u229C': MO.BIN4, // circled equals + '\u229D': MO.BIN4, // circled dash + '\u229E': MO.BIN4, // squared plus + '\u229F': MO.BIN4, // squared minus + '\u22A0': MO.BIN4, // squared times + '\u22A1': MO.BIN4, // squared dot operator + '\u22A6': MO.REL, // assertion + '\u22A7': MO.REL, // models + '\u22A9': MO.REL, // forces + '\u22AA': MO.REL, // triple vertical bar right turnstile + '\u22AB': MO.REL, // double vertical bar double right turnstile + '\u22AC': MO.REL, // does not prove + '\u22AD': MO.REL, // not true + '\u22AE': MO.REL, // does not force + '\u22AF': MO.REL, // negated double vertical bar double right turnstile + '\u22B0': MO.REL, // precedes under relation + '\u22B1': MO.REL, // succeeds under relation + '\u22B2': MO.REL, // normal subgroup of + '\u22B3': MO.REL, // contains as normal subgroup + '\u22B4': MO.REL, // normal subgroup of or equal to + '\u22B5': MO.REL, // contains as normal subgroup or equal to + '\u22B6': MO.REL, // original of + '\u22B7': MO.REL, // image of + '\u22B8': MO.REL, // multimap + '\u22B9': MO.REL, // hermitian conjugate matrix + '\u22BA': MO.BIN4, // intercalate + '\u22BB': MO.BIN4, // xor + '\u22BC': MO.BIN4, // nand + '\u22BD': MO.BIN4, // nor + '\u22BE': MO.BIN3, // right angle with arc + '\u22BF': MO.BIN3, // right triangle + '\u22C7': MO.BIN4, // division times + '\u22C9': MO.BIN4, // left normal factor semidirect product + '\u22CA': MO.BIN4, // right normal factor semidirect product + '\u22CB': MO.BIN4, // left semidirect product + '\u22CC': MO.BIN4, // right semidirect product + '\u22CD': MO.REL, // reversed tilde equals + '\u22CE': MO.BIN4, // curly logical or + '\u22CF': MO.BIN4, // curly logical and + '\u22D0': MO.REL, // double subset + '\u22D1': MO.REL, // double superset + '\u22D2': MO.BIN4, // double intersection + '\u22D3': MO.BIN4, // double union + '\u22D4': MO.REL, // pitchfork + '\u22D5': MO.REL, // equal and parallel to + '\u22D6': MO.REL, // less-than with dot + '\u22D7': MO.REL, // greater-than with dot + '\u22D8': MO.REL, // very much less-than + '\u22D9': MO.REL, // very much greater-than + '\u22DA': MO.REL, // less-than equal to or greater-than + '\u22DB': MO.REL, // greater-than equal to or less-than + '\u22DC': MO.REL, // equal to or less-than + '\u22DD': MO.REL, // equal to or greater-than + '\u22DE': MO.REL, // equal to or precedes + '\u22DF': MO.REL, // equal to or succeeds + '\u22E0': MO.REL, // does not precede or equal + '\u22E1': MO.REL, // does not succeed or equal + '\u22E2': MO.REL, // not square image of or equal to + '\u22E3': MO.REL, // not square original of or equal to + '\u22E4': MO.REL, // square image of or not equal to + '\u22E5': MO.REL, // square original of or not equal to + '\u22E6': MO.REL, // less-than but not equivalent to + '\u22E7': MO.REL, // greater-than but not equivalent to + '\u22E8': MO.REL, // precedes but not equivalent to + '\u22E9': MO.REL, // succeeds but not equivalent to + '\u22EA': MO.REL, // not normal subgroup of + '\u22EB': MO.REL, // does not contain as normal subgroup + '\u22EC': MO.REL, // not normal subgroup of or equal to + '\u22ED': MO.REL, // does not contain as normal subgroup or equal + '\u22F0': MO.REL, // up right diagonal ellipsis + '\u22F2': MO.REL, // element of with long horizontal stroke + '\u22F3': MO.REL, // element of with vertical bar at end of horizontal stroke + '\u22F4': MO.REL, // small element of with vertical bar at end of horizontal stroke + '\u22F5': MO.REL, // element of with dot above + '\u22F6': MO.REL, // element of with overbar + '\u22F7': MO.REL, // small element of with overbar + '\u22F8': MO.REL, // element of with underbar + '\u22F9': MO.REL, // element of with two horizontal strokes + '\u22FA': MO.REL, // contains with long horizontal stroke + '\u22FB': MO.REL, // contains with vertical bar at end of horizontal stroke + '\u22FC': MO.REL, // small contains with vertical bar at end of horizontal stroke + '\u22FD': MO.REL, // contains with overbar + '\u22FE': MO.REL, // small contains with overbar + '\u22FF': MO.REL // z notation bag membership + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MathOperators.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsA.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsA.js new file mode 100644 index 00000000..3ffbe0b1 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsA.js @@ -0,0 +1,42 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MiscMathSymbolsA.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u27E6': MO.OPEN, // mathematical left white square bracket + '\u27EA': MO.OPEN, // mathematical left double angle bracket + '\u27EC': MO.OPEN // mathematical left white tortoise shell bracket + }, + postfix: { + '\u27E7': MO.CLOSE, // mathematical right white square bracket + '\u27EB': MO.CLOSE, // mathematical right double angle bracket + '\u27ED': MO.CLOSE // mathematical right white tortoise shell bracket + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MiscMathSymbolsA.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsB.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsB.js new file mode 100644 index 00000000..31dac9ab --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsB.js @@ -0,0 +1,168 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MiscMathSymbolsB.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2980': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // triple vertical bar delimiter + '\u2983': MO.OPEN, // left white curly bracket + '\u2985': MO.OPEN, // left white parenthesis + '\u2987': MO.OPEN, // z notation left image bracket + '\u2989': MO.OPEN, // z notation left binding bracket + '\u298B': MO.OPEN, // left square bracket with underbar + '\u298D': MO.OPEN, // left square bracket with tick in top corner + '\u298F': MO.OPEN, // left square bracket with tick in bottom corner + '\u2991': MO.OPEN, // left angle bracket with dot + '\u2993': MO.OPEN, // left arc less-than bracket + '\u2995': MO.OPEN, // double left arc greater-than bracket + '\u2997': MO.OPEN, // left black tortoise shell bracket + '\u29FC': MO.OPEN // left-pointing curved angle bracket + }, + postfix: { + '\u2980': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // triple vertical bar delimiter + '\u2984': MO.CLOSE, // right white curly bracket + '\u2986': MO.CLOSE, // right white parenthesis + '\u2988': MO.CLOSE, // z notation right image bracket + '\u298A': MO.CLOSE, // z notation right binding bracket + '\u298C': MO.CLOSE, // right square bracket with underbar + '\u298E': MO.CLOSE, // right square bracket with tick in bottom corner + '\u2990': MO.CLOSE, // right square bracket with tick in top corner + '\u2992': MO.CLOSE, // right angle bracket with dot + '\u2994': MO.CLOSE, // right arc greater-than bracket + '\u2996': MO.CLOSE, // double right arc less-than bracket + '\u2998': MO.CLOSE, // right black tortoise shell bracket + '\u29FD': MO.CLOSE // right-pointing curved angle bracket + }, + infix: { + '\u2981': MO.BIN3, // z notation spot + '\u2982': MO.BIN3, // z notation type colon + '\u2999': MO.BIN3, // dotted fence + '\u299A': MO.BIN3, // vertical zigzag line + '\u299B': MO.BIN3, // measured angle opening left + '\u299C': MO.BIN3, // right angle variant with square + '\u299D': MO.BIN3, // measured right angle with dot + '\u299E': MO.BIN3, // angle with s inside + '\u299F': MO.BIN3, // acute angle + '\u29A0': MO.BIN3, // spherical angle opening left + '\u29A1': MO.BIN3, // spherical angle opening up + '\u29A2': MO.BIN3, // turned angle + '\u29A3': MO.BIN3, // reversed angle + '\u29A4': MO.BIN3, // angle with underbar + '\u29A5': MO.BIN3, // reversed angle with underbar + '\u29A6': MO.BIN3, // oblique angle opening up + '\u29A7': MO.BIN3, // oblique angle opening down + '\u29A8': MO.BIN3, // measured angle with open arm ending in arrow pointing up and right + '\u29A9': MO.BIN3, // measured angle with open arm ending in arrow pointing up and left + '\u29AA': MO.BIN3, // measured angle with open arm ending in arrow pointing down and right + '\u29AB': MO.BIN3, // measured angle with open arm ending in arrow pointing down and left + '\u29AC': MO.BIN3, // measured angle with open arm ending in arrow pointing right and up + '\u29AD': MO.BIN3, // measured angle with open arm ending in arrow pointing left and up + '\u29AE': MO.BIN3, // measured angle with open arm ending in arrow pointing right and down + '\u29AF': MO.BIN3, // measured angle with open arm ending in arrow pointing left and down + '\u29B0': MO.BIN3, // reversed empty set + '\u29B1': MO.BIN3, // empty set with overbar + '\u29B2': MO.BIN3, // empty set with small circle above + '\u29B3': MO.BIN3, // empty set with right arrow above + '\u29B4': MO.BIN3, // empty set with left arrow above + '\u29B5': MO.BIN3, // circle with horizontal bar + '\u29B6': MO.BIN4, // circled vertical bar + '\u29B7': MO.BIN4, // circled parallel + '\u29B8': MO.BIN4, // circled reverse solidus + '\u29B9': MO.BIN4, // circled perpendicular + '\u29BA': MO.BIN4, // circle divided by horizontal bar and top half divided by vertical bar + '\u29BB': MO.BIN4, // circle with superimposed x + '\u29BC': MO.BIN4, // circled anticlockwise-rotated division sign + '\u29BD': MO.BIN4, // up arrow through circle + '\u29BE': MO.BIN4, // circled white bullet + '\u29BF': MO.BIN4, // circled bullet + '\u29C0': MO.REL, // circled less-than + '\u29C1': MO.REL, // circled greater-than + '\u29C2': MO.BIN3, // circle with small circle to the right + '\u29C3': MO.BIN3, // circle with two horizontal strokes to the right + '\u29C4': MO.BIN4, // squared rising diagonal slash + '\u29C5': MO.BIN4, // squared falling diagonal slash + '\u29C6': MO.BIN4, // squared asterisk + '\u29C7': MO.BIN4, // squared small circle + '\u29C8': MO.BIN4, // squared square + '\u29C9': MO.BIN3, // two joined squares + '\u29CA': MO.BIN3, // triangle with dot above + '\u29CB': MO.BIN3, // triangle with underbar + '\u29CC': MO.BIN3, // s in triangle + '\u29CD': MO.BIN3, // triangle with serifs at bottom + '\u29CE': MO.REL, // right triangle above left triangle + '\u29CF': MO.REL, // left triangle beside vertical bar + '\u29CF\u0338': MO.REL, // left triangle beside vertical bar with slash + '\u29D0': MO.REL, // vertical bar beside right triangle + '\u29D0\u0338': MO.REL, // vertical bar beside right triangle with slash + '\u29D1': MO.REL, // bowtie with left half black + '\u29D2': MO.REL, // bowtie with right half black + '\u29D3': MO.REL, // black bowtie + '\u29D4': MO.REL, // times with left half black + '\u29D5': MO.REL, // times with right half black + '\u29D6': MO.BIN4, // white hourglass + '\u29D7': MO.BIN4, // black hourglass + '\u29D8': MO.BIN3, // left wiggly fence + '\u29D9': MO.BIN3, // right wiggly fence + '\u29DB': MO.BIN3, // right double wiggly fence + '\u29DC': MO.BIN3, // incomplete infinity + '\u29DD': MO.BIN3, // tie over infinity + '\u29DE': MO.REL, // infinity negated with vertical bar + '\u29DF': MO.BIN3, // double-ended multimap + '\u29E0': MO.BIN3, // square with contoured outline + '\u29E1': MO.REL, // increases as + '\u29E2': MO.BIN4, // shuffle product + '\u29E3': MO.REL, // equals sign and slanted parallel + '\u29E4': MO.REL, // equals sign and slanted parallel with tilde above + '\u29E5': MO.REL, // identical to and slanted parallel + '\u29E6': MO.REL, // gleich stark + '\u29E7': MO.BIN3, // thermodynamic + '\u29E8': MO.BIN3, // down-pointing triangle with left half black + '\u29E9': MO.BIN3, // down-pointing triangle with right half black + '\u29EA': MO.BIN3, // black diamond with down arrow + '\u29EB': MO.BIN3, // black lozenge + '\u29EC': MO.BIN3, // white circle with down arrow + '\u29ED': MO.BIN3, // black circle with down arrow + '\u29EE': MO.BIN3, // error-barred white square + '\u29EF': MO.BIN3, // error-barred black square + '\u29F0': MO.BIN3, // error-barred white diamond + '\u29F1': MO.BIN3, // error-barred black diamond + '\u29F2': MO.BIN3, // error-barred white circle + '\u29F3': MO.BIN3, // error-barred black circle + '\u29F4': MO.REL, // rule-delayed + '\u29F5': MO.BIN4, // reverse solidus operator + '\u29F6': MO.BIN4, // solidus with overbar + '\u29F7': MO.BIN4, // reverse solidus with horizontal stroke + '\u29F8': MO.BIN3, // big solidus + '\u29F9': MO.BIN3, // big reverse solidus + '\u29FA': MO.BIN3, // double plus + '\u29FB': MO.BIN3, // triple plus + '\u29FE': MO.BIN4, // tiny + '\u29FF': MO.BIN4 // miny + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MiscMathSymbolsB.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscSymbolsAndArrows.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscSymbolsAndArrows.js new file mode 100644 index 00000000..beb7a1d4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscSymbolsAndArrows.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MiscSymbolsAndArrows.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u2B45': MO.RELSTRETCH, // leftwards quadruple arrow + '\u2B46': MO.RELSTRETCH // rightwards quadruple arrow + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MiscSymbolsAndArrows.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscTechnical.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscTechnical.js new file mode 100644 index 00000000..ab1c7e2a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscTechnical.js @@ -0,0 +1,40 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MiscTechnical.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u23B4': MO.WIDEACCENT, // top square bracket + '\u23B5': MO.WIDEACCENT, // bottom square bracket + '\u23DC': MO.WIDEACCENT, // top parenthesis + '\u23DD': MO.WIDEACCENT, // bottom parenthesis + '\u23E0': MO.WIDEACCENT, // top tortoise shell bracket + '\u23E1': MO.WIDEACCENT // bottom tortoise shell bracket + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MiscTechnical.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SpacingModLetters.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SpacingModLetters.js new file mode 100644 index 00000000..33d1b5ef --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SpacingModLetters.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/SpacingModLetters.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u02CD': MO.WIDEACCENT, // modifier letter low macron + '\u02DA': MO.ACCENT, // ring above + '\u02DD': MO.ACCENT, // double acute accent + '\u02F7': MO.WIDEACCENT // modifier letter low tilde + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/SpacingModLetters.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SuppMathOperators.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SuppMathOperators.js new file mode 100644 index 00000000..d11e3a09 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SuppMathOperators.js @@ -0,0 +1,289 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/SuppMathOperators.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2A03': MO.OP, // n-ary union operator with dot + '\u2A05': MO.OP, // n-ary square intersection operator + '\u2A07': MO.OP, // two logical and operator + '\u2A08': MO.OP, // two logical or operator + '\u2A09': MO.OP, // n-ary times operator + '\u2A0A': MO.OP, // modulo two sum + '\u2A0B': MO.INTEGRAL2, // summation with integral + '\u2A0C': MO.INTEGRAL, // quadruple integral operator + '\u2A0D': MO.INTEGRAL2, // finite part integral + '\u2A0E': MO.INTEGRAL2, // integral with double stroke + '\u2A0F': MO.INTEGRAL2, // integral average with slash + '\u2A10': MO.OP, // circulation function + '\u2A11': MO.OP, // anticlockwise integration + '\u2A12': MO.OP, // line integration with rectangular path around pole + '\u2A13': MO.OP, // line integration with semicircular path around pole + '\u2A14': MO.OP, // line integration not including the pole + '\u2A15': MO.INTEGRAL2, // integral around a point operator + '\u2A16': MO.INTEGRAL2, // quaternion integral operator + '\u2A17': MO.INTEGRAL2, // integral with leftwards arrow with hook + '\u2A18': MO.INTEGRAL2, // integral with times sign + '\u2A19': MO.INTEGRAL2, // integral with intersection + '\u2A1A': MO.INTEGRAL2, // integral with union + '\u2A1B': MO.INTEGRAL2, // integral with overbar + '\u2A1C': MO.INTEGRAL2, // integral with underbar + '\u2AFC': MO.OP, // large triple vertical bar operator + '\u2AFF': MO.OP // n-ary white vertical bar + }, + infix: { + '\u2A1D': MO.BIN3, // join + '\u2A1E': MO.BIN3, // large left triangle operator + '\u2A1F': MO.BIN3, // z notation schema composition + '\u2A20': MO.BIN3, // z notation schema piping + '\u2A21': MO.BIN3, // z notation schema projection + '\u2A22': MO.BIN4, // plus sign with small circle above + '\u2A23': MO.BIN4, // plus sign with circumflex accent above + '\u2A24': MO.BIN4, // plus sign with tilde above + '\u2A25': MO.BIN4, // plus sign with dot below + '\u2A26': MO.BIN4, // plus sign with tilde below + '\u2A27': MO.BIN4, // plus sign with subscript two + '\u2A28': MO.BIN4, // plus sign with black triangle + '\u2A29': MO.BIN4, // minus sign with comma above + '\u2A2A': MO.BIN4, // minus sign with dot below + '\u2A2B': MO.BIN4, // minus sign with falling dots + '\u2A2C': MO.BIN4, // minus sign with rising dots + '\u2A2D': MO.BIN4, // plus sign in left half circle + '\u2A2E': MO.BIN4, // plus sign in right half circle + '\u2A30': MO.BIN4, // multiplication sign with dot above + '\u2A31': MO.BIN4, // multiplication sign with underbar + '\u2A32': MO.BIN4, // semidirect product with bottom closed + '\u2A33': MO.BIN4, // smash product + '\u2A34': MO.BIN4, // multiplication sign in left half circle + '\u2A35': MO.BIN4, // multiplication sign in right half circle + '\u2A36': MO.BIN4, // circled multiplication sign with circumflex accent + '\u2A37': MO.BIN4, // multiplication sign in double circle + '\u2A38': MO.BIN4, // circled division sign + '\u2A39': MO.BIN4, // plus sign in triangle + '\u2A3A': MO.BIN4, // minus sign in triangle + '\u2A3B': MO.BIN4, // multiplication sign in triangle + '\u2A3C': MO.BIN4, // interior product + '\u2A3D': MO.BIN4, // righthand interior product + '\u2A3E': MO.BIN4, // z notation relational composition + '\u2A40': MO.BIN4, // intersection with dot + '\u2A41': MO.BIN4, // union with minus sign + '\u2A42': MO.BIN4, // union with overbar + '\u2A43': MO.BIN4, // intersection with overbar + '\u2A44': MO.BIN4, // intersection with logical and + '\u2A45': MO.BIN4, // union with logical or + '\u2A46': MO.BIN4, // union above intersection + '\u2A47': MO.BIN4, // intersection above union + '\u2A48': MO.BIN4, // union above bar above intersection + '\u2A49': MO.BIN4, // intersection above bar above union + '\u2A4A': MO.BIN4, // union beside and joined with union + '\u2A4B': MO.BIN4, // intersection beside and joined with intersection + '\u2A4C': MO.BIN4, // closed union with serifs + '\u2A4D': MO.BIN4, // closed intersection with serifs + '\u2A4E': MO.BIN4, // double square intersection + '\u2A4F': MO.BIN4, // double square union + '\u2A50': MO.BIN4, // closed union with serifs and smash product + '\u2A51': MO.BIN4, // logical and with dot above + '\u2A52': MO.BIN4, // logical or with dot above + '\u2A53': MO.BIN4, // double logical and + '\u2A54': MO.BIN4, // double logical or + '\u2A55': MO.BIN4, // two intersecting logical and + '\u2A56': MO.BIN4, // two intersecting logical or + '\u2A57': MO.BIN4, // sloping large or + '\u2A58': MO.BIN4, // sloping large and + '\u2A59': MO.REL, // logical or overlapping logical and + '\u2A5A': MO.BIN4, // logical and with middle stem + '\u2A5B': MO.BIN4, // logical or with middle stem + '\u2A5C': MO.BIN4, // logical and with horizontal dash + '\u2A5D': MO.BIN4, // logical or with horizontal dash + '\u2A5E': MO.BIN4, // logical and with double overbar + '\u2A5F': MO.BIN4, // logical and with underbar + '\u2A60': MO.BIN4, // logical and with double underbar + '\u2A61': MO.BIN4, // small vee with underbar + '\u2A62': MO.BIN4, // logical or with double overbar + '\u2A63': MO.BIN4, // logical or with double underbar + '\u2A64': MO.BIN4, // z notation domain antirestriction + '\u2A65': MO.BIN4, // z notation range antirestriction + '\u2A66': MO.REL, // equals sign with dot below + '\u2A67': MO.REL, // identical with dot above + '\u2A68': MO.REL, // triple horizontal bar with double vertical stroke + '\u2A69': MO.REL, // triple horizontal bar with triple vertical stroke + '\u2A6A': MO.REL, // tilde operator with dot above + '\u2A6B': MO.REL, // tilde operator with rising dots + '\u2A6C': MO.REL, // similar minus similar + '\u2A6D': MO.REL, // congruent with dot above + '\u2A6E': MO.REL, // equals with asterisk + '\u2A6F': MO.REL, // almost equal to with circumflex accent + '\u2A70': MO.REL, // approximately equal or equal to + '\u2A71': MO.BIN4, // equals sign above plus sign + '\u2A72': MO.BIN4, // plus sign above equals sign + '\u2A73': MO.REL, // equals sign above tilde operator + '\u2A74': MO.REL, // double colon equal + '\u2A75': MO.REL, // two consecutive equals signs + '\u2A76': MO.REL, // three consecutive equals signs + '\u2A77': MO.REL, // equals sign with two dots above and two dots below + '\u2A78': MO.REL, // equivalent with four dots above + '\u2A79': MO.REL, // less-than with circle inside + '\u2A7A': MO.REL, // greater-than with circle inside + '\u2A7B': MO.REL, // less-than with question mark above + '\u2A7C': MO.REL, // greater-than with question mark above + '\u2A7D': MO.REL, // less-than or slanted equal to + '\u2A7D\u0338': MO.REL, // less-than or slanted equal to with slash + '\u2A7E': MO.REL, // greater-than or slanted equal to + '\u2A7E\u0338': MO.REL, // greater-than or slanted equal to with slash + '\u2A7F': MO.REL, // less-than or slanted equal to with dot inside + '\u2A80': MO.REL, // greater-than or slanted equal to with dot inside + '\u2A81': MO.REL, // less-than or slanted equal to with dot above + '\u2A82': MO.REL, // greater-than or slanted equal to with dot above + '\u2A83': MO.REL, // less-than or slanted equal to with dot above right + '\u2A84': MO.REL, // greater-than or slanted equal to with dot above left + '\u2A85': MO.REL, // less-than or approximate + '\u2A86': MO.REL, // greater-than or approximate + '\u2A87': MO.REL, // less-than and single-line not equal to + '\u2A88': MO.REL, // greater-than and single-line not equal to + '\u2A89': MO.REL, // less-than and not approximate + '\u2A8A': MO.REL, // greater-than and not approximate + '\u2A8B': MO.REL, // less-than above double-line equal above greater-than + '\u2A8C': MO.REL, // greater-than above double-line equal above less-than + '\u2A8D': MO.REL, // less-than above similar or equal + '\u2A8E': MO.REL, // greater-than above similar or equal + '\u2A8F': MO.REL, // less-than above similar above greater-than + '\u2A90': MO.REL, // greater-than above similar above less-than + '\u2A91': MO.REL, // less-than above greater-than above double-line equal + '\u2A92': MO.REL, // greater-than above less-than above double-line equal + '\u2A93': MO.REL, // less-than above slanted equal above greater-than above slanted equal + '\u2A94': MO.REL, // greater-than above slanted equal above less-than above slanted equal + '\u2A95': MO.REL, // slanted equal to or less-than + '\u2A96': MO.REL, // slanted equal to or greater-than + '\u2A97': MO.REL, // slanted equal to or less-than with dot inside + '\u2A98': MO.REL, // slanted equal to or greater-than with dot inside + '\u2A99': MO.REL, // double-line equal to or less-than + '\u2A9A': MO.REL, // double-line equal to or greater-than + '\u2A9B': MO.REL, // double-line slanted equal to or less-than + '\u2A9C': MO.REL, // double-line slanted equal to or greater-than + '\u2A9D': MO.REL, // similar or less-than + '\u2A9E': MO.REL, // similar or greater-than + '\u2A9F': MO.REL, // similar above less-than above equals sign + '\u2AA0': MO.REL, // similar above greater-than above equals sign + '\u2AA1': MO.REL, // double nested less-than + '\u2AA1\u0338': MO.REL, // double nested less-than with slash + '\u2AA2': MO.REL, // double nested greater-than + '\u2AA2\u0338': MO.REL, // double nested greater-than with slash + '\u2AA3': MO.REL, // double nested less-than with underbar + '\u2AA4': MO.REL, // greater-than overlapping less-than + '\u2AA5': MO.REL, // greater-than beside less-than + '\u2AA6': MO.REL, // less-than closed by curve + '\u2AA7': MO.REL, // greater-than closed by curve + '\u2AA8': MO.REL, // less-than closed by curve above slanted equal + '\u2AA9': MO.REL, // greater-than closed by curve above slanted equal + '\u2AAA': MO.REL, // smaller than + '\u2AAB': MO.REL, // larger than + '\u2AAC': MO.REL, // smaller than or equal to + '\u2AAD': MO.REL, // larger than or equal to + '\u2AAE': MO.REL, // equals sign with bumpy above + '\u2AAF\u0338': MO.REL, // precedes above single-line equals sign with slash + '\u2AB0\u0338': MO.REL, // succeeds above single-line equals sign with slash + '\u2AB1': MO.REL, // precedes above single-line not equal to + '\u2AB2': MO.REL, // succeeds above single-line not equal to + '\u2AB3': MO.REL, // precedes above equals sign + '\u2AB4': MO.REL, // succeeds above equals sign + '\u2AB5': MO.REL, // precedes above not equal to + '\u2AB6': MO.REL, // succeeds above not equal to + '\u2AB7': MO.REL, // precedes above almost equal to + '\u2AB8': MO.REL, // succeeds above almost equal to + '\u2AB9': MO.REL, // precedes above not almost equal to + '\u2ABA': MO.REL, // succeeds above not almost equal to + '\u2ABB': MO.REL, // double precedes + '\u2ABC': MO.REL, // double succeeds + '\u2ABD': MO.REL, // subset with dot + '\u2ABE': MO.REL, // superset with dot + '\u2ABF': MO.REL, // subset with plus sign below + '\u2AC0': MO.REL, // superset with plus sign below + '\u2AC1': MO.REL, // subset with multiplication sign below + '\u2AC2': MO.REL, // superset with multiplication sign below + '\u2AC3': MO.REL, // subset of or equal to with dot above + '\u2AC4': MO.REL, // superset of or equal to with dot above + '\u2AC5': MO.REL, // subset of above equals sign + '\u2AC6': MO.REL, // superset of above equals sign + '\u2AC7': MO.REL, // subset of above tilde operator + '\u2AC8': MO.REL, // superset of above tilde operator + '\u2AC9': MO.REL, // subset of above almost equal to + '\u2ACA': MO.REL, // superset of above almost equal to + '\u2ACB': MO.REL, // subset of above not equal to + '\u2ACC': MO.REL, // superset of above not equal to + '\u2ACD': MO.REL, // square left open box operator + '\u2ACE': MO.REL, // square right open box operator + '\u2ACF': MO.REL, // closed subset + '\u2AD0': MO.REL, // closed superset + '\u2AD1': MO.REL, // closed subset or equal to + '\u2AD2': MO.REL, // closed superset or equal to + '\u2AD3': MO.REL, // subset above superset + '\u2AD4': MO.REL, // superset above subset + '\u2AD5': MO.REL, // subset above subset + '\u2AD6': MO.REL, // superset above superset + '\u2AD7': MO.REL, // superset beside subset + '\u2AD8': MO.REL, // superset beside and joined by dash with subset + '\u2AD9': MO.REL, // element of opening downwards + '\u2ADA': MO.REL, // pitchfork with tee top + '\u2ADB': MO.REL, // transversal intersection + '\u2ADC': MO.REL, // forking + '\u2ADD': MO.REL, // nonforking + '\u2ADE': MO.REL, // short left tack + '\u2ADF': MO.REL, // short down tack + '\u2AE0': MO.REL, // short up tack + '\u2AE1': MO.REL, // perpendicular with s + '\u2AE2': MO.REL, // vertical bar triple right turnstile + '\u2AE3': MO.REL, // double vertical bar left turnstile + '\u2AE4': MO.REL, // vertical bar double left turnstile + '\u2AE5': MO.REL, // double vertical bar double left turnstile + '\u2AE6': MO.REL, // long dash from left member of double vertical + '\u2AE7': MO.REL, // short down tack with overbar + '\u2AE8': MO.REL, // short up tack with underbar + '\u2AE9': MO.REL, // short up tack above short down tack + '\u2AEA': MO.REL, // double down tack + '\u2AEB': MO.REL, // double up tack + '\u2AEC': MO.REL, // double stroke not sign + '\u2AED': MO.REL, // reversed double stroke not sign + '\u2AEE': MO.REL, // does not divide with reversed negation slash + '\u2AEF': MO.REL, // vertical line with circle above + '\u2AF0': MO.REL, // vertical line with circle below + '\u2AF1': MO.REL, // down tack with circle below + '\u2AF2': MO.REL, // parallel with horizontal stroke + '\u2AF3': MO.REL, // parallel with tilde operator + '\u2AF4': MO.BIN4, // triple vertical bar binary relation + '\u2AF5': MO.BIN4, // triple vertical bar with horizontal stroke + '\u2AF6': MO.BIN4, // triple colon operator + '\u2AF7': MO.REL, // triple nested less-than + '\u2AF8': MO.REL, // triple nested greater-than + '\u2AF9': MO.REL, // double-line slanted less-than or equal to + '\u2AFA': MO.REL, // double-line slanted greater-than or equal to + '\u2AFB': MO.BIN4, // triple solidus binary relation + '\u2AFD': MO.BIN4, // double solidus operator + '\u2AFE': MO.BIN3 // white vertical bar + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/SuppMathOperators.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsA.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsA.js new file mode 100644 index 00000000..e09e926d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsA.js @@ -0,0 +1,40 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/SupplementalArrowsA.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u27F0': MO.RELSTRETCH, // upwards quadruple arrow + '\u27F1': MO.RELSTRETCH, // downwards quadruple arrow + '\u27FB': MO.WIDEREL, // long leftwards arrow from bar + '\u27FD': MO.WIDEREL, // long leftwards double arrow from bar + '\u27FE': MO.WIDEREL, // long rightwards double arrow from bar + '\u27FF': MO.WIDEREL // long rightwards squiggle arrow + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/SupplementalArrowsA.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsB.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsB.js new file mode 100644 index 00000000..a60e53a4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsB.js @@ -0,0 +1,162 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/SupplementalArrowsB.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u2900': MO.RELACCENT, // rightwards two-headed arrow with vertical stroke + '\u2901': MO.RELACCENT, // rightwards two-headed arrow with double vertical stroke + '\u2902': MO.RELACCENT, // leftwards double arrow with vertical stroke + '\u2903': MO.RELACCENT, // rightwards double arrow with vertical stroke + '\u2904': MO.RELACCENT, // left right double arrow with vertical stroke + '\u2905': MO.RELACCENT, // rightwards two-headed arrow from bar + '\u2906': MO.RELACCENT, // leftwards double arrow from bar + '\u2907': MO.RELACCENT, // rightwards double arrow from bar + '\u2908': MO.REL, // downwards arrow with horizontal stroke + '\u2909': MO.REL, // upwards arrow with horizontal stroke + '\u290A': MO.RELSTRETCH, // upwards triple arrow + '\u290B': MO.RELSTRETCH, // downwards triple arrow + '\u290C': MO.WIDEREL, // leftwards double dash arrow + '\u290D': MO.WIDEREL, // rightwards double dash arrow + '\u290E': MO.WIDEREL, // leftwards triple dash arrow + '\u290F': MO.WIDEREL, // rightwards triple dash arrow + '\u2910': MO.WIDEREL, // rightwards two-headed triple dash arrow + '\u2911': MO.RELACCENT, // rightwards arrow with dotted stem + '\u2912': MO.RELSTRETCH, // upwards arrow to bar + '\u2913': MO.RELSTRETCH, // downwards arrow to bar + '\u2914': MO.RELACCENT, // rightwards arrow with tail with vertical stroke + '\u2915': MO.RELACCENT, // rightwards arrow with tail with double vertical stroke + '\u2916': MO.RELACCENT, // rightwards two-headed arrow with tail + '\u2917': MO.RELACCENT, // rightwards two-headed arrow with tail with vertical stroke + '\u2918': MO.RELACCENT, // rightwards two-headed arrow with tail with double vertical stroke + '\u2919': MO.RELACCENT, // leftwards arrow-tail + '\u291A': MO.RELACCENT, // rightwards arrow-tail + '\u291B': MO.RELACCENT, // leftwards double arrow-tail + '\u291C': MO.RELACCENT, // rightwards double arrow-tail + '\u291D': MO.RELACCENT, // leftwards arrow to black diamond + '\u291E': MO.RELACCENT, // rightwards arrow to black diamond + '\u291F': MO.RELACCENT, // leftwards arrow from bar to black diamond + '\u2920': MO.RELACCENT, // rightwards arrow from bar to black diamond + '\u2921': MO.RELSTRETCH, // north west and south east arrow + '\u2922': MO.RELSTRETCH, // north east and south west arrow + '\u2923': MO.REL, // north west arrow with hook + '\u2924': MO.REL, // north east arrow with hook + '\u2925': MO.REL, // south east arrow with hook + '\u2926': MO.REL, // south west arrow with hook + '\u2927': MO.REL, // north west arrow and north east arrow + '\u2928': MO.REL, // north east arrow and south east arrow + '\u2929': MO.REL, // south east arrow and south west arrow + '\u292A': MO.REL, // south west arrow and north west arrow + '\u292B': MO.REL, // rising diagonal crossing falling diagonal + '\u292C': MO.REL, // falling diagonal crossing rising diagonal + '\u292D': MO.REL, // south east arrow crossing north east arrow + '\u292E': MO.REL, // north east arrow crossing south east arrow + '\u292F': MO.REL, // falling diagonal crossing north east arrow + '\u2930': MO.REL, // rising diagonal crossing south east arrow + '\u2931': MO.REL, // north east arrow crossing north west arrow + '\u2932': MO.REL, // north west arrow crossing north east arrow + '\u2933': MO.RELACCENT, // wave arrow pointing directly right + '\u2934': MO.REL, // arrow pointing rightwards then curving upwards + '\u2935': MO.REL, // arrow pointing rightwards then curving downwards + '\u2936': MO.REL, // arrow pointing downwards then curving leftwards + '\u2937': MO.REL, // arrow pointing downwards then curving rightwards + '\u2938': MO.REL, // right-side arc clockwise arrow + '\u2939': MO.REL, // left-side arc anticlockwise arrow + '\u293A': MO.RELACCENT, // top arc anticlockwise arrow + '\u293B': MO.RELACCENT, // bottom arc anticlockwise arrow + '\u293C': MO.RELACCENT, // top arc clockwise arrow with minus + '\u293D': MO.RELACCENT, // top arc anticlockwise arrow with plus + '\u293E': MO.REL, // lower right semicircular clockwise arrow + '\u293F': MO.REL, // lower left semicircular anticlockwise arrow + '\u2940': MO.REL, // anticlockwise closed circle arrow + '\u2941': MO.REL, // clockwise closed circle arrow + '\u2942': MO.RELACCENT, // rightwards arrow above short leftwards arrow + '\u2943': MO.RELACCENT, // leftwards arrow above short rightwards arrow + '\u2944': MO.RELACCENT, // short rightwards arrow above leftwards arrow + '\u2945': MO.RELACCENT, // rightwards arrow with plus below + '\u2946': MO.RELACCENT, // leftwards arrow with plus below + '\u2947': MO.RELACCENT, // rightwards arrow through x + '\u2948': MO.RELACCENT, // left right arrow through small circle + '\u2949': MO.REL, // upwards two-headed arrow from small circle + '\u294A': MO.RELACCENT, // left barb up right barb down harpoon + '\u294B': MO.RELACCENT, // left barb down right barb up harpoon + '\u294C': MO.REL, // up barb right down barb left harpoon + '\u294D': MO.REL, // up barb left down barb right harpoon + '\u294E': MO.WIDEREL, // left barb up right barb up harpoon + '\u294F': MO.RELSTRETCH, // up barb right down barb right harpoon + '\u2950': MO.WIDEREL, // left barb down right barb down harpoon + '\u2951': MO.RELSTRETCH, // up barb left down barb left harpoon + '\u2952': MO.WIDEREL, // leftwards harpoon with barb up to bar + '\u2953': MO.WIDEREL, // rightwards harpoon with barb up to bar + '\u2954': MO.RELSTRETCH, // upwards harpoon with barb right to bar + '\u2955': MO.RELSTRETCH, // downwards harpoon with barb right to bar + '\u2956': MO.RELSTRETCH, // leftwards harpoon with barb down to bar + '\u2957': MO.RELSTRETCH, // rightwards harpoon with barb down to bar + '\u2958': MO.RELSTRETCH, // upwards harpoon with barb left to bar + '\u2959': MO.RELSTRETCH, // downwards harpoon with barb left to bar + '\u295A': MO.WIDEREL, // leftwards harpoon with barb up from bar + '\u295B': MO.WIDEREL, // rightwards harpoon with barb up from bar + '\u295C': MO.RELSTRETCH, // upwards harpoon with barb right from bar + '\u295D': MO.RELSTRETCH, // downwards harpoon with barb right from bar + '\u295E': MO.WIDEREL, // leftwards harpoon with barb down from bar + '\u295F': MO.WIDEREL, // rightwards harpoon with barb down from bar + '\u2960': MO.RELSTRETCH, // upwards harpoon with barb left from bar + '\u2961': MO.RELSTRETCH, // downwards harpoon with barb left from bar + '\u2962': MO.RELACCENT, // leftwards harpoon with barb up above leftwards harpoon with barb down + '\u2963': MO.REL, // upwards harpoon with barb left beside upwards harpoon with barb right + '\u2964': MO.RELACCENT, // rightwards harpoon with barb up above rightwards harpoon with barb down + '\u2965': MO.REL, // downwards harpoon with barb left beside downwards harpoon with barb right + '\u2966': MO.RELACCENT, // leftwards harpoon with barb up above rightwards harpoon with barb up + '\u2967': MO.RELACCENT, // leftwards harpoon with barb down above rightwards harpoon with barb down + '\u2968': MO.RELACCENT, // rightwards harpoon with barb up above leftwards harpoon with barb up + '\u2969': MO.RELACCENT, // rightwards harpoon with barb down above leftwards harpoon with barb down + '\u296A': MO.RELACCENT, // leftwards harpoon with barb up above long dash + '\u296B': MO.RELACCENT, // leftwards harpoon with barb down below long dash + '\u296C': MO.RELACCENT, // rightwards harpoon with barb up above long dash + '\u296D': MO.RELACCENT, // rightwards harpoon with barb down below long dash + '\u296E': MO.RELSTRETCH, // upwards harpoon with barb left beside downwards harpoon with barb right + '\u296F': MO.RELSTRETCH, // downwards harpoon with barb left beside upwards harpoon with barb right + '\u2970': MO.RELACCENT, // right double arrow with rounded head + '\u2971': MO.RELACCENT, // equals sign above rightwards arrow + '\u2972': MO.RELACCENT, // tilde operator above rightwards arrow + '\u2973': MO.RELACCENT, // leftwards arrow above tilde operator + '\u2974': MO.RELACCENT, // rightwards arrow above tilde operator + '\u2975': MO.RELACCENT, // rightwards arrow above almost equal to + '\u2976': MO.RELACCENT, // less-than above leftwards arrow + '\u2977': MO.RELACCENT, // leftwards arrow through less-than + '\u2978': MO.RELACCENT, // greater-than above rightwards arrow + '\u2979': MO.RELACCENT, // subset above rightwards arrow + '\u297A': MO.RELACCENT, // leftwards arrow through subset + '\u297B': MO.RELACCENT, // superset above leftwards arrow + '\u297C': MO.RELACCENT, // left fish tail + '\u297D': MO.RELACCENT, // right fish tail + '\u297E': MO.REL, // up fish tail + '\u297F': MO.REL // down fish tail + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/SupplementalArrowsB.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/config.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/config.js new file mode 100644 index 00000000..d90e92be --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/config.js @@ -0,0 +1,46 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/input/AsciiMath/config.js + * + * Initializes the AsciiMath InputJax (the main definition is in + * MathJax/jax/input/AsciiMath/jax.js, which is loaded when needed). + * + * Originally adapted for MathJax by David Lippman. + * Additional work done by Davide P. Cervone. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2012-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.InputJax.AsciiMath = MathJax.InputJax({ + id: "AsciiMath", + version: "2.7.5", + directory: MathJax.InputJax.directory + "/AsciiMath", + extensionDir: MathJax.InputJax.extensionDir + "/AsciiMath", + + config: { + fixphi: true, // switch phi and varphi unicode values + useMathMLspacing: true, // use MathML spacing rather than TeX spacing? + displaystyle: true, // put limits above and below operators + decimalsign: "." // can change to "," but watch out for "(1,2)" + } +}); +MathJax.InputJax.AsciiMath.Register("math/asciimath"); + +MathJax.InputJax.AsciiMath.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/jax.js new file mode 100644 index 00000000..0246cbd7 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/jax.js @@ -0,0 +1,1540 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/input/AsciiMath/jax.js + * + * An Input Jax for AsciiMath notation + * (see http://www1.chapman.edu/~jipsen/mathml/asciimath.html). + * + * Originally adapted for MathJax by David Lippman. + * Additional work done by Davide P. Cervone. + * + * The current development repository for AsciiMathML is + * https://github.com/mathjax/asciimathml + * + * A portion of this file is taken from + * ASCIIMathML.js Version 2.2 Mar 3, 2014, (c) Peter Jipsen http://www.chapman.edu/~jipsen + * and is used by permission of Peter Jipsen, who has agreed to allow us to + * release it under the Apache2 license (see below). That portion is indicated + * via comments. + * + * The remainder falls under the copyright that follows. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2012-2018 The MathJax Consortium + * + * 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. + */ + +(function (ASCIIMATH) { + + var MML; // Filled in later + + // + // Make a documentFragment work-alike that uses MML objects + // rather than DOM objects. + // + var DOCFRAG = MathJax.Object.Subclass({ + firstChild: null, + lastChild: null, + Init: function () { + this.childNodes = []; + }, + appendChild: function (node) { + if (node.parent) {node.parent.removeChild(node)} + if (this.lastChild) {this.lastChild.nextSibling = node} + if (!this.firstChild) {this.firstChild = node} + this.childNodes.push(node); node.parent = this; + this.lastChild = node; + return node; + }, + removeChild: function (node) { + for (var i = 0, m = this.childNodes.length; i < m; i++) + {if (this.childNodes[i] === node) break} + if (i === m) return; + this.childNodes.splice(i,1); + if (node === this.firstChild) {this.firstChild = node.nextSibling} + if (node === this.lastChild) { + if (!this.childNodes.length) {this.lastChild = null} + else {this.lastChild = this.childNodes[this.childNodes.length-1]} + } + if (i) {this.childNodes[i-1].nextSibling = node.nextSibling} + node.nextSibling = node.parent = null; + return node; + }, + replaceChild: function (node,old) { + for (var i = 0, m = this.childNodes.length; i < m; i++) + {if (this.childNodes[i] === old) break} + if (i) {this.childNodes[i-1].nextSibling = node} else {this.firstChild = node} + if (i >= m-1) {this.lastChild = node} + this.childNodes[i] = node; node.nextSibling = old.nextSibling; + old.nextSibling = old.parent = null; + return old; + }, + hasChildNodes: function (node) { + return (this.childNodes.length>0); + }, + toString: function () {return "{"+this.childNodes.join("")+"}"} + }); + + var INITASCIIMATH = function () { + MML = MathJax.ElementJax.mml; + var MBASEINIT = MML.mbase.prototype.Init; + + // + // Make MML elements looks like DOM elements (add the + // methods that AsciiMath needs) + // + MML.mbase.Augment({ + firstChild: null, + lastChild: null, + nodeValue: null, + nextSibling: null, + Init: function () { + var obj = MBASEINIT.apply(this,arguments) || this; + obj.childNodes = obj.data; + obj.nodeName = obj.type; + return obj; + }, + appendChild: function (node) { + if (node.parent) {node.parent.removeChild(node)} + var nodes = arguments; + if (node.isa(DOCFRAG)) { + nodes = node.childNodes; + node.data = node.childNodes = []; + node.firstChild = node.lastChild = null; + } + for (var i = 0, m = nodes.length; i < m; i++) { + node = nodes[i]; + if (this.lastChild) {this.lastChild.nextSibling = node} + if (!this.firstChild) {this.firstChild = node} + this.Append(node); + this.lastChild = node; + } + return node; + }, + removeChild: function (node) { + for (var i = 0, m = this.childNodes.length; i < m; i++) + {if (this.childNodes[i] === node) break} + if (i === m) return; + this.childNodes.splice(i,1); + if (node === this.firstChild) {this.firstChild = node.nextSibling} + if (node === this.lastChild) { + if (!this.childNodes.length) {this.lastChild = null} + else {this.lastChild = this.childNodes[this.childNodes.length-1]} + } + if (i) {this.childNodes[i-1].nextSibling = node.nextSibling} + node.nextSibling = node.parent = null; + return node; + }, + replaceChild: function (node,old) { + for (var i = 0, m = this.childNodes.length; i < m; i++) + {if (this.childNodes[i] === old) break} + // FIXME: make this work with DOCFRAG's? + if (i) {this.childNodes[i-1].nextSibling = node} else {this.firstChild = node} + if (i >= m-1) {this.lastChild = node} + this.SetData(i,node); node.nextSibling = old.nextSibling; + old.nextSibling = old.parent = null; + return old; + }, + hasChildNodes: function (node) { + return (this.childNodes.length>0); + }, + setAttribute: function (name,value) {this[name] = value} + }); + }; + + // + // Set up to isolate ASCIIMathML.js + // + + var window = {}; // hide the true window + + // + // Hide the true document, and add functions that + // use and produce MML objects instead of DOM objects + // + var document = { + getElementById: true, + createElementNS: function (ns,type) { + var node = MML[type](); + if (type === "mo" && ASCIIMATH.config.useMathMLspacing) {node.useMMLspacing = 0x80} + return node; + }, + createTextNode: function (text) {return MML.chars(text).With({nodeValue:text})}, + createDocumentFragment: function () {return DOCFRAG()} + }; + + var navigator = {appName: "MathJax"}; // hide the true navigator object + +/****************************************************************** + * + * The following section is ASCIIMathML.js Version 2.2 + * (c) Peter Jipsen, used with permission. + * + * Some sections are commented out to save space in the + * minified version (but that is not strictly necessary). + * + ******************************************************************/ + +/* +ASCIIMathML.js +============== +This file contains JavaScript functions to convert ASCII math notation +and (some) LaTeX to Presentation MathML. The conversion is done while the +HTML page loads, and should work with Firefox and other browsers that can +render MathML. + +Just add the next line to your HTML page with this file in the same folder: + + + +Version 2.2 Mar 3, 2014. +Latest version at https://github.com/mathjax/asciimathml +If you use it on a webpage, please send the URL to jipsen@chapman.edu + +Copyright (c) 2014 Peter Jipsen and other ASCIIMathML.js contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ +//var asciimath = {}; + +//(function(){ +var mathcolor = "blue"; // change it to "" (to inherit) or another color +//var mathfontsize = "1em"; // change to e.g. 1.2em for larger math +//var mathfontfamily = "serif"; // change to "" to inherit (works in IE) + // or another family (e.g. "arial") +//var automathrecognize = false; // writing "amath" on page makes this true +//var checkForMathML = true; // check if browser can display MathML +//var notifyIfNoMathML = true; // display note at top if no MathML capability +//var alertIfNoMathML = false; // show alert box if no MathML capability +//var translateOnLoad = true; // set to false to do call translators from js +//var translateASCIIMath = true; // false to preserve `..` +var displaystyle = true; // puts limits above and below large operators +var showasciiformulaonhover = true; // helps students learn ASCIIMath +var decimalsign = "."; // change to "," if you like, beware of `(1,2)`! +//var AMdelimiter1 = "`", AMescape1 = "\\\\`"; // can use other characters +//var AMdocumentId = "wikitext" // PmWiki element containing math (default=body) +var fixphi = true; //false to return to legacy phi/varphi mapping + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ + +var isIE = (navigator.appName.slice(0,9)=="Microsoft"); +/* +var noMathML = false, translated = false; + +if (isIE) { // add MathPlayer info to IE webpages + document.write(""); + document.write(""); +} + +// Add a stylesheet, replacing any previous custom stylesheet (adapted from TW) +function setStylesheet(s) { + var id = "AMMLcustomStyleSheet"; + var n = document.getElementById(id); + if(document.createStyleSheet) { + // Test for IE's non-standard createStyleSheet method + if(n) + n.parentNode.removeChild(n); + // This failed without the   + document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd"," "); + } else { + if(n) { + n.replaceChild(document.createTextNode(s),n.firstChild); + } else { + n = document.createElement("style"); + n.type = "text/css"; + n.id = id; + n.appendChild(document.createTextNode(s)); + document.getElementsByTagName("head")[0].appendChild(n); + } + } +} + +setStylesheet("#AMMLcloseDiv \{font-size:0.8em; padding-top:1em; color:#014\}\n#AMMLwarningBox \{position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30\}"); + +function init(){ + var msg, warnings = new Array(); + if (document.getElementById==null){ + alert("This webpage requires a recent browser such as Mozilla Firefox"); + return null; + } + if (checkForMathML && (msg = checkMathML())) warnings.push(msg); + if (warnings.length>0) displayWarnings(warnings); + if (!noMathML) initSymbols(); + return true; +} + +function checkMathML(){ + if (navigator.appName.slice(0,8)=="Netscape") + if (navigator.appVersion.slice(0,1)>="5") noMathML = null; + else noMathML = true; + else if (navigator.appName.slice(0,9)=="Microsoft") + try { + var ActiveX = new ActiveXObject("MathPlayer.Factory.1"); + noMathML = null; + } catch (e) { + noMathML = true; + } + else if (navigator.appName.slice(0,5)=="Opera") + if (navigator.appVersion.slice(0,3)>="9.5") noMathML = null; + else noMathML = true; +//noMathML = true; //uncomment to check + if (noMathML && notifyIfNoMathML) { + var msg = "To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later."; + if (alertIfNoMathML) + alert(msg); + else return msg; + } +} + +function hideWarning(){ + var body = document.getElementsByTagName("body")[0]; + body.removeChild(document.getElementById('AMMLwarningBox')); + body.onclick = null; +} + +function displayWarnings(warnings) { + var i, frag, nd = createElementXHTML("div"); + var body = document.getElementsByTagName("body")[0]; + body.onclick=hideWarning; + nd.id = 'AMMLwarningBox'; + for (i=0; i<", tag:"mo", output:"\u22C9", tex:"ltimes", ttype:CONST}, +{input:"><|", tag:"mo", output:"\u22CA", tex:"rtimes", ttype:CONST}, +{input:"|><|", tag:"mo", output:"\u22C8", tex:"bowtie", ttype:CONST}, +{input:"-:", tag:"mo", output:"\u00F7", tex:"div", ttype:CONST}, +{input:"divide", tag:"mo", output:"-:", tex:null, ttype:DEFINITION}, +{input:"@", tag:"mo", output:"\u2218", tex:"circ", ttype:CONST}, +{input:"o+", tag:"mo", output:"\u2295", tex:"oplus", ttype:CONST}, +{input:"ox", tag:"mo", output:"\u2297", tex:"otimes", ttype:CONST}, +{input:"o.", tag:"mo", output:"\u2299", tex:"odot", ttype:CONST}, +{input:"sum", tag:"mo", output:"\u2211", tex:null, ttype:UNDEROVER}, +{input:"prod", tag:"mo", output:"\u220F", tex:null, ttype:UNDEROVER}, +{input:"^^", tag:"mo", output:"\u2227", tex:"wedge", ttype:CONST}, +{input:"^^^", tag:"mo", output:"\u22C0", tex:"bigwedge", ttype:UNDEROVER}, +{input:"vv", tag:"mo", output:"\u2228", tex:"vee", ttype:CONST}, +{input:"vvv", tag:"mo", output:"\u22C1", tex:"bigvee", ttype:UNDEROVER}, +{input:"nn", tag:"mo", output:"\u2229", tex:"cap", ttype:CONST}, +{input:"nnn", tag:"mo", output:"\u22C2", tex:"bigcap", ttype:UNDEROVER}, +{input:"uu", tag:"mo", output:"\u222A", tex:"cup", ttype:CONST}, +{input:"uuu", tag:"mo", output:"\u22C3", tex:"bigcup", ttype:UNDEROVER}, + +//binary relation symbols +{input:"!=", tag:"mo", output:"\u2260", tex:"ne", ttype:CONST}, +{input:":=", tag:"mo", output:":=", tex:null, ttype:CONST}, +{input:"lt", tag:"mo", output:"<", tex:null, ttype:CONST}, +{input:"<=", tag:"mo", output:"\u2264", tex:"le", ttype:CONST}, +{input:"lt=", tag:"mo", output:"\u2264", tex:"leq", ttype:CONST}, +{input:"gt", tag:"mo", output:">", tex:null, ttype:CONST}, +{input:">=", tag:"mo", output:"\u2265", tex:"ge", ttype:CONST}, +{input:"gt=", tag:"mo", output:"\u2265", tex:"geq", ttype:CONST}, +{input:"-<", tag:"mo", output:"\u227A", tex:"prec", ttype:CONST}, +{input:"-lt", tag:"mo", output:"\u227A", tex:null, ttype:CONST}, +{input:">-", tag:"mo", output:"\u227B", tex:"succ", ttype:CONST}, +{input:"-<=", tag:"mo", output:"\u2AAF", tex:"preceq", ttype:CONST}, +{input:">-=", tag:"mo", output:"\u2AB0", tex:"succeq", ttype:CONST}, +{input:"in", tag:"mo", output:"\u2208", tex:null, ttype:CONST}, +{input:"!in", tag:"mo", output:"\u2209", tex:"notin", ttype:CONST}, +{input:"sub", tag:"mo", output:"\u2282", tex:"subset", ttype:CONST}, +{input:"sup", tag:"mo", output:"\u2283", tex:"supset", ttype:CONST}, +{input:"sube", tag:"mo", output:"\u2286", tex:"subseteq", ttype:CONST}, +{input:"supe", tag:"mo", output:"\u2287", tex:"supseteq", ttype:CONST}, +{input:"-=", tag:"mo", output:"\u2261", tex:"equiv", ttype:CONST}, +{input:"~=", tag:"mo", output:"\u2245", tex:"cong", ttype:CONST}, +{input:"~~", tag:"mo", output:"\u2248", tex:"approx", ttype:CONST}, +{input:"prop", tag:"mo", output:"\u221D", tex:"propto", ttype:CONST}, + +//logical symbols +{input:"and", tag:"mtext", output:"and", tex:null, ttype:SPACE}, +{input:"or", tag:"mtext", output:"or", tex:null, ttype:SPACE}, +{input:"not", tag:"mo", output:"\u00AC", tex:"neg", ttype:CONST}, +{input:"=>", tag:"mo", output:"\u21D2", tex:"implies", ttype:CONST}, +{input:"if", tag:"mo", output:"if", tex:null, ttype:SPACE}, +{input:"<=>", tag:"mo", output:"\u21D4", tex:"iff", ttype:CONST}, +{input:"AA", tag:"mo", output:"\u2200", tex:"forall", ttype:CONST}, +{input:"EE", tag:"mo", output:"\u2203", tex:"exists", ttype:CONST}, +{input:"_|_", tag:"mo", output:"\u22A5", tex:"bot", ttype:CONST}, +{input:"TT", tag:"mo", output:"\u22A4", tex:"top", ttype:CONST}, +{input:"|--", tag:"mo", output:"\u22A2", tex:"vdash", ttype:CONST}, +{input:"|==", tag:"mo", output:"\u22A8", tex:"models", ttype:CONST}, + +//grouping brackets +{input:"(", tag:"mo", output:"(", tex:"left(", ttype:LEFTBRACKET}, +{input:")", tag:"mo", output:")", tex:"right)", ttype:RIGHTBRACKET}, +{input:"[", tag:"mo", output:"[", tex:"left[", ttype:LEFTBRACKET}, +{input:"]", tag:"mo", output:"]", tex:"right]", ttype:RIGHTBRACKET}, +{input:"{", tag:"mo", output:"{", tex:null, ttype:LEFTBRACKET}, +{input:"}", tag:"mo", output:"}", tex:null, ttype:RIGHTBRACKET}, +{input:"|", tag:"mo", output:"|", tex:null, ttype:LEFTRIGHT}, +{input:":|:", tag:"mo", output:"|", tex:null, ttype:CONST}, +{input:"|:", tag:"mo", output:"|", tex:null, ttype:LEFTBRACKET}, +{input:":|", tag:"mo", output:"|", tex:null, ttype:RIGHTBRACKET}, +//{input:"||", tag:"mo", output:"||", tex:null, ttype:LEFTRIGHT}, +{input:"(:", tag:"mo", output:"\u2329", tex:"langle", ttype:LEFTBRACKET}, +{input:":)", tag:"mo", output:"\u232A", tex:"rangle", ttype:RIGHTBRACKET}, +{input:"<<", tag:"mo", output:"\u2329", tex:null, ttype:LEFTBRACKET}, +{input:">>", tag:"mo", output:"\u232A", tex:null, ttype:RIGHTBRACKET}, +{input:"{:", tag:"mo", output:"{:", tex:null, ttype:LEFTBRACKET, invisible:true}, +{input:":}", tag:"mo", output:":}", tex:null, ttype:RIGHTBRACKET, invisible:true}, + +//miscellaneous symbols +{input:"int", tag:"mo", output:"\u222B", tex:null, ttype:CONST}, +{input:"dx", tag:"mi", output:"{:d x:}", tex:null, ttype:DEFINITION}, +{input:"dy", tag:"mi", output:"{:d y:}", tex:null, ttype:DEFINITION}, +{input:"dz", tag:"mi", output:"{:d z:}", tex:null, ttype:DEFINITION}, +{input:"dt", tag:"mi", output:"{:d t:}", tex:null, ttype:DEFINITION}, +{input:"oint", tag:"mo", output:"\u222E", tex:null, ttype:CONST}, +{input:"del", tag:"mo", output:"\u2202", tex:"partial", ttype:CONST}, +{input:"grad", tag:"mo", output:"\u2207", tex:"nabla", ttype:CONST}, +{input:"+-", tag:"mo", output:"\u00B1", tex:"pm", ttype:CONST}, +{input:"O/", tag:"mo", output:"\u2205", tex:"emptyset", ttype:CONST}, +{input:"oo", tag:"mo", output:"\u221E", tex:"infty", ttype:CONST}, +{input:"aleph", tag:"mo", output:"\u2135", tex:null, ttype:CONST}, +{input:"...", tag:"mo", output:"...", tex:"ldots", ttype:CONST}, +{input:":.", tag:"mo", output:"\u2234", tex:"therefore", ttype:CONST}, +{input:":'", tag:"mo", output:"\u2235", tex:"because", ttype:CONST}, +{input:"/_", tag:"mo", output:"\u2220", tex:"angle", ttype:CONST}, +{input:"/_\\", tag:"mo", output:"\u25B3", tex:"triangle", ttype:CONST}, +{input:"'", tag:"mo", output:"\u2032", tex:"prime", ttype:CONST}, +{input:"tilde", tag:"mover", output:"~", tex:null, ttype:UNARY, acc:true}, +{input:"\\ ", tag:"mo", output:"\u00A0", tex:null, ttype:CONST}, +{input:"frown", tag:"mo", output:"\u2322", tex:null, ttype:CONST}, +{input:"quad", tag:"mo", output:"\u00A0\u00A0", tex:null, ttype:CONST}, +{input:"qquad", tag:"mo", output:"\u00A0\u00A0\u00A0\u00A0", tex:null, ttype:CONST}, +{input:"cdots", tag:"mo", output:"\u22EF", tex:null, ttype:CONST}, +{input:"vdots", tag:"mo", output:"\u22EE", tex:null, ttype:CONST}, +{input:"ddots", tag:"mo", output:"\u22F1", tex:null, ttype:CONST}, +{input:"diamond", tag:"mo", output:"\u22C4", tex:null, ttype:CONST}, +{input:"square", tag:"mo", output:"\u25A1", tex:null, ttype:CONST}, +{input:"|__", tag:"mo", output:"\u230A", tex:"lfloor", ttype:CONST}, +{input:"__|", tag:"mo", output:"\u230B", tex:"rfloor", ttype:CONST}, +{input:"|~", tag:"mo", output:"\u2308", tex:"lceiling", ttype:CONST}, +{input:"~|", tag:"mo", output:"\u2309", tex:"rceiling", ttype:CONST}, +{input:"CC", tag:"mo", output:"\u2102", tex:null, ttype:CONST}, +{input:"NN", tag:"mo", output:"\u2115", tex:null, ttype:CONST}, +{input:"QQ", tag:"mo", output:"\u211A", tex:null, ttype:CONST}, +{input:"RR", tag:"mo", output:"\u211D", tex:null, ttype:CONST}, +{input:"ZZ", tag:"mo", output:"\u2124", tex:null, ttype:CONST}, +{input:"f", tag:"mi", output:"f", tex:null, ttype:UNARY, func:true}, +{input:"g", tag:"mi", output:"g", tex:null, ttype:UNARY, func:true}, + +//standard functions +{input:"lim", tag:"mo", output:"lim", tex:null, ttype:UNDEROVER}, +{input:"Lim", tag:"mo", output:"Lim", tex:null, ttype:UNDEROVER}, +{input:"sin", tag:"mo", output:"sin", tex:null, ttype:UNARY, func:true}, +{input:"cos", tag:"mo", output:"cos", tex:null, ttype:UNARY, func:true}, +{input:"tan", tag:"mo", output:"tan", tex:null, ttype:UNARY, func:true}, +{input:"sinh", tag:"mo", output:"sinh", tex:null, ttype:UNARY, func:true}, +{input:"cosh", tag:"mo", output:"cosh", tex:null, ttype:UNARY, func:true}, +{input:"tanh", tag:"mo", output:"tanh", tex:null, ttype:UNARY, func:true}, +{input:"cot", tag:"mo", output:"cot", tex:null, ttype:UNARY, func:true}, +{input:"sec", tag:"mo", output:"sec", tex:null, ttype:UNARY, func:true}, +{input:"csc", tag:"mo", output:"csc", tex:null, ttype:UNARY, func:true}, +{input:"arcsin", tag:"mo", output:"arcsin", tex:null, ttype:UNARY, func:true}, +{input:"arccos", tag:"mo", output:"arccos", tex:null, ttype:UNARY, func:true}, +{input:"arctan", tag:"mo", output:"arctan", tex:null, ttype:UNARY, func:true}, +{input:"coth", tag:"mo", output:"coth", tex:null, ttype:UNARY, func:true}, +{input:"sech", tag:"mo", output:"sech", tex:null, ttype:UNARY, func:true}, +{input:"csch", tag:"mo", output:"csch", tex:null, ttype:UNARY, func:true}, +{input:"exp", tag:"mo", output:"exp", tex:null, ttype:UNARY, func:true}, +{input:"abs", tag:"mo", output:"abs", tex:null, ttype:UNARY, rewriteleftright:["|","|"]}, +{input:"norm", tag:"mo", output:"norm", tex:null, ttype:UNARY, rewriteleftright:["\u2225","\u2225"]}, +{input:"floor", tag:"mo", output:"floor", tex:null, ttype:UNARY, rewriteleftright:["\u230A","\u230B"]}, +{input:"ceil", tag:"mo", output:"ceil", tex:null, ttype:UNARY, rewriteleftright:["\u2308","\u2309"]}, +{input:"log", tag:"mo", output:"log", tex:null, ttype:UNARY, func:true}, +{input:"ln", tag:"mo", output:"ln", tex:null, ttype:UNARY, func:true}, +{input:"det", tag:"mo", output:"det", tex:null, ttype:UNARY, func:true}, +{input:"dim", tag:"mo", output:"dim", tex:null, ttype:CONST}, +{input:"mod", tag:"mo", output:"mod", tex:null, ttype:CONST}, +{input:"gcd", tag:"mo", output:"gcd", tex:null, ttype:UNARY, func:true}, +{input:"lcm", tag:"mo", output:"lcm", tex:null, ttype:UNARY, func:true}, +{input:"lub", tag:"mo", output:"lub", tex:null, ttype:CONST}, +{input:"glb", tag:"mo", output:"glb", tex:null, ttype:CONST}, +{input:"min", tag:"mo", output:"min", tex:null, ttype:UNDEROVER}, +{input:"max", tag:"mo", output:"max", tex:null, ttype:UNDEROVER}, +{input:"Sin", tag:"mo", output:"Sin", tex:null, ttype:UNARY, func:true}, +{input:"Cos", tag:"mo", output:"Cos", tex:null, ttype:UNARY, func:true}, +{input:"Tan", tag:"mo", output:"Tan", tex:null, ttype:UNARY, func:true}, +{input:"Arcsin", tag:"mo", output:"Arcsin", tex:null, ttype:UNARY, func:true}, +{input:"Arccos", tag:"mo", output:"Arccos", tex:null, ttype:UNARY, func:true}, +{input:"Arctan", tag:"mo", output:"Arctan", tex:null, ttype:UNARY, func:true}, +{input:"Sinh", tag:"mo", output:"Sinh", tex:null, ttype:UNARY, func:true}, +{input:"Cosh", tag:"mo", output:"Cosh", tex:null, ttype:UNARY, func:true}, +{input:"Tanh", tag:"mo", output:"Tanh", tex:null, ttype:UNARY, func:true}, +{input:"Cot", tag:"mo", output:"Cot", tex:null, ttype:UNARY, func:true}, +{input:"Sec", tag:"mo", output:"Sec", tex:null, ttype:UNARY, func:true}, +{input:"Csc", tag:"mo", output:"Csc", tex:null, ttype:UNARY, func:true}, +{input:"Log", tag:"mo", output:"Log", tex:null, ttype:UNARY, func:true}, +{input:"Ln", tag:"mo", output:"Ln", tex:null, ttype:UNARY, func:true}, +{input:"Abs", tag:"mo", output:"abs", tex:null, ttype:UNARY, notexcopy:true, rewriteleftright:["|","|"]}, + +//arrows +{input:"uarr", tag:"mo", output:"\u2191", tex:"uparrow", ttype:CONST}, +{input:"darr", tag:"mo", output:"\u2193", tex:"downarrow", ttype:CONST}, +{input:"rarr", tag:"mo", output:"\u2192", tex:"rightarrow", ttype:CONST}, +{input:"->", tag:"mo", output:"\u2192", tex:"to", ttype:CONST}, +{input:">->", tag:"mo", output:"\u21A3", tex:"rightarrowtail", ttype:CONST}, +{input:"->>", tag:"mo", output:"\u21A0", tex:"twoheadrightarrow", ttype:CONST}, +{input:">->>", tag:"mo", output:"\u2916", tex:"twoheadrightarrowtail", ttype:CONST}, +{input:"|->", tag:"mo", output:"\u21A6", tex:"mapsto", ttype:CONST}, +{input:"larr", tag:"mo", output:"\u2190", tex:"leftarrow", ttype:CONST}, +{input:"harr", tag:"mo", output:"\u2194", tex:"leftrightarrow", ttype:CONST}, +{input:"rArr", tag:"mo", output:"\u21D2", tex:"Rightarrow", ttype:CONST}, +{input:"lArr", tag:"mo", output:"\u21D0", tex:"Leftarrow", ttype:CONST}, +{input:"hArr", tag:"mo", output:"\u21D4", tex:"Leftrightarrow", ttype:CONST}, +//commands with argument +{input:"sqrt", tag:"msqrt", output:"sqrt", tex:null, ttype:UNARY}, +{input:"root", tag:"mroot", output:"root", tex:null, ttype:BINARY}, +{input:"frac", tag:"mfrac", output:"/", tex:null, ttype:BINARY}, +{input:"/", tag:"mfrac", output:"/", tex:null, ttype:INFIX}, +{input:"stackrel", tag:"mover", output:"stackrel", tex:null, ttype:BINARY}, +{input:"overset", tag:"mover", output:"stackrel", tex:null, ttype:BINARY}, +{input:"underset", tag:"munder", output:"stackrel", tex:null, ttype:BINARY}, +{input:"_", tag:"msub", output:"_", tex:null, ttype:INFIX}, +{input:"^", tag:"msup", output:"^", tex:null, ttype:INFIX}, +{input:"hat", tag:"mover", output:"\u005E", tex:null, ttype:UNARY, acc:true}, +{input:"bar", tag:"mover", output:"\u00AF", tex:"overline", ttype:UNARY, acc:true}, +{input:"vec", tag:"mover", output:"\u2192", tex:null, ttype:UNARY, acc:true}, +{input:"dot", tag:"mover", output:".", tex:null, ttype:UNARY, acc:true}, +{input:"ddot", tag:"mover", output:"..", tex:null, ttype:UNARY, acc:true}, +{input:"overarc", tag:"mover", output:"\u23DC", tex:"overparen", ttype:UNARY, acc:true}, +{input:"ul", tag:"munder", output:"\u0332", tex:"underline", ttype:UNARY, acc:true}, +{input:"ubrace", tag:"munder", output:"\u23DF", tex:"underbrace", ttype:UNARYUNDEROVER, acc:true}, +{input:"obrace", tag:"mover", output:"\u23DE", tex:"overbrace", ttype:UNARYUNDEROVER, acc:true}, +{input:"text", tag:"mtext", output:"text", tex:null, ttype:TEXT}, +{input:"mbox", tag:"mtext", output:"mbox", tex:null, ttype:TEXT}, +{input:"color", tag:"mstyle", ttype:BINARY}, +{input:"id", tag:"mrow", ttype:BINARY}, +{input:"class", tag:"mrow", ttype:BINARY}, +{input:"cancel", tag:"menclose", output:"cancel", tex:null, ttype:UNARY}, +AMquote, +{input:"bb", tag:"mstyle", atname:"mathvariant", atval:"bold", output:"bb", tex:null, ttype:UNARY}, +{input:"mathbf", tag:"mstyle", atname:"mathvariant", atval:"bold", output:"mathbf", tex:null, ttype:UNARY}, +{input:"sf", tag:"mstyle", atname:"mathvariant", atval:"sans-serif", output:"sf", tex:null, ttype:UNARY}, +{input:"mathsf", tag:"mstyle", atname:"mathvariant", atval:"sans-serif", output:"mathsf", tex:null, ttype:UNARY}, +{input:"bbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"bbb", tex:null, ttype:UNARY, codes:AMbbb}, +{input:"mathbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"mathbb", tex:null, ttype:UNARY, codes:AMbbb}, +{input:"cc", tag:"mstyle", atname:"mathvariant", atval:"script", output:"cc", tex:null, ttype:UNARY, codes:AMcal}, +{input:"mathcal", tag:"mstyle", atname:"mathvariant", atval:"script", output:"mathcal", tex:null, ttype:UNARY, codes:AMcal}, +{input:"tt", tag:"mstyle", atname:"mathvariant", atval:"monospace", output:"tt", tex:null, ttype:UNARY}, +{input:"mathtt", tag:"mstyle", atname:"mathvariant", atval:"monospace", output:"mathtt", tex:null, ttype:UNARY}, +{input:"fr", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"fr", tex:null, ttype:UNARY, codes:AMfrk}, +{input:"mathfrak", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"mathfrak", tex:null, ttype:UNARY, codes:AMfrk} +]; + +function compareNames(s1,s2) { + if (s1.input > s2.input) return 1 + else return -1; +} + +var AMnames = []; //list of input symbols + +function initSymbols() { + var i; + var symlen = AMsymbols.length; + for (i=0; i=n where str appears or would be inserted +// assumes arr is sorted + if (n==0) { + var h,m; + n = -1; + h = arr.length; + while (n+1> 1; + if (arr[m]=str +} + +function AMgetSymbol(str) { +//return maximal initial substring of str that appears in names +//return null if there is none + var k = 0; //new pos + var j = 0; //old pos + var mk; //match pos + var st; + var tagst; + var match = ""; + var more = true; + for (var i=1; i<=str.length && more; i++) { + st = str.slice(0,i); //initial substring of length i + j = k; + k = position(AMnames, st, j); + if (k=AMnames[k]; + } + AMpreviousSymbol=AMcurrentSymbol; + if (match!=""){ + AMcurrentSymbol=AMsymbols[mk].ttype; + return AMsymbols[mk]; + } +// if str[0] is a digit or - return maxsubstring of digits.digits + AMcurrentSymbol=CONST; + k = 1; + st = str.slice(0,1); + var integ = true; + while ("0"<=st && st<="9" && k<=str.length) { + st = str.slice(k,k+1); + k++; + } + if (st == decimalsign) { + st = str.slice(k,k+1); + if ("0"<=st && st<="9") { + integ = false; + k++; + while ("0"<=st && st<="9" && k<=str.length) { + st = str.slice(k,k+1); + k++; + } + } + } + if ((integ && k>1) || k>2) { + st = str.slice(0,k-1); + tagst = "mn"; + } else { + k = 2; + st = str.slice(0,1); //take 1 character + tagst = (("A">st || st>"Z") && ("a">st || st>"z")?"mo":"mi"); + } + if (st=="-" && AMpreviousSymbol==INFIX) { + AMcurrentSymbol = INFIX; //trick "/" into recognizing "-" on second parse + return {input:st, tag:tagst, output:st, ttype:UNARY, func:true}; + } + return {input:st, tag:tagst, output:st, ttype:CONST}; +} + +function AMremoveBrackets(node) { + var st; + if (!node.hasChildNodes()) { return; } + if (node.firstChild.hasChildNodes() && (node.nodeName=="mrow" || node.nodeName=="M:MROW")) { + st = node.firstChild.firstChild.nodeValue; + if (st=="(" || st=="[" || st=="{") node.removeChild(node.firstChild); + } + if (node.lastChild.hasChildNodes() && (node.nodeName=="mrow" || node.nodeName=="M:MROW")) { + st = node.lastChild.firstChild.nodeValue; + if (st==")" || st=="]" || st=="}") node.removeChild(node.lastChild); + } +} + +/*Parsing ASCII math expressions with the following grammar +v ::= [A-Za-z] | greek letters | numbers | other constant symbols +u ::= sqrt | text | bb | other unary symbols for font commands +b ::= frac | root | stackrel binary symbols +l ::= ( | [ | { | (: | {: left brackets +r ::= ) | ] | } | :) | :} right brackets +S ::= v | lEr | uS | bSS Simple expression +I ::= S_S | S^S | S_S^S | S Intermediate expression +E ::= IE | I/I Expression +Each terminal symbol is translated into a corresponding mathml node.*/ + +var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol; + +function AMparseSexpr(str) { //parses str and returns [node,tailstr] + var symbol, node, result, i, st,// rightvert = false, + newFrag = document.createDocumentFragment(); + str = AMremoveCharsAndBlanks(str,0); + symbol = AMgetSymbol(str); //either a token or a bracket or empty + if (symbol == null || symbol.ttype == RIGHTBRACKET && AMnestingDepth > 0) { + return [null,str]; + } + if (symbol.ttype == DEFINITION) { + str = symbol.output+AMremoveCharsAndBlanks(str,symbol.input.length); + symbol = AMgetSymbol(str); + } + switch (symbol.ttype) { case UNDEROVER: + case CONST: + str = AMremoveCharsAndBlanks(str,symbol.input.length); + return [createMmlNode(symbol.tag, //its a constant + document.createTextNode(symbol.output)),str]; + case LEFTBRACKET: //read (expr+) + AMnestingDepth++; + str = AMremoveCharsAndBlanks(str,symbol.input.length); + result = AMparseExpr(str,true); + AMnestingDepth--; + if (typeof symbol.invisible == "boolean" && symbol.invisible) + node = createMmlNode("mrow",result[0]); + else { + node = createMmlNode("mo",document.createTextNode(symbol.output)); + node = createMmlNode("mrow",node); + node.appendChild(result[0]); + } + return [node,result[1]]; + case TEXT: + if (symbol!=AMquote) str = AMremoveCharsAndBlanks(str,symbol.input.length); + if (str.charAt(0)=="{") i=str.indexOf("}"); + else if (str.charAt(0)=="(") i=str.indexOf(")"); + else if (str.charAt(0)=="[") i=str.indexOf("]"); + else if (symbol==AMquote) i=str.slice(1).indexOf("\"")+1; + else i = 0; + if (i==-1) i = str.length; + st = str.slice(1,i); + if (st.charAt(0) == " ") { + node = createMmlNode("mspace"); + node.setAttribute("width","1ex"); + newFrag.appendChild(node); + } + newFrag.appendChild( + createMmlNode(symbol.tag,document.createTextNode(st))); + if (st.charAt(st.length-1) == " ") { + node = createMmlNode("mspace"); + node.setAttribute("width","1ex"); + newFrag.appendChild(node); + } + str = AMremoveCharsAndBlanks(str,i+1); + return [createMmlNode("mrow",newFrag),str]; + case UNARYUNDEROVER: + case UNARY: + str = AMremoveCharsAndBlanks(str,symbol.input.length); + result = AMparseSexpr(str); + if (result[0]==null) return [createMmlNode(symbol.tag, + document.createTextNode(symbol.output)),str]; + if (typeof symbol.func == "boolean" && symbol.func) { // functions hack + st = str.charAt(0); + if (st=="^" || st=="_" || st=="/" || st=="|" || st=="," || + (symbol.input.length==1 && symbol.input.match(/\w/) && st!="(")) { + return [createMmlNode(symbol.tag, + document.createTextNode(symbol.output)),str]; + } else { + node = createMmlNode("mrow", + createMmlNode(symbol.tag,document.createTextNode(symbol.output))); + node.appendChild(result[0]); + return [node,result[1]]; + } + } + AMremoveBrackets(result[0]); + if (symbol.input == "sqrt") { // sqrt + return [createMmlNode(symbol.tag,result[0]),result[1]]; + } else if (typeof symbol.rewriteleftright != "undefined") { // abs, floor, ceil + node = createMmlNode("mrow", createMmlNode("mo",document.createTextNode(symbol.rewriteleftright[0]))); + node.appendChild(result[0]); + node.appendChild(createMmlNode("mo",document.createTextNode(symbol.rewriteleftright[1]))); + return [node,result[1]]; + } else if (symbol.input == "cancel") { // cancel + node = createMmlNode(symbol.tag,result[0]); + node.setAttribute("notation","updiagonalstrike"); + return [node,result[1]]; + } else if (typeof symbol.acc == "boolean" && symbol.acc) { // accent + node = createMmlNode(symbol.tag,result[0]); + var accnode = createMmlNode("mo",document.createTextNode(symbol.output)); + if (symbol.input=="vec" && ( + (result[0].nodeName=="mrow" && result[0].childNodes.length==1 + && result[0].firstChild.firstChild.nodeValue !== null + && result[0].firstChild.firstChild.nodeValue.length==1) || + (result[0].firstChild.nodeValue !== null + && result[0].firstChild.nodeValue.length==1) )) { + accnode.setAttribute("stretchy",false); + } + node.appendChild(accnode); + return [node,result[1]]; + } else { // font change command + if (!isIE && typeof symbol.codes != "undefined") { + for (i=0; i64 && st.charCodeAt(j)<91) + newst = newst + symbol.codes[st.charCodeAt(j)-65]; + else if (st.charCodeAt(j)>96 && st.charCodeAt(j)<123) + newst = newst + symbol.codes[st.charCodeAt(j)-71]; + else newst = newst + st.charAt(j); + if (result[0].nodeName=="mi") + result[0]=createMmlNode("mo"). + appendChild(document.createTextNode(newst)); + else result[0].replaceChild(createMmlNode("mo"). + appendChild(document.createTextNode(newst)), + result[0].childNodes[i]); + } + } + node = createMmlNode(symbol.tag,result[0]); + node.setAttribute(symbol.atname,symbol.atval); + return [node,result[1]]; + } + case BINARY: + str = AMremoveCharsAndBlanks(str,symbol.input.length); + result = AMparseSexpr(str); + if (result[0]==null) return [createMmlNode("mo", + document.createTextNode(symbol.input)),str]; + AMremoveBrackets(result[0]); + var result2 = AMparseSexpr(result[1]); + if (result2[0]==null) return [createMmlNode("mo", + document.createTextNode(symbol.input)),str]; + AMremoveBrackets(result2[0]); + if (['color', 'class', 'id'].indexOf(symbol.input) >= 0) { + + // Get the second argument + if (str.charAt(0)=="{") i=str.indexOf("}"); + else if (str.charAt(0)=="(") i=str.indexOf(")"); + else if (str.charAt(0)=="[") i=str.indexOf("]"); + st = str.slice(1,i); + + // Make a mathml node + node = createMmlNode(symbol.tag,result2[0]); + + // Set the correct attribute + if (symbol.input === "color") node.setAttribute("mathcolor", st) + else if (symbol.input === "class") node.setAttribute("class", st) + else if (symbol.input === "id") node.setAttribute("id", st) + return [node,result2[1]]; + } + if (symbol.input=="root" || symbol.output=="stackrel") + newFrag.appendChild(result2[0]); + newFrag.appendChild(result[0]); + if (symbol.input=="frac") newFrag.appendChild(result2[0]); + return [createMmlNode(symbol.tag,newFrag),result2[1]]; + case INFIX: + str = AMremoveCharsAndBlanks(str,symbol.input.length); + return [createMmlNode("mo",document.createTextNode(symbol.output)),str]; + case SPACE: + str = AMremoveCharsAndBlanks(str,symbol.input.length); + node = createMmlNode("mspace"); + node.setAttribute("width","1ex"); + newFrag.appendChild(node); + newFrag.appendChild( + createMmlNode(symbol.tag,document.createTextNode(symbol.output))); + node = createMmlNode("mspace"); + node.setAttribute("width","1ex"); + newFrag.appendChild(node); + return [createMmlNode("mrow",newFrag),str]; + case LEFTRIGHT: +// if (rightvert) return [null,str]; else rightvert = true; + AMnestingDepth++; + str = AMremoveCharsAndBlanks(str,symbol.input.length); + result = AMparseExpr(str,false); + AMnestingDepth--; + st = ""; + if (result[0].lastChild!=null) + st = result[0].lastChild.firstChild.nodeValue; + if (st == "|" && str.charAt(0)!==",") { // its an absolute value subterm + node = createMmlNode("mo",document.createTextNode(symbol.output)); + node = createMmlNode("mrow",node); + node.appendChild(result[0]); + return [node,result[1]]; + } else { // the "|" is a \mid so use unicode 2223 (divides) for spacing + node = createMmlNode("mo",document.createTextNode("\u2223")); + node = createMmlNode("mrow",node); + return [node,str]; + } + default: +//alert("default"); + str = AMremoveCharsAndBlanks(str,symbol.input.length); + return [createMmlNode(symbol.tag, //its a constant + document.createTextNode(symbol.output)),str]; + } +} + +function AMparseIexpr(str) { + var symbol, sym1, sym2, node, result, underover; + str = AMremoveCharsAndBlanks(str,0); + sym1 = AMgetSymbol(str); + result = AMparseSexpr(str); + node = result[0]; + str = result[1]; + symbol = AMgetSymbol(str); + if (symbol.ttype == INFIX && symbol.input != "/") { + str = AMremoveCharsAndBlanks(str,symbol.input.length); +// if (symbol.input == "/") result = AMparseIexpr(str); else ... + result = AMparseSexpr(str); + if (result[0] == null) // show box in place of missing argument + result[0] = createMmlNode("mo",document.createTextNode("\u25A1")); + else AMremoveBrackets(result[0]); + str = result[1]; +// if (symbol.input == "/") AMremoveBrackets(node); + underover = (sym1.ttype == UNDEROVER || sym1.ttype == UNARYUNDEROVER); + if (symbol.input == "_") { + sym2 = AMgetSymbol(str); + if (sym2.input == "^") { + str = AMremoveCharsAndBlanks(str,sym2.input.length); + var res2 = AMparseSexpr(str); + AMremoveBrackets(res2[0]); + str = res2[1]; + node = createMmlNode((underover?"munderover":"msubsup"),node); + node.appendChild(result[0]); + node.appendChild(res2[0]); + node = createMmlNode("mrow",node); // so sum does not stretch + } else { + node = createMmlNode((underover?"munder":"msub"),node); + node.appendChild(result[0]); + } + } else if (symbol.input == "^" && underover) { + node = createMmlNode("mover",node); + node.appendChild(result[0]); + } else { + node = createMmlNode(symbol.tag,node); + node.appendChild(result[0]); + } + if (typeof sym1.func != 'undefined' && sym1.func) { + sym2 = AMgetSymbol(str); + if (sym2.ttype != INFIX && sym2.ttype != RIGHTBRACKET) { + result = AMparseIexpr(str); + node = createMmlNode("mrow",node); + node.appendChild(result[0]); + str = result[1]; + } + } + } + return [node,str]; +} + +function AMparseExpr(str,rightbracket) { + var symbol, node, result, i, + newFrag = document.createDocumentFragment(); + do { + str = AMremoveCharsAndBlanks(str,0); + result = AMparseIexpr(str); + node = result[0]; + str = result[1]; + symbol = AMgetSymbol(str); + if (symbol.ttype == INFIX && symbol.input == "/") { + str = AMremoveCharsAndBlanks(str,symbol.input.length); + result = AMparseIexpr(str); + if (result[0] == null) // show box in place of missing argument + result[0] = createMmlNode("mo",document.createTextNode("\u25A1")); + else AMremoveBrackets(result[0]); + str = result[1]; + AMremoveBrackets(node); + node = createMmlNode(symbol.tag,node); + node.appendChild(result[0]); + newFrag.appendChild(node); + symbol = AMgetSymbol(str); + } + else if (node!=undefined) newFrag.appendChild(node); + } while ((symbol.ttype != RIGHTBRACKET && + (symbol.ttype != LEFTRIGHT || rightbracket) + || AMnestingDepth == 0) && symbol!=null && symbol.output!=""); + if (symbol.ttype == RIGHTBRACKET || symbol.ttype == LEFTRIGHT) { +// if (AMnestingDepth > 0) AMnestingDepth--; + var len = newFrag.childNodes.length; + if (len>0 && newFrag.childNodes[len-1].nodeName == "mrow" + && newFrag.childNodes[len-1].lastChild + && newFrag.childNodes[len-1].lastChild.firstChild ) { //matrix + //removed to allow row vectors: //&& len>1 && + //newFrag.childNodes[len-2].nodeName == "mo" && + //newFrag.childNodes[len-2].firstChild.nodeValue == "," + var right = newFrag.childNodes[len-1].lastChild.firstChild.nodeValue; + if (right==")" || right=="]") { + var left = newFrag.childNodes[len-1].firstChild.firstChild.nodeValue; + if (left=="(" && right==")" && symbol.output != "}" || + left=="[" && right=="]") { + var pos = []; // positions of commas + var matrix = true; + var m = newFrag.childNodes.length; + for (i=0; matrix && i1) matrix = pos[i].length == pos[i-2].length; + } + matrix = matrix && (pos.length>1 || pos[0].length>0); + var columnlines = []; + if (matrix) { + var row, frag, n, k, table = document.createDocumentFragment(); + for (i=0; i(-,-,...,-,-) + n = node.childNodes.length; + k = 0; + node.removeChild(node.firstChild); //remove ( + for (j=1; j2) { + newFrag.removeChild(newFrag.firstChild); //remove ) + newFrag.removeChild(newFrag.firstChild); //remove , + } + table.appendChild(createMmlNode("mtr",row)); + } + node = createMmlNode("mtable",table); + node.setAttribute("columnlines", columnlines.join(" ")); + if (typeof symbol.invisible == "boolean" && symbol.invisible) node.setAttribute("columnalign","left"); + newFrag.replaceChild(node,newFrag.firstChild); + } + } + } + } + str = AMremoveCharsAndBlanks(str,symbol.input.length); + if (typeof symbol.invisible != "boolean" || !symbol.invisible) { + node = createMmlNode("mo",document.createTextNode(symbol.output)); + newFrag.appendChild(node); + } + } + return [newFrag,str]; +} + +function parseMath(str,latex) { + var frag, node; + AMnestingDepth = 0; + //some basic cleanup for dealing with stuff editors like TinyMCE adds + str = str.replace(/ /g,""); + str = str.replace(/>/g,">"); + str = str.replace(/</g,"<"); + frag = AMparseExpr(str.replace(/^\s+/g,""),false)[0]; + node = createMmlNode("mstyle",frag); + if (mathcolor != "") node.setAttribute("mathcolor",mathcolor); + if (mathfontsize != "") { + node.setAttribute("fontsize", mathfontsize); + node.setAttribute("mathsize", mathfontsize); + } + if (mathfontfamily != "") { + node.setAttribute("fontfamily", mathfontfamily); + node.setAttribute("mathvariant", mathfontfamily); + } + + if (displaystyle) node.setAttribute("displaystyle","true"); + node = createMmlNode("math",node); + if (showasciiformulaonhover) //fixed by djhsu so newline + node.setAttribute("title",str.replace(/\s+/g," "));//does not show in Gecko + return node; +} + +/* +function strarr2docFrag(arr, linebreaks, latex) { + var newFrag=document.createDocumentFragment(); + var expr = false; + for (var i=0; i,\\|!:;'~]|\\.(?!(?:\x20|$))|"+ambigAMtoken+englishAMtoken+simpleAMtoken; + var re = new RegExp("(^|\\s)((("+token+")\\s?)(("+token+secondenglishAMtoken+")\\s?)+)([,.?]?(?=\\s|$))","g"); + str = str.replace(re," `$2`$7"); + var arr = str.split(AMdelimiter1); + var re1 = new RegExp("(^|\\s)([b-zB-HJ-Z+*<>]|"+texcommand+ambigAMtoken+simpleAMtoken+")(\\s|\\n|$)","g"); + var re2 = new RegExp("(^|\\s)([a-z]|"+texcommand+ambigAMtoken+simpleAMtoken+")([,.])","g"); // removed |\d+ for now + for (i=0; i1 || mtch) { + if (!noMathML) { + frg = strarr2docFrag(arr,n.nodeType==8,latex); + var len = frg.childNodes.length; + n.parentNode.replaceChild(frg,n); + return len-1; + } else return 0; + } + } + } else return 0; + } else if (n.nodeName!="math") { + for (i=0; i element, not %1", + "<"+doc.firstChild.nodeName+">"]); + } + var data = {math:doc.firstChild, script:script}; + MATHML.DOMfilterHooks.Execute(data); + this.mml = this.MakeMML(data.math); + }, + + // + // Convert the MathML structure to the MathJax Element jax structure + // + MakeMML: function (node) { + var CLASS = String(node.getAttribute("class")||""); // make sure CLASS is a string + var mml, type = node.nodeName.toLowerCase().replace(/^[a-z]+:/,""); + var match = (CLASS.match(/(^| )MJX-TeXAtom-([^ ]*)/)); + if (match) { + mml = this.TeXAtom(match[2],match[2] === "OP" && !CLASS.match(/MJX-fixedlimits/)); + } else if (!(MML[type] && MML[type].isa && MML[type].isa(MML.mbase))) { + MathJax.Hub.signal.Post(["MathML Jax - unknown node type",type]); + return MML.Error(_("UnknownNodeType","Unknown node type: %1",type)); + } else { + mml = MML[type](); + } + this.AddAttributes(mml,node); this.CheckClass(mml,mml["class"]); + this.AddChildren(mml,node); + if (MATHML.config.useMathMLspacing) {mml.useMMLspacing = 0x08} + return mml; + }, + TeXAtom: function (mclass,movablelimits) { + var mml = MML.TeXAtom().With({texClass:MML.TEXCLASS[mclass]}); + if (movablelimits) {mml.movesupsub = mml.movablelimits = true} + return mml; + }, + CheckClass: function (mml,CLASS) { + CLASS = (CLASS||"").split(/ /); var NCLASS = []; + for (var i = 0, m = CLASS.length; i < m; i++) { + if (CLASS[i].substr(0,4) === "MJX-") { + if (CLASS[i] === "MJX-arrow") { + // This class was used in former versions of MathJax to attach an + // arrow to the updiagonalstrike notation. For backward + // compatibility, let's continue to accept this case. See issue 481. + if (!mml.notation.match("/"+MML.NOTATION.UPDIAGONALARROW+"/")) + mml.notation += " "+MML.NOTATION.UPDIAGONALARROW; + } else if (CLASS[i] === "MJX-variant") { + mml.variantForm = true; + // + // Variant forms come from AMSsymbols, and it sets up the + // character mappings, so load that if needed. + // + if (!MathJax.Extension["TeX/AMSsymbols"]) + {MathJax.Hub.RestartAfter(MathJax.Ajax.Require("[MathJax]/extensions/TeX/AMSsymbols.js"))} + } else if (CLASS[i].substr(0,11) !== "MJX-TeXAtom") { + mml.mathvariant = CLASS[i].substr(3); + // + // Caligraphic and oldstyle bold are set up in the boldsymbol + // extension, so load it if it isn't already loaded. + // + if (mml.mathvariant === "-tex-caligraphic-bold" || + mml.mathvariant === "-tex-oldstyle-bold") { + if (!MathJax.Extension["TeX/boldsymbol"]) + {MathJax.Hub.RestartAfter(MathJax.Ajax.Require("[MathJax]/extensions/TeX/boldsymbol.js"))} + } + } + } else {NCLASS.push(CLASS[i])} + } + if (NCLASS.length) {mml["class"] = NCLASS.join(" ")} else {delete mml["class"]} + }, + + // + // Add the attributes to the mml node + // + AddAttributes: function (mml,node) { + mml.attr = {}; mml.attrNames = []; + for (var i = 0, m = node.attributes.length; i < m; i++) { + var name = node.attributes[i].name; + if (name == "xlink:href") {name = "href"} + if (name.match(/:/)) continue; + if (name.match(/^_moz-math-((column|row)(align|line)|font-style)$/)) continue; + var value = node.attributes[i].value; + value = this.filterAttribute(name,value); + var defaults = (mml.type === "mstyle" ? MML.math.prototype.defaults : mml.defaults); + if (value != null) { + var val = value.toLowerCase(); + if (val === "true" || val === "false") { + if (typeof (defaults[name]) === "boolean" || defaults[name] === MML.INHERIT || + mml.type === "math" || mml.type === "mstyle" || + (defaults[name] === MML.AUTO && + (mml.defaultDef == null || typeof(mml.defaultDef[name]) === "boolean"))) { + value = (val === "true"); + } + } + if (defaults[name] != null || MML.copyAttributes[name]) + {mml[name] = value} else {mml.attr[name] = value} + mml.attrNames.push(name); + } + } + }, + filterAttribute: function (name,value) {return value}, // safe mode overrides this + + // + // Create the children for the mml node + // + AddChildren: function (mml,node) { + for (var i = 0, m = node.childNodes.length; i < m; i++) { + var child = node.childNodes[i]; + if (child.nodeName === "#comment") continue; + if (child.nodeName === "#text") { + if ((mml.isToken || mml.isChars) && !mml.mmlSelfClosing) { + var text = child.nodeValue; + if (mml.isToken) { + text = text.replace(/&([a-z][a-z0-9]*);/ig,this.replaceEntity); + text = this.trimSpace(text); + } + mml.Append(MML.chars(text)); + } else if (child.nodeValue.match(/\S/)) { + MATHML.Error(["UnexpectedTextNode", + "Unexpected text node: %1","'"+child.nodeValue+"'"]); + } + } else if (mml.type === "annotation-xml") { + mml.Append(MML.xml(child)); + } else { + var cmml = this.MakeMML(child); mml.Append(cmml); + if (cmml.mmlSelfClosing && cmml.data.length) + {mml.Append.apply(mml,cmml.data); cmml.data = []} + } + } + if (mml.type === "mrow" && mml.data.length >= 2) { + var first = mml.data[0], last = mml.data[mml.data.length-1]; + if (first.type === "mo" && first.Get("fence") && + last.type === "mo" && last.Get("fence")) { + if (first.data[0]) {mml.open = first.data.join("")} + if (last.data[0]) {mml.close = last.data.join("")} + } + } + }, + + // + // Clean Up the source to prepare for XML parsing + // + preProcessMath: function (math) { + if (math.match(/^<[a-z]+:/i) && !math.match(/^<[^<>]* xmlns:/)) { + math = math.replace(/^<([a-z]+)(:math)/i,'<$1$2 xmlns:$1="http://www.w3.org/1998/Math/MathML"') + } + // HTML5 removes xmlns: namespaces, so put them back for XML + var match = math.match(/^(])+)>)/i); + if (match && match[2].match(/ (?!xmlns=)[a-z]+=\"http:/i)) { + math = match[1].replace(/ (?!xmlns=)([a-z]+=(['"])http:.*?\2)/ig," xmlns:$1 $1") + + math.substr(match[0].length); + } + if (math.match(/^]/i) && !math.match(/^<[^<>]* xmlns=/)) { + // append the MathML namespace + math = math.replace(/^<(math)/i,'\s*$/,"$2"); + return math.replace(/&([a-z][a-z0-9]*);/ig,this.replaceEntity); + }, + + // + // Remove attribute whitespace + // + trimSpace: function (string) { + return string.replace(/[\t\n\r]/g," ") // whitespace to spaces + .replace(/^ +/,"") // initial whitespace + .replace(/ +$/,"") // trailing whitespace + .replace(/ +/g," "); // internal multiple whitespace + }, + + // + // Replace a named entity by its value + // (look up from external files if necessary) + // + replaceEntity: function (match,entity) { + if (entity.match(/^(lt|amp|quot)$/)) {return match} // these mess up attribute parsing + if (MATHML.Parse.Entity[entity]) {return MATHML.Parse.Entity[entity]} + var file = entity.charAt(0).toLowerCase(); + var font = entity.match(/^[a-zA-Z](fr|scr|opf)$/); + if (font) {file = font[1]} + if (!MATHML.Parse.loaded[file]) { + MATHML.Parse.loaded[file] = true; + MathJax.Hub.RestartAfter(MathJax.Ajax.Require(MATHML.entityDir+"/"+file+".js")); + } + return match; + } + }, { + loaded: [] // the entity files that are loaded + }); + + /************************************************************************/ + + MATHML.Augment({ + sourceMenuTitle: /*_(MathMenu)*/ ["OriginalMathML","Original MathML"], + + prefilterHooks: MathJax.Callback.Hooks(true), // hooks to run on MathML string before processing MathML + DOMfilterHooks: MathJax.Callback.Hooks(true), // hooks to run on MathML DOM before processing + postfilterHooks: MathJax.Callback.Hooks(true), // hooks to run on internal jax format after processing MathML + + Translate: function (script) { + if (!this.ParseXML) {this.ParseXML = this.createParser()} + var mml, math, data = {script:script}; + if (script.firstChild && + script.firstChild.nodeName.toLowerCase().replace(/^[a-z]+:/,"") === "math") { + data.math = script.firstChild; + } else { + math = MathJax.HTML.getScript(script); + if (BROWSER.isMSIE) {math = math.replace(/( )+$/,"")} + data.math = math; + } + var callback = this.prefilterHooks.Execute(data); if (callback) return callback; + math = data.math; + try { + mml = MATHML.Parse(math,script).mml; + } catch(err) { + if (!err.mathmlError) {throw err} + mml = this.formatError(err,math,script); + } + data.math = MML(mml); + return this.postfilterHooks.Execute(data) || data.math; + }, + prefilterMath: function (math,script) {return math}, + prefilterMathML: function (math,script) {return math}, + formatError: function (err,math,script) { + var message = err.message.replace(/\n.*/,""); + MathJax.Hub.signal.Post(["MathML Jax - parse error",message,math,script]); + return MML.Error(message); + }, + Error: function (message) { + // + // Translate message if it is ["id","message",args] + // + if (MathJax.Object.isArray(message)) {message = _.apply(_,message)} + throw MathJax.Hub.Insert(Error(message),{mathmlError: true}); + }, + // + // Parsers for various forms (DOMParser, Windows ActiveX object, other) + // + parseDOM: function (string) {return this.parser.parseFromString(string,"text/xml")}, + parseMS: function (string) {return (this.parser.loadXML(string) ? this.parser : null)}, + parseDIV: function (string) { + this.div.innerHTML = + "
        "+string.replace(/<([a-z]+)([^>]*)\/>/g,"<$1$2>")+"
        "; + var doc = this.div.firstChild; + this.div.innerHTML = ""; + return doc; + }, + parseError: function (string) {return null}, + createMSParser: function() { + var parser = null; + var xml = ["MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.5.0", + "MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0", + "MSXML2.DOMDocument.2.0","Microsoft.XMLDOM"]; + for (var i = 0, m = xml.length; i < m && !parser; i++) { + try { + parser = new ActiveXObject(xml[i]) + } catch (err) {} + } + return parser; + }, + // + // Create the parser using a DOMParser, or other fallback method + // + createParser: function () { + if (window.DOMParser) { + this.parser = new DOMParser(); + return(this.parseDOM); + } else if (window.ActiveXObject) { + this.parser = this.createMSParser(); + if (!this.parser) { + MathJax.Localization.Try(this.parserCreationError); + return(this.parseError); + } + this.parser.async = false; + return(this.parseMS); + } + this.div = MathJax.Hub.Insert(document.createElement("div"),{ + style:{visibility:"hidden", overflow:"hidden", height:"1px", + position:"absolute", top:0} + }); + if (!document.body.firstChild) {document.body.appendChild(this.div)} + else {document.body.insertBefore(this.div,document.body.firstChild)} + return(this.parseDIV); + }, + parserCreationError: function () { + alert(_("CantCreateXMLParser", + "MathJax can't create an XML parser for MathML. Check that\n"+ + "the 'Script ActiveX controls marked safe for scripting' security\n"+ + "setting is enabled (use the Internet Options item in the Tools\n"+ + "menu, and select the Security panel, then press the Custom Level\n"+ + "button to check this).\n\n"+ + "MathML equations will not be able to be processed by MathJax.")); + }, + // + // Initialize the parser object (whichever type is used) + // + Startup: function () { + MML = MathJax.ElementJax.mml; + MML.mspace.Augment({mmlSelfClosing: true}); + MML.none.Augment({mmlSelfClosing: true}); + MML.mprescripts.Augment({mmlSelfClosing:true}); + MML.maligngroup.Augment({mmlSelfClosing:true}); + MML.malignmark.Augment({mmlSelfClosing:true}); + } + }); + + // + // Add the default pre-filter (for backward compatibility) + // + MATHML.prefilterHooks.Add(function (data) { + data.math = (typeof(data.math) === "string" ? + MATHML.prefilterMath(data.math,data.script) : + MATHML.prefilterMathML(data.math,data.script)); + }); + + MATHML.Parse.Entity = { + ApplyFunction: '\u2061', + Backslash: '\u2216', + Because: '\u2235', + Breve: '\u02D8', + Cap: '\u22D2', + CenterDot: '\u00B7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + Congruent: '\u2261', + ContourIntegral: '\u222E', + Coproduct: '\u2210', + Cross: '\u2A2F', + Cup: '\u22D3', + CupCap: '\u224D', + Dagger: '\u2021', + Del: '\u2207', + Delta: '\u0394', + Diamond: '\u22C4', + DifferentialD: '\u2146', + DotEqual: '\u2250', + DoubleDot: '\u00A8', + DoubleRightTee: '\u22A8', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownLeftVector: '\u21BD', + DownRightVector: '\u21C1', + DownTee: '\u22A4', + Downarrow: '\u21D3', + Element: '\u2208', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Exists: '\u2203', + ExponentialE: '\u2147', + FilledVerySmallSquare: '\u25AA', + ForAll: '\u2200', + Gamma: '\u0393', + Gg: '\u22D9', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Hacek: '\u02C7', + Hat: '\u005E', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + Im: '\u2111', + ImaginaryI: '\u2148', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Lambda: '\u039B', + Larr: '\u219E', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDownVector: '\u21C3', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftTee: '\u22A3', + LeftTriangle: '\u22B2', + LeftTriangleEqual: '\u22B4', + LeftUpVector: '\u21BF', + LeftVector: '\u21BC', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lsh: '\u21B0', + MinusPlus: '\u2213', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotLeftTriangle: '\u22EA', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotPrecedes: '\u2280', + NotPrecedesSlantEqual: '\u22E0', + NotRightTriangle: '\u22EB', + NotRightTriangleEqual: '\u22ED', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsSlantEqual: '\u22E1', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotVerticalBar: '\u2224', + Omega: '\u03A9', + OverBar: '\u203E', + OverBrace: '\u23DE', + PartialD: '\u2202', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Product: '\u220F', + Proportional: '\u221D', + Psi: '\u03A8', + Rarr: '\u21A0', + Re: '\u211C', + ReverseEquilibrium: '\u21CB', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDownVector: '\u21C2', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTriangle: '\u22B3', + RightTriangleEqual: '\u22B5', + RightUpVector: '\u21BE', + RightVector: '\u21C0', + Rightarrow: '\u21D2', + Rrightarrow: '\u21DB', + Rsh: '\u21B1', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Star: '\u22C6', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + Therefore: '\u2234', + Theta: '\u0398', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + Union: '\u22C3', + UnionPlus: '\u228E', + UpArrow: '\u2191', + UpDownArrow: '\u2195', + UpTee: '\u22A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + Upsilon: '\u03A5', + Vdash: '\u22A9', + Vee: '\u22C1', + VerticalBar: '\u2223', + VerticalTilde: '\u2240', + Vvdash: '\u22AA', + Wedge: '\u22C0', + Xi: '\u039E', + acute: '\u00B4', + aleph: '\u2135', + alpha: '\u03B1', + amalg: '\u2A3F', + and: '\u2227', + ang: '\u2220', + angmsd: '\u2221', + angsph: '\u2222', + ape: '\u224A', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bigcirc: '\u25EF', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + blacklozenge: '\u29EB', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + bowtie: '\u22C8', + boxdl: '\u2510', + boxdr: '\u250C', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxul: '\u2518', + boxur: '\u2514', + bsol: '\u005C', + bull: '\u2022', + cap: '\u2229', + check: '\u2713', + chi: '\u03C7', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + clubs: '\u2663', + colon: '\u003A', + comp: '\u2201', + ctdot: '\u22EF', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cup: '\u222A', + curarr: '\u21B7', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + dagger: '\u2020', + daleth: '\u2138', + ddarr: '\u21CA', + deg: '\u00B0', + delta: '\u03B4', + digamma: '\u03DD', + div: '\u00F7', + divideontimes: '\u22C7', + dot: '\u02D9', + doteqdot: '\u2251', + dotplus: '\u2214', + dotsquare: '\u22A1', + dtdot: '\u22F1', + ecir: '\u2256', + efDot: '\u2252', + egs: '\u2A96', + ell: '\u2113', + els: '\u2A95', + empty: '\u2205', + epsi: '\u03B5', + epsiv: '\u03F5', + erDot: '\u2253', + eta: '\u03B7', + eth: '\u00F0', + flat: '\u266D', + fork: '\u22D4', + frown: '\u2322', + gEl: '\u2A8C', + gamma: '\u03B3', + gap: '\u2A86', + gimel: '\u2137', + gnE: '\u2269', + gnap: '\u2A8A', + gne: '\u2A88', + gnsim: '\u22E7', + gt: '\u003E', + gtdot: '\u22D7', + harrw: '\u21AD', + hbar: '\u210F', + hellip: '\u2026', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + imath: '\u0131', + infin: '\u221E', + intcal: '\u22BA', + iota: '\u03B9', + jmath: '\u0237', + kappa: '\u03BA', + kappav: '\u03F0', + lEg: '\u2A8B', + lambda: '\u03BB', + lap: '\u2A85', + larrlp: '\u21AB', + larrtl: '\u21A2', + lbrace: '\u007B', + lbrack: '\u005B', + le: '\u2264', + leftleftarrows: '\u21C7', + leftthreetimes: '\u22CB', + lessdot: '\u22D6', + lmoust: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lne: '\u2A87', + lnsim: '\u22E6', + longmapsto: '\u27FC', + looparrowright: '\u21AC', + lowast: '\u2217', + loz: '\u25CA', + lt: '\u003C', + ltimes: '\u22C9', + ltri: '\u25C3', + macr: '\u00AF', + malt: '\u2720', + mho: '\u2127', + mu: '\u03BC', + multimap: '\u22B8', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + natur: '\u266E', + nearr: '\u2197', + nharr: '\u21AE', + nlarr: '\u219A', + not: '\u00AC', + nrarr: '\u219B', + nu: '\u03BD', + nvDash: '\u22AD', + nvdash: '\u22AC', + nwarr: '\u2196', + omega: '\u03C9', + omicron: '\u03BF', + or: '\u2228', + osol: '\u2298', + period: '\u002E', + phi: '\u03C6', + phiv: '\u03D5', + pi: '\u03C0', + piv: '\u03D6', + prap: '\u2AB7', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + prime: '\u2032', + psi: '\u03C8', + rarrtl: '\u21A3', + rbrace: '\u007D', + rbrack: '\u005D', + rho: '\u03C1', + rhov: '\u03F1', + rightrightarrows: '\u21C9', + rightthreetimes: '\u22CC', + ring: '\u02DA', + rmoust: '\u23B1', + rtimes: '\u22CA', + rtri: '\u25B9', + scap: '\u2AB8', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + sdot: '\u22C5', + searr: '\u2198', + sect: '\u00A7', + sharp: '\u266F', + sigma: '\u03C3', + sigmav: '\u03C2', + simne: '\u2246', + smile: '\u2323', + spades: '\u2660', + sub: '\u2282', + subE: '\u2AC5', + subnE: '\u2ACB', + subne: '\u228A', + supE: '\u2AC6', + supnE: '\u2ACC', + supne: '\u228B', + swarr: '\u2199', + tau: '\u03C4', + theta: '\u03B8', + thetav: '\u03D1', + tilde: '\u02DC', + times: '\u00D7', + triangle: '\u25B5', + triangleq: '\u225C', + upsi: '\u03C5', + upuparrows: '\u21C8', + veebar: '\u22BB', + vellip: '\u22EE', + weierp: '\u2118', + xi: '\u03BE', + yen: '\u00A5', + zeta: '\u03B6', + zigrarr: '\u21DD' + }; + + MATHML.loadComplete("jax.js"); + +})(MathJax.InputJax.MathML,MathJax.Hub.Browser); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/config.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/config.js new file mode 100644 index 00000000..3750b3d8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/config.js @@ -0,0 +1,54 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/input/TeX/config.js + * + * Initializes the TeX InputJax (the main definition is in + * MathJax/jax/input/TeX/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.InputJax.TeX = MathJax.InputJax({ + id: "TeX", + version: "2.7.5", + directory: MathJax.InputJax.directory + "/TeX", + extensionDir: MathJax.InputJax.extensionDir + "/TeX", + + config: { + TagSide: "right", + TagIndent: "0.8em", + MultLineWidth: "85%", + + equationNumbers: { + autoNumber: "none", // "AMS" for standard AMS numbering, + // or "all" for all displayed equations + formatNumber: function (n) {return n}, + formatTag: function (n) {return '('+n+')'}, + formatID: function (n) {return 'mjx-eqn-'+String(n).replace(/\s/g,"_")}, + formatURL: function (id,base) {return base+'#'+encodeURIComponent(id)}, + useLabelIds: true + } + }, + + resetEquationNumbers: function () {} // filled in by AMSmath extension +}); +MathJax.InputJax.TeX.Register("math/tex"); + +MathJax.InputJax.TeX.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/jax.js new file mode 100644 index 00000000..6654b825 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/jax.js @@ -0,0 +1,2371 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/input/TeX/jax.js + * + * Implements the TeX InputJax that reads mathematics in + * TeX and LaTeX format and converts it to the MML ElementJax + * internal format. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +(function (TEX,HUB,AJAX) { + var MML, NBSP = "\u00A0"; + + var _ = function (id) { + return MathJax.Localization._.apply(MathJax.Localization, + [["TeX", id]].concat([].slice.call(arguments,1))); + }; + + var isArray = MathJax.Object.isArray; + + var STACK = MathJax.Object.Subclass({ + Init: function (env,inner) { + this.global = {isInner: inner}; + this.data = [STACKITEM.start(this.global)]; + if (env) {this.data[0].env = env} + this.env = this.data[0].env; + }, + Push: function () { + var i, m, item, top; + for (i = 0, m = arguments.length; i < m; i++) { + item = arguments[i]; if (!item) continue; + if (item instanceof MML.mbase) {item = STACKITEM.mml(item)} + item.global = this.global; + top = (this.data.length ? this.Top().checkItem(item) : true); + if (top instanceof Array) {this.Pop(); this.Push.apply(this,top)} + else if (top instanceof STACKITEM) {this.Pop(); this.Push(top)} + else if (top) { + this.data.push(item); + if (item.env) { + if (item.copyEnv !== false) { + for (var id in this.env) + {if (this.env.hasOwnProperty(id)) {item.env[id] = this.env[id]}} + } + this.env = item.env; + } else {item.env = this.env} + } + } + }, + Pop: function () { + var item = this.data.pop(); if (!item.isOpen) {delete item.env} + this.env = (this.data.length ? this.Top().env : {}); + return item; + }, + Top: function (n) { + if (n == null) {n = 1} + if (this.data.length < n) {return null} + return this.data[this.data.length-n]; + }, + Prev: function (noPop) { + var top = this.Top(); + if (noPop) {return top.data[top.data.length-1]} + else {return top.Pop()} + }, + toString: function () {return "stack[\n "+this.data.join("\n ")+"\n]"} + }); + + var STACKITEM = STACK.Item = MathJax.Object.Subclass({ + type: "base", + endError: /*_()*/ ["ExtraOpenMissingClose","Extra open brace or missing close brace"], + closeError: /*_()*/ ["ExtraCloseMissingOpen","Extra close brace or missing open brace"], + rightError: /*_()*/ ["MissingLeftExtraRight","Missing \\left or extra \\right"], + Init: function () { + if (this.isOpen) {this.env = {}} + this.data = []; + this.Push.apply(this,arguments); + }, + Push: function () {this.data.push.apply(this.data,arguments)}, + Pop: function () {return this.data.pop()}, + mmlData: function (inferred,forceRow) { + if (inferred == null) {inferred = true} + if (this.data.length === 1 && !forceRow) {return this.data[0]} + return MML.mrow.apply(MML,this.data).With((inferred ? {inferred: true}: {})); + }, + checkItem: function (item) { + if (item.type === "over" && this.isOpen) {item.num = this.mmlData(false); this.data = []} + if (item.type === "cell" && this.isOpen) { + if (item.linebreak) {return false} + TEX.Error(["Misplaced","Misplaced %1",item.name]); + } + if (item.isClose && this[item.type+"Error"]) {TEX.Error(this[item.type+"Error"])} + if (!item.isNotStack) {return true} + this.Push(item.data[0]); return false; + }, + With: function (def) { + for (var id in def) {if (def.hasOwnProperty(id)) {this[id] = def[id]}} + return this; + }, + toString: function () {return this.type+"["+this.data.join("; ")+"]"} + }); + + STACKITEM.start = STACKITEM.Subclass({ + type: "start", isOpen: true, + Init: function (global) { + this.SUPER(arguments).Init.call(this); + this.global = global; + }, + checkItem: function (item) { + if (item.type === "stop") {return STACKITEM.mml(this.mmlData())} + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.stop = STACKITEM.Subclass({ + type: "stop", isClose: true + }); + + STACKITEM.open = STACKITEM.Subclass({ + type: "open", isOpen: true, + stopError: /*_()*/ ["ExtraOpenMissingClose","Extra open brace or missing close brace"], + checkItem: function (item) { + if (item.type === "close") { + var mml = this.mmlData(); + return STACKITEM.mml(MML.TeXAtom(mml)); // TeXAtom make it an ORD to prevent spacing (FIXME: should be another way) + } + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.close = STACKITEM.Subclass({ + type: "close", isClose: true + }); + + STACKITEM.prime = STACKITEM.Subclass({ + type: "prime", + checkItem: function (item) { + if (this.data[0].type !== "msubsup") + {return [MML.msup(this.data[0],this.data[1]),item]} + this.data[0].SetData(this.data[0].sup,this.data[1]); + return [this.data[0],item]; + } + }); + + STACKITEM.subsup = STACKITEM.Subclass({ + type: "subsup", + stopError: /*_()*/ ["MissingScript","Missing superscript or subscript argument"], + supError: /*_()*/ ["MissingOpenForSup","Missing open brace for superscript"], + subError: /*_()*/ ["MissingOpenForSub","Missing open brace for subscript"], + checkItem: function (item) { + if (item.type === "open" || item.type === "left") {return true} + if (item.type === "mml") { + if (this.primes) { + if (this.position !== 2) {this.data[0].SetData(2,this.primes)} + else {item.data[0] = MML.mrow(this.primes.With({variantForm:true}),item.data[0])} + } + this.data[0].SetData(this.position,item.data[0]); + if (this.movesupsub != null) {this.data[0].movesupsub = this.movesupsub} + return STACKITEM.mml(this.data[0]); + } + if (this.SUPER(arguments).checkItem.call(this,item)) + {TEX.Error(this[["","subError","supError"][this.position]])} + }, + Pop: function () {} + }); + + STACKITEM.over = STACKITEM.Subclass({ + type: "over", isClose: true, name: "\\over", + checkItem: function (item,stack) { + if (item.type === "over") + {TEX.Error(["AmbiguousUseOf","Ambiguous use of %1",item.name])} + if (item.isClose) { + var mml = MML.mfrac(this.num,this.mmlData(false)); + if (this.thickness != null) {mml.linethickness = this.thickness} + if (this.open || this.close) { + mml.texWithDelims = true; + mml = TEX.fixedFence(this.open,mml,this.close); + } + return [STACKITEM.mml(mml), item]; + } + return this.SUPER(arguments).checkItem.call(this,item); + }, + toString: function () {return "over["+this.num+" / "+this.data.join("; ")+"]"} + }); + + STACKITEM.left = STACKITEM.Subclass({ + type: "left", isOpen: true, delim: '(', + stopError: /*_()*/ ["ExtraLeftMissingRight", "Extra \\left or missing \\right"], + checkItem: function (item) { + if (item.type === "right") + {return STACKITEM.mml(TEX.fenced(this.delim,this.mmlData(),item.delim))} + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.right = STACKITEM.Subclass({ + type: "right", isClose: true, delim: ')' + }); + + STACKITEM.begin = STACKITEM.Subclass({ + type: "begin", isOpen: true, + checkItem: function (item) { + if (item.type === "end") { + if (item.name !== this.name) + {TEX.Error(["EnvBadEnd","\\begin{%1} ended with \\end{%2}",this.name,item.name])} + if (!this.end) {return STACKITEM.mml(this.mmlData())} + return this.parse[this.end].call(this.parse,this,this.data); + } + if (item.type === "stop") + {TEX.Error(["EnvMissingEnd","Missing \\end{%1}",this.name])} + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.end = STACKITEM.Subclass({ + type: "end", isClose: true + }); + + STACKITEM.style = STACKITEM.Subclass({ + type: "style", + checkItem: function (item) { + if (!item.isClose) {return this.SUPER(arguments).checkItem.call(this,item)} + var mml = MML.mstyle.apply(MML,this.data).With(this.styles); + return [STACKITEM.mml(mml),item]; + } + }); + + STACKITEM.position = STACKITEM.Subclass({ + type: "position", + checkItem: function (item) { + if (item.isClose) {TEX.Error(["MissingBoxFor","Missing box for %1",this.name])} + if (item.isNotStack) { + var mml = item.mmlData(); + switch (this.move) { + case 'vertical': + mml = MML.mpadded(mml).With({height: this.dh, depth: this.dd, voffset: this.dh}); + return [STACKITEM.mml(mml)]; + case 'horizontal': + return [STACKITEM.mml(this.left),item,STACKITEM.mml(this.right)]; + } + } + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.array = STACKITEM.Subclass({ + type: "array", isOpen: true, copyEnv: false, arraydef: {}, + Init: function () { + this.table = []; this.row = []; this.frame = []; this.hfill = []; + this.SUPER(arguments).Init.apply(this,arguments); + }, + checkItem: function (item) { + if (item.isClose && item.type !== "over") { + if (item.isEntry) {this.EndEntry(); this.clearEnv(); return false} + if (item.isCR) {this.EndEntry(); this.EndRow(); this.clearEnv(); return false} + this.EndTable(); this.clearEnv(); + var scriptlevel = this.arraydef.scriptlevel; delete this.arraydef.scriptlevel; + var mml = MML.mtable.apply(MML,this.table).With(this.arraydef); + if (this.frame.length === 4) { + mml.frame = (this.frame.dashed ? "dashed" : "solid"); + } else if (this.frame.length) { + mml.hasFrame = true; + if (this.arraydef.rowlines) {this.arraydef.rowlines = this.arraydef.rowlines.replace(/none( none)+$/,"none")} + mml = MML.menclose(mml).With({notation: this.frame.join(" "), isFrame: true}); + if ((this.arraydef.columnlines||"none") != "none" || + (this.arraydef.rowlines||"none") != "none") {mml.padding = 0} // HTML-CSS jax implements this + } + if (scriptlevel) {mml = MML.mstyle(mml).With({scriptlevel: scriptlevel})} + if (this.open || this.close) {mml = TEX.fenced(this.open,mml,this.close)} + mml = STACKITEM.mml(mml); + if (this.requireClose) { + if (item.type === 'close') {return mml} + TEX.Error(["MissingCloseBrace","Missing close brace"]); + } + return [mml,item]; + } + return this.SUPER(arguments).checkItem.call(this,item); + }, + EndEntry: function () { + var mtd = MML.mtd.apply(MML,this.data); + if (this.hfill.length) { + if (this.hfill[0] === 0) mtd.columnalign = "right"; + if (this.hfill[this.hfill.length-1] === this.data.length) + mtd.columnalign = (mtd.columnalign ? "center" : "left"); + } + this.row.push(mtd); this.data = []; this.hfill = []; + }, + EndRow: function () { + var mtr = MML.mtr; + if (this.isNumbered && this.row.length === 3) { + this.row.unshift(this.row.pop()); // move equation number to first position + mtr = MML.mlabeledtr; + } + this.table.push(mtr.apply(MML,this.row)); this.row = []; + }, + EndTable: function () { + if (this.data.length || this.row.length) {this.EndEntry(); this.EndRow()} + this.checkLines(); + }, + checkLines: function () { + if (this.arraydef.rowlines) { + var lines = this.arraydef.rowlines.split(/ /); + if (lines.length === this.table.length) { + this.frame.push("bottom"); lines.pop(); + this.arraydef.rowlines = lines.join(' '); + } else if (lines.length < this.table.length-1) { + this.arraydef.rowlines += " none"; + } + } + if (this.rowspacing) { + var rows = this.arraydef.rowspacing.split(/ /); + while (rows.length < this.table.length) {rows.push(this.rowspacing+"em")} + this.arraydef.rowspacing = rows.join(' '); + } + }, + clearEnv: function () { + for (var id in this.env) {if (this.env.hasOwnProperty(id)) {delete this.env[id]}} + } + }); + + STACKITEM.cell = STACKITEM.Subclass({ + type: "cell", isClose: true + }); + + STACKITEM.mml = STACKITEM.Subclass({ + type: "mml", isNotStack: true, + Add: function () {this.data.push.apply(this.data,arguments); return this} + }); + + STACKITEM.fn = STACKITEM.Subclass({ + type: "fn", + checkItem: function (item) { + if (this.data[0]) { + if (item.isOpen) {return true} + if (item.type !== "fn") { + if (item.type !== "mml" || !item.data[0]) {return [this.data[0],item]} + if (item.data[0].isa(MML.mspace)) {return [this.data[0],item]} + var mml = item.data[0]; if (mml.isEmbellished()) {mml = mml.CoreMO()} + if ([0,0,1,1,0,1,1,0,0,0][mml.Get("texClass")]) {return [this.data[0],item]} + } + return [this.data[0],MML.mo(MML.entity("#x2061")).With({texClass:MML.TEXCLASS.NONE}),item]; + } + return this.SUPER(arguments).checkItem.apply(this,arguments); + } + }); + + STACKITEM.not = STACKITEM.Subclass({ + type: "not", + checkItem: function (item) { + var mml, c; + if (item.type === "open" || item.type === "left") {return true} + if (item.type === "mml" && item.data[0].type.match(/^(mo|mi|mtext)$/)) { + mml = item.data[0], c = mml.data.join(""); + if (c.length === 1 && !mml.movesupsub && mml.data.length === 1) { + c = STACKITEM.not.remap[c.charCodeAt(0)]; + if (c) {mml.SetData(0,MML.chars(String.fromCharCode(c)))} + else {mml.Append(MML.chars("\u0338"))} + return item; + } + } + // \mathrel{\rlap{\notChar}} + mml = MML.mpadded(MML.mtext("\u29F8")).With({width:0}); + mml = MML.TeXAtom(mml).With({texClass:MML.TEXCLASS.REL}); + return [mml,item]; + } + }); + STACKITEM.not.remap = { + 0x2190:0x219A, 0x2192:0x219B, 0x2194:0x21AE, + 0x21D0:0x21CD, 0x21D2:0x21CF, 0x21D4:0x21CE, + 0x2208:0x2209, 0x220B:0x220C, 0x2223:0x2224, 0x2225:0x2226, + 0x223C:0x2241, 0x007E:0x2241, 0x2243:0x2244, 0x2245:0x2247, + 0x2248:0x2249, 0x224D:0x226D, 0x003D:0x2260, 0x2261:0x2262, + 0x003C:0x226E, 0x003E:0x226F, 0x2264:0x2270, 0x2265:0x2271, + 0x2272:0x2274, 0x2273:0x2275, 0x2276:0x2278, 0x2277:0x2279, + 0x227A:0x2280, 0x227B:0x2281, 0x2282:0x2284, 0x2283:0x2285, + 0x2286:0x2288, 0x2287:0x2289, 0x22A2:0x22AC, 0x22A8:0x22AD, + 0x22A9:0x22AE, 0x22AB:0x22AF, 0x227C:0x22E0, 0x227D:0x22E1, + 0x2291:0x22E2, 0x2292:0x22E3, 0x22B2:0x22EA, 0x22B3:0x22EB, + 0x22B4:0x22EC, 0x22B5:0x22ED, 0x2203:0x2204 + }; + + STACKITEM.dots = STACKITEM.Subclass({ + type: "dots", + checkItem: function (item) { + if (item.type === "open" || item.type === "left") {return true} + var dots = this.ldots; + if (item.type === "mml" && item.data[0].isEmbellished()) { + var tclass = item.data[0].CoreMO().Get("texClass"); + if (tclass === MML.TEXCLASS.BIN || tclass === MML.TEXCLASS.REL) {dots = this.cdots} + } + return [dots,item]; + } + }); + + + var TEXDEF = { + // + // Add new definitions without overriding user-defined ones + // + Add: function (src,dst,nouser) { + if (!dst) {dst = this} + for (var id in src) {if (src.hasOwnProperty(id)) { + if (typeof src[id] === 'object' && !isArray(src[id]) && + (typeof dst[id] === 'object' || typeof dst[id] === 'function')) + {this.Add(src[id],dst[id],src[id],nouser)} + else if (!dst[id] || !dst[id].isUser || !nouser) {dst[id] = src[id]} + }} + return dst; + } + }; + var STARTUP = function () { + MML = MathJax.ElementJax.mml; + HUB.Insert(TEXDEF,{ + + // patterns for letters and numbers + letter: /[a-z]/i, + digit: /[0-9.]/, + number: /^(?:[0-9]+(?:\{,\}[0-9]{3})*(?:\.[0-9]*)*|\.[0-9]+)/, + + special: { + '\\': 'ControlSequence', + '{': 'Open', + '}': 'Close', + '~': 'Tilde', + '^': 'Superscript', + '_': 'Subscript', + ' ': 'Space', + "\t": 'Space', + "\r": 'Space', + "\n": 'Space', + "'": 'Prime', + '%': 'Comment', + '&': 'Entry', + '#': 'Hash', + '\u00A0': 'Space', + '\u2019': 'Prime' + }, + + remap: { + '-': '2212', + '*': '2217', + '`': '2018' // map ` to back quote + }, + + mathchar0mi: { + // Lower-case greek + alpha: '03B1', + beta: '03B2', + gamma: '03B3', + delta: '03B4', + epsilon: '03F5', + zeta: '03B6', + eta: '03B7', + theta: '03B8', + iota: '03B9', + kappa: '03BA', + lambda: '03BB', + mu: '03BC', + nu: '03BD', + xi: '03BE', + omicron: '03BF', // added for completeness + pi: '03C0', + rho: '03C1', + sigma: '03C3', + tau: '03C4', + upsilon: '03C5', + phi: '03D5', + chi: '03C7', + psi: '03C8', + omega: '03C9', + varepsilon: '03B5', + vartheta: '03D1', + varpi: '03D6', + varrho: '03F1', + varsigma: '03C2', + varphi: '03C6', + + // Ord symbols + S: ['00A7',{mathvariant: MML.VARIANT.NORMAL}], + aleph: ['2135',{mathvariant: MML.VARIANT.NORMAL}], + hbar: ['210F',{variantForm:true}], + imath: '0131', + jmath: '0237', + ell: '2113', + wp: ['2118',{mathvariant: MML.VARIANT.NORMAL}], + Re: ['211C',{mathvariant: MML.VARIANT.NORMAL}], + Im: ['2111',{mathvariant: MML.VARIANT.NORMAL}], + partial: ['2202',{mathvariant: MML.VARIANT.NORMAL}], + infty: ['221E',{mathvariant: MML.VARIANT.NORMAL}], + prime: ['2032',{mathvariant: MML.VARIANT.NORMAL, variantForm:true}], + emptyset: ['2205',{mathvariant: MML.VARIANT.NORMAL}], + nabla: ['2207',{mathvariant: MML.VARIANT.NORMAL}], + top: ['22A4',{mathvariant: MML.VARIANT.NORMAL}], + bot: ['22A5',{mathvariant: MML.VARIANT.NORMAL}], + angle: ['2220',{mathvariant: MML.VARIANT.NORMAL}], + triangle: ['25B3',{mathvariant: MML.VARIANT.NORMAL}], + backslash: ['2216',{mathvariant: MML.VARIANT.NORMAL, variantForm:true}], + forall: ['2200',{mathvariant: MML.VARIANT.NORMAL}], + exists: ['2203',{mathvariant: MML.VARIANT.NORMAL}], + neg: ['00AC',{mathvariant: MML.VARIANT.NORMAL}], + lnot: ['00AC',{mathvariant: MML.VARIANT.NORMAL}], + flat: ['266D',{mathvariant: MML.VARIANT.NORMAL}], + natural: ['266E',{mathvariant: MML.VARIANT.NORMAL}], + sharp: ['266F',{mathvariant: MML.VARIANT.NORMAL}], + clubsuit: ['2663',{mathvariant: MML.VARIANT.NORMAL}], + diamondsuit: ['2662',{mathvariant: MML.VARIANT.NORMAL}], + heartsuit: ['2661',{mathvariant: MML.VARIANT.NORMAL}], + spadesuit: ['2660',{mathvariant: MML.VARIANT.NORMAL}] + }, + + mathchar0mo: { + surd: '221A', + + // big ops + coprod: ['2210',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigvee: ['22C1',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigwedge: ['22C0',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + biguplus: ['2A04',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigcap: ['22C2',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigcup: ['22C3',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + 'int': ['222B',{texClass: MML.TEXCLASS.OP}], + intop: ['222B',{texClass: MML.TEXCLASS.OP, movesupsub:true, movablelimits:true}], + iint: ['222C',{texClass: MML.TEXCLASS.OP}], + iiint: ['222D',{texClass: MML.TEXCLASS.OP}], + prod: ['220F',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + sum: ['2211',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigotimes: ['2A02',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigoplus: ['2A01',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigodot: ['2A00',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + oint: ['222E',{texClass: MML.TEXCLASS.OP}], + bigsqcup: ['2A06',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + smallint: ['222B',{largeop:false}], + + // binary operations + triangleleft: '25C3', + triangleright: '25B9', + bigtriangleup: '25B3', + bigtriangledown: '25BD', + wedge: '2227', + land: '2227', + vee: '2228', + lor: '2228', + cap: '2229', + cup: '222A', + ddagger: '2021', + dagger: '2020', + sqcap: '2293', + sqcup: '2294', + uplus: '228E', + amalg: '2A3F', + diamond: '22C4', + bullet: '2219', + wr: '2240', + div: '00F7', + odot: ['2299',{largeop: false}], + oslash: ['2298',{largeop: false}], + otimes: ['2297',{largeop: false}], + ominus: ['2296',{largeop: false}], + oplus: ['2295',{largeop: false}], + mp: '2213', + pm: '00B1', + circ: '2218', + bigcirc: '25EF', + setminus: ['2216',{variantForm:true}], + cdot: '22C5', + ast: '2217', + times: '00D7', + star: '22C6', + + // Relations + propto: '221D', + sqsubseteq: '2291', + sqsupseteq: '2292', + parallel: '2225', + mid: '2223', + dashv: '22A3', + vdash: '22A2', + leq: '2264', + le: '2264', + geq: '2265', + ge: '2265', + lt: '003C', + gt: '003E', + succ: '227B', + prec: '227A', + approx: '2248', + succeq: '2AB0', // or '227C', + preceq: '2AAF', // or '227D', + supset: '2283', + subset: '2282', + supseteq: '2287', + subseteq: '2286', + 'in': '2208', + ni: '220B', + notin: '2209', + owns: '220B', + gg: '226B', + ll: '226A', + sim: '223C', + simeq: '2243', + perp: '22A5', + equiv: '2261', + asymp: '224D', + smile: '2323', + frown: '2322', + ne: '2260', + neq: '2260', + cong: '2245', + doteq: '2250', + bowtie: '22C8', + models: '22A8', + + notChar: '29F8', + + + // Arrows + Leftrightarrow: '21D4', + Leftarrow: '21D0', + Rightarrow: '21D2', + leftrightarrow: '2194', + leftarrow: '2190', + gets: '2190', + rightarrow: '2192', + to: '2192', + mapsto: '21A6', + leftharpoonup: '21BC', + leftharpoondown: '21BD', + rightharpoonup: '21C0', + rightharpoondown: '21C1', + nearrow: '2197', + searrow: '2198', + nwarrow: '2196', + swarrow: '2199', + rightleftharpoons: '21CC', + hookrightarrow: '21AA', + hookleftarrow: '21A9', + longleftarrow: '27F5', + Longleftarrow: '27F8', + longrightarrow: '27F6', + Longrightarrow: '27F9', + Longleftrightarrow: '27FA', + longleftrightarrow: '27F7', + longmapsto: '27FC', + + + // Misc. + ldots: '2026', + cdots: '22EF', + vdots: '22EE', + ddots: '22F1', + dotsc: '2026', // dots with commas + dotsb: '22EF', // dots with binary ops and relations + dotsm: '22EF', // dots with multiplication + dotsi: '22EF', // dots with integrals + dotso: '2026', // other dots + + ldotp: ['002E', {texClass: MML.TEXCLASS.PUNCT}], + cdotp: ['22C5', {texClass: MML.TEXCLASS.PUNCT}], + colon: ['003A', {texClass: MML.TEXCLASS.PUNCT}] + }, + + mathchar7: { + Gamma: '0393', + Delta: '0394', + Theta: '0398', + Lambda: '039B', + Xi: '039E', + Pi: '03A0', + Sigma: '03A3', + Upsilon: '03A5', + Phi: '03A6', + Psi: '03A8', + Omega: '03A9', + + '_': '005F', + '#': '0023', + '$': '0024', + '%': '0025', + '&': '0026', + And: '0026' + }, + + delimiter: { + '(': '(', + ')': ')', + '[': '[', + ']': ']', + '<': '27E8', + '>': '27E9', + '\\lt': '27E8', + '\\gt': '27E9', + '/': '/', + '|': ['|',{texClass:MML.TEXCLASS.ORD}], + '.': '', + '\\\\': '\\', + '\\lmoustache': '23B0', // non-standard + '\\rmoustache': '23B1', // non-standard + '\\lgroup': '27EE', // non-standard + '\\rgroup': '27EF', // non-standard + '\\arrowvert': '23D0', + '\\Arrowvert': '2016', + '\\bracevert': '23AA', // non-standard + '\\Vert': ['2016',{texClass:MML.TEXCLASS.ORD}], + '\\|': ['2016',{texClass:MML.TEXCLASS.ORD}], + '\\vert': ['|',{texClass:MML.TEXCLASS.ORD}], + '\\uparrow': '2191', + '\\downarrow': '2193', + '\\updownarrow': '2195', + '\\Uparrow': '21D1', + '\\Downarrow': '21D3', + '\\Updownarrow': '21D5', + '\\backslash': '\\', + '\\rangle': '27E9', + '\\langle': '27E8', + '\\rbrace': '}', + '\\lbrace': '{', + '\\}': '}', + '\\{': '{', + '\\rceil': '2309', + '\\lceil': '2308', + '\\rfloor': '230B', + '\\lfloor': '230A', + '\\lbrack': '[', + '\\rbrack': ']' + }, + + macros: { + displaystyle: ['SetStyle','D',true,0], + textstyle: ['SetStyle','T',false,0], + scriptstyle: ['SetStyle','S',false,1], + scriptscriptstyle: ['SetStyle','SS',false,2], + + rm: ['SetFont',MML.VARIANT.NORMAL], + mit: ['SetFont',MML.VARIANT.ITALIC], + oldstyle: ['SetFont',MML.VARIANT.OLDSTYLE], + cal: ['SetFont',MML.VARIANT.CALIGRAPHIC], + it: ['SetFont',"-tex-mathit"], // needs special handling + bf: ['SetFont',MML.VARIANT.BOLD], + bbFont: ['SetFont',MML.VARIANT.DOUBLESTRUCK], + scr: ['SetFont',MML.VARIANT.SCRIPT], + frak: ['SetFont',MML.VARIANT.FRAKTUR], + sf: ['SetFont',MML.VARIANT.SANSSERIF], + tt: ['SetFont',MML.VARIANT.MONOSPACE], + +// font: + + tiny: ['SetSize',0.5], + Tiny: ['SetSize',0.6], // non-standard + scriptsize: ['SetSize',0.7], + small: ['SetSize',0.85], + normalsize: ['SetSize',1.0], + large: ['SetSize',1.2], + Large: ['SetSize',1.44], + LARGE: ['SetSize',1.73], + huge: ['SetSize',2.07], + Huge: ['SetSize',2.49], + + arcsin: ['NamedFn'], + arccos: ['NamedFn'], + arctan: ['NamedFn'], + arg: ['NamedFn'], + cos: ['NamedFn'], + cosh: ['NamedFn'], + cot: ['NamedFn'], + coth: ['NamedFn'], + csc: ['NamedFn'], + deg: ['NamedFn'], + det: 'NamedOp', + dim: ['NamedFn'], + exp: ['NamedFn'], + gcd: 'NamedOp', + hom: ['NamedFn'], + inf: 'NamedOp', + ker: ['NamedFn'], + lg: ['NamedFn'], + lim: 'NamedOp', + liminf: ['NamedOp','lim inf'], + limsup: ['NamedOp','lim sup'], + ln: ['NamedFn'], + log: ['NamedFn'], + max: 'NamedOp', + min: 'NamedOp', + Pr: 'NamedOp', + sec: ['NamedFn'], + sin: ['NamedFn'], + sinh: ['NamedFn'], + sup: 'NamedOp', + tan: ['NamedFn'], + tanh: ['NamedFn'], + + limits: ['Limits',1], + nolimits: ['Limits',0], + + overline: ['UnderOver','00AF',null,1], + underline: ['UnderOver','005F'], + overbrace: ['UnderOver','23DE',1], + underbrace: ['UnderOver','23DF',1], + overparen: ['UnderOver','23DC'], + underparen: ['UnderOver','23DD'], + overrightarrow: ['UnderOver','2192'], + underrightarrow: ['UnderOver','2192'], + overleftarrow: ['UnderOver','2190'], + underleftarrow: ['UnderOver','2190'], + overleftrightarrow: ['UnderOver','2194'], + underleftrightarrow: ['UnderOver','2194'], + + overset: 'Overset', + underset: 'Underset', + stackrel: ['Macro','\\mathrel{\\mathop{#2}\\limits^{#1}}',2], + + over: 'Over', + overwithdelims: 'Over', + atop: 'Over', + atopwithdelims: 'Over', + above: 'Over', + abovewithdelims: 'Over', + brace: ['Over','{','}'], + brack: ['Over','[',']'], + choose: ['Over','(',')'], + + frac: 'Frac', + sqrt: 'Sqrt', + root: 'Root', + uproot: ['MoveRoot','upRoot'], + leftroot: ['MoveRoot','leftRoot'], + + left: 'LeftRight', + right: 'LeftRight', + middle: 'Middle', + + llap: 'Lap', + rlap: 'Lap', + raise: 'RaiseLower', + lower: 'RaiseLower', + moveleft: 'MoveLeftRight', + moveright: 'MoveLeftRight', + + ',': ['Spacer',MML.LENGTH.THINMATHSPACE], + ':': ['Spacer',MML.LENGTH.MEDIUMMATHSPACE], // for LaTeX + '>': ['Spacer',MML.LENGTH.MEDIUMMATHSPACE], + ';': ['Spacer',MML.LENGTH.THICKMATHSPACE], + '!': ['Spacer',MML.LENGTH.NEGATIVETHINMATHSPACE], + enspace: ['Spacer',".5em"], + quad: ['Spacer',"1em"], + qquad: ['Spacer',"2em"], + thinspace: ['Spacer',MML.LENGTH.THINMATHSPACE], + negthinspace: ['Spacer',MML.LENGTH.NEGATIVETHINMATHSPACE], + + hskip: 'Hskip', + hspace: 'Hskip', + kern: 'Hskip', + mskip: 'Hskip', + mspace: 'Hskip', + mkern: 'Hskip', + rule: 'rule', + Rule: ['Rule'], + Space: ['Rule','blank'], + + big: ['MakeBig',MML.TEXCLASS.ORD,0.85], + Big: ['MakeBig',MML.TEXCLASS.ORD,1.15], + bigg: ['MakeBig',MML.TEXCLASS.ORD,1.45], + Bigg: ['MakeBig',MML.TEXCLASS.ORD,1.75], + bigl: ['MakeBig',MML.TEXCLASS.OPEN,0.85], + Bigl: ['MakeBig',MML.TEXCLASS.OPEN,1.15], + biggl: ['MakeBig',MML.TEXCLASS.OPEN,1.45], + Biggl: ['MakeBig',MML.TEXCLASS.OPEN,1.75], + bigr: ['MakeBig',MML.TEXCLASS.CLOSE,0.85], + Bigr: ['MakeBig',MML.TEXCLASS.CLOSE,1.15], + biggr: ['MakeBig',MML.TEXCLASS.CLOSE,1.45], + Biggr: ['MakeBig',MML.TEXCLASS.CLOSE,1.75], + bigm: ['MakeBig',MML.TEXCLASS.REL,0.85], + Bigm: ['MakeBig',MML.TEXCLASS.REL,1.15], + biggm: ['MakeBig',MML.TEXCLASS.REL,1.45], + Biggm: ['MakeBig',MML.TEXCLASS.REL,1.75], + + mathord: ['TeXAtom',MML.TEXCLASS.ORD], + mathop: ['TeXAtom',MML.TEXCLASS.OP], + mathopen: ['TeXAtom',MML.TEXCLASS.OPEN], + mathclose: ['TeXAtom',MML.TEXCLASS.CLOSE], + mathbin: ['TeXAtom',MML.TEXCLASS.BIN], + mathrel: ['TeXAtom',MML.TEXCLASS.REL], + mathpunct: ['TeXAtom',MML.TEXCLASS.PUNCT], + mathinner: ['TeXAtom',MML.TEXCLASS.INNER], + + vcenter: ['TeXAtom',MML.TEXCLASS.VCENTER], + + mathchoice: ['Extension','mathchoice'], + buildrel: 'BuildRel', + + hbox: ['HBox',0], + text: 'HBox', + mbox: ['HBox',0], + fbox: 'FBox', + + strut: 'Strut', + mathstrut: ['Macro','\\vphantom{(}'], + phantom: 'Phantom', + vphantom: ['Phantom',1,0], + hphantom: ['Phantom',0,1], + smash: 'Smash', + + acute: ['Accent', "00B4"], // or 0301 or 02CA + grave: ['Accent', "0060"], // or 0300 or 02CB + ddot: ['Accent', "00A8"], // or 0308 + tilde: ['Accent', "007E"], // or 0303 or 02DC + bar: ['Accent', "00AF"], // or 0304 or 02C9 + breve: ['Accent', "02D8"], // or 0306 + check: ['Accent', "02C7"], // or 030C + hat: ['Accent', "005E"], // or 0302 or 02C6 + vec: ['Accent', "2192"], // or 20D7 + dot: ['Accent', "02D9"], // or 0307 + widetilde: ['Accent', "007E",1], // or 0303 or 02DC + widehat: ['Accent', "005E",1], // or 0302 or 02C6 + + matrix: 'Matrix', + array: 'Matrix', + pmatrix: ['Matrix','(',')'], + cases: ['Matrix','{','',"left left",null,".1em",null,true], + eqalign: ['Matrix',null,null,"right left",MML.LENGTH.THICKMATHSPACE,".5em",'D'], + displaylines: ['Matrix',null,null,"center",null,".5em",'D'], + cr: 'Cr', + '\\': 'CrLaTeX', + newline: 'Cr', + hline: ['HLine','solid'], + hdashline: ['HLine','dashed'], +// noalign: 'HandleNoAlign', + eqalignno: ['Matrix',null,null,"right left",MML.LENGTH.THICKMATHSPACE,".5em",'D',null,"right"], + leqalignno: ['Matrix',null,null,"right left",MML.LENGTH.THICKMATHSPACE,".5em",'D',null,"left"], + hfill: 'HFill', + hfil: 'HFill', // \hfil treated as \hfill for now + hfilll: 'HFill', // \hfilll treated as \hfill for now + + // TeX substitution macros + bmod: ['Macro','\\mmlToken{mo}[lspace="thickmathspace" rspace="thickmathspace"]{mod}'], + pmod: ['Macro','\\pod{\\mmlToken{mi}{mod}\\kern 6mu #1}',1], + mod: ['Macro','\\mathchoice{\\kern18mu}{\\kern12mu}{\\kern12mu}{\\kern12mu}\\mmlToken{mi}{mod}\\,\\,#1',1], + pod: ['Macro','\\mathchoice{\\kern18mu}{\\kern8mu}{\\kern8mu}{\\kern8mu}(#1)',1], + iff: ['Macro','\\;\\Longleftrightarrow\\;'], + skew: ['Macro','{{#2{#3\\mkern#1mu}\\mkern-#1mu}{}}',3], + mathcal: ['Macro','{\\cal #1}',1], + mathscr: ['Macro','{\\scr #1}',1], + mathrm: ['Macro','{\\rm #1}',1], + mathbf: ['Macro','{\\bf #1}',1], + mathbb: ['Macro','{\\bbFont #1}',1], + Bbb: ['Macro','{\\bbFont #1}',1], + mathit: ['Macro','{\\it #1}',1], + mathfrak: ['Macro','{\\frak #1}',1], + mathsf: ['Macro','{\\sf #1}',1], + mathtt: ['Macro','{\\tt #1}',1], + textrm: ['Macro','\\mathord{\\rm\\text{#1}}',1], + textit: ['Macro','\\mathord{\\it\\text{#1}}',1], + textbf: ['Macro','\\mathord{\\bf\\text{#1}}',1], + textsf: ['Macro','\\mathord{\\sf\\text{#1}}',1], + texttt: ['Macro','\\mathord{\\tt\\text{#1}}',1], + pmb: ['Macro','\\rlap{#1}\\kern1px{#1}',1], + TeX: ['Macro','T\\kern-.14em\\lower.5ex{E}\\kern-.115em X'], + LaTeX: ['Macro','L\\kern-.325em\\raise.21em{\\scriptstyle{A}}\\kern-.17em\\TeX'], + ' ': ['Macro','\\text{ }'], + + // Specially handled + not: 'Not', + dots: 'Dots', + space: 'Tilde', + '\u00A0': 'Tilde', + + + // LaTeX + begin: 'BeginEnd', + end: 'BeginEnd', + + newcommand: ['Extension','newcommand'], + renewcommand: ['Extension','newcommand'], + newenvironment: ['Extension','newcommand'], + renewenvironment: ['Extension','newcommand'], + def: ['Extension','newcommand'], + 'let': ['Extension','newcommand'], + + verb: ['Extension','verb'], + + boldsymbol: ['Extension','boldsymbol'], + + tag: ['Extension','AMSmath'], + notag: ['Extension','AMSmath'], + label: ['Extension','AMSmath'], + ref: ['Extension','AMSmath'], + eqref: ['Extension','AMSmath'], + nonumber: ['Macro','\\notag'], + + // Extensions to TeX + unicode: ['Extension','unicode'], + color: 'Color', + + href: ['Extension','HTML'], + 'class': ['Extension','HTML'], + style: ['Extension','HTML'], + cssId: ['Extension','HTML'], + bbox: ['Extension','bbox'], + + mmlToken: 'MmlToken', + + require: 'Require' + + }, + + environment: { + array: ['AlignedArray'], + matrix: ['Array',null,null,null,'c'], + pmatrix: ['Array',null,'(',')','c'], + bmatrix: ['Array',null,'[',']','c'], + Bmatrix: ['Array',null,'\\{','\\}','c'], + vmatrix: ['Array',null,'\\vert','\\vert','c'], + Vmatrix: ['Array',null,'\\Vert','\\Vert','c'], + cases: ['Array',null,'\\{','.','ll',null,".2em",'T'], + + equation: [null,'Equation'], + 'equation*': [null,'Equation'], + + eqnarray: ['ExtensionEnv',null,'AMSmath'], + 'eqnarray*': ['ExtensionEnv',null,'AMSmath'], + + align: ['ExtensionEnv',null,'AMSmath'], + 'align*': ['ExtensionEnv',null,'AMSmath'], + aligned: ['ExtensionEnv',null,'AMSmath'], + multline: ['ExtensionEnv',null,'AMSmath'], + 'multline*': ['ExtensionEnv',null,'AMSmath'], + split: ['ExtensionEnv',null,'AMSmath'], + gather: ['ExtensionEnv',null,'AMSmath'], + 'gather*': ['ExtensionEnv',null,'AMSmath'], + gathered: ['ExtensionEnv',null,'AMSmath'], + alignat: ['ExtensionEnv',null,'AMSmath'], + 'alignat*': ['ExtensionEnv',null,'AMSmath'], + alignedat: ['ExtensionEnv',null,'AMSmath'] + }, + + p_height: 1.2 / .85 // cmex10 height plus depth over .85 + + }); + + // + // Add macros defined in the configuration + // + if (this.config.Macros) { + var MACROS = this.config.Macros; + for (var id in MACROS) {if (MACROS.hasOwnProperty(id)) { + if (typeof(MACROS[id]) === "string") {TEXDEF.macros[id] = ['Macro',MACROS[id]]} + else {TEXDEF.macros[id] = ["Macro"].concat(MACROS[id])} + TEXDEF.macros[id].isUser = true; + }} + } + }; + + /************************************************************************/ + /* + * The TeX Parser + */ + + var PARSE = MathJax.Object.Subclass({ + Init: function (string,env) { + this.string = string; this.i = 0; this.macroCount = 0; + var ENV; if (env) {ENV = {}; for (var id in env) {if (env.hasOwnProperty(id)) {ENV[id] = env[id]}}} + this.stack = TEX.Stack(ENV,!!env); + this.Parse(); this.Push(STACKITEM.stop()); + }, + Parse: function () { + var c, n; + while (this.i < this.string.length) { + c = this.string.charAt(this.i++); n = c.charCodeAt(0); + if (n >= 0xD800 && n < 0xDC00) {c += this.string.charAt(this.i++)} + if (TEXDEF.special.hasOwnProperty(c)) {this[TEXDEF.special[c]](c)} + else if (TEXDEF.letter.test(c)) {this.Variable(c)} + else if (TEXDEF.digit.test(c)) {this.Number(c)} + else {this.Other(c)} + } + }, + Push: function () {this.stack.Push.apply(this.stack,arguments)}, + mml: function () { + if (this.stack.Top().type !== "mml") {return null} + return this.stack.Top().data[0]; + }, + mmlToken: function (token) {return token}, // used by boldsymbol extension + + /************************************************************************/ + /* + * Handle various token classes + */ + + /* + * Lookup a control-sequence and process it + */ + ControlSequence: function (c) { + var name = this.GetCS(), macro = this.csFindMacro(name); + if (macro) { + if (!isArray(macro)) {macro = [macro]} + var fn = macro[0]; if (!(fn instanceof Function)) {fn = this[fn]} + fn.apply(this,[c+name].concat(macro.slice(1))); + } else if (TEXDEF.mathchar0mi.hasOwnProperty(name)) {this.csMathchar0mi(name,TEXDEF.mathchar0mi[name])} + else if (TEXDEF.mathchar0mo.hasOwnProperty(name)) {this.csMathchar0mo(name,TEXDEF.mathchar0mo[name])} + else if (TEXDEF.mathchar7.hasOwnProperty(name)) {this.csMathchar7(name,TEXDEF.mathchar7[name])} + else if (TEXDEF.delimiter.hasOwnProperty("\\"+name)) {this.csDelimiter(name,TEXDEF.delimiter["\\"+name])} + else {this.csUndefined(c+name)} + }, + // + // Look up a macro in the macros list + // (overridden in begingroup extension) + // + csFindMacro: function (name) { + return (TEXDEF.macros.hasOwnProperty(name) ? TEXDEF.macros[name] : null); + }, + // + // Handle normal mathchar (as an mi) + // + csMathchar0mi: function (name,mchar) { + var def = {mathvariant: MML.VARIANT.ITALIC}; + if (isArray(mchar)) {def = mchar[1]; mchar = mchar[0]} + this.Push(this.mmlToken(MML.mi(MML.entity("#x"+mchar)).With(def))); + }, + // + // Handle normal mathchar (as an mo) + // + csMathchar0mo: function (name,mchar) { + var def = {stretchy: false}; + if (isArray(mchar)) {def = mchar[1]; def.stretchy = false; mchar = mchar[0]} + this.Push(this.mmlToken(MML.mo(MML.entity("#x"+mchar)).With(def))); + }, + // + // Handle mathchar in current family + // + csMathchar7: function (name,mchar) { + var def = {mathvariant: MML.VARIANT.NORMAL}; + if (isArray(mchar)) {def = mchar[1]; mchar = mchar[0]} + if (this.stack.env.font) {def.mathvariant = this.stack.env.font} + this.Push(this.mmlToken(MML.mi(MML.entity("#x"+mchar)).With(def))); + }, + // + // Handle delimiter + // + csDelimiter: function (name,delim) { + var def = {}; + if (isArray(delim)) {def = delim[1]; delim = delim[0]} + if (delim.length === 4) {delim = MML.entity('#x'+delim)} else {delim = MML.chars(delim)} + this.Push(this.mmlToken(MML.mo(delim).With({fence: false, stretchy: false}).With(def))); + }, + // + // Handle undefined control sequence + // (overridden in noUndefined extension) + // + csUndefined: function (name) { + TEX.Error(["UndefinedControlSequence","Undefined control sequence %1",name]); + }, + + /* + * Handle a variable (a single letter) + */ + Variable: function (c) { + var def = {}; if (this.stack.env.font) {def.mathvariant = this.stack.env.font} + this.Push(this.mmlToken(MML.mi(MML.chars(c)).With(def))); + }, + + /* + * Determine the extent of a number (pattern may need work) + */ + Number: function (c) { + var mml, n = this.string.slice(this.i-1).match(TEXDEF.number); + if (n) {mml = MML.mn(n[0].replace(/[{}]/g,"")); this.i += n[0].length - 1} + else {mml = MML.mo(MML.chars(c))} + if (this.stack.env.font) {mml.mathvariant = this.stack.env.font} + this.Push(this.mmlToken(mml)); + }, + + /* + * Handle { and } + */ + Open: function (c) {this.Push(STACKITEM.open())}, + Close: function (c) {this.Push(STACKITEM.close())}, + + /* + * Handle tilde and spaces + */ + Tilde: function (c) {this.Push(MML.mtext(MML.chars(NBSP)))}, + Space: function (c) {}, + + /* + * Handle ^, _, and ' + */ + Superscript: function (c) { + if (this.GetNext().match(/\d/)) // don't treat numbers as a unit + {this.string = this.string.substr(0,this.i+1)+" "+this.string.substr(this.i+1)} + var primes, base, top = this.stack.Top(); + if (top.type === "prime") {base = top.data[0]; primes = top.data[1]; this.stack.Pop()} + else {base = this.stack.Prev(); if (!base) {base = MML.mi("")}} + if (base.isEmbellishedWrapper) {base = base.data[0].data[0]} + var movesupsub = base.movesupsub, position = base.sup; + if ((base.type === "msubsup" && base.data[base.sup]) || + (base.type === "munderover" && base.data[base.over] && !base.subsupOK)) + {TEX.Error(["DoubleExponent","Double exponent: use braces to clarify"])} + if (base.type !== "msubsup") { + if (movesupsub) { + if (base.type !== "munderover" || base.data[base.over]) { + if (base.movablelimits && base.isa(MML.mi)) {base = this.mi2mo(base)} + base = MML.munderover(base,null,null).With({movesupsub:true}) + } + position = base.over; + } else { + base = MML.msubsup(base,null,null); + position = base.sup; + } + } + this.Push(STACKITEM.subsup(base).With({ + position: position, primes: primes, movesupsub: movesupsub + })); + }, + Subscript: function (c) { + if (this.GetNext().match(/\d/)) // don't treat numbers as a unit + {this.string = this.string.substr(0,this.i+1)+" "+this.string.substr(this.i+1)} + var primes, base, top = this.stack.Top(); + if (top.type === "prime") {base = top.data[0]; primes = top.data[1]; this.stack.Pop()} + else {base = this.stack.Prev(); if (!base) {base = MML.mi("")}} + if (base.isEmbellishedWrapper) {base = base.data[0].data[0]} + var movesupsub = base.movesupsub, position = base.sub; + if ((base.type === "msubsup" && base.data[base.sub]) || + (base.type === "munderover" && base.data[base.under] && !base.subsupOK)) + {TEX.Error(["DoubleSubscripts","Double subscripts: use braces to clarify"])} + if (base.type !== "msubsup") { + if (movesupsub) { + if (base.type !== "munderover" || base.data[base.under]) { + if (base.movablelimits && base.isa(MML.mi)) {base = this.mi2mo(base)} + base = MML.munderover(base,null,null).With({movesupsub:true}) + } + position = base.under; + } else { + base = MML.msubsup(base,null,null); + position = base.sub; + } + } + this.Push(STACKITEM.subsup(base).With({ + position: position, primes: primes, movesupsub: movesupsub + })); + }, + PRIME: "\u2032", SMARTQUOTE: "\u2019", + Prime: function (c) { + var base = this.stack.Prev(); if (!base) {base = MML.mi()} + if (base.type === "msubsup" && base.data[base.sup]) { + TEX.Error(["DoubleExponentPrime", + "Prime causes double exponent: use braces to clarify"]); + } + var sup = ""; this.i--; + do {sup += this.PRIME; this.i++, c = this.GetNext()} + while (c === "'" || c === this.SMARTQUOTE); + sup = ["","\u2032","\u2033","\u2034","\u2057"][sup.length] || sup; + this.Push(STACKITEM.prime(base,this.mmlToken(MML.mo(sup)))); + }, + mi2mo: function (mi) { + var mo = MML.mo(); mo.Append.apply(mo,mi.data); var id; + for (id in mo.defaults) + {if (mo.defaults.hasOwnProperty(id) && mi[id] != null) {mo[id] = mi[id]}} + for (id in MML.copyAttributes) + {if (MML.copyAttributes.hasOwnProperty(id) && mi[id] != null) {mo[id] = mi[id]}} + mo.lspace = mo.rspace = "0"; // prevent mo from having space in NativeMML + mo.useMMLspacing &= ~(mo.SPACE_ATTR.lspace | mo.SPACE_ATTR.rspace); // don't count these explicit settings + return mo; + }, + + /* + * Handle comments + */ + Comment: function (c) { + while (this.i < this.string.length && this.string.charAt(this.i) != "\n") {this.i++} + }, + + /* + * Handle hash marks outside of definitions + */ + Hash: function (c) { + TEX.Error(["CantUseHash1", + "You can't use 'macro parameter character #' in math mode"]); + }, + + /* + * Handle other characters (as elements) + */ + Other: function (c) { + var def, mo; + if (this.stack.env.font) {def = {mathvariant: this.stack.env.font}} + if (TEXDEF.remap.hasOwnProperty(c)) { + c = TEXDEF.remap[c]; + if (isArray(c)) {def = c[1]; c = c[0]} + mo = MML.mo(MML.entity('#x'+c)).With(def); + } else { + mo = MML.mo(c).With(def); + } + if (mo.autoDefault("stretchy",true)) {mo.stretchy = false} + if (mo.autoDefault("texClass",true) == "") {mo = MML.TeXAtom(mo)} + this.Push(this.mmlToken(mo)); + }, + + /************************************************************************/ + /* + * Macros + */ + + SetFont: function (name,font) {this.stack.env.font = font}, + SetStyle: function (name,texStyle,style,level) { + this.stack.env.style = texStyle; this.stack.env.level = level; + this.Push(STACKITEM.style().With({styles: {displaystyle: style, scriptlevel: level}})); + }, + SetSize: function (name,size) { + this.stack.env.size = size; + this.Push(STACKITEM.style().With({styles: {mathsize: size+"em"}})); // convert to absolute? + }, + + Color: function (name) { + var color = this.GetArgument(name); + var old = this.stack.env.color; this.stack.env.color = color; + var math = this.ParseArg(name); + if (old) {this.stack.env.color} else {delete this.stack.env.color} + this.Push(MML.mstyle(math).With({mathcolor: color})); + }, + + Spacer: function (name,space) { + this.Push(MML.mspace().With({width: space, mathsize: MML.SIZE.NORMAL, scriptlevel:0})); + }, + + LeftRight: function (name) { + this.Push(STACKITEM[name.substr(1)]().With({delim: this.GetDelimiter(name)})); + }, + + Middle: function (name) { + var delim = this.GetDelimiter(name); + this.Push(MML.TeXAtom().With({texClass:MML.TEXCLASS.CLOSE})); + if (this.stack.Top().type !== "left") + {TEX.Error(["MisplacedMiddle","%1 must be within \\left and \\right",name])} + this.Push(MML.mo(delim).With({stretchy:true})); + this.Push(MML.TeXAtom().With({texClass:MML.TEXCLASS.OPEN})); + }, + + NamedFn: function (name,id) { + if (!id) {id = name.substr(1)}; + var mml = MML.mi(id).With({texClass: MML.TEXCLASS.OP}); + this.Push(STACKITEM.fn(this.mmlToken(mml))); + }, + NamedOp: function (name,id) { + if (!id) {id = name.substr(1)}; + id = id.replace(/ /,"\u2006"); + var mml = MML.mo(id).With({ + movablelimits: true, + movesupsub: true, + form: MML.FORM.PREFIX, + texClass: MML.TEXCLASS.OP + }); + this.Push(this.mmlToken(mml)); + }, + Limits: function (name,limits) { + var op = this.stack.Prev("nopop"); + if (!op || (op.Get("texClass") !== MML.TEXCLASS.OP && op.movesupsub == null)) + {TEX.Error(["MisplacedLimits","%1 is allowed only on operators",name])} + var top = this.stack.Top(); + if (op.type === "munderover" && !limits) { + op = top.data[top.data.length-1] = MML.msubsup.apply(MML.subsup,op.data); + } else if (op.type === "msubsup" && limits) { + op = top.data[top.data.length-1] = MML.munderover.apply(MML.underover,op.data); + } + op.movesupsub = (limits ? true : false); + op.Core().movablelimits = false; + if (op.movablelimits) op.movablelimits = false; + }, + + Over: function (name,open,close) { + var mml = STACKITEM.over().With({name: name}); + if (open || close) { + mml.open = open; mml.close = close; + } else if (name.match(/withdelims$/)) { + mml.open = this.GetDelimiter(name); + mml.close = this.GetDelimiter(name); + } + if (name.match(/^\\above/)) {mml.thickness = this.GetDimen(name)} + else if (name.match(/^\\atop/) || open || close) {mml.thickness = 0} + this.Push(mml); + }, + + Frac: function (name) { + var num = this.ParseArg(name); + var den = this.ParseArg(name); + this.Push(MML.mfrac(num,den)); + }, + + Sqrt: function (name) { + var n = this.GetBrackets(name), arg = this.GetArgument(name); + if (arg === "\\frac") {arg += "{"+this.GetArgument(arg)+"}{"+this.GetArgument(arg)+"}"} + var mml = TEX.Parse(arg,this.stack.env).mml(); + if (!n) {mml = MML.msqrt.apply(MML,mml.array())} + else {mml = MML.mroot(mml,this.parseRoot(n))} + this.Push(mml); + }, + Root: function (name) { + var n = this.GetUpTo(name,"\\of"); + var arg = this.ParseArg(name); + this.Push(MML.mroot(arg,this.parseRoot(n))); + }, + parseRoot: function (n) { + var env = this.stack.env, inRoot = env.inRoot; env.inRoot = true; + var parser = TEX.Parse(n,env); n = parser.mml(); var global = parser.stack.global; + if (global.leftRoot || global.upRoot) { + n = MML.mpadded(n); + if (global.leftRoot) {n.width = global.leftRoot} + if (global.upRoot) {n.voffset = global.upRoot; n.height = global.upRoot} + } + env.inRoot = inRoot; + return n; + }, + MoveRoot: function (name,id) { + if (!this.stack.env.inRoot) + {TEX.Error(["MisplacedMoveRoot","%1 can appear only within a root",name])} + if (this.stack.global[id]) + {TEX.Error(["MultipleMoveRoot","Multiple use of %1",name])} + var n = this.GetArgument(name); + if (!n.match(/-?[0-9]+/)) + {TEX.Error(["IntegerArg","The argument to %1 must be an integer",name])} + n = (n/15)+"em"; + if (n.substr(0,1) !== "-") {n = "+"+n} + this.stack.global[id] = n; + }, + + Accent: function (name,accent,stretchy) { + var c = this.ParseArg(name); + var def = {accent: true}; if (this.stack.env.font) {def.mathvariant = this.stack.env.font} + var mml = this.mmlToken(MML.mo(MML.entity("#x"+accent)).With(def)); + mml.stretchy = (stretchy ? true : false); + var mo = (c.isEmbellished() ? c.CoreMO() : c); + if (mo.isa(MML.mo)) mo.movablelimits = false; + this.Push(MML.TeXAtom(MML.munderover(c,null,mml).With({accent: true}))); + }, + + UnderOver: function (name,c,stack,noaccent) { + var pos = {o: "over", u: "under"}[name.charAt(1)]; + var base = this.ParseArg(name); + if (base.Get("movablelimits")) {base.movablelimits = false} + if (base.isa(MML.munderover) && base.isEmbellished()) { + base.Core().With({lspace:0,rspace:0}); // get spacing right for NativeMML + base = MML.mrow(MML.mo().With({rspace:0}),base); // add an empty so it's not embellished any more + } + var mml = MML.munderover(base,null,null); + mml.SetData( + mml[pos], + this.mmlToken(MML.mo(MML.entity("#x"+c)).With({stretchy:true, accent:!noaccent})) + ); + if (stack) {mml = MML.TeXAtom(mml).With({texClass:MML.TEXCLASS.OP, movesupsub:true})} + this.Push(mml.With({subsupOK:true})); + }, + + Overset: function (name) { + var top = this.ParseArg(name), base = this.ParseArg(name); + base.movablelimits = false; + this.Push(MML.mover(base,top)); + }, + Underset: function (name) { + var bot = this.ParseArg(name), base = this.ParseArg(name); + base.movablelimits = false; + this.Push(MML.munder(base,bot)); + }, + + TeXAtom: function (name,mclass) { + var def = {texClass: mclass}, mml; + if (mclass == MML.TEXCLASS.OP) { + def.movesupsub = def.movablelimits = true; + var arg = this.GetArgument(name); + var match = arg.match(/^\s*\\rm\s+([a-zA-Z0-9 ]+)$/); + if (match) { + def.mathvariant = MML.VARIANT.NORMAL; + mml = STACKITEM.fn(this.mmlToken(MML.mi(match[1]).With(def))); + } else { + mml = STACKITEM.fn(MML.TeXAtom(TEX.Parse(arg,this.stack.env).mml()).With(def)); + } + } else {mml = MML.TeXAtom(this.ParseArg(name)).With(def)} + this.Push(mml); + }, + + MmlToken: function (name) { + var type = this.GetArgument(name), + attr = this.GetBrackets(name,"").replace(/^\s+/,""), + data = this.GetArgument(name), + def = {attrNames:[]}, match; + if (!MML[type] || !MML[type].prototype.isToken) + {TEX.Error(["NotMathMLToken","%1 is not a token element",type])} + while (attr !== "") { + match = attr.match(/^([a-z]+)\s*=\s*('[^']*'|"[^"]*"|[^ ,]*)\s*,?\s*/i); + if (!match) + {TEX.Error(["InvalidMathMLAttr","Invalid MathML attribute: %1",attr])} + if (MML[type].prototype.defaults[match[1]] == null && !this.MmlTokenAllow[match[1]]) { + TEX.Error(["UnknownAttrForElement", + "%1 is not a recognized attribute for %2", + match[1],type]); + } + var value = this.MmlFilterAttribute(match[1],match[2].replace(/^(['"])(.*)\1$/,"$2")); + if (value) { + if (value.toLowerCase() === "true") {value = true} + else if (value.toLowerCase() === "false") {value = false} + def[match[1]] = value; + def.attrNames.push(match[1]); + } + attr = attr.substr(match[0].length); + } + this.Push(this.mmlToken(MML[type](data).With(def))); + }, + MmlFilterAttribute: function (name,value) {return value}, + MmlTokenAllow: { + fontfamily:1, fontsize:1, fontweight:1, fontstyle:1, + color:1, background:1, + id:1, "class":1, href:1, style:1 + }, + + Strut: function (name) { + this.Push(MML.mpadded(MML.mrow()).With({height: "8.6pt", depth: "3pt", width: 0})); + }, + + Phantom: function (name,v,h) { + var box = MML.mphantom(this.ParseArg(name)); + if (v || h) { + box = MML.mpadded(box); + if (h) {box.height = box.depth = 0} + if (v) {box.width = 0} + } + this.Push(MML.TeXAtom(box)); + }, + + Smash: function (name) { + var bt = this.trimSpaces(this.GetBrackets(name,"")); + var smash = MML.mpadded(this.ParseArg(name)); + switch (bt) { + case "b": smash.depth = 0; break; + case "t": smash.height = 0; break; + default: smash.height = smash.depth = 0; + } + this.Push(MML.TeXAtom(smash)); + }, + + Lap: function (name) { + var mml = MML.mpadded(this.ParseArg(name)).With({width: 0}); + if (name === "\\llap") {mml.lspace = "-1width"} + this.Push(MML.TeXAtom(mml)); + }, + + RaiseLower: function (name) { + var h = this.GetDimen(name); + var item = STACKITEM.position().With({name: name, move: 'vertical'}); + if (h.charAt(0) === '-') {h = h.slice(1); name = {raise: "\\lower", lower: "\\raise"}[name.substr(1)]} + if (name === "\\lower") {item.dh = '-'+h; item.dd = '+'+h} else {item.dh = '+'+h; item.dd = '-'+h} + this.Push(item); + }, + + MoveLeftRight: function (name) { + var h = this.GetDimen(name); + var nh = (h.charAt(0) === '-' ? h.slice(1) : '-'+h); + if (name === "\\moveleft") {var tmp = h; h = nh; nh = tmp} + this.Push(STACKITEM.position().With({ + name: name, move: 'horizontal', + left: MML.mspace().With({width: h, mathsize: MML.SIZE.NORMAL}), + right: MML.mspace().With({width: nh, mathsize: MML.SIZE.NORMAL}) + })); + }, + + Hskip: function (name) { + this.Push(MML.mspace().With({width: this.GetDimen(name), mathsize: MML.SIZE.NORMAL})); + }, + + Rule: function (name,style) { + var w = this.GetDimen(name), + h = this.GetDimen(name), + d = this.GetDimen(name); + var def = {width:w, height:h, depth:d}; + if (style !== 'blank') { + def.mathbackground = (this.stack.env.color || "black"); + } + this.Push(MML.mspace().With(def)); + }, + rule: function (name) { + var v = this.GetBrackets(name), + w = this.GetDimen(name), + h = this.GetDimen(name); + var mml = MML.mspace().With({ + width: w, height:h, + mathbackground: (this.stack.env.color || "black") + }); + if (v) { + mml = MML.mpadded(mml).With({voffset: v}); + if (v.match(/^\-/)) { + mml.height = v; + mml.depth = '+' + v.substr(1); + } else { + mml.height = '+' + v; + } + } + this.Push(mml); + }, + + MakeBig: function (name,mclass,size) { + size *= TEXDEF.p_height; + size = String(size).replace(/(\.\d\d\d).+/,'$1')+"em"; + var delim = this.GetDelimiter(name,true); + this.Push(MML.mstyle(MML.TeXAtom(MML.mo(delim).With({ + minsize: size, maxsize: size, + fence: true, stretchy: true, symmetric: true + })).With({texClass: mclass})).With({scriptlevel: 0})); + }, + + BuildRel: function (name) { + var top = this.ParseUpTo(name,"\\over"); + var bot = this.ParseArg(name); + this.Push(MML.TeXAtom(MML.munderover(bot,null,top)).With({texClass: MML.TEXCLASS.REL})); + }, + + HBox: function (name,style) { + this.Push.apply(this,this.InternalMath(this.GetArgument(name),style)); + }, + + FBox: function (name) { + this.Push(MML.menclose.apply(MML,this.InternalMath(this.GetArgument(name))).With({notation:"box"})); + }, + + Not: function (name) { + this.Push(STACKITEM.not()); + }, + + Dots: function (name) { + this.Push(STACKITEM.dots().With({ + ldots: this.mmlToken(MML.mo(MML.entity("#x2026")).With({stretchy:false})), + cdots: this.mmlToken(MML.mo(MML.entity("#x22EF")).With({stretchy:false})) + })); + }, + + Require: function (name) { + var file = this.GetArgument(name) + .replace(/.*\//,"") // remove any leading path + .replace(/[^a-z0-9_.-]/ig,""); // remove illegal characters + this.Extension(null,file); + }, + + Extension: function (name,file,array) { + if (name && !typeof(name) === "string") {name = name.name} + file = TEX.extensionDir+"/"+file; + if (!file.match(/\.js$/)) {file += ".js"} + if (!AJAX.loaded[AJAX.fileURL(file)]) { + if (name != null) {delete TEXDEF[array || 'macros'][name.replace(/^\\/,"")]} + HUB.RestartAfter(AJAX.Require(file)); + } + }, + + Macro: function (name,macro,argcount,def) { + if (argcount) { + var args = []; + if (def != null) { + var optional = this.GetBrackets(name); + args.push(optional == null ? def : optional); + } + for (var i = args.length; i < argcount; i++) {args.push(this.GetArgument(name))} + macro = this.SubstituteArgs(args,macro); + } + this.string = this.AddArgs(macro,this.string.slice(this.i)); + this.i = 0; + if (++this.macroCount > TEX.config.MAXMACROS) { + TEX.Error(["MaxMacroSub1", + "MathJax maximum macro substitution count exceeded; " + + "is there a recursive macro call?"]); + } + }, + + Matrix: function (name,open,close,align,spacing,vspacing,style,cases,numbered) { + var c = this.GetNext(); + if (c === "") + {TEX.Error(["MissingArgFor","Missing argument for %1",name])} + if (c === "{") {this.i++} else {this.string = c+"}"+this.string.slice(this.i+1); this.i = 0} + var array = STACKITEM.array().With({ + requireClose: true, + arraydef: { + rowspacing: (vspacing||"4pt"), + columnspacing: (spacing||"1em") + } + }); + if (cases) {array.isCases = true} + if (numbered) {array.isNumbered = true; array.arraydef.side = numbered} + if (open || close) {array.open = open; array.close = close} + if (style === "D") {array.arraydef.displaystyle = true} + if (align != null) {array.arraydef.columnalign = align} + this.Push(array); + }, + + Entry: function (name) { + this.Push(STACKITEM.cell().With({isEntry: true, name: name})); + if (this.stack.Top().isCases) { + // + // Make second column be in \text{...} (unless it is already + // in a \text{...}, for backward compatibility). + // + var string = this.string; + var braces = 0, close = -1, i = this.i, m = string.length; + // + // Look through the string character by character... + // + while (i < m) { + var c = string.charAt(i); + if (c === "{") { + // + // Increase the nested brace count and go on + // + braces++; + i++; + } else if (c === "}") { + // + // If there are too many close braces, just end (we will get an + // error message later when the rest of the string is parsed) + // Otherwise + // decrease the nested brace count, + // if it is now zero and we haven't already marked the end of the + // first brace group, record the position (use to check for \text{} later) + // go on to the next character. + // + if (braces === 0) { + m = 0; + } else { + braces--; + if (braces === 0 && close < 0) { + close = i - this.i; + } + i++; + } + } else if (c === "&" && braces === 0) { + // + // Extra alignment tabs are not allowed in cases + // + TEX.Error(["ExtraAlignTab","Extra alignment tab in \\cases text"]); + } else if (c === "\\") { + // + // If the macro is \cr or \\, end the search, otherwise skip the macro + // (multi-letter names don't matter, as we will skip the rest of the + // characters in the main loop) + // + if (string.substr(i).match(/^((\\cr)[^a-zA-Z]|\\\\)/)) {m = 0} else {i += 2} + } else { + // + // Go on to the next character + // + i++; + } + } + // + // Check if the second column text is already in \text{}, + // If not, process the second column as text and continue parsing from there, + // (otherwise process the second column as normal, since it is in \text{} + // + var text = string.substr(this.i,i-this.i); + if (!text.match(/^\s*\\text[^a-zA-Z]/) || close !== text.replace(/\s+$/,'').length - 1) { + this.Push.apply(this,this.InternalMath(text,0)); + this.i = i; + } + } + }, + + Cr: function (name) { + this.Push(STACKITEM.cell().With({isCR: true, name: name})); + }, + + CrLaTeX: function (name) { + var n; + if (this.string.charAt(this.i) === "[") { + n = this.GetBrackets(name,"").replace(/ /g,"").replace(/,/,"."); + if (n && !this.matchDimen(n)) { + TEX.Error(["BracketMustBeDimension", + "Bracket argument to %1 must be a dimension",name]); + } + } + this.Push(STACKITEM.cell().With({isCR: true, name: name, linebreak: true})); + var top = this.stack.Top(); + if (top.isa(STACKITEM.array)) { + if (n && top.arraydef.rowspacing) { + var rows = top.arraydef.rowspacing.split(/ /); + if (!top.rowspacing) {top.rowspacing = this.dimen2em(rows[0])} + while (rows.length < top.table.length) {rows.push(this.Em(top.rowspacing))} + rows[top.table.length-1] = this.Em(Math.max(0,top.rowspacing+this.dimen2em(n))); + top.arraydef.rowspacing = rows.join(' '); + } + } else { + if (n) {this.Push(MML.mspace().With({depth:n}))} + this.Push(MML.mspace().With({linebreak:MML.LINEBREAK.NEWLINE})); + } + }, + emPerInch: 7.2, + pxPerInch: 72, + matchDimen: function (dim) { + return dim.match(/^(-?(?:\.\d+|\d+(?:\.\d*)?))(px|pt|em|ex|mu|pc|in|mm|cm)$/); + }, + dimen2em: function (dim) { + var match = this.matchDimen(dim); + var m = parseFloat(match[1]||"1"), unit = match[2]; + if (unit === "em") {return m} + if (unit === "ex") {return m * .43} + if (unit === "pt") {return m / 10} // 10 pt to an em + if (unit === "pc") {return m * 1.2} // 12 pt to a pc + if (unit === "px") {return m * this.emPerInch / this.pxPerInch} + if (unit === "in") {return m * this.emPerInch} + if (unit === "cm") {return m * this.emPerInch / 2.54} // 2.54 cm to an inch + if (unit === "mm") {return m * this.emPerInch / 25.4} // 10 mm to a cm + if (unit === "mu") {return m / 18} + return 0; + }, + Em: function (m) { + if (Math.abs(m) < .0006) {return "0em"} + return m.toFixed(3).replace(/\.?0+$/,"") + "em"; + }, + + HLine: function (name,style) { + if (style == null) {style = "solid"} + var top = this.stack.Top(); + if (!top.isa(STACKITEM.array) || top.data.length) + {TEX.Error(["Misplaced","Misplaced %1",name])} + if (top.table.length == 0) { + top.frame.push("top"); + } else { + var lines = (top.arraydef.rowlines ? top.arraydef.rowlines.split(/ /) : []); + while (lines.length < top.table.length) {lines.push("none")} + lines[top.table.length-1] = style; + top.arraydef.rowlines = lines.join(' '); + } + }, + + HFill: function (name) { + var top = this.stack.Top(); + if (top.isa(STACKITEM.array)) top.hfill.push(top.data.length); + else TEX.Error(["UnsupportedHFill","Unsupported use of %1",name]); + }, + + + + /************************************************************************/ + /* + * LaTeX environments + */ + + BeginEnd: function (name) { + var env = this.GetArgument(name), isEnd = false; + if (env.match(/^\\end\\/)) {isEnd = true; env = env.substr(5)} // special \end{} for \newenvironment environments + if (env.match(/\\/i)) {TEX.Error(["InvalidEnv","Invalid environment name '%1'",env])} + var cmd = this.envFindName(env); + if (!cmd) {TEX.Error(["UnknownEnv","Unknown environment '%1'",env])} + if (!isArray(cmd)) {cmd = [cmd]} + var end = (isArray(cmd[1]) ? cmd[1][0] : cmd[1]); + var mml = STACKITEM.begin().With({name: env, end: end, parse:this}); + if (name === "\\end") { + if (!isEnd && isArray(cmd[1]) && this[cmd[1][1]]) { + mml = this[cmd[1][1]].apply(this,[mml].concat(cmd.slice(2))); + } else { + mml = STACKITEM.end().With({name: env}); + } + } else { + if (++this.macroCount > TEX.config.MAXMACROS) { + TEX.Error(["MaxMacroSub2", + "MathJax maximum substitution count exceeded; " + + "is there a recursive latex environment?"]); + } + if (cmd[0] && this[cmd[0]]) {mml = this[cmd[0]].apply(this,[mml].concat(cmd.slice(2)))} + } + this.Push(mml); + }, + envFindName: function (name) { + return (TEXDEF.environment.hasOwnProperty(name) ? TEXDEF.environment[name] : null); + }, + + Equation: function (begin,row) {return row}, + + ExtensionEnv: function (begin,file) {this.Extension(begin.name,file,"environment")}, + + Array: function (begin,open,close,align,spacing,vspacing,style,raggedHeight) { + if (!align) {align = this.GetArgument("\\begin{"+begin.name+"}")} + var lines = ("c"+align).replace(/[^clr|:]/g,'').replace(/[^|:]([|:])+/g,'$1'); + align = align.replace(/[^clr]/g,'').split('').join(' '); + align = align.replace(/l/g,'left').replace(/r/g,'right').replace(/c/g,'center'); + var array = STACKITEM.array().With({ + arraydef: { + columnalign: align, + columnspacing: (spacing||"1em"), + rowspacing: (vspacing||"4pt") + } + }); + if (lines.match(/[|:]/)) { + if (lines.charAt(0).match(/[|:]/)) {array.frame.push("left"); array.frame.dashed = lines.charAt(0) === ":"} + if (lines.charAt(lines.length-1).match(/[|:]/)) {array.frame.push("right")} + lines = lines.substr(1,lines.length-2); + array.arraydef.columnlines = + lines.split('').join(' ').replace(/[^|: ]/g,'none').replace(/\|/g,'solid').replace(/:/g,'dashed'); + } + if (open) {array.open = this.convertDelimiter(open)} + if (close) {array.close = this.convertDelimiter(close)} + if (style === "D") {array.arraydef.displaystyle = true} + else if (style) {array.arraydef.displaystyle = false} + if (style === "S") {array.arraydef.scriptlevel = 1} // FIXME: should use mstyle? + if (raggedHeight) {array.arraydef.useHeight = false} + this.Push(begin); + return array; + }, + + AlignedArray: function (begin) { + var align = this.GetBrackets("\\begin{"+begin.name+"}"); + return this.setArrayAlign(this.Array.apply(this,arguments),align); + }, + setArrayAlign: function (array,align) { + align = this.trimSpaces(align||""); + if (align === "t") {array.arraydef.align = "baseline 1"} + else if (align === "b") {array.arraydef.align = "baseline -1"} + else if (align === "c") {array.arraydef.align = "center"} + else if (align) {array.arraydef.align = align} // FIXME: should be an error? + return array; + }, + + /************************************************************************/ + /* + * String handling routines + */ + + /* + * Convert delimiter to character + */ + convertDelimiter: function (c) { + if (c) {c = (TEXDEF.delimiter.hasOwnProperty(c) ? TEXDEF.delimiter[c] : null)} + if (c == null) {return null} + if (isArray(c)) {c = c[0]} + if (c.length === 4) {c = String.fromCharCode(parseInt(c,16))} + return c; + }, + + /* + * Trim spaces from a string + */ + trimSpaces: function (text) { + if (typeof(text) != 'string') {return text} + var TEXT = text.replace(/^\s+|\s+$/g,''); + if (TEXT.match(/\\$/) && text.match(/ $/)) TEXT += " "; + return TEXT; + }, + + /* + * Check if the next character is a space + */ + nextIsSpace: function () { + return this.string.charAt(this.i).match(/\s/); + }, + + /* + * Get the next non-space character + */ + GetNext: function () { + while (this.nextIsSpace()) {this.i++} + return this.string.charAt(this.i); + }, + + /* + * Get and return a control-sequence name + */ + GetCS: function () { + var CS = this.string.slice(this.i).match(/^([a-z]+|.) ?/i); + if (CS) {this.i += CS[1].length; return CS[1]} else {this.i++; return " "} + }, + + /* + * Get and return a TeX argument (either a single character or control sequence, + * or the contents of the next set of braces). + */ + GetArgument: function (name,noneOK) { + switch (this.GetNext()) { + case "": + if (!noneOK) {TEX.Error(["MissingArgFor","Missing argument for %1",name])} + return null; + case '}': + if (!noneOK) { + TEX.Error(["ExtraCloseMissingOpen", + "Extra close brace or missing open brace"]); + } + return null; + case '\\': + this.i++; return "\\"+this.GetCS(); + case '{': + var j = ++this.i, parens = 1; + while (this.i < this.string.length) { + switch (this.string.charAt(this.i++)) { + case '\\': this.i++; break; + case '{': parens++; break; + case '}': + if (--parens == 0) {return this.string.slice(j,this.i-1)} + break; + } + } + TEX.Error(["MissingCloseBrace","Missing close brace"]); + break; + } + return this.string.charAt(this.i++); + }, + + /* + * Get an optional LaTeX argument in brackets + */ + GetBrackets: function (name,def) { + if (this.GetNext() != '[') {return def}; + var j = ++this.i, parens = 0; + while (this.i < this.string.length) { + switch (this.string.charAt(this.i++)) { + case '{': parens++; break; + case '\\': this.i++; break; + case '}': + if (parens-- <= 0) { + TEX.Error(["ExtraCloseLooking", + "Extra close brace while looking for %1","']'"]); + } + break; + case ']': + if (parens == 0) {return this.string.slice(j,this.i-1)} + break; + } + } + TEX.Error(["MissingCloseBracket", + "Couldn't find closing ']' for argument to %1",name]); + }, + + /* + * Get the name of a delimiter (check it in the delimiter list). + */ + GetDelimiter: function (name,braceOK) { + while (this.nextIsSpace()) {this.i++} + var c = this.string.charAt(this.i); this.i++; + if (this.i <= this.string.length) { + if (c == "\\") { + c += this.GetCS(name); + } else if (c === "{" && braceOK) { + this.i--; + c = this.GetArgument(name).replace(/^\s+/,'').replace(/\s+$/,''); + } + if (TEXDEF.delimiter.hasOwnProperty(c)) {return this.convertDelimiter(c)} + } + TEX.Error(["MissingOrUnrecognizedDelim", + "Missing or unrecognized delimiter for %1",name]); + }, + + /* + * Get a dimension (including its units). + */ + GetDimen: function (name) { + var dimen; + if (this.nextIsSpace()) {this.i++} + if (this.string.charAt(this.i) == '{') { + dimen = this.GetArgument(name); + if (dimen.match(/^\s*([-+]?([.,]\d+|\d+([.,]\d*)?))\s*(pt|em|ex|mu|px|mm|cm|in|pc)\s*$/)) + {return dimen.replace(/ /g,"").replace(/,/,".")} + } else { + dimen = this.string.slice(this.i); + var match = dimen.match(/^\s*(([-+]?([.,]\d+|\d+([.,]\d*)?))\s*(pt|em|ex|mu|px|mm|cm|in|pc)) ?/); + if (match) { + this.i += match[0].length; + return match[1].replace(/ /g,"").replace(/,/,"."); + } + } + TEX.Error(["MissingDimOrUnits", + "Missing dimension or its units for %1",name]); + }, + + /* + * Get everything up to the given control sequence (token) + */ + GetUpTo: function (name,token) { + while (this.nextIsSpace()) {this.i++} + var j = this.i, k, c, parens = 0; + while (this.i < this.string.length) { + k = this.i; c = this.string.charAt(this.i++); + switch (c) { + case '\\': c += this.GetCS(); break; + case '{': parens++; break; + case '}': + if (parens == 0) { + TEX.Error(["ExtraCloseLooking", + "Extra close brace while looking for %1",token]) + } + parens--; + break; + } + if (parens == 0 && c == token) {return this.string.slice(j,k)} + } + TEX.Error(["TokenNotFoundForCommand", + "Couldn't find %1 for %2",token,name]); + }, + + /* + * Parse various substrings + */ + ParseArg: function (name) {return TEX.Parse(this.GetArgument(name),this.stack.env).mml()}, + ParseUpTo: function (name,token) {return TEX.Parse(this.GetUpTo(name,token),this.stack.env).mml()}, + + /* + * Break up a string into text and math blocks + */ + InternalMath: function (text,level) { + var def = (this.stack.env.font ? {mathvariant: this.stack.env.font} : {}); + var mml = [], i = 0, k = 0, c, match = '', braces = 0; + if (text.match(/\\?[${}\\]|\\\(|\\(eq)?ref\s*\{/)) { + while (i < text.length) { + c = text.charAt(i++); + if (c === '$') { + if (match === '$' && braces === 0) { + mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-1),{}).mml())); + match = ''; k = i; + } else if (match === '') { + if (k < i-1) mml.push(this.InternalText(text.slice(k,i-1),def)); + match = '$'; k = i; + } + } else if (c === '{' && match !== '') { + braces++; + } else if (c === '}') { + if (match === '}' && braces === 0) { + mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i),{}).mml().With(def))); + match = ''; k = i; + } else if (match !== '') { + if (braces) braces--; + } + } else if (c === '\\') { + if (match === '' && text.substr(i).match(/^(eq)?ref\s*\{/)) { + var len = RegExp["$&"].length; + if (k < i-1) mml.push(this.InternalText(text.slice(k,i-1),def)); + match = '}'; k = i-1; i += len; + } else { + c = text.charAt(i++); + if (c === '(' && match === '') { + if (k < i-2) mml.push(this.InternalText(text.slice(k,i-2),def)); + match = ')'; k = i; + } else if (c === ')' && match === ')' && braces === 0) { + mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-2),{}).mml())); + match = ''; k = i; + } else if (c.match(/[${}\\]/) && match === '') { + i--; text = text.substr(0,i-1) + text.substr(i); // remove \ from \$, \{, \}, or \\ + } + } + } + } + if (match !== '') TEX.Error(["MathNotTerminated","Math not terminated in text box"]); + } + if (k < text.length) mml.push(this.InternalText(text.slice(k),def)); + if (level != null) { + mml = [MML.mstyle.apply(MML,mml).With({displaystyle:false,scriptlevel:level})]; + } else if (mml.length > 1) { + mml = [MML.mrow.apply(MML,mml)]; + } + return mml; + }, + InternalText: function (text,def) { + text = text.replace(/^\s+/,NBSP).replace(/\s+$/,NBSP); + return MML.mtext(MML.chars(text)).With(def); + }, + + /* + * Routines to set the macro and environment definitions + * (overridden by begingroup to make localized versions) + */ + setDef: function (name,value) {value.isUser = true; TEXDEF.macros[name] = value}, + setEnv: function (name,value) {value.isUser = true; TEXDEF.environment[name] = value}, + + /* + * Replace macro parameters with their values + */ + SubstituteArgs: function (args,string) { + var text = ''; var newstring = ''; var c; var i = 0; + while (i < string.length) { + c = string.charAt(i++); + if (c === "\\") {text += c + string.charAt(i++)} + else if (c === '#') { + c = string.charAt(i++); + if (c === '#') {text += c} else { + if (!c.match(/[1-9]/) || c > args.length) { + TEX.Error(["IllegalMacroParam", + "Illegal macro parameter reference"]); + } + newstring = this.AddArgs(this.AddArgs(newstring,text),args[c-1]); + text = ''; + } + } else {text += c} + } + return this.AddArgs(newstring,text); + }, + + /* + * Make sure that macros are followed by a space if their names + * could accidentally be continued into the following text. + */ + AddArgs: function (s1,s2) { + if (s2.match(/^[a-z]/i) && s1.match(/(^|[^\\])(\\\\)*\\[a-z]+$/i)) {s1 += ' '} + if (s1.length + s2.length > TEX.config.MAXBUFFER) { + TEX.Error(["MaxBufferSize", + "MathJax internal buffer size exceeded; is there a recursive macro call?"]); + } + return s1+s2; + } + + }); + + /************************************************************************/ + + TEX.Augment({ + Stack: STACK, Parse: PARSE, Definitions: TEXDEF, Startup: STARTUP, + + config: { + MAXMACROS: 10000, // maximum number of macro substitutions per equation + MAXBUFFER: 5*1024 // maximum size of TeX string to process + }, + + sourceMenuTitle: /*_(MathMenu)*/ ["TeXCommands","TeX Commands"], + annotationEncoding: "application/x-tex", + + prefilterHooks: MathJax.Callback.Hooks(true), // hooks to run before processing TeX + postfilterHooks: MathJax.Callback.Hooks(true), // hooks to run after processing TeX + + // + // Check if AMSmath extension must be loaded and push + // it on the extensions array, if needed + // + Config: function () { + this.SUPER(arguments).Config.apply(this,arguments); + if (this.config.equationNumbers.autoNumber !== "none") { + if (!this.config.extensions) {this.config.extensions = []} + this.config.extensions.push("AMSmath.js"); + } + }, + + // + // Convert TeX to ElementJax + // + Translate: function (script) { + var mml, isError = false, math = MathJax.HTML.getScript(script); + var display = (script.type.replace(/\n/g," ").match(/(;|\s|\n)mode\s*=\s*display(;|\s|\n|$)/) != null); + var data = {math:math, display:display, script:script}; + var callback = this.prefilterHooks.Execute(data); if (callback) return callback; + math = data.math; + try { + mml = TEX.Parse(math).mml(); + } catch(err) { + if (!err.texError) {throw err} + mml = this.formatError(err,math,display,script); + isError = true; + } + if (mml.isa(MML.mtable) && mml.displaystyle === "inherit") mml.displaystyle = display; // for tagged equations + if (mml.inferred) {mml = MML.apply(MathJax.ElementJax,mml.data)} else {mml = MML(mml)} + if (display) {mml.root.display = "block"} + if (isError) {mml.texError = true} + data.math = mml; + return this.postfilterHooks.Execute(data) || data.math; + }, + prefilterMath: function (math,displaystyle,script) { + return math; + }, + postfilterMath: function (math,displaystyle,script) { + this.combineRelations(math.root); + return math; + }, + formatError: function (err,math,display,script) { + var message = err.message.replace(/\n.*/,""); + HUB.signal.Post(["TeX Jax - parse error",message,math,display,script]); + return MML.Error(message); + }, + + // + // Produce an error and stop processing this equation + // + Error: function (message) { + // + // Translate message if it is ["id","message",args] + // + if (isArray(message)) {message = _.apply(_,message)} + throw HUB.Insert(Error(message),{texError: true}); + }, + + // + // Add a user-defined macro to the macro list + // + Macro: function (name,def,argn) { + TEXDEF.macros[name] = ['Macro'].concat([].slice.call(arguments,1)); + TEXDEF.macros[name].isUser = true; + }, + + /* + * Create an mrow that has stretchy delimiters at either end, as needed + */ + fenced: function (open,mml,close) { + var mrow = MML.mrow().With({open:open, close:close, texClass:MML.TEXCLASS.INNER}); + mrow.Append( + MML.mo(open).With({fence:true, stretchy:true, symmetric:true, texClass:MML.TEXCLASS.OPEN}) + ); + if (mml.type === "mrow" && mml.inferred) { + mrow.Append.apply(mrow, mml.data); + } else { + mrow.Append(mml); + } + mrow.Append( + MML.mo(close).With({fence:true, stretchy:true, symmetric:true, texClass:MML.TEXCLASS.CLOSE}) + ); + return mrow; + }, + /* + * Create an mrow that has \mathchoice using \bigg and \big for the delimiters + */ + fixedFence: function (open,mml,close) { + var mrow = MML.mrow().With({open:open, close:close, texClass:MML.TEXCLASS.ORD}); + if (open) {mrow.Append(this.mathPalette(open,"l"))} + if (mml.type === "mrow") {mrow.Append.apply(mrow,mml.data)} else {mrow.Append(mml)} + if (close) {mrow.Append(this.mathPalette(close,"r"))} + return mrow; + }, + mathPalette: function (fence,side) { + if (fence === '{' || fence === '}') {fence = "\\"+fence} + var D = '{\\bigg'+side+' '+fence+'}', T = '{\\big'+side+' '+fence+'}'; + return TEX.Parse('\\mathchoice'+D+T+T+T,{}).mml(); + }, + + // + // Combine adjacent elements that are relations + // (since MathML treats the spacing very differently) + // + combineRelations: function (mml) { + var i, m, m1, m2; + for (i = 0, m = mml.data.length; i < m; i++) { + if (mml.data[i]) { + if (mml.isa(MML.mrow)) { + while (i+1 < m && (m1 = mml.data[i]) && (m2 = mml.data[i+1]) && + m1.isa(MML.mo) && m2.isa(MML.mo) && + m1.Get("texClass") === MML.TEXCLASS.REL && + m2.Get("texClass") === MML.TEXCLASS.REL) { + if (m1.variantForm == m2.variantForm && + m1.Get("mathvariant") == m2.Get("mathvariant") && m1.style == m2.style && + m1["class"] == m2["class"] && !m1.id && !m2.id) { + m1.Append.apply(m1,m2.data); + mml.data.splice(i+1,1); m--; + } else { + m1.rspace = m2.lspace = "0pt"; i++; + } + } + } + if (!mml.data[i].isToken) {this.combineRelations(mml.data[i])} + } + } + } + }); + + // + // Add the default filters + // + TEX.prefilterHooks.Add(function (data) { + data.math = TEX.prefilterMath(data.math,data.display,data.script); + }); + TEX.postfilterHooks.Add(function (data) { + data.math = TEX.postfilterMath(data.math,data.display,data.script); + }); + + TEX.loadComplete("jax.js"); + +})(MathJax.InputJax.TeX,MathJax.Hub,MathJax.Ajax); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/annotation-xml.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/annotation-xml.js new file mode 100644 index 00000000..0f87bc08 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/annotation-xml.js @@ -0,0 +1,60 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/annotation-xm;l.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML; + + MML["annotation-xml"].Augment({ + toCommonHTML: function (node) { + var encoding = this.Get("encoding"); + node = this.CHTMLdefaultNode(node,{childOptions:{encoding:encoding}}); + if (this.CHTML.rscale !== 1) this.CHTML.rescale(1/this.CHTML.rscale); + return node; + } + }); + + MML.xml.Augment({ + toCommonHTML: function (node,options) { + var bbox = this.CHTML = CHTML.BBOX.zero(); + for (var i = 0, m = this.data.length; i < m; i++) + {node.appendChild(this.data[i].cloneNode(true))} + // + // Warning: causes reflow + // + var w = node.offsetWidth, h = node.offsetHeight; + var strut = CHTML.addElement(node,"mjx-hd-test",{style:{height:h+"px"}}); + bbox.d = bbox.b = (node.offsetHeight - h)/CHTML.em; + bbox.w = bbox.r = w/CHTML.em; bbox.h = bbox.t = h/CHTML.em - bbox.d; + node.removeChild(strut); + } + }); + + MathJax.Hub.Startup.signal.Post("CommonHTML annotation-xml Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/annotation-xml.js"); +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/maction.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/maction.js new file mode 100644 index 00000000..857293e2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/maction.js @@ -0,0 +1,178 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/maction.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML; + + var currentTip, hover, clear; + + // + // Add configuration for tooltips + // + var CONFIG = CHTML.config.tooltip = MathJax.Hub.Insert({ + delayPost: 600, delayClear: 600, + offsetX: 10, offsetY: 5 + },CHTML.config.tooltip||{}); + + + MML.maction.Augment({ + CHTMLtooltip: CHTML.addElement(document.body,"div",{id:"MathJax_CHTML_Tooltip"}), + + toCommonHTML: function (node) { + var selected = this.Get("selection"); + node = this.CHTMLcreateNode(node); + this.CHTML = CHTML.BBOX.empty(); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + this.CHTMLaddChild(node,selected-1,{}); + this.CHTML.clean(); + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + + var type = this.Get("actiontype"); + if (this.CHTMLaction[type] && this.CHTMLaction.hasOwnProperty(type)) + this.CHTMLaction[type].call(this,node,selected); + + return node; + }, + CHTMLcoreNode: function (node) {return this.CHTMLchildNode(node,0)}, + + // + // Implementations for the various actions + // + CHTMLaction: { + toggle: function (node,selection) { + this.selection = selection; + node.onclick = MathJax.Callback(["CHTMLclick",this,CHTML.jax]); + node.style.cursor = "pointer"; + }, + + statusline: function (node,selection) { + node.onmouseover = MathJax.Callback(["CHTMLsetStatus",this]); + node.onmouseout = MathJax.Callback(["CHTMLclearStatus",this]); + node.onmouseover.autoReset = node.onmouseout.autoReset = true; + }, + + tooltip: function(node,selection) { + if (this.data[1] && this.data[1].isToken) { + node.title = node.alt = this.data[1].data.join(""); + } else { + node.onmouseover = MathJax.Callback(["CHTMLtooltipOver",this,CHTML.jax]); + node.onmouseout = MathJax.Callback(["CHTMLtooltipOut",this,CHTML.jax]); + node.onmouseover.autoReset = node.onmouseout.autoReset = true; + } + } + }, + + // + // Handle a click on the maction element + // (remove the original rendering and rerender) + // + CHTMLclick: function (jax,event) { + this.selection++; + if (this.selection > this.data.length) this.selection = 1; + var hover = !!jax.hover; + jax.Update(); + if (hover) { + var span = document.getElementById(jax.inputID+"-Span"); + MathJax.Extension.MathEvents.Hover.Hover(jax,span); + } + return MathJax.Extension.MathEvents.Event.False(event); + }, + + // + // Set/Clear the window status message + // + CHTMLsetStatus: function (event) { + // FIXME: Do something better with non-token elements + this.messageID = MathJax.Message.Set + ((this.data[1] && this.data[1].isToken) ? + this.data[1].data.join("") : this.data[1].toString()); + }, + CHTMLclearStatus: function (event) { + if (this.messageID) MathJax.Message.Clear(this.messageID,0); + delete this.messageID; + }, + + // + // Handle tooltips + // + CHTMLtooltipOver: function (jax,event) { + if (!event) event = window.event; + if (clear) {clearTimeout(clear); clear = null} + if (hover) clearTimeout(hover); + var x = event.pageX; var y = event.pageY; + if (x == null) { + x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; + y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; + } + var callback = MathJax.Callback(["CHTMLtooltipPost",this,jax,x+CONFIG.offsetX,y+CONFIG.offsetY]) + hover = setTimeout(callback,CONFIG.delayPost); + }, + CHTMLtooltipOut: function (jax,event) { + if (hover) {clearTimeout(hover); hover = null} + if (clear) clearTimeout(clear); + var callback = MathJax.Callback(["CHTMLtooltipClear",this,80]); + clear = setTimeout(callback,CONFIG.delayClear); + }, + CHTMLtooltipPost: function (jax,x,y) { + hover = null; if (clear) {clearTimeout(clear); clear = null} + var tip = this.CHTMLtooltip; + tip.style.display = "block"; tip.style.opacity = ""; +// tip.style.filter = CHTML.config.styles["#MathJax_CHTML_Tooltip"].filter; + if (this === currentTip) return; + tip.style.left = x+"px"; tip.style.top = y+"px"; + tip.innerHTML = ''; + CHTML.getMetrics(jax); + try {this.data[1].toCommonHTML(tip.firstChild.firstChild)} catch(err) { + if (!err.restart) throw err; + tip.style.display = "none"; + MathJax.Callback.After(["CHTMLtooltipPost",this,jax,x,y],err.restart); + return; + } + currentTip = this; + }, + CHTMLtooltipClear: function (n) { + var tip = this.CHTMLtooltip; + if (n <= 0) { + tip.style.display = "none"; + tip.style.opacity = tip.style.filter = ""; + clear = null; + } else { + tip.style.opacity = n/100; + tip.style.filter = "alpha(opacity="+n+")"; + clear = setTimeout(MathJax.Callback(["CHTMLtooltipClear",this,n-20]),50); + } + } + }); + + MathJax.Hub.Startup.signal.Post("CommonHTML maction Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/maction.js"); +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/menclose.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/menclose.js new file mode 100644 index 00000000..b2bbeb45 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/menclose.js @@ -0,0 +1,317 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/menclose.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML; + + var SVGNS = "http://www.w3.org/2000/svg"; + var ARROWX = 4, ARROWDX = 1, ARROWY = 2; + + MML.menclose.Augment({ + toCommonHTML: function (node) { + var values = this.getValues("notation","thickness","padding"); + if (values.thickness == null) values.thickness = ".075em"; + if (values.padding == null) values.padding = ".2em"; + // + // Get DOM nodes + // + node = this.CHTMLdefaultNode(node,{childNodes:"mjx-box", forceChild:true}); + var child = node.firstChild, cbox = this.CHTMLbboxFor(0); + // + // Get the padding and rule thickness + // + var p = this.CHTMLlength2em(values.padding,1/CHTML.em); // padding for enclosure + var t = this.CHTMLlength2em(values.thickness,1/CHTML.em); // thickness of lines + t = Math.max(1,Math.round(t*CHTML.em))/CHTML.em; + var SOLID = CHTML.Px(t)+" solid"; + var bb = {L:p, R:p, T:p, B:p, H:cbox.h+p, D:cbox.d+p, W:cbox.w+2*p}; + child.style.padding = CHTML.Em(p); + // + // Eliminate duplicate notations. + // + var notations = MathJax.Hub.SplitList(values.notation), notation = {}; + for (var i = 0, m = notations.length; i < m; i++) notation[notations[i]] = true; + if (notation[MML.NOTATION.UPDIAGONALARROW]) delete notation[MML.NOTATION.UPDIAGONALSTRIKE]; + // + // Add the needed notations + // + for (var n in notation) { + if (notation.hasOwnProperty(n)) { + if (this.CHTMLnotation[n] && this.CHTMLnotation.hasOwnProperty(n)) + this.CHTMLnotation[n].call(this,child,cbox,bb,p,t,SOLID); + } + } + // + // Adjust the bounding box + // + var BBOX = this.CHTML; + BBOX.w += bb.L + bb.R; BBOX.r += BBOX.L; if (BBOX.w > BBOX.r) BBOX.r = BBOX.w; + BBOX.h += bb.T; if (BBOX.h > BBOX.t) BBOX.t = BBOX.h; + BBOX.d += bb.B; if (BBOX.d > BBOX.b) BBOX.b = BBOX.d; + + return node; + }, + // + // The various notations and their implementations + // + CHTMLnotation: { + + /********************************************************/ + + box: function (child,cbox,bb,p,t,SOLID) { + p -= t; + child.style.padding = CHTML.Em(p); + child.style.border = SOLID; + }, + + /********************************************************/ + + roundedbox: function (child,cbox,bb,p,t,SOLID) { + var r = Math.min(cbox.w,cbox.h+cbox.d+2*p)/4; + CHTML.addElement(child.parentNode,"mjx-box",{ + style: { + padding:CHTML.Em(p-t), border:SOLID, "border-radius":CHTML.Em(r), + height:CHTML.Em(cbox.h+cbox.d), "vertical-align":CHTML.Em(-bb.D), + width:CHTML.Em(cbox.w), "margin-left":CHTML.Em(-bb.W) + } + }); + }, + + /********************************************************/ + + circle: function (child,cbox,bb,p,t,SOLID) { + var H = bb.H, D = bb.D, W = bb.W; + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"ellipse",{ + rx:CHTML.Px(W/2-t/2), ry:CHTML.Px((H+D)/2-t/2), + cx:CHTML.Px(W/2), cy:CHTML.Px((H+D)/2) + }); + }, + + /********************************************************/ + + left: function (child,cbox,bb,p,t,SOLID) { + child.style.borderLeft = SOLID; + child.style.paddingLeft = CHTML.Em(p-t); + }, + + /********************************************************/ + + right: function (child,cbox,bb,p,t,SOLID) { + child.style.borderRight = SOLID; + child.style.paddingRight = CHTML.Em(p-t); + }, + + /********************************************************/ + + top: function (child,cbox,bb,p,t,SOLID) { + child.style.borderTop = SOLID; + child.style.paddingTop = CHTML.Em(p-t); + }, + + /********************************************************/ + + bottom: function (child,cbox,bb,p,t,SOLID) { + child.style.borderBottom = SOLID; + child.style.paddingBottom = CHTML.Em(p-t); + }, + + /********************************************************/ + + actuarial: function (child,cbox,bb,p,t,SOLID) { + child.style.borderTop = child.style.borderRight = SOLID; + child.style.paddingTop = child.style.paddingRight = CHTML.Em(p-t); + }, + + /********************************************************/ + + madruwb: function (child,cbox,bb,p,t,SOLID) { + child.style.borderBottom = child.style.borderRight = SOLID; + child.style.paddingBottom = child.style.paddingRight = CHTML.Em(p-t); + }, + + /********************************************************/ + + verticalstrike: function (child,cbox,bb,p,t,SOLID) { + CHTML.addElement(child.parentNode,"mjx-box",{ + style: { + "border-left":SOLID, + height:CHTML.Em(bb.H+bb.D), "vertical-align":CHTML.Em(-bb.D), + width:CHTML.Em(cbox.w/2+p-t/2), "margin-left":CHTML.Em(-cbox.w/2-p-t/2) + } + }); + }, + + /********************************************************/ + + horizontalstrike: function (child,cbox,bb,p,t,SOLID) { + CHTML.addElement(child.parentNode,"mjx-box",{ + style: { + "border-top":SOLID, + height:CHTML.Em((bb.H+bb.D)/2-t/2), "vertical-align":CHTML.Em(-bb.D), + width:CHTML.Em(bb.W), "margin-left":CHTML.Em(-bb.W) + } + }); + }, + + /********************************************************/ + + updiagonalstrike: function (child,cbox,bb,p,t,SOLID) { + var H = bb.H, D = bb.D, W = bb.W; + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"line",{ + x1:CHTML.Px(t/2), y1:CHTML.Px(H+D-t), x2:CHTML.Px(W-t), y2:CHTML.Px(t/2) + }); + }, + + /********************************************************/ + + downdiagonalstrike: function (child,cbox,bb,p,t,SOLID) { + var H = bb.H, D = bb.D, W = bb.W; + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"line",{ + x1:CHTML.Px(t/2), y1:CHTML.Px(t/2), x2:CHTML.Px(W-t), y2:CHTML.Px(H+D-t) + }); + }, + + /********************************************************/ + + updiagonalarrow: function (child,cbox,bb,p,t,SOLID) { + var H = bb.H + bb.D - t, W = bb.W - t/2; + var a = Math.atan2(H,W)*(-180/Math.PI).toFixed(3); + var R = Math.sqrt(H*H + W*W); + var svg = this.CHTMLsvg(child,bb,t); + var g = this.CHTMLsvgElement(svg.firstChild,"g",{ + fill:"currentColor", + transform:"translate("+this.CHTMLpx(t/2)+" "+this.CHTMLpx(H+t/2)+") rotate("+a+")" + }); + var x = t * ARROWX, dx = t * ARROWDX, y = t * ARROWY; + this.CHTMLsvgElement(g,"line",{ + x1:CHTML.Px(t/2), y1:0, x2:CHTML.Px(R-x), y2:0 + }); + this.CHTMLsvgElement(g,"path",{ + d: "M "+this.CHTMLpx(R-x)+",0 " + + "L "+this.CHTMLpx(R-x-dx)+","+this.CHTMLpx(y) + + "L "+this.CHTMLpx(R)+",0 " + + "L "+this.CHTMLpx(R-x-dx)+","+this.CHTMLpx(-y), + stroke:"none" + }); + }, + + /********************************************************/ + + phasorangle: function (child,cbox,bb,p,t,SOLID) { + var P = p, H = bb.H, D = bb.D; + p = (H+D)/2; + var W = bb.W + p - P; bb.W = W; bb.L = p; + child.style.margin = "0 0 0 "+CHTML.Em(p-P); + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"path",{ + d: "M "+this.CHTMLpx(p)+",1 " + + "L 1,"+this.CHTMLpx(H+D-t)+" L "+this.CHTMLpx(W)+","+this.CHTMLpx(H+D-t) + }); + }, + + /********************************************************/ + + longdiv: function (child,cbox,bb,p,t,SOLID) { + bb.W += 1.5*p; bb.L += 1.5*p; + var H = bb.H, D = bb.D, W = bb.W; + child.style.margin = "0 0 0 "+CHTML.Em(1.5*p); + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"path",{ + d: "M "+this.CHTMLpx(W)+",1 L 1,1 "+ + "a"+this.CHTMLpx(p)+","+this.CHTMLpx((H+D)/2-t/2)+" 0 0,1 1,"+this.CHTMLpx(H+D-1.5*t) + }); + }, + + /********************************************************/ + + radical: function (child,cbox,bb,p,t,SOLID) { + bb.W += 1.5*p; bb.L += 1.5*p; + var H = bb.H, D = bb.D, W = bb.W; + child.style.margin = "0 0 0 "+CHTML.Em(1.5*p); + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"path",{ + d: "M 1,"+this.CHTMLpx(.6*(H+D)) + + " L "+this.CHTMLpx(p)+","+this.CHTMLpx(H+D) + + " L "+this.CHTMLpx(2*p)+",1 L "+this.CHTMLpx(W)+",1" + }); + } + + /********************************************************/ + + }, + + // + // Pixels with no "px" + // + CHTMLpx: function (m) { + m *= CHTML.em; + if (Math.abs(m) < .1) return "0"; + return m.toFixed(1).replace(/\.0$/,""); + }, + + // + // Create the SVG element and position it over the + // contents + // + CHTMLsvg: function (node,bbox,t) { + if (!svg) { + var svg = document.createElementNS(SVGNS,"svg"); + if (svg.style) { + svg.style.width = CHTML.Em(bbox.W); + svg.style.height = CHTML.Em(bbox.H+bbox.D); + svg.style.verticalAlign = CHTML.Em(-bbox.D); + svg.style.marginLeft = CHTML.Em(-bbox.W); + } + this.CHTMLsvgElement(svg,"g",{"stroke-width":CHTML.Px(t)}); + node.parentNode.appendChild(svg); + } + return svg; + }, + // + // Add an SVG element to the given svg node + // + CHTMLsvgElement: function (svg,type,def) { + var obj = document.createElementNS(SVGNS,type); obj.isMathJax = true; + if (def) {for (var id in def) {if (def.hasOwnProperty(id)) {obj.setAttributeNS(null,id,def[id].toString())}}} + svg.appendChild(obj); + return obj; + } + }); + + // + // Just use default toCommonHTML for EI8 + // + if (!document.createElementNS) delete MML.menclose.prototype.toCommonHTML; + + MathJax.Hub.Startup.signal.Post("CommonHTML menclose Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/menclose.js"); +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mglyph.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mglyph.js new file mode 100644 index 00000000..2c0419b6 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mglyph.js @@ -0,0 +1,94 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/mglyph.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML, + LOCALE = MathJax.Localization; + + MML.mglyph.Augment({ + toCommonHTML: function (node,options) { + var values = this.getValues("src","width","height","valign","alt"); + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + if (values.src === "") { + var index = this.Get("index"); + this.CHTMLgetVariant(); + if (index && this.CHTMLvariant.style) + this.CHTMLhandleText(node,String.fromCharCode(index),this.CHTMLvariant); + } else { + var bbox = this.CHTML; + if (!bbox.img) bbox.img = MML.mglyph.GLYPH[values.src]; + if (!bbox.img) { + bbox.img = MML.mglyph.GLYPH[values.src] = {img: new Image(), status: "pending"}; + bbox.img.img.onload = MathJax.Callback(["CHTMLimgLoaded",this]); + bbox.img.img.onerror = MathJax.Callback(["CHTMLimgError",this]); + bbox.img.img.src = values.src; + MathJax.Hub.RestartAfter(bbox.img.img.onload); + } + if (bbox.img.status !== "OK") { + var err = MML.Error(LOCALE._(["MathML","BadMglyph"],"Bad mglyph: %1",values.src)); + err.data[0].data[0].mathsize = "75%"; + this.Append(err); err.toCommonHTML(node); this.data.pop(); + bbox.combine(err.CHTML,0,0,1); + } else { + var img = CHTML.addElement(node,"img",{ + isMathJax:true, src:values.src, alt:values.alt, title:values.alt + }); + var w = values.width, h = values.height; + var W = bbox.img.img.width/CHTML.em, H = bbox.img.img.height/CHTML.em; + var WW = W, HH = H; + if (w !== "") {W = this.CHTMLlength2em(w,WW); H = (WW ? W/WW * HH : 0)} + if (h !== "") {H = this.CHTMLlength2em(h,HH); if (w === "") W = (HH ? H/HH * WW : 0)} + img.style.width = CHTML.Em(W); bbox.w = bbox.r = W; + img.style.height = CHTML.Em(H); bbox.h = bbox.t = H; + if (values.valign) { + bbox.d = bbox.b = -this.CHTMLlength2em(values.valign,HH); + img.style.verticalAlign = CHTML.Em(-bbox.d); + bbox.h -= bbox.d; bbox.t = bbox.h; + } + } + } + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + return node; + }, + CHTMLimgLoaded: function (event,status) { + if (typeof(event) === "string") status = event; + this.CHTML.img.status = (status || "OK"); + }, + CHTMLimgError: function () {this.CHTML.img.img.onload("error")} + },{ + GLYPH: {} // global list of all loaded glyphs + }); + + MathJax.Hub.Startup.signal.Post("CommonHTML mglyph Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/mglyph.js"); +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mmultiscripts.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mmultiscripts.js new file mode 100644 index 00000000..054b31ce --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mmultiscripts.js @@ -0,0 +1,296 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/mmultiscripts.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML; + + MML.mmultiscripts.Augment({ + toCommonHTML: function (node,options) { + var stretch = (options||{}).stretch; + if (!stretch) { + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLgetVariant(); + this.CHTMLhandleScale(node); + } + CHTML.BBOX.empty(this.CHTML); + + // + // Get base node + // + var base, bbox; + if (stretch) { + base = CHTML.getNode(node,"mjx-base"); + } else { + this.CHTMLaddChild(node,0,{type:"mjx-base", noBBox:true, forceChild:true}); + base = node.firstChild; + } + bbox = this.CHTMLbboxFor(0); + if (bbox.ic) { + bbox.R -= bbox.ic; // remove IC (added by mo and mi) + if (!stretch) base.style.marginRight = CHTML.Em(-bbox.ic); + delta = 1.3*bbox.ic + .05; // make faked IC be closer to expeted results + } + + // + // Collect scripts into horizontal boxes and add them into the node + // + var BOX = {}, BBOX = {}; + this.CHTMLgetScripts(BOX,BBOX,stretch,node); + var sub = BOX.sub, sup = BOX.sup, presub = BOX.presub, presup = BOX.presup; + var sbox = BBOX.sub, Sbox = BBOX.sup, pbox = BBOX.presub, Pbox = BBOX.presup; + if (!stretch) this.CHTMLaddBoxes(node,base,BOX); + + // + // Get the initial values for the variables + // + var values = this.getValues("scriptlevel","scriptsizemultiplier"); + var sscale = (this.Get("scriptlevel") < 3 ? values.scriptsizemultiplier : 1); + var ex = CHTML.TEX.x_height, s = CHTML.TEX.scriptspace; + var q = CHTML.TEX.sup_drop * sscale, r = CHTML.TEX.sub_drop * sscale; + var u = bbox.h - q, v = bbox.d + r, delta = 0, p; + var bmml = this.data[this.base]; + if (bmml && (bmml.type === "mi" || bmml.type === "mo")) { + if (CHTML.isChar(bmml.data.join("")) && bbox.rscale === 1 && !bbox.sH && + !bmml.Get("largeop")) {u = v = 0} + } + values = this.getValues("displaystyle","subscriptshift","superscriptshift","texprimestyle"); + values.subscriptshift = (values.subscriptshift === "" ? 0 : this.CHTMLlength2em(values.subscriptshift)); + values.superscriptshift = (values.superscriptshift === "" ? 0 : this.CHTMLlength2em(values.superscriptshift)); + + var dx = (presub ? s+pbox.w : presup ? s+Pbox.w-delta : 0); + this.CHTML.combine(bbox,dx,0); var x = this.CHTML.w; + + // + // Place the scripts as needed + // + if (!sup && !presup) { + v = Math.max(v,CHTML.TEX.sub1,values.subscriptshift); + if (sub) v = Math.max(v,sbox.h-(4/5)*ex); + if (presub) v = Math.max(v,pbox.h-(4/5)*ex); + if (sub) this.CHTMLplaceSubOnly(sub,sbox,x,v,s); + if (presub) this.CHTMLplacePresubOnly(presub,pbox,v,s); + } else { + if (!sub && !presub) { + p = CHTML.TEX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; + u = Math.max(u,p,values.superscriptshift); + if (sup) u = Math.max(u,Sbox.d+(1/4)*ex); + if (presup) u = Math.max(u,Pbox.d+(1/4)*ex); + if (sup) this.CHTMLplaceSupOnly(sup,Sbox,x,delta,u,s); + if (presup) this.CHTMLplacePresupOnly(presup,Pbox,delta,u,s); + } else { + v = Math.max(v,CHTML.TEX.sub2); + var t = CHTML.TEX.rule_thickness; + var h = (sbox||pbox).h, d = (Sbox||Pbox).d; + if (presub) h = Math.max(h,pbox.h); + if (presup) d = Math.max(d,Pbox.d); + if ((u - d) - (h - v) < 3*t) { + v = 3*t - u + d + h; q = (4/5)*ex - (u - d); + if (q > 0) {u += q; v -= q} + } + u = Math.max(u,values.superscriptshift); + v = Math.max(v,values.subscriptshift); + if (sup) { + if (sub) {this.CHTMLplaceSubSup(sub,sbox,sup,Sbox,x,delta,u,v,s)} + else {this.CHTMLplaceSupOnly(sup,Sbox,x,delta,u,s)} + } else if (sub) {this.CHTMLplaceSubOnly(sub,sbox,x,v,s)} + if (presup) { + if (presub) {this.CHTMLplacePresubPresup(presub,pbox,presup,Pbox,delta,u,v,s)} + else {this.CHTMLplacePresupOnly(presup,Pbox,delta,u,s)} + } else if (presub) {this.CHTMLplacePresubOnly(presub,pbox,v,s)} + } + } + this.CHTML.clean(); + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + return node; + }, + // + // Get the subscript, superscript, presubscript, and presuperscript + // boxes, with proper spacing, and computer their bounding boxes. + // + CHTMLgetScripts: function (BOX,BBOX,stretch,node) { + if (stretch) { + BOX.sub = CHTML.getNode(node,"mjx-sub"); + BOX.sup = CHTML.getNode(node,"mjx-sup"); + BOX.presub = CHTML.getNode(node,"mjx-presub"); + BOX.presup = CHTML.getNode(node,"mjx-presup"); + BBOX.sub = this.CHTMLbbox.sub; + BBOX.sup = this.CHTMLbbox.sup; + BBOX.presub = this.CHTMLbbox.presub; + BBOX.presup = this.CHTMLbbox.presup; + return; + } + this.CHTMLbbox = BBOX; // save for when stretched + var state = {i:1, w:0, BOX:BOX, BBOX:BBOX}, m = this.data.length; + var sub = "sub", sup = "sup"; + while (state.i < m) { + if ((this.data[state.i]||{}).type === "mprescripts") { + state.i++; state.w = 0; + sub = "presub"; sup = "presup"; + } else { + var sbox = this.CHTMLaddScript(sub,state,node); + var Sbox = this.CHTMLaddScript(sup,state,node); + var w = Math.max((sbox ? sbox.rscale*sbox.w : 0),(Sbox ? Sbox.rscale*Sbox.w : 0)); + this.CHTMLpadScript(sub,w,sbox,state); + this.CHTMLpadScript(sup,w,Sbox,state); + state.w += w; + } + } + if (BBOX.sub) BBOX.sub.clean(); + if (BBOX.sup) BBOX.sup.clean(); + if (BBOX.presub) BBOX.presub.clean(); + if (BBOX.presup) BBOX.presup.clean(); + }, + // + // Add a script to the proper box, creating the box if needed, + // and padding the box to account for any elements. + // Return the bounding box for the script for later use. + // + CHTMLaddScript: function (type,state,node) { + var BOX, BBOX, data = this.data[state.i]; + if (data && data.type !== "none" && data.type !== "mprescripts") { + BOX = state.BOX[type]; + if (!BOX) { + // + // Add the box to the node temporarily so that it is in the DOM + // (so that CHTMLnodeElement() can be used in the toCommonHTML() below). + // See issue #1480. + // + BOX = state.BOX[type] = CHTML.addElement(node,"mjx-"+type); + BBOX = state.BBOX[type] = CHTML.BBOX.empty(); + if (state.w) { + BOX.style.paddingLeft = CHTML.Em(state.w); + BBOX.w = BBOX.r = state.w; BBOX.x = state.w; + } + } + data.toCommonHTML(BOX); + BBOX = data.CHTML; + } + if (data && data.type !== "mprescripts") state.i++; + return BBOX; + }, + // + // Add padding to the script box to make match the width of the + // super- or subscript that is above or below it, and adjust the + // bounding box for the script row. If these are pre-scripts, + // right-justify the scripts, otherwise, left-justify them. + // + CHTMLpadScript: function (type,w,bbox,state) { + if (!bbox) bbox = {w:0, fake:1, rscale:1}; + var BBOX = state.BBOX[type], dx = 0, dw = 0; + if (BBOX) { + if (bbox.rscale*bbox.w < w) { + var BOX = state.BOX[type]; dw = w-bbox.rscale*bbox.w; + var space = CHTML.Element("mjx-spacer",{style:{width:CHTML.Em(dw)}}); + if (type.substr(0,3) === "pre" && !bbox.fake) { + BOX.insertBefore(space,BOX.lastChild); + dx = dw; dw = 0; + } else { + BOX.appendChild(space); + } + } + if (bbox.fake) {BBOX.w += dx} else {BBOX.combine(bbox,BBOX.w+dx,0)} + BBOX.w += dw; + } + }, + // + // Add the boxes into the main node, creating stacks when needed + // + CHTMLaddBoxes: function (node,base,BOX) { + var sub = BOX.sub, sup = BOX.sup, presub = BOX.presub, presup = BOX.presup; + if (presub && presup) { + var prestack = CHTML.Element("mjx-prestack"); node.insertBefore(prestack,base); + prestack.appendChild(presup); prestack.appendChild(presub); + } else { + if (presub) node.insertBefore(presub,base); + if (presup) node.insertBefore(presup,base); + } + if (sub && sup) { + var stack = CHTML.addElement(node,"mjx-stack"); + stack.appendChild(sup); stack.appendChild(sub); + } else { + if (sub) node.appendChild(sub); + if (sup) node.appendChild(sup); + } + }, + // + // Handle positioning the various scripts + // + CHTMLplaceSubOnly: function (sub,sbox,x,v,s) { + sub.style.verticalAlign = CHTML.Em(-v); + sub.style.marginRight = CHTML.Em(s); sbox.w += s; + this.CHTML.combine(sbox,x,-v); + }, + CHTMLplaceSupOnly: function (sup,Sbox,x,delta,u,s) { + sup.style.verticalAlign = CHTML.Em(u); + sup.style.paddingLeft = CHTML.Em(delta); + sup.style.paddingRight = CHTML.Em(s); Sbox.w += s; + this.CHTML.combine(Sbox,x+delta,u); + }, + CHTMLplaceSubSup: function (sub,sbox,sup,Sbox,x,delta,u,v,s) { + sub.style.paddingRight = CHTML.Em(s); sbox.w += s; + sup.style.paddingBottom = CHTML.Em(u+v-Sbox.d-sbox.h); + sup.style.paddingLeft = CHTML.Em(delta+(Sbox.x||0)); + sup.style.paddingRight = CHTML.Em(s); Sbox.w += s; + sup.parentNode.style.verticalAlign = CHTML.Em(-v); + this.CHTML.combine(sbox,x,-v); + this.CHTML.combine(Sbox,x+delta,u); + }, + CHTMLplacePresubOnly: function (presub,pbox,v,s) { + presub.style.verticalAlign = CHTML.Em(-v); + presub.style.marginLeft = CHTML.Em(s); + this.CHTML.combine(pbox,s,-v); + }, + CHTMLplacePresupOnly: function (presup,Pbox,delta,u,s) { + presup.style.verticalAlign = CHTML.Em(u); + presup.style.paddingLeft = CHTML.Em(s); + presup.style.paddingRight = CHTML.Em(-delta); + this.CHTML.combine(Pbox,s,u); + }, + CHTMLplacePresubPresup: function (presub,pbox,presup,Pbox,delta,u,v,s) { + presub.style.paddingLeft = CHTML.Em(s); + presup.style.paddingBottom = CHTML.Em(u+v-Pbox.d-pbox.h); + presup.style.paddingLeft = CHTML.Em(delta+s+(Pbox.x||0)); + presup.style.paddingRight = CHTML.Em(-delta); + presup.parentNode.style.verticalAlign = CHTML.Em(-v); + this.CHTML.combine(pbox,s,-v); + this.CHTML.combine(Pbox,s+delta,u); + }, + // + // Handle stretchy bases + // + CHTMLstretchH: MML.mbase.CHTMLstretchH, + CHTMLstretchV: MML.mbase.CHTMLstretchV + }); + + MathJax.Hub.Startup.signal.Post("CommonHTML mmultiscripts Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/mmultiscripts.js"); +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/ms.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/ms.js new file mode 100644 index 00000000..5cd0e679 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/ms.js @@ -0,0 +1,73 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/ms.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML; + + MML.ms.Augment({ + toCommonHTML: function (node) { + // + // Create the node and handle its styles and scaling + // Get the variant and an empty bounding box + // + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLgetVariant(); + this.CHTMLhandleScale(node); + CHTML.BBOX.empty(this.CHTML); + // + // Get the quotes to use + // + var values = this.getValues("lquote","rquote","mathvariant"); + if (!this.hasValue("lquote") || values.lquote === '"') values.lquote = "\u201C"; + if (!this.hasValue("rquote") || values.rquote === '"') values.rquote = "\u201D"; + if (values.lquote === "\u201C" && values.mathvariant === "monospace") values.lquote = '"'; + if (values.rquote === "\u201D" && values.mathvariant === "monospace") values.rquote = '"'; + // + // Add the left quote, the child nodes, and the right quote + // + var text = values.lquote+this.data.join("")+values.rquote; // FIXME: handle mglyph? + this.CHTMLhandleText(node,text,this.CHTMLvariant); + // + // Finish the bbox, add any needed space and color + // + this.CHTML.clean(); + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + // + // Return the completed node + // + return node; + } + }); + + MathJax.Hub.Startup.signal.Post("CommonHTML ms Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/ms.js"); +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mtable.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mtable.js new file mode 100644 index 00000000..97a0c351 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mtable.js @@ -0,0 +1,602 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/mtable.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CONFIG = MathJax.Hub.config, + CHTML = MathJax.OutputJax.CommonHTML, + SPLIT = MathJax.Hub.SplitList; + + var LABEL = -1, + BIGDIMEN = 1000000; + + MML.mtable.Augment({ + toCommonHTML: function (node) { + // + // Create the table nodes and put them in a table + // (so that its bottom is on the baseline, rather than aligned on the top row) + // + var state = {rows:[], labels:[], labeled: false}; + node = this.CHTMLdefaultNode(node,{noBBox:true, childOptions:state}); + var table = CHTML.Element("mjx-table"); + while (node.firstChild) table.appendChild(node.firstChild); + node.appendChild(table); + // + // Get the table attributes + // + var values = this.getValues("columnalign","rowalign","columnspacing","rowspacing", + "columnwidth","equalcolumns","equalrows", + "columnlines","rowlines","frame","framespacing", + "align","width","side","minlabelspacing","useHeight"); + var t = CHTML.TEX.min_rule_thickness/CHTML.em; + state.t = CHTML.Px(t*this.CHTML.scale,1); + // + // Create the table + // + this.CHTMLgetBoxSizes(values,state); + this.CHTMLgetAttributes(values,state); + this.CHTMLadjustCells(values,state); + if (values.frame) table.style.border = state.t+" "+values.frame; + this.CHTMLalignV(values,state,node); + this.CHTMLcolumnWidths(values,state,node); + this.CHTMLstretchCells(values,state); + if (state.labeled) this.CHTMLaddLabels(values,state,node,table); + // + // Set the bounding box (ignores overlapping outside of the table) + // + var BBOX = this.CHTML; + BBOX.w = BBOX.r = state.R; + BBOX.h = BBOX.t = state.T-state.B; + BBOX.d = BBOX.b = state.B; + if (!values.frame && !BBOX.pwidth) { + node.style.padding = "0 "+CHTML.Em(1/6); + BBOX.L = BBOX.R = 1/6; + } + // + // Add any needed space and color + // + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + // + // Return the completed node + // + return node; + }, + // + // Get the natural height, depth, and widths of the rows and columns + // + CHTMLgetBoxSizes: function (values,state) { + var LH = CHTML.FONTDATA.lineH * values.useHeight, + LD = CHTML.FONTDATA.lineD * values.useHeight; + var H = [], D = [], W = [], J = -1, i, m; + for (i = 0, m = this.data.length; i < m; i++) { + var row = this.data[i], s = (row.type === "mtr" ? 0 : LABEL); + H[i] = LH; D[i] = LD; + for (var j = s, M = row.data.length + s; j < M; j++) { + if (W[j] == null) {W[j] = -BIGDIMEN; if (j > J) J = j} + var cbox = row.data[j-s].CHTML; + if (cbox.h > H[i]) H[i] = cbox.h; + if (cbox.d > D[i]) D[i] = cbox.d; + if (cbox.w > W[j]) W[j] = cbox.w; + } + } + if (values.equalrows) { + state.HD = true; + var HH = Math.max.apply(Math,H); + var DD = Math.max.apply(Math,D); + for (i = 0, m = H.length; i < m; i++) {H[i] = HH; D[i] = DD} + } + state.H = H; state.D = D; state.W = W, state.J = J; + }, + // + // Pad the spacing and alignment attributes to match the size of the table + // + CHTMLgetAttributes: function (values,state) { + var CSPACE = SPLIT(values.columnspacing), + RSPACE = SPLIT(values.rowspacing), + CALIGN = SPLIT(values.columnalign), + RALIGN = SPLIT(values.rowalign), + CLINES = SPLIT(values.columnlines), + RLINES = SPLIT(values.rowlines), + CWIDTH = SPLIT(values.columnwidth), + RCALIGN = [], i, m, J = state.J, M = state.rows.length-1; + for (i = 0, m = CSPACE.length; i < m; i++) CSPACE[i] = this.CHTMLlength2em(CSPACE[i]); + for (i = 0, m = RSPACE.length; i < m; i++) RSPACE[i] = this.CHTMLlength2em(RSPACE[i]); + while (CSPACE.length < J) CSPACE.push(CSPACE[CSPACE.length-1]); + while (CALIGN.length <= J) CALIGN.push(CALIGN[CALIGN.length-1]); + while (CLINES.length < J) CLINES.push(CLINES[CLINES.length-1]); + while (CWIDTH.length <= J) CWIDTH.push(CWIDTH[CWIDTH.length-1]); + while (RSPACE.length < M) RSPACE.push(RSPACE[RSPACE.length-1]); + while (RALIGN.length <= M) RALIGN.push(RALIGN[RALIGN.length-1]); + while (RLINES.length < M) RLINES.push(RLINES[RLINES.length-1]); + CALIGN[LABEL] = (values.side.substr(0,1) === "l" ? "left" : "right"); + // + // Override aligment data based on row-specific attributes + // + for (i = 0; i <= M; i++) { + var row = this.data[i]; RCALIGN[i] = []; + if (row.rowalign) RALIGN[i] = row.rowalign; + if (row.columnalign) { + RCALIGN[i] = SPLIT(row.columnalign); + while (RCALIGN[i].length <= J) RCALIGN[i].push(RCALIGN[i][RCALIGN[i].length-1]); + } + } + // + // Handle framespacing + // + var FSPACE = SPLIT(values.framespacing); + if (FSPACE.length != 2) FSPACE = SPLIT(this.defaults.framespacing); + FSPACE[0] = Math.max(0,this.CHTMLlength2em(FSPACE[0])); + FSPACE[1] = Math.max(0,this.CHTMLlength2em(FSPACE[1])); + if (values.columnlines.replace(/none/g,"").replace(/ /g,"") !== "" || + values.rowlines.replace(/none/g,"").replace(/ /g,"") !== "") values.fspace = true; + // + // Pad arrays so that final column can be treated as all the others + // + if (values.frame === MML.LINES.NONE) delete values.frame; else values.fspace = true; + if (values.frame) { + FSPACE[0] = Math.max(0,FSPACE[0]); + FSPACE[1] = Math.max(0,FSPACE[1]); + } + if (values.fspace) { + CSPACE[J] = FSPACE[0]; RSPACE[M] = FSPACE[1]; + } else { + CSPACE[J] = RSPACE[M] = 0; + } + CLINES[J] = RLINES[M] = MML.LINES.NONE; + // + // Save everything in the state + // + state.CSPACE = CSPACE; state.RSPACE = RSPACE; + state.CALIGN = CALIGN; state.RALIGN = RALIGN; + state.CLINES = CLINES; state.RLINES = RLINES; + state.CWIDTH = CWIDTH; state.RCALIGN = RCALIGN; + state.FSPACE = FSPACE; + }, + // + // Add styles to cells to handle borders, spacing, alignment, etc. + // + CHTMLadjustCells: function(values,state) { + var ROWS = state.rows, + CSPACE = state.CSPACE, CLINES = state.CLINES, + RSPACE = state.RSPACE, RLINES = state.RLINES, + CALIGN = state.CALIGN, RALIGN = state.RALIGN, + RCALIGN = state.RCALIGN; + CSPACE[state.J] *= 2; RSPACE[ROWS.length-1] *= 2; // since halved below + var T = "0", B, R, L, border, cbox, align, lastB = 0; + if (values.fspace) { + lastB = state.FSPACE[1]; + T = CHTML.Em(state.FSPACE[1]); + } + state.RHD = []; state.RH = []; + for (var i = 0, m = ROWS.length; i < m; i++) { + var row = ROWS[i], rdata = this.data[i]; + // + // Space and borders between rows + // + B = RSPACE[i]/2; border = null; L = "0"; + if (RLINES[i] !== MML.LINES.NONE && RLINES[i] !== "") border = state.t+" "+RLINES[i]; + if (border || (CLINES[j] !== MML.LINES.NONE && CLINES[j] !== "")) { + while (row.length <= state.J) { + row.push(CHTML.addElement(row.node,"mjx-mtd",null,[['span']])); + } + } + state.RH[i] = lastB + state.H[i]; // distance to baseline in row + lastB = Math.max(0,B); + state.RHD[i] = state.RH[i] + lastB + state.D[i]; // total height of row + B = CHTML.Em(lastB); + // + // Frame space for initial cell + // + if (values.fspace) L = CHTML.Em(state.FSPACE[0]); + // + // The cells in the row + // + for (var j = 0, M = row.length; j < M; j++) { + var s = (rdata.type === "mtr" ? 0 : LABEL); + var mtd = rdata.data[j-s] || {CHTML: CHTML.BBOX.zero()}; + var cell = row[j].style; cbox = mtd.CHTML; + // + // Space and borders between columns + // + R = CSPACE[j]/2; + if (CLINES[j] !== MML.LINES.NONE) { + cell.borderRight = state.t+" "+CLINES[j]; + R -= 1/CHTML.em/2; + } + R = CHTML.Em(Math.max(0,R)); + cell.padding = T+" "+R+" 0px "+L; + if (border) cell.borderBottom = border; + L = R; + // + // Handle vertical alignment + // + align = (mtd.rowalign||(this.data[i]||{}).rowalign||RALIGN[i]); + var H = Math.max(1,cbox.h), D = Math.max(.2,cbox.d), + HD = (state.H[i]+state.D[i]) - (H+D), + child = row[j].firstChild.style; + if (align === MML.ALIGN.TOP) { + if (HD) child.marginBottom = CHTML.Em(HD); + cell.verticalAlign = "top"; + } else if (align === MML.ALIGN.BOTTOM) { + cell.verticalAlign = "bottom"; + if (HD) child.marginTop = CHTML.Em(HD); + } else if (align === MML.ALIGN.CENTER) { + if (HD) child.marginTop = child.marginBottom = CHTML.Em(HD/2); + cell.verticalAlign = "middle"; + } else { + if (H !== state.H[i]) child.marginTop = CHTML.Em(state.H[i]-H); + } + // + // Handle horizontal alignment + // + align = (mtd.columnalign||RCALIGN[i][j]||CALIGN[j]); + if (align !== MML.ALIGN.CENTER) cell.textAlign = align; + } + row.node.style.height = CHTML.Em(state.RHD[i]); + T = B; + } + CSPACE[state.J] /= 2; RSPACE[ROWS.length-1] /= 2; // back to normal + }, + // + // Align the table vertically according to the align attribute + // + CHTMLalignV: function (values,state,node) { + var n, M = state.rows.length, H = state.H, D = state.D, RSPACE = state.RSPACE; + // + // Get alignment type and row number + // + if (typeof(values.align) !== "string") values.align = String(values.align); + if (values.align.match(/(top|bottom|center|baseline|axis)( +(-?\d+))?/)) { + n = parseInt(RegExp.$3||"0"); + values.align = RegExp.$1 + if (n < 0) n += state.rows.length + 1; + if (n > M || n <= 0) n = null; + } else { + values.align = this.defaults.align; + } + // + // Get table height and baseline offset + // + var T = 0, B = 0, a = CHTML.TEX.axis_height; + if (values.fspace) T += state.FSPACE[1]; + if (values.frame) {T += 2/CHTML.em; B += 1/CHTML.em} + for (var i = 0; i < M; i++) { + var h = H[i], d = D[i]; + T += h + d + RSPACE[i]; + if (n) { + if (i === n-1) { + B += ({top:h+d, bottom:0, center:(h+d)/2, + baseline:d, axis:a+d})[values.align] + RSPACE[i]; + } + if (i >= n) B += h + d + RSPACE[i]; + } + } + if (!n) B = ({top:T, bottom:0, center:T/2, baseline:T/2, axis:T/2-a})[values.align]; + // + // Place the node and save the values + // + if (B) node.style.verticalAlign = CHTML.Em(-B); + state.T = T; state.B = B; + }, + // + // Determine column widths and set the styles for the columns + // + CHTMLcolumnWidths: function (values,state,node) { + var CWIDTH = state.CWIDTH, CSPACE = state.CSPACE, J = state.J, j; + var WW = 0, setWidths = false, relWidth = values.width.match(/%$/); + var i, m, w; + // + // Handle equal columns by adjusting the CWIDTH array + // + if (values.width !== "auto" && !relWidth) { + WW = Math.max(0,this.CHTMLlength2em(values.width,state.R)); + setWidths = true; + } + if (values.equalcolumns) { + if (relWidth) { + // + // Use percent of total (not perfect, but best we can do) + // + var p = CHTML.Percent(1/(J+1)); + for (j = 0; j <= J; j++) CWIDTH[j] = p; + } else { + // + // For width = auto, make all widths equal the widest, + // otherwise, for specific width, remove intercolumn space + // and divide by number of columns to get widest space. + // + w = Math.max.apply(Math,state.W); + if (values.width !== "auto") { + var S = (values.fspace ? state.FSPACE[0] + (values.frame ? 2/CHTML.em : 0) : 0); + for (j = 0; j <= J; j++) S += CSPACE[j]; + w = Math.max((WW-S)/(J+1),w); + } + w = CHTML.Em(w); + for (j = 0; j <= J; j++) CWIDTH[j] = w; + } + setWidths = true; + } + // + // Compute natural table width + // + var TW = 0; if (values.fspace) TW = state.FSPACE[0]; + var auto = [], fit = [], percent = [], W = []; + var row = state.rows[0]; + for (j = 0; j <= J; j++) { + W[j] = state.W[j]; + if (CWIDTH[j] === "auto") auto.push(j) + else if (CWIDTH[j] === "fit") fit.push(j) + else if (CWIDTH[j].match(/%$/)) percent.push(j) + else W[j] = this.CHTMLlength2em(CWIDTH[j],W[j]); + TW += W[j] + CSPACE[j]; + if (row[j]) row[j].style.width = CHTML.Em(W[j]); + } + if (values.frame) TW += 2/CHTML.em; + var hasFit = (fit.length > 0); + // + // Adjust widths of columns + // + if (setWidths) { + if (relWidth) { + // + // Attach appropriate widths to the columns + // + for (j = 0; j <= J; j++) { + cell = row[j].style; + if (CWIDTH[j] === "auto" && !hasFit) cell.width = ""; + else if (CWIDTH[j] === "fit") cell.width = ""; + else if (CWIDTH[j].match(/%$/)) cell.width = CWIDTH[j]; + else cell.minWidth = cell.maxWidth = cell.width; + } + } else { + // + // Compute percentage widths + // + if (WW > TW) { + var extra = 0; + for (i = 0, m = percent.length; i < m; i++) { + j = percent[i]; + w = Math.max(W[j],this.CHTMLlength2em(CWIDTH[j],WW)); + extra += w-W[j]; W[j] = w; + row[j].style.width = CHTML.Em(w); + } + TW += extra; + } + // + // Compute "fit" widths + // + if (!hasFit) fit = auto; + if (WW > TW && fit.length) { + var dw = (WW - TW) / fit.length; + for (i = 0, m = fit.length; i < m; i++) { + j = fit[i]; W[j] += dw; + row[j].style.width = CHTML.Em(W[j]); + } + TW = WW; + } + } + } + W[LABEL] = state.W[LABEL]; + state.W = W; + state.R = TW; + // + // Set variable width on DOM nodes + // + if (relWidth) { + node.style.width = this.CHTML.pwidth = "100%"; + this.CHTML.mwidth = CHTML.Em(TW); + node.firstChild.style.width = values.width; + node.firstChild.style.margin = "auto"; + } + }, + // + // Stretch any cells that can be stretched + // + CHTMLstretchCells: function (values,state) { + var ROWS = state.rows, H = state.H, D = state.D, W = state.W, + J = state.J, M = ROWS.length-1; + for (var i = 0; i <= M; i++) { + var row = ROWS[i], rdata = this.data[i]; + var h = H[i], d = D[i]; + for (var j = 0; j <= J; j++) { + var cell = row[j], cdata = rdata.data[j]; + if (!cdata) continue; + if (cdata.CHTML.stretch === "V") cdata.CHTMLstretchV(h,d); + else if (cdata.CHTML.stretch === "H") cdata.CHTMLstretchH(cell,W[j]); + } + } + }, + // + // Add labels to a table + // + CHTMLaddLabels: function (values,state,node,table) { + // + // Get indentation and alignment + // + var indent = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); + if (indent.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) indent.indentalign = indent.indentalignfirst; + if (indent.indentalign === MML.INDENTALIGN.AUTO) indent.indentalign = CONFIG.displayAlign; + if (indent.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) indent.indentshift = indent.indentshiftfirst; + if (indent.indentshift === "auto") indent.indentshift = "0"; + var shift = this.CHTMLlength2em(indent.indentshift,CHTML.cwidth); + var labelspace = this.CHTMLlength2em(values.minlabelspacing,.8); + var labelW = labelspace + state.W[LABEL], labelshift = 0, tw = state.R; + var dIndent = this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth); + var s = (state.CALIGN[LABEL] === MML.INDENTALIGN.RIGHT ? -1 : 1); + if (indent.indentalign === MML.INDENTALIGN.CENTER) { + tw += 2 * (labelW - s*(shift + dIndent)); + shift += dIndent; + } else if (state.CALIGN[LABEL] === indent.indentalign) { + if (dIndent < 0) {labelshift = s*dIndent; dIndent = 0} + shift += s*dIndent; if (labelW > s*shift) shift = s*labelW; shift += labelshift; + shift *= s; tw += shift; + } else { + tw += labelW - s*shift + dIndent; + shift -= s*dIndent; shift *= -s; + } + // + // Create boxes for table and labels + // + var box = CHTML.addElement(node,"mjx-box",{ + style:{width:"100%","text-align":indent.indentalign} + }); box.appendChild(table); + var labels = CHTML.Element("mjx-itable"); + table.style.display = "inline-table"; if (!table.style.width) table.style.width = "auto"; + labels.style.verticalAlign = "top"; + table.style.verticalAlign = CHTML.Em(state.T-state.B-state.H[0]); + node.style.verticalAlign = ""; + if (shift) { + if (indent.indentalign === MML.INDENTALIGN.CENTER) { + table.style.marginLeft = CHTML.Em(shift); + table.style.marginRight = CHTML.Em(-shift); + } else { + var margin = "margin" + (indent.indentalign === MML.INDENTALIGN.RIGHT ? "Right" : "Left"); + table.style[margin] = CHTML.Em(shift); + } + } + // + // Add labels on correct side + // + if (state.CALIGN[LABEL] === "left") { + node.insertBefore(labels,box); + labels.style.marginRight = CHTML.Em(-state.W[LABEL]-labelshift); + if (labelshift) labels.style.marginLeft = CHTML.Em(labelshift); + } else { + node.appendChild(labels); + labels.style.marginLeft = CHTML.Em(-state.W[LABEL]+labelshift); + } + // + // Vertically align the labels with their rows + // + var LABELS = state.labels, T = 0; + if (values.fspace) T = state.FSPACE[0] + (values.frame ? 1/CHTML.em : 0); + for (var i = 0, m = LABELS.length; i < m; i++) { + if (LABELS[i] && this.data[i].data[0]) { + labels.appendChild(LABELS[i]); + var lbox = this.data[i].data[0].CHTML; + T = state.RH[i] - Math.max(1,lbox.h); + if (T) LABELS[i].firstChild.firstChild.style.marginTop = CHTML.Em(T); + LABELS[i].style.height = CHTML.Em(state.RHD[i]); + } else { + CHTML.addElement(labels,"mjx-label",{style:{height:CHTML.Em(state.RHD[i])}}); + } + } + // + // Propagate full-width equations, and reserve room for equation plus label + // + node.style.width = this.CHTML.pwidth = "100%"; + node.style.minWidth = this.CHTML.mwidth = CHTML.Em(Math.max(0,tw)); + } + }); + + MML.mtr.Augment({ + toCommonHTML: function (node,options) { + // + // Create the row node + // + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + // + // Add a new row with no label + // + if (!options) options = {rows:[],labels:[]}; + var row = []; options.rows.push(row); row.node = node; + options.labels.push(null); + // + // Add the cells to the row + // + for (var i = 0, m = this.data.length; i < m; i++) + row.push(this.CHTMLaddChild(node,i,options)); + // + this.CHTMLhandleColor(node); + return node; + } + }); + MML.mlabeledtr.Augment({ + toCommonHTML: function (node,options) { + // + // Create the row node + // + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + // + // Add a new row, and get the label + // + if (!options) options = {rows:[],labels:[]}; + var row = []; options.rows.push(row); row.node = node; + var label = CHTML.Element("mjx-label"); options.labels.push(label); + this.CHTMLaddChild(label,0,options); + if (this.data[0]) options.labeled = true; + // + // Add the cells to the row + // + for (var i = 1, m = this.data.length; i < m; i++) + row.push(this.CHTMLaddChild(node,i,options)); + // + this.CHTMLhandleColor(node); + return node; + } + }); + MML.mtd.Augment({ + toCommonHTML: function (node,options) { + node = this.CHTMLdefaultNode(node,options); + CHTML.addElement(node.firstChild,"mjx-strut"); // forces height to 1em (we adjust later) + // + // Determine if this is stretchy or not + // + if (this.isEmbellished()) { + var mo = this.CoreMO(), BBOX = this.CHTML; + if (mo.CHTMLcanStretch("Vertical")) BBOX.stretch = "V"; + else if (mo.CHTMLcanStretch("Horizontal")) BBOX.stretch = "H"; + if (BBOX.stretch) { + var min = mo.Get("minsize",true); + if (min) { + if (BBOX.stretch === "V") { + var HD = BBOX.h + BBOX.d; + if (HD) { + var r = this.CHTMLlength2em(min,HD)/HD; + if (r > 1) {BBOX.h *= r; BBOX.d *= r} + } + } else { + BBOX.w = Math.max(BBOX.w,this.CHTMLlength2em(min,BBOX.w)); + } + } + } + } + return node; + } + }); + + + MathJax.Hub.Startup.signal.Post("CommonHTML mtable Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/mtable.js"); +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/multiline.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/multiline.js new file mode 100644 index 00000000..b199e0f7 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/multiline.js @@ -0,0 +1,793 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/multiline.js + * + * Implements the CommonHTML output for 's that contain line breaks. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CONFIG = MathJax.Hub.config, + CHTML = MathJax.OutputJax.CommonHTML; + // + // Fake node used for testing end-of-line potential breakpoint + // + var MO = MML.mo().With({CHTML: CHTML.BBOX.empty()}); + + // + // Penalties for the various line breaks + // + var PENALTY = { + newline: 0, + nobreak: 1000000, + goodbreak: [-200], + badbreak: [+200], + auto: [0], + + maxwidth: 1.33, // stop looking for breaks after this time the line-break width + toobig: 800, + nestfactor: 400, + spacefactor: -100, + spaceoffset: 2, + spacelimit: 1, // spaces larger than this get a penalty boost + fence: 500, + close: 500 + }; + + var ENDVALUES = {linebreakstyle: "after"}; + + + /**************************************************************************/ + + MML.mbase.Augment({ + CHTMLlinebreakPenalty: PENALTY, + + /****************************************************************/ + // + // Handle breaking an mrow into separate lines + // + CHTMLmultiline: function (node) { + + // + // Find the parent element and mark it as multiline + // + var parent = this; + while (parent.inferred || (parent.parent && parent.parent.type === "mrow" && + parent.parent.isEmbellished())) {parent = parent.parent} + var isTop = ((parent.type === "math" && parent.Get("display") === "block") || + parent.type === "mtd"); + parent.isMultiline = true; + + // + // Default values for the line-breaking parameters + // + var VALUES = this.getValues( + "linebreak","linebreakstyle","lineleading","linebreakmultchar", + "indentalign","indentshift", + "indentalignfirst","indentshiftfirst", + "indentalignlast","indentshiftlast" + ); + if (VALUES.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) + VALUES.linebreakstyle = this.Get("infixlinebreakstyle"); + VALUES.lineleading = this.CHTMLlength2em(VALUES.lineleading,0.5); + + // + // Break the math at its best line breaks + // + CHTML.BBOX.empty(this.CHTML); + var stack = CHTML.addElement(node,"mjx-stack"); + var state = { + BBOX: this.CHTML, + n: 0, Y: 0, + scale: (this.CHTML.scale||1), + isTop: isTop, + values: {}, + VALUES: VALUES + }, + align = this.CHTMLgetAlign(state,{}), + shift = this.CHTMLgetShift(state,{},align), + start = [], + end = { + index:[], penalty:PENALTY.nobreak, + w:0, W:shift, shift:shift, scanW:shift, + nest: 0 + }, + broken = false; + + while (this.CHTMLbetterBreak(end,state,true) && + (end.scanW >= CHTML.linebreakWidth || end.penalty === PENALTY.newline)) { + this.CHTMLaddLine(stack,start,end.index,state,end.values,broken); + start = end.index.slice(0); broken = true; + align = this.CHTMLgetAlign(state,end.values); + shift = this.CHTMLgetShift(state,end.values,align); + end.W = end.shift = end.scanW = shift; end.penalty = PENALTY.nobreak; + } + state.isLast = true; + this.CHTMLaddLine(stack,start,[],state,ENDVALUES,broken); + + node.style.width = stack.style.width = this.CHTML.pwidth = "100%"; + this.CHTML.mwidth = CHTML.Em(this.CHTML.w); + this.CHTML.isMultiline = parent.CHTML.isMultiline = true; + stack.style.verticalAlign = CHTML.Em(state.d - this.CHTML.d); + + return node; + }, + + /****************************************************************/ + // + // Locate the next linebreak that is better than the current one + // + CHTMLbetterBreak: function (info,state,toplevel) { + if (this.isToken) return false; // FIXME: handle breaking of token elements + if (this.isEmbellished()) { + info.embellished = this; + return this.CoreMO().CHTMLbetterBreak(info,state); + } + if (this.linebreakContainer) return false; + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; + if (i == null) i = -1; if (!broken) {i++; info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; info.nest++; + // + // Look through the line for breakpoints, + // (as long as we are not too far past the breaking width) + // + while (i < m && (info.scanW < PENALTY.maxwidth*CHTML.linebreakWidth || info.w === 0)) { + if (this.data[i]) { + if (this.data[i].CHTMLbetterBreak(info,state)) { + better = true; index = [i].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) { + info.index = index; + if (info.nest) {info.nest--} + return true; + } + } + scanW = (broken ? info.scanW : this.CHTMLaddWidth(i,info,scanW)); + } + info.index = []; i++; broken = false; + } + // + // Check if end-of-line is a better breakpoint + // + if (toplevel && better) { + MO.parent = this.parent; MO.inherit = this.inherit; + if (MO.CHTMLbetterBreak(info,state)) {better = false; index = info.index} + } + if (info.nest) {info.nest--} + info.index = index; + if (better) {info.W = W; info.w = w} + return better; + }, + CHTMLaddWidth: function (i,info,scanW) { + if (this.data[i]) { + var bbox = this.data[i].CHTML; + scanW += (bbox.w + (bbox.L||0) + (bbox.R||0)) * (bbox.scale || 1); + info.W = info.scanW = scanW; info.w = 0; + } + return scanW; + }, + + /****************************************************************/ + // + // Create a new line and move the required elements into it + // Position it using proper alignment and indenting + // + CHTMLaddLine: function (stack,start,end,state,values,broken) { + // + // Create a box for the line, with empty BBox + // fill it with the proper elements, + // and clean up the bbox + // + var block = CHTML.addElement(stack,"mjx-block",{},[["mjx-box"]]), line = block.firstChild; + var bbox = state.bbox = CHTML.BBOX.empty(); + state.first = broken; state.last = true; + this.CHTMLmoveLine(start,end,line,state,values); + bbox.clean(); + // + // Get the alignment and shift values + // + var align = this.CHTMLgetAlign(state,values), + shift = this.CHTMLgetShift(state,values,align,true); + // + // Set the Y offset based on previous depth, leading, and current height + // + var dY = 0; + if (state.n > 0) { + var LHD = CHTML.FONTDATA.baselineskip; + var leading = (state.values.lineleading == null ? state.VALUES : state.values).lineleading * state.scale; + var Y = state.Y; + state.Y -= Math.max(LHD,state.d + bbox.h + leading); + dY = Y - state.Y - state.d - bbox.h; + } + // + // Place the new line + // + if (shift) line.style.margin = "0 "+CHTML.Em(-shift)+" 0 "+CHTML.Em(shift); + if (align !== MML.INDENTALIGN.LEFT) block.style.textAlign = align; + if (dY) block.style.paddingTop = CHTML.Em(dY); + state.BBOX.combine(bbox,shift,state.Y); + // + // Save the values needed for the future + // + state.d = state.bbox.d; state.values = values; state.n++; + }, + + /****************************************************************/ + // + // Get alignment and shift values from the given data + // + CHTMLgetAlign: function (state,values) { + var cur = values, prev = state.values, def = state.VALUES, align; + if (state.n === 0) align = cur.indentalignfirst || prev.indentalignfirst || def.indentalignfirst; + else if (state.isLast) align = prev.indentalignlast || def.indentalignlast; + else align = prev.indentalign || def.indentalign; + if (align === MML.INDENTALIGN.INDENTALIGN) align = prev.indentalign || def.indentalign; + if (align === MML.INDENTALIGN.AUTO) align = (state.isTop ? CONFIG.displayAlign : MML.INDENTALIGN.LEFT); + return align; + }, + CHTMLgetShift: function (state,values,align,noadjust) { + var cur = values, prev = state.values, def = state.VALUES, shift; + if (state.n === 0) shift = cur.indentshiftfirst || prev.indentshiftfirst || def.indentshiftfirst; + else if (state.isLast) shift = prev.indentshiftlast || def.indentshiftlast; + else shift = prev.indentshift || def.indentshift; + if (shift === MML.INDENTSHIFT.INDENTSHIFT) shift = prev.indentshift || def.indentshift; + if (shift === "auto" || shift === "") shift = "0"; + shift = this.CHTMLlength2em(shift,CHTML.cwidth); + if (state.isTop && CONFIG.displayIndent !== "0") { + var indent = this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth); + shift += (align === MML.INDENTALIGN.RIGHT ? -indent : indent); + } + return (align === MML.INDENTALIGN.RIGHT && !noadjust ? -shift : shift); + }, + + /****************************************************************/ + // + // Move the selected elements into the new line's box, + // moving whole items when possible, and parts of ones + // that are split by a line break. + // + CHTMLmoveLine: function (start,end,node,state,values) { + var i = start[0], j = end[0]; + if (i == null) i = -1; if (j == null) j = this.data.length-1; + if (i === j && start.length > 1) { + // + // If starting and ending in the same element move the subpiece to the new line + // + this.data[i].CHTMLmoveSlice(start.slice(1),end.slice(1),node,state,values,"marginLeft"); + } else { + // + // Otherwise, move the remainder of the initial item + // and any others up to the last one + // + var last = state.last; state.last = false; + while (i < j) { + if (this.data[i]) { + if (start.length <= 1) this.data[i].CHTMLmoveNode(node,state,values); + else this.data[i].CHTMLmoveSlice(start.slice(1),[],node,state,values,"marginLeft"); + } + i++; state.first = false; start = []; + } + // + // If the last item is complete, move it, + // otherwise move the first part of it up to the split + // + state.last = last; + if (this.data[i]) { + if (end.length <= 1) this.data[i].CHTMLmoveNode(node,state,values); + else this.data[i].CHTMLmoveSlice([],end.slice(1),node,state,values,"marginRight"); + } + } + }, + + /****************************************************************/ + // + // Split an element and copy the selected items into the new part + // + CHTMLmoveSlice: function (start,end,node,state,values,margin) { + // + // Create a new box for the slice of the element + // Move the selected portion into the slice + // If it is the last slice + // Remove the original (now empty) node + // Rename the Continue-0 node with the original name (for CHTMLnodeElement) + // + var slice = this.CHTMLcreateSliceNode(node); + this.CHTMLmoveLine(start,end,slice,state,values); + if (slice.style[margin]) slice.style[margin] = ""; + if (this.CHTML.L) { + if (margin !== "marginLeft") state.bbox.w += this.CHTML.L; + else slice.className = slice.className.replace(/ MJXc-space\d/,""); + } + if (this.CHTML.R && margin !== "marginRight") state.bbox.w += this.CHTML.R; + if (end.length === 0) { + node = this.CHTMLnodeElement(); + if (this.href) node = node.parentNode; + node.parentNode.removeChild(node); + node.nextMathJaxNode.id = node.id; + } + return slice; + }, + + /****************************************************************/ + // + // Create a new node for an element that is split in two + // Clone the original and update its ID. + // Link the old node to the new one so we can find it later + // + CHTMLcreateSliceNode: function (node) { + var NODE = this.CHTMLnodeElement(), n = 0; + if (this.href) NODE = NODE.parentNode; + var LAST = NODE; while (LAST.nextMathJaxNode) {LAST = LAST.nextMathJaxNode; n++} + var SLICE = NODE.cloneNode(false); LAST.nextMathJaxNode = SLICE; SLICE.nextMathJaxNode = null; + SLICE.id += "-MJX-Continue-"+n; + return node.appendChild(SLICE); + }, + + /****************************************************************/ + // + // Move an element from its original node to its new location in + // a split element or the new line's node + // + CHTMLmoveNode: function (line,state,values) { + // FIXME: handle linebreakstyle === "duplicate" + // FIXME: handle linebreakmultchar + if (!(state.first || state.last) || + (state.first && state.values.linebreakstyle === MML.LINEBREAKSTYLE.BEFORE) || + (state.last && values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER)) { + // + // Move node + // + var node = this.CHTMLnodeElement(); + if (this.href) node = node.parentNode; + line.appendChild(node); + if (this.CHTML.pwidth && !line.style.width) line.style.width = this.CHTML.pwidth; + // + // If it is last, remove right margin + // If it is first, remove left margin + // + if (state.last) node.style.marginRight = ""; + if (state.first || state.nextIsFirst) { + node.style.marginLeft = ""; this.CHTML.L = 0; + node.className = node.className.replace(/ MJXc-space\d/,""); + } + if (state.first && this.CHTML.w === 0) state.nextIsFirst = true; + else delete state.nextIsFirst; + // + // Update bounding box + // + state.bbox.combine(this.CHTML,state.bbox.w,0); + } + } + }); + + /**************************************************************************/ + + MML.mfenced.Augment({ + CHTMLbetterBreak: function (info,state) { + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; + if (i == null) i = -1; if (!broken) {i++; info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; info.nest++; + // + // Create indices that include the delimiters and separators + // + if (!this.dataI) { + this.dataI = []; + if (this.data.open) this.dataI.push("open"); + if (m) this.dataI.push(0); + for (var j = 1; j < m; j++) { + if (this.data["sep"+j]) this.dataI.push("sep"+j); + this.dataI.push(j); + } + if (this.data.close) this.dataI.push("close"); + } + m = this.dataI.length; + // + // Look through the line for breakpoints, including the open, close, and separators + // (as long as we are not too far past the breaking width) + // + while (i < m && (info.scanW < PENALTY.maxwidth*CHTML.linebreakWidth || info.w === 0)) { + var k = this.dataI[i]; + if (this.data[k]) { + if (this.data[k].CHTMLbetterBreak(info,state)) { + better = true; index = [i].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) { + info.index = index; + if (info.nest) info.nest--; + return true; + } + } + scanW = (broken ? info.scanW : this.CHTMLaddWidth(i,info,scanW)); + } + info.index = []; i++; broken = false; + } + if (info.nest) info.nest--; + info.index = index; + if (better) {info.W = W; info.w = w} + return better; + }, + + CHTMLmoveLine: function (start,end,node,state,values) { + var i = start[0], j = end[0]; + if (i == null) i = -1; if (j == null) j = this.dataI.length-1; + if (i === j && start.length > 1) { + // + // If starting and ending in the same element move the subpiece to the new line + // + this.data[this.dataI[i]].CHTMLmoveSlice(start.slice(1),end.slice(1),node,state,values,"marginLeft"); + } else { + // + // Otherwise, move the remainder of the initial item + // and any others (including open and separators) up to the last one + // + var last = state.last; state.last = false; var k = this.dataI[i]; + while (i < j) { + if (this.data[k]) { + if (start.length <= 1) this.data[k].CHTMLmoveNode(node,state,values); + else this.data[k].CHTMLmoveSlice(start.slice(1),[],node,state,values,"marginLeft"); + } + i++; k = this.dataI[i]; state.first = false; start = []; + } + // + // If the last item is complete, move it + // + state.last = last; + if (this.data[k]) { + if (end.length <= 1) this.data[k].CHTMLmoveNode(node,state,values); + else this.data[k].CHTMLmoveSlice([],end.slice(1),node,state,values,"marginRight"); + } + } + } + + }); + + /**************************************************************************/ + + MML.msubsup.Augment({ + CHTMLbetterBreak: function (info,state) { + if (!this.data[this.base]) {return false} + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + W, w, scanW, broken = (info.index.length > 0), better = false; + if (!broken) {info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; + // + // Record the width of the base and the super- and subscripts + // + if (i == null) { + this.CHTML.baseW = this.data[this.base].CHTML.w; + this.CHTML.dw = this.CHTML.w - this.CHTML.baseW; + } + // + // Check if the base can be broken + // + if (this.data[this.base].CHTMLbetterBreak(info,state)) { + better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) better = broken = true; + } + // + // Add in the base if it is unbroken, and add the scripts + // + if (!broken) this.CHTMLaddWidth(this.base,info,scanW); + info.scanW += this.CHTML.dw; info.W = info.scanW; + info.index = []; if (better) {info.W = W; info.w = w; info.index = index} + return better; + }, + + CHTMLmoveLine: function (start,end,node,state,values) { + // + // Move the proper part of the base + // + if (this.data[this.base]) { + var base = CHTML.addElement(node,"mjx-base"); + if (start.length > 1) { + this.data[this.base].CHTMLmoveSlice(start.slice(1),end.slice(1),base,state,values,"marginLeft"); + } else { + if (end.length <= 1) this.data[this.base].CHTMLmoveNode(base,state,values); + else this.data[this.base].CHTMLmoveSlice([],end.slice(1),base,state,values,"marginRight"); + } + } + // + // If this is the end, check for super and subscripts, and move those + // by moving the elements that contains them. Adjust the bounding box + // to include the super and subscripts. + // + if (end.length === 0) { + var NODE = this.CHTMLnodeElement(), + stack = CHTML.getNode(NODE,"mjx-stack"), + sup = CHTML.getNode(NODE,"mjx-sup"), + sub = CHTML.getNode(NODE,"mjx-sub"); + if (stack) node.appendChild(stack); + else if (sup) node.appendChild(sup); + else if (sub) node.appendChild(sub); + var w = state.bbox.w, bbox; + if (sup) { + bbox = this.data[this.sup].CHTML; + state.bbox.combine(bbox,w,bbox.Y); + } + if (sub) { + bbox = this.data[this.sub].CHTML; + state.bbox.combine(bbox,w,bbox.Y); + } + } + } + + }); + + /**************************************************************************/ + + MML.mmultiscripts.Augment({ + CHTMLbetterBreak: function (info,state) { + if (!this.data[this.base]) return false; + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0); info.index.shift(); + var W, w, scanW, broken = (info.index.length > 0), better = false; + if (!broken) {info.W += info.w; info.w = 0} + info.scanW = info.W; + // + // Get the bounding boxes and the width of the scripts + // + var bbox = this.CHTML, base = this.data[this.base].CHTML; + var dw = bbox.w - base.w - (bbox.X||0); + // + // Add in the width of the prescripts + // + info.scanW += bbox.X||0; scanW = info.scanW; + // + // Check if the base can be broken + // + if (this.data[this.base].CHTMLbetterBreak(info,state)) { + better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) better = broken = true; + } + // + // Add in the base if it is unbroken, and add the scripts + // + if (!broken) this.CHTMLaddWidth(this.base,info,scanW); + info.scanW += dw; info.W = info.scanW; + info.index = []; if (better) {info.W = W; info.w = w; info.index = index} + return better; + }, + + CHTMLmoveLine: function (start,end,node,state,values) { + var NODE, BOX = this.CHTMLbbox, w; + // + // If this is the start, move the prescripts, if any. + // + if (start.length < 1) { + NODE = this.CHTMLnodeElement(); + var prestack = CHTML.getNode(NODE,"mjx-prestack"), + presup = CHTML.getNode(NODE,"mjx-presup"), + presub = CHTML.getNode(NODE,"mjx-presub"); + if (prestack) node.appendChild(prestack); + else if (presup) node.appendChild(presup); + else if (presub) node.appendChild(presub); + w = state.bbox.w; + if (presup) state.bbox.combine(BOX.presup,w+BOX.presup.X,BOX.presup.Y); + if (presub) state.bbox.combine(BOX.presub,w+BOX.presub.X,BOX.presub.Y); + } + // + // Move the proper part of the base + // + if (this.data[this.base]) { + var base = CHTML.addElement(node,"mjx-base"); + if (start.length > 1) { + this.data[this.base].CHTMLmoveSlice(start.slice(1),end.slice(1),base,state,values,"marginLeft"); + } else { + if (end.length <= 1) this.data[this.base].CHTMLmoveNode(base,state,values); + else this.data[this.base].CHTMLmoveSlice([],end.slice(1),base,state,values,"marginRight"); + } + } + // + // If this is the end, check for super and subscripts, and move those + // by moving the elements that contains them. Adjust the bounding box + // to include the super and subscripts. + // + if (end.length === 0) { + NODE = this.CHTMLnodeElement(); + var stack = CHTML.getNode(NODE,"mjx-stack"), + sup = CHTML.getNode(NODE,"mjx-sup"), + sub = CHTML.getNode(NODE,"mjx-sub"); + if (stack) node.appendChild(stack); + else if (sup) node.appendChild(sup); + else if (sub) node.appendChild(sub); + w = state.bbox.w; + if (sup) state.bbox.combine(BOX.sup,w,BOX.sup.Y); + if (sub) state.bbox.combine(BOX.sub,w,BOX.sub.Y); + } + } + + }); + + /**************************************************************************/ + + MML.mo.Augment({ + // + // Override the method for checking line breaks to properly handle + // + CHTMLbetterBreak: function (info,state) { + if (info.values && info.values.id === this.CHTMLnodeID) return false; + var values = this.getValues( + "linebreak","linebreakstyle","lineleading","linebreakmultchar", + "indentalign","indentshift", + "indentalignfirst","indentshiftfirst", + "indentalignlast","indentshiftlast", + "texClass", "fence" + ); + if (values.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) + values.linebreakstyle = this.Get("infixlinebreakstyle"); + // + // Adjust nesting by TeX class (helps output that does not include + // mrows for nesting, but can leave these unbalanced. + // + if (values.texClass === MML.TEXCLASS.OPEN) info.nest++; + if (values.texClass === MML.TEXCLASS.CLOSE && info.nest) info.nest--; + // + // Get the default penalty for this location + // + var W = info.scanW; delete info.embellished; + var w = this.CHTML.w + (this.CHTML.L||0) + (this.CHTML.R||0); + if (values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER) {W += w; w = 0} + if (W - info.shift === 0 && values.linebreak !== MML.LINEBREAK.NEWLINE) + return false; // don't break at zero width (FIXME?) + var offset = CHTML.linebreakWidth - W; + // Adjust offest for explicit first-line indent and align + if (state.n === 0 && (values.indentshiftfirst !== state.VALUES.indentshiftfirst || + values.indentalignfirst !== state.VALUES.indentalignfirst)) { + var align = this.CHTMLgetAlign(state,values), + shift = this.CHTMLgetShift(state,values,align); + offset += (info.shift - shift); + } + // + var penalty = Math.floor(offset / CHTML.linebreakWidth * 1000); + if (penalty < 0) penalty = PENALTY.toobig - 3*penalty; + if (values.fence) penalty += PENALTY.fence; + if ((values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER && + values.texClass === MML.TEXCLASS.OPEN) || + values.texClass === MML.TEXCLASS.CLOSE) penalty += PENALTY.close; + penalty += info.nest * PENALTY.nestfactor; + // + // Get the penalty for this type of break and + // use it to modify the default penalty + // + var linebreak = PENALTY[values.linebreak||MML.LINEBREAK.AUTO]||0; + if (!MathJax.Object.isArray(linebreak)) { + // for breaks past the width, keep original penalty for newline + if (linebreak || offset >= 0) {penalty = linebreak * info.nest} + } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} + // + // If the penalty is no better than the current one, return false + // Otherwise save the data for this breakpoint and return true + // + if (penalty >= info.penalty) return false; + info.penalty = penalty; info.values = values; info.W = W; info.w = w; + values.lineleading = this.CHTMLlength2em(values.lineleading,state.VALUES.lineleading); + values.id = this.CHTMLnodeID; + return true; + } + }); + + /**************************************************************************/ + + MML.mspace.Augment({ + // + // Override the method for checking line breaks to properly handle + // + CHTMLbetterBreak: function (info,state) { + if (info.values && info.values.id === this.CHTMLnodeID) return false; + var values = this.getValues("linebreak"); + var linebreakValue = values.linebreak; + if (!linebreakValue || this.hasDimAttr()) { + // The MathML spec says that the linebreak attribute should be ignored + // if any dimensional attribute is set. + linebreakValue = MML.LINEBREAK.AUTO; + } + // + // Get the default penalty for this location + // + var W = info.scanW, w = this.CHTML.w + (this.CHTML.L||0) + (this.CHTML.R||0); + if (W - info.shift === 0) return false; // don't break at zero width (FIXME?) + var offset = CHTML.linebreakWidth - W; + // + var penalty = Math.floor(offset / CHTML.linebreakWidth * 1000); + if (penalty < 0) penalty = PENALTY.toobig - 3*penalty; + penalty += info.nest * PENALTY.nestfactor; + // + // Get the penalty for this type of break and + // use it to modify the default penalty + // + var linebreak = PENALTY[linebreakValue]||0; + if (linebreakValue === MML.LINEBREAK.AUTO && w >= PENALTY.spacelimit && + !this.mathbackground && !this.background) + linebreak = [(w+PENALTY.spaceoffset)*PENALTY.spacefactor]; + if (!MathJax.Object.isArray(linebreak)) { + // for breaks past the width, keep original penalty for newline + if (linebreak || offset >= 0) {penalty = linebreak * info.nest} + } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} + // + // If the penalty is no better than the current one, return false + // Otherwise save the data for this breakpoint and return true + // + if (penalty >= info.penalty) return false; + info.penalty = penalty; info.values = values; info.W = W; info.w = w; + values.lineleading = state.VALUES.lineleading; + values.linebreakstyle = "before"; values.id = this.CHTMLnodeID; + return true; + } + }); + + // + // Hook into the mathchoice extension + // + MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function () { + MML.TeXmathchoice.Augment({ + CHTMLbetterBreak: function (info,state) { + return this.Core().CHTMLbetterBreak(info,state); + }, + CHTMLmoveLine: function (start,end,node,state,values) { + return this.Core().CHTMLmoveSlice(start,end,node,state,values); + } + }); + }); + + // + // Have maction process only the selected item + // + MML.maction.Augment({ + CHTMLbetterBreak: function (info,state) { + return this.Core().CHTMLbetterBreak(info,state); + }, + CHTMLmoveLine: function (start,end,node,state,values) { + return this.Core().CHTMLmoveSlice(start,end,node,state,values); + } + }); + + // + // Have semantics only do the first element + // (FIXME: do we need to do anything special about annotation-xml?) + // + MML.semantics.Augment({ + CHTMLbetterBreak: function (info,state) { + return (this.data[0] ? this.data[0].CHTMLbetterBreak(info,state) : false); + }, + CHTMLmoveLine: function (start,end,node,state,values) { + return (this.data[0] ? this.data[0].CHTMLmoveSlice(start,end,node,state,values) : null); + } + }); + + /**************************************************************************/ + + MathJax.Hub.Startup.signal.Post("CommonHTML multiline Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/multiline.js"); + +}); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/config.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/config.js new file mode 100644 index 00000000..a6a27a31 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/config.js @@ -0,0 +1,64 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/HTML2/config.js + * + * Initializes the HTML2 OutputJax (the main definition is in + * MathJax/jax/input/HTML2/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.OutputJax.CommonHTML = MathJax.OutputJax({ + id: "CommonHTML", + version: "2.7.5", + directory: MathJax.OutputJax.directory + "/CommonHTML", + extensionDir: MathJax.OutputJax.extensionDir + "/CommonHTML", + autoloadDir: MathJax.OutputJax.directory + "/CommonHTML/autoload", + fontDir: MathJax.OutputJax.directory + "/CommonHTML/fonts", // fontname added later + webfontDir: MathJax.OutputJax.fontDir + "/HTML-CSS", // fontname added later + + config: { + matchFontHeight: true, // try to match math font height to surrounding font? + scale: 100, minScaleAdjust: 50, // global math scaling factor, and minimum adjusted scale factor + mtextFontInherit: false, // to make be in page font rather than MathJax font + undefinedFamily: "STIXGeneral,'Cambria Math','Arial Unicode MS',serif", + + EqnChunk: (MathJax.Hub.Browser.isMobile ? 20: 100), + // number of equations to process before showing them + EqnChunkFactor: 1.5, // chunk size is multiplied by this after each chunk + EqnChunkDelay: 100, // milliseconds to delay between chunks (to let browser + // respond to other events) + + linebreaks: { + automatic: false, // when false, only process linebreak="newline", + // when true, insert line breaks automatically in long expressions. + + width: "container" // maximum width of a line for automatic line breaks (e.g. "30em"). + // use "container" to compute size from containing element, + // use "nn% container" for a portion of the container, + // use "nn%" for a portion of the window size + } + + } +}); + +if (!MathJax.Hub.config.delayJaxRegistration) {MathJax.OutputJax.CommonHTML.Register("jax/mml")} + +MathJax.OutputJax.CommonHTML.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js new file mode 100644 index 00000000..3146d484 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js @@ -0,0 +1,289 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_AMS'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 270, ascent: 1003, descent: 463, + 0x20: [0,0,250,0,0], // SPACE + 0x41: [701,1,722,17,703], // LATIN CAPITAL LETTER A + 0x42: [683,1,667,11,620], // LATIN CAPITAL LETTER B + 0x43: [702,19,722,39,684], // LATIN CAPITAL LETTER C + 0x44: [683,1,722,16,688], // LATIN CAPITAL LETTER D + 0x45: [683,1,667,12,640], // LATIN CAPITAL LETTER E + 0x46: [683,1,611,12,584], // LATIN CAPITAL LETTER F + 0x47: [702,19,778,39,749], // LATIN CAPITAL LETTER G + 0x48: [683,1,778,14,762], // LATIN CAPITAL LETTER H + 0x49: [683,1,389,20,369], // LATIN CAPITAL LETTER I + 0x4A: [683,77,500,6,478], // LATIN CAPITAL LETTER J + 0x4B: [683,1,778,22,768], // LATIN CAPITAL LETTER K + 0x4C: [683,1,667,12,640], // LATIN CAPITAL LETTER L + 0x4D: [683,1,944,17,926], // LATIN CAPITAL LETTER M + 0x4E: [683,20,722,20,702], // LATIN CAPITAL LETTER N + 0x4F: [701,19,778,34,742], // LATIN CAPITAL LETTER O + 0x50: [683,1,611,16,597], // LATIN CAPITAL LETTER P + 0x51: [701,181,778,34,742], // LATIN CAPITAL LETTER Q + 0x52: [683,1,722,16,705], // LATIN CAPITAL LETTER R + 0x53: [702,12,556,28,528], // LATIN CAPITAL LETTER S + 0x54: [683,1,667,33,635], // LATIN CAPITAL LETTER T + 0x55: [683,19,722,16,709], // LATIN CAPITAL LETTER U + 0x56: [683,20,722,0,719], // LATIN CAPITAL LETTER V + 0x57: [683,19,1000,5,994], // LATIN CAPITAL LETTER W + 0x58: [683,1,722,16,705], // LATIN CAPITAL LETTER X + 0x59: [683,1,722,16,704], // LATIN CAPITAL LETTER Y + 0x5A: [683,1,667,29,635], // LATIN CAPITAL LETTER Z + 0x6B: [683,1,556,17,534], // LATIN SMALL LETTER K + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA5: [683,0,750,11,738], // YEN SIGN + 0xAE: [709,175,947,32,915], // REGISTERED SIGN + 0xF0: [749,21,556,42,509], // LATIN SMALL LETTER ETH + 0x127: [695,13,540,42,562], // LATIN SMALL LETTER H WITH STROKE + 0x2C6: [845,-561,2333,-14,2346], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [899,-628,2333,1,2330], // SMALL TILDE + 0x302: [845,-561,0,-2347,13], // COMBINING CIRCUMFLEX ACCENT + 0x303: [899,-628,0,-2332,-3], // COMBINING TILDE + 0x3DD: [605,85,778,55,719], // GREEK SMALL LETTER DIGAMMA + 0x3F0: [434,6,667,37,734], // GREEK KAPPA SYMBOL + 0x2035: [560,-43,275,12,244], // REVERSED PRIME + 0x210F: [695,13,540,42,562], // stix-/hbar - Planck's over 2pi + 0x2127: [684,22,722,44,675], // INVERTED OHM SIGN + 0x2132: [695,1,556,55,497], // TURNED CAPITAL F + 0x2136: [763,21,667,-22,687], // BET SYMBOL + 0x2137: [764,43,444,-22,421], // GIMEL SYMBOL + 0x2138: [764,43,667,54,640], // DALET SYMBOL + 0x2141: [705,23,639,37,577], // TURNED SANS-SERIF CAPITAL G + 0x2190: [437,-64,500,64,422], // LEFTWARDS ARROW + 0x2192: [437,-64,500,58,417], // RIGHTWARDS ARROW + 0x219A: [437,-60,1000,56,942], // LEFTWARDS ARROW WITH STROKE + 0x219B: [437,-60,1000,54,942], // RIGHTWARDS ARROW WITH STROKE + 0x219E: [417,-83,1000,56,944], // LEFTWARDS TWO HEADED ARROW + 0x21A0: [417,-83,1000,55,943], // RIGHTWARDS TWO HEADED ARROW + 0x21A2: [417,-83,1111,56,1031], // LEFTWARDS ARROW WITH TAIL + 0x21A3: [417,-83,1111,79,1054], // RIGHTWARDS ARROW WITH TAIL + 0x21AB: [575,41,1000,56,964], // LEFTWARDS ARROW WITH LOOP + 0x21AC: [575,41,1000,35,943], // RIGHTWARDS ARROW WITH LOOP + 0x21AD: [417,-83,1389,57,1331], // LEFT RIGHT WAVE ARROW + 0x21AE: [437,-60,1000,56,942], // LEFT RIGHT ARROW WITH STROKE + 0x21B0: [722,0,500,56,444], // UPWARDS ARROW WITH TIP LEFTWARDS + 0x21B1: [722,0,500,55,443], // UPWARDS ARROW WITH TIP RIGHTWARDS + 0x21B6: [461,1,1000,17,950], // ANTICLOCKWISE TOP SEMICIRCLE ARROW + 0x21B7: [460,1,1000,46,982], // CLOCKWISE TOP SEMICIRCLE ARROW + 0x21BA: [650,83,778,56,722], // ANTICLOCKWISE OPEN CIRCLE ARROW + 0x21BB: [650,83,778,56,721], // CLOCKWISE OPEN CIRCLE ARROW + 0x21BE: [694,194,417,188,375], // UPWARDS HARPOON WITH BARB RIGHTWARDS + 0x21BF: [694,194,417,41,228], // UPWARDS HARPOON WITH BARB LEFTWARDS + 0x21C2: [694,194,417,188,375], // DOWNWARDS HARPOON WITH BARB RIGHTWARDS + 0x21C3: [694,194,417,41,228], // DOWNWARDS HARPOON WITH BARB LEFTWARDS + 0x21C4: [667,0,1000,55,944], // RIGHTWARDS ARROW OVER LEFTWARDS ARROW + 0x21C6: [667,0,1000,55,944], // LEFTWARDS ARROW OVER RIGHTWARDS ARROW + 0x21C7: [583,83,1000,55,944], // LEFTWARDS PAIRED ARROWS + 0x21C8: [694,193,833,83,749], // UPWARDS PAIRED ARROWS + 0x21C9: [583,83,1000,55,944], // RIGHTWARDS PAIRED ARROWS + 0x21CA: [694,194,833,83,749], // DOWNWARDS PAIRED ARROWS + 0x21CB: [514,14,1000,55,944], // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + 0x21CC: [514,14,1000,55,944], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CD: [534,35,1000,54,942], // LEFTWARDS DOUBLE ARROW WITH STROKE + 0x21CE: [534,37,1000,32,965], // LEFT RIGHT DOUBLE ARROW WITH STROKE + 0x21CF: [534,35,1000,55,943], // RIGHTWARDS DOUBLE ARROW WITH STROKE + 0x21DA: [611,111,1000,76,944], // LEFTWARDS TRIPLE ARROW + 0x21DB: [611,111,1000,55,923], // RIGHTWARDS TRIPLE ARROW + 0x21DD: [417,-83,1000,56,943], // RIGHTWARDS SQUIGGLE ARROW + 0x21E0: [437,-64,1334,64,1251], // LEFTWARDS DASHED ARROW + 0x21E2: [437,-64,1334,84,1251], // RIGHTWARDS DASHED ARROW + 0x2201: [846,21,500,56,444], // COMPLEMENT + 0x2204: [860,166,556,55,497], // THERE DOES NOT EXIST + 0x2205: [587,3,778,54,720], // EMPTY SET + 0x220D: [440,1,429,102,456], // SMALL CONTAINS AS MEMBER + 0x2212: [270,-230,500,84,417], // MINUS SIGN + 0x2214: [766,93,778,57,722], // DOT PLUS + 0x2216: [430,23,778,91,685], // SET MINUS + 0x221D: [472,-28,778,56,722], // PROPORTIONAL TO + 0x2220: [694,0,722,55,666], // ANGLE + 0x2221: [714,20,722,55,666], // MEASURED ANGLE + 0x2222: [551,51,722,55,666], // SPHERICAL ANGLE + 0x2223: [430,23,222,91,131], // DIVIDES + 0x2224: [750,252,278,-21,297], // DOES NOT DIVIDE + 0x2225: [431,23,389,55,331], // PARALLEL TO + 0x2226: [750,250,500,-20,518], // NOT PARALLEL TO + 0x2234: [471,82,667,24,643], // THEREFORE + 0x2235: [471,82,667,23,643], // BECAUSE + 0x223C: [365,-132,778,55,719], // TILDE OPERATOR + 0x223D: [367,-133,778,56,722], // REVERSED TILDE + 0x2241: [467,-32,778,55,719], // stix-not, vert, similar + 0x2242: [463,-34,778,55,720], // MINUS TILDE + 0x2246: [652,155,778,54,720], // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO + 0x2248: [481,-50,778,55,719], // ALMOST EQUAL TO + 0x224A: [579,39,778,51,725], // ALMOST EQUAL OR EQUAL TO + 0x224E: [492,-8,778,56,722], // GEOMETRICALLY EQUIVALENT TO + 0x224F: [492,-133,778,56,722], // DIFFERENCE BETWEEN + 0x2251: [609,108,778,56,722], // GEOMETRICALLY EQUAL TO + 0x2252: [601,101,778,15,762], // APPROXIMATELY EQUAL TO OR THE IMAGE OF + 0x2253: [601,102,778,14,762], // IMAGE OF OR APPROXIMATELY EQUAL TO + 0x2256: [367,-133,778,56,722], // RING IN EQUAL TO + 0x2257: [721,-133,778,56,722], // RING EQUAL TO + 0x225C: [859,-133,778,56,723], // DELTA EQUAL TO + 0x2266: [753,175,778,83,694], // LESS-THAN OVER EQUAL TO + 0x2267: [753,175,778,83,694], // GREATER-THAN OVER EQUAL TO + 0x2268: [752,286,778,82,693], // stix-less, vert, not double equals + 0x2269: [752,286,778,82,693], // stix-gt, vert, not double equals + 0x226C: [750,250,500,74,425], // BETWEEN + 0x226E: [708,209,778,82,693], // stix-not, vert, less-than + 0x226F: [708,209,778,82,693], // stix-not, vert, greater-than + 0x2270: [801,303,778,82,694], // stix-not, vert, less-than-or-equal + 0x2271: [801,303,778,82,694], // stix-not, vert, greater-than-or-equal + 0x2272: [732,228,778,56,722], // stix-less-than or (contour) similar + 0x2273: [732,228,778,56,722], // stix-greater-than or (contour) similar + 0x2276: [681,253,778,44,734], // LESS-THAN OR GREATER-THAN + 0x2277: [681,253,778,83,694], // GREATER-THAN OR LESS-THAN + 0x227C: [580,153,778,83,694], // PRECEDES OR EQUAL TO + 0x227D: [580,154,778,82,694], // SUCCEEDS OR EQUAL TO + 0x227E: [732,228,778,56,722], // PRECEDES OR EQUIVALENT TO + 0x227F: [732,228,778,56,722], // SUCCEEDS OR EQUIVALENT TO + 0x2280: [705,208,778,82,693], // DOES NOT PRECEDE + 0x2281: [705,208,778,82,693], // stix-not (vert) succeeds + 0x2288: [801,303,778,83,693], // stix-/nsubseteq N: not (vert) subset, equals + 0x2289: [801,303,778,82,691], // stix-/nsupseteq N: not (vert) superset, equals + 0x228A: [635,241,778,84,693], // stix-subset, not equals, variant + 0x228B: [635,241,778,82,691], // stix-superset, not equals, variant + 0x228F: [539,41,778,83,694], // SQUARE IMAGE OF + 0x2290: [539,41,778,64,714], // SQUARE ORIGINAL OF + 0x229A: [582,82,778,57,721], // CIRCLED RING OPERATOR + 0x229B: [582,82,778,57,721], // CIRCLED ASTERISK OPERATOR + 0x229D: [582,82,778,57,721], // CIRCLED DASH + 0x229E: [689,0,778,55,722], // SQUARED PLUS + 0x229F: [689,0,778,55,722], // SQUARED MINUS + 0x22A0: [689,0,778,55,722], // SQUARED TIMES + 0x22A1: [689,0,778,55,722], // SQUARED DOT OPERATOR + 0x22A8: [694,0,611,55,555], // TRUE + 0x22A9: [694,0,722,55,666], // FORCES + 0x22AA: [694,0,889,55,833], // TRIPLE VERTICAL BAR RIGHT TURNSTILE + 0x22AC: [695,1,611,-55,554], // DOES NOT PROVE + 0x22AD: [695,1,611,-55,554], // NOT TRUE + 0x22AE: [695,1,722,-55,665], // DOES NOT FORCE + 0x22AF: [695,1,722,-55,665], // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + 0x22B2: [539,41,778,83,694], // NORMAL SUBGROUP OF + 0x22B3: [539,41,778,83,694], // CONTAINS AS NORMAL SUBGROUP + 0x22B4: [636,138,778,83,694], // NORMAL SUBGROUP OF OR EQUAL TO + 0x22B5: [636,138,778,83,694], // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO + 0x22B8: [408,-92,1111,55,1055], // MULTIMAP + 0x22BA: [431,212,556,57,500], // INTERCALATE + 0x22BB: [716,0,611,55,555], // XOR + 0x22BC: [716,0,611,55,555], // NAND + 0x22C5: [189,0,278,55,222], // DOT OPERATOR + 0x22C7: [545,44,778,55,720], // DIVISION TIMES + 0x22C9: [492,-8,778,146,628], // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CA: [492,-8,778,146,628], // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CB: [694,22,778,55,722], // LEFT SEMIDIRECT PRODUCT + 0x22CC: [694,22,778,55,722], // RIGHT SEMIDIRECT PRODUCT + 0x22CD: [464,-36,778,56,722], // REVERSED TILDE EQUALS + 0x22CE: [578,21,760,83,676], // CURLY LOGICAL OR + 0x22CF: [578,22,760,83,676], // CURLY LOGICAL AND + 0x22D0: [540,40,778,84,694], // DOUBLE SUBSET + 0x22D1: [540,40,778,83,693], // DOUBLE SUPERSET + 0x22D2: [598,22,667,55,611], // DOUBLE INTERSECTION + 0x22D3: [598,22,667,55,611], // DOUBLE UNION + 0x22D4: [736,22,667,56,611], // PITCHFORK + 0x22D6: [541,41,778,82,693], // LESS-THAN WITH DOT + 0x22D7: [541,41,778,82,693], // GREATER-THAN WITH DOT + 0x22D8: [568,67,1333,56,1277], // VERY MUCH LESS-THAN + 0x22D9: [568,67,1333,55,1277], // VERY MUCH GREATER-THAN + 0x22DA: [886,386,778,83,674], // stix-less, equal, slanted, greater + 0x22DB: [886,386,778,83,674], // stix-greater, equal, slanted, less + 0x22DE: [734,0,778,83,694], // EQUAL TO OR PRECEDES + 0x22DF: [734,0,778,82,694], // EQUAL TO OR SUCCEEDS + 0x22E0: [801,303,778,82,693], // stix-not (vert) precedes or contour equals + 0x22E1: [801,303,778,82,694], // stix-not (vert) succeeds or contour equals + 0x22E6: [730,359,778,55,719], // LESS-THAN BUT NOT EQUIVALENT TO + 0x22E7: [730,359,778,55,719], // GREATER-THAN BUT NOT EQUIVALENT TO + 0x22E8: [730,359,778,55,719], // PRECEDES BUT NOT EQUIVALENT TO + 0x22E9: [730,359,778,55,719], // SUCCEEDS BUT NOT EQUIVALENT TO + 0x22EA: [706,208,778,82,693], // NOT NORMAL SUBGROUP OF + 0x22EB: [706,208,778,82,693], // DOES NOT CONTAIN AS NORMAL SUBGROUP + 0x22EC: [802,303,778,82,693], // stix-not, vert, left triangle, equals + 0x22ED: [801,303,778,82,693], // stix-not, vert, right triangle, equals + 0x2322: [378,-122,778,55,722], // stix-small down curve + 0x2323: [378,-143,778,55,722], // stix-small up curve + 0x24C8: [709,175,902,8,894], // CIRCLED LATIN CAPITAL LETTER S + 0x250C: [694,-306,500,55,444], // BOX DRAWINGS LIGHT DOWN AND RIGHT + 0x2510: [694,-306,500,55,444], // BOX DRAWINGS LIGHT DOWN AND LEFT + 0x2514: [366,22,500,55,444], // BOX DRAWINGS LIGHT UP AND RIGHT + 0x2518: [366,22,500,55,444], // BOX DRAWINGS LIGHT UP AND LEFT + 0x2571: [694,195,889,0,860], // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT + 0x2572: [694,195,889,0,860], // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT + 0x25A0: [689,0,778,55,722], // BLACK SQUARE + 0x25A1: [689,0,778,55,722], // WHITE SQUARE + 0x25B2: [575,20,722,84,637], // BLACK UP-POINTING TRIANGLE + 0x25B3: [575,20,722,84,637], // WHITE UP-POINTING TRIANGLE + 0x25B6: [539,41,778,83,694], // BLACK RIGHT-POINTING TRIANGLE + 0x25BC: [576,19,722,84,637], // BLACK DOWN-POINTING TRIANGLE + 0x25BD: [576,19,722,84,637], // WHITE DOWN-POINTING TRIANGLE + 0x25C0: [539,41,778,83,694], // BLACK LEFT-POINTING TRIANGLE + 0x25CA: [716,132,667,56,611], // LOZENGE + 0x2605: [694,111,944,49,895], // BLACK STAR + 0x2713: [706,34,833,84,749], // CHECK MARK + 0x2720: [716,22,833,48,786], // MALTESE CROSS + 0x29EB: [716,132,667,56,611], // BLACK LOZENGE + 0x2A5E: [813,97,611,55,555], // LOGICAL AND WITH DOUBLE OVERBAR + 0x2A7D: [636,138,778,83,694], // LESS-THAN OR SLANTED EQUAL TO + 0x2A7E: [636,138,778,83,694], // GREATER-THAN OR SLANTED EQUAL TO + 0x2A85: [762,290,778,55,722], // LESS-THAN OR APPROXIMATE + 0x2A86: [762,290,778,55,722], // GREATER-THAN OR APPROXIMATE + 0x2A87: [635,241,778,82,693], // LESS-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A88: [635,241,778,82,693], // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A89: [761,387,778,57,718], // LESS-THAN AND NOT APPROXIMATE + 0x2A8A: [761,387,778,57,718], // GREATER-THAN AND NOT APPROXIMATE + 0x2A8B: [1003,463,778,83,694], // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN + 0x2A8C: [1003,463,778,83,694], // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN + 0x2A95: [636,138,778,83,694], // SLANTED EQUAL TO OR LESS-THAN + 0x2A96: [636,138,778,83,694], // SLANTED EQUAL TO OR GREATER-THAN + 0x2AB5: [752,286,778,82,693], // PRECEDES ABOVE NOT EQUAL TO + 0x2AB6: [752,286,778,82,693], // SUCCEEDS ABOVE NOT EQUAL TO + 0x2AB7: [761,294,778,57,717], // PRECEDES ABOVE ALMOST EQUAL TO + 0x2AB8: [761,294,778,57,717], // SUCCEEDS ABOVE ALMOST EQUAL TO + 0x2AB9: [761,337,778,57,718], // PRECEDES ABOVE NOT ALMOST EQUAL TO + 0x2ABA: [761,337,778,57,718], // SUCCEEDS ABOVE NOT ALMOST EQUAL TO + 0x2AC5: [753,215,778,84,694], // SUBSET OF ABOVE EQUALS SIGN + 0x2AC6: [753,215,778,83,694], // SUPERSET OF ABOVE EQUALS SIGN + 0x2ACB: [783,385,778,82,693], // stix-subset not double equals, variant + 0x2ACC: [783,385,778,82,693], // SUPERSET OF ABOVE NOT EQUAL TO + 0xE006: [430,23,222,-20,240], // ?? + 0xE007: [431,24,389,-20,407], // ?? + 0xE008: [605,85,778,55,719], // ?? + 0xE009: [434,6,667,37,734], // ?? + 0xE00C: [752,284,778,82,693], // ?? + 0xE00D: [752,284,778,82,693], // ?? + 0xE00E: [919,421,778,82,694], // stix-not greater, double equals + 0xE00F: [801,303,778,82,694], // stix-not greater-or-equal, slanted + 0xE010: [801,303,778,82,694], // stix-not less-or-equal, slanted + 0xE011: [919,421,778,82,694], // stix-not less, double equals + 0xE016: [828,330,778,82,694], // stix-not subset, double equals + 0xE017: [752,332,778,82,694], // ?? + 0xE018: [828,330,778,82,694], // stix-not superset, double equals + 0xE019: [752,333,778,82,693], // ?? + 0xE01A: [634,255,778,84,693], // ?? + 0xE01B: [634,254,778,82,691] // ?? +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js new file mode 100644 index 00000000..3e4043ce --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js @@ -0,0 +1,99 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Caligraphic-Bold'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 315, ascent: 840, descent: 211, + weight: 'bold', + skew: { + 0x41: 0.224, + 0x42: 0.16, + 0x43: 0.16, + 0x44: 0.0958, + 0x45: 0.128, + 0x46: 0.128, + 0x47: 0.128, + 0x48: 0.128, + 0x49: 0.0319, + 0x4A: 0.192, + 0x4B: 0.0639, + 0x4C: 0.16, + 0x4D: 0.16, + 0x4E: 0.0958, + 0x4F: 0.128, + 0x50: 0.0958, + 0x51: 0.128, + 0x52: 0.0958, + 0x53: 0.16, + 0x54: 0.0319, + 0x55: 0.0958, + 0x56: 0.0319, + 0x57: 0.0958, + 0x58: 0.16, + 0x59: 0.0958, + 0x5A: 0.16 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x30: [460,17,575,46,528], // DIGIT ZERO + 0x31: [461,0,575,80,494], // DIGIT ONE + 0x32: [460,0,575,51,517], // DIGIT TWO + 0x33: [461,211,575,48,525], // DIGIT THREE + 0x34: [469,194,575,32,542], // DIGIT FOUR + 0x35: [461,211,575,57,517], // DIGIT FIVE + 0x36: [660,17,575,48,526], // DIGIT SIX + 0x37: [476,211,575,64,558], // DIGIT SEVEN + 0x38: [661,17,575,48,526], // DIGIT EIGHT + 0x39: [461,210,575,48,526], // DIGIT NINE + 0x41: [751,49,921,39,989], // LATIN CAPITAL LETTER A + 0x42: [705,17,748,40,740], // LATIN CAPITAL LETTER B + 0x43: [703,20,613,20,599], // LATIN CAPITAL LETTER C + 0x44: [686,0,892,20,885], // LATIN CAPITAL LETTER D + 0x45: [703,16,607,37,627], // LATIN CAPITAL LETTER E + 0x46: [686,30,814,17,930], // LATIN CAPITAL LETTER F + 0x47: [703,113,682,50,671], // LATIN CAPITAL LETTER G + 0x48: [686,48,987,20,946], // LATIN CAPITAL LETTER H + 0x49: [686,0,642,-27,746], // LATIN CAPITAL LETTER I + 0x4A: [686,114,779,53,937], // LATIN CAPITAL LETTER J + 0x4B: [703,17,871,40,834], // LATIN CAPITAL LETTER K + 0x4C: [703,17,788,41,751], // LATIN CAPITAL LETTER L + 0x4D: [703,49,1378,38,1353], // LATIN CAPITAL LETTER M + 0x4E: [840,49,937,-24,1105], // LATIN CAPITAL LETTER N + 0x4F: [703,17,906,63,882], // LATIN CAPITAL LETTER O + 0x50: [686,67,810,20,846], // LATIN CAPITAL LETTER P + 0x51: [703,146,939,120,905], // LATIN CAPITAL LETTER Q + 0x52: [686,17,990,20,981], // LATIN CAPITAL LETTER R + 0x53: [703,16,696,25,721], // LATIN CAPITAL LETTER S + 0x54: [720,69,644,38,947], // LATIN CAPITAL LETTER T + 0x55: [686,24,715,-10,771], // LATIN CAPITAL LETTER U + 0x56: [686,77,737,25,774], // LATIN CAPITAL LETTER V + 0x57: [686,77,1169,25,1206], // LATIN CAPITAL LETTER W + 0x58: [686,-1,817,56,906], // LATIN CAPITAL LETTER X + 0x59: [686,164,759,36,797], // LATIN CAPITAL LETTER Y + 0x5A: [686,0,818,46,853], // LATIN CAPITAL LETTER Z + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js new file mode 100644 index 00000000..d5177a0a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js @@ -0,0 +1,125 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Fraktur-Bold'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 259, ascent: 740, descent: 223, + weight: 'bold', + 0x20: [0,0,250,0,0], // SPACE + 0x21: [689,12,349,107,241], // EXCLAMATION MARK + 0x22: [695,-432,254,10,231], // QUOTATION MARK + 0x26: [696,16,871,44,839], // AMPERSAND + 0x27: [695,-436,250,80,158], // APOSTROPHE + 0x28: [737,186,459,134,347], // LEFT PARENTHESIS + 0x29: [735,187,459,105,326], // RIGHT PARENTHESIS + 0x2A: [692,-449,328,40,277], // ASTERISK + 0x2B: [598,82,893,56,837], // PLUS SIGN + 0x2C: [107,191,328,118,253], // COMMA + 0x2D: [275,-236,893,54,833], // HYPHEN-MINUS + 0x2E: [102,15,328,103,237], // FULL STOP + 0x2F: [721,182,593,41,550], // SOLIDUS + 0x30: [501,12,593,42,533], // DIGIT ZERO + 0x31: [489,0,593,54,548], // DIGIT ONE + 0x32: [491,-2,593,44,563], // DIGIT TWO + 0x33: [487,193,593,31,523], // DIGIT THREE + 0x34: [495,196,593,13,565], // DIGIT FOUR + 0x35: [481,190,593,19,518], // DIGIT FIVE + 0x36: [704,12,593,48,547], // DIGIT SIX + 0x37: [479,197,593,54,591], // DIGIT SEVEN + 0x38: [714,5,593,45,542], // DIGIT EIGHT + 0x39: [487,195,593,29,549], // DIGIT NINE + 0x3A: [457,12,255,57,197], // COLON + 0x3B: [458,190,255,56,211], // SEMICOLON + 0x3D: [343,-168,582,22,559], // EQUALS SIGN + 0x3F: [697,14,428,40,422], // QUESTION MARK + 0x41: [686,31,847,29,827], // LATIN CAPITAL LETTER A + 0x42: [684,31,1044,57,965], // LATIN CAPITAL LETTER B + 0x43: [676,32,723,72,726], // LATIN CAPITAL LETTER C + 0x44: [683,29,982,31,896], // LATIN CAPITAL LETTER D + 0x45: [686,29,783,74,728], // LATIN CAPITAL LETTER E + 0x46: [684,146,722,17,727], // LATIN CAPITAL LETTER F + 0x47: [687,29,927,74,844], // LATIN CAPITAL LETTER G + 0x48: [683,126,851,6,752], // LATIN CAPITAL LETTER H + 0x49: [681,25,655,32,623], // LATIN CAPITAL LETTER I + 0x4A: [680,141,652,-8,616], // LATIN CAPITAL LETTER J + 0x4B: [681,26,789,20,806], // LATIN CAPITAL LETTER K + 0x4C: [683,28,786,30,764], // LATIN CAPITAL LETTER L + 0x4D: [683,32,1239,27,1232], // LATIN CAPITAL LETTER M + 0x4E: [679,30,983,26,973], // LATIN CAPITAL LETTER N + 0x4F: [726,30,976,12,881], // LATIN CAPITAL LETTER O + 0x50: [688,223,977,33,943], // LATIN CAPITAL LETTER P + 0x51: [726,83,976,12,918], // LATIN CAPITAL LETTER Q + 0x52: [688,28,978,31,978], // LATIN CAPITAL LETTER R + 0x53: [685,31,978,82,905], // LATIN CAPITAL LETTER S + 0x54: [686,30,790,31,802], // LATIN CAPITAL LETTER T + 0x55: [688,39,851,18,871], // LATIN CAPITAL LETTER U + 0x56: [685,29,982,25,966], // LATIN CAPITAL LETTER V + 0x57: [683,30,1235,26,1240], // LATIN CAPITAL LETTER W + 0x58: [681,35,849,32,835], // LATIN CAPITAL LETTER X + 0x59: [688,214,984,34,878], // LATIN CAPITAL LETTER Y + 0x5A: [677,148,711,-4,624], // LATIN CAPITAL LETTER Z + 0x5B: [740,130,257,36,226], // LEFT SQUARE BRACKET + 0x5D: [738,132,257,14,208], // RIGHT SQUARE BRACKET + 0x5E: [734,-452,590,1,584], // CIRCUMFLEX ACCENT + 0x61: [472,32,603,80,586], // LATIN SMALL LETTER A + 0x62: [690,32,590,86,504], // LATIN SMALL LETTER B + 0x63: [473,26,464,87,424], // LATIN SMALL LETTER C + 0x64: [632,28,589,-1,511], // LATIN SMALL LETTER D + 0x65: [471,27,472,81,428], // LATIN SMALL LETTER E + 0x66: [687,222,388,35,372], // LATIN SMALL LETTER F + 0x67: [472,208,595,17,541], // LATIN SMALL LETTER G + 0x68: [687,207,615,89,507], // LATIN SMALL LETTER H + 0x69: [686,25,331,3,327], // LATIN SMALL LETTER I + 0x6A: [682,203,332,-19,238], // LATIN SMALL LETTER J + 0x6B: [682,25,464,34,432], // LATIN SMALL LETTER K + 0x6C: [681,24,337,100,312], // LATIN SMALL LETTER L + 0x6D: [476,31,921,16,900], // LATIN SMALL LETTER M + 0x6E: [473,28,654,5,608], // LATIN SMALL LETTER N + 0x6F: [482,34,609,107,515], // LATIN SMALL LETTER O + 0x70: [557,207,604,-1,519], // LATIN SMALL LETTER P + 0x71: [485,211,596,87,515], // LATIN SMALL LETTER Q + 0x72: [472,26,460,13,453], // LATIN SMALL LETTER R + 0x73: [479,34,523,-23,481], // LATIN SMALL LETTER S + 0x74: [648,27,393,43,407], // LATIN SMALL LETTER T + 0x75: [472,32,589,9,603], // LATIN SMALL LETTER U + 0x76: [546,27,604,56,507], // LATIN SMALL LETTER V + 0x77: [549,32,918,55,815], // LATIN SMALL LETTER W + 0x78: [471,188,459,8,441], // LATIN SMALL LETTER X + 0x79: [557,221,589,60,512], // LATIN SMALL LETTER Y + 0x7A: [471,214,461,-7,378], // LATIN SMALL LETTER Z + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2018: [708,-411,254,53,187], // LEFT SINGLE QUOTATION MARK + 0x2019: [692,-394,254,58,193], // RIGHT SINGLE QUOTATION MARK + 0xE301: [630,27,587,64,512], // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED + 0xE302: [693,212,394,37,408], // stix-capital Delta, Greek slashed + 0xE303: [681,219,387,36,384], // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED + 0xE304: [473,212,593,67,531], // stix-capital Epsilon, Greek slashed + 0xE305: [684,27,393,33,387], // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED + 0xE308: [679,220,981,32,875], // stix-capital Eta, Greek slashed + 0xE309: [717,137,727,17,633] // stix-MATHEMATICAL BOLD CAPITAL ETA SLASHED +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js new file mode 100644 index 00000000..ebf4de1f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js @@ -0,0 +1,125 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Fraktur'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 258, ascent: 740, descent: 224, + 0x20: [0,0,250,0,0], // SPACE + 0x21: [689,12,296,91,204], // EXCLAMATION MARK + 0x22: [695,-432,215,8,196], // QUOTATION MARK + 0x26: [698,11,738,49,733], // AMPERSAND + 0x27: [695,-436,212,69,134], // APOSTROPHE + 0x28: [737,186,389,114,293], // LEFT PARENTHESIS + 0x29: [735,187,389,89,276], // RIGHT PARENTHESIS + 0x2A: [692,-449,278,33,234], // ASTERISK + 0x2B: [598,82,756,47,709], // PLUS SIGN + 0x2C: [107,191,278,99,213], // COMMA + 0x2D: [275,-236,756,46,706], // HYPHEN-MINUS + 0x2E: [102,15,278,87,200], // FULL STOP + 0x2F: [721,182,502,34,466], // SOLIDUS + 0x30: [492,13,502,42,456], // DIGIT ZERO + 0x31: [468,2,502,47,460], // DIGIT ONE + 0x32: [474,-1,502,60,484], // DIGIT TWO + 0x33: [473,182,502,39,429], // DIGIT THREE + 0x34: [476,191,502,10,481], // DIGIT FOUR + 0x35: [458,184,502,47,440], // DIGIT FIVE + 0x36: [700,13,502,45,471], // DIGIT SIX + 0x37: [468,181,502,37,498], // DIGIT SEVEN + 0x38: [705,10,502,40,461], // DIGIT EIGHT + 0x39: [469,182,502,28,466], // DIGIT NINE + 0x3A: [457,12,216,50,168], // COLON + 0x3B: [458,189,216,47,179], // SEMICOLON + 0x3D: [368,-132,756,54,725], // EQUALS SIGN + 0x3F: [693,11,362,46,357], // QUESTION MARK + 0x41: [696,26,718,22,708], // LATIN CAPITAL LETTER A + 0x42: [691,27,884,48,820], // LATIN CAPITAL LETTER B + 0x43: [685,24,613,59,607], // LATIN CAPITAL LETTER C + 0x44: [685,27,832,27,745], // LATIN CAPITAL LETTER D + 0x45: [685,24,663,86,634], // LATIN CAPITAL LETTER E + 0x46: [686,153,611,11,612], // LATIN CAPITAL LETTER F + 0x47: [690,26,785,66,710], // LATIN CAPITAL LETTER G + 0x48: [666,133,720,1,644], // LATIN CAPITAL LETTER H + 0x49: [686,26,554,30,532], // LATIN CAPITAL LETTER I + 0x4A: [686,139,552,-10,522], // LATIN CAPITAL LETTER J + 0x4B: [680,27,668,17,682], // LATIN CAPITAL LETTER K + 0x4C: [686,26,666,33,644], // LATIN CAPITAL LETTER L + 0x4D: [692,27,1050,27,1048], // LATIN CAPITAL LETTER M + 0x4E: [686,25,832,27,825], // LATIN CAPITAL LETTER N + 0x4F: [729,27,827,12,744], // LATIN CAPITAL LETTER O + 0x50: [692,218,828,28,804], // LATIN CAPITAL LETTER P + 0x51: [729,69,827,11,782], // LATIN CAPITAL LETTER Q + 0x52: [686,26,828,27,824], // LATIN CAPITAL LETTER R + 0x53: [692,27,829,66,756], // LATIN CAPITAL LETTER S + 0x54: [701,27,669,34,676], // LATIN CAPITAL LETTER T + 0x55: [697,27,646,-25,665], // LATIN CAPITAL LETTER U + 0x56: [686,26,831,26,825], // LATIN CAPITAL LETTER V + 0x57: [686,27,1046,32,1054], // LATIN CAPITAL LETTER W + 0x58: [688,27,719,28,709], // LATIN CAPITAL LETTER X + 0x59: [686,218,833,27,740], // LATIN CAPITAL LETTER Y + 0x5A: [729,139,602,11,532], // LATIN CAPITAL LETTER Z + 0x5B: [740,130,278,117,278], // LEFT SQUARE BRACKET + 0x5D: [738,131,278,-4,160], // RIGHT SQUARE BRACKET + 0x5E: [734,-452,500,0,495], // CIRCUMFLEX ACCENT + 0x61: [470,35,500,66,497], // LATIN SMALL LETTER A + 0x62: [685,31,513,87,442], // LATIN SMALL LETTER B + 0x63: [466,29,389,72,359], // LATIN SMALL LETTER C + 0x64: [609,33,499,13,428], // LATIN SMALL LETTER D + 0x65: [467,30,401,70,364], // LATIN SMALL LETTER E + 0x66: [681,221,326,30,323], // LATIN SMALL LETTER F + 0x67: [470,209,504,17,455], // LATIN SMALL LETTER G + 0x68: [688,205,521,77,434], // LATIN SMALL LETTER H + 0x69: [673,20,279,14,267], // LATIN SMALL LETTER I + 0x6A: [672,208,281,-9,196], // LATIN SMALL LETTER J + 0x6B: [689,25,389,24,362], // LATIN SMALL LETTER K + 0x6C: [685,20,280,98,276], // LATIN SMALL LETTER L + 0x6D: [475,26,767,8,753], // LATIN SMALL LETTER M + 0x6E: [475,22,527,20,514], // LATIN SMALL LETTER N + 0x6F: [480,28,489,67,412], // LATIN SMALL LETTER O + 0x70: [541,212,500,12,430], // LATIN SMALL LETTER P + 0x71: [479,219,489,60,419], // LATIN SMALL LETTER Q + 0x72: [474,21,389,17,387], // LATIN SMALL LETTER R + 0x73: [478,29,443,-18,406], // LATIN SMALL LETTER S + 0x74: [640,20,333,27,348], // LATIN SMALL LETTER T + 0x75: [474,23,517,9,513], // LATIN SMALL LETTER U + 0x76: [530,28,512,55,434], // LATIN SMALL LETTER V + 0x77: [532,28,774,45,688], // LATIN SMALL LETTER W + 0x78: [472,188,389,10,363], // LATIN SMALL LETTER X + 0x79: [528,218,499,45,431], // LATIN SMALL LETTER Y + 0x7A: [471,214,391,-7,314], // LATIN SMALL LETTER Z + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2018: [708,-410,215,45,158], // LEFT SINGLE QUOTATION MARK + 0x2019: [692,-395,215,49,163], // RIGHT SINGLE QUOTATION MARK + 0xE300: [683,32,497,75,430], // stix-capital Gamma, Greek slashed + 0xE301: [616,30,498,35,432], // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED + 0xE302: [680,215,333,29,339], // stix-capital Delta, Greek slashed + 0xE303: [679,224,329,28,318], // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED + 0xE304: [471,214,503,52,449], // stix-capital Epsilon, Greek slashed + 0xE305: [686,20,333,26,315], // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED + 0xE306: [577,21,334,29,347], // stix-capital Zeta, Greek slashed + 0xE307: [475,22,501,10,514] // stix-MATHEMATICAL BOLD CAPITAL ZETA SLASHED +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Main-Bold.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Main-Bold.js new file mode 100644 index 00000000..404ac2fc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Main-Bold.js @@ -0,0 +1,208 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + + +(function (CHTML) { + +var font = 'MathJax_Main-Bold'; + +MathJax.Hub.Insert(CHTML.FONTDATA.FONTS[font],{ + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA8: [695,-535,575,96,478], // DIAERESIS + 0xAC: [371,-61,767,64,702], // NOT SIGN + 0xAF: [607,-540,575,80,494], // MACRON + 0xB0: [702,-536,575,160,414], // DEGREE SIGN + 0xB1: [728,35,894,64,829], // PLUS-MINUS SIGN + 0xB4: [706,-503,575,236,460], // ACUTE ACCENT + 0xD7: [530,28,894,168,726], // MULTIPLICATION SIGN + 0xF7: [597,96,894,64,828], // DIVISION SIGN + 0x131: [452,8,394,24,367], // LATIN SMALL LETTER DOTLESS I + 0x237: [451,201,439,-12,420], // LATIN SMALL LETTER DOTLESS J + 0x2C6: [694,-520,575,126,448], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [660,-515,575,130,444], // CARON + 0x2C9: [607,-540,575,80,494], // MODIFIER LETTER MACRON + 0x2CA: [706,-503,575,236,460], // MODIFIER LETTER ACUTE ACCENT + 0x2CB: [706,-503,575,114,338], // MODIFIER LETTER GRAVE ACCENT + 0x2D8: [694,-500,575,102,472], // BREVE + 0x2D9: [695,-525,575,202,372], // DOT ABOVE + 0x2DA: [702,-536,575,160,414], // RING ABOVE + 0x2DC: [694,-552,575,96,478], // SMALL TILDE + 0x300: [706,-503,0,-461,-237], // COMBINING GRAVE ACCENT + 0x301: [706,-503,0,-339,-115], // COMBINING ACUTE ACCENT + 0x302: [694,-520,0,-449,-127], // COMBINING CIRCUMFLEX ACCENT + 0x303: [694,-552,0,-479,-97], // COMBINING TILDE + 0x304: [607,-540,0,-495,-81], // COMBINING MACRON + 0x306: [694,-500,0,-473,-103], // COMBINING BREVE + 0x307: [695,-525,0,-373,-203], // COMBINING DOT ABOVE + 0x308: [695,-535,0,-479,-97], // COMBINING DIAERESIS + 0x30A: [702,-536,0,-415,-161], // COMBINING RING ABOVE + 0x30B: [714,-511,0,-442,-82], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [660,-515,0,-445,-131], // COMBINING CARON + 0x338: [711,210,0,-734,-161], // COMBINING LONG SOLIDUS OVERLAY + 0x2002: [0,0,500,0,0], // ?? + 0x2003: [0,0,999,0,0], // ?? + 0x2004: [0,0,333,0,0], // ?? + 0x2005: [0,0,250,0,0], // ?? + 0x2006: [0,0,167,0,0], // ?? + 0x2009: [0,0,167,0,0], // ?? + 0x200A: [0,0,83,0,0], // ?? + 0x2013: [300,-249,575,0,574], // EN DASH + 0x2014: [300,-249,1150,0,1149], // EM DASH + 0x2018: [694,-329,319,58,245], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-329,319,74,261], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-329,603,110,564], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-329,603,38,492], // RIGHT DOUBLE QUOTATION MARK + 0x2020: [702,211,511,64,446], // DAGGER + 0x2021: [702,202,511,64,446], // DOUBLE DAGGER + 0x2026: [171,-1,1295,74,1221], // HORIZONTAL ELLIPSIS + 0x2032: [563,-33,344,35,331], // PRIME + 0x20D7: [723,-513,0,-542,-33], // COMBINING RIGHT ARROW ABOVE + 0x210F: [694,8,668,45,642], // stix-/hbar - Planck's over 2pi + 0x2111: [702,8,831,64,798], // BLACK-LETTER CAPITAL I + 0x2113: [702,19,474,-1,446], // SCRIPT SMALL L + 0x2118: [461,210,740,72,726], // SCRIPT CAPITAL P + 0x211C: [711,16,831,42,824], // BLACK-LETTER CAPITAL R + 0x2135: [694,0,703,64,638], // ALEF SYMBOL + 0x2190: [518,17,1150,64,1084], // LEFTWARDS ARROW + 0x2191: [694,193,575,14,561], // UPWARDS ARROW + 0x2192: [518,17,1150,65,1085], // RIGHTWARDS ARROW + 0x2193: [694,194,575,14,561], // DOWNWARDS ARROW + 0x2194: [518,17,1150,64,1085], // LEFT RIGHT ARROW + 0x2195: [767,267,575,14,561], // UP DOWN ARROW + 0x2196: [724,194,1150,64,1084], // NORTH WEST ARROW + 0x2197: [724,193,1150,64,1085], // NORTH EAST ARROW + 0x2198: [694,224,1150,65,1085], // SOUTH EAST ARROW + 0x2199: [694,224,1150,64,1085], // SOUTH WEST ARROW + 0x21A6: [518,17,1150,65,1085], // RIGHTWARDS ARROW FROM BAR + 0x21A9: [518,17,1282,64,1218], // LEFTWARDS ARROW WITH HOOK + 0x21AA: [518,17,1282,65,1217], // RIGHTWARDS ARROW WITH HOOK + 0x21BC: [518,-220,1150,64,1084], // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BD: [281,17,1150,64,1084], // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C0: [518,-220,1150,65,1085], // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C1: [281,17,1150,64,1085], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21CC: [718,17,1150,64,1085], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21D0: [547,46,1150,64,1085], // LEFTWARDS DOUBLE ARROW + 0x21D1: [694,193,703,30,672], // UPWARDS DOUBLE ARROW + 0x21D2: [547,46,1150,64,1084], // RIGHTWARDS DOUBLE ARROW + 0x21D3: [694,194,703,30,672], // DOWNWARDS DOUBLE ARROW + 0x21D4: [547,46,1150,47,1102], // LEFT RIGHT DOUBLE ARROW + 0x21D5: [767,267,703,30,672], // UP DOWN DOUBLE ARROW + 0x2200: [694,16,639,1,640], // FOR ALL + 0x2202: [710,17,628,60,657], // PARTIAL DIFFERENTIAL + 0x2203: [694,-1,639,64,574], // THERE EXISTS + 0x2205: [767,73,575,46,528], // EMPTY SET + 0x2207: [686,24,958,56,901], // NABLA + 0x2208: [587,86,767,97,670], // ELEMENT OF + 0x2209: [711,210,767,97,670], // stix-negated (vert) set membership, variant + 0x220B: [587,86,767,96,670], // CONTAINS AS MEMBER + 0x2212: [281,-221,894,96,797], // MINUS SIGN + 0x2213: [537,227,894,64,829], // MINUS-OR-PLUS SIGN + 0x2215: [750,250,575,63,511], // DIVISION SLASH + 0x2216: [750,250,575,63,511], // SET MINUS + 0x2217: [472,-28,575,73,501], // ASTERISK OPERATOR + 0x2218: [474,-28,575,64,510], // RING OPERATOR + 0x2219: [474,-28,575,64,510], // BULLET OPERATOR + 0x221A: [820,180,958,78,988], // SQUARE ROOT + 0x221D: [451,8,894,65,830], // PROPORTIONAL TO + 0x221E: [452,8,1150,65,1084], // INFINITY + 0x2220: [714,0,722,55,676], // ANGLE + 0x2223: [750,249,319,129,190], // DIVIDES + 0x2225: [750,248,575,145,430], // PARALLEL TO + 0x2227: [604,17,767,64,702], // LOGICAL AND + 0x2228: [604,16,767,64,702], // LOGICAL OR + 0x2229: [603,16,767,64,702], // stix-intersection, serifs + 0x222A: [604,16,767,64,702], // stix-union, serifs + 0x222B: [711,211,569,64,632], // INTEGRAL + 0x223C: [391,-109,894,64,828], // TILDE OPERATOR + 0x2240: [583,82,319,64,254], // WREATH PRODUCT + 0x2243: [502,3,894,64,829], // ASYMPTOTICALLY EQUAL TO + 0x2245: [638,27,1000,64,829], // APPROXIMATELY EQUAL TO + 0x2248: [524,-32,894,64,829], // ALMOST EQUAL TO + 0x224D: [533,32,894,64,829], // EQUIVALENT TO + 0x2250: [721,-109,894,64,829], // APPROACHES THE LIMIT + 0x2260: [711,210,894,64,829], // stix-not (vert) equals + 0x2261: [505,3,894,64,829], // IDENTICAL TO + 0x2264: [697,199,894,96,797], // LESS-THAN OR EQUAL TO + 0x2265: [697,199,894,96,797], // GREATER-THAN OR EQUAL TO + 0x226A: [617,116,1150,64,1085], // MUCH LESS-THAN + 0x226B: [618,116,1150,64,1085], // MUCH GREATER-THAN + 0x227A: [585,86,894,96,797], // PRECEDES + 0x227B: [586,86,894,96,797], // SUCCEEDS + 0x2282: [587,85,894,96,797], // SUBSET OF + 0x2283: [587,86,894,96,796], // SUPERSET OF + 0x2286: [697,199,894,96,797], // SUBSET OF OR EQUAL TO + 0x2287: [697,199,894,96,796], // SUPERSET OF OR EQUAL TO + 0x228E: [604,16,767,64,702], // MULTISET UNION + 0x2291: [697,199,894,96,828], // SQUARE IMAGE OF OR EQUAL TO + 0x2292: [697,199,894,66,797], // SQUARE ORIGINAL OF OR EQUAL TO + 0x2293: [604,-1,767,70,696], // stix-square intersection, serifs + 0x2294: [604,-1,767,70,696], // stix-square union, serifs + 0x2295: [632,132,894,64,828], // stix-circled plus (with rim) + 0x2296: [632,132,894,64,828], // CIRCLED MINUS + 0x2297: [632,132,894,64,828], // stix-circled times (with rim) + 0x2298: [632,132,894,64,828], // CIRCLED DIVISION SLASH + 0x2299: [632,132,894,64,828], // CIRCLED DOT OPERATOR + 0x22A2: [693,-1,703,65,637], // RIGHT TACK + 0x22A3: [693,-1,703,64,638], // LEFT TACK + 0x22A4: [694,-1,894,64,829], // DOWN TACK + 0x22A5: [693,-1,894,65,829], // UP TACK + 0x22A8: [750,249,974,129,918], // TRUE + 0x22C4: [523,21,575,15,560], // DIAMOND OPERATOR + 0x22C5: [336,-166,319,74,245], // DOT OPERATOR + 0x22C6: [502,0,575,24,550], // STAR OPERATOR + 0x22C8: [540,39,1000,33,967], // BOWTIE + 0x22EE: [951,29,319,74,245], // VERTICAL ELLIPSIS + 0x22EF: [336,-166,1295,74,1221], // MIDLINE HORIZONTAL ELLIPSIS + 0x22F1: [871,-101,1323,129,1194], // DOWN RIGHT DIAGONAL ELLIPSIS + 0x2308: [750,248,511,194,493], // LEFT CEILING + 0x2309: [750,248,511,17,317], // RIGHT CEILING + 0x230A: [749,248,511,194,493], // LEFT FLOOR + 0x230B: [749,248,511,17,317], // RIGHT FLOOR + 0x2322: [405,-108,1150,65,1084], // stix-small down curve + 0x2323: [392,-126,1150,64,1085], // stix-small up curve + 0x25B3: [711,-1,1022,69,953], // WHITE UP-POINTING TRIANGLE + 0x25B9: [540,39,575,33,542], // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25BD: [500,210,1022,68,953], // WHITE DOWN-POINTING TRIANGLE + 0x25C3: [539,38,575,33,542], // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25EF: [711,211,1150,65,1084], // LARGE CIRCLE + 0x2660: [719,129,894,64,829], // BLACK SPADE SUIT + 0x2661: [711,24,894,65,828], // WHITE HEART SUIT + 0x2662: [719,154,894,64,828], // WHITE DIAMOND SUIT + 0x2663: [719,129,894,32,861], // BLACK CLUB SUIT + 0x266D: [750,17,447,64,381], // MUSIC FLAT SIGN + 0x266E: [741,223,447,57,389], // MUSIC NATURAL SIGN + 0x266F: [724,224,447,63,382], // MUSIC SHARP SIGN + 0x27E8: [750,249,447,127,382], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [750,249,447,64,319], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27F5: [518,17,1805,64,1741], // LONG LEFTWARDS ARROW + 0x27F6: [518,17,1833,96,1773], // LONG RIGHTWARDS ARROW + 0x27F7: [518,17,2126,64,2061], // LONG LEFT RIGHT ARROW + 0x27F8: [547,46,1868,64,1804], // LONG LEFTWARDS DOUBLE ARROW + 0x27F9: [547,46,1870,64,1804], // LONG RIGHTWARDS DOUBLE ARROW + 0x27FA: [547,46,2126,64,2060], // LONG LEFT RIGHT DOUBLE ARROW + 0x27FC: [518,17,1833,65,1773], // LONG RIGHTWARDS ARROW FROM BAR + 0x2A3F: [686,0,900,39,860], // AMALGAMATION OR COPRODUCT + 0x2AAF: [696,199,894,96,797], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [697,199,894,96,797] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN +}); + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js new file mode 100644 index 00000000..13cfbc6d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js @@ -0,0 +1,208 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Math-BoldItalic'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 255, ascent: 725, descent: 216, + weight: 'bold', + style: 'italic', + skew: { + 0x41: 0.16, + 0x42: 0.0958, + 0x43: 0.0958, + 0x44: 0.0639, + 0x45: 0.0958, + 0x46: 0.0958, + 0x47: 0.0958, + 0x48: 0.0639, + 0x49: 0.128, + 0x4A: 0.192, + 0x4B: 0.0639, + 0x4C: 0.0319, + 0x4D: 0.0958, + 0x4E: 0.0958, + 0x4F: 0.0958, + 0x50: 0.0958, + 0x51: 0.0958, + 0x52: 0.0958, + 0x53: 0.0958, + 0x54: 0.0958, + 0x55: 0.0319, + 0x58: 0.0958, + 0x5A: 0.0958, + 0x63: 0.0639, + 0x64: 0.192, + 0x65: 0.0639, + 0x66: 0.192, + 0x67: 0.0319, + 0x68: -0.0319, + 0x6C: 0.0958, + 0x6F: 0.0639, + 0x70: 0.0958, + 0x71: 0.0958, + 0x72: 0.0639, + 0x73: 0.0639, + 0x74: 0.0958, + 0x75: 0.0319, + 0x76: 0.0319, + 0x77: 0.0958, + 0x78: 0.0319, + 0x79: 0.0639, + 0x7A: 0.0639, + 0x393: 0.0958, + 0x394: 0.192, + 0x398: 0.0958, + 0x39B: 0.192, + 0x39E: 0.0958, + 0x3A0: 0.0639, + 0x3A3: 0.0958, + 0x3A5: 0.0639, + 0x3A6: 0.0958, + 0x3A8: 0.0639, + 0x3A9: 0.0958, + 0x3B1: 0.0319, + 0x3B2: 0.0958, + 0x3B4: 0.0639, + 0x3B5: 0.0958, + 0x3B6: 0.0958, + 0x3B7: 0.0639, + 0x3B8: 0.0958, + 0x3B9: 0.0639, + 0x3BC: 0.0319, + 0x3BD: 0.0319, + 0x3BE: 0.128, + 0x3BF: 0.0639, + 0x3C1: 0.0958, + 0x3C2: 0.0958, + 0x3C4: 0.0319, + 0x3C5: 0.0319, + 0x3C6: 0.0958, + 0x3C7: 0.0639, + 0x3C8: 0.128, + 0x3D1: 0.0958, + 0x3D5: 0.0958, + 0x3F1: 0.0958, + 0x3F5: 0.0639 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x2F: [711,210,894,160,733], // SOLIDUS + 0x41: [711,0,869,45,839], // LATIN CAPITAL LETTER A + 0x42: [686,0,866,43,853], // LATIN CAPITAL LETTER B + 0x43: [703,17,817,55,855], // LATIN CAPITAL LETTER C + 0x44: [686,0,938,43,914], // LATIN CAPITAL LETTER D + 0x45: [680,0,810,43,825], // LATIN CAPITAL LETTER E + 0x46: [680,0,689,43,809], // LATIN CAPITAL LETTER F + 0x47: [703,16,887,56,854], // LATIN CAPITAL LETTER G + 0x48: [686,0,982,43,1027], // LATIN CAPITAL LETTER H + 0x49: [686,0,511,30,573], // LATIN CAPITAL LETTER I + 0x4A: [686,17,631,42,694], // LATIN CAPITAL LETTER J + 0x4B: [686,0,971,43,1003], // LATIN CAPITAL LETTER K + 0x4C: [686,0,756,43,711], // LATIN CAPITAL LETTER L + 0x4D: [686,0,1142,43,1219], // LATIN CAPITAL LETTER M + 0x4E: [686,0,950,43,1027], // LATIN CAPITAL LETTER N + 0x4F: [703,17,837,53,815], // LATIN CAPITAL LETTER O + 0x50: [686,0,723,43,847], // LATIN CAPITAL LETTER P + 0x51: [703,194,869,53,815], // LATIN CAPITAL LETTER Q + 0x52: [686,17,872,43,881], // LATIN CAPITAL LETTER R + 0x53: [703,17,693,63,714], // LATIN CAPITAL LETTER S + 0x54: [675,0,637,22,772], // LATIN CAPITAL LETTER T + 0x55: [686,16,800,63,877], // LATIN CAPITAL LETTER U + 0x56: [686,16,678,62,886], // LATIN CAPITAL LETTER V + 0x57: [686,17,1093,61,1207], // LATIN CAPITAL LETTER W + 0x58: [686,0,947,38,953], // LATIN CAPITAL LETTER X + 0x59: [686,0,675,40,876], // LATIN CAPITAL LETTER Y + 0x5A: [686,0,773,68,805], // LATIN CAPITAL LETTER Z + 0x61: [452,8,633,38,607], // LATIN SMALL LETTER A + 0x62: [694,8,521,45,513], // LATIN SMALL LETTER B + 0x63: [451,8,513,40,509], // LATIN SMALL LETTER C + 0x64: [694,8,610,38,612], // LATIN SMALL LETTER D + 0x65: [452,8,554,42,509], // LATIN SMALL LETTER E + 0x66: [701,201,568,64,624], // LATIN SMALL LETTER F + 0x67: [452,202,545,0,540], // LATIN SMALL LETTER G + 0x68: [694,8,668,45,642], // LATIN SMALL LETTER H + 0x69: [694,8,405,24,367], // LATIN SMALL LETTER I + 0x6A: [694,202,471,-12,456], // LATIN SMALL LETTER J + 0x6B: [694,8,604,45,578], // LATIN SMALL LETTER K + 0x6C: [694,8,348,27,296], // LATIN SMALL LETTER L + 0x6D: [452,8,1032,24,1006], // LATIN SMALL LETTER M + 0x6E: [452,8,713,24,687], // LATIN SMALL LETTER N + 0x6F: [452,8,585,39,576], // LATIN SMALL LETTER O + 0x70: [452,194,601,-23,593], // LATIN SMALL LETTER P + 0x71: [452,194,542,38,550], // LATIN SMALL LETTER Q + 0x72: [452,8,529,24,500], // LATIN SMALL LETTER R + 0x73: [451,8,531,57,476], // LATIN SMALL LETTER S + 0x74: [643,7,415,21,387], // LATIN SMALL LETTER T + 0x75: [452,8,681,24,655], // LATIN SMALL LETTER U + 0x76: [453,8,567,24,540], // LATIN SMALL LETTER V + 0x77: [453,8,831,24,796], // LATIN SMALL LETTER W + 0x78: [452,8,659,43,599], // LATIN SMALL LETTER X + 0x79: [452,202,590,24,587], // LATIN SMALL LETTER Y + 0x7A: [452,8,555,34,539], // LATIN SMALL LETTER Z + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,0,657,43,777], // GREEK CAPITAL LETTER GAMMA + 0x394: [711,0,958,59,904], // GREEK CAPITAL LETTER DELTA + 0x398: [702,17,867,54,844], // GREEK CAPITAL LETTER THETA + 0x39B: [711,0,806,44,776], // GREEK CAPITAL LETTER LAMDA + 0x39E: [675,0,841,62,867], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,982,43,1026], // GREEK CAPITAL LETTER PI + 0x3A3: [686,0,885,69,902], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [703,0,671,32,802], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [686,0,767,29,737], // GREEK CAPITAL LETTER PHI + 0x3A8: [686,0,714,22,790], // GREEK CAPITAL LETTER PSI + 0x3A9: [703,0,879,93,886], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [452,8,761,39,712], // GREEK SMALL LETTER ALPHA + 0x3B2: [701,194,660,28,637], // GREEK SMALL LETTER BETA + 0x3B3: [451,211,590,5,617], // GREEK SMALL LETTER GAMMA + 0x3B4: [725,8,522,39,513], // GREEK SMALL LETTER DELTA + 0x3B5: [461,17,529,36,481], // GREEK SMALL LETTER EPSILON + 0x3B6: [711,202,508,48,521], // GREEK SMALL LETTER ZETA + 0x3B7: [452,211,600,24,600], // GREEK SMALL LETTER ETA + 0x3B8: [702,8,562,40,554], // GREEK SMALL LETTER THETA + 0x3B9: [452,8,412,38,386], // GREEK SMALL LETTER IOTA + 0x3BA: [452,8,668,45,642], // GREEK SMALL LETTER KAPPA + 0x3BB: [694,13,671,40,652], // GREEK SMALL LETTER LAMDA + 0x3BC: [452,211,708,33,682], // GREEK SMALL LETTER MU + 0x3BD: [452,2,577,38,608], // GREEK SMALL LETTER NU + 0x3BE: [711,201,508,23,490], // GREEK SMALL LETTER XI + 0x3BF: [452,8,585,39,576], // GREEK SMALL LETTER OMICRON + 0x3C0: [444,8,682,23,674], // GREEK SMALL LETTER PI + 0x3C1: [451,211,612,34,603], // GREEK SMALL LETTER RHO + 0x3C2: [451,105,424,33,457], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [444,8,686,35,677], // GREEK SMALL LETTER SIGMA + 0x3C4: [444,13,521,23,610], // GREEK SMALL LETTER TAU + 0x3C5: [453,8,631,24,604], // GREEK SMALL LETTER UPSILON + 0x3C6: [452,216,747,53,703], // GREEK SMALL LETTER PHI + 0x3C7: [452,201,718,32,685], // GREEK SMALL LETTER CHI + 0x3C8: [694,202,758,24,732], // GREEK SMALL LETTER PSI + 0x3C9: [453,8,718,24,691], // GREEK SMALL LETTER OMEGA + 0x3D1: [701,8,692,24,656], // GREEK THETA SYMBOL + 0x3D5: [694,202,712,51,693], // GREEK PHI SYMBOL + 0x3D6: [444,8,975,23,961], // GREEK PI SYMBOL + 0x3F1: [451,194,612,75,603], // GREEK RHO SYMBOL + 0x3F5: [444,7,483,44,450] // GREEK LUNATE EPSILON SYMBOL +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js new file mode 100644 index 00000000..de133ed5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js @@ -0,0 +1,152 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_SansSerif-Bold'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 250, ascent: 750, descent: 250, + weight: 'bold', + 0x20: [0,0,250,0,0], // SPACE + 0x21: [694,0,367,110,256], // EXCLAMATION MARK + 0x22: [694,-442,558,37,420], // QUOTATION MARK + 0x23: [694,193,917,61,855], // NUMBER SIGN + 0x24: [750,56,550,49,488], // DOLLAR SIGN + 0x25: [750,56,1029,61,966], // PERCENT SIGN + 0x26: [716,22,831,47,769], // AMPERSAND + 0x27: [694,-442,306,80,226], // APOSTROPHE + 0x28: [750,249,428,79,366], // LEFT PARENTHESIS + 0x29: [750,250,428,61,348], // RIGHT PARENTHESIS + 0x2A: [750,-293,550,67,482], // ASTERISK + 0x2B: [617,116,856,61,794], // PLUS SIGN + 0x2C: [146,106,306,80,226], // COMMA + 0x2D: [273,-186,367,12,305], // HYPHEN-MINUS + 0x2E: [146,0,306,80,226], // FULL STOP + 0x2F: [750,249,550,61,488], // SOLIDUS + 0x30: [715,22,550,43,506], // DIGIT ZERO + 0x31: [716,-1,550,76,473], // DIGIT ONE + 0x32: [716,0,550,46,495], // DIGIT TWO + 0x33: [716,22,550,46,503], // DIGIT THREE + 0x34: [694,0,550,31,518], // DIGIT FOUR + 0x35: [694,22,550,37,494], // DIGIT FIVE + 0x36: [716,22,550,46,503], // DIGIT SIX + 0x37: [695,11,550,46,503], // DIGIT SEVEN + 0x38: [715,22,550,46,503], // DIGIT EIGHT + 0x39: [716,22,550,46,503], // DIGIT NINE + 0x3A: [458,0,306,80,226], // COLON + 0x3B: [458,106,306,80,226], // SEMICOLON + 0x3D: [407,-94,856,61,794], // EQUALS SIGN + 0x3F: [705,0,519,61,457], // QUESTION MARK + 0x40: [704,11,733,61,671], // COMMERCIAL AT + 0x41: [694,0,733,42,690], // LATIN CAPITAL LETTER A + 0x42: [694,-1,733,92,671], // LATIN CAPITAL LETTER B + 0x43: [704,11,703,61,647], // LATIN CAPITAL LETTER C + 0x44: [694,-1,794,92,732], // LATIN CAPITAL LETTER D + 0x45: [691,0,642,92,595], // LATIN CAPITAL LETTER E + 0x46: [691,0,611,92,564], // LATIN CAPITAL LETTER F + 0x47: [705,11,733,61,659], // LATIN CAPITAL LETTER G + 0x48: [694,0,794,92,702], // LATIN CAPITAL LETTER H + 0x49: [694,0,331,85,246], // LATIN CAPITAL LETTER I + 0x4A: [694,22,519,46,427], // LATIN CAPITAL LETTER J + 0x4B: [694,0,764,92,701], // LATIN CAPITAL LETTER K + 0x4C: [694,0,581,92,534], // LATIN CAPITAL LETTER L + 0x4D: [694,0,978,92,886], // LATIN CAPITAL LETTER M + 0x4E: [694,0,794,92,702], // LATIN CAPITAL LETTER N + 0x4F: [716,22,794,62,731], // LATIN CAPITAL LETTER O + 0x50: [694,0,703,92,641], // LATIN CAPITAL LETTER P + 0x51: [716,106,794,62,732], // LATIN CAPITAL LETTER Q + 0x52: [694,0,703,92,654], // LATIN CAPITAL LETTER R + 0x53: [716,22,611,49,549], // LATIN CAPITAL LETTER S + 0x54: [688,0,733,40,692], // LATIN CAPITAL LETTER T + 0x55: [694,22,764,92,672], // LATIN CAPITAL LETTER U + 0x56: [694,-1,733,27,705], // LATIN CAPITAL LETTER V + 0x57: [694,0,1039,24,1014], // LATIN CAPITAL LETTER W + 0x58: [694,0,733,37,694], // LATIN CAPITAL LETTER X + 0x59: [694,0,733,24,708], // LATIN CAPITAL LETTER Y + 0x5A: [694,0,672,61,616], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,343,79,318], // LEFT SQUARE BRACKET + 0x5D: [750,250,343,24,263], // RIGHT SQUARE BRACKET + 0x5E: [694,-537,550,108,441], // CIRCUMFLEX ACCENT + 0x5F: [-23,110,550,0,549], // LOW LINE + 0x61: [475,11,525,31,472], // LATIN SMALL LETTER A + 0x62: [694,10,561,54,523], // LATIN SMALL LETTER B + 0x63: [475,11,489,37,457], // LATIN SMALL LETTER C + 0x64: [694,11,561,37,507], // LATIN SMALL LETTER D + 0x65: [474,10,511,30,480], // LATIN SMALL LETTER E + 0x66: [705,0,336,29,381], // LATIN SMALL LETTER F + 0x67: [469,206,550,17,534], // LATIN SMALL LETTER G + 0x68: [694,0,561,53,508], // LATIN SMALL LETTER H + 0x69: [695,0,256,46,208], // LATIN SMALL LETTER I + 0x6A: [695,205,286,-71,232], // LATIN SMALL LETTER J + 0x6B: [694,0,531,63,496], // LATIN SMALL LETTER K + 0x6C: [694,0,256,54,201], // LATIN SMALL LETTER L + 0x6D: [469,0,867,53,815], // LATIN SMALL LETTER M + 0x6E: [468,0,561,53,508], // LATIN SMALL LETTER N + 0x6F: [474,11,550,32,518], // LATIN SMALL LETTER O + 0x70: [469,194,561,54,523], // LATIN SMALL LETTER P + 0x71: [469,194,561,37,507], // LATIN SMALL LETTER Q + 0x72: [469,0,372,54,356], // LATIN SMALL LETTER R + 0x73: [474,10,422,30,396], // LATIN SMALL LETTER S + 0x74: [589,10,404,20,373], // LATIN SMALL LETTER T + 0x75: [458,11,561,52,508], // LATIN SMALL LETTER U + 0x76: [458,0,500,26,473], // LATIN SMALL LETTER V + 0x77: [458,0,744,24,719], // LATIN SMALL LETTER W + 0x78: [458,0,500,24,475], // LATIN SMALL LETTER X + 0x79: [458,205,500,29,473], // LATIN SMALL LETTER Y + 0x7A: [458,0,476,31,442], // LATIN SMALL LETTER Z + 0x7E: [344,-198,550,92,457], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [458,0,256,54,201], // LATIN SMALL LETTER DOTLESS I + 0x237: [458,205,286,-71,232], // LATIN SMALL LETTER DOTLESS J + 0x300: [694,-537,0,-458,-218], // COMBINING GRAVE ACCENT + 0x301: [694,-537,0,-334,-93], // COMBINING ACUTE ACCENT + 0x302: [694,-537,0,-442,-109], // COMBINING CIRCUMFLEX ACCENT + 0x303: [694,-548,0,-458,-93], // COMBINING TILDE + 0x304: [660,-560,0,-474,-77], // COMBINING MACRON + 0x306: [694,-552,0,-470,-80], // COMBINING BREVE + 0x307: [695,-596,0,-356,-194], // COMBINING DOT ABOVE + 0x308: [695,-595,0,-459,-91], // COMBINING DIAERESIS + 0x30A: [694,-538,0,-365,-119], // COMBINING RING ABOVE + 0x30B: [694,-537,0,-440,-94], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [657,-500,0,-442,-109], // COMBINING CARON + 0x393: [691,0,581,92,534], // GREEK CAPITAL LETTER GAMMA + 0x394: [694,0,917,60,856], // GREEK CAPITAL LETTER DELTA + 0x398: [716,22,856,62,793], // GREEK CAPITAL LETTER THETA + 0x39B: [694,0,672,41,630], // GREEK CAPITAL LETTER LAMDA + 0x39E: [688,0,733,46,686], // GREEK CAPITAL LETTER XI + 0x3A0: [691,0,794,92,702], // GREEK CAPITAL LETTER PI + 0x3A3: [694,0,794,61,732], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [715,0,856,62,793], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [694,0,794,62,732], // GREEK CAPITAL LETTER PHI + 0x3A8: [694,0,856,61,794], // GREEK CAPITAL LETTER PSI + 0x3A9: [716,0,794,49,744], // GREEK CAPITAL LETTER OMEGA + 0x2013: [327,-240,550,0,549], // EN DASH + 0x2014: [327,-240,1100,0,1099], // EM DASH + 0x2018: [694,-443,306,81,226], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-442,306,80,226], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-443,558,138,520], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-442,558,37,420] // RIGHT DOUBLE QUOTATION MARK +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js new file mode 100644 index 00000000..28c6a6f4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js @@ -0,0 +1,152 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_SansSerif-Italic'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 250, ascent: 750, descent: 250, + style: 'italic', + 0x20: [0,0,250,0,0], // SPACE + 0x21: [694,0,319,110,355], // EXCLAMATION MARK + 0x22: [694,-471,500,133,472], // QUOTATION MARK + 0x23: [694,194,833,87,851], // NUMBER SIGN + 0x24: [750,56,500,56,565], // DOLLAR SIGN + 0x25: [750,56,833,165,815], // PERCENT SIGN + 0x26: [716,22,758,71,747], // AMPERSAND + 0x27: [694,-471,278,190,335], // APOSTROPHE + 0x28: [750,250,389,104,491], // LEFT PARENTHESIS + 0x29: [750,250,389,2,390], // RIGHT PARENTHESIS + 0x2A: [750,-306,500,156,568], // ASTERISK + 0x2B: [583,83,778,108,775], // PLUS SIGN + 0x2C: [98,125,278,63,209], // COMMA + 0x2D: [259,-186,333,51,332], // HYPHEN-MINUS + 0x2E: [98,0,278,90,209], // FULL STOP + 0x2F: [750,250,500,6,600], // SOLIDUS + 0x30: [678,22,500,88,549], // DIGIT ZERO + 0x31: [678,0,500,88,451], // DIGIT ONE + 0x32: [678,0,500,50,551], // DIGIT TWO + 0x33: [678,22,500,56,544], // DIGIT THREE + 0x34: [656,0,500,62,521], // DIGIT FOUR + 0x35: [656,22,500,50,555], // DIGIT FIVE + 0x36: [678,22,500,94,548], // DIGIT SIX + 0x37: [656,11,500,143,596], // DIGIT SEVEN + 0x38: [678,22,500,77,554], // DIGIT EIGHT + 0x39: [677,22,500,77,545], // DIGIT NINE + 0x3A: [444,0,278,90,282], // COLON + 0x3B: [444,125,278,63,282], // SEMICOLON + 0x3D: [370,-130,778,88,796], // EQUALS SIGN + 0x3F: [704,0,472,173,536], // QUESTION MARK + 0x40: [705,10,667,120,707], // COMMERCIAL AT + 0x41: [694,0,667,28,638], // LATIN CAPITAL LETTER A + 0x42: [694,0,667,90,696], // LATIN CAPITAL LETTER B + 0x43: [705,10,639,124,719], // LATIN CAPITAL LETTER C + 0x44: [694,0,722,88,747], // LATIN CAPITAL LETTER D + 0x45: [691,0,597,86,688], // LATIN CAPITAL LETTER E + 0x46: [691,0,569,86,673], // LATIN CAPITAL LETTER F + 0x47: [705,11,667,125,730], // LATIN CAPITAL LETTER G + 0x48: [694,0,708,86,768], // LATIN CAPITAL LETTER H + 0x49: [694,0,278,87,338], // LATIN CAPITAL LETTER I + 0x4A: [694,22,472,46,535], // LATIN CAPITAL LETTER J + 0x4B: [694,0,694,88,785], // LATIN CAPITAL LETTER K + 0x4C: [694,0,542,87,516], // LATIN CAPITAL LETTER L + 0x4D: [694,0,875,92,929], // LATIN CAPITAL LETTER M + 0x4E: [694,0,708,88,766], // LATIN CAPITAL LETTER N + 0x4F: [716,22,736,118,763], // LATIN CAPITAL LETTER O + 0x50: [694,0,639,88,690], // LATIN CAPITAL LETTER P + 0x51: [716,125,736,118,763], // LATIN CAPITAL LETTER Q + 0x52: [694,0,646,88,698], // LATIN CAPITAL LETTER R + 0x53: [716,22,556,54,609], // LATIN CAPITAL LETTER S + 0x54: [688,0,681,165,790], // LATIN CAPITAL LETTER T + 0x55: [694,22,688,131,747], // LATIN CAPITAL LETTER U + 0x56: [694,0,667,161,799], // LATIN CAPITAL LETTER V + 0x57: [694,0,944,161,1076], // LATIN CAPITAL LETTER W + 0x58: [694,0,667,14,758], // LATIN CAPITAL LETTER X + 0x59: [694,0,667,151,810], // LATIN CAPITAL LETTER Y + 0x5A: [694,0,611,55,702], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,289,41,425], // LEFT SQUARE BRACKET + 0x5D: [750,250,289,-31,353], // RIGHT SQUARE BRACKET + 0x5E: [694,-527,500,190,533], // CIRCUMFLEX ACCENT + 0x5F: [-38,114,500,50,565], // LOW LINE + 0x61: [461,10,481,61,473], // LATIN SMALL LETTER A + 0x62: [694,11,517,75,539], // LATIN SMALL LETTER B + 0x63: [460,11,444,75,499], // LATIN SMALL LETTER C + 0x64: [694,10,517,73,588], // LATIN SMALL LETTER D + 0x65: [460,11,444,71,472], // LATIN SMALL LETTER E + 0x66: [705,0,306,94,494], // LATIN SMALL LETTER F + 0x67: [455,206,500,12,568], // LATIN SMALL LETTER G + 0x68: [694,0,517,73,513], // LATIN SMALL LETTER H + 0x69: [680,0,239,74,315], // LATIN SMALL LETTER I + 0x6A: [680,204,267,-96,336], // LATIN SMALL LETTER J + 0x6B: [694,0,489,76,543], // LATIN SMALL LETTER K + 0x6C: [694,0,239,74,311], // LATIN SMALL LETTER L + 0x6D: [455,0,794,73,790], // LATIN SMALL LETTER M + 0x6E: [454,0,517,73,513], // LATIN SMALL LETTER N + 0x6F: [461,11,500,69,523], // LATIN SMALL LETTER O + 0x70: [455,194,517,34,538], // LATIN SMALL LETTER P + 0x71: [455,194,517,72,538], // LATIN SMALL LETTER Q + 0x72: [455,0,342,74,424], // LATIN SMALL LETTER R + 0x73: [461,11,383,35,436], // LATIN SMALL LETTER S + 0x74: [571,11,361,97,410], // LATIN SMALL LETTER T + 0x75: [444,10,517,90,537], // LATIN SMALL LETTER U + 0x76: [444,0,461,108,540], // LATIN SMALL LETTER V + 0x77: [444,0,683,108,762], // LATIN SMALL LETTER W + 0x78: [444,0,461,1,537], // LATIN SMALL LETTER X + 0x79: [444,205,461,1,540], // LATIN SMALL LETTER Y + 0x7A: [444,0,435,28,494], // LATIN SMALL LETTER Z + 0x7E: [327,-193,500,199,560], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [444,0,239,74,258], // LATIN SMALL LETTER DOTLESS I + 0x237: [444,204,267,-96,286], // LATIN SMALL LETTER DOTLESS J + 0x300: [694,-527,0,-270,-87], // COMBINING GRAVE ACCENT + 0x301: [694,-527,0,-190,63], // COMBINING ACUTE ACCENT + 0x302: [694,-527,0,-310,33], // COMBINING CIRCUMFLEX ACCENT + 0x303: [677,-543,0,-301,60], // COMBINING TILDE + 0x304: [631,-552,0,-314,64], // COMBINING MACRON + 0x306: [694,-508,0,-284,73], // COMBINING BREVE + 0x307: [680,-576,0,-180,-54], // COMBINING DOT ABOVE + 0x308: [680,-582,0,-273,40], // COMBINING DIAERESIS + 0x30A: [693,-527,0,-227,-2], // COMBINING RING ABOVE + 0x30B: [694,-527,0,-287,63], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [654,-487,0,-283,60], // COMBINING CARON + 0x393: [691,0,542,87,646], // GREEK CAPITAL LETTER GAMMA + 0x394: [694,0,833,42,790], // GREEK CAPITAL LETTER DELTA + 0x398: [715,22,778,119,804], // GREEK CAPITAL LETTER THETA + 0x39B: [694,0,611,28,582], // GREEK CAPITAL LETTER LAMDA + 0x39E: [688,0,667,42,765], // GREEK CAPITAL LETTER XI + 0x3A0: [691,0,708,86,768], // GREEK CAPITAL LETTER PI + 0x3A3: [694,0,722,55,813], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [716,0,778,173,843], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [694,0,722,124,743], // GREEK CAPITAL LETTER PHI + 0x3A8: [694,0,778,171,854], // GREEK CAPITAL LETTER PSI + 0x3A9: [716,0,722,44,769], // GREEK CAPITAL LETTER OMEGA + 0x2013: [312,-236,500,50,565], // EN DASH + 0x2014: [312,-236,1000,50,1065], // EM DASH + 0x2018: [694,-471,278,190,336], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-471,278,190,335], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-471,500,274,614], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-471,500,133,472] // RIGHT DOUBLE QUOTATION MARK +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js new file mode 100644 index 00000000..0d14a1b3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js @@ -0,0 +1,152 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_SansSerif'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 250, ascent: 750, descent: 250, + + 0x20: [0,0,250,0,0], // SPACE + 0x21: [694,0,319,110,208], // EXCLAMATION MARK + 0x22: [694,-471,500,32,325], // QUOTATION MARK + 0x23: [694,194,833,56,777], // NUMBER SIGN + 0x24: [750,56,500,44,444], // DOLLAR SIGN + 0x25: [750,56,833,56,776], // PERCENT SIGN + 0x26: [716,22,758,42,702], // AMPERSAND + 0x27: [694,-471,278,89,188], // APOSTROPHE + 0x28: [750,250,389,74,333], // LEFT PARENTHESIS + 0x29: [750,250,389,55,314], // RIGHT PARENTHESIS + 0x2A: [750,-306,500,63,436], // ASTERISK + 0x2B: [583,82,778,56,722], // PLUS SIGN + 0x2C: [98,125,278,89,188], // COMMA + 0x2D: [259,-186,333,11,277], // HYPHEN-MINUS + 0x2E: [98,0,278,90,188], // FULL STOP + 0x2F: [750,250,500,56,445], // SOLIDUS + 0x30: [678,22,500,39,460], // DIGIT ZERO + 0x31: [678,0,500,83,430], // DIGIT ONE + 0x32: [677,0,500,42,449], // DIGIT TWO + 0x33: [678,22,500,42,457], // DIGIT THREE + 0x34: [656,0,500,28,471], // DIGIT FOUR + 0x35: [656,21,500,33,449], // DIGIT FIVE + 0x36: [677,22,500,42,457], // DIGIT SIX + 0x37: [656,11,500,42,457], // DIGIT SEVEN + 0x38: [678,22,500,43,456], // DIGIT EIGHT + 0x39: [677,22,500,42,457], // DIGIT NINE + 0x3A: [444,0,278,90,188], // COLON + 0x3B: [444,125,278,89,188], // SEMICOLON + 0x3D: [370,-130,778,56,722], // EQUALS SIGN + 0x3F: [704,0,472,55,416], // QUESTION MARK + 0x40: [704,11,667,56,612], // COMMERCIAL AT + 0x41: [694,0,667,28,638], // LATIN CAPITAL LETTER A + 0x42: [694,0,667,90,610], // LATIN CAPITAL LETTER B + 0x43: [705,11,639,59,587], // LATIN CAPITAL LETTER C + 0x44: [694,0,722,88,666], // LATIN CAPITAL LETTER D + 0x45: [691,0,597,86,554], // LATIN CAPITAL LETTER E + 0x46: [691,0,569,86,526], // LATIN CAPITAL LETTER F + 0x47: [704,11,667,59,599], // LATIN CAPITAL LETTER G + 0x48: [694,0,708,86,621], // LATIN CAPITAL LETTER H + 0x49: [694,0,278,87,191], // LATIN CAPITAL LETTER I + 0x4A: [694,22,472,42,388], // LATIN CAPITAL LETTER J + 0x4B: [694,0,694,88,651], // LATIN CAPITAL LETTER K + 0x4C: [694,0,542,87,499], // LATIN CAPITAL LETTER L + 0x4D: [694,0,875,92,782], // LATIN CAPITAL LETTER M + 0x4E: [694,0,708,88,619], // LATIN CAPITAL LETTER N + 0x4F: [715,22,736,55,680], // LATIN CAPITAL LETTER O + 0x50: [694,0,639,88,583], // LATIN CAPITAL LETTER P + 0x51: [715,125,736,55,680], // LATIN CAPITAL LETTER Q + 0x52: [694,0,646,88,617], // LATIN CAPITAL LETTER R + 0x53: [716,22,556,44,500], // LATIN CAPITAL LETTER S + 0x54: [688,0,681,36,644], // LATIN CAPITAL LETTER T + 0x55: [694,22,688,87,600], // LATIN CAPITAL LETTER U + 0x56: [694,0,667,14,652], // LATIN CAPITAL LETTER V + 0x57: [694,0,944,14,929], // LATIN CAPITAL LETTER W + 0x58: [694,0,667,14,652], // LATIN CAPITAL LETTER X + 0x59: [694,0,667,3,663], // LATIN CAPITAL LETTER Y + 0x5A: [694,0,611,55,560], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,289,94,266], // LEFT SQUARE BRACKET + 0x5D: [750,250,289,22,194], // RIGHT SQUARE BRACKET + 0x5E: [694,-527,500,78,421], // CIRCUMFLEX ACCENT + 0x5F: [-38,114,500,0,499], // LOW LINE + 0x61: [460,10,481,38,407], // LATIN SMALL LETTER A + 0x62: [694,11,517,75,482], // LATIN SMALL LETTER B + 0x63: [460,10,444,34,415], // LATIN SMALL LETTER C + 0x64: [694,10,517,33,441], // LATIN SMALL LETTER D + 0x65: [461,10,444,28,415], // LATIN SMALL LETTER E + 0x66: [705,0,306,27,347], // LATIN SMALL LETTER F + 0x67: [455,206,500,28,485], // LATIN SMALL LETTER G + 0x68: [694,0,517,73,443], // LATIN SMALL LETTER H + 0x69: [680,0,239,67,171], // LATIN SMALL LETTER I + 0x6A: [680,205,267,-59,192], // LATIN SMALL LETTER J + 0x6B: [694,0,489,76,471], // LATIN SMALL LETTER K + 0x6C: [694,0,239,74,164], // LATIN SMALL LETTER L + 0x6D: [455,0,794,73,720], // LATIN SMALL LETTER M + 0x6E: [455,0,517,73,443], // LATIN SMALL LETTER N + 0x6F: [460,10,500,28,471], // LATIN SMALL LETTER O + 0x70: [455,194,517,75,483], // LATIN SMALL LETTER P + 0x71: [455,194,517,33,441], // LATIN SMALL LETTER Q + 0x72: [455,0,342,74,327], // LATIN SMALL LETTER R + 0x73: [460,10,383,28,360], // LATIN SMALL LETTER S + 0x74: [571,10,361,18,333], // LATIN SMALL LETTER T + 0x75: [444,10,517,73,443], // LATIN SMALL LETTER U + 0x76: [444,0,461,14,446], // LATIN SMALL LETTER V + 0x77: [444,0,683,14,668], // LATIN SMALL LETTER W + 0x78: [444,0,461,0,460], // LATIN SMALL LETTER X + 0x79: [444,204,461,14,446], // LATIN SMALL LETTER Y + 0x7A: [444,0,435,28,402], // LATIN SMALL LETTER Z + 0x7E: [327,-193,500,83,416], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [444,0,239,74,164], // LATIN SMALL LETTER DOTLESS I + 0x237: [444,205,267,-59,192], // LATIN SMALL LETTER DOTLESS J + 0x300: [694,-527,0,-417,-199], // COMBINING GRAVE ACCENT + 0x301: [694,-527,0,-302,-84], // COMBINING ACUTE ACCENT + 0x302: [694,-527,0,-422,-79], // COMBINING CIRCUMFLEX ACCENT + 0x303: [677,-543,0,-417,-84], // COMBINING TILDE + 0x304: [631,-552,0,-431,-70], // COMBINING MACRON + 0x306: [694,-508,0,-427,-74], // COMBINING BREVE + 0x307: [680,-576,0,-302,-198], // COMBINING DOT ABOVE + 0x308: [680,-582,0,-397,-104], // COMBINING DIAERESIS + 0x30A: [694,-527,0,-319,-99], // COMBINING RING ABOVE + 0x30B: [694,-527,0,-399,-84], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [654,-487,0,-422,-79], // COMBINING CARON + 0x393: [691,0,542,87,499], // GREEK CAPITAL LETTER GAMMA + 0x394: [694,0,833,42,790], // GREEK CAPITAL LETTER DELTA + 0x398: [716,21,778,56,722], // GREEK CAPITAL LETTER THETA + 0x39B: [694,0,611,28,582], // GREEK CAPITAL LETTER LAMDA + 0x39E: [688,0,667,42,624], // GREEK CAPITAL LETTER XI + 0x3A0: [691,0,708,86,621], // GREEK CAPITAL LETTER PI + 0x3A3: [694,0,722,55,666], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [716,0,778,55,722], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [694,0,722,55,666], // GREEK CAPITAL LETTER PHI + 0x3A8: [694,0,778,55,722], // GREEK CAPITAL LETTER PSI + 0x3A9: [716,0,722,44,677], // GREEK CAPITAL LETTER OMEGA + 0x2013: [312,-236,500,0,499], // EN DASH + 0x2014: [312,-236,1000,0,999], // EM DASH + 0x2018: [694,-471,278,90,189], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-471,278,89,188], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-471,500,174,467], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-471,500,32,325] // RIGHT DOUBLE QUOTATION MARK +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Script-Regular.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Script-Regular.js new file mode 100644 index 00000000..d37e3721 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Script-Regular.js @@ -0,0 +1,88 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Script'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 211, ascent: 735, descent: 314, + skew: { + 0x41: 0.389, + 0x42: 0.194, + 0x43: 0.278, + 0x44: 0.111, + 0x45: 0.139, + 0x46: 0.222, + 0x47: 0.25, + 0x48: 0.333, + 0x49: 0.333, + 0x4A: 0.417, + 0x4B: 0.361, + 0x4C: 0.306, + 0x4D: 0.444, + 0x4E: 0.389, + 0x4F: 0.167, + 0x50: 0.222, + 0x51: 0.278, + 0x52: 0.194, + 0x53: 0.333, + 0x54: 0.222, + 0x55: 0.25, + 0x56: 0.222, + 0x57: 0.25, + 0x58: 0.278, + 0x59: 0.194, + 0x5A: 0.306 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x41: [717,8,803,35,1016], // LATIN CAPITAL LETTER A + 0x42: [708,28,908,31,928], // LATIN CAPITAL LETTER B + 0x43: [728,26,666,26,819], // LATIN CAPITAL LETTER C + 0x44: [708,31,774,68,855], // LATIN CAPITAL LETTER D + 0x45: [707,8,562,46,718], // LATIN CAPITAL LETTER E + 0x46: [735,36,895,39,990], // LATIN CAPITAL LETTER F + 0x47: [717,37,610,12,738], // LATIN CAPITAL LETTER G + 0x48: [717,36,969,29,1241], // LATIN CAPITAL LETTER H + 0x49: [717,17,809,59,946], // LATIN CAPITAL LETTER I + 0x4A: [717,314,1052,92,1133], // LATIN CAPITAL LETTER J + 0x4B: [717,37,914,29,1204], // LATIN CAPITAL LETTER K + 0x4C: [717,17,874,14,1035], // LATIN CAPITAL LETTER L + 0x4D: [721,50,1080,30,1216], // LATIN CAPITAL LETTER M + 0x4E: [726,36,902,29,1208], // LATIN CAPITAL LETTER N + 0x4F: [707,8,738,96,805], // LATIN CAPITAL LETTER O + 0x50: [716,37,1013,90,1031], // LATIN CAPITAL LETTER P + 0x51: [717,17,883,54,885], // LATIN CAPITAL LETTER Q + 0x52: [717,17,850,-2,887], // LATIN CAPITAL LETTER R + 0x53: [708,36,868,29,1016], // LATIN CAPITAL LETTER S + 0x54: [735,37,747,92,996], // LATIN CAPITAL LETTER T + 0x55: [717,17,800,55,960], // LATIN CAPITAL LETTER U + 0x56: [717,17,622,56,850], // LATIN CAPITAL LETTER V + 0x57: [717,17,805,46,1026], // LATIN CAPITAL LETTER W + 0x58: [717,17,944,103,1131], // LATIN CAPITAL LETTER X + 0x59: [716,17,710,57,959], // LATIN CAPITAL LETTER Y + 0x5A: [717,16,821,83,1032], // LATIN CAPITAL LETTER Z + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js new file mode 100644 index 00000000..100287f4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js @@ -0,0 +1,155 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Typewriter'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 233, ascent: 694, descent: 229, + + 0x20: [0,0,250,0,0], // SPACE + 0x21: [622,0,525,206,320], // EXCLAMATION MARK + 0x22: [623,-333,525,122,402], // QUOTATION MARK + 0x23: [611,0,525,36,489], // NUMBER SIGN + 0x24: [694,82,525,58,466], // DOLLAR SIGN + 0x25: [694,83,525,35,489], // PERCENT SIGN + 0x26: [622,11,525,28,490], // AMPERSAND + 0x27: [611,-287,525,175,349], // APOSTROPHE + 0x28: [694,82,525,166,437], // LEFT PARENTHESIS + 0x29: [694,82,525,87,358], // RIGHT PARENTHESIS + 0x2A: [520,-90,525,68,456], // ASTERISK + 0x2B: [531,-81,525,38,487], // PLUS SIGN + 0x2C: [140,139,525,173,353], // COMMA + 0x2D: [341,-271,525,57,468], // HYPHEN-MINUS + 0x2E: [140,-1,525,193,332], // FULL STOP + 0x2F: [694,83,525,58,466], // SOLIDUS + 0x30: [621,10,525,42,482], // DIGIT ZERO + 0x31: [622,-1,525,99,450], // DIGIT ONE + 0x32: [622,-1,525,52,472], // DIGIT TWO + 0x33: [622,11,525,44,479], // DIGIT THREE + 0x34: [624,-1,525,29,495], // DIGIT FOUR + 0x35: [611,10,525,52,472], // DIGIT FIVE + 0x36: [622,11,525,45,479], // DIGIT SIX + 0x37: [627,10,525,44,480], // DIGIT SEVEN + 0x38: [621,10,525,45,479], // DIGIT EIGHT + 0x39: [622,11,525,46,479], // DIGIT NINE + 0x3A: [431,-1,525,193,332], // COLON + 0x3B: [431,139,525,175,337], // SEMICOLON + 0x3C: [557,-55,525,57,468], // LESS-THAN SIGN + 0x3D: [417,-195,525,38,487], // EQUALS SIGN + 0x3E: [557,-55,525,57,468], // GREATER-THAN SIGN + 0x3F: [617,0,525,62,462], // QUESTION MARK + 0x40: [617,6,525,44,481], // COMMERCIAL AT + 0x41: [623,-1,525,28,496], // LATIN CAPITAL LETTER A + 0x42: [611,-1,525,17,482], // LATIN CAPITAL LETTER B + 0x43: [622,11,525,40,484], // LATIN CAPITAL LETTER C + 0x44: [611,-1,525,16,485], // LATIN CAPITAL LETTER D + 0x45: [611,-1,525,19,502], // LATIN CAPITAL LETTER E + 0x46: [611,-1,525,22,490], // LATIN CAPITAL LETTER F + 0x47: [622,11,525,38,496], // LATIN CAPITAL LETTER G + 0x48: [611,-1,525,16,508], // LATIN CAPITAL LETTER H + 0x49: [611,-1,525,72,452], // LATIN CAPITAL LETTER I + 0x4A: [611,11,525,57,479], // LATIN CAPITAL LETTER J + 0x4B: [611,-1,525,18,495], // LATIN CAPITAL LETTER K + 0x4C: [611,0,525,25,488], // LATIN CAPITAL LETTER L + 0x4D: [611,-1,525,12,512], // LATIN CAPITAL LETTER M + 0x4E: [611,0,525,20,504], // LATIN CAPITAL LETTER N + 0x4F: [621,10,525,56,468], // LATIN CAPITAL LETTER O + 0x50: [611,-1,525,19,480], // LATIN CAPITAL LETTER P + 0x51: [621,138,525,56,468], // LATIN CAPITAL LETTER Q + 0x52: [611,11,525,16,522], // LATIN CAPITAL LETTER R + 0x53: [622,11,525,52,472], // LATIN CAPITAL LETTER S + 0x54: [611,-1,525,26,498], // LATIN CAPITAL LETTER T + 0x55: [611,11,525,-3,528], // LATIN CAPITAL LETTER U + 0x56: [611,7,525,19,505], // LATIN CAPITAL LETTER V + 0x57: [611,7,525,12,512], // LATIN CAPITAL LETTER W + 0x58: [611,-1,525,28,495], // LATIN CAPITAL LETTER X + 0x59: [611,-1,525,20,505], // LATIN CAPITAL LETTER Y + 0x5A: [611,-1,525,48,481], // LATIN CAPITAL LETTER Z + 0x5B: [694,82,525,214,483], // LEFT SQUARE BRACKET + 0x5C: [694,83,525,58,466], // REVERSE SOLIDUS + 0x5D: [694,82,525,41,310], // RIGHT SQUARE BRACKET + 0x5E: [611,-460,525,96,428], // CIRCUMFLEX ACCENT + 0x5F: [-25,95,525,57,468], // LOW LINE + 0x60: [681,-357,525,176,350], // GRAVE ACCENT + 0x61: [439,6,525,48,524], // LATIN SMALL LETTER A + 0x62: [611,6,525,4,492], // LATIN SMALL LETTER B + 0x63: [440,6,525,66,466], // LATIN SMALL LETTER C + 0x64: [611,6,525,31,520], // LATIN SMALL LETTER D + 0x65: [440,6,525,48,464], // LATIN SMALL LETTER E + 0x66: [617,-1,525,35,437], // LATIN SMALL LETTER F + 0x67: [442,229,525,28,509], // LATIN SMALL LETTER G + 0x68: [611,-1,525,4,520], // LATIN SMALL LETTER H + 0x69: [612,-1,525,72,462], // LATIN SMALL LETTER I + 0x6A: [612,228,525,48,376], // LATIN SMALL LETTER J + 0x6B: [611,-1,525,13,507], // LATIN SMALL LETTER K + 0x6C: [611,-1,525,51,474], // LATIN SMALL LETTER L + 0x6D: [436,-1,525,-12,536], // LATIN SMALL LETTER M + 0x6E: [436,-1,525,4,520], // LATIN SMALL LETTER N + 0x6F: [440,6,525,52,472], // LATIN SMALL LETTER O + 0x70: [437,221,525,4,492], // LATIN SMALL LETTER P + 0x71: [437,221,525,34,545], // LATIN SMALL LETTER Q + 0x72: [437,-1,525,24,487], // LATIN SMALL LETTER R + 0x73: [440,6,525,72,458], // LATIN SMALL LETTER S + 0x74: [554,6,525,25,448], // LATIN SMALL LETTER T + 0x75: [431,5,525,4,520], // LATIN SMALL LETTER U + 0x76: [431,4,525,24,500], // LATIN SMALL LETTER V + 0x77: [431,4,525,16,508], // LATIN SMALL LETTER W + 0x78: [431,-1,525,29,495], // LATIN SMALL LETTER X + 0x79: [431,228,525,26,500], // LATIN SMALL LETTER Y + 0x7A: [431,-1,525,34,475], // LATIN SMALL LETTER Z + 0x7B: [694,83,525,50,475], // LEFT CURLY BRACKET + 0x7C: [694,82,525,228,297], // VERTICAL LINE + 0x7D: [694,83,525,49,475], // RIGHT CURLY BRACKET + 0x7E: [611,-466,525,87,437], // TILDE + 0x7F: [612,-519,525,104,421], // ?? + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [431,-1,525,72,462], // LATIN SMALL LETTER DOTLESS I + 0x237: [431,228,525,48,376], // LATIN SMALL LETTER DOTLESS J + 0x300: [611,-485,0,-409,-195], // COMBINING GRAVE ACCENT + 0x301: [611,-485,0,-331,-117], // COMBINING ACUTE ACCENT + 0x302: [611,-460,0,-429,-97], // COMBINING CIRCUMFLEX ACCENT + 0x303: [611,-466,0,-438,-88], // COMBINING TILDE + 0x304: [577,-500,0,-452,-74], // COMBINING MACRON + 0x306: [611,-504,0,-446,-79], // COMBINING BREVE + 0x308: [612,-519,0,-421,-104], // COMBINING DIAERESIS + 0x30A: [619,-499,0,-344,-182], // COMBINING RING ABOVE + 0x30C: [577,-449,0,-427,-99], // COMBINING CARON + 0x393: [611,0,525,25,488], // GREEK CAPITAL LETTER GAMMA + 0x394: [623,0,525,35,489], // GREEK CAPITAL LETTER DELTA + 0x398: [621,10,525,56,468], // GREEK CAPITAL LETTER THETA + 0x39B: [623,-1,525,30,495], // GREEK CAPITAL LETTER LAMDA + 0x39E: [611,-1,525,33,491], // GREEK CAPITAL LETTER XI + 0x3A0: [611,-1,525,16,508], // GREEK CAPITAL LETTER PI + 0x3A3: [611,-1,525,40,484], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [622,-1,525,38,486], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [611,-1,525,41,483], // GREEK CAPITAL LETTER PHI + 0x3A8: [611,-1,525,37,487], // GREEK CAPITAL LETTER PSI + 0x3A9: [622,-1,525,32,492], // GREEK CAPITAL LETTER OMEGA + 0x7E2: [611,-287,525,175,349], // ?? + 0x7E3: [681,-357,525,176,350], // ?? + 0x2032: [623,-334,525,211,313] // PRIME +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js new file mode 100644 index 00000000..f60b2a96 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js @@ -0,0 +1,240 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js + * + * Adds extra stretchy characters to the TeX font data. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +(function (CHTML) { + var VERSION = "2.7.5"; + + var DELIMITERS = CHTML.FONTDATA.DELIMITERS; + + var MAIN = "MathJax_Main", + BOLD = "MathJax_Main-Bold", + AMS = "MathJax_AMS", + SIZE1 = "MathJax_Size1", + SIZE4 = "MathJax_Size4"; + var H = "H", V = "V"; + var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // remove extra height/depth added below + var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender + + var delim = { + 0x003D: // equal sign + { + dir: H, HW: [[.767,MAIN]], stretch: {rep:[0x003D,MAIN]} + }, + 0x219E: // left two-headed arrow + { + dir: H, HW: [[1,AMS]], stretch: {left:[0x219E,AMS], rep:ARROWREP} + }, + 0x21A0: // right two-headed arrow + { + dir: H, HW: [[1,AMS]], stretch: {right:[0x21A0,AMS], rep:ARROWREP} + }, + 0x21A4: // left arrow from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2190,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x21A5: // up arrow from bar + { + dir: V, HW: [], + stretch: {min:.6, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x2191,SIZE1]} + }, + 0x21A6: // right arrow from bar + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:ARROWREP, right:[0x2192,MAIN]} + }, + 0x21A7: // down arrow from bar + { + dir: V, HW: [], + stretch: {min:.6, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x21B0: // up arrow with top leftwards + { + dir: V, HW: [[.722,AMS]], + stretch: {top:[0x21B0,AMS], ext:[0x23D0,SIZE1,.097]} + }, + 0x21B1: // up arrow with top right + { + dir: V, HW: [[.722,AMS]], + stretch: {top:[0x21B1,AMS,.27], ext:[0x23D0,SIZE1]} + }, + 0x21BC: // left harpoon with barb up + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x21BC,MAIN], rep:ARROWREP} + }, + 0x21BD: // left harpoon with barb down + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x21BD,MAIN], rep:ARROWREP} + }, + 0x21BE: // up harpoon with barb right + { + dir: V, HW: [[.888,AMS]], + stretch: {top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21BF: // up harpoon with barb left + { + dir: V, HW: [[.888,AMS]], + stretch: {top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21C0: // right harpoon with barb up + { + dir: H, HW: [[1,MAIN]], + stretch: {right:[0x21C0,MAIN], rep:ARROWREP} + }, + 0x21C1: // right harpoon with barb down + { + dir: H, HW: [[1,MAIN]], + stretch: {right:[0x21C1,MAIN], rep:ARROWREP} + }, + 0x21C2: // down harpoon with barb right + { + dir: V, HW: [[.888,AMS]], + stretch: {bot:[0x21C2,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21C3: // down harpoon with barb left + { + dir: V, HW: [[.888,AMS]], + stretch: {bot:[0x21C3,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21DA: // left triple arrow + { + dir: H, HW: [[1,AMS]], + stretch: {left:[0x21DA,AMS], rep:[0x2261,MAIN]} + }, + 0x21DB: // right triple arrow + { + dir: H, HW: [[1,AMS]], + stretch: {right:[0x21DB,AMS], rep:[0x2261,MAIN]} + }, + 0x23B4: // top square bracket + { + dir: H, HW: [], + stretch: {min:.5, left:[0x250C,AMS,0,-.1], rep:[0x2212,MAIN,0,.35], right:[0x2510,AMS,0,-.1]} + }, + 0x23B5: // bottom square bracket + { + dir: H, HW: [], + stretch: {min:.5, left:[0x2514,AMS,0,.26], rep:[0x2212,MAIN,0,0,0,.25], right:[0x2518,AMS,0,.26]} + }, + 0x23DC: // top paren + { + dir: H, HW: [[.778,AMS,0,0x2322],[1,MAIN,0,0x2322]], + stretch: {left:[0xE150,SIZE4], rep:[0xE154,SIZE4], right:[0xE151,SIZE4]} + }, + 0x23DD: // bottom paren + { + dir: H, HW: [[.778,AMS,0,0x2323],[1,MAIN,0,0x2323]], + stretch: {left:[0xE152,SIZE4], rep:[0xE154,SIZE4], right:[0xE153,SIZE4]} + }, + 0x23E0: // top tortoise shell + { + dir: H, HW: [], + stretch: {min:1.25, left:[0x2CA,MAIN,-.1], rep:[0x2C9,MAIN,0,.13], right:[0x2CB,MAIN], fullExtenders:true} + }, + 0x23E1: // bottom tortoise shell + { + dir: H, HW: [], + stretch: {min:1.5, left:[0x2CB,MAIN,-.1,.1], rep:[0x2C9,MAIN], right:[0x2CA,MAIN,-.1,.1], fullExtenders:true} + }, + 0x2906: // leftwards double arrow from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21D0,MAIN], rep:DARROWREP, right:[0x2223,SIZE1,0,-.1]} + }, + 0x2907: // rightwards double arrow from bar + { + dir: H, HW: [], + stretch: {min:.7, left:[0x22A8,AMS,0,-.12], rep:DARROWREP, right:[0x21D2,MAIN]} + }, + 0x294E: // left barb up right barb up harpoon + { + dir: H, HW: [], + stretch: {min:.5, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x21C0,MAIN]} + }, + 0x294F: // up barb right down barb right harpoon + { + dir: V, HW: [], + stretch: {min:.5, top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} + }, + 0x2950: // left barb dow right barb down harpoon + { + dir: H, HW: [], + stretch: {min:.5, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x21C1,MAIN]} + }, + 0x2951: // up barb left down barb left harpoon + { + dir: V, HW: [], + stretch: {min:.5, top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} + }, + 0x295A: // leftwards harpoon with barb up from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x295B: // rightwards harpoon with barb up from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C0,MAIN]} + }, + 0x295C: // up harpoon with barb right from bar + { + dir: V, HW: [], + stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BE,AMS,.12,0,1.1]} + }, + 0x295D: // down harpoon with barb right from bar + { + dir: V, HW: [], + stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} + }, + 0x295E: // leftwards harpoon with barb down from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x295F: // rightwards harpoon with barb down from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C1,MAIN]} + }, + 0x2960: // up harpoon with barb left from bar + { + dir: V, HW: [], + stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BF,AMS,.12,0,1.1]} + }, + 0x2961: // down harpoon with barb left from bar + { + dir: V, HW: [], + stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} + } + }; + + for (var id in delim) {if (delim.hasOwnProperty(id)) {DELIMITERS[id] = delim[id]}}; + + CHTML.fontLoaded("TeX/fontdata-extra"); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata.js new file mode 100644 index 00000000..c8e25afc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata.js @@ -0,0 +1,1784 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/fontdata.js + * + * Initializes the CommonHTML OutputJax to use the MathJax TeX fonts + * for displaying mathematics. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +(function (CHTML,MML,AJAX) { + var VERSION = "2.7.5"; + + var MAIN = "MathJax_Main", + BOLD = "MathJax_Main-Bold", + ITALIC = "MathJax_Math-Italic", + AMS = "MathJax_AMS", + SIZE1 = "MathJax_Size1", + SIZE2 = "MathJax_Size2", + SIZE3 = "MathJax_Size3", + SIZE4 = "MathJax_Size4"; + var H = "H", V = "V", EXTRAH = {load:"extra", dir:H}, EXTRAV = {load:"extra", dir:V}; + var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // remove extra height/depth added below + var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender + + var UNDEFINEDFAMILY = CHTML.config.undefinedFamily; + + MathJax.Hub.Insert(CHTML.config.styles,{ + ".MJXc-TeX-unknown-R": {"font-family":UNDEFINEDFAMILY, "font-style":"normal", "font-weight":"normal"}, + ".MJXc-TeX-unknown-I": {"font-family":UNDEFINEDFAMILY, "font-style":"italic", "font-weight":"normal"}, + ".MJXc-TeX-unknown-B": {"font-family":UNDEFINEDFAMILY, "font-style":"normal", "font-weight":"bold"}, + ".MJXc-TeX-unknown-BI": {"font-family":UNDEFINEDFAMILY, "font-style":"italic", "font-weight":"bold"} + }); + + CHTML.TEX = CHTML.TEXDEF; // use default TeX parameters + CHTML.FONTDEF.TeX = { + version: VERSION, + + baselineskip: 1.2, + lineH: .8, lineD: .2, + + FONTS: { +// +// These ones are defined below +// +// "MathJax_Main": +// "MathJax_Main-Bold": +// "MathJax_Main-Italic": +// "MathJax_Math-Italic": +// "MathJax_Caligraphic": +// "MathJax_Size1": +// "MathJax_Size2": +// "MathJax_Size3": +// "MathJax_Size4": + + "MathJax_AMS": "TeX/AMS-Regular.js", + "MathJax_Caligraphic-Bold": "TeX/Caligraphic-Bold.js", + "MathJax_Fraktur": "TeX/Fraktur-Regular.js", + "MathJax_Fraktur-Bold": "TeX/Fraktur-Bold.js", + "MathJax_Math-BoldItalic": "TeX/Math-BoldItalic.js", + "MathJax_SansSerif": "TeX/SansSerif-Regular.js", + "MathJax_SansSerif-Bold": "TeX/SansSerif-Bold.js", + "MathJax_SansSerif-Italic": "TeX/SansSerif-Italic.js", + "MathJax_Script": "TeX/Script-Regular.js", + "MathJax_Typewriter": "TeX/Typewriter-Regular.js" + }, + + UNKNOWN: { + R: {className:"MJXc-TeX-unknown-R"}, + I: {className:"MJXc-TeX-unknown-I"}, + B: {className:"MJXc-TeX-unknown-B"}, + BI: {className:"MJXc-TeX-unknown-BI"} + }, + + VARIANT: { + "normal": {fonts:[MAIN,SIZE1,AMS], cache: {}, + offsetG: 0x03B1, variantG: "italic", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, + 0xE160:[0x2192, "-TeX-vec"], // HACK for \vec (#1709) + 0x2016:0x2225, + 0x2216:[0x2216,"-TeX-variant",true], // \smallsetminus + 0x210F:[0x210F,"-TeX-variant",true], // \hbar + 0x2032:[0x27,"sans-serif-italic"], // HACK: a smaller prime + 0x29F8:[0x002F,MML.VARIANT.ITALIC]}}, + "bold": {fonts:[BOLD], bold:true, cache: {}, chain:"normal", + offsetG: 0x03B1, variantG: "bold-italic", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, 0x29F8:[0x002F,"bold-italic"], + 0xE160:[0x2192, "-TeX-vec-bold"], // HACK for \vec (#1709) + 0x2016:0x2225, + 0x219A:"\u2190\u0338", 0x219B:"\u2192\u0338", 0x21AE:"\u2194\u0338", + 0x21CD:"\u21D0\u0338", 0x21CE:"\u21D4\u0338", 0x21CF:"\u21D2\u0338", + 0x2204:"\u2203\u0338", 0x2224:"\u2223\u0338", 0x2226:"\u2225\u0338", + 0x2241:"\u223C\u0338", 0x2247:"\u2245\u0338", + 0x226E:"<\u0338", 0x226F:">\u0338", + 0x2270:"\u2264\u0338", 0x2271:"\u2265\u0338", + 0x2280:"\u227A\u0338", 0x2281:"\u227B\u0338", + 0x2288:"\u2286\u0338", 0x2289:"\u2287\u0338", + 0x22AC:"\u22A2\u0338", 0x22AD:"\u22A8\u0338", +// 0x22AE:"\u22A9\u0338", 0x22AF:"\u22AB\u0338", + 0x22E0:"\u227C\u0338", 0x22E1:"\u227D\u0338"//, +// 0x22EA:"\u22B2\u0338", 0x22EB:"\u22B3\u0338", +// 0x22EC:"\u22B4\u0338", 0x22ED:"\u22B5\u0338" + }}, + "italic": {fonts:[ITALIC,"MathJax_Main-Italic"], italic:true, cache: {}, chain:"normal", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "bold-italic": {fonts:["MathJax_Math-BoldItalic"], bold:true, italic:true, + cache: {}, chain:"bold", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "double-struck": {fonts:[AMS,MAIN,SIZE1], cache:{}}, + "fraktur": {fonts:["MathJax_Fraktur"], cache:{}, chain:"normal"}, + "bold-fraktur": {fonts:["MathJax_Fraktur-Bold"], bold:true, cache:{}, chain:"bold"}, + "script": {fonts:["MathJax_Script"], cache:{}, chain:"normal"}, + "bold-script": {fonts:["MathJax_Script"], bold:true, cache:{}, chain:"bold"}, + "sans-serif": {fonts:["MathJax_SansSerif"], cache:{}, chain:"normal"}, + "bold-sans-serif": {fonts:["MathJax_SansSerif-Bold"], bold:true, cache:{}, chain:"bold"}, + "sans-serif-italic": {fonts:["MathJax_SansSerif-Italic"], italic:true, cache:{}, chain:"italic"}, + "sans-serif-bold-italic": {fonts:["MathJax_SansSerif-Italic"], bold:true, italic:true, cache:{}, chain:"italic"}, + "monospace": {fonts:["MathJax_Typewriter"], cache:{}, chain:"normal"}, + "-tex-caligraphic": {fonts:["MathJax_Caligraphic"], offsetA: 0x41, variantA: "italic", cache:{}, chain:"normal"}, + "-tex-oldstyle": {fonts:["MathJax_Caligraphic"], cache:{}, chain:"normal"}, + "-tex-mathit": {fonts:["MathJax_Main-Italic"], italic:true, noIC: true, cache:{}, chain:"normal", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "-TeX-variant": {fonts:[AMS,MAIN,SIZE1], cache:{}, // HACK: to get larger prime for \prime + remap: { + 0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E, + 0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007, + 0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B, + 0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009, + 0x2216:[0x2216,MML.VARIANT.NORMAL,true], // \setminus + 0x210F:[0x210F,MML.VARIANT.NORMAL,true] // \hslash + }}, + "-TeX-vec": {fonts: ["MathJax_Vector"], cache:{}}, // HACK: non-combining \vec + "-TeX-vec-bold": {fonts: ["MathJax_Vector-Bold"], cache:{}}, // HACK: non-combining \vec + "-largeOp": {fonts:[SIZE2,SIZE1,MAIN,AMS],cache:{}}, + "-smallOp": {fonts:[SIZE1,MAIN,AMS], cache:{}}, + "-tex-caligraphic-bold": {fonts:["MathJax_Caligraphic-Bold","MathJax_Main-Bold"], bold:true, cache:{}, chain:"normal", + offsetA: 0x41, variantA: "bold-italic"}, + "-tex-oldstyle-bold": {fonts:["MathJax_Caligraphic-Bold","MathJax_Main-Bold"], bold:true, cache:{}, chain:"normal"} + }, + + RANGES: [ + {name: "alpha", low: 0x61, high: 0x7A, offset: "A", add: 32}, + {name: "number", low: 0x30, high: 0x39, offset: "N"}, + {name: "greek", low: 0x03B1, high: 0x03F6, offset: "G"} + ], + + REMAP: { + 0xA: 0x20, // newline + 0x203E: 0x2C9, // overline + 0xFE37: 0x23DE, 0xFE38: 0x23DF, // OverBrace, UnderBrace + + 0xB7: 0x22C5, // center dot + 0x2B9: 0x2032, // prime, + 0x3D2: 0x3A5, // Upsilon + 0x2206: 0x394, // increment + 0x2015: 0x2014, 0x2017: 0x5F, // horizontal bars + 0x2022: 0x2219, 0x2044: 0x2F, // bullet, fraction slash + 0x2305: 0x22BC, 0x2306: 0x2A5E, // barwedge, doublebarwedge + 0x25AA: 0x25A0, 0x25B4: 0x25B2, // blacksquare, blacktriangle + 0x25B5: 0x25B3, 0x25B8: 0x25B6, // triangle, blacktriangleright + 0x25BE: 0x25BC, 0x25BF: 0x25BD, // blacktriangledown, triangledown + 0x25C2: 0x25C0, // blacktriangleleft + 0x2329: 0x27E8, 0x232A: 0x27E9, // langle, rangle + 0x3008: 0x27E8, 0x3009: 0x27E9, // langle, rangle + 0x2758: 0x2223, // VerticalSeparator + 0x2A2F: 0xD7, // cross product + + 0x25FB: 0x25A1, 0x25FC: 0x25A0, // square, blacksquare + + // + // Letter-like symbols (that appear elsewhere) + // + 0x2102: [0x0043,MML.VARIANT.DOUBLESTRUCK], +// 0x210A: [0x0067,MML.VARIANT.SCRIPT], + 0x210B: [0x0048,MML.VARIANT.SCRIPT], + 0x210C: [0x0048,MML.VARIANT.FRAKTUR], + 0x210D: [0x0048,MML.VARIANT.DOUBLESTRUCK], + 0x210E: [0x0068,MML.VARIANT.ITALIC], + 0x2110: [0x004A,MML.VARIANT.SCRIPT], + 0x2111: [0x0049,MML.VARIANT.FRAKTUR], + 0x2112: [0x004C,MML.VARIANT.SCRIPT], + 0x2115: [0x004E,MML.VARIANT.DOUBLESTRUCK], + 0x2119: [0x0050,MML.VARIANT.DOUBLESTRUCK], + 0x211A: [0x0051,MML.VARIANT.DOUBLESTRUCK], + 0x211B: [0x0052,MML.VARIANT.SCRIPT], + 0x211C: [0x0052,MML.VARIANT.FRAKTUR], + 0x211D: [0x0052,MML.VARIANT.DOUBLESTRUCK], + 0x2124: [0x005A,MML.VARIANT.DOUBLESTRUCK], + 0x2126: [0x03A9,MML.VARIANT.NORMAL], + 0x2128: [0x005A,MML.VARIANT.FRAKTUR], + 0x212C: [0x0042,MML.VARIANT.SCRIPT], + 0x212D: [0x0043,MML.VARIANT.FRAKTUR], +// 0x212F: [0x0065,MML.VARIANT.SCRIPT], + 0x2130: [0x0045,MML.VARIANT.SCRIPT], + 0x2131: [0x0046,MML.VARIANT.SCRIPT], + 0x2133: [0x004D,MML.VARIANT.SCRIPT], +// 0x2134: [0x006F,MML.VARIANT.SCRIPT], + + 0x2247: 0x2246, // wrong placement of this character + 0x231C: 0x250C, 0x231D:0x2510, // wrong placement of \ulcorner, \urcorner + 0x231E: 0x2514, 0x231F:0x2518, // wrong placement of \llcorner, \lrcorner + + // + // compound symbols not in these fonts + // + 0x2204: "\u2203\u0338", // \not\exists + 0x220C: "\u220B\u0338", // \not\ni + 0x2244: "\u2243\u0338", // \not\simeq + 0x2249: "\u2248\u0338", // \not\approx + 0x2262: "\u2261\u0338", // \not\equiv + 0x226D: "\u224D\u0338", // \not\asymp + 0x2274: "\u2272\u0338", // \not\lesssim + 0x2275: "\u2273\u0338", // \not\gtrsim + 0x2278: "\u2276\u0338", // \not\lessgtr + 0x2279: "\u2277\u0338", // \not\gtrless + 0x2284: "\u2282\u0338", // \not\subset + 0x2285: "\u2283\u0338", // \not\supset + 0x22E2: "\u2291\u0338", // \not\sqsubseteq + 0x22E3: "\u2292\u0338", // \not\sqsupseteq + + 0x2A0C: "\u222C\u222C", // quadruple integral + + 0x2033: "\u2032\u2032", // double prime + 0x2034: "\u2032\u2032\u2032", // triple prime + 0x2036: "\u2035\u2035", // double back prime + 0x2037: "\u2035\u2035\u2035", // trile back prime + 0x2057: "\u2032\u2032\u2032\u2032", // quadruple prime + }, + + REMAPACCENT: { + "\u0300":"\u02CB", // grave accent + "\u0301":"\u02CA", // acute accent + "\u0302":"\u02C6", // curcumflex + "\u0303":"\u02DC", // tilde accent + "\u0304":"\u02C9", // macron + "\u0306":"\u02D8", // breve + "\u0307":"\u02D9", // dot + "\u0308":"\u00A8", // diaresis + "\u030A":"\u02DA", // ring above + "\u030C":"\u02C7", // caron + "\u20D7":"\uE160", // HACK: for non-combining \vec (#1709) + "\u2192":"\uE160", + "\u2032":"'", + "\u2035":"`", + "\u20D0":"\u21BC", "\u20D1":"\u21C0", // combining left and right harpoons + "\u20D6":"\u2190", "\u20E1":"\u2194", // combining left arrow and lef-right arrow + "\u20F0":"*", // combining asterisk + "\u20DB":"...", // combining three dots above + "\u20DC":"...." // combining four dots above + }, + REMAPACCENTUNDER: { + "\u20EC":"\u21C1", "\u20ED":"\u21BD", // combining low right and left harpoons + "\u20EE":"\u2190", "\u20EF":"\u2192", // combining low left and right arrows + "\u20DB":"...", // combining three dots above + "\u20DC":"...." // combining four dots above + }, + + PLANE1MAP: [ + [0x1D400,0x1D419, 0x41, MML.VARIANT.BOLD], + [0x1D41A,0x1D433, 0x61, MML.VARIANT.BOLD], + [0x1D434,0x1D44D, 0x41, MML.VARIANT.ITALIC], + [0x1D44E,0x1D467, 0x61, MML.VARIANT.ITALIC], + [0x1D468,0x1D481, 0x41, MML.VARIANT.BOLDITALIC], + [0x1D482,0x1D49B, 0x61, MML.VARIANT.BOLDITALIC], + [0x1D49C,0x1D4B5, 0x41, MML.VARIANT.SCRIPT], +// [0x1D4B6,0x1D4CF, 0x61, MML.VARIANT.SCRIPT], +// [0x1D4D0,0x1D4E9, 0x41, MML.VARIANT.BOLDSCRIPT], +// [0x1D4EA,0x1D503, 0x61, MML.VARIANT.BOLDSCRIPT], + [0x1D504,0x1D51D, 0x41, MML.VARIANT.FRAKTUR], + [0x1D51E,0x1D537, 0x61, MML.VARIANT.FRAKTUR], + [0x1D538,0x1D551, 0x41, MML.VARIANT.DOUBLESTRUCK], +// [0x1D552,0x1D56B, 0x61, MML.VARIANT.DOUBLESTRUCK], + [0x1D56C,0x1D585, 0x41, MML.VARIANT.BOLDFRAKTUR], + [0x1D586,0x1D59F, 0x61, MML.VARIANT.BOLDFRAKTUR], + [0x1D5A0,0x1D5B9, 0x41, MML.VARIANT.SANSSERIF], + [0x1D5BA,0x1D5D3, 0x61, MML.VARIANT.SANSSERIF], + [0x1D5D4,0x1D5ED, 0x41, MML.VARIANT.BOLDSANSSERIF], + [0x1D5EE,0x1D607, 0x61, MML.VARIANT.BOLDSANSSERIF], + [0x1D608,0x1D621, 0x41, MML.VARIANT.SANSSERIFITALIC], + [0x1D622,0x1D63B, 0x61, MML.VARIANT.SANSSERIFITALIC], +// [0x1D63C,0x1D655, 0x41, MML.VARIANT.SANSSERIFBOLDITALIC], +// [0x1D656,0x1D66F, 0x61, MML.VARIANT.SANSSERIFBOLDITALIC], + [0x1D670,0x1D689, 0x41, MML.VARIANT.MONOSPACE], + [0x1D68A,0x1D6A3, 0x61, MML.VARIANT.MONOSPACE], + + [0x1D6A8,0x1D6C1, 0x391, MML.VARIANT.BOLD], +// [0x1D6C2,0x1D6E1, 0x3B1, MML.VARIANT.BOLD], + [0x1D6E2,0x1D6FA, 0x391, MML.VARIANT.ITALIC], + [0x1D6FC,0x1D71B, 0x3B1, MML.VARIANT.ITALIC], + [0x1D71C,0x1D734, 0x391, MML.VARIANT.BOLDITALIC], + [0x1D736,0x1D755, 0x3B1, MML.VARIANT.BOLDITALIC], + [0x1D756,0x1D76E, 0x391, MML.VARIANT.BOLDSANSSERIF], +// [0x1D770,0x1D78F, 0x3B1, MML.VARIANT.BOLDSANSSERIF], + [0x1D790,0x1D7A8, 0x391, MML.VARIANT.SANSSERIFBOLDITALIC], +// [0x1D7AA,0x1D7C9, 0x3B1, MML.VARIANT.SANSSERIFBOLDITALIC], + + [0x1D7CE,0x1D7D7, 0x30, MML.VARIANT.BOLD], +// [0x1D7D8,0x1D7E1, 0x30, MML.VARIANT.DOUBLESTRUCK], + [0x1D7E2,0x1D7EB, 0x30, MML.VARIANT.SANSSERIF], + [0x1D7EC,0x1D7F5, 0x30, MML.VARIANT.BOLDSANSSERIF], + [0x1D7F6,0x1D7FF, 0x30, MML.VARIANT.MONOSPACE] + ], + + REMAPGREEK: { + 0x391: 0x41, 0x392: 0x42, 0x395: 0x45, 0x396: 0x5A, + 0x397: 0x48, 0x399: 0x49, 0x39A: 0x4B, 0x39C: 0x4D, + 0x39D: 0x4E, 0x39F: 0x4F, 0x3A1: 0x50, 0x3A2: 0x398, + 0x3A4: 0x54, 0x3A7: 0x58, 0x3AA: 0x2207, + 0x3CA: 0x2202, 0x3CB: 0x3F5, 0x3CC: 0x3D1, 0x3CD: 0x3F0, + 0x3CE: 0x3D5, 0x3CF: 0x3F1, 0x3D0: 0x3D6 + }, + + RemapPlane1: function (n,variant) { + for (var i = 0, m = this.PLANE1MAP.length; i < m; i++) { + if (n < this.PLANE1MAP[i][0]) break; + if (n <= this.PLANE1MAP[i][1]) { + n = n - this.PLANE1MAP[i][0] + this.PLANE1MAP[i][2]; + if (this.REMAPGREEK[n]) {n = this.REMAPGREEK[n]} + variant = this.VARIANT[this.PLANE1MAP[i][3]]; + break; + } + } + return {n: n, variant: variant}; + }, + + DELIMITERS: { + 0x0028: // ( + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top: [0x239B,SIZE4], ext: [0x239C,SIZE4], bot: [0x239D,SIZE4]} + }, + 0x0029: // ) + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x239E,SIZE4], ext:[0x239F,SIZE4], bot:[0x23A0,SIZE4]} + }, + 0x002F: // / + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x005B: // [ + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} + }, + 0x005C: // \ + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x005D: // ] + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} + }, + 0x007B: // { + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A7,SIZE4], mid:[0x23A8,SIZE4], bot:[0x23A9,SIZE4], ext:[0x23AA,SIZE4]} + }, + 0x007C: // | + { + dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2223,MAIN]} + }, + 0x007D: // } + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top: [0x23AB,SIZE4], mid:[0x23AC,SIZE4], bot: [0x23AD,SIZE4], ext: [0x23AA,SIZE4]} + }, + 0x00AF: // macron + { + dir: H, HW: [[.59,MAIN]], stretch: {rep:[0xAF,MAIN]} + }, + 0x02C6: // wide hat + { + dir: H, HW: [[.267+.25,MAIN],[.567+.25,SIZE1],[1.005+.33,SIZE2],[1.447+.33,SIZE3],[1.909,SIZE4]] + }, + 0x02DC: // wide tilde + { + dir: H, HW: [[.333+.25,MAIN],[.555+.25,SIZE1],[1+.33,SIZE2],[1.443+.33,SIZE3],[1.887,SIZE4]] + }, + 0x2013: // en-dash + { + dir: H, HW: [[.5,MAIN]], stretch: {rep:[0x2013,MAIN]} + }, + 0x2016: // vertical arrow extension + { + dir: V, HW: [[.602,SIZE1],[1,MAIN,null,0x2225]], stretch: {ext:[0x2225,MAIN]} + }, + 0x2190: // left arrow + { + dir: H, HW: [[1,MAIN]], stretch: {left:[0x2190,MAIN], rep:ARROWREP} + }, + 0x2191: // \uparrow + { + dir: V, HW: [[.888,MAIN]], stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1]} + }, + 0x2192: // right arrow + { + dir: H, HW: [[1,MAIN]], stretch: {rep:ARROWREP, right:[0x2192,MAIN]} + }, + 0x2193: // \downarrow + { + dir: V, HW: [[.888,MAIN]], stretch: {ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x2194: // left-right arrow + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x2190,MAIN], rep:ARROWREP, right:[0x2192,MAIN]} + }, + 0x2195: // \updownarrow + { + dir: V, HW: [[1.044,MAIN]], + stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x21D0: // left double arrow + { + dir: H, HW: [[1,MAIN]], stretch: {left:[0x21D0,MAIN], rep:DARROWREP} + }, + 0x21D1: // \Uparrow + { + dir: V, HW: [[.888,MAIN]], stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1]} + }, + 0x21D2: // right double arrow + { + dir: H, HW: [[1,MAIN]], stretch: {rep:DARROWREP, right:[0x21D2,MAIN]} + }, + 0x21D3: // \Downarrow + { + dir: V, HW: [[.888,MAIN]], stretch: {ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} + }, + 0x21D4: // left-right double arrow + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x21D0,MAIN], rep:DARROWREP, right:[0x21D2,MAIN]} + }, + 0x21D5: // \Updownarrow + { + dir: V, HW: [[1.044,MAIN]], + stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} + }, + 0x2212: // horizontal line + { + dir: H, HW: [[.778,MAIN]], stretch: {rep:[0x2212,MAIN]} + }, + 0x221A: // \surd + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]], + stretch: {top:[0xE001,SIZE4], ext:[0xE000,SIZE4], bot:[0x23B7,SIZE4], fullExtenders:true} + }, + 0x2223: // \vert + { + dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2223,MAIN]} + }, + 0x2225: // \Vert + { + dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2225,MAIN]} + }, + 0x2308: // \lceil + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4]} + }, + 0x2309: // \rceil + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4]} + }, + 0x230A: // \lfloor + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} + }, + 0x230B: // \rfloor + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} + }, + 0x23AA: // \bracevert + { + dir: V, HW: [[.32,SIZE4]], + stretch: {top:[0x23AA,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AA,SIZE4]} + }, + 0x23B0: // \lmoustache + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} + }, + 0x23B1: // \rmoustache + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} + }, + 0x23D0: // vertical line extension + { + dir: V, HW: [[.602,SIZE1],[1,MAIN,null,0x2223]], stretch: {ext:[0x2223,MAIN]} + }, + 0x23DE: // horizontal brace down + { + dir: H, HW: [], + stretch: {min:.9, left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]} + }, + 0x23DF: // horizontal brace up + { + dir: H, HW: [], + stretch: {min:.9, left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]} + }, + 0x27E8: // \langle + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x27E9: // \rangle + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x27EE: // \lgroup + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} + }, + 0x27EF: // \rgroup + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} + }, + 0x002D: {alias: 0x2212, dir:H}, // minus + 0x005E: {alias: 0x02C6, dir:H}, // wide hat + 0x005F: {alias: 0x2013, dir:H}, // low line + 0x007E: {alias: 0x02DC, dir:H}, // wide tilde + 0x02C9: {alias: 0x00AF, dir:H}, // macron + 0x0302: {alias: 0x02C6, dir:H}, // wide hat + 0x0303: {alias: 0x02DC, dir:H}, // wide tilde + 0x030C: {alias: 0x02C7, dir:H}, // wide caron + 0x0332: {alias: 0x2013, dir:H}, // combining low line + 0x2014: {alias: 0x2013, dir:H}, // em-dash + 0x2015: {alias: 0x2013, dir:H}, // horizontal line + 0x2017: {alias: 0x2013, dir:H}, // horizontal line + 0x203E: {alias: 0x00AF, dir:H}, // overline + 0x20D7: {alias: 0x2192, dir:H}, // combining over right arrow (vector arrow) + 0x2215: {alias: 0x002F, dir:V}, // division slash + 0x2329: {alias: 0x27E8, dir:V}, // langle + 0x232A: {alias: 0x27E9, dir:V}, // rangle + 0x23AF: {alias: 0x2013, dir:H}, // horizontal line extension + 0x2500: {alias: 0x2013, dir:H}, // horizontal line + 0x2758: {alias: 0x2223, dir:V}, // vertical separator + 0x3008: {alias: 0x27E8, dir:V}, // langle + 0x3009: {alias: 0x27E9, dir:V}, // rangle + 0xFE37: {alias: 0x23DE, dir:H}, // horizontal brace down + 0xFE38: {alias: 0x23DF, dir:H}, // horizontal brace up + + 0x003D: EXTRAH, // equal sign + 0x219E: EXTRAH, // left two-headed arrow + 0x21A0: EXTRAH, // right two-headed arrow + 0x21A4: EXTRAH, // left arrow from bar + 0x21A5: EXTRAV, // up arrow from bar + 0x21A6: EXTRAH, // right arrow from bar + 0x21A7: EXTRAV, // down arrow from bar + 0x21B0: EXTRAV, // up arrow with top leftwards + 0x21B1: EXTRAV, // up arrow with top right + 0x21BC: EXTRAH, // left harpoon with barb up + 0x21BD: EXTRAH, // left harpoon with barb down + 0x21BE: EXTRAV, // up harpoon with barb right + 0x21BF: EXTRAV, // up harpoon with barb left + 0x21C0: EXTRAH, // right harpoon with barb up + 0x21C1: EXTRAH, // right harpoon with barb down + 0x21C2: EXTRAV, // down harpoon with barb right + 0x21C3: EXTRAV, // down harpoon with barb left + 0x21DA: EXTRAH, // left triple arrow + 0x21DB: EXTRAH, // right triple arrow + 0x23B4: EXTRAH, // top square bracket + 0x23B5: EXTRAH, // bottom square bracket + 0x23DC: EXTRAH, // top paren + 0x23DD: EXTRAH, // bottom paren + 0x23E0: EXTRAH, // top tortoise shell + 0x23E1: EXTRAH, // bottom tortoise shell + 0x2906: EXTRAH, // leftwards double arrow from bar + 0x2907: EXTRAH, // rightwards double arrow from bar + 0x294E: EXTRAH, // left barb up right barb up harpoon + 0x294F: EXTRAV, // up barb right down barb right harpoon + 0x2950: EXTRAH, // left barb dow right barb down harpoon + 0x2951: EXTRAV, // up barb left down barb left harpoon + 0x295A: EXTRAH, // leftwards harpoon with barb up from bar + 0x295B: EXTRAH, // rightwards harpoon with barb up from bar + 0x295C: EXTRAV, // up harpoon with barb right from bar + 0x295D: EXTRAV, // down harpoon with barb right from bar + 0x295E: EXTRAH, // leftwards harpoon with barb down from bar + 0x295F: EXTRAH, // rightwards harpoon with barb down from bar + 0x2960: EXTRAV, // up harpoon with barb left from bar + 0x2961: EXTRAV, // down harpoon with barb left from bar + 0x2312: {alias: 0x23DC, dir:H}, // arc + 0x2322: {alias: 0x23DC, dir:H}, // frown + 0x2323: {alias: 0x23DD, dir:H}, // smile + 0x27F5: {alias: 0x2190, dir:H}, // long left arrow + 0x27F6: {alias: 0x2192, dir:H}, // long right arrow + 0x27F7: {alias: 0x2194, dir:H}, // long left-right arrow + 0x27F8: {alias: 0x21D0, dir:H}, // long left double arrow + 0x27F9: {alias: 0x21D2, dir:H}, // long right double arrow + 0x27FA: {alias: 0x21D4, dir:H}, // long left-right double arrow + 0x27FB: {alias: 0x21A4, dir:H}, // long left arrow from bar + 0x27FC: {alias: 0x21A6, dir:H}, // long right arrow from bar + 0x27FD: {alias: 0x2906, dir:H}, // long left double arrow from bar + 0x27FE: {alias: 0x2907, dir:H}, // long right double arrow from bar + 0xE160: {alias: 0x2190, dir:H}, // replacement vector arrow + } + }; + + CHTML.FONTDATA = CHTML.FONTDEF["TeX"]; + + CHTML.FONTDATA.FONTS['MathJax_Caligraphic'] = { + centerline: 287, ascent: 789, descent: 216, + skew: { + 0x41: 0.194, + 0x42: 0.139, + 0x43: 0.139, + 0x44: 0.0833, + 0x45: 0.111, + 0x46: 0.111, + 0x47: 0.111, + 0x48: 0.111, + 0x49: 0.0278, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.139, + 0x4D: 0.139, + 0x4E: 0.0833, + 0x4F: 0.111, + 0x50: 0.0833, + 0x51: 0.111, + 0x52: 0.0833, + 0x53: 0.139, + 0x54: 0.0278, + 0x55: 0.0833, + 0x56: 0.0278, + 0x57: 0.0833, + 0x58: 0.139, + 0x59: 0.0833, + 0x5A: 0.139 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x30: [452,22,500,39,460], // DIGIT ZERO + 0x31: [453,0,500,86,426], // DIGIT ONE + 0x32: [453,0,500,44,449], // DIGIT TWO + 0x33: [452,216,500,42,456], // DIGIT THREE + 0x34: [464,194,500,28,471], // DIGIT FOUR + 0x35: [453,216,500,50,448], // DIGIT FIVE + 0x36: [665,22,500,42,456], // DIGIT SIX + 0x37: [463,216,500,55,485], // DIGIT SEVEN + 0x38: [666,21,500,43,456], // DIGIT EIGHT + 0x39: [453,216,500,42,457], // DIGIT NINE + 0x41: [728,50,798,30,819], // LATIN CAPITAL LETTER A + 0x42: [705,22,657,32,664], // LATIN CAPITAL LETTER B + 0x43: [705,25,527,12,533], // LATIN CAPITAL LETTER C + 0x44: [683,0,771,19,766], // LATIN CAPITAL LETTER D + 0x45: [705,22,528,30,564], // LATIN CAPITAL LETTER E + 0x46: [683,32,719,18,829], // LATIN CAPITAL LETTER F + 0x47: [704,119,595,44,599], // LATIN CAPITAL LETTER G + 0x48: [683,48,845,18,803], // LATIN CAPITAL LETTER H + 0x49: [683,0,545,-30,642], // LATIN CAPITAL LETTER I + 0x4A: [683,119,678,47,839], // LATIN CAPITAL LETTER J + 0x4B: [705,22,762,32,732], // LATIN CAPITAL LETTER K + 0x4C: [705,22,690,32,656], // LATIN CAPITAL LETTER L + 0x4D: [705,50,1201,28,1137], // LATIN CAPITAL LETTER M + 0x4E: [789,50,820,-27,979], // LATIN CAPITAL LETTER N + 0x4F: [705,22,796,58,777], // LATIN CAPITAL LETTER O + 0x50: [683,57,696,19,733], // LATIN CAPITAL LETTER P + 0x51: [705,131,817,114,787], // LATIN CAPITAL LETTER Q + 0x52: [682,22,848,19,837], // LATIN CAPITAL LETTER R + 0x53: [705,22,606,18,642], // LATIN CAPITAL LETTER S + 0x54: [717,68,545,34,833], // LATIN CAPITAL LETTER T + 0x55: [683,28,626,-17,687], // LATIN CAPITAL LETTER U + 0x56: [683,52,613,25,658], // LATIN CAPITAL LETTER V + 0x57: [683,53,988,25,1034], // LATIN CAPITAL LETTER W + 0x58: [683,0,713,52,807], // LATIN CAPITAL LETTER X + 0x59: [683,143,668,31,714], // LATIN CAPITAL LETTER Y + 0x5A: [683,0,725,37,767], // LATIN CAPITAL LETTER Z + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE + }; + + CHTML.FONTDATA.FONTS['MathJax_Main-Bold'] = { + centerline: 342, ascent: 951, descent: 267, + weight: 'bold', + file: "TeX/Main-Bold.js", + Extra: [ + 0xA0, 0xA8, 0xAC, [0xAF,0xB1], 0xB4, 0xD7, 0xF7, + 0x131, 0x237, + [0x2C6,0x2CB],[0x2D8,0x2DC], + [0x300,0x30C], 0x338, + [0x2002,0x2006], 0x2009, 0x200A, 0x2013, 0x2014, 0x2018, 0x2019, + 0x201C, 0x201D, 0x2020, 0x2021, 0x2026, 0x2032, + 0x20D7, + [0x210F,0x2113], 0x2118, 0x211C, 0x2135, + [0x2190,0x2199], 0x21A6, 0x21A9, 0x21AA, 0x21BC, 0x21BD, 0x21C0, + 0x21C1, 0x21CC, [0x21D0,0x21D5], + [0x2200,0x220B], [0x2212,0x221A], [0x221D,0x2220], + [0x2223,0x223C], 0x2240, 0x2243, 0x2245, 0x2248, 0x224D, 0x2250, + 0x2260, 0x2261, 0x2264, 0x2265, 0x226A, 0x226B, 0x227A, 0x227B, + 0x2282, 0x2283, 0x2286, 0x2287, 0x228E, [0x2291,0x2299], + [0x22A2,0x22A5], 0x22A8, [0x22C4,0x22C8], [0x22EE,0x22F1], + [0x2308,0x230B], 0x2322, 0x2323, + 0x25B3, 0x25B9, 0x25BD, 0x25C3, 0x25EF, + [0x2660,0x2663], [0x266D,0x266F], + 0x27E8, 0x27E9, + [0x27F5,0x27FC], + 0x2A3F, 0x2AAF, 0x2AB0 + ], + skew: { + 0x131: 0.0319, + 0x237: 0.0958, + 0x210F: -0.0319, + 0x2113: 0.128, + 0x2202: 0.0958 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x21: [705,-1,350,89,260], // EXCLAMATION MARK + 0x22: [694,-329,603,38,492], // QUOTATION MARK + 0x23: [694,193,958,64,893], // NUMBER SIGN + 0x24: [750,56,575,64,510], // DOLLAR SIGN + 0x25: [750,56,958,65,893], // PERCENT SIGN + 0x26: [705,11,894,48,836], // AMPERSAND + 0x27: [694,-329,319,74,261], // APOSTROPHE + 0x28: [750,249,447,103,382], // LEFT PARENTHESIS + 0x29: [750,249,447,64,343], // RIGHT PARENTHESIS + 0x2A: [750,-306,575,73,501], // ASTERISK + 0x2B: [633,131,894,64,829], // PLUS SIGN + 0x2C: [171,194,319,74,258], // COMMA + 0x2D: [278,-166,383,13,318], // HYPHEN-MINUS + 0x2E: [171,-1,319,74,245], // FULL STOP + 0x2F: [750,250,575,63,511], // SOLIDUS + 0x30: [654,10,575,45,529], // DIGIT ZERO + 0x31: [655,0,575,80,494], // DIGIT ONE + 0x32: [654,0,575,57,517], // DIGIT TWO + 0x33: [655,11,575,47,526], // DIGIT THREE + 0x34: [656,0,575,32,542], // DIGIT FOUR + 0x35: [655,11,575,57,517], // DIGIT FIVE + 0x36: [655,11,575,48,526], // DIGIT SIX + 0x37: [676,11,575,64,558], // DIGIT SEVEN + 0x38: [654,11,575,48,526], // DIGIT EIGHT + 0x39: [654,11,575,48,526], // DIGIT NINE + 0x3A: [444,-1,319,74,245], // COLON + 0x3B: [444,194,319,74,248], // SEMICOLON + 0x3C: [587,85,894,96,797], // LESS-THAN SIGN + 0x3D: [393,-109,894,64,829], // EQUALS SIGN + 0x3E: [587,85,894,96,797], // GREATER-THAN SIGN + 0x3F: [700,-1,543,65,478], // QUESTION MARK + 0x40: [699,6,894,64,829], // COMMERCIAL AT + 0x41: [698,0,869,40,828], // LATIN CAPITAL LETTER A + 0x42: [686,0,818,39,752], // LATIN CAPITAL LETTER B + 0x43: [697,11,831,64,766], // LATIN CAPITAL LETTER C + 0x44: [686,0,882,39,817], // LATIN CAPITAL LETTER D + 0x45: [680,0,756,39,723], // LATIN CAPITAL LETTER E + 0x46: [680,0,724,39,675], // LATIN CAPITAL LETTER F + 0x47: [697,10,904,64,845], // LATIN CAPITAL LETTER G + 0x48: [686,0,900,39,860], // LATIN CAPITAL LETTER H + 0x49: [686,0,436,25,410], // LATIN CAPITAL LETTER I + 0x4A: [686,11,594,8,527], // LATIN CAPITAL LETTER J + 0x4B: [686,0,901,39,852], // LATIN CAPITAL LETTER K + 0x4C: [686,0,692,39,643], // LATIN CAPITAL LETTER L + 0x4D: [686,0,1092,39,1052], // LATIN CAPITAL LETTER M + 0x4E: [686,0,900,39,860], // LATIN CAPITAL LETTER N + 0x4F: [696,10,864,64,798], // LATIN CAPITAL LETTER O + 0x50: [686,0,786,39,721], // LATIN CAPITAL LETTER P + 0x51: [696,193,864,64,805], // LATIN CAPITAL LETTER Q + 0x52: [686,11,862,39,858], // LATIN CAPITAL LETTER R + 0x53: [697,11,639,64,574], // LATIN CAPITAL LETTER S + 0x54: [675,0,800,41,758], // LATIN CAPITAL LETTER T + 0x55: [686,11,885,39,845], // LATIN CAPITAL LETTER U + 0x56: [686,7,869,25,843], // LATIN CAPITAL LETTER V + 0x57: [686,7,1189,24,1164], // LATIN CAPITAL LETTER W + 0x58: [686,0,869,33,835], // LATIN CAPITAL LETTER X + 0x59: [686,0,869,19,849], // LATIN CAPITAL LETTER Y + 0x5A: [686,0,703,64,645], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,319,128,293], // LEFT SQUARE BRACKET + 0x5C: [750,250,575,63,511], // REVERSE SOLIDUS + 0x5D: [750,250,319,25,190], // RIGHT SQUARE BRACKET + 0x5E: [694,-520,575,126,448], // CIRCUMFLEX ACCENT + 0x5F: [-10,61,575,0,574], // LOW LINE + 0x60: [706,-503,575,114,338], // GRAVE ACCENT + 0x61: [453,6,559,32,558], // LATIN SMALL LETTER A + 0x62: [694,6,639,29,600], // LATIN SMALL LETTER B + 0x63: [453,6,511,39,478], // LATIN SMALL LETTER C + 0x64: [694,6,639,38,609], // LATIN SMALL LETTER D + 0x65: [452,6,527,32,494], // LATIN SMALL LETTER E + 0x66: [700,0,351,40,452], // LATIN SMALL LETTER F + 0x67: [455,201,575,30,558], // LATIN SMALL LETTER G + 0x68: [694,0,639,37,623], // LATIN SMALL LETTER H + 0x69: [695,0,319,40,294], // LATIN SMALL LETTER I + 0x6A: [695,200,351,-71,274], // LATIN SMALL LETTER J + 0x6B: [694,0,607,29,587], // LATIN SMALL LETTER K + 0x6C: [694,0,319,40,301], // LATIN SMALL LETTER L + 0x6D: [450,0,958,37,942], // LATIN SMALL LETTER M + 0x6E: [450,0,639,37,623], // LATIN SMALL LETTER N + 0x6F: [452,5,575,32,542], // LATIN SMALL LETTER O + 0x70: [450,194,639,29,600], // LATIN SMALL LETTER P + 0x71: [450,194,607,38,609], // LATIN SMALL LETTER Q + 0x72: [450,0,474,29,442], // LATIN SMALL LETTER R + 0x73: [453,6,454,38,414], // LATIN SMALL LETTER S + 0x74: [635,5,447,21,382], // LATIN SMALL LETTER T + 0x75: [450,6,639,37,623], // LATIN SMALL LETTER U + 0x76: [444,3,607,26,580], // LATIN SMALL LETTER V + 0x77: [444,4,831,25,805], // LATIN SMALL LETTER W + 0x78: [444,0,607,21,586], // LATIN SMALL LETTER X + 0x79: [444,200,607,23,580], // LATIN SMALL LETTER Y + 0x7A: [444,0,511,32,462], // LATIN SMALL LETTER Z + 0x7B: [750,250,575,70,504], // LEFT CURLY BRACKET + 0x7C: [750,249,319,129,190], // VERTICAL LINE + 0x7D: [750,250,575,70,504], // RIGHT CURLY BRACKET + 0x7E: [344,-202,575,96,478], // TILDE + 0x393: [680,0,692,39,643], // GREEK CAPITAL LETTER GAMMA + 0x394: [698,0,958,56,901], // GREEK CAPITAL LETTER DELTA + 0x398: [696,10,894,64,829], // GREEK CAPITAL LETTER THETA + 0x39B: [698,0,806,40,765], // GREEK CAPITAL LETTER LAMDA + 0x39E: [675,0,767,48,718], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,900,39,860], // GREEK CAPITAL LETTER PI + 0x3A3: [686,0,831,63,766], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [697,0,894,64,829], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [686,0,831,64,766], // GREEK CAPITAL LETTER PHI + 0x3A8: [686,0,894,64,829], // GREEK CAPITAL LETTER PSI + 0x3A9: [696,0,831,51,779] // GREEK CAPITAL LETTER OMEGA + }; + + CHTML.FONTDATA.FONTS['MathJax_Main-Italic'] = { + centerline: 250, ascent: 750, descent: 250, + style: 'italic', + 0x20: [0,0,250,0,0], // SPACE + 0x21: [716,0,307,107,380], // EXCLAMATION MARK + 0x22: [694,-379,514,176,538], // QUOTATION MARK + 0x23: [694,194,818,115,828], // NUMBER SIGN + 0x25: [750,56,818,145,847], // PERCENT SIGN + 0x26: [716,22,767,127,802], // AMPERSAND + 0x27: [694,-379,307,213,377], // APOSTROPHE + 0x28: [750,250,409,144,517], // LEFT PARENTHESIS + 0x29: [750,250,409,17,390], // RIGHT PARENTHESIS + 0x2A: [750,-320,511,195,584], // ASTERISK + 0x2B: [557,57,767,139,753], // PLUS SIGN + 0x2C: [121,194,307,69,232], // COMMA + 0x2D: [251,-180,358,84,341], // HYPHEN-MINUS + 0x2E: [121,0,307,107,231], // FULL STOP + 0x2F: [750,250,511,19,617], // SOLIDUS + 0x30: [665,21,511,110,562], // DIGIT ZERO + 0x31: [666,0,511,110,468], // DIGIT ONE + 0x32: [666,22,511,76,551], // DIGIT TWO + 0x33: [666,22,511,96,562], // DIGIT THREE + 0x34: [666,194,511,46,478], // DIGIT FOUR + 0x35: [666,22,511,106,567], // DIGIT FIVE + 0x36: [665,22,511,120,565], // DIGIT SIX + 0x37: [666,22,511,136,634], // DIGIT SEVEN + 0x38: [666,21,511,99,553], // DIGIT EIGHT + 0x39: [666,22,511,107,553], // DIGIT NINE + 0x3A: [431,0,307,107,308], // COLON + 0x3B: [431,194,307,70,308], // SEMICOLON + 0x3D: [367,-133,767,116,776], // EQUALS SIGN + 0x3F: [716,0,511,195,551], // QUESTION MARK + 0x40: [705,11,767,152,789], // COMMERCIAL AT + 0x41: [716,0,743,58,696], // LATIN CAPITAL LETTER A + 0x42: [683,0,704,57,732], // LATIN CAPITAL LETTER B + 0x43: [705,21,716,150,812], // LATIN CAPITAL LETTER C + 0x44: [683,0,755,56,775], // LATIN CAPITAL LETTER D + 0x45: [680,0,678,54,743], // LATIN CAPITAL LETTER E + 0x46: [680,-1,653,54,731], // LATIN CAPITAL LETTER F + 0x47: [705,22,774,150,812], // LATIN CAPITAL LETTER G + 0x48: [683,0,743,54,860], // LATIN CAPITAL LETTER H + 0x49: [683,0,386,49,508], // LATIN CAPITAL LETTER I + 0x4A: [683,21,525,78,622], // LATIN CAPITAL LETTER J + 0x4B: [683,0,769,54,859], // LATIN CAPITAL LETTER K + 0x4C: [683,0,627,54,628], // LATIN CAPITAL LETTER L + 0x4D: [683,0,897,58,1010], // LATIN CAPITAL LETTER M + 0x4E: [683,0,743,54,860], // LATIN CAPITAL LETTER N + 0x4F: [704,22,767,149,788], // LATIN CAPITAL LETTER O + 0x50: [683,0,678,55,729], // LATIN CAPITAL LETTER P + 0x51: [704,194,767,149,788], // LATIN CAPITAL LETTER Q + 0x52: [683,22,729,55,723], // LATIN CAPITAL LETTER R + 0x53: [705,22,562,74,633], // LATIN CAPITAL LETTER S + 0x54: [677,0,716,171,806], // LATIN CAPITAL LETTER T + 0x55: [683,22,743,194,860], // LATIN CAPITAL LETTER U + 0x56: [683,22,743,205,868], // LATIN CAPITAL LETTER V + 0x57: [683,22,999,205,1124], // LATIN CAPITAL LETTER W + 0x58: [683,0,743,50,825], // LATIN CAPITAL LETTER X + 0x59: [683,0,743,198,875], // LATIN CAPITAL LETTER Y + 0x5A: [683,0,613,80,704], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,307,73,446], // LEFT SQUARE BRACKET + 0x5D: [750,250,307,-14,359], // RIGHT SQUARE BRACKET + 0x5E: [694,-527,511,260,528], // CIRCUMFLEX ACCENT + 0x5F: [-25,62,511,91,554], // LOW LINE + 0x61: [442,11,511,101,543], // LATIN SMALL LETTER A + 0x62: [694,11,460,108,467], // LATIN SMALL LETTER B + 0x63: [441,10,460,103,469], // LATIN SMALL LETTER C + 0x64: [694,11,511,101,567], // LATIN SMALL LETTER D + 0x65: [442,10,460,107,470], // LATIN SMALL LETTER E + 0x66: [705,204,307,-23,450], // LATIN SMALL LETTER F + 0x67: [442,205,460,46,494], // LATIN SMALL LETTER G + 0x68: [694,11,511,69,544], // LATIN SMALL LETTER H + 0x69: [656,10,307,75,340], // LATIN SMALL LETTER I + 0x6A: [656,204,307,-32,364], // LATIN SMALL LETTER J + 0x6B: [694,11,460,69,498], // LATIN SMALL LETTER K + 0x6C: [694,11,256,87,312], // LATIN SMALL LETTER L + 0x6D: [442,11,818,75,851], // LATIN SMALL LETTER M + 0x6E: [442,11,562,75,595], // LATIN SMALL LETTER N + 0x6F: [442,11,511,103,517], // LATIN SMALL LETTER O + 0x70: [442,194,511,6,518], // LATIN SMALL LETTER P + 0x71: [442,194,460,101,504], // LATIN SMALL LETTER Q + 0x72: [442,11,422,75,484], // LATIN SMALL LETTER R + 0x73: [442,11,409,76,418], // LATIN SMALL LETTER S + 0x74: [626,11,332,87,373], // LATIN SMALL LETTER T + 0x75: [441,11,537,75,570], // LATIN SMALL LETTER U + 0x76: [443,10,460,75,492], // LATIN SMALL LETTER V + 0x77: [443,11,664,75,696], // LATIN SMALL LETTER W + 0x78: [442,11,464,58,513], // LATIN SMALL LETTER X + 0x79: [441,205,486,75,522], // LATIN SMALL LETTER Y + 0x7A: [442,11,409,54,466], // LATIN SMALL LETTER Z + 0x7E: [318,-208,511,246,571], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA3: [714,11,769,88,699], // POUND SIGN + 0x131: [441,10,307,75,340], // LATIN SMALL LETTER DOTLESS I + 0x237: [442,204,332,-32,327], // LATIN SMALL LETTER DOTLESS J + 0x300: [697,-500,0,-222,-74], // COMBINING GRAVE ACCENT + 0x301: [697,-500,0,-173,39], // COMBINING ACUTE ACCENT + 0x302: [694,-527,0,-251,17], // COMBINING CIRCUMFLEX ACCENT + 0x303: [668,-558,0,-265,60], // COMBINING TILDE + 0x304: [589,-544,0,-282,54], // COMBINING MACRON + 0x306: [694,-515,0,-237,62], // COMBINING BREVE + 0x307: [669,-548,0,-165,-41], // COMBINING DOT ABOVE + 0x308: [669,-554,0,-251,45], // COMBINING DIAERESIS + 0x30A: [716,-542,0,-199,3], // COMBINING RING ABOVE + 0x30B: [697,-503,0,-248,65], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [638,-502,0,-236,29], // COMBINING CARON + 0x393: [680,0,627,54,705], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,818,70,751], // GREEK CAPITAL LETTER DELTA + 0x398: [704,22,767,149,788], // GREEK CAPITAL LETTER THETA + 0x39B: [716,0,692,58,646], // GREEK CAPITAL LETTER LAMDA + 0x39E: [677,0,664,74,754], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,743,54,859], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,716,80,782], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,767,213,832], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,716,159,728], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,767,207,824], // GREEK CAPITAL LETTER PSI + 0x3A9: [705,0,716,100,759], // GREEK CAPITAL LETTER OMEGA + 0x2013: [285,-248,511,91,554], // EN DASH + 0x2014: [285,-248,1022,117,1038], // EM DASH + 0x2018: [694,-379,307,197,362], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-379,307,213,377], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-379,514,243,606], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-379,514,176,538], // RIGHT DOUBLE QUOTATION MARK + 0x210F: [695,13,540,42,562] // stix-/hbar - Planck's over 2pi + }; + + CHTML.FONTDATA.FONTS['MathJax_Main'] = { + centerline: 314, ascent: 900, descent: 272, + skew: { + 0x131: 0.0278, + 0x237: 0.0833, + 0x2113: 0.111, + 0x2118: 0.111, + 0x2202: 0.0833 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x21: [716,-1,278,78,199], // EXCLAMATION MARK + 0x22: [694,-379,500,34,372], // QUOTATION MARK + 0x23: [694,194,833,56,777], // NUMBER SIGN + 0x24: [750,56,500,55,444], // DOLLAR SIGN + 0x25: [750,56,833,56,776], // PERCENT SIGN + 0x26: [716,22,778,42,727], // AMPERSAND + 0x27: [694,-379,278,78,212], // APOSTROPHE + 0x28: [750,250,389,94,333], // LEFT PARENTHESIS + 0x29: [750,250,389,55,294], // RIGHT PARENTHESIS + 0x2A: [750,-320,500,64,435], // ASTERISK + 0x2B: [583,82,778,56,722], // PLUS SIGN + 0x2C: [121,194,278,78,210], // COMMA + 0x2D: [252,-179,333,11,277], // HYPHEN-MINUS + 0x2E: [120,0,278,78,199], // FULL STOP + 0x2F: [750,250,500,56,445], // SOLIDUS + 0x30: [666,22,500,39,460], // DIGIT ZERO + 0x31: [666,0,500,83,427], // DIGIT ONE + 0x32: [666,0,500,50,449], // DIGIT TWO + 0x33: [665,22,500,42,457], // DIGIT THREE + 0x34: [677,0,500,28,471], // DIGIT FOUR + 0x35: [666,22,500,50,449], // DIGIT FIVE + 0x36: [666,22,500,42,456], // DIGIT SIX + 0x37: [676,22,500,55,485], // DIGIT SEVEN + 0x38: [666,22,500,43,457], // DIGIT EIGHT + 0x39: [666,22,500,42,456], // DIGIT NINE + 0x3A: [430,0,278,78,199], // COLON + 0x3B: [430,194,278,78,202], // SEMICOLON + 0x3C: [540,40,778,83,694], // LESS-THAN SIGN + 0x3D: [367,-133,778,56,722], // EQUALS SIGN + 0x3E: [540,40,778,83,694], // GREATER-THAN SIGN + 0x3F: [705,-1,472,55,416], // QUESTION MARK + 0x40: [705,11,778,56,722], // COMMERCIAL AT + 0x41: [716,0,750,32,717], // LATIN CAPITAL LETTER A + 0x42: [683,0,708,28,651], // LATIN CAPITAL LETTER B + 0x43: [705,21,722,56,666], // LATIN CAPITAL LETTER C + 0x44: [683,0,764,27,708], // LATIN CAPITAL LETTER D + 0x45: [680,0,681,25,652], // LATIN CAPITAL LETTER E + 0x46: [680,0,653,25,610], // LATIN CAPITAL LETTER F + 0x47: [705,22,785,56,735], // LATIN CAPITAL LETTER G + 0x48: [683,0,750,25,724], // LATIN CAPITAL LETTER H + 0x49: [683,0,361,21,339], // LATIN CAPITAL LETTER I + 0x4A: [683,22,514,25,465], // LATIN CAPITAL LETTER J + 0x4B: [683,0,778,25,736], // LATIN CAPITAL LETTER K + 0x4C: [683,0,625,25,582], // LATIN CAPITAL LETTER L + 0x4D: [683,0,917,29,887], // LATIN CAPITAL LETTER M + 0x4E: [683,0,750,25,724], // LATIN CAPITAL LETTER N + 0x4F: [705,22,778,56,722], // LATIN CAPITAL LETTER O + 0x50: [683,0,681,27,624], // LATIN CAPITAL LETTER P + 0x51: [705,193,778,56,728], // LATIN CAPITAL LETTER Q + 0x52: [683,22,736,27,732], // LATIN CAPITAL LETTER R + 0x53: [705,22,556,55,500], // LATIN CAPITAL LETTER S + 0x54: [677,0,722,36,685], // LATIN CAPITAL LETTER T + 0x55: [683,22,750,25,724], // LATIN CAPITAL LETTER U + 0x56: [683,22,750,19,730], // LATIN CAPITAL LETTER V + 0x57: [683,22,1028,18,1009], // LATIN CAPITAL LETTER W + 0x58: [683,0,750,23,726], // LATIN CAPITAL LETTER X + 0x59: [683,0,750,11,738], // LATIN CAPITAL LETTER Y + 0x5A: [683,0,611,55,560], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,278,118,255], // LEFT SQUARE BRACKET + 0x5C: [750,250,500,56,444], // REVERSE SOLIDUS + 0x5D: [750,250,278,22,159], // RIGHT SQUARE BRACKET + 0x5E: [694,-531,500,112,387], // CIRCUMFLEX ACCENT + 0x5F: [-25,62,500,0,499], // LOW LINE + 0x60: [699,-505,500,106,295], // GRAVE ACCENT + 0x61: [448,11,500,34,493], // LATIN SMALL LETTER A + 0x62: [694,11,556,20,522], // LATIN SMALL LETTER B + 0x63: [448,11,444,34,415], // LATIN SMALL LETTER C + 0x64: [694,11,556,34,535], // LATIN SMALL LETTER D + 0x65: [448,11,444,28,415], // LATIN SMALL LETTER E + 0x66: [705,0,306,26,372], // LATIN SMALL LETTER F + 0x67: [453,206,500,29,485], // LATIN SMALL LETTER G + 0x68: [694,0,556,25,542], // LATIN SMALL LETTER H + 0x69: [669,0,278,26,255], // LATIN SMALL LETTER I + 0x6A: [669,205,306,-55,218], // LATIN SMALL LETTER J + 0x6B: [694,0,528,20,511], // LATIN SMALL LETTER K + 0x6C: [694,0,278,26,263], // LATIN SMALL LETTER L + 0x6D: [442,0,833,25,819], // LATIN SMALL LETTER M + 0x6E: [442,0,556,25,542], // LATIN SMALL LETTER N + 0x6F: [448,10,500,28,471], // LATIN SMALL LETTER O + 0x70: [442,194,556,20,522], // LATIN SMALL LETTER P + 0x71: [442,194,528,33,535], // LATIN SMALL LETTER Q + 0x72: [442,0,392,20,364], // LATIN SMALL LETTER R + 0x73: [448,11,394,33,359], // LATIN SMALL LETTER S + 0x74: [615,10,389,18,333], // LATIN SMALL LETTER T + 0x75: [442,11,556,25,542], // LATIN SMALL LETTER U + 0x76: [431,11,528,19,508], // LATIN SMALL LETTER V + 0x77: [431,11,722,18,703], // LATIN SMALL LETTER W + 0x78: [431,0,528,11,516], // LATIN SMALL LETTER X + 0x79: [431,204,528,19,508], // LATIN SMALL LETTER Y + 0x7A: [431,0,444,28,401], // LATIN SMALL LETTER Z + 0x7B: [750,250,500,65,434], // LEFT CURLY BRACKET + 0x7C: [750,249,278,119,159], // VERTICAL LINE + 0x7D: [750,250,500,65,434], // RIGHT CURLY BRACKET + 0x7E: [318,-215,500,83,416], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA8: [669,-554,500,95,404], // DIAERESIS + 0xAC: [356,-89,667,56,611], // NOT SIGN + 0xAF: [590,-544,500,69,430], // MACRON + 0xB0: [715,-542,500,147,352], // DEGREE SIGN + 0xB1: [666,0,778,56,722], // PLUS-MINUS SIGN + 0xB4: [699,-505,500,203,393], // ACUTE ACCENT + 0xD7: [491,-9,778,147,630], // MULTIPLICATION SIGN + 0xF7: [537,36,778,56,721], // DIVISION SIGN + 0x131: [442,0,278,26,255], // LATIN SMALL LETTER DOTLESS I + 0x237: [442,205,306,-55,218], // LATIN SMALL LETTER DOTLESS J + 0x2C6: [694,-531,500,112,387], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [644,-513,500,114,385], // CARON + 0x2C9: [590,-544,500,69,430], // MODIFIER LETTER MACRON + 0x2CA: [699,-505,500,203,393], // MODIFIER LETTER ACUTE ACCENT + 0x2CB: [699,-505,500,106,295], // MODIFIER LETTER GRAVE ACCENT + 0x2D8: [694,-515,500,92,407], // BREVE + 0x2D9: [669,-549,500,190,309], // DOT ABOVE + 0x2DC: [668,-565,500,83,416], // SMALL TILDE + 0x2DA: [715,-542,500,147,352], // RING ABOVE + 0x300: [699,-505,0,-394,-205], // COMBINING GRAVE ACCENT + 0x301: [699,-505,0,-297,-107], // COMBINING ACUTE ACCENT + 0x302: [694,-531,0,-388,-113], // COMBINING CIRCUMFLEX ACCENT + 0x303: [668,-565,0,-417,-84], // COMBINING TILDE + 0x304: [590,-544,0,-431,-70], // COMBINING MACRON + 0x306: [694,-515,0,-408,-93], // COMBINING BREVE + 0x307: [669,-549,0,-310,-191], // COMBINING DOT ABOVE + 0x308: [669,-554,0,-405,-96], // COMBINING DIAERESIS + 0x30A: [715,-542,0,-353,-148], // COMBINING RING ABOVE + 0x30B: [701,-510,0,-378,-80], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [644,-513,0,-386,-115], // COMBINING CARON + 0x338: [716,215,0,-639,-140], // COMBINING LONG SOLIDUS OVERLAY + 0x393: [680,0,625,25,582], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,833,46,786], // GREEK CAPITAL LETTER DELTA + 0x398: [705,22,778,56,722], // GREEK CAPITAL LETTER THETA + 0x39B: [716,0,694,32,661], // GREEK CAPITAL LETTER LAMDA + 0x39E: [677,0,667,42,624], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,750,25,724], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,722,55,666], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,778,55,722], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,722,56,665], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,778,55,722], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,0,722,44,677], // GREEK CAPITAL LETTER OMEGA + 0x2002: [0,0,500,0,0], // ?? + 0x2003: [0,0,999,0,0], // ?? + 0x2004: [0,0,333,0,0], // ?? + 0x2005: [0,0,250,0,0], // ?? + 0x2006: [0,0,167,0,0], // ?? + 0x2009: [0,0,167,0,0], // ?? + 0x200A: [0,0,83,0,0], // ?? + 0x2013: [285,-248,500,0,499], // EN DASH + 0x2014: [285,-248,1000,0,999], // EM DASH + 0x2018: [694,-379,278,64,198], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-379,278,78,212], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-379,500,128,466], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-379,500,34,372], // RIGHT DOUBLE QUOTATION MARK + 0x2020: [705,216,444,55,389], // DAGGER + 0x2021: [705,205,444,55,389], // DOUBLE DAGGER + 0x2026: [120,0,1172,78,1093], // HORIZONTAL ELLIPSIS + 0x2032: [560,-43,275,30,262], // PRIME + 0x20D7: [714,-516,0,-471,-29], // COMBINING RIGHT ARROW ABOVE + 0x210F: [695,13,540,42,562], // stix-/hbar - Planck's over 2pi + 0x2111: [705,10,722,55,693], // BLACK-LETTER CAPITAL I + 0x2113: [705,20,417,6,397], // SCRIPT SMALL L + 0x2118: [453,216,636,67,625], // SCRIPT CAPITAL P + 0x211C: [716,22,722,40,715], // BLACK-LETTER CAPITAL R + 0x2135: [694,0,611,55,555], // ALEF SYMBOL + 0x2190: [511,11,1000,55,944], // LEFTWARDS ARROW + 0x2191: [694,193,500,17,483], // UPWARDS ARROW + 0x2192: [511,11,1000,56,944], // RIGHTWARDS ARROW + 0x2193: [694,194,500,17,483], // DOWNWARDS ARROW + 0x2194: [511,11,1000,55,944], // LEFT RIGHT ARROW + 0x2195: [772,272,500,17,483], // UP DOWN ARROW + 0x2196: [720,195,1000,29,944], // NORTH WEST ARROW + 0x2197: [720,195,1000,55,970], // NORTH EAST ARROW + 0x2198: [695,220,1000,55,970], // SOUTH EAST ARROW + 0x2199: [695,220,1000,29,944], // SOUTH WEST ARROW + 0x21A6: [511,11,1000,55,944], // RIGHTWARDS ARROW FROM BAR + 0x21A9: [511,11,1126,55,1070], // LEFTWARDS ARROW WITH HOOK + 0x21AA: [511,11,1126,55,1070], // RIGHTWARDS ARROW WITH HOOK + 0x21BC: [511,-230,1000,55,944], // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BD: [270,11,1000,55,944], // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C0: [511,-230,1000,56,944], // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C1: [270,11,1000,56,944], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21CC: [671,11,1000,55,944], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21D0: [525,24,1000,56,944], // LEFTWARDS DOUBLE ARROW + 0x21D1: [694,194,611,31,579], // UPWARDS DOUBLE ARROW + 0x21D2: [525,24,1000,56,944], // RIGHTWARDS DOUBLE ARROW + 0x21D3: [694,194,611,31,579], // DOWNWARDS DOUBLE ARROW + 0x21D4: [526,25,1000,34,966], // LEFT RIGHT DOUBLE ARROW + 0x21D5: [772,272,611,31,579], // UP DOWN DOUBLE ARROW + 0x2200: [694,22,556,0,556], // FOR ALL + 0x2202: [715,22,531,42,566], // PARTIAL DIFFERENTIAL + 0x2203: [694,0,556,56,500], // THERE EXISTS + 0x2205: [772,78,500,39,460], // EMPTY SET + 0x2207: [683,33,833,46,786], // NABLA + 0x2208: [540,40,667,84,583], // ELEMENT OF + 0x2209: [716,215,667,84,583], // stix-negated (vert) set membership, variant + 0x220B: [540,40,667,83,582], // CONTAINS AS MEMBER + 0x2212: [270,-230,778,84,694], // MINUS SIGN + 0x2213: [500,166,778,56,722], // MINUS-OR-PLUS SIGN + 0x2215: [750,250,500,56,445], // DIVISION SLASH + 0x2216: [750,250,500,56,444], // SET MINUS + 0x2217: [465,-35,500,64,435], // ASTERISK OPERATOR + 0x2218: [444,-55,500,55,444], // RING OPERATOR + 0x2219: [444,-55,500,55,444], // BULLET OPERATOR + 0x221A: [800,200,833,72,853], // SQUARE ROOT + 0x221D: [442,11,778,56,722], // PROPORTIONAL TO + 0x221E: [442,11,1000,55,944], // INFINITY + 0x2220: [694,0,722,55,666], // ANGLE + 0x2223: [750,249,278,119,159], // DIVIDES + 0x2225: [750,250,500,132,367], // PARALLEL TO + 0x2227: [598,22,667,55,611], // LOGICAL AND + 0x2228: [598,22,667,55,611], // LOGICAL OR + 0x2229: [598,22,667,55,611], // stix-intersection, serifs + 0x222A: [598,22,667,55,611], // stix-union, serifs + 0x222B: [716,216,417,55,472], // INTEGRAL + 0x223C: [367,-133,778,55,722], // TILDE OPERATOR + 0x2240: [583,83,278,55,222], // WREATH PRODUCT + 0x2243: [464,-36,778,55,722], // ASYMPTOTICALLY EQUAL TO + 0x2245: [589,-22,1000,55,722], // APPROXIMATELY EQUAL TO + 0x2248: [483,-55,778,55,722], // ALMOST EQUAL TO + 0x224D: [484,-16,778,55,722], // EQUIVALENT TO + 0x2250: [670,-133,778,56,722], // APPROACHES THE LIMIT + 0x2260: [716,215,778,56,722], // stix-not (vert) equals + 0x2261: [464,-36,778,56,722], // IDENTICAL TO + 0x2264: [636,138,778,83,694], // LESS-THAN OR EQUAL TO + 0x2265: [636,138,778,83,694], // GREATER-THAN OR EQUAL TO + 0x226A: [568,67,1000,56,944], // MUCH LESS-THAN + 0x226B: [567,67,1000,55,944], // MUCH GREATER-THAN + 0x227A: [539,41,778,84,694], // PRECEDES + 0x227B: [539,41,778,83,694], // SUCCEEDS + 0x2282: [540,40,778,84,694], // SUBSET OF + 0x2283: [540,40,778,83,693], // SUPERSET OF + 0x2286: [636,138,778,84,694], // SUBSET OF OR EQUAL TO + 0x2287: [636,138,778,83,693], // SUPERSET OF OR EQUAL TO + 0x228E: [598,22,667,55,611], // MULTISET UNION + 0x2291: [636,138,778,84,714], // SQUARE IMAGE OF OR EQUAL TO + 0x2292: [636,138,778,64,694], // SQUARE ORIGINAL OF OR EQUAL TO + 0x2293: [598,0,667,61,605], // stix-square intersection, serifs + 0x2294: [598,0,667,61,605], // stix-square union, serifs + 0x2295: [583,83,778,56,722], // stix-circled plus (with rim) + 0x2296: [583,83,778,56,722], // CIRCLED MINUS + 0x2297: [583,83,778,56,722], // stix-circled times (with rim) + 0x2298: [583,83,778,56,722], // CIRCLED DIVISION SLASH + 0x2299: [583,83,778,56,722], // CIRCLED DOT OPERATOR + 0x22A2: [694,0,611,55,555], // RIGHT TACK + 0x22A3: [694,0,611,55,555], // LEFT TACK + 0x22A4: [668,0,778,55,723], // DOWN TACK + 0x22A5: [668,0,778,55,723], // UP TACK + 0x22A8: [750,249,867,119,811], // TRUE + 0x22C4: [488,-12,500,12,488], // DIAMOND OPERATOR + 0x22C5: [310,-190,278,78,199], // DOT OPERATOR + 0x22C6: [486,-16,500,3,497], // STAR OPERATOR + 0x22C8: [505,5,900,26,873], // BOWTIE + 0x22EE: [900,30,278,78,199], // VERTICAL ELLIPSIS + 0x22EF: [310,-190,1172,78,1093], // MIDLINE HORIZONTAL ELLIPSIS + 0x22F1: [820,-100,1282,133,1148], // DOWN RIGHT DIAGONAL ELLIPSIS + 0x2308: [750,250,444,174,422], // LEFT CEILING + 0x2309: [750,250,444,21,269], // RIGHT CEILING + 0x230A: [750,250,444,174,422], // LEFT FLOOR + 0x230B: [750,250,444,21,269], // RIGHT FLOOR + 0x2322: [388,-122,1000,55,944], // stix-small down curve + 0x2323: [378,-134,1000,55,944], // stix-small up curve + 0x23B0: [744,244,412,55,357], // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + 0x23B1: [744,244,412,56,357], // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + 0x25B3: [716,0,889,59,828], // WHITE UP-POINTING TRIANGLE + 0x25B9: [505,5,500,26,474], // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25BD: [500,215,889,59,828], // WHITE DOWN-POINTING TRIANGLE + 0x25C3: [505,5,500,26,473], // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25EF: [715,215,1000,56,944], // LARGE CIRCLE + 0x2660: [727,130,778,55,723], // BLACK SPADE SUIT + 0x2661: [716,33,778,55,723], // WHITE HEART SUIT + 0x2662: [727,162,778,55,723], // WHITE DIAMOND SUIT + 0x2663: [726,130,778,28,750], // BLACK CLUB SUIT + 0x266D: [750,22,389,55,332], // MUSIC FLAT SIGN + 0x266E: [734,223,389,65,324], // MUSIC NATURAL SIGN + 0x266F: [723,223,389,55,333], // MUSIC SHARP SIGN + 0x27E8: [750,250,389,110,333], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [750,250,389,55,278], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27EE: [744,244,412,173,357], // MATHEMATICAL LEFT FLATTENED PARENTHESIS + 0x27EF: [744,244,412,56,240], // MATHEMATICAL RIGHT FLATTENED PARENTHESIS + 0x27F5: [511,11,1609,55,1525], // LONG LEFTWARDS ARROW + 0x27F6: [511,11,1638,84,1553], // LONG RIGHTWARDS ARROW + 0x27F7: [511,11,1859,55,1803], // LONG LEFT RIGHT ARROW + 0x27F8: [525,24,1609,56,1553], // LONG LEFTWARDS DOUBLE ARROW + 0x27F9: [525,24,1638,56,1582], // LONG RIGHTWARDS DOUBLE ARROW + 0x27FA: [525,24,1858,56,1802], // LONG LEFT RIGHT DOUBLE ARROW + 0x27FC: [511,11,1638,55,1553], // LONG RIGHTWARDS ARROW FROM BAR + 0x2A3F: [683,0,750,28,721], // AMALGAMATION OR COPRODUCT + 0x2AAF: [636,138,778,84,694], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [636,138,778,83,694] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + }; + + CHTML.FONTDATA.FONTS['MathJax_Math-Italic'] = { + centerline: 250, ascent: 717, descent: 218, + style: 'italic', + skew: { + 0x41: 0.139, + 0x42: 0.0833, + 0x43: 0.0833, + 0x44: 0.0556, + 0x45: 0.0833, + 0x46: 0.0833, + 0x47: 0.0833, + 0x48: 0.0556, + 0x49: 0.111, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.0278, + 0x4D: 0.0833, + 0x4E: 0.0833, + 0x4F: 0.0833, + 0x50: 0.0833, + 0x51: 0.0833, + 0x52: 0.0833, + 0x53: 0.0833, + 0x54: 0.0833, + 0x55: 0.0278, + 0x58: 0.0833, + 0x5A: 0.0833, + 0x63: 0.0556, + 0x64: 0.167, + 0x65: 0.0556, + 0x66: 0.167, + 0x67: 0.0278, + 0x68: -0.0278, + 0x6C: 0.0833, + 0x6F: 0.0556, + 0x70: 0.0833, + 0x71: 0.0833, + 0x72: 0.0556, + 0x73: 0.0556, + 0x74: 0.0833, + 0x75: 0.0278, + 0x76: 0.0278, + 0x77: 0.0833, + 0x78: 0.0278, + 0x79: 0.0556, + 0x7A: 0.0556, + 0x393: 0.0833, + 0x394: 0.167, + 0x398: 0.0833, + 0x39B: 0.167, + 0x39E: 0.0833, + 0x3A0: 0.0556, + 0x3A3: 0.0833, + 0x3A5: 0.0556, + 0x3A6: 0.0833, + 0x3A8: 0.0556, + 0x3A9: 0.0833, + 0x3B1: 0.0278, + 0x3B2: 0.0833, + 0x3B4: 0.0556, + 0x3B5: 0.0833, + 0x3B6: 0.0833, + 0x3B7: 0.0556, + 0x3B8: 0.0833, + 0x3B9: 0.0556, + 0x3BC: 0.0278, + 0x3BD: 0.0278, + 0x3BE: 0.111, + 0x3BF: 0.0556, + 0x3C1: 0.0833, + 0x3C2: 0.0833, + 0x3C4: 0.0278, + 0x3C5: 0.0278, + 0x3C6: 0.0833, + 0x3C7: 0.0556, + 0x3C8: 0.111, + 0x3D1: 0.0833, + 0x3D5: 0.0833, + 0x3F1: 0.0833, + 0x3F5: 0.0556 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x2F: [716,215,778,139,638], // SOLIDUS + 0x41: [716,0,750,35,726], // LATIN CAPITAL LETTER A + 0x42: [683,0,759,35,756], // LATIN CAPITAL LETTER B + 0x43: [705,22,715,50,760], // LATIN CAPITAL LETTER C + 0x44: [683,0,828,33,803], // LATIN CAPITAL LETTER D + 0x45: [680,0,738,31,764], // LATIN CAPITAL LETTER E + 0x46: [680,0,643,31,749], // LATIN CAPITAL LETTER F + 0x47: [705,22,786,50,760], // LATIN CAPITAL LETTER G + 0x48: [683,0,831,31,888], // LATIN CAPITAL LETTER H + 0x49: [683,0,440,26,504], // LATIN CAPITAL LETTER I + 0x4A: [683,22,555,57,633], // LATIN CAPITAL LETTER J + 0x4B: [683,0,849,31,889], // LATIN CAPITAL LETTER K + 0x4C: [683,0,681,32,647], // LATIN CAPITAL LETTER L + 0x4D: [683,0,970,35,1051], // LATIN CAPITAL LETTER M + 0x4E: [683,0,803,31,888], // LATIN CAPITAL LETTER N + 0x4F: [704,22,763,50,740], // LATIN CAPITAL LETTER O + 0x50: [683,0,642,33,751], // LATIN CAPITAL LETTER P + 0x51: [704,194,791,50,740], // LATIN CAPITAL LETTER Q + 0x52: [683,21,759,33,755], // LATIN CAPITAL LETTER R + 0x53: [705,22,613,52,645], // LATIN CAPITAL LETTER S + 0x54: [677,0,584,21,704], // LATIN CAPITAL LETTER T + 0x55: [683,22,683,60,767], // LATIN CAPITAL LETTER U + 0x56: [683,22,583,52,769], // LATIN CAPITAL LETTER V + 0x57: [683,22,944,51,1048], // LATIN CAPITAL LETTER W + 0x58: [683,0,828,26,852], // LATIN CAPITAL LETTER X + 0x59: [683,-1,581,30,763], // LATIN CAPITAL LETTER Y + 0x5A: [683,0,683,58,723], // LATIN CAPITAL LETTER Z + 0x61: [441,10,529,33,506], // LATIN SMALL LETTER A + 0x62: [694,11,429,40,422], // LATIN SMALL LETTER B + 0x63: [442,11,433,34,429], // LATIN SMALL LETTER C + 0x64: [694,10,520,33,523], // LATIN SMALL LETTER D + 0x65: [442,11,466,39,429], // LATIN SMALL LETTER E + 0x66: [705,205,490,55,550], // LATIN SMALL LETTER F + 0x67: [442,205,477,10,480], // LATIN SMALL LETTER G + 0x68: [694,11,576,48,555], // LATIN SMALL LETTER H + 0x69: [661,11,345,21,302], // LATIN SMALL LETTER I + 0x6A: [661,204,412,-12,403], // LATIN SMALL LETTER J + 0x6B: [694,11,521,48,503], // LATIN SMALL LETTER K + 0x6C: [694,11,298,38,266], // LATIN SMALL LETTER L + 0x6D: [442,11,878,21,857], // LATIN SMALL LETTER M + 0x6E: [442,11,600,21,580], // LATIN SMALL LETTER N + 0x6F: [441,11,485,34,476], // LATIN SMALL LETTER O + 0x70: [442,194,503,-39,497], // LATIN SMALL LETTER P + 0x71: [442,194,446,33,460], // LATIN SMALL LETTER Q + 0x72: [442,11,451,21,430], // LATIN SMALL LETTER R + 0x73: [442,10,469,53,419], // LATIN SMALL LETTER S + 0x74: [626,11,361,19,330], // LATIN SMALL LETTER T + 0x75: [442,11,572,21,551], // LATIN SMALL LETTER U + 0x76: [443,11,485,21,467], // LATIN SMALL LETTER V + 0x77: [443,11,716,21,690], // LATIN SMALL LETTER W + 0x78: [442,11,572,35,522], // LATIN SMALL LETTER X + 0x79: [442,205,490,21,496], // LATIN SMALL LETTER Y + 0x7A: [442,11,465,35,468], // LATIN SMALL LETTER Z + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,-1,615,31,721], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,833,48,788], // GREEK CAPITAL LETTER DELTA + 0x398: [704,22,763,50,740], // GREEK CAPITAL LETTER THETA + 0x39B: [716,0,694,35,670], // GREEK CAPITAL LETTER LAMDA + 0x39E: [677,0,742,53,777], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,831,31,887], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,780,58,806], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,583,28,700], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,667,24,642], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,612,21,692], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,0,772,80,786], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [442,11,640,34,603], // GREEK SMALL LETTER ALPHA + 0x3B2: [705,194,566,23,573], // GREEK SMALL LETTER BETA + 0x3B3: [441,216,518,11,543], // GREEK SMALL LETTER GAMMA + 0x3B4: [717,10,444,36,451], // GREEK SMALL LETTER DELTA + 0x3B5: [452,22,466,27,428], // GREEK SMALL LETTER EPSILON + 0x3B6: [704,204,438,44,471], // GREEK SMALL LETTER ZETA + 0x3B7: [442,216,497,21,503], // GREEK SMALL LETTER ETA + 0x3B8: [705,10,469,35,462], // GREEK SMALL LETTER THETA + 0x3B9: [442,10,354,48,332], // GREEK SMALL LETTER IOTA + 0x3BA: [442,11,576,49,554], // GREEK SMALL LETTER KAPPA + 0x3BB: [694,12,583,47,556], // GREEK SMALL LETTER LAMDA + 0x3BC: [442,216,603,23,580], // GREEK SMALL LETTER MU + 0x3BD: [442,2,494,45,530], // GREEK SMALL LETTER NU + 0x3BE: [704,205,438,21,443], // GREEK SMALL LETTER XI + 0x3BF: [441,11,485,34,476], // GREEK SMALL LETTER OMICRON + 0x3C0: [431,11,570,19,573], // GREEK SMALL LETTER PI + 0x3C1: [442,216,517,23,510], // GREEK SMALL LETTER RHO + 0x3C2: [442,107,363,31,405], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [431,11,571,31,572], // GREEK SMALL LETTER SIGMA + 0x3C4: [431,13,437,18,517], // GREEK SMALL LETTER TAU + 0x3C5: [443,10,540,21,523], // GREEK SMALL LETTER UPSILON + 0x3C6: [442,218,654,50,618], // GREEK SMALL LETTER PHI + 0x3C7: [442,204,626,25,600], // GREEK SMALL LETTER CHI + 0x3C8: [694,205,651,21,634], // GREEK SMALL LETTER PSI + 0x3C9: [443,11,622,15,604], // GREEK SMALL LETTER OMEGA + 0x3D1: [705,11,591,21,563], // GREEK THETA SYMBOL + 0x3D5: [694,205,596,43,579], // GREEK PHI SYMBOL + 0x3D6: [431,10,828,19,823], // GREEK PI SYMBOL + 0x3F1: [442,194,517,67,510], // GREEK RHO SYMBOL + 0x3F5: [431,11,406,40,382] // GREEK LUNATE EPSILON SYMBOL + }; + + CHTML.FONTDATA.FONTS['MathJax_Size1'] = { + centerline: 250, ascent: 850, descent: 350, + 0x20: [0,0,250,0,0], // SPACE + 0x28: [850,349,458,152,422], // LEFT PARENTHESIS + 0x29: [850,349,458,35,305], // RIGHT PARENTHESIS + 0x2F: [850,349,578,55,522], // SOLIDUS + 0x5B: [850,349,417,202,394], // LEFT SQUARE BRACKET + 0x5C: [850,349,578,54,522], // REVERSE SOLIDUS + 0x5D: [850,349,417,22,214], // RIGHT SQUARE BRACKET + 0x7B: [850,349,583,105,477], // LEFT CURLY BRACKET + 0x7D: [850,349,583,105,477], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [744,-551,556,-8,564], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [722,-597,556,1,554], // SMALL TILDE + 0x302: [744,-551,0,-564,8], // COMBINING CIRCUMFLEX ACCENT + 0x303: [722,-597,0,-555,-2], // COMBINING TILDE + 0x2016: [602,0,778,257,521], // DOUBLE VERTICAL LINE + 0x2191: [600,0,667,112,555], // UPWARDS ARROW + 0x2193: [600,0,667,112,555], // DOWNWARDS ARROW + 0x21D1: [599,0,778,57,721], // UPWARDS DOUBLE ARROW + 0x21D3: [600,-1,778,57,721], // DOWNWARDS DOUBLE ARROW + 0x220F: [750,250,944,55,888], // N-ARY PRODUCT + 0x2210: [750,250,944,55,888], // N-ARY COPRODUCT + 0x2211: [750,250,1056,56,999], // N-ARY SUMMATION + 0x221A: [850,350,1000,111,1020], // SQUARE ROOT + 0x2223: [627,15,333,145,188], // DIVIDES + 0x2225: [627,15,556,145,410], // PARALLEL TO + 0x222B: [805,306,472,55,610], // INTEGRAL + 0x222C: [805,306,819,55,957], // DOUBLE INTEGRAL + 0x222D: [805,306,1166,55,1304], // TRIPLE INTEGRAL + 0x222E: [805,306,472,55,610], // CONTOUR INTEGRAL + 0x22C0: [750,249,833,55,777], // N-ARY LOGICAL AND + 0x22C1: [750,249,833,55,777], // N-ARY LOGICAL OR + 0x22C2: [750,249,833,55,777], // N-ARY INTERSECTION + 0x22C3: [750,249,833,55,777], // N-ARY UNION + 0x2308: [850,349,472,202,449], // LEFT CEILING + 0x2309: [850,349,472,22,269], // RIGHT CEILING + 0x230A: [850,349,472,202,449], // LEFT FLOOR + 0x230B: [850,349,472,22,269], // RIGHT FLOOR + 0x23D0: [602,0,667,312,355], // VERTICAL LINE EXTENSION (used to extend arrows) + 0x27E8: [850,350,472,97,394], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [850,350,472,77,374], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x2A00: [750,250,1111,56,1054], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [750,250,1111,56,1054], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [750,250,1111,56,1054], // N-ARY CIRCLED TIMES OPERATOR + 0x2A04: [750,249,833,55,777], // N-ARY UNION OPERATOR WITH PLUS + 0x2A06: [750,249,833,55,777] // N-ARY SQUARE UNION OPERATOR + }; + + CHTML.FONTDATA.FONTS['MathJax_Size2'] = { + centerline: 249, ascent: 1360, descent: 862, + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1150,649,597,180,561], // LEFT PARENTHESIS + 0x29: [1150,649,597,35,416], // RIGHT PARENTHESIS + 0x2F: [1150,649,811,56,754], // SOLIDUS + 0x5B: [1150,649,472,224,455], // LEFT SQUARE BRACKET + 0x5C: [1150,649,811,54,754], // REVERSE SOLIDUS + 0x5D: [1150,649,472,16,247], // RIGHT SQUARE BRACKET + 0x7B: [1150,649,667,119,547], // LEFT CURLY BRACKET + 0x7D: [1150,649,667,119,547], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [772,-565,1000,-5,1004], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [750,-611,1000,0,999], // SMALL TILDE + 0x302: [772,-565,0,-1005,4], // COMBINING CIRCUMFLEX ACCENT + 0x303: [750,-611,0,-1000,-1], // COMBINING TILDE + 0x220F: [950,450,1278,56,1221], // N-ARY PRODUCT + 0x2210: [950,450,1278,56,1221], // N-ARY COPRODUCT + 0x2211: [950,450,1444,55,1388], // N-ARY SUMMATION + 0x221A: [1150,650,1000,111,1020], // SQUARE ROOT + 0x222B: [1360,862,556,55,944], // INTEGRAL + 0x222C: [1360,862,1084,55,1472], // DOUBLE INTEGRAL + 0x222D: [1360,862,1592,55,1980], // TRIPLE INTEGRAL + 0x222E: [1360,862,556,55,944], // CONTOUR INTEGRAL + 0x22C0: [950,450,1111,55,1055], // N-ARY LOGICAL AND + 0x22C1: [950,450,1111,55,1055], // N-ARY LOGICAL OR + 0x22C2: [949,450,1111,55,1055], // N-ARY INTERSECTION + 0x22C3: [950,449,1111,55,1055], // N-ARY UNION + 0x2308: [1150,649,528,224,511], // LEFT CEILING + 0x2309: [1150,649,528,16,303], // RIGHT CEILING + 0x230A: [1150,649,528,224,511], // LEFT FLOOR + 0x230B: [1150,649,528,16,303], // RIGHT FLOOR + 0x27E8: [1150,649,611,112,524], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1150,649,611,85,498], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x2A00: [949,449,1511,56,1454], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [949,449,1511,56,1454], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [949,449,1511,56,1454], // N-ARY CIRCLED TIMES OPERATOR + 0x2A04: [950,449,1111,55,1055], // N-ARY UNION OPERATOR WITH PLUS + 0x2A06: [950,450,1111,55,1055] // N-ARY SQUARE UNION OPERATOR + }; + + CHTML.FONTDATA.FONTS['MathJax_Size3'] = { + centerline: 250, ascent: 1450, descent: 950, + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1450,949,736,209,701], // LEFT PARENTHESIS + 0x29: [1450,949,736,34,526], // RIGHT PARENTHESIS + 0x2F: [1450,949,1044,55,989], // SOLIDUS + 0x5B: [1450,949,528,247,516], // LEFT SQUARE BRACKET + 0x5C: [1450,949,1044,56,988], // REVERSE SOLIDUS + 0x5D: [1450,949,528,11,280], // RIGHT SQUARE BRACKET + 0x7B: [1450,949,750,130,618], // LEFT CURLY BRACKET + 0x7D: [1450,949,750,131,618], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [772,-564,1444,-4,1447], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [749,-610,1444,1,1442], // SMALL TILDE + 0x302: [772,-564,0,-1448,3], // COMBINING CIRCUMFLEX ACCENT + 0x303: [749,-610,0,-1443,-2], // COMBINING TILDE + 0x221A: [1450,950,1000,111,1020], // SQUARE ROOT + 0x2308: [1450,949,583,246,571], // LEFT CEILING + 0x2309: [1450,949,583,11,336], // RIGHT CEILING + 0x230A: [1450,949,583,246,571], // LEFT FLOOR + 0x230B: [1450,949,583,11,336], // RIGHT FLOOR + 0x27E8: [1450,950,750,126,654], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1450,949,750,94,623] // MATHEMATICAL RIGHT ANGLE BRACKET + }; + + CHTML.FONTDATA.FONTS['MathJax_Size4'] = { + centerline: 250, ascent: 1750, descent: 1250, + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1750,1249,792,237,758], // LEFT PARENTHESIS + 0x29: [1750,1249,792,33,554], // RIGHT PARENTHESIS + 0x2F: [1750,1249,1278,56,1221], // SOLIDUS + 0x5B: [1750,1249,583,269,577], // LEFT SQUARE BRACKET + 0x5C: [1750,1249,1278,56,1221], // REVERSE SOLIDUS + 0x5D: [1750,1249,583,5,313], // RIGHT SQUARE BRACKET + 0x7B: [1750,1249,806,144,661], // LEFT CURLY BRACKET + 0x7D: [1750,1249,806,144,661], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [845,-561,1889,-14,1902], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [823,-583,1889,1,1885], // SMALL TILDE + 0x302: [845,-561,0,-1903,13], // COMBINING CIRCUMFLEX ACCENT + 0x303: [823,-583,0,-1888,-4], // COMBINING TILDE + 0x221A: [1750,1250,1000,111,1020], // SQUARE ROOT + 0x2308: [1750,1249,639,269,633], // LEFT CEILING + 0x2309: [1750,1249,639,5,369], // RIGHT CEILING + 0x230A: [1750,1249,639,269,633], // LEFT FLOOR + 0x230B: [1750,1249,639,5,369], // RIGHT FLOOR + 0x239B: [1154,655,875,291,843], // LEFT PARENTHESIS UPPER HOOK + 0x239C: [610,10,875,291,417], // LEFT PARENTHESIS EXTENSION + 0x239D: [1165,644,875,291,843], // LEFT PARENTHESIS LOWER HOOK + 0x239E: [1154,655,875,31,583], // RIGHT PARENTHESIS UPPER HOOK + 0x239F: [610,10,875,457,583], // RIGHT PARENTHESIS EXTENSION + 0x23A0: [1165,644,875,31,583], // RIGHT PARENTHESIS LOWER HOOK + 0x23A1: [1154,645,667,319,666], // LEFT SQUARE BRACKET UPPER CORNER + 0x23A2: [602,0,667,319,403], // LEFT SQUARE BRACKET EXTENSION + 0x23A3: [1155,644,667,319,666], // LEFT SQUARE BRACKET LOWER CORNER + 0x23A4: [1154,645,667,0,347], // RIGHT SQUARE BRACKET UPPER CORNER + 0x23A5: [602,0,667,263,347], // RIGHT SQUARE BRACKET EXTENSION + 0x23A6: [1155,644,667,0,347], // RIGHT SQUARE BRACKET LOWER CORNER + 0x23A7: [899,10,889,384,718], // LEFT CURLY BRACKET UPPER HOOK + 0x23A8: [1160,660,889,170,504], // LEFT CURLY BRACKET MIDDLE PIECE + 0x23A9: [10,899,889,384,718], // LEFT CURLY BRACKET LOWER HOOK + 0x23AA: [310,10,889,384,504], // CURLY BRACKET EXTENSION + 0x23AB: [899,10,889,170,504], // RIGHT CURLY BRACKET UPPER HOOK + 0x23AC: [1160,660,889,384,718], // RIGHT CURLY BRACKET MIDDLE PIECE + 0x23AD: [10,899,889,170,504], // RIGHT CURLY BRACKET LOWER HOOK + 0x23B7: [935,885,1056,111,742], // RADICAL SYMBOL BOTTOM + 0x27E8: [1750,1248,806,140,703], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1750,1248,806,103,665], // MATHEMATICAL RIGHT ANGLE BRACKET + 0xE000: [625,14,1056,702,742], // stix-radical symbol vertical extender + 0xE001: [605,14,1056,702,1076], // stix-radical symbol top corner piece + 0xE150: [120,213,450,-24,460], // stix-horizontal brace, down left piece + 0xE151: [120,213,450,-10,474], // stix-horizontal brace, down right piece + 0xE152: [333,0,450,-24,460], // stix-horizontal brace, upper left piece + 0xE153: [333,0,450,-10,474], // stix-horizontal brace, upper right piece + 0xE154: [120,0,400,-10,410] // stix-oblique open face capital letter A + }; + + CHTML.FONTDATA.FONTS['MathJax_Vector'] = { + centerline: 257, ascent: 714, descent: 200, + 0x2192: [714,-516,500,29,471] // vector arrow + }; + + CHTML.FONTDATA.FONTS['MathJax_Vector-Bold'] = { + centerline: 256, ascent: 723, descent: 210, + 0x2192: [723,-513,575,33,542] // vector arrow + }; + + CHTML.FONTDATA.FONTS[MAIN][0x2212][0] = CHTML.FONTDATA.FONTS[MAIN][0x002B][0]; // minus is sized as plus + CHTML.FONTDATA.FONTS[MAIN][0x2212][1] = CHTML.FONTDATA.FONTS[MAIN][0x002B][1]; // minus is sized as plus + CHTML.FONTDATA.FONTS[MAIN][0x22EE][0] += 400; // adjust height for \vdots + CHTML.FONTDATA.FONTS[MAIN][0x22F1][0] += 700; // adjust height for \ddots + CHTML.FONTDATA.FONTS[SIZE4][0x23AA][0] -= 20; + CHTML.FONTDATA.FONTS[SIZE4][0x23AA][1] += 5; + CHTML.FONTDATA.FONTS[SIZE4][0xE154][0] += 200; // adjust height for brace extender + CHTML.FONTDATA.FONTS[SIZE4][0xE154][1] += 200; // adjust depth for brace extender + CHTML.FONTDATA.FONTS[MAIN][0x2245][2] -= 222; // fix error in character's right bearing + CHTML.FONTDATA.FONTS[MAIN][0x2245][5] = {rfix:-222}; // fix error in character's right bearing + MathJax.Hub.Register.LoadHook(CHTML.fontDir+"/TeX/Main-Bold.js",function () { + CHTML.FONTDATA.FONTS[BOLD][0x2245][2] -= 106; // fix error in character's right bearing + CHTML.FONTDATA.FONTS[BOLD][0x2245][5] = {rfix:-106}; // fix error in character's right bearing + }); + MathJax.Hub.Register.LoadHook(CHTML.fontDir+"/TeX/Typewriter-Regular.js",function () { + CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0x20][2] += 275; // fix error in character width + CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0x20][5] = {rfix:275}; // fix error in character width + CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0xA0][2] += 275; // fix error in character width + CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0xA0][5] = {rfix:275}; // fix error in character width + }); + + // + // Add some spacing characters + // + MathJax.Hub.Insert(CHTML.FONTDATA.FONTS[MAIN],{ + remapCombining: { + 0x300: 0x2CB, // grave accent + 0x301: 0x2CA, // acute accent + 0x302: 0x2C6, // curcumflex + 0x303: 0x2DC, // tilde accent + 0x304: 0x2C9, // macron + 0x306: 0x2D8, // breve + 0x307: 0x2D9, // dot + 0x308: 0xA8, // diaresis + 0x30A: 0x2DA, // ring above +// 0x30B: ?? // double acute accent + 0x30C: 0x2C7, // caron + 0x338: [0x2F, ITALIC], // \not + 0x20D7: [0x2192, 'MathJax_Vector'] // \vec + }, + 0x2000: [0,0,500,0,0,{space:1}], // en space + 0x2001: [0,0,1000,0,0,{space:1}], // em quad + 0x2002: [0,0,500,0,0,{space:1}], // en quad + 0x2003: [0,0,1000,0,0,{space:1}], // em space + 0x2004: [0,0,333,0,0,{space:1}], // 3-per-em space + 0x2005: [0,0,250,0,0,{space:1}], // 4-per-em space + 0x2006: [0,0,167,0,0,{space:1}], // 6-per-em space + 0x2009: [0,0,167,0,0,{space:1}], // thin space + 0x200A: [0,0,100,0,0,{space:1}], // hair space + 0x200B: [0,0,0,0,0,{space:1}], // zero-width space + 0x200C: [0,0,0,0,0,{space:1}], // zero-width non-joiner space + 0x2061: [0,0,0,0,0,{space:1}], // function application + 0x2062: [0,0,0,0,0,{space:1}], // invisible times + 0x2063: [0,0,0,0,0,{space:1}], // invisible separator + 0x2064: [0,0,0,0,0,{space:1}], // invisible plus + 0xEEE0: [0,0,-575,0,0,{space:1}], + 0xEEE1: [0,0,-300,0,0,{space:1}], + 0xEEE8: [0,0,25,0,0,{space:1}] + }); + MathJax.Hub.Insert(CHTML.FONTDATA.FONTS['MathJax_Main-Italic'],{ + remapCombining: { + 0x300: [0x2CB, MAIN], // grave accent + 0x301: [0x2CA, MAIN], // acute accent + 0x302: [0x2C6, MAIN], // curcumflex + 0x303: [0x2DC, MAIN], // tilde accent + 0x304: [0x2C9, MAIN], // macron + 0x306: [0x2D8, MAIN], // breve + 0x307: [0x2D9, MAIN], // dot + 0x308: [0xA8, MAIN], // diaresis + 0x30A: [0x2DA, MAIN], // ring above +// 0x30B: ?? // double acute accent + 0x30C: [0x2C7, MAIN], // caron + 0x338: [0x2F, 'MathJax_Vector'] // \not + } + }); + MathJax.Hub.Insert(CHTML.FONTDATA.FONTS['MathJax_Main-Bold'],{ + remapCombining: { + 0x300: 0x2CB, // grave accent + 0x301: 0x2CA, // acute accent + 0x302: 0x2C6, // curcumflex + 0x303: 0x2DC, // tilde accent + 0x304: 0x2C9, // macron + 0x306: 0x2D8, // breve + 0x307: 0x2D9, // dot + 0x308: 0xA8, // diaresis + 0x30A: 0x2DA, // ring above +// 0x30B: ?? // double acute accent + 0x30C: 0x2C7, // caron + 0x338: [0x2F, 'MathJax_Math-BoldItalic'], // \not + 0x20D7: [0x2192, 'MathJax_Vector-Bold'] // \vec + } + }); + + // + // Create @font-face stylesheet for the declared fonts + // + CHTML.FONTDATA.familyName = function (font) { + font = font.replace(/^MathJax_/,""); + var names = (font+"-Regular").split(/-/); + var suffix = names[0].toLowerCase().replace(/(?:igraphic|serif|writer|tur|tor)$/,"") + + "-" + names[1].replace(/[^A-Z]/g,""); + return "MJXc-TeX-"+suffix; + }; + (function () { + var STYLES = CHTML.config.styles, FONTS = CHTML.FONTDATA.FONTS; + var OTFDIR = AJAX.fileURL(CHTML.webfontDir+"/TeX/otf"), + EOTDIR = AJAX.fileURL(CHTML.webfontDir+"/TeX/eot"), + WOFFDIR = AJAX.fileURL(CHTML.webfontDir+"/TeX/woff"); + var faces = []; + for (var name in FONTS) {if (FONTS.hasOwnProperty(name)) { + var family = CHTML.FONTDATA.familyName(name), FAMILY = family; + var variant = ((name+"-Regular").split(/-/))[1]; + FONTS[name].className = family; + // + // The local font, if found + // + var font = {"font-family":family}; + name = name.replace(/-.*/,""); + if (variant === "Regular") { + font.src = "local('"+name+"'), local('"+name+"-Regular')"; + } else { + font.src = "local('"+name+" "+variant+"'), local('"+name+"-"+variant+"')"; + } + faces.push(font); + // + // For Chrome, need to have separate font-weight and font-style versions + // + if (variant !== "Regular") { + font = {"font-family":family+"x", src:"local('"+name+"')"}; + if (variant.match(/Bold/)) font["font-weight"] = "bold"; + if (variant.match(/Italic/)) font["font-style"] = "italic"; + FAMILY += ","+family+"x"; + faces.push(font); + } + // + // The web font, if no local font found + // + font = { + "font-family": family+"w", + "src /*1*/": "url('"+EOTDIR+"/"+name+"-"+variant+".eot')", // for IE8 + "src /*2*/": [ + "url('"+WOFFDIR+"/"+name+"-"+variant+".woff') format('woff')", + "url('"+OTFDIR+"/"+name+"-"+variant+".otf') format('opentype')" + ].join(", ") + }; + faces.push(font); + // + // A class that looks for the local and web fonts + // + FAMILY += ","+family+"w"; + STYLES["."+family] = {"font-family":FAMILY}; + }} + if (faces.length) STYLES["@font-face"] = faces; + })(); + + CHTML.fontLoaded("TeX/fontdata"); + +})(MathJax.OutputJax.CommonHTML,MathJax.ElementJax.mml,MathJax.Ajax); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/jax.js new file mode 100644 index 00000000..5d48d26e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/jax.js @@ -0,0 +1,2841 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/jax.js + * + * Implements the CommonHTML OutputJax that displays mathematics + * using HTML and CSS to position the characters from math fonts + * in their proper locations. Unlike the HTML-CSS output jax, + * this HTML is browser and OS independent. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + + +(function (AJAX,HUB,HTML,CHTML) { + var MML; + var isArray = MathJax.Object.isArray; + + var EVENT, TOUCH, HOVER; // filled in later + + var STRUTHEIGHT = 1, + EFUZZ = .1, // overlap needed for stretchy delimiters + HFUZZ = .025, DFUZZ = .025; // adjustments to bounding box of character boxes + + var STYLES = { + ".mjx-chtml": { + display: "inline-block", + "line-height": 0, + "text-indent": 0, + "text-align": "left", + "text-transform": "none", + "font-style": "normal", + "font-weight": "normal", + "font-size": "100%", + "font-size-adjust":"none", + "letter-spacing": "normal", + "word-wrap": "normal", + "word-spacing": "normal", + "white-space": "nowrap", + "float": "none", + "direction": "ltr", + "max-width": "none", + "max-height": "none", + "min-width": 0, + "min-height": 0, + border: 0, + margin: 0, + padding: "1px 0" + }, + ".MJXc-display": { + display: "block", + "text-align": "center", + "margin": "1em 0", + padding: 0 + }, + ".mjx-chtml[tabindex]:focus, body :focus .mjx-chtml[tabindex]": { + display: "inline-table" // see issues #1282 and #1338 + }, + ".mjx-full-width": { + "text-align": "center", + display: "table-cell!important", + width: "10000em" + }, + + ".mjx-math": { + "display": "inline-block", + "border-collapse": "separate", + "border-spacing": 0 + }, + ".mjx-math *": { + display:"inline-block", + "-webkit-box-sizing": "content-box!important", + "-moz-box-sizing": "content-box!important", + "box-sizing": "content-box!important", // override bootstrap settings + "text-align":"left" + }, + + ".mjx-numerator": {display:"block", "text-align":"center"}, + ".mjx-denominator": {display:"block", "text-align":"center"}, + ".MJXc-stacked": {height:0, position:"relative"}, + ".MJXc-stacked > *": {position: "absolute"}, + ".MJXc-bevelled > *": {display:"inline-block"}, + + ".mjx-stack": {display:"inline-block"}, + ".mjx-op": {display:"block"}, + ".mjx-under": {display:"table-cell"}, + ".mjx-over": {display:"block"}, + ".mjx-over > *": {"padding-left":"0px!important", "padding-right":"0px!important"}, + ".mjx-under > *": {"padding-left":"0px!important", "padding-right":"0px!important"}, + + ".mjx-stack > .mjx-sup": {display:"block"}, + ".mjx-stack > .mjx-sub": {display:"block"}, + ".mjx-prestack > .mjx-presup": {display:"block"}, + ".mjx-prestack > .mjx-presub": {display:"block"}, + + ".mjx-delim-h > .mjx-char": {display:"inline-block"}, + + ".mjx-surd": {"vertical-align":"top"}, + + ".mjx-mphantom *": {visibility:"hidden"}, + + ".mjx-merror": { + "background-color":"#FFFF88", + color: "#CC0000", + border: "1px solid #CC0000", + padding: "2px 3px", + "font-style": "normal", + "font-size": "90%" + }, + + ".mjx-annotation-xml": {"line-height":"normal"}, + + ".mjx-menclose > svg": {fill:"none", stroke:"currentColor"}, + + ".mjx-mtr": {display:"table-row"}, + ".mjx-mlabeledtr": {display:"table-row"}, + ".mjx-mtd": {display:"table-cell", "text-align":"center"}, + ".mjx-label": {display:"table-row"}, + + ".mjx-box": {display:"inline-block"}, + ".mjx-block": {display:"block"}, + ".mjx-span": {display:"inline"}, + ".mjx-char": {display:"block", "white-space":"pre"}, + ".mjx-itable": {display:"inline-table", width:"auto"}, + ".mjx-row": {display:"table-row"}, + ".mjx-cell": {display:"table-cell"}, + ".mjx-table": {display:"table", width:"100%"}, + ".mjx-line": {display:"block", height:0}, + ".mjx-strut": {width:0, "padding-top":STRUTHEIGHT+"em"}, + ".mjx-vsize": {width:0}, + + ".MJXc-space1": {"margin-left":".167em"}, + ".MJXc-space2": {"margin-left":".222em"}, + ".MJXc-space3": {"margin-left":".278em"}, + + ".mjx-chartest": { + display:"block", + visibility: "hidden", + position:"absolute", top:0, + "line-height":"normal", + "font-size":"500%" + }, + ".mjx-chartest .mjx-char": {display:"inline"}, + ".mjx-chartest .mjx-box": {"padding-top": "1000px"}, + + ".MJXc-processing": { + visibility: "hidden", position:"fixed", + width: 0, height: 0, overflow:"hidden" + }, + ".MJXc-processed": {display:"none"}, + + ".mjx-test": { + "font-style": "normal", + "font-weight": "normal", + "font-size": "100%", + "font-size-adjust":"none", + "text-indent": 0, + "text-transform": "none", + "letter-spacing": "normal", + "word-spacing": "normal", + overflow: "hidden", + height: "1px" + }, + ".mjx-test.mjx-test-display": { + display: "table!important" + }, + ".mjx-test.mjx-test-inline": { + display: "inline!important", + "margin-right": "-1px" + }, + ".mjx-test.mjx-test-default": { + display: "block!important", + clear: "both" + }, + ".mjx-ex-box": { + display: "inline-block!important", + position: "absolute", + overflow: "hidden", + "min-height": 0, "max-height":"none", + padding:0, border: 0, margin: 0, + width:"1px", height:"60ex" + }, + ".mjx-test-inline .mjx-left-box": { + display: "inline-block", + width: 0, + "float":"left" + }, + ".mjx-test-inline .mjx-right-box": { + display: "inline-block", + width: 0, + "float":"right" + }, + ".mjx-test-display .mjx-right-box": { + display: "table-cell!important", + width: "10000em!important", + "min-width":0, "max-width":"none", + padding:0, border:0, margin:0 + }, + + "#MathJax_CHTML_Tooltip": { + "background-color": "InfoBackground", color: "InfoText", + border: "1px solid black", + "box-shadow": "2px 2px 5px #AAAAAA", // Opera 10.5 + "-webkit-box-shadow": "2px 2px 5px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow": "2px 2px 5px #AAAAAA", // Firefox 3.5 + "-khtml-box-shadow": "2px 2px 5px #AAAAAA", // Konqueror + padding: "3px 4px", + "z-index": 401, + position: "absolute", left: 0, top: 0, + width: "auto", height: "auto", + display: "none" + } + + }; + + + /************************************************************/ + + var BIGDIMEN = 1000000; + var MAXREMAP = 5; + var LINEBREAKS = {}, CONFIG = MathJax.Hub.config; + + CHTML.Augment({ + settings: HUB.config.menuSettings, + config: {styles: STYLES}, + + /********************************************/ + + Config: function () { + if (!this.require) {this.require = []} + this.SUPER(arguments).Config.call(this); var settings = this.settings; + if (settings.scale) {this.config.scale = settings.scale} + this.require.push(this.fontDir+"/TeX/fontdata.js"); + this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); + LINEBREAKS = this.config.linebreaks; + }, + + Startup: function () { + // + // Set up event handling + // + EVENT = MathJax.Extension.MathEvents.Event; + TOUCH = MathJax.Extension.MathEvents.Touch; + HOVER = MathJax.Extension.MathEvents.Hover; + this.ContextMenu = EVENT.ContextMenu; + this.Mousedown = EVENT.AltContextMenu; + this.Mouseover = HOVER.Mouseover; + this.Mouseout = HOVER.Mouseout; + this.Mousemove = HOVER.Mousemove; + + // + // Determine pixels per inch + // + var div = CHTML.addElement(document.body,"mjx-block",{style:{display:"block",width:"5in"}}); + this.pxPerInch = div.offsetWidth/5; div.parentNode.removeChild(div); + + // + // Used in preTranslate to get scaling factors and line width + // + this.TestSpan = CHTML.Element("mjx-test",{style:{left:"1em"}}, + [["mjx-left-box"],["mjx-ex-box"],["mjx-right-box"]]); + + // + // Set up styles and preload web fonts + // + return AJAX.Styles(this.config.styles,["InitializeCHTML",this]); + }, + + InitializeCHTML: function () { + this.getDefaultExEm(); + // + // If the defaultEm size is zero, it might be that a web font hasn't + // arrived yet, so try to wait for it, but don't wait too long. + // + if (this.defaultEm) return; + var ready = MathJax.Callback(); + AJAX.timer.start(AJAX,function (check) { + if (check.time(ready)) {HUB.signal.Post(["CommonHTML Jax - no default em size"]); return} + CHTML.getDefaultExEm(); + if (CHTML.defaultEm) {ready()} else {setTimeout(check,check.delay)} + },this.defaultEmDelay,this.defaultEmTimeout); + return ready; + }, + defaultEmDelay: 100, // initial delay when checking for defaultEm + defaultEmTimeout: 1000, // when to stop looking for defaultEm + getDefaultExEm: function () { + // + // Get the default sizes (need styles in place to do this) + // + var test = document.body.appendChild(this.TestSpan.cloneNode(true)); + test.className += " mjx-test-inline mjx-test-default"; + this.defaultEm = this.getFontSize(test); + this.defaultEx = test.childNodes[1].offsetHeight/60; + this.defaultWidth = Math.max(0,test.lastChild.offsetLeft-test.firstChild.offsetLeft-2); + document.body.removeChild(test); + }, + getFontSize: (window.getComputedStyle ? + function (node) { + var style = window.getComputedStyle(node); + return parseFloat(style.fontSize); + } : + // + // IE 8 doesn't do getComputedStyle, so use + // an alternative approach + // + function (node) { + return node.style.pixelLeft; + } + ), + getMaxWidth: (window.getComputedStyle ? + function (node) { + var style = window.getComputedStyle(node); + if (style.maxWidth !== "none") return parseFloat(style.maxWidth); + return 0; + } : + // + // IE 8 doesn't do getComputedStyle, so use + // currentStyle, and a hack to get the pixels for + // a non-px max-width + // + function (node) { + var max = node.currentStyle.maxWidth; + if (max !== "none") { + if (max.match(/\d*px/)) return parseFloat(max); + var left = node.style.left; + node.style.left = max; max = node.style.pixelLeft; + node.style.left = left; + return max; + } + return 0; + } + ), + + // + // Load data for a font + // + loadFont: function (font) { + HUB.RestartAfter(AJAX.Require(this.fontDir+"/"+font)); + }, + // + // Signal that the font data are loaded + // + fontLoaded: function (font) { + if (!font.match(/-|fontdata/)) font += "-Regular"; + if (!font.match(/\.js$/)) font += ".js" + MathJax.Callback.Queue( + ["Post",HUB.Startup.signal,"CommonHTML - font data loaded for " + font], + ["loadComplete",AJAX,this.fontDir+"/"+font] + ); + }, + + Element: function (type,def,content) { + if (type.substr(0,4) === "mjx-") { + if (!def) def = {}; + if (def.isMathJax == null) def.isMathJax = true; + if (def.className) def.className = type+" "+def.className; else def.className = type; + type = "span"; + } + return this.HTMLElement(type,def,content); + }, + addElement: function (node,type,def,content) { + return node.appendChild(this.Element(type,def,content)); + }, + HTMLElement: HTML.Element, + ucMatch: HTML.ucMatch, + setScript: HTML.setScript, + + // + // Look through the direct children of a node for one with the given + // type (but if the node has intervening containers for its children, + // step into them; note that elements corresponding to MathML nodes + // will have id's so we don't step into them). + // + // This is used by munderover and msubsup to locate their child elements + // when they are part of an embellished operator that is being stretched. + // We don't use querySelector because we want to find only the direct child + // nodes, not nodes that might be nested deeper in the tree (see issue #1447). + // + getNode: function (node,type) { + var name = RegExp("\\b"+type+"\\b"); + var nodes = []; + while (node) { + for (var i = 0, m = node.childNodes.length; i < m; i++) { + var child = node.childNodes[i]; + if (child) { + if (name.test(child.className)) return child; + if (child.id === "") nodes.push(child); + } + } + node = nodes.shift(); + } + return null; + }, + + /********************************************/ + + preTranslate: function (state) { + var scripts = state.jax[this.id], i, m = scripts.length, + script, prev, node, test, jax, ex, em, scale; + // + // Get linebreaking information + // + var maxwidth = 100000, relwidth = false, cwidth = 0, + linebreak = LINEBREAKS.automatic, width = LINEBREAKS.width; + if (linebreak) { + relwidth = !!width.match(/^\s*(\d+(\.\d*)?%\s*)?container\s*$/); + if (relwidth) {width = width.replace(/\s*container\s*/,"")} + else {maxwidth = this.defaultWidth} + if (width === "") {width = "100%"} + } + // + // Loop through the scripts + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + // + // Remove any existing output + // + prev = script.previousSibling; + if (prev && prev.className && String(prev.className).substr(0,9) === "mjx-chtml") + prev.parentNode.removeChild(prev); + if (script.MathJax.preview) script.MathJax.preview.style.display = "none"; + // + // Add the node for the math and mark it as being processed + // + jax = script.MathJax.elementJax; if (!jax) continue; + jax.CHTML = { + display: (jax.root.Get("display") === "block"), + preview: (jax.CHTML||{}).preview // in case typeset calls are interleaved + }; + node = CHTML.Element("mjx-chtml",{ + id:jax.inputID+"-Frame", className:"MathJax_CHTML", isMathJax:true, jaxID:this.id, + oncontextmenu:EVENT.Menu, onmousedown: EVENT.Mousedown, + onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove, + onclick:EVENT.Click, ondblclick:EVENT.DblClick, + // Added for keyboard accessible menu. + onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax) + }); + if (jax.CHTML.display) { + // + // Zoom box requires an outer container to get the positioning right. + // + var NODE = CHTML.Element("mjx-chtml",{className:"MJXc-display",isMathJax:false}); + NODE.appendChild(node); node = NODE; + } + if (HUB.Browser.noContextMenu) { + node.ontouchstart = TOUCH.start; + node.ontouchend = TOUCH.end; + } + // + node.className += " MJXc-processing"; + script.parentNode.insertBefore(node,script); + // + // Add test nodes for determining scales and linebreak widths + // + test = this.TestSpan.cloneNode(true); + test.className += " mjx-test-" + (jax.CHTML.display ? "display" : "inline"); + script.parentNode.insertBefore(test,script); + } + // + // Determine the scaling factors for each script + // (this only requires one reflow rather than a reflow for each equation) + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + test = script.previousSibling; + jax = script.MathJax.elementJax; if (!jax) continue; + em = CHTML.getFontSize(test); + ex = test.childNodes[1].offsetHeight/60; + cwidth = Math.max(0, jax.CHTML.display ? test.lastChild.offsetWidth - 1: + test.lastChild.offsetLeft - test.firstChild.offsetLeft - 2); + if (ex === 0 || ex === "NaN") { + ex = this.defaultEx; + cwidth = this.defaultWidth; + } + if (cwidth === 0 && !jax.CHTML.display) cwidth = this.defaultWidth; + if (relwidth) maxwidth = cwidth; + scale = (this.config.matchFontHeight ? ex/this.TEX.x_height/em : 1); + scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale)*this.config.scale); + jax.CHTML.scale = scale/100; jax.CHTML.fontSize = scale+"%"; + jax.CHTML.outerEm = em; jax.CHTML.em = this.em = em * scale/100; + jax.CHTML.ex = ex; jax.CHTML.cwidth = cwidth/this.em; + jax.CHTML.lineWidth = (linebreak ? this.length2em(width,maxwidth/this.em,1) : maxwidth); + } + // + // Remove the test spans used for determining scales and linebreak widths + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + jax = script.MathJax.elementJax; if (!jax) continue; + script.parentNode.removeChild(script.previousSibling); + if (script.MathJax.preview) script.MathJax.preview.style.display = ""; + } + state.CHTMLeqn = state.CHTMLlast = 0; state.CHTMLi = -1; + state.CHTMLchunk = this.config.EqnChunk; + state.CHTMLdelay = false; + }, + + /********************************************/ + + Translate: function (script,state) { + if (!script.parentNode) return; + + // + // If we are supposed to do a chunk delay, do it + // + if (state.CHTMLdelay) { + state.CHTMLdelay = false; + HUB.RestartAfter(MathJax.Callback.Delay(this.config.EqnChunkDelay)); + } + + // + // Get the data about the math + // + var jax = script.MathJax.elementJax, math = jax.root, + node = document.getElementById(jax.inputID+"-Frame"); + if (!node) return; + this.getMetrics(jax); + if (this.scale !== 1) node.style.fontSize = jax.CHTML.fontSize; + // + // Typeset the math + // + this.initCHTML(math,node); + this.savePreview(script); + this.CHTMLnode = node; + try { + math.setTeXclass(); + math.toCommonHTML(node); + } catch (err) { + while (node.firstChild) node.removeChild(node.firstChild); + delete this.CHTMLnode; + this.restorePreview(script); + throw err; + } + delete this.CHTMLnode; + this.restorePreview(script); + // + // Put it in place, and remove the processing marker + // + if (jax.CHTML.display) node = node.parentNode; + node.className = node.className.replace(/ [^ ]+$/,""); + // + // Hide the math and don't let its preview be removed + // + node.className += " MJXc-processed"; + if (script.MathJax.preview) { + jax.CHTML.preview = script.MathJax.preview; + delete script.MathJax.preview; + } + // + // Check if we should show this chunk of equations + // + state.CHTMLeqn += (state.i - state.CHTMLi); state.CHTMLi = state.i; + if (state.CHTMLeqn >= state.CHTMLlast + state.CHTMLchunk) { + this.postTranslate(state); + state.CHTMLchunk = Math.floor(state.CHTMLchunk*this.config.EqnChunkFactor); + state.CHTMLdelay = true; // delay if there are more scripts + } + }, + + initCHTML: function (math,node) {}, + + // + // MathML previews can contain the same ID's as the HTML output, + // which confuses CHTMLnodeElement(), so remove the preview temporarily + // and restore it after typesetting the math. + // + savePreview: function (script) { + var preview = script.MathJax.preview; + if (preview && preview.parentNode) { + script.MathJax.tmpPreview = document.createElement("span"); + preview.parentNode.replaceChild(script.MathJax.tmpPreview,preview); + } + }, + restorePreview: function (script) { + var tmpPreview = script.MathJax.tmpPreview; + if (tmpPreview) { + tmpPreview.parentNode.replaceChild(script.MathJax.preview,tmpPreview); + delete script.MathJax.tmpPreview; + } + }, + // + // Get the jax metric information + // + getMetrics: function(jax) { + var data = jax.CHTML; + this.jax = jax; + this.em = data.em; + this.outerEm = data.outerEm; + this.scale = data.scale; + this.cwidth = data.cwidth; + this.linebreakWidth = data.lineWidth; + }, + + /********************************************/ + + postTranslate: function (state) { + var scripts = state.jax[this.id]; + // + // Reveal this chunk of math + // + for (var i = state.CHTMLlast, m = state.CHTMLeqn; i < m; i++) { + var script = scripts[i]; + if (script && script.MathJax.elementJax) { + // + // Remove the processed marker + // + script.previousSibling.className = script.previousSibling.className.replace(/ [^ ]+$/,""); + var data = script.MathJax.elementJax.CHTML; + // + // Remove the preview, if any + // + if (data.preview) { + data.preview.innerHTML = ""; + script.MathJax.preview = data.preview; + delete data.preview; + } + } + } + // + // Save our place so we know what is revealed + // + state.CHTMLlast = state.CHTMLeqn; + }, + + /********************************************/ + + getJaxFromMath: function (math) { + if (math.parentNode.className.match(/MJXc-display/)) math = math.parentNode; + do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); + return HUB.getJaxFor(math); + }, + getHoverSpan: function (jax,math) {return jax.root.CHTMLnodeElement()}, + getHoverBBox: function (jax,span,math) { + var bbox = jax.root.CHTML, em = jax.CHTML.outerEm; + var BBOX = {w:bbox.w*em, h:bbox.h*em, d:bbox.d*em}; + if (bbox.width) {BBOX.width = bbox.width} + return BBOX; + }, + + Zoom: function (jax,span,math,Mw,Mh) { + // + // Re-render at larger size + // + this.getMetrics(jax); + var node = CHTML.addElement(span,"mjx-chtml",{style:{"font-size":Math.floor(CHTML.scale*100)+"%"},isMathJax:false}); + CHTML.CHTMLnode = node; + this.idPostfix = "-zoom"; jax.root.toCommonHTML(node); this.idPostfix = ""; + // + // Adjust margins to prevent overlaps at the edges + // + var style = node.style, bbox = jax.root.CHTML; + if (bbox.t > bbox.h) style.marginTop = CHTML.Em(bbox.t-bbox.h); + if (bbox.b > bbox.d) style.marginBottom = CHTML.Em(bbox.b-bbox.d); + if (bbox.l < 0) style.paddingLeft = CHTML.Em(-bbox.l); + if (bbox.r > bbox.w) style.marginRight = CHTML.Em(bbox.r-bbox.w); + // + // Get height and width of zoomed math and original math + // + style.position = "absolute"; + var zW = node.offsetWidth, zH = node.offsetHeight, + mH = math.firstChild.offsetHeight, mW = math.firstChild.offsetWidth; + node.style.position = ""; + // + return {Y:-EVENT.getBBox(span).h, mW:mW, mH:mH, zW:zW, zH:zH}; + }, + + Remove: function (jax) { + var node = document.getElementById(jax.inputID+"-Frame"); + if (node && jax.CHTML.display) node = node.parentNode; + if (node) node.parentNode.removeChild(node); + delete jax.CHTML; + }, + + /********************************************/ + + ID: 0, idPostfix: "", + GetID: function () {this.ID++; return this.ID}, + + /********************************************/ + + MATHSPACE: { + veryverythinmathspace: 1/18, + verythinmathspace: 2/18, + thinmathspace: 3/18, + mediummathspace: 4/18, + thickmathspace: 5/18, + verythickmathspace: 6/18, + veryverythickmathspace: 7/18, + negativeveryverythinmathspace: -1/18, + negativeverythinmathspace: -2/18, + negativethinmathspace: -3/18, + negativemediummathspace: -4/18, + negativethickmathspace: -5/18, + negativeverythickmathspace: -6/18, + negativeveryverythickmathspace: -7/18, + + thin: .04, + medium: .06, + thick: .1, + + infinity: BIGDIMEN + }, + SPACECLASS: { + thinmathspace: "MJXc-space1", + mediummathspace: "MJXc-space2", + thickmathspace: "MJXc-space3" + }, + pxPerInch: 96, + em: 16, + + maxStretchyParts: 1000, // limit the number of parts allowed for + // stretchy operators. See issue 366. + + FONTDEF: {}, + TEXDEF: { + x_height: .442, + quad: 1, + num1: .676508, + num2: .393732, + num3: .44373, + denom1: .685951, + denom2: .344841, + sup1: .412892, + sup2: .362892, + sup3: .288888, + sub1: .15, + sub2: .247217, + sup_drop: .386108, + sub_drop: .05, + delim1: 2.39, + delim2: 1.0, + axis_height: .25, + rule_thickness: .06, + big_op_spacing1: .111111, + big_op_spacing2: .166666, + big_op_spacing3: .2, + big_op_spacing4: .45, //.6, // better spacing for under arrows and braces + big_op_spacing5: .1, + + surd_height: .075, + + scriptspace: .05, + nulldelimiterspace: .12, + delimiterfactor: 901, + delimitershortfall: .3, + + min_rule_thickness: 1.25 // in pixels + }, + + /********************************************************/ + + // + // True if text holds a single (unicode) glyph + // + isChar: function (text) { + if (text.length === 1) return true; + if (text.length !== 2) return false; + var n = text.charCodeAt(0); + return (n >= 0xD800 && n < 0xDBFF); + }, + // + // Get a unicode character by number (even when it takes two character) + // + unicodeChar: function (n) { + if (n < 0xFFFF) return String.fromCharCode(n); + n -= 0x10000; + return String.fromCharCode((n>>10)+0xD800) + String.fromCharCode((n&0x3FF)+0xDC00); + }, + // + // Get the unicode number of a (possibly multi-character) string + // + getUnicode: function (string) { + var n = string.text.charCodeAt(string.i); string.i++; + if (n >= 0xD800 && n < 0xDBFF) { + n = (((n-0xD800)<<10)+(string.text.charCodeAt(string.i)-0xDC00))+0x10000; + string.i++; + } + return n; + }, + // + // Get the list of actions for a given character in a given variant + // (processing remaps, multi-character results, and so on). Results are + // cached so that future lookups for the same variant/n pair will not + // require looking through the data again. + // + getCharList: function (variant,n) { + var id, M, cache = variant.cache, nn = n; + if (cache[n]) return cache[n]; + if (n > 0xFFFF && this.FONTDATA.RemapPlane1) { + var nv = this.FONTDATA.RemapPlane1(n,variant); + n = nv.n; variant = nv.variant; + } + var RANGES = this.FONTDATA.RANGES, VARIANT = this.FONTDATA.VARIANT; + if (n >= RANGES[0].low && n <= RANGES[RANGES.length-1].high) { + for (id = 0, M = RANGES.length; id < M; id++) { + if (RANGES[id].name === "alpha" && variant.noLowerCase) continue; + var N = variant["offset"+RANGES[id].offset]; + if (N && n >= RANGES[id].low && n <= RANGES[id].high) { + if (RANGES[id].remap && RANGES[id].remap[n]) { + n = N + RANGES[id].remap[n]; + } else { + n = n - RANGES[id].low + N; + if (RANGES[id].add) {n += RANGES[id].add} + } + if (variant["variant"+RANGES[id].offset]) + variant = VARIANT[variant["variant"+RANGES[id].offset]]; + break; + } + } + } + cache[nn] = this.remapChar(variant,n,0); + return cache[nn]; + }, + remapChar: function (variant,n,N) { + var list = [], VARIANT = this.FONTDATA.VARIANT; + if (variant.remap && variant.remap[n]) { + n = variant.remap[n]; + if (variant.remap.variant) {variant = VARIANT[variant.remap.variant]} + } else if (this.FONTDATA.REMAP[n] && !variant.noRemap) { + n = this.FONTDATA.REMAP[n]; + } + if (isArray(n)) { + if (n[2]) N = MAXREMAP; // stop remapping + variant = VARIANT[n[1]]; n = n[0]; + } + if (typeof(n) === "string") { + var string = {text:n, i:0, length:n.length}; + while (string.i < string.length) { + n = this.getUnicode(string); + var chars = this.getCharList(variant,n); + if (chars) list.push.apply(list,chars); + } + } else { + if (variant.cache[n]) {list = variant.cache[n]} + else {variant.cache[n] = list = this.lookupChar(variant,n,N)} + } + return list; + }, + // + // After all remapping has been done, look up a character + // in the fonts for a given variant, chaining to other + // variants as needed. Return an undefined character if + // it isn't found in the given variant. + // + lookupChar: function (variant,n,N) { + var VARIANT = variant; + while (variant) { + for (var i = 0, m = variant.fonts.length; i < m; i++) { + var font = this.FONTDATA.FONTS[variant.fonts[i]]; + if (typeof(font) === "string") this.loadFont(font); + var C = font[n]; + if (C) { + this.fixChar(C,n); + if (C[5].space) return [{type:"space", w:C[2], font:font}]; + return [{type:"char", font:font, n:n}]; + } else if (font.Extra) { + this.findBlock(font,n); + } + } + variant = this.FONTDATA.VARIANT[variant.chain]; + if (variant && variant.remap && variant.remap[n] && N++ < MAXREMAP) { + return this.remapChar(variant,n,N); + } + } + return [this.unknownChar(VARIANT,n)]; + }, + fixChar: function (C,n) { + if (C.length === 5) C[5] = {}; + if (C.c == null) { + C[0] /= 1000; C[1] /= 1000; C[2] /= 1000; C[3] /= 1000; C[4] /= 1000; + C.c = this.unicodeChar(n); + } + return C; + }, + findBlock: function (font,n) { + var extra = font.Extra, name = font.file, file; + for (var i = 0, m = extra.length; i < m; i++) { + if (typeof(extra[i]) === "number") { + if (n === extra[i]) {file = name; break} + } else { + if (n < extra[i][0]) return; + if (n <= extra[i][1]) {file = name; break} + } + } + // + // Currently this only loads one extra file, but that + // might need to be expanded in the future. + // + if (file) {delete font.Extra; this.loadFont(name)} + }, + // + // Create a fake font entry for an unknown character. + // + unknownChar: function (variant,n) { + HUB.signal.Post(["CommonHTML Jax - unknown char",n,variant]); + var id = ""; if (variant.bold) id += "B"; if (variant.italic) id += "I"; + var unknown = this.FONTDATA.UNKNOWN[id||"R"]; // cache of previously measured characters + if (!unknown[n]) this.getUnknownChar(unknown,n); + return {type:"unknown", n:n, font:unknown}; + }, + getUnknownChar: function (unknown,n) { + var c = this.unicodeChar(n); + var HDW = this.getHDW(c,unknown.className); + // ### FIXME: provide a means of setting the height and depth for individual characters + unknown[n] = [.8,.2,HDW.w,0,HDW.w,{a:Math.max(0,(HDW.h-HDW.d)/2), h:HDW.h, d:HDW.d}]; + unknown[n].c = c; + }, + styledText: function (variant,text) { + HUB.signal.Post(["CommonHTML Jax - styled text",text,variant]); + var style = variant.style; + var id = "_"+(style["font-family"]||variant.className||""); + if (style["font-weight"]) id += "_"+style["font-weight"]; + if (style["font-style"]) id += "_"+style["font-style"]; + if (!this.STYLEDTEXT) this.STYLEDTEXT = {}; + if (!this.STYLEDTEXT[id]) this.STYLEDTEXT[id] = {className:variant.className||""}; + var unknown = this.STYLEDTEXT[id]; + if (!unknown["_"+text]) { + var HDW = this.getHDW(text,variant.className||"",style); + unknown["_"+text] = [.8,.2,HDW.w,0,HDW.w,{a:Math.max(0,(HDW.h-HDW.d)/2), h:HDW.h, d:HDW.d}]; + unknown["_"+text].c = text; + } + return {type:"unknown", n:"_"+text, font:unknown, style:style, rscale:variant.rscale}; + }, + + // + // Get the height, depth, and width of a character + // (height and depth are of the font, not the character). + // WARNING: causes reflow of the page! + // + getHDW: function (c,name,styles) { + var test1 = CHTML.addElement(CHTML.CHTMLnode,"mjx-chartest",{className:name},[["mjx-char",{style:styles},[c]]]); + var test2 = CHTML.addElement(CHTML.CHTMLnode,"mjx-chartest",{className:name},[["mjx-char",{style:styles},[c,["mjx-box"]]]]); + test1.firstChild.style.fontSize = test2.firstChild.style.fontSize = ""; + var em = 5*CHTML.em; + var H1 = test1.offsetHeight, H2 = test2.offsetHeight, W = test1.offsetWidth; + CHTML.CHTMLnode.removeChild(test1); + CHTML.CHTMLnode.removeChild(test2); + if (H2 === 0) { + em = 5*CHTML.defaultEm; + var test = document.body.appendChild(document.createElement("div")); + test.appendChild(test1); test.appendChild(test2); + H1 = test1.offsetHeight, H2 = test2.offsetHeight, W = test1.offsetWidth; + document.body.removeChild(test); + } + var d = (H2-1000)/em, w = W/em, h = H1/em - d; + return {h:h, d:d, w:w} + }, + + + /********************************************************/ + + // + // Process a character list into a given node and return + // the updated bounding box. + // + addCharList: function (node,list,bbox) { + var state = {text:"", className:null, a:0}; + for (var i = 0, m = list.length; i < m; i++) { + var item = list[i]; + if (this.charList[item.type]) (this.charList[item.type])(item,node,bbox,state,m); + } + if (state.text !== "") { + if (node.childNodes.length) { + this.charList.flushText(node,state); + } else { + HTML.addText(node,state.text); + if (node.className) node.className += " "+state.className; + else node.className = state.className; + } + } + bbox.b = (state.flushed ? 0 : bbox.a); + }, + // + // The various item types are processed by these + // functions. + // + charList: { + // + // Character from the known fonts + // + "char": function (item,node,bbox,state,m) { + var font = item.font, remap = (font.remapCombining||{})[item.n]; + if (font.className === state.className) { + remap = null; + } else if (state.className || (remap && state.text !== "")) { + this.flushText(node,state); + } + if (!state.a) state.a = font.centerline/1000; + if (state.a > (bbox.a||0)) bbox.a = state.a; + state.className = font.className; + var C = font[item.n]; + if (remap) { + var FONT = font; + if (isArray(remap)) { + FONT = CHTML.FONTDATA.FONTS[remap[1]]; + remap = remap[0]; + if (typeof(FONT) === 'string') CHTML.loadFont(FONT); + } + if (FONT[item.n]) CHTML.fixChar(FONT[item.n],item.n); + C = CHTML.fixChar(FONT[remap],remap); + state.className = FONT.className; + } + state.text += C.c; + if (bbox.h < C[0]+HFUZZ) bbox.t = bbox.h = C[0]+HFUZZ; + if (bbox.d < C[1]+DFUZZ) bbox.b = bbox.d = C[1]+DFUZZ; + if (bbox.l > bbox.w+C[3]) bbox.l = bbox.w+C[3]; + if (bbox.r < bbox.w+C[4]) bbox.r = bbox.w+C[4]; + bbox.w += C[2] * (item.rscale||1); + if (m == 1 && font.skew && font.skew[item.n]) bbox.skew = font.skew[item.n]; + if (C[5] && C[5].rfix) this.flushText(node,state).style.marginRight = CHTML.Em(C[5].rfix/1000); + if (remap) { + // + // Remap combining characters to non-combining versions since Safari + // handles them differently from everyone else. (#1709) + // + var chr = this.flushText(node,state); + var r = (FONT[item.n]||font[item.n])[4] - (C[4] - C[2]); + chr.style.marginLeft = CHTML.Em(-C[2]-r); + if (r < 0) chr.style.marginRight = CHTML.Em(-r); + } + }, + // + // Space characters (not actually in the fonts) + // + space: function (item,node,bbox,state) { + if (item.w) { + if (state.text === "") state.className = item.font.className; + this.flushText(node,state).style.marginRight = CHTML.Em(item.w); + bbox.w += item.w; + } + }, + // + // An unknown character (one not in the font data) + // + unknown: function (item,node,bbox,state) { + (this["char"])(item,node,bbox,state,0); + var C = item.font[item.n]; + if (C[5].a) { + state.a = C[5].a; + if (bbox.a == null || state.a > bbox.a) bbox.a = state.a; + } + node = this.flushText(node,state,item.style); + if (C[2] < 3) node.style.width = CHTML.Em(C[2]); // only force width if not too large (#1718) + }, + // + // Put the pending text into a box of the class, and + // reset the data about the text. + // + flushText: function (node,state,style) { + node = CHTML.addElement(node,"mjx-charbox", + {className:state.className,style:style},[state.text]); + if (state.a) node.style.paddingBottom = CHTML.Em(state.a); + state.text = ""; state.className = null; state.a = 0; state.flushed = true; + return node; + } + }, + + // + // Add the given text (in the given variant) into the given node, and + // update the bounding box of the result. Make sure the node's DOM + // bounding box matches the contents. + // + handleText: function (node,text,variant,bbox) { + if (node.childNodes.length === 0) { + CHTML.addElement(node,"mjx-char"); + bbox = CHTML.BBOX.empty(bbox); + } + if (typeof(variant) === "string") variant = this.FONTDATA.VARIANT[variant]; + if (!variant) variant = this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]; + var string = {text:text, i:0, length:text.length}, list = []; + if (variant.style && string.length) { + list.push(this.styledText(variant,text)); + } else { + while (string.i < string.length) { + var n = this.getUnicode(string); + list.push.apply(list,this.getCharList(variant,n)); + } + } + if (list.length) this.addCharList(node.firstChild,list,bbox); + bbox.clean(); + if (bbox.d < 0) {bbox.D = bbox.d; bbox.d = 0} + if (bbox.h - bbox.a) node.firstChild.style[bbox.h - bbox.a < 0 ? "marginTop" : "paddingTop"] = this.EmRounded(bbox.h-bbox.a); + if (bbox.d > -bbox.b) node.firstChild.style.paddingBottom = this.EmRounded(bbox.d+bbox.b); + return bbox; + }, + + /********************************************************/ + + createDelimiter: function (node,code,HW,BBOX,font) { + if (!code) { + var bbox = this.BBOX.zero(); + bbox.w = bbox.r = this.TEX.nulldelimiterspace; + CHTML.addElement(node,"mjx-box",{style:{width:bbox.w}}); + return bbox; + } + if (!(HW instanceof Array)) HW = [HW,HW]; + var hw = HW[1]; HW = HW[0]; + var delim = {alias: code}; + while (delim.alias) { + code = delim.alias; delim = this.FONTDATA.DELIMITERS[code]; + if (!delim) {delim = {HW: [0,this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]]}} + } + if (delim.load) HUB.RestartAfter(AJAX.Require(this.fontDir+"/TeX/fontdata-"+delim.load+".js")); + for (var i = 0, m = delim.HW.length; i < m; i++) { + if (delim.HW[i][0] >= HW-.01 || (i == m-1 && !delim.stretch)) { + if (delim.HW[i][3]) code = delim.HW[i][3]; + bbox = this.createChar(node,[code,delim.HW[i][1]],(delim.HW[i][2]||1),font); + bbox.offset = .6 * bbox.w; + if (BBOX) {bbox.scale = BBOX.scale; BBOX.rscale = BBOX.rscale} + return bbox; + } + } + if (!delim.stretch) return bbox; + return this["extendDelimiter"+delim.dir](node,hw,delim.stretch,BBOX,font); + }, + extendDelimiterV: function (node,H,delim,BBOX,font) { + node = CHTML.addElement(node,"mjx-delim-v"); var tmp = CHTML.Element("span"); + var top, bot, mid, ext, tbox, bbox, mbox, ebox, k = 1, c; + tbox = this.createChar(tmp,(delim.top||delim.ext),1,font); top = tmp.removeChild(tmp.firstChild); + bbox = this.createChar(tmp,(delim.bot||delim.ext),1,font); bot = tmp.removeChild(tmp.firstChild); + mbox = ebox = CHTML.BBOX.zero(); + var h = tbox.h + tbox.d + bbox.h + bbox.d - EFUZZ; + node.appendChild(top); + if (delim.mid) { + mbox = this.createChar(tmp,delim.mid,1,font); mid = tmp.removeChild(tmp.firstChild); + h += mbox.h + mbox.d; k = 2; + } + if (delim.min && H < h*delim.min) H = h*delim.min; + if (H > h) { + ebox = this.createChar(tmp,delim.ext,1,font); ext = tmp.removeChild(tmp.firstChild); + var eH = ebox.h + ebox.d, eh = eH - EFUZZ; + var n = Math.min(Math.ceil((H-h)/(k*eh)),this.maxStretchyParts); + if (delim.fullExtenders) H = n*k*eh + h; else eh = (H-h)/(k*n); + c = ebox.d + ebox.a - eH/2; // for centering of extenders + ext.style.margin = ext.style.padding = ""; + ext.style.lineHeight = CHTML.Em(eh); + ext.style.marginBottom = CHTML.Em(c-EFUZZ/2/k); + ext.style.marginTop = CHTML.Em(-c-EFUZZ/2/k); + var TEXT = ext.textContent, text = "\n"+TEXT; + while (--n > 0) TEXT += text; + ext.textContent = TEXT; + node.appendChild(ext); + if (delim.mid) { + node.appendChild(mid); + node.appendChild(ext.cloneNode(true)); + } + } else { + c = (H-h-EFUZZ) / k; + top.style.marginBottom = CHTML.Em(c+parseFloat(top.style.marginBottom||"0")); + if (delim.mid) node.appendChild(mid); + bot.style.marginTop = CHTML.Em(c+parseFloat(bot.style.marginTop||"0")); + } + node.appendChild(bot); + var vbox = CHTML.BBOX({ + w: Math.max(tbox.w,ebox.w,bbox.w,mbox.w), + l: Math.min(tbox.l,ebox.l,bbox.l,mbox.l), + r: Math.max(tbox.r,ebox.r,bbox.r,mbox.r), + h: H-bbox.d, d: bbox.d, t: H-bbox.d, b: bbox.d + }); + vbox.offset = .5 * vbox.w; + if (BBOX) {vbox.scale = BBOX.scale; vbox.rscale = BBOX.rscale} + return vbox; + }, + extendDelimiterH: function (node,W,delim,BBOX,font) { + node = CHTML.addElement(node,"mjx-delim-h"); var tmp = CHTML.Element("span"); + var left, right, mid, ext, ext2, lbox, rbox, mbox, ebox, k = 1; + lbox = this.createChar(tmp,(delim.left||delim.rep),1,font); left = tmp.removeChild(tmp.firstChild); + rbox = this.createChar(tmp,(delim.right||delim.rep),1,font); right = tmp.removeChild(tmp.firstChild); + ebox = this.createChar(tmp,delim.rep,1,font); ext = tmp.removeChild(tmp.firstChild); + left.style.marginLeft = CHTML.Em(-lbox.l); + right.style.marginRight = CHTML.Em(rbox.r-rbox.w); + node.appendChild(left); + var hbox = CHTML.BBOX.zero(); + hbox.h = Math.max(lbox.h,rbox.h,ebox.h); + hbox.d = Math.max(lbox.D||lbox.d,rbox.D||rbox.d,ebox.D||ebox.d); + var w = (lbox.r - lbox.l) + (rbox.r - rbox.l) - EFUZZ; + if (delim.mid) { + mbox = this.createChar(tmp,delim.mid,1,font); + mid = tmp.removeChild(tmp.firstChild); + mid.style.marginleft = CHTML.Em(-mbox.l); mid.style.marginRight = CHTML.Em(mbox.r-mbox.w); + w += mbox.r - mbox.l + EFUZZ; k = 2; + if (mbox.h > hbox.h) hbox.h = mbox.h; + if (mbox.d > hbox.d) hbox.d = mbox.d; + } + if (delim.min && W < w*delim.min) W = w*delim.min; + hbox.w = hbox.r = W; + if (W > w) { + var eW = ebox.r-ebox.l, ew = eW - EFUZZ; + var n = Math.min(Math.ceil((W-w)/(k*ew)),this.maxStretchyParts); + if (delim.fullExtenders) W = n*k*ew + w; else ew = (W-w)/(k*n); + var c = (eW - ew + EFUZZ/k) / 2; // for centering of extenders + ext.style.marginLeft = CHTML.Em(-ebox.l-c); + ext.style.marginRight = CHTML.Em(ebox.r-ebox.w+c); + ext.style.letterSpacing = CHTML.Em(-(ebox.w-ew)); + left.style.marginRight = CHTML.Em(lbox.r-lbox.w); + right.style.marginleft = CHTML.Em(-rbox.l); + var TEXT = ext.textContent, text = TEXT; + while (--n > 0) TEXT += text; + ext.textContent = TEXT; + node.appendChild(ext); + if (delim.mid) { + node.appendChild(mid); + ext2 = node.appendChild(ext.cloneNode(true)); + } + } else { + c = (W-w-EFUZZ/k) / 2; + left.style.marginRight = CHTML.Em(lbox.r-lbox.w+c); + if (delim.mid) node.appendChild(mid); + right.style.marginLeft = CHTML.Em(-rbox.l+c); + } + node.appendChild(right); + this.adjustHeights([left,ext,mid,ext2,right],[lbox,ebox,mbox,ebox,rbox],hbox); + if (BBOX) {hbox.scale = BBOX.scale; hbox.rscale = BBOX.rscale} + return hbox; + }, + adjustHeights: function (nodes,box,bbox) { + // + // To get alignment right in horizontal delimiters, we force all + // the elements to the same height and depth + // + var T = bbox.h, B = bbox.d; + if (bbox.d < 0) {B = -bbox.d; bbox.D = bbox.d; bbox.d = 0} + for (var i = 0, m = nodes.length; i < m; i++) if (nodes[i]) { + nodes[i].style.paddingTop = CHTML.Em(T-box[i].a); + nodes[i].style.paddingBottom = CHTML.Em(B+box[i].a); + nodes[i].style.marginTop = nodes[i].style.marginBottom = 0; + } + }, + createChar: function (node,data,scale,font) { + // ### FIXME: handle cache better (by data[1] and font) + var text = "", variant = {fonts: [data[1]], noRemap:true, cache:{}}; + if (font && font === MML.VARIANT.BOLD && this.FONTDATA.FONTS[data[1]+"-Bold"]) + variant.fonts = [data[1]+"-Bold",data[1]]; + if (typeof(data[1]) !== "string") variant = data[1]; + if (data[0] instanceof Array) { + for (var i = 0, m = data[0].length; i < m; i++) text += String.fromCharCode(data[0][i]); + } else text = String.fromCharCode(data[0]); + if (data[4]) scale *= data[4]; + var bbox = this.handleText(node,text,variant), style = node.firstChild.style; + if (scale !== 1) style.fontSize = this.Percent(scale); + if (data[2]) { // x offset + style.paddingLeft = this.Em(data[2]); + bbox.w += data[2]; bbox.r += data[2]; + } + if (data[3]) { // y offset + style.verticalAlign = this.Em(data[3]); + bbox.h += data[3]; if (bbox.h < 0) bbox.h = 0; + } + if (data[5]) { // extra height + style.marginTop = this.Em(data[5]); + bbox.h += data[5]; bbox.t += data[5]; + } + if (data[6]) { // extra depth + style.marginBottom = this.Em(data[6]); + bbox.d += data[6]; bbox.b += data[6]; + } + return bbox; + }, + + /********************************************************/ + + // + // ### FIXME: Handle mu's + // + length2em: function (length,size,scale) { + if (typeof(length) !== "string") length = length.toString(); + if (length === "") return ""; + if (length === MML.SIZE.NORMAL) return 1; + if (length === MML.SIZE.BIG) return 2; + if (length === MML.SIZE.SMALL) return .71; + if (this.MATHSPACE[length]) return this.MATHSPACE[length]; + var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/); + var m = parseFloat(match[1]||"1"), unit = match[2]; + if (size == null) size = 1; if (!scale) scale = 1; + scale = 1 /this.em / scale; + if (unit === "em") return m; + if (unit === "ex") return m * this.TEX.x_height; + if (unit === "%") return m / 100 * size; + if (unit === "px") return m * scale; + if (unit === "pt") return m / 10; // 10 pt to an em + if (unit === "pc") return m * 1.2; // 12 pt to a pc + scale *= this.pxPerInch; + if (unit === "in") return m * scale; + if (unit === "cm") return m * scale / 2.54; // 2.54 cm to an inch + if (unit === "mm") return m * scale / 25.4; // 10 mm to a cm + if (unit === "mu") return m / 18; // 18mu to an em for the scriptlevel + return m*size; // relative to given size (or 1em as default) + }, + thickness2em: function (length,scale) { + var thick = CHTML.TEX.rule_thickness/(scale||1); + if (length === MML.LINETHICKNESS.MEDIUM) return thick; + if (length === MML.LINETHICKNESS.THIN) return .67*thick; + if (length === MML.LINETHICKNESS.THICK) return 1.67*thick; + return this.length2em(length,thick,scale); + }, + + Em: function (m) { + if (Math.abs(m) < .001) return "0"; + return (m.toFixed(3).replace(/\.?0+$/,""))+"em"; + }, + EmRounded: function (m) { + m = (Math.round(m*CHTML.em)+.05)/CHTML.em; + if (Math.abs(m) < .0006) {return "0em"} + return m.toFixed(3).replace(/\.?0+$/,"") + "em"; + }, + unEm: function (m) { + return parseFloat(m); + }, + Px: function (m,M) { + m *= this.em; + if (M && m < M) m = M; + if (Math.abs(m) < .1) return "0"; + return m.toFixed(1).replace(/\.0$/,"")+"px"; + }, + + Percent: function (m) { + return (100*m).toFixed(1).replace(/\.?0+$/,"") + "%"; + }, + + Transform: function (node,trans,origin) { + var style = node.style; + style.transform = style.WebkitTransform = style.MozTransform = style["-ms-transform"] = trans; + if (origin) + style.transformOrigin = style.WebkitTransformOrigin = + style.MozTransformOrigin = style["-ms-transform-origin"] = origin; + }, + + /********************************************************/ + + arrayEntry: function (a,i) {return a[Math.max(0,Math.min(i,a.length-1))]}, + + // + // Styles to be removed from style="..." attributes + // + removeStyles: ["fontSize","fontFamily","fontWeight","fontStyle","fontVariant","font"] + + }); + + /**********************************************************/ + + CHTML.BBOX = MathJax.Object.Subclass({ + Init: function (def) { + for (var id in def) { + if (def.hasOwnProperty(id)) this[id] = def[id]; + } + }, + clean: function () { + if (this.h === -BIGDIMEN) this.h = 0; + if (this.d === -BIGDIMEN) this.d = 0; + if (this.l === BIGDIMEN) this.l = 0; + if (this.r === -BIGDIMEN) this.r = 0; + if (this.t === -BIGDIMEN) this.t = 0; + if (this.b === -BIGDIMEN) this.b = 0; + if (this.D && this.d > 0) delete this.D; + }, + rescale: function (scale) { + this.w *= scale; this.h *= scale; this.d *= scale; + this.l *= scale; this.r *= scale; this.t *= scale; this.b *= scale; + if (this.L) this.L *= scale; + if (this.R) this.R *= scale; + if (this.D) this.D *= scale; + }, + combine: function (cbox,x,y) { + cbox.X = x; cbox.Y = y; // save for use with line breaking + var scale = cbox.rscale; + if (x + scale*cbox.r > this.r) this.r = x + scale*cbox.r; + if (x + scale*cbox.l < this.l) this.l = x + scale*cbox.l; + if (x + scale*(cbox.w+(cbox.L||0)+(cbox.R||0)) > this.w) + this.w = x + scale*(cbox.w + (cbox.L||0) + (cbox.R||0)); + if (y + scale*cbox.h > this.h) this.h = y + scale*cbox.h; + if (cbox.D && (this.D == null || scale*cbox.D - y > this.D) && scale*cbox.D > this.d) this.D = scale*cbox.D - y; + else if (cbox.D == null && this.D) delete this.D; + if (scale*cbox.d - y > this.d) this.d = scale*cbox.d - y; + if (y + scale*cbox.t > this.t) this.t = y + scale*cbox.t; + if (scale*cbox.b - y > this.b) this.b = scale*cbox.b - y; + }, + append: function (cbox) { + var scale = cbox.rscale; var x = this.w; + if (x + scale*cbox.r > this.r) this.r = x + scale*cbox.r; + if (x + scale*cbox.l < this.l) this.l = x + scale*cbox.l; + this.w += scale*(cbox.w+(cbox.L||0)+(cbox.R||0)) ; + if (scale*cbox.h > this.h) this.h = scale*cbox.h; + if (cbox.D && (this.D == null || scale*cbox.D > this.D) && scale*cbox.D > this.d) this.D = scale*cbox.D; + else if (cbox.D == null && this.D) delete this.D; + if (scale*cbox.d > this.d) this.d = scale*cbox.d; + if (scale*cbox.t > this.t) this.t = scale*cbox.t; + if (scale*cbox.b > this.b) this.b = scale*cbox.b; + }, + updateFrom: function (cbox) { + this.h = cbox.h; this.d = cbox.d; this.w = cbox.w; this.r = cbox.r; this.l = cbox.l; + this.t = cbox.t; this.b = cbox.b; + if (cbox.pwidth) this.pwidth = cbox.pwidth; + if (cbox.D) this.D = cbox.D; else delete this.D; + }, + adjust: function (m,x,X,M) { + this[x] += CHTML.length2em(m,1,this.scale); + if (M == null) { + if (this[x] > this[X]) this[X] = this[x]; + } else { + if (this[X] < M) this[X] = M; + } + } + },{ + zero: function () { + return CHTML.BBOX({h:0, d:0, w:0, l:0, r:0, t:0, b:0, scale:1, rscale:1}); + }, + empty: function (bbox) { + if (!bbox) bbox = CHTML.BBOX.zero(); + bbox.h = bbox.d = bbox.r = bbox.t = bbox.b = -BIGDIMEN; + bbox.w = 0; bbox.l = BIGDIMEN; + delete bbox.pwidth; + return bbox; + }, + // + // CSS styles that affect BBOXes + // + styleAdjust: [ + ["borderTopWidth","h","t"], + ["borderRightWidth","w","r"], + ["borderBottomWidth","d","b"], + ["borderLeftWidth","w","l",0], + ["paddingTop","h","t"], + ["paddingRight","w","r"], + ["paddingBottom","d","b"], + ["paddingLeft","w","l",0], + ] + }); + + /**********************************************************/ + + MathJax.Hub.Register.StartupHook("mml Jax Ready",function () { + MML = MathJax.ElementJax.mml; + + /********************************************************/ + + MML.mbase.Augment({ + toCommonHTML: function (node,options) { + return this.CHTMLdefaultNode(node,options); + }, + CHTMLmultiline: function () {MML.mbase.CHTMLautoloadFile("multiline")}, + + CHTMLdefaultNode: function (node,options) { + if (!options) options = {}; + node = this.CHTMLcreateNode(node); this.CHTML = CHTML.BBOX.empty(); + this.CHTMLhandleStyle(node); + if (this.isToken) this.CHTMLgetVariant(); + this.CHTMLhandleScale(node); + var m = Math.max((options.minChildren||0),this.data.length); + for (var i = 0; i < m; i++) this.CHTMLaddChild(node,i,options); + if (!options.noBBox) this.CHTML.clean(); + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + return node; + }, + CHTMLaddChild: function (node,i,options) { + var child = this.data[i], cnode; + var type = options.childNodes; + if (type instanceof Array) type = type[i]||"span"; + if (child) { + if (type) node = CHTML.addElement(node,type); + cnode = child.toCommonHTML(node,options.childOptions); + if (type && child.CHTML.rscale !== 1) { + // move scale factor to outer container (which seems to be more accurate) + node.style.fontSize = node.firstChild.style.fontSize; + node.firstChild.style.fontSize = ""; + } + if (!options.noBBox) { + var bbox = this.CHTML, cbox = child.CHTML; + bbox.append(cbox); + if (this.data.length === 1) { + if (cbox.ic) bbox.ic = cbox.ic; + if (cbox.skew) bbox.skew = cbox.skew; + } else { + delete bbox.ic; + delete bbox.skew; + } + if (cbox.pwidth) bbox.pwidth = cbox.pwidth; + } + } else if (options.forceChild) { + cnode = CHTML.addElement(node,(type||"mjx-box")); + } + return cnode; + }, + + CHTMLchildNode: function (node,i) { + node = node.childNodes[i]; + if (node.nodeName.toLowerCase() === "a") node = node.firstChild; + return node; + }, + CHTMLcoreNode: function (node) { + if (this.inferRow && this.data[0]) return this.data[0].CHTMLcoreNode(node.firstChild); + return this.CHTMLchildNode(node,this.CoreIndex()); + }, + + CHTMLstretchChildV: function (i,H,D) { + var data = this.data[i]; + if (data) { + var bbox = this.CHTML, dbox = data.CHTML; + if (dbox.stretch || (dbox.stretch == null && data.CHTMLcanStretch("Vertical",H,D))) { + var w = dbox.w; + dbox = data.CHTMLstretchV(H,D); + bbox.w += dbox.w - w; + if (bbox.w > bbox.r) bbox.r = bbox.w; + if (dbox.h > bbox.h) bbox.h = dbox.h; + if (dbox.d > bbox.d) bbox.d = dbox.d; + if (dbox.t > bbox.t) bbox.t = dbox.t; + if (dbox.b > bbox.b) bbox.b = dbox.b; + } + } + }, + CHTMLstretchChildH: function (i,W,node) { + var data = this.data[i]; + if (data) { + var bbox = this.CHTML, dbox = data.CHTML; + if (dbox.stretch || (dbox.stretch == null && data.CHTMLcanStretch("Horizontal",W))) { + var w = dbox.w; + dbox = data.CHTMLstretchH(this.CHTMLchildNode(node,i),W); + bbox.w += dbox.w - w; + if (bbox.w > bbox.r) bbox.r = bbox.w; + if (dbox.h > bbox.h) bbox.h = dbox.h; + if (dbox.d > bbox.d) bbox.d = dbox.d; + if (dbox.t > bbox.t) bbox.t = dbox.t; + if (dbox.b > bbox.b) bbox.b = dbox.b; + } + } + }, + CHTMLupdateFrom: function (bbox) { + this.CHTML.updateFrom(bbox); + if (this.inferRow) this.data[0].CHTML.updateFrom(bbox); + }, + + CHTMLcanStretch: function (direction,H,D) { + var stretch = false; + if (this.isEmbellished()) { + var core = this.Core(); + if (core && core !== this) stretch = core.CHTMLcanStretch(direction,H,D); + } + this.CHTML.stretch = stretch; + return stretch; + }, + CHTMLstretchV: function (h,d) { + this.CHTMLupdateFrom(this.Core().CHTMLstretchV(h,d)); + return this.CHTML; + }, + CHTMLstretchH: function (node,w) { + this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)); + return this.CHTML; + }, + CHTMLstretchCoreH: function (node,w) { + return this.Core().CHTMLstretchH(this.CHTMLcoreNode(node),w); + }, + + CHTMLcreateNode: function (node) { + if (!this.CHTML) this.CHTML = {}; + this.CHTML = CHTML.BBOX.zero(); + if (this.href) node = CHTML.addElement(node,"a",{href:this.href, isMathJax:true}); + if (!this.CHTMLnodeID) this.CHTMLnodeID = CHTML.GetID(); + var id = (this.id || "MJXc-Node-"+this.CHTMLnodeID)+CHTML.idPostfix; + return this.CHTMLhandleAttributes(CHTML.addElement(node,"mjx-"+this.type,{id:id})); + }, + CHTMLnodeElement: function () { + if (!this.CHTMLnodeID) {return null} + return document.getElementById((this.id||"MJXc-Node-"+this.CHTMLnodeID)+CHTML.idPostfix); + }, + + CHTMLlength2em: function (length,size) { + return CHTML.length2em(length,size,this.CHTML.scale); + }, + + CHTMLhandleAttributes: function (node) { + if (this["class"]) { + if (node.className) node.className += " "+this["class"]; + else node.className = this["class"]; + } + // + // Copy RDFa, aria, and other tags from the MathML to the CHTML + // output nodes. Don't copy those in the MML.nocopyAttributes list, + // the ignoreMMLattributes configuration list, or anything that + // already exists as a property of the node (e.g., no "onlick", etc.) + // If a name in the ignoreMMLattributes object is set to false, then + // the attribute WILL be copied. + // + if (this.attrNames) { + var copy = this.attrNames, skip = MML.nocopyAttributes, ignore = HUB.config.ignoreMMLattributes; + var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); + for (var i = 0, m = copy.length; i < m; i++) { + var id = copy[i]; + if (ignore[id] == false || (!skip[id] && !ignore[id] && + defaults[id] == null && typeof(node[id]) === "undefined")) { + node.setAttribute(id,this.attr[id]) + } + } + } + return node; + }, + + CHTMLhandleScale: function (node) { + var scale = 1, parent = this.parent, pscale = (parent ? parent.CHTML.scale : 1); + var values = this.getValues("scriptlevel","fontsize"); + values.mathsize = this.Get("mathsize",null,!this.isToken); + if (values.scriptlevel !== 0) { + if (values.scriptlevel > 2) values.scriptlevel = 2; + scale = Math.pow(this.Get("scriptsizemultiplier"),values.scriptlevel); + values.scriptminsize = CHTML.length2em(this.Get("scriptminsize"),.8,1); + if (scale < values.scriptminsize) scale = values.scriptminsize; + } + if (this.removedStyles && this.removedStyles.fontSize && !values.fontsize) + values.fontsize = this.removedStyles.fontSize; + if (values.fontsize && !this.mathsize) values.mathsize = values.fontsize; + if (values.mathsize !== 1) scale *= CHTML.length2em(values.mathsize,1,1); + var variant = this.CHTMLvariant; + if (variant && variant.style && variant.style["font-family"]) + scale *= (CHTML.config.scale/100)/CHTML.scale; + this.CHTML.scale = scale; pscale = this.CHTML.rscale = scale/pscale; + if (Math.abs(pscale-1) < .001) pscale = 1; + if (node && pscale !== 1) node.style.fontSize = CHTML.Percent(pscale); + return scale; + }, + + CHTMLhandleStyle: function (node) { + if (!this.style) return; + var style = node.style; + style.cssText = this.style; this.removedStyles = {}; + for (var i = 0, m = CHTML.removeStyles.length; i < m; i++) { + var id = CHTML.removeStyles[i]; + if (style[id]) { + this.removedStyles[id] = style[id]; + style[id] = ""; + } + } + }, + + CHTMLhandleBBox: function (node) { + var BBOX = this.CHTML, style = node.style; + if (this.data.length === 1 && (this.data[0].CHTML||{}).pwidth) { + BBOX.pwidth = this.data[0].CHTML.pwidth; + BBOX.mwidth = this.data[0].CHTML.mwidth; + style.width = "100%"; + } else if (BBOX.pwidth) { + BBOX.mwidth = CHTML.Em(BBOX.w); + style.width = "100%"; + } else if (BBOX.w < 0) { + style.width = "0px"; + style.marginRight = CHTML.Em(BBOX.w); + } + if (!this.style) return; + // ### FIXME: adjust for width, height, vertical-align? + for (var i = 0, m = CHTML.BBOX.styleAdjust.length; i < m; i++) { + var data = CHTML.BBOX.styleAdjust[i]; + if (data && style[data[0]]) BBOX.adjust(style[data[0]],data[1],data[2],data[3]); + } + }, + + CHTMLhandleColor: function (node) { + if (this.mathcolor) {node.style.color = this.mathcolor} + else if (this.color) {node.style.color = this.color} + if (this.mathbackground) {node.style.backgroundColor = this.mathbackground} + else if (this.background) {node.style.backgroundColor = this.background} + }, + + CHTMLhandleSpace: function (node) { + if (!this.useMMLspacing) { + var space = this.texSpacing(); + if (space !== "") { + this.CHTML.L = this.CHTMLlength2em(space); + node.className += " "+CHTML.SPACECLASS[space]; + } + } + }, + + CHTMLhandleText: function (node,text,variant) { + if (node.firstChild && !this.CHTML) this.CHTML = CHTML.BBOX.empty(); + this.CHTML = CHTML.handleText(node,text,variant,this.CHTML); + }, + + CHTMLgetVariant: function () { + var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle"), style; + values.hasVariant = this.Get("mathvariant",true); // null if not explicitly specified + if (this.removedStyles) { + style = this.removedStyles; + if (style.fontFamily) values.family = style.fontFamily; + if (style.fontWeight) values.weight = style.fontWeight; + if (style.fontStyle) values.style = style.fontStyle; + } + if (!values.hasVariant) { + if (values.fontfamily) values.family = values.fontfamily; + if (values.fontweight) values.weight = values.fontweight; + if (values.fontstyle) values.style = values.fontstyle; + } + if (values.weight && values.weight.match(/^\d+$/)) + values.weight = (parseInt(values.weight) > 600 ? "bold" : "normal"); + var variant = values.mathvariant; if (this.variantForm) variant = "-TeX-variant"; + if (values.family && !values.hasVariant) { + if (!values.weight && values.mathvariant.match(/bold/)) values.weight = "bold"; + if (!values.style && values.mathvariant.match(/italic/)) values.style = "italic"; + this.CHTMLvariant = {fonts:[], noRemap:true, cache:{}, style: { + "font-family":values.family, "font-weight":values.weight||"normal", "font-style":values.style||"normal" + }}; + return; + } + if (values.weight === "bold") { + variant = { + normal:MML.VARIANT.BOLD, italic:MML.VARIANT.BOLDITALIC, + fraktur:MML.VARIANT.BOLDFRAKTUR, script:MML.VARIANT.BOLDSCRIPT, + "sans-serif":MML.VARIANT.BOLDSANSSERIF, + "sans-serif-italic":MML.VARIANT.SANSSERIFBOLDITALIC + }[variant]||variant; + } else if (values.weight === "normal") { + variant = { + bold:MML.VARIANT.normal, "bold-italic":MML.VARIANT.ITALIC, + "bold-fraktur":MML.VARIANT.FRAKTUR, "bold-script":MML.VARIANT.SCRIPT, + "bold-sans-serif":MML.VARIANT.SANSSERIF, + "sans-serif-bold-italic":MML.VARIANT.SANSSERIFITALIC + }[variant]||variant; + } + if (values.style === "italic") { + variant = { + normal:MML.VARIANT.ITALIC, bold:MML.VARIANT.BOLDITALIC, + "sans-serif":MML.VARIANT.SANSSERIFITALIC, + "bold-sans-serif":MML.VARIANT.SANSSERIFBOLDITALIC + }[variant]||variant; + } else if (values.style === "normal") { + variant = { + italic:MML.VARIANT.NORMAL, "bold-italic":MML.VARIANT.BOLD, + "sans-serif-italic":MML.VARIANT.SANSSERIF, + "sans-serif-bold-italic":MML.VARIANT.BOLDSANSSERIF + }[variant]||variant; + } + this.CHTMLvariant = CHTML.FONTDATA.VARIANT[variant] || + CHTML.FONTDATA.VARIANT[MML.VARIANT.NORMAL]; + }, + + CHTMLbboxFor: function (n) { + if (this.data[n] && this.data[n].CHTML) return this.data[n].CHTML; + return CHTML.BBOX.zero(); + }, + // + // Debugging function to see if internal BBox matches actual bbox + // + CHTMLdrawBBox: function (node,bbox) { + if (!bbox) bbox = this.CHTML; + var box = CHTML.Element("mjx-box", + {style:{opacity:.25,"margin-left":CHTML.Em(-(bbox.w+(bbox.R||0)))}},[ + ["mjx-box",{style:{ + height:CHTML.Em(bbox.h),width:CHTML.Em(bbox.w), + "background-color":"red" + }}], + ["mjx-box",{style:{ + height:CHTML.Em(bbox.d),width:CHTML.Em(bbox.w), + "margin-left":CHTML.Em(-bbox.w),"vertical-align":CHTML.Em(-bbox.d), + "background-color":"green" + }}] + ]); + if (node.nextSibling) {node.parentNode.insertBefore(box,node.nextSibling)} + else {node.parentNode.appendChild(box)} + }, + + CHTMLnotEmpty: function (mml) { + while (mml && mml.data.length < 2 && (mml.type === "mrow" || mml.type === "texatom")) + mml = mml.data[0]; + return !!mml; + } + + },{ + // + // Autoload files based on node type or file name + // + CHTMLautoload: function () { + this.constructor.Augment({toCommonHTML: MML.mbase.CHTMLautoloadFail}); + var file = CHTML.autoloadDir+"/"+this.type+".js"; + HUB.RestartAfter(AJAX.Require(file)); + }, + CHTMLautoloadFail: function () { + throw Error("CommonHTML can't autoload '"+ this.type + "'"); + }, + CHTMLautoloadList: {}, + CHTMLautoloadFile: function (name) { + if (MML.mbase.CHTMLautoloadList.hasOwnProperty(name)) { + throw Error("CommonHTML can't autoload file '"+name+"'"); + } + MML.mbase.CHTMLautoloadList[name] = true; + var file = CHTML.autoloadDir+"/"+name+".js"; + HUB.RestartAfter(AJAX.Require(file)); + }, + // + // For use with embellished operators + // + CHTMLstretchV: function (h,d) { + this.Core().CHTMLstretchV(h,d); + this.toCommonHTML(this.CHTMLnodeElement(),{stretch:true}); + return this.CHTML; + }, + CHTMLstretchH: function (node,w) { + this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)); + this.toCommonHTML(node,{stretch:true}); + return this.CHTML; + } + }); + + /********************************************************/ + + MML.chars.Augment({ + toCommonHTML: function (node,options) { + this.CHTML = null; + if (options == null) options = {}; + var text = this.toString(); + if (options.remap) text = options.remap(text,options.remapchars); + this.CHTMLhandleText(node,text,options.variant||this.parent.CHTMLvariant); + } + }); + MML.entity.Augment({ + toCommonHTML: function (node,options) { + if (options == null) options = {}; + var text = this.toString(); + if (options.remapchars) text = options.remap(text,options.remapchars); + this.CHTMLhandleText(node,text,options.variant||this.parent.CHTMLvariant); + } + }); + + /********************************************************/ + + MML.math.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node); + if (this.CHTML.w < 0) { + node.parentNode.style.width = "0px"; + node.parentNode.style.marginRight = CHTML.Em(this.CHTML.w); + } + var alttext = this.Get("alttext"); + if (alttext && !node.getAttribute("aria-label")) node.setAttribute("aria-label",alttext); + if (this.CHTML.pwidth) { + node.parentNode.style.minWidth = this.CHTML.mwidth||CHTML.Em(this.CHTML.w); + node.parentNode.className = "mjx-full-width "+node.parentNode.className; + node.style.width = this.CHTML.pwidth; + } else if (!this.isMultiline && this.Get("display") === "block") { + var values = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); + if (values.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) values.indentalign = values.indentalignfirst; + if (values.indentalign === MML.INDENTALIGN.AUTO) values.indentalign = CONFIG.displayAlign; + if (values.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) values.indentshift = values.indentshiftfirst; + if (values.indentshift === "auto") values.indentshift = "0"; + var shift = this.CHTMLlength2em(values.indentshift,CHTML.cwidth); + if (CONFIG.displayIndent !== "0") { + var indent = this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth); + shift += (values.indentalign === MML.INDENTALIGN.RIGHT ? -indent : indent); + } + var styles = node.parentNode.parentNode.style; + node.parentNode.style.textAlign = styles.textAlign = values.indentalign; + // ### FIXME: make percentage widths respond to changes in container + if (shift) { + shift *= CHTML.em/CHTML.outerEm; + HUB.Insert(styles,({ + left: {marginLeft: CHTML.Em(shift)}, + right: {marginRight: CHTML.Em(-shift)}, + center: {marginLeft: CHTML.Em(shift), marginRight: CHTML.Em(-shift)} + })[values.indentalign]); + } + } + return node; + } + }); + + /********************************************************/ + + MML.mi.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node); + var bbox = this.CHTML, text = this.data.join(""); + if (bbox.skew != null && !CHTML.isChar(text)) delete bbox.skew; + if (bbox.r > bbox.w && CHTML.isChar(text) && !this.CHTMLvariant.noIC) { + bbox.ic = bbox.r - bbox.w; bbox.w = bbox.r; + node.lastChild.style.paddingRight = CHTML.Em(bbox.ic); + } + return node; + } + }); + + /********************************************************/ + + MML.mn.Augment({ + CHTMLremapMinus: function (text) {return text.replace(/^-/,"\u2212")}, + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node,{childOptions:{remap:this.CHTMLremapMinus}}); + var bbox = this.CHTML, text = this.data.join(""); + if (bbox.skew != null && !CHTML.isChar(text)) delete bbox.skew; + if (bbox.r > bbox.w && CHTML.isChar(text) && !this.CHTMLvariant.noIC) { + bbox.ic = bbox.r - bbox.w; bbox.w = bbox.r; + node.lastChild.style.paddingRight = CHTML.Em(bbox.ic); + } + return node; + } + }); + + /********************************************************/ + + MML.mo.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLgetVariant(); + this.CHTMLhandleScale(node); + CHTML.BBOX.empty(this.CHTML); + + var values = this.getValues("displaystyle","largeop"); + values.variant = this.CHTMLvariant; + values.text = this.data.join(""); + if (values.text == "") { + if (this.fence) node.style.width = CHTML.Em(CHTML.TEX.nulldelimiterspace); + } else { + this.CHTMLadjustAccent(values); + this.CHTMLadjustVariant(values); + + for (var i = 0, m = this.data.length; i < m; i++) { + this.CHTMLaddChild(node,i,{childOptions:{ + variant: values.mathvariant, + remap: this.remap, + remapchars: values.remapchars + }}); + } + if (!CHTML.isChar(values.text)) delete this.CHTML.skew; + else if (this.CHTML.w === 0 && this.CHTML.l < 0) this.CHTMLfixCombiningChar(node); + if (values.largeop) this.CHTMLcenterOp(node); + } + + this.CHTML.clean(); + this.CHTMLhandleBBox(node); + this.CHTMLhandleSpace(node); + this.CHTMLhandleColor(node); + + return node; + }, + CHTMLhandleSpace: function (node) { + if (this.hasMMLspacing()) { + var values = this.getValues("scriptlevel","lspace","rspace"); + values.lspace = Math.max(0,this.CHTMLlength2em(values.lspace)); + values.rspace = Math.max(0,this.CHTMLlength2em(values.rspace)); + if (values.scriptlevel > 0) { + if (!this.hasValue("lspace")) values.lspace = .15; + if (!this.hasValue("rspace")) values.rspace = .15; + } + var core = this, parent = this.Parent(); + while (parent && parent.isEmbellished() && parent.Core() === core) + {core = parent; parent = parent.Parent(); node = core.CHTMLnodeElement()} + if (values.lspace) node.style.paddingLeft = CHTML.Em(values.lspace); + if (values.rspace) node.style.paddingRight = CHTML.Em(values.rspace); + this.CHTML.L = values.lspace; this.CHTML.R = values.rspace; + } else { + this.SUPER(arguments).CHTMLhandleSpace.apply(this,arguments); + } + }, + CHTMLadjustAccent: function (data) { + var parent = this.CoreParent(); data.parent = parent; + if (CHTML.isChar(data.text) && parent && parent.isa(MML.munderover)) { + var over = parent.data[parent.over], under = parent.data[parent.under]; + if (over && this === over.CoreMO() && parent.Get("accent")) { + data.remapchars = CHTML.FONTDATA.REMAPACCENT; + } else if (under && this === under.CoreMO() && parent.Get("accentunder")) { + data.remapchars = CHTML.FONTDATA.REMAPACCENTUNDER; + } + } + }, + CHTMLadjustVariant: function (data) { + var parent = data.parent, + isScript = (parent && parent.isa(MML.msubsup) && this !== parent.data[parent.base]); + if (data.largeop) data.mathvariant = (data.displaystyle ? "-largeOp" : "-smallOp"); + if (isScript) { + data.remapchars = this.remapChars; + if (data.text.match(/['`"\u00B4\u2032-\u2037\u2057]/)) + data.mathvariant = "-TeX-variant"; // ### FIXME: handle other fonts + } + }, + CHTMLfixCombiningChar: function (node) { + // + // IE doesn't display combining chararacters unless they combine with + // something, so put them over a space and remove the space's width + // + node = node.firstChild; + var space = CHTML.Element("mjx-box",{style:{width:".25em","margin-left":"-.25em"}}); + node.insertBefore(space,node.firstChild); + }, + CHTMLcenterOp: function (node) { + var bbox = this.CHTML; + var p = (bbox.h - bbox.d)/2 - CHTML.TEX.axis_height; + if (Math.abs(p) > .001) node.style.verticalAlign = CHTML.Em(-p); + bbox.h -= p; bbox.d += p; + if (bbox.r > bbox.w) { + bbox.ic = bbox.r - bbox.w; bbox.w = bbox.r; + node.style.paddingRight = CHTML.Em(bbox.ic); + } + }, + CHTMLcanStretch: function (direction,H,D) { + if (!this.Get("stretchy")) return false; + var c = this.data.join(""); if (!CHTML.isChar(c)) return false; + var values = {text: c}; + this.CHTMLadjustAccent(values); + if (values.remapchars) c = values.remapchars[c]||c; + c = CHTML.FONTDATA.DELIMITERS[c.charCodeAt(0)]; + var stretch = (c && c.dir === direction.substr(0,1)); + if (stretch) { + stretch = (this.CHTML.h !== H || this.CHTML.d !== D || + !!this.Get("minsize",true) || !!this.Get("maxsize",true)); + if (stretch) this.CHTML.stretch = true; + } + return stretch; + }, + CHTMLstretchV: function (h,d) { + var node = this.CHTMLnodeElement(), bbox = this.CHTML; + var values = this.getValues("symmetric","maxsize","minsize"); + // + // Determine the height needed + // + var H, a = CHTML.TEX.axis_height; + if (values.symmetric) {H = 2*Math.max(h-a,d+a)} else {H = h + d} + values.maxsize = this.CHTMLlength2em(values.maxsize,bbox.h+bbox.d); + values.minsize = this.CHTMLlength2em(values.minsize,bbox.h+bbox.d); + H = Math.max(values.minsize,Math.min(values.maxsize,H)); + // + // If we are not already stretched to this height + // + if (H !== bbox.sH) { + // + // Get a delimiter of the proper height and save the height + // + if (H != values.minsize) + {H = [Math.max(H*CHTML.TEX.delimiterfactor/1000,H-CHTML.TEX.delimitershortfall),H]} + while (node.firstChild) node.removeChild(node.firstChild); + this.CHTML = bbox = CHTML.createDelimiter(node,this.data.join("").charCodeAt(0),H,bbox); + bbox.sH = (H instanceof Array ? H[1] : H); + // + // Reposition as needed + // + if (values.symmetric) {H = (bbox.h + bbox.d)/2 + a} + else {H = (bbox.h + bbox.d) * h/(h + d)} + H -= bbox.h; + if (Math.abs(H) > .05) { + node.style.verticalAlign = CHTML.Em(H); + bbox.h += H; bbox.d -= H; bbox.t += H; bbox.b -= H; + } + } + return this.CHTML; + }, + CHTMLstretchH: function (node,W) { + var bbox = this.CHTML; + var values = this.getValues("maxsize","minsize","mathvariant","fontweight"); + if ((values.fontweight === "bold" || (this.removedStyles||{}).fontWeight === "bold" || + parseInt(values.fontweight) >= 600) && !this.Get("mathvariant",true)) + values.mathvariant = MML.VARIANT.BOLD; + values.maxsize = this.CHTMLlength2em(values.maxsize,bbox.w); + values.minsize = this.CHTMLlength2em(values.minsize,bbox.w); + W = Math.max(values.minsize,Math.min(values.maxsize,W)); + if (W !== bbox.sW) { + while (node.firstChild) node.removeChild(node.firstChild); + this.CHTML = bbox = CHTML.createDelimiter(node,this.data.join("").charCodeAt(0),W,bbox,values.mathvariant); + bbox.sW = W; + } + return this.CHTML; + } + + }); + + /********************************************************/ + + MML.mtext.Augment({ + CHTMLgetVariant: function () { + if (CHTML.config.mtextFontInherit || this.Parent().type === "merror") { + var scale = (CHTML.config.scale/100)/CHTML.scale; + var variant = {cache:{}, fonts:[], className:"MJXc-font-inherit", rscale:scale, + style:{"font-size":CHTML.Percent(scale)}}; + var name = this.Get("mathvariant"); + if (name.match(/bold/)) variant.style["font-weight"] = "bold"; + if (name.match(/italic|-tex-mathit/)) variant.style["font-style"] = "italic"; + if (name === "monospace") variant.className += " MJXc-monospace-font"; + if (name === "double-struck") variant.className += " MJXc-double-struck-font"; + if (name.match(/fraktur/)) variant.className += " MJXc-fraktur-font"; + if (name.match(/sans-serif/)) variant.className += " MJXc-sans-serif-font"; + if (name.match(/script/)) variant.className += " MJXc-script-font"; + this.CHTMLvariant = variant; + } else { + this.SUPER(arguments).CHTMLgetVariant.call(this); + } + } + }); + + /********************************************************/ + + MML.merror.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node); + var bbox = this.CHTML; + // + // Adjust for font-size: 90% + // + bbox.rescale(.9); + // + // Adjust for padding and border + // + bbox.h += 3/CHTML.em; if (bbox.h > bbox.t) bbox.t = bbox.h; + bbox.d += 3/CHTML.em; if (bbox.d > bbox.b) bbox.b = bbox.d; + bbox.w += 8/CHTML.em; bbox.r = bbox.w; bbox.l = 0; + return node; + } + }); + + /********************************************************/ + + MML.mspace.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + var values = this.getValues("height","depth","width"); + var w = this.CHTMLlength2em(values.width), + h = this.CHTMLlength2em(values.height), + d = this.CHTMLlength2em(values.depth); + var bbox = this.CHTML; + bbox.w = bbox.r = w; bbox.h = bbox.t = h; bbox.d = bbox.b = d; bbox.l = 0; + if (w < 0) {node.style.marginRight = CHTML.Em(w); w = 0} + node.style.width = CHTML.Em(w); + node.style.height = CHTML.Em(Math.max(0,h+d)); + if (d) node.style.verticalAlign = CHTML.Em(-d); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + return node; + } + }); + + /********************************************************/ + + MML.mpadded.Augment({ + toCommonHTML: function (node,options) { + var child; + if (options && options.stretch) { + node = node.firstChild; child = node.firstChild; + } else { + node = this.CHTMLdefaultNode(node,{childNodes:"mjx-box", forceChild:true}); + child = node.firstChild; node = CHTML.addElement(node,"mjx-block"); + node.appendChild(child); CHTML.addElement(node,"mjx-strut"); // force proper alignment of short heights + } + var cbox = this.CHTMLbboxFor(0); + var values = this.getValues("width","height","depth","lspace","voffset"); + var x = 0, y = 0, w = cbox.w, h = cbox.h, d = cbox.d; + child.style.width = 0; child.style.margin = CHTML.Em(-h)+" 0 "+CHTML.Em(-d); + if (values.width !== "") w = this.CHTMLdimen(values.width,"w",w,0); + if (values.height !== "") h = this.CHTMLdimen(values.height,"h",h,0); + if (values.depth !== "") d = this.CHTMLdimen(values.depth,"d",d,0); + if (values.voffset !== "") { + y = this.CHTMLdimen(values.voffset); + if (y) { + child.style.position = "relative"; + child.style.top = CHTML.Em(-y); + } + } + if (values.lspace !== "") { + x = this.CHTMLdimen(values.lspace); + if (x) { + child.style.position = "relative"; + child.style.left = CHTML.Em(x); + } + } + node.style.width = 0; + node.style.marginTop = CHTML.Em(h-STRUTHEIGHT); + node.style.padding = "0 "+CHTML.Em(w)+" "+CHTML.Em(d)+" 0"; + var bbox = CHTML.BBOX({w:w, h:h, d:d, l:0, r:w, t:h, b:d, + scale:this.CHTML.scale, rscale:this.CHTML.rscale}); + bbox.combine(cbox,x,y); + bbox.w = w; bbox.h = h; bbox.d = d; + this.CHTML = bbox; + return node.parentNode; + }, + CHTMLstretchV: MML.mbase.CHTMLstretchV, + CHTMLstretchH: MML.mbase.CHTMLstretchH, + CHTMLdimen: function (length,d,D,m) { + if (m == null) {m = -BIGDIMEN} + length = String(length); + var match = length.match(/width|height|depth/); + var size = (match ? this.CHTML[match[0].charAt(0)] : (d ? this.CHTML[d] : 0)); + var dimen = (this.CHTMLlength2em(length,size)||0); + if (length.match(/^[-+]/) && D != null) dimen += D; + if (m != null) dimen = Math.max(m,dimen); + return dimen; + } + }); + + /********************************************************/ + + MML.munderover.Augment({ + toCommonHTML: function (node,options) { + var values = this.getValues("displaystyle","accent","accentunder","align"); + var base = this.data[this.base]; + if (!values.displaystyle && base != null && + (base.movablelimits || base.CoreMO().Get("movablelimits"))) + return MML.msubsup.prototype.toCommonHTML.call(this,node,stretch); + // + // Get the nodes for base and limits + // + var under, over, nodes = [], stretch = false; + if (options && options.stretch) { + if (this.data[this.base]) base = CHTML.getNode(node,"mjx-op"); + if (this.data[this.under]) under = CHTML.getNode(node,"mjx-under"); + if (this.data[this.over]) over = CHTML.getNode(node,"mjx-over"); + nodes[0] = base; nodes[1] = under||over; nodes[2] = over; + stretch = true; + } else { + var types = ["mjx-op","mjx-under","mjx-over"]; + if (this.over === 1) types[1] = types[2]; + node = this.CHTMLdefaultNode(node,{ + childNodes:types, noBBox:true, forceChild:true, minChildren: 2 + }); + nodes[0] = base = node.removeChild(node.firstChild); + nodes[1] = under = over = node.removeChild(node.firstChild); + if (node.firstChild) nodes[2] = over = node.removeChild(node.firstChild); + } + // + // Get the bounding boxes and the maximum width + // + var boxes = [], W = this.CHTMLgetBBoxes(boxes,nodes,values); + var bbox = boxes[this.base], BBOX = this.CHTML; + BBOX.w = W; BBOX.h = bbox.h; BBOX.d = bbox.d; // modified below + // + // Adjust for bases shorter than the center line (#1657) + // (the center line really depends on the surrounding font, so + // it should be measured along with ems and exs, but currently isn't. + // so this value is an approximation that is reasonable for most fonts.) + // + if (bbox.h < .35) base.style.marginTop = CHTML.Em(bbox.h - .35); + // + // Use a minimum height for accents (#1706) + // (same issues with the center line as above) + // + if (values.accent && bbox.h < CHTML.TEX.x_height) { + BBOX.h += CHTML.TEX.x_height - bbox.h; + base.style.marginTop = CHTML.Em(CHTML.TEX.x_height - Math.max(bbox.h,.35)); + bbox.h = CHTML.TEX.x_height; + } + // + // Add over- and under-scripts + // + var stack = base, delta = 0; + if (bbox.ic) {delta = 1.3*bbox.ic + .05} // make faked IC be closer to expeted results + if (this.data[this.over]) stack = this.CHTMLaddOverscript(over,boxes,values,delta,base,stretch); + if (this.data[this.under]) this.CHTMLaddUnderscript(under,boxes,values,delta,node,stack,stretch); + else if (!stretch) node.appendChild(stack); + // + // Handle horizontal positions + // + this.CHTMLplaceBoxes(base,under,over,values,boxes); + return node; + }, + // + // Get the bounding boxes for the children, stretch + // any stretchable elements, and compute the maximum width + // + CHTMLgetBBoxes: function (bbox,nodes,values) { + var i, m = this.data.length, scale, + w = -BIGDIMEN, // maximum width of non-stretchy items + W = w; // maximum width of all items + // + // Get the maximum width + // + for (i = 0; i < m; i++) { + bbox[i] = this.CHTMLbboxFor(i); bbox[i].x = bbox[i].y = 0; + if (this.data[i]) bbox[i].stretch = this.data[i].CHTMLcanStretch("Horizontal"); + scale = (i === this.base ? 1 : bbox[i].rscale); + if (i !== this.base) {delete bbox[i].L; delete bbox[i].R} // these are overridden by CSS + W = Math.max(W,scale*(bbox[i].w + (bbox[i].L||0) + (bbox[i].R||0))); + if (!bbox[i].stretch && W > w) w = W; + } + if (w === -BIGDIMEN) w = W; + // + // Stretch those parts that need it + // + for (i = 0; i < m; i++) { + if (bbox[i].stretch) { + scale = (i === this.base ? 1 : bbox[i].rscale); + bbox[i] = this.data[i].CHTMLstretchH(nodes[i].firstChild,w/scale); + bbox[i].x = bbox[i].y = 0; + W = Math.max(W,scale*(bbox[i].w + (bbox[i].L||0) + (bbox[i].R||0))); + } + } + if (!bbox[this.base]) bbox[this.base] = CHTML.BBOX.empty(); + return W; + }, + // + // Add an overscript + // + CHTMLaddOverscript: function (over,boxes,values,delta,base,stretch) { + var BBOX = this.CHTML; + var z1, z2, z3 = CHTML.TEX.big_op_spacing5, k; + var obox = boxes[this.over], bbox = boxes[this.base], scale = obox.rscale; + // + // Put the base and script into a stack + // + if (!stretch) { + var stack = CHTML.Element("mjx-stack"); + stack.appendChild(over); stack.appendChild(base); + } + if (obox.D) obox.d = obox.D; + if (obox.d < 0) { + // + // For negative depths, set the height and align to top + // in order to avoid extra baseline space + // + over.firstChild.style.verticalAlign = "top"; + over.style.height = CHTML.Em(obox.h+obox.d); + } + // + // Determine the spacing + // + obox.x = 0; + if (values.accent) { + if (obox.w < .001) obox.x += (obox.r - obox.l)/2; // center combining accents + k = CHTML.TEX.rule_thickness; z3 = 0; + if (bbox.skew) { + obox.x += scale*bbox.skew; BBOX.skew = scale*bbox.skew; + if (obox.x+scale*obox.w > BBOX.w) BBOX.skew += (BBOX.w - (obox.x+scale*obox.w))/2; + } + } else { + z1 = CHTML.TEX.big_op_spacing1; + z2 = CHTML.TEX.big_op_spacing3; + k = Math.max(z1,z2-Math.max(0,scale*obox.d)); + } + obox.x += delta/2; obox.y = BBOX.h + k + z3 + scale*obox.d; + // + // Position the overscript + // + if (k) over.style.paddingBottom = CHTML.Em(k/scale); + if (z3) over.style.paddingTop = CHTML.Em(z3/scale); + return stack; + }, + // + // Add an underscript + // + CHTMLaddUnderscript: function (under,boxes,values,delta,node,stack,stretch) { + var BBOX = this.CHTML; + var z1, z2, z3 = CHTML.TEX.big_op_spacing5, k; + var ubox = boxes[this.under], scale = ubox.rscale; + // + // Create a table for the underscript + // + if (!stretch) { + CHTML.addElement(node,"mjx-itable",{},[ + ["mjx-row",{},[["mjx-cell"]]], + ["mjx-row"] + ]); + node.firstChild.firstChild.firstChild.appendChild(stack); + node.firstChild.lastChild.appendChild(under); + } + if (ubox.D) ubox.d = ubox.D; + if (ubox.d < 0) { + // + // For negative depths, set the height and align to top + // in order to avoid extra baseline space + // + under.firstChild.style.verticalAlign = "top"; + node.firstChild.style.marginBottom = CHTML.Em(ubox.d); + } + // + // determine the spacing + // + if (values.accentunder) { + k = 2*CHTML.TEX.rule_thickness; z3 = 0; + } else { + z1 = CHTML.TEX.big_op_spacing2; + z2 = CHTML.TEX.big_op_spacing4; + k = Math.max(z1,z2-scale*ubox.h); + } + ubox.x = -delta/2; ubox.y = -(BBOX.d + k + z3 + scale*ubox.h); + // + // Position the underscript + // + if (k) under.style.paddingTop = CHTML.Em(k/scale); + if (z3) under.style.paddingBottom = CHTML.Em(z3/scale); + }, + // + // Center boxes horizontally, taking offsets into account + // + CHTMLplaceBoxes: function (base,under,over,values,boxes) { + var W = this.CHTML.w, i, m = boxes.length, scale; + var BBOX = CHTML.BBOX.zero(); + BBOX.scale = this.CHTML.scale; BBOX.rscale = this.CHTML.rscale; + boxes[this.base].x = boxes[this.base].y = 0; var dx = BIGDIMEN; + for (i = 0; i < m; i++) { + scale = (i === this.base ? 1 : boxes[i].rscale); + var w = scale*(boxes[i].w + (boxes[i].L||0) + (boxes[i].R||0)); + boxes[i].x += {left:0, center:(W-w)/2, right:W-w}[values.align]; + if (boxes[i].x < dx) dx = boxes[i].x; + } + for (i = 0; i < m; i++) { + if (this.data[i]) { + scale = (i === this.base ? 1 : boxes[i].rscale); + if (boxes[i].x - dx) { + var node = (i === this.base ? base : i === this.over ? over : under); + node.style.paddingLeft = CHTML.Em((boxes[i].x-dx)/scale); + } + BBOX.combine(boxes[i],boxes[i].x-dx,boxes[i].y); + } + } + this.CHTML = BBOX; + }, + CHTMLstretchV: MML.mbase.CHTMLstretchV, + CHTMLstretchH: MML.mbase.CHTMLstretchH, + CHTMLchildNode: function (node,i) { + var types = ["mjx-op","mjx-under","mjx-over"]; + if (this.over === 1) types[1] = types[2]; + return CHTML.getNode(node,types[i]); + } + }); + + /********************************************************/ + + MML.msubsup.Augment({ + toCommonHTML: function (node,options) { + var values = this.getValues( + "displaystyle","subscriptshift","superscriptshift","texprimestyle" + ); + // + // Get the nodes for base and limits + // + var base, sub, sup; + if (options && options.stretch) { + if (this.data[this.base]) base = CHTML.getNode(node,"mjx-base"); + if (this.data[this.sub]) sub = CHTML.getNode(node,"mjx-sub"); + if (this.data[this.sup]) sup = CHTML.getNode(node,"mjx-sup"); + stack = CHTML.getNode(node,"mjx-stack"); + } else { + var types = ["mjx-base","mjx-sub","mjx-sup"]; + if (this.sup === 1) types[1] = types[2]; + node = this.CHTMLdefaultNode(node,{ + childNodes:types, noBBox:true, forceChild:true, minChildren: 3 + }); + base = node.childNodes[this.base]; + sub = node.childNodes[this.sub]; sup = node.childNodes[this.sup]; + if (!this.CHTMLnotEmpty(this.data[this.sub])) {node.removeChild(sub); sub = null} + if (!this.CHTMLnotEmpty(this.data[this.sup])) {node.removeChild(sup); sup = null} + if (node.childNodes.length === 3) { + var stack = CHTML.addElement(node,"mjx-stack"); + stack.appendChild(sup); stack.appendChild(sub); + } + } + // + // Get the bounding boxes and maximum width of scripts + // + var boxes = [], BBOX = CHTML.BBOX.empty(this.CHTML); + for (var i = 0, m = this.data.length; i < m; i++) boxes[i] = this.CHTMLbboxFor(i); + var bbox = boxes[this.base] || CHTML.BBOX.empty(), + sbox = boxes[this.sub], Sbox = boxes[this.sup]; + var sscale = (sub ? sbox.rscale : 1), Sscale = (sup ? Sbox.rscale : 1); + BBOX.combine(bbox,0,0); + // + // Get initial values for parameters + // + var ex = CHTML.TEX.x_height, s = CHTML.TEX.scriptspace; + var q = CHTML.TEX.sup_drop * Sscale, r = CHTML.TEX.sub_drop * sscale; + var u = bbox.h - q, v = bbox.d + r, delta = 0, p; + if (bbox.ic) { + BBOX.w -= bbox.ic; // remove IC (added by mo and mi) + base.style.marginRight = CHTML.Em(-bbox.ic); + delta = 1.3*bbox.ic + .05; // make faked IC be closer to expeted results + } + var bmml = this.data[this.base]; + if (bmml) { + if ((bmml.type === "mrow" || bmml.type === "mstyle") && bmml.data.length === 1) bmml = bmml.data[0]; + if (bmml.type === "mi" || bmml.type === "mo") { + if (CHTML.isChar(bmml.data.join("")) && bbox.rscale === 1 && !bbox.sH && + !bmml.Get("largeop")) {u = v = 0} + } + } + values.subscriptshift = (values.subscriptshift === "" ? 0 : this.CHTMLlength2em(values.subscriptshift)); + values.superscriptshift = (values.superscriptshift === "" ? 0 : this.CHTMLlength2em(values.superscriptshift)); + // + // Add the super- and subscripts + // + var x = BBOX.w; if (sub) sbox.w += s; if (sup) Sbox.w += s; + if (!sup) { + if (sub) { + v = Math.max(v,CHTML.TEX.sub1,sscale*sbox.h-(4/5)*ex,values.subscriptshift); + sub.style.verticalAlign = CHTML.Em(-v/sscale); + sub.style.paddingRight = CHTML.Em(s/sscale); + BBOX.combine(sbox,x,-v); + } + } else { + if (!sub) { + p = CHTML.TEX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; + u = Math.max(u,p,Sscale*Sbox.d+(1/4)*ex,values.superscriptshift); + sup.style.verticalAlign = CHTML.Em(u/Sscale); + sup.style.paddingLeft = CHTML.Em(delta/Sscale); + sup.style.paddingRight = CHTML.Em(s/Sscale); + BBOX.combine(Sbox,x+delta,u); + } else { + v = Math.max(v,CHTML.TEX.sub2); + var t = CHTML.TEX.rule_thickness; + if ((u - Sscale*Sbox.d) - (sscale*sbox.h - v) < 3*t) { + v = 3*t - u + Sscale*Sbox.d + sscale*sbox.h; + q = (4/5)*ex - (u - Sscale*Sbox.d); + if (q > 0) {u += q; v -= q} + } + u = Math.max(u,values.superscriptshift); + v = Math.max(v,values.subscriptshift); + sub.style.paddingRight = CHTML.Em(s/sscale); + sup.style.paddingBottom = CHTML.Em(u/Sscale+v/sscale-Sbox.d-sbox.h/sscale*Sscale); + sup.style.paddingLeft = CHTML.Em(delta/Sscale); + sup.style.paddingRight = CHTML.Em(s/Sscale); + stack.style.verticalAlign = CHTML.Em(-v); + BBOX.combine(Sbox,x+delta,u); + BBOX.combine(sbox,x,-v); + } + } + BBOX.clean(); + return node; + }, + CHTMLstretchV: MML.mbase.CHTMLstretchV, + CHTMLstretchH: MML.mbase.CHTMLstretchH, + CHTMLchildNode: function (node,i) { + var types = ["mjx-base","mjx-sub","mjx-sup"]; + if (this.over === 1) types[1] = types[2]; + return CHTML.getNode(node,types[i]); + } + }); + + /********************************************************/ + + MML.mfrac.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node,{ + childNodes:["mjx-numerator","mjx-denominator"], + childOptions: {autowidth: true}, + forceChild:true, noBBox:true, minChildren:2 + }); + var values = this.getValues("linethickness","displaystyle", + "numalign","denomalign","bevelled"); + var isDisplay = values.displaystyle; + // + // Create the table for the fraction and set the alignment + // + var num = node.firstChild, denom = node.lastChild; + var frac = CHTML.addElement(node,"mjx-box"); + frac.appendChild(num); frac.appendChild(denom); node.appendChild(frac); + if (values.numalign !== "center") num.style.textAlign = values.numalign; + if (values.denomalign !== "center") denom.style.textAlign = values.denomalign; + // + // Get the bounding boxes for the parts, and determine the placement + // of the numerator and denominator + // + var nbox = this.CHTMLbboxFor(0), dbox = this.CHTMLbboxFor(1), + BBOX = CHTML.BBOX.empty(this.CHTML), nscale = nbox.rscale, dscale = dbox.rscale; + values.linethickness = Math.max(0,CHTML.thickness2em(values.linethickness||"0",BBOX.scale)); + var mt = CHTML.TEX.min_rule_thickness/CHTML.em, a = CHTML.TEX.axis_height; + var t = values.linethickness, p,q, u,v; + if (values.bevelled) { + frac.className += " MJXc-bevelled"; + var delta = (isDisplay ? .4 : .15); + var H = Math.max(nscale*(nbox.h+nbox.d),dscale*(dbox.h+dbox.d)) + 2*delta; + var bevel = CHTML.Element("mjx-bevel"); frac.insertBefore(bevel,denom); + var bbox = CHTML.createDelimiter(bevel,0x2F,H); + u = nscale*(nbox.d-nbox.h)/2+a+delta; + v = dscale*(dbox.d-dbox.h)/2+a-delta; + if (u) num.style.verticalAlign = CHTML.Em(u/nscale); + if (v) denom.style.verticalAlign = CHTML.Em(v/dscale); + bevel.style.marginLeft = bevel.style.marginRight = CHTML.Em(-delta/2); + BBOX.combine(nbox,0,u); + BBOX.combine(bbox,nscale*nbox.w-delta/2,0); + BBOX.combine(dbox,nscale*nbox.w+bbox.w-delta,v); + BBOX.clean(); + } else { + frac.className += " MJXc-stacked"; + if (isDisplay) {u = CHTML.TEX.num1; v = CHTML.TEX.denom1} + else {u = (t === 0 ? CHTML.TEX.num3 : CHTML.TEX.num2); v = CHTML.TEX.denom2} + if (t === 0) { // \atop + p = Math.max((isDisplay ? 7 : 3) * CHTML.TEX.rule_thickness, 2*mt); // force to at least 2 px + q = (u - nbox.d*nscale) - (dbox.h*dscale - v); + if (q < p) {u += (p - q)/2; v += (p - q)/2} + } else { // \over + p = Math.max((isDisplay ? 2 : 0) * mt + t, t/2 + 1.5*mt); + t = Math.max(t,mt); + q = (u - nbox.d*nscale) - (a + t/2); if (q < p) u += (p - q); + q = (a - t/2) - (dbox.h*dscale - v); if (q < p) v += (p - q); + nbox.L = nbox.R = dbox.L = dbox.R = .1; // account for padding in BBOX width + var rule = CHTML.addElement(frac,"mjx-line",{style: { + "border-bottom":CHTML.Px(t*BBOX.scale,1)+" solid", top: CHTML.Em(-t/2-a) + }}); + } + // + // Determine the new bounding box and place the parts + // + BBOX.combine(nbox,0,u); + BBOX.combine(dbox,0,-v); + BBOX.clean(); + // + // Force elements to the correct width + // + frac.style.width = CHTML.Em(BBOX.w); + num.style.width = CHTML.Em(BBOX.w/nscale); + denom.style.width = CHTML.Em(BBOX.w/dscale); + if (rule) rule.style.width = frac.style.width; + // + // Place the numerator and denominator in relation to the baseline + // + num.style.top = CHTML.Em(-BBOX.h/nscale); + denom.style.bottom = CHTML.Em(-BBOX.d/dscale); + // + // Force the size of the surrounding box, since everything is absolutely positioned + // + CHTML.addElement(node,"mjx-vsize",{style: { + height: CHTML.Em(BBOX.h+BBOX.d), verticalAlign: CHTML.Em(-BBOX.d) + }}); + } + // + // Add nulldelimiterspace around the fraction + // (TeXBook pg 150 and Appendix G rule 15e) + // + if (!this.texWithDelims) { + var space = CHTML.TEX.nulldelimiterspace; + frac.style.padding = "0 "+CHTML.Em(space); + BBOX.l += space; BBOX.r += space; BBOX.w += 2*space; + } + // + // Return the completed fraction + // + return node; + }, + CHTMLcanStretch: function (direction) {return false} + }); + + /********************************************************/ + + MML.msqrt.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node,{ + childNodes:["mjx-box","mjx-root"], forceChild:true, noBBox:true + }); + var base = node.firstChild || CHTML.Element("mjx-box"); + var sqrt = CHTML.addElement(node,"mjx-box"); sqrt.appendChild(base); + var bbox = this.CHTMLbboxFor(0), BBOX = CHTML.BBOX.empty(this.CHTML); + var t = CHTML.TEX.rule_thickness, T = CHTML.TEX.surd_height, p = t, q, H; + if (this.Get("displaystyle")) p = CHTML.TEX.x_height; + q = t + p/4; + H = bbox.h + bbox.d + q + t; + var surd = CHTML.Element("mjx-surd"); sqrt.insertBefore(surd,base); + var sbox = CHTML.createDelimiter(surd,0x221A,[H-.04,H]); + if (sbox.h + sbox.d > H) q = ((sbox.h+sbox.d) - (H-t))/2; + H = bbox.h + q + t; + var x = this.CHTMLaddRoot(node,sbox,sbox.h+sbox.d-H); + base.style.paddingTop = CHTML.Em(q); + base.style.borderTop = CHTML.Px(T*bbox.scale,1)+" solid"; + sqrt.style.paddingTop = CHTML.Em(2*t-T); // use wider line, but don't affect height + bbox.h += q + 2*t; + BBOX.combine(sbox,x,H-sbox.h); + BBOX.combine(bbox,x+sbox.w,0); + BBOX.clean(); + return node; + }, + CHTMLaddRoot: function () {return 0}, + CHTMLhandleBBox: function (node) { + var bbox = this.CHTMLbboxFor(0); + delete bbox.pwidth; + this.SUPER(arguments).CHTMLhandleBBox.apply(this,arguments); + } + }); + + /********************************************************/ + + MML.mroot.Augment({ + toCommonHTML: MML.msqrt.prototype.toCommonHTML, + CHTMLhandleBBox: MML.msqrt.prototype.CHTMLhandleBBox, + CHTMLaddRoot: function (sqrt,sbox,d) { + if (!this.data[1]) return; + var BBOX = this.CHTML, bbox = this.data[1].CHTML, root = sqrt.firstChild; + var scale = bbox.rscale; + var h = this.CHTMLrootHeight(bbox,sbox,scale)-d; + var w = Math.min(bbox.w,bbox.r); // remove extra right-hand padding, if any + var dx = Math.max(w,sbox.offset/scale); + if (h) root.style.verticalAlign = CHTML.Em(h/scale); + if (dx > w) root.firstChild.style.paddingLeft = CHTML.Em(dx-w); + dx -= sbox.offset/scale; + root.style.width = CHTML.Em(dx); + BBOX.combine(bbox,0,h); + return dx*scale; + }, + CHTMLrootHeight: function (bbox,sbox,scale) { + return .45*(sbox.h+sbox.d-.9)+sbox.offset + Math.max(0,bbox.d-.075); + } + }); + + /********************************************************/ + + MML.mfenced.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + // + // Make row of open, data, sep, ... data, close + // + this.CHTMLaddChild(node,"open",{}); + for (var i = 0, m = this.data.length; i < m; i++) { + this.CHTMLaddChild(node,"sep"+i,{}); + this.CHTMLaddChild(node,i,{}); + } + this.CHTMLaddChild(node,"close",{}); + // + // Check for stretching the elements + // + var H = this.CHTML.h, D = this.CHTML.d; + this.CHTMLstretchChildV("open",H,D); + for (i = 0, m = this.data.length; i < m; i++) { + this.CHTMLstretchChildV("sep"+i,H,D); + this.CHTMLstretchChildV(i,H,D); + } + this.CHTMLstretchChildV("close",H,D); + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + return node; + } + }); + + /********************************************************/ + + MML.mrow.Augment({ + toCommonHTML: function (node,options) { + options = options || {}; + node = this.CHTMLdefaultNode(node); + var bbox = this.CHTML, H = bbox.h, D = bbox.d, hasNegative; + for (var i = 0, m = this.data.length; i < m; i++) { + this.CHTMLstretchChildV(i,H,D); + if (this.data[i] && this.data[i].CHTML && this.data[i].CHTML.w < 0) hasNegative = true; + } + if (this.CHTMLlineBreaks()) { + this.CHTMLmultiline(node); + if (options.autowidth) node.style.width = ""; + } else { + if (hasNegative && bbox.w) node.style.width = CHTML.Em(Math.max(0,bbox.w)); + if (bbox.w < 0) node.style.marginRight = CHTML.Em(bbox.w); + } + return node; + }, + CHTMLlineBreaks: function () { + if (!this.parent.linebreakContainer) return false; + return (LINEBREAKS.automatic && this.CHTML.w > CHTML.linebreakWidth) || this.hasNewline(); + }, + CHTMLstretchV: function (h,d) { + this.CHTMLstretchChildV(this.CoreIndex(),h,d); + return this.CHTML; + }, + CHTMLstretchH: function (node,w) { + this.CHTMLstretchChildH(this.CoreIndex(),w,node); + return this.CHTML; + } + }); + + /********************************************************/ + + MML.TeXAtom.Augment({ + toCommonHTML: function (node,options) { + if (!options || !options.stretch) node = this.CHTMLdefaultNode(node); + if (this.texClass === MML.TEXCLASS.VCENTER) { + var a = CHTML.TEX.axis_height, BBOX = this.CHTML; + var v = a-(BBOX.h+BBOX.d)/2+BBOX.d; + if (Math.abs(v) > .001) { + node.style.verticalAlign = CHTML.Em(v); + BBOX.h += v; BBOX.t += v; BBOX.d -= v; BBOX.b -= v; + } + } + return node; + }, + CHTMLstretchV: function (h,d) { + this.CHTMLupdateFrom(this.Core().CHTMLstretchV(h,d)); + this.toCommonHTML(this.CHTMLnodeElement(),{stretch:true}); + return this.CHTML; + }, + CHTMLstretchH: function (node,w) { + this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)); + this.toCommonHTML(node,{stretch:true}); + return this.CHTML; + } + }); + + /********************************************************/ + + MML.semantics.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLcreateNode(node); + if (this.data[0]) { + this.data[0].toCommonHTML(node); + this.CHTMLupdateFrom(this.data[0].CHTML); + this.CHTMLhandleBBox(node); + } + return node; + } + }); + MML.annotation.Augment({toCommonHTML: function(node) {return this.CHTMLcreateNode(node)}}); + MML["annotation-xml"].Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + + /********************************************************/ + + MML.ms.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + MML.mglyph.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + MML.menclose.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + MML.maction.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + MML.mmultiscripts.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + MML.mtable.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + + /********************************************************/ + + // + // Loading isn't complete until the element jax is modified, + // but can't call loadComplete within the callback for "mml Jax Ready" + // (it would call CommonHTML's Require routine, asking for the mml jax again) + // so wait until after the mml jax has finished processing. + // + // We also need to wait for the onload handler to run, since the loadComplete + // will call Config and Startup, which need to modify the body. + // + MathJax.Hub.Register.StartupHook("onLoad",function () { + setTimeout(MathJax.Callback(["loadComplete",CHTML,"jax.js"]),0); + }); + }); + + MathJax.Hub.Register.StartupHook("End Cookie", function () { + if (HUB.config.menuSettings.zoom !== "None") + {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }); + +})(MathJax.Ajax,MathJax.Hub,MathJax.HTML,MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/config.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/config.js new file mode 100644 index 00000000..a90c86b0 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/config.js @@ -0,0 +1,52 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/NativeMML/config.js + * + * Initializes the NativeMML OutputJax (the main definition is in + * MathJax/jax/input/NativeMML/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.OutputJax.NativeMML = MathJax.OutputJax({ + id: "NativeMML", + version: "2.7.5", + directory: MathJax.OutputJax.directory + "/NativeMML", + extensionDir: MathJax.OutputJax.extensionDir + "/NativeMML", + + config: { + matchFontHeight: true, // try to match math font height to surrounding font? + scale: 100, // scaling factor for all math + minScaleAdjust: 50, // minimum scaling to adjust to surrounding text + // (since the code for that is a bit delicate) + + styles: { + "div.MathJax_MathML": { + "text-align": "center", + margin: ".75em 0px" + } + } + } +}); + +if (!MathJax.Hub.config.delayJaxRegistration) + MathJax.OutputJax.NativeMML.Register("jax/mml"); + +MathJax.OutputJax.NativeMML.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/jax.js new file mode 100644 index 00000000..d2beaeca --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/jax.js @@ -0,0 +1,1431 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/NativeMML/jax.js + * + * Implements the NativeMML OutputJax that displays mathematics + * using a browser's native MathML capabilities (if any). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +(function (nMML,HUB,AJAX,HTML) { + var MML, isMSIE = HUB.Browser.isMSIE; + + var EVENT, TOUCH, HOVER, ZOOM; // filled in later + + HUB.Register.StartupHook("MathZoom Ready",function () {ZOOM = MathJax.Extension.MathZoom}); + + var NOPADDING = function (side,obj) { + var span = HTML.Element("span"); side = "padding"+side; + if (obj) { + span.style.cssText = (obj.getAttribute("style")||""); + if (span.style.padding === "" && (span.style[side]||"") === "") { + span.style[side] = "0px"; obj.setAttribute("style",span.style.cssText) + } + } + }; + + var CELLSPACING = function (obj,rowSpacing,columnSpacing) { + // + // Webkit default padding on mtd cells is simply + // + // mtd {padding: 0.5ex;} + // + // Gecko default padding on mtd cells is + // + // mtd {padding-right: 0.4em; + // padding-left: 0.4em; + // padding-bottom: 0.5ex; + // padding-top: 0.5ex;} + // mtr:first-child > mtd {padding-top: 0ex;} + // mtr:last-child > mtd {padding-bottom: 0ex;} + // mtd:first-child {padding-left: 0em;} + // mtd:last-child {padding-right: 0em;} + // + // that is the columnspacing/rowspacing is split into two adjacent cells, + // and the periphery of boundary cells is set to zero. + // + // Here, we will set the left/top padding of each cell to + // rowSpacing/columnSpacing (or 0px for the leftmost/topmost cells) and + // reset the right/bottom padding to zero. + // + if (obj) { + var span = HTML.Element("span"); + span.style.cssText = (obj.getAttribute("style")||""); + if (span.style.padding === "") { + var padding = { paddingLeft: columnSpacing, paddingTop: rowSpacing, + paddingRight: "0px", paddingBottom: "0px" }; + for (var side in padding) {if (padding.hasOwnProperty(side)) { + if ((span.style[side]||"") === "") {span.style[side] = padding[side];} + }} + } + obj.setAttribute("style",span.style.cssText); + } + }; + + nMML.Augment({ + // + // User can configure styles + // + config: { + styles: { + ".MathJax_MathML": { + "font-style": "normal", + "font-weight": "normal", + "line-height": "normal", + "font-size": "100%", + "font-size-adjust":"none", + "text-indent": 0, + "text-align": "left", + "text-transform": "none", + "letter-spacing": "normal", + "word-spacing": "normal", + "word-wrap": "normal", + "white-space": "nowrap", + "float": "none", + "direction": "ltr", + "max-width": "none", "max-height": "none", + "min-width": 0, "min-height": 0, + border: 0, padding: 0, margin: 0 + }, + + "span.MathJax_MathML": { + display: "inline!important" + }, + + "div.MathJax_MathML": { + display: "block!important" + }, + + ".MathJax_mmlExBox": { + display:"block!important", overflow:"hidden", + height:"1px", width:"60ex", + "min-height": 0, "max-height":"none", + padding:0, border: 0, margin: 0 + } + } + }, + handlesVariants: false, // true if native support for mathvariants + settings: HUB.config.menuSettings, + ex: 1, scale: 1, // filled in later + adjustWidths: [], // array of elements to have their widths adjusted + + Config: function () { + this.SUPER(arguments).Config.call(this); + if (this.settings.scale) {this.config.scale = this.settings.scale} + // + // Insert styling to take account of displayAlign and displayIndent + // + if (HUB.config.displayAlign !== "center") { + var align = HUB.config.displayAlign, indent = HUB.config.displayIndent; + var def = {"text-align": align+"!important"}; def["margin-"+align] = indent+"!important"; + HUB.Insert(this.config.styles,{ + "div.MathJax_MathML": def, + "div.MathJax_MathML math": {"text-align": align}, + "div.MathJax_MathContainer > span": {"text-align": align+"!important"} + }); + } + if (!this.require) {this.require = []} + this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); + }, + Startup: function () { + // Set up event handling + EVENT = MathJax.Extension.MathEvents.Event; + TOUCH = MathJax.Extension.MathEvents.Touch; + HOVER = MathJax.Extension.MathEvents.Hover; + this.ContextMenu = EVENT.ContextMenu; + this.Mousedown = EVENT.AltContextMenu; + this.Mouseover = HOVER.Mouseover; + this.Mouseout = HOVER.Mouseout; + this.Mousemove = HOVER.Mousemove; + + if (!HUB.Browser.hasMathPlayer) { + // Used in preTranslate to get scaling factors + this.EmExSpan = HTML.Element("span", + {style:{position:"absolute","font-size-adjust":"none"}}, + [ + ["div",{className:"MathJax_mmlExBox"}], + ["span",{className:"MathJax_MathML"}] + ] + ); + MML.math(MML.mspace().With({width:"60ex"})).toNativeMML(this.EmExSpan.lastChild); + } + + // Set up styles + return AJAX.Styles(this.config.styles); + }, + // + // Set up MathPlayer for IE on the first time through. + // Get the ex and em sizes. + // + InitializeMML: function () { + this.initialized = true; + if (HUB.Browser.hasMathPlayer) { + try { + // + // Insert data needed to use MathPlayer for MathML output + // + if (!HUB.Browser.mpNamespace) { + var mathplayer = document.createElement("object"); + mathplayer.id = "mathplayer"; mathplayer.classid = "clsid:32F66A20-7614-11D4-BD11-00104BD3F987"; + document.getElementsByTagName("head")[0].appendChild(mathplayer); + document.namespaces.add("m","http://www.w3.org/1998/Math/MathML"); + HUB.Browser.mpNamespace = true; + } + if (!HUB.Browser.mpImported) { + document.namespaces.m.doImport("#mathplayer"); + HUB.Browser.mpImported = true; + } + } catch (err) { + // + // If that fails, give an alert about security settings + // + if (!this.config.noMathPlayerWarning) { + alert(MathJax.Localization._(["MathML", "MathPlayer"], + "MathJax was not able to set up MathPlayer.\n\n"+ + "If MathPlayer is not installed, you need to install it first.\n"+ + "Otherwise, your security settings may be preventing ActiveX \n"+ + "controls from running. Use the Internet Options item under\n"+ + "the Tools menu and select the Security tab, then press the\n"+ + "Custom Level button. Check that the settings for\n"+ + "'Run ActiveX Controls', and 'Binary and script behaviors'\n"+ + "are enabled.\n\n"+ + "Currently you will see error messages rather than\n"+ + "typeset mathematics.")); + } + } + } else { + // + // Get the default sizes (need styles in place to do this) + // + document.body.appendChild(this.EmExSpan); + this.defaultEx = this.EmExSpan.firstChild.offsetWidth/60; + this.defaultMEx = this.EmExSpan.lastChild.offsetWidth/60; + document.body.removeChild(this.EmExSpan); + } + }, + + preTranslate: function (state) { + var scripts = state.jax[this.id], i, m = scripts.length, + script, prev, span, test, math, jax, ex, mex, scale; + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + if (!this.initialized) {this.InitializeMML()} + // + // Remove any existing output + // + prev = script.previousSibling; + if (prev && prev.className === "MathJax_MathML") {prev.parentNode.removeChild(prev)} + // + // Add the MathJax span + // + jax = script.MathJax.elementJax; if (!jax) continue; + math = jax.root; jax.NativeMML = {}; + var type = (math.Get("display") === "block" ? "div" : "span"); + span = HTML.Element(type,{ + className: "MathJax_MathML", id:jax.inputID+"-Frame" + },[["span",{ + className:"MathJax_MathContainer", isMathJax: true, jaxID:this.id, + style:{position:"relative", display:"inline-block", "white-space":"nowrap"} + }, [["span",{isMathJax:true, style:{display:"inline-block"}}]] // for Firefox hover and zoom + ]]); + script.parentNode.insertBefore(span,script); + // + // Add the test span for determining scales + // + if (!isMSIE) {script.parentNode.insertBefore(this.EmExSpan.cloneNode(true),script)} + } + // + // Determine the scaling factors for each script + // (this only requires one reflow rather than a reflow for each equation) + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + jax = script.MathJax.elementJax; if (!jax) continue; + if (!isMSIE) { + test = script.previousSibling; + ex = test.firstChild.offsetWidth/60; + mex = test.lastChild.offsetWidth/60; + if (ex === 0 || ex === "NaN") {ex = this.defaultEx; mex = this.defaultMEx} + scale = (this.config.matchFontHeight && mex > 1 ? ex/mex : 1); + scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale) * this.config.scale); + jax.NativeMML.ex = ex; jax.NativeMML.mex = mex; + } else {scale = 100} + jax.NativeMML.fontSize = scale+"%"; + jax.NativeMML.scale = scale/100; + } + // + // Remove the test spans used for determining scales + // + if (!isMSIE) { + for (i = 0; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.removeChild(script.previousSibling); + } + } + } + }, + + // + // Add a SPAN to use as a container, and render the math into it + // + Translate: function (script) { + if (!script.parentNode) return; + // + // Get the jax and the container and set the size + // + var jax = script.MathJax.elementJax, math = jax.root; + var span = document.getElementById(jax.inputID+"-Frame"); if (!span) return; + var container = span.firstChild, mspan = container.firstChild; + this.ex = jax.NativeMML.ex || this.defaultEx; + this.scale = jax.NativeMML.scale || 1; + if (this.scale !== 1) {span.style.fontSize = jax.NativeMML.fontSize} + // + // Convert to MathML (if restarted, remove any partial math) + // + try {math.toNativeMML(mspan,jax)} catch (err) { + if (err.restart) {while (mspan.firstChild) {mspan.removeChild(mspan.firstChild)}} + throw err; + } + // + // Add event handlers + // + if (isMSIE) { + if (container.addEventListener) { + for (var id in this.MSIE9events) {if (this.MSIE9events.hasOwnProperty(id)) { + container.addEventListener(id,this.MSIE9event,true); + }} + } else { + var config = (this.config.showMathMenuMSIE != null ? this : HUB).config; + if (config.showMathMenuMSIE && !this.settings.mpContext && !this.settings.mpMouse) + {this.MSIEoverlay(container)} else + {container.style.position = ""; mspan.firstChild.onmousedown = this.MSIEaltMenu} + } + } else { + container.oncontextmenu = EVENT.Menu; + container.onmouseover = EVENT.Mouseover; + container.onmouseout = EVENT.Mouseout; + container.onmousedown = EVENT.Mousedown; + container.onclick = EVENT.Click; + container.ondblclick = EVENT.DblClick; + // Added for keyboard accessible menu. + container.onkeydown = EVENT.Keydown; + container.tabIndex = HUB.getTabOrder(jax); + if (HUB.Browser.noContextMenu) { + container.ontouchstart = TOUCH.start; + container.ontouchend = TOUCH.end; + } + } + }, + + postTranslate: function (state) { + if (this.forceReflow) { + // + // Firefox messes up some mtable's when they are dynamically created + // but gets them right on a reflow, so force reflow by toggling a stylesheet + // + var sheet = (document.styleSheets||[])[0]||{}; + sheet.disabled = true; sheet.disabled = false; + } + }, + + // + // Remove MathML preceding the script + // + Remove: function (jax) { + var span = jax.SourceElement(); if (!span) return; + span = span.previousSibling; if (!span) return; + if (span.className.match(/MathJax_MathML/)) {span.parentNode.removeChild(span)} + }, + // + // The namespace to use for MML + // + MMLnamespace: "http://www.w3.org/1998/Math/MathML", + + isFullWidth: function (node) { + if (!node) return; + var width = node.getAttribute("width") || + (String(node.getAttribute("style")).match(/(?:^| )width: *([^; ]*)/)||[])[1]; + if (width) return !!width.match(/%/); + if (node.nodeName.match(/^(semantics|math|mstyle)$/)) { + width = this.isFullWidth(node.firstChild); + } else if (node.nodeName.toLowerCase() === "mrow") { + for (var i = 0, m = node.childNodes.length; i < m && !width; i++) + width = this.isFullWidth(node.childNodes[i]); + } + if (width) { + var style = "width:100%; "+(node.getAttribute("style")||""); + node.setAttribute("style",style.replace(/ +$/,"")); + } + return width; + }, + + // + // For MSIE, we must overlay the MathPlayer object to trap the events + // (since they can't be cancelled when the events are on the tag + // itself). The events we DON'T want are transferred to the math element, + // and the others are handled directly. + // + MSIEoverlay: function (span) { + var math = span.firstChild; + if (math.nodeName.toLowerCase() === "span") {math = math.firstChild} + var bbox = this.getHoverBBox(null,math,{}); + HTML.addElement(span,"span",{ + style:{display:"inline-block", width:0, height:0, position:"relative"} + },[["span",{isMathJax: true, className: "MathJax_MathPlayer_Overlay", + style:{ + display:"inline-block", position:"absolute", + left:HOVER.Px(-bbox.w), top:HOVER.Px(-bbox.h-(bbox.y||0)-1), + width:HOVER.Px(bbox.w), height:HOVER.Px(bbox.h+bbox.d), cursor:"pointer", + "background-color":"white", filter:"alpha(opacity=0)" + } + }]]); + HUB.Insert(span,{ + msieMath: math, + onmousedown: this.MSIEevent, oncontextmenu: this.MSIEevent, onclick: this.MSIEevent, + onmouseup: this.MSIEevent, onmousemove: this.MSIEevent, ondblclick: this.MSIEevent, + onmouseover: this.MSIEevent, onmouseout: this.MSIEevent + }); + }, + MSIEevents: { + mousedown:"Mousedown", contextmenu:"ContextMenu", click:"Click", + mouseup:"Mouseup", mousemove:"Mousemove", dblclick: "DblClick", + mouseover:"Mouseover", mouseout:"Mouseout" + }, + MSIEevent: function () { + var event = window.event; + var type = nMML.MSIEevents[event.type]; + if (nMML[type] && nMML[type](event,this) === false) {return false} + if (ZOOM && ZOOM.HandleEvent(event,type,this) === false) {return false} + if (event.srcElement.className === "MathJax_MathPlayer_Overlay" && this.msieMath.fireEvent) { + // + // For now, ignore all other events. This will disable MathPlayer's zoom + // feature, but also its support. + // + if (type === "ContextMenu" || type === "Mouseover" || type === "Mouseout") + {this.msieMath.fireEvent("on"+event.type,event)} + } + return EVENT.False(event); + }, + MSIEaltMenu: function () { + var container = this.parentNode.parentNode; + while (!container.jaxID) {container = container.parentNode} + EVENT.AltContextMenu(window.event,container); + }, + + MSIE9events: { + contextmenu:"Menu", click:"Click", dblclick: "DblClick", + mouseup:"False", mouseover:"Mouseover", mouseout:"Mouseout" + }, + MSIE9event: function (event) { + if (event.type === "contextmenu" && nMML.settings.mpContext) {return true} + if (event.type === "mouseup" && nMML.settings.mpMouse) {return true} + if (event.type === "click" && nMML.settings.mpContext) + {return EVENT.AltContextMenu(event,this)} + var type = nMML.MSIE9events[event.type]; + return EVENT[type].call(this,event); + }, + + getJaxFromMath: function (math) { + math = math.parentNode; + do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); + return HUB.getJaxFor(math); + }, + getHoverSpan: function (jax,math) {return math.firstChild}, + getHoverBBox: function (jax,span,math) {return EVENT.getBBox(span.parentNode)}, + + Zoom: function (jax,span,math,Mw,Mh) { + jax.root.toNativeMML(span); + if (this.msieIE8HeightBug) {span.style.position = "absolute"} + if (nMML.widthBug) {span.style.width = span.parentNode.style.width = ""} + if (span.parentNode.style.width.match(/%$/)) + {span.parentNode.style.minWidth = Math.ceil(3*Mh/4)+"px"} // for full-width tables + var mW = math.offsetWidth || math.scrollWidth, + mH = math.offsetHeight || math.scrollHeight; + var zW = span.offsetWidth, zH = span.offsetHeight; + if (nMML.widthBug || span.style.width.match(/%/)) { + // + // FF doesn't get width of right, so get it from + // + var W = span.firstChild.firstChild.scrollWidth; + if (W > zW) {zW = W; span.parentNode.style.width = span.style.minWidth = zW + "px";} + } + if (this.msieIE8HeightBug) {span.style.position = ""} + return {Y:-EVENT.getBBox(span.parentNode).h, mW:mW, mH:mH, zW:zW, zH:zH} + }, + + NAMEDSPACE: { + negativeveryverythinmathspace: "-.0556em", + negativeverythinmathspace: "-.1111em", + negativethinmathspace: "-.1667em", + negativemediummathspace: "-.2222em", + negativethickmathspace: "-.2778em", + negativeverythickmathspace: "-.3333em", + negativeveryverythickmathspace: "-.3889em", + veryverythinmathspace: ".0556em", + verythinmathspace: ".1111em", + thinmathspace: ".1667em", + mediummathspace: ".2222em", + thickmathspace: ".2778em", + verythickmathspace: ".3333em", + veryverythickmathspace: ".3889em" + } + }); + + HUB.Register.StartupHook("mml Jax Ready",function () { + + MML = MathJax.ElementJax.mml; + + MML.mbase.Augment({ + // + // Add a MathML tag of the correct type, and set its attributes + // then populate it with its children and append it to the parent + // + toNativeMML: function (parent) { + var tag = this.NativeMMLelement(this.type); + this.NativeMMLattributes(tag); + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + parent.appendChild(tag); + }, + // + // Look for attributes that are different from the defaults + // and set those in the tag's attribute list + // + NativeMMLattributes: function (tag) { + var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); + var names = (this.attrNames||MML.copyAttributeNames), + skip = MML.skipAttributes, copy = MML.copyAttributes; + if (!this.attrNames) { + for (var id in defaults) {if (!skip[id] && !copy[id] && defaults.hasOwnProperty(id)) { + if (this[id] != null && this[id] !== defaults[id]) { + if (this.Get(id,null,1) !== this[id]) + tag.setAttribute(id,this.NativeMMLattribute(this[id])); + } + }} + } + for (var i = 0, m = names.length; i < m; i++) { + if (copy[names[i]] === 1 && !defaults.hasOwnProperty(names[i])) continue; + var value = (this.attr||{})[names[i]]; if (value == null) {value = this[names[i]]} + if (value != null) {tag.setAttribute(names[i],this.NativeMMLattribute(value))} + } + this.NativeMMLclass(tag); + }, + NativeMMLclass: function (tag) { + var CLASS = []; if (this["class"]) {CLASS.push(this["class"])} + if (this.isa(MML.TeXAtom)) { + var TEXCLASS = ["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"][this.texClass]; + if (TEXCLASS) { + CLASS.push("MJX-TeXAtom-"+TEXCLASS) + if (TEXCLASS === "OP" && !this.movablelimits) CLASS.push("MJX-fixedlimits"); + } + } + if (this.mathvariant && this.NativeMMLvariants[this.mathvariant]) + {CLASS.push("MJX"+this.mathvariant)} + if (this.variantForm) {CLASS.push("MJX-variant")} + if (CLASS.length) {tag.setAttribute("class",CLASS.join(" "))} + }, + NativeMMLattribute: function (value) { + value = String(value); + if (nMML.NAMEDSPACE[value]) {value = nMML.NAMEDSPACE[value]} // MP doesn't do negative spaces + else if (value.match(/^\s*(([-+])?(\d+(\.\d*)?|\.\d+))\s*mu\s*$/)) + {value = (RegExp.$2||"")+((1/18)*RegExp.$3).toFixed(3).replace(/\.?0+$/,"")+"em"} // FIXME: should take scriptlevel into account + else if (this.NativeMMLvariants[value]) {value = this.NativeMMLvariants[value]} + return value; + }, + NativeMMLvariants: { + "-tex-caligraphic": MML.VARIANT.SCRIPT, + "-tex-caligraphic-bold": MML.VARIANT.BOLDSCRIPT, + "-tex-oldstyle": MML.VARIANT.NORMAL, + "-tex-oldstyle-bold": MML.VARIANT.BOLD, + "-tex-mathit": MML.VARIANT.ITALIC + }, + // + // Create a MathML element + // + NativeMMLelement: function (type) { + var math = ( HUB.Browser.mpNamespace ? document.createElement("m:"+type) : + (document.createElementNS ? document.createElementNS(nMML.MMLnamespace,type) : + document.createElement(type))); + math.isMathJax = true; + return math; + } + }); + + MML.mrow.Augment({ + // + // Make inferred rows not include an mrow tag + // + toNativeMML: function (parent) { + var i, m; + if (this.inferred && this.parent.inferRow) { + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(parent)} + else {parent.appendChild(this.NativeMMLelement("mrow"))} + } + } else if (nMML.stretchyMoBug && (this.open || this.close)) { + // + // This element contains opening and/or closing fences. Opera is not + // able to stretch operators, so let's use an element + // instead. + // + var mfenced = this.NativeMMLelement("mfenced"); + this.NativeMMLattributes(mfenced); + i = 0, m = this.data.length; + if (this.open) { mfenced.setAttribute("open", this.open); i++; } + if (this.close) { mfenced.setAttribute("close", this.close); m--; } + var tag = mfenced; + if (m - i + 1 > 1) { + // + // If there are several children, put them in an + // + tag = this.NativeMMLelement("mrow"); + parent.appendChild(mfenced); + parent = mfenced; + } + for (; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + parent.appendChild(tag); + } else { + this.SUPER(arguments).toNativeMML.call(this,parent); + } + } + }); + + MML.msubsup.Augment({ + // + // Use proper version of msub, msup, or msubsup, depending on + // which items are present + // + toNativeMML: function (parent) { + var type = this.type; + if (this.data[this.sup] == null) {type = "msub"} + if (this.data[this.sub] == null) {type = "msup"} + var tag = this.NativeMMLelement(type); + this.NativeMMLattributes(tag); + if (this.data[0]) {delete this.data[0].inferred} + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].toNativeMML(tag)}} + parent.appendChild(tag); + } + }); + + MML.munderover.Augment({ + // + // Use proper version of munder, mover, or munderover, depending on + // which items are present. Handle movablelimits on TeXAtom base. + // + toNativeMML: function (parent) { + var type = this.type; + var base = this.data[this.base]; + if (base && base.isa(MML.TeXAtom) && base.movablelimits && !base.Get("displaystyle")) { + type = "msubsup"; + if (this.data[this.under] == null) {type = "msup"} + if (this.data[this.over] == null) {type = "msub"} + } else { + if (this.data[this.under] == null) {type = "mover"} + if (this.data[this.over] == null) {type = "munder"} + } + var tag = this.NativeMMLelement(type); + this.NativeMMLattributes(tag); + if (this.data[0]) {delete this.data[0].inferred} + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].toNativeMML(tag)}} + parent.appendChild(tag); + } + }); + + if (!isMSIE) { + var SPLIT = HUB.SplitList; + MML.mtable.Augment({ + toNativeMML: function (parent) { + var i, m; + if (nMML.tableSpacingBug) { + // + // Parse the rowspacing/columnspacing. For convenience, we convert + // them to a left/top padding value that will be applied to each + // cell. The leftmost/topmost cells will use "0px". + // + var values = this.getValues("rowspacing", "columnspacing"); + this.nMMLtopPadding = SPLIT("0px "+values.rowspacing); + this.nMMLleftPadding = SPLIT("0px "+values.columnspacing); + // + // Transmit the top padding to each row. + // If this.parent.nMML.topPadding does not contain enough value, + // repeat the last one. + // + var tp = this.nMMLtopPadding, M = tp.length; + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) + {this.data[i].nMMLtopPadding = tp[i < M ? i : M-1]} + } + } + if (nMML.tableLabelBug) { + // + // Look for labeled rows so we know how to handle them + // + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] && this.data[i].isa(MML.mlabeledtr)) { + var align = HUB.config.displayAlign.charAt(0), + side = this.Get("side").charAt(0); + this.nMMLhasLabels = true; + this.nMMLlaMatch = (align === side); + this.nMMLforceWidth = + (align === "c" || !!((this.width||"").match("%"))); + break; + } + } + } + // + // Firefox < 13 doesn't handle width, so put it in styles instead + // + if (this.width && this.ffTableWidthBug) { + var styles = (this.style||"").replace(/;\s*$/,"").split(";"); + if (styles[0] === "") {styles.shift()} + styles.push("width:"+this.width); + this.style = styles.join(";"); + } + this.SUPER(arguments).toNativeMML.call(this,parent); + // + if (this.nMMLhasLabels) { + var mtable = parent.firstChild; + // + // Add column attributes on the left when extra columns where inserted + // + if (this.nMMLforceWidth || side !== "r") { + var n = (align !== "l" ? 1 : 0) + (side === "l" ? 1 : 0); + if (n) { + var attr = {columnalign:"left", columnwidth:"auto", + columnspacing:"0px", columnlines:"none"}; + for (var id in attr) {if (attr.hasOwnProperty(id) && this[id]) { + var cols = [attr[id],attr[id]].slice(2-n).join(" ")+" "; + mtable.setAttribute(id,cols+mtable.getAttribute(id)); + }} + } + } + // + // Force the table width to 100% when needed + // + if (this.nMMLforceWidth || !this.nMMLlaMatch) + {mtable.setAttribute("width","100%")} + } + } + }); + MML.mtr.Augment({ + toNativeMML: function (parent) { + this.SUPER(arguments).toNativeMML.call(this,parent); + var mtr = parent.lastChild; + if (nMML.tableSpacingBug) { + // + // Set the row/column spacing. If this.parent.nMMLleftPadding does + // not contain enough value, repeat the last one. + // + var lp = this.parent.nMMLleftPadding, M = lp.length; + for (var mtd = mtr.firstChild, i = 0; mtd; mtd = mtd.nextSibling, i++) { + CELLSPACING(mtd,this.nMMLtopPadding,lp[i < M ? i : M-1]); + } + } + + if (nMML.tableLabelBug) { + var forceWidth = this.parent.nMMLforceWidth, + side = this.parent.Get("side").charAt(0), + align = HUB.config.displayAlign.charAt(0); + + if (this.parent.nMMLhasLabels && mtr.firstChild) { + // + // If we add a label or padding column on the left of mlabeledtr, + // mirror that here and remove padding from first table mtd + // so the spacing is consistent with unlabeled equations + // + if (forceWidth || side !== "r") { + NOPADDING("Left",mtr.firstChild); + if (align !== "l") { + mtr.insertBefore(this.NativeMMLelement("mtd"),mtr.firstChild) + .setAttribute("style","padding:0"); + } + if (side === "l") { + mtr.insertBefore(this.NativeMMLelement("mtd"),mtr.firstChild) + .setAttribute("style","padding:0"); + } + } + // + // If columns were added on the right, remove mtd padding + // so that spacing is consistent with unlabled equations + // + if (forceWidth || side !== "l") {NOPADDING("Right",mtr.lastChild)} + } + } + } + }); + MML.mlabeledtr.Augment({ + toNativeMML: function (parent) { + var mtr = this.NativeMMLelement("mtr"); + this.NativeMMLattributes(mtr); + // + // Add row data + // + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(mtr)} + else {mtr.appendChild(this.NativeMMLelement("mtd"))} + } + + if (nMML.tableSpacingBug) { + // + // Set the row/column spacing. If this.parent.nMMLleftPadding does + // not contain enough value, repeat the last one. + // + var lp = this.parent.nMMLleftPadding, M = lp.length; i = 0; + for (var mtd = mtr.firstChild; mtd; mtd = mtd.nextSibling, i++) { + CELLSPACING(mtd,this.nMMLtopPadding,lp[i < M ? i : M-1]); + } + } + + if (nMML.tableLabelBug && this.data[0]) { + var side = this.parent.Get("side").charAt(0), + align = HUB.config.displayAlign.charAt(0), + indent = HUB.config.displayIndent; + // + // Create label and either set the column width (if label is on the + // same side as the alignment), or use mpadded to hide the label + // width + // + this.data[0].toNativeMML(mtr); + var label = mtr.lastChild, pad = label; + if (side === align) { + label.setAttribute("style","width:"+indent); + label.setAttribute("columnalign",HUB.config.displayAlign); + } else { + pad = this.NativeMMLelement("mpadded"); + pad.setAttribute("style","width:0"); + pad.setAttribute("width","0px"); + pad.appendChild(label.firstChild); + label.appendChild(pad); + } + NOPADDING("",label); mtr.removeChild(label); + // + // Get spacing to use for separation of label from main table + // + var width = 100, forceWidth = this.parent.nMMLforceWidth; + if ((this.parent.width||"").match(/%/)) { + width -= parseFloat(this.parent.width) + }; + var w = width; + // + // Add spacing (and possibly label) at the left if needed + // + if (forceWidth || side !== "r") { + NOPADDING("Left",mtr.firstChild); + if (align !== "l") { + if (align === "c") {w /= 2}; width -= w; + mtr.insertBefore(this.NativeMMLelement("mtd"),mtr.firstChild) + .setAttribute("style","padding:0;width:"+w+"%"); + } + if (side === "l") {mtr.insertBefore(label,mtr.firstChild)} + } + // + // Add spacing (and possibly label) at the right if needed + // + if (forceWidth || side !== "l") { + NOPADDING("Right",mtr.lastChild); + if (align !== "r") { + mtr.appendChild(this.NativeMMLelement("mtd")) + .setAttribute("style","padding:0;width:"+width+"%"); + } + if (side === "r") { + if (side !== align) {pad.setAttribute("lspace","-1width")} + mtr.appendChild(label); + } + } + } + // + // Add row to table + // + parent.appendChild(mtr); + } + }); + + MML.mtd.Augment({ + toNativeMML: function (parent) { + var tag = parent.appendChild(this.NativeMMLelement(this.type)); + this.NativeMMLattributes(tag); + if (nMML.mtdWidthBug) { + nMML.adjustWidths.push(tag); + tag = tag.appendChild(this.NativeMMLelement("mrow")); + } + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + } + }); + + MML.mspace.Augment({ + toNativeMML: function (parent) { + this.SUPER(arguments).toNativeMML.call(this,parent); + if (nMML.spaceWidthBug && this.width) { + var mspace = parent.lastChild; + var width = mspace.getAttribute("width"); + var style = (mspace.getAttribute("style") || "").replace(/;?\s*/,"; "); + mspace.setAttribute("style",style+"width:"+width); + } + } + }); + + MML.mn.Augment({ + NativeMMLremapMinus: function (text) {return text.replace(/^-/,"\u2212")}, + toNativeMML: function (parent) { + var tag = this.NativeMMLelement(this.type); + this.NativeMMLattributes(tag); + var remap = this.NativeMMLremapMinus; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) { + this.data[i].toNativeMML(tag,remap); + remap = null; + } + } + parent.appendChild(tag); + } + }); + + var fontDir = AJAX.fileURL(MathJax.OutputJax.fontDir+"/HTML-CSS/TeX/otf"); + + /* + * Add fix for mathvariant issues + */ + nMML.Augment({ + config: { + styles: { + '[class="MJX-tex-oldstyle"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB"}, + '[class="MJX-tex-oldstyle-bold"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB", "font-weight":"bold"}, + '[class="MJX-tex-caligraphic"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB"}, + '[class="MJX-tex-caligraphic-bold"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB", "font-weight":"bold"}, + + '@font-face /*1*/': { + "font-family": "MathJax_Caligraphic-WEB", + "src": "url('"+fontDir+"/MathJax_Caligraphic-Regular.otf')" + }, + '@font-face /*2*/': { + "font-family": "MathJax_Caligraphic-WEB", "font-weight":"bold", + "src": "url('"+fontDir+"/MathJax_Caligraphic-Bold.otf')" + } + } + } + }); + if (!this.handlesVariants) { + nMML.Augment({ + config: { + styles: { + '[mathvariant="double-struck"]': {"font-family":"MathJax_AMS, MathJax_AMS-WEB"}, + '[mathvariant="script"]': {"font-family":"MathJax_Script, MathJax_Script-WEB"}, + '[mathvariant="fraktur"]': {"font-family":"MathJax_Fraktur, MathJax_Fraktur-WEB"}, + '[mathvariant="bold-script"]': {"font-family":"MathJax_Script, MathJax_Caligraphic-WEB", "font-weight":"bold"}, + '[mathvariant="bold-fraktur"]': {"font-family":"MathJax_Fraktur, MathJax_Fraktur-WEB", "font-weight":"bold"}, + '[mathvariant="monospace"]': {"font-family":"monospace"}, + '[mathvariant="sans-serif"]': {"font-family":"sans-serif"}, + '[mathvariant="bold-sans-serif"]': {"font-family":"sans-serif", "font-weight":"bold"}, + '[mathvariant="sans-serif-italic"]': {"font-family":"sans-serif", "font-style":"italic"}, + '[mathvariant="sans-serif-bold-italic"]': {"font-family":"sans-serif", "font-style":"italic", "font-weight":"bold"}, + + '@font-face /*3*/': { + "font-family": "MathJax_AMS-WEB", + "src": "url('"+fontDir+"/MathJax_AMS-Regular.otf')" + }, + '@font-face /*4*/': { + "font-family": "MathJax_Script-WEB", + "src": "url('"+fontDir+"/MathJax_Script-Regular.otf')" + }, + '@font-face /*5*/': { + "font-family": "MathJax_Fraktur-WEB", + "src": "url('"+fontDir+"/MathJax_Fraktur-Regular.otf')" + }, + '@font-face /*6*/': { + "font-family": "MathJax_Fraktur-WEB", "font-weight":"bold", + "src": "url('"+fontDir+"/MathJax_Fraktur-Bold.otf')" + } + } + } + }); + } + } + + MML.math.Augment({ + toNativeMML: function (parent,jax) { + var tag = this.NativeMMLelement(this.type), math = tag; + var annotate = (jax ? MathJax.InputJax[jax.inputJax].annotationEncoding : null); + var i, m; + nMML.adjustWidths = []; + // + // Some browsers don't seem to add the xmlns attribute, so do it by hand. + // + tag.setAttribute("xmlns",nMML.MMLnamespace); + this.NativeMMLattributes(tag); + // + // Use an extra in FF so that we can get the correct width + // (the math element doesn't always have an accurate one, see below) + // + if (nMML.widthBug) {tag = tag.appendChild(this.NativeMMLelement("mrow"))} + // + // Addannotation if the input jax provides an annotation encoding + // + if (annotate) { + tag = tag.appendChild(this.NativeMMLelement("semantics")) + tag.appendChild(this.NativeMMLelement("mrow")); + var annotation = tag.appendChild(this.NativeMMLelement("annotation")); + annotation.appendChild(document.createTextNode(jax.originalText)); + annotation.setAttribute("encoding",annotate); + tag = tag.firstChild; // mrow + } + // + // Add the children + // + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + // + // Look for a top-level mtable and if it has labels + // Make sure the containers have 100% width, when needed. + // If the label is on the same side as alignment, + // override the margin set by the stylesheet. + // + var mtable = ((this.data[0]||{data:[]}).data[0]||{}); + if (mtable.nMMLhasLabels) { + if (mtable.nMMLforceWidth || !mtable.nMMLlaMatch) { + tag.setAttribute("style","width:100%") // mrow node + if (annotate) tag.parentNode.setAttribute("style","width:100%"); // semantics node + }; + if (mtable.nMMLlaMatch) { + if (parent.parentNode.parentNode.nodeName.toLowerCase() === "div") { + parent.parentNode.parentNode.style + .setProperty("margin-"+HUB.config.displayAlign,"0px","important"); + } + } + } + // + // Check if container must have width set to 100% + // + var fullWidth = nMML.isFullWidth(math); + if (fullWidth) {parent.style.width = parent.parentNode.style.width = "100%"} + // + // Add the math to the page + // + parent.appendChild(math); + // + // Firefox can't seem to get the width of elements right, so + // use an to get the actual width and set the style on the + // parent element to match. Even if we set the width properly, + // it doesn't seem to propagate up to the correctly. + // + if (nMML.widthBug &&!fullWidth) { + // + // Convert size to ex's so that it scales properly if the print media + // has a different font size. + // + parent.style.width = (math.firstChild.scrollWidth/nMML.ex/nMML.scale).toFixed(3) + "ex"; + // + // Save size for later when we check if Web fonts have arrived + // + if (jax) {jax.NativeMML.scrollWidth = math.firstChild.scrollWidth} + } + if (nMML.adjustWidths.length) { + // + // Firefox gets the widths of elements wrong, so run + // through them (now that the math is part of the page) and + // fix them up. Use ex's so that they print properly (see above). + // + var mtd = []; + for (i = 0, m = nMML.adjustWidths.length; i < m; i++) { + tag = nMML.adjustWidths[i]; + var style = tag.getAttribute("style") || ""; + if (!style.match(/(^|;)\s*min-width:/)) { + var width = tag.firstChild.scrollWidth; + mtd.push(width); + width = (width/nMML.ex).toFixed(3)+"ex"; + style = style.replace(/;?\s*$/,"; "); + tag.setAttribute("style",style+"min-width:"+width); + } + } + // + // Save the lists so that we can check them later for web font downloads + // + if (!jax) {jax = HUB.getJaxFor(parent)} + if (jax) {jax.NativeMML.mtds = mtd} + math.MathJaxMtds = nMML.adjustWidths; + nMML.adjustWidths = []; // clear it so we don't hold onto the DOM elements + } + } + }); + + MML.mfenced.Augment({ + toNativeMML: function (parent) { + if (!nMML.mfencedBug) { + this.SUPER(arguments).toNativeMML.call(this,parent); + return; + } + + // + // Some browsers do not handle very well. The MathML spec + // suggests this equivalent construction instead, so let's use it: + // open, child1, sep1, child2, ... sep(N-1), childN, close + // Opera is a bit special: it does not support stretchy , does not + // parse mfenced@open/mfenced@close very well, does not support + // mfenced@separators and only displays the first child of the + // element... For this browser, we will use this construction: + // + // child1, sep1, child2, sep2, ..., sep(N-1), childN + // + // + var isOpera = HUB.Browser.isOpera; + var i, m, operator; + + // + // parse the open, close and separators attributes. + // + var values = this.getValues("open","close","separators"); + values.open = values.open.replace(/^\s+/,"").replace(/\s+$/,""); + values.close = values.close.replace(/^\s+/,"").replace(/\s+$/,""); + values.separators = values.separators.replace(/\s+/g,"").split(""); + if (values.separators.length == 0) { + // + // No separators specified, do not use separators at all. + // + values.separators = null; + } else if (values.separators.length < this.data.length-1) { + // + // There are not enough separators, repeat the last one. + // + var s = values.separators[values.separators.length-1]; + for (i = this.data.length-1-values.separators.length; i > 0; i--) + {values.separators.push(s)} + } + + // + // Create an container and attach the attributes of the + // element to it. Note: removeAttribute does not raise any + // exception when the attributes is absent. + // + var tag = this.NativeMMLelement(isOpera ? this.type : "mrow"); + this.NativeMMLattributes(tag); + tag.removeAttribute("separators"); + if (isOpera) { + tag.setAttribute("open", values.open); + tag.setAttribute("close", values.close); + if (this.data.length > 1) { + parent.appendChild(tag); parent = tag; + tag = this.NativeMMLelement("mrow"); + } + } else { + tag.removeAttribute("open"); + tag.removeAttribute("close"); + } + + if (!isOpera) { + // + // Append the opening fence + // + operator = this.NativeMMLelement("mo"); + operator.setAttribute("fence", "true"); + operator.textContent = values.open; + tag.appendChild(operator); + } + + // + // Append the content of the + // + for (i = 0, m = this.data.length; i < m; i++) { + if (values.separators && i > 0) { + operator = this.NativeMMLelement("mo"); + operator.setAttribute("separator", "true"); + operator.textContent = values.separators[i-1]; + tag.appendChild(operator); + } + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + + if (!isOpera) { + // + // Append the closing fence + // + operator = this.NativeMMLelement("mo"); + operator.setAttribute("fence", "true"); + operator.textContent = values.close; + tag.appendChild(operator); + } + + // finally, append the new element to the parent. + parent.appendChild(tag); + } + }); + + MML.TeXAtom.Augment({ + // + // Convert TeXatom to an mrow + // + toNativeMML: function (parent) { + // FIXME: Handle spacing using mpadded? + var tag = this.NativeMMLelement("mrow"); + this.NativeMMLattributes(tag); + this.data[0].toNativeMML(tag); + parent.appendChild(tag); + } + }); + + MML.chars.Augment({ + // + // Add a text node + // + toNativeMML: function (parent,remap) { + var text = this.toString(); + if (remap) text = remap(text); + parent.appendChild(document.createTextNode(text)); + } + }); + + MML.entity.Augment({ + // + // Add a text node + // + toNativeMML: function (parent) { + parent.appendChild(document.createTextNode(this.toString())); + } + }); + + MML.xml.Augment({ + // + // Insert the XML verbatim + // + toNativeMML: function (parent) { + for (var i = 0, m = this.data.length; i < m; i++) + {parent.appendChild(this.data[i].cloneNode(true))} + } + }); + + MML.mi.Augment({ + toNativeMML: function (parent) { + this.SUPER(arguments).toNativeMML.call(this,parent); + if (nMML.miItalicBug) { + if (this.Get("mathvariant") === MML.VARIANT.NORMAL) { + // + // When not explicitly specified, mathvariant is set to "italic" + // with single char mi and to "normal" with multiple char mi. + // Some browsers always set the default to "italic", so let's + // attach an explicit mathvariant="normal" attribute. + // + var mi = parent.lastChild; + mi.setAttribute("mathvariant",MML.VARIANT.NORMAL); + } + } + } + }); + + MML.mo.Augment({ + toNativeMML: function (parent) { + this.SUPER(arguments).toNativeMML.call(this,parent); + if (nMML.webkitMoSpacingBug) { + // + // WebKit does not support lspace/rspace values around operators + // (neither explicit nor given by the operator dictionary) and uses + // constant values instead. So let's modify the CSS properties here. + // + + var lspace = 0, rspace = 0, p = this.parent; + if (p && p.type === "mrow" && (p.inferred || !p.isEmbellished())) { + // + // Retrieve the values of lspace/rspace and convert named spaces. + // Other values (except unitless) will be parsed by the CSS engine. + // + var values = this.getValues("lspace", "rspace"); + lspace = values.lspace, rspace = values.rspace; + if (nMML.NAMEDSPACE[lspace]) {lspace = nMML.NAMEDSPACE[lspace]} + if (nMML.NAMEDSPACE[rspace]) {rspace = nMML.NAMEDSPACE[rspace]} + } + + // + // Now update -webkit-margin-start and -webkit-margin-end. + // + var mo = parent.lastChild; + var span = HTML.Element("span"); + span.style.cssText = (mo.getAttribute("style")||""); + span.style.setProperty("-webkit-margin-start", lspace); + span.style.setProperty("-webkit-margin-end", rspace); + mo.setAttribute("style",span.style.cssText); + } + } + }); + + MML.mmultiscripts.Augment({ + toNativeMML: function (parent) { + // + // Some browsers do not implement the mmultiscripts element. + // Try to emulate the support using basic script elements. + // + if (!nMML.mmultiscriptsBug || this.data.length === 0) { + this.SUPER(arguments).toNativeMML.call(this,parent); + return; + } + + // + // The children of the mmultiscripts will be wrapped in an mrow so that + // attributes and properties set on the original mmultiscripts will + // be reflected on this mrow element. + // + var tag = this.NativeMMLelement("mrow"); + this.NativeMMLattributes(tag); + + // + // Create the base + // + if (this.data[0]) {this.data[0].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + var base = tag.removeChild(tag.lastChild); + + // + // Process the postscript pairs + // + var m = this.data.length, i, msubsup; + for (i = 1; i < m; i+=2) { + if (this.data[i].type === "mprescripts") break; + + msubsup = this.NativeMMLelement("msubsup"); + msubsup.appendChild(base); + + // + // append the subscript + // + if (this.data[i]) {this.data[i].toNativeMML(msubsup)} + else {msubsup.appendChild(this.NativeMMLelement("mrow"))} + + // + // append the supscript + // + if (i+1 < m && this.data[i+1]) {this.data[i+1].toNativeMML(msubsup)} + else {msubsup.appendChild(this.NativeMMLelement("mrow"))} + + base = msubsup; + } + + tag.appendChild(base); + + // + // Process the prescript pairs + // + for (i++; i < m; i+=2) { + msubsup = this.NativeMMLelement("msubsup"); + msubsup.appendChild(this.NativeMMLelement("mrow")); + + // + // append the presubscript + // + if (this.data[i]) {this.data[i].toNativeMML(msubsup)} + else {msubsup.appendChild(this.NativeMMLelement("mrow"))} + + // + // append the presupscript + // + if (i+1 < m && this.data[i+1]) {this.data[i+1].toNativeMML(msubsup)} + else {msubsup.appendChild(this.NativeMMLelement("mrow"))} + + tag.insertBefore(msubsup, base); + } + + parent.appendChild(tag); + } + }); + + HUB.Register.StartupHook("TeX mathchoice Ready",function () { + MML.TeXmathchoice.Augment({ + // + // Get the MathML for the selected choice + // + toNativeMML: function (parent) {this.Core().toNativeMML(parent)} + }); + }); + + // + // Loading isn't complete until the element jax is modified, + // but can't call loadComplete within the callback for "mml Jax Ready" + // (it would call NativeMML's Require routine, asking for the mml jax again) + // so wait until after the mml jax has finished processing. + // + setTimeout(MathJax.Callback(["loadComplete",nMML,"jax.js"]),0); + }); + + + // + // Determine browser characteristics + // + HUB.Browser.Select({ + MSIE: function (browser) { + var mode = (document.documentMode || 0); + nMML.msieIE8HeightBug = (mode === 8); + }, + Opera: function (browser) { + nMML.stretchyMoBug = true; + nMML.tableLabelBug = true; + nMML.mfencedBug = true; + nMML.miBug = true; + nMML.mmultiscriptsBug = true; + }, + Firefox: function (browser) { + var is29 = browser.versionAtLeast("29.0"); + nMML.ffTableWidthBug = !browser.versionAtLeast("13.0"); // not implemented + nMML.forceReflow = !is29; // with alignments set don't display properly without a reflow + nMML.widthBug = !is29; // elements don't always get the correct width + nMML.mtdWidthBug = true; // widths not properly determined + nMML.handlesVariants = is29; // FF >=29 handles all math variants + + // In Firefox < 20, the intrinsic width of is not computed + // correctly and thus the element is displayed incorrectly in . + nMML.spaceWidthBug = !browser.versionAtLeast("20.0"); + + // mtable@rowspacing/mtable@columnspacing not supported. + nMML.tableSpacingBug = !browser.versionAtLeast("33.0"); + nMML.tableLabelBug = true; // mlabeledtr is not implemented. + nMML.mfencedBug = true; // mfenced not displayed correctly + }, + Chrome: function (browser) { + nMML.tableSpacingBug = true; + nMML.tableLabelBug = true; + nMML.mfencedBug = true; + }, + Safari: function (browser) { + nMML.tableSpacingBug = true; + nMML.tableLabelBug = true; + nMML.mfencedBug = true; + nMML.miItalicBug = true; + nMML.webkitMoSpacingBug = true; + nMML.spaceWidthBug = true; + nMML.mmultiscriptsBug = true; + } + }); + + + HUB.Register.StartupHook("End Cookie",function () { + if (HUB.config.menuSettings.zoom !== "None") + {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }); + +})(MathJax.OutputJax.NativeMML, MathJax.Hub, MathJax.Ajax, MathJax.HTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/config.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/config.js new file mode 100644 index 00000000..89843304 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/config.js @@ -0,0 +1,49 @@ +/************************************************************* + * + * MathJax/jax/output/PlainSource/config.js + * + * Initializes the PlainSource OutputJax (the main definition is in + * MathJax/jax/input/PlainSource/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.OutputJax.PlainSource = MathJax.OutputJax({ + id: "PlainSource", + version: "2.7.5", + directory: MathJax.OutputJax.directory + "/PlainSource", + extensionDir: MathJax.OutputJax.extensionDir + "/PlainSource", + + config: { + styles: { + ".MathJax_PlainSource_Display": { + "text-align": "center", + margin: ".75em 0px", + "white-space":"pre" + }, + ".MathJax_PlainSource_Display > span": { + display: "inline-block", + "text-align": "left" + } + } + } +}); + +if (!MathJax.Hub.config.delayJaxRegistration) + MathJax.OutputJax.PlainSource.Register("jax/mml"); + +MathJax.OutputJax.PlainSource.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/jax.js new file mode 100644 index 00000000..5875036d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/jax.js @@ -0,0 +1,184 @@ +/************************************************************* + * + * MathJax/jax/output/PlainSource/jax.js + * + * Implements the PlainSource OutputJax that displays whatever + * source there was, for assistive technology users who prefer this. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + + +(function(AJAX, HUB, HTML, PlainSource) { + + var EVENT, TOUCH, HOVER; // filled in later + + PlainSource.Augment({ + settings: HUB.config.menuSettings, + + Config: function() { + if (!this.require) this.require = []; + this.SUPER(arguments).Config.call(this); + this.require.push(MathJax.OutputJax.extensionDir + "/MathEvents.js"); + }, + + Startup: function() { + // + // Set up event handling + // + EVENT = MathJax.Extension.MathEvents.Event; + TOUCH = MathJax.Extension.MathEvents.Touch; + HOVER = MathJax.Extension.MathEvents.Hover; + this.ContextMenu = EVENT.ContextMenu; + this.Mousedown = EVENT.AltContextMenu; + this.Mouseover = HOVER.Mouseover; + this.Mouseout = HOVER.Mouseout; + this.Mousemove = HOVER.Mousemove; + return AJAX.Styles(this.config.styles); + }, + + preTranslate: function(state) { + var scripts = state.jax[this.id], + i, m = scripts.length, + script, prev, span, div, jax; + // + // Loop through the scripts + // + for (i = 0; i < m; i++) { + script = scripts[i]; + if (!script.parentNode) continue; + // + // Remove any existing output + // + prev = script.previousSibling; + if (prev && String(prev.className).match(/^MathJax(_PlainSource)?(_Display)?( MathJax_Process(ing|ed))?$/)) { + prev.parentNode.removeChild(prev); + } + // + // Add the span, and a div if in display mode + // + jax = script.MathJax.elementJax; + if (!jax) continue; + jax.PlainSource = { + display: (jax.root.Get("display") === "block") + } + span = div = HTML.Element("span", { + className: "MathJax_PlainSource", + id: jax.inputID + "-Frame", + isMathJax: true, + jaxID: this.id, + oncontextmenu: EVENT.Menu, + onmousedown: EVENT.Mousedown, + onmouseover: EVENT.Mouseover, + onmouseout: EVENT.Mouseout, + onmousemove: EVENT.Mousemove, + onclick: EVENT.Click, + ondblclick: EVENT.DblClick, + // Added for keyboard accessible menu. + onkeydown: EVENT.Keydown, + tabIndex: HUB.getTabOrder(jax) + },[["span"]]); + if (HUB.Browser.noContextMenu) { + span.ontouchstart = TOUCH.start; + span.ontouchend = TOUCH.end; + } + if (jax.PlainSource.display) { + div = HTML.Element("div", { + className: "MathJax_PlainSource_Display" + }); + div.appendChild(span); + } + script.parentNode.insertBefore(div, script); + } + }, + + Translate: function(script, state) { + if (!script.parentNode) return; + + // + // Get the data about the math + // + var jax = script.MathJax.elementJax, + math = jax.root, + span = document.getElementById(jax.inputID + "-Frame"); + // + // Typeset the math + // + this.initPlainSource(math, span); + var source = jax.originalText; + if (jax.inputJax === "MathML") { + if ((jax.root.data[0].data.length > 0) && (jax.root.data[0].data[0].type === "semantics")) { + var annotations = jax.root.data[0].data[0].data; + for (var a = 0; a < annotations.length; a++){ + if (annotations[a].attr.encoding === "application/x-tex"){ + source = jax.root.data[0].data[0].data[a].data[0].data[0]; + break; + } + if (annotations[a].attr.encoding === "text/x-asciimath") { + source = jax.root.data[0].data[0].data[a].data[0].data[0]; + } + } + } + } + jax.PlainSource.source = source; + HTML.addText(span.firstChild,source); + }, + + postTranslate: function(state) {}, + + getJaxFromMath: function(math) { + if (math.parentNode.className.match(/MathJax_PlainSource_Display/)) math = math.parentNode; + do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); + return HUB.getJaxFor(math); + }, + + Zoom: function (jax,span,math,Mw,Mh) { + var pad = Math.round(span.parentNode.offsetWidth / 2); + span.style.whiteSpace = "pre"; + HTML.addText(span,jax.PlainSource.source); + var mW = math.offsetWidth, mH = math.offsetHeight, + zW = span.offsetWidth, zH = span.offsetHeight; + var Y = -Math.round((zH+mH)/2) - (jax.PlainSource.display ? 0 : pad); + return {mW:mW, mH:mH, zW:zW, zH:zH, Y:Y}; + }, + + initPlainSource: function(math, span) {}, + + Remove: function(jax) { + var span = document.getElementById(jax.inputID + "-Frame"); + if (span) { + if (jax.PlainSource.display) span = span.parentNode; + span.parentNode.removeChild(span); + } + delete jax.PlainSource; + } + + }); + + MathJax.Hub.Register.StartupHook("mml Jax Ready", function() { + MathJax.Hub.Register.StartupHook("onLoad", function() { + setTimeout(MathJax.Callback(["loadComplete", PlainSource, "jax.js"]), 0); + }); + }); + + MathJax.Hub.Register.StartupHook("End Cookie", function() { + if (HUB.config.menuSettings.zoom !== "None") { + AJAX.Require("[MathJax]/extensions/MathZoom.js") + } + }); + +})(MathJax.Ajax, MathJax.Hub, MathJax.HTML, MathJax.OutputJax.PlainSource); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/config.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/config.js new file mode 100644 index 00000000..508d2c5f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/config.js @@ -0,0 +1,54 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/PreviewHTML/config.js + * + * Initializes the PreviewHTML OutputJax (the main definition is in + * MathJax/jax/input/PreviewHTML/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.OutputJax.PreviewHTML = MathJax.OutputJax({ + id: "PreviewHTML", + version: "2.7.5", + directory: MathJax.OutputJax.directory + "/PreviewHTML", + extensionDir: MathJax.OutputJax.extensionDir + "/PreviewHTML", + noFastPreview: true, // don't do fast preview for this output jax + + config: { + scale: 100, minScaleAdjust: 50, // global math scaling factor, and minimum adjusted scale factor + mtextFontInherit: false, // to make be in page font rather than MathJax font + + linebreaks: { + automatic: false, // when false, only process linebreak="newline", + // when true, insert line breaks automatically in long expressions. + + width: "container" // maximum width of a line for automatic line breaks (e.g. "30em"). + // use "container" to compute size from containing element, + // use "nn% container" for a portion of the container, + // use "nn%" for a portion of the window size + } + + } +}); + +if (!MathJax.Hub.config.delayJaxRegistration) {MathJax.OutputJax.PreviewHTML.Register("jax/mml")} + +MathJax.OutputJax.PreviewHTML.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/jax.js new file mode 100644 index 00000000..36750b5c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/jax.js @@ -0,0 +1,1096 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/PreviewHTML/jax.js + * + * Implements the PreviewHTML OutputJax that displays mathematics + * using HTML to position the characters from math fonts + * in their proper locations. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + + +(function (AJAX,HUB,HTML,PHTML) { + var MML; + + var EVENT, TOUCH, HOVER; // filled in later + + var FONTS = "'Times New Roman',Times,STIXGeneral,serif"; + var STYLES = { + ".MJXp-script": {"font-size":".8em"}, + + ".MJXp-right": { + "-webkit-transform-origin":"right", + "-moz-transform-origin":"right", + "-ms-transform-origin":"right", + "-o-transform-origin":"right", + "transform-origin":"right" + }, + + ".MJXp-bold": {"font-weight":"bold"}, + ".MJXp-italic": {"font-style":"italic"}, + ".MJXp-scr": {"font-family":"MathJax_Script,"+FONTS}, + ".MJXp-frak": {"font-family":"MathJax_Fraktur,"+FONTS}, + ".MJXp-sf": {"font-family":"MathJax_SansSerif,"+FONTS}, + ".MJXp-cal": {"font-family":"MathJax_Caligraphic,"+FONTS}, + ".MJXp-mono": {"font-family":"MathJax_Typewriter,"+FONTS}, + ".MJXp-largeop": {"font-size":"150%"}, + ".MJXp-largeop.MJXp-int": {"vertical-align":"-.2em"}, + + ".MJXp-math": { + "display": "inline-block", + "line-height": "1.2", + "text-indent": "0", + "font-family": FONTS, + "white-space":"nowrap", + "border-collapse":"collapse" + }, + ".MJXp-display": { + "display": "block", + "text-align": "center", + "margin": "1em 0" + }, + ".MJXp-math span": {"display": "inline-block"}, + ".MJXp-box": {"display":"block!important", "text-align": "center"}, + ".MJXp-box:after": {"content": '" "'}, // needed for when there is no DOCTYPE + ".MJXp-rule": {"display":"block!important", "margin-top":".1em"}, + ".MJXp-char": {"display":"block!important"}, + + ".MJXp-mo": {"margin": "0 .15em"}, + + ".MJXp-mfrac": {"margin": "0 .125em", "vertical-align":".25em"}, + ".MJXp-denom": {"display": "inline-table!important", "width":"100%"}, + ".MJXp-denom > *": {"display": "table-row!important"}, + + ".MJXp-surd": {"vertical-align":"top"}, + ".MJXp-surd > *": {"display":"block!important"}, + + ".MJXp-script-box > * ": {"display":"table!important", "height":"50%"}, + ".MJXp-script-box > * > *": {"display":"table-cell!important","vertical-align":"top"}, + ".MJXp-script-box > *:last-child > *": {"vertical-align":"bottom"}, + ".MJXp-script-box > * > * > *": {"display":"block!important"}, + + ".MJXp-mphantom": {"visibility": "hidden"}, + + ".MJXp-munderover, .MJXp-munder": {"display":"inline-table!important"}, + ".MJXp-over": {"display":"inline-block!important","text-align":"center"}, + ".MJXp-over > *": {"display":"block!important"}, + ".MJXp-munderover > *, .MJXp-munder > *": {"display":"table-row!important"}, + + ".MJXp-mtable": {"vertical-align":".25em", "margin":"0 .125em"}, + ".MJXp-mtable > *": {"display":"inline-table!important", "vertical-align":"middle"}, + ".MJXp-mtr": {"display":"table-row!important"}, + ".MJXp-mtd": {"display":"table-cell!important","text-align":"center","padding":".5em 0 0 .5em"}, + ".MJXp-mtr > .MJXp-mtd:first-child": {"padding-left":0}, + ".MJXp-mtr:first-child > .MJXp-mtd": {"padding-top":0}, + ".MJXp-mlabeledtr": {"display":"table-row!important"}, + ".MJXp-mlabeledtr > .MJXp-mtd:first-child": {"padding-left":0}, + ".MJXp-mlabeledtr:first-child > .MJXp-mtd": {"padding-top":0}, + + ".MJXp-merror": { + "background-color": "#FFFF88", + color: "#CC0000", + border: "1px solid #CC0000", + padding: "1px 3px", + "font-style": "normal", + "font-size": "90%" + } + }; + + (function () { + for (var i = 0; i < 10; i++) { + var scale = "scaleX(."+i+")"; + STYLES[".MJXp-scale"+i] = { + "-webkit-transform":scale, + "-moz-transform":scale, + "-ms-transform":scale, + "-o-transform":scale, + "transform":scale + } + } + })(); + + var BIGDIMEN = 1000000; + var V = "V", H = "H"; + + PHTML.Augment({ + settings: HUB.config.menuSettings, + config: {styles: STYLES}, + + hideProcessedMath: false, // use display:none until all math is processed + + maxStretchyParts: 1000, // limit the number of parts allowed for + // stretchy operators. See issue 366. + + Config: function () { + if (!this.require) {this.require = []} + this.SUPER(arguments).Config.call(this); var settings = this.settings; + if (settings.scale) {this.config.scale = settings.scale} + this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); + }, + + Startup: function () { + // + // Set up event handling + // + EVENT = MathJax.Extension.MathEvents.Event; + TOUCH = MathJax.Extension.MathEvents.Touch; + HOVER = MathJax.Extension.MathEvents.Hover; + this.ContextMenu = EVENT.ContextMenu; + this.Mousedown = EVENT.AltContextMenu; + this.Mouseover = HOVER.Mouseover; + this.Mouseout = HOVER.Mouseout; + this.Mousemove = HOVER.Mousemove; + + // + // Determine pixels per inch + // + var div = HTML.addElement(document.body,"div",{style:{width:"5in"}}); + this.pxPerInch = div.offsetWidth/5; div.parentNode.removeChild(div); + + // + // Set up styles and preload web fonts + // + return AJAX.Styles(this.config.styles,["InitializePHTML",this]); + }, + InitializePHTML: function () { + }, + + preTranslate: function (state) { + var scripts = state.jax[this.id], i, m = scripts.length, + script, prev, span, div, jax; + // + // Loop through the scripts + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + // + // Remove any existing output + // + prev = script.previousSibling; + if (prev && String(prev.className).match(/^MathJax(_PHTML)?(_Display)?( MathJax_Process(ing|ed))?$/)) + {prev.parentNode.removeChild(prev)} + // + // Add the span, and a div if in display mode, + // then mark it as being processed + // + jax = script.MathJax.elementJax; if (!jax) continue; + jax.PHTML = {display: (jax.root.Get("display") === "block")} + span = div = HTML.Element("span",{ + className:"MathJax_PHTML", id:jax.inputID+"-Frame", isMathJax:true, jaxID:this.id, + oncontextmenu:EVENT.Menu, onmousedown: EVENT.Mousedown, + onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove, + onclick:EVENT.Click, ondblclick:EVENT.DblClick, + // Added for keyboard accessible menu. + onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax) + }); + if (HUB.Browser.noContextMenu) { + span.ontouchstart = TOUCH.start; + span.ontouchend = TOUCH.end; + } + if (jax.PHTML.display) { + div = HTML.Element("div",{className:"MathJax_PHTML_Display"}); + div.appendChild(span); + } + // + div.className += " MathJax_Processing"; + script.parentNode.insertBefore(div,script); + } + }, + + Translate: function (script,state) { + if (!script.parentNode) return; + + // + // Get the data about the math + // + var jax = script.MathJax.elementJax, math = jax.root, + span = document.getElementById(jax.inputID+"-Frame"), + div = (jax.PHTML.display ? span.parentNode : span); + // + // Typeset the math + // + this.initPHTML(math,span); +// math.setTeXclass(); + try {math.toPreviewHTML(span)} catch (err) { + if (err.restart) {while (span.firstChild) {span.removeChild(span.firstChild)}} + throw err; + } + // + // Put it in place, and remove the processing marker + // + div.className = div.className.split(/ /)[0]; + // + // Check if we are hiding the math until more is processed + // + if (this.hideProcessedMath) { + // + // Hide the math and don't let its preview be removed + // + div.className += " MathJax_Processed"; + if (script.MathJax.preview) { + jax.PHTML.preview = script.MathJax.preview; + delete script.MathJax.preview; + } + } + }, + + postTranslate: function (state) { + var scripts = state.jax[this.id]; + if (!this.hideProcessedMath) return; + for (var i = 0, m = scripts.length; i < m; i++) { + var script = scripts[i]; + if (script && script.MathJax.elementJax) { + // + // Remove the processed marker + // + script.previousSibling.className = script.previousSibling.className.split(/ /)[0]; + var data = script.MathJax.elementJax.PHTML; + // + // Remove the preview, if any + // + if (data.preview) { + data.preview.innerHTML = ""; + script.MathJax.preview = data.preview; + delete data.preview; + } + } + } + }, + + getJaxFromMath: function (math) { + if (math.parentNode.className.match(/MathJax_PHTML_Display/)) {math = math.parentNode} + do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); + return HUB.getJaxFor(math); + }, + getHoverSpan: function (jax,math) {return jax.root.PHTMLspanElement()}, + getHoverBBox: function (jax,span,math) { + var bbox = jax.root.PHTML, em = jax.PHTML.outerEm; + var BBOX = {w:bbox.w*em, h:bbox.h*em, d:bbox.d*em}; + if (bbox.width) {BBOX.width = bbox.width} + return BBOX; + }, + + Zoom: function (jax,span,math,Mw,Mh) { + // + // Re-render at larger size + // + span.className = "MathJax"; + this.idPostfix = "-zoom"; jax.root.toPHTML(span,span); this.idPostfix = ""; + // + // Get height and width of zoomed math and original math + // + span.style.position = "absolute"; + if (!width) {math.style.position = "absolute"} + var zW = span.offsetWidth, zH = span.offsetHeight, + mH = math.offsetHeight, mW = math.offsetWidth; + if (mW === 0) {mW = math.parentNode.offsetWidth}; // IE7 gets mW == 0? + span.style.position = math.style.position = ""; + // + return {Y:-EVENT.getBBox(span).h, mW:mW, mH:mH, zW:zW, zH:zH}; + }, + + initPHTML: function (math,span) {}, + + Remove: function (jax) { + var span = document.getElementById(jax.inputID+"-Frame"); + if (span) { + if (jax.PHTML.display) {span = span.parentNode} + span.parentNode.removeChild(span); + } + delete jax.PHTML; + }, + + ID: 0, idPostfix: "", + GetID: function () {this.ID++; return this.ID}, + + VARIANT: { + "bold": "MJXp-bold", + "italic": "MJXp-italic", + "bold-italic": "MJXp-bold MJXp-italic", + "script": "MJXp-scr", + "bold-script": "MJXp-scr MJXp-bold", + "fraktur": "MJXp-frak", + "bold-fraktur": "MJXp-frak MJXp-bold", + "monospace": "MJXp-mono", + "sans-serif": "MJXp-sf", + "-tex-caligraphic": "MJXp-cal" + }, + MATHSPACE: { + veryverythinmathspace: 1/18, + verythinmathspace: 2/18, + thinmathspace: 3/18, + mediummathspace: 4/18, + thickmathspace: 5/18, + verythickmathspace: 6/18, + veryverythickmathspace: 7/18, + negativeveryverythinmathspace: -1/18, + negativeverythinmathspace: -2/18, + negativethinmathspace: -3/18, + negativemediummathspace: -4/18, + negativethickmathspace: -5/18, + negativeverythickmathspace: -6/18, + negativeveryverythickmathspace: -7/18, + + thin: .08, + medium: .1, + thick: .15, + + infinity: BIGDIMEN + }, + TeX: { + x_height: .430554 + }, + pxPerInch: 72, + em: 16, + + // ### FIXME: add more here + + DELIMITERS: { + "(": {dir:V}, + "{": {dir:V, w:.58}, + "[": {dir:V}, + "|": {dir:V, w:.275}, + ")": {dir:V}, + "}": {dir:V, w:.58}, + "]": {dir:V}, + "/": {dir:V}, + "\\": {dir:V}, + "\u2223": {dir:V, w:.275}, + "\u2225": {dir:V, w:.55}, + "\u230A": {dir:V, w:.5}, + "\u230B": {dir:V, w:.5}, + "\u2308": {dir:V, w:.5}, + "\u2309": {dir:V, w:.5}, + "\u27E8": {dir:V, w:.5}, + "\u27E9": {dir:V, w:.5}, + "\u2191": {dir:V, w:.65}, + "\u2193": {dir:V, w:.65}, + "\u21D1": {dir:V, w:.75}, + "\u21D3": {dir:V, w:.75}, + "\u2195": {dir:V, w:.65}, + "\u21D5": {dir:V, w:.75}, + "\u27EE": {dir:V, w:.275}, + "\u27EF": {dir:V, w:.275}, + "\u23B0": {dir:V, w:.6}, + "\u23B1": {dir:V, w:.6} + }, + + REMAPACCENT: { + "\u20D7":"\u2192", // vector arrow + "'": "\u02CB", + "`": "\u02CA", + ".": "\u02D9", + "^": "\u02C6", + "-": "\u02C9", + "~": "\u02DC", + "\u00AF": "\u02C9", // macron + "\u00B0": "\u02DA", // degree sign + "\u00B4": "\u02CA", // acute accent + "\u0300": "\u02CB", // combining grave + "\u0301": "\u02CA", // combining acute + "\u0302": "\u02C6", // combining circumflex + "\u0303": "\u02DC", // combinig tilde + "\u0304": "\u02C9", // combining macron + "\u0305": "\u02C9", // combining overline + "\u0306": "\u02D8", // combining breve + "\u0307": "\u02D9", // combining dot + "\u0308": "\u00A8", // combining double dot + "\u030C": "\u02C7" // combining caron + }, + REMAPACCENTUNDER: { + }, + + length2em: function (length,size) { + if (typeof(length) !== "string") {length = length.toString()} + if (length === "") {return ""} + if (length === MML.SIZE.NORMAL) {return 1} + if (length === MML.SIZE.BIG) {return 2} + if (length === MML.SIZE.SMALL) {return .71} + if (this.MATHSPACE[length]) {return this.MATHSPACE[length]} + var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/); + var m = parseFloat(match[1]||"1"), unit = match[2]; + if (size == null) {size = 1} + if (unit === "em") {return m} + if (unit === "ex") {return m * this.TeX.x_height} + if (unit === "%") {return m / 100 * size} + if (unit === "px") {return m / this.em} + if (unit === "pt") {return m / 10} // 10 pt to an em + if (unit === "pc") {return m * 1.2} // 12 pt to a pc + if (unit === "in") {return m * this.pxPerInch / this.em} + if (unit === "cm") {return m * this.pxPerInch / this.em / 2.54} // 2.54 cm to an inch + if (unit === "mm") {return m * this.pxPerInch / this.em / 25.4} // 10 mm to a cm + if (unit === "mu") {return m / 18} // 18mu to an em for the scriptlevel + return m*size; // relative to given size (or 1em as default) + }, + + Em: function (m) { + if (Math.abs(m) < .001) return "0em"; + return (m.toFixed(3).replace(/\.?0+$/,""))+"em"; + }, + + arrayEntry: function (a,i) {return a[Math.max(0,Math.min(i,a.length-1))]} + + }); + + MathJax.Hub.Register.StartupHook("mml Jax Ready",function () { + MML = MathJax.ElementJax.mml; + + MML.mbase.Augment({ + toPreviewHTML: function (span,options) { + return this.PHTMLdefaultSpan(span,options); + }, + + PHTMLdefaultSpan: function (span,options) { + if (!options) options = {}; + span = this.PHTMLcreateSpan(span); + this.PHTMLhandleStyle(span); + this.PHTMLhandleColor(span); + if (this.isToken) this.PHTMLhandleToken(span); + for (var i = 0, m = this.data.length; i < m; i++) this.PHTMLaddChild(span,i,options); + return span; + }, + PHTMLaddChild: function (span,i,options) { + var child = this.data[i]; + if (child) { + if (options.childSpans) + span = HTML.addElement(span,"span",{className:options.className}); + child.toPreviewHTML(span); + if (!options.noBBox) { + this.PHTML.w += child.PHTML.w + child.PHTML.l + child.PHTML.r; + if (child.PHTML.h > this.PHTML.h) this.PHTML.h = child.PHTML.h; + if (child.PHTML.d > this.PHTML.d) this.PHTML.d = child.PHTML.d; + if (child.PHTML.t > this.PHTML.t) this.PHTML.t = child.PHTML.t; + if (child.PHTML.b > this.PHTML.b) this.PHTML.b = child.PHTML.b; + } + } else if (options.forceChild) {HTML.addElement(span,"span")} + }, + PHTMLstretchChild: function (i,H,D) { + var data = this.data[i]; + if (data && data.PHTMLcanStretch("Vertical",H,D)) { + var bbox = this.PHTML, dbox = data.PHTML, w = dbox.w; + data.PHTMLstretchV(H,D); + bbox.w += dbox.w - w; + if (dbox.h > bbox.h) bbox.h = dbox.h; + if (dbox.d > bbox.d) bbox.d = dbox.d; + } + }, + + PHTMLcreateSpan: function (span) { + if (!this.PHTML) this.PHTML = {}; + this.PHTML = {w:0, h:0, d:0, l:0, r:0, t:0, b:0}; + if (this.inferred) return span; + // ### FIXME: This is a hack to handle the different spacing of the + // ### integral sign in Times compared to CM fonts + if (this.type === "mo" && this.data.join("") === "\u222B") {PHTML.lastIsInt = true} + else if (this.type !== "mspace" || this.width !== "negativethinmathspace") {PHTML.lastIsInt = false} + // ### + if (!this.PHTMLspanID) {this.PHTMLspanID = PHTML.GetID()}; + var id = (this.id || "MJXp-Span-"+this.PHTMLspanID); + return HTML.addElement(span,"span",{className:"MJXp-"+this.type, id:id}); + }, + PHTMLspanElement: function () { + if (!this.PHTMLspanID) {return null} + return document.getElementById(this.id||"MJXp-Span-"+this.PHTMLspanID); + }, + + PHTMLhandleToken: function (span) { + var values = this.getValues("mathvariant"); + if (values.mathvariant !== MML.VARIANT.NORMAL) { + span.className += " "+PHTML.VARIANT[values.mathvariant]; + } + }, + + PHTMLhandleStyle: function (span) { + if (this.style) span.style.cssText = this.style; + }, + + PHTMLhandleColor: function (span) { + if (this.mathcolor) {span.style.color = this.mathcolor} + if (this.mathbackground) {span.style.backgroundColor = this.mathbackground} + }, + + PHTMLhandleScriptlevel: function (span) { + // ### FIXME: Need to prevent getting too small + // ### and should keep track of scaling so it can be compensated for + var level = this.Get("scriptlevel"); + if (level) span.className += " MJXp-script"; + }, + + PHTMLhandleText: function (span,text) { + var c, n; + var H = 0, D = 0, W = 0; + for (var i = 0, m = text.length; i < m; i++) { + n = text.charCodeAt(i); c = text.charAt(i); + if (n >= 0xD800 && n < 0xDBFF) { + i++; n = (((n-0xD800)<<10)+(text.charCodeAt(i)-0xDC00))+0x10000; + } + var h = .7, d = .22, w = .5; + if (n < 127) { + if (c.match(/[A-Za-ehik-or-xz0-9]/)) d = 0; + if (c.match(/[A-HK-Z]/)) {w = .67} else if (c.match(/[IJ]/)) {w = .36} + if (c.match(/[acegm-su-z]/)) {h = .45} else if (c.match(/[ij]/)) {h = .75} + if (c.match(/[ijlt]/)) w = .28; + } + if (PHTML.DELIMITERS[c]) {w = PHTML.DELIMITERS[c].w || .4} + // ### FIXME: handle Greek + // ### Combining diacriticals (all sets), spacing modifiers + // ### arrows (all sets), widths of braces + if (h > H) H = h; if (d > D) D = d; W += w; + } + if (!this.CHML) this.PHTML = {}; + this.PHTML = {h:.9, d:.3, w:W, l:0, r:0, t:H, b:D}; + HTML.addText(span,text); + }, + + PHTMLbboxFor: function (n) { + if (this.data[n] && this.data[n].PHTML) return this.data[n].PHTML; + return {w:0, h:0, d:0, l:0, r:0, t:0, b:0}; + }, + + PHTMLcanStretch: function (direction,H,D) { + if (this.isEmbellished()) { + var core = this.Core(); + if (core && core !== this) {return core.PHTMLcanStretch(direction,H,D)} + } + return false; + }, + PHTMLstretchV: function (h,d) {}, + PHTMLstretchH: function (w) {}, + + CoreParent: function () { + var parent = this; + while (parent && parent.isEmbellished() && + parent.CoreMO() === this && !parent.isa(MML.math)) {parent = parent.Parent()} + return parent; + }, + CoreText: function (parent) { + if (!parent) {return ""} + if (parent.isEmbellished()) {return parent.CoreMO().data.join("")} + while ((parent.isa(MML.mrow) || parent.isa(MML.TeXAtom) || + parent.isa(MML.mstyle) || parent.isa(MML.mphantom)) && + parent.data.length === 1 && parent.data[0]) {parent = parent.data[0]} + if (!parent.isToken) {return ""} else {return parent.data.join("")} + } + + }); + + MML.chars.Augment({ + toPreviewHTML: function (span) { + var text = this.toString().replace(/[\u2061-\u2064]/g,""); + this.PHTMLhandleText(span,text); + } + }); + MML.entity.Augment({ + toPreviewHTML: function (span) { + var text = this.toString().replace(/[\u2061-\u2064]/g,""); + this.PHTMLhandleText(span,text); + } + }); + + MML.math.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + if (this.Get("display") === "block") {span.className += " MJXp-display"} + return span; + } + }); + + MML.mo.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + this.PHTMLadjustAccent(span); + var values = this.getValues("lspace","rspace","scriptlevel","displaystyle","largeop"); + if (values.scriptlevel === 0) { + this.PHTML.l = PHTML.length2em(values.lspace); + this.PHTML.r = PHTML.length2em(values.rspace); + span.style.marginLeft = PHTML.Em(this.PHTML.l); + span.style.marginRight = PHTML.Em(this.PHTML.r); + } else { + this.PHTML.l = .15; + this.PHTML.r = .1; + } + if (values.displaystyle && values.largeop) { + var box = HTML.Element("span",{className:"MJXp-largeop"}); + box.appendChild(span.firstChild); span.appendChild(box); + this.PHTML.h *= 1.2; this.PHTML.d *= 1.2; + if (this.data.join("") === "\u222B") box.className += " MJXp-int"; + } + // ### FIXME: Handle embellished op spacing + // ### FIXME: Remap minus signs + return span; + }, + PHTMLadjustAccent: function (span) { + var parent = this.CoreParent(); + if (parent && parent.isa(MML.munderover) && + this.CoreText(parent.data[parent.base]).length === 1) { + var over = parent.data[parent.over], under = parent.data[parent.under]; + var c = this.data.join(""), C; + if (over && this === over.CoreMO() && parent.Get("accent")) {C = PHTML.REMAPACCENT[c]} + else if (under && this === under.CoreMO() && parent.Get("accentunder")) {C = PHTML.REMAPACCENTUNDER[c]} + if (C) c = span.innerHTML = C; + if (c.match(/[\u02C6-\u02DC\u00A8]/)) {this.PHTML.acc = -.52} + else if (c === "\u2192") {this.PHTML.acc = -.15; this.PHTML.vec = true} + } + }, + PHTMLcanStretch: function (direction,H,D) { + if (!this.Get("stretchy")) {return false} + var c = this.data.join(""); + if (c.length > 1) {return false} + c = PHTML.DELIMITERS[c]; + var stretch = (c && c.dir === direction.substr(0,1)); + if (stretch) { + stretch = (this.PHTML.h !== H || this.PHTML.d !== D || + (this.Get("minsize",true) || this.Get("maxsize",true))); + } + return stretch; + }, + PHTMLstretchV: function (h,d) { + var span = this.PHTMLspanElement(), bbox = this.PHTML; //bbox.w = .4; // ## adjust width + var values = this.getValues("symmetric","maxsize","minsize"); + if (values.symmetric) {H = 2*Math.max(h-.25,d+.25)} else {H = h + d} + values.maxsize = PHTML.length2em(values.maxsize,bbox.h+bbox.d); + values.minsize = PHTML.length2em(values.minsize,bbox.h+bbox.d); + H = Math.max(values.minsize,Math.min(values.maxsize,H)); + var scale = H/(bbox.h+bbox.d-.3); // ### adjusted for extra tall bbox + var box = HTML.Element("span",{style:{"font-size":PHTML.Em(scale)}}); + if (scale > 1.25) { + var sX = Math.ceil(1.25/scale * 10); + box.className = "MJXp-right MJXp-scale"+sX; + box.style.marginLeft = PHTML.Em(bbox.w*(sX/10-1)+.07); + bbox.w *= scale*sX/10; + } + box.appendChild(span.firstChild); span.appendChild(box); + if (values.symmetric) span.style.verticalAlign = PHTML.Em(.25*(1-scale)); + } + }); + + MML.mspace.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + var values = this.getValues("height","depth","width"); + var w = PHTML.length2em(values.width), + h = PHTML.length2em(values.height), + d = PHTML.length2em(values.depth); + var bbox = this.PHTML; + bbox.w = w; bbox.h = h; bbox.d = d; + if (w < 0) { + // ### FIXME: lastIsInt hack + if (!PHTML.lastIsInt) span.style.marginLeft = PHTML.Em(w); + w = 0; + } + span.style.width = PHTML.Em(w); + span.style.height = PHTML.Em(h+d); + if (d) span.style.verticalAlign = PHTML.Em(-d); + return span; + } + }); + + MML.mpadded.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{ + childSpans:true, className:"MJXp-box", forceChild:true + }); + var child = span.firstChild; + var values = this.getValues("width","height","depth","lspace","voffset"); + var dimen = this.PHTMLdimen(values.lspace); + var T = 0, B = 0, L = dimen.len, R = -dimen.len, V = 0; + if (values.width !== "") { + dimen = this.PHTMLdimen(values.width,"w",0); + if (dimen.pm) {R += dimen.len} else {span.style.width = PHTML.Em(dimen.len)} + } + if (values.height !== "") { + dimen = this.PHTMLdimen(values.height,"h",0); + if (!dimen.pm) T += -this.PHTMLbboxFor(0).h; + T += dimen.len; + } + if (values.depth !== "") { + dimen = this.PHTMLdimen(values.depth,"d",0); + if (!dimen.pm) {B += -this.PHTMLbboxFor(0).d; V += -dimen.len} + B += dimen.len; + } + if (values.voffset !== "") { + dimen = this.PHTMLdimen(values.voffset); + T -= dimen.len; B += dimen.len; + V += dimen.len; + } + if (T) child.style.marginTop = PHTML.Em(T); + if (B) child.style.marginBottom = PHTML.Em(B); + if (L) child.style.marginLeft = PHTML.Em(L); + if (R) child.style.marginRight = PHTML.Em(R); + if (V) span.style.verticalAlign = PHTML.Em(V); + return span; + }, + PHTMLdimen: function (length,d,m) { + if (m == null) {m = -BIGDIMEN} + length = String(length); + var match = length.match(/width|height|depth/); + var size = (match ? this.PHTML[match[0].charAt(0)] : (d ? this.PHTML[d] : 0)); + return {len: PHTML.length2em(length,size)||0, pm: !!length.match(/^[-+]/)}; + } + }); + + MML.munderover.Augment({ + toPreviewHTML: function (span) { + var values = this.getValues("displaystyle","accent","accentunder","align"); + var base = this.data[this.base]; + if (!values.displaystyle && base != null && + (base.movablelimits || base.CoreMO().Get("movablelimits"))) { + span = MML.msubsup.prototype.toPreviewHTML.call(this,span); + // + // Change class to msubsup for CSS rules. + // ### FIXME: should this be handled via adding another class instead? + // + span.className = span.className.replace(/munderover/,"msubsup"); + return span; + } + span = this.PHTMLdefaultSpan(span,{childSpans:true, className:"", noBBox:true}); + var obox = this.PHTMLbboxFor(this.over), + ubox = this.PHTMLbboxFor(this.under), + bbox = this.PHTMLbboxFor(this.base), + BBOX = this.PHTML, acc = obox.acc; + if (this.data[this.over]) { + if (span.lastChild.firstChild){ + span.lastChild.firstChild.style.marginLeft = obox.l = + span.lastChild.firstChild.style.marginRight = obox.r = 0; + } + var over = HTML.Element("span",{},[["span",{className:"MJXp-over"}]]); + over.firstChild.appendChild(span.lastChild); + if (span.childNodes.length > (this.data[this.under] ? 1 : 0)) + over.firstChild.appendChild(span.firstChild); + this.data[this.over].PHTMLhandleScriptlevel(over.firstChild.firstChild); + if (acc != null) { + if (obox.vec) { + over.firstChild.firstChild.firstChild.style.fontSize = "60%"; + obox.h *= .6; obox.d *= .6; obox.w *= .6; + } + acc = acc - obox.d + .1; if (bbox.t != null) {acc += bbox.t - bbox.h} + over.firstChild.firstChild.style.marginBottom = PHTML.Em(acc); + } + if (span.firstChild) {span.insertBefore(over,span.firstChild)} + else {span.appendChild(over)} + } + if (this.data[this.under]) { + if (span.lastChild.firstChild) { + span.lastChild.firstChild.style.marginLeft = ubox.l = + span.lastChild.firstChild.marginRight = ubox.r = 0; + } + this.data[this.under].PHTMLhandleScriptlevel(span.lastChild); + } + BBOX.w = Math.max(.8*obox.w,.8*ubox.w,bbox.w); + BBOX.h = .8*(obox.h+obox.d+(acc||0)) + bbox.h; + BBOX.d = bbox.d + .8*(ubox.h+ubox.d); + return span; + } + }); + + MML.msubsup.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{noBBox:true}); + if (!this.data[this.base]) { + if (span.firstChild) {span.insertBefore(HTML.Element("span"),span.firstChild)} + else {span.appendChild(HTML.Element("span"))} + } + var base = this.data[this.base], sub = this.data[this.sub], sup = this.data[this.sup]; + if (!base) base = {bbox: {h:.8, d:.2}}; + span.firstChild.style.marginRight = ".05em"; + var h = Math.max(.4,base.PHTML.h-.4), + d = Math.max(.2,base.PHTML.d+.1); + var bbox = this.PHTML; + if (sup && sub) { + var box = HTML.Element("span",{className:"MJXp-script-box", style:{ + height: PHTML.Em(h+sup.PHTML.h*.8 + d+sub.PHTML.d*.8), + "vertical-align": PHTML.Em(-d-sub.PHTML.d*.8) + }},[ + ["span",{},[["span",{},[["span",{ + style:{"margin-bottom":PHTML.Em(-(sup.PHTML.d-.05))} + }]]]]], + ["span",{},[["span",{},[["span",{ + style:{"margin-top":PHTML.Em(-(sup.PHTML.h-.05))} + }]]]]] + ]); + sub.PHTMLhandleScriptlevel(box.firstChild); + sup.PHTMLhandleScriptlevel(box.lastChild); + box.firstChild.firstChild.firstChild.appendChild(span.lastChild); + box.lastChild.firstChild.firstChild.appendChild(span.lastChild); + span.appendChild(box); + bbox.h = Math.max(base.PHTML.h,sup.PHTML.h*.8+h); + bbox.d = Math.max(base.PHTML.d,sub.PHTML.d*.8+d); + bbox.w = base.PHTML.w + Math.max(sup.PHTML.w,sub.PHTML.w) + .07; + } else if (sup) { + span.lastChild.style.verticalAlign = PHTML.Em(h); + sup.PHTMLhandleScriptlevel(span.lastChild); + bbox.h = Math.max(base.PHTML.h,sup.PHTML.h*.8+h); + bbox.d = Math.max(base.PHTML.d,sup.PHTML.d*.8-h); + bbox.w = base.PHTML.w + sup.PHTML.w + .07; + } else if (sub) { + span.lastChild.style.verticalAlign = PHTML.Em(-d); + sub.PHTMLhandleScriptlevel(span.lastChild); + bbox.h = Math.max(base.PHTML.h,sub.PHTML.h*.8-d); + bbox.d = Math.max(base.PHTML.d,sub.PHTML.d*.8+d); + bbox.w = base.PHTML.w + sub.PHTML.w + .07; + } + return span; + } + }); + + MML.mfrac.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{ + childSpans:true, className:"MJXp-box", forceChild:true, noBBox:true + }); + var values = this.getValues("linethickness","displaystyle"); + if (!values.displaystyle) { + if (this.data[0]) this.data[0].PHTMLhandleScriptlevel(span.firstChild); + if (this.data[1]) this.data[1].PHTMLhandleScriptlevel(span.lastChild); + } + var denom = HTML.Element("span",{className:"MJXp-box"},[ + ["span",{className:"MJXp-denom"},[ // inline-table + ["span",{},[["span",{className:"MJXp-rule",style:{height:"1em"}}]]], + ["span"] // spans are table-row + ]] + ]); + denom.firstChild.lastChild.appendChild(span.lastChild); + span.appendChild(denom); + var nbox = this.PHTMLbboxFor(0), dbox = this.PHTMLbboxFor(1), bbox = this.PHTML; + bbox.w = Math.max(nbox.w,dbox.w) * .8; + bbox.h = nbox.h+nbox.d + .1 + .25; + bbox.d = dbox.h+dbox.d - .25; + bbox.l = bbox.r = .125; + values.linethickness = Math.max(0,PHTML.length2em(values.linethickness||"0",0)); + if (values.linethickness) { + var rule = denom.firstChild.firstChild.firstChild; + var t = PHTML.Em(values.linethickness); + rule.style.borderTop = "none"; + rule.style.borderBottom = (values.linethickness < .15 ? "1px" : t)+" solid"; + rule.style.margin = t+" 0"; + t = values.linethickness; + denom.style.marginTop = PHTML.Em(3*t-1.2); + span.style.verticalAlign = PHTML.Em(1.5*t + .1); + bbox.h += 1.5*t - .1; bbox.d += 1.5*t; + } else { + denom.style.marginTop = "-.7em"; + } + return span; + } + }); + + MML.msqrt.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{ + childSpans:true, className:"MJXp-box", forceChild:true, noBBox:true + }); + this.PHTMLlayoutRoot(span,span.firstChild); + return span; + }, + PHTMLlayoutRoot: function (span,base) { + var bbox = this.PHTMLbboxFor(0); + var scale = Math.ceil((bbox.h+bbox.d+.14)*100), t = PHTML.Em(14/scale); + var surd = HTML.Element("span",{className:"MJXp-surd"},[ + ["span",{style:{"font-size":scale+"%","margin-top":t}},["\u221A"]] + ]); + var root = HTML.Element("span",{className:"MJXp-root"},[ + ["span",{className:"MJXp-rule",style:{"border-top":".08em solid"}}] + ]); + var W = (1.2/2.2)*scale/100; // width-of-surd = (height/H-to-W-ratio) + if (scale > 150) { + var sX = Math.ceil(150/scale * 10); + surd.firstChild.className = "MJXp-right MJXp-scale"+sX; + surd.firstChild.style.marginLeft = PHTML.Em(W*(sX/10-1)/scale*100); + W = W*sX/10; + root.firstChild.style.borderTopWidth = PHTML.Em(.08/Math.sqrt(sX/10)); + } + root.appendChild(base); + span.appendChild(surd); + span.appendChild(root); + this.PHTML.h = bbox.h + .18; this.PHTML.d = bbox.d; + this.PHTML.w = bbox.w + W; + return span; + } + }); + + MML.mroot.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{ + childSpans:true, className:"MJXp-box", forceChild:true, noBBox:true + }); + var rbox = this.PHTMLbboxFor(1), root = span.removeChild(span.lastChild); + var sqrt = this.PHTMLlayoutRoot(HTML.Element("span"),span.firstChild); + root.className = "MJXp-script"; // ### FIXME: should be scriptscript + var scale = parseInt(sqrt.firstChild.firstChild.style.fontSize); + var v = .55*(scale/120) + rbox.d*.8, r = -.6*(scale/120); + if (scale > 150) {r *= .95*Math.ceil(150/scale*10)/10} + root.style.marginRight = PHTML.Em(r); root.style.verticalAlign = PHTML.Em(v); + if (-r > rbox.w*.8) root.style.marginLeft = PHTML.Em(-r-rbox.w*.8); // ### depends on rbox.w + span.appendChild(root); span.appendChild(sqrt); + this.PHTML.w += Math.max(0,rbox.w*.8+r); + this.PHTML.h = Math.max(this.PHTML.h,rbox.h*.8+v); + return span; + }, + PHTMLlayoutRoot: MML.msqrt.prototype.PHTMLlayoutRoot + }); + + MML.mfenced.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLcreateSpan(span); + this.PHTMLhandleStyle(span); + this.PHTMLhandleColor(span); + // + // Make row of open, data, sep, ... data, close + // + this.addFakeNodes(); + this.PHTMLaddChild(span,"open",{}); + for (var i = 0, m = this.data.length; i < m; i++) { + this.PHTMLaddChild(span,"sep"+i,{}); + this.PHTMLaddChild(span,i,{}); + } + this.PHTMLaddChild(span,"close",{}); + // + // Check for streching the elements + // + var H = this.PHTML.h, D = this.PHTML.d; + this.PHTMLstretchChild("open",H,D); + for (i = 0, m = this.data.length; i < m; i++) { + this.PHTMLstretchChild("sep"+i,H,D); + this.PHTMLstretchChild(i,H,D); + } + this.PHTMLstretchChild("close",H,D); + return span; + } + }); + + MML.mrow.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + var H = this.PHTML.h, D = this.PHTML.d; + for (var i = 0, m = this.data.length; i < m; i++) this.PHTMLstretchChild(i,H,D); + return span; + } + }); + + MML.mstyle.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + this.PHTMLhandleScriptlevel(span); + return span; + } + }); + + MML.TeXAtom.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + // ### FIXME: handle TeX class? + span.className = "MJXp-mrow"; + return span; + } + }); + + MML.mtable.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{noBBox:true}); + var values = this.getValues("columnalign","rowalign","columnspacing","rowspacing", + "columnwidth","equalcolumns","equalrows", + "columnlines","rowlines","frame","framespacing", + "align","width"); + var SPLIT = MathJax.Hub.SplitList, i, m, j, n; + var CSPACE = SPLIT(values.columnspacing), + RSPACE = SPLIT(values.rowspacing), + CALIGN = SPLIT(values.columnalign), + RALIGN = SPLIT(values.rowalign); + for (i = 0, m = CSPACE.length; i < m; i++) {CSPACE[i] = PHTML.length2em(CSPACE[i])} + for (i = 0, m = RSPACE.length; i < m; i++) {RSPACE[i] = PHTML.length2em(RSPACE[i])} + + var table = HTML.Element("span"); + while (span.firstChild) table.appendChild(span.firstChild); + span.appendChild(table); + var H = 0, W = 0; + for (i = 0, m = this.data.length; i < m; i++) { + var row = this.data[i]; + if (row) { + var rspace = PHTML.arrayEntry(RSPACE,i-1), ralign = PHTML.arrayEntry(RALIGN,i); + var rbox = row.PHTML, rspan = row.PHTMLspanElement(); + rspan.style.verticalAlign = ralign; + var k = (row.type === "mlabeledtr" ? 1 : 0); + for (j = 0, n = row.data.length; j < n-k; j++) { + var cell = row.data[j+k]; + if (cell) { + var cspace = PHTML.arrayEntry(CSPACE,j-1), calign = PHTML.arrayEntry(CALIGN,j); + var cspan = cell.PHTMLspanElement(); + if (j) {rbox.w += cspace; cspan.style.paddingLeft = PHTML.Em(cspace)} + if (i) cspan.style.paddingTop = PHTML.Em(rspace); + cspan.style.textAlign = calign; + } + } + H += rbox.h + rbox.d; if (i) {H += rspace} + if (rbox.w > W) W = rbox.w; + } + } + var bbox = this.PHTML; + bbox.w = W; bbox.h = H/2 + .25; bbox.d = H/2 - .25; + bbox.l = bbox.r = .125; + return span; + } + }); + MML.mlabeledtr.Augment({ + PHTMLdefaultSpan: function (span,options) { + if (!options) options = {}; + span = this.PHTMLcreateSpan(span); + this.PHTMLhandleStyle(span); + this.PHTMLhandleColor(span); + if (this.isToken) this.PHTMLhandleToken(span); + // skip label for now + for (var i = 1, m = this.data.length; i < m; i++) this.PHTMLaddChild(span,i,options); + return span; + } + }); + + MML.semantics.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLcreateSpan(span); + if (this.data[0]) { + this.data[0].toPreviewHTML(span); + MathJax.Hub.Insert(this.data[0].PHTML||{},this.PHTML); + } + return span; + } + }); + MML.annotation.Augment({toPreviewHTML: function(span) {}}); + MML["annotation-xml"].Augment({toPreviewHTML: function(span) {}}); + + // + // Loading isn't complete until the element jax is modified, + // but can't call loadComplete within the callback for "mml Jax Ready" + // (it would call PreviewHTML's Require routine, asking for the mml jax again) + // so wait until after the mml jax has finished processing. + // + // We also need to wait for the onload handler to run, since the loadComplete + // will call Config and Startup, which need to modify the body. + // + MathJax.Hub.Register.StartupHook("onLoad",function () { + setTimeout(MathJax.Callback(["loadComplete",PHTML,"jax.js"]),0); + }); + }); + + MathJax.Hub.Register.StartupHook("End Cookie", function () { + if (HUB.config.menuSettings.zoom !== "None") + {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }); + +})(MathJax.Ajax,MathJax.Hub,MathJax.HTML,MathJax.OutputJax.PreviewHTML); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/annotation-xml.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/annotation-xml.js new file mode 100644 index 00000000..58745898 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/annotation-xml.js @@ -0,0 +1,92 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/annotation-xml.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG; + var BBOX = SVG.BBOX; + + BBOX.FOREIGN = BBOX.Subclass({type: "foreignObject", removeable: false}); + + MML["annotation-xml"].Augment({ + toSVG: function () { + var svg = this.SVG(); this.SVGhandleSpace(svg); + var encoding = this.Get("encoding"); + for (var i = 0, m = this.data.length; i < m; i++) + {svg.Add(this.data[i].toSVG(encoding),svg.w,0)} + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.xml.Augment({ + toSVG: function (encoding) { + // + // Get size of xml content + // + var span = SVG.textSVG.parentNode; + SVG.mathDiv.style.width = "auto"; // Firefox returns offsetWidth = 0 without this + span.insertBefore(this.div,SVG.textSVG); + var w = this.div.offsetWidth, h = this.div.offsetHeight; + var strut = MathJax.HTML.addElement(this.div,"span",{ + style:{display:"inline-block", overflow:"hidden", height:h+"px", + width:"1px", marginRight:"-1px"} + }); + var d = this.div.offsetHeight - h; h -= d; + this.div.removeChild(strut); + span.removeChild(this.div); SVG.mathDiv.style.width = ""; + // + // Create foreignObject element for the content + // + var scale = 1000/SVG.em; + var svg = BBOX.FOREIGN({ + y:(-h)+"px", width:w+"px", height:(h+d)+"px", + transform:"scale("+scale+") matrix(1 0 0 -1 0 0)" + }); + // + // Add the children to the foreignObject + // + for (var i = 0, m = this.data.length; i < m; i++) + {svg.element.appendChild(this.data[i].cloneNode(true))} + // + // Set the scale and finish up + // + svg.w = w*scale; svg.h = h*scale; svg.d = d*scale; + svg.r = svg.w; svg.l = 0; + svg.Clean(); + this.SVGsaveData(svg); + return svg; + } + }); + + MathJax.Hub.Startup.signal.Post("SVG annotation-xml Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/annotation-xml.js"); + +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/maction.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/maction.js new file mode 100644 index 00000000..bf49caf8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/maction.js @@ -0,0 +1,201 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/maction.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax["SVG"]; + + var currentTip, hover, clear; + + // + // Add configuration for tooltips + // + var CONFIG = SVG.config.tooltip = MathJax.Hub.Insert({ + delayPost: 600, delayClear: 600, + offsetX: 10, offsetY: 5 + },SVG.config.tooltip||{}); + + + MML.maction.Augment({ + SVGtooltip: MathJax.HTML.addElement(document.body,"div",{id:"MathJax_SVG_Tooltip"}), + + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(); + var selected = this.selected(); + if (selected.type == "null") {this.SVGsaveData(svg);return svg;} + svg.Add(this.SVGdataStretched(this.Get("selection")-1,HW,D)); + svg.removeable = false; + this.SVGhandleHitBox(svg); + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGhandleHitBox: function (svg) { + var frame = SVG.Element("rect", + {width:svg.w, height:svg.h+svg.d, y:-svg.d, fill:"none", "pointer-events":"all"}); + svg.element.insertBefore(frame,svg.element.firstChild); + var type = this.Get("actiontype"); + if (this.SVGaction[type]) + {this.SVGaction[type].call(this,svg,svg.element,this.Get("selection"))} + }, + SVGstretchH: MML.mbase.prototype.SVGstretchH, + SVGstretchV: MML.mbase.prototype.SVGstretchV, + + // + // Implementations for the various actions + // + SVGaction: { + toggle: function (svg,frame,selection) { + this.selection = selection; + SVG.Element(frame,{cursor:"pointer"}); + frame.onclick = MathJax.Callback(["SVGclick",this]); + }, + + statusline: function (svg,frame,selection) { + frame.onmouseover = MathJax.Callback(["SVGsetStatus",this]), + frame.onmouseout = MathJax.Callback(["SVGclearStatus",this]); + frame.onmouseover.autoReset = frame.onmouseout.autoReset = true; + }, + + tooltip: function(svg,frame,selection) { + frame.onmouseover = MathJax.Callback(["SVGtooltipOver",this]), + frame.onmouseout = MathJax.Callback(["SVGtooltipOut",this]); + frame.onmouseover.autoReset = frame.onmouseout.autoReset = true; + } + }, + + // + // Handle a click on the maction element + // (remove the original rendering and rerender) + // + SVGclick: function (event) { + this.selection++; + if (this.selection > this.data.length) {this.selection = 1} + var math = this; while (math.type !== "math") {math = math.inherit} + var jax = MathJax.Hub.getJaxFor(math.inputID); //, hover = !!jax.hover; + jax.Update(); + /* + * if (hover) { + * var span = document.getElementById(jax.inputID+"-Span"); + * MathJax.Extension.MathEvents.Hover.Hover(jax,span); + * } + */ + return MathJax.Extension.MathEvents.Event.False(event); + }, + + // + // Set/Clear the window status message + // + SVGsetStatus: function (event) { + // FIXME: Do something better with non-token elements + this.messageID = MathJax.Message.Set + ((this.data[1] && this.data[1].isToken) ? + this.data[1].data.join("") : this.data[1].toString()); + }, + SVGclearStatus: function (event) { + if (this.messageID) {MathJax.Message.Clear(this.messageID,0)} + delete this.messageID; + }, + + // + // Handle tooltips + // + SVGtooltipOver: function (event) { + if (!event) {event = window.event} + if (clear) {clearTimeout(clear); clear = null} + if (hover) {clearTimeout(hover)} + var x = event.pageX; var y = event.pageY; + if (x == null) { + x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; + y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; + } + var callback = MathJax.Callback(["SVGtooltipPost",this,x+CONFIG.offsetX,y+CONFIG.offsetY]) + hover = setTimeout(callback,CONFIG.delayPost); + }, + SVGtooltipOut: function (event) { + if (hover) {clearTimeout(hover); hover = null} + if (clear) {clearTimeout(clear)} + var callback = MathJax.Callback(["SVGtooltipClear",this,80]); + clear = setTimeout(callback,CONFIG.delayClear); + }, + SVGtooltipPost: function (x,y) { + hover = null; if (clear) {clearTimeout(clear); clear = null} + + // + // Get the tip div and show it at the right location, then clear its contents + // + var tip = this.SVGtooltip; + tip.style.display = "block"; tip.style.opacity = ""; + if (this === currentTip) return; + tip.style.left = x+"px"; tip.style.top = y+"px"; + tip.innerHTML = ''; var span = MathJax.HTML.addElement(tip,"span"); + + // + // Get the sizes from the jax (FIXME: should calculate again?) + // + var math = this; while (math.type !== "math") {math = math.inherit} + var jax = MathJax.Hub.getJaxFor(math.inputID); + this.em = MML.mbase.prototype.em = jax.SVG.em; this.ex = jax.SVG.ex; + this.linebreakWidth = jax.SVG.lineWidth; this.cwidth = jax.SVG.cwidth; + + // + // Make a new math element and temporarily move the tooltip to it + // Display the math containing the tip, but check for errors + // Then put the tip back into the maction element + // + var mml = this.data[1]; + math = MML.math(mml); + try {math.toSVG(span,tip)} catch(err) { + this.SetData(1,mml); tip.style.display = "none"; + if (!err.restart) {throw err} + MathJax.Callback.After(["SVGtooltipPost",this,x,y],err.restart); + return; + } + this.SetData(1,mml); + + currentTip = this; + }, + SVGtooltipClear: function (n) { + var tip = this.SVGtooltip; + if (n <= 0) { + tip.style.display = "none"; + tip.style.opacity = ""; + clear = null; + } else { + tip.style.opacity = n/100; + clear = setTimeout(MathJax.Callback(["SVGtooltipClear",this,n-20]),50); + } + } + }); + + MathJax.Hub.Startup.signal.Post("SVG maction Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/maction.js"); + +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/menclose.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/menclose.js new file mode 100644 index 00000000..ac0f2f98 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/menclose.js @@ -0,0 +1,233 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/menclose.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG, + BBOX = SVG.BBOX; + + BBOX.ELLIPSE = BBOX.Subclass({ + type: "ellipse", removeable: false, + Init: function (h,d,w,t,color,def) { + if (def == null) {def = {}}; def.fill = "none"; + if (color) {def.stroke = color} + def["stroke-width"] = t.toFixed(2).replace(/\.?0+$/,""); + def.cx = Math.floor(w/2); def.cy = Math.floor((h+d)/2-d); + def.rx = Math.floor((w-t)/2); def.ry = Math.floor((h+d-t)/2); + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.h = this.H = h; + this.d = this.D = d; this.l = 0; + } + }); + + BBOX.DLINE = BBOX.Subclass({ + type: "line", removeable: false, + Init: function (h,d,w,t,color,updown,def) { + if (def == null) {def = {}}; def.fill = "none"; + if (color) {def.stroke = color} + def["stroke-width"] = t.toFixed(2).replace(/\.?0+$/,""); + if (updown == "up") { + def.x1 = Math.floor(t/2); def.y1 = Math.floor(t/2-d); + def.x2 = Math.floor(w-t/2); def.y2 = Math.floor(h-t/2); + } else { + def.x1 = Math.floor(t/2); def.y1 = Math.floor(h-t/2); + def.x2 = Math.floor(w-t/2); def.y2 = Math.floor(t/2-d); + } + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.h = this.H = h; + this.d = this.D = d; this.l = 0; + } + }); + + BBOX.FPOLY = BBOX.Subclass({ + type: "polygon", removeable: false, + Init: function (points,color,def) { + if (def == null) {def = {}} + if (color) {def.fill = color} + var P = [], mx = 100000000, my = mx, Mx = -mx, My = Mx; + for (var i = 0, m = points.length; i < m; i++) { + var x = points[i][0], y = points[i][1]; + if (x > Mx) {Mx = x}; if (x < mx) {mx = x} + if (y > My) {My = y}; if (y < my) {my = y} + P.push(Math.floor(x)+","+Math.floor(y)); + } + def.points = P.join(" "); + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = Mx; this.h = this.H = My; + this.d = this.D = -my; this.l = -mx; + } + }); + + BBOX.PPATH = BBOX.Subclass({ + type: "path", removeable: false, + Init: function (h,d,w,p,t,color,def) { + if (def == null) {def = {}}; def.fill = "none"; + if (color) {def.stroke = color} + def["stroke-width"] = t.toFixed(2).replace(/\.?0+$/,""); + def.d = p; + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.h = this.H = h+d; + this.d = this.D = this.l = 0; this.y = -d; + } + }); + + MML.menclose.Augment({ + toSVG: function (HW,DD) { + this.SVGgetStyles(); + + var svg = this.SVG(), scale = this.SVGgetScale(svg); + this.SVGhandleSpace(svg); + var base = this.SVGdataStretched(0,HW,DD); + + var values = this.getValues("notation","thickness","padding","mathcolor","color"); + if (values.color && !this.mathcolor) {values.mathcolor = values.color} + if (values.thickness == null) {values.thickness = ".075em"} + if (values.padding == null) {values.padding = ".2em"} + var mu = this.SVGgetMu(svg); + var p = SVG.length2em(values.padding,mu,1/SVG.em) * scale; // padding for enclosure + var t = SVG.length2em(values.thickness,mu,1/SVG.em); // thickness of lines + t = Math.max(1/SVG.em,t); // see issue #414 + var H = base.h+p+t, D = base.d+p+t, W = base.w+2*(p+t); + var dx = 0, w, h, i, m, borders = [false,false,false,false]; + + // perform some reduction e.g. eliminate duplicate notations. + var nl = MathJax.Hub.SplitList(values.notation), notation = {}; + for (i = 0, m = nl.length; i < m; i++) notation[nl[i]] = true; + if (notation[MML.NOTATION.UPDIAGONALARROW]) notation[MML.NOTATION.UPDIAGONALSTRIKE] = false; + + for (var n in notation) { + if (!notation.hasOwnProperty(n) || !notation[n]) continue; + switch (n) { + case MML.NOTATION.BOX: + borders = [true,true,true,true]; + break; + + case MML.NOTATION.ROUNDEDBOX: + svg.Add(BBOX.FRAME(H,D,W,t,"solid",values.mathcolor, + {rx:Math.floor(Math.min(H+D-t,W-t)/4)})); + break; + + case MML.NOTATION.CIRCLE: + svg.Add(BBOX.ELLIPSE(H,D,W,t,values.mathcolor)); + break; + + case MML.NOTATION.ACTUARIAL: + borders[0] = true; + case MML.NOTATION.RIGHT: + borders[1] = true; + break; + + case MML.NOTATION.LEFT: + borders[3] = true; + break; + + case MML.NOTATION.TOP: + borders[0] = true; + break; + + case MML.NOTATION.BOTTOM: + borders[2] = true; + break; + + case MML.NOTATION.VERTICALSTRIKE: + svg.Add(BBOX.VLINE(H+D,t,"solid",values.mathcolor),(W-t)/2,-D); + break; + + case MML.NOTATION.HORIZONTALSTRIKE: + svg.Add(BBOX.HLINE(W,t,"solid",values.mathcolor),0,(H+D-t)/2-D); + break; + + case MML.NOTATION.UPDIAGONALSTRIKE: + svg.Add(BBOX.DLINE(H,D,W,t,values.mathcolor,"up")); + break; + + case MML.NOTATION.UPDIAGONALARROW: + var l = Math.sqrt(W*W + (H+D)*(H+D)), f = 1/l * 10/SVG.em * t/.075; + w = W * f; h = (H+D) * f; var x = .4*h; + svg.Add(BBOX.DLINE(H-.5*h,D,W-.5*w,t,values.mathcolor,"up")); + svg.Add(BBOX.FPOLY( + [[x+w,h], [x-.4*h,.4*w], [x+.3*w,.3*h], [x+.4*h,-.4*w], [x+w,h]], + values.mathcolor),W-w-x,H-h); + break; + + case MML.NOTATION.DOWNDIAGONALSTRIKE: + svg.Add(BBOX.DLINE(H,D,W,t,values.mathcolor,"down")); + break; + + case MML.NOTATION.PHASORANGLE: + borders[2] = true; W -= 2*p; p = (H+D)/2; W += p; + svg.Add(BBOX.DLINE(H,D,p,t,values.mathcolor,"up")); + break; + + case MML.NOTATION.MADRUWB: + borders[1] = borders[2] = true; + break; + + case MML.NOTATION.RADICAL: + svg.Add(BBOX.PPATH(H,D,W, + "M "+this.SVGxy(t/2,.4*(H+D)) + + " L "+this.SVGxy(p,t/2) + + " L "+this.SVGxy(2*p,H+D-t/2) + + " L "+this.SVGxy(W,H+D-t/2), + t,values.mathcolor),0,t); + dx = p; + break; + + case MML.NOTATION.LONGDIV: + svg.Add(BBOX.PPATH(H,D,W, + "M "+this.SVGxy(t/2,t/2) + + " a "+this.SVGxy(p,(H+D)/2-2*t) + " 0 0,1 " + this.SVGxy(t/2,H+D-t) + + " L "+this.SVGxy(W,H+D-t/2), + t,values.mathcolor),0,t/2); + dx = p; + break; + } + } + var sides = [["H",W,0,H-t],["V",H+D,W-t,-D],["H",W,0,-D],["V",H+D,0,-D]]; + for (i = 0; i < 4; i++) { + if (borders[i]) { + var side = sides[i]; + svg.Add(BBOX[side[0]+"LINE"](side[1],t,"solid",values.mathcolor),side[2],side[3]); + } + } + svg.Add(base,dx+p+t,0,false,true); + svg.Clean(); + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + + SVGxy: function (x,y) {return Math.floor(x)+","+Math.floor(y)} + + }); + + MathJax.Hub.Startup.signal.Post("SVG menclose Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/menclose.js"); + +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mglyph.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mglyph.js new file mode 100644 index 00000000..f181cc7a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mglyph.js @@ -0,0 +1,106 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/mglyph.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG, + BBOX = SVG.BBOX, + LOCALE = MathJax.Localization; + + var XLINKNS = "http://www.w3.org/1999/xlink"; + + BBOX.MGLYPH = BBOX.Subclass({ + type: "image", removeable: false, + Init: function (img,w,h,align,mu,def) { + if (def == null) {def = {}} + var W = img.width*1000/SVG.em, H = img.height*1000/SVG.em; + var WW = W, HH = H, y = 0; + if (w !== "") {W = SVG.length2em(w,mu,WW); H = (WW ? W/WW * HH : 0)} + if (h !== "") {H = SVG.length2em(h,mu,HH); if (w === "") {W = (HH ? H/HH * WW : 0)}} + if (align !== "" && align.match(/\d/)) {y = SVG.length2em(align,mu); def.y = -y} + def.height = Math.floor(H); def.width = Math.floor(W); + def.transform = "translate(0,"+H+") matrix(1 0 0 -1 0 0)"; + def.preserveAspectRatio = "none"; + this.SUPER(arguments).Init.call(this,def); + this.element.setAttributeNS(XLINKNS,"href",img.SRC); + this.w = this.r = W; this.h = this.H = H + y; + this.d = this.D = -y; this.l = 0; + } + }); + + MML.mglyph.Augment({ + toSVG: function (variant,scale) { + this.SVGgetStyles(); var svg = this.SVG(), img, err; + this.SVGhandleSpace(svg); + var values = this.getValues("src","width","height","valign","alt"); + if (values.src === "") { + values = this.getValues("index","fontfamily"); + if (values.index) { + if (!scale) {scale = this.SVGgetScale()} + var def = {}; if (values.fontfamily) {def["font-family"] = values.fontfamily} + svg.Add(BBOX.TEXT(scale,String.fromCharCode(values.index),def)); + } + } else { + if (!this.img) {this.img = MML.mglyph.GLYPH[values.src]} + if (!this.img) { + this.img = MML.mglyph.GLYPH[values.src] = {img: new Image(), status: "pending"}; + img = this.img.img; + img.onload = MathJax.Callback(["SVGimgLoaded",this]); + img.onerror = MathJax.Callback(["SVGimgError",this]); + img.src = img.SRC = values.src; + MathJax.Hub.RestartAfter(img.onload); + } + if (this.img.status !== "OK") { + err = MML.Error( + LOCALE._(["MathML","BadMglyph"],"Bad mglyph: %1",values.src), + {mathsize:"75%"}); + this.Append(err); svg = err.toSVG(); this.data.pop(); + } else { + var mu = this.SVGgetMu(svg); + svg.Add(BBOX.MGLYPH(this.img.img,values.width,values.height,values.valign,mu, + {alt:values.alt, title:values.alt})); + } + } + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGimgLoaded: function (event,status) { + if (typeof(event) === "string") {status = event} + this.img.status = (status || "OK") + }, + SVGimgError: function () {this.img.img.onload("error")} + },{ + GLYPH: {} // global list of all loaded glyphs + }); + + MathJax.Hub.Startup.signal.Post("SVG mglyph Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/mglyph.js"); + +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mmultiscripts.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mmultiscripts.js new file mode 100644 index 00000000..94de90fa --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mmultiscripts.js @@ -0,0 +1,130 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/mmultiscripts.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG; + + MML.mmultiscripts.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); + var base = (this.data[this.base] ? this.SVGdataStretched(this.base,HW,D) : SVG.BBOX.G().Clean()); + var x_height = SVG.TeX.x_height * scale, + s = SVG.TeX.scriptspace * scale * .75; // FIXME: .75 can be removed when IC is right? + + var BOX = this.SVGgetScripts(s); + var sub = BOX[0], sup = BOX[1], presub = BOX[2], presup = BOX[3]; + + var sscale = (this.data[1]||this).SVGgetScale(); + var q = SVG.TeX.sup_drop * sscale, r = SVG.TeX.sub_drop * sscale; + var u = base.h - q, v = base.d + r, delta = 0, p; + if (base.ic) {delta = base.ic} + if (this.data[this.base] && + (this.data[this.base].type === "mi" || this.data[this.base].type === "mo")) { + if (SVG.isChar(this.data[this.base].data.join("")) && base.scale === 1 && + !base.stretched && !this.data[this.base].Get("largeop")) {u = v = 0} + } + var min = this.getValues("subscriptshift","superscriptshift"), mu = this.SVGgetMu(svg); + min.subscriptshift = (min.subscriptshift === "" ? 0 : SVG.length2em(min.subscriptshift,mu)); + min.superscriptshift = (min.superscriptshift === "" ? 0 : SVG.length2em(min.superscriptshift,mu)); + + var dx = 0; + if (presub) {dx = presub.w+delta} else if (presup) {dx = presup.w-delta} + svg.Add(base,Math.max(0,dx),0); + + if (!sup && !presup) { + v = Math.max(v,SVG.TeX.sub1*scale,min.subscriptshift); + if (sub) {v = Math.max(v,sub.h-(4/5)*x_height)} + if (presub) {v = Math.max(v,presub.h-(4/5)*x_height)} + if (sub) {svg.Add(sub,dx+base.w+s-delta,-v)} + if (presub) {svg.Add(presub,0,-v)} + } else { + if (!sub && !presub) { + var values = this.getValues("displaystyle","texprimestyle"); + p = SVG.TeX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; + u = Math.max(u,p*scale,min.superscriptshift); + if (sup) {u = Math.max(u,sup.d+(1/4)*x_height)} + if (presup) {u = Math.max(u,presup.d+(1/4)*x_height)} + if (sup) {svg.Add(sup,dx+base.w+s,u)} + if (presup) {svg.Add(presup,0,u)} + } else { + v = Math.max(v,SVG.TeX.sub2*scale); + var t = SVG.TeX.rule_thickness * scale; + var h = (sub||presub).h, d = (sup||presup).d; + if (presub) {h = Math.max(h,presub.h)} + if (presup) {d = Math.max(d,presup.d)} + if ((u - d) - (h - v) < 3*t) { + v = 3*t - u + d + h; q = (4/5)*x_height - (u - d); + if (q > 0) {u += q; v -= q} + } + u = Math.max(u,min.superscriptshift); v = Math.max(v,min.subscriptshift); + if (sup) {svg.Add(sup,dx+base.w+s,u)} + if (presup) {svg.Add(presup,dx+delta-presup.w,u)} + if (sub) {svg.Add(sub,dx+base.w+s-delta,-v)} + if (presub) {svg.Add(presub,dx-presub.w,-v)} + } + } + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + var data = this.SVGdata; + data.dx = dx; data.s = s; data.u = u, data.v = v; data.delta = delta; + return svg; + }, + SVGgetScripts: function (s) { + var sup, sub, BOX = []; + var i = 1, m = this.data.length, W = 0; + for (var k = 0; k < 4; k += 2) { + while (i < m && (this.data[i]||{}).type !== "mprescripts") { + var box = [null,null,null,null]; + for (var j = k; j < k+2; j++) { + if (this.data[i] && this.data[i].type !== "none" && this.data[i].type !== "mprescripts") { + if (!BOX[j]) {BOX[j] = SVG.BBOX.G()} + box[j] = this.data[i].toSVG(); + } + if ((this.data[i]||{}).type !== "mprescripts") i++; + } + var isPre = (k === 2); + if (isPre) W += Math.max((box[k]||{w:0}).w,(box[k+1]||{w:0}).w); + if (box[k]) BOX[k].Add(box[k].With({x:W-(isPre?box[k].w:0)})); + if (box[k+1]) BOX[k+1].Add(box[k+1].With({x:W-(isPre?box[k+1].w:0)})); + sub = BOX[k]||{w:0}; sup = BOX[k+1]||{w:0}; + sub.w = sup.w = W = Math.max(sub.w,sup.w); + } + i++; W = 0; + } + for (j = 0; j < 4; j++) {if (BOX[j]) {BOX[j].w += s; BOX[j].Clean()}} + return BOX; + } + }); + + MathJax.Hub.Startup.signal.Post("SVG mmultiscripts Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/mmultiscripts.js"); + +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/ms.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/ms.js new file mode 100644 index 00000000..a14407cd --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/ms.js @@ -0,0 +1,55 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/ms.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG; + + MML.ms.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(); this.SVGhandleSpace(svg); + var values = this.getValues("lquote","rquote","mathvariant"); + if (!this.hasValue("lquote") || values.lquote === '"') values.lquote = "\u201C"; + if (!this.hasValue("rquote") || values.rquote === '"') values.rquote = "\u201D"; + if (values.lquote === "\u201C" && values.mathvariant === "monospace") values.lquote = '"'; + if (values.rquote === "\u201D" && values.mathvariant === "monospace") values.rquote = '"'; + var variant = this.SVGgetVariant(), scale = this.SVGgetScale(); + var text = values.lquote+this.data.join("")+values.rquote; // FIXME: handle mglyph? + svg.Add(this.SVGhandleVariant(variant,scale,text)); + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MathJax.Hub.Startup.signal.Post("SVG ms Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/ms.js"); + +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mtable.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mtable.js new file mode 100644 index 00000000..d1b3b3a7 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mtable.js @@ -0,0 +1,389 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/mtable.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG, + BBOX = SVG.BBOX; + + MML.mtable.Augment({ + toSVG: function (span) { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); + if (this.data.length === 0) {this.SVGsaveData(svg);return svg} + var values = this.getValues("columnalign","rowalign","columnspacing","rowspacing", + "columnwidth","equalcolumns","equalrows", + "columnlines","rowlines","frame","framespacing", + "align","useHeight","width","side","minlabelspacing"); + // Handle relative width as fixed width in relation to container + if (values.width.match(/%$/)) + {svg.width = values.width = SVG.Em((SVG.cwidth/1000)*(parseFloat(values.width)/100))} + + var mu = this.SVGgetMu(svg); + var LABEL = -1; + + var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, + m, M, s, row, cell, mo, HD; + var LH = SVG.FONTDATA.lineH * scale * values.useHeight, + LD = SVG.FONTDATA.lineD * scale * values.useHeight; + + // + // Create cells and measure columns and rows + // + for (i = 0, m = this.data.length; i < m; i++) { + row = this.data[i]; s = (row.type === "mlabeledtr" ? LABEL : 0); + A[i] = []; H[i] = LH; D[i] = LD; + for (j = s, M = row.data.length + s; j < M; j++) { + if (W[j] == null) { + if (j > J) {J = j} + C[j] = BBOX.G(); + W[j] = -SVG.BIGDIMEN; + } + cell = row.data[j-s]; + A[i][j] = cell.toSVG(); +// if (row.data[j-s].isMultiline) {A[i][j].style.width = "100%"} + if (cell.isEmbellished()) { + mo = cell.CoreMO(); + var min = mo.Get("minsize",true); + if (min) { + if (mo.SVGcanStretch("Vertical")) { + HD = mo.SVGdata.h + mo.SVGdata.d; + if (HD) { + min = SVG.length2em(min,mu,HD); + if (min*mo.SVGdata.h/HD > H[i]) {H[i] = min*mo.SVGdata.h/HD} + if (min*mo.SVGdata.d/HD > D[i]) {D[i] = min*mo.SVGdata.d/HD} + } + } else if (mo.SVGcanStretch("Horizontal")) { + min = SVG.length2em(min,mu,mo.SVGdata.w); + if (min > W[j]) {W[j] = min} + } + } + } + if (A[i][j].h > H[i]) {H[i] = A[i][j].h} + if (A[i][j].d > D[i]) {D[i] = A[i][j].d} + if (A[i][j].w > W[j]) {W[j] = A[i][j].w} + } + } + + // + // Determine spacing and alignment + // + var SPLIT = MathJax.Hub.SplitList; + var CSPACE = SPLIT(values.columnspacing), + RSPACE = SPLIT(values.rowspacing), + CALIGN = SPLIT(values.columnalign), + RALIGN = SPLIT(values.rowalign), + CLINES = SPLIT(values.columnlines), + RLINES = SPLIT(values.rowlines), + CWIDTH = SPLIT(values.columnwidth), + RCALIGN = []; + for (i = 0, m = CSPACE.length; i < m; i++) {CSPACE[i] = SVG.length2em(CSPACE[i],mu)} + for (i = 0, m = RSPACE.length; i < m; i++) {RSPACE[i] = SVG.length2em(RSPACE[i],mu)} + while (CSPACE.length < J) {CSPACE.push(CSPACE[CSPACE.length-1])} + while (CALIGN.length <= J) {CALIGN.push(CALIGN[CALIGN.length-1])} + while (CLINES.length < J) {CLINES.push(CLINES[CLINES.length-1])} + while (CWIDTH.length <= J) {CWIDTH.push(CWIDTH[CWIDTH.length-1])} + while (RSPACE.length < A.length) {RSPACE.push(RSPACE[RSPACE.length-1])} + while (RALIGN.length <= A.length) {RALIGN.push(RALIGN[RALIGN.length-1])} + while (RLINES.length < A.length) {RLINES.push(RLINES[RLINES.length-1])} + if (C[LABEL]) { + CALIGN[LABEL] = (values.side.substr(0,1) === "l" ? "left" : "right"); + CSPACE[LABEL] = -W[LABEL]; + } + // + // Override row data + // + for (i = 0, m = A.length; i < m; i++) { + row = this.data[i]; RCALIGN[i] = []; + if (row.rowalign) {RALIGN[i] = row.rowalign} + if (row.columnalign) { + RCALIGN[i] = SPLIT(row.columnalign); + while (RCALIGN[i].length <= J) {RCALIGN[i].push(RCALIGN[i][RCALIGN[i].length-1])} + } + } + + // + // Handle equal heights + // + if (values.equalrows) { + // FIXME: should really be based on row align (below is for baseline) + var Hm = Math.max.apply(Math,H), Dm = Math.max.apply(Math,D); + for (i = 0, m = A.length; i < m; i++) + {s = ((Hm + Dm) - (H[i] + D[i])) / 2; H[i] += s; D[i] += s} + } + + // FIXME: do background colors for entire cell (include half the intercolumn space?) + + // + // Determine array total height + // + HD = H[0] + D[A.length-1]; + for (i = 0, m = A.length-1; i < m; i++) + {HD += Math.max(0,D[i]+H[i+1]+RSPACE[i])} + // + // Determine frame and line sizes + // + var fx = 0, fy = 0, fW, fH = HD; + if (values.frame !== "none" || + (values.columnlines+values.rowlines).match(/solid|dashed/)) { + var frameSpacing = SPLIT(values.framespacing); + if (frameSpacing.length != 2) { + // invalid attribute value: use the default. + frameSpacing = SPLIT(this.defaults.framespacing); + } + fx = SVG.length2em(frameSpacing[0],mu); + fy = SVG.length2em(frameSpacing[1],mu); + fH = HD + 2*fy; // fW waits until svg.w is determined + } + // + // Compute alignment + // + var Y, fY, n = ""; + if (typeof(values.align) !== "string") {values.align = String(values.align)} + if (values.align.match(/(top|bottom|center|baseline|axis)( +(-?\d+))?/)) + {n = RegExp.$3||""; values.align = RegExp.$1} else {values.align = this.defaults.align} + if (n !== "") { + // + // Find the height of the given row + // + n = parseInt(n); + if (n < 0) {n = A.length + 1 + n} + if (n < 1) {n = 1} else if (n > A.length) {n = A.length} + Y = 0; fY = -(HD + fy) + H[0]; + for (i = 0, m = n-1; i < m; i++) { + // FIXME: Should handle values.align for final row + var dY = Math.max(0,D[i]+H[i+1]+RSPACE[i]); + Y += dY; fY += dY; + } + } else { + Y = ({ + top: -(H[0] + fy), + bottom: HD + fy - H[0], + center: HD/2 - H[0], + baseline: HD/2 - H[0], + axis: HD/2 + SVG.TeX.axis_height*scale - H[0] + })[values.align]; + fY = ({ + top: -(HD + 2*fy), + bottom: 0, + center: -(HD/2 + fy), + baseline: -(HD/2 + fy), + axis: SVG.TeX.axis_height*scale - HD/2 - fy + })[values.align]; + } + + var WW, WP = 0, Wt = 0, Wp = 0, p = 0, f = 0, P = [], F = [], Wf = 1; + // + if (values.equalcolumns && values.width !== "auto") { + // + // Handle equalcolumns for percent-width and fixed-width tables + // + + // Get total width minus column spacing + WW = SVG.length2em(values.width,mu); + for (i = 0, m = Math.min(J,CSPACE.length); i < m; i++) {WW -= CSPACE[i]} + // Determine individual column widths + WW /= J; + for (i = 0, m = Math.min(J+1,CWIDTH.length); i < m; i++) {W[i] = WW} + } else { + // + // Get column widths for fit and percentage columns + // + // Calculate the natural widths and percentage widths, + // while keeping track of the fit and percentage columns + for(i = 0, m = Math.min(J+1,CWIDTH.length); i < m; i++) { + if (CWIDTH[i] === "auto") {Wt += W[i]} + else if (CWIDTH[i] === "fit") {F[f] = i; f++; Wt += W[i]} + else if (CWIDTH[i].match(/%$/)) + {P[p] = i; p++; Wp += W[i]; WP += SVG.length2em(CWIDTH[i],mu,1)} + else {W[i] = SVG.length2em(CWIDTH[i],mu); Wt += W[i]} + } + // Get the full width (excluding inter-column spacing) + if (values.width === "auto") { + if (WP > .98) {Wf = Wp/(Wt+Wp); WW = Wt + Wp} else {WW = Wt / (1-WP)} + } else { + WW = Math.max(Wt + Wp, SVG.length2em(values.width,mu)); + for (i = 0, m = Math.min(J,CSPACE.length); i < m; i++) {WW -= CSPACE[i]} + } + // Determine the relative column widths + for (i = 0, m = P.length; i < m; i++) { + W[P[i]] = SVG.length2em(CWIDTH[P[i]],mu,WW*Wf); Wt += W[P[i]]; + } + // Stretch fit columns, if any, otherwise stretch (or shrink) everything + if (Math.abs(WW - Wt) > .01) { + if (f && WW > Wt) { + WW = (WW - Wt) / f; for (i = 0, m = F.length; i < m; i++) {W[F[i]] += WW} + } else {WW = WW/Wt; for (j = 0; j <= J; j++) {W[j] *= WW}} + } + // + // Handle equal columns + // + if (values.equalcolumns) { + var Wm = Math.max.apply(Math,W); + for (j = 0; j <= J; j++) {W[j] = Wm} + } + } + + // + // Lay out array columns + // + var y = Y, dy, align; s = (C[LABEL] ? LABEL : 0); + for (j = s; j <= J; j++) { + C[j].w = W[j]; + for (i = 0, m = A.length; i < m; i++) { + if (A[i][j]) { + s = (this.data[i].type === "mlabeledtr" ? LABEL : 0); + cell = this.data[i].data[j-s]; + if (cell.SVGcanStretch("Horizontal")) { + A[i][j] = cell.SVGstretchH(W[j]); + } else if (cell.SVGcanStretch("Vertical")) { + mo = cell.CoreMO(); + var symmetric = mo.symmetric; mo.symmetric = false; + A[i][j] = cell.SVGstretchV(H[i],D[i]); + mo.symmetric = symmetric; + } + align = cell.rowalign||this.data[i].rowalign||RALIGN[i]; + dy = ({top: H[i] - A[i][j].h, + bottom: A[i][j].d - D[i], + center: ((H[i]-D[i]) - (A[i][j].h-A[i][j].d))/2, + baseline: 0, axis: 0})[align] || 0; // FIXME: handle axis better? + align = (cell.columnalign||RCALIGN[i][j]||CALIGN[j]) + C[j].Align(A[i][j],align,0,y+dy); + } + if (i < A.length-1) {y -= Math.max(0,D[i]+H[i+1]+RSPACE[i])} + } + y = Y; + } + + // + // Place the columns and add column lines + // + var lw = 1.5*SVG.em; + var x = fx - lw/2; + for (j = 0; j <= J; j++) { + svg.Add(C[j],x,0); x += W[j] + CSPACE[j]; + if (CLINES[j] !== "none" && j < J && j !== LABEL) + {svg.Add(BBOX.VLINE(fH,lw,CLINES[j]),x-CSPACE[j]/2,fY)} + } + svg.w += fx; svg.d = -fY; svg.h = fH+fY; + fW = svg.w; + + // + // Add frame + // + if (values.frame !== "none") { + svg.Add(BBOX.HLINE(fW,lw,values.frame),0,fY+fH-lw); + svg.Add(BBOX.HLINE(fW,lw,values.frame),0,fY); + svg.Add(BBOX.VLINE(fH,lw,values.frame),0,fY); + svg.Add(BBOX.VLINE(fH,lw,values.frame),fW-lw,fY); + } + + // + // Add row lines + // + y = Y - lw/2; + for (i = 0, m = A.length-1; i < m; i++) { + dy = Math.max(0,D[i]+H[i+1]+RSPACE[i]); + if (RLINES[i] !== MML.LINES.NONE && RLINES[i] !== "") + {svg.Add(BBOX.HLINE(fW,lw,RLINES[i]),0,y-D[i]-(dy-D[i]-H[i+1])/2)} + y -= dy; + } + + // + // Finish the table + // + svg.Clean(); + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + + // + // Place the labels, if any + // + if (C[LABEL]) { + svg.tw = Math.max(svg.w,svg.r) - Math.min(0,svg.l); + var indent = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); + if (indent.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) {indent.indentalign = indent.indentalignfirst} + if (indent.indentalign === MML.INDENTALIGN.AUTO) {indent.indentalign = this.displayAlign} + if (indent.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) {indent.indentshift = indent.indentshiftfirst} + if (indent.indentshift === "auto" || indent.indentshift === "") {indent.indentshift = "0"} + var shift = SVG.length2em(indent.indentshift,mu,SVG.cwidth); + var labelspace = SVG.length2em(values.minlabelspacing,mu,SVG.cwidth); + var labelW = labelspace + C[LABEL].w, labelshift = 0, tw = svg.w; + var dIndent = SVG.length2em(this.displayIndent,mu,SVG.cwidth); + s = (CALIGN[LABEL] === MML.INDENTALIGN.RIGHT ? -1 : 1); + if (indent.indentalign === MML.INDENTALIGN.CENTER) { + var dx = (SVG.cwidth-tw)/2; shift += dIndent; + if (labelW + s*labelshift > dx + s*shift) { + indent.indentalign = CALIGN[LABEL]; + shift = s*(labelW + s*labelshift); tw += labelW + Math.max(0,shift); + } + } else if (CALIGN[LABEL] === indent.indentalign) { + if (dIndent < 0) {labelshift = s*dIndent; dIndent = 0} + shift += s*dIndent; if (labelW > s*shift) shift = s*labelW; shift += labelshift; + tw += s*shift; + } else { + shift -= s*dIndent; + if (tw - s*shift + labelW > SVG.cwidth) { + shift = s*(tw + labelW - SVG.cwidth); + if (s*shift > 0) {tw = SVG.cwidth + s*shift; shift = 0} + } + } + var eqn = svg; svg = this.SVG(); + svg.hasIndent = true; + svg.w = svg.r = Math.max(tw,SVG.cwidth); + svg.Align(C[LABEL],CALIGN[LABEL],0,0,labelshift); + svg.Align(eqn,indent.indentalign,0,0,shift); + svg.tw = tw; + } + + this.SVGsaveData(svg); + return svg; + }, + SVGhandleSpace: function (svg) { + if (!this.hasFrame && !svg.width) {svg.x = svg.X = 167} + this.SUPER(arguments).SVGhandleSpace.call(this,svg); + } + }); + + MML.mtd.Augment({ + toSVG: function (HW,D) { + var svg = this.svg = this.SVG(); + if (this.data[0]) { + svg.Add(this.SVGdataStretched(0,HW,D)); + svg.Clean(); + } + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MathJax.Hub.Startup.signal.Post("SVG mtable Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/mtable.js"); + +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/multiline.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/multiline.js new file mode 100644 index 00000000..c0040300 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/multiline.js @@ -0,0 +1,732 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/multiline.js + * + * Implements the SVG output for 's that contain line breaks. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG, + BBOX = SVG.BBOX; + // + // Fake node used for testing end-of-line potential breakpoint + // + var MO = MML.mo().With({SVGdata: {w: 0, x:0}}); + + // + // Penalties for the various line breaks + // + var PENALTY = { + newline: 0, + nobreak: 1000000, + goodbreak: [-200], + badbreak: [+200], + auto: [0], + + maxwidth: 1.33, // stop looking for breaks after this time the line-break width + toobig: 800, + nestfactor: 400, + spacefactor: -100, + spaceoffset: 2, + spacelimit: 1, // spaces larger than this get a penalty boost + fence: 500, + close: 500 + }; + + var ENDVALUES = {linebreakstyle: "after"}; + + + /**************************************************************************/ + + MML.mrow.Augment({ + // + // Handle breaking an mrow into separate lines + // + SVGmultiline: function (svg) { + + // + // Find the parent element and mark it as multiline + // + var parent = this; + while (parent.inferred || (parent.parent && parent.parent.type === "mrow" && + parent.isEmbellished())) {parent = parent.parent} + var isTop = ((parent.type === "math" && parent.Get("display") === "block") || + parent.type === "mtd"); + parent.isMultiline = true; + + // + // Default values for the line-breaking parameters + // + var VALUES = this.getValues( + "linebreak","linebreakstyle","lineleading","linebreakmultchar", + "indentalign","indentshift", + "indentalignfirst","indentshiftfirst", + "indentalignlast","indentshiftlast" + ); + if (VALUES.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) + {VALUES.linebreakstyle = this.Get("infixlinebreakstyle")} + VALUES.lineleading = SVG.length2em(VALUES.lineleading,1,0.5); + + // + // Start with a fresh SVG element + // and make it full width if we are breaking to a specific width + // in the top-level math element + // + svg = this.SVG(); + if (isTop && parent.type !== "mtd") { + if (SVG.linebreakWidth < SVG.BIGDIMEN) {svg.w = SVG.linebreakWidth} + else {svg.w = SVG.cwidth} + } + + var state = { + n: 0, Y: 0, + scale: this.scale || 1, + isTop: isTop, + values: {}, + VALUES: VALUES + }, + align = this.SVGgetAlign(state,{}), + shift = this.SVGgetShift(state,{},align), + start = [], + end = { + index:[], penalty:PENALTY.nobreak, + w:0, W:shift, shift:shift, scanW:shift, + nest: 0 + }, + broken = false; + + // + // Break the expression at its best line breaks + // + while (this.SVGbetterBreak(end,state,true) && + (end.scanW >= SVG.linebreakWidth || end.penalty === PENALTY.newline)) { + this.SVGaddLine(svg,start,end.index,state,end.values,broken); + start = end.index.slice(0); broken = true; + align = this.SVGgetAlign(state,end.values); + shift = this.SVGgetShift(state,end.values,align); + if (align === MML.INDENTALIGN.CENTER) {shift = 0} + end.W = end.shift = end.scanW = shift; end.penalty = PENALTY.nobreak; + } + state.isLast = true; + this.SVGaddLine(svg,start,[],state,ENDVALUES,broken); + + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + svg.isMultiline = true; + + this.SVGsaveData(svg); + return svg; + } + }); + + /**************************************************************************/ + + MML.mbase.Augment({ + SVGlinebreakPenalty: PENALTY, + + /****************************************************************/ + // + // Locate the next linebreak that is better than the current one + // + SVGbetterBreak: function (info,state,toplevel) { + if (this.isToken) {return false} // FIXME: handle breaking of token elements + if (this.isEmbellished()) { + info.embellished = this; + return this.CoreMO().SVGbetterBreak(info,state); + } + if (this.linebreakContainer) {return false} + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; + if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; info.nest++; + // + // Look through the line for breakpoints, + // (as long as we are not too far past the breaking width) + // + while (i < m && (info.scanW < PENALTY.maxwidth*SVG.linebreakWidth || info.w === 0)) { + if (this.data[i]) { + if (this.data[i].SVGbetterBreak(info,state)) { + better = true; index = [i].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) { + info.index = index; + if (info.nest) {info.nest--} + return true; + } + } + scanW = (broken ? info.scanW : this.SVGaddWidth(i,info,scanW)); + } + info.index = []; i++; broken = false; + } + // + // Check if end-of-line is a better breakpoint + // + if (toplevel && better) { + MO.parent = this.parent; MO.inherit = this.inherit; + if (MO.SVGbetterBreak(info,state)) {better = false; index = info.index} + } + if (info.nest) {info.nest--} + info.index = index; + if (better) {info.W = W} + return better; + }, + SVGaddWidth: function (i,info,scanW) { + if (this.data[i]) { + var svg = this.data[i].SVGdata; + scanW += svg.w + svg.x; if (svg.X) {scanW += svg.X} + info.W = info.scanW = scanW; info.w = 0; + } + return scanW; + }, + + /****************************************************************/ + // + // Create a new line and move the required elements into it + // Position it using proper alignment and indenting + // + SVGaddLine: function (svg,start,end,state,values,broken) { + // + // Create a box for the line, with empty BBox + // fill it with the proper elements, + // and clean up the bbox + // + var line = BBOX(); + state.first = broken; state.last = true; + this.SVGmoveLine(start,end,line,state,values); + line.Clean(); + // + // Get the alignment and shift values + // + var align = this.SVGgetAlign(state,values), + shift = this.SVGgetShift(state,values,align); + // + // Set the Y offset based on previous depth, leading, and current height + // + if (state.n > 0) { + var LHD = SVG.FONTDATA.baselineskip * state.scale; + var leading = (state.values.lineleading == null ? state.VALUES : state.values).lineleading * state.scale; + state.Y -= Math.max(LHD,state.d + line.h + leading); + } + // + // Place the new line + // + if (line.w + shift > svg.w) svg.w = line.w + shift; + svg.Align(line,align,0,state.Y,shift); + // + // Save the values needed for the future + // + state.d = line.d; state.values = values; state.n++; + }, + + /****************************************************************/ + // + // Get alignment and shift values from the given data + // + SVGgetAlign: function (state,values) { + var cur = values, prev = state.values, def = state.VALUES, align; + if (state.n === 0) {align = cur.indentalignfirst || prev.indentalignfirst || def.indentalignfirst} + else if (state.isLast) {align = prev.indentalignlast || def.indentalignlast} + else {align = prev.indentalign || def.indentalign} + if (align === MML.INDENTALIGN.INDENTALIGN) {align = prev.indentalign || def.indentalign} + if (align === MML.INDENTALIGN.AUTO) {align = (state.isTop ? this.displayAlign : MML.INDENTALIGN.LEFT)} + return align; + }, + SVGgetShift: function (state,values,align) { + var cur = values, prev = state.values, def = state.VALUES, shift; + if (state.n === 0) {shift = cur.indentshiftfirst || prev.indentshiftfirst || def.indentshiftfirst} + else if (state.isLast) {shift = prev.indentshiftlast || def.indentshiftlast} + else {shift = prev.indentshift || def.indentshift} + if (shift === MML.INDENTSHIFT.INDENTSHIFT) {shift = prev.indentshift || def.indentshift} + if (shift === "auto" || shift === "") {shift = "0"} + shift = SVG.length2em(shift,1,SVG.cwidth); + if (state.isTop && this.displayIndent !== "0") { + var indent = SVG.length2em(this.displayIndent,1,SVG.cwidth); + shift += (align === MML.INDENTALIGN.RIGHT ? -indent: indent); + } + return shift; + }, + + /****************************************************************/ + // + // Move the selected elements into the new line, + // moving whole items when possible, and parts of ones + // that are split by a line break. + // + SVGmoveLine: function (start,end,svg,state,values) { + var i = start[0], j = end[0]; + if (i == null) {i = -1}; if (j == null) {j = this.data.length-1} + if (i === j && start.length > 1) { + // + // If starting and ending in the same element move the subpiece to the new line + // + this.data[i].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); + } else { + // + // Otherwise, move the remainder of the initial item + // and any others up to the last one + // + var last = state.last; state.last = false; + while (i < j) { + if (this.data[i]) { + if (start.length <= 1) {this.data[i].SVGmove(svg,state,values)} + else {this.data[i].SVGmoveSlice(start.slice(1),[],svg,state,values,"paddingLeft")} + } + i++; state.first = false; start = []; + } + // + // If the last item is complete, move it, + // otherwise move the first part of it up to the split + // + state.last = last; + if (this.data[i]) { + if (end.length <= 1) {this.data[i].SVGmove(svg,state,values)} + else {this.data[i].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} + } + } + }, + + /****************************************************************/ + // + // Split an element and copy the selected items into the new part + // + SVGmoveSlice: function (start,end,svg,state,values,padding) { + // + // Create a new container for the slice of the element + // Move the selected portion into the slice + // + var slice = BBOX(); + this.SVGmoveLine(start,end,slice,state,values); + slice.Clean(); + if (this.href) {this.SVGaddHref(slice)} + this.SVGhandleColor(slice); + if (start.length == 0) this.SVGhandleSpace(slice); + svg.Add(slice,svg.w,0,true); + return slice; + }, + + /****************************************************************/ + // + // Move an element from its original position to its new location in + // a split element or the new line's position + // + SVGmove: function (line,state,values) { + // FIXME: handle linebreakstyle === "duplicate" + // FIXME: handle linebreakmultchar + if (!(state.first || state.last) || + (state.first && state.values.linebreakstyle === MML.LINEBREAKSTYLE.BEFORE) || + (state.last && values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER)) { + // + // Recreate output + // Remove padding (if first, remove at leftt, if last remove at right) + // Add to line + // + var svg = this.toSVG(this.SVGdata.HW,this.SVGdata.D); + if (state.first || state.nextIsFirst) {svg.x = 0} + if (state.last && svg.X) {svg.X = 0} + line.Add(svg,line.w,0,true); + } + if (state.first && svg && svg.w === 0) {state.nextIsFirst = true} + else {delete state.nextIsFirst} + } + }); + + /**************************************************************************/ + + MML.mfenced.Augment({ + SVGbetterBreak: function (info,state) { + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; + if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; info.nest++; + // + // Create indices that include the delimiters and separators + // + if (!this.dataI) { + this.dataI = []; + if (this.data.open) {this.dataI.push("open")} + if (m) {this.dataI.push(0)} + for (var j = 1; j < m; j++) { + if (this.data["sep"+j]) {this.dataI.push("sep"+j)} + this.dataI.push(j); + } + if (this.data.close) {this.dataI.push("close")} + } + m = this.dataI.length; + // + // Look through the line for breakpoints, including the open, close, and separators + // (as long as we are not too far past the breaking width) + // + while (i < m && (info.scanW < PENALTY.maxwidth*SVG.linebreakWidth || info.w === 0)) { + var k = this.dataI[i]; + if (this.data[k]) { + if (this.data[k].SVGbetterBreak(info,state)) { + better = true; index = [i].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) { + info.index = index; + if (info.nest) {info.nest--} + return true; + } + } + scanW = (broken ? info.scanW : this.SVGaddWidth(i,info,scanW)); + } + info.index = []; i++; broken = false; + } + if (info.nest) {info.nest--} + info.index = index; + if (better) {info.W = W; info.w = w} + return better; + }, + + SVGmoveLine: function (start,end,svg,state,values) { + var i = start[0], j = end[0]; + if (i == null) {i = -1}; if (j == null) {j = this.dataI.length-1} + if (i === j && start.length > 1) { + // + // If starting and ending in the same element move the subpiece to the new line + // + this.data[this.dataI[i]].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); + } else { + // + // Otherwise, move the remainder of the initial item + // and any others (including open and separators) up to the last one + // + var last = state.last; state.last = false; var k = this.dataI[i]; + while (i < j) { + if (this.data[k]) { + if (start.length <= 1) {this.data[k].SVGmove(svg,state,values)} + else {this.data[k].SVGmoveSlice(start.slice(1),[],svg,state,values,"paddingLeft")} + } + i++; k = this.dataI[i]; state.first = false; start = []; + } + // + // If the last item is complete, move it + // + state.last = last; + if (this.data[k]) { + if (end.length <= 1) {this.data[k].SVGmove(svg,state,values)} + else {this.data[k].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} + } + } + } + + }); + + /**************************************************************************/ + + MML.msubsup.Augment({ + SVGbetterBreak: function (info,state) { + if (!this.data[this.base]) {return false} + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + W, w, scanW, broken = (info.index.length > 0), better = false; + if (!broken) {info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; + // + // Record the width of the base and the super- and subscripts + // + if (i == null) {this.SVGdata.dw = this.SVGdata.w - this.data[this.base].SVGdata.w} + // + // Check if the base can be broken + // + if (this.data[this.base].SVGbetterBreak(info,state)) { + better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) {better = broken = true} + } + // + // Add in the base if it is unbroken, and add the scripts + // + if (!broken) {this.SVGaddWidth(this.base,info,scanW)} + info.scanW += this.SVGdata.dw; info.W = info.scanW; + info.index = []; if (better) {info.W = W; info.w = w; info.index = index} + return better; + }, + + SVGmoveLine: function (start,end,svg,state,values) { + // + // Move the proper part of the base + // + if (this.data[this.base]) { + if (start.length > 1) { + this.data[this.base].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); + } else { + if (end.length <= 1) {this.data[this.base].SVGmove(svg,state,values)} + else {this.data[this.base].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} + } + } + // + // If this is the end, check for super and subscripts, and move those + // by moving the stack that contains them, and shifting by the amount of the + // base that has been removed. Remove the empty base box from the stack. + // + if (end.length === 0) { + var sup = this.data[this.sup], sub = this.data[this.sub], w = svg.w, data; + if (sup) {data = sup.SVGdata||{}; svg.Add(sup.toSVG(),w+(data.dx||0),data.dy)} + if (sub) {data = sub.SVGdata||{}; svg.Add(sub.toSVG(),w+(data.dx||0),data.dy)} + } + } + + }); + + /**************************************************************************/ + + MML.mmultiscripts.Augment({ + SVGbetterBreak: function (info,state) { + if (!this.data[this.base]) {return false} + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0); info.index.shift(); + var W, w, scanW, broken = (info.index.length > 0), better = false; + if (!broken) {info.W += info.w; info.w = 0} + info.scanW = info.W; + // + // The width of the postscripts + // + var dw = this.SVGdata.w - this.data[this.base].SVGdata.w - this.SVGdata.dx; + // + // Add in the prescripts + // + info.scanW += this.SVGdata.dx; scanW = info.scanW; + // + // Check if the base can be broken (but don't break between prescripts and base) + // + if (this.data[this.base].SVGbetterBreak(info,state)) { + better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) {better = broken = true} + } + // + // Add in the base if it is unbroken, and add the postscripts + // + if (!broken) {this.SVGaddWidth(this.base,info,scanW)} + info.scanW += dw; info.W = info.scanW; + info.index = []; if (better) {info.W = W; info.w = w; info.index = index} + return better; + }, + + SVGmoveLine: function (start,end,svg,state,values) { + var dx, data = this.SVGdata; + // + // If this is the start, move the prescripts, if any. + // + if (start.length < 1) { + this.scriptBox = this.SVGgetScripts(this.SVGdata.s); + var presub = this.scriptBox[2], presup = this.scriptBox[3]; dx = svg.w + data.dx; + if (presup) {svg.Add(presup,dx+data.delta-presup.w,data.u)} + if (presub) {svg.Add(presub,dx-presub.w,-data.v)} + } + // + // Move the proper part of the base + // + if (this.data[this.base]) { + if (start.length > 1) { + this.data[this.base].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); + } else { + if (end.length <= 1) {this.data[this.base].SVGmove(svg,state,values)} + else {this.data[this.base].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} + } + } + // + // If this is the end, move the postscripts, if any. + // + if (end.length === 0) { + var sub = this.scriptBox[0], sup = this.scriptBox[1]; dx = svg.w + data.s; + if (sup) {svg.Add(sup,dx,data.u)} + if (sub) {svg.Add(sub,dx-data.delta,-data.v)} + delete this.scriptBox; + } + } + + }); + + /**************************************************************************/ + + MML.mo.Augment({ + // + // Override the method for checking line breaks to properly handle + // + SVGbetterBreak: function (info,state) { + if (info.values && info.values.last === this) {return false} + var values = this.getValues( + "linebreak","linebreakstyle","lineleading","linebreakmultchar", + "indentalign","indentshift", + "indentalignfirst","indentshiftfirst", + "indentalignlast","indentshiftlast", + "texClass", "fence" + ); + if (values.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) + {values.linebreakstyle = this.Get("infixlinebreakstyle")} + // + // Adjust nesting by TeX class (helps output that does not include + // mrows for nesting, but can leave these unbalanced. + // + if (values.texClass === MML.TEXCLASS.OPEN) {info.nest++} + if (values.texClass === MML.TEXCLASS.CLOSE && info.nest) {info.nest--} + // + // Get the default penalty for this location + // + var W = info.scanW, mo = info.embellished; delete info.embellished; + if (!mo || !mo.SVGdata) {mo = this} + var svg = mo.SVGdata, w = svg.w + svg.x; + if (values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER) {W += w; w = 0} + if (W - info.shift === 0 && values.linebreak !== MML.LINEBREAK.NEWLINE) + {return false} // don't break at zero width (FIXME?) + var offset = SVG.linebreakWidth - W; + // adjust offest for explicit first-line indent and align + if (state.n === 0 && (values.indentshiftfirst !== state.VALUES.indentshiftfirst || + values.indentalignfirst !== state.VALUES.indentalignfirst)) { + var align = this.SVGgetAlign(state,values), + shift = this.SVGgetShift(state,values,align); + offset += (info.shift - shift); + } + // + var penalty = Math.floor(offset / SVG.linebreakWidth * 1000); + if (penalty < 0) {penalty = PENALTY.toobig - 3*penalty} + if (values.fence) {penalty += PENALTY.fence} + if ((values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER && + values.texClass === MML.TEXCLASS.OPEN) || + values.texClass === MML.TEXCLASS.CLOSE) {penalty += PENALTY.close} + penalty += info.nest * PENALTY.nestfactor; + // + // Get the penalty for this type of break and + // use it to modify the default penalty + // + var linebreak = PENALTY[values.linebreak||MML.LINEBREAK.AUTO]||0; + if (!MathJax.Object.isArray(linebreak)) { + // for breaks past the width, keep original penalty for newline + if (linebreak || offset >= 0) {penalty = linebreak * info.nest} + } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} + // + // If the penalty is no better than the current one, return false + // Otherwise save the data for this breakpoint and return true + // + if (penalty >= info.penalty) {return false} + info.penalty = penalty; info.values = values; info.W = W; info.w = w; + values.lineleading = SVG.length2em(values.lineleading,1,state.VALUES.lineleading); + values.last = this; + return true; + } + }); + + /**************************************************************************/ + + MML.mspace.Augment({ + // + // Override the method for checking line breaks to properly handle + // + SVGbetterBreak: function (info,state) { + if (info.values && info.values.last === this) {return false} + var values = this.getValues("linebreak"); + var linebreakValue = values.linebreak; + if (!linebreakValue || this.hasDimAttr()) { + // The MathML spec says that the linebreak attribute should be ignored + // if any dimensional attribute is set. + linebreakValue = MML.LINEBREAK.AUTO; + } + // + // Get the default penalty for this location + // + var W = info.scanW, svg = this.SVGdata, w = svg.w + svg.x; + if (W - info.shift === 0) {return false} // don't break at zero width (FIXME?) + var offset = SVG.linebreakWidth - W; + // + var penalty = Math.floor(offset / SVG.linebreakWidth * 1000); + if (penalty < 0) {penalty = PENALTY.toobig - 3*penalty} + penalty += info.nest * PENALTY.nestfactor; + // + // Get the penalty for this type of break and + // use it to modify the default penalty + // + var linebreak = PENALTY[linebreakValue]||0; + if (linebreakValue === MML.LINEBREAK.AUTO && w >= PENALTY.spacelimit*1000 && + !this.mathbackground && !this.backrgound) + {linebreak = [(w/1000+PENALTY.spaceoffset)*PENALTY.spacefactor]} + if (!MathJax.Object.isArray(linebreak)) { + // for breaks past the width, keep original penalty for newline + if (linebreak || offset >= 0) {penalty = linebreak * info.nest} + } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} + // + // If the penalty is no better than the current one, return false + // Otherwise save the data for this breakpoint and return true + // + if (penalty >= info.penalty) {return false} + info.penalty = penalty; info.values = values; info.W = W; info.w = w; + values.lineleading = state.VALUES.lineleading; + values.linebreakstyle = "before"; values.last = this; + return true; + } + }); + + // + // Hook into the mathchoice extension + // + MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function () { + MML.TeXmathchoice.Augment({ + SVGbetterBreak: function (info,state) { + return this.Core().SVGbetterBreak(info,state); + }, + SVGmoveLine: function (start,end,svg,state,values) { + return this.Core().SVGmoveSlice(start,end,svg,state,values); + } + }); + }); + + // + // Have maction process only the selected item + // + MML.maction.Augment({ + SVGbetterBreak: function (info,state) { + return this.Core().SVGbetterBreak(info,state); + }, + SVGmoveLine: function (start,end,svg,state,values) { + return this.Core().SVGmoveSlice(start,end,svg,state,values); + }, + }); + + // + // Have semantics only do the first element + // (FIXME: do we need to do anything special about annotation-xml?) + // + MML.semantics.Augment({ + SVGbetterBreak: function (info,state) { + return (this.data[0] ? this.data[0].SVGbetterBreak(info,state) : false); + }, + SVGmoveLine: function (start,end,svg,state,values) { + return (this.data[0] ? this.data[0].SVGmoveSlice(start,end,svg,state,values) : null); + } + }); + + /**************************************************************************/ + + MathJax.Hub.Startup.signal.Post("SVG multiline Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/multiline.js"); + +}); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/config.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/config.js new file mode 100644 index 00000000..db49139f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/config.js @@ -0,0 +1,107 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/config.js + * + * Initializes the SVG OutputJax (the main definition is in + * MathJax/jax/input/SVG/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.OutputJax.SVG = MathJax.OutputJax({ + id: "SVG", + version: "2.7.5", + directory: MathJax.OutputJax.directory + "/SVG", + extensionDir: MathJax.OutputJax.extensionDir + "/SVG", + autoloadDir: MathJax.OutputJax.directory + "/SVG/autoload", + fontDir: MathJax.OutputJax.directory + "/SVG/fonts", // font name added later + + config: { + scale: 100, minScaleAdjust: 50, // global math scaling factor, and minimum adjusted scale factor + font: "TeX", // currently the only font available + blacker: 1, // stroke-width to make fonts blacker + mtextFontInherit: false, // to make be in page font rather than MathJax font + undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif", // fonts to use for missing characters + + addMMLclasses: false, // keep MathML structure and use CSS classes to mark elements + useFontCache: true, // use elements to re-use font paths rather than repeat paths every time + useGlobalCache: true, // store fonts in a global for use in all equations, or one in each equation + + EqnChunk: (MathJax.Hub.Browser.isMobile ? 10: 50), + // number of equations to process before showing them + EqnChunkFactor: 1.5, // chunk size is multiplied by this after each chunk + EqnChunkDelay: 100, // milliseconds to delay between chunks (to let browser + // respond to other events) + + linebreaks: { + automatic: false, // when false, only process linebreak="newline", + // when true, insert line breaks automatically in long expressions. + + width: "container" // maximum width of a line for automatic line breaks (e.g. "30em"). + // use "container" to compute size from containing element, + // use "nn% container" for a portion of the container, + // use "nn%" for a portion of the window size + }, + + merrorStyle: { + fontSize:"90%", color:"#C00", background:"#FF8", + border: "1px solid #C00", padding:"3px" + }, + + styles: { + ".MathJax_SVG_Display": { + "text-align": "center", + margin: "1em 0em" + }, + + // + // For mtextFontInherit version of \texttt{} + // + ".MathJax_SVG .MJX-monospace": { + "font-family": "monospace" + }, + + // + // For mtextFontInherit version of \textsf{} + // + ".MathJax_SVG .MJX-sans-serif": { + "font-family": "sans-serif" + }, + + // + // For tooltips + // + "#MathJax_SVG_Tooltip": { + "background-color": "InfoBackground", color: "InfoText", + border: "1px solid black", + "box-shadow": "2px 2px 5px #AAAAAA", // Opera 10.5 + "-webkit-box-shadow": "2px 2px 5px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow": "2px 2px 5px #AAAAAA", // Forefox 3.5 + "-khtml-box-shadow": "2px 2px 5px #AAAAAA", // Konqueror + padding: "3px 4px", + "z-index": 401 + } + } + } +}); + +if (!MathJax.Hub.config.delayJaxRegistration) {MathJax.OutputJax.SVG.Register("jax/mml")} + +MathJax.OutputJax.SVG.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js new file mode 100644 index 00000000..79d3497a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js @@ -0,0 +1,140 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Arrows.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // LEFTWARDS ARROW + 0x2190: [437,-64,500,64,423,'292 419Q292 400 261 347T211 275H306Q319 275 338 275T364 276Q399 276 410 271T422 250T411 230T366 225H306H211Q214 222 232 197T271 136T292 82Q292 71 285 68T262 64H250H241Q221 64 216 67T205 83Q186 127 153 167T78 230Q64 238 64 250Q64 258 69 263T82 272T106 288T139 318Q162 342 177 365T198 402T209 425T223 436Q224 437 252 437H258Q292 437 292 419'], + + // RIGHTWARDS ARROW + 0x2192: [437,-64,500,58,417,'188 417Q188 437 221 437H233Q256 437 263 434T275 417Q294 373 327 333T402 270Q417 261 417 250Q417 241 410 236T382 217T341 182Q315 155 299 128T275 85T263 66Q259 64 231 64H219Q197 64 191 72T193 100Q202 124 215 147T239 185T257 210T267 223L269 225H174H116Q80 225 69 229T58 250T70 271T114 276Q121 276 140 276T174 275H269L267 277Q266 280 257 291T233 325T205 374Q188 408 188 417'], + + // LEFTWARDS ARROW WITH STROKE + 0x219A: [437,-60,1000,56,942,'942 250Q942 244 928 230H511L457 148Q440 124 420 93Q404 68 400 64T389 60Q381 60 375 66T368 81Q368 88 415 159L462 230H175L188 214Q210 188 235 145T264 85Q264 75 260 74T231 72L206 74L191 103Q169 142 164 150Q130 195 64 239Q56 244 56 250T64 261Q115 294 142 323T191 397L206 428H231Q255 428 259 426T264 414Q260 397 235 355T188 288L175 272L331 270Q488 270 491 272Q491 275 542 352T597 432Q602 437 609 437Q617 437 622 432T628 417T582 341L537 272L735 270H931Q942 257 942 250'], + + // RIGHTWARDS ARROW WITH STROKE + 0x219B: [437,-60,1000,54,942,'54 250Q54 258 66 270H277L488 272L542 350Q596 431 602 435Q604 437 609 437Q617 437 622 432T628 417T582 341L537 272L608 270H751L822 272L808 288Q786 313 761 355T733 414Q733 424 737 426T766 428H793L806 397Q829 354 864 314Q896 284 928 263Q942 257 942 250T928 237Q887 208 864 185Q829 147 806 103L793 74L766 72Q742 72 738 73T733 85Q735 102 756 137T797 198L817 225L822 230H511L457 148Q440 124 420 93Q404 68 400 64T389 60Q381 60 375 66T368 81Q368 88 415 159L462 230H264L66 232Q54 239 54 250'], + + // LEFTWARDS TWO HEADED ARROW + 0x219E: [417,-83,1000,56,944,'56 250Q103 277 142 322T199 417H221Q244 417 244 416Q244 414 237 397T208 344T158 278L151 270H276L285 277Q322 306 349 345T388 417H434Q434 413 424 392T393 338T349 279L340 270H634Q933 270 937 266L938 265Q944 259 944 250T938 235L937 234Q933 230 634 230H340L349 221Q372 196 393 163T424 108T434 83H388Q377 116 350 155T285 223L276 230H151L158 222Q186 191 207 156T236 104T244 84Q244 83 221 83H199Q181 133 142 178T56 250'], + + // RIGHTWARDS TWO HEADED ARROW + 0x21A0: [417,-83,1000,55,943,'943 250Q895 221 856 177T801 83H778Q755 83 755 84Q755 86 762 103T791 156T841 222L848 230H723L714 223Q677 194 650 155T611 83H565Q565 87 575 108T606 162T650 221L659 230H365Q66 230 62 234L61 235Q55 241 55 250T61 265L62 266Q66 270 365 270H659L650 279Q627 304 606 337T575 392T565 417H611Q622 384 649 345T714 277L723 270H848L841 278Q813 309 792 344T763 396T755 416Q755 417 778 417H801Q817 367 856 323T943 250'], + + // LEFTWARDS ARROW WITH TAIL + 0x21A2: [417,-83,1111,56,1031,'56 250Q103 277 142 322T199 417H221Q244 417 244 416Q244 414 237 397T208 344T158 278L151 270H873L882 277Q919 306 946 345T985 417H1031Q1031 413 1021 392T990 338T946 279L937 270V230L946 221Q969 196 990 163T1021 108T1031 83H985Q974 116 947 155T882 223L873 230H151L158 222Q186 191 207 156T236 104T244 84Q244 83 221 83H199Q181 133 142 178T56 250'], + + // RIGHTWARDS ARROW WITH TAIL + 0x21A3: [417,-83,1111,79,1054,'1054 250Q1006 221 967 177T912 83H889Q866 83 866 84Q866 86 873 103T902 156T952 222L959 230H237L228 223Q191 194 164 155T125 83H79Q79 87 89 108T120 162T164 221L173 230V270L164 279Q141 304 120 337T89 392T79 417H125Q136 384 163 345T228 277L237 270H959L952 278Q924 309 903 344T874 396T866 416Q866 417 889 417H912Q928 367 967 323T1054 250'], + + // LEFTWARDS ARROW WITH LOOP + 0x21AB: [576,41,1000,56,965,'56 250Q103 277 142 322T199 417H221Q244 417 244 416Q244 414 237 397T208 344T158 278L151 270H622V305Q622 356 624 388T635 460T661 521T709 559T785 575Q813 575 833 573T880 561T923 534T952 483T964 405Q964 374 959 350T942 307T918 276T884 255T847 242T804 235T760 231T713 230H662V-27Q654 -41 644 -41H642H640Q628 -41 622 -27V230H151L158 222Q186 191 207 156T236 104T244 84Q244 83 221 83H199Q181 133 142 178T56 250ZM924 403Q924 474 894 505T794 536Q758 536 734 526T696 500T675 453T665 395T662 319V270H699Q826 270 875 295T924 403'], + + // RIGHTWARDS ARROW WITH LOOP + 0x21AC: [575,41,1000,35,943,'35 405Q35 454 48 489T86 542T137 567T195 575Q229 575 251 571T301 554T345 510T370 429Q377 384 377 305V270H848L841 278Q813 309 792 344T763 396T755 416Q755 417 778 417H801Q817 367 856 323T943 250Q896 221 857 177T801 83H778Q755 83 755 84Q755 86 762 103T791 156T841 222L848 230H377V-27Q369 -41 359 -41H357Q342 -41 337 -25V230H286Q247 231 225 232T169 238T115 255T75 284T45 333T35 405ZM75 406Q75 322 123 296T300 270H337V319Q335 432 317 477T240 534Q232 535 197 535Q140 535 108 507T75 406'], + + // LEFT RIGHT WAVE ARROW + 0x21AD: [417,-83,1389,57,1331,'57 250Q159 311 200 417H246L242 407Q215 340 159 278L152 270H276L315 310Q354 349 358 351Q366 356 376 351Q378 350 455 273L530 196L606 273Q683 350 686 351Q694 354 703 351Q705 350 782 273L858 196L933 273Q1010 350 1012 351Q1022 356 1030 351Q1034 349 1073 310L1112 270H1236L1229 278Q1173 340 1146 407L1142 417H1188Q1233 306 1331 250Q1231 192 1188 83H1142L1146 93Q1173 160 1229 222L1236 230H1168Q1155 230 1139 230T1119 229Q1112 229 1108 229T1099 231T1092 233T1085 238T1078 245T1068 256T1056 269L1021 304L984 267Q948 230 910 191T867 149Q857 144 848 150Q844 151 770 227T694 304T618 228T540 150Q531 144 521 149Q517 152 479 191T404 267L367 304L332 269Q328 264 320 256T310 246T303 239T296 234T289 231T280 229T269 229Q265 229 249 229T220 230H152L159 222Q215 160 242 93L246 83H223L200 84L195 96Q152 190 57 250'], + + // LEFT RIGHT ARROW WITH STROKE + 0x21AE: [437,-60,1000,56,942,'491 272Q491 275 542 352T597 432Q602 437 609 437Q617 437 622 432T628 417T582 341L537 272L608 270H751L822 272L808 288Q786 313 761 355T733 414Q733 424 737 426T766 428H793L806 397Q829 354 864 314Q896 284 928 263Q942 257 942 250T928 237Q887 208 864 185Q829 147 806 103L793 74L766 72Q742 72 738 73T733 85Q735 102 756 137T797 198L817 225L822 230H511L457 148Q440 124 420 93Q404 68 400 64T389 60Q381 60 375 66T368 81Q368 88 415 159L462 230H175L188 214Q210 188 235 145T264 85Q264 75 260 74T231 72L206 74L191 103Q169 142 164 150Q130 195 64 239Q56 244 56 250T64 261Q115 294 142 323T191 397L206 428H231Q255 428 259 426T264 414Q260 397 235 355T188 288L175 272L331 270Q488 270 491 272'], + + // UPWARDS ARROW WITH TIP LEFTWARDS + 0x21B0: [722,0,500,56,444,'56 555Q74 567 79 570T107 592T141 625T170 667T198 722H221Q244 722 244 721Q244 718 236 699T207 647T161 587L151 576L291 575H292H293H294H296H297H298H299H300H301H302H304H305H306H307H308H309H310H311H312H314H315H316H317H318H319H320H321H322H323H324H325H327H328H329H330H331H332H333H334H335H336H337H338H339H340H341H342H343H345Q435 574 438 570L439 569L440 568Q444 564 444 287Q444 15 442 12Q436 0 424 0T406 12Q404 15 404 275V535H151L162 523Q187 495 207 462T236 410T244 389H198L193 402Q171 457 131 497T56 555'], + + // UPWARDS ARROW WITH TIP RIGHTWARDS + 0x21B1: [722,0,500,55,443,'301 722Q339 618 443 555L437 551Q431 547 422 541T401 526T377 504T352 477T327 443T306 402L301 389H255Q255 392 263 410T291 461T337 523L348 535H95V275Q95 15 93 12Q87 0 75 0T57 12Q55 15 55 287Q55 564 59 568L60 569Q64 573 76 573T208 575L348 576L338 587Q314 613 294 646T264 698T255 721Q255 722 278 722H301'], + + // ANTICLOCKWISE TOP SEMICIRCLE ARROW + 0x21B6: [461,1,1000,17,950,'361 210Q373 210 373 182V177Q373 155 370 151T348 139Q303 118 267 84T216 28T201 1Q197 -1 196 -1Q189 -1 184 8Q166 39 143 64T99 104T61 129T32 144T19 150Q17 152 17 179Q17 203 21 208Q28 210 39 206Q106 178 157 135L175 119V126Q179 130 179 155Q182 173 193 201Q228 305 312 374T510 459Q532 461 551 461H567Q678 461 784 386Q835 344 861 301Q902 245 926 173T950 32Q950 15 944 8Q930 -6 917 8Q910 12 910 43Q901 208 801 314T561 421Q453 421 359 359Q300 319 263 258T217 126L216 125Q216 124 216 123T217 122Q219 122 229 131T260 156T301 181Q314 189 336 199T361 210'], + + // CLOCKWISE TOP SEMICIRCLE ARROW + 0x21B7: [460,1,1000,46,982,'972 209Q980 209 981 204T982 179Q982 155 979 151T957 139Q915 121 878 86T815 8Q808 -1 803 -1Q801 -1 797 1Q797 6 783 28T732 84T650 139L628 150Q626 152 626 177Q626 201 630 206Q636 210 637 210Q650 210 697 181Q727 166 764 137L784 119L782 132Q767 239 689 318T499 417Q474 421 442 421Q343 421 261 369T130 219Q86 121 86 28Q86 15 79 8Q73 1 66 1T53 8Q46 15 46 30Q46 102 77 192T186 361Q274 443 386 459Q396 460 426 460Q515 460 588 431T703 361T773 271T812 187T822 132Q822 123 825 123Q936 209 972 209'], + + // ANTICLOCKWISE OPEN CIRCLE ARROW + 0x21BA: [650,83,778,56,722,'369 543T369 563T397 583Q408 583 440 579L454 577L464 581Q492 592 516 609T552 638T565 650Q604 638 607 637Q606 636 598 628T585 614T570 601T548 584T523 568L510 560L516 558Q522 555 527 553T541 546T559 536T580 523T603 506T626 485Q722 384 722 250Q722 106 622 12T387 -83Q253 -83 155 12T56 250Q56 357 110 433T235 545Q244 550 252 550Q270 550 270 531Q270 522 261 515T238 501T202 477T159 433Q95 352 95 250Q95 131 178 45T388 -42Q511 -42 596 43T682 250Q682 340 636 408T522 511Q495 526 488 526Q488 525 488 525T487 522T485 515L490 506Q505 481 516 451T531 404T535 384L532 385Q529 386 524 387T513 390L491 397L488 408Q472 483 413 542L399 543Q369 543 369 563'], + + // CLOCKWISE OPEN CIRCLE ARROW + 0x21BB: [650,83,778,56,721,'170 637L213 650Q270 597 313 581L323 577L337 579Q369 583 380 583Q408 583 408 563T380 543H378L364 542Q305 483 289 408L286 397L264 390Q259 389 254 388T245 385L242 384Q242 387 246 403T261 450T287 506L292 515Q291 519 291 521T290 524T289 526Q284 526 265 517T216 486T160 434T114 354T95 249Q95 132 178 45T388 -42Q513 -42 597 44T682 250Q682 337 638 404T532 506Q529 508 525 510T519 514T515 516T511 519T509 522T508 526T507 531Q507 550 525 550Q533 550 542 545Q569 532 596 511T653 454T702 366T721 250Q721 151 672 74T547 -43T388 -83Q254 -83 155 12T56 250Q56 385 151 485Q164 498 179 509T205 528T228 542T247 551T260 558L267 560L254 568Q215 590 170 637'], + + // UPWARDS HARPOON WITH BARB RIGHTWARDS + 0x21BE: [694,194,417,188,375,'188 258V694H208L215 682Q246 628 293 594T375 551V528Q375 505 374 505Q369 505 351 510T299 534T237 578L228 587V205Q228 -178 226 -182Q221 -194 208 -194T190 -182Q188 -178 188 258'], + + // UPWARDS HARPOON WITH BARB LEFTWARDS + 0x21BF: [694,194,417,41,228,'41 551Q76 559 123 592T201 682L208 694H228V258Q228 -178 226 -182Q221 -194 208 -194T190 -182Q188 -178 188 205V587L179 578Q151 552 117 534T65 511T42 505Q41 505 41 528V551'], + + // DOWNWARDS HARPOON WITH BARB RIGHTWARDS + 0x21C2: [694,194,417,188,375,'190 682Q195 694 208 694T226 683Q228 679 228 296V-87L237 -78Q265 -52 299 -34T351 -11T374 -5Q375 -5 375 -28V-51Q340 -60 293 -92T215 -182L208 -194H188V242Q188 678 190 682'], + + // DOWNWARDS HARPOON WITH BARB LEFTWARDS + 0x21C3: [694,194,417,41,228,'188 295V573Q188 657 189 672T200 692Q206 694 208 694Q221 694 226 683Q228 679 228 242V-194H208L201 -182Q170 -128 123 -94T41 -51V-28Q41 -5 42 -5Q47 -5 65 -10T117 -34T179 -78L188 -87V295'], + + // RIGHTWARDS ARROW OVER LEFTWARDS ARROW + 0x21C4: [667,0,1000,55,944,'943 500Q895 471 856 427T801 333H778Q755 333 755 334Q755 336 762 353T791 406T841 472L848 480H459Q70 480 67 482Q55 488 55 500T67 518Q70 520 459 520H848L841 528Q813 559 792 594T763 646T755 666Q755 667 778 667H801Q817 617 856 573T943 500ZM56 167Q102 194 141 238T198 333H221Q244 333 244 332Q221 265 161 198L151 187H539Q928 187 930 186Q944 182 944 167Q944 155 934 149Q930 147 541 147H151L160 137Q185 110 205 77T235 24T244 1Q244 0 221 0H199Q158 106 56 167'], + + // LEFTWARDS ARROW OVER RIGHTWARDS ARROW + 0x21C6: [667,0,1000,55,944,'56 500Q103 527 142 572T199 667H221Q244 667 244 666Q244 664 237 647T208 594T158 528L151 520H539Q928 520 932 518Q944 513 944 500T932 482Q928 480 539 480H151L158 472Q186 441 207 406T236 354T244 334Q244 333 221 333H199Q181 383 142 428T56 500ZM943 167Q835 101 801 0H778Q755 0 755 1T758 9T765 25T771 39Q800 94 839 137L848 147H458Q68 147 66 149Q55 154 55 167Q55 182 69 186Q71 187 460 187H848L838 198Q811 228 791 261T762 314L755 332Q755 333 778 333H801Q841 227 943 167'], + + // LEFTWARDS PAIRED ARROWS + 0x21C7: [583,83,1000,55,944,'930 437Q944 426 944 416T934 399Q930 397 540 397H150L159 387Q185 360 205 328T234 277T243 252Q243 237 217 191T159 113L150 103H540Q930 103 934 101Q944 94 944 84Q944 71 930 64L540 63H151Q180 34 203 -2T236 -61L244 -83H198Q178 -31 142 11T66 77L55 83L65 89Q157 145 197 246Q199 250 190 269Q150 359 65 411L55 417L66 423Q106 447 142 489T198 583H244Q202 488 151 437H930'], + + // UPWARDS PAIRED ARROWS + 0x21C8: [694,193,833,83,749,'83 551Q190 590 250 694Q251 689 263 671T307 621T380 567Q409 551 416 551Q422 551 447 563T511 608T577 684L582 694Q642 591 749 551V528Q749 505 748 505Q745 505 724 515T669 546T612 590L602 599V-181Q595 -193 585 -193H582H581Q568 -193 565 -183L563 -179L562 209V598L552 589Q517 556 473 531T414 506H412Q411 506 393 514T361 530T324 553T280 589L270 598V-179Q255 -192 250 -193H247Q237 -193 230 -181V599L220 590Q197 567 164 546T110 515T84 505Q83 505 83 528V551'], + + // RIGHTWARDS PAIRED ARROWS + 0x21C9: [583,83,1000,55,944,'55 416Q55 427 70 437H848Q819 466 796 502T764 561L755 583H801Q821 531 857 489T933 423L944 417L934 411Q843 355 802 254Q800 250 809 231Q849 141 934 89L944 83L933 77Q893 53 857 11T801 -83H755Q797 12 848 63H459L70 64Q55 70 55 84Q55 94 65 101Q69 103 459 103H849L840 113Q806 148 779 196T756 254Q756 255 760 264T770 286T786 315T809 351T840 387L849 397H459Q69 397 65 399Q55 406 55 416'], + + // DOWNWARDS PAIRED ARROWS + 0x21CA: [694,194,833,83,749,'230 681Q240 694 251 694Q260 693 270 680V-98L280 -89Q297 -73 314 -60T348 -38T374 -24T397 -13T412 -6H414Q428 -6 473 -32T552 -89L562 -98V291L563 680Q570 693 582 693Q593 694 602 681V-99L612 -90Q635 -68 668 -47T723 -15T748 -5Q749 -5 749 -28V-51Q642 -91 582 -194L577 -184Q551 -141 512 -108T447 -63T416 -51T385 -63T321 -108T255 -184L250 -194Q189 -89 83 -51V-28Q83 -5 84 -5Q88 -5 109 -15T164 -46T220 -90L230 -99V681'], + + // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + 0x21CB: [514,14,1000,55,944,'195 504L198 514H221Q244 514 244 512Q244 508 239 490T215 437T171 376L162 367H545Q928 367 932 365Q944 360 944 347T932 329Q928 327 492 327H55V347L67 354Q113 379 146 420T195 504ZM67 171Q70 173 507 173H944V153L932 146Q839 95 804 -4L801 -14H778Q755 -14 755 -12Q768 59 828 124L837 133H454Q71 133 67 135Q55 140 55 153Q55 165 67 171'], + + // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CC: [514,14,1000,55,944,'755 512Q755 514 778 514H801L804 503Q805 501 812 486T824 462T839 437T862 408T892 381T932 354L944 347V327H507Q70 327 67 329Q55 335 55 347T67 365Q70 367 454 367H837L828 376Q803 403 785 437T761 489T755 512ZM55 153V173H492Q928 173 932 171Q944 166 944 153T932 135Q928 133 545 133H162L171 124Q198 95 216 61T239 8L244 -12Q244 -14 221 -14H198L195 -4Q160 95 67 146L55 153'], + + // LEFTWARDS DOUBLE ARROW WITH STROKE + 0x21CD: [535,35,1000,54,942,'397 525Q410 525 414 524T418 516Q418 506 394 467T331 381L319 367H473L624 369L657 445Q674 487 684 507T699 531T709 534Q717 534 722 528T728 516Q728 510 695 434Q689 418 683 402T672 377T668 367H928Q942 355 942 347Q942 341 928 327H791Q651 327 651 325Q649 324 620 251T586 174Q586 172 757 172H928Q942 158 942 152Q942 143 928 132H568L537 54Q510 -9 503 -22T486 -35Q479 -35 473 -29T466 -17T495 61L526 132H319L331 118Q364 81 391 37T418 -17Q418 -23 415 -24T401 -26Q398 -26 397 -26L384 -24L377 -13Q344 49 301 97T218 170T143 210T84 233T55 245Q54 253 59 256T86 267Q281 327 377 512L384 525H397ZM606 325Q606 327 439 327H275Q258 312 179 265L148 249Q228 206 262 181L275 172H544L575 247L606 325'], + + // LEFT RIGHT DOUBLE ARROW WITH STROKE + 0x21CE: [534,37,1000,32,965,'395 -24T395 -19T417 57T440 132H255L266 116Q308 64 340 -6Q342 -17 337 -21Q335 -26 320 -26T302 -19Q302 -15 294 4T265 54T217 117T145 182T49 236Q30 243 33 254Q40 261 49 263Q98 283 142 315T214 379T263 442T293 493T302 519Q305 525 320 525T337 521Q342 516 340 505Q308 435 266 383L255 370L384 367H515Q561 522 569 530Q574 534 580 534Q587 534 594 528T602 516Q602 512 580 441T557 367H651L742 370L731 383Q689 435 657 505Q655 516 660 521Q662 525 677 525T695 519Q695 515 703 496T732 446T780 383T853 317T949 263Q967 258 964 245Q959 240 949 236Q897 215 852 182T779 116T731 52T703 3T695 -19Q692 -26 677 -26T660 -21Q655 -17 657 -6Q670 21 682 42T702 77T717 99T728 114T735 122T739 126T740 130T613 132H482L460 54Q440 -9 433 -23T415 -37Q408 -37 402 -31ZM502 325Q502 327 360 327H217L195 310Q173 291 120 256L111 250Q114 248 143 229T195 190L217 172H335L453 174L502 325ZM886 250Q885 251 865 263T831 286T802 310L780 327H544L535 299Q531 283 511 223L495 174L637 172H780L802 190Q843 225 877 243L886 250'], + + // RIGHTWARDS DOUBLE ARROW WITH STROKE + 0x21CF: [534,36,1000,55,943,'346 174Q348 176 378 249T411 325Q411 327 239 327H68Q55 342 55 347Q55 354 68 367H428L459 445Q487 509 494 521T510 534Q517 534 524 527T531 516Q531 515 502 438L471 367H677L666 381Q631 421 605 463T578 516Q578 522 582 523T599 525H615L619 512Q659 437 714 383T812 309T896 272T942 254Q943 246 938 243T911 232Q718 172 619 -13L615 -24L599 -26Q578 -26 578 -17Q578 -11 587 6T617 53T666 118L677 132H373L339 54Q323 12 313 -8T298 -32T288 -35Q280 -35 275 -29T269 -17Q269 -14 298 57T328 132H68Q55 145 55 152Q55 156 56 158T62 165T68 172H206Q346 172 346 174ZM848 249Q763 297 735 318L722 327H455L422 252L391 174Q391 172 557 172H722L735 181Q773 210 819 234L848 249'], + + // LEFTWARDS TRIPLE ARROW + 0x21DA: [611,111,1000,76,945,'944 54Q942 44 929 36H372Q372 34 377 26T395 -4T422 -58Q442 -109 442 -110T408 -111H374L370 -100Q282 124 87 243L76 250L87 257Q284 377 370 600L374 611H408Q442 611 442 610Q423 550 381 480Q380 478 379 475T376 471T374 468T372 465V464H929Q942 456 944 446Q944 442 943 439T941 434T938 430T935 428T931 426T928 424H344L336 414Q277 336 200 277L191 270H560Q929 270 933 268Q944 262 944 250Q944 237 933 232Q929 230 560 230H191L200 223Q279 162 336 86L344 76H928Q929 76 931 75T934 73T938 70T941 66T943 61T944 54'], + + // RIGHTWARDS TRIPLE ARROW + 0x21DB: [611,111,1000,55,923,'56 250Q56 260 68 270H808L799 277Q720 338 663 414L655 424H363Q71 424 68 426Q55 432 55 444T68 462Q71 464 349 464H627Q627 466 622 474T604 504T577 558Q557 609 557 610T591 611H626L629 600Q717 376 912 257L923 250L912 243Q715 123 629 -100L626 -111H591Q557 -111 557 -110Q576 -50 618 20Q619 22 620 25T623 29T625 32T626 35L627 36H349Q71 36 68 38Q55 44 55 56T68 74Q71 76 363 76H655L663 86Q722 164 799 223L808 230H438L68 231Q56 236 56 250'], + + // RIGHTWARDS SQUIGGLE ARROW + 0x21DD: [417,-83,1000,56,943,'76 230Q68 230 62 237T56 250Q56 257 63 264T91 291Q102 300 108 306L159 351Q168 356 177 351L218 316L303 239L353 195Q376 214 403 239L488 316L529 351Q538 356 546 351Q548 350 594 310L638 270H848L841 278Q813 309 792 344T763 396T755 416Q755 417 778 417H801Q817 367 856 323T943 250Q895 221 856 177T801 83H778Q755 83 755 84Q755 86 762 103T791 156T841 222L848 230H737Q625 230 622 232Q620 233 599 251T558 288L537 306Q537 305 451 228T362 149Q353 146 345 149Q341 150 255 227T169 306Q167 306 129 270Q123 265 115 257T102 245T93 237T84 232T76 230'], + + // LEFTWARDS DASHED ARROW + 0x21E0: [437,-64,1334,64,1251,'292 419Q292 400 261 347T211 275H306H364Q400 275 411 271T422 250T411 230T366 225H306H211Q214 222 232 197T271 136T292 82Q292 71 285 68T262 64H250H241Q221 64 216 67T205 83Q186 127 153 167T78 230Q64 238 64 250Q64 258 69 263T82 272T106 288T139 318Q162 342 177 365T198 402T209 425T223 436Q224 437 252 437H258Q292 437 292 419ZM501 237T501 250T515 270H819Q834 262 834 250T819 230H515Q501 237 501 250ZM918 237T918 250T932 270H1236Q1251 262 1251 250T1236 230H932Q918 237 918 250'], + + // RIGHTWARDS DASHED ARROW + 0x21E2: [437,-64,1334,84,1251,'84 237T84 250T98 270H402Q417 262 417 250T402 230H98Q84 237 84 250ZM501 237T501 250T515 270H819Q834 262 834 250T819 230H515Q501 237 501 250ZM1022 417Q1022 437 1055 437H1067Q1090 437 1097 434T1109 417Q1128 373 1161 333T1236 270Q1251 261 1251 250Q1251 241 1244 236T1216 217T1175 182Q1149 155 1133 128T1109 85T1097 66Q1093 64 1065 64H1053Q1031 64 1025 72T1027 100Q1036 124 1049 147T1073 185T1091 210T1101 223L1103 225H1008H950Q914 225 903 229T892 250T903 270T948 275H1008H1103L1101 277Q1100 280 1091 291T1067 325T1039 374Q1022 408 1022 417'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Arrows.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js new file mode 100644 index 00000000..e8243979 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/BoxDrawing.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // BOX DRAWINGS LIGHT DOWN AND RIGHT + 0x250C: [694,-306,500,55,444,'76 306Q62 306 59 319T55 386V500V596Q55 664 57 676T68 692Q71 694 250 694Q428 694 432 692Q444 685 444 674Q444 665 432 656Q428 654 261 654H95V487Q95 355 95 336T90 312Q84 306 76 306'], + + // BOX DRAWINGS LIGHT DOWN AND LEFT + 0x2510: [694,-306,500,55,445,'424 306Q418 306 413 310T406 318L404 321V654H238Q71 654 68 656Q55 662 55 674T68 692Q71 694 250 694H379Q432 694 438 688Q443 683 443 662T444 500T444 338T438 312Q432 306 424 306'], + + // BOX DRAWINGS LIGHT UP AND RIGHT + 0x2514: [366,22,500,55,444,'55 172V287Q55 341 58 353T76 366Q88 366 95 351V18H261Q428 18 432 16Q444 9 444 -2Q444 -11 432 -20Q428 -22 250 -22H120Q67 -22 61 -16Q56 -11 56 10T55 172'], + + // BOX DRAWINGS LIGHT UP AND LEFT + 0x2518: [366,22,500,55,444,'404 351Q410 366 424 366Q437 366 440 353T444 288V172V72Q444 8 443 -4T432 -20Q428 -22 250 -22Q71 -22 68 -20Q55 -14 55 -2T68 16Q71 18 238 18H404V351'], + + // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT + 0x2571: [694,195,889,0,860,'19 -195Q13 -195 7 -188T0 -176Q0 -169 18 -151L822 683Q835 694 840 694T852 688T860 674Q860 667 810 614T460 252Q57 -167 44 -179Q27 -195 19 -195'], + + // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT + 0x2572: [694,195,889,0,860,'0 675Q0 681 6 687T19 694Q27 694 44 678L460 247Q759 -62 809 -115T860 -175Q860 -183 852 -189T840 -195Q835 -195 822 -184L18 649Q0 667 0 675'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/BoxDrawing.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js new file mode 100644 index 00000000..7da40015 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // COMBINING CIRCUMFLEX ACCENT + 0x302: [845,-561,0,-2347,13,'-2332 561Q-2336 563 -2340 577T-2346 604L-2347 618Q-2347 625 -2340 628T-2310 635Q-2302 636 -2297 637Q-2270 641 -1712 745Q-1185 845 -1168 845Q-1166 845 -581 739L5 630Q13 630 13 618Q7 565 -1 561Q-4 561 -584 654Q-716 675 -867 699T-1092 736T-1166 748Q-1168 748 -1240 737T-1466 700T-1750 654Q-2330 561 -2332 561'], + + // COMBINING TILDE + 0x303: [899,-628,0,-2332,-3,'-1529 788Q-1616 788 -1727 772T-1936 732T-2120 685T-2258 645T-2315 628Q-2322 628 -2322 632Q-2325 637 -2329 668T-2331 704Q-2331 713 -2297 732Q-2278 739 -2091 795Q-1711 898 -1507 898Q-1440 898 -1386 895Q-1324 887 -1277 872T-1146 819Q-1047 776 -977 758T-806 739Q-719 739 -608 755T-399 795T-215 842T-77 882T-20 899Q-13 899 -13 895Q-10 890 -6 860T-4 824Q-4 818 -37 795Q-60 787 -244 732Q-523 657 -735 632Q-771 629 -841 629Q-944 629 -1013 644T-1189 708Q-1285 751 -1356 769T-1529 788'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js new file mode 100644 index 00000000..c535ae80 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Dingbats.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // CHECK MARK + 0x2713: [706,34,833,84,749,'84 231Q84 244 114 264T170 285Q176 285 183 274T224 205Q267 129 268 129Q271 141 279 163T318 250T389 378T502 523T662 673Q702 706 732 706H734Q749 706 749 695Q749 682 730 666T660 607T559 505Q387 299 328 29Q324 0 295 -17T245 -34H241Q234 -34 225 -21T185 46Q166 79 154 101Q84 223 84 231'], + + // MALTESE CROSS + 0x2720: [716,22,833,48,786,'195 702T195 706T201 716H632Q638 710 638 706T636 700T621 690Q436 581 427 374V357H430Q554 357 645 421Q682 447 711 483T755 542T770 567Q775 572 786 563V131Q777 125 774 125T762 139Q709 228 642 274T482 333Q452 337 430 337H427V320Q430 279 437 247T462 170T521 82T621 4Q630 -2 633 -4T637 -7T638 -12Q638 -16 632 -22H201Q195 -16 195 -12T197 -6T212 4Q397 113 406 320V337H403Q279 337 188 273Q151 247 122 211T78 152T63 127Q58 122 48 131V563Q54 569 59 569Q62 569 71 555Q124 466 191 420T351 361Q381 357 403 357H406V374Q403 415 396 447T371 525T312 613T212 690Q199 697 197 699'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Dingbats.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js new file mode 100644 index 00000000..c1d4ef11 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/EnclosedAlphanum.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // CIRCLED LATIN CAPITAL LETTER S + 0x24C8: [709,175,902,8,894,'451 -175Q328 -175 226 -115T66 47T8 267Q8 303 15 342T39 431T94 531T186 622Q239 663 307 686T424 709H440Q604 709 716 622Q757 592 788 555T838 482T869 414T886 350T892 301T894 267Q894 147 835 45T674 -116T451 -175ZM854 268Q854 375 802 467T657 614T450 670Q283 670 166 552T49 267Q49 99 167 -18T453 -136Q617 -136 735 -18T854 268ZM273 378Q273 430 309 474T409 527Q411 527 417 527T428 528Q498 528 549 484L567 505Q583 528 590 528H594Q600 528 606 522V350L600 344H586Q577 344 574 344T569 347T566 357Q542 491 432 491Q389 491 365 465T340 407Q340 391 344 378T358 356T377 340T400 328T421 321T443 316T459 313Q499 305 517 300T559 279T601 238Q629 195 629 148Q629 80 583 33T471 -14Q392 -14 330 30Q312 6 293 -13Q292 -14 285 -14Q279 -14 273 -8V77V138Q273 160 275 165T286 170H294H307Q313 164 313 158Q313 108 350 67T471 26Q512 26 537 54T562 119Q562 137 558 151T544 176T527 193T504 205T483 212T459 218T441 222Q391 232 368 241T318 273Q273 316 273 378'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/EnclosedAlphanum.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js new file mode 100644 index 00000000..a70afb7b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/GeneralPunctuation.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // REVERSED PRIME + 0x2035: [560,-43,275,12,244,'12 501Q12 527 31 542T63 558Q73 560 77 560Q114 560 128 528Q133 518 188 293T244 61Q244 56 223 50T195 43Q192 43 190 45T102 263T14 486Q12 496 12 501'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/GeneralPunctuation.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js new file mode 100644 index 00000000..0774cef4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js @@ -0,0 +1,53 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/GeometricShapes.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // BLACK SQUARE + 0x25A0: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71'], + + // WHITE SQUARE + 0x25A1: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM682 40V649H95V40H682'], + + // BLACK UP-POINTING TRIANGLE + 0x25B2: [575,20,722,84,637,'99 -20Q84 -11 84 0Q84 5 148 145T278 424L342 563Q347 575 360 575Q368 575 375 570Q376 569 441 430T571 148T637 0Q637 -11 622 -20H99'], + + // WHITE UP-POINTING TRIANGLE + 0x25B3: [575,20,722,84,637,'99 -20Q84 -11 84 0Q84 5 148 145T278 424L342 563Q347 575 360 575Q368 575 375 570Q376 569 441 430T571 148T637 0Q637 -11 622 -20H99ZM476 260L360 509L248 266Q137 24 135 22Q135 20 360 20Q586 20 586 21L476 260'], + + // BLACK RIGHT-POINTING TRIANGLE + 0x25B6: [540,41,778,83,694,'83 523Q83 524 85 527T92 535T103 539Q107 539 389 406T680 268Q694 260 694 249Q694 239 687 234Q685 232 395 95L107 -41H101Q90 -40 83 -26V523'], + + // BLACK DOWN-POINTING TRIANGLE + 0x25BC: [576,19,722,84,637,'84 556Q84 567 99 576H622Q637 567 637 556Q637 551 572 409T441 127T375 -14Q368 -19 360 -19H358Q349 -19 342 -7T296 92Q249 193 211 275Q84 550 84 556'], + + // WHITE DOWN-POINTING TRIANGLE + 0x25BD: [576,19,722,84,637,'84 556Q84 567 99 576H622Q637 567 637 556Q637 551 572 409T441 127T375 -14Q368 -19 360 -19H358Q349 -19 342 -7T296 92Q249 193 211 275Q84 550 84 556ZM586 534Q586 536 361 536Q135 536 135 535L358 52L361 47L473 290Q584 532 586 534'], + + // BLACK LEFT-POINTING TRIANGLE + 0x25C0: [539,41,778,83,694,'694 -26Q686 -40 676 -41H670L382 95Q92 232 90 234Q83 239 83 249Q83 262 96 267Q101 270 379 401T665 537Q671 539 674 539Q686 539 694 524V-26'], + + // LOZENGE + 0x25CA: [716,132,667,56,611,'318 709Q325 716 332 716Q340 716 344 713T474 511Q611 298 611 292Q611 285 526 152Q494 103 474 72Q347 -128 344 -130Q340 -132 333 -132T322 -130Q319 -128 257 -31T131 169T60 278Q56 285 56 292Q56 298 60 305Q73 326 194 516T318 709ZM567 290T567 291T451 475T333 658L100 293Q100 288 215 108L333 -74Q334 -74 450 108'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/GeometricShapes.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js new file mode 100644 index 00000000..9fb01f27 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/GreekAndCoptic.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // GREEK SMALL LETTER DIGAMMA + 0x3DD: [605,85,778,55,719,'477 261Q477 257 473 256T455 253T417 251T348 250H235L155 -77L146 -82Q137 -85 109 -85Q55 -85 55 -77L139 261Q224 596 226 598Q229 603 239 603Q240 603 254 603T290 603T341 604T405 605T477 605Q656 603 687 602T719 596Q719 589 692 588T513 585H319L282 427L242 272Q242 270 351 270Q388 270 410 270T444 269T460 267T469 265T477 261'], + + // GREEK KAPPA SYMBOL + 0x3F0: [434,6,667,37,734,'228 325Q170 322 156 316T127 309Q108 309 104 314Q99 319 99 322T108 341Q125 376 171 400T268 425H271Q302 425 319 396Q328 377 328 358Q328 332 324 314Q311 270 286 221Q274 194 274 192H275Q339 234 484 325T639 421Q669 434 691 434T723 425T734 406Q734 394 719 381Q715 376 644 330L575 287L566 267Q543 233 526 176Q520 160 515 143T508 115T506 105Q506 103 533 103Q585 103 607 110T641 118Q670 118 670 107Q670 100 661 85Q643 50 598 27T504 3Q465 3 450 36Q441 51 441 73Q441 84 444 96Q452 146 484 205L497 236L324 125Q143 12 135 10Q103 -6 77 -6Q61 -6 49 2T37 21Q37 36 49 46T124 96L195 141L204 156Q219 179 243 248T264 323Q264 325 228 325'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js new file mode 100644 index 00000000..3c379b89 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Latin1Supplement.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // YEN SIGN + 0xA5: [683,0,750,11,738,'515 0Q494 3 374 3Q256 3 235 0H224V46H257Q316 47 324 58Q327 62 327 137V213H133Q121 213 113 213T97 213T86 213T78 213T73 214T70 215T69 216T68 218T67 220Q64 225 66 231T73 240Q76 242 202 242H327V273L247 407H115Q81 407 75 408T67 414Q64 419 66 425T73 434Q76 436 153 436Q228 436 228 437Q227 440 173 530T115 623Q101 637 31 637H11V683H20Q66 681 153 681Q169 681 202 681T262 682L288 683H298V637H280Q230 636 230 621Q230 619 250 584Q255 576 264 561T286 526T305 494L340 437L403 436H467L513 514Q564 596 564 605Q564 608 560 616Q550 634 517 637H508V683H516Q531 680 633 680Q722 680 731 683H738V637H723Q644 632 617 595Q614 591 568 515T521 437T597 436T676 434Q681 432 683 426T682 414T671 409T589 407H503L422 273V242H547Q673 242 676 240Q681 238 683 232T682 220Q682 219 682 218T681 217T679 216T677 215T672 214T664 213T652 213T637 213T616 213H422V139V87Q422 64 425 58T441 49Q456 46 503 46H525V0H515ZM449 406Q449 407 403 407Q358 407 358 406L370 387Q381 368 392 350L404 331Q447 404 449 406'], + + // REGISTERED SIGN + 0xAE: [709,176,947,32,915,'915 266Q915 140 852 38T689 -120T474 -175Q312 -175 188 -71T38 190Q32 220 32 266V287Q32 345 57 416T129 545Q192 624 282 666T464 709Q513 709 522 708Q599 698 665 666T776 590T853 493T900 387T915 287V266ZM875 285Q875 339 853 399T789 517T676 616T519 668Q510 669 465 669Q380 669 299 630T155 514T77 336Q72 312 72 285V266V256Q72 123 163 11Q290 -135 474 -135Q614 -135 727 -46Q875 81 875 266V285ZM276 457Q275 458 274 460T272 463T270 465T267 467T264 469T258 471T252 472T243 473T232 474T218 474H204V514H335Q477 514 499 510Q560 502 610 467T661 375Q661 362 658 350T648 327T635 308T618 292T601 280T583 269T568 262T554 256L547 253Q548 252 556 247T570 237T586 223T602 202T614 174Q616 169 626 123T638 72Q652 23 683 23Q715 23 720 68Q721 78 724 81T740 84T756 82T760 70Q760 47 747 25T715 -7Q700 -14 673 -14Q672 -14 662 -14T643 -12T619 -7T593 2T568 16T547 37T534 67Q531 80 531 97Q531 103 531 116T532 136Q532 218 472 236Q466 238 413 239H360V148L361 58Q366 47 375 44T418 40H432V0H424Q409 3 318 3T212 0H204V40H218Q242 40 253 42T268 47T276 58V457ZM376 473Q365 471 363 464T360 430V366V276H416Q421 276 434 276T453 276T469 277T486 279T501 282T517 287T529 294T542 305Q561 324 561 375Q561 424 545 444T482 472Q478 473 427 474Q415 474 403 474T384 474L376 473'], + + // LATIN SMALL LETTER ETH + 0xF0: [749,21,556,42,509,'75 566V604Q75 624 79 629T102 635Q124 635 127 629T131 588L133 550L191 588L249 628L231 635Q176 654 124 657Q116 657 106 658L95 659Q94 661 94 687T95 715Q99 717 113 717Q195 717 282 679L309 668L331 681Q351 697 391 721Q428 748 435 748Q437 749 446 749Q470 749 473 746Q478 744 478 681V621Q466 615 456 615Q435 615 424 624L422 661V699L382 675L344 648Q353 639 366 630Q480 538 504 413Q509 393 509 333V313Q509 284 507 257T495 184T466 102T413 33T329 -16Q311 -21 275 -21Q226 -21 195 -10Q150 7 110 50T53 141Q42 179 42 227Q42 332 101 403T245 474Q282 474 314 461T359 436T380 415Q386 405 389 408Q389 426 378 475Q368 505 355 529T329 567T306 590T288 603L282 606L120 501Q116 500 102 500Q84 500 75 506V566ZM388 225Q388 376 309 410Q299 416 273 419Q216 419 191 390Q174 371 168 342T162 218Q162 112 184 79Q212 39 273 39Q312 39 342 62T380 121Q388 159 388 225'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Latin1Supplement.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js new file mode 100644 index 00000000..f2f39e91 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/LatinExtendedA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // LATIN SMALL LETTER H WITH STROKE + 0x127: [695,13,540,42,562,'182 599Q182 611 174 615T133 619Q118 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 295 644T282 597Q282 592 360 592H399Q430 592 445 587T460 563Q460 552 451 541L442 535H266L251 468Q247 453 243 436T236 409T233 399Q233 395 244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26L166 530Q166 534 161 534T129 535Q127 535 122 535T112 534Q74 534 74 562Q74 570 77 576T84 585T96 589T109 591T124 592T138 592L182 595V599'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js new file mode 100644 index 00000000..3a58a35f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/LetterlikeSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // stix-/hbar - Planck's over 2pi + 0x210F: [695,13,540,42,562,'150 475Q147 475 118 466T82 457Q73 457 64 467T54 487Q54 490 55 492Q63 506 64 506Q67 512 118 526Q162 541 169 546Q173 559 175 575Q181 596 181 604Q181 613 166 617Q164 617 153 618T135 619Q119 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 291 628L278 577L386 612Q466 635 476 635T492 627T499 607Q499 593 489 586Q485 583 373 546L262 512Q262 511 248 455T233 397T236 397T244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26Q42 45 98 257L151 475H150'], + + // INVERTED OHM SIGN + 0x2127: [685,22,722,44,675,'126 584Q119 584 110 539T97 493Q95 490 73 490Q44 490 44 501Q44 515 62 590Q75 672 82 679Q84 684 177 684Q193 684 214 684T241 685Q265 685 271 682T277 664V648Q271 572 229 434T186 231Q186 173 203 132T247 70T302 42T360 33Q391 33 419 42T474 72T517 133T533 231Q533 297 491 437T442 648Q442 675 446 679Q448 684 542 684Q635 684 637 681Q640 678 657 594T675 501Q675 490 646 490Q624 490 622 493Q620 493 609 538T593 584Q591 585 585 585T569 586T551 588H513Q514 586 518 573T538 531T582 453Q647 340 660 277Q663 259 663 232Q663 194 657 177Q652 151 629 112T560 39Q495 -5 424 -19Q403 -22 360 -22Q318 -22 297 -19Q239 -8 193 18T120 74T80 131T62 177Q56 194 56 229Q56 281 74 328T137 453Q160 491 174 518T193 555T201 575T206 588H168Q160 587 150 587T134 586T126 584'], + + // TURNED CAPITAL F + 0x2132: [695,1,556,55,497,'457 681Q471 695 477 695Q485 695 497 681V12L484 -1H68Q55 14 55 19T68 39H457V328H215L211 335Q198 346 211 359L217 368H457V681'], + + // BET SYMBOL + 0x2136: [763,21,667,-22,687,'56 706V726Q56 763 76 763Q83 763 87 759T98 741Q108 726 116 721L127 717L340 715Q547 712 564 709Q575 705 587 692Q599 680 605 663L609 650V137H676Q687 124 687 115Q687 110 678 100T622 43L558 -21H-9Q-22 -6 -22 -1T-13 14T42 72L107 137H569V339Q569 541 567 546Q558 555 554 557L545 563H329Q118 566 101 569Q90 573 78 586Q54 610 54 661Q54 670 56 706'], + + // GIMEL SYMBOL + 0x2137: [764,43,444,-22,421,'56 750Q68 764 76 764Q88 764 97 743T125 717Q131 715 240 715T358 713Q421 691 421 640Q421 608 399 588T358 566Q353 566 352 565T351 557L356 526Q356 488 379 346T402 97Q400 21 385 -12Q366 -43 351 -43Q335 -43 329 -10Q316 40 316 64Q316 67 315 67Q313 67 269 26L222 -21H-9Q-22 -7 -22 -1Q-22 4 -14 14T42 73L107 137H311V564H211H164Q115 564 93 573T60 615Q56 630 56 690V750'], + + // DALET SYMBOL + 0x2138: [764,43,667,54,640,'62 757Q69 764 75 764Q87 764 97 741Q102 731 105 728T117 721L129 715H349Q569 715 580 710Q618 701 635 670Q640 661 640 639Q640 609 622 590Q617 583 604 575T580 566H573V553Q575 547 576 531T582 469T600 353Q624 205 624 104Q624 46 617 17T591 -32Q581 -43 573 -43Q550 -43 540 44Q535 73 533 319V564H322Q117 566 100 570Q90 573 77 586Q54 609 54 663Q54 689 55 706Q55 738 56 745T62 757'], + + // TURNED SANS-SERIF CAPITAL G + 0x2141: [705,23,639,37,577,'239 665Q194 665 154 653T90 629T66 617Q59 617 53 623T46 637Q46 652 66 659Q129 695 197 701Q218 705 248 705Q293 705 335 693Q371 684 435 644Q543 562 573 417Q577 393 577 341Q577 290 573 266Q531 83 384 10Q346 -9 315 -16T234 -23H206Q202 -23 183 -23T152 -21T120 -18T88 -10T63 3T44 24L37 35V297L50 310H235Q248 297 248 290Q248 285 235 270H77V103Q77 88 77 80T77 63T78 50T80 43T82 38T85 35T89 32T95 30Q126 20 206 17Q289 17 330 30Q407 55 460 120T533 275Q538 305 538 342Q538 486 452 575T239 665'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js new file mode 100644 index 00000000..836ff282 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js @@ -0,0 +1,131 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'] = { + directory: 'AMS/Regular', + family: 'MathJax_AMS', + id: 'MJAMS', + Ranges: [ + [0x80,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2190,0x21FF,"Arrows"], + [0x2200,0x22FF,"MathOperators"], + [0x2300,0x23FF,"MiscTechnical"], + [0x2460,0x24FF,"EnclosedAlphanum"], + [0x2500,0x257F,"BoxDrawing"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x2700,0x27BF,"Dingbats"], + [0x2980,0x29FF,"MiscMathSymbolsB"], + [0x2A00,0x2AFF,"SuppMathOperators"], + [0xE000,0xF8FF,"PUA"] + ], + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LATIN CAPITAL LETTER A + 0x41: [701,1,722,17,703,'130 -1H63Q34 -1 26 2T17 17Q17 24 22 29T35 35Q49 35 64 44T88 66Q101 93 210 383Q331 693 335 697T346 701T357 697Q358 696 493 399Q621 104 633 83Q656 35 686 35Q693 35 698 30T703 17Q703 5 693 2T643 -1H541Q388 -1 386 1Q378 6 378 16Q378 24 383 29T397 35Q412 35 434 45T456 65Q456 93 428 170L419 197H197L195 179Q184 134 184 97Q184 82 186 71T190 55T198 45T205 39T214 36L219 35Q241 31 241 17Q241 5 233 2T196 -1H130ZM493 68Q493 51 481 35H619Q604 56 515 256Q486 321 468 361L348 637Q347 637 330 592T313 543Q313 538 358 436T448 219T493 68ZM404 235Q404 239 355 355T295 488L275 430Q241 348 208 232H306Q404 232 404 235ZM155 48Q151 55 148 88V117L135 86Q118 47 117 46L110 37L135 35H159Q157 41 155 48'], + + // LATIN CAPITAL LETTER B + 0x42: [683,1,667,11,620,'11 665Q11 672 22 683H213Q407 681 431 677Q582 649 582 515Q582 488 573 468Q554 413 484 372L474 366H475Q620 317 620 178Q620 115 568 69T420 6Q393 1 207 -1H22Q11 10 11 18Q11 35 51 35Q79 37 88 39T102 52Q107 70 107 341T102 630Q97 640 88 643T51 648H46Q11 648 11 665ZM142 341Q142 129 141 88T134 37Q133 36 133 35H240L233 48L229 61V623L233 635L240 648H133L138 639Q142 621 142 341ZM284 370Q365 378 391 411T417 508Q417 551 406 581T378 624T347 643T320 648Q298 648 278 635Q267 628 266 611T264 492V370H284ZM546 515Q546 551 531 577T494 617T454 635T422 641L411 643L420 630Q439 604 445 579T452 510V504Q452 481 451 467T441 430T415 383Q420 383 439 391T483 413T527 455T546 515ZM585 185Q585 221 570 249T534 294T490 320T453 334T436 337L435 336L440 330Q445 325 452 315T467 288T479 246T484 188Q484 145 474 110T454 62T442 48Q442 47 444 47Q450 47 470 54T517 75T564 119T585 185ZM449 184Q449 316 358 332Q355 332 335 333T302 335H264V199Q266 68 270 57Q275 50 289 43Q300 37 324 37Q449 37 449 184'], + + // LATIN CAPITAL LETTER C + 0x43: [702,19,722,39,684,'684 131Q684 125 672 109T633 71T573 29T489 -5T386 -19Q330 -19 276 -3T174 46T91 134T44 261Q39 283 39 341T44 421Q66 538 143 611T341 699Q344 699 364 700T395 701Q449 698 503 677T585 655Q603 655 611 662T620 678T625 694T639 702Q650 702 657 690V481L653 474Q640 467 628 472Q624 476 618 496T595 541Q562 587 507 625T390 663H381Q337 663 299 625Q212 547 212 336Q212 249 233 179Q274 30 405 30Q533 30 641 130Q658 147 666 147Q671 147 677 143T684 131ZM250 625Q264 643 261 643Q238 635 214 620T161 579T110 510T79 414Q74 384 74 341T79 268Q89 213 113 169T164 101T217 61T260 39L277 34Q270 41 264 48Q199 111 181 254Q178 281 178 344T181 434Q200 559 250 625ZM621 565V625Q617 623 613 623Q603 619 590 619H575L588 605Q608 583 610 579L621 565'], + + // LATIN CAPITAL LETTER D + 0x44: [683,1,722,16,688,'16 666Q16 675 28 683H193Q329 683 364 682T430 672Q534 650 600 585T686 423Q688 406 688 352Q688 274 673 226Q641 130 565 72T381 1Q368 -1 195 -1H28Q16 5 16 16Q16 35 53 35Q68 36 75 37T87 42T95 52Q98 61 98 341T95 630Q91 640 83 643T53 648Q16 648 16 666ZM237 646Q237 648 184 648H128Q128 647 133 632Q136 620 136 341Q136 64 133 50L128 35H237L230 48L226 61V343Q228 620 231 633Q232 636 237 646ZM264 61Q278 40 310 35Q363 35 401 55T461 112T496 193T513 295Q515 333 515 349Q515 411 504 459Q481 598 373 641Q351 648 321 648Q304 648 292 643T277 635T264 621V61ZM461 628Q462 627 471 616T489 594T509 559T529 509T544 441T550 352Q550 165 479 75L468 59Q474 61 484 65T522 87T573 128T618 195T650 290Q654 322 654 354Q654 418 638 464T581 552Q559 576 529 595T480 621L461 628'], + + // LATIN CAPITAL LETTER E + 0x45: [683,1,667,12,640,'12 666Q12 675 24 683H582Q590 680 593 672V588Q593 514 591 502T575 490Q567 490 563 495T555 517Q552 556 517 590Q486 623 445 634T340 648H282Q266 636 264 620T260 492V370H277Q329 375 358 391T404 439Q420 480 420 506Q420 529 436 529Q445 529 451 521Q455 517 455 361Q455 333 455 298T456 253Q456 217 453 207T437 197Q420 196 420 217Q420 240 406 270Q377 328 284 335H260V201Q261 174 261 134Q262 73 264 61T278 38Q281 36 282 35H331Q400 35 449 50Q571 93 602 179Q605 203 622 203Q629 203 634 197T640 183Q638 181 624 95T604 3L600 -1H24Q12 5 12 16Q12 35 51 35Q92 38 97 52Q102 60 102 341T97 632Q91 645 51 648Q12 648 12 666ZM137 341Q137 131 136 89T130 37Q129 36 129 35H235Q233 41 231 48L226 61V623L231 635L235 648H129Q132 641 133 638T135 603T137 517T137 341ZM557 603V648H504Q504 646 515 639Q527 634 542 619L557 603ZM420 317V397L406 383Q394 370 380 363L366 355Q373 350 382 346Q400 333 409 328L420 317ZM582 61L586 88Q585 88 582 83Q557 61 526 46L511 37L542 35H577Q577 36 578 39T580 49T582 61'], + + // LATIN CAPITAL LETTER F + 0x46: [683,1,611,12,584,'584 499Q569 490 566 490Q558 490 552 497T546 515Q546 535 533 559Q526 574 506 593T469 621Q415 648 326 648Q293 648 287 647T275 641Q264 630 263 617Q262 609 260 492V370L275 372Q323 376 350 392T393 441Q409 473 409 506Q409 529 427 529Q437 529 442 519Q444 511 444 362Q444 212 442 206Q436 197 426 197Q409 197 409 217Q409 265 375 299Q346 328 280 335H260V206Q260 70 262 63Q265 46 276 41T326 35Q362 35 366 28Q377 17 366 3L360 -1H24Q12 5 12 16Q12 35 51 35Q92 38 97 52Q102 60 102 341T97 632Q91 645 51 648Q12 648 12 666Q12 675 24 683H573Q576 678 584 670V499ZM137 341Q137 131 136 89T130 37Q129 36 129 35H182Q233 35 233 39Q226 54 225 92T224 346L226 623L231 635L235 648H129Q132 641 133 638T135 603T137 517T137 341ZM549 603V648H495L506 641Q531 621 533 619L549 603ZM409 317V395L400 386Q390 376 375 366L357 355L373 346Q394 331 397 328L409 317'], + + // LATIN CAPITAL LETTER G + 0x47: [702,19,778,39,749,'737 285Q749 277 749 268Q749 260 744 255T730 250Q695 250 677 217Q666 195 666 119Q666 52 664 50Q656 36 555 3Q483 -16 415 -19Q364 -19 348 -17Q226 -3 146 70T44 261Q39 283 39 341T44 421Q66 538 143 611T341 699Q344 699 364 700T395 701Q449 698 503 677T585 655Q603 655 611 662T620 678T625 694T639 702Q650 702 657 690V481L653 474Q640 467 628 472Q624 476 618 496T595 541Q562 587 507 625T390 663H381Q337 663 299 625Q213 547 213 337Q213 75 341 23Q357 19 397 19Q440 19 462 22T492 30T513 45V119Q513 184 506 203Q491 237 435 250Q421 250 415 257Q404 267 415 281L421 285H737ZM250 43Q250 45 243 55T225 87T203 139T185 224T177 343V361Q184 533 250 625Q264 643 261 643Q238 635 214 620T161 579T110 510T79 414Q74 384 74 341T79 268Q106 117 230 52L250 43ZM621 565V625Q617 623 613 623Q603 619 590 619H575L588 605Q608 583 610 579L621 565ZM655 250H517L524 241Q548 213 548 149V114V39Q549 39 562 44T592 55T615 63L630 70V134Q632 190 634 204T648 237Q655 245 655 250'], + + // LATIN CAPITAL LETTER H + 0x48: [683,1,778,14,762,'14 666Q14 675 26 683H344L351 679Q361 665 351 655Q344 648 317 648Q287 645 282 641Q270 637 269 623T266 497V370H511V497Q511 519 510 553Q509 615 507 626T496 641H495Q489 645 459 648Q420 648 420 665Q420 672 426 679L433 683H751Q762 676 762 666Q762 648 724 648Q684 645 677 632Q675 626 675 341Q675 57 677 52Q684 38 724 35Q762 35 762 16Q762 6 751 -1H433L426 3Q420 10 420 17Q420 35 459 35Q501 38 506 52Q511 64 511 190V323H266V190Q266 60 271 52Q276 38 317 35Q342 35 351 28Q360 17 351 3L344 -1H26Q14 5 14 16Q14 35 53 35Q94 38 99 52Q104 60 104 341T99 632Q93 645 53 648Q14 648 14 666ZM233 341V553Q233 635 239 648H131Q134 641 135 638T137 603T139 517T139 341Q139 131 138 89T132 37Q131 36 131 35H239Q233 47 233 129V341ZM639 341V489Q639 548 639 576T640 620T642 639T646 648H537L542 639Q546 625 546 341Q546 130 545 88T538 37Q537 36 537 35H646Q643 41 643 42T641 55T639 84T639 140V341'], + + // LATIN CAPITAL LETTER I + 0x49: [683,1,389,20,369,'20 666Q20 676 31 683H358Q369 676 369 666Q369 648 331 648Q288 645 282 632Q278 626 278 341Q278 57 282 50Q286 42 295 40T331 35Q369 35 369 16Q369 6 358 -1H31Q20 4 20 16Q20 35 58 35Q84 37 93 39T107 50Q113 60 113 341Q113 623 107 632Q101 645 58 648Q20 648 20 666ZM249 35Q246 40 246 41T244 54T242 83T242 139V341Q242 632 244 639L249 648H140Q146 634 147 596T149 341Q149 124 148 86T140 35H249'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,77,500,6,478,'79 103Q108 103 129 83T151 38Q151 9 130 -15Q116 -34 130 -37Q133 -39 157 -39Q208 -39 219 -8L226 3V305Q226 612 224 621Q220 636 211 641T166 647Q137 647 128 654Q119 665 128 679L135 683H466Q478 677 478 666Q478 647 439 647Q399 644 393 632Q388 620 388 347Q386 69 384 59Q364 -6 316 -39T184 -77H172Q102 -77 56 -48T6 30Q6 62 26 82T79 103ZM353 354Q353 556 354 596T361 645Q362 646 362 647H253Q257 639 258 628T261 547T262 312V-4L255 -17Q248 -29 250 -29Q253 -29 258 -28T277 -20T302 -5T327 22T348 65Q350 74 353 354ZM115 36Q115 47 105 57T79 67Q73 67 67 66T52 56T44 34Q44 9 62 -8Q66 -11 71 -15T81 -22T86 -24L90 -13Q100 3 102 5Q115 22 115 36'], + + // LATIN CAPITAL LETTER K + 0x4B: [683,1,778,22,768,'22 666Q22 676 33 683H351L358 679Q368 665 358 655Q351 648 324 648Q288 645 280 637Q275 631 274 605T273 477L275 343L382 446Q473 530 492 553T512 599Q512 617 502 631T475 648Q455 651 455 666Q455 677 465 680T510 683H593H720Q732 676 732 666Q732 659 727 654T713 648Q670 648 589 581Q567 562 490 489T413 415Q413 413 554 245T711 61Q737 35 751 35Q758 35 763 29T768 15Q768 6 758 -1H624Q491 -1 486 3Q480 10 480 17Q480 25 487 30T506 35Q518 36 520 38T520 48L400 195L302 310L286 297L273 283V170Q275 65 277 57Q280 41 300 38Q302 37 324 35Q349 35 358 28Q367 17 358 3L351 -1H33Q22 4 22 16Q22 35 60 35Q101 38 106 52Q111 60 111 341T106 632Q100 645 60 648Q22 648 22 666ZM240 341V553Q240 635 246 648H138Q141 641 142 638T144 603T146 517T146 341Q146 131 145 89T139 37Q138 36 138 35H246Q240 47 240 129V341ZM595 632L615 648H535L542 637Q542 636 544 625T549 610V595L562 606Q565 608 577 618T595 632ZM524 226L386 388Q386 389 378 382T358 361Q330 338 330 333Q330 332 330 332L331 330L533 90Q558 55 558 41V35H684L671 50Q667 54 524 226'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,1,667,12,640,'12 666Q12 675 24 683H333L340 679Q350 665 340 655Q333 648 309 648Q287 646 279 643T266 630Q264 623 264 346Q264 68 266 57Q274 40 284 35H340Q413 37 460 55Q514 78 553 117T602 197Q605 221 622 221Q629 221 634 215T640 201Q638 194 625 105T611 12Q611 6 600 -1H24Q12 5 12 16Q12 35 51 35Q92 38 97 52Q102 60 102 341T97 632Q91 645 51 648Q12 648 12 666ZM137 341Q137 131 136 89T130 37Q129 36 129 35H237Q235 41 233 48L229 61L226 339Q226 621 229 628Q230 630 231 636T233 643V648H129Q132 641 133 638T135 603T137 517T137 341ZM580 48Q580 59 583 74T586 97Q586 98 585 97T579 92T571 86Q549 64 513 43L500 35H577L580 48'], + + // LATIN CAPITAL LETTER M + 0x4D: [683,1,944,17,926,'18 666Q18 677 27 680T73 683H146Q261 683 266 679L465 215Q469 215 566 443Q663 676 668 681Q673 683 790 683H908L915 679Q924 664 915 655Q912 648 897 648Q851 639 835 606L833 346Q833 86 835 79Q838 69 849 58T873 41Q877 40 887 38T901 35Q926 35 926 16Q926 6 915 -1H604L597 3Q588 19 597 28Q600 35 615 35Q660 42 673 68L679 79V339Q679 409 679 443T679 520T679 580T677 597Q646 521 584 375T473 117T424 3Q416 -1 410 -1T401 1Q399 3 273 301L148 599L146 343Q146 86 148 79Q152 69 163 58T186 41Q190 40 200 38T215 35Q226 35 235 28Q244 17 235 3L228 -1H28Q17 4 17 17Q17 35 39 35Q84 42 97 68L104 79V639L88 641Q72 644 53 648Q34 648 26 651T18 666ZM457 166Q451 169 449 171T435 198T404 268T344 412L244 648H157L166 637Q169 633 293 346L413 66Q424 88 435 117L457 166ZM817 646Q817 648 766 648H715V72L708 57Q701 45 697 41L695 37Q695 35 757 35H819L813 46Q802 61 800 76Q797 105 797 346L799 612L804 626Q812 638 815 641L817 646ZM124 42Q119 42 119 38Q119 35 128 35Q132 35 132 36Q125 42 124 42'], + + // LATIN CAPITAL LETTER N + 0x4E: [683,20,722,20,702,'20 664Q20 666 31 683H142Q256 683 258 681Q259 680 279 653T342 572T422 468L582 259V425Q582 451 582 490T583 541Q583 611 573 628T522 648Q500 648 493 654Q484 665 493 679L500 683H691Q702 676 702 666Q702 657 698 652Q688 648 680 648Q633 648 627 612Q624 601 624 294V-8Q616 -20 607 -20Q601 -20 596 -15Q593 -13 371 270L156 548L153 319Q153 284 153 234T152 167Q152 103 156 78T172 44T213 34Q236 34 242 28Q253 17 242 3L236 -1H36Q24 6 24 16Q24 34 56 34Q58 35 69 36T86 40T100 50T109 72Q111 83 111 345V603L96 619Q72 643 44 648Q20 648 20 664ZM413 419L240 648H120L136 628Q137 626 361 341T587 54L589 68Q589 78 589 121V192L413 419'], + + // LATIN CAPITAL LETTER O + 0x4F: [701,19,778,34,742,'131 601Q180 652 249 676T387 701Q485 701 562 661Q628 629 671 575T731 448Q742 410 742 341T731 234Q707 140 646 81Q549 -19 389 -19Q228 -19 131 81Q57 155 37 274Q34 292 34 341Q34 392 37 410Q58 528 131 601ZM568 341Q568 613 437 659Q406 664 395 665Q329 665 286 625Q232 571 213 439Q210 408 210 341Q210 275 213 245Q232 111 286 57Q309 37 342 23Q357 19 389 19Q420 19 437 23Q469 38 491 57Q568 132 568 341ZM174 341Q174 403 177 441T197 535T249 639Q246 639 224 627T193 608Q189 606 183 601T169 589T155 577Q69 488 69 344Q69 133 231 52Q244 45 246 45Q248 45 246 48Q231 69 222 85T200 141T177 239Q174 269 174 341ZM708 341Q708 415 684 475T635 563T582 610Q578 612 565 619T546 630Q533 637 531 637Q530 637 530 636V635L531 634Q562 591 577 543Q602 471 602 341V316Q602 264 599 230T580 144T531 48L530 47V46Q530 45 531 45Q533 45 547 52T583 75T622 105Q708 195 708 341'], + + // LATIN CAPITAL LETTER P + 0x50: [683,1,611,16,597,'16 666Q16 675 28 683H195Q334 683 370 682T437 672Q511 657 554 611T597 495Q597 343 404 309Q402 308 401 308Q381 303 319 303H261V181Q261 157 262 120Q262 60 267 50T304 36Q310 35 313 35Q352 35 352 17Q352 10 346 3L339 -1H28Q16 5 16 16Q16 35 53 35Q68 36 75 37T87 42T95 52Q98 61 98 341T95 630Q91 640 83 643T53 648Q16 648 16 666ZM235 35Q228 46 227 84Q226 129 226 337V621L230 635L237 648H128Q128 647 133 632Q136 620 136 341Q136 64 133 50L128 35H235ZM301 341H313Q339 341 354 344T389 362T417 410T426 498Q426 586 401 616T322 647Q301 647 293 643Q271 637 264 621Q261 617 261 479V341H301ZM429 350Q431 350 443 353T476 367T515 391T548 432T562 490Q562 550 524 592Q507 607 484 619Q481 621 448 635L433 639L439 621Q462 578 462 506Q462 448 454 413T437 366T428 350H429'], + + // LATIN CAPITAL LETTER Q + 0x51: [701,181,778,34,742,'480 -10Q480 -13 486 -24T507 -50T541 -80T588 -104T648 -114Q666 -114 688 -110T714 -106Q724 -106 728 -114T729 -130Q723 -145 663 -163T548 -181Q503 -181 463 -169T395 -139T343 -97T307 -56T284 -19L280 -3L262 1Q188 24 131 81Q57 155 37 275Q34 292 34 342T37 410Q58 528 131 601Q179 652 248 676T388 701Q485 701 562 661Q698 595 731 448Q742 410 742 341T731 235Q707 141 646 81Q616 50 575 27T493 -5L480 -10ZM568 342Q568 613 437 659L395 666Q329 666 286 626Q232 570 213 439Q210 408 210 342T213 246Q231 113 286 57Q309 37 342 23Q357 19 389 19Q420 19 437 23Q469 38 491 57Q568 134 568 342ZM174 341V354Q174 393 175 419T183 484T205 561T246 635L249 639Q246 639 224 627T193 608Q189 606 183 601T169 589T155 577Q69 491 69 344Q69 133 231 52Q247 42 247 46Q247 46 246 48Q231 69 222 85T200 141T177 239Q174 269 174 341ZM708 341Q708 410 689 467T640 556T588 606T546 630Q532 638 531 638Q530 638 531 635Q563 590 577 543Q602 472 602 341V316Q602 264 599 230T580 144T531 48Q529 44 532 45T546 52Q575 68 596 84T642 128T683 200T706 299Q708 327 708 341ZM391 -17H333Q329 -15 326 -15Q324 -15 324 -17Q324 -21 362 -68Q424 -130 506 -143Q518 -144 544 -144Q569 -144 577 -143L589 -141L575 -139Q544 -127 509 -101T453 -37L442 -19L391 -17'], + + // LATIN CAPITAL LETTER R + 0x52: [683,1,722,16,705,'17 665Q17 672 28 683H221Q415 681 439 677Q461 673 481 667T516 654T544 639T566 623T584 607T597 592T607 578T614 565T618 554L621 548Q626 530 626 497Q626 447 613 419Q578 348 473 326L455 321Q462 310 473 292T517 226T578 141T637 72T686 35Q705 30 705 16Q705 7 693 -1H510Q503 6 404 159L306 310H268V183Q270 67 271 59Q274 42 291 38Q295 37 319 35Q344 35 353 28Q362 17 353 3L346 -1H28Q16 5 16 16Q16 35 55 35Q96 38 101 52Q106 60 106 341T101 632Q95 645 55 648Q17 648 17 665ZM241 35Q238 42 237 45T235 78T233 163T233 337V621L237 635L244 648H133Q136 641 137 638T139 603T141 517T141 341Q141 131 140 89T134 37Q133 36 133 35H241ZM457 496Q457 540 449 570T425 615T400 634T377 643Q374 643 339 648Q300 648 281 635Q271 628 270 610T268 481V346H284Q327 346 375 352Q421 364 439 392T457 496ZM492 537T492 496T488 427T478 389T469 371T464 361Q464 360 465 360Q469 360 497 370Q593 400 593 495Q593 592 477 630L457 637L461 626Q474 611 488 561Q492 537 492 496ZM464 243Q411 317 410 317Q404 317 401 315Q384 315 370 312H346L526 35H619L606 50Q553 109 464 243'], + + // LATIN CAPITAL LETTER S + 0x53: [702,12,556,28,528,'54 238Q72 238 72 212Q72 174 106 121Q113 110 132 90T166 59Q221 23 264 23Q315 23 348 41Q368 50 384 79Q393 102 393 129Q393 181 356 219T221 299Q120 343 74 390T28 501Q28 561 55 610Q98 682 212 699Q214 699 231 700T261 701Q309 698 340 687T408 675Q431 678 445 690T465 702Q474 702 481 690V497L477 490Q464 481 450 490Q446 500 446 501Q446 546 386 606T260 666Q215 666 182 639T148 565Q148 528 186 496T319 428Q352 414 370 405T418 379T468 338T506 284Q528 239 528 191Q528 102 456 46T266 -10Q211 -10 176 2T110 15Q86 9 73 -1T53 -12Q44 -12 37 -1V112V182Q37 214 40 226T54 238ZM446 619Q446 648 444 648Q439 646 435 644Q425 644 415 639H404L417 624Q435 606 439 601L446 592V619ZM124 619L128 635Q126 635 108 617Q64 576 64 502Q64 489 65 479T76 449T102 414T150 376T228 335Q335 291 381 245T427 128Q427 94 419 75L415 61Q421 61 448 88Q490 127 490 190Q490 233 475 264Q456 299 430 321Q402 349 369 367T287 404T204 441Q138 481 119 526Q113 544 113 565Q113 596 124 619ZM75 43Q76 43 90 46T110 50H119L106 64L74 101Q72 101 72 72T75 43'], + + // LATIN CAPITAL LETTER T + 0x54: [683,1,667,33,635,'33 672Q36 680 44 683H624Q632 680 635 672V490L631 483Q621 479 617 479Q611 479 606 485T600 499Q600 525 584 552Q577 567 558 588T524 617Q479 642 426 646L415 648V355Q415 62 422 52Q425 42 434 40T473 35Q500 35 509 28Q518 17 509 3L502 -1H166L160 3Q149 17 160 28Q167 35 195 35Q224 37 234 39T249 52Q253 66 253 355V648L242 646Q192 642 144 617Q129 609 110 588T84 552Q69 527 69 499Q69 490 64 484T50 478Q39 478 33 490V672ZM113 639L126 648H69V597L84 612Q93 623 113 639ZM389 35Q382 46 381 86Q380 134 380 350V648H289V350Q289 199 288 131T286 53T280 35H389ZM600 597V648H542L555 639Q575 623 584 612L600 597'], + + // LATIN CAPITAL LETTER U + 0x55: [683,19,722,16,709,'16 666Q16 677 28 683H341L348 679Q359 665 348 654Q342 648 315 648Q270 644 266 632Q262 627 262 598T261 399Q261 372 261 325T260 260Q260 149 274 99T339 30Q355 25 393 25Q430 25 457 33T494 49T519 72Q562 115 575 205Q576 219 576 379Q576 538 575 550Q568 597 550 622T506 648Q498 648 493 654T487 667T499 683H697Q709 675 709 667T704 654T690 648Q653 648 633 597Q624 573 622 546T619 377Q617 193 613 174Q596 95 544 41Q477 -19 355 -19H344Q275 -16 226 5T153 57T120 110T106 154Q101 172 99 399Q99 618 95 632Q88 644 53 648Q16 648 16 666ZM228 639L233 648H128Q128 647 133 632Q135 621 135 412Q135 197 137 185Q148 115 181 79Q209 51 235 41Q242 36 258 31T277 25Q276 27 268 38T254 59T241 92T228 145Q226 161 226 399Q226 632 228 639ZM604 621Q606 626 619 648H577L586 634Q587 632 591 625T595 614L597 608L604 621'], + + // LATIN CAPITAL LETTER V + 0x56: [683,20,722,0,719,'316 683Q327 676 327 666Q327 648 302 648Q272 642 258 628Q249 621 249 608Q252 589 263 556T289 485T322 406T357 325T388 256T411 205L420 185Q423 185 473 317Q547 497 547 590Q547 621 541 632T516 648Q501 648 498 654Q488 664 498 679L504 683H607H660Q695 683 707 680T719 667Q719 660 714 654T700 648Q678 648 658 628L642 614L513 301Q484 231 449 148T397 25T380 -15Q373 -20 368 -20Q361 -20 358 -15Q354 -13 287 135T149 438T67 610Q45 648 18 648Q11 648 6 653T0 666Q0 677 9 680T59 683H164H316ZM216 614Q216 620 216 622T216 628T216 633T217 635T218 638T219 640T221 644T224 648H84L96 632Q118 592 236 330L367 43L387 88L404 132L380 185Q250 468 222 568Q216 590 216 614ZM576 645Q584 628 584 597L587 568L598 597Q609 624 618 637L624 648H600Q576 648 576 645'], + + // LATIN CAPITAL LETTER W + 0x57: [683,19,1000,5,994,'785 664Q785 670 795 683H982Q994 675 994 665Q994 650 975 648Q953 643 939 619Q931 593 823 292T710 -15Q706 -19 699 -19T688 -15Q682 -6 639 107T555 328T513 437Q513 438 500 409T462 325T413 212Q315 -14 310 -17Q308 -19 302 -19T288 -15L57 619Q45 643 24 648Q5 650 5 665Q5 677 17 683H146H200Q256 683 270 681T285 666Q285 659 280 654T268 648Q253 648 239 634Q230 630 230 619Q230 598 264 481L362 192Q363 193 428 341T493 492Q493 496 473 546T446 608Q426 648 399 648Q392 648 387 653T382 667Q382 678 393 683H679Q690 670 690 665Q690 662 685 655T673 648Q653 648 633 632L622 625V610Q626 576 657 479T719 300T751 218Q754 218 779 294Q847 492 847 581Q847 648 802 648Q796 648 791 652T785 664ZM194 623Q194 630 199 648H82L90 632Q99 616 199 332L302 50Q303 50 322 94T342 141Q342 142 305 245T231 467T194 623ZM585 620Q585 634 593 648H530Q466 648 466 645Q479 632 595 323L699 54Q701 56 718 103T735 154L702 245Q585 562 585 620ZM884 572L890 587Q896 602 903 620T915 645Q915 648 893 648H868L875 634Q883 598 883 576Q883 572 884 572'], + + // LATIN CAPITAL LETTER X + 0x58: [683,1,722,16,705,'22 666Q22 677 31 680T80 683H184H335Q346 675 346 667Q346 660 341 655Q335 648 315 648Q280 644 273 637Q273 630 300 583T356 492T386 448Q430 504 450 535T474 577T478 601Q478 620 469 634T444 648Q428 648 428 666Q428 678 436 680T488 683H559H630Q673 683 681 681T690 666Q690 648 673 648Q652 648 619 637Q571 615 517 550Q490 517 450 464T410 408Q415 399 501 273T617 106Q648 61 661 48T688 35Q705 35 705 16Q705 5 695 -1H539Q384 -1 379 3Q373 10 373 17Q373 27 380 31T408 35Q459 40 459 49Q459 59 418 129T335 259Q334 260 332 260Q328 260 273 197Q210 127 208 117Q199 104 199 82Q199 57 213 46T239 35Q247 35 252 29T257 15Q257 10 256 7T253 3T248 0L246 -1H28Q16 7 16 15T21 29T35 35Q61 35 117 88Q289 279 304 297Q307 303 255 377Q117 586 79 626Q60 648 39 648Q32 648 27 653T22 666ZM237 639V648H173Q113 647 113 646Q113 642 137 612Q186 546 302 373T453 139Q497 63 497 43Q497 39 495 35H559Q622 35 622 37Q622 38 583 94T486 233T373 399T277 552T237 639ZM553 637L566 648H504L508 637Q510 630 515 615V603L528 615Q529 616 539 625T553 637ZM170 46Q169 49 167 58T164 70V83L137 59L113 35H175Q175 38 170 46'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,1,722,16,704,'16 659T16 667T28 683H295Q306 676 306 666Q306 648 284 648Q258 648 255 641Q255 634 265 615T339 479Q418 339 421 339L455 394Q489 448 523 502L557 557Q560 566 560 582Q560 637 504 648Q489 648 486 655Q475 664 486 679L493 683H693Q704 675 704 667Q704 650 684 648Q672 645 653 623Q633 604 614 576T517 426L439 301V183Q442 62 444 59Q449 35 504 35Q521 35 528 30Q538 16 528 3L521 -1H195L188 3Q178 16 188 30Q195 35 213 35Q266 35 273 59Q274 61 277 163V261L75 621Q64 638 58 643T37 648Q28 648 22 653ZM219 637V648H101Q110 634 215 446L313 270V166Q310 59 306 48L301 35H415L410 48Q404 65 404 175V290L317 443Q230 601 226 612Q219 625 219 637ZM608 630L624 648H575Q584 632 588 623L595 610L608 630'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,1,667,29,635,'39 -1Q29 9 29 12Q29 23 60 77T219 337L410 648H364Q261 648 210 628Q168 612 142 588T109 545T97 509T88 490Q85 489 80 489Q72 489 61 503L70 588Q72 607 75 628T79 662T81 675Q84 677 88 681Q90 683 341 683H592Q604 673 604 666Q604 662 412 348L221 37Q221 35 301 35Q406 35 446 48Q504 68 543 111T597 212Q602 239 617 239Q624 239 629 234T635 223Q635 215 621 113T604 8L597 1Q595 -1 317 -1H39ZM148 637L166 648H112V632Q111 629 110 622T108 612Q108 608 110 608T116 612T129 623T148 637ZM552 646Q552 648 504 648Q452 648 450 643Q448 639 266 343T77 37Q77 35 128 35H179L366 339L552 646ZM572 35Q581 89 581 97L561 77Q542 59 526 48L508 37L539 35H572'], + + // LATIN SMALL LETTER K + 0x6B: [683,1,556,17,534,'519 443Q519 426 497 426Q458 422 361 335Q328 308 315 295Q307 289 310 286T383 193T466 88Q507 35 517 35Q534 35 534 16Q534 5 524 -1H304L297 3Q288 19 297 28Q300 35 317 35Q320 36 324 36T330 37T333 39Q334 39 334 40Q334 47 304 86T244 162L215 199Q212 202 206 199Q201 195 201 137V121Q201 35 230 35Q238 35 243 29T248 15Q248 4 237 -1H28L21 3Q17 13 17 17Q17 24 22 29T35 35Q55 35 61 70Q63 78 63 341T61 612Q55 648 35 648Q27 648 22 654T17 668Q17 678 26 682Q27 683 28 683H108H147Q156 683 162 683T174 683T182 683T187 682T191 681T194 680T197 678T201 675V461L204 246L244 281Q254 291 272 307Q317 349 326 360T339 386Q340 390 340 398Q340 426 321 426Q314 426 309 431T304 445Q304 456 315 461H508Q519 448 519 443ZM166 359V648H126Q89 648 89 645Q89 644 89 644T90 643T91 640T93 634T95 626Q99 612 99 341T95 57Q94 53 93 49T91 43T90 39L89 37Q89 35 133 35Q176 35 176 37Q175 38 175 39Q175 42 170 57Q166 70 166 359ZM410 423Q412 425 407 426Q404 426 393 426Q373 426 373 423Q374 422 375 417T377 410Q377 399 379 399Q406 419 410 423ZM460 37Q460 41 368 152L281 263Q280 263 259 246L239 228Q298 157 355 79Q370 61 370 41V35H417Q460 35 460 37'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js new file mode 100644 index 00000000..53f4890b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js @@ -0,0 +1,359 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MathOperators.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // COMPLEMENT + 0x2201: [846,22,500,56,444,'404 269Q412 269 418 267T428 261T435 253T441 245L444 240V172Q444 103 443 96Q440 81 431 65T403 27T344 -7T250 -21T156 -8T97 27T69 65T58 96Q56 103 56 413Q56 722 58 729Q74 822 215 845Q221 846 229 846H243Q282 846 290 845Q422 826 443 729Q444 722 444 653V586L442 583Q441 580 440 578T436 573T430 567T423 562T415 558T404 556Q377 556 367 583Q364 590 364 654V719Q363 721 360 726T355 733Q326 766 250 766H249Q235 766 219 765T174 752T137 719V107Q145 83 178 71T251 58H254Q340 58 364 107V172Q364 176 364 187T363 204Q363 269 404 269'], + + // THERE DOES NOT EXIST + 0x2204: [860,166,556,55,497,'55 676Q55 688 66 694H199L333 696L351 772Q364 827 370 843T386 860Q393 860 399 854T406 841Q406 836 391 765L375 696Q375 694 431 694H484Q491 688 497 681V12L493 5L486 1L353 -1H219L202 -79Q184 -153 180 -159Q175 -166 165 -166Q146 -166 146 -148Q146 -141 161 -76T177 -4Q177 -1 122 -1H68Q55 12 55 20T66 39H126L186 41L219 181Q226 215 234 251T246 305T251 325Q251 328 166 328H79Q68 345 68 347Q68 352 75 359L82 368H262L291 505Q298 539 306 575T319 630T324 650V654H68Q55 669 55 676ZM457 368V654H411Q366 654 366 652Q365 651 361 634T349 580T333 514Q303 373 302 372V368H457ZM457 39V328H375Q293 328 293 325Q292 322 260 183T228 41T344 39H457'], + + // EMPTY SET + 0x2205: [587,3,778,55,720,'624 470Q624 468 639 446T668 382T683 291Q683 181 612 99T437 -1Q425 -2 387 -2T337 -1Q245 18 193 70L179 81L131 39Q96 8 89 3T75 -3Q55 -3 55 17Q55 24 61 30T111 73Q154 113 151 113Q151 114 140 130T115 177T95 241Q94 253 94 291T95 341Q112 431 173 495Q265 587 385 587Q410 587 437 581Q522 571 582 513L595 501L642 541Q689 586 695 586Q696 586 697 586T699 587Q706 587 713 583T720 568Q720 560 711 551T664 510Q651 499 642 490T628 475T624 470ZM564 477Q517 522 448 539Q428 546 375 546Q290 546 229 492T144 370Q133 332 133 279Q136 228 151 195Q157 179 168 160T184 141Q186 141 375 307T564 477ZM642 290Q642 318 637 343T625 386T611 416T598 436T593 444Q590 444 402 277T213 108Q213 104 231 89T293 55T392 37Q495 37 568 111T642 290'], + + // SMALL CONTAINS AS MEMBER + 0x220D: [440,1,429,102,456,'154 -1Q122 -1 112 3T102 26Q102 63 158 63H178Q192 64 206 65T228 66T240 68Q301 85 324 146L329 157H244Q158 157 153 161Q149 162 145 169T140 183Q140 201 158 215L167 221H256L344 223L349 237Q352 262 352 287Q352 308 351 315Q341 352 315 368T256 385Q231 385 206 376T166 356T149 346Q143 346 138 364T132 388Q132 396 147 406Q198 440 252 440Q291 440 318 435Q421 404 451 301Q456 288 456 248V234Q456 151 391 86Q330 25 240 3Q212 -1 154 -1'], + + // MINUS SIGN + 0x2212: [270,-230,500,84,417,'84 237T84 250T98 270H402Q417 262 417 250T402 230H98Q84 237 84 250'], + + // DOT PLUS + 0x2214: [766,93,778,57,722,'339 717Q339 739 354 752T388 766Q410 766 424 751T439 716T424 681T390 666Q369 666 354 681T339 717ZM57 237T57 250T71 270H369V425L370 581Q380 594 389 594Q402 594 409 579V270H707Q722 262 722 250T707 230H409V-79Q401 -93 391 -93H389H387Q375 -93 369 -79V230H71Q57 237 57 250'], + + // SET MINUS + 0x2216: [430,23,778,91,685,'91 404T91 410T97 423T111 430Q117 430 395 224Q676 13 678 10Q685 3 685 -3T678 -16T664 -23Q658 -23 380 184T98 397Q91 404 91 410'], + + // PROPORTIONAL TO + 0x221D: [472,-28,778,56,722,'56 250Q56 346 122 409T276 472Q349 472 407 430T486 326L489 316Q490 317 493 326T501 345T514 367T531 393Q557 425 602 448T698 472Q722 472 722 452Q722 437 702 435T642 421T571 377Q520 323 520 250Q520 179 568 126T693 68Q722 66 722 48Q722 28 698 28Q636 28 576 67T493 174L490 184Q489 181 483 167T475 150T468 136T458 120T447 107T432 90T412 73Q350 28 277 28Q188 28 122 91T56 250ZM199 68T278 68T408 122T459 250Q459 322 414 370T308 430Q302 431 273 431Q204 431 150 380T96 250Q96 176 147 122'], + + // ANGLE + 0x2220: [694,0,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q67 43 346 361Q397 420 474 508Q595 648 616 671T647 694T661 688T666 674Q666 668 663 663Q662 662 627 622T524 503T390 350L120 41L386 40H653Q666 30 666 20Q666 8 651 0H71'], + + // MEASURED ANGLE + 0x2221: [714,20,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q64 38 348 373T638 712Q644 714 646 714Q653 714 659 709T666 694V693Q666 687 633 647Q619 631 576 580Q528 524 495 485Q336 296 329 289Q328 288 348 264T395 182T433 54L434 40H651Q666 32 666 20T651 0H436Q431 -20 416 -20Q400 -20 396 -4V0H71ZM394 40Q394 51 389 76T366 149T319 234L302 256L119 41L256 40H394'], + + // SPHERICAL ANGLE + 0x2222: [551,51,722,55,666,'666 -32Q666 -51 646 -51Q639 -51 365 85L75 228Q55 238 55 250Q55 257 59 262T68 268L72 270L611 536Q642 551 647 551T659 547T666 532Q666 521 657 515L525 449Q525 448 535 424T556 352T566 250T556 148T536 77T525 51L657 -15Q666 -21 666 -32ZM526 250Q526 297 517 342T499 409T488 431Q487 431 304 341T121 250T304 159T488 69Q526 143 526 250'], + + // DIVIDES + 0x2223: [430,23,222,91,131,'91 417Q104 430 111 430T131 417V-10Q116 -23 111 -23T91 -10V417'], + + // DOES NOT DIVIDE + 0x2224: [750,252,278,-20,296,'118 737Q131 750 138 750L151 746L158 739V579L160 421L213 470Q269 519 276 519Q284 519 290 513T296 499V498Q296 493 291 488T244 445Q225 428 213 417L158 368V-239Q143 -252 136 -252L124 -248L120 -241L118 44V328L62 279Q4 231 0 230Q-8 230 -14 236T-20 250Q-20 257 -11 265T62 332L118 384V737'], + + // PARALLEL TO + 0x2225: [431,23,389,55,331,'55 417Q69 431 76 431T95 419V-12Q84 -23 76 -23Q72 -23 69 -22T62 -16T55 -10V417ZM293 419Q300 431 310 431L324 424L331 417V-10Q316 -23 309 -23L297 -19L293 -12V419'], + + // NOT PARALLEL TO + 0x2226: [751,250,500,-20,518,'131 737Q134 739 138 743T144 748T151 750T171 737V199L327 357V737Q340 750 347 750Q351 750 353 749T360 743T367 737V397L429 457Q493 518 498 519Q506 519 512 512T518 500Q518 489 442 417L367 339V-237Q352 -250 346 -250L333 -243L327 -237V301L171 143V-237Q156 -250 151 -250T131 -237V101L69 41Q24 -3 15 -12T0 -21Q-8 -21 -14 -14T-20 -2Q-20 5 -7 19T56 81L131 159V737'], + + // THEREFORE + 0x2234: [471,82,667,24,643,'273 411Q273 437 291 454T334 471Q358 471 375 454T393 411T376 368T333 351Q307 351 290 368T273 411ZM84 38Q110 38 126 21T143 -22Q143 -46 127 -64T83 -82Q57 -82 41 -65T24 -22Q24 4 41 21T84 38ZM524 -22Q524 4 541 21T584 38Q608 38 625 21T643 -22Q643 -45 627 -63T583 -82Q557 -82 541 -65T524 -22'], + + // BECAUSE + 0x2235: [471,82,667,23,644,'23 411Q23 437 41 454T84 471Q108 471 125 454T143 411T126 368T83 351Q57 351 40 368T23 411ZM523 411Q523 437 541 454T584 471Q608 471 625 454T643 411T626 368T583 351Q557 351 540 368T523 411ZM274 -22Q274 4 291 21T334 38Q356 38 374 22T392 -22T375 -65T333 -82Q307 -82 291 -65T274 -22'], + + // TILDE OPERATOR + 0x223C: [365,-132,778,55,719,'73 132Q55 132 55 172Q55 220 79 272Q95 301 111 319Q148 353 195 363Q199 364 212 364Q262 364 294 350T408 272Q472 222 522 212Q537 208 555 208Q606 208 646 243Q671 268 680 296T691 342T702 365Q713 365 716 354T719 314Q714 236 664 179L660 176Q657 173 654 170T644 163T631 154T615 146T596 139T574 134T549 132Q510 132 465 156T386 211T307 265T223 290Q162 290 124 249T86 165Q86 155 82 144T73 132'], + + // REVERSED TILDE + 0x223D: [367,-133,778,56,722,'222 133Q147 133 102 197T56 335Q56 362 66 365Q71 369 77 364Q83 356 84 335T90 298Q102 254 137 222T223 189Q258 189 292 206T355 250T413 301T477 346T550 367Q628 367 673 309T722 171Q722 133 708 133Q703 133 699 141T694 162Q694 220 655 265T555 311Q519 311 485 293T421 248T363 196T298 152T222 133'], + + // stix-not, vert, similar + 0x2241: [467,-32,778,55,719,'220 366Q258 366 297 347T361 308T391 288Q394 288 464 370Q494 407 510 425T535 454T546 465T552 467H553Q560 467 566 461T573 448Q573 439 499 350Q424 266 424 261Q424 259 442 247T492 222T554 209Q607 209 646 243Q671 268 680 295T690 341T702 366Q719 366 719 314Q716 265 695 226Q682 199 664 179Q614 132 555 132Q517 132 477 151T412 190T383 210T347 172T278 89T233 37Q228 32 220 32Q210 32 206 38T201 48Q201 57 266 137Q272 144 275 148Q351 231 351 237Q351 239 333 251T283 276T221 289Q159 289 123 248T86 166Q86 156 82 145T73 132Q55 132 55 172Q55 220 79 272Q95 301 111 319Q161 366 220 366'], + + // MINUS TILDE + 0x2242: [463,-34,778,55,720,'55 439T55 443T56 449T62 456T68 463H706Q720 449 720 443T706 423H68Q55 439 55 443ZM56 72Q56 112 73 152T130 225T224 257Q259 257 294 240T360 199T419 149T484 107T553 90Q603 90 643 125T691 223Q693 257 704 257Q717 257 717 221Q717 147 671 91T554 34Q517 34 481 51T414 93T355 142T291 184T222 201Q172 201 131 167T84 67Q81 34 71 34Q56 37 56 72'], + + // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO + 0x2246: [652,155,778,54,720,'55 417Q55 479 101 528T222 578Q259 578 294 564T393 507Q413 493 434 480T469 460T484 454L537 549Q587 639 595 647Q600 652 607 652Q615 652 621 647T628 634Q628 625 575 536Q524 446 524 443Q527 440 555 440Q603 440 644 469T691 547Q694 578 706 578T718 556Q718 555 718 551T717 545Q717 488 684 445T595 387Q582 384 558 384Q530 384 508 389L493 394L404 238L557 236H708Q720 224 720 217T706 196H379L291 43L499 41H708Q720 29 720 21T706 1H268L226 -71Q186 -143 179 -148Q173 -155 165 -155T152 -150T146 -137Q146 -133 184 -64L222 1H144L66 3L59 7Q54 14 54 20Q54 29 66 41H246L333 194Q333 196 202 196H68Q55 211 55 218T66 236H213L357 238L457 409L437 421Q432 423 393 450T307 500T222 523Q171 523 129 491T84 414Q82 383 70 383Q55 383 55 417'], + + // ALMOST EQUAL TO + 0x2248: [481,-49,778,55,719,'55 326Q55 394 101 437T226 481Q268 479 313 460T392 419T469 379T555 361Q622 361 662 401Q686 423 688 450Q693 479 702 479H705Q719 479 719 442Q719 367 670 327T554 286Q512 286 466 304T386 345T307 385T220 404Q184 404 157 394T120 374L111 363Q86 339 86 317Q86 288 71 288Q55 288 55 326ZM55 90Q55 164 105 205T226 246Q269 243 314 224T392 183T470 144T558 126Q622 126 662 166Q686 187 688 214Q693 244 704 244Q716 244 719 210Q719 165 702 132T658 82T605 58T552 50T498 58T447 77T384 110Q322 146 302 152Q263 168 220 168Q179 168 144 152Q128 147 107 125T86 81Q86 52 71 52Q55 52 55 90'], + + // ALMOST EQUAL OR EQUAL TO + 0x224A: [579,39,778,51,725,'220 523Q163 523 124 486T84 412Q81 383 69 383Q56 383 56 413Q56 441 67 470Q78 508 111 537T187 575Q203 579 219 579Q248 579 271 572Q304 565 393 508Q498 439 551 439Q620 439 662 486Q688 512 693 557Q693 565 697 572T707 579Q719 579 719 548Q719 483 673 434T550 384Q512 384 467 405T386 453T305 501T220 523ZM222 288Q164 288 124 251T84 177Q81 148 69 148Q56 148 56 178Q56 206 67 235Q78 274 111 302T187 339Q198 343 220 343Q244 343 259 341T308 322T393 272Q496 203 553 203Q612 203 651 241T691 312Q693 343 705 343Q719 343 719 313Q719 245 673 199Q626 148 552 148Q513 148 467 170T385 218T304 266T222 288ZM51 -19Q51 -6 62 -1H387Q713 -1 715 -3Q725 -10 725 -20Q725 -27 718 -34Q714 -38 672 -38T387 -39H62Q51 -25 51 -19'], + + // GEOMETRICALLY EQUIVALENT TO + 0x224E: [492,-8,778,56,723,'245 367Q251 415 288 453T392 492Q445 492 485 456T532 367H707Q722 359 722 347Q722 334 711 331T665 327H608H509Q500 332 498 336Q496 338 493 363T472 411Q443 451 389 451H387Q335 451 305 411Q290 392 287 374T282 344T268 327H72Q56 332 56 347Q56 360 70 367H245ZM56 153Q56 168 72 173H268Q277 168 279 164Q281 162 284 137T305 89Q334 49 389 49H391Q442 49 472 89Q487 108 490 126T495 156T509 173H608H666Q701 173 711 170T722 153T707 133H532Q526 81 486 45T389 8Q331 8 291 45T245 133H70Q56 140 56 153'], + + // DIFFERENCE BETWEEN + 0x224F: [492,-133,778,56,722,'245 367Q251 415 288 453T392 492Q445 492 485 456T532 367H707Q722 359 722 347Q722 334 711 331T665 327H608H509Q500 332 498 336Q496 338 493 363T472 411Q443 451 389 451H387Q335 451 305 411Q290 392 287 374T282 344T268 327H72Q56 332 56 347Q56 360 70 367H245ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], + + // GEOMETRICALLY EQUAL TO + 0x2251: [609,108,778,56,722,'421 474T389 474T339 493T321 541Q321 566 337 587T391 609Q456 602 456 541Q456 512 439 493ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM421 -108T389 -108T339 -89T321 -41Q321 -16 337 5T391 27Q456 20 456 -41Q456 -70 439 -89'], + + // APPROXIMATELY EQUAL TO OR THE IMAGE OF + 0x2252: [601,101,778,15,762,'15 541Q15 569 33 585T75 601T117 585T135 541Q135 514 118 498T75 481T32 498T15 541ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM642 -41Q642 -17 658 0T702 18Q726 18 744 3T762 -41Q762 -67 745 -84T702 -101Q676 -101 659 -85T642 -41'], + + // IMAGE OF OR APPROXIMATELY EQUAL TO + 0x2253: [601,102,778,14,762,'642 541Q642 569 660 585T702 601T744 585T762 541Q762 515 745 498T702 481Q676 481 659 497T642 541ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM14 -41Q14 -15 31 1T74 18Q101 18 118 0T135 -41Q135 -64 118 -83T75 -102Q51 -102 33 -85T14 -41'], + + // RING IN EQUAL TO + 0x2256: [367,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 334 711 331T658 327H586H465L472 318Q496 288 496 250T472 182L465 173H586H663Q700 173 711 170T722 153T707 133H70Q56 140 56 153Q56 168 72 173H312L305 182Q281 212 281 250T305 318L312 327H72Q56 332 56 347ZM473 250Q473 265 472 273T460 297T428 327H349Q328 313 318 298T306 273T304 250Q304 235 305 227T317 203T349 173H428Q449 187 459 202T471 227T473 250'], + + // RING EQUAL TO + 0x2257: [721,-133,778,56,722,'279 612Q279 656 310 688T388 721Q433 721 465 689T498 612Q498 573 470 538T389 503Q336 503 308 538T279 612ZM458 614Q458 637 452 651T433 672T411 679T383 680T352 675T333 664T324 647T321 629T320 611Q320 593 321 584T332 562T359 545Q366 543 389 543H391Q406 543 414 544T435 552T452 573T458 614ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], + + // DELTA EQUAL TO + 0x225C: [859,-133,778,56,723,'192 482H190Q187 483 185 484T181 488T177 493T175 501Q175 506 178 512Q184 523 278 687T375 853Q379 857 383 857Q385 857 387 858T390 859Q397 859 403 853Q405 851 499 687T600 512Q603 506 603 501Q603 488 587 482H192ZM548 523L389 798Q388 798 309 661T230 523T389 522T548 523ZM56 347Q56 360 70 367H708Q723 359 723 347Q723 336 709 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H709Q723 163 723 153Q723 140 708 133H70Q56 140 56 153'], + + // LESS-THAN OVER EQUAL TO + 0x2266: [753,175,778,83,694,'674 753Q682 753 688 747T694 732T687 718Q686 717 417 589L151 463L399 345Q687 209 691 204Q694 198 694 193Q694 175 676 173H670L382 309Q92 446 90 448Q83 453 83 465Q84 476 96 482Q104 486 382 617T665 751Q669 753 674 753ZM84 39Q84 49 99 59H678Q694 53 694 39Q694 26 679 19H98Q84 26 84 39ZM83 -157Q83 -153 84 -150T86 -145T89 -141T92 -139T96 -137T99 -135H678Q694 -146 694 -155Q694 -168 679 -175H98Q84 -168 83 -157'], + + // GREATER-THAN OVER EQUAL TO + 0x2267: [753,175,778,82,694,'83 733Q83 741 89 747T99 753Q107 753 253 685T543 548T687 478Q694 473 694 463T687 448Q685 446 395 309L107 173H101Q83 175 83 193Q83 194 83 196Q82 203 98 212Q117 222 248 284Q326 321 378 345L626 463L360 589Q291 622 200 665Q112 706 98 714T83 733ZM84 39Q84 49 99 59H678Q694 53 694 39Q694 26 679 19H98Q84 26 84 39ZM83 -157Q83 -153 84 -150T86 -145T89 -141T92 -139T96 -137T99 -135H678Q694 -146 694 -155Q694 -168 679 -175H98Q84 -168 83 -157'], + + // stix-less, vert, not double equals + 0x2268: [752,286,778,82,694,'86 472Q93 477 381 614T673 752Q680 752 686 746T693 732T689 721Q686 715 418 590L151 461L418 332Q684 207 689 201Q693 195 693 190Q693 183 687 177T675 170Q668 170 380 307T86 450Q82 454 82 461Q82 467 86 472ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], + + // stix-gt, vert, not double equals + 0x2269: [752,286,778,82,693,'89 745Q95 752 100 752Q106 752 394 615T689 472Q693 468 693 461T689 450Q684 445 396 308T100 170Q95 170 89 176T82 190Q82 195 86 201Q91 208 358 332L624 461L358 590Q90 715 86 721Q82 725 82 731Q82 739 89 745ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], + + // BETWEEN + 0x226C: [751,251,500,74,425,'104 730Q104 749 123 749Q130 749 138 745Q186 717 237 671L250 659L261 670Q297 703 332 726T375 750T389 744T395 730Q395 721 390 717T364 699T322 668Q290 641 283 632Q280 628 281 627T293 612Q425 454 425 250Q425 144 388 51T293 -112Q282 -125 281 -126T283 -132Q306 -162 379 -209Q395 -219 395 -230Q395 -238 389 -244T375 -250T335 -228T262 -171L250 -159L238 -170Q202 -203 167 -226T124 -250T110 -244T104 -230Q104 -219 121 -209Q199 -156 216 -132Q219 -128 218 -127T206 -112Q74 46 74 250T206 612Q217 625 218 626T216 632Q199 656 121 709Q104 719 104 730ZM249 -94Q364 61 364 250Q364 430 265 574Q253 590 249 594L242 583Q134 439 134 250Q134 114 192 -1Q212 -44 242 -83L249 -94'], + + // stix-not, vert, less-than + 0x226E: [709,209,778,82,693,'693 -14T693 -20T687 -33T675 -41Q667 -41 506 37L344 112Q342 112 262 -46Q184 -196 176 -205Q172 -209 168 -209T162 -208Q155 -208 151 -203T146 -190Q146 -178 171 -137Q193 -91 251 21L306 132L198 183Q142 208 118 220T88 238T82 249Q82 253 86 261Q92 267 278 357L464 443L529 572Q561 637 577 667T597 703T607 708Q615 708 622 702T629 688Q629 680 575 579L524 474Q524 473 545 482T598 508Q666 541 673 541T686 535T693 521Q693 512 679 504T589 459L493 414L360 150Q366 148 378 142T431 116T529 70Q686 -8 689 -10Q693 -14 693 -20ZM380 277L433 383Q432 385 292 319T151 250T237 209T324 170L380 277'], + + // stix-not, vert, greater-than + 0x226F: [708,209,778,82,693,'82 514T82 520T89 533T100 541Q106 541 271 463Q434 386 435 386L515 543Q593 699 600 706Q604 708 607 708Q615 708 622 702T629 688T549 526Q509 445 491 407T473 368Q522 343 580 317Q636 291 660 278T688 261T693 250V249Q693 241 681 234T580 184Q533 161 502 146Q317 59 315 59Q312 56 246 -74Q197 -170 186 -189T168 -209Q164 -209 162 -208Q155 -208 151 -203T146 -190Q146 -187 200 -79L253 28L218 11Q182 -6 144 -23T100 -41Q95 -41 89 -35T82 -21Q82 -12 96 -4T186 41L284 88L349 217Q377 273 395 311T413 350Q413 351 253 428Q101 498 86 510Q82 514 82 520ZM624 250Q461 330 455 330Q454 331 453 329T448 321T441 308T430 287T416 259T398 223L342 114L624 250'], + + // stix-not, vert, less-than-or-equal + 0x2270: [801,303,778,81,694,'82 -124Q82 -120 83 -117T89 -110T95 -103H220L284 50Q346 204 344 206L218 268Q153 297 123 313T87 333T82 344T86 355Q104 369 291 455Q491 552 491 553L542 673Q581 767 590 784T609 801Q616 801 622 795T629 781Q629 773 586 677Q546 581 546 577L609 606Q669 635 673 635Q680 635 686 629T693 615Q693 610 692 608T670 593T604 561L524 521L400 226L542 157Q617 123 649 107T687 85T694 72Q694 66 690 60T679 54Q664 54 526 121Q513 127 495 136T464 150T438 162T416 173T399 180T388 185L384 186Q383 186 322 41L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H146L93 -141Q82 -134 82 -124ZM418 370L466 495Q464 495 308 420T151 344T204 317T311 267T364 244Q364 247 418 370'], + + // stix-not, vert, greater-than-or-equal + 0x2271: [801,303,778,82,694,'97 54Q82 54 82 72Q82 79 86 84Q95 91 222 153L351 215L398 324L442 433L258 519Q95 597 87 604Q82 608 82 615T88 628T102 635Q107 635 424 484L458 468L524 630Q593 789 597 795Q601 801 609 801Q616 801 622 795T629 781L562 615L493 450L589 406Q665 371 679 362T694 344Q694 339 693 337T677 326T631 302T538 257Q504 241 465 223T406 195T386 186Q384 185 322 39L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H146L93 -141Q82 -134 82 -124Q82 -120 83 -117T89 -110T95 -103H220L273 26Q326 156 326 157L218 106Q109 54 97 54ZM553 379Q480 412 480 415Q479 415 460 372T423 285T406 241Q408 240 516 291T624 344L553 379'], + + // stix-less-than or (contour) similar + 0x2272: [732,228,778,56,722,'674 732Q682 732 688 726T694 711T687 697Q686 696 417 568L151 442L399 324Q687 188 691 183Q694 177 694 172Q694 154 676 152H670L382 288Q92 425 90 427Q83 432 83 444Q84 455 96 461Q104 465 382 596T665 730Q669 732 674 732ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], + + // stix-greater-than or (contour) similar + 0x2273: [732,228,778,56,722,'90 697Q83 704 83 712T88 726T99 732Q107 732 253 664T543 527T687 457Q694 452 694 442T687 427Q685 425 395 288L107 152H101Q83 154 83 172Q83 173 83 175Q82 182 98 191Q117 201 248 263Q326 300 378 324L626 442L360 568Q91 696 90 697ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], + + // LESS-THAN OR GREATER-THAN + 0x2276: [681,253,778,44,734,'734 181Q734 173 728 167T714 161Q711 161 386 280T54 404Q44 408 44 421Q44 432 52 437Q66 443 388 562T714 681Q721 681 727 675T734 661Q734 651 722 645Q711 639 462 546Q441 539 420 531L122 421L420 311L723 198Q734 192 734 181ZM44 247Q44 255 50 261T63 267Q66 267 391 148T723 24Q734 18 734 7T723 -10Q716 -14 391 -133T63 -253Q56 -253 50 -247T44 -233Q44 -223 55 -217Q67 -210 317 -118Q337 -110 357 -103L655 7L357 117L54 230Q44 236 44 247'], + + // GREATER-THAN OR LESS-THAN + 0x2277: [681,253,778,83,694,'83 661Q83 668 88 674T104 681Q111 679 396 560Q686 437 687 436Q694 431 694 421T687 406Q686 405 543 344T253 222T101 161Q83 163 83 180Q83 194 95 199Q96 199 130 213T232 257T361 311L621 421L357 532Q307 553 233 584Q121 631 102 640T83 661ZM673 267Q694 267 694 248Q694 237 687 232Q684 229 420 118L156 7L416 -103L683 -215Q694 -222 694 -233Q694 -251 676 -253Q670 -253 524 -192T235 -70T90 -8Q83 -1 83 7Q83 19 94 24Q97 25 378 144T667 266Q669 267 673 267'], + + // PRECEDES OR EQUAL TO + 0x227C: [580,153,778,83,694,'112 270Q83 270 83 290Q83 301 94 307Q98 310 118 310Q516 310 620 464Q635 486 642 510T651 548T657 571T675 580Q693 577 693 559V552Q684 472 628 410T465 314Q436 303 372 290Q373 290 388 287T425 278T465 266Q674 199 693 28L694 17Q688 5 683 3Q677 0 673 0Q656 0 653 24Q623 270 118 270H112ZM110 116Q83 116 83 136T110 156H113Q134 156 160 155T231 146T318 128T407 95T489 44T550 -30T583 -131Q583 -153 563 -153Q556 -153 553 -152T547 -145T542 -127Q531 -54 478 0Q425 53 333 83T123 116H110'], + + // SUCCEEDS OR EQUAL TO + 0x227D: [580,154,778,83,694,'668 310Q694 310 694 290Q694 285 691 279Q684 271 664 270Q550 268 464 257T301 220T179 146T124 27Q119 0 103 0T83 16Q83 21 83 31T92 68T113 121T157 177T229 231Q295 268 405 290Q404 290 389 293T352 302T312 314Q138 371 96 500Q83 541 83 562Q83 568 89 574T103 580Q115 580 120 570T126 542T138 497T173 442Q289 310 659 310H668ZM194 -131Q201 -60 241 -6T343 82T477 133T628 155Q632 155 644 155T661 156Q685 155 690 147Q694 143 694 136Q694 132 693 129T689 124T685 120T681 117L656 116Q596 114 543 106T436 79T342 35T272 -33T235 -127Q231 -154 212 -154Q203 -153 199 -147T194 -136V-131'], + + // PRECEDES OR EQUIVALENT TO + 0x227E: [732,228,778,56,722,'84 442Q84 455 91 459T117 463Q120 463 126 463T137 462Q388 466 512 526T653 705Q657 732 676 732Q685 731 689 725T694 714V708Q689 662 672 624T626 559T569 513T500 479T435 458T373 442Q379 441 404 435T440 426T477 414T533 392Q592 362 630 319T681 241T694 174Q694 153 674 153Q662 153 657 163T652 188T640 231T606 287Q500 416 137 422H114Q104 422 98 423T88 428T84 442ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], + + // SUCCEEDS OR EQUIVALENT TO + 0x227F: [732,228,778,56,722,'84 710Q84 732 102 732Q115 732 119 722T125 696T137 652T171 597Q277 468 640 462H661Q694 462 694 442T661 422H640Q578 421 526 417T415 403T309 376T222 333T156 268T124 179Q122 162 118 158T103 153Q100 153 98 153T95 154T93 155T90 158T85 163Q83 167 83 176Q88 222 105 260T151 325T208 371T277 405T342 426T404 442Q401 443 380 447T345 456T302 469T245 492Q125 551 92 661Q84 695 84 710ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], + + // DOES NOT PRECEDE + 0x2280: [705,208,778,82,693,'386 292Q388 292 439 393T543 598T598 703Q599 703 603 704T609 705Q616 705 622 699T629 685T533 494Q440 308 440 305Q451 310 462 312Q547 342 592 388T651 505Q654 525 658 532T673 539Q680 539 686 533T693 519Q693 495 678 450Q638 341 500 283Q433 259 418 259Q416 259 411 251T406 241T415 239Q482 224 544 190Q674 121 691 -10Q693 -28 691 -32Q684 -43 672 -43Q664 -43 658 -37Q656 -33 650 -6T634 47T589 109T500 168Q473 179 436 190T388 201H386L284 -1Q261 -45 232 -101T191 -181T178 -206Q176 -206 172 -207T166 -208Q160 -208 153 -202T146 -188Q146 -185 246 12Q344 206 344 210Q344 213 305 217T213 225T124 228H95Q82 241 82 248Q82 253 95 268H124Q172 268 236 273T343 283T386 292'], + + // stix-not (vert) succeeds + 0x2281: [705,208,778,82,693,'103 -43Q96 -43 89 -39T82 -26L84 -10Q105 141 275 212Q342 236 355 236Q360 236 364 245L369 256H360Q284 280 275 283Q115 351 86 490Q82 507 82 517Q82 526 88 532T103 538Q110 538 115 534Q119 531 122 517T128 486T143 444T174 397T231 351T320 310Q371 292 389 292L491 496Q595 701 598 703Q599 703 603 704T609 705Q616 705 622 699T629 685Q629 684 531 485Q431 296 431 288Q431 278 520 273T651 268H680Q693 253 693 248Q693 241 680 228H651Q591 228 491 218T386 201L284 -1Q261 -45 232 -101T191 -181T178 -206Q176 -206 172 -207T166 -208Q160 -208 153 -202T146 -188Q146 -182 302 125L335 190L324 185Q313 185 289 172Q241 153 208 128T159 78T135 31T124 -11T118 -37Q112 -43 103 -43'], + + // stix-/nsubseteq N: not (vert) subset, equals + 0x2288: [801,303,778,83,693,'146 -283Q146 -282 174 -213T202 -143H115Q102 -127 102 -123T115 -103H220L291 68L278 73Q203 101 153 157T86 288Q83 309 83 344Q83 380 86 399Q107 480 160 539Q222 601 298 621Q328 630 345 631T435 635L526 637L560 715Q587 778 593 789T609 801Q616 801 622 795T629 781Q629 780 625 771T614 742T600 706L571 637Q571 635 626 635H680Q693 620 693 613T689 601L682 597L618 595H553L449 346Q425 288 399 223T359 127T346 95H356Q365 95 381 95T417 94T463 93T515 93H682Q693 82 693 74T680 53H511Q420 55 335 55L329 57L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283ZM509 590Q509 595 438 595Q354 595 318 586Q246 567 195 516T126 395Q123 378 123 344T126 293Q141 229 184 181T291 110L306 104L406 346L509 590'], + + // stix-/nsupseteq N: not (vert) superset, equals + 0x2289: [801,303,778,82,691,'82 606T82 613T95 635H251H348Q408 635 435 632T502 615L515 608L520 617Q520 619 558 708Q584 774 591 787T609 801Q616 801 622 795T629 781Q629 775 562 615L551 590L569 577Q646 527 678 437Q691 398 691 344T678 250Q653 182 597 132T469 64Q427 53 366 53H326L295 -25L262 -103H660Q673 -118 673 -124Q673 -129 669 -136L662 -141L453 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H95Q82 -128 82 -123T95 -103H220L251 -25L284 53H189L93 55L86 59Q82 64 82 71T95 93H302L400 333Q498 569 498 573L444 590Q431 593 260 595L93 597L86 601Q82 606 82 613ZM652 344V354Q652 451 575 521Q571 526 557 538T537 551Q534 551 533 548Q533 543 438 319L344 95L371 93H386Q487 93 557 150T649 293Q652 309 652 344'], + + // stix-subset, not equals, variant + 0x228A: [635,241,778,84,693,'693 72Q693 68 692 66T686 59T680 52H524Q398 52 367 53T309 63Q236 82 180 132T98 250Q84 288 84 343Q84 397 98 437Q126 515 193 568T346 632Q347 632 373 633T440 634T520 635H680Q693 620 693 615Q693 608 680 595H526Q364 595 353 592Q279 582 221 539T138 430Q124 392 124 343Q124 296 138 257Q163 192 221 149T353 95Q364 92 526 92H680Q693 79 693 72ZM102 -132T102 -125T115 -103H382L420 -68Q429 -60 438 -52T452 -39T463 -28T472 -20T478 -14T483 -10T487 -7T490 -6T493 -5T496 -5Q502 -5 508 -12T515 -28Q515 -34 513 -37Q512 -38 507 -42T492 -55T475 -70L440 -101L562 -103H682Q693 -114 693 -122T680 -143H395L355 -179Q289 -241 280 -241Q273 -241 267 -235T260 -221T265 -208T300 -174L335 -143H224L113 -141L106 -137Q102 -132 102 -125'], + + // stix-superset, not equals, variant + 0x228B: [635,241,778,82,691,'82 615Q82 620 95 635H251Q378 635 409 634T469 623Q540 605 596 555T678 437Q691 397 691 343T678 250Q649 172 581 119T426 55Q415 52 251 52H95Q93 55 89 59T84 65T82 72Q82 79 95 92H249Q411 92 422 95Q496 105 554 148T638 257Q651 296 651 343Q651 391 638 430Q613 495 555 538T422 592Q411 595 249 595H95Q82 608 82 615ZM82 -132T82 -125T95 -103H380L420 -57Q452 -21 460 -14T474 -6Q482 -6 488 -12T495 -25T451 -81L433 -101L549 -103H662Q673 -114 673 -122T660 -143H395L355 -190Q311 -239 309 -239Q305 -241 302 -241Q294 -241 287 -235T280 -221T324 -163L342 -143H218L93 -141L86 -137Q82 -132 82 -125'], + + // SQUARE IMAGE OF + 0x228F: [539,41,778,83,694,'83 523Q87 535 99 539H679Q694 531 694 519Q694 506 679 499H123V-1H678Q694 -7 694 -21Q694 -34 679 -41H98Q93 -38 84 -28L83 247V523'], + + // SQUARE ORIGINAL OF + 0x2290: [539,41,778,64,714,'64 506T64 519T78 539H699Q706 536 714 526V-28Q706 -38 699 -41H78Q64 -34 64 -21Q64 -6 80 -1H674V499H78Q64 506 64 519'], + + // CIRCLED RING OPERATOR + 0x229A: [583,82,778,57,721,'57 250Q57 327 87 392T166 497T270 560T382 582H394Q512 582 610 500Q721 401 721 250Q721 112 626 15T389 -82Q251 -82 154 13T57 250ZM682 129T682 250T596 457T390 543Q269 543 183 457T96 250Q96 132 180 45T389 -43Q511 -43 596 43ZM250 250Q250 316 295 352T384 388Q451 388 489 347T528 250Q528 192 487 152T389 112Q331 112 291 152T250 250ZM488 250Q488 290 460 319T389 349Q348 349 319 320T290 250Q290 208 320 180T389 151Q431 151 459 181T488 250'], + + // CIRCLED ASTERISK OPERATOR + 0x229B: [583,82,778,57,721,'57 250Q57 327 87 392T166 497T270 560T382 582H394Q512 582 610 500Q721 401 721 250Q721 112 626 15T389 -82Q251 -82 154 13T57 250ZM682 129T682 250T596 457T390 543Q269 543 183 457T96 250Q96 132 180 45T389 -43Q511 -43 596 43ZM204 339Q204 357 215 366T238 375Q247 375 283 348Q300 336 311 328L368 286Q369 286 366 323T359 398T355 437Q357 456 379 465Q380 465 384 465T391 466Q403 465 412 457T423 437Q423 436 420 398T413 323T410 286L467 328Q476 334 486 341T501 353T513 361T523 368T529 372T535 374T541 375Q554 375 564 365T575 339Q575 325 566 318T519 292Q504 285 496 281L430 250L496 219Q552 192 559 188T572 175Q575 168 575 161Q575 148 566 137T541 126H538Q530 126 499 149Q480 163 467 172L410 214Q409 214 412 177T419 102T423 63Q423 59 421 54T411 43T389 36T368 42T357 54T355 63Q355 64 358 102T365 177T368 214L311 172Q302 165 293 159T279 148T268 140T260 134T254 131T250 128T246 127T242 126T238 126Q223 126 214 135T204 161T213 183T282 219L348 250L282 281Q226 308 219 312T206 325Q204 330 204 339'], + + // CIRCLED DASH + 0x229D: [583,82,778,57,721,'57 250Q57 327 87 392T166 497T270 560T382 582H394Q512 582 610 500Q721 401 721 250Q721 112 626 15T389 -82Q251 -82 154 13T57 250ZM682 129T682 250T596 457T390 543Q269 543 183 457T96 250Q96 132 180 45T389 -43Q511 -43 596 43ZM223 250Q223 263 233 267T280 271Q289 271 325 271T389 270H490Q535 270 545 267T555 250Q555 241 549 235Q544 231 527 231T389 230Q239 230 235 232Q223 236 223 250'], + + // SQUARED PLUS + 0x229E: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM369 365V649H95V365H369ZM682 365V649H409V365H682ZM369 40V325H95V40H369ZM682 40V325H409V40H682'], + + // SQUARED MINUS + 0x229F: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM682 365V649H95V365H682ZM682 40V325H95V40H682'], + + // SQUARED TIMES + 0x22A0: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H707Q714 686 722 676V13Q714 3 707 0H71ZM123 649Q147 625 214 555T335 430T389 374L654 649H123ZM95 70Q99 74 229 209T360 345L95 619V70ZM682 70V619L418 346Q417 344 549 207L682 70ZM654 41L400 304L388 315L123 41L256 40H522L654 41'], + + // SQUARED DOT OPERATOR + 0x22A1: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM682 40V649H95V40H682ZM330 345Q330 371 347 388T390 405Q412 405 430 389T448 345Q448 317 430 301T389 285T348 301T330 345'], + + // TRUE + 0x22A8: [695,0,611,55,556,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V464H540Q554 456 555 446Q555 442 554 439T552 434T549 430T546 428T542 426T539 424H95V270H539Q540 270 542 269T545 267T549 264T552 260T554 255T555 248Q554 238 540 230H95V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678'], + + // FORCES + 0x22A9: [695,0,722,55,666,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678ZM249 678Q249 679 250 681T252 684T255 688T259 691T264 693T271 694Q282 692 289 679V367H651Q666 359 666 347Q666 334 651 327H289V15Q282 2 271 0Q267 0 264 1T259 3T255 6T253 9T251 13T249 16V678'], + + // TRIPLE VERTICAL BAR RIGHT TURNSTILE + 0x22AA: [695,0,889,55,833,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678ZM237 678Q237 679 238 681T240 684T243 688T247 691T252 693T259 694Q270 692 277 679V15Q270 2 259 0Q255 0 252 1T247 3T243 6T241 9T239 13T237 16V678ZM419 678Q419 679 420 681T422 684T425 688T429 691T434 693T441 694Q452 692 459 679V367H818Q833 359 833 347Q833 334 818 327H459V15Q452 2 441 0Q437 0 434 1T429 3T425 6T423 9T421 13T419 16V678'], + + // DOES NOT PROVE + 0x22AC: [696,1,611,-55,554,'56 681Q70 695 76 695T96 681V368H243L381 530Q521 692 525 692Q537 700 547 688Q554 682 554 674Q554 671 553 669T548 661T539 649T522 631T499 604T465 565T421 512Q296 373 296 368H416H476Q525 368 539 365T554 348Q554 334 543 328H261L96 141V12Q81 -1 75 -1Q65 -1 58 10L56 50V92L18 48Q7 37 -1 28T-13 14T-19 6T-23 1T-27 0T-33 -1Q-42 -1 -48 4T-55 19Q-55 24 -47 34T12 103L56 155V681ZM205 326Q205 328 152 328H96V263Q96 203 98 203Q99 203 123 231T174 290T205 326'], + + // NOT TRUE + 0x22AD: [695,1,611,-55,554,'56 681Q70 695 76 695T96 681V466H327L425 579Q522 692 527 692Q529 693 534 693Q542 693 547 688T553 674Q553 668 549 663Q549 662 538 650T504 611T463 563L381 468L461 466H543Q554 453 554 446T541 426H345L209 272L376 270H543Q554 257 554 251T541 230H174L96 141V12Q81 -1 75 -1Q65 -1 58 10L56 50V92L18 48Q7 37 -1 28T-13 14T-19 6T-23 1T-27 0T-33 -1Q-42 -1 -48 4T-55 19Q-55 24 -47 34T12 103L56 155V681ZM267 399L292 426H96V270H158L201 321Q256 382 267 399ZM118 228L119 229Q119 230 109 230H96V201L107 212Q118 227 118 228'], + + // DOES NOT FORCE + 0x22AE: [695,1,722,-55,665,'56 681Q70 695 77 695T96 683V428L98 175L252 323V681Q264 695 272 695Q278 695 292 681V526Q292 368 296 368Q298 368 447 510Q638 695 642 695H645Q651 695 658 688T665 673Q665 666 661 661Q659 660 639 641T578 582T505 512L356 370L505 368H654Q665 357 665 349Q665 343 652 328H314L303 317L292 308V12Q289 10 285 6T279 1T272 -1Q265 -1 252 12V139Q252 266 249 266L96 119V12Q80 -1 76 -1T70 0T63 6T56 12V79L29 55Q-26 -1 -35 -1Q-42 -1 -48 5T-55 19Q-55 25 -51 30T-15 66Q5 86 18 99L56 135V681'], + + // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + 0x22AF: [695,1,722,-55,665,'56 681Q70 695 77 695T96 683V428L98 175L252 323V681Q264 695 272 695Q278 695 292 681V466H401L503 563L621 679Q637 695 645 695Q652 695 658 688T665 673Q665 670 663 666Q663 665 651 652T611 612T561 563L458 468L556 466H654Q665 455 665 447T652 426H416L294 308L292 288V270H652Q665 255 665 250T652 230H292V12Q289 10 285 6T279 1T272 -1Q265 -1 252 12V139Q252 266 249 266L96 119V12Q80 -1 76 -1T70 0T63 6T56 12V79L29 55Q-26 -1 -35 -1Q-42 -1 -48 5T-55 19Q-55 25 -51 30T-15 66Q5 86 18 99L56 135V681ZM358 426H292V361L325 392L358 426'], + + // NORMAL SUBGROUP OF + 0x22B2: [539,41,778,83,694,'694 -26Q686 -40 676 -41H670L382 95Q92 232 90 234Q83 239 83 249Q83 262 96 267Q101 270 379 401T665 537Q671 539 674 539Q686 539 694 524V-26ZM654 11T654 249T653 487T402 369T151 249L275 190Q399 131 524 72T652 11Q654 11 654 249'], + + // CONTAINS AS NORMAL SUBGROUP + 0x22B3: [540,41,778,83,694,'83 523Q83 524 85 527T92 535T103 539Q107 539 389 406T680 268Q694 260 694 249Q694 239 687 234Q685 232 395 95L107 -41H101Q90 -40 83 -26V523ZM376 368Q323 393 254 425T155 472L125 487Q123 487 123 249T125 11Q127 12 252 71T502 190L626 249L376 368'], + + // NORMAL SUBGROUP OF OR EQUAL TO + 0x22B4: [636,138,778,83,695,'694 71Q686 58 676 56H670L382 192Q92 329 90 331Q83 336 83 346Q83 359 96 364Q101 367 379 498T665 634Q671 636 674 636Q686 636 694 621V71ZM654 108T654 346T653 584T402 466T151 346L275 287Q399 228 524 169T652 108Q654 108 654 346ZM83 -120Q83 -116 84 -113T86 -108T89 -104T92 -102T96 -100T99 -98H678Q679 -98 681 -99T684 -101T688 -104T691 -108T693 -113T694 -120Q692 -130 679 -138H98Q84 -130 83 -120'], + + // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO + 0x22B5: [637,138,778,83,695,'83 620Q83 621 85 624T92 632T103 636Q107 636 389 503T680 365Q694 357 694 346Q694 336 687 331Q685 329 395 192L107 56H101Q90 58 83 71V620ZM376 465Q323 490 254 522T155 570L125 584Q123 584 123 346T125 108Q127 109 252 168T502 287L626 346L376 465ZM83 -120Q83 -116 84 -113T86 -108T89 -104T92 -102T96 -100T99 -98H678Q679 -98 681 -99T684 -101T688 -104T691 -108T693 -113T694 -120Q692 -130 679 -138H98Q84 -130 83 -120'], + + // MULTIMAP + 0x22B8: [408,-92,1111,55,1055,'1055 250Q1055 190 1012 141T896 92Q858 92 828 106T781 140T755 180T741 214L738 228V230H405Q71 230 68 232Q55 238 55 250T68 268Q71 270 405 270H738V272L740 280Q742 287 745 297T754 321T771 348T796 374T832 396T881 408H891Q969 408 1012 360T1055 250ZM896 132Q948 132 981 166T1014 250Q1014 301 985 330T920 367Q914 368 891 368Q853 368 816 338T778 250Q778 198 812 165T896 132'], + + // INTERCALATE + 0x22BA: [431,212,556,57,501,'318 -182Q302 -212 280 -212H278H275Q249 -212 239 -182L238 84V351H162L87 352Q57 362 57 391T84 429Q89 431 280 431H470L474 429Q477 427 479 426T484 423T490 417T495 410T499 402T500 391Q500 365 470 352L394 351H318V-182'], + + // XOR + 0x22BB: [716,0,611,55,555,'56 697Q56 706 62 711T75 716Q86 716 90 709Q91 708 104 680T147 592T199 483L305 261L411 483Q443 548 481 629Q512 694 518 705T535 716Q543 716 549 710T555 700Q555 693 501 577T388 340T325 210Q316 194 305 194Q292 194 285 210Q282 219 224 339T111 574T56 697ZM55 14T55 20T59 31T66 38T71 40H540Q555 32 555 20T540 0H71Q70 0 67 2T59 9'], + + // NAND + 0x22BC: [716,0,611,54,555,'55 698Q56 708 70 716H540Q554 708 555 698Q555 694 554 691T552 686T549 682T546 680T542 678T539 676H71Q70 676 68 677T65 679T61 682T58 686T56 691T55 698ZM555 18Q554 12 549 6T536 0H535Q525 0 515 17T459 132Q430 194 410 235L305 455L199 233Q176 185 147 125T105 36T90 7Q85 0 75 0Q63 0 58 11Q55 15 55 21Q58 31 170 266T285 507Q295 522 305 522T320 515Q322 513 439 268L555 24V18'], + + // DOT OPERATOR + 0x22C5: [189,0,278,55,222,'71 0Q59 4 55 16V96L56 176Q59 180 66 187L70 189H209Q219 181 222 174V15Q219 10 209 1L140 0H71'], + + // DIVISION TIMES + 0x22C7: [545,44,778,55,720,'366 543Q374 545 382 545Q405 545 419 538Q429 534 443 521T462 496Q466 478 466 467Q466 438 444 412Q422 390 388 390Q352 390 331 412Q311 434 311 467Q311 499 331 518Q345 533 366 543ZM146 472Q146 479 153 485T166 492Q171 492 187 476T279 385L386 278L495 385Q600 492 608 492Q615 492 621 486T628 472Q628 467 614 452T531 367L435 270H706Q720 256 720 250Q720 241 706 230H435L531 132Q600 63 614 48T628 27Q628 20 622 14T608 7Q600 7 495 114L386 221L279 114Q204 39 188 23T166 7Q159 7 153 13T146 27Q146 32 160 47T244 132L339 230H68Q55 243 55 250Q55 255 68 270H339L244 367Q175 436 161 451T146 472ZM466 34Q466 4 447 -20T388 -44Q353 -44 331 -22Q311 1 311 34Q311 66 331 85Q347 101 366 110Q374 112 382 112Q405 112 419 105Q429 100 443 87T462 63Q466 45 466 34'], + + // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22C9: [492,-8,778,146,628,'146 479Q159 492 166 492Q171 492 189 475T279 386L386 279L495 386Q598 492 608 492Q615 492 621 486T628 472Q628 464 522 357L415 250L522 144Q628 37 628 28Q628 21 622 15T608 8Q599 8 495 115L386 221L279 115Q204 40 188 24T166 8Q162 8 160 9T153 15T146 21V479ZM186 77L359 250L186 424V77'], + + // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CA: [492,-8,778,146,628,'146 472Q146 479 152 485T166 492Q171 492 189 475T279 386L386 279L495 386Q598 492 608 492Q615 492 628 479V21Q615 8 608 8Q599 8 495 115L386 221L279 115Q204 40 188 24T166 8Q159 8 153 14T146 28Q146 37 253 144L359 250L253 357Q146 464 146 472ZM588 77V424L499 337L415 250L588 77'], + + // LEFT SEMIDIRECT PRODUCT + 0x22CB: [694,23,778,55,722,'55 674Q55 682 62 688T76 694H77Q83 694 100 677T208 561Q320 440 410 342Q462 286 541 201Q677 55 699 30T722 -2Q722 -9 716 -15T701 -22T688 -17Q687 -15 542 141T394 301L388 306L240 146Q119 15 101 -3T75 -22T61 -16T55 -2Q55 4 67 19T158 117Q190 151 209 172L361 336L209 500Q62 657 57 667Q55 671 55 674'], + + // RIGHT SEMIDIRECT PRODUCT + 0x22CC: [694,22,778,55,722,'84 -22T76 -22T62 -16T55 -2Q55 4 78 30T249 215Q321 293 367 342Q672 672 683 682Q695 694 702 694Q710 694 716 688T722 674Q722 668 710 653T619 555Q587 521 568 500L416 336L568 172Q715 15 720 5Q722 1 722 -2Q722 -9 716 -15T702 -22H700Q693 -22 671 1T537 146L389 306Q387 304 340 253T237 143T135 33L89 -17Q84 -22 76 -22'], + + // REVERSED TILDE EQUALS + 0x22CD: [464,-36,778,56,722,'56 433Q56 464 71 464Q74 464 77 461Q82 454 82 438T91 397T123 347Q166 307 222 307Q264 307 308 331T386 385T465 438T556 463Q631 463 676 408T722 283Q722 250 708 250Q704 250 699 257Q695 265 693 286T682 330Q670 350 655 367Q612 407 556 407Q514 407 470 383T393 329T314 276T222 251Q148 251 102 306T56 433ZM57 56Q57 71 73 76H706Q722 70 722 56Q722 44 707 36H71Q57 43 57 56'], + + // CURLY LOGICAL OR + 0x22CE: [578,21,760,83,676,'83 558Q83 566 89 572T104 578Q108 578 116 577T146 570T190 555T239 526T286 480Q308 453 325 420T351 358T367 304T376 265T380 251T381 253Q381 262 395 312Q428 434 492 499T642 576Q654 578 655 578Q664 578 670 572T676 558Q676 543 657 540T599 524T525 476Q406 362 400 29V8Q400 -21 380 -21Q369 -21 362 -11Q360 -7 360 12Q360 115 348 200T308 360T231 480T111 537Q83 540 83 558'], + + // CURLY LOGICAL AND + 0x22CF: [578,22,760,83,676,'104 -22Q95 -22 89 -16T83 -2Q83 11 98 16T135 23T192 46T256 103Q360 233 360 549Q360 554 360 557T361 563T362 567T364 569T367 572T371 576Q377 578 380 578Q401 578 401 547Q401 543 401 537T400 527Q409 53 648 19Q676 16 676 -2Q676 -10 670 -16T655 -22Q654 -22 642 -20Q556 -9 492 56T395 244Q381 294 381 303Q381 305 380 305T374 275T352 201T310 110T234 27T117 -20Q105 -22 104 -22'], + + // DOUBLE SUBSET + 0x22D0: [541,41,778,84,694,'84 250Q84 372 166 450T360 539Q361 539 370 539T395 539T430 540T475 540T524 540H679Q694 532 694 520Q694 511 681 501L522 500H470H441Q366 500 338 496T266 472Q244 461 224 446T179 404T139 337T124 250V245Q124 157 185 89Q244 25 328 7Q348 2 366 2T522 0H681Q694 -10 694 -20Q694 -32 679 -40H526Q510 -40 480 -40T434 -41Q350 -41 289 -25T172 45Q84 127 84 250ZM694 134Q694 123 679 114H425H384Q350 114 326 121T277 154Q238 193 238 251Q238 322 295 361Q318 378 339 382T412 387Q423 387 459 387T520 386H679Q694 377 694 366Q694 354 679 346H519Q493 346 458 346T411 347Q360 347 341 342T303 315Q278 287 278 250Q278 210 301 187T351 156Q358 154 519 154H679Q694 146 694 134'], + + // DOUBLE SUPERSET + 0x22D1: [541,40,778,83,693,'83 520Q83 532 98 540H251Q267 540 297 540T343 541Q427 541 488 525T605 455Q693 374 693 250Q693 165 650 99T545 0T415 -39Q407 -40 251 -40H98Q83 -32 83 -20Q83 -10 96 0H255H308H337Q412 0 439 4T512 28Q533 39 553 54T599 96T639 163T654 250Q654 341 592 411Q557 449 512 472Q468 491 439 495T335 500H306H255L96 501Q83 511 83 520ZM83 366Q83 376 96 386H244Q280 386 317 386T378 386L402 387Q456 387 498 348T540 250Q540 203 512 168T446 120Q427 114 353 114H99Q84 120 84 134Q84 147 98 154H258Q284 154 319 154T366 153Q416 153 436 158T474 185Q500 214 500 250Q500 290 477 313T426 344Q419 346 258 346H98Q83 354 83 366'], + + // DOUBLE INTERSECTION + 0x22D2: [598,22,667,55,611,'88 -21T75 -21T55 -7V200Q55 231 55 280Q56 414 60 428Q61 430 61 431Q77 500 152 549T332 598Q443 598 522 544T610 405Q611 399 611 194V-7Q604 -22 591 -22Q582 -22 572 -9L570 405Q563 433 556 449T529 485Q498 519 445 538T334 558Q251 558 179 518T96 401Q95 396 95 193V-7Q88 -21 75 -21ZM229 -21H227Q215 -21 209 -7V166Q209 304 209 327T215 363Q226 398 259 421T333 444Q380 444 414 416T455 347Q457 339 457 166V-7Q449 -21 439 -21H437H435Q423 -21 417 -7V164Q417 303 417 325T411 358Q387 403 333 403T255 358Q250 347 250 325T249 164V-7Q241 -21 231 -21H229'], + + // DOUBLE UNION + 0x22D3: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598ZM437 598Q450 598 457 583V410Q457 237 455 229Q448 189 414 161T333 132Q291 132 255 157T211 230Q209 237 209 412L210 585Q220 598 229 598Q242 598 249 583V412Q249 273 249 251T255 218Q279 173 333 173T411 218Q416 229 416 251T417 412V583Q425 598 437 598'], + + // PITCHFORK + 0x22D4: [736,22,667,56,611,'76 -22Q64 -22 56 -7V176L57 360L59 370Q66 401 83 426T123 468T171 495T221 513T265 522T298 527L311 528H314V625L315 723Q325 736 334 736Q346 736 354 721V528H356L368 527Q380 526 399 523T441 515T490 498T537 472T578 433T606 379Q611 359 611 171V-7Q604 -21 591 -21T571 -7V170Q571 313 571 337T565 375Q555 408 526 432T461 467T402 482T365 487H354V-7Q347 -21 334 -21T314 -7V487H303Q251 484 207 467Q121 438 99 367L97 357L96 174V-9Q86 -22 76 -22'], + + // LESS-THAN WITH DOT + 0x22D6: [541,41,778,82,694,'86 261Q92 267 381 404T673 541Q680 541 686 535T693 521T689 510Q684 504 418 379L151 250L418 121Q686 -4 689 -10Q693 -14 693 -21T687 -34T675 -41Q668 -41 380 96T86 239Q82 244 82 250Q82 257 86 261ZM610 250Q610 224 592 198T531 172Q498 172 475 195Q453 214 453 250Q453 308 513 328Q515 330 535 330Q569 328 589 304T610 250'], + + // GREATER-THAN WITH DOT + 0x22D7: [541,41,778,82,693,'82 521Q82 529 89 535T100 541Q107 541 395 404T689 261Q693 257 693 250T689 239Q684 234 396 97T100 -41Q95 -41 89 -35T82 -21Q82 -12 96 -4Q118 9 358 121L624 250L358 379Q91 503 86 510Q82 514 82 521ZM165 250Q165 282 188 306T239 330Q262 330 275 323Q303 312 318 283Q322 272 322 250Q322 213 300 195Q277 172 246 172Q224 172 213 177Q165 200 165 250'], + + // VERY MUCH LESS-THAN + 0x22D8: [568,67,1333,56,1277,'639 -48Q639 -54 634 -60T619 -67H618Q612 -67 536 -26Q430 33 329 88Q61 235 59 239Q56 243 56 250T59 261Q62 266 336 415T615 567L619 568Q622 567 625 567Q639 562 639 548Q639 540 633 534Q632 532 374 391L117 250L374 109Q632 -32 633 -34Q639 -40 639 -48ZM958 -48Q958 -54 953 -60T938 -67H937Q931 -67 855 -26Q749 33 648 88Q380 235 378 239Q375 243 375 250T378 261Q381 266 655 415T934 567L938 568Q941 567 944 567Q958 562 958 548Q958 540 952 534Q951 532 693 391L436 250L693 109Q951 -32 952 -34Q958 -40 958 -48ZM1277 -48Q1277 -54 1272 -60T1257 -67H1256Q1250 -67 1174 -26Q1068 33 967 88Q699 235 697 239Q694 243 694 250T697 261Q700 266 974 415T1253 567L1257 568Q1260 567 1263 567Q1277 562 1277 548Q1277 540 1271 534Q1270 532 1012 391L755 250L1012 109Q1270 -32 1271 -34Q1277 -40 1277 -48'], + + // VERY MUCH GREATER-THAN + 0x22D9: [568,68,1333,55,1277,'75 -67Q65 -67 60 -61T55 -48Q55 -40 61 -34Q62 -32 329 109L595 250L329 391Q62 532 61 534Q55 540 55 548Q55 562 69 567H77Q81 567 222 493T506 342T653 264Q667 250 653 236Q649 234 504 157T220 7T77 -67H75ZM364 547Q364 563 381 567L384 568Q387 568 518 499T795 353T955 269Q967 261 967 250T955 231Q925 216 780 139T513 -3T383 -67Q373 -67 369 -60T364 -47Q364 -40 370 -34Q373 -31 639 109L904 250L639 391Q373 531 370 534Q364 540 364 547ZM674 538T674 548T681 562T693 567Q699 567 816 505Q915 453 993 412Q1050 382 1132 339Q1241 282 1259 271T1277 250Q1277 241 1263 232Q1246 221 985 84Q698 -67 692 -67Q674 -67 674 -47Q674 -38 680 -33Q683 -30 947 109L1213 250L947 391Q683 530 680 533Q674 538 674 548'], + + // stix-less, equal, slanted, greater + 0x22DA: [886,386,778,83,674,'674 445Q674 438 669 432T655 425T369 531T90 640Q83 645 83 655Q83 668 95 673Q644 886 654 886Q662 886 668 880T674 866Q674 856 663 850Q649 843 411 751L160 655L407 560Q474 534 561 501Q646 469 660 462T674 445ZM84 250Q84 260 99 270H658Q674 264 674 250Q674 238 659 230H98Q84 237 84 250ZM83 55Q83 68 94 73Q98 76 104 76Q108 75 383 -30T664 -138Q674 -144 674 -155Q674 -165 667 -170Q664 -173 385 -279T104 -386Q85 -386 83 -368Q83 -354 92 -349Q93 -349 347 -251L597 -155L346 -59Q296 -40 223 -12Q118 28 101 36T83 55'], + + // stix-greater, equal, slanted, less + 0x22DB: [886,386,778,83,674,'111 425T102 425T88 431T83 445V446Q83 455 96 461Q111 469 203 504Q287 536 350 560L597 655L346 751Q94 848 92 850Q83 856 83 866Q83 873 88 879T104 886Q109 885 386 779T667 670Q674 665 674 655T667 640Q665 638 388 532ZM84 250Q84 260 99 270H658Q674 264 674 250Q674 238 659 230H98Q84 237 84 250ZM653 76Q656 76 660 75T669 68T674 56Q674 46 665 40Q663 38 411 -59L160 -155L410 -251Q664 -349 665 -349Q674 -354 674 -368Q672 -386 654 -386Q650 -386 371 -279T90 -170Q83 -165 83 -155Q83 -144 93 -138Q645 76 653 76'], + + // EQUAL TO OR PRECEDES + 0x22DE: [734,0,778,83,694,'113 424Q83 424 83 444Q83 453 96 464H121Q181 466 234 474T341 501T435 545T505 613T542 707Q545 734 564 734Q583 731 583 714Q583 658 560 613T500 538T414 486T321 453T229 434T156 426T113 424ZM112 270Q83 270 83 290Q83 301 94 307Q98 310 118 310Q624 310 653 556Q657 580 675 580Q693 577 693 559V552Q684 472 628 410T465 314Q436 303 372 290Q373 290 388 287T425 278T465 266Q674 199 693 28L694 17L692 14Q691 11 689 8T683 3T673 0Q657 0 653 24Q623 270 118 270H112'], + + // EQUAL TO OR SUCCEEDS + 0x22DF: [734,0,778,83,694,'195 713Q195 725 201 729T214 734Q227 734 231 722T238 691T255 641T299 580Q405 474 656 464H681Q694 451 694 443Q694 424 670 424H664Q535 424 415 465T235 595Q195 657 195 713ZM668 310Q694 310 694 290Q694 285 691 279Q684 271 664 270Q550 268 464 257T301 220T179 146T124 27Q119 0 103 0T83 16Q83 21 83 31T92 68T113 121T157 177T229 231Q295 268 405 290Q404 290 389 293T352 302T312 314Q138 371 96 500Q83 541 83 562Q83 568 89 574T103 580Q115 580 120 570T126 542T138 497T173 442Q289 310 659 310H668'], + + // stix-not (vert) precedes or contour equals + 0x22E0: [801,303,778,82,693,'82 344Q82 349 95 364H124Q266 364 398 390L429 397L509 595Q519 619 536 659Q581 766 590 783T609 801Q616 801 622 795T629 781Q629 776 553 595Q533 548 516 506T489 439T480 415Q482 415 505 426T538 444Q632 498 651 601Q654 621 658 628T673 635Q680 635 686 629T693 615Q693 591 678 546Q636 433 484 375L458 364L451 348Q443 332 443 329T455 324Q480 316 503 307T560 277T619 233T664 170T691 86Q693 68 691 64Q684 53 672 53Q664 53 658 59Q657 60 650 97T617 174T538 244Q515 257 476 273T428 289Q425 289 412 256Q381 179 344 90L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H95Q82 -128 82 -123T95 -103H220L302 97Q384 288 384 299Q384 302 341 308T235 319T124 324H95Q82 337 82 344ZM399 338Q403 338 406 346L409 353L375 344Q375 343 384 341T399 338'], + + // stix-not (vert) succeeds or contour equals + 0x22E1: [801,303,778,82,694,'146 -283Q146 -282 174 -213T202 -143H95Q82 -127 82 -123T95 -103H220L300 93Q343 196 374 270Q385 294 386 299L373 295Q331 287 289 268Q241 249 208 224T159 174T135 127T124 85T118 59Q112 53 103 53Q91 53 84 64Q82 68 84 86Q96 185 174 248T375 337L400 344Q399 344 381 348T351 355T316 364T276 379T235 398T193 424T155 456T122 497T98 546Q82 587 82 615Q82 622 88 628T102 635Q112 635 116 628T124 601Q128 579 134 562T159 515T207 463T290 418T415 384L422 381L506 586Q571 744 584 772T609 801Q616 801 622 795T629 781T544 577Q525 529 504 478T473 402T462 375Q480 373 500 373Q579 364 651 364H680Q682 361 686 357T691 351T693 344Q693 337 680 324H651Q553 324 451 310L433 308L349 104L262 -101L473 -103H682Q694 -115 694 -123Q694 -133 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283'], + + // LESS-THAN BUT NOT EQUIVALENT TO + 0x22E6: [730,359,778,55,719,'86 450Q93 455 380 592T673 730Q680 730 686 724T693 710Q693 702 688 699Q686 693 417 568L151 439L417 310Q685 185 688 179Q693 176 693 168Q693 161 687 155T675 148Q668 148 380 285T86 428Q74 438 86 450ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], + + // GREATER-THAN BUT NOT EQUIVALENT TO + 0x22E7: [730,359,778,55,719,'88 723Q95 730 99 730Q106 730 394 593T688 450Q693 447 693 439T688 428Q683 423 395 286T99 148Q94 148 88 155T82 168Q82 175 86 179Q89 184 357 310L624 439L357 568Q88 694 86 699Q81 703 81 711T88 723ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], + + // PRECEDES BUT NOT EQUIVALENT TO + 0x22E8: [730,359,778,55,719,'95 419Q81 433 81 439T95 459H124Q318 459 455 501Q515 521 556 550T615 607T641 659T652 702T659 725Q667 730 673 730Q680 730 686 724T693 710Q693 682 677 641Q668 616 654 594T622 554T586 522T545 497T504 477T464 462T428 452T397 444T375 439Q379 437 410 430T476 411T551 379T625 321T677 237Q693 196 693 168Q693 161 687 155T673 148Q662 148 658 154T651 181Q638 253 591 300T455 377Q318 419 124 419H95ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], + + // SUCCEEDS BUT NOT EQUIVALENT TO + 0x22E9: [730,359,778,55,719,'679 459Q693 445 693 439Q693 430 679 419H651Q455 419 319 377Q231 347 184 300T124 181Q120 161 116 155T102 148Q95 148 89 154T82 168Q82 192 97 237Q111 275 137 306T188 355T249 391T307 414T361 429T399 439Q397 440 364 447T298 467T224 499T149 557T97 641Q82 686 82 710Q82 717 88 723T102 730L115 725Q118 722 124 697Q137 625 184 578T319 501Q456 459 651 459H679ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], + + // NOT NORMAL SUBGROUP OF + 0x22EA: [707,208,778,82,693,'693 -30Q686 -41 673 -41Q661 -41 506 34L346 110L280 -44Q228 -162 216 -185T193 -208Q177 -208 173 -192Q173 -186 242 -30T311 128Q271 145 184 186T86 236Q82 240 82 246Q82 251 86 259Q96 267 271 350L449 434L506 565Q537 635 551 664T571 700T582 706Q587 706 593 701T600 690Q600 679 553 572Q504 463 504 461L586 501Q672 539 673 539Q679 539 693 525V-30ZM653 10V488L566 445L480 405L422 276Q415 260 405 236T388 199T376 171T368 151T366 145Q368 143 510 77T653 10ZM422 374Q422 376 420 376T285 313T151 248Q315 168 326 163Q415 356 422 374'], + + // DOES NOT CONTAIN AS NORMAL SUBGROUP + 0x22EB: [706,208,778,82,693,'82 525Q96 539 102 539Q103 539 122 530T186 501T266 463L426 388Q428 388 495 541Q564 694 569 699Q573 706 581 706Q587 706 593 702T600 691Q600 676 533 528Q515 486 506 465T485 418T470 381T466 370Q466 369 575 316Q676 269 689 259Q693 253 693 248Q693 242 689 236Q688 235 506 145Q328 63 324 59Q324 50 266 -70Q224 -169 214 -188T193 -208Q177 -208 173 -192Q173 -183 222 -77Q244 -29 257 2T269 34L186 -6Q108 -43 99 -43Q93 -43 82 -30V525ZM271 416Q129 485 126 485H125Q122 485 122 250Q122 10 124 10L211 50L295 92L411 350Q411 351 271 416ZM624 248L449 332L440 319Q434 297 393 214Q353 121 353 119Q355 119 489 182T624 248'], + + // stix-not, vert, left triangle, equals + 0x22EC: [802,303,778,82,693,'82 -123Q82 -114 93 -103H166L238 -101L293 50Q349 200 349 204L220 266Q166 291 140 304T100 325T84 336T82 344Q82 353 94 360Q112 372 282 453L473 541L482 568Q487 578 529 693Q559 785 569 795Q573 802 581 802Q587 802 593 797T599 786Q599 775 564 675L526 570Q526 568 561 584T633 617T673 635Q679 635 693 621V66Q686 54 679 54Q665 54 526 119Q491 137 458 153T405 177T386 184Q385 182 334 42T282 -101T482 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L473 -143H266L238 -219Q217 -278 210 -290T193 -303Q178 -303 173 -287Q173 -279 198 -214L222 -145Q222 -143 158 -143L93 -141L86 -136Q82 -131 82 -123ZM653 106V584L506 513L453 370Q442 339 428 300T407 243T400 224Q403 222 527 164T653 106ZM453 486Q453 488 451 488T300 417T151 344L224 308Q247 298 285 279T331 257L364 241L453 486'], + + // stix-not, vert, right triangle, equals + 0x22ED: [801,303,778,82,693,'82 621Q96 635 102 635T249 568L420 486L449 473L469 533Q563 789 569 797Q573 801 581 801Q598 801 600 786Q602 781 544 617L484 455Q531 435 584 408Q677 364 689 355Q693 351 693 344Q693 339 692 337T676 325T631 302T538 257Q504 241 465 223T406 195T386 186Q384 184 333 44T282 -101Q282 -103 482 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L473 -143H266L238 -219Q217 -278 210 -290T193 -303Q178 -303 173 -287Q173 -279 198 -214L222 -145Q222 -143 158 -143L93 -141L86 -136Q82 -131 82 -123Q82 -114 93 -103H166L238 -101L333 159Q326 159 220 106Q110 54 97 54Q89 54 82 66V621ZM298 501Q155 567 142 575L122 584V344Q122 106 124 106Q125 106 180 132T291 185T351 213Q355 217 393 326L433 435Q433 436 298 501ZM549 381Q472 417 471 417L406 241Q408 240 516 291T624 344L549 381'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MathOperators.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js new file mode 100644 index 00000000..84e28579 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MiscMathSymbolsB.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // BLACK LOZENGE + 0x29EB: [716,132,667,56,611,'318 709Q325 716 332 716Q340 716 344 713T474 511Q611 298 611 292Q611 285 526 152Q494 103 474 72Q347 -128 344 -130Q340 -132 333 -132T322 -130Q319 -128 257 -31T131 169T60 278Q56 285 56 292Q56 298 60 305Q73 326 194 516T318 709'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MiscMathSymbolsB.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js new file mode 100644 index 00000000..f866c55c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MiscSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // BLACK STAR + 0x2605: [694,111,944,49,895,'367 395Q374 416 398 492T442 627T463 688Q463 692 467 692Q471 694 472 694Q478 694 484 680T523 562Q553 469 576 400L577 395H731H819Q872 395 883 394T895 384Q895 380 891 376T832 333Q794 305 767 285Q643 195 643 194L690 47Q737 -96 737 -103Q737 -111 727 -111Q721 -111 594 -18L472 71L350 -18Q223 -111 217 -111Q207 -111 207 -103Q207 -96 254 47L301 194Q301 195 241 239T118 328T51 378Q49 382 49 384Q49 392 58 393T110 395H213H367'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MiscSymbols.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js new file mode 100644 index 00000000..9a477e5f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MiscTechnical.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // stix-small down curve + 0x2322: [378,-122,778,55,722,'77 122Q68 122 63 126T57 135T55 142Q55 151 68 176T111 235T177 302T271 356T388 378Q451 378 508 355T602 300T668 233T709 174T722 142Q722 124 704 122Q692 122 685 134T658 179T606 243Q511 338 390 338Q354 338 320 329Q251 312 193 263T97 141Q87 123 77 122'], + + // stix-small up curve + 0x2323: [378,-142,778,54,722,'389 143Q324 143 266 164T171 215T107 277T67 330T55 358T60 371T77 378Q85 377 92 367T116 331T158 280Q256 182 389 182Q475 182 552 227T675 351Q688 378 704 378Q722 376 722 358Q722 352 710 330T670 276T605 215T511 164T389 143'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MiscTechnical.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js new file mode 100644 index 00000000..76db5bbd --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js @@ -0,0 +1,74 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/PUA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // ?? + 0xE006: [430,23,222,-20,240,'91 417Q104 430 111 430T131 417V301L171 341Q201 373 207 378T220 384Q227 384 233 377T240 366Q240 357 187 299L131 244V-10Q116 -23 111 -23T91 -10V201L49 157Q20 127 14 121T0 115Q-8 115 -14 121T-20 132Q-20 139 17 178Q29 191 36 199L91 257V417'], + + // ?? + 0xE007: [431,24,389,-20,407,'56 417Q68 431 76 431L89 426L96 419V317L98 215L193 273L291 330V375L293 419Q301 431 311 431Q331 431 331 388L333 355L356 370Q381 384 388 384Q394 384 400 377T407 363Q407 354 367 328L331 308V-10Q316 -23 310 -23Q300 -23 293 -12L291 135V284L98 168L96 77V-12Q84 -24 76 -24L62 -19L58 -12L56 66V144L31 128Q5 114 -2 114Q-8 114 -14 121T-20 136Q-20 142 -14 147T20 170L56 190V417'], + + // ?? + 0xE008: [605,85,778,55,719,'477 261Q477 257 473 256T455 253T417 251T348 250H235L155 -77L146 -82Q137 -85 109 -85Q55 -85 55 -77L139 261Q224 596 226 598Q229 603 239 603Q240 603 254 603T290 603T341 604T405 605T477 605Q656 603 687 602T719 596Q719 589 692 588T513 585H319L282 427L242 272Q242 270 351 270Q388 270 410 270T444 269T460 267T469 265T477 261'], + + // ?? + 0xE009: [434,6,667,37,734,'228 325Q170 322 156 316T127 309Q108 309 104 314Q99 319 99 322T108 341Q125 376 171 400T268 425H271Q302 425 319 396Q328 377 328 358Q328 332 324 314Q311 270 286 221Q274 194 274 192H275Q339 234 484 325T639 421Q669 434 691 434T723 425T734 406Q734 394 719 381Q715 376 644 330L575 287L566 267Q543 233 526 176Q520 160 515 143T508 115T506 105Q506 103 533 103Q585 103 607 110T641 118Q670 118 670 107Q670 100 661 85Q643 50 598 27T504 3Q465 3 450 36Q441 51 441 73Q441 84 444 96Q452 146 484 205L497 236L324 125Q143 12 135 10Q103 -6 77 -6Q61 -6 49 2T37 21Q37 36 49 46T124 96L195 141L204 156Q219 179 243 248T264 323Q264 325 228 325'], + + // ?? + 0xE00C: [752,284,778,81,694,'86 472Q93 477 381 614T673 752Q680 752 686 746T693 732T689 721Q686 715 418 590L151 461L418 332Q684 207 689 201Q693 195 693 190Q693 183 687 177T675 170Q668 170 380 307T86 450Q82 454 82 461Q82 467 86 472ZM369 101V126Q369 156 382 156H384Q385 157 386 157Q409 157 409 115V98V54H680Q693 39 693 34T680 14H409V-142H680Q693 -155 693 -162Q693 -167 680 -182H409V-273Q396 -284 388 -284Q382 -284 369 -275V-182H95Q82 -167 82 -162Q82 -155 95 -142H369V14H95Q93 17 89 21T84 27T82 34T83 40T89 47T95 54H369V101'], + + // ?? + 0xE00D: [752,284,778,81,693,'89 745Q95 752 100 752Q106 752 394 615T689 472Q693 468 693 461T689 450Q684 445 396 308T100 170Q95 170 89 176T82 190Q82 195 86 201Q91 208 358 332L624 461L358 590Q90 715 86 721Q82 725 82 731Q82 739 89 745ZM369 101V126Q369 156 382 156H384Q385 157 386 157Q409 157 409 115V98V54H680Q693 39 693 34T680 14H409V-142H680Q693 -155 693 -162Q693 -167 680 -182H409V-273Q396 -284 388 -284Q382 -284 369 -275V-182H95Q82 -167 82 -162Q82 -155 95 -142H369V14H95Q93 17 89 21T84 27T82 34T83 40T89 47T95 54H369V101'], + + // stix-not greater, double equals + 0xE00E: [919,421,778,82,694,'97 172Q82 172 82 190Q82 197 86 201Q94 209 173 246T327 319T402 357Q405 360 434 448T462 539L278 628Q96 713 86 721Q82 725 82 732T88 745T102 752Q103 752 125 742T198 709T293 666Q342 642 385 622T453 590T478 579Q479 579 506 659T562 824T598 915Q602 919 609 919T622 913T629 901Q629 898 571 728Q546 656 531 608T518 559Q555 539 602 519Q664 488 679 479T694 461Q694 457 689 450Q680 443 616 413T494 356T435 326L389 190L342 57L513 55H682Q694 43 694 34Q694 28 689 21L682 17L506 15H329L322 -8Q320 -13 310 -41T295 -85L275 -141H680Q682 -143 684 -146T688 -151T691 -156T693 -162Q693 -172 682 -179L473 -181H262L220 -303Q192 -388 185 -404T166 -421Q160 -421 153 -415T146 -403Q146 -400 179 -302T220 -185Q220 -181 158 -181L93 -179L86 -174Q82 -169 82 -161Q82 -152 93 -141H164L233 -139L260 -63L286 15H189L93 17L86 21Q82 26 82 34Q82 44 93 55H198L300 57L342 179Q350 204 361 238T378 286T382 301L246 237Q111 172 97 172ZM624 461Q621 464 560 492Q512 518 503 518Q500 518 500 517Q499 513 488 479T465 413T453 379L624 461'], + + // stix-not greater-or-equal, slanted + 0xE00F: [801,303,778,82,694,'97 54Q82 54 82 72Q82 79 86 84Q95 91 222 153L351 215L398 324L442 433L258 519Q95 597 87 604Q82 608 82 615T88 628T102 635Q107 635 424 484L458 468L524 630Q593 789 597 795Q601 801 609 801Q616 801 622 795T629 781L562 615L493 450L589 406Q665 371 679 362T694 344Q694 339 693 337T677 326T631 302T538 257Q504 241 465 223T406 195T386 186Q383 185 344 92T306 -3L486 81Q662 168 673 168Q680 168 686 162T693 148T689 137Q688 136 482 35L280 -59L233 -176Q184 -291 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -279 185 -186T224 -90Q225 -88 223 -88Q219 -88 193 -101Q109 -143 98 -143Q82 -138 82 -122Q82 -116 85 -113T108 -98T171 -67L249 -30L289 61Q297 81 307 107T321 144T326 157L218 106Q109 54 97 54ZM553 379Q480 412 480 415Q479 415 460 372T423 285T406 241Q408 240 516 291T624 344L553 379'], + + // stix-not less-or-equal, slanted + 0xE010: [801,303,778,81,694,'102 168Q103 168 151 146T247 102T295 81Q299 85 322 144T344 206L218 268Q153 297 123 313T87 333T82 344T86 355Q104 369 291 455Q491 552 491 553L542 673Q581 767 590 784T609 801Q616 801 622 795T629 781Q629 773 586 677Q546 581 546 577L609 606Q669 635 673 635Q680 635 686 629T693 615Q693 610 692 608T670 593T604 561L524 521L400 226L542 157Q617 123 649 107T687 85T694 72Q694 66 690 60T679 54Q665 54 526 119Q394 186 386 186Q385 186 342 88L331 61L509 -23Q680 -105 688 -111Q693 -115 693 -122T688 -135T675 -141H673Q664 -141 491 -59Q320 21 316 21H315L249 -136Q183 -293 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 154 -261T181 -197T213 -119L280 41Q280 46 186 86Q157 101 121 119Q92 133 87 136T82 148Q82 155 88 161T102 168ZM418 370L466 495Q464 495 308 420T151 344T204 317T311 267T364 244Q364 247 418 370'], + + // stix-not less, double equals + 0xE011: [919,421,778,82,694,'82 34Q82 44 93 55H198L300 57L342 179Q351 207 362 238T378 286T384 303T238 377Q109 435 86 450Q82 454 82 460T86 472Q90 476 302 579L511 679Q512 679 553 795Q569 842 577 866T592 903T600 917T608 919Q615 919 622 912T629 901Q629 899 595 799Q589 777 581 753T569 717T564 703L618 728Q666 752 673 752T686 746T693 732Q693 723 683 717T615 683L546 650L491 488Q464 410 450 368T438 326Q493 297 562 266Q660 219 677 209T694 190Q694 183 690 177T678 171Q664 171 546 228L424 286Q422 286 382 172L342 57L513 55H682Q694 43 694 34Q694 28 689 21L682 17L506 15H329L322 -8Q320 -13 310 -41T295 -85L275 -141H680Q682 -143 684 -146T688 -151T691 -156T693 -162Q693 -172 682 -179L473 -181H262L220 -303Q192 -388 185 -404T166 -421Q160 -421 153 -415T146 -403Q146 -400 179 -302T220 -185Q220 -181 158 -181L93 -179L86 -174Q82 -169 82 -161Q82 -152 93 -141H164L233 -139L260 -63L286 15H189L93 17L86 21Q82 26 82 34ZM495 623Q495 626 493 626T321 544T151 461L398 343Q399 343 405 360T423 415T446 483Q457 513 469 551T488 606T495 623'], + + // stix-not subset, double equals + 0xE016: [828,330,778,82,694,'82 -6Q82 1 95 14H262L295 94Q331 171 331 174Q324 175 312 178T267 194T206 227T146 283T98 368Q84 406 84 461T98 554Q126 632 194 685T349 750Q360 752 480 752H591L604 783Q620 819 624 821Q631 828 640 828Q653 825 658 810Q658 808 646 781L635 754Q635 752 658 752Q680 752 686 746Q693 739 693 732Q693 728 692 726T686 719T680 712H615L506 466Q479 407 451 344T408 248T393 214Q393 210 535 210H680Q693 194 693 190T680 170H373L340 92L304 14H680Q693 1 693 -6Q693 -11 680 -26H286L253 -103L218 -179L451 -181H682Q694 -193 694 -201Q694 -212 682 -219L440 -221H200L178 -270Q160 -309 154 -319T139 -330Q122 -330 118 -312L155 -223Q155 -221 126 -221H95Q82 -206 82 -201T95 -181H175L206 -108Q237 -35 242 -30Q242 -26 169 -26H95Q82 -11 82 -6ZM571 710Q571 712 469 712Q443 712 416 712T371 711T351 710Q279 700 221 656T138 548Q124 508 124 461T138 374Q186 245 351 212L460 459Q571 709 571 710'], + + // ?? + 0xE017: [752,332,778,81,694,'82 -14T82 -7T95 15H431L529 170H435Q341 170 333 175Q149 218 98 368Q84 406 84 461Q84 515 98 555Q126 633 193 686T346 750Q347 750 373 750T440 751T520 752H680Q693 739 693 732Q693 727 680 712H526Q364 712 353 710Q268 700 207 646T126 512Q123 496 123 461T126 410Q141 350 180 304T280 232Q312 217 344 214T464 210H555L589 261Q613 301 620 311T635 321Q644 321 650 315T657 301Q657 296 651 286T630 252T604 212Q604 210 642 210H680Q693 197 693 190Q693 186 692 184T686 177T680 170H578L526 92L478 17L580 15H682Q693 4 693 -4T680 -25H451L353 -179L518 -181H682Q694 -193 694 -201Q694 -211 682 -219L504 -221H326L293 -272Q257 -332 246 -332Q238 -332 232 -326T225 -313Q225 -310 226 -308Q226 -305 251 -265T278 -223Q278 -221 186 -221H95Q93 -218 89 -214T84 -208T82 -201T95 -181H306L404 -25H249L93 -23L86 -19Q82 -14 82 -7'], + + // stix-not superset, double equals + 0xE018: [828,330,778,82,694,'82 732Q82 739 95 752H251H348Q420 752 460 744T551 708Q566 697 566 701Q618 815 624 821Q631 828 640 828Q653 825 658 810L600 677Q600 671 615 656T653 605T689 517Q692 496 692 461T689 406Q668 325 615 266Q572 221 513 196T391 170H373L340 92L304 14H680Q693 1 693 -6Q693 -11 680 -26H286L253 -103L218 -179L451 -181H682Q694 -193 694 -201Q694 -212 682 -219L440 -221H200L178 -270Q160 -309 154 -319T139 -330Q122 -330 118 -312L155 -223Q155 -221 126 -221H95Q82 -206 82 -201T95 -181H175L206 -108Q237 -35 242 -30Q242 -26 169 -26H95Q82 -11 82 -6Q82 1 95 14H262L295 92L331 170H95Q93 172 91 175T87 180T84 185T82 191Q82 199 93 210H220L349 212L549 659Q507 692 462 702T338 712H249H95Q82 727 82 732ZM652 473Q652 513 636 552T603 611T582 632Q581 632 487 422T393 210Q424 210 460 220T535 253T605 316T649 410Q652 427 652 461V473'], + + // ?? + 0xE019: [752,333,778,82,693,'82 732Q82 739 95 752H251Q415 752 426 750Q539 736 615 657Q667 599 689 517Q692 496 692 461T689 406Q668 325 615 266Q522 170 382 170H355L326 95Q319 80 311 59T298 28T293 17Q293 15 486 15H680Q693 0 693 -6T680 -25H275L213 -179L449 -181H682Q693 -192 693 -199T680 -221H198L178 -270Q153 -333 139 -333Q132 -333 126 -327T119 -314T135 -266T153 -223Q153 -221 124 -221H95Q82 -207 82 -201T95 -181H171L233 -25H162L93 -23L86 -19Q82 -14 82 -7T95 15H251L313 170H202L93 172L86 177Q82 182 82 190Q82 199 93 210H211L329 212L349 261Q366 301 372 311T386 321Q392 321 399 315T407 302Q407 295 390 254T373 210Q374 209 377 209Q412 209 444 217Q512 231 564 273T638 377Q651 414 651 461Q651 509 638 548Q613 613 555 656T422 710Q411 712 249 712H95Q82 727 82 732'], + + // ?? + 0xE01A: [634,255,778,84,694,'693 -115T693 -122T680 -144H315L269 -199Q221 -255 213 -255H212Q203 -255 197 -248T193 -231Q195 -225 229 -184L262 -144H186L113 -142L106 -137Q102 -130 102 -125Q102 -119 115 -104H298L426 52H386Q342 54 309 63Q236 79 180 129T98 249Q84 289 84 343Q84 398 98 436Q126 514 193 567T346 632Q347 632 373 632T440 633T520 634H680Q682 631 686 627T691 621T693 614T680 594H526Q364 594 353 592Q268 581 207 528T126 394Q123 378 123 343T126 292Q141 231 181 185T280 114Q329 92 415 92H462L506 147Q554 203 562 203H563Q572 203 578 196T582 178Q579 173 546 132L513 94L598 92H682Q693 81 693 73T680 52H480L349 -102L515 -104H682Q693 -115 693 -122'], + + // ?? + 0xE01B: [634,254,778,82,691,'82 610T82 614T83 620T89 627T95 634H251Q378 634 409 633T469 623Q540 604 596 554T678 436Q691 397 691 343T678 249Q653 181 597 131T469 63Q427 52 362 52H315L213 -102L438 -104H662Q673 -115 673 -123Q673 -129 660 -144H186L151 -197Q114 -250 109 -253Q106 -254 104 -254Q100 -254 98 -253Q91 -253 87 -248T82 -235Q82 -230 109 -186L138 -144H115Q82 -144 82 -125Q82 -119 95 -104H166L266 49Q266 52 182 52H95Q82 65 82 72Q82 76 83 78T89 85T95 92H295L329 143Q365 195 369 198Q372 203 380 203Q385 203 391 197T398 185Q398 184 398 184L399 182Q399 175 369 129L344 94Q344 92 376 92Q402 92 422 94Q496 104 554 147T638 256Q651 295 651 343Q651 390 638 429Q613 494 555 537T422 592Q411 594 249 594H95Q82 610 82 614'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/PUA.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js new file mode 100644 index 00000000..377e489b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/SpacingModLetters.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [845,-561,2333,-14,2346,'1 561Q-3 563 -6 577T-12 604L-14 618Q-14 625 -7 628T23 635Q31 636 36 637Q63 641 621 745Q1148 845 1165 845Q1167 845 1752 739L2338 630Q2346 630 2346 618Q2340 565 2332 561Q2329 561 1749 654Q1617 675 1466 699T1241 736T1167 748Q1165 748 1093 737T867 700T583 654Q3 561 1 561'], + + // SMALL TILDE + 0x2DC: [899,-628,2333,1,2330,'804 788Q717 788 606 772T397 732T213 685T75 645T18 628Q11 628 11 632Q8 637 4 668T2 704Q2 713 36 732Q55 739 242 795Q622 898 826 898Q893 898 947 895Q1009 887 1056 872T1187 819Q1286 776 1356 758T1527 739Q1614 739 1725 755T1934 795T2118 842T2256 882T2313 899Q2320 899 2320 895Q2323 890 2327 860T2329 824Q2329 818 2296 795Q2273 787 2089 732Q1810 657 1598 632Q1562 629 1492 629Q1389 629 1320 644T1144 708Q1048 751 977 769T804 788'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/SpacingModLetters.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js new file mode 100644 index 00000000..f00135fc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js @@ -0,0 +1,95 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/SuppMathOperators.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // LOGICAL AND WITH DOUBLE OVERBAR + 0x2A5E: [813,97,611,54,555,'55 795Q56 806 70 813H540Q554 806 555 795Q555 791 554 788T552 783T549 779T546 777T542 775T539 773H71Q70 773 68 774T65 776T61 779T58 783T56 788T55 795ZM55 601Q56 612 70 619H540Q554 612 555 601Q555 597 554 594T552 589T549 585T546 583T542 581T539 579H71Q70 579 68 580T65 582T61 585T58 589T56 594T55 601ZM75 -97Q67 -97 61 -91T55 -81Q55 -71 169 166T285 410Q295 425 305 425Q311 425 316 422T323 414L325 410Q327 404 441 167T555 -81Q555 -85 549 -91T535 -97T520 -90Q519 -89 506 -61T463 27T411 136L305 358L199 136Q167 71 129 -10Q98 -75 92 -86T75 -97'], + + // LESS-THAN OR SLANTED EQUAL TO + 0x2A7D: [636,138,778,83,694,'674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM94 170Q102 172 104 172Q110 171 254 103T535 -30T678 -98Q694 -106 694 -118Q694 -136 676 -138H670L382 -2Q92 135 90 137Q83 142 83 154Q84 164 94 170'], + + // GREATER-THAN OR SLANTED EQUAL TO + 0x2A7E: [636,138,778,82,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 356 694 346T687 331Q685 329 395 192L107 56H101Q83 58 83 76Q83 77 83 79Q82 86 98 95Q117 105 248 167Q326 204 378 228L626 346L360 472Q291 505 200 548Q112 589 98 597T83 616ZM674 172Q692 172 694 154Q694 142 687 137Q685 135 395 -2L107 -138H101Q83 -136 83 -118Q83 -106 96 -100Q100 -98 380 35T665 170T674 172'], + + // LESS-THAN OR APPROXIMATE + 0x2A85: [762,290,778,55,722,'667 761Q669 762 673 762Q682 762 688 756T694 741Q694 731 687 727Q684 724 420 613L156 502L416 392Q476 367 544 338T647 295T682 280Q694 274 694 262Q694 244 676 242Q670 242 524 303T235 425T90 487Q83 493 83 501Q83 514 94 519Q97 520 378 639T667 761ZM55 -23Q55 43 103 90T223 138Q265 138 316 114Q342 100 393 68L443 36Q502 0 554 0Q609 0 650 32T694 109Q694 138 708 138Q710 138 713 136T719 127T722 108Q722 37 673 -9T557 -56Q514 -56 468 -35T387 13T308 60T223 82Q167 82 127 50T83 -27Q81 -56 69 -56Q55 -56 55 -23ZM55 -257Q55 -191 103 -144T223 -96Q265 -96 316 -120Q342 -134 393 -166L443 -198Q502 -234 554 -234Q609 -234 650 -202T694 -125Q694 -96 708 -96Q710 -96 713 -98T719 -107T722 -126Q722 -197 673 -243T557 -290Q514 -290 468 -269T387 -221T308 -174T223 -152Q167 -152 127 -184T83 -261Q80 -290 69 -290Q55 -290 55 -257'], + + // GREATER-THAN OR APPROXIMATE + 0x2A86: [762,290,778,55,722,'90 727Q83 734 83 743Q83 751 89 756T104 762Q111 760 396 641Q686 518 687 517Q694 512 694 502T687 487Q686 486 543 425T253 303T101 242Q83 244 83 262Q83 274 95 280Q96 280 130 294T232 338T361 392L621 502L357 613Q93 724 90 727ZM55 -23Q55 43 103 90T223 138Q265 138 316 114Q342 100 393 68L443 36Q502 0 554 0Q609 0 650 32T694 109Q694 138 708 138Q710 138 713 136T719 127T722 108Q722 37 673 -9T557 -56Q514 -56 468 -35T387 13T308 60T223 82Q167 82 127 50T83 -27Q81 -56 69 -56Q55 -56 55 -23ZM55 -257Q55 -191 103 -144T223 -96Q265 -96 316 -120Q342 -134 393 -166L443 -198Q502 -234 554 -234Q609 -234 650 -202T694 -125Q694 -96 708 -96Q710 -96 713 -98T719 -107T722 -126Q722 -197 673 -243T557 -290Q514 -290 468 -269T387 -221T308 -174T223 -152Q167 -152 127 -184T83 -261Q80 -290 69 -290Q55 -290 55 -257'], + + // LESS-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A87: [636,241,778,82,694,'380 497Q445 528 522 564T636 618T673 635Q680 635 686 628T693 615T689 603Q686 599 418 472L151 343L418 215Q686 88 689 83Q693 79 693 72T687 59T675 52Q669 52 381 189T86 332Q82 337 82 344Q82 350 86 355Q91 359 380 497ZM82 -130T82 -124T95 -103H380L431 -54Q476 -6 486 -6Q491 -6 498 -12T505 -27Q505 -28 505 -29T504 -32Q503 -33 498 -38T485 -53T469 -70L438 -103H680Q682 -106 686 -110T691 -116T693 -123Q693 -130 680 -143H398L346 -192Q300 -241 291 -241Q271 -241 271 -221Q271 -209 306 -179L340 -143H95Q82 -130 82 -124'], + + // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A88: [635,241,778,82,693,'82 614Q82 620 86 625T94 632T100 635Q106 635 394 498T689 355Q693 349 693 343Q693 338 689 332Q683 327 395 190T100 52Q95 52 89 58T82 72Q82 80 95 88Q114 99 358 215L624 343L358 472Q89 599 86 603Q82 607 82 614ZM82 -130T82 -124T95 -103H380L431 -54Q476 -6 486 -6Q491 -6 498 -12T505 -27Q505 -28 505 -29T504 -32Q503 -33 498 -38T485 -53T469 -70L438 -103H680Q682 -106 686 -110T691 -116T693 -123Q693 -130 680 -143H398L346 -192Q300 -241 291 -241Q271 -241 271 -221Q271 -209 306 -179L340 -143H95Q82 -130 82 -124'], + + // LESS-THAN AND NOT APPROXIMATE + 0x2A89: [761,387,778,57,718,'86 512Q93 518 381 639T673 761Q680 761 686 755T693 741Q693 733 688 730Q685 723 419 612L155 501L419 390Q685 277 688 272Q693 269 693 261Q693 254 687 248T675 241Q669 241 381 362T86 490Q74 500 86 512ZM70 -59Q57 -59 57 -24Q57 40 104 87Q116 102 146 118Q186 136 231 136Q232 136 242 135T258 133T276 128T302 118T334 101T377 74Q386 69 396 63T411 53T417 50Q435 87 453 134Q491 223 495 227Q498 230 505 230Q513 230 519 225T526 212Q526 203 491 118T453 30Q453 22 489 10T553 -3Q589 -3 622 14Q653 28 669 50T688 90T694 122T706 136Q718 136 718 114Q718 113 718 109T717 103Q717 31 668 -14T554 -60Q529 -60 499 -50T451 -32T433 -24Q431 -24 404 -90T375 -157Q375 -159 402 -178T473 -218T553 -239Q599 -239 641 -211T691 -130Q694 -99 706 -99T718 -122Q718 -123 718 -127T717 -133Q717 -204 668 -249T559 -295Q512 -295 470 -275T355 -206L322 -290Q313 -310 304 -332T289 -367T282 -382Q277 -387 270 -387Q262 -387 255 -382T248 -368Q248 -361 322 -186Q311 -177 280 -166T222 -155Q189 -155 153 -173Q122 -186 106 -208T87 -248T82 -280T71 -294Q57 -294 57 -259Q57 -195 104 -148Q122 -126 155 -113T220 -99Q245 -99 276 -109T324 -127T342 -135Q397 -2 397 1Q386 10 367 23T302 58T222 80Q175 80 132 52T84 -28Q82 -59 70 -59'], + + // GREATER-THAN AND NOT APPROXIMATE + 0x2A8A: [761,387,778,57,718,'86 730Q81 734 81 740Q81 747 88 754T99 761Q103 761 392 640T688 512Q693 509 693 501T688 490Q682 484 394 363T99 241Q94 241 88 248T82 261Q82 268 86 272Q89 277 355 390L619 501L355 612Q89 723 86 730ZM70 -59Q57 -59 57 -24Q57 40 104 87Q116 102 146 118Q186 136 231 136Q232 136 242 135T258 133T276 128T302 118T334 101T377 74Q386 69 396 63T411 53T417 50Q435 87 453 134Q491 223 495 227Q498 230 505 230Q513 230 519 225T526 212Q526 203 491 118T453 30Q453 22 489 10T553 -3Q589 -3 622 14Q653 28 669 50T688 90T694 122T706 136Q718 136 718 114Q718 113 718 109T717 103Q717 31 668 -14T554 -60Q529 -60 499 -50T451 -32T433 -24Q431 -24 404 -90T375 -157Q375 -159 402 -178T473 -218T553 -239Q599 -239 641 -211T691 -130Q694 -99 706 -99T718 -122Q718 -123 718 -127T717 -133Q717 -204 668 -249T559 -295Q512 -295 470 -275T355 -206L322 -290Q313 -310 304 -332T289 -367T282 -382Q277 -387 270 -387Q262 -387 255 -382T248 -368Q248 -361 322 -186Q311 -177 280 -166T222 -155Q189 -155 153 -173Q122 -186 106 -208T87 -248T82 -280T71 -294Q57 -294 57 -259Q57 -195 104 -148Q122 -126 155 -113T220 -99Q245 -99 276 -109T324 -127T342 -135Q397 -2 397 1Q386 10 367 23T302 58T222 80Q175 80 132 52T84 -28Q82 -59 70 -59'], + + // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN + 0x2A8B: [1003,463,778,83,694,'674 1003Q681 1003 687 999T694 983Q694 973 683 967Q669 959 420 868L162 772L422 676Q683 579 685 577Q694 571 694 560Q694 550 687 546T673 541Q669 542 384 647T93 755Q83 760 83 772Q83 783 91 788Q98 791 383 897T674 1003ZM84 354T84 367T98 387H679Q694 379 694 367Q694 354 679 347H98Q84 354 84 367ZM84 160T84 173T98 193H679Q694 185 694 173Q694 160 679 153H98Q84 160 84 173ZM94 -3Q102 -1 104 -1Q107 -2 392 -107T684 -215Q694 -219 694 -232Q694 -241 687 -247Q686 -248 395 -357Q106 -463 101 -463Q83 -461 83 -443Q83 -431 94 -426Q97 -423 357 -328L615 -232L355 -136Q94 -39 92 -37Q83 -31 83 -21Q83 -9 94 -3'], + + // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN + 0x2A8C: [1003,463,778,83,694,'104 541Q98 541 91 545T83 560Q83 571 92 577Q94 579 355 676L615 772L357 868Q108 959 94 967Q83 973 83 983Q83 989 87 996T104 1003Q109 1002 396 896T687 787Q694 781 694 772Q694 759 684 755Q678 752 393 647T104 541ZM84 367Q84 380 98 387H679Q694 379 694 367Q694 356 680 348L390 347H100Q84 352 84 367ZM84 173Q84 188 100 193H680Q694 183 694 173Q694 160 679 153H98Q84 160 84 173ZM674 -1Q682 -1 688 -6T694 -20Q694 -31 685 -37Q683 -39 422 -136L162 -232L420 -328Q680 -423 683 -426Q694 -431 694 -443Q694 -461 676 -463Q671 -463 382 -357Q91 -248 90 -247Q83 -242 83 -232Q83 -220 93 -215Q667 -1 674 -1'], + + // SLANTED EQUAL TO OR LESS-THAN + 0x2A95: [636,138,778,83,694,'674 636Q682 636 688 631T694 616Q694 605 687 601Q685 599 395 462L107 326H101Q83 328 83 345Q83 358 96 365Q102 367 382 500T665 634Q671 636 674 636ZM674 442Q692 442 694 424Q694 412 687 407Q686 406 417 278L151 152L399 34Q687 -102 691 -107Q694 -113 694 -118Q694 -136 676 -138H670L382 -2Q92 135 90 137Q83 142 83 154Q84 165 96 171Q104 175 382 306T665 440Q669 442 674 442'], + + // SLANTED EQUAL TO OR GREATER-THAN + 0x2A96: [636,138,778,83,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 354 694 346Q694 328 676 326H670L382 462Q317 493 226 535Q119 585 101 595T83 616ZM94 440Q102 442 104 442Q110 441 254 373T535 240T678 172Q679 172 680 171Q694 164 694 153T687 137Q685 135 395 -2L107 -138H101Q83 -136 83 -118Q83 -106 93 -101L128 -84Q163 -68 230 -36T361 26L626 152L360 278Q91 406 90 407Q83 412 83 424Q84 434 94 440'], + + // PRECEDES ABOVE NOT EQUAL TO + 0x2AB5: [752,286,778,82,693,'653 734Q653 738 660 745T673 752T686 745T693 723Q672 555 466 485Q390 463 378 463Q373 463 373 461Q373 458 378 458Q390 458 466 436Q562 404 620 350Q682 283 693 198Q693 183 686 176Q681 170 674 170T660 176T653 187Q653 192 652 200T646 228T631 265T602 307T555 350Q435 431 151 441H95Q82 454 82 460T95 481H151Q165 482 197 483T238 485Q427 500 528 554T649 707Q653 729 653 734ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], + + // SUCCEEDS ABOVE NOT EQUAL TO + 0x2AB6: [752,286,778,82,693,'693 466T693 460T680 441H624Q608 439 577 438T538 436Q349 421 248 367T126 214Q122 192 122 187Q122 183 116 177T102 170Q95 170 89 176Q82 183 82 198Q93 283 155 350Q213 404 309 436Q385 458 398 458Q402 458 402 461Q402 463 398 463Q385 463 309 485Q103 555 82 723Q82 738 89 745T102 752T115 745T122 734Q122 721 126 701T155 640T220 572Q340 490 624 481H680Q693 466 693 460ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], + + // PRECEDES ABOVE ALMOST EQUAL TO + 0x2AB7: [761,294,778,57,717,'82 494T82 501T95 521H171Q405 527 511 569Q630 618 651 732Q652 734 653 740T655 748T658 754T663 759T672 761L686 754Q693 747 693 734Q684 668 648 623Q627 591 573 557T442 507L417 501Q428 496 442 494Q520 478 573 444T648 378Q684 333 693 267Q693 254 686 247Q673 234 659 245Q657 247 651 269Q630 383 511 432Q406 474 171 481H95Q82 494 82 501ZM70 -59Q57 -59 57 -26Q57 30 90 73T177 132Q191 136 226 136Q228 136 239 136T253 135T267 132T287 125T311 113T346 95T391 67Q462 20 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 704 136Q717 136 717 115V105Q717 39 671 -9T554 -58Q518 -58 481 -43T382 14Q302 63 273 74Q255 78 222 78Q188 78 173 74Q90 46 84 -28Q82 -59 70 -59ZM71 -294Q57 -294 57 -262Q57 -205 90 -162T177 -104Q191 -99 226 -99Q266 -103 277 -106Q310 -119 391 -168Q455 -212 502 -231Q519 -235 553 -235Q586 -235 602 -231Q640 -218 661 -195T686 -151T693 -115T704 -99Q717 -99 717 -121V-131Q717 -198 671 -246T556 -294Q519 -294 482 -279T382 -222Q307 -175 273 -162Q255 -157 222 -157Q188 -157 173 -162Q133 -175 110 -201T84 -264Q82 -294 71 -294'], + + // SUCCEEDS ABOVE ALMOST EQUAL TO + 0x2AB8: [761,294,778,57,717,'693 501Q693 493 679 481H604Q369 474 264 432Q143 382 124 269Q116 246 115 245Q101 234 88 247Q82 254 82 267Q89 329 126 378Q147 410 201 444T333 494L357 501Q354 502 340 505T318 510T295 516T269 525T243 535T215 548T188 565Q142 599 126 623Q89 672 82 734Q82 761 102 761L115 756Q116 755 124 732Q143 619 264 569Q371 527 604 521H679Q693 507 693 501ZM70 -59Q57 -59 57 -26Q57 30 90 73T177 132Q191 136 226 136Q228 136 239 136T253 135T267 132T287 125T311 113T346 95T391 67Q462 20 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 704 136Q717 136 717 115V105Q717 39 671 -9T554 -58Q518 -58 481 -43T382 14Q302 63 273 74Q255 78 222 78Q188 78 173 74Q90 46 84 -28Q82 -59 70 -59ZM71 -294Q57 -294 57 -262Q57 -205 90 -162T177 -104Q191 -99 226 -99Q266 -103 277 -106Q310 -119 391 -168Q455 -212 502 -231Q519 -235 553 -235Q586 -235 602 -231Q640 -218 661 -195T686 -151T693 -115T704 -99Q717 -99 717 -121V-131Q717 -198 671 -246T556 -294Q519 -294 482 -279T382 -222Q307 -175 273 -162Q255 -157 222 -157Q188 -157 173 -162Q133 -175 110 -201T84 -264Q82 -294 71 -294'], + + // PRECEDES ABOVE NOT ALMOST EQUAL TO + 0x2AB9: [761,337,778,57,718,'82 494T82 501T95 521H171Q256 523 317 528T441 548T543 584T613 644T651 732Q652 734 653 740T655 748T658 754T663 759T672 761L686 754Q693 747 693 734Q686 686 664 647T615 586T548 545T482 518T417 501Q419 500 451 493T517 471T590 434T657 367T693 267Q693 241 673 241Q664 241 659 245Q656 249 650 273T635 323T593 380T511 432Q406 474 171 481H95Q82 494 82 501ZM57 -26Q57 39 101 87T219 136Q254 136 277 130Q320 114 382 72Q419 50 424 45Q426 45 459 110Q496 178 497 179Q500 180 504 180Q509 180 517 175T526 161Q526 158 495 90L462 25Q462 21 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 706 136T718 115Q718 114 718 111T717 105Q717 39 671 -9T554 -58L459 -33Q450 -29 444 -27T437 -26L371 -155L391 -168Q485 -235 538 -235H553Q586 -235 602 -230Q683 -204 691 -128Q694 -99 706 -99T718 -120Q718 -121 718 -124T717 -130Q717 -199 670 -246T557 -294T393 -228Q353 -205 351 -201Q348 -201 315 -266Q294 -310 285 -323T268 -337Q259 -337 254 -331T248 -317Q248 -305 282 -246L313 -181Q313 -177 273 -161Q255 -157 222 -157Q188 -157 173 -161Q134 -174 113 -198T88 -242T82 -278T71 -294Q57 -294 57 -261Q57 -204 91 -161T179 -104Q195 -99 228 -99Q274 -102 315 -124Q337 -132 337 -130L404 -1L384 12Q319 58 273 74Q255 79 222 79Q188 79 173 74Q133 61 112 37T88 -7T82 -43T70 -59Q57 -59 57 -26'], + + // SUCCEEDS ABOVE NOT ALMOST EQUAL TO + 0x2ABA: [761,337,778,57,718,'693 501Q693 493 679 481H604Q548 479 509 477T418 469T331 454T257 429T194 392T150 340T124 270Q117 247 115 245Q101 236 88 247Q82 254 82 267Q89 330 126 379Q147 411 202 444T333 494L357 501Q239 531 188 565Q142 599 126 623Q89 672 82 734Q82 761 102 761L115 756Q116 755 124 732Q133 678 166 640T241 579T349 544T470 527T604 521H679Q693 507 693 501ZM57 -26Q57 39 101 87T219 136Q254 136 277 130Q320 114 382 72Q419 50 424 45Q426 45 459 110Q496 178 497 179Q500 180 504 180Q509 180 517 175T526 161Q526 158 495 90L462 25Q462 21 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 706 136T718 115Q718 114 718 111T717 105Q717 39 671 -9T554 -58L459 -33Q450 -29 444 -27T437 -26L371 -155L391 -168Q485 -235 538 -235H553Q586 -235 602 -230Q683 -204 691 -128Q694 -99 706 -99T718 -120Q718 -121 718 -124T717 -130Q717 -199 670 -246T557 -294T393 -228Q353 -205 351 -201Q348 -201 315 -266Q294 -310 285 -323T268 -337Q259 -337 254 -331T248 -317Q248 -305 282 -246L313 -181Q313 -177 273 -161Q255 -157 222 -157Q188 -157 173 -161Q134 -174 113 -198T88 -242T82 -278T71 -294Q57 -294 57 -261Q57 -204 91 -161T179 -104Q195 -99 228 -99Q274 -102 315 -124Q337 -132 337 -130L404 -1L384 12Q319 58 273 74Q255 79 222 79Q188 79 173 74Q133 61 112 37T88 -7T82 -43T70 -59Q57 -59 57 -26'], + + // SUBSET OF ABOVE EQUALS SIGN + 0x2AC5: [754,215,778,84,694,'84 463Q84 585 166 663T360 752Q361 752 370 752T395 752T430 752T475 753T524 753H679Q694 746 694 733Q694 724 681 714L522 713H470H441Q366 713 338 709T266 685Q244 674 224 659T179 617T139 550T124 463V458Q124 370 185 302Q244 238 328 220Q348 215 366 215T522 213H681Q694 203 694 193Q694 180 679 173H526Q510 173 480 173T434 172Q350 172 289 188T172 258Q84 340 84 463ZM84 -14T84 -1T98 19H679Q694 11 694 -1Q694 -14 679 -21H98Q84 -14 84 -1ZM84 -208T84 -195T98 -175H679Q694 -183 694 -195Q694 -208 679 -215H98Q84 -208 84 -195'], + + // SUPERSET OF ABOVE EQUALS SIGN + 0x2AC6: [754,215,778,83,694,'83 733Q83 746 98 753H251Q267 753 297 753T343 754Q427 754 488 738T605 668Q693 587 693 463Q693 378 650 312T545 213T415 174Q407 173 251 173H98Q83 180 83 193Q83 203 96 213H255H308H337Q412 213 439 217T512 241Q533 252 553 267T599 309T639 376T654 463Q654 554 592 624Q557 662 512 685Q468 704 439 708T335 713H306H255L96 714Q83 724 83 733ZM84 -14T84 -1T98 19H679Q694 11 694 -1Q694 -14 679 -21H98Q84 -14 84 -1ZM84 -208T84 -195T98 -175H679Q694 -183 694 -195Q694 -208 679 -215H98Q84 -208 84 -195'], + + // stix-subset not double equals, variant + 0x2ACB: [783,385,778,82,694,'693 221Q693 214 680 201H524Q398 201 367 202T309 212Q236 230 180 280T98 398Q84 438 84 492T98 585Q126 663 193 716T346 781Q347 781 373 781T440 782T520 783H680Q682 780 686 776T691 770T693 763T680 743H526Q364 743 353 741Q279 730 221 687T138 578Q124 540 124 492T138 405Q163 340 221 297T353 243Q364 241 526 241H680Q682 238 686 234T691 228T693 221ZM82 -48T82 -41T95 -19H462L513 41L569 105Q574 110 582 110T596 104T602 90Q602 87 600 83Q600 77 555 30L515 -17L600 -19H682Q693 -30 693 -38T680 -59H480L415 -137L349 -213L515 -215H682Q693 -226 693 -233T680 -255H313L260 -317Q224 -360 212 -372T192 -385Q184 -385 179 -377T173 -362Q174 -361 218 -306L260 -255H178L93 -253L86 -248Q82 -243 82 -235Q82 -226 93 -215H195L295 -213L362 -137L426 -59H260L93 -57L86 -53Q82 -48 82 -41'], + + // SUPERSET OF ABOVE NOT EQUAL TO + 0x2ACC: [783,385,778,82,693,'82 759T82 763T83 769T89 776T95 783H251Q378 783 409 782T469 772Q540 753 596 703T678 585Q691 546 691 492T678 398Q649 320 581 267T426 203Q415 201 251 201H95Q82 214 82 221Q82 225 83 227T89 234T95 241H249Q411 241 422 243Q496 253 554 296T638 405Q651 444 651 492Q651 539 638 578Q613 643 555 686T422 741Q411 743 249 743H95Q82 759 82 763ZM82 -48T82 -41T95 -19H462L513 41L569 105Q574 110 582 110T596 104T602 90Q602 87 600 83Q600 77 555 30L515 -17L600 -19H682Q693 -30 693 -38T680 -59H480L415 -137L349 -213L515 -215H682Q693 -226 693 -233T680 -255H313L260 -317Q224 -360 212 -372T192 -385Q184 -385 179 -377T173 -362Q174 -361 218 -306L260 -255H178L93 -253L86 -248Q82 -243 82 -235Q82 -226 93 -215H195L295 -213L362 -137L426 -59H260L93 -57L86 -53Q82 -48 82 -41'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/SuppMathOperators.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js new file mode 100644 index 00000000..6b0c89c4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js @@ -0,0 +1,167 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Caligraphic/Bold/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Caligraphic-bold'] = { + directory: 'Caligraphic/Bold', + family: 'MathJax_Caligraphic', + id: 'MJCALB', + weight: 'bold', + skew: { + 0x41: 0.224, + 0x42: 0.16, + 0x43: 0.16, + 0x44: 0.0958, + 0x45: 0.128, + 0x46: 0.128, + 0x47: 0.128, + 0x48: 0.128, + 0x49: 0.0319, + 0x4A: 0.192, + 0x4B: 0.0639, + 0x4C: 0.16, + 0x4D: 0.16, + 0x4E: 0.0958, + 0x4F: 0.128, + 0x50: 0.0958, + 0x51: 0.128, + 0x52: 0.0958, + 0x53: 0.16, + 0x54: 0.0319, + 0x55: 0.0958, + 0x56: 0.0319, + 0x57: 0.0958, + 0x58: 0.16, + 0x59: 0.0958, + 0x5A: 0.16 + }, + + // SPACE + 0x20: [0,0,250,0,0,''], + + // DIGIT ZERO + 0x30: [460,17,575,46,528,'259 460H279Q352 460 403 444T491 378Q528 320 528 219Q528 100 475 45Q417 -17 287 -17Q152 -17 99 44T46 219Q46 246 47 265T57 318T82 376T131 422T210 454Q234 460 259 460ZM389 229V271Q389 351 371 380T280 409Q232 409 208 385Q194 371 190 345T185 229V210Q185 108 194 83Q208 35 287 35Q317 35 336 42Q372 55 380 85T389 204V229'], + + // DIGIT ONE + 0x31: [461,0,575,80,494,'119 417Q191 417 240 428T310 450T338 461Q353 461 357 452T361 400Q361 389 361 342T360 254V62H420H456Q483 62 488 58T494 35V29Q494 13 491 7T473 0Q468 0 424 1T295 2T167 1T117 0Q114 0 111 0T107 1Q96 8 96 27V35Q96 54 102 58T140 62H170H229V213Q229 363 228 363Q220 360 196 358T150 356L130 355H93Q84 360 82 365T80 386Q80 404 81 407T95 417H119'], + + // DIGIT TWO + 0x32: [460,0,575,51,517,'214 399Q202 399 191 398T175 395T170 392L171 390Q172 389 174 386T178 379T181 369T182 355Q182 328 165 312T123 296Q99 296 82 312T64 356Q64 397 105 428T253 460Q301 460 337 456T411 441T476 403T514 338Q516 328 516 310V304Q516 257 470 227Q456 217 427 205T376 184L354 176Q350 174 325 162T277 139L254 128Q414 129 428 130H439Q450 148 453 166T460 188T486 193H493Q515 193 517 178Q517 171 502 94T484 11Q481 3 472 2T410 0H269Q65 0 62 2Q55 5 53 10T51 32Q51 54 56 58Q60 62 173 131Q296 207 318 224Q368 264 368 308Q368 342 342 363T283 392T214 399'], + + // DIGIT THREE + 0x33: [461,212,575,48,526,'80 309Q80 367 131 414T276 461Q388 461 441 417T494 313Q494 265 463 223T373 155L361 151L376 147Q436 132 480 92T525 -15T487 -127T393 -192T274 -211Q179 -211 114 -167T48 -53Q48 -18 69 5T128 29Q168 29 188 5T208 -50Q208 -59 207 -67T203 -81T197 -92T190 -101T183 -109T177 -114T170 -118L167 -121Q160 -125 164 -127Q167 -129 176 -133Q215 -152 268 -152H273Q337 -152 356 -92Q364 -69 364 -14Q364 45 352 74T303 120Q287 125 240 125H230Q201 125 196 127T191 146V152Q192 170 196 173T233 178Q234 178 241 178T252 179T262 181T274 183T285 188T297 195T308 205T319 218T328 235T337 257Q345 280 345 320V330Q345 345 343 355T335 379T312 399T270 407Q226 407 177 377Q226 356 226 310Q226 270 204 253T153 235Q123 235 102 253T80 309'], + + // DIGIT FOUR + 0x34: [469,194,575,32,542,'180 0Q155 0 124 0T84 -1Q48 -1 40 3T32 27V37Q32 59 34 63T204 265T377 465Q380 468 383 468H387Q391 468 398 468T411 469Q432 469 438 468T449 459Q451 455 451 258V62H489H498Q531 62 536 58T542 31Q542 9 537 5T504 0H489H451V-132H489H498Q530 -132 536 -136T542 -163Q542 -181 538 -187T522 -194Q518 -194 483 -193T378 -192Q281 -192 256 -193L217 -194Q203 -189 203 -169V-163V-158Q203 -140 209 -136T246 -132H265H314V0H180ZM325 62V320L105 63L215 62H325'], + + // DIGIT FIVE + 0x35: [461,211,575,57,517,'131 29Q159 26 175 12T194 -13T197 -35V-41Q197 -58 195 -66Q191 -76 185 -84T173 -97T161 -105T152 -109L148 -110Q148 -112 158 -121T195 -141T252 -152Q274 -152 280 -151Q335 -137 349 -104T363 9Q363 85 356 114T322 157Q305 166 286 166Q251 166 223 154T182 131T162 109Q154 98 150 96T130 93Q107 93 102 104Q100 107 100 279V371V424Q100 461 110 461Q114 461 123 458T149 450T183 441Q234 429 286 429Q313 429 340 432T387 440T422 449T447 457T458 461Q472 461 472 435Q472 420 470 418Q464 405 438 379T352 325T226 297Q189 297 171 301H168V182Q169 182 174 185T190 194T213 205T248 213T292 217Q391 217 454 159T517 5Q517 -92 444 -151T255 -211Q167 -211 112 -160T57 -44Q57 -12 76 8T131 29'], + + // DIGIT SIX + 0x36: [660,17,575,48,526,'48 316Q48 398 70 462T124 562T198 621T274 652T339 660Q377 660 384 659Q497 632 497 532Q497 507 482 487T431 466Q397 466 381 486T365 530Q365 569 405 593Q382 603 381 603Q361 607 350 607Q316 607 279 589T221 533Q199 489 196 385L195 370Q196 371 203 379T217 395T237 410T263 424Q283 431 313 431Q409 431 468 368Q526 310 526 208Q526 131 492 81T405 5Q359 -17 289 -17Q256 -17 227 -11T163 17T105 73T65 170T48 316ZM293 380Q244 380 220 331T196 212Q196 104 216 80Q240 41 292 41Q295 41 301 41T309 42Q338 46 355 62Q372 81 375 108T379 230Q378 314 372 333Q358 375 299 380H293'], + + // DIGIT SEVEN + 0x37: [476,211,575,64,558,'95 210H88Q66 210 64 225Q64 229 82 345T102 465Q106 476 125 476H131Q162 476 162 458Q162 451 213 448Q221 448 238 447T260 446Q261 446 410 444Q436 444 468 444T509 445Q544 445 551 440T558 413V404Q558 395 547 380T478 301L392 202Q354 150 339 81T321 -104V-132Q321 -187 286 -203Q273 -211 255 -211Q236 -211 217 -199T190 -160Q189 -153 189 -130Q194 17 282 156Q309 200 370 270Q404 307 400 307H293Q151 306 146 303Q140 300 132 259T120 215Q115 210 95 210'], + + // DIGIT EIGHT + 0x38: [661,17,575,48,526,'48 164Q48 199 59 228T92 277T128 307T163 329Q159 332 155 336Q135 346 110 382Q80 427 80 477Q80 564 147 620Q202 660 264 660Q266 660 275 660T290 661Q384 661 439 619T494 506Q494 486 489 468T477 437T459 413T440 395T421 380T406 370L410 368Q414 365 421 361T437 351T456 335T476 316T495 291T511 262T522 228T526 189Q526 93 460 38T282 -17Q242 -17 205 -9T130 19T71 75T48 164ZM406 506Q406 545 379 576T283 607Q218 606 193 585T168 536Q168 522 172 513T195 490T224 471T275 443L346 403Q406 446 406 506ZM291 42Q365 42 395 70T425 134V141Q425 170 401 190T319 242Q308 248 302 251Q286 260 266 271T235 288L225 294Q222 292 217 289T198 274T175 249T157 212T148 163Q148 116 179 79T291 42'], + + // DIGIT NINE + 0x39: [461,210,575,48,526,'175 -140Q198 -152 236 -152Q294 -152 332 -116Q356 -91 366 -54T379 62V78L376 74Q372 70 366 64T352 50T333 35T308 23Q289 17 262 17Q168 17 108 77T48 235Q48 273 59 317Q81 381 141 421T276 461Q279 461 285 461T295 460Q326 460 354 454T415 426T471 371T510 277T526 136Q526 42 501 -28T432 -136T341 -192T240 -210Q199 -210 169 -201T121 -178T94 -146T80 -112T77 -82Q77 -51 95 -33T143 -15Q170 -15 189 -33T209 -81Q209 -116 175 -140ZM377 244V274Q377 300 376 316T368 352T348 384T312 405Q307 406 283 406Q257 406 238 396T213 376T205 361Q196 341 196 259V233V181Q196 122 211 96T278 69H298Q330 82 345 104Q367 134 376 190Q377 200 377 244'], + + // LATIN CAPITAL LETTER A + 0x41: [751,49,921,39,989,'761 751Q784 751 784 728V711Q784 570 795 417T820 191Q844 76 865 76Q868 76 902 93T962 112H973Q989 104 989 94Q989 92 987 86Q978 47 846 -11Q812 -25 779 -26Q722 -26 708 9Q688 47 669 161H524L379 162L359 136Q286 43 234 -3T142 -49T71 -19T39 55Q39 92 60 131T103 174Q113 174 117 167T124 149T136 128T166 110Q183 105 190 105Q230 105 341 246Q401 322 453 397T531 514T582 601T611 651H640V663Q640 692 676 718T745 750Q747 750 752 750T761 751ZM658 266Q653 312 649 377T644 489T641 541V556L557 415Q500 325 448 253Q467 261 524 261H568H658V266'], + + // LATIN CAPITAL LETTER B + 0x42: [706,17,748,40,739,'441 83Q571 83 571 195Q571 246 538 279T466 322T386 333Q378 333 357 330T329 327Q307 327 307 345Q307 354 313 365T347 396T419 430Q546 472 581 498Q594 508 594 535Q594 574 567 589T508 604Q469 604 442 583Q390 546 342 457T265 256Q237 148 186 60Q167 29 144 13Q105 -15 68 -17H65Q40 -17 40 1Q40 7 53 29T87 100T124 210Q162 373 190 575Q188 575 174 567T138 550T98 542Q75 542 75 560Q75 588 123 618Q135 625 203 659T281 696Q299 703 316 703Q339 703 339 685Q339 656 328 583L333 588Q338 592 346 599T367 615T394 634T428 654T467 674T511 690T559 701T611 705Q651 704 681 689Q739 659 739 598Q739 507 595 427L584 421Q585 420 595 416T610 410T626 402T644 392T660 380T677 365T691 347T703 325T710 299T715 268Q717 193 665 130Q622 73 531 28T348 -17Q275 -17 225 10Q206 19 200 24T193 36Q193 57 231 86T311 119H322Q386 83 441 83'], + + // LATIN CAPITAL LETTER C + 0x43: [704,20,613,20,599,'243 -20Q135 -20 78 48T20 218Q20 280 39 344T98 470T193 580T324 661T488 702H490Q491 702 493 702T498 703T507 703T518 702H526Q599 702 599 631Q599 597 577 550T541 486Q523 463 490 447T431 430Q423 430 419 433Q409 437 409 450Q410 456 432 499T454 567Q454 586 446 594T415 603Q316 603 254 532Q216 487 190 421T164 284Q164 228 181 186T226 122T282 90T340 80Q377 80 405 96T449 131T492 167T553 187H555Q580 187 580 168Q580 153 551 123T476 60T367 4T243 -20'], + + // LATIN CAPITAL LETTER D + 0x44: [686,0,892,20,885,'107 0Q92 5 92 18Q92 33 113 53T160 86Q170 91 182 94T197 100L206 120Q248 226 273 337T304 501T309 585Q278 585 234 577T179 557Q172 550 166 532T156 509Q140 484 105 466T44 447Q20 447 20 465Q20 482 34 510T76 565Q122 608 173 632Q281 686 447 686H480H517Q692 686 784 631Q885 571 885 450Q885 339 805 239T586 75T286 1Q276 0 187 0H107ZM741 391Q741 424 731 452T694 510T613 558T481 584Q476 584 468 584T457 585L449 586V579Q441 501 425 424T391 292T357 193T330 125T319 100H324Q511 100 628 175Q688 215 714 275T741 391'], + + // LATIN CAPITAL LETTER E + 0x45: [703,16,607,37,627,'495 516Q485 516 478 520T470 532Q470 537 476 550T482 570Q482 589 465 596T401 603Q344 603 319 582Q295 558 295 519Q295 493 312 474T355 445T407 432T455 427Q477 427 477 409Q477 395 453 371T389 333Q380 330 345 327T279 312T223 272Q181 223 181 176Q181 131 225 107T324 83Q366 83 395 98T448 136T487 167Q517 185 547 187H551Q574 187 574 170Q574 151 535 113T421 36T271 -15Q260 -16 226 -16Q181 -16 152 -9Q104 4 71 33T37 111Q37 140 50 176T106 263T216 356Q215 357 207 362T190 374T172 392T156 419T150 456Q150 521 208 580T341 670T474 702Q475 703 499 703Q528 703 547 701T586 693T615 673T627 637Q627 584 581 550T495 516'], + + // LATIN CAPITAL LETTER F + 0x46: [686,30,814,17,930,'812 567Q804 567 795 570T786 579Q786 586 647 586H559L558 582Q558 575 539 510T506 407L498 384H775Q788 378 790 368Q790 328 746 298T665 268Q646 268 642 284H457L447 261Q396 150 360 94Q329 46 270 8T149 -30Q123 -30 100 -24T63 -10T37 9T22 26T17 36Q17 59 56 88T135 119Q145 119 149 117T165 104Q187 78 227 72Q232 72 234 76Q245 93 273 145T350 323T424 570L428 586H276Q265 575 239 563T190 551Q180 551 174 556T167 569Q167 580 179 597T213 634T278 668T371 685Q374 686 624 686Q863 685 888 682Q917 678 927 663Q930 658 930 650Q930 624 888 596T812 567'], + + // LATIN CAPITAL LETTER G + 0x47: [703,114,682,50,671,'50 279Q50 361 88 438T190 570T335 661T503 702H514Q524 703 532 703Q671 703 671 626Q671 580 614 514T495 447Q472 447 472 465Q472 477 499 511T527 562Q527 582 507 592T433 602Q351 602 302 569Q252 535 223 469T194 344Q194 266 237 217T352 168Q401 168 442 205T505 316Q515 345 551 368T622 393H625Q649 393 649 376Q649 371 635 318T612 237Q580 129 540 62T442 -49Q353 -114 264 -114Q259 -114 252 -114L246 -113Q190 -113 142 -107T81 -96Q71 -90 71 -81Q71 -57 110 -30T187 2Q196 2 236 -4T338 -14Q371 -14 377 -9Q410 24 446 113L451 127Q353 68 253 68Q157 68 104 129T50 279'], + + // LATIN CAPITAL LETTER H + 0x48: [686,48,987,20,946,'42 447Q20 447 20 465Q20 481 47 515T119 589T239 657T392 686Q443 686 463 664T484 616Q484 570 473 506T452 401L441 360Q441 359 550 359H660L663 370Q684 435 716 522T758 624Q771 646 806 666T870 686Q894 686 894 668Q894 667 867 597T804 416T752 218Q737 135 737 93Q737 77 746 65T778 53Q799 53 803 54T814 63Q831 86 864 103T924 120Q946 120 946 100Q945 85 931 63T888 16T806 -27T684 -48H681Q625 -48 603 -10Q593 4 593 29Q593 71 603 131T624 230L634 269Q632 269 624 266Q610 261 600 261T507 259H411L399 222Q344 62 322 21Q301 -7 268 -24T209 -41H207Q187 -41 185 -25Q185 -17 192 2T220 71T261 184Q284 256 284 258Q284 259 227 259H170Q169 259 166 261T162 264T158 266T156 271T155 277Q155 296 184 320T250 356Q259 358 286 359Q312 359 312 360Q314 372 318 385Q332 450 339 526Q339 530 339 535T340 543Q340 586 296 586Q255 586 227 576T188 553T165 523T146 497Q127 476 97 462T42 447'], + + // LATIN CAPITAL LETTER I + 0x49: [687,0,642,-27,746,'56 499Q32 499 32 516Q32 540 64 580T165 649Q241 682 365 685Q366 685 376 685T405 685T445 686T496 686T553 686H732Q746 677 746 668Q746 646 711 620T642 587L572 586H503Q479 546 458 479T424 352T383 224T318 111L309 101L412 100H514L523 109Q567 150 618 153Q644 153 644 135Q644 132 642 124Q629 86 581 52T476 6Q454 2 433 2T216 0Q-11 0 -15 2Q-27 6 -27 18Q-27 37 2 61T59 93Q77 100 142 100H198Q255 177 299 369Q337 513 382 574L391 586H348Q261 586 176 576Q163 543 124 521T56 499'], + + // LATIN CAPITAL LETTER J + 0x4A: [687,114,779,53,937,'286 390Q263 390 263 407Q263 432 293 481T367 566Q511 687 724 687Q738 687 761 687T793 686H923Q937 677 937 668Q937 648 905 623T842 589Q829 587 817 586T802 585T795 583T788 578Q709 506 632 189Q622 153 615 134T588 81T537 17Q482 -39 404 -76T247 -114Q192 -114 158 -100Q53 -61 53 32Q53 59 58 73T79 102Q126 147 177 147Q200 147 200 128Q200 123 198 112T196 96Q196 47 238 17T345 -13Q362 -13 377 -9T404 0T426 16T444 34T459 55T470 76T478 97T483 116T488 132L490 141Q511 222 520 257T554 364T608 486T675 576L685 586H634H612Q532 586 484 564Q453 549 436 526T409 478T395 447Q378 424 345 407T286 390'], + + // LATIN CAPITAL LETTER K + 0x4B: [703,17,871,40,834,'98 542Q75 542 75 560Q75 588 123 618Q132 624 199 657T275 694Q291 703 315 703Q327 703 332 699T338 690T339 670Q339 596 323 505T283 337T237 194T198 90L181 53Q170 31 136 8T68 -17H65Q40 -17 40 0L76 92Q112 185 150 322T194 564V578L168 565Q125 542 98 542ZM834 142Q834 125 819 100T774 48T692 3T576 -16H560Q540 -16 508 6Q469 33 422 108T342 267T309 398Q309 411 310 417T320 442T347 482Q401 542 517 615T710 702Q712 702 721 702T735 703Q772 703 791 690Q819 674 819 646T792 597T733 574H722Q704 584 704 599Q706 607 700 610T672 617L660 613Q609 595 524 538T423 450V440Q423 376 488 247T604 83Q621 70 640 70Q677 70 701 82Q713 87 718 101T737 132T783 160Q792 163 807 163Q834 163 834 142'], + + // LATIN CAPITAL LETTER L + 0x4C: [703,17,788,41,751,'63 -17Q41 -17 41 0Q41 22 85 54Q101 68 113 92T133 141T154 219T182 315Q230 462 306 553Q345 599 391 632T478 678T543 697T582 703Q584 703 589 703T598 702Q643 702 666 676T689 613Q689 588 683 575Q674 551 632 524T552 496Q530 496 530 512Q530 517 531 525T533 538Q533 559 522 577T480 596H476Q462 596 451 588T415 544Q350 447 310 281Q284 181 261 136L255 124H285Q342 123 441 107T583 90L596 89Q603 116 647 144T729 173Q751 173 751 157Q751 118 685 60T523 -15Q514 -16 479 -16Q421 -16 320 0T171 18H155L142 10Q98 -17 63 -17'], + + // LATIN CAPITAL LETTER M + 0x4D: [703,49,1378,38,1353,'38 20Q38 59 60 99T104 139Q106 139 126 125T176 106H181Q200 106 221 139T286 281Q322 370 342 451T368 581T376 634Q384 657 420 680T487 703Q502 703 507 696T522 649Q538 589 554 537Q579 453 609 372T660 248T686 202Q687 201 739 244T830 322L1166 642Q1225 700 1230 701Q1230 701 1237 703Q1258 703 1258 667L1253 637Q1248 607 1241 558T1227 451T1214 326T1209 202Q1209 77 1232 77Q1237 77 1269 94T1326 112H1329Q1353 112 1353 94Q1353 81 1334 60Q1311 37 1248 7T1150 -24H1141H1135Q1085 -24 1074 26Q1064 75 1064 134Q1064 239 1086 426Q1087 430 1087 434L1061 410Q871 227 783 149L694 76Q653 44 647 40T631 34Q620 34 616 37T594 63Q546 125 514 198Q467 307 423 449L418 466L412 444Q376 310 306 153Q278 88 251 45T201 -18T163 -43T131 -49Q102 -48 70 -31T38 20'], + + // LATIN CAPITAL LETTER N + 0x4E: [840,49,937,-24,1105,'47 139Q81 105 122 105Q137 105 147 117Q159 134 182 199T234 381T274 610Q275 634 284 647Q297 666 327 684T389 703Q403 703 408 695T428 645Q480 490 567 298Q628 163 673 103Q674 102 674 102T675 106Q732 331 803 551Q842 674 875 725Q908 775 966 807T1081 840H1084Q1105 840 1105 803Q1105 768 1088 733T1051 689Q1045 686 1032 686Q986 683 948 663T901 624Q881 579 837 430T760 154L726 28Q725 28 725 28T723 25Q716 0 682 -24T611 -48Q600 -48 595 -45T576 -23Q522 44 480 124Q417 243 332 463L328 473L325 457Q291 293 227 124Q159 -49 72 -49Q38 -49 5 -28Q-24 -8 -24 21Q-24 58 -3 98T41 139H47'], + + // LATIN CAPITAL LETTER O + 0x4F: [704,17,906,63,882,'433 703Q456 703 456 685Q456 672 441 655T407 627Q402 623 378 611T328 579T276 524Q207 434 207 324Q207 222 270 153T441 84Q566 84 651 177T737 400V405Q737 496 693 549T576 603Q542 603 510 560Q490 537 472 502T442 454Q397 412 346 409Q320 409 320 427Q320 430 322 436Q331 465 360 507T433 594T542 671T677 703Q776 703 829 636T882 468Q882 369 831 277T702 122T528 21T343 -17Q214 -17 139 61T63 257Q63 336 94 409T173 534T272 625T367 684T432 703H433'], + + // LATIN CAPITAL LETTER P + 0x50: [686,67,810,20,846,'170 -67Q147 -67 147 -49Q147 -42 162 -8T204 99T253 254Q274 332 288 415T305 542L308 585Q277 585 234 577T179 557Q172 550 166 532T156 509Q140 484 105 466T44 447Q20 447 20 465Q20 482 34 510T76 565Q122 608 173 632Q279 686 448 686H495H537Q622 686 678 677T784 637Q846 598 846 533Q846 452 776 375T597 252T378 206H366L358 181Q341 130 316 68T282 -7Q262 -33 230 -50T170 -67ZM701 468Q701 512 661 540T570 577T461 586H448V582Q446 576 443 545T428 447T395 301L389 280Q390 280 398 284T419 295T441 303Q443 304 484 306T572 321T651 359Q701 402 701 468'], + + // LATIN CAPITAL LETTER Q + 0x51: [703,146,939,120,905,'874 453Q874 372 836 298T750 177T638 89T543 33T486 8L483 7Q485 5 523 -7T622 -32T726 -46Q741 -46 746 -45T755 -41T762 -27Q770 -1 806 23T878 50H890Q905 42 905 33Q905 -8 838 -68T670 -145Q662 -146 628 -146Q538 -146 389 -100T164 -50Q132 -50 132 -32T162 11T227 47Q231 48 286 51T394 62T518 100T641 180Q730 271 730 387Q730 478 673 540T520 602Q410 602 337 525T264 355Q264 284 310 244T420 203Q476 203 568 222Q594 222 594 204Q594 184 565 161T508 128Q433 103 316 103Q227 103 174 157T120 290Q120 382 182 471T343 620T548 697Q578 703 601 703Q604 703 611 703T623 702Q663 702 687 696Q760 679 817 618T874 453'], + + // LATIN CAPITAL LETTER R + 0x52: [686,17,990,20,981,'159 0Q159 5 172 34T205 114T245 229T284 386T309 575V585H304Q303 585 295 585T282 584Q233 579 207 570T175 553T165 531T156 509Q140 484 105 466T44 447Q20 447 20 465Q20 482 34 510T76 565Q122 608 173 632Q279 686 448 686H505H582Q683 686 745 672T834 611Q842 594 842 565Q842 523 824 484T780 419T722 370T669 336T632 318L619 312L626 302Q640 279 667 227T696 172Q717 133 735 112T762 88T784 84Q824 84 872 118T957 153Q981 153 981 136Q981 114 937 78T820 13T684 -17Q646 -17 616 8T569 66T526 151T477 234Q461 256 446 265Q437 272 421 274Q400 274 400 291Q400 311 430 336T495 371Q496 371 543 374T627 392T681 436Q699 467 699 503Q699 550 644 568T471 586H449V582Q449 581 447 559T438 499T422 413T393 298T348 165Q313 73 296 45Q282 24 249 4T185 -17Q159 -17 159 0'], + + // LATIN CAPITAL LETTER S + 0x53: [703,16,696,25,722,'204 476Q204 525 248 577T372 666T539 703T674 683T721 612Q721 588 714 569Q704 547 669 524T601 499Q573 499 573 516Q573 521 575 527T577 543Q577 563 568 574T548 588L539 590Q490 603 444 603Q418 603 394 597T364 583Q348 567 348 533Q348 493 382 466T459 425T555 387T633 330Q662 292 662 249Q662 153 544 69T257 -16Q218 -16 208 -15Q118 1 64 46Q25 76 25 126Q25 185 82 235T203 290H207Q229 290 231 274Q231 243 180 213Q173 209 172 206T170 189T171 170T183 150T216 121Q273 83 356 83Q412 83 459 100Q493 111 507 141Q518 165 518 185Q518 208 506 228T478 262T437 288T398 306T360 320Q316 335 285 352T239 384T215 416T205 443T204 467V476'], + + // LATIN CAPITAL LETTER T + 0x54: [720,69,644,38,947,'61 462H59Q38 462 38 479Q38 528 109 594T289 683L304 685L837 687L846 693Q889 720 923 720Q947 720 947 702Q945 671 892 631T776 583Q774 583 772 583T769 582T766 582L764 581H758Q753 581 744 581T722 580T693 580T662 580H563L514 385Q507 355 493 299T475 225T460 172T443 119T426 76T402 24Q386 -11 355 -33T304 -61T266 -69Q242 -69 242 -50Q243 -45 253 -25T278 32T307 115L364 340Q405 511 413 538T436 580H207Q202 572 200 568T197 561T195 552T190 537Q176 511 135 487T61 462'], + + // LATIN CAPITAL LETTER U + 0x55: [686,24,715,-10,771,'124 586Q107 586 74 569T15 552H13Q-10 552 -10 570Q-10 605 70 645T222 686Q283 686 283 631Q283 590 246 504T172 326T135 181Q135 130 157 107T205 83Q221 83 259 106Q347 165 453 301T604 548Q607 557 612 569T619 587T624 600T628 612T632 621T637 628T641 634T647 640T654 645T662 652Q706 686 748 686Q771 686 771 669Q771 656 754 614T700 467T630 229Q615 168 610 105Q610 88 617 78L641 90Q681 111 706 112Q733 112 733 95Q733 82 714 60Q694 40 633 10Q567 -23 532 -24Q507 -24 495 -17Q466 -4 466 32Q466 96 500 225Q277 -17 102 -17Q56 -17 23 17T-10 118Q-10 164 13 234T64 363T115 481T139 567Q139 586 124 586'], + + // LATIN CAPITAL LETTER V + 0x56: [686,77,737,25,774,'25 608Q25 628 60 657T148 686Q184 683 213 671T273 625T327 538T363 394T380 184L381 134L399 148Q503 226 574 302T667 415T689 467Q688 474 684 482T672 502T645 521T600 532Q576 532 576 567Q576 604 597 644T641 685H649Q701 685 737 648T774 545Q774 457 703 333T461 66Q397 13 332 -32T255 -77Q237 -77 237 -30V-23Q241 20 241 109Q241 483 115 569Q91 586 50 589Q25 589 25 608'], + + // LATIN CAPITAL LETTER W + 0x57: [686,77,1169,25,1206,'25 607Q25 629 62 657T142 686Q205 686 248 647T312 541T339 411T347 275Q347 249 345 203V189Q375 219 449 316T587 516Q629 584 629 587Q629 589 626 597T622 607Q622 629 658 656T732 686H744Q755 680 757 678Q757 677 769 649T799 577T835 475T874 339T904 183Q908 157 910 151L925 169Q997 252 1059 343T1121 474Q1120 498 1103 513T1059 532Q1036 532 1036 568Q1036 600 1053 636T1090 683L1097 686H1109Q1147 684 1176 652T1206 551Q1206 460 1131 320T897 7Q859 -33 840 -52T816 -74T804 -77Q788 -77 784 -32Q783 -28 783 -26Q774 108 744 239T691 436T665 501Q664 501 649 475T602 400T528 289T420 146T280 -15Q243 -56 231 -66T210 -77Q191 -77 191 -40Q191 -38 195 -4T204 91T209 217Q209 290 202 351T177 469T126 557T45 589Q25 589 25 607'], + + // LATIN CAPITAL LETTER X + 0x58: [687,-1,817,56,906,'762 562Q762 579 737 584T711 604Q711 630 753 658T834 686Q864 686 885 669T906 627Q906 580 834 522T614 379L584 362V357Q585 354 589 315T597 233T603 183Q610 132 627 116T671 100Q678 100 704 113T754 126T778 107Q776 79 733 45T626 2Q615 1 578 1Q542 1 535 3Q521 7 510 15T491 31T477 54T467 78T460 108T456 137T452 170T449 201Q447 220 445 240T442 270L441 281Q435 281 357 233Q240 165 206 135Q200 128 200 124Q200 113 208 108T226 101T244 96T252 82Q252 61 214 31T129 1H120Q97 1 77 16T56 60Q56 105 133 168T414 345Q428 352 431 354T433 359Q422 493 414 522Q407 551 395 566T373 583T350 586H341L332 580Q290 560 265 560Q243 560 243 577Q243 585 248 596T269 624T306 653T365 676T447 686H456Q472 686 484 683T514 671T543 637T562 576Q565 557 570 501L577 437Q577 436 613 457T694 506T756 551Q762 558 762 562'], + + // LATIN CAPITAL LETTER Y + 0x59: [686,164,759,36,797,'73 555Q49 555 49 573Q49 602 110 644T239 686Q319 686 376 624Q416 584 444 511T483 361T499 240T503 173Q503 165 504 165Q506 165 524 184T556 218Q631 297 674 377T718 485Q718 505 699 526Q673 552 628 552Q619 552 613 562T607 590Q607 617 621 645T658 685Q661 686 671 686Q718 686 757 652T797 545Q797 476 749 369T602 146Q500 29 371 -67T176 -164Q112 -164 74 -120T36 -29Q36 5 55 36T95 67Q104 67 108 59T115 39T128 12T154 -12Q183 -30 216 -30Q239 -30 305 7L361 44L367 49V54Q367 95 364 143T351 273T312 429T243 546Q206 581 156 588L146 581Q108 555 73 555'], + + // LATIN CAPITAL LETTER Z + 0x5A: [686,0,818,46,853,'622 574Q522 579 420 579H396Q373 579 364 574T351 550Q339 516 297 490T218 462Q195 462 195 479Q195 487 197 492Q218 565 313 625T509 685Q564 685 650 683T755 680Q787 680 807 683T831 686Q853 686 853 669Q853 657 826 626Q742 532 641 437L619 415L622 414Q626 414 631 414T642 414Q697 411 697 388Q697 367 670 345T607 323Q605 323 592 325T546 329H522L490 302Q457 274 400 226T289 136L260 113L318 112Q345 111 452 109T587 106H627Q650 143 656 170Q666 197 710 225T788 253Q811 253 811 237Q811 211 781 160T710 77Q619 0 515 0Q507 0 497 0T484 1Q434 1 319 3T177 6Q123 6 95 2Q83 2 71 0H68Q46 0 46 17Q46 28 58 44Q68 56 100 80T210 165T383 307L408 329H361L314 330Q297 338 297 350Q297 368 320 388T368 413Q375 415 441 415H506L647 555L664 574H622'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Caligraphic/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js new file mode 100644 index 00000000..b303fca4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js @@ -0,0 +1,166 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Caligraphic/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Caligraphic'] = { + directory: 'Caligraphic/Regular', + family: 'MathJax_Caligraphic', + id: 'MJCAL', + skew: { + 0x41: 0.194, + 0x42: 0.139, + 0x43: 0.139, + 0x44: 0.0833, + 0x45: 0.111, + 0x46: 0.111, + 0x47: 0.111, + 0x48: 0.111, + 0x49: 0.0278, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.139, + 0x4D: 0.139, + 0x4E: 0.0833, + 0x4F: 0.111, + 0x50: 0.0833, + 0x51: 0.111, + 0x52: 0.0833, + 0x53: 0.139, + 0x54: 0.0278, + 0x55: 0.0833, + 0x56: 0.0278, + 0x57: 0.0833, + 0x58: 0.139, + 0x59: 0.0833, + 0x5A: 0.139 + }, + + // SPACE + 0x20: [0,0,250,0,0,''], + + // DIGIT ZERO + 0x30: [452,22,500,39,460,'39 213Q39 274 53 319T89 389T139 429T192 448T242 452Q347 452 400 400Q460 335 460 213Q460 -22 250 -22Q39 -22 39 213ZM364 242Q364 279 363 301T355 348T338 385T306 406T254 415Q250 415 245 415T238 416Q217 416 190 404T150 368Q136 339 136 221Q136 114 146 78T200 23Q219 16 250 16Q280 16 299 23Q341 41 352 77T364 221V242'], + + // DIGIT ONE + 0x31: [453,0,500,86,426,'116 410Q176 412 215 423T269 443T288 453H291Q293 453 301 447V254Q301 62 303 60Q307 52 322 49T394 46Q418 46 422 43T426 23Q426 8 424 4T411 0Q407 0 369 1T258 2T148 1T106 0Q96 0 94 4T91 23Q91 40 95 43T123 46Q180 46 195 49T215 61Q216 63 216 220V376Q192 367 119 364H93L86 371V403L92 410H116'], + + // DIGIT TWO + 0x32: [453,0,500,44,449,'55 334Q55 386 105 419T236 453Q333 453 390 413T448 307Q448 278 437 256T406 218T365 193T318 172T277 151L248 134Q219 118 191 102T163 84T267 83L382 85H391Q399 99 406 126Q410 143 413 145T429 148Q440 148 442 147T449 139Q449 137 435 73T420 7Q420 6 414 0H233Q94 0 71 0T46 5Q46 5 46 6Q44 8 44 24Q44 39 46 41Q47 44 98 78T212 155T294 212Q347 257 347 304Q347 354 306 380T203 407Q150 407 120 377Q118 375 123 373Q146 362 146 332Q146 315 133 302T101 288Q85 288 70 298T55 334'], + + // DIGIT THREE + 0x33: [452,216,500,42,457,'69 312Q69 377 122 414T233 452Q333 452 381 409T430 313Q430 268 402 223T311 149L301 144Q307 143 317 140T355 123T402 92T439 44T456 -25Q456 -101 396 -158T241 -216Q154 -216 98 -173T42 -68Q42 -58 44 -50T50 -35T57 -25T66 -17T75 -13T82 -10L87 -8Q92 -7 102 -7Q132 -7 147 -25T162 -66Q162 -112 118 -125L113 -126Q113 -129 127 -140T173 -162T239 -173Q268 -173 292 -158Q345 -124 345 -24Q345 33 329 67Q298 125 229 125H210H172Q166 131 166 142Q166 159 172 161Q178 161 208 164T244 169Q251 169 263 176T291 199T316 245T327 314Q327 413 238 413Q182 413 130 369Q177 350 181 312Q181 289 166 273T125 257Q102 257 86 272T69 312'], + + // DIGIT FOUR + 0x34: [464,194,500,28,471,'163 0Q139 0 109 0T71 -1Q43 -1 36 2T28 15V27V46L190 270Q325 457 330 462Q333 464 352 464H371L377 458V46H464L471 40V6L464 0H377V-65V-108Q377 -131 379 -137T391 -144Q409 -148 446 -148H464Q468 -151 471 -155V-187L464 -194H453Q395 -192 325 -192Q222 -192 210 -194H199L193 -188V-154L199 -148H228Q241 -148 250 -148T265 -146T275 -145T281 -143T284 -141T286 -138T289 -134V0H163ZM295 46V350L75 46H295'], + + // DIGIT FIVE + 0x35: [453,216,500,50,448,'159 -44Q159 -66 145 -80T109 -96H102L107 -105Q148 -173 228 -173Q255 -173 280 -162Q351 -128 351 -6V8Q351 67 344 98T316 151Q288 176 255 176Q175 176 136 109Q129 100 114 100Q97 100 95 106Q93 110 93 277V403Q93 451 98 451Q100 452 103 452Q105 452 124 445T177 431T251 423Q294 423 328 430T380 445T401 453Q410 453 410 435V422Q332 331 203 331Q152 331 140 339Q139 339 139 254V168Q194 214 256 214Q332 214 390 154T448 0Q448 -95 381 -155T229 -216Q153 -216 104 -166T50 -49Q50 -15 66 -1T105 13Q128 13 143 -3T159 -44'], + + // DIGIT SIX + 0x36: [665,22,500,41,456,'42 313Q42 401 68 472T133 583T215 644T296 665H304Q317 665 329 664T360 657T393 640T418 608T432 557Q432 533 422 519T401 502T380 498Q358 498 343 512T328 550Q328 591 367 601L372 602Q372 604 365 609T341 620T307 626Q260 626 226 600T174 537Q147 483 143 376V356Q192 434 266 434Q317 434 357 409Q406 375 435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM251 396Q211 396 178 354T145 217Q145 159 152 122T166 73T187 47Q216 21 252 21Q294 21 321 47Q342 68 349 99T356 203V232Q356 264 354 285T345 331T322 373T280 395Q274 396 251 396'], + + // DIGIT SEVEN + 0x37: [463,216,500,55,485,'75 246Q64 246 62 247T55 255Q55 259 72 357T90 458L94 462H99Q104 463 109 463H121Q128 460 128 452Q128 445 134 441T165 435T233 432T356 431H478L485 425V392L414 298Q408 290 385 260T358 223T337 191T317 154T302 116T289 68T282 14T275 -55T274 -137Q274 -173 272 -177Q262 -216 223 -216Q170 -216 170 -157V-148Q172 -78 189 -12T237 109T288 196T338 266Q345 275 348 279Q395 340 395 342Q396 343 376 343T274 343Q122 342 117 339T103 294T90 248Q88 246 75 246'], + + // DIGIT EIGHT + 0x38: [666,22,500,43,456,'69 496Q69 570 124 618T247 666Q321 666 375 624T429 515Q429 468 405 433T320 361L346 344Q385 320 403 301T439 250Q456 212 456 181V172V160Q456 141 449 119T426 71T386 26T326 -8T246 -21Q160 -21 102 30T43 155Q43 265 167 332L176 337L161 347Q105 384 87 423Q69 458 69 496ZM371 513Q371 567 334 596T249 626Q198 626 163 598T127 532Q127 521 129 511T138 492T150 476T167 460T185 447T207 433T228 420L284 384L294 391Q346 424 363 469Q371 486 371 513ZM190 21T250 21T351 56T393 140Q393 180 362 213Q354 221 317 246T246 292L212 313Q210 313 200 307T173 287T142 256T117 212T106 157Q106 100 148 61'], + + // DIGIT NINE + 0x39: [453,216,500,42,457,'171 -101Q171 -118 163 -130T146 -146T134 -151Q132 -151 132 -152Q132 -154 140 -159T167 -168T206 -173Q274 -173 317 -108Q356 -50 356 79V86L350 77Q308 9 231 9Q150 9 92 81Q42 141 42 228Q42 289 64 333Q93 390 142 421T235 452Q237 452 244 452T255 453Q289 453 321 439T386 391T437 290T457 128Q457 -29 381 -122T206 -216Q148 -216 108 -187T67 -104Q67 -75 84 -62T119 -49Q141 -49 156 -63T171 -101ZM242 46Q293 46 324 94T355 223Q355 323 337 356Q316 401 275 410Q267 412 248 412Q206 412 179 386Q155 360 149 328T143 224Q143 120 163 88Q192 46 242 46'], + + // LATIN CAPITAL LETTER A + 0x41: [728,51,798,30,819,'576 668Q576 688 606 708T660 728Q676 728 675 712V571Q675 409 688 252Q696 122 720 57Q722 53 723 50T728 46T732 43T737 41T743 39L754 45Q788 61 803 61Q819 61 819 47Q818 43 814 35Q799 15 755 -7T675 -30Q659 -30 648 -25T630 -8T621 11T614 34Q603 77 599 106T594 146T591 160V163H460L329 164L316 145Q241 35 196 -7T119 -50T59 -24T30 43Q30 75 46 100T74 125Q81 125 83 120T88 104T96 84Q118 57 151 57Q189 57 277 182Q432 400 542 625L559 659H567Q574 659 575 660T576 668ZM584 249Q579 333 577 386T575 473T574 520V581L563 560Q497 426 412 290L372 228L370 224H371L383 228L393 232H586L584 249'], + + // LATIN CAPITAL LETTER B + 0x42: [705,23,657,32,664,'304 342Q292 342 292 353Q292 372 323 391Q331 396 417 428T533 487Q563 512 563 555V562Q563 575 557 589T530 618T475 636Q429 636 396 613T330 539Q263 446 210 238Q196 183 173 120Q135 31 121 16Q108 1 85 -10T47 -22T32 -10Q32 -5 44 18T77 93T112 206Q135 296 154 395T182 550T191 615Q191 616 190 616Q188 616 179 611T157 601T131 594Q113 594 113 605Q113 623 144 644Q154 650 205 676T267 703Q277 705 279 705Q295 705 295 693Q295 686 288 635T278 575Q278 572 287 582Q336 635 402 669T540 704Q603 704 633 673T664 599Q664 559 638 523T580 462Q553 440 504 413L491 407L504 402Q566 381 596 338T627 244Q627 172 575 110T444 13T284 -22Q208 -22 158 28Q144 42 146 50Q150 67 178 85T230 103Q236 103 246 95T267 75T302 56T357 47Q436 47 486 93Q526 136 526 198V210Q526 228 518 249T491 292T436 330T350 345Q335 345 321 344T304 342'], + + // LATIN CAPITAL LETTER C + 0x43: [705,25,527,12,533,'201 -25Q167 -25 136 -14T75 23T29 94T12 202Q12 290 50 394T161 574Q227 642 303 673T433 704Q435 705 457 705Q533 701 533 640Q533 606 507 548T464 474Q431 444 396 444Q381 444 381 453Q381 459 388 473T407 513T428 563Q433 580 433 594Q433 636 381 636Q314 636 260 594T175 489T128 363T112 247Q112 157 153 101T273 44Q347 44 398 121Q413 144 437 157T481 171Q496 171 496 160Q496 150 476 123Q426 56 350 16T201 -25'], + + // LATIN CAPITAL LETTER D + 0x44: [683,1,771,19,766,'37 475Q19 475 19 487Q19 536 103 604T327 682H356Q386 683 408 683H419Q475 683 506 681T582 668T667 633Q766 571 766 450Q766 365 723 287T611 152T455 57T279 6Q248 1 160 0Q148 0 131 0T108 -1Q72 -1 72 11Q72 24 90 40T133 64L144 68L152 88Q247 328 272 587Q275 613 272 613Q272 613 269 613Q225 610 195 602T149 579T129 556T119 532Q118 530 116 525T113 518Q102 502 80 490T37 475ZM665 407Q665 596 412 613Q403 614 383 614Q370 614 370 612Q370 598 363 542T323 357T242 103L228 69H265Q391 73 481 119Q536 148 575 188T633 268T658 338T665 392V407'], + + // LATIN CAPITAL LETTER E + 0x45: [705,22,528,30,564,'144 470Q144 556 240 630T451 705Q564 705 564 637Q564 611 540 573Q529 559 505 547T464 534Q448 534 448 545Q448 552 455 562Q463 577 463 591Q463 600 462 604T456 616T436 627T400 635Q396 635 390 635T380 636Q291 636 258 568Q245 544 245 516Q245 463 290 438T391 410Q415 410 415 398Q415 392 407 380T376 356T326 341Q288 340 260 327Q218 311 187 276T143 208T130 151Q130 113 156 88T211 55T268 47Q349 47 403 125Q415 144 439 157T483 171Q499 171 499 160Q499 148 475 120T413 59T315 3T197 -22Q124 -22 77 14T30 105Q30 126 39 154T66 216T122 288T209 354L223 362Q144 400 144 470'], + + // LATIN CAPITAL LETTER F + 0x46: [684,32,719,18,829,'199 579Q181 579 181 590Q181 598 188 611T212 639T260 666T335 682Q336 682 349 682T383 682T431 682T493 683T561 683Q776 682 784 681Q826 673 829 647Q829 620 797 600T744 580Q728 580 728 595Q729 607 713 610Q698 613 598 614H500L499 610Q499 598 467 486T428 367Q428 365 551 365H674Q683 360 684 355Q687 346 677 329Q666 312 642 299T598 285Q586 285 582 296H402L394 277Q386 258 373 229T346 167T315 102T286 51Q265 22 225 -5T133 -32Q108 -32 87 -25T54 -7T33 15T21 35T18 47Q18 60 44 80T98 103Q108 103 111 101T119 88Q130 66 150 54T179 39T195 37Q199 37 203 43Q217 67 245 125T318 300T391 532Q393 543 398 564T406 598T409 613T339 614H269Q229 579 199 579'], + + // LATIN CAPITAL LETTER G + 0x47: [704,119,595,43,599,'216 68Q155 68 115 100T59 177T44 273Q44 299 50 333T73 421T133 533T239 632Q346 704 466 704Q508 704 515 703Q555 696 577 681T599 635Q599 605 570 560T523 496Q490 466 455 466Q440 466 440 475T469 526T499 589Q499 605 489 617Q460 636 403 636Q343 636 295 611T220 548T174 464T150 382T144 318Q144 241 180 189T287 137Q325 137 359 160Q428 205 466 322Q472 342 501 359T551 376Q557 376 560 373T564 368L565 365Q560 341 551 302T512 173T451 31Q359 -119 204 -119Q163 -118 127 -109T74 -91T53 -77Q52 -75 52 -71Q52 -54 79 -35T132 -14H140L151 -19Q210 -49 281 -49H289Q312 -49 329 -31Q351 -7 372 36T405 109T416 142L408 136Q401 131 392 125T369 111T338 96T303 82T261 72T216 68'], + + // LATIN CAPITAL LETTER H + 0x48: [683,48,845,18,803,'18 487Q18 496 29 517T67 566T127 621T216 665T330 683Q359 683 376 669T397 643T400 622Q400 584 382 488T348 343Q348 342 467 342H587L594 366Q615 440 648 534T690 641Q701 656 723 669T764 683Q783 683 783 672L750 578Q716 485 677 346T625 101Q624 92 623 82T622 65T621 56Q621 20 658 20Q666 20 701 25Q709 52 736 69T785 87Q803 87 803 75T791 44T754 3T685 -33T588 -48Q568 -48 562 -46Q522 -31 522 13V23Q531 129 562 250L569 281L565 280Q561 278 556 277T549 274L438 273H328L321 249Q307 202 275 107T232 0Q219 -16 196 -28T155 -41Q149 -41 145 -39T140 -34T139 -29Q139 -24 148 -3T181 86T233 247Q240 270 240 272Q240 273 194 273H169Q139 273 139 285Q139 295 153 308T187 332Q206 341 236 342L260 343L264 359Q278 414 289 482T300 578Q300 613 260 613H254Q198 613 169 592Q148 578 127 544T104 508Q72 478 37 475Q18 475 18 487'], + + // LATIN CAPITAL LETTER I + 0x49: [683,0,545,-30,642,'174 0H31Q-13 0 -21 2T-30 12Q-30 23 -17 36Q9 60 42 68L155 70Q187 102 214 179T257 333T302 491T366 610L369 614H305Q221 611 188 607T145 596T128 569Q119 543 94 529T47 512Q28 512 28 524Q28 527 32 539Q56 614 159 654Q218 678 312 682Q314 682 339 682T404 682T481 683H632Q642 678 642 671Q642 657 621 641T577 617Q570 615 507 614H444Q427 592 406 542Q382 478 355 366T310 209Q280 123 238 78L230 69H330Q442 70 442 74Q443 74 443 77T447 87T460 105Q490 134 527 137Q545 137 545 125Q545 120 542 112Q531 78 491 49T399 7Q379 2 360 2T174 0'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,119,678,47,839,'148 78Q148 16 189 -17T286 -50Q319 -50 348 -33T396 10T426 59T444 101L471 204Q498 306 521 372Q575 532 649 605L659 614H591Q517 613 494 607Q433 591 400 550T360 477Q353 454 325 437T275 419Q256 419 260 435Q280 523 376 597T583 681Q603 683 713 683H830Q839 674 839 671Q839 654 810 634T754 614Q735 614 721 601Q688 571 654 495T600 351T561 209T541 132Q507 29 412 -45T213 -119Q141 -119 94 -77T47 33Q47 55 50 69T58 90T71 103Q105 131 135 131Q152 131 152 120Q152 119 151 114T149 99T148 78'], + + // LATIN CAPITAL LETTER K + 0x4B: [705,22,762,32,732,'194 618Q193 618 182 613T156 601T131 594Q113 594 113 605Q113 623 144 644Q154 650 205 676T267 703Q277 705 279 705Q295 705 295 691Q295 569 250 397Q225 306 197 217T151 81T128 25Q120 8 94 -7T47 -22Q32 -22 32 -10L64 76Q95 163 133 295T185 530Q198 611 194 618ZM331 429Q331 383 364 290T449 117T542 36Q574 36 607 51T652 103Q660 124 677 133T709 143Q727 143 727 128Q727 119 723 111Q704 56 639 17T497 -22H493Q463 -22 425 16Q401 40 382 71Q335 138 296 243T256 399Q256 434 288 473Q342 540 471 622T670 705Q691 704 703 696Q732 678 732 644Q732 613 714 600T677 586Q671 586 667 587T660 592T657 604V619Q657 647 629 647Q623 647 620 646Q576 635 495 583T365 482Q331 448 331 429'], + + // LATIN CAPITAL LETTER L + 0x4C: [705,22,690,32,656,'62 -22T47 -22T32 -11Q32 -1 56 24T83 55Q113 96 138 172T180 320T234 473T323 609Q364 649 419 677T531 705Q559 705 578 696T604 671T615 645T618 623V611Q618 582 615 571T598 548Q581 531 558 520T518 509Q503 509 503 520Q503 523 505 536T507 560Q507 590 494 610T452 630Q423 630 410 617Q367 578 333 492T271 301T233 170Q211 123 204 112L198 103L224 102Q281 102 369 79T509 52H523Q535 64 544 87T579 128Q616 152 641 152Q656 152 656 142Q656 101 588 40T433 -22Q381 -22 289 1T156 28L141 29L131 20Q111 0 87 -11'], + + // LATIN CAPITAL LETTER M + 0x4D: [705,50,1201,28,1137,'28 9Q28 37 43 63T73 90Q77 90 83 84T103 70T141 57H146Q162 57 178 79T222 167Q266 279 295 371T334 513T349 598T358 651T371 677Q397 705 432 705Q442 705 445 699T452 666Q453 661 453 659Q475 538 509 405T568 207L574 192Q581 178 587 164T594 150Q596 150 635 189T693 248Q765 324 863 438T1024 626T1089 701Q1093 705 1100 705Q1111 705 1111 682Q1111 675 1108 660T1099 611T1086 540Q1041 277 1041 144Q1041 98 1044 75T1050 48T1059 42Q1064 41 1075 46Q1102 61 1121 61Q1137 61 1137 50Q1137 28 1087 0T1000 -29Q983 -29 972 -23T955 -9T945 16T942 45T941 83V96Q941 158 952 256T974 422L985 489Q984 489 939 436T821 300T698 164Q665 128 620 85T568 37Q564 34 558 34Q550 34 546 37T535 54Q512 91 496 127T450 259T389 498L384 518Q349 367 294 223T198 15Q155 -50 117 -50Q87 -50 61 -35T30 -6Q28 2 28 9'], + + // LATIN CAPITAL LETTER N + 0x4E: [789,51,820,-27,979,'343 705Q358 705 358 698Q360 696 370 658T411 524T484 319Q536 174 590 82L595 73L615 152Q646 274 683 407Q729 571 752 637T799 727Q852 780 937 788Q939 788 947 788T958 789H962Q979 789 979 765Q979 722 951 692Q942 683 924 683Q888 681 859 672T818 654T803 639Q784 608 708 322T631 15Q631 14 630 15Q630 17 629 15Q628 14 628 12Q621 -4 601 -17T560 -31Q550 -31 546 -28T530 -7Q484 67 458 123T398 272Q352 392 314 514L306 535V534Q306 533 296 488T272 379T234 239T185 100T127 -7T61 -50Q34 -50 4 -34T-27 8Q-27 33 -12 61T18 90Q21 90 36 77T87 57H92Q109 57 123 78T162 173Q206 299 232 417T265 599T276 667Q284 681 304 693T343 705'], + + // LATIN CAPITAL LETTER O + 0x4F: [705,22,796,58,777,'308 428Q289 428 289 438Q289 457 318 508T378 593Q417 638 475 671T599 705Q688 705 732 643T777 483Q777 380 733 285T620 123T464 18T293 -22Q188 -22 123 51T58 245Q58 327 87 403T159 533T249 626T333 685T388 705Q404 705 404 693Q404 674 363 649Q333 632 304 606T239 537T181 429T158 290Q158 179 214 114T364 48Q489 48 583 165T677 438Q677 473 670 505T648 568T601 617T528 636Q518 636 513 635Q486 629 460 600T419 544T392 490Q383 470 372 459Q341 430 308 428'], + + // LATIN CAPITAL LETTER P + 0x50: [683,57,696,19,733,'37 475Q19 475 19 487Q19 536 103 604T327 682Q329 682 344 682T380 682T421 683H463Q625 683 695 615Q718 591 726 564Q733 547 733 525Q733 412 607 312T321 205H312Q293 205 293 217Q293 224 302 236T333 260T385 274Q558 287 614 407Q633 445 633 477Q633 515 612 543T556 585T481 607T399 614H370L368 603Q352 463 312 312T242 82T202 -13Q190 -33 164 -45T121 -57Q108 -57 108 -45Q108 -40 120 -10T151 73T192 190T233 349T266 539Q267 546 269 565T272 598T274 613H270Q209 613 163 588Q131 572 113 518Q102 502 80 490T37 475'], + + // LATIN CAPITAL LETTER Q + 0x51: [705,131,817,114,787,'114 286Q114 358 151 433T249 569T392 667T558 705Q653 705 713 641T774 460Q774 389 750 322T687 206T600 114T504 46T412 4L399 -2Q542 -62 636 -62Q660 -62 670 -54T686 -27T700 0Q734 34 770 34Q787 34 787 23Q787 -18 720 -74T563 -131Q485 -131 350 -83T145 -34Q127 -34 127 -22Q127 -12 144 5T190 31L200 34L237 35Q386 38 467 79Q550 120 612 210T675 416Q675 510 625 573T484 636Q410 636 346 587T248 469T214 333Q214 306 221 281T243 229T288 188T360 172Q403 172 441 188T490 205Q510 205 510 192Q505 162 432 132T287 102Q206 102 160 155T114 286'], + + // LATIN CAPITAL LETTER R + 0x52: [683,22,848,19,837,'37 475Q19 475 19 487Q19 503 35 530T83 589T180 647T327 682H374Q387 682 417 682T464 683Q519 683 559 679T642 663T708 625T731 557Q731 481 668 411T504 300Q506 296 512 286T528 257T553 202Q594 105 611 82Q635 47 665 47Q708 47 742 93Q758 113 786 128Q804 136 819 137Q837 137 837 125Q837 115 818 92T767 43T687 -2T589 -22Q549 -22 517 22T467 120T422 221T362 273Q346 273 346 287Q348 301 373 320T436 342Q437 342 446 343T462 345T481 348T504 353T527 362T553 375T577 393Q598 412 614 443T630 511Q630 545 613 566T541 600T393 614Q370 614 370 613L366 584Q349 446 311 307T243 96L213 25Q205 8 179 -7T132 -22Q125 -22 120 -18T117 -8Q117 -5 130 26T163 113T205 239T246 408T274 606V614Q273 614 259 613T231 609T198 602T163 588Q131 572 113 518Q102 502 80 490T37 475'], + + // LATIN CAPITAL LETTER S + 0x53: [705,22,606,18,642,'554 512Q536 512 536 522Q536 525 539 539T542 564Q542 588 528 604Q515 616 482 625T410 635Q374 635 349 624T312 594T295 561T290 532Q290 505 303 482T342 442T378 419T409 404Q435 391 451 383T494 357T535 323T562 282T574 231Q574 133 464 56T220 -22Q138 -22 78 21T18 123Q18 184 61 227T156 274Q178 274 178 263Q178 260 177 258Q172 247 164 239T151 227T136 218L127 213L124 202Q118 186 118 163Q120 124 165 86T292 48Q374 48 423 86T473 186V193Q473 267 347 327Q268 364 239 389Q191 431 191 486Q191 547 242 600T356 679T470 705Q472 705 478 705T489 704Q551 704 596 682T642 610Q642 566 621 545Q592 516 554 512'], + + // LATIN CAPITAL LETTER T + 0x54: [717,68,545,34,833,'49 475Q34 475 34 490Q34 552 106 611T261 681Q272 683 507 683H742Q790 717 816 717Q833 717 833 708Q833 682 795 653T714 615Q691 610 588 609Q490 609 490 607L483 580Q476 554 462 496T435 392Q410 289 395 231T363 116T335 34T309 -15T279 -47T242 -64Q231 -68 218 -68Q203 -68 203 -57Q203 -52 211 -38Q224 -7 234 20T251 66T268 123T283 179T304 261T328 360Q342 415 360 488Q380 567 384 582T397 605Q400 607 401 609H302H244Q200 609 188 607T167 596Q145 572 145 541Q145 520 109 498T49 475'], + + // LATIN CAPITAL LETTER U + 0x55: [683,28,626,-17,687,'8 592Q8 616 70 649T193 683Q246 683 246 631Q246 587 205 492T124 297T83 143Q83 101 100 75T154 48Q202 48 287 135T450 342T560 553Q589 635 593 640Q603 656 626 668T669 683H670Q687 683 687 672T670 616T617 463T547 220Q525 137 521 68Q521 54 522 50T533 42L543 47Q573 61 588 61Q604 61 604 47Q599 16 506 -22Q486 -28 468 -28T436 -18T421 18Q421 92 468 258Q468 259 467 257T459 248Q426 206 391 167T303 81T194 6T83 -22Q66 -22 58 -20Q25 -11 4 19T-17 99Q-17 146 8 220T64 358T120 488T146 586Q146 604 141 608T123 613H120Q99 613 72 597T25 580Q8 580 8 592'], + + // LATIN CAPITAL LETTER V + 0x56: [683,52,613,25,658,'25 633Q25 647 47 665T100 683Q291 683 291 306Q291 264 288 213T282 132L279 102Q281 102 308 126T378 191T464 279T545 381T596 479Q600 490 600 502Q600 527 581 550T523 577Q505 577 505 601Q505 622 516 647T542 681Q546 683 558 683Q605 679 631 645T658 559Q658 423 487 215Q409 126 308 37T190 -52Q177 -52 177 -28Q177 -26 183 15T196 127T203 270Q203 356 192 421T165 523T126 583T83 613T41 620Q25 620 25 633'], + + // LATIN CAPITAL LETTER W + 0x57: [683,54,988,25,1035,'25 633Q25 647 46 665T103 683Q168 683 207 632Q228 608 243 568Q269 485 269 374Q269 324 265 271T256 184L251 150L252 152Q254 153 257 157T264 167T274 180T286 197Q359 293 424 398T519 558T549 616Q549 618 547 624T545 638Q550 654 572 668T615 683Q626 683 632 672T657 595Q726 370 741 128L742 110Q752 122 767 142T823 217T894 321T950 424T976 511Q976 544 958 560T918 577Q906 577 906 602Q906 629 918 651T942 681Q948 683 954 683Q983 683 1008 658T1034 569T999 421T915 257T813 109T724 -3T681 -49Q666 -59 660 -45Q659 -41 657 35T639 233T591 477Q573 551 570 551Q569 551 554 523T507 439T433 315T323 155T182 -25Q160 -52 151 -53Q137 -53 137 -30Q137 -29 148 25T170 168T181 338Q181 424 168 483T131 571T87 609T40 620Q25 620 25 633'], + + // LATIN CAPITAL LETTER X + 0x58: [683,0,713,52,807,'324 614Q291 576 250 573Q231 573 231 584Q231 589 232 592Q235 601 244 614T271 643T324 671T400 683H403Q462 683 481 610Q485 594 490 545T498 454L501 413Q504 413 551 442T648 509T705 561Q707 565 707 578Q707 610 682 614Q667 614 667 626Q667 641 695 662T755 683Q765 683 775 680T796 662T807 623Q807 596 792 572T713 499T530 376L505 361V356Q508 346 511 278T524 148T557 75Q569 69 580 69Q585 69 593 77Q624 108 660 110Q667 110 670 110T676 106T678 94Q668 59 624 30T510 0Q487 0 471 9T445 32T430 71T422 117T417 173Q416 183 416 188Q413 214 411 244T407 286T405 299Q403 299 344 263T223 182T154 122Q152 118 152 105Q152 69 180 69Q183 69 187 66T191 60L192 58V56Q192 41 163 21T105 0Q94 0 84 3T63 21T52 60Q52 77 56 90T85 131T155 191Q197 223 259 263T362 327T402 352L391 489Q391 492 390 505T387 526T384 547T379 568T372 586T361 602T348 611Q346 612 341 613T333 614H324'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,143,668,31,714,'65 599Q65 618 107 650T204 683Q267 683 312 643T380 533T414 385T424 217Q424 186 423 160T422 123Q426 123 468 170T567 304T650 469Q661 503 661 519Q661 546 639 570Q615 591 583 591Q569 591 569 616Q569 640 582 661T613 683Q624 683 638 679T671 664T702 625T714 558Q714 472 639 329T426 45Q361 -21 282 -82T154 -143Q97 -143 64 -104T31 -20Q31 4 44 25T70 46Q78 46 81 39T87 16T97 -9Q127 -51 182 -51Q184 -51 187 -50H190Q233 -41 314 25Q330 36 330 40Q336 79 336 178Q336 508 223 594Q199 614 158 619L148 620L139 611Q111 586 83 586Q65 586 65 599'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,0,725,37,767,'694 220Q708 220 708 210Q708 195 695 167T658 105T593 42T502 3Q492 1 458 1Q400 1 293 11T150 22Q116 22 92 11T51 0Q37 0 37 10Q37 21 63 44T179 146T367 319L391 343H343L296 344Q285 350 285 358Q285 365 289 372T300 383T313 392T324 398L329 400H450L561 518Q597 558 607 571L621 587H596Q553 589 484 599T383 609Q342 609 326 596T301 555Q294 533 263 514T208 492Q189 492 189 503Q189 510 197 528T215 559Q249 607 318 645T466 683Q504 683 573 673T669 662L690 661Q734 682 748 683Q767 683 767 673Q767 666 746 640Q655 531 555 428L529 400Q529 399 543 399Q604 397 604 366Q604 350 587 337T551 322Q541 322 539 323Q529 328 529 334Q529 339 487 342L470 343L446 320Q272 153 200 96L235 95Q297 95 392 86T533 74H554Q586 116 597 159Q604 179 635 199T694 220'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Caligraphic/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js new file mode 100644 index 00000000..1acdb717 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js @@ -0,0 +1,272 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [689,12,349,107,241,'121 621Q121 657 132 673T177 689Q223 689 223 644V635Q223 604 222 595Q221 590 210 490T187 292T175 190V186L166 185L156 184Q156 185 139 393T121 621ZM107 47Q107 70 127 87T174 104Q201 104 221 89T241 48Q241 24 222 6T174 -12Q147 -12 127 6T107 47'], + + // QUOTATION MARK + 0x22: [695,-432,254,10,231,'53 695Q74 695 90 679V622L65 433L52 432H39L27 516Q10 626 10 655Q10 680 26 688Q33 693 39 693Q49 695 53 695ZM151 668Q151 691 191 691Q217 691 224 685T231 661V652Q230 634 219 531L207 433L195 432Q183 432 183 433L168 541Q151 664 151 668'], + + // AMPERSAND + 0x26: [696,17,871,44,839,'290 -14Q186 -14 115 41T44 185Q44 222 54 249T88 300T131 336T189 371Q216 387 216 388Q185 459 185 510Q185 563 206 601T263 659T334 687T405 696Q476 696 503 668T531 603Q531 565 513 536T450 476Q423 459 370 432L334 413L354 384Q474 212 560 139L563 137Q611 185 611 250Q611 295 577 329Q549 356 496 357Q439 357 433 354Q432 354 432 379V403L437 402Q443 402 479 401T557 400Q653 400 735 403T831 407H836Q833 352 833 351L821 352Q809 352 792 352T756 352T720 353T696 354Q680 354 680 353L681 346Q682 339 683 327T685 306Q685 283 681 260T669 218T653 182T635 152T619 129T606 114L602 109Q604 107 618 99T659 81T707 71Q742 71 767 99T804 155L815 183Q815 184 821 183T833 180T839 177Q837 169 834 156T816 110T782 52T727 5T648 -16Q569 -16 499 35H498Q496 35 466 23T387 -1T290 -14ZM418 592Q418 617 398 639T352 661T302 642T278 574Q278 545 288 514T306 465T319 444Q342 456 353 463T382 488T409 529T418 584V592ZM159 239Q159 158 222 98T364 38Q386 38 447 57L469 63L434 98Q349 185 286 275Q258 316 238 345Q233 353 232 353Q159 316 159 239'], + + // APOSTROPHE + 0x27: [695,-436,250,80,158,'80 645T80 662T93 687T123 695Q158 695 158 659Q158 649 157 643L123 437Q123 436 114 436H104Q104 442 92 538Q80 645 80 662'], + + // LEFT PARENTHESIS + 0x28: [737,186,459,134,347,'347 719Q325 708 311 698T272 656T233 580T207 455T195 267Q195 30 247 -79Q261 -110 291 -136Q320 -163 347 -172V-179Q347 -186 344 -186Q338 -186 328 -184T287 -165T230 -123Q134 -25 134 271Q134 417 158 514T226 662T335 734L346 737Q347 737 347 728V719'], + + // RIGHT PARENTHESIS + 0x29: [735,187,459,105,326,'264 262Q264 366 253 446T226 572T186 649T145 692T105 714V725Q105 735 107 735Q108 734 121 731T154 719T196 692T242 641T284 560T314 437T326 268Q326 112 299 7Q279 -78 239 -124T116 -185L105 -187V-179L106 -171L109 -169Q130 -161 138 -158T165 -146T190 -127T210 -101T229 -64T243 -12T255 58T261 148T264 262'], + + // ASTERISK + 0x2A: [692,-449,328,40,277,'40 516L62 529Q85 542 110 556T140 574L126 582Q112 591 104 595T80 607T40 629Q53 642 57 645L65 652L78 642Q106 620 132 603L152 589V595Q152 630 149 681V692H179V689Q178 681 174 638T171 593Q173 593 240 639L258 652Q260 652 267 643L276 633L260 625Q190 587 175 576Q173 575 180 570Q183 569 186 567Q213 549 256 527L277 515L256 495Q246 501 228 515T194 539T170 554V543Q170 486 178 449H148V456Q152 492 152 550L151 562Q150 562 102 528L53 495Q40 514 40 516'], + + // PLUS SIGN + 0x2B: [598,82,893,56,837,'422 584L471 598Q472 598 472 440V282H837Q833 273 829 263L821 244L647 243H472V-63L448 -73L423 -82Q422 -82 422 81V243H239Q56 243 56 244Q60 253 65 263L73 282H422V584'], + + // COMMA + 0x2C: [107,191,328,118,253,'118 61Q118 80 135 93T169 107Q190 107 221 65T253 -23Q253 -39 251 -49T237 -80T198 -133Q148 -191 144 -191Q142 -191 137 -182T132 -172Q143 -161 160 -131T183 -83Q185 -77 185 -62Q185 -54 184 -48T182 -38T177 -28T171 -19T162 -8T150 6Q130 28 124 38T118 61'], + + // HYPHEN-MINUS + 0x2D: [275,-236,893,54,833,'54 236L73 275H453Q833 275 833 274Q830 265 825 255L818 236H54'], + + // FULL STOP + 0x2E: [102,15,328,103,237,'103 23T103 44T120 83T170 102Q200 102 218 84T237 44Q237 20 216 3T168 -15Q138 -15 121 4'], + + // SOLIDUS + 0x2F: [721,182,593,41,550,'272 270Q503 721 506 721L509 720Q512 720 518 719T529 717L550 713L91 -181L66 -182Q41 -182 41 -181L272 270'], + + // DIGIT ZERO + 0x30: [501,12,593,42,533,'238 -12Q162 -12 102 42T42 185Q42 303 130 393Q163 425 208 452T284 490L313 501Q323 499 339 495T395 472T464 426Q533 357 533 273Q533 201 483 133T364 27T238 -12ZM428 208Q428 255 402 297T342 365T280 404T241 419Q214 419 178 374T142 259Q142 206 168 164T225 99Q259 74 310 74Q326 74 337 75T366 82T396 103T417 141Q428 171 428 208'], + + // DIGIT ONE + 0x31: [489,0,593,54,548,'95 481Q102 481 217 485T383 489Q384 489 384 485Q367 397 367 165Q367 58 369 54Q374 46 380 44T410 42H466H546V40Q547 38 547 19L548 0H54V23Q54 29 54 34T54 44L55 47Q79 47 134 46T202 45Q226 45 234 52Q240 57 241 64T245 105Q254 236 254 320V347Q254 369 252 382T240 409T211 431L97 450L96 465Q95 480 95 481'], + + // DIGIT TWO + 0x32: [491,-2,593,44,563,'307 335Q307 374 283 397T224 421Q187 421 112 387Q105 384 100 382T95 381Q90 387 86 394L77 407L86 413Q219 491 298 491Q370 491 399 460T428 388Q428 373 424 358T409 326T391 297T363 264T335 235T301 202T269 171L199 104Q194 99 205 97Q209 96 214 96Q527 105 544 105Q553 107 563 102Q563 100 557 79T545 34T537 2H377Q338 2 247 2T130 4H44V26L104 77Q185 145 212 172T267 235Q307 291 307 335'], + + // DIGIT THREE + 0x33: [487,193,593,31,523,'102 402L108 408Q115 413 122 418T141 431T165 447T194 461T227 474T263 483T302 487H307Q413 487 452 420Q465 400 465 371Q465 334 445 303T396 253T347 225T317 213Q314 213 314 211Q316 209 316 205Q317 201 320 201Q337 201 359 198T411 184T465 156T506 109T523 39Q523 -62 436 -127T229 -193Q179 -193 130 -178T56 -150T31 -133Q31 -132 41 -122L52 -112L63 -117Q128 -148 201 -148Q282 -148 331 -104T381 20Q381 71 363 100T304 145Q243 166 149 166H137V204H146Q179 204 211 210T275 229T326 268T346 329Q346 372 314 401Q292 423 245 423Q188 423 125 383L102 402'], + + // DIGIT FOUR + 0x34: [495,196,593,13,565,'346 -196Q344 -196 335 -187L336 -148Q337 -127 337 -55V0H13V29L187 253Q362 477 362 479L368 480Q375 481 387 483T411 487T434 491T452 494L459 495Q460 495 470 482V453Q470 389 466 230T461 62Q461 61 513 61T565 60L555 29L546 -1H461V-15Q461 -48 463 -100T465 -154L457 -157Q449 -160 434 -165T405 -175Q347 -196 346 -196ZM339 265V341Q339 362 335 362Q327 362 219 217T110 65V61H337V117Q338 133 338 187T339 265'], + + // DIGIT FIVE + 0x35: [481,190,593,18,519,'232 192Q176 192 122 152L95 162V481H306Q516 481 516 479Q514 477 501 433L486 389L319 388H152V386V382Q152 379 152 374T151 365Q147 329 146 260V218H149Q211 242 284 242Q353 242 402 224T474 176T508 117T518 55Q518 -62 432 -126T220 -190Q184 -190 151 -185T96 -172T57 -157T31 -145T20 -139T19 -138Q19 -136 27 -125L35 -112L51 -120Q114 -152 174 -152Q257 -152 314 -100T371 46Q371 107 340 149T232 192'], + + // DIGIT SIX + 0x36: [704,12,593,48,547,'48 251Q48 330 76 403T150 529T253 623T370 683T485 704Q494 704 520 701T547 695Q547 692 542 659T536 625Q531 624 524 624L512 623L502 628Q489 635 468 640Q452 645 423 645Q403 645 379 640T320 617T255 568T201 481T171 348Q170 341 170 330V325L183 333Q275 385 357 385H361Q464 385 514 312Q546 267 546 217Q546 127 457 58T262 -12Q225 -12 189 3T120 49T68 132T48 251ZM448 165Q448 228 406 274T289 320Q264 320 236 312T190 295T173 284Q173 266 176 241T189 178T214 112T259 61T326 39Q372 39 410 75T448 165'], + + // DIGIT SEVEN + 0x37: [479,197,593,54,591,'57 376L87 479H591V455L584 446Q544 399 491 328T349 117T185 -169L171 -196H159Q152 -197 102 -197Q58 -197 58 -196T56 -185L54 -175L299 158L443 359Q446 367 444 370H254L71 365L57 376'], + + // DIGIT EIGHT + 0x38: [714,5,593,45,542,'88 533Q88 573 120 610T194 668T268 701T307 714Q324 714 352 711T422 695T486 659Q518 625 518 585Q518 536 479 489T384 406L371 398L385 390Q387 389 400 382T420 370T442 356T466 339T489 319T510 295T526 269T538 238T542 204Q542 125 463 60T256 -5Q145 -5 92 52Q45 97 45 165Q45 204 64 237T109 290T163 324T209 345T228 353L214 364Q199 375 179 392T138 431T103 480T88 533ZM405 557Q405 568 402 581T387 612T350 644T286 663Q283 663 280 663T274 664H272Q256 664 228 636T199 572Q199 547 238 507Q268 475 320 437L334 427Q345 433 358 443T388 483T405 549V557ZM304 42Q366 42 398 76T431 155Q431 178 420 200T396 238T359 270T321 296T283 318L263 328Q262 328 230 312Q190 290 175 266T160 198Q160 132 202 87T304 42'], + + // DIGIT NINE + 0x39: [487,195,593,29,549,'549 220Q549 23 429 -82T105 -195H84V-189Q84 -179 85 -174V-164H93Q184 -156 238 -132T334 -56Q361 -23 376 16T394 78L397 100L363 88Q329 75 291 61T244 45Q237 44 218 44Q154 44 94 97Q29 152 29 240Q29 350 108 404Q145 429 257 480Q270 487 279 487Q403 487 470 421Q549 347 549 220ZM408 217Q408 276 390 320T346 385T297 415T259 424Q218 424 185 393T151 286Q151 216 213 154Q252 115 321 115Q368 115 388 134T408 217'], + + // COLON + 0x3A: [457,12,255,57,197,'57 398Q57 419 72 438T117 457Q154 457 174 439T194 398Q194 379 176 361T119 343Q85 343 71 362T57 398ZM62 19T62 43T77 85T115 104Q153 104 175 86T197 42Q197 14 171 1T119 -12Q96 -12 79 3'], + + // SEMICOLON + 0x3B: [458,190,255,56,211,'56 399Q56 424 73 440T104 456Q114 458 120 458Q149 458 170 440T192 399Q192 380 174 362T120 344Q85 344 71 362T56 399ZM78 53Q78 67 84 76T90 86Q90 88 98 92T116 98Q117 98 121 98T128 99Q152 97 181 58T211 -24Q211 -77 128 -165Q124 -170 121 -173T116 -178T113 -181T110 -185T106 -190L97 -184L88 -177L95 -168Q143 -104 143 -65Q143 -51 137 -40T113 -7T81 35Q78 41 78 53'], + + // EQUALS SIGN + 0x3D: [343,-168,582,22,559,'559 342L549 304H22L27 319Q29 328 30 333T33 343H296Q559 343 559 342ZM559 206L549 168H22L27 183Q29 192 30 197T33 207H296Q559 207 559 206'], + + // QUESTION MARK + 0x3F: [697,14,428,40,422,'121 590Q121 575 128 562T144 542T152 533T115 512L78 491Q55 499 47 516Q40 530 40 553Q40 601 77 632Q155 697 257 697H268Q316 697 355 679Q422 646 422 576Q422 518 388 476Q383 468 376 461T358 444T340 428T316 410T290 390L230 344Q180 307 180 275Q180 261 187 248T202 227L209 219Q209 215 176 193L142 170Q114 177 100 194T84 226V239Q84 259 93 276T113 302T150 331T192 362Q203 370 219 382T247 403T267 422Q312 471 312 546Q312 593 282 623T207 653Q170 653 146 636T121 590ZM95 23T95 49T117 94T173 113Q204 113 223 96T242 54Q242 27 221 7T167 -14Q136 -14 116 4'], + + // LATIN CAPITAL LETTER A + 0x41: [686,31,847,29,827,'821 97Q822 97 824 88T827 77L793 53Q676 -25 670 -28Q669 -29 656 -27L583 123Q583 124 467 46L352 -31L341 -20Q305 18 264 47T192 77Q161 77 60 32L49 40Q37 47 38 49Q39 49 93 83T212 160T297 219Q411 312 411 452Q411 519 360 571T233 624Q180 624 157 601T133 548Q133 524 160 496T214 441T241 393Q241 356 199 321T100 256L86 249L77 256Q68 263 67 263L84 274Q101 286 118 304T135 339T109 384T56 446T29 504Q29 566 118 624Q207 686 309 686Q349 686 360 685Q405 678 439 661T491 625T520 583T534 543T537 511Q537 436 491 344L478 318L455 299Q420 272 308 179L284 160L294 158Q348 154 426 89L437 79Q513 110 579 153V175Q579 183 579 227T580 330T581 446T582 542L583 582L664 630Q681 640 703 653T734 673L744 679Q750 678 756 676L767 674L716 623V585Q716 568 712 463T708 289V250Q708 237 709 218T710 195L711 180L739 130Q768 79 771 79Q775 79 796 88T821 97'], + + // LATIN CAPITAL LETTER B + 0x42: [684,31,1044,56,965,'160 345Q160 357 144 376T109 413T73 458T57 509Q57 544 95 584Q142 631 205 657T331 684Q382 684 427 658T500 585L505 577L521 588Q537 599 562 614T616 646T679 673T738 684Q790 684 807 666T840 587Q850 552 863 532T888 508Q894 505 906 505Q917 505 930 507T953 512T963 514L964 504Q965 495 965 494T914 467T808 413T745 384H751Q782 380 802 377T854 362T904 334T937 287T951 217Q951 178 937 143T908 91Q903 86 820 34L734 -21L718 -24Q679 -31 639 -31Q561 -31 451 4T271 40Q190 40 119 -2L99 -13L91 1L84 15L86 16Q88 18 132 42T233 100T315 152Q377 199 386 233Q388 240 393 297T399 363Q399 487 353 551Q337 573 306 597T238 622Q201 622 179 602T157 557T214 476T272 396Q272 371 229 334T143 272T96 246Q95 246 85 252T74 259T95 273T138 306T160 345ZM529 443Q529 409 528 385T526 353L525 346Q526 346 649 390T773 435Q749 451 742 464T727 518Q727 519 725 532T721 548T717 562T712 577T706 589T698 601T688 608T675 614T658 616Q626 616 576 582T525 528Q525 527 526 518T528 489T529 443ZM772 57Q774 57 778 58T792 64T808 77T821 103T827 144Q827 222 784 266T660 322Q652 323 611 323H596Q577 323 535 316L523 314Q520 291 505 255L500 241L356 138L366 137Q443 131 518 110T650 72T748 54Q763 54 772 57'], + + // LATIN CAPITAL LETTER C + 0x43: [676,32,723,71,726,'460 -32Q373 -32 305 -11T193 45T122 124T83 214T72 303Q72 395 114 476L119 486L313 592L338 568L359 580Q418 615 479 638T568 668T606 675Q607 675 608 676H610Q612 676 615 661T630 621T660 578Q673 568 694 568Q717 568 721 570H726Q724 565 722 559L717 549L706 545Q608 513 583 513Q568 517 559 522T533 546T493 603L490 609Q452 599 452 558Q452 537 469 481T486 393Q486 353 474 331T422 285T296 231L272 223L262 230L253 237Q279 246 314 274T351 338Q351 376 334 442T316 532Q316 546 319 552Q319 554 316 554Q304 554 288 547T250 523T214 466T199 371Q199 218 299 133T541 47Q571 47 585 51T652 81L712 108Q716 104 716 81L706 74Q695 68 673 54T633 29L550 -22L540 -24Q492 -32 460 -32'], + + // LATIN CAPITAL LETTER D + 0x44: [683,29,982,31,896,'380 596Q307 596 250 582T158 546T100 493T67 433T56 373V361Q55 361 43 366L31 372V384Q31 455 69 523T173 627Q213 650 284 666T444 683H452Q629 683 735 629Q896 548 896 369Q896 263 839 163Q835 155 818 140Q746 82 662 27T563 -29Q525 -29 386 16T183 62Q147 62 127 52T63 1L48 -14L40 -4L31 5Q83 73 172 149L186 161H199Q291 161 329 181Q357 199 357 231Q357 258 301 316T245 396Q245 423 282 458T349 512T403 543L413 548L425 545L438 541Q373 491 373 462Q373 446 399 415T453 349T480 288Q480 251 433 212Q394 180 348 156L334 148L353 145Q408 134 513 105T654 76Q711 76 745 132T780 277Q780 434 676 517Q637 549 562 572T380 596'], + + // LATIN CAPITAL LETTER E + 0x45: [686,29,783,74,728,'527 55Q574 55 619 69T691 97L717 111V85L562 -18Q520 -29 443 -29Q379 -29 325 -15T235 21T180 61T146 98Q74 186 74 307Q74 395 109 472Q113 482 123 489T190 533Q251 568 295 591L308 598L350 580L361 586Q403 612 464 636T564 673T609 686Q610 686 610 685Q612 683 616 670T627 636T646 601Q666 572 686 572H692Q713 572 726 576H728L725 565L723 554L692 544Q660 535 629 526T595 516Q585 514 574 519Q563 527 543 552T507 597T490 617Q467 604 456 579V564Q456 535 473 471T492 393L494 381L613 460L622 446Q630 433 650 411T696 371L703 365L614 312H596L580 322Q568 329 553 340T528 355T510 360Q496 358 491 354T484 345T471 326T435 297Q408 278 370 261T307 235T277 227Q273 227 266 234L256 240L267 245Q280 251 294 258T330 288T353 336Q353 373 335 444T316 530V537Q316 549 322 567Q270 554 233 499T196 370Q196 253 287 157Q392 55 527 55'], + + // LATIN CAPITAL LETTER F + 0x46: [684,146,722,17,727,'424 522Q265 596 208 596Q193 596 180 593T150 579T116 542T89 474Q86 465 86 463L59 481L63 494Q87 578 137 627Q191 684 285 684Q334 684 406 658T538 607T621 581Q644 581 706 629L721 640Q722 640 725 630L727 620Q701 592 654 548T582 486L569 487Q533 490 485 504L468 508Q449 503 429 495T387 466T365 422Q365 373 439 299L453 310Q473 325 528 370L588 418Q614 398 642 368T668 331Q667 331 628 296L590 262L582 274Q557 311 526 311Q511 311 487 297T462 278Q462 277 492 244T551 166T581 88Q581 54 570 25T536 -27T505 -56T478 -76Q376 -146 274 -146H270Q199 -146 162 -118T124 -15Q124 12 128 30T132 96V107Q132 144 117 157Q102 169 85 169Q74 169 59 165T32 156T20 151Q20 152 19 158T17 167Q17 168 17 168T17 169T19 170T22 172T27 175T35 179Q131 230 195 230Q231 230 259 202Q270 190 270 171Q269 150 253 87T236 -16Q236 -67 261 -87T322 -107Q380 -107 428 -68Q467 -35 467 30Q467 60 447 91T383 171T316 251Q290 286 278 308T263 339T261 359Q261 384 284 418Q322 469 424 522'], + + // LATIN CAPITAL LETTER G + 0x47: [687,29,927,74,844,'742 611Q784 611 812 631V611Q807 607 783 591T718 544T629 476L606 458Q608 458 628 457T667 453T713 443T762 423T804 388T836 335Q844 313 844 289Q844 231 814 182T746 103Q720 82 655 48T546 -18L520 -21Q456 -29 432 -29Q313 -29 223 33Q204 45 183 65T135 119T91 207T74 320Q74 428 109 480Q116 491 127 497T215 546L308 595L343 583L355 591Q387 613 433 636T488 660H489L491 659Q493 658 495 657T500 655L509 650L500 645Q479 635 460 612T441 552Q441 535 447 498T459 433T466 405L625 513L643 526Q620 530 585 546T535 586Q535 587 532 592T527 602T525 610Q525 613 577 649L630 687Q632 687 638 675T653 649T686 623T742 611ZM349 313Q349 328 327 413T305 510V516Q305 531 308 542T314 559T317 566T315 567Q297 567 270 548Q233 524 212 490T191 392Q191 337 206 288T244 207T284 156T316 128Q410 51 535 51Q632 51 675 102T718 217Q718 269 690 314T599 375Q574 381 535 381Q501 381 477 377L466 376Q469 364 469 349Q469 314 457 295T408 258Q366 236 308 219L288 213L279 220L270 227Q284 232 294 236T309 243T320 252T326 260T331 270T336 281Q349 310 349 313'], + + // LATIN CAPITAL LETTER H + 0x48: [683,126,851,6,752,'288 139Q288 172 255 224T189 335T156 442Q156 495 242 579Q289 625 361 668Q364 671 368 673T376 678T380 681L384 683L392 676Q401 670 414 661T443 642T477 626T509 619Q543 619 618 668Q625 672 628 674T631 675Q632 673 633 663T633 651L564 595Q556 589 545 580T528 566T516 556T505 548T497 543T488 539T481 537T472 535T463 534T451 534H442Q385 534 304 581L291 589Q290 588 285 583T277 575T269 566T262 555T257 543T255 529V522Q255 507 260 487T276 446T293 409T311 376L321 359Q321 358 322 358T324 359T327 361T333 366Q386 409 481 460L503 472L543 471Q586 471 599 470Q692 459 714 430Q725 416 738 360T752 245Q752 184 742 127T725 51T703 -8Q700 -13 619 -64T518 -123Q508 -126 493 -126Q438 -126 398 -86L427 -52Q456 -17 457 -17Q460 -17 465 -16H473Q474 -21 481 -32T504 -56T539 -69Q572 -69 599 -34Q625 4 625 158Q625 264 609 311T532 378Q508 386 484 386Q455 386 419 372T360 345T337 330L346 313Q375 263 386 227Q389 215 389 202Q389 192 388 184T384 168T376 152T365 138T350 121T331 103T307 81T278 54L194 -24Q130 30 99 30Q85 30 64 20T31 1T16 -10Q15 -11 13 -7Q12 -6 11 -3Q8 4 6 8L32 35Q88 88 117 107T169 126Q177 126 182 125Q218 118 252 84L263 73Q288 113 288 139'], + + // LATIN CAPITAL LETTER I + 0x49: [681,25,655,32,623,'500 615Q523 615 550 628T595 655T614 668L623 654L607 642Q512 569 440 534L427 527L413 529Q384 535 340 547T265 565T209 572Q173 572 145 556T101 522T60 465Q58 460 54 460T41 468L32 477L37 487Q96 599 139 640Q187 681 247 681Q275 681 283 680Q313 674 398 645T500 615ZM418 170Q418 186 410 260T401 382Q403 418 403 424L405 433L415 444Q482 515 571 571L582 578Q591 573 607 568L597 560Q522 504 522 450Q522 427 533 357T545 241V228Q545 190 536 159T508 106T478 73T446 48Q343 -25 238 -25Q179 -25 118 15L107 22L79 5Q51 -12 51 -12L38 2L55 18Q106 67 175 122L192 136Q202 130 206 123Q223 91 252 61Q263 50 266 48T278 39T297 32T320 30Q357 30 389 68Q415 102 418 170'], + + // LATIN CAPITAL LETTER J + 0x4A: [681,141,652,-8,616,'65 510Q68 517 74 528T101 569T144 620T202 661T274 680Q308 680 389 628T503 576Q530 576 596 600Q615 607 616 607Q616 602 615 596V585Q605 581 576 568T531 548T485 531T418 509L400 503L358 522Q347 527 327 537T299 550T277 560T257 568T239 573T220 577T201 578H196Q181 578 169 575T135 554T88 502L83 496Q82 496 74 502T65 510ZM424 4Q424 50 395 151T365 313V320Q365 352 369 361T405 403Q431 432 465 462T521 508T547 525L549 524Q551 524 554 523T560 521L571 517L552 498Q515 461 499 430Q485 399 485 366Q485 326 512 231T539 84Q539 -14 460 -77T273 -141Q248 -141 234 -140T198 -131T160 -106T134 -59Q128 -40 124 -16T117 22T108 49T91 69T59 75T15 65L1 59Q-8 76 -7 77Q4 85 22 97T88 129T170 149Q218 149 234 125Q242 112 242 43V21Q242 -17 248 -41T274 -85T322 -105H325H330Q363 -105 396 -75Q424 -47 424 4'], + + // LATIN CAPITAL LETTER K + 0x4B: [681,27,789,20,806,'234 109Q234 144 194 245T153 404Q153 445 180 490Q232 572 325 626T517 681H524Q612 681 661 658Q683 647 699 632T717 604Q717 600 708 545L699 490L690 489Q681 488 679 488Q675 488 669 504T640 546T577 592Q520 620 446 620Q415 620 386 614T327 594T280 553T262 487Q262 468 265 447T271 413T279 384T285 362L295 371Q320 396 352 421T439 474T538 502Q577 502 596 484T627 428Q642 386 651 373T677 360H682Q698 360 727 369L724 357Q724 354 724 351T722 346V344Q559 289 539 283Q582 272 589 271L615 265L637 189Q662 109 663 108Q668 97 682 84Q698 68 722 68H730H738Q762 68 799 91L803 80L806 70Q795 59 770 40T703 -3T631 -26Q598 -26 578 -8Q548 24 536 92Q524 154 509 183T477 218T428 224Q409 224 385 220T346 212L331 207Q330 205 330 201T331 189T332 178Q332 158 325 116L305 96Q269 60 240 38Q171 -21 123 -21Q72 -21 33 18L20 32L62 74Q96 107 102 112T116 118Q120 118 122 113T131 95T150 69Q171 48 190 48Q198 48 206 51T224 69T234 109ZM519 367Q497 432 450 432Q379 432 313 333L300 314L304 299Q306 294 309 280T315 260L321 235L542 313Q530 325 519 367'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,28,786,30,764,'277 226Q277 248 253 286T203 369T178 449Q178 490 212 533T284 607Q380 683 532 683Q610 683 639 660T668 583Q668 568 666 546T663 509Q663 478 683 460Q691 452 719 452L738 450Q732 437 729 437Q728 437 652 416T573 394Q554 394 541 409T527 444Q527 449 532 487T538 542Q536 584 501 606T418 628Q389 628 364 620T317 587T295 523Q295 478 333 401T372 276Q372 269 371 267Q371 264 318 206L264 149Q284 141 317 130T433 101T577 82Q619 82 652 95T701 127T728 164T742 196L744 209Q744 210 749 208T759 203T764 199T760 185T751 154T744 129Q714 42 680 13Q628 -28 566 -28Q490 -28 403 -5T249 42T153 66T106 53T70 15T47 -16Q46 -17 30 -5L39 13Q85 100 138 148L147 156L161 157Q218 165 246 179T277 226'], + + // LATIN CAPITAL LETTER M + 0x4D: [683,32,1239,27,1232,'134 338Q134 357 81 417T27 504Q27 516 34 530Q55 568 110 615Q190 683 305 683H314Q445 683 495 580L501 569L512 577Q608 646 681 646Q759 646 801 585L808 576L816 583Q860 619 921 650T1041 682Q1063 682 1077 675T1096 660T1112 631T1132 596Q1160 555 1188 555Q1204 555 1228 564Q1230 565 1231 562Q1231 560 1232 554V547L1215 538Q1179 521 1114 475Q1112 474 1106 470T1099 464T1093 459T1088 452T1085 441T1082 425T1081 404T1079 376T1079 339Q1079 282 1084 236T1098 160T1117 112T1138 85T1159 77Q1166 77 1180 81T1207 90L1219 94Q1220 94 1221 86T1222 76L1045 -32Q1044 -32 1004 15L964 64V167Q965 334 970 372V378L994 402Q1032 440 1057 460Q1061 463 1066 467Q1070 469 1070 470T1068 471T1060 474T1050 481Q1040 488 1021 531T996 583Q979 609 947 609Q922 609 887 592T820 537L821 524Q825 484 825 448Q825 268 768 155L759 137L589 -28L579 -20Q533 17 507 17Q475 17 449 -7L436 -18L424 2L441 20Q446 25 456 36T471 52T484 65T497 79T509 90T522 99T534 106T548 112T561 115T576 117Q602 117 639 86Q648 81 648 81Q650 82 657 94T668 112Q711 202 711 373Q711 484 677 533T600 583Q592 583 583 581T569 577T554 568T542 560T528 549T516 539L519 523Q527 485 527 461Q527 444 522 407Q506 266 447 150L437 130L217 -25L208 -15Q165 28 126 28Q89 28 62 1Q47 -14 43 -14Q42 -14 36 -8L28 0L44 17Q96 73 120 92T166 117Q182 123 204 123Q239 123 284 78L295 67Q307 72 337 102Q400 178 400 346Q400 508 325 571Q270 618 208 618Q180 618 168 614T140 594Q124 578 124 564Q124 540 182 480T240 396Q240 359 197 321Q154 285 94 252L80 245L76 248L67 257L61 262L71 268Q82 275 94 284T120 309T134 338'], + + // LATIN CAPITAL LETTER N + 0x4E: [679,30,983,25,973,'522 492Q521 492 517 502T512 513Q542 444 542 333Q542 226 503 137L498 125L396 53Q308 -8 292 -17T260 -27Q226 -27 191 -9T136 29L145 39Q162 56 192 89L230 129L235 128H241Q276 57 332 57Q358 57 391 80Q403 89 409 100T422 143T428 227Q428 329 406 408T347 530T272 594T196 615Q152 615 135 596T118 558Q118 535 146 502T203 438T232 385Q232 357 195 322T122 265T83 243Q82 242 72 249T61 258L66 262Q72 265 82 273T103 292Q125 314 125 333Q125 351 101 376T51 432T26 492Q26 549 108 614T290 679Q326 679 335 678Q353 675 370 670T400 658T425 642T445 625T463 606T477 588T487 571T495 556T500 543L504 535L523 553Q553 581 569 595T619 632T686 667T757 678Q778 678 793 675T819 664T833 651T844 633T852 617Q884 548 910 548H916Q938 548 962 556L967 542Q967 540 947 531Q909 509 883 492T847 467T838 458Q825 419 825 328Q825 234 833 191T858 121Q875 94 892 77Q898 71 907 71Q912 71 928 76T957 87T971 91L972 88Q972 84 972 81L973 73L957 63Q891 21 806 -23L794 -30L783 -14Q766 13 728 60L713 79V372L724 384Q743 406 765 427T800 460L813 471Q809 472 806 472Q783 479 766 503T741 551T715 594T672 614Q644 614 622 595Q597 576 572 550T534 508L522 492'], + + // LATIN CAPITAL LETTER O + 0x4F: [726,30,976,12,881,'254 595Q269 583 269 581L262 577Q256 573 247 566T228 549T212 527T205 502Q205 480 266 386T328 277Q328 234 239 150L221 134L231 133Q264 131 376 99T516 62Q567 50 604 50Q614 50 626 52Q643 57 662 71T703 115T739 198T753 323Q753 454 692 517Q652 555 584 565T382 577Q365 577 357 577H308L300 591L292 606Q292 608 342 665L392 724L403 725Q406 725 411 726H416L417 725L412 715Q408 705 408 698Q408 684 423 679Q431 677 516 672T663 655Q757 634 806 593T873 463Q881 421 881 380Q881 340 874 306Q859 223 809 147Q801 134 789 124Q595 -30 456 -30Q395 -30 289 3T147 36Q134 36 121 33T98 26T76 15T59 4T44 -8T32 -17L22 -7L12 4L56 59L100 114L116 118Q217 142 217 199Q217 230 185 276T120 365T87 430Q87 435 109 464T172 534T254 595'], + + // LATIN CAPITAL LETTER P + 0x50: [688,223,977,33,943,'247 398Q247 372 206 334T126 272T83 247Q82 247 72 253T61 261Q60 261 61 262T66 265Q127 306 127 343Q127 364 63 430Q42 451 38 458T33 480V490V497Q33 526 63 567Q112 632 170 660T282 688Q341 688 384 667Q454 633 482 566Q483 565 484 566T496 574Q562 623 630 653Q699 681 751 681Q778 681 797 673Q818 662 830 609Q835 580 843 564Q863 524 895 524H901Q917 524 932 528Q936 522 938 518T942 513T942 511Q873 480 836 454Q789 423 789 395Q789 362 834 298T880 200Q880 170 867 145T820 81Q733 -20 647 -20Q581 -20 499 21V9Q499 -16 502 -53T509 -116L512 -141L370 -223L357 -216Q344 -209 344 -208L348 -196Q370 -113 370 33V52L355 58Q307 76 284 76Q258 76 228 60T183 29T141 -11Q137 -7 133 -2L126 7L134 18Q181 89 210 121T278 170Q304 179 328 179Q336 179 358 177L370 175Q368 268 367 359Q367 416 363 434Q362 438 362 441Q348 527 302 574T203 621Q169 621 148 599T127 557Q127 535 187 476T247 398ZM673 315Q673 357 786 442Q786 443 776 444T750 449T727 462Q719 471 716 484V496Q715 507 715 515Q715 571 698 588Q680 611 643 611Q592 611 547 571Q534 558 511 522L499 505V139L543 123Q702 64 744 64Q770 64 781 79T793 112Q793 143 733 217T673 315'], + + // LATIN CAPITAL LETTER Q + 0x51: [726,83,976,12,918,'254 595Q269 583 269 581L262 577Q256 573 247 566T228 549T212 527T205 502Q205 480 266 386T328 277Q328 234 239 150L221 134L231 133Q264 131 376 99T516 62Q567 50 604 50Q614 50 626 52Q643 57 662 71T703 115T739 198T753 323Q753 454 692 517Q652 555 584 565T382 577Q365 577 357 577H308L300 591L292 606Q292 608 342 665L392 724L403 725Q406 725 411 726H416L417 725L412 715Q408 705 408 698Q408 684 423 679Q431 677 516 672T663 655Q757 634 806 593T873 463Q881 421 881 380Q881 340 874 306Q864 250 838 196T791 126Q748 93 733 82L715 69Q714 68 723 60T748 40T774 23Q806 2 832 2Q849 2 870 6T904 14L917 17Q917 12 918 6V-3L882 -22Q806 -60 778 -73L755 -83Q640 -36 596 -7L586 0L576 -4Q513 -30 457 -30Q394 -30 289 2T149 35Q119 35 93 22T52 -4T36 -17T24 -7T12 4L56 59L100 114L116 118Q217 142 217 199Q217 230 185 276T120 365T87 430Q87 435 109 464T172 534T254 595'], + + // LATIN CAPITAL LETTER R + 0x52: [688,28,978,31,978,'31 498Q34 541 76 586T176 659T279 688H290Q377 688 429 653T506 569L511 558L526 572Q620 663 707 682Q722 685 737 685Q781 685 804 665T830 619T838 565T854 525Q866 511 897 511Q917 511 925 513L937 515Q938 515 941 509T944 501T925 493T870 470T803 438Q735 406 735 401Q735 400 741 399T767 390T814 374L828 367L829 307Q829 233 833 202T852 144Q873 109 896 90Q906 82 928 82T976 95V92Q976 88 978 72L807 -28Q768 39 733 87L718 108V149Q718 230 714 257T693 298Q654 333 580 333Q524 333 520 329Q520 300 489 224T443 133Q441 131 333 53T223 -27Q221 -26 204 -11T169 16T136 28Q110 28 66 -8L56 -16Q52 -13 40 -1L48 7Q165 124 211 124Q232 124 287 77L298 67Q309 73 337 97Q397 150 397 347Q397 419 379 474T330 560T269 604T207 619Q177 619 152 601T126 563Q126 540 185 479T244 387Q240 336 160 289Q144 278 98 255L80 246L62 261L79 272Q96 283 113 301T130 337Q130 353 115 373T81 410T47 451T31 498ZM524 358Q537 358 657 405T777 457Q777 459 768 459Q749 462 738 474T723 499T714 539Q706 585 697 599Q681 618 657 618Q632 618 597 595T532 515L525 502L524 441Q524 375 523 369Q523 358 524 358'], + + // LATIN CAPITAL LETTER S + 0x53: [685,31,978,82,905,'457 -31Q356 -31 272 6T135 120T82 304Q82 372 106 430T170 527T241 588T305 626Q341 643 386 657T460 678T495 685T554 660T674 609T778 584Q800 584 818 591T848 610T866 633T878 651T883 659L893 649L901 639Q879 574 803 532T666 490Q661 490 657 490T650 491T641 492T633 495T622 500T610 505T595 513T577 522T554 533T527 547Q436 594 415 602Q393 608 374 608Q303 608 253 545T202 386Q202 229 307 135T568 41Q674 41 748 85T822 198Q822 244 779 283T639 322Q595 322 499 303T383 283Q358 283 335 290T291 318T270 374Q270 418 313 460T424 510H431L435 505L440 500Q425 496 403 475T380 427Q380 382 431 373Q437 372 475 372Q543 372 626 388T742 404Q831 404 868 362T905 260Q905 182 831 108Q692 -31 457 -31'], + + // LATIN CAPITAL LETTER T + 0x54: [686,30,790,30,802,'666 641Q737 641 794 686L802 662Q790 648 734 596L677 541L664 538Q630 528 583 528Q540 528 482 537L461 541Q402 512 402 456Q402 427 439 387T512 311T549 253Q549 220 455 139L440 126Q541 75 586 75Q600 75 619 80T654 94T685 110T709 124T719 130Q722 125 725 119L730 108Q700 72 568 -18Q551 -30 542 -30Q495 -30 404 6T270 42H263Q213 42 142 -11L131 -19L129 -8Q126 1 126 4Q218 84 301 126L316 134H406L413 142Q436 165 436 189Q436 202 421 221T364 281Q336 307 318 328T296 356T283 381L290 394Q338 478 410 540Q419 549 417 549Q415 550 369 558T268 575T195 584Q153 584 127 567T100 523Q100 499 116 479T151 447T170 433Q170 429 171 428Q171 427 131 394T88 359Q82 363 73 370T47 403T31 457Q31 513 79 565T197 648T332 679Q369 679 490 660T666 641'], + + // LATIN CAPITAL LETTER U + 0x55: [688,39,851,18,871,'273 244Q273 281 244 331T186 428T155 502Q155 524 165 536Q239 634 333 688Q338 684 345 680L356 672L344 664Q310 642 295 624T280 582Q280 550 303 505T348 407T371 300Q371 270 362 248L247 123L358 92Q452 64 484 64Q507 64 523 72Q553 87 573 109Q583 121 586 146T593 283Q594 303 594 344Q594 401 591 461T584 558L581 595Q598 600 623 611T672 634T719 659T754 678L768 686Q770 686 784 673L782 670Q781 668 777 664T768 655Q747 635 738 616T721 535T714 359Q714 205 723 176Q727 164 744 133T771 89Q780 75 804 75Q814 75 853 87L867 92L871 73L671 -39L654 -10Q636 20 619 50T600 83Q600 84 589 75T539 34Q478 -16 475 -19Q469 -22 449 -28T414 -34Q410 -34 394 -32Q356 -28 282 -2L237 15Q169 38 126 38Q106 38 85 27T51 4T37 -8T27 -1T18 8Q18 10 70 63T124 116Q154 123 176 131T223 154T260 191T273 244'], + + // LATIN CAPITAL LETTER V + 0x56: [685,29,982,25,966,'133 343Q133 360 79 416T25 496Q25 523 58 563T118 624Q197 685 293 685Q331 685 339 684Q453 665 489 558L493 546Q521 570 553 596T640 653T725 684Q753 684 783 672T844 641T889 618Q895 616 912 616Q924 616 936 617T956 620T965 622T966 612V604L952 595Q924 576 895 549Q864 517 856 496T847 448V434Q847 395 848 388L859 323Q874 241 874 212Q874 142 830 96Q796 62 724 14Q661 -29 603 -29Q555 -29 421 28T242 86Q182 86 110 31Q105 28 102 26T99 25Q88 36 88 42Q95 54 222 142Q252 163 262 165Q319 183 344 218Q378 266 378 377Q378 444 362 494T319 571T266 610T212 623Q181 623 156 603T131 562Q131 539 154 512T206 458T243 416Q246 409 246 399Q246 387 242 377T225 351T178 311T94 259L79 251Q72 256 68 261T62 268L61 270L70 277Q131 318 133 343ZM822 526Q778 531 719 564T628 597Q611 597 579 574Q543 543 513 506L505 495L506 473Q506 469 506 461T507 449Q507 348 467 271L462 261L404 218L348 174Q349 173 356 173Q384 169 450 144L546 105Q665 56 708 56Q737 56 746 72T756 118Q756 129 755 135L741 219Q725 314 725 334V344Q725 416 736 431Q748 450 815 510L832 526H822'], + + // LATIN CAPITAL LETTER W + 0x57: [683,30,1235,26,1240,'133 317T133 338T80 413T26 496Q26 532 83 591Q100 608 111 616T151 644T219 672T304 682Q381 682 434 646T506 564L510 557Q513 557 534 573L677 665L707 683L790 561L803 572Q933 682 1001 682Q1037 682 1098 650T1193 616Q1208 616 1222 619L1235 622Q1239 622 1239 616Q1239 611 1240 609Q1240 608 1206 577T1138 503T1104 430Q1104 409 1123 330T1142 208Q1142 183 1136 147Q1127 118 1117 106Q1114 103 1031 48T935 -14Q930 -18 908 -22T862 -27Q826 -27 759 -6T647 26Q597 38 578 38Q573 38 561 33T533 20T505 4T480 -10L469 -16L452 -26L439 -28Q423 -30 411 -30Q358 -30 279 7T169 45Q125 45 58 -5L47 -14L41 -4L35 8Q35 11 56 29T113 75T181 125L200 139H217Q279 143 320 180T377 270T394 393Q394 453 378 498T334 568T277 605T213 617Q177 617 155 607Q140 600 130 587T119 560Q119 545 137 522T177 479T217 434T236 393Q236 324 98 251L89 246L76 253L63 261Q91 275 112 296ZM1088 526Q1066 526 1004 556T909 586Q863 586 816 539L802 526L804 514Q814 461 814 411Q814 319 781 238Q772 214 760 198T730 165T702 136L715 133Q759 122 848 90T973 57Q1003 57 1017 80Q1022 93 1022 116Q1022 152 1003 241T983 377V391Q983 405 985 409T1002 429Q1019 450 1045 475T1090 514L1107 528Q1104 527 1102 527T1096 527T1088 526ZM699 358Q699 391 696 419T688 467T675 503T660 530T642 550T626 563T608 574T593 582Q581 575 559 554T524 512Q523 510 523 477Q523 315 444 218L435 207L368 169Q301 132 301 131Q307 128 315 125L377 99Q476 57 515 57Q534 57 608 94L627 102L636 111Q699 187 699 358'], + + // LATIN CAPITAL LETTER X + 0x58: [681,35,849,32,835,'273 679Q354 674 408 633T477 525L484 533Q496 548 524 574T571 615Q594 633 625 649T675 673T699 681Q724 632 747 607Q754 601 756 599T765 594T777 591T794 590Q818 590 834 594V585L835 577L704 513L693 518Q657 534 631 560T597 599Q596 601 581 584Q495 490 489 379V366H562L681 369Q682 369 679 366T668 355T651 341L620 314H485V295Q490 190 543 125T686 60Q720 60 789 88L801 93V89Q798 83 798 66Q781 59 685 -10L665 -25L634 -30Q596 -35 594 -35Q570 -35 536 -23T477 19Q461 37 445 67T418 118L409 138Q401 131 388 120T340 79T273 28T206 -12T151 -31Q129 -31 90 -12T32 22L113 101Q114 101 120 96T136 84T160 69T189 56T221 51Q256 51 305 90Q376 149 376 301V315H293Q276 315 251 315T210 314T190 313L168 312Q168 313 200 340L231 368L238 367Q275 367 311 366H378V387Q376 470 355 512T291 572Q274 579 252 579Q223 579 197 568T156 544T131 519T117 508Q112 512 108 518L99 527L117 545Q177 604 255 665L273 679'], + + // LATIN CAPITAL LETTER Y + 0x59: [688,214,984,34,878,'34 496Q34 518 53 549T107 610T195 661T310 682Q357 682 398 663T460 611Q467 600 475 583T489 554T495 542Q495 544 531 570T617 629T700 676L724 688Q742 670 756 657T784 635T806 621T830 606T856 592Q878 416 878 340Q878 154 805 -3L798 -20L779 -40Q706 -113 613 -163T421 -214Q359 -214 317 -196T256 -160L306 -63L313 -64L320 -66L326 -79Q337 -104 349 -120T392 -151T470 -166Q576 -166 644 -101Q750 7 750 292Q750 426 721 495T617 565H611Q563 565 513 509L506 501L508 493Q508 490 509 475T510 445Q510 319 458 236L451 225L436 216Q406 198 365 169T318 134L332 127Q336 126 397 103T489 80H493Q527 80 593 129L604 137L607 127Q610 119 610 116Q610 114 592 95T543 46T484 -4Q450 -27 446 -27Q441 -27 402 -18Q365 -9 290 20T188 50Q135 50 64 -7L52 -17L43 -7L34 2L51 19Q118 87 177 132L192 143H215Q259 145 289 155T335 184T355 214T366 245Q382 306 382 388Q382 426 381 436Q368 520 318 570T214 621Q184 621 165 608T142 583T137 562Q137 541 163 508L201 469Q245 425 251 408Q253 403 253 398Q253 383 240 366T212 335T161 295Q128 271 99 253L89 247L77 256L65 266L76 273Q125 301 134 329Q136 334 136 342Q136 357 124 372T88 410T49 455Q34 479 34 496'], + + // LATIN CAPITAL LETTER Z + 0x5A: [677,148,711,-5,624,'278 601Q242 601 212 591T167 570T121 533Q114 528 111 525L93 550Q223 661 244 667Q299 677 356 677Q415 677 456 666T515 634T541 596T549 555Q549 513 529 478T480 421T424 388T377 372Q365 370 365 367Q365 365 389 365T450 358T523 337T588 282T623 183Q624 177 624 161Q624 20 524 -60Q415 -148 285 -148Q242 -148 213 -139Q181 -131 159 -109Q136 -87 127 -56T114 6T104 49Q94 69 57 69Q38 69 13 58L1 53Q1 55 0 59T-3 68T-4 76Q78 130 138 142Q150 144 162 144Q213 144 227 120T242 31Q242 -30 263 -66T345 -102Q397 -102 444 -52T491 107Q491 172 471 211T428 265Q392 288 306 288Q269 288 233 284L218 282Q208 289 208 291L229 324L251 359Q250 360 248 360Q239 360 248 371L256 381H273Q344 385 378 409T413 495Q413 537 384 569T278 601'], + + // LEFT SQUARE BRACKET + 0x5B: [740,130,257,36,226,'226 711T225 711T86 699V-93H89Q94 -93 157 -96T223 -100H226V-119H223Q134 -119 42 -130H36V740H42Q61 738 156 736H226V723Q226 711 225 711'], + + // RIGHT SQUARE BRACKET + 0x5D: [738,132,257,14,208,'69 732Q116 733 146 734T184 736T197 737T206 738H208V-132Q190 -129 160 -127T99 -125T66 -124H14V-103H19Q20 -103 84 -98T152 -92H158V699H151Q148 700 85 703T18 708H14V732H69'], + + // CIRCUMFLEX ACCENT + 0x5E: [734,-452,590,1,584,'1 463T1 464T148 599T296 734Q584 486 584 485L561 472Q538 459 537 461Q296 672 293 672L161 563Q133 539 97 509T44 466L28 452Q27 452 14 457'], + + // LATIN SMALL LETTER A + 0x61: [472,32,603,80,586,'80 129V151Q80 241 99 363Q99 367 111 372T172 401T285 465L297 472Q340 455 405 443L423 440L455 453Q486 467 489 467L497 461L494 451Q480 390 480 292V283Q480 207 483 155L484 143L535 80L558 90L582 99Q586 95 586 83Q586 81 513 25L443 -29Q410 16 386 40L371 55V61Q371 63 371 67T370 74V80L278 25Q186 -29 184 -31Q182 -32 160 -12T112 35T80 75V129ZM359 366Q334 366 300 371T243 382L221 388Q218 388 212 375T200 323T194 228Q194 191 197 152L198 139L217 120Q245 92 269 74L279 66L304 78Q338 95 349 100L369 110V152Q368 164 368 210T367 275Q367 358 366 361V366H359'], + + // LATIN SMALL LETTER B + 0x62: [690,32,590,86,504,'99 398Q99 610 86 662Q86 665 95 669T106 674L108 669Q109 664 112 654T119 635Q122 626 125 616T130 601L131 596Q214 649 273 678Q295 690 298 690Q299 690 304 688T313 682L317 679Q275 653 240 612Q210 569 210 469V459Q210 450 210 432T211 406L212 378L285 425Q301 435 321 447T350 466L360 472Q360 473 361 473T368 471T401 456T465 429L501 414V408Q504 386 504 309Q504 255 500 203T491 125T485 97Q485 95 445 74T343 23T237 -24L214 -32Q197 -22 165 3T109 49T87 73Q99 169 99 398ZM386 251Q386 320 380 347V350L305 374L282 382L214 348L213 274Q213 184 214 165V131L230 119Q288 76 349 54Q386 137 386 251'], + + // LATIN SMALL LETTER C + 0x63: [473,26,464,87,424,'227 393Q215 393 210 351T205 269Q205 161 213 153Q220 145 244 125T290 88L312 72L365 92Q414 113 418 113V93L365 60Q255 -9 221 -26L211 -18Q158 21 91 88L90 107Q87 167 87 225Q87 267 90 302T96 351T100 366L295 473L311 470Q340 464 368 454T410 437T424 429L347 334L342 333H337L325 342Q299 363 271 378T228 393H227'], + + // LATIN SMALL LETTER D + 0x64: [632,28,589,-1,511,'88 117Q88 177 91 231T97 310T102 341Q102 343 118 357T168 397T239 447L257 459L268 454L278 449Q242 416 238 412L219 394Q219 391 216 378T211 349T206 307T203 249Q203 211 206 166L208 148Q224 132 261 108T333 70Q341 66 342 67T350 79Q393 157 393 302Q393 368 388 406V411L371 424Q199 558 101 558Q69 558 28 545L18 542L8 549L-1 557L24 569Q61 587 147 621L177 632Q179 631 194 627T216 621T240 613T269 602T302 589T340 571T382 549T431 522T484 488Q504 475 504 472Q511 449 511 365Q511 248 474 129L468 108L451 96Q427 77 347 28T254 -28Q235 -20 174 21T89 86L88 117'], + + // LATIN SMALL LETTER E + 0x65: [471,27,472,81,428,'309 69Q391 98 416 108Q418 106 422 100T425 92Q419 86 326 30T229 -27Q228 -27 207 -13T154 27T97 76L85 87L84 106Q81 152 81 194Q81 295 93 359L95 369L286 471L313 449Q376 397 414 372L428 362Q428 360 375 318L188 181V170Q188 156 189 153V148L203 138Q228 119 266 94T309 69ZM209 389Q208 388 204 366T194 307T187 244Q187 225 188 225T201 233L245 261Q283 284 291 291Q324 313 324 316L296 334Q280 343 259 357T224 380L210 390Q209 390 209 389'], + + // LATIN SMALL LETTER F + 0x66: [687,222,388,35,372,'128 400Q127 401 121 422T108 478T99 540V555L111 569Q135 597 165 626T214 671T235 687L249 678Q263 668 282 659T315 650Q335 650 362 666L372 654L286 569H271Q205 576 173 586V583Q173 558 208 492T252 401Q253 399 310 399T367 398L332 355H254V311Q251 160 235 16Q230 -28 226 -36Q225 -38 221 -45Q171 -140 121 -211L113 -222H104Q94 -222 94 -220Q94 -215 105 -187L121 -145Q139 -80 139 35V93Q139 222 135 314L134 354Q134 355 84 355H35L84 399H106Q128 399 128 400'], + + // LATIN SMALL LETTER G + 0x67: [472,208,595,17,541,'92 71Q92 74 91 88T88 128T86 183Q86 230 91 275T102 342T109 366Q115 372 207 422T305 472Q407 426 431 426Q435 426 476 445L519 465L525 463L532 461Q497 392 497 268Q496 255 496 233Q496 179 516 92T539 -10L541 -22L526 -38Q441 -126 355 -194L339 -206L327 -207Q324 -207 319 -207T310 -208Q242 -208 171 -179T73 -131L56 -141Q40 -150 38 -150Q17 -140 17 -137Q17 -136 18 -136T98 -79L176 -23Q174 -21 134 24T92 71ZM226 393Q224 393 221 372T214 312T210 235Q210 182 214 144L215 132L230 118Q281 70 301 66Q304 66 331 80T373 105L384 112L383 165Q383 224 387 309Q387 314 387 319T387 329T388 336T388 341V343Q388 344 381 344T339 354T249 384Q246 385 243 386T236 389T231 391T228 392L226 393ZM414 -80Q414 -64 411 -43T403 -1T394 37T386 66T382 79Q381 79 286 15T189 -52Q312 -125 365 -125Q397 -125 405 -115T414 -80'], + + // LATIN SMALL LETTER H + 0x68: [687,207,615,89,507,'95 661Q95 662 103 667T113 672L126 634L137 596L147 602Q235 656 275 677L292 687L303 680Q305 679 307 677T312 674L313 672L310 670Q307 669 301 667T289 660T274 649T259 634Q250 622 244 611T233 585T226 560T222 528T221 497T220 456T219 413V377L232 384Q244 391 271 409T339 455L362 471L383 461Q425 440 491 415L504 410V406Q507 399 507 269Q507 76 486 -21Q485 -30 483 -33T461 -57Q382 -139 299 -207L281 -197L263 -186L266 -185Q268 -184 280 -177T312 -155Q344 -130 353 -116Q394 -59 394 117Q394 162 391 216T386 301T382 335Q382 338 365 346T323 364T281 376L250 362Q220 347 219 347Q213 336 213 232Q213 177 217 144L218 128L224 119Q244 92 263 71L272 60Q206 21 157 -24Q156 -24 151 -16T132 11T98 52L89 62L91 103Q104 289 104 436Q104 471 103 506T101 568T99 616T96 649L95 661'], + + // LATIN SMALL LETTER I + 0x69: [686,25,331,3,327,'73 613L164 686L184 666Q200 650 214 637T235 620T242 614T203 577T162 540Q158 540 122 570T73 613ZM92 58Q92 63 94 83T98 142T101 234Q101 318 97 358V366L59 387L40 379L21 371Q20 371 12 376T3 382L38 406Q78 431 125 466L138 477Q149 468 186 444L219 422V389Q215 324 215 247Q215 136 222 123Q226 113 238 98T258 83Q263 83 292 94L322 104Q322 103 324 97T327 89Q327 88 317 82T272 52T190 -7Q166 -25 164 -25L112 35Q92 55 92 58'], + + // LATIN SMALL LETTER J + 0x6A: [682,203,332,-19,238,'74 611L155 682Q172 666 186 655T208 636L235 614Q227 606 191 574L154 540L135 556Q101 582 84 601L74 611ZM10 377L144 477Q145 476 184 453T229 428L233 425V416Q238 346 238 252Q238 93 215 -16L213 -30L185 -57Q29 -203 19 -203Q17 -203 -19 -189L-9 -183Q52 -146 78 -116T114 -37Q120 31 120 192V237Q120 327 113 351T72 380L53 372Q34 362 32 364L10 377'], + + // LATIN SMALL LETTER K + 0x6B: [682,25,464,34,432,'106 72Q110 105 111 193T114 294V308H74L34 309L83 346H115V430Q114 591 106 652Q105 662 107 665T114 668T123 672Q125 672 139 635L152 597L154 598Q156 600 160 602T167 607Q193 625 226 644T279 672T302 682L312 676L321 670L312 665Q281 649 263 626T241 587T233 547Q232 541 231 530T230 510T230 501Q231 501 265 522T334 564T369 583L380 570Q428 509 428 481Q428 475 427 470T423 459T416 448T404 434T389 418T369 397T344 371L321 347L365 346H409L372 308H227V294Q227 272 230 208T234 138Q234 136 256 119T302 84L324 68L372 88Q421 108 422 108T432 90L421 83Q373 53 270 -5L234 -25L204 -1Q172 25 124 60L106 72ZM336 434Q336 452 327 472T308 503T297 514Q296 514 290 510T275 499T264 490Q230 458 230 358V346H247Q268 346 276 350T302 372Q328 398 335 423Q335 424 335 428T336 434'], + + // LATIN SMALL LETTER L + 0x6C: [681,24,337,100,312,'111 275Q111 406 108 518T104 650V657Q105 657 109 660T117 665T122 666L133 629L144 594L161 606Q218 642 272 670L294 681Q295 681 300 677T306 672L302 669Q298 666 292 662T278 651T263 637T251 621Q232 587 227 530T222 343Q222 226 230 125L231 112L244 98L258 83Q271 87 285 92L312 102V84Q297 72 231 24T163 -23L100 55Q110 141 111 275'], + + // LATIN SMALL LETTER M + 0x6D: [476,31,921,16,900,'115 203Q115 257 114 291T112 338T111 355Q111 357 93 370L75 384L54 375Q32 366 31 365Q27 365 16 378Q25 383 89 430L152 476Q175 453 228 420Q229 420 229 418T229 410T227 394L225 369Q279 400 315 425T363 461T376 471Q480 424 514 416V412Q514 411 514 404T513 392L511 376L520 382Q529 387 548 399T584 422Q599 432 618 444T648 463L657 469H658Q661 469 681 461T735 440T796 420Q803 418 803 416Q801 414 798 390T791 325T788 247Q788 220 790 172T794 123Q799 115 814 97T835 78H838Q841 78 867 89L895 101Q896 101 896 100T897 92T900 78L873 62Q810 23 761 -12L736 -30Q735 -30 729 -22T707 7T671 48L661 59Q674 93 674 207V219Q674 341 670 344Q655 353 591 372L576 376L544 364Q511 351 510 351Q507 349 507 224V132L535 95Q541 87 548 78T560 63L563 58Q563 57 504 15T444 -28L385 53L387 67Q396 114 396 206Q396 289 393 334Q393 346 390 348Q369 358 306 373Q301 373 265 361L228 349V335Q227 322 227 284Q227 206 231 157Q231 151 231 144T232 133V129Q232 125 259 90Q286 56 286 53Q287 53 284 51T273 43T258 31L173 -31L166 -20Q160 -11 145 7T119 38T108 59Q108 62 110 81T113 133T115 203'], + + // LATIN SMALL LETTER N + 0x6E: [473,28,654,5,608,'608 88Q572 65 535 37T477 -8T455 -25Q432 7 389 53L375 68L378 82Q386 160 386 195V221Q386 284 385 307L384 344Q352 359 306 373L286 379L213 353V273Q214 229 214 161V129L275 62L163 -28L150 -14Q136 0 121 16T91 44Q86 48 86 50Q95 83 96 148Q96 224 89 340L88 366L79 374Q69 384 67 385L64 388L55 383Q52 382 44 378T33 373L21 367L13 374Q5 379 5 381Q5 384 69 428L133 473Q135 473 147 464T179 443T215 424L214 400V376Q271 404 342 457L363 472Q363 473 364 473Q366 473 375 469T418 449T502 414L512 411V407Q502 330 502 217V197V132L523 109Q527 104 533 97T543 87T547 83L550 80L578 92Q603 103 604 103Q606 103 608 88'], + + // LATIN SMALL LETTER O + 0x6F: [482,35,609,107,515,'107 102Q107 178 112 242T123 334T129 362Q129 363 140 368T199 400T315 469L336 482L346 476Q409 439 498 414L514 410L515 389Q515 208 502 141Q494 101 491 94Q490 89 478 81Q430 51 375 23T288 -20T254 -34Q250 -34 200 -1T119 56L108 65L107 76V102ZM389 355Q367 358 346 363T309 372T282 381T264 388L257 390H256Q254 390 249 381T238 348T227 293Q226 280 226 237Q226 183 231 146L232 131L244 122Q285 91 323 74T374 57H377L380 68Q405 154 405 267Q405 315 401 349V354L389 355'], + + // LATIN SMALL LETTER P + 0x70: [557,207,604,-1,519,'66 435Q66 445 117 501T173 557Q174 557 183 555T193 551Q174 526 174 509Q174 496 190 472T233 428V386L377 482L399 471Q450 445 509 425Q519 421 519 420L518 419Q518 418 518 416T517 410Q517 405 518 381T519 335Q519 222 501 137Q492 84 489 84L473 75Q457 66 423 44T354 -6L338 -19L329 -13Q320 -8 313 -4T297 4T284 10T270 14T258 17T245 20T233 22V12L241 -161L214 -172Q187 -184 160 -195T131 -207Q127 -207 112 -202L113 -188Q113 -182 115 -77T118 31Q118 32 109 32Q63 27 23 0L10 -9Q5 -4 -1 8Q1 13 52 57T114 101H115L117 123Q117 141 117 230V359L110 367Q85 394 71 421Q66 433 66 435ZM384 83Q386 83 389 110T396 180T400 254Q400 294 395 339L394 349L379 355Q308 383 294 383Q290 383 263 372L234 360L233 245V130Q270 125 305 113T361 92T384 83'], + + // LATIN SMALL LETTER Q + 0x71: [485,211,596,87,515,'362 -196Q375 -92 375 47V78L282 24Q189 -29 188 -30Q187 -30 139 21T90 75Q87 84 87 158Q88 206 94 259T107 342L113 372L308 478L322 473Q374 452 421 444L433 442L503 485Q515 479 515 477Q485 378 485 56Q485 -100 494 -164V-171L381 -211L371 -207L362 -202V-196ZM280 72Q301 77 323 86T358 101T372 110Q372 268 377 346L378 358H374Q368 360 358 360T323 365T257 380L234 386Q231 386 229 379Q215 353 211 310T207 180Q207 152 208 150Q210 142 235 114T280 72'], + + // LATIN SMALL LETTER R + 0x72: [472,26,460,13,453,'23 367Q21 370 18 374T14 380L13 382L151 472L236 411L238 381L290 426Q298 432 307 439T322 452T333 461T342 467L344 469Q382 410 404 399Q410 397 416 397Q423 397 432 399T446 403L451 405Q453 405 453 399V393Q430 374 404 356T364 328T350 318L349 317Q321 320 276 356Q257 371 256 371Q253 374 249 366T242 351Q232 321 232 236Q232 214 232 205T232 182T233 162T235 148T238 137T242 129T249 120T257 114T268 105T281 95Q313 70 314 70L358 85Q377 92 389 96T402 100V90L403 80L229 -26L221 -18Q195 6 166 29T121 63T105 76T106 82T110 97T114 121T117 158T119 208Q119 269 114 329L113 341L103 350Q90 362 67 380L45 374L23 367'], + + // LATIN SMALL LETTER S + 0x73: [479,34,523,-24,481,'189 331Q190 304 196 282T207 252T214 244Q239 244 348 292L371 302L382 297Q398 290 415 279T433 265Q442 238 442 166Q442 103 423 45Q416 42 380 29T310 3T244 -26L227 -34Q139 40 73 40Q61 40 48 37T24 30T6 22T-8 14L-13 11Q-14 11 -18 18T-23 26T38 75T102 125Q107 128 146 131H153Q192 131 296 56Q318 40 318 43Q323 48 323 114Q323 157 321 177L319 194Q308 208 291 216T261 225Q239 225 160 185L123 167Q85 205 79 227Q78 230 78 304V377L171 428Q264 479 265 478Q268 478 287 465T334 440T384 427Q423 427 475 463L478 453Q481 446 481 442Q481 439 410 391L339 342H331Q309 345 277 361T222 391T198 406T195 399T191 372T189 331'], + + // LATIN SMALL LETTER T + 0x74: [648,27,393,43,406,'328 69Q401 102 403 102Q404 102 405 94T406 84Q406 83 318 28L230 -27Q223 -21 206 -5T171 25T132 54L124 60V71Q129 154 129 297V359H43L44 363Q44 365 44 367L45 369L48 372Q51 374 57 378T68 387L90 405H129V553L285 648Q304 641 306 640L260 598V592Q259 589 255 505T249 413V405H353V402Q353 399 328 379L303 360H245V319Q245 150 253 125Q257 115 276 101T311 78T328 69'], + + // LATIN SMALL LETTER U + 0x75: [472,32,589,9,603,'444 -31Q444 -29 384 66Q382 66 364 58T309 30T231 -17Q214 -29 212 -29L197 -20Q172 -4 140 11T88 34L68 42Q68 43 73 49T85 67T100 98T113 149T118 221Q118 272 105 332L100 356L58 383L23 365L9 379L76 425Q141 472 144 472Q144 471 183 443L221 414V404Q224 365 224 275V253Q224 159 196 113Q191 104 193 104Q203 104 285 72L308 62L374 89L375 106Q375 266 373 340Q373 364 371 396V424L430 445L491 467Q493 467 499 463T505 457Q505 456 503 442Q488 335 488 187V158L529 81L534 80Q541 80 568 90L598 101Q605 94 602 87L524 27Q445 -32 444 -31'], + + // LATIN SMALL LETTER V + 0x76: [546,27,604,56,507,'95 67Q104 80 104 193Q104 261 100 321L98 355L91 363Q56 402 56 421Q56 441 82 472T132 524T159 546Q174 542 175 542Q159 520 159 501Q159 481 205 432L221 415L220 401Q219 394 219 387L288 429Q309 441 325 451T347 465T358 472T365 476L504 415V409Q504 408 505 374T507 318Q507 155 474 91L469 80L343 26Q314 14 281 0T232 -20L216 -27L202 -15Q192 -5 152 28Q141 35 126 45T103 60T95 67ZM386 349Q302 389 287 389Q271 383 253 375L220 361V136Q226 120 256 100T312 68T342 56Q355 56 360 68Q389 134 389 258Q389 310 386 341V349'], + + // LATIN SMALL LETTER W + 0x77: [549,32,918,55,815,'90 58T90 59T92 64T97 78T102 105T107 150T109 218Q109 290 103 350V356L83 377Q55 407 55 425Q55 445 138 528Q158 549 162 549L164 548Q165 548 167 548T170 547L175 546L172 540Q168 533 165 523T161 502Q161 479 216 430L229 419V382Q232 382 366 471Q407 445 500 408L511 404V387L512 370L595 420Q678 469 679 469L693 462Q756 431 795 417L815 409L814 380Q812 187 782 96Q774 71 766 62T744 48T684 25T577 -23L557 -32L546 -26Q536 -19 519 -10T481 10T436 31T393 47Q384 50 380 50Q380 52 381 58T384 77T387 104Q391 174 391 256V292L390 333L377 340Q350 357 304 373L294 376L227 355V348Q224 322 224 243Q228 117 232 112L235 108Q238 103 245 95T257 80L281 50Q281 49 227 10T172 -29L159 -13Q133 19 116 36T94 56ZM652 64Q658 64 667 84T685 162T697 303V336L686 341Q653 356 619 367L591 376Q590 376 553 361T514 344T512 324T510 275T508 221Q508 167 510 152T521 126Q537 112 590 88T652 64'], + + // LATIN SMALL LETTER X + 0x78: [471,188,459,8,441,'8 -90Q8 -68 13 -63Q13 -56 53 -8T120 63L128 71L129 85Q133 120 134 182Q134 308 131 331T106 365Q100 367 97 369L75 381L35 365L20 377Q20 378 47 397T110 440T161 471L253 413V396Q253 378 254 378L309 422Q364 466 365 466Q365 467 366 466T370 461T376 454Q403 419 426 396L441 380L438 377Q438 376 433 372T420 359T404 344L372 314Q351 320 338 327T310 344T277 364Q261 364 252 316Q251 306 251 235Q251 136 255 129Q257 127 258 124T268 113T298 92Q334 68 335 68Q340 70 349 73T377 84T408 95T421 99Q422 99 422 90L423 82L334 26Q246 -28 243 -28L200 8Q156 43 148 43Q144 43 130 36T99 9T83 -36Q83 -67 121 -89T198 -118L237 -124V-129L238 -133L193 -160Q183 -166 171 -173T152 -184L146 -188Q140 -187 131 -185T98 -173T56 -154T23 -127T8 -90'], + + // LATIN SMALL LETTER Y + 0x79: [557,221,589,60,512,'280 53Q272 47 246 27T199 -10T176 -27L167 -18Q137 17 107 44L90 60L93 71Q108 130 109 290V331Q109 339 109 344T108 353T107 359T105 364T102 369T97 374T91 381Q60 412 60 432Q60 448 86 479T138 534L164 557Q168 553 180 553Q163 532 163 511Q165 491 186 468Q206 443 231 423V404L232 385L371 477L389 468Q439 441 498 418L512 412V386Q512 360 507 190T500 14Q488 -26 445 -67Q401 -111 355 -148T282 -203T249 -221Q247 -220 230 -210T213 -199T229 -191T269 -172T306 -151Q361 -120 379 14Q391 92 391 182Q391 218 386 305Q384 339 380 341Q363 353 330 366T288 379Q282 379 258 368L230 356V181V141Q230 127 232 120T236 108T251 89T275 59L280 53'], + + // LATIN SMALL LETTER Z + 0x7A: [471,214,461,-7,378,'153 371Q141 371 126 365T100 354T78 340L65 331L57 338L50 346L62 356Q133 419 222 471Q274 453 306 422T338 366Q338 356 329 346T283 301L243 264L262 257Q298 246 361 214Q378 154 378 73Q378 33 371 -9T356 -74T345 -104Q340 -106 267 -160L191 -214H177Q60 -214 13 -150Q-7 -122 -7 -115Q-7 -112 19 -77T106 25T241 149Q241 152 227 158T181 173T109 185V190L108 194L158 229Q212 267 223 278T234 306Q234 329 208 350T153 371ZM258 1Q258 42 257 68T254 105T252 118Q235 105 210 85T144 22T102 -45Q102 -79 146 -106T234 -133H238Q248 -128 254 -80Q258 -58 258 1'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js new file mode 100644 index 00000000..9fbcf234 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'] = { + directory: 'Fraktur/Bold', + family: 'MathJax_Fraktur', + id: 'MJFRAKB', + weight: 'bold', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xDFFF,"Other"], + [0xE300,0xE310,"PUA"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js new file mode 100644 index 00000000..e05afc3e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'], + { + // LEFT SINGLE QUOTATION MARK + 0x2018: [708,-411,254,53,187,'187 456Q187 437 169 424T138 411Q114 411 84 454T53 538Q53 565 75 597Q109 648 155 697L166 708L181 694L173 681Q124 610 124 577Q124 549 155 511T187 456'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [692,-394,254,58,193,'125 524Q125 545 92 588T58 651Q58 661 61 667Q65 674 80 683T107 692Q131 692 162 645T193 564Q193 540 176 509T144 460T87 394L78 400L68 406L79 421Q125 489 125 524'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/Other.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js new file mode 100644 index 00000000..08d395ff --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/PUA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'], + { + // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED + 0xE301: [630,27,587,64,512,'388 427Q320 485 242 524T128 563H116Q95 563 87 561L77 559Q72 563 69 566T65 570T65 572L75 576Q106 592 154 611T212 630Q230 630 262 622T358 581T492 498L508 486Q512 463 512 396Q512 246 469 112L465 102Q453 94 341 25Q252 -27 247 -27Q243 -27 174 24T97 84Q90 100 90 214Q90 285 98 345Q100 360 102 363T118 377Q175 422 262 465Q264 463 270 460L277 456Q277 455 267 447T244 428T228 414Q206 382 206 269Q206 187 214 164T259 110Q286 89 342 58Q391 131 391 313Q391 355 388 412V427'], + + // stix-capital Delta, Greek slashed + 0xE302: [693,212,394,37,408,'39 362L37 366L38 368L82 405H133V474Q135 563 143 589T198 658Q210 669 224 676T247 687L255 690H253Q241 690 253 692Q254 692 256 692T260 693Q263 693 262 691L261 690Q300 690 361 662L373 656L388 666Q404 675 405 675L406 674Q406 672 406 670T406 664L408 655L301 555Q300 555 287 564T254 584T221 597Q190 597 176 583T161 550Q161 525 184 495T232 440T261 405H387V399Q377 389 364 379L340 359H258V315Q258 52 228 -18L172 -120L121 -211H109Q102 -212 96 -212L109 -174Q131 -108 135 -80T139 53V76V157V362H39'], + + // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED + 0xE303: [681,219,387,36,384,'41 352Q40 354 39 355T37 358L36 360H37Q48 370 61 380L84 400H108Q131 400 131 402Q121 424 104 501L100 519Q109 560 134 602T196 664Q230 681 271 681Q291 681 316 669T358 644L373 631Q373 630 304 553Q299 548 294 547Q292 547 290 546H287Q286 546 274 562T243 593T205 609Q180 609 165 596T150 562Q150 526 191 488L217 462Q248 431 253 405V400H381L384 394L349 352H251V332Q249 271 231 17L227 -37L120 -217L109 -218Q103 -219 97 -219Q97 -218 101 -206T110 -177T118 -151Q126 -129 128 -120T136 -46T141 127Q141 250 136 340V352H41'], + + // stix-capital Epsilon, Greek slashed + 0xE304: [474,212,593,67,531,'107 370Q127 384 172 409T255 454T294 473L306 468Q356 446 425 431L435 429L524 468Q528 465 531 461Q499 395 499 271V263Q499 146 509 71T519 -8Q519 -28 512 -45Q510 -50 435 -123T355 -197Q296 -212 257 -212Q209 -212 164 -196T98 -167T67 -143L133 -44H144Q167 -88 216 -111T320 -134Q371 -134 390 -118T410 -69Q410 -52 404 -12T392 60T385 92L193 -29L158 5Q124 39 110 51L96 63V71Q94 79 94 121Q94 130 94 148T93 174Q93 230 96 275T103 344T107 370ZM221 397Q200 334 200 254Q200 170 210 140Q216 126 234 109T268 81L283 71L383 119V127Q384 132 384 241L385 347L368 349Q325 357 290 369T240 389T221 397'], + + // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED + 0xE305: [684,27,393,33,387,'103 453Q103 631 95 661Q95 663 102 667T110 672L114 664Q117 655 123 641T131 621L140 597L154 606Q208 641 275 673L297 684Q300 683 302 682T307 679T310 678L314 676Q283 658 256 625Q238 601 231 579T223 515L224 512L282 548Q339 583 341 583T365 548T386 509Q326 443 318 443L316 446Q314 448 311 452T304 460T294 470T283 480T272 488T260 494T248 497Q231 497 223 474Q220 468 218 440T215 407V401H345L309 360H218V314Q218 181 221 139V129L253 108Q306 73 310 73Q315 73 343 83L373 92L374 87Q375 82 375 79T375 74T360 65T308 36T229 -13L208 -27L192 -13Q149 24 90 61Q89 61 89 62L90 68Q91 73 93 87T97 125T100 191T103 291V360H33V366L34 371L85 405H94L103 404V453'], + + // stix-capital Eta, Greek slashed + 0xE308: [679,220,981,31,875,'602 575Q505 508 505 489Q505 488 505 482T506 463T507 432Q507 314 456 237L449 226L434 216Q420 208 325 143L316 137Q453 82 488 82Q527 82 585 127L596 136Q597 136 599 126L602 115Q578 85 511 27T428 -31Q400 -31 308 10T170 51Q143 51 123 43T92 24T54 -15L34 6L41 14Q65 41 170 129L188 144L204 145Q254 147 293 164T350 208Q378 249 378 344Q378 422 362 478T320 563T268 605T213 618Q177 618 156 600T134 561Q134 539 162 508T217 446T245 394Q245 368 213 337T85 250L62 262Q73 269 86 279T116 308T133 338T108 378T57 439T32 499Q32 556 117 617T291 679Q350 679 393 658Q415 647 433 631T462 600T480 572T490 550T494 541T499 544T516 556T547 578T603 613T689 662L720 679L730 670Q742 659 756 649T785 629T810 615T836 601T855 590Q855 587 860 536T870 419T875 312Q875 114 800 -25Q794 -35 781 -47Q584 -220 398 -220Q322 -220 278 -190Q253 -173 239 -155L244 -150Q248 -145 255 -138T271 -120T290 -100T310 -80T328 -63T341 -51T349 -46Q350 -46 351 -46T354 -47Q357 -47 357 -52Q359 -68 364 -83T383 -118T424 -151T491 -166Q559 -166 613 -129Q629 -118 641 -108T674 -68T710 1T735 107T746 260Q746 433 727 507Q727 512 685 535T615 570L602 575'], + + // stix-MATHEMATICAL BOLD CAPITAL ETA SLASHED + 0xE309: [717,137,727,17,633,'351 571Q317 571 247 563T171 555Q153 555 133 563T107 584Q94 605 98 609Q101 615 138 658T190 717H207Q204 710 204 699Q204 673 231 666Q235 665 264 665Q296 665 345 667T426 669Q474 669 501 660T545 626Q553 612 553 594Q553 531 498 474T379 384Q371 379 371 378Q371 376 390 376H411H434Q520 376 602 318Q621 303 627 288T633 234Q633 59 540 -34Q465 -109 348 -130Q308 -137 235 -137Q159 -136 143 -129Q132 -125 132 -118V-53Q118 -24 90 -24Q69 -24 37 -39L27 -44L25 -42Q23 -39 21 -35T17 -30Q17 -28 40 -14T103 19T177 44Q183 45 205 45Q219 45 227 44T245 37T259 20T264 -12Q264 -33 262 -48T259 -80Q259 -93 260 -95Q271 -110 305 -110Q343 -110 383 -86T443 -33Q491 34 491 154Q491 223 467 249Q428 288 334 288H322Q288 288 237 276L222 273L206 286L262 367Q279 369 303 377T358 403T410 452T431 524Q431 531 431 533T427 545T416 558T392 566T351 571'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/PUA.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js new file mode 100644 index 00000000..ad246da8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js @@ -0,0 +1,272 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [689,12,296,91,204,'102 582T102 620T112 673T152 689Q190 689 190 638Q190 605 167 373L148 187L133 184Q102 582 102 620ZM91 24T91 48T107 88T148 104Q171 104 187 87T204 48Q204 22 188 5T149 -12Q124 -12 108 6'], + + // QUOTATION MARK + 0x22: [695,-432,215,8,196,'33 436Q8 603 8 648Q8 663 9 671T19 687T43 695Q63 695 74 681Q76 678 76 650V623L66 532Q57 443 55 436V432H33V436ZM128 666Q128 691 162 691T196 668Q196 634 186 531Q176 441 176 432H166Q155 432 155 434L142 545Q135 603 130 647Q128 664 128 666'], + + // AMPERSAND + 0x26: [698,11,738,49,733,'181 520Q181 604 231 650T328 697L330 698Q333 698 335 698Q336 698 340 698T346 697Q390 697 418 670T446 604Q446 554 414 511Q384 467 300 417L283 406Q281 405 296 374T347 286T425 182Q466 135 469 135Q470 135 473 140T480 152T486 165Q509 210 509 263Q509 282 507 292Q498 317 488 332T465 352T443 359T418 361Q388 361 357 358L346 356L347 374Q347 394 348 396V399H355Q366 396 535 396Q663 396 689 398L703 399Q703 398 702 375T700 351L688 353Q655 356 601 357Q553 357 553 355Q562 332 562 294Q562 280 561 267T555 241T548 218T539 195T529 175T518 156T508 141T497 126L489 115L496 107Q549 54 596 54Q623 54 644 67T677 101T697 140T708 174L710 187Q710 188 710 188L711 190Q714 190 723 187T733 183Q733 179 732 172T726 145T714 107T694 66T665 27T623 0T569 -11Q500 -11 443 41L434 49L425 42Q348 -9 275 -9Q251 -9 233 -6Q187 -1 152 18T98 60T67 111T52 159T49 195Q49 231 60 261T96 315T141 354T197 390L208 397Q181 459 181 520ZM374 577Q374 607 356 629T311 651Q289 651 271 636Q242 614 242 559Q242 533 249 502T262 453T270 435T279 440T298 453T314 464Q374 503 374 577ZM127 217Q127 145 173 89T291 32Q318 32 347 42T393 63T409 75Q384 100 325 184T227 351Q223 366 220 366Q215 366 178 338Q127 298 127 217'], + + // APOSTROPHE + 0x27: [695,-436,212,69,134,'69 666Q69 680 79 687T104 695Q112 695 117 694T128 684T134 659L104 438Q104 436 96 436T88 438Q88 447 79 540T69 655V666'], + + // LEFT PARENTHESIS + 0x28: [737,186,389,114,293,'293 737V719Q291 718 285 714T276 708T268 702T258 695T250 686T241 674Q164 570 164 282Q164 -37 230 -119Q273 -171 292 -171Q293 -171 293 -179V-186H289Q270 -180 259 -175Q175 -132 145 -23T114 275Q114 491 157 598T293 737'], + + // RIGHT PARENTHESIS + 0x29: [735,187,389,89,276,'223 259Q223 386 212 474T178 609T136 677T89 714V735Q121 726 139 713Q276 622 276 273Q276 98 246 -23Q225 -106 189 -139T89 -187V-170L101 -165Q148 -146 172 -110T210 13T223 259'], + + // ASTERISK + 0x2A: [692,-449,278,34,234,'118 573Q118 575 76 602L34 629L50 647L55 652L66 642Q76 633 91 620T117 598L128 590Q128 663 125 687V692H151V689V687Q151 685 151 683T150 678T150 672Q145 628 144 605V592L219 652L232 634Q232 632 220 624Q195 610 155 582L146 575L158 567Q178 552 197 540T225 523T233 516Q233 515 226 506T217 495L152 549L143 555V530Q144 509 145 492T148 466T149 454Q149 449 142 449H125V462Q128 522 128 549V562L115 552Q88 531 59 506L45 495Q44 495 39 505T34 516L118 573'], + + // PLUS SIGN + 0x2B: [598,82,756,47,709,'357 584L399 598V282H709L702 263L696 243H399V-64L379 -73L358 -82Q357 -82 357 81V243H47L51 253Q52 256 54 263T58 272L62 282H357V584'], + + // COMMA + 0x2C: [107,191,278,99,213,'99 62Q99 82 114 94T144 107Q159 107 178 77T205 26Q213 5 213 -23Q213 -49 207 -65T181 -113Q128 -189 122 -191Q121 -191 116 -184T111 -174Q111 -173 122 -155T145 -111T156 -62Q156 -44 152 -34T127 4L104 37Q99 49 99 62'], + + // HYPHEN-MINUS + 0x2D: [275,-236,756,46,706,'46 236L62 274Q62 275 384 275H706L699 255L693 236H46'], + + // FULL STOP + 0x2E: [102,15,278,87,200,'87 43Q87 69 104 85T142 102Q164 102 182 86T200 44Q200 20 183 3T141 -15Q118 -15 103 2T87 43'], + + // SOLIDUS + 0x2F: [721,182,502,34,466,'230 270Q426 721 428 721Q437 719 447 717L466 713L448 672Q78 -180 77 -181Q77 -182 55 -182L34 -181L230 270'], + + // DIGIT ZERO + 0x30: [492,13,502,42,456,'212 -13Q184 -13 156 -2T101 32T59 97T42 195Q42 311 132 396Q170 433 211 462T262 492Q272 492 301 477T366 434T429 360T456 258Q456 161 378 74T212 -13ZM381 209Q381 257 365 295T328 355T282 390T243 408T223 413Q220 413 204 403T167 376T137 341Q119 305 119 250Q119 168 159 114T263 59Q308 59 344 93T381 209'], + + // DIGIT ONE + 0x31: [468,2,502,47,460,'123 459Q145 459 170 460T217 462T256 464T284 466L295 467Q296 467 296 467T297 468Q299 468 302 466T307 462L309 459Q307 454 304 424T299 341T297 235Q297 139 298 101T302 55T313 44Q316 43 367 43L460 46Q460 35 459 22V-1H450Q402 2 281 6Q222 6 171 4T91 1T56 -1L47 -2V43H121H170Q195 43 201 45T209 56Q212 69 212 214Q212 333 209 365T194 409Q183 417 161 423T121 430L104 432Q103 432 103 446V459H123'], + + // DIGIT TWO + 0x32: [474,-1,502,60,484,'104 384Q115 394 133 409T199 449T281 474Q321 474 351 447T385 378Q385 328 333 255T228 127T176 72Q176 67 183 65Q184 65 203 65T260 67T331 69L475 73L484 67Q484 64 472 33L460 1H60V17L107 61Q210 159 249 208Q309 283 309 331Q309 363 285 389T228 415Q212 415 184 403T134 379L114 367L104 384'], + + // DIGIT THREE + 0x33: [473,182,502,39,429,'305 328Q305 372 279 396T214 421H211Q172 421 128 384L107 398L116 405Q151 437 191 455T251 473H260Q314 473 341 455T382 394Q384 386 384 367T382 338Q362 263 271 217L256 210L257 206L259 202Q260 202 272 201T296 198T324 192T355 179T384 157T410 123T427 75Q429 64 429 41Q429 -59 353 -120T183 -182L88 -164Q81 -162 69 -157T48 -147T39 -141Q39 -139 46 -127L53 -114L69 -122Q129 -149 171 -149Q218 -149 253 -131T305 -83T330 -26T338 29Q338 41 336 55T328 89T308 127T273 153Q228 171 162 171Q158 171 152 171T142 170H127V204H134Q232 214 275 257Q305 292 305 328'], + + // DIGIT FOUR + 0x34: [476,191,502,10,481,'299 -179Q306 -156 306 -48V0H11V7Q10 10 10 18Q10 23 154 236L298 449Q298 450 339 463L379 476Q385 473 384 470V466Q384 463 384 457T384 444T383 427T383 408Q381 328 381 248Q381 46 384 40H387Q422 40 460 44Q465 44 470 44T478 44L481 45Q481 43 478 24T473 1Q473 -1 464 -1Q462 -1 451 -1T430 0H387V-76L389 -156V-161L311 -191Q299 -181 299 -179ZM299 364H287L277 352Q234 297 186 224T112 104T79 43Q79 42 192 42H306V115Q306 300 299 359V364'], + + // DIGIT FIVE + 0x35: [458,185,502,47,441,'334 25Q334 99 296 134T207 169Q154 169 107 123L98 114L89 120L80 125V458H420Q420 456 409 418L397 379Q397 378 264 378H131Q130 377 128 376T125 374T124 371T122 368T122 363T121 356T121 345V279V190L130 186L140 190Q196 214 260 214Q311 214 348 197T404 153T431 99T440 42T433 -16T406 -76T356 -130T276 -169T163 -184H156Q110 -184 57 -163L47 -159L53 -147L58 -134Q61 -134 74 -139T110 -148T156 -153Q206 -153 243 -135T299 -87T326 -30T334 25'], + + // DIGIT SIX + 0x36: [700,13,502,45,471,'45 240Q45 328 73 406T143 536T235 626T327 681T399 699Q400 699 404 699T411 700Q424 700 441 696T459 689Q459 671 451 637Q451 633 447 632L444 629L434 633Q413 640 384 640H377Q299 640 222 565Q182 531 156 463T129 315V306H136L149 315Q229 376 316 376H318Q393 376 432 326T471 213Q471 129 402 58T237 -13T93 59T45 240ZM391 172Q391 231 354 272T258 314Q230 314 200 302T154 279T133 262L134 249Q154 32 266 32Q315 32 353 64T391 172'], + + // DIGIT SEVEN + 0x37: [468,181,502,37,498,'395 377L391 382H225Q59 382 59 383L74 423Q89 464 89 465Q90 468 94 468Q146 460 350 458H498V442L473 406Q241 75 125 -156L113 -181H40L37 -168L57 -140Q115 -58 199 70T339 287T395 377'], + + // DIGIT EIGHT + 0x38: [705,10,502,40,461,'220 -10Q168 -10 131 6T75 50T48 103T40 157Q40 223 77 266Q103 295 156 328T225 375Q247 393 247 394L206 361Q205 361 193 368T164 391T131 426T102 474T90 531Q90 580 114 615Q146 660 238 698L254 705L262 704Q288 704 332 693T402 656Q434 620 434 568Q434 518 401 475T321 402L305 391L336 368Q339 366 353 356T372 343T389 330T406 316T420 301T434 283T445 265T454 244T458 222T461 195Q461 106 389 48T220 -10ZM350 545Q350 578 337 601T304 634T266 649T234 653L224 654L204 639Q196 634 191 629T182 621T176 614T173 609T170 603T168 597Q165 585 165 567Q165 497 261 424L273 415Q350 467 350 545ZM261 405L263 407Q262 407 261 405ZM258 403Q257 403 255 401L254 399L256 400Q258 402 258 403ZM252 398Q251 398 249 396L248 394L250 395Q252 397 252 398ZM245 36Q276 36 300 45T338 69T360 102T371 136T374 168Q374 211 341 255Q324 275 305 289T235 332Q231 330 215 321T193 307T173 292T153 271T138 247T127 216T123 177Q123 146 132 117T170 62T245 36'], + + // DIGIT NINE + 0x39: [469,182,502,28,466,'353 93T352 93T320 79T251 49T201 34Q127 37 87 79Q28 138 28 234Q28 273 37 304T60 355T101 396T152 429T218 462L234 469H243Q348 461 395 417Q466 348 466 201Q466 72 397 -29T211 -163Q155 -179 91 -182H72V-154H80Q144 -154 202 -131T297 -60Q318 -31 333 7T352 68L357 92Q353 93 352 93ZM369 208Q369 240 362 272T339 339T290 394T214 415Q171 415 144 372T116 266Q116 193 154 144T238 95H249Q369 95 369 208'], + + // COLON + 0x3A: [457,12,216,50,168,'50 377T50 400T64 440T99 457Q128 457 146 440T165 399Q165 375 146 359T102 342T64 359ZM53 19T53 43T66 86T103 105Q129 105 148 87T168 41Q168 17 147 3T102 -12Q80 -12 67 3'], + + // SEMICOLON + 0x3B: [458,189,216,47,179,'47 399Q47 424 62 441T101 458T143 442T162 400T144 359T101 343Q78 343 63 360T47 399ZM76 86Q76 88 80 91T91 96T106 99Q119 99 131 86Q179 35 179 -25Q179 -64 146 -115T89 -189Q86 -187 83 -185T79 -182T76 -180T75 -177T77 -173T80 -168Q121 -108 121 -64Q121 -44 94 -5T66 52Q66 66 71 75T76 86'], + + // EQUALS SIGN + 0x3D: [368,-132,756,54,725,'725 366Q724 365 721 349T716 331V329H385Q54 329 54 331Q55 332 59 349T63 368H394Q725 368 725 366ZM725 169Q724 168 721 152T716 134V132H385Q54 132 54 134Q55 135 59 152T63 171H394Q725 171 725 169'], + + // QUESTION MARK + 0x3F: [693,11,362,46,357,'46 557Q46 613 103 653T227 693Q287 693 322 659T357 564Q357 517 326 469T259 390T191 326T160 272Q160 240 187 221Q193 217 193 216Q182 209 170 200L147 184Q127 192 113 209T98 250Q98 290 193 376Q287 454 287 542Q287 581 262 616T188 652Q143 652 126 631T108 588Q108 559 140 527L79 490Q46 515 46 557ZM108 47Q108 68 123 85T160 103Q179 103 198 90T217 46Q215 24 201 7T164 -11Q142 -11 125 6T108 47'], + + // LATIN CAPITAL LETTER A + 0x41: [696,26,718,22,707,'22 505Q22 563 94 624T271 685H280Q416 685 443 560Q447 535 447 504Q444 414 405 330L399 319L229 155Q233 154 241 153T253 150T265 145T281 135T301 119T328 93L357 64L402 92Q438 116 473 137L500 154V339Q500 528 495 593V601L559 649Q621 696 624 696L638 686L629 677Q599 650 593 638Q582 614 581 504Q580 490 580 443Q580 314 584 238Q584 235 584 224T584 210T585 199T586 187T588 176T591 164T595 152T601 137T609 121Q630 77 640 77Q661 77 703 101Q704 95 706 90L707 86V84L636 29Q618 15 601 2T574 -19T564 -25L500 121Q499 121 399 48L299 -26Q298 -26 291 -15T272 11T245 42T209 69T165 80Q120 80 58 43L48 37L40 42L32 48L122 117Q196 173 241 211Q319 280 343 327T368 447Q368 535 317 582Q264 633 199 633Q155 633 122 605T86 542Q86 518 133 467T181 387Q181 348 140 309Q113 281 73 260L64 255L50 265L59 273Q112 307 112 345Q112 363 90 387T45 441T22 505'], + + // LATIN CAPITAL LETTER B + 0x42: [691,27,884,48,820,'48 506Q48 568 120 629T268 691Q362 691 425 594L431 585L441 594Q478 628 528 657T629 686Q665 686 687 670Q703 658 718 584T753 506Q756 505 763 505Q778 505 804 512L815 516L820 496Q820 494 808 490T774 476T732 454Q720 445 708 437L675 415L640 394L625 383Q626 382 635 382Q652 382 670 379T712 364T754 336T784 289T797 220Q797 172 776 122Q769 106 766 102T745 84Q654 11 619 -8T538 -27Q483 -27 387 10T249 47Q218 47 186 34T133 8T112 -5T104 7T97 21L196 82Q259 120 284 140Q333 181 351 214Q368 251 368 353Q368 588 228 620Q222 621 205 621Q160 621 139 596Q117 569 117 548Q117 526 162 470T208 387Q208 352 179 320T104 264Q88 256 86 256Q83 256 70 266L82 274Q134 309 134 343Q134 352 130 359Q118 377 100 401T72 439T56 470T48 506ZM453 528Q457 496 457 419L458 357L488 367Q554 390 622 425Q673 449 673 453L671 454Q669 456 665 460T657 473T648 498T639 541Q629 597 616 613Q599 633 567 633Q534 633 493 599Q471 577 457 540L453 528ZM713 176Q713 252 661 295T528 339Q512 339 494 336T466 330T455 325Q454 325 452 311T444 270T425 217L420 207L304 118L319 116Q381 111 475 74T602 37Q655 37 684 79T713 176'], + + // LATIN CAPITAL LETTER C + 0x43: [685,24,613,59,607,'299 585Q333 609 384 634T470 672L505 685Q506 685 513 662T531 613T548 580Q553 576 563 576Q575 576 605 585Q607 585 607 575V564Q537 532 496 527Q475 542 456 567T427 610T415 627Q410 627 398 618T382 603Q373 588 373 558T386 475T400 399Q400 337 366 303Q343 281 309 266T254 247T226 242L214 257Q214 258 223 260T251 272T287 299Q304 316 304 360Q304 396 289 451T274 532Q274 553 277 561V564H269Q205 558 172 501T139 358Q139 207 226 127T443 46Q448 46 457 46T470 47L485 48L601 106Q602 106 602 93V80Q551 48 517 25T474 -4T460 -13T443 -19Q409 -24 367 -24Q360 -24 351 -24T335 -23T326 -22Q190 -2 125 87T59 319V328Q62 412 96 487L101 500L118 512Q189 563 245 591L266 601L299 585'], + + // LATIN CAPITAL LETTER D + 0x44: [685,27,832,27,745,'346 611Q300 611 261 604T194 584T144 555T107 519T82 481T65 443T55 410T50 383T48 367L37 372L27 378V393Q33 524 115 603Q160 648 230 666T365 685Q423 685 434 684Q745 653 745 405Q745 281 694 151L687 133L657 103Q524 -27 470 -27Q456 -27 331 18T157 64Q122 64 84 28Q67 9 57 -6L50 -16L43 -8L35 0Q35 3 46 22T83 74T141 133H154Q208 136 253 161T299 230Q299 259 277 290T232 348T209 392Q209 434 254 479T358 556L368 561L382 550Q382 549 381 548T377 545T371 541Q353 527 326 496T298 444Q298 430 343 365T389 277Q389 240 353 202T267 136L252 127Q304 118 400 83T513 47Q548 47 582 79T635 145Q671 208 671 323Q671 390 651 441T599 524T523 576T436 603T346 611'], + + // LATIN CAPITAL LETTER E + 0x45: [685,24,663,86,634,'301 564Q240 564 203 507T165 361Q165 280 190 218T260 119T358 64T474 46Q491 46 499 47L511 48L628 106V80L499 -5Q498 -6 497 -7T494 -10T490 -12T485 -15T478 -17T468 -19T456 -21T439 -22T418 -23T392 -24Q252 -20 169 67T86 315Q86 409 124 491Q128 500 139 508Q211 560 272 591L293 601L325 585L338 594Q374 617 422 639T502 674L532 685Q533 685 540 663T557 614T574 581Q580 575 591 575Q600 575 616 580T634 585V564L623 559Q572 535 532 529L522 527Q491 547 442 627Q442 628 440 627T435 624T428 620Q410 610 405 597T399 559V553Q399 534 409 487Q419 431 427 369L476 400Q526 431 526 432Q531 426 537 420Q565 382 602 359Q611 353 610 352Q609 351 575 332T537 312Q536 312 505 335T463 358Q451 358 439 352T425 337Q394 243 263 223L251 221L243 229L235 236L245 239Q274 247 303 266Q320 277 325 290T330 336Q330 394 315 451T300 531Q300 549 303 561Q303 564 301 564'], + + // LATIN CAPITAL LETTER F + 0x46: [686,153,611,11,612,'198 617Q177 617 159 609T128 587T106 557T91 524T82 494T76 472L75 463Q74 463 67 468T59 474Q59 488 63 510T80 564T114 622T170 667T253 686Q272 686 295 680Q330 672 384 645T468 598Q498 580 524 580Q549 580 595 626L612 643V616L599 599Q522 500 482 500Q466 500 435 514L420 521Q388 516 349 486T309 415Q309 396 323 366T352 315T367 294Q367 293 375 301T398 322T429 352L490 410Q537 355 542 332Q542 330 531 315T510 286L499 273Q479 313 449 313Q437 313 419 303T390 282L378 271L394 250Q444 183 470 129Q484 96 484 71Q484 -19 402 -86T223 -153H220Q175 -153 137 -120Q103 -89 103 -8Q103 12 106 40T109 96Q109 132 103 146T72 161Q46 161 16 143L14 154L11 165Q88 219 143 219Q163 219 177 197T192 127Q192 102 186 65T179 4Q179 -60 210 -88T272 -117Q319 -117 362 -75T405 33Q405 72 363 139T278 271T235 368Q235 385 243 404T264 439T292 472T324 500T353 522T374 538L382 543Q382 544 351 562T274 598T198 617'], + + // LATIN CAPITAL LETTER G + 0x47: [690,26,785,66,710,'373 560Q373 543 378 509T388 448T394 421Q396 421 416 433T474 474T548 537L538 543Q481 570 452 628L487 659Q521 690 522 690L526 684Q529 677 535 667T551 646T575 625T607 608Q617 606 621 606Q644 606 660 622L664 600L497 455Q495 453 527 453H546Q628 453 665 407L666 406Q710 357 710 297Q710 196 631 109L621 98L577 69Q471 -7 452 -15Q413 -26 370 -26Q239 -26 155 59Q66 148 66 319Q66 442 113 505L191 552Q269 600 270 600H271Q273 600 280 596T293 589T299 586Q300 586 357 623Q413 659 415 659L426 649Q373 604 373 560ZM219 228Q305 262 305 329V343Q305 384 294 434T282 519Q282 562 287 567Q287 569 286 569Q222 556 191 520Q144 464 144 362Q144 213 228 128T420 42Q514 42 568 103T622 255V260Q622 320 578 357Q526 400 453 400Q434 400 410 396L399 394L400 378V372Q400 330 388 301T348 254T305 232T252 217Q245 215 242 214L234 213L226 220L219 228'], + + // LATIN CAPITAL LETTER H + 0x48: [666,133,720,1,644,'11 -16L1 0Q7 6 25 27T57 62T91 88T128 101Q159 99 195 66L203 59L211 67Q239 95 239 133Q239 158 210 213T152 330T123 430Q123 477 173 536T269 630T320 666Q376 610 440 606H443Q457 606 466 611T519 647L542 664Q543 664 543 654V643L522 622Q434 537 403 537Q388 537 366 543T329 555T293 570T270 580L261 585L253 574Q206 517 206 475Q206 452 218 416T242 356L255 331Q256 331 270 345T324 391T421 459L437 468H453Q545 463 608 421L618 415L623 392Q644 307 644 233Q644 97 612 9Q604 -10 601 -15T581 -35Q505 -104 467 -124Q446 -133 431 -133Q414 -132 399 -126T376 -115T368 -107Q368 -106 392 -75L415 -43Q432 -67 444 -73T472 -79H474Q479 -79 484 -78T501 -69T521 -50T538 -13T551 46Q558 97 558 180Q558 232 557 245Q553 277 547 300T528 349T488 389T424 404Q344 404 276 295Q272 288 273 285Q300 216 300 168Q300 161 300 156T298 145T297 137T293 129T289 123T283 116T277 107Q212 23 178 -13L166 -26L149 -9Q108 32 81 32Q63 32 21 -7L11 -16'], + + // LATIN CAPITAL LETTER I + 0x49: [686,26,554,30,532,'190 601Q161 601 137 587T97 553T71 512T55 477T48 463Q44 465 39 468L30 473L35 488Q73 594 106 636T199 685Q200 686 211 686Q250 686 326 652T417 617Q435 617 455 626T497 652T522 670Q532 660 532 654Q469 591 390 550L378 543L343 556Q223 601 190 601ZM378 208Q378 249 369 318T360 424Q360 430 360 439T361 451L362 462Q416 526 482 571L495 580L503 577L511 575L499 562Q442 502 442 465Q442 436 452 368T462 246Q462 169 442 128T385 56Q292 -26 195 -26Q150 -26 104 14L96 21L43 -16Q43 -15 43 -14T41 -10T38 0L48 13Q76 50 123 97L150 125Q154 131 159 131Q166 131 171 116T182 81T193 53Q199 43 216 33T261 22Q307 22 344 68Q378 113 378 208'], + + // LATIN CAPITAL LETTER J + 0x4A: [686,139,552,-10,522,'194 601Q175 601 155 590T121 564T95 533T76 506L69 495Q55 503 55 507Q55 509 60 521Q87 586 132 636T222 686Q251 686 289 660T363 607T422 580Q442 580 466 588T506 604L522 612V591L487 574Q371 517 359 517H357Q332 522 280 561T194 601ZM383 39Q383 96 356 203T329 361Q329 364 329 370T330 378L331 388L339 399Q362 429 394 462T446 513T469 531Q470 531 477 527T484 521L474 509Q411 434 411 379Q411 341 434 223T458 82Q458 1 390 -69T239 -139Q191 -139 162 -123T123 -83T108 -30T101 23T88 64T52 80Q27 80 -4 64L-10 80Q-5 85 13 98T63 128T118 144Q149 144 163 129T179 93T182 38T187 -19Q199 -96 278 -96Q294 -96 309 -91T343 -73T372 -31T383 39'], + + // LATIN CAPITAL LETTER K + 0x4B: [680,27,668,17,682,'154 37Q219 41 219 142Q219 203 190 302T160 434Q160 445 172 472T209 534T269 602T354 657T460 680H472Q576 680 618 617V599Q618 578 615 555T608 517T602 501Q596 495 587 495Q586 495 586 499Q586 500 586 505T585 513Q567 628 415 628Q384 628 356 621T302 596T260 546T244 466Q244 416 258 377L261 367L276 382Q294 401 317 422T386 471T468 500Q500 500 518 477T544 422T554 386Q555 382 560 376T576 364T601 357Q612 357 623 361Q623 360 621 351T617 340L541 305L465 272Q469 271 476 270T488 266T502 260L512 255L519 242Q533 211 546 157T564 93Q584 53 617 53Q649 53 682 74V54L675 46Q646 17 612 -5T554 -27Q546 -27 538 -23T517 -9T494 28T478 91Q465 172 448 200T378 228Q337 228 289 207L288 196Q288 160 284 138Q283 125 262 98Q185 1 112 -24L102 -27L91 -25Q47 -13 17 31Q17 33 49 69L80 106Q111 37 154 37ZM421 434Q411 436 405 436Q370 436 336 407T275 337L267 325L271 313Q288 257 288 234Q289 234 395 276T502 319Q501 320 499 323T493 330T485 345T475 371Q473 378 468 388T449 416T421 434'], + + // LATIN CAPITAL LETTER L + 0x4C: [686,26,666,33,644,'251 231Q251 254 206 341T160 468Q160 529 238 605Q313 677 425 685L432 686Q440 686 445 686Q520 686 545 657T571 576Q571 548 568 517T564 480Q564 466 572 460T608 452H623V431L619 430Q618 430 611 428T591 423T566 417L516 404Q497 415 491 419T480 433T475 461Q475 470 477 498T480 546Q480 561 480 569T474 592T459 615T429 631T379 638Q322 638 283 606T239 526Q237 480 280 394Q319 310 320 268V250Q308 235 244 169L203 128H210Q215 128 256 112T357 80T466 64Q526 64 564 88T625 186L629 196Q643 187 644 186Q618 70 604 41Q577 -15 513 -24Q496 -26 476 -26Q418 -26 344 -3T211 45T133 69Q115 69 97 50T65 7T49 -20L45 -16Q41 -11 37 -6T33 0Q33 8 66 69T111 134Q251 156 251 231'], + + // LATIN CAPITAL LETTER M + 0x4D: [692,27,1050,27,1048,'687 578Q690 586 719 612T794 665T877 692Q909 692 926 670T953 614T973 570Q983 561 1000 560Q1023 560 1048 569V553L1034 546Q1003 528 972 504T933 466Q905 403 905 264Q905 205 909 172T920 126T940 91Q951 74 959 74T997 87L1027 100V79L956 27Q940 15 922 2T894 -19L885 -26Q883 -26 854 27L825 80V192Q826 314 830 341Q831 345 833 356Q840 398 844 404Q871 444 920 489L917 491Q914 493 911 495T903 501T898 508Q893 516 877 562T852 616Q840 628 818 628Q751 628 702 541L697 532L700 515Q708 467 708 419Q706 348 690 276T662 169T643 126L634 116Q626 105 611 87T581 51L522 -22L514 -15Q470 21 452 21Q431 21 394 -16L384 5L386 9L426 60Q449 87 460 95T486 104Q487 104 491 104T497 103Q514 99 541 81L559 69Q595 96 606 169T618 350Q618 486 598 543T517 601Q484 601 458 570T432 523Q432 516 434 492T436 443Q436 250 369 133L363 122L280 50Q207 -16 192 -27L182 -18Q136 26 106 26Q83 26 62 9T37 -16L27 0L33 10Q41 22 54 39T94 81T143 106Q178 106 225 62L235 53Q283 82 307 117Q352 190 352 359Q352 408 345 451T320 534T267 597T183 621Q159 621 147 617T120 598Q97 574 96 556Q96 528 143 469T191 377T161 311T102 262T70 245Q69 245 59 252T49 260L56 264Q63 268 73 275T94 291T111 312T118 338Q118 355 95 384T50 446T27 506Q31 567 101 626T255 686Q297 686 330 671T382 632T409 595T421 572V571L430 580Q454 610 496 634T588 659H590Q655 659 683 585L687 578'], + + // LATIN CAPITAL LETTER N + 0x4E: [686,25,832,27,825,'112 334Q112 356 70 410T27 497Q27 553 94 619T229 685Q230 685 236 685T246 686Q303 686 349 654Q373 636 392 607T419 558L426 538L454 576Q474 604 486 618T520 651T569 678T633 686Q668 684 687 673T713 651T730 609Q730 608 732 600T736 588T741 578T747 568T754 561T765 555T779 553Q789 553 817 562Q819 557 819 555V547L790 526Q743 492 730 479T712 447Q697 369 697 281Q697 166 726 108Q741 76 755 68Q759 66 767 66Q789 66 825 93V82Q825 71 822 70Q821 69 763 27T701 -18L692 -25L668 15Q662 25 650 45T635 70L627 85V107Q627 122 626 162T624 285Q624 381 632 398Q638 409 651 425T675 454T696 477T707 489H696Q683 490 679 492T669 507T653 551Q642 588 627 608T584 628Q572 628 560 625T538 616T519 602T502 586T486 568T473 549T463 532T454 517T448 504L445 497Q437 480 437 474Q437 472 439 461T444 421T446 348Q446 205 405 124Q396 105 392 100T368 78Q312 32 278 9T235 -18T214 -22Q191 -22 170 -10T139 12T129 25T160 66T192 105Q193 102 194 98T200 83T213 64T233 49T261 42Q303 42 339 90Q373 134 373 268Q373 397 339 493T235 618Q215 628 191 628Q155 628 126 604T97 548Q97 524 120 493T168 431T192 381Q192 346 164 318T86 260L70 250L54 266L63 272Q112 300 112 334'], + + // LATIN CAPITAL LETTER O + 0x4F: [729,27,827,12,744,'428 596Q412 596 386 595T350 593Q289 593 270 625Q267 632 267 640Q267 656 280 672T312 705T336 729H343Q351 729 351 728Q342 710 342 703Q342 683 382 676T493 662T604 643Q648 627 677 599T720 535T739 466T744 392Q744 317 732 260T696 166T659 116T621 83Q617 80 615 78Q485 -27 377 -27Q320 -25 272 -9T187 21T122 36H116Q65 36 29 -13L27 -15L12 0Q12 1 32 26T76 78T109 109Q145 123 166 150T187 207Q187 244 134 318T80 412Q80 454 112 498T176 566T213 590Q216 590 224 585L234 580L225 573Q216 566 207 557T188 536T172 511T165 484Q165 448 213 368T261 259Q261 241 252 219T228 179T200 146T176 122L167 112Q170 111 174 111Q188 110 233 91T339 55T453 37Q508 37 556 68T626 152Q655 219 655 328Q655 543 532 582Q484 596 428 596'], + + // LATIN CAPITAL LETTER P + 0x50: [692,218,828,28,804,'112 339Q112 354 91 380T49 438T28 497Q28 565 95 628T242 692Q261 692 277 689T307 682T331 670T351 655T367 637T379 619T388 600T395 582T401 565T405 550Q409 554 422 570T453 603T500 641Q573 692 637 692Q656 692 670 686T692 672T705 647T713 618T718 584Q720 568 721 562T728 546T742 534T768 530Q776 531 782 532T791 535T796 536Q799 536 804 521Q801 519 789 513T764 499T738 480Q697 447 680 414Q677 407 677 396Q677 370 713 312T750 210Q750 125 686 57T560 -11Q540 -11 475 13L410 37V31Q410 -9 412 -50T417 -118T420 -150Q419 -150 373 -184T326 -218L305 -208Q305 -207 307 -196T314 -165T322 -116T328 -46T331 43V63L318 66Q270 80 250 80Q233 80 213 70Q183 57 138 -3L128 -16L118 5L125 20Q193 154 282 154Q309 154 331 146V287Q331 444 327 469Q321 522 301 560Q284 590 251 611T184 633Q146 633 119 607T92 550Q92 539 94 534Q100 516 143 460T186 386Q186 366 170 336T119 281Q102 264 70 250L49 260L56 266Q64 271 72 278T90 296T106 317T112 339ZM602 345Q602 357 608 371T622 397T642 421T661 441T678 456L686 462Q663 473 652 486T639 512T634 553Q631 594 624 608T593 631Q587 632 567 632Q539 632 497 600T416 497L410 484V122L467 103Q481 99 502 92T533 82T557 75T578 69T594 66T610 64Q647 64 672 87T697 144Q697 180 650 250T602 345'], + + // LATIN CAPITAL LETTER Q + 0x51: [729,69,827,11,782,'428 596Q412 596 386 595T350 593Q313 593 291 605T268 638Q268 644 269 648T274 658T284 669T301 689T326 718L336 729H343Q351 729 351 728Q342 710 342 703Q342 683 382 676T493 662T604 643Q744 592 744 398Q744 299 708 213T646 104L603 68L614 55Q670 -5 710 -5Q726 -5 744 1T772 14L781 20Q782 20 782 7V-6L771 -13Q673 -69 665 -69L647 -63Q552 -30 514 8H512Q509 8 500 3T471 -9T428 -23Q405 -27 377 -27Q305 -24 228 6T124 36Q69 36 27 -16Q23 -13 19 -8L11 0L27 20Q93 102 109 109Q145 123 166 150T187 207Q187 244 134 318T80 412Q80 454 112 498T176 566T213 590Q216 590 224 585L234 580L225 573Q216 566 207 557T188 536T172 511T165 484Q165 448 213 368T261 259Q261 241 252 219T228 179T200 146T176 122L167 112Q170 111 174 111Q188 110 233 91T339 55T453 37Q508 37 556 68T626 152Q655 219 655 328Q655 543 532 582Q484 596 428 596'], + + // LATIN CAPITAL LETTER R + 0x52: [686,26,828,27,824,'27 496Q31 569 102 627T234 685Q236 685 241 685T251 686Q287 686 318 672T367 638T399 598T418 564L423 550Q424 554 434 567T463 601T505 639T561 671T626 685Q672 685 688 659T710 572Q713 533 721 523T766 513Q781 513 787 514T794 516Q796 512 798 509T801 504T802 501T787 493Q702 461 624 401L607 389Q655 383 688 358L697 352V342Q699 330 699 297Q704 209 710 173T734 103Q751 69 765 69Q769 69 806 83L824 90V74Q823 73 759 24T693 -26Q692 -26 660 32L628 90L629 111Q631 159 631 177Q631 278 614 300Q584 340 523 340Q500 340 467 333T431 325Q429 325 429 322Q428 321 426 308T420 275T410 230T392 178T366 125L358 112L342 99Q306 70 269 38T213 -10T193 -26Q192 -26 163 0T116 26Q82 26 50 -8L42 -16L35 -8L27 0L35 10Q43 21 58 38T104 80T158 106Q179 106 218 65L235 48Q238 48 255 60T295 99T329 158Q352 231 352 359Q352 555 242 614Q210 628 187 628Q140 628 116 600T91 548Q91 522 138 464T185 382V376Q185 345 158 313T103 263L76 246Q74 244 64 253L54 260L65 267Q91 285 100 302Q111 318 111 337Q111 355 69 410T27 496ZM562 628Q504 628 443 507L435 491L436 479Q437 471 437 446Q437 396 432 351L529 389L602 426Q673 462 673 463H672Q644 470 637 483T622 553Q608 628 562 628'], + + // LATIN CAPITAL LETTER S + 0x53: [692,27,829,66,756,'750 276Q750 141 645 57T378 -27Q224 -27 146 67Q66 163 66 307Q66 361 80 412T127 515T217 609T356 676L388 684L420 692L442 681Q545 625 586 608T654 591Q688 591 710 609T737 646L742 665Q742 665 756 654L752 642Q736 594 706 566T621 515L607 510Q580 513 528 542T421 599T335 627Q272 627 214 569Q139 500 139 373Q139 308 159 247T217 136T316 56T455 26Q520 26 566 43T634 90T666 148T676 207Q676 264 649 297T580 338Q574 339 552 339Q516 339 442 325T327 310H324Q303 310 290 312T259 328T232 369Q230 375 230 390Q230 426 259 461Q286 488 338 507Q351 498 351 495L346 492Q342 490 339 488T330 482T320 473T312 462T305 447T303 428Q303 368 366 368Q393 368 487 388T613 409Q656 409 696 385T748 306Q750 294 750 276'], + + // LATIN CAPITAL LETTER T + 0x54: [701,27,669,34,676,'289 686Q338 686 439 668T565 649Q606 649 641 672Q656 683 664 690T674 700L675 701Q676 698 676 692V681L641 636Q608 591 602 588Q577 575 528 575Q490 575 438 583L426 585L416 578Q335 520 335 465Q335 437 393 366T452 259Q452 226 406 171Q387 146 351 115L341 106L358 97Q438 58 475 58Q525 58 598 124L608 133Q617 119 617 118Q617 114 606 103Q513 0 448 -27L438 -25Q401 -19 337 14T234 48Q186 48 122 -3L112 -11L106 -3L101 5L110 15Q160 63 209 105L224 117H310Q384 163 384 210Q384 238 329 303T263 398Q262 400 262 404Q262 427 290 476T368 580Q383 596 381 596Q315 622 228 622Q159 622 118 593T76 516Q76 482 96 461T139 431L107 399L75 367Q34 403 34 472Q34 525 64 572T148 652Q207 686 289 686'], + + // LATIN CAPITAL LETTER U + 0x55: [697,27,646,-25,665,'160 247Q160 291 110 382T59 505Q59 542 106 597T207 690L218 697L229 682Q229 680 216 669T187 644T158 604T144 552Q144 526 165 482T207 387T228 291Q228 277 228 267T224 247T219 232T210 217T199 202T184 184T166 163L118 107Q124 105 132 105T160 98T220 77Q298 47 317 47Q354 47 409 105Q444 142 451 161T458 244V277Q458 339 455 457T447 596L575 686L591 676L583 668Q550 632 541 587T532 449V372V298Q532 198 550 147Q572 79 605 79Q617 79 631 84T656 95L665 100V79L595 27Q578 15 560 2T532 -19L523 -26Q522 -26 490 42L458 111L397 50Q389 42 374 27T355 8T340 -5T325 -16T311 -22T294 -26T274 -27Q232 -25 152 6T35 37Q28 36 19 30T4 18T-8 4T-16 -5Q-25 10 -25 11T-20 18Q-5 34 15 57L54 101Q70 103 86 116Q94 121 113 140T137 166Q160 201 160 247'], + + // LATIN CAPITAL LETTER V + 0x56: [687,26,831,26,825,'54 266Q118 307 118 339Q118 360 74 413T27 493Q26 530 59 578T133 651Q187 686 256 686Q299 686 332 673T382 640T409 600T424 567T429 553Q431 553 463 586T542 653T624 686Q663 686 715 652T798 617Q812 617 825 622V606L815 599Q785 576 762 546Q724 495 724 432Q724 397 737 317T750 217Q750 148 711 96Q697 75 639 34T578 -10Q563 -21 555 -23T522 -26Q458 -26 363 29Q253 89 211 89Q192 89 173 83T139 67T114 49T96 34L90 27L80 43L95 59Q121 87 148 110T191 143T213 154Q261 154 300 195Q328 222 340 267T352 406Q352 562 255 611Q222 627 187 627H182Q143 627 115 598Q96 579 96 559Q96 528 144 470T192 381Q192 348 156 314T80 256L70 250L54 266ZM727 548Q701 550 650 583T567 617Q560 617 554 615Q532 610 501 580T445 501L437 485V465Q432 326 378 223L294 150Q321 143 421 87T560 31Q608 31 634 64Q660 102 660 198Q660 226 655 292T650 387Q650 418 658 452L660 462L735 548H727ZM264 150Q265 151 263 151H261Q261 150 264 150ZM280 150H276V149Q280 149 280 150'], + + // LATIN CAPITAL LETTER W + 0x57: [686,27,1046,32,1054,'32 501Q35 564 103 625T264 686Q326 686 365 652Q402 618 420 564L441 585Q486 630 539 670L559 686L572 672Q637 606 665 559L682 576Q787 686 845 686Q877 686 929 656T992 623Q999 621 1016 621Q1041 621 1054 628L1051 617L1047 606Q1042 602 1037 597Q983 557 969 522T954 434Q954 394 961 336T968 221Q968 201 966 184T963 155T956 131T948 113T936 96T923 82T906 66T887 50L816 -2Q815 -3 810 -6T801 -11T791 -16T777 -20T759 -23T735 -25Q691 -25 619 4T505 37H496L463 21Q420 0 389 -20L378 -27H362Q316 -27 275 -9T202 28T150 46H146Q114 46 59 -5L48 -16L41 -6Q40 -4 38 -2T34 2L33 4Q33 8 77 54Q111 87 142 112L154 122H166Q239 127 288 182Q346 244 346 406Q346 489 326 537T259 610Q227 628 195 628Q155 628 128 606T101 549Q101 517 146 465T192 382Q192 348 156 310T85 254L75 250L64 258L55 266Q56 267 74 276T105 301T118 339Q118 362 75 413T32 501ZM952 547Q927 555 877 586T796 617Q744 617 682 525L676 516L677 498Q678 486 678 425Q678 301 652 206Q649 195 613 151T577 102Q577 100 582 100Q618 100 720 51Q761 32 790 32H794Q843 32 869 83Q884 110 884 189Q884 233 879 294T873 400Q874 433 879 451T889 478T915 507T952 547ZM241 105Q249 98 263 88T317 60T393 42Q478 42 547 109Q607 171 607 358Q607 371 607 380T604 417T595 467T577 517T546 566T500 601L479 580Q449 550 433 526L426 516V503Q426 311 357 200L352 191L296 149Q241 107 241 105'], + + // LATIN CAPITAL LETTER X + 0x58: [688,27,719,28,709,'96 511L78 527L149 603Q207 666 227 686L237 685Q278 680 306 667T351 631T376 588T395 533L400 516L406 527Q439 600 523 653Q538 664 587 688Q589 688 596 672T613 635T629 606Q643 588 665 588Q677 588 693 596L709 603V585L607 526Q583 536 554 564T512 614Q461 571 435 507T405 381V367H581L563 347Q561 344 558 341T553 335T549 330T546 326L545 325H541Q537 325 488 329T411 334H405V325Q405 198 454 123Q497 54 568 54Q594 54 619 64T660 84L676 95V74L565 -16L553 -20Q528 -27 512 -27Q492 -27 475 -21T444 -5T418 19T398 47T382 77T371 105T363 128T358 145L357 151Q354 151 339 136T294 91T232 37Q152 -22 113 -22Q90 -22 69 -9T38 17T28 32Q28 33 58 68L86 101Q94 81 115 64T165 47Q206 47 249 84Q302 128 325 222Q334 263 336 312V334H312Q198 334 163 324H161Q162 326 182 348L198 367H336V398Q333 508 308 550Q295 570 274 585T227 601Q204 601 181 589T145 565T115 533T96 511'], + + // LATIN CAPITAL LETTER Y + 0x59: [686,218,833,27,740,'123 345Q123 358 75 415T27 496Q27 533 63 578T121 639Q181 685 256 685Q305 685 332 676T384 635Q419 588 425 542Q468 585 526 628T618 686Q632 667 658 645T704 609T724 594Q740 512 740 385V375V361Q740 128 682 -3Q656 -64 554 -141T361 -218Q319 -218 287 -203T243 -173T230 -150Q230 -148 267 -109L304 -69Q311 -115 341 -142T411 -170Q474 -170 534 -119T624 11Q660 111 660 312Q660 447 633 528L612 549Q578 583 552 596L543 601L528 592Q501 574 483 558Q454 528 436 494L431 484V473Q431 330 376 230Q366 213 359 206T306 159L250 112Q278 105 327 82T399 58Q421 58 440 69T471 92T484 104H485L493 90L480 73Q453 39 429 13Q393 -22 372 -22Q342 -22 260 15T153 53Q97 53 48 -16L38 5Q46 22 74 54T128 108L143 122H155Q226 127 275 168Q352 236 352 399Q352 501 309 564T197 628Q156 628 129 607T102 553Q102 517 147 463T192 383Q192 323 75 250L59 266Q123 314 123 345'], + + // LATIN CAPITAL LETTER Z + 0x5A: [729,139,602,11,532,'148 590Q95 592 91 627V633L160 729H176Q169 713 169 705Q169 670 244 670Q269 670 305 672T357 675Q405 675 432 661T468 609Q469 605 469 596Q469 572 460 540Q433 463 301 372Q325 378 359 378Q431 378 472 350T519 297Q532 249 532 198Q532 115 500 40T442 -57Q335 -139 202 -139Q165 -139 125 -131L112 -129V-100Q112 -49 106 -33T75 -17Q55 -17 31 -35L22 -42L11 -26L22 -18Q94 36 151 36H160Q171 36 178 33T188 27T194 13T196 -5T197 -32Q198 -79 206 -90Q217 -107 251 -107Q336 -107 389 -33T442 155Q442 240 407 274Q362 319 285 319Q236 319 192 298Q188 298 181 309L224 372Q227 373 234 374T246 376T257 379T271 384T285 391T302 402T321 417Q384 471 384 540Q384 562 366 581T306 600Q292 600 233 595T148 590'], + + // LEFT SQUARE BRACKET + 0x5B: [740,130,278,117,278,'262 -119Q224 -120 191 -123T141 -128T118 -130Q117 -130 117 305V740H122Q141 737 219 736H278V723Q278 711 277 711L159 699V-93H162Q167 -93 220 -96T276 -100Q278 -100 278 -109V-119H262'], + + // RIGHT SQUARE BRACKET + 0x5D: [739,131,278,-4,160,'64 733Q89 733 110 734T143 737T158 738H160V-131H154Q101 -125 40 -124H-4V-103H1Q3 -102 57 -98T113 -92H118V700L64 703Q7 707 3 708H-4V732H21Q34 733 64 733'], + + // CIRCUMFLEX ACCENT + 0x5E: [734,-452,500,0,495,'0 464L250 734L262 722Q274 712 384 598L495 486Q483 478 467 467L456 459L248 672L154 580L23 452Q17 454 10 458T0 464'], + + // LATIN SMALL LETTER A + 0x61: [470,35,500,66,497,'86 363Q86 365 128 391T212 444L255 470Q256 470 263 465T283 453T308 442Q338 431 346 431Q350 431 358 436L414 465L421 459L418 434Q404 339 404 262Q404 147 408 119L425 97Q443 74 444 74L467 86L491 97Q492 97 497 83L436 28Q377 -26 374 -26L331 46L329 91L155 -35Q152 -35 114 10T68 65L67 86Q66 100 66 156Q66 177 66 198T68 236T71 268T74 296T77 320T80 338T83 351T86 360V363ZM314 365Q285 367 255 374T206 386L187 392Q181 392 172 376T154 311T145 197Q145 124 151 118Q156 110 187 78L208 56H214Q221 57 253 76L308 109L329 123V136Q328 143 328 257V365H314'], + + // LATIN SMALL LETTER B + 0x62: [685,31,513,87,442,'177 427Q177 364 181 364Q184 364 192 370T223 395T271 433Q317 469 323 469Q325 469 338 462T377 440T432 413L440 409L441 396Q441 394 441 372T442 334Q442 203 425 108L423 97L400 83Q347 49 296 21T222 -19T196 -31Q192 -29 149 12T87 71L89 89Q100 155 100 319Q100 500 94 627Q94 632 94 638T94 648T94 656T93 662V664Q93 668 97 669T106 670H110Q114 653 118 633L127 596Q127 595 132 597Q136 599 195 642L255 685L272 673Q269 670 256 659T233 637T211 609T190 565T179 508Q177 494 177 427ZM295 377L274 385Q273 385 264 381T242 370T223 361Q213 355 188 340L178 333V123L198 103Q259 42 285 42Q299 42 314 55T339 85Q363 132 363 232Q363 310 358 343V349L345 355Q330 363 295 377'], + + // LATIN SMALL LETTER C + 0x63: [466,29,389,72,358,'72 208Q72 323 84 361Q84 363 167 414Q248 466 250 466Q255 465 260 465Q283 460 307 450T344 430L357 422L306 343L301 342L296 340Q267 362 247 372T216 384T177 390Q154 349 154 238Q154 220 156 158V145L168 132Q179 121 208 93T244 59Q245 58 246 58Q255 58 302 83T350 108L352 104Q355 100 356 96L358 92Q358 91 274 32T187 -29L177 -20Q160 -6 120 36T77 84Q77 87 75 118T72 208'], + + // LATIN SMALL LETTER D + 0x64: [609,33,499,13,428,'13 542Q13 544 77 576T147 609Q154 609 185 598T283 551T414 464L427 454V440Q427 436 427 412T428 372Q428 315 426 270T418 197T409 152T400 121T394 103L304 35Q285 21 261 2T225 -25L214 -33Q149 7 97 59L76 80L75 91V171Q75 221 76 254T79 299T80 313Q80 315 78 321Q78 323 78 326L77 330Q79 336 132 384T211 447L219 445Q221 445 224 444L228 443Q229 443 228 441T221 432T206 415L191 395Q175 378 162 339Q152 306 152 250Q152 217 159 140V134L171 121Q194 99 235 74T284 48Q296 48 310 75T337 156T349 267Q349 346 336 400L315 420Q246 489 176 525Q127 545 94 545H73L27 527L13 542'], + + // LATIN SMALL LETTER E + 0x65: [467,30,401,70,364,'353 103Q353 97 358 87L337 71Q293 38 247 6Q191 -30 189 -30Q188 -30 173 -16T130 26T76 85L74 99Q70 139 70 190Q70 228 73 271T79 338T84 365L94 372Q105 378 126 392T166 417L246 467Q283 417 349 369L364 358L355 349Q249 249 169 180L151 166L152 152V139L165 126Q186 105 215 84T260 62Q267 62 309 82L353 103ZM267 323Q246 337 230 350T204 371T189 385T179 394T174 397Q149 381 149 219V211Q151 211 171 223T220 258T268 299L282 313L267 323'], + + // LATIN SMALL LETTER F + 0x66: [681,221,326,30,323,'128 387Q128 391 112 456T92 546V555L101 568Q133 617 183 670L193 681L204 673Q238 648 262 648Q276 648 292 656L302 661L308 653Q308 652 278 618L249 585H234Q194 587 159 595Q158 595 156 596H153L150 597Q151 593 152 581T154 564T157 547T164 524T176 494Q199 436 203 400V392H207L323 386Q323 384 309 368L296 351H203V176Q201 -9 198 -32Q194 -61 166 -114Q158 -129 153 -138Q114 -214 110 -221Q105 -221 98 -220L87 -219V-216Q88 -215 106 -150T124 -82Q128 -73 129 155V351H30L64 386H96Q128 386 128 387'], + + // LATIN SMALL LETTER G + 0x67: [470,209,504,17,455,'27 -144L17 -131L82 -75L146 -20L126 6Q99 37 92 48L78 65L77 79Q75 103 75 158Q75 217 78 268T86 343T91 368Q92 370 109 382T157 413T222 452Q240 465 249 469L251 470Q296 443 350 428L365 424L437 465L442 459Q442 456 441 453T437 444T432 424T427 385T423 317T421 215V133L423 119Q423 111 455 -17Q455 -21 380 -108T290 -201Q290 -202 284 -204T269 -207T252 -209Q172 -209 75 -135L62 -126Q60 -126 44 -135L27 -144ZM349 351Q267 359 178 389Q177 387 173 376T166 358T161 337T157 303T155 259Q155 195 159 135L160 124L170 112Q180 101 204 77T230 53Q231 53 286 88L340 123V141Q340 235 348 329Q348 334 348 339T348 348L349 351ZM364 -59Q364 -37 358 -1T347 64T341 93Q336 93 252 28T149 -57Q226 -134 293 -134Q325 -134 344 -118T364 -69V-59'], + + // LATIN SMALL LETTER H + 0x68: [688,205,521,77,434,'88 427Q88 486 87 545T84 634T81 667Q81 673 82 673T89 676H94L117 600L200 661Q208 667 218 674T233 684L238 688L254 678Q222 646 216 637Q164 572 164 483V442V371Q187 390 244 431T312 478Q344 446 411 423L428 417L429 396Q434 297 434 218Q430 8 406 -34Q346 -111 262 -195L251 -205L249 -203Q248 -203 244 -199T236 -193Q226 -183 227 -182Q228 -182 244 -169T278 -140T301 -121Q330 -89 340 -22Q355 60 355 171Q355 200 353 244T348 321T344 354Q333 363 307 376T260 390Q241 390 179 350L164 341V121Q180 96 201 66L213 50Q210 46 172 11T131 -24Q130 -24 123 -11T102 25T77 65V78Q80 104 84 227T88 427'], + + // LATIN SMALL LETTER I + 0x69: [673,20,279,14,267,'72 617Q72 618 102 645T133 673H134Q134 668 175 627L187 615L130 555L116 568Q72 615 72 617ZM27 369Q21 376 14 382L26 392Q83 440 119 474Q158 435 169 427L179 420L176 395Q166 302 166 227Q166 171 174 139Q178 119 186 103T202 81L208 75Q255 100 261 100Q262 100 264 92T267 83Q267 80 208 30T145 -20Q143 -20 118 17L91 55Q98 117 98 193Q98 339 88 369Q71 390 68 390Q63 390 39 376L27 369'], + + // LATIN SMALL LETTER J + 0x6A: [672,208,281,-9,196,'101 644L132 672L145 657Q155 642 169 628L182 614L169 600Q148 579 140 570L125 555L112 568Q109 570 91 592T72 615Q72 617 101 644ZM19 -208Q-9 -185 -9 -183Q57 -134 80 -106Q103 -81 110 -19T118 179Q118 294 113 329T86 383Q78 389 76 389Q73 389 57 379L39 367Q26 380 26 381L33 387Q40 393 53 405T79 428L130 474Q147 457 186 428L195 422L196 376Q196 130 192 58T174 -35Q172 -39 104 -114T19 -208'], + + // LATIN SMALL LETTER K + 0x6B: [689,25,389,24,362,'93 348Q93 379 90 503T87 658V670Q87 671 94 671L100 672L112 636Q124 603 124 600L144 616Q196 659 234 682L246 689Q252 686 256 685T268 680L254 667Q225 641 211 626T184 579T168 505V497L178 504Q203 523 237 544L300 584L310 573Q359 522 359 481Q359 476 359 472T358 464T355 456T351 448T346 440T340 433T332 424T323 414T312 402T299 389L255 343L300 342H346L320 309H177V128L193 113Q214 92 244 68L254 60L303 84Q351 108 352 108L362 96Q355 85 277 30T194 -25L170 -4Q146 18 120 41T89 68Q94 85 94 168Q94 184 94 218T93 268V309H58L24 310L51 342H93V348ZM172 342Q217 342 252 374T287 445Q287 472 255 504Q242 517 241 517Q202 498 187 468T168 365V342H172'], + + // LATIN SMALL LETTER L + 0x6C: [685,20,280,98,277,'221 76L267 99Q268 98 269 96T271 88T270 82L262 76Q255 69 241 57T214 34L148 -20L98 56L99 89Q107 247 107 373Q107 494 101 621Q101 653 99 659V665L106 668L113 672L118 655Q122 642 131 617L138 597Q140 597 157 611L240 670L264 685Q265 685 270 680T276 674T269 667T247 647T219 617Q197 587 186 551T173 493T171 438Q171 376 175 282T179 147V117Q184 109 201 93T221 76'], + + // LATIN SMALL LETTER M + 0x6D: [475,26,767,8,753,'20 367L8 379Q9 380 63 425T118 471Q130 460 143 446L168 421V398L169 376L295 475Q362 433 415 418V399Q415 380 416 380T437 394T484 428T529 462L544 474L556 467Q590 449 614 438T646 424L653 421L665 417L664 412Q664 411 664 407T664 397T663 384Q660 342 660 335Q658 303 658 245Q658 186 660 152L661 126L669 115Q680 96 697 79L707 83Q716 87 723 90T735 96T741 100T746 102L747 103V102L750 95Q753 88 753 87L631 -18Q630 -17 622 -3T589 43L576 60L579 72Q592 146 592 218Q592 265 584 321Q581 345 578 350T560 363Q535 376 496 386L481 390Q475 387 425 358L415 351V238V157Q415 142 415 135T417 120T421 110T430 98T441 81L465 47Q462 44 458 41T443 28T420 8L380 -26L333 47L336 62Q339 77 342 109T345 184Q345 223 341 285T333 348Q322 364 258 382L240 388L169 347L168 240Q168 118 171 110L174 106Q178 101 183 93T195 78L217 48Q217 47 196 30T154 -5T133 -21L130 -16Q127 -10 122 0T111 19Q89 56 89 60Q95 76 95 153Q95 239 88 337V365L62 391L20 367'], + + // LATIN SMALL LETTER N + 0x6E: [475,22,527,20,514,'31 368Q20 379 20 380T72 427L121 470L129 463Q137 455 155 441T176 425V367L320 475L329 469Q351 454 385 437T434 417L432 402Q429 362 429 231V128L439 111Q442 107 445 102T449 95T453 90T456 86T459 84T463 82T467 82Q468 82 489 93T511 105T514 95V88L395 -18L340 65L341 77Q347 111 348 178Q348 343 343 353V358L332 363Q298 377 264 382Q260 382 254 382L249 383Q247 383 211 362L176 341V229V147Q176 134 176 127T177 115T179 106T183 99T189 91T197 81Q201 76 206 69T214 57L217 53Q217 52 175 15T132 -22Q132 -20 114 5T88 41Q84 45 84 50Q94 116 94 203Q94 227 93 263T92 324L90 364L67 388L50 378Q32 368 31 368'], + + // LATIN SMALL LETTER O + 0x6F: [480,28,489,67,412,'67 121Q70 265 84 359V364L97 371Q137 394 177 421T238 464T260 480L278 468Q295 457 327 442T394 418L406 414Q412 388 412 300Q412 263 410 228T405 170T399 130T393 103T391 92L381 86Q274 19 165 -28L161 -24Q157 -21 151 -15T136 -2T118 14T101 30T86 46T74 60L67 68V121ZM335 278Q335 286 335 303T334 335L333 349V356H326Q288 360 208 388L183 397Q178 393 172 383T154 333T142 239Q142 192 151 134Q152 124 155 120T175 99Q197 77 219 64T251 47T267 44T281 52T302 80T320 124Q335 182 335 278'], + + // LATIN SMALL LETTER P + 0x70: [541,212,500,12,430,'23 25Q15 33 12 38L35 59Q82 102 87 105V351L68 378Q42 414 42 422Q42 437 67 472T114 530L125 541Q126 541 132 537T138 532Q121 507 121 488Q121 453 160 413L167 405L166 390L165 372Q169 372 233 421T305 478Q307 479 315 472Q395 421 423 415Q424 415 424 415T425 414L426 410Q426 407 426 401T426 388Q430 335 430 272Q430 139 408 80Q407 78 340 22L273 -33Q200 23 165 23Q164 23 164 -32Q165 -89 168 -155V-170L93 -212L78 -203Q85 -48 87 16V47H79Q53 44 23 25ZM319 41Q346 94 349 212Q349 278 343 343V351L330 357Q318 363 270 381L255 387L245 383Q212 370 178 345L166 336V287Q165 260 165 166V94H175Q219 90 299 51L319 41ZM132 57L129 60Q130 58 132 57ZM158 29Q159 29 155 34T145 45T138 50Q155 29 158 29'], + + // LATIN SMALL LETTER Q + 0x71: [479,219,489,60,419,'399 19Q399 -123 407 -174V-179L332 -219L322 -210L312 -202L314 -185Q320 -83 323 54V95L311 85Q255 40 162 -19Q146 -29 145 -27Q140 -22 103 20L63 65V73Q61 83 61 115Q61 122 61 135T60 154Q60 263 79 353L83 368L94 375Q123 391 147 405T186 429T212 446T229 458T238 466T243 470T247 471L260 464Q274 457 295 448T330 434L341 432L410 479L412 478Q414 476 416 475T419 473L417 461Q399 358 399 19ZM316 367Q287 370 252 377T196 391L176 397H175Q173 397 166 382T149 314T139 187V158Q139 138 141 132T155 114Q158 111 160 109Q210 58 211 58L218 62Q226 67 240 75T266 91L319 124V196Q319 334 325 361V367H316'], + + // LATIN SMALL LETTER R + 0x72: [474,21,389,17,387,'357 398Q364 398 375 403L386 408Q386 404 387 400V393L369 377Q361 370 350 360T336 347T327 340T316 336T303 335Q270 335 234 371L224 379Q220 375 214 370T198 355L182 340V243Q182 164 183 152T189 129Q195 117 211 100T239 72T254 60T298 81Q342 101 343 101Q344 100 345 92T346 82L200 -21Q174 -5 117 55L97 75L99 92Q106 147 106 196Q106 216 104 282T97 355Q95 359 95 361Q95 364 77 378L65 387L48 380Q30 372 29 372Q28 371 23 375T17 380Q17 384 50 415T107 467L115 474L128 461Q171 421 182 414V382L235 425Q247 435 261 446T283 462L290 468L295 460Q335 398 357 398'], + + // LATIN SMALL LETTER S + 0x73: [478,29,443,-18,406,'272 33Q284 33 290 70T296 138Q296 181 290 198T262 230Q257 232 246 232Q231 232 218 227T156 194L108 167L101 176Q90 192 75 219L69 230V284Q69 346 70 357V377L146 427Q181 450 202 464T223 477L225 476Q227 475 229 474Q231 472 242 466T270 450T296 431Q309 418 326 418Q342 418 361 429T392 450T403 459Q406 445 406 442Q406 440 384 421T338 382L316 363Q315 362 310 362Q292 362 251 371T173 396Q156 403 155 403Q143 386 143 342Q143 305 150 278T168 244Q171 242 181 242L190 243L315 300Q330 295 357 274Q358 273 362 270T366 266T369 261T372 253T373 239T374 217T374 185Q374 157 372 133T368 98T363 71T358 50L336 40Q288 20 255 2T211 -22T198 -29L190 -22Q181 -14 168 -3T138 19T104 38T70 46Q50 46 32 37T3 20T-9 11L-18 23L-1 41Q46 89 62 99T112 110Q141 110 157 103T225 62Q268 33 272 33'], + + // LATIN SMALL LETTER T + 0x74: [640,20,333,27,348,'228 640L242 627L227 613Q213 599 211 593T203 553Q197 500 196 435V389H301L272 353H195V274Q195 178 196 159L197 123Q249 71 273 68H280L312 83Q344 99 345 99Q348 99 348 78Q348 76 314 52T246 4L212 -20Q211 -20 164 19T112 62Q112 122 113 196Q113 228 113 262T114 318T114 341V353H27L62 389H116L117 431V558L228 640'], + + // LATIN SMALL LETTER U + 0x75: [474,23,517,9,513,'171 315Q171 252 165 199T153 124L147 103Q147 102 196 80L244 57L335 107V116Q339 161 339 268Q339 315 338 351T337 412V424L420 468Q424 465 427 461L424 435Q412 331 412 226Q412 170 415 145T434 96Q442 84 452 83Q461 83 492 96L506 102Q507 102 510 96T513 88L493 71Q445 32 401 -9Q392 -18 388 -17L384 -16Q358 39 355 44Q336 77 333 77Q261 45 203 -9Q186 -23 181 -23Q177 -23 162 -11T121 18T69 44L57 48L61 54Q65 60 71 73T82 102Q100 156 100 262Q100 305 93 335T80 373T62 396L23 376Q18 377 9 386L119 474Q149 437 171 421V339V315'], + + // LATIN SMALL LETTER V + 0x76: [530,28,512,55,434,'55 418Q55 443 100 503Q121 530 123 530Q125 528 127 528T131 528T134 528T135 524T131 516Q123 499 123 486Q123 457 159 416L169 405L170 388L171 372Q171 371 244 424L317 477L334 466Q394 428 432 416L433 402Q433 400 433 377T434 336V305Q434 195 420 131Q413 94 406 87Q403 84 298 29L192 -28L172 -8Q139 25 106 52L92 64V70Q95 97 95 198Q95 293 94 318L92 355L84 367Q55 406 55 418ZM174 306Q174 297 173 255T171 184Q171 153 175 136T198 100Q207 94 224 80T255 57T282 49Q304 49 328 80Q359 129 359 243Q359 284 352 345Q351 358 348 360Q333 373 304 384T265 396L251 390Q215 372 186 351L175 344V337Q175 319 174 306'], + + // LATIN SMALL LETTER W + 0x77: [532,28,774,45,688,'45 425Q45 439 82 485T126 532Q127 532 128 532T131 531T137 529L132 519Q121 499 121 483Q121 473 131 454T156 419L167 408L169 376L185 388Q237 425 291 473L301 466Q337 443 394 416L419 405L418 387V369Q419 369 487 418T560 471L581 459Q597 450 621 437T664 415T684 406Q688 406 688 323Q688 254 679 193T662 103T648 71Q647 70 554 20L464 -28L443 -15Q416 1 386 17T343 40T331 49Q331 52 333 73T337 133T339 216Q339 309 334 339Q333 341 316 353T277 377T246 389Q235 389 201 369T166 346Q166 345 164 247Q164 232 164 210T163 179Q163 139 170 116T205 57L212 48L136 -27Q115 16 87 44L78 53L80 67Q88 124 88 211Q88 282 87 315T83 356T74 371Q45 410 45 425ZM591 352Q580 359 565 365T540 374T517 381T504 385L418 342L417 318V220Q417 212 417 194T417 170T418 152T420 134T424 120T431 106T440 95T454 83Q508 44 544 44Q566 44 583 77Q603 120 605 235Q605 289 600 322Q598 343 597 345T591 352'], + + // LATIN SMALL LETTER X + 0x78: [472,188,389,10,363,'14 377Q63 428 117 472Q130 462 144 449L193 408V392V376L247 420Q300 464 301 464L310 451Q331 417 363 390L333 365Q303 340 301 340Q293 343 277 364T250 386Q241 386 215 361L195 341Q194 333 193 327T191 318T190 304T188 269Q188 220 192 148Q193 122 195 118T210 101Q255 60 271 60Q276 60 278 61L318 82Q327 86 336 91T351 98L356 101Q359 82 356 79Q354 77 283 27T210 -24L192 -7Q160 23 137 40L126 49L116 40Q66 -13 66 -54Q66 -117 167 -140L179 -142V-147L180 -152L123 -188L112 -185Q58 -170 31 -145Q10 -122 10 -96Q10 -80 22 -53Q44 -10 95 49Q97 51 100 54T104 59T107 64T109 71T111 81T112 97T113 119T114 149T114 188Q114 284 108 347V354L96 365Q76 385 67 385Q62 385 45 377L27 368L14 377'], + + // LATIN SMALL LETTER Y + 0x79: [528,218,499,45,431,'74 58Q89 124 89 241Q89 265 89 278T89 305T88 324T87 336T84 346T81 352T77 359T71 368Q57 388 52 398L45 409Q62 454 98 507L113 528Q128 528 128 524Q128 523 125 518T120 503T117 483V471Q123 456 130 445Q135 438 140 432T148 422T153 415T157 409T160 405T162 402T163 399T163 395V384V365Q165 365 237 419L311 473Q383 430 420 416Q426 414 426 411V404Q426 398 426 388T427 367Q431 233 431 201Q431 -3 391 -52Q387 -58 305 -138T221 -218L218 -217Q216 -216 211 -214T202 -210L184 -202L199 -194Q259 -162 288 -127T334 -19T350 184Q350 257 342 328L340 356Q282 390 262 390Q248 390 178 346L163 336V111L216 45L131 -26L124 -15Q114 3 85 44L74 58'], + + // LATIN SMALL LETTER Z + 0x7A: [471,214,391,-7,314,'47 335L36 347L52 362Q112 421 167 461L181 471L192 465Q236 444 260 417T284 369Q284 355 276 343T233 291Q195 246 195 245T205 242T241 228T300 198L302 187Q314 138 314 74Q314 -24 291 -95Q290 -100 222 -157L154 -214H145Q102 -214 53 -189T-7 -117Q41 -21 183 122L207 147Q205 149 186 157T140 172T100 180H97V192L140 231Q192 280 199 293Q205 303 205 315Q205 339 185 363T137 388Q119 388 63 347L47 335ZM179 -153Q212 -153 226 -113T240 14Q240 67 233 98T223 132T211 143L222 130Q216 125 206 116T170 82T124 33T88 -20T72 -70Q72 -99 105 -126T179 -153'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js new file mode 100644 index 00000000..e1338ef5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'] = { + directory: 'Fraktur/Regular', + family: 'MathJax_Fraktur', + id: 'MJFRAK', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xDFFF,"Other"], + [0xE300,0xE310,"PUA"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js new file mode 100644 index 00000000..6e773842 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'], + { + // LEFT SINGLE QUOTATION MARK + 0x2018: [708,-410,215,45,158,'117 410Q97 410 71 455T45 539Q45 588 129 694L140 708Q142 708 153 694L147 682Q106 609 106 582V577V571Q106 548 132 511T158 455Q158 434 143 422T117 410'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [692,-395,215,49,163,'105 529Q105 546 77 588T49 651Q49 658 51 666Q53 672 67 682T92 692Q111 692 137 644T163 563Q163 534 143 497T99 428T74 395Q72 395 65 400T58 407Q105 476 105 523V529'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/Other.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js new file mode 100644 index 00000000..e39184ea --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js @@ -0,0 +1,50 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/PUA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'], + { + // stix-capital Gamma, Greek slashed + 0xE300: [683,32,497,75,431,'427 436Q427 434 427 425T429 398T430 362Q430 222 396 109L393 99L305 33Q218 -32 216 -32Q208 -29 142 22L91 68L78 81L77 94Q75 130 75 173Q75 245 87 347L135 385Q178 418 184 424L177 428Q174 429 170 431Q116 454 96 473T75 534Q79 608 154 683Q164 677 164 673Q164 670 157 662T144 637T137 598Q137 552 182 518T280 470T380 447T427 436ZM342 371L275 394L208 417Q203 417 192 399T168 334T156 229Q153 187 153 157Q153 141 156 135Q158 125 208 88T280 51Q306 51 326 120T346 297Q346 339 344 354T342 371'], + + // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED + 0xE301: [616,30,498,35,432,'39 551L35 569L52 577Q72 586 98 595T140 610T158 616Q174 612 200 604T293 560T412 477Q414 475 417 472Q428 462 430 450T432 376Q432 223 401 124Q395 106 393 103T382 92Q351 68 281 20T206 -29Q201 -31 137 26L100 60L78 83L77 112Q76 132 76 170Q76 259 86 342L88 360L101 371Q116 386 163 422T215 459Q216 459 224 455T233 450L229 446Q225 442 218 434T203 419Q179 394 175 389T168 372Q156 334 156 262Q156 167 164 137Q168 125 196 102T252 62L278 45Q279 45 285 52T302 78T322 126T339 205T346 316Q346 367 344 389L343 406L326 423Q228 520 113 559L100 564L70 557L39 551'], + + // stix-capital Delta, Greek slashed + 0xE302: [680,215,333,29,339,'123 386L120 431Q116 476 116 511V520Q116 593 174 649Q207 680 236 680Q258 680 284 664T312 648Q318 648 327 656Q328 657 330 659Q337 664 337 661Q337 660 338 657Q338 652 339 648L268 566L260 574Q234 600 206 600Q182 600 164 585T145 541Q145 492 211 386L267 385H324L299 354H214V312Q214 86 193 -58L192 -69L116 -215H108Q92 -215 92 -212Q93 -211 100 -189T116 -135T128 -80Q134 -41 134 22Q134 54 130 185T125 349V354H29L59 385H91Q123 385 123 386'], + + // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED + 0xE303: [679,224,329,28,318,'91 530Q91 564 116 600T164 656T194 678Q195 678 200 678T209 679Q268 679 316 639L293 593Q267 547 263 546H262Q260 546 256 553Q222 613 180 613Q160 613 146 599T132 564T170 474T210 388H318L296 356H206V322Q204 284 204 255Q202 221 202 161V99Q202 28 194 -22T160 -124Q148 -146 116 -199L101 -224L91 -220Q85 -218 84 -217T83 -215L101 -161Q116 -114 119 -73T122 108Q119 334 117 352V356H72L28 357L66 388H92Q118 388 118 389L109 433Q91 514 91 530'], + + // stix-capital Epsilon, Greek slashed + 0xE304: [471,214,503,52,449,'254 -150Q293 -150 328 -126T363 -54Q363 -38 352 29T339 98L250 34Q160 -30 159 -30L77 64V71Q74 95 74 174Q74 212 75 243T79 294T83 328T87 352T90 366L117 384Q206 446 238 464L250 471Q277 455 306 443T350 427L365 423Q367 423 405 443T443 465L449 455Q431 414 426 362T418 201Q418 135 420 121Q438 -4 438 -19Q438 -26 438 -31T434 -42T429 -51T420 -63T408 -77T391 -95T370 -119T346 -147T325 -170T309 -187T291 -200T274 -207T252 -213T225 -214Q175 -214 132 -196T70 -160L52 -143Q52 -138 90 -48Q90 -47 95 -47H101Q108 -81 146 -115T254 -150ZM341 136Q341 157 344 242T347 348V355L334 356Q299 359 262 367T203 383T179 391Q177 391 173 377T163 323T158 227Q158 164 161 128V121L174 106Q203 75 223 59L341 127V136'], + + // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED + 0xE305: [686,20,333,26,315,'92 446Q92 603 82 664Q94 670 95 670L96 666Q98 661 101 651T108 633Q121 598 121 597L141 612Q247 686 250 686Q251 686 266 679Q261 674 243 659T213 632T190 597T173 546Q172 541 171 530T170 511T170 502Q171 502 222 542L273 582Q308 522 315 504L279 449L269 462Q231 506 215 506Q202 506 190 490Q164 458 164 395V390H279L266 373L254 355H167V306Q169 252 169 217Q170 195 170 147V117L200 92Q234 64 237 64Q243 64 277 81L311 99V75Q310 75 242 27L174 -20L156 -3Q88 60 81 60L79 62Q80 60 82 62Q87 67 87 290V355H57L26 356L73 390H92V446'], + + // stix-capital Zeta, Greek slashed + 0xE306: [577,21,334,29,347,'117 531Q117 533 137 544T178 566L198 577Q200 577 204 575T208 572V570Q208 568 208 566T207 560Q197 496 197 397V392H321L295 353H199V260Q199 157 200 145V122L269 68Q271 67 274 67Q282 67 310 83T342 100Q343 100 345 92T346 83L211 -21L172 12Q117 59 117 63Q117 65 117 87T119 150T120 238V353H75L29 354L65 391H118V460Q117 498 117 531'], + + // stix-MATHEMATICAL BOLD CAPITAL ZETA SLASHED + 0xE307: [475,22,501,10,514,'337 91V78L324 71Q288 53 256 29T206 -8T180 -22Q174 -22 158 -9Q82 46 60 46H59L63 51Q67 56 73 68T85 96Q101 158 101 254Q101 300 95 330T83 370T66 394L53 388Q48 385 41 382T24 374Q22 376 20 378T16 381T13 383T10 385V386L119 475Q150 439 160 430L171 422V409Q173 377 173 300Q173 228 166 183T152 122T145 102Q207 81 242 58L337 104V111Q340 146 340 227Q340 320 339 351T338 408V423L422 469Q425 465 429 462L426 438Q413 354 413 251Q413 152 423 119Q426 110 435 96T452 82Q454 82 509 103Q514 98 514 89Q514 87 507 81T472 51T409 -7L395 -20Q393 -18 390 -17Q386 -14 382 -6Q380 -2 379 1Q369 24 361 40T348 62T341 73T338 84L337 91'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/PUA.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js new file mode 100644 index 00000000..8643a452 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/Arrows.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // LEFTWARDS ARROW + 0x2190: [518,17,1150,64,1084,'1063 281Q1084 268 1084 251Q1084 231 1063 221L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1063'], + + // UPWARDS ARROW + 0x2191: [694,193,575,14,561,'33 396Q14 396 14 423Q14 445 18 449T41 459Q72 466 99 478T147 505T185 537T215 571T238 604T254 635T264 661T270 678L272 685Q276 694 288 694Q298 692 300 689T307 672Q331 592 392 535T535 459Q553 454 557 450T561 423Q561 396 542 396Q531 396 501 405T418 443T329 517L319 529L318 179V-171Q307 -193 288 -193Q265 -193 258 -171L257 179V529L247 517Q209 473 158 444T76 405T33 396'], + + // RIGHTWARDS ARROW + 0x2192: [518,17,1150,65,1085,'65 251Q65 270 87 281H500L914 282Q881 304 842 357T785 482Q781 500 781 501Q781 512 792 517Q794 518 812 518H817Q832 518 835 515T844 495Q864 412 923 351T1065 270Q1085 263 1085 251Q1085 240 1077 236T1044 225T995 204Q937 173 898 122T844 6Q840 -10 836 -13T816 -17H811Q786 -16 782 -9Q781 -6 781 -2Q781 1 785 17Q813 138 914 220H500L87 221Q65 228 65 251'], + + // DOWNWARDS ARROW + 0x2193: [694,194,575,14,561,'14 77Q14 104 33 104Q44 104 74 96T156 57T247 -17L257 -29V321Q257 669 259 675Q268 694 289 694Q295 693 300 691T307 686T313 679T318 672V321L319 -29L329 -17Q366 26 417 55T499 94T542 104Q561 104 561 77Q561 56 557 51T535 41Q481 28 438 0T370 -58T330 -119T308 -167T302 -187Q297 -194 288 -194Q278 -194 273 -186T265 -165T251 -127T220 -77Q151 15 41 41Q22 46 18 50T14 77'], + + // LEFT RIGHT ARROW + 0x2194: [518,17,1150,64,1085,'305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L404 281H744L914 282Q880 305 839 362T785 484Q781 500 781 503Q781 517 806 518Q809 518 811 518H817Q832 518 835 515T844 495Q864 412 923 351T1065 270Q1085 263 1085 251Q1085 240 1077 236T1044 225T995 204Q937 173 898 122T844 6Q840 -10 836 -13T816 -17H811Q786 -16 782 -9Q781 -6 781 -2Q781 1 785 17Q813 138 914 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495'], + + // UP DOWN ARROW + 0x2195: [767,267,575,14,561,'33 469Q14 469 14 496Q14 518 18 522T41 532Q121 551 182 608T268 745Q275 767 288 767Q299 767 303 755T320 713T355 650Q424 558 535 532Q553 527 557 523T561 496Q561 469 542 469Q531 469 501 478T418 516T329 590L319 602L318 426V74L319 -102L329 -90Q366 -47 417 -18T499 21T542 31Q561 31 561 4Q561 -17 557 -22T535 -32Q454 -51 393 -108T307 -245Q300 -267 288 -267Q279 -267 274 -259T266 -238T250 -200T220 -150Q151 -58 41 -32Q22 -27 18 -23T14 4Q14 31 33 31Q44 31 74 23T156 -16T247 -90L257 -102V602L247 590Q209 546 158 517T76 478T33 469'], + + // NORTH WEST ARROW + 0x2196: [724,194,1150,63,1084,'429 724Q438 724 452 711T466 690Q466 681 452 671Q361 602 242 599H218L756 135Q832 69 913 -1T1036 -108L1077 -143Q1084 -151 1084 -163Q1084 -180 1074 -187T1054 -194H1052Q1043 -194 939 -105Q866 -42 812 5Q180 549 178 549V546Q179 542 179 539Q183 520 183 483Q183 435 172 390T149 323T130 296Q121 292 115 295Q85 312 85 328Q85 331 95 350T115 406T125 486Q125 540 110 583T79 648T64 675Q64 681 68 687T81 693Q87 693 94 690Q162 657 232 657Q296 657 349 681T420 722Q422 724 429 724'], + + // NORTH EAST ARROW + 0x2197: [724,193,1150,64,1085,'1069 693Q1076 693 1080 687T1085 675Q1085 671 1076 656T1055 621T1034 565T1024 486Q1024 442 1034 406T1054 351T1064 328Q1064 321 1057 313T1042 300L1034 295Q1030 293 1027 293Q1023 293 1020 295T1014 301T1009 308T1005 316T1001 324Q980 368 971 419Q966 442 966 484V492Q966 528 972 553Q971 553 757 368T328 -3T107 -191Q103 -193 94 -193Q78 -193 71 -184T64 -164Q64 -153 72 -143Q79 -136 382 124L934 599H909Q837 599 760 634T683 690Q683 697 696 710T722 724Q726 724 742 714T779 691T838 668T920 657Q959 657 991 666T1043 684T1069 693'], + + // SOUTH EAST ARROW + 0x2198: [694,224,1150,65,1085,'65 663Q65 680 74 687T93 694H96Q104 694 118 683T204 610Q280 545 338 495Q969 -49 971 -49L970 -46Q970 -42 970 -39Q966 -20 966 18Q966 65 977 110T1001 177T1019 204Q1028 208 1034 205Q1064 188 1064 172Q1064 169 1054 150T1034 94T1024 14Q1024 -28 1033 -64T1054 -120T1075 -155T1085 -175Q1085 -181 1081 -187T1068 -193Q1062 -193 1055 -190Q987 -157 919 -157Q817 -157 739 -215Q727 -224 720 -224Q712 -224 697 -210Q683 -199 683 -190T697 -171Q788 -102 907 -99H931L393 365Q317 431 236 501T114 608L72 643Q65 651 65 663'], + + // SOUTH WEST ARROW + 0x2199: [694,224,1150,64,1085,'80 -193Q73 -193 69 -187T64 -175Q64 -172 79 -150T109 -84T125 14Q125 58 115 94T95 149T85 172Q85 179 92 187T108 200L115 205Q119 207 122 207Q126 207 129 205T135 199T140 192T144 184T148 176Q169 132 178 81Q183 58 183 17Q183 -7 182 -24T178 -48L177 -53Q178 -53 389 129T816 498T1043 692Q1049 694 1054 694Q1070 694 1077 684T1085 664Q1085 653 1077 643Q1070 636 767 376L215 -98L240 -99Q312 -99 389 -134T466 -190Q466 -197 452 -210T429 -224Q422 -224 411 -215Q330 -157 229 -157Q190 -157 158 -166T106 -184T80 -193'], + + // RIGHTWARDS ARROW FROM BAR + 0x21A6: [518,17,1150,65,1085,'65 426Q74 448 95 448Q112 448 125 426V281H500L914 282Q881 304 842 357T785 482Q781 500 781 501Q781 512 792 517Q794 518 812 518H817Q832 518 835 515T844 495Q864 412 923 351T1065 270Q1085 263 1085 251Q1085 240 1077 236T1044 225T995 204Q937 173 898 122T844 6Q840 -10 836 -13T816 -17H811Q786 -16 782 -9Q781 -6 781 -2Q781 1 785 17Q813 138 914 220H500L135 221Q134 221 133 221T130 220H125V76Q115 54 95 54Q73 54 65 76V426'], + + // LEFTWARDS ARROW WITH HOOK + 0x21A9: [518,17,1282,64,1218,'1029 475Q1029 505 1068 505Q1129 501 1173 463T1218 363Q1218 296 1170 259T1066 221H1063L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1063Q1105 284 1131 305T1158 361Q1158 385 1146 401Q1122 441 1063 444Q1029 446 1029 475'], + + // RIGHTWARDS ARROW WITH HOOK + 0x21AA: [518,17,1282,65,1217,'225 221H218Q159 221 112 260T65 363Q65 431 116 468T221 505Q254 503 254 474Q254 456 245 450T216 443T188 438Q152 427 137 401Q125 385 125 362Q125 334 147 310Q171 288 221 281H632L1046 282Q1013 304 974 357T917 482Q913 500 913 501Q913 512 924 517Q926 518 944 518H949Q964 518 967 515T976 495Q996 412 1055 351T1197 270Q1217 263 1217 251Q1217 240 1209 236T1176 225T1127 204Q1069 173 1030 122T976 6Q972 -10 968 -13T948 -17H943Q918 -16 914 -9Q913 -6 913 -2Q913 1 917 17Q945 138 1046 220H632L225 221'], + + // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BC: [518,-220,1150,64,1084,'1063 281Q1084 268 1084 251Q1084 231 1063 221L572 220Q79 220 77 221Q64 225 64 244Q64 250 64 254T67 261T71 265T78 268T85 272Q142 302 189 345T258 421T296 484T315 516Q319 518 337 518Q358 518 363 512Q370 504 367 496Q360 469 319 404T219 290L209 282L636 281H1063'], + + // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21BD: [281,17,1150,64,1084,'1063 281Q1084 268 1084 251Q1084 231 1063 221L636 220H209L219 212Q278 162 319 97T367 5Q370 -3 363 -11Q358 -17 337 -17H332Q318 -17 314 -14T302 7Q278 55 246 95T185 160T130 202T88 228L70 237Q64 243 64 257Q64 274 75 279Q78 281 571 281H1063'], + + // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C0: [518,-220,1150,65,1085,'65 251Q65 270 87 281H513L940 282L930 290Q871 338 830 403T782 496Q779 510 791 517Q794 518 812 518H817Q831 518 835 515T847 494Q871 445 903 404T966 338T1022 298T1064 272T1083 259Q1085 255 1085 245Q1085 225 1072 221Q1070 220 578 220L87 221Q65 228 65 251'], + + // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C1: [281,17,1150,64,1085,'84 279Q89 281 580 281Q1070 281 1074 279Q1085 275 1085 256Q1085 245 1083 241T1066 230Q919 153 847 7Q839 -11 835 -14T817 -17H812Q791 -17 786 -11Q779 -3 782 5Q789 31 830 96T930 212L940 220H513L87 221Q64 229 64 250Q64 272 84 279'], + + // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CC: [718,17,1150,64,1085,'65 451Q65 470 87 481H513L940 482L930 490Q871 538 830 603T782 696Q779 710 791 717Q794 718 812 718H817Q831 718 835 715T847 694Q871 645 903 604T966 538T1022 498T1064 472T1083 459Q1085 455 1085 445Q1085 425 1072 421Q1070 420 578 420L87 421Q65 428 65 451ZM1063 281Q1084 268 1084 251Q1084 231 1063 221L636 220H209L219 212Q278 162 319 97T367 5Q370 -3 363 -11Q358 -17 337 -17H332Q318 -17 314 -14T302 7Q278 55 246 95T185 160T130 202T88 228L70 237Q64 243 64 257Q64 274 75 279Q78 281 571 281H1063'], + + // LEFTWARDS DOUBLE ARROW + 0x21D0: [547,46,1150,64,1086,'1063 169L1068 166Q1072 163 1074 162T1079 157T1083 149T1085 139Q1085 118 1063 109L733 108H404L412 99Q455 50 488 -10Q498 -27 493 -37Q487 -46 465 -46H460Q446 -46 439 -39T426 -18T399 25T344 89Q239 194 99 229Q96 230 92 231T85 232T79 234T73 235T69 237T66 240T65 244T64 250Q64 267 90 271Q197 295 286 361T430 525Q439 542 442 544T460 547H465Q487 547 492 539Q496 531 496 530Q496 521 471 482T414 405L404 394L733 393H1063Q1064 392 1069 389T1076 384T1082 375T1085 362Q1085 344 1063 333L700 332H338L324 321Q283 290 230 264L205 250Q266 224 323 180L338 170L700 169H1063'], + + // UPWARDS DOUBLE ARROW + 0x21D1: [694,193,703,30,672,'672 343Q672 326 670 320T657 313Q644 313 602 335Q577 349 557 361T527 381T509 395T499 403T495 406T494 118Q494 -166 492 -174Q484 -193 465 -193H463Q456 -193 453 -192T444 -186T433 -170V465L423 477Q407 495 394 514T367 554T351 579Q349 576 339 560T313 520T279 477L269 465V-22V-102Q269 -132 269 -145T268 -169T266 -180T260 -185T253 -191Q248 -193 239 -193H237Q218 -193 210 -174Q208 -166 208 118Q208 406 207 406L199 399Q191 392 165 374T100 335Q58 313 45 313Q35 313 33 319T30 343V349Q30 359 30 362T35 369T45 374T66 383T100 401Q267 499 333 680Q339 694 351 694Q361 694 365 687T380 652T407 597Q442 536 489 489T573 420T638 383T670 365Q672 361 672 343'], + + // RIGHTWARDS DOUBLE ARROW + 0x21D2: [547,46,1150,64,1084,'64 362Q64 380 87 393H416L745 394L735 405Q708 436 681 477T654 531Q654 547 679 547H684H689Q703 547 710 540T723 519T750 475T806 411Q914 303 1059 271Q1060 271 1063 270T1068 269T1072 268T1076 266T1079 264T1082 260T1083 256T1084 250Q1084 242 1080 238T1063 231T1035 225T992 211T934 185Q797 112 719 -24Q710 -40 706 -43T689 -46H684Q653 -46 653 -31Q653 -24 661 -10Q694 50 737 99L745 108H416L87 109Q64 117 64 139Q64 156 87 169H449L812 170L826 180Q842 193 860 204T892 223T918 237T937 246L944 250L919 264Q866 290 825 321L811 332H449L87 333Q64 343 64 362'], + + // DOWNWARDS DOUBLE ARROW + 0x21D3: [694,194,703,30,672,'30 157Q30 174 32 180T46 187Q59 187 104 163Q154 136 198 101L207 94Q208 94 208 382Q208 666 210 674Q219 694 241 694Q254 692 262 683Q266 679 267 674Q269 658 269 522V35L279 23Q295 5 308 -14T335 -54T351 -79Q353 -76 363 -60T389 -20T423 23L433 35V671Q439 682 444 686T452 692T463 693H465Q484 693 492 674Q494 666 494 382Q494 94 495 94L504 101Q547 135 593 160T652 187Q665 191 671 177Q672 175 672 157Q672 137 669 134T636 116Q606 101 578 83T528 47T486 9T452 -30T424 -68T403 -103T387 -134T377 -159T370 -176L367 -184Q360 -194 351 -194Q345 -194 342 -192T334 -182T327 -166T315 -137T295 -97Q260 -36 213 11T129 80T63 117T32 136Q30 139 30 157'], + + // LEFT RIGHT DOUBLE ARROW + 0x21D4: [547,46,1150,47,1102,'336 497Q358 541 363 544Q367 547 379 547H384Q401 547 405 545Q418 538 414 525T389 474T346 408L335 393H814L803 408Q781 436 760 474T735 525T744 545Q748 547 765 547Q771 547 774 547T780 546T786 544T790 541T794 535T799 527T805 514T813 497Q841 446 877 406T950 340T1014 301T1068 276L1096 265Q1102 259 1102 251Q1102 240 1085 232Q981 195 902 121Q835 56 798 -25Q791 -40 787 -43T765 -46T744 -44Q735 -40 735 -30Q735 -15 760 28T806 98L814 108H335L343 98Q361 75 378 46T404 -1T414 -24Q418 -37 405 -44Q401 -46 384 -46T363 -43T351 -25Q314 56 247 121Q216 150 182 173T125 206T79 226T53 237Q47 243 47 251Q47 254 47 256T49 261T52 264T57 267T61 268T66 270T71 272Q246 335 336 497ZM985 251Q932 280 882 323L871 332H278Q264 321 253 311T237 297T214 282T164 251L176 244Q221 218 278 169H871Q928 218 973 244L985 251'], + + // UP DOWN DOUBLE ARROW + 0x21D5: [767,267,703,30,672,'49 441Q30 441 30 464V471V480Q30 498 44 502Q237 573 331 750Q337 767 351 767Q360 767 368 753T400 702T460 629Q504 584 552 554T632 511T666 497Q672 493 672 471Q672 454 670 449Q664 441 653 441Q639 443 591 465T508 513L495 522L494 386V114L495 -22L508 -13Q543 12 591 34T653 59Q672 59 672 36V29V20Q672 2 658 -2Q465 -71 367 -257Q360 -267 351 -267Q343 -267 336 -257T320 -231T292 -187T242 -129Q198 -84 150 -54T70 -11T36 3Q30 7 30 29Q30 46 32 51Q38 59 49 59Q63 57 111 35T194 -13L208 -22V522L194 513Q159 488 111 466T49 441ZM422 584Q411 594 400 606T383 626T366 648T351 667Q349 665 339 652T314 620T280 584L269 573V-73L280 -84Q305 -108 351 -166Q353 -164 363 -151T389 -119T422 -84L433 -73V573L422 584'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/Arrows.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js new file mode 100644 index 00000000..60957cde --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js @@ -0,0 +1,149 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [705,-1,350,89,260,'89 629Q89 663 116 684T171 705Q215 705 237 681T260 634Q260 619 233 434T204 244Q201 237 175 237Q150 237 146 244Q144 248 117 433T89 629ZM90 86Q90 125 116 148T177 171Q211 169 235 146T259 86Q259 48 235 25T175 1Q138 1 114 24T90 86'], + + // QUOTATION MARK + 0x22: [694,-328,603,38,492,'38 572T38 608T61 669T121 694Q167 694 196 657T225 559Q225 520 214 482T186 418T151 370T119 339T99 329T82 340T70 360Q70 365 74 369T92 385T122 414Q142 441 154 471T170 518L172 535L166 532Q160 530 148 527T122 523Q85 523 62 547ZM305 572T305 608T328 669T388 694Q434 694 463 657T492 559Q492 520 481 482T453 418T418 370T386 339T366 329T349 340T337 360Q337 365 341 369T359 385T389 414Q409 441 421 471T436 518L439 535L433 532Q427 530 415 527T389 523Q352 523 329 547'], + + // NUMBER SIGN + 0x23: [694,193,958,64,893,'64 362Q64 380 87 393H363L366 404Q379 443 390 480T409 542T424 590T435 628T443 655T451 674T458 686T467 692T478 694Q490 694 499 686T509 662Q505 643 427 395Q427 393 523 393H620L623 404Q630 426 652 498T691 624T711 681Q718 694 735 694Q748 694 757 685T766 662Q762 643 684 395Q684 393 777 393H871Q872 392 875 390T881 386T887 381T891 374T893 363Q893 345 871 333L767 332H664L660 319Q660 318 638 245T614 171Q614 169 742 169H871L877 165Q883 161 885 159T890 151T893 138Q893 120 871 109L732 108H594L590 95Q587 84 546 -46Q508 -175 505 -178Q498 -193 478 -193Q462 -193 455 -183T448 -164Q448 -156 530 106Q530 108 434 108H337L333 95Q330 84 289 -46Q251 -175 248 -178Q240 -193 222 -193Q206 -193 199 -183T191 -164Q191 -154 273 106Q273 108 180 108L87 109Q64 117 64 139Q64 156 87 169H293L321 262Q326 277 331 294T340 321L343 330Q343 332 215 332L87 333Q64 343 64 362ZM600 330Q600 332 504 332H407L403 319Q403 318 381 245T357 171Q357 169 453 169H550L578 262Q583 277 588 294T597 321L600 330'], + + // DOLLAR SIGN + 0x24: [750,56,575,64,510,'64 494Q64 541 80 579T120 638T171 674T219 693T253 698H256V750H318V699H323Q355 694 380 686T433 663T480 620T506 556Q510 539 510 520Q510 480 488 463T440 445L422 447Q407 451 398 459Q370 478 370 515Q370 542 384 559T412 580L427 584Q424 589 418 596T386 617T324 636H318V434Q411 419 460 355T510 217Q510 196 507 175T492 122T461 67T404 23T318 -4V-56H256V-5H254Q252 -3 240 -3Q194 4 160 23T108 64T80 112T67 156T64 190Q64 218 81 240T134 262Q171 262 187 240T204 193T190 150T153 125Q146 125 144 123Q142 123 149 113T174 89T218 66Q247 58 255 58Q256 58 256 173V287L239 291Q160 308 112 365T64 494ZM255 636Q246 635 236 632T206 620T173 591T160 543Q160 472 256 448V542Q256 636 255 636ZM320 59Q324 59 333 61T356 70T384 89T406 120T415 167Q415 200 395 225T356 260T318 274V59H320'], + + // PERCENT SIGN + 0x25: [751,56,958,65,893,'65 549Q65 609 84 652T132 714T187 742T236 750Q265 750 296 734T355 697T431 661T541 644Q662 644 736 730Q751 749 767 749T790 739T797 719Q797 710 768 672T504 329Q212 -47 211 -48Q203 -55 191 -55Q161 -55 161 -25Q161 -17 163 -12L642 609Q608 595 542 595Q515 595 488 599T441 608T405 619T381 628L373 632Q373 630 375 619T380 589T383 548Q383 455 343 401T235 347Q217 347 198 351T154 368T110 403T78 462T65 549ZM320 549Q320 633 295 665T235 698H234Q214 698 196 674Q182 650 182 549Q182 509 183 486T190 441T207 409T238 399Q269 399 294 431T320 549ZM745 -56Q727 -56 708 -52T664 -35T620 0T588 59T575 146T588 232T620 291T663 325T708 343T747 347Q810 347 851 294T893 146Q893 89 879 48T841 -15T794 -46T745 -56ZM830 146Q830 230 805 262T745 295H744Q724 295 706 271Q692 247 692 146Q692 106 693 83T700 38T717 6T748 -4Q779 -4 804 28T830 146'], + + // AMPERSAND + 0x26: [705,11,894,48,836,'255 -11Q209 -11 164 4T84 56T48 146Q48 159 50 171Q57 197 72 218T99 249T152 292Q204 333 204 334L194 356Q185 379 176 421T166 511Q166 538 168 551Q182 613 226 654T332 704Q334 704 343 704T358 705Q412 702 444 661T476 565V559Q476 489 334 371L330 368L335 357Q382 272 485 165L496 154L506 163Q543 200 597 273L671 382H601V444H610L732 441Q821 441 830 444H836V382H741L709 335Q702 324 687 302T665 270T646 244T625 216T605 191T581 162T553 132L537 116Q544 109 557 98T605 69T673 51Q711 51 739 70T767 115V118H829V114Q829 70 786 30T668 -11Q570 -11 474 37L451 49L441 43Q352 -11 255 -11ZM415 564Q415 596 400 625T356 654Q329 654 310 634T285 588Q283 580 283 554Q283 475 309 417L325 431Q415 512 415 564ZM192 182Q192 126 213 89T279 51Q348 51 400 83L389 91Q362 112 338 137T295 186T264 229T240 265T227 286Q226 285 222 280T217 272T211 263T205 251T200 238T196 222T193 204T192 182'], + + // APOSTROPHE + 0x27: [694,-329,319,74,261,'74 572T74 608T97 669T157 694Q203 694 232 657T261 559Q261 520 250 482T222 418T187 370T155 339T135 329Q128 329 117 340T106 359Q106 365 117 375T144 399T176 440T203 505Q204 511 205 518T208 530V535L202 532Q196 530 184 527T158 523Q121 523 98 547'], + + // ASTERISK + 0x2A: [750,-306,575,72,502,'235 706Q235 724 251 737T287 750Q306 750 322 738T339 706Q339 685 318 580V579Q429 663 436 666Q441 668 449 668Q471 668 486 650T501 612Q501 582 478 572Q476 570 414 549L354 528L414 507Q420 505 430 502T445 497T458 492T470 488T479 483T487 478T493 471T497 463T500 454T501 443Q501 423 486 406T449 388H446Q435 388 370 437Q339 461 318 477V476Q339 371 339 350Q339 332 323 319T287 306T251 319T235 350Q235 371 256 476V477Q145 393 138 390Q133 388 125 388Q103 388 88 406T73 444Q73 474 96 484Q98 486 160 507L220 528L160 549Q154 551 144 554T129 559T116 564T104 568T95 573T87 578T81 585T77 593T74 602T73 613Q73 633 88 650T125 668H128Q139 668 204 619Q235 595 256 579V580Q235 685 235 706'], + + // HYPHEN-MINUS + 0x2D: [278,-166,383,13,318,'13 166V278H318V166H13'], + + // QUESTION MARK + 0x3F: [700,-1,543,65,478,'65 570Q65 628 119 664T259 700Q326 700 372 688T440 654T469 613T478 569Q478 505 412 465Q287 391 287 294V283Q287 250 284 244T263 237H256H249Q232 237 229 242T225 272V287Q227 364 253 418Q274 463 311 504Q335 530 335 575Q335 622 323 635T259 648Q231 648 209 644T179 636T170 630L172 628Q174 627 177 625T183 620T190 611T197 601T202 587T204 570Q204 539 185 519T134 499Q105 499 85 517T65 570ZM171 86Q171 125 197 148T258 171Q292 169 316 146T340 86Q340 48 316 25T256 1Q218 1 195 24T171 86'], + + // COMMERCIAL AT + 0x40: [699,6,894,64,829,'64 347Q64 511 171 605T434 699Q487 699 500 698Q624 684 703 621T811 464Q828 414 828 344Q828 232 788 179T691 125Q673 125 657 127T628 132T606 140T588 148T576 156T568 162L566 164Q565 164 549 154T504 135T444 125Q349 125 284 183T218 347Q218 455 284 512T448 569Q554 569 610 479H638Q670 479 674 471Q676 468 676 340V258Q676 213 679 199T694 178Q701 174 713 177Q767 187 767 340Q767 489 678 569T446 649Q299 649 213 566T126 346Q126 307 134 269T166 189T225 116T320 65T455 45H463Q606 51 721 91L746 99H782H801Q829 99 829 85Q829 78 825 75T804 65Q800 63 797 62Q625 -6 451 -6Q271 -6 168 91T64 347ZM547 468Q526 493 504 505T444 517T377 476T346 347Q346 306 354 271T386 206T448 177Q505 177 547 226V468'], + + // LATIN CAPITAL LETTER A + 0x41: [698,0,869,40,828,'296 0Q278 3 164 3Q58 3 49 0H40V62H92Q144 62 144 64Q388 682 397 689Q403 698 434 698Q463 698 471 689Q475 686 538 530T663 218L724 64Q724 62 776 62H828V0H817Q796 3 658 3Q509 3 485 0H472V62H517Q561 62 561 63L517 175H262L240 120Q218 65 217 64Q217 62 261 62H306V0H296ZM390 237L492 238L440 365Q390 491 388 491Q287 239 287 237H390'], + + // LATIN CAPITAL LETTER B + 0x42: [686,0,818,39,752,'720 510Q720 476 704 448T665 404T619 377T580 362L564 359L583 356Q602 353 632 342T690 312Q712 292 725 276Q752 235 752 189V183Q752 160 741 125Q698 18 547 2Q543 1 288 0H39V62H147V624H39V686H264H409Q502 686 542 681T624 655Q720 607 720 510ZM563 513Q563 553 548 578T518 611T486 622Q479 624 385 624H293V382H375Q458 383 467 385Q563 405 563 513ZM590 192Q590 307 505 329Q504 330 503 330L398 331H293V62H391H400H444Q496 62 528 75T580 131Q590 155 590 192'], + + // LATIN CAPITAL LETTER C + 0x43: [697,11,831,64,766,'64 343Q64 502 174 599T468 697Q502 697 533 691T586 674T623 655T647 639T657 632L694 663Q703 670 711 677T723 687T730 692T735 695T740 696T746 697Q759 697 762 692T766 668V627V489V449Q766 428 762 424T742 419H732H720Q699 419 697 436Q690 498 657 545Q611 618 532 632Q522 634 496 634Q356 634 286 553Q232 488 232 343T286 133Q355 52 497 52Q597 52 650 112T704 237Q704 248 709 251T729 254H735Q750 254 755 253T763 248T766 234Q766 136 680 63T469 -11Q285 -11 175 86T64 343'], + + // LATIN CAPITAL LETTER D + 0x44: [686,0,882,39,817,'39 624V686H270H310H408Q500 686 545 680T638 649Q768 584 805 438Q817 388 817 338Q817 171 702 75Q628 17 515 2Q504 1 270 0H39V62H147V624H39ZM655 337Q655 370 655 390T650 442T639 494T616 540T580 580T526 607T451 623Q443 624 368 624H298V62H377H387H407Q445 62 472 65T540 83T606 129Q629 156 640 195T653 262T655 337'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,756,39,723,'723 286Q721 284 700 145T677 3V0H39V62H147V618H39V680H660V676Q662 670 675 552T691 428V424H629V428Q629 429 627 448T618 494T601 541Q574 593 527 605T382 618H374H304V384H336Q338 384 347 384T361 384T376 386T392 390T407 397T421 407T432 423Q442 444 443 482V501H505V205H443V224Q442 258 435 278T411 307T380 318T336 322H304V62H375H394Q429 62 449 62T497 66T541 76T577 95T609 126T632 170T651 232Q661 287 661 289H723V286'], + + // LATIN CAPITAL LETTER F + 0x46: [680,0,724,39,675,'425 0L228 3Q63 3 51 0H39V62H147V618H39V680H644V676Q647 670 659 552T675 428V424H613Q613 433 605 477Q599 511 589 535T562 574T530 599T488 612T441 617T387 618H368H304V371H333Q389 373 411 390T437 468V488H499V192H437V212Q436 244 430 263T408 292T378 305T333 309H304V62H439V0H425'], + + // LATIN CAPITAL LETTER G + 0x47: [697,10,904,64,845,'465 -10Q281 -10 173 88T64 343Q64 413 85 471T143 568T217 631T298 670Q371 697 449 697Q452 697 459 697T470 696Q502 696 531 690T582 675T618 658T644 641T656 632L732 695Q734 697 745 697Q758 697 761 692T765 668V627V489V449Q765 428 761 424T741 419H731H724Q705 419 702 422T695 444Q683 520 631 577T495 635Q364 635 295 563Q261 528 247 477T232 343Q232 296 236 260T256 185T296 120T366 76T472 52Q481 51 498 51Q544 51 573 67T607 108Q608 111 608 164V214H464V276H479Q506 273 680 273Q816 273 834 276H845V214H765V113V51Q765 16 763 8T750 0Q742 2 709 16T658 40L648 46Q592 -10 465 -10'], + + // LATIN CAPITAL LETTER H + 0x48: [686,0,900,39,860,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V624H39V686H51Q75 683 226 683Q376 683 400 686H412V624H304V388H595V624H487V686H499Q523 683 673 683Q824 683 848 686H860V624H752V62H860V0H848Q824 3 674 3Q523 3 499 0H487V62H595V326H304V62H412V0H400'], + + // LATIN CAPITAL LETTER I + 0x49: [686,0,436,25,410,'397 0Q370 3 218 3Q65 3 38 0H25V62H139V624H25V686H38Q65 683 218 683Q370 683 397 686H410V624H296V62H410V0H397'], + + // LATIN CAPITAL LETTER J + 0x4A: [686,11,594,8,527,'174 114Q174 96 169 82T159 63T144 47L155 45Q183 40 203 40Q271 40 290 104Q294 118 294 150T295 380V624H154V686H169Q196 683 365 683Q499 683 517 686H527V624H446V379Q446 183 446 153T441 108Q413 32 315 2Q266 -11 208 -11Q160 -11 118 -2T42 37T8 114V122Q8 150 30 174T91 198T152 174T174 122V114'], + + // LATIN CAPITAL LETTER K + 0x4B: [686,0,901,39,852,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V624H39V686H51Q75 683 226 683Q376 683 400 686H412V624H304V338L472 483L634 624H565V686H576Q597 683 728 683Q814 683 829 686H836V624H730L614 524Q507 432 497 422Q496 422 498 418T514 395T553 342T627 241L759 63L805 62H852V0H842Q830 3 701 3Q550 3 526 0H513V62H549Q584 62 584 63Q583 65 486 196T388 328L304 256V62H412V0H400'], + + // LATIN CAPITAL LETTER L + 0x4C: [686,0,692,39,643,'643 285Q641 280 629 148T612 4V0H39V62H147V624H39V686H51Q75 683 228 683Q415 685 425 686H439V624H304V62H352H378Q492 62 539 138Q551 156 558 178T569 214T576 255T581 289H643V285'], + + // LATIN CAPITAL LETTER M + 0x4D: [686,0,1092,39,1052,'314 0Q296 3 181 3T48 0H39V62H147V624H39V686H305Q316 679 323 667Q330 653 434 414L546 157L658 414Q766 662 773 674Q778 681 788 686H1052V624H944V62H1052V0H1040Q1016 3 874 3T708 0H696V62H804V341L803 618L786 580Q770 543 735 462T671 315Q540 13 536 9Q528 1 507 1Q485 1 477 9Q472 14 408 162T281 457T217 603Q215 603 215 334V62H323V0H314'], + + // LATIN CAPITAL LETTER N + 0x4E: [686,0,900,39,860,'314 0Q296 3 181 3T48 0H39V62H147V624H39V686H171H265Q288 686 297 686T309 684T315 679Q317 676 500 455T684 233V624H576V686H585Q603 683 718 683T851 686H860V624H752V319Q752 15 750 11Q747 4 742 2T718 0H712Q708 0 706 0T700 0T696 1T693 2T690 4T687 7T684 11T679 16T674 23Q671 27 437 311L215 579V62H323V0H314'], + + // LATIN CAPITAL LETTER O + 0x4F: [696,10,864,64,798,'64 339Q64 431 96 502T182 614T295 675T420 696Q469 696 481 695Q620 680 709 589T798 339Q798 173 697 82T432 -10Q262 -10 163 85T64 339ZM625 454Q618 502 600 538T562 593T515 624T469 639T431 642Q331 642 276 563Q232 493 232 353Q232 315 234 285T244 216T267 148T308 94T372 56Q405 46 432 46Q517 46 567 106T627 267Q631 299 631 353Q631 418 625 454'], + + // LATIN CAPITAL LETTER P + 0x50: [686,0,786,39,722,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V624H39V686H253Q435 686 470 685T536 678Q585 668 621 648T675 605T705 557T718 514T721 483T718 451T704 409T673 362T616 322T530 293Q500 288 399 287H304V62H412V0H400ZM553 475Q553 554 537 582T459 622Q451 623 373 624H298V343H372Q457 344 480 350Q527 362 540 390T553 475'], + + // LATIN CAPITAL LETTER Q + 0x51: [696,193,864,64,805,'64 339Q64 431 96 502T182 614T295 675T420 696Q469 696 481 695Q620 680 709 589T798 339Q798 255 768 184Q720 77 611 26L600 21Q635 -26 682 -26H696Q769 -26 769 0Q769 7 774 12T787 18Q805 18 805 -7V-13Q803 -64 785 -106T737 -171Q720 -183 697 -191Q687 -193 668 -193Q636 -193 613 -182T575 -144T552 -94T532 -27Q531 -23 530 -16T528 -6T526 -3L512 -5Q499 -7 477 -8T431 -10Q393 -10 382 -9Q238 8 151 97T64 339ZM326 80Q326 113 356 138T430 163Q492 163 542 100L553 86Q554 85 561 91T578 108Q637 179 637 330Q637 430 619 498T548 604Q500 641 425 641Q408 641 390 637T347 623T299 590T259 535Q226 469 226 338Q226 244 246 180T318 79L325 74Q326 74 326 80ZM506 58Q480 112 433 112Q412 112 395 104T378 77Q378 44 431 44Q480 44 506 58'], + + // LATIN CAPITAL LETTER R + 0x52: [687,11,862,39,858,'394 0Q370 3 222 3Q75 3 51 0H39V62H147V624H39V686H234Q256 686 299 686T362 687Q479 687 554 669T681 593Q716 550 716 497Q716 390 568 338Q569 337 572 336T577 332Q605 317 623 300T650 258T662 218T668 172Q678 98 689 76Q707 40 748 40Q770 40 780 54T795 88T801 111Q805 117 827 117H831Q846 117 852 113T858 92Q857 78 852 63T834 30T797 1T739 -11Q630 -11 580 12T511 87Q506 104 506 168Q506 170 506 178T507 194Q507 289 438 313Q424 318 356 318H298V62H406V0H394ZM366 369Q459 370 490 381Q548 402 548 476V498V517Q548 578 513 600Q479 624 392 624H358H298V369H366'], + + // LATIN CAPITAL LETTER S + 0x53: [698,12,639,63,574,'64 493Q64 582 120 636T264 696H272Q280 697 285 697Q380 697 454 645L480 669Q484 672 488 676T495 683T500 688T504 691T508 693T511 695T514 696T517 697T522 697Q536 697 539 691T542 652V577Q542 557 542 532T543 500Q543 472 540 465T524 458H511H505Q489 458 485 461T479 478Q472 529 449 564T393 614T336 634T287 639Q228 639 203 610T177 544Q177 517 195 493T247 457Q253 454 343 436T475 391Q574 326 574 207V200Q574 163 559 120Q517 12 389 -9Q380 -10 346 -10Q308 -10 275 -5T221 7T184 22T160 35T151 40L126 17Q122 14 118 10T111 3T106 -2T102 -5T98 -7T95 -9T92 -10T89 -11T84 -11Q70 -11 67 -4T64 35V108Q64 128 64 153T63 185Q63 203 63 211T69 223T77 227T94 228H100Q118 228 122 225T126 205Q130 125 193 88T345 51Q408 51 434 82T460 157Q460 196 439 221T388 257Q384 259 305 276T221 295Q155 313 110 366T64 493'], + + // LATIN CAPITAL LETTER T + 0x54: [675,0,800,41,758,'41 425Q41 426 51 545T62 669V675H737V669Q738 665 748 546T758 425V419H696V425Q687 517 669 555T595 607Q578 612 522 613H478V62H631V0H615Q585 3 399 3Q214 3 184 0H168V62H321V613H277H263Q164 613 134 561Q113 527 103 425V419H41V425'], + + // LATIN CAPITAL LETTER U + 0x55: [686,11,885,39,845,'570 686Q588 683 703 683T836 686H845V624H737V420Q737 390 737 345T738 284Q738 205 729 164T689 83Q614 -11 465 -11Q321 -11 240 51T148 207Q147 214 147 421V624H39V686H51Q75 683 226 683Q376 683 400 686H412V624H304V405V370V268Q304 181 311 146T346 87Q387 52 466 52Q642 52 667 195Q668 204 669 415V624H561V686H570'], + + // LATIN CAPITAL LETTER V + 0x56: [686,7,869,25,843,'592 686H604Q615 685 631 685T666 684T700 684T724 683Q829 683 835 686H843V624H744L611 315Q584 254 546 165Q492 40 482 19T461 -6L460 -7H409Q398 -4 391 9Q385 20 257 315L124 624H25V686H36Q57 683 190 683Q340 683 364 686H377V624H289L384 403L480 185L492 212Q504 240 529 298T575 405L670 624H582V686H592'], + + // LATIN CAPITAL LETTER W + 0x57: [686,7,1189,24,1164,'915 686L1052 683Q1142 683 1157 686H1164V624H1073L957 320Q930 249 900 170T855 52T839 10Q834 0 826 -5Q821 -7 799 -7H792Q777 -7 772 -5T759 10Q759 11 748 39T716 122T676 228L594 442L512 228Q486 159 455 78Q433 19 428 9T416 -5Q411 -7 389 -7H379Q356 -7 349 10Q349 12 334 51T288 170T231 320L116 624H24V686H35Q44 683 183 683Q331 683 355 686H368V624H323Q278 624 278 623L437 207L499 369L561 531L526 624H434V686H445Q454 683 593 683Q741 683 765 686H778V624H733Q688 624 688 623L847 207Q848 207 927 415T1006 624H905V686H915'], + + // LATIN CAPITAL LETTER X + 0x58: [686,0,869,33,835,'327 0Q306 3 174 3Q52 3 43 0H33V62H98L162 63L360 333L157 624H48V686H59Q80 683 217 683Q368 683 395 686H408V624H335L393 540L452 458L573 623Q573 624 528 624H483V686H494Q515 683 646 683Q769 683 778 686H787V624H658L575 511Q493 398 493 397L508 376Q522 356 553 312T611 229L727 62H835V0H824Q803 3 667 3Q516 3 489 0H476V62H513L549 63L401 274L247 63Q247 62 292 62H338V0H327'], + + // LATIN CAPITAL LETTER Y + 0x59: [686,0,869,19,849,'605 0Q581 3 434 3Q286 3 262 0H250V62H358V275L126 624H19V686H30Q54 683 189 683Q361 685 370 686H383V624H308L319 608Q330 591 353 556T396 491L484 359L660 623Q660 624 623 624H585V686H595Q613 683 728 683Q832 683 841 686H849V624H742L509 274V62H618V0H605'], + + // LATIN CAPITAL LETTER Z + 0x5A: [686,0,703,64,645,'80 430L92 686H358Q624 686 628 684Q638 679 638 656Q638 640 637 639Q637 638 445 353Q401 288 351 214T277 103L253 67L256 66Q258 66 265 66T279 66T298 66H343Q380 66 406 68T464 81T518 110T557 164T579 250Q583 278 583 298Q583 299 614 299H645V291Q643 281 636 150T627 8V0H353Q79 0 75 2Q64 7 64 31Q64 48 66 52L259 340L451 623Q451 624 384 624Q294 623 259 612Q155 581 143 446Q142 440 142 432V430H80'], + + // LOW LINE + 0x5F: [-10,61,575,0,574,'0 -61V-10H574V-61H0'], + + // GRAVE ACCENT + 0x60: [706,-503,575,113,338,'114 634Q114 663 136 684T183 706Q191 706 196 705T208 700T219 693T232 681T245 666T262 645T282 620Q332 558 337 553Q338 552 318 527L299 503L223 543Q215 547 202 553T183 563T167 571T153 580T141 587T131 595T124 603T118 612T115 622T114 634'], + + // TILDE + 0x7E: [344,-202,575,96,478,'343 202Q320 202 278 225T215 249Q181 249 146 214L134 202L115 219Q111 222 106 226T98 234L96 236Q158 306 165 313Q199 344 230 344Q239 344 244 343Q262 339 300 318T359 297Q393 297 428 332L440 344L459 327Q463 324 468 320T476 312L478 310Q416 240 409 233Q375 202 343 202'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js new file mode 100644 index 00000000..580ae187 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // COMBINING GRAVE ACCENT + 0x300: [706,-503,0,-462,-237,'-461 634Q-461 663 -439 684T-392 706Q-384 706 -379 705T-367 700T-356 693T-343 681T-330 666T-313 645T-293 620Q-243 558 -238 553Q-237 552 -257 527L-276 503L-352 543Q-360 547 -373 553T-392 563T-408 571T-422 580T-434 587T-444 595T-451 603T-457 612T-460 622T-461 634'], + + // COMBINING ACUTE ACCENT + 0x301: [706,-503,0,-339,-115,'-184 706Q-156 706 -136 683T-115 634Q-115 608 -134 593T-209 550Q-219 545 -224 543L-300 503L-319 527Q-339 552 -338 553Q-333 558 -283 620Q-276 629 -266 641T-251 659T-239 673T-229 685T-221 693T-212 699T-204 703T-195 705T-184 706'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-520,0,-449,-126,'-368 632L-288 694Q-286 693 -207 632T-127 570T-144 545T-162 520Q-165 520 -225 559L-288 597L-351 559Q-411 520 -414 520Q-415 520 -432 544T-449 570T-368 632'], + + // COMBINING TILDE + 0x303: [694,-552,0,-479,-97,'-232 552Q-255 552 -297 575T-360 599Q-394 599 -429 564L-441 552L-460 569Q-464 572 -469 576T-476 584L-479 586Q-417 656 -410 663Q-376 694 -345 694Q-336 694 -331 693Q-313 689 -275 668T-216 647Q-182 647 -147 682L-135 694L-116 677Q-112 674 -107 670T-100 662L-97 660Q-159 590 -166 583Q-200 552 -232 552'], + + // COMBINING MACRON + 0x304: [607,-540,0,-495,-81,'-495 540V607H-81V540H-495'], + + // COMBINING BREVE + 0x306: [694,-500,0,-473,-103,'-288 500Q-367 500 -420 558T-473 689V694H-422V685Q-422 681 -421 674T-411 648T-389 615T-349 590T-288 578Q-228 578 -193 611T-154 685V694H-103V689Q-103 623 -153 562T-288 500'], + + // COMBINING DOT ABOVE + 0x307: [695,-525,0,-373,-203,'-373 610Q-373 647 -348 671T-292 695Q-251 695 -227 669T-203 610T-225 551T-288 525Q-327 525 -350 551T-373 610'], + + // COMBINING DIAERESIS + 0x308: [695,-535,0,-479,-97,'-479 615Q-479 650 -456 672T-397 695Q-361 693 -341 669T-320 615Q-320 583 -343 559T-399 535Q-428 535 -453 556T-479 615ZM-256 615Q-256 651 -232 673T-176 695Q-149 695 -123 675T-97 615Q-97 578 -121 557T-180 535Q-211 537 -233 559T-256 615'], + + // COMBINING RING ABOVE + 0x30A: [702,-535,0,-415,-161,'-415 618Q-415 653 -382 677T-296 702H-291Q-194 702 -168 647Q-161 634 -161 618Q-161 607 -165 596T-180 570T-220 546T-288 536T-355 545T-394 568T-410 594T-415 618ZM-223 618Q-223 645 -234 652T-274 659H-283Q-289 659 -297 659T-307 660Q-328 660 -339 653T-351 638T-353 619Q-353 591 -341 585T-288 578Q-260 578 -249 580T-230 590T-223 618'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [714,-511,0,-442,-82,'-389 511L-442 543Q-442 544 -424 606T-404 674Q-390 705 -361 713Q-360 713 -356 713T-349 714Q-340 714 -330 712Q-273 690 -273 644Q-273 621 -290 604L-342 554L-389 511ZM-198 511L-251 543Q-251 544 -233 606T-213 674Q-199 705 -170 713Q-169 713 -165 713T-158 714Q-127 714 -105 693T-82 647Q-82 638 -84 631T-89 618T-99 604T-112 590T-130 574T-151 554L-198 511'], + + // COMBINING CARON + 0x30C: [660,-515,0,-445,-132,'-444 603Q-445 604 -439 618T-425 646T-417 659L-352 635L-288 611L-224 635L-159 659Q-158 660 -151 647T-138 619T-132 603Q-135 601 -211 558T-288 515T-365 558T-444 603'], + + // COMBINING LONG SOLIDUS OVERLAY + 0x338: [711,210,0,-734,-161,'-705 -210Q-715 -210 -724 -203T-734 -179Q-734 -171 -732 -166Q-730 -163 -474 266T-215 698Q-208 711 -190 711Q-180 711 -171 704T-161 681Q-161 672 -164 667Q-171 654 -425 228T-683 -201Q-692 -210 -705 -210'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js new file mode 100644 index 00000000..57b60dbd --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/CombDiactForSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // COMBINING RIGHT ARROW ABOVE + 0x20D7: [723,-513,0,-542,-33,'-169 694Q-169 707 -160 715T-142 723Q-127 723 -119 716T-107 698T-90 673T-53 648Q-33 637 -33 619Q-33 602 -45 595T-87 573T-144 532Q-165 513 -176 513Q-189 513 -197 522T-206 543Q-206 556 -188 574L-175 588H-347L-519 589Q-542 597 -542 618Q-542 623 -541 627T-537 635T-532 640T-527 644T-522 648L-519 649H-149Q-169 676 -169 694'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/CombDiactForSymbols.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js new file mode 100644 index 00000000..bb62d6a3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js @@ -0,0 +1,56 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/GeneralPunctuation.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // EN DASH + 0x2013: [300,-249,575,0,574,'0 249V300H574V249H0'], + + // EM DASH + 0x2014: [300,-249,1150,0,1149,'0 249V300H1149V249H0'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [695,-329,319,58,246,'58 461Q58 503 70 542T99 607T134 654T165 684T184 694T201 683T213 664Q213 658 202 648T175 624T143 583T116 518Q115 512 114 505T112 493L111 488Q132 500 161 500Q198 500 221 475T245 414T222 354T161 329Q112 329 85 369T58 461'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-329,319,74,261,'74 572T74 608T97 669T157 694Q203 694 232 657T261 559Q261 520 250 482T222 418T187 370T155 339T135 329Q128 329 117 340T106 359Q106 365 117 375T144 399T176 440T203 505Q204 511 205 518T208 530V535L202 532Q196 530 184 527T158 523Q121 523 98 547'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-329,603,110,564,'110 461Q110 502 121 541T150 606T185 653T217 684T235 694Q242 694 254 682T266 664Q266 659 254 648T226 623T193 578T167 511Q164 500 164 494T164 487Q188 500 212 500Q251 500 274 475T297 414Q297 378 274 354T212 329Q167 329 139 367T110 461ZM377 461Q377 502 388 541T417 606T452 653T484 684T502 694Q509 694 521 682T533 664Q533 659 521 648T493 623T460 578T434 511Q431 500 431 494T431 487Q455 500 479 500Q518 500 541 475T564 414Q564 378 541 354T479 329Q434 329 406 367T377 461'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-328,603,38,492,'38 572T38 608T61 669T121 694Q167 694 196 657T225 559Q225 520 214 482T186 418T151 370T119 339T99 329T82 340T70 360Q70 365 74 369T92 385T122 414Q142 441 154 471T170 518L172 535L166 532Q160 530 148 527T122 523Q85 523 62 547ZM305 572T305 608T328 669T388 694Q434 694 463 657T492 559Q492 520 481 482T453 418T418 370T386 339T366 329T349 340T337 360Q337 365 341 369T359 385T389 414Q409 441 421 471T436 518L439 535L433 532Q427 530 415 527T389 523Q352 523 329 547'], + + // DAGGER + 0x2020: [702,211,511,64,446,'231 470Q232 471 232 473Q232 477 213 540T193 636Q192 642 192 651T204 677T239 700Q249 702 255 702Q300 702 315 660Q317 653 317 636Q317 603 298 539T279 472V470Q280 470 318 488T383 506Q408 506 423 493T442 467T446 444T443 421T424 396T383 382Q355 382 318 400T279 418Q278 416 285 392T303 334T316 284Q318 268 318 234Q318 149 311 45T296 -127T284 -203Q279 -211 255 -211Q237 -211 233 -210T226 -203Q222 -195 214 -129T199 41T192 234V245Q192 286 212 349Q233 413 231 418Q229 418 192 400T128 382Q102 382 86 396T67 421T64 444T67 466T86 492T128 506Q155 506 192 488T231 470'], + + // DOUBLE DAGGER + 0x2021: [703,202,511,64,446,'193 637Q193 663 206 679T231 698T255 702T279 699T304 679T317 637Q317 605 299 557T280 504Q280 503 281 503T320 521T382 539Q410 539 428 521T446 476Q446 454 432 434T383 414H377Q358 414 320 431T281 449L280 448Q280 444 298 396T317 316Q318 310 318 301T306 275T271 252Q261 250 255 250Q210 250 195 292Q193 299 193 316Q193 347 211 395T230 448Q230 449 229 449Q227 449 196 434Q151 414 133 414H127Q102 414 87 427T68 452T64 477Q64 503 81 521T127 539Q143 539 164 532T204 515T226 504Q230 502 230 504Q230 508 212 556T193 637ZM193 184Q193 210 206 226T231 245T255 249T279 246T304 226T317 184Q317 153 299 106T280 53Q280 51 282 51T322 68T383 86Q411 86 428 69T445 24T428 -21T382 -39Q358 -39 322 -22T282 -4Q280 -3 280 -3T280 -6Q281 -13 299 -59T317 -136Q318 -142 318 -151T306 -177T271 -200Q261 -202 255 -202Q210 -202 195 -160Q193 -153 193 -136Q193 -106 211 -60T230 -6Q230 -4 228 -4T188 -21T128 -39Q100 -39 83 -22T65 24Q65 53 82 69T127 86Q150 86 187 69T228 51Q230 50 230 50T230 53Q229 58 211 105T193 184'], + + // HORIZONTAL ELLIPSIS + 0x2026: [171,-1,1295,74,1221,'74 85Q74 121 99 146T156 171Q200 171 222 143T245 85Q245 56 224 29T160 1Q118 1 96 27T74 85ZM562 85Q562 121 587 146T644 171Q688 171 710 143T733 85Q733 56 712 29T648 1Q606 1 584 27T562 85ZM1050 85Q1050 121 1075 146T1132 171Q1176 171 1198 143T1221 85Q1221 56 1200 29T1136 1Q1094 1 1072 27T1050 85'], + + // PRIME + 0x2032: [563,-33,344,35,331,'240 563Q278 563 304 539T331 480V473Q331 462 316 431T217 236Q199 200 174 151T136 78T123 50Q113 33 105 33Q101 33 72 45T38 60Q35 63 35 65Q35 77 101 293T171 517Q182 542 202 552T240 563'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/GeneralPunctuation.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js new file mode 100644 index 00000000..4d32d92f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js @@ -0,0 +1,41 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/GeometricShapes.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // WHITE UP-POINTING TRIANGLE + 0x25B3: [711,-1,1022,69,953,'91 1Q69 10 69 31Q69 39 81 59T168 197Q327 447 485 697Q493 711 510 711Q523 711 532 702Q536 697 743 371T951 41Q953 35 953 31Q953 12 931 1H91ZM690 340Q651 401 604 476T534 586L512 621Q511 622 507 616Q498 604 332 342L154 62L333 61H689L867 62L690 340'], + + // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25B9: [540,39,575,33,542,'33 518Q45 540 63 540H65Q72 540 174 481Q247 439 302 407Q529 276 533 272Q542 263 542 250Q542 238 533 229Q528 224 304 95T71 -38Q69 -39 63 -39Q42 -39 33 -16V518ZM449 251L94 456Q93 456 93 251Q93 45 94 45L106 52Q119 59 139 71T186 98T242 131T301 165T357 197T404 225T437 244L449 251'], + + // WHITE DOWN-POINTING TRIANGLE + 0x25BD: [500,210,1022,68,953,'68 470Q68 481 75 489T91 499H93Q296 500 512 500H931Q932 499 937 496T945 490T950 482T953 469Q953 465 951 459Q950 455 743 129T532 -202Q524 -210 511 -210Q497 -210 489 -202Q486 -199 281 124T71 456Q68 462 68 470ZM154 439Q155 437 332 158T510 -122Q510 -123 533 -87T600 18T688 157Q866 437 866 438Q867 439 805 439T511 439H154'], + + // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25C3: [539,38,575,33,542,'542 -14Q533 -38 514 -38H512Q503 -38 498 -35Q494 -34 270 95T42 229Q33 238 33 251Q33 259 35 264Q36 265 38 268T42 272Q48 278 271 407T504 539H508Q533 539 542 515V-14ZM481 251Q481 456 480 456Q125 252 124 251Q124 250 301 148T480 45T481 251'], + + // LARGE CIRCLE + 0x25EF: [711,212,1150,65,1084,'65 42T65 250T204 584T574 711Q795 711 935 594Q955 577 974 555T1022 490T1067 385T1084 250Q1084 42 945 -84T574 -211T204 -85ZM1024 250Q1024 431 903 540T578 650Q482 650 404 627T274 565T189 474T140 366T125 250Q125 123 186 31T347 -106T573 -150Q772 -150 898 -45T1024 250'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/GeometricShapes.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js new file mode 100644 index 00000000..914eea9f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/GreekAndCoptic.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,0,692,39,643,'425 0L228 3Q63 3 51 0H39V62H147V618H39V680H612V676Q614 670 627 552T643 428V424H581V428Q580 430 576 461T562 524T532 576Q512 596 481 605T426 616T357 618H304V62H439V0H425'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [698,0,958,56,901,'901 12Q901 7 892 0H479Q65 0 62 2Q56 6 56 11Q56 14 242 347T433 685Q438 694 450 696Q454 698 480 698H506L523 687Q526 683 711 354T899 17Q901 13 901 12ZM653 137L427 538L202 137L315 136H540L653 137'], + + // GREEK CAPITAL LETTER THETA + 0x398: [696,10,894,64,830,'629 -10T446 -10T164 89T64 340Q64 380 71 420T102 510T163 596T266 662T418 696H438Q488 696 499 695Q582 686 644 655T741 584T796 495T823 409T829 338Q829 188 729 89ZM439 645Q416 645 390 638T333 615T275 564T236 480Q221 423 221 341Q221 272 230 228Q247 144 301 94T447 43T592 93T663 228Q672 272 672 341Q672 645 439 645ZM286 242V446H348V412H545V446H607V242H545V276H348V242H286'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [698,0,806,40,765,'285 0Q267 3 154 3Q56 3 47 0H40V62H131Q131 63 167 160T244 369T321 578T359 678Q366 698 393 698H404H413Q437 698 446 678Q448 672 560 369T674 62H765V0H754Q733 3 604 3Q453 3 429 0H416V62H461L507 63L355 470Q353 468 279 265L203 63L249 62H294V0H285'], + + // GREEK CAPITAL LETTER XI + 0x39E: [675,0,767,48,718,'54 465L63 674Q63 675 383 675T703 674L712 465Q712 464 681 464H650V467Q650 490 646 516T632 545Q612 550 383 550H283Q169 550 149 548T124 531Q123 530 123 529Q116 506 116 467V464H85Q54 464 54 465ZM160 256V447H222V414H544V447H606V256H544V289H222V256H160ZM57 0L48 222H110V219Q110 147 125 133Q127 130 130 129T160 127T235 126T383 126Q482 126 530 126T604 127T635 129T641 133Q656 146 656 219V222H718L709 0H57'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [680,0,900,39,860,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V618H39V680H860V618H752V62H860V0H848Q824 3 674 3Q523 3 499 0H487V62H595V618H304V62H412V0H400'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [686,0,831,64,766,'766 271Q764 266 750 137T735 4V0H407Q74 0 71 4L70 5Q64 9 64 18Q64 24 82 41T213 158L359 288Q360 288 320 336T214 460Q67 633 66 635Q64 638 64 655Q64 679 75 684Q78 686 407 686H735V682Q738 676 751 558T766 434V430H735Q704 430 704 431Q704 434 703 444T696 477T681 520T654 563T613 598Q578 615 527 619T371 624H281L396 489Q506 358 513 351Q517 342 512 334Q503 325 371 208Q338 179 303 147T249 99L231 83L243 81Q258 81 364 81Q382 81 418 81T470 82T513 83T554 88T587 96T619 109T645 129Q689 173 702 260L704 274Q704 275 735 275H766V271'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [698,0,894,64,829,'64 556Q69 619 114 658T224 697Q271 697 310 677T375 622T417 554T444 484L447 477V479Q456 516 473 551T516 620T582 676T670 697Q735 697 780 656T829 556Q829 539 818 532H772Q761 539 761 548Q761 571 681 571Q664 571 653 570T623 562T587 537T555 490Q536 448 531 410T525 300V210V62H660V0H646L447 3Q257 1 247 0H233V62H368V210V301Q368 373 363 410T338 490Q324 518 307 536T270 561T240 569T212 571Q132 571 132 548Q132 539 121 532H75Q64 538 64 556'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [686,0,831,64,766,'609 0Q582 3 415 3T221 0H207V62H342V168L328 169Q193 180 117 241Q64 286 64 343T117 445Q193 506 328 517L342 518V624H207V686H221Q248 683 415 683T609 686H623V624H488V518L502 517Q637 506 713 445Q766 400 766 343T713 241Q637 180 502 169L488 168V62H623V0H609ZM342 219T342 343T340 467Q328 467 304 459Q277 451 261 439T237 409T228 378T226 343Q226 314 229 296T250 259T301 228Q331 219 341 219Q342 219 342 343ZM604 343Q604 365 602 379T591 413T560 446T503 464L489 467Q488 467 488 343T489 219Q499 219 529 228Q554 236 570 248T593 277T602 308T604 343'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [686,0,894,64,829,'64 515Q64 532 71 536T104 540H139Q200 540 207 538Q225 533 236 521T253 489T260 454T264 414Q264 340 287 296T347 237Q369 226 373 226Q374 226 374 425V624H239V686H253Q280 683 447 683T641 686H655V624H520V226L522 227Q525 228 531 229T552 240T580 261T606 298T624 354Q627 368 628 394T631 440T637 482T654 518T686 538Q693 540 754 540H794Q817 540 823 536T829 515Q829 500 824 495T811 489T796 483T782 461T775 408Q767 212 568 175Q526 168 521 168Q520 168 520 115V62H655V0H641Q614 3 447 3T253 0H239V62H374V168L364 169Q290 178 243 203Q126 261 118 409Q117 443 111 461T98 484T83 489T70 495T64 515'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [696,1,831,51,779,'598 645T415 645T232 458Q232 385 275 239T318 26Q318 8 311 4T272 -1Q265 -1 240 -1T196 0H88V3Q86 5 70 108Q52 211 51 212V215H113V212Q123 149 132 133Q136 124 149 122T202 118Q241 118 241 119Q241 132 132 277Q64 378 64 457Q64 564 158 630T403 696Q487 696 543 685T661 638Q722 599 744 549T766 458Q766 434 761 410T749 368T729 327T709 293T684 258T663 229Q632 187 614 160T592 126L589 119Q589 118 628 118Q667 119 680 121T698 133Q702 140 706 160T714 196L717 212V215H779V212Q778 211 760 108Q744 5 742 3V0H634H562Q528 0 520 4T512 26Q512 92 555 238T598 458Q598 645 415 645'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js new file mode 100644 index 00000000..c36b40ee --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js @@ -0,0 +1,50 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/Latin1Supplement.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // DIAERESIS + 0xA8: [695,-535,575,96,478,'96 615Q96 650 120 672T178 695Q214 693 234 669T255 615Q255 583 232 559T176 535Q147 535 122 556T96 615ZM319 615Q319 651 343 673T399 695Q426 695 452 675T478 615Q478 578 454 557T395 535Q364 537 342 559T319 615'], + + // NOT SIGN + 0xAC: [371,-61,767,64,703,'680 371Q683 369 688 366T695 361T698 356T701 346T701 332T702 308V216Q702 196 702 168T703 130Q703 90 697 76T671 61Q650 61 643 81Q641 86 641 198V310H364L87 311Q64 319 64 341Q64 362 84 369Q89 371 385 371H680'], + + // MACRON + 0xAF: [607,-540,575,80,494,'80 540V607H494V540H80'], + + // DEGREE SIGN + 0xB0: [702,-535,575,160,414,'160 618Q160 653 193 677T279 702H284Q381 702 407 647Q414 634 414 618Q414 607 410 596T395 570T355 546T287 536T220 545T181 568T165 594T160 618ZM352 618Q352 645 341 652T301 659H292Q286 659 278 659T268 660Q247 660 236 653T224 638T222 619Q222 591 234 585T287 578Q315 578 326 580T345 590T352 618'], + + // PLUS-MINUS SIGN + 0xB1: [728,35,894,64,829,'64 328T64 346T87 377H416V542L417 707Q431 728 443 728Q467 728 475 709Q477 704 477 540V377H807Q808 376 811 374T817 370T823 365T827 358T829 347Q829 326 807 317L642 316H477V25H807Q808 24 811 22T817 18T823 13T827 6T829 -5Q829 -26 807 -35H87Q64 -24 64 -6T87 25H416V316H251L87 317Q64 328 64 346'], + + // ACUTE ACCENT + 0xB4: [706,-503,575,236,460,'391 706Q419 706 439 683T460 634Q460 608 441 593T366 550Q356 545 351 543L275 503L256 527Q236 552 237 553Q242 558 292 620Q299 629 309 641T324 659T336 673T346 685T354 693T363 699T371 703T380 705T391 706'], + + // MULTIPLICATION SIGN + 0xD7: [530,28,894,168,726,'168 500Q168 515 178 522T195 530H198Q207 530 218 521T282 458Q312 428 331 409L447 294L563 409Q674 520 682 525Q687 529 695 529Q711 529 718 520T726 499V498Q726 489 720 481T666 427Q631 392 606 367L490 251L606 135Q717 23 721 17T726 2Q726 -9 719 -18T695 -28H692Q685 -28 674 -18T608 47Q581 74 563 92L447 207L331 91Q217 -22 208 -27Q206 -28 203 -28H197Q168 -28 168 2Q168 13 178 24T288 135L404 250L288 366Q177 479 173 485T168 500'], + + // DIVISION SIGN + 0xF7: [597,96,894,64,828,'344 495Q344 535 372 566T447 597Q490 597 519 566T548 495Q548 452 518 423T446 393Q404 393 374 423T344 495ZM87 221Q64 230 64 251T84 279Q89 281 448 281H806Q807 280 810 278T816 274T822 269T826 262T828 251Q828 230 806 221H87ZM344 -36T344 6T373 78T446 108Q487 108 517 79T548 6Q548 -35 519 -65T446 -96Q406 -96 375 -66'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/Latin1Supplement.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js new file mode 100644 index 00000000..13b8d006 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/LatinExtendedA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [452,8,394,24,367,'24 296Q24 305 34 328T63 380T115 430T187 452Q205 452 223 448T262 435T295 406T308 360Q308 345 287 290T240 170T207 87Q202 67 202 57Q202 42 215 42Q235 42 257 64Q288 92 302 140Q307 156 310 159T330 162H336H347Q367 162 367 148Q367 140 357 117T329 65T276 14T201 -8Q158 -8 121 15T83 84Q83 104 133 229T184 358Q189 376 189 388Q189 402 177 402Q156 402 134 380Q103 352 89 304Q84 288 81 285T61 282H55H44Q24 282 24 296'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js new file mode 100644 index 00000000..f6ec6bea --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/LatinExtendedB.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // LATIN SMALL LETTER DOTLESS J + 0x237: [451,201,439,-12,420,'297 360T297 373T294 392T288 400T278 401H276Q237 398 200 363Q181 343 170 325T156 299T149 287T129 282H123H116Q102 282 97 284T92 298Q93 303 98 315T118 349T151 390T201 427T267 451H279Q357 451 388 422T420 354V339L370 138Q321 -60 317 -69Q287 -157 163 -194Q133 -201 99 -201Q39 -201 14 -178T-12 -125Q-12 -94 11 -69T68 -43Q93 -43 108 -57T123 -95Q123 -121 100 -151H104Q131 -151 155 -125T193 -60Q195 -54 244 141T294 345Q297 360 297 373'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/LatinExtendedB.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js new file mode 100644 index 00000000..b34e1382 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/LetterlikeSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // stix-/hbar - Planck's over 2pi + 0x210F: [694,8,668,45,642,'477 56Q477 48 479 46T490 43Q522 45 544 75T577 140Q582 156 585 159T605 162H611H622Q642 162 642 148Q642 138 632 114T602 62T550 13T478 -8Q429 -8 394 17T358 83Q358 95 395 199T433 350Q433 400 394 400H388H383Q335 400 291 363Q256 332 236 298Q233 293 202 170T169 40Q160 18 141 5T99 -8Q70 -8 58 9T45 39Q45 51 116 336L167 540H80V607H184L188 622H184Q183 622 179 622T169 623T157 624T146 624T136 624T131 625Q119 628 119 642Q119 647 123 661T129 679Q133 684 142 685T220 690Q293 694 307 694Q324 694 328 679Q328 673 311 607H494V540H294Q286 507 278 473T264 420L260 403Q260 400 269 408Q327 451 393 451H401H410Q425 451 439 450T476 442T515 424T544 391T556 337Q556 286 517 179T477 56'], + + // BLACK-LETTER CAPITAL I + 0x2111: [702,8,831,64,798,'65 502Q65 564 99 611T174 680T250 701Q251 701 257 701T269 702Q319 702 374 680T466 633T542 578T592 542L602 538L621 537Q669 537 695 542T725 550T730 560Q732 570 736 572T756 575H764H777Q798 575 798 559Q798 535 780 519Q762 500 727 493T622 486Q532 486 483 504T386 572Q382 576 371 588T355 603T341 616T327 628T313 637T298 645T282 649T264 651Q215 651 174 609T132 501Q132 434 184 393T312 347Q327 346 330 343T333 322T330 301T312 296Q276 296 236 307T157 341T91 406T65 502ZM406 314Q406 351 427 378T480 418T541 437T598 443Q645 443 655 442Q722 435 760 407T798 338Q798 326 794 324T772 321H764Q739 321 734 325T729 341T717 365Q690 392 618 392H611Q586 392 572 366Q561 345 561 315Q561 291 577 275Q595 260 643 241T706 211Q747 186 747 140Q747 78 696 39Q667 15 617 1Q578 -8 480 -8H439Q379 -8 345 5T228 74Q182 105 152 119T86 137Q71 138 68 142T64 164Q64 175 64 177T68 184T78 188T99 188H151L226 187L238 185Q275 176 305 158T376 106T443 54Q478 31 489 31H490Q494 32 500 34T524 43T554 62T579 92T593 135Q593 162 575 179T533 204T479 225T432 255Q406 278 406 314'], + + // SCRIPT SMALL L + 0x2113: [702,19,474,-1,446,'245 -19Q228 -19 212 -16T184 -6T162 9T143 27T129 46T118 66T111 84T106 99T102 111L101 116L69 89L36 62Q31 60 24 62Q-1 88 -1 98Q-1 101 1 105Q1 106 73 170L95 189V197Q95 242 112 317T159 476T241 624T353 701Q357 702 367 702Q428 702 444 641Q446 630 446 606Q446 454 241 246L215 220L212 203Q203 150 203 114Q203 113 203 106T204 95T205 82T209 67T214 54T223 43T236 35T253 32Q277 32 305 44T352 70T389 98T407 112Q409 113 412 113Q420 113 432 95Q445 77 443 70Q440 64 416 44T342 3T245 -19ZM387 615Q387 651 366 651Q342 651 321 604T276 470L241 331Q246 331 280 373T350 486T387 615'], + + // SCRIPT CAPITAL P + 0x2118: [461,210,740,72,726,'399 159Q410 159 421 151T433 126Q433 104 410 85Q408 84 410 78Q411 72 414 66T428 51T455 43Q483 43 506 55T543 83T568 125T584 166T594 206Q595 211 596 214Q610 273 610 301Q610 365 542 365H538Q483 365 429 344T337 292T269 229T225 175T210 150L255 99Q261 92 274 78T292 58T305 41T316 22T321 3T324 -23Q324 -87 283 -148T174 -210H171Q161 -210 152 -209T128 -201T101 -180T81 -141T72 -78Q72 -72 72 -60T73 -45Q79 4 102 65L108 81Q84 117 84 167Q84 273 140 367T269 461Q285 461 285 447Q285 440 282 431Q278 418 276 415T264 410Q228 404 201 336T174 219Q174 218 176 202L184 214Q252 303 348 360T549 417Q614 417 658 391T719 317Q726 292 726 260Q726 148 646 70T451 -8Q407 -8 377 17T346 92Q346 159 396 159H399ZM178 -160Q200 -160 216 -132T232 -75Q232 -63 228 -56T203 -26Q196 -18 192 -14Q185 -5 176 5T161 20T156 27L153 28Q151 28 146 8T137 -42T132 -89Q132 -160 178 -160'], + + // BLACK-LETTER CAPITAL R + 0x211C: [711,16,831,42,824,'133 87Q166 34 218 34Q232 34 238 47T247 99Q248 105 248 127Q248 135 248 144T247 169T245 239T243 382Q242 534 241 565T234 612Q219 651 190 651Q168 651 151 630T134 580Q134 565 148 548T178 516T209 468T223 394Q218 243 131 243Q102 243 84 266T64 319Q64 334 69 337T95 340Q117 340 121 337T126 317Q127 294 133 294Q140 294 146 318Q150 339 150 382L151 413Q141 437 103 485T64 572Q64 623 100 662T197 702Q235 702 273 684T339 634Q407 702 610 710Q615 710 630 710T651 711Q673 711 677 709Q682 706 753 578T824 444Q824 437 817 432Q799 420 758 399T686 361T654 344T657 289T665 177T670 115Q676 78 708 46L735 69Q762 93 769 93L807 73Q812 68 812 62Q812 57 805 51T759 18L710 -16H680H669Q617 -16 573 17Q527 52 515 114Q514 118 508 218T501 326V330H397V281Q397 197 384 135T327 28Q281 -16 223 -16H220Q180 -16 151 -7T107 18T86 46T78 68L74 67Q64 67 53 78T42 97Q42 106 51 109T60 114V119Q60 120 60 122L59 124Q59 129 64 135T78 149T91 160Q102 163 109 155Q115 133 119 133Q124 133 137 123T150 102Q150 98 146 94Q144 90 133 87ZM664 419L540 644H535Q517 644 487 637Q396 621 371 582L376 571Q396 512 397 435V392H494Q598 393 610 396Q611 397 615 398Q626 401 645 409T664 419'], + + // ALEF SYMBOL + 0x2135: [694,0,703,64,638,'590 427Q581 427 579 433T575 450T568 470V468L532 288L541 281Q620 220 634 165L637 154V124Q637 74 628 46Q623 32 612 16T592 0Q580 0 578 19T569 69T538 121Q532 126 385 240T236 355Q234 355 231 338T225 291T222 237Q222 222 223 213T225 201T228 195T231 190Q238 179 261 160T300 119T316 73Q316 41 291 23T231 1Q226 0 149 0H98Q73 0 69 3T64 24Q64 43 67 47T85 51H89Q119 51 134 55T152 64T154 76Q154 95 125 141T96 220Q96 243 104 270T123 319T145 360T164 391T172 404T150 421T102 468T68 529L65 541V570Q65 620 74 648Q79 664 91 679T111 694Q122 694 123 675T132 625T164 573Q168 569 319 452T471 335Q471 337 486 409T502 488Q502 489 491 493T467 511T448 546V573Q448 602 452 624T462 659T474 680T486 691T493 694Q499 694 502 691T507 682T513 673Q517 667 534 651T557 630Q558 629 590 616T631 587Q638 577 638 543Q637 489 622 458T590 427'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Main.js new file mode 100644 index 00000000..9a74211d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Main.js @@ -0,0 +1,217 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'] = { + directory: 'Main/Bold', + family: 'MathJax_Main', + id: 'MJMAINB', + weight: 'bold', + skew: { + 0x131: 0.0319, + 0x237: 0.0958, + 0x210F: -0.0319, + 0x2113: 0.128, + 0x2202: 0.0958 + }, + Ranges: [ + [0x20,0x7F,"BasicLatin"], + [0xA0,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x20D0,0x20FF,"CombDiactForSymbols"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2190,0x21FF,"Arrows"], + [0x2200,0x22FF,"MathOperators"], + [0x2300,0x23FF,"MiscTechnical"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x27C0,0x27EF,"MiscMathSymbolsA"], + [0x27F0,0x27FF,"SupplementalArrowsA"], + [0x2A00,0x2AFF,"SuppMathOperators"] + ], + + // LEFT PARENTHESIS + 0x28: [750,249,447,103,382,'103 166T103 251T121 412T165 541T225 639T287 708T341 750H356H361Q382 750 382 736Q382 732 365 714T323 661T274 576T232 439T214 250Q214 -62 381 -229Q382 -231 382 -234Q382 -249 360 -249H356H341Q314 -231 287 -207T226 -138T165 -41T121 89'], + + // RIGHT PARENTHESIS + 0x29: [751,249,447,64,344,'231 251Q231 354 214 439T173 575T123 661T81 714T64 735Q64 744 73 749H75Q77 749 79 749T84 750T90 750H105Q132 732 159 708T220 639T281 542T325 413T343 251T325 89T281 -40T221 -138T159 -207T105 -249H90Q80 -249 76 -249T68 -245T64 -234Q64 -230 81 -212T123 -160T172 -75T214 61T231 251'], + + // PLUS SIGN + 0x2B: [633,131,894,64,829,'64 232T64 250T87 281H416V444Q416 608 418 612Q426 633 446 633T475 613Q477 608 477 444V281H807Q808 280 811 278T817 274T823 269T827 262T829 251Q829 230 807 221L642 220H477V57Q477 -107 475 -112Q468 -131 446 -131Q425 -131 418 -112Q416 -107 416 57V220H251L87 221Q64 232 64 250'], + + // COMMA + 0x2C: [171,194,319,74,258,'74 85Q74 120 97 145T159 171Q200 171 226 138Q258 101 258 37Q258 -5 246 -44T218 -109T183 -155T152 -184T135 -194Q129 -194 118 -183T106 -164Q106 -157 115 -149Q121 -145 130 -137T161 -100T195 -35Q197 -28 200 -17T204 3T205 11T199 9T183 3T159 0Q120 0 97 26T74 85'], + + // FULL STOP + 0x2E: [171,-1,319,74,245,'74 85Q74 121 99 146T156 171Q200 171 222 143T245 85Q245 56 224 29T160 1Q118 1 96 27T74 85'], + + // SOLIDUS + 0x2F: [750,250,575,64,510,'451 730Q460 750 479 750Q492 750 501 740T510 718Q508 708 318 244L122 -232Q112 -250 95 -250Q82 -250 73 -241T64 -218Q66 -205 258 261T451 730'], + + // DIGIT ZERO + 0x30: [654,10,575,45,529,'266 654H280H282Q500 654 524 418Q529 370 529 320Q529 125 456 52Q397 -10 287 -10Q110 -10 63 154Q45 212 45 316Q45 504 113 585Q140 618 185 636T266 654ZM374 548Q347 604 286 604Q247 604 218 575Q197 552 193 511T188 311Q188 159 196 116Q202 87 225 64T287 41Q339 41 367 87Q379 107 382 152T386 329Q386 518 374 548'], + + // DIGIT ONE + 0x31: [655,0,575,80,494,'481 0L294 3Q136 3 109 0H96V62H227V304Q227 546 225 546Q169 529 97 529H80V591H97Q231 591 308 647L319 655H333Q355 655 359 644Q361 640 361 351V62H494V0H481'], + + // DIGIT TWO + 0x32: [654,0,575,57,517,'175 580Q175 578 185 572T205 551T215 510Q215 467 191 449T137 430Q107 430 83 448T58 511Q58 558 91 592T168 640T259 654Q328 654 383 637Q451 610 484 563T517 459Q517 401 482 360T368 262Q340 243 265 184L210 140H274Q416 140 429 145Q439 148 447 186T455 237H517V233Q516 230 501 119Q489 9 486 4V0H57V25Q57 51 58 54Q60 57 109 106T215 214T288 291Q364 377 364 458Q364 515 328 553T231 592Q214 592 201 589T181 584T175 580'], + + // DIGIT THREE + 0x33: [655,11,575,47,526,'80 503Q80 565 133 610T274 655Q366 655 421 623T491 538Q493 528 493 510Q493 446 453 407T361 348L376 344Q452 324 489 281T526 184Q526 152 514 121T474 58T392 8T265 -11Q175 -11 111 34T48 152Q50 187 72 209T132 232Q171 232 193 208T216 147Q216 136 214 126T207 108T197 94T187 84T178 77T170 72L168 71Q168 70 179 65T215 54T266 48H270Q331 48 350 105Q358 128 358 185Q358 239 348 268T309 313Q292 321 242 322Q205 322 198 324T191 341V348Q191 366 196 369T232 375Q239 375 247 376T260 377T268 378Q284 383 297 393T326 436T341 517Q341 536 339 547T331 573T308 593T266 600Q248 600 241 599Q214 593 183 576Q234 556 234 503Q234 462 210 444T157 426Q126 426 103 446T80 503'], + + // DIGIT FOUR + 0x34: [656,0,575,32,542,'531 0Q510 3 381 3Q238 3 214 0H201V62H313V155H32V217L205 434Q342 606 362 630T387 655L391 656Q395 656 401 656T414 656H427Q447 656 451 645Q453 641 453 429V217H542V155H453V62H542V0H531ZM324 217V494L103 218L213 217H324'], + + // DIGIT FIVE + 0x35: [655,11,575,57,517,'100 565V605Q100 637 102 646T113 655Q116 655 139 647T202 631T286 623Q332 623 372 631T434 647T459 655Q466 655 469 651T472 643T472 629Q472 613 463 601Q370 487 219 487Q195 487 183 488T169 490T168 433V376Q169 376 174 379T188 387T211 397T244 405T288 409Q390 409 453 352T517 201Q517 106 445 48T253 -11Q169 -11 113 37T57 154Q57 187 79 208T131 229T183 209T206 154Q206 99 155 83Q152 82 157 78Q196 47 253 47Q347 47 358 135Q358 137 358 138Q360 158 360 209Q360 277 355 301T337 338Q315 358 282 358Q202 358 160 303Q153 294 149 292T130 290Q107 290 102 301Q100 304 100 474V565'], + + // DIGIT SIX + 0x36: [655,11,575,48,526,'48 318Q48 395 68 456T120 553T193 613T273 646T350 655Q425 655 461 616T497 524Q497 485 475 468T428 451Q399 451 378 470T357 521Q357 565 403 588Q375 601 351 601Q313 601 282 584Q242 565 222 526Q199 473 199 367Q201 369 210 380T227 396T246 410T275 422T312 426Q438 426 494 332Q526 285 526 208V199Q526 112 465 53Q428 17 388 3T285 -11Q236 -11 195 7T135 43T104 80Q48 165 48 318ZM375 231V244V268Q375 295 373 310T364 342T341 366T299 374H297Q231 374 208 287Q200 257 200 196Q201 120 209 100Q231 47 288 47Q351 47 368 90Q375 112 375 231'], + + // DIGIT SEVEN + 0x37: [676,11,575,64,558,'256 -11Q231 -11 208 5T185 65Q185 105 193 146T212 220T241 289T275 349T312 402T346 445T377 479T397 502L400 504H301Q156 503 150 497Q142 491 134 456T126 407H64V411Q65 414 82 544T99 675T130 676H161V673Q161 669 162 666T167 661T173 657T181 654T190 652T200 651T210 650T220 649T229 648Q237 648 254 647T276 646Q277 646 426 644H558V620V607Q558 596 551 586T509 537Q489 515 476 500Q390 401 384 393Q349 339 337 259T324 113T322 38Q307 -11 256 -11'], + + // DIGIT EIGHT + 0x38: [654,11,575,48,526,'80 474Q80 561 139 607T278 654Q357 654 411 632Q490 593 494 509Q494 424 416 376L407 371L418 364Q432 356 447 345T481 312T513 260T526 192Q526 100 461 45T285 -11Q184 -11 116 32T48 164Q48 181 50 196T58 225T69 249T84 270T100 286T117 300T134 311T149 321T162 329L152 336Q120 360 100 397T80 474ZM347 404Q404 446 404 503Q404 579 317 599Q309 600 276 600Q178 600 170 538Q170 532 171 527T173 518T178 509T184 501T194 492T205 484T219 476T235 467T254 456T275 445L347 404ZM289 47Q323 47 351 54T402 82T425 137Q425 147 421 161Q411 183 391 197T303 249Q224 293 223 293Q220 291 215 288T197 273T175 248T157 213T149 167Q149 109 188 78T289 47'], + + // DIGIT NINE + 0x39: [654,11,575,48,526,'178 59Q206 48 238 48Q311 48 345 102Q370 138 375 259V278Q374 278 369 271T350 252T322 232Q297 220 258 220Q172 220 110 275T48 438V446Q54 561 146 618Q199 654 278 654Q321 654 329 653Q526 621 526 330Q526 252 507 190T457 92T388 31T312 -2T240 -11Q165 -11 121 25T77 120Q77 159 99 176T147 193T194 177T217 122Q217 113 216 106T211 92T205 82T198 73T191 67T184 62T178 59ZM374 446V465Q374 523 364 552T315 598Q309 600 293 601Q227 601 210 562Q199 539 199 433Q199 343 204 319T235 279Q250 272 274 271H282Q293 271 303 274T327 288T353 323T371 385Q374 403 374 446'], + + // COLON + 0x3A: [444,-1,319,74,245,'74 359Q74 394 98 419T158 444Q200 444 222 417T245 358Q245 329 224 302T160 274Q116 274 95 301T74 359ZM74 85Q74 121 99 146T156 171Q200 171 222 143T245 85Q245 56 224 29T160 1Q118 1 96 27T74 85'], + + // SEMICOLON + 0x3B: [444,194,319,74,248,'74 359Q74 394 98 419T158 444Q200 444 222 417T245 358Q245 329 224 302T160 274Q116 274 95 301T74 359ZM74 50T74 86T97 146T158 171Q204 171 226 132T248 38Q248 -23 223 -80T171 -165T135 -194Q129 -194 118 -183T106 -164Q106 -163 106 -160L107 -158Q108 -155 121 -142T150 -107T177 -58Q189 -32 194 3Q195 6 193 6Q172 0 158 0Q121 0 98 25'], + + // LESS-THAN SIGN + 0x3C: [587,85,894,96,797,'797 -56Q797 -68 790 -76T767 -85H759L434 70Q108 226 105 229Q96 238 96 250Q96 263 105 272Q109 276 271 354T595 508T757 585Q763 587 766 587Q780 587 788 578T797 556Q797 544 788 535Q784 531 490 391L197 251Q213 242 359 173T644 37T788 -34Q797 -43 797 -56'], + + // EQUALS SIGN + 0x3D: [393,-109,894,64,829,'87 333Q64 343 64 362Q64 383 84 391Q89 393 448 393H807Q808 392 811 390T817 386T823 381T827 374T829 363Q829 345 807 333H87ZM87 109Q64 118 64 139Q64 159 86 168Q89 169 448 169H807L812 166Q816 163 818 162T823 157T827 149T829 139Q829 118 807 109H87'], + + // GREATER-THAN SIGN + 0x3E: [587,85,894,96,797,'127 -85Q110 -85 103 -75T96 -55Q96 -41 106 -34Q119 -24 308 65Q361 90 411 114L696 250L427 379Q106 533 103 537Q96 545 96 557Q96 568 104 577T128 587Q137 586 460 431T788 272Q797 263 797 250Q797 238 788 229Q785 226 459 70L135 -85H127'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,319,128,293,'128 -250V750H293V689H189V-189H293V-250H128'], + + // REVERSE SOLIDUS + 0x5C: [750,250,575,63,511,'64 718Q63 731 72 740T94 750Q106 750 113 743Q118 741 122 732L318 256Q508 -208 510 -218Q511 -231 502 -240T480 -250Q460 -250 451 -230Q451 -229 259 238T64 718'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,319,25,190,'25 689V750H190V-250H25V-189H129V689H25'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-520,575,126,449,'207 632L287 694Q289 693 368 632T448 570T431 545T413 520Q410 520 350 559L287 597L224 559Q164 520 161 520Q160 520 143 544T126 570T207 632'], + + // LATIN SMALL LETTER A + 0x61: [453,6,559,32,558,'64 349Q64 399 107 426T255 453Q346 453 402 423T473 341Q478 327 478 310T479 196V77Q493 63 529 62Q549 62 553 57T558 31Q558 9 552 5T514 0H497H481Q375 0 367 56L356 46Q300 -6 210 -6Q130 -6 81 30T32 121Q32 188 111 226T332 272H350V292Q350 313 348 327T337 361T306 391T248 402T194 399H189Q204 376 204 354Q204 327 187 306T134 284Q97 284 81 305T64 349ZM164 121Q164 89 186 67T238 45Q274 45 307 63T346 108L350 117V226H347Q248 218 206 189T164 121'], + + // LATIN SMALL LETTER B + 0x62: [694,6,639,29,600,'32 686L123 690Q214 694 215 694H221V409Q289 450 378 450Q479 450 539 387T600 221Q600 122 535 58T358 -6H355Q272 -6 203 53L160 1L129 0H98V301Q98 362 98 435T99 525Q99 591 97 604T83 620Q69 624 42 624H29V686H32ZM227 105L232 99Q237 93 242 87T258 73T280 59T306 49T339 45Q380 45 411 66T451 131Q457 160 457 230Q457 264 456 284T448 329T430 367T396 389T343 398Q282 398 235 355L227 348V105'], + + // LATIN SMALL LETTER C + 0x63: [453,6,511,39,478,'447 131H458Q478 131 478 117Q478 112 471 95T439 51T377 9Q330 -6 286 -6Q196 -6 135 35Q39 96 39 222Q39 324 101 384Q169 453 286 453Q359 453 411 431T464 353Q464 319 445 302T395 284Q360 284 343 305T325 353Q325 380 338 396H333Q317 398 295 398H292Q280 398 271 397T245 390T218 373T197 338T183 283Q182 275 182 231Q182 199 184 180T193 132T220 85T270 57Q289 50 317 50H326Q385 50 414 115Q419 127 423 129T447 131'], + + // LATIN SMALL LETTER D + 0x64: [694,6,639,38,609,'351 686L442 690Q533 694 534 694H540V389Q540 327 540 253T539 163Q539 97 541 83T555 66Q569 62 596 62H609V31Q609 0 608 0Q588 0 510 -3T412 -6Q411 -6 411 16V38L401 31Q337 -6 265 -6Q159 -6 99 58T38 224Q38 265 51 303T92 375T165 429T272 449Q359 449 417 412V507V555Q417 597 415 607T402 620Q388 624 361 624H348V686H351ZM411 350Q362 399 291 399Q278 399 256 392T218 371Q195 351 189 320T182 238V221Q182 179 183 159T191 115T212 74Q241 46 288 46Q358 46 404 100L411 109V350'], + + // LATIN SMALL LETTER E + 0x65: [452,6,527,32,494,'32 225Q32 332 102 392T272 452H283Q382 452 436 401Q494 343 494 243Q494 226 486 222T440 217Q431 217 394 217T327 218H175V209Q175 177 179 154T196 107T236 69T306 50Q312 49 323 49Q376 49 410 85Q421 99 427 111T434 127T442 133T463 135H468Q494 135 494 117Q494 110 489 97T468 66T431 32T373 5T292 -6Q181 -6 107 55T32 225ZM383 276Q377 346 348 374T280 402Q253 402 230 390T195 357Q179 331 176 279V266H383V276'], + + // LATIN SMALL LETTER F + 0x66: [700,0,351,40,453,'308 0Q290 3 172 3Q58 3 49 0H40V62H109V382H42V444H109V503L110 562L112 572Q127 625 178 658T316 699Q318 699 330 699T348 700Q381 698 404 687T436 658T449 629T452 606Q452 576 432 557T383 537Q355 537 335 555T314 605Q314 635 328 649H325Q311 649 293 644T253 618T227 560Q226 555 226 498V444H340V382H232V62H318V0H308'], + + // LATIN SMALL LETTER G + 0x67: [455,201,575,30,559,'50 300Q50 368 105 409T255 450Q328 450 376 426L388 420Q435 455 489 455Q517 455 533 441T554 414T558 389Q558 367 544 353T508 339Q484 339 471 354T458 387Q458 397 462 400Q464 401 461 400Q459 400 454 399Q429 392 427 390Q454 353 459 328Q461 315 461 300Q461 240 419 202Q364 149 248 149Q185 149 136 172Q129 158 129 148Q129 105 170 93Q176 91 263 91Q273 91 298 91T334 91T366 89T400 85T432 77T466 64Q544 22 544 -69Q544 -114 506 -145Q438 -201 287 -201Q149 -201 90 -161T30 -70Q30 -58 33 -47T42 -27T54 -13T69 -1T82 6T94 12T101 15Q66 57 66 106Q66 151 90 187L97 197L89 204Q50 243 50 300ZM485 403H492Q491 404 488 404L485 403V403ZM255 200Q279 200 295 206T319 219T331 242T335 268T336 300Q336 337 333 352T317 380Q298 399 255 399Q228 399 211 392T187 371T178 345T176 312V300V289Q176 235 194 219Q215 200 255 200ZM287 -150Q357 -150 400 -128T443 -71Q443 -65 442 -61T436 -50T420 -37T389 -27T339 -21L308 -20Q276 -20 253 -20Q190 -20 180 -20T156 -26Q130 -38 130 -69Q130 -105 173 -127T287 -150'], + + // LATIN SMALL LETTER H + 0x68: [694,0,639,37,623,'40 686L131 690Q222 694 223 694H229V533L230 372L238 381Q248 394 264 407T317 435T398 450Q428 450 448 447T491 434T529 402T551 346Q553 335 554 198V62H623V0H614Q596 3 489 3Q374 3 365 0H356V62H425V194V275Q425 348 416 373T371 399Q326 399 288 370T238 290Q236 281 235 171V62H304V0H295Q277 3 171 3Q64 3 46 0H37V62H106V332Q106 387 106 453T107 534Q107 593 105 605T91 620Q77 624 50 624H37V686H40'], + + // LATIN SMALL LETTER I + 0x69: [695,0,319,40,294,'72 610Q72 649 98 672T159 695Q193 693 217 670T241 610Q241 572 217 549T157 525Q120 525 96 548T72 610ZM46 442L136 446L226 450H232V62H294V0H286Q271 3 171 3Q67 3 49 0H40V62H109V209Q109 358 108 362Q103 380 55 380H43V442H46'], + + // LATIN SMALL LETTER J + 0x6A: [695,200,351,-71,274,'104 610Q104 649 130 672T191 695Q225 693 249 670T273 610Q273 572 249 549T189 525Q152 525 128 548T104 610ZM78 442L173 446L268 450H274V196Q274 -5 274 -37T269 -83Q256 -132 201 -166T71 -200Q10 -200 -30 -173T-71 -102Q-71 -70 -51 -51T-1 -31Q27 -31 48 -49T69 -100Q69 -121 53 -147H56Q66 -149 77 -149H80Q90 -149 100 -146T127 -125T149 -73Q151 -55 151 149V362Q150 364 148 366T145 370T142 373T138 375T133 377T124 378T113 379T97 380H75V442H78'], + + // LATIN SMALL LETTER K + 0x6B: [694,0,607,29,587,'32 686L123 690Q214 694 215 694H221V255L377 382H346V444H355Q370 441 476 441Q544 441 556 444H562V382H476L347 277L515 62H587V0H579Q564 3 476 3Q370 3 352 0H343V62H358L373 63L260 206L237 189L216 172V62H285V0H277Q259 3 157 3Q46 3 37 0H29V62H98V332Q98 387 98 453T99 534Q99 593 97 605T83 620Q69 624 42 624H29V686H32'], + + // LATIN SMALL LETTER L + 0x6C: [694,0,319,40,301,'43 686L134 690Q225 694 226 694H232V62H301V0H292Q274 3 170 3Q67 3 49 0H40V62H109V332Q109 387 109 453T110 534Q110 593 108 605T94 620Q80 624 53 624H40V686H43'], + + // LATIN SMALL LETTER M + 0x6D: [450,0,958,37,942,'40 442Q217 450 218 450H224V365Q226 367 235 378T254 397T278 416T314 435T362 448Q376 450 400 450H406Q503 450 534 393Q545 376 545 370Q545 368 555 379Q611 450 716 450Q774 450 809 434Q850 414 861 379T873 276V213V198V62H942V0H933Q915 3 809 3Q702 3 684 0H675V62H744V194V275Q744 348 735 373T690 399Q645 399 607 370T557 290Q555 281 554 171V62H623V0H614Q596 3 489 3Q374 3 365 0H356V62H425V194V275Q425 348 416 373T371 399Q326 399 288 370T238 290Q236 281 235 171V62H304V0H295Q277 3 171 3Q64 3 46 0H37V62H106V210V303Q106 353 104 363T91 376Q77 380 50 380H37V442H40'], + + // LATIN SMALL LETTER N + 0x6E: [450,0,639,37,623,'40 442Q217 450 218 450H224V407L225 365Q233 378 245 391T289 422T362 448Q374 450 398 450Q428 450 448 447T491 434T529 402T551 346Q553 335 554 198V62H623V0H614Q596 3 489 3Q374 3 365 0H356V62H425V194V275Q425 348 416 373T371 399Q326 399 288 370T238 290Q236 281 235 171V62H304V0H295Q277 3 171 3Q64 3 46 0H37V62H106V210V303Q106 353 104 363T91 376Q77 380 50 380H37V442H40'], + + // LATIN SMALL LETTER O + 0x6F: [453,5,575,32,542,'287 -5Q228 -5 182 10T109 48T63 102T39 161T32 219Q32 272 50 314T94 382T154 423T214 446T265 452H279Q319 452 326 451Q428 439 485 376T542 221Q542 156 514 108T442 33Q384 -5 287 -5ZM399 230V250Q399 280 398 298T391 338T372 372T338 392T282 401Q241 401 212 380Q190 363 183 334T175 230Q175 202 175 189T177 153T183 118T195 91T215 68T245 56T287 50Q348 50 374 84Q388 101 393 132T399 230'], + + // LATIN SMALL LETTER P + 0x70: [450,194,639,29,600,'32 442L123 446Q214 450 215 450H221V409Q222 409 229 413T251 423T284 436T328 446T382 450Q480 450 540 388T600 223Q600 128 539 61T361 -6H354Q292 -6 236 28L227 34V-132H296V-194H287Q269 -191 163 -191Q56 -191 38 -194H29V-132H98V113V284Q98 330 97 348T93 370T83 376Q69 380 42 380H29V442H32ZM457 224Q457 303 427 349T350 395Q282 395 235 352L227 345V104L233 97Q274 45 337 45Q383 45 420 86T457 224'], + + // LATIN SMALL LETTER Q + 0x71: [450,194,607,38,609,'38 220Q38 273 54 314T95 380T152 421T211 443T264 449Q368 449 429 386L438 377L484 450H540V-132H609V-194H600Q582 -191 475 -191Q360 -191 351 -194H342V-132H411V42Q409 41 399 34T383 25T367 16T347 7T324 1T296 -4T264 -6Q162 -6 100 56T38 220ZM287 46Q368 46 417 127V301L412 312Q398 347 369 371T302 395Q282 395 263 388T225 362T194 308T182 221Q182 126 214 86T287 46'], + + // LATIN SMALL LETTER R + 0x72: [450,0,474,29,442,'405 293T374 293T324 312T305 361Q305 378 312 394Q315 397 315 399Q305 399 294 394T266 375T238 329T222 249Q221 241 221 149V62H308V0H298Q280 3 161 3Q47 3 38 0H29V62H98V210V303Q98 353 96 363T83 376Q69 380 42 380H29V442H32L118 446Q204 450 205 450H210V414L211 378Q247 449 315 449H321Q384 449 413 422T442 360Q442 332 424 313'], + + // LATIN SMALL LETTER S + 0x73: [453,6,454,37,414,'38 315Q38 339 45 360T70 404T127 440T223 453Q273 453 320 436L338 445L357 453H366Q380 453 383 447T386 403V387V355Q386 331 383 326T365 321H355H349Q333 321 329 324T324 341Q317 406 224 406H216Q123 406 123 353Q123 334 143 321T188 304T244 294T285 286Q305 281 325 273T373 237T412 172Q414 162 414 142Q414 -6 230 -6Q154 -6 117 22L68 -6H58Q44 -6 41 0T38 42V73Q38 85 38 101T37 122Q37 144 42 148T68 153H75Q87 153 91 151T97 147T103 132Q131 46 220 46H230Q257 46 265 47Q330 58 330 108Q330 127 316 142Q300 156 284 162Q271 168 212 178T122 202Q38 243 38 315'], + + // LATIN SMALL LETTER T + 0x74: [635,5,447,21,382,'272 49Q320 49 320 136V145V177H382V143Q382 106 380 99Q374 62 349 36T285 -2L272 -5H247Q173 -5 134 27Q109 46 102 74T94 160Q94 171 94 199T95 245V382H21V433H25Q58 433 90 456Q121 479 140 523T162 621V635H224V444H363V382H224V239V207V149Q224 98 228 81T249 55Q261 49 272 49'], + + // LATIN SMALL LETTER U + 0x75: [450,6,639,37,623,'40 442L134 446Q228 450 229 450H235V273V165Q235 90 238 74T254 52Q268 46 304 46H319Q352 46 380 67T419 121L420 123Q424 135 425 199Q425 201 425 207Q425 233 425 249V316Q425 354 423 363T410 376Q396 380 369 380H356V442L554 450V267Q554 84 556 79Q561 62 610 62H623V31Q623 0 622 0Q603 0 527 -3T432 -6Q431 -6 431 25V56L420 45Q373 6 332 -1Q313 -6 281 -6Q208 -6 165 14T109 87L107 98L106 230Q106 358 104 366Q96 380 50 380H37V442H40'], + + // LATIN SMALL LETTER V + 0x76: [444,4,607,26,580,'401 444Q413 441 495 441Q568 441 574 444H580V382H510L409 156Q348 18 339 6Q331 -4 320 -4Q318 -4 313 -4T303 -3H288Q273 -3 264 12T221 102Q206 135 197 156L96 382H26V444H34Q49 441 145 441Q252 441 270 444H279V382H231L284 264Q335 149 338 149Q338 150 389 264T442 381Q442 382 418 382H394V444H401'], + + // LATIN SMALL LETTER W + 0x77: [444,4,831,25,805,'624 444Q636 441 722 441Q797 441 800 444H805V382H741L593 11Q592 10 590 8T586 4T584 2T581 0T579 -2T575 -3T571 -3T567 -4T561 -4T553 -4H542Q525 -4 518 6T490 70Q474 110 463 137L415 257L367 137Q357 111 341 72Q320 17 313 7T289 -4H277Q259 -4 253 -2T238 11L90 382H25V444H32Q47 441 140 441Q243 441 261 444H270V382H222L310 164L382 342L366 382H303V444H310Q322 441 407 441Q508 441 523 444H531V382H506Q481 382 481 380Q482 376 529 259T577 142L674 382H617V444H624'], + + // LATIN SMALL LETTER X + 0x78: [444,0,607,21,586,'227 0Q212 3 121 3Q40 3 28 0H21V62H117L245 213L109 382H26V444H34Q49 441 143 441Q247 441 265 444H274V382H246L281 339Q315 297 316 297Q320 297 354 341L389 382H352V444H360Q375 441 466 441Q547 441 559 444H566V382H471L355 246L504 63L545 62H586V0H578Q563 3 469 3Q365 3 347 0H338V62H366Q366 63 326 112T285 163L198 63L217 62H235V0H227'], + + // LATIN SMALL LETTER Y + 0x79: [444,200,607,23,580,'84 -102Q84 -110 87 -119T102 -138T133 -149Q148 -148 162 -143T186 -131T206 -114T222 -95T234 -76T243 -59T249 -45T252 -37L269 0L96 382H26V444H34Q49 441 146 441Q252 441 270 444H279V382H255Q232 382 232 380L337 151L442 382H394V444H401Q413 441 495 441Q568 441 574 444H580V382H510L406 152Q298 -84 297 -87Q269 -139 225 -169T131 -200Q85 -200 54 -172T23 -100Q23 -64 44 -50T87 -35Q111 -35 130 -50T152 -92V-100H84V-102'], + + // LATIN SMALL LETTER Z + 0x7A: [445,0,511,32,462,'48 262Q48 264 54 349T60 436V444H252Q289 444 336 444T394 445Q441 445 450 441T459 418Q459 406 458 404Q456 399 327 229T194 55H237Q260 56 268 56T297 58T325 65T348 77T370 98T384 128T395 170Q400 197 400 216Q400 217 431 217H462V211Q461 208 453 108T444 6V0H245Q46 0 43 2Q32 7 32 28V33Q32 41 40 52T84 112Q129 170 164 217L298 393H256Q189 392 165 380Q124 360 115 303Q110 280 110 256Q110 254 79 254H48V262'], + + // LEFT CURLY BRACKET + 0x7B: [750,250,575,69,505,'504 -207T504 -225T500 -246T476 -250H469Q257 -250 227 -145L225 -135L224 0Q224 15 224 30T224 59T224 84T224 106T223 122T223 133V137Q222 138 221 144T213 162T195 185Q171 206 141 215Q123 222 107 223T84 225T74 229T70 250T73 270T83 276T106 276T141 285Q171 294 195 315Q201 321 206 328T214 341T219 352T222 360L223 363V367Q223 371 223 378T223 394T224 415T224 441T224 470T224 501L225 636Q249 739 426 749Q428 749 443 749T466 750H473Q495 750 499 747T504 725T501 704T480 699Q381 693 357 645Q352 634 351 617T350 497V412Q350 350 338 329Q325 303 298 284T251 258T227 251Q226 251 226 250L227 249Q231 248 238 246T265 236T299 217T329 184T349 137Q350 131 350 3T352 -130Q358 -160 392 -178T480 -199Q497 -200 500 -203'], + + // VERTICAL LINE + 0x7C: [750,249,319,129,190,'160 -249Q138 -249 129 -225V250Q129 725 131 729Q139 750 159 750T190 725V-225Q181 -249 160 -249'], + + // RIGHT CURLY BRACKET + 0x7D: [750,250,575,70,505,'70 726Q71 744 74 747T99 750H106Q323 750 349 636L350 501Q350 486 350 470T350 441T350 416T350 394T351 378T351 367V363Q352 362 353 356T361 338T379 315Q403 294 433 285Q451 278 467 277T490 275T500 271T504 250T501 230T491 224T468 224T433 215Q403 206 379 185Q373 179 368 172T360 159T355 148T352 140L351 137V133Q351 129 351 122T351 106T350 85T350 59T350 31T350 0L349 -135L347 -145Q317 -250 106 -250H99Q79 -250 75 -247T70 -226Q70 -208 73 -204T95 -199Q193 -193 217 -145Q222 -134 223 -117T224 3Q224 20 224 48T223 86Q223 145 237 175T301 232Q335 249 347 249Q348 249 348 250L347 251Q343 252 336 254T309 264T275 284T245 316T225 363Q224 369 224 497T222 631Q216 660 182 678T95 699Q77 700 74 704T70 726'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js new file mode 100644 index 00000000..08c6a6e3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js @@ -0,0 +1,227 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MathOperators.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // FOR ALL + 0x2200: [694,16,639,0,640,'1 664Q-2 685 23 693H27Q46 693 54 680T102 578L148 475H492L533 570Q541 586 548 603T560 630T569 650T576 667T582 678T588 686T594 691T600 693T609 694Q622 694 631 684T639 662Q637 653 492 325T341 -8Q333 -16 320 -16Q306 -16 298 -8Q294 -4 147 326L1 656V664ZM464 414H319Q175 414 175 413L319 88L464 414'], + + // PARTIAL DIFFERENTIAL + 0x2202: [710,17,628,60,657,'230 475Q202 475 189 492T175 526T186 570T221 631T288 687T389 710Q430 710 438 709Q495 701 537 679T601 629T637 568T653 509T657 459Q657 409 640 341Q617 248 581 180T507 75T424 16T348 -11T282 -17Q171 -17 113 37Q60 88 60 159Q60 192 71 231Q96 336 184 402Q264 462 366 462Q407 462 439 448T497 389L502 380Q503 381 508 403T519 463T525 531Q523 580 499 610T447 648T387 657Q324 657 283 616Q271 604 276 604Q279 604 286 600T302 583T311 555Q311 523 287 499T230 475ZM196 110Q196 41 287 41Q351 41 398 88Q422 111 437 151Q473 243 473 298Q473 386 409 409Q408 409 383 411Q316 411 278 373Q265 360 259 351T241 311T217 226Q196 143 196 110'], + + // THERE EXISTS + 0x2203: [694,-1,639,64,574,'81 347Q81 359 84 363T104 378H513V633H300L87 634Q64 642 64 664Q64 685 84 692Q89 694 321 694H552Q571 681 574 669V25Q567 7 552 1H87Q64 12 64 30T87 61H513V317H308Q103 317 99 319Q81 328 81 347'], + + // EMPTY SET + 0x2205: [767,73,575,46,528,'285 711Q307 711 326 708T357 701T370 698Q371 698 375 710T383 735T389 750Q395 767 415 767Q431 767 438 757T446 738T436 701T426 670Q426 668 433 664Q468 633 489 588Q511 542 519 488T528 344Q528 286 524 243T508 150T466 63T394 6Q345 -17 287 -17Q265 -17 246 -14T216 -7T203 -4Q191 -47 183 -60T159 -73Q146 -73 137 -63T128 -44Q128 -38 138 -7L148 24L141 30Q134 35 120 49Q94 77 78 113T56 194T48 268T46 344Q46 388 47 416T56 494T78 577T122 644T194 694Q239 711 285 711ZM351 639Q350 639 346 642T337 648T325 654T306 658T283 660Q254 660 221 638T181 567Q171 513 171 375Q171 164 182 129L351 639ZM402 356Q402 516 395 555Q395 557 395 559T394 563T394 566L393 568L223 57Q252 34 286 34H288Q318 34 346 53T387 109Q402 152 402 329V356'], + + // NABLA + 0x2207: [686,24,958,56,901,'56 673Q56 679 65 686H892Q901 679 901 673Q901 668 714 331T521 -15Q518 -18 506 -24H452Q440 -19 436 -15Q431 -8 337 162T150 501L57 669Q57 670 56 672V673ZM528 136L758 553H297Q298 551 414 341L528 136'], + + // ELEMENT OF + 0x2208: [587,86,767,97,671,'97 251Q97 393 194 484T417 586Q418 586 436 586T482 586T538 587H648Q649 586 652 584T658 580T664 575T668 568T670 557Q670 536 648 527L534 526Q515 526 491 526T457 526T435 526T417 525T404 523T390 521T374 517Q298 498 243 447T167 324Q159 295 159 283Q159 281 403 281H648Q649 280 652 278T658 274T664 269T668 262T670 251Q670 230 648 221L403 220Q159 220 159 218Q159 206 166 182T190 122T247 50T341 -6Q380 -20 405 -22T534 -25H648Q649 -26 654 -29T661 -34T667 -43T670 -56Q670 -74 648 -85L541 -86Q419 -86 396 -82Q276 -65 187 24T97 251'], + + // stix-negated (vert) set membership, variant + 0x2209: [711,210,767,97,671,'126 -210Q116 -210 107 -203T97 -179Q97 -171 99 -166Q99 -165 111 -145T150 -80T203 8Q97 104 97 251Q97 393 194 484T417 586Q418 586 436 586T482 586T538 587H549Q565 614 582 643T608 685L616 698Q623 711 641 711Q651 711 660 704T670 681Q670 672 667 667Q666 666 661 657T644 627T620 587H648Q649 586 652 584T658 580T664 575T668 568T670 557Q670 536 648 527L584 526L437 281H648Q649 280 652 278T658 274T664 269T668 262T670 251Q670 230 648 221L403 220H401L283 23Q311 5 341 -6Q380 -20 405 -22T534 -25H648Q649 -26 654 -29T661 -34T667 -43T670 -56Q670 -74 648 -85L541 -86Q419 -86 396 -82Q320 -71 252 -29Q152 -197 148 -201Q139 -210 126 -210ZM235 62L330 220Q159 219 159 218Q159 196 176 150T235 62ZM366 281L513 526Q503 526 487 526T465 526T448 525T433 525T422 525T412 524T403 523T394 521T385 519T374 517Q298 498 243 447T167 324Q159 295 159 283Q159 281 366 281'], + + // CONTAINS AS MEMBER + 0x220B: [588,86,767,96,670,'96 251Q96 268 119 281H363Q607 281 607 283Q607 295 600 319T576 379T519 451T425 507Q386 521 361 523T233 526L119 527Q96 535 96 557Q96 578 116 585Q121 587 229 587Q238 587 257 587T288 588Q366 588 435 568T568 488Q670 388 670 251Q670 155 621 78T499 -39T345 -85Q336 -86 225 -86L119 -85Q96 -77 96 -55Q96 -38 119 -25H233Q356 -24 371 -21Q373 -21 393 -16Q468 3 523 55T599 177Q607 206 607 218Q607 220 363 220L119 221Q96 229 96 251'], + + // MINUS SIGN + 0x2212: [281,-221,894,96,797,'119 221Q96 230 96 251T116 279Q121 281 448 281H775Q776 280 779 278T785 274T791 269T795 262T797 251Q797 230 775 221H119'], + + // MINUS-OR-PLUS SIGN + 0x2213: [537,227,894,64,829,'64 155Q64 172 87 185H416V476H251L87 477Q64 485 64 507Q64 528 84 535Q89 537 448 537H807Q808 536 811 534T817 530T823 525T827 518T829 507Q829 486 807 477L642 476H477V185H807Q808 184 811 182T817 178T823 173T827 166T829 155Q829 134 807 125L642 124H477V-39Q477 -203 475 -208Q466 -227 446 -227Q427 -227 417 -205L416 -41V124H251L87 125Q64 133 64 155'], + + // DIVISION SLASH + 0x2215: [750,250,575,64,510,'451 730Q460 750 479 750Q492 750 501 740T510 718Q508 708 318 244L122 -232Q112 -250 95 -250Q82 -250 73 -241T64 -218Q66 -205 258 261T451 730'], + + // SET MINUS + 0x2216: [750,250,575,63,511,'64 718Q63 731 72 740T94 750Q106 750 113 743Q118 741 122 732L318 256Q508 -208 510 -218Q511 -231 502 -240T480 -250Q460 -250 451 -230Q451 -229 259 238T64 718'], + + // ASTERISK OPERATOR + 0x2217: [473,-28,575,72,502,'236 431Q237 447 251 459T287 472T323 459T338 431Q338 423 328 363L317 300Q318 300 340 317T392 356T435 387Q442 390 450 390Q470 390 485 374T501 335Q501 326 500 320T494 309T486 300T473 293T458 287T438 280T414 272L353 250L414 228Q422 225 436 221T457 214T472 208T485 201T493 192T499 181T501 166Q501 141 484 126T450 111Q447 111 445 111T441 111T437 112T433 114T428 117T422 121T414 127T404 135T391 145T374 158L317 200L328 137Q338 77 338 69Q336 52 321 40T287 28T253 40T236 69Q236 77 246 137L257 200Q256 200 234 183T182 144T139 113Q132 110 124 110Q104 110 89 126T73 165Q73 174 74 180T80 191T88 200T101 207T116 213T136 220T160 228L221 250L160 272Q152 275 138 279T117 286T102 292T89 299T81 308T75 319T73 334Q73 359 90 374T124 389Q127 389 129 389T133 389T137 388T141 386T146 383T152 379T160 373T170 365T183 355T200 342L257 300L246 363Q236 423 236 431'], + + // RING OPERATOR + 0x2218: [475,-27,575,64,510,'64 251Q64 303 80 344T121 409T175 448T230 469T275 474Q277 474 283 474T292 473Q385 473 447 415T510 251Q510 149 449 89T287 28T126 88T64 251ZM448 251Q448 325 405 369T286 413Q215 413 171 371T126 251Q126 177 168 133T287 89Q361 89 404 132T448 251'], + + // BULLET OPERATOR + 0x2219: [475,-27,575,64,510,'64 251Q64 303 80 344T121 409T175 448T230 469T275 474Q277 474 283 474T292 473Q385 473 447 415T510 251Q510 149 449 89T287 28T126 88T64 251'], + + // SQUARE ROOT + 0x221A: [820,180,958,78,988,'107 178Q100 178 89 188T78 207Q78 216 84 220Q85 221 124 248T207 304T260 338Q269 340 275 335Q276 334 370 156L463 -20L698 393Q928 800 935 811Q944 820 954 820Q972 820 980 811T988 789Q988 781 858 553Q776 409 718 306Q452 -166 447 -171Q439 -179 422 -180Q405 -180 400 -175Q399 -174 346 -73T241 128T187 229L151 205Q111 178 107 178'], + + // PROPORTIONAL TO + 0x221D: [451,8,894,65,830,'65 222Q65 282 88 329T144 401T208 438T261 451H273Q312 451 320 450Q456 431 526 330L537 316Q638 451 778 451Q813 451 830 445V388Q821 391 799 391Q758 391 721 377T660 342T618 301T592 266L584 251Q648 152 697 114Q748 74 804 74H806Q823 74 829 77Q830 77 830 38V-1L820 -3Q801 -7 786 -7H771Q699 -7 632 25T527 114L516 128Q414 -8 276 -8Q192 -8 129 56T65 222ZM256 53Q296 53 332 67T392 102T434 143T461 178L469 193Q405 292 356 330Q308 369 251 369H243Q196 369 156 328T116 221Q116 191 124 161T158 99T225 55Q234 53 256 53'], + + // INFINITY + 0x221E: [452,8,1150,65,1084,'65 219Q65 318 132 385T302 452Q473 452 573 331L589 312L596 320Q710 452 857 452Q948 452 1016 386T1084 225Q1084 125 1017 59T848 -8Q679 -8 576 113L560 132L553 124Q439 -8 292 -8Q200 -8 133 58T65 219ZM1033 224Q1033 291 987 340T875 389Q748 389 648 261Q641 253 642 251Q717 163 748 137Q813 81 880 81Q941 81 987 120T1033 224ZM275 56Q315 56 353 70T418 104T466 144T497 178L507 192Q507 193 474 230T441 269Q355 362 267 362Q210 362 163 324T116 221Q116 150 162 103T275 56'], + + // ANGLE + 0x2220: [714,0,722,55,676,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 21 56 23V25Q55 27 55 30Q55 31 56 33V35Q55 37 55 40Q55 42 57 48Q67 63 346 381Q421 467 518 578Q607 680 623 697T647 714Q656 714 661 708T666 694V692Q676 687 676 674Q676 668 673 663Q672 662 637 622T534 503T400 350L147 61L386 60H653Q666 50 666 40V38Q676 31 676 20Q676 8 661 0H71'], + + // DIVIDES + 0x2223: [750,249,319,129,190,'160 -249Q138 -249 129 -225V250Q129 725 131 729Q139 750 159 750T190 725V-225Q181 -249 160 -249'], + + // PARALLEL TO + 0x2225: [751,248,575,145,430,'205 -225Q201 -234 199 -237T191 -244T175 -248T161 -246Q151 -240 146 -229Q145 -224 145 251Q145 725 146 730Q156 750 176 750Q193 748 205 727V-225ZM369 727L372 732Q375 737 377 740T385 747T398 750Q406 750 413 747Q423 740 428 730Q430 720 430 251Q430 -219 428 -229Q423 -240 413 -246Q408 -248 400 -248Q393 -248 388 -247T379 -242T375 -236T371 -230L369 -225V727'], + + // LOGICAL AND + 0x2227: [604,17,767,64,702,'95 -16Q78 -16 71 -6T64 14Q64 20 65 22L212 308Q359 593 361 595Q370 604 385 604Q398 602 405 595Q407 593 554 308L701 22Q702 20 702 15Q702 1 693 -8T671 -17Q661 -17 651 -9Q647 -5 515 251L383 506L251 251Q119 -5 116 -8Q108 -16 95 -16'], + + // LOGICAL OR + 0x2228: [605,16,767,64,702,'64 572Q64 585 72 594T94 604T116 595Q119 592 251 336L383 81L515 336Q647 592 651 596Q661 604 671 604Q684 604 693 595T702 572Q702 567 701 565L554 279Q407 -6 405 -8Q404 -9 401 -11T397 -14Q392 -16 383 -16H380Q369 -16 361 -8Q359 -6 212 279L65 565Q65 566 65 568T64 572'], + + // stix-intersection, serifs + 0x2229: [603,16,767,64,702,'94 -16Q73 -16 64 8V209Q64 239 64 287Q65 418 69 432Q70 434 70 435Q84 487 125 523T216 575T299 597T354 603H372Q444 603 501 590T591 558T648 515T681 471T696 435Q696 434 697 432Q701 417 702 309Q702 303 702 287Q702 239 702 209V8Q693 -16 672 -16Q650 -16 643 3Q641 8 641 201Q641 397 640 403Q631 472 558 507T383 542Q339 542 298 535T219 511T156 468T126 403Q125 397 125 201Q125 8 123 3Q116 -16 94 -16'], + + // stix-union, serifs + 0x222A: [604,16,767,64,702,'672 603Q693 603 702 579V378Q702 348 702 300Q701 169 697 155Q696 153 696 152Q676 78 593 31T383 -16Q265 -16 179 28T70 152Q70 153 69 155Q65 170 64 278Q64 285 64 300Q64 348 64 378Q64 579 65 583Q74 604 94 604T123 584Q125 579 125 386Q125 190 126 184Q135 115 210 80T383 44Q426 44 467 51T546 75T609 119T640 184Q641 190 641 386Q641 579 643 584Q650 603 672 603'], + + // INTEGRAL + 0x222B: [711,211,569,64,632,'204 -71Q204 -108 181 -124T137 -141Q132 -141 132 -142Q142 -161 154 -161Q164 -161 186 -152Q200 -145 210 -135T228 -107T241 -77T249 -38T254 -2T258 38T262 74Q282 265 334 489Q334 490 337 503T341 523T347 544T355 569T365 594T379 620T397 643T420 666T447 685T481 700Q511 711 539 711T587 696T616 656T628 612T632 573Q632 536 610 519T562 501Q534 501 513 519T492 571Q492 608 515 624T559 641Q564 641 564 642Q554 661 542 661Q532 661 510 652Q496 645 486 635T468 607T455 577T447 538T442 502T438 462T434 426Q414 235 362 11Q352 -35 347 -54T328 -101T291 -152Q235 -208 162 -211Q147 -211 136 -208T109 -196T83 -165T67 -108Q64 -94 64 -73Q64 -37 86 -19T134 -1Q162 -1 183 -19T204 -71'], + + // TILDE OPERATOR + 0x223C: [392,-109,894,64,828,'64 155Q64 210 84 262T150 353T257 391Q300 391 341 371T417 321T484 264T557 215T637 194Q702 194 745 244T788 367Q796 391 808 391Q815 391 821 381T828 353V342Q828 252 776 181T637 109Q594 109 552 129T476 179T409 236T336 285T256 306Q193 306 149 258T105 132Q98 109 86 109Q76 109 70 122T64 155'], + + // WREATH PRODUCT + 0x2240: [583,82,319,64,254,'64 561Q64 570 76 576T108 583Q174 583 214 535T254 407Q254 368 238 324T202 248T166 173T149 92Q149 43 169 2T217 -39Q231 -40 242 -46T254 -60Q254 -69 241 -75T210 -82Q145 -82 105 -34T64 93Q64 133 80 177T116 253T152 328T169 408Q169 461 148 500T105 540Q92 540 78 545T64 561'], + + // ASYMPTOTICALLY EQUAL TO + 0x2243: [502,3,894,64,829,'64 295Q64 378 117 440T257 502Q298 502 339 485T416 443T486 394T560 352T637 335Q693 335 740 373T788 478Q796 502 808 502Q815 502 821 492T828 465V455Q828 365 771 308T640 250Q603 250 562 265T501 294T439 336L370 382Q308 417 256 417Q205 417 164 388T110 317Q110 316 109 304T107 286T103 270T97 255T86 250Q76 250 70 263T64 295ZM64 6T64 27T87 56H93Q99 56 110 56T137 56T173 56T217 56T267 57T323 57T383 57T448 57H807Q808 56 811 54T815 52T819 49T823 45T826 40T828 34T829 27Q829 7 807 -3H87Q64 6 64 27'], + + // APPROXIMATELY EQUAL TO + 0x2245: [639,27,1000,64,829,'64 402Q64 457 84 509T150 600T257 638Q300 638 341 618T417 569T484 511T557 462T637 441Q702 441 745 491T788 614Q796 638 808 638Q815 638 821 628T828 600V589Q828 499 776 428T637 356Q594 356 552 376T476 425T409 483T336 532T256 553Q193 553 149 505T105 379Q98 356 86 356Q76 356 70 369T64 402ZM87 197Q64 207 64 226Q64 247 84 255Q89 257 448 257H807Q808 256 811 254T817 250T823 245T827 238T829 227Q829 209 807 197H87ZM87 -27Q64 -18 64 3Q64 23 86 32Q89 33 448 33H807L812 30Q816 27 818 26T823 21T827 13T829 3Q829 -18 807 -27H87'], + + // ALMOST EQUAL TO + 0x2248: [524,-31,894,64,829,'64 345Q64 423 119 473T250 524Q301 524 356 503T451 455T542 407T636 385Q700 385 743 417T786 481Q786 493 791 508T807 524Q817 524 823 512T829 479Q829 404 776 352T638 300Q590 300 537 321T443 369T352 417T256 439Q207 439 166 417T110 359Q109 357 107 341T100 312T85 300Q77 300 71 313T64 345ZM64 77Q64 155 119 205T250 256Q302 256 357 235T451 187T541 139T636 117Q699 117 742 148T786 213Q786 231 792 243T808 256T823 242T829 208Q829 134 776 83T640 32Q591 32 537 53T443 101T352 149T256 171Q206 171 165 148T110 91Q109 89 107 73T100 44T85 32Q77 32 71 45T64 77'], + + // EQUIVALENT TO + 0x224D: [533,32,894,64,830,'798 533Q812 533 820 524T829 502T819 480T769 440Q655 355 537 330Q492 322 447 322Q401 322 356 330Q289 344 219 381T118 443T73 481Q64 490 64 503Q64 517 72 525T94 533Q99 533 102 532Q107 531 138 507T209 456T314 405T446 382Q604 382 765 515Q788 533 798 533ZM95 -32Q81 -32 73 -23T64 -1Q64 10 74 21T124 61Q213 127 293 153T421 179L422 180Q424 180 426 180T432 180T441 180T452 179Q612 179 769 61Q811 29 820 19T829 -1Q829 -14 821 -23T798 -32Q788 -32 765 -14Q608 118 446 118Q287 118 128 -14Q105 -32 95 -32'], + + // APPROACHES THE LIMIT + 0x2250: [721,-109,894,64,829,'87 333Q64 343 64 362Q64 383 84 391Q89 393 448 393H807Q808 392 811 390T817 386T823 381T827 374T829 363Q829 345 807 333H87ZM87 109Q64 118 64 139Q64 159 86 168Q89 169 448 169H807L812 166Q816 163 818 162T823 157T827 149T829 139Q829 118 807 109H87ZM362 635Q362 671 387 696T444 721Q488 721 510 693T533 635Q533 606 512 579T448 551Q406 551 384 577T362 635'], + + // stix-not (vert) equals + 0x2260: [711,210,894,64,829,'189 -210Q179 -210 170 -203T160 -179Q160 -171 162 -166Q165 -163 327 109H87Q64 118 64 139Q64 159 86 168Q89 169 363 169L461 333H87Q64 343 64 362Q64 383 84 391Q89 393 448 393H496Q533 455 583 539T656 660T679 698Q686 711 704 711Q714 711 723 704T733 681Q733 672 730 667Q729 664 709 631T645 523T567 393H807Q808 392 811 390T817 386T823 381T827 374T829 363Q829 345 807 333H532L433 169H807L812 166Q816 163 818 162T823 157T827 149T829 139Q829 118 807 109H398Q217 -195 211 -201Q202 -210 189 -210'], + + // IDENTICAL TO + 0x2261: [505,3,894,64,829,'87 445Q64 454 64 475Q64 497 84 503Q89 505 448 505H807Q808 504 812 502T818 497T823 492T827 484T829 474Q829 456 807 445H87ZM87 221Q64 230 64 251T84 279Q89 281 448 281H807Q808 280 811 278T817 274T823 269T827 262T829 251Q829 230 807 221H87ZM64 6T64 27T87 56H93Q99 56 110 56T137 56T173 56T217 56T267 57T323 57T383 57T448 57H807Q808 56 811 54T815 52T819 49T823 45T826 40T828 34T829 27Q829 7 807 -3H87Q64 6 64 27'], + + // LESS-THAN OR EQUAL TO + 0x2264: [697,199,894,96,797,'797 55Q797 45 790 35T767 25H759L434 180Q108 336 105 339Q96 348 96 360Q96 378 114 388Q126 394 439 544T757 695Q763 697 766 697Q780 697 788 688T797 666Q797 654 788 645Q784 641 507 509T197 361L466 232Q785 80 790 74Q797 66 797 55ZM119 -199Q96 -191 96 -169Q96 -160 102 -152T119 -140H124Q130 -140 140 -140T164 -140T197 -140T237 -140T283 -139T334 -139T389 -139T448 -139H775Q797 -153 797 -169Q797 -187 775 -199H119'], + + // GREATER-THAN OR EQUAL TO + 0x2265: [697,199,894,96,797,'127 25Q110 25 103 34T96 54Q96 66 105 75Q109 80 439 238L696 361Q113 637 105 645Q96 654 96 667Q96 679 104 688T128 697Q137 696 460 541T788 382Q797 373 797 360Q797 348 788 339Q785 336 459 180L135 25H127ZM119 -199Q96 -191 96 -169Q96 -160 102 -152T119 -140H124Q130 -140 140 -140T164 -140T197 -140T237 -140T283 -139T334 -139T389 -139T448 -139H775Q797 -153 797 -169Q797 -187 775 -199H119'], + + // MUCH LESS-THAN + 0x226A: [617,116,1150,64,1085,'734 -74T734 -86T727 -107T704 -116H702Q694 -116 584 -55Q473 7 380 58Q87 219 73 229Q64 238 64 250Q64 263 73 272Q87 282 380 443Q695 616 699 617H700Q718 617 726 607T734 588Q734 568 717 560Q705 554 435 404L157 250L439 94Q721 -61 726 -66Q734 -74 734 -86ZM1085 -74T1085 -86T1078 -107T1055 -116H1053Q1045 -116 935 -55Q824 7 731 58Q438 219 424 229Q415 238 415 250Q415 263 424 272Q438 282 731 443Q1046 616 1050 617H1051Q1069 617 1077 607T1085 588Q1085 568 1068 560Q1056 554 786 404L508 250L790 94Q1072 -61 1077 -66Q1085 -74 1085 -86'], + + // MUCH GREATER-THAN + 0x226B: [618,116,1150,64,1085,'64 588Q64 600 72 609T94 618H95Q103 618 209 559Q322 496 419 443Q712 282 725 272Q734 263 734 250Q734 238 725 229Q714 220 415 55T110 -113Q103 -116 95 -116Q78 -116 71 -106T64 -86Q64 -74 72 -66Q77 -61 359 94L641 250L363 404Q277 452 173 509Q95 552 82 560T66 576V577Q64 585 64 588ZM415 588Q415 600 423 609T445 618H446Q454 618 560 559Q673 496 770 443Q1063 282 1076 272Q1085 263 1085 250Q1085 238 1076 229Q1065 220 766 55T461 -113Q454 -116 446 -116Q429 -116 422 -106T415 -86Q415 -74 423 -66Q428 -61 710 94L992 250L714 404Q628 452 524 509Q446 552 433 560T417 576V577Q415 585 415 588'], + + // PRECEDES + 0x227A: [585,86,894,96,797,'797 -57Q797 -65 790 -75T766 -86Q748 -86 741 -74T733 -43T719 8T681 72Q647 112 588 141T475 185T343 207T230 216T136 219Q96 219 96 250Q96 280 132 280H136Q193 281 239 283T347 292T457 310T556 342T643 391T703 460T735 553Q741 585 763 585Q781 585 789 575T797 556Q797 540 792 513T758 434T682 345Q605 285 481 254L462 249Q483 246 526 233T633 185T733 104Q767 63 782 15T797 -57'], + + // SUCCEEDS + 0x227B: [586,86,894,96,797,'96 556Q96 568 104 577T126 586Q152 586 158 553Q164 503 188 462T247 394T331 345T429 313T539 294T649 284T758 280H760Q797 280 797 250Q797 219 760 219H758Q627 217 529 204T347 160T216 77T158 -54Q152 -86 126 -86Q110 -86 103 -76T96 -57Q96 -41 101 -14T135 65T211 154Q288 214 412 245L431 250Q410 252 367 265T259 314T160 395Q127 435 112 483T96 556'], + + // SUBSET OF + 0x2282: [588,85,894,96,798,'96 251Q96 389 191 482T417 586Q418 586 428 586T456 586T496 586T546 587T601 587H775Q776 586 779 584T785 580T791 575T795 568T797 557Q797 536 775 527L597 526Q411 525 395 522Q390 521 370 516Q285 494 222 424T158 251Q158 131 246 53Q313 -9 408 -23Q417 -24 597 -25H775Q776 -26 781 -29T788 -34T794 -43T797 -56Q797 -74 775 -85H493Q407 -85 376 -79Q257 -55 177 35T96 251'], + + // SUPERSET OF + 0x2283: [587,86,894,96,796,'96 -55Q96 -38 119 -25H296Q482 -24 498 -21Q503 -20 523 -15Q609 7 672 77T735 251T665 431T485 524Q476 525 296 526L119 527Q96 535 96 557Q96 578 116 585Q121 587 300 587Q451 586 476 585T522 579Q632 556 714 468T796 251Q796 112 695 13Q612 -65 497 -82Q473 -86 289 -86L119 -85Q96 -77 96 -55'], + + // SUBSET OF OR EQUAL TO + 0x2286: [698,199,894,96,798,'96 361Q96 499 191 592T417 696Q418 696 428 696T456 696T496 696T546 697T601 697H775Q776 696 779 694T785 690T791 685T795 678T797 667Q797 646 775 637L597 636Q411 635 395 632Q390 631 370 626Q285 604 222 534T158 361Q158 241 246 163Q313 101 408 87Q417 86 597 85H775Q776 84 781 81T788 76T794 67T797 54Q797 36 775 25H493Q407 25 376 31Q257 55 177 145T96 361ZM149 -199Q127 -191 127 -169T149 -140H154Q160 -140 169 -140T192 -140T224 -140T262 -140T306 -139T354 -139T407 -139T463 -139H775Q776 -140 779 -142T785 -146T791 -151T795 -158T797 -169Q797 -190 775 -199H149'], + + // SUPERSET OF OR EQUAL TO + 0x2287: [697,199,894,96,796,'96 55Q96 72 119 85H296Q482 86 498 89Q503 90 523 95Q609 117 672 187T735 361T665 541T485 634Q476 635 296 636L119 637Q96 645 96 667Q96 688 116 695Q121 697 300 697Q451 696 476 695T522 689Q632 666 714 578T796 361Q796 222 695 123Q612 45 497 28Q473 24 289 24L119 25Q96 33 96 55ZM119 -199Q96 -190 96 -169T116 -141Q121 -139 433 -139H745Q766 -152 766 -170Q766 -190 745 -199H119'], + + // MULTISET UNION + 0x228E: [604,16,767,64,702,'672 603Q693 603 702 579V378Q702 348 702 300Q701 169 697 155Q696 153 696 152Q676 78 593 31T383 -16Q265 -16 179 28T70 152Q70 153 69 155Q65 170 64 278Q64 285 64 300Q64 348 64 378Q64 579 65 583Q74 604 94 604T123 584Q125 579 125 386Q125 190 126 184Q135 115 210 80T383 44Q426 44 467 51T546 75T609 119T640 184Q641 190 641 386Q641 579 643 584Q650 603 672 603ZM353 412Q353 420 353 435T352 456Q352 483 358 495T385 507Q403 506 409 494T415 457Q415 451 415 436T414 411V341H558Q579 329 579 311Q579 289 558 281L486 280H414V136Q400 114 384 114Q363 114 354 136L353 208V280H281L209 281Q187 289 187 310Q187 328 209 341H353V412'], + + // SQUARE IMAGE OF OR EQUAL TO + 0x2291: [698,199,894,96,828,'127 25Q111 29 104 49V362L105 675Q114 693 127 696H132Q138 696 149 696T174 696T208 696T249 696T297 697T350 697T407 697T468 697H806Q828 683 828 666Q828 646 806 637L485 636H165V85H805Q806 84 809 82T813 80T817 77T821 73T824 68T826 62T827 55Q827 34 806 25H127ZM96 -190T96 -169T119 -140H125Q131 -140 141 -140T167 -140T201 -140T242 -140T290 -139T344 -139T402 -139T463 -139H805Q806 -140 809 -142T813 -144T817 -147T821 -151T824 -156T826 -162T827 -169Q827 -190 806 -199H119Q96 -190 96 -169'], + + // SQUARE ORIGINAL OF OR EQUAL TO + 0x2292: [698,199,894,66,797,'66 55Q66 74 89 85H728V636H408L88 637Q66 645 66 667T88 696H94Q99 696 110 696T135 696T169 696T210 696T258 697T311 697T368 697T429 697H767Q786 684 789 672V49Q782 31 767 25H88Q66 32 66 55ZM88 -199Q66 -191 66 -169Q66 -148 87 -140Q91 -139 433 -139H775Q776 -140 779 -142T783 -144T787 -147T791 -151T794 -156T796 -162T797 -169Q797 -189 775 -199H88'], + + // stix-square intersection, serifs + 0x2293: [604,-1,767,70,696,'131 25Q121 1 100 1Q81 1 71 23L70 301Q70 579 72 583Q77 598 90 602Q95 604 385 604H674Q693 591 696 579V25Q686 1 665 1Q646 1 636 23L635 283V543H131V25'], + + // stix-square union, serifs + 0x2294: [604,-1,767,70,696,'696 25Q689 7 674 1H93Q77 7 71 23L70 301Q70 579 72 583Q80 604 100 604T131 579V61H635V579Q644 603 666 603Q687 603 696 579V25'], + + // stix-circled plus (with rim) + 0x2295: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM416 282V570H414Q341 564 285 535T202 475T156 397T134 332T128 287Q127 283 127 282H416ZM765 288Q760 344 743 389T700 462T647 512T589 543T538 560T499 568L483 570H478V282H766L765 288ZM416 -69V220H127Q130 195 131 189T138 155T150 115T168 76T196 35T234 0T286 -35Q337 -61 410 -69H416ZM483 -69Q554 -60 607 -33T687 21T733 93T756 156T764 209Q766 217 766 220H478V-69H483'], + + // CIRCLED MINUS + 0x2296: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM765 288Q753 424 666 497T446 571T227 498T128 288L127 282H766L765 288ZM446 -70Q578 -70 666 4T765 213L766 220H127Q130 195 131 189T138 155T150 115T168 76T196 35T234 0T286 -35Q353 -70 446 -70'], + + // stix-circled times (with rim) + 0x2297: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM647 512Q567 571 447 571Q340 571 262 523Q237 507 237 505L342 399L447 295L657 505L647 512ZM298 356L192 461Q180 445 161 411Q126 341 126 251Q126 128 192 40L403 250L298 356ZM701 41Q704 41 719 63T750 138T767 250Q767 310 750 362T719 437T701 460L491 250L701 41ZM238 -5Q238 -8 261 -22T336 -53T447 -70Q567 -70 647 -11L657 -4L447 206L342 101Q238 -1 238 -5'], + + // CIRCLED DIVISION SLASH + 0x2298: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM657 505Q656 506 650 510T638 518T623 527T604 537T581 547T553 556T522 563T486 569T446 571Q305 571 216 487T126 251Q126 128 192 40L657 505ZM447 -70Q591 -70 679 16T767 250Q767 308 751 360T719 436T701 460L469 228Q238 -1 238 -5Q238 -8 261 -22T336 -53T447 -70'], + + // CIRCLED DOT OPERATOR + 0x2299: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM767 252Q767 395 681 483T446 571Q303 571 215 486T126 249Q126 107 212 19T446 -70Q596 -70 681 18T767 252ZM335 251Q335 297 368 329T441 361Q498 361 527 327T557 250Q557 202 525 171T446 140Q397 140 366 173T335 251'], + + // RIGHT TACK + 0x22A2: [693,-1,703,65,637,'65 672Q76 693 91 693Q115 693 123 674Q125 669 125 523V378H615Q618 376 622 373T628 369T632 366T635 362T636 356T637 347Q637 328 619 319Q615 317 370 317H125V171Q125 25 123 20Q114 1 94 1Q73 1 65 23V672'], + + // LEFT TACK + 0x22A3: [693,-1,703,64,638,'64 327T64 347T89 378H577V525L578 672Q592 693 604 693Q629 693 638 669V25Q628 1 607 1Q588 1 578 23L577 170V317H88Q64 327 64 347'], + + // DOWN TACK + 0x22A4: [695,-1,894,64,829,'64 664Q64 675 71 683T87 693H93Q99 693 110 693T137 693T173 693T217 694T267 694T323 694T383 694T448 694H807Q808 693 811 691T817 687T823 682T827 675T829 664Q829 643 807 634L642 633H477V25Q467 1 446 1Q427 1 417 23L416 328V633H251L87 634Q64 643 64 664'], + + // UP TACK + 0x22A5: [693,-1,894,65,829,'65 31Q65 38 66 41T71 50T87 61H416V366L417 672Q431 693 443 693Q468 693 477 669V61H807Q808 60 811 58T817 54T823 49T827 42T829 31Q829 10 807 1H87Q65 10 65 31'], + + // TRUE + 0x22A8: [750,249,974,129,918,'160 -249Q138 -249 129 -225V250Q129 725 131 729Q139 750 159 750T190 725V392Q219 393 537 393H896Q897 392 900 390T906 386T912 381T916 374T918 363Q918 345 896 333H190V169H896L900 166Q905 163 907 162T912 157T916 149T918 139Q918 118 896 109H190V-225Q181 -249 160 -249'], + + // DIAMOND OPERATOR + 0x22C4: [523,21,575,15,560,'280 522Q281 523 285 523H289Q301 523 366 457Q404 420 431 393Q533 291 546 277T560 250Q560 239 548 226T431 108Q313 -10 304 -16Q297 -21 287 -21Q278 -21 275 -19Q270 -17 146 107T18 238Q15 242 15 251Q15 258 18 263Q20 268 145 392T274 519L280 522ZM388 350L288 449L188 350L89 250L288 52L487 250L388 350'], + + // DOT OPERATOR + 0x22C5: [336,-165,319,74,245,'74 251Q74 286 99 311T156 336Q200 336 222 308T245 250Q245 221 224 194T160 166T96 193T74 251'], + + // STAR OPERATOR + 0x22C6: [502,0,575,24,550,'270 491Q274 502 287 502Q298 502 304 491Q304 486 323 396T342 303L438 314Q520 324 534 324Q540 324 545 320T550 307Q550 298 539 290T456 243Q377 198 377 197L416 111Q456 26 456 22Q457 21 457 18Q457 11 451 6T438 0H437Q432 0 415 16Q387 42 358 68L287 133L216 68Q193 47 167 23Q142 0 136 0Q129 0 123 5T117 18Q117 21 118 22Q118 26 158 111L197 197Q197 198 156 221T72 269T26 298Q24 304 24 307Q24 315 29 319T40 324Q53 324 136 314L232 303Q232 306 251 396T270 491'], + + // BOWTIE + 0x22C8: [540,39,1000,33,967,'906 251Q906 456 905 456Q550 252 549 251Q549 250 726 148T905 45T906 251ZM967 -14Q958 -38 939 -38H937Q928 -38 923 -35Q919 -34 748 64T500 209L71 -38Q69 -39 63 -39Q42 -39 33 -16V518Q45 540 63 540H65Q72 540 174 481Q247 439 302 407L500 292Q578 339 750 438T929 539H933Q958 539 967 515V-14ZM449 251L94 456Q93 456 93 251Q93 45 94 45L106 52Q119 59 139 71T186 98T242 131T301 165T357 197T404 225T437 244L449 251'], + + // VERTICAL ELLIPSIS + 0x22EE: [951,29,319,74,245,'74 55Q74 91 99 116T156 141Q200 141 222 113T245 55Q245 26 224 -1T160 -29Q118 -29 96 -3T74 55ZM74 465Q74 501 99 526T156 551Q200 551 222 523T245 465Q245 436 224 409T160 381Q118 381 96 407T74 465ZM74 865Q74 901 99 926T156 951Q200 951 222 923T245 865Q245 836 224 809T160 781Q118 781 96 807T74 865'], + + // MIDLINE HORIZONTAL ELLIPSIS + 0x22EF: [336,-165,1295,74,1221,'74 251Q74 286 99 311T156 336Q200 336 222 308T245 250Q245 221 224 194T160 166T96 193T74 251ZM562 251Q562 286 587 311T644 336Q688 336 710 308T733 250Q733 221 712 194T648 166T584 193T562 251ZM1050 251Q1050 286 1075 311T1132 336Q1176 336 1198 308T1221 250Q1221 221 1200 194T1136 166T1072 193T1050 251'], + + // DOWN RIGHT DIAGONAL ELLIPSIS + 0x22F1: [871,-101,1323,129,1194,'129 785Q129 821 154 846T211 871Q255 871 277 843T300 785Q300 756 279 729T215 701Q173 701 151 727T129 785ZM576 485Q576 521 601 546T658 571Q702 571 724 543T747 485Q747 456 726 429T662 401Q620 401 598 427T576 485ZM1023 185Q1023 221 1048 246T1105 271Q1149 271 1171 243T1194 185Q1194 156 1173 129T1109 101Q1067 101 1045 127T1023 185'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MathOperators.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js new file mode 100644 index 00000000..0af6626e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MiscMathSymbolsA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [750,249,447,127,382,'127 243V259L223 491Q251 557 286 642Q318 719 324 732T340 748H341Q347 750 351 750Q365 750 373 740T382 723Q382 713 286 482L190 251Q190 249 286 20T382 -219Q382 -232 373 -240T352 -249Q332 -249 323 -229Q320 -220 223 10L127 243'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [750,249,447,64,319,'64 720Q64 732 72 741T94 750Q106 750 113 743Q118 741 122 732L319 259V243L122 -231Q112 -249 95 -249Q83 -249 74 -240T64 -218Q64 -210 160 20L256 251L160 482Q64 715 64 720'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MiscMathSymbolsA.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js new file mode 100644 index 00000000..f47a434f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MiscSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // BLACK SPADE SUIT + 0x2660: [719,130,894,64,829,'675 -18Q536 -18 527 62V70H477V55Q479 14 487 -21T502 -75T509 -101Q509 -120 491 -127Q487 -129 447 -129Q446 -129 439 -129T427 -130Q384 -130 384 -101Q384 -95 391 -76T406 -21T416 55V70H366Q364 52 360 40T342 14T300 -8T230 -17H218Q110 -17 75 117Q64 163 64 209Q64 290 116 357T261 495Q363 574 414 690Q425 719 445 719Q467 719 478 693Q507 627 547 578T623 503T702 438T777 357Q829 285 829 202V197Q826 128 808 81T762 15T714 -11T675 -18'], + + // WHITE HEART SUIT + 0x2661: [711,24,894,65,828,'65 491Q65 602 121 656T246 710Q375 710 440 624L447 615Q519 711 638 711Q723 711 775 652T828 491Q828 390 770 313T581 129Q539 95 514 63T483 14T469 -13T446 -24Q434 -24 427 -17T416 0T400 32T371 74Q352 97 310 131T229 199T151 276T89 374T65 491ZM249 649Q188 649 157 603T125 489Q125 409 181 338T352 176Q408 131 437 87L446 73L456 87Q479 121 507 147T579 207T659 278Q768 387 768 489Q768 506 766 524T756 566T731 611T687 642Q668 649 638 649Q609 649 593 644Q547 633 516 604T478 534Q473 505 447 505H445Q420 505 416 534Q407 577 372 608T285 648Q277 649 249 649'], + + // WHITE DIAMOND SUIT + 0x2662: [719,154,894,64,828,'409 686Q410 688 412 691T415 696T418 701T421 706T424 709T427 713T431 715T435 717T440 718T446 719Q455 719 460 717T472 704T488 679T516 633T563 567Q624 485 687 422T787 330T826 296T828 282Q828 270 825 265T801 245Q696 161 612 59T477 -133Q465 -154 447 -154Q439 -154 434 -152T425 -146T414 -130T399 -104T372 -62T330 -3Q270 78 207 142T107 234T70 265Q64 274 64 282Q64 296 90 317Q284 472 409 686ZM749 282Q745 286 721 307T681 343T635 388T581 446T525 516T465 601Q462 606 457 613T450 624L447 627V628Q446 628 436 611T402 561T348 489T266 396T155 292L145 282Q147 280 185 245T257 177T343 79T442 -57Q446 -64 447 -64V-63Q450 -59 475 -22T530 56T619 160T749 282'], + + // BLACK CLUB SUIT + 0x2663: [719,130,894,32,861,'240 527Q240 611 301 665T446 719T590 665T652 527Q652 431 571 373Q578 363 584 352T593 335T597 329L604 335Q611 341 617 345T637 356T667 366Q672 366 680 367T694 368Q767 368 814 310T861 177Q861 109 819 57T713 -12Q690 -17 656 -17Q535 -13 527 62V70H477V55Q479 14 487 -21T502 -75T509 -101Q509 -120 491 -127Q487 -129 447 -129Q446 -129 439 -129T427 -130Q384 -130 384 -101Q384 -95 391 -76T406 -21T416 55V70H366V62Q356 -12 237 -17Q130 -17 71 60Q32 111 32 178Q32 251 78 309T198 368Q217 368 233 364T260 354T279 343T291 333T296 329L300 336Q304 343 310 354T322 373Q240 432 240 527'], + + // MUSIC FLAT SIGN + 0x266D: [750,17,447,64,381,'230 480Q293 480 337 440T381 330V322Q381 240 323 161Q258 71 123 -11L114 -16L97 -17Q70 -17 66 -7Q64 -3 64 366V641Q64 717 65 731T75 748Q78 750 95 750Q117 750 122 742T127 694Q127 685 127 653T126 595V454Q183 480 230 480ZM242 333Q242 405 212 405H207Q147 405 130 370L127 364L126 219Q126 77 128 77Q133 82 140 90T167 127T202 183T229 253T242 333'], + + // MUSIC NATURAL SIGN + 0x266E: [741,223,447,57,389,'345 -223Q333 -223 330 -214T327 -178V-116Q327 -23 326 -23L203 -82Q90 -134 77 -140Q65 -142 59 -130Q57 -126 57 295V595Q57 643 57 667T58 704T60 719T63 724Q93 741 101 741Q113 741 116 732T119 680V597Q119 467 120 467Q121 468 180 495T301 552T369 584Q381 586 387 574Q389 570 389 187V-88Q389 -132 389 -154T388 -188T386 -202T383 -206Q353 -223 345 -223ZM327 271Q327 421 326 421L120 323L119 173V23Q120 23 223 72L327 121V271'], + + // MUSIC SHARP SIGN + 0x266F: [724,224,447,64,382,'140 628Q151 628 154 620T158 591V549V484L166 488Q175 492 192 500T223 516L288 548V622V674Q288 681 288 685T289 693T289 699T291 703T295 707T298 709T304 712T311 716Q326 724 332 724Q343 724 346 715T350 685V644V579Q358 583 364 583Q376 583 380 574Q382 570 382 514V481Q382 459 380 454T363 441L350 435V135Q358 139 364 139Q376 139 380 130Q382 126 382 70V37Q382 15 380 10T363 -3L350 -9V-76Q350 -102 348 -106T328 -119Q312 -128 306 -128Q288 -128 288 -99V-77V-40L280 -44Q271 -48 254 -56T223 -72L158 -104V-150V-180Q158 -198 155 -202T135 -216Q119 -224 114 -224Q96 -224 96 -192V-172V-135Q86 -140 81 -140Q70 -140 66 -129Q64 -126 64 -70V-54Q64 -18 66 -12T83 3L96 9V309Q86 304 81 304Q70 304 66 315Q64 318 64 374V407Q64 429 66 434T83 447L96 453V602Q99 609 100 610T118 619Q134 628 140 628ZM288 254Q288 404 287 404L158 340V40L166 44Q175 48 192 56T223 72L288 104V254'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MiscSymbols.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js new file mode 100644 index 00000000..1ccb0006 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MiscTechnical.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // LEFT CEILING + 0x2308: [751,248,511,194,494,'194 728Q199 743 216 749H220Q223 749 229 749T245 749T265 750T289 750T316 750T345 750H471Q472 749 477 746T484 741T490 732T493 719Q493 701 471 690L362 689H254V-224Q244 -248 223 -248T194 -226V728'], + + // RIGHT CEILING + 0x2309: [750,248,511,17,317,'317 -224Q307 -248 286 -248Q267 -248 257 -226L256 231V689H148L40 690Q17 698 17 720Q17 741 37 748Q42 750 169 750H295Q314 737 317 725V-224'], + + // LEFT FLOOR + 0x230A: [749,248,511,194,494,'194 728Q204 749 220 749Q245 749 254 725V-188H471Q472 -189 477 -192T484 -197T490 -206T493 -219Q493 -237 471 -248H216Q200 -242 194 -226V728'], + + // RIGHT FLOOR + 0x230B: [749,248,511,17,317,'17 -219Q17 -201 40 -188H256V270L257 728Q271 749 283 749Q308 749 317 725V-224Q310 -242 295 -248H40L38 -247Q35 -246 34 -245T30 -243T25 -239T21 -234T18 -227T17 -219'], + + // stix-small down curve + 0x2322: [405,-107,1150,65,1084,'95 108Q85 108 75 114T65 139Q65 159 129 227Q316 405 573 405Q654 405 729 387T854 344T950 286T1015 232T1053 191Q1078 160 1083 152Q1084 148 1084 139Q1084 121 1074 115T1054 108Q1040 108 1029 122T990 167T922 223Q819 291 680 309Q641 315 575 315Q508 315 469 309Q303 288 197 201Q168 179 148 155T118 119T95 108'], + + // stix-small up curve + 0x2323: [393,-126,1150,64,1085,'1054 392Q1067 392 1076 384T1085 362Q1085 351 1079 342T1050 310Q983 243 901 200Q753 126 575 126Q494 126 420 141T298 176T205 225T140 272T100 310Q64 346 64 362Q64 370 67 374Q75 393 93 393Q107 393 124 375Q272 214 575 214Q877 214 1025 375Q1039 392 1054 392'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MiscTechnical.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js new file mode 100644 index 00000000..7099b284 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js @@ -0,0 +1,53 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/SpacingModLetters.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [694,-520,575,126,449,'207 632L287 694Q289 693 368 632T448 570T431 545T413 520Q410 520 350 559L287 597L224 559Q164 520 161 520Q160 520 143 544T126 570T207 632'], + + // CARON + 0x2C7: [660,-515,575,130,443,'131 603Q130 604 136 618T150 646T158 659L223 635L287 611L351 635L416 659Q417 660 424 647T437 619T443 603Q440 601 364 558T287 515T210 558T131 603'], + + // MODIFIER LETTER MACRON + 0x2C9: [607,-540,575,80,494,'80 540V607H494V540H80'], + + // MODIFIER LETTER ACUTE ACCENT + 0x2CA: [706,-503,575,236,460,'391 706Q419 706 439 683T460 634Q460 608 441 593T366 550Q356 545 351 543L275 503L256 527Q236 552 237 553Q242 558 292 620Q299 629 309 641T324 659T336 673T346 685T354 693T363 699T371 703T380 705T391 706'], + + // MODIFIER LETTER GRAVE ACCENT + 0x2CB: [706,-503,575,113,338,'114 634Q114 663 136 684T183 706Q191 706 196 705T208 700T219 693T232 681T245 666T262 645T282 620Q332 558 337 553Q338 552 318 527L299 503L223 543Q215 547 202 553T183 563T167 571T153 580T141 587T131 595T124 603T118 612T115 622T114 634'], + + // BREVE + 0x2D8: [694,-500,575,102,472,'287 500Q208 500 155 558T102 689V694H153V685Q153 681 154 674T164 648T186 615T226 590T287 578Q347 578 382 611T421 685V694H472V689Q472 623 422 562T287 500'], + + // DOT ABOVE + 0x2D9: [695,-525,575,202,372,'202 610Q202 647 227 671T283 695Q324 695 348 669T372 610T350 551T287 525Q248 525 225 551T202 610'], + + // RING ABOVE + 0x2DA: [702,-535,575,160,414,'160 618Q160 653 193 677T279 702H284Q381 702 407 647Q414 634 414 618Q414 607 410 596T395 570T355 546T287 536T220 545T181 568T165 594T160 618ZM352 618Q352 645 341 652T301 659H292Q286 659 278 659T268 660Q247 660 236 653T224 638T222 619Q222 591 234 585T287 578Q315 578 326 580T345 590T352 618'], + + // SMALL TILDE + 0x2DC: [694,-552,575,96,478,'343 552Q320 552 278 575T215 599Q181 599 146 564L134 552L115 569Q111 572 106 576T98 584L96 586Q158 656 165 663Q199 694 230 694Q239 694 244 693Q262 689 300 668T359 647Q393 647 428 682L440 694L459 677Q463 674 468 670T476 662L478 660Q416 590 409 583Q375 552 343 552'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/SpacingModLetters.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js new file mode 100644 index 00000000..e1d70e3c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/SuppMathOperators.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // AMALGAMATION OR COPRODUCT + 0x2A3F: [686,0,900,39,860,'39 655Q39 675 43 680T69 686Q110 684 225 684Q267 684 303 684T360 685T385 686Q401 686 405 680T409 651Q409 632 403 628T367 624H348H301V62H598V624H551H532Q502 624 496 628T490 651Q490 673 494 679T514 686Q518 686 558 685T675 684T792 685T836 686Q852 686 856 680T860 651Q860 632 854 628T818 624H799H752V62H799H809Q846 62 853 59T860 36V31V21Q860 6 850 2Q846 0 450 0H156Q75 0 60 1T40 11V18Q39 26 39 31Q39 54 44 58T82 63Q84 63 90 63T100 62H147V624H100H90Q53 624 46 627T39 650V655'], + + // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AAF: [696,199,894,96,797,'796 54Q796 40 788 32T767 24Q741 24 735 57Q729 107 705 148T646 216T563 264T465 297T356 316T245 326T136 330H134Q96 330 96 360Q96 391 134 391H136Q193 392 239 394T347 403T457 421T556 453T643 502T703 571T735 664Q741 696 763 696Q781 696 789 686T797 667Q797 651 792 624T758 545T682 456Q605 396 481 365L462 360Q483 357 526 344T633 296T733 215Q767 173 781 128T796 54ZM119 -199Q96 -190 96 -169T116 -141Q121 -139 448 -139H775Q776 -140 779 -142T785 -146T791 -151T795 -158T797 -169Q797 -190 775 -199H119'], + + // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [697,199,894,96,797,'127 24Q115 24 106 32T97 55Q97 95 124 156T211 265Q288 325 412 356L431 361Q410 363 367 376T259 425T160 506Q127 546 112 594T96 667Q96 679 104 688T126 697Q152 697 158 664Q164 614 188 573T247 505T331 456T429 424T539 405T649 395T758 391Q797 391 797 360Q797 330 761 330H758Q701 329 655 327T547 318T437 300T337 268T251 219T190 150T158 57Q151 24 127 24ZM119 -199Q96 -190 96 -169T116 -141Q121 -139 448 -139H775Q776 -140 779 -142T785 -146T791 -151T795 -158T797 -169Q797 -190 775 -199H119'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/SuppMathOperators.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js new file mode 100644 index 00000000..fc91f222 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/SupplementalArrowsA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // LONG LEFTWARDS ARROW + 0x27F5: [518,17,1805,64,1741,'1063 221L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1063L1065 280Q1079 281 1392 281H1719Q1720 280 1723 278T1729 274T1735 269T1739 262T1741 251Q1741 230 1719 221H1063'], + + // LONG RIGHTWARDS ARROW + 0x27F6: [518,17,1833,96,1773,'119 221Q96 230 96 251T116 279Q121 281 448 281H1188L1602 282Q1569 304 1530 357T1473 482Q1469 500 1469 501Q1469 512 1480 517Q1482 518 1500 518H1505Q1520 518 1523 515T1532 495Q1552 412 1611 351T1753 270Q1773 263 1773 251Q1773 240 1765 236T1732 225T1683 204Q1625 173 1586 122T1532 6Q1528 -10 1524 -13T1504 -17H1499Q1474 -16 1470 -9Q1469 -6 1469 -2Q1469 1 1473 17Q1501 138 1602 220H1188L775 221H119'], + + // LONG LEFT RIGHT ARROW + 0x27F7: [518,17,2126,64,2061,'1063 221L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1476L1890 282Q1857 304 1818 357T1761 482Q1757 500 1757 501Q1757 512 1768 517Q1770 518 1788 518H1793Q1808 518 1811 515T1820 495Q1840 412 1899 351T2041 270Q2061 263 2061 251Q2061 240 2053 236T2020 225T1971 204Q1913 173 1874 122T1820 6Q1816 -10 1812 -13T1792 -17H1787Q1762 -16 1758 -9Q1757 -6 1757 -2Q1757 1 1761 17Q1789 138 1890 220H1476L1063 221'], + + // LONG LEFTWARDS DOUBLE ARROW + 0x27F8: [547,46,1868,64,1804,'1063 333L700 332H338L324 321Q283 290 230 264L205 250Q266 224 323 180L338 170L700 169H1063L1064 168Q1080 169 1423 169H1782L1786 166Q1791 163 1793 162T1798 157T1802 149T1804 139Q1804 118 1782 109H1063L733 108H404L412 99Q455 50 488 -10Q498 -27 493 -37Q487 -46 465 -46H460Q446 -46 439 -39T426 -18T399 25T344 89Q239 194 99 229Q96 230 92 231T85 232T79 234T73 235T69 237T66 240T65 244T64 250Q64 267 90 271Q197 295 286 361T430 525Q439 542 442 544T460 547H465Q487 547 492 539Q496 531 496 530Q496 521 471 482T414 405L404 394L733 393H1063Q1064 392 1065 392Q1081 393 1423 393H1782Q1783 392 1786 390T1792 386T1798 381T1802 374T1804 363Q1804 345 1782 333H1063'], + + // LONG RIGHTWARDS DOUBLE ARROW + 0x27F9: [547,46,1870,64,1804,'87 109Q64 118 64 139Q64 159 86 168Q89 169 448 169H1169L1532 170L1546 180Q1562 193 1580 204T1612 223T1638 237T1657 246L1664 250L1639 264Q1586 290 1545 321L1531 332H1169L807 333H87Q64 343 64 362Q64 383 84 391Q89 393 448 393H1136L1465 394L1455 405Q1428 436 1401 477T1374 531Q1374 547 1399 547H1404H1409Q1423 547 1430 540T1443 519T1470 475T1526 411Q1634 303 1779 271Q1780 271 1783 270T1788 269T1792 268T1796 266T1799 264T1802 260T1803 256T1804 250Q1804 242 1800 238T1783 231T1755 225T1712 211T1654 185Q1517 112 1439 -24Q1430 -40 1426 -43T1409 -46H1404Q1373 -46 1373 -31Q1373 -24 1381 -10Q1414 50 1457 99L1465 108H1136L807 109H87'], + + // LONG LEFT RIGHT DOUBLE ARROW + 0x27FA: [547,46,2126,64,2060,'1063 333L700 332H338L324 321Q283 290 230 264L205 250Q266 224 323 180L338 170L700 169H1425L1788 170L1802 180Q1818 193 1836 204T1868 223T1894 237T1913 246L1920 250L1895 264Q1842 290 1801 321L1787 332H1425L1063 333ZM733 393H1392L1721 394L1711 405Q1684 436 1657 477T1630 531Q1630 547 1655 547H1660H1665Q1679 547 1686 540T1699 519T1726 475T1782 411Q1890 303 2035 271Q2036 271 2039 270T2044 269T2048 268T2052 266T2055 264T2058 260T2059 256T2060 250Q2060 242 2056 238T2039 231T2011 225T1968 211T1910 185Q1773 112 1695 -24Q1686 -40 1682 -43T1665 -46H1660Q1629 -46 1629 -31Q1629 -24 1637 -10Q1670 50 1713 99L1721 108H1392L1063 109L733 108H404L412 99Q455 50 488 -10Q498 -27 493 -37Q487 -46 465 -46H460Q446 -46 439 -39T426 -18T399 25T344 89Q239 194 99 229Q96 230 92 231T85 232T79 234T73 235T69 237T66 240T65 244T64 250Q64 267 90 271Q197 295 286 361T430 525Q439 542 442 544T460 547H465Q487 547 492 539Q496 531 496 530Q496 521 471 482T414 405L404 394L733 393'], + + // LONG RIGHTWARDS ARROW FROM BAR + 0x27FC: [518,17,1833,65,1773,'65 426Q74 448 95 448Q112 448 125 426V281H130L132 280H134Q162 281 448 281H1188L1602 282Q1569 304 1530 357T1473 482Q1469 500 1469 501Q1469 512 1480 517Q1482 518 1500 518H1505Q1520 518 1523 515T1532 495Q1552 412 1611 351T1753 270Q1773 263 1773 251Q1773 240 1765 236T1732 225T1683 204Q1625 173 1586 122T1532 6Q1528 -10 1524 -13T1504 -17H1499Q1474 -16 1470 -9Q1469 -6 1469 -2Q1469 1 1473 17Q1501 138 1602 220H1188L775 221H135Q133 220 130 220H125V76Q115 54 95 54Q73 54 65 76V426'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/SupplementalArrowsA.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js new file mode 100644 index 00000000..6552bc4b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js @@ -0,0 +1,287 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [716,0,307,107,380,'330 716Q351 716 365 703T380 670V659L304 433Q230 207 227 204Q225 198 205 198Q184 198 184 207T220 439T260 669Q270 694 297 708Q300 709 304 710T311 713T316 714Q324 716 330 716ZM107 51Q110 83 133 102T179 121Q207 121 219 105T231 72Q231 45 209 23T156 0Q138 0 123 11T107 51'], + + // QUOTATION MARK + 0x22: [694,-379,514,176,538,'214 620Q214 647 236 670T289 694Q312 694 326 677T341 633V624Q341 588 327 550T294 482T253 428T216 392T196 379Q191 379 184 388T176 401Q176 404 195 421T243 472T287 547Q299 576 299 582L295 580Q291 578 282 576T264 573Q241 573 228 585T214 620ZM411 620Q411 647 433 670T486 694Q509 694 523 677T538 633V624Q538 588 524 550T491 482T450 428T413 392T393 379Q388 379 381 388T373 401Q373 404 392 421T440 472T484 547Q496 576 496 582L492 580Q488 578 479 576T461 573Q438 573 425 585T411 620'], + + // NUMBER SIGN + 0x23: [694,194,818,115,828,'281 327H228Q186 327 175 330T164 347Q164 359 176 365Q179 367 292 367H404L563 688Q569 694 578 694T593 686T597 670Q597 667 531 535L448 367H614L773 688Q779 694 787 694Q796 694 802 688T808 674V672L807 670Q807 667 732 517L658 368L736 367H814Q828 357 828 347Q828 336 812 327H637L599 250Q561 174 561 173H662H724Q760 173 769 170T779 153T770 136T729 132Q721 132 696 132T651 133H540L380 -188Q374 -194 366 -194Q357 -194 351 -188T345 -174L346 -172V-170Q346 -167 412 -35L495 133H330L170 -188Q164 -194 156 -194Q147 -194 141 -188T135 -174L136 -172V-170Q136 -167 211 -17L285 133H207L130 134Q115 140 115 153Q115 164 131 173H306L344 250Q382 326 382 327H281ZM592 327H427L389 250Q351 174 351 173H516L554 250Q592 326 592 327'], + + // PERCENT SIGN + 0x25: [750,56,818,145,847,'301 348Q257 348 231 383T205 480Q205 553 244 629T346 736Q370 750 394 750Q416 750 429 742T458 714Q512 644 606 644Q722 644 802 732Q817 750 827 750Q835 750 841 744T847 730Q847 725 827 700T689 540Q586 421 512 335Q180 -50 176 -52Q172 -56 165 -56Q157 -56 151 -50T145 -35Q145 -29 162 -9T330 186Q392 258 430 302Q711 627 711 628L701 624Q652 607 604 607Q551 607 494 634L479 642V624Q479 544 439 467Q414 416 377 382T301 348ZM270 443Q270 385 303 385H306H308Q326 385 348 407Q384 441 409 504T434 627Q434 713 390 713Q358 713 328 663Q307 631 289 556T270 451V443ZM608 -56Q573 -56 543 -23T513 76Q513 129 536 190T604 296L627 318Q670 347 704 347Q747 347 767 310T788 222Q788 126 732 35T608 -56ZM742 222Q742 310 699 310Q677 310 655 285T620 227Q608 197 593 138T578 42V36Q578 -18 613 -18Q657 -18 699 64T742 222'], + + // AMPERSAND + 0x26: [716,23,767,127,802,'209 444Q209 546 278 631T424 716Q473 716 501 683T530 601Q530 554 511 535T467 515Q446 515 437 527T427 553Q427 578 446 594T481 610H483V617Q480 641 464 660T419 679Q367 679 328 603Q316 578 305 538T288 470L282 443L295 449Q308 455 330 462T371 469Q397 469 413 450T430 404Q430 363 400 329T331 295Q291 295 256 322Q255 322 246 293T227 223T217 158Q217 117 232 88T273 43T327 22T387 15Q457 15 512 37T599 93T652 169T680 248T688 317T678 380T659 423T647 437Q643 435 637 431T613 416T581 392T554 364T538 332Q540 310 541 310Q554 335 587 335Q601 335 613 327T626 300Q626 290 622 279T603 255T563 242Q532 245 512 263T491 320Q494 351 511 377T547 418T600 456T652 494Q676 512 697 539T728 582T738 601Q738 602 736 602Q732 602 726 604T714 616T707 638Q707 661 724 677T764 694Q799 694 802 660Q802 625 767 562T688 467L694 458Q700 449 702 444T711 428T720 408T727 385T733 358T735 327Q735 281 724 235T685 141T617 59T515 1T375 -22Q270 -22 199 34T127 181Q127 216 147 270T207 374L216 386Q209 421 209 444ZM386 412Q386 432 366 432Q345 432 325 418T294 390T284 375Q284 371 289 362T306 343T335 332Q355 332 367 350T383 384T386 412'], + + // APOSTROPHE + 0x27: [694,-378,307,212,377,'250 620Q250 647 272 670T325 694Q348 694 362 677T377 633V624Q377 566 343 506T275 412T231 379Q226 379 220 388T213 401T232 421T279 472T323 547Q335 573 335 582L331 580Q327 578 318 576T300 573Q277 573 264 585T250 620'], + + // LEFT PARENTHESIS + 0x28: [750,250,409,144,517,'241 -250Q203 -212 174 -140T144 39Q144 158 180 288T296 544T481 746L487 750H499Q517 750 517 740Q517 736 495 716Q399 630 331 491T236 228T208 3Q208 -73 224 -130T255 -214T271 -244Q271 -250 252 -250H241'], + + // RIGHT PARENTHESIS + 0x29: [750,250,409,17,390,'326 497Q326 546 320 588T304 655T285 699T269 728T262 740Q262 746 267 749L272 750Q276 750 281 750H293Q331 712 360 640T390 461Q390 332 339 171T188 -116Q161 -150 121 -188T47 -250H35Q17 -250 17 -240Q17 -236 39 -216Q135 -130 203 9T298 272T326 497'], + + // ASTERISK + 0x2A: [750,-320,511,195,584,'560 658Q569 658 576 649T584 631Q584 625 583 620T577 611T569 603T556 595T540 587T519 578T494 566L428 536Q427 535 433 531T479 502Q525 475 532 469T539 450Q538 435 525 424T497 412Q489 412 482 418T442 456Q400 497 400 494L387 420Q376 353 373 343T352 323Q345 320 336 320H331Q322 320 316 327T309 343Q309 347 334 420L359 496Q358 496 297 456T234 414Q228 411 221 411Q212 411 204 417T195 439Q198 458 209 465T283 502L353 534L300 566Q255 593 247 599T239 616Q239 631 252 644T282 658Q290 658 295 654T335 615L378 573L391 647Q393 657 395 671T398 691T400 706T404 720T408 730T414 739T423 744T434 749Q435 749 439 749T445 750Q467 748 469 728Q469 723 457 685T432 610L420 573L481 613Q548 658 560 658'], + + // PLUS SIGN + 0x2B: [557,57,767,139,753,'139 237T139 250T151 266T198 270H293H431L465 407Q469 424 476 452Q494 528 500 542T519 557Q526 557 532 552T538 538Q538 536 507 409T472 272Q472 270 604 270Q737 270 741 268Q753 261 753 250Q753 237 742 233T696 229Q687 229 655 229T599 230H462L461 226Q461 224 427 91T392 -47Q387 -57 374 -57Q367 -57 361 -51T355 -37Q355 -31 388 99L421 230H288Q267 230 238 230T199 229Q163 229 151 233'], + + // COMMA + 0x2C: [121,194,307,69,232,'106 46Q106 68 121 90T167 120Q168 120 173 120T180 121Q232 121 232 59V54Q232 18 219 -20T186 -88T145 -143T109 -181T88 -194Q84 -194 77 -185T69 -171Q69 -168 70 -166T76 -161T85 -154T101 -139T124 -114Q146 -88 162 -58T183 -12T188 7Q187 7 183 5T172 2T156 0Q129 0 118 14T106 46'], + + // HYPHEN-MINUS + 0x2D: [251,-180,358,84,341,'205 180H131Q102 180 93 181T84 190Q90 238 103 251H334Q341 244 341 241Q341 236 336 214T327 186Q325 181 312 181T205 180'], + + // FULL STOP + 0x2E: [121,0,307,107,231,'107 50Q107 76 129 98T181 121Q203 121 217 108T231 72Q231 47 210 24T156 0Q135 0 121 13T107 50'], + + // SOLIDUS + 0x2F: [750,250,511,19,617,'596 750Q604 750 610 744T617 730L616 728Q616 727 616 726Q615 723 337 244T55 -242Q49 -250 40 -250Q30 -250 25 -243Q18 -238 20 -226Q21 -223 299 256T581 742Q589 750 596 750'], + + // DIGIT ZERO + 0x30: [665,21,511,110,562,'414 665Q562 665 562 490Q562 426 534 318Q451 -21 251 -21Q222 -21 202 -15Q155 2 134 40T110 144Q110 201 127 286T187 470T287 614Q348 665 414 665ZM187 98Q187 59 208 37T260 15Q320 15 365 83Q394 128 440 312T487 547Q487 580 471 600T433 627Q428 628 408 628Q381 628 353 609T311 569Q279 526 239 364T190 143Q187 120 187 98'], + + // DIGIT ONE + 0x31: [666,0,511,110,468,'248 491Q228 491 228 502Q228 516 236 532Q237 536 246 537T275 541T314 552Q350 567 382 595T430 644L446 664Q450 666 454 666Q468 666 468 658Q468 647 395 359Q321 63 321 59Q321 52 334 50T388 46H422Q428 37 428 35Q428 19 421 5Q416 0 405 0Q400 0 361 1T263 2Q215 2 185 2T142 1T127 0Q110 0 110 11Q110 13 113 25T118 40Q120 46 146 46Q196 46 212 49T235 61Q238 66 295 295L353 526L340 519Q328 512 302 503T248 491'], + + // DIGIT TWO + 0x32: [666,22,511,76,551,'159 404Q159 433 176 476T222 562T297 635T395 666Q466 666 508 617T551 497Q551 473 545 446Q534 388 482 333Q441 292 355 240T264 184Q216 151 179 101L171 91Q171 90 177 90Q206 90 269 77T366 64Q385 64 390 65Q418 73 441 98T475 156Q479 168 481 170T495 173H518Q524 167 524 166T521 152Q502 86 459 32T353 -22Q315 -22 259 15T172 53Q156 53 143 36T126 1L121 -16Q119 -22 98 -22H82Q76 -16 76 -13T80 5T98 50T132 111T189 178T274 242Q327 273 364 305T420 370T447 427T460 483Q466 514 466 538Q466 586 443 607T389 629Q338 629 293 584T226 487T204 399Q204 390 204 386T209 378T222 373Q258 376 282 422T307 493Q307 506 302 517T297 531Q297 537 308 546T327 551Q329 550 333 543T340 523T344 497Q344 450 306 393T216 336Q186 336 173 355T159 396V404'], + + // DIGIT THREE + 0x33: [666,22,511,96,562,'296 531Q296 536 307 544T322 553Q330 553 338 534T346 501Q346 468 319 440T258 412Q232 412 216 430T200 478Q200 552 281 618Q345 666 416 666Q489 666 525 625T562 530Q562 473 525 419T430 335L416 329Q479 288 479 206Q479 142 440 89T344 7T229 -22Q173 -22 135 12T96 106Q96 192 157 192Q192 192 197 157Q197 134 184 117T142 96Q153 47 180 29Q201 15 232 15Q249 15 275 22Q307 34 331 57Q363 90 379 153T396 246Q396 261 393 272T384 290T371 301T355 308T341 311T326 312H316H307Q287 312 282 313T276 320Q276 323 279 337T283 352Q284 356 290 357T325 358Q364 359 368 360Q386 365 400 372T433 397T464 448T485 527Q487 535 487 556Q487 629 414 629Q350 629 298 580T245 476Q245 450 263 450H264Q280 450 294 463T308 496Q308 508 302 518T296 531'], + + // DIGIT FOUR + 0x34: [666,195,511,46,478,'448 34Q453 34 463 22T473 5Q473 -2 457 -7Q417 -22 383 -23H366L350 -91Q348 -98 345 -111T340 -130T335 -146T330 -161T325 -172T318 -182T310 -188T299 -193T286 -194Q256 -194 253 -165Q253 -159 271 -83T292 -5Q231 29 169 29Q114 29 91 14Q72 -2 65 1Q46 20 46 28Q46 35 55 43T77 60T96 74Q306 257 396 623Q410 666 444 666Q459 666 468 657T478 634Q478 627 470 595T440 504T387 381T303 239T187 99L164 75H178Q217 75 260 59L304 43Q304 48 325 127Q342 195 346 207T358 228Q372 242 391 242Q403 242 413 235T423 214Q423 205 402 116T378 25Q378 23 387 23Q405 23 418 25T439 31T448 34'], + + // DIGIT FIVE + 0x35: [667,22,511,106,567,'196 304Q189 309 189 314Q189 317 231 487T275 660Q278 666 283 666Q287 666 302 658T346 643T413 635Q447 635 481 642T537 658T559 666Q561 666 564 663T567 658Q565 637 557 629Q528 600 474 573T359 545Q342 545 327 546T304 550T294 552L291 540Q288 529 283 507T273 465L251 379Q307 420 364 420Q415 420 456 382T497 261Q497 165 429 82T262 -20Q256 -20 247 -21T233 -22Q176 -22 141 15T106 112Q106 208 173 208Q192 208 203 197T214 169Q214 143 195 125T156 107H153V100Q155 73 174 47T239 21Q245 21 259 23Q355 46 392 200Q393 205 394 207Q412 276 412 312Q412 352 396 367T358 383Q288 383 233 314Q226 306 224 305T209 304H196'], + + // DIGIT SIX + 0x36: [665,22,511,120,565,'377 434Q425 434 457 404T499 341T509 278Q509 243 496 194T456 105T383 27Q322 -22 256 -22Q142 -22 122 114Q120 130 120 159Q120 221 135 292T195 452T310 599Q390 665 465 665Q565 665 565 583V574Q565 543 546 524Q528 506 504 506Q491 506 478 514T465 543Q465 585 515 602Q505 626 466 626Q419 626 372 587Q334 557 305 503T266 409L255 370Q287 410 339 429Q361 434 377 434ZM424 333Q424 359 411 378T365 397Q318 397 282 356T230 257T205 157T197 94Q197 67 211 45T260 22Q313 22 341 57T386 151Q424 283 424 333'], + + // DIGIT SEVEN + 0x37: [666,22,511,136,634,'466 519Q448 519 435 528T416 550T400 571T376 581Q324 581 271 540T186 437Q185 435 183 432T181 428T179 426T177 424T174 423T171 422T165 422H159Q141 422 141 423Q136 423 136 431Q136 433 190 548T247 665Q249 666 266 666H282Q288 660 288 657Q288 655 284 646T276 628L273 620Q337 666 390 666Q413 666 425 652T438 620T444 584T457 559Q460 557 470 557Q497 557 524 582T571 635T594 665Q595 666 612 666H628Q634 660 634 657Q634 653 618 629T572 556T510 441T437 269T367 43Q356 -22 304 -22Q291 -22 278 -14T263 14Q263 36 281 95T354 269T486 507Q497 524 495 524Q482 519 466 519'], + + // DIGIT EIGHT + 0x38: [666,21,511,99,553,'209 449Q209 545 278 605T416 666Q482 666 517 631T553 546Q553 513 539 482T504 430T463 394T426 370L410 360L430 343Q471 309 483 278T495 211Q495 141 441 75Q363 -21 253 -21Q182 -21 141 18T99 117Q99 161 119 201T170 268T222 308T259 331L272 338L259 349Q212 389 209 449ZM492 542Q492 586 469 605T415 625Q360 625 320 587T279 505Q279 495 281 487T286 474T295 460T306 449T321 436T337 422Q379 386 380 386Q389 386 420 412T472 471Q492 513 492 542ZM163 118Q163 76 189 49T258 21Q316 21 368 64T420 170Q420 193 412 208T395 233T350 271L302 312Q298 312 284 303T249 276T209 235T177 181T163 118'], + + // DIGIT NINE + 0x39: [666,22,511,107,554,'297 211Q258 211 230 228T189 273T169 323T163 367Q163 411 183 472T254 585Q327 656 401 665Q403 665 412 665T427 666Q458 664 481 652T518 622T539 580T550 535T553 491Q553 448 544 395T515 277T454 148T358 37Q282 -22 213 -22Q166 -22 137 -1T107 55V64Q107 88 114 104T134 127T154 136T169 138Q185 138 196 128T207 101Q207 82 196 68T172 48L161 43Q161 40 167 36T187 26T219 21Q286 21 344 99Q364 126 382 169T408 241T417 275L412 269Q406 263 395 253T370 234T337 218T297 211ZM476 552Q476 626 417 626Q368 626 330 584Q312 563 300 533T270 433Q248 341 248 312Q248 286 262 267T310 248Q353 248 387 287T440 380T467 480T476 552'], + + // COLON + 0x3A: [431,0,307,107,308,'184 358Q184 385 206 408T258 431Q279 431 293 418T308 383Q308 354 284 332T233 310Q212 310 198 324T184 358ZM107 50Q107 76 129 98T181 121Q203 121 217 108T231 72Q231 47 210 24T156 0Q135 0 121 13T107 50'], + + // SEMICOLON + 0x3B: [431,195,307,70,308,'184 358Q184 385 206 408T258 431Q279 431 293 418T308 383Q308 354 284 332T233 310Q212 310 198 324T184 358ZM107 47Q107 77 130 99T180 121Q226 121 226 61Q226 25 214 -14T182 -84T144 -140T109 -180T88 -194T77 -185T70 -172Q70 -169 84 -155T121 -112T161 -48Q180 -10 180 3Q180 4 174 2Q172 2 166 1T156 0Q135 0 121 13T107 47'], + + // EQUALS SIGN + 0x3D: [367,-133,767,116,776,'776 357T776 347T761 327H470Q180 327 176 329Q164 334 164 347Q164 359 176 365Q179 367 470 367H761Q776 357 776 347ZM116 143T116 153T131 173H422Q713 173 717 171Q728 166 728 153T717 135Q713 133 422 133H131Q116 143 116 153'], + + // QUESTION MARK + 0x3F: [716,0,511,195,551,'235 431Q217 431 206 442T195 468Q195 490 215 537T280 638T380 707Q403 716 423 716Q425 716 429 716T436 715Q485 715 518 681T551 590Q551 543 530 503T482 439Q471 428 400 375T318 310Q300 287 300 259Q300 236 315 236Q333 236 352 251T384 300Q386 306 407 306H423Q429 300 429 297Q429 272 393 235T308 198Q287 198 269 215T251 270Q251 330 293 374L374 436Q377 438 401 456T432 480T457 503T481 531T494 561T501 598Q501 614 499 626Q482 678 430 678H426Q392 678 362 660T311 615T280 571T264 540L259 528Q259 527 266 526T283 516T294 492Q294 466 276 449T235 431ZM209 51Q212 83 235 102T281 121Q309 121 321 105T333 72Q333 45 311 23T258 0Q240 0 225 11T209 51'], + + // COMMERCIAL AT + 0x40: [705,12,767,152,789,'198 250Q198 155 248 91T394 26Q514 26 640 80L650 84H675H683Q709 84 709 76Q709 73 708 71Q706 64 660 45T534 8T383 -11T260 24T181 115Q152 168 152 248Q152 410 268 552Q303 590 324 608Q439 705 551 705Q611 705 658 683T733 623T775 543T789 454Q789 380 766 304T720 192Q677 125 617 125Q591 125 573 137T548 160T541 176Q541 178 540 178L534 173Q527 168 515 160T488 144T454 131T417 125Q361 125 320 166T279 284Q279 393 356 481T523 569Q570 569 603 537Q623 515 632 490L637 480L657 479Q684 479 684 470Q684 465 650 333L617 199V185Q616 162 628 162Q677 162 712 278Q743 381 743 442Q743 555 687 611T553 668Q467 668 385 608T250 450T198 250ZM598 445Q598 453 594 470T569 510T518 532Q463 532 410 448T356 271Q356 220 374 191T423 162Q482 162 552 255L575 348Q598 440 598 445'], + + // LATIN CAPITAL LETTER A + 0x41: [716,0,743,58,696,'85 46Q112 48 132 56T161 73T176 92T185 104Q185 106 353 407T524 709Q527 716 551 716Q568 716 572 712Q573 711 574 710Q576 708 594 384Q613 54 617 52H618Q626 46 672 46H689Q696 41 696 36Q696 13 683 0H670Q639 2 557 2Q526 2 500 2T459 2T441 1Q425 1 425 10Q425 12 427 24Q428 27 429 31T430 36T432 40T434 43T437 45T443 46T450 46Q514 46 514 69Q514 74 511 136L506 209H292L260 152Q222 84 222 74Q222 48 264 46Q280 46 280 35Q280 33 278 21Q275 7 272 4T259 0Q256 0 232 1T159 2Q135 2 109 1T78 0Q58 0 58 10Q58 14 61 26T66 40Q68 46 85 46ZM504 260Q503 263 496 407T486 553L466 520Q446 486 402 406L318 256Q318 255 411 255H504V260'], + + // LATIN CAPITAL LETTER B + 0x42: [683,0,704,57,732,'57 11Q57 38 69 45L74 46Q78 46 85 46T99 46Q134 47 145 50T162 62Q164 66 233 344T303 626Q303 627 302 629V631Q296 637 241 637H223Q217 642 217 645T219 664Q223 677 229 683H411L593 682L605 680Q616 678 628 675T660 662T694 639T720 601T732 547Q732 519 726 503Q710 452 662 414T556 360L545 357L556 355Q604 346 641 312T678 221Q678 155 622 92T482 8Q459 2 439 2T256 0H154H105Q74 0 66 2T57 11ZM629 549Q628 550 629 557T627 576T619 600T601 622T570 636Q564 637 490 637Q472 637 454 637T424 636T411 636Q399 635 395 622T364 500Q333 377 332 376Q332 374 408 374L485 375L495 377Q547 390 588 437T629 549ZM504 336Q500 337 410 337Q323 337 322 336Q322 334 305 263T270 122T252 51Q252 47 337 46Q346 46 361 46T384 45Q425 45 455 55T515 95Q574 156 574 235Q574 276 555 304T504 336'], + + // LATIN CAPITAL LETTER C + 0x43: [705,21,716,150,812,'395 -21Q279 -21 215 56T150 244Q150 402 265 543Q339 630 421 667T562 704Q596 704 604 703Q627 698 647 689T679 669T699 649T711 633T716 627L753 665Q790 704 792 704Q793 705 798 705Q812 705 812 698Q812 694 780 561Q744 422 744 421Q742 416 739 415T721 413H705Q699 419 699 426Q701 432 701 444Q705 464 705 493Q705 524 700 551T681 604T643 644T583 659Q480 659 387 570Q321 502 287 397T252 213Q252 123 297 74Q347 24 421 24Q500 24 564 89T653 240Q656 253 659 255T677 257Q700 257 700 248Q700 242 694 222Q681 183 656 143T593 65T504 3T395 -21'], + + // LATIN CAPITAL LETTER D + 0x44: [683,0,755,56,775,'56 11Q56 38 68 45L72 46Q77 46 84 46T98 46Q133 47 144 50T161 62Q163 66 232 344T302 626Q302 627 302 629L301 631Q295 637 240 637H222Q216 642 216 645T218 664Q222 677 228 683H403Q582 683 589 682Q672 674 723 608T775 440Q775 312 709 209T562 54Q502 14 432 2Q423 1 243 0H148H102Q72 0 64 2T56 11ZM254 51Q254 46 348 46Q395 46 422 50T484 71Q585 121 633 255Q679 396 679 477Q679 522 665 554T629 603T587 626T548 636Q547 636 536 636T510 636T480 637Q420 637 411 636T398 627Q396 623 325 339T254 51'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,678,54,743,'248 634Q216 634 214 638Q213 641 213 646Q213 674 224 678Q226 680 481 680H736Q743 676 743 669Q743 665 729 557T713 447Q711 440 690 440H675Q667 445 667 454Q667 455 671 481T675 536Q675 583 658 604T592 632Q574 634 475 634Q439 634 424 633T405 631T399 625Q397 622 367 501T336 377Q336 376 367 376H388Q451 376 477 389Q493 399 503 419T520 462T528 489Q531 493 549 493Q557 493 561 492T566 491T569 488T572 483L539 351Q507 221 503 216Q503 216 500 213H484Q468 213 465 216Q461 219 461 225Q461 228 466 250T472 290Q472 317 452 323T368 330H324Q323 326 289 191T255 51T331 46H360Q413 46 444 49T511 67T570 113Q589 137 608 175T638 242T652 272Q656 274 670 274Q693 274 693 262L648 148Q590 4 588 2Q585 0 323 0H61Q54 4 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623Q299 630 292 631T248 634'], + + // LATIN CAPITAL LETTER F + 0x46: [680,-1,653,54,731,'299 623Q299 630 292 631T247 634H219Q213 640 213 642T215 661Q218 673 225 680H724Q731 676 731 669Q731 665 717 557T701 447Q699 440 678 440H663Q656 444 656 452Q656 457 659 485T663 538Q663 586 644 607T566 633Q564 633 535 633T486 634H458Q404 634 399 625Q396 620 364 492L332 363H380Q446 365 464 373Q496 389 514 458Q518 477 523 479Q527 480 541 480H556Q563 475 563 470Q563 467 532 339T498 207Q496 200 475 200H460Q453 207 453 212Q454 213 456 225T461 254T464 278Q464 304 445 310T369 317H321L289 190Q257 66 257 59Q257 54 261 52T283 48T337 46Q348 46 352 46T360 45T366 42T368 37Q368 32 365 23Q360 4 355 2Q352 1 342 1Q336 1 297 1T199 2Q138 2 106 2T71 1H68Q54 1 54 11Q54 38 66 45L70 46Q75 46 82 46T96 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623'], + + // LATIN CAPITAL LETTER G + 0x47: [705,22,774,150,812,'632 -1Q629 -1 622 5T604 25T583 53Q508 -22 394 -22Q287 -22 219 52T150 244Q150 402 265 543Q339 630 421 667T562 704Q596 704 604 703Q627 698 647 689T679 669T699 649T711 633T716 627L753 665Q790 704 792 704Q793 705 798 705Q812 705 812 698Q812 694 780 561Q744 422 744 421Q742 416 739 415T721 413H705Q699 419 699 426Q701 432 701 444Q705 464 705 493Q705 524 700 551T681 604T643 644T583 659Q480 659 387 570Q319 501 286 394T252 208Q252 156 269 118T314 61T369 33T425 24Q470 24 509 46T566 104Q571 116 583 162T595 214Q595 222 583 223Q561 227 517 227H495Q488 230 488 238Q488 254 495 268Q500 273 511 273Q515 273 532 273T581 272T649 271Q731 271 752 273H761Q767 267 767 264T765 246Q761 233 755 227H742Q698 227 693 213L639 4Q636 -1 632 -1'], + + // LATIN CAPITAL LETTER H + 0x48: [683,0,743,54,860,'61 0Q54 7 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62Q161 66 230 344T300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H239Q307 681 372 681Q480 681 486 683H496Q502 677 502 674T500 656Q496 643 490 637H472Q418 637 406 630Q400 627 396 612T367 500Q360 474 352 442T340 395L336 380Q336 378 466 378H596Q657 622 657 626Q657 627 656 629V631Q650 637 595 637H577Q571 642 571 645T573 664Q577 677 583 683H596Q664 681 729 681Q837 681 843 683H853Q860 676 860 672Q858 647 848 637H819Q783 636 772 634T756 623Q753 618 684 340T614 57Q614 50 621 49T666 46Q697 46 699 40Q701 37 698 21Q693 3 689 1Q686 0 677 0Q673 0 657 0T611 1T546 2Q453 2 428 0H418Q411 7 411 11Q411 27 418 41Q422 46 452 46Q488 47 499 50T516 62Q517 64 550 196T584 331Q584 332 454 332H324L291 197Q257 64 257 56Q257 50 265 49T309 46Q340 46 342 40Q344 37 341 21Q336 3 332 1Q329 0 320 0Q316 0 300 0T254 1T189 2Q96 2 71 0H61'], + + // LATIN CAPITAL LETTER I + 0x49: [683,0,386,49,508,'235 637Q217 637 213 638T209 649Q209 673 220 682Q222 683 237 683Q278 681 369 681Q404 681 441 682T483 683Q499 683 503 681T508 672Q508 670 505 658T500 643Q498 637 464 637Q425 635 415 633T398 621Q396 618 327 340T257 58T260 52T278 48T322 46Q349 46 349 36Q349 31 346 22Q342 4 337 1Q336 1 334 1T329 0Q325 0 307 0T258 1T190 2Q95 2 67 0H56Q49 7 49 11Q51 38 62 46H91Q129 47 141 50T159 62Q161 66 230 344T300 625Q300 637 235 637'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,22,525,78,622,'361 637Q333 637 331 641Q330 644 330 649Q330 673 341 682Q343 683 360 683Q405 681 500 681Q551 681 577 681T607 682Q622 682 622 673Q622 665 616 647Q614 640 610 639T587 637Q547 636 541 624Q538 618 477 374T413 124Q391 64 333 22T207 -21T109 12T78 86Q78 130 101 150T149 170Q193 170 196 129Q196 100 178 80T137 58L132 57Q134 52 138 46T160 28T205 16Q242 16 273 48T319 122Q322 129 383 371T444 627Q444 637 361 637'], + + // LATIN CAPITAL LETTER K + 0x4B: [683,0,769,54,859,'668 621Q668 635 645 637Q629 637 629 648Q629 650 632 662T637 677Q640 682 653 682Q657 682 688 681T764 680Q786 680 810 681T839 682Q859 682 859 672Q859 655 852 643Q849 637 839 637Q804 637 768 621T717 595T697 578Q696 578 600 497L505 417L508 408Q543 311 574 227T618 106T632 69Q645 47 688 46H707Q713 38 713 37T710 19Q706 6 700 0H688Q659 2 587 2Q557 2 532 2T492 2T474 1Q458 1 458 10Q458 13 460 23Q464 39 466 42T480 46Q526 46 526 72Q526 75 476 213L427 350Q426 350 396 325T334 272T302 242Q302 241 299 230T290 194T279 150Q257 61 257 55Q257 50 265 49T309 46H337Q343 40 343 38T341 19Q337 6 331 0H316Q280 2 190 2Q158 2 131 2T89 2T70 1Q54 1 54 11Q54 38 66 45L70 46Q75 46 82 46T96 46Q131 47 142 50T159 62Q161 66 230 344T300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H239Q307 681 372 681Q386 681 414 681T464 682L487 683H496Q502 677 502 674T500 656Q495 641 491 637H462Q426 636 415 634T399 623Q396 618 358 467L320 314Q321 314 484 452Q510 474 552 509Q625 570 646 590T668 621'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,0,627,54,628,'61 0Q54 4 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62Q161 66 230 344T300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H240Q275 681 371 681Q407 681 438 681T487 682T509 682Q527 682 527 674Q527 670 524 659Q523 657 523 654T522 649T520 645T519 642T517 640T515 639T512 638T507 637T502 637T494 637H478Q433 636 417 633T396 617Q395 614 325 334T255 51Q255 47 319 47Q387 47 410 52Q459 65 494 98T543 163T570 229T589 273H622Q628 264 628 262Q628 259 584 133T539 5Q537 1 511 1Q482 0 296 0H61'], + + // LATIN CAPITAL LETTER M + 0x4D: [683,0,897,58,1010,'72 1Q58 1 58 11Q58 33 66 41Q68 46 87 46Q150 50 168 84Q172 91 238 356T304 626Q304 627 304 629L303 631Q297 637 242 637H224Q218 642 218 645T220 664Q224 677 230 683H326H394Q417 683 422 682T429 676L480 127L502 163Q523 199 560 262T642 400Q801 668 805 676L817 683H1003Q1010 678 1010 672Q1010 650 997 637H979Q915 637 906 623Q903 618 834 340T764 57Q764 50 771 49T817 46H845Q851 38 851 37T848 19Q845 7 838 0H824Q789 2 701 2Q670 2 644 2T603 2T584 1Q569 1 569 11Q569 13 571 25Q576 42 581 45L586 46Q590 46 597 46T611 46Q646 47 657 50T674 62L813 616L634 313Q453 7 452 7Q446 0 428 0Q409 0 407 6Q405 10 379 304T351 604L285 348Q220 83 220 82Q220 65 233 57T279 46H295Q301 38 301 37T298 19Q295 7 288 0H275Q244 2 171 2Q145 2 123 2T88 2T72 1'], + + // LATIN CAPITAL LETTER N + 0x4E: [683,1,743,54,860,'633 637Q624 637 621 639T617 650Q617 670 630 683H641Q682 680 736 680Q836 680 845 683H853Q860 676 860 672Q858 647 848 637H832Q764 633 750 598Q746 590 673 300Q656 230 638 156T610 44L600 7Q598 0 576 0H559Q553 6 448 297L342 588Q341 588 279 336T216 81Q216 49 274 46Q293 46 295 40Q297 37 294 21Q293 19 292 16T291 11T290 7T289 4T287 2T284 1T280 1T275 0T263 0T229 1T167 2Q91 2 70 0H61Q54 7 54 11T57 27Q61 41 64 43T83 46Q146 50 164 84Q167 90 235 362L303 634Q300 635 253 637H220Q214 643 214 645T216 664Q220 677 226 683H314Q386 683 397 683T410 677Q412 675 501 428L591 179Q591 178 592 180T595 189T600 209T610 246T624 303T645 385Q698 595 698 606Q698 618 683 627T633 637'], + + // LATIN CAPITAL LETTER O + 0x4F: [704,22,767,149,788,'149 237Q149 326 186 413T282 563T412 665T552 704Q619 704 667 678T741 611T777 528T788 444Q788 328 728 219T572 44T377 -22Q275 -22 212 50T149 237ZM688 487Q688 570 650 617T548 665Q467 665 398 592T291 413T253 203Q253 119 290 70T387 20Q440 20 489 52T573 135T635 249T675 373T688 487'], + + // LATIN CAPITAL LETTER P + 0x50: [683,0,678,55,729,'62 0Q55 7 55 11Q55 27 62 41Q66 46 96 46Q132 47 143 50T160 62Q162 66 231 344T301 626Q301 627 300 629V631Q294 637 239 637H221Q215 642 215 645T217 664Q221 677 227 683H404H431H502Q578 683 615 675T684 636Q729 595 729 531Q729 462 671 396T524 308Q499 302 404 301H318L288 182Q258 63 258 55T310 46Q341 46 343 40Q345 37 342 21Q337 3 333 1Q330 0 321 0Q317 0 301 0T255 1T190 2Q97 2 72 0H62ZM626 555V562Q626 620 552 635Q546 636 481 637Q466 637 450 637T423 636T412 636Q401 635 398 627Q396 622 361 484Q353 452 344 416T330 362L325 344Q325 342 390 342H427Q523 342 567 386Q596 415 611 473T626 555'], + + // LATIN CAPITAL LETTER Q + 0x51: [704,195,767,149,788,'460 -107Q460 -72 464 -42T468 -7L457 -10Q446 -14 424 -18T379 -22Q276 -22 213 50T149 237Q149 326 186 413T282 563T412 665T552 704Q664 704 726 631T788 442Q788 305 703 180Q627 64 517 13L506 8Q506 7 508 -12T513 -38T522 -59T538 -79T565 -85Q604 -85 634 -59T672 0Q676 11 684 11Q693 11 695 2Q695 -1 690 -20T673 -69T644 -126T599 -174T538 -194Q464 -194 460 -110Q460 -108 460 -107ZM689 481Q689 578 646 621T551 665Q468 665 391 586Q321 512 285 399T249 202Q249 106 295 58Q310 41 314 41Q315 41 315 46Q315 83 344 118T420 154Q450 154 473 135Q493 114 500 69L502 58L512 65Q571 110 613 192T672 348T689 481ZM472 49Q472 118 415 118Q393 118 373 98T353 51Q353 18 386 18H387Q424 18 472 40V49'], + + // LATIN CAPITAL LETTER R + 0x52: [683,22,729,55,723,'62 0Q55 7 55 11Q55 27 62 41Q66 46 96 46Q132 47 143 50T160 62Q162 66 231 344T301 626Q301 627 300 629V631Q294 637 239 637H221Q215 642 215 645T217 664Q221 677 227 683H386Q554 682 569 679Q571 678 580 676Q643 662 680 623T717 533Q717 473 667 420T528 337L538 330Q563 314 578 286T594 228Q594 212 588 147T581 65Q581 36 589 26T616 16H618Q637 16 652 37Q668 57 677 94Q679 105 701 105T723 95Q723 89 717 72T698 33T662 -5T610 -22Q555 -22 513 3T471 88Q471 107 486 168T502 244Q502 303 452 320Q445 322 382 323H320L288 192Q255 63 255 55T307 46Q338 46 340 40Q342 37 339 21Q335 3 330 1Q326 0 320 0Q317 0 306 0T265 1T190 2Q99 2 73 0H62ZM612 558Q612 566 612 568T610 581T603 597T590 611T567 625T532 635Q526 636 470 637Q458 637 445 637T422 636T412 636Q402 635 397 627L390 598Q383 570 373 532T354 455T337 389T330 361Q356 360 384 360H415Q483 360 527 382Q557 399 574 424T604 498Q612 533 612 558'], + + // LATIN CAPITAL LETTER S + 0x53: [706,22,562,74,633,'198 460Q198 551 269 628T432 705Q516 705 557 644L583 673Q589 679 593 684T600 693T605 698T609 702T611 704T614 705T618 705H620Q633 705 633 698T605 577T573 459L570 456H554Q546 456 543 456T536 457T532 460T531 466Q531 469 533 489T536 532Q536 573 525 600T496 640T462 657T427 662Q369 662 325 612T281 503Q281 475 290 458T318 430T356 415T407 401T463 383Q506 360 522 323T538 258V244Q538 141 465 60T300 -22Q198 -22 152 41L143 31Q137 25 126 12T106 -10T95 -21L92 -22Q88 -22 86 -22Q81 -22 78 -20T74 -16V-14Q74 -11 132 221Q134 227 155 227H171Q177 221 177 215Q177 212 175 205T171 182T169 147Q171 99 195 70T246 33T306 25Q358 25 400 70T453 169Q455 180 455 203V210Q455 263 414 285Q409 288 347 305Q271 328 254 339Q239 350 224 371Q198 409 198 460'], + + // LATIN CAPITAL LETTER T + 0x54: [677,0,716,171,806,'178 437Q173 442 171 446Q171 451 238 654Q243 670 250 677H681H762Q792 677 799 676T806 667Q806 661 788 553T768 444Q768 437 746 437Q727 437 723 445Q723 450 729 492T736 562Q736 589 728 602T693 624Q675 630 622 630H595Q575 630 571 629T564 623Q562 621 492 342T422 59Q422 48 502 46H542Q548 38 548 37T545 19Q541 6 535 0H517Q475 2 357 2Q315 2 279 2T223 2T198 1Q179 1 179 9Q179 14 182 24Q187 42 190 44Q194 46 206 46H232Q289 47 301 49T326 65L395 344Q465 619 465 626Q465 629 462 629Q456 631 411 631Q364 631 336 625T288 597T255 549T224 467Q215 442 210 437H178'], + + // LATIN CAPITAL LETTER U + 0x55: [683,22,743,194,860,'636 637Q627 637 624 639T620 650Q620 670 633 683H644Q702 681 753 681Q760 681 772 681T796 681T820 682T838 683H845H853Q860 676 860 672Q858 647 848 637H832Q764 633 750 598Q745 588 698 400T648 204Q627 140 584 86Q484 -22 378 -22Q300 -22 247 31T194 167Q194 176 194 182T196 198T200 218T207 248T217 288T231 346T250 422Q300 618 300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H239Q307 681 372 681Q480 681 486 683H496Q502 677 502 674T500 656Q496 643 490 637H472Q418 637 406 630Q400 627 394 603T344 410Q299 232 292 198T284 135Q284 102 294 78T322 44T355 29T387 24Q455 24 515 74T604 211Q605 215 653 404T701 607Q701 618 686 627T636 637'], + + // LATIN CAPITAL LETTER V + 0x56: [683,22,743,205,868,'667 637Q657 637 654 639T650 650Q650 670 663 683H675Q704 681 772 681Q793 681 818 682T847 683Q868 683 868 672Q868 670 865 658T860 643Q857 637 848 637Q785 637 749 587L394 -15Q387 -22 366 -22Q346 -22 342 -16Q341 -13 313 303Q285 622 285 623Q283 631 273 634T229 637Q205 637 205 648Q205 654 208 666T217 682Q219 683 230 683Q276 680 329 680Q444 680 456 683H466Q472 677 472 674T470 656Q466 643 460 637H448Q384 637 384 615Q385 612 406 371T427 126Q427 125 495 240T632 473T704 596Q707 604 707 609Q707 633 667 637'], + + // LATIN CAPITAL LETTER W + 0x57: [683,22,999,205,1124,'234 637H226Q205 637 205 648Q205 673 216 682Q218 683 231 683Q265 681 340 681Q371 681 404 682T443 683Q458 683 462 681T467 672Q467 670 464 658T459 643Q457 637 434 637Q407 636 394 632T378 623T376 613Q376 589 385 377T394 149L511 361Q542 419 596 519L613 551L612 585Q610 621 610 624Q608 637 559 637H555Q537 637 537 647Q537 654 540 664Q544 677 550 683H561Q600 680 656 680Q771 680 783 683H792Q798 677 798 675T796 658Q792 643 790 640T778 637H774Q721 637 708 620L717 385Q726 150 727 149Q727 148 752 193T812 303T882 433T942 546T969 596Q970 600 970 606Q970 610 969 613T966 620T961 625T955 628T949 631T941 633T934 634T927 636T920 637Q903 637 903 648Q903 650 905 664Q909 677 915 683H928Q960 681 1031 681Q1050 681 1073 681T1101 682Q1124 682 1124 672Q1124 655 1117 643Q1114 637 1104 637Q1085 637 1069 632T1043 618T1026 603T1014 588L1009 580L687 -16Q681 -22 660 -22Q643 -22 637 -16Q635 -14 627 223Q617 441 617 464L602 441Q578 397 487 228Q456 171 423 110T372 17T355 -15Q348 -22 328 -22Q312 -22 308 -20T303 -9Q303 -5 291 310T277 627Q273 636 234 637'], + + // LATIN CAPITAL LETTER X + 0x58: [683,0,743,50,825,'684 0Q670 0 634 1T569 2Q512 2 482 2T449 1Q433 1 433 10Q433 11 435 25Q437 34 438 37T442 43T448 45T459 46T476 49Q506 58 506 64Q506 65 467 179T426 295L382 244Q339 194 295 142T249 86Q245 79 245 72Q245 48 279 46Q293 46 293 32Q293 13 280 0H268Q206 2 151 2Q70 2 64 0Q50 0 50 11Q50 15 53 27Q57 41 60 43T78 46Q154 49 205 100Q207 103 312 225L411 341L407 353Q404 360 381 428T336 560T310 627Q301 636 255 637H229Q223 643 223 645T225 664Q229 677 235 683H246Q288 680 346 680Q462 680 477 683H487Q493 677 493 674T491 656Q488 644 485 641T471 637Q461 635 454 635Q419 626 421 619Q421 617 453 524T486 430T554 509T624 593Q631 604 631 611Q631 622 621 629T598 637Q583 637 583 648Q583 650 585 660Q589 676 591 679T602 683Q606 683 637 682T715 680Q742 680 771 681T804 682Q825 682 825 672Q825 650 817 642Q814 637 797 637Q739 634 700 608Q684 597 659 569T505 389L501 384L557 222Q612 61 616 57Q625 47 671 46Q691 46 697 45T704 36Q704 35 702 23Q701 19 700 14T699 7T696 3T692 1T684 0'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,0,743,198,875,'232 637Q198 637 198 647Q198 651 201 664T210 682Q212 683 223 683Q269 680 325 680Q443 680 455 683H465Q472 676 472 672Q472 656 465 642Q460 637 441 637Q395 634 395 623Q395 621 438 478T482 334T583 460T688 591Q688 593 694 601T700 617Q700 637 668 637H666Q655 637 655 648Q655 654 658 664Q660 672 660 673T663 678T668 682T677 683Q680 683 704 682T776 680Q801 680 828 681T858 682Q875 682 875 673Q875 669 872 657T867 643Q865 637 848 637Q788 634 749 597Q733 581 608 424L487 273L461 170Q454 145 448 118T438 76T434 60Q434 54 436 52T452 48T496 46H514Q520 41 520 38T518 19Q514 6 508 0H495Q427 2 364 2Q350 2 323 2T272 0H250H241Q234 7 234 11Q234 27 241 41Q245 46 275 46Q312 47 323 50T340 64Q340 65 344 79T355 120T368 171L393 274L341 448Q288 622 286 626Q278 636 232 637'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,1,613,80,704,'203 452Q203 455 236 565T270 677Q270 681 274 681Q276 683 488 683H699Q704 678 704 675Q704 663 697 649Q697 647 449 348L201 50L266 49H301Q442 49 495 116Q525 155 556 251Q563 274 565 278T579 282H585Q609 285 609 271Q609 270 570 142T528 8T518 1T466 0H303Q253 0 197 0T131 -1Q112 -1 102 -1T87 1T81 3T80 8Q80 30 89 39Q90 41 204 178T446 470T575 626L584 637H512H504H475Q446 637 426 635T378 624T330 597T289 546T254 467Q247 446 243 444Q239 442 226 442Q203 442 203 452'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,307,73,446,'205 -221Q205 -239 194 -250H137H106Q73 -250 73 -242Q73 -232 194 255T321 747L324 750H381H417Q435 750 440 748T446 739Q446 730 443 723T437 712L434 710H350L349 706Q349 704 235 249T120 -208Q120 -210 159 -210Q166 -210 175 -210T187 -209Q205 -209 205 -221'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,307,-14,359,'227 721Q227 739 238 750H295H326Q359 750 359 742Q359 732 238 245T111 -247L108 -250H51H15Q-3 -250 -8 -248T-14 -239Q-14 -230 -11 -223T-5 -212L-2 -210H82L83 -206Q83 -204 197 251T312 708Q312 710 273 710Q266 710 257 710T245 709Q227 709 227 721'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-527,511,260,528,'528 555Q528 549 514 538T496 527Q491 527 470 554Q458 569 449 580L414 625L353 578Q339 567 323 555T298 536L290 529Q286 527 285 527Q279 527 273 533T264 546L260 553Q260 559 263 562Q265 564 342 628T421 693T425 694Q430 694 433 691Q528 563 528 555'], + + // LOW LINE + 0x5F: [-25,62,511,91,554,'98 -62Q91 -58 91 -51Q91 -31 100 -26Q102 -25 324 -25H442H500Q536 -25 545 -27T554 -36Q554 -50 548 -56Q546 -60 538 -61Q520 -62 319 -62H98'], + + // LATIN SMALL LETTER A + 0x61: [442,11,511,101,543,'418 53Q418 26 438 26Q466 26 494 131Q500 151 504 152Q507 153 516 153H521Q531 153 534 153T540 150T543 144Q543 141 540 126T529 88T509 43T477 5T434 -11Q404 -11 383 3T354 30T347 48H346Q345 47 342 45T337 40Q282 -11 228 -11Q172 -11 137 34T101 146Q101 260 177 351T333 442Q343 442 352 441T369 437T382 431T393 425T402 417T409 410T414 402T419 396Q423 406 436 414T461 422Q475 422 484 413T494 395Q494 384 459 244T420 88Q418 80 418 58V53ZM397 323Q397 344 382 374T333 405Q302 405 271 372Q249 349 235 316T203 215Q184 135 184 108V100V94Q184 54 207 35Q218 26 235 26Q279 26 330 91Q343 109 346 118T372 217Q397 317 397 323'], + + // LATIN SMALL LETTER B + 0x62: [694,11,460,108,467,'158 683Q163 683 223 688T300 694Q312 694 312 685T279 544Q243 405 243 403L256 412Q268 422 292 432T338 442Q395 442 431 398T467 284Q467 175 393 82T229 -11Q175 -11 142 32T108 142Q108 176 115 207T166 412Q177 458 190 510T209 588T216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683ZM178 109Q178 27 234 27Q247 27 254 29Q295 44 323 94Q343 129 363 208T384 332Q384 354 382 361Q369 405 332 405Q282 405 228 326L222 317L205 250Q178 142 178 109'], + + // LATIN SMALL LETTER C + 0x63: [441,10,460,103,469,'257 -10Q183 -10 143 37T103 155Q103 257 173 341T337 440Q341 441 348 441H358Q421 441 445 415T469 356Q469 320 450 305T410 289Q392 289 381 299T370 325Q370 362 404 378L414 383Q392 402 365 405Q322 405 285 375T227 294Q217 271 202 213T187 119Q187 27 263 27Q299 27 330 40Q361 51 386 71T424 106T440 121Q444 121 455 110T466 96Q466 92 458 81T432 54T390 24T331 0T257 -10'], + + // LATIN SMALL LETTER D + 0x64: [694,11,511,101,567,'418 54Q418 26 438 26Q466 26 494 131Q500 151 504 152Q507 153 516 153H521H526Q543 153 543 144Q543 143 541 129Q531 91 521 65T487 14T434 -11T383 3T354 30T347 48H346Q345 47 342 45T337 40Q282 -11 228 -11Q172 -11 137 34T101 146Q101 255 174 348T337 441Q354 441 368 437T390 427T404 414T413 404T417 400L471 616Q471 629 464 632T425 637H404Q398 643 398 645T400 664Q405 683 413 683Q418 683 478 688T555 694Q567 694 567 686Q567 676 495 389L419 86Q418 80 418 61V54ZM397 323Q397 329 394 340T385 367T365 394T333 405Q302 405 271 372Q249 349 235 316T203 215Q184 135 184 108V100Q184 71 191 56Q204 26 235 26Q267 26 300 57T344 112Q347 117 372 217T397 323'], + + // LATIN SMALL LETTER E + 0x65: [442,10,460,107,470,'107 166Q107 230 131 283T193 369T270 420T345 441Q346 441 352 441T361 442H364Q409 442 439 418T470 355Q470 270 366 239Q308 223 218 223H205Q189 164 189 125Q189 83 206 55T261 27Q309 27 353 50T426 109Q436 121 440 121T453 111T466 97Q469 92 455 77Q424 41 372 16T258 -10Q184 -10 146 41T107 166ZM416 333T416 354T401 390T360 405Q322 405 292 384T246 336T223 288T215 261Q215 260 240 260Q262 261 276 262T314 266T353 275T384 291T408 317'], + + // LATIN SMALL LETTER F + 0x66: [705,204,307,-23,450,'351 608Q351 642 389 661Q368 668 365 668Q358 668 352 664Q349 663 347 661T342 654T337 647T333 637T330 627T327 614T324 601T321 587T318 571L291 432Q291 431 343 431H394Q400 426 400 423T398 404Q394 390 389 386L335 385H282L255 246Q212 20 189 -51Q136 -199 58 -204Q22 -204 0 -185T-23 -134Q-23 -100 -3 -85T37 -69Q54 -69 65 -80T76 -108Q76 -115 75 -119Q70 -134 61 -144T46 -158L39 -161Q39 -162 42 -163T50 -166T61 -168Q77 -168 91 -145Q98 -128 105 -95L125 -1Q145 90 146 98Q149 109 163 180T189 317T202 384T158 385H114Q108 390 108 393T110 412Q113 424 120 431H165Q211 431 211 433Q213 435 219 473T237 561T266 639Q282 667 310 686T367 705Q402 705 426 686T450 635Q450 600 430 585T390 569Q373 569 362 580T351 608'], + + // LATIN SMALL LETTER G + 0x67: [442,205,460,46,494,'103 163Q106 263 173 347T320 441Q322 441 329 441T341 442Q387 439 419 398Q420 399 420 400Q421 402 425 406T440 416T464 422Q476 421 485 413T494 396Q494 386 465 268T407 38T377 -77Q365 -123 310 -164T179 -205Q46 -205 46 -139Q46 -114 64 -97T106 -79Q127 -79 136 -91T146 -115Q146 -127 141 -138T130 -155T124 -162T125 -163Q133 -166 170 -168Q200 -168 217 -162Q242 -153 264 -130T297 -78Q298 -74 305 -46T320 10T327 38Q326 38 317 31T291 15T256 2Q249 1 231 1Q182 1 143 38T103 163ZM398 324Q398 330 395 346T375 383T332 405Q330 405 326 405T320 404Q291 396 263 365Q230 324 208 239T185 115Q185 38 238 38Q258 38 279 50T312 77T336 106L348 122Q349 125 373 223T398 324'], + + // LATIN SMALL LETTER H + 0x68: [694,11,511,69,545,'398 44Q398 26 414 26Q431 26 451 43Q477 71 496 136Q499 148 501 150T515 153H521Q531 153 534 153T541 150T544 143Q544 133 534 105T496 41T432 -8Q424 -10 408 -10Q370 -10 348 12T326 72Q326 93 342 135Q397 288 397 349Q397 367 396 372Q386 405 357 405Q283 405 228 310Q217 290 212 274T180 152Q153 42 148 26T135 3Q121 -11 102 -11Q89 -11 80 -3T69 19L216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683Q163 683 223 688T300 694Q312 694 312 685Q312 674 277 539Q241 395 241 393Q242 394 249 399T259 407T271 415T285 424T300 431T318 437T338 440T362 442Q423 442 449 410T475 338Q475 290 437 178T398 44'], + + // LATIN SMALL LETTER I + 0x69: [656,10,307,75,341,'234 599Q234 620 251 638T292 656Q306 656 319 647T332 617Q332 594 313 577T273 560Q260 560 247 569T234 599ZM75 287Q75 292 82 313T103 362T142 413T196 441H214Q248 441 270 419T293 357Q292 338 289 330T245 208Q193 72 193 46Q193 26 209 26Q228 26 247 43Q273 71 292 136Q295 148 297 150T311 153H317Q327 153 330 153T337 150T340 143Q340 133 330 105T292 41T228 -8Q220 -10 204 -10Q160 -10 141 15T122 71Q122 98 171 227T221 384Q221 396 218 400T203 405Q175 403 156 374T128 312T116 279Q115 278 97 278H81Q75 284 75 287'], + + // LATIN SMALL LETTER J + 0x6A: [656,204,307,-32,364,'266 600Q266 622 283 639T322 656Q340 656 352 645T364 616Q364 596 347 578T305 560Q291 560 279 569T266 600ZM75 287Q75 293 86 316T117 369T168 420T236 442Q282 442 304 415T327 358V332L278 134Q269 98 260 60T246 3T236 -36T227 -66T220 -85T213 -101T204 -114Q181 -150 139 -177T46 -204Q8 -204 -12 -186T-32 -140Q-32 -112 -14 -96T27 -79Q48 -79 57 -91T67 -114Q67 -146 38 -166Q42 -168 49 -168Q75 -168 98 -147T130 -108T146 -71Q150 -59 199 138T250 346Q253 359 253 373Q253 405 230 405Q206 405 184 386T149 345T126 301L117 280Q115 278 98 278H81Q75 284 75 287'], + + // LATIN SMALL LETTER K + 0x6B: [694,11,460,69,498,'158 683Q163 683 223 688T300 694Q312 694 312 686Q312 679 262 478L211 273Q212 272 219 276T248 299T296 349Q317 371 328 382T360 410T399 434T439 442Q462 442 480 427T498 373Q498 329 479 313T437 296Q420 296 409 305T398 331Q398 357 413 372T445 391Q454 392 448 399Q445 405 431 405Q408 405 377 385Q351 368 314 327T250 261Q243 257 243 254Q249 254 279 243T328 220Q366 192 366 146Q366 131 361 109T355 62V54Q355 26 376 26Q379 26 387 28Q420 36 443 130Q449 151 454 152Q457 153 465 153H470Q484 153 488 152T492 144Q492 141 489 126T476 88T454 42T420 5T372 -11Q331 -11 306 17T280 88Q280 100 283 119T287 146Q287 172 265 190T221 215T198 220Q197 220 173 121Q152 37 148 24T135 3Q121 -11 102 -11Q89 -11 80 -3T69 19L216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683'], + + // LATIN SMALL LETTER L + 0x6C: [694,11,256,87,312,'162 61Q162 26 183 26Q211 26 239 131Q245 151 249 152Q252 153 261 153H266H271Q288 153 288 144Q288 143 286 129Q276 91 266 65T232 14T179 -11Q144 -11 116 12T87 81Q87 96 88 102L216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683Q163 683 223 688T300 694Q312 694 312 686Q312 676 240 389L164 86Q162 74 162 61'], + + // LATIN SMALL LETTER M + 0x6D: [442,11,818,75,852,'81 278Q75 284 75 289Q77 299 89 338Q101 373 114 396T142 428T166 439T186 442H189Q225 440 251 417Q266 401 271 384L275 374L286 386Q342 442 414 442Q428 442 440 440T461 435T479 427T493 418T503 407T511 397T516 387T520 378T523 370L524 366Q546 395 583 418T667 442Q729 442 755 411T782 338Q782 290 743 178T704 45Q704 26 720 26Q773 26 802 136Q805 148 807 150T822 153H828Q838 153 841 153T848 150T851 143Q851 137 843 115T821 63T778 12T715 -10Q671 -10 652 16T632 71Q632 88 668 191T704 349Q704 367 703 372Q693 405 664 405Q637 405 613 393T571 360T547 329T534 309Q523 290 518 274T487 151Q455 24 452 16Q438 -11 408 -11T376 18Q376 26 411 167T447 314Q449 325 449 346Q449 372 444 384Q431 405 408 405Q334 405 276 305Q266 289 262 273T231 151Q199 24 196 16Q182 -11 152 -11T120 18Q120 26 159 182T200 347Q202 361 202 372Q202 405 181 405Q168 405 159 391Q145 374 132 328T117 280T98 278H81'], + + // LATIN SMALL LETTER N + 0x6E: [443,11,562,75,596,'449 44Q449 26 465 26Q482 26 502 43Q528 71 547 136Q550 148 552 150T566 153H572Q582 153 585 153T592 150T595 143Q595 133 585 105T547 41T483 -8Q475 -10 459 -10Q421 -10 399 12T377 72Q377 93 393 135Q448 288 448 349Q448 367 447 372Q437 405 408 405Q381 405 357 393T315 360T291 329T278 309Q267 290 262 274T231 151Q199 24 196 16Q182 -11 152 -11T120 18Q120 23 159 181Q199 343 199 346Q202 360 202 372Q202 406 183 406Q163 406 148 374Q142 360 135 338T124 299T117 280T98 278H81Q75 284 75 287Q76 293 78 303T90 341T110 388T141 425T184 442Q195 442 204 441T221 436T235 429T247 421T256 412T262 403T267 394T271 387T273 381L274 378V374L287 387Q342 442 414 442Q474 442 500 410T526 338Q526 290 488 178T449 44'], + + // LATIN SMALL LETTER O + 0x6F: [442,11,511,103,517,'103 155Q103 266 185 354T366 442Q435 442 476 394T517 275Q517 169 436 79T255 -11Q194 -11 149 32T103 155ZM187 119Q187 67 209 47T260 26Q290 26 321 47Q354 68 380 113T426 260Q432 291 432 315Q432 361 408 385Q388 405 358 405Q319 405 283 374T227 294Q217 271 202 213T187 119'], + + // LATIN SMALL LETTER P + 0x70: [442,194,511,6,518,'81 278Q75 284 75 287Q93 379 131 417Q154 442 189 442Q222 440 243 423T272 382L280 390Q335 442 389 442Q446 442 482 398T518 284Q518 212 480 137T375 19Q321 -10 291 -10H282H278Q237 -10 204 28L202 32L181 -51Q160 -135 160 -139Q160 -147 205 -148H230Q236 -155 236 -157T233 -175Q230 -187 227 -190T214 -194Q211 -194 202 -194T169 -193T108 -192Q40 -192 21 -194H13Q6 -187 6 -183T9 -167Q13 -153 16 -151T39 -148Q73 -147 78 -136Q82 -128 139 104Q199 337 199 347Q202 362 202 372Q202 406 182 406Q169 406 159 391Q145 374 132 328T117 280T98 278H81ZM221 111Q234 26 286 26Q307 26 336 47T385 116Q398 147 416 217T435 332Q435 354 433 361Q420 405 383 405Q333 405 279 326L273 317L221 111'], + + // LATIN SMALL LETTER Q + 0x71: [442,194,460,101,504,'228 -11Q172 -11 137 33T101 147Q101 205 125 266T201 377T318 441Q322 442 333 442Q388 442 420 394L429 403Q439 413 455 423T481 437T494 442Q498 442 501 439T504 434Q504 425 435 149Q364 -135 364 -139Q364 -147 409 -148H434Q440 -155 440 -157T437 -175Q433 -191 429 -193Q425 -194 418 -194Q416 -194 406 -194T372 -193T309 -192Q259 -192 233 -192T204 -193Q190 -193 190 -184Q190 -181 192 -169Q196 -153 199 -151T219 -148Q266 -148 277 -141Q283 -137 305 -51L325 29L316 22Q270 -11 228 -11ZM397 323Q397 329 394 340T385 367T365 394T333 405Q302 405 271 372Q249 349 235 316T203 215Q184 135 184 108V100Q184 71 191 56Q204 26 235 26Q267 26 300 57T344 112Q347 117 372 217T397 323'], + + // LATIN SMALL LETTER R + 0x72: [442,11,422,75,484,'81 278Q75 284 75 289Q77 301 89 339Q122 442 183 442Q219 442 241 425T271 384L283 396Q327 442 384 442Q424 442 454 421T484 362Q484 327 464 312T424 296Q407 296 396 305T385 331Q385 352 394 365T414 384T424 390Q409 405 378 405Q322 405 276 315L268 300L234 161Q200 25 196 16Q182 -11 152 -11T120 18Q120 23 159 181Q199 343 199 346Q202 360 202 372Q202 405 182 405Q164 405 150 377T128 316T117 280Q115 278 98 278H81'], + + // LATIN SMALL LETTER S + 0x73: [442,11,409,76,418,'153 285Q153 349 197 395T311 442Q355 442 386 420T418 356Q418 321 401 308T365 294Q336 294 331 326Q331 336 334 345T343 359T353 368T362 374L366 376Q365 379 362 383T344 396T308 404Q265 404 246 377T226 325T244 289T287 275T339 258T383 212Q395 188 395 163Q395 132 379 95T333 32Q279 -11 207 -11Q154 -11 115 13T76 86Q76 108 83 123T102 145T121 153T135 156Q154 156 164 145T175 117Q175 82 142 66L132 62Q131 62 131 61Q131 57 139 49T166 34T210 26Q250 26 277 44T312 83T321 123Q321 153 301 166T248 185T204 198Q176 211 162 241Q153 258 153 285'], + + // LATIN SMALL LETTER T + 0x74: [626,11,332,87,373,'94 385Q87 392 87 395Q87 399 90 411T95 425Q97 430 103 430T149 431H196L215 511Q218 521 222 539T228 565T234 585T242 603T251 615T264 623T281 626Q311 626 315 597Q315 591 296 513T275 433Q275 431 320 431H366Q373 424 373 420Q373 398 360 385H263L189 86Q188 80 188 61V54Q188 29 201 27Q213 23 229 30Q253 37 276 66T316 138Q321 149 324 151T342 153H347Q364 153 364 146T360 130Q331 63 290 26T202 -11Q158 -11 135 18T111 81Q111 93 129 168T166 314L184 383Q184 385 139 385H94'], + + // LATIN SMALL LETTER U + 0x75: [441,11,537,75,570,'75 287Q75 299 89 333T135 404T205 441Q246 441 269 420T293 357Q292 338 259 245T225 95Q225 26 274 26Q301 26 324 43T358 77T369 99Q369 102 406 249T446 404Q460 431 490 431T522 402Q522 394 485 245T446 89Q443 74 443 56Q443 28 461 26Q487 26 507 86Q524 130 524 146Q524 147 530 153H547Q570 153 570 144Q570 138 561 109T544 62Q530 29 512 12Q492 -11 454 -11Q429 -9 410 2T385 23T376 41L363 28Q350 16 325 3T269 -10Q204 -10 176 25T148 108Q148 161 184 262T221 383Q221 405 206 405Q178 405 158 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287'], + + // LATIN SMALL LETTER V + 0x76: [443,10,460,75,492,'387 386Q387 407 406 425T445 443Q466 443 479 423T492 371Q492 330 473 253Q411 18 307 -8Q298 -10 279 -10Q208 -10 179 26T149 114Q149 162 185 261T221 384Q221 405 206 405Q177 405 157 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287T79 304T93 342T119 388T158 425T210 441H218Q243 441 268 421T293 357Q292 337 259 245T226 102Q226 26 285 26Q328 26 360 72T422 237Q429 265 429 290Q428 324 408 349T387 386'], + + // LATIN SMALL LETTER W + 0x77: [443,11,664,75,696,'591 386Q591 407 610 425T649 443Q670 443 683 423T696 371Q696 327 672 232T621 85Q575 -11 493 -11Q469 -11 449 -6T418 8T398 24T386 38L382 43Q347 -10 293 -10H286Q221 -10 186 21T150 115Q150 164 185 262T221 384Q221 405 206 405Q177 405 157 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287T79 304T93 342T119 388T158 425T210 441H218Q243 441 268 421T293 357Q292 336 260 246T227 108Q227 26 292 26H295Q332 26 361 93L366 103V119Q366 122 367 133T369 150Q372 167 401 282T433 404Q446 431 477 431Q507 431 509 402Q509 396 500 358T474 254T446 140Q444 126 444 104V92Q444 66 459 46T502 26H505Q527 28 545 43T577 88T602 149T623 226Q633 265 633 290Q632 324 612 349T591 386'], + + // LATIN SMALL LETTER X + 0x78: [442,11,464,58,513,'275 356Q275 383 262 394T233 405Q196 405 166 371T121 289Q119 280 116 279T98 278H81Q77 282 76 283T75 288T78 300Q88 332 109 363T153 411Q195 442 235 442Q306 442 333 386Q373 442 427 442Q461 442 487 421T513 364T494 312T453 296Q436 296 425 305T414 331Q414 352 424 366T446 386L456 390Q448 404 421 404H418Q382 404 358 341Q355 332 328 227T298 105Q295 90 295 75Q295 26 339 26Q365 26 388 43T424 82T444 123T451 146L457 153H474Q490 153 493 152T496 144Q496 133 486 110T456 58T404 10T333 -11Q276 -11 237 45Q197 -11 146 -11Q108 -11 83 10T58 67Q58 99 76 117T119 135Q136 135 147 124T158 96Q158 89 157 85Q149 57 125 45L115 41Q125 26 151 26Q171 26 187 45T214 93Q217 102 244 210T273 330Q275 339 275 356'], + + // LATIN SMALL LETTER Y + 0x79: [441,205,486,75,522,'75 287Q75 299 89 333T135 404T205 441Q246 441 269 420T293 357Q292 338 259 245T225 95Q225 26 274 26Q325 26 367 93L405 245Q442 393 446 404Q460 431 490 431T522 402Q522 400 416 -24Q389 -102 327 -153T196 -205Q152 -205 122 -181T91 -119Q91 -84 110 -67T152 -49Q170 -49 180 -60T191 -87Q191 -108 174 -128Q167 -134 157 -138T146 -144Q155 -153 159 -156T173 -163T199 -167Q229 -167 255 -149T297 -105T325 -52T342 -6T347 15Q315 -10 269 -10Q204 -10 176 25T148 108Q148 161 184 262T221 383Q221 405 206 405Q178 405 158 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287'], + + // LATIN SMALL LETTER Z + 0x7A: [442,11,409,54,466,'160 317Q158 317 155 317Q136 317 136 324Q136 351 171 396T260 442Q292 442 321 410T365 375H369Q384 375 404 408L425 441Q427 442 444 442H460Q466 436 466 434Q466 419 426 367Q387 314 294 222T178 105L170 95L181 94Q198 93 236 81T295 68Q328 68 356 89T395 141Q398 150 401 151T419 153Q441 153 441 144Q441 110 394 50T282 -11Q251 -11 221 23T171 57Q157 57 143 47T121 26T104 3T95 -10Q93 -11 76 -11H60Q54 -5 54 -2Q54 3 61 14Q103 88 233 215Q349 329 349 338L302 351Q269 362 247 362Q227 362 212 356T192 342T183 327T178 320Q175 317 160 317'], + + // TILDE + 0x7E: [318,-208,511,247,571,'266 208Q262 208 255 215T247 228Q247 233 250 236T274 259Q335 318 369 318Q394 318 420 292T464 265Q485 265 516 291T550 318Q554 318 562 311T571 297Q570 293 551 273T502 231T451 209H447Q421 209 396 235T355 261Q334 261 301 235T266 208'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js new file mode 100644 index 00000000..170a8e72 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // COMBINING GRAVE ACCENT + 0x300: [697,-500,0,-222,-74,'-222 651Q-222 668 -206 682T-174 697Q-155 697 -145 680Q-140 671 -107 599T-74 526Q-74 522 -88 511T-107 500Q-109 500 -113 502T-167 568T-219 637Q-222 643 -222 651'], + + // COMBINING ACUTE ACCENT + 0x301: [697,-500,0,-173,39,'-148 500Q-154 500 -163 511T-173 528Q-173 529 -172 530V532Q-170 534 -97 610T-21 688Q-8 697 4 697Q19 697 29 688T39 663T30 638Q26 631 -50 573L-135 507Q-144 500 -148 500'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-527,0,-251,17,'17 555Q17 549 3 538T-15 527Q-20 527 -41 554Q-53 569 -62 580L-97 625L-158 578Q-172 567 -188 555T-212 536L-221 529Q-225 527 -226 527Q-232 527 -238 533T-248 546L-251 553Q-251 559 -248 562Q-246 564 -169 628T-90 693T-86 694Q-81 694 -78 691Q17 563 17 555'], + + // COMBINING TILDE + 0x303: [668,-558,0,-264,60,'-245 558Q-249 558 -256 565T-264 578Q-264 583 -261 586T-237 609Q-176 668 -142 668Q-117 668 -91 642T-47 615Q-26 615 5 641T39 668Q43 668 51 661T60 647Q59 643 40 623T-9 581T-60 559H-64Q-90 559 -115 585T-156 611Q-177 611 -210 585T-245 558'], + + // COMBINING MACRON + 0x304: [589,-544,0,-282,54,'-275 544Q-282 548 -282 554Q-282 561 -279 573T-271 588Q-269 589 -111 589H-27H12Q38 589 46 587T54 578Q54 574 51 563T47 550Q45 546 32 545Q15 544 -118 544H-275'], + + // COMBINING BREVE + 0x306: [694,-515,0,-237,62,'-237 641Q-237 694 -218 694H-213Q-195 694 -195 684Q-195 683 -195 679T-197 667T-198 650Q-198 611 -176 589T-117 566Q-74 566 -34 597T23 678Q27 689 30 691T43 694Q62 694 62 684Q62 671 49 645T14 589T-46 537T-123 515Q-175 515 -206 550T-237 641'], + + // COMBINING DOT ABOVE + 0x307: [669,-548,0,-165,-41,'-165 599Q-162 631 -139 650T-93 669Q-65 669 -53 653T-41 620Q-41 593 -63 571T-116 548Q-134 548 -149 559T-165 599'], + + // COMBINING DIAERESIS + 0x308: [669,-554,0,-251,45,'-251 601Q-251 626 -230 647T-180 669Q-139 669 -133 625Q-133 595 -155 575T-203 554Q-223 554 -237 567T-251 601ZM-72 599Q-72 632 -48 650T-2 669Q18 669 31 657T45 623Q45 592 22 573T-25 554Q-68 554 -72 599'], + + // COMBINING RING ABOVE + 0x30A: [716,-542,0,-199,3,'-199 610Q-199 654 -161 685T-79 716Q-39 716 -16 693Q3 674 3 647Q3 607 -34 575T-118 542Q-199 542 -199 610ZM-41 631T-41 655T-83 679H-89Q-129 679 -142 656Q-146 650 -151 632T-156 604Q-156 578 -113 578H-108Q-94 578 -86 579T-69 586T-52 605Q-41 631 -41 655'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [697,-503,0,-248,65,'-217 503Q-221 503 -234 510T-248 523Q-248 528 -205 602Q-200 610 -192 623T-180 644T-170 661T-159 676T-151 686T-142 694T-134 696Q-132 697 -121 697Q-88 694 -88 664Q-88 652 -97 640T-152 574Q-214 504 -217 503ZM-64 503Q-68 503 -81 510T-95 523Q-95 528 -52 602Q-47 610 -39 623T-27 644T-17 661T-6 676T2 686T11 694T19 696Q21 697 32 697Q65 694 65 664Q65 652 56 640T1 574Q-61 504 -64 503'], + + // COMBINING CARON + 0x30C: [638,-502,0,-236,29,'11 637Q16 637 22 624T29 607Q29 606 27 602Q26 600 -47 552T-125 502H-127Q-133 502 -184 553Q-236 602 -236 608Q-236 612 -224 625T-206 638L-202 637L-196 632Q-190 628 -179 620T-158 603L-116 570Q-109 572 -52 604T11 637'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js new file mode 100644 index 00000000..936bd411 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/GeneralPunctuation.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // EN DASH + 0x2013: [285,-248,511,91,554,'98 248Q91 252 91 259Q91 279 100 284Q102 285 324 285H442H500Q536 285 545 283T554 274Q554 260 548 254Q546 250 538 249Q520 248 319 248H98'], + + // EM DASH + 0x2014: [285,-248,1022,117,1038,'124 248Q117 252 117 259Q117 279 126 284Q128 285 579 285T1033 284Q1037 280 1037 278Q1038 276 1038 274Q1038 253 1029 250Q1026 248 575 248H124'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-379,307,197,362,'249 379Q228 379 213 396T197 448Q197 533 271 627L278 635Q286 643 295 652T314 671T332 687T344 694Q349 694 355 685T362 671Q362 668 345 654T301 608T256 537Q238 493 240 491Q241 491 245 493T258 498T275 500Q296 500 311 488T326 454Q326 426 304 403T249 379'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-378,307,212,377,'250 620Q250 647 272 670T325 694Q348 694 362 677T377 633V624Q377 566 343 506T275 412T231 379Q226 379 220 388T213 401T232 421T279 472T323 547Q335 573 335 582L331 580Q327 578 318 576T300 573Q277 573 264 585T250 620'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-379,514,243,606,'295 379Q274 379 259 396T243 448Q243 533 317 627Q326 638 354 666T391 694Q395 694 402 686T409 673Q409 668 392 654T348 608T302 537Q284 493 286 491Q287 491 291 493T304 498T321 500Q342 500 357 488T372 454Q372 426 350 403T295 379ZM492 379Q471 379 456 396T440 448Q440 533 514 627Q523 638 551 666T588 694Q592 694 599 685T606 672T589 654T544 608T499 537Q481 493 483 491Q484 491 488 493T501 498T518 500Q539 500 554 488T569 454Q569 426 547 403T492 379'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-379,514,176,538,'214 620Q214 647 236 670T289 694Q312 694 326 677T341 633V624Q341 588 327 550T294 482T253 428T216 392T196 379Q191 379 184 388T176 401Q176 404 195 421T243 472T287 547Q299 576 299 582L295 580Q291 578 282 576T264 573Q241 573 228 585T214 620ZM411 620Q411 647 433 670T486 694Q509 694 523 677T538 633V624Q538 588 524 550T491 482T450 428T413 392T393 379Q388 379 381 388T373 401Q373 404 392 421T440 472T484 547Q496 576 496 582L492 580Q488 578 479 576T461 573Q438 573 425 585T411 620'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/GeneralPunctuation.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js new file mode 100644 index 00000000..10826c5e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/GreekAndCoptic.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,0,627,54,705,'337 46Q339 46 342 46Q360 46 363 45T367 34Q367 13 359 5Q356 0 343 0Q339 0 320 0T268 1T196 2Q98 2 72 0H61Q54 7 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623Q299 630 292 631T248 634Q216 634 214 638Q213 641 213 646Q213 674 224 678Q226 680 462 680H698Q705 676 705 669Q705 665 691 557T675 447Q673 440 652 440H637Q630 445 630 451Q630 452 632 467T636 504T638 543Q638 569 632 586T615 613T586 627T549 633T500 634Q491 634 487 634Q426 634 414 633T399 625Q397 621 327 342T257 59Q257 54 261 52T283 48T337 46'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [716,0,818,70,751,'409 0H145Q117 0 103 0T81 1T72 3T70 6Q70 9 310 354T557 707Q559 711 565 713Q570 716 587 716Q608 716 613 710Q616 704 683 358Q752 9 750 6Q750 2 747 2Q745 0 409 0ZM581 342L531 597Q530 597 352 342T174 85T403 84T632 86Q632 87 581 342'], + + // GREEK CAPITAL LETTER THETA + 0x398: [704,22,767,149,788,'149 237Q149 326 186 413T282 563T412 665T552 704Q619 704 667 678T741 611T777 528T788 444Q788 328 728 219T572 44T377 -22Q275 -22 212 50T149 237ZM691 480Q691 569 652 618T551 668Q458 668 367 562Q307 485 277 382T246 202Q246 147 260 108T298 51T343 24T387 16Q408 16 433 22T494 51T562 109T626 211T677 363Q691 423 691 480ZM302 275Q302 281 317 346T338 415L341 418H356Q380 418 380 408Q380 405 378 398T375 385Q375 384 480 384H585L588 398Q592 412 598 418H613Q636 418 636 409Q636 406 621 340Q617 326 612 306Q603 272 598 267L597 266H582Q558 266 558 276Q558 279 560 286T563 299Q563 300 458 300H353L350 286Q346 272 340 266H325Q302 266 302 275'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [716,0,692,58,646,'71 0Q58 0 58 11Q58 33 68 43Q71 46 77 46Q106 46 128 59T156 79T173 104Q174 106 255 256T416 556T497 707Q502 716 519 716H525Q543 716 547 711Q550 707 561 398T572 65Q573 57 574 54T587 49T623 46Q646 46 646 36Q646 35 643 23Q642 21 641 17T640 12T639 8T638 5T636 3T633 1T629 1T624 0Q622 0 612 0T578 1T514 2Q466 2 434 2T398 1Q381 1 381 11Q381 13 383 23Q387 40 390 43T406 46Q460 46 472 63L464 298Q457 533 455 536V537Q452 537 335 317T214 90Q211 80 211 75Q211 53 244 47Q246 47 251 47T258 46Q270 46 270 34Q270 33 268 19Q264 6 258 0H247Q185 2 143 2Q77 2 71 0'], + + // GREEK CAPITAL LETTER XI + 0x39E: [678,0,664,74,755,'243 668Q243 670 250 677H640Q661 677 687 677T719 678Q741 678 747 676T754 667T740 595T726 522Q725 521 724 520T723 517T720 516T714 515T704 514Q690 514 685 515T680 525Q680 531 683 543Q690 578 690 590V597H686Q670 600 468 600Q282 599 275 596Q267 591 251 539Q246 521 243 518T228 514H224Q200 511 200 525Q200 526 220 594T243 668ZM535 277Q535 282 538 296T543 312Q543 314 411 314H278L277 310Q277 309 272 291T266 272Q264 267 245 267Q237 267 233 268T228 269T225 272T222 277L241 354Q245 368 250 389Q261 432 266 437L267 438H299Q306 431 306 428Q306 426 306 424T304 417T302 409L297 391H430L562 392L567 412Q572 431 579 438H611Q615 434 616 432L618 430Q618 423 599 352Q581 275 577 270Q574 267 568 267H558Q535 267 535 277ZM81 0Q74 4 74 11Q74 14 89 89T106 168Q112 174 127 174Q138 174 142 174T148 171T151 164Q151 163 147 143Q140 101 139 92Q139 81 140 81Q143 78 265 78H349H484Q518 78 532 78T555 80T566 83T570 91Q575 103 589 145Q595 166 598 170T611 174H617H622Q641 174 641 163Q641 162 619 86T595 7Q593 2 584 1T530 0H334H81'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [680,0,743,54,859,'248 634Q216 634 214 638Q213 641 213 646Q213 674 224 678Q226 680 539 680H852Q859 676 859 669Q859 653 852 639Q848 634 818 634Q782 633 771 630T754 618L719 480Q684 343 649 203T614 57Q614 50 621 49T666 46Q697 46 699 40Q701 37 698 21Q693 3 689 1Q686 0 677 0Q673 0 657 0T611 1T546 2Q453 2 428 0H418Q411 7 411 11Q411 27 418 41Q422 46 452 46Q488 47 499 50T516 62Q518 67 553 209T624 491T660 632Q660 634 530 634H400L399 630Q399 629 390 593T363 484T328 344Q257 60 257 57Q257 50 264 49T309 46Q340 46 342 40Q344 37 341 21Q336 3 332 1Q329 0 320 0Q316 0 300 0T254 1T189 2Q96 2 71 0H61Q54 7 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623Q299 630 292 631T248 634'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [683,1,716,80,782,'87 0Q80 7 80 11Q80 14 81 15Q81 16 231 161Q381 304 381 305L310 475Q239 646 239 648T242 662T247 677Q247 681 251 681Q253 683 514 683H775Q780 678 782 674Q782 668 767 559T751 448Q747 443 729 443Q715 443 711 444T707 453Q707 454 710 479T713 529Q713 555 709 573T691 604T663 622T619 632T564 636T492 637H457Q356 637 356 635Q358 634 417 489T478 343Q478 340 474 335T436 297T330 196L185 57L294 56H339Q450 56 499 65T581 109Q603 131 620 164T646 221T657 248Q660 250 675 250Q699 253 699 239L681 188Q663 138 643 81T617 9Q614 2 605 1T552 -1Q541 -1 475 -1T348 0H87'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [706,0,767,213,832,'213 543Q213 576 262 640T379 705Q507 705 507 531Q507 514 505 492L504 482L514 505Q524 528 543 561T587 626T653 682T738 705Q783 705 807 675T832 594Q832 535 808 535H802Q780 535 780 542Q780 543 781 550T783 563Q783 589 765 606T716 623Q588 623 521 354Q521 353 485 208T448 59Q448 46 529 46Q559 46 559 36Q559 31 556 22Q552 4 547 1Q546 1 544 1T538 0Q534 0 514 0T458 1T380 2Q271 2 241 0H228Q222 6 222 9T224 27Q228 40 234 46H257Q322 46 336 52Q346 54 349 62Q351 64 372 145T416 324T445 461Q446 471 446 506Q446 528 445 541T436 577T410 610T361 622Q319 622 295 600T261 552Q257 539 249 536Q245 535 233 535T218 536L214 540V541Q213 542 213 543'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [683,0,716,159,729,'467 624Q467 631 454 633T400 637Q361 637 359 643Q358 644 358 649Q358 673 369 682Q371 683 387 683Q430 681 532 681Q569 681 600 681T650 682T672 683Q689 683 689 672Q689 670 686 658T681 643Q679 637 640 637Q595 636 579 633T558 617Q556 613 547 575T538 533Q538 532 541 532Q555 532 582 524T643 500T703 450T728 374Q728 311 673 256Q621 203 550 177T445 151Q443 151 441 149Q440 146 430 104T419 59Q419 46 500 46Q530 46 530 36Q530 31 527 22Q523 4 518 1Q517 1 515 1T510 0Q505 0 486 0T431 1T355 2Q248 2 218 0H205Q199 6 199 9T201 27Q205 40 211 46H234Q300 46 313 52Q323 54 326 62Q328 64 334 86T344 129L349 150Q349 151 346 151Q333 151 307 158T245 182T185 231T159 309V314Q159 325 162 338T174 374T207 421T264 468Q334 518 435 531L446 533L457 577Q467 620 467 624ZM436 494Q429 494 417 492T373 477T319 442Q288 408 274 362T260 284Q260 257 269 239T298 210T328 196T359 188L436 494ZM626 398Q626 438 605 460T539 493L528 495Q527 495 489 342T451 188Q455 188 462 189T490 197T528 212T566 241T598 285Q626 341 626 398'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [683,0,767,207,824,'494 626Q493 627 493 628T491 629T489 631T484 632T477 634T465 635T449 636T426 637Q387 637 385 643Q384 644 384 649Q384 673 395 682Q397 683 413 683Q456 681 558 681Q595 681 626 681T676 682T698 683Q715 683 715 672Q715 670 712 658T707 643Q705 637 666 637Q621 636 605 633T584 617L478 193Q486 195 498 199T542 229T597 291Q626 335 646 415Q669 500 694 523T759 546H777H801Q824 546 824 536Q822 509 809 509Q762 509 735 406Q707 300 642 234T481 153L467 151L456 106Q445 62 445 59Q445 46 526 46Q556 46 556 36Q556 31 553 22Q549 4 544 1Q543 1 541 1T536 0Q531 0 512 0T457 1T381 2Q274 2 244 0H231Q225 6 225 9T227 27Q231 40 237 46H260Q326 46 339 52Q349 54 352 62Q354 64 365 106T376 151Q374 152 371 152Q360 153 347 156T310 172T270 201T239 250T225 323Q225 359 235 405T245 470T239 498T226 507T213 510T207 520Q207 528 209 534T215 544L218 546H257Q305 546 314 540Q338 530 338 485Q338 455 326 402T313 312Q313 218 379 193Q386 192 387 192Q387 196 441 408Q494 621 494 626'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [705,0,716,100,759,'183 393Q183 451 206 502T267 590T348 652T435 691T510 704Q513 705 525 705Q631 705 695 650T759 505Q759 454 732 397T672 299T593 203T527 117Q503 81 503 76Q503 75 521 75Q576 75 588 77Q589 77 592 78T595 79T598 80T602 82T605 86T609 92T614 101T620 112T627 127T636 147Q646 169 649 170Q651 172 667 172H682Q689 167 689 162Q689 158 654 81T617 2Q614 0 530 0H447Q441 5 441 9T444 28Q461 85 498 158T569 285T628 408T654 534Q654 592 621 630T527 668Q488 668 448 649T371 593T310 487T286 330Q286 302 290 247T294 137Q294 34 280 6Q278 1 268 1T190 0H107Q100 5 100 12Q100 24 103 94T108 165Q110 172 131 172H146Q150 169 153 165L152 141V116Q152 84 153 82Q156 75 217 75H252V84Q252 126 218 231T183 393'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js new file mode 100644 index 00000000..218d57fd --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/LatinExtendedA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [441,10,307,75,341,'75 287Q75 292 82 313T103 362T142 413T196 441H214Q248 441 270 419T293 357Q292 338 289 330T245 208Q193 72 193 46Q193 26 209 26Q228 26 247 43Q273 71 292 136Q295 148 297 150T311 153H317Q327 153 330 153T337 150T340 143Q340 133 330 105T292 41T228 -8Q220 -10 204 -10Q160 -10 141 15T122 71Q122 98 171 227T221 384Q221 396 218 400T203 405Q175 403 156 374T128 312T116 279Q115 278 97 278H81Q75 284 75 287'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js new file mode 100644 index 00000000..f9e0b34a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/LatinExtendedB.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // LATIN SMALL LETTER DOTLESS J + 0x237: [442,204,332,-32,327,'75 284T75 287T81 305T101 343T133 389T180 426T240 442Q273 440 300 420T327 350V332L278 134Q267 92 253 37T233 -45T225 -73Q208 -123 162 -163T54 -204Q8 -204 -15 -181Q-32 -164 -32 -140Q-32 -112 -14 -96T27 -79Q48 -79 57 -91T67 -114Q67 -146 39 -166L44 -167H59H60Q112 -167 145 -74Q148 -65 198 134T251 347Q252 353 252 370Q252 382 251 388T245 399T230 405Q204 405 175 378Q157 360 145 337T126 298T117 280T98 278H81Q75 284 75 287'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/LatinExtendedB.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js new file mode 100644 index 00000000..83167adf --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/LetterlikeSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // stix-/hbar - Planck's over 2pi + 0x210F: [695,13,540,42,562,'150 475Q147 475 118 466T82 457Q73 457 64 467T54 487Q54 490 55 492Q63 506 64 506Q67 512 118 526Q162 541 169 546Q173 559 175 575Q181 596 181 604Q181 613 166 617Q164 617 153 618T135 619Q119 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 291 628L278 577L386 612Q466 635 476 635T492 627T499 607Q499 593 489 586Q485 583 373 546L262 512Q262 511 248 455T233 397T236 397T244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26Q42 45 98 257L151 475H150'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/Main.js new file mode 100644 index 00000000..8d7d43ae --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/Main.js @@ -0,0 +1,40 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'] = { + directory: 'Main/Italic', + family: 'MathJax_Main', + id: 'MJMAINI', + style: 'italic', + Ranges: [ + [0x20,0x7F,"BasicLatin"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x2100,0x214F,"LetterlikeSymbols"] + ], + + // POUND SIGN + 0xA3: [714,11,769,88,699,'699 578Q699 473 635 473Q597 473 595 508Q595 559 654 569V576Q654 619 637 648T581 677Q545 677 513 647T463 561Q460 554 437 464T414 371Q414 370 458 370H502Q508 364 508 362Q505 334 495 324H402L382 241Q377 224 373 206T366 180T361 163T358 151T354 142T350 133T344 120Q340 112 338 107T336 101L354 90Q398 63 422 54T476 44Q515 44 539 73T574 133Q578 144 580 146T598 148Q622 148 622 139Q622 138 620 130Q602 74 555 32T447 -11Q395 -11 317 38L294 51Q271 28 233 9T155 -10Q117 -10 103 5T88 39Q88 73 126 106T224 139Q236 139 247 138T266 134L273 132Q275 132 302 239L323 324H259Q253 330 253 332Q253 350 265 370H300L334 371L355 453Q356 457 360 477T366 501T372 522T379 545T387 565T397 587T409 606T425 627Q453 664 497 689T583 714Q640 714 669 676T699 578ZM245 76Q211 85 195 85Q173 85 158 71T142 42Q142 26 160 26H163Q211 30 245 76'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js new file mode 100644 index 00000000..10479251 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js @@ -0,0 +1,146 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // EXCLAMATION MARK + 0x21: [716,-1,278,78,199,'78 661Q78 682 96 699T138 716T180 700T199 661Q199 654 179 432T158 206Q156 198 139 198Q121 198 119 206Q118 209 98 431T78 661ZM79 61Q79 89 97 105T141 121Q164 119 181 104T198 61Q198 31 181 16T139 1Q114 1 97 16T79 61'], + + // QUOTATION MARK + 0x22: [694,-379,500,34,372,'34 634Q34 659 50 676T93 694Q121 694 144 668T168 579Q168 525 146 476T101 403T73 379Q69 379 60 388T50 401Q50 404 62 417T88 448T116 500T131 572Q131 584 130 584T125 581T112 576T94 573Q69 573 52 590T34 634ZM238 634Q238 659 254 676T297 694Q325 694 348 668T372 579Q372 525 350 476T305 403T277 379Q273 379 264 388T254 401Q254 404 266 417T292 448T320 500T335 572Q335 584 334 584T329 581T316 576T298 573Q273 573 256 590T238 634'], + + // NUMBER SIGN + 0x23: [694,194,833,56,778,'56 347Q56 360 70 367H313L355 524Q394 676 401 686Q406 694 416 694Q434 694 436 676Q436 672 396 522Q355 374 355 369L354 367H543L585 524Q626 679 630 685Q636 694 646 694Q653 694 659 689T665 678Q665 668 626 522Q585 374 585 369L584 367H762Q777 359 777 347Q777 334 767 331T722 327H667H572L552 251L531 174Q531 173 647 173H720Q756 173 766 170T777 153T762 133H519L477 -24Q436 -179 432 -185Q426 -194 416 -194Q409 -194 403 -189T397 -177Q397 -167 436 -21Q477 125 477 131L478 133H289L247 -24Q206 -179 202 -185Q196 -194 186 -194Q179 -194 173 -189T167 -177Q167 -167 206 -21Q247 125 247 131L248 133H70Q56 140 56 153Q56 168 72 173H260L280 249L301 326Q301 327 186 327H72Q56 332 56 347ZM531 326Q531 327 437 327H342L322 251L301 174Q301 173 395 173H490L510 249L531 326'], + + // DOLLAR SIGN + 0x24: [750,56,500,55,444,'162 187Q162 164 146 149T109 133H103V130Q108 115 115 105Q122 92 131 82T150 64T170 52T190 44T206 40T220 37L227 36V313Q190 320 162 335Q116 358 86 404T55 508Q55 567 85 614T165 685Q186 696 225 704H227V750H273V704L286 703Q369 690 413 631Q441 588 444 531Q444 514 443 509Q439 490 425 479T391 468Q368 468 353 483T337 522Q337 546 353 560T390 575L394 576V578Q386 599 372 614T342 637T314 649T288 656L273 658V408L288 405Q329 394 355 376Q396 348 420 300T444 199Q444 130 408 76T313 1Q286 -9 276 -9H273V-56H227V-10H221Q202 -6 193 -4T155 11T108 41T74 94T55 176V182Q55 227 95 238Q103 240 108 240Q129 240 145 226T162 187ZM225 657Q219 657 204 651T169 632T135 594T121 538Q121 512 131 491T156 457T187 435T213 423T227 420V539Q227 657 225 657ZM378 169Q378 230 339 265T274 301Q273 301 273 169V37Q324 50 351 87T378 169'], + + // PERCENT SIGN + 0x25: [750,56,833,56,777,'465 605Q428 605 394 614T340 632T319 641Q332 608 332 548Q332 458 293 403T202 347Q145 347 101 402T56 548Q56 637 101 693T202 750Q241 750 272 719Q359 642 464 642Q580 642 650 732Q662 748 668 749Q670 750 673 750Q682 750 688 743T693 726Q178 -47 170 -52Q166 -56 160 -56Q147 -56 142 -45Q137 -36 142 -27Q143 -24 363 304Q469 462 525 546T581 630Q528 605 465 605ZM207 385Q235 385 263 427T292 548Q292 617 267 664T200 712Q193 712 186 709T167 698T147 668T134 615Q132 595 132 548V527Q132 436 165 403Q183 385 203 385H207ZM500 146Q500 234 544 290T647 347Q699 347 737 292T776 146T737 0T646 -56Q590 -56 545 0T500 146ZM651 -18Q679 -18 707 24T736 146Q736 215 711 262T644 309Q637 309 630 306T611 295T591 265T578 212Q577 200 577 146V124Q577 -18 647 -18H651'], + + // AMPERSAND + 0x26: [716,22,778,42,727,'156 540Q156 620 201 668T302 716Q354 716 377 671T401 578Q401 505 287 386L274 373Q309 285 416 148L429 132L437 142Q474 191 543 309L562 341V349Q562 368 541 376T498 385H493V431H502L626 428Q709 428 721 431H727V385H712Q688 384 669 379T639 369T618 354T603 337T591 316T578 295Q537 223 506 176T464 117T454 104Q454 102 471 85T497 62Q543 24 585 24Q618 24 648 48T682 113V121H722V112Q721 94 714 75T692 32T646 -7T574 -22Q491 -19 414 42L402 51L391 42Q312 -22 224 -22Q144 -22 93 25T42 135Q42 153 46 169T55 197T74 225T96 249T125 278T156 308L195 347L190 360Q185 372 182 382T174 411T165 448T159 491T156 540ZM361 576Q361 613 348 646T305 679Q272 679 252 649T232 572Q232 497 255 426L259 411L267 420Q361 519 361 576ZM140 164Q140 103 167 64T240 24Q271 24 304 36T356 61T374 77Q295 156 235 262L220 292L210 310L193 293Q177 277 169 268T151 229T140 164'], + + // APOSTROPHE + 0x27: [694,-379,278,78,212,'78 634Q78 659 95 676T138 694Q166 694 189 668T212 579Q212 525 190 476T146 403T118 379Q114 379 105 388T95 401Q95 404 107 417T133 448T161 500T176 572Q176 584 175 584T170 581T157 576T139 573Q114 573 96 590T78 634'], + + // ASTERISK + 0x2A: [750,-320,500,64,436,'215 721Q216 732 225 741T248 750Q263 750 273 742T284 721L270 571L327 613Q383 654 388 657T399 660Q412 660 423 650T435 624T424 600T376 575Q363 569 355 566L289 534L355 504L424 470Q435 462 435 447Q435 431 424 420T399 409Q393 409 388 412T327 456L270 498L277 423L284 348Q280 320 250 320T215 348L229 498L172 456Q116 415 111 412T100 409Q87 409 76 420T64 447Q64 461 75 470L144 504L210 534L144 566Q136 570 122 576Q83 593 74 600T64 624Q64 639 75 649T100 660Q106 660 111 657T172 613L229 571Q229 578 222 643T215 721'], + + // HYPHEN-MINUS + 0x2D: [252,-179,333,11,277,'11 179V252H277V179H11'], + + // QUESTION MARK + 0x3F: [705,-1,472,55,417,'226 668Q190 668 162 656T124 632L114 621Q116 621 119 620T130 616T145 607T157 591T162 567Q162 544 147 529T109 514T71 528T55 566Q55 625 100 661T199 704Q201 704 210 704T224 705H228Q281 705 320 692T378 656T407 612T416 567Q416 503 361 462Q267 395 247 303Q242 279 242 241V224Q242 205 239 202T222 198T205 201T202 218V249Q204 320 220 371T255 445T292 491T315 537Q317 546 317 574V587Q317 604 315 615T304 640T277 661T226 668ZM162 61Q162 89 180 105T224 121Q247 119 264 104T281 61Q281 31 264 16T222 1Q197 1 180 16T162 61'], + + // COMMERCIAL AT + 0x40: [705,11,778,56,722,'56 347Q56 429 86 498T164 612T270 680T386 705Q522 705 622 603T722 349Q722 126 608 126Q541 126 513 176Q512 177 512 179T510 182L509 183Q508 183 503 177T487 163T464 146T429 132T385 126Q311 126 251 186T190 347Q190 448 251 508T385 568Q426 568 460 548T509 511T531 479H555Q580 479 582 478Q586 477 587 468Q588 454 588 338V260Q588 200 593 182T619 163Q641 163 655 178T674 223T680 273T682 325V330Q682 426 647 500Q611 569 544 618T388 668Q271 668 184 577T96 347Q96 216 180 121T396 26Q421 26 446 28T493 34T535 43T573 52T605 63T629 72T647 80T657 84H716Q722 78 722 74Q722 65 675 45T547 7T392 -11Q255 -11 156 90T56 347ZM274 347Q274 266 308 214T390 162Q420 162 449 182T498 235L504 245V449L498 459Q453 532 387 532Q347 532 311 483T274 347'], + + // LATIN CAPITAL LETTER A + 0x41: [716,0,750,32,717,'255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447'], + + // LATIN CAPITAL LETTER B + 0x42: [683,0,708,28,651,'131 622Q124 629 120 631T104 634T61 637H28V683H229H267H346Q423 683 459 678T531 651Q574 627 599 590T624 512Q624 461 583 419T476 360L466 357Q539 348 595 302T651 187Q651 119 600 67T469 3Q456 1 242 0H28V46H61Q103 47 112 49T131 61V622ZM511 513Q511 560 485 594T416 636Q415 636 403 636T371 636T333 637Q266 637 251 636T232 628Q229 624 229 499V374H312L396 375L406 377Q410 378 417 380T442 393T474 417T499 456T511 513ZM537 188Q537 239 509 282T430 336L329 337H229V200V116Q229 57 234 52Q240 47 334 47H383Q425 47 443 53Q486 67 511 104T537 188'], + + // LATIN CAPITAL LETTER C + 0x43: [705,21,722,56,666,'56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q322 658 252 588Q173 509 173 342Q173 221 211 151Q232 111 263 84T328 45T384 29T428 24Q517 24 571 93T626 244Q626 251 632 257H660L666 251V236Q661 133 590 56T403 -21Q262 -21 159 83T56 342'], + + // LATIN CAPITAL LETTER D + 0x44: [683,0,764,27,708,'130 622Q123 629 119 631T103 634T60 637H27V683H228Q399 682 419 682T461 676Q504 667 546 641T626 573T685 470T708 336Q708 210 634 116T442 3Q429 1 228 0H27V46H60Q102 47 111 49T130 61V622ZM593 338Q593 439 571 501T493 602Q439 637 355 637H322H294Q238 637 234 628Q231 624 231 344Q231 62 232 59Q233 49 248 48T339 46H350Q456 46 515 95Q561 133 577 191T593 338'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,681,25,652,'128 619Q121 626 117 628T101 631T58 634H25V680H597V676Q599 670 611 560T625 444V440H585V444Q584 447 582 465Q578 500 570 526T553 571T528 601T498 619T457 629T411 633T353 634Q266 634 251 633T233 622Q233 622 233 621Q232 619 232 497V376H286Q359 378 377 385Q413 401 416 469Q416 471 416 473V493H456V213H416V233Q415 268 408 288T383 317T349 328T297 330Q290 330 286 330H232V196V114Q232 57 237 52Q243 47 289 47H340H391Q428 47 452 50T505 62T552 92T584 146Q594 172 599 200T607 247T612 270V273H652V270Q651 267 632 137T610 3V0H25V46H58Q100 47 109 49T128 61V619'], + + // LATIN CAPITAL LETTER F + 0x46: [680,0,653,25,610,'128 619Q121 626 117 628T101 631T58 634H25V680H582V676Q584 670 596 560T610 444V440H570V444Q563 493 561 501Q555 538 543 563T516 601T477 622T431 631T374 633H334H286Q252 633 244 631T233 621Q232 619 232 490V363H284Q287 363 303 363T327 364T349 367T372 373T389 385Q407 403 410 459V480H450V200H410V221Q407 276 389 296Q381 303 371 307T348 313T327 316T303 317T284 317H232V189L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619'], + + // LATIN CAPITAL LETTER G + 0x47: [705,22,785,56,735,'56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q401 658 376 654T316 633T254 592T205 519T177 411Q173 369 173 335Q173 259 192 201T238 111T302 58T370 31T431 24Q478 24 513 45T559 100Q562 110 562 160V212Q561 213 557 216T551 220T542 223T526 225T502 226T463 227H437V273H449L609 270Q715 270 727 273H735V227H721Q674 227 668 215Q666 211 666 108V6Q660 0 657 0Q653 0 639 10Q617 25 600 42L587 54Q571 27 524 3T406 -22Q317 -22 238 22T108 151T56 342'], + + // LATIN CAPITAL LETTER H + 0x48: [683,0,750,25,724,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q57 680 180 680Q315 680 324 683H335V637H302Q262 636 251 634T233 622L232 500V378H517V622Q510 629 506 631T490 634T447 637H414V683H425Q446 680 569 680Q704 680 713 683H724V637H691Q651 636 640 634T622 622V61Q628 51 639 49T691 46H724V0H713Q692 3 569 3Q434 3 425 0H414V46H447Q489 47 498 49T517 61V332H232V197L233 61Q239 51 250 49T302 46H335V0H324Q303 3 180 3Q45 3 36 0H25V46H58Q100 47 109 49T128 61V622'], + + // LATIN CAPITAL LETTER I + 0x49: [683,0,361,21,339,'328 0Q307 3 180 3T32 0H21V46H43Q92 46 106 49T126 60Q128 63 128 342Q128 620 126 623Q122 628 118 630T96 635T43 637H21V683H32Q53 680 180 680T328 683H339V637H317Q268 637 254 634T234 623Q232 620 232 342Q232 63 234 60Q238 55 242 53T264 48T317 46H339V0H328'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,22,514,25,465,'89 177Q115 177 133 160T152 112Q152 88 137 72T102 52Q99 51 101 49Q106 43 129 29Q159 15 190 15Q232 15 256 48T286 126Q286 127 286 142T286 183T286 238T287 306T287 378Q287 403 287 429T287 479T287 524T286 563T286 593T286 614V621Q281 630 263 633T182 637H154V683H166Q187 680 332 680Q439 680 457 683H465V637H449Q422 637 401 634Q393 631 389 623Q388 621 388 376T387 123Q377 61 322 20T194 -22Q188 -22 177 -21T160 -20Q96 -9 61 29T25 110Q25 144 44 160T89 177'], + + // LATIN CAPITAL LETTER K + 0x4B: [683,0,778,25,736,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q57 680 180 680Q315 680 324 683H335V637H313Q235 637 233 620Q232 618 232 462L233 307L379 449Q425 494 479 546Q518 584 524 591T531 607V608Q531 630 503 636Q501 636 498 636T493 637H489V683H499Q517 680 630 680Q704 680 716 683H722V637H708Q633 633 589 597Q584 592 495 506T406 419T515 254T631 80Q644 60 662 54T715 46H736V0H728Q719 3 615 3Q493 3 472 0H461V46H469Q515 46 515 72Q515 78 512 84L336 351Q332 348 278 296L232 251V156Q232 62 235 58Q243 47 302 46H335V0H324Q303 3 180 3Q45 3 36 0H25V46H58Q100 47 109 49T128 61V622'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,0,625,25,582,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q48 680 182 680Q324 680 348 683H360V637H333Q273 637 258 635T233 622L232 342V129Q232 57 237 52Q243 47 313 47Q384 47 410 53Q470 70 498 110T536 221Q536 226 537 238T540 261T542 272T562 273H582V268Q580 265 568 137T554 5V0H25V46H58Q100 47 109 49T128 61V622'], + + // LATIN CAPITAL LETTER M + 0x4D: [683,0,917,29,887,'132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622'], + + // LATIN CAPITAL LETTER N + 0x4E: [683,0,750,25,724,'42 46Q74 48 94 56T118 69T128 86V634H124Q114 637 52 637H25V683H232L235 680Q237 679 322 554T493 303L578 178V598Q572 608 568 613T544 627T492 637H475V683H483Q498 680 600 680Q706 680 715 683H724V637H707Q634 633 622 598L621 302V6L614 0H600Q585 0 582 3T481 150T282 443T171 605V345L172 86Q183 50 257 46H274V0H265Q250 3 150 3Q48 3 33 0H25V46H42'], + + // LATIN CAPITAL LETTER O + 0x4F: [705,23,778,56,722,'56 340Q56 423 86 494T164 610T270 680T388 705Q521 705 621 601T722 341Q722 260 693 191T617 75T510 4T388 -22T267 3T160 74T85 189T56 340ZM467 647Q426 665 388 665Q360 665 331 654T269 620T213 549T179 439Q174 411 174 354Q174 144 277 61Q327 20 385 20H389H391Q474 20 537 99Q603 188 603 354Q603 411 598 439Q577 592 467 647'], + + // LATIN CAPITAL LETTER P + 0x50: [684,0,681,27,624,'130 622Q123 629 119 631T103 634T60 637H27V683H214Q237 683 276 683T331 684Q419 684 471 671T567 616Q624 563 624 489Q624 421 573 372T451 307Q429 302 328 301H234V181Q234 62 237 58Q245 47 304 46H337V0H326Q305 3 182 3Q47 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM507 488Q507 514 506 528T500 564T483 597T450 620T397 635Q385 637 307 637H286Q237 637 234 628Q231 624 231 483V342H302H339Q390 342 423 349T481 382Q507 411 507 488'], + + // LATIN CAPITAL LETTER Q + 0x51: [705,193,778,56,728,'56 341Q56 499 157 602T388 705Q521 705 621 601T722 341Q722 275 703 218T660 127T603 63T555 25T525 9Q524 8 524 8H523Q524 5 526 -1T537 -21T555 -47T581 -67T615 -76Q653 -76 678 -56T706 -3Q707 10 716 10Q721 10 728 5L727 -13Q727 -88 697 -140T606 -193Q563 -193 538 -166T498 -83Q483 -23 483 -8L471 -11Q459 -14 435 -18T388 -22Q254 -22 155 81T56 341ZM607 339Q607 429 586 496T531 598T461 649T390 665T318 649T248 598T192 496T170 339Q170 143 277 57Q301 39 305 39L304 42Q304 44 304 46Q301 53 301 68Q301 101 325 128T391 155Q454 155 495 70L501 58Q549 91 578 164Q607 234 607 339ZM385 18Q404 18 425 23T459 33T472 40Q471 47 468 57T449 88T412 115Q398 117 386 117Q367 117 353 102T338 67Q338 48 351 33T385 18'], + + // LATIN CAPITAL LETTER R + 0x52: [683,22,736,27,732,'130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499'], + + // LATIN CAPITAL LETTER S + 0x53: [705,22,556,55,500,'55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507'], + + // LATIN CAPITAL LETTER T + 0x54: [677,0,722,36,685,'36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443'], + + // LATIN CAPITAL LETTER U + 0x55: [683,22,750,25,724,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q57 680 180 680Q315 680 324 683H335V637H302Q262 636 251 634T233 622L232 418V291Q232 189 240 145T280 67Q325 24 389 24Q454 24 506 64T571 183Q575 206 575 410V598Q569 608 565 613T541 627T489 637H472V683H481Q496 680 598 680T715 683H724V637H707Q634 633 622 598L621 399Q620 194 617 180Q617 179 615 171Q595 83 531 31T389 -22Q304 -22 226 33T130 192Q129 201 128 412V622'], + + // LATIN CAPITAL LETTER V + 0x56: [683,22,750,19,730,'114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620'], + + // LATIN CAPITAL LETTER W + 0x57: [683,22,1028,18,1009,'792 683Q810 680 914 680Q991 680 1003 683H1009V637H996Q931 633 915 598Q912 591 863 438T766 135T716 -17Q711 -22 694 -22Q676 -22 673 -15Q671 -13 593 231L514 477L435 234Q416 174 391 92T358 -6T341 -22H331Q314 -21 310 -15Q309 -14 208 302T104 622Q98 632 87 633Q73 637 35 637H18V683H27Q69 681 154 681Q164 681 181 681T216 681T249 682T276 683H287H298V637H285Q213 637 213 620Q213 616 289 381L364 144L427 339Q490 535 492 546Q487 560 482 578T475 602T468 618T461 628T449 633T433 636T408 637H380V683H388Q397 680 508 680Q629 680 650 683H660V637H647Q576 637 576 619L727 146Q869 580 869 600Q869 605 863 612T839 627T794 637H783V683H792'], + + // LATIN CAPITAL LETTER X + 0x58: [683,0,750,23,726,'270 0Q252 3 141 3Q46 3 31 0H23V46H40Q129 50 161 88Q165 94 244 216T324 339Q324 341 235 480T143 622Q133 631 119 634T57 637H37V683H46Q64 680 172 680Q297 680 318 683H329V637H324Q307 637 286 632T263 621Q263 618 322 525T384 431Q385 431 437 511T489 593Q490 595 490 599Q490 611 477 622T436 637H428V683H437Q455 680 566 680Q661 680 676 683H684V637H667Q585 634 551 599Q548 596 478 491Q412 388 412 387Q412 385 514 225T620 62Q628 53 642 50T695 46H726V0H717Q699 3 591 3Q466 3 445 0H434V46H440Q454 46 476 51T499 64Q499 67 463 124T390 238L353 295L350 292Q348 290 343 283T331 265T312 236T286 195Q219 88 218 84Q218 70 234 59T272 46H280V0H270'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,0,750,11,738,'518 0Q497 3 374 3Q253 3 232 0H221V46H254Q313 47 321 58Q324 62 324 167V273L221 446Q117 620 114 623Q106 631 91 634T31 637H11V683H20Q29 680 148 680Q273 680 294 683H305V637H287Q239 636 236 621Q236 619 321 475L407 332L483 460Q502 492 527 534Q563 594 563 604Q563 632 517 637H508V683H517H525Q533 683 545 683T571 682T600 681T626 681Q695 681 731 683H738V637H723Q640 633 613 588Q612 587 517 427L425 273V169V95Q425 66 428 59T444 49Q459 46 506 46H528V0H518'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,0,611,55,560,'69 443Q69 452 74 554T80 683H549Q555 677 555 664Q555 649 554 648Q552 645 366 348T179 50T192 49T263 49H275H302Q333 49 353 50T401 59T447 78T482 115T507 173Q513 200 520 273V282H560V274Q560 272 552 143T543 8V0H302L61 1L58 3Q55 8 55 21V35Q59 43 153 193T340 489T432 637H343Q259 637 214 625T141 573Q109 523 109 445Q109 443 89 443H69'], + + // LOW LINE + 0x5F: [-25,62,500,0,499,'0 -62V-25H499V-62H0'], + + // GRAVE ACCENT + 0x60: [699,-505,500,106,296,'106 655Q106 671 119 685T150 699Q166 699 177 688Q190 671 222 629T275 561T295 533T282 519L267 505L196 563Q119 626 113 634Q106 643 106 655'], + + // TILDE + 0x7E: [318,-215,500,83,416,'179 251Q164 251 151 245T131 234T111 215L97 227L83 238Q83 239 95 253T121 283T142 304Q165 318 187 318T253 300T320 282Q335 282 348 288T368 299T388 318L402 306L416 295Q375 236 344 222Q330 215 313 215Q292 215 248 233T179 251'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js new file mode 100644 index 00000000..a3aa2df2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // COMBINING GRAVE ACCENT + 0x300: [699,-505,0,-394,-204,'-394 655Q-394 671 -381 685T-350 699Q-334 699 -323 688Q-310 671 -278 629T-225 561T-205 533T-218 519L-233 505L-304 563Q-381 626 -387 634Q-394 643 -394 655'], + + // COMBINING ACUTE ACCENT + 0x301: [699,-505,0,-297,-107,'-151 699Q-133 699 -120 686T-107 656Q-107 651 -108 647T-113 637T-120 627T-133 616T-149 602T-170 585T-197 563L-268 505L-283 519Q-297 533 -296 533Q-296 534 -271 567T-218 636T-187 678L-184 681Q-182 684 -179 686T-172 692T-163 697T-151 699'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-531,0,-388,-113,'-388 560L-251 694L-243 686Q-113 562 -113 560L-139 531Q-141 532 -197 581L-250 627L-305 580Q-318 569 -331 557T-352 538L-360 532Q-362 530 -375 546L-388 560'], + + // COMBINING TILDE + 0x303: [668,-565,0,-417,-84,'-321 601Q-336 601 -349 595T-369 584T-389 565L-403 577L-417 588Q-417 589 -405 603T-379 633T-358 654Q-335 668 -313 668T-247 650T-180 632Q-165 632 -152 638T-132 649T-112 668L-98 656L-84 645Q-125 586 -156 572Q-170 565 -187 565Q-208 565 -252 583T-321 601'], + + // COMBINING MACRON + 0x304: [590,-544,0,-431,-70,'-431 544V590H-70V544H-431'], + + // COMBINING BREVE + 0x306: [694,-515,0,-408,-93,'-250 515Q-321 515 -362 565T-408 683V694H-371V689Q-371 688 -371 683T-370 675Q-363 631 -331 599T-252 567Q-196 567 -163 608T-130 689V694H-93V683Q-97 617 -139 566T-250 515'], + + // COMBINING DOT ABOVE + 0x307: [669,-549,0,-310,-191,'-310 609Q-310 637 -292 653T-248 669Q-225 667 -208 652T-191 609Q-191 579 -208 564T-250 549Q-275 549 -292 564T-310 609'], + + // COMBINING DIAERESIS + 0x308: [669,-554,0,-405,-95,'-405 612Q-405 633 -388 651T-347 669T-307 652T-290 612Q-290 588 -306 571T-348 554L-373 560Q-405 577 -405 612ZM-211 611Q-211 634 -196 649T-165 668Q-164 668 -160 668T-154 669Q-131 669 -114 652T-96 612T-113 572T-154 554Q-177 554 -194 570T-211 611'], + + // COMBINING RING ABOVE + 0x30A: [715,-542,0,-353,-148,'-353 628Q-353 669 -321 692T-256 715Q-202 715 -175 689T-148 629Q-148 592 -177 567T-251 542Q-298 542 -325 567T-353 628ZM-187 628Q-187 660 -200 669T-241 678H-247Q-252 678 -258 678T-266 679Q-283 679 -293 674T-308 659T-312 644T-313 629Q-313 600 -302 590Q-290 579 -250 579H-235Q-221 579 -212 581T-195 595T-187 628'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [701,-510,0,-378,-80,'-292 701Q-278 701 -262 690T-246 658Q-246 649 -250 641Q-252 637 -297 574T-344 510L-378 528Q-378 530 -355 598T-327 676Q-316 701 -292 701ZM-126 701Q-112 701 -96 690T-80 658Q-80 649 -84 641Q-86 637 -131 574T-178 510L-212 528Q-212 530 -189 598T-161 676Q-150 701 -126 701'], + + // COMBINING CARON + 0x30C: [644,-513,0,-386,-115,'-386 611L-373 630L-364 644Q-362 644 -307 612Q-252 581 -250 581L-194 612Q-139 644 -137 644L-115 611L-182 562L-251 513L-386 611'], + + // COMBINING LONG SOLIDUS OVERLAY + 0x338: [716,215,0,-639,-140,'-612 -215T-619 -215T-631 -212T-637 -204T-639 -197Q-639 -190 -634 -183Q-621 -157 -400 274T-176 707Q-173 716 -160 716Q-153 716 -148 712T-142 703T-140 696Q-140 691 -372 241T-608 -212Q-612 -215 -619 -215'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js new file mode 100644 index 00000000..3eccba2b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js @@ -0,0 +1,41 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/GeometricShapes.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // WHITE UP-POINTING TRIANGLE + 0x25B3: [716,0,889,59,828,'75 0L72 2Q69 3 67 5T62 11T59 20Q59 24 62 30Q65 37 245 370T428 707Q428 708 430 710T436 714T444 716Q451 716 455 712Q459 710 644 368L828 27V20Q828 7 814 0H75ZM610 347L444 653Q443 653 278 347T113 40H775Q775 42 610 347'], + + // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25B9: [505,5,500,26,473,'26 489Q33 505 43 505Q51 505 260 385Q464 266 471 259Q473 257 473 250Q473 242 469 239Q459 231 260 115Q51 -5 43 -5Q39 -5 35 -1T28 7L26 11V489ZM412 250L67 450Q66 450 66 250T67 50Q69 51 240 150T412 250'], + + // WHITE DOWN-POINTING TRIANGLE + 0x25BD: [500,215,889,59,828,'59 480Q59 485 61 489T66 495T72 498L75 500H814Q828 493 828 480V474L644 132Q458 -210 455 -212Q451 -215 444 -215T433 -212Q429 -210 342 -49T164 282T64 466Q59 478 59 480ZM775 460H113Q113 459 278 153T444 -153T610 153T775 460'], + + // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25C3: [505,5,500,26,473,'473 10Q466 -5 454 -5Q451 -5 445 -3Q444 -3 343 56T140 173T35 234Q26 239 26 250T35 266Q40 269 240 384T445 503Q451 505 453 505Q466 505 473 490V10ZM433 50T433 250T432 450T259 351T87 250T258 150T432 50Q433 50 433 250'], + + // LARGE CIRCLE + 0x25EF: [715,215,1000,56,944,'56 250Q56 353 95 442T196 589T335 681T491 715Q573 715 635 693Q694 673 747 635T846 543T917 412T944 250Q944 58 815 -78T500 -215Q457 -215 429 -210Q274 -183 165 -56T56 250ZM500 -176Q664 -176 784 -54T904 250Q904 418 799 536T543 674Q534 675 493 675Q425 675 357 647T229 567T133 432T96 250Q96 160 129 80T217 -56T346 -144T500 -176'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/GeometricShapes.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js new file mode 100644 index 00000000..60597195 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/GreekAndCoptic.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,0,625,25,582,'128 619Q121 626 117 628T101 631T58 634H25V680H554V676Q556 670 568 560T582 444V440H542V444Q542 445 538 478T523 545T492 598Q454 634 349 634H334Q264 634 249 633T233 621Q232 618 232 339L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [716,0,833,46,786,'51 0Q46 4 46 7Q46 9 215 357T388 709Q391 716 416 716Q439 716 444 709Q447 705 616 357T786 7Q786 4 781 0H51ZM507 344L384 596L137 92L383 91H630Q630 93 507 344'], + + // GREEK CAPITAL LETTER THETA + 0x398: [705,23,778,56,722,'56 340Q56 423 86 494T164 610T270 680T388 705Q521 705 621 601T722 341Q722 260 693 191T617 75T510 4T388 -22T267 3T160 74T85 189T56 340ZM610 339Q610 428 590 495T535 598T463 651T384 668Q332 668 289 638T221 566Q168 485 168 339Q168 274 176 235Q189 158 228 105T324 28Q356 16 388 16Q415 16 442 24T501 54T555 111T594 205T610 339ZM223 263V422H263V388H514V422H554V263H514V297H263V263H223'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [716,0,694,32,661,'320 708Q326 716 340 716H348H355Q367 716 372 708Q374 706 423 547T523 226T575 62Q581 52 591 50T634 46H661V0H653Q644 3 532 3Q411 3 390 0H379V46H392Q464 46 464 65Q463 70 390 305T316 539L246 316Q177 95 177 84Q177 72 198 59T248 46H253V0H245Q230 3 130 3Q47 3 38 0H32V46H45Q112 51 127 91Q128 92 224 399T320 708'], + + // GREEK CAPITAL LETTER XI + 0x39E: [677,0,667,42,624,'47 509L55 676Q55 677 333 677T611 676L619 509Q619 508 599 508T579 510Q579 529 575 557T564 589Q550 594 333 594T102 589Q95 586 91 558T87 510Q87 508 67 508T47 509ZM139 260V445H179V394H487V445H527V260H487V311H179V260H139ZM50 0L42 180H62Q82 180 82 178Q82 133 89 105Q92 93 95 90T108 86Q137 83 333 83Q530 83 558 86Q568 87 571 90T577 105Q584 133 584 178Q584 180 604 180H624L616 0H50'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [680,0,750,25,724,'128 619Q121 626 117 628T101 631T58 634H25V680H724V634H691Q651 633 640 631T622 619V61Q628 51 639 49T691 46H724V0H713Q692 3 569 3Q434 3 425 0H414V46H447Q489 47 498 49T517 61V634H232V348L233 61Q239 51 250 49T302 46H335V0H324Q303 3 180 3Q45 3 36 0H25V46H58Q100 47 109 49T128 61V619'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [683,0,722,55,666,'666 247Q664 244 652 126T638 4V0H351Q131 0 95 0T57 5V6Q54 12 57 17L73 36Q89 54 121 90T182 159L305 299L56 644L55 658Q55 677 60 681Q63 683 351 683H638V679Q640 674 652 564T666 447V443H626V447Q618 505 604 543T559 605Q529 626 478 631T333 637H294H189L293 494Q314 465 345 422Q400 346 400 340Q400 338 399 337L154 57Q407 57 428 58Q476 60 508 68T551 83T575 103Q595 125 608 162T624 225L626 251H666V247'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [705,0,778,55,722,'55 551Q55 604 91 654T194 705Q240 705 277 681T334 624T367 556T385 498L389 474L392 488Q394 501 400 521T414 566T438 615T473 659T521 692T584 705Q620 705 648 689T691 647T714 597T722 551Q722 540 719 538T699 536Q680 536 677 541Q677 542 677 544T676 548Q676 576 650 596T588 616H582Q538 616 505 582Q466 543 454 477T441 318Q441 301 441 269T442 222V61Q448 55 452 53T478 48T542 46H569V0H557Q533 3 389 3T221 0H209V46H236Q256 46 270 46T295 47T311 48T322 51T328 54T332 57T337 61V209Q337 383 333 415Q313 616 189 616Q154 616 128 597T101 548Q101 540 97 538T78 536Q63 536 59 538T55 551'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [683,0,722,55,665,'312 622Q310 623 307 625T303 629T297 631T286 634T270 635T246 636T211 637H184V683H196Q220 680 361 680T526 683H538V637H511Q468 637 447 635T422 631T411 622V533L425 531Q525 519 595 466T665 342Q665 301 642 267T583 209T506 172T425 152L411 150V61Q417 55 421 53T447 48T511 46H538V0H526Q502 3 361 3T196 0H184V46H211Q231 46 245 46T270 47T286 48T297 51T303 54T307 57T312 61V150H310Q309 151 289 153T232 166T160 195Q149 201 136 210T103 238T69 284T56 342Q56 414 128 467T294 530Q309 532 310 533H312V622ZM170 342Q170 207 307 188H312V495H309Q301 495 282 491T231 469T186 423Q170 389 170 342ZM415 188Q487 199 519 236T551 342Q551 384 539 414T507 459T470 481T434 491T415 495H410V188H415'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [683,0,778,55,722,'340 622Q338 623 335 625T331 629T325 631T314 634T298 635T274 636T239 637H212V683H224Q248 680 389 680T554 683H566V637H539Q479 637 464 635T439 622L438 407Q438 192 439 192Q443 193 449 195T474 207T507 232T536 276T557 344Q560 365 562 417T573 493Q587 536 620 544Q627 546 671 546H715L722 540V515Q714 509 708 509Q680 505 671 476T658 392T644 307Q599 177 451 153L438 151V106L439 61Q446 54 451 52T476 48T539 46H566V0H554Q530 3 389 3T224 0H212V46H239Q259 46 273 46T298 47T314 48T325 51T331 54T335 57T340 61V151Q126 178 117 406Q115 503 69 509Q55 509 55 526Q55 541 59 543T86 546H107H120Q150 546 161 543T184 528Q198 514 204 493Q212 472 213 420T226 316T272 230Q287 216 303 207T330 194L339 192Q340 192 340 407V622'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [705,0,722,44,677,'55 454Q55 503 75 546T127 617T197 665T272 695T337 704H352Q396 704 404 703Q527 687 596 615T666 454Q666 392 635 330T559 200T499 83V80H543Q589 81 600 83T617 93Q622 102 629 135T636 172L637 177H677V175L660 89Q645 3 644 2V0H552H488Q461 0 456 3T451 20Q451 89 499 235T548 455Q548 512 530 555T483 622T424 656T361 668Q332 668 303 658T243 626T193 560T174 456Q174 380 222 233T270 20Q270 7 263 0H77V2Q76 3 61 89L44 175V177H84L85 172Q85 171 88 155T96 119T104 93Q109 86 120 84T178 80H222V83Q206 132 162 199T87 329T55 454'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js new file mode 100644 index 00000000..813897cf --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/LatinExtendedA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [443,0,278,26,255,'247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js new file mode 100644 index 00000000..7347482c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/LatinExtendedB.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // LATIN SMALL LETTER DOTLESS J + 0x237: [443,205,306,-55,218,'28 -163Q58 -168 64 -168Q124 -168 135 -77Q137 -65 137 141T136 353Q132 371 120 377T72 385H52V408Q52 431 54 431L58 432Q62 432 70 432T87 433T108 434T133 436Q151 437 171 438T202 441T214 442H218V184Q217 -36 217 -59T211 -98Q195 -145 153 -175T58 -205Q9 -205 -23 -179T-55 -117Q-55 -94 -40 -79T-2 -64T36 -79T52 -118Q52 -143 28 -163'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/LatinExtendedB.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js new file mode 100644 index 00000000..4314983d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/LetterlikeSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // stix-/hbar - Planck's over 2pi + 0x210F: [695,13,540,42,562,'182 599Q182 611 174 615T133 619Q118 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 295 644T282 597Q282 592 360 592H399Q430 592 445 587T460 563Q460 552 451 541L442 535H266L251 468Q247 453 243 436T236 409T233 399Q233 395 244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26L166 530Q166 534 161 534T129 535Q127 535 122 535T112 534Q74 534 74 562Q74 570 77 576T84 585T96 589T109 591T124 592T138 592L182 595V599'], + + // BLACK-LETTER CAPITAL I + 0x2111: [705,10,722,55,693,'55 507Q55 589 116 647T260 705Q395 705 526 541Q542 522 549 517T567 512Q595 512 621 521T647 550Q647 553 647 555T650 558T653 560T657 561T661 561T665 561T670 561Q681 561 685 561T691 558T693 548Q693 515 657 495T565 475Q518 475 481 495T418 543T371 599T320 647T259 667Q194 667 148 622T102 508Q102 468 119 436T164 385T220 357T273 347Q282 347 284 344T287 329Q287 317 285 314T272 310Q193 310 124 364T55 507ZM420 312Q420 367 464 399T564 431Q613 431 651 406T693 336Q693 325 689 323T667 320Q654 320 651 322T647 335Q645 360 622 376T566 393H563Q557 393 551 391T537 381T523 356T517 312Q517 287 535 265T574 229T613 190T631 132Q628 74 586 37T487 -9Q478 -10 417 -10H387Q344 -10 310 4T215 69Q130 142 71 146Q59 146 57 149T55 163Q55 177 58 180T75 183H108Q177 183 207 170T306 93Q346 56 368 40T420 13Q474 25 503 60T533 136Q533 160 516 182T477 219T438 257T420 304V312'], + + // SCRIPT SMALL L + 0x2113: [706,20,417,7,397,'345 104T349 104T361 95T369 80T352 59Q268 -20 206 -20Q170 -20 146 3T113 53T99 104L94 129Q94 130 79 116T48 86T28 70Q22 70 15 79T7 94Q7 98 12 103T58 147L91 179V185Q91 186 91 191T92 200Q92 282 128 400T223 612T336 705Q397 705 397 636V627Q397 453 194 233Q185 223 180 218T174 211T171 208T165 201L163 186Q159 142 159 123Q159 17 208 17Q228 17 253 30T293 56T335 94Q345 104 349 104ZM360 634Q360 655 354 661T336 668Q328 668 322 666T302 645T272 592Q252 547 229 467T192 330L179 273Q179 272 186 280T204 300T221 322Q327 453 355 590Q360 612 360 634'], + + // SCRIPT CAPITAL P + 0x2118: [453,216,636,67,625,'300 74Q300 133 338 133Q350 133 356 126T363 109Q363 88 340 76Q340 71 342 62T358 39T393 26Q435 26 474 67T532 182T551 290Q551 325 535 349T484 373Q430 373 378 348T291 289T228 218T187 157T174 130Q254 30 265 10Q276 -15 276 -41Q276 -101 235 -158T142 -216Q112 -216 90 -195T67 -118Q67 -40 104 64L110 81Q81 118 81 174Q81 268 134 360T247 453Q252 453 255 451T258 447L259 445Q259 432 253 420Q251 416 242 416Q209 411 176 341T142 203Q142 193 143 184T146 170T149 165L158 180Q215 280 303 345T485 410Q548 410 586 368T625 255Q625 157 553 74T389 -10H383Q349 -10 325 14Q302 37 300 74ZM105 -123Q105 -134 106 -141T110 -158T122 -173T145 -178Q155 -178 160 -176Q184 -163 199 -132T214 -73Q214 -69 214 -66T213 -59T212 -53T209 -47T205 -41T199 -33T193 -25T184 -14T174 -1L165 10Q156 22 148 32L139 43Q138 43 130 15T113 -54T105 -123'], + + // BLACK-LETTER CAPITAL R + 0x211C: [716,22,722,40,715,'300 614L306 620Q311 626 316 631T332 646T356 663T386 679T425 695T473 707T531 715Q534 715 543 715T557 716Q570 716 572 714Q574 713 644 580T715 444Q715 441 713 439Q712 438 677 419T602 379T549 354L550 348Q550 337 555 238T561 128Q561 122 560 115T559 101Q559 63 591 25L599 18L631 51Q665 85 671 85Q674 85 687 78T702 68Q704 63 702 59Q702 58 659 20T613 -21Q612 -22 598 -22Q556 -22 526 -8T484 27T466 66T461 101Q461 110 462 116T463 129Q463 135 458 232T452 331V338H343V280Q342 195 333 157Q316 64 267 12Q233 -22 193 -22Q155 -22 122 2T72 74Q72 76 70 76T67 74T60 74T48 82Q40 91 40 95Q40 100 42 102T57 109V113Q57 118 66 127T81 137Q88 137 93 123Q105 127 108 126Q111 124 118 117T127 107Q127 101 123 98T113 93T107 90Q107 86 115 71T143 37T189 15H192Q230 15 239 96Q244 135 244 334Q244 510 242 542Q236 584 233 596Q223 630 205 649T166 668Q136 668 118 642T100 584Q100 567 110 554T137 522T166 486Q194 446 194 401V389Q189 243 114 243Q91 243 77 260T59 294T55 322Q55 331 59 333T75 336T91 334T95 322Q95 280 113 280Q134 280 140 305T147 375V391Q147 417 139 435T101 487Q56 540 56 572V580Q56 630 86 667T169 704Q214 704 247 676T300 614ZM324 562Q326 555 330 539T336 515T340 484T343 427V384H424L505 385Q537 396 584 422L609 435Q610 435 594 465T550 550Q536 575 520 605T496 650L488 664L476 662Q348 633 324 562'], + + // ALEF SYMBOL + 0x2135: [694,0,611,55,555,'55 613Q55 643 61 663T74 688T85 694Q94 694 94 681Q98 632 134 588L412 285Q416 311 430 397T447 509V519L438 526Q407 554 398 571T388 617T394 664T407 688T418 694Q425 694 427 684Q429 675 454 635T488 586Q490 584 496 579T513 563T537 540Q555 516 555 487Q555 460 549 441T537 416T528 409Q519 409 517 415T513 435T503 463Q492 481 490 481Q454 264 454 246Q454 237 479 212T529 152T555 79Q555 32 538 9Q531 1 524 1Q516 1 516 13Q512 62 476 106Q468 115 337 258T195 412L193 406Q191 401 189 394T183 377T176 352T171 322T167 284T165 240Q165 224 166 220Q171 199 211 152T252 70Q252 45 235 29T203 8T175 1Q170 0 115 0H79Q60 0 58 3T55 20Q55 31 58 34Q60 37 76 37Q112 39 126 46T140 70Q140 96 112 148T83 236Q83 281 102 334T140 419T159 452Q55 556 55 613'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/Main.js new file mode 100644 index 00000000..b3fc7a65 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/Main.js @@ -0,0 +1,628 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'] = { + directory: 'Main/Regular', + family: 'MathJax_Main', + id: 'MJMAIN', + skew: { + 0x131: 0.0278, + 0x237: 0.0833, + 0x2113: 0.111, + 0x2118: 0.111, + 0x2202: 0.0833 + }, + Ranges: [ + [0x20,0x7F,"BasicLatin"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x2100,0x214F,"LetterlikeSymbols"] + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x2A00,0x2AFF,"SuppMathOperators"] + ], + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [750,250,389,94,333,'94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250'], + + // RIGHT PARENTHESIS + 0x29: [750,250,389,55,294,'60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749'], + + // PLUS SIGN + 0x2B: [583,82,778,56,722,'56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250'], + + // COMMA + 0x2C: [121,195,278,78,210,'78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17'], + + // FULL STOP + 0x2E: [120,0,278,78,199,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], + + // SOLIDUS + 0x2F: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], + + // DIGIT ZERO + 0x30: [666,22,500,39,460,'96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597'], + + // DIGIT ONE + 0x31: [666,0,500,83,427,'213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578'], + + // DIGIT TWO + 0x32: [666,0,500,50,449,'109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429'], + + // DIGIT THREE + 0x33: [665,22,500,42,457,'127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463'], + + // DIGIT FOUR + 0x34: [677,0,500,28,471,'462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293'], + + // DIGIT FIVE + 0x35: [666,22,500,50,449,'164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157'], + + // DIGIT SIX + 0x36: [666,22,500,41,456,'42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397'], + + // DIGIT SEVEN + 0x37: [676,22,500,55,485,'55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458'], + + // DIGIT EIGHT + 0x38: [666,22,500,43,457,'70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21'], + + // DIGIT NINE + 0x39: [666,22,500,42,456,'352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248'], + + // COLON + 0x3A: [430,0,278,78,199,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], + + // SEMICOLON + 0x3B: [430,194,278,78,202,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 85 94 103T137 121Q202 121 202 8Q202 -44 183 -94T144 -169T118 -194Q115 -194 106 -186T95 -174Q94 -171 107 -155T137 -107T160 -38Q161 -32 162 -22T165 -4T165 4Q165 5 161 4T142 0Q110 0 94 18T78 60'], + + // LESS-THAN SIGN + 0x3C: [540,40,778,83,695,'694 -11T694 -19T688 -33T678 -40Q671 -40 524 29T234 166L90 235Q83 240 83 250Q83 261 91 266Q664 540 678 540Q681 540 687 534T694 519T687 505Q686 504 417 376L151 250L417 124Q686 -4 687 -5Q694 -11 694 -19'], + + // EQUALS SIGN + 0x3D: [367,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], + + // GREATER-THAN SIGN + 0x3E: [540,40,778,82,694,'84 520Q84 528 88 533T96 539L99 540Q106 540 253 471T544 334L687 265Q694 260 694 250T687 235Q685 233 395 96L107 -40H101Q83 -38 83 -20Q83 -19 83 -17Q82 -10 98 -1Q117 9 248 71Q326 108 378 132L626 250L378 368Q90 504 86 509Q84 513 84 520'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,278,118,255,'118 -250V750H255V710H158V-210H255V-250H118'], + + // REVERSE SOLIDUS + 0x5C: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,278,22,159,'22 710V750H159V-250H22V-210H119V710H22'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], + + // LATIN SMALL LETTER A + 0x61: [448,11,500,34,493,'137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106'], + + // LATIN SMALL LETTER B + 0x62: [695,11,556,20,522,'307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98'], + + // LATIN SMALL LETTER C + 0x63: [448,12,444,34,415,'370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320'], + + // LATIN SMALL LETTER D + 0x64: [695,11,556,34,535,'376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342'], + + // LATIN SMALL LETTER E + 0x65: [448,11,444,28,415,'28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275'], + + // LATIN SMALL LETTER F + 0x66: [705,0,306,26,372,'273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273'], + + // LATIN SMALL LETTER G + 0x67: [453,206,500,29,485,'329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75'], + + // LATIN SMALL LETTER H + 0x68: [695,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER I + 0x69: [669,0,278,26,255,'69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247'], + + // LATIN SMALL LETTER J + 0x6A: [669,205,306,-55,218,'98 609Q98 637 116 653T160 669Q183 667 200 652T217 609Q217 579 200 564T158 549Q133 549 116 564T98 609ZM28 -163Q58 -168 64 -168Q124 -168 135 -77Q137 -65 137 141T136 353Q132 371 120 377T72 385H52V408Q52 431 54 431L58 432Q62 432 70 432T87 433T108 434T133 436Q151 437 171 438T202 441T214 442H218V184Q217 -36 217 -59T211 -98Q195 -145 153 -175T58 -205Q9 -205 -23 -179T-55 -117Q-55 -94 -40 -79T-2 -64T36 -79T52 -118Q52 -143 28 -163'], + + // LATIN SMALL LETTER K + 0x6B: [695,0,528,20,511,'36 46H50Q89 46 97 60V68Q97 77 97 91T97 124T98 167T98 217T98 272T98 329Q98 366 98 407T98 482T98 542T97 586T97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V463L180 233L240 287Q300 341 304 347Q310 356 310 364Q310 383 289 385H284V431H293Q308 428 412 428Q475 428 484 431H489V385H476Q407 380 360 341Q286 278 286 274Q286 273 349 181T420 79Q434 60 451 53T500 46H511V0H505Q496 3 418 3Q322 3 307 0H299V46H306Q330 48 330 65Q330 72 326 79Q323 84 276 153T228 222L176 176V120V84Q176 65 178 59T189 49Q210 46 238 46H254V0H246Q231 3 137 3T28 0H20V46H36'], + + // LATIN SMALL LETTER L + 0x6C: [695,0,278,26,263,'42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42'], + + // LATIN SMALL LETTER M + 0x6D: [443,0,833,25,819,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER N + 0x6E: [443,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER O + 0x6F: [448,10,500,28,471,'28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30'], + + // LATIN SMALL LETTER P + 0x70: [443,194,556,20,522,'36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218'], + + // LATIN SMALL LETTER Q + 0x71: [442,194,528,33,535,'33 218Q33 308 95 374T236 441H246Q330 441 381 372L387 364Q388 364 404 403L420 442H457V156Q457 -132 458 -134Q462 -142 470 -145Q491 -148 519 -148H535V-194H527L504 -193Q480 -192 453 -192T415 -191Q312 -191 303 -194H295V-148H311Q339 -148 360 -145Q369 -141 371 -135T373 -106V-41V49Q313 -11 236 -11Q154 -11 94 53T33 218ZM376 300Q346 389 278 401Q275 401 269 401T261 402Q211 400 171 350T131 214Q131 137 165 82T253 27Q296 27 328 54T376 118V300'], + + // LATIN SMALL LETTER R + 0x72: [443,0,392,20,364,'36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36'], + + // LATIN SMALL LETTER S + 0x73: [448,11,394,33,359,'295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316'], + + // LATIN SMALL LETTER T + 0x74: [615,10,389,18,333,'27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27'], + + // LATIN SMALL LETTER U + 0x75: [443,11,556,25,542,'383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58'], + + // LATIN SMALL LETTER V + 0x76: [431,11,528,19,508,'338 431Q344 429 422 429Q479 429 503 431H508V385H497Q439 381 423 345Q421 341 356 172T288 -2Q283 -11 263 -11Q244 -11 239 -2Q99 359 98 364Q93 378 82 381T43 385H19V431H25L33 430Q41 430 53 430T79 430T104 429T122 428Q217 428 232 431H240V385H226Q187 384 184 370Q184 366 235 234L286 102L377 341V349Q377 363 367 372T349 383T335 385H331V431H338'], + + // LATIN SMALL LETTER W + 0x77: [431,11,722,18,703,'90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368'], + + // LATIN SMALL LETTER X + 0x78: [431,0,528,11,516,'201 0Q189 3 102 3Q26 3 17 0H11V46H25Q48 47 67 52T96 61T121 78T139 96T160 122T180 150L226 210L168 288Q159 301 149 315T133 336T122 351T113 363T107 370T100 376T94 379T88 381T80 383Q74 383 44 385H16V431H23Q59 429 126 429Q219 429 229 431H237V385Q201 381 201 369Q201 367 211 353T239 315T268 274L272 270L297 304Q329 345 329 358Q329 364 327 369T322 376T317 380T310 384L307 385H302V431H309Q324 428 408 428Q487 428 493 431H499V385H492Q443 385 411 368Q394 360 377 341T312 257L296 236L358 151Q424 61 429 57T446 50Q464 46 499 46H516V0H510H502Q494 1 482 1T457 2T432 2T414 3Q403 3 377 3T327 1L304 0H295V46H298Q309 46 320 51T331 63Q331 65 291 120L250 175Q249 174 219 133T185 88Q181 83 181 74Q181 63 188 55T206 46Q208 46 208 23V0H201'], + + // LATIN SMALL LETTER Y + 0x79: [431,204,528,19,508,'69 -66Q91 -66 104 -80T118 -116Q118 -134 109 -145T91 -160Q84 -163 97 -166Q104 -168 111 -168Q131 -168 148 -159T175 -138T197 -106T213 -75T225 -43L242 0L170 183Q150 233 125 297Q101 358 96 368T80 381Q79 382 78 382Q66 385 34 385H19V431H26L46 430Q65 430 88 429T122 428Q129 428 142 428T171 429T200 430T224 430L233 431H241V385H232Q183 385 185 366L286 112Q286 113 332 227L376 341V350Q376 365 366 373T348 383T334 385H331V431H337H344Q351 431 361 431T382 430T405 429T422 429Q477 429 503 431H508V385H497Q441 380 422 345Q420 343 378 235T289 9T227 -131Q180 -204 113 -204Q69 -204 44 -177T19 -116Q19 -89 35 -78T69 -66'], + + // LATIN SMALL LETTER Z + 0x7A: [431,0,444,28,401,'42 263Q44 270 48 345T53 423V431H393Q399 425 399 415Q399 403 398 402L381 378Q364 355 331 309T265 220L134 41L182 40H206Q254 40 283 46T331 77Q352 105 359 185L361 201Q361 202 381 202H401V196Q401 195 393 103T384 6V0H209L34 1L31 3Q28 8 28 17Q28 30 29 31T160 210T294 394H236Q169 393 152 388Q127 382 113 367Q89 344 82 264V255H42V263'], + + // LEFT CURLY BRACKET + 0x7B: [750,250,500,65,434,'434 -231Q434 -244 428 -250H410Q281 -250 230 -184Q225 -177 222 -172T217 -161T213 -148T211 -133T210 -111T209 -84T209 -47T209 0Q209 21 209 53Q208 142 204 153Q203 154 203 155Q189 191 153 211T82 231Q71 231 68 234T65 250T68 266T82 269Q116 269 152 289T203 345Q208 356 208 377T209 529V579Q209 634 215 656T244 698Q270 724 324 740Q361 748 377 749Q379 749 390 749T408 750H428Q434 744 434 732Q434 719 431 716Q429 713 415 713Q362 710 332 689T296 647Q291 634 291 499V417Q291 370 288 353T271 314Q240 271 184 255L170 250L184 245Q202 239 220 230T262 196T290 137Q291 131 291 1Q291 -134 296 -147Q306 -174 339 -192T415 -213Q429 -213 431 -216Q434 -219 434 -231'], + + // VERTICAL LINE + 0x7C: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], + + // RIGHT CURLY BRACKET + 0x7D: [750,250,500,65,434,'65 731Q65 745 68 747T88 750Q171 750 216 725T279 670Q288 649 289 635T291 501Q292 362 293 357Q306 312 345 291T417 269Q428 269 431 266T434 250T431 234T417 231Q380 231 345 210T298 157Q293 143 292 121T291 -28V-79Q291 -134 285 -156T256 -198Q202 -250 89 -250Q71 -250 68 -247T65 -230Q65 -224 65 -223T66 -218T69 -214T77 -213Q91 -213 108 -210T146 -200T183 -177T207 -139Q208 -134 209 3L210 139Q223 196 280 230Q315 247 330 250Q305 257 280 270Q225 304 212 352L210 362L209 498Q208 635 207 640Q195 680 154 696T77 713Q68 713 67 716T65 731'], + + // DIAERESIS + 0xA8: [669,-554,500,95,405,'95 612Q95 633 112 651T153 669T193 652T210 612Q210 588 194 571T152 554L127 560Q95 577 95 612ZM289 611Q289 634 304 649T335 668Q336 668 340 668T346 669Q369 669 386 652T404 612T387 572T346 554Q323 554 306 570T289 611'], + + // NOT SIGN + 0xAC: [356,-89,667,56,611,'56 323T56 336T70 356H596Q603 353 611 343V102Q598 89 591 89Q587 89 584 90T579 94T575 98T572 102L571 209V316H70Q56 323 56 336'], + + // MACRON + 0xAF: [590,-544,500,69,430,'69 544V590H430V544H69'], + + // DEGREE SIGN + 0xB0: [715,-542,500,147,352,'147 628Q147 669 179 692T244 715Q298 715 325 689T352 629Q352 592 323 567T249 542Q202 542 175 567T147 628ZM313 628Q313 660 300 669T259 678H253Q248 678 242 678T234 679Q217 679 207 674T192 659T188 644T187 629Q187 600 198 590Q210 579 250 579H265Q279 579 288 581T305 595T313 628'], + + // PLUS-MINUS SIGN + 0xB1: [666,0,778,56,722,'56 320T56 333T70 353H369V502Q369 651 371 655Q376 666 388 666Q402 666 405 654T409 596V500V353H707Q722 345 722 333Q722 320 707 313H409V40H707Q722 32 722 20T707 0H70Q56 7 56 20T70 40H369V313H70Q56 320 56 333'], + + // ACUTE ACCENT + 0xB4: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], + + // MULTIPLICATION SIGN + 0xD7: [491,-9,778,147,630,'630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29'], + + // DIVISION SIGN + 0xF7: [537,36,778,56,721,'318 466Q318 500 339 518T386 537Q418 537 438 517T458 466Q458 438 440 417T388 396Q355 396 337 417T318 466ZM56 237T56 250T70 270H706Q721 262 721 250T706 230H70Q56 237 56 250ZM318 34Q318 68 339 86T386 105Q418 105 438 85T458 34Q458 6 440 -15T388 -36Q355 -36 337 -15T318 34'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], + + // CARON + 0x2C7: [644,-513,500,114,385,'114 611L127 630L136 644Q138 644 193 612Q248 581 250 581L306 612Q361 644 363 644L385 611L318 562L249 513L114 611'], + + // MODIFIER LETTER MACRON + 0x2C9: [590,-544,500,69,430,'69 544V590H430V544H69'], + + // MODIFIER LETTER ACUTE ACCENT + 0x2CA: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], + + // MODIFIER LETTER GRAVE ACCENT + 0x2CB: [699,-505,500,106,296,'106 655Q106 671 119 685T150 699Q166 699 177 688Q190 671 222 629T275 561T295 533T282 519L267 505L196 563Q119 626 113 634Q106 643 106 655'], + + // BREVE + 0x2D8: [694,-515,500,92,407,'250 515Q179 515 138 565T92 683V694H129V689Q129 688 129 683T130 675Q137 631 169 599T248 567Q304 567 337 608T370 689V694H407V683Q403 617 361 566T250 515'], + + // DOT ABOVE + 0x2D9: [669,-549,500,190,309,'190 609Q190 637 208 653T252 669Q275 667 292 652T309 609Q309 579 292 564T250 549Q225 549 208 564T190 609'], + + // SMALL TILDE + 0x2DC: [668,-565,500,83,416,'179 601Q164 601 151 595T131 584T111 565L97 577L83 588Q83 589 95 603T121 633T142 654Q165 668 187 668T253 650T320 632Q335 632 348 638T368 649T388 668L402 656L416 645Q375 586 344 572Q330 565 313 565Q292 565 248 583T179 601'], + + // EN DASH + 0x2013: [285,-248,500,0,499,'0 248V285H499V248H0'], + + // EM DASH + 0x2014: [285,-248,1000,0,999,'0 248V285H999V248H0'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-379,278,64,199,'64 494Q64 548 86 597T131 670T160 694Q163 694 172 685T182 672Q182 669 170 656T144 625T116 573T101 501Q101 489 102 489T107 491T120 497T138 500Q163 500 180 483T198 440T181 397T139 379Q110 379 87 405T64 494'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-379,278,78,212,'78 634Q78 659 95 676T138 694Q166 694 189 668T212 579Q212 525 190 476T146 403T118 379Q114 379 105 388T95 401Q95 404 107 417T133 448T161 500T176 572Q176 584 175 584T170 581T157 576T139 573Q114 573 96 590T78 634'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-379,500,128,466,'128 494Q128 528 137 560T158 616T185 658T209 685T223 694T236 685T245 670Q244 668 231 654T204 622T178 571T164 501Q164 489 165 489T170 491T183 497T201 500Q226 500 244 483T262 440T245 397T202 379Q173 379 151 405T128 494ZM332 494Q332 528 341 560T362 616T389 658T413 685T427 694T439 685T449 672Q449 669 437 656T411 625T383 573T368 501Q368 489 369 489T374 491T387 497T405 500Q430 500 448 483T466 440T449 397T406 379Q377 379 355 405T332 494'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-379,500,34,372,'34 634Q34 659 50 676T93 694Q121 694 144 668T168 579Q168 525 146 476T101 403T73 379Q69 379 60 388T50 401Q50 404 62 417T88 448T116 500T131 572Q131 584 130 584T125 581T112 576T94 573Q69 573 52 590T34 634ZM238 634Q238 659 254 676T297 694Q325 694 348 668T372 579Q372 525 350 476T305 403T277 379Q273 379 264 388T254 401Q254 404 266 417T292 448T320 500T335 572Q335 584 334 584T329 581T316 576T298 573Q273 573 256 590T238 634'], + + // DAGGER + 0x2020: [705,216,444,54,389,'182 675Q195 705 222 705Q234 705 243 700T253 691T263 675L262 655Q262 620 252 549T240 454V449Q250 451 288 461T346 472T377 461T389 431Q389 417 379 404T346 390Q327 390 288 401T243 412H240V405Q245 367 250 339T258 301T261 274T263 225Q263 124 255 -41T239 -213Q236 -216 222 -216H217Q206 -216 204 -212T200 -186Q199 -175 199 -168Q181 38 181 225Q181 265 182 280T191 327T204 405V412H201Q196 412 157 401T98 390Q76 390 66 403T55 431T65 458T98 472Q116 472 155 462T205 449Q204 452 204 460T201 490T193 547Q182 619 182 655V675'], + + // DOUBLE DAGGER + 0x2021: [705,205,444,54,389,'181 658Q181 705 222 705T263 658Q263 633 252 572T240 497Q240 496 241 496Q243 496 285 507T345 519Q365 519 376 508T388 478Q388 466 384 458T375 447T361 438H344Q318 438 282 448T241 459Q240 458 240 456Q240 449 251 384T263 297Q263 278 255 267T238 253T222 250T206 252T190 266T181 297Q181 323 192 383T204 458Q204 459 203 459Q198 459 162 449T101 438H84Q74 443 70 446T61 457T56 478Q56 497 67 508T99 519Q117 519 159 508T203 496Q204 496 204 499Q204 507 193 572T181 658ZM181 202Q181 249 222 249T263 202Q263 185 259 161T249 103T240 48V41H243Q248 41 287 52T346 63T377 52T389 22Q389 8 379 -5T346 -19Q327 -19 288 -8T243 3H240V-4Q243 -24 249 -58T259 -117T263 -158Q263 -177 255 -188T238 -202T222 -205T206 -203T190 -189T181 -158Q181 -141 185 -117T195 -59T204 -4V3H201Q196 3 157 -8T98 -19Q76 -19 66 -6T55 22T65 49T98 63Q117 63 156 52T201 41H204V48Q201 68 195 102T185 161T181 202'], + + // HORIZONTAL ELLIPSIS + 0x2026: [120,0,1172,78,1093,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60ZM525 60Q525 84 542 102T585 120Q609 120 627 104T646 61Q646 36 629 18T586 0T543 17T525 60ZM972 60Q972 84 989 102T1032 120Q1056 120 1074 104T1093 61Q1093 36 1076 18T1033 0T990 17T972 60'], + + // PRIME + 0x2032: [560,-43,275,30,262,'79 43Q73 43 52 49T30 61Q30 68 85 293T146 528Q161 560 198 560Q218 560 240 545T262 501Q262 496 260 486Q259 479 173 263T84 45T79 43'], + + // COMBINING RIGHT ARROW ABOVE + 0x20D7: [714,-516,0,-471,-29,'-123 694Q-123 702 -118 708T-103 714Q-93 714 -88 706T-80 687T-67 660T-40 633Q-29 626 -29 615Q-29 606 -36 600T-53 590T-83 571T-121 531Q-135 516 -143 516T-157 522T-163 536T-152 559T-129 584T-116 595H-287L-458 596Q-459 597 -461 599T-466 602T-469 607T-471 615Q-471 622 -458 635H-99Q-123 673 -123 694'], + + // LEFTWARDS ARROW + 0x2190: [511,11,1000,55,944,'944 261T944 250T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H929Q944 261 944 250'], + + // UPWARDS ARROW + 0x2191: [694,193,500,17,483,'27 414Q17 414 17 433Q17 437 17 439T17 444T19 447T20 450T22 452T26 453T30 454T36 456Q80 467 120 494T180 549Q227 607 238 678Q240 694 251 694Q259 694 261 684Q261 677 265 659T284 608T320 549Q340 525 363 507T405 479T440 463T467 455T479 451Q483 447 483 433Q483 413 472 413Q467 413 458 416Q342 448 277 545L270 555V-179Q262 -193 252 -193H250H248Q236 -193 230 -179V555L223 545Q192 499 146 467T70 424T27 414'], + + // RIGHTWARDS ARROW + 0x2192: [511,11,1000,56,944,'56 237T56 250T70 270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H70Q56 237 56 250'], + + // DOWNWARDS ARROW + 0x2193: [694,194,500,17,483,'473 86Q483 86 483 67Q483 63 483 61T483 56T481 53T480 50T478 48T474 47T470 46T464 44Q428 35 391 14T316 -55T264 -168Q264 -170 263 -173T262 -180T261 -184Q259 -194 251 -194Q242 -194 238 -176T221 -121T180 -49Q169 -34 155 -21T125 2T95 20T67 33T44 42T27 47L21 49Q17 53 17 67Q17 87 28 87Q33 87 42 84Q158 52 223 -45L230 -55V312Q230 391 230 482T229 591Q229 662 231 676T243 693Q244 694 251 694Q264 692 270 679V-55L277 -45Q307 1 353 33T430 76T473 86'], + + // LEFT RIGHT ARROW + 0x2194: [511,11,1000,55,944,'263 479Q267 501 271 506T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H835Q729 349 696 475Q691 493 691 500Q691 511 711 511Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q144 292 194 349T263 479'], + + // UP DOWN ARROW + 0x2195: [772,272,500,17,483,'27 492Q17 492 17 511Q17 515 17 517T17 522T19 525T20 528T22 530T26 531T30 532T36 534Q80 545 120 572T180 627Q210 664 223 701T238 755T250 772T261 762Q261 757 264 741T282 691T319 628Q352 589 390 566T454 536L479 529Q483 525 483 511Q483 491 472 491Q467 491 458 494Q342 526 277 623L270 633V-133L277 -123Q307 -77 353 -45T430 -2T473 8Q483 8 483 -11Q483 -15 483 -17T483 -22T481 -25T480 -28T478 -30T474 -31T470 -32T464 -34Q407 -49 364 -84T300 -157T270 -223T261 -262Q259 -272 250 -272Q242 -272 239 -255T223 -201T180 -127Q169 -112 155 -99T125 -76T95 -58T67 -45T44 -36T27 -31L21 -29Q17 -25 17 -11Q17 9 28 9Q33 9 42 6Q158 -26 223 -123L230 -133V633L223 623Q192 577 146 545T70 502T27 492'], + + // NORTH WEST ARROW + 0x2196: [720,195,1000,29,944,'204 662Q257 662 301 676T369 705T394 720Q398 720 407 711T417 697Q417 688 389 671T310 639T212 623Q176 623 153 628Q151 628 221 557T546 232Q942 -164 943 -168Q944 -170 944 -174Q944 -182 938 -188T924 -195Q922 -195 916 -193Q912 -191 517 204Q440 281 326 394T166 553L121 598Q126 589 126 541Q126 438 70 349Q59 332 52 332Q48 332 39 341T29 355Q29 358 38 372T57 407T77 464T86 545Q86 583 78 614T63 663T55 683Q55 693 65 693Q73 693 82 688Q136 662 204 662'], + + // NORTH EAST ARROW + 0x2197: [720,195,1000,55,971,'582 697Q582 701 591 710T605 720Q607 720 630 706T697 677T795 662Q830 662 863 670T914 686T934 694Q942 694 944 685Q944 680 936 663T921 615T913 545Q913 490 927 446T956 379T970 355Q970 351 961 342T947 332Q940 332 929 349Q874 436 874 541Q874 590 878 598L832 553Q787 508 673 395T482 204Q87 -191 83 -193Q77 -195 75 -195Q67 -195 61 -189T55 -174Q55 -170 56 -168Q58 -164 453 232Q707 487 777 557T847 628Q824 623 787 623Q689 623 599 679Q582 690 582 697'], + + // SOUTH EAST ARROW + 0x2198: [695,220,1000,55,970,'55 675Q55 683 60 689T75 695Q77 695 83 693Q87 691 482 296Q532 246 605 174T717 62T799 -20T859 -80T878 -97Q874 -93 874 -41Q874 64 929 151Q940 168 947 168Q951 168 960 159T970 145Q970 143 956 121T928 54T913 -45Q913 -83 920 -114T936 -163T944 -185Q942 -194 934 -194Q932 -194 914 -186T864 -170T795 -162Q743 -162 698 -176T630 -205T605 -220Q601 -220 592 -211T582 -197Q582 -187 611 -170T691 -138T787 -123Q824 -123 847 -128Q848 -128 778 -57T453 268Q58 664 56 668Q55 670 55 675'], + + // SOUTH WEST ARROW + 0x2199: [695,220,1000,29,944,'126 -41Q126 -92 121 -97Q121 -98 139 -80T200 -20T281 61T394 173T517 296Q909 690 916 693Q922 695 924 695Q932 695 938 689T944 674Q944 670 943 668Q942 664 546 268Q292 13 222 -57T153 -128Q176 -123 212 -123Q310 -123 400 -179Q417 -190 417 -197Q417 -201 408 -210T394 -220Q392 -220 369 -206T302 -177T204 -162Q131 -162 67 -194Q63 -195 59 -192T55 -183Q55 -180 62 -163T78 -115T86 -45Q86 10 72 54T44 120T29 145Q29 149 38 158T52 168Q59 168 70 151Q126 62 126 -41'], + + // RIGHTWARDS ARROW FROM BAR + 0x21A6: [511,11,1000,54,944,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H95V155'], + + // LEFTWARDS ARROW WITH HOOK + 0x21A9: [511,11,1126,55,1070,'903 424T903 444T929 464Q976 464 1023 434T1070 347Q1070 316 1055 292T1016 256T971 237T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H926Q929 270 941 271T960 275T978 280T998 290T1015 307Q1030 325 1030 347Q1030 355 1027 364T1014 387T983 411T929 424H928Q903 424 903 444'], + + // RIGHTWARDS ARROW WITH HOOK + 0x21AA: [511,11,1126,55,1070,'55 347Q55 380 72 404T113 441T159 458T197 464Q222 464 222 444Q222 429 204 426T157 417T110 387Q95 369 95 347Q95 339 98 330T111 307T142 283T196 270H961Q845 357 818 493Q818 494 818 496T817 499Q817 511 834 511H837Q846 511 849 510T855 506T858 497T861 481T869 456Q891 389 942 336T1061 261Q1070 258 1070 250Q1070 244 1065 241T1041 231T1003 212Q962 186 932 152T887 85T866 35T858 4Q856 -6 853 -8T837 -11Q817 -11 817 0Q817 7 822 25Q854 151 961 230H196Q149 230 102 260T55 347'], + + // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BC: [511,-230,1000,55,944,'62 230Q56 236 55 244Q55 252 57 255T69 265Q114 292 151 326T208 391T243 448T265 491T273 509Q276 511 288 511Q304 511 306 505Q309 501 303 484Q293 456 279 430T251 383T223 344T196 313T173 291T156 276L148 270H929Q944 261 944 250T929 230H62'], + + // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21BD: [270,11,1000,55,944,'55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], + + // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C0: [511,-230,1000,56,945,'691 500Q691 511 711 511Q720 511 723 510T730 504T735 490T746 464T768 425Q796 378 835 339T897 285T933 263Q941 258 942 256T944 245T937 230H70Q56 237 56 250T70 270H852Q802 308 762 364T707 455T691 500'], + + // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C1: [270,11,1000,56,944,'56 237T56 250T70 270H937Q944 263 944 256Q944 251 944 250T943 246T940 242T933 238Q794 153 734 7Q729 -7 726 -9T711 -11Q695 -11 693 -5Q690 -1 696 16Q721 84 763 139T852 230H70Q56 237 56 250'], + + // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CC: [671,11,1000,55,945,'691 660Q691 671 711 671Q720 671 723 670T730 664T735 650T746 624T768 585Q797 538 836 499T897 445T933 423Q941 418 942 416T944 405T937 390H70Q56 397 56 410T70 430H852Q802 468 762 524T707 615T691 660ZM55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], + + // LEFTWARDS DOUBLE ARROW + 0x21D0: [525,24,1000,56,945,'944 153Q944 140 929 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H929Q944 359 944 347Q944 336 930 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173H930Q931 172 933 171T936 169T938 167T941 164T942 162T943 158T944 153'], + + // UPWARDS DOUBLE ARROW + 0x21D1: [694,194,611,31,579,'228 -179Q227 -180 226 -182T223 -186T221 -189T218 -192T214 -193T208 -194Q196 -194 189 -181L188 125V430L176 419Q122 369 59 338Q46 330 40 330Q38 330 31 337V350Q31 362 33 365T46 374Q60 381 77 390T128 426T190 484T247 567T292 677Q295 688 298 692Q302 694 305 694Q313 694 318 677Q334 619 363 568T420 485T481 427T532 391T564 374Q575 368 577 365T579 350V337Q572 330 570 330Q564 330 551 338Q487 370 435 419L423 430L422 125V-181Q409 -194 401 -194Q397 -194 394 -193T388 -189T385 -184T382 -180V-177V475L373 487Q331 541 305 602Q304 601 300 591T290 571T278 548T260 519T238 488L229 476L228 148V-179'], + + // RIGHTWARDS DOUBLE ARROW + 0x21D2: [525,24,1000,56,944,'580 514Q580 525 596 525Q601 525 604 525T609 525T613 524T615 523T617 520T619 517T622 512Q659 438 720 381T831 300T927 263Q944 258 944 250T935 239T898 228T840 204Q696 134 622 -12Q618 -21 615 -22T600 -24Q580 -24 580 -17Q580 -13 585 0Q620 69 671 123L681 133H70Q56 140 56 153Q56 168 72 173H725L735 181Q774 211 852 250Q851 251 834 259T789 283T735 319L725 327H72Q56 332 56 347Q56 360 70 367H681L671 377Q638 412 609 458T580 514'], + + // DOWNWARDS DOUBLE ARROW + 0x21D3: [694,194,611,31,579,'401 694Q412 694 422 681V375L423 70L435 81Q487 130 551 162Q564 170 570 170Q572 170 579 163V150Q579 138 577 135T564 126Q541 114 518 99T453 48T374 -46T318 -177Q313 -194 305 -194T293 -178T272 -119T225 -31Q158 70 46 126Q35 132 33 135T31 150V163Q38 170 40 170Q46 170 59 162Q122 131 176 81L188 70V375L189 681Q199 694 208 694Q219 694 228 680V352L229 25L238 12Q279 -42 305 -102Q344 -23 373 13L382 25V678Q387 692 401 694'], + + // LEFT RIGHT DOUBLE ARROW + 0x21D4: [526,25,1000,33,966,'308 524Q318 526 323 526Q340 526 340 514Q340 507 336 499Q326 476 314 454T292 417T274 391T260 374L255 368Q255 367 500 367Q744 367 744 368L739 374Q734 379 726 390T707 416T685 453T663 499Q658 511 658 515Q658 525 680 525Q687 524 690 523T695 519T701 507Q766 359 902 287Q921 276 939 269T961 259T966 250Q966 246 965 244T960 240T949 236T930 228T902 213Q763 137 701 -7Q697 -16 695 -19T690 -23T680 -25Q658 -25 658 -15Q658 -11 663 1Q673 24 685 46T707 83T725 109T739 126L744 132Q744 133 500 133Q255 133 255 132L260 126Q265 121 273 110T292 84T314 47T336 1Q341 -11 341 -15Q341 -25 319 -25Q312 -24 309 -23T304 -19T298 -7Q233 141 97 213Q83 221 70 227T51 235T41 239T35 243T34 250T35 256T40 261T51 265T70 273T97 287Q235 363 299 509Q305 522 308 524ZM792 319L783 327H216Q183 294 120 256L110 250L120 244Q173 212 207 181L216 173H783L792 181Q826 212 879 244L889 250L879 256Q826 288 792 319'], + + // UP DOWN DOUBLE ARROW + 0x21D5: [772,272,611,31,579,'290 755Q298 772 305 772T318 757T343 706T393 633Q431 588 473 558T545 515T579 497V484Q579 464 570 464Q564 464 550 470Q485 497 423 550L422 400V100L423 -50Q485 3 550 30Q565 36 570 36Q579 36 579 16V3Q575 -1 549 -12T480 -53T393 -132Q361 -172 342 -208T318 -258T305 -272T293 -258T268 -208T217 -132Q170 -80 128 -51T61 -12T31 3V16Q31 36 40 36Q46 36 61 30Q86 19 109 6T146 -18T173 -38T188 -50V550Q186 549 173 539T147 519T110 495T61 470Q46 464 40 464Q31 464 31 484V497Q34 500 63 513T135 557T217 633Q267 692 290 755ZM374 598Q363 610 351 625T332 651T316 676T305 695L294 676Q282 657 267 636T236 598L228 589V-89L236 -98Q247 -110 259 -125T278 -151T294 -176T305 -195L316 -176Q328 -157 343 -136T374 -98L382 -89V589L374 598'], + + // FOR ALL + 0x2200: [694,22,556,0,556,'0 673Q0 684 7 689T20 694Q32 694 38 680T82 567L126 451H430L473 566Q483 593 494 622T512 668T519 685Q524 694 538 694Q556 692 556 674Q556 670 426 329T293 -15Q288 -22 278 -22T263 -15Q260 -11 131 328T0 673ZM414 410Q414 411 278 411T142 410L278 55L414 410'], + + // PARTIAL DIFFERENTIAL + 0x2202: [715,22,531,42,567,'202 508Q179 508 169 520T158 547Q158 557 164 577T185 624T230 675T301 710L333 715H345Q378 715 384 714Q447 703 489 661T549 568T566 457Q566 362 519 240T402 53Q321 -22 223 -22Q123 -22 73 56Q42 102 42 148V159Q42 276 129 370T322 465Q383 465 414 434T455 367L458 378Q478 461 478 515Q478 603 437 639T344 676Q266 676 223 612Q264 606 264 572Q264 547 246 528T202 508ZM430 306Q430 372 401 400T333 428Q270 428 222 382Q197 354 183 323T150 221Q132 149 132 116Q132 21 232 21Q244 21 250 22Q327 35 374 112Q389 137 409 196T430 306'], + + // THERE EXISTS + 0x2203: [694,0,556,56,500,'56 661T56 674T70 694H487Q497 686 500 679V15Q497 10 487 1L279 0H70Q56 7 56 20T70 40H460V327H84Q70 334 70 347T84 367H460V654H70Q56 661 56 674'], + + // EMPTY SET + 0x2205: [772,78,500,39,460,'331 696Q335 708 339 722T345 744T350 759T357 769T367 772Q374 772 381 767T388 754Q388 746 377 712L366 673L378 661Q460 575 460 344Q460 281 456 234T432 126T373 27Q319 -22 250 -22Q214 -22 180 -7Q168 -3 168 -4L159 -33Q148 -71 142 -75Q138 -78 132 -78Q124 -78 118 -72T111 -60Q111 -52 122 -18L133 21L125 29Q39 111 39 344Q39 596 137 675Q187 716 251 716Q265 716 278 714T296 710T315 703T331 696ZM276 676Q264 679 246 679Q196 679 159 631Q134 597 128 536T121 356Q121 234 127 174T151 80L234 366Q253 430 275 506T308 618L318 654Q318 656 294 669L276 676ZM181 42Q207 16 250 16Q291 16 324 47Q354 78 366 136T378 356Q378 470 372 528T349 616L348 613Q348 611 264 326L181 42'], + + // NABLA + 0x2207: [683,33,833,46,786,'46 676Q46 679 51 683H781Q786 679 786 676Q786 674 617 326T444 -26Q439 -33 416 -33T388 -26Q385 -22 216 326T46 676ZM697 596Q697 597 445 597T193 596Q195 591 319 336T445 80L697 596'], + + // ELEMENT OF + 0x2208: [541,41,667,84,583,'84 250Q84 372 166 450T360 539Q361 539 377 539T419 540T469 540H568Q583 532 583 520Q583 511 570 501L466 500Q355 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H568Q583 262 583 250T568 230H124V228Q124 207 134 177T167 112T231 48T328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 446 -40T417 -41Q262 -41 172 45Q84 127 84 250'], + + // stix-negated (vert) set membership, variant + 0x2209: [716,215,667,84,584,'196 25Q84 109 84 250Q84 372 166 450T360 539Q361 539 375 539T413 540T460 540L547 707Q550 716 563 716Q570 716 575 712T581 703T583 696T505 540H568Q583 532 583 520Q583 511 570 501L484 500L366 270H568Q583 262 583 250T568 230H346L247 38Q284 16 328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 447 -40T419 -41Q304 -41 228 3Q117 -211 115 -212Q111 -215 104 -215T92 -212T86 -204T84 -197Q84 -190 89 -183L196 25ZM214 61L301 230H124V228Q124 196 147 147T214 61ZM321 270L440 500Q353 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H321'], + + // CONTAINS AS MEMBER + 0x220B: [541,40,667,83,582,'83 520Q83 532 98 540H195Q202 540 220 540T249 541Q404 541 494 455Q582 374 582 250Q582 165 539 99T434 0T304 -39Q297 -40 195 -40H98Q83 -32 83 -20Q83 -10 96 0H200Q311 1 337 6Q369 14 401 28Q422 39 445 55Q484 85 508 127T537 191T542 228V230H98Q84 237 84 250T98 270H542V272Q542 280 539 295T527 336T497 391T445 445Q422 461 401 472Q386 479 374 483T347 491T325 495T298 498T273 499T239 500T200 500L96 501Q83 511 83 520'], + + // MINUS SIGN + 0x2212: [270,-230,778,84,694,'84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250'], + + // MINUS-OR-PLUS SIGN + 0x2213: [500,166,778,56,722,'56 467T56 480T70 500H707Q722 492 722 480T707 460H409V187H707Q722 179 722 167Q722 154 707 147H409V0V-93Q409 -144 406 -155T389 -166Q376 -166 372 -155T368 -105Q368 -96 368 -62T369 -2V147H70Q56 154 56 167T70 187H369V460H70Q56 467 56 480'], + + // DIVISION SLASH + 0x2215: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], + + // SET MINUS + 0x2216: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], + + // ASTERISK OPERATOR + 0x2217: [465,-35,500,64,435,'229 286Q216 420 216 436Q216 454 240 464Q241 464 245 464T251 465Q263 464 273 456T283 436Q283 419 277 356T270 286L328 328Q384 369 389 372T399 375Q412 375 423 365T435 338Q435 325 425 315Q420 312 357 282T289 250L355 219L425 184Q434 175 434 161Q434 146 425 136T401 125Q393 125 383 131T328 171L270 213Q283 79 283 63Q283 53 276 44T250 35Q231 35 224 44T216 63Q216 80 222 143T229 213L171 171Q115 130 110 127Q106 124 100 124Q87 124 76 134T64 161Q64 166 64 169T67 175T72 181T81 188T94 195T113 204T138 215T170 230T210 250L74 315Q65 324 65 338Q65 353 74 363T98 374Q106 374 116 368T171 328L229 286'], + + // RING OPERATOR + 0x2218: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251ZM245 403Q188 403 142 361T96 250Q96 183 141 140T250 96Q284 96 313 109T354 135T375 160Q403 197 403 250Q403 313 360 358T245 403'], + + // BULLET OPERATOR + 0x2219: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251'], + + // SQUARE ROOT + 0x221A: [800,200,833,71,853,'95 178Q89 178 81 186T72 200T103 230T169 280T207 309Q209 311 212 311H213Q219 311 227 294T281 177Q300 134 312 108L397 -77Q398 -77 501 136T707 565T814 786Q820 800 834 800Q841 800 846 794T853 782V776L620 293L385 -193Q381 -200 366 -200Q357 -200 354 -197Q352 -195 256 15L160 225L144 214Q129 202 113 190T95 178'], + + // PROPORTIONAL TO + 0x221D: [442,11,778,56,722,'56 124T56 216T107 375T238 442Q260 442 280 438T319 425T352 407T382 385T406 361T427 336T442 315T455 297T462 285L469 297Q555 442 679 442Q687 442 722 437V398H718Q710 400 694 400Q657 400 623 383T567 343T527 294T503 253T495 235Q495 231 520 192T554 143Q625 44 696 44Q717 44 719 46H722V-5Q695 -11 678 -11Q552 -11 457 141Q455 145 454 146L447 134Q362 -11 235 -11Q157 -11 107 56ZM93 213Q93 143 126 87T220 31Q258 31 292 48T349 88T389 137T413 178T421 196Q421 200 396 239T362 288Q322 345 288 366T213 387Q163 387 128 337T93 213'], + + // INFINITY + 0x221E: [442,11,1000,55,944,'55 217Q55 305 111 373T254 442Q342 442 419 381Q457 350 493 303L507 284L514 294Q618 442 747 442Q833 442 888 374T944 214Q944 128 889 59T743 -11Q657 -11 580 50Q542 81 506 128L492 147L485 137Q381 -11 252 -11Q166 -11 111 57T55 217ZM907 217Q907 285 869 341T761 397Q740 397 720 392T682 378T648 359T619 335T594 310T574 285T559 263T548 246L543 238L574 198Q605 158 622 138T664 94T714 61T765 51Q827 51 867 100T907 217ZM92 214Q92 145 131 89T239 33Q357 33 456 193L425 233Q364 312 334 337Q285 380 233 380Q171 380 132 331T92 214'], + + // ANGLE + 0x2220: [694,0,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q67 43 346 361Q397 420 474 508Q595 648 616 671T647 694T661 688T666 674Q666 668 663 663Q662 662 627 622T524 503T390 350L120 41L386 40H653Q666 30 666 20Q666 8 651 0H71'], + + // DIVIDES + 0x2223: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], + + // PARALLEL TO + 0x2225: [750,250,500,132,368,'133 736Q138 750 153 750Q164 750 170 739Q172 735 172 250T170 -239Q164 -250 152 -250Q144 -250 138 -244L137 -243Q133 -241 133 -179T132 250Q132 731 133 736ZM329 739Q334 750 346 750Q353 750 361 744L362 743Q366 741 366 679T367 250T367 -178T362 -243L361 -244Q355 -250 347 -250Q335 -250 329 -239Q327 -235 327 250T329 739'], + + // LOGICAL AND + 0x2227: [598,22,667,55,611,'318 591Q325 598 333 598Q344 598 348 591Q349 590 414 445T545 151T611 -4Q609 -22 591 -22Q588 -22 586 -21T581 -20T577 -17T575 -13T572 -9T570 -4L333 528L96 -4Q87 -20 80 -21Q78 -22 75 -22Q57 -22 55 -4Q55 2 120 150T251 444T318 591'], + + // LOGICAL OR + 0x2228: [598,22,667,55,611,'55 580Q56 587 61 592T75 598Q86 598 96 580L333 48L570 580Q579 596 586 597Q588 598 591 598Q609 598 611 580Q611 574 546 426T415 132T348 -15Q343 -22 333 -22T318 -15Q317 -14 252 131T121 425T55 580'], + + // stix-intersection, serifs + 0x2229: [598,22,667,55,611,'88 -21T75 -21T55 -7V200Q55 231 55 280Q56 414 60 428Q61 430 61 431Q77 500 152 549T332 598Q443 598 522 544T610 405Q611 399 611 194V-7Q604 -22 591 -22Q582 -22 572 -9L570 405Q563 433 556 449T529 485Q498 519 445 538T334 558Q251 558 179 518T96 401Q95 396 95 193V-7Q88 -21 75 -21'], + + // stix-union, serifs + 0x222A: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598'], + + // INTEGRAL + 0x222B: [716,216,417,55,472,'151 -112Q151 -150 106 -161Q106 -165 114 -172T134 -179Q155 -179 170 -146Q181 -120 188 -64T206 101T232 310Q256 472 277 567Q308 716 392 716Q434 716 453 681T472 613Q472 590 458 577T424 564Q404 564 390 578T376 612Q376 650 421 661Q421 663 418 667T407 675T393 679Q387 679 380 675Q360 665 350 619T326 438Q302 190 253 -57Q235 -147 201 -186Q174 -213 138 -216Q93 -216 74 -181T55 -113Q55 -91 69 -78T103 -64Q123 -64 137 -78T151 -112'], + + // TILDE OPERATOR + 0x223C: [367,-133,778,55,722,'55 166Q55 241 101 304T222 367Q260 367 296 349T362 304T421 252T484 208T554 189Q616 189 655 236T694 338Q694 350 698 358T708 367Q722 367 722 334Q722 260 677 197T562 134H554Q517 134 481 152T414 196T355 248T292 293T223 311Q179 311 145 286Q109 257 96 218T80 156T69 133Q55 133 55 166'], + + // WREATH PRODUCT + 0x2240: [583,83,278,55,222,'55 569Q55 583 83 583Q122 583 151 565T194 519T215 464T222 411Q222 360 194 304T139 193T111 89Q111 38 134 -7T195 -55Q222 -57 222 -69Q222 -83 189 -83Q130 -83 93 -33T55 90Q55 130 72 174T110 252T148 328T166 411Q166 462 144 507T83 555Q55 556 55 569'], + + // ASYMPTOTICALLY EQUAL TO + 0x2243: [464,-36,778,55,722,'55 283Q55 356 103 409T217 463Q262 463 297 447T395 382Q431 355 446 344T493 320T554 307H558Q613 307 652 344T694 433Q694 464 708 464T722 432Q722 356 673 304T564 251H554Q510 251 465 275T387 329T310 382T223 407H219Q164 407 122 367Q91 333 85 295T76 253T69 250Q55 250 55 283ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], + + // APPROXIMATELY EQUAL TO + 0x2245: [589,-22,1000,55,722,'55 388Q55 463 101 526T222 589Q260 589 296 571T362 526T421 474T484 430T554 411Q616 411 655 458T694 560Q694 572 698 580T708 589Q722 589 722 556Q722 482 677 419T562 356H554Q517 356 481 374T414 418T355 471T292 515T223 533Q179 533 145 508Q109 479 96 440T80 378T69 355Q55 355 55 388ZM56 236Q56 249 70 256H707Q722 248 722 236Q722 225 708 217L390 216H72Q56 221 56 236ZM56 42Q56 57 72 62H708Q722 52 722 42Q722 30 707 22H70Q56 29 56 42'], + + // ALMOST EQUAL TO + 0x2248: [483,-55,778,55,722,'55 319Q55 360 72 393T114 444T163 472T205 482Q207 482 213 482T223 483Q262 483 296 468T393 413L443 381Q502 346 553 346Q609 346 649 375T694 454Q694 465 698 474T708 483Q722 483 722 452Q722 386 675 338T555 289Q514 289 468 310T388 357T308 404T224 426Q164 426 125 393T83 318Q81 289 69 289Q55 289 55 319ZM55 85Q55 126 72 159T114 210T163 238T205 248Q207 248 213 248T223 249Q262 249 296 234T393 179L443 147Q502 112 553 112Q609 112 649 141T694 220Q694 249 708 249T722 217Q722 153 675 104T555 55Q514 55 468 76T388 123T308 170T224 192Q164 192 125 159T83 84Q80 55 69 55Q55 55 55 85'], + + // EQUIVALENT TO + 0x224D: [484,-16,778,55,722,'55 464Q55 471 60 477T74 484Q80 484 108 464T172 420T268 376T389 356Q436 356 483 368T566 399T630 436T675 467T695 482Q701 484 703 484Q711 484 716 478T722 464Q722 454 707 442Q550 316 389 316Q338 316 286 329T195 362T124 402T76 437T57 456Q55 462 55 464ZM57 45Q66 58 109 88T230 151T381 183Q438 183 494 168T587 135T658 94T703 61T720 45Q722 39 722 36Q722 28 717 22T703 16Q697 16 669 36T606 80T510 124T389 144Q341 144 294 132T211 101T147 64T102 33T82 18Q76 16 74 16Q66 16 61 22T55 36Q55 39 57 45'], + + // APPROACHES THE LIMIT + 0x2250: [670,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM329 610Q329 634 346 652T389 670Q413 670 431 654T450 611Q450 586 433 568T390 550T347 567T329 610'], + + // stix-not (vert) equals + 0x2260: [716,215,778,56,722,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183L306 133H70Q56 140 56 153Q56 168 72 173H327L406 327H72Q56 332 56 347Q56 360 70 367H426Q597 702 602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 692 471 367H707Q722 359 722 347Q722 336 708 328L451 327L371 173H708Q722 163 722 153Q722 140 707 133H351Q175 -210 170 -212Q166 -215 159 -215'], + + // IDENTICAL TO + 0x2261: [464,-36,778,56,722,'56 444Q56 457 70 464H707Q722 456 722 444Q722 430 706 424H72Q56 429 56 444ZM56 237T56 250T70 270H707Q722 262 722 250T707 230H70Q56 237 56 250ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], + + // LESS-THAN OR EQUAL TO + 0x2264: [636,138,778,83,694,'674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], + + // GREATER-THAN OR EQUAL TO + 0x2265: [636,138,778,82,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 356 694 346T687 331Q685 329 395 192L107 56H101Q83 58 83 76Q83 77 83 79Q82 86 98 95Q117 105 248 167Q326 204 378 228L626 346L360 472Q291 505 200 548Q112 589 98 597T83 616ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], + + // MUCH LESS-THAN + 0x226A: [568,67,1000,56,944,'639 -48Q639 -54 634 -60T619 -67H618Q612 -67 536 -26Q430 33 329 88Q61 235 59 239Q56 243 56 250T59 261Q62 266 336 415T615 567L619 568Q622 567 625 567Q639 562 639 548Q639 540 633 534Q632 532 374 391L117 250L374 109Q632 -32 633 -34Q639 -40 639 -48ZM944 -48Q944 -54 939 -60T924 -67H923Q917 -67 841 -26Q735 33 634 88Q366 235 364 239Q361 243 361 250T364 261Q367 266 641 415T920 567L924 568Q927 567 930 567Q944 562 944 548Q944 540 938 534Q937 532 679 391L422 250L679 109Q937 -32 938 -34Q944 -40 944 -48'], + + // MUCH GREATER-THAN + 0x226B: [567,67,1000,55,944,'55 539T55 547T60 561T74 567Q81 567 207 498Q297 449 365 412Q633 265 636 261Q639 255 639 250Q639 241 626 232Q614 224 365 88Q83 -65 79 -66Q76 -67 73 -67Q65 -67 60 -61T55 -47Q55 -39 61 -33Q62 -33 95 -15T193 39T320 109L321 110H322L323 111H324L325 112L326 113H327L329 114H330L331 115H332L333 116L334 117H335L336 118H337L338 119H339L340 120L341 121H342L343 122H344L345 123H346L347 124L348 125H349L351 126H352L353 127H354L355 128L356 129H357L358 130H359L360 131H361L362 132L363 133H364L365 134H366L367 135H368L369 136H370L371 137L372 138H373L374 139H375L376 140L378 141L576 251Q63 530 62 533Q55 539 55 547ZM360 539T360 547T365 561T379 567Q386 567 512 498Q602 449 670 412Q938 265 941 261Q944 255 944 250Q944 241 931 232Q919 224 670 88Q388 -65 384 -66Q381 -67 378 -67Q370 -67 365 -61T360 -47Q360 -39 366 -33Q367 -33 400 -15T498 39T625 109L626 110H627L628 111H629L630 112L631 113H632L634 114H635L636 115H637L638 116L639 117H640L641 118H642L643 119H644L645 120L646 121H647L648 122H649L650 123H651L652 124L653 125H654L656 126H657L658 127H659L660 128L661 129H662L663 130H664L665 131H666L667 132L668 133H669L670 134H671L672 135H673L674 136H675L676 137L677 138H678L679 139H680L681 140L683 141L881 251Q368 530 367 533Q360 539 360 547'], + + // PRECEDES + 0x227A: [539,41,778,84,694,'84 249Q84 262 91 266T117 270Q120 270 126 270T137 269Q388 273 512 333T653 512Q657 539 676 539Q685 538 689 532T694 520V515Q689 469 672 431T626 366T569 320T500 286T435 265T373 249Q379 248 404 242T440 233T477 221T533 199Q681 124 694 -17Q694 -41 674 -41Q658 -41 653 -17Q646 41 613 84T533 154T418 197T284 220T137 229H114Q104 229 98 230T88 235T84 249'], + + // SUCCEEDS + 0x227B: [539,41,778,83,694,'84 517Q84 539 102 539Q115 539 119 529T125 503T137 459T171 404Q277 275 640 269H661Q694 269 694 249T661 229H640Q526 227 439 214T283 173T173 98T124 -17Q118 -41 103 -41Q83 -41 83 -17Q88 29 105 67T151 132T208 178T277 212T342 233T404 249Q401 250 380 254T345 263T302 276T245 299Q125 358 92 468Q84 502 84 517'], + + // SUBSET OF + 0x2282: [541,41,778,84,694,'84 250Q84 372 166 450T360 539Q361 539 370 539T395 539T430 540T475 540T524 540H679Q694 532 694 520Q694 511 681 501L522 500H470H441Q366 500 338 496T266 472Q244 461 224 446T179 404T139 337T124 250V245Q124 157 185 89Q244 25 328 7Q348 2 366 2T522 0H681Q694 -10 694 -20Q694 -32 679 -40H526Q510 -40 480 -40T434 -41Q350 -41 289 -25T172 45Q84 127 84 250'], + + // SUPERSET OF + 0x2283: [541,40,778,83,693,'83 520Q83 532 98 540H251Q267 540 297 540T343 541Q427 541 488 525T605 455Q693 374 693 250Q693 165 650 99T545 0T415 -39Q407 -40 251 -40H98Q83 -32 83 -20Q83 -10 96 0H255H308H337Q412 0 439 4T512 28Q533 39 553 54T599 96T639 163T654 250Q654 341 592 411Q557 449 512 472Q468 491 439 495T335 500H306H255L96 501Q83 511 83 520'], + + // SUBSET OF OR EQUAL TO + 0x2286: [637,138,778,84,694,'84 346Q84 468 166 546T360 635Q361 635 370 635T395 635T430 636T475 636T524 636H679Q694 628 694 616Q694 607 681 597L522 596H470H441Q366 596 338 592T266 568Q244 557 224 542T179 500T139 433T124 346V341Q124 253 185 185Q244 121 328 103Q348 98 366 98T522 96H681Q694 86 694 76Q694 64 679 56H526Q510 56 480 56T434 55Q350 55 289 71T172 141Q84 223 84 346ZM104 -131T104 -118T118 -98H679Q694 -106 694 -118T679 -138H118Q104 -131 104 -118'], + + // SUPERSET OF OR EQUAL TO + 0x2287: [637,138,778,83,693,'83 616Q83 628 98 636H251Q267 636 297 636T343 637Q427 637 488 621T605 551Q693 470 693 346Q693 261 650 195T545 96T415 57Q407 56 251 56H98Q83 64 83 76Q83 86 96 96H255H308H337Q412 96 439 100T512 124Q533 135 553 150T599 192T639 259T654 346Q654 437 592 507Q557 545 512 568Q468 587 439 591T335 596H306H255L96 597Q83 607 83 616ZM84 -131T84 -118T98 -98H659Q674 -106 674 -118T659 -138H98Q84 -131 84 -118'], + + // MULTISET UNION + 0x228E: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598ZM313 406Q313 417 313 435T312 459Q312 483 316 493T333 503T349 494T353 461V406V325H515Q516 325 519 323T527 316T531 305T527 294T520 287T515 285H353V204V152Q353 127 350 117T333 107T316 117T312 152Q312 158 312 175T313 204V285H151Q150 285 147 287T139 294T135 305T139 316T146 323T151 325H313V406'], + + // SQUARE IMAGE OF OR EQUAL TO + 0x2291: [636,138,778,84,714,'94 620Q98 632 110 636H699Q714 628 714 616T699 596H134V96H698Q714 90 714 76Q714 64 699 56H109Q104 59 95 69L94 344V620ZM84 -118Q84 -103 100 -98H698Q714 -104 714 -118Q714 -130 699 -138H98Q84 -131 84 -118'], + + // SQUARE ORIGINAL OF OR EQUAL TO + 0x2292: [636,138,778,64,694,'64 603T64 616T78 636H668Q675 633 683 623V69Q675 59 668 56H78Q64 63 64 76Q64 91 80 96H643V596H78Q64 603 64 616ZM64 -118Q64 -108 79 -98H678Q694 -104 694 -118Q694 -130 679 -138H78Q64 -131 64 -118'], + + // stix-square intersection, serifs + 0x2293: [598,0,667,61,605,'83 0Q79 0 76 1T71 3T67 6T65 9T63 13T61 16V301L62 585Q70 595 76 598H592Q602 590 605 583V15Q598 2 587 0Q583 0 580 1T575 3T571 6T569 9T567 13T565 16V558H101V15Q94 2 83 0'], + + // stix-square union, serifs + 0x2294: [598,0,667,61,605,'77 0Q65 4 61 16V301L62 585Q72 598 81 598Q94 598 101 583V40H565V583Q573 598 585 598Q598 598 605 583V15Q602 10 592 1L335 0H77'], + + // stix-circled plus (with rim) + 0x2295: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM364 542Q308 539 251 509T148 418T96 278V270H369V542H364ZM681 278Q675 338 650 386T592 462T522 509T458 535T412 542H409V270H681V278ZM96 222Q104 150 139 95T219 12T302 -29T366 -42H369V230H96V222ZM681 222V230H409V-42H412Q429 -42 456 -36T521 -10T590 37T649 113T681 222'], + + // CIRCLED MINUS + 0x2296: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM681 278Q669 385 591 463T381 542Q283 542 196 471T96 278V270H681V278ZM275 -42T388 -42T585 32T681 222V230H96V222Q108 107 191 33'], + + // stix-circled times (with rim) + 0x2297: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q531 510 496 523Q446 542 381 542Q324 542 272 519T196 471L389 278L485 375L582 471ZM167 442Q95 362 95 250Q95 137 167 58L359 250L167 442ZM610 58Q682 138 682 250Q682 363 610 442L418 250L610 58ZM196 29Q209 16 230 2T295 -27T388 -42Q409 -42 429 -40T465 -33T496 -23T522 -11T544 1T561 13T574 22T582 29L388 222L196 29'], + + // CIRCLED DIVISION SLASH + 0x2298: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q581 472 571 480T556 491T539 502T517 514T491 525T460 534T424 539T381 542Q272 542 184 460T95 251Q95 198 113 150T149 80L167 58L582 471ZM388 -42Q513 -42 597 44T682 250Q682 363 610 442L196 29Q209 16 229 2T295 -27T388 -42'], + + // CIRCLED DOT OPERATOR + 0x2299: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM682 250Q682 322 649 387T546 497T381 542Q272 542 184 459T95 250Q95 132 178 45T389 -42Q515 -42 598 45T682 250ZM311 250Q311 285 332 304T375 328Q376 328 382 328T392 329Q424 326 445 305T466 250Q466 217 445 195T389 172Q354 172 333 195T311 250'], + + // RIGHT TACK + 0x22A2: [695,0,611,55,555,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V367H540Q555 359 555 347Q555 334 540 327H95V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678'], + + // LEFT TACK + 0x22A3: [695,0,611,54,555,'515 678Q515 679 516 681T518 684T521 688T525 691T530 693T537 694Q548 692 555 679V15Q548 2 537 0Q533 0 530 1T525 3T521 6T519 9T517 13T515 16V327H71Q70 327 67 329T59 336T55 347T59 358T66 365T71 367H515V678'], + + // DOWN TACK + 0x22A4: [668,0,778,55,723,'55 642T55 648T59 659T66 666T71 668H708Q723 660 723 648T708 628H409V15Q402 2 391 0Q387 0 384 1T379 3T375 6T373 9T371 13T369 16V628H71Q70 628 67 630T59 637'], + + // UP TACK + 0x22A5: [669,0,778,54,723,'369 652Q369 653 370 655T372 658T375 662T379 665T384 667T391 668Q402 666 409 653V40H708Q723 32 723 20T708 0H71Q70 0 67 2T59 9T55 20T59 31T66 38T71 40H369V652'], + + // TRUE + 0x22A8: [750,249,867,119,812,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V367H796Q811 359 811 347Q811 336 797 328L479 327H161L159 328V172L161 173H797Q798 172 800 171T803 169T805 167T808 164T809 162T810 158T811 153Q811 140 796 133H159V-235Q151 -249 141 -249H139'], + + // DIAMOND OPERATOR + 0x22C4: [488,-12,500,12,488,'242 486Q245 488 250 488Q256 488 258 486Q262 484 373 373T486 258T488 250T486 242T373 127T258 14Q256 12 250 12Q245 12 242 14Q237 16 127 126T14 242Q12 245 12 250T14 258Q16 263 126 373T242 486ZM439 250L250 439L61 250L250 61L439 250'], + + // DOT OPERATOR + 0x22C5: [310,-190,278,78,199,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250'], + + // STAR OPERATOR + 0x22C6: [486,-16,500,3,497,'210 282Q210 284 225 381T241 480Q241 484 245 484Q249 486 251 486Q258 486 260 477T272 406Q275 390 276 380Q290 286 290 282L388 299Q484 314 487 314H488Q497 314 497 302Q497 297 434 266Q416 257 404 251L315 206L361 118Q372 98 383 75T401 40L407 28Q407 16 395 16Q394 16 392 16L390 17L250 159L110 17L108 16Q106 16 105 16Q93 16 93 28L99 40Q105 52 116 75T139 118L185 206L96 251Q6 296 4 300Q3 301 3 302Q3 314 12 314H13Q16 314 112 299L210 282'], + + // BOWTIE + 0x22C8: [505,5,900,26,873,'833 50T833 250T832 450T659 351T487 250T658 150T832 50Q833 50 833 250ZM873 10Q866 -5 854 -5Q851 -5 845 -3L449 226L260 115Q51 -5 43 -5Q39 -5 35 -1T28 7L26 11V489Q33 505 43 505Q51 505 260 385L449 274L845 503Q851 505 853 505Q866 505 873 490V10ZM412 250L67 450Q66 450 66 250T67 50Q69 51 240 150T412 250'], + + // VERTICAL ELLIPSIS + 0x22EE: [900,30,278,78,199,'78 30Q78 54 95 72T138 90Q162 90 180 74T199 31Q199 6 182 -12T139 -30T96 -13T78 30ZM78 440Q78 464 95 482T138 500Q162 500 180 484T199 441Q199 416 182 398T139 380T96 397T78 440ZM78 840Q78 864 95 882T138 900Q162 900 180 884T199 841Q199 816 182 798T139 780T96 797T78 840'], + + // MIDLINE HORIZONTAL ELLIPSIS + 0x22EF: [310,-190,1172,78,1093,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250ZM525 250Q525 274 542 292T585 310Q609 310 627 294T646 251Q646 226 629 208T586 190T543 207T525 250ZM972 250Q972 274 989 292T1032 310Q1056 310 1074 294T1093 251Q1093 226 1076 208T1033 190T990 207T972 250'], + + // DOWN RIGHT DIAGONAL ELLIPSIS + 0x22F1: [820,-100,1282,133,1148,'133 760Q133 784 150 802T193 820Q217 820 235 804T254 761Q254 736 237 718T194 700T151 717T133 760ZM580 460Q580 484 597 502T640 520Q664 520 682 504T701 461Q701 436 684 418T641 400T598 417T580 460ZM1027 160Q1027 184 1044 202T1087 220Q1111 220 1129 204T1148 161Q1148 136 1131 118T1088 100T1045 117T1027 160'], + + // LEFT CEILING + 0x2308: [750,250,444,174,422,'174 734Q178 746 190 750H298H369Q400 750 411 747T422 730T411 713T372 709Q365 709 345 709T310 710H214V-235Q206 -248 196 -250Q192 -250 189 -249T184 -247T180 -244T178 -241T176 -237T174 -234V734'], + + // RIGHT CEILING + 0x2309: [750,250,444,21,269,'21 717T21 730T32 746T75 750H147H256Q266 742 269 735V-235Q262 -248 251 -250Q247 -250 244 -249T239 -247T235 -244T233 -241T231 -237T229 -234V710H133Q119 710 99 710T71 709Q43 709 32 713'], + + // LEFT FLOOR + 0x230A: [751,251,444,174,423,'174 734Q174 735 175 737T177 740T180 744T184 747T189 749T196 750Q206 748 214 735V-210H310H373Q401 -210 411 -213T422 -230T411 -247T369 -251Q362 -251 338 -251T298 -250H190Q178 -246 174 -234V734'], + + // RIGHT FLOOR + 0x230B: [751,250,444,21,269,'229 734Q229 735 230 737T232 740T235 744T239 747T244 749T251 750Q262 748 269 735V-235Q266 -240 256 -249L147 -250H77Q43 -250 32 -247T21 -230T32 -213T72 -209Q79 -209 99 -209T133 -210H229V734'], + + // stix-small down curve + 0x2322: [388,-122,1000,55,944,'55 141Q55 149 72 174T125 234T209 303T329 360T478 388H526Q649 383 765 319Q814 291 858 250T923 179T944 141Q944 133 938 128T924 122Q914 124 912 125T902 139Q766 328 500 328Q415 328 342 308T225 258T150 199T102 148T84 124Q81 122 75 122Q55 127 55 141'], + + // stix-small up curve + 0x2323: [378,-134,1000,55,944,'923 378Q944 378 944 358Q944 345 912 311T859 259Q710 134 500 134Q288 134 140 259Q55 336 55 358Q55 366 61 372T75 378Q78 378 84 376Q86 376 101 356T147 310T221 257T339 212T500 193Q628 193 734 236Q841 282 903 363Q914 378 923 378'], + + // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + 0x23B0: [744,244,412,56,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 454T239 315T239 247Q240 235 240 124V40Q240 -17 233 -53T201 -130Q155 -206 78 -244H69H64Q58 -244 57 -243T56 -234Q56 -232 56 -231V-225Q56 -218 63 -215Q153 -153 170 -39Q172 -25 173 119V219Q173 245 174 249Q173 258 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], + + // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + 0x23B1: [744,244,412,55,357,'78 744Q153 706 196 640T239 492V376Q239 341 239 314T238 271T238 253Q239 251 239 223V119V49Q239 -39 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 258 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [750,250,389,109,333,'333 -232Q332 -239 327 -244T313 -250Q303 -250 296 -240Q293 -233 202 6T110 250T201 494T296 740Q299 745 306 749L309 750Q312 750 313 750Q331 750 333 732Q333 727 243 489Q152 252 152 250T243 11Q333 -227 333 -232'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [750,250,389,55,279,'55 732Q56 739 61 744T75 750Q85 750 92 740Q95 733 186 494T278 250T187 6T92 -240Q85 -250 75 -250Q67 -250 62 -245T55 -232Q55 -227 145 11Q236 248 236 250T145 489Q55 727 55 732'], + + // MATHEMATICAL LEFT FLATTENED PARENTHESIS + 0x27EE: [744,244,412,173,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 394V331Q240 259 239 250Q240 242 240 119V49Q240 -42 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 260 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], + + // MATHEMATICAL RIGHT FLATTENED PARENTHESIS + 0x27EF: [744,244,412,55,240,'78 744Q153 706 196 640T239 492V376Q239 339 239 311T238 269T238 252Q240 236 240 124V40Q240 -18 233 -53T202 -130Q156 -206 79 -244H70H65Q58 -244 57 -242T56 -231T57 -220T64 -215Q153 -154 170 -39Q173 -18 174 119V247Q173 249 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], + + // LONG LEFTWARDS ARROW + 0x27F5: [511,11,1609,55,1525,'165 270H1510Q1525 262 1525 250T1510 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], + + // LONG RIGHTWARDS ARROW + 0x27F6: [511,11,1638,84,1553,'84 237T84 250T98 270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H98Q84 237 84 250'], + + // LONG LEFT RIGHT ARROW + 0x27F7: [511,11,1859,55,1803,'165 270H1694Q1578 357 1551 493Q1551 494 1551 496T1550 499Q1550 511 1567 511H1570Q1579 511 1582 510T1588 506T1591 497T1594 481T1602 456Q1624 389 1675 336T1794 261Q1803 258 1803 250Q1803 244 1798 241T1774 231T1736 212Q1695 186 1665 152T1620 85T1599 35T1591 4Q1589 -6 1586 -8T1570 -11Q1550 -11 1550 0Q1550 7 1555 25Q1587 151 1694 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], + + // LONG LEFTWARDS DOUBLE ARROW + 0x27F8: [525,24,1609,56,1554,'274 173H1539Q1540 172 1542 171T1545 169T1547 167T1550 164T1551 162T1552 158T1553 153Q1553 140 1538 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1538Q1553 359 1553 347Q1553 336 1539 328L1221 327H903L900 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], + + // LONG RIGHTWARDS DOUBLE ARROW + 0x27F9: [525,24,1638,56,1582,'1218 514Q1218 525 1234 525Q1239 525 1242 525T1247 525T1251 524T1253 523T1255 520T1257 517T1260 512Q1297 438 1358 381T1469 300T1565 263Q1582 258 1582 250T1573 239T1536 228T1478 204Q1334 134 1260 -12Q1256 -21 1253 -22T1238 -24Q1218 -24 1218 -17Q1218 -13 1223 0Q1258 69 1309 123L1319 133H70Q56 140 56 153Q56 168 72 173H1363L1373 181Q1412 211 1490 250Q1489 251 1472 259T1427 283T1373 319L1363 327H710L707 328L390 327H72Q56 332 56 347Q56 360 70 367H1319L1309 377Q1276 412 1247 458T1218 514'], + + // LONG LEFT RIGHT DOUBLE ARROW + 0x27FA: [525,24,1858,56,1802,'1438 514Q1438 525 1454 525Q1459 525 1462 525T1467 525T1471 524T1473 523T1475 520T1477 517T1480 512Q1517 438 1578 381T1689 300T1785 263Q1802 258 1802 250T1793 239T1756 228T1698 204Q1554 134 1480 -12Q1476 -21 1473 -22T1458 -24Q1438 -24 1438 -17Q1438 -13 1443 0Q1478 69 1529 123L1539 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1539L1529 377Q1496 412 1467 458T1438 514ZM274 173H1583L1593 181Q1632 211 1710 250Q1709 251 1692 259T1647 283T1593 319L1583 327H930L927 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], + + // LONG RIGHTWARDS ARROW FROM BAR + 0x27FC: [511,11,1638,54,1553,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H95V155'], + + // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AAF: [636,138,778,84,694,'84 346Q84 359 91 363T117 367Q120 367 126 367T137 366Q388 370 512 430T653 609Q657 636 676 636Q685 635 689 629T694 618V612Q689 566 672 528T626 463T569 417T500 383T435 362T373 346Q379 345 404 339T440 330T477 318T533 296Q592 266 630 223T681 145T694 78Q694 57 674 57Q662 57 657 67T652 92T640 135T606 191Q500 320 137 326H114Q104 326 98 327T88 332T84 346ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'], + + // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [636,138,778,83,694,'84 614Q84 636 102 636Q115 636 119 626T125 600T137 556T171 501Q277 372 640 366H661Q694 366 694 346T661 326H640Q578 325 526 321T415 307T309 280T222 237T156 172T124 83Q122 66 118 62T103 57Q100 57 98 57T95 58T93 59T90 62T85 67Q83 71 83 80Q88 126 105 164T151 229T208 275T277 309T342 330T404 346Q401 347 380 351T345 360T302 373T245 396Q125 455 92 565Q84 599 84 614ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js new file mode 100644 index 00000000..8e2731ea --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/MiscSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // BLACK SPADE SUIT + 0x2660: [727,131,778,55,723,'181 -21Q134 -21 96 27T55 193Q55 224 58 247T82 317T143 410Q172 443 234 498Q282 543 314 598T360 687T380 725Q386 727 389 727Q395 727 398 725T406 716T413 702T423 677T439 641Q481 556 544 498Q633 420 678 353T723 204Q723 142 711 94T669 12T590 -21Q520 -21 490 8T459 66V70H409V62Q409 22 416 -17T430 -82T437 -112Q437 -131 407 -131Q403 -131 397 -131T389 -130T382 -130T372 -131Q341 -131 341 -111Q341 -107 348 -82T362 -18T369 62V70H319V66Q319 57 314 44T297 16T257 -10T191 -21H181'], + + // WHITE HEART SUIT + 0x2661: [716,33,778,55,723,'55 490Q55 557 71 604T114 674T167 706T222 716Q279 716 322 684T389 605Q391 610 395 617T414 643T447 677T494 704T555 716Q642 716 682 652T723 490Q723 455 718 426T684 342T602 227Q573 196 537 161T485 110T449 63T412 -8Q408 -22 404 -27T389 -33Q382 -33 379 -31T372 -23T366 -8T355 18T335 54Q319 81 298 104T239 163T176 227Q102 310 79 371T55 490ZM198 674Q143 664 119 613T95 491Q95 415 137 346Q174 282 265 194T384 48L389 39Q391 42 397 54T406 71T415 86T427 104T442 122T464 146T491 172Q571 249 613 303Q683 396 683 487Q683 581 649 631Q613 676 556 676Q495 676 457 634T410 538Q407 514 390 514Q386 514 380 517Q372 520 369 536T355 581T319 635Q277 675 223 675H217H208L204 674Q200 674 198 674'], + + // WHITE DIAMOND SUIT + 0x2662: [727,162,778,55,723,'370 714Q370 717 375 722T388 727Q398 727 403 721T417 697Q420 692 421 689Q536 465 709 304Q723 291 723 282T709 260Q529 93 406 -153Q402 -162 390 -162H389Q379 -162 376 -158T357 -125Q247 89 89 241L64 265Q55 272 55 282Q55 287 57 290T64 300T77 312T98 331T127 361Q197 435 258 523T344 663L370 714ZM655 299Q568 384 508 470T389 662L376 638Q362 613 341 577T289 497T215 399T123 299L105 282L123 265Q210 180 270 94T389 -98L402 -74Q416 -49 437 -13T489 67T563 165T655 265L673 282L655 299'], + + // BLACK CLUB SUIT + 0x2663: [726,131,778,28,750,'213 532Q213 615 265 670T389 726Q461 726 513 671T565 532Q565 511 562 492T553 458T541 432T526 409T512 393T498 379L490 371L511 326Q512 326 516 330T528 341T546 353T572 363T606 368Q664 368 707 315T750 174Q750 87 699 33T579 -22Q567 -22 553 -20T517 -10T479 16T459 63V70H409V62Q409 22 416 -17T430 -82T437 -112Q437 -131 407 -131Q403 -131 397 -131T389 -130T382 -130T372 -131Q341 -131 341 -111Q341 -107 348 -82T362 -18T369 62V70H319V63Q315 25 281 2T197 -22Q132 -22 80 32T28 174Q28 255 69 311T175 368Q192 368 207 364T232 353T250 341T262 331T267 326L288 371L280 378Q272 385 267 391T253 407T238 430T226 457T217 492T213 532'], + + // MUSIC FLAT SIGN + 0x266D: [750,22,389,55,332,'200 467Q254 467 293 428T332 321Q332 147 104 -11L88 -22H75Q62 -22 56 -16L55 362V647Q55 743 60 748Q63 750 76 750H83Q87 750 95 744V434L104 440Q144 467 200 467ZM237 322Q237 360 225 388T183 417Q158 417 134 407T101 378Q96 370 96 349T95 197V34Q152 91 194 167T237 322'], + + // MUSIC NATURAL SIGN + 0x266E: [734,223,389,65,324,'65 721Q78 734 94 734Q100 734 104 727V444L116 449Q129 454 157 465T208 486Q313 527 314 527Q318 527 324 521V-210Q306 -223 294 -223Q289 -223 284 -216V-13L270 -18Q257 -24 231 -34T180 -54Q77 -96 74 -96T65 -90V721ZM104 13Q282 84 283 85Q284 85 284 252Q284 418 283 418L230 396L140 360L104 346V13'], + + // MUSIC SHARP SIGN + 0x266F: [723,223,389,55,333,'101 -223Q94 -223 93 -217T91 -188V-151Q91 -88 90 -88Q87 -88 80 -92T68 -96Q62 -96 56 -90L55 -50V-22Q55 -8 58 -4T78 5L91 10V177Q91 343 90 343Q87 343 80 339T68 335Q62 335 56 341L55 381V409Q55 423 58 427T78 436L91 441V543V616Q91 643 93 648T106 656Q119 662 126 659Q130 657 130 645T131 554V456L257 503V607L258 710L260 712Q261 715 272 719T286 723Q293 723 295 715T297 671V617Q297 519 298 519Q301 519 307 522T319 526Q327 526 333 521V437L330 435Q328 432 312 427L297 421V254Q297 88 298 88Q301 88 307 91T319 95Q327 95 333 90V6L330 4Q328 1 312 -4L297 -10V-78V-122Q297 -145 295 -149T282 -156Q274 -160 268 -160Q257 -160 257 -130V-89V-25L131 -72V-210Q123 -215 116 -218T104 -222L101 -223ZM257 72V406L131 359V25L257 72'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/MiscSymbols.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js new file mode 100644 index 00000000..7d6088df --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/SpacingModLetters.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // RING ABOVE + 0x2DA: [715,-542,500,147,352,'147 628Q147 669 179 692T244 715Q298 715 325 689T352 629Q352 592 323 567T249 542Q202 542 175 567T147 628ZM313 628Q313 660 300 669T259 678H253Q248 678 242 678T234 679Q217 679 207 674T192 659T188 644T187 629Q187 600 198 590Q210 579 250 579H265Q279 579 288 581T305 595T313 628'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/SpacingModLetters.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js new file mode 100644 index 00000000..e2a4b82a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/SuppMathOperators.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // AMALGAMATION OR COPRODUCT + 0x2A3F: [683,0,750,28,721,'28 660Q28 676 31 679T46 683H50Q87 681 182 681Q217 681 247 681T294 682T315 682Q321 682 323 682T328 679T331 673T332 660Q332 643 328 640T304 637Q239 637 231 626Q229 620 229 334V46H520V334Q520 620 518 626Q510 637 445 637Q426 637 422 640T417 660Q417 675 420 678T432 682H435Q437 682 467 682T569 681T671 681T703 682Q714 682 717 679T721 660Q721 643 717 640T693 637Q628 637 620 626Q619 623 619 342Q619 60 620 57Q628 46 693 46Q714 46 717 43T721 23Q721 5 715 1Q713 0 374 0Q36 0 34 1Q28 5 28 23Q28 40 31 43T56 46Q121 46 129 57Q131 63 131 342Q131 620 129 626Q121 637 56 637Q35 637 32 640T28 660'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/SuppMathOperators.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js new file mode 100644 index 00000000..beecee87 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js @@ -0,0 +1,392 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Math/BoldItalic/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Math-bold-italic'] = { + directory: 'Math/BoldItalic', + family: 'MathJax_Math', + id: 'MJMATHBI', + weight: 'bold', + style: 'italic', + skew: { + 0x41: 0.16, + 0x42: 0.0958, + 0x43: 0.0958, + 0x44: 0.0639, + 0x45: 0.0958, + 0x46: 0.0958, + 0x47: 0.0958, + 0x48: 0.0639, + 0x49: 0.128, + 0x4A: 0.192, + 0x4B: 0.0639, + 0x4C: 0.0319, + 0x4D: 0.0958, + 0x4E: 0.0958, + 0x4F: 0.0958, + 0x50: 0.0958, + 0x51: 0.0958, + 0x52: 0.0958, + 0x53: 0.0958, + 0x54: 0.0958, + 0x55: 0.0319, + 0x58: 0.0958, + 0x5A: 0.0958, + 0x63: 0.0639, + 0x64: 0.192, + 0x65: 0.0639, + 0x66: 0.192, + 0x67: 0.0319, + 0x68: -0.0319, + 0x6C: 0.0958, + 0x6F: 0.0639, + 0x70: 0.0958, + 0x71: 0.0958, + 0x72: 0.0639, + 0x73: 0.0639, + 0x74: 0.0958, + 0x75: 0.0319, + 0x76: 0.0319, + 0x77: 0.0958, + 0x78: 0.0319, + 0x79: 0.0639, + 0x7A: 0.0639, + 0x393: 0.0958, + 0x394: 0.192, + 0x398: 0.0958, + 0x39B: 0.192, + 0x39E: 0.0958, + 0x3A0: 0.0639, + 0x3A3: 0.0958, + 0x3A5: 0.0639, + 0x3A6: 0.0958, + 0x3A8: 0.0639, + 0x3A9: 0.0958, + 0x3B1: 0.0319, + 0x3B2: 0.0958, + 0x3B4: 0.0639, + 0x3B5: 0.0958, + 0x3B6: 0.0958, + 0x3B7: 0.0639, + 0x3B8: 0.0958, + 0x3B9: 0.0639, + 0x3BC: 0.0319, + 0x3BD: 0.0319, + 0x3BE: 0.128, + 0x3BF: 0.0639, + 0x3C1: 0.0958, + 0x3C2: 0.0958, + 0x3C4: 0.0319, + 0x3C5: 0.0319, + 0x3C6: 0.0958, + 0x3C7: 0.0639, + 0x3C8: 0.128, + 0x3D1: 0.0958, + 0x3D5: 0.0958, + 0x3F1: 0.0958, + 0x3F5: 0.0639 + }, + + // SPACE + 0x20: [0,0,250,0,0,''], + + // SOLIDUS + 0x2F: [711,210,894,160,733,'189 -210Q179 -210 170 -203T160 -179Q160 -171 162 -166Q164 -163 420 266T679 698Q686 711 704 711Q714 711 723 704T733 681Q733 672 730 667Q723 654 469 228T211 -201Q202 -210 189 -210'], + + // LATIN CAPITAL LETTER A + 0x41: [711,0,869,45,839,'65 0Q45 0 45 18Q48 52 61 60Q65 62 81 62Q155 62 165 74Q166 74 265 228T465 539T569 699Q576 707 583 709T611 711T637 710T649 700Q650 697 695 380L741 63L784 62H827Q839 50 839 45L835 29Q831 9 827 5T806 0Q803 0 790 0T743 1T657 2Q585 2 547 1T504 0Q481 0 481 17Q484 54 497 60Q501 62 541 62Q580 62 580 63Q580 68 573 121T564 179V181H308L271 124Q236 69 236 67T283 62H287Q316 62 316 46Q316 26 307 8Q302 3 295 0L262 1Q242 2 168 2Q119 2 93 1T65 0ZM537 372Q533 402 528 435T521 486T518 504V505Q517 505 433 375L348 244L451 243Q555 243 555 244L537 372'], + + // LATIN CAPITAL LETTER B + 0x42: [686,0,866,43,853,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 449 686H477H586Q684 686 733 677T817 634Q853 598 853 547Q853 499 826 460T761 401T695 371T654 360H653L662 358Q670 357 683 354T712 344T744 327T774 303T795 269T804 224Q804 148 732 79T533 1Q524 0 288 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624ZM703 550Q703 571 695 586T675 609T656 619T643 623L545 624H447L417 504Q386 384 386 383T470 382Q554 383 565 385Q632 397 667 447T703 550ZM651 240Q651 265 645 282T626 309T608 322T592 329Q587 330 479 331H373L340 198Q307 65 306 64Q306 62 406 62L507 63L519 65Q565 76 596 107T639 171T651 240'], + + // LATIN CAPITAL LETTER C + 0x43: [704,17,817,55,855,'380 -17Q335 -17 293 -10T207 16T130 65T76 144T55 256Q55 306 70 361T122 476T211 582T345 663T525 702H545Q673 702 731 634L777 668Q783 672 789 677T800 685T808 691T814 695T818 698T822 700T825 702T828 703T830 703T833 703Q855 703 855 690Q855 686 823 558T789 426Q786 421 782 420T756 419Q734 420 729 421T724 432Q724 434 725 447T726 472Q726 552 678 604Q640 640 586 640H574Q533 640 494 632T409 604T324 541T260 437Q243 397 227 333T210 219Q210 152 237 117Q255 90 299 68T420 46H429Q506 46 580 100T678 234Q683 249 687 251T712 254H723Q743 254 743 240Q743 232 736 213T710 162T663 100T586 40T477 -5Q433 -17 380 -17'], + + // LATIN CAPITAL LETTER D + 0x44: [686,0,938,43,914,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 437 686Q659 686 668 685Q727 680 772 662T842 621T883 568T905 517T913 475Q914 466 914 434Q914 373 892 307T828 179T712 69T548 7Q517 2 494 2T279 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624ZM768 475Q768 515 753 544T718 588T666 611T613 622T563 624H538H532H452L382 344Q311 64 311 63T363 62H405Q490 62 545 76T656 142Q696 185 724 265T760 399T768 475'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,810,43,825,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H811Q817 677 820 673T824 666L825 664Q825 659 814 549T799 433Q793 424 771 424Q752 424 746 427T740 441Q740 445 742 466T744 505Q744 561 722 585T646 616Q639 617 545 618H456Q456 617 427 502T398 385Q398 384 435 384Q461 385 471 385T499 391T526 405T545 433T562 478Q566 494 571 497T595 501H604Q622 501 626 486Q626 482 593 349T557 213Q552 205 530 205Q499 205 499 219Q499 222 503 242T508 281Q508 308 491 314T429 322Q425 322 423 322H382L317 64Q317 62 390 62Q460 62 493 64T569 80T640 124Q665 149 686 187T719 253T733 283Q739 289 760 289Q791 289 791 274Q791 267 763 201T706 71L678 8Q676 4 667 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], + + // LATIN CAPITAL LETTER F + 0x46: [680,0,689,43,809,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H795Q801 677 804 673T808 666L809 664Q809 659 798 549T783 433Q777 424 755 424Q736 424 730 427T724 444Q724 448 725 468T727 507V524Q727 541 724 554T713 577T698 594T676 605T653 612T625 616T597 617T566 618T538 618H456L455 614Q455 611 424 491L394 371H429Q454 372 463 372T491 378T517 392T536 419T552 464Q556 481 561 484T586 488Q603 488 607 486Q616 482 616 473Q616 467 584 337T549 201Q542 192 521 192Q503 192 497 195T490 209Q490 212 492 224Q499 251 499 269Q499 288 489 296T465 306T417 308L379 309L348 188Q341 161 334 129T322 80L318 65L317 62H375H409Q430 62 438 59T447 45Q444 8 431 2L426 0L377 1Q347 2 231 2Q152 2 111 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], + + // LATIN CAPITAL LETTER G + 0x47: [704,16,887,56,854,'379 -16Q233 -16 145 52T56 255Q56 310 73 368T127 483T216 586T347 663T518 702H540Q562 702 582 700T616 696T644 689T667 681T686 670T702 659T717 647T731 635L776 668Q782 672 788 677T799 685T807 691T813 695T817 698T821 700T824 702T827 703T829 703T832 703Q854 703 854 690Q854 686 822 558T788 426Q785 421 781 420T755 419Q734 420 729 422T723 432Q723 434 724 446T725 469Q725 531 702 571T642 628Q616 640 575 640Q468 640 390 593T272 464Q247 415 229 340T210 214Q210 166 228 132T277 79T343 54T419 46Q445 46 465 50T500 59T526 76T544 96T557 123T566 150T574 182T581 214H519Q511 214 498 214T479 213Q443 213 443 230Q443 250 452 268Q457 273 464 276L514 275Q546 274 657 274Q735 274 768 275T803 276Q826 276 826 258Q823 224 810 216Q806 214 771 214H736Q736 211 710 109T683 5Q678 0 671 0Q666 0 637 14T597 36Q593 38 590 40T585 44T582 44T576 40Q511 -16 379 -16'], + + // LATIN CAPITAL LETTER H + 0x48: [686,0,982,43,1027,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 239 686Q290 684 403 684Q475 684 512 685T553 686Q576 686 576 668Q572 632 560 626Q555 624 506 624H457L399 389Q399 388 547 388H695L753 623Q753 624 709 624H686Q665 624 660 626T650 639Q653 678 668 684Q672 686 681 686Q685 686 726 685T847 684Q902 684 937 684T986 685T1004 686Q1027 686 1027 668Q1023 632 1011 626Q1006 624 957 624H908L839 344Q768 64 768 63T812 62H839Q871 62 871 44Q867 6 854 2L850 0L808 1Q782 2 675 2Q600 2 560 1T516 0Q499 0 494 15Q498 54 511 60Q515 62 564 62H613L614 66L679 324Q679 326 531 326H383L382 322L317 64Q317 62 361 62H388Q420 62 420 44Q416 6 403 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624'], + + // LATIN CAPITAL LETTER I + 0x49: [686,0,511,30,573,'247 624Q242 624 233 624T220 623Q186 623 186 640Q186 647 190 664T202 684Q206 686 226 686Q277 684 393 684Q435 684 471 684T528 685T553 686Q573 686 573 670Q573 650 564 632Q556 624 537 624H501H449L380 344Q309 64 309 63T356 62Q361 62 370 62T384 63Q417 63 417 46Q417 26 408 8Q403 3 396 0L352 1Q325 2 216 2T82 1L45 0Q30 7 30 16Q33 51 46 60Q51 62 102 62H154L294 623Q294 624 247 624'], + + // LATIN CAPITAL LETTER J + 0x4A: [686,17,631,42,694,'205 131Q205 105 192 84T165 54L152 45Q152 44 160 42T182 37T213 35H216Q255 35 289 65Q314 90 329 129Q331 136 392 378T453 623Q453 624 393 624H332Q318 631 318 640Q318 647 322 664T334 684Q338 686 359 686Q413 684 533 684Q566 684 605 685T652 686Q677 686 685 683T694 669Q694 664 691 652Q686 631 681 628T647 624H602L542 380Q531 336 518 285T500 212T487 161T475 122T463 97T448 74T429 55Q351 -17 213 -17Q142 -17 99 7T43 70Q42 75 42 93Q42 143 73 168T139 194Q168 194 186 177T205 131'], + + // LATIN CAPITAL LETTER K + 0x4B: [686,1,971,43,1003,'536 0Q522 6 522 18Q522 35 533 57Q539 62 557 62Q595 62 601 65L472 330L365 255L342 160Q318 65 317 64Q317 62 361 62H388Q420 62 420 44Q416 6 403 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 239 686Q290 684 403 684Q475 684 512 685T553 686Q576 686 576 668Q572 632 560 626Q555 624 506 624H457L422 481Q386 339 386 337L785 621Q779 624 749 624Q726 624 726 641Q726 645 730 659Q734 675 736 679T747 686L786 685Q812 684 888 684Q908 684 934 685T968 686Q1003 686 1003 669Q1003 646 991 629Q985 624 967 624Q918 624 888 617Q884 617 874 613L865 609Q864 608 732 515T599 420Q599 418 686 242T775 65Q784 62 829 62Q847 62 850 61T860 54Q862 52 862 43Q862 10 845 1Q844 1 842 1T836 0T797 1T694 2Q599 2 573 1L536 0'], + + // LATIN CAPITAL LETTER L + 0x4C: [686,0,756,43,711,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 239 686Q290 684 409 684Q454 684 492 684T552 685T579 686Q603 686 603 668Q599 632 587 626Q583 624 520 624H457L388 344Q317 64 317 63T353 62H390Q418 62 440 64T493 78T548 110T598 169T643 261Q651 282 655 285T680 289Q696 289 700 288T709 279Q711 274 711 269Q710 265 663 138T613 8Q611 4 602 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624'], + + // LATIN CAPITAL LETTER M + 0x4D: [686,0,1142,43,1219,'258 624H231Q214 624 208 626T199 639Q203 678 216 684Q220 686 347 686H473Q474 685 478 682T484 677Q487 673 535 413L584 153L608 187Q631 221 672 281T761 410Q935 663 943 671Q949 678 962 686H1082H1166Q1201 686 1210 683T1219 668Q1215 632 1203 626Q1199 624 1149 624H1100L1031 344Q960 64 960 63T1004 62H1031Q1063 62 1063 44Q1060 7 1046 2Q1042 0 1034 0Q1030 0 990 1T875 2Q804 2 767 1T725 0H723Q707 0 703 15Q707 54 720 60Q724 62 773 62H822Q961 618 961 619L754 318Q546 15 543 12Q531 0 510 0Q500 0 495 0T484 5T477 19Q477 20 421 315L367 604L299 335Q234 72 234 68Q234 62 302 62Q334 62 334 46Q332 8 317 2Q313 0 306 0Q301 0 267 1T181 2Q125 2 96 1T63 0Q48 0 43 15Q43 19 47 35Q52 55 57 58T94 62Q147 64 164 69L233 345Q302 619 302 622Q302 624 258 624'], + + // LATIN CAPITAL LETTER N + 0x4E: [686,0,950,43,1027,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 344 686H434Q464 686 477 680Q480 677 607 454Q738 227 739 227Q742 227 789 418T836 618Q836 620 835 620L821 622Q811 622 779 624Q755 624 749 625T740 632Q737 635 737 644Q737 656 742 669T754 685Q755 685 757 685T763 686Q768 686 803 685T890 684Q925 684 951 684T990 685T1006 686Q1014 686 1016 684Q1027 679 1027 668Q1023 632 1011 626Q1007 624 978 624Q912 622 907 617Q907 616 831 314T753 8Q749 0 723 0H712Q699 0 692 7Q692 8 671 44T607 155T526 296L361 580L296 323Q234 74 234 68T302 62H307Q334 62 334 44Q330 6 317 2L313 0L280 1Q260 2 181 2Q125 2 96 1T63 0Q48 0 43 15Q43 19 47 35Q52 55 57 58T94 62Q147 64 164 69L233 345Q302 619 302 622Q302 624 258 624'], + + // LATIN CAPITAL LETTER O + 0x4F: [703,17,837,53,815,'53 245Q53 297 70 356T125 478T216 590T349 671T523 703Q656 703 735 637T815 445Q815 378 791 307Q727 104 527 17Q437 -17 344 -17Q289 -17 242 -5T150 35T79 116T53 245ZM664 489Q664 575 618 611T511 648Q463 648 416 627T334 570Q297 531 270 472T230 355T213 261T208 206Q208 177 215 151T237 98T284 56T358 40Q440 40 510 98T618 270Q664 400 664 489'], + + // LATIN CAPITAL LETTER P + 0x50: [686,0,723,43,847,'162 62L302 623Q302 624 258 624H234Q214 624 209 626T200 638Q200 677 217 684Q220 686 439 686Q667 685 684 682Q686 681 693 680Q713 677 733 671T782 649T829 602T847 528Q847 450 784 382T604 293Q571 288 469 287H373L346 176Q340 151 333 122T321 78L317 64Q317 62 361 62H387Q420 62 420 44Q417 10 404 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q43 0 43 17Q43 21 47 33Q52 54 57 58T89 62H113H162ZM692 558Q692 611 617 622Q610 623 529 624H452L381 343H458H492Q604 343 641 389Q662 414 677 471T692 558'], + + // LATIN CAPITAL LETTER Q + 0x51: [703,194,869,52,815,'53 245Q53 297 70 356T125 478T216 590T349 671T523 703Q656 703 735 637T815 445Q815 410 808 370T781 277T729 178T643 87T519 14L525 4Q540 -19 553 -25T592 -32Q632 -32 654 -24T680 -7T689 10T704 18Q713 18 717 12T722 0Q722 -8 711 -36T681 -101T624 -166T541 -194Q513 -194 494 -183T465 -157T450 -118T444 -79T443 -41V-7L433 -9Q391 -17 344 -17Q301 -17 263 -10T185 15T118 62T71 138T53 245ZM666 482Q666 529 652 563T614 615T565 640T512 648Q412 648 335 573Q268 506 235 389T201 202Q201 164 210 136T230 95T259 66L262 76Q269 109 302 135T382 162Q401 162 415 159T449 140T484 92L491 78L496 82Q502 86 505 88T515 97T528 107T541 120T555 137T570 156T585 179T599 205T612 235Q629 278 647 351T666 482ZM439 56Q439 58 439 62T435 75T426 92T410 106T383 112Q353 112 332 96T311 63Q311 38 355 38H366Q391 39 415 45T439 56'], + + // LATIN CAPITAL LETTER R + 0x52: [686,17,872,43,881,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 422 686H446H525Q634 686 698 674T806 620Q843 583 843 535Q843 505 833 478T805 432T768 396T728 370T690 352T662 342L651 338L654 336Q658 334 667 327T688 310Q719 278 719 237Q719 222 710 165T701 94Q701 35 748 35Q775 35 793 57T819 101Q822 112 826 114T843 117H849Q881 117 881 99Q881 78 852 39T781 -11Q765 -17 728 -17Q537 -13 537 94Q537 110 552 169T567 243Q567 292 529 309Q517 316 508 316T441 318H375L374 314Q374 312 343 189T311 64Q311 62 355 62H382Q414 62 414 44Q410 6 397 2L393 0L351 1Q325 2 221 2Q147 2 108 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624ZM687 555Q687 617 589 623Q581 624 513 624H451L420 498Q413 468 405 436T392 388L388 371Q388 369 458 369Q464 369 485 369T515 369T541 372T570 377T596 386T624 400Q649 417 664 457T683 522T687 555'], + + // LATIN CAPITAL LETTER S + 0x53: [703,17,693,63,714,'354 45Q429 45 467 91T506 184Q506 225 477 250Q461 262 384 279T294 300Q238 318 210 362T182 452Q182 493 202 540T257 623Q338 702 449 702Q491 702 501 701Q571 690 610 654Q614 649 617 650Q618 650 650 675T683 702Q685 703 692 703Q714 703 714 690Q714 686 687 578T658 466Q653 458 629 458Q606 458 602 463Q600 465 599 466Q599 467 599 469T598 473Q598 475 599 487T600 511Q600 584 557 614T454 645Q386 645 347 606T308 520Q308 506 311 496T323 477T338 464T360 454T384 446T413 439T441 433Q523 416 549 401Q581 384 602 352Q631 309 631 254Q631 214 615 170T567 83T478 12T347 -16Q322 -16 300 -14T261 -8T230 0T205 10T187 20T172 30L162 37L130 11Q124 7 119 3T110 -4T104 -9T100 -13T96 -15T93 -16T91 -17T88 -17H82Q76 -17 73 -16T69 -14T66 -10T63 -5L90 107Q97 133 106 170Q116 211 120 219T136 228H148Q167 228 173 227T179 218Q179 216 176 200T173 168Q173 102 227 74T354 45'], + + // LATIN CAPITAL LETTER T + 0x54: [675,0,637,22,772,'498 62Q511 58 511 43Q511 10 494 1L490 0Q487 0 482 0T424 1T271 2Q201 2 157 2T94 1T72 0H70Q46 0 46 17Q49 54 62 60L66 62H137Q208 62 209 63L218 98Q227 134 244 203T278 339L347 613H300Q262 612 246 611T198 599T146 564Q128 545 114 512T91 454T79 425Q73 419 52 419Q22 419 22 434Q22 440 41 498T80 611L100 666Q105 673 111 675H434Q758 675 762 673Q772 668 772 657Q772 655 756 549T738 434Q735 419 711 419H707Q690 419 686 421Q677 425 677 434Q676 436 678 449T683 485T686 529Q686 553 679 569T662 594T631 607T593 612T544 613H502L433 340Q418 279 400 207T374 100L365 65L364 62H498'], + + // LATIN CAPITAL LETTER U + 0x55: [686,16,800,63,877,'856 686Q877 686 877 668Q877 663 873 649T867 631Q861 624 828 624Q762 622 757 617Q757 613 705 409T651 200Q620 112 540 48T328 -16Q251 -16 196 2T113 51T75 112T63 176Q63 202 70 232T117 422Q129 469 141 520T160 598L167 623Q167 624 123 624H96Q79 624 73 626T64 639Q68 678 81 684Q85 686 104 686Q155 684 268 684Q340 684 377 685T418 686Q441 686 441 668Q437 632 425 626Q421 624 371 624H322L270 415Q224 232 217 198T209 141Q209 45 336 45Q372 45 406 52T475 77T540 128T585 211L590 229Q594 247 601 274T617 336T636 409T654 482T670 547T681 595T686 618Q686 620 685 620H683Q681 621 678 621T671 622Q660 622 630 624Q616 624 610 624T598 626T589 630T587 640Q587 647 590 659Q594 677 598 681T613 686Q618 686 653 685T740 684Q775 684 801 684T840 685T856 686'], + + // LATIN CAPITAL LETTER V + 0x56: [686,16,678,62,886,'401 686Q415 680 415 668Q415 651 404 629Q398 624 356 624Q318 624 318 623Q318 620 337 508T377 284L397 174L472 285Q548 396 623 507T699 620Q698 621 652 624Q634 624 627 627T619 641Q619 648 622 658Q627 677 631 681T650 686Q654 686 686 685T766 684Q794 684 823 684T858 685Q874 685 878 683T886 671Q886 667 882 651Q877 632 873 628T850 624Q800 624 779 617Q774 617 770 613Q767 610 560 304T350 -5Q346 -9 332 -16H306H291Q270 -16 267 -2Q267 -1 260 37T238 161T210 313L156 624H116H94Q62 624 62 642Q66 678 78 684Q82 686 99 686Q144 684 246 684Q330 684 368 685L401 686'], + + // LATIN CAPITAL LETTER W + 0x57: [686,17,1093,61,1207,'111 624Q109 624 102 624T91 623Q61 623 61 640Q61 660 70 678Q78 686 98 686Q140 684 239 684Q277 684 309 684T360 685T383 686H385Q407 686 407 668Q404 634 391 626Q387 624 348 624Q307 624 307 622Q307 618 332 409Q359 198 359 195L570 532L564 576L558 622V624H522H504Q472 624 472 641Q475 678 488 684L493 686L529 685Q551 684 645 684Q716 684 753 685T795 686Q818 686 818 669Q815 632 802 626Q798 624 759 624Q718 624 718 622Q718 615 743 410Q770 199 770 196Q770 195 806 253T903 406Q1035 618 1035 619Q1025 624 968 624Q943 624 943 641Q943 648 946 659Q950 675 952 679T963 686L998 685Q1020 684 1093 684Q1113 684 1139 685T1173 686Q1207 686 1207 669Q1207 664 1204 652Q1199 631 1194 628T1164 624Q1113 622 1101 615Q1098 612 905 305Q715 -1 709 -7Q699 -17 673 -17Q645 -17 639 -8L581 441Q581 444 442 221Q331 44 314 18T288 -14Q279 -17 263 -17H254Q229 -17 227 -5Q225 2 186 311L147 620V624H111'], + + // LATIN CAPITAL LETTER X + 0x58: [686,0,947,38,953,'931 686Q953 686 953 670Q953 650 944 632Q936 624 924 624H914Q823 624 803 611Q800 609 696 503T591 396Q591 394 667 229L743 62H787H814Q846 62 846 44Q843 7 829 2Q825 0 817 0Q813 0 775 1T664 2Q590 2 551 1T508 0H507Q484 0 484 18Q484 19 488 37Q492 56 497 58T534 62L566 63Q567 64 520 169T471 274Q469 274 369 172T268 67L315 62Q320 62 328 62L335 61Q347 58 347 44Q344 10 331 2L326 0L287 1Q263 2 177 2Q95 2 78 1L53 0Q38 6 38 17Q38 40 50 57Q56 62 78 62Q169 62 188 75Q194 77 435 324L444 334L439 347Q437 351 373 492L313 624H268H246Q220 624 212 632Q210 636 210 642Q210 655 215 669T227 684Q230 686 247 686Q295 684 398 684Q438 684 472 684T527 685T551 686Q567 686 572 671Q572 667 568 651Q563 631 558 628T523 624T492 623H488L526 540Q563 457 564 457Q564 456 574 466T604 496T645 537L724 619Q716 622 677 624H673Q645 624 645 640Q645 660 654 678Q659 683 666 686L704 685Q728 684 813 684Q847 684 873 684T913 685T931 686'], + + // LATIN CAPITAL LETTER Y + 0x59: [686,0,675,40,876,'97 624H73Q40 624 40 640Q40 660 49 678Q57 686 77 686Q122 684 228 684Q269 684 304 684T360 685T385 686Q406 686 406 668Q406 662 403 653Q398 631 393 628T361 624H353Q321 624 321 623T376 491T432 360L448 377Q465 394 493 424T553 490L673 620Q662 624 630 624Q606 624 606 640Q608 678 623 684Q627 686 634 686Q638 686 671 685T755 684Q777 684 805 685T841 686Q861 686 868 683T876 669Q876 664 873 652Q868 631 863 628T829 624Q764 622 747 611Q727 590 590 441L437 275L411 170Q385 65 384 64Q384 62 429 62H453Q473 62 478 60T487 48Q488 44 484 29Q479 6 473 3Q468 0 454 0Q450 0 436 0T386 1T294 2Q220 2 181 1T138 0Q121 0 116 15Q120 54 133 60Q137 62 187 62H236L289 275L142 624H97'], + + // LATIN CAPITAL LETTER Z + 0x5A: [686,1,773,68,805,'223 430Q192 430 192 448Q192 450 225 561T261 677Q265 683 270 684Q273 686 534 686Q796 686 797 685Q805 682 805 673Q805 668 804 661T800 648T798 641Q796 637 531 352L266 67L329 66H364Q412 66 446 70T523 96T596 157Q617 186 630 220T649 273T663 297Q667 299 684 299H688Q715 299 715 281Q715 278 673 145T628 8Q626 4 617 0H348Q289 0 221 0T139 -1Q112 -1 99 -1T78 1T69 5T68 12Q68 16 71 31T77 49L84 57Q91 65 104 79T133 110T170 151T213 196L610 624H540Q533 624 514 624T488 624T467 623T443 620T422 616T398 609T373 600Q292 560 255 449Q251 436 246 433T223 430'], + + // LATIN SMALL LETTER A + 0x61: [452,9,633,38,607,'222 -8Q140 -8 89 34T38 158Q38 191 48 227Q72 329 151 390T327 452Q361 452 385 443T421 425T433 416H434L441 421Q448 426 460 430T486 435Q509 435 523 422T538 386Q538 380 522 315T488 179T467 93Q466 87 466 72Q466 42 483 42Q505 42 521 75Q531 94 541 134Q546 155 550 158T571 162H576H587Q607 162 607 148Q606 142 604 132T590 94T566 47T528 9T474 -8Q396 -8 358 40Q295 -8 222 -8ZM404 351Q383 401 324 401Q300 401 270 385T221 330Q206 296 186 220Q166 136 166 106Q166 72 184 58T228 43Q256 43 284 57T328 84T343 103Q343 106 374 228L404 351'], + + // LATIN SMALL LETTER B + 0x62: [694,8,521,45,513,'220 -8Q142 -8 94 35T45 155V167Q45 187 52 218T104 426L153 622H149Q148 622 144 622T134 623T122 624T111 624T101 624T96 625Q84 628 84 642Q84 647 88 661T94 679Q98 684 109 685T185 690Q258 694 272 694Q289 694 293 679Q293 676 263 553L232 429L244 434Q256 440 281 446T331 452Q417 452 465 407T513 285Q513 235 494 184T439 90T346 20T220 -8ZM385 337Q385 400 318 400Q269 400 226 360Q214 349 211 341T191 268Q162 149 162 113Q162 44 226 44Q269 44 299 76T339 135T362 215Q364 222 365 226Q385 303 385 337'], + + // LATIN SMALL LETTER C + 0x63: [451,8,513,40,509,'362 325Q362 344 371 361T390 386L399 394Q390 401 355 401Q276 401 231 338Q207 301 189 230T170 122Q170 43 264 43Q392 43 457 105Q472 120 480 117Q486 114 497 102T509 83Q509 79 502 70T477 47T432 21T360 1T259 -8Q194 -8 148 9T80 54T49 109T40 167Q40 280 129 365T352 451Q390 451 396 450Q448 442 473 416T499 358T477 302T421 274H417Q393 274 378 288T362 325'], + + // LATIN SMALL LETTER D + 0x64: [694,9,610,38,612,'222 -8Q140 -8 89 34T38 158Q38 220 68 285T151 391Q230 452 329 452Q382 452 416 428L422 424Q423 424 447 523L472 622H468Q467 622 463 622T453 623T441 624T430 624T420 624T415 625Q403 628 403 642Q403 647 407 661T413 679Q417 684 428 685T504 690Q577 694 591 694Q608 694 612 679L467 91Q466 87 466 72Q466 43 483 43Q518 43 541 134Q546 155 550 158T571 162H576H587Q607 162 607 148Q606 142 604 132T590 94T566 47T528 9T474 -8Q396 -8 358 40Q295 -8 222 -8ZM404 351Q383 401 324 401Q300 401 270 385T221 330Q206 296 186 220Q166 136 166 106Q166 72 184 58T228 43Q256 43 284 57T328 84T343 103Q343 106 374 228L404 351'], + + // LATIN SMALL LETTER E + 0x65: [452,8,554,42,509,'260 -8Q196 -8 151 9T83 54T52 111T42 169Q42 188 44 210Q50 240 58 266Q127 434 335 451L338 452Q342 452 345 452Q347 452 353 452T363 451Q426 451 464 424T502 352Q502 289 442 250Q381 211 222 211H184Q184 210 181 196T175 162T171 126Q171 43 264 43Q391 43 457 105Q472 120 480 117Q486 114 497 102T509 83Q509 79 502 70T477 47T432 21T360 1T260 -8ZM237 262Q427 266 427 349Q427 368 409 384T354 401Q316 401 287 388T242 354T216 314T202 278L197 263Q197 262 237 262'], + + // LATIN SMALL LETTER F + 0x66: [701,201,568,63,624,'584 444Q597 439 597 426Q597 409 586 387Q580 382 505 382H434V380Q432 378 421 314T395 162T368 30Q324 -164 203 -199Q194 -201 175 -201Q123 -201 94 -177T64 -117T88 -58T145 -33Q169 -33 184 -47T200 -84Q200 -122 166 -150L174 -151H185Q202 -148 217 -112Q222 -94 240 9Q246 40 262 132T293 303T307 382H247H210Q190 382 182 385T173 400Q177 436 189 442Q193 444 256 444H318L319 446Q337 565 355 602Q373 640 404 664T458 694T503 701Q569 701 596 676T624 617Q624 581 599 557T544 533Q520 533 504 547T488 585Q488 596 491 606T499 624T508 637T516 646L520 650Q515 650 509 651Q459 651 459 561V554L458 518L452 484Q446 448 445 447V444H584'], + + // LATIN SMALL LETTER G + 0x67: [452,202,545,0,540,'227 0Q142 0 93 43T43 166Q43 207 58 252T104 341T188 414T310 451L313 452Q316 452 319 452Q321 452 326 452T335 451Q367 451 390 443T425 425L436 416L443 421Q450 426 462 430T488 435Q511 435 525 422T540 386Q540 378 483 151T424 -82Q401 -139 335 -170T167 -202Q72 -202 36 -183T0 -125Q0 -90 24 -67T81 -43Q103 -43 119 -56T136 -99Q133 -124 114 -149L123 -150H183Q222 -150 254 -127T299 -74Q300 -71 306 -47T318 -1T324 23Q323 23 310 18T274 6T227 0ZM407 353Q406 354 404 358T400 365T395 371T388 379T381 385T371 391T360 396T346 400T329 401Q300 401 277 389T240 355T219 317T205 280Q171 148 171 109Q171 77 190 64T235 51T296 67Q322 82 337 98L345 106L407 353'], + + // LATIN SMALL LETTER H + 0x68: [694,8,668,45,642,'477 56Q477 48 479 46T490 43Q522 45 544 75T577 140Q582 156 585 159T605 162H611H622Q642 162 642 148Q642 138 632 114T602 62T550 13T478 -8Q429 -8 394 17T358 83Q358 95 395 199T433 350Q433 400 394 400H388H383Q335 400 291 363Q256 332 236 298Q233 293 202 170T169 40Q160 18 141 5T99 -8Q70 -8 58 9T45 39Q45 51 116 336L188 622H184Q183 622 179 622T169 623T157 624T146 624T136 624T131 625Q119 628 119 642Q119 647 123 661T129 679Q133 684 144 685T220 690Q293 694 307 694Q324 694 328 679Q328 672 294 540Q286 507 278 473T264 420L260 403Q260 400 269 408Q327 451 393 451H401H410Q425 451 439 450T476 442T515 424T544 391T556 337Q556 286 517 179T477 56'], + + // LATIN SMALL LETTER I + 0x69: [694,8,405,24,367,'205 615Q205 646 229 670T283 694Q310 694 324 679T339 641Q339 610 315 586T258 562Q235 562 220 577T205 615ZM24 296Q24 305 34 328T63 380T115 430T187 452Q205 452 223 448T262 435T295 406T308 360Q308 345 287 290T240 170T207 87Q202 67 202 57Q202 42 215 42Q235 42 257 64Q288 92 302 140Q307 156 310 159T330 162H336H347Q367 162 367 148Q367 140 357 117T329 65T276 14T201 -8Q158 -8 121 15T83 84Q83 104 133 229T184 358Q189 376 189 388Q189 402 177 402Q156 402 134 380Q103 352 89 304Q84 288 81 285T61 282H55H44Q24 282 24 296'], + + // LATIN SMALL LETTER J + 0x6A: [694,202,471,-12,456,'321 616Q321 648 346 671T400 694Q425 694 440 680T456 640Q456 609 431 586T376 562Q353 562 337 577T321 616ZM297 360T297 373T294 392T288 400T278 401H276Q241 399 210 372T158 303Q151 287 148 285T129 282H123H116Q102 282 97 284T92 298Q96 331 153 391T279 451Q357 451 388 422T420 354V339L371 142Q363 111 353 71T339 13T329 -30T318 -64T308 -88T296 -109T283 -125T264 -142Q190 -202 88 -202Q44 -202 16 -181T-12 -125Q-12 -93 11 -68T68 -43Q92 -43 108 -58T124 -93Q124 -121 106 -144Q101 -150 103 -150Q120 -150 147 -128T191 -64Q194 -57 242 136T294 345Q297 360 297 373'], + + // LATIN SMALL LETTER K + 0x6B: [694,8,604,45,578,'99 -8Q71 -8 58 9T45 39Q45 51 116 336L188 622H184Q183 622 179 622T169 623T157 624T146 624T136 624T131 625Q119 628 119 642Q119 647 123 661T129 679Q133 684 144 685T220 690Q293 694 307 694Q324 694 328 679Q328 674 280 482Q231 290 231 287Q231 285 234 286Q259 302 294 334T356 390T420 433T493 452Q528 452 546 427T564 364Q564 308 538 282T480 256Q456 256 441 269T425 308Q425 339 444 359T483 384L502 389Q502 395 496 398Q493 400 483 400Q465 400 449 395T409 374T373 347T323 305T268 257Q274 256 282 256Q312 251 329 247T371 232T411 202Q431 181 431 146Q431 132 427 110T422 73Q422 44 440 44H442Q462 44 478 64T502 102T514 141Q518 157 522 159T547 162H558Q578 162 578 148Q578 118 537 56T440 -7H432Q374 -7 337 21T299 94Q299 103 301 116T304 139Q304 164 281 181T235 202L212 206H211Q176 47 160 24Q137 -8 99 -8'], + + // LATIN SMALL LETTER L + 0x6C: [694,9,348,26,296,'157 -8Q138 -8 118 -4T77 11T41 42T27 91V106L156 622H152Q151 622 147 622T137 623T125 624T114 624T104 624T99 625Q87 628 87 642Q87 647 91 661T97 679Q101 684 112 685T188 690Q261 694 275 694Q292 694 296 679L151 91Q150 85 150 71Q150 42 167 42Q186 42 205 75Q216 96 225 134Q230 155 234 158T255 162H260H271Q291 162 291 148Q290 145 289 140T283 118T271 87T254 54T229 23T197 1T157 -8'], + + // LATIN SMALL LETTER M + 0x6D: [453,8,1032,24,1006,'24 296Q25 302 27 312T41 350T65 397T104 435T159 452Q203 452 234 435Q268 419 285 384L295 392Q305 401 317 410T349 429T389 445Q411 451 446 451Q560 451 592 383Q593 380 594 379L595 375L604 384Q675 452 762 452Q893 452 916 367Q918 356 918 334Q918 285 881 183T841 66Q838 43 849 43Q876 43 901 69T940 138Q945 156 949 159T969 162H975H986Q1006 162 1006 148Q1006 138 996 115T966 63T914 13T841 -8Q794 -8 758 16T721 82Q721 96 758 199T796 351Q796 401 753 401Q702 401 662 369T599 298Q597 294 567 172T533 40Q525 22 506 7T462 -8Q435 -8 422 8T409 39Q409 48 425 114T458 248T476 320Q478 330 478 348T474 377T462 393T449 399T433 400H428Q380 400 336 363Q301 332 281 298Q278 293 247 170T214 40Q206 22 187 7T143 -8T104 7T90 39Q90 47 108 124T146 274L164 347Q166 355 166 372Q166 401 149 401Q129 401 115 379T89 306Q84 288 80 285T55 282H44Q24 282 24 296'], + + // LATIN SMALL LETTER N + 0x6E: [453,8,713,24,687,'24 296Q25 302 27 312T41 350T65 397T104 435T159 452Q203 452 234 435Q268 419 285 384L293 391Q363 452 454 452Q575 446 597 367Q599 356 599 334Q599 285 562 183T522 66Q519 43 530 43Q557 43 582 69T621 138Q626 156 630 159T650 162H656H667Q687 162 687 148Q687 138 677 115T647 63T595 13T522 -8Q475 -8 439 16T402 82Q402 96 439 199T477 351Q477 401 434 401Q421 401 409 398Q341 388 285 305L278 295L247 170Q216 46 214 40Q206 22 187 7T143 -8T104 7T90 39Q90 47 108 124T146 274L164 347Q166 355 166 372Q166 401 149 401Q129 401 115 379T89 306Q84 288 80 285T55 282H44Q24 282 24 296'], + + // LATIN SMALL LETTER O + 0x6F: [452,8,585,39,576,'254 -8Q191 -8 146 9T80 54T49 111T39 169Q39 206 53 247T96 329T176 402T292 446Q317 451 336 451L344 452Q353 452 359 452Q457 452 516 408T576 279Q576 169 488 81T254 -8ZM349 400Q321 400 287 385T231 338Q206 301 188 228T170 126Q170 99 178 83Q198 44 260 44Q367 44 409 157Q419 185 432 238T445 317Q445 336 443 348Q435 372 416 384T384 398T349 400'], + + // LATIN SMALL LETTER P + 0x70: [453,194,601,-23,594,'24 296Q25 302 27 312T41 350T65 397T103 435T157 452Q235 452 273 404Q336 452 409 452Q434 452 458 448T507 432T550 402T581 354T593 285Q593 221 564 159T480 53Q401 -8 302 -8Q290 -8 279 -7T259 -3T242 3T228 9T218 14T212 18L209 20Q208 19 190 -55T171 -131T198 -132H213Q240 -132 240 -150Q237 -187 223 -192Q219 -194 212 -194Q208 -194 176 -193T95 -192Q48 -192 24 -193T-3 -194Q-11 -194 -16 -190T-22 -182T-23 -176Q-20 -142 -7 -134Q-3 -132 20 -132H44L164 354Q165 357 165 372Q165 401 148 401Q113 401 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296ZM465 339Q465 373 447 387T403 401Q375 401 347 387T303 360T288 341Q288 338 257 216L227 93Q248 43 306 43Q332 43 361 59T410 115Q425 147 445 224Q465 309 465 339'], + + // LATIN SMALL LETTER Q + 0x71: [452,194,542,38,550,'38 159Q38 209 58 260T113 355T205 425T327 452Q338 452 348 451T366 449T382 444T394 440T405 434T414 429T422 423T429 418Q440 429 481 440T533 452Q540 452 545 447T550 437Q550 432 481 152Q410 -130 410 -131T437 -132H452Q479 -132 479 -150Q476 -187 462 -192Q458 -194 451 -194Q447 -194 414 -193T330 -192Q277 -192 249 -193T217 -194Q202 -194 197 -179Q197 -175 201 -159Q206 -139 211 -136T243 -132H283L319 15L307 10Q295 4 270 -2T220 -8Q134 -8 86 37T38 159ZM402 353Q402 358 395 368T369 390T324 401Q301 401 282 394T249 369T226 338T208 297T196 258T186 218Q166 141 166 107Q166 44 229 44Q265 44 294 61T337 95Q341 100 371 222T402 353'], + + // LATIN SMALL LETTER R + 0x72: [452,8,529,24,500,'24 296Q24 298 28 313T42 352T67 398T104 436T154 452Q198 452 230 437T273 404L282 411Q334 452 393 452Q441 452 470 423T500 350Q500 301 473 279T418 256Q395 256 379 270T363 308Q363 366 424 386Q424 388 420 391T405 398T385 401Q363 401 343 390Q321 380 289 341L252 192Q214 42 212 39Q190 -8 142 -8Q117 -8 103 7T89 39Q89 52 127 202T165 369Q165 402 148 402Q139 402 128 393T110 369Q100 348 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296'], + + // LATIN SMALL LETTER S + 0x73: [451,8,531,57,476,'140 290Q140 311 148 336T176 388T235 433T326 451H336Q355 451 373 449T418 439T460 412T476 363Q476 333 456 311T406 289Q384 289 371 302T357 335Q357 351 364 364T379 384L386 391Q386 392 381 394T362 398T330 400Q299 400 278 393T247 373T235 352T232 335Q232 322 242 312Q258 299 315 290T403 260Q457 224 457 167Q457 152 453 134T435 90T397 43T330 7T229 -8Q133 -8 95 22T57 91Q57 127 81 152T139 177Q161 177 177 164T194 121Q189 80 153 56Q179 43 236 43Q275 43 303 52T343 75T361 101T366 124Q366 148 338 161T272 180T232 186Q187 198 164 227T140 290'], + + // LATIN SMALL LETTER T + 0x74: [643,8,415,21,387,'82 382H55Q21 382 21 399Q21 422 33 439Q39 444 93 444H144L162 517Q163 522 167 541T174 567T181 589T192 611T206 627T226 639T253 643Q276 643 291 630T306 594Q306 586 288 514Q284 499 280 481T273 454L271 445Q271 444 317 444Q322 444 331 444T345 445Q377 445 377 428Q377 408 368 390Q360 382 341 382H306H255Q182 86 182 75Q182 43 201 43H204Q242 46 279 81Q298 101 309 119T323 145T330 157T350 162H356H363Q377 162 382 160T387 146Q385 136 372 114T337 64T275 14T192 -7Q131 -7 95 19T59 90V105L128 381Q128 382 82 382'], + + // LATIN SMALL LETTER U + 0x75: [452,9,681,24,655,'189 389Q189 397 187 399T176 401Q150 399 126 372T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 307 35 331T65 383T117 431T187 452Q237 452 272 427T308 362Q308 347 273 254T238 111Q238 43 291 43Q319 43 344 58T380 86T391 103T426 247T464 396Q472 414 491 429T535 444T574 429T588 397Q588 390 570 315T534 168L516 97Q514 89 514 72Q514 42 531 42Q544 42 556 56Q574 76 589 134Q594 155 598 158T619 162H624H635Q655 162 655 148Q654 142 652 132T638 94T614 47T575 9T520 -8Q509 -8 498 -7T478 -3T461 2T446 8T434 16T424 23T416 29T410 35T406 39L405 41L397 34Q347 -7 288 -7H281Q148 -7 122 78Q116 95 116 125V136Q116 174 152 273T189 389'], + + // LATIN SMALL LETTER V + 0x76: [453,8,567,24,540,'380 367Q380 397 406 425T465 453Q493 453 516 430T540 357Q540 314 524 250T467 115T373 13Q338 -8 292 -8Q218 -8 167 23T116 129Q116 178 152 275T189 388Q189 396 187 398T176 401Q148 398 125 372T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 330T64 382T116 431T189 452Q231 452 269 429T308 362Q308 346 273 255T238 114Q238 43 306 43Q336 43 363 65T407 118T437 182T456 239T462 268Q462 290 417 315Q380 335 380 367'], + + // LATIN SMALL LETTER W + 0x77: [453,8,831,24,796,'636 367Q636 400 664 426T719 453Q748 453 772 431T796 357Q796 321 782 256T727 112T633 6Q604 -8 567 -8Q466 -8 415 43Q414 42 410 38T403 31T396 25T388 18T378 11T367 5T355 0T340 -4T324 -7T306 -8Q249 -8 209 5T151 40T125 84T117 129Q117 176 153 274T190 388Q190 408 158 396Q112 376 90 306Q85 288 81 285T61 282H55H44Q24 282 24 296Q24 305 34 328T63 380T114 430T187 452Q240 452 274 427T309 362Q309 346 275 255T240 117Q240 43 317 43Q325 43 333 45T347 50T359 57T369 66T377 75T383 83T388 90L390 95Q390 99 389 110T387 129Q387 139 391 167Q393 177 419 282T448 396Q456 414 475 429T519 444Q546 444 559 428T572 397Q572 384 542 265T511 114Q511 43 579 43Q608 43 633 66T673 122T699 188T714 244L718 267Q718 291 673 315Q636 335 636 367'], + + // LATIN SMALL LETTER X + 0x78: [452,9,659,43,599,'74 282H63Q43 282 43 296Q43 298 45 307T56 332T76 365T110 401T159 433Q200 451 233 451H236Q273 451 282 450Q358 437 382 400L392 410Q434 452 483 452Q538 452 568 421T599 346Q599 303 573 280T517 256Q494 256 478 270T462 308Q462 343 488 367Q501 377 520 385Q520 386 516 389T502 396T480 400T462 398Q429 383 415 341Q354 116 354 80T405 44Q449 44 485 74T535 142Q539 156 542 159T562 162H568H579Q599 162 599 148Q599 135 586 111T550 60T485 12T397 -8Q313 -8 266 35L258 44Q215 -7 161 -7H156Q99 -7 71 25T43 95Q43 143 70 165T125 188Q148 188 164 174T180 136Q180 101 154 77Q141 67 122 59Q124 54 136 49T161 43Q183 43 200 61T226 103Q287 328 287 364T236 400Q200 400 164 377T107 302Q103 288 100 285T80 282H74'], + + // LATIN SMALL LETTER Y + 0x79: [452,202,590,24,587,'206 -150Q240 -150 268 -134T314 -95T344 -48T362 -7T367 14Q339 -7 280 -7Q230 -7 195 5T144 39T122 79T115 122Q115 175 152 274T189 388Q189 396 187 398T176 401Q148 398 125 372T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 329T64 381T116 431T188 452Q239 452 273 427T308 361Q308 347 273 253T237 109Q237 43 291 43T388 98Q388 99 425 246T463 396Q471 414 490 429T534 444T573 430T587 399Q587 386 537 186T483 -25Q461 -84 410 -126T296 -188Q248 -202 204 -202Q127 -202 96 -175T64 -114Q64 -82 86 -57T144 -31Q169 -31 184 -45T199 -83Q199 -89 198 -94T196 -104T193 -113T189 -120T184 -128T179 -134T173 -141T168 -147Q189 -150 206 -150'], + + // LATIN SMALL LETTER Z + 0x7A: [452,8,555,34,539,'66 -8H60Q34 -8 34 5Q34 9 42 22T70 59T115 110Q162 156 255 229T381 332L389 339H381Q348 332 298 329T212 325T172 321Q168 318 151 318H146Q116 318 116 332Q116 334 118 342Q128 374 154 402Q205 452 265 452Q304 452 352 422T426 392Q441 392 462 421T485 451T508 452H518Q539 452 539 438Q539 431 516 401T458 334Q412 289 312 210Q229 146 191 111L183 103H195Q203 103 213 104T240 107T268 110Q301 114 337 116T391 119T428 123T455 134T469 157Q473 166 495 166Q521 166 525 161Q532 156 528 141Q510 81 456 37T337 -7Q297 -7 251 22T177 52Q154 52 134 38T100 8L88 -7Q86 -8 66 -8'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,0,657,43,777,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H763Q769 677 772 673T776 666L777 664Q777 659 766 549T751 433Q745 424 723 424Q704 424 699 427T693 441Q693 444 695 467T697 513Q697 543 689 563T670 594T636 610T592 617T534 618H516H456L455 614Q455 613 387 339T317 64Q317 62 375 62H411Q430 62 438 59T447 44Q444 7 430 2Q426 0 416 0Q409 0 359 1T231 2Q152 2 111 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [711,0,958,59,904,'65 0Q59 6 59 9T61 16Q64 20 334 357T608 698Q616 706 629 710Q630 710 634 710T644 710T656 711Q686 711 694 703Q698 699 700 693Q706 674 805 345T904 14Q904 7 894 1L479 0H65ZM630 342L567 551L232 134L462 133H693Q693 137 630 342'], + + // GREEK CAPITAL LETTER THETA + 0x398: [702,17,867,54,844,'358 -17Q218 -17 136 49T54 243Q54 298 70 356T123 474T211 582T338 663T504 702H527Q578 702 590 701Q709 688 776 622T844 441Q844 379 825 315T765 192T668 86T532 11T358 -17ZM700 474Q700 525 685 561T642 616T587 643T528 652Q390 652 301 534Q252 472 225 373T198 210Q198 160 214 125T256 71T311 44T372 36Q484 36 571 119Q639 189 669 299T700 474ZM366 428Q366 425 364 419T362 411H466L570 412L573 422Q576 437 581 441T604 445Q620 445 623 444Q636 440 636 429Q636 423 616 340T593 253Q586 243 572 243H566Q545 243 539 249Q536 251 535 253T534 258T534 263T535 270T537 277H329L326 266Q323 251 318 247T295 243Q279 243 276 244Q263 248 263 259Q263 265 283 346Q288 366 295 394Q304 431 308 438T326 445H334H338Q366 445 366 428'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [711,0,806,44,776,'439 0Q425 6 425 18Q425 35 436 57Q442 62 485 62Q525 62 525 64L478 483Q478 484 465 463T422 394T350 277Q222 69 222 68Q223 67 224 67Q229 64 271 62Q290 62 297 59T305 45Q305 38 302 28Q297 9 293 5T274 0Q270 0 238 1T159 2Q133 2 105 2T72 1Q56 1 52 3T44 15Q44 19 48 35Q53 55 58 58T89 62Q142 64 151 73Q154 76 345 387T538 699Q550 711 570 711H580H592Q613 711 618 695Q619 692 654 379T690 63Q690 62 726 62H746Q776 62 776 44Q773 7 759 2Q755 0 747 0Q743 0 707 1T600 2Q502 2 476 1L439 0'], + + // GREEK CAPITAL LETTER XI + 0x39E: [675,0,841,62,867,'206 466Q175 466 175 484Q175 487 201 574T230 666Q235 673 241 675H547Q853 675 857 673Q867 668 867 657Q867 655 850 569T832 478Q827 466 808 466H802H795Q773 466 771 481Q771 486 775 508T779 541V549H774Q755 552 505 552Q281 551 267 548Q262 548 255 533T242 496T233 472Q228 466 206 466ZM259 255H252Q231 255 228 270Q228 275 248 355T270 439Q277 448 288 448H298Q321 448 326 440Q331 434 326 414Q326 413 486 413H647L650 424Q654 441 658 444T678 448H683H693Q702 448 705 446T714 432L694 348Q674 267 669 261Q664 255 652 255H643Q622 255 617 261Q613 265 613 272T613 283T616 289Q616 290 456 290H295L294 285Q293 280 292 275T288 265T281 257Q278 255 259 255ZM150 131Q150 124 281 123Q346 123 390 123Q640 123 664 126Q668 127 675 127Q686 131 704 198Q708 213 713 216T733 220H738Q755 220 759 218Q768 213 768 203Q768 198 741 105T710 8Q708 4 699 0H388Q77 0 73 2Q62 7 62 18Q62 27 81 115Q99 206 102 212Q106 220 120 220H129Q140 220 145 220T155 215T160 202Q160 196 159 192Q150 145 150 131'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [680,0,982,43,1026,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H1011Q1022 675 1026 665Q1022 626 1009 620Q1005 618 956 618H907L906 614Q906 613 838 339T768 64Q768 62 812 62H839Q871 62 871 44Q867 6 854 2L850 0L808 1Q782 2 675 2Q600 2 560 1T516 0Q499 0 494 15Q498 54 511 60Q515 62 564 62H613L614 66Q614 67 682 341T752 616Q752 618 604 618H456L455 614Q455 613 387 339T317 64Q317 62 361 62H388Q420 62 420 44Q416 6 403 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [686,0,885,69,902,'847 430Q828 430 823 434T817 450Q817 454 817 466T818 487Q818 526 809 551T784 591T737 613T675 622T590 624H528H430L513 487Q594 351 596 345Q596 335 590 330Q583 323 418 204L250 81L363 80Q533 80 591 89T694 142Q739 185 765 252Q772 268 776 271T799 274Q816 274 820 272Q832 266 830 254Q829 250 784 130T736 7Q732 3 725 0H405Q84 0 80 2Q69 7 69 18Q69 26 75 32Q76 32 98 48T168 100T255 164L432 293Q429 300 329 465T225 637Q223 675 245 686H888Q900 680 902 671Q902 667 890 556T876 441Q871 430 847 430'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [703,0,671,32,802,'32 544Q32 586 91 644T229 703Q277 703 311 683T363 628T389 560T397 491V478L404 491Q455 589 526 646T677 703Q730 703 766 671T802 584Q802 551 793 541T766 531H757L736 532L732 535L729 539V549Q731 569 715 575T658 581H650Q545 581 477 443Q453 392 443 351Q441 345 424 273T389 133T371 64Q371 62 428 62H461Q483 62 492 59T501 44Q498 10 485 2L480 0L431 1Q401 2 278 2T127 1L85 0Q71 5 71 17Q71 24 74 33Q77 46 78 49T84 57T95 61T118 62H154H216Q232 126 249 193T273 287T287 345T296 388T299 416T300 452Q294 581 198 581Q154 581 132 575T106 562T99 546T86 533Q82 531 60 531L39 532Q32 537 32 544'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [686,0,767,29,737,'323 624H293Q267 624 261 626T251 639Q255 678 268 684Q272 686 293 686Q348 684 475 684Q557 684 600 685T647 686H648Q671 686 671 668Q667 632 655 626Q650 624 588 624H525L500 520Q500 519 520 518T579 507T656 480Q737 440 737 372Q737 294 648 237Q562 180 426 169L412 168L399 118Q386 66 386 65L385 62H443H479Q498 62 506 59T515 44Q511 8 499 2L494 0L447 1Q417 2 298 2Q212 2 167 1T118 0Q100 0 95 15Q99 54 112 60Q116 62 179 62H241Q242 64 254 114T266 167Q266 168 262 168Q256 168 237 170T180 181T110 205T54 249T29 316Q29 391 112 446T327 516Q345 518 349 518Q351 518 353 518L355 519Q356 520 368 570T381 623Q381 624 323 624ZM342 466Q341 467 339 467Q320 467 283 455T225 420Q181 361 181 296Q181 273 193 257T222 233T254 222T277 219L280 220Q281 220 311 342T342 466ZM583 389Q583 409 576 423T557 444T533 456T509 463T492 467H486L455 343Q444 300 437 271T428 231T426 219Q430 219 445 222T483 232T521 250Q551 269 567 310T583 389'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [686,0,714,22,790,'205 471Q205 445 196 403T186 333Q186 303 194 281T218 248T240 233T262 224L361 623Q361 624 303 624Q296 624 284 624T266 623Q232 623 232 641Q232 648 235 657Q240 678 244 682T268 686H273Q329 684 457 684Q502 684 540 684T599 685T626 686H628Q651 686 651 668Q649 633 631 624H505L407 227Q410 228 416 229T439 239T472 259T507 294T539 345Q549 365 563 416T597 498T649 538Q657 540 717 540Q725 540 737 540T755 541Q790 541 790 524Q790 512 784 497Q780 491 767 490T742 477Q736 471 731 463T722 449T715 433T710 419T705 403T701 389Q686 340 658 302T599 240T530 201T463 179T404 169L391 168L379 116Q365 67 365 63Q365 62 422 62H455Q477 62 486 59T495 44Q492 10 479 2L474 0L427 1Q397 2 278 2T131 1L90 0Q76 5 76 17Q76 24 79 33Q82 46 83 49T89 57T100 61T123 62H159H221Q247 162 247 168H244Q241 169 239 169Q202 176 178 182T123 207T74 252Q46 291 46 351Q46 375 52 404T59 454Q59 489 40 489Q32 489 27 494T22 507Q22 535 37 538Q40 540 99 540H128Q168 540 186 528T205 471'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [703,0,879,93,887,'162 119Q181 115 235 115L273 116Q273 133 231 222T180 345Q173 368 173 391V406V414Q173 477 214 540Q255 600 315 635Q353 661 423 682T585 703Q656 703 711 690T799 656T851 608T879 555T886 503Q886 449 860 401Q840 359 810 322T725 230T643 146Q619 117 619 116T650 115Q707 115 722 120Q730 123 750 165T775 210Q779 212 796 212Q828 212 828 196Q828 191 807 144T764 52L743 7Q740 4 740 4T733 2T717 0T686 0H632H573Q535 0 526 3T517 17Q517 44 544 103T617 243T671 341Q729 454 729 535Q729 599 686 625T583 652Q549 652 517 645T450 616T388 561T344 470T327 340Q327 304 331 237T336 135Q336 93 330 50T313 2Q308 0 208 0H142Q107 0 100 4T93 25Q93 28 93 41T95 77T96 118L100 199Q105 208 109 210T131 212Q147 212 151 210T161 199V160Q161 131 162 125V119'], + + // GREEK SMALL LETTER ALPHA + 0x3B1: [452,8,761,39,712,'39 166Q39 213 59 261T117 353T219 424T362 452Q420 452 466 433T536 384T573 325T586 269V265Q593 272 609 308T636 381Q640 397 644 399T669 402H680Q700 402 700 388Q700 379 691 351T659 276T604 188L593 173L595 153Q600 79 612 43H618Q634 45 642 51T653 64T658 71Q661 73 684 73Q712 73 712 59Q712 39 685 16T603 -7Q588 -7 575 -5T551 2T532 12T516 24T503 37T494 49T487 60T481 69L469 61Q362 -8 251 -8Q159 -8 99 36T39 166ZM260 43Q310 43 361 63T438 101T465 124Q458 240 453 277Q435 401 354 401Q291 401 245 355Q230 337 217 313Q201 279 186 216T170 126Q170 72 208 54Q230 43 260 43'], + + // GREEK SMALL LETTER BETA + 0x3B2: [701,194,660,28,638,'59 -194H49Q31 -194 28 -182Q28 -178 107 139T192 473Q212 533 248 580T324 652T395 689T450 701H461Q514 701 551 688T605 652T630 607T637 561Q637 546 634 526T611 465T556 393Q572 382 590 347T608 262Q608 146 522 69T299 -8Q279 -8 261 -6T228 2T204 13T183 26T169 37T157 48L150 56L120 -64Q113 -90 104 -128Q93 -175 89 -184T73 -194H59ZM531 592Q531 651 463 651Q399 651 341 600T253 466Q250 458 217 327T182 185Q180 176 180 159Q180 108 212 76T301 44Q330 44 354 51T393 65T423 91T444 118T459 151T468 179T475 206Q490 264 491 296Q491 313 489 326T484 345L482 350Q481 350 477 348T464 344T444 340T413 335T372 333T334 334T301 340T274 355T265 380Q265 444 397 444Q425 444 445 441T476 436L485 433Q489 433 499 458Q509 482 520 527T531 592ZM424 390Q424 393 389 393Q383 393 374 393T362 392Q348 392 333 388Q345 384 379 384Q424 384 424 390'], + + // GREEK SMALL LETTER GAMMA + 0x3B3: [451,211,590,5,617,'5 269Q5 285 19 312T57 368T124 421T215 451H241Q274 451 303 439T353 406T389 361T416 311T432 266T442 232L444 220L446 216L450 226Q473 278 513 357T561 441Q566 444 584 444H594Q617 444 617 430Q617 426 596 389T536 273T462 110L452 84L451 70Q447 12 427 -76T388 -192Q375 -211 355 -211Q339 -211 332 -198T325 -171Q325 -114 386 64L393 84V98Q393 181 371 241Q360 280 319 303T210 327Q158 327 126 317T84 296T68 272T59 258Q55 256 36 256Q23 256 18 256T9 260T5 269'], + + // GREEK SMALL LETTER DELTA + 0x3B4: [726,8,522,39,513,'216 610Q216 640 229 664T262 700T299 719T327 725Q330 725 406 709T487 690Q513 681 513 651Q513 627 494 607T450 587Q417 587 378 631Q346 663 314 663Q286 663 272 639Q271 637 271 634Q271 609 344 536L397 484Q438 448 458 410T478 313Q478 234 443 147T338 18Q298 -8 249 -8Q214 -8 180 0T113 26T60 81T39 168Q39 200 50 237T87 316T160 391T272 442L260 465Q216 553 216 610ZM348 235Q348 274 336 313T310 372L298 392Q295 391 290 390T269 380T241 359T212 323T185 267Q157 168 157 130Q157 83 186 63T255 43Q280 43 300 67Q317 89 332 138T348 235'], + + // GREEK SMALL LETTER EPSILON + 0x3B5: [461,18,529,36,481,'224 -17Q126 -17 81 22T36 112Q36 178 84 226L93 236L88 246Q79 264 79 289Q79 341 124 388Q201 461 333 461Q402 461 455 425Q480 409 481 390Q481 365 464 350T428 334Q415 334 387 352T313 370Q141 370 141 293Q141 275 146 270Q147 270 148 270T155 272Q202 291 263 291H270Q349 291 349 244Q349 195 281 183Q274 182 239 182Q201 182 184 185T137 200Q123 188 112 168T100 129T112 98T148 81T189 75T237 74H243H251Q288 74 310 75T359 86T398 112Q405 124 417 124Q426 124 432 117T439 100Q439 88 427 70T390 32T322 -3T224 -17ZM286 238Q286 240 253 240Q245 240 234 239T216 237T209 235Q209 232 250 232Q286 232 286 238'], + + // GREEK SMALL LETTER ZETA + 0x3B6: [711,202,508,48,521,'361 711Q373 711 381 703T389 683Q389 681 388 676T383 656T376 618V612H379Q385 618 429 618Q521 618 521 572Q521 551 506 534Q483 510 415 507Q385 507 371 511T336 536L326 528Q254 472 204 381T154 209Q154 190 157 177Q159 165 162 154T170 135T182 119T195 106T212 95T229 86T249 78T269 72T290 66T311 60Q385 37 388 36Q437 14 454 -36Q456 -46 456 -64Q456 -83 455 -90Q445 -132 413 -167T333 -202Q300 -202 257 -191T206 -169Q203 -164 203 -158Q203 -148 210 -140T231 -130Q239 -130 263 -139T326 -151H329Q337 -151 342 -150T352 -143T357 -123Q356 -117 355 -113T350 -104T344 -96T335 -90T324 -85T310 -80T294 -74T275 -68T254 -62Q253 -62 231 -56T205 -48T179 -39T150 -26T125 -10T100 11T80 37T62 70T53 109T48 157Q48 281 123 396T317 586V612Q319 638 320 649T325 678T338 703T361 711ZM454 564Q445 567 424 567Q407 567 398 565T387 563Q387 558 411 558Q434 558 450 562L454 564'], + + // GREEK SMALL LETTER ETA + 0x3B7: [453,211,600,24,600,'24 296Q25 302 27 312T41 350T65 397T103 435T157 452Q202 452 233 435Q267 419 284 384L294 392Q304 401 316 410T348 429T388 445Q410 451 445 451H453Q468 451 482 450T519 443T558 425T587 391T600 337V327Q600 311 538 64Q484 -158 478 -168Q457 -211 409 -211Q386 -211 372 -197T357 -161Q357 -158 415 80Q476 330 477 348Q477 366 473 377T461 393T448 399T432 400H427Q379 400 335 363Q300 332 280 298Q277 293 246 170T213 40Q205 22 186 7T142 -8T103 7T89 39Q89 49 106 117T142 260T164 351Q166 363 166 372Q166 402 148 402Q126 402 110 369Q100 350 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296'], + + // GREEK SMALL LETTER THETA + 0x3B8: [702,8,562,40,554,'213 -8Q130 -8 85 50T40 200V207Q40 303 83 428Q122 535 189 608Q279 702 381 702Q410 702 437 693T492 661T537 593T554 486Q554 428 539 362T495 230T425 111T330 25T213 -8ZM433 562Q433 600 419 625T377 651Q363 651 348 644T311 619T268 557T229 453Q225 441 217 411T208 378H401Q433 500 433 562ZM161 140Q161 43 217 43Q249 43 280 74Q310 103 332 150T378 287Q385 313 385 315Q385 316 289 316H192Q191 308 183 275T169 205T161 140'], + + // GREEK SMALL LETTER IOTA + 0x3B9: [452,8,412,38,386,'161 -8Q111 -8 75 16T38 85Q38 95 48 121T80 214T123 368L124 374Q126 381 127 386T132 399T139 414T149 428T162 440T180 448T203 452Q226 452 241 439T257 404Q257 386 230 290T171 111Q157 73 157 57Q157 43 166 43Q209 43 258 69T322 144Q326 157 330 159T348 162H355H366Q386 162 386 148Q386 143 383 132T367 100T335 61Q301 27 253 10T161 -8'], + + // GREEK SMALL LETTER KAPPA + 0x3BA: [452,8,668,45,642,'258 405Q258 394 251 364T237 308T230 281T238 284T270 306T330 349Q365 377 389 394T450 427T519 444Q545 444 559 430T574 391Q574 360 551 336T491 312Q469 312 454 326T439 364Q439 372 438 372Q433 372 395 344T320 289T283 260H285Q287 260 290 260T297 259Q495 248 495 146Q495 132 491 110T486 74Q486 43 505 43Q520 43 531 53Q559 72 578 141Q582 157 586 159T611 162H622Q642 162 642 148T627 100T578 29T504 -7H495Q435 -7 399 22T363 96Q363 111 366 122T369 142Q369 155 364 165T347 182T326 193T298 200T269 204T238 207T212 210L211 206L190 123L169 40Q161 22 142 7T98 -8T59 7T45 39Q45 48 67 139T112 317L134 404Q142 424 161 438T204 452Q226 452 242 440T258 405'], + + // GREEK SMALL LETTER LAMDA + 0x3BB: [694,13,671,40,652,'95 -13Q70 -13 55 4T40 41Q40 65 61 88Q65 92 210 207T357 322L235 602Q217 640 185 643Q182 643 178 644T173 645Q161 651 161 666Q161 677 167 684T181 692Q189 694 212 694Q335 694 358 660Q362 653 500 340T647 18Q652 10 652 6Q652 -8 622 -8H589H538L526 -5Q506 1 500 8Q494 16 444 128Q442 133 440 138L387 259L265 134Q156 20 137 4T95 -13'], + + // GREEK SMALL LETTER MU + 0x3BC: [452,211,708,34,682,'294 -8Q265 -8 244 -5T213 1T201 4Q200 4 192 -32T172 -111T155 -168Q134 -211 86 -211Q62 -211 48 -196T34 -158Q37 -144 103 123T174 404Q182 424 201 438T244 452Q271 452 284 436T298 404Q298 392 267 269T235 114Q235 43 305 43Q342 43 375 68T418 110Q420 112 455 253T492 397Q514 444 562 444Q587 444 601 429T615 397Q615 387 599 320T563 178T542 93Q540 81 540 72Q540 42 558 42Q580 42 596 75Q606 94 616 134Q621 155 624 158T646 162H651H662Q682 162 682 148Q681 142 679 132T665 94T641 47T602 9T548 -8Q523 -8 502 -3T468 11T446 27T432 40L429 46Q367 -8 294 -8'], + + // GREEK SMALL LETTER NU + 0x3BD: [452,2,577,38,608,'88 382Q70 382 65 385T59 402T64 427T78 443Q79 444 157 448T247 452Q256 452 261 448T266 440L267 437Q267 432 223 252L177 71L192 77Q293 117 371 199T480 388Q489 424 511 438T556 452Q579 452 593 438T608 402Q608 378 593 340T540 251T446 152T299 62T96 -1Q91 -2 78 -2Q38 -2 38 15Q38 22 82 198L127 379Q124 382 88 382'], + + // GREEK SMALL LETTER XI + 0x3BE: [711,201,508,23,490,'287 648Q291 671 293 680T305 700T329 711Q339 711 347 705T356 687Q356 680 351 653T345 619Q345 615 346 615Q358 618 398 618Q490 618 490 572Q490 553 476 536T434 512Q411 508 378 508H366Q332 508 306 534L298 525Q271 496 254 456T237 375Q237 336 244 336Q272 346 319 346H325Q354 346 372 344T406 331T422 300Q422 252 350 238Q332 236 303 236Q286 236 269 238T240 242T218 247T202 252L196 254Q191 254 174 237T141 191T124 139Q124 108 151 92T267 46Q285 40 295 37Q308 33 332 25T366 13T392 3T415 -8T432 -20T445 -36T451 -55T454 -80Q454 -118 427 -153T358 -199Q349 -201 327 -201Q313 -201 298 -200T271 -196T246 -191T226 -185T210 -180T200 -176L196 -174Q187 -170 187 -158T196 -138T216 -130Q217 -130 254 -140T329 -151Q349 -151 349 -135Q349 -127 340 -122T293 -104Q260 -93 238 -85Q130 -48 115 -41Q71 -19 47 15T23 88Q23 126 48 179T130 277L144 288L136 297Q99 336 99 390Q99 456 148 514T285 602V619Q285 624 286 635T287 648ZM355 563Q362 560 376 558Q424 558 423 564Q405 567 390 567Q369 567 355 563ZM279 292Q297 287 315 287Q355 287 355 293Q355 296 321 296Q316 296 308 296L301 295Q295 295 289 294L279 292'], + + // GREEK SMALL LETTER OMICRON + 0x3BF: [452,8,585,39,576,'254 -8Q191 -8 146 9T80 54T49 111T39 169Q39 206 53 247T96 329T176 402T292 446Q317 451 336 451L344 452Q353 452 359 452Q457 452 516 408T576 279Q576 169 488 81T254 -8ZM349 400Q321 400 287 385T231 338Q206 301 188 228T170 126Q170 99 178 83Q198 44 260 44Q367 44 409 157Q419 185 432 238T445 317Q445 336 443 348Q435 372 416 384T384 398T349 400'], + + // GREEK SMALL LETTER PI + 0x3C0: [444,8,682,23,674,'55 289H43Q23 289 23 303Q23 308 33 322Q116 434 199 443Q200 444 418 444Q591 444 617 444T652 439Q674 426 674 400Q674 378 661 360T625 335Q621 334 549 333H479L477 321Q476 312 476 279Q476 219 491 174T521 104T536 65Q536 38 511 15T457 -8Q403 -8 386 94Q384 110 384 139Q384 181 391 229T406 304L413 331Q413 333 365 333H316L315 329Q315 328 312 314T301 272T288 220Q274 167 258 103Q244 49 240 38T228 18Q225 16 224 14Q200 -8 172 -8Q146 -8 132 7T118 44Q118 54 121 61Q122 65 142 102T190 195T235 293Q250 329 250 333Q177 333 166 332Q115 328 88 301L77 290L55 289'], + + // GREEK SMALL LETTER RHO + 0x3C1: [451,211,612,34,603,'307 -8Q277 -8 251 0T215 14L205 20Q203 18 193 -25T171 -114T155 -168Q134 -211 87 -211Q64 -211 49 -198T34 -162Q34 -158 137 254Q153 299 179 334T232 390T277 419T311 434Q357 451 403 451Q435 451 455 449T506 435T560 400Q603 357 603 285Q603 172 520 82T307 -8ZM474 343Q474 364 458 382T409 400H406Q339 400 299 341Q281 313 264 257Q261 248 242 170T222 89Q222 84 230 74T260 54T308 43Q334 43 365 57T417 110Q437 145 456 228Q474 298 474 332V343'], + + // GREEK SMALL LETTER FINAL SIGMA + 0x3C2: [451,105,424,33,457,'33 209Q33 277 80 334T195 421T330 451H344Q410 451 439 429Q457 417 457 402Q457 386 445 375T420 363Q415 363 406 368T383 383T354 398Q347 400 330 400Q256 400 196 361T135 265V257Q135 242 147 225T174 199L358 107Q400 77 400 28T362 -63T271 -105Q254 -105 229 -99T195 -86Q188 -82 188 -71Q188 -56 197 -50T216 -44Q225 -44 237 -48T270 -53H282Q293 -44 293 -31Q293 -19 283 -10Q278 -4 200 33T115 76Q77 98 55 133T33 209'], + + // GREEK SMALL LETTER SIGMA + 0x3C3: [445,8,686,35,677,'35 151Q35 190 51 236T99 327T184 404T306 443Q307 443 316 443T342 443T378 444T425 444T476 444Q606 444 626 444T655 439Q677 426 677 400Q677 358 639 340Q625 333 563 333Q510 333 510 331Q518 319 518 272Q518 155 437 74T226 -8Q123 -8 79 41T35 151ZM396 278Q396 314 375 323T305 332Q249 332 222 310T180 243Q171 219 162 178T153 116V110Q153 43 234 43Q347 43 382 199Q383 203 383 204Q396 255 396 278'], + + // GREEK SMALL LETTER TAU + 0x3C4: [444,13,521,23,610,'55 289H43Q23 289 23 303Q23 308 33 322Q116 434 199 443Q200 444 386 444Q571 444 577 442Q588 441 599 432T610 402Q610 359 572 340Q561 335 547 334T452 333H353V331Q352 330 342 261T320 119T306 40Q300 18 281 3Q257 -13 233 -13Q210 -13 196 0T181 35Q181 44 182 48Q183 53 229 187T279 331Q279 333 228 333H209Q163 333 136 328T88 301L77 290L55 289'], + + // GREEK SMALL LETTER UPSILON + 0x3C5: [453,9,631,24,604,'189 388Q189 396 187 398T176 401Q144 399 122 369T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 330T64 382T116 431T188 452Q232 452 270 430T308 361Q308 345 275 258T241 123Q241 44 336 44H344Q380 44 415 73T474 140T511 214T526 267Q526 280 513 292Q505 301 486 311T456 333T444 367Q444 400 471 426T529 453Q555 453 579 431T604 358Q604 327 592 271T557 172Q550 157 541 142T510 97T464 47T404 9T328 -8Q264 -8 219 5T154 41T125 85T117 131Q117 182 153 277T189 388'], + + // GREEK SMALL LETTER PHI + 0x3C6: [452,216,747,52,703,'238 4Q230 5 218 8T174 26T118 58T73 112T53 190Q53 219 60 246Q77 313 103 362T143 426T163 443Q165 444 186 444Q217 444 217 432Q217 425 188 392Q157 351 137 291T116 206Q116 127 263 109L276 107L288 139Q347 304 414 378T566 452Q621 449 662 412T703 286Q698 167 598 82T357 -8H332V-11Q332 -12 327 -46T317 -116T310 -157Q306 -180 286 -198T234 -216Q211 -216 197 -203T183 -168Q183 -160 184 -155Q184 -152 198 -112T225 -34T238 4ZM637 260Q637 303 607 322T541 341Q502 341 466 319T405 264Q368 218 356 159Q348 111 348 104Q348 103 361 103Q502 103 569 152T637 260'], + + // GREEK SMALL LETTER CHI + 0x3C7: [452,201,718,32,685,'58 -194Q32 -194 32 -164Q32 -153 46 -139L175 -13Q296 104 296 106Q271 232 226 308Q165 401 141 401Q128 401 117 390T100 365Q94 350 91 349T69 346H45Q35 348 35 359Q35 380 62 411T133 450Q143 452 165 452Q286 452 329 402Q347 379 366 333T394 254T404 215Q404 213 405 213Q405 212 420 227T463 268T520 324Q637 437 640 438Q647 444 661 444Q667 444 676 438T685 419Q685 405 670 389T549 271L420 145Q433 85 444 53Q466 -25 509 -88T575 -151Q590 -151 600 -140T617 -114T626 -98Q629 -96 650 -96H655Q681 -96 681 -108Q681 -114 679 -119Q670 -148 646 -169T591 -199Q581 -201 550 -201Q422 -201 381 -143Q345 -88 316 20L311 39L230 -40Q144 -126 114 -153Q85 -182 77 -188T58 -194'], + + // GREEK SMALL LETTER PSI + 0x3C8: [695,202,758,24,732,'244 141Q244 117 254 98T277 70T305 55T329 48T342 47L344 48L424 366Q501 678 505 686Q508 691 512 692T533 694T555 693T562 688T565 683Q565 678 486 362T406 45Q406 43 415 43Q467 49 514 78T590 143T636 213T653 266Q653 282 641 293T613 311T585 332T572 367Q572 397 598 425T657 453Q684 453 708 430T732 358Q732 330 723 287T706 225Q671 124 578 58T401 -8H393L370 -101Q346 -196 345 -197Q340 -202 316 -202H306Q286 -202 286 -188Q286 -187 296 -144T318 -57T331 -8Q331 -6 328 -6Q290 -6 233 11T148 62Q119 97 119 146Q119 181 154 275T190 388Q190 401 181 401Q154 401 129 375T90 306Q85 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 329T64 381T116 431T189 452Q237 452 273 428T309 362Q309 343 277 260T244 141'], + + // GREEK SMALL LETTER OMEGA + 0x3C9: [453,8,718,24,691,'532 367Q532 399 559 426T618 453Q645 453 668 430T691 357Q691 319 677 261T649 171Q640 149 626 125T586 68T521 14T438 -7Q401 -7 372 7T333 30T311 57Q246 -8 165 -8Q119 -8 82 19T30 102Q24 126 24 163V178Q24 210 37 255Q61 346 118 424Q141 451 161 451Q174 451 184 443T194 419Q194 402 179 387Q91 273 91 206Q91 159 122 138T189 117T281 145V173Q283 223 294 253Q304 276 323 289T364 303Q386 303 400 287T415 250Q415 219 385 157L378 144Q378 142 388 136T419 124T462 117Q522 117 566 165T610 255Q610 288 561 320Q532 337 532 367'], + + // GREEK THETA SYMBOL + 0x3D1: [701,8,692,24,656,'114 132Q114 153 140 253T166 372Q166 402 148 402Q126 402 110 369Q100 350 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296Q25 302 27 312T41 350T65 397T104 435T158 452Q184 452 211 445T263 414T288 354V339L265 245Q237 134 237 118V107V102Q237 87 239 77T257 56T300 43Q395 43 455 254Q479 346 479 347L460 354Q294 408 294 528Q294 606 350 653T464 701Q536 701 579 659Q634 601 634 491Q634 468 630 438T623 388L620 370Q624 370 631 369T647 364T656 352Q656 347 653 335Q647 317 642 316Q640 315 637 315Q635 315 619 317Q606 319 605 316Q605 315 603 308Q587 248 550 177T457 57Q379 -8 293 -8Q192 -8 153 23T114 116V132ZM519 566Q519 600 507 625T464 651Q425 651 391 617T356 529Q356 501 370 478T404 441T443 417T477 404L491 400Q493 400 499 428T512 497T519 566'], + + // GREEK PHI SYMBOL + 0x3D5: [694,202,712,50,693,'274 -7Q232 -4 195 7T125 38T71 94T51 176V190Q51 213 60 242T95 307T156 373T255 425T393 451L397 452L427 568Q434 597 443 636Q452 677 456 685T472 694H486H495Q517 694 517 680L514 665Q510 650 503 621T489 564L460 451H469Q527 447 574 430T657 370T693 266Q693 163 599 82T350 -7H346L322 -100Q301 -190 295 -197Q291 -202 283 -202H269H258Q238 -202 238 -188Q238 -186 260 -96L283 -7H274ZM449 400Q448 400 404 225T359 47T366 45Q464 55 516 119Q542 149 558 199T575 295Q575 387 462 398L449 400ZM384 398Q384 399 381 399Q350 399 298 378T214 308Q168 236 168 149Q168 68 259 49Q282 44 294 44H295L384 398'], + + // GREEK PI SYMBOL + 0x3D6: [444,8,975,23,961,'55 289H43Q23 289 23 303Q23 308 33 322Q116 434 199 443Q200 444 562 444Q922 444 928 442Q961 434 961 400Q961 376 944 355T886 333H870Q872 322 872 295V279Q872 230 842 165T751 46T618 -8Q581 -8 554 6T513 45T494 84T484 119Q484 121 478 114Q477 113 476 111Q384 -7 268 -7H265Q251 -7 237 -4T199 11T162 54T147 132Q147 149 149 166T155 198T165 229T176 256T189 281T200 301T211 319T220 333H199Q120 333 88 301L77 290L55 289ZM639 103Q674 103 712 122T780 188T811 295Q811 318 808 330V333H289Q274 318 244 263T214 169Q214 133 236 118T288 103Q351 103 412 153T494 278Q497 290 502 292T529 295Q546 295 551 293T556 283Q556 281 553 260T550 218Q550 153 576 128T639 103'], + + // GREEK RHO SYMBOL + 0x3F1: [451,194,612,75,603,'371 -168Q357 -168 323 -171T245 -175Q143 -175 109 -150T75 -66Q75 -5 100 108T137 254Q153 299 179 334T232 390T277 419T311 434Q357 451 403 451Q435 451 455 449T506 435T560 400Q603 357 603 282Q603 213 569 148T465 38T304 -8Q273 -8 247 -2T204 14T176 31T159 46T152 53Q152 52 148 27T144 -16Q144 -36 150 -44T189 -58T293 -64Q405 -65 432 -75Q466 -88 466 -127Q466 -140 459 -172Q455 -188 451 -191T426 -194H420Q405 -194 400 -191T395 -176Q396 -170 394 -169T378 -168Q373 -168 371 -168ZM236 116Q236 77 258 60T311 43Q369 43 407 94Q429 123 451 206T474 331Q474 400 409 400H406Q339 400 299 341Q276 305 256 227T236 116'], + + // GREEK LUNATE EPSILON SYMBOL + 0x3F5: [444,7,483,44,450,'415 89Q423 89 429 74T436 46Q436 43 434 39Q432 36 420 29T380 11T322 -5Q311 -7 281 -7Q216 -7 168 10T94 54T56 110T44 167V181Q44 262 94 329Q104 343 119 357T162 391T234 425T327 443Q328 443 348 443T383 444Q434 444 442 438Q450 430 450 416Q446 392 424 383L376 382Q306 381 278 369Q230 349 208 294Q199 274 199 268Q199 267 291 267Q305 267 325 267T353 268Q383 268 394 263T406 241Q406 214 380 206Q375 205 279 205T183 203Q174 176 174 140Q174 87 208 65T292 43Q295 43 300 43T307 44Q337 49 372 69T415 89'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Math/BoldItalic/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/Italic/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/Italic/Main.js new file mode 100644 index 00000000..6b2c3570 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/Italic/Main.js @@ -0,0 +1,391 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Math/Italic/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Math-italic'] = { + directory: 'Math/Italic', + family: 'MathJax_Math', + id: 'MJMATHI', + style: 'italic', + skew: { + 0x41: 0.139, + 0x42: 0.0833, + 0x43: 0.0833, + 0x44: 0.0556, + 0x45: 0.0833, + 0x46: 0.0833, + 0x47: 0.0833, + 0x48: 0.0556, + 0x49: 0.111, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.0278, + 0x4D: 0.0833, + 0x4E: 0.0833, + 0x4F: 0.0833, + 0x50: 0.0833, + 0x51: 0.0833, + 0x52: 0.0833, + 0x53: 0.0833, + 0x54: 0.0833, + 0x55: 0.0278, + 0x58: 0.0833, + 0x5A: 0.0833, + 0x63: 0.0556, + 0x64: 0.167, + 0x65: 0.0556, + 0x66: 0.167, + 0x67: 0.0278, + 0x68: -0.0278, + 0x6C: 0.0833, + 0x6F: 0.0556, + 0x70: 0.0833, + 0x71: 0.0833, + 0x72: 0.0556, + 0x73: 0.0556, + 0x74: 0.0833, + 0x75: 0.0278, + 0x76: 0.0278, + 0x77: 0.0833, + 0x78: 0.0278, + 0x79: 0.0556, + 0x7A: 0.0556, + 0x393: 0.0833, + 0x394: 0.167, + 0x398: 0.0833, + 0x39B: 0.167, + 0x39E: 0.0833, + 0x3A0: 0.0556, + 0x3A3: 0.0833, + 0x3A5: 0.0556, + 0x3A6: 0.0833, + 0x3A8: 0.0556, + 0x3A9: 0.0833, + 0x3B1: 0.0278, + 0x3B2: 0.0833, + 0x3B4: 0.0556, + 0x3B5: 0.0833, + 0x3B6: 0.0833, + 0x3B7: 0.0556, + 0x3B8: 0.0833, + 0x3B9: 0.0556, + 0x3BC: 0.0278, + 0x3BD: 0.0278, + 0x3BE: 0.111, + 0x3BF: 0.0556, + 0x3C1: 0.0833, + 0x3C2: 0.0833, + 0x3C4: 0.0278, + 0x3C5: 0.0278, + 0x3C6: 0.0833, + 0x3C7: 0.0556, + 0x3C8: 0.111, + 0x3D1: 0.0833, + 0x3D5: 0.0833, + 0x3F1: 0.0833, + 0x3F5: 0.0556 + }, + + // SPACE + 0x20: [0,0,250,0,0,''], + + // SOLIDUS + 0x2F: [716,215,778,139,638,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183Q157 -157 378 274T602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 691 406 241T170 -212Q166 -215 159 -215'], + + // LATIN CAPITAL LETTER A + 0x41: [716,0,750,35,726,'208 74Q208 50 254 46Q272 46 272 35Q272 34 270 22Q267 8 264 4T251 0Q249 0 239 0T205 1T141 2Q70 2 50 0H42Q35 7 35 11Q37 38 48 46H62Q132 49 164 96Q170 102 345 401T523 704Q530 716 547 716H555H572Q578 707 578 706L606 383Q634 60 636 57Q641 46 701 46Q726 46 726 36Q726 34 723 22Q720 7 718 4T704 0Q701 0 690 0T651 1T578 2Q484 2 455 0H443Q437 6 437 9T439 27Q443 40 445 43L449 46H469Q523 49 533 63L521 213H283L249 155Q208 86 208 74ZM516 260Q516 271 504 416T490 562L463 519Q447 492 400 412L310 260L413 259Q516 259 516 260'], + + // LATIN CAPITAL LETTER B + 0x42: [683,0,759,35,756,'231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229'], + + // LATIN CAPITAL LETTER C + 0x43: [705,22,715,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252'], + + // LATIN CAPITAL LETTER D + 0x44: [683,0,828,33,803,'287 628Q287 635 230 637Q207 637 200 638T193 647Q193 655 197 667T204 682Q206 683 403 683Q570 682 590 682T630 676Q702 659 752 597T803 431Q803 275 696 151T444 3L430 1L236 0H125H72Q48 0 41 2T33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM703 469Q703 507 692 537T666 584T629 613T590 629T555 636Q553 636 541 636T512 636T479 637H436Q392 637 386 627Q384 623 313 339T242 52Q242 48 253 48T330 47Q335 47 349 47T373 46Q499 46 581 128Q617 164 640 212T683 339T703 469'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,738,31,764,'492 213Q472 213 472 226Q472 230 477 250T482 285Q482 316 461 323T364 330H312Q311 328 277 192T243 52Q243 48 254 48T334 46Q428 46 458 48T518 61Q567 77 599 117T670 248Q680 270 683 272Q690 274 698 274Q718 274 718 261Q613 7 608 2Q605 0 322 0H133Q31 0 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H757Q764 676 764 669Q764 664 751 557T737 447Q735 440 717 440H705Q698 445 698 453L701 476Q704 500 704 528Q704 558 697 578T678 609T643 625T596 632T532 634H485Q397 633 392 631Q388 629 386 622Q385 619 355 499T324 377Q347 376 372 376H398Q464 376 489 391T534 472Q538 488 540 490T557 493Q562 493 565 493T570 492T572 491T574 487T577 483L544 351Q511 218 508 216Q505 213 492 213'], + + // LATIN CAPITAL LETTER F + 0x46: [680,0,643,31,749,'48 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H742Q749 676 749 669Q749 664 736 557T722 447Q720 440 702 440H690Q683 445 683 453Q683 454 686 477T689 530Q689 560 682 579T663 610T626 626T575 633T503 634H480Q398 633 393 631Q388 629 386 623Q385 622 352 492L320 363H375Q378 363 398 363T426 364T448 367T472 374T489 386Q502 398 511 419T524 457T529 475Q532 480 548 480H560Q567 475 567 470Q567 467 536 339T502 207Q500 200 482 200H470Q463 206 463 212Q463 215 468 234T473 274Q473 303 453 310T364 317H309L277 190Q245 66 245 60Q245 46 334 46H359Q365 40 365 39T363 19Q359 6 353 0H336Q295 2 185 2Q120 2 86 2T48 1'], + + // LATIN CAPITAL LETTER G + 0x47: [705,22,786,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q492 659 471 656T418 643T357 615T294 567T236 496T189 394T158 260Q156 242 156 221Q156 173 170 136T206 79T256 45T308 28T353 24Q407 24 452 47T514 106Q517 114 529 161T541 214Q541 222 528 224T468 227H431Q425 233 425 235T427 254Q431 267 437 273H454Q494 271 594 271Q634 271 659 271T695 272T707 272Q721 272 721 263Q721 261 719 249Q714 230 709 228Q706 227 694 227Q674 227 653 224Q646 221 643 215T629 164Q620 131 614 108Q589 6 586 3Q584 1 581 1Q571 1 553 21T530 52Q530 53 528 52T522 47Q448 -22 322 -22Q201 -22 126 55T50 252'], + + // LATIN CAPITAL LETTER H + 0x48: [683,0,831,31,888,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 219 683Q260 681 355 681Q389 681 418 681T463 682T483 682Q499 682 499 672Q499 670 497 658Q492 641 487 638H485Q483 638 480 638T473 638T464 637T455 637Q416 636 405 634T387 623Q384 619 355 500Q348 474 340 442T328 395L324 380Q324 378 469 378H614L615 381Q615 384 646 504Q674 619 674 627T617 637Q594 637 587 639T580 648Q580 650 582 660Q586 677 588 679T604 682Q609 682 646 681T740 680Q802 680 835 681T871 682Q888 682 888 672Q888 645 876 638H874Q872 638 869 638T862 638T853 637T844 637Q805 636 794 634T776 623Q773 618 704 340T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q520 50 522 50T528 55T534 64T540 82T547 110T558 153Q565 181 569 198Q602 330 602 331T457 332H312L279 197Q245 63 245 58Q245 51 253 49T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], + + // LATIN CAPITAL LETTER I + 0x49: [683,0,440,26,504,'43 1Q26 1 26 10Q26 12 29 24Q34 43 39 45Q42 46 54 46H60Q120 46 136 53Q137 53 138 54Q143 56 149 77T198 273Q210 318 216 344Q286 624 286 626Q284 630 284 631Q274 637 213 637H193Q184 643 189 662Q193 677 195 680T209 683H213Q285 681 359 681Q481 681 487 683H497Q504 676 504 672T501 655T494 639Q491 637 471 637Q440 637 407 634Q393 631 388 623Q381 609 337 432Q326 385 315 341Q245 65 245 59Q245 52 255 50T307 46H339Q345 38 345 37T342 19Q338 6 332 0H316Q279 2 179 2Q143 2 113 2T65 2T43 1'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,22,555,57,633,'447 625Q447 637 354 637H329Q323 642 323 645T325 664Q329 677 335 683H352Q393 681 498 681Q541 681 568 681T605 682T619 682Q633 682 633 672Q633 670 630 658Q626 642 623 640T604 637Q552 637 545 623Q541 610 483 376Q420 128 419 127Q397 64 333 21T195 -22Q137 -22 97 8T57 88Q57 130 80 152T132 174Q177 174 182 130Q182 98 164 80T123 56Q115 54 115 53T122 44Q148 15 197 15Q235 15 271 47T324 130Q328 142 387 380T447 625'], + + // LATIN CAPITAL LETTER K + 0x4B: [683,0,849,31,889,'285 628Q285 635 228 637Q205 637 198 638T191 647Q191 649 193 661Q199 681 203 682Q205 683 214 683H219Q260 681 355 681Q389 681 418 681T463 682T483 682Q500 682 500 674Q500 669 497 660Q496 658 496 654T495 648T493 644T490 641T486 639T479 638T470 637T456 637Q416 636 405 634T387 623L306 305Q307 305 490 449T678 597Q692 611 692 620Q692 635 667 637Q651 637 651 648Q651 650 654 662T659 677Q662 682 676 682Q680 682 711 681T791 680Q814 680 839 681T869 682Q889 682 889 672Q889 650 881 642Q878 637 862 637Q787 632 726 586Q710 576 656 534T556 455L509 418L518 396Q527 374 546 329T581 244Q656 67 661 61Q663 59 666 57Q680 47 717 46H738Q744 38 744 37T741 19Q737 6 731 0H720Q680 3 625 3Q503 3 488 0H478Q472 6 472 9T474 27Q478 40 480 43T491 46H494Q544 46 544 71Q544 75 517 141T485 216L427 354L359 301L291 248L268 155Q245 63 245 58Q245 51 253 49T303 46H334Q340 37 340 35Q340 19 333 5Q328 0 317 0Q314 0 280 1T180 2Q118 2 85 2T49 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,2,681,32,647,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 217 683Q271 680 344 680Q485 680 506 683H518Q524 677 524 674T522 656Q517 641 513 637H475Q406 636 394 628Q387 624 380 600T313 336Q297 271 279 198T252 88L243 52Q243 48 252 48T311 46H328Q360 46 379 47T428 54T478 72T522 106T564 161Q580 191 594 228T611 270Q616 273 628 273H641Q647 264 647 262T627 203T583 83T557 9Q555 4 553 3T537 0T494 -1Q483 -1 418 -1T294 0H116Q32 0 32 10Q32 17 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], + + // LATIN CAPITAL LETTER M + 0x4D: [684,0,970,35,1051,'289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629'], + + // LATIN CAPITAL LETTER N + 0x4E: [683,0,803,31,888,'234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637'], + + // LATIN CAPITAL LETTER O + 0x4F: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM637 476Q637 565 591 615T476 665Q396 665 322 605Q242 542 200 428T157 216Q157 126 200 73T314 19Q404 19 485 98T608 313Q637 408 637 476'], + + // LATIN CAPITAL LETTER P + 0x50: [683,0,642,33,751,'287 628Q287 635 230 637Q206 637 199 638T192 648Q192 649 194 659Q200 679 203 681T397 683Q587 682 600 680Q664 669 707 631T751 530Q751 453 685 389Q616 321 507 303Q500 302 402 301H307L277 182Q247 66 247 59Q247 55 248 54T255 50T272 48T305 46H336Q342 37 342 35Q342 19 335 5Q330 0 319 0Q316 0 282 1T182 2Q120 2 87 2T51 1Q33 1 33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM645 554Q645 567 643 575T634 597T609 619T560 635Q553 636 480 637Q463 637 445 637T416 636T404 636Q391 635 386 627Q384 621 367 550T332 412T314 344Q314 342 395 342H407H430Q542 342 590 392Q617 419 631 471T645 554'], + + // LATIN CAPITAL LETTER Q + 0x51: [704,194,791,50,740,'399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18'], + + // LATIN CAPITAL LETTER R + 0x52: [683,21,759,33,755,'230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554'], + + // LATIN CAPITAL LETTER S + 0x53: [705,22,613,52,645,'308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24'], + + // LATIN CAPITAL LETTER T + 0x54: [677,0,584,21,704,'40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40'], + + // LATIN CAPITAL LETTER U + 0x55: [683,22,683,60,767,'107 637Q73 637 71 641Q70 643 70 649Q70 673 81 682Q83 683 98 683Q139 681 234 681Q268 681 297 681T342 682T362 682Q378 682 378 672Q378 670 376 658Q371 641 366 638H364Q362 638 359 638T352 638T343 637T334 637Q295 636 284 634T266 623Q265 621 238 518T184 302T154 169Q152 155 152 140Q152 86 183 55T269 24Q336 24 403 69T501 205L552 406Q599 598 599 606Q599 633 535 637Q511 637 511 648Q511 650 513 660Q517 676 519 679T529 683Q532 683 561 682T645 680Q696 680 723 681T752 682Q767 682 767 672Q767 650 759 642Q756 637 737 637Q666 633 648 597Q646 592 598 404Q557 235 548 205Q515 105 433 42T263 -22Q171 -22 116 34T60 167V183Q60 201 115 421Q164 622 164 628Q164 635 107 637'], + + // LATIN CAPITAL LETTER V + 0x56: [683,22,583,52,769,'52 648Q52 670 65 683H76Q118 680 181 680Q299 680 320 683H330Q336 677 336 674T334 656Q329 641 325 637H304Q282 635 274 635Q245 630 242 620Q242 618 271 369T301 118L374 235Q447 352 520 471T595 594Q599 601 599 609Q599 633 555 637Q537 637 537 648Q537 649 539 661Q542 675 545 679T558 683Q560 683 570 683T604 682T668 681Q737 681 755 683H762Q769 676 769 672Q769 655 760 640Q757 637 743 637Q730 636 719 635T698 630T682 623T670 615T660 608T652 599T645 592L452 282Q272 -9 266 -16Q263 -18 259 -21L241 -22H234Q216 -22 216 -15Q213 -9 177 305Q139 623 138 626Q133 637 76 637H59Q52 642 52 648'], + + // LATIN CAPITAL LETTER W + 0x57: [683,22,944,51,1048,'436 683Q450 683 486 682T553 680Q604 680 638 681T677 682Q695 682 695 674Q695 670 692 659Q687 641 683 639T661 637Q636 636 621 632T600 624T597 615Q597 603 613 377T629 138L631 141Q633 144 637 151T649 170T666 200T690 241T720 295T759 362Q863 546 877 572T892 604Q892 619 873 628T831 637Q817 637 817 647Q817 650 819 660Q823 676 825 679T839 682Q842 682 856 682T895 682T949 681Q1015 681 1034 683Q1048 683 1048 672Q1048 666 1045 655T1038 640T1028 637Q1006 637 988 631T958 617T939 600T927 584L923 578L754 282Q586 -14 585 -15Q579 -22 561 -22Q546 -22 542 -17Q539 -14 523 229T506 480L494 462Q472 425 366 239Q222 -13 220 -15T215 -19Q210 -22 197 -22Q178 -22 176 -15Q176 -12 154 304T131 622Q129 631 121 633T82 637H58Q51 644 51 648Q52 671 64 683H76Q118 680 176 680Q301 680 313 683H323Q329 677 329 674T327 656Q322 641 318 637H297Q236 634 232 620Q262 160 266 136L501 550L499 587Q496 629 489 632Q483 636 447 637Q428 637 422 639T416 648Q416 650 418 660Q419 664 420 669T421 676T424 680T428 682T436 683'], + + // LATIN CAPITAL LETTER X + 0x58: [683,0,828,26,852,'42 0H40Q26 0 26 11Q26 15 29 27Q33 41 36 43T55 46Q141 49 190 98Q200 108 306 224T411 342Q302 620 297 625Q288 636 234 637H206Q200 643 200 645T202 664Q206 677 212 683H226Q260 681 347 681Q380 681 408 681T453 682T473 682Q490 682 490 671Q490 670 488 658Q484 643 481 640T465 637Q434 634 411 620L488 426L541 485Q646 598 646 610Q646 628 622 635Q617 635 609 637Q594 637 594 648Q594 650 596 664Q600 677 606 683H618Q619 683 643 683T697 681T738 680Q828 680 837 683H845Q852 676 852 672Q850 647 840 637H824Q790 636 763 628T722 611T698 593L687 584Q687 585 592 480L505 384Q505 383 536 304T601 142T638 56Q648 47 699 46Q734 46 734 37Q734 35 732 23Q728 7 725 4T711 1Q708 1 678 1T589 2Q528 2 496 2T461 1Q444 1 444 10Q444 11 446 25Q448 35 450 39T455 44T464 46T480 47T506 54Q523 62 523 64Q522 64 476 181L429 299Q241 95 236 84Q232 76 232 72Q232 53 261 47Q262 47 267 47T273 46Q276 46 277 46T280 45T283 42T284 35Q284 26 282 19Q279 6 276 4T261 1Q258 1 243 1T201 2T142 2Q64 2 42 0'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,-1,581,30,763,'66 637Q54 637 49 637T39 638T32 641T30 647T33 664T42 682Q44 683 56 683Q104 680 165 680Q288 680 306 683H316Q322 677 322 674T320 656Q316 643 310 637H298Q242 637 242 624Q242 619 292 477T343 333L346 336Q350 340 358 349T379 373T411 410T454 461Q546 568 561 587T577 618Q577 634 545 637Q528 637 528 647Q528 649 530 661Q533 676 535 679T549 683Q551 683 578 682T657 680Q684 680 713 681T746 682Q763 682 763 673Q763 669 760 657T755 643Q753 637 734 637Q662 632 617 587Q608 578 477 424L348 273L322 169Q295 62 295 57Q295 46 363 46Q379 46 384 45T390 35Q390 33 388 23Q384 6 382 4T366 1Q361 1 324 1T232 2Q170 2 138 2T102 1Q84 1 84 9Q84 14 87 24Q88 27 89 30T90 35T91 39T93 42T96 44T101 45T107 45T116 46T129 46Q168 47 180 50T198 63Q201 68 227 171L252 274L129 623Q128 624 127 625T125 627T122 629T118 631T113 633T105 634T96 635T83 636T66 637'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,0,683,58,723,'58 8Q58 23 64 35Q64 36 329 334T596 635L586 637Q575 637 512 637H500H476Q442 637 420 635T365 624T311 598T266 548T228 469Q227 466 226 463T224 458T223 453T222 450L221 448Q218 443 202 443Q185 443 182 453L214 561Q228 606 241 651Q249 679 253 681Q256 683 487 683H718Q723 678 723 675Q723 673 717 649Q189 54 188 52L185 49H274Q369 50 377 51Q452 60 500 100T579 247Q587 272 590 277T603 282H607Q628 282 628 271Q547 5 541 2Q538 0 300 0H124Q58 0 58 8'], + + // LATIN SMALL LETTER A + 0x61: [441,10,529,33,506,'33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328'], + + // LATIN SMALL LETTER B + 0x62: [694,11,429,40,422,'73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325'], + + // LATIN SMALL LETTER C + 0x63: [442,12,433,34,430,'34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159'], + + // LATIN SMALL LETTER D + 0x64: [694,10,520,33,523,'366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], + + // LATIN SMALL LETTER E + 0x65: [443,11,466,39,430,'39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353'], + + // LATIN SMALL LETTER F + 0x66: [705,205,490,55,550,'118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162'], + + // LATIN SMALL LETTER G + 0x67: [442,205,477,10,480,'311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328'], + + // LATIN SMALL LETTER H + 0x68: [694,11,576,48,555,'137 683Q138 683 209 688T282 694Q294 694 294 685Q294 674 258 534Q220 386 220 383Q220 381 227 388Q288 442 357 442Q411 442 444 415T478 336Q478 285 440 178T402 50Q403 36 407 31T422 26Q450 26 474 56T513 138Q516 149 519 151T535 153Q555 153 555 145Q555 144 551 130Q535 71 500 33Q466 -10 419 -10H414Q367 -10 346 17T325 74Q325 90 361 192T398 345Q398 404 354 404H349Q266 404 205 306L198 293L164 158Q132 28 127 16Q114 -11 83 -11Q69 -11 59 -2T48 16Q48 30 121 320L195 616Q195 629 188 632T149 637H128Q122 643 122 645T124 664Q129 683 137 683'], + + // LATIN SMALL LETTER I + 0x69: [661,11,345,21,302,'184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER J + 0x6A: [661,204,412,-12,403,'297 596Q297 627 318 644T361 661Q378 661 389 651T403 623Q403 595 384 576T340 557Q322 557 310 567T297 596ZM288 376Q288 405 262 405Q240 405 220 393T185 362T161 325T144 293L137 279Q135 278 121 278H107Q101 284 101 286T105 299Q126 348 164 391T252 441Q253 441 260 441T272 442Q296 441 316 432Q341 418 354 401T367 348V332L318 133Q267 -67 264 -75Q246 -125 194 -164T75 -204Q25 -204 7 -183T-12 -137Q-12 -110 7 -91T53 -71Q70 -71 82 -81T95 -112Q95 -148 63 -167Q69 -168 77 -168Q111 -168 139 -140T182 -74L193 -32Q204 11 219 72T251 197T278 308T289 365Q289 372 288 376'], + + // LATIN SMALL LETTER K + 0x6B: [694,11,521,48,503,'121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647'], + + // LATIN SMALL LETTER L + 0x6C: [695,12,298,38,266,'117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59'], + + // LATIN SMALL LETTER M + 0x6D: [443,11,878,21,857,'21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER N + 0x6E: [443,11,600,21,580,'21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER O + 0x6F: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], + + // LATIN SMALL LETTER P + 0x70: [443,194,503,-39,497,'23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102'], + + // LATIN SMALL LETTER Q + 0x71: [442,194,446,33,460,'33 157Q33 258 109 349T280 441Q340 441 372 389Q373 390 377 395T388 406T404 418Q438 442 450 442Q454 442 457 439T460 434Q460 425 391 149Q320 -135 320 -139Q320 -147 365 -148H390Q396 -156 396 -157T393 -175Q389 -188 383 -194H370Q339 -192 262 -192Q234 -192 211 -192T174 -192T157 -193Q143 -193 143 -185Q143 -182 145 -170Q149 -154 152 -151T172 -148Q220 -148 230 -141Q238 -136 258 -53T279 32Q279 33 272 29Q224 -10 172 -10Q117 -10 75 30T33 157ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], + + // LATIN SMALL LETTER R + 0x72: [443,11,451,21,430,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q161 442 183 430T214 408T225 388Q227 382 228 382T236 389Q284 441 347 441H350Q398 441 422 400Q430 381 430 363Q430 333 417 315T391 292T366 288Q346 288 334 299T322 328Q322 376 378 392Q356 405 342 405Q286 405 239 331Q229 315 224 298T190 165Q156 25 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER S + 0x73: [443,10,469,53,419,'131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289'], + + // LATIN SMALL LETTER T + 0x74: [626,11,361,19,330,'26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26'], + + // LATIN SMALL LETTER U + 0x75: [442,11,572,21,551,'21 287Q21 295 30 318T55 370T99 420T158 442Q204 442 227 417T250 358Q250 340 216 246T182 105Q182 62 196 45T238 27T291 44T328 78L339 95Q341 99 377 247Q407 367 413 387T427 416Q444 431 463 431Q480 431 488 421T496 402L420 84Q419 79 419 68Q419 43 426 35T447 26Q469 29 482 57T512 145Q514 153 532 153Q551 153 551 144Q550 139 549 130T540 98T523 55T498 17T462 -8Q454 -10 438 -10Q372 -10 347 46Q345 45 336 36T318 21T296 6T267 -6T233 -11Q189 -11 155 7Q103 38 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER V + 0x76: [443,11,485,21,467,'173 380Q173 405 154 405Q130 405 104 376T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Q21 294 29 316T53 368T97 419T160 441Q202 441 225 417T249 361Q249 344 246 335Q246 329 231 291T200 202T182 113Q182 86 187 69Q200 26 250 26Q287 26 319 60T369 139T398 222T409 277Q409 300 401 317T383 343T365 361T357 383Q357 405 376 424T417 443Q436 443 451 425T467 367Q467 340 455 284T418 159T347 40T241 -11Q177 -11 139 22Q102 54 102 117Q102 148 110 181T151 298Q173 362 173 380'], + + // LATIN SMALL LETTER W + 0x77: [443,11,716,21,690,'580 385Q580 406 599 424T641 443Q659 443 674 425T690 368Q690 339 671 253Q656 197 644 161T609 80T554 12T482 -11Q438 -11 404 5T355 48Q354 47 352 44Q311 -11 252 -11Q226 -11 202 -5T155 14T118 53T104 116Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 293 29 315T52 366T96 418T161 441Q204 441 227 416T250 358Q250 340 217 250T184 111Q184 65 205 46T258 26Q301 26 334 87L339 96V119Q339 122 339 128T340 136T341 143T342 152T345 165T348 182T354 206T362 238T373 281Q402 395 406 404Q419 431 449 431Q468 431 475 421T483 402Q483 389 454 274T422 142Q420 131 420 107V100Q420 85 423 71T442 42T487 26Q558 26 600 148Q609 171 620 213T632 273Q632 306 619 325T593 357T580 385'], + + // LATIN SMALL LETTER X + 0x78: [442,11,572,35,522,'52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289'], + + // LATIN SMALL LETTER Y + 0x79: [443,205,490,21,497,'21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER Z + 0x7A: [442,11,465,35,468,'347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,-1,615,31,721,'49 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H714Q721 676 721 669Q721 664 708 557T694 447Q692 440 674 440H662Q655 445 655 454Q655 455 658 480T661 534Q661 572 652 592Q638 619 603 626T501 634H471Q398 633 393 630Q389 628 386 622Q385 619 315 341T245 60Q245 46 333 46H345Q366 46 366 35Q366 33 363 21T358 6Q356 1 339 1Q334 1 292 1T187 2Q122 2 88 2T49 1'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [716,0,833,48,788,'574 715L582 716Q589 716 595 716Q612 716 616 714Q621 712 621 709Q622 707 705 359T788 8Q786 5 785 3L781 0H416Q52 0 50 2T48 6Q48 9 305 358T567 711Q572 712 574 715ZM599 346L538 602L442 474Q347 345 252 217T157 87T409 86T661 88L654 120Q646 151 629 220T599 346'], + + // GREEK CAPITAL LETTER THETA + 0x398: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM640 466Q640 523 625 565T583 628T532 658T479 668Q370 668 273 559T151 255Q150 245 150 213Q150 156 165 116T207 55T259 26T313 17Q385 17 451 63T561 184Q590 234 615 312T640 466ZM510 276Q510 278 512 288L515 298Q515 299 384 299H253L250 285Q246 271 244 268T231 265H227Q216 265 214 266T207 274Q207 278 223 345T244 416Q247 419 260 419H263Q280 419 280 408Q280 406 278 396L275 386Q275 385 406 385H537L540 399Q544 413 546 416T559 419H563Q574 419 576 418T583 410Q583 403 566 339Q549 271 544 267Q542 265 538 265H530H527Q510 265 510 276'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [716,0,694,35,670,'135 2Q114 2 90 2T60 1Q35 1 35 11Q35 28 42 40Q45 46 55 46Q119 46 151 94Q153 97 325 402T498 709Q505 716 526 716Q543 716 549 710Q550 709 560 548T580 224T591 57Q594 52 595 52Q603 47 638 46H663Q670 39 670 35Q669 12 657 0H644Q613 2 530 2Q497 2 469 2T424 2T405 1Q388 1 388 10Q388 15 391 24Q392 27 393 32T395 38T397 41T401 44T406 45T415 46Q473 46 487 64L472 306Q468 365 465 426T459 518L457 550Q456 550 328 322T198 88Q196 80 196 77Q196 49 243 46Q261 46 261 35Q261 34 259 22Q256 7 254 4T240 0Q237 0 211 1T135 2'], + + // GREEK CAPITAL LETTER XI + 0x39E: [678,0,742,53,777,'222 668Q222 670 229 677H654Q677 677 705 677T740 678Q764 678 770 676T777 667Q777 662 764 594Q761 579 757 559T751 528L749 519Q747 512 729 512H717Q710 519 710 525Q712 532 715 559T719 591Q718 595 711 595Q682 598 486 598Q252 598 246 592Q239 587 228 552L216 517Q214 512 197 512H185Q178 517 178 522Q178 524 198 591T222 668ZM227 262Q218 262 215 262T209 266L207 270L227 356Q247 435 250 439Q253 443 260 443H267H280Q287 438 287 433Q287 430 285 420T280 402L278 393Q278 392 431 392H585L590 415Q595 436 598 439T612 443H628Q635 438 635 433Q635 431 615 351T594 268Q592 262 575 262H572Q556 262 556 272Q556 280 560 293L565 313H258L252 292Q248 271 245 267T230 262H227ZM60 0Q53 4 53 11Q53 14 68 89T84 169Q88 176 98 176H104H116Q123 169 123 163Q122 160 117 127T112 88Q112 80 243 80H351H454Q554 80 574 81T597 88V89Q603 100 610 121T622 157T630 174Q633 176 646 176H658Q665 171 665 166Q665 164 643 89T618 7Q616 2 607 1T548 0H335H60'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [681,0,831,31,887,'48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H541Q621 680 709 680T812 681Q841 681 855 681T877 679T886 676T887 670Q887 663 885 656Q880 637 875 635Q871 634 860 634H854Q827 634 794 631Q780 628 775 619Q773 614 704 338T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q528 52 533 61Q536 67 572 209T642 491T678 632Q678 634 533 634H388Q387 631 316 347T245 59Q245 55 246 54T253 50T270 48T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [683,0,780,58,806,'65 0Q58 4 58 11Q58 16 114 67Q173 119 222 164L377 304Q378 305 340 386T261 552T218 644Q217 648 219 660Q224 678 228 681Q231 683 515 683H799Q804 678 806 674Q806 667 793 559T778 448Q774 443 759 443Q747 443 743 445T739 456Q739 458 741 477T743 516Q743 552 734 574T710 609T663 627T596 635T502 637Q480 637 469 637H339Q344 627 411 486T478 341V339Q477 337 477 336L457 318Q437 300 398 265T322 196L168 57Q167 56 188 56T258 56H359Q426 56 463 58T537 69T596 97T639 146T680 225Q686 243 689 246T702 250H705Q726 250 726 239Q726 238 683 123T639 5Q637 1 610 1Q577 0 348 0H65'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [706,0,583,28,700,'45 535Q34 535 31 536T28 544Q28 554 39 578T70 631T126 683T206 705Q230 705 251 698T295 671T330 612T344 514Q344 477 342 473V472Q343 472 347 480T361 509T380 547Q471 704 596 704Q615 704 625 702Q659 692 679 663T700 595Q700 565 696 552T687 537T670 535Q656 535 653 536T649 543Q649 544 649 550T650 562Q650 589 629 605T575 621Q502 621 448 547T365 361Q290 70 290 60Q290 46 379 46H404Q410 40 410 39T408 19Q404 6 398 0H381Q340 2 225 2Q184 2 149 2T94 2T69 1Q61 1 58 1T53 4T51 10Q51 11 53 23Q54 25 55 30T56 36T58 40T60 43T62 44T67 46T73 46T82 46H89Q144 46 163 49T190 62L198 93Q206 124 217 169T241 262T262 350T274 404Q281 445 281 486V494Q281 621 185 621Q147 621 116 601T74 550Q71 539 66 537T45 535'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [683,0,667,24,642,'356 624Q356 637 267 637H243Q237 642 237 645T239 664Q243 677 249 683H264Q342 681 429 681Q565 681 571 683H583Q589 677 589 674T587 656Q582 641 578 637H540Q516 637 504 637T479 633T463 630T454 623T448 613T443 597T438 576Q436 566 434 556T430 539L428 533Q442 533 472 526T543 502T613 451T642 373Q642 301 567 241T386 158L336 150Q332 150 331 146Q310 66 310 60Q310 46 399 46H424Q430 40 430 39T428 19Q424 6 418 0H401Q360 2 247 2Q207 2 173 2T119 2T95 1Q87 1 84 1T79 4T77 10Q77 11 79 23Q80 25 81 30T82 36T84 40T86 43T88 44T93 46T99 46T108 46H115Q170 46 189 49T216 62Q220 74 228 107L239 150L223 152Q139 164 82 205T24 311Q24 396 125 462Q207 517 335 533L346 578Q356 619 356 624ZM130 291Q130 203 241 188H249Q249 190 287 342L325 495H324Q313 495 291 491T229 466T168 414Q130 357 130 291ZM536 393Q536 440 507 463T418 496L341 187L351 189Q443 201 487 255Q536 314 536 393'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [683,0,612,21,692,'216 151Q48 174 48 329Q48 361 56 403T65 458Q65 482 58 494T43 507T28 510T21 520Q21 528 23 534T29 544L32 546H72H94Q110 546 119 544T139 536T154 514T159 476V465Q159 445 149 399T138 314Q142 229 197 201Q223 187 226 190L233 218Q240 246 253 300T280 407Q333 619 333 625Q333 637 244 637H220Q214 642 214 645T216 664Q220 677 226 683H241Q321 681 405 681Q543 681 549 683H560Q566 677 566 674T564 656Q559 641 555 637H517Q448 636 436 628Q429 623 423 600T373 404L320 192Q370 201 419 248Q451 281 469 317T500 400T518 457Q529 486 542 505T569 532T594 543T621 546H644H669Q692 546 692 536Q691 509 676 509Q623 509 593 399Q587 377 579 355T552 301T509 244T446 195T359 159Q324 151 314 151Q311 151 310 150T298 106T287 60Q287 46 376 46H401Q407 40 407 39T405 19Q401 6 395 0H378Q337 2 224 2Q184 2 150 2T96 2T72 1Q64 1 61 1T56 4T54 10Q54 11 56 23Q57 25 58 30T59 36T61 40T63 43T65 44T70 46T76 46T85 46H92Q147 46 166 49T193 62L204 106Q216 149 216 151'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [704,0,772,80,786,'125 84Q127 78 194 76H243V78Q243 122 208 215T165 350Q164 359 162 389Q162 522 272 610Q328 656 396 680T525 704Q628 704 698 661Q734 637 755 601T781 544T786 504Q786 439 747 374T635 226T537 109Q518 81 518 77Q537 76 557 76Q608 76 620 78T640 92Q646 100 656 119T673 155T683 172Q690 173 698 173Q718 173 718 162Q718 161 681 82T642 2Q639 0 550 0H461Q455 5 455 9T458 28Q472 78 510 149T584 276T648 402T677 525Q677 594 636 631T530 668Q476 668 423 641T335 568Q284 499 271 400Q270 388 270 348Q270 298 277 228T285 115Q285 82 280 49T271 6Q269 1 258 1T175 0H87Q83 3 80 7V18Q80 22 82 98Q84 156 85 163T91 172Q94 173 104 173T119 172Q124 169 124 126Q125 104 125 84'], + + // GREEK SMALL LETTER ALPHA + 0x3B1: [442,11,640,34,603,'34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26'], + + // GREEK SMALL LETTER BETA + 0x3B2: [705,194,566,23,573,'29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431'], + + // GREEK SMALL LETTER GAMMA + 0x3B3: [441,216,518,11,543,'31 249Q11 249 11 258Q11 275 26 304T66 365T129 418T206 441Q233 441 239 440Q287 429 318 386T371 255Q385 195 385 170Q385 166 386 166L398 193Q418 244 443 300T486 391T508 430Q510 431 524 431H537Q543 425 543 422Q543 418 522 378T463 251T391 71Q385 55 378 6T357 -100Q341 -165 330 -190T303 -216Q286 -216 286 -188Q286 -138 340 32L346 51L347 69Q348 79 348 100Q348 257 291 317Q251 355 196 355Q148 355 108 329T51 260Q49 251 47 251Q45 249 31 249'], + + // GREEK SMALL LETTER DELTA + 0x3B4: [717,10,444,36,451,'195 609Q195 656 227 686T302 717Q319 716 351 709T407 697T433 690Q451 682 451 662Q451 644 438 628T403 612Q382 612 348 641T288 671T249 657T235 628Q235 584 334 463Q401 379 401 292Q401 169 340 80T205 -10H198Q127 -10 83 36T36 153Q36 286 151 382Q191 413 252 434Q252 435 245 449T230 481T214 521T201 566T195 609ZM112 130Q112 83 136 55T204 27Q233 27 256 51T291 111T309 178T316 232Q316 267 309 298T295 344T269 400L259 396Q215 381 183 342T137 256T118 179T112 130'], + + // GREEK SMALL LETTER EPSILON + 0x3B5: [452,23,466,27,428,'190 -22Q124 -22 76 11T27 107Q27 174 97 232L107 239L99 248Q76 273 76 304Q76 364 144 408T290 452H302Q360 452 405 421Q428 405 428 392Q428 381 417 369T391 356Q382 356 371 365T338 383T283 392Q217 392 167 368T116 308Q116 289 133 272Q142 263 145 262T157 264Q188 278 238 278H243Q308 278 308 247Q308 206 223 206Q177 206 142 219L132 212Q68 169 68 112Q68 39 201 39Q253 39 286 49T328 72T345 94T362 105Q376 103 376 88Q376 79 365 62T334 26T275 -8T190 -22'], + + // GREEK SMALL LETTER ZETA + 0x3B6: [704,204,438,44,471,'296 643Q298 704 324 704Q342 704 342 687Q342 682 339 664T336 633Q336 623 337 618T338 611Q339 612 341 612Q343 614 354 616T374 618L384 619H394Q471 619 471 586Q467 548 386 546H372Q338 546 320 564L311 558Q235 506 175 398T114 190Q114 171 116 155T125 127T137 104T153 86T171 72T192 61T213 53T235 46T256 39L322 16Q389 -10 389 -80Q389 -119 364 -154T300 -202Q292 -204 274 -204Q247 -204 225 -196Q210 -192 193 -182T172 -167Q167 -159 173 -148Q180 -139 191 -139Q195 -139 221 -153T283 -168Q298 -166 310 -152T322 -117Q322 -91 302 -75T250 -51T183 -29T116 4T65 62T44 160Q44 287 121 410T293 590L302 595Q296 613 296 643'], + + // GREEK SMALL LETTER ETA + 0x3B7: [443,216,497,21,503,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q156 442 175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336V326Q503 302 439 53Q381 -182 377 -189Q364 -216 332 -216Q319 -216 310 -208T299 -186Q299 -177 358 57L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // GREEK SMALL LETTER THETA + 0x3B8: [705,10,469,35,462,'35 200Q35 302 74 415T180 610T319 704Q320 704 327 704T339 705Q393 701 423 656Q462 596 462 495Q462 380 417 261T302 66T168 -10H161Q125 -10 99 10T60 63T41 130T35 200ZM383 566Q383 668 330 668Q294 668 260 623T204 521T170 421T157 371Q206 370 254 370L351 371Q352 372 359 404T375 484T383 566ZM113 132Q113 26 166 26Q181 26 198 36T239 74T287 161T335 307L340 324H145Q145 321 136 286T120 208T113 132'], + + // GREEK SMALL LETTER IOTA + 0x3B9: [442,10,354,48,333,'139 -10Q111 -10 92 0T64 25T52 52T48 74Q48 89 55 109T85 199T135 375L137 384Q139 394 140 397T145 409T151 422T160 431T173 439T190 442Q202 442 213 435T225 410Q225 404 214 358T181 238T137 107Q126 74 126 54Q126 43 126 39T130 31T142 27H147Q206 27 255 78Q272 98 281 114T290 138T295 149T313 153Q321 153 324 153T329 152T332 149T332 143Q332 106 276 48T145 -10H139'], + + // GREEK SMALL LETTER KAPPA + 0x3BA: [442,11,576,48,554,'83 -11Q70 -11 62 -4T51 8T49 17Q49 30 96 217T147 414Q160 442 193 442Q205 441 213 435T223 422T225 412Q225 401 208 337L192 270Q193 269 208 277T235 292Q252 304 306 349T396 412T467 431Q489 431 500 420T512 391Q512 366 494 347T449 327Q430 327 418 338T405 368Q405 370 407 380L397 375Q368 360 315 315L253 266L240 257H245Q262 257 300 251T366 230Q422 203 422 150Q422 140 417 114T411 67Q411 26 437 26Q484 26 513 137Q516 149 519 151T535 153Q554 153 554 144Q554 121 527 64T457 -7Q447 -10 431 -10Q386 -10 360 17T333 90Q333 108 336 122T339 146Q339 170 320 186T271 209T222 218T185 221H180L155 122Q129 22 126 16Q113 -11 83 -11'], + + // GREEK SMALL LETTER LAMDA + 0x3BB: [694,12,583,47,557,'166 673Q166 685 183 694H202Q292 691 316 644Q322 629 373 486T474 207T524 67Q531 47 537 34T546 15T551 6T555 2T556 -2T550 -11H482Q457 3 450 18T399 152L354 277L340 262Q327 246 293 207T236 141Q211 112 174 69Q123 9 111 -1T83 -12Q47 -12 47 20Q47 37 61 52T199 187Q229 216 266 252T321 306L338 322Q338 323 288 462T234 612Q214 657 183 657Q166 657 166 673'], + + // GREEK SMALL LETTER MU + 0x3BC: [442,216,603,23,580,'58 -216Q44 -216 34 -208T23 -186Q23 -176 96 116T173 414Q186 442 219 442Q231 441 239 435T249 423T251 413Q251 401 220 279T187 142Q185 131 185 107V99Q185 26 252 26Q261 26 270 27T287 31T302 38T315 45T327 55T338 65T348 77T356 88T365 100L372 110L408 253Q444 395 448 404Q461 431 491 431Q504 431 512 424T523 412T525 402L449 84Q448 79 448 68Q448 43 455 35T476 26Q485 27 496 35Q517 55 537 131Q543 151 547 152Q549 153 557 153H561Q580 153 580 144Q580 138 575 117T555 63T523 13Q510 0 491 -8Q483 -10 467 -10Q446 -10 429 -4T402 11T385 29T376 44T374 51L368 45Q362 39 350 30T324 12T288 -4T246 -11Q199 -11 153 12L129 -85Q108 -167 104 -180T92 -202Q76 -216 58 -216'], + + // GREEK SMALL LETTER NU + 0x3BD: [442,2,494,45,530,'74 431Q75 431 146 436T219 442Q231 442 231 434Q231 428 185 241L137 51H140L150 55Q161 59 177 67T214 86T261 119T312 165Q410 264 445 394Q458 442 496 442Q509 442 519 434T530 411Q530 390 516 352T469 262T388 162T267 70T106 5Q81 -2 71 -2Q66 -2 59 -1T51 1Q45 5 45 11Q45 13 88 188L132 364Q133 377 125 380T86 385H65Q59 391 59 393T61 412Q65 431 74 431'], + + // GREEK SMALL LETTER XI + 0x3BE: [704,205,438,21,443,'268 632Q268 704 296 704Q314 704 314 687Q314 682 311 664T308 635T309 620V616H315Q342 619 360 619Q443 619 443 586Q439 548 358 546H344Q326 546 317 549T290 566Q257 550 226 505T195 405Q195 381 201 364T211 342T218 337Q266 347 298 347Q375 347 375 314Q374 297 359 288T327 277T280 275Q234 275 208 283L195 286Q149 260 119 214T88 130Q88 116 90 108Q101 79 129 63T229 20Q238 17 243 15Q337 -21 354 -33Q383 -53 383 -94Q383 -137 351 -171T273 -205Q240 -205 202 -190T158 -167Q156 -163 156 -159Q156 -151 161 -146T176 -140Q182 -140 189 -143Q232 -168 274 -168Q286 -168 292 -165Q313 -151 313 -129Q313 -112 301 -104T232 -75Q214 -68 204 -64Q198 -62 171 -52T136 -38T107 -24T78 -8T56 12T36 37T26 66T21 103Q21 149 55 206T145 301L154 307L148 313Q141 319 136 323T124 338T111 358T103 382T99 413Q99 471 143 524T259 602L271 607Q268 618 268 632'], + + // GREEK SMALL LETTER OMICRON + 0x3BF: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], + + // GREEK SMALL LETTER PI + 0x3C0: [431,11,570,19,573,'132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11'], + + // GREEK SMALL LETTER RHO + 0x3C1: [442,216,517,23,510,'58 -216Q25 -216 23 -186Q23 -176 73 26T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 219 486 165T425 74T345 13T266 -10H255H248Q197 -10 165 35L160 41L133 -71Q108 -168 104 -181T92 -202Q76 -216 58 -216ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q217 269 193 170L176 102Q193 26 260 26Q298 26 334 62Q367 92 389 158T418 266T424 322'], + + // GREEK SMALL LETTER FINAL SIGMA + 0x3C2: [442,107,363,30,405,'31 207Q31 306 115 374T302 442Q341 442 373 430T405 400Q405 392 399 383T379 374Q373 375 348 390T296 405Q222 405 160 357T98 249Q98 232 103 218T112 195T132 175T154 159T186 141T219 122Q234 114 255 102T286 85T299 78L302 74Q306 71 308 69T315 61T322 51T328 40T332 25T334 8Q334 -31 305 -69T224 -107Q194 -107 163 -92Q156 -88 156 -80Q156 -73 162 -67T178 -61Q186 -61 190 -63Q209 -71 224 -71Q244 -71 253 -59T263 -30Q263 -25 263 -21T260 -12T255 -4T248 3T239 9T227 17T213 25T195 34T174 46Q170 48 150 58T122 74T97 90T70 112T51 137T36 169T31 207'], + + // GREEK SMALL LETTER SIGMA + 0x3C3: [431,11,571,31,572,'184 -11Q116 -11 74 34T31 147Q31 247 104 333T274 430Q275 431 414 431H552Q553 430 555 429T559 427T562 425T565 422T567 420T569 416T570 412T571 407T572 401Q572 357 507 357Q500 357 490 357T476 358H416L421 348Q439 310 439 263Q439 153 359 71T184 -11ZM361 278Q361 358 276 358Q152 358 115 184Q114 180 114 178Q106 141 106 117Q106 67 131 47T188 26Q242 26 287 73Q316 103 334 153T356 233T361 278'], + + // GREEK SMALL LETTER TAU + 0x3C4: [431,13,437,18,517,'39 284Q18 284 18 294Q18 301 45 338T99 398Q134 425 164 429Q170 431 332 431Q492 431 497 429Q517 424 517 402Q517 388 508 376T485 360Q479 358 389 358T299 356Q298 355 283 274T251 109T233 20Q228 5 215 -4T186 -13Q153 -13 153 20V30L203 192Q214 228 227 272T248 336L254 357Q254 358 208 358Q206 358 197 358T183 359Q105 359 61 295Q56 287 53 286T39 284'], + + // GREEK SMALL LETTER UPSILON + 0x3C5: [443,10,540,21,523,'413 384Q413 406 432 424T473 443Q492 443 507 425T523 367Q523 334 508 270T468 153Q424 63 373 27T282 -10H268Q220 -10 186 2T135 36T111 78T104 121Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441Q200 441 225 419T250 355Q248 336 247 334Q247 331 232 291T201 199T185 118Q185 68 211 47T275 26Q317 26 355 57T416 132T452 216T465 277Q465 301 457 318T439 343T421 361T413 384'], + + // GREEK SMALL LETTER PHI + 0x3C6: [442,218,654,50,618,'92 210Q92 176 106 149T142 108T185 85T220 72L235 70L237 71L250 112Q268 170 283 211T322 299T370 375T429 423T502 442Q547 442 582 410T618 302Q618 224 575 152T457 35T299 -10Q273 -10 273 -12L266 -48Q260 -83 252 -125T241 -179Q236 -203 215 -212Q204 -218 190 -218Q159 -215 159 -185Q159 -175 214 -2L209 0Q204 2 195 5T173 14T147 28T120 46T94 71T71 103T56 142T50 190Q50 238 76 311T149 431H162Q183 431 183 423Q183 417 175 409Q134 361 114 300T92 210ZM574 278Q574 320 550 344T486 369Q437 369 394 329T323 218Q309 184 295 109L286 64Q304 62 306 62Q423 62 498 131T574 278'], + + // GREEK SMALL LETTER CHI + 0x3C7: [443,204,626,24,600,'576 -125Q576 -147 547 -175T487 -204H476Q394 -204 363 -157Q334 -114 293 26L284 59Q283 58 248 19T170 -66T92 -151T53 -191Q49 -194 43 -194Q36 -194 31 -189T25 -177T38 -154T151 -30L272 102L265 131Q189 405 135 405Q104 405 87 358Q86 351 68 351Q48 351 48 361Q48 369 56 386T89 423T148 442Q224 442 258 400Q276 375 297 320T330 222L341 180Q344 180 455 303T573 429Q579 431 582 431Q600 431 600 414Q600 407 587 392T477 270Q356 138 353 134L362 102Q392 -10 428 -89T490 -168Q504 -168 517 -156T536 -126Q539 -116 543 -115T557 -114T571 -115Q576 -118 576 -125'], + + // GREEK SMALL LETTER PSI + 0x3C8: [694,205,651,21,634,'161 441Q202 441 226 417T250 358Q250 338 218 252T187 127Q190 85 214 61Q235 43 257 37Q275 29 288 29H289L371 360Q455 691 456 692Q459 694 472 694Q492 694 492 687Q492 678 411 356Q329 28 329 27T335 26Q421 26 498 114T576 278Q576 302 568 319T550 343T532 361T524 384Q524 405 541 424T583 443Q602 443 618 425T634 366Q634 337 623 288T605 220Q573 125 492 57T329 -11H319L296 -104Q272 -198 272 -199Q270 -205 252 -205H239Q233 -199 233 -197Q233 -192 256 -102T279 -9Q272 -8 265 -8Q106 14 106 139Q106 174 139 264T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441'], + + // GREEK SMALL LETTER OMEGA + 0x3C9: [443,12,622,15,604,'495 384Q495 406 514 424T555 443Q574 443 589 425T604 364Q604 334 592 278T555 155T483 38T377 -11Q297 -11 267 66Q266 68 260 61Q201 -11 125 -11Q15 -11 15 139Q15 230 56 325T123 434Q135 441 147 436Q160 429 160 418Q160 406 140 379T94 306T62 208Q61 202 61 187Q61 124 85 100T143 76Q201 76 245 129L253 137V156Q258 297 317 297Q348 297 348 261Q348 243 338 213T318 158L308 135Q309 133 310 129T318 115T334 97T358 83T393 76Q456 76 501 148T546 274Q546 305 533 325T508 357T495 384'], + + // GREEK THETA SYMBOL + 0x3D1: [705,11,591,21,563,'537 500Q537 474 533 439T524 383L521 362Q558 355 561 351Q563 349 563 345Q563 321 552 318Q542 318 521 323L510 326Q496 261 459 187T362 51T241 -11Q100 -11 100 105Q100 139 127 242T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287Q21 291 27 313T47 368T79 418Q103 442 134 442Q169 442 201 419T233 344Q232 330 206 228T180 98Q180 26 247 26Q292 26 332 90T404 260L427 349Q422 349 398 359T339 392T289 440Q265 476 265 520Q265 590 312 647T417 705Q463 705 491 670T528 592T537 500ZM464 564Q464 668 413 668Q373 668 339 622T304 522Q304 494 317 470T349 431T388 406T421 391T435 387H436L443 415Q450 443 457 485T464 564'], + + // GREEK PHI SYMBOL + 0x3D5: [694,205,596,42,579,'409 688Q413 694 421 694H429H442Q448 688 448 686Q448 679 418 563Q411 535 404 504T392 458L388 442Q388 441 397 441T429 435T477 418Q521 397 550 357T579 260T548 151T471 65T374 11T279 -10H275L251 -105Q245 -128 238 -160Q230 -192 227 -198T215 -205H209Q189 -205 189 -198Q189 -193 211 -103L234 -11Q234 -10 226 -10Q221 -10 206 -8T161 6T107 36T62 89T43 171Q43 231 76 284T157 370T254 422T342 441Q347 441 348 445L378 567Q409 686 409 688ZM122 150Q122 116 134 91T167 53T203 35T237 27H244L337 404Q333 404 326 403T297 395T255 379T211 350T170 304Q152 276 137 237Q122 191 122 150ZM500 282Q500 320 484 347T444 385T405 400T381 404H378L332 217L284 29Q284 27 285 27Q293 27 317 33T357 47Q400 66 431 100T475 170T494 234T500 282'], + + // GREEK PI SYMBOL + 0x3D6: [431,10,828,19,823,'206 -10Q158 -10 136 24T114 110Q114 233 199 349L205 358H184Q144 358 121 347Q108 340 95 330T75 312T61 295T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 532 431Q799 431 803 430Q823 423 823 402Q823 377 801 364Q790 358 766 358Q748 358 748 357Q748 355 749 348T752 327T754 297Q754 258 738 207T693 107T618 24T520 -10Q488 -10 466 2T432 36T416 77T411 120Q411 128 410 128T404 122Q373 71 323 31T206 -10ZM714 296Q714 316 707 358H251Q250 357 244 348T230 328T212 301T193 267T176 229T164 187T159 144Q159 62 222 62Q290 62 349 127T432 285Q433 286 434 288T435 291T437 293T440 294T444 294T452 294H466Q472 288 472 286Q472 285 464 244T456 170Q456 62 534 62Q604 62 659 139T714 296'], + + // GREEK RHO SYMBOL + 0x3F1: [442,194,517,67,510,'205 -174Q136 -174 102 -153T67 -76Q67 -25 91 85T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 169 431 80T253 -10Q226 -10 204 -2T169 19T146 44T132 64L128 73Q128 72 124 53T116 5T112 -44Q112 -68 117 -78T150 -95T236 -102Q327 -102 356 -111T386 -154Q386 -166 384 -178Q381 -190 378 -192T361 -194H348Q342 -188 342 -179Q342 -169 315 -169Q294 -169 264 -171T205 -174ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q221 276 204 217Q188 152 188 116Q188 68 210 47T259 26Q297 26 334 62Q367 92 389 158T418 266T424 322'], + + // GREEK LUNATE EPSILON SYMBOL + 0x3F5: [431,11,406,40,382,'227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Math/Italic/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js new file mode 100644 index 00000000..c809a643 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js @@ -0,0 +1,290 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [694,0,367,110,256,'111 669Q111 680 111 682T113 689T121 693T137 694H184H249Q255 686 256 681Q244 220 239 213Q236 208 229 208T183 207T137 207T127 213T118 431T111 669ZM110 71V95Q110 137 136 144Q140 146 183 146H200Q246 146 254 121Q256 115 256 73V51Q256 9 230 2Q225 0 181 0L138 1Q121 7 113 21L111 28L110 71'], + + // QUOTATION MARK + 0x22: [694,-442,558,37,420,'38 687Q42 693 45 693Q46 694 111 694H176Q179 690 183 687V556L144 501Q139 494 134 486T126 474T120 465T114 457T110 451T106 447T102 445T98 443T94 443T89 442H73H62Q37 442 37 453Q37 458 55 501T74 546Q74 548 59 548L44 549L38 555V687ZM275 687Q279 693 282 693Q283 694 348 694H413Q416 690 420 687V556L381 501Q376 494 371 486T363 474T357 465T351 457T347 451T343 447T339 445T335 443T331 443T326 442H310H299Q274 442 274 453Q274 458 292 501T311 546Q311 548 296 548L281 549L275 555V687'], + + // NUMBER SIGN + 0x23: [694,193,917,61,855,'61 365Q61 370 62 375T65 383T69 390T74 395T80 399T85 403T90 406L94 407H344L381 536Q418 668 426 680Q431 687 445 692Q451 694 457 694Q477 694 488 682T500 651Q500 645 466 528T431 409Q431 407 504 407H577L609 521Q651 668 656 675Q669 693 691 693Q710 693 721 680T733 651Q733 645 699 528T664 409Q664 407 743 407H823L827 405Q831 403 834 402T841 397T848 389T853 379T855 365Q855 337 823 324L731 323H639L619 253Q599 181 598 180V177H823L827 175Q831 173 834 172T841 167T848 159T853 149T855 135Q855 107 823 94L698 93H573L540 -21Q498 -168 493 -175Q480 -193 458 -193Q439 -193 428 -180T416 -151Q416 -144 450 -27T485 91Q485 93 412 93H340L307 -21Q265 -168 260 -175Q247 -193 225 -193Q206 -193 195 -180T183 -151Q183 -144 217 -27T252 91Q252 93 173 93L94 94Q61 105 61 135Q61 140 62 145T65 153T69 160T74 165T80 169T85 173T90 176L94 177H185L277 178L297 248L318 320V323H206L94 324Q61 335 61 365ZM551 320V323H479Q406 323 405 322Q404 319 385 249T365 178T438 177L510 178L530 248L551 320'], + + // DOLLAR SIGN + 0x24: [750,56,550,49,488,'231 712L232 716Q232 719 232 722T234 729T239 736T246 743T256 748T271 750Q318 750 318 711V703Q393 692 451 656Q469 645 470 640Q470 635 461 587L453 537Q445 529 442 529Q438 529 424 540T384 565T330 585Q328 585 325 585T320 586L318 587V434Q322 433 333 429T350 424T365 418T382 409T399 397T419 380Q488 313 488 213Q488 24 334 -5L318 -8V-17Q318 -56 279 -56H272Q253 -56 243 -46T232 -30T231 -18V-8H224Q170 2 127 20T68 50T49 67Q49 71 58 122T68 176Q71 182 79 182Q83 182 98 169T145 138T216 110Q228 108 229 108H231V288Q167 299 114 356T61 496Q61 537 70 570T94 624T126 661T162 684T195 696T219 701L228 702H231V712ZM231 521Q231 583 230 583Q226 582 220 579T204 561T193 521Q193 491 212 472Q226 458 230 458Q231 458 231 521ZM318 112Q356 131 356 187Q356 237 318 263V112'], + + // PERCENT SIGN + 0x25: [750,57,1029,61,966,'61 549Q61 733 218 749Q220 749 228 749T241 750Q286 750 321 735T369 708T389 683Q422 634 422 548V538Q422 519 420 501T408 453T381 401T328 364T243 347Q61 347 61 549ZM292 549Q292 663 242 663Q221 663 211 648T198 615T196 566V548Q196 471 206 454Q218 434 242 434Q292 434 292 549ZM243 -55Q223 -55 212 -42T201 -13Q201 -2 207 7Q209 11 480 371T758 738Q770 750 788 750Q805 750 817 738T830 709Q830 694 820 681L544 315Q273 -43 269 -47Q258 -55 243 -55ZM606 146Q606 330 763 346Q764 346 773 346T786 347Q831 347 866 332T914 305T934 280Q966 233 966 146V135Q966 115 964 97T952 49T925 -2T872 -40T788 -56Q606 -56 606 146ZM742 146V132Q742 107 743 93T748 62T762 39T787 31Q819 31 832 79Q837 97 837 146Q837 260 787 260Q767 260 757 246T744 214T742 169V146'], + + // AMPERSAND + 0x26: [716,23,831,47,769,'757 117Q762 117 769 110V3Q759 -7 718 -14T641 -22T571 -15T518 1T477 19T453 31L437 23Q350 -19 257 -22Q158 -22 103 30T47 155Q47 188 57 216T87 263T119 292T151 313L182 333L187 336L181 349Q150 431 150 506Q150 605 211 660T347 716Q417 716 471 668T526 543Q526 517 518 495T471 432T360 343L342 330Q342 327 358 306T402 250T458 189L467 181Q518 225 556 289T607 395L620 437Q622 443 630 443Q631 443 679 430Q718 420 725 418T733 409Q733 402 722 365T670 255T573 123Q562 111 563 111Q589 94 644 94Q678 94 703 100T740 111T757 117ZM397 544Q397 573 384 601T346 629Q320 629 299 607T277 538Q277 484 295 429Q301 413 301 412Q302 409 309 415Q397 476 397 544ZM227 258Q197 228 197 177Q197 150 207 126T234 95Q242 93 251 93Q288 93 337 107L349 110L328 131Q266 196 234 248L227 258'], + + // APOSTROPHE + 0x27: [694,-442,306,80,226,'81 687Q85 693 88 693Q89 694 154 694H219Q222 690 226 687V556L187 501Q182 494 177 486T169 474T163 465T157 457T153 451T149 447T145 445T141 443T137 443T132 442H116H105Q80 442 80 453Q80 458 98 501T117 546Q117 548 102 548L87 549L81 555V687'], + + // LEFT PARENTHESIS + 0x28: [750,249,428,79,366,'79 250Q79 352 100 441T152 585T213 678T266 733L287 749Q288 750 324 750H359Q366 741 366 738Q366 734 356 721T329 682T296 623T262 531T238 407Q230 346 230 250Q230 142 244 55T278 -82T318 -165T352 -215T366 -238Q366 -242 359 -249H286L277 -242Q79 -74 79 250'], + + // RIGHT PARENTHESIS + 0x29: [750,250,428,61,348,'61 737Q61 750 85 750H106H141L150 742Q348 574 348 250T150 -242L141 -249L106 -250H87Q61 -250 61 -238Q61 -233 74 -216Q157 -113 183 51Q197 130 197 250T183 449Q174 505 158 554T126 634T95 687T71 722T61 737'], + + // ASTERISK + 0x2A: [750,-293,550,67,482,'241 579Q241 582 228 639T215 702Q215 722 233 736T271 750Q296 750 315 736T334 702V697Q334 693 328 664T314 607L308 579L352 620Q389 654 397 660T417 668Q447 668 464 647T482 602Q482 591 479 583T472 569T459 559T443 552T421 546T397 538L342 521L397 504Q405 501 420 497T442 490T458 483T472 473T479 460T482 440Q482 416 465 395T417 374Q406 375 398 381T352 422L308 463L314 435Q321 407 327 378T334 345Q336 333 327 319T296 295Q288 293 275 293Q241 293 227 311T215 345Q215 349 221 378T234 435L241 463L197 422Q160 388 152 382T132 374Q102 374 85 395T67 440Q67 451 70 459T77 473T90 483T106 490T128 496T152 504L207 521L152 538Q144 541 129 545T107 552T91 559T77 569T70 582T67 602Q67 626 84 647T132 668Q143 667 151 661T197 620L241 579'], + + // PLUS SIGN + 0x2B: [617,116,856,61,794,'61 250Q61 276 94 292H386V436V535Q386 577 388 589T401 607Q411 617 427 617Q458 617 468 587Q470 581 470 436V292H762L766 290Q770 288 773 287T780 282T787 274T792 264T794 250Q794 222 762 209L616 208H470V64Q470 -81 468 -87Q458 -116 428 -116T388 -87Q386 -81 386 64V208H240L94 209Q61 220 61 250'], + + // COMMA + 0x2C: [146,106,306,80,226,'81 139Q85 145 88 145Q89 146 154 146H219Q222 142 226 139V8L187 -47Q182 -54 177 -62T169 -74T163 -83T157 -91T153 -97T149 -101T145 -103T141 -105T137 -105T132 -106H116H105Q80 -106 80 -95Q80 -90 98 -47T117 -2Q117 0 102 0L87 1L81 7V139'], + + // HYPHEN-MINUS + 0x2D: [274,-185,367,12,306,'12 230Q12 257 26 265T80 274Q88 274 114 274T158 273T201 273T235 274Q276 274 290 266T305 230T291 194T235 185Q226 185 201 185T159 186Q143 186 119 186T85 185Q43 185 28 193T12 230'], + + // FULL STOP + 0x2E: [146,0,306,80,226,'219 146Q222 142 226 139V7L222 4L219 1L154 0Q102 0 94 0T82 6Q80 9 80 74L81 139Q85 145 88 145Q89 146 154 146H219'], + + // SOLIDUS + 0x2F: [750,249,550,61,488,'103 -249Q81 -249 71 -235T61 -207Q61 -201 62 -198Q64 -192 235 265T409 727Q418 750 445 750Q464 750 476 737T488 707Q488 701 313 234Q143 -225 137 -232Q126 -249 103 -249'], + + // DIGIT ZERO + 0x30: [715,22,550,43,507,'274 -22Q227 -22 190 -9T128 24T87 76T62 135T49 204T44 271T43 336V343V362Q43 407 45 440T56 524T86 613T141 677Q197 715 264 715Q314 715 353 702T418 669T460 616T487 555T500 483T505 413T506 343Q506 310 506 293T503 241T498 185T486 133T467 83T437 42T397 8T343 -13T274 -22ZM355 355V401Q355 448 354 476T349 537T336 587T311 617T272 629Q270 629 266 629T261 628Q219 618 207 568T194 419V355Q194 203 200 156T231 85Q250 66 275 66Q299 66 318 85Q342 109 348 156T355 355'], + + // DIGIT ONE + 0x31: [716,-1,550,76,473,'118 560H116Q107 560 100 561T85 572T76 600Q76 612 77 618T83 632T99 644Q102 645 135 646T207 660T275 700Q292 716 310 716Q353 716 360 691Q362 685 362 386V87H446Q464 76 468 69T473 44Q473 12 446 1H118Q105 7 100 13T94 25T93 44V62Q100 79 119 87H210V329Q210 571 208 571Q182 560 118 560'], + + // DIGIT TWO + 0x32: [716,0,550,46,494,'339 477Q339 505 332 531T301 579T242 601Q165 601 136 503Q133 493 130 490T121 486Q116 486 94 514Q86 523 82 528Q46 572 46 577Q46 591 77 632T147 691Q192 716 257 716Q305 716 351 700Q416 674 455 615T494 481Q494 421 463 376T356 266Q326 240 287 205T224 146T199 122H331Q359 122 392 122T431 123H445Q485 123 492 98Q494 92 494 62V47Q494 9 468 2Q463 0 272 0L83 1Q63 7 56 28L55 57V89Q59 97 215 261Q255 303 275 327T317 394T339 477'], + + // DIGIT THREE + 0x33: [716,22,550,46,503,'61 624Q62 630 83 650T153 693T262 716Q328 716 373 698T438 650T465 593T473 536Q473 438 375 376L387 371Q450 350 476 305T503 208Q503 164 492 126T456 53T380 -2T261 -22Q224 -22 189 -15T130 2T86 24T57 43T46 53Q46 56 53 99T62 145Q65 152 71 152Q76 152 90 143T123 121T175 99T248 87Q302 87 321 113T341 202Q341 264 329 292T279 329L232 331L190 332L184 338V411Q190 417 192 417Q193 418 205 419T232 421T252 424Q280 430 299 461T318 539V551Q318 599 283 609Q276 611 257 611Q225 611 199 601T159 577T136 554T120 543T102 560T76 597T62 618T61 624'], + + // DIGIT FOUR + 0x34: [695,0,550,31,518,'278 693H282Q285 693 291 693T305 694T322 694T342 694H377Q402 694 411 691T430 677Q434 670 434 646T435 456V249H461H472Q509 249 516 224Q518 219 518 194Q518 178 518 171T511 155T492 142Q488 140 461 140H435V86V53Q435 9 409 2Q405 0 366 0H351Q306 0 298 25Q296 31 296 86V140H179H123Q99 140 80 129T50 106T37 95Q31 95 31 163V208Q31 246 33 251Q251 673 262 684Q268 691 278 693ZM302 249V416L301 576Q301 536 165 276L151 250L226 249H302'], + + // DIGIT FIVE + 0x35: [694,22,550,36,494,'109 282Q87 290 83 310V666Q83 667 84 670T87 676T91 682T98 688T108 693Q112 694 269 694T431 692Q457 686 457 648V637V624Q457 588 431 581Q426 579 326 579H227V510Q227 442 229 442Q243 450 288 450Q377 450 435 399T494 222Q494 -22 241 -22Q202 -22 167 -11T109 16T69 49T45 79T37 94T69 151Q91 185 97 185Q105 185 112 170Q127 135 160 111T240 87Q266 87 284 94T311 111T325 142T331 179T332 226Q332 307 324 335T281 363Q228 363 197 306Q189 289 172 282H109'], + + // DIGIT SIX + 0x36: [716,22,550,46,503,'414 589Q410 589 389 600T334 612Q275 612 243 575Q209 538 202 433V422L209 431Q243 487 317 487Q392 487 440 442Q478 402 490 357T503 236Q503 113 454 54Q421 13 381 -4T279 -22Q263 -22 250 -21T214 -15T173 1T133 30T96 77T68 146T50 242Q46 278 46 336Q46 406 52 447Q84 698 312 715L315 716Q318 716 321 716Q323 716 328 716T337 715Q398 715 425 688V596Q419 591 414 589ZM282 87Q324 89 336 117T348 231Q348 310 343 343T324 388T277 399Q249 399 231 373T208 317T202 253Q202 201 207 168T224 117T249 93T282 87'], + + // DIGIT SEVEN + 0x37: [695,11,550,46,503,'135 38Q135 190 198 335T353 572H215Q185 572 151 572T110 571H96Q55 571 48 596Q46 602 46 633V648Q46 686 72 693Q76 695 124 695Q134 695 183 695T274 694Q472 694 477 692Q503 686 503 648V637Q503 612 502 605T491 588Q300 349 292 46V36Q292 -4 266 -9Q262 -11 214 -11H192Q160 -11 148 -3T135 38'], + + // DIGIT EIGHT + 0x38: [715,22,550,46,503,'61 518Q61 574 79 614T128 676T192 706T263 715H270Q298 715 318 714T373 701T430 671T470 612T488 517Q488 459 458 423T390 376Q388 375 393 373Q395 372 398 371Q503 330 503 204Q503 -22 275 -22Q209 -22 163 -3T92 49T57 120T46 204Q46 230 50 252T61 289T77 318T96 339T116 353T134 363T148 369T158 373T160 376Q118 389 90 424T61 518ZM344 538Q344 563 340 578T326 600T307 609T279 612Q232 612 218 594T204 518Q204 459 216 439T275 418Q328 418 338 450Q344 464 344 515V538ZM248 88T274 88T315 94T338 117T346 149T349 197Q349 269 342 290Q338 309 320 320T274 331Q246 331 229 320T207 290Q200 269 200 197Q201 163 202 149T210 118T232 94'], + + // DIGIT NINE + 0x39: [716,22,550,46,503,'347 272Q346 272 342 266T330 250T309 230T276 214T230 207Q185 207 150 223Q116 240 90 276T54 357Q46 393 46 468Q46 469 46 484T47 502T48 520T51 540T55 559T61 579T69 599T81 620T96 640T115 661Q174 716 276 716Q299 716 317 714T369 698T426 658T471 580T499 456Q503 402 503 342Q503 115 392 29Q322 -22 231 -22Q163 -22 115 7L82 31Q76 38 81 46Q116 112 127 123Q130 126 134 126T148 116T179 97T226 87Q287 87 318 132Q323 139 326 146T332 165T337 182T340 204T342 225T345 249T347 272ZM201 547T201 454T211 329T262 294Q276 294 285 296T310 312T335 355Q347 391 347 447Q347 520 340 550T317 595Q300 612 277 612Q226 612 214 580'], + + // COLON + 0x3A: [458,0,306,80,226,'226 319L219 313H87L81 319L80 384Q80 437 80 445T86 456Q89 458 154 458H219Q222 454 226 451V319ZM219 146Q222 142 226 139V7L222 4L219 1L154 0Q102 0 94 0T82 6Q80 9 80 74L81 139Q85 145 88 145Q89 146 154 146H219'], + + // SEMICOLON + 0x3B: [458,106,306,80,226,'226 319L219 313H87L81 319L80 384Q80 437 80 445T86 456Q89 458 154 458H219Q222 454 226 451V319ZM81 139Q85 145 88 145Q89 146 154 146H219Q222 142 226 139V8L187 -47Q182 -54 177 -62T169 -74T163 -83T157 -91T153 -97T149 -101T145 -103T141 -105T137 -105T132 -106H116H105Q80 -106 80 -95Q80 -90 98 -47T117 -2Q117 0 102 0L87 1L81 7V139'], + + // EQUALS SIGN + 0x3D: [407,-94,856,61,795,'94 324Q61 335 61 366Q61 396 91 405Q96 407 429 407H762Q763 406 767 404T774 400T781 395T787 387T792 378T794 365Q794 338 762 324H94ZM94 94Q61 105 61 135Q61 149 69 160T92 175Q97 177 430 177H762L766 175Q770 173 773 172T780 167T787 159T792 149T794 135Q794 107 762 94H94'], + + // QUESTION MARK + 0x3F: [706,0,519,61,457,'61 644Q61 652 87 666T157 693T244 705Q344 705 400 671T457 551Q457 516 446 490T422 451T387 421T356 391Q330 361 318 332T305 292T303 252Q303 218 300 213T290 208T244 207H220Q194 207 188 213Q187 214 186 215V255Q187 282 188 296T198 345T229 417T288 496Q306 515 306 559Q306 596 296 607T253 618Q214 618 185 607T143 583T120 558T103 547Q99 547 95 551Q93 553 77 597T61 644ZM171 71V95Q171 137 197 144Q201 146 244 146H261Q307 146 315 121Q317 115 317 73V51Q317 9 291 2Q286 0 242 0L199 1Q182 7 174 21L172 28L171 71'], + + // COMMERCIAL AT + 0x40: [704,11,733,61,671,'61 264T61 347T82 494T136 596T217 660T311 694T410 704Q460 704 471 703Q534 694 577 666Q633 623 651 552T670 370V342Q670 249 633 195Q583 116 454 116Q238 116 238 347Q238 443 276 499Q328 578 456 578Q488 578 494 577L504 575Q475 617 430 617H421Q196 617 196 347Q196 215 253 143Q310 76 427 76Q499 76 561 102L575 107H664Q671 97 671 94V89L663 81Q566 -11 422 -11Q365 -11 316 -2T219 33T137 97T82 200ZM469 490Q459 492 453 492Q429 492 405 472Q374 439 374 347Q374 233 423 210Q436 202 454 202L486 210Q536 228 536 347Q536 461 486 484Q476 490 469 490'], + + // LATIN CAPITAL LETTER A + 0x41: [694,1,733,42,690,'110 0H86Q42 0 42 27Q42 37 148 350T258 667Q269 687 291 692Q295 694 366 694H399Q432 694 448 689T474 667Q477 663 583 350T690 27Q690 0 642 0H617H592Q582 0 575 1T561 2T549 6T541 11T533 18T527 26T522 37T517 49T512 64T506 81L490 130H225Q225 128 208 79T189 27Q185 19 180 14T170 7T156 3T143 1T127 0T110 0ZM439 279Q359 524 359 547L357 555L355 543Q347 503 270 263L259 231H357Q455 231 455 232L439 279'], + + // LATIN CAPITAL LETTER B + 0x42: [694,-1,733,92,671,'119 1Q98 5 92 28V667Q98 686 118 693Q121 694 272 694H289H346Q439 694 500 681T600 625Q640 580 640 513Q640 451 601 414T504 364L518 361Q568 351 602 329T649 280T666 235T671 197Q671 172 665 147T642 91T586 37T488 5Q456 1 282 1H119ZM489 509Q489 532 479 548T450 573T421 585T394 591Q387 592 315 593H247V404H298H325Q432 404 466 444Q489 470 489 509ZM517 194Q517 235 502 261T458 299T407 313T353 317H329H322H247V101H319H357Q387 101 407 103T452 111T492 133T514 171Q516 176 517 194'], + + // LATIN CAPITAL LETTER C + 0x43: [704,11,703,61,647,'423 -11Q339 -11 275 9T171 62T106 143T71 240T61 347Q61 450 93 527Q157 664 313 694Q357 704 416 704Q479 704 517 699T608 676Q634 667 635 660Q635 653 624 592L612 528L609 524Q604 521 601 521Q595 521 583 531T555 555T505 578T428 589H424Q298 589 250 494Q224 438 224 347Q224 292 233 251T265 175T329 122T432 104Q488 104 524 115T604 158Q607 160 610 162T615 165T619 168L621 170Q625 172 630 170T637 163Q638 160 642 109T647 54Q646 49 625 37T568 11T499 -7Q463 -11 423 -11'], + + // LATIN CAPITAL LETTER D + 0x44: [695,0,794,92,732,'119 1Q98 5 92 28V667Q98 686 118 693H124Q131 693 142 693T168 694T200 694T237 694H296Q416 694 450 692T525 677Q732 617 732 342Q732 169 644 81Q593 32 528 16T372 0Q356 0 324 0T276 1H119ZM573 349Q573 387 571 413T559 473T532 527T482 567T403 591Q395 592 320 593H250V101H321Q418 102 456 114Q553 144 569 263Q573 303 573 349'], + + // LATIN CAPITAL LETTER E + 0x45: [691,0,642,92,595,'277 122Q280 122 380 123T544 125Q552 125 557 125T565 124T569 124Q595 115 595 75V62V47Q595 9 569 2Q564 0 341 0L119 1Q99 7 92 28V664Q98 683 118 690Q121 691 335 691T554 689Q580 682 580 644V632V618Q580 582 554 573Q553 573 551 573T542 572T527 572Q464 572 364 573T260 575H253V412H385H459Q524 412 536 404T549 357Q549 341 549 334T542 318T523 305Q518 303 385 303H253V122H277'], + + // LATIN CAPITAL LETTER F + 0x46: [691,0,611,92,564,'512 572Q451 572 356 573T258 575H253V400H370H431Q494 400 506 392T518 345Q518 307 507 299T437 291H370H253V161Q253 141 253 113T254 75Q254 23 245 12T195 0H170L119 1Q99 7 92 28V664Q98 683 118 690Q121 691 327 691T538 689Q564 682 564 644V632V618Q564 582 538 573Q537 573 535 573T526 572T512 572'], + + // LATIN CAPITAL LETTER G + 0x47: [705,11,733,60,659,'61 347Q61 405 70 454T105 550T171 631T276 685T426 705Q483 705 537 693T620 668T650 646Q650 645 649 637T645 612T639 578L627 514L624 510Q620 507 615 507T597 520T566 548T512 577T430 590Q223 590 223 347T431 104Q478 104 506 112Q508 112 508 164V215H471L434 216L428 222L427 268Q427 315 429 318Q432 323 444 323T544 324H652Q655 320 659 317V45L656 43Q654 39 624 27T536 2T424 -11Q366 -11 317 -2T219 33T137 97T82 200T61 347'], + + // LATIN CAPITAL LETTER H + 0x48: [694,0,794,92,702,'92 667Q101 694 143 694H172H198Q244 694 251 669Q253 663 253 539V415H540V539Q540 558 540 585T539 621Q539 673 550 683T611 694H621H646Q671 694 683 690T700 669Q702 663 702 347T700 25Q696 9 684 5T646 0H621H606Q560 0 550 11T539 76Q539 85 539 116T540 169V306H253V169Q253 147 253 116T254 75Q254 23 245 12T194 0H170L119 1Q99 7 92 28V667'], + + // LATIN CAPITAL LETTER I + 0x49: [694,0,331,85,246,'85 667Q94 694 136 694H165H191Q237 694 244 669Q246 663 246 347T244 25Q235 0 192 0H163L112 1Q92 7 85 28V667'], + + // LATIN CAPITAL LETTER J + 0x4A: [694,22,519,46,427,'236 -22Q190 -22 144 -11T72 12T46 29Q63 147 69 153Q80 164 92 146Q124 91 191 91Q222 91 242 102T267 134Q268 139 268 402Q268 663 270 669Q275 687 294 692Q298 694 347 694H367Q393 694 406 690T425 669Q427 663 427 399Q427 132 426 125Q421 87 404 58T366 15T318 -9T273 -20T236 -22'], + + // LATIN CAPITAL LETTER K + 0x4B: [694,0,764,92,701,'92 667Q101 694 139 694H163H186Q225 694 234 671Q236 663 236 529L237 392L533 682Q550 694 590 694H623H681Q695 680 695 672Q695 670 693 664Q688 657 561 533L431 405L698 33Q701 28 701 23Q701 7 683 0H626H604Q571 0 564 2T545 13Q544 14 530 33T489 90T437 162L332 307Q331 307 284 260L236 214V122V65Q236 32 231 19T210 2Q205 0 161 0L119 1Q99 7 92 28V667'], + + // LATIN CAPITAL LETTER L + 0x4C: [694,0,581,92,534,'92 667Q98 684 109 689T142 694H172H198Q244 694 251 669Q253 663 253 389V116L278 117Q410 119 490 119H495Q511 119 517 115T534 93V63V48Q534 9 508 2Q503 0 310 0L119 1Q99 7 92 28V667'], + + // LATIN CAPITAL LETTER M + 0x4D: [695,0,978,92,886,'92 667Q98 684 109 689T146 695Q152 695 167 695T192 694Q200 694 214 694T234 695Q291 695 305 664Q313 651 400 419T487 165Q487 162 488 162T489 165Q489 187 574 413T671 664Q679 680 695 688Q708 694 785 694H828Q855 694 867 689T884 669Q886 663 886 347T884 25Q876 0 832 0H817H802Q758 0 750 25Q748 31 748 293V555L746 544Q737 509 692 386T606 160T564 52Q548 22 502 22H487H472Q423 22 410 52Q407 59 367 160T283 385T231 546L230 548Q229 548 229 293Q229 31 227 25Q222 9 211 5T176 0H158L119 1Q99 7 92 28V667'], + + // LATIN CAPITAL LETTER N + 0x4E: [694,0,794,92,702,'92 667Q98 684 109 689T146 694H185Q273 694 279 692Q301 689 315 669Q322 660 419 453L554 163L562 143Q564 143 564 401Q564 663 566 669Q574 694 618 694H633H648Q692 694 700 669Q702 663 702 347T700 25Q696 10 683 5T642 0H596H551Q520 0 505 4T478 25Q471 34 374 241L239 532Q231 550 231 552L229 479Q229 440 229 293Q229 31 227 25Q222 9 211 5T176 0H158L119 1Q99 7 92 28V667'], + + // LATIN CAPITAL LETTER O + 0x4F: [716,22,794,62,731,'362 715Q364 715 376 715T394 716H400Q542 716 626 643T727 426Q731 395 731 342Q731 271 722 225Q674 -22 396 -22Q320 -22 259 -3T148 68T77 201Q62 257 62 342Q62 447 86 522T173 649Q245 707 362 715ZM568 433Q551 623 396 623Q383 623 370 622T333 612T292 591T257 550T233 485Q223 442 223 350Q223 276 232 227T267 137Q309 74 397 74Q433 74 461 85T507 113T537 156T556 205T566 260T569 310T570 357Q570 409 568 433'], + + // LATIN CAPITAL LETTER P + 0x50: [694,0,703,92,641,'641 470Q641 426 630 391T603 334T561 295T513 271T459 259T408 254T361 253H350H337H253V142Q253 125 253 100T254 67Q254 32 249 19T227 2Q222 0 170 0L119 1Q99 7 92 28V667Q98 686 118 693Q121 694 271 694Q428 693 462 688Q641 656 641 470ZM487 467Q487 495 485 510T474 546T442 578T382 592Q375 593 310 593H250V347H309H339Q364 347 380 348T418 354T451 368T474 395T486 438Q487 444 487 467'], + + // LATIN CAPITAL LETTER Q + 0x51: [716,106,794,62,732,'450 -20Q444 -20 429 -21T396 -22Q320 -22 259 -3T148 68T77 201Q62 257 62 342Q62 447 86 522T173 649Q245 707 362 715Q364 715 376 715T394 716Q732 716 732 340Q732 268 719 210T686 120T647 68T615 39T601 29T638 -22T676 -73Q679 -78 679 -83Q679 -98 661 -106H593Q526 -106 521 -104Q514 -103 507 -97T496 -84T477 -55L454 -19L450 -20ZM554 509Q516 622 391 622Q294 622 250 535Q220 475 220 345Q220 299 222 266T234 198T258 140T299 99T363 74Q378 71 393 71H395L381 92Q367 114 353 136T338 161Q336 165 336 170Q336 186 352 193L361 194Q370 194 384 194T412 194H452Q457 194 460 194T466 194T471 192T476 191T480 188T483 185T487 180T492 174T497 167T504 158L526 129Q532 127 552 175Q573 231 573 348Q573 455 554 509'], + + // LATIN CAPITAL LETTER R + 0x52: [695,0,703,92,654,'654 24Q654 9 644 5T612 0H577L521 1Q509 5 503 13Q498 20 421 160L343 304H250V168Q250 147 250 118T251 78Q251 24 242 12T192 0H168L119 1Q99 7 92 28V667Q98 686 118 693H124Q131 693 141 693T165 694T195 694T229 694T280 694T332 695Q389 695 428 691T510 675T582 637T627 569Q641 532 641 493Q641 377 537 331L497 317L493 316L571 177Q653 28 654 24ZM487 472T487 492T485 525T476 553T450 577T404 591Q398 592 322 593H250V391H321Q327 391 353 391T385 392T412 395T438 401T457 412T474 430T483 456'], + + // LATIN CAPITAL LETTER S + 0x53: [716,22,611,49,549,'61 503Q61 547 72 583T110 650T186 698T305 716Q405 716 496 671Q513 664 514 657Q514 656 513 648T509 623T503 589L491 525L488 521Q484 518 479 518H475L461 532Q430 565 395 581T305 598Q201 598 201 523Q201 480 240 462T345 431T443 394Q549 324 549 204Q549 160 538 123T502 51T427 -2T308 -22Q180 -22 69 41Q50 52 49 57Q49 58 50 66T54 91T60 125L72 189L75 193Q80 196 84 196Q87 196 104 182T145 149T212 117T304 102Q408 102 408 188Q408 215 396 234T362 263T319 278T267 290T219 302Q149 324 105 380T61 503'], + + // LATIN CAPITAL LETTER T + 0x54: [688,0,733,40,692,'67 687Q70 688 366 688Q661 688 666 686Q692 680 692 641V629V615Q692 579 666 570H660Q655 569 648 569Q645 569 624 569T581 570Q505 570 475 572H447V302Q447 31 445 25Q436 0 393 0H364L313 1Q293 7 286 28L285 300V572H257Q227 570 151 570Q130 570 109 570T84 569Q77 569 72 570H66Q48 577 44 588T40 631L41 661Q47 680 67 687'], + + // LATIN CAPITAL LETTER U + 0x55: [694,22,764,92,672,'92 667Q101 694 143 694H172H200Q242 694 251 671Q253 663 253 430Q254 189 255 185Q262 134 288 107T384 79Q498 79 516 168Q520 191 521 431Q521 663 523 671Q532 694 572 694H596H618Q639 694 648 692T665 679Q671 672 671 653Q672 632 672 555V432Q671 200 670 190Q652 79 581 29T383 -22Q137 -22 98 166Q92 195 92 303V667'], + + // LATIN CAPITAL LETTER V + 0x56: [694,-1,733,27,705,'27 667Q27 683 39 688T75 694H101Q155 694 159 692Q182 687 194 665Q202 652 283 419T374 142Q376 165 473 445Q552 664 553 666Q568 694 618 694H639H658Q681 694 693 689T705 667Q705 660 592 347Q481 32 477 28Q466 7 441 1H292Q266 7 255 28Q251 32 140 347Q27 660 27 667'], + + // LATIN CAPITAL LETTER W + 0x57: [694,0,1039,24,1014,'994 694Q1012 683 1014 668Q1014 661 977 519T896 217T845 26Q831 0 783 0H747H711Q685 0 672 5T649 26Q644 36 583 272T517 548Q516 552 516 551Q503 479 437 227Q389 37 383 26Q367 0 323 0H288H254Q207 0 193 26Q191 32 108 346T24 665Q24 685 44 693Q47 694 98 694H115Q152 694 168 668Q174 657 235 417T297 144Q297 134 300 153Q307 204 362 421T427 668Q441 694 488 694H523Q586 694 597 688Q612 683 620 661T651 549Q664 496 673 462Q744 194 750 146V140Q767 223 800 354T857 576T883 668Q897 694 938 694H958H994'], + + // LATIN CAPITAL LETTER X + 0x58: [695,0,733,37,694,'52 1Q37 11 37 23Q37 26 39 32Q39 34 158 202L275 369Q275 370 221 441T112 586T55 663Q53 669 53 672Q53 687 68 693H72Q77 693 84 693T99 694T118 694T139 694H176Q203 694 212 692T230 682Q231 681 239 669T265 634T296 591L358 504L418 591Q481 682 486 686Q491 691 499 692Q505 694 569 694H632Q650 685 650 672Q650 667 646 660Q643 654 592 582T491 440T441 369T566 201T693 29Q694 27 694 23Q694 11 677 0H607L537 1Q523 6 519 10T437 131Q422 153 411 170T390 200T375 222T365 237T359 245L357 247L348 232Q339 218 319 188T283 131Q222 37 211 22T186 1H52'], + + // LATIN CAPITAL LETTER Y + 0x59: [694,0,733,24,708,'635 694H668Q688 694 698 690T708 670Q708 664 704 658L446 278L445 152V27Q442 20 440 17T433 9T419 1L368 0H339Q316 0 305 5T288 26Q286 31 286 154V278L157 468Q135 500 101 550Q43 635 34 650T24 671Q24 686 39 693Q42 694 105 694H122H132Q163 694 180 689T214 666Q225 654 336 485Q373 425 373 420L374 418Q375 419 375 421Q378 432 418 493T496 609T536 667Q543 676 551 681T572 689T591 693T615 694T635 694'], + + // LATIN CAPITAL LETTER Z + 0x5A: [694,0,672,61,616,'411 584Q243 581 131 581Q122 581 116 581T106 582T102 582Q84 589 80 600T76 640L77 667Q83 686 103 693Q106 694 343 694Q579 694 584 692Q592 691 599 684T609 668Q610 665 610 646Q610 614 608 608Q605 603 434 361L261 116Q340 117 402 118T490 119T533 120T560 120H572Q605 120 614 95Q616 89 616 60V46Q616 9 590 2Q585 0 339 0Q92 0 87 2Q79 3 72 10T62 26Q61 29 61 49Q61 84 63 90Q65 94 152 217T325 461T411 584'], + + // LEFT SQUARE BRACKET + 0x5B: [751,251,343,79,318,'318 -206Q318 -235 305 -243T255 -251Q248 -251 229 -251T198 -250H143Q112 -250 99 -246T81 -225Q79 -219 79 250T81 725Q85 741 98 745T143 750H198Q210 750 229 750T255 751Q291 751 304 743T318 707Q318 680 301 668Q293 663 255 663H224V-163H255Q293 -163 301 -168Q318 -180 318 -206'], + + // RIGHT SQUARE BRACKET + 0x5D: [751,251,343,24,263,'24 706Q24 734 39 742T90 751Q97 751 114 751T143 750H198Q230 750 243 746T261 725Q263 719 263 250T261 -225Q257 -241 244 -245T198 -250H143Q131 -250 112 -250T86 -251Q50 -251 37 -243T24 -207Q24 -180 41 -168Q49 -163 87 -163H118V663H87H71Q24 663 24 706'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-537,550,108,441,'108 550Q108 554 135 589T190 658T219 692Q221 694 275 694Q328 694 330 693Q331 692 381 629T438 557Q441 553 441 549T434 538L399 537Q363 537 362 538Q361 538 318 575L275 611Q274 611 231 575Q188 538 187 538Q186 537 150 537L115 538Q108 545 108 550'], + + // LOW LINE + 0x5F: [-23,110,550,0,549,'0 -66Q0 -32 26 -25Q30 -23 274 -23Q469 -23 497 -23T532 -28Q549 -40 549 -67Q549 -93 532 -105Q525 -109 498 -109T275 -110Q31 -110 26 -108Q0 -101 0 -66'], + + // LATIN SMALL LETTER A + 0x61: [475,11,525,31,473,'255 394Q218 394 186 383T138 358T109 333T94 321H91Q88 321 86 322T83 325T80 331T79 339T78 349T77 362T75 377Q72 410 72 420Q72 423 72 425T73 429T74 431T77 433T80 435T85 437Q166 475 262 475Q360 475 413 440Q462 406 471 341Q472 332 472 181Q472 155 472 119T473 73Q473 20 462 10T398 0H380Q349 0 337 8T324 48V65Q298 30 257 10T172 -11Q109 -11 70 37T31 145Q31 276 307 289H321V309Q321 337 318 352T300 381T255 394ZM176 146Q176 116 190 97T231 77Q251 77 266 85Q322 110 322 185Q322 189 322 192T322 198L321 201V234L308 232Q176 220 176 146'], + + // LATIN SMALL LETTER B + 0x62: [694,10,561,54,523,'54 667Q63 694 102 694H127H151Q190 694 199 671Q201 663 201 544L202 422L211 428Q270 468 355 468Q523 468 523 231Q523 -10 321 -10Q286 -10 261 -2T204 33Q197 11 187 6T142 0H126L81 1Q61 7 54 28V667ZM372 230Q372 317 355 349T280 382Q251 382 204 356V107Q235 76 274 76Q301 76 320 84T349 105T364 139T371 180T372 230'], + + // LATIN SMALL LETTER C + 0x63: [475,12,489,37,457,'188 233Q188 199 190 177T200 131T225 95T271 83H281Q356 83 421 130Q433 138 434 139Q446 141 448 131Q449 128 453 84T457 36Q455 30 432 20T364 -1T273 -11Q37 -11 37 232Q37 456 244 474Q246 474 257 474T276 475Q349 475 400 455Q443 436 448 431L451 425Q451 419 443 377Q442 372 441 366T439 356T438 348T436 340T435 334T433 330T431 327T429 325T426 324Q420 324 406 336Q376 362 350 372T281 382Q254 382 236 373T208 352T194 317T189 278T188 233'], + + // LATIN SMALL LETTER D + 0x64: [694,11,561,37,507,'225 -11Q192 -11 164 -3T104 29T55 102T37 227Q37 321 63 376Q111 469 223 469Q292 469 349 433L359 426V546Q359 564 359 589T358 623Q358 675 369 684T433 694H451Q497 694 505 669Q507 663 507 347T505 25Q500 9 487 5T450 0H432H413Q356 0 356 36V40Q298 -11 225 -11ZM356 359Q326 382 286 382Q239 382 215 358Q189 330 189 256V229V203V195Q189 102 231 86Q251 76 274 76Q318 76 356 114V359'], + + // LATIN SMALL LETTER E + 0x65: [475,10,511,30,481,'30 231Q30 301 51 351T107 426T181 463T262 474H268Q293 474 312 472T366 459T422 427T462 363T480 260Q480 230 466 222T405 213Q395 213 364 213T311 214H173V211Q173 183 183 148T216 96Q244 76 287 76Q319 76 350 85T399 104T433 125T451 136Q463 138 465 128Q466 125 469 84T473 39Q471 29 423 13T330 -9Q321 -10 286 -10Q213 -10 161 11T81 68T42 144T30 231ZM353 292Q350 324 342 344T320 373T294 384T264 387Q191 387 175 286V282H353V292'], + + // LATIN SMALL LETTER F + 0x66: [706,0,336,29,381,'67 458H78V502V509Q78 538 79 556T90 604T117 651T169 685T253 704Q254 704 258 704T265 705T275 705T287 704Q364 704 381 687V638V607Q381 591 378 585T366 579Q362 581 351 591T323 610T282 618Q238 618 226 587Q224 581 223 519V458H253Q288 458 298 453Q315 441 315 415Q315 399 312 390T299 377T282 372T259 371H255H226V201Q226 31 224 25Q215 0 174 0H150L106 1Q86 7 79 28L78 199V371H69Q29 371 29 412Q29 425 30 431T40 447T67 458'], + + // LATIN SMALL LETTER G + 0x67: [469,206,550,17,534,'63 108Q63 142 83 176L76 184Q35 227 35 300Q35 469 243 469Q330 469 385 437L397 443Q451 469 508 469Q515 468 517 466T522 456T528 425Q534 392 534 386Q532 379 523 377Q520 377 509 381T477 390T431 398L425 399Q453 362 453 297Q453 268 445 242T417 189T351 146T242 130Q169 130 119 153Q117 141 117 136Q117 95 155 83Q161 81 252 81Q354 80 362 79Q437 71 475 48T526 -24Q532 -42 532 -65Q532 -116 489 -156T341 -204Q323 -206 274 -206H256Q39 -206 18 -84Q17 -79 17 -68Q17 15 82 42L76 53Q63 79 63 108ZM310 300Q310 359 298 377T238 396Q217 396 204 390T186 368T179 339T178 300Q178 245 189 224T244 203T299 224T310 300ZM414 -66Q414 -55 411 -47T401 -32T387 -21T368 -14T346 -10T322 -7T297 -6T271 -6T246 -6H193Q163 -6 154 -10T140 -30Q135 -45 135 -62Q135 -134 274 -134Q414 -134 414 -66'], + + // LATIN SMALL LETTER H + 0x68: [694,0,561,53,508,'53 667Q62 694 101 694H126H148Q191 694 198 669Q200 663 200 526V390Q263 469 361 469Q390 469 412 465T456 449T491 413T507 351Q508 342 508 185Q508 31 506 25Q498 0 450 0H432H413Q368 0 359 23Q357 31 357 186Q356 345 355 350Q349 369 336 376Q324 381 301 381H298Q269 381 242 362Q217 342 210 316T202 239Q202 229 202 202T203 157V82Q203 24 195 12T146 0H125L80 1Q60 7 53 28V667'], + + // LATIN SMALL LETTER I + 0x69: [695,0,256,46,208,'72 574Q55 583 51 591T46 619V636L47 670L48 673Q50 676 52 678T56 684T63 690T73 694H81Q89 694 102 694T129 695H181Q193 687 196 685T203 676T207 661T208 634Q208 603 204 593T181 574H72ZM54 431Q63 458 102 458H127H149Q192 458 199 433Q201 427 201 229T199 25Q190 0 149 0H125L81 1Q61 7 54 28V431'], + + // LATIN SMALL LETTER J + 0x6A: [695,205,286,-71,232,'70 634V648Q70 686 96 693Q100 695 151 695H176Q201 695 213 691T230 670Q232 665 232 634V620Q232 582 206 575Q202 573 151 573H126Q101 573 89 577T72 598Q70 603 70 634ZM-41 -84Q-1 -105 28 -105Q67 -105 78 -85Q83 -77 83 -48T84 180Q84 427 86 433Q93 458 136 458H158H180Q201 458 209 456T225 443Q230 436 231 418Q232 397 232 313V183V124V40Q232 -55 228 -87T203 -147Q166 -205 78 -205Q31 -205 -20 -189T-71 -159Q-71 -156 -62 -124T-52 -89Q-49 -84 -41 -84'], + + // LATIN SMALL LETTER K + 0x6B: [694,0,531,63,496,'496 23Q496 9 487 5T457 0H427H398Q367 0 354 11Q352 12 288 99L226 183L191 150V90V54Q191 30 186 18T165 2Q160 0 124 0L90 1Q70 7 63 28V667Q72 694 108 694H128H146Q183 694 192 671Q194 663 194 496L195 325L254 383Q266 394 281 409T301 429T316 441T329 450T341 455T357 458T376 458H409H436Q461 458 470 454T480 437Q480 430 477 427T445 395Q417 368 396 347L319 271Q319 270 358 217T442 103T494 32Q496 30 496 23'], + + // LATIN SMALL LETTER L + 0x6C: [694,0,256,54,201,'54 667Q63 694 102 694H127H149Q192 694 199 669Q201 663 201 347T199 25Q190 0 149 0H125L81 1Q61 7 54 28V667'], + + // LATIN SMALL LETTER M + 0x6D: [469,0,867,53,815,'197 386Q256 468 366 468Q404 468 430 461T471 438T491 413T503 385Q563 469 666 469Q731 469 769 446T814 350Q815 343 815 185Q815 31 813 25Q808 9 796 5T758 0H737L692 1Q672 7 665 28L664 186V206V290Q664 349 655 365T610 381Q581 381 560 370T529 341T515 311T510 291Q509 286 509 157V82Q509 24 501 12T452 0H431L386 1Q366 7 359 28L358 186V206V290Q358 349 349 365T304 381Q275 381 254 370T223 341T209 311T204 291Q203 286 203 157V82Q203 24 195 12T146 0H125L80 1Q60 7 53 28V437Q58 453 80 464H122H142Q167 464 178 460T195 439Q197 434 197 409V386'], + + // LATIN SMALL LETTER N + 0x6E: [468,0,561,53,508,'197 386Q264 468 350 468Q375 468 390 467T429 460T466 443T492 408T507 351Q508 342 508 185Q508 31 506 25Q498 0 450 0H432H413Q368 0 359 23Q357 31 357 186Q356 345 355 350Q349 369 336 376Q324 381 301 381H298Q269 381 242 362Q217 342 210 316T202 239Q202 229 202 202T203 157V82Q203 24 195 12T146 0H125L80 1Q60 7 53 28V437Q58 453 80 464H122H142Q167 464 178 460T195 439Q197 434 197 409V386'], + + // LATIN SMALL LETTER O + 0x6F: [474,11,550,32,518,'274 -11Q32 -11 32 225Q32 346 85 406T249 474H266H271Q302 474 325 471T385 458T451 419T498 346Q518 300 518 225Q518 -11 274 -11ZM367 233Q367 322 350 354T270 387Q240 387 222 377T195 344T184 298T182 233Q182 151 198 117T275 83H282Q318 83 339 104Q355 119 361 146T367 233'], + + // LATIN SMALL LETTER P + 0x70: [469,194,561,54,523,'125 458H139Q174 458 185 452T202 420L211 426Q245 448 288 458T354 469Q356 469 361 469T369 468Q443 468 481 412Q523 355 523 223Q523 164 509 120T473 51T423 12T371 -7T323 -11Q260 -11 204 33V-65Q204 -80 204 -102T205 -131Q205 -162 200 -175T178 -192Q173 -194 126 -194L81 -193Q61 -187 54 -166V431Q58 447 81 458H125ZM372 230Q372 376 282 376Q247 376 204 352V107L208 103Q213 99 218 95T232 87T251 79T274 76Q323 76 349 116Q372 153 372 230'], + + // LATIN SMALL LETTER Q + 0x71: [470,194,561,37,507,'226 -11Q37 -11 37 236Q37 294 51 338T86 407T135 445T186 464T233 469H235Q300 469 349 422L359 413V425Q359 452 376 464Q384 469 433 469H455Q498 469 505 444Q507 438 507 137Q507 -163 505 -169Q500 -185 487 -189T450 -194H432H413Q367 -194 358 -171Q356 -163 356 -63V40L348 33Q296 -11 231 -11H226ZM281 375Q188 375 188 228Q188 77 275 77Q322 77 359 120V328Q338 357 324 366T281 375'], + + // LATIN SMALL LETTER R + 0x72: [469,0,372,54,356,'54 437Q58 453 81 464H122H147Q186 464 194 439Q196 434 196 405V377L203 387Q245 456 324 468Q325 468 331 468T340 469Q347 469 356 462V360Q350 355 346 354T339 353T326 353T300 347Q260 337 234 311T202 252Q201 247 201 138Q201 122 201 98T202 66Q202 33 197 20T175 2Q170 0 125 0L81 1Q61 7 54 28V437'], + + // LATIN SMALL LETTER S + 0x73: [474,10,422,30,396,'37 328Q37 392 75 433T203 474Q254 474 265 473Q319 465 370 442Q378 439 380 432Q380 426 372 384Q364 336 359 333Q358 331 355 331Q348 331 337 341Q282 388 216 388H208Q190 388 180 387T161 377T151 351Q151 333 164 323T224 306L267 297Q314 285 355 246T396 144Q396 17 282 -5Q260 -10 218 -10Q170 -10 124 2T55 26T30 44Q30 48 39 99T49 153Q52 159 60 159Q66 159 70 153Q100 120 133 101T218 82Q231 82 238 83T258 87T277 101T283 126Q283 149 260 160T200 176T153 186Q109 201 73 236T37 328'], + + // LATIN SMALL LETTER T + 0x74: [589,10,404,20,373,'225 267Q225 202 226 169T232 115T244 88T265 82Q295 84 318 100T345 116Q352 116 354 110T364 77Q373 46 373 43Q373 28 312 9T190 -10Q160 -10 139 1T107 29T89 77T82 136T80 210V258V371H66H59Q39 371 27 386Q20 394 20 417Q21 432 23 437Q35 458 60 458H65H83V510L84 562Q93 589 131 589H154H174Q216 589 223 564Q225 558 225 508V458H274Q330 458 338 453Q355 441 355 415Q355 388 338 376Q330 371 274 371H225V267'], + + // LATIN SMALL LETTER U + 0x75: [459,11,561,52,508,'53 431Q62 459 100 459Q105 459 114 459T127 458H152Q192 458 201 435Q203 427 203 262Q204 86 208 77Q209 74 216 71Q227 66 258 66H264Q334 66 354 140L356 150L357 290Q357 427 359 435Q365 449 377 453T412 458H432H450Q498 458 506 433Q508 427 508 229T506 25Q498 0 451 0H434H418Q386 0 374 7T360 43V58L352 49Q298 -11 199 -11Q135 -9 101 11T56 80Q52 100 52 273L53 431'], + + // LATIN SMALL LETTER V + 0x76: [458,0,500,26,473,'26 429T26 435T32 448T44 456Q48 458 85 458H99Q145 458 161 431Q162 429 207 285L251 145L294 284Q333 410 341 430Q351 451 374 456Q379 458 420 458H430Q450 458 457 456T471 443Q473 437 473 435Q473 426 443 325T381 126L350 28Q339 7 316 2Q312 0 250 0Q187 0 183 2Q160 7 149 28L136 68Q124 109 106 166T70 283T39 385'], + + // LATIN SMALL LETTER W + 0x77: [458,0,744,24,719,'699 458Q717 447 719 432Q719 426 666 230T610 27Q602 10 588 5T548 0H512H482Q431 0 420 17T384 135Q356 241 352 298V308L351 295Q348 251 322 145T290 28Q279 0 233 0H212H191Q146 0 133 27Q130 33 77 229T24 430Q24 449 44 457Q47 458 79 458Q122 458 126 456Q154 450 163 419L233 153Q241 187 272 304T307 431Q318 458 368 458Q394 458 398 456Q421 451 430 431Q434 423 509 147L547 286Q582 416 588 429Q600 454 624 457Q632 458 647 458H663H699'], + + // LATIN SMALL LETTER X + 0x78: [460,1,500,24,475,'92 0Q87 0 77 0T62 -1Q24 -1 24 22Q24 29 33 41T106 136Q185 237 184 238Q184 239 147 284T73 376T33 427Q31 430 31 436Q31 451 45 457Q48 458 96 458H122Q152 458 163 450T208 394L247 345L282 394Q288 403 297 416T309 434T319 444T328 452T338 455T352 458T372 458H393H440Q457 449 457 435Q457 428 450 419T379 328Q308 239 308 237L389 137Q409 112 436 79Q475 31 475 23Q475 -1 436 -1Q432 -1 422 -1T407 0Q360 0 352 3Q343 6 336 16T291 83L247 151L245 148Q243 145 239 139T229 124T218 106T204 84Q167 24 160 15T141 1L92 0'], + + // LATIN SMALL LETTER Y + 0x79: [458,205,500,29,473,'454 458Q473 446 473 430Q473 426 394 184L311 -68Q291 -119 245 -162T123 -205Q51 -205 46 -190Q44 -187 40 -142T36 -92Q36 -90 36 -88L37 -87Q41 -80 46 -80Q48 -80 73 -92T126 -105Q146 -105 161 -98T185 -76T197 -53T206 -28L215 0L122 212Q29 427 29 435Q29 448 46 457Q49 458 91 458Q93 458 106 458T125 457T140 454T157 446T170 431Q183 410 224 305T266 158Q266 152 266 151Q267 151 268 163Q271 206 302 310T342 432Q354 458 398 458H418H454'], + + // LATIN SMALL LETTER Z + 0x7A: [458,0,476,31,442,'268 376Q250 376 180 375T92 374Q69 374 63 380Q46 390 46 419Q46 428 49 437Q57 451 73 457Q76 458 242 458T413 456Q420 455 427 448Q439 438 439 413Q439 392 433 385Q432 383 318 236T204 88Q235 88 306 89T395 90H399Q408 90 414 89T427 84T438 70T442 45Q442 9 416 2Q411 0 236 0H136Q73 0 62 1T41 12Q31 23 31 47Q31 68 36 77Q37 78 51 97T96 155T153 228L268 376'], + + // TILDE + 0x7E: [344,-198,550,92,457,'92 215Q92 259 122 301T204 344Q238 344 264 329T310 300T343 285Q356 285 361 295T369 322T377 344H450Q457 334 457 330Q457 281 427 240T344 198Q312 198 285 213T239 242T206 257Q188 257 182 230T172 199L137 198H120Q102 198 97 200T92 215'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js new file mode 100644 index 00000000..eb3795cb --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'], + { + // COMBINING GRAVE ACCENT + 0x300: [694,-537,0,-458,-218,'-458 682Q-458 690 -452 692T-426 694H-381H-314L-312 691Q-311 691 -305 682T-287 655T-263 622L-218 555V549Q-218 544 -224 538L-259 537Q-295 537 -296 538Q-298 539 -376 606T-456 676Q-458 680 -458 682'], + + // COMBINING ACUTE ACCENT + 0x301: [694,-537,0,-334,-93,'-290 537H-310Q-334 537 -334 549Q-334 553 -311 588T-264 656L-241 690Q-240 690 -239 691T-236 693Q-235 694 -167 694H-100Q-93 684 -93 681T-94 677Q-95 675 -173 607T-255 538Q-256 537 -290 537'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-537,0,-442,-109,'-442 550Q-442 554 -415 589T-360 658T-331 692Q-329 694 -275 694Q-222 694 -220 693Q-219 692 -169 629T-112 557Q-109 552 -109 549Q-109 545 -116 538L-151 537Q-187 537 -188 538Q-189 538 -232 575L-275 611Q-276 611 -319 575Q-362 538 -363 538Q-364 537 -400 537L-435 538Q-442 545 -442 550'], + + // COMBINING TILDE + 0x303: [694,-548,0,-458,-93,'-458 565Q-458 609 -428 651T-346 694Q-312 694 -286 679T-240 650T-207 635Q-194 635 -189 645T-181 672T-173 694H-100Q-93 684 -93 680Q-93 631 -123 590T-206 548Q-238 548 -265 563T-311 592T-344 607Q-362 607 -368 580T-378 549L-413 548H-430Q-448 548 -453 550T-458 565'], + + // COMBINING MACRON + 0x304: [660,-560,0,-474,-77,'-84 660Q-81 656 -77 653V567L-81 564L-84 561L-274 560H-383Q-469 560 -471 565L-472 566Q-474 569 -474 611L-473 653Q-469 659 -466 659Q-465 660 -274 660H-84'], + + // COMBINING BREVE + 0x306: [694,-552,0,-470,-80,'-123 694Q-80 694 -80 657Q-80 626 -99 601T-161 563Q-199 552 -275 552Q-352 552 -389 563Q-470 586 -470 655Q-470 667 -468 673Q-457 694 -435 694H-431Q-408 694 -396 685Q-387 676 -387 671Q-384 661 -275 661Q-167 661 -164 671Q-164 674 -163 677T-151 687T-123 694'], + + // COMBINING DOT ABOVE + 0x307: [695,-596,0,-356,-194,'-329 596Q-346 602 -351 611T-356 638V646Q-356 653 -356 654T-356 661T-355 668T-353 673T-351 679T-347 684T-341 689T-332 693T-274 695H-221Q-202 683 -198 676T-194 645Q-194 632 -195 625T-202 610T-221 596H-329'], + + // COMBINING DIAERESIS + 0x308: [696,-595,0,-459,-91,'-331 695Q-312 683 -308 676T-304 645Q-304 632 -304 626T-311 610T-331 596L-380 595H-408Q-448 595 -457 617Q-459 621 -459 645T-457 673Q-448 696 -409 696Q-405 696 -396 696T-380 695H-331ZM-247 644Q-247 658 -246 665T-239 680T-221 694Q-217 695 -169 695H-143Q-102 695 -93 672Q-91 664 -91 645V635Q-91 613 -106 602Q-113 597 -121 596T-171 595L-219 596Q-232 600 -238 608T-246 622T-247 644'], + + // COMBINING RING ABOVE + 0x30A: [694,-538,0,-365,-119,'-365 616Q-365 658 -331 676T-256 694Q-253 694 -247 694T-236 693Q-166 693 -139 666Q-119 644 -119 616T-139 565Q-166 538 -237 538H-242Q-365 538 -365 616ZM-181 616Q-181 641 -195 647T-242 654Q-258 654 -266 654T-284 650T-298 638T-303 616Q-303 592 -289 585T-242 577Q-209 577 -195 584T-181 616'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [694,-537,0,-440,-94,'-426 686Q-424 694 -394 694H-350H-283Q-277 686 -277 682Q-277 673 -317 608T-361 538L-396 537H-420Q-432 537 -436 539T-440 548Q-440 560 -434 616Q-432 633 -430 650T-427 677L-426 686ZM-243 686Q-241 694 -211 694H-167H-100Q-94 686 -94 682Q-94 673 -134 608T-178 538L-213 537H-237Q-249 537 -253 539T-257 548Q-257 560 -251 616Q-249 633 -247 650T-244 677L-243 686'], + + // COMBINING CARON + 0x30C: [657,-500,0,-442,-109,'-442 645Q-442 657 -418 657H-398Q-393 657 -388 657T-379 657T-371 656T-365 656H-363L-319 620L-276 583Q-275 583 -232 619Q-189 656 -188 656Q-187 657 -151 657H-116Q-109 649 -109 645Q-109 642 -112 637Q-118 629 -168 566T-220 501Q-222 500 -275 500Q-329 500 -331 501Q-442 634 -442 645'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js new file mode 100644 index 00000000..2d4d8ab8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'] = { + directory: 'SansSerif/Bold', + family: 'MathJax_SansSerif', + id: 'MJSSB', + weight: 'bold', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js new file mode 100644 index 00000000..a635fc7c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js @@ -0,0 +1,83 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [458,0,256,54,201,'54 431Q63 458 102 458H127H149Q192 458 199 433Q201 427 201 229T199 25Q190 0 149 0H125L81 1Q61 7 54 28V431'], + + // LATIN SMALL LETTER DOTLESS J + 0x237: [458,205,286,-71,232,'-38 -84Q-36 -84 -14 -95T33 -106H38Q70 -103 78 -86Q83 -78 83 -49T84 180Q84 427 86 433Q93 458 136 458H158H180Q201 458 209 456T225 443Q230 436 231 418Q232 397 232 313V183V124V40Q232 -55 228 -87T203 -147Q166 -205 78 -205Q31 -205 -20 -189T-71 -159Q-71 -156 -59 -123Q-50 -96 -47 -91T-38 -84'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [691,0,581,92,534,'92 664Q98 683 118 690Q121 691 312 691T508 689Q534 682 534 644V632V618Q534 582 508 573L502 572Q496 572 489 572Q486 572 463 572T416 573Q333 573 291 575H253V303Q253 31 251 25Q242 0 199 0H170L119 1Q99 7 92 28V664'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [694,0,917,60,856,'381 692Q386 694 458 694Q516 694 527 693T549 687Q564 680 575 663Q576 658 715 349T856 27Q856 6 838 1H826Q815 1 795 1T747 1T686 1T616 0T539 0T458 0T378 0T300 0T230 0T169 1T122 1T90 1H78Q60 6 60 27Q62 38 201 349T341 663Q356 687 381 692ZM627 148Q626 149 581 250T492 453L447 554Q447 553 446 552Q444 546 326 278L268 148Q268 147 448 147Q627 147 627 148'], + + // GREEK CAPITAL LETTER THETA + 0x398: [716,22,856,62,793,'62 340Q62 716 425 716Q511 716 576 696T681 642T747 559T783 458T793 341Q793 264 777 203T721 89T608 7T428 -22Q62 -22 62 340ZM638 333Q638 365 637 387T632 441T621 495T600 542T567 583T518 611T451 628Q443 629 427 629Q402 629 378 624T327 608T276 571T240 511Q217 453 217 345Q217 254 231 204T279 120Q333 69 428 69Q522 69 576 120Q638 183 638 333ZM279 349V373Q279 413 305 420Q309 422 427 422H487Q550 422 563 414T576 369V349Q576 345 576 337T577 324Q577 284 550 277Q545 275 428 275H369Q306 275 293 283T279 329V349'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [694,0,672,41,630,'106 0H83Q41 0 41 28Q41 39 133 349T229 667Q242 694 296 694H335H375Q403 694 418 689T442 667Q445 660 537 350T630 28Q630 11 619 6T584 0H555H526Q478 0 465 27Q462 32 431 136T366 372T325 555V546Q320 503 287 376T222 141T186 27Q184 22 177 15T165 6Q154 0 106 0'], + + // GREEK CAPITAL LETTER XI + 0x39E: [688,0,733,46,686,'627 553Q609 553 512 554T366 555Q316 555 220 554T105 553Q96 553 90 553T82 554T78 554Q61 560 57 571T52 605V623L53 661Q59 680 79 687Q82 688 366 688Q649 688 654 686Q680 679 680 639V621V603Q680 563 654 554Q653 554 651 554T642 554T627 553ZM149 423Q152 424 366 424Q579 424 584 422Q610 415 610 376V358V340Q610 300 584 293Q579 291 366 291H232Q162 291 150 293T129 306Q122 315 122 360L123 397Q129 416 149 423ZM108 135Q143 135 226 134T363 133Q407 133 507 134T632 135H645Q675 135 684 110Q686 104 686 68V49Q686 9 660 2Q655 0 364 0L74 1Q57 7 49 21L47 28L46 65V83Q46 126 72 133Q80 135 108 135'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [691,0,794,92,702,'92 664Q98 683 118 690Q121 691 396 691T676 689Q695 684 700 666Q702 660 702 345Q702 31 700 25Q696 9 684 5T646 0H621H596Q571 0 559 4T542 25Q540 31 540 307V582H253V307Q253 31 251 25Q242 0 199 0H170L119 1Q99 7 92 28V664'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [694,0,794,61,732,'322 124Q326 124 457 125T672 127H689Q721 127 730 102Q732 96 732 64V48Q732 9 706 2Q701 0 394 0L89 1Q76 5 69 13T62 29V36Q62 37 62 38Q62 47 70 58T126 126Q161 167 185 196Q302 335 302 336L187 463Q74 584 68 594Q61 603 61 639L62 667Q68 686 88 693Q91 694 396 694T706 692Q732 686 732 647V635V621Q732 585 706 576Q705 576 702 576T691 576T670 575L302 578Q302 577 394 475T490 371Q498 362 498 347Q498 336 488 323T408 226L322 124'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [715,0,856,62,793,'62 560Q62 607 94 644T169 698T253 715Q273 715 286 713T322 704T363 677T398 625Q413 597 423 556L428 540Q429 541 436 566T454 620T494 677T561 713Q570 715 593 715Q682 715 737 668T793 560Q793 549 793 545T786 533T767 520H670Q646 532 644 551T632 579Q618 594 591 594Q539 594 524 530T509 321V216Q509 31 507 25Q498 0 455 0H426L375 1Q355 7 348 28L347 232Q346 344 346 441Q346 442 343 468T335 521T312 571T266 594Q252 594 247 593Q228 586 220 576T212 557T209 539T191 523L185 520H88Q75 527 69 534T63 545T62 560'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [694,0,794,62,732,'62 292T62 347T80 445T124 511T183 552T243 574T292 584L315 587H319V627L320 667Q329 694 370 694H397H422Q466 694 473 669Q475 663 475 625V587H478Q479 587 500 584T548 575T608 553T668 513T713 446T732 347Q732 253 674 187Q655 167 628 152T576 128T530 116T493 109L478 107H475V69V50Q475 9 449 2Q444 0 395 0L347 1Q327 7 320 28L319 67V107H315L292 110Q269 114 243 119T184 142T124 182T80 249ZM319 197T319 347T318 497Q316 497 307 494T284 485T262 471Q220 438 220 347Q220 285 239 249Q248 234 261 223T286 208T308 200L317 197Q319 197 319 347ZM572 347V357Q572 387 569 407T548 452T496 491Q495 491 494 491T487 493T475 497V197Q518 210 541 232T571 303Q572 312 572 347'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [694,0,856,61,794,'61 585Q62 594 62 597T64 606T73 616T89 626H138Q196 626 208 620Q243 602 253 546T261 431T271 309T325 219Q342 205 349 205Q350 205 350 436L351 667Q360 694 401 694H428H454Q495 694 504 671Q506 663 506 436L507 205Q542 222 561 251T586 318T593 392T595 472T602 546Q614 614 661 625Q665 626 708 626H730Q766 626 780 618T794 582Q794 548 768 540Q755 538 754 501T750 410T736 298T680 191T560 120Q550 116 512 109H506V70V50Q506 9 480 2Q475 0 426 0L378 1Q358 7 351 28L350 68V109L335 111Q298 117 267 129T214 156T175 191T146 229T127 272T115 314T109 357T106 395T105 429Q104 537 87 540Q66 548 63 565Q61 570 61 585'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [716,1,794,49,744,'241 122Q225 154 191 199T131 278T83 363T61 464Q61 497 68 527T94 591T145 650T228 693T349 715Q354 715 370 715T396 716Q539 716 622 668Q658 647 682 617T715 556T728 505T732 465Q732 415 711 365T663 280T602 200T552 122H632Q649 122 669 122T693 123H697Q736 123 742 98Q744 92 744 62V47Q744 9 718 2Q713 0 591 0L471 1Q454 7 446 21Q444 27 444 45Q444 96 463 154T506 257T549 360T569 469Q569 504 563 530T538 580T485 616T396 629Q313 629 268 594T223 468Q223 419 243 361T286 258T330 152T350 41Q350 14 335 7T276 -1Q267 -1 241 -1T197 0L77 1Q57 7 50 28L49 59V74Q49 114 75 121Q81 123 100 123Q104 123 124 123T161 122H241'], + + // EN DASH + 0x2013: [327,-240,550,0,549,'0 284Q0 318 26 325Q30 327 274 327Q469 327 497 327T532 322Q549 310 549 283Q549 257 532 245Q525 241 498 241T275 240Q31 240 26 242Q0 249 0 284'], + + // EM DASH + 0x2014: [327,-240,1100,0,1099,'0 284Q0 318 26 325Q30 327 549 327T1073 325Q1099 318 1099 284Q1099 249 1073 242Q1068 240 549 240Q31 240 26 242Q0 249 0 284'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-443,306,81,226,'87 443L81 449V581L119 636Q125 644 131 653T141 667T148 677T154 685T158 689T163 692T167 693T173 694H190H201Q226 694 226 683Q226 678 208 635T189 590Q189 588 204 588H219Q222 584 226 581V449L219 443H87'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-442,306,80,226,'81 687Q85 693 88 693Q89 694 154 694H219Q222 690 226 687V556L187 501Q182 494 177 486T169 474T163 465T157 457T153 451T149 447T145 445T141 443T137 443T132 442H116H105Q80 442 80 453Q80 458 98 501T117 546Q117 548 102 548L87 549L81 555V687'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-443,558,138,520,'144 443L138 449V581L176 636Q182 644 188 653T198 667T205 677T211 685T215 689T220 692T224 693T230 694H247H258Q283 694 283 683Q283 678 265 635T246 590Q246 588 261 588H276Q279 584 283 581V449L276 443H144ZM381 443L375 449V581L413 636Q419 644 425 653T435 667T442 677T448 685T452 689T457 692T461 693T467 694H484H495Q520 694 520 683Q520 678 502 635T483 590Q483 588 498 588H513Q516 584 520 581V449L513 443H381'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-442,558,37,420,'38 687Q42 693 45 693Q46 694 111 694H176Q179 690 183 687V556L144 501Q139 494 134 486T126 474T120 465T114 457T110 451T106 447T102 445T98 443T94 443T89 442H73H62Q37 442 37 453Q37 458 55 501T74 546Q74 548 59 548L44 549L38 555V687ZM275 687Q279 693 282 693Q283 694 348 694H413Q416 690 420 687V556L381 501Q376 494 371 486T363 474T357 465T351 457T347 451T343 447T339 445T335 443T331 443T326 442H310H299Q274 442 274 453Q274 458 292 501T311 546Q311 548 296 548L281 549L275 555V687'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/Other.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js new file mode 100644 index 00000000..aa98cefc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js @@ -0,0 +1,290 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [694,0,319,110,355,'160 187L257 694H306Q355 694 355 693L238 186H199Q160 186 160 187ZM110 2Q111 3 120 49T131 96Q131 98 180 98T229 96L219 50Q209 3 208 2V0H110V2'], + + // QUOTATION MARK + 0x22: [694,-471,500,133,472,'171 647L180 694H229Q278 694 278 693L276 686Q275 680 273 668T268 644L258 597L182 471H157Q133 471 133 472L189 595Q189 596 174 596H160V598Q160 601 171 647ZM365 647L374 694H423Q472 694 472 693L470 686Q469 680 467 668T462 644L452 597L376 471H351Q327 471 327 472L383 595Q383 596 368 596H354V598Q354 601 365 647'], + + // NUMBER SIGN + 0x23: [694,194,833,87,851,'793 170Q809 162 809 149Q809 145 807 141T802 135T796 132L793 130H547L472 -27Q397 -184 394 -187Q389 -194 379 -194Q367 -194 362 -183Q359 -179 359 -173Q360 -168 431 -20L503 129Q503 130 410 130H317L242 -27Q167 -184 164 -187Q159 -194 149 -194Q137 -194 132 -183Q129 -179 129 -173Q130 -168 201 -19L273 130H187L100 131Q87 141 87 150Q87 162 102 170H294L331 248Q339 265 349 286T365 318L370 328Q370 330 258 330Q145 330 142 332Q129 338 129 351Q129 362 140 368Q146 370 267 370L391 371L467 527Q542 684 544 686Q544 688 549 691T560 694H562Q565 693 567 692T571 690T575 686T578 681T579 672Q577 665 507 520T436 373L435 370H528L621 371L692 518Q767 675 769 677Q775 694 789 694Q798 694 804 688T809 672Q806 664 737 519L665 371L751 370Q835 370 841 368Q851 362 851 350Q851 337 841 334T799 330H765H741H645L606 250L568 170H793ZM600 328Q600 330 508 330H415Q412 326 338 171Q338 170 431 170H524L561 248Q569 265 579 286T595 318L600 328'], + + // DOLLAR SIGN + 0x24: [750,56,500,56,565,'228 70Q233 92 246 155T270 266T280 316Q271 318 265 320T237 333T200 360T172 403T159 468Q159 537 205 600T325 691Q352 701 360 701Q361 701 361 701T362 703T364 711T368 727L372 750H409Q445 750 445 749L436 705Q436 703 450 702T494 691T554 657L565 649Q562 642 548 604L534 568Q511 591 484 605T440 621L424 623L419 624L372 405Q399 400 424 384Q490 338 490 247V240Q490 156 430 85Q374 13 294 -5L284 -7L280 -30Q279 -35 278 -41T275 -52L274 -55Q274 -56 237 -56Q201 -56 201 -54Q202 -53 205 -34T211 -11Q211 -9 206 -9Q154 -2 115 19Q80 35 56 59L88 141L99 131Q109 121 119 113T141 99T160 89T180 82T197 77T214 73T228 70ZM303 426Q304 427 313 471T332 564T345 620L335 616Q287 596 263 549Q252 525 252 499Q252 470 267 451T298 426Q303 424 303 426ZM302 75Q305 75 315 80T340 98T367 125T390 164T399 214Q399 247 384 268T349 297Q338 247 326 186L302 75'], + + // PERCENT SIGN + 0x25: [750,56,833,165,815,'268 347Q224 347 195 386T165 488Q165 517 173 552Q191 637 246 693T349 749Q389 749 414 725T448 673T456 614Q456 506 396 427T268 347ZM372 604Q372 674 339 674Q311 674 290 633T261 549T253 482V474Q253 438 272 426Q277 424 286 424Q319 424 345 485T372 604ZM189 -56Q179 -56 173 -49T167 -37Q167 -30 347 198Q425 296 475 360Q780 745 785 747Q790 750 796 750Q814 748 814 730Q814 725 811 719L204 -49Q198 -56 189 -56ZM523 87Q523 184 583 265T713 347Q758 347 786 308T815 207Q815 110 757 28T629 -55Q576 -55 550 -12T523 87ZM729 200Q729 271 696 271Q675 271 658 247T631 189T616 125T611 76Q611 21 644 21H647Q672 21 700 77T729 200'], + + // AMPERSAND + 0x26: [716,22,758,71,747,'219 -22Q158 -22 117 13T71 111Q71 131 74 150T84 185T98 215T118 241T137 262T159 281T179 295T199 308L214 318L258 348L256 362Q254 373 254 413V435Q254 483 271 537T325 641T411 708Q427 715 441 715Q446 716 455 716Q504 716 534 681T565 590Q565 522 519 468T377 347L358 334Q359 333 363 320T374 290T387 262Q404 227 428 187T460 139Q521 183 574 251T651 362T674 409L710 398Q746 388 747 388Q747 381 720 333T635 213T517 94L510 87Q542 57 598 57Q649 57 708 72Q716 75 718 75L709 34L701 -7Q636 -22 578 -22Q531 -22 498 -8T428 34L408 25Q314 -22 219 -22ZM480 579Q480 640 436 640Q410 640 385 615T351 554Q340 513 340 457Q340 413 343 410Q343 406 360 419Q431 471 455 505T480 579ZM245 57Q279 59 311 67T359 81T375 89T358 113T318 178T281 260L274 277L245 257Q167 205 167 135Q167 110 174 93T194 69T217 60T237 57H245'], + + // APOSTROPHE + 0x27: [694,-471,278,190,335,'228 647L237 694H286Q335 694 335 693L334 686Q332 680 330 668T325 644L315 597L239 471H214Q190 471 190 472L246 595Q246 596 231 596H217V598Q217 601 228 647'], + + // LEFT PARENTHESIS + 0x28: [750,250,389,104,491,'195 37Q195 -7 200 -47T213 -113T231 -166T250 -204T268 -232T280 -250H204L194 -238Q104 -124 104 55Q104 238 181 432T405 740L417 750H454Q491 750 491 749L468 729Q446 709 411 667T337 565T262 405T208 188Q195 110 195 37'], + + // RIGHT PARENTHESIS + 0x29: [750,250,389,2,390,'300 463Q300 634 222 740L214 750H290L299 740Q300 738 309 726T323 707T337 682T353 651T367 613T379 566T387 510T390 444Q390 314 344 156T203 -125Q179 -155 145 -191Q111 -224 89 -241L78 -250H2Q4 -248 27 -227T65 -189T107 -140T155 -71T200 16T244 129T278 266Q300 372 300 463'], + + // ASTERISK + 0x2A: [750,-306,500,156,568,'193 608Q193 628 210 644T246 660Q250 660 252 660T257 658T264 654T272 648T284 638T302 623Q340 590 340 593Q341 594 345 623T354 682T360 715Q365 729 378 739T407 750Q424 750 433 740T443 720Q443 712 427 652L410 591L462 623Q505 650 514 655T534 660Q549 660 558 650T568 625Q568 617 567 611T560 599T551 590T536 580T519 571T496 561T470 548L429 528L474 500Q482 495 492 489T506 481T516 475T523 469T527 464T529 458T530 450Q530 430 514 414T479 397H475Q468 397 460 402T423 433Q414 440 404 448T388 461L383 465L365 344Q348 306 314 306Q302 306 292 313T281 338Q281 347 297 404L313 464L260 433Q201 397 195 397H189Q173 397 165 407T156 432Q156 438 157 443T161 452T166 460T175 468T185 475T198 482T212 489T230 497T250 506L295 528L250 556Q203 582 202 585Q193 591 193 608'], + + // PLUS SIGN + 0x2B: [583,83,778,108,775,'108 244T108 250T112 261T119 268T124 270H426V272Q428 274 457 419Q489 565 492 573Q497 583 508 583Q516 583 522 577T528 565Q528 553 498 417Q491 384 483 346T471 288L467 270H760Q775 262 775 250T760 230H458Q456 221 426 77T394 -71Q389 -83 375 -83Q367 -83 362 -78T356 -64Q356 -58 387 84Q394 118 401 155T413 210L417 229Q417 230 271 230H124Q123 230 120 232T112 239'], + + // COMMA + 0x2C: [98,125,278,63,209,'90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2Q188 0 149 -63L112 -125H63L120 0H105Q90 0 90 2'], + + // HYPHEN-MINUS + 0x2D: [259,-186,333,51,332,'66 257V259H332V257L324 220L317 186H184Q51 186 51 187T58 220T66 257'], + + // FULL STOP + 0x2E: [98,0,278,90,209,'90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2V0H90V2'], + + // SOLIDUS + 0x2F: [750,250,500,6,600,'564 744L568 747Q573 750 579 750Q588 750 594 744T599 729Q597 721 321 241T41 -243Q37 -250 27 -250Q6 -250 6 -230Q6 -228 8 -222Q9 -219 285 261T564 744'], + + // DIGIT ZERO + 0x30: [678,22,500,87,549,'245 -22Q209 -22 181 -11T135 20T107 65T92 116T88 171Q88 235 114 354T194 557Q226 606 269 635T340 671T392 678H395Q422 678 446 670T495 643T534 582T549 481Q549 430 534 350T499 213Q459 89 379 25Q315 -22 247 -22H245ZM430 582Q408 601 378 601Q313 601 269 534Q234 475 205 341Q181 232 181 174Q181 104 209 76Q231 54 260 54T318 73T368 125Q410 194 447 375Q460 445 460 487Q460 555 430 582'], + + // DIGIT ONE + 0x31: [678,0,500,88,451,'234 613Q277 613 331 628T428 678H439Q451 678 451 676Q450 671 387 373T323 74T384 73H445L430 0H259L88 1L104 73H229L332 560Q278 541 198 539Q198 540 198 541T199 546T200 554T202 564T205 576L213 612H219Q221 612 226 612T234 613'], + + // DIGIT TWO + 0x32: [678,0,500,50,551,'190 460Q189 460 181 475T164 507T155 527Q155 535 182 571Q259 678 380 678Q462 678 506 630T551 513V507Q551 418 487 349Q469 329 441 305T391 265T344 232T316 212Q158 87 158 86T188 85Q194 85 234 85T311 86Q467 86 467 85Q451 9 449 2V0H50Q54 18 58 40L67 79L133 133Q246 226 269 243Q369 318 410 373T452 492Q452 535 433 560T393 592T350 599Q311 599 279 578T231 532T203 484T190 460'], + + // DIGIT THREE + 0x33: [678,23,500,56,544,'446 542Q446 576 424 590T372 605Q330 605 288 583T216 524Q209 515 208 516Q207 517 192 549L178 580L187 589Q224 627 276 652T386 678Q456 678 500 642T544 550Q544 515 530 482T495 427T453 387T418 362L403 353L413 348Q440 335 462 313Q500 271 500 217Q500 135 423 57T236 -22T63 59L56 68L85 141Q106 112 125 98Q177 54 254 54Q315 54 355 105T396 218Q396 242 393 254Q380 301 335 313Q327 315 280 316Q233 316 233 318L249 392Q298 392 322 399Q373 408 409 453T446 542'], + + // DIGIT FOUR + 0x34: [656,0,500,62,521,'78 235L411 656H465Q519 656 519 655T475 447T430 237V235H521V233L505 160Q505 159 459 159H414L380 0H286L320 159H62L63 164Q64 169 66 179T70 198L78 235ZM342 235L421 607Q420 607 419 604Q409 535 197 267Q173 236 173 235H342'], + + // DIGIT FIVE + 0x35: [656,22,500,49,555,'330 350Q263 350 214 272H133V275Q134 276 174 467L214 655Q214 656 385 656H555V653Q555 652 554 647T550 631T546 613L539 577H284L265 486Q261 464 256 441T248 406L246 395L250 398Q255 401 264 406T286 415T315 423T350 427Q412 427 455 381T498 256Q498 150 415 64T222 -22Q186 -22 155 -12T105 12T74 41T55 65T50 77L51 79Q61 89 78 112L104 145L107 138Q110 130 114 123T125 106T142 88T165 72T196 60T236 55Q282 55 316 79T366 140T389 208T396 267Q396 310 378 330T337 350H330'], + + // DIGIT SIX + 0x36: [678,22,500,94,548,'437 605Q397 605 361 585T301 536T261 477T236 426T228 401L236 408Q244 414 260 424T296 445T345 462T402 469H404Q422 469 434 467T465 446T498 394Q515 351 515 307Q515 254 497 193T439 85Q352 -22 246 -22Q220 -22 196 -14T148 15T109 78T94 179Q94 272 123 373Q163 505 257 591T450 678Q474 678 498 674T535 664T548 656L540 621L532 586L520 590Q509 594 485 599T437 605ZM339 392Q281 392 233 334T185 163V158Q185 87 230 61Q244 54 262 54Q325 54 371 122Q395 158 407 217T419 298Q419 337 401 364T339 392'], + + // DIGIT SEVEN + 0x37: [656,11,500,143,596,'173 614L181 656H389Q596 656 596 655L595 650Q594 645 592 635T588 616L580 578L554 551Q313 307 245 4L242 -11H192Q143 -11 143 -10Q144 0 148 17T169 89T212 198T285 327T393 470Q423 504 472 550Q479 555 485 561T496 571L329 570Q163 570 163 571L164 577Q166 583 168 593T173 614'], + + // DIGIT EIGHT + 0x38: [678,22,500,77,554,'159 470Q159 547 229 612T394 678Q467 678 510 636T554 533Q554 512 549 493T535 458T515 429T492 405T467 386T443 372T423 362T409 356L404 354Q404 353 405 353Q411 353 432 341T476 295T500 218Q500 134 424 56T246 -22Q175 -22 126 22T77 143Q77 204 110 251T188 327L202 334Q216 340 229 346T243 353T235 358T214 372T189 393T168 426T159 470ZM467 527Q467 605 375 605Q317 605 281 566T244 472Q244 429 271 411T334 392Q392 392 429 430T467 527ZM405 228Q405 262 384 289T315 316Q257 316 216 266T174 144Q174 95 199 75T262 54Q329 54 367 109T405 228'], + + // DIGIT NINE + 0x39: [677,22,500,77,545,'220 594Q303 677 389 677Q545 677 545 479Q545 413 526 327Q493 175 398 77T202 -22Q124 -22 77 25L130 91L137 83Q169 54 218 54Q255 54 290 76T347 129Q364 151 380 182T403 232T411 256Q410 255 390 241T353 217T303 197T236 187Q195 187 173 209Q155 226 140 263T124 352Q124 392 135 435Q154 527 220 594ZM455 497Q455 605 383 605Q340 605 305 577T246 492Q220 411 220 360Q220 278 279 264Q280 264 287 264T299 263Q347 263 387 302Q455 375 455 497'], + + // COLON + 0x3A: [444,0,278,90,282,'174 396L184 444H233Q282 444 282 443Q277 421 272 394L262 346H213Q164 346 164 347Q169 369 174 396ZM90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2V0H90V2'], + + // SEMICOLON + 0x3B: [444,125,278,63,282,'174 396L184 444H233Q282 444 282 443Q277 421 272 394L262 346H213Q164 346 164 347Q169 369 174 396ZM90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2Q188 0 149 -63L112 -125H63L120 0H105Q90 0 90 2'], + + // EQUALS SIGN + 0x3D: [370,-130,778,88,796,'142 368Q145 370 463 370Q780 370 784 368Q796 364 796 350T784 332Q780 330 463 330Q145 330 142 332Q129 338 129 351Q129 362 142 368ZM88 137T88 150T102 170H738Q739 170 742 168T750 161T754 150T750 139T743 132T738 130H102Q88 137 88 150'], + + // QUESTION MARK + 0x3F: [704,0,472,173,536,'194 652Q194 654 218 666T284 691T362 704Q444 704 490 678T536 583Q536 541 516 500T459 433Q415 400 387 371T343 313T321 266T307 216L301 186H262Q223 186 223 187Q224 199 228 218T250 288T294 377Q317 413 344 440T391 481T414 499Q442 527 442 574Q442 584 441 590T433 607T409 623T362 629Q335 629 310 624T267 610T235 595T214 582T205 576L200 614Q194 651 194 652ZM173 2Q174 3 183 49T194 96Q194 98 243 98T292 96L282 50Q272 3 271 2V0H173V2'], + + // COMMERCIAL AT + 0x40: [705,10,667,120,707,'120 267Q120 377 179 478T336 642T538 705Q610 705 658 662T707 513Q707 425 681 331Q658 241 590 179T447 117Q386 117 343 163T300 288Q300 397 374 486T544 576Q575 576 608 562Q590 628 517 628Q406 628 309 522T212 278Q212 179 267 122T404 65T550 91H631Q513 -10 390 -10Q265 -10 193 70T120 267ZM600 397Q600 441 581 471T530 501Q476 501 433 436T390 298Q390 254 409 224T462 193Q512 193 556 257T600 397'], + + // LATIN CAPITAL LETTER A + 0x41: [694,0,667,28,638,'28 0L429 694H533L585 350Q596 275 610 182T632 46L638 3V0H530L528 18Q527 25 515 103T503 183H223L135 29L118 1L73 0H28ZM492 254Q492 256 473 398T454 589V610Q433 552 290 301L264 255L378 254H492'], + + // LATIN CAPITAL LETTER B + 0x42: [694,0,667,90,696,'501 363Q557 355 605 316T653 222Q653 148 586 85T403 2Q394 1 240 0Q90 0 90 1L100 46Q109 90 128 177T164 348L238 694H375Q518 693 546 688Q614 674 655 635T696 544Q696 490 648 441T516 368L501 363ZM601 530Q601 568 566 590T479 621Q472 622 394 623H320L297 513Q292 489 286 459T276 415L273 401V399H339H372Q504 399 571 466Q601 498 601 530ZM257 322Q256 320 230 197T203 73Q203 71 289 71Q379 72 387 73Q459 84 507 122T556 210Q556 255 519 283T428 320Q415 322 336 323Q257 323 257 322'], + + // LATIN CAPITAL LETTER C + 0x43: [705,10,639,124,719,'124 266Q124 372 179 473T333 639T544 705Q592 705 635 697T698 679L718 670Q719 669 701 621T681 572L676 576Q670 580 661 586T641 598T614 611T583 620Q558 625 526 625Q406 625 318 516T230 276Q230 238 236 212Q251 148 294 108T412 68Q469 68 508 80T598 123Q608 129 608 128Q606 109 603 87L598 45L573 33Q521 7 486 -1T394 -10Q358 -10 346 -8Q260 5 202 62Q124 145 124 266'], + + // LATIN CAPITAL LETTER D + 0x44: [694,0,722,88,747,'162 348L236 694H385Q535 693 543 692Q600 682 641 654T705 586T737 506T747 425Q747 296 672 187Q625 114 548 62T384 1Q376 0 262 0Q88 0 88 1L98 46Q107 90 126 177T162 348ZM622 533Q575 624 443 624Q434 624 419 624T399 623H321L263 348Q249 283 234 213T212 107L204 72Q204 71 289 71Q374 72 386 74Q501 94 573 193T646 422Q646 487 622 533'], + + // LATIN CAPITAL LETTER E + 0x45: [691,0,597,86,688,'86 2Q88 4 160 346T233 689Q233 691 461 691Q688 691 688 689Q685 686 671 611H495L320 612L319 609Q319 607 297 501L274 397H436Q597 397 597 396L596 391Q595 386 593 376T589 358L581 322L420 321Q258 321 258 320Q209 89 208 87Q208 85 390 85Q417 85 460 85T518 86L572 85Q556 8 554 2V0H86V2'], + + // LATIN CAPITAL LETTER F + 0x46: [691,0,569,86,673,'86 2Q88 4 160 346T233 689Q233 691 453 691T673 689Q670 686 656 611H488L320 612Q314 579 302 523T281 427T272 385Q272 384 419 384H567L551 308H255L223 156Q216 124 207 82T194 20L190 2Q190 0 138 0H86V2'], + + // LATIN CAPITAL LETTER G + 0x47: [705,11,667,125,730,'125 267Q125 375 182 476T337 641T544 705Q598 705 644 693T710 669T730 655L712 609L693 560L692 557L681 567Q618 626 526 626Q447 626 378 573T269 440T229 277Q229 185 276 127T406 68Q422 68 451 71T502 78T524 84L526 93Q528 102 532 119T539 153L553 222Q553 223 495 223Q436 223 436 224Q436 230 444 262L452 299H662V296Q661 290 635 166T607 40Q606 37 576 25T492 1T391 -11Q272 -11 199 66T125 267'], + + // LATIN CAPITAL LETTER H + 0x48: [694,0,708,86,768,'517 2Q518 3 551 161T585 322Q586 323 557 323T422 323H259L190 0H138Q86 0 86 1L96 46Q105 90 124 177T160 348L234 694H337V691Q336 690 306 545T275 399H602L603 403Q603 407 634 551L665 694H768V691Q768 690 695 348T621 2V0H517V2'], + + // LATIN CAPITAL LETTER I + 0x49: [694,0,278,87,338,'161 348L235 694H338V691Q338 690 265 348T191 2V0H139Q87 0 87 1L96 46Q106 90 125 177T161 348'], + + // LATIN CAPITAL LETTER J + 0x4A: [694,22,472,46,535,'377 424L435 694H535V691Q534 685 476 412T416 135Q401 74 350 26T210 -22Q165 -22 124 -11T65 9T46 21L54 41Q62 61 70 83T81 109Q82 111 85 106Q86 105 87 103Q93 94 103 84T135 64T185 53Q238 53 272 76T317 142Q317 145 325 182T348 289T377 424'], + + // LATIN CAPITAL LETTER K + 0x4B: [694,0,694,88,784,'236 223Q235 222 213 113T188 2V0H138Q88 0 88 1L98 46Q107 90 126 177T162 348L236 694H285Q335 694 335 693L330 671Q326 649 316 603T298 518Q289 477 280 433T266 366L261 343L672 694H729L784 693L465 420L651 0H596L541 1L384 350Q383 351 310 288T236 223'], + + // LATIN CAPITAL LETTER L + 0x4C: [694,0,542,87,516,'161 348L235 694H338V691Q338 690 273 385T208 79Q278 80 362 80H516Q502 11 499 2V0H293Q87 0 87 1L96 46Q106 90 125 177T161 348'], + + // LATIN CAPITAL LETTER M + 0x4D: [694,0,875,92,929,'375 691Q456 215 459 124V106Q488 177 762 641L793 694H929V691Q929 690 856 348T782 2V0H689V2Q691 4 753 304Q817 604 818 606Q819 611 817 608Q817 607 815 603Q798 559 540 117L484 22H440L397 23L393 42Q393 47 373 169T334 422T315 594V609L250 306Q186 3 185 2Q185 0 138 0Q92 0 92 1L102 46Q111 90 130 177T166 348L240 694H375V691'], + + // LATIN CAPITAL LETTER N + 0x4E: [694,0,708,88,766,'311 609Q310 608 246 306T181 2V0H134Q88 0 88 1L98 46Q107 90 126 177T162 348L236 694H382L383 691Q383 688 418 561T493 286T541 97L544 84L545 89Q545 90 553 128T578 246T610 394L674 694H766V691Q766 690 693 348T619 2V0H472L469 13Q468 17 393 293T312 605L311 609'], + + // LATIN CAPITAL LETTER O + 0x4F: [716,23,736,118,763,'118 254Q118 366 174 473T324 648T517 716Q627 716 695 638T763 435Q763 321 706 215T555 43T362 -22Q256 -22 187 56T118 254ZM380 58Q452 58 518 116T622 263T661 442Q661 496 646 535T608 594T567 622T534 634Q516 636 496 636Q400 636 313 528T225 264Q225 172 267 115T380 58'], + + // LATIN CAPITAL LETTER P + 0x50: [694,0,639,88,690,'162 348L236 694H378Q522 693 530 692Q604 680 647 635T690 524Q690 474 665 430T612 359Q550 299 465 280Q443 275 343 274H250V271Q250 269 235 201T206 68T192 2V0H140Q88 0 88 1L98 46Q107 90 126 177T162 348ZM594 513Q594 560 562 588T477 622Q470 623 394 623H321L293 487L263 349V347H342H347H375Q530 347 578 449Q594 483 594 513'], + + // LATIN CAPITAL LETTER Q + 0x51: [716,125,736,118,763,'118 254Q118 366 174 473T324 648T517 716Q627 716 695 638T763 435Q763 305 693 194T543 36Q547 29 586 -47T625 -125H504L450 -8Q406 -22 363 -22Q256 -22 187 56T118 254ZM661 437Q661 532 616 584T506 636Q428 636 361 578T257 433T220 258Q220 167 264 113T380 58Q390 58 397 58T408 59T413 60T417 61Q417 63 387 127T356 193Q356 194 409 194H462L485 150L508 105Q509 103 532 125T567 161Q661 278 661 437'], + + // LATIN CAPITAL LETTER R + 0x52: [694,0,646,88,698,'162 348L236 694H375H414H445Q507 694 538 690T606 668Q698 623 698 534V528Q698 447 608 377Q582 358 555 345T512 326L497 321L617 0H565L513 1L402 309H255L189 0H138Q88 0 88 1L98 46Q107 90 126 177T162 348ZM603 525Q603 603 499 620Q486 622 403 623H321L297 506Q292 482 285 449T274 402L271 387V385H346Q350 385 363 385T386 384Q548 384 592 479Q603 503 603 525'], + + // LATIN CAPITAL LETTER S + 0x53: [716,22,556,54,609,'161 478Q161 568 242 642T435 716Q527 716 599 673L609 667Q595 633 589 615L571 568Q570 568 564 575T546 592T518 611T475 628T417 635Q351 635 305 596T259 507Q259 465 290 444T372 411T432 396Q473 385 509 343T545 236Q545 140 464 59T270 -22Q155 -22 54 48L92 146Q93 146 101 138T124 117T161 92T216 72T288 63Q360 63 403 109T447 204Q447 220 444 233T435 256T421 273T404 285T385 295T366 301T347 306T331 310T315 314T292 321T265 331T235 346T207 367T183 395T168 431T161 478'], + + // LATIN CAPITAL LETTER T + 0x54: [688,0,681,165,790,'165 608L182 687Q182 688 486 688H790L789 685L781 645L773 609H521L457 306Q393 3 392 2Q392 0 340 0H288V2Q289 5 353 304T417 605V609L291 608H165'], + + // LATIN CAPITAL LETTER U + 0x55: [694,22,688,131,747,'340 -22Q251 -22 191 33T131 177V187Q131 192 131 195T132 205T133 215T136 231T141 253T147 285T156 328T168 384T184 457L235 694H338V691Q338 690 288 451T236 210Q234 194 234 177Q234 138 247 111T280 72T319 54T357 49Q408 49 449 74T510 128Q516 136 521 143T530 158T538 175T545 194T553 220T560 250T569 289T579 336T591 395T606 464L655 694H747V691Q651 243 645 213Q623 149 587 102Q482 -22 340 -22'], + + // LATIN CAPITAL LETTER V + 0x56: [694,0,667,161,799,'220 348L161 694H216Q270 694 270 693L283 613Q334 313 346 215Q359 102 359 96Q359 87 358 84Q388 162 684 657L706 694H753Q799 694 799 693L387 0H333Q279 0 279 1L272 45Q264 89 249 177T220 348'], + + // LATIN CAPITAL LETTER W + 0x57: [694,0,944,161,1076,'596 540Q596 562 597 585T599 609Q599 588 436 255Q402 185 362 104L310 0H213V3Q213 6 188 347T161 694H263L265 664Q290 327 293 184Q293 112 289 85Q290 85 290 87Q290 95 301 123T332 194T373 282T419 380T463 469T498 541T517 579L574 694H671V689L674 646Q678 603 682 538T691 401T699 263T703 160Q703 102 700 87Q719 154 930 576L989 694H1076Q1076 693 903 347L730 0H628V4L626 26Q624 48 622 85T616 168T609 267T603 369T598 464T596 540'], + + // LATIN CAPITAL LETTER X + 0x58: [694,0,667,14,758,'14 0Q17 3 184 184T352 367L265 529Q244 567 222 609T188 672L176 692Q176 694 236 694H297L338 612Q387 515 400 489L421 448L645 694H758L708 640Q481 393 456 368Q455 366 500 281T596 104T652 0H531L388 293L128 0H14'], + + // LATIN CAPITAL LETTER Y + 0x59: [694,0,667,151,809,'151 692Q151 694 212 694H272L418 362L696 683L705 694H758L809 693Q809 692 630 490T444 280Q442 275 413 139L383 1L333 0Q282 0 282 2Q283 3 312 141L341 278L246 484L151 692'], + + // LATIN CAPITAL LETTER Z + 0x5A: [694,0,611,55,702,'67 54Q551 615 551 617Q543 618 517 618Q510 618 463 618T376 617Q200 617 200 618T209 657L216 694H459Q702 694 702 692Q702 689 697 667L692 643L207 80H392Q493 81 577 81Q577 70 560 2V0H55V2L67 54'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,289,41,425,'148 252L253 750H339Q425 750 425 749L424 744Q423 739 421 729T417 711L409 675L367 674H325L235 252Q145 -167 145 -172Q145 -174 187 -174H229V-176Q213 -240 213 -250H127Q41 -250 41 -248Q41 -245 148 252'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,289,-31,353,'353 749Q353 746 303 512T200 27T141 -250H-31Q-31 -240 -15 -176V-174H70L250 674H208L165 675L181 750H267Q353 750 353 749'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-527,500,190,533,'190 527L360 694H434L484 611Q533 528 533 527H457L390 632L385 639L266 527H190'], + + // LOW LINE + 0x5F: [-38,114,500,50,565,'59 -75L66 -38H316Q565 -38 565 -39T558 -75T549 -112Q549 -114 299 -114Q50 -114 50 -113L52 -108Q53 -103 55 -93T59 -75'], + + // LATIN SMALL LETTER A + 0x61: [461,10,481,61,473,'313 386Q286 386 260 381T217 369T186 355T164 342T155 337Q154 338 159 377T165 418Q251 461 320 461Q322 461 328 461T337 460Q397 460 435 424T473 329Q473 325 473 318T472 308Q432 110 407 2V0H317V2L325 38Q295 21 269 10Q215 -10 156 -10H149Q76 -10 62 69Q61 75 61 90Q61 127 73 150T116 194Q146 215 207 231T348 252H368L373 277Q378 302 378 318Q378 367 339 384Q332 386 313 386ZM150 116Q150 93 171 79T223 65Q259 65 293 85T341 135Q343 140 348 160T353 184Q353 186 342 186Q298 186 231 174T153 134Q150 127 150 116'], + + // LATIN SMALL LETTER B + 0x62: [694,11,517,75,539,'302 -11Q266 -11 235 1T190 26L176 38Q170 8 168 2V0H121Q75 0 75 1L84 46Q94 90 113 177T149 348L223 694H267Q312 694 312 693T282 551T251 407Q251 406 256 408T271 415Q347 454 430 454H438Q501 454 528 374Q539 339 539 299Q539 179 466 84T302 -11ZM443 275Q443 317 421 348T346 379Q318 379 296 369Q269 359 238 332L193 118L198 109Q220 65 269 65Q350 65 396 130T443 275'], + + // LATIN SMALL LETTER C + 0x63: [460,11,444,74,499,'75 164Q75 226 100 282T165 377T252 437T342 460H347Q447 460 499 417L483 378Q468 339 468 338Q466 338 455 347T424 366T385 378Q355 382 334 382Q262 382 215 318T168 177Q168 120 196 95T259 69H269Q345 69 420 108Q432 114 432 113T427 72L422 32L402 22Q382 12 344 2T259 -11Q214 -11 180 2T126 36T95 81T79 126T75 164'], + + // LATIN SMALL LETTER D + 0x64: [694,10,517,73,588,'73 156Q73 224 102 293T184 408T294 455Q375 455 432 413Q438 407 438 410T469 553L499 694H588V691Q588 690 515 348T441 2V0H348V2Q357 29 357 43L352 41Q332 24 288 7T196 -10H190Q178 -10 166 -7T134 8T98 46T75 113Q73 129 73 156ZM419 335Q419 339 412 348T386 368T342 379Q284 379 243 343T184 261T167 168Q167 122 191 94T263 66Q321 66 367 116L374 124L397 229Q419 333 419 335'], + + // LATIN SMALL LETTER E + 0x65: [460,11,444,71,472,'248 -11Q170 -11 121 41T71 173Q71 265 133 349T285 454Q305 460 318 460H328Q368 460 399 448Q472 414 472 309Q472 274 464 234L462 219H159Q156 198 156 185Q156 137 179 107T237 68Q246 66 268 66Q345 66 427 113V109Q426 108 422 73T417 37Q417 34 409 29Q329 -11 248 -11ZM401 299Q399 337 376 361T316 385Q291 385 266 371Q220 350 184 289H401V299'], + + // LATIN SMALL LETTER F + 0x66: [705,0,306,94,494,'381 443Q381 440 374 407T366 371H315Q263 371 263 369Q262 368 224 186Q215 145 205 97T189 25L184 2V0H94V2L99 25Q104 48 114 96T134 186Q172 368 173 369Q173 371 139 371H106V373L114 410L121 444H155L188 445L191 455L212 551Q232 612 288 658T415 705Q438 705 464 701T494 694Q478 614 477 614L467 618Q457 621 440 624T406 629H400Q333 629 306 579Q301 568 289 507L275 444H328Q381 444 381 443'], + + // LATIN SMALL LETTER G + 0x67: [455,206,500,12,568,'113 252Q113 334 177 394T311 454Q332 454 350 451T379 442T398 432T410 424L413 421Q412 423 411 424L409 426Q409 429 434 436T496 449T560 455H568V451Q568 447 567 429T566 394L565 377L553 379Q522 385 479 385Q463 385 456 384L443 383L436 392Q454 357 454 324Q454 243 390 182T249 120Q233 120 219 122T195 128T178 136T167 142L163 145Q149 131 149 105Q149 78 171 72L242 71Q246 71 269 71T303 71T336 68T372 62T403 51T432 32Q461 8 461 -40Q461 -112 383 -159T211 -206Q123 -206 68 -172T12 -86Q12 -55 31 -23T82 32Q90 38 89 39Q89 40 87 44T82 59T80 82Q80 134 126 189Q113 228 113 252ZM369 319Q369 354 350 368T304 383Q274 383 252 369T218 333T202 291T197 255Q197 221 217 206T263 191Q317 191 343 233T369 319ZM373 -59Q373 -41 362 -30T330 -13T291 -7T247 -5H216Q167 -5 158 -6T139 -12Q123 -20 110 -38T97 -76Q97 -102 133 -118T221 -134Q242 -134 267 -130T316 -118T357 -94T373 -59'], + + // LATIN SMALL LETTER H + 0x68: [694,0,517,73,513,'416 321Q416 379 336 379Q276 379 237 302Q226 276 209 202T180 66T166 2V0H119Q73 0 73 1L82 46Q92 90 111 177T147 348L221 694H265Q310 694 310 693T279 544L247 395Q325 455 403 455Q513 455 513 358Q513 334 508 309Q507 304 476 156T443 2V0H350V2L357 34Q364 65 373 110T392 200T409 281T416 321'], + + // LATIN SMALL LETTER I + 0x69: [680,0,239,74,315,'189 578Q190 579 199 627T211 678V680H315V678Q313 675 304 627T293 578V576H189V578ZM168 442T168 443T213 444T258 443T212 225T164 2V0H74V2Q75 7 121 224'], + + // LATIN SMALL LETTER J + 0x6A: [680,204,267,-96,336,'211 577L233 680H284Q336 680 336 679L315 576H263Q211 576 211 577ZM19 -204Q-12 -204 -40 -196T-82 -179T-96 -170Q-96 -168 -78 -132L-61 -95L-54 -103Q-32 -126 3 -126Q26 -126 50 -116Q76 -101 83 -85Q84 -79 140 180T196 443Q196 444 241 444T286 443Q286 441 232 186T175 -75Q163 -120 122 -162T19 -204'], + + // LATIN SMALL LETTER K + 0x6B: [694,0,489,76,542,'150 348L224 694H310V691Q218 259 218 258L232 270Q245 281 274 306T327 351L435 444H489L542 443Q542 442 443 357L344 272L471 1L422 0H372L366 14Q359 27 347 54T323 105L273 210Q271 210 231 174L190 139L160 0H118Q76 0 76 1L86 46Q95 90 114 177T150 348'], + + // LATIN SMALL LETTER L + 0x6C: [694,0,239,74,311,'148 348L222 694H311V691Q311 690 238 348T164 2V0H119Q74 0 74 1L84 46Q93 90 112 177T148 348'], + + // LATIN SMALL LETTER M + 0x6D: [455,0,794,73,790,'416 321Q416 379 336 379Q276 379 237 302Q226 276 209 202T180 66T166 2V0H119Q73 0 73 2L121 226L169 449Q169 450 213 450H256L249 421Q248 417 247 412T246 404T245 398T244 394T244 392Q250 398 261 407T307 433T379 454H392H400Q451 454 472 439Q482 434 489 427T500 412T506 399T510 388L511 384Q511 384 517 388Q563 431 620 446Q648 455 680 455Q790 455 790 358Q790 334 785 309Q784 304 753 156T720 2V0H627V2L634 34Q641 65 650 110T669 200T686 281T693 321Q693 379 613 379Q553 379 514 302Q503 276 486 202T457 66T443 2V0H350V2L357 34Q364 65 373 110T392 200T409 281T416 321'], + + // LATIN SMALL LETTER N + 0x6E: [454,0,517,73,514,'416 321Q416 379 336 379Q276 379 237 302Q226 276 209 202T180 66T166 2V0H119Q73 0 73 2L121 226L169 449Q169 450 213 450H256L249 421Q248 417 247 412T246 404T245 398T244 394T244 392Q250 398 261 407T307 433T379 454H392Q416 454 433 452T470 440T502 411T513 358Q513 334 508 309Q507 304 476 156T443 2V0H350V2L357 34Q364 65 373 110T392 200T409 281T416 321'], + + // LATIN SMALL LETTER O + 0x6F: [461,11,500,69,523,'69 169Q69 238 107 306T211 417T348 461Q419 461 471 412T523 271Q523 161 438 75T247 -11Q170 -11 120 39T69 169ZM432 279Q432 338 401 361T333 385Q280 385 240 352T182 273T164 178Q164 119 195 94T265 68Q306 68 344 94Q380 115 406 169T432 279'], + + // LATIN SMALL LETTER P + 0x70: [455,194,517,34,538,'259 443Q251 405 251 404L260 409Q269 414 286 421T324 436T375 449T434 455Q482 455 510 417T538 303Q538 169 463 79T302 -11Q226 -11 176 39V36Q175 35 151 -80L127 -193Q127 -194 80 -194H34V-191L102 127L169 443Q169 444 214 444T259 443ZM269 65Q332 65 386 124T441 262Q441 304 422 334T370 373Q356 375 339 375Q293 375 238 331L193 118Q200 103 206 94T229 75T269 65'], + + // LATIN SMALL LETTER Q + 0x71: [455,194,517,72,538,'72 149Q72 272 146 363T304 455Q340 455 371 442T409 423T436 398Q438 411 442 427L448 455H538L400 -193Q400 -194 354 -194Q307 -194 307 -193L356 37V41Q355 41 350 38T332 27T302 13Q247 -10 191 -10H179Q138 -10 105 32T72 149ZM414 298Q402 376 341 376Q277 376 223 317T169 182Q169 121 198 93T265 65Q319 65 365 111L377 123L414 298'], + + // LATIN SMALL LETTER R + 0x72: [455,0,342,74,424,'240 377L244 380Q248 384 255 390T272 404T296 419T325 434T361 446T401 454Q403 454 408 454T416 455H424L421 442Q419 435 413 405T406 373Q351 373 294 336T216 237Q213 231 201 173T178 60T164 2V0H119Q74 0 74 2L122 226L170 449Q170 450 213 450H255L247 414Q246 409 245 403T243 393T241 385T240 379T240 377'], + + // LATIN SMALL LETTER S + 0x73: [461,11,383,35,436,'99 299Q99 318 106 341T133 393T195 441T298 461Q336 461 370 453T420 437L436 429Q436 428 421 389T405 350Q356 386 273 386H265Q248 386 237 384T211 371T191 337Q189 329 189 326Q189 320 190 315T194 306T200 299T209 293T218 289T228 285T239 283T251 281T263 278L270 276Q278 275 283 274T298 270T316 264T333 255T351 243T367 228T380 209T388 186T391 157Q391 96 341 43T193 -11Q171 -11 150 -8T114 -1T84 9T61 19T45 28T35 33Q35 36 67 116L76 109Q132 67 211 67Q258 67 279 88T301 135Q301 159 280 170T224 187T180 197Q141 212 120 239T99 299'], + + // LATIN SMALL LETTER T + 0x74: [571,11,361,97,410,'245 68Q267 68 289 75T322 90L334 98Q338 94 338 28V24L324 19Q268 -4 218 -8Q198 -11 177 -11Q118 -11 118 75Q118 98 123 127Q125 137 149 251T174 369Q174 371 135 371H97V373L105 410L112 444H152L192 445L200 478Q208 512 213 541L219 571H261Q303 571 303 570T290 506L276 444H343Q410 444 410 443Q410 440 403 407T395 371H328Q261 371 261 369Q211 152 211 118Q211 68 245 68'], + + // LATIN SMALL LETTER U + 0x75: [444,10,517,90,537,'166 -10H160Q146 -10 137 -8T115 0T97 22T90 63Q90 79 130 268L167 443Q167 444 214 444Q260 444 260 443L224 273Q187 97 187 86Q187 70 202 65T250 59Q303 59 336 83T379 139Q380 143 412 292T444 443Q444 444 491 444Q537 444 537 443T491 225T443 2V0H353V2L361 38L352 34Q344 29 326 22T286 7T232 -5T166 -10'], + + // LATIN SMALL LETTER V + 0x76: [444,0,461,108,540,'177 6L108 442V444H201V442Q202 441 213 371T235 213T246 90V65Q259 117 429 406L450 444H495Q540 444 540 443Q539 442 411 221L282 1L230 0H178L177 6'], + + // LATIN SMALL LETTER W + 0x77: [444,0,683,108,762,'148 5Q147 8 128 222T109 440L108 444H199V442Q200 441 204 385T214 253T219 140Q219 108 215 76Q215 72 214 67V65L215 66Q219 95 278 221L390 444H475V437Q497 203 497 121Q497 90 494 70Q494 67 494 67L496 73Q520 143 654 405L674 444H718Q762 444 762 443L534 1L483 0H432V5Q429 28 422 126T413 283Q413 343 416 370L417 378Q416 377 416 376Q401 303 248 12L242 0H148V5'], + + // LATIN SMALL LETTER X + 0x78: [444,0,461,1,537,'317 229Q453 9 460 0H409L359 1L312 88Q266 176 265 176Q265 177 254 165T223 132T182 88L100 0H1L15 14Q29 28 61 59T118 115L236 229L226 244Q108 433 100 444H201L290 294L438 444H537L528 435Q526 432 512 418T468 376T418 327L317 229'], + + // LATIN SMALL LETTER Y + 0x79: [444,205,461,1,540,'11 -117L20 -120Q28 -124 46 -128T84 -132H100Q124 -122 149 -85Q200 -6 200 1Q200 17 155 204T109 442Q109 444 156 444H203Q203 443 208 419T221 357T235 277T248 190T254 114Q254 81 250 67V65Q251 65 251 67Q256 94 297 177Q339 259 422 397L450 444H540Q540 443 386 186T219 -90Q179 -153 145 -179T73 -205Q52 -205 34 -202Q29 -202 21 -201T7 -198L1 -197Q1 -196 6 -157T11 -117'], + + // LATIN SMALL LETTER Z + 0x7A: [444,0,435,28,494,'129 408L136 444H315Q494 444 494 443Q494 441 489 419L484 396L164 76L291 77Q418 77 418 76T411 41T402 2V0H215Q28 0 28 2L34 27L38 50L360 371L240 370Q121 370 121 371Q124 388 129 408'], + + // TILDE + 0x7E: [327,-193,500,199,560,'330 327Q356 326 388 298T446 269Q470 269 484 327H522Q560 327 560 325L557 316Q554 306 549 292T535 263T512 232T480 208Q453 193 429 193T370 222T315 251Q285 251 275 193H199V197Q214 257 251 292T330 327'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js new file mode 100644 index 00000000..01cea2bd --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'], + { + // COMBINING GRAVE ACCENT + 0x300: [694,-527,0,-270,-87,'-262 681L-270 694H-177L-132 612Q-89 530 -87 528Q-87 527 -125 527H-163L-208 598Q-254 670 -262 681'], + + // COMBINING ACUTE ACCENT + 0x301: [694,-527,0,-190,63,'-96 625L-29 694H63Q42 673 -31 605L-114 527H-190L-176 541Q-160 559 -96 625'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-527,0,-310,33,'-310 527L-140 694H-66L-16 611Q33 528 33 527H-43L-110 632L-115 639L-234 527H-310'], + + // COMBINING TILDE + 0x303: [677,-543,0,-301,60,'-170 677Q-144 676 -112 648T-54 619Q-30 619 -16 677H22Q60 677 60 675L57 666Q54 656 49 642T35 613T12 582T-20 558Q-47 543 -71 543T-130 572T-185 601Q-215 601 -225 543H-301V547Q-286 607 -249 642T-170 677'], + + // COMBINING MACRON + 0x304: [631,-552,0,-314,64,'-314 553L-297 631H-116Q64 631 64 630Q60 612 56 591L47 553L-133 552Q-314 552 -314 553'], + + // COMBINING BREVE + 0x306: [694,-508,0,-284,73,'-142 508Q-205 508 -244 548T-284 652Q-284 666 -281 683L-280 694H-204Q-205 689 -205 677Q-205 650 -196 631T-173 604T-147 593T-125 590Q-85 590 -50 618T-5 686L-2 694H73V690Q53 610 -10 559T-142 508'], + + // COMBINING DOT ABOVE + 0x307: [680,-576,0,-180,-54,'-180 578Q-179 579 -170 627T-158 678V680H-54V678Q-56 675 -65 627T-76 578V576H-180V578'], + + // COMBINING DIAERESIS + 0x308: [680,-582,0,-273,40,'-273 584Q-272 585 -262 632L-252 678V680H-154V678L-164 632Q-174 585 -175 584Q-175 582 -224 582T-273 584ZM-78 586Q-78 587 -69 632T-58 678V680H40L39 677Q39 676 38 670T34 651T29 628L19 583L-30 582H-79L-78 586'], + + // COMBINING RING ABOVE + 0x30A: [693,-527,0,-227,-2,'-227 597Q-227 639 -186 666T-102 693H-97Q-29 693 -8 649Q-2 637 -2 623Q-2 582 -43 555T-132 527Q-171 527 -199 546T-227 597ZM-59 619Q-59 635 -68 643T-104 652Q-142 652 -156 636T-171 602Q-171 569 -123 569Q-119 569 -111 570T-99 571Q-59 582 -59 619'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [694,-527,0,-287,63,'-236 619L-195 694H-149Q-103 694 -103 693L-211 527H-287L-282 536Q-281 539 -236 619ZM-70 619L-29 694H17Q63 694 63 693L-45 527H-121L-116 536Q-115 539 -70 619'], + + // COMBINING CARON + 0x30C: [654,-487,0,-283,60,'-283 654H-207L-140 549L-135 542L-16 654H60L-109 487H-147L-184 488L-234 570Q-283 653 -283 654'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js new file mode 100644 index 00000000..775d01a9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'] = { + directory: 'SansSerif/Italic', + family: 'MathJax_SansSerif', + id: 'MJSSI', + style: 'italic', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js new file mode 100644 index 00000000..61ae0c3e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js @@ -0,0 +1,83 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [444,0,239,74,258,'168 442T168 443T213 444T258 443T212 225T164 2V0H74V2Q75 7 121 224'], + + // LATIN SMALL LETTER DOTLESS J + 0x237: [444,204,267,-97,286,'-54 -96L-48 -104Q-41 -111 -27 -118T7 -126Q60 -126 82 -87Q85 -81 140 181L196 443Q196 444 241 444T286 443Q286 441 232 186T175 -75Q163 -120 122 -162T19 -204Q-13 -204 -41 -196T-83 -180T-96 -170Q-55 -96 -54 -96'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [691,0,542,87,646,'87 2Q88 4 160 346T234 689Q234 691 440 691T646 689Q643 686 629 611H475L321 612Q193 4 191 2V0H87V2'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [694,0,833,42,790,'273 343L510 694H617Q790 2 790 0H416L42 1L273 343ZM539 576Q536 597 536 600Q536 602 535 605Q534 607 534 607Q527 580 222 130L201 98H651L648 110Q645 123 639 149T627 198Q554 489 539 576'], + + // GREEK CAPITAL LETTER THETA + 0x398: [715,22,778,119,804,'119 260Q119 348 157 433T254 579T387 677T533 715Q701 715 772 574Q804 511 804 431Q804 315 744 209T586 41T384 -22Q262 -22 191 59T119 260ZM706 426Q706 524 655 582T525 640Q454 640 395 600T293 502Q256 447 237 383T218 266Q218 168 269 112T401 55Q518 55 612 166T706 426ZM283 349L293 397H473Q652 397 652 396Q647 374 642 347L632 299H452Q273 299 273 300Q278 322 283 349'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [694,0,611,28,582,'28 0L401 694H504V690Q505 686 543 345T582 1Q582 0 528 0H473V3Q472 6 460 113T435 359T422 558Q422 593 424 603L425 610L424 608Q414 572 343 431Q287 316 143 49L117 1L73 0H28'], + + // GREEK CAPITAL LETTER XI + 0x39E: [688,0,667,42,765,'193 687Q193 688 479 688H765V686Q764 685 755 642L747 600H461L175 601Q175 602 184 645L193 687ZM196 400Q196 401 418 401T640 400L622 315Q622 314 400 314T178 315L196 400ZM42 2Q43 3 51 44T60 87H64Q68 87 75 87T93 87T119 87T151 88T190 88T237 88T291 88T352 88H643Q638 66 634 44T627 13T624 2V0H42V2'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [691,0,708,86,768,'86 2Q88 4 160 346T233 689Q233 691 501 691Q768 691 768 689Q766 688 694 346T621 2V0H517V2Q518 3 582 304T646 609L648 615H321L190 0H86V2'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [694,0,722,55,813,'194 655L202 694H508Q813 694 813 693Q809 675 805 653L797 614H559L321 615Q327 606 405 478L485 347Q449 311 348 203T247 86Q247 84 294 84Q303 84 359 84T465 85H684Q684 84 675 42L666 0H360L55 1L195 154Q346 319 347 320L359 333L273 473Q187 614 186 614L187 620Q188 625 190 635T194 655'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [716,0,778,173,843,'357 637Q320 637 297 612T266 555H173Q178 576 188 598Q214 651 265 683T373 716Q497 716 497 542V509L504 526Q579 715 711 715Q773 715 808 677T843 589Q843 576 840 555H747L748 557Q748 559 748 563T749 574V580Q749 604 731 622Q715 638 693 638Q591 638 543 465Q531 425 506 309T462 98T441 2V0H337V2Q425 401 436 486Q438 504 438 526Q438 637 364 637H357'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [694,0,722,124,743,'124 308Q124 399 208 481T433 587Q437 587 437 589Q438 590 449 643L459 694H508Q557 694 557 693Q557 691 546 641T535 587Q543 587 562 583T614 565T674 531T722 472T743 387Q743 288 656 209T449 110L433 106Q411 3 410 2Q410 0 361 0H312L313 3Q313 5 324 56L335 107H331L321 108Q311 110 297 114T266 124T228 141T190 168Q124 225 124 308ZM227 315Q227 282 239 257T270 218T306 197T338 186L350 184H351L386 346Q420 507 420 509H419Q411 509 393 505T342 485T284 444Q227 387 227 315ZM642 381Q642 413 629 437T599 475T563 496T533 507T519 510Q518 510 484 348T450 184Q544 201 593 258T642 381'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [694,0,778,171,854,'325 556Q325 524 310 447T294 330Q294 289 304 260Q314 234 333 216T364 192T380 187L488 694H585V691Q584 689 531 438L478 188H479Q485 188 503 195T555 231T613 305Q637 352 654 435Q662 470 669 496T681 538T690 562T698 578T704 587Q719 609 733 615T772 621H802H854V619L838 546Q838 545 832 545Q775 539 749 418Q716 274 638 196Q616 173 590 156T543 131T503 117T473 110T460 106Q460 105 450 54T438 2V0H340V2Q341 3 351 54T362 106Q363 107 358 108T344 111T322 117T295 128T267 145T239 171T216 207T200 256T194 319Q194 356 203 408T213 483Q213 517 203 530T182 544T171 546Q184 609 187 619V621H239Q286 621 294 620T309 612Q325 596 325 556'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [716,0,722,44,769,'148 407Q148 475 182 534T269 633T386 694T511 716Q622 716 695 658T769 507Q769 461 747 409T699 321T628 225T562 136Q533 90 533 86Q542 85 557 85Q564 85 583 85T614 86Q695 86 695 85Q679 9 677 2V0H425Q426 3 433 30T447 72T480 131T549 241L554 248Q558 254 563 261T576 281T592 306T609 335T625 366T640 400T653 434T661 466T664 498Q664 562 618 601T497 640Q416 640 351 596T262 482Q250 441 250 392T276 237T302 70V56Q302 28 296 2V0H44V2L62 85Q62 86 143 86L225 85V88Q224 89 224 89T224 91T224 95T223 101T222 110T220 123T216 140T209 163T200 191T188 227Q148 344 148 407'], + + // EN DASH + 0x2013: [312,-236,500,50,565,'59 275L66 312H316Q565 312 565 311T558 275T549 238Q549 236 299 236Q50 236 50 237L52 242Q53 247 55 257T59 275'], + + // EM DASH + 0x2014: [312,-236,1000,50,1065,'59 275L66 312H566Q1065 312 1065 311T1058 275T1049 238Q1049 236 549 236Q50 236 50 237L52 242Q53 247 55 257T59 275'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-471,278,190,335,'309 567L299 520Q289 474 288 473Q288 471 239 471T190 473L192 480Q193 486 196 499T201 522L211 569L287 694H312L335 693L332 685Q328 677 321 661T307 630L279 570L294 569Q309 569 309 567'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-471,278,190,335,'228 647L237 694H286Q335 694 335 693L334 686Q332 680 330 668T325 644L315 597L239 471H214Q190 471 190 472L246 595Q246 596 231 596H217V598Q217 601 228 647'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-471,500,274,613,'393 567L383 520Q373 474 372 473Q372 471 323 471T274 473L276 480Q277 486 280 499T285 522L295 569L371 694H396L419 693L416 685Q412 677 405 661T391 630L363 570L378 569Q393 569 393 567ZM587 567L577 520Q567 474 566 473Q566 471 517 471T468 473L470 480Q471 486 474 499T479 522L489 569L565 694H590L613 693L610 685Q606 677 599 661T585 630L557 570L572 569Q587 569 587 567'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-471,500,133,472,'171 647L180 694H229Q278 694 278 693L276 686Q275 680 273 668T268 644L258 597L182 471H157Q133 471 133 472L189 595Q189 596 174 596H160V598Q160 601 171 647ZM365 647L374 694H423Q472 694 472 693L470 686Q469 680 467 668T462 644L452 597L376 471H351Q327 471 327 472L383 595Q383 596 368 596H354V598Q354 601 365 647'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/Other.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js new file mode 100644 index 00000000..64233f32 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js @@ -0,0 +1,290 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [694,0,319,110,208,'120 187Q120 225 115 440T110 693Q110 694 159 694T208 693Q208 655 203 440T198 187Q198 186 159 186T120 187ZM110 0V98H208V0H110'], + + // QUOTATION MARK + 0x22: [694,-471,500,32,325,'33 596V694H131V597L82 471H32L47 532Q62 593 63 594Q63 596 48 596H33ZM227 596V694H325V597L276 471H226L241 532Q256 593 257 594Q257 596 242 596H227'], + + // NUMBER SIGN + 0x23: [694,194,833,56,777,'56 350Q56 363 70 370H192Q314 370 314 371L356 526Q396 676 401 685Q406 694 416 694Q423 694 429 689T436 677Q436 673 396 523T355 371Q355 370 449 370Q544 370 544 371L586 526Q628 682 630 685Q636 694 646 694Q653 694 659 689T665 678Q665 670 645 593T605 444L585 371Q585 370 673 370H762Q777 362 777 350Q777 337 767 334T723 330H668H573L567 305Q560 282 545 226L530 171L646 170H721Q756 170 766 167T777 150Q777 138 762 130H640Q518 130 518 129L476 -26Q434 -182 432 -185Q426 -194 416 -194Q409 -194 403 -189T397 -178Q397 -170 417 -93T457 56L477 129Q477 130 383 130Q288 130 288 129L246 -26Q204 -182 202 -185Q196 -194 186 -194Q179 -194 173 -189T167 -178Q167 -170 187 -94T227 56L247 129Q247 130 159 130H70Q56 137 56 150Q56 165 72 170H259L265 195Q273 222 287 275L302 330H186L70 331Q63 334 58 339Q56 343 56 350ZM489 170L532 330H343L337 305Q330 282 315 226L300 171L394 170H489'], + + // DOLLAR SIGN + 0x24: [750,56,500,43,444,'55 509Q55 585 103 638T213 701V750H286V703H289Q312 703 354 689Q372 682 399 666T427 646L413 569Q413 568 403 575Q352 615 291 624H286V405Q357 389 400 331T444 199Q444 128 402 69T286 -7V-56H213V-9Q167 -3 125 14T63 44T44 60Q44 61 52 101L59 140L69 132Q78 125 87 119T107 107T124 97T141 90T157 84T173 80T187 76T201 73T213 70V317L202 319Q141 335 98 386T55 509ZM213 424V620L203 615Q143 587 143 522Q143 455 213 424ZM356 187Q356 208 350 227T334 258T315 280T298 293T287 297Q286 297 286 186V75Q356 110 356 187'], + + // PERCENT SIGN + 0x25: [750,56,833,56,776,'56 549Q56 639 98 694T195 750Q248 750 290 694T332 548Q332 455 290 401T195 347Q141 347 99 403T56 549ZM248 549Q248 602 234 638T195 674Q145 674 145 549Q145 423 195 423Q219 423 233 459T248 549ZM197 -56Q187 -56 182 -49T176 -35Q176 -33 178 -27Q179 -25 399 356T623 741Q626 750 639 750Q648 750 654 744T659 729Q657 721 435 336T207 -52Q203 -56 197 -56ZM500 146Q500 235 542 291T639 347Q692 347 734 293T776 146Q776 53 733 -1T639 -56Q587 -56 544 -2T500 146ZM692 146Q692 199 678 235T639 271Q589 271 589 146Q589 20 639 20Q663 20 677 56T692 146'], + + // AMPERSAND + 0x26: [716,22,758,42,702,'156 502Q156 600 198 658T302 716Q367 716 405 665T444 549Q444 531 442 523Q426 446 304 348L287 334Q305 297 340 249T402 170T430 139T443 149T472 181T509 231T549 303T583 394Q584 398 586 404Q587 408 587 409Q588 409 626 399T665 388Q663 381 660 369T644 322T614 253T567 176T502 98L491 87Q534 57 584 57Q653 57 700 75Q702 75 702 34T700 -7Q652 -22 586 -22H580Q505 -22 434 26L421 34Q419 33 405 25T374 11T336 -4T285 -17T226 -22Q143 -22 93 31T42 152Q42 184 51 211T81 260T111 291T144 317L184 348L178 365Q156 430 156 502ZM359 552Q359 588 345 614T302 640Q292 640 282 636T260 622T241 590T233 535Q236 474 253 417L257 407L271 419Q312 454 330 479Q359 514 359 552ZM345 102Q262 190 216 277Q215 277 204 267T180 247T165 236Q135 208 135 159Q135 123 152 97T198 61Q207 58 227 58Q286 58 357 89L345 102'], + + // APOSTROPHE + 0x27: [694,-471,278,89,188,'90 596V694H188V597L139 471H89L104 532Q119 593 120 594Q120 596 105 596H90'], + + // LEFT PARENTHESIS + 0x28: [750,250,389,74,333,'74 250Q74 564 240 733L257 750H333L323 739Q167 573 167 250T323 -239L333 -250H257L240 -233Q74 -63 74 250'], + + // RIGHT PARENTHESIS + 0x29: [750,250,389,55,314,'221 -73T221 250T65 739L55 750H131L148 733Q314 567 314 250T148 -233L131 -250H55L65 -239Q221 -73 221 250'], + + // ASTERISK + 0x2A: [750,-306,500,63,436,'208 717Q211 731 222 740T250 750Q265 750 277 741T291 717Q291 706 290 675T286 617L285 591L329 622Q369 651 376 655T393 659Q411 659 423 647T436 616Q436 609 434 603T429 594T419 585T407 577T389 567T368 556L316 528L368 500Q421 472 429 464Q436 455 436 440Q436 422 423 409T393 396Q390 396 388 396T384 397T380 398T375 401T367 406T358 413T346 422T329 434L285 465Q284 465 285 438T289 381T291 347Q291 327 278 317T250 306Q234 306 222 315T208 339Q208 350 209 381T212 439L214 465L170 434Q130 405 123 401T106 397Q88 397 76 409T63 440Q63 447 65 453T70 462T80 471T92 479T110 489T131 500L183 528L131 556Q78 584 70 592Q63 601 63 616Q63 634 76 647T106 660Q109 660 111 660T115 659T119 658T124 655T132 650T141 643T153 634T170 622L214 591L212 617Q211 643 210 674T208 717'], + + // PLUS SIGN + 0x2B: [583,82,778,56,722,'56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250'], + + // COMMA + 0x2C: [98,125,278,89,188,'90 0V98H188V1L139 -125H89L104 -64Q119 -3 120 -2Q120 0 105 0H90'], + + // HYPHEN-MINUS + 0x2D: [259,-186,333,11,277,'11 186V259H277V186H11'], + + // FULL STOP + 0x2E: [98,0,278,90,188,'90 0V98H188V0H90'], + + // SOLIDUS + 0x2F: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], + + // DIGIT ZERO + 0x30: [678,22,500,39,460,'117 621Q174 678 247 678Q305 678 351 647Q396 617 424 557Q460 472 460 328Q460 271 455 224Q448 154 427 104T376 27T314 -10T249 -22Q201 -22 160 1T91 67Q39 154 39 316Q39 541 117 621ZM250 55Q274 55 293 66T324 93T344 136T357 185T364 240T366 291T367 340Q367 373 367 393T363 449T352 507T332 553T299 589T250 601Q217 601 194 584T159 542T141 479T133 411T132 340V331Q132 299 133 277T137 219T147 157T167 107T201 68T250 55'], + + // DIGIT ONE + 0x31: [678,0,500,83,430,'94 612Q172 616 211 632T284 678H307V73H430V0H88V73H213V317Q213 560 212 560Q210 558 197 554T155 546T96 540L83 539V612H94'], + + // DIGIT TWO + 0x32: [677,0,500,42,449,'222 599Q190 599 166 585T128 550T108 509T97 474T93 459L67 492L42 526L47 539Q72 608 120 642T225 677Q304 677 355 644Q449 579 449 454Q449 373 361 290Q351 280 315 250T199 144Q156 103 137 85L293 86H449V0H50V79L216 242Q284 302 317 349T351 456Q351 517 315 558T222 599'], + + // DIGIT THREE + 0x33: [678,22,500,42,457,'333 521Q333 554 313 579T243 604Q154 604 99 514L78 546Q56 577 56 579Q56 580 62 589T82 611T114 637T162 662T222 677Q224 677 231 677T242 678H245Q318 678 374 634T430 520Q430 483 417 452T382 398T351 369T329 354L328 353Q369 333 373 330Q408 306 432 268T457 184Q457 103 397 41T242 -22Q131 -22 51 58L42 68L49 105L55 142L58 138Q62 134 66 130T77 120T91 108T108 96T129 83T152 72T179 63T209 57T242 54Q285 54 319 86T353 184Q353 231 331 267T260 315L213 316H166V354Q166 392 167 392Q233 395 257 405Q290 418 311 450T333 521'], + + // DIGIT FOUR + 0x34: [656,0,500,28,471,'271 654L272 656H380V235H471V159H380V0H286V159H28V235L149 443Q269 652 271 654ZM292 235V607Q292 604 290 591T286 571T280 548T269 517T252 476T226 422T189 354T140 267Q136 260 132 253T126 240L123 236Q123 235 207 235H292'], + + // DIGIT FIVE + 0x35: [656,21,500,33,449,'257 350Q236 350 218 342T189 323T171 301T160 281L157 273Q157 272 116 272H75V656H416V577H162V486Q162 396 163 396T174 403T207 418T258 426Q339 426 394 360T449 203Q449 113 386 46T226 -21H223Q188 -21 156 -11T102 13T64 42T41 66T33 77Q34 78 44 95T64 128L73 144Q93 112 117 93Q165 54 223 54Q270 54 306 86T345 197Q345 350 257 350'], + + // DIGIT SIX + 0x36: [678,22,500,42,457,'42 318Q42 396 61 460T109 564T173 629T237 666T289 677H301H317Q359 677 408 658V621Q408 585 407 585H406Q359 605 308 605Q246 605 203 556T146 421Q143 403 144 403Q145 402 152 409Q216 469 299 469Q333 469 357 457T407 405Q457 330 457 226Q457 126 402 57Q340 -22 251 -22Q216 -22 183 -7T116 43T63 149T42 318ZM260 393Q216 393 188 365T150 306T141 243Q141 153 172 104Q192 68 230 56Q238 54 251 54Q311 54 342 116Q360 152 360 226Q360 297 344 332Q320 382 277 392Q275 392 270 392T260 393'], + + // DIGIT SEVEN + 0x37: [656,11,500,42,457,'42 570V656H457V577L447 564Q345 439 295 289T244 0V-11H145V12Q160 330 356 550Q360 556 365 561T374 571L208 570H42'], + + // DIGIT EIGHT + 0x38: [678,23,500,43,456,'55 500Q55 568 109 623T250 678Q327 678 385 627T444 501Q444 445 410 410T336 357L329 353H330Q378 335 417 293T456 184Q456 93 393 36T249 -22T106 35T43 184Q43 251 82 293T169 353Q171 354 166 356Q165 356 163 357Q113 378 84 416T55 500ZM358 496Q358 557 325 581T250 605Q206 605 174 580T141 496Q141 446 171 420T250 393Q298 393 328 419T358 496ZM245 316Q205 316 172 285T139 185V179Q139 79 222 57Q231 55 250 55H254Q295 55 327 84Q360 120 360 188Q360 254 326 285Q295 316 245 316'], + + // DIGIT NINE + 0x39: [677,22,500,42,457,'44 476Q57 561 116 619T245 677H255Q308 677 349 647Q392 619 424 545T457 334Q457 178 382 78T205 -22Q168 -22 135 -10T86 14L72 25Q73 25 91 58L110 91Q127 78 136 72T163 60T203 54Q238 54 265 71T308 110T335 164T350 214T357 253V257L347 248Q284 187 200 187Q165 187 140 201T87 258Q42 332 42 430Q42 458 44 476ZM269 604Q265 605 254 605Q222 605 199 591T164 554T148 517T141 487Q140 478 140 430T141 373Q146 335 164 307T207 269Q223 263 247 263Q299 266 328 308T358 417Q358 435 356 456T346 511T318 570T269 604'], + + // COLON + 0x3A: [444,0,278,90,188,'90 346V444H188V346H90ZM90 0V98H188V0H90'], + + // SEMICOLON + 0x3B: [444,125,278,89,188,'90 346V444H188V346H90ZM90 0V98H188V1L139 -125H89L104 -64Q119 -3 120 -2Q120 0 105 0H90'], + + // EQUALS SIGN + 0x3D: [370,-130,778,56,722,'56 350Q56 363 70 370H707Q722 362 722 350Q722 339 708 331L390 330H72Q56 335 56 350ZM56 150Q56 165 72 170H708Q722 160 722 150Q722 138 707 130H70Q56 137 56 150'], + + // QUESTION MARK + 0x3F: [704,0,472,55,416,'55 652Q63 658 77 666T132 689T214 704T265 703Q303 698 332 684T376 653T401 615T413 578T416 546Q416 475 360 426Q325 396 303 365T273 303T263 256T261 216V186H183V225Q184 281 194 322Q206 368 232 409T276 469T306 495Q323 517 323 550Q323 596 297 612T223 629Q187 629 157 618Q122 607 91 583L83 576L55 652ZM173 0V98H271V0H173'], + + // COMMERCIAL AT + 0x40: [704,11,667,56,612,'422 576Q440 576 456 573T480 566L488 563Q488 565 484 571T472 588T452 607T424 622T387 629Q294 629 220 550T146 347Q146 233 210 155T365 66Q376 65 400 65Q465 68 517 86L532 91H612L598 76Q511 -11 388 -11Q250 -11 153 93T56 347Q56 454 107 538T231 663T378 704Q446 704 492 680T564 608T599 506T611 376Q611 320 607 299Q595 227 546 173T422 118Q343 118 288 185T232 347Q232 444 287 510T422 576ZM520 347Q520 429 487 465T421 501Q385 501 354 461T323 347Q323 270 355 232T422 193Q454 193 487 229T520 347'], + + // LATIN CAPITAL LETTER A + 0x41: [694,0,667,28,638,'183 181Q183 179 152 91T118 0H28L154 346L280 693Q281 694 333 694H385L511 349Q636 4 638 2Q638 0 584 0H530L464 183H184L183 181ZM324 606Q319 578 292 492T238 332T210 256Q210 254 324 254T438 255L429 281L419 308Q409 336 395 378T365 465T339 551T324 611V606'], + + // LATIN CAPITAL LETTER B + 0x42: [694,0,667,90,610,'425 363Q438 363 465 353T526 324T585 270T610 192Q610 132 561 78T426 7Q404 2 387 2T240 0H90V694H227Q373 693 396 689Q484 673 533 623T583 517Q583 494 574 473T551 437T520 409T487 388T456 374T433 366L425 363ZM490 516Q490 527 485 539T467 568T423 599T347 621Q340 622 262 623H188V399H261H286Q432 399 478 475Q490 496 490 516ZM514 190Q514 245 462 280T343 322Q336 323 259 323H188V71H274Q365 72 388 77Q445 88 479 121T514 190'], + + // LATIN CAPITAL LETTER C + 0x43: [706,12,639,58,587,'59 347Q59 440 100 521T218 654T392 705Q473 705 550 680Q577 670 577 667Q576 666 572 642T564 595T559 571Q515 601 479 613T392 626Q300 626 232 549T164 347Q164 231 229 150T397 68Q453 68 489 80T568 120L581 129L582 110Q584 91 585 71T587 46Q580 40 566 31T502 5T396 -11Q296 -11 218 41T99 174T59 347'], + + // LATIN CAPITAL LETTER D + 0x44: [694,0,722,88,666,'88 0V694H237H258H316Q383 694 425 686T511 648Q578 604 622 525T666 343Q666 190 564 86Q494 18 400 3Q387 1 237 0H88ZM565 341Q565 409 546 463T495 550T429 600T359 621Q348 623 267 623H189V71H267Q272 71 286 71T310 70Q461 70 527 184Q565 251 565 341'], + + // LATIN CAPITAL LETTER E + 0x45: [691,0,597,86,554,'86 0V691H541V611H366L190 612V397H513V321H190V85H372L554 86V0H86'], + + // LATIN CAPITAL LETTER F + 0x46: [691,0,569,86,526,'86 0V691H526V611H358L190 612V384H485V308H190V0H86'], + + // LATIN CAPITAL LETTER G + 0x47: [704,11,667,58,599,'59 346Q59 499 157 601T384 704Q436 704 466 700T541 679Q551 674 560 670T575 664T583 660T588 658T590 656Q590 652 582 605T573 557L564 564Q489 626 392 626Q301 626 233 549T164 347T233 145T392 68Q441 68 506 84V223H388V299H599V38L588 33Q494 -11 393 -11Q296 -11 219 40T100 172T59 346'], + + // LATIN CAPITAL LETTER H + 0x48: [694,0,708,86,621,'86 0V694H190V399H517V694H621V0H517V323H190V0H86'], + + // LATIN CAPITAL LETTER I + 0x49: [694,0,278,87,191,'87 0V694H191V0H87'], + + // LATIN CAPITAL LETTER J + 0x4A: [694,22,472,43,388,'181 53Q200 53 215 56T241 66T259 79T272 95T280 109T285 122L287 129V694H388V415V229Q388 135 385 112T369 63Q364 51 355 39T328 12T280 -12T212 -22Q172 -22 130 -12T66 8T43 20L46 42Q50 65 54 88L58 110Q58 111 65 104Q107 53 181 53'], + + // LATIN CAPITAL LETTER K + 0x4B: [694,0,694,88,651,'88 0V694H188V519L189 343L525 694H638L375 419L651 0H541L309 351L188 225V0H88'], + + // LATIN CAPITAL LETTER L + 0x4C: [694,0,542,87,499,'87 0V694H191V79L297 80H451L499 81V0H87'], + + // LATIN CAPITAL LETTER M + 0x4D: [694,0,875,92,782,'92 0V694H228L233 680Q236 675 284 547T382 275T436 106Q446 149 497 292T594 558L640 680L645 694H782V0H689V305L688 606Q688 577 500 78L479 23H392L364 96Q364 97 342 156T296 280T246 418T203 544T186 609V588Q185 568 185 517T185 427T185 305V0H92'], + + // LATIN CAPITAL LETTER N + 0x4E: [694,0,708,88,619,'88 0V694H235L252 659Q261 639 364 428T526 84V694H619V0H472L455 35Q453 39 330 294T185 601L181 611V0H88'], + + // LATIN CAPITAL LETTER O + 0x4F: [715,22,736,55,680,'55 345Q55 504 149 609T361 715Q386 715 406 713Q521 696 600 592T680 344Q680 193 590 86T368 -22Q239 -22 147 84T55 345ZM276 59T368 59T518 146T576 360Q576 473 525 545T401 634Q371 637 362 637Q284 637 222 562T159 360T217 147'], + + // LATIN CAPITAL LETTER P + 0x50: [694,0,639,88,583,'88 0V694H230Q347 693 370 692T410 686Q487 667 535 611T583 485Q583 409 527 348T379 276Q369 274 279 274H192V0H88ZM486 485Q486 523 471 551T432 593T391 612T357 621Q350 622 268 623H189V347H268Q350 348 357 349Q370 351 383 354T416 368T450 391T475 429T486 485'], + + // LATIN CAPITAL LETTER Q + 0x51: [715,125,736,55,680,'55 345Q55 504 149 609T361 715Q386 715 406 713Q521 696 600 592T680 344Q680 284 665 231T629 143T587 85T551 48L536 35L648 -120L652 -125H531L452 -8L440 -12Q407 -22 369 -22Q239 -22 147 85T55 345ZM579 345Q579 473 517 555T369 637Q279 637 218 554T156 345Q156 223 215 141T368 58Q376 58 382 58T392 58T397 59T401 60T403 61H404Q404 63 360 128T315 194H421L453 150Q485 105 486 105Q490 108 496 113T517 138T545 182T567 247T579 334V345'], + + // LATIN CAPITAL LETTER R + 0x52: [694,0,646,88,617,'88 0V694H227H259H302Q365 694 399 689T474 663Q528 637 558 595T589 504Q589 482 584 462T569 426T547 396T522 372T495 353T470 338T449 328T434 322L429 320L440 300Q452 280 477 238T523 160L617 1L565 0Q513 0 512 1Q512 2 424 156L337 309H189V0H88ZM492 504Q492 600 367 620Q354 622 271 623H189V385H271Q363 386 388 392Q432 402 462 430T492 504'], + + // LATIN CAPITAL LETTER S + 0x53: [716,22,556,43,500,'55 514Q55 589 115 652T283 716Q315 716 345 711T396 699T432 685T457 672T467 667Q467 666 459 618T449 568Q383 634 282 634Q214 634 182 600T150 525Q150 507 155 492T172 465T194 446T222 432T247 423T272 416T289 412Q353 396 378 384Q432 358 466 307T500 194Q500 110 438 44T272 -22Q215 -22 159 -5T73 28T44 50Q45 51 49 75T57 122T62 146L65 143Q68 140 74 136T88 125T107 111T131 98T160 85T194 74T232 66T274 63H286Q327 63 366 96T406 182Q406 245 352 280Q329 296 265 310T173 339Q124 363 90 409T55 514'], + + // LATIN CAPITAL LETTER T + 0x54: [688,0,681,36,644,'36 608V688H644V608H518L392 609V0H288V609L162 608H36'], + + // LATIN CAPITAL LETTER U + 0x55: [694,22,688,87,600,'87 450V694H191V449Q192 203 193 194Q200 148 220 117T266 72T311 54T347 49Q404 49 446 84T501 178Q505 195 505 218T507 449V694H600V450Q600 414 600 356Q599 198 595 181Q594 178 594 177Q575 89 505 34T345 -22Q258 -22 184 34T89 196Q88 205 87 450'], + + // LATIN CAPITAL LETTER V + 0x56: [694,0,667,14,652,'14 692Q14 694 68 694H122L146 633Q325 165 339 90Q340 87 341 87Q341 124 530 619L558 694H605Q652 694 652 692Q650 690 523 354T390 10L387 0H279L276 10Q271 18 144 354T14 692'], + + // LATIN CAPITAL LETTER W + 0x57: [694,0,944,14,929,'115 694Q115 693 156 550T233 266T270 90L271 85Q272 86 272 92Q272 153 405 616L427 694H524L553 590Q672 174 681 95L682 84L684 95Q689 138 728 287T803 563T841 692Q841 694 885 694T929 693Q929 691 829 346L730 0H679L628 1L606 75Q478 524 470 600L469 611L467 600Q458 518 338 101L310 0H213L114 346Q14 691 14 693Q14 694 64 694H115'], + + // LATIN CAPITAL LETTER X + 0x58: [694,0,667,14,652,'14 0Q16 5 144 184T275 367L153 528Q121 571 88 615T42 674T28 694H150L228 584Q315 463 316 461L326 448L497 694H610L609 692Q606 689 492 528Q440 454 409 410T378 366Q378 365 515 182L652 0H531L326 292Q326 293 299 254T226 146L128 0H14'], + + // LATIN CAPITAL LETTER Y + 0x59: [694,0,667,4,663,'4 693L64 694H125L174 621Q335 378 340 364L341 362Q361 398 395 450L558 694H663L383 277V0H282V278L143 485Q112 531 75 586T21 668L4 693'], + + // LATIN CAPITAL LETTER Z + 0x5A: [694,0,611,55,560,'69 617V694H555V643L373 362Q190 81 190 79H234Q244 79 272 79T344 80T419 81H560V0H55V53L237 334Q420 615 420 617Q413 618 387 618Q380 618 334 618T245 617H69'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,289,94,266,'94 -250V750H266V674H181V-174H266V-250H94'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,289,22,194,'22 674V750H194V-250H22V-174H107V674H22'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-527,500,79,421,'146 612L212 694H287L353 612Q417 532 420 529Q421 528 418 527Q414 527 383 527H345L250 639Q244 633 199 580L154 527H116Q79 528 79 529Q82 532 146 612'], + + // LOW LINE + 0x5F: [-38,114,500,0,499,'0 -114V-38H499V-114H0'], + + // LATIN SMALL LETTER A + 0x61: [460,10,481,38,408,'236 387Q209 387 184 382T141 370T111 355T91 342T83 337L82 355Q80 373 79 393T77 417Q77 419 81 421Q86 423 91 426Q155 460 227 460H238Q319 460 368 400Q393 371 400 341T408 252Q408 240 408 207T407 152V0H317V39L306 32Q244 -10 159 -10H152Q109 -10 77 22Q38 61 38 126Q38 142 39 146Q55 199 130 223T295 252H314V277Q314 305 313 310Q308 342 287 364T236 387ZM303 186Q124 180 124 126Q124 105 144 86T208 66Q284 66 309 124Q314 137 314 166V186H303'], + + // LATIN SMALL LETTER B + 0x62: [694,11,517,75,482,'303 -11Q280 -11 259 -6T222 6T194 21T176 33T168 38V0H75V694H165V550L166 405Q247 455 336 455Q397 455 439 389T482 226Q482 115 428 52T303 -11ZM390 221Q390 283 361 331T265 379Q214 379 177 342L168 334V118Q203 66 258 66Q316 66 353 106T390 221'], + + // LATIN SMALL LETTER C + 0x63: [460,10,444,34,414,'34 223Q34 327 99 393T245 460Q290 460 301 459Q328 455 354 445T395 427T410 415L396 338L386 344Q377 349 362 357T335 370Q305 381 258 381H252Q182 381 146 315Q126 275 126 224Q126 158 159 113T255 68Q329 68 394 106L408 114L410 93Q411 72 412 52L414 32Q407 27 394 20T338 2T252 -10Q156 -10 95 58T34 223'], + + // LATIN SMALL LETTER D + 0x64: [694,10,517,33,441,'33 224Q33 321 81 388T197 455Q277 455 342 414L351 408V694H441V0H348V44L338 37Q278 -10 198 -10Q177 -10 168 -8Q99 11 62 90Q33 148 33 224ZM348 337Q307 378 263 378Q260 378 256 378T251 379Q239 379 223 374T182 355T142 305T126 220Q126 90 225 67Q231 66 250 66H255Q306 66 342 115L348 124V337'], + + // LATIN SMALL LETTER E + 0x65: [461,10,444,28,415,'28 226Q28 329 91 395T235 461Q258 461 279 456T325 436T368 397T399 332T415 238V219H113V215Q113 163 151 114T248 65Q273 65 298 70T341 82T373 96T396 108L403 113Q403 106 406 76T409 38Q409 34 408 33T393 24Q325 -10 252 -10Q155 -10 92 59T28 226ZM340 289L338 297Q335 305 333 310T327 326T317 343T304 358T286 372T263 381T233 385Q212 385 193 376T162 353T140 325T127 301T123 289H340'], + + // LATIN SMALL LETTER F + 0x66: [705,0,306,27,347,'262 705H267Q300 705 347 694V612L336 616Q303 628 274 628H266Q224 628 199 605Q187 590 184 579T181 541V507V444H287V371H184V0H94V371H27V444H94V492Q94 544 95 550Q102 617 151 661T262 705'], + + // LATIN SMALL LETTER G + 0x67: [456,206,500,28,485,'55 286Q55 357 105 406T224 455Q280 455 323 421L322 423L318 427Q318 428 339 434T396 448T465 455H471L478 416L485 377Q484 377 474 379T445 383T401 385Q397 385 391 385T381 384L362 383L357 387Q358 386 364 375T375 354T384 325T389 287Q389 217 340 168T221 119Q178 119 138 142Q133 145 131 143Q125 131 125 117Q125 82 155 72L227 71Q230 71 251 71T280 71T310 69T343 65T373 57T403 46T428 30T449 7Q471 -26 471 -62V-71Q471 -136 384 -178Q326 -206 250 -206Q159 -206 102 -172T30 -92Q28 -84 28 -68T31 -37T40 -12T52 7T64 21T75 31T82 38Q60 68 60 106Q60 145 80 180L86 189L80 199Q55 240 55 286ZM304 233T304 287T279 362T220 383Q189 383 165 361T140 287Q140 243 161 217T220 191Q253 191 278 212ZM250 -134Q298 -134 331 -122T375 -96T387 -69Q387 -21 306 -7Q288 -5 216 -5Q161 -5 153 -7Q146 -9 139 -13T122 -31T113 -66Q113 -75 113 -80T127 -97T166 -121Q203 -134 250 -134'], + + // LATIN SMALL LETTER H + 0x68: [694,0,517,73,443,'163 395Q223 455 307 455Q417 455 438 354Q442 331 443 164V0H350V157Q349 315 348 320Q334 378 259 378H253Q224 378 204 358Q180 334 173 301T165 209Q165 198 165 172T166 129V0H73V694H163V395'], + + // LATIN SMALL LETTER I + 0x69: [680,0,239,67,171,'67 576V680H171V576H67ZM74 0V444H164V0H74'], + + // LATIN SMALL LETTER J + 0x6A: [680,205,267,-60,192,'88 576V680H192V576H88ZM31 -126Q40 -126 48 -125T62 -122T73 -117T82 -111T89 -105T94 -99T98 -92L102 -86V444H192V180Q191 -45 191 -70T184 -113Q171 -152 140 -178T63 -205Q34 -205 4 -197T-43 -181T-59 -171T-51 -133T-41 -96L-38 -99Q-34 -102 -28 -106T-13 -115T7 -123T31 -126'], + + // LATIN SMALL LETTER K + 0x6B: [694,0,489,76,471,'76 0V694H163V257L340 444H449L286 272L292 263Q296 259 378 138T463 12L471 0H372L309 92Q294 114 277 139T250 179T237 198L228 211L160 139V0H76'], + + // LATIN SMALL LETTER L + 0x6C: [694,0,239,74,164,'74 0V694H164V0H74'], + + // LATIN SMALL LETTER M + 0x6D: [455,0,794,73,720,'160 392Q223 455 304 455Q359 455 386 436T430 383L437 391Q495 455 584 455Q694 455 715 354Q719 331 720 164V0H627V157Q626 315 625 320Q611 378 536 378H530Q501 378 481 358Q457 334 450 301T442 209Q442 198 442 172T443 129V0H350V157Q349 315 348 320Q334 378 259 378H253Q224 378 204 358Q180 334 173 301T165 209Q165 198 165 172T166 129V0H73V450H160V392'], + + // LATIN SMALL LETTER N + 0x6E: [455,0,517,73,443,'160 392Q214 446 283 454Q285 454 292 454T303 455H306Q417 455 438 354Q442 331 443 164V0H350V157Q349 315 348 320Q334 378 259 378H253Q224 378 204 358Q180 334 173 301T165 209Q165 198 165 172T166 129V0H73V450H160V392'], + + // LATIN SMALL LETTER O + 0x6F: [460,10,500,28,471,'28 222Q28 323 95 391T244 460Q275 460 281 459Q364 445 417 377T471 219Q471 124 408 57T250 -10Q158 -10 93 57T28 222ZM377 230Q377 277 364 310T328 358T287 379T248 385Q233 385 219 382T186 369T155 342T132 297T122 230Q122 146 159 108T250 69H253Q263 69 274 70T305 81T339 106T365 154T377 230'], + + // LATIN SMALL LETTER P + 0x70: [455,194,517,75,483,'166 404Q194 424 241 439T337 455H341Q410 455 451 370Q483 307 483 222Q483 128 433 59T306 -10Q282 -10 260 -5T222 7T194 21T176 33T168 38V-194H75V444H165V424L166 404ZM390 222Q390 287 354 331T266 376T177 340L168 332V118Q200 66 257 66Q313 66 351 112T390 222'], + + // LATIN SMALL LETTER Q + 0x71: [455,194,517,33,441,'33 220Q33 325 87 389T206 454Q286 454 341 406L351 398V455H441V-194H348V41L338 35Q276 -8 198 -11Q171 -11 154 -5Q102 12 68 74T33 220ZM126 220Q126 160 161 113T251 65Q305 65 351 123V298L350 301Q349 304 347 308T342 319T336 331T327 343T315 355T300 365T283 373Q273 375 256 375Q208 375 167 332T126 220'], + + // LATIN SMALL LETTER R + 0x72: [455,0,342,74,327,'171 389Q237 455 320 455H327V373H317Q262 369 220 336T167 248Q165 239 164 119V0H74V450H159V377L171 389'], + + // LATIN SMALL LETTER S + 0x73: [460,10,383,28,360,'33 326Q33 376 60 408T117 450T175 460H190Q245 460 272 454T345 429Q345 428 338 388L331 349Q278 386 188 386H183Q119 386 119 336Q119 307 142 295T210 276T278 256Q360 213 360 130Q360 108 354 88T332 43T281 5T195 -10Q152 -10 111 1T49 22T28 35Q29 36 32 56T39 95T43 115T51 110T72 99T102 85T143 73T193 68Q274 68 274 123Q274 152 248 167Q234 178 187 186T115 207Q66 229 46 273Q33 298 33 326'], + + // LATIN SMALL LETTER T + 0x74: [571,10,361,18,333,'333 27Q333 24 314 16T257 -1T184 -10H172Q146 -10 128 14T105 58T99 91Q95 113 95 251V371H18V444H98V571H182V444H316V371H182V253Q183 128 189 104Q199 68 234 68Q277 72 314 98Q315 93 323 61T333 27'], + + // LATIN SMALL LETTER U + 0x75: [444,11,517,73,443,'353 39Q352 38 344 34T331 27T315 19T295 11T270 3T241 -3T207 -8T168 -10H162Q148 -10 137 -8T111 2T87 30T74 81Q73 89 73 268V444H166V268L167 92Q171 79 174 74T192 64T238 59Q317 59 344 116Q349 128 349 148T350 291V444H443V0H353V39'], + + // LATIN SMALL LETTER V + 0x76: [444,0,461,14,446,'178 0Q15 441 14 442Q14 444 60 444Q107 444 107 442Q108 441 136 364T196 194T232 67Q233 98 280 234T356 442Q356 444 401 444T446 442L282 0H178'], + + // LATIN SMALL LETTER W + 0x77: [444,0,683,14,668,'14 444H105L108 434Q192 160 200 74V65L201 75Q206 144 282 399L296 444H381L399 381Q480 112 480 69L481 70Q481 113 562 386L580 444H668L534 1L483 0H432L429 10Q343 294 338 367L337 377Q336 375 336 370Q336 340 313 250T269 88T245 11L242 0H195L148 1L14 444'], + + // LATIN SMALL LETTER X + 0x78: [444,0,461,0,460,'187 229L6 444H107L227 294L344 444H393L442 443Q439 437 299 268L267 229L460 0H359L294 88Q280 107 262 131T236 166L227 177L100 0H0Q1 1 47 58T140 171T187 229'], + + // LATIN SMALL LETTER Y + 0x79: [444,204,461,14,446,'113 -204Q83 -204 63 -200L43 -197Q43 -196 40 -157T36 -117L48 -121Q79 -133 114 -133Q124 -133 130 -132T145 -121T163 -94Q169 -82 184 -42T200 1L188 29Q176 57 152 115T107 223T62 330T26 416L14 443Q14 444 61 444H109L122 411Q230 155 236 75L237 65V74Q245 161 348 424L356 444H401Q446 444 446 443L396 313Q345 183 293 49T236 -93Q191 -204 123 -204H113'], + + // LATIN SMALL LETTER Z + 0x7A: [444,0,435,28,402,'42 370V444H400V395L156 76L279 77H402V0H28V51L273 371L157 370H42'], + + // TILDE + 0x7E: [327,-193,500,83,416,'83 204Q86 254 113 290T186 327Q211 327 251 299T312 270Q337 270 340 315V327H416V316Q413 258 382 226T315 193Q289 193 249 221T187 250Q162 250 159 205V193H83V204'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js new file mode 100644 index 00000000..371b6b48 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'], + { + // COMBINING GRAVE ACCENT + 0x300: [694,-527,0,-417,-200,'-415 692L-417 694H-324L-262 612Q-249 594 -233 572T-208 539L-200 528L-237 527H-275L-344 608Q-359 625 -378 647T-406 680T-415 692'], + + // COMBINING ACUTE ACCENT + 0x301: [694,-527,0,-301,-84,'-239 612L-177 694H-84L-86 692Q-86 691 -95 681T-123 648T-157 608L-226 527H-264L-301 528L-293 539Q-285 550 -269 572T-239 612'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-527,0,-421,-79,'-354 612L-288 694H-213L-147 612Q-83 532 -80 529Q-79 528 -82 527Q-86 527 -117 527H-155L-250 639Q-256 633 -301 580L-346 527H-384Q-421 528 -421 529Q-418 532 -354 612'], + + // COMBINING TILDE + 0x303: [677,-543,0,-417,-84,'-417 554Q-414 604 -387 640T-314 677Q-289 677 -249 649T-188 620Q-163 620 -160 665V677H-84V666Q-87 608 -118 576T-185 543Q-211 543 -251 571T-313 600Q-338 600 -341 555V543H-417V554'], + + // COMBINING MACRON + 0x304: [631,-552,0,-431,-70,'-431 552V631H-70V552H-431'], + + // COMBINING BREVE + 0x306: [694,-508,0,-427,-74,'-250 508Q-331 508 -379 567T-427 689V694H-351V685Q-348 649 -321 620T-250 591Q-206 591 -180 619T-150 685V694H-74V689Q-74 624 -122 566T-250 508'], + + // COMBINING DOT ABOVE + 0x307: [680,-576,0,-302,-198,'-302 576V680H-198V576H-302'], + + // COMBINING DIAERESIS + 0x308: [680,-582,0,-397,-104,'-397 582V680H-299V582H-397ZM-202 582V680H-104V582H-202'], + + // COMBINING RING ABOVE + 0x30A: [694,-526,0,-319,-99,'-319 611Q-319 649 -285 671T-211 694Q-164 694 -132 671T-99 611Q-99 572 -133 550T-209 527T-285 549T-319 611ZM-155 610Q-155 635 -171 643T-215 651Q-263 651 -263 610Q-263 570 -211 570H-209H-207Q-155 570 -155 610'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [694,-527,0,-399,-84,'-250 693Q-317 544 -323 527H-399L-343 694H-296Q-250 694 -250 693ZM-84 693Q-151 544 -157 527H-233L-177 694H-130Q-84 694 -84 693'], + + // COMBINING CARON + 0x30C: [654,-487,0,-422,-80,'-421 652Q-422 653 -419 654Q-415 654 -384 654H-346L-301 601Q-287 585 -275 571T-258 551T-250 542L-155 654H-117Q-80 653 -80 652Q-83 649 -147 569L-213 487H-288L-354 569Q-418 649 -421 652'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js new file mode 100644 index 00000000..92521b0a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'] = { + directory: 'SansSerif/Regular', + family: 'MathJax_SansSerif', + id: 'MJSS', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js new file mode 100644 index 00000000..4076c343 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js @@ -0,0 +1,83 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [444,0,239,74,164,'74 0V444H164V0H74'], + + // LATIN SMALL LETTER DOTLESS J + 0x237: [444,205,267,-60,192,'-35 -95Q-4 -126 34 -126Q58 -126 76 -116T100 -88Q102 -82 102 181V444H192V180Q191 -45 191 -70T184 -113Q171 -152 140 -178T63 -205Q34 -205 4 -197T-43 -181T-59 -171L-47 -133L-35 -95'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [691,0,542,87,499,'87 0V691H499V611H345L191 612V0H87'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [694,0,833,42,790,'203 348L362 694H470L629 348Q789 2 790 1Q790 0 416 0T42 1Q43 2 203 348ZM630 98Q630 100 584 198T481 422T407 603L405 610L403 600Q388 544 191 122L180 99L405 98H630'], + + // GREEK CAPITAL LETTER THETA + 0x398: [716,21,778,56,722,'56 344Q56 430 86 502T164 619T271 690T388 716Q448 716 506 691T613 619T692 501T722 344Q722 188 624 84T389 -21Q252 -21 154 83T56 344ZM624 345Q624 423 597 488T513 596T380 639Q343 639 305 621T232 568T175 475T153 344Q153 216 222 136T388 56Q487 56 555 138T624 345ZM209 299V397H568V299H209'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [694,0,611,28,582,'294 606Q294 574 252 430T163 144T117 0H72Q28 0 28 1T141 348L254 694H357L469 348Q582 2 582 1T527 0L473 1L469 11Q469 13 427 141T343 411T296 599L294 610V606'], + + // GREEK CAPITAL LETTER XI + 0x39E: [688,0,667,42,624,'47 600V688H619V600H47ZM111 314V401H555V314H111ZM42 0V88H624V0H42'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [691,0,708,86,621,'86 0V691H621V0H517V615H190V0H86'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [694,0,722,55,666,'55 0Q56 3 171 167T288 332Q288 334 172 474L55 615V694H666V614H428L190 615L412 347L322 218Q236 97 228 84L447 85H666V0H55'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [716,0,778,55,722,'55 565Q59 625 105 670T219 716H222Q310 716 353 627Q376 583 386 524L389 510L393 532Q397 555 407 584T433 644T482 695T557 716Q621 716 669 673T722 565V555H629V563Q627 592 607 615T557 638Q530 638 511 629T479 598T459 553T447 488T442 411T441 319V202V0H337V202Q337 453 331 497Q313 634 226 638Q185 638 167 612T148 563V555H55V565'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [694,0,722,55,666,'666 347Q666 326 661 302T638 247T594 190T520 140T413 107H410V0H312V54Q312 107 311 107Q286 107 229 128T125 192Q55 260 55 347Q55 396 77 438T131 507T200 552T265 579T311 587Q312 587 312 641V694H410V587H413Q476 576 524 552T598 502T640 444T661 390T666 347ZM310 510Q305 510 291 507T252 492T208 464T172 416T157 347T171 279T204 233T247 205T286 190T310 184H312V347Q312 510 310 510ZM564 347Q564 385 549 416T514 463T470 491T433 505T414 509L410 510V184Q413 184 426 187T464 200T510 227T548 275T564 347'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [694,0,778,55,722,'340 187V694H438V187Q481 206 495 219Q518 239 533 267T553 332T560 386T562 435Q562 576 593 608Q608 621 637 621H670H722V545H719Q718 545 715 545T710 544Q679 536 666 487Q664 474 662 429T654 344T633 259T580 175T486 119Q450 109 438 108V0H340V108L326 110Q122 149 117 415Q116 460 111 487Q98 536 67 544Q65 544 62 544T58 545H55V621H107Q160 621 163 620Q191 613 202 573Q213 536 213 473T220 351T256 249Q262 239 270 230T285 216T301 205T316 197T329 192T340 187'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [716,0,722,44,677,'55 462Q55 561 141 638T359 716Q492 716 579 640T666 462Q666 407 642 347T579 222T529 126Q515 91 515 86Q517 85 528 85Q530 85 552 85T596 86H677V0H425V14Q429 79 465 168L492 228Q494 232 504 254T516 283T527 310T539 340T548 368T556 399T560 428T562 460Q562 531 510 585T361 639Q263 639 211 585T159 460Q159 422 170 378T192 309T229 228L256 168Q292 79 296 14V0H44V86H125Q146 86 168 86T193 85L206 86Q206 103 183 148T131 241T79 352T55 462'], + + // EN DASH + 0x2013: [312,-236,500,0,499,'0 236V312H499V236H0'], + + // EM DASH + 0x2014: [312,-236,1000,0,999,'0 236V312H999V236H0'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-471,278,90,189,'90 568L140 694H189L174 633Q159 572 158 571Q158 569 173 569H188V471H90V568'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-471,278,89,188,'90 596V694H188V597L139 471H89L104 532Q119 593 120 594Q120 596 105 596H90'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-471,500,174,467,'174 568L224 694H273L258 633Q243 572 242 571Q242 569 257 569H272V471H174V568ZM368 568L418 694H467L452 633Q437 572 436 571Q436 569 451 569H466V471H368V568'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-471,500,32,325,'33 596V694H131V597L82 471H32L47 532Q62 593 63 594Q63 596 48 596H33ZM227 596V694H325V597L276 471H226L241 532Q256 593 257 594Q257 596 242 596H227'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/Other.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js new file mode 100644 index 00000000..3d08202f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Script/Regular/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Script'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // LATIN CAPITAL LETTER A + 0x41: [718,8,803,35,1016,'76 60Q83 29 135 29Q190 29 264 81Q280 93 280 95T277 99T265 106T248 118Q189 166 189 237Q189 307 245 388Q267 421 299 436Q336 455 386 455Q488 455 550 403L559 395L571 405Q727 544 944 679L957 687L966 701Q968 704 970 707T973 712T975 714T978 716T982 717T989 717H995Q1004 717 1007 717T1013 714T1016 708Q1016 705 829 403L636 92L630 83Q659 93 685 110T728 143L745 158Q758 158 752 138L748 127L740 119Q676 58 605 42L593 22Q590 17 587 12T583 6T579 2T573 0T564 0H530H484Q480 3 480 8Q480 15 489 26T498 39T497 40Q477 40 423 49T327 74L316 78L302 68Q200 -8 121 -8Q85 -8 60 7T35 53T60 113T123 144Q144 144 153 132T162 106Q162 89 143 75T99 61Q90 61 76 65V60ZM904 614L905 615Q901 615 840 573T700 469T581 369L587 359Q600 340 608 315T618 273T622 238T624 216L764 414Q904 612 904 614ZM525 363Q493 405 379 418H375Q342 418 309 378Q251 300 251 234Q251 174 306 137Q318 128 322 131Q323 132 329 139Q351 161 362 180Q430 273 509 348L525 363ZM579 205Q579 245 571 278T556 323T546 337L521 311Q461 248 422 196T362 121L353 111Q427 85 499 79Q517 77 520 77L525 76L549 111Q551 114 556 121T563 131T568 138T573 147T575 157T577 169T578 185T579 205'], + + // LATIN CAPITAL LETTER B + 0x42: [708,28,908,31,928,'256 262Q161 262 161 351Q161 408 203 471T289 570Q380 645 475 676T617 707L627 708Q637 708 644 708Q759 708 831 675L844 669L857 677Q892 700 896 700Q902 700 907 685Q907 683 907 681T908 678T909 676T909 673Q909 671 909 670T906 667T903 664T897 660T889 655L878 647L889 636Q928 598 928 548Q928 529 923 510T907 474T886 442T861 412T837 388T815 368T800 355Q847 323 847 270V263Q847 205 806 145Q766 82 695 37T564 -8Q527 -8 506 10T484 58Q484 85 501 117T543 172Q607 226 685 228Q695 228 698 226Q703 220 692 206Q684 194 682 193T665 191Q625 189 595 172T550 133T529 93T522 66Q522 29 576 29Q642 29 705 109Q785 211 785 270Q785 287 779 300T769 316T755 327L740 319Q682 290 634 290Q611 290 592 294H588L565 261Q559 252 544 231T522 201T504 178T481 151T455 123Q394 63 314 18T159 -28Q103 -28 67 -6T31 54Q31 88 57 123T123 158Q144 158 154 146T164 119Q164 102 142 89T100 75Q94 75 87 77T76 80L72 81Q69 78 69 65Q69 35 102 22T175 9Q184 9 198 11Q248 23 300 70T403 187T508 331T636 489T789 629L801 639Q796 642 786 647T732 661T633 670Q592 670 558 665Q481 651 409 613T286 520Q274 507 258 485T222 424T202 354Q202 299 269 299Q282 299 295 301T318 307T339 317T358 329T376 345T391 362T406 380T420 398T433 417T445 435Q496 512 496 547Q496 559 497 560T516 569Q526 574 530 574Q538 574 538 540Q538 414 427 325Q342 262 256 262ZM689 382Q708 382 753 375L765 387Q860 482 860 555Q860 594 839 610L822 592Q794 563 752 511T680 420T651 380Q655 381 660 381Q664 382 689 382ZM697 344Q692 345 681 345H675Q671 345 665 345T655 344T650 344L648 342Q646 339 645 338Q643 333 639 327H653Q670 329 676 330Q706 342 706 343Q702 344 697 344'], + + // LATIN CAPITAL LETTER C + 0x43: [728,26,666,26,819,'367 89Q367 84 353 77T334 70Q325 70 312 83T298 120Q298 169 364 233T496 298Q538 298 563 275T588 220V213Q588 132 501 53T306 -26Q251 -26 211 6T170 114Q171 148 181 184T205 248T232 298T255 334T265 349T246 350Q127 350 77 390T26 480Q26 533 71 581T178 656T295 683Q312 683 312 676Q312 674 311 672L302 660Q294 648 292 647L286 646Q280 646 276 646Q197 641 145 583T93 476Q93 387 265 387Q271 387 277 387T287 388T292 388T313 414T373 483T451 562Q618 712 732 727Q733 727 740 727T753 728Q790 727 804 708T819 665Q819 643 810 617T773 553T699 481T572 414T385 361Q381 361 367 341Q247 172 247 86Q247 11 325 11Q404 11 465 95Q518 165 528 208Q529 212 529 220Q529 237 518 249T480 261Q431 261 387 209T343 126Q343 111 355 101T367 89ZM777 658Q777 691 738 691Q704 691 658 662T570 590T491 504T432 432T410 400H411Q416 400 440 405T505 423T589 455T675 506T743 576Q777 627 777 658'], + + // LATIN CAPITAL LETTER D + 0x44: [708,31,774,68,855,'251 272Q199 272 168 298T136 374Q136 432 175 496T267 603Q321 645 395 676T552 708Q610 708 655 694T724 659T763 618T784 584L790 569Q792 569 800 572T819 576T840 578Q855 578 855 571Q855 566 846 554T829 541Q824 541 817 539T804 533T799 529Q802 517 802 483Q802 376 742 256T585 53T392 -31Q353 -31 300 -7L289 -2L277 -6Q242 -17 192 -17Q141 -17 113 -13T77 -3T68 14Q68 20 73 28T93 45T131 58Q152 62 197 62Q241 62 272 48L282 44Q308 65 334 93Q380 145 467 266T622 454Q644 476 664 493T694 517T720 534T740 547Q699 671 540 671Q461 671 385 625T276 534Q265 520 251 499T219 438T202 368Q202 309 267 309Q325 309 396 383T491 545Q492 548 493 552Q494 558 496 559T511 564Q513 565 514 565Q523 568 527 568Q534 568 534 560Q534 554 529 537Q507 442 420 357T251 272ZM332 20Q332 19 341 15T368 6T400 2Q425 2 457 13T531 49T614 125T690 248Q750 376 750 476V490L738 479Q698 436 646 366T554 239T455 121T332 20ZM226 20Q226 25 186 25Q181 25 174 24H166Q161 24 158 23H152Q170 21 197 21Q205 21 213 21T223 20H226'], + + // LATIN CAPITAL LETTER E + 0x45: [707,8,562,46,718,'280 398L279 400Q278 402 277 405T275 413T272 426T271 443Q271 494 302 544T379 629T472 685T553 707H565H573Q630 707 664 689Q718 661 718 604Q718 548 662 492T553 436Q525 436 508 451T490 492Q490 534 531 579T619 630Q632 630 632 623Q632 619 624 606Q614 593 602 592T578 580Q566 568 549 541T532 497Q532 474 565 474Q577 474 587 476Q600 481 611 489Q630 503 651 535T672 596Q672 660 553 660H548Q494 660 450 616Q421 587 384 531T343 439Q341 420 344 415H345Q346 415 352 415T369 417T391 418Q421 418 440 412T466 398T473 382Q473 367 452 353T398 339Q370 339 348 345T315 359L304 366Q297 365 284 360T234 321T163 234Q120 160 120 117Q120 83 149 57T252 30Q311 30 357 60Q386 79 414 114T452 179Q454 186 454 200Q454 230 415 242Q401 246 373 246Q353 246 347 244Q328 236 313 219T288 184T274 149T265 121T261 109Q260 107 247 102T230 97Q223 97 223 105Q223 148 271 216T386 284Q446 284 483 260T520 195Q520 121 427 57T239 -8Q192 -8 152 2T79 46T46 133Q46 212 107 285T269 394L280 398ZM427 376Q427 377 402 380Q386 380 386 379L425 375L427 376'], + + // LATIN CAPITAL LETTER F + 0x46: [735,37,895,39,990,'258 428Q258 489 322 562T482 685T661 735Q726 735 824 693T977 651Q990 651 990 644Q990 639 971 612T948 581Q947 580 938 580Q878 580 784 621T617 663Q544 663 480 635T379 568T320 492T299 431Q299 387 362 387Q404 387 438 402T493 438T527 486T546 531T551 563Q551 569 550 575T549 584T549 590Q551 593 563 602T579 611Q584 611 592 605T608 584T616 548Q616 513 595 477T554 423Q518 392 464 372T349 351Q258 351 258 428ZM324 187T305 187T286 196Q286 202 301 217Q327 242 383 262T484 290L527 297L567 356Q624 441 643 467T688 521Q715 550 752 581T795 613T804 603T808 587T778 547T702 444T626 300H637Q663 302 685 306L697 308L703 317Q745 376 792 400Q806 406 818 406Q849 406 849 375Q847 355 831 338T797 312T763 296L747 290Q744 289 735 266T724 241Q722 240 702 232T664 217T645 210Q638 210 638 218Q638 224 653 246T669 270Q669 271 668 271Q663 270 624 264L607 263Q570 199 529 152Q513 133 484 106T409 45T305 -13T193 -36Q109 -36 74 -10T39 50Q39 86 64 121T128 158Q171 158 171 121Q171 97 141 83Q125 75 107 75Q93 75 80 83Q76 71 76 62Q76 29 117 15T207 0Q324 0 494 248L501 258H495Q368 239 330 195Q324 187 305 187ZM775 335Q806 358 806 368Q805 369 804 369Q800 369 791 360Q774 336 775 335'], + + // LATIN CAPITAL LETTER G + 0x47: [717,37,610,12,739,'206 318L249 320Q249 327 259 352T282 399Q312 447 366 510T465 610Q588 717 661 717Q695 717 716 701T738 653T704 577Q663 522 610 474T512 397T424 346T359 315T333 306Q331 304 327 290T323 267Q323 229 368 229Q402 229 439 254T505 312T571 382T638 435Q642 437 644 437Q658 437 658 409Q655 403 647 399T624 379T595 326Q583 296 564 267T523 179Q504 126 483 91T423 27Q335 -37 231 -37Q191 -37 157 -30T95 -2T67 53Q67 89 94 123T159 158Q180 158 190 146T200 119Q200 102 178 89T136 75Q128 75 120 78T110 81Q105 81 105 62Q105 38 129 24T180 5T238 1H244Q282 1 319 32Q349 55 371 85T436 190L465 239Q413 192 354 192Q300 192 274 217T245 276Q245 284 242 284Q220 280 187 280Q106 280 59 315T12 409Q12 457 43 508T118 597T210 659T295 683Q308 683 308 675Q308 670 299 658T282 646Q266 646 240 633Q182 606 118 511Q76 448 76 400Q76 368 105 343T206 318ZM677 660Q677 680 646 680Q616 680 565 629Q537 601 514 571Q493 544 455 492T389 398T360 355Q366 357 386 367Q463 406 534 473T641 591T677 660'], + + // LATIN CAPITAL LETTER H + 0x48: [718,36,969,29,1241,'331 505Q331 519 382 574T472 629H480Q512 629 529 614T547 576Q547 555 534 532T520 504Q520 493 549 493Q590 493 623 506T668 533L681 546Q731 600 772 641T832 700T852 717Q857 717 860 711T865 697L866 690Q866 688 813 617T708 475T656 403Q682 403 714 404H771L780 416Q1004 707 1167 707Q1209 707 1225 689T1241 646Q1241 604 1209 547T1118 447Q1081 422 1034 405T952 382T888 374T857 370H852L826 334Q733 204 708 144Q691 104 691 76Q691 29 748 29Q768 31 791 48T831 83T862 122T881 146Q883 148 900 148H917Q921 143 921 140T914 127Q810 -8 723 -8Q611 -4 611 100Q611 142 631 191T676 275T721 337T742 367Q716 367 685 366H628L620 355Q618 352 558 268Q486 168 461 141Q405 79 339 34T215 -28Q188 -36 153 -36Q86 -36 58 -11T29 46Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q67 82 67 60Q67 28 99 14T170 0Q214 0 272 47T419 224L505 340L518 357Q513 357 504 356T467 347T415 330T360 300T308 253Q296 238 295 237H278H274Q256 237 256 243Q256 248 263 256Q291 294 330 321T407 362T476 382T530 393T552 398Q556 402 573 423T600 454Q602 457 604 460T608 465L610 467Q565 455 532 455Q465 455 449 483Q447 487 447 498Q447 513 463 538T479 579Q479 593 463 593Q436 593 385 519Q374 504 371 502T360 499H353H349Q331 499 331 505ZM1195 634Q1195 643 1195 648T1185 662T1157 671Q1130 671 1092 644T1019 579T952 502T901 436L882 409L891 410Q900 411 913 412T934 415Q1081 439 1144 520Q1195 590 1195 634'], + + // LATIN CAPITAL LETTER I + 0x49: [717,17,809,59,946,'487 225Q398 255 398 342Q398 410 455 492Q491 545 552 582T669 636T800 673T918 712Q930 717 933 717Q939 717 942 706T946 689Q946 686 915 664T830 591T729 480Q691 429 657 351T615 260Q628 260 663 279T733 339T769 426Q769 442 767 459T764 479Q764 484 766 486Q769 488 781 493T797 498Q802 498 803 494T808 472Q813 442 813 425Q813 369 761 315Q692 246 605 224L592 220L584 209Q547 155 487 106T358 25Q270 -17 191 -17Q143 -17 101 1T59 59Q59 96 85 127T148 158Q169 158 179 146T189 119Q189 102 167 89T125 75Q116 75 109 77T101 81T97 80Q96 77 96 72Q96 50 123 36T204 21H216Q249 21 302 49T411 134Q439 161 459 187Q487 220 487 225ZM460 334Q460 308 472 290T498 268L510 263Q515 263 545 313T626 438T723 561Q751 589 775 609T808 636T817 644H816Q813 644 732 618Q681 601 645 584T585 548T549 514T518 476Q460 390 460 334'], + + // LATIN CAPITAL LETTER J + 0x4A: [717,314,1052,92,1133,'829 148Q845 148 845 143T841 130T823 109T788 83T730 54T644 22Q637 20 634 19T627 16T622 13T618 10T612 3T604 -6Q510 -112 396 -203T201 -312Q190 -314 171 -314H166Q156 -314 147 -312T123 -304T101 -283T92 -245Q92 -203 117 -160T175 -93Q214 -65 280 -41T390 -6T509 22L532 27L547 47Q673 219 673 225L665 228Q657 231 648 235T627 249T606 270T591 300T584 341Q584 389 614 447T686 544Q735 588 799 615T959 667T1108 713Q1118 717 1119 717Q1125 717 1129 705T1133 689Q1133 686 1115 673Q1051 627 1001 579T918 481T867 403T828 328T805 277Q802 271 801 267T798 261T798 259Q849 270 900 317Q956 371 956 421Q956 438 953 457T950 480Q950 481 950 482L951 484Q953 487 966 492T985 498Q989 498 994 473Q1000 441 1000 423Q1000 362 934 302T790 223L775 220L767 207Q757 191 731 158T685 98T662 63Q662 61 690 70T755 99T811 142L816 148H829ZM646 332Q646 308 659 291T685 268L698 263L735 320Q828 465 865 511Q923 582 1003 643L1005 645Q1004 645 924 620Q775 572 716 492Q646 401 646 332ZM184 -278Q233 -278 311 -212T444 -80L498 -15H496Q468 -20 424 -30T293 -70T174 -133Q167 -140 158 -153T138 -190T127 -232Q127 -278 184 -278'], + + // LATIN CAPITAL LETTER K + 0x4B: [717,37,914,29,1204,'521 506Q521 493 549 493Q608 493 660 527Q667 531 690 555L736 604Q750 619 777 646T825 694T848 716T852 717Q857 717 860 711T865 697L866 690Q866 687 812 615Q654 404 654 401Q655 401 656 401T659 402T665 403T680 404Q718 404 734 374Q735 370 743 376Q745 377 752 382Q806 416 852 466T933 563T982 623Q1028 666 1075 686T1155 706Q1165 706 1173 705T1186 703T1194 699T1199 695T1201 692T1202 688V687L1204 677Q1204 667 1191 670Q1189 670 1183 670T1174 671Q1137 671 1086 643T1001 564Q970 517 899 449T749 339L739 333L736 322Q730 295 703 253T652 165T628 77Q628 21 681 21Q692 21 698 23Q751 46 817 134L827 148H844Q861 148 864 146Q869 140 859 127Q818 75 761 29T665 -17Q649 -17 633 -12T598 4T569 40T558 100Q558 128 563 152T585 205T609 245T643 294Q647 300 645 300Q633 297 615 297Q607 297 600 298T589 300T584 301Q581 301 569 284T536 236T488 171T418 97T331 28Q233 -37 155 -37Q104 -37 68 -17T29 44Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q68 82 68 59Q68 37 85 23T123 5T167 0Q203 0 238 21T311 85T382 174T468 288T563 410Q576 426 588 440T607 462T615 472L605 468Q568 456 533 456H527Q490 456 463 483Q451 496 451 508T468 545T486 581Q486 593 465 593Q448 593 425 568T384 518T364 493Q364 492 347 492Q326 492 326 499T351 537T414 599T477 630Q509 630 528 615T547 576Q547 556 534 533T521 506ZM675 357Q675 368 665 368Q656 368 644 363Q631 355 616 333H628Q640 334 672 341Q675 354 675 357'], + + // LATIN CAPITAL LETTER L + 0x4C: [717,17,874,14,1035,'572 704Q607 704 607 693Q607 681 590 664H588Q586 664 584 664T578 663Q504 658 434 592T363 457Q363 426 386 401Q417 371 481 361Q490 360 527 360H562Q565 363 595 404T666 494T755 596T854 682T945 717Q986 717 1010 696T1035 637Q1035 593 996 531T873 414Q809 378 753 360T674 338T651 333Q650 333 633 308T588 245T544 185Q498 126 426 78L413 68H414Q498 47 575 47Q626 47 676 74T755 139L762 148H779H783Q802 148 802 142Q802 137 795 129Q760 81 691 33T544 -16Q470 -16 366 20L341 29L331 24Q239 -17 155 -17H141Q90 -17 61 -12T23 1T14 22Q14 44 39 65T103 95Q126 101 180 101Q224 101 258 98T309 90T330 86Q332 86 353 103T389 135Q401 146 412 158T431 179T450 203T466 225T485 252T505 280L535 322H509Q391 322 340 362T289 452Q289 495 321 547T396 630Q438 665 486 684T572 704ZM978 635Q978 644 977 650T973 661T968 668T961 673T954 676T946 678T938 680Q929 680 925 677Q893 659 795 531T682 377Q683 377 711 385T755 401T801 421T856 453T906 495Q927 516 952 557T978 635ZM274 50Q274 51 258 54T216 61T166 65Q160 65 151 65T140 64Q115 58 102 48T88 31Q88 20 159 20Q191 20 219 27T261 42L274 50'], + + // LATIN CAPITAL LETTER M + 0x4D: [721,51,1080,30,1216,'112 -7Q86 -7 58 6T30 48T54 103T113 130Q129 130 141 121T153 94Q153 71 132 59T90 47H80Q95 30 133 30Q180 30 228 63T311 137T402 249T500 361Q566 425 703 529T910 693Q942 721 945 721T958 716T970 709Q974 704 964 691Q961 688 905 622T847 554L595 181Q553 121 527 77T496 19L492 5Q497 5 531 46Q579 98 685 224T850 409L972 524Q994 543 1004 556Q1012 567 1097 643T1186 720Q1194 720 1206 715T1215 703Q1215 701 1191 671T1133 599T1080 530Q1036 461 983 357T862 152Q802 64 799 17Q799 7 800 5T811 2Q836 2 882 37T969 126Q972 130 974 134T978 138T983 139T996 140H1012Q1018 134 1018 132Q1018 122 981 83T889 4T795 -35Q761 -35 745 -12T728 48Q728 122 781 190Q833 269 890 370L927 434L914 422Q848 360 752 245Q643 117 582 51T498 -33T461 -50Q424 -48 424 -4Q424 84 481 172L714 495Q591 406 523 333Q507 316 430 226T313 95Q263 48 221 24T162 -4T120 -7H112'], + + // LATIN CAPITAL LETTER N + 0x4E: [726,36,902,29,1208,'764 513Q764 482 772 423T780 330Q780 304 778 285T775 256T773 245Q778 252 826 328T932 484T1042 617Q1077 652 1114 678T1173 715T1200 726Q1208 726 1208 717Q1208 711 1206 695L1203 679L1199 675Q1197 675 1187 670T1161 657T1133 639Q1050 583 959 456Q906 381 858 307T779 179T725 83T691 18T679 -6Q677 -8 660 -8H656Q639 -8 639 -1Q639 4 646 17Q685 93 685 173V196Q685 233 681 288T676 380Q676 438 687 487L664 454Q505 230 454 170Q366 64 290 14T163 -36H152Q87 -36 58 -11T29 46Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q67 82 67 59Q67 37 89 19T167 1Q187 1 197 3Q221 9 246 22T292 52T336 91T375 132T411 174T440 212T463 245T478 266Q779 695 784 698Q786 700 802 700H818Q824 694 824 692T809 668T779 604T764 513'], + + // LATIN CAPITAL LETTER O + 0x4F: [707,8,738,96,805,'259 -8Q230 -7 205 0T153 24T112 74T96 153Q96 254 174 379T374 599T607 707H621Q732 707 778 661Q805 634 805 598Q805 558 775 517T696 452L684 447V441Q684 378 626 273T484 97Q379 7 288 -7Q279 -8 259 -8ZM760 594Q760 670 608 670Q562 670 493 622T347 472Q174 240 174 131Q174 76 205 53T279 29Q294 29 306 32Q405 60 507 205Q592 325 616 401Q625 426 625 435Q625 436 621 436T603 440T569 449Q524 466 515 475Q513 477 513 481T525 496T541 508L548 504Q555 501 565 497T587 488T609 480T625 476Q627 476 626 481Q626 486 623 494T613 513T589 533T548 541Q495 541 413 454T286 281Q265 241 254 201T240 141T235 120Q234 118 217 111T197 104Q195 104 192 107T189 112Q190 125 193 147T220 231T280 348Q335 428 407 493T539 576Q548 578 563 578Q594 578 617 568T653 546T672 518T681 494T683 482Q683 481 684 481Q690 481 707 495T742 538T760 594'], + + // LATIN CAPITAL LETTER P + 0x50: [716,37,1013,90,1031,'571 345Q571 384 612 418T687 452Q698 452 698 445Q698 436 679 417Q677 415 670 415Q650 412 633 389T615 350Q615 340 621 331T634 319T643 315L663 342Q751 462 817 536Q873 595 896 614L907 625Q843 680 701 680Q594 680 499 632T344 516Q317 486 296 449T267 384Q262 366 262 354Q262 332 276 316T326 299H327Q374 299 426 338Q481 376 537 456T597 598Q597 616 599 617Q601 619 614 624T630 630Q639 630 639 604V587V581Q639 519 597 456Q544 377 462 320T318 262Q278 262 250 282T222 350Q222 418 285 504Q360 597 480 656T702 716Q773 716 825 707T898 688T951 660Q962 670 985 685T1012 700Q1018 700 1022 690T1026 673Q1026 670 1019 664Q988 633 988 631Q988 630 999 618T1020 580T1031 522Q1031 471 1003 419T928 330Q854 275 765 264Q757 262 733 262H714L701 245Q615 121 473 42T218 -37Q159 -37 125 -15T90 46Q90 82 116 120T185 158Q203 158 213 147T224 121Q224 110 219 102Q198 75 159 75Q154 75 149 76T143 77T140 77Q137 72 137 53Q138 37 149 26T177 9T205 2T228 0Q313 0 419 74T602 257L620 281L614 285Q607 289 601 294T587 306T576 323T571 345ZM950 529Q950 576 943 576Q940 576 840 439T741 299H751Q804 300 845 334T924 438Q949 490 950 529'], + + // LATIN CAPITAL LETTER Q + 0x51: [717,17,883,54,885,'330 387Q330 331 402 331Q463 331 514 371T589 459T613 542Q613 559 608 570T598 588T593 596Q593 601 617 610Q632 617 636 616Q675 585 675 527Q675 464 629 409T516 324T387 294Q271 294 271 394V402Q271 438 292 478Q344 582 457 649T672 717Q765 717 825 675T885 548Q885 433 771 298T498 76Q493 73 491 72T486 69T484 67T485 66Q539 41 607 41Q655 41 703 71T780 139L787 148H804Q806 148 809 148Q826 149 826 140Q826 128 786 91T687 19T589 -16H576Q503 -16 414 20L396 27Q279 -17 192 -17Q130 -17 92 2T54 53Q54 92 107 123T222 155Q303 155 401 106L431 91L441 97Q476 118 527 157Q622 236 711 361T801 573Q801 591 795 607T775 641T732 668T660 679Q592 679 528 644T422 560T355 464T330 387ZM201 20Q232 20 267 27T322 40T342 49Q342 52 315 60T243 77T160 86Q150 88 144 88Q130 88 122 79T112 62L111 53Q111 20 201 20'], + + // LATIN CAPITAL LETTER R + 0x52: [717,17,850,-2,887,'224 266Q185 266 156 286T127 354Q127 419 176 487T282 594Q346 642 433 679T615 717Q732 717 802 680L815 673Q824 680 840 690T860 700Q864 700 867 693T872 680L873 673Q873 668 858 659L845 651L853 642Q887 605 887 561Q887 500 840 439Q790 379 681 336Q693 312 693 292Q692 276 689 263T672 229T653 198T620 152L575 87Q557 57 557 33Q557 24 560 17T566 8L569 5Q546 5 508 25T470 76Q470 83 473 92T545 198T616 310Q616 317 615 318T612 319Q603 319 575 315H560L545 291Q492 201 429 135T277 23Q202 -17 142 -17H130Q50 -17 16 17Q-2 35 -2 57Q-2 95 24 126T88 158Q106 158 116 147T127 121Q127 110 122 102Q116 93 99 84T63 75Q58 75 53 76T47 77T45 75T44 67Q45 52 57 42T88 27T120 21T144 19Q174 19 208 36T267 76T324 134T369 189T406 239Q462 319 504 374T616 503T755 631L770 644Q767 647 753 654T697 670T602 680Q493 680 399 631T247 516Q218 485 193 440T168 359Q168 328 188 316T234 303Q255 303 273 315T304 340T343 389T390 448Q428 490 441 510T456 548Q456 557 458 559Q459 560 476 567T496 575Q505 575 505 558Q505 511 434 412Q429 406 427 403Q397 360 378 343Q342 308 300 287T224 266ZM819 564Q819 595 800 619L784 606Q729 557 692 512T605 387L591 365L610 364Q622 364 631 363T641 361Q643 361 651 363Q725 388 772 449T819 564ZM794 141Q794 123 725 63T612 3Q609 3 612 5Q612 5 615 7Q639 19 678 57T742 131L755 148H772H780Q794 148 794 141ZM588 -3Q590 0 593 0H594L593 -1Q592 -1 590 -2L588 -3'], + + // LATIN CAPITAL LETTER S + 0x53: [708,36,868,29,1016,'346 463Q346 419 406 386T576 352H588L613 384L681 476Q767 594 842 651T973 708Q1016 708 1016 661Q1016 621 987 562T894 449Q802 375 696 338L682 334L665 312Q638 279 605 233T547 158T482 97Q418 46 332 5T158 -36Q87 -36 58 -11T29 48Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q67 82 67 59Q67 28 98 14T166 0Q232 0 320 55T491 226Q530 279 551 305L558 314Q558 315 543 315Q417 321 353 365T289 460Q289 566 488 632Q578 662 660 665H679Q685 660 685 657T676 642Q670 633 666 629L664 628Q663 628 661 628T655 628Q606 628 546 615T426 568T350 486Q346 475 346 463ZM976 653Q976 671 959 671Q938 671 919 661T883 629T858 593T835 554Q832 548 830 545Q802 495 775 455T734 400T721 382L736 388Q876 449 946 568Q948 572 949 573Q976 622 976 653'], + + // LATIN CAPITAL LETTER T + 0x54: [735,37,747,92,996,'354 350Q264 350 264 426Q264 442 265 448Q279 514 347 582T503 692T662 735Q719 735 774 714T882 672T983 651Q996 651 996 644Q996 639 977 612T954 581Q953 580 938 580Q909 582 884 587L869 591L870 587Q870 583 849 557T796 491T748 422Q729 391 692 313T620 188Q555 105 454 34T253 -37Q214 -37 181 -30T120 -2T92 53Q92 89 119 123T184 158Q205 158 215 146T225 119Q225 102 203 89T161 75Q153 75 145 78T135 81Q130 81 130 62Q130 39 153 24T204 5T267 0Q311 0 358 29T454 117T539 226T629 358T710 476Q726 496 744 516T778 551T807 577T828 595L836 601L785 623Q743 642 713 651T668 661T626 663Q564 663 509 644T418 596T356 535T317 475T305 431Q305 416 312 408Q323 388 369 388Q429 388 465 411T530 480Q557 526 557 565Q557 573 556 579T555 587T555 590Q555 591 568 600T584 611Q588 612 600 603Q622 581 622 549Q622 516 600 475T536 405Q454 350 354 350'], + + // LATIN CAPITAL LETTER U + 0x55: [717,17,800,55,960,'55 377Q55 443 122 523T290 660T478 717Q533 717 575 689T618 594Q618 565 611 538T585 477T552 422T506 355T458 288L357 146Q307 68 307 31Q307 20 318 20Q326 20 331 21Q367 27 411 57T490 128L767 500L861 617H908H939Q953 617 956 616T960 609Q960 605 928 566T816 423T648 198Q587 113 571 86Q540 34 540 21Q540 20 545 20Q580 25 623 55T696 124Q702 132 704 133T722 134H739Q744 130 744 127T735 113Q713 80 655 38T548 -14Q527 -17 524 -17Q475 -17 473 47V63L462 55Q364 -17 302 -17Q235 -17 235 69Q235 88 239 105T248 135T268 171T292 205T328 251T369 304Q376 313 395 338T423 374T450 408T476 445T499 479T519 514T534 546T545 579T548 608Q548 647 522 663T460 680Q355 680 243 591T99 406Q97 399 97 383V377Q97 339 153 339Q169 339 175 340Q215 350 241 373T298 444Q333 496 349 535T367 588T374 603Q402 616 408 616Q416 616 416 608Q416 563 393 492T320 378Q233 302 140 302H132Q75 302 57 353Q55 361 55 377'], + + // LATIN CAPITAL LETTER V + 0x56: [717,17,622,56,850,'540 717Q542 717 545 717Q562 717 562 710Q562 708 557 702T541 678T517 632T485 544T448 407Q447 405 443 388T438 366T433 345T427 321T420 299T411 274T400 250T387 223T372 197Q363 181 364 181L388 203Q476 284 527 354T620 490T718 612Q754 647 790 673T835 700Q839 700 842 691T848 672L850 662Q850 657 842 653Q803 630 768 600T699 527T653 467T610 405Q554 322 518 282T368 138Q307 84 273 51T231 9T218 -5L207 -17H175Q169 -11 169 -9Q169 -4 183 10Q227 56 258 120T302 234T330 350T356 445Q357 450 360 458L362 464Q317 434 276 434Q221 437 221 479Q221 498 240 521T259 552Q259 565 235 565Q209 565 174 546T105 482Q103 480 102 478T99 474T97 472T95 470T93 468T90 467T86 467T81 467H75Q56 467 56 475Q56 482 82 511T156 570T253 601Q289 601 311 590T334 557Q334 543 312 517T289 478Q289 471 297 471Q327 471 378 514Q384 519 390 531T412 571T451 632Q482 675 524 717H540'], + + // LATIN CAPITAL LETTER W + 0x57: [717,17,805,46,1026,'232 504Q232 492 263 492Q304 492 356 515L367 520L379 537Q443 632 515 705L527 717H543H552Q564 717 564 709Q564 705 562 703T554 694T540 677T518 643T488 589T448 504T398 385Q368 309 353 281L349 270L523 472L669 634Q726 695 737 706T757 717H765Q786 717 786 710Q786 704 776 691T738 627T675 497Q630 394 609 354T541 244Q456 120 449 111L447 107L448 108Q630 240 700 327Q734 368 788 463Q821 520 841 550T898 619T980 683Q1010 700 1018 700Q1020 700 1023 697T1026 692Q1026 688 1024 671T1020 652Q1018 650 1007 645T988 635Q940 609 902 565T842 477T781 374T699 272Q653 226 535 133Q423 47 373 -2L358 -17H342Q320 -17 320 -11Q320 -7 328 5T354 46T390 112Q416 161 439 217T488 326T564 453L589 490Q587 490 523 414T352 217T166 14Q138 -16 137 -16Q136 -17 120 -17Q106 -17 103 -16T99 -9Q99 -5 100 -3T106 3T116 14T132 35T154 72T184 129T222 212T270 327Q310 426 337 471L326 467Q278 455 243 455Q209 455 188 462T161 478T155 496Q155 508 176 533T198 576Q198 579 198 581T192 588T178 593Q151 593 100 519Q89 504 86 502T75 499H68Q46 499 46 506Q46 510 63 534T112 587T170 627Q178 629 195 629Q235 629 252 613T270 577Q270 556 251 532T232 504'], + + // LATIN CAPITAL LETTER X + 0x58: [717,17,944,103,1131,'351 351Q308 351 290 373T272 426Q272 487 329 566T478 688Q538 717 584 717Q635 717 681 696T745 620Q752 598 752 564T745 498L741 485Q742 486 769 516T825 573T889 634T962 689T1027 716Q1035 717 1060 717Q1083 716 1096 714T1120 705T1131 686Q1131 668 1109 647T1055 626Q1035 626 1026 638T1016 663Q1016 667 1020 679H1015Q971 671 886 589T728 413L688 360Q688 359 725 359H750Q762 359 766 357T770 348Q769 345 761 335T750 322Q748 321 704 321H660Q651 311 632 282T589 199T565 107Q565 25 653 20Q684 20 720 44T779 95T826 152T850 183L856 184Q861 184 865 184Q888 184 888 173Q883 163 845 117Q770 37 723 10T638 -17Q584 -14 554 17T523 101Q523 147 534 167L532 166Q530 164 526 160T518 153Q378 15 256 -15Q250 -16 226 -16Q161 -16 132 7T103 59Q103 93 129 125T194 158Q232 158 232 121Q233 118 233 113T221 96T188 77Q182 75 168 75T150 78V70Q150 43 178 32T241 20Q340 20 527 286L552 321H524Q489 321 489 330Q489 333 497 344T509 358Q511 359 545 359H579Q580 362 597 389T631 445T661 514T675 586Q675 637 645 658T572 680Q506 680 444 632T348 527T314 434Q314 388 361 388H364H366Q380 388 389 390T416 408T457 454Q487 497 505 536T526 594L529 613Q531 615 545 622T560 630Q568 630 573 613T578 577Q578 518 532 455Q504 413 453 382T351 351'], + + // LATIN CAPITAL LETTER Y + 0x59: [716,17,710,57,959,'155 280Q116 280 87 300T57 368Q57 409 87 466T192 589Q269 653 345 684T472 716Q572 716 613 675Q644 644 644 599Q644 585 643 574T637 550T629 529T616 505T600 481T578 450T554 416Q494 330 493 328L480 306Q466 278 466 256Q466 227 492 227H496Q514 227 534 234Q541 237 544 241T571 279L762 559Q777 579 792 595Q818 620 856 646T919 686T946 700Q951 700 955 692T959 677Q959 673 947 665T911 639T866 595Q816 538 749 408T640 225Q574 138 464 61T248 -17Q190 -17 144 1T98 62Q98 81 109 102T131 135Q156 156 183 158Q226 158 226 121Q226 111 224 107Q215 93 196 84T162 74Q154 74 147 77H144V70Q146 41 185 31T263 20Q363 20 493 175L507 192H504Q500 191 498 191Q484 189 476 189Q430 189 405 219T379 287Q379 294 379 299T382 311T385 322T391 335T398 347T408 363T420 379T434 399T450 422Q455 429 469 449T488 475T504 499T520 523T533 543T544 565T552 583T557 603T559 620Q559 680 467 680Q402 680 333 646T213 563T131 462T98 373Q98 343 119 330T169 317Q187 317 212 333Q242 354 291 423T352 555Q354 562 355 588Q355 612 356 612Q357 614 371 622T387 630Q391 630 397 623T409 597T415 556Q415 507 380 448T294 344Q216 280 155 280'], + + // LATIN CAPITAL LETTER Z + 0x5A: [717,16,821,82,1032,'221 428Q221 487 280 555T425 670T583 717H587Q641 717 665 695T689 646Q689 625 674 600T658 564Q658 550 671 541T695 530T710 528L718 539Q779 613 821 646Q894 707 964 707H970Q1010 707 1025 675Q1032 661 1032 645Q1032 626 1022 607Q1008 579 980 560T897 522Q867 512 836 505T788 496L771 493Q768 493 760 477T736 429T702 370Q700 367 698 363Q696 360 696 359H805Q809 355 809 350Q809 340 791 322Q789 321 728 321H668Q562 179 433 88L419 78L434 73Q505 54 554 54Q609 54 654 82T720 140H752Q758 134 758 132Q758 128 747 113Q711 67 657 32T552 -14Q540 -16 517 -16T480 -15T439 -3T375 27L354 38L338 30Q257 -8 191 -8H184Q154 -8 133 -5T103 1T88 10T83 19T83 29Q83 35 86 44T100 65T127 88T173 105T241 112Q286 112 342 99L360 95L372 105Q434 157 523 270L560 320Q560 321 533 321L507 322Q502 325 502 330Q502 339 521 358Q523 359 556 359H588L669 474L682 491Q676 492 665 494T647 498T632 503T614 510T596 521Q556 547 556 570Q556 585 579 618T603 663Q603 679 568 679Q510 679 452 650T354 581T288 500T262 431Q262 407 280 397T321 387Q331 387 341 390T360 398T376 409T390 423T400 435T409 447L414 454Q457 514 460 562Q460 575 461 576Q461 577 475 586T492 595Q496 595 503 588T514 572Q520 559 520 539Q520 473 452 412T308 351Q269 351 245 370T221 428ZM989 642Q989 667 953 671Q905 671 871 644Q853 632 832 604T799 554T787 531H788Q801 531 842 539T916 561Q989 592 989 642ZM198 29Q230 29 257 36T295 52L306 59Q306 63 259 73Q251 74 209 74Q177 74 158 66T134 48L130 40Q130 29 198 29'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Script/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/Main.js new file mode 100644 index 00000000..068c2d1e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/Main.js @@ -0,0 +1,60 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Script/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Script'] = { + directory: 'Script/Regular', + family: 'MathJax_Script', + id: 'MJSCR', + skew: { + 0x41: 0.389, + 0x42: 0.194, + 0x43: 0.278, + 0x44: 0.111, + 0x45: 0.139, + 0x46: 0.222, + 0x47: 0.25, + 0x48: 0.333, + 0x49: 0.333, + 0x4A: 0.417, + 0x4B: 0.361, + 0x4C: 0.306, + 0x4D: 0.444, + 0x4E: 0.389, + 0x4F: 0.167, + 0x50: 0.222, + 0x51: 0.278, + 0x52: 0.194, + 0x53: 0.333, + 0x54: 0.222, + 0x55: 0.25, + 0x56: 0.222, + 0x57: 0.25, + 0x58: 0.278, + 0x59: 0.194, + 0x5A: 0.306 + }, + Ranges: [ + [0x0,0x7F,"BasicLatin"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Script/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js new file mode 100644 index 00000000..d8be6b2a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js @@ -0,0 +1,159 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Size1/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size1'] = { + directory: 'Size1/Regular', + family: 'MathJax_Size1', + id: 'MJSZ1', + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [850,349,458,152,422,'152 251Q152 646 388 850H416Q422 844 422 841Q422 837 403 816T357 753T302 649T255 482T236 250Q236 124 255 19T301 -147T356 -251T403 -315T422 -340Q422 -343 416 -349H388Q359 -325 332 -296T271 -213T212 -97T170 56T152 251'], + + // RIGHT PARENTHESIS + 0x29: [850,349,458,35,305,'305 251Q305 -145 69 -349H56Q43 -349 39 -347T35 -338Q37 -333 60 -307T108 -239T160 -136T204 27T221 250T204 473T160 636T108 740T60 807T35 839Q35 850 50 850H56H69Q197 743 256 566Q305 425 305 251'], + + // SOLIDUS + 0x2F: [850,349,578,55,522,'481 838Q489 850 500 850Q508 850 515 844T522 827Q521 824 311 248T96 -337Q90 -349 77 -349Q68 -349 62 -343T55 -326Q56 -323 266 253T481 838'], + + // LEFT SQUARE BRACKET + 0x5B: [850,349,417,202,394,'202 -349V850H394V810H242V-309H394V-349H202'], + + // REVERSE SOLIDUS + 0x5C: [850,349,578,54,522,'522 -326Q522 -337 515 -343T500 -349Q487 -349 481 -337Q477 -328 267 248T55 827Q54 835 60 842T76 850Q89 850 96 838Q100 829 310 253T522 -326'], + + // RIGHT SQUARE BRACKET + 0x5D: [850,349,417,22,214,'22 810V850H214V-349H22V-309H174V810H22'], + + // LEFT CURLY BRACKET + 0x7B: [851,349,583,105,477,'477 -343L471 -349H458Q432 -349 367 -325T273 -263Q258 -245 250 -212L249 -51Q249 -27 249 12Q248 118 244 128Q243 129 243 130Q220 189 121 228Q109 232 107 235T105 250Q105 256 105 257T105 261T107 265T111 268T118 272T128 276T142 283T162 291Q224 324 243 371Q243 372 244 373Q248 384 249 469Q249 475 249 489Q249 528 249 552L250 714Q253 728 256 736T271 761T299 789T347 816T422 843Q440 849 441 849H443Q445 849 447 849T452 850T457 850H471L477 844V830Q477 820 476 817T470 811T459 807T437 801T404 785Q353 760 338 724Q333 710 333 550Q333 526 333 492T334 447Q334 393 327 368T295 318Q257 280 181 255L169 251L184 245Q318 198 332 112Q333 106 333 -49Q333 -209 338 -223Q351 -255 391 -277T469 -309Q477 -311 477 -329V-343'], + + // RIGHT CURLY BRACKET + 0x7D: [850,349,583,105,477,'110 849L115 850Q120 850 125 850Q151 850 215 826T309 764Q324 747 332 714L333 552Q333 528 333 489Q334 383 338 373Q339 372 339 371Q353 336 391 310T469 271Q477 268 477 251Q477 241 476 237T472 232T456 225T428 214Q357 179 339 130Q339 129 338 128Q334 117 333 32Q333 26 333 12Q333 -27 333 -51L332 -212Q328 -228 323 -240T302 -271T255 -307T175 -338Q139 -349 125 -349T108 -346T105 -329Q105 -314 107 -312T130 -304Q233 -271 248 -209Q249 -203 249 -49V57Q249 106 253 125T273 167Q307 213 398 245L413 251L401 255Q265 300 250 389Q249 395 249 550Q249 710 244 724Q224 774 112 811Q105 813 105 830Q105 845 110 849'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [744,-551,556,-8,564,'279 669Q273 669 142 610T9 551L0 569Q-8 585 -8 587Q-8 588 -7 588L12 598Q30 608 66 628T136 666L277 744L564 587L555 569Q549 556 547 554T544 552Q539 555 410 612T279 669'], + + // SMALL TILDE + 0x2DC: [722,-597,556,1,554,'374 597Q337 597 269 627T160 658Q101 658 34 606L24 597L12 611Q1 624 1 626Q1 627 27 648T55 671Q120 722 182 722Q219 722 286 692T395 661Q454 661 521 713L531 722L543 708Q554 695 554 693Q554 692 528 671T500 648Q434 597 374 597'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [744,-551,0,-564,8,'-277 669Q-283 669 -414 610T-547 551L-556 569Q-564 585 -564 587Q-564 588 -563 588L-544 598Q-526 608 -490 628T-420 666L-279 744L8 587L-1 569Q-7 556 -9 554T-12 552Q-17 555 -146 612T-277 669'], + + // COMBINING TILDE + 0x303: [722,-597,0,-555,-2,'-182 597Q-219 597 -287 627T-396 658Q-455 658 -522 606L-532 597L-544 611Q-555 624 -555 626Q-555 627 -529 648T-501 671Q-436 722 -374 722Q-337 722 -270 692T-161 661Q-102 661 -35 713L-25 722L-13 708Q-2 695 -2 693Q-2 692 -28 671T-56 648Q-122 597 -182 597'], + + // DOUBLE VERTICAL LINE + 0x2016: [602,0,778,257,521,'257 0V602H300V0H257ZM478 0V602H521V0H478'], + + // UPWARDS ARROW + 0x2191: [600,0,667,112,555,'112 421L120 424Q127 427 136 430T161 441T191 458T224 481T260 510T295 546T328 591L333 600L340 589Q380 527 431 489T555 421V377L543 381Q445 418 368 492L355 504V0H312V504L299 492Q222 418 124 381L112 377V421'], + + // DOWNWARDS ARROW + 0x2193: [600,0,667,112,555,'312 96V600H355V96L368 108Q445 182 543 219L555 223V179L546 176Q538 173 529 169T505 158T475 141T442 119T407 90T372 53T339 9L334 0L327 11Q287 73 236 111T112 179V223L124 219Q222 182 299 108L312 96'], + + // UPWARDS DOUBLE ARROW + 0x21D1: [599,0,778,57,721,'142 329Q300 419 389 599Q389 598 399 579T420 541T452 494T497 438T558 383T636 329T708 294L721 289V246Q718 246 694 256T623 293T532 356L522 364L521 182V0H478V405L466 417Q436 450 389 516Q388 515 378 500T352 463T312 417L300 405V0H257V364L247 356Q202 320 155 293T82 256L57 246V289L70 294Q101 305 142 329'], + + // DOWNWARDS DOUBLE ARROW + 0x21D3: [600,-1,778,57,721,'257 236V600H300V195L312 183Q342 150 389 84Q390 85 400 100T426 137T466 183L478 195V600H521V418L522 236L532 244Q576 280 623 307T696 344L721 354V311L708 306Q677 295 636 271Q478 181 389 1Q389 2 379 21T358 59T326 106T281 162T220 217T142 271T70 306L57 311V354Q60 354 83 345T154 308T247 244L257 236'], + + // N-ARY PRODUCT + 0x220F: [750,250,944,55,888,'158 656Q147 684 131 694Q110 707 69 710H55V750H888V710H874Q840 708 820 698T795 678T786 656V-155Q798 -206 874 -210H888V-250H570V-210H584Q618 -208 638 -197T663 -178T673 -155V710H270V277L271 -155Q283 -206 359 -210H373V-250H55V-210H69Q103 -208 123 -197T148 -178T158 -155V656'], + + // N-ARY COPRODUCT + 0x2210: [750,250,944,55,888,'158 656Q147 684 131 694Q110 707 69 710H55V750H373V710H359Q325 708 305 698T280 678T271 656L270 223V-210H673V656Q666 672 663 679T639 697T584 710H570V750H888V710H874Q840 708 820 698T795 678T786 656V-155Q798 -206 874 -210H888V-250H55V-210H69Q103 -208 123 -197T148 -178T158 -155V656'], + + // N-ARY SUMMATION + 0x2211: [750,250,1056,56,999,'61 748Q64 750 489 750H913L954 640Q965 609 976 579T993 533T999 516H979L959 517Q936 579 886 621T777 682Q724 700 655 705T436 710H319Q183 710 183 709Q186 706 348 484T511 259Q517 250 513 244L490 216Q466 188 420 134T330 27L149 -187Q149 -188 362 -188Q388 -188 436 -188T506 -189Q679 -189 778 -162T936 -43Q946 -27 959 6H999L913 -249L489 -250Q65 -250 62 -248Q56 -246 56 -239Q56 -234 118 -161Q186 -81 245 -11L428 206Q428 207 242 462L57 717L56 728Q56 744 61 748'], + + // SQUARE ROOT + 0x221A: [850,350,1000,111,1020,'263 249Q264 249 315 130T417 -108T470 -228L725 302Q981 837 982 839Q989 850 1001 850Q1008 850 1013 844T1020 832V826L741 243Q645 43 540 -176Q479 -303 469 -324T453 -348Q449 -350 436 -350L424 -349L315 -96Q206 156 205 156L171 130Q138 104 137 104L111 130L263 249'], + + // DIVIDES + 0x2223: [627,15,333,144,188,'146 612Q151 627 166 627Q182 627 187 612Q188 610 188 306T187 0Q184 -15 166 -15Q149 -15 146 0V10Q146 19 146 35T146 73T146 122T145 179T145 241T145 306T145 370T145 433T145 489T146 538T146 576T146 602V612'], + + // PARALLEL TO + 0x2225: [627,15,556,144,410,'146 612Q151 627 166 627Q182 627 187 612Q188 610 188 306T187 0Q184 -15 166 -15Q149 -15 146 0V10Q146 19 146 35T146 73T146 122T145 179T145 241T145 306T145 370T145 433T145 489T146 538T146 576T146 602V612ZM368 612Q373 627 388 627Q404 627 409 612Q410 610 410 306T409 0Q406 -15 389 -15Q371 -15 368 0V10Q368 19 368 35T368 73T368 122T367 179T367 241T367 306T367 370T367 433T367 489T368 538T368 576T368 602V612'], + + // INTEGRAL + 0x222B: [805,306,472,55,610,'113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q220 -247 232 -218T251 -133T262 -15T276 155T297 367Q300 390 305 438T314 512T325 580T340 647T361 703T390 751T428 784T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q475 768 460 756T434 716T418 652T407 559T398 444T387 300T369 133Q349 -38 337 -102T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244'], + + // DOUBLE INTEGRAL + 0x222C: [805,306,819,55,957,'113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q220 -247 232 -218T251 -133T262 -15T276 155T297 367Q300 390 305 438T314 512T325 580T340 647T361 703T390 751T428 784T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q475 768 460 756T434 716T418 652T407 559T398 444T387 300T369 133Q349 -38 337 -102T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244ZM460 -244Q460 -246 466 -251T486 -263T514 -269Q532 -269 546 -260Q567 -247 579 -218T598 -133T609 -15T623 155T644 367Q647 390 652 438T661 512T672 580T687 647T708 703T737 751T775 784T826 804Q828 804 835 804T848 805Q899 802 928 769T957 695Q957 669 941 657T908 645Q889 645 874 658T859 694Q859 705 863 714T873 729T885 737T895 742L899 743Q899 745 892 751T872 762T845 768Q822 768 807 756T781 716T765 652T754 559T745 444T734 300T716 133Q696 -38 684 -102T650 -207Q603 -306 516 -306Q466 -306 434 -272T402 -196Q402 -170 418 -158T451 -146Q470 -146 485 -159T500 -195Q500 -206 496 -215T486 -230T474 -238T464 -242L460 -244'], + + // TRIPLE INTEGRAL + 0x222D: [805,306,1166,55,1304,'113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q220 -247 232 -218T251 -133T262 -15T276 155T297 367Q300 390 305 438T314 512T325 580T340 647T361 703T390 751T428 784T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q475 768 460 756T434 716T418 652T407 559T398 444T387 300T369 133Q349 -38 337 -102T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244ZM460 -244Q460 -246 466 -251T486 -263T514 -269Q532 -269 546 -260Q567 -247 579 -218T598 -133T609 -15T623 155T644 367Q647 390 652 438T661 512T672 580T687 647T708 703T737 751T775 784T826 804Q828 804 835 804T848 805Q899 802 928 769T957 695Q957 669 941 657T908 645Q889 645 874 658T859 694Q859 705 863 714T873 729T885 737T895 742L899 743Q899 745 892 751T872 762T845 768Q822 768 807 756T781 716T765 652T754 559T745 444T734 300T716 133Q696 -38 684 -102T650 -207Q603 -306 516 -306Q466 -306 434 -272T402 -196Q402 -170 418 -158T451 -146Q470 -146 485 -159T500 -195Q500 -206 496 -215T486 -230T474 -238T464 -242L460 -244ZM807 -244Q807 -246 813 -251T833 -263T861 -269Q880 -269 893 -260Q914 -247 926 -218T945 -133T956 -15T970 155T991 367Q994 390 999 438T1008 512T1019 580T1034 647T1055 703T1084 751T1122 784T1173 804Q1175 804 1182 804T1195 805Q1246 802 1275 769T1304 695Q1304 669 1288 657T1255 645Q1236 645 1221 658T1206 694Q1206 705 1210 714T1220 729T1232 737T1242 742L1246 743Q1246 745 1239 751T1219 762T1192 768Q1169 768 1154 756T1128 716T1112 652T1101 559T1092 444T1081 300T1063 133Q1043 -38 1031 -102T997 -207Q950 -306 863 -306Q813 -306 781 -272T749 -196Q749 -170 765 -158T798 -146Q817 -146 832 -159T847 -195Q847 -206 843 -215T833 -230T821 -238T811 -242L807 -244'], + + // CONTOUR INTEGRAL + 0x222E: [805,306,472,55,610,'269 74L256 80Q244 85 227 97T191 128T161 179T148 250Q148 332 199 379T302 433L306 434L307 444Q309 456 313 495T321 553T331 607T345 664T365 712T393 756T431 785T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q471 768 454 752T427 693T414 626T406 536Q405 530 405 527L397 425L404 422Q410 419 421 413T445 399T470 376T494 345T511 303T518 250Q518 205 502 169T460 112T410 80T364 66L360 65L359 55Q357 38 353 4T346 -43T340 -81T333 -118T326 -148T316 -179T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q231 -241 242 -183T266 33L269 74ZM272 122Q272 156 300 391Q300 392 299 392Q287 392 263 379T213 331T187 249Q187 211 205 180T239 137T272 116V122ZM366 107Q378 107 402 119T453 167T479 249Q479 340 394 383V377Q394 375 394 374T393 371T393 366T392 357T391 342T389 321T386 291T382 251T377 199T369 133Q366 112 366 107'], + + // N-ARY LOGICAL AND + 0x22C0: [750,249,833,55,777,'119 -249T97 -249T65 -235T55 -207Q55 -201 56 -198Q58 -190 218 268T380 729Q392 750 416 750Q438 750 451 732Q453 728 534 498T695 36L775 -194Q777 -204 777 -208Q777 -222 767 -235T735 -249Q713 -249 700 -231Q696 -225 557 177L416 579L276 177Q136 -226 132 -231Q119 -249 97 -249'], + + // N-ARY LOGICAL OR + 0x22C1: [750,249,833,55,777,'55 708Q55 729 68 739T96 750Q119 750 132 731Q136 726 276 323L416 -79L557 323Q696 725 700 731Q713 749 735 749Q756 749 766 736T777 708Q777 700 696 466T533 1T451 -232Q436 -249 416 -249Q402 -249 391 -241Q384 -236 380 -226Q368 -198 219 230Q55 697 55 708'], + + // N-ARY INTERSECTION + 0x22C2: [750,249,833,54,777,'139 -217Q127 -241 114 -246Q106 -249 97 -249Q67 -249 57 -220Q55 -214 55 102Q55 152 55 221T54 312Q54 422 60 464T91 554Q120 612 165 654T257 714T337 741T392 749Q393 750 402 750Q414 750 422 749Q557 749 660 659T776 430Q777 422 777 102Q777 -214 775 -220Q765 -249 735 -249Q716 -249 708 -241T694 -217L692 428L690 441Q674 540 597 603T416 666H409Q388 666 364 662T294 638T212 581Q156 523 142 441L140 428L139 105V-217'], + + // N-ARY UNION + 0x22C3: [750,249,833,55,777,'96 750Q103 750 109 748T120 744T127 737T133 730T137 723T139 718V395L140 73L142 60Q159 -43 237 -104T416 -166Q521 -166 597 -103T690 60L692 73L694 718Q708 749 735 749Q765 749 775 720Q777 714 777 398Q777 78 776 71Q766 -51 680 -140Q571 -249 416 -249H411Q261 -249 152 -140Q66 -51 56 71Q55 78 55 398Q55 714 57 720Q60 734 70 740Q80 750 96 750'], + + // LEFT CEILING + 0x2308: [850,349,472,202,449,'202 -349V850H449V810H242V-349H202'], + + // RIGHT CEILING + 0x2309: [850,349,472,22,269,'22 810V850H269V-349H229V810H22'], + + // LEFT FLOOR + 0x230A: [850,349,472,202,449,'202 -349V850H242V-309H449V-349H202'], + + // RIGHT FLOOR + 0x230B: [850,349,472,22,269,'229 -309V850H269V-349H22V-309H229'], + + // VERTICAL LINE EXTENSION (used to extend arrows) + 0x23D0: [602,0,667,312,355,'312 0V602H355V0H312'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [850,350,472,96,394,'373 850Q392 850 394 832Q394 825 267 538L139 250L267 -38Q394 -325 394 -332Q392 -350 375 -350Q361 -350 356 -338Q354 -331 289 -186T161 103T97 250T160 397T289 685T356 838Q362 850 373 850'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [850,350,472,77,375,'77 832Q77 837 82 843T98 850Q110 849 115 838Q117 831 182 686T310 397T374 250T311 103T182 -185T115 -338Q110 -350 96 -350Q79 -350 77 -332Q77 -325 204 -38L332 250L204 538Q77 825 77 832'], + + // N-ARY CIRCLED DOT OPERATOR + 0x2A00: [750,250,1111,56,1054,'555 -250Q420 -250 306 -185T124 -4T56 250Q56 453 193 595T526 749Q528 750 539 750Q554 750 562 749Q688 749 800 687T983 508T1054 250Q1054 112 987 -3T806 -184T555 -250ZM555 -165Q672 -165 767 -108T916 44T970 250Q970 418 861 532T600 664Q591 665 548 665Q446 665 353 614T200 466T140 250V243Q140 88 248 -30Q262 -46 280 -62T338 -105T434 -148T555 -165ZM478 250Q478 288 503 307T551 326Q586 326 609 305T632 250Q632 217 610 196T555 174T500 196T478 250'], + + // N-ARY CIRCLED PLUS OPERATOR + 0x2A01: [750,250,1111,56,1054,'555 -250Q420 -250 306 -185T124 -4T56 250Q56 453 193 595T526 749Q528 750 539 750Q554 750 562 749Q688 749 800 687T983 508T1054 250Q1054 112 987 -3T806 -184T555 -250ZM513 478Q513 664 512 664Q504 664 481 660T406 637T313 588Q281 564 255 537T211 483T181 431T161 382T150 342T144 310T141 292H513V478ZM798 588Q758 616 711 634T639 658T602 663L597 664V292H969Q969 293 967 309T960 341T949 381T930 430T900 482T856 537T798 588ZM513 -164V208H141Q142 205 144 189T149 160T158 125T173 83T196 39T229 -9Q249 -34 273 -55T318 -92T363 -119T405 -138T444 -150T475 -158T499 -162T513 -164ZM775 -103Q801 -87 823 -68T863 -30T894 10T919 49T937 88T950 123T959 154T964 180T968 198L969 208H597V-164Q599 -163 616 -161T647 -155T683 -145T728 -128T775 -103'], + + // N-ARY CIRCLED TIMES OPERATOR + 0x2A02: [750,250,1111,56,1054,'555 -250Q420 -250 306 -185T124 -4T56 250Q56 453 193 595T526 749Q528 750 539 750Q554 750 562 749Q688 749 800 687T983 508T1054 250Q1054 112 987 -3T806 -184T555 -250ZM600 664Q591 665 548 665Q414 665 306 583L292 573L423 441L555 310L687 441L818 573L804 583Q714 650 600 664ZM364 118L495 250L364 382L232 513L223 500Q140 391 140 250Q140 107 223 0L232 -13L364 118ZM970 250Q970 389 887 501L878 512Q878 513 861 496T812 447T746 381L615 250L746 118L878 -13L887 0Q970 109 970 250ZM687 59L555 190L423 59L292 -73L306 -83Q416 -166 555 -166T804 -83L818 -73L687 59'], + + // N-ARY UNION OPERATOR WITH PLUS + 0x2A04: [750,249,833,55,777,'96 750Q103 750 109 748T120 744T127 737T133 730T137 723T139 718V395L140 73L142 60Q159 -43 237 -104T416 -166Q521 -166 597 -103T690 60L692 73L694 718Q708 749 735 749Q765 749 775 720Q777 714 777 398Q777 78 776 71Q766 -51 680 -140Q571 -249 416 -249H411Q261 -249 152 -140Q66 -51 56 71Q55 78 55 398Q55 714 57 720Q60 734 70 740Q80 750 96 750ZM223 276Q223 282 224 287T227 296T232 302T238 308T243 313T250 316L254 319H374V376V406Q374 438 382 454T418 470Q443 467 450 453T458 410V376V319H579Q580 319 583 317T589 313T594 308T600 302T604 295T608 287T609 276Q609 253 587 241Q577 235 513 235H458V178Q458 176 458 166T459 148Q459 84 415 84Q401 84 390 93T375 117Q374 120 374 178V235H319Q317 235 307 235T290 234Q223 234 223 276'], + + // N-ARY SQUARE UNION OPERATOR + 0x2A06: [750,249,833,55,777,'777 -217Q766 -244 745 -249H88Q64 -242 57 -220Q55 -214 55 250T57 720Q60 734 70 740Q80 750 96 750Q127 750 137 720Q139 714 139 274V-166H693V274Q693 714 695 720Q705 749 735 749Q766 749 775 719Q777 713 777 248V-217'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size1/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js new file mode 100644 index 00000000..7231c53e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js @@ -0,0 +1,135 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Size2/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size2'] = { + directory: 'Size2/Regular', + family: 'MathJax_Size2', + id: 'MJSZ2', + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [1150,649,597,180,561,'180 96T180 250T205 541T266 770T353 944T444 1069T527 1150H555Q561 1144 561 1141Q561 1137 545 1120T504 1072T447 995T386 878T330 721T288 513T272 251Q272 133 280 56Q293 -87 326 -209T399 -405T475 -531T536 -609T561 -640Q561 -643 555 -649H527Q483 -612 443 -568T353 -443T266 -270T205 -41'], + + // RIGHT PARENTHESIS + 0x29: [1150,649,597,35,417,'35 1138Q35 1150 51 1150H56H69Q113 1113 153 1069T243 944T330 771T391 541T416 250T391 -40T330 -270T243 -443T152 -568T69 -649H56Q43 -649 39 -647T35 -637Q65 -607 110 -548Q283 -316 316 56Q324 133 324 251Q324 368 316 445Q278 877 48 1123Q36 1137 35 1138'], + + // SOLIDUS + 0x2F: [1150,649,811,56,754,'78 -649Q56 -646 56 -625Q56 -614 382 261T712 1140Q716 1150 732 1150Q754 1147 754 1126Q754 1116 428 240T98 -639Q94 -649 78 -649'], + + // LEFT SQUARE BRACKET + 0x5B: [1150,649,472,224,455,'224 -649V1150H455V1099H275V-598H455V-649H224'], + + // REVERSE SOLIDUS + 0x5C: [1150,649,811,54,754,'754 -625Q754 -649 731 -649Q715 -649 712 -639Q709 -635 383 242T55 1124Q54 1135 61 1142T80 1150Q92 1150 98 1140Q101 1137 427 262T754 -625'], + + // RIGHT SQUARE BRACKET + 0x5D: [1150,649,472,16,247,'16 1099V1150H247V-649H16V-598H196V1099H16'], + + // LEFT CURLY BRACKET + 0x7B: [1150,649,667,119,547,'547 -643L541 -649H528Q515 -649 503 -645Q324 -582 293 -466Q289 -449 289 -428T287 -200L286 42L284 53Q274 98 248 135T196 190T146 222L121 235Q119 239 119 250Q119 262 121 266T133 273Q262 336 284 449L286 460L287 701Q287 737 287 794Q288 949 292 963Q293 966 293 967Q325 1080 508 1148Q516 1150 527 1150H541L547 1144V1130Q547 1117 546 1115T536 1109Q480 1086 437 1046T381 950L379 940L378 699Q378 657 378 594Q377 452 374 438Q373 437 373 436Q350 348 243 282Q192 257 186 254L176 251L188 245Q211 236 234 223T287 189T340 135T373 65Q373 64 374 63Q377 49 378 -93Q378 -156 378 -198L379 -438L381 -449Q393 -504 436 -544T536 -608Q544 -611 545 -613T547 -629V-643'], + + // RIGHT CURLY BRACKET + 0x7D: [1150,649,667,119,547,'119 1130Q119 1144 121 1147T135 1150H139Q151 1150 182 1138T252 1105T326 1046T373 964Q378 942 378 702Q378 469 379 462Q386 394 439 339Q482 296 535 272Q544 268 545 266T547 251Q547 241 547 238T542 231T531 227T510 217T477 194Q390 129 379 39Q378 32 378 -201Q378 -441 373 -463Q342 -580 165 -644Q152 -649 139 -649Q125 -649 122 -646T119 -629Q119 -622 119 -619T121 -614T124 -610T132 -607T143 -602Q195 -579 235 -539T285 -447Q286 -435 287 -199T289 51Q294 74 300 91T329 138T390 197Q412 213 436 226T475 244L489 250L472 258Q455 265 430 279T377 313T327 366T293 434Q289 451 289 472T287 699Q286 941 285 948Q279 978 262 1005T227 1048T184 1080T151 1100T129 1109L127 1110Q119 1113 119 1130'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [772,-565,1000,-5,1004,'1004 603Q1004 600 999 583T991 565L960 574Q929 582 866 599T745 631L500 698Q497 698 254 631Q197 616 134 599T39 574L8 565Q5 565 0 582T-5 603L26 614Q58 624 124 646T248 687L499 772Q999 604 1004 603'], + + // SMALL TILDE + 0x2DC: [750,-611,1000,0,999,'296 691Q258 691 216 683T140 663T79 639T34 619T16 611Q13 619 8 628L0 644L36 662Q206 749 321 749Q410 749 517 710T703 670Q741 670 783 678T859 698T920 722T965 742T983 750Q986 742 991 733L999 717L963 699Q787 611 664 611Q594 611 484 651T296 691'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [772,-565,0,-1005,4,'4 603Q4 600 -1 583T-9 565L-40 574Q-71 582 -134 599T-255 631L-500 698Q-503 698 -746 631Q-803 616 -866 599T-961 574L-992 565Q-995 565 -1000 582T-1005 603L-974 614Q-942 624 -876 646T-752 687L-501 772Q-1 604 4 603'], + + // COMBINING TILDE + 0x303: [750,-611,0,-1000,-1,'-704 691Q-742 691 -784 683T-860 663T-921 639T-966 619T-984 611Q-987 619 -992 628L-1000 644L-964 662Q-794 749 -679 749Q-590 749 -483 710T-297 670Q-259 670 -217 678T-141 698T-80 722T-35 742T-17 750Q-14 742 -9 733L-1 717L-37 699Q-213 611 -336 611Q-405 611 -515 651T-704 691'], + + // N-ARY PRODUCT + 0x220F: [950,450,1278,56,1221,'220 812Q220 813 218 819T214 829T208 840T199 853T185 866T166 878T140 887T107 893T66 896H56V950H1221V896H1211Q1080 896 1058 812V-311Q1076 -396 1211 -396H1221V-450H725V-396H735Q864 -396 888 -314Q889 -312 889 -311V896H388V292L389 -311Q405 -396 542 -396H552V-450H56V-396H66Q195 -396 219 -314Q220 -312 220 -311V812'], + + // N-ARY COPRODUCT + 0x2210: [950,450,1278,56,1221,'220 812Q220 813 218 819T214 829T208 840T199 853T185 866T166 878T140 887T107 893T66 896H56V950H552V896H542Q411 896 389 812L388 208V-396H889V812Q889 813 887 819T883 829T877 840T868 853T854 866T835 878T809 887T776 893T735 896H725V950H1221V896H1211Q1080 896 1058 812V-311Q1076 -396 1211 -396H1221V-450H56V-396H66Q195 -396 219 -314Q220 -312 220 -311V812'], + + // N-ARY SUMMATION + 0x2211: [950,450,1444,55,1388,'60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948'], + + // SQUARE ROOT + 0x221A: [1150,650,1000,111,1020,'1001 1150Q1017 1150 1020 1132Q1020 1127 741 244L460 -643Q453 -650 436 -650H424Q423 -647 423 -645T421 -640T419 -631T415 -617T408 -594T399 -560T385 -512T367 -448T343 -364T312 -259L203 119L138 41L111 67L212 188L264 248L472 -474L983 1140Q988 1150 1001 1150'], + + // INTEGRAL + 0x222B: [1361,862,556,55,944,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q439 292 523 655T645 1127Q651 1145 655 1157T672 1201T699 1257T733 1306T777 1346T828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q819 1323 807 1311T775 1255T736 1139T689 936T633 628Q574 293 510 -5T410 -437T355 -629Q278 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798'], + + // DOUBLE INTEGRAL + 0x222C: [1361,862,1084,55,1472,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q439 292 523 655T645 1127Q651 1145 655 1157T672 1201T699 1257T733 1306T777 1346T828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q819 1323 807 1311T775 1255T736 1139T689 936T633 628Q574 293 510 -5T410 -437T355 -629Q278 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798ZM642 -798Q660 -824 693 -824H695Q723 -824 751 -764T803 -600T848 -391T890 -164Q893 -143 895 -133Q967 292 1051 655T1173 1127Q1179 1145 1183 1157T1200 1201T1227 1257T1261 1306T1305 1346T1356 1360Q1412 1360 1440 1325T1472 1245Q1472 1220 1460 1205T1437 1186T1415 1183Q1394 1183 1377 1198T1360 1239Q1360 1287 1413 1296L1410 1300Q1407 1303 1402 1307T1394 1313Q1379 1323 1361 1323Q1347 1323 1335 1311T1303 1255T1264 1139T1217 936T1161 628Q1102 293 1038 -5T938 -437T883 -629Q806 -862 693 -862Q653 -862 620 -831T583 -746Q583 -711 602 -698T640 -685Q661 -685 678 -700T695 -741Q695 -789 642 -798'], + + // TRIPLE INTEGRAL + 0x222D: [1361,862,1592,55,1980,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q439 292 523 655T645 1127Q651 1145 655 1157T672 1201T699 1257T733 1306T777 1346T828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q819 1323 807 1311T775 1255T736 1139T689 936T633 628Q574 293 510 -5T410 -437T355 -629Q278 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798ZM642 -798Q660 -824 693 -824H695Q723 -824 751 -764T803 -600T848 -391T890 -164Q893 -143 895 -133Q967 292 1051 655T1173 1127Q1179 1145 1183 1157T1200 1201T1227 1257T1261 1306T1305 1346T1356 1360Q1412 1360 1440 1325T1472 1245Q1472 1220 1460 1205T1437 1186T1415 1183Q1394 1183 1377 1198T1360 1239Q1360 1287 1413 1296L1410 1300Q1407 1303 1402 1307T1394 1313Q1379 1323 1361 1323Q1347 1323 1335 1311T1303 1255T1264 1139T1217 936T1161 628Q1102 293 1038 -5T938 -437T883 -629Q806 -862 693 -862Q653 -862 620 -831T583 -746Q583 -711 602 -698T640 -685Q661 -685 678 -700T695 -741Q695 -789 642 -798ZM1150 -798Q1168 -824 1201 -824H1203Q1231 -824 1259 -764T1311 -600T1356 -391T1398 -164Q1401 -143 1403 -133Q1475 292 1559 655T1681 1127Q1687 1145 1691 1157T1708 1201T1735 1257T1769 1306T1813 1346T1864 1360Q1920 1360 1948 1325T1980 1245Q1980 1220 1968 1205T1945 1186T1923 1183Q1902 1183 1885 1198T1868 1239Q1868 1287 1921 1296L1918 1300Q1915 1303 1910 1307T1902 1313Q1887 1323 1869 1323Q1855 1323 1843 1311T1811 1255T1772 1139T1725 936T1669 628Q1610 293 1546 -5T1446 -437T1391 -629Q1314 -862 1201 -862Q1161 -862 1128 -831T1091 -746Q1091 -711 1110 -698T1148 -685Q1169 -685 1186 -700T1203 -741Q1203 -789 1150 -798'], + + // CONTOUR INTEGRAL + 0x222E: [1360,862,556,55,944,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q382 -52 390 2Q314 40 276 99Q230 167 230 249Q230 363 305 436T484 519H494L503 563Q587 939 632 1087T727 1298Q774 1360 828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q766 1323 688 929Q662 811 610 496Q770 416 770 249Q770 147 701 68T516 -21H506L497 -65Q407 -464 357 -623T237 -837Q203 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798ZM480 478Q460 478 435 470T380 444T327 401T287 335T271 249Q271 124 375 56L397 43L431 223L485 478H480ZM519 20Q545 20 578 33T647 72T706 144T730 249Q730 383 603 455Q603 454 597 421T582 343T569 276Q516 22 515 20H519'], + + // N-ARY LOGICAL AND + 0x22C0: [950,450,1111,55,1055,'1055 -401Q1055 -419 1042 -434T1007 -450Q977 -450 963 -423Q959 -417 757 167L555 750L353 167Q151 -417 147 -423Q134 -450 104 -450Q84 -450 70 -436T55 -401Q55 -394 56 -390Q59 -381 284 270T512 925Q525 950 555 950Q583 950 597 926Q599 923 825 270T1054 -391Q1055 -394 1055 -401'], + + // N-ARY LOGICAL OR + 0x22C1: [950,450,1111,55,1055,'55 900Q55 919 69 934T103 950Q134 950 147 924Q152 913 353 333L555 -250L757 333Q958 913 963 924Q978 950 1007 950Q1028 950 1041 935T1055 901Q1055 894 1054 891Q1052 884 826 231T597 -426Q583 -450 556 -450Q527 -450 512 -424Q510 -421 285 229T56 890Q55 893 55 900'], + + // N-ARY INTERSECTION + 0x22C2: [949,451,1111,55,1055,'57 516Q68 602 104 675T190 797T301 882T423 933T542 949Q594 949 606 948Q780 928 901 815T1048 545Q1053 516 1053 475T1055 49Q1055 -406 1054 -410Q1051 -427 1037 -438T1006 -450T976 -439T958 -411Q957 -407 957 37Q957 484 956 494Q945 643 831 747T554 852Q481 852 411 826Q301 786 232 696T154 494Q153 484 153 37Q153 -407 152 -411Q148 -428 135 -439T104 -450T73 -439T56 -410Q55 -406 55 49Q56 505 57 516'], + + // N-ARY UNION + 0x22C3: [950,449,1111,55,1055,'56 911Q58 926 71 938T103 950Q120 950 134 939T152 911Q153 907 153 463Q153 16 154 6Q165 -143 279 -247T556 -352Q716 -352 830 -248T956 6Q957 16 957 463Q957 907 958 911Q962 928 975 939T1006 950T1037 939T1054 911Q1055 906 1055 451Q1054 -5 1053 -16Q1029 -207 889 -328T555 -449Q363 -449 226 -331T62 -45Q57 -16 57 25T55 451Q55 906 56 911'], + + // LEFT CEILING + 0x2308: [1150,649,528,224,511,'224 -649V1150H511V1099H275V-649H224'], + + // RIGHT CEILING + 0x2309: [1150,649,528,16,303,'16 1099V1150H303V-649H252V1099H16'], + + // LEFT FLOOR + 0x230A: [1150,649,528,224,511,'224 -649V1150H275V-598H511V-649H224'], + + // RIGHT FLOOR + 0x230B: [1150,649,528,16,303,'252 -598V1150H303V-649H16V-598H252'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [1150,649,611,112,524,'112 244V258L473 1130Q482 1150 498 1150Q511 1150 517 1142T523 1125V1118L344 685Q304 587 257 473T187 305L165 251L344 -184L523 -616V-623Q524 -634 517 -641T499 -649Q484 -649 473 -629L112 244'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [1150,649,611,85,498,'112 -649Q103 -649 95 -642T87 -623V-616L266 -184L445 251Q445 252 356 466T178 898T86 1123Q85 1134 93 1142T110 1150Q126 1150 133 1137Q134 1136 317 695L498 258V244L317 -194Q134 -635 133 -636Q126 -649 112 -649'], + + // N-ARY CIRCLED DOT OPERATOR + 0x2A00: [949,449,1511,56,1454,'668 944Q697 949 744 949Q803 949 814 948Q916 937 1006 902T1154 826T1262 730T1336 638T1380 563Q1454 415 1454 250Q1454 113 1402 -14T1258 -238T1036 -391T755 -449Q608 -449 477 -392T255 -240T110 -16T56 250Q56 387 105 510T239 723T434 871T668 944ZM755 -352Q922 -352 1061 -269T1278 -48T1356 250Q1356 479 1202 652T809 850Q798 851 747 851Q634 851 527 806T337 682T204 491T154 251Q154 128 201 17T329 -176T521 -304T755 -352ZM665 250Q665 290 692 315T758 341Q792 339 818 315T845 250Q845 211 819 186T755 160Q716 160 691 186T665 250'], + + // N-ARY CIRCLED PLUS OPERATOR + 0x2A01: [949,449,1511,56,1454,'668 944Q697 949 744 949Q803 949 814 948Q916 937 1006 902T1154 826T1262 730T1336 638T1380 563Q1454 415 1454 250Q1454 113 1402 -14T1258 -238T1036 -391T755 -449Q608 -449 477 -392T255 -240T110 -16T56 250Q56 387 105 510T239 723T434 871T668 944ZM706 299V850H704Q519 832 386 725T198 476Q181 433 169 379T156 300Q156 299 431 299H706ZM1116 732Q1054 778 982 807T871 842T810 849L804 850V299H1079Q1354 299 1354 300Q1354 311 1352 329T1336 402T1299 506T1228 620T1116 732ZM706 -350V201H431Q156 201 156 200Q156 189 158 171T174 98T211 -6T282 -120T395 -232Q428 -257 464 -277T527 -308T587 -328T636 -339T678 -346T706 -350ZM1354 200Q1354 201 1079 201H804V-350Q808 -349 838 -345T887 -338T940 -323T1010 -295Q1038 -282 1067 -265T1144 -208T1229 -121T1301 0T1349 158Q1354 188 1354 200'], + + // N-ARY CIRCLED TIMES OPERATOR + 0x2A02: [949,449,1511,56,1454,'668 944Q697 949 744 949Q803 949 814 948Q916 937 1006 902T1154 826T1262 730T1336 638T1380 563Q1454 415 1454 250Q1454 113 1402 -14T1258 -238T1036 -391T755 -449Q608 -449 477 -392T255 -240T110 -16T56 250Q56 387 105 510T239 723T434 871T668 944ZM1143 709Q1138 714 1129 722T1086 752T1017 791T925 826T809 850Q798 851 747 851H728Q659 851 571 823T408 741Q367 713 367 709L755 320L1143 709ZM297 639Q296 639 282 622T247 570T205 491T169 382T154 250T168 118T204 9T247 -70T282 -122L297 -139L685 250L297 639ZM1213 -139Q1214 -139 1228 -122T1263 -70T1305 9T1341 118T1356 250T1342 382T1306 491T1263 570T1228 622L1213 639L825 250L1213 -139ZM367 -209Q373 -215 384 -224T434 -258T514 -302T622 -336T755 -352T887 -338T996 -302T1075 -259T1126 -224L1143 -209L755 180Q754 180 561 -14T367 -209'], + + // N-ARY UNION OPERATOR WITH PLUS + 0x2A04: [950,449,1111,55,1055,'56 911Q58 926 71 938T103 950Q120 950 134 939T152 911Q153 907 153 463Q153 16 154 6Q165 -143 279 -247T556 -352Q716 -352 830 -248T956 6Q957 16 957 463Q957 907 958 911Q962 928 975 939T1006 950T1037 939T1054 911Q1055 906 1055 451Q1054 -5 1053 -16Q1029 -207 889 -328T555 -449Q363 -449 226 -331T62 -45Q57 -16 57 25T55 451Q55 906 56 911ZM507 554Q511 570 523 581T554 593Q571 593 585 582T603 554Q604 551 604 443V338H709Q817 338 820 337Q835 334 847 321T859 290Q859 254 819 241Q816 240 709 240H604V134Q604 48 604 34T598 11Q583 -15 555 -15Q526 -15 512 11Q507 20 507 34T506 134V240H401H344Q292 240 278 246Q251 259 251 290Q251 309 264 321T290 337Q293 338 401 338H506V443Q506 551 507 554'], + + // N-ARY SQUARE UNION OPERATOR + 0x2A06: [950,450,1111,54,1056,'56 911Q60 927 72 938T103 950Q120 950 134 939T152 911Q153 907 153 277V-352H957V277Q957 907 958 911Q962 928 975 939T1006 950T1036 939T1054 911V891Q1054 871 1054 836T1054 754T1054 647T1055 525T1055 390T1055 250T1055 111T1055 -24T1055 -147T1054 -253T1054 -335T1054 -391V-411Q1047 -442 1016 -449Q1011 -450 552 -450L94 -449Q63 -439 56 -411V-391Q56 -371 56 -336T56 -254T56 -147T55 -25T55 110T55 250T55 389T55 524T55 647T56 753T56 835T56 891V911'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size2/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js new file mode 100644 index 00000000..1df91b6a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js @@ -0,0 +1,87 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Size3/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size3'] = { + directory: 'Size3/Regular', + family: 'MathJax_Size3', + id: 'MJSZ3', + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [1450,949,736,208,701,'701 -940Q701 -943 695 -949H664Q662 -947 636 -922T591 -879T537 -818T475 -737T412 -636T350 -511T295 -362T250 -186T221 17T209 251Q209 962 573 1361Q596 1386 616 1405T649 1437T664 1450H695Q701 1444 701 1441Q701 1436 681 1415T629 1356T557 1261T476 1118T400 927T340 675T308 359Q306 321 306 250Q306 -139 400 -430T690 -924Q701 -936 701 -940'], + + // RIGHT PARENTHESIS + 0x29: [1450,949,736,34,527,'34 1438Q34 1446 37 1448T50 1450H56H71Q73 1448 99 1423T144 1380T198 1319T260 1238T323 1137T385 1013T440 864T485 688T514 485T526 251Q526 134 519 53Q472 -519 162 -860Q139 -885 119 -904T86 -936T71 -949H56Q43 -949 39 -947T34 -937Q88 -883 140 -813Q428 -430 428 251Q428 453 402 628T338 922T245 1146T145 1309T46 1425Q44 1427 42 1429T39 1433T36 1436L34 1438'], + + // SOLIDUS + 0x2F: [1450,949,1044,55,988,'81 -949Q71 -949 63 -941T55 -921Q55 -917 56 -915Q59 -906 498 264T939 1438Q945 1450 960 1450Q972 1450 980 1441T988 1421Q982 1403 839 1020L398 -155Q107 -934 103 -938Q96 -949 81 -949'], + + // LEFT SQUARE BRACKET + 0x5B: [1450,949,528,247,516,'247 -949V1450H516V1388H309V-887H516V-949H247'], + + // REVERSE SOLIDUS + 0x5C: [1450,949,1044,56,988,'988 -922Q988 -933 980 -941T962 -949Q947 -949 940 -938Q936 -934 645 -155L204 1020Q56 1416 56 1424Q56 1433 62 1441T84 1450Q97 1448 103 1439Q107 1435 398 656L839 -519Q988 -918 988 -922'], + + // RIGHT SQUARE BRACKET + 0x5D: [1450,949,528,11,280,'11 1388V1450H280V-949H11V-887H218V1388H11'], + + // LEFT CURLY BRACKET + 0x7B: [1450,949,750,130,618,'618 -943L612 -949H582L568 -943Q472 -903 411 -841T332 -703Q327 -682 327 -653T325 -350Q324 -28 323 -18Q317 24 301 61T264 124T221 171T179 205T147 225T132 234Q130 238 130 250Q130 255 130 258T131 264T132 267T134 269T139 272T144 275Q207 308 256 367Q310 436 323 519Q324 529 325 851Q326 1124 326 1154T332 1205Q369 1358 566 1443L582 1450H612L618 1444V1429Q618 1413 616 1411L608 1406Q599 1402 585 1393T552 1372T515 1343T479 1305T449 1257T429 1200Q425 1180 425 1152T423 851Q422 579 422 549T416 498Q407 459 388 424T346 364T297 318T250 284T214 264T197 254L188 251L205 242Q290 200 345 138T416 3Q421 -18 421 -48T423 -349Q423 -397 423 -472Q424 -677 428 -694Q429 -697 429 -699Q434 -722 443 -743T465 -782T491 -816T519 -845T548 -868T574 -886T595 -899T610 -908L616 -910Q618 -912 618 -928V-943'], + + // RIGHT CURLY BRACKET + 0x7D: [1450,949,750,131,618,'131 1414T131 1429T133 1447T148 1450H153H167L182 1444Q276 1404 336 1343T415 1207Q421 1184 421 1154T423 851L424 531L426 517Q434 462 460 415T518 339T571 296T608 274Q615 270 616 267T618 251Q618 241 618 238T615 232T608 227Q542 194 491 132T426 -15L424 -29L423 -350Q422 -622 422 -652T415 -706Q397 -780 337 -841T182 -943L167 -949H153Q137 -949 134 -946T131 -928Q131 -914 132 -911T144 -904Q146 -903 148 -902Q299 -820 323 -680Q324 -663 325 -349T327 -19Q355 145 541 241L561 250L541 260Q356 355 327 520Q326 537 325 850T323 1181Q315 1227 293 1267T244 1332T193 1374T151 1401T132 1413Q131 1414 131 1429'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [772,-564,1444,-4,1447,'1439 564Q1434 564 1080 631T722 698Q719 698 362 631Q7 564 4 564L0 583Q-4 602 -4 603L720 772L1083 688Q1446 603 1447 603Q1447 602 1443 583L1439 564'], + + // SMALL TILDE + 0x2DC: [749,-609,1444,1,1442,'1 643Q1 646 76 671T271 722T476 749Q555 749 626 736T742 706T856 676T999 662Q1088 662 1192 684T1363 727T1432 749Q1432 745 1437 731T1442 716Q1442 714 1381 693T1212 645T1012 611Q1000 610 955 610Q851 610 701 653T444 697Q355 697 251 676T80 632T11 610Q11 614 6 628T1 643'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [772,-564,0,-1448,3,'-5 564Q-9 564 -363 631T-722 698Q-725 698 -1082 631Q-1437 564 -1440 564L-1444 583Q-1448 602 -1448 603L-724 772L-361 688Q2 603 3 603Q3 602 -1 583L-5 564'], + + // COMBINING TILDE + 0x303: [749,-609,0,-1443,-2,'-1443 643Q-1443 646 -1368 671T-1173 722T-968 749Q-889 749 -818 736T-702 706T-588 676T-445 662Q-356 662 -252 684T-81 727T-12 749Q-12 745 -7 731T-2 716Q-2 714 -63 693T-232 645T-432 611Q-444 610 -489 610Q-593 610 -743 653T-1000 697Q-1089 697 -1193 676T-1364 632T-1433 610Q-1433 614 -1438 628T-1443 643'], + + // SQUARE ROOT + 0x221A: [1450,950,1000,111,1020,'424 -948Q422 -947 313 -434T202 80L170 31Q165 24 157 10Q137 -21 137 -21Q131 -16 124 -8L111 5L264 248L473 -720Q473 -717 727 359T983 1440Q989 1450 1001 1450Q1007 1450 1013 1445T1020 1433Q1020 1425 742 244T460 -941Q458 -950 439 -950H436Q424 -950 424 -948'], + + // LEFT CEILING + 0x2308: [1450,949,583,246,571,'246 -949V1450H571V1388H308V-949H246'], + + // RIGHT CEILING + 0x2309: [1450,949,583,11,336,'11 1388V1450H336V-949H274V1388H11'], + + // LEFT FLOOR + 0x230A: [1450,949,583,246,571,'246 -949V1450H308V-887H571V-949H246'], + + // RIGHT FLOOR + 0x230B: [1450,949,583,11,336,'274 -887V1450H336V-949H11V-887H274'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [1450,950,750,126,654,'126 242V259L361 845Q595 1431 597 1435Q610 1450 624 1450Q634 1450 644 1443T654 1419V1411L422 831Q190 253 190 250T422 -331L654 -910V-919Q654 -936 644 -943T624 -950Q612 -950 597 -935Q595 -931 361 -345L126 242'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [1450,949,750,94,623,'94 1424Q94 1426 97 1432T107 1444T124 1450Q141 1450 152 1435Q154 1431 388 845L623 259V242L388 -345Q153 -933 152 -934Q142 -949 127 -949H125Q95 -949 95 -919V-910L327 -331Q559 247 559 250T327 831Q94 1411 94 1424'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size3/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js new file mode 100644 index 00000000..0ac01c0b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js @@ -0,0 +1,168 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Size4/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size4'] = { + directory: 'Size4/Regular', + family: 'MathJax_Size4', + id: 'MJSZ4', + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [1750,1249,792,237,758,'758 -1237T758 -1240T752 -1249H736Q718 -1249 717 -1248Q711 -1245 672 -1199Q237 -706 237 251T672 1700Q697 1730 716 1749Q718 1750 735 1750H752Q758 1744 758 1741Q758 1737 740 1713T689 1644T619 1537T540 1380T463 1176Q348 802 348 251Q348 -242 441 -599T744 -1218Q758 -1237 758 -1240'], + + // RIGHT PARENTHESIS + 0x29: [1750,1250,792,33,554,'33 1741Q33 1750 51 1750H60H65Q73 1750 81 1743T119 1700Q554 1207 554 251Q554 -707 119 -1199Q76 -1250 66 -1250Q65 -1250 62 -1250T56 -1249Q55 -1249 53 -1249T49 -1250Q33 -1250 33 -1239Q33 -1236 50 -1214T98 -1150T163 -1052T238 -910T311 -727Q443 -335 443 251Q443 402 436 532T405 831T339 1142T224 1438T50 1716Q33 1737 33 1741'], + + // SOLIDUS + 0x2F: [1750,1249,1278,56,1221,'1166 1738Q1176 1750 1189 1750T1211 1742T1221 1721Q1221 1720 1221 1718T1220 1715Q1219 1708 666 238T111 -1237Q102 -1249 86 -1249Q74 -1249 65 -1240T56 -1220Q56 -1219 56 -1217T57 -1214Q58 -1207 611 263T1166 1738'], + + // LEFT SQUARE BRACKET + 0x5B: [1750,1249,583,269,577,'269 -1249V1750H577V1677H342V-1176H577V-1249H269'], + + // REVERSE SOLIDUS + 0x5C: [1750,1249,1278,56,1221,'56 1720Q56 1732 64 1741T85 1750Q104 1750 111 1738Q113 1734 666 264T1220 -1214Q1220 -1215 1220 -1217T1221 -1220Q1221 -1231 1212 -1240T1191 -1249Q1175 -1249 1166 -1237Q1164 -1233 611 237T57 1715Q57 1716 56 1718V1720'], + + // RIGHT SQUARE BRACKET + 0x5D: [1750,1249,583,5,313,'5 1677V1750H313V-1249H5V-1176H240V1677H5'], + + // LEFT CURLY BRACKET + 0x7B: [1750,1249,806,144,661,'661 -1243L655 -1249H622L604 -1240Q503 -1190 434 -1107T348 -909Q346 -897 346 -499L345 -98L343 -82Q335 3 287 87T157 223Q146 232 145 236Q144 240 144 250Q144 265 145 268T157 278Q242 333 288 417T343 583L345 600L346 1001Q346 1398 348 1410Q379 1622 600 1739L622 1750H655L661 1744V1727V1721Q661 1712 661 1710T657 1705T648 1700T630 1690T602 1668Q589 1659 574 1643T531 1593T484 1508T459 1398Q458 1389 458 1001Q458 614 457 605Q441 435 301 316Q254 277 202 251L250 222Q260 216 301 185Q443 66 457 -104Q458 -113 458 -501Q458 -888 459 -897Q463 -944 478 -988T509 -1060T548 -1114T580 -1149T602 -1167Q620 -1183 634 -1192T653 -1202T659 -1207T661 -1220V-1226V-1243'], + + // RIGHT CURLY BRACKET + 0x7D: [1750,1249,806,144,661,'144 1727Q144 1743 146 1746T162 1750H167H183L203 1740Q274 1705 325 1658T403 1562T440 1478T456 1410Q458 1398 458 1001Q459 661 459 624T465 558Q470 526 480 496T502 441T529 395T559 356T588 325T615 301T637 284T654 273L660 269V266Q660 263 660 259T661 250V239Q661 236 661 234T660 232T656 229T649 224Q577 179 528 105T465 -57Q460 -86 460 -123T458 -499V-661Q458 -857 457 -893T447 -955Q425 -1048 359 -1120T203 -1239L183 -1249H168Q150 -1249 147 -1246T144 -1226Q144 -1213 145 -1210T153 -1202Q169 -1193 186 -1181T232 -1140T282 -1081T322 -1000T345 -897Q346 -888 346 -501Q346 -113 347 -104Q359 58 503 184Q554 226 603 250Q504 299 430 393T347 605Q346 614 346 1002Q346 1389 345 1398Q338 1493 288 1573T153 1703Q146 1707 145 1710T144 1727'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [845,-561,1889,-14,1902,'5 561Q-4 561 -9 582T-14 618Q-14 623 -13 625Q-11 628 461 736T943 845Q945 845 1417 738T1896 628Q1902 628 1902 618Q1902 607 1897 584T1883 561Q1881 561 1412 654L945 750L476 654Q6 561 5 561'], + + // SMALL TILDE + 0x2DC: [823,-582,1889,0,1885,'1212 583Q1124 583 1048 603T923 647T799 691T635 711Q524 711 375 679T120 615L16 583Q14 584 12 587T9 592Q-2 650 2 659Q2 669 38 687Q54 696 146 723T309 767Q527 823 666 823Q759 823 837 803T964 759T1088 715T1252 695Q1363 695 1512 727T1764 791T1871 823Q1872 822 1874 819T1878 814Q1885 783 1885 753Q1885 748 1884 747Q1884 738 1849 719Q1836 712 1740 682T1484 617T1212 583'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [845,-561,0,-1903,13,'-1884 561Q-1893 561 -1898 582T-1903 618Q-1903 623 -1902 625Q-1900 628 -1428 736T-946 845Q-944 845 -472 738T7 628Q13 628 13 618Q13 607 8 584T-6 561Q-8 561 -477 654L-944 750L-1413 654Q-1883 561 -1884 561'], + + // COMBINING TILDE + 0x303: [823,-582,0,-1889,-4,'-677 583Q-765 583 -841 603T-966 647T-1090 691T-1254 711Q-1365 711 -1514 679T-1768 615L-1873 583Q-1875 584 -1877 587T-1880 592Q-1891 650 -1887 659Q-1887 669 -1851 687Q-1835 696 -1743 723T-1580 767Q-1362 823 -1223 823Q-1130 823 -1052 803T-925 759T-801 715T-637 695Q-526 695 -377 727T-125 791T-18 823Q-17 822 -15 819T-11 814Q-4 782 -4 753Q-4 748 -5 747Q-5 738 -40 719Q-53 712 -149 682T-405 617T-677 583'], + + // SQUARE ROOT + 0x221A: [1750,1250,1000,111,1020,'983 1739Q988 1750 1001 1750Q1008 1750 1013 1745T1020 1733Q1020 1726 742 244T460 -1241Q458 -1250 439 -1250H436Q424 -1250 424 -1248L410 -1166Q395 -1083 367 -920T312 -601L201 44L137 -83L111 -57L187 96L264 247Q265 246 369 -357Q470 -958 473 -963L727 384Q979 1729 983 1739'], + + // LEFT CEILING + 0x2308: [1750,1249,639,269,633,'269 -1249V1750H633V1677H342V-1249H269'], + + // RIGHT CEILING + 0x2309: [1750,1249,639,5,369,'5 1677V1750H369V-1249H296V1677H5'], + + // LEFT FLOOR + 0x230A: [1750,1249,639,269,633,'269 -1249V1750H342V-1176H633V-1249H269'], + + // RIGHT FLOOR + 0x230B: [1750,1249,639,5,369,'296 -1176V1750H369V-1249H5V-1176H296'], + + // LEFT PARENTHESIS UPPER HOOK + 0x239B: [1155,655,875,291,843,'837 1154Q843 1148 843 1145Q843 1141 818 1106T753 1002T667 841T574 604T494 299Q417 -84 417 -609Q417 -641 416 -647T411 -654Q409 -655 366 -655Q299 -655 297 -654Q292 -652 292 -643T291 -583Q293 -400 304 -242T347 110T432 470T574 813T785 1136Q787 1139 790 1142T794 1147T796 1150T799 1152T802 1153T807 1154T813 1154H819H837'], + + // LEFT PARENTHESIS EXTENSION + 0x239C: [610,11,875,291,417,'413 -9Q412 -9 407 -9T388 -10T354 -10Q300 -10 297 -9Q294 -8 293 -5Q291 5 291 127V300Q291 602 292 605L296 609Q298 610 366 610Q382 610 392 610T407 610T412 609Q416 609 416 592T417 473V127Q417 -9 413 -9'], + + // LEFT PARENTHESIS LOWER HOOK + 0x239D: [1165,644,875,291,843,'843 -635Q843 -638 837 -644H820Q801 -644 800 -643Q792 -635 785 -626Q684 -503 605 -363T473 -75T385 216T330 518T302 809T291 1093Q291 1144 291 1153T296 1164Q298 1165 366 1165Q409 1165 411 1164Q415 1163 416 1157T417 1119Q417 529 517 109T833 -617Q843 -631 843 -635'], + + // RIGHT PARENTHESIS UPPER HOOK + 0x239E: [1154,655,875,31,583,'31 1143Q31 1154 49 1154H59Q72 1154 75 1152T89 1136Q190 1013 269 873T401 585T489 294T544 -8T572 -299T583 -583Q583 -634 583 -643T577 -654Q575 -655 508 -655Q465 -655 463 -654Q459 -653 458 -647T457 -609Q457 -58 371 340T100 1037Q87 1059 61 1098T31 1143'], + + // RIGHT PARENTHESIS EXTENSION + 0x239F: [610,11,875,457,583,'579 -9Q578 -9 573 -9T554 -10T520 -10Q466 -10 463 -9Q460 -8 459 -5Q457 5 457 127V300Q457 602 458 605L462 609Q464 610 532 610Q548 610 558 610T573 610T578 609Q582 609 582 592T583 473V127Q583 -9 579 -9'], + + // RIGHT PARENTHESIS LOWER HOOK + 0x23A0: [1165,644,875,31,583,'56 -644H50Q31 -644 31 -635Q31 -632 37 -622Q69 -579 100 -527Q286 -228 371 170T457 1119Q457 1161 462 1164Q464 1165 520 1165Q575 1165 577 1164Q582 1162 582 1153T583 1093Q581 910 570 752T527 400T442 40T300 -303T89 -626Q78 -640 75 -642T61 -644H56'], + + // LEFT SQUARE BRACKET UPPER CORNER + 0x23A1: [1154,645,667,319,666,'319 -645V1154H666V1070H403V-645H319'], + + // LEFT SQUARE BRACKET EXTENSION + 0x23A2: [602,0,667,319,403,'319 0V602H403V0H319'], + + // LEFT SQUARE BRACKET LOWER CORNER + 0x23A3: [1155,644,667,319,666,'319 -644V1155H403V-560H666V-644H319'], + + // RIGHT SQUARE BRACKET UPPER CORNER + 0x23A4: [1154,645,667,0,347,'0 1070V1154H347V-645H263V1070H0'], + + // RIGHT SQUARE BRACKET EXTENSION + 0x23A5: [602,0,667,263,347,'263 0V602H347V0H263'], + + // RIGHT SQUARE BRACKET LOWER CORNER + 0x23A6: [1155,644,667,0,347,'263 -560V1155H347V-644H0V-560H263'], + + // LEFT CURLY BRACKET UPPER HOOK + 0x23A7: [899,10,889,383,718,'712 899L718 893V876V865Q718 854 704 846Q627 793 577 710T510 525Q510 524 509 521Q505 493 504 349Q504 345 504 334Q504 277 504 240Q504 -2 503 -4Q502 -8 494 -9T444 -10Q392 -10 390 -9Q387 -8 386 -5Q384 5 384 230Q384 262 384 312T383 382Q383 481 392 535T434 656Q510 806 664 892L677 899H712'], + + // LEFT CURLY BRACKET MIDDLE PIECE + 0x23A8: [1160,660,889,170,504,'389 1159Q391 1160 455 1160Q496 1160 498 1159Q501 1158 502 1155Q504 1145 504 924Q504 691 503 682Q494 549 425 439T243 259L229 250L243 241Q349 175 421 66T503 -182Q504 -191 504 -424Q504 -600 504 -629T499 -659H498Q496 -660 444 -660T390 -659Q387 -658 386 -655Q384 -645 384 -425V-282Q384 -176 377 -116T342 10Q325 54 301 92T255 155T214 196T183 222T171 232Q170 233 170 250T171 268Q171 269 191 284T240 331T300 407T354 524T383 679Q384 691 384 925Q384 1152 385 1155L389 1159'], + + // LEFT CURLY BRACKET LOWER HOOK + 0x23A9: [10,899,889,384,718,'718 -893L712 -899H677L666 -893Q542 -825 468 -714T385 -476Q384 -466 384 -282Q384 3 385 5L389 9Q392 10 444 10Q486 10 494 9T503 4Q504 2 504 -239V-310V-366Q504 -470 508 -513T530 -609Q546 -657 569 -698T617 -767T661 -812T699 -843T717 -856T718 -876V-893'], + + // CURLY BRACKET EXTENSION + 0x23AA: [310,10,889,384,504,'384 150V266Q384 304 389 309Q391 310 455 310Q496 310 498 309Q502 308 503 298Q504 283 504 150Q504 32 504 12T499 -9H498Q496 -10 444 -10T390 -9Q386 -8 385 2Q384 17 384 150'], + + // RIGHT CURLY BRACKET UPPER HOOK + 0x23AB: [899,10,889,170,504,'170 875Q170 892 172 895T189 899H194H211L222 893Q345 826 420 715T503 476Q504 467 504 230Q504 51 504 21T499 -9H498Q496 -10 444 -10Q402 -10 394 -9T385 -4Q384 -2 384 240V311V366Q384 469 380 513T358 609Q342 657 319 698T271 767T227 812T189 843T171 856T170 875'], + + // RIGHT CURLY BRACKET MIDDLE PIECE + 0x23AC: [1160,660,889,384,718,'389 1159Q391 1160 455 1160Q496 1160 498 1159Q501 1158 502 1155Q504 1145 504 925V782Q504 676 511 616T546 490Q563 446 587 408T633 345T674 304T705 278T717 268Q718 267 718 250T717 232Q717 231 697 216T648 169T588 93T534 -24T505 -179Q504 -191 504 -425Q504 -600 504 -629T499 -659H498Q496 -660 444 -660T390 -659Q387 -658 386 -655Q384 -645 384 -424Q384 -191 385 -182Q394 -49 463 61T645 241L659 250L645 259Q539 325 467 434T385 682Q384 692 384 873Q384 1153 385 1155L389 1159'], + + // RIGHT CURLY BRACKET LOWER HOOK + 0x23AD: [10,899,889,170,505,'384 -239V-57Q384 4 389 9Q391 10 455 10Q496 10 498 9Q501 8 502 5Q504 -5 504 -230Q504 -261 504 -311T505 -381Q505 -486 492 -551T435 -691Q357 -820 222 -893L211 -899H195Q176 -899 173 -896T170 -874Q170 -858 171 -855T184 -846Q262 -793 312 -709T378 -525Q378 -524 379 -522Q383 -493 384 -351Q384 -345 384 -334Q384 -276 384 -239'], + + // RADICAL SYMBOL BOTTOM + 0x23B7: [935,885,1056,111,742,'742 -871Q740 -873 737 -876T733 -880T730 -882T724 -884T714 -885H702L222 569L180 484Q138 399 137 399Q131 404 124 412L111 425L265 736L702 -586V168L703 922Q713 935 722 935Q734 935 742 920V-871'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [1750,1248,806,140,703,'140 242V260L386 994Q633 1729 635 1732Q643 1745 657 1749Q658 1749 662 1749T668 1750Q682 1749 692 1740T702 1714V1705L214 251L703 -1204L702 -1213Q702 -1230 692 -1239T667 -1248H664Q647 -1248 635 -1231Q633 -1228 386 -493L140 242'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [1750,1248,806,103,665,'103 1714Q103 1732 114 1741T137 1750Q157 1750 170 1732Q172 1729 419 994L665 260V242L419 -493Q172 -1228 170 -1231Q158 -1248 141 -1248H138Q123 -1248 113 -1239T103 -1213V-1204L591 251L103 1705V1714'], + + // stix-radical symbol vertical extender + 0xE000: [625,14,1056,702,742,'722 -14H720Q708 -14 702 0V306L703 612Q713 625 722 625Q734 625 742 610V0Q734 -14 724 -14H722'], + + // stix-radical symbol top corner piece + 0xE001: [605,14,1056,702,1076,'702 589Q706 601 718 605H1061Q1076 597 1076 585Q1076 572 1061 565H742V0Q734 -14 724 -14H722H720Q708 -14 702 0V589'], + + // stix-horizontal brace, down left piece + 0xE150: [120,213,450,-24,460,'-18 -213L-24 -207V-172L-16 -158Q75 2 260 84Q334 113 415 119Q418 119 427 119T440 120Q454 120 457 117T460 98V60V25Q460 7 457 4T441 0Q308 0 193 -55T25 -205Q21 -211 18 -212T-1 -213H-18'], + + // stix-horizontal brace, down right piece + 0xE151: [120,213,450,-10,474,'-10 60Q-10 104 -10 111T-5 118Q-1 120 10 120Q96 120 190 84Q375 2 466 -158L474 -172V-207L468 -213H451H447Q437 -213 434 -213T428 -209T423 -202T414 -187T396 -163Q331 -82 224 -41T9 0Q-4 0 -7 3T-10 25V60'], + + // stix-horizontal brace, upper left piece + 0xE152: [333,0,450,-24,460,'-24 327L-18 333H-1Q11 333 15 333T22 329T27 322T35 308T54 284Q115 203 225 162T441 120Q454 120 457 117T460 95V60V28Q460 8 457 4T442 0Q355 0 260 36Q75 118 -16 278L-24 292V327'], + + // stix-horizontal brace, upper right piece + 0xE153: [333,0,450,-10,474,'-10 60V95Q-10 113 -7 116T9 120Q151 120 250 171T396 284Q404 293 412 305T424 324T431 331Q433 333 451 333H468L474 327V292L466 278Q375 118 190 36Q95 0 8 0Q-5 0 -7 3T-10 24V60'], + + // stix-oblique open face capital letter A + 0xE154: [120,0,400,-10,410,'-10 0V120H410V0H-10'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size4/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js new file mode 100644 index 00000000..35345abf --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js @@ -0,0 +1,314 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [622,0,525,206,320,'206 565Q206 590 222 606T265 622Q287 621 303 606T319 565T314 392L308 216Q299 194 273 194H262Q247 194 241 195T228 200T217 216L211 392Q206 539 206 565ZM206 56Q206 83 223 99T265 115Q288 113 304 99T320 58Q320 33 303 17T262 0Q237 0 222 17T206 56'], + + // QUOTATION MARK + 0x22: [623,-333,525,122,402,'122 575Q122 593 137 608T173 623Q196 623 210 608T225 575Q225 562 218 464Q212 373 211 361T201 341Q193 333 173 333Q154 333 146 341Q138 348 137 360T129 464Q122 561 122 575ZM299 575Q299 593 314 608T350 623Q373 623 387 608T402 575Q402 562 395 464Q389 373 388 361T378 341Q370 333 350 333Q331 333 323 341Q315 348 314 360T306 464Q299 561 299 575'], + + // NUMBER SIGN + 0x23: [612,0,525,36,489,'93 163Q74 163 65 164T46 173T36 198Q36 210 40 215T61 233H131V236Q132 239 140 307T149 377Q149 379 105 379L61 380Q36 392 36 414Q36 450 86 450Q91 450 99 450T112 449H159Q163 480 167 517Q168 524 170 545T174 573T180 591T191 607T210 611Q223 611 232 604T243 588L245 580Q245 565 238 511T230 451Q230 449 282 449H333Q337 480 341 517Q342 524 343 537T345 556T348 573T352 589T359 600T370 608T384 611Q395 611 406 602T419 580Q419 565 412 511T404 451Q404 449 431 449H442Q477 449 485 429Q489 421 489 414Q489 392 463 380L428 379H394V376Q393 373 385 305T376 235Q376 233 419 233H463L468 230Q472 227 473 227T477 223T482 218T486 213T488 206T489 198Q489 162 436 162Q430 162 422 162T412 163H366V161Q364 159 357 92Q356 85 355 73T353 54T350 37T346 22T339 11T328 3T314 0Q303 0 292 9T279 31Q279 37 287 96T295 162Q295 163 244 163H192V161Q190 159 183 92Q182 85 181 73T179 54T176 37T172 22T165 11T154 3T140 0Q129 0 118 9T105 31Q105 37 113 96T121 162Q121 163 93 163ZM323 377Q323 379 272 379H220V376Q219 373 211 305T202 235Q202 233 253 233H305V236Q306 239 314 307T323 377'], + + // DOLLAR SIGN + 0x24: [694,82,525,58,466,'415 397Q392 397 377 411T362 448Q362 464 376 485Q369 498 362 506T346 520T332 528T315 533T300 538V445L301 353L311 350Q382 334 424 284T466 174Q466 115 425 65T303 -2L300 -3V-30Q300 -64 291 -74Q283 -82 262 -82H255Q234 -82 225 -60L224 -32V-4L213 -2Q152 6 106 51T59 170V180Q59 197 74 213Q89 227 110 227T146 213T162 174Q162 156 147 137Q153 123 161 112T176 95T191 85T205 79T216 76T224 74V283L213 285Q147 298 103 343T58 449Q58 516 108 560T224 614V643V654Q224 666 226 673T237 687T264 694Q289 693 294 683T300 642V615H303Q355 607 390 587T440 540T460 493T466 453Q466 425 451 411T415 397ZM137 452Q137 425 158 404T198 376T223 369Q224 369 224 453T223 537Q198 532 168 509T137 452ZM301 75Q307 75 325 83T365 116T387 171Q387 238 300 267V171Q300 75 301 75'], + + // PERCENT SIGN + 0x25: [694,83,525,35,489,'35 560Q35 607 54 645T110 693Q111 693 116 693T125 694Q165 692 187 651T210 560Q210 506 186 467T123 428Q84 428 60 466T35 560ZM139 560Q139 574 136 587T130 608T124 615Q122 617 120 614Q106 595 106 561Q106 516 121 506Q123 504 125 507Q139 526 139 560ZM123 -83Q107 -83 98 -73T88 -48Q88 -43 89 -41Q90 -37 229 316T370 675Q381 694 400 694Q416 694 426 684T436 659Q436 654 435 652Q434 647 295 294T153 -65Q144 -83 123 -83ZM314 50Q314 104 338 143T400 183Q439 183 464 144T489 50T465 -43T402 -82Q358 -82 336 -41T314 50ZM417 50Q417 71 413 85T405 102L401 106Q386 95 386 50Q386 29 390 15T398 -2L402 -6Q417 5 417 50'], + + // AMPERSAND + 0x26: [622,11,525,28,490,'96 462Q96 546 132 584T211 622Q255 622 284 583T314 474Q314 395 224 305L208 288Q213 275 226 251L265 185L269 179Q273 184 299 246L332 333L342 363Q342 364 341 365Q334 365 334 393Q334 406 334 410T340 420T356 431H412H440Q467 431 478 424T490 393Q490 376 484 367T470 357T448 355H441H415L399 312Q349 176 322 127L315 115L323 106Q360 65 393 65Q405 65 410 80T416 109Q416 140 452 140Q487 140 487 105Q487 56 460 23T391 -11L286 41L273 53L262 42Q212 -11 151 -11Q97 -11 63 33T28 143Q28 161 30 176T38 205T47 227T60 247T72 261T84 274T94 283L122 311L119 323Q96 392 96 462ZM243 474Q243 533 218 545L215 546Q212 546 210 546Q182 546 169 501Q167 492 167 466Q167 419 179 368L188 377Q234 425 242 461Q243 465 243 474ZM217 129Q185 174 154 235Q121 214 115 176Q113 168 113 143Q113 83 139 67Q141 66 152 66Q191 66 228 112L217 129'], + + // APOSTROPHE + 0x27: [611,-287,525,175,349,'205 554Q205 577 221 594T263 611Q302 611 325 577T349 490Q349 409 298 347Q285 330 258 309T214 287Q203 289 189 302T175 327Q175 341 185 349T213 369T245 402Q269 437 273 483V497Q264 496 263 496Q240 496 223 513T205 554'], + + // LEFT PARENTHESIS + 0x28: [694,82,525,166,437,'437 -53Q437 -82 399 -82H394Q377 -82 342 -55Q259 7 213 102T166 306Q166 412 211 507T342 667Q377 694 393 694H399Q437 694 437 665Q437 654 426 643T397 620T356 584T311 525Q301 511 290 488T264 412T250 306Q250 191 300 105T422 -27Q437 -37 437 -53'], + + // RIGHT PARENTHESIS + 0x29: [694,82,525,87,358,'87 664Q87 694 126 694Q138 694 147 690T183 667Q266 605 312 510T358 306Q358 193 307 93T161 -70Q142 -82 126 -82Q105 -82 96 -73T87 -53Q87 -47 88 -44Q92 -36 116 -19T173 34T230 119Q273 206 273 306Q273 408 231 494T109 635Q87 649 87 664'], + + // ASTERISK + 0x2A: [520,-89,525,68,456,'222 487Q224 501 235 510T262 520Q279 520 289 510T302 487Q302 458 301 429Q301 421 301 413T301 398T300 386T300 377V374Q300 373 301 373Q304 373 353 403T416 434Q432 434 444 423T456 393Q456 389 456 386T454 379T451 373T448 368T442 363T436 358T427 353T417 348T405 342T391 334Q345 309 339 305L388 279Q400 273 412 266T432 255T441 250Q456 238 456 218Q456 200 445 189T417 177Q403 177 354 207T301 238Q300 238 300 237V234Q300 231 300 226T300 214T301 199T301 182Q302 153 302 124Q300 109 289 100T262 90T235 100T222 124Q222 153 223 182Q223 190 223 198T223 213T224 225T224 234V237Q224 238 223 238Q220 238 171 208T108 177Q92 177 80 188T68 218Q68 237 79 246T134 277Q180 303 185 306L136 332Q124 338 112 345T92 356T83 361Q68 373 68 393Q68 411 79 422T107 434Q121 434 170 404T223 373Q224 373 224 374V377Q224 380 224 385T224 397T223 412T223 429Q222 458 222 487'], + + // PLUS SIGN + 0x2B: [531,-81,525,38,487,'147 271Q138 271 122 271T98 270Q68 270 53 277T38 306T53 335T98 342Q105 342 121 342T147 341H227V423L228 505Q241 531 262 531Q268 531 273 530T282 525T287 519T293 511L297 505V341H377H430Q457 341 467 338T483 321Q487 313 487 306Q487 295 480 286T463 273Q457 271 377 271H297V107Q281 81 262 81Q250 81 242 87T230 100L228 107L227 189V271H147'], + + // COMMA + 0x2C: [140,139,525,173,353,'193 37T193 70T213 121T260 140Q302 140 327 108T353 36Q353 -7 336 -43T294 -98T249 -128T215 -139Q204 -139 189 -125Q177 -111 174 -101Q172 -84 183 -77T217 -61T253 -33Q261 -24 272 1L265 0Q234 0 214 18'], + + // HYPHEN-MINUS + 0x2D: [341,-271,525,57,468,'57 306Q57 333 86 341H438Q468 332 468 306T438 271H86Q57 280 57 306'], + + // FULL STOP + 0x2E: [140,-1,525,193,332,'193 70Q193 105 214 122T258 140Q291 140 311 120T332 70Q332 44 314 23T262 1Q234 1 214 18T193 70'], + + // SOLIDUS + 0x2F: [694,83,525,58,466,'94 -83Q78 -83 68 -73T58 -48Q58 -44 60 -36Q62 -31 227 314T399 673Q410 694 431 694Q445 694 455 684T466 659Q466 656 464 648Q463 643 298 298T125 -62Q114 -83 94 -83'], + + // DIGIT ZERO + 0x30: [621,10,525,42,482,'42 305Q42 450 111 535T257 621Q335 621 390 562Q482 468 482 306Q482 174 418 82T262 -10T106 82T42 305ZM257 545Q209 545 168 481T126 320Q126 220 162 147Q204 65 262 65Q318 65 358 139T398 320V328Q395 411 364 470T284 543Q270 545 257 545'], + + // DIGIT ONE + 0x31: [622,-1,525,99,450,'99 461Q99 470 99 474T104 487T120 498T151 502Q213 517 251 596Q264 622 283 622Q308 622 319 597V76H373H401Q428 76 439 69T450 38Q450 11 428 1H127Q104 10 104 38Q104 62 115 69T153 76H181H235V269Q235 461 234 461Q184 426 137 424H133Q124 424 119 425T109 431T99 447V461'], + + // DIGIT TWO + 0x32: [622,-1,525,52,472,'52 462Q52 528 110 575T247 622H250Q343 622 407 565T472 421Q472 371 446 324T390 248T308 178Q307 177 275 151T214 101L185 77Q185 76 286 76H388V87Q388 105 397 114T430 123T463 114Q470 107 471 100T472 61V42Q472 24 468 16T450 1H75Q53 10 53 32V38V48Q53 57 63 67T127 122Q153 144 169 157L289 256Q388 345 388 419Q388 473 346 509T231 545H224Q176 545 146 499L144 494Q155 476 155 459Q154 459 155 455T154 444T148 430T136 417T114 408Q113 408 110 408T104 407Q80 407 66 422T52 462'], + + // DIGIT THREE + 0x33: [622,11,525,44,479,'260 546Q233 546 211 541T180 531T171 524L174 514Q177 505 177 497Q177 476 162 461T125 446Q106 446 90 459T73 504Q76 540 98 565T150 601T203 616T239 621Q241 622 265 622Q322 620 362 602T420 558T444 513T451 478Q451 386 369 329L375 326Q381 323 386 320T401 311T419 298T436 283T452 263T466 240T475 212T479 180Q479 99 416 44T259 -11T105 28T44 130Q44 154 59 168T95 183Q117 183 132 169T148 131Q148 119 139 101Q175 65 260 65Q316 65 355 97T395 179Q395 211 375 240Q336 292 253 292H234H215Q194 292 185 299T175 330Q175 350 184 359Q192 368 238 370T309 384Q336 398 351 423T367 474Q367 496 350 513Q321 546 260 546'], + + // DIGIT FOUR + 0x34: [623,-1,525,29,495,'235 1Q213 10 213 32V38V46Q213 65 230 73Q236 76 274 76H314V168H183L52 169Q37 175 33 182T29 205V218L30 244Q53 283 155 443T264 613Q276 623 298 623H323H363Q378 616 385 601V244H429H450Q474 244 484 237T495 206Q495 179 477 171Q471 168 429 168H385V76H425H442Q466 76 476 69T487 38Q487 10 465 1H235ZM314 244V554L117 245L215 244H314'], + + // DIGIT FIVE + 0x35: [612,10,525,52,472,'387 189Q387 244 354 278T273 313Q230 313 205 301T163 271T138 249H120Q102 249 97 251Q85 258 83 266T80 311Q80 320 80 359T81 430Q81 587 82 591Q88 605 103 610H108Q112 610 120 610T138 610T163 610T192 611T225 611T260 611H415Q416 610 421 607T428 602T432 596T436 587T437 573Q437 567 437 562T434 554T431 548T427 543T423 540T418 538L415 536L289 535H164V363L170 366Q175 368 184 372T207 380T238 386T276 389Q357 389 414 331T472 187Q472 116 412 53T245 -10Q218 -10 209 -9Q126 5 89 48T52 137Q52 164 68 177T104 191Q130 191 143 175T156 141Q156 132 154 125T149 113T146 107Q146 104 155 95T188 76T245 65Q298 65 342 98T387 189'], + + // DIGIT SIX + 0x36: [622,11,525,44,479,'357 536Q357 546 318 546Q258 546 205 497T133 357V353L144 361Q210 402 285 402Q362 402 414 350Q479 285 479 193Q479 111 418 50T263 -11Q234 -11 207 -3T149 26T97 81T60 171T45 301Q45 444 129 533T319 622Q388 622 421 589T454 510Q454 491 442 475T402 458Q373 458 362 475T350 510Q350 520 354 528L357 536ZM319 326T269 326T179 298T136 223Q136 202 143 174T176 112T237 68Q246 66 265 66Q319 66 360 107Q395 146 395 197Q395 250 356 289Q319 326 269 326'], + + // DIGIT SEVEN + 0x37: [627,10,525,44,480,'204 -10Q162 -10 162 40Q162 146 198 261T310 477Q311 478 321 491T342 517T358 535H128V524Q128 506 119 497Q111 489 86 489H78Q55 489 46 508Q44 513 44 557V580Q44 605 52 616T88 627H93Q114 627 125 611H458Q474 598 477 593T480 573Q480 559 478 553T469 543T446 521T408 477Q252 290 246 49Q246 43 246 37T246 27T245 22Q243 11 233 1T204 -10'], + + // DIGIT EIGHT + 0x38: [621,10,525,45,480,'58 460Q58 523 117 572T254 621Q290 621 298 620Q376 607 421 560T466 460Q466 441 460 424T443 393T421 370T397 352T374 340T357 332L350 330L356 328Q363 325 371 321T392 310T415 295T439 274T459 249T473 217T479 179Q479 102 418 46T262 -10T106 46T45 179Q45 202 52 222T70 257T96 284T123 305T148 319T167 328L174 330L170 332Q166 333 159 336T145 343Q104 362 81 393T58 460ZM382 458Q382 491 349 518T263 546Q215 546 179 521T142 458Q142 421 178 395T262 368Q315 368 348 396T382 458ZM396 178Q396 223 358 257T263 292Q206 292 167 258T128 178Q128 137 163 102T262 66Q324 66 360 101T396 178'], + + // DIGIT NINE + 0x39: [622,11,525,46,479,'392 259Q333 210 236 210H233Q163 210 109 262Q46 325 46 411T99 550Q164 622 264 622Q293 622 319 615T376 587T428 532T464 440T479 304Q479 167 400 78T217 -11Q140 -11 105 22T70 101Q70 124 84 138T122 153Q150 153 162 137T174 101Q174 91 168 76Q179 65 216 65Q267 65 300 93Q322 109 339 130T366 173T380 210T388 242T392 259ZM388 389Q388 438 357 492T268 546T185 520Q129 479 129 415Q129 384 138 363Q145 349 156 334T195 302T255 285Q305 285 345 313T388 389'], + + // COLON + 0x3A: [431,-1,525,193,332,'193 361Q193 396 214 413T258 431Q291 431 311 411T332 361Q332 335 314 314T262 292Q234 292 214 309T193 361ZM193 70Q193 105 214 122T258 140Q291 140 311 120T332 70Q332 44 314 23T262 1Q234 1 214 18T193 70'], + + // SEMICOLON + 0x3B: [431,139,525,175,337,'193 361Q193 396 214 413T258 431Q291 431 311 411T332 361Q332 335 314 314T262 292Q234 292 214 309T193 361ZM193 70Q193 105 214 122T259 140Q301 140 319 108T337 33Q337 -38 291 -88T214 -139Q203 -139 189 -126T175 -97Q175 -85 182 -78T200 -66T225 -50T249 -17Q256 -3 256 0Q252 1 248 1Q242 2 235 5T218 15T200 36T193 70'], + + // LESS-THAN SIGN + 0x3C: [557,-55,525,57,469,'468 90Q468 76 458 66T433 55Q426 55 419 58Q413 61 243 168T68 280Q57 291 57 306T68 332Q72 335 241 442T416 553Q424 557 432 557Q447 557 457 547T468 522T456 496Q454 494 305 399L158 306L305 213Q341 190 390 159Q443 125 452 119T464 106V105Q468 97 468 90'], + + // EQUALS SIGN + 0x3D: [417,-195,525,38,487,'38 382Q38 409 67 417H457Q487 408 487 382Q487 358 461 348H64Q51 352 45 360T38 376V382ZM67 195Q38 204 38 230Q38 255 62 264Q66 265 264 265H461L464 264Q467 262 469 261T475 256T481 249T485 240T487 230Q487 204 457 195H67'], + + // GREATER-THAN SIGN + 0x3E: [557,-55,525,57,468,'57 522Q57 539 67 548T90 557Q98 557 105 554Q111 551 281 444T456 332Q468 320 468 306T456 280Q452 276 282 169T105 58Q98 55 91 55Q79 55 68 63T57 90Q57 105 68 116Q70 118 219 213L366 306L219 399Q75 491 71 494Q57 507 57 522'], + + // QUESTION MARK + 0x3F: [617,1,525,62,462,'62 493Q62 540 107 578T253 617Q366 617 414 578T462 490Q462 459 445 434T411 400L394 390Q315 347 296 287Q294 278 293 247V217Q285 201 278 198T246 194T216 197T201 215V245V253Q201 379 351 456Q366 464 375 477Q377 482 377 490Q377 517 339 528T251 540Q182 540 159 517Q166 503 166 490Q166 468 151 453T114 438Q96 438 79 451T62 493ZM190 58Q190 85 208 100T249 115Q272 113 288 99T304 58Q304 33 287 17T246 0T206 16T190 58'], + + // COMMERCIAL AT + 0x40: [617,6,525,44,481,'44 306Q44 445 125 531T302 617Q332 617 358 607T411 574T456 502T479 387Q481 361 481 321Q481 203 421 143Q381 103 332 103Q266 103 225 165T183 307Q183 390 227 449T332 508Q358 508 378 498Q350 541 304 541Q229 541 172 473T115 305Q115 208 171 140T306 71H310Q358 71 397 105Q409 115 436 115Q458 115 462 113Q481 106 481 86Q481 73 468 61Q401 -6 305 -6Q262 -6 217 14T133 71T69 170T44 306ZM410 306Q410 361 386 396T333 431Q300 431 277 394T254 305Q254 256 276 218T332 180Q364 180 387 217T410 306'], + + // LATIN CAPITAL LETTER A + 0x41: [623,-1,525,28,496,'191 76Q212 75 220 68T229 38Q229 10 208 1H129H80Q48 1 38 7T28 38Q28 51 29 57T40 69T70 76Q89 76 89 78Q90 79 117 205T173 461T205 599Q212 623 250 623H262H273Q312 623 319 599Q322 591 350 461T406 205T435 78Q435 76 454 76H458Q484 76 493 59Q496 53 496 38Q496 11 478 3Q474 1 395 1H317Q295 8 295 38Q295 65 311 73Q316 75 333 76L348 77V78Q348 80 341 112L334 143H190L183 112Q176 80 176 78Q175 76 178 76Q180 76 191 76ZM318 221Q313 238 288 366T263 519Q263 526 262 527Q261 527 261 520Q261 493 236 365T206 221Q206 219 262 219T318 221'], + + // LATIN CAPITAL LETTER B + 0x42: [611,-1,525,17,482,'39 1Q17 10 17 32V38V46Q17 65 34 73Q40 76 61 76H84V535H61H54Q27 535 19 553Q17 557 17 573Q17 583 17 587T23 599T39 610Q40 611 179 611Q320 610 332 607Q332 607 339 605Q394 591 427 547T461 454Q461 413 436 378T369 325L358 320Q405 311 443 270T482 169Q482 112 445 64T345 3L334 1H39ZM309 533Q302 535 234 535H168V356H230Q284 357 296 358T323 368Q346 380 361 402T377 452Q377 482 358 505T309 533ZM398 176Q396 218 371 246T315 279Q310 280 237 280H168V76H239Q316 77 327 81Q329 82 334 84Q398 107 398 176'], + + // LATIN CAPITAL LETTER C + 0x43: [622,11,525,40,485,'40 305Q40 437 110 529T281 622Q315 622 343 611T387 589T404 578Q409 585 415 596T425 611T435 618T452 622Q472 622 478 609T485 566Q485 559 485 540T484 508V460Q484 413 478 403T442 393Q417 393 409 402Q400 409 400 420Q400 428 395 445T380 487T347 528T295 546Q235 546 180 483T124 306Q124 245 141 197T186 121T241 80T296 66Q346 66 373 103T400 178Q400 209 435 209H442H450Q484 209 484 172Q480 96 421 43T281 -11Q177 -11 109 84T40 305'], + + // LATIN CAPITAL LETTER D + 0x44: [612,-1,525,16,485,'38 1Q16 8 16 38Q16 62 32 73Q39 76 58 76H78V535H58Q40 535 32 538Q16 548 16 573Q16 587 17 591Q23 604 34 607T83 611H166H176Q188 611 209 611T239 612Q299 612 337 597T415 530Q485 438 485 300Q485 180 431 100T301 3L291 1H38ZM400 301Q400 363 385 410T346 482T303 519T267 534Q261 535 210 535H162V76H214L267 77Q323 89 361 148T400 301'], + + // LATIN CAPITAL LETTER E + 0x45: [612,-1,525,18,502,'374 271Q374 241 367 232T332 223Q307 223 299 231Q290 240 290 263V279H173V76H418V118V144Q418 167 426 176T460 186Q491 186 500 166Q502 161 502 93V52Q502 25 499 17T480 1H41Q19 9 19 32V38Q19 63 36 73Q42 76 65 76H89V535H65H55Q44 535 38 537T25 548T19 573Q19 602 41 610H47Q53 610 63 610T88 610T121 610T160 611T204 611T251 611H458Q460 609 465 606T471 602T475 598T478 593T479 586T480 576T480 562V526V488Q480 452 462 444Q458 442 438 442Q413 442 405 450Q398 457 397 463T396 501V535H173V355H290V371Q290 394 299 403T332 412Q363 412 372 392Q374 387 374 317V271'], + + // LATIN CAPITAL LETTER F + 0x46: [612,-1,525,22,490,'384 260Q384 230 377 221T342 212Q317 212 309 220Q300 229 300 252V268H179V76H249Q264 67 267 61T271 38Q271 10 249 1H44Q22 9 22 32V38Q22 63 39 73Q45 76 69 76H95V535H69H59Q42 535 32 542T22 573Q22 602 44 610H50Q56 610 66 610T91 610T125 610T164 611T208 611T257 611H468Q470 609 475 606T481 602T485 598T488 593T489 586T490 576T490 562V526V488Q490 452 472 444Q468 442 448 442Q423 442 415 450Q408 457 407 463T406 501V535H179V344H300V360Q300 383 309 392T342 401Q373 401 382 381Q384 376 384 306V260'], + + // LATIN CAPITAL LETTER G + 0x47: [623,11,525,38,496,'38 306Q38 447 105 534T261 622Q280 622 298 618T329 608T350 596T366 585L371 581Q373 581 377 591T390 612T417 622Q437 622 443 609T450 566Q450 559 450 540T449 508V460Q449 413 443 403T407 393Q392 393 386 394T373 402T364 426Q360 472 335 509T271 546Q214 546 168 477T121 308Q121 210 164 138T271 65Q293 65 310 78T337 109T352 147T360 180T362 195Q362 196 333 196L304 197Q282 204 282 227V234Q282 247 282 251T288 261T304 272H474Q488 263 492 256T496 234Q496 211 479 199Q475 197 461 196H449V21Q441 6 434 3T412 -1H407H402Q385 -1 379 3T364 28Q350 14 322 2T260 -11Q173 -11 106 76T38 306'], + + // LATIN CAPITAL LETTER H + 0x48: [611,-1,525,16,508,'16 571Q16 597 27 604T74 611H125H208Q223 602 226 596T230 573Q230 559 227 551T217 540T204 536T186 535H165V356H359V535H338H333Q306 535 297 552Q295 556 295 573Q295 586 295 590T301 600T317 611H486Q501 602 504 596T508 573Q508 559 505 551T495 540T482 536T464 535H443V76H464H470Q482 76 489 75T502 64T508 38Q508 10 486 1H317Q306 5 301 11T296 21T295 38V44Q295 66 311 73Q318 76 338 76H359V280H165V76H186H192Q204 76 211 75T224 64T230 38Q230 10 208 1H39Q28 5 23 11T18 21T17 38V44Q17 66 33 73Q40 76 60 76H81V535H60Q45 535 38 536T24 545T16 571'], + + // LATIN CAPITAL LETTER I + 0x49: [611,-1,525,72,452,'400 76Q431 76 441 69T452 38Q452 29 452 26T450 18T443 9T430 1H95Q84 6 79 12T73 23T72 38Q72 65 90 73Q96 76 157 76H220V535H157H124Q93 535 83 542T72 573Q72 603 93 610Q97 611 264 611H430Q432 609 436 607T444 602T449 594Q452 588 452 573Q452 546 434 538Q428 535 367 535H304V76H367H400'], + + // LATIN CAPITAL LETTER J + 0x4A: [612,11,525,57,479,'202 543T202 573T224 610H228Q231 610 237 610T251 610T269 610T291 611T315 611T342 611H457Q471 602 475 595T479 573Q479 549 462 538Q454 535 432 535H408V328Q408 159 408 133T402 93Q386 48 340 19T229 -11Q158 -11 108 16T57 100Q57 129 73 141T108 154Q128 154 143 140T159 102Q159 93 155 79Q188 65 228 65H230Q290 65 318 106Q323 115 323 139T324 329V535H274L224 536Q202 543 202 573'], + + // LATIN CAPITAL LETTER K + 0x4B: [611,-1,525,18,495,'18 549T18 573T29 604T70 611H118H193Q207 603 210 596T214 573Q214 549 198 538Q191 535 172 535H152V421Q152 344 152 326T153 309L242 422L329 534Q327 535 322 536T314 538T308 542T303 548T300 558T298 573Q298 600 316 608Q322 611 392 611H463Q477 602 481 595T485 573Q485 535 446 535H441H420L281 357L436 77L454 76Q473 75 478 73Q495 62 495 38Q495 10 473 1H345Q334 5 329 11T324 21T323 38Q323 51 324 56T332 68T355 77L233 296L152 192V76H172Q191 76 198 73Q214 63 214 38Q214 9 193 1H41Q18 8 18 38Q18 61 35 73Q42 76 61 76H81V535H61Q42 535 35 538Q18 549 18 573'], + + // LATIN CAPITAL LETTER L + 0x4C: [611,0,525,25,488,'27 594Q34 605 43 608T84 611H154H213Q258 611 269 605T281 573Q281 546 263 538Q257 535 222 535H185V76H404V118V145Q404 168 411 177T446 186H453Q478 186 486 167Q488 161 488 93V50Q488 24 485 17T466 1L258 0H147H99Q47 0 36 6T25 38Q25 59 35 69Q44 76 76 76H101V535H76H64Q36 535 27 552Q25 557 25 573T27 594'], + + // LATIN CAPITAL LETTER M + 0x4D: [611,-1,525,11,512,'50 535Q37 536 31 537T18 547T12 573Q12 598 22 604T62 611H91H121Q147 611 158 607T178 587Q183 579 222 446T261 293Q261 289 262 288Q263 288 263 292Q263 311 298 434T346 588Q353 603 365 607T402 611H435H450Q488 611 500 605T512 573Q512 556 506 547T493 537T474 535H459V76H474Q487 75 493 74T505 64T512 38Q512 11 494 3Q490 1 424 1H386Q355 1 345 7T335 38Q335 55 341 64T354 74T373 76H388V302Q388 512 387 519Q382 482 346 359T304 228Q292 204 262 204T220 228Q215 237 179 359T137 519Q136 512 136 302V76H151Q164 75 170 74T182 64T189 38Q189 11 171 3Q167 1 101 1H63Q32 1 22 7T12 38Q12 55 18 64T31 74T50 76H65V535H50'], + + // LATIN CAPITAL LETTER N + 0x4E: [611,0,525,20,504,'20 571Q20 598 30 604T73 611H105H136Q152 611 160 611T177 607T189 601T198 587T206 568T217 537T231 497Q354 142 365 95L368 84V535H347H342Q314 535 306 552Q304 556 304 573Q304 586 304 590T310 600T326 611H482Q497 602 500 596T504 573Q504 559 501 551T491 540T478 536T460 535H439V25Q432 7 424 4T389 0H374Q334 0 322 31L293 115Q171 468 159 517L156 528V76H177H183Q195 76 202 75T215 64T221 38Q221 10 199 1H43Q32 5 27 11T22 21T21 38V44Q21 66 37 73Q44 76 64 76H85V535H64Q49 535 42 536T28 545T20 571'], + + // LATIN CAPITAL LETTER O + 0x4F: [621,10,525,56,468,'102 588Q140 621 240 621Q323 621 335 620Q393 613 422 588Q450 560 459 493T468 306Q468 185 460 118T422 23Q382 -10 289 -10H262H235Q142 -10 102 23Q74 50 65 118T56 306Q56 427 64 494T102 588ZM363 513Q357 523 347 530T324 540T302 544T280 546H268Q192 546 167 521Q150 501 145 452T140 300Q140 235 142 197T151 130T172 89T207 71T262 65Q317 65 341 81T374 144T384 300Q384 474 363 513'], + + // LATIN CAPITAL LETTER P + 0x50: [612,-1,525,19,480,'41 1Q19 9 19 32V38Q19 63 36 73Q42 76 65 76H89V535H65H55Q38 535 29 543T19 576Q19 603 41 610H49Q57 610 70 610T100 610T136 611T175 611Q190 611 216 611T255 612Q321 612 363 598T441 537Q480 486 480 427V421Q480 354 447 311T378 251Q339 230 275 230H239H173V76H197Q220 76 227 73Q244 62 244 38Q244 10 222 1H41ZM396 421Q396 461 369 491T300 533Q294 534 233 535H173V306H233Q294 307 300 308Q345 319 370 352T396 421'], + + // LATIN CAPITAL LETTER Q + 0x51: [622,138,525,56,468,'56 306Q56 380 58 426T68 510T87 568T120 600T170 617T240 621Q323 621 335 620Q393 613 422 588Q450 560 459 493T468 306Q468 124 447 66Q433 23 394 6L424 -53Q454 -112 454 -118Q454 -128 441 -138H377Q367 -135 363 -129T333 -69L304 -11H254Q205 -10 180 -8T128 6T91 36T70 92T58 178T56 306ZM227 151Q227 171 262 171H276H281Q292 171 296 171T305 170T313 165T317 158T323 145T332 127L353 88Q356 88 361 95T372 131T382 202Q384 228 384 306Q384 452 371 492T304 544Q296 545 251 545Q230 545 215 543T188 534T169 520T155 497T147 466T143 423T141 371T140 306Q140 248 141 217T146 154T157 109T178 83T212 68T262 65H266L264 70Q261 75 256 85T247 105Q227 145 227 151'], + + // LATIN CAPITAL LETTER R + 0x52: [612,11,525,16,522,'16 571Q16 598 27 605T76 612Q84 612 108 612T148 611Q268 611 294 605Q346 592 389 550T432 440Q432 394 410 359Q393 329 366 310L358 303Q387 273 399 239Q405 219 405 178T408 106T421 68Q426 65 428 65Q433 65 435 74T438 96T441 112Q450 130 480 130H485Q519 130 522 100Q522 79 516 56T488 11T434 -11Q421 -11 408 -8T377 5T344 37T324 93Q322 101 322 154L321 209Q304 257 257 267Q252 268 207 268H165V76H186H192Q204 76 211 75T224 64T230 38Q230 10 208 1H39Q28 5 23 11T18 21T17 38V44Q17 66 33 73Q40 76 60 76H81V535H60Q45 535 38 536T24 545T16 571ZM348 440Q348 478 321 502T260 532Q252 534 208 535H165V344H208Q212 344 223 344T239 345T252 346T266 348T278 351T293 358Q348 387 348 440'], + + // LATIN CAPITAL LETTER S + 0x53: [622,11,525,51,472,'52 454Q52 524 107 572T229 621Q266 621 274 620Q326 610 360 588L371 581Q377 594 379 598T386 610T397 619T412 622Q433 622 439 610T446 570Q446 563 446 545T445 515V479Q445 441 444 432T436 417Q428 408 403 408T370 417Q361 424 361 434Q361 439 360 448T351 476T331 509T295 535T238 546Q194 546 163 522T132 458Q132 435 148 412Q155 401 166 393T192 380T218 371T247 364T270 359Q341 342 349 339Q389 325 418 296T461 229Q472 201 472 164Q469 92 417 41T287 -11Q240 -11 200 -1T143 19L126 29Q117 6 109 -2Q100 -11 84 -11Q64 -11 58 1T51 42Q51 49 51 66T52 95V135Q52 173 53 180T61 194Q70 203 95 203Q119 203 127 194Q136 186 136 168Q143 66 284 66H290Q325 66 350 85Q391 115 391 165Q391 204 369 228T322 260Q320 260 255 275T185 293Q123 309 88 355T52 454'], + + // LATIN CAPITAL LETTER T + 0x54: [612,-1,525,26,498,'129 38Q129 51 129 55T135 65T151 76H220V535H110V501Q110 470 109 464T101 450Q93 442 68 442H60Q37 442 28 461Q26 466 26 527L27 589Q36 607 49 610H55Q61 610 72 610T97 610T131 610T170 611T215 611T264 611H476Q478 609 483 606T489 602T493 598T496 593T497 586T498 576T498 562V526V488Q498 452 480 444Q476 442 456 442Q431 442 423 450Q416 457 415 463T414 501V535H304V76H374Q389 67 392 61T396 38Q396 10 374 1H151Q140 5 135 11T130 21T129 38'], + + // LATIN CAPITAL LETTER U + 0x55: [612,11,525,-4,528,'-3 573Q-3 597 8 604T50 612Q57 612 77 612T111 611H200Q214 602 218 595T222 573Q222 549 205 538Q198 535 175 535H151V359Q151 333 151 291Q152 177 156 162Q157 160 157 159Q165 123 193 95T262 66Q303 66 330 94T367 159Q371 175 371 191T373 359V535H349H339Q328 535 322 537T309 548T303 573T306 595T325 611H506Q520 602 524 595T528 573Q528 549 511 538Q504 535 481 535H457V364Q457 189 456 182Q448 101 394 45T262 -11Q189 -11 132 43T68 182Q67 189 67 364V535H43H33Q22 535 16 537T3 548T-3 573'], + + // LATIN CAPITAL LETTER V + 0x56: [613,7,525,19,505,'19 578Q19 585 20 590T23 598T29 604T38 608T48 610T62 611T78 612T97 611T119 611H195Q210 602 213 596T217 573Q217 561 216 555T206 542T179 535H164Q166 529 188 435T235 231T261 94L262 84V88Q263 91 263 94Q265 121 289 231T336 438L360 535H345Q308 535 308 566V573Q308 586 308 590T314 600T330 611H484Q499 602 502 595T505 573Q505 560 504 554T493 541T465 535H447L384 278Q321 19 319 14Q309 -7 278 -7H262H246Q215 -7 205 14Q203 19 140 278L78 535H59Q45 535 38 536T25 547T19 573V578'], + + // LATIN CAPITAL LETTER W + 0x57: [611,7,525,12,512,'459 611Q491 611 501 605T512 573Q512 538 482 535H474L439 276Q406 26 402 11Q398 2 389 -3Q387 -3 386 -4L380 -7H359H349Q324 -7 313 13Q307 29 285 139T263 275Q263 283 262 283Q261 282 261 274Q261 248 239 137T211 13Q200 -7 175 -7H165H144Q136 -3 127 3Q121 10 117 36T85 276L50 535H42Q26 536 19 545T12 564V573Q12 603 33 610Q37 611 101 611H134Q165 611 175 604T186 573Q186 563 186 559T182 547T169 538T143 535H122V531Q124 517 133 446T155 266T172 96V84L173 102Q176 157 192 243T215 346Q227 367 259 367H262H265Q297 367 309 346Q316 329 332 243T351 102L352 84V96Q356 161 368 266T390 444T402 531V535H381Q366 535 359 536T345 547T338 573Q338 600 356 608Q362 611 425 611H459'], + + // LATIN CAPITAL LETTER X + 0x58: [611,-1,525,28,495,'39 571Q39 597 49 604T93 611H141H218Q233 602 236 595T239 573Q239 538 210 535Q202 535 202 534T215 507T243 454L257 428L307 535H298Q266 538 266 573Q266 584 267 588T273 598T289 611H366H401Q442 611 454 605T466 573Q466 546 448 538Q442 535 421 535H398L299 327Q299 323 362 201L426 77L449 76Q467 76 475 75T489 65T495 38Q495 11 477 3Q473 1 395 1H317Q295 8 295 38Q295 73 325 76L334 77Q333 78 314 117T276 196L257 235L239 196Q221 157 204 118T186 77Q190 76 196 76Q211 74 218 67T227 55T228 38Q228 28 227 24T221 13T206 1H50Q28 9 28 32V38Q28 63 45 73Q51 76 73 76H96L214 324Q215 327 162 431L108 535H85H79Q67 535 60 536T46 546T39 571'], + + // LATIN CAPITAL LETTER Y + 0x59: [611,-1,525,20,505,'20 573Q20 597 30 604T72 611H121H198Q212 602 216 595T220 573Q220 568 219 563T217 555T214 549T211 544T207 541T203 538T198 537T194 536T190 536L188 535Q179 535 179 534L188 516Q196 497 208 470T232 415T252 363T261 332Q261 329 262 329T263 332Q263 354 333 508L345 534Q345 535 336 535Q305 538 305 567V573Q305 589 308 595T327 611H483Q505 598 505 573Q505 549 488 538Q481 535 460 535H438L304 245V76H325H331Q343 76 350 75T363 64T369 38Q369 10 347 1H178Q167 5 162 11T157 21T156 38V44Q156 66 172 73Q180 76 199 76H220V245L86 535H64Q44 535 36 538Q20 548 20 573'], + + // LATIN CAPITAL LETTER Z + 0x5A: [612,-1,525,48,481,'71 1Q60 5 55 11T49 23T48 39V46Q48 56 58 73T131 183Q171 242 197 282L366 535H144V501Q144 470 143 464T135 450Q127 442 102 442H94Q71 442 62 461Q60 466 60 527L61 589Q70 607 83 610H88Q93 610 102 610T124 610T154 610T188 611T227 611T270 611H454Q456 609 461 606T467 601T471 597T474 591T475 584T476 572V565Q476 555 466 538T393 428Q353 369 327 329L158 76H397V120V146Q397 169 405 179T439 189Q470 189 479 169Q481 164 481 95V48Q481 24 478 16T459 1H71'], + + // LEFT SQUARE BRACKET + 0x5B: [694,82,525,214,484,'237 -82Q221 -78 214 -58V305Q214 669 216 673Q220 687 231 690T278 694H350H461Q462 693 467 690T474 685T478 679T482 670T483 656Q483 632 471 625T428 617Q422 617 406 617T379 618H298V-7H379H420Q459 -7 471 -13T483 -45Q483 -55 483 -59T477 -70T461 -82H237'], + + // REVERSE SOLIDUS + 0x5C: [694,83,525,58,466,'58 659Q58 673 68 683T93 694Q114 694 125 673Q132 659 297 314T464 -36Q466 -44 466 -48Q466 -66 454 -74T431 -83Q410 -83 399 -62Q391 -47 226 298T60 648Q58 656 58 659'], + + // RIGHT SQUARE BRACKET + 0x5D: [695,82,525,41,310,'41 656Q41 681 53 688T99 695Q107 695 133 695T177 694H288Q307 681 310 669V-58Q303 -76 288 -82H64Q41 -73 41 -45Q41 -21 53 -14T96 -6Q102 -6 118 -6T145 -7H226V618H145H100Q67 618 54 625T41 656'], + + // CIRCUMFLEX ACCENT + 0x5E: [611,-460,525,96,428,'138 460Q121 460 109 479T96 512Q96 527 106 534Q109 536 178 571T253 609Q256 611 264 611Q272 610 343 574Q357 567 369 561T389 550T402 543T411 538T416 535T420 532T422 529T425 525Q428 518 428 512Q428 498 416 479T386 460H384Q377 460 316 496L262 526L208 496Q147 460 138 460'], + + // LOW LINE + 0x5F: [-25,95,525,57,468,'57 -60Q57 -33 86 -25H438Q468 -34 468 -60T438 -95H86Q57 -86 57 -60'], + + // GRAVE ACCENT + 0x60: [681,-357,525,176,350,'176 479Q176 563 227 622T310 681Q324 680 337 667T350 641Q350 627 340 619T312 599T280 566Q256 531 252 485V471Q261 472 262 472Q285 472 302 455T320 414Q320 389 303 373T261 357Q223 357 200 391T176 479'], + + // LATIN SMALL LETTER A + 0x61: [439,6,525,48,524,'126 306Q105 306 90 321T74 359Q74 439 211 439Q268 439 276 438Q343 426 383 390T430 306Q431 301 431 190V81Q446 79 465 78T492 76T509 72T521 60T524 38Q524 11 506 3Q502 1 466 1Q426 1 406 5T379 14T355 36L345 30Q284 -6 205 -6Q135 -6 92 39T48 141Q48 182 79 212T158 256T252 278T342 285H347V290Q347 315 325 335T267 362Q258 363 224 363Q189 363 185 362H179L178 358Q178 353 178 352T176 345T174 337T170 330T165 322T158 316T150 311T139 308T126 306ZM132 140Q132 115 157 93T224 70Q269 70 302 87T344 133Q346 139 347 175V211H339Q256 209 194 190T132 140'], + + // LATIN SMALL LETTER B + 0x62: [611,6,525,4,492,'4 573Q4 596 15 603T52 611H90H124Q146 611 155 608T171 591Q173 586 173 491V396L182 402Q217 424 256 431Q280 437 309 437Q376 437 434 379T492 217Q492 162 473 118T422 47T358 8T293 -6Q229 -6 174 38Q171 13 163 7T135 1H131H122Q99 1 90 23L89 279V535H58L27 536Q4 543 4 573ZM409 215Q409 269 377 315T283 361Q255 361 224 344T177 297L173 290V167Q189 124 213 97T278 70Q330 70 369 111T409 215'], + + // LATIN SMALL LETTER C + 0x63: [440,6,525,66,466,'291 -6Q196 -6 131 60T66 216Q66 296 119 361Q154 403 200 421T273 439Q275 440 293 440H313Q400 440 433 409Q454 388 454 359Q454 335 439 321T402 306Q380 306 365 321T350 357V362L340 363Q339 363 326 363T303 364Q280 364 266 362Q217 352 184 313T151 215Q151 153 199 112T313 70Q341 70 357 85T381 118T394 140Q402 146 424 146Q443 146 447 144Q466 137 466 117Q466 106 457 88T429 47T374 10T291 -6'], + + // LATIN SMALL LETTER D + 0x64: [611,6,525,31,520,'266 573Q266 596 277 603T314 611H352H385Q411 611 419 607T435 586V76H498Q512 67 516 60T520 38Q520 9 498 1H436Q429 1 417 1T398 0Q375 0 363 7T351 34V43L342 36Q288 -6 223 -6Q143 -6 87 58T31 216Q31 307 88 372T230 437Q292 437 342 405L351 399V535H320L289 536Q266 543 266 573ZM351 290Q347 302 337 316T302 346T244 361Q193 361 154 319T115 215Q115 152 152 111T235 70Q314 70 351 170V290'], + + // LATIN SMALL LETTER E + 0x65: [440,6,525,48,465,'48 217Q48 295 100 361T248 439L258 440Q268 440 274 440Q329 438 369 416T428 359T456 292T464 228Q464 215 461 208T454 198T442 190L288 189H135L138 179Q153 132 199 102T303 71Q336 71 353 86T380 120T398 143Q404 146 422 146Q453 146 462 126Q464 120 464 116Q464 84 416 39T285 -6Q187 -6 118 59T48 217ZM377 264Q371 291 365 306T341 338T294 362Q288 363 264 363Q225 363 190 336T139 264H377'], + + // LATIN SMALL LETTER F + 0x66: [617,-1,525,35,437,'43 395Q44 405 44 408T47 416T53 423T66 431H176V461Q176 500 182 518Q201 570 252 593T353 617Q399 614 418 593T437 548Q437 528 424 514T387 499Q365 499 353 511T338 537V541H328Q275 536 261 494Q260 490 260 460V431H327Q334 431 346 431T364 432Q392 432 404 425T416 393T405 362T365 355H327H260V76H319Q375 76 388 71T401 38Q401 27 400 23T395 12T379 1H58Q47 6 42 12T36 23T35 38Q35 65 53 73Q59 76 117 76H176V355H121H93Q64 355 54 362T43 395'], + + // LATIN SMALL LETTER G + 0x67: [442,229,525,28,510,'60 274Q60 337 107 386T233 436Q278 436 316 417L329 410L338 416Q384 442 427 442T489 423T509 381T494 345T460 332Q449 332 440 338Q432 341 427 348T419 360T415 365Q414 364 410 364L383 355Q406 320 406 274Q406 211 358 162T233 112Q189 112 155 128L146 133Q142 125 142 115Q142 99 150 85T175 71Q182 72 187 70Q188 70 195 70T218 70T254 69Q259 69 275 69T297 69T318 68T340 66T361 62T384 57T405 49T428 38Q495 -1 495 -76Q495 -143 427 -186T262 -229Q161 -229 94 -185T29 -73Q30 -60 33 -48T39 -26T47 -8T57 8T67 20T77 30T86 38L91 43Q91 44 86 53T75 80T70 117Q70 142 89 183L83 194Q60 232 60 274ZM321 274Q321 312 296 337T230 362Q197 362 171 338T145 274Q145 235 170 211T233 187Q273 187 297 212T321 274ZM422 -78Q422 -54 408 -38T366 -15T315 -6T255 -4H200Q198 -4 193 -4T183 -3Q148 -3 125 -26T102 -78Q102 -110 151 -132T261 -154Q321 -154 371 -132T422 -78'], + + // LATIN SMALL LETTER H + 0x68: [611,-1,525,4,520,'4 573Q4 596 15 603T52 611H90H124Q146 611 155 608T171 591Q173 586 173 489Q173 394 175 394L186 402Q197 410 219 420T269 434Q278 436 306 436Q343 436 371 423Q411 402 423 365T436 265Q436 257 436 239T435 211V198V76H498Q512 67 516 60T520 38Q520 9 498 1H308Q286 10 286 32V38V46Q286 65 303 73Q309 76 329 76H351V188Q351 204 351 230T352 266Q352 321 341 341T288 361Q253 361 222 341T176 274L174 264L173 170V76H236Q250 67 254 60T258 38Q258 9 236 1H27Q4 8 4 38Q4 53 8 60T27 76H89V535H58L27 536Q4 543 4 573'], + + // LATIN SMALL LETTER I + 0x69: [612,-1,525,72,462,'202 538T202 559T218 596T260 612Q283 612 300 597T317 560Q317 538 300 523T260 507Q235 507 219 522ZM411 76Q441 76 451 69T462 38Q462 29 462 26T460 18T453 9T440 1H94Q72 8 72 33V38Q72 46 72 49T74 58T81 68T94 76H233V355H167L102 356Q80 363 80 393Q80 418 91 425T138 432Q145 432 165 432T200 431H295Q297 429 303 425T310 420T314 415T317 404T317 389T318 363Q318 354 318 314T317 241V76H378H411'], + + // LATIN SMALL LETTER J + 0x6A: [612,228,525,48,377,'261 559Q261 580 277 596T319 612Q342 612 359 597T376 560T360 523T320 507Q296 507 279 523T261 559ZM75 -91T100 -91T138 -107T152 -144V-150L160 -151H193H203Q241 -151 267 -121Q284 -97 288 -73T292 23V151V355H218L145 356Q123 365 123 387V393Q123 422 145 430H148Q151 430 156 430T169 430T185 430T205 431T227 431T251 431H354Q356 430 360 427T365 424T369 420T372 416T373 410T375 402T376 391T377 376T377 356Q377 345 377 286T376 176Q376 -67 371 -88Q362 -123 342 -151T299 -194Q254 -228 180 -228Q84 -226 56 -177Q49 -162 48 -148Q48 -122 61 -107'], + + // LATIN SMALL LETTER K + 0x6B: [611,0,525,13,507,'13 42Q13 63 23 69T69 76H102V535H69H54Q34 535 24 542T13 573Q13 588 15 593Q22 605 29 608T56 611H95Q113 611 122 611T140 610T152 609T159 607T163 603T167 597T173 589V413L174 237L295 355H275Q260 355 253 356T239 367T232 393Q232 419 243 425T304 431H359H464Q479 422 482 415T485 393Q485 364 464 356L431 355H398L293 254L427 76H486Q501 67 504 60T507 38Q507 28 507 24T501 12T486 1H314Q292 8 292 38Q292 62 308 73Q312 75 326 76L338 77L290 140Q279 154 267 171T248 196L242 204L207 171L173 139V76H206H221Q241 76 251 69T262 38Q262 11 244 3Q240 1 138 1Q123 1 100 1T70 0Q32 0 23 7T13 42'], + + // LATIN SMALL LETTER L + 0x6C: [612,-1,525,51,474,'51 573Q51 602 73 610H76Q79 610 84 610T97 610T113 610T133 611T155 611T179 611H282Q301 598 304 586V76H452Q466 67 470 60T474 38Q474 10 452 1H73Q51 9 51 32V38Q51 54 54 60T73 76H220V535H146L73 536Q51 545 51 567V573'], + + // LATIN SMALL LETTER M + 0x6D: [437,-1,525,-12,536,'133 76Q156 74 164 67T172 38Q172 9 151 1H11Q-12 8 -12 38Q-12 61 5 73Q10 75 28 76H45V355H28Q10 356 5 358Q-12 370 -12 393Q-12 419 11 431H52H70Q91 431 100 427T116 405Q163 436 200 436Q255 436 281 390L285 394Q289 398 292 400T301 407T314 415T329 423T346 429T366 434T389 436H392Q425 436 448 411Q469 390 474 360T480 268V232V203V76H497Q520 74 528 67T536 38Q536 9 515 1H396Q374 9 374 32V38Q374 73 402 76H409V191V242Q409 317 404 339T375 361Q343 361 323 332T299 264Q298 258 298 165V76H315Q338 74 346 67T354 38Q354 9 333 1H214Q192 9 192 32V38Q192 73 220 76H227V191V242Q227 317 222 339T193 361Q161 361 141 332T117 264Q116 258 116 165V76H133'], + + // LATIN SMALL LETTER N + 0x6E: [436,-1,525,4,520,'89 431Q94 431 105 431T122 432Q173 432 173 399Q173 394 175 394Q176 394 190 404T233 425T298 436Q343 436 371 423Q411 402 423 365T436 265Q436 257 436 239T435 211V198V76H498Q512 67 516 60T520 38Q520 9 498 1H308Q286 9 286 32V38V45Q286 65 303 73Q309 76 329 76H351V188Q351 204 351 230T352 266Q352 321 341 341T288 361Q253 361 222 341T176 274L174 264L173 170V76H236Q250 67 254 60T258 38Q258 9 236 1H27Q4 8 4 38Q4 53 8 60T27 76H89V355H58L27 356Q4 363 4 393Q4 408 8 415T27 431H89'], + + // LATIN SMALL LETTER O + 0x6F: [440,6,525,52,472,'52 216Q52 318 118 379T261 440Q343 440 407 378T472 216Q472 121 410 58T262 -6Q176 -6 114 58T52 216ZM388 225Q388 281 351 322T261 364Q213 364 175 325T136 225Q136 158 174 114T262 70T350 114T388 225'], + + // LATIN SMALL LETTER P + 0x70: [437,221,525,4,492,'89 431Q93 431 104 431T121 432Q173 432 173 401V396L182 402Q237 437 305 437Q376 437 434 378T492 217Q492 146 459 93T382 17T291 -6Q261 -6 232 5T188 26L174 37Q173 37 173 -54V-146H236Q250 -155 254 -162T258 -184Q258 -213 236 -221H27Q4 -214 4 -184Q4 -169 8 -162T27 -146H89V355H58L27 356Q4 363 4 393Q4 408 8 415T27 431H89ZM409 215Q409 269 377 315T283 361Q255 361 224 344T177 297L173 290V167Q189 124 213 97T278 70Q330 70 369 111T409 215'], + + // LATIN SMALL LETTER Q + 0x71: [437,222,525,34,545,'34 215Q34 309 91 368T222 436Q224 436 231 436T242 437Q309 437 372 390V401Q372 419 381 428T414 437Q426 437 432 436T444 430T456 412V-146H489H504Q524 -146 534 -153T545 -184Q545 -211 527 -219Q523 -221 414 -221Q398 -221 374 -221T342 -222Q304 -222 294 -216T283 -184Q283 -157 301 -149Q307 -146 339 -146H372V-51Q372 43 371 43L364 38Q357 33 345 26T318 12T280 -1T236 -6Q155 -6 95 55T34 215ZM117 215Q117 152 157 111T250 70Q289 70 318 92T363 146Q372 163 372 192V215L371 263Q339 360 254 360Q206 360 162 321T117 215'], + + // LATIN SMALL LETTER R + 0x72: [437,-1,525,24,487,'327 76Q359 76 369 70T380 38Q380 10 359 1H47Q24 8 24 38Q24 54 28 61T47 76H145V355H96L47 356Q24 363 24 393Q24 409 28 416T47 431H207Q223 419 226 414T229 393V387V369Q297 437 394 437Q436 437 461 417T487 368Q487 347 473 332T438 317Q428 317 420 320T407 327T398 337T393 347T390 356L388 361Q348 356 324 345Q228 299 228 170Q228 161 228 151T229 138V76H293H327'], + + // LATIN SMALL LETTER S + 0x73: [440,6,525,71,458,'72 317Q72 361 108 396T229 439Q231 439 245 439T268 440Q303 439 324 435T353 427T363 423L372 432Q380 440 397 440Q430 440 430 395Q430 390 430 380T429 366V335Q429 311 422 302T387 293Q364 293 355 300T346 316T343 336T325 353Q306 364 257 364Q209 364 178 351T147 317Q147 284 231 272Q327 256 357 247Q458 210 458 129V121Q458 74 413 34T271 -6Q246 -6 224 -3T189 5T165 14T150 22T144 26Q142 23 139 18T135 11T132 6T128 1T124 -2T119 -4T113 -5T104 -6Q84 -6 78 6T71 43Q71 48 71 60T72 79Q72 132 73 141T81 157Q90 166 115 166Q135 166 142 162T157 140Q168 108 191 90T260 70Q297 70 323 76T361 91T379 110T384 129Q384 157 346 171T247 195T165 212Q119 228 96 256T72 317'], + + // LATIN SMALL LETTER T + 0x74: [554,6,525,25,448,'25 395Q26 405 26 408T29 416T35 423T48 431H145V481L146 532Q154 547 161 550T184 554H189Q218 554 227 534Q229 529 229 480V431H405Q406 430 411 427T418 422T422 416T426 407T427 393Q427 387 427 382T424 374T421 368T417 363T413 360T408 358L405 356L317 355H229V249Q229 237 229 214T228 179Q228 126 241 98T295 70Q354 70 365 149Q366 167 375 174Q383 182 407 182H415Q438 182 446 166Q448 161 448 148Q448 84 398 39T282 -6Q226 -6 189 29T146 128Q145 134 145 247V355H96H72Q45 355 35 362T25 395'], + + // LATIN SMALL LETTER U + 0x75: [431,5,525,4,520,'4 393Q4 416 15 423T52 431H90Q141 431 151 429T168 417Q171 412 173 409V254L174 100Q182 70 244 70Q320 70 344 119Q349 130 350 144T351 248V355H320L289 356Q266 363 266 393Q266 408 270 415T289 431H351H386Q409 431 418 428T433 411Q435 406 435 241V76H498Q512 67 516 60T520 38Q520 9 498 1H436H394Q372 1 364 5T351 26L342 21Q293 -5 227 -5Q118 -5 96 67Q91 82 90 101T89 227V355H58L27 356Q4 363 4 393'], + + // LATIN SMALL LETTER V + 0x76: [432,4,525,24,500,'24 392Q24 417 36 424T79 432Q85 432 103 432T132 431H215Q229 422 233 415T237 393Q237 355 198 355H193H172L262 77L352 355H331H323Q288 355 288 393Q288 409 291 415T310 431H478Q491 423 495 416T500 393Q500 364 478 356L452 355H426L374 190Q320 24 318 20Q307 -4 273 -4H262H251Q217 -4 206 20Q204 24 150 190L98 355H72L47 356Q24 363 24 392'], + + // LATIN SMALL LETTER W + 0x77: [431,4,525,16,508,'54 355Q16 355 16 388V393Q16 423 37 430Q41 431 125 431H162Q206 431 218 425T230 393Q230 366 212 358Q206 355 174 355Q141 355 141 354L150 296Q181 110 181 89V84Q182 85 183 96Q185 118 199 173T218 237Q223 247 245 259H264H268Q294 259 309 240Q315 229 329 174T343 92Q343 84 344 84V86Q344 88 344 91T345 97Q347 125 356 187T374 301T383 354Q383 355 350 355H333Q314 355 304 362T294 393Q294 420 312 428Q318 431 401 431H440Q485 431 496 425T508 393Q508 382 508 377T498 363T470 355L455 354Q455 353 441 271T413 104T396 16Q384 -4 355 -4H351Q315 -4 305 9T280 79Q278 90 276 96Q265 149 265 169Q265 176 264 169Q263 166 263 162Q261 130 248 79T230 18Q220 -4 183 -4H175L151 -3Q134 5 127 17L112 102Q97 188 83 270T69 354Q62 355 54 355'], + + // LATIN SMALL LETTER X + 0x78: [432,-1,525,29,495,'35 393Q35 417 46 424T89 432Q95 432 112 432T141 431H223Q238 422 241 415T244 393Q244 389 244 383T237 367T216 355Q209 355 209 354L234 319Q259 286 260 286L308 354Q308 355 301 355Q285 356 278 365T270 384L271 393Q271 420 289 428Q295 431 376 431H459Q460 430 465 427T472 422T476 416T480 407T481 393Q481 368 470 362T434 355H425H392L344 290Q295 225 295 223Q294 223 309 203T350 149L405 77L439 76H453Q474 76 484 69T495 38Q495 10 473 1H303Q281 9 281 32V38Q281 49 282 54T290 67T313 76Q324 76 324 77L259 173L197 77Q202 76 209 76Q225 75 233 68T241 55T242 38Q242 28 242 24T236 12T221 1H51Q29 9 29 32V38Q29 48 29 51T31 59T38 67T51 76H117L171 149Q224 222 224 223L124 355H90H78Q54 355 45 361T35 393'], + + // LATIN SMALL LETTER Y + 0x79: [431,228,525,26,501,'26 393Q26 417 37 424T80 431H134H217Q232 422 235 416T239 393Q239 379 236 371T226 360T214 356T197 355L179 354V353L188 330Q197 306 209 272T235 201T259 133T271 89V84L274 95Q279 122 298 185T335 300T352 354Q352 355 331 355Q312 355 304 358Q288 368 288 393Q288 408 291 415T310 431H478Q479 430 484 427T491 422T495 416T499 407T500 393Q500 376 493 367T479 357T458 355H452Q426 355 425 353Q420 337 351 124T280 -94Q240 -195 168 -220Q147 -228 125 -228Q89 -228 66 -201T42 -139Q42 -116 56 -102T93 -87Q117 -87 130 -102T144 -135V-138H126Q121 -148 121 -150T130 -152Q182 -147 207 -87Q211 -78 223 -40T236 1Q230 10 102 355H75L49 356Q26 363 26 393'], + + // LATIN SMALL LETTER Z + 0x7A: [432,-1,525,34,475,'56 1Q40 7 37 14T34 41Q34 59 36 64Q39 67 43 73Q65 95 191 213T341 355H133V334Q133 306 124 297Q116 289 91 289H83Q60 289 51 308Q49 313 49 361L50 409Q59 427 72 430H78Q83 430 92 430T115 430T144 430T179 431T219 431T262 431H450Q452 430 455 428T459 424T463 422T466 419T468 416T469 413T470 409T471 404T472 398T472 391Q472 374 469 368L462 358Q453 349 315 218Q210 122 164 76H391V103Q391 136 400 146Q409 155 433 155Q464 155 473 135Q475 130 475 78V46Q475 24 472 16T453 1H56'], + + // LEFT CURLY BRACKET + 0x7B: [694,83,525,50,475,'430 -7H436Q449 -7 456 -8T469 -19T475 -45Q475 -69 466 -76T434 -83H419Q386 -82 363 -80T308 -69T253 -41T223 7L221 17L220 118V220L218 224Q215 229 214 230T210 235T204 241T195 246T184 252T170 257T151 262T127 265Q118 267 100 267T69 270T52 283Q50 288 50 306V314Q50 335 67 341Q68 342 102 343T172 355T217 386L220 392V493L221 595Q225 611 230 621T251 650T304 679T395 693L406 694Q418 694 426 694Q458 694 466 685Q475 676 475 656T466 627Q458 618 430 618Q319 618 305 587L304 486Q304 476 304 458T305 431Q305 385 295 358T251 311L243 306Q243 305 254 298T281 274T302 231Q304 223 304 125L305 25Q309 16 316 10T352 -1T430 -7'], + + // VERTICAL LINE + 0x7C: [694,82,525,228,297,'228 668Q241 694 262 694Q268 694 273 693T282 688T287 682T293 674L297 668V-57Q282 -82 262 -82Q239 -82 228 -57V668'], + + // RIGHT CURLY BRACKET + 0x7D: [694,83,525,49,475,'49 655Q49 674 56 682T73 692T106 694Q141 693 167 690T224 677T275 647T303 595L305 392Q313 367 347 356T417 344T457 341Q475 335 475 306Q475 292 473 285T464 273T451 269T430 267Q352 262 327 246Q311 236 305 220L303 17L301 7Q294 -16 277 -33T242 -60T196 -74T150 -80T106 -83Q78 -83 72 -82T58 -74Q49 -65 49 -44Q49 -24 58 -16Q66 -7 94 -7Q143 -7 171 -1T207 10T220 25V125Q220 223 222 231Q228 257 243 274T270 299L281 306Q234 329 222 381Q220 387 220 486V587Q212 597 207 601T173 612T94 618Q66 618 58 627Q49 635 49 655'], + + // TILDE + 0x7E: [611,-466,525,87,437,'125 467Q113 467 100 480T87 509Q88 520 111 543Q172 602 209 609Q219 611 224 611Q246 611 263 596T290 566T304 551Q319 551 367 594Q383 610 396 610H400Q411 610 424 597T437 568Q436 557 413 534Q348 469 305 466Q278 466 260 481T234 511T220 526Q205 526 157 483Q141 467 129 467H125'], + + // ?? + 0x7F: [612,-519,525,104,421,'104 565Q104 590 120 600T155 611Q175 611 180 610Q217 599 217 565Q217 545 202 532T166 519H159H155Q120 519 107 547Q104 553 104 565ZM307 565Q307 580 317 593T346 610Q348 610 350 610T354 611Q355 612 367 612Q395 611 408 597T421 565T409 534T365 519H358Q336 519 322 532T307 565'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js new file mode 100644 index 00000000..b7a01916 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js @@ -0,0 +1,53 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'], + { + // COMBINING GRAVE ACCENT + 0x300: [611,-485,0,-409,-195,'-409 569Q-409 586 -399 596T-377 610Q-376 610 -372 610T-365 611Q-355 610 -284 588T-210 563Q-195 556 -195 537Q-195 533 -197 522T-208 498T-229 485Q-238 485 -312 508T-388 533Q-400 538 -405 552Q-409 559 -409 569'], + + // COMBINING ACUTE ACCENT + 0x301: [611,-485,0,-331,-117,'-297 485Q-315 485 -323 505T-331 537Q-331 556 -316 563Q-307 569 -170 610Q-169 610 -165 610T-157 611Q-141 609 -131 600T-119 584T-117 569Q-117 555 -124 545T-138 533Q-140 531 -214 508T-297 485'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [611,-460,0,-429,-97,'-387 460Q-404 460 -416 479T-429 512Q-429 527 -419 534Q-416 536 -347 571T-272 609Q-269 611 -261 611Q-254 610 -182 574Q-168 567 -156 561T-136 550T-123 543T-114 538T-109 535T-105 532T-103 529T-100 525Q-97 518 -97 512Q-97 498 -109 479T-139 460H-141Q-148 460 -209 496L-263 526L-317 496Q-378 460 -387 460'], + + // COMBINING TILDE + 0x303: [611,-466,0,-438,-88,'-400 467Q-412 467 -425 480T-438 509Q-437 520 -414 543Q-353 602 -316 609Q-306 611 -301 611Q-279 611 -262 596T-235 566T-221 551Q-206 551 -158 594Q-142 610 -129 610H-125Q-114 610 -101 597T-88 568Q-89 557 -112 534Q-177 469 -220 466Q-247 466 -265 481T-291 511T-305 526Q-320 526 -368 483Q-384 467 -396 467H-400'], + + // COMBINING MACRON + 0x304: [578,-500,0,-452,-74,'-429 500Q-440 504 -445 511T-450 522T-452 536Q-452 552 -451 556Q-445 571 -434 574T-379 578Q-369 578 -330 578T-261 577H-96Q-94 575 -90 573T-85 569T-81 564T-77 558T-75 550T-74 538Q-74 522 -78 515T-96 500H-429'], + + // COMBINING BREVE + 0x306: [611,-504,0,-447,-79,'-446 579Q-446 611 -412 611H-407Q-383 609 -378 599T-358 587Q-340 583 -263 583H-235Q-159 583 -152 593Q-145 611 -120 611H-117H-115Q-79 611 -79 577Q-80 552 -95 536T-140 514T-191 506T-251 504H-263H-274Q-311 504 -334 505T-386 513T-431 536T-446 579'], + + // COMBINING DIAERESIS + 0x308: [612,-519,0,-421,-104,'-421 565Q-421 590 -405 600T-370 611Q-350 611 -345 610Q-308 599 -308 565Q-308 545 -323 532T-359 519H-366H-370Q-405 519 -418 547Q-421 553 -421 565ZM-218 565Q-218 580 -208 593T-179 610Q-177 610 -175 610T-171 611Q-170 612 -158 612Q-130 611 -117 597T-104 565T-116 534T-160 519H-167Q-189 519 -203 532T-218 565'], + + // COMBINING RING ABOVE + 0x30A: [619,-499,0,-344,-182,'-344 558Q-344 583 -321 601T-262 619Q-225 619 -204 600T-182 560Q-182 536 -205 518T-264 499Q-301 499 -322 519T-344 558ZM-223 559Q-223 570 -234 579T-261 588T-289 580T-303 559Q-303 549 -293 540T-263 530T-234 539T-223 559'], + + // COMBINING CARON + 0x30C: [577,-449,0,-427,-99,'-427 525Q-427 542 -417 559T-392 577Q-385 577 -323 553L-263 530L-203 553Q-143 576 -136 576Q-118 576 -109 559T-99 525Q-99 508 -107 502T-161 481Q-177 475 -186 472Q-256 449 -263 449Q-272 449 -339 472T-412 498Q-420 501 -423 508T-427 520V525'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js new file mode 100644 index 00000000..adff7e74 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'] = { + directory: 'Typewriter/Regular', + family: 'MathJax_Typewriter', + id: 'MJTT', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js new file mode 100644 index 00000000..3be25ad6 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js @@ -0,0 +1,74 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [432,-1,525,72,462,'411 76Q441 76 451 69T462 38Q462 29 462 26T460 18T453 9T440 1H94Q72 8 72 33V38Q72 46 72 49T74 58T81 68T94 76H233V355H167L102 356Q80 363 80 393Q80 418 91 425T138 432Q145 432 165 432T200 431H295Q297 429 303 425T310 420T314 415T317 404T317 389T318 363Q318 354 318 314T317 241V76H378H411'], + + // LATIN SMALL LETTER DOTLESS J + 0x237: [432,228,525,48,377,'75 -91T100 -91T138 -107T152 -144V-150L160 -151H193H203Q241 -151 267 -121Q284 -97 288 -73T292 23V151V355H218L145 356Q123 365 123 387V393Q123 422 145 430H148Q151 430 156 430T169 430T185 430T205 431T227 431T251 431H354Q356 430 360 427T365 424T369 420T372 416T373 410T375 402T376 391T377 376T377 356Q377 345 377 286T376 176Q376 -67 371 -88Q362 -123 342 -151T299 -194Q254 -228 180 -228Q84 -226 56 -177Q49 -162 48 -148Q48 -122 61 -107'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [611,0,525,25,488,'466 611Q468 609 473 606T479 602T483 598T486 593T487 586T488 576T488 562V526V488Q488 452 470 444Q466 442 446 442Q421 442 413 450Q406 457 405 463T404 501V535H185V76H222H239Q260 76 270 69T281 38Q281 12 270 6T209 0H155H104Q48 0 37 5T25 38Q25 59 35 69Q44 76 76 76H101V535H76H64Q36 535 27 552Q25 557 25 573T27 594Q33 606 43 608T106 611H258H466'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [623,0,525,35,489,'232 622H237Q242 622 249 622T264 623H293Q295 622 300 619T308 613T314 608T319 601Q322 597 405 316T489 19Q489 9 473 1Q471 0 262 0T51 1Q35 9 35 19Q35 34 118 315T205 601Q214 616 232 622ZM267 501Q266 504 265 510T263 521T261 526V523Q261 508 211 332Q142 91 138 82H386Q385 84 345 224Q281 439 267 501'], + + // GREEK CAPITAL LETTER THETA + 0x398: [621,10,525,56,468,'102 588Q140 621 240 621Q323 621 335 620Q393 613 422 588Q450 560 459 493T468 306Q468 185 460 118T422 23Q382 -10 289 -10H262H235Q142 -10 102 23Q74 50 65 118T56 306Q56 427 64 494T102 588ZM262 66Q285 66 300 67T329 74T351 86T366 108T376 138T381 181T383 235T384 306Q384 452 371 492T304 544Q296 545 251 545Q230 545 215 543T188 534T169 520T155 497T147 466T143 423T141 371T140 306Q140 247 141 215T146 151T158 107T179 82T212 69T262 66ZM179 356Q187 378 219 378H223Q240 377 249 372T260 360L261 355Q261 353 262 353T263 355Q263 362 272 369Q280 377 304 377H310Q325 377 331 374T346 356V256Q338 241 331 238T309 234H304Q280 234 272 242Q263 249 263 256Q263 258 262 258T261 256Q261 249 252 242Q244 234 220 234H216Q186 234 179 256V356'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [623,-1,525,30,495,'30 38Q30 57 38 66T70 76Q88 76 88 78Q89 79 117 207T173 466T205 602Q213 617 231 622H236Q241 622 249 622T264 623H294Q315 609 319 602Q321 598 350 468T407 208T435 78Q436 76 454 76Q470 76 478 73Q495 62 495 38Q495 10 473 1H313Q290 10 290 38Q290 56 297 65T310 74T331 76Q350 76 350 78Q349 80 328 176T285 383T263 520Q263 526 262 527Q261 527 261 521Q261 497 240 388T198 181T174 78Q174 76 193 76Q220 75 227 65Q234 56 234 38Q234 28 234 24T228 13T212 1H52Q30 9 30 32V38'], + + // GREEK CAPITAL LETTER XI + 0x39E: [612,-1,525,33,491,'37 555V569Q37 605 60 610H66Q71 610 81 610T105 610T137 610T175 611T217 611T264 611H465Q467 609 471 606T477 602T481 599T484 594T485 588T487 580T487 570T487 554Q487 526 486 520T478 506Q470 498 445 498T412 506Q403 515 403 531V539H121V531Q121 498 86 498H79H71Q48 498 39 517Q37 522 37 555ZM109 318V346Q109 366 113 374T132 389H170Q193 379 193 359V354H331V359Q331 379 354 389H392Q407 381 411 373T415 342V318V290Q415 270 411 262T392 247H354Q331 257 331 277V282H193V277Q193 257 170 247H132Q117 255 113 263T109 294V318ZM56 1Q41 7 37 15T33 42V58V80Q33 101 41 110T77 119Q87 118 91 118T103 114T114 103T117 83V72H407V83Q407 101 416 110T449 119T482 110Q489 103 490 97T491 59V41Q491 24 487 16T469 1H56'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [611,-1,525,16,508,'60 535Q45 535 38 536T24 545T16 571Q16 603 36 609Q41 611 264 611H486Q501 602 504 596T508 573Q508 559 505 551T495 540T482 536T464 535H443V76H464H470Q482 76 489 75T502 64T508 38Q508 10 486 1H317Q306 5 301 11T296 21T295 38V44Q295 66 311 73Q318 76 338 76H359V535H165V76H186H192Q204 76 211 75T224 64T230 38Q230 10 208 1H39Q28 5 23 11T18 21T17 38V44Q17 66 33 73Q40 76 60 76H81V535H60'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [612,-1,525,39,484,'40 575Q40 576 40 579T41 583T41 588T43 593T46 597T50 602T55 606T63 610H68Q74 610 84 610T108 610T139 610T176 611T219 611T264 611H462Q464 609 469 606T475 602T479 598T482 593T483 586T484 576T484 562V526V488Q484 452 466 444Q462 442 442 442Q417 442 409 450Q402 457 401 463T400 501V535H153Q153 533 218 430Q233 405 250 378T276 336T286 319Q290 311 290 307Q290 296 239 211Q229 194 223 184L161 78H400V112Q400 142 401 149T409 163Q418 172 442 172Q473 172 482 152Q484 147 484 86V49Q484 25 481 17T462 1H63Q41 10 41 31Q41 39 43 44Q43 45 81 109T157 238L195 303Q195 307 119 430T41 557T40 575'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [623,-1,525,38,486,'38 494Q38 549 74 585T152 621Q168 621 179 619T209 606T241 566T262 492Q262 494 265 507T270 526T276 547T285 569T298 589T315 606T337 617T365 622Q416 622 451 584T486 494Q486 470 469 461Q464 459 445 459H437Q416 459 406 476Q404 479 403 502T393 541T365 558Q350 558 340 548T323 519T312 475T307 419T305 354T304 282Q304 254 304 239V76H358Q372 67 376 60T380 38Q380 10 358 1H167Q145 9 145 32V38Q145 54 148 60T167 76H220V239Q220 256 220 289T220 338T219 383T217 426T214 463T209 497T201 522T189 543T174 555Q168 558 159 558Q139 558 131 541T121 502T118 476Q108 459 84 459H79H71Q38 459 38 494'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [612,-1,525,41,483,'139 573V578Q139 603 161 610H166Q172 610 182 610T204 610T232 611T264 611H364Q379 602 382 595T385 573Q385 544 364 536L334 535H304V441H306Q313 440 325 438T367 426T421 403T464 364T483 306Q483 251 430 216T317 172Q315 172 313 172T308 170H306H304V76H364Q379 67 382 60T385 38Q385 28 385 24T379 12T364 1H161Q139 8 139 33V38Q139 46 139 49T141 58T148 68T161 76H220V170H218Q211 171 199 173T157 185T103 208T60 248T41 306Q41 361 94 396T208 439Q210 439 212 439T216 440L218 441H220V535H190L161 536Q139 543 139 573ZM124 306Q124 286 147 271T194 252L218 247Q220 247 220 306V364H218Q212 364 192 359T148 340T124 306ZM400 305Q400 325 377 340T330 360L306 364Q304 364 304 306Q304 247 306 247Q312 247 332 252T376 271T400 305'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [611,-1,525,37,487,'37 439Q38 451 40 457T52 469T77 475H79Q96 475 107 473T132 456T152 411Q152 409 153 396T154 372V365Q154 291 198 261Q215 251 219 251Q220 251 220 393V535H193L167 536Q145 545 145 567V573Q145 602 167 610Q168 611 264 611H358Q372 602 376 595T380 573Q380 545 358 536L331 535H304V393Q304 251 305 251Q307 251 310 252T323 259T339 272T355 295T367 331Q368 337 370 372Q370 382 371 395T372 411Q376 434 384 448T404 467T425 474T447 475Q461 474 467 473T480 463T487 437Q487 419 481 412Q476 403 459 398Q457 390 453 344T431 263Q415 228 383 205T332 177T306 172H304V76H358Q372 67 376 60T380 38Q380 10 358 1H167Q145 9 145 32V38Q145 54 148 60T167 76H220V172H218Q211 172 192 177T141 205T93 263Q74 298 71 343T67 391L66 398Q47 403 42 411T37 433V439'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [622,-1,525,32,492,'40 404Q40 498 106 560T258 622Q357 622 420 558T484 406Q484 359 469 311T428 205T392 117Q382 84 382 78Q382 76 402 76H421V87Q421 110 431 116T457 123Q474 123 483 114Q490 107 491 100T492 61V42Q492 11 474 3Q470 1 397 1H324Q302 9 302 32V39Q302 104 351 225T400 405Q400 462 361 504T262 546Q200 546 162 504T124 405Q124 346 171 230T223 42V36Q223 11 205 3Q201 1 128 1H55Q39 7 33 23L32 60V80Q32 94 34 102T44 116T68 123Q103 123 103 87V76H123Q142 76 142 78Q142 100 117 156T66 282T40 404'], + + // ?? + 0x7E2: [611,-287,525,175,349,'205 554Q205 577 221 594T263 611Q302 611 325 577T349 490Q349 409 298 347Q285 330 258 309T214 287Q203 289 189 302T175 327Q175 341 185 349T213 369T245 402Q269 437 273 483V497Q264 496 263 496Q240 496 223 513T205 554'], + + // ?? + 0x7E3: [681,-357,525,176,350,'176 479Q176 563 227 622T310 681Q324 680 337 667T350 641Q350 627 340 619T312 599T280 566Q256 531 252 485V471Q261 472 262 472Q285 472 302 455T320 414Q320 389 303 373T261 357Q223 357 200 391T176 479'], + + // PRIME + 0x2032: [623,-334,525,211,313,'211 572Q211 593 226 608T262 623Q281 623 297 610T313 573Q313 561 307 465Q301 370 299 357T284 336Q279 334 262 334Q240 334 231 343Q226 350 225 362T217 465Q211 549 211 572'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/Other.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata-extra.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata-extra.js new file mode 100644 index 00000000..10629f46 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata-extra.js @@ -0,0 +1,241 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/fontdata-extra.js + * + * Adds extra stretchy characters to the TeX font data. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +(function (SVG) { + var VERSION = "2.7.5"; + + var DELIMITERS = SVG.FONTDATA.DELIMITERS; + + var MAIN = "MathJax_Main", + BOLD = "MathJax_Main-bold", + AMS = "MathJax_AMS", + SIZE1 = "MathJax_Size1", + SIZE4 = "MathJax_Size4"; + var H = "H", V = "V"; + var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // add depth for arrow extender + var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender + + var delim = { + 0x003D: // equal sign + { + dir: H, HW: [[767,MAIN]], stretch: {rep:[0x003D,MAIN]} + }, + 0x219E: // left two-headed arrow + { + dir: H, HW: [[1000,AMS]], stretch: {left:[0x219E,AMS], rep:ARROWREP} + }, + 0x21A0: // right two-headed arrow + { + dir: H, HW: [[1000,AMS]], stretch: {right:[0x21A0,AMS], rep:ARROWREP} + }, + 0x21A4: // left arrow from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2190,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x21A5: // up arrow from bar + { + dir: V, HW: [], + stretch: {min:.6, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x2191,SIZE1]} + }, + 0x21A6: // right arrow from bar + { + dir: H, HW: [[1000,MAIN]], + stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:ARROWREP, right:[0x2192,MAIN]} + }, + 0x21A7: // down arrow from bar + { + dir: V, HW: [], + stretch: {min:.6, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x21B0: // up arrow with top leftwards + { + dir: V, HW: [[722,AMS]], + stretch: {top:[0x21B0,AMS], ext:[0x23D0,SIZE1,.097]} + }, + 0x21B1: // up arrow with top right + { + dir: V, HW: [[722,AMS]], + stretch: {top:[0x21B1,AMS,.27], ext:[0x23D0,SIZE1]} + }, + 0x21BC: // left harpoon with barb up + { + dir: H, HW: [[1000,MAIN]], + stretch: {left:[0x21BC,MAIN], rep:ARROWREP} + }, + 0x21BD: // left harpoon with barb down + { + dir: H, HW: [[1000,MAIN]], + stretch: {left:[0x21BD,MAIN], rep:ARROWREP} + }, + 0x21BE: // up harpoon with barb right + { + dir: V, HW: [[888,AMS]], + stretch: {top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21BF: // up harpoon with barb left + { + dir: V, HW: [[888,AMS]], + stretch: {top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21C0: // right harpoon with barb up + { + dir: H, HW: [[1000,MAIN]], + stretch: {right:[0x21C0,MAIN], rep:ARROWREP} + }, + 0x21C1: // right harpoon with barb down + { + dir: H, HW: [[1000,MAIN]], + stretch: {right:[0x21C1,MAIN], rep:ARROWREP} + }, + 0x21C2: // down harpoon with barb right + { + dir: V, HW: [[888,AMS]], + stretch: {bot:[0x21C2,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21C3: // down harpoon with barb left + { + dir: V, HW: [[888,AMS]], + stretch: {bot:[0x21C3,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21DA: // left triple arrow + { + dir: H, HW: [[1000,AMS]], + stretch: {left:[0x21DA,AMS], rep:[0x2261,MAIN]} + }, + 0x21DB: // right triple arrow + { + dir: H, HW: [[1000,AMS]], + stretch: {right:[0x21DB,AMS], rep:[0x2261,MAIN]} + }, + 0x23B4: // top square bracket + { + dir: H, HW: [], + stretch: {min:.5, left:[0x250C,AMS,0,-.1], rep:[0x2212,MAIN,0,.325], right:[0x2510,AMS,0,-.1]} + }, + 0x23B5: // bottom square bracket + { + dir: H, HW: [], + stretch: {min:.5, left:[0x2514,AMS,0,.26], rep:[0x2212,MAIN,0,0,0,.25], right:[0x2518,AMS,0,.26]} + }, + 0x23DC: // top paren + { + dir: H, HW: [[778,AMS,0,0x2322],[100,MAIN,0,0x2322]], + stretch: {left:[0xE150,SIZE4], rep:[0xE154,SIZE4], right:[0xE151,SIZE4]} + }, + 0x23DD: // bottom paren + { + dir: H, HW: [[778,AMS,0,0x2323],[100,MAIN,0,0x2323]], + stretch: {left:[0xE152,SIZE4], rep:[0xE154,SIZE4], right:[0xE153,SIZE4]} + }, + 0x23E0: // top tortoise shell + { + dir: H, HW: [], + stretch: {min:1.25, left:[0x2CA,MAIN,-.1], rep:[0x2C9,MAIN,-.05,.13], right:[0x2CB,MAIN], fullExtenders:true} + }, + 0x23E1: // bottom tortoise shell + { + dir: H, HW: [], + stretch: {min:1.5, left:[0x2CB,MAIN,-.1,.1], rep:[0x2C9,MAIN,-.1], right:[0x2CA,MAIN,-.1,.1], fullExtenders:true} + }, + 0x2906: // leftwards double arrow from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21D0,MAIN], rep:DARROWREP, right:[0x2223,SIZE1,0,-.1]} + }, + 0x2907: // rightwards double arrow from bar + { + dir: H, HW: [], + stretch: {min:.7, left:[0x22A8,AMS,0,-.12], rep:DARROWREP, right:[0x21D2,MAIN]} + }, + 0x294E: // left barb up right barb up harpoon + { + dir: H, HW: [], + stretch: {min:.5, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x21C0,MAIN]} + }, + 0x294F: // up barb right down barb right harpoon + { + dir: V, HW: [], + stretch: {min:.5, top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} + }, + 0x2950: // left barb dow right barb down harpoon + { + dir: H, HW: [], + stretch: {min:.5, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x21C1,MAIN]} + }, + 0x2951: // up barb left down barb left harpoon + { + dir: V, HW: [], + stretch: {min:.5, top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} + }, + 0x295A: // leftwards harpoon with barb up from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x295B: // rightwards harpoon with barb up from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C0,MAIN]} + }, + 0x295C: // up harpoon with barb right from bar + { + dir: V, HW: [], + stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BE,AMS,.12,0,1.1]} + }, + 0x295D: // down harpoon with barb right from bar + { + dir: V, HW: [], + stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} + }, + 0x295E: // leftwards harpoon with barb down from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x295F: // rightwards harpoon with barb down from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C1,MAIN]} + }, + 0x2960: // up harpoon with barb left from bar + { + dir: V, HW: [], + stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BF,AMS,.12,0,1.1]} + }, + 0x2961: // down harpoon with barb left from bar + { + dir: V, HW: [], + stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} + } + }; + + for (var id in delim) {if (delim.hasOwnProperty(id)) {DELIMITERS[id] = delim[id]}}; + + MathJax.Ajax.loadComplete(SVG.fontDir + "/fontdata-extra.js"); + +})(MathJax.OutputJax.SVG); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata.js new file mode 100644 index 00000000..fa5e1548 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata.js @@ -0,0 +1,1613 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/fontdata.js + * + * Initializes the SVG OutputJax to use the MathJax TeX fonts + * for displaying mathematics. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +(function (SVG,MML,AJAX,HUB) { + var VERSION = "2.7.5"; + + var MAIN = "MathJax_Main", + BOLD = "MathJax_Main-bold", + ITALIC = "MathJax_Math-italic", + AMS = "MathJax_AMS", + SIZE1 = "MathJax_Size1", + SIZE2 = "MathJax_Size2", + SIZE3 = "MathJax_Size3", + SIZE4 = "MathJax_Size4"; + var H = "H", V = "V", EXTRAH = {load:"extra", dir:H}, EXTRAV = {load:"extra", dir:V}; + var STDHW = [[1000,MAIN],[1200,SIZE1],[1800,SIZE2],[2400,SIZE3],[3000,SIZE4]]; + var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // add depth for arrow extender + var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender + + SVG.Augment({ + FONTDATA: { + version: VERSION, + + baselineskip: 1200, + lineH: 800, lineD: 200, + + FONTS: { + "MathJax_Main": "Main/Regular/Main.js", + "MathJax_Main-bold": "Main/Bold/Main.js", + "MathJax_Main-italic": "Main/Italic/Main.js", + "MathJax_Math-italic": "Math/Italic/Main.js", + "MathJax_Math-bold-italic": "Math/BoldItalic/Main.js", + "MathJax_Caligraphic": "Caligraphic/Regular/Main.js", + "MathJax_Size1": "Size1/Regular/Main.js", + "MathJax_Size2": "Size2/Regular/Main.js", + "MathJax_Size3": "Size3/Regular/Main.js", + "MathJax_Size4": "Size4/Regular/Main.js", + "MathJax_AMS": "AMS/Regular/Main.js", + "MathJax_Fraktur": "Fraktur/Regular/Main.js", + "MathJax_Fraktur-bold": "Fraktur/Bold/Main.js", + "MathJax_SansSerif": "SansSerif/Regular/Main.js", + "MathJax_SansSerif-bold": "SansSerif/Bold/Main.js", + "MathJax_SansSerif-italic": "SansSerif/Italic/Main.js", + "MathJax_Script": "Script/Regular/Main.js", + "MathJax_Typewriter": "Typewriter/Regular/Main.js", + "MathJax_Caligraphic-bold": "Caligraphic/Bold/Main.js" + }, + + VARIANT: { + "normal": {fonts:[MAIN,SIZE1,AMS], + offsetG: 0x03B1, variantG: "italic", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, + 0x2016:0x2225, + 0x2216:[0x2216,"-TeX-variant"], // \smallsetminus + 0x210F:[0x210F,"-TeX-variant"], // \hbar + 0x2032:[0x27,"sans-serif-italic"], // HACK: a smaller prime + 0x29F8:[0x002F,MML.VARIANT.ITALIC]}}, + "bold": {fonts:[BOLD,SIZE1,AMS], bold:true, + offsetG: 0x03B1, variantG: "bold-italic", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, 0x29F8:[0x002F,"bold-italic"], + 0x2016:0x2225, + 0x219A:"\u2190\u0338", 0x219B:"\u2192\u0338", 0x21AE:"\u2194\u0338", + 0x21CD:"\u21D0\u0338", 0x21CE:"\u21D4\u0338", 0x21CF:"\u21D2\u0338", + 0x2204:"\u2203\u0338", 0x2224:"\u2223\u0338", 0x2226:"\u2225\u0338", + 0x2241:"\u223C\u0338", 0x2247:"\u2245\u0338", + 0x226E:"<\u0338", 0x226F:">\u0338", + 0x2270:"\u2264\u0338", 0x2271:"\u2265\u0338", + 0x2280:"\u227A\u0338", 0x2281:"\u227B\u0338", + 0x2288:"\u2286\u0338", 0x2289:"\u2287\u0338", + 0x22AC:"\u22A2\u0338", 0x22AD:"\u22A8\u0338", +// 0x22AE:"\u22A9\u0338", 0x22AF:"\u22AB\u0338", + 0x22E0:"\u227C\u0338", 0x22E1:"\u227D\u0338"//, +// 0x22EA:"\u22B2\u0338", 0x22EB:"\u22B3\u0338", +// 0x22EC:"\u22B4\u0338", 0x22ED:"\u22B5\u0338" + }}, + "italic": {fonts:[ITALIC,"MathJax_Main-italic",MAIN,SIZE1,AMS], italic:true, + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "bold-italic": {fonts:["MathJax_Math-bold-italic",BOLD,SIZE1,AMS], bold:true, italic:true, + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "double-struck": {fonts:[AMS, MAIN]}, + "fraktur": {fonts:["MathJax_Fraktur",MAIN,SIZE1,AMS]}, + "bold-fraktur": {fonts:["MathJax_Fraktur-bold",BOLD,SIZE1,AMS], bold:true}, + "script": {fonts:["MathJax_Script",MAIN,SIZE1,AMS]}, + "bold-script": {fonts:["MathJax_Script",BOLD,SIZE1,AMS], bold:true}, + "sans-serif": {fonts:["MathJax_SansSerif",MAIN,SIZE1,AMS]}, + "bold-sans-serif": {fonts:["MathJax_SansSerif-bold",BOLD,SIZE1,AMS], bold:true}, + "sans-serif-italic": {fonts:["MathJax_SansSerif-italic","MathJax_Main-italic",SIZE1,AMS], italic:true}, + "sans-serif-bold-italic": {fonts:["MathJax_SansSerif-italic","MathJax_Main-italic",SIZE1,AMS], bold:true, italic:true}, + "monospace": {fonts:["MathJax_Typewriter",MAIN,SIZE1,AMS]}, + "-tex-caligraphic": {fonts:["MathJax_Caligraphic",MAIN], offsetA: 0x41, variantA: "italic"}, + "-tex-oldstyle": {fonts:["MathJax_Caligraphic",MAIN]}, + "-tex-mathit": {fonts:["MathJax_Main-italic",ITALIC,MAIN,SIZE1,AMS], italic:true, noIC: true, + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "-TeX-variant": {fonts:[AMS,MAIN,SIZE1], // HACK: to get larger prime for \prime + remap: { + 0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E, + 0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007, + 0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B, + 0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009, + 0x2216:[0x2216,MML.VARIANT.NORMAL], // \setminus + 0x210F:[0x210F,MML.VARIANT.NORMAL] // \hslash + }}, + "-largeOp": {fonts:[SIZE2,SIZE1,MAIN]}, + "-smallOp": {fonts:[SIZE1,MAIN]}, + "-tex-caligraphic-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"], bold:true, + offsetA: 0x41, variantA: "bold-italic"}, + "-tex-oldstyle-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"], bold:true} + }, + + RANGES: [ + {name: "alpha", low: 0x61, high: 0x7A, offset: "A", add: 32}, + {name: "number", low: 0x30, high: 0x39, offset: "N"}, + {name: "greek", low: 0x03B1, high: 0x03F6, offset: "G"} + ], + + RULECHAR: 0x2212, + + REMAP: { + 0xA: 0x20, // newline + 0x00A0: 0x20, // non-breaking space + 0x203E: 0x2C9, // overline + 0x20D0: 0x21BC, 0x20D1: 0x21C0, // combining left and right harpoons + 0x20D6: 0x2190, 0x20E1: 0x2194, // combining left arrow and lef-right arrow + 0x20EC: 0x21C1, 0x20ED: 0x21BD, // combining low right and left harpoons + 0x20EE: 0x2190, 0x20EF: 0x2192, // combining low left and right arrows + 0x20F0: 0x2A, // combining asterisk + 0xFE37: 0x23DE, 0xFE38: 0x23DF, // OverBrace, UnderBrace + + 0xB7: 0x22C5, // center dot + 0x2B9: 0x2032, // prime, + 0x3D2: 0x3A5, // Upsilon + 0x2206: 0x394, // increment + 0x2015: 0x2014, 0x2017: 0x5F, // horizontal bars + 0x2022: 0x2219, 0x2044: 0x2F, // bullet, fraction slash + 0x2305: 0x22BC, 0x2306: 0x2A5E, // barwedge, doublebarwedge + 0x25AA: 0x25A0, 0x25B4: 0x25B2, // blacksquare, blacktriangle + 0x25B5: 0x25B3, 0x25B8: 0x25B6, // triangle, blacktriangleright + 0x25BE: 0x25BC, 0x25BF: 0x25BD, // blacktriangledown, triangledown + 0x25C2: 0x25C0, // blacktriangleleft + 0x2329: 0x27E8, 0x232A: 0x27E9, // langle, rangle + 0x3008: 0x27E8, 0x3009: 0x27E9, // langle, rangle + 0x2758: 0x2223, // VerticalSeparator + 0x2A2F: 0xD7, // cross product + + 0x25FB: 0x25A1, 0x25FC: 0x25A0, // square, blacksquare + + // + // Letter-like symbols (that appear elsewhere) + // + 0x2102: [0x0043,MML.VARIANT.DOUBLESTRUCK], +// 0x210A: [0x0067,MML.VARIANT.SCRIPT], + 0x210B: [0x0048,MML.VARIANT.SCRIPT], + 0x210C: [0x0048,MML.VARIANT.FRAKTUR], + 0x210D: [0x0048,MML.VARIANT.DOUBLESTRUCK], + 0x210E: [0x0068,MML.VARIANT.ITALIC], + 0x2110: [0x004A,MML.VARIANT.SCRIPT], + 0x2111: [0x0049,MML.VARIANT.FRAKTUR], + 0x2112: [0x004C,MML.VARIANT.SCRIPT], + 0x2115: [0x004E,MML.VARIANT.DOUBLESTRUCK], + 0x2119: [0x0050,MML.VARIANT.DOUBLESTRUCK], + 0x211A: [0x0051,MML.VARIANT.DOUBLESTRUCK], + 0x211B: [0x0052,MML.VARIANT.SCRIPT], + 0x211C: [0x0052,MML.VARIANT.FRAKTUR], + 0x211D: [0x0052,MML.VARIANT.DOUBLESTRUCK], + 0x2124: [0x005A,MML.VARIANT.DOUBLESTRUCK], + 0x2126: [0x03A9,MML.VARIANT.NORMAL], + 0x2128: [0x005A,MML.VARIANT.FRAKTUR], + 0x212C: [0x0042,MML.VARIANT.SCRIPT], + 0x212D: [0x0043,MML.VARIANT.FRAKTUR], +// 0x212F: [0x0065,MML.VARIANT.SCRIPT], + 0x2130: [0x0045,MML.VARIANT.SCRIPT], + 0x2131: [0x0046,MML.VARIANT.SCRIPT], + 0x2133: [0x004D,MML.VARIANT.SCRIPT], +// 0x2134: [0x006F,MML.VARIANT.SCRIPT], + + 0x2247: 0x2246, // wrong placement of this character + 0x231C: 0x250C, 0x231D:0x2510, // wrong placement of \ulcorner, \urcorner + 0x231E: 0x2514, 0x231F:0x2518, // wrong placement of \llcorner, \lrcorner + + // + // compound symbols not in these fonts + // + 0x2204: "\u2203\u0338", // \not\exists + 0x220C: "\u220B\u0338", // \not\ni + 0x2244: "\u2243\u0338", // \not\simeq + 0x2249: "\u2248\u0338", // \not\approx + 0x2262: "\u2261\u0338", // \not\equiv + 0x226D: "\u224D\u0338", // \not\asymp + 0x2274: "\u2272\u0338", // \not\lesssim + 0x2275: "\u2273\u0338", // \not\gtrsim + 0x2278: "\u2276\u0338", // \not\lessgtr + 0x2279: "\u2277\u0338", // \not\gtrless + 0x2284: "\u2282\u0338", // \not\subset + 0x2285: "\u2283\u0338", // \not\supset + 0x22E2: "\u2291\u0338", // \not\sqsubseteq + 0x22E3: "\u2292\u0338", // \not\sqsupseteq + + 0x2A0C: "\u222C\u222C", // quadruple integral + + 0x2033: "\u2032\u2032", // double prime + 0x2034: "\u2032\u2032\u2032", // triple prime + 0x2036: "\u2035\u2035", // double back prime + 0x2037: "\u2035\u2035\u2035", // trile back prime + 0x2057: "\u2032\u2032\u2032\u2032", // quadruple prime + 0x20DB: "...", // combining three dots above (only works with mover/under) + 0x20DC: "...." // combining four dots above (only works with mover/under) + }, + + REMAPACCENT: { + "\u2192":"\u20D7", + "\u2032":"'", + "\u2035":"`" + }, + REMAPACCENTUNDER: { + }, + + PLANE1MAP: [ + [0x1D400,0x1D419, 0x41, MML.VARIANT.BOLD], + [0x1D41A,0x1D433, 0x61, MML.VARIANT.BOLD], + [0x1D434,0x1D44D, 0x41, MML.VARIANT.ITALIC], + [0x1D44E,0x1D467, 0x61, MML.VARIANT.ITALIC], + [0x1D468,0x1D481, 0x41, MML.VARIANT.BOLDITALIC], + [0x1D482,0x1D49B, 0x61, MML.VARIANT.BOLDITALIC], + [0x1D49C,0x1D4B5, 0x41, MML.VARIANT.SCRIPT], +// [0x1D4B6,0x1D4CF, 0x61, MML.VARIANT.SCRIPT], +// [0x1D4D0,0x1D4E9, 0x41, MML.VARIANT.BOLDSCRIPT], +// [0x1D4EA,0x1D503, 0x61, MML.VARIANT.BOLDSCRIPT], + [0x1D504,0x1D51D, 0x41, MML.VARIANT.FRAKTUR], + [0x1D51E,0x1D537, 0x61, MML.VARIANT.FRAKTUR], + [0x1D538,0x1D551, 0x41, MML.VARIANT.DOUBLESTRUCK], +// [0x1D552,0x1D56B, 0x61, MML.VARIANT.DOUBLESTRUCK], + [0x1D56C,0x1D585, 0x41, MML.VARIANT.BOLDFRAKTUR], + [0x1D586,0x1D59F, 0x61, MML.VARIANT.BOLDFRAKTUR], + [0x1D5A0,0x1D5B9, 0x41, MML.VARIANT.SANSSERIF], + [0x1D5BA,0x1D5D3, 0x61, MML.VARIANT.SANSSERIF], + [0x1D5D4,0x1D5ED, 0x41, MML.VARIANT.BOLDSANSSERIF], + [0x1D5EE,0x1D607, 0x61, MML.VARIANT.BOLDSANSSERIF], + [0x1D608,0x1D621, 0x41, MML.VARIANT.SANSSERIFITALIC], + [0x1D622,0x1D63B, 0x61, MML.VARIANT.SANSSERIFITALIC], +// [0x1D63C,0x1D655, 0x41, MML.VARIANT.SANSSERIFBOLDITALIC], +// [0x1D656,0x1D66F, 0x61, MML.VARIANT.SANSSERIFBOLDITALIC], + [0x1D670,0x1D689, 0x41, MML.VARIANT.MONOSPACE], + [0x1D68A,0x1D6A3, 0x61, MML.VARIANT.MONOSPACE], + + [0x1D6A8,0x1D6C1, 0x391, MML.VARIANT.BOLD], +// [0x1D6C2,0x1D6E1, 0x3B1, MML.VARIANT.BOLD], + [0x1D6E2,0x1D6FA, 0x391, MML.VARIANT.ITALIC], + [0x1D6FC,0x1D71B, 0x3B1, MML.VARIANT.ITALIC], + [0x1D71C,0x1D734, 0x391, MML.VARIANT.BOLDITALIC], + [0x1D736,0x1D755, 0x3B1, MML.VARIANT.BOLDITALIC], + [0x1D756,0x1D76E, 0x391, MML.VARIANT.BOLDSANSSERIF], +// [0x1D770,0x1D78F, 0x3B1, MML.VARIANT.BOLDSANSSERIF], + [0x1D790,0x1D7A8, 0x391, MML.VARIANT.SANSSERIFBOLDITALIC], +// [0x1D7AA,0x1D7C9, 0x3B1, MML.VARIANT.SANSSERIFBOLDITALIC], + + [0x1D7CE,0x1D7D7, 0x30, MML.VARIANT.BOLD], +// [0x1D7D8,0x1D7E1, 0x30, MML.VARIANT.DOUBLESTRUCK], + [0x1D7E2,0x1D7EB, 0x30, MML.VARIANT.SANSSERIF], + [0x1D7EC,0x1D7F5, 0x30, MML.VARIANT.BOLDSANSSERIF], + [0x1D7F6,0x1D7FF, 0x30, MML.VARIANT.MONOSPACE] + ], + + REMAPGREEK: { + 0x391: 0x41, 0x392: 0x42, 0x395: 0x45, 0x396: 0x5A, + 0x397: 0x48, 0x399: 0x49, 0x39A: 0x4B, 0x39C: 0x4D, + 0x39D: 0x4E, 0x39F: 0x4F, 0x3A1: 0x50, 0x3A2: 0x398, + 0x3A4: 0x54, 0x3A7: 0x58, 0x3AA: 0x2207, + 0x3CA: 0x2202, 0x3CB: 0x3F5, 0x3CC: 0x3D1, 0x3CD: 0x3F0, + 0x3CE: 0x3D5, 0x3CF: 0x3F1, 0x3D0: 0x3D6 + }, + + RemapPlane1: function (n,variant) { + for (var i = 0, m = this.PLANE1MAP.length; i < m; i++) { + if (n < this.PLANE1MAP[i][0]) break; + if (n <= this.PLANE1MAP[i][1]) { + n = n - this.PLANE1MAP[i][0] + this.PLANE1MAP[i][2]; + if (this.REMAPGREEK[n]) {n = this.REMAPGREEK[n]} + variant = this.VARIANT[this.PLANE1MAP[i][3]]; + break; + } + } + return {n: n, variant: variant}; + }, + + DELIMITERS: { + 0x0028: // ( + { + dir: V, HW: STDHW, + stretch: {top: [0x239B,SIZE4], ext: [0x239C,SIZE4], bot: [0x239D,SIZE4]} + }, + 0x0029: // ) + { + dir: V, HW: STDHW, + stretch: {top:[0x239E,SIZE4], ext:[0x239F,SIZE4], bot:[0x23A0,SIZE4]} + }, + 0x002F: // / + { + dir: V, HW: STDHW + }, + 0x005B: // [ + { + dir: V, HW: STDHW, + stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} + }, + 0x005C: // \ + { + dir: V, HW: STDHW + }, + 0x005D: // ] + { + dir: V, HW: STDHW, + stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} + }, + 0x007B: // { + { + dir: V, HW: STDHW, + stretch: {top:[0x23A7,SIZE4], mid:[0x23A8,SIZE4], bot:[0x23A9,SIZE4], ext:[0x23AA,SIZE4]} + }, + 0x007C: // | + { + dir: V, HW: [[1000,MAIN]], stretch: {ext:[0x2223,MAIN]} + }, + 0x007D: // } + { + dir: V, HW: STDHW, + stretch: {top: [0x23AB,SIZE4], mid:[0x23AC,SIZE4], bot: [0x23AD,SIZE4], ext: [0x23AA,SIZE4]} + }, + 0x00AF: // macron + { + dir: H, HW: [[.59,MAIN]], stretch: {rep:[0xAF,MAIN]} + }, + 0x02C6: // wide hat + { + dir: H, HW: [[267+250,MAIN],[567+250,SIZE1],[1005+330,SIZE2],[1447+330,SIZE3],[1909,SIZE4]] + }, + 0x02DC: // wide tilde + { + dir: H, HW: [[333+250,MAIN],[555+250,SIZE1],[1000+330,SIZE2],[1443+330,SIZE3],[1887,SIZE4]] + }, + 0x2013: // en-dash + { + dir: H, HW: [[500,MAIN]], stretch: {rep:[0x2013,MAIN]} + }, + 0x2016: // vertical arrow extension + { + dir: V, HW: [[602,SIZE1],[1000,MAIN,null,0x2225]], stretch: {ext:[0x2225,MAIN]} + }, + 0x2190: // left arrow + { + dir: H, HW: [[1000,MAIN]], stretch: {left:[0x2190,MAIN], rep:ARROWREP, fuzz:300} + }, + 0x2191: // \uparrow + { + dir: V, HW: [[888,MAIN]], stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1]} + }, + 0x2192: // right arrow + { + dir: H, HW: [[1000,MAIN]], stretch: {rep:ARROWREP, right:[0x2192,MAIN], fuzz:300} + }, + 0x2193: // \downarrow + { + dir: V, HW: [[888,MAIN]], stretch: {ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x2194: // left-right arrow + { + dir: H, HW: [[1000,MAIN]], + stretch: {left:[0x2190,MAIN], rep:ARROWREP, right:[0x2192,MAIN], fuzz:300} + }, + 0x2195: // \updownarrow + { + dir: V, HW: [[1044,MAIN]], + stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x21D0: // left double arrow + { + dir: H, HW: [[1000,MAIN]], stretch: {left:[0x21D0,MAIN], rep:DARROWREP, fuzz:300} + }, + 0x21D1: // \Uparrow + { + dir: V, HW: [[888,MAIN]], stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1]} + }, + 0x21D2: // right double arrow + { + dir: H, HW: [[1000,MAIN]], stretch: {rep:DARROWREP, right:[0x21D2,MAIN], fuzz:300} + }, + 0x21D3: // \Downarrow + { + dir: V, HW: [[888,MAIN]], stretch: {ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} + }, + 0x21D4: // left-right double arrow + { + dir: H, HW: [[1000,MAIN]], + stretch: {left:[0x21D0,MAIN], rep:DARROWREP, right:[0x21D2,MAIN], fuzz:300} + }, + 0x21D5: // \Updownarrow + { + dir: V, HW: [[1044,MAIN]], + stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} + }, + 0x2212: // horizontal line + { + dir: H, HW: [[.5,MAIN,0,0x2013]], stretch: {rep:ARROWREP, fuzz:300} + }, + 0x221A: // \surd + { + dir: V, HW: STDHW, + stretch: {top:[0xE001,SIZE4], ext:[0xE000,SIZE4], bot:[0x23B7,SIZE4], fullExtenders:true} + }, + 0x2223: // \vert + { + dir: V, HW: [[1000,MAIN]], stretch: {ext:[0x2223,MAIN]} + }, + 0x2225: // \Vert + { + dir: V, HW: [[1000,MAIN]], stretch: {ext:[0x2225,MAIN]} + }, + 0x2308: // \lceil + { + dir: V, HW: STDHW, stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4]} + }, + 0x2309: // \rceil + { + dir: V, HW: STDHW, stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4]} + }, + 0x230A: // \lfloor + { + dir: V, HW: STDHW, stretch: {ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} + }, + 0x230B: // \rfloor + { + dir: V, HW: STDHW, stretch: {ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} + }, + 0x23AA: // \bracevert + { + dir: V, HW: [[320,SIZE4]], + stretch: {top:[0x23AA,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AA,SIZE4]} + }, + 0x23B0: // \lmoustache + { + dir: V, HW: [[989,MAIN]], + stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} + }, + 0x23B1: // \rmoustache + { + dir: V, HW: [[989,MAIN]], + stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} + }, + 0x23D0: // vertical line extension + { + dir: V, HW: [[602,SIZE1],[1000,MAIN,null,0x2223]], stretch: {ext:[0x2223,MAIN]} + }, + 0x23DE: // horizontal brace down + { + dir: H, HW: [], + stretch: {min:.9, left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]} + }, + 0x23DF: // horizontal brace up + { + dir: H, HW: [], + stretch: {min:.9, left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]} + }, + 0x27E8: // \langle + { + dir: V, HW: STDHW + }, + 0x27E9: // \rangle + { + dir: V, HW: STDHW + }, + 0x27EE: // \lgroup + { + dir: V, HW: [[989,MAIN]], + stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} + }, + 0x27EF: // \rgroup + { + dir: V, HW: [[989,MAIN]], + stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} + }, + 0x002D: {alias: 0x2212, dir:H}, // minus + 0x005E: {alias: 0x02C6, dir:H}, // wide hat + 0x005F: {alias: 0x2013, dir:H}, // low line + 0x007E: {alias: 0x02DC, dir:H}, // wide tilde + 0x02C9: {alias: 0x00AF, dir:H}, // macron + 0x0302: {alias: 0x02C6, dir:H}, // wide hat + 0x0303: {alias: 0x02DC, dir:H}, // wide tilde + 0x030C: {alias: 0x02C7, dir:H}, // wide caron + 0x0332: {alias: 0x2013, dir:H}, // combining low line + 0x2014: {alias: 0x2013, dir:H}, // em-dash + 0x2015: {alias: 0x2013, dir:H}, // horizontal line + 0x2017: {alias: 0x2013, dir:H}, // horizontal line + 0x203E: {alias: 0x00AF, dir:H}, // over line + 0x20D7: {alias: 0x2192, dir:H}, // combining over right arrow (vector arrow) + 0x2215: {alias: 0x002F, dir:V}, // division slash + 0x2329: {alias: 0x27E8, dir:V}, // langle + 0x232A: {alias: 0x27E9, dir:V}, // rangle + 0x23AF: {alias: 0x2013, dir:H}, // horizontal line extension + 0x2500: {alias: 0x2013, dir:H}, // horizontal line + 0x2758: {alias: 0x2223, dir:V}, // vertical separator + 0x3008: {alias: 0x27E8, dir:V}, // langle + 0x3009: {alias: 0x27E9, dir:V}, // rangle + 0xFE37: {alias: 0x23DE, dir:H}, // horizontal brace down + 0xFE38: {alias: 0x23DF, dir:H}, // horizontal brace up + + 0x003D: EXTRAH, // equal sign + 0x219E: EXTRAH, // left two-headed arrow + 0x21A0: EXTRAH, // right two-headed arrow + 0x21A4: EXTRAH, // left arrow from bar + 0x21A5: EXTRAV, // up arrow from bar + 0x21A6: EXTRAH, // right arrow from bar + 0x21A7: EXTRAV, // down arrow from bar + 0x21B0: EXTRAV, // up arrow with top leftwards + 0x21B1: EXTRAV, // up arrow with top right + 0x21BC: EXTRAH, // left harpoon with barb up + 0x21BD: EXTRAH, // left harpoon with barb down + 0x21BE: EXTRAV, // up harpoon with barb right + 0x21BF: EXTRAV, // up harpoon with barb left + 0x21C0: EXTRAH, // right harpoon with barb up + 0x21C1: EXTRAH, // right harpoon with barb down + 0x21C2: EXTRAV, // down harpoon with barb right + 0x21C3: EXTRAV, // down harpoon with barb left + 0x21DA: EXTRAH, // left triple arrow + 0x21DB: EXTRAH, // right triple arrow + 0x23B4: EXTRAH, // top square bracket + 0x23B5: EXTRAH, // bottom square bracket + 0x23DC: EXTRAH, // top paren + 0x23DD: EXTRAH, // bottom paren + 0x23E0: EXTRAH, // top tortoise shell + 0x23E1: EXTRAH, // bottom tortoise shell + 0x2906: EXTRAH, // leftwards double arrow from bar + 0x2907: EXTRAH, // rightwards double arrow from bar + 0x294E: EXTRAH, // left barb up right barb up harpoon + 0x294F: EXTRAV, // up barb right down barb right harpoon + 0x2950: EXTRAH, // left barb dow right barb down harpoon + 0x2951: EXTRAV, // up barb left down barb left harpoon + 0x295A: EXTRAH, // leftwards harpoon with barb up from bar + 0x295B: EXTRAH, // rightwards harpoon with barb up from bar + 0x295C: EXTRAV, // up harpoon with barb right from bar + 0x295D: EXTRAV, // down harpoon with barb right from bar + 0x295E: EXTRAH, // leftwards harpoon with barb down from bar + 0x295F: EXTRAH, // rightwards harpoon with barb down from bar + 0x2960: EXTRAV, // up harpoon with barb left from bar + 0x2961: EXTRAV, // down harpoon with barb left from bar + 0x2312: {alias: 0x23DC, dir:H}, // arc + 0x2322: {alias: 0x23DC, dir:H}, // frown + 0x2323: {alias: 0x23DD, dir:H}, // smile + 0x27F5: {alias: 0x2190, dir:H}, // long left arrow + 0x27F6: {alias: 0x2192, dir:H}, // long right arrow + 0x27F7: {alias: 0x2194, dir:H}, // long left-right arrow + 0x27F8: {alias: 0x21D0, dir:H}, // long left double arrow + 0x27F9: {alias: 0x21D2, dir:H}, // long right double arrow + 0x27FA: {alias: 0x21D4, dir:H}, // long left-right double arrow + 0x27FB: {alias: 0x21A4, dir:H}, // long left arrow from bar + 0x27FC: {alias: 0x21A6, dir:H}, // long right arrow from bar + 0x27FD: {alias: 0x2906, dir:H}, // long left double arrow from bar + 0x27FE: {alias: 0x2907, dir:H} // long right double arrow from bar + } + } + }); + + + SVG.FONTDATA.FONTS['MathJax_Main'] = { + directory: 'Main/Regular', + family: 'MathJax_Main', + id: 'MJMAIN', + skew: { + 0x131: 0.0278, + 0x237: 0.0833, + 0x2113: 0.111, + 0x2118: 0.111, + 0x2202: 0.0833 + }, + Ranges: [ + [0x20,0x7F,"BasicLatin"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x2A00,0x2AFF,"SuppMathOperators"] + ], + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [750,250,389,94,333,'94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250'], + + // RIGHT PARENTHESIS + 0x29: [750,250,389,55,294,'60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749'], + + // PLUS SIGN + 0x2B: [583,82,778,56,722,'56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250'], + + // COMMA + 0x2C: [121,195,278,78,210,'78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17'], + + // FULL STOP + 0x2E: [120,0,278,78,199,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], + + // SOLIDUS + 0x2F: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], + + // DIGIT ZERO + 0x30: [666,22,500,39,460,'96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597'], + + // DIGIT ONE + 0x31: [666,0,500,83,427,'213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578'], + + // DIGIT TWO + 0x32: [666,0,500,50,449,'109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429'], + + // DIGIT THREE + 0x33: [665,22,500,42,457,'127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463'], + + // DIGIT FOUR + 0x34: [677,0,500,28,471,'462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293'], + + // DIGIT FIVE + 0x35: [666,22,500,50,449,'164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157'], + + // DIGIT SIX + 0x36: [666,22,500,41,456,'42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397'], + + // DIGIT SEVEN + 0x37: [676,22,500,55,485,'55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458'], + + // DIGIT EIGHT + 0x38: [666,22,500,43,457,'70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21'], + + // DIGIT NINE + 0x39: [666,22,500,42,456,'352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248'], + + // COLON + 0x3A: [430,0,278,78,199,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], + + // SEMICOLON + 0x3B: [430,194,278,78,202,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 85 94 103T137 121Q202 121 202 8Q202 -44 183 -94T144 -169T118 -194Q115 -194 106 -186T95 -174Q94 -171 107 -155T137 -107T160 -38Q161 -32 162 -22T165 -4T165 4Q165 5 161 4T142 0Q110 0 94 18T78 60'], + + // LESS-THAN SIGN + 0x3C: [540,40,778,83,695,'694 -11T694 -19T688 -33T678 -40Q671 -40 524 29T234 166L90 235Q83 240 83 250Q83 261 91 266Q664 540 678 540Q681 540 687 534T694 519T687 505Q686 504 417 376L151 250L417 124Q686 -4 687 -5Q694 -11 694 -19'], + + // EQUALS SIGN + 0x3D: [367,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], + + // GREATER-THAN SIGN + 0x3E: [540,40,778,82,694,'84 520Q84 528 88 533T96 539L99 540Q106 540 253 471T544 334L687 265Q694 260 694 250T687 235Q685 233 395 96L107 -40H101Q83 -38 83 -20Q83 -19 83 -17Q82 -10 98 -1Q117 9 248 71Q326 108 378 132L626 250L378 368Q90 504 86 509Q84 513 84 520'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,278,118,255,'118 -250V750H255V710H158V-210H255V-250H118'], + + // REVERSE SOLIDUS + 0x5C: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,278,22,159,'22 710V750H159V-250H22V-210H119V710H22'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], + + // LATIN SMALL LETTER A + 0x61: [448,11,500,34,493,'137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106'], + + // LATIN SMALL LETTER B + 0x62: [695,11,556,20,522,'307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98'], + + // LATIN SMALL LETTER C + 0x63: [448,12,444,34,415,'370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320'], + + // LATIN SMALL LETTER D + 0x64: [695,11,556,34,535,'376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342'], + + // LATIN SMALL LETTER E + 0x65: [448,11,444,28,415,'28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275'], + + // LATIN SMALL LETTER F + 0x66: [705,0,306,26,372,'273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273'], + + // LATIN SMALL LETTER G + 0x67: [453,206,500,29,485,'329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75'], + + // LATIN SMALL LETTER H + 0x68: [695,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER I + 0x69: [669,0,278,26,255,'69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247'], + + // LATIN SMALL LETTER J + 0x6A: [669,205,306,-55,218,'98 609Q98 637 116 653T160 669Q183 667 200 652T217 609Q217 579 200 564T158 549Q133 549 116 564T98 609ZM28 -163Q58 -168 64 -168Q124 -168 135 -77Q137 -65 137 141T136 353Q132 371 120 377T72 385H52V408Q52 431 54 431L58 432Q62 432 70 432T87 433T108 434T133 436Q151 437 171 438T202 441T214 442H218V184Q217 -36 217 -59T211 -98Q195 -145 153 -175T58 -205Q9 -205 -23 -179T-55 -117Q-55 -94 -40 -79T-2 -64T36 -79T52 -118Q52 -143 28 -163'], + + // LATIN SMALL LETTER K + 0x6B: [695,0,528,20,511,'36 46H50Q89 46 97 60V68Q97 77 97 91T97 124T98 167T98 217T98 272T98 329Q98 366 98 407T98 482T98 542T97 586T97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V463L180 233L240 287Q300 341 304 347Q310 356 310 364Q310 383 289 385H284V431H293Q308 428 412 428Q475 428 484 431H489V385H476Q407 380 360 341Q286 278 286 274Q286 273 349 181T420 79Q434 60 451 53T500 46H511V0H505Q496 3 418 3Q322 3 307 0H299V46H306Q330 48 330 65Q330 72 326 79Q323 84 276 153T228 222L176 176V120V84Q176 65 178 59T189 49Q210 46 238 46H254V0H246Q231 3 137 3T28 0H20V46H36'], + + // LATIN SMALL LETTER L + 0x6C: [695,0,278,26,263,'42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42'], + + // LATIN SMALL LETTER M + 0x6D: [443,0,833,25,819,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER N + 0x6E: [443,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER O + 0x6F: [448,10,500,28,471,'28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30'], + + // LATIN SMALL LETTER P + 0x70: [443,194,556,20,522,'36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218'], + + // LATIN SMALL LETTER Q + 0x71: [442,194,528,33,535,'33 218Q33 308 95 374T236 441H246Q330 441 381 372L387 364Q388 364 404 403L420 442H457V156Q457 -132 458 -134Q462 -142 470 -145Q491 -148 519 -148H535V-194H527L504 -193Q480 -192 453 -192T415 -191Q312 -191 303 -194H295V-148H311Q339 -148 360 -145Q369 -141 371 -135T373 -106V-41V49Q313 -11 236 -11Q154 -11 94 53T33 218ZM376 300Q346 389 278 401Q275 401 269 401T261 402Q211 400 171 350T131 214Q131 137 165 82T253 27Q296 27 328 54T376 118V300'], + + // LATIN SMALL LETTER R + 0x72: [443,0,392,20,364,'36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36'], + + // LATIN SMALL LETTER S + 0x73: [448,11,394,33,359,'295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316'], + + // LATIN SMALL LETTER T + 0x74: [615,10,389,18,333,'27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27'], + + // LATIN SMALL LETTER U + 0x75: [443,11,556,25,542,'383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58'], + + // LATIN SMALL LETTER V + 0x76: [431,11,528,19,508,'338 431Q344 429 422 429Q479 429 503 431H508V385H497Q439 381 423 345Q421 341 356 172T288 -2Q283 -11 263 -11Q244 -11 239 -2Q99 359 98 364Q93 378 82 381T43 385H19V431H25L33 430Q41 430 53 430T79 430T104 429T122 428Q217 428 232 431H240V385H226Q187 384 184 370Q184 366 235 234L286 102L377 341V349Q377 363 367 372T349 383T335 385H331V431H338'], + + // LATIN SMALL LETTER W + 0x77: [431,11,722,18,703,'90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368'], + + // LATIN SMALL LETTER X + 0x78: [431,0,528,11,516,'201 0Q189 3 102 3Q26 3 17 0H11V46H25Q48 47 67 52T96 61T121 78T139 96T160 122T180 150L226 210L168 288Q159 301 149 315T133 336T122 351T113 363T107 370T100 376T94 379T88 381T80 383Q74 383 44 385H16V431H23Q59 429 126 429Q219 429 229 431H237V385Q201 381 201 369Q201 367 211 353T239 315T268 274L272 270L297 304Q329 345 329 358Q329 364 327 369T322 376T317 380T310 384L307 385H302V431H309Q324 428 408 428Q487 428 493 431H499V385H492Q443 385 411 368Q394 360 377 341T312 257L296 236L358 151Q424 61 429 57T446 50Q464 46 499 46H516V0H510H502Q494 1 482 1T457 2T432 2T414 3Q403 3 377 3T327 1L304 0H295V46H298Q309 46 320 51T331 63Q331 65 291 120L250 175Q249 174 219 133T185 88Q181 83 181 74Q181 63 188 55T206 46Q208 46 208 23V0H201'], + + // LATIN SMALL LETTER Y + 0x79: [431,204,528,19,508,'69 -66Q91 -66 104 -80T118 -116Q118 -134 109 -145T91 -160Q84 -163 97 -166Q104 -168 111 -168Q131 -168 148 -159T175 -138T197 -106T213 -75T225 -43L242 0L170 183Q150 233 125 297Q101 358 96 368T80 381Q79 382 78 382Q66 385 34 385H19V431H26L46 430Q65 430 88 429T122 428Q129 428 142 428T171 429T200 430T224 430L233 431H241V385H232Q183 385 185 366L286 112Q286 113 332 227L376 341V350Q376 365 366 373T348 383T334 385H331V431H337H344Q351 431 361 431T382 430T405 429T422 429Q477 429 503 431H508V385H497Q441 380 422 345Q420 343 378 235T289 9T227 -131Q180 -204 113 -204Q69 -204 44 -177T19 -116Q19 -89 35 -78T69 -66'], + + // LATIN SMALL LETTER Z + 0x7A: [431,0,444,28,401,'42 263Q44 270 48 345T53 423V431H393Q399 425 399 415Q399 403 398 402L381 378Q364 355 331 309T265 220L134 41L182 40H206Q254 40 283 46T331 77Q352 105 359 185L361 201Q361 202 381 202H401V196Q401 195 393 103T384 6V0H209L34 1L31 3Q28 8 28 17Q28 30 29 31T160 210T294 394H236Q169 393 152 388Q127 382 113 367Q89 344 82 264V255H42V263'], + + // LEFT CURLY BRACKET + 0x7B: [750,250,500,65,434,'434 -231Q434 -244 428 -250H410Q281 -250 230 -184Q225 -177 222 -172T217 -161T213 -148T211 -133T210 -111T209 -84T209 -47T209 0Q209 21 209 53Q208 142 204 153Q203 154 203 155Q189 191 153 211T82 231Q71 231 68 234T65 250T68 266T82 269Q116 269 152 289T203 345Q208 356 208 377T209 529V579Q209 634 215 656T244 698Q270 724 324 740Q361 748 377 749Q379 749 390 749T408 750H428Q434 744 434 732Q434 719 431 716Q429 713 415 713Q362 710 332 689T296 647Q291 634 291 499V417Q291 370 288 353T271 314Q240 271 184 255L170 250L184 245Q202 239 220 230T262 196T290 137Q291 131 291 1Q291 -134 296 -147Q306 -174 339 -192T415 -213Q429 -213 431 -216Q434 -219 434 -231'], + + // VERTICAL LINE + 0x7C: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], + + // RIGHT CURLY BRACKET + 0x7D: [750,250,500,65,434,'65 731Q65 745 68 747T88 750Q171 750 216 725T279 670Q288 649 289 635T291 501Q292 362 293 357Q306 312 345 291T417 269Q428 269 431 266T434 250T431 234T417 231Q380 231 345 210T298 157Q293 143 292 121T291 -28V-79Q291 -134 285 -156T256 -198Q202 -250 89 -250Q71 -250 68 -247T65 -230Q65 -224 65 -223T66 -218T69 -214T77 -213Q91 -213 108 -210T146 -200T183 -177T207 -139Q208 -134 209 3L210 139Q223 196 280 230Q315 247 330 250Q305 257 280 270Q225 304 212 352L210 362L209 498Q208 635 207 640Q195 680 154 696T77 713Q68 713 67 716T65 731'], + + // DIAERESIS + 0xA8: [669,-554,500,95,405,'95 612Q95 633 112 651T153 669T193 652T210 612Q210 588 194 571T152 554L127 560Q95 577 95 612ZM289 611Q289 634 304 649T335 668Q336 668 340 668T346 669Q369 669 386 652T404 612T387 572T346 554Q323 554 306 570T289 611'], + + // NOT SIGN + 0xAC: [356,-89,667,56,611,'56 323T56 336T70 356H596Q603 353 611 343V102Q598 89 591 89Q587 89 584 90T579 94T575 98T572 102L571 209V316H70Q56 323 56 336'], + + // MACRON + 0xAF: [590,-544,500,69,430,'69 544V590H430V544H69'], + + // DEGREE SIGN + 0xB0: [715,-542,500,147,352,'147 628Q147 669 179 692T244 715Q298 715 325 689T352 629Q352 592 323 567T249 542Q202 542 175 567T147 628ZM313 628Q313 660 300 669T259 678H253Q248 678 242 678T234 679Q217 679 207 674T192 659T188 644T187 629Q187 600 198 590Q210 579 250 579H265Q279 579 288 581T305 595T313 628'], + + // PLUS-MINUS SIGN + 0xB1: [666,0,778,56,722,'56 320T56 333T70 353H369V502Q369 651 371 655Q376 666 388 666Q402 666 405 654T409 596V500V353H707Q722 345 722 333Q722 320 707 313H409V40H707Q722 32 722 20T707 0H70Q56 7 56 20T70 40H369V313H70Q56 320 56 333'], + + // ACUTE ACCENT + 0xB4: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], + + // MULTIPLICATION SIGN + 0xD7: [491,-9,778,147,630,'630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29'], + + // DIVISION SIGN + 0xF7: [537,36,778,56,721,'318 466Q318 500 339 518T386 537Q418 537 438 517T458 466Q458 438 440 417T388 396Q355 396 337 417T318 466ZM56 237T56 250T70 270H706Q721 262 721 250T706 230H70Q56 237 56 250ZM318 34Q318 68 339 86T386 105Q418 105 438 85T458 34Q458 6 440 -15T388 -36Q355 -36 337 -15T318 34'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], + + // CARON + 0x2C7: [644,-513,500,114,385,'114 611L127 630L136 644Q138 644 193 612Q248 581 250 581L306 612Q361 644 363 644L385 611L318 562L249 513L114 611'], + + // MODIFIER LETTER MACRON + 0x2C9: [590,-544,500,69,430,'69 544V590H430V544H69'], + + // MODIFIER LETTER ACUTE ACCENT + 0x2CA: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], + + // MODIFIER LETTER GRAVE ACCENT + 0x2CB: [699,-505,500,106,296,'106 655Q106 671 119 685T150 699Q166 699 177 688Q190 671 222 629T275 561T295 533T282 519L267 505L196 563Q119 626 113 634Q106 643 106 655'], + + // BREVE + 0x2D8: [694,-515,500,92,407,'250 515Q179 515 138 565T92 683V694H129V689Q129 688 129 683T130 675Q137 631 169 599T248 567Q304 567 337 608T370 689V694H407V683Q403 617 361 566T250 515'], + + // DOT ABOVE + 0x2D9: [669,-549,500,190,309,'190 609Q190 637 208 653T252 669Q275 667 292 652T309 609Q309 579 292 564T250 549Q225 549 208 564T190 609'], + + // SMALL TILDE + 0x2DC: [668,-565,500,83,416,'179 601Q164 601 151 595T131 584T111 565L97 577L83 588Q83 589 95 603T121 633T142 654Q165 668 187 668T253 650T320 632Q335 632 348 638T368 649T388 668L402 656L416 645Q375 586 344 572Q330 565 313 565Q292 565 248 583T179 601'], + + // EN DASH + 0x2013: [285,-248,500,0,499,'0 248V285H499V248H0'], + + // EM DASH + 0x2014: [285,-248,1000,0,999,'0 248V285H999V248H0'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-379,278,64,199,'64 494Q64 548 86 597T131 670T160 694Q163 694 172 685T182 672Q182 669 170 656T144 625T116 573T101 501Q101 489 102 489T107 491T120 497T138 500Q163 500 180 483T198 440T181 397T139 379Q110 379 87 405T64 494'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-379,278,78,212,'78 634Q78 659 95 676T138 694Q166 694 189 668T212 579Q212 525 190 476T146 403T118 379Q114 379 105 388T95 401Q95 404 107 417T133 448T161 500T176 572Q176 584 175 584T170 581T157 576T139 573Q114 573 96 590T78 634'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-379,500,128,466,'128 494Q128 528 137 560T158 616T185 658T209 685T223 694T236 685T245 670Q244 668 231 654T204 622T178 571T164 501Q164 489 165 489T170 491T183 497T201 500Q226 500 244 483T262 440T245 397T202 379Q173 379 151 405T128 494ZM332 494Q332 528 341 560T362 616T389 658T413 685T427 694T439 685T449 672Q449 669 437 656T411 625T383 573T368 501Q368 489 369 489T374 491T387 497T405 500Q430 500 448 483T466 440T449 397T406 379Q377 379 355 405T332 494'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-379,500,34,372,'34 634Q34 659 50 676T93 694Q121 694 144 668T168 579Q168 525 146 476T101 403T73 379Q69 379 60 388T50 401Q50 404 62 417T88 448T116 500T131 572Q131 584 130 584T125 581T112 576T94 573Q69 573 52 590T34 634ZM238 634Q238 659 254 676T297 694Q325 694 348 668T372 579Q372 525 350 476T305 403T277 379Q273 379 264 388T254 401Q254 404 266 417T292 448T320 500T335 572Q335 584 334 584T329 581T316 576T298 573Q273 573 256 590T238 634'], + + // DAGGER + 0x2020: [705,216,444,54,389,'182 675Q195 705 222 705Q234 705 243 700T253 691T263 675L262 655Q262 620 252 549T240 454V449Q250 451 288 461T346 472T377 461T389 431Q389 417 379 404T346 390Q327 390 288 401T243 412H240V405Q245 367 250 339T258 301T261 274T263 225Q263 124 255 -41T239 -213Q236 -216 222 -216H217Q206 -216 204 -212T200 -186Q199 -175 199 -168Q181 38 181 225Q181 265 182 280T191 327T204 405V412H201Q196 412 157 401T98 390Q76 390 66 403T55 431T65 458T98 472Q116 472 155 462T205 449Q204 452 204 460T201 490T193 547Q182 619 182 655V675'], + + // DOUBLE DAGGER + 0x2021: [705,205,444,54,389,'181 658Q181 705 222 705T263 658Q263 633 252 572T240 497Q240 496 241 496Q243 496 285 507T345 519Q365 519 376 508T388 478Q388 466 384 458T375 447T361 438H344Q318 438 282 448T241 459Q240 458 240 456Q240 449 251 384T263 297Q263 278 255 267T238 253T222 250T206 252T190 266T181 297Q181 323 192 383T204 458Q204 459 203 459Q198 459 162 449T101 438H84Q74 443 70 446T61 457T56 478Q56 497 67 508T99 519Q117 519 159 508T203 496Q204 496 204 499Q204 507 193 572T181 658ZM181 202Q181 249 222 249T263 202Q263 185 259 161T249 103T240 48V41H243Q248 41 287 52T346 63T377 52T389 22Q389 8 379 -5T346 -19Q327 -19 288 -8T243 3H240V-4Q243 -24 249 -58T259 -117T263 -158Q263 -177 255 -188T238 -202T222 -205T206 -203T190 -189T181 -158Q181 -141 185 -117T195 -59T204 -4V3H201Q196 3 157 -8T98 -19Q76 -19 66 -6T55 22T65 49T98 63Q117 63 156 52T201 41H204V48Q201 68 195 102T185 161T181 202'], + + // HORIZONTAL ELLIPSIS + 0x2026: [120,0,1172,78,1093,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60ZM525 60Q525 84 542 102T585 120Q609 120 627 104T646 61Q646 36 629 18T586 0T543 17T525 60ZM972 60Q972 84 989 102T1032 120Q1056 120 1074 104T1093 61Q1093 36 1076 18T1033 0T990 17T972 60'], + + // PRIME + 0x2032: [560,-43,275,30,262,'79 43Q73 43 52 49T30 61Q30 68 85 293T146 528Q161 560 198 560Q218 560 240 545T262 501Q262 496 260 486Q259 479 173 263T84 45T79 43'], + + // COMBINING RIGHT ARROW ABOVE + 0x20D7: [714,-516,0,-471,-29,'-123 694Q-123 702 -118 708T-103 714Q-93 714 -88 706T-80 687T-67 660T-40 633Q-29 626 -29 615Q-29 606 -36 600T-53 590T-83 571T-121 531Q-135 516 -143 516T-157 522T-163 536T-152 559T-129 584T-116 595H-287L-458 596Q-459 597 -461 599T-466 602T-469 607T-471 615Q-471 622 -458 635H-99Q-123 673 -123 694'], + + // LEFTWARDS ARROW + 0x2190: [511,11,1000,55,944,'944 261T944 250T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H929Q944 261 944 250'], + + // UPWARDS ARROW + 0x2191: [694,193,500,17,483,'27 414Q17 414 17 433Q17 437 17 439T17 444T19 447T20 450T22 452T26 453T30 454T36 456Q80 467 120 494T180 549Q227 607 238 678Q240 694 251 694Q259 694 261 684Q261 677 265 659T284 608T320 549Q340 525 363 507T405 479T440 463T467 455T479 451Q483 447 483 433Q483 413 472 413Q467 413 458 416Q342 448 277 545L270 555V-179Q262 -193 252 -193H250H248Q236 -193 230 -179V555L223 545Q192 499 146 467T70 424T27 414'], + + // RIGHTWARDS ARROW + 0x2192: [511,11,1000,56,944,'56 237T56 250T70 270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H70Q56 237 56 250'], + + // DOWNWARDS ARROW + 0x2193: [694,194,500,17,483,'473 86Q483 86 483 67Q483 63 483 61T483 56T481 53T480 50T478 48T474 47T470 46T464 44Q428 35 391 14T316 -55T264 -168Q264 -170 263 -173T262 -180T261 -184Q259 -194 251 -194Q242 -194 238 -176T221 -121T180 -49Q169 -34 155 -21T125 2T95 20T67 33T44 42T27 47L21 49Q17 53 17 67Q17 87 28 87Q33 87 42 84Q158 52 223 -45L230 -55V312Q230 391 230 482T229 591Q229 662 231 676T243 693Q244 694 251 694Q264 692 270 679V-55L277 -45Q307 1 353 33T430 76T473 86'], + + // LEFT RIGHT ARROW + 0x2194: [511,11,1000,55,944,'263 479Q267 501 271 506T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H835Q729 349 696 475Q691 493 691 500Q691 511 711 511Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q144 292 194 349T263 479'], + + // UP DOWN ARROW + 0x2195: [772,272,500,17,483,'27 492Q17 492 17 511Q17 515 17 517T17 522T19 525T20 528T22 530T26 531T30 532T36 534Q80 545 120 572T180 627Q210 664 223 701T238 755T250 772T261 762Q261 757 264 741T282 691T319 628Q352 589 390 566T454 536L479 529Q483 525 483 511Q483 491 472 491Q467 491 458 494Q342 526 277 623L270 633V-133L277 -123Q307 -77 353 -45T430 -2T473 8Q483 8 483 -11Q483 -15 483 -17T483 -22T481 -25T480 -28T478 -30T474 -31T470 -32T464 -34Q407 -49 364 -84T300 -157T270 -223T261 -262Q259 -272 250 -272Q242 -272 239 -255T223 -201T180 -127Q169 -112 155 -99T125 -76T95 -58T67 -45T44 -36T27 -31L21 -29Q17 -25 17 -11Q17 9 28 9Q33 9 42 6Q158 -26 223 -123L230 -133V633L223 623Q192 577 146 545T70 502T27 492'], + + // NORTH WEST ARROW + 0x2196: [720,195,1000,29,944,'204 662Q257 662 301 676T369 705T394 720Q398 720 407 711T417 697Q417 688 389 671T310 639T212 623Q176 623 153 628Q151 628 221 557T546 232Q942 -164 943 -168Q944 -170 944 -174Q944 -182 938 -188T924 -195Q922 -195 916 -193Q912 -191 517 204Q440 281 326 394T166 553L121 598Q126 589 126 541Q126 438 70 349Q59 332 52 332Q48 332 39 341T29 355Q29 358 38 372T57 407T77 464T86 545Q86 583 78 614T63 663T55 683Q55 693 65 693Q73 693 82 688Q136 662 204 662'], + + // NORTH EAST ARROW + 0x2197: [720,195,1000,55,971,'582 697Q582 701 591 710T605 720Q607 720 630 706T697 677T795 662Q830 662 863 670T914 686T934 694Q942 694 944 685Q944 680 936 663T921 615T913 545Q913 490 927 446T956 379T970 355Q970 351 961 342T947 332Q940 332 929 349Q874 436 874 541Q874 590 878 598L832 553Q787 508 673 395T482 204Q87 -191 83 -193Q77 -195 75 -195Q67 -195 61 -189T55 -174Q55 -170 56 -168Q58 -164 453 232Q707 487 777 557T847 628Q824 623 787 623Q689 623 599 679Q582 690 582 697'], + + // SOUTH EAST ARROW + 0x2198: [695,220,1000,55,970,'55 675Q55 683 60 689T75 695Q77 695 83 693Q87 691 482 296Q532 246 605 174T717 62T799 -20T859 -80T878 -97Q874 -93 874 -41Q874 64 929 151Q940 168 947 168Q951 168 960 159T970 145Q970 143 956 121T928 54T913 -45Q913 -83 920 -114T936 -163T944 -185Q942 -194 934 -194Q932 -194 914 -186T864 -170T795 -162Q743 -162 698 -176T630 -205T605 -220Q601 -220 592 -211T582 -197Q582 -187 611 -170T691 -138T787 -123Q824 -123 847 -128Q848 -128 778 -57T453 268Q58 664 56 668Q55 670 55 675'], + + // SOUTH WEST ARROW + 0x2199: [695,220,1000,29,944,'126 -41Q126 -92 121 -97Q121 -98 139 -80T200 -20T281 61T394 173T517 296Q909 690 916 693Q922 695 924 695Q932 695 938 689T944 674Q944 670 943 668Q942 664 546 268Q292 13 222 -57T153 -128Q176 -123 212 -123Q310 -123 400 -179Q417 -190 417 -197Q417 -201 408 -210T394 -220Q392 -220 369 -206T302 -177T204 -162Q131 -162 67 -194Q63 -195 59 -192T55 -183Q55 -180 62 -163T78 -115T86 -45Q86 10 72 54T44 120T29 145Q29 149 38 158T52 168Q59 168 70 151Q126 62 126 -41'], + + // RIGHTWARDS ARROW FROM BAR + 0x21A6: [511,11,1000,54,944,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H95V155'], + + // LEFTWARDS ARROW WITH HOOK + 0x21A9: [511,11,1126,55,1070,'903 424T903 444T929 464Q976 464 1023 434T1070 347Q1070 316 1055 292T1016 256T971 237T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H926Q929 270 941 271T960 275T978 280T998 290T1015 307Q1030 325 1030 347Q1030 355 1027 364T1014 387T983 411T929 424H928Q903 424 903 444'], + + // RIGHTWARDS ARROW WITH HOOK + 0x21AA: [511,11,1126,55,1070,'55 347Q55 380 72 404T113 441T159 458T197 464Q222 464 222 444Q222 429 204 426T157 417T110 387Q95 369 95 347Q95 339 98 330T111 307T142 283T196 270H961Q845 357 818 493Q818 494 818 496T817 499Q817 511 834 511H837Q846 511 849 510T855 506T858 497T861 481T869 456Q891 389 942 336T1061 261Q1070 258 1070 250Q1070 244 1065 241T1041 231T1003 212Q962 186 932 152T887 85T866 35T858 4Q856 -6 853 -8T837 -11Q817 -11 817 0Q817 7 822 25Q854 151 961 230H196Q149 230 102 260T55 347'], + + // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BC: [511,-230,1000,55,944,'62 230Q56 236 55 244Q55 252 57 255T69 265Q114 292 151 326T208 391T243 448T265 491T273 509Q276 511 288 511Q304 511 306 505Q309 501 303 484Q293 456 279 430T251 383T223 344T196 313T173 291T156 276L148 270H929Q944 261 944 250T929 230H62'], + + // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21BD: [270,11,1000,55,944,'55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], + + // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C0: [511,-230,1000,56,945,'691 500Q691 511 711 511Q720 511 723 510T730 504T735 490T746 464T768 425Q796 378 835 339T897 285T933 263Q941 258 942 256T944 245T937 230H70Q56 237 56 250T70 270H852Q802 308 762 364T707 455T691 500'], + + // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C1: [270,11,1000,56,944,'56 237T56 250T70 270H937Q944 263 944 256Q944 251 944 250T943 246T940 242T933 238Q794 153 734 7Q729 -7 726 -9T711 -11Q695 -11 693 -5Q690 -1 696 16Q721 84 763 139T852 230H70Q56 237 56 250'], + + // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CC: [671,11,1000,55,945,'691 660Q691 671 711 671Q720 671 723 670T730 664T735 650T746 624T768 585Q797 538 836 499T897 445T933 423Q941 418 942 416T944 405T937 390H70Q56 397 56 410T70 430H852Q802 468 762 524T707 615T691 660ZM55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], + + // LEFTWARDS DOUBLE ARROW + 0x21D0: [525,24,1000,56,945,'944 153Q944 140 929 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H929Q944 359 944 347Q944 336 930 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173H930Q931 172 933 171T936 169T938 167T941 164T942 162T943 158T944 153'], + + // UPWARDS DOUBLE ARROW + 0x21D1: [694,194,611,31,579,'228 -179Q227 -180 226 -182T223 -186T221 -189T218 -192T214 -193T208 -194Q196 -194 189 -181L188 125V430L176 419Q122 369 59 338Q46 330 40 330Q38 330 31 337V350Q31 362 33 365T46 374Q60 381 77 390T128 426T190 484T247 567T292 677Q295 688 298 692Q302 694 305 694Q313 694 318 677Q334 619 363 568T420 485T481 427T532 391T564 374Q575 368 577 365T579 350V337Q572 330 570 330Q564 330 551 338Q487 370 435 419L423 430L422 125V-181Q409 -194 401 -194Q397 -194 394 -193T388 -189T385 -184T382 -180V-177V475L373 487Q331 541 305 602Q304 601 300 591T290 571T278 548T260 519T238 488L229 476L228 148V-179'], + + // RIGHTWARDS DOUBLE ARROW + 0x21D2: [525,24,1000,56,944,'580 514Q580 525 596 525Q601 525 604 525T609 525T613 524T615 523T617 520T619 517T622 512Q659 438 720 381T831 300T927 263Q944 258 944 250T935 239T898 228T840 204Q696 134 622 -12Q618 -21 615 -22T600 -24Q580 -24 580 -17Q580 -13 585 0Q620 69 671 123L681 133H70Q56 140 56 153Q56 168 72 173H725L735 181Q774 211 852 250Q851 251 834 259T789 283T735 319L725 327H72Q56 332 56 347Q56 360 70 367H681L671 377Q638 412 609 458T580 514'], + + // DOWNWARDS DOUBLE ARROW + 0x21D3: [694,194,611,31,579,'401 694Q412 694 422 681V375L423 70L435 81Q487 130 551 162Q564 170 570 170Q572 170 579 163V150Q579 138 577 135T564 126Q541 114 518 99T453 48T374 -46T318 -177Q313 -194 305 -194T293 -178T272 -119T225 -31Q158 70 46 126Q35 132 33 135T31 150V163Q38 170 40 170Q46 170 59 162Q122 131 176 81L188 70V375L189 681Q199 694 208 694Q219 694 228 680V352L229 25L238 12Q279 -42 305 -102Q344 -23 373 13L382 25V678Q387 692 401 694'], + + // LEFT RIGHT DOUBLE ARROW + 0x21D4: [526,25,1000,33,966,'308 524Q318 526 323 526Q340 526 340 514Q340 507 336 499Q326 476 314 454T292 417T274 391T260 374L255 368Q255 367 500 367Q744 367 744 368L739 374Q734 379 726 390T707 416T685 453T663 499Q658 511 658 515Q658 525 680 525Q687 524 690 523T695 519T701 507Q766 359 902 287Q921 276 939 269T961 259T966 250Q966 246 965 244T960 240T949 236T930 228T902 213Q763 137 701 -7Q697 -16 695 -19T690 -23T680 -25Q658 -25 658 -15Q658 -11 663 1Q673 24 685 46T707 83T725 109T739 126L744 132Q744 133 500 133Q255 133 255 132L260 126Q265 121 273 110T292 84T314 47T336 1Q341 -11 341 -15Q341 -25 319 -25Q312 -24 309 -23T304 -19T298 -7Q233 141 97 213Q83 221 70 227T51 235T41 239T35 243T34 250T35 256T40 261T51 265T70 273T97 287Q235 363 299 509Q305 522 308 524ZM792 319L783 327H216Q183 294 120 256L110 250L120 244Q173 212 207 181L216 173H783L792 181Q826 212 879 244L889 250L879 256Q826 288 792 319'], + + // UP DOWN DOUBLE ARROW + 0x21D5: [772,272,611,31,579,'290 755Q298 772 305 772T318 757T343 706T393 633Q431 588 473 558T545 515T579 497V484Q579 464 570 464Q564 464 550 470Q485 497 423 550L422 400V100L423 -50Q485 3 550 30Q565 36 570 36Q579 36 579 16V3Q575 -1 549 -12T480 -53T393 -132Q361 -172 342 -208T318 -258T305 -272T293 -258T268 -208T217 -132Q170 -80 128 -51T61 -12T31 3V16Q31 36 40 36Q46 36 61 30Q86 19 109 6T146 -18T173 -38T188 -50V550Q186 549 173 539T147 519T110 495T61 470Q46 464 40 464Q31 464 31 484V497Q34 500 63 513T135 557T217 633Q267 692 290 755ZM374 598Q363 610 351 625T332 651T316 676T305 695L294 676Q282 657 267 636T236 598L228 589V-89L236 -98Q247 -110 259 -125T278 -151T294 -176T305 -195L316 -176Q328 -157 343 -136T374 -98L382 -89V589L374 598'], + + // FOR ALL + 0x2200: [694,22,556,0,556,'0 673Q0 684 7 689T20 694Q32 694 38 680T82 567L126 451H430L473 566Q483 593 494 622T512 668T519 685Q524 694 538 694Q556 692 556 674Q556 670 426 329T293 -15Q288 -22 278 -22T263 -15Q260 -11 131 328T0 673ZM414 410Q414 411 278 411T142 410L278 55L414 410'], + + // PARTIAL DIFFERENTIAL + 0x2202: [715,22,531,42,567,'202 508Q179 508 169 520T158 547Q158 557 164 577T185 624T230 675T301 710L333 715H345Q378 715 384 714Q447 703 489 661T549 568T566 457Q566 362 519 240T402 53Q321 -22 223 -22Q123 -22 73 56Q42 102 42 148V159Q42 276 129 370T322 465Q383 465 414 434T455 367L458 378Q478 461 478 515Q478 603 437 639T344 676Q266 676 223 612Q264 606 264 572Q264 547 246 528T202 508ZM430 306Q430 372 401 400T333 428Q270 428 222 382Q197 354 183 323T150 221Q132 149 132 116Q132 21 232 21Q244 21 250 22Q327 35 374 112Q389 137 409 196T430 306'], + + // THERE EXISTS + 0x2203: [694,0,556,56,500,'56 661T56 674T70 694H487Q497 686 500 679V15Q497 10 487 1L279 0H70Q56 7 56 20T70 40H460V327H84Q70 334 70 347T84 367H460V654H70Q56 661 56 674'], + + // EMPTY SET + 0x2205: [772,78,500,39,460,'331 696Q335 708 339 722T345 744T350 759T357 769T367 772Q374 772 381 767T388 754Q388 746 377 712L366 673L378 661Q460 575 460 344Q460 281 456 234T432 126T373 27Q319 -22 250 -22Q214 -22 180 -7Q168 -3 168 -4L159 -33Q148 -71 142 -75Q138 -78 132 -78Q124 -78 118 -72T111 -60Q111 -52 122 -18L133 21L125 29Q39 111 39 344Q39 596 137 675Q187 716 251 716Q265 716 278 714T296 710T315 703T331 696ZM276 676Q264 679 246 679Q196 679 159 631Q134 597 128 536T121 356Q121 234 127 174T151 80L234 366Q253 430 275 506T308 618L318 654Q318 656 294 669L276 676ZM181 42Q207 16 250 16Q291 16 324 47Q354 78 366 136T378 356Q378 470 372 528T349 616L348 613Q348 611 264 326L181 42'], + + // NABLA + 0x2207: [683,33,833,46,786,'46 676Q46 679 51 683H781Q786 679 786 676Q786 674 617 326T444 -26Q439 -33 416 -33T388 -26Q385 -22 216 326T46 676ZM697 596Q697 597 445 597T193 596Q195 591 319 336T445 80L697 596'], + + // ELEMENT OF + 0x2208: [541,41,667,84,583,'84 250Q84 372 166 450T360 539Q361 539 377 539T419 540T469 540H568Q583 532 583 520Q583 511 570 501L466 500Q355 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H568Q583 262 583 250T568 230H124V228Q124 207 134 177T167 112T231 48T328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 446 -40T417 -41Q262 -41 172 45Q84 127 84 250'], + + // stix-negated (vert) set membership, variant + 0x2209: [716,215,667,84,584,'196 25Q84 109 84 250Q84 372 166 450T360 539Q361 539 375 539T413 540T460 540L547 707Q550 716 563 716Q570 716 575 712T581 703T583 696T505 540H568Q583 532 583 520Q583 511 570 501L484 500L366 270H568Q583 262 583 250T568 230H346L247 38Q284 16 328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 447 -40T419 -41Q304 -41 228 3Q117 -211 115 -212Q111 -215 104 -215T92 -212T86 -204T84 -197Q84 -190 89 -183L196 25ZM214 61L301 230H124V228Q124 196 147 147T214 61ZM321 270L440 500Q353 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H321'], + + // CONTAINS AS MEMBER + 0x220B: [541,40,667,83,582,'83 520Q83 532 98 540H195Q202 540 220 540T249 541Q404 541 494 455Q582 374 582 250Q582 165 539 99T434 0T304 -39Q297 -40 195 -40H98Q83 -32 83 -20Q83 -10 96 0H200Q311 1 337 6Q369 14 401 28Q422 39 445 55Q484 85 508 127T537 191T542 228V230H98Q84 237 84 250T98 270H542V272Q542 280 539 295T527 336T497 391T445 445Q422 461 401 472Q386 479 374 483T347 491T325 495T298 498T273 499T239 500T200 500L96 501Q83 511 83 520'], + + // MINUS SIGN + 0x2212: [270,-230,778,84,694,'84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250'], + + // MINUS-OR-PLUS SIGN + 0x2213: [500,166,778,56,722,'56 467T56 480T70 500H707Q722 492 722 480T707 460H409V187H707Q722 179 722 167Q722 154 707 147H409V0V-93Q409 -144 406 -155T389 -166Q376 -166 372 -155T368 -105Q368 -96 368 -62T369 -2V147H70Q56 154 56 167T70 187H369V460H70Q56 467 56 480'], + + // DIVISION SLASH + 0x2215: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], + + // SET MINUS + 0x2216: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], + + // ASTERISK OPERATOR + 0x2217: [465,-35,500,64,435,'229 286Q216 420 216 436Q216 454 240 464Q241 464 245 464T251 465Q263 464 273 456T283 436Q283 419 277 356T270 286L328 328Q384 369 389 372T399 375Q412 375 423 365T435 338Q435 325 425 315Q420 312 357 282T289 250L355 219L425 184Q434 175 434 161Q434 146 425 136T401 125Q393 125 383 131T328 171L270 213Q283 79 283 63Q283 53 276 44T250 35Q231 35 224 44T216 63Q216 80 222 143T229 213L171 171Q115 130 110 127Q106 124 100 124Q87 124 76 134T64 161Q64 166 64 169T67 175T72 181T81 188T94 195T113 204T138 215T170 230T210 250L74 315Q65 324 65 338Q65 353 74 363T98 374Q106 374 116 368T171 328L229 286'], + + // RING OPERATOR + 0x2218: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251ZM245 403Q188 403 142 361T96 250Q96 183 141 140T250 96Q284 96 313 109T354 135T375 160Q403 197 403 250Q403 313 360 358T245 403'], + + // BULLET OPERATOR + 0x2219: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251'], + + // SQUARE ROOT + 0x221A: [800,200,833,71,853,'95 178Q89 178 81 186T72 200T103 230T169 280T207 309Q209 311 212 311H213Q219 311 227 294T281 177Q300 134 312 108L397 -77Q398 -77 501 136T707 565T814 786Q820 800 834 800Q841 800 846 794T853 782V776L620 293L385 -193Q381 -200 366 -200Q357 -200 354 -197Q352 -195 256 15L160 225L144 214Q129 202 113 190T95 178'], + + // PROPORTIONAL TO + 0x221D: [442,11,778,56,722,'56 124T56 216T107 375T238 442Q260 442 280 438T319 425T352 407T382 385T406 361T427 336T442 315T455 297T462 285L469 297Q555 442 679 442Q687 442 722 437V398H718Q710 400 694 400Q657 400 623 383T567 343T527 294T503 253T495 235Q495 231 520 192T554 143Q625 44 696 44Q717 44 719 46H722V-5Q695 -11 678 -11Q552 -11 457 141Q455 145 454 146L447 134Q362 -11 235 -11Q157 -11 107 56ZM93 213Q93 143 126 87T220 31Q258 31 292 48T349 88T389 137T413 178T421 196Q421 200 396 239T362 288Q322 345 288 366T213 387Q163 387 128 337T93 213'], + + // INFINITY + 0x221E: [442,11,1000,55,944,'55 217Q55 305 111 373T254 442Q342 442 419 381Q457 350 493 303L507 284L514 294Q618 442 747 442Q833 442 888 374T944 214Q944 128 889 59T743 -11Q657 -11 580 50Q542 81 506 128L492 147L485 137Q381 -11 252 -11Q166 -11 111 57T55 217ZM907 217Q907 285 869 341T761 397Q740 397 720 392T682 378T648 359T619 335T594 310T574 285T559 263T548 246L543 238L574 198Q605 158 622 138T664 94T714 61T765 51Q827 51 867 100T907 217ZM92 214Q92 145 131 89T239 33Q357 33 456 193L425 233Q364 312 334 337Q285 380 233 380Q171 380 132 331T92 214'], + + // ANGLE + 0x2220: [694,0,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q67 43 346 361Q397 420 474 508Q595 648 616 671T647 694T661 688T666 674Q666 668 663 663Q662 662 627 622T524 503T390 350L120 41L386 40H653Q666 30 666 20Q666 8 651 0H71'], + + // DIVIDES + 0x2223: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], + + // PARALLEL TO + 0x2225: [750,250,500,132,368,'133 736Q138 750 153 750Q164 750 170 739Q172 735 172 250T170 -239Q164 -250 152 -250Q144 -250 138 -244L137 -243Q133 -241 133 -179T132 250Q132 731 133 736ZM329 739Q334 750 346 750Q353 750 361 744L362 743Q366 741 366 679T367 250T367 -178T362 -243L361 -244Q355 -250 347 -250Q335 -250 329 -239Q327 -235 327 250T329 739'], + + // LOGICAL AND + 0x2227: [598,22,667,55,611,'318 591Q325 598 333 598Q344 598 348 591Q349 590 414 445T545 151T611 -4Q609 -22 591 -22Q588 -22 586 -21T581 -20T577 -17T575 -13T572 -9T570 -4L333 528L96 -4Q87 -20 80 -21Q78 -22 75 -22Q57 -22 55 -4Q55 2 120 150T251 444T318 591'], + + // LOGICAL OR + 0x2228: [598,22,667,55,611,'55 580Q56 587 61 592T75 598Q86 598 96 580L333 48L570 580Q579 596 586 597Q588 598 591 598Q609 598 611 580Q611 574 546 426T415 132T348 -15Q343 -22 333 -22T318 -15Q317 -14 252 131T121 425T55 580'], + + // stix-intersection, serifs + 0x2229: [598,22,667,55,611,'88 -21T75 -21T55 -7V200Q55 231 55 280Q56 414 60 428Q61 430 61 431Q77 500 152 549T332 598Q443 598 522 544T610 405Q611 399 611 194V-7Q604 -22 591 -22Q582 -22 572 -9L570 405Q563 433 556 449T529 485Q498 519 445 538T334 558Q251 558 179 518T96 401Q95 396 95 193V-7Q88 -21 75 -21'], + + // stix-union, serifs + 0x222A: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598'], + + // INTEGRAL + 0x222B: [716,216,417,55,472,'151 -112Q151 -150 106 -161Q106 -165 114 -172T134 -179Q155 -179 170 -146Q181 -120 188 -64T206 101T232 310Q256 472 277 567Q308 716 392 716Q434 716 453 681T472 613Q472 590 458 577T424 564Q404 564 390 578T376 612Q376 650 421 661Q421 663 418 667T407 675T393 679Q387 679 380 675Q360 665 350 619T326 438Q302 190 253 -57Q235 -147 201 -186Q174 -213 138 -216Q93 -216 74 -181T55 -113Q55 -91 69 -78T103 -64Q123 -64 137 -78T151 -112'], + + // TILDE OPERATOR + 0x223C: [367,-133,778,55,722,'55 166Q55 241 101 304T222 367Q260 367 296 349T362 304T421 252T484 208T554 189Q616 189 655 236T694 338Q694 350 698 358T708 367Q722 367 722 334Q722 260 677 197T562 134H554Q517 134 481 152T414 196T355 248T292 293T223 311Q179 311 145 286Q109 257 96 218T80 156T69 133Q55 133 55 166'], + + // WREATH PRODUCT + 0x2240: [583,83,278,55,222,'55 569Q55 583 83 583Q122 583 151 565T194 519T215 464T222 411Q222 360 194 304T139 193T111 89Q111 38 134 -7T195 -55Q222 -57 222 -69Q222 -83 189 -83Q130 -83 93 -33T55 90Q55 130 72 174T110 252T148 328T166 411Q166 462 144 507T83 555Q55 556 55 569'], + + // ASYMPTOTICALLY EQUAL TO + 0x2243: [464,-36,778,55,722,'55 283Q55 356 103 409T217 463Q262 463 297 447T395 382Q431 355 446 344T493 320T554 307H558Q613 307 652 344T694 433Q694 464 708 464T722 432Q722 356 673 304T564 251H554Q510 251 465 275T387 329T310 382T223 407H219Q164 407 122 367Q91 333 85 295T76 253T69 250Q55 250 55 283ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], + + // APPROXIMATELY EQUAL TO + 0x2245: [589,-22,1000,55,722,'55 388Q55 463 101 526T222 589Q260 589 296 571T362 526T421 474T484 430T554 411Q616 411 655 458T694 560Q694 572 698 580T708 589Q722 589 722 556Q722 482 677 419T562 356H554Q517 356 481 374T414 418T355 471T292 515T223 533Q179 533 145 508Q109 479 96 440T80 378T69 355Q55 355 55 388ZM56 236Q56 249 70 256H707Q722 248 722 236Q722 225 708 217L390 216H72Q56 221 56 236ZM56 42Q56 57 72 62H708Q722 52 722 42Q722 30 707 22H70Q56 29 56 42'], + + // ALMOST EQUAL TO + 0x2248: [483,-55,778,55,722,'55 319Q55 360 72 393T114 444T163 472T205 482Q207 482 213 482T223 483Q262 483 296 468T393 413L443 381Q502 346 553 346Q609 346 649 375T694 454Q694 465 698 474T708 483Q722 483 722 452Q722 386 675 338T555 289Q514 289 468 310T388 357T308 404T224 426Q164 426 125 393T83 318Q81 289 69 289Q55 289 55 319ZM55 85Q55 126 72 159T114 210T163 238T205 248Q207 248 213 248T223 249Q262 249 296 234T393 179L443 147Q502 112 553 112Q609 112 649 141T694 220Q694 249 708 249T722 217Q722 153 675 104T555 55Q514 55 468 76T388 123T308 170T224 192Q164 192 125 159T83 84Q80 55 69 55Q55 55 55 85'], + + // EQUIVALENT TO + 0x224D: [484,-16,778,55,722,'55 464Q55 471 60 477T74 484Q80 484 108 464T172 420T268 376T389 356Q436 356 483 368T566 399T630 436T675 467T695 482Q701 484 703 484Q711 484 716 478T722 464Q722 454 707 442Q550 316 389 316Q338 316 286 329T195 362T124 402T76 437T57 456Q55 462 55 464ZM57 45Q66 58 109 88T230 151T381 183Q438 183 494 168T587 135T658 94T703 61T720 45Q722 39 722 36Q722 28 717 22T703 16Q697 16 669 36T606 80T510 124T389 144Q341 144 294 132T211 101T147 64T102 33T82 18Q76 16 74 16Q66 16 61 22T55 36Q55 39 57 45'], + + // APPROACHES THE LIMIT + 0x2250: [670,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM329 610Q329 634 346 652T389 670Q413 670 431 654T450 611Q450 586 433 568T390 550T347 567T329 610'], + + // stix-not (vert) equals + 0x2260: [716,215,778,56,722,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183L306 133H70Q56 140 56 153Q56 168 72 173H327L406 327H72Q56 332 56 347Q56 360 70 367H426Q597 702 602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 692 471 367H707Q722 359 722 347Q722 336 708 328L451 327L371 173H708Q722 163 722 153Q722 140 707 133H351Q175 -210 170 -212Q166 -215 159 -215'], + + // IDENTICAL TO + 0x2261: [464,-36,778,56,722,'56 444Q56 457 70 464H707Q722 456 722 444Q722 430 706 424H72Q56 429 56 444ZM56 237T56 250T70 270H707Q722 262 722 250T707 230H70Q56 237 56 250ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], + + // LESS-THAN OR EQUAL TO + 0x2264: [636,138,778,83,694,'674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], + + // GREATER-THAN OR EQUAL TO + 0x2265: [636,138,778,82,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 356 694 346T687 331Q685 329 395 192L107 56H101Q83 58 83 76Q83 77 83 79Q82 86 98 95Q117 105 248 167Q326 204 378 228L626 346L360 472Q291 505 200 548Q112 589 98 597T83 616ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], + + // MUCH LESS-THAN + 0x226A: [568,67,1000,56,944,'639 -48Q639 -54 634 -60T619 -67H618Q612 -67 536 -26Q430 33 329 88Q61 235 59 239Q56 243 56 250T59 261Q62 266 336 415T615 567L619 568Q622 567 625 567Q639 562 639 548Q639 540 633 534Q632 532 374 391L117 250L374 109Q632 -32 633 -34Q639 -40 639 -48ZM944 -48Q944 -54 939 -60T924 -67H923Q917 -67 841 -26Q735 33 634 88Q366 235 364 239Q361 243 361 250T364 261Q367 266 641 415T920 567L924 568Q927 567 930 567Q944 562 944 548Q944 540 938 534Q937 532 679 391L422 250L679 109Q937 -32 938 -34Q944 -40 944 -48'], + + // MUCH GREATER-THAN + 0x226B: [567,67,1000,55,944,'55 539T55 547T60 561T74 567Q81 567 207 498Q297 449 365 412Q633 265 636 261Q639 255 639 250Q639 241 626 232Q614 224 365 88Q83 -65 79 -66Q76 -67 73 -67Q65 -67 60 -61T55 -47Q55 -39 61 -33Q62 -33 95 -15T193 39T320 109L321 110H322L323 111H324L325 112L326 113H327L329 114H330L331 115H332L333 116L334 117H335L336 118H337L338 119H339L340 120L341 121H342L343 122H344L345 123H346L347 124L348 125H349L351 126H352L353 127H354L355 128L356 129H357L358 130H359L360 131H361L362 132L363 133H364L365 134H366L367 135H368L369 136H370L371 137L372 138H373L374 139H375L376 140L378 141L576 251Q63 530 62 533Q55 539 55 547ZM360 539T360 547T365 561T379 567Q386 567 512 498Q602 449 670 412Q938 265 941 261Q944 255 944 250Q944 241 931 232Q919 224 670 88Q388 -65 384 -66Q381 -67 378 -67Q370 -67 365 -61T360 -47Q360 -39 366 -33Q367 -33 400 -15T498 39T625 109L626 110H627L628 111H629L630 112L631 113H632L634 114H635L636 115H637L638 116L639 117H640L641 118H642L643 119H644L645 120L646 121H647L648 122H649L650 123H651L652 124L653 125H654L656 126H657L658 127H659L660 128L661 129H662L663 130H664L665 131H666L667 132L668 133H669L670 134H671L672 135H673L674 136H675L676 137L677 138H678L679 139H680L681 140L683 141L881 251Q368 530 367 533Q360 539 360 547'], + + // PRECEDES + 0x227A: [539,41,778,84,694,'84 249Q84 262 91 266T117 270Q120 270 126 270T137 269Q388 273 512 333T653 512Q657 539 676 539Q685 538 689 532T694 520V515Q689 469 672 431T626 366T569 320T500 286T435 265T373 249Q379 248 404 242T440 233T477 221T533 199Q681 124 694 -17Q694 -41 674 -41Q658 -41 653 -17Q646 41 613 84T533 154T418 197T284 220T137 229H114Q104 229 98 230T88 235T84 249'], + + // SUCCEEDS + 0x227B: [539,41,778,83,694,'84 517Q84 539 102 539Q115 539 119 529T125 503T137 459T171 404Q277 275 640 269H661Q694 269 694 249T661 229H640Q526 227 439 214T283 173T173 98T124 -17Q118 -41 103 -41Q83 -41 83 -17Q88 29 105 67T151 132T208 178T277 212T342 233T404 249Q401 250 380 254T345 263T302 276T245 299Q125 358 92 468Q84 502 84 517'], + + // SUBSET OF + 0x2282: [541,41,778,84,694,'84 250Q84 372 166 450T360 539Q361 539 370 539T395 539T430 540T475 540T524 540H679Q694 532 694 520Q694 511 681 501L522 500H470H441Q366 500 338 496T266 472Q244 461 224 446T179 404T139 337T124 250V245Q124 157 185 89Q244 25 328 7Q348 2 366 2T522 0H681Q694 -10 694 -20Q694 -32 679 -40H526Q510 -40 480 -40T434 -41Q350 -41 289 -25T172 45Q84 127 84 250'], + + // SUPERSET OF + 0x2283: [541,40,778,83,693,'83 520Q83 532 98 540H251Q267 540 297 540T343 541Q427 541 488 525T605 455Q693 374 693 250Q693 165 650 99T545 0T415 -39Q407 -40 251 -40H98Q83 -32 83 -20Q83 -10 96 0H255H308H337Q412 0 439 4T512 28Q533 39 553 54T599 96T639 163T654 250Q654 341 592 411Q557 449 512 472Q468 491 439 495T335 500H306H255L96 501Q83 511 83 520'], + + // SUBSET OF OR EQUAL TO + 0x2286: [637,138,778,84,694,'84 346Q84 468 166 546T360 635Q361 635 370 635T395 635T430 636T475 636T524 636H679Q694 628 694 616Q694 607 681 597L522 596H470H441Q366 596 338 592T266 568Q244 557 224 542T179 500T139 433T124 346V341Q124 253 185 185Q244 121 328 103Q348 98 366 98T522 96H681Q694 86 694 76Q694 64 679 56H526Q510 56 480 56T434 55Q350 55 289 71T172 141Q84 223 84 346ZM104 -131T104 -118T118 -98H679Q694 -106 694 -118T679 -138H118Q104 -131 104 -118'], + + // SUPERSET OF OR EQUAL TO + 0x2287: [637,138,778,83,693,'83 616Q83 628 98 636H251Q267 636 297 636T343 637Q427 637 488 621T605 551Q693 470 693 346Q693 261 650 195T545 96T415 57Q407 56 251 56H98Q83 64 83 76Q83 86 96 96H255H308H337Q412 96 439 100T512 124Q533 135 553 150T599 192T639 259T654 346Q654 437 592 507Q557 545 512 568Q468 587 439 591T335 596H306H255L96 597Q83 607 83 616ZM84 -131T84 -118T98 -98H659Q674 -106 674 -118T659 -138H98Q84 -131 84 -118'], + + // MULTISET UNION + 0x228E: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598ZM313 406Q313 417 313 435T312 459Q312 483 316 493T333 503T349 494T353 461V406V325H515Q516 325 519 323T527 316T531 305T527 294T520 287T515 285H353V204V152Q353 127 350 117T333 107T316 117T312 152Q312 158 312 175T313 204V285H151Q150 285 147 287T139 294T135 305T139 316T146 323T151 325H313V406'], + + // SQUARE IMAGE OF OR EQUAL TO + 0x2291: [636,138,778,84,714,'94 620Q98 632 110 636H699Q714 628 714 616T699 596H134V96H698Q714 90 714 76Q714 64 699 56H109Q104 59 95 69L94 344V620ZM84 -118Q84 -103 100 -98H698Q714 -104 714 -118Q714 -130 699 -138H98Q84 -131 84 -118'], + + // SQUARE ORIGINAL OF OR EQUAL TO + 0x2292: [636,138,778,64,694,'64 603T64 616T78 636H668Q675 633 683 623V69Q675 59 668 56H78Q64 63 64 76Q64 91 80 96H643V596H78Q64 603 64 616ZM64 -118Q64 -108 79 -98H678Q694 -104 694 -118Q694 -130 679 -138H78Q64 -131 64 -118'], + + // stix-square intersection, serifs + 0x2293: [598,0,667,61,605,'83 0Q79 0 76 1T71 3T67 6T65 9T63 13T61 16V301L62 585Q70 595 76 598H592Q602 590 605 583V15Q598 2 587 0Q583 0 580 1T575 3T571 6T569 9T567 13T565 16V558H101V15Q94 2 83 0'], + + // stix-square union, serifs + 0x2294: [598,0,667,61,605,'77 0Q65 4 61 16V301L62 585Q72 598 81 598Q94 598 101 583V40H565V583Q573 598 585 598Q598 598 605 583V15Q602 10 592 1L335 0H77'], + + // stix-circled plus (with rim) + 0x2295: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM364 542Q308 539 251 509T148 418T96 278V270H369V542H364ZM681 278Q675 338 650 386T592 462T522 509T458 535T412 542H409V270H681V278ZM96 222Q104 150 139 95T219 12T302 -29T366 -42H369V230H96V222ZM681 222V230H409V-42H412Q429 -42 456 -36T521 -10T590 37T649 113T681 222'], + + // CIRCLED MINUS + 0x2296: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM681 278Q669 385 591 463T381 542Q283 542 196 471T96 278V270H681V278ZM275 -42T388 -42T585 32T681 222V230H96V222Q108 107 191 33'], + + // stix-circled times (with rim) + 0x2297: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q531 510 496 523Q446 542 381 542Q324 542 272 519T196 471L389 278L485 375L582 471ZM167 442Q95 362 95 250Q95 137 167 58L359 250L167 442ZM610 58Q682 138 682 250Q682 363 610 442L418 250L610 58ZM196 29Q209 16 230 2T295 -27T388 -42Q409 -42 429 -40T465 -33T496 -23T522 -11T544 1T561 13T574 22T582 29L388 222L196 29'], + + // CIRCLED DIVISION SLASH + 0x2298: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q581 472 571 480T556 491T539 502T517 514T491 525T460 534T424 539T381 542Q272 542 184 460T95 251Q95 198 113 150T149 80L167 58L582 471ZM388 -42Q513 -42 597 44T682 250Q682 363 610 442L196 29Q209 16 229 2T295 -27T388 -42'], + + // CIRCLED DOT OPERATOR + 0x2299: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM682 250Q682 322 649 387T546 497T381 542Q272 542 184 459T95 250Q95 132 178 45T389 -42Q515 -42 598 45T682 250ZM311 250Q311 285 332 304T375 328Q376 328 382 328T392 329Q424 326 445 305T466 250Q466 217 445 195T389 172Q354 172 333 195T311 250'], + + // RIGHT TACK + 0x22A2: [695,0,611,55,555,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V367H540Q555 359 555 347Q555 334 540 327H95V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678'], + + // LEFT TACK + 0x22A3: [695,0,611,54,555,'515 678Q515 679 516 681T518 684T521 688T525 691T530 693T537 694Q548 692 555 679V15Q548 2 537 0Q533 0 530 1T525 3T521 6T519 9T517 13T515 16V327H71Q70 327 67 329T59 336T55 347T59 358T66 365T71 367H515V678'], + + // DOWN TACK + 0x22A4: [668,0,778,55,723,'55 642T55 648T59 659T66 666T71 668H708Q723 660 723 648T708 628H409V15Q402 2 391 0Q387 0 384 1T379 3T375 6T373 9T371 13T369 16V628H71Q70 628 67 630T59 637'], + + // UP TACK + 0x22A5: [669,0,778,54,723,'369 652Q369 653 370 655T372 658T375 662T379 665T384 667T391 668Q402 666 409 653V40H708Q723 32 723 20T708 0H71Q70 0 67 2T59 9T55 20T59 31T66 38T71 40H369V652'], + + // TRUE + 0x22A8: [750,249,867,119,812,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V367H796Q811 359 811 347Q811 336 797 328L479 327H161L159 328V172L161 173H797Q798 172 800 171T803 169T805 167T808 164T809 162T810 158T811 153Q811 140 796 133H159V-235Q151 -249 141 -249H139'], + + // DIAMOND OPERATOR + 0x22C4: [488,-12,500,12,488,'242 486Q245 488 250 488Q256 488 258 486Q262 484 373 373T486 258T488 250T486 242T373 127T258 14Q256 12 250 12Q245 12 242 14Q237 16 127 126T14 242Q12 245 12 250T14 258Q16 263 126 373T242 486ZM439 250L250 439L61 250L250 61L439 250'], + + // DOT OPERATOR + 0x22C5: [310,-190,278,78,199,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250'], + + // STAR OPERATOR + 0x22C6: [486,-16,500,3,497,'210 282Q210 284 225 381T241 480Q241 484 245 484Q249 486 251 486Q258 486 260 477T272 406Q275 390 276 380Q290 286 290 282L388 299Q484 314 487 314H488Q497 314 497 302Q497 297 434 266Q416 257 404 251L315 206L361 118Q372 98 383 75T401 40L407 28Q407 16 395 16Q394 16 392 16L390 17L250 159L110 17L108 16Q106 16 105 16Q93 16 93 28L99 40Q105 52 116 75T139 118L185 206L96 251Q6 296 4 300Q3 301 3 302Q3 314 12 314H13Q16 314 112 299L210 282'], + + // BOWTIE + 0x22C8: [505,5,900,26,873,'833 50T833 250T832 450T659 351T487 250T658 150T832 50Q833 50 833 250ZM873 10Q866 -5 854 -5Q851 -5 845 -3L449 226L260 115Q51 -5 43 -5Q39 -5 35 -1T28 7L26 11V489Q33 505 43 505Q51 505 260 385L449 274L845 503Q851 505 853 505Q866 505 873 490V10ZM412 250L67 450Q66 450 66 250T67 50Q69 51 240 150T412 250'], + + // VERTICAL ELLIPSIS + 0x22EE: [900,30,278,78,199,'78 30Q78 54 95 72T138 90Q162 90 180 74T199 31Q199 6 182 -12T139 -30T96 -13T78 30ZM78 440Q78 464 95 482T138 500Q162 500 180 484T199 441Q199 416 182 398T139 380T96 397T78 440ZM78 840Q78 864 95 882T138 900Q162 900 180 884T199 841Q199 816 182 798T139 780T96 797T78 840'], + + // MIDLINE HORIZONTAL ELLIPSIS + 0x22EF: [310,-190,1172,78,1093,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250ZM525 250Q525 274 542 292T585 310Q609 310 627 294T646 251Q646 226 629 208T586 190T543 207T525 250ZM972 250Q972 274 989 292T1032 310Q1056 310 1074 294T1093 251Q1093 226 1076 208T1033 190T990 207T972 250'], + + // DOWN RIGHT DIAGONAL ELLIPSIS + 0x22F1: [820,-100,1282,133,1148,'133 760Q133 784 150 802T193 820Q217 820 235 804T254 761Q254 736 237 718T194 700T151 717T133 760ZM580 460Q580 484 597 502T640 520Q664 520 682 504T701 461Q701 436 684 418T641 400T598 417T580 460ZM1027 160Q1027 184 1044 202T1087 220Q1111 220 1129 204T1148 161Q1148 136 1131 118T1088 100T1045 117T1027 160'], + + // LEFT CEILING + 0x2308: [750,250,444,174,422,'174 734Q178 746 190 750H298H369Q400 750 411 747T422 730T411 713T372 709Q365 709 345 709T310 710H214V-235Q206 -248 196 -250Q192 -250 189 -249T184 -247T180 -244T178 -241T176 -237T174 -234V734'], + + // RIGHT CEILING + 0x2309: [750,250,444,21,269,'21 717T21 730T32 746T75 750H147H256Q266 742 269 735V-235Q262 -248 251 -250Q247 -250 244 -249T239 -247T235 -244T233 -241T231 -237T229 -234V710H133Q119 710 99 710T71 709Q43 709 32 713'], + + // LEFT FLOOR + 0x230A: [751,251,444,174,423,'174 734Q174 735 175 737T177 740T180 744T184 747T189 749T196 750Q206 748 214 735V-210H310H373Q401 -210 411 -213T422 -230T411 -247T369 -251Q362 -251 338 -251T298 -250H190Q178 -246 174 -234V734'], + + // RIGHT FLOOR + 0x230B: [751,250,444,21,269,'229 734Q229 735 230 737T232 740T235 744T239 747T244 749T251 750Q262 748 269 735V-235Q266 -240 256 -249L147 -250H77Q43 -250 32 -247T21 -230T32 -213T72 -209Q79 -209 99 -209T133 -210H229V734'], + + // stix-small down curve + 0x2322: [388,-122,1000,55,944,'55 141Q55 149 72 174T125 234T209 303T329 360T478 388H526Q649 383 765 319Q814 291 858 250T923 179T944 141Q944 133 938 128T924 122Q914 124 912 125T902 139Q766 328 500 328Q415 328 342 308T225 258T150 199T102 148T84 124Q81 122 75 122Q55 127 55 141'], + + // stix-small up curve + 0x2323: [378,-134,1000,55,944,'923 378Q944 378 944 358Q944 345 912 311T859 259Q710 134 500 134Q288 134 140 259Q55 336 55 358Q55 366 61 372T75 378Q78 378 84 376Q86 376 101 356T147 310T221 257T339 212T500 193Q628 193 734 236Q841 282 903 363Q914 378 923 378'], + + // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + 0x23B0: [744,244,412,56,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 454T239 315T239 247Q240 235 240 124V40Q240 -17 233 -53T201 -130Q155 -206 78 -244H69H64Q58 -244 57 -243T56 -234Q56 -232 56 -231V-225Q56 -218 63 -215Q153 -153 170 -39Q172 -25 173 119V219Q173 245 174 249Q173 258 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], + + // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + 0x23B1: [744,244,412,55,357,'78 744Q153 706 196 640T239 492V376Q239 341 239 314T238 271T238 253Q239 251 239 223V119V49Q239 -39 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 258 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [750,250,389,109,333,'333 -232Q332 -239 327 -244T313 -250Q303 -250 296 -240Q293 -233 202 6T110 250T201 494T296 740Q299 745 306 749L309 750Q312 750 313 750Q331 750 333 732Q333 727 243 489Q152 252 152 250T243 11Q333 -227 333 -232'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [750,250,389,55,279,'55 732Q56 739 61 744T75 750Q85 750 92 740Q95 733 186 494T278 250T187 6T92 -240Q85 -250 75 -250Q67 -250 62 -245T55 -232Q55 -227 145 11Q236 248 236 250T145 489Q55 727 55 732'], + + // MATHEMATICAL LEFT FLATTENED PARENTHESIS + 0x27EE: [744,244,412,173,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 394V331Q240 259 239 250Q240 242 240 119V49Q240 -42 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 260 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], + + // MATHEMATICAL RIGHT FLATTENED PARENTHESIS + 0x27EF: [744,244,412,55,240,'78 744Q153 706 196 640T239 492V376Q239 339 239 311T238 269T238 252Q240 236 240 124V40Q240 -18 233 -53T202 -130Q156 -206 79 -244H70H65Q58 -244 57 -242T56 -231T57 -220T64 -215Q153 -154 170 -39Q173 -18 174 119V247Q173 249 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], + + // LONG LEFTWARDS ARROW + 0x27F5: [511,11,1609,55,1525,'165 270H1510Q1525 262 1525 250T1510 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], + + // LONG RIGHTWARDS ARROW + 0x27F6: [511,11,1638,84,1553,'84 237T84 250T98 270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H98Q84 237 84 250'], + + // LONG LEFT RIGHT ARROW + 0x27F7: [511,11,1859,55,1803,'165 270H1694Q1578 357 1551 493Q1551 494 1551 496T1550 499Q1550 511 1567 511H1570Q1579 511 1582 510T1588 506T1591 497T1594 481T1602 456Q1624 389 1675 336T1794 261Q1803 258 1803 250Q1803 244 1798 241T1774 231T1736 212Q1695 186 1665 152T1620 85T1599 35T1591 4Q1589 -6 1586 -8T1570 -11Q1550 -11 1550 0Q1550 7 1555 25Q1587 151 1694 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], + + // LONG LEFTWARDS DOUBLE ARROW + 0x27F8: [525,24,1609,56,1554,'274 173H1539Q1540 172 1542 171T1545 169T1547 167T1550 164T1551 162T1552 158T1553 153Q1553 140 1538 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1538Q1553 359 1553 347Q1553 336 1539 328L1221 327H903L900 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], + + // LONG RIGHTWARDS DOUBLE ARROW + 0x27F9: [525,24,1638,56,1582,'1218 514Q1218 525 1234 525Q1239 525 1242 525T1247 525T1251 524T1253 523T1255 520T1257 517T1260 512Q1297 438 1358 381T1469 300T1565 263Q1582 258 1582 250T1573 239T1536 228T1478 204Q1334 134 1260 -12Q1256 -21 1253 -22T1238 -24Q1218 -24 1218 -17Q1218 -13 1223 0Q1258 69 1309 123L1319 133H70Q56 140 56 153Q56 168 72 173H1363L1373 181Q1412 211 1490 250Q1489 251 1472 259T1427 283T1373 319L1363 327H710L707 328L390 327H72Q56 332 56 347Q56 360 70 367H1319L1309 377Q1276 412 1247 458T1218 514'], + + // LONG LEFT RIGHT DOUBLE ARROW + 0x27FA: [525,24,1858,56,1802,'1438 514Q1438 525 1454 525Q1459 525 1462 525T1467 525T1471 524T1473 523T1475 520T1477 517T1480 512Q1517 438 1578 381T1689 300T1785 263Q1802 258 1802 250T1793 239T1756 228T1698 204Q1554 134 1480 -12Q1476 -21 1473 -22T1458 -24Q1438 -24 1438 -17Q1438 -13 1443 0Q1478 69 1529 123L1539 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1539L1529 377Q1496 412 1467 458T1438 514ZM274 173H1583L1593 181Q1632 211 1710 250Q1709 251 1692 259T1647 283T1593 319L1583 327H930L927 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], + + // LONG RIGHTWARDS ARROW FROM BAR + 0x27FC: [511,11,1638,54,1553,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H95V155'], + + // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AAF: [636,138,778,84,694,'84 346Q84 359 91 363T117 367Q120 367 126 367T137 366Q388 370 512 430T653 609Q657 636 676 636Q685 635 689 629T694 618V612Q689 566 672 528T626 463T569 417T500 383T435 362T373 346Q379 345 404 339T440 330T477 318T533 296Q592 266 630 223T681 145T694 78Q694 57 674 57Q662 57 657 67T652 92T640 135T606 191Q500 320 137 326H114Q104 326 98 327T88 332T84 346ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'], + + // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [636,138,778,83,694,'84 614Q84 636 102 636Q115 636 119 626T125 600T137 556T171 501Q277 372 640 366H661Q694 366 694 346T661 326H640Q578 325 526 321T415 307T309 280T222 237T156 172T124 83Q122 66 118 62T103 57Q100 57 98 57T95 58T93 59T90 62T85 67Q83 71 83 80Q88 126 105 164T151 229T208 275T277 309T342 330T404 346Q401 347 380 351T345 360T302 373T245 396Q125 455 92 565Q84 599 84 614ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'] + }; + + SVG.FONTDATA.FONTS['MathJax_Math-italic'] = { + directory: 'Math/Italic', + family: 'MathJax_Math', + id: 'MJMATHI', + style: 'italic', + skew: { + 0x41: 0.139, + 0x42: 0.0833, + 0x43: 0.0833, + 0x44: 0.0556, + 0x45: 0.0833, + 0x46: 0.0833, + 0x47: 0.0833, + 0x48: 0.0556, + 0x49: 0.111, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.0278, + 0x4D: 0.0833, + 0x4E: 0.0833, + 0x4F: 0.0833, + 0x50: 0.0833, + 0x51: 0.0833, + 0x52: 0.0833, + 0x53: 0.0833, + 0x54: 0.0833, + 0x55: 0.0278, + 0x58: 0.0833, + 0x5A: 0.0833, + 0x63: 0.0556, + 0x64: 0.167, + 0x65: 0.0556, + 0x66: 0.167, + 0x67: 0.0278, + 0x68: -0.0278, + 0x6C: 0.0833, + 0x6F: 0.0556, + 0x70: 0.0833, + 0x71: 0.0833, + 0x72: 0.0556, + 0x73: 0.0556, + 0x74: 0.0833, + 0x75: 0.0278, + 0x76: 0.0278, + 0x77: 0.0833, + 0x78: 0.0278, + 0x79: 0.0556, + 0x7A: 0.0556, + 0x393: 0.0833, + 0x394: 0.167, + 0x398: 0.0833, + 0x39B: 0.167, + 0x39E: 0.0833, + 0x3A0: 0.0556, + 0x3A3: 0.0833, + 0x3A5: 0.0556, + 0x3A6: 0.0833, + 0x3A8: 0.0556, + 0x3A9: 0.0833, + 0x3B1: 0.0278, + 0x3B2: 0.0833, + 0x3B4: 0.0556, + 0x3B5: 0.0833, + 0x3B6: 0.0833, + 0x3B7: 0.0556, + 0x3B8: 0.0833, + 0x3B9: 0.0556, + 0x3BC: 0.0278, + 0x3BD: 0.0278, + 0x3BE: 0.111, + 0x3BF: 0.0556, + 0x3C1: 0.0833, + 0x3C2: 0.0833, + 0x3C4: 0.0278, + 0x3C5: 0.0278, + 0x3C6: 0.0833, + 0x3C7: 0.0556, + 0x3C8: 0.111, + 0x3D1: 0.0833, + 0x3D5: 0.0833, + 0x3F1: 0.0833, + 0x3F5: 0.0556 + }, + + // SPACE + 0x20: [0,0,250,0,0,''], + + // SOLIDUS + 0x2F: [716,215,778,139,638,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183Q157 -157 378 274T602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 691 406 241T170 -212Q166 -215 159 -215'], + + // LATIN CAPITAL LETTER A + 0x41: [716,0,750,35,726,'208 74Q208 50 254 46Q272 46 272 35Q272 34 270 22Q267 8 264 4T251 0Q249 0 239 0T205 1T141 2Q70 2 50 0H42Q35 7 35 11Q37 38 48 46H62Q132 49 164 96Q170 102 345 401T523 704Q530 716 547 716H555H572Q578 707 578 706L606 383Q634 60 636 57Q641 46 701 46Q726 46 726 36Q726 34 723 22Q720 7 718 4T704 0Q701 0 690 0T651 1T578 2Q484 2 455 0H443Q437 6 437 9T439 27Q443 40 445 43L449 46H469Q523 49 533 63L521 213H283L249 155Q208 86 208 74ZM516 260Q516 271 504 416T490 562L463 519Q447 492 400 412L310 260L413 259Q516 259 516 260'], + + // LATIN CAPITAL LETTER B + 0x42: [683,0,759,35,756,'231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229'], + + // LATIN CAPITAL LETTER C + 0x43: [705,22,715,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252'], + + // LATIN CAPITAL LETTER D + 0x44: [683,0,828,33,803,'287 628Q287 635 230 637Q207 637 200 638T193 647Q193 655 197 667T204 682Q206 683 403 683Q570 682 590 682T630 676Q702 659 752 597T803 431Q803 275 696 151T444 3L430 1L236 0H125H72Q48 0 41 2T33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM703 469Q703 507 692 537T666 584T629 613T590 629T555 636Q553 636 541 636T512 636T479 637H436Q392 637 386 627Q384 623 313 339T242 52Q242 48 253 48T330 47Q335 47 349 47T373 46Q499 46 581 128Q617 164 640 212T683 339T703 469'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,738,31,764,'492 213Q472 213 472 226Q472 230 477 250T482 285Q482 316 461 323T364 330H312Q311 328 277 192T243 52Q243 48 254 48T334 46Q428 46 458 48T518 61Q567 77 599 117T670 248Q680 270 683 272Q690 274 698 274Q718 274 718 261Q613 7 608 2Q605 0 322 0H133Q31 0 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H757Q764 676 764 669Q764 664 751 557T737 447Q735 440 717 440H705Q698 445 698 453L701 476Q704 500 704 528Q704 558 697 578T678 609T643 625T596 632T532 634H485Q397 633 392 631Q388 629 386 622Q385 619 355 499T324 377Q347 376 372 376H398Q464 376 489 391T534 472Q538 488 540 490T557 493Q562 493 565 493T570 492T572 491T574 487T577 483L544 351Q511 218 508 216Q505 213 492 213'], + + // LATIN CAPITAL LETTER F + 0x46: [680,0,643,31,749,'48 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H742Q749 676 749 669Q749 664 736 557T722 447Q720 440 702 440H690Q683 445 683 453Q683 454 686 477T689 530Q689 560 682 579T663 610T626 626T575 633T503 634H480Q398 633 393 631Q388 629 386 623Q385 622 352 492L320 363H375Q378 363 398 363T426 364T448 367T472 374T489 386Q502 398 511 419T524 457T529 475Q532 480 548 480H560Q567 475 567 470Q567 467 536 339T502 207Q500 200 482 200H470Q463 206 463 212Q463 215 468 234T473 274Q473 303 453 310T364 317H309L277 190Q245 66 245 60Q245 46 334 46H359Q365 40 365 39T363 19Q359 6 353 0H336Q295 2 185 2Q120 2 86 2T48 1'], + + // LATIN CAPITAL LETTER G + 0x47: [705,22,786,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q492 659 471 656T418 643T357 615T294 567T236 496T189 394T158 260Q156 242 156 221Q156 173 170 136T206 79T256 45T308 28T353 24Q407 24 452 47T514 106Q517 114 529 161T541 214Q541 222 528 224T468 227H431Q425 233 425 235T427 254Q431 267 437 273H454Q494 271 594 271Q634 271 659 271T695 272T707 272Q721 272 721 263Q721 261 719 249Q714 230 709 228Q706 227 694 227Q674 227 653 224Q646 221 643 215T629 164Q620 131 614 108Q589 6 586 3Q584 1 581 1Q571 1 553 21T530 52Q530 53 528 52T522 47Q448 -22 322 -22Q201 -22 126 55T50 252'], + + // LATIN CAPITAL LETTER H + 0x48: [683,0,831,31,888,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 219 683Q260 681 355 681Q389 681 418 681T463 682T483 682Q499 682 499 672Q499 670 497 658Q492 641 487 638H485Q483 638 480 638T473 638T464 637T455 637Q416 636 405 634T387 623Q384 619 355 500Q348 474 340 442T328 395L324 380Q324 378 469 378H614L615 381Q615 384 646 504Q674 619 674 627T617 637Q594 637 587 639T580 648Q580 650 582 660Q586 677 588 679T604 682Q609 682 646 681T740 680Q802 680 835 681T871 682Q888 682 888 672Q888 645 876 638H874Q872 638 869 638T862 638T853 637T844 637Q805 636 794 634T776 623Q773 618 704 340T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q520 50 522 50T528 55T534 64T540 82T547 110T558 153Q565 181 569 198Q602 330 602 331T457 332H312L279 197Q245 63 245 58Q245 51 253 49T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], + + // LATIN CAPITAL LETTER I + 0x49: [683,0,440,26,504,'43 1Q26 1 26 10Q26 12 29 24Q34 43 39 45Q42 46 54 46H60Q120 46 136 53Q137 53 138 54Q143 56 149 77T198 273Q210 318 216 344Q286 624 286 626Q284 630 284 631Q274 637 213 637H193Q184 643 189 662Q193 677 195 680T209 683H213Q285 681 359 681Q481 681 487 683H497Q504 676 504 672T501 655T494 639Q491 637 471 637Q440 637 407 634Q393 631 388 623Q381 609 337 432Q326 385 315 341Q245 65 245 59Q245 52 255 50T307 46H339Q345 38 345 37T342 19Q338 6 332 0H316Q279 2 179 2Q143 2 113 2T65 2T43 1'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,22,555,57,633,'447 625Q447 637 354 637H329Q323 642 323 645T325 664Q329 677 335 683H352Q393 681 498 681Q541 681 568 681T605 682T619 682Q633 682 633 672Q633 670 630 658Q626 642 623 640T604 637Q552 637 545 623Q541 610 483 376Q420 128 419 127Q397 64 333 21T195 -22Q137 -22 97 8T57 88Q57 130 80 152T132 174Q177 174 182 130Q182 98 164 80T123 56Q115 54 115 53T122 44Q148 15 197 15Q235 15 271 47T324 130Q328 142 387 380T447 625'], + + // LATIN CAPITAL LETTER K + 0x4B: [683,0,849,31,889,'285 628Q285 635 228 637Q205 637 198 638T191 647Q191 649 193 661Q199 681 203 682Q205 683 214 683H219Q260 681 355 681Q389 681 418 681T463 682T483 682Q500 682 500 674Q500 669 497 660Q496 658 496 654T495 648T493 644T490 641T486 639T479 638T470 637T456 637Q416 636 405 634T387 623L306 305Q307 305 490 449T678 597Q692 611 692 620Q692 635 667 637Q651 637 651 648Q651 650 654 662T659 677Q662 682 676 682Q680 682 711 681T791 680Q814 680 839 681T869 682Q889 682 889 672Q889 650 881 642Q878 637 862 637Q787 632 726 586Q710 576 656 534T556 455L509 418L518 396Q527 374 546 329T581 244Q656 67 661 61Q663 59 666 57Q680 47 717 46H738Q744 38 744 37T741 19Q737 6 731 0H720Q680 3 625 3Q503 3 488 0H478Q472 6 472 9T474 27Q478 40 480 43T491 46H494Q544 46 544 71Q544 75 517 141T485 216L427 354L359 301L291 248L268 155Q245 63 245 58Q245 51 253 49T303 46H334Q340 37 340 35Q340 19 333 5Q328 0 317 0Q314 0 280 1T180 2Q118 2 85 2T49 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,2,681,32,647,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 217 683Q271 680 344 680Q485 680 506 683H518Q524 677 524 674T522 656Q517 641 513 637H475Q406 636 394 628Q387 624 380 600T313 336Q297 271 279 198T252 88L243 52Q243 48 252 48T311 46H328Q360 46 379 47T428 54T478 72T522 106T564 161Q580 191 594 228T611 270Q616 273 628 273H641Q647 264 647 262T627 203T583 83T557 9Q555 4 553 3T537 0T494 -1Q483 -1 418 -1T294 0H116Q32 0 32 10Q32 17 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], + + // LATIN CAPITAL LETTER M + 0x4D: [684,0,970,35,1051,'289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629'], + + // LATIN CAPITAL LETTER N + 0x4E: [683,0,803,31,888,'234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637'], + + // LATIN CAPITAL LETTER O + 0x4F: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM637 476Q637 565 591 615T476 665Q396 665 322 605Q242 542 200 428T157 216Q157 126 200 73T314 19Q404 19 485 98T608 313Q637 408 637 476'], + + // LATIN CAPITAL LETTER P + 0x50: [683,0,642,33,751,'287 628Q287 635 230 637Q206 637 199 638T192 648Q192 649 194 659Q200 679 203 681T397 683Q587 682 600 680Q664 669 707 631T751 530Q751 453 685 389Q616 321 507 303Q500 302 402 301H307L277 182Q247 66 247 59Q247 55 248 54T255 50T272 48T305 46H336Q342 37 342 35Q342 19 335 5Q330 0 319 0Q316 0 282 1T182 2Q120 2 87 2T51 1Q33 1 33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM645 554Q645 567 643 575T634 597T609 619T560 635Q553 636 480 637Q463 637 445 637T416 636T404 636Q391 635 386 627Q384 621 367 550T332 412T314 344Q314 342 395 342H407H430Q542 342 590 392Q617 419 631 471T645 554'], + + // LATIN CAPITAL LETTER Q + 0x51: [704,194,791,50,740,'399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18'], + + // LATIN CAPITAL LETTER R + 0x52: [683,21,759,33,755,'230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554'], + + // LATIN CAPITAL LETTER S + 0x53: [705,22,613,52,645,'308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24'], + + // LATIN CAPITAL LETTER T + 0x54: [677,0,584,21,704,'40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40'], + + // LATIN CAPITAL LETTER U + 0x55: [683,22,683,60,767,'107 637Q73 637 71 641Q70 643 70 649Q70 673 81 682Q83 683 98 683Q139 681 234 681Q268 681 297 681T342 682T362 682Q378 682 378 672Q378 670 376 658Q371 641 366 638H364Q362 638 359 638T352 638T343 637T334 637Q295 636 284 634T266 623Q265 621 238 518T184 302T154 169Q152 155 152 140Q152 86 183 55T269 24Q336 24 403 69T501 205L552 406Q599 598 599 606Q599 633 535 637Q511 637 511 648Q511 650 513 660Q517 676 519 679T529 683Q532 683 561 682T645 680Q696 680 723 681T752 682Q767 682 767 672Q767 650 759 642Q756 637 737 637Q666 633 648 597Q646 592 598 404Q557 235 548 205Q515 105 433 42T263 -22Q171 -22 116 34T60 167V183Q60 201 115 421Q164 622 164 628Q164 635 107 637'], + + // LATIN CAPITAL LETTER V + 0x56: [683,22,583,52,769,'52 648Q52 670 65 683H76Q118 680 181 680Q299 680 320 683H330Q336 677 336 674T334 656Q329 641 325 637H304Q282 635 274 635Q245 630 242 620Q242 618 271 369T301 118L374 235Q447 352 520 471T595 594Q599 601 599 609Q599 633 555 637Q537 637 537 648Q537 649 539 661Q542 675 545 679T558 683Q560 683 570 683T604 682T668 681Q737 681 755 683H762Q769 676 769 672Q769 655 760 640Q757 637 743 637Q730 636 719 635T698 630T682 623T670 615T660 608T652 599T645 592L452 282Q272 -9 266 -16Q263 -18 259 -21L241 -22H234Q216 -22 216 -15Q213 -9 177 305Q139 623 138 626Q133 637 76 637H59Q52 642 52 648'], + + // LATIN CAPITAL LETTER W + 0x57: [683,22,944,51,1048,'436 683Q450 683 486 682T553 680Q604 680 638 681T677 682Q695 682 695 674Q695 670 692 659Q687 641 683 639T661 637Q636 636 621 632T600 624T597 615Q597 603 613 377T629 138L631 141Q633 144 637 151T649 170T666 200T690 241T720 295T759 362Q863 546 877 572T892 604Q892 619 873 628T831 637Q817 637 817 647Q817 650 819 660Q823 676 825 679T839 682Q842 682 856 682T895 682T949 681Q1015 681 1034 683Q1048 683 1048 672Q1048 666 1045 655T1038 640T1028 637Q1006 637 988 631T958 617T939 600T927 584L923 578L754 282Q586 -14 585 -15Q579 -22 561 -22Q546 -22 542 -17Q539 -14 523 229T506 480L494 462Q472 425 366 239Q222 -13 220 -15T215 -19Q210 -22 197 -22Q178 -22 176 -15Q176 -12 154 304T131 622Q129 631 121 633T82 637H58Q51 644 51 648Q52 671 64 683H76Q118 680 176 680Q301 680 313 683H323Q329 677 329 674T327 656Q322 641 318 637H297Q236 634 232 620Q262 160 266 136L501 550L499 587Q496 629 489 632Q483 636 447 637Q428 637 422 639T416 648Q416 650 418 660Q419 664 420 669T421 676T424 680T428 682T436 683'], + + // LATIN CAPITAL LETTER X + 0x58: [683,0,828,26,852,'42 0H40Q26 0 26 11Q26 15 29 27Q33 41 36 43T55 46Q141 49 190 98Q200 108 306 224T411 342Q302 620 297 625Q288 636 234 637H206Q200 643 200 645T202 664Q206 677 212 683H226Q260 681 347 681Q380 681 408 681T453 682T473 682Q490 682 490 671Q490 670 488 658Q484 643 481 640T465 637Q434 634 411 620L488 426L541 485Q646 598 646 610Q646 628 622 635Q617 635 609 637Q594 637 594 648Q594 650 596 664Q600 677 606 683H618Q619 683 643 683T697 681T738 680Q828 680 837 683H845Q852 676 852 672Q850 647 840 637H824Q790 636 763 628T722 611T698 593L687 584Q687 585 592 480L505 384Q505 383 536 304T601 142T638 56Q648 47 699 46Q734 46 734 37Q734 35 732 23Q728 7 725 4T711 1Q708 1 678 1T589 2Q528 2 496 2T461 1Q444 1 444 10Q444 11 446 25Q448 35 450 39T455 44T464 46T480 47T506 54Q523 62 523 64Q522 64 476 181L429 299Q241 95 236 84Q232 76 232 72Q232 53 261 47Q262 47 267 47T273 46Q276 46 277 46T280 45T283 42T284 35Q284 26 282 19Q279 6 276 4T261 1Q258 1 243 1T201 2T142 2Q64 2 42 0'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,-1,581,30,763,'66 637Q54 637 49 637T39 638T32 641T30 647T33 664T42 682Q44 683 56 683Q104 680 165 680Q288 680 306 683H316Q322 677 322 674T320 656Q316 643 310 637H298Q242 637 242 624Q242 619 292 477T343 333L346 336Q350 340 358 349T379 373T411 410T454 461Q546 568 561 587T577 618Q577 634 545 637Q528 637 528 647Q528 649 530 661Q533 676 535 679T549 683Q551 683 578 682T657 680Q684 680 713 681T746 682Q763 682 763 673Q763 669 760 657T755 643Q753 637 734 637Q662 632 617 587Q608 578 477 424L348 273L322 169Q295 62 295 57Q295 46 363 46Q379 46 384 45T390 35Q390 33 388 23Q384 6 382 4T366 1Q361 1 324 1T232 2Q170 2 138 2T102 1Q84 1 84 9Q84 14 87 24Q88 27 89 30T90 35T91 39T93 42T96 44T101 45T107 45T116 46T129 46Q168 47 180 50T198 63Q201 68 227 171L252 274L129 623Q128 624 127 625T125 627T122 629T118 631T113 633T105 634T96 635T83 636T66 637'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,0,683,58,723,'58 8Q58 23 64 35Q64 36 329 334T596 635L586 637Q575 637 512 637H500H476Q442 637 420 635T365 624T311 598T266 548T228 469Q227 466 226 463T224 458T223 453T222 450L221 448Q218 443 202 443Q185 443 182 453L214 561Q228 606 241 651Q249 679 253 681Q256 683 487 683H718Q723 678 723 675Q723 673 717 649Q189 54 188 52L185 49H274Q369 50 377 51Q452 60 500 100T579 247Q587 272 590 277T603 282H607Q628 282 628 271Q547 5 541 2Q538 0 300 0H124Q58 0 58 8'], + + // LATIN SMALL LETTER A + 0x61: [441,10,529,33,506,'33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328'], + + // LATIN SMALL LETTER B + 0x62: [694,11,429,40,422,'73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325'], + + // LATIN SMALL LETTER C + 0x63: [442,12,433,34,430,'34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159'], + + // LATIN SMALL LETTER D + 0x64: [694,10,520,33,523,'366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], + + // LATIN SMALL LETTER E + 0x65: [443,11,466,39,430,'39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353'], + + // LATIN SMALL LETTER F + 0x66: [705,205,490,55,550,'118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162'], + + // LATIN SMALL LETTER G + 0x67: [442,205,477,10,480,'311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328'], + + // LATIN SMALL LETTER H + 0x68: [694,11,576,48,555,'137 683Q138 683 209 688T282 694Q294 694 294 685Q294 674 258 534Q220 386 220 383Q220 381 227 388Q288 442 357 442Q411 442 444 415T478 336Q478 285 440 178T402 50Q403 36 407 31T422 26Q450 26 474 56T513 138Q516 149 519 151T535 153Q555 153 555 145Q555 144 551 130Q535 71 500 33Q466 -10 419 -10H414Q367 -10 346 17T325 74Q325 90 361 192T398 345Q398 404 354 404H349Q266 404 205 306L198 293L164 158Q132 28 127 16Q114 -11 83 -11Q69 -11 59 -2T48 16Q48 30 121 320L195 616Q195 629 188 632T149 637H128Q122 643 122 645T124 664Q129 683 137 683'], + + // LATIN SMALL LETTER I + 0x69: [661,11,345,21,302,'184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER J + 0x6A: [661,204,412,-12,403,'297 596Q297 627 318 644T361 661Q378 661 389 651T403 623Q403 595 384 576T340 557Q322 557 310 567T297 596ZM288 376Q288 405 262 405Q240 405 220 393T185 362T161 325T144 293L137 279Q135 278 121 278H107Q101 284 101 286T105 299Q126 348 164 391T252 441Q253 441 260 441T272 442Q296 441 316 432Q341 418 354 401T367 348V332L318 133Q267 -67 264 -75Q246 -125 194 -164T75 -204Q25 -204 7 -183T-12 -137Q-12 -110 7 -91T53 -71Q70 -71 82 -81T95 -112Q95 -148 63 -167Q69 -168 77 -168Q111 -168 139 -140T182 -74L193 -32Q204 11 219 72T251 197T278 308T289 365Q289 372 288 376'], + + // LATIN SMALL LETTER K + 0x6B: [694,11,521,48,503,'121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647'], + + // LATIN SMALL LETTER L + 0x6C: [695,12,298,38,266,'117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59'], + + // LATIN SMALL LETTER M + 0x6D: [443,11,878,21,857,'21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER N + 0x6E: [443,11,600,21,580,'21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER O + 0x6F: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], + + // LATIN SMALL LETTER P + 0x70: [443,194,503,-39,497,'23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102'], + + // LATIN SMALL LETTER Q + 0x71: [442,194,446,33,460,'33 157Q33 258 109 349T280 441Q340 441 372 389Q373 390 377 395T388 406T404 418Q438 442 450 442Q454 442 457 439T460 434Q460 425 391 149Q320 -135 320 -139Q320 -147 365 -148H390Q396 -156 396 -157T393 -175Q389 -188 383 -194H370Q339 -192 262 -192Q234 -192 211 -192T174 -192T157 -193Q143 -193 143 -185Q143 -182 145 -170Q149 -154 152 -151T172 -148Q220 -148 230 -141Q238 -136 258 -53T279 32Q279 33 272 29Q224 -10 172 -10Q117 -10 75 30T33 157ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], + + // LATIN SMALL LETTER R + 0x72: [443,11,451,21,430,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q161 442 183 430T214 408T225 388Q227 382 228 382T236 389Q284 441 347 441H350Q398 441 422 400Q430 381 430 363Q430 333 417 315T391 292T366 288Q346 288 334 299T322 328Q322 376 378 392Q356 405 342 405Q286 405 239 331Q229 315 224 298T190 165Q156 25 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER S + 0x73: [443,10,469,53,419,'131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289'], + + // LATIN SMALL LETTER T + 0x74: [626,11,361,19,330,'26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26'], + + // LATIN SMALL LETTER U + 0x75: [442,11,572,21,551,'21 287Q21 295 30 318T55 370T99 420T158 442Q204 442 227 417T250 358Q250 340 216 246T182 105Q182 62 196 45T238 27T291 44T328 78L339 95Q341 99 377 247Q407 367 413 387T427 416Q444 431 463 431Q480 431 488 421T496 402L420 84Q419 79 419 68Q419 43 426 35T447 26Q469 29 482 57T512 145Q514 153 532 153Q551 153 551 144Q550 139 549 130T540 98T523 55T498 17T462 -8Q454 -10 438 -10Q372 -10 347 46Q345 45 336 36T318 21T296 6T267 -6T233 -11Q189 -11 155 7Q103 38 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER V + 0x76: [443,11,485,21,467,'173 380Q173 405 154 405Q130 405 104 376T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Q21 294 29 316T53 368T97 419T160 441Q202 441 225 417T249 361Q249 344 246 335Q246 329 231 291T200 202T182 113Q182 86 187 69Q200 26 250 26Q287 26 319 60T369 139T398 222T409 277Q409 300 401 317T383 343T365 361T357 383Q357 405 376 424T417 443Q436 443 451 425T467 367Q467 340 455 284T418 159T347 40T241 -11Q177 -11 139 22Q102 54 102 117Q102 148 110 181T151 298Q173 362 173 380'], + + // LATIN SMALL LETTER W + 0x77: [443,11,716,21,690,'580 385Q580 406 599 424T641 443Q659 443 674 425T690 368Q690 339 671 253Q656 197 644 161T609 80T554 12T482 -11Q438 -11 404 5T355 48Q354 47 352 44Q311 -11 252 -11Q226 -11 202 -5T155 14T118 53T104 116Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 293 29 315T52 366T96 418T161 441Q204 441 227 416T250 358Q250 340 217 250T184 111Q184 65 205 46T258 26Q301 26 334 87L339 96V119Q339 122 339 128T340 136T341 143T342 152T345 165T348 182T354 206T362 238T373 281Q402 395 406 404Q419 431 449 431Q468 431 475 421T483 402Q483 389 454 274T422 142Q420 131 420 107V100Q420 85 423 71T442 42T487 26Q558 26 600 148Q609 171 620 213T632 273Q632 306 619 325T593 357T580 385'], + + // LATIN SMALL LETTER X + 0x78: [442,11,572,35,522,'52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289'], + + // LATIN SMALL LETTER Y + 0x79: [443,205,490,21,497,'21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER Z + 0x7A: [442,11,465,35,468,'347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,-1,615,31,721,'49 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H714Q721 676 721 669Q721 664 708 557T694 447Q692 440 674 440H662Q655 445 655 454Q655 455 658 480T661 534Q661 572 652 592Q638 619 603 626T501 634H471Q398 633 393 630Q389 628 386 622Q385 619 315 341T245 60Q245 46 333 46H345Q366 46 366 35Q366 33 363 21T358 6Q356 1 339 1Q334 1 292 1T187 2Q122 2 88 2T49 1'], + + // GREEK CAPITAL LETTER THETA + 0x398: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM640 466Q640 523 625 565T583 628T532 658T479 668Q370 668 273 559T151 255Q150 245 150 213Q150 156 165 116T207 55T259 26T313 17Q385 17 451 63T561 184Q590 234 615 312T640 466ZM510 276Q510 278 512 288L515 298Q515 299 384 299H253L250 285Q246 271 244 268T231 265H227Q216 265 214 266T207 274Q207 278 223 345T244 416Q247 419 260 419H263Q280 419 280 408Q280 406 278 396L275 386Q275 385 406 385H537L540 399Q544 413 546 416T559 419H563Q574 419 576 418T583 410Q583 403 566 339Q549 271 544 267Q542 265 538 265H530H527Q510 265 510 276'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [716,0,694,35,670,'135 2Q114 2 90 2T60 1Q35 1 35 11Q35 28 42 40Q45 46 55 46Q119 46 151 94Q153 97 325 402T498 709Q505 716 526 716Q543 716 549 710Q550 709 560 548T580 224T591 57Q594 52 595 52Q603 47 638 46H663Q670 39 670 35Q669 12 657 0H644Q613 2 530 2Q497 2 469 2T424 2T405 1Q388 1 388 10Q388 15 391 24Q392 27 393 32T395 38T397 41T401 44T406 45T415 46Q473 46 487 64L472 306Q468 365 465 426T459 518L457 550Q456 550 328 322T198 88Q196 80 196 77Q196 49 243 46Q261 46 261 35Q261 34 259 22Q256 7 254 4T240 0Q237 0 211 1T135 2'], + + // GREEK CAPITAL LETTER XI + 0x39E: [678,0,742,53,777,'222 668Q222 670 229 677H654Q677 677 705 677T740 678Q764 678 770 676T777 667Q777 662 764 594Q761 579 757 559T751 528L749 519Q747 512 729 512H717Q710 519 710 525Q712 532 715 559T719 591Q718 595 711 595Q682 598 486 598Q252 598 246 592Q239 587 228 552L216 517Q214 512 197 512H185Q178 517 178 522Q178 524 198 591T222 668ZM227 262Q218 262 215 262T209 266L207 270L227 356Q247 435 250 439Q253 443 260 443H267H280Q287 438 287 433Q287 430 285 420T280 402L278 393Q278 392 431 392H585L590 415Q595 436 598 439T612 443H628Q635 438 635 433Q635 431 615 351T594 268Q592 262 575 262H572Q556 262 556 272Q556 280 560 293L565 313H258L252 292Q248 271 245 267T230 262H227ZM60 0Q53 4 53 11Q53 14 68 89T84 169Q88 176 98 176H104H116Q123 169 123 163Q122 160 117 127T112 88Q112 80 243 80H351H454Q554 80 574 81T597 88V89Q603 100 610 121T622 157T630 174Q633 176 646 176H658Q665 171 665 166Q665 164 643 89T618 7Q616 2 607 1T548 0H335H60'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [681,0,831,31,887,'48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H541Q621 680 709 680T812 681Q841 681 855 681T877 679T886 676T887 670Q887 663 885 656Q880 637 875 635Q871 634 860 634H854Q827 634 794 631Q780 628 775 619Q773 614 704 338T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q528 52 533 61Q536 67 572 209T642 491T678 632Q678 634 533 634H388Q387 631 316 347T245 59Q245 55 246 54T253 50T270 48T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [683,0,780,58,806,'65 0Q58 4 58 11Q58 16 114 67Q173 119 222 164L377 304Q378 305 340 386T261 552T218 644Q217 648 219 660Q224 678 228 681Q231 683 515 683H799Q804 678 806 674Q806 667 793 559T778 448Q774 443 759 443Q747 443 743 445T739 456Q739 458 741 477T743 516Q743 552 734 574T710 609T663 627T596 635T502 637Q480 637 469 637H339Q344 627 411 486T478 341V339Q477 337 477 336L457 318Q437 300 398 265T322 196L168 57Q167 56 188 56T258 56H359Q426 56 463 58T537 69T596 97T639 146T680 225Q686 243 689 246T702 250H705Q726 250 726 239Q726 238 683 123T639 5Q637 1 610 1Q577 0 348 0H65'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [706,0,583,28,700,'45 535Q34 535 31 536T28 544Q28 554 39 578T70 631T126 683T206 705Q230 705 251 698T295 671T330 612T344 514Q344 477 342 473V472Q343 472 347 480T361 509T380 547Q471 704 596 704Q615 704 625 702Q659 692 679 663T700 595Q700 565 696 552T687 537T670 535Q656 535 653 536T649 543Q649 544 649 550T650 562Q650 589 629 605T575 621Q502 621 448 547T365 361Q290 70 290 60Q290 46 379 46H404Q410 40 410 39T408 19Q404 6 398 0H381Q340 2 225 2Q184 2 149 2T94 2T69 1Q61 1 58 1T53 4T51 10Q51 11 53 23Q54 25 55 30T56 36T58 40T60 43T62 44T67 46T73 46T82 46H89Q144 46 163 49T190 62L198 93Q206 124 217 169T241 262T262 350T274 404Q281 445 281 486V494Q281 621 185 621Q147 621 116 601T74 550Q71 539 66 537T45 535'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [683,0,667,24,642,'356 624Q356 637 267 637H243Q237 642 237 645T239 664Q243 677 249 683H264Q342 681 429 681Q565 681 571 683H583Q589 677 589 674T587 656Q582 641 578 637H540Q516 637 504 637T479 633T463 630T454 623T448 613T443 597T438 576Q436 566 434 556T430 539L428 533Q442 533 472 526T543 502T613 451T642 373Q642 301 567 241T386 158L336 150Q332 150 331 146Q310 66 310 60Q310 46 399 46H424Q430 40 430 39T428 19Q424 6 418 0H401Q360 2 247 2Q207 2 173 2T119 2T95 1Q87 1 84 1T79 4T77 10Q77 11 79 23Q80 25 81 30T82 36T84 40T86 43T88 44T93 46T99 46T108 46H115Q170 46 189 49T216 62Q220 74 228 107L239 150L223 152Q139 164 82 205T24 311Q24 396 125 462Q207 517 335 533L346 578Q356 619 356 624ZM130 291Q130 203 241 188H249Q249 190 287 342L325 495H324Q313 495 291 491T229 466T168 414Q130 357 130 291ZM536 393Q536 440 507 463T418 496L341 187L351 189Q443 201 487 255Q536 314 536 393'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [683,0,612,21,692,'216 151Q48 174 48 329Q48 361 56 403T65 458Q65 482 58 494T43 507T28 510T21 520Q21 528 23 534T29 544L32 546H72H94Q110 546 119 544T139 536T154 514T159 476V465Q159 445 149 399T138 314Q142 229 197 201Q223 187 226 190L233 218Q240 246 253 300T280 407Q333 619 333 625Q333 637 244 637H220Q214 642 214 645T216 664Q220 677 226 683H241Q321 681 405 681Q543 681 549 683H560Q566 677 566 674T564 656Q559 641 555 637H517Q448 636 436 628Q429 623 423 600T373 404L320 192Q370 201 419 248Q451 281 469 317T500 400T518 457Q529 486 542 505T569 532T594 543T621 546H644H669Q692 546 692 536Q691 509 676 509Q623 509 593 399Q587 377 579 355T552 301T509 244T446 195T359 159Q324 151 314 151Q311 151 310 150T298 106T287 60Q287 46 376 46H401Q407 40 407 39T405 19Q401 6 395 0H378Q337 2 224 2Q184 2 150 2T96 2T72 1Q64 1 61 1T56 4T54 10Q54 11 56 23Q57 25 58 30T59 36T61 40T63 43T65 44T70 46T76 46T85 46H92Q147 46 166 49T193 62L204 106Q216 149 216 151'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [704,0,772,80,786,'125 84Q127 78 194 76H243V78Q243 122 208 215T165 350Q164 359 162 389Q162 522 272 610Q328 656 396 680T525 704Q628 704 698 661Q734 637 755 601T781 544T786 504Q786 439 747 374T635 226T537 109Q518 81 518 77Q537 76 557 76Q608 76 620 78T640 92Q646 100 656 119T673 155T683 172Q690 173 698 173Q718 173 718 162Q718 161 681 82T642 2Q639 0 550 0H461Q455 5 455 9T458 28Q472 78 510 149T584 276T648 402T677 525Q677 594 636 631T530 668Q476 668 423 641T335 568Q284 499 271 400Q270 388 270 348Q270 298 277 228T285 115Q285 82 280 49T271 6Q269 1 258 1T175 0H87Q83 3 80 7V18Q80 22 82 98Q84 156 85 163T91 172Q94 173 104 173T119 172Q124 169 124 126Q125 104 125 84'], + + // GREEK SMALL LETTER ALPHA + 0x3B1: [442,11,640,34,603,'34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26'], + + // GREEK SMALL LETTER BETA + 0x3B2: [705,194,566,23,573,'29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431'], + + // GREEK SMALL LETTER GAMMA + 0x3B3: [441,216,518,11,543,'31 249Q11 249 11 258Q11 275 26 304T66 365T129 418T206 441Q233 441 239 440Q287 429 318 386T371 255Q385 195 385 170Q385 166 386 166L398 193Q418 244 443 300T486 391T508 430Q510 431 524 431H537Q543 425 543 422Q543 418 522 378T463 251T391 71Q385 55 378 6T357 -100Q341 -165 330 -190T303 -216Q286 -216 286 -188Q286 -138 340 32L346 51L347 69Q348 79 348 100Q348 257 291 317Q251 355 196 355Q148 355 108 329T51 260Q49 251 47 251Q45 249 31 249'], + + // GREEK SMALL LETTER DELTA + 0x3B4: [717,10,444,36,451,'195 609Q195 656 227 686T302 717Q319 716 351 709T407 697T433 690Q451 682 451 662Q451 644 438 628T403 612Q382 612 348 641T288 671T249 657T235 628Q235 584 334 463Q401 379 401 292Q401 169 340 80T205 -10H198Q127 -10 83 36T36 153Q36 286 151 382Q191 413 252 434Q252 435 245 449T230 481T214 521T201 566T195 609ZM112 130Q112 83 136 55T204 27Q233 27 256 51T291 111T309 178T316 232Q316 267 309 298T295 344T269 400L259 396Q215 381 183 342T137 256T118 179T112 130'], + + // GREEK SMALL LETTER EPSILON + 0x3B5: [452,23,466,27,428,'190 -22Q124 -22 76 11T27 107Q27 174 97 232L107 239L99 248Q76 273 76 304Q76 364 144 408T290 452H302Q360 452 405 421Q428 405 428 392Q428 381 417 369T391 356Q382 356 371 365T338 383T283 392Q217 392 167 368T116 308Q116 289 133 272Q142 263 145 262T157 264Q188 278 238 278H243Q308 278 308 247Q308 206 223 206Q177 206 142 219L132 212Q68 169 68 112Q68 39 201 39Q253 39 286 49T328 72T345 94T362 105Q376 103 376 88Q376 79 365 62T334 26T275 -8T190 -22'], + + // GREEK SMALL LETTER ZETA + 0x3B6: [704,204,438,44,471,'296 643Q298 704 324 704Q342 704 342 687Q342 682 339 664T336 633Q336 623 337 618T338 611Q339 612 341 612Q343 614 354 616T374 618L384 619H394Q471 619 471 586Q467 548 386 546H372Q338 546 320 564L311 558Q235 506 175 398T114 190Q114 171 116 155T125 127T137 104T153 86T171 72T192 61T213 53T235 46T256 39L322 16Q389 -10 389 -80Q389 -119 364 -154T300 -202Q292 -204 274 -204Q247 -204 225 -196Q210 -192 193 -182T172 -167Q167 -159 173 -148Q180 -139 191 -139Q195 -139 221 -153T283 -168Q298 -166 310 -152T322 -117Q322 -91 302 -75T250 -51T183 -29T116 4T65 62T44 160Q44 287 121 410T293 590L302 595Q296 613 296 643'], + + // GREEK SMALL LETTER ETA + 0x3B7: [443,216,497,21,503,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q156 442 175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336V326Q503 302 439 53Q381 -182 377 -189Q364 -216 332 -216Q319 -216 310 -208T299 -186Q299 -177 358 57L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // GREEK SMALL LETTER THETA + 0x3B8: [705,10,469,35,462,'35 200Q35 302 74 415T180 610T319 704Q320 704 327 704T339 705Q393 701 423 656Q462 596 462 495Q462 380 417 261T302 66T168 -10H161Q125 -10 99 10T60 63T41 130T35 200ZM383 566Q383 668 330 668Q294 668 260 623T204 521T170 421T157 371Q206 370 254 370L351 371Q352 372 359 404T375 484T383 566ZM113 132Q113 26 166 26Q181 26 198 36T239 74T287 161T335 307L340 324H145Q145 321 136 286T120 208T113 132'], + + // GREEK SMALL LETTER IOTA + 0x3B9: [442,10,354,48,333,'139 -10Q111 -10 92 0T64 25T52 52T48 74Q48 89 55 109T85 199T135 375L137 384Q139 394 140 397T145 409T151 422T160 431T173 439T190 442Q202 442 213 435T225 410Q225 404 214 358T181 238T137 107Q126 74 126 54Q126 43 126 39T130 31T142 27H147Q206 27 255 78Q272 98 281 114T290 138T295 149T313 153Q321 153 324 153T329 152T332 149T332 143Q332 106 276 48T145 -10H139'], + + // GREEK SMALL LETTER KAPPA + 0x3BA: [442,11,576,48,554,'83 -11Q70 -11 62 -4T51 8T49 17Q49 30 96 217T147 414Q160 442 193 442Q205 441 213 435T223 422T225 412Q225 401 208 337L192 270Q193 269 208 277T235 292Q252 304 306 349T396 412T467 431Q489 431 500 420T512 391Q512 366 494 347T449 327Q430 327 418 338T405 368Q405 370 407 380L397 375Q368 360 315 315L253 266L240 257H245Q262 257 300 251T366 230Q422 203 422 150Q422 140 417 114T411 67Q411 26 437 26Q484 26 513 137Q516 149 519 151T535 153Q554 153 554 144Q554 121 527 64T457 -7Q447 -10 431 -10Q386 -10 360 17T333 90Q333 108 336 122T339 146Q339 170 320 186T271 209T222 218T185 221H180L155 122Q129 22 126 16Q113 -11 83 -11'], + + // GREEK SMALL LETTER LAMDA + 0x3BB: [694,12,583,47,557,'166 673Q166 685 183 694H202Q292 691 316 644Q322 629 373 486T474 207T524 67Q531 47 537 34T546 15T551 6T555 2T556 -2T550 -11H482Q457 3 450 18T399 152L354 277L340 262Q327 246 293 207T236 141Q211 112 174 69Q123 9 111 -1T83 -12Q47 -12 47 20Q47 37 61 52T199 187Q229 216 266 252T321 306L338 322Q338 323 288 462T234 612Q214 657 183 657Q166 657 166 673'], + + // GREEK SMALL LETTER MU + 0x3BC: [442,216,603,23,580,'58 -216Q44 -216 34 -208T23 -186Q23 -176 96 116T173 414Q186 442 219 442Q231 441 239 435T249 423T251 413Q251 401 220 279T187 142Q185 131 185 107V99Q185 26 252 26Q261 26 270 27T287 31T302 38T315 45T327 55T338 65T348 77T356 88T365 100L372 110L408 253Q444 395 448 404Q461 431 491 431Q504 431 512 424T523 412T525 402L449 84Q448 79 448 68Q448 43 455 35T476 26Q485 27 496 35Q517 55 537 131Q543 151 547 152Q549 153 557 153H561Q580 153 580 144Q580 138 575 117T555 63T523 13Q510 0 491 -8Q483 -10 467 -10Q446 -10 429 -4T402 11T385 29T376 44T374 51L368 45Q362 39 350 30T324 12T288 -4T246 -11Q199 -11 153 12L129 -85Q108 -167 104 -180T92 -202Q76 -216 58 -216'], + + // GREEK SMALL LETTER NU + 0x3BD: [442,2,494,45,530,'74 431Q75 431 146 436T219 442Q231 442 231 434Q231 428 185 241L137 51H140L150 55Q161 59 177 67T214 86T261 119T312 165Q410 264 445 394Q458 442 496 442Q509 442 519 434T530 411Q530 390 516 352T469 262T388 162T267 70T106 5Q81 -2 71 -2Q66 -2 59 -1T51 1Q45 5 45 11Q45 13 88 188L132 364Q133 377 125 380T86 385H65Q59 391 59 393T61 412Q65 431 74 431'], + + // GREEK SMALL LETTER XI + 0x3BE: [704,205,438,21,443,'268 632Q268 704 296 704Q314 704 314 687Q314 682 311 664T308 635T309 620V616H315Q342 619 360 619Q443 619 443 586Q439 548 358 546H344Q326 546 317 549T290 566Q257 550 226 505T195 405Q195 381 201 364T211 342T218 337Q266 347 298 347Q375 347 375 314Q374 297 359 288T327 277T280 275Q234 275 208 283L195 286Q149 260 119 214T88 130Q88 116 90 108Q101 79 129 63T229 20Q238 17 243 15Q337 -21 354 -33Q383 -53 383 -94Q383 -137 351 -171T273 -205Q240 -205 202 -190T158 -167Q156 -163 156 -159Q156 -151 161 -146T176 -140Q182 -140 189 -143Q232 -168 274 -168Q286 -168 292 -165Q313 -151 313 -129Q313 -112 301 -104T232 -75Q214 -68 204 -64Q198 -62 171 -52T136 -38T107 -24T78 -8T56 12T36 37T26 66T21 103Q21 149 55 206T145 301L154 307L148 313Q141 319 136 323T124 338T111 358T103 382T99 413Q99 471 143 524T259 602L271 607Q268 618 268 632'], + + // GREEK SMALL LETTER OMICRON + 0x3BF: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], + + // GREEK SMALL LETTER PI + 0x3C0: [431,11,570,19,573,'132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11'], + + // GREEK SMALL LETTER RHO + 0x3C1: [442,216,517,23,510,'58 -216Q25 -216 23 -186Q23 -176 73 26T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 219 486 165T425 74T345 13T266 -10H255H248Q197 -10 165 35L160 41L133 -71Q108 -168 104 -181T92 -202Q76 -216 58 -216ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q217 269 193 170L176 102Q193 26 260 26Q298 26 334 62Q367 92 389 158T418 266T424 322'], + + // GREEK SMALL LETTER FINAL SIGMA + 0x3C2: [442,107,363,30,405,'31 207Q31 306 115 374T302 442Q341 442 373 430T405 400Q405 392 399 383T379 374Q373 375 348 390T296 405Q222 405 160 357T98 249Q98 232 103 218T112 195T132 175T154 159T186 141T219 122Q234 114 255 102T286 85T299 78L302 74Q306 71 308 69T315 61T322 51T328 40T332 25T334 8Q334 -31 305 -69T224 -107Q194 -107 163 -92Q156 -88 156 -80Q156 -73 162 -67T178 -61Q186 -61 190 -63Q209 -71 224 -71Q244 -71 253 -59T263 -30Q263 -25 263 -21T260 -12T255 -4T248 3T239 9T227 17T213 25T195 34T174 46Q170 48 150 58T122 74T97 90T70 112T51 137T36 169T31 207'], + + // GREEK SMALL LETTER SIGMA + 0x3C3: [431,11,571,31,572,'184 -11Q116 -11 74 34T31 147Q31 247 104 333T274 430Q275 431 414 431H552Q553 430 555 429T559 427T562 425T565 422T567 420T569 416T570 412T571 407T572 401Q572 357 507 357Q500 357 490 357T476 358H416L421 348Q439 310 439 263Q439 153 359 71T184 -11ZM361 278Q361 358 276 358Q152 358 115 184Q114 180 114 178Q106 141 106 117Q106 67 131 47T188 26Q242 26 287 73Q316 103 334 153T356 233T361 278'], + + // GREEK SMALL LETTER TAU + 0x3C4: [431,13,437,18,517,'39 284Q18 284 18 294Q18 301 45 338T99 398Q134 425 164 429Q170 431 332 431Q492 431 497 429Q517 424 517 402Q517 388 508 376T485 360Q479 358 389 358T299 356Q298 355 283 274T251 109T233 20Q228 5 215 -4T186 -13Q153 -13 153 20V30L203 192Q214 228 227 272T248 336L254 357Q254 358 208 358Q206 358 197 358T183 359Q105 359 61 295Q56 287 53 286T39 284'], + + // GREEK SMALL LETTER UPSILON + 0x3C5: [443,10,540,21,523,'413 384Q413 406 432 424T473 443Q492 443 507 425T523 367Q523 334 508 270T468 153Q424 63 373 27T282 -10H268Q220 -10 186 2T135 36T111 78T104 121Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441Q200 441 225 419T250 355Q248 336 247 334Q247 331 232 291T201 199T185 118Q185 68 211 47T275 26Q317 26 355 57T416 132T452 216T465 277Q465 301 457 318T439 343T421 361T413 384'], + + // GREEK SMALL LETTER PHI + 0x3C6: [442,218,654,50,618,'92 210Q92 176 106 149T142 108T185 85T220 72L235 70L237 71L250 112Q268 170 283 211T322 299T370 375T429 423T502 442Q547 442 582 410T618 302Q618 224 575 152T457 35T299 -10Q273 -10 273 -12L266 -48Q260 -83 252 -125T241 -179Q236 -203 215 -212Q204 -218 190 -218Q159 -215 159 -185Q159 -175 214 -2L209 0Q204 2 195 5T173 14T147 28T120 46T94 71T71 103T56 142T50 190Q50 238 76 311T149 431H162Q183 431 183 423Q183 417 175 409Q134 361 114 300T92 210ZM574 278Q574 320 550 344T486 369Q437 369 394 329T323 218Q309 184 295 109L286 64Q304 62 306 62Q423 62 498 131T574 278'], + + // GREEK SMALL LETTER CHI + 0x3C7: [443,204,626,24,600,'576 -125Q576 -147 547 -175T487 -204H476Q394 -204 363 -157Q334 -114 293 26L284 59Q283 58 248 19T170 -66T92 -151T53 -191Q49 -194 43 -194Q36 -194 31 -189T25 -177T38 -154T151 -30L272 102L265 131Q189 405 135 405Q104 405 87 358Q86 351 68 351Q48 351 48 361Q48 369 56 386T89 423T148 442Q224 442 258 400Q276 375 297 320T330 222L341 180Q344 180 455 303T573 429Q579 431 582 431Q600 431 600 414Q600 407 587 392T477 270Q356 138 353 134L362 102Q392 -10 428 -89T490 -168Q504 -168 517 -156T536 -126Q539 -116 543 -115T557 -114T571 -115Q576 -118 576 -125'], + + // GREEK SMALL LETTER PSI + 0x3C8: [694,205,651,21,634,'161 441Q202 441 226 417T250 358Q250 338 218 252T187 127Q190 85 214 61Q235 43 257 37Q275 29 288 29H289L371 360Q455 691 456 692Q459 694 472 694Q492 694 492 687Q492 678 411 356Q329 28 329 27T335 26Q421 26 498 114T576 278Q576 302 568 319T550 343T532 361T524 384Q524 405 541 424T583 443Q602 443 618 425T634 366Q634 337 623 288T605 220Q573 125 492 57T329 -11H319L296 -104Q272 -198 272 -199Q270 -205 252 -205H239Q233 -199 233 -197Q233 -192 256 -102T279 -9Q272 -8 265 -8Q106 14 106 139Q106 174 139 264T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441'], + + // GREEK SMALL LETTER OMEGA + 0x3C9: [443,12,622,15,604,'495 384Q495 406 514 424T555 443Q574 443 589 425T604 364Q604 334 592 278T555 155T483 38T377 -11Q297 -11 267 66Q266 68 260 61Q201 -11 125 -11Q15 -11 15 139Q15 230 56 325T123 434Q135 441 147 436Q160 429 160 418Q160 406 140 379T94 306T62 208Q61 202 61 187Q61 124 85 100T143 76Q201 76 245 129L253 137V156Q258 297 317 297Q348 297 348 261Q348 243 338 213T318 158L308 135Q309 133 310 129T318 115T334 97T358 83T393 76Q456 76 501 148T546 274Q546 305 533 325T508 357T495 384'], + + // GREEK THETA SYMBOL + 0x3D1: [705,11,591,21,563,'537 500Q537 474 533 439T524 383L521 362Q558 355 561 351Q563 349 563 345Q563 321 552 318Q542 318 521 323L510 326Q496 261 459 187T362 51T241 -11Q100 -11 100 105Q100 139 127 242T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287Q21 291 27 313T47 368T79 418Q103 442 134 442Q169 442 201 419T233 344Q232 330 206 228T180 98Q180 26 247 26Q292 26 332 90T404 260L427 349Q422 349 398 359T339 392T289 440Q265 476 265 520Q265 590 312 647T417 705Q463 705 491 670T528 592T537 500ZM464 564Q464 668 413 668Q373 668 339 622T304 522Q304 494 317 470T349 431T388 406T421 391T435 387H436L443 415Q450 443 457 485T464 564'], + + // GREEK PHI SYMBOL + 0x3D5: [694,205,596,42,579,'409 688Q413 694 421 694H429H442Q448 688 448 686Q448 679 418 563Q411 535 404 504T392 458L388 442Q388 441 397 441T429 435T477 418Q521 397 550 357T579 260T548 151T471 65T374 11T279 -10H275L251 -105Q245 -128 238 -160Q230 -192 227 -198T215 -205H209Q189 -205 189 -198Q189 -193 211 -103L234 -11Q234 -10 226 -10Q221 -10 206 -8T161 6T107 36T62 89T43 171Q43 231 76 284T157 370T254 422T342 441Q347 441 348 445L378 567Q409 686 409 688ZM122 150Q122 116 134 91T167 53T203 35T237 27H244L337 404Q333 404 326 403T297 395T255 379T211 350T170 304Q152 276 137 237Q122 191 122 150ZM500 282Q500 320 484 347T444 385T405 400T381 404H378L332 217L284 29Q284 27 285 27Q293 27 317 33T357 47Q400 66 431 100T475 170T494 234T500 282'], + + // GREEK PI SYMBOL + 0x3D6: [431,10,828,19,823,'206 -10Q158 -10 136 24T114 110Q114 233 199 349L205 358H184Q144 358 121 347Q108 340 95 330T75 312T61 295T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 532 431Q799 431 803 430Q823 423 823 402Q823 377 801 364Q790 358 766 358Q748 358 748 357Q748 355 749 348T752 327T754 297Q754 258 738 207T693 107T618 24T520 -10Q488 -10 466 2T432 36T416 77T411 120Q411 128 410 128T404 122Q373 71 323 31T206 -10ZM714 296Q714 316 707 358H251Q250 357 244 348T230 328T212 301T193 267T176 229T164 187T159 144Q159 62 222 62Q290 62 349 127T432 285Q433 286 434 288T435 291T437 293T440 294T444 294T452 294H466Q472 288 472 286Q472 285 464 244T456 170Q456 62 534 62Q604 62 659 139T714 296'], + + // GREEK RHO SYMBOL + 0x3F1: [442,194,517,67,510,'205 -174Q136 -174 102 -153T67 -76Q67 -25 91 85T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 169 431 80T253 -10Q226 -10 204 -2T169 19T146 44T132 64L128 73Q128 72 124 53T116 5T112 -44Q112 -68 117 -78T150 -95T236 -102Q327 -102 356 -111T386 -154Q386 -166 384 -178Q381 -190 378 -192T361 -194H348Q342 -188 342 -179Q342 -169 315 -169Q294 -169 264 -171T205 -174ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q221 276 204 217Q188 152 188 116Q188 68 210 47T259 26Q297 26 334 62Q367 92 389 158T418 266T424 322'], + + // GREEK LUNATE EPSILON SYMBOL + 0x3F5: [431,11,406,40,382,'227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11'] + }; + + SVG.FONTDATA.FONTS[MAIN][0x2212][0] = SVG.FONTDATA.FONTS[MAIN][0x002B][0]; // minus is size + SVG.FONTDATA.FONTS[MAIN][0x2212][1] = SVG.FONTDATA.FONTS[MAIN][0x002B][1]; // minus is size + SVG.FONTDATA.FONTS[MAIN][0x22EE][0] += 400; // adjust height for \vdots + SVG.FONTDATA.FONTS[MAIN][0x22F1][0] += 700; // adjust height for \ddots + + // + // Add some spacing characters (more will come later) + // + MathJax.Hub.Insert(SVG.FONTDATA.FONTS[MAIN],{ + 0x2000: [0,0,500,0,0,{space:1}], // en quad + 0x2001: [0,0,1000,0,0,{space:1}], // em quad + 0x2002: [0,0,500,0,0,{space:1}], // en space + 0x2003: [0,0,1000,0,0,{space:1}], // em space + 0x2004: [0,0,333,0,0,{space:1}], // 3-per-em space + 0x2005: [0,0,250,0,0,{space:1}], // 4-per-em space + 0x2006: [0,0,167,0,0,{space:1}], // 6-per-em space + 0x2009: [0,0,167,0,0,{space:1}], // thin space + 0x200A: [0,0,83,0,0,{space:1}], // hair space + 0x200B: [0,0,0,0,0,{space:1}], // zero-width space + 0xEEE0: [0,0,-575,0,0,{space:1}], + 0xEEE1: [0,0,-300,0,0,{space:1}], + 0xEEE8: [0,0,25,0,0,{space:1}] + }); + + HUB.Register.StartupHook("SVG Jax Require",function () { + HUB.Register.LoadHook(SVG.fontDir+"/Size4/Regular/Main.js",function () { + SVG.FONTDATA.FONTS[SIZE4][0xE154][0] += 200; // adjust height for brace extender + SVG.FONTDATA.FONTS[SIZE4][0xE154][1] += 200; // adjust depth for brace extender + }); + + SVG.FONTDATA.FONTS[MAIN][0x2245][2] -= 222; // fix incorrect right bearing in font + HUB.Register.LoadHook(SVG.fontDir+"/Main/Bold/MathOperators.js",function () { + SVG.FONTDATA.FONTS[BOLD][0x2245][2] -= 106; // fix incorrect right bearing in font + }); + + HUB.Register.LoadHook(SVG.fontDir+"/Typewriter/Regular/BasicLatin.js",function () { + SVG.FONTDATA.FONTS['MathJax_Typewriter'][0x20][2] += 275; // fix incorrect width + }); + + AJAX.loadComplete(SVG.fontDir + "/fontdata.js"); + }); + +})(MathJax.OutputJax.SVG,MathJax.ElementJax.mml,MathJax.Ajax,MathJax.Hub); + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/jax.js b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/jax.js new file mode 100644 index 00000000..5f5af6d0 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/jax.js @@ -0,0 +1,2333 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/jax.js + * + * Implements the SVG OutputJax that displays mathematics using + * SVG (or VML in IE) to position the characters from math fonts + * in their proper locations. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + + +(function (AJAX,HUB,HTML,SVG) { + var MML; + var isArray = MathJax.Object.isArray; + + var SVGNS = "http://www.w3.org/2000/svg"; + var XLINKNS = "http://www.w3.org/1999/xlink"; + + var EVENT, TOUCH, HOVER; // filled in later + + // + // Get the URL of the page (for use with xlink:href) when there + // is a element on the page. + // + var SVGURL = (document.getElementsByTagName("base").length === 0) ? "" : + String(document.location).replace(/#.*$/,""); + + SVG.Augment({ + HFUZZ: 2, // adjustments for height and depth of final svg element + DFUZZ: 2, // to get baselines right (fragile). + + config: { + styles: { + ".MathJax_SVG": { + "display": "inline", + "font-style": "normal", + "font-weight": "normal", + "line-height": "normal", + "font-size": "100%", + "font-size-adjust":"none", + "text-indent": 0, + "text-align": "left", + "text-transform": "none", + "letter-spacing": "normal", + "word-spacing": "normal", + "word-wrap": "normal", + "white-space": "nowrap", + "float": "none", + "direction": "ltr", + "max-width": "none", "max-height": "none", + "min-width": 0, "min-height": 0, + border: 0, padding: 0, margin: 0 + }, + + ".MathJax_SVG_Display": { + position: "relative", + display: "block!important", + "text-indent": 0, + "max-width": "none", "max-height": "none", + "min-width": 0, "min-height": 0, + width: "100%" + }, + + ".MathJax_SVG *": { + transition: "none", + "-webkit-transition": "none", + "-moz-transition": "none", + "-ms-transition": "none", + "-o-transition": "none" + }, + + ".MathJax_SVG > div": { + display: "inline-block" + }, + + ".mjx-svg-href": { + fill: "blue", stroke: "blue" + }, + + ".MathJax_SVG_Processing": { + visibility: "hidden", position:"absolute", top:0, left:0, + width:0, height: 0, overflow:"hidden", display:"block!important" + }, + ".MathJax_SVG_Processed": {display:"none!important"}, + + ".MathJax_SVG_test": { + "font-style": "normal", + "font-weight": "normal", + "font-size": "100%", + "font-size-adjust":"none", + "text-indent": 0, + "text-transform": "none", + "letter-spacing": "normal", + "word-spacing": "normal", + overflow: "hidden", + height: "1px" + }, + ".MathJax_SVG_test.mjx-test-display": { + display: "table!important" + }, + ".MathJax_SVG_test.mjx-test-inline": { + display: "inline!important", + "margin-right": "-1px" + }, + ".MathJax_SVG_test.mjx-test-default": { + display: "block!important", + clear: "both" + }, + ".MathJax_SVG_ex_box": { + display: "inline-block!important", + position: "absolute", + overflow: "hidden", + "min-height": 0, "max-height":"none", + padding:0, border: 0, margin: 0, + width:"1px", height:"60ex" + }, + ".mjx-test-inline .MathJax_SVG_left_box": { + display: "inline-block", + width: 0, + "float":"left" + }, + ".mjx-test-inline .MathJax_SVG_right_box": { + display: "inline-block", + width: 0, + "float":"right" + }, + ".mjx-test-display .MathJax_SVG_right_box": { + display: "table-cell!important", + width: "10000em!important", + "min-width":0, "max-width":"none", + padding:0, border:0, margin:0 + }, + + "#MathJax_SVG_Tooltip": { + position: "absolute", left: 0, top: 0, + width: "auto", height: "auto", + display: "none" + } + } + }, + + hideProcessedMath: true, // use display:none until all math is processed + + fontNames: ["TeX","STIX","STIX-Web","Asana-Math", + "Gyre-Termes","Gyre-Pagella","Latin-Modern","Neo-Euler"], + + + Config: function () { + this.SUPER(arguments).Config.apply(this,arguments); + var settings = HUB.config.menuSettings, config = this.config, font = settings.font; + if (settings.scale) {config.scale = settings.scale} + if (font && font !== "Auto") { + font = font.replace(/(Local|Web|Image)$/i,""); + font = font.replace(/([a-z])([A-Z])/,"$1-$2"); + this.fontInUse = font; + } else { + this.fontInUse = config.font || "TeX"; + } + if (this.fontNames.indexOf(this.fontInUse) < 0) {this.fontInUse = "TeX"} + this.fontDir += "/" + this.fontInUse; + if (!this.require) {this.require = []} + this.require.push(this.fontDir+"/fontdata.js"); + this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); + }, + + Startup: function () { + // Set up event handling + EVENT = MathJax.Extension.MathEvents.Event; + TOUCH = MathJax.Extension.MathEvents.Touch; + HOVER = MathJax.Extension.MathEvents.Hover; + this.ContextMenu = EVENT.ContextMenu; + this.Mousedown = EVENT.AltContextMenu; + this.Mouseover = HOVER.Mouseover; + this.Mouseout = HOVER.Mouseout; + this.Mousemove = HOVER.Mousemove; + + // Make hidden div for doing tests and storing global SVG + this.hiddenDiv = HTML.Element("div",{ + style:{visibility:"hidden", overflow:"hidden", position:"absolute", top:0, + height:"1px", width: "auto", padding:0, border:0, margin:0, + textAlign:"left", textIndent:0, textTransform:"none", + lineHeight:"normal", letterSpacing:"normal", wordSpacing:"normal"} + }); + if (!document.body.firstChild) {document.body.appendChild(this.hiddenDiv)} + else {document.body.insertBefore(this.hiddenDiv,document.body.firstChild)} + this.hiddenDiv = HTML.addElement(this.hiddenDiv,"div",{id:"MathJax_SVG_Hidden"}); + + // Determine pixels-per-inch and em-size + var div = HTML.addElement(this.hiddenDiv,"div",{style:{width:"5in"}}); + this.pxPerInch = div.offsetWidth/5; this.hiddenDiv.removeChild(div); + + // Used for measuring text sizes + this.textSVG = this.Element("svg"); + + // Global defs for font glyphs + BBOX.GLYPH.defs = this.addElement(this.addElement(this.hiddenDiv.parentNode,"svg"), + "defs",{id:"MathJax_SVG_glyphs"}); + + // Used in preTranslate to get scaling factors + this.TestSpan = HTML.Element("span",{className:"MathJax_SVG_test"},[ + ["span",{className:"MathJax_SVG_left_box"}], + ["span",{className:"MathJax_SVG_ex_box"}], + ["span",{className:"MathJax_SVG_right_box"}] + ]); + + // Set up styles + return AJAX.Styles(this.config.styles,["InitializeSVG",this]); + }, + + // + // Handle initialization that requires styles to be set up + // + InitializeSVG: function () { + // + // Get the default sizes (need styles in place to do this) + // + var test = document.body.appendChild(this.TestSpan.cloneNode(true)); + test.className += " mjx-test-inline mjx-test-default"; + this.defaultEx = test.childNodes[1].offsetHeight/60; + this.defaultWidth = Math.max(0,test.lastChild.offsetLeft - test.firstChild.offsetLeft - 2); + document.body.removeChild(test); + }, + + preTranslate: function (state) { + var scripts = state.jax[this.id], i, m = scripts.length, n, + script, prev, span, div, test, jax, ex, em, maxwidth, relwidth = false, cwidth, + linebreak = this.config.linebreaks.automatic, width = this.config.linebreaks.width; + if (linebreak) { + relwidth = (width.match(/^\s*(\d+(\.\d*)?%\s*)?container\s*$/) != null); + if (relwidth) {width = width.replace(/\s*container\s*/,"")} + else {maxwidth = this.defaultWidth} + if (width === "") {width = "100%"} + } else {maxwidth = 100000} // a big width, so no implicit line breaks + // + // Loop through the scripts + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + // + // Remove any existing output + // + prev = script.previousSibling; + if (prev && String(prev.className).match(/^MathJax(_SVG)?(_Display)?( MathJax(_SVG)?_Process(ing|ed))?$/)) + {prev.parentNode.removeChild(prev)} + if (script.MathJax.preview) script.MathJax.preview.style.display = "none"; + // + // Add the span, and a div if in display mode, + // then set the role and mark it as being processed + // + jax = script.MathJax.elementJax; if (!jax) continue; + jax.SVG = { + display: (jax.root.Get("display") === "block"), + preview: (jax.SVG||{}).preview // in case typeset calls are interleaved + }; + span = div = HTML.Element("span",{ + style: {"font-size": this.config.scale+"%", display:"inline-block"}, + className:"MathJax_SVG", id:jax.inputID+"-Frame", isMathJax:true, jaxID:this.id, + oncontextmenu:EVENT.Menu, onmousedown: EVENT.Mousedown, + onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove, + onclick:EVENT.Click, ondblclick:EVENT.DblClick, + // Added for keyboard accessible menu. + onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax) + }); + if (HUB.Browser.noContextMenu) { + span.ontouchstart = TOUCH.start; + span.ontouchend = TOUCH.end; + } + if (jax.SVG.display) { + div = HTML.Element("div",{className:"MathJax_SVG_Display"}); + div.appendChild(span); + } + div.className += " MathJax_SVG_Processing"; + script.parentNode.insertBefore(div,script); + // + // Add the test span for determining scales and linebreak widths + // + test = this.TestSpan.cloneNode(true); + test.className += " mjx-test-" + (jax.SVG.display ? "display" : "inline"); + script.parentNode.insertBefore(test,script); + } + // + // Determine the scaling factors for each script + // (this only requires one reflow rather than a reflow for each equation) + // + var hidden = []; + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + test = script.previousSibling; div = test.previousSibling; + jax = script.MathJax.elementJax; if (!jax) continue; + ex = test.childNodes[1].offsetHeight/60; + cwidth = Math.max(0, jax.SVG.display ? test.lastChild.offsetWidth - 1: + test.lastChild.offsetLeft - test.firstChild.offsetLeft - 2) / this.config.scale * 100; + if (ex === 0 || ex === "NaN") { + // can't read width, so move to hidden div for processing + hidden.push(div); + jax.SVG.isHidden = true; + ex = this.defaultEx; cwidth = this.defaultWidth; + } + if (cwidth === 0 && !jax.SVG.display) cwidth = this.defaultWidth; + if (relwidth) {maxwidth = cwidth} + jax.SVG.ex = ex; + jax.SVG.em = em = ex / SVG.TeX.x_height * 1000; // scale ex to x_height + jax.SVG.cwidth = cwidth/em * 1000; + jax.SVG.lineWidth = (linebreak ? this.length2em(width,1,maxwidth/em*1000) : SVG.BIGDIMEN); + } + for (i = 0, n = hidden.length; i < n; i++) { + this.hiddenDiv.appendChild(hidden[i]); + this.addElement(this.hiddenDiv,"br"); + } + // + // Remove the test spans used for determining scales and linebreak widths + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + jax = script.MathJax.elementJax; if (!jax) continue; + script.parentNode.removeChild(script.previousSibling); + if (script.MathJax.preview) script.MathJax.preview.style.display = ""; + } + // + // Set state variables used for displaying equations in chunks + // + state.SVGeqn = state.SVGlast = 0; state.SVGi = -1; + state.SVGchunk = this.config.EqnChunk; + state.SVGdelay = false; + }, + + Translate: function (script,state) { + if (!script.parentNode) return; + + // + // If we are supposed to do a chunk delay, do it + // + if (state.SVGdelay) { + state.SVGdelay = false; + HUB.RestartAfter(MathJax.Callback.Delay(this.config.EqnChunkDelay)); + } + + // + // Get the data about the math + // + var jax = script.MathJax.elementJax, math = jax.root, div, span, + localCache = (SVG.config.useFontCache && !SVG.config.useGlobalCache); + if (jax.SVG.isHidden) { + span = document.getElementById(jax.inputID+"-Frame"); + div = (jax.SVG.display ? span.parentElement : span); + } else { + div = script.previousSibling; + span = (jax.SVG.display ? (div||{}).firstChild||div : div); + } + if (!div) return; + // + // Set the font metrics + // + this.em = MML.mbase.prototype.em = jax.SVG.em; this.ex = jax.SVG.ex; + this.linebreakWidth = jax.SVG.lineWidth; this.cwidth = jax.SVG.cwidth; + // + // Typeset the math + // + this.mathDiv = div; + span.appendChild(this.textSVG); + if (localCache) {SVG.resetGlyphs()} + this.initSVG(math,span); + math.setTeXclass(); + try {math.toSVG(span,div)} catch (err) { + if (err.restart) {while (span.firstChild) {span.removeChild(span.firstChild)}} + if (localCache) {BBOX.GLYPH.n--} + throw err; + } + span.removeChild(this.textSVG); + // + // Put it in place, and remove the processing marker + // + if (jax.SVG.isHidden) {script.parentNode.insertBefore(div,script)} + div.className = div.className.split(/ /)[0]; + // + // Check if we are hiding the math until more is processed + // + if (this.hideProcessedMath) { + // + // Hide the math and don't let its preview be removed + // + div.className += " MathJax_SVG_Processed"; + if (script.MathJax.preview) { + jax.SVG.preview = script.MathJax.preview; + delete script.MathJax.preview; + } + // + // Check if we should show this chunk of equations + // + state.SVGeqn += (state.i - state.SVGi); state.SVGi = state.i; + if (state.SVGeqn >= state.SVGlast + state.SVGchunk) { + this.postTranslate(state,true); + state.SVGchunk = Math.floor(state.SVGchunk*this.config.EqnChunkFactor); + state.SVGdelay = true; // delay if there are more scripts + } + } + }, + + postTranslate: function (state,partial) { + var scripts = state.jax[this.id]; + if (!this.hideProcessedMath) return; + // + // Reveal this chunk of math + // + for (var i = state.SVGlast, m = state.SVGeqn; i < m; i++) { + var script = scripts[i]; + if (script && script.MathJax.elementJax) { + // + // Remove the processed marker + // + script.previousSibling.className = script.previousSibling.className.split(/ /)[0]; + var data = script.MathJax.elementJax.SVG; + // + // Remove the preview, if any + // + if (data.preview) { + data.preview.innerHTML = ""; + script.MathJax.preview = data.preview; + delete data.preview; + } + } + } + // + // Save our place so we know what is revealed + // + state.SVGlast = state.SVGeqn; + }, + + resetGlyphs: function (reset) { + if (this.config.useFontCache) { + var GLYPH = BBOX.GLYPH; + if (this.config.useGlobalCache) { + GLYPH.defs = document.getElementById("MathJax_SVG_glyphs"); + GLYPH.defs.innerHTML = ""; + } else { + GLYPH.defs = this.Element("defs"); + GLYPH.n++; + } + GLYPH.glyphs = {}; + if (reset) {GLYPH.n = 0} + } + }, + + // + // Return the containing HTML element rather than the SVG element, since + // most browsers can't position to an SVG element properly. + // + hashCheck: function (target) { + if (target && target.nodeName.toLowerCase() === "g") + {do {target = target.parentNode} while (target && target.firstChild.nodeName !== "svg")} + return target; + }, + + getJaxFromMath: function (math) { + if (math.parentNode.className.match(/MathJax_SVG_Display/)) {math = math.parentNode} + do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); + return HUB.getJaxFor(math); + }, + getHoverSpan: function (jax,math) { + math.style.position = "relative"; // make sure inline containers have position set + return math.firstChild; + }, + getHoverBBox: function (jax,span,math) { + var bbox = EVENT.getBBox(span.parentNode); + bbox.h += 2; bbox.d -= 2; // bbox seems to be a bit off, so compensate (FIXME) + return bbox; + }, + + Zoom: function (jax,span,math,Mw,Mh) { + // + // Re-render at larger size + // + span.className = "MathJax_SVG"; + + // + // get em size (taken from this.preTranslate) + // + var emex = span.appendChild(this.TestSpan.cloneNode(true)); + var ex = emex.childNodes[1].offsetHeight/60; + this.em = MML.mbase.prototype.em = ex / SVG.TeX.x_height * 1000; this.ex = ex; + this.linebreakWidth = jax.SVG.lineWidth; this.cwidth = jax.SVG.cwidth; + emex.parentNode.removeChild(emex); + + span.appendChild(this.textSVG); + this.mathDIV = span; this.zoomScale = parseInt(HUB.config.menuSettings.zscale) / 100; + var tw = jax.root.data[0].SVGdata.tw; if (tw && tw < this.cwidth) this.cwidth = tw; + this.idPostfix = "-zoom"; jax.root.toSVG(span,span); this.idPostfix = ""; + this.zoomScale = 1; + span.removeChild(this.textSVG); + + // + // Don't allow overlaps on any edge + // + var svg = span.getElementsByTagName("svg")[0].style; + svg.marginTop = svg.marginRight = svg.marginLeft = 0; + if (svg.marginBottom.charAt(0) === "-") + span.style.marginBottom = svg.marginBottom.substr(1); + + if (this.operaZoomRefresh) + {setTimeout(function () {span.firstChild.style.border="1px solid transparent"},1)} + // + // WebKit bug (issue #749) + // + if (span.offsetWidth < span.firstChild.offsetWidth) { + span.style.minWidth = span.firstChild.offsetWidth + "px"; + math.style.minWidth = math.firstChild.offsetWidth + "px"; + } + // + // Get height and width of zoomed math and original math + // + span.style.position = math.style.position = "absolute"; + var zW = span.offsetWidth, zH = span.offsetHeight, + mH = math.offsetHeight, mW = math.offsetWidth; + span.style.position = math.style.position = ""; + // + return {Y:-EVENT.getBBox(span).h, mW:mW, mH:mH, zW:zW, zH:zH}; + }, + + initSVG: function (math,span) {}, + + Remove: function (jax) { + var span = document.getElementById(jax.inputID+"-Frame"); + if (span) { + if (jax.SVG.display) {span = span.parentNode} + span.parentNode.removeChild(span); + } + delete jax.SVG; + }, + + Em: function (m) { + if (Math.abs(m) < .0006) return "0"; + return m.toFixed(3).replace(/\.?0+$/,"") + "em"; + }, + Ex: function (m) { + m = m / this.TeX.x_height; + if (Math.abs(m) < .0006) return "0"; + return m.toFixed(3).replace(/\.?0+$/,"") + "ex"; + }, + Percent: function (m) { + return (100*m).toFixed(1).replace(/\.?0+$/,"") + "%"; + }, + Fixed: function (m,n) { + if (Math.abs(m) < .0006) return "0"; + return m.toFixed(n||3).replace(/\.?0+$/,""); + }, + length2em: function (length,mu,size) { + if (typeof(length) !== "string") {length = length.toString()} + if (length === "") {return ""} + if (length === MML.SIZE.NORMAL) {return 1000} + if (length === MML.SIZE.BIG) {return 2000} + if (length === MML.SIZE.SMALL) {return 710} + if (length === "infinity") {return SVG.BIGDIMEN} + if (length.match(/mathspace$/)) {return 1000*SVG.MATHSPACE[length]} + var emFactor = (this.zoomScale || 1) / SVG.em; + var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/); + var m = parseFloat(match[1]||"1") * 1000, unit = match[2]; + if (size == null) {size = 1000}; if (mu == null) {mu = 1} + if (unit === "em") {return m} + if (unit === "ex") {return m * SVG.TeX.x_height/1000} + if (unit === "%") {return m / 100 * size / 1000} + if (unit === "px") {return m * emFactor} + if (unit === "pt") {return m / 10} // 10 pt to an em + if (unit === "pc") {return m * 1.2} // 12 pt to a pc + if (unit === "in") {return m * this.pxPerInch * emFactor} + if (unit === "cm") {return m * this.pxPerInch * emFactor / 2.54} // 2.54 cm to an inch + if (unit === "mm") {return m * this.pxPerInch * emFactor / 25.4} // 10 mm to a cm + if (unit === "mu") {return m / 18 * mu} + return m*size / 1000; // relative to given size (or 1em as default) + }, + thickness2em: function (length,mu) { + var thick = SVG.TeX.rule_thickness; + if (length === MML.LINETHICKNESS.MEDIUM) {return thick} + if (length === MML.LINETHICKNESS.THIN) {return .67*thick} + if (length === MML.LINETHICKNESS.THICK) {return 1.67*thick} + return this.length2em(length,mu,thick); + }, + border2em: function (length,mu) { + if (length === MML.LINETHICKNESS.THIN) {length = "1px"} + if (length === MML.LINETHICKNESS.MEDIUM) {length = "3px"} + if (length === MML.LINETHICKNESS.THICK) {length = "5px"} + return this.length2em(length,mu); + }, + + getPadding: function (styles) { + var padding = {top:0, right:0, bottom:0, left:0}, has = false; + for (var id in padding) {if (padding.hasOwnProperty(id)) { + var pad = styles["padding"+id.charAt(0).toUpperCase()+id.substr(1)]; + if (pad) {padding[id] = this.length2em(pad); has = true;} + }} + return (has ? padding : false); + }, + getBorders: function (styles) { + var border = {top:0, right:0, bottom:0, left:0}, has = false; + for (var id in border) {if (border.hasOwnProperty(id)) { + var ID = "border"+id.charAt(0).toUpperCase()+id.substr(1); + var style = styles[ID+"Style"]; + if (style && style !== "none") { + has = true; + border[id] = this.border2em(styles[ID+"Width"] || MML.LINETHICKNESS.MEDIUM); + border[id+"Style"] = styles[ID+"Style"]; + border[id+"Color"] = styles[ID+"Color"]; + if (border[id+"Color"] === "initial") {border[id+"Color"] = ""} + } else {delete border[id]} + }} + return (has ? border : false); + }, + + Element: function (type,def) { + var obj = (typeof(type) === "string" ? document.createElementNS(SVGNS,type) : type); + obj.isMathJax = true; + if (def) {for (var id in def) {if (def.hasOwnProperty(id)) {obj.setAttribute(id,def[id].toString())}}} + return obj; + }, + addElement: function (parent,type,def) {return parent.appendChild(this.Element(type,def))}, + TextNode: HTML.TextNode, + addText: HTML.addText, + ucMatch: HTML.ucMatch, + + HandleVariant: function (variant,scale,text) { + var svg = BBOX.G(); + var n, N, c, font, VARIANT, i, m, id, M, RANGES; + if (!variant) {variant = this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]} + if (variant.forceFamily) { + text = BBOX.TEXT(scale,text,variant.font); + if (variant.h != null) {text.h = variant.h}; if (variant.d != null) {text.d = variant.d} + svg.Add(text); text = ""; + } + VARIANT = variant; + for (i = 0, m = text.length; i < m; i++) { + variant = VARIANT; + n = text.charCodeAt(i); c = text.charAt(i); + if (n >= 0xD800 && n < 0xDBFF) { + i++; n = (((n-0xD800)<<10)+(text.charCodeAt(i)-0xDC00))+0x10000; + if (this.FONTDATA.RemapPlane1) { + var nv = this.FONTDATA.RemapPlane1(n,variant); + n = nv.n; variant = nv.variant; + } + } else { + RANGES = this.FONTDATA.RANGES; + for (id = 0, M = RANGES.length; id < M; id++) { + if (RANGES[id].name === "alpha" && variant.noLowerCase) continue; + N = variant["offset"+RANGES[id].offset]; + if (N && n >= RANGES[id].low && n <= RANGES[id].high) { + if (RANGES[id].remap && RANGES[id].remap[n]) { + n = N + RANGES[id].remap[n]; + } else { + if (RANGES[id].remapOnly) break; + n = n - RANGES[id].low + N; + if (RANGES[id].add) {n += RANGES[id].add} + } + if (variant["variant"+RANGES[id].offset]) + {variant = this.FONTDATA.VARIANT[variant["variant"+RANGES[id].offset]]} + break; + } + } + } + if (variant.remap && variant.remap[n]) { + n = variant.remap[n]; + if (variant.remap.variant) {variant = this.FONTDATA.VARIANT[variant.remap.variant]} + } else if (this.FONTDATA.REMAP[n] && !variant.noRemap) { + n = this.FONTDATA.REMAP[n]; + } + if (isArray(n)) {variant = this.FONTDATA.VARIANT[n[1]]; n = n[0]} + if (typeof(n) === "string") { + text = n+text.substr(i+1); + m = text.length; i = -1; + continue; + } + font = this.lookupChar(variant,n); c = font[n]; + if (c) { + if ((c[5] && c[5].space) || (c[5] === "" && c[0]+c[1] === 0)) {svg.w += c[2]} else { + c = [scale,font.id+"-"+n.toString(16).toUpperCase()].concat(c); + svg.Add(BBOX.GLYPH.apply(BBOX,c),svg.w,0); + } + } else if (this.FONTDATA.DELIMITERS[n]) { + c = this.createDelimiter(n,0,1,font); + svg.Add(c,svg.w,(this.FONTDATA.DELIMITERS[n].dir === "V" ? c.d: 0)); + } else { + if (n <= 0xFFFF) {c = String.fromCharCode(n)} else { + N = n - 0x10000; + c = String.fromCharCode((N>>10)+0xD800) + + String.fromCharCode((N&0x3FF)+0xDC00); + } + var box = BBOX.TEXT(scale*100/SVG.config.scale,c,{ + "font-family":variant.defaultFamily||SVG.config.undefinedFamily, + "font-style":(variant.italic?"italic":""), + "font-weight":(variant.bold?"bold":"") + }) + if (variant.h != null) {box.h = variant.h}; if (variant.d != null) {box.d = variant.d} + c = BBOX.G(); c.Add(box); svg.Add(c,svg.w,0); + HUB.signal.Post(["SVG Jax - unknown char",n,variant]); + } + } + if (SVG.isChar(text) && font.skew && font.skew[n]) {svg.skew = font.skew[n]*1000} + if (svg.element.childNodes.length === 1 && !svg.element.firstChild.getAttribute("x")) { + svg.element = svg.element.firstChild; + svg.removeable = false; svg.scale = scale; + } + return svg; + }, + + lookupChar: function (variant,n) { + var i, m; + if (!variant.FONTS) { + var FONTS = this.FONTDATA.FONTS; + var fonts = (variant.fonts || this.FONTDATA.VARIANT.normal.fonts); + if (!(fonts instanceof Array)) {fonts = [fonts]} + if (variant.fonts != fonts) {variant.fonts = fonts} + variant.FONTS = []; + for (i = 0, m = fonts.length; i < m; i++) { + if (FONTS[fonts[i]]) {variant.FONTS.push(FONTS[fonts[i]])} + } + } + for (i = 0, m = variant.FONTS.length; i < m; i++) { + var font = variant.FONTS[i]; + if (typeof(font) === "string") {delete variant.FONTS; this.loadFont(font)} + if (font[n]) {return font} else {this.findBlock(font,n)} + } + return {id:"unknown"}; + }, + + isChar: function (text) { + if (text.length === 1) return true; + if (text.length !== 2) return false; + var n = text.charCodeAt(0); + return (n >= 0xD800 && n < 0xDBFF); + }, + + findBlock: function (font,c) { + if (font.Ranges) { + // FIXME: do binary search? + for (var i = 0, m = font.Ranges.length; i < m; i++) { + if (c < font.Ranges[i][0]) return; + if (c <= font.Ranges[i][1]) { + var file = font.Ranges[i][2]; + for (var j = font.Ranges.length-1; j >= 0; j--) + {if (font.Ranges[j][2] == file) {font.Ranges.splice(j,1)}} + this.loadFont(font.directory+"/"+file+".js"); + } + } + } + }, + + loadFont: function (file) { + HUB.RestartAfter(AJAX.Require(this.fontDir+"/"+file)); + }, + + createDelimiter: function (code,HW,scale,font) { + if (!scale) {scale = 1}; + var svg = BBOX.G(); + if (!code) { + svg.Clean(); delete svg.element; + svg.w = svg.r = this.TeX.nulldelimiterspace * scale; + return svg; + } + if (!(HW instanceof Array)) {HW = [HW,HW]} + var hw = HW[1]; HW = HW[0]; + var delim = {alias: code}; + while (delim.alias) { + code = delim.alias; delim = this.FONTDATA.DELIMITERS[code]; + if (!delim) {delim = {HW: [0,this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]]}} + } + if (delim.load) {HUB.RestartAfter(AJAX.Require(this.fontDir+"/fontdata-"+delim.load+".js"))} + for (var i = 0, m = delim.HW.length; i < m; i++) { + if (delim.HW[i][0]*scale >= HW-10-SVG.config.blacker || (i == m-1 && !delim.stretch)) { + if (delim.HW[i][2]) {scale *= delim.HW[i][2]} + if (delim.HW[i][3]) {code = delim.HW[i][3]} + return this.createChar(scale,[code,delim.HW[i][1]],font).With({stretched: true}); + } + } + if (delim.stretch) {this["extendDelimiter"+delim.dir](svg,hw,delim.stretch,scale,font)} + return svg; + }, + createChar: function (scale,data,font) { + var text = "", variant = {fonts: [data[1]], noRemap:true}; + if (font && font === MML.VARIANT.BOLD) {variant.fonts = [data[1]+"-bold",data[1]]} + if (typeof(data[1]) !== "string") {variant = data[1]} + if (data[0] instanceof Array) { + for (var i = 0, m = data[0].length; i < m; i++) {text += String.fromCharCode(data[0][i])} + } else {text = String.fromCharCode(data[0])} + if (data[4]) {scale = scale*data[4]} + var svg = this.HandleVariant(variant,scale,text); + if (data[2]) {svg.x = data[2]*1000} + if (data[3]) {svg.y = data[3]*1000} + if (data[5]) {svg.h += data[5]*1000} + if (data[6]) {svg.d += data[6]*1000} + return svg; + }, + extendDelimiterV: function (svg,H,delim,scale,font) { + var top = this.createChar(scale,(delim.top||delim.ext),font); + var bot = this.createChar(scale,(delim.bot||delim.ext),font); + var h = top.h + top.d + bot.h + bot.d; + var y = -top.h; svg.Add(top,0,y); y -= top.d; + if (delim.mid) {var mid = this.createChar(scale,delim.mid,font); h += mid.h + mid.d} + if (delim.min && H < h*delim.min) {H = h*delim.min} + if (H > h) { + var ext = this.createChar(scale,delim.ext,font); + var k = (delim.mid ? 2 : 1), eH = (H-h) / k, s = (eH+100) / (ext.h+ext.d); + while (k-- > 0) { + var g = SVG.Element("g",{transform:"translate("+ext.y+","+(y-s*ext.h+50+ext.y)+") scale(1,"+s+")"}); + g.appendChild(ext.element.cloneNode(false)); svg.element.appendChild(g); y -= eH; + if (delim.mid && k) {svg.Add(mid,0,y-mid.h); y -= (mid.h+mid.d)} + } + } else if (delim.mid) { + y += (h - H)/2; svg.Add(mid,0,y-mid.h); y += -(mid.h + mid.d) + (h - H)/2; + } else { + y += (h - H); + } + svg.Add(bot,0,y-bot.h); svg.Clean(); + svg.scale = scale; + svg.isMultiChar = true; + }, + extendDelimiterH: function (svg,W,delim,scale,font) { + var left = this.createChar(scale,(delim.left||delim.rep),font); + var right = this.createChar(scale,(delim.right||delim.rep),font); + svg.Add(left,-left.l,0); + var w = (left.r - left.l) + (right.r - right.l), x = left.r - left.l; + if (delim.mid) {var mid = this.createChar(scale,delim.mid,font); w += mid.w} + if (delim.min && W < w*delim.min) {W = w*delim.min} + if (W > w) { + var rep = this.createChar(scale,delim.rep,font), fuzz = delim.fuzz || 0; + var k = (delim.mid ? 2 : 1), rW = (W-w) / k, s = (rW+fuzz) / (rep.r-rep.l); + while (k-- > 0) { + var g = SVG.Element("g",{transform:"translate("+(x-fuzz/2-s*rep.l+rep.x)+","+rep.y+") scale("+s+",1)"}); + g.appendChild(rep.element.cloneNode(false)); svg.element.appendChild(g); x += rW; + if (delim.mid && k) {svg.Add(mid,x,0); x += mid.w} + } + } else if (delim.mid) { + x -= (w - W)/2; svg.Add(mid,x,0); x += mid.w - (w - W)/2; + } else { + x -= (w - W); + } + svg.Add(right,x-right.l,0); svg.Clean(); + svg.scale = scale; + svg.isMultiChar = true; + }, + + + MATHSPACE: { + veryverythinmathspace: 1/18, + verythinmathspace: 2/18, + thinmathspace: 3/18, + mediummathspace: 4/18, + thickmathspace: 5/18, + verythickmathspace: 6/18, + veryverythickmathspace: 7/18, + negativeveryverythinmathspace: -1/18, + negativeverythinmathspace: -2/18, + negativethinmathspace: -3/18, + negativemediummathspace: -4/18, + negativethickmathspace: -5/18, + negativeverythickmathspace: -6/18, + negativeveryverythickmathspace: -7/18 + }, + + // + // Units are em/1000 so quad is 1em + // + TeX: { + x_height: 430.554, + quad: 1000, + num1: 676.508, + num2: 393.732, + num3: 443.73, + denom1: 685.951, + denom2: 344.841, + sup1: 412.892, + sup2: 362.892, + sup3: 288.888, + sub1: 150, + sub2: 247.217, + sup_drop: 386.108, + sub_drop: 50, + delim1: 2390, + delim2: 1000, + axis_height: 250, + rule_thickness: 60, + big_op_spacing1: 111.111, + big_op_spacing2: 166.666, + big_op_spacing3: 200, + big_op_spacing4: 600, + big_op_spacing5: 100, + + scriptspace: 100, + nulldelimiterspace: 120, + delimiterfactor: 901, + delimitershortfall: 300, + + min_rule_thickness: 1.25, // in pixels + min_root_space: 1.5 // in pixels + }, + + BIGDIMEN: 10000000, + NBSP: "\u00A0" + }); + + var BBOX = SVG.BBOX = MathJax.Object.Subclass({ + type: "g", removeable: true, + Init: function (def) { + this.h = this.d = -SVG.BIGDIMEN; this.H = this.D = 0; + this.w = this.r = 0; this.l = SVG.BIGDIMEN; + this.x = this.y = 0; this.scale = 1; this.n = 0; + if (this.type) {this.element = SVG.Element(this.type,def)} + }, + With: function (def) {return HUB.Insert(this,def)}, + Add: function (svg,dx,dy,forcew,infront) { + if (dx) {svg.x += dx}; if (dy) {svg.y += dy}; + if (svg.element) { + if (svg.removeable && svg.element.childNodes.length === 1 && svg.n === 1) { + var child = svg.element.firstChild, nodeName = child.nodeName.toLowerCase(); + if (nodeName === "use" || nodeName === "rect") { + svg.element = child; svg.scale = svg.childScale; + var x = svg.childX, y = svg.childY; + svg.x += x; svg.y += y; + svg.h -= y; svg.d += y; svg.H -= y; svg.D +=y; + svg.w -= x; svg.r -= x; svg.l += x; + svg.removeable = false; + child.setAttribute("x",Math.floor(svg.x/svg.scale)); + child.setAttribute("y",Math.floor(svg.y/svg.scale)); + } + } + if (Math.abs(svg.x) < 1 && Math.abs(svg.y) < 1) { + svg.remove = svg.removeable; + } else { + nodeName = svg.element.nodeName.toLowerCase(); + if (nodeName === "g") { + if (!svg.element.firstChild) {svg.remove = svg.removeable} + else {svg.element.setAttribute("transform","translate("+Math.floor(svg.x)+","+Math.floor(svg.y)+")")} + } else if (nodeName === "line" || nodeName === "polygon" || + nodeName === "path" || nodeName === "a") { + var transform = svg.element.getAttribute("transform") || ""; + if (transform) transform = " "+transform; + transform = "translate("+Math.floor(svg.x)+","+Math.floor(svg.y)+")"+transform; + svg.element.setAttribute("transform",transform); + } else { + svg.element.setAttribute("x",Math.floor(svg.x/svg.scale)); + svg.element.setAttribute("y",Math.floor(svg.y/svg.scale)); + } + } + if (svg.remove) { + this.n += svg.n; + while (svg.element.firstChild) { + if (infront && this.element.firstChild) { + this.element.insertBefore(svg.element.firstChild,this.element.firstChild); + } else { + this.element.appendChild(svg.element.firstChild); + } + } + } else { + if (infront) {this.element.insertBefore(svg.element,this.element.firstChild)} + else {this.element.appendChild(svg.element)} + } + delete svg.element; + } + if (svg.hasIndent) {this.hasIndent = svg.hasIndent} + if (svg.tw != null) {this.tw = svg.tw} + if (svg.d - svg.y > this.d) {this.d = svg.d - svg.y; if (this.d > this.D) {this.D = this.d}} + if (svg.y + svg.h > this.h) {this.h = svg.y + svg.h; if (this.h > this.H) {this.H = this.h}} + if (svg.D - svg.y > this.D) {this.D = svg.D - svg.y} + if (svg.y + svg.H > this.H) {this.H = svg.y + svg.H} + if (svg.x + svg.l < this.l) {this.l = svg.x + svg.l} + if (svg.x + svg.r > this.r) {this.r = svg.x + svg.r} + if (forcew || svg.x + svg.w + (svg.X||0) > this.w) {this.w = svg.x + svg.w + (svg.X||0)} + this.childScale = svg.scale; this.childX = svg.x; this.childY = svg.y; this.n++; + return svg; + }, + Align: function (svg,align,dx,dy,shift) { + dx = ({left: dx, center: (this.w - svg.w)/2, right: this.w - svg.w - dx})[align] || 0; + var w = this.w; this.Add(svg,dx+(shift||0),dy); this.w = w; + }, + Clean: function () { + if (this.h === -SVG.BIGDIMEN) {this.h = this.d = this.l = 0} + return this; + } + }); + + BBOX.ROW = BBOX.Subclass({ + Init: function () { + this.SUPER(arguments).Init.call(this); + this.svg = []; this.sh = this.sd = 0; + }, + Check: function (data) { + var svg = data.toSVG(); this.svg.push(svg); + if (data.SVGcanStretch("Vertical")) {svg.mml = data} + if (svg.h + svg.y > this.sh) {this.sh = svg.h + svg.y} + if (svg.d - svg.y > this.sd) {this.sd = svg.d - svg.y} + }, + Stretch: function () { + for (var i = 0, m = this.svg.length; i < m; i++) + { + var svg = this.svg[i], mml = svg.mml; + if (mml) { + if (mml.forceStretch || mml.SVGdata.h !== this.sh || mml.SVGdata.d !== this.sd) { + svg = mml.SVGstretchV(this.sh,this.sd); + } + mml.SVGdata.HW = this.sh; mml.SVGdata.D = this.sd; + } + if (svg.ic) {this.ic = svg.ic} else {delete this.ic} + this.Add(svg,this.w,0,true); + } + delete this.svg; + } + }); + + BBOX.RECT = BBOX.Subclass({ + type: "rect", removeable: false, + Init: function (h,d,w,def) { + if (def == null) {def = {stroke:"none"}} + def.width = Math.floor(w); def.height = Math.floor(h+d); + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.h = this.H = h+d; this.d = this.D = this.l = 0; this.y = -d; + } + }); + + BBOX.FRAME = BBOX.Subclass({ + type: "rect", removeable: false, + Init: function (h,d,w,t,dash,color,def) { + if (def == null) {def = {}}; def.fill = "none"; + def["stroke-width"] = SVG.Fixed(t,2); + def.width = Math.floor(w-t); def.height = Math.floor(h+d-t); + def.transform = "translate("+Math.floor(t/2)+","+Math.floor(-d+t/2)+")"; + if (dash === "dashed") + {def["stroke-dasharray"] = [Math.floor(6*SVG.em),Math.floor(6*SVG.em)].join(" ")} + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.h = this.H = h; + this.d = this.D = d; this.l = 0; + } + }); + + BBOX.HLINE = BBOX.Subclass({ + type: "line", removeable: false, + Init: function (w,t,dash,color,def) { + if (def == null) {def = {"stroke-linecap":"square"}} + if (color && color !== "") {def.stroke = color} + def["stroke-width"] = SVG.Fixed(t,2); + def.x1 = def.y1 = def.y2 = Math.floor(t/2); def.x2 = Math.floor(w-t/2); + if (dash === "dashed") { + var n = Math.floor(Math.max(0,w-t)/(6*t)), m = Math.floor(Math.max(0,w-t)/(2*n+1)); + def["stroke-dasharray"] = m+" "+m; + } + if (dash === "dotted") { + def["stroke-dasharray"] = [1,Math.max(150,Math.floor(2*t))].join(" "); + def["stroke-linecap"] = "round"; + } + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.l = 0; this.h = this.H = t; this.d = this.D = 0; + } + }); + + BBOX.VLINE = BBOX.Subclass({ + type: "line", removeable: false, + Init: function (h,t,dash,color,def) { + if (def == null) {def = {"stroke-linecap":"square"}} + if (color && color !== "") {def.stroke = color} + def["stroke-width"] = SVG.Fixed(t,2); + def.x1 = def.x2 = def.y1 = Math.floor(t/2); def.y2 = Math.floor(h-t/2); + if (dash === "dashed") { + var n = Math.floor(Math.max(0,h-t)/(6*t)), m = Math.floor(Math.max(0,h-t)/(2*n+1)); + def["stroke-dasharray"] = m+" "+m; + } + if (dash === "dotted") { + def["stroke-dasharray"] = [1,Math.max(150,Math.floor(2*t))].join(" "); + def["stroke-linecap"] = "round"; + } + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = t; this.l = 0; this.h = this.H = h; this.d = this.D = 0; + } + }); + + BBOX.TEXT = BBOX.Subclass({ + type: "text", removeable: false, + Init: function (scale,text,def) { + if (!def) {def = {}}; def.stroke = "none"; + if (def["font-style"] === "") delete def["font-style"]; + if (def["font-weight"] === "") delete def["font-weight"]; + this.SUPER(arguments).Init.call(this,def); + SVG.addText(this.element,text); + SVG.textSVG.appendChild(this.element); + var bbox = this.element.getBBox(); + SVG.textSVG.removeChild(this.element); + scale *= 1000/SVG.em; + this.element.setAttribute("transform","scale("+SVG.Fixed(scale)+") matrix(1 0 0 -1 0 0)"); + this.w = this.r = bbox.width*scale; this.l = 0; + this.h = this.H = -bbox.y*scale; + this.d = this.D = (bbox.height + bbox.y)*scale; + } + }); + + BBOX.G = BBOX; + + BBOX.NULL = BBOX.Subclass({ + Init: function () { + this.SUPER(arguments).Init.apply(this,arguments); + this.Clean(); + } + }); + + BBOX.GLYPH = BBOX.Subclass({ + type: "path", removeable: false, + Init: function (scale,id,h,d,w,l,r,p) { + var def, t = SVG.config.blacker, GLYPH = BBOX.GLYPH; + var cache = SVG.config.useFontCache; + var transform = (scale === 1 ? null : "scale("+SVG.Fixed(scale)+")"); + if (cache && !SVG.config.useGlobalCache) {id = "E"+GLYPH.n+"-"+id} + if (!cache || !GLYPH.glyphs[id]) { + def = {"stroke-width":t}; + if (cache) {def.id = id} else if (transform) {def.transform = transform} + def.d = (p ? "M"+p+"Z" : ""); + this.SUPER(arguments).Init.call(this,def); + if (cache) {GLYPH.defs.appendChild(this.element); GLYPH.glyphs[id] = true;} + } + if (cache) { + def = {}; if (transform) {def.transform = transform} + this.element = SVG.Element("use",def); + this.element.setAttributeNS(XLINKNS,"href",SVGURL+"#"+id); + } + this.h = (h+t) * scale; this.d = (d+t) * scale; this.w = (w+t/2) *scale; + this.l = (l+t/2) * scale; this.r = (r+t/2) * scale; + this.H = Math.max(0,this.h); this.D = Math.max(0,this.d); + this.x = this.y = 0; this.scale = scale; + } + },{ + glyphs: {}, // which glpyhs have been used + defs: null, // the SVG element where glyphs are stored + n: 0 // the ID for local for self-contained SVG elements + }); + + HUB.Register.StartupHook("mml Jax Ready",function () { + + MML = MathJax.ElementJax.mml; + + MML.mbase.Augment({ + SVG: BBOX, + toSVG: function () { + this.SVGgetStyles(); + var variant = this.SVGgetVariant(); + var svg = this.SVG(); this.SVGgetScale(svg); + this.SVGhandleSpace(svg); + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) { + var child = svg.Add(this.data[i].toSVG(variant,svg.scale),svg.w,0,true); + if (child.skew) {svg.skew = child.skew} + } + } + svg.Clean(); var text = this.data.join(""); + if (svg.skew && !SVG.isChar(text)) {delete svg.skew} + if (svg.r > svg.w && SVG.isChar(text) && !variant.noIC) + {svg.ic = svg.r - svg.w; svg.w = svg.r} + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + + SVGchildSVG: function (i) { + return (this.data[i] ? this.data[i].toSVG() : BBOX()); + }, + + SVGdataStretched: function (i,HW,D) { + this.SVGdata = {HW:HW, D:D}; + if (!this.data[i]) {return BBOX()} + if (D != null) {return this.data[i].SVGstretchV(HW,D)} + if (HW != null) {return this.data[i].SVGstretchH(HW)} + return this.data[i].toSVG(); + }, + + SVGsaveData: function (svg) { + if (!this.SVGdata) {this.SVGdata = {}} + this.SVGdata.w = svg.w, this.SVGdata.x = svg.x; + this.SVGdata.h = svg.h, this.SVGdata.d = svg.d; + if (svg.y) {this.SVGdata.h += svg.y; this.SVGdata.d -= svg.y} + if (svg.X != null) {this.SVGdata.X = svg.X} + if (svg.tw != null) {this.SVGdata.tw = svg.tw} + if (svg.skew) {this.SVGdata.skew = svg.skew} + if (svg.ic) {this.SVGdata.ic = svg.ic} + if (this["class"]) {svg.removeable = false; SVG.Element(svg.element,{"class":this["class"]})} + // FIXME: if an element is split by linebreaking, the ID will be the same on both parts + // FIXME: if an element has an id, its zoomed copy will have the same ID + if (this.id) {svg.removeable = false; SVG.Element(svg.element,{"id":this.id})} + if (this.href) {this.SVGaddHref(svg)} + if (SVG.config.addMMLclasses) { + this.SVGaddClass(svg.element,"mjx-svg-"+this.type); + svg.removeable = false; + } + var style = this.style; + if (style && svg.element) { + svg.element.style.cssText = style; + if (svg.element.style.fontSize) {svg.element.style.fontSize = ""} // handled by scale + svg.element.style.border = svg.element.style.padding = ""; + if (svg.removeable) {svg.removeable = (svg.element.style.cssText === "")} + } + this.SVGaddAttributes(svg); + }, + SVGaddClass: function (node,name) { + var classes = node.getAttribute("class"); + node.setAttribute("class",(classes ? classes+" " : "")+name); + }, + SVGaddAttributes: function (svg) { + // + // Copy RDFa, aria, and other tags from the MathML to the HTML-CSS + // output spans Don't copy those in the MML.nocopyAttributes list, + // the ignoreMMLattributes configuration list, or anything tha + // already exists as a property of the span (e.g., no "onlick", etc.) + // If a name in the ignoreMMLattributes object is set to false, then + // the attribute WILL be copied. + // + if (this.attrNames) { + var copy = this.attrNames, skip = MML.nocopyAttributes, ignore = HUB.config.ignoreMMLattributes; + var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); + for (var i = 0, m = copy.length; i < m; i++) { + var id = copy[i]; + if (ignore[id] == false || (!skip[id] && !ignore[id] && + defaults[id] == null && typeof(svg.element[id]) === "undefined")) { + svg.element.setAttribute(id,this.attr[id]); + svg.removeable = false; + } + } + } + }, + SVGaddHref: function (svg) { + var a = SVG.Element("a",{"class":"mjx-svg-href"}); + a.setAttributeNS(XLINKNS,"href",this.href); + a.onclick = this.SVGlink; + SVG.addElement(a,"rect",{width:svg.w, height:svg.h+svg.d, y:-svg.d, + fill:"none", stroke:"none", "pointer-events":"all"}); + if (svg.type === "svg") { + // for svg element, put inside the main element + var g = svg.element.firstChild; + while (g.firstChild) {a.appendChild(g.firstChild)} + g.appendChild(a); + } else { + a.appendChild(svg.element); svg.element = a; + } + svg.removeable = false; + }, + // + // WebKit currently scrolls to the BOTTOM of an svg element if it contains the + // target of the link, so implement link by hand, to the containing span element. + // + SVGlink: function () { + var href = this.href.animVal; + if (href.charAt(0) === "#") { + var target = SVG.hashCheck(document.getElementById(href.substr(1))); + if (target && target.scrollIntoView) + {setTimeout(function () {target.parentNode.scrollIntoView(true)},1)} + } + document.location = href; + }, + + SVGgetStyles: function () { + if (this.style) { + var span = HTML.Element("span"); + span.style.cssText = this.style; + this.styles = this.SVGprocessStyles(span.style); + } + }, + SVGprocessStyles: function (style) { + var styles = {border:SVG.getBorders(style), padding:SVG.getPadding(style)}; + if (!styles.border) {delete styles.border} + if (!styles.padding) {delete styles.padding} + if (style.fontSize) {styles.fontSize = style.fontSize} + if (style.color) {styles.color = style.color} + if (style.backgroundColor) {styles.background = style.backgroundColor} + if (style.fontStyle) {styles.fontStyle = style.fontStyle} + if (style.fontWeight) {styles.fontWeight = style.fontWeight} + if (style.fontFamily) {styles.fontFamily = style.fontFamily} + if (styles.fontWeight && styles.fontWeight.match(/^\d+$/)) + {styles.fontWeight = (parseInt(styles.fontWeight) > 600 ? "bold" : "normal")} + return styles; + }, + + SVGhandleSpace: function (svg) { + if (this.hasMMLspacing()) { + if (this.type !== "mo") return; + var values = this.getValues("scriptlevel","lspace","rspace"); + if (values.scriptlevel <= 0 || this.hasValue("lspace") || this.hasValue("rspace")) { + var mu = this.SVGgetMu(svg); + values.lspace = Math.max(0,SVG.length2em(values.lspace,mu)); + values.rspace = Math.max(0,SVG.length2em(values.rspace,mu)); + var core = this, parent = this.Parent(); + while (parent && parent.isEmbellished() && parent.Core() === core) + {core = parent; parent = parent.Parent()} + if (values.lspace) {svg.x += values.lspace} + if (values.rspace) {svg.X = values.rspace} + } + } else { + var space = this.texSpacing(); + this.SVGgetScale(); + if (space !== "") {svg.x += SVG.length2em(space,this.scale)*this.mscale} + } + }, + + SVGhandleColor: function (svg) { + var values = this.getValues("mathcolor","color"); + if (this.styles && this.styles.color && !values.color) {values.color = this.styles.color} + if (values.color && !this.mathcolor) {values.mathcolor = values.color} + if (values.mathcolor) { + SVG.Element(svg.element,{fill:values.mathcolor,stroke:values.mathcolor}) + svg.removeable = false; + } + var borders = (this.styles||{}).border, padding = (this.styles||{}).padding, + bleft = ((borders||{}).left||0), pleft = ((padding||{}).left||0), id; + values.background = (this.mathbackground || this.background || + (this.styles||{}).background || MML.COLOR.TRANSPARENT); + if (bleft + pleft) { + // + // Make a box and move the contents of svg to it, + // then add it back into svg, but offset by the left amount + // + var dup = BBOX(); for (id in svg) {if (svg.hasOwnProperty(id)) {dup[id] = svg[id]}} + dup.x = 0; dup.y = 0; + svg.element = SVG.Element("g"); svg.removeable = true; + svg.Add(dup,bleft+pleft,0); + } + // + // Adjust size by padding and dashed borders (left is taken care of above) + // + if (padding) {svg.w += padding.right||0; svg.h += padding.top||0; svg.d += padding.bottom||0} + if (borders) {svg.w += borders.right||0; svg.h += borders.top||0; svg.d += borders.bottom||0} + // + // Add background color + // + if (values.background !== MML.COLOR.TRANSPARENT) { + var nodeName = svg.element.nodeName.toLowerCase(); + if (nodeName !== "g" && nodeName !== "svg") { + var g = SVG.Element("g"); g.appendChild(svg.element); + svg.element = g; svg.removeable = true; + } + svg.Add(BBOX.RECT(svg.h,svg.d,svg.w,{fill:values.background,stroke:"none"}),0,0,false,true) + } + // + // Add borders + // + if (borders) { + var dd = 5; // fuzz factor to avoid anti-alias problems at edges + var sides = { + left: ["V",svg.h+svg.d,-dd,-svg.d], + right: ["V",svg.h+svg.d,svg.w-borders.right+dd,-svg.d], + top: ["H",svg.w,0,svg.h-borders.top+dd], + bottom:["H",svg.w,0,-svg.d-dd] + } + for (id in sides) {if (sides.hasOwnProperty(id)) { + if (borders[id]) { + var side = sides[id], box = BBOX[side[0]+"LINE"]; + svg.Add(box(side[1],borders[id],borders[id+"Style"],borders[id+"Color"]),side[2],side[3]); + } + }} + } + }, + + SVGhandleVariant: function (variant,scale,text) { + return SVG.HandleVariant(variant,scale,text); + }, + + SVGgetVariant: function () { + var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle"); + var variant = values.mathvariant; + if (this.variantForm) variant = "-"+SVG.fontInUse+"-variant"; + values.hasVariant = this.Get("mathvariant",true); // null if not explicitly specified + if (!values.hasVariant) { + values.family = values.fontfamily; + values.weight = values.fontweight; + values.style = values.fontstyle; + } + if (this.styles) { + if (!values.style && this.styles.fontStyle) {values.style = this.styles.fontStyle} + if (!values.weight && this.styles.fontWeight) {values.weight = this.styles.fontWeight} + if (!values.family && this.styles.fontFamily) {values.family = this.styles.fontFamily} + } + if (values.family && !values.hasVariant) { + if (!values.weight && values.mathvariant.match(/bold/)) {values.weight = "bold"} + if (!values.style && values.mathvariant.match(/italic/)) {values.style = "italic"} + variant = {forceFamily: true, font: {"font-family":values.family}}; + if (values.style) {variant.font["font-style"] = values.style} + if (values.weight) {variant.font["font-weight"] = values.weight} + return variant; + } + if (values.weight === "bold") { + variant = { + normal:MML.VARIANT.BOLD, italic:MML.VARIANT.BOLDITALIC, + fraktur:MML.VARIANT.BOLDFRAKTUR, script:MML.VARIANT.BOLDSCRIPT, + "sans-serif":MML.VARIANT.BOLDSANSSERIF, + "sans-serif-italic":MML.VARIANT.SANSSERIFBOLDITALIC + }[variant]||variant; + } else if (values.weight === "normal") { + variant = { + bold:MML.VARIANT.normal, "bold-italic":MML.VARIANT.ITALIC, + "bold-fraktur":MML.VARIANT.FRAKTUR, "bold-script":MML.VARIANT.SCRIPT, + "bold-sans-serif":MML.VARIANT.SANSSERIF, + "sans-serif-bold-italic":MML.VARIANT.SANSSERIFITALIC + }[variant]||variant; + } + if (values.style === "italic") { + variant = { + normal:MML.VARIANT.ITALIC, bold:MML.VARIANT.BOLDITALIC, + "sans-serif":MML.VARIANT.SANSSERIFITALIC, + "bold-sans-serif":MML.VARIANT.SANSSERIFBOLDITALIC + }[variant]||variant; + } else if (values.style === "normal") { + variant = { + italic:MML.VARIANT.NORMAL, "bold-italic":MML.VARIANT.BOLD, + "sans-serif-italic":MML.VARIANT.SANSSERIF, + "sans-serif-bold-italic":MML.VARIANT.BOLDSANSSERIF + }[variant]||variant; + } + if (!(variant in SVG.FONTDATA.VARIANT)) { + // If the mathvariant value is invalid or not supported by this + // font, fallback to normal. See issue 363. + variant = "normal"; + } + return SVG.FONTDATA.VARIANT[variant]; + }, + + SVGgetScale: function (svg) { + var scale = 1; + if (this.mscale) { + scale = this.scale; + } else { + var values = this.getValues("scriptlevel","fontsize"); + values.mathsize = (this.isToken ? this : this.Parent()).Get("mathsize"); + if ((this.styles||{}).fontSize && !values.fontsize) {values.fontsize = this.styles.fontSize} + if (values.fontsize && !this.mathsize) {values.mathsize = values.fontsize} + if (values.scriptlevel !== 0) { + if (values.scriptlevel > 2) {values.scriptlevel = 2} + scale = Math.pow(this.Get("scriptsizemultiplier"),values.scriptlevel); + values.scriptminsize = SVG.length2em(this.Get("scriptminsize"))/1000; + if (scale < values.scriptminsize) {scale = values.scriptminsize} + } + this.scale = scale; this.mscale = SVG.length2em(values.mathsize)/1000; + } + if (svg) {svg.scale = scale; if (this.isToken) {svg.scale *= this.mscale}} + return scale * this.mscale; + }, + SVGgetMu: function (svg) { + var mu = 1, values = this.getValues("scriptlevel","scriptsizemultiplier"); + if (svg.scale && svg.scale !== 1) {mu = 1/svg.scale} + if (values.scriptlevel !== 0) { + if (values.scriptlevel > 2) {values.scriptlevel = 2} + mu = Math.sqrt(Math.pow(values.scriptsizemultiplier,values.scriptlevel)); + } + return mu; + }, + + SVGnotEmpty: function (data) { + while (data) { + if ((data.type !== "mrow" && data.type !== "texatom") || + data.data.length > 1) {return true} + data = data.data[0]; + } + return false; + }, + + SVGcanStretch: function (direction) { + var can = false; + if (this.isEmbellished()) { + var core = this.Core(); + if (core && core !== this) { + can = core.SVGcanStretch(direction); + if (can && core.forceStretch) {this.forceStretch = true} + } + } + return can; + }, + SVGstretchV: function (h,d) {return this.toSVG(h,d)}, + SVGstretchH: function (w) {return this.toSVG(w)}, + + SVGlineBreaks: function () {return false} + + },{ + SVGemptySVG: function () { + var svg = this.SVG(); + svg.Clean(); + this.SVGsaveData(svg); + return svg; + }, + SVGautoload: function () { + this.constructor.Augment({toSVG: MML.mbase.SVGautoloadFail}); + var file = SVG.autoloadDir+"/"+this.type+".js"; + HUB.RestartAfter(AJAX.Require(file)); + }, + SVGautoloadFail: function () { + throw Error("SVG can't autoload '"+ this.type + "'"); + }, + SVGautoloadList: {}, + SVGautoloadFile: function (name) { + if (MML.mbase.SVGautoloadList.hasOwnProperty(name)) { + throw Error("SVG can't autoload file '"+name+"'"); + } + MML.mbase.SVGautoloadList[name] = true; + var file = SVG.autoloadDir+"/"+name+".js"; + HUB.RestartAfter(AJAX.Require(file)); + } + }); + + MML.chars.Augment({ + toSVG: function (variant,scale,remap,chars) { + var text = this.data.join("").replace(/[\u2061-\u2064]/g,""); // remove invisibles + if (remap) {text = remap(text,chars)} + return this.SVGhandleVariant(variant,scale,text); + } + }); + MML.entity.Augment({ + toSVG: function (variant,scale,remap,chars) { + var text = this.toString().replace(/[\u2061-\u2064]/g,""); // remove invisibles + if (remap) {text = remap(text,chars)} + return this.SVGhandleVariant(variant,scale,text); + } + }); + + MML.mo.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.svg = this.SVG(); + var scale = this.SVGgetScale(svg); + this.SVGhandleSpace(svg); + if (this.data.length == 0) {svg.Clean(); this.SVGsaveData(svg); return svg} + // + // Stretch the operator, if that is requested + // + if (D != null) {return this.SVGstretchV(HW,D)} + else if (HW != null) {return this.SVG.strechH(HW)} + // + // Get the variant, and check for operator size + // + var variant = this.SVGgetVariant(); + var values = this.getValues("largeop","displaystyle"); + if (values.largeop) + {variant = SVG.FONTDATA.VARIANT[values.displaystyle ? "-largeOp" : "-smallOp"]} + // + // Get character translation for superscript and accents + // + var parent = this.CoreParent(), + isScript = (parent && parent.isa(MML.msubsup) && this !== parent.data[0]), + mapchars = (isScript?this.remapChars:null); + if (SVG.isChar(this.data.join("")) && parent && parent.isa(MML.munderover) && + SVG.isChar(this.CoreText(parent.data[parent.base]))) { + var over = parent.data[parent.over], under = parent.data[parent.under]; + if (over && this === over.CoreMO() && parent.Get("accent")) {mapchars = SVG.FONTDATA.REMAPACCENT} + else if (under && this === under.CoreMO() && parent.Get("accentunder")) {mapchars = SVG.FONTDATA.REMAPACCENTUNDER} + } + // + // Primes must come from another font + // + if (isScript && this.data.join("").match(/['`"\u00B4\u2032-\u2037\u2057]/)) + {variant = SVG.FONTDATA.VARIANT["-"+SVG.fontInUse+"-variant"]} + // + // Typeset contents + // + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) { + var text = this.data[i].toSVG(variant,scale,this.remap,mapchars), x = svg.w; + if (x === 0 && -text.l > 10*text.w) {x += -text.l} // initial combining character doesn't combine + svg.Add(text,x,0,true); + if (text.skew) {svg.skew = text.skew} + } + } + svg.Clean(); + if (!SVG.isChar(this.data.join(""))) {delete svg.skew} + // + // Handle large operator centering + // + if (values.largeop) { + svg.y = SVG.TeX.axis_height - (svg.h - svg.d)/2/scale; + if (svg.r > svg.w) {svg.ic = svg.r - svg.w; svg.w = svg.r} + } + // + // Finish up + // + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGcanStretch: function (direction) { + if (!this.Get("stretchy")) {return false} + var c = this.data.join(""); + if (c.length > 1) {return false} + var parent = this.CoreParent(); + if (parent && parent.isa(MML.munderover) && + SVG.isChar(this.CoreText(parent.data[parent.base]))) { + var over = parent.data[parent.over], under = parent.data[parent.under]; + if (over && this === over.CoreMO() && parent.Get("accent")) {c = SVG.FONTDATA.REMAPACCENT[c]||c} + else if (under && this === under.CoreMO() && parent.Get("accentunder")) {c = SVG.FONTDATA.REMAPACCENTUNDER[c]||c} + } + c = SVG.FONTDATA.DELIMITERS[c.charCodeAt(0)]; + var can = (c && c.dir == direction.substr(0,1)); + if (!can) {delete this.svg} + this.forceStretch = can && (this.Get("minsize",true) || this.Get("maxsize",true)); + return can; + }, + SVGstretchV: function (h,d) { + var svg = this.svg || this.toSVG(); + var values = this.getValues("symmetric","maxsize","minsize"); + var axis = SVG.TeX.axis_height*svg.scale, mu = this.SVGgetMu(svg), H; + if (values.symmetric) {H = 2*Math.max(h-axis,d+axis)} else {H = h + d} + values.maxsize = SVG.length2em(values.maxsize,mu,svg.h+svg.d); + values.minsize = SVG.length2em(values.minsize,mu,svg.h+svg.d); + H = Math.max(values.minsize,Math.min(values.maxsize,H)); + if (H != values.minsize) + {H = [Math.max(H*SVG.TeX.delimiterfactor/1000,H-SVG.TeX.delimitershortfall),H]} + svg = SVG.createDelimiter(this.data.join("").charCodeAt(0),H,svg.scale); + if (values.symmetric) {H = (svg.h + svg.d)/2 + axis} + else {H = (svg.h + svg.d) * h/(h + d)} + svg.y = H - svg.h; + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + delete this.svg.element; + this.SVGsaveData(svg); + svg.stretched = true; + return svg; + }, + SVGstretchH: function (w) { + var svg = this.svg || this.toSVG(), mu = this.SVGgetMu(svg); + var values = this.getValues("maxsize","minsize","mathvariant","fontweight"); + // FIXME: should take style="font-weight:bold" into account as well + if ((values.fontweight === "bold" || parseInt(values.fontweight) >= 600) && + !this.Get("mathvariant",true)) {values.mathvariant = MML.VARIANT.BOLD} + values.maxsize = SVG.length2em(values.maxsize,mu,svg.w); + values.minsize = SVG.length2em(values.minsize,mu,svg.w); + w = Math.max(values.minsize,Math.min(values.maxsize,w)); + svg = SVG.createDelimiter(this.data.join("").charCodeAt(0),w,svg.scale,values.mathvariant); + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + delete this.svg.element; + this.SVGsaveData(svg); + svg.stretched = true; + return svg; + } + }); + + MML.mn.Augment({ + SVGremapMinus: function (text) {return text.replace(/^-/,"\u2212")}, + toSVG: function () { + this.SVGgetStyles(); + var variant = this.SVGgetVariant(); + var svg = this.SVG(); this.SVGgetScale(svg); + this.SVGhandleSpace(svg); + var remap = this.SVGremapMinus; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) { + var child = svg.Add(this.data[i].toSVG(variant,svg.scale,remap),svg.w,0,true); + if (child.skew) {svg.skew = child.skew} + remap = null; + } + } + svg.Clean(); var text = this.data.join(""); + if (svg.skew && !SVG.isChar(text)) {delete svg.skew} + if (svg.r > svg.w && SVG.isChar(text) && !variant.noIC) + {svg.ic = svg.r - svg.w; svg.w = svg.r} + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + }), + + MML.mtext.Augment({ + toSVG: function () { + if (SVG.config.mtextFontInherit || this.Parent().type === "merror") { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); + this.SVGhandleSpace(svg); + var variant = this.SVGgetVariant(), def = {direction:this.Get("dir")}; + if (variant.bold) {def["font-weight"] = "bold"} + if (variant.italic) {def["font-style"] = "italic"} + variant = this.Get("mathvariant"); + if (variant === "monospace") {def["class"] = "MJX-monospace"} + else if (variant.match(/sans-serif/)) {def["class"] = "MJX-sans-serif"} + svg.Add(BBOX.TEXT(scale*100/SVG.config.scale,this.data.join(""),def)); svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } else { + return this.SUPER(arguments).toSVG.call(this); + } + } + }); + + MML.merror.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(), scale = SVG.length2em(this.styles.fontSize||1)/1000; + this.SVGhandleSpace(svg); + var def = (scale !== 1 ? {transform:"scale("+SVG.Fixed(scale)+")"} : {}); + var bbox = BBOX(def); + bbox.Add(this.SVGchildSVG(0)); bbox.Clean(); + if (scale !== 1) { + bbox.removeable = false; + var adjust = ["w","h","d","l","r","D","H"]; + for (var i = 0, m = adjust.length; i < m; i++) {bbox[adjust[i]] *= scale} + } + svg.Add(bbox); svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGgetStyles: function () { + var span = HTML.Element("span",{style: SVG.config.merrorStyle}); + this.styles = this.SVGprocessStyles(span.style); + if (this.style) { + span.style.cssText = this.style; + HUB.Insert(this.styles,this.SVGprocessStyles(span.style)); + } + } + }); + + MML.ms.Augment({toSVG: MML.mbase.SVGautoload}); + + MML.mglyph.Augment({toSVG: MML.mbase.SVGautoload}); + + MML.mspace.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var values = this.getValues("height","depth","width"); + values.mathbackground = this.mathbackground; + if (this.background && !this.mathbackground) {values.mathbackground = this.background} + var svg = this.SVG(); this.SVGgetScale(svg); + var scale = this.mscale, mu = this.SVGgetMu(svg); + svg.h = SVG.length2em(values.height,mu) * scale; + svg.d = SVG.length2em(values.depth,mu) * scale; + svg.w = svg.r = SVG.length2em(values.width,mu) * scale; + if (svg.w < 0) {svg.x = svg.w; svg.w = svg.r = 0} + if (svg.h < -svg.d) {svg.d = -svg.h} + svg.l = 0; svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.mphantom.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(); this.SVGgetScale(svg); + if (this.data[0] != null) { + this.SVGhandleSpace(svg); svg.Add(this.SVGdataStretched(0,HW,D)); svg.Clean(); + while (svg.element.firstChild) {svg.element.removeChild(svg.element.firstChild)} + } + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + if (svg.removeable && !svg.element.firstChild) {delete svg.element} + return svg; + } + }); + + MML.mpadded.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(); + if (this.data[0] != null) { + this.SVGgetScale(svg); this.SVGhandleSpace(svg); + var pad = this.SVGdataStretched(0,HW,D), mu = this.SVGgetMu(svg); + var values = this.getValues("height","depth","width","lspace","voffset"), X = 0, Y = 0; + if (values.lspace) {X = this.SVGlength2em(pad,values.lspace,mu)} + if (values.voffset) {Y = this.SVGlength2em(pad,values.voffset,mu)} + var h = pad.h, d = pad.d, w = pad.w, y = pad.y; // these can change during the Add() + svg.Add(pad,X,Y); svg.Clean(); + svg.h = h+y; svg.d = d-y; svg.w = w; svg.removeable = false; + if (values.height !== "") {svg.h = this.SVGlength2em(svg,values.height,mu,"h",0)} + if (values.depth !== "") {svg.d = this.SVGlength2em(svg,values.depth,mu,"d",0)} + if (values.width !== "") {svg.w = this.SVGlength2em(svg,values.width,mu,"w",0)} + if (svg.h > svg.H) {svg.H = svg.h}; if (svg.d > svg.D) {svg.D = svg.d} + } + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGlength2em: function (svg,length,mu,d,m) { + if (m == null) {m = -SVG.BIGDIMEN} + var match = String(length).match(/width|height|depth/); + var size = (match ? svg[match[0].charAt(0)] : (d ? svg[d] : 0)); + var v = SVG.length2em(length,mu,size/this.mscale)*this.mscale; + if (d && String(length).match(/^\s*[-+]/)) + {return Math.max(m,svg[d]+v)} else {return v} + } + }); + + MML.mrow.Augment({ + SVG: BBOX.ROW, + toSVG: function (h,d) { + this.SVGgetStyles(); + var svg = this.SVG(); + this.SVGhandleSpace(svg); + if (d != null) {svg.sh = h; svg.sd = d} + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {svg.Check(this.data[i])}} + svg.Stretch(); svg.Clean(); + if (this.data.length === 1 && this.data[0]) { + var data = this.data[0].SVGdata; + if (data.skew) {svg.skew = data.skew} + } + if (this.SVGlineBreaks(svg)) {svg = this.SVGmultiline(svg)} + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGlineBreaks: function (svg) { + if (!this.parent.linebreakContainer) {return false} + return (SVG.config.linebreaks.automatic && + svg.w > SVG.linebreakWidth) || this.hasNewline(); + }, + SVGmultiline: function (span) {MML.mbase.SVGautoloadFile("multiline")}, + SVGstretchH: function (w) { + var svg = this.SVG(); + this.SVGhandleSpace(svg); + for (var i = 0, m = this.data.length; i < m; i++) + {svg.Add(this.SVGdataStretched(i,w),svg.w,0)} + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.mstyle.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(); + if (this.data[0] != null) { + this.SVGhandleSpace(svg); + var math = svg.Add(this.data[0].toSVG()); svg.Clean(); + if (math.ic) {svg.ic = math.ic} + this.SVGhandleColor(svg); + } + this.SVGsaveData(svg); + return svg; + }, + SVGstretchH: function (w) { + return (this.data[0] != null ? this.data[0].SVGstretchH(w) : BBOX.NULL()); + }, + SVGstretchV: function (h,d) { + return (this.data[0] != null ? this.data[0].SVGstretchV(h,d) : BBOX.NULL()); + } + }); + + MML.mfrac.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); + var frac = BBOX(); frac.scale = svg.scale; this.SVGhandleSpace(frac); + var num = this.SVGchildSVG(0), den = this.SVGchildSVG(1); + var values = this.getValues("displaystyle","linethickness","numalign","denomalign","bevelled"); + var isDisplay = values.displaystyle; + var a = SVG.TeX.axis_height * scale; + if (values.bevelled) { + var delta = (isDisplay ? 400 : 150); + var H = Math.max(num.h+num.d,den.h+den.d)+2*delta; + var bevel = SVG.createDelimiter(0x2F,H); + frac.Add(num,0,(num.d-num.h)/2+a+delta); + frac.Add(bevel,num.w-delta/2,(bevel.d-bevel.h)/2+a); + frac.Add(den,num.w+bevel.w-delta,(den.d-den.h)/2+a-delta); + } else { + var W = Math.max(num.w,den.w); + var t = SVG.thickness2em(values.linethickness,this.scale)*this.mscale, p,q, u,v; + var mt = SVG.TeX.min_rule_thickness/SVG.em * 1000; + if (isDisplay) {u = SVG.TeX.num1; v = SVG.TeX.denom1} + else {u = (t === 0 ? SVG.TeX.num3 : SVG.TeX.num2); v = SVG.TeX.denom2} + u *= scale; v *= scale; + if (t === 0) {// \atop + p = Math.max((isDisplay ? 7 : 3) * SVG.TeX.rule_thickness, 2*mt); // force to at least 2 px + q = (u - num.d) - (den.h - v); + if (q < p) {u += (p - q)/2; v += (p - q)/2} + frac.w = W; t = 0; + } else {// \over + p = Math.max((isDisplay ? 2 : 0) * mt + t, t/2 + 1.5*mt); // force to be at least 1.5px + q = (u - num.d) - (a + t/2); if (q < p) {u += p - q} + q = (a - t/2) - (den.h - v); if (q < p) {v += p - q} + frac.Add(BBOX.RECT(t/2,t/2,W+2*t),0,a); + } + frac.Align(num,values.numalign,t,u); + frac.Align(den,values.denomalign,t,-v); + } + frac.Clean(); svg.Add(frac,0,0); svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGcanStretch: function (direction) {return false}, + SVGhandleSpace: function (svg) { + if (!this.texWithDelims) { + // + // Add nulldelimiterspace around the fraction + // (TeXBook pg 150 and Appendix G rule 15e) + // + svg.x = svg.X = SVG.TeX.nulldelimiterspace * this.mscale; + } + this.SUPER(arguments).SVGhandleSpace.call(this,svg); + } + }); + + MML.msqrt.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); + var base = this.SVGchildSVG(0), rule, surd; + var t = SVG.TeX.rule_thickness * scale, p,q, H, x = 0; + if (this.Get("displaystyle")) {p = SVG.TeX.x_height * scale} else {p = t} + q = Math.max(t + p/4,1000*SVG.TeX.min_root_space/SVG.em); + H = base.h + base.d + q + t; + surd = SVG.createDelimiter(0x221A,H,scale); + if (surd.h + surd.d > H) {q = ((surd.h+surd.d) - (H-t)) / 2} + rule = BBOX.RECT(t,0,base.w); + H = base.h + q + t; + x = this.SVGaddRoot(svg,surd,x,surd.h+surd.d-H,scale); + svg.Add(surd,x,H-surd.h); + svg.Add(rule,x+surd.w,H-rule.h); + svg.Add(base,x+surd.w,0); + svg.Clean(); + svg.h += t; svg.H += t; + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGaddRoot: function (svg,surd,x,d,scale) {return x} + }); + + MML.mroot.Augment({ + toSVG: MML.msqrt.prototype.toSVG, + SVGaddRoot: function (svg,surd,x,d,scale) { + var dx = (surd.isMultiChar ? .55 : .65) * surd.w; + if (this.data[1]) { + var root = this.data[1].toSVG(); root.x = 0; + var h = this.SVGrootHeight(surd.h+surd.d,scale,root)-d; + var w = Math.min(root.w,root.r); // remove extra right-hand padding, if any + x = Math.max(w,dx); + svg.Add(root,x-w,h); + } else {dx = x} + return x - dx; + }, + SVGrootHeight: function (d,scale,root) { + return .45*(d-900*scale) + 600*scale + Math.max(0,root.d-75); + } + }); + + MML.mfenced.Augment({ + SVG: BBOX.ROW, + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(); + this.SVGhandleSpace(svg); + if (this.data.open) {svg.Check(this.data.open)} + if (this.data[0] != null) {svg.Check(this.data[0])} + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data[i]) { + if (this.data["sep"+i]) {svg.Check(this.data["sep"+i])} + svg.Check(this.data[i]); + } + } + if (this.data.close) {svg.Check(this.data.close)} + svg.Stretch(); svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.menclose.Augment({toSVG: MML.mbase.SVGautoload}); + MML.maction.Augment({toSVG: MML.mbase.SVGautoload}); + + MML.semantics.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(); + if (this.data[0] != null) { + this.SVGhandleSpace(svg); + svg.Add(this.data[0].toSVG()); svg.Clean(); + } else {svg.Clean()} + this.SVGsaveData(svg); + return svg; + }, + SVGstretchH: function (w) { + return (this.data[0] != null ? this.data[0].SVGstretchH(w) : BBOX.NULL()); + }, + SVGstretchV: function (h,d) { + return (this.data[0] != null ? this.data[0].SVGstretchV(h,d) : BBOX.NULL()); + } + }); + + MML.munderover.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var values = this.getValues("displaystyle","accent","accentunder","align"); + var base = this.data[this.base]; + if (!values.displaystyle && base != null && + (base.movablelimits || base.CoreMO().Get("movablelimits"))) + {return MML.msubsup.prototype.toSVG.call(this)} + var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); + var boxes = [], stretch = [], box, i, m, W = -SVG.BIGDIMEN, WW = W, ww; + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] != null) { + if (i == this.base) { + box = boxes[i] = this.SVGdataStretched(i,HW,D); + stretch[i] = (D != null || HW == null) && this.data[i].SVGcanStretch("Horizontal"); + if (this.data[this.over] && values.accent) { + box.h = Math.max(box.h,scale*SVG.TeX.x_height); // min height of 1ex (#1706) + } + } else { + box = boxes[i] = this.data[i].toSVG(); box.x = 0; delete box.X; + stretch[i] = this.data[i].SVGcanStretch("Horizontal"); + } + ww = box.w + box.x + (box.X || 0); + if (ww > WW) {WW = ww} + if (!stretch[i] && WW > W) {W = WW} + } + } + if (D == null && HW != null) {W = HW} else if (W == -SVG.BIGDIMEN) {W = WW} + for (i = WW = 0, m = this.data.length; i < m; i++) {if (this.data[i]) { + box = boxes[i]; + if (stretch[i]) { + box = boxes[i] = this.data[i].SVGstretchH(W); + if (i !== this.base) {box.x = 0; delete box.X} + } + ww = box.w + box.x + (box.X || 0); + if (ww > WW) {WW = ww} + }} + var t = SVG.TeX.rule_thickness * this.mscale; + var x, y, z1, z2, z3, dw, k, delta = 0; + base = boxes[this.base] || {w:0, h:0, d:0, H:0, D:0, l:0, r:0, y:0, scale:scale}; + if (base.ic) {delta = 1.3*base.ic + .05} // adjust faked IC to be more in line with expeted results + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] != null) { + box = boxes[i]; + z3 = SVG.TeX.big_op_spacing5 * scale; + var accent = (i != this.base && values[this.ACCENTS[i]]); + if (accent && box.w <= 1) { + box.x = -box.l; + boxes[i] = BBOX.G().With({removeable: false}); + boxes[i].Add(box); boxes[i].Clean(); + boxes[i].w = -box.l; box = boxes[i]; + } + ww = box.w + box.x + (box.X || 0); + dw = {left:0, center:(WW-ww)/2, right:WW-ww}[values.align]; + x = dw; y = 0; + if (i == this.over) { + if (accent) { + k = t * scale; z3 = 0; + if (base.skew) { + x += base.skew; svg.skew = base.skew; + if (x+ww > WW) {svg.skew += (WW-ww-x)/2} + } + } else { + z1 = SVG.TeX.big_op_spacing1 * scale; + z2 = SVG.TeX.big_op_spacing3 * scale; + k = Math.max(z1,z2-Math.max(0,box.d)); + } + k = Math.max(k,1500/SVG.em); + x += delta/2; y = base.y + base.h + box.d + k; + box.h += z3; if (box.h > box.H) {box.H = box.h} + } else if (i == this.under) { + if (accent) { + k = 3*t * scale; z3 = 0; + } else { + z1 = SVG.TeX.big_op_spacing2 * scale; + z2 = SVG.TeX.big_op_spacing4 * scale; + k = Math.max(z1,z2-box.h); + } + k = Math.max(k,1500/SVG.em); + x -= delta/2; y = base.y -(base.d + box.h + k); + box.d += z3; if (box.d > box.D) {box.D = box.d} + } + svg.Add(box,x,y); + } + } + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.msubsup.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); + var mu = this.SVGgetMu(svg); + var base = svg.Add(this.SVGdataStretched(this.base,HW,D)); + var sscale = (this.data[this.sup] || this.data[this.sub] || this).SVGgetScale(); + var x_height = SVG.TeX.x_height * scale, s = SVG.TeX.scriptspace * scale; + var sup, sub; + if (this.SVGnotEmpty(this.data[this.sup])) { + sup = this.data[this.sup].toSVG(); + sup.w += s; sup.r = Math.max(sup.w,sup.r); + } + if (this.SVGnotEmpty(this.data[this.sub])) { + sub = this.data[this.sub].toSVG(); + sub.w += s; sub.r = Math.max(sub.w,sub.r); + } + var q = SVG.TeX.sup_drop * sscale, r = SVG.TeX.sub_drop * sscale; + var u = base.h+(base.y||0) - q, v = base.d-(base.y||0) + r, delta = 0, p; + if (base.ic) { + base.w -= base.ic; // remove IC (added by mo and mi) + delta = 1.3*base.ic+.05; // adjust faked IC to be more in line with expeted results + } + if (this.data[this.base] && + (this.data[this.base].type === "mi" || this.data[this.base].type === "mo")) { + if (SVG.isChar(this.data[this.base].data.join("")) && base.scale === 1 && + !base.stretched && !this.data[this.base].Get("largeop")) {u = v = 0} + } + var min = this.getValues("subscriptshift","superscriptshift"); + min.subscriptshift = (min.subscriptshift === "" ? 0 : SVG.length2em(min.subscriptshift,mu)); + min.superscriptshift = (min.superscriptshift === "" ? 0 : SVG.length2em(min.superscriptshift,mu)); + var x = base.w + base.x; + if (!sup) { + if (sub) { + v = Math.max(v,SVG.TeX.sub1*scale,sub.h-(4/5)*x_height,min.subscriptshift); + svg.Add(sub,x,-v); this.data[this.sub].SVGdata.dy = -v; + } + } else { + if (!sub) { + var values = this.getValues("displaystyle","texprimestyle"); + p = SVG.TeX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; + u = Math.max(u,p*scale,sup.d+(1/4)*x_height,min.superscriptshift); + svg.Add(sup,x+delta,u); + this.data[this.sup].SVGdata.dx = delta; + this.data[this.sup].SVGdata.dy = u; + } else { + v = Math.max(v,SVG.TeX.sub2*scale); + var t = SVG.TeX.rule_thickness * scale; + if ((u - sup.d) - (sub.h - v) < 3*t) { + v = 3*t - u + sup.d + sub.h; + q = (4/5)*x_height - (u - sup.d); + if (q > 0) {u += q; v -= q} + } + svg.Add(sup,x+delta,Math.max(u,min.superscriptshift)); + svg.Add(sub,x,-Math.max(v,min.subscriptshift)); + this.data[this.sup].SVGdata.dx = delta; + this.data[this.sup].SVGdata.dy = Math.max(u,min.superscriptshift); + this.data[this.sub].SVGdata.dy = -Math.max(v,min.subscriptshift); + } + } + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.mmultiscripts.Augment({toSVG: MML.mbase.SVGautoload}); + MML.mtable.Augment({toSVG: MML.mbase.SVGautoload}); + MML["annotation-xml"].Augment({toSVG: MML.mbase.SVGautoload}); + + MML.math.Augment({ + SVG: BBOX.Subclass({type:"svg", removeable: false}), + toSVG: function (span,div) { + var CONFIG = SVG.config; + // + // All the data should be in an inferrerd row + // + if (this.data[0]) { + this.SVGgetStyles(); + MML.mbase.prototype.displayAlign = HUB.config.displayAlign; + MML.mbase.prototype.displayIndent = HUB.config.displayIndent; + if (String(HUB.config.displayIndent).match(/^0($|[a-z%])/i)) + MML.mbase.prototype.displayIndent = "0"; + // + // Put content in a with defaults and matrix that flips y axis. + // Put that in an with xlink defined. + // + var box = BBOX.G(); box.Add(this.data[0].toSVG(),0,0,true); box.Clean(); + this.SVGhandleColor(box); + SVG.Element(box.element,{ + stroke:"currentColor", fill:"currentColor", "stroke-width":0, + transform: "matrix(1 0 0 -1 0 0)" + }); + box.removeable = false; + var svg = this.SVG(); + svg.element.setAttribute("xmlns:xlink",XLINKNS); + if (CONFIG.useFontCache && !CONFIG.useGlobalCache) + {svg.element.appendChild(BBOX.GLYPH.defs)} + svg.Add(box); svg.Clean(); + this.SVGsaveData(svg); + // + // If this element is not the top-level math element + // remove the transform and return the svg object + // (issue #614). + // + if (!span) { + svg.element = svg.element.firstChild; // remove element + svg.element.removeAttribute("transform"); + svg.removable = true; + return svg; + } + // + // Style the to get the right size and placement + // + var l = Math.max(-svg.l,0), r = Math.max(svg.r-svg.w,0); + var style = svg.element.style, px = SVG.TeX.x_height/SVG.ex; + var H = (Math.ceil(svg.H/px)+1)*px+SVG.HFUZZ, // round to pixels and add padding + D = (Math.ceil(svg.D/px)+1)*px+SVG.DFUZZ; + var w = l + svg.w + r; + svg.element.setAttribute("width",SVG.Ex(w)); + svg.element.setAttribute("height",SVG.Ex(H+D)); + style.verticalAlign = SVG.Ex(-D); + if (l) style.marginLeft = SVG.Ex(-l); + if (r) style.marginRight = SVG.Ex(-r); + svg.element.setAttribute("viewBox",SVG.Fixed(-l,1)+" "+SVG.Fixed(-H,1)+" "+ + SVG.Fixed(w,1)+" "+SVG.Fixed(H+D,1)); + // + // If there is extra height or depth, hide that + // + if (svg.H > svg.h) style.marginTop = SVG.Ex(svg.h-H); + if (svg.D > svg.d) { + style.marginBottom = SVG.Ex(svg.d-D); + style.verticalAlign = SVG.Ex(-svg.d); + } + // + // The approximate ex can cause full-width equations to be too wide, + // so if they are close to full width, make sure they aren't too big. + // + if (Math.abs(w-SVG.cwidth) < 10) + style.maxWidth = SVG.Fixed(SVG.cwidth*SVG.em/1000*SVG.config.scale) + "px"; + // + // Add it to the MathJax span + // + var alttext = this.Get("alttext"); + if (alttext && !svg.element.getAttribute("aria-label")) svg.element.setAttribute("aria-label",alttext); + if (!svg.element.getAttribute("role")) svg.element.setAttribute("role","img"); + svg.element.setAttribute("focusable","false"); + span.appendChild(svg.element); + svg.element = null; + // + // Handle indentalign and indentshift for single-line displays + // + if (!this.isMultiline && this.Get("display") === "block" && !svg.hasIndent) { + var values = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); + if (values.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) {values.indentalign = values.indentalignfirst} + if (values.indentalign === MML.INDENTALIGN.AUTO) {values.indentalign = this.displayAlign} + if (values.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) {values.indentshift = values.indentshiftfirst} + if (values.indentshift === "auto") {values.indentshift = "0"} + var shift = SVG.length2em(values.indentshift,1,SVG.cwidth); + if (this.displayIndent !== "0") { + var indent = SVG.length2em(this.displayIndent,1,SVG.cwidth); + shift += (values.indentalign === MML.INDENTALIGN.RIGHT ? -indent : indent); + } + div.style.textAlign = values.indentalign; + if (shift) { + HUB.Insert(style,({ + left: {marginLeft: SVG.Ex(shift)}, + right: {marginRight: SVG.Ex(-shift), marginLeft: SVG.Ex(Math.max(0,shift-w))}, + center: {marginLeft: SVG.Ex(shift), marginRight: SVG.Ex(-shift)} + })[values.indentalign]); + } + } + } + return span; + } + }); + + MML.TeXAtom.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(); + this.SVGhandleSpace(svg); + if (this.data[0] != null) { + var box = this.SVGdataStretched(0,HW,D), y = 0; + if (this.texClass === MML.TEXCLASS.VCENTER) + {y = SVG.TeX.axis_height - (box.h+box.d)/2 + box.d} + svg.Add(box,0,y); + svg.ic = box.ic; svg.skew = box.skew; + } + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + // + // Make sure these don't generate output + // + MML.maligngroup.Augment({toSVG: MML.mbase.SVGemptySVG}); + MML.malignmark.Augment({toSVG: MML.mbase.SVGemptySVG}); + MML.mprescripts.Augment({toSVG: MML.mbase.SVGemptySVG}); + MML.none.Augment({toSVG: MML.mbase.SVGemptySVG}); + + // + // Loading isn't complete until the element jax is modified, + // but can't call loadComplete within the callback for "mml Jax Ready" + // (it would call SVG's Require routine, asking for the mml jax again) + // so wait until after the mml jax has finished processing. + // + // We also need to wait for the onload handler to run, since the loadComplete + // will call Config and Startup, which need to modify the body. + // + HUB.Register.StartupHook("onLoad",function () { + setTimeout(MathJax.Callback(["loadComplete",SVG,"jax.js"]),0); + }); + }); + + HUB.Browser.Select({ + Opera: function (browser) { + SVG.Augment({ + operaZoomRefresh: true // Opera needs a kick to redraw zoomed equations + }); + } + }); + + HUB.Register.StartupHook("End Cookie", function () { + if (HUB.config.menuSettings.zoom !== "None") + {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }); + + if (!document.createElementNS) { + // + // Try to handle SVG in IE8 and below, but fail + // (but don't crash on loading the file, so no delay for loadComplete) + // + if (!document.namespaces.svg) {document.namespaces.add("svg",SVGNS)} + SVG.Augment({ + Element: function (type,def) { + var obj = (typeof(type) === "string" ? document.createElement("svg:"+type) : type); + obj.isMathJax = true; + if (def) {for (var id in def) {if (def.hasOwnProperty(id)) {obj.setAttribute(id,def[id].toString())}}} + return obj; + } + }); + } + +})(MathJax.Ajax, MathJax.Hub, MathJax.HTML, MathJax.OutputJax.SVG); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/latest.js b/src/py/kaleido/vendor/Mathjax-2.7.5/latest.js new file mode 100644 index 00000000..1de3f28d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/latest.js @@ -0,0 +1,159 @@ +/************************************************************* + * + * latest.js + * + * Replacement for cdn.mathjax.org/mathjax/latest that loads the + * latest (2.x) version of MathJax from cdnjs, rawgit.com, or jsdelivr + * depending on where it was loaded from. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2017-2018 The MathJax Consortium + * + * 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. + */ + +(function () { + + var CDN = { + 'cdnjs.cloudflare.com': { + api: 'https://api.cdnjs.com/libraries/mathjax?fields=version', + version: 'version', + mathjax: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/' + }, + + 'cdn.rawgit.com': { + api: 'https://api.github.com/repos/mathjax/mathjax/releases/latest', + version: 'tag_name', + mathjax: 'https://cdn.rawgit.com/mathjax/MathJax/' + }, + + 'cdn.jsdelivr.net': { + api: 'https://api.jsdelivr.com/v1/jsdelivr/libraries?name=mathjax&lastversion=*', + version: 'lastversion', + mathjax: 'https://cdn.jsdelivr.net/mathjax/' + } + }; + + function Error(message) { + if (console && console.log) console.log(message); + } + + function getScript() { + if (document.currentScript) return document.currentScript; + var scripts = document.getElementsByTagName("script"); + for (var i = 0, m = scripts.length; i < m; i++) { + var script = scripts[i]; + for (var cdn in CDN) {if (CDN.hasOwnProperty(cdn)) { + var url = CDN[cdn].mathjax; + if (script.src && script.src.substr(0,url.length) === url) return script; + }} + } + } + + function getCDN(script) { + if (!script) return; + var cdn = script.src.replace(/https:\/\//,'').replace(/[\/\?].*/,''); + return CDN[cdn]; + } + + var cookiePattern = /(?:^|;\s*)mjx\.latest=([^;]*)(?:;|$)/; + function getVersion() { + var match; + try {match = cookiePattern.exec(document.cookie)} catch (err) {} + if (match && match[1] !== '') return match[1]; + } + function setVersion(version) { + cookie = 'mjx.latest=' + version; + var time = new Date(); + time.setDate(time.getDate() + 7); + cookie += '; expires=' + time.toGMTString(); + cookie += '; path=/'; + try {document.cookie = cookie} catch (err) {} + } + + function getXMLHttpRequest() { + if (window.XMLHttpRequest) return new XMLHttpRequest(); + if (window.ActiveXObject) { + try {return new ActiveXObject("Msxml2.XMLHTTP")} catch (err) {} + try {return new ActiveXObject("Microsoft.XMLHTTP")} catch (err) {} + } + } + + function loadMathJax(url) { + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.async = true; + script.src = url; + var head = document.head || document.getElementsByTagName('head')[0] || document.body; + if (head) { + head.appendChild(script); + } else { + Error("Can't find the document element"); + } + } + + function loadDefaultMathJax() { + var script = getScript(); + if (script) { + loadMathJax(script.src.replace(/\/latest\.js/, "/MathJax.js")); + } else { + Error("Can't determine the URL for loading MathJax"); + } + } + + function getLatestMathJax(cdn,config,unpacked) { + var request = getXMLHttpRequest(); + if (request) { + request.onreadystatechange = function() { + if (request.readyState === 4) { + if (request.status === 200) { + var json = JSON.parse(request.responseText); + if (json instanceof Array) json = json[0]; + var version = json[cdn.version]; + if (version.substr(0,2) === '2.') { + setVersion(version); + loadMathJax(cdn.mathjax + json[cdn.version] + unpacked + '/MathJax.js' + config); + return; + } + } else { + Error("Problem acquiring MathJax version: status = " + request.status); + } + loadDefaultMathJax(); + } + } + request.open('GET', cdn.api, true); + request.send(null); + } else { + Error("Can't create XMLHttpRequest object"); + loadDefaultMathJax(); + } + } + + var script = getScript(); + var cdn = getCDN(script); + if (cdn) { + var config = script.src.replace(/.*?(\?|$)/, "$1"); + config += (config ? '&' : '?') + 'latest'; + var unpacked = (script.src.match(/\/unpacked\/latest\.js/) ? "/unpacked" : ""); + var version = getVersion(); + if (version) { + loadMathJax(cdn.mathjax + version + unpacked + '/MathJax.js' + config); + } else { + getLatestMathJax(cdn, config, unpacked); + } + } else { + loadDefaultMathJax(); + } + +})(); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/FontWarnings.js new file mode 100644 index 00000000..199b8799 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/FontWarnings.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ar/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "\u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u064A\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u062E\u0637\u0648\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A \u0644\u0639\u0631\u0636 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0639\u0644\u0649 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629\u060C \u0647\u0630\u0647 \u062A\u0633\u062A\u063A\u0631\u0642 \u0648\u0642\u062A\u0627 \u0637\u0648\u064A\u0644\u0627 \u0644\u062A\u062D\u0645\u064A\u0644\u060C \u0648\u0628\u0627\u0644\u062A\u0627\u0644\u064A \u0641\u0625\u0646 \u0627\u0644\u0635\u0641\u062D\u0629 \u062A\u0638\u0647\u0631 \u0628\u0634\u0643\u0644 \u0623\u0633\u0631\u0639 \u0625\u0630\u0627 \u0642\u0645\u062A \u0628\u062A\u062B\u0628\u064A\u062A \u062E\u0637\u0648\u0637 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u064A \u0645\u062C\u0644\u062F \u0627\u0644\u062E\u0637 \u0641\u064A \u0646\u0638\u0627\u0645\u0643.", + webFonts: "\u062A\u0633\u0645\u062D \u0645\u0639\u0638\u0645 \u0627\u0644\u0645\u062A\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062D\u062F\u064A\u062B\u0629 \u0644\u0644\u062E\u0637\u0648\u0637 \u0628\u0623\u0646 \u064A\u062A\u0645 \u062A\u062D\u0645\u064A\u0644\u0647\u0627 \u0639\u0628\u0631 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A. \u064A\u0645\u0643\u0646 \u0644\u0644\u062A\u062D\u062F\u064A\u062B \u0625\u0644\u0649 \u0646\u0633\u062E\u0629 \u0623\u062D\u062F\u062B \u0645\u0646 \u0645\u062A\u0635\u0641\u062D\u0643 (\u0623\u0648 \u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u0645\u062A\u0635\u0641\u062D\u0627\u062A) \u062A\u062D\u0633\u064A\u0646 \u0646\u0648\u0639\u064A\u0629 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0639\u0644\u0649 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629.", + fonts: "\u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u064A\u0645\u0643\u0646\u0647 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0625\u0645\u0627 [\u062E\u0637\u0648\u0637 STIX] (%1) \u0623\u0648 [\u062E\u0637\u0648\u0637 MathJax TeX ] (%2). \u062D\u0645\u0650\u0651\u0644 \u0648\u062B\u0628\u0650\u0651\u062A \u0623\u062D\u062F \u062A\u0644\u0643 \u0627\u0644\u062E\u0637\u0648\u0637 \u0644\u062A\u062D\u0633\u064A\u0646 \u062A\u062C\u0631\u0628\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643.", + STIXPage: "\u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629 \u0645\u062E\u0635\u0635\u0629 \u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645 [\u062E\u0637\u0648\u0637 STIX] (%1). \u062D\u0645\u0650\u0651\u0644 \u0648\u062B\u0628\u0650\u0651\u062A \u062A\u0644\u0643 \u0627\u0644\u062E\u0637\u0648\u0637 \u0644\u062A\u062D\u0633\u064A\u0646 \u062A\u062C\u0631\u0628\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643.", + TeXPage: "\u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629 \u0645\u062E\u0635\u0635\u0629 \u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645 [\u062E\u0637\u0648\u0637 [MathJax TeX] (%1). \u062D\u0645\u0650\u0651\u0644 \u0648\u062B\u0628\u0650\u0651\u062A \u062A\u0644\u0643 \u0627\u0644\u062E\u0637\u0648\u0637 \u0644\u062A\u062D\u0633\u064A\u0646 \u062A\u062C\u0631\u0628\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HTML-CSS.js new file mode 100644 index 00000000..9103d0da --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ar/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u062A\u062D\u0645\u064A\u0644 \u062E\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A %1", + CantLoadWebFont: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u062A\u062D\u0645\u064A\u0644 \u062E\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A %1", + FirefoxCantLoadWebFont: "\u0641\u0627\u064A\u0631\u0641\u0648\u0643\u0633 \u0644\u0627 \u064A\u0645\u0643\u0646\u0647 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u062E\u0637\u0648\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A \u0645\u0646 \u0645\u0636\u064A\u0641 \u0628\u0639\u064A\u062F", + CantFindFontUsing: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u062E\u0637 \u0635\u0627\u0644\u062D \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 %1", + WebFontsNotAvailable: "\u062E\u0637\u0648\u0637 \u0627\u0644\u0648\u064A\u0628 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631\u0629. \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u062E\u0637\u0648\u0637 \u0627\u0644\u0635\u0648\u0631\u0629 \u0628\u062F\u0644\u0627 \u0645\u0646 \u0630\u0644\u0643" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HelpDialog.js new file mode 100644 index 00000000..efcb0f1d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HelpDialog.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/localization/ar/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u0645\u0633\u0627\u0639\u062F\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", + Browsers: "*\u0645\u062A\u0635\u0641\u062D\u0627\u062A*: \u064A\u0639\u0645\u0644 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0645\u0639 \u062C\u0645\u064A\u0639 \u0627\u0644\u0645\u062A\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062D\u062F\u064A\u062B\u0629 \u0628\u0645\u0627 \u0641\u064A \u0630\u0644\u0643 IE6+\u060C \u0648\u0641\u0627\u064A\u0631\u0641\u0648\u0643\u0633 3+\u060C \u0648\u0643\u0631\u0648\u0645 0.2+\u060C \u0648\u0633\u0641\u0627\u0631\u064A2+\u060C \u0648\u0623\u0648\u0628\u0631\u0627 9.6+ \u0648\u0645\u0639\u0638\u0645 \u0645\u062A\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062C\u0648\u0627\u0644.", + ShowMath: "* \u0645\u0634\u0627\u0647\u062F\u0629 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0643 * \u064A\u0633\u0645\u062D \u0644\u0643 \u0628\u0639\u0631\u0636 \u0645\u0635\u062F\u0631 \u0627\u0644\u0635\u064A\u063A \u0644\u0644\u0646\u0633\u062E \u0648\u0627\u0644\u0644\u0635\u0642 (\u0643 MathML \u0623\u0648 \u0628\u0634\u0643\u0644\u0647 \u0627\u0644\u0623\u0635\u0644\u064A).", + Settings: "* \u0636\u0628\u0637 * \u064A\u0645\u0646\u062D\u0643 \u0627\u0644\u0633\u064A\u0637\u0631\u0629 \u0639\u0644\u0649 \u0645\u064A\u0632\u0627\u062A \u0645\u0627\u062B \u062C\u0627\u0643\u0633\u060C \u0645\u062B\u0644 \u062D\u062C\u0645 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A\u060C \u0648\u0622\u0644\u064A\u0629 \u0627\u0633\u062A\u062E\u062F\u0627\u0645\u0647\u0627 \u0644\u0639\u0631\u0636 \u0627\u0644\u0645\u0639\u0627\u062F\u0644\u0627\u062A.", + Language: "* \u0627\u0644\u0644\u063A\u0629 * \u064A\u062A\u064A\u062D \u0644\u0643 \u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0644\u063A\u0629 \u0627\u0644\u062A\u064A \u064A\u0633\u062A\u062E\u062F\u0645\u0647\u0627 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0644\u0644\u0642\u0648\u0627\u0626\u0645 \u0648\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u062A\u062D\u0630\u064A\u0631.", + Zoom: "* \u062A\u0643\u0628\u064A\u0631 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A *: \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u0648\u0627\u062C\u0647 \u0635\u0639\u0648\u0628\u0629 \u0641\u064A \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0639\u0627\u062F\u0644\u0629\u060C \u064A\u0645\u0643\u0650\u0651\u0646 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u062A\u0643\u0628\u064A\u0631\u0647\u0627 \u0644\u0645\u0633\u0627\u0639\u062F\u062A\u0643 \u0639\u0644\u0649 \u0645\u0639\u0631\u0641\u0629 \u0623\u0641\u0636\u0644.", + Accessibilty: "* \u0627\u0644\u0648\u0635\u0648\u0644 *: \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u064A\u0639\u0645\u0644 \u062A\u0644\u0642\u0627\u0626\u064A\u0627 \u0645\u0639 \u0642\u0627\u0631\u0626\u0627\u062A \u0627\u0644\u0634\u0627\u0634\u0629 \u0644\u062C\u0639\u0644 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0641\u064A \u0645\u062A\u0646\u0627\u0648\u0644 \u0636\u0639\u0627\u0641 \u0627\u0644\u0628\u0635\u0631.", + Fonts: "* \u0627\u0644\u062E\u0637\u0648\u0637 *: \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0633\u064A\u0633\u062A\u062E\u062F\u0645 \u062E\u0637\u0648\u0637 \u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0645\u0639\u064A\u0646\u0629 \u0625\u0630\u0627 \u0643\u0627\u0646\u062A \u0645\u062B\u0628\u062A\u0629 \u0639\u0644\u0649 \u062C\u0647\u0627\u0632 \u0627\u0644\u0643\u0645\u0628\u064A\u0648\u062A\u0631 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643\u060C \u062E\u0644\u0627\u0641 \u0630\u0644\u0643\u060C \u0641\u0625\u0646\u0647 \u0633\u064A\u062A\u0645 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u062E\u0637\u0648\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A. \u0639\u0644\u0649 \u0627\u0644\u0631\u063A\u0645 \u0645\u0646 \u0623\u0646 \u0630\u0644\u0643 \u0644\u064A\u0633 \u0645\u0637\u0644\u0648\u0628\u0627\u060C \u0648\u0627\u0644\u062E\u0637\u0648\u0637 \u0627\u0644\u0645\u062B\u0628\u062A\u0629 \u0645\u062D\u0644\u064A\u0627 \u062A\u0633\u0631\u0639 \u0635\u0641 \u0627\u0644\u062D\u0631\u0648\u0641. \u0646\u0642\u062A\u0631\u062D \u062A\u062B\u0628\u064A\u062A [\u062E\u0637\u0648\u0637 STIX] (%1)." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathML.js new file mode 100644 index 00000000..1e6ec1f5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathML.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/localization/ar/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph \u0633\u064A\u0626\u0629: %1", + BadMglyphFont: "\u062E\u0637 \u0633\u064A\u0621: %1", + UnknownNodeType: "\u0646\u0648\u0639 \u0639\u0642\u062F\u0647 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641: %1", + UnexpectedTextNode: "\u0639\u0642\u062F\u0647 \u063A\u064A\u0631 \u0645\u062A\u0648\u0642\u0639\u0629: %1", + ErrorParsingMathML: "\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u062A\u062D\u0644\u064A\u0644 MathML", + ParsingError: "\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u062A\u062D\u0644\u064A\u0644 MathML: %1", + MathMLSingleElement: "MathML \u064A\u062C\u0628 \u0623\u0646 \u062A\u062A\u0643\u0648\u0646 \u0645\u0646 \u0639\u0646\u0635\u0631 \u0648\u0627\u062D\u062F", + MathMLRootElement: "MathML \u064A\u062C\u0628 \u0623\u0646 \u062A\u062A\u0643\u0648\u0646 \u0645\u0646 \u003Cmath\u003E\u0639\u0646\u0635\u0631\u060C \u0644\u0627 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathMenu.js new file mode 100644 index 00000000..fad31aef --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathMenu.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/localization/ar/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u062A\u0638\u0647\u0631 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0643", + MathMLcode: "\u0643\u0648\u062F MathML", + OriginalMathML: "MathML \u0627\u0644\u0623\u0635\u0644\u064A\u0629", + TeXCommands: "\u0623\u0648\u0627\u0645\u0631 TeX", + AsciiMathInput: "\u0625\u062F\u062E\u0627\u0644 AsciiMathML", + Original: "\u0627\u0644\u0646\u0645\u0648\u0630\u062C \u0627\u0644\u0623\u0635\u0644\u064A", + ErrorMessage: "\u0631\u0633\u0627\u0644\u0629 \u062E\u0637\u0623", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "\u0645\u062D\u062A\u0648\u0649 MathML", + OpenMath: "OpenMath", + texHints: "\u0623\u0638\u0647\u0631 \u062A\u0644\u0645\u064A\u062D\u0627\u062A TeX \u0641\u064A MathML", + Settings: "\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A", + ZoomTrigger: "\u0645\u0634\u063A\u0644 \u0627\u0644\u062A\u0643\u0628\u064A\u0631", + Click: "\u0627\u0636\u063A\u0637", + DoubleClick: "\u0627\u0636\u063A\u0637 \u0645\u0631\u062A\u064A\u0646", + NoZoom: "\u0644\u0627 \u062A\u0643\u0628\u064A\u0631", + Option: "\u062E\u064A\u0627\u0631", + Alt: "Alt", + Control: "\u062A\u062D\u0643\u0645", + Shift: "Shift", + ZoomFactor: "\u0639\u0627\u0645\u0644 \u0627\u0644\u062A\u0643\u0628\u064A\u0631", + Renderer: "\u0639\u0627\u0631\u0636 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A", + MPHandles: "\u0627\u0644\u0633\u0645\u0627\u062D \u0628\u0645\u0639\u0627\u0644\u062C\u0629 MathPlayer:", + MenuEvents: "\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0623\u062D\u062F\u0627\u062B", + MouseEvents: "\u0623\u062D\u062F\u0627\u062B \u0627\u0644\u0641\u0623\u0631\u0629", + MenuAndMouse: "\u0623\u062D\u062F\u0627\u062B \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0648\u0627\u0644\u0641\u0623\u0631\u0629", + FontPrefs: "\u062A\u0641\u0636\u064A\u0644\u0627\u062A \u0627\u0644\u062E\u0637", + ForHTMLCSS: "\u0644HTML-CSS:", + ContextMenu: "\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062D\u062A\u0648\u064A\u0627\u062A", + Browser: "\u0645\u062A\u0635\u0641\u062D", + Scale: "\u062D\u062C\u0645 \u0643\u0644 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A...", + Locale: "\u0644\u063A\u0629", + LoadLocale: "\u0627\u0644\u062A\u062D\u0645\u064A\u0644 \u0645\u0646 \u0631\u0627\u0628\u0637", + About: "\u062D\u0648\u0644 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", + Help: "\u0645\u0633\u0627\u0639\u062F\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", + wofforotffonts: "\u062E\u0637\u0648\u0637 WOFF \u0623\u0648 OTF", + eotffonts: "\u062E\u0637\u0648\u0637 EOT", + svgfonts: "\u062E\u0637\u0648\u0637 SVG", + WebkitNativeMMLWarning: "\u064A\u0628\u062F\u0648 \u0623\u0646 \u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u062F\u0639\u0645 MathML \u0623\u0635\u0644\u0627; \u0625\u0630\u0627 \u0642\u0645\u062A \u0628\u0627\u0644\u062A\u063A\u064A\u064A\u0631 \u0625\u0644\u0649 \u0639\u0631\u0636 MathML \u064A\u0645\u0643\u0646 \u0623\u0646 \u062A\u062A\u0639\u0630\u0631 \u0642\u0631\u0627\u0621\u0629 \u0635\u064A\u063A \u0627\u0644\u0635\u0641\u062D\u0629 \u0628\u0634\u0643\u0644 \u0635\u062D\u064A\u062D", + MSIENativeMMLWarning: "\u064A\u062A\u0637\u0644\u0628 \u0625\u0646\u062A\u0631\u0646\u062A \u0625\u0643\u0633\u0644\u0648\u0631\u0631 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644\u0645\u0633\u0627\u0639\u062F MathPlayer \u0644\u0639\u0645\u0644\u064A\u0629 \u0646\u062A\u064A\u062C\u0629 MathML", + OperaNativeMMLWarning: "\u062F\u0639\u0645 \u0623\u0648\u0628\u0631\u0627 MathML \u0645\u062D\u062F\u0648\u062F\u061B \u0625\u0630\u0627 \u0642\u0645\u062A \u0628\u0627\u0644\u062A\u063A\u064A\u064A\u0631 \u0625\u0644\u0649 \u0639\u0631\u0636 MathML \u064A\u0645\u0643\u0646 \u0623\u0644\u0627 \u062A\u064F\u0639\u0631\u0636 \u0628\u0639\u0636 \u0627\u0644\u062A\u0639\u0628\u064A\u0631\u0627\u062A \u0628\u0634\u0643\u0644 \u0635\u062D\u064A\u062D.", + SafariNativeMMLWarning: "MathML \u0627\u0644\u0623\u0635\u0644\u064A \u0641\u064A \u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u0646\u0641\u0630 \u0643\u0627\u0641\u0629 \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u0633\u062A\u062E\u062F\u0645\u0647\u0627 \u0645\u0627\u062B \u062C\u0627\u0643\u0633; \u0644\u0630\u0644\u0643 \u0628\u0639\u0636 \u0627\u0644\u062A\u0639\u0627\u0628\u064A\u0631 \u0642\u062F \u0644\u0627 \u062A\u0643\u0648\u0646 \u0635\u062D\u064A\u062D\u0629.", + FirefoxNativeMMLWarning: "MathML \u0627\u0644\u0623\u0635\u0644\u064A \u0641\u064A \u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u0646\u0641\u0630 \u0643\u0627\u0641\u0629 \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u0633\u062A\u062E\u062F\u0645\u0647\u0627 \u0645\u0627\u062B \u062C\u0627\u0643\u0633; \u0644\u0630\u0644\u0643 \u0628\u0639\u0636 \u0627\u0644\u062A\u0639\u0627\u0628\u064A\u0631 \u0642\u062F \u0644\u0627 \u062A\u0643\u0648\u0646 \u0635\u062D\u064A\u062D\u0629.", + MSIESVGWarning: "\u0644\u0645 \u064A\u062A\u0645 \u062A\u0646\u0641\u064A\u0630 SVG \u0641\u064A \u0625\u0646\u062A\u0631\u0646\u062A \u0625\u0643\u0633\u0644\u0648\u0631\u0631 \u0642\u0628\u0644 IE9 \u0623\u0648 \u0639\u0646\u062F\u0645\u0627 \u062A\u0643\u0648\u0646 \u0645\u062D\u0627\u0643\u0627\u0629 IE8 \u0623\u0648 \u0623\u0642\u0644. \u0627\u0644\u062A\u062D\u0648\u0644 \u0625\u0644\u0649 \u0645\u062E\u0631\u062C\u0627\u062A SVG \u064A\u062A\u0633\u0628\u0628 \u0641\u064A \u0639\u062F\u0645 \u0639\u0631\u0636 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0628\u0634\u0643\u0644 \u0635\u062D\u064A\u062D.", + LoadURL: "\u062A\u062D\u0645\u064A\u0644 \u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062A\u0631\u062C\u0645\u0629 \u0645\u0646 \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637:", + BadURL: "\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0639\u0646\u0648\u0627\u0646 URL \u0644\u0645\u0644\u0641 \u062C\u0627\u0641\u0627 \u0633\u0643\u0631\u064A\u0628\u062A \u0627\u0644\u0630\u064A \u064A\u062D\u062F\u062F \u0628\u064A\u0627\u0646\u0627\u062A \u062A\u0631\u062C\u0645\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633. \u064A\u062C\u0628 \u0623\u0646 \u062A\u0646\u062A\u0647\u064A \u0623\u0633\u0645\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u062C\u0627\u0641\u0627 \u0633\u0643\u0631\u064A\u0628\u062A \u0628'.js", + BadData: "\u0641\u0634\u0644 \u062A\u062D\u0645\u064A\u0644 \u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062A\u0631\u062C\u0645\u0629 \u0645\u0646 %1", + SwitchAnyway: "\u062A\u0628\u062F\u064A\u0644 \u0627\u0644\u0639\u0627\u0631\u0636 \u0639\u0644\u0649 \u0623\u064A \u062D\u0627\u0644\u061F (\u0627\u0636\u063A\u0637 \u0645\u0648\u0627\u0641\u0642\u0629 \u0644\u0644\u062A\u0628\u062F\u064A\u0644\u060C \u0648\u0625\u0644\u063A\u0627\u0621 \u0644\u0644\u0645\u0648\u0627\u0635\u0644\u0629 \u0628\u0627\u0644\u0639\u0627\u0631\u0636 \u0627\u0644\u062D\u0627\u0644\u064A)", + ScaleMath: "\u062D\u062C\u0645 \u0643\u0644 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A (\u0628\u0627\u0644\u0645\u0642\u0627\u0631\u0646\u0629 \u0645\u0639 \u0627\u0644\u0646\u0635 \u0627\u0644\u0645\u062D\u064A\u0637) \u0628\u0648\u0627\u0633\u0637\u0629", + NonZeroScale: "\u0627\u0644\u0642\u064A\u0627\u0633 \u0644\u0627 \u064A\u0645\u0643\u0646 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0635\u0641\u0631", + PercentScale: "\u0627\u0644\u0642\u064A\u0627\u0633 \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0646\u0633\u0628\u0629 \u0645\u0626\u0648\u064A\u0629 (\u0639\u0644\u0649 \u0633\u0628\u064A\u0644 \u0627\u0644\u0645\u062B\u0627\u0644 120%%)", + IE8warning: "\u0633\u064A\u0624\u062F\u064A \u0630\u0644\u0643 \u0625\u0644\u0649 \u062A\u0639\u0637\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u0648\u0645\u0632\u0627\u064A\u0627 \u062A\u0642\u0631\u064A\u0628 \u0645\u0627\u062B \u062C\u0627\u0643\u0633\u060C \u0648\u0644\u0643\u0646 \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0636\u063A\u0637 \u0639\u0644\u0649 Alt \u0644\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0628\u062F\u0644\u0627 \u0645\u0646 \u0630\u0644\u0643. \u0647\u0644 \u062A\u0631\u064A\u062F \u062D\u0642\u0627 \u062A\u063A\u064A\u064A\u0631 \u0625\u0639\u062F\u0627\u062F\u0627\u062A MathPlayer\u061F", + IE9warning: "\u0642\u0627\u0626\u0645\u0629 \u0645\u062D\u062A\u0648\u064A\u0627\u062A \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0633\u0648\u0641 \u064A\u062A\u0645 \u062A\u0639\u0637\u064A\u0644\u0647\u0627\u060C \u0648\u0644\u0643\u0646 \u064A\u0645\u0643\u0646\u0643 \u0627\u0627\u0644\u0636\u063A\u0637 \u0639\u0644\u0649 Alt \u0644\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0628\u062F\u0644\u0627 \u0645\u0646 \u0630\u0644\u0643.", + NoOriginalForm: "\u0644\u0627 \u064A\u0648\u062C\u062F \u0646\u0645\u0648\u0630\u062C \u0623\u0635\u0644\u064A \u0645\u062A\u0627\u062D", + EqSource: "\u0645\u0639\u0627\u062F\u0644\u0629 \u0645\u0635\u062F\u0631 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", + FastPreview: "\u0645\u0639\u0627\u064A\u0646\u0629 \u0633\u0631\u064A\u0639\u0629" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/TeX.js new file mode 100644 index 00000000..4d0640db --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/TeX.js @@ -0,0 +1,78 @@ +/************************************************************* + * + * MathJax/localization/ar/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0642\u0648\u0633 \u0645\u0641\u062A\u0648\u062D \u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u063A\u0644\u0642 \u0642\u0648\u0633 \u0645\u0641\u0642\u0648\u062F", + ExtraCloseMissingOpen: "\u0642\u0648\u0633 \u0645\u063A\u0644\u0642 \u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u0641\u062A\u062D \u0642\u0648\u0633 \u0645\u0641\u0642\u0648\u062F", + MissingLeftExtraRight: "\u064A\u0633\u0627\u0631 /\u0645\u0641\u0642\u0648\u062F \u0623\u0648 \u064A\u0645\u064A\u0646 /\u0625\u0636\u0627\u0641\u064A", + ExtraLeftMissingRight: "\u064A\u0633\u0627\u0631 /\u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u064A\u0645\u064A\u0646 /\u0645\u0641\u0642\u0648\u062F", + Misplaced: "%1 \u0641\u064A \u063A\u064A\u0631 \u0645\u062D\u0644\u0647", + AmbiguousUseOf: "\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u063A\u0627\u0645\u0636 \u0644%1", + EnvBadEnd: "\\\u0628\u062F\u0627\u064A\u0629{%1} \u064A\u0646\u062A\u0647\u064A \u0628 \\\u0646\u0647\u0627\u064A\u0629{%2}", + EnvMissingEnd: "\u0646\u0647\u0627\u064A\u0629\\\u0645\u0641\u0642\u0648\u062F\u0629{%1}", + MissingBoxFor: "\u0635\u0646\u062F\u0648\u0642 \u0645\u0641\u0642\u0648\u062F \u0644 %1", + UndefinedControlSequence: "%1 \u062A\u0633\u0644\u0633\u0644 \u0645\u0631\u0627\u0642\u0628\u0629 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641", + DoubleExponent: "\u0623\u0633 \u0645\u0632\u062F\u0648\u062C: \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0642\u0648\u0627\u0633 \u0644\u0644\u062A\u0648\u0636\u064A\u062D", + DoubleSubscripts: "\u0627\u0644\u062D\u0631\u0648\u0641 \u0627\u0644\u0633\u0641\u0644\u064A\u0629 \u0645\u0632\u062F\u0648\u062C\u0629: \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0642\u0648\u0627\u0633 \u0644\u0644\u062A\u0648\u0636\u064A\u062D", + DoubleExponentPrime: "\u0639\u062F\u062F \u0623\u0648\u0644\u064A \u064A\u0633\u0628\u0628 \u0623\u0633 \u0645\u0632\u062F\u0648\u062C: \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0642\u0648\u0627\u0633 \u0644\u0644\u062A\u0648\u0636\u064A\u062D", + CantUseHash1: "\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 '\u0627\u0644\u062D\u0631\u0641 \u0627\u0644\u0645\u0639\u0644\u0645 \u0627\u0644\u0643\u0644\u064A#' \u0641\u064A \u0648\u0636\u0639 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A", + MisplacedMiddle: "%1 \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0636\u0645\u0646 \\\u064A\u0633\u0627\u0631 \u0648\\\u064A\u0645\u064A\u0646", + MisplacedLimits: "%1 \u0645\u0633\u0645\u0648\u062D \u0641\u0642\u0637 \u0639\u0644\u0649 \u0627\u0644\u0645\u0634\u063A\u0644\u064A\u0646", + MisplacedMoveRoot: "%1 \u064A\u0645\u0643\u0646 \u0623\u0646 \u062A\u0638\u0647\u0631 \u0641\u0642\u0637 \u0641\u064A \u0627\u0644\u062C\u0630\u0631", + MultipleCommand: "%1 \u0645\u062A\u0639\u062F\u062F", + NotMathMLToken: "%1 \u0644\u064A\u0633 \u0639\u0646\u0635\u0631\u064B\u0627 \u0631\u0645\u0632\u064A\u064B\u0627", + UnknownAttrForElement: "%1 \u0644\u064A\u0633\u062A \u0633\u0645\u0629 \u0645\u0639\u062A\u0631\u0641 \u0628\u0647\u0627 \u0644%2", + ExtraAlignTab: "\u0645\u062D\u0627\u0630\u0627\u0629 \u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u062A\u0628\u0648\u064A\u0628 \u0625\u0636\u0627\u0641\u064A\u0629 \u0641\u064A \\\u062D\u0627\u0644\u0627\u062A \u0627\u0644\u0646\u0635\u0648\u0635", + InvalidEnv: "\u0627\u0633\u0645 \u0628\u064A\u0626\u0629 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D '%1'", + UnknownEnv: "\u0628\u064A\u0626\u0629 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641\u0629 '%1'", + ExtraCloseLooking: "\u063A\u0644\u0642 \u0642\u0648\u0633 \u0625\u0636\u0627\u0641\u064A \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u0628\u062D\u062B \u0639\u0646 %1", + MissingOrUnrecognizedDelim: "\u0645\u062D\u062F\u062F \u0645\u0641\u0642\u0648\u062F \u0623\u0648 \u063A\u064A\u0631 \u0645\u0639\u062A\u0631\u0641 \u0628\u0647 \u0644 %1", + MissingDimOrUnits: "\u0628\u0639\u062F (\u0623\u0648 \u0648\u062D\u062F\u0627\u062A\u0647) \u0645\u0641\u0642\u0648\u062F \u0644 %1", + TokenNotFoundForCommand: "\u0644\u0645 \u064A\u062A\u0645 \u0627\u064A\u062C\u0627\u062F %1 \u0625\u0644\u064A %2", + MathNotTerminated: "\u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0644\u0627 \u062A\u0646\u062A\u0647\u064A \u0641\u064A \u0645\u0631\u0628\u0639 \u0627\u0644\u0646\u0635", + IllegalMacroParam: "\u0645\u0631\u062C\u0639 \u0645\u0639\u0644\u0645 \u0643\u0644\u064A \u063A\u064A\u0631 \u0642\u0627\u0646\u0648\u0646\u064A", + MaxBufferSize: "\u062A\u0645 \u062A\u062C\u0627\u0648\u0632 \u062D\u062C\u0645 \u0627\u0644\u0645\u062E\u0632\u0646 \u0627\u0644\u0645\u0624\u0642\u062A \u0627\u0644\u062F\u0627\u062E\u0644\u064A \u0644\u0645\u0627\u062B \u062C\u0627\u0643\u0633. \u0647\u0644 \u0647\u0646\u0627\u0643 \u0627\u0633\u062A\u062F\u0639\u0627\u0621 \u0645\u0627\u0643\u0631\u0648 \u0645\u0643\u0631\u0631\u061F", + CommandNotAllowedInEnv: "%1 \u063A\u064A\u0631 \u0645\u0633\u0645\u0648\u062D \u0641\u064A \u0628\u064A\u0626\u0629 %2", + MultipleLabel: "\u062A\u062D\u062F\u064A\u062F \u0645\u0636\u0627\u0639\u0641 \u0644\u062A\u0633\u0645\u064A\u0629 '%1'", + CommandAtTheBeginingOfLine: "\u064A\u062C\u0628 \u0623\u0646 \u064A\u0623\u062A\u064A \u0641\u064A \u0628\u062F\u0627\u064A\u0629 \u0627\u0644\u0633\u0637\u0631 %1", + IllegalAlign: "\u0645\u062D\u0627\u0630\u0627\u0629 \u063A\u064A\u0631 \u0642\u0627\u0646\u0648\u0646\u064A\u0629 \u0645\u062D\u062F\u062F\u0629 \u0641\u064A %1", + BadMathStyleFor: "\u0646\u0645\u0637 \u0631\u064A\u0627\u0636\u064A \u0633\u064A\u0621 \u0644 %1", + MultlineRowsOneCol: "\u0627\u0644\u0635\u0641\u0648\u0641 \u0636\u0645\u0646 \u0628\u064A\u0626\u0629 %1 \u064A\u062C\u0628 \u0623\u0646 \u062A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0639\u0645\u0648\u062F \u0648\u0627\u062D\u062F \u0628\u0627\u0644\u0636\u0628\u0637", + MultipleBBoxProperty: "%1 \u0645\u062D\u062F\u062F \u0645\u0631\u062A\u064A\u0646 \u0641\u064A %2", + ExtraEndMissingBegin: "%1 \u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u0645\u0641\u0642\u0648\u062F \\begingroup", + GlobalNotFollowedBy: "%1 \u0644\u0645 \u064A\u062A\u0645 \u062A\u062A\u0628\u0639\u0647 \\let, \\def, \u0623\u0648 \\newcommand", + UndefinedColorModel: "\u0646\u0645\u0648\u0630\u062C \u0627\u0644\u0644\u0648\u0646 '%1' \u063A\u064A\u0631 \u0645\u0639\u0631\u0641", + ModelArg1: "\u0642\u064A\u0645 \u0627\u0644\u0644\u0648\u0646 \u0644\u0644\u0646\u0645\u0648\u0630\u062C %1 \u062A\u062A\u0637\u0644\u0628 3 \u0623\u0631\u0642\u0627\u0645", + InvalidDecimalNumber: "\u0639\u062F\u062F \u0639\u0634\u0631\u064A \u063A\u064A\u0631 \u0635\u0627\u0644\u062D", + ModelArg2: "\u064A\u062C\u0628 \u0623\u0646 \u062A\u0643\u0648\u0646 \u0642\u064A\u0645 \u0627\u0644\u0644\u0648\u0646 \u0644\u0644\u0646\u0645\u0648\u0630\u062C %1 \u0628\u064A\u0646 %2 \u0648%3", + InvalidNumber: "\u0639\u062F\u062F \u063A\u064A\u0631 \u0635\u0627\u0644\u062D", + NoClosingChar: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0625\u063A\u0644\u0627\u0642 %1", + IllegalParamNumber: "\u0639\u062F\u062F \u063A\u064A\u0631 \u0645\u0634\u0631\u0648\u0639 \u0644\u0644\u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u0645\u062D\u062F\u062F\u0629 \u0641\u064A %1", + CantUseHash2: "\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u063A\u064A\u0631 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0644# \u0641\u064A \u0642\u0627\u0644\u0628 \u0644%1", + SequentialParam: "\u0645\u0639\u0644\u0645\u0627\u062A %1 \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0645 \u062A\u0631\u0642\u064A\u0645\u0647\u0627 \u0628\u0627\u0644\u062A\u0633\u0644\u0633\u0644", + MissingReplacementString: "\u0633\u0644\u0633\u0644\u0629 \u0628\u062F\u064A\u0644\u0629 \u0644\u062A\u0639\u0631\u064A\u0641 %1 \u0645\u0641\u0642\u0648\u062F\u0629", + MismatchUseDef: "\u0627\u0633\u062A\u062E\u062F\u0627\u0645 %1 \u0644\u0627 \u064A\u062A\u0637\u0627\u0628\u0642 \u0645\u0639 \u062A\u0639\u0631\u064A\u0641\u0647", + NoClosingDelim: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0625\u063A\u0644\u0627\u0642 \u0645\u062D\u062F\u062F \u0644%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/ar.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/ar.js new file mode 100644 index 00000000..f3ba5715 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/ar.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/localization/ar/ar.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar",null,{ + menuTitle: "\u0627\u0644\u0639\u0631\u0628\u064A\u0629", + fontDirection: "rtl", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u062E\u0637\u0623 \u0645\u0639\u0627\u0644\u062C\u0629 \u0631\u064A\u0627\u0636\u064A\u0629", + MathError: "\u062E\u0637\u0623 \u0631\u064A\u0627\u0636\u064A", + LoadFile: "\u062A\u062D\u0645\u064A\u0644 %1", + Loading: "\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644", + LoadFailed: "\u0641\u0634\u0644 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0644\u0641: %1", + ProcessMath: "\u0639\u0645\u0644\u064A\u0629 \u0631\u064A\u0627\u0636\u064A\u0629: %1%%", + Processing: "\u0645\u0639\u0627\u0644\u062C\u0629", + TypesetMath: "\u062A\u0646\u0636\u064A\u062F \u0631\u064A\u0627\u0636\u064A: %1%%", + Typesetting: "\u062A\u0646\u0636\u064A\u062F", + MathJaxNotSupported: "\u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u062F\u0639\u0645 \u0645\u0627\u062B\u062C\u0627\u0643\u0633" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 0) return 1; // zero + if (n === 1) return 2; // one + if (n === 2) return 3; // two + if (3 <= n % 100 && n % 100 <= 10) return 4; // few + if (11 <= n % 100 && n % 100 <= 99) return 5; // many + return 6; // other + }, + number: function (n) { + return String(n).replace("/([0-9])/g", "\\U066$1").replace(".", "\\U066B"); + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/ar.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/FontWarnings.js new file mode 100644 index 00000000..6c2983aa --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ast/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax ta usando fontes basaes en web p'amosar les matem\u00E1tiques d'esta p\u00E1xina. Lleva un tiempu descargales, de manera que la p\u00E1xina apaecer\u00E1 m\u00E1s r\u00E1pidamente si instala direutamente les fontes matem\u00E1tiques na carpeta de fontes del so sistema.", + imageFonts: "MathJaz ta usando les sos fontes d'imaxe en cuenta de fontes llocales o basaes en web. Esto fai que la composici\u00F3n seya m\u00E1s lenta de lo normal, y les matem\u00E1tiques podr\u00EDen nun imprimise a la resoluci\u00F3n completa de la impresora.", + noFonts: "MathJax nun pue alcontrar una tipograf\u00EDa que pueda usar p'amosar les espresiones matem\u00E1tiques, y nun hai disponibles fontes d'imaxe, de mou que va volver a car\u00E1uteres Unicode xen\u00E9ricos esperando que'l so restolador pueda amosalos. Algunos car\u00E1uteres podr\u00EDen nun vese correutamente o, seique, podrien nun vese n'absoluto.", + webFonts: "La mayor\u00EDa de restoladores modernos permiten que les fontes se descarguen de la web. Si anueva a una versi\u00F3n m\u00E1s moderna del restolador (o si cambia de restolador) podr\u00EDa ameyorar la calid\u00E1 de les espresiones matem\u00E1tiques d'esta p\u00E1xina.", + fonts: "MathJax pue usar tanto la [tipograf\u00EDa STIX](%1) como la [tipograf\u00EDa TeX MathJax](%2). Descargue y instale una d'estes tipograf\u00EDes p'ameyorar la so esperiencia con MathJax.", + STIXPage: "Esta p\u00E0xina ta dise\u00F1ada pa usar la [tipograf\u00EDa STIX](%1). Descargue ya instale esta tipograf\u00EDa p'ameyorar la so esperiencia con MathJax.", + TeXPage: "Esta p\u00E0xina ta dise\u00F1ada pa usar la [tipograf\u00EDa TeX MathJax](%1). Descargue ya instale esta tipograf\u00EDa p'ameyorar la so esperiencia con MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HTML-CSS.js new file mode 100644 index 00000000..35c65c25 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ast/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Cargando la tipograf\u00EDa web %1", + CantLoadWebFont: "Non pue cargase la tipograf\u00EDa web %1", + FirefoxCantLoadWebFont: "Firefox nun pue cargar les tipograf\u00EDes web dende un sirvidor remotu", + CantFindFontUsing: "Nun se pue atopar una tipograf\u00EDa v\u00E1lida usando %1", + WebFontsNotAvailable: "Les tipograf\u00EDes web nun tan disponibles. Usando les tipograf\u00EDes d'imaxe nel so llugar" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HelpDialog.js new file mode 100644 index 00000000..8fd1b95f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/ast/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Ayuda de MathJax", + MathJax: "*MathJax* ye una biblioteca JavaScript que permite a los autores de p\u00E1xines incluir espresiones matem\u00E1tiques nes sos p\u00E1xines web. Como llector, nun necesita facer nada pa qu'esto asoceda.", + Browsers: "*Navegadores*: MathJax funciona con tolos navegadores modernos, incluyendo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ y la mayor\u00EDa de los navegadores pa m\u00F3viles.", + Menu: "*Men\u00FA matem\u00E1tiques*: MathJax amiesta un men\u00FA de contestu a les ecuaciones. Faiga clic col bot\u00F3n drechu, o Ctrl-clic, en cualquier espresi\u00F3n matem\u00E1tica pa ver el men\u00FA.", + ShowMath: "*Ver f\u00F3rmula como* permite ver el c\u00F3digu de marques de la f\u00F3rmula pa que pueda copiase y apegase (como MathML o nel so formatu orixinal).", + Settings: "*Configuraci\u00F3n* permite controlar diverses carauter\u00EDstiques de MathJax, como'l tama\u00F1u de les f\u00F3rmules, ya'l mecanismu que s'usa pa ver les ecuaciones.", + Language: "*Llingua* permite seleicionar la llingua qu'usa MathJax pa los men\u00FAs y mensaxes d'avisu.", + Zoom: "*Zoom de f\u00F3rmula*: Si tien dificultaes pa lleer una ecuaci\u00F3n, MathJax pue ampliala p'ayuda-y a que la vea meyor.", + Accessibilty: "*Accesibilid\u00E1*: MathJax funciona autom\u00E1ticamente con llectores de pantalla pa facer les espresiones matem\u00E1tiques accesibles a les persones con problemes de visi\u00F3n.", + Fonts: "*Tipograf\u00EDa*: MathJax usa ciertes fontes matem\u00E1tiques si tan instalaes nel ordenador; d'otra manera, usar\u00E1 fontes basaes na web. Anque nun ye necesario, si tien les fontes instalaes de mou llocal ayudar\u00E1 a componer la p\u00E1xina m\u00E1s r\u00E1pidamente. Suxerimos qu'instale les [fontes STIX](%1).", + CloseDialog: "Zarrar el di\u00E1logu d'ayuda" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathML.js new file mode 100644 index 00000000..687a7c90 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ast/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Mglyph incorreutu: %1", + BadMglyphFont: "Tipograf\u00EDa incorreuta: %1", + MathPlayer: "MathJax nun pudo configurar MathPlayer.\n\nSi MathPlayer nun ta instal\u00E1u, necesitar\u00E1 instalalu primero. D'otra manera, la so configuraci\u00F3n de segurid\u00E1 pue torgar la execuci\u00F3n de controles ActiveX. Use l'elementu Opciones d'Internet baxo'l men\u00FA Ferramientes y seleicione la lling\u00FCeta Segurid\u00E1, darr\u00E9u calque nel bot\u00F3n Nivel Personaliz\u00E1u. Compruebe que les preferencies pa 'Executar controles ActiveX' y 'Comportamientos de binariu y script' tan activaes.\n\nAngua\u00F1o ver\u00E1 mensaxes d'error en llugar de f\u00F3rmules matem\u00E1tiques.", + CantCreateXMLParser: "MathJax nun pue crear un analizador XML pa MathML. Compruebe que\nla configuraci\u00F3n de segurid\u00E1 \u00ABControles de script ActiveX marcaos como seguros pa scripting\u00BB\nta activada (use l'elementu Opciones d'Internet del men\u00FA Ferramientes,\ny seleicione'l panel Segurid\u00E1, y darr\u00E9u calque nel bot\u00F3n Nivel personaliz\u00E1u pa comprobalo).\n\nMathJax nun podr\u00E1 procesar les ecuaciones MathML", + UnknownNodeType: "Tipu de nuedu desconoc\u00EDu: %1", + UnexpectedTextNode: "Nuedu de testu inesper\u00E1u: %1", + ErrorParsingMathML: "Error al analizar MathML", + ParsingError: "Error al analizar MathML: %1", + MathMLSingleElement: "MathML tien de tar form\u00E1u por un \u00FAnicu elementu", + MathMLRootElement: "MathML tien de tar form\u00E1u por un elementu \u003Cmath\u003E, non por %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathMenu.js new file mode 100644 index 00000000..7f5b78a6 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/ast/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Ver les f\u00F3rmules como", + MathMLcode: "C\u00F3digu MathML", + OriginalMathML: "MathML orixinal", + TeXCommands: "Comandos de TeX", + AsciiMathInput: "Entrada AsciiMathML", + Original: "Forma orixinal", + ErrorMessage: "Mensaxe d'error", + Annotation: "Anotaci\u00F3n", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Conten\u00EDu MathML", + OpenMath: "OpenMath", + texHints: "Amosar gabitos TeX en MathML", + Settings: "Configuraci\u00F3n de matem\u00E1tiques", + ZoomTrigger: "Disparador del zoom", + Hover: "Al pasar el mur", + Click: "Al facer clic", + DoubleClick: "Con doble clic", + NoZoom: "Ensin zoom", + TriggerRequires: "El disparador requier:", + Option: "Opci\u00F3n", + Alt: "Alt", + Command: "Comandu", + Control: "Control", + Shift: "May\u00FAs", + ZoomFactor: "Factor d'ampliaci\u00F3n", + Renderer: "Renderizador de matem\u00E1tiques", + MPHandles: "Permitir que MathPlayer alministre:", + MenuEvents: "Socesos de men\u00FA", + MouseEvents: "Socesos del mur", + MenuAndMouse: "Socesos del mur y del men\u00FA", + FontPrefs: "Preferencies de tipograf\u00EDa", + ForHTMLCSS: "Pa HTML-CSS:", + Auto: "Auto", + TeXLocal: "TeX (llocal)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imaxe)", + STIXLocal: "STIX (llocal)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Llat\u00EDn modernu (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Men\u00FA contestual", + Browser: "Navegador", + Scale: "Escalar toles f\u00F3rmules...", + Discoverable: "Illuminar al pasar el mur", + Locale: "Llingua", + LoadLocale: "Cargar d'una URL...", + About: "Tocante a MathJax", + Help: "Ayuda de MathJax", + localTeXfonts: "usando tipograf\u00EDa TeX llocal", + webTeXfonts: "usando tipograf\u00EDa TeX de la web", + imagefonts: "usando tipograf\u00EDa d'imaxe", + localSTIXfonts: "usando tipograf\u00EDa STIX llocal", + webSVGfonts: "usando tipograf\u00EDa SVG de la web", + genericfonts: "usando tipograf\u00EDa Unicode xen\u00E9rica", + wofforotffonts: "tipograf\u00EDa WOFF u OTF", + eotffonts: "tipograf\u00EDa EOT", + svgfonts: "tipograf\u00EDa SVG", + WebkitNativeMMLWarning: "Paez que'l so restolador nun tien sofitu pa MathML de mou nativu, de mou que cambiar la salida a MathML pue facer que les f\u00F3rmules de la p\u00E1xina nun puedan lleese", + MSIENativeMMLWarning: "Internet Explorer requier el complementu MathPlayer pa procesar la salida de MathML", + OperaNativeMMLWarning: "El sofitu d'Opera pa MathML ye parcial, de mou que cambiar la salida a MathML pue facer que delles espresiones nun se vean bien.", + SafariNativeMMLWarning: "El MathML nativu del so navegador nun cuenta con toles carauter\u00EDstiques qu'usa MathJax, de mou que delles espresiones podr\u00EDen nun representase correutamente.", + FirefoxNativeMMLWarning: "El MathML nativu del so navegador nun cuenta con toles carauter\u00EDstiques qu'usa MathJax, de mou que delles espresiones podr\u00EDen nun representase correutamente.", + MSIESVGWarning: "SVG nun ta implement\u00E1u n'Internet Explorer anterior a IE9 o cuando ta emulando IE8 o anterior. Si cambia a la salida SVG, les f\u00F3rmules nun se ver\u00E1n correutamente.", + LoadURL: "Cargar los datos de traducci\u00F3n d'esta URL:", + BadURL: "La URL tendr\u00EDa de ser pa un ficheru JavaScript que define los datos de traducci\u00F3n de MathJax. Los nomes de los ficheros JavaScript tendr\u00EDen d'acabar en '.js'", + BadData: "Nun pudieron cargase los datos de traducci\u00F3n de %1", + SwitchAnyway: "\u00BFCambiar la representaci\u00F3n de toles maneres?\n\n(Calque Aceutar pa cambiar, Encaboxar pa siguir cola representaci\u00F3n actual)", + ScaleMath: "Ampliar toles f\u00F3rmules (en comparancia col testu d'alredor) nun", + NonZeroScale: "La escala nun tien de ser cero", + PercentScale: "La escala tien de ser un porcentaxe (por exemplu 120%%)", + IE8warning: "Esto desactivar\u00E1 les funciones de men\u00FA y zoom de MathJax, pero pue facer Alt-Clic nuna espresi\u00F3n pa ver el men\u00FA de MathJax.\n\n\u00BFRealmente quier cambiar la configuraci\u00F3n de MathPlayer?", + IE9warning: "El men\u00FA contestual de MathJax tar\u00E1 desactiv\u00E1u, pero pue facer Alt-Clic nuna espresi\u00F3n pa ver el men\u00FA MathJax.", + NoOriginalForm: "Nun ta disponible denguna forma orixinal", + Close: "Zarrar", + EqSource: "C\u00F3digu fonte d'ecuaci\u00F3n MathJax", + CloseAboutDialog: "Zarrar el di\u00E1logu de tocante a MathJax", + FastPreview: "Vista previa r\u00E1pida", + AssistiveMML: "Asistencia MathML", + InTabOrder: "Incluir nel orde de lling\u00FCetes" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/TeX.js new file mode 100644 index 00000000..f071defe --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/ast/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Hai una llave d'apertura de m\u00E1s o falta una llave de zarramientu", + ExtraCloseMissingOpen: "Hai una llave de zarramientu de m\u00E1s o falta una llave d'apertura", + MissingLeftExtraRight: "Falta un \\left o sobra un \\right", + MissingScript: "Falta un argumentu de super\u00EDndiz o sub\u00EDndiz", + ExtraLeftMissingRight: "Sobra un \\left o falta un \\right", + Misplaced: "%1 ta mal coloc\u00E1u", + MissingOpenForSub: "Falta una llave d'apertura pal sub\u00EDndiz", + MissingOpenForSup: "Falta una llave d'apertura pal super\u00EDndiz", + AmbiguousUseOf: "Usu ambiguu de %1", + EnvBadEnd: "\\begin{%1} acab\u00E1u con \\end{%2}", + EnvMissingEnd: "Falta \\end{%1}", + MissingBoxFor: "Falta un cuadru pa %1", + MissingCloseBrace: "Falta la llave de zarramientu", + UndefinedControlSequence: "Secuencia de control indefinida %1", + DoubleExponent: "Doble esponente: use llaves p'aclarar", + DoubleSubscripts: "Doble sub\u00EDndiz: usu llaves p'aclarar", + DoubleExponentPrime: "La prima causa un doble esponente: use llaves p'aclarar", + CantUseHash1: "Nun pue usar el \u00ABcar\u00E1uter # de par\u00E1metru de macro\u00BB en mou matem\u00E1ticu", + MisplacedMiddle: "%1 tien de tar ente \\left y \\right", + MisplacedLimits: "%1 s\u00F3lo ta permit\u00EDu pa operadores", + MisplacedMoveRoot: "%1 s\u00F3lo pue apaecer dientro d'una ra\u00EDz", + MultipleCommand: "M\u00FAltiples %1", + IntegerArg: "L'argumentu de %1 tien de ser un enteru", + NotMathMLToken: "%1 nun ye un elementu de \u00ABtoken\u00BB", + InvalidMathMLAttr: "Atributu de MathML inv\u00E1lidu: %1", + UnknownAttrForElement: "%1 nun ye un atributu reconoc\u00EDu pa %2", + MaxMacroSub1: "Se sobrepas\u00F3'l n\u00FAmberu m\u00E1ximu de sustituciones de macro de MathJax; \u00BFhai ha una llamada de macro recursiva?", + MaxMacroSub2: "Pas\u00F3se'l n\u00FAmberu m\u00E1ximu de sustituciones de MathJax; \u00BFhai un entornu de LaTeX recursivu?", + MissingArgFor: "Falta l'argumentu pa %1", + ExtraAlignTab: "Tabulador d'alliniamientu estra en testu \\cases", + BracketMustBeDimension: "L'argumentu de corchete pa %1 tien de ser una dimensi\u00F3n", + InvalidEnv: "Nome d'entornu \u00AB%1\u00BB inv\u00E1lidu", + UnknownEnv: "Entornu desconoc\u00EDu \u00AB%1\u00BB", + ExtraCloseLooking: "Llave de zarramientu estra cuando se buscaba %1", + MissingCloseBracket: "Nun pudo alcontrase'l \u00AB]\u00BB de zarramientu pal argumentu de %1", + MissingOrUnrecognizedDelim: "El delimitador pa %1 falta o nun ta reconoc\u00EDu", + MissingDimOrUnits: "Falta la dimensi\u00F3n o les unidaes pa %1", + TokenNotFoundForCommand: "Nun pudo alcontrase %1 pa %2", + MathNotTerminated: "Espresi\u00F3n matem\u00E1tica inacabada nel cuadru de testu", + IllegalMacroParam: "Referencia illegal a par\u00E1metru de macro", + MaxBufferSize: "Se sobrepas\u00F3 el tama\u00F1u del almacenamientu intermediu internu de MathJax; \u00BFhai ha una llamada a una macro recursiva?", + CommandNotAllowedInEnv: "%1 nun se permite nel entornu %2", + MultipleLabel: "La etiqueta '%1' tien definiciones m\u00FAltiples", + CommandAtTheBeginingOfLine: "%1 tien d'apaecer al principiu de la llinia", + IllegalAlign: "Alliniaci\u00F3n illegal especificada en %1", + BadMathStyleFor: "Estilu de matem\u00E1tiques incorreutu pa %1", + PositiveIntegerArg: "L'argumentu de %1 tien de ser un enteru positivu", + ErroneousNestingEq: "A\u00F1eramientu incorreutu d'estructures d'ecuaci\u00F3n", + MultlineRowsOneCol: "Les fileres dientro del entornu %1 han de tener exactamente una columna", + MultipleBBoxProperty: "Propied\u00E1 %1 especificada dos veces en %2", + InvalidBBoxProperty: "'%1' nun paez un color, una distancia de separaci\u00F3n o un estilu", + ExtraEndMissingBegin: "Sobra un %1 o falta un \\begingroup", + GlobalNotFollowedBy: "%1 nun ta sigu\u00EDu por \\let, \\def o \\newcommand", + UndefinedColorModel: "El modelu de color '%1' nun ta defin\u00EDu", + ModelArg1: "Los valores de color pal modelu %1 requieren 3 n\u00FAmberos", + InvalidDecimalNumber: "N\u00FAmberu decimal inv\u00E1lidu", + ModelArg2: "Los valores de color pal modelu %1 tienen de tar ente %2 y %3", + InvalidNumber: "N\u00FAmberu inv\u00E1lidu", + NewextarrowArg1: "El primer argumentu pa %1 tien de ser un nome de secuencia de control", + NewextarrowArg2: "El segundu argumentu pa %1 tienen de ser dos enteros separaos por una coma", + NewextarrowArg3: "El tercer argumentu pa %1 tien de ser un n\u00FAmberu de car\u00E1uter Unicode", + NoClosingChar: "Nun pue alcontrase'l %1 de zarru", + IllegalControlSequenceName: "Nome incorreutu de secuencia de control pa %1", + IllegalParamNumber: "N\u00FAmberu par\u00E1metros illegal especific\u00E1u en %1", + MissingCS: "%1 tien de tar sigu\u00EDu por una secuencia de control", + CantUseHash2: "Usu illegal de # nuna plant\u00EDa pa %1", + SequentialParam: "Los par\u00E1metros pa %1 tienen de numberase de mou secuencial", + MissingReplacementString: "Falta la cadena de sustituci\u00F3n pa la definici\u00F3n de %1", + MismatchUseDef: "L'usu de %1 nun casa cola so definici\u00F3n", + RunawayArgument: "\u00BFArgumentu descontrol\u00E1u pa %1?", + NoClosingDelim: "Nun s'alcontr\u00F3 el delimitador de zarru pa %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/ast.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/ast.js new file mode 100644 index 00000000..9cf17efb --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/ast.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/ast/ast.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast",null,{ + menuTitle: "asturianu", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax alcontr\u00F3 una cookie de configuraci\u00F3n d'usuariu qu'incluye c\u00F3digu a executar. \u00BFQuier executar esi c\u00F3digu?\n\n(Tendr\u00EDa de calcar \u00ABEncaboxar\u00BB a menos que creara la cookie vust\u00E9 mesmu.)", + MathProcessingError: "Error de procesamientu matem\u00E1ticu", + MathError: "Error matem\u00E1ticu", + LoadFile: "Cargando %1", + Loading: "Cargando", + LoadFailed: "Fall\u00F3 la carga del ficheru: %1", + ProcessMath: "Procesando matem\u00E1tiques: %1%%", + Processing: "Procesando", + TypesetMath: "Escribiendo matem\u00E1tiques: %1%%", + Typesetting: "Componiendo", + MathJaxNotSupported: "El so navegador nun tien sofitu pa MathJax", + ErrorTips: "Conseyos de depuraci\u00F3n: usa %%1, inspect %%2 na consola del restolador" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/ast.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/FontWarnings.js new file mode 100644 index 00000000..0745f6d4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bcc/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HTML-CSS.js new file mode 100644 index 00000000..750c7191 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bcc/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HelpDialog.js new file mode 100644 index 00000000..eb5e00e1 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bcc/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathML.js new file mode 100644 index 00000000..faa29436 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bcc/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathMenu.js new file mode 100644 index 00000000..de6bbeb2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bcc/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/TeX.js new file mode 100644 index 00000000..ebee389b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/TeX.js @@ -0,0 +1,94 @@ +/************************************************************* + * + * MathJax/localization/bcc/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647", + ExtraCloseMissingOpen: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u0647 \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632", + MissingLeftExtraRight: "\u0641\u0642\u062F\u0627\u0646 \u200E\\left \u06CC\u0627 \u200E\\right \u0627\u0636\u0627\u0641\u06CC", + MissingScript: "\u0641\u0642\u062F\u0627\u0646 \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0627\u0644\u0627\u0645\u062A\u0646 \u06CC\u0627 \u0632\u06CC\u0631\u0645\u062A\u0646", + ExtraLeftMissingRight: "\u200E\\left \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u200E\\right", + Misplaced: "%1 \u0646\u0627\u0628\u062C\u0627", + MissingOpenForSub: "\u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0628\u0631\u0627\u06CC \u0632\u06CC\u0631\u0645\u062A\u0646", + MissingOpenForSup: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0628\u0627\u0644\u0627\u0645\u062A\u0646", + AmbiguousUseOf: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0645\u0628\u0647\u0645 \u0627\u0632 \u200E%1", + EnvBadEnd: "\u200E\\begin{%1}\u200E \u067E\u0627\u06CC\u0627\u0646\u200C\u06CC\u0627\u0641\u062A\u0647 \u0628\u0627 \u200E\\end{%2}\u200E", + EnvMissingEnd: "\u200E\\end{%1}\u200E \u06AF\u0645\u200C\u0634\u062F\u0647", + MissingBoxFor: "\u062C\u0639\u0628\u0647\u0654 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + MissingCloseBrace: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0645\u0641\u0642\u0648\u062F", + UndefinedControlSequence: "\u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644 \u062A\u0639\u0631\u06CC\u0641\u200C\u0646\u0634\u062F\u0647\u0654 %1", + DoubleExponent: "\u062A\u0648\u0627\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleSubscripts: "\u0632\u06CC\u0631\u0645\u062A\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleExponentPrime: "\u062A\u0648\u0627\u0646 \u062F\u0648 \u0645\u0648\u062C\u0628 \u062A\u0648\u0627\u0646 \u0645\u0636\u0627\u0639\u0641 \u0634\u062F: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + CantUseHash1: "\u0634\u0645\u0627 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u00AB\u0645\u0627\u06A9\u0631\u0648 \u0646\u0648\u06CC\u0633\u0647\u0654 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 #\u00BB \u062F\u0631 \u062D\u0627\u0644\u062A \u0631\u06CC\u0627\u0636\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + MisplacedMiddle: "\u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0631\u0648\u0646 \u200E\\left \u0648 \u200E\\right \u0646\u0648\u0634\u062A\u0647\u200C\u0634\u0648\u062F", + MisplacedLimits: "\u200E%1 \u0641\u0642\u0637 \u062F\u0631 \u0639\u0645\u0644\u06AF\u0631\u0647\u0627 \u0645\u062C\u0627\u0632 \u0627\u0633\u062A", + MisplacedMoveRoot: "\u200E%1 \u062A\u0646\u0647\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062F\u0631\u0648\u0646 \u06CC\u06A9 \u0631\u06CC\u0634\u0647 \u0638\u0627\u0647\u0631 \u0634\u0648\u062F", + MultipleCommand: "\u200E%1 \u0686\u0646\u062F\u06AF\u0627\u0646\u0647", + IntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u0628\u0627\u0634\u062F", + NotMathMLToken: "%1 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0646\u0634\u0627\u0646 \u0646\u06CC\u0633\u062A", + InvalidMathMLAttr: "\u0648\u06CC\u0698\u06AF\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 MathML: %1", + UnknownAttrForElement: "%1 \u06CC\u06A9 \u0648\u06CC\u0698\u06AF\u06CC \u0634\u0646\u0627\u062E\u062A\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %2 \u0646\u06CC\u0633\u062A", + MaxMacroSub1: "\u0627\u0632 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u0634\u0645\u0627\u0631 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u0647\u0627\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + MaxMacroSub2: "\u0627\u0632 \u0634\u0645\u0627\u0631 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u062A\u0639\u062F\u0627\u062F \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0645\u062D\u06CC\u0637 \u0644\u06CC\u062A\u06A9 \u0628\u0627\u0632\u0634\u062A\u06AF\u06CC \u0645\u0648\u062C\u0648\u062F \u0627\u0633\u062A\u061F", + MissingArgFor: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + ExtraAlignTab: "\u0628\u0631\u06AF\u0647\u0654 \u0686\u06CC\u0646\u0634 \u0627\u0636\u0627\u0641\u06CC \u062F\u0631 \u0645\u062A\u0646 \u200E\\cases", + BracketMustBeDimension: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0628\u0639\u062F \u0628\u0627\u0634\u062F", + InvalidEnv: " \u0646\u0627\u0645 \u0645\u062D\u06CC\u0637 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u00AB%1\u00BB", + UnknownEnv: "\u0645\u062D\u06CC\u0637 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u00AB%1\u00BB", + ExtraCloseLooking: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u06CC \u0647\u0646\u06AF\u0627\u0645 \u062C\u0633\u062A\u062C\u0648\u06CC %1", + MissingCloseBracket: "\u00AB]\u00BB \u0628\u0633\u062A\u0647 \u0628\u0631\u0627\u06CC \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MissingOrUnrecognizedDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647 \u06AF\u0645\u200C\u0634\u062F\u0647 \u06CC\u0627 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + MissingDimOrUnits: "\u0627\u0628\u0639\u0627\u062F \u06CC\u0627 \u0648\u0627\u062D\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + TokenNotFoundForCommand: "%1 \u0628\u0631\u0627\u06CC %2 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MathNotTerminated: "\u0631\u06CC\u0627\u0636\u06CC \u062F\u0631 \u062C\u0639\u0628\u0647\u0654 \u0645\u062A\u0646 \u067E\u0627\u06CC\u0627\u0646 \u0646\u06CC\u0627\u0641\u062A\u0647\u200C\u0627\u0633\u062A", + IllegalMacroParam: "\u0627\u0631\u062C\u0627\u0639 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u0645\u0627\u06A9\u0631\u0648\u06CC \u0646\u0627\u0645\u062C\u0627\u0632", + MaxBufferSize: "\u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u06CC\u0627\u0646\u06AF\u06CC\u0631 \u062F\u0627\u062E\u0644\u06CC MathJax \u06AF\u0630\u0634\u062A\u0647 \u0634\u062F\u0647\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + CommandNotAllowedInEnv: "\u200E%1 \u062F\u0631 \u0645\u062D\u06CC\u0637 \u200E%2 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A", + MultipleLabel: "\u0628\u0631\u0686\u0633\u067E \u00AB%1\u00BB \u0686\u0646\u062F\u0628\u0627\u0631 \u062A\u0639\u0631\u06CC\u0641\u200C\u0634\u062F\u0647", + CommandAtTheBeginingOfLine: "%1 \u0628\u0627\u06CC\u062F \u062F\u0631 \u0634\u0631\u0648\u0639 \u062E\u0637 \u0628\u06CC\u0627\u06CC\u062F", + IllegalAlign: "\u0686\u06CC\u0646\u0634 \u0645\u0634\u062E\u0635\u200C\u0634\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u062F\u0631 \u200E%1", + BadMathStyleFor: "\u0633\u0628\u06A9 \u0628\u062F \u0631\u06CC\u0627\u0636\u06CC \u0628\u0631\u0627\u06CC \u200E%1", + PositiveIntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0647 \u200E%1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u0639\u062F\u062F \u0645\u062B\u0628\u062A \u0628\u0627\u0634\u062F", + ErroneousNestingEq: "\u0633\u0627\u062E\u062A\u0627\u0631\u0647\u0627\u06CC \u0627\u0634\u062A\u0628\u0627\u0647 \u062A\u0648\u062F\u0631\u062A\u0648\u06CC \u0645\u0639\u0627\u062F\u0644\u0647", + MultlineRowsOneCol: "\u0633\u0637\u0631 \u062F\u0631\u0648\u0646 \u0645\u062D\u06CC\u0637 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0642\u06CC\u0642\u0627\u064B \u06CC\u06A9 \u0633\u062A\u0648\u0646 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F", + MultipleBBoxProperty: "%1 \u062F\u0648\u0628\u0627\u0631 \u062F\u0631 \u200E%2 \u062A\u0639\u0631\u06CC\u0641 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + InvalidBBoxProperty: "'%1' \u0628\u0647 \u0646\u0638\u0631 \u06CC\u06A9 \u0631\u0646\u06AF\u060C \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0628\u0627\u0644\u0634\u062A\u06A9 \u06CC\u0627 \u0633\u0628\u06A9 \u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06CC\u200C\u0631\u0633\u062F", + ExtraEndMissingBegin: "\u200E%1 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \\begingroup \u06AF\u0645\u200C\u0634\u062F\u0647", + GlobalNotFollowedBy: "\u200E%1 \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u200E\\let\u060C \u200E\\def \u06CC\u0627 \u200E\\newcommand \u0646\u06CC\u0627\u0645\u062F\u0647\u200C\u0627\u0633\u062A", + UndefinedColorModel: "\u0645\u062F\u0644 \u0631\u0646\u06AF\u06CC '%1' \u062A\u0639\u0631\u06CC\u0641 \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A", + ModelArg1: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u06F3 \u0639\u062F\u062F \u0627\u0633\u062A", + InvalidDecimalNumber: "\u0639\u062F\u062F \u0627\u0639\u0634\u0627\u0631\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + ModelArg2: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u0628\u06CC\u0646 %2 \u0648 %3 \u0628\u0627\u0634\u062F", + InvalidNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + NewextarrowArg1: "\u0646\u0634\u0627\u0648\u0646\u062F \u0627\u0648\u0644 \u0628\u0647 \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0646\u0627\u0645 \u06A9\u0646\u062A\u0631\u0644\u06CC \u062F\u0646\u0628\u0627\u0644\u0647 \u0628\u0627\u0634\u062F", + NewextarrowArg2: "\u0646\u0634\u0646\u0627\u0648\u0646\u062F \u062F\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u062F\u0648 \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u062C\u062F\u0627 \u0634\u062F\u0647 \u0628\u0627 \u06CC\u06A9 \u06A9\u0627\u0645\u0627 \u0628\u0627\u0634\u062F", + NewextarrowArg3: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0633\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u06CC\u06A9 \u0646\u0648\u06CC\u0633\u0647\u0654 \u06CC\u0648\u0646\u06CC\u06A9\u062F \u0628\u0627\u0634\u062F", + NoClosingChar: "%1 \u0628\u0633\u062A\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + IllegalControlSequenceName: "\u0646\u0627\u0645 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u0631\u0627\u06CC \u200E%1 \u0646\u0627\u0645\u062C\u0627\u0632", + IllegalParamNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u062C\u0627\u0632 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u062F\u0631 \u200E%1 \u0645\u0634\u062E\u0635 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + MissingCS: "\u200E%1 \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u06CC\u0627\u06CC\u062F", + CantUseHash2: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u0627\u0632 # \u062F\u0631 \u0627\u0644\u06AF\u0648 \u0628\u0631\u0627\u06CC %1", + SequentialParam: "\u067E\u0627\u0631\u0627\u0645\u062A\u0631\u0647\u0627 \u0628\u0631\u0627\u06CC %1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u0639\u062F\u062F\u06CC \u0628\u0627\u0634\u062F" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/bcc.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/bcc.js new file mode 100644 index 00000000..2c1bd8a2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/bcc.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/bcc/bcc.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc",null,{ + menuTitle: "\u0628\u0644\u0648\u0686\u06CC", + fontDirection: "rtl", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u062E\u0637\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC", + MathError: "\u062D\u0637\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC", + LoadFile: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC %1", + Loading: "\u0644\u0648\u062F\u0628\u06CC\u062A...", + LoadFailed: "\u062E\u0637\u0627 \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u067E\u0631\u0648\u0646\u062F\u0647: %1", + ProcessMath: "\u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Processing: "\u067E\u0631\u062F\u0627\u0632\u0634", + TypesetMath: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Typesetting: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC", + MathJaxNotSupported: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathJax \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/bcc.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/FontWarnings.js new file mode 100644 index 00000000..d96a4f67 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bg/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HTML-CSS.js new file mode 100644 index 00000000..d9d0a456 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bg/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HelpDialog.js new file mode 100644 index 00000000..51ae54e2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bg/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathML.js new file mode 100644 index 00000000..60bc90bb --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bg/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathMenu.js new file mode 100644 index 00000000..fd5fe2ee --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathMenu.js @@ -0,0 +1,56 @@ +/************************************************************* + * + * MathJax/localization/bg/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u041F\u043E\u043A\u0430\u0436\u0438 \u043A\u0430\u0442\u043E", + MathMLcode: "MathML \u043A\u043E\u0434", + OriginalMathML: "\u041E\u0440\u0438\u0433\u0438\u043D\u0430\u043B\u043D\u0438\u044F\u0442 MathML \u043A\u043E\u0434", + TeXCommands: "TeX \u043A\u043E\u043C\u0430\u043D\u0434\u0438", + AsciiMathInput: "AsciiMathML \u043A\u043E\u0434", + ErrorMessage: "\u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0437\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", + Annotation: "\u0410\u043D\u043E\u0442\u0430\u0446\u0438\u044F", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + OpenMath: "OpenMath", + Settings: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", + ZoomTrigger: "\u0423\u0432\u0435\u043B\u0438\u0447\u0430\u0432\u0430\u0439 \u0447\u0440\u0435\u0437", + Hover: "\u041F\u043E\u0441\u043E\u0447\u0432\u0430\u043D\u0435", + Click: "\u041A\u043B\u0438\u043A", + DoubleClick: "\u0414\u0432\u043E\u0435\u043D \u043A\u043B\u0438\u043A", + NoZoom: "\u0418\u0437\u043A\u043B\u044E\u0447\u0435\u043D\u043E", + TriggerRequires: "\u0418\u0437\u0438\u0441\u043A\u0432\u0430\u0439 \u043D\u0430\u0442\u0438\u0441\u043D\u0430\u0442:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "\u0423\u0432\u0435\u043B\u0438\u0447\u0438 \u043D\u0430", + Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E", + Browser: "\u0411\u0440\u0430\u0443\u0437\u044A\u0440", + Locale: "\u0415\u0437\u0438\u043A", + About: "\u0417\u0430 MathJax", + Close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/TeX.js new file mode 100644 index 00000000..ade9f717 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/TeX.js @@ -0,0 +1,68 @@ +/************************************************************* + * + * MathJax/localization/bg/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0418\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u043D\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0438\u043B\u0438 \u043B\u0438\u043F\u0441\u0432\u0430\u0449\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430", + ExtraCloseMissingOpen: "\u0418\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u043D\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0438\u043B\u0438 \u043B\u0438\u043F\u0441\u0432\u0430\u0449\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430", + MissingLeftExtraRight: "\u041B\u0438\u043F\u0441\u0432\u0430 \\left \u0438\u043B\u0438 \u0438\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u0435\u043D \\right", + MissingScript: "\u041B\u0438\u043F\u0441\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u043F\u0440\u0438 \u0441\u0442\u0435\u043F\u0435\u043D \u0438\u043B\u0438 \u0438\u043D\u0434\u0435\u043A\u0441", + ExtraLeftMissingRight: "\u0418\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u0435\u043D \\left \u0438\u043B\u0438 \u043B\u0438\u043F\u0441\u0432\u0430 \\right", + Misplaced: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u043D\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D %1", + MissingOpenForSub: "\u041B\u0438\u043F\u0441\u0432\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 \u0437\u0430 \u0438\u043D\u0434\u0435\u043A\u0441", + MissingOpenForSup: "\u041B\u0438\u043F\u0441\u0432\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 \u0437\u0430 \u0441\u0442\u0435\u043F\u0435\u043D", + AmbiguousUseOf: "\u0414\u0432\u0443\u0441\u043C\u0438\u0441\u043B\u0435\u043D\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 %1", + EnvBadEnd: "\\begin{%1} \u0435 \u0437\u0430\u0442\u0432\u043E\u0440\u0435\u043D \u0441 \\end{%2}", + EnvMissingEnd: "\u041B\u0438\u043F\u0441\u0432\u0430 \\end{%1}", + MissingBoxFor: "\u041B\u0438\u043F\u0441\u0432\u0430\u0449 box \u0437\u0430 %1", + MissingCloseBrace: "\u041B\u0438\u043F\u0441\u0432\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430", + UndefinedControlSequence: "\u041D\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u043D\u043E\u0441\u0442 %1", + DoubleExponent: "\u0414\u0432\u043E\u0439\u043D\u0430 \u0435\u043A\u0441\u043F\u043E\u043C\u0435\u043D\u0442\u0430: \u0443\u0442\u043E\u0447\u043D\u0435\u0442\u0435 \u0441\u044A\u0441 \u0441\u043A\u043E\u0431\u0438", + DoubleSubscripts: "\u0414\u0432\u043E\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441: \u0443\u0442\u043E\u0447\u043D\u0435\u0442\u0435 \u0441\u044A\u0441 \u0441\u043A\u043E\u0431\u0438", + DoubleExponentPrime: "\u0414\u0432\u0443\u0441\u043C\u0438\u0441\u043B\u0435\u043D\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 \u043F\u0440\u0438\u043C ('): \u0443\u0442\u043E\u0447\u043D\u0435\u0442\u0435 \u0441\u044A\u0441 \u0441\u043A\u043E\u0431\u0438", + CantUseHash1: "\u041D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 '\u043C\u0430\u043A\u0440\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u044A\u0440 #' \u0432 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0440\u0435\u0436\u0438\u043C", + MisplacedMiddle: "%1 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u043C\u0435\u0436\u0434\u0443 \\left \u0438 \\right", + MisplacedLimits: "%1 \u0435 \u043F\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E \u0441\u0430\u043C\u043E \u043F\u0440\u0438 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0438", + MisplacedMoveRoot: "%1 \u0441\u0435 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430 \u0441\u0430\u043C\u043E \u0432 \u043A\u043E\u0440\u0435\u043D", + MultipleCommand: "\u041C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u043E %1", + IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u044A\u0442 \u0437\u0430 %1 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u0446\u044F\u043B\u043E \u0447\u0438\u0441\u043B\u043E", + NotMathMLToken: "%1 - \u043D\u0435 \u0435 \u0437\u0430 MathML", + InvalidMathMLAttr: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D MathML \u0430\u0442\u0440\u0438\u0431\u0443\u0442: %1", + UnknownAttrForElement: "%1 \u043D\u0435 \u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043D\u0430 MathML \u0442\u0430\u0433 %2", + MaxMacroSub1: "\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0438\u044F\u0442 \u0431\u0440\u043E\u0439 \u0437\u0430\u043C\u0435\u0441\u0442\u0432\u0430\u043D\u0438\u044F \u0441 \u043C\u0430\u043A\u0440\u043E\u0441\u0438 \u0435 \u043F\u0440\u0435\u0432\u0438\u0448\u0435\u043D. \u0418\u043C\u0430 \u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u043E \u0438\u0437\u0432\u0438\u043A\u0432\u0430\u043D\u0435?", + MaxMacroSub2: "\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0438\u044F\u0442 \u0431\u0440\u043E\u0439 \u043D\u0430 \u0437\u0430\u043C\u0435\u0441\u0442\u0432\u0430\u043D\u0438\u044F \u0435 \u043F\u0440\u0435\u0432\u0438\u0448\u0435\u043D. \u0418\u043C\u0430 \u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u044F?", + MissingArgFor: "\u041B\u0438\u043F\u0441\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1", + ExtraAlignTab: "\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u043D\u043E\u0433\u043E \u043A\u043E\u043B\u043E\u043D\u0438 \u0432 \\cases", + BracketMustBeDimension: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u044A\u0442 \u043D\u0430 %1 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u0440\u0430\u0437\u043C\u0435\u0440\u043D\u043E\u0441\u0442", + InvalidEnv: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0438\u043C\u0435 '%1'", + UnknownEnv: "\u041D\u0435\u043F\u043E\u0437\u043D\u0430\u0442\u0430 \u0441\u0440\u0435\u0434\u0430 '%1'", + ExtraCloseLooking: "\u0418\u0437\u043B\u0438\u0448\u043D\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 \u043F\u0440\u0438 \u0442\u044A\u0440\u0441\u0435\u043D\u0435 \u043D\u0430 %1", + MissingCloseBracket: "\u041D\u044F\u043C\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 ']' \u0437\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u043D\u0430 %1", + MissingOrUnrecognizedDelim: "\u041B\u0438\u043F\u0441\u0432\u0430\u0449 \u0438\u043B\u0438 \u043D\u0435\u043F\u043E\u0437\u043D\u0430\u0442 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B \u043D\u0430 %1", + MissingDimOrUnits: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0440\u0430\u0437\u043C\u0435\u0440\u043D\u043E\u0441\u0442 \u0438\u043B\u0438 \u043D\u0435\u0439\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 %1", + TokenNotFoundForCommand: "\u041D\u0435 \u0441\u0435 \u043D\u0430\u043C\u0438\u0440\u0430 %1 \u0437\u0430 %2", + CommandNotAllowedInEnv: "%1 \u043D\u0435 \u0435 \u043F\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E \u0432 %2 \u0441\u0440\u0435\u0434\u0430", + MultipleLabel: "\u0415\u0442\u0438\u043A\u0435\u0442 \"%1\" \u0435 \u0434\u0443\u0431\u043B\u0438\u0440\u0430\u043D", + InvalidNumber: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/bg.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/bg.js new file mode 100644 index 00000000..f029d542 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/bg.js @@ -0,0 +1,55 @@ +/************************************************************* + * + * MathJax/localization/bg/bg.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg",null,{ + menuTitle: " \u0431\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u0413\u0440\u0435\u0448\u043A\u0430 \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430\u0442\u0430", + MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", + LoadFile: "\u0417\u0430\u0440\u0435\u0436\u0434\u0430\u043D\u0435 \u043D\u0430 %1", + Loading: "\u0417\u0430\u0440\u0435\u0436\u0434\u0430\u043D\u0435", + LoadFailed: "\u041D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0437\u0430\u0440\u0435\u0434\u0438: %1", + ProcessMath: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u043D\u0430 \u043A\u043E\u0434\u0430: %1%%", + Processing: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430", + TypesetMath: "\u041E\u0444\u043E\u0440\u043C\u044F\u043D\u0435: %1%%", + Typesetting: "\u041E\u0444\u043E\u0440\u043C\u044F\u043D\u0435", + MathJaxNotSupported: "\u0411\u0440\u0430\u0443\u0437\u044A\u0440\u044A\u0442 \u0412\u0438 \u043D\u0435 \u043F\u043E\u0434\u0434\u044A\u0440\u0436\u0430 MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: undefined +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/bg.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/FontWarnings.js new file mode 100644 index 00000000..06c565fd --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/br/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax a implij ar fonto\u00F9 web evit diskwel ar jedado\u00F9 war ar bajenn-ma\u00F1. Pell eo ar re-se o pellgarga\u00F1 ha diskwelet e vefe buanoc'h ma stailhfec'h fonto\u00F9 jedoniezh war-eeun e teuliad fonto\u00F9 ho reizhiad.", + noFonts: "N'hall ket MathJax lec'hia\u00F1 ur polis evit diskwel e jedado\u00F9, ha dihegerz eo ar fonto\u00F9 skeudenn. Ret eo implijout arouezenno\u00F9 Unicode neuze. Emicha\u00F1s e c'hallo ho merdeer diskwel anezho. Ne c'hallo ket arouezenno\u00F9 zo beza\u00F1 diskwelet mat, tamm ebet zoken.", + webFonts: "GAnt an darn vrasa\u00F1 eus ar merdeerio\u00F9 arnevez e c'haller pellgarga\u00F1 fonto\u00F9 adalek ar web. Hizivaat ho merdeer (pe che\u00F1ch merdeer) a c'hallfe gwellaat kalite ar jedado\u00F9 war ar bajenn-ma\u00F1.", + fonts: "Gallout a ra MathJax implijout pe ar fonto\u00F9 [STIX](%1) pe ar fonto\u00F9 [MathJax TeX](%2); Pellgargit ha stailhit unan eus fonto\u00F9-se evit gwellaat ho skiant-prenet gant MathJax.", + STIXPage: "Krouet eo bet ar bajenn-ma\u00F1 evit implijout ar fonto\u00F9 [STIX ](%1). Pellgargit ha stailhit ar fonto\u00F9-se evit gwellaat ho skiant-penet gant MathJax.", + TeXPage: "Krouet eo bet ar bajenn-ma\u00F1 evit implijout ar fonto\u00F9 [MathJax TeX](%1). Pellgargit ha stailhit ar fonto\u00F9-se evit gwellaat ho skiant-prenet gant MathJax.", + imageFonts: "Ober a ra MathJax gant skeudenno\u00F9 font kentoc'h eget gant fonto\u00F9 web pe fonto\u00F9 lec'hel. Gant se e teu an trao\u00F9 gorrekoc'h war-wel ha marteze ne vo ket ar jedado\u00F9 evit beza\u00F1 moullet diouzh pizhder kloka\u00F1 ho moullerez." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HTML-CSS.js new file mode 100644 index 00000000..ecb851ce --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/br/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "O karga\u00F1 ar font web %1", + CantLoadWebFont: "Ne c'haller ket karga\u00F1 ar font web %1", + CantFindFontUsing: "Ne c'haller ket kavout ur font dereat e-touez %1", + FirefoxCantLoadWebFont: "Ne c'hall ket Firefox karga\u00F1 ar fonto\u00F9 adalek un ostiz a-bell", + WebFontsNotAvailable: "N'haller ket kaout ar Fonto\u00F9 web. Ar fonto\u00F9 skeudenn a vo implijet en o flas" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HelpDialog.js new file mode 100644 index 00000000..c043a3d8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/br/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Sikour MathJax", + MathJax: "*MathJax* zo ul levraoueg JavaSkript. Ganta\u00F1 e c'hall aozerien ar pajenno\u00F9 enderc'hel jedado\u00F9 en o fajenno\u00F9 Web. Evel lenner n'ho po ket ezhomm d'ober netra evit ma'z aio en-dro.", + Browsers: "\"Merdeerien\": Mont a ra Mathjax en-dro gant an holl verdeerien modern, en ur gonta\u00F1 Explorer 6, Firefox 3, Chrome 0.2, Safari 2, Opera 9.6 hag o stummo\u00F9 kre\u00F1voc'h, hag ivez an darn vrasa\u00F1 eus ar merdeerio\u00F9 evit hezougello\u00F9 ha tablezenno\u00F9.", + Menu: "\"La\u00F1ser Math\" : Ouzhpenna\u00F1 a ra MathJax ul la\u00F1ser kemperzhel d'ar c'hevatalenno\u00F9. Klikit war bouton deho\u00F9 al logodenn pe klikit war war ne vern peseurt formulenn jedoniezh o terc'hel da boueza\u00F1 war Ktrl evit monet d'al la\u00F1ser.", + ShowMath: "Gant \"Diskwel ar matematiko\u00F9 evel\" e c'hallot diskwel balizenna\u00F1 tarzh ar jedad evit eila\u00F1-pega\u00F1 (evel MathML pe en e furmad orin).", + Settings: "Gant *Arventenno\u00F9\" e c'hallit kontrolla\u00F1 arc'hwelio\u00F9 MathJax, evel ment ar jedado\u00F9, hag ar gwikefre implijet evit diskwel ar c'hevatalenno\u00F9.", + Language: "\"Yezh\" a lez ac'hanoc'h da zibab ar yezh implijet gant MathJax evit e la\u00F1serio\u00F9 hag e gemennadurio\u00F9.", + Zoom: "*Math zoom*: M'eo diaes deoc'h lenn ur gevatalenn e c'hall MathJax brasaat anezhi evit skoazella\u00F1 ac'hanoc'h da welet anezhi gwelloc'h.", + Accessibilty: "*Monedusted*:Mathjad a labouro ent emgefreek gant lennerio\u00F9 skramm evit ma vo aesoc'h d'an dud fall o gweled pledi\u00F1 gant ar jedoniezh.", + Fonts: "\"Fonto\u00F9*: gant Mathjax e vo implijet ar fonto\u00F9 jedoniel zo ma vezont staliet en hoc'h urzhiataer ; anez e vo implijet ar fonto\u00F9 kavet war ar Web. Daoust ma n'eo ret, gant ar fonto\u00F9 staliet ent lec'hel e vo buanaet ar c'henaozadur. Alia\u00F1 a reomp ac'hanoc'h da stalia\u00F1 ar [fonto\u00F9 STIX](%1).", + CloseDialog: "Serri\u00F1 ar voest kendivizout skoazell" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathML.js new file mode 100644 index 00000000..e922ecfc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathML.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/localization/br/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph fall : %1", + BadMglyphFont: "Font fall : %1", + UnknownNodeType: "Seurt skoulm dianav : %1", + UnexpectedTextNode: "Skoulm testenn dic'hortoz : %1", + ErrorParsingMathML: "Fazi o tielfenna\u00F1 MathML", + ParsingError: "Fazi o ielfenna\u00F1 MathML : %1", + MathMLSingleElement: "MathML a rank beza\u00F1 stummet gant un elfenn hepken", + MathMLRootElement: "Gant un elfenn \u003Cmath\u003E e rank beza\u00F1 stummet MathML, ha ket gant %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathMenu.js new file mode 100644 index 00000000..0409a11e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathMenu.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/br/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Diskouez ar formulenn evel", + MathMLcode: "Kod MathML", + OriginalMathML: "MathML orin", + TeXCommands: "Urzhio\u00F9 TeX", + Original: "Furmskrid orin", + ErrorMessage: "Kemennadenn fazi", + Annotation: "Notenn", + TeX: "TeX", + StarMath: "StarMath", + OpenMath: "OpenMath", + Settings: "Arventenno\u00F9 ar matematiko\u00F9", + Click: "Klika\u00F1", + DoubleClick: "Daouglika\u00F1", + NoZoom: "Zoum ebet", + Option: "Dibarzh", + Command: "Urzhiad", + Control: "Kontroll", + ZoomFactor: "Feur zoum", + ForHTMLCSS: "Evit HTML-CSS :", + Auto: "Emgefre", + TeXLocal: "TeX (lec'hel)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (skeudenn)", + STIXLocal: "STIX (lec'hel)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "La\u00F1ser kemperzhel", + Browser: "Merdeer", + Locale: "Yezh", + LoadLocale: "Karga\u00F1 diwar an URL ...", + About: "Diwar-benn MathJax", + Help: "Sikour MathJax", + wofforotffonts: "fonto\u00F9 woff pe otf", + eotffonts: "fonto\u00F9 eot", + svgfonts: "Fonto\u00F9 svg", + LoadURL: "Karga\u00F1 roadenno\u00F9 trei\u00F1 eus an URL-ma\u00F1 :", + Close: "Serri\u00F1", + EqSource: "Tarzh kevatalenn MathJax", + AsciiMathInput: "Moned AsciiMathML", + Maple: "Maple", + ContentMathML: "Endalc'h MathML", + texHints: "Diskwel ar skoazello\u00F9 Tex e MathML", + ZoomTrigger: "Distegner Zoum", + TriggerRequires: "An distegner en deus ezhomm :", + Alt: "Erl", + Shift: "Pennlizherenn", + MPHandles: "Lezel MathPlayer da vera\u00F1 :", + MenuEvents: "Darvoudo\u00F9 la\u00F1ser", + MouseEvents: "Darvoudo\u00F9 logodenn", + MenuAndMouse: "Darvoudo\u00F9 logodenn ha la\u00F1serio\u00F9", + FontPrefs: "Penndibabo\u00F9 font", + Scale: "Lakaat an holl jedado\u00F9 hervez ar skeuliad...", + localTeXfonts: "Implijout ar fonto\u00F9 TeX lec'hel", + webTeXfonts: "Implijout fonto\u00F9 TeX ar web", + imagefonts: "Implijout ar fonto\u00F9 Skeudenn", + localSTIXfonts: "Implijout ar fonto\u00F9 STIX lec'hel", + webSVGfonts: "Implijout fonto\u00F9 SVG ar web", + genericfonts: "Implijout ar fonto\u00F9 Unicode generek", + BadData: "C'hwitet eo pellgardadur ar roadenno\u00F9 trei\u00F1 adalek %1", + NonZeroScale: "Ne zlefe ket ar skeuliad beza\u00F1 par da zero", + PercentScale: "Ar skeuliad a zlefe beza\u00F1 un dregantad (da skouer, 120 %%)", + IE8warning: "Se a ziweredekay al la\u00F1ser hag ar arc'hwelio\u00F9 zouma\u00F1. En o flas avat e c'halli klika\u00F1 war ur bomm en ur boueza\u00F1 war ar bouton Alt\n evit kaout al la\u00F1ser MathjAX.", + IE9warning: "Diweredekaet e vo al la\u00F1ser kemperzhel MathJax, met en e flas e c'hallot klika\u00F1 war ur bomm o terc'hel da boueza\u00F1 war ar bouton Alt evit kaout al la\u00F1ser MathJax.", + NoOriginalForm: "N'haller kaout furmad orin ebet", + CloseAboutDialog: "Serri\u00F1 ar voest kendivizout A-zivout MathJax", + FastPreview: "Dalberzh prim", + InTabOrder: "Enlakaat an urzh an ivinello\u00F9" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/TeX.js new file mode 100644 index 00000000..1bdfd9d4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/TeX.js @@ -0,0 +1,94 @@ +/************************************************************* + * + * MathJax/localization/br/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Briataenn digeri\u00F1 a re pe briataenn serri\u00F1 diank", + ExtraCloseMissingOpen: "Briataenn serri\u00F1 a re pe briataenn digeri\u00F1 diank", + MissingLeftExtraRight: "\\left diank pe \\right a re", + ExtraLeftMissingRight: "\\left a re pe \\right diank", + Misplaced: "%1 lec'hiet fall", + AmbiguousUseOf: "Implij forc'hellek eus %1", + EnvBadEnd: "\\begin{%1} zo echuet gant \\end{%2}", + EnvMissingEnd: "\\end{%1} a vank", + MissingBoxFor: "Ar voest a vank evit %1", + MissingCloseBrace: "Ar vriataenn serri\u00F1 a vank", + MisplacedMiddle: "%1 a rank beza\u00F1 e-barzh \\left ha \\right", + MisplacedMoveRoot: "%1 ne c'hall beza\u00F1 nemet e-barzh ur wrizienn", + MultipleCommand: "Meur a %1", + IntegerArg: "Arguzenn %1 a rank beza\u00F1 un niver anterin", + InvalidMathMLAttr: "Doareenn MathML direizh : %1", + MissingArgFor: "Arguzenn diank evit %1", + InvalidEnv: "Anv endro \"%1\" direizh", + UnknownEnv: "endro dianav \"%1\"", + TokenNotFoundForCommand: "N'eus ket bet gallet kavout %1 evit %2", + MathNotTerminated: "Formulenn diechu er voest testenn", + CommandNotAllowedInEnv: "%1 n'eo ket aotreet en endro %2", + MultipleLabel: "Label '%1' termenet meur a wech", + CommandAtTheBeginingOfLine: "%1 a rank beza\u00F1 e dero\u00F9 al linenn", + BadMathStyleFor: "Stil matematikel direizh evit %1", + PositiveIntegerArg: "Arguzenn %1 a rank beza\u00F1 un niver pozitivel anterin", + MultlineRowsOneCol: "Ar renko\u00F9 e-barzh an endro %1 a rank kaout ur bann dres", + MultipleBBoxProperty: "%1 diferet div wech e-barzh %2", + ExtraEndMissingBegin: "%1 a re pe \\begingroup diank", + GlobalNotFollowedBy: "%1 n'eo ket heuliet gant \\let, \\def, pe \\newcommand", + UndefinedColorModel: "N'eo ket termenet patrom liv \"%1\"", + InvalidDecimalNumber: "Niver degel direizh", + InvalidNumber: "Niver direizh", + NewextarrowArg2: "Eil arguzenn %1 a rank beza\u00F1 daou niver anterin dispartiet gant ur virgulenn", + NewextarrowArg3: "Trede arguzenn %1 a rank beza\u00F1 un niverenn arouezenn unicode", + NoClosingChar: "Ne c'haller ket kavout an %1 serri\u00F1", + CantUseHash2: "Implij direizh eus # er patrom evit %1", + MismatchUseDef: "An implij eus %1 ne glot ket gant an termenadur anezha\u00F1", + RunawayArgument: "Arguzenn diechu evit %1 ?", + NoClosingDelim: "Ne c'haller ket kavout ur bevenner serri\u00F1 evit %1", + MissingScript: "Arguzenn en usskrid pe en isskrid a vank", + MissingOpenForSub: "Briataenn digeri\u00F1 a vank evit ar skrid en isskrid", + MissingOpenForSup: "Briataenn digeri\u00F1 a vank evit ar skrid en usskrid", + UndefinedControlSequence: "An urzh kontrolla\u00F1 %1 n'eo ket termenet", + DoubleExponent: "Usskrid doubl : implijit briataenno\u00F9 evit sklaeraat", + DoubleSubscripts: "Isskrid double : implijit briataenno\u00F9 evit sklaeraat", + CantUseHash1: "Ne c'hallit ket implijout an arouezenn # er mod jedoniezh", + MisplacedLimits: "N'eo aotreet an urzh %1 nemet gant an oberataerio\u00F9", + NotMathMLToken: "N'eo ket an elfenn %1 un elfenn MathML elfennel", + UnknownAttrForElement: "Dianav eo an doareenn %1 d'an elfenn %2", + ExtraAlignTab: "Arouezenn steuda\u00F1 '\u0026' dic'hortoz evit testenn an urzh /cases", + BracketMustBeDimension: "An argutezenn etre krochedo\u00F9 an urzh %1 a rank beza\u00F1 ur vent", + ExtraCloseLooking: "Briataenn serri\u00F1 dic'hortoz pa'z eo bet enklasket %1", + MissingCloseBracket: "Ne c'haller ket kavout ']' evit arguzenn an urzh %1", + MissingOrUnrecognizedDelim: "Ar bevenner a vank pe n'eo ket anavezet gant an urzh %1", + MissingDimOrUnits: "Ar Vent pe an unvez a vank evit an urzh %1", + IllegalMacroParam: "N'eo ket aotreet an arventenn dave makro", + IllegalAlign: "N'eo ket aotreet ar steudad evit an urzh %1", + ErroneousNestingEq: "Empradur direizh ar frammo\u00F9 kevatalenno\u00F9", + InvalidBBoxProperty: "Seblantout a ra n'eo ket an talvoud '%1' ul liv, ur ment marz bihanoc'h pe ur stil.", + ModelArg1: "An talvoudo\u00F9 livio\u00F9 evit ar patrom %1 o deus ezhomm eus 3 niverenn", + ModelArg2: "An talvoudo\u00F9 livio\u00F9 evit ar patrom %1 a rank beza\u00F1 etre %2 ha %3", + NewextarrowArg1: "Arguzenn genta\u00F1 an urzhiad %1 a rank beza\u00F1 anv ur seka\u00F1s kontrolla\u00F1", + IllegalControlSequenceName: "N'eo ket aotreet anv ar c'hontroll seka\u00F1s evit an urzh %1", + IllegalParamNumber: "Niver direizh a arventenno\u00F9 evit an urzh %1", + MissingCS: "%1 a rank beza\u00F1 heuliet gant ur seka\u00F1s kontrolla\u00F1", + MissingReplacementString: "Ar chadennad arouezenno\u00F9 erlec'hia\u00F1 a vank evit an termenadur %1.", + DoubleExponentPrime: "Un ask a zegas un usskrid doubl : implijit briataenno\u00F9 evit sklaeraat" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/br.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/br.js new file mode 100644 index 00000000..121e6e5a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/br.js @@ -0,0 +1,66 @@ +/************************************************************* + * + * MathJax/localization/br/br.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br",null,{ + menuTitle: "brezhoneg", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Fazi o treta\u00F1 ar formulenn", + MathError: "Fazi er formulenn", + LoadFile: "O karga\u00F1 %1", + Loading: "O karga\u00F1", + LoadFailed: "N'eus ket bet gallet karga\u00F1 %1", + ProcessMath: "Treta\u00F1 ar formulenno\u00F9 : %1%%", + Processing: "O treta\u00F1", + TypesetMath: "Aoza\u00F1 formulenno\u00F9 : %1%%", + Typesetting: "Aoza\u00F1", + MathJaxNotSupported: "Ne c'hall ket ho merdeer ober gant MathJax", + ErrorTips: "Alio\u00F9 dizreina\u00F1 : implijout %%1, ensellet %%2, e letrin ar merdeer" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && !(n % 100 === 11 || n % 100 === 71 || + n % 100 === 91)) {return 1} // one + if (n % 10 === 2 && !(n % 100 === 12 || n % 100 === 72 || + n % 100 === 92)) {return 2} // two + if ((n % 10 === 3 || n % 10 === 4 || n % 10 === 9) && + !(10 <= n % 100 && n % 100 <= 19 || + 70 <= n % 100 && n % 100 <= 79 || + 90 <= n % 100 && n % 100 <= 99)) {return 3} // few + if (n !== 0 && n % 1000000 === 0) {return 4} // other + return 5; + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/br.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/FontWarnings.js new file mode 100644 index 00000000..fed5c770 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ca/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax est\u00E0 utilitzant fonts basades en web per mostrar les expressions matem\u00E0tiques d'aquesta p\u00E0gina. Aix\u00F2 porta un temps per descarregar, de tal manera que la p\u00E0gina es mostrar\u00E0 m\u00E9s r\u00E0pidament si instal\u00B7leu les fonts matem\u00E0tiques directament a la vostra carpeta de sistema de fonts.", + imageFonts: "MathJaz est\u00E0 utilitzant les seves fonts d'imatge en comptes de fonts locals o basades en web. Aix\u00F2 pot fer que la composici\u00F3 de la p\u00E0gina sigui m\u00E9s lenta que l'habitual, i les expressions matem\u00E0tiques poden no imprimir-se a resoluci\u00F3 completa en la vostra impressora.", + noFonts: "MathJax no pot localitzar una font per a utilitzar-la a l'hora de mostrar les expressions matem\u00E0tiques, de tal manera que es recolza en car\u00E0cters Unicode gen\u00E8rics, amb el sup\u00F2sit que el vostre navegador ser\u00E0 capa\u00E7 de mostrar-les. Alguns car\u00E0cters poden no mostrar-se correctament, o fins i tot poden no mostrar-se en absolut.", + webFonts: "La majoria de navegadors moderns permeten la desc\u00E0rrega de les fonts. Si actualitzeu a una versi\u00F3 m\u00E9s nova del vostre navegador (o si canvieu de navegador) podreu millorar la qualitat de les expressions matem\u00E0tiques d'aquesta p\u00E0gina.", + fonts: "MathJax pot utilitzar tant les [fonts STIX](%1) com les [fonts TeX MathJax](%2). Descarregueu i instal\u00B7leu una d'aquestes fonts per millorar la vostra experi\u00E8ncia MathJax.", + STIXPage: "Aquesta p\u00E0gina est\u00E0 dissenyada per usar les [fonts STIX](%1). Descarregueu i instal\u00B7leu aquestes fonts per millorar la vostra experi\u00E8ncia MathJax.", + TeXPage: "Aquesta p\u00E0gina est\u00E0 dissenyada per usar les [fonts TeX MathJax](%1). Descarregueu i instal\u00B7leu aquestes fonts per millorar la vostra experi\u00E8ncia MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HTML-CSS.js new file mode 100644 index 00000000..4c7573bf --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ca/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Carregant font web %1", + CantLoadWebFont: "No es pot carregar la font web %1", + FirefoxCantLoadWebFont: "Firefox no pot carregar fonts web des d'un servidor remot", + CantFindFontUsing: "No es pot trobar una font v\u00E0lida usant %1", + WebFontsNotAvailable: "Fonts web no disponibles. S'estan usant fonts d'imatge" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HelpDialog.js new file mode 100644 index 00000000..de5555a7 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/ca/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Ajuda MathJax", + MathJax: "*MathJax* \u00E9s una llibreria JavaScript que permet als autors de p\u00E0gines incloure expressions matem\u00E0tiques a les seves p\u00E0gines web. Com a lector, no necessiteu res perqu\u00E8 pugueu visualitzar la p\u00E0gina.", + Browsers: "*Navegadors*: MathJax funciona amb tots els navegadors moderns, incloent IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ i la majoria de navegadors m\u00F2bils.", + Menu: "*Men\u00FA matem\u00E0tiques*: MathJax afegeix un men\u00FA contextual a les equacions. Feu clic amb el bot\u00F3 dret, o Ctrl-clic, sobre qualsevol f\u00F3rmula per accedir al men\u00FA.", + ShowMath: "*Mostra f\u00F3rmula com a* us permet visualitzar el codi font de la f\u00F3rmula, per tal que pugueu copiar i enganxar (en format MathML o en el seu format original).", + Settings: "*Configuraci\u00F3* us permet controlar diverses caracter\u00EDstiques de MathJax, com la mida de les f\u00F3rmules, i el mecanisme emprat per visualitzar les equacions.", + Language: "*Idioma* us permet seleccionar l'idioma emprat per MathJax en els seus men\u00FAs i missatges d'advert\u00E8ncia.", + Zoom: "*Zoom*: Si teniu dificultats a l'hora de llegir una equaci\u00F3, MathJax pot ampliar-la per ajudar-vos a veure-la millor.", + Accessibilty: "*Accessibilitat*: MathJax funciona autom\u00E0ticament amb lectors de pantalla, per a fer les expressions matem\u00E0tiques accessibles a aquells que tenen dificultats de visi\u00F3.", + Fonts: "*Fonts*: MathJax usa algunes fonts matem\u00E0tiques si estan instal\u00B7lades al vostre ordinador; si no les hi troba, usar\u00E0 fonts basades en la web. Encara que no \u00E9s necessari, si instal\u00B7leu les fonts localment, aix\u00F2i ajudar\u00E0 a qu\u00E8 la composici\u00F3 de la p\u00E0gina sigui m\u00E9s r\u00E0pida. Us suggerim que instal\u00B7leu les [fonts STIX](%1).", + CloseDialog: "Tanca el di\u00E0leg d'ajuda" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathML.js new file mode 100644 index 00000000..ca2086e8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ca/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Mglyph incorrecte: %1", + BadMglyphFont: "Font incorrecta: %1", + MathPlayer: "MathJax no ha pogut configurar MathPlayer.\n\nSi MathPlayer no est\u00E0 instal\u00B7lat, necessiteu instal\u00B7lar-lo pr\u00E8viament. Altrament, pot ser que la vostra configuraci\u00F3 de seguretat estigui blocant l'execuci\u00F3 de controls ActiveX. Useu el men\u00FA Opcions d'Internet dins el men\u00FA Eines i seleccioneu la pestanya Seguretat, i llavors premeu el bot\u00F3 Nivell Personalitzat. Assegureu-vos que les configuracions per 'Executar Controls ActiveX' i 'Comportaments binari i script' estan activades.\n\nDe moment veureu missatges d'error en comptes de f\u00F3rmules matem\u00E0tiques.", + CantCreateXMLParser: "MathJax no pot crear un analitzador XML per MathML. Comproveu que la configuraci\u00F3 de seguretat 'Controls de script ActiveX marcats segurs per scripting' est\u00E0 marcada (aneu a l'opci\u00F3 Opcions d'Internet dins el men\u00FA Eines, i seleccioneu el panell de Seguretat; despr\u00E9s, cliqueu el bot\u00F3 Nivell Personalitzat per activar aquesta configuraci\u00F3).\n\nLes equacions MathML no podran ser processades per MathJax", + UnknownNodeType: "Tipus de node desconegut: %1", + UnexpectedTextNode: "Node de text inesperat: %1", + ErrorParsingMathML: "Error d'an\u00E0lisi MathML", + ParsingError: "Error d'an\u00E0lisi MathML: %1", + MathMLSingleElement: "MathML ha d'estar format per un sol element", + MathMLRootElement: "MathML ha d'estar format per un element \u003Cmath\u003E, no per %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathMenu.js new file mode 100644 index 00000000..c52b15bd --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/ca/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Mostra f\u00F3rmules com a", + MathMLcode: "Codi MathML", + OriginalMathML: "MathML original", + TeXCommands: "Comands TeX", + AsciiMathInput: "Entrada de AsciiMathML", + Original: "Forma original", + ErrorMessage: "Missatge d'error", + Annotation: "Anotaci\u00F3", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Contingut MathML", + OpenMath: "OpenMath", + texHints: "Mostra ajudes TeX en MathML", + Settings: "Configuraci\u00F3 de MathML", + ZoomTrigger: "Control de zoom", + Hover: "Passar el ratol\u00ED per sobre", + Click: "Clic", + DoubleClick: "Doble-clic", + NoZoom: "Sense zoom", + TriggerRequires: "El control requereix:", + Option: "Opci\u00F3", + Alt: "Alt", + Command: "Comand", + Control: "Control", + Shift: "Maj\u00FAscules", + ZoomFactor: "Factor de zoom", + Renderer: "Processador de f\u00F3rmules", + MPHandles: "Permetre que MathPlayer controli:", + MenuEvents: "Events de men\u00FA", + MouseEvents: "Events de ratol\u00ED", + MenuAndMouse: "Events de ratol\u00ED i de men\u00FA", + FontPrefs: "Prefer\u00E8ncies de font", + ForHTMLCSS: "Per HTML-CSS:", + Auto: "Auto", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imatge)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Men\u00FA contextual", + Browser: "Navegador", + Scale: "Escalar totes les f\u00F3mules...", + Discoverable: "Iluminar quan el ratol\u00ED passi per sobre", + Locale: "Idioma", + LoadLocale: "Carrega des de l'URL...", + About: "Sobre MathJax", + Help: "Ajuda de MathJax", + localTeXfonts: "usar fonts TeX locals", + webTeXfonts: "usar font web TeX", + imagefonts: "usar fonts d'imatge", + localSTIXfonts: "usar fonts STIX locals", + webSVGfonts: "usar fonts SVG web", + genericfonts: "usar fonts gen\u00E8riques Unicode", + wofforotffonts: "fonts WOFF o OTF", + eotffonts: "fonts EOT", + svgfonts: "fonts SVG", + WebkitNativeMMLWarning: "Sembla que el vostre navegador no permet MathML de forma nativa; si canvieu a la visualitzaci\u00F3 MathML pot ser que les f\u00F3rmules de la p\u00E0gina no es puguin llegir correctament", + MSIENativeMMLWarning: "Internet Explorer requereix el plugin MathPlayer per processar el resultat de MathML", + OperaNativeMMLWarning: "El suport d'Opera per MathML \u00E9s limitat; si canvieu a la visualitzaci\u00F3 MathML pot ser que algunes expressions no es visualitzin correctament.", + SafariNativeMMLWarning: "El MathML del vostre navegador no implementa totes les caracter\u00EDstiques usades per MathJax; algunes expressions poden no visualitzar-se correctament.", + FirefoxNativeMMLWarning: "El MathML del vostre navegador no implementa totes les caracter\u00EDstiques usades per MathJax; algunes expressions poden no visualitzar-se correctament.", + MSIESVGWarning: "SVG no est\u00E0 implementat en Internet Explorer anterior a IE9 o quan est\u00E0 emulant IE8 o anterior. Si canvieu a visualitzaci\u00F3 SVG, les f\u00F3rmules no es visualitzaran correctament.", + LoadURL: "Carregar les dades de traducci\u00F3 d'aquesta URL:", + BadURL: "La URL ha de ser per un arxiu JavaScript que defineixi les dades de traducci\u00F3 per MathJax. Els noms d'arxius JavaScript han de finalitzar amb '.js'", + BadData: "No s'han pogut carregar les dades de traducci\u00F3 des de %1", + SwitchAnyway: "Canviar la visualitzaci\u00F3 de totes maneres?\n\n(Premeu Acceptar per canviar, Cancel\u00B7lar per continuar amb la visualitzaci\u00F3 actual)", + ScaleMath: "Escalar totes les f\u00F3rmules (en comparaci\u00F3 amb el text adjacent) per", + NonZeroScale: "L'escalat no pot ser zero", + PercentScale: "L'escalat ha de ser un percentatge (per exemple 120%%)", + IE8warning: "Aix\u00F2 desactivar\u00E0 les caracter\u00EDstiques de men\u00FA i zoom de MathJax, per\u00F2 podeu fer Alt-clic sobre una expressi\u00F3 per mostrar el men\u00FA MathJax.\n\nRealment voleu canviar la configuraci\u00F3 de MathPlayer?", + IE9warning: "El men\u00FA contextual de MathJax es desactivar\u00E0, per\u00F2 podeu fer Alt-clic sobre una expressi\u00F3 per mostrar el men\u00FA MathJax.", + NoOriginalForm: "No s'ha trobat cap forma original", + Close: "Tanca", + EqSource: "Codi font d'equaci\u00F3 MathJax", + CloseAboutDialog: "Tanca el di\u00E0leg de quant al MathJax", + FastPreview: "Vista pr\u00E8via r\u00E0pida", + AssistiveMML: "MathML auxiliar", + InTabOrder: "Inclou en l'ordre de pestanyes" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/TeX.js new file mode 100644 index 00000000..7df70ada --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/ca/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Sobra una clau d'apertura o falta una clau de tancament", + ExtraCloseMissingOpen: "Sobra una clau de tancament o falta una clau d'abertura", + MissingLeftExtraRight: "Falta \\left o sobra \\right", + MissingScript: "Falta argument de super\u00EDdex o sub\u00EDndex", + ExtraLeftMissingRight: "Sobra \\left o falta \\right", + Misplaced: "%1 col\u00B7locat err\u00F2niament", + MissingOpenForSub: "Falta clau d'abertura per sub\u00EDndex", + MissingOpenForSup: "Falta clau d'abertura per super\u00EDndex", + AmbiguousUseOf: "\u00DAs ambigu de %1", + EnvBadEnd: "\\begin{%1} finalitzat amb \\end{%2}", + EnvMissingEnd: "Falta \\end{%1}", + MissingBoxFor: "Falta caixa per %1", + MissingCloseBrace: "Falta clau de tancament", + UndefinedControlSequence: "Seq\u00FC\u00E8ncia de control no definida %1", + DoubleExponent: "Doble exponent: useu claus per aclarir", + DoubleSubscripts: "Dobre sub\u00EDndex: useu claus per aclarir", + DoubleExponentPrime: "El s\u00EDmbol \"prima\" causa doble exponent: useu claus per aclarir", + CantUseHash1: "No podeu fer servir 'el car\u00E0cter # com a par\u00E0metre de macro' en mode matem\u00E0tic", + MisplacedMiddle: "%1 ha d'estar entre \\left i \\right", + MisplacedLimits: "%1 nom\u00E9s es permet en operadors", + MisplacedMoveRoot: "%1 nom\u00E9s pot apar\u00E8ixer a dins d'una arrel", + MultipleCommand: "%1 m\u00FAltiples", + IntegerArg: "L'argument de %1 ha de ser enter", + NotMathMLToken: "%1 no \u00E9s un element de token", + InvalidMathMLAttr: "Atribut MathML inv\u00E0lid: %1", + UnknownAttrForElement: "%1 no \u00E9s un atribut v\u00E0lid per %2", + MaxMacroSub1: "S'ha sobrepassat el nombre m\u00E0xim de substitucions en una macro MathJax; hi ha una crida de macro recursiva?", + MaxMacroSub2: "El comptador m\u00E0xim de substitucions de MathJax s'ha sobrepassat; hi ha un entorn de LaTeX recursiu?", + MissingArgFor: "Falta argument per %1", + ExtraAlignTab: "Marca d'alineaci\u00F3 extra en text \\cases", + BracketMustBeDimension: "Argument de claud\u00E0tor per %1 ha de ser una dimensi\u00F3", + InvalidEnv: "Nom d'entorn inv\u00E0lid '%1'", + UnknownEnv: "Entorn desconegut '%1'", + ExtraCloseLooking: "Clau de tancament extra mentre es buscava %1", + MissingCloseBracket: "No s'ha pogut trobar ']' de tancament per argument de %1", + MissingOrUnrecognizedDelim: "Falta delimitador o delimitador no reconegut per %1", + MissingDimOrUnits: "Falta dimensi\u00F3 o unitats per %1", + TokenNotFoundForCommand: "No s'ha pogut trobar %1 per %2", + MathNotTerminated: "Expressi\u00F3 matem\u00E0tica no finalitzada en quadre de text", + IllegalMacroParam: "Refer\u00E8ncia il\u00B7legal a par\u00E0metre de macro", + MaxBufferSize: "S'ha sobrepassat la mida de la mem\u00F2ria interm\u00E8dia interna de MathJax; hi ha una crida de macro recursiva?", + CommandNotAllowedInEnv: "%1 no perm\u00E8s en entorn %2", + MultipleLabel: "Etiqueta '%1' definida m\u00E9s d'una veegada", + CommandAtTheBeginingOfLine: "%1 ha d'apar\u00E8ixer a l'inici de la l\u00EDnia", + IllegalAlign: "Alineaci\u00F3 especificiada no \u00E9s v\u00E0lida a %1", + BadMathStyleFor: "Estil de matem\u00E0tiques incorrecte per %1", + PositiveIntegerArg: "L'argument de %1 ha de ser un enter positiu", + ErroneousNestingEq: "Nidificaci\u00F3 incorrecta d'estructures d'equaci\u00F3", + MultlineRowsOneCol: "Les files dins l'entorn %1 han de tenir exactament una columna", + MultipleBBoxProperty: "%1 s'ha especificat dues vegades dins %2", + InvalidBBoxProperty: "'%1' no \u00E9s un color, una dimensi\u00F3 o un estil", + ExtraEndMissingBegin: "Sobra %1 o falta \\begingroup", + GlobalNotFollowedBy: "%1 no est\u00E0 seguit per \\let, \\def o \\newcommand", + UndefinedColorModel: "Model de color '%1' no definit", + ModelArg1: "Valors de color pel model %1 requereixen 3 n\u00FAmeros", + InvalidDecimalNumber: "N\u00FAmero decimal incorrecte", + ModelArg2: "Valors de color pel model %1 han d'estar entre %2 i %3", + InvalidNumber: "N\u00FAmero inv\u00E0lid", + NewextarrowArg1: "El primer argument per %1 ha de ser un nom de seq\u00FC\u00E8ncia de control", + NewextarrowArg2: "El segon argument per %1 ha de ser dos enters separats per una coma", + NewextarrowArg3: "El tercer argument per %1 ha de ser un n\u00FAmero de car\u00E0cter Unicode", + NoClosingChar: "No s'ha trobat el %1 de tancament", + IllegalControlSequenceName: "Nom de seq\u00FC\u00E8ncia de control incorrecta per %1", + IllegalParamNumber: "S'ha especificat un nombre incorrecte de par\u00E0metres dins %1", + MissingCS: "%1 ha de ser seguit per una seq\u00FC\u00E8ncia de control", + CantUseHash2: "\u00DAs incorrecte de # en plantilla per %1", + SequentialParam: "Els par\u00E0metres per %1 s'han de numerar seq\u00FCencialment", + MissingReplacementString: "Falta cadena de substituci\u00F3 a la definici\u00F3 de %1", + MismatchUseDef: "L'\u00FAs de %1 no concorda amb la seva definici\u00F3", + RunawayArgument: "Argument fora de control per %1?", + NoClosingDelim: "No s'ha trobar el delimitador de tancament per %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/ca.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/ca.js new file mode 100644 index 00000000..a05ab99d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/ca.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/ca/ca.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca",null,{ + menuTitle: "catal\u00E0", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax ha trobat una galeta de configuraci\u00F3 d'usuari que inclou codi que s'ha d'executar. Voleu executar-lo?", + MathProcessingError: "Error en processament d'expressi\u00F3 matem\u00E0tica", + MathError: "Error d'expressi\u00F3 matem\u00E0tica", + LoadFile: "Carregant %1", + Loading: "Carregant", + LoadFailed: "No s'ha pogut carregar el fitxer: %1", + ProcessMath: "Processant expressi\u00F3: %1%%", + Processing: "Processant", + TypesetMath: "Formatejant expressi\u00F3: %1%%", + Typesetting: "Formatejant", + MathJaxNotSupported: "El vostre navegador no suporta MathJax", + ErrorTips: "Consells de depuraci\u00F3: utilitzeu %%1, inspeccioneu %%2 a la consola del navegador" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/ca.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/FontWarnings.js new file mode 100644 index 00000000..8bf7f22a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HTML-CSS.js new file mode 100644 index 00000000..8a6b9c3f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HelpDialog.js new file mode 100644 index 00000000..628b0b11 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathML.js new file mode 100644 index 00000000..24031546 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathMenu.js new file mode 100644 index 00000000..627e456c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/TeX.js new file mode 100644 index 00000000..a09d6130 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/cdo.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/cdo.js new file mode 100644 index 00000000..cb20c708 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/cdo.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/cdo/cdo.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo",null,{ + menuTitle: "M\u00ECng-d\u0115\u0324ng-ng\u1E73\u0304", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax\u5DF2\u7D93\u8A0E\u8457\u5305\u62EC\u6703\u904B\u884C\u5176\u4EE3\u78BC\u5176\u7528\u6236\u914D\u7F6Ecookie\u3002\u6C5D\u6709\u60F3\u904B\u884C\u7121\uFF1F\n\n\uFF08\u9664\u958B\u9019\u78BA\u5BE6\u662F\u6C5D\u81EA\u5BB6\u7279\u610F\u8A2D\u5176cookie\uFF0C\u82E5\u7121\u6C5D\u8457\u9EDE\u53D6\u6D88\u3002\uFF09", + MathProcessingError: "\u6578\u5B78\u8655\u7406\u932F\u8AA4", + MathError: "\u6578\u5B78\u932F\u8AA4", + LoadFile: "\u8F09\u5165%1", + Loading: "\u8F09\u5165", + LoadFailed: "\u6587\u4EF6\u8F09\u5165\u5931\u6557\uFF1A%1", + ProcessMath: "\u8655\u7406\u6578\u5B78\uFF1A%1%%", + Processing: "\u6546\uD844\uDD4F\u8655\u7406", + TypesetMath: "\u6392\u7248\u6578\u5B78\uFF1A%1%%", + Typesetting: "\u6546\uD844\uDD4F\u6392\u7248", + MathJaxNotSupported: "\u6C5D\u5176\u700F\u89BD\u5668\uD84C\uDF50\u652F\u6301MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/cdo.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/FontWarnings.js new file mode 100644 index 00000000..adc4fb26 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HTML-CSS.js new file mode 100644 index 00000000..fd0bd822 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HelpDialog.js new file mode 100644 index 00000000..7c0b6c0c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathML.js new file mode 100644 index 00000000..faf7d3a7 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathMenu.js new file mode 100644 index 00000000..98c70e8e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/TeX.js new file mode 100644 index 00000000..82ce4dc3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/ce.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/ce.js new file mode 100644 index 00000000..64d91785 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/ce.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/ce/ce.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce",null,{ + menuTitle: "\u041D\u043E\u0445\u0447\u0438\u0439\u043D \u043C\u043E\u0442\u0442", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438\u043D \u043A\u0435\u0447\u0434\u0430\u0440\u0430\u043D \u0433\u04C0\u0430\u043B\u0430\u0442", + MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438\u043D \u0433\u04C0\u0430\u043B\u0430\u0442", + LoadFile: "\u0427\u0443\u0439\u043E\u043B\u0443\u0448 %1", + Loading: "\u0427\u0443\u0439\u043E\u043B\u0443\u0448", + LoadFailed: "\u0427\u0443\u044F\u043A\u043A\u0445\u0430 \u0446\u0430\u0435\u043B\u0438\u0440\u0430: %1", + ProcessMath: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 \u043A\u0435\u0447\u044F\u0440: %1%%", + Processing: "\u041A\u0435\u0447\u0434\u0430\u0440" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && n % 100 !== 11) return 1; // one + if (2 <= n % 10 && n % 10 <= 4 && 12 <= n % 100 && n % 100 <= 14) return 2; // few + if (n % 10 === 0 || (5 <= n % 10 && n % 10 <= 9) || + (11 <= n % 100 && n % 100 <= 14)) return 2; // many + return 3; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/ce.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/FontWarnings.js new file mode 100644 index 00000000..25876646 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/cs/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax pou\u017E\u00EDv\u00E1 k zobrazen\u00ED matematiky na t\u00E9to str\u00E1nce webov\u00E1 p\u00EDsma. T\u011Bm trv\u00E1 sta\u017Een\u00ED n\u011Bjakou dobu, tak\u017Ee str\u00E1nka by se vykreslila rychleji, pokud byste si tato matematick\u00E1 p\u00EDsma nainstalovali p\u0159\u00EDmo do syst\u00E9mov\u00E9 slo\u017Eky p\u00EDsem.", + imageFonts: "MathJax pou\u017E\u00EDv\u00E1 m\u00EDsto m\u00EDstn\u00EDch nebo webov\u00FDch p\u00EDsem obr\u00E1zkov\u00E9 p\u00EDsmo. Proto bude vykreslov\u00E1n\u00ED pomalej\u0161\u00ED, ne\u017E je obvykl\u00E9, a p\u0159i tisku na Va\u0161\u00ED tisk\u00E1rn\u011B mo\u017En\u00E1 nebude matematika vykreslena na nejlep\u0161\u00ED rozli\u0161en\u00ED.", + noFonts: "MathJax nedok\u00E1\u017Ee naj\u00EDt p\u00EDsmo, kter\u00FDm by vykreslil matematiku, a obr\u00E1zkov\u00E1 p\u00EDsma nejsou k dispozici, tak\u017Ee se uch\u00FDl\u00ED k b\u011B\u017En\u00FDm znak\u016Fm Unicode v nad\u011Bji, \u017Ee je v\u00E1\u0161 prohl\u00ED\u017Ee\u010D dok\u00E1\u017Ee zobrazit. N\u011Bkter\u00E9 znaky se mo\u017En\u00E1 nezobraz\u00ED spr\u00E1vn\u011B, nebo dokonce v\u016Fbec.", + webFonts: "V\u011Bt\u0161ina modern\u00EDch prohl\u00ED\u017Ee\u010D\u016F umo\u017E\u0148uje sta\u017Een\u00ED p\u00EDsem p\u0159es web. Aktualizace na nov\u011Bj\u0161\u00ED verzi prohl\u00ED\u017Ee\u010De (nebo zm\u011Bna prohl\u00ED\u017Ee\u010De) by mohla zlep\u0161it zobrazen\u00ED matematiky na t\u00E9to str\u00E1nce.", + fonts: "MathJax m\u016F\u017Ee pou\u017E\u00EDvat bu\u010F [p\u00EDsma STIX](%1) nebo [MathJaxov\u00E1 TeXov\u00E1 p\u00EDsma](%2). St\u00E1hn\u011Bte a nainstalujte si jedny z nich, abyste si MathJax u\u017Eili l\u00E9pe.", + STIXPage: "Tato str\u00E1nka je vytvo\u0159ena pro pou\u017Eit\u00ED s [p\u00EDsmy STIX](%1). St\u00E1hn\u011Bte a nainstalujte si tato p\u00EDsma, abyste si l\u00E9pe u\u017Eili MathJax.", + TeXPage: "Tato str\u00E1nka je vytvo\u0159ena pro pou\u017Eit\u00ED s [MathJaxov\u00FDmi TeXov\u00FDmi p\u00EDsmy](%1). Pro lep\u0161\u00ED vyu\u017E\u00EDv\u00E1n\u00ED MathJaxu si st\u00E1hn\u011Bte a nainstalujte tato p\u00EDsma." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HTML-CSS.js new file mode 100644 index 00000000..acf7bf50 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/cs/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Na\u010D\u00EDt\u00E1 se web-font %1", + CantLoadWebFont: "Nelze na\u010D\u00EDst web-font %1", + FirefoxCantLoadWebFont: "Firefox nem\u016F\u017Ee na\u010D\u00EDtat web-fonty ze vzd\u00E1len\u00E9ho hostitele", + CantFindFontUsing: "Nelze naj\u00EDt platn\u00FD font pomoc\u00ED %1", + WebFontsNotAvailable: "Webov\u00E9 fonty nejsou k dispozici. M\u00EDsto toho jsou pou\u017Eity obr\u00E1zkov\u00E9 fonty." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HelpDialog.js new file mode 100644 index 00000000..5b3d75f6 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/cs/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "N\u00E1pov\u011Bda k MathJaxu", + MathJax: "*MathJax* je JavaScriptov\u00E1 knihovna, kter\u00E1 autor\u016Fm str\u00E1nek umo\u017E\u0148uje zahrnout do str\u00E1nek matematiku. Jako \u010Dten\u00E1\u0159 se nemus\u00EDte o nic starat.", + Browsers: "*Prohl\u00ED\u017Ee\u010De*: MathJax pracuje na v\u0161ech modern\u00EDch prohl\u00ED\u017Ee\u010D\u00EDch v\u010Detn\u011B IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ a v\u011Bt\u0161in\u011B mobiln\u00EDch prohl\u00ED\u017Ee\u010D\u016F.", + Menu: "*Matematick\u00E9 menu*: MathJax p\u0159id\u00E1v\u00E1 k rovnic\u00EDm kontextov\u00E9 menu. Pro zobrazen\u00ED menu klikn\u011Bte prav\u00FDm tla\u010D\u00EDtkem my\u0161i nebo s podr\u017Een\u00EDm kl\u00E1vesy Ctrl na jakoukoli matematiku.", + ShowMath: "*Zobrazit matematiku jako* v\u00E1m umo\u017En\u00ED prohl\u00E9dnout si zdrojov\u00FD k\u00F3d vzorce pro okop\u00EDrov\u00E1n\u00ED (jako MathML nebo v p\u016Fvodn\u00EDm form\u00E1tu).", + Settings: "*Nastaven\u00ED* v\u00E1m umo\u017E\u0148uj\u00ED p\u0159izp\u016Fsobit si n\u011Bkter\u00E9 funkce MathJaxu, jako jsou velikost matematiky \u010Di mechanismy pou\u017E\u00EDvan\u00E9 k zobrazov\u00E1n\u00ED rovnic.", + Language: "*Jazyk* v\u00E1m umo\u017En\u00ED zvolit si jazyk pou\u017E\u00EDvan\u00FD MathJaxem pro menu a chybov\u00E1 hl\u00E1\u0161en\u00ED.", + Zoom: "*Matematick\u00FD zoom*: Pokud v\u00E1m d\u011Bl\u00E1 probl\u00E9my \u010Dten\u00ED rovnice, Mathjax v\u00E1m umo\u017En\u00ED ji zv\u011Bt\u0161it, abyste ji l\u00E9pe vid\u011Bli.", + Accessibilty: "*P\u0159\u00EDstupnost*: MathJax automaticky funguje s \u010Dte\u010Dkami obrazovky, aby matematiku zp\u0159\u00EDstupnil zrakov\u011B posti\u017Een\u00FDm.", + Fonts: "*P\u00EDsma*: MathJax bude pou\u017E\u00EDvat jist\u00E1 matematick\u00E1 p\u00EDsma, pokud je m\u00E1te na po\u010D\u00EDta\u010Di nainstalovan\u00E9; v opa\u010Dn\u00E9m p\u0159\u00EDpad\u011B pou\u017Eije p\u00EDsma webov\u00E1. P\u0159esto\u017Ee to nen\u00ED nutn\u00E9, lok\u00E1ln\u011B nainstalovan\u00E1 p\u00EDsma urychl\u00ED sazbu. Doporu\u010Dujeme nainstalovat [p\u00EDsma STIX](%1).", + CloseDialog: "Zav\u0159\u00EDt okno s n\u00E1pov\u011Bdou" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathML.js new file mode 100644 index 00000000..53eb8a15 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/cs/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Chybn\u00FD mglyph: %1", + BadMglyphFont: "\u0160patn\u00E9 p\u00EDsmo: %1", + MathPlayer: "MathJax nedok\u00E1zal spustit MathPlayer.\n\nPokud nen\u00ED MathPlayer nainstalov\u00E1n, budete ho muset nejprve nainstalovat.\nJinak mo\u017En\u00E1 spu\u0161t\u011Bn\u00ED ovl\u00E1dac\u00EDch prvk\u016F ActiveX br\u00E1n\u00ED va\u0161e bezpe\u010Dnostn\u00ED\nnastaven\u00ED. Klikn\u011Bte v nab\u00EDdce N\u00E1stroje na polo\u017Eku Mo\u017Enosti Internetu,\nvyberte z\u00E1lo\u017Eku Zabezpe\u010Den\u00ED a klikn\u011Bte na tla\u010D\u00EDtko Vlastn\u00ED \u00FArove\u0148.\nZkontrolujte, \u017Ee jsou povolen\u00E9 mo\u017Enosti \u201ESpou\u0161t\u011Bt ovl\u00E1dac\u00ED prvky ActiveX\u201C\na \u201EChov\u00E1n\u00ED skript\u016F a bin\u00E1rn\u00EDch soubor\u016F\u201C.\n\nMoment\u00E1ln\u011B uvid\u00EDte m\u00EDsto vys\u00E1zen\u00E9 matematiky chybov\u00E1 hl\u00E1\u0161en\u00ED.", + CantCreateXMLParser: "MathJax nem\u016F\u017Ee vytvo\u0159it syntaktick\u00FD analyz\u00E1tor XML pro MathML.\nZkontrolujte,\u017Ee m\u00E1te povolen\u00E9 nastaven\u00ED \u201ESkriptovat ovl\u00E1dac\u00ED\nprvky ActiveX ozna\u010Den\u00E9 jako bezpe\u010Dn\u00E9\u201C (v nab\u00EDdce N\u00E1stroje\nklikn\u011Bte na polo\u017Eku Mo\u017Enosti Internetu, vyberte z\u00E1lo\u017Eku\nZabezpe\u010Den\u00ED a klikn\u011Bte na tla\u010D\u00EDtko Vlastn\u00ED \u00FArove\u0148).\n\nMathJax nebude moci zpracov\u00E1vat rovnice v MathML", + UnknownNodeType: "Nezn\u00E1m\u00FD typ uzlu: %1", + UnexpectedTextNode: "Neo\u010Dek\u00E1van\u00FD textov\u00FD uzel: %1", + ErrorParsingMathML: "Chyba p\u0159i anal\u00FDze MathML", + ParsingError: "Chyba p\u0159i anal\u00FDze MathML: %1", + MathMLSingleElement: "MathML mus\u00ED b\u00FDt tvo\u0159eno jedin\u00FDm elementem", + MathMLRootElement: "MathML mus\u00ED b\u00FDt tvo\u0159eno elementem \u003Cmath\u003E, nikoli %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathMenu.js new file mode 100644 index 00000000..7f5c999d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/cs/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Zobrazit matematiku jako", + MathMLcode: "K\u00F3d MathML", + OriginalMathML: "P\u016Fvodn\u00ED MathML", + TeXCommands: "P\u0159\u00EDkazy TeXu", + AsciiMathInput: "Vstup AsciiMathML", + Original: "P\u016Fvodn\u00ED podoba", + ErrorMessage: "Chybov\u00E9 hl\u00E1\u0161en\u00ED", + Annotation: "Anotace", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "V\u00FDznamov\u00E9 MathML", + OpenMath: "OpenMath", + texHints: "Zobrazovat v MathML n\u00E1pov\u011Bdy TeXu", + Settings: "Nastaven\u00ED matematiky", + ZoomTrigger: "Aktivace zoomu", + Hover: "Najet\u00EDm my\u0161\u00ED", + Click: "Kliknut\u00EDm", + DoubleClick: "Dvojklikem", + NoZoom: "Bez zoomu", + TriggerRequires: "Aktivace vy\u017Eaduje:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "M\u00EDra zoomu", + Renderer: "Vykreslov\u00E1n\u00ED matematiky", + MPHandles: "MathPlayer m\u00E1 zpracov\u00E1vat:", + MenuEvents: "Ud\u00E1losti menu", + MouseEvents: "Ud\u00E1losti my\u0161i", + MenuAndMouse: "Ud\u00E1losti my\u0161i a menu", + FontPrefs: "Nastaven\u00ED p\u00EDsem", + ForHTMLCSS: "U HTML-CSS:", + Auto: "Automaticky", + TeXLocal: "TeX (lok\u00E1ln\u00ED)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (obr\u00E1zek)", + STIXLocal: "STIX (lok\u00E1ln\u00ED)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Kontextov\u00E9 menu", + Browser: "Prohl\u00ED\u017Ee\u010D", + Scale: "M\u011B\u0159\u00EDtko pro ve\u0161kerou matematiku\u2026", + Discoverable: "Zv\u00FDraznit p\u0159i najet\u00ED my\u0161\u00ED", + Locale: "Jazyk", + LoadLocale: "Na\u010D\u00EDst z URL\u2026", + About: "O MathJaxu", + Help: "N\u00E1pov\u011Bda k MathJaxu", + localTeXfonts: "pou\u017E\u00EDvaj\u00ED se lok\u00E1ln\u00ED p\u00EDsma TeXu", + webTeXfonts: "pou\u017E\u00EDvaj\u00ED se webov\u00E1 p\u00EDsma TeXu", + imagefonts: "pou\u017E\u00EDvaj\u00ED se obr\u00E1zkov\u00E1 p\u00EDsma", + localSTIXfonts: "pou\u017E\u00EDvaj\u00ED se lok\u00E1ln\u00ED p\u00EDsma STIX", + webSVGfonts: "pou\u017E\u00EDvaj\u00ED se webov\u00E1 SVG p\u00EDsma", + genericfonts: "pou\u017E\u00EDvaj\u00ED se generick\u00E1 unicodov\u00E1 p\u00EDsma", + wofforotffonts: "p\u00EDsma woff nebo otf", + eotffonts: "p\u00EDsma eot", + svgfonts: "p\u00EDsma svg", + WebkitNativeMMLWarning: "V\u00E1\u0161 prohl\u00ED\u017Ee\u010D patrn\u011B nepodporuje MathML, tak\u017Ee p\u0159epnut\u00ED na MathML v\u00FDstup m\u016F\u017Ee zp\u016Fsobit, \u017Ee bude matematika na t\u00E9to str\u00E1nce ne\u010Diteln\u00E1.", + MSIENativeMMLWarning: "Ke zpracov\u00E1n\u00ED MathML v\u00FDstupu pot\u0159ebuje Internet Explorer z\u00E1suvn\u00FD modul MathPlayer.", + OperaNativeMMLWarning: "Podpora MathML v Ope\u0159e je omezen\u00E1, tak\u017Ee p\u0159epnut\u00ED na MathML v\u00FDstup m\u016F\u017Ee zp\u016Fsobit, \u017Ee se n\u011Bkter\u00E9 v\u00FDrazy budou vykreslovat \u0161patn\u011B.", + SafariNativeMMLWarning: "Vestav\u011Bn\u00E1 podpora MathML ve va\u0161em prohl\u00ED\u017Ee\u010Di neobsahuje v\u0161echny funkce pou\u017E\u00EDvan\u00E9 MathJaxem, tak\u017Ee se n\u011Bkter\u00E9 v\u00FDrazy mohou vykreslit chybn\u011B.", + FirefoxNativeMMLWarning: "Vestav\u011Bn\u00E1 podpora MathML ve va\u0161em prohl\u00ED\u017Ee\u010Di neobsahuje v\u0161echny funkce pou\u017E\u00EDvan\u00E9 MathJaxem, tak\u017Ee se n\u011Bkter\u00E9 v\u00FDrazy mohou vykreslit chybn\u011B.", + MSIESVGWarning: "Internet Explorer ve verzi star\u0161\u00ED ne\u017E IE9 nebo v re\u017Eimu emulace IE8 a star\u0161\u00ED nepodporuje SVG. P\u0159epnut\u00ED na SVG v\u00FDstup zp\u016Fsob\u00ED, \u017Ee se matematika nebude zobrazovat spr\u00E1vn\u011B.", + LoadURL: "Na\u010D\u00EDst p\u0159eklad z URL:", + BadURL: "URL by m\u011Blo v\u00E9st na JavaScriptov\u00FD soubor, kter\u00FD definuje data p\u0159ekladu MathJaxu. N\u00E1zvy JavaScriptov\u00FDch soubor\u016F by m\u011Bly kon\u010Dit \u201E.js\u201C.", + BadData: "Nepoda\u0159ilo se na\u010D\u00EDst data p\u0159ekladu z %1", + SwitchAnyway: "Chcete p\u0159esto p\u0159epnout vykreslov\u00E1n\u00ED?\n\n(Stiskn\u011Bte OK pro p\u0159epnut\u00ED, STORNO pro pokra\u010Dov\u00E1n\u00ED se st\u00E1vaj\u00EDc\u00EDm vykreslov\u00E1n\u00EDm.)", + ScaleMath: "Ve\u0161kerou matematiku zobrazovat v m\u011B\u0159\u00EDtku (v porovn\u00E1n\u00ED s okoln\u00EDm textem)", + NonZeroScale: "M\u011B\u0159\u00EDtko nem\u016F\u017Ee b\u00FDt nulov\u00E9", + PercentScale: "M\u011B\u0159\u00EDtko by m\u011Blo b\u00FDt v procentech (nap\u0159\u00EDklad 120 %%)", + IE8warning: "T\u00EDmto vypnete funkce MathJaxu pro zobrazen\u00ED menu a zv\u011Bt\u0161ov\u00E1n\u00ED, ale menu MathJaxu si budete moci zobrazit pomoc\u00ED Alt+kliknut\u00ED na rovnici.\n\nOpravdu zm\u011Bnit nastaven\u00ED MathPlayeru?", + IE9warning: "T\u00EDmto vypnete kontextov\u00E9 menu MathJaxu, ale budete si ho moci zobrazit pomoc\u00ED Alt+kliknut\u00ED na rovnici.", + NoOriginalForm: "P\u016Fvodn\u00ED podoba nen\u00ED dostupn\u00E1", + Close: "Zav\u0159\u00EDt", + EqSource: "Zdroj rovnice MathJax", + CloseAboutDialog: "Zav\u0159\u00EDt okno o MathJaxu", + FastPreview: "Rychl\u00FD n\u00E1hled", + AssistiveMML: "Asistivn\u00ED MathML", + InTabOrder: "Za\u0159adit do posloupnosti tabul\u00E1toru" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/TeX.js new file mode 100644 index 00000000..eb19ac1e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/cs/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "P\u0159eb\u00FDvaj\u00EDc\u00ED otv\u00EDrac\u00ED nebo chyb\u011Bj\u00EDc\u00ED zav\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", + ExtraCloseMissingOpen: "P\u0159eb\u00FDvaj\u00EDc\u00ED zav\u00EDrac\u00ED nebo chyb\u011Bj\u00EDc\u00ED otv\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", + MissingLeftExtraRight: "Chyb\u011Bj\u00EDc\u00ED \\left nebo p\u0159eb\u00FDvaj\u00EDc\u00ED \\right", + MissingScript: "Chyb\u00ED argument horn\u00EDho nebo doln\u00EDho indexu", + ExtraLeftMissingRight: "P\u0159eb\u00FDvaj\u00EDc\u00ED \\left nebo chyb\u011Bj\u00EDc\u00ED \\right", + Misplaced: "Chybn\u011B um\u00EDst\u011Bn\u00FD %1", + MissingOpenForSub: "U doln\u00EDho indexu chyb\u00ED otv\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", + MissingOpenForSup: "U horn\u00EDho indexu chyb\u00ED otv\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", + AmbiguousUseOf: "Nejednozna\u010Dn\u00E9 u\u017Eit\u00ED %1", + EnvBadEnd: "\\begin{%1} bylo uzav\u0159eno \\end{%2}", + EnvMissingEnd: "Chyb\u011Bj\u00EDc\u00ED \\end{%1}", + MissingBoxFor: "Chyb\u00ED box pro %1", + MissingCloseBrace: "Chyb\u00ED zav\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", + UndefinedControlSequence: "Nedefinovan\u00E1 \u0159\u00EDdic\u00ED sekvence %1", + DoubleExponent: "Dvojit\u00FD exponent: pro vyjasn\u011Bn\u00ED pou\u017Eijte slo\u017Een\u00E9 z\u00E1vorky", + DoubleSubscripts: "Dvojit\u00FD doln\u00ED index: pro vyjasn\u011Bn\u00ED pou\u017Eijte slo\u017Een\u00E9 z\u00E1vorky", + DoubleExponentPrime: "Symbol \u010D\u00E1rky zp\u016Fsobil dvojit\u00FD exponent: pro vyjasn\u011Bn\u00ED pou\u017Eijte slo\u017Een\u00E9 z\u00E1vorky", + CantUseHash1: "V matematick\u00E9m re\u017Eimu nem\u016F\u017Eete pou\u017E\u00EDt znak \u201E#\u201C pro parametry maker", + MisplacedMiddle: "%1 mus\u00ED b\u00FDt uvnit\u0159 \\left a \\right", + MisplacedLimits: "%1 je dovoleno pouze u oper\u00E1tor\u016F", + MisplacedMoveRoot: "%1 se m\u016F\u017Ee vyskytnout pouze v ko\u0159eni", + MultipleCommand: "V\u00EDcen\u00E1sobn\u00FD %1", + IntegerArg: "Argumentem %1 mus\u00ED b\u00FDt cel\u00E9 \u010D\u00EDslo", + NotMathMLToken: "%1 nen\u00ED primitivn\u00ED element", + InvalidMathMLAttr: "Neplatn\u00FD atribut MathML: %1", + UnknownAttrForElement: "%1 nen\u00ED zn\u00E1m\u00FD atribut %2", + MaxMacroSub1: "P\u0159ekro\u010Den maxim\u00E1ln\u00ED po\u010Det substituc\u00ED makra MathJaxu; nen\u00ED tam rekurzivn\u00ED vol\u00E1n\u00ED makra?", + MaxMacroSub2: "P\u0159ekro\u010Den maxim\u00E1ln\u00ED po\u010Det substituc\u00ED MathJaxu; nen\u00ED tam rekurzivn\u00ED LaTexov\u00E9 prost\u0159ed\u00ED?", + MissingArgFor: "Chyb\u00ED argument pro %1", + ExtraAlignTab: "P\u0159ebyte\u010Dn\u00FD zarovn\u00E1vac\u00ED tabul\u00E1tor v textu \\cases", + BracketMustBeDimension: "Z\u00E1vorkov\u00FD argument u %1 mus\u00ED b\u00FDt rozm\u011Br", + InvalidEnv: "Neplatn\u00E9 jm\u00E9no prost\u0159ed\u00ED \u201E%1\u201C", + UnknownEnv: "Nezn\u00E1m\u00E9 prost\u0159ed\u00ED \u201E%1\u201C", + ExtraCloseLooking: "P\u0159ebyte\u010Dn\u00E1 zav\u00EDrac\u00ED hranat\u00E1 z\u00E1vorka, zat\u00EDmco bylo o\u010Dek\u00E1v\u00E1no %1", + MissingCloseBracket: "U argumentu %1 nebyla nalezena zav\u00EDrac\u00ED \u201E]\u201C", + MissingOrUnrecognizedDelim: "Chyb\u011Bj\u00EDc\u00ED nebo nerozpoznan\u00FD odd\u011Blova\u010D u %1", + MissingDimOrUnits: "U %1 chyb\u00ED rozm\u011Br nebo jeho jednotka", + TokenNotFoundForCommand: "Nenalezeno %1 k %2", + MathNotTerminated: "V textov\u00E9m boxu nen\u00ED ukon\u010Dena matematika", + IllegalMacroParam: "Neplatn\u00FD odkaz na parametr makra", + MaxBufferSize: "P\u0159ekro\u010Dena velikost intern\u00ED pam\u011Bti MathJaxu; nen\u00ED tam rekurzivn\u00ED vol\u00E1n\u00ED makra?", + CommandNotAllowedInEnv: "V prost\u0159ed\u00ED %2 nen\u00ED dovolen %1", + MultipleLabel: "V\u00EDcen\u00E1sobn\u00E1 definice n\u00E1v\u011Bst\u00ED %1", + CommandAtTheBeginingOfLine: "%1 mus\u00ED b\u00FDt um\u00EDst\u011Bno na za\u010D\u00E1tku \u0159\u00E1dky", + IllegalAlign: "U %1 uvedeno neplatn\u00E9 zarovn\u00E1n\u00ED", + BadMathStyleFor: "Chybn\u00FD styl matematiky u %1", + PositiveIntegerArg: "Argumentem %1 mus\u00ED b\u00FDt kladn\u00E9 cel\u00E9 \u010D\u00EDslo", + ErroneousNestingEq: "Chybn\u00E9 zano\u0159ov\u00E1n\u00ED struktury rovnic", + MultlineRowsOneCol: "\u0158\u00E1dky v prost\u0159ed\u00ED %1 mus\u00ED m\u00EDt pr\u00E1v\u011B jeden sloupec", + MultipleBBoxProperty: "U %2 je %1 uvedeno dvakr\u00E1t", + InvalidBBoxProperty: "\u201E%1\u201C nevypad\u00E1 jako barva, rozm\u011Br paddingu nebo styl", + ExtraEndMissingBegin: "P\u0159eb\u00FDvaj\u00EDc\u00ED %1 nebo chyb\u011Bj\u00EDc\u00ED \\begingroup", + GlobalNotFollowedBy: "Za %1 chyb\u00ED \\let, \\def nebo \\newcommand", + UndefinedColorModel: "Barevn\u00FD model \u201E%1\u201C nen\u00ED definov\u00E1n", + ModelArg1: "Barevn\u00E9 hodnoty modelu %1 vy\u017Eaduj\u00ED t\u0159i \u010D\u00EDsla", + InvalidDecimalNumber: "Neplatn\u00E9 desetinn\u00E9 \u010D\u00EDslo", + ModelArg2: "Barevn\u00E9 hodnoty modelu %1 mus\u00ED le\u017Eet mezi %2 a %3", + InvalidNumber: "Neplatn\u00E9 \u010D\u00EDslo", + NewextarrowArg1: "Prvn\u00EDm argumentem %1 mus\u00ED b\u00FDt n\u00E1zev \u0159\u00EDdic\u00ED sekvence", + NewextarrowArg2: "Druh\u00FDm argumentem %1 mus\u00ED b\u00FDt dv\u011B cel\u00E1 \u010D\u00EDsla odd\u011Blen\u00E1 \u010D\u00E1rkou", + NewextarrowArg3: "T\u0159et\u00EDm argumentem %1 mus\u00ED b\u00FDt \u010D\u00EDslo znaku Unicode", + NoClosingChar: "Nelze naj\u00EDt zav\u00EDrac\u00ED %1", + IllegalControlSequenceName: "Neplatn\u00FD n\u00E1zev \u0159\u00EDdic\u00ED sekvence u %1", + IllegalParamNumber: "U %1 uveden neplatn\u00FD po\u010Det parametr\u016F", + MissingCS: "Za %1 mus\u00ED b\u00FDt \u0159\u00EDdic\u00ED sekvence", + CantUseHash2: "Chybn\u00E9 u\u017Eit\u00ED # v \u0161ablon\u011B pro %1", + SequentialParam: "Parametry %1 mus\u00ED b\u00FDt \u010D\u00EDslov\u00E1ny postupn\u011B", + MissingReplacementString: "V definici %1 chyb\u00ED nahrazuj\u00EDc\u00ED \u0159et\u011Bzec", + MismatchUseDef: "Pou\u017Eit\u00ED %1 neodpov\u00EDd\u00E1 jeho definici", + RunawayArgument: "Zbloudil\u00FD argument u %1?", + NoClosingDelim: "Nenalezen ukon\u010Dovac\u00ED znak u %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/cs.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/cs.js new file mode 100644 index 00000000..96b838a8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/cs.js @@ -0,0 +1,60 @@ +/************************************************************* + * + * MathJax/localization/cs/cs.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs",null,{ + menuTitle: "\u010De\u0161tina", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax nalezl cookie u\u017Eivatelsk\u00E9 konfigurace obsahuj\u00EDc\u00ED spustiteln\u00FD k\u00F3d. Chcete ho spustit?\n\n(Pokud jste cookie nenastavili sami, m\u011Bli byste stisknout Storno.)", + MathProcessingError: "Chyba zpracov\u00E1n\u00ED matematiky", + MathError: "Chyba matematiky", + LoadFile: "Na\u010D\u00EDt\u00E1 se %1", + Loading: "Na\u010D\u00EDt\u00E1 se", + LoadFailed: "Nepoda\u0159ilo se na\u010D\u00EDst soubor: %1", + ProcessMath: "Zpracov\u00E1v\u00E1 se matematika: %1 %%", + Processing: "Zpracov\u00E1v\u00E1 se", + TypesetMath: "S\u00E1z\u00ED se matematika: %1 %%", + Typesetting: "S\u00E1z\u00ED se", + MathJaxNotSupported: "V\u00E1\u0161 prohl\u00ED\u017Ee\u010D nepodporuje MathJax", + ErrorTips: "Tipy pro lad\u011Bn\u00ED: pou\u017Eijte %%1, prozkoumejte %%2 v konzoli prohl\u00ED\u017Ee\u010De" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + if (n === 2 || n === 3 || n === 4) {return 2} // two--four + return 3; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/cs.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/FontWarnings.js new file mode 100644 index 00000000..61f83696 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HTML-CSS.js new file mode 100644 index 00000000..5d4b4c4a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HelpDialog.js new file mode 100644 index 00000000..2b4a6264 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathML.js new file mode 100644 index 00000000..cacd64dd --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathMenu.js new file mode 100644 index 00000000..0395f54e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/TeX.js new file mode 100644 index 00000000..28b5820c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/cy.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/cy.js new file mode 100644 index 00000000..4fc5c705 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/cy.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/cy/cy.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy",null,{ + menuTitle: "Cymraeg", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Gwall prosesu mathemateg", + MathError: "Gwall mathemategol", + LoadFile: "Yn llwytho %1", + Loading: "Yn llwytho", + LoadFailed: "Methwyd llwytho'r ffeil: %1", + ProcessMath: "Prosesu'r math'g: %1%%", + Processing: "Yn prosesu", + TypesetMath: "Yn gosod fformat i'r math'g: %1%%", + Typesetting: "Yn gosod fformat", + MathJaxNotSupported: "'Dyw eich porwr ddim yn cynnal MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one // needs check + return 2; // other // needs check + }, + number: function (n) { + return n; // needs check + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/cy.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/FontWarnings.js new file mode 100644 index 00000000..1fcf1667 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/da/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax bruger web-baserede skrifttyper til at vise det matematiske p\u00E5 denne side. Dette tager tid at hente, s\u00E5 siden ville blive hurtigere, hvis du installerede matematiske skrifttyper direkte i dit systems skrifttypemappe.", + imageFonts: "MathJax bruger sine billedeskrifttyper snarere end lokale eller web-baserede skrifttyper. Dette vil g\u00F8re visningen langsommere end s\u00E6dvanligt, og matematik kan ikke udskrives med printerens fulde opl\u00F8sning.", + noFonts: "MathJax er ikke i stand til at finde en skrifttype, som kan bruges til at vise matematikken, og billedeskrifttyper er ikke tilg\u00E6ngelige, s\u00E5 der faldes tilbage p\u00E5 generiske Unicode-tegn i h\u00E5b om, at din browser vil v\u00E6re i stand til at vise dem. Nogle tegn kan m\u00E5ske ikke vises korrekt, eller muligvis slet ikke.", + webFonts: "De fleste moderne browsere giver mulighed for at hente skrifttyper over nettet. At opdatere til en nyere version af din browser (eller skifte browser) kunne forbedre kvaliteten af matematik p\u00E5 denne side.", + fonts: "MathJax kan bruge enten [STIX fonts](%1) eller [MathJax TeX fonts](%2). Hent og installer en af disse skrifttyper for at forbedre din MathJax oplevelse.", + STIXPage: "Denne side er designet til at bruge [STIX fonts](%1). Hent og install\u00E9r disse skrifttyper for at forbedre oplevelsen med MathJax.", + TeXPage: "Denne side er designet til at bruge [MathJax TeX fonts](%1). Hent og install\u00E9r disse skrifttyper for at forbedre oplevelsen med MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HTML-CSS.js new file mode 100644 index 00000000..4b547f5f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/da/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Indl\u00E6ser webskrifftype %1", + CantLoadWebFont: "Kan ikke indl\u00E6se webskrifttype %1", + FirefoxCantLoadWebFont: "Firefox kan ikke indl\u00E6se webskrifttyper fra en fjernstyret v\u00E6rt", + CantFindFontUsing: "Kunne ikke finde en gyldig skrifttype ved hj\u00E6lp af %1", + WebFontsNotAvailable: "Webskrifttyper er ikke tilg\u00E6ngelig. Brug billede skrifttyper i stedet" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HelpDialog.js new file mode 100644 index 00000000..fd876c66 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/da/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax hj\u00E6lp", + MathJax: "*MathJax* er et JavaScript-bibliotek, der giver mulighed for forfattere af sider kan inkludere matematik i deres websider. Som l\u00E6ser beh\u00F8ver du ikke at g\u00F8re noget for at f\u00E5 det til at virke.", + Browsers: "*Browsere*: MathJax virker p\u00E5 alle moderne browsere inklusiv IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ og de fleste mobile browsere.", + Menu: "*Matematikmenu*: MathJax tilf\u00F8jer en genvejsmenu til ligninger. H\u00F8jreklik eller Ctrl-klik p\u00E5 matematikken for at f\u00E5 adgang til menuen.", + ShowMath: "*Vis matematik som* giver dig mulighed for at se formelens kilde markup s\u00E5 du kan kopierer og inds\u00E6tte andre steder (som MathML eller i dens oprindelige format).", + Settings: "*Indstillinger* giver dig kontrol over funktioner i MathJax, s\u00E5som st\u00F8rrelsen af matematikken, og den mekanisme, der bruges til at vise ligninger.", + Language: "*Sprog* lader dig v\u00E6lge det sprog MathJax bruger i sine menuer og advarselsmeddelelser.", + Zoom: "*Matematik zoom*: Hvis du har sv\u00E6rt ved at l\u00E6se en ligning, kan MathJax forst\u00F8rre den for at hj\u00E6lpe dig med at se den bedre.", + Accessibilty: "*Tilg\u00E6ngelighed*: MathJax vil automatisk arbejde med sk\u00E6rml\u00E6sere for at g\u00F8re matematik tilg\u00E6ngeligt for synsh\u00E6mmede.", + Fonts: "*Skrifttyper*: MathJax vil bruge visse matematiske skrifttyper, hvis de er installeret p\u00E5 computeren. ellers vil det bruge web-baserede skrifttyper. Selvom det ikke er p\u00E5kr\u00E6vet, vil lokalt installerede skrifttyper fremskynde ops\u00E6tningen. Vi foresl\u00E5r at installere [STIX fonts](%1).", + CloseDialog: "Luk hj\u00E6lpedialogen" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathML.js new file mode 100644 index 00000000..73f7daa5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/da/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "D\u00E5rlig mglyph: %1", + BadMglyphFont: "D\u00E5rlig skrifttype: %1", + MathPlayer: "MathJax var ikke i stand til at konfigurere MathPlayer.\n\nHvis MathPlayer ikke er installeret, skal du installere det f\u00F8rst.\nEllers, kan dine sikkerhedsindstillinger forhindrer ActiveX\nkontrolelementer i at k\u00F8re. Bruge dine Internetindstillinger under\ni menuen Funktioner og v\u00E6lg fanen Sikkerhed, og tryk derefter p\u00E5\nknappen Brugerdefineret niveau. Kontroller, at indstillingerne for\n'K\u00F8r ActiveX-objekter' og 'bin\u00E6r- og script-opf\u00F8rsel' er aktiveret.\n\nI \u00F8jeblikket vil du se fejlmeddelelser i stedet for\nformateret matematik", + CantCreateXMLParser: "MathJax kan ikke oprette en XML-parser til MathML. Kontroller, at\n'Script ActiveX-objekter markeret sikre til scripting' sikkerhed\ner aktiveret (bruge elementet Internetindstillinger i menuen \nv\u00E6rkt\u00F8jer, og v\u00E6lg sikkerhedspanel, tryk derefter p\u00E5 \nBrugerdefineret niveau knappen for at unders\u00F8ge det).\n\nMathML ligninger vil ikke kunne behandles af MathJax", + UnknownNodeType: "Ukendt nodetype: %1", + UnexpectedTextNode: "Uventet tekst node: %1", + ErrorParsingMathML: "Fejl under parsing af MathML", + ParsingError: "Fejl under parsing af MathML: %1", + MathMLSingleElement: "MathML skal v\u00E6re dannet af en enkelt element", + MathMLRootElement: "MathML skal v\u00E6re dannet af et \u003Cmath\u003E element, ikke %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathMenu.js new file mode 100644 index 00000000..176252aa --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/da/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Vis matematik som", + MathMLcode: "MathML-kode", + OriginalMathML: "Oprindelig MathML", + TeXCommands: "TeX-kommandoer", + AsciiMathInput: "AsciiMathML-input", + Original: "Oprindeligt format", + ErrorMessage: "Fejlmeddelelse", + Annotation: "Note", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "Vis TeX-tips i MathML", + Settings: "Matematikindstillinger", + ZoomTrigger: "Zoomudl\u00F8ser", + Hover: "Holde musen over", + Click: "Klik", + DoubleClick: "Dobbeltklik", + NoZoom: "Ingen zoom", + TriggerRequires: "Udl\u00F8ser kr\u00E6ver:", + Option: "Alternativ (\u2325)", + Alt: "Alt", + Command: "Kommando (\u2318)", + Control: "Ctrl", + Shift: "Skift", + ZoomFactor: "Zoomfaktor", + Renderer: "Matematik-visningsmetode", + MPHandles: "Lad MathPlayer h\u00E5ndtere:", + MenuEvents: "Menuh\u00E6ndelser", + MouseEvents: "Museh\u00E6ndelser", + MenuAndMouse: "Muse- og menuh\u00E6ndelser", + FontPrefs: "Skrifttype-indstillinger", + ForHTMLCSS: "For HTML-CSS:", + Auto: "Automatisk", + TeXLocal: "TeX (lokal)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (billede)", + STIXLocal: "STIX (lokal)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Kontekstmenu", + Browser: "Browser", + Scale: "Skaler al matematik...", + Discoverable: "Fremh\u00E6v n\u00E5r musen holdes over", + Locale: "Sprog", + LoadLocale: "Indl\u00E6s fra URL ...", + About: "Om MathJax", + Help: "MathJax-hj\u00E6lp", + localTeXfonts: "bruger lokale TeX-skrifttyper", + webTeXfonts: "bruger web-TeX-skrifttype", + imagefonts: "bruger billedskrifttyper", + localSTIXfonts: "bruger lokale STIX-skrifttyper", + webSVGfonts: "bruger web-SVG-skrifttyper", + genericfonts: "bruger generiske Unicode-skrifttyper", + wofforotffonts: "WOFF- eller OTF-skrifttyper", + eotffonts: "EOT-skrifttyper", + svgfonts: "SVG-skrifttyper", + WebkitNativeMMLWarning: "Din browser har tilsyneladende ikke indbygget MathML-underst\u00F8ttelse, s\u00E5 et skift til MathML-output kan g\u00F8re matematikken p\u00E5 siden ul\u00E6selig", + MSIENativeMMLWarning: "Internet Explorer kr\u00E6ver MathPlayer-pluginnet for at kunne behandle MathML-output.", + OperaNativeMMLWarning: "Operas underst\u00F8ttelse af MathML er begr\u00E6nset, s\u00E5 et skift til MathML-output kan for\u00E5rsage at nogle udtryk bliver vist d\u00E5rligt.", + SafariNativeMMLWarning: "Din browsers indbyggede MathML underst\u00F8tter ikke alle de funktioner, der anvendes af MathJax, s\u00E5 nogle udtryk gengives muligvis ikke korrekt.", + FirefoxNativeMMLWarning: "Din browsers indbyggede MathML underst\u00F8tter ikke al den funktionalitet, der anvendes af MathJax, s\u00E5 nogle udtryk gengives muligvis ikke korrekt.", + MSIESVGWarning: "SVG er ikke implementeret i Internet Explorer f\u00F8r IE9 eller n\u00E5r den emulerer IE8 eller tidligere versioner. Et skift til SVG-output vil for\u00E5rsage at matematikken ikke vises korrekt.", + LoadURL: "Indl\u00E6s overs\u00E6ttelsesdata fra denne URL:", + BadURL: "URL-adressen skal v\u00E6re for en JavaScript-fil, der definerer MathJax-overs\u00E6ttelsesdata. JavaScript-filnavne b\u00F8r slutte p\u00E5 '.js'", + BadData: "Kunne ikke indl\u00E6se overs\u00E6ttelsesdata fra %1", + SwitchAnyway: "Skift visningsmetode alligevel?\n\n(Tryk p\u00E5 OK for at skifte, ANNULLER for at forts\u00E6tte med den nuv\u00E6rende visningsmetode)", + ScaleMath: "Skal\u00E9r al matematik (i forhold til omgivende tekst) med", + NonZeroScale: "Skaleringen m\u00E5 ikke v\u00E6re nul", + PercentScale: "Skaleringen skal v\u00E6re en procentsats (for eksempel 120\u00A0%%)", + IE8warning: "Dette vil deaktivere menu- og zoom-funktionaliteterne i MathJax, men du kan i stedet Alt-klikke p\u00E5 et udtryk for at f\u00E5 MathJax-menuen.\n\nVil du virkelig \u00E6ndre indstillingerne for MathPlayer?", + IE9warning: "MathJax-kontekstmenuen vil blive deaktiveret, men du kan i stedet Alt-klikke p\u00E5 et udtryk for at f\u00E5 MathJax-menuen.", + NoOriginalForm: "Intet oprindeligt format til r\u00E5dighed", + Close: "Luk", + EqSource: "MathJax-ligningskilde", + CloseAboutDialog: "Luk dialogen \"Om MathJax\"", + FastPreview: "Hurtig forh\u00E5ndsvisning", + AssistiveMML: "Sk\u00E6rml\u00E6serunderst\u00F8ttelse for MathML", + InTabOrder: "Medtag i tabulatorr\u00E6kkef\u00F8lge" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/TeX.js new file mode 100644 index 00000000..f309364f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/da/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Ekstra venstreklammeparentes eller manglende h\u00F8jreklammeparentes", + ExtraCloseMissingOpen: "Ekstra h\u00F8jreklammeparentes eller manglende venstreklammeparentes", + MissingLeftExtraRight: "Manglende \\left eller ekstra \\right", + MissingScript: "Manglende h\u00E6vet skrift eller s\u00E6nket skrift argument", + ExtraLeftMissingRight: "Ekstra \\left eller manglende \\right", + Misplaced: "Malplaceret %1", + MissingOpenForSub: "Manglende venstreklammeparentes til s\u00E6nket skrift", + MissingOpenForSup: "Manglende venstreklammeparentes til h\u00E6vet skrift", + AmbiguousUseOf: "Flertydig brug af %1", + EnvBadEnd: "\\begin{%1} sluttede med \\end{%2}", + EnvMissingEnd: "Manglende \\end{%1}", + MissingBoxFor: "Manglende boks for %1", + MissingCloseBrace: "Manglende h\u00F8jreklammeparentes", + UndefinedControlSequence: "Udefineret kontrolsekvens %1", + DoubleExponent: "Dobbelt eksponent: brug klammeparenteser til at tydeligg\u00F8re", + DoubleSubscripts: "Dobbelt s\u00E6nket skrift: brug klammeparenteser til at tydeligg\u00F8re", + DoubleExponentPrime: "M\u00E6rke for\u00E5rsager dobbelt eksponent: bruge klammeparenteser til at tydeligg\u00F8re", + CantUseHash1: "Du kan ikke bruge 'makro parameter tegnet #' i matematik tilstand", + MisplacedMiddle: "%1 skal v\u00E6re inden for \\left og \\right", + MisplacedLimits: "%1 er kun tilladt p\u00E5 operatorer", + MisplacedMoveRoot: "%1 kan kun v\u00E6re indenfor en root", + MultipleCommand: "For mange %1", + IntegerArg: "Argumentet til %1 skal v\u00E6re et heltal", + NotMathMLToken: "%1 er ikke et token element", + InvalidMathMLAttr: "Ugyldig MathML attribut: %1", + UnknownAttrForElement: "%1 er ikke en genkendt attribut for %2", + MaxMacroSub1: "Det maksimale antal makro substitutioner i MathJax er overskredet; er der et rekursivt makrokald?", + MaxMacroSub2: "Det maksimale antal substitutioner i MathJax er overskredet; er der et rekursivt LaTeX milj\u00F8?", + MissingArgFor: "Manglende argument til %1", + ExtraAlignTab: "For mange \u0026 i \\cases tekst", + BracketMustBeDimension: "Klammeargument til %1 skal v\u00E6re en dimension", + InvalidEnv: "Ugyldigt navn '%1'", + UnknownEnv: "Ukendt navn '%1'", + ExtraCloseLooking: "Ekstra h\u00F8jreklammeparentes under s\u00F8gning efter %1", + MissingCloseBracket: "Kunne ikke finde det afsluttende ']' argument til %1", + MissingOrUnrecognizedDelim: "Manglende eller ukendt skilletegn for %1", + MissingDimOrUnits: "Manglende dimension eller enheder for %1", + TokenNotFoundForCommand: "Kunne ikke finde %1 for %2", + MathNotTerminated: "Matematik ikke afsluttet i tekstfeltet", + IllegalMacroParam: "Ulovlig makro parameter reference", + MaxBufferSize: "Intern bufferst\u00F8rrelse for MathJax er overskredet; er der et rekursivt makrokald?", + CommandNotAllowedInEnv: "%1 er ikke tilladt i milj\u00F8et %2", + MultipleLabel: "Etiketten '%1' er defineret flere gange", + CommandAtTheBeginingOfLine: "%1 skal v\u00E6re i begyndelsen af linjen", + IllegalAlign: "Ulovlig justering angivet i %1", + BadMathStyleFor: "D\u00E5rlig matematik stil for %1", + PositiveIntegerArg: "Argumentet til %1 skal v\u00E6re et positivt heltal", + ErroneousNestingEq: "Fejlagtig indlejring af ligningsstrukturer", + MultlineRowsOneCol: "R\u00E6kker indenfor milj\u00F8et %1 skal have pr\u00E6cis \u00E9n kolonne", + MultipleBBoxProperty: "%1 angivet to gange i %2", + InvalidBBoxProperty: "'%1' ligner ikke en farve, en padding dimension eller en stil", + ExtraEndMissingBegin: "Ekstra %1 eller manglende \\begingroup", + GlobalNotFollowedBy: "%1 ikke efterfulgt af \\let, \\def eller \\newcommand", + UndefinedColorModel: "Farvemodel '%1' ikke defineret", + ModelArg1: "Farvev\u00E6rdier for modellen %1 kr\u00E6ver 3 tal", + InvalidDecimalNumber: "Ugyldigt decimaltal", + ModelArg2: "Farvev\u00E6rdier for modellen %1 skal v\u00E6re mellem %2 og %3", + InvalidNumber: "Ugyldigt tal", + NewextarrowArg1: "F\u00F8rste argument til %1 skal v\u00E6re navnet p\u00E5 en kontrol sekvens", + NewextarrowArg2: "Andet argument til %1 skal v\u00E6re to heltal adskilt af et komma", + NewextarrowArg3: "Tredje argument til %1 skal v\u00E6re nummeret p\u00E5 et Unicode-tegn", + NoClosingChar: "Kan ikke finde den afsluttende %1", + IllegalControlSequenceName: "Ulovligt kontrol sekvens navn for %1", + IllegalParamNumber: "Ulovligt antal parametre angivet i %1", + MissingCS: "%1 skal efterf\u00F8lges af en kontrolsekvens", + CantUseHash2: "Ulovlig brug af # i skabelon for %1", + SequentialParam: "Parametre for %1 skal v\u00E6re nummereret fortl\u00F8bende", + MissingReplacementString: "Manglende erstatningsstreng til definition af %1", + MismatchUseDef: "Brug af %1 stemmer ikke overens med dens definition", + RunawayArgument: "L\u00F8bsk argument for %1?", + NoClosingDelim: "Kan ikke finde afsluttende skilletegn for %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/da.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/da.js new file mode 100644 index 00000000..18d41e03 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/da.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/da/da.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da",null,{ + menuTitle: "dansk", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax har fundet en cookie med brugerkonfiguration, der indeholder kode til at k\u00F8re. Vil du k\u00F8re det?\n\n(Du b\u00F8r trykke p\u00E5 Annuller, medmindre du oprettede cookien selv.)", + MathProcessingError: "Fejl under bearbejdning af matematik", + MathError: "Matematikfejl", + LoadFile: "Indl\u00E6ser %1", + Loading: "Indl\u00E6ser", + LoadFailed: "Kunne ikke indl\u00E6se filen: %1", + ProcessMath: "Bearbejder matematik: %1%%", + Processing: "Bearbejder", + TypesetMath: "Ops\u00E6tter matematik: %1%%", + Typesetting: "Ops\u00E6tter", + MathJaxNotSupported: "Din browser underst\u00F8tter ikke MathJax", + ErrorTips: "Tips til fejls\u00F8gning: brug %%1, inspicer %%2 i browserkonsollen" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/da.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/FontWarnings.js new file mode 100644 index 00000000..facaebe4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/de/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax nutz web-basierte Fonts zur Darstellung der Mathematik auf dieser Seite. Da diese heruntergeladen werden m\u00FCssen, l\u00E4dt die Seite schneller, wenn Mathe-Fonts auf dem System installiert sind.", + imageFonts: "MathJax verwendet die Bildschriften anstatt der lokalen oder webbasierten Schriften. Das Rendern dauert l\u00E4nger als gew\u00F6hnlich und die Inhalte werden m\u00F6glicherweise nicht mit der vollen Aufl\u00F6sung deines Druckers ausgedruckt.", + noFonts: "MathJax konnte keine Schriftart zur Anzeige der Inhalte finden und Bildschriften sind nicht verf\u00FCgbar. Es wird auf allgemeine Unicode-Zeichen zur\u00FCckgegriffen in der Hoffnung, dass dein Browser in der Lage ist, sie darzustellen. Einige Zeichen werden m\u00F6glicherweise nicht richtig oder gar nicht angezeigt.", + webFonts: "Die meisten modernen Browser erlauben den Download von Schriften \u00FCber das Web. Eine Aktualisierung auf eine aktuellere Version deines Browsers (oder dessen Wechsel) kann die Qualit\u00E4t der Inhalte auf dieser Seite verbessern.", + fonts: "MathJax kann entweder die [STIX-](%1) oder [MathJax-TeX-Schriften](%2) verwenden. Lade eine dieser Schriften herunter und installiere sie, um dein MathJax-Erlebnis zu steigern.", + STIXPage: "Diese Seite wurde konzipiert, um die [STIX-Schriften](%1) zu verwenden. Lade sie herunter und installiere sie, um dein MathJax-Erlebnis zu steigern.", + TeXPage: "Diese Seite wurde konzipiert, um die [MathJax-TeX-Schriften](%1) zu verwenden. Lade sie herunter und installiere sie, um dein MathJax-Erlebnis zu steigern." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HTML-CSS.js new file mode 100644 index 00000000..9d7a7bc4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/de/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Lade Webfont %1", + CantLoadWebFont: "Webschriftart %1 konnte nicht geladen werden", + FirefoxCantLoadWebFont: "Firefox kann keine Webschriften von einem entfernten Rechner laden", + CantFindFontUsing: "Es konnte keine g\u00FCltige Schriftart in %1 gefunden werden", + WebFontsNotAvailable: "Webschriften sind nicht verf\u00FCgbar. Verwende stattdessen Bildschriften." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HelpDialog.js new file mode 100644 index 00000000..4bf26ee2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/de/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax Hilfe", + MathJax: "*MathJax* ist eine JavaScript-Bibliothek, die es Seitenautoren erm\u00F6glicht, mathematische Inhalte in ihre Webseiten einzubinden. Als Leser muss du nichts unternehmen, um das zu erreichen.", + Browsers: "*Browser*: MathJax funktioniert mit allen modernen Browsern inklusive Internet Explorer 6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ und den meisten mobilen Browsern.", + Menu: "*Men\u00FC*: MathJax f\u00FCgt bei Gleichungen ein Kontextmen\u00FC hinzu. Um das Men\u00FC anzuzeigen, klicke mit der rechten Maustaste oder halte beim Klicken die Strg-Taste gedr\u00FCckt.", + ShowMath: "*Inhalt zeigen als* erlaubt dir, das Formelquellenmarkup f\u00FCr Kopieren \u0026 Einf\u00FCgen anzusehen (als MathML oder im Originalformat).", + Settings: "*Einstellungen* gibt dir die Kontrolle \u00FCber MathJax-Funktionen, wie die Inhaltsgr\u00F6\u00DFe und den verwendeten Mechanismus zum Anzeigen von Gleichungen.", + Language: "*Sprache* l\u00E4sst dir die Sprache ausw\u00E4hlen, die von MathJax f\u00FCr die Men\u00FCs und Warnmeldungen verwendet wird.", + Zoom: "*Zoom*: Wenn du beim Lesen einer Gleichung Schwierigkeiten hast, kann MathJax sie vergr\u00F6\u00DFern, damit du sie besser sehen kannst.", + Accessibilty: "*Barrierefreiheit*: MathJax funktioniert automatisch mit Screenreadern, um die Inhalte f\u00FCr Sehbehinderte verf\u00FCgbar zu machen.", + Fonts: "*Schriftarten*: MathJax verwendet bestimmte Schriften, wenn sie auf deinem Computer installiert sind. Anderenfalls werden webbasierte Schriften verwendet. Obwohl das nicht erforderlich ist, beschleunigen lokal installierte Schriften die Schriftsetzung. Wir empfehlen die Installation der [STIX-Schriften](%1).", + CloseDialog: "Hilfedialog schlie\u00DFen" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathML.js new file mode 100644 index 00000000..73b65326 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/de/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "ung\u00FCltige mglyph: %1", + BadMglyphFont: "Ung\u00FCltige Schriftart: %1", + MathPlayer: "MathJax konnte MathPlayer nicht einrichten.\n\nFalls MathPlayer nicht installiert ist, musst du ihn zuerst installieren.\nAnderenfalls verhindern deine Sicherheitseinstellungen, dass\nActiveX-Steuerelemente ausgef\u00FChrt werden k\u00F6nnen. Verwende die\nInternetoptionen unter dem Werkzeugmen\u00FC und w\u00E4hle die Registerkarte\n\u201ESicherheit\u201C. Klicke dann auf \u201EStufe anpassen\u201C. \u00DCberpr\u00FCfe, ob die\nEinstellungen f\u00FCr \u201EActiveX-Steuerelemente ausf\u00FChren\u201C und \u201EBin\u00E4r- und\nSkriptverhalten\u201C aktiviert sind.\n\nDerzeit wirst du Fehlermeldungen sehen anstatt gesetzte Inhalte.", + CantCreateXMLParser: "MathJax konnte keinen XML-Parser f\u00FCr MathML erstellen.\n\u00DCberpr\u00FCfe, ob die Sicherheitseinstellung\n\u201EActiveX-Steuerelemente ausf\u00FChren, die f\u00FCr Skripting\nsicher sind\u201C aktiviert ist (verwende zur \u00DCberpr\u00FCfung\ndie Internetoptionen im Werkzeugmen\u00FC, w\u00E4hle die\nRegisterkarte \u201ESicherheit\u201C und klicke auf \u201EStufe\nanpassen\u201C).\n\nMathML-Gleichungen k\u00F6nnen von MathJax nicht\nverarbeitet werden.", + UnknownNodeType: "Unbekannter Knotentyp: %1", + UnexpectedTextNode: "Unerwarteter Textknoten: %1", + ErrorParsingMathML: "Fehler beim Verarbeiten von MathML", + ParsingError: "Fehler beim Parsen von MathML: %1", + MathMLSingleElement: "MathML muss von einem einzelnen Element gebildet werden", + MathMLRootElement: "MathML muss von einem \u003Cmath\u003E-Element gebildet werden, nicht %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathMenu.js new file mode 100644 index 00000000..35e17c65 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/de/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Zeige mathematischen Ausdruck als", + MathMLcode: "MathML-Code", + OriginalMathML: "Original-MathML", + TeXCommands: "TeX-Befehle", + AsciiMathInput: "AsciiMathML-Eingabe", + Original: "Originalformel", + ErrorMessage: "Fehlermeldung", + Annotation: "Anmerkung", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "TeX-Hinweise in MathML anzeigen", + Settings: "Math-Einstellungen", + ZoomTrigger: "Zoomausl\u00F6ser", + Hover: "\u00DCberfahren", + Click: "Klick", + DoubleClick: "Doppelklick", + NoZoom: "Kein Zoom", + TriggerRequires: "Ausl\u00F6ser ben\u00F6tigt:", + Option: "Option", + Alt: "Alt", + Command: "\u2318", + Control: "Strg", + Shift: "Umschalt", + ZoomFactor: "Vergr\u00F6\u00DFerungsfaktor", + Renderer: "Math-Renderer", + MPHandles: "MathPlayer darf verwalten:", + MenuEvents: "Men\u00FCereignisse", + MouseEvents: "Mausereignisse", + MenuAndMouse: "Maus- und Men\u00FCereignisse", + FontPrefs: "Schriftarteinstellungen", + ForHTMLCSS: "F\u00FCr HTML-CSS:", + Auto: "Automatisch", + TeXLocal: "TeX (Lokal)", + TeXWeb: "TeX (Web)", + TeXImage: "TeX (Bild)", + STIXLocal: "STIX (Lokal)", + STIXWeb: "STIX (Web)", + AsanaMathWeb: "Asana Math (Web)", + GyrePagellaWeb: "Gyre Pagella (Web)", + GyreTermesWeb: "Gyre Termes (Web)", + LatinModernWeb: "Latin Modern (Web)", + NeoEulerWeb: "Neo Euler (Web)", + ContextMenu: "Kontextmen\u00FC", + Browser: "Browser", + Scale: "Alle Inhalte skalieren \u2026", + Discoverable: "Beim \u00DCberfahren hervorheben", + Locale: "Sprache", + LoadLocale: "Lade von URL \u2026", + About: "\u00DCber MathJax", + Help: "MathJax-Hilfe", + localTeXfonts: "Lokale TeX-Schriften verwenden", + webTeXfonts: "Web-TeX-Schriftart verwenden", + imagefonts: "Bildschriften verwenden", + localSTIXfonts: "Lokale STIX-Schriften verwenden", + webSVGfonts: "Web-SVG-Schriften verwenden", + genericfonts: "Allgemeine Unicode-Schriften verwenden", + wofforotffonts: "WOFF- oder OTF-Schriften", + eotffonts: "EOT-Schriften", + svgfonts: "SVG-Schriften", + WebkitNativeMMLWarning: "Ihr Browser scheint kein natives MathML zu unterst\u00FCtzen. Ein Wechsel auf MathML-Ausgabe kann dazu f\u00FChren, dass die Inhalte auf der Seite unlesbar werden.", + MSIENativeMMLWarning: "Um die MathML-Ausgabe verarbeiten zu k\u00F6nnen, ben\u00F6tigt der Internet Explorer das MathPlayer-Plugin.", + OperaNativeMMLWarning: "Die Unterst\u00FCtzung f\u00FCr MathML bei Opera ist beschr\u00E4nkt. Deshalb kann ein Wechsel auf MathML-Ausgabe verursachen, dass einige Ausdr\u00FCcke nur schlecht gerendert werden k\u00F6nnen.", + SafariNativeMMLWarning: "Das native MathML Ihres Browsers unterst\u00FCtzt nicht alle Funktionen, die von MathJax verwendet werden. Deshalb k\u00F6nnen einige Ausdr\u00FCcke nicht richtig gerendert werden.", + FirefoxNativeMMLWarning: "Das native MathML Ihres Browsers unterst\u00FCtzt nicht alle Funktionen, die von MathJax verwendet werden. Deshalb k\u00F6nnen einige Ausdr\u00FCcke nicht richtig gerendert werden.", + MSIESVGWarning: "SVG wird nicht vom Internet Explorer \u00E4lter als IE9 unterst\u00FCtzt oder wenn IE8 und niedriger emuliert werden. Der Wechsel auf SVG-Ausgabe hat zur Folge, dass die Inhalte nicht richtig dargestellt werden.", + LoadURL: "\u00DCbersetzungsdaten von dieser URL laden:", + BadURL: "Die URL sollte f\u00FCr eine JavaScript-Datei sein, die MathJax-\u00DCbersetzungsdaten definiert. JavaScript-Dateinamen sollten enden mit \u201E.js\u201C.", + BadData: "\u00DCbersetzungsdaten konnten nicht von %1 geladen werden", + SwitchAnyway: "Den Renderer trotzdem wechseln?\n\n(OK w\u00E4hlen zum Wechseln, ABBRECHEN w\u00E4hlen, um mit dem gegenw\u00E4rtigen Renderer fortzufahren)", + ScaleMath: "Alle Inhalte skalieren (verglichen mit dem umflie\u00DFenden Text) um", + NonZeroScale: "Der Wert sollte nicht null sein", + PercentScale: "Der Wert sollte ein Prozentsatz sein (z.\u0026nbsp;B. 120%%)", + IE8warning: "Dies deaktiviert das MathJax-Men\u00FC und die Zoomfunktionen, aber du kannst bei einem Ausdruck w\u00E4hrend des Mausklicks die Alt-Taste gedr\u00FCckt halten, um stattdessen das MathJax-Men\u00FC zu erhalten.\n\nMathPlayer-Einstellungen wirklich \u00E4ndern?", + IE9warning: "Das MathJax-Kontextmen\u00FC wird deaktiviert, aber du kannst bei einem Ausdruck w\u00E4hrend des Mausklicks die Alt-Taste gedr\u00FCckt halten, um stattdessen das MathJax-Men\u00FC zu erhalten.", + NoOriginalForm: "Keine Originalformel verf\u00FCgbar", + Close: "Schlie\u00DFen", + EqSource: "MathJax-Gleichungsquelle", + CloseAboutDialog: "Dialog \u201E\u00DCber MathJax\u201C schlie\u00DFen", + FastPreview: "Schnelle Vorschau", + AssistiveMML: "Assistives MathML", + InTabOrder: "In Reiterreihenfolge einschlie\u00DFen" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/TeX.js new file mode 100644 index 00000000..a46bff04 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/de/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Zus\u00E4tzliche \u00F6ffnende, oder fehlende schlie\u00DFende Klammer", + ExtraCloseMissingOpen: "Zus\u00E4tzliche schlie\u00DFende, oder fehlende \u00F6ffnende Klammer", + MissingLeftExtraRight: "Fehlendes '\\left' oder zus\u00E4tzliches '\\right'", + MissingScript: "Fehlendes Argument im Hoch- oder Tiefstellen", + ExtraLeftMissingRight: "Zus\u00E4tzliches '\\left' oder fehlendes '\\right'", + Misplaced: "%1 falsch gesetzt", + MissingOpenForSub: "Fehlende \u00F6ffnende Klammer beim Tiefstellen", + MissingOpenForSup: "Fehlende \u00F6ffnende Klammer beim Hochstellen", + AmbiguousUseOf: "Mehrdeutige Verwendung von %1", + EnvBadEnd: "\\begin{%1} endet mit \\end{%2}", + EnvMissingEnd: "\\end{%1} fehlt", + MissingBoxFor: "Fehlender Rahmen f\u00FCr: %1", + MissingCloseBrace: "Fehlende schlie\u00DFende Klammer", + UndefinedControlSequence: "Nicht definierter Befehl: %1", + DoubleExponent: "Doppeltes Hochstellen: Klammern f\u00FCr eine eindeutige Zuordnung verwenden", + DoubleSubscripts: "Doppeltes Tiefstellen: Klammern f\u00FCr eine eindeutige Zuordnung verwenden", + DoubleExponentPrime: "Prime f\u00FChrt zu doppeltem Hochstellen: Klammern f\u00FCr eine eindeutige Zuordnung verwenden", + CantUseHash1: "Das Zeichen '#' ist ein Makroparameter und kann nicht im Mathematikmodus verwendet werden.", + MisplacedMiddle: "%1 muss zwischen '\\left' und '\\right' stehen", + MisplacedLimits: "%1 ist nur bei Operatoren erlaubt", + MisplacedMoveRoot: "%1 muss innerhalb einer Wurzel stehen", + MultipleCommand: "Zu viele %1", + IntegerArg: "Das Argument in %1 muss ganzzahlig sein", + NotMathMLToken: "%1 ist kein Token-Element", + InvalidMathMLAttr: "Unzul\u00E4ssiges MathML-Attribut: %1", + UnknownAttrForElement: "%1 ist kein zul\u00E4ssiges Attribut f\u00FCr %2", + MaxMacroSub1: "Maximale Anzahl an Makro-Ersetzungen ist erreicht; wird ein rekursiver Makroaufruf verwendet?", + MaxMacroSub2: "Maximale Anzahl an Ersetzungen ist erreicht; wird eine rekursive LaTeX-Umgebung verwendet?", + MissingArgFor: "Fehlendes Argument in %1", + ExtraAlignTab: "Zus\u00E4tzlicher Ausrichtungstabulator im '\\cases' Text", + BracketMustBeDimension: "Das Klammer-Argument f\u00FCr %1 muss eine Dimension sein", + InvalidEnv: "Ung\u00FCltiger Umgebungsname: \u201E%1\u201C", + UnknownEnv: "Ung\u00FCltige Umgebung: \u201E%1\u201C", + ExtraCloseLooking: "Zus\u00E4tzliche schlie\u00DFende Klammer w\u00E4hrend der Suche nach %1", + MissingCloseBracket: "Argument zu %1 wurde nicht mit ']' geschlossen", + MissingOrUnrecognizedDelim: "Fehlendes oder nicht erkanntes Begrenzungszeichen bei %1", + MissingDimOrUnits: "Fehlende Dimension oder Einheiten bei %1", + TokenNotFoundForCommand: "Konnte %1 nicht f\u00FCr %2 finden", + MathNotTerminated: "Mathematischer Ausdruck im Textfeld nicht abgeschlossen", + IllegalMacroParam: "Ung\u00FCltiger Makroparameterbezug", + MaxBufferSize: "Interne Puffergr\u00F6\u00DFe \u00FCberschritten; wird ein rekursiver Makroaufruf verwendet?", + CommandNotAllowedInEnv: "%1 ist in der Umgebung %2 nicht erlaubt", + MultipleLabel: "Bezeichner '%1' mehrfach definiert", + CommandAtTheBeginingOfLine: "%1 muss am Zeilenanfang stehen", + IllegalAlign: "Ung\u00FCltige Ausrichtung in %1", + BadMathStyleFor: "Falsches \u201Emath style\u201C-Argument: %1", + PositiveIntegerArg: "Das Argument zu %1 muss eine positive Ganzzahl sein", + ErroneousNestingEq: "Fehlerhafte Verschachtelung von Gleichungen", + MultlineRowsOneCol: "Zeilen in der %1-Umgebung m\u00FCssen genau eine Spalte haben", + MultipleBBoxProperty: "%1 wurde zweimal in %2 angegeben", + InvalidBBoxProperty: "'%1' scheint keine Farbe, Abstands-Dimension oder Stil zu sein", + ExtraEndMissingBegin: "Zus\u00E4tzliches %1 oder fehlendes \\begingroup", + GlobalNotFollowedBy: "'%1' nicht von '\\let', '\\def' oder '\\newcommand' gefolgt", + UndefinedColorModel: "Farbmodell '%1' nicht definiert", + ModelArg1: "Farbwerte f\u00FCr Farbmodell '%1' ben\u00F6tigen 3 Werte", + InvalidDecimalNumber: "Ung\u00FCltige Dezimalzahl", + ModelArg2: "Farbwerte f\u00FCr Farbmodell '%1' m\u00FCssen zwischen %2 und %3 liegen", + InvalidNumber: "Ung\u00FCltige Zahl", + NewextarrowArg1: "Das erste Argument von %1 muss Name einer Befehlsfolge sein", + NewextarrowArg2: "Zweites Argument von %1 m\u00FCssen zwei ganze Zahlen sein, durch Komma getrennt", + NewextarrowArg3: "Das dritte Argument von %1 muss die Nummer eines Unicode-Zeichens sein", + NoClosingChar: "Kann schlie\u00DFende %1 nicht finden", + IllegalControlSequenceName: "Ung\u00FCltige Befehlsfolge f\u00FCr %1", + IllegalParamNumber: "Ung\u00FCltige Anzahl von Parametern in %1", + MissingCS: "%1 muss von Befehlsfolge gefolgt werden", + CantUseHash2: "Ung\u00FCltige Verwendung von # in Definition von %1", + SequentialParam: "Parameter von %1 m\u00FCssen fortlaufend nummeriert sein", + MissingReplacementString: "Ersetzende Zeichenkette f\u00FCr Definition von %1 fehlt", + MismatchUseDef: "Verwendung von %1 passt nicht zur Definition", + RunawayArgument: "Nichtgeschlossenes Argument f\u00FCr %1?", + NoClosingDelim: "Kein schlie\u00DFendes Begrenzungszeichen f\u00FCr %1 gefunden" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/de.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/de.js new file mode 100644 index 00000000..c77366fa --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/de.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/de/de.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de",null,{ + menuTitle: "Deutsch", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax hat eine Cookie mit ausf\u00FChrbaren Code gefunden. Soll dieser Code ausgef\u00FChrt werden?\n\n(Klicken Sie 'Abbrechen' falls Sie das Cookie nicht selber akzeptiert haben.)", + MathProcessingError: "Fehler bei der Verarbeitung des mathematischen Ausdrucks", + MathError: "Fehler im mathematischen Ausdruck", + LoadFile: "Lade %1", + Loading: "Lade", + LoadFailed: "Datei konnte nicht geladen werden: %1", + ProcessMath: "Verarbeite mathematischen Ausdruck: %1%%", + Processing: "Verarbeite", + TypesetMath: "mathematischer Ausdruck wird gesetzt: %1%%", + Typesetting: "Formelsatz", + MathJaxNotSupported: "Ihr Webbrowser unterst\u00FCtzt MathJax nicht", + ErrorTips: "Fehlerbehebungs-Tipps: Verwende %%1, pr\u00FCfe %%2 in der Browserkonsole" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/de.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/FontWarnings.js new file mode 100644 index 00000000..73862326 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/diq/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HTML-CSS.js new file mode 100644 index 00000000..163f33a8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HTML-CSS.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/localization/diq/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Web font %1 bar beno", + CantLoadWebFont: "Font\u00EA web\u00EA %1'i bar n\u00EAb\u0131" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HelpDialog.js new file mode 100644 index 00000000..e4a28739 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/diq/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathML.js new file mode 100644 index 00000000..2e480851 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/diq/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathMenu.js new file mode 100644 index 00000000..97feb036 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathMenu.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/localization/diq/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Zey tebir\u00EA matematik\u00EAni b\u0131mocne", + MathMLcode: "MathML kod", + OriginalMathML: "Original MathML", + TeXCommands: "Direktif\u00EA TeXi", + AsciiMathInput: "Dekerd\u0131\u015F\u00EA AsciiMathML", + Original: "Formo oricinal", + ErrorMessage: "Mesac\u00EA x\u0131rabi", + Annotation: "Not", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Zerreka MathML", + OpenMath: "OpenMath", + texHints: "MathML' de sopan\u00EA TeX'i b\u0131vin", + Settings: "Saz\u00EA Math", + ZoomTrigger: "Zoom trigger", + Hover: "V\u0131rderiyen", + Click: "T\u0131knay\u0131\u015F", + DoubleClick: "D\u0131rey-t\u0131knay\u0131\u015F", + NoZoom: "Zoom mek", + TriggerRequires: "\u0130cab\u00EA Triggeri:", + Option: "We\u00E7inegi", + Alt: "B\u0131n", + Command: "Komuta", + Control: "Qontrol", + Shift: "Shift", + ZoomFactor: "Faktora zoomi", + Renderer: "Matematik v\u0131ra\u015Fto\u011F", + MenuEvents: "Hedisey\u00EA menuyi", + MouseEvents: "Faaliyet\u00EA meriy", + MenuAndMouse: "Faaliyet\u00EA meriy u menuy", + FontPrefs: "Tercih\u00E9 qelem", + ForHTMLCSS: "Qand\u00E9 HTML-CSS:", + Auto: "Otomatik", + TeXLocal: "TeX (Lokal)", + TeXWeb: "TeX (Web)", + TeXImage: "TeX (res\u0131m)", + STIXLocal: "STIX (Lokal)", + STIXWeb: "STIX (Web)", + AsanaMathWeb: "Asana Math (Web)", + GyrePagellaWeb: "Gyre Pagella (Web)", + GyreTermesWeb: "Gyre Termes (Web)", + LatinModernWeb: "Latin Modern (Web)", + NeoEulerWeb: "Neo Euler (Web)", + ContextMenu: "Kontextmen\u00FC", + Browser: "Browser", + Locale: "Z\u0131wan", + LoadLocale: "URL ra bar beno...", + About: "Heqd\u00E9 MathJax", + Help: "Pe\u015Ftia MathJaxi", + localTeXfonts: "Lokal font\u00EA TeXi b\u0131karne", + webTeXfonts: "Web font\u00EA TeXi b\u0131karn\u00EA", + imagefonts: "Font\u00EA resimi b\u0131karne", + localSTIXfonts: "Lokal font\u00EA STIXi b\u0131karne", + webSVGfonts: "Web font\u00EA SVGy b\u0131karne", + genericfonts: "Generik font\u00EA Unicodi b\u0131karne", + wofforotffonts: "Font\u00EA WOFF yana OTF", + eotffonts: "EOT fonti", + svgfonts: "SVG fonti", + NoOriginalForm: "Original form mewcud niyo", + Close: "Racn\u00EA", + EqSource: "Denklema \u00E7\u0131me ya MathJax'i" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/TeX.js new file mode 100644 index 00000000..9e012995 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/diq/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/diq.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/diq.js new file mode 100644 index 00000000..c6d7be61 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/diq.js @@ -0,0 +1,56 @@ +/************************************************************* + * + * MathJax/localization/diq/diq.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq",null,{ + menuTitle: "Zazaki", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "X\u0131raba kar\u00EA matematiki", + MathError: "Xetay matematiki", + LoadFile: "%1 Bar keri", + Loading: "Bar beno", + LoadFailed: "Dosyay bar nebi: %1", + ProcessMath: "Matematik neq\u0131\u015F kerden: %1%%", + Processing: "Kar\u00EAno...", + TypesetMath: "Tewr\u00EA eyar\u00EA matematiki:%1", + Typesetting: "Eyar\u00EA tewri", + MathJaxNotSupported: "Rov\u0131tera \u015F\u0131ma MathJax'i n\u00EAgurweyne na" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/diq.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/FontWarnings.js new file mode 100644 index 00000000..bd67d2ff --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/en/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax is using web-based fonts to display the mathematics on this page. These take time to download, so the page would render faster if you installed math fonts directly in your system's font folder.", + imageFonts: "MathJax is using its image fonts rather than local or web-based fonts. This will render slower than usual, and the mathematics may not print at the full resolution of your printer.", + noFonts: "MathJax is unable to locate a font to use to display its mathematics, and image fonts are not available, so it is falling back on generic Unicode characters in hopes that your browser will be able to display them. Some characters may not show up properly, or possibly not at all.", + webFonts: "Most modern browsers allow for fonts to be downloaded over the web. Updating to a more recent version of your browser (or changing browsers) could improve the quality of the mathematics on this page.", + fonts: "MathJax can use either the [STIX fonts](%1) or the [MathJax TeX fonts](%2). Download and install one of those fonts to improve your MathJax experience.", + STIXPage: "This page is designed to use the [STIX fonts](%1). Download and install those fonts to improve your MathJax experience.", + TeXPage: "This page is designed to use the [MathJax TeX fonts](%1). Download and install those fonts to improve your MathJax experience." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HTML-CSS.js new file mode 100644 index 00000000..9cfee5d9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/en/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Loading web font %1", + CantLoadWebFont: "Cannot load web font %1", + FirefoxCantLoadWebFont: "Firefox cannot load web fonts from a remote host", + CantFindFontUsing: "Cannot find a valid font using %1", + WebFontsNotAvailable: "Web fonts not available. Using image fonts instead" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HelpDialog.js new file mode 100644 index 00000000..0cfe9138 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/en/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax Help", + MathJax: "*MathJax* is a JavaScript library that allows page authors to include mathematics within their web pages. As a reader, you do not need to do anything to make that happen.", + Browsers: "*Browsers*: MathJax works with all modern browsers including IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ and most mobile browsers.", + Menu: "*Math menu*: MathJax adds a contextual menu to equations. Right-click or Ctrl-click on any mathematics to access the menu.", + ShowMath: "*Show math as* allows you to view the formula's source markup for copy \u0026 paste (as MathML or in its original format).", + Settings: "*Settings* gives you control over features of MathJax, such as the size of the mathematics, and the mechanism used to display equations.", + Language: "*Language* lets you select the language used by MathJax for its menus and warning messages.", + Zoom: "*Math zoom*: If you are having difficulty reading an equation, MathJax can enlarge it to help you see it better.", + Accessibilty: "*Accessibility*: MathJax will automatically work with screen readers to make mathematics accessible to the visually impaired.", + Fonts: "*Fonts*: MathJax will use certain math fonts if they are installed on your computer; otherwise, it will use web-based fonts. Although not required, locally installed fonts will speed up typesetting. We suggest installing the [STIX fonts](%1).", + CloseDialog: "Close help dialog" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathML.js new file mode 100644 index 00000000..7310e1df --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/en/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Bad mglyph: %1", + BadMglyphFont: "Bad font: %1", + MathPlayer: "MathJax was not able to set up MathPlayer.\n\nIf MathPlayer is not installed, you need to install it first.\nOtherwise, your security settings may be preventing ActiveX\ncontrols from running. Use the Internet Options item under\nthe Tools menu and select the Security tab, then press the\nCustom Level button. Check that the settings for\n'Run ActiveX Controls', and 'Binary and script behaviors'\nare enabled.\n\nCurrently you will see error messages rather than\ntypeset mathematics", + CantCreateXMLParser: "MathJax cannot create an XML parser for MathML. Check that\nthe 'Script ActiveX controls marked safe for scripting' security\nsetting is enabled (use the Internet Options item in the Tools\nmenu, and select the Security panel, then press the Custom Level\nbutton to check this).\n\nMathML equations will not be able to be processed by MathJax", + UnknownNodeType: "Unknown node type: %1", + UnexpectedTextNode: "Unexpected text node: %1", + ErrorParsingMathML: "Error parsing MathML", + ParsingError: "Error parsing MathML: %1", + MathMLSingleElement: "MathML must be formed by a single element", + MathMLRootElement: "MathML must be formed by a \u003Cmath\u003E element, not %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathMenu.js new file mode 100644 index 00000000..be2123ea --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/en/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Show math as", + MathMLcode: "MathML code", + OriginalMathML: "Original MathML", + TeXCommands: "TeX commands", + AsciiMathInput: "AsciiMathML input", + Original: "Original form", + ErrorMessage: "Error message", + Annotation: "Annotation", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "Show TeX hints in MathML", + Settings: "Math settings", + ZoomTrigger: "Zoom trigger", + Hover: "Hover", + Click: "Click", + DoubleClick: "Double-click", + NoZoom: "No zoom", + TriggerRequires: "Trigger requires:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Zoom factor", + Renderer: "Math renderer", + MPHandles: "Let MathPlayer handle:", + MenuEvents: "Menu events", + MouseEvents: "Mouse events", + MenuAndMouse: "Mouse and menu events", + FontPrefs: "Font preferences", + ForHTMLCSS: "For HTML-CSS:", + Auto: "Auto", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (image)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Contextual menu", + Browser: "Browser", + Scale: "Scale all math ...", + Discoverable: "Highlight on hover", + Locale: "Language", + LoadLocale: "Load from URL ...", + About: "About MathJax", + Help: "MathJax help", + localTeXfonts: "using local TeX fonts", + webTeXfonts: "using web TeX font", + imagefonts: "using Image fonts", + localSTIXfonts: "using local STIX fonts", + webSVGfonts: "using web SVG fonts", + genericfonts: "using generic Unicode fonts", + wofforotffonts: "WOFF or OTF fonts", + eotffonts: "EOT fonts", + svgfonts: "SVG fonts", + WebkitNativeMMLWarning: "Your browser does not seem to support MathML natively, so switching to MathML output may cause the mathematics on the page to become unreadable", + MSIENativeMMLWarning: "Internet Explorer requires the MathPlayer plugin in order to process MathML output.", + OperaNativeMMLWarning: "Opera's support for MathML is limited, so switching to MathML output may cause some expressions to render poorly.", + SafariNativeMMLWarning: "Your browser's native MathML does not implement all the features used by MathJax, so some expressions may not render properly.", + FirefoxNativeMMLWarning: "Your browser's native MathML does not implement all the features used by MathJax, so some expressions may not render properly.", + MSIESVGWarning: "SVG is not implemented in Internet Explorer prior to IE9 or when it is emulating IE8 or below. Switching to SVG output will cause the mathematics to not display properly.", + LoadURL: "Load translation data from this URL:", + BadURL: "The URL should be for a JavaScript file that defines MathJax translation data. JavaScript file names should end with '.js'", + BadData: "Failed to load translation data from %1", + SwitchAnyway: "Switch the renderer anyway?\n\n(Press OK to switch, CANCEL to continue with the current renderer)", + ScaleMath: "Scale all mathematics (compared to surrounding text) by", + NonZeroScale: "The scale should not be zero", + PercentScale: "The scale should be a percentage (for example 120%%)", + IE8warning: "This will disable the MathJax menu and zoom features, but you can Alt-Click on an expression to obtain the MathJax menu instead.\n\nReally change the MathPlayer settings?", + IE9warning: "The MathJax contextual menu will be disabled, but you can Alt-Click on an expression to obtain the MathJax menu instead.", + NoOriginalForm: "No original form available", + Close: "Close", + EqSource: "MathJax Equation Source", + CloseAboutDialog: "Close about MathJax dialog", + FastPreview: "Fast Preview", + AssistiveMML: "Assistive MathML", + InTabOrder: "Include in Tab Order" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/TeX.js new file mode 100644 index 00000000..dd7daeb2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/en/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Extra open brace or missing close brace", + ExtraCloseMissingOpen: "Extra close brace or missing open brace", + MissingLeftExtraRight: "Missing \\left or extra \\right", + MissingScript: "Missing superscript or subscript argument", + ExtraLeftMissingRight: "Extra \\left or missing \\right", + Misplaced: "Misplaced %1", + MissingOpenForSub: "Missing open brace for subscript", + MissingOpenForSup: "Missing open brace for superscript", + AmbiguousUseOf: "Ambiguous use of %1", + EnvBadEnd: "\\begin{%1} ended with \\end{%2}", + EnvMissingEnd: "Missing \\end{%1}", + MissingBoxFor: "Missing box for %1", + MissingCloseBrace: "Missing close brace", + UndefinedControlSequence: "Undefined control sequence %1", + DoubleExponent: "Double exponent: use braces to clarify", + DoubleSubscripts: "Double subscripts: use braces to clarify", + DoubleExponentPrime: "Prime causes double exponent: Use braces to clarify", + CantUseHash1: "You cannot use 'macro parameter character #' in math mode", + MisplacedMiddle: "%1 must be within \\left and \\right", + MisplacedLimits: "%1 is allowed only on operators", + MisplacedMoveRoot: "%1 can appear only within a root", + MultipleCommand: "Multiple %1", + IntegerArg: "The argument to %1 must be an integer", + NotMathMLToken: "%1 is not a token element", + InvalidMathMLAttr: "Invalid MathML attribute: %1", + UnknownAttrForElement: "%1 is not a recognized attribute for %2", + MaxMacroSub1: "MathJax maximum macro substitution count exceeded; is there a recursive macro call?", + MaxMacroSub2: "MathJax maximum substitution count exceeded; is there a recursive LaTeX environment?", + MissingArgFor: "Missing argument for %1", + ExtraAlignTab: "Extra alignment tab in \\cases text", + BracketMustBeDimension: "Bracket argument to %1 must be a dimension", + InvalidEnv: "Invalid environment name '%1'", + UnknownEnv: "Unknown environment '%1'", + ExtraCloseLooking: "Extra close brace while looking for %1", + MissingCloseBracket: "Could not find closing ']' for argument to %1", + MissingOrUnrecognizedDelim: "Missing or unrecognized delimiter for %1", + MissingDimOrUnits: "Missing dimension or its units for %1", + TokenNotFoundForCommand: "Could not find %1 for %2", + MathNotTerminated: "Math not terminated in text box", + IllegalMacroParam: "Illegal macro parameter reference", + MaxBufferSize: "MathJax internal buffer size exceeded; is there a recursive macro call?", + CommandNotAllowedInEnv: "%1 not allowed in %2 environment", + MultipleLabel: "Label '%1' multiply defined", + CommandAtTheBeginingOfLine: "%1 must come at the beginning of the line", + IllegalAlign: "Illegal alignment specified in %1", + BadMathStyleFor: "Bad math style for %1", + PositiveIntegerArg: "Argument to %1 must be a positive integer", + ErroneousNestingEq: "Erroneous nesting of equation structures", + MultlineRowsOneCol: "The rows within the %1 environment must have exactly one column", + MultipleBBoxProperty: "%1 specified twice in %2", + InvalidBBoxProperty: "'%1' does not look like a color, a padding dimension, or a style", + ExtraEndMissingBegin: "Extra %1 or missing \\begingroup", + GlobalNotFollowedBy: "%1 not followed by \\let, \\def, or \\newcommand", + UndefinedColorModel: "Color model '%1' not defined", + ModelArg1: "Color values for the %1 model require 3 numbers", + InvalidDecimalNumber: "Invalid decimal number", + ModelArg2: "Color values for the %1 model must be between %2 and %3", + InvalidNumber: "Invalid number", + NewextarrowArg1: "First argument to %1 must be a control sequence name", + NewextarrowArg2: "Second argument to %1 must be two integers separated by a comma", + NewextarrowArg3: "Third argument to %1 must be a Unicode character number", + NoClosingChar: "Cannot find closing %1", + IllegalControlSequenceName: "Illegal control sequence name for %1", + IllegalParamNumber: "Illegal number of parameters specified in %1", + MissingCS: "%1 must be followed by a control sequence", + CantUseHash2: "Illegal use of # in template for %1", + SequentialParam: "Parameters for %1 must be numbered sequentially", + MissingReplacementString: "Missing replacement string for definition of %1", + MismatchUseDef: "Use of %1 does not match its definition", + RunawayArgument: "Runaway argument for %1?", + NoClosingDelim: "Cannot find closing delimiter for %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/en.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/en.js new file mode 100644 index 00000000..28e127a3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/en.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/en/en.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en",null,{ + menuTitle: "English", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax has found a user-configuration cookie that includes code to be run. Do you want to run it?\n\n(You should press Cancel unless you set up the cookie yourself.)", + MathProcessingError: "Math processing error", + MathError: "Math error", + LoadFile: "Loading %1", + Loading: "Loading", + LoadFailed: "File failed to load: %1", + ProcessMath: "Processing math: %1%%", + Processing: "Processing", + TypesetMath: "Typesetting math: %1%%", + Typesetting: "Typesetting", + MathJaxNotSupported: "Your browser does not support MathJax", + ErrorTips: "Debugging tips: use %%1, inspect %%2 in the browser console" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/en.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/FontWarnings.js new file mode 100644 index 00000000..deeca606 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HTML-CSS.js new file mode 100644 index 00000000..e760ca98 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HelpDialog.js new file mode 100644 index 00000000..ae826ec2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathML.js new file mode 100644 index 00000000..ab8e209c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathMenu.js new file mode 100644 index 00000000..479bde55 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/TeX.js new file mode 100644 index 00000000..d8fc69df --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/eo.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/eo.js new file mode 100644 index 00000000..5f977b11 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/eo.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/localization/eo/eo.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo",null,{ + menuTitle: "Esperanto", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + Loading: "\u015Cargado", + LoadFailed: "\u015Cargado de dosiero malsukcesis: %1", + ProcessMath: "Prilaborado de formulo: %1 %%", + Processing: "Prilaborado", + TypesetMath: "Kompostado de formulo: %1 %%", + Typesetting: "Kompostado", + MathJaxNotSupported: "Via krozilo ne subtenas Mathjax." + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/eo.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/FontWarnings.js new file mode 100644 index 00000000..660353c3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/es/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax utiliza tipos de letra web para mostrar la notaci\u00F3n matem\u00E1tica de esta p\u00E1gina. Estos tardan un poco en descargarse, por lo que instalarlos en el equipo acelerar\u00E1 la renderizaci\u00F3n de la p\u00E1gina.", + imageFonts: "MathJax est\u00E1 utilizando sus fuentes de imagen en lugar de las fuentes locales o basadas en web. Esto renderizar\u00E1 m\u00E1s lento que de costumbre, y las matem\u00E1ticas no podr\u00E1n imprimir a la resoluci\u00F3n completa de la impresora.", + noFonts: "MathJax es incapaz de encontrar una fuente para mostrar sus matem\u00E1ticas y las fuentes de imagen no est\u00E1n disponibles, as\u00ED que usar\u00E1 caracteres Unicode gen\u00E9ricos con la esperanza de que el navegador ser\u00E1 capaz de mostrarlas. Es posible que algunos caracteres no se muestren correctamente, o no en absoluto.", + webFonts: "La mayor\u00EDa de los navegadores modernos permiten fuentes para ser descargadas a trav\u00E9s de la web. Actualizar a una versi\u00F3n m\u00E1s reciente de tu navegador (o cambiar de navegador) podr\u00EDa mejorar la calidad de las matem\u00E1ticas en esta p\u00E1gina.", + fonts: "MathJax puede utilizar las [fuentes STIX](%1) o las [fuentes TeX MathJax](%2). Descarga e instala una de esas fuentes para mejorar tu experiencia en MathJax.", + STIXPage: "Esta p\u00E1gina est\u00E1 dise\u00F1ada para usar las [fuentes STIX](%1). Descarga e instala esas fuentes para mejorar tu experiencia en MathJax.", + TeXPage: "Esta p\u00E1gina est\u00E1 dise\u00F1ada para usar las [fuentes MathJax TeX](%1). Descarga e instala esas fuentes para mejorar tu experiencia en MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HTML-CSS.js new file mode 100644 index 00000000..fe9b5b22 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/es/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Cargando el tipo de letra web %1", + CantLoadWebFont: "No se pudo cargar la fuente web %1", + FirefoxCantLoadWebFont: "Firefox no puede cargar tipos de letra web desde un equipo remoto", + CantFindFontUsing: "No se puede encontrar un tipo de letra v\u00E1lido mediante %1", + WebFontsNotAvailable: "No hay fuentes web disponibles. Usando fuentes de imagen en su lugar" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HelpDialog.js new file mode 100644 index 00000000..c220a7cb --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/es/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Ayuda de MathJax", + MathJax: "*MathJax* es una biblioteca en JavaScript que permite a los autores de p\u00E1ginas web incrustar notaci\u00F3n matem\u00E1tica. Como lector, no necesitas hacer nada para que eso suceda.", + Browsers: "*Navegadores*: MathJax funciona con todos los navegadores modernos, incluyendo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ y la mayor\u00EDa de los navegadores para m\u00F3vil.", + Menu: "*Men\u00FA Math*: MathJax a\u00F1ade un men\u00FA contextual para las ecuaciones. Haz clic derecho o Ctrl-clic en cualquier notaci\u00F3n matem\u00E1tica para acceder al men\u00FA.", + ShowMath: "*Mostrar la matem\u00E1tica como* permite ver el formato del c\u00F3digo fuente de la f\u00F3rmula para copiar y pegar (como MathML o en su formato original).", + Settings: "*Ajustes* te da el control sobre las funciones de MathJax, tales como el tama\u00F1o de las notaciones matem\u00E1ticas y el mecanismo que se utiliza para mostrar las ecuaciones.", + Language: "*Idioma* permite seleccionar el idioma utilizado por MathJax para sus men\u00FAs y mensajes de advertencia.", + Zoom: "*Zoom*: Si est\u00E1s teniendo dificultad para leer una ecuaci\u00F3n, MathJax puede ampliarla para ayudarte a verla mejor.", + Accessibilty: "*Accesibilidad*: MathJax funcionar\u00E1 autom\u00E1ticamente con los lectores de pantalla para hacer accesible a las personas con discapacidad visual.", + Fonts: "*Tipos de letra*: MathJax utiliza determinados tipos de letra matem\u00E1ticas si est\u00E1n instalados en tu ordenador. De lo contrario, utilizar\u00E1 tipos de letra en web. Aunque no es necesario, los tipos de letra instalados localmente aumentar\u00E1 la velocidad de composici\u00F3n tipogr\u00E1fica. Sugerimos instalar los tipos de letra [STIX](%1).", + CloseDialog: "Cerrar el di\u00E1logo de ayuda" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathML.js new file mode 100644 index 00000000..09002e69 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/es/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u00ABmglyph\u00BB da\u00F1ado: %1", + BadMglyphFont: "Tipo de letra da\u00F1ado: %1", + MathPlayer: "MathJax no fue capaz de configurar MathPlayer.\n\nSi no est\u00E1 instalado MathPlayer, tienes que instalarlo primero.\nDe lo contrario, la configuraci\u00F3n de seguridad puede impedir que los controles de ActiveX\nfuncionen. Utiliza el elemento en opciones de Internet en el men\u00FA Herramientas y selecciona la ficha Seguridad, luego presiona el\nbot\u00F3n de nivel personalizado. Comprueba que la configuraci\u00F3n de\n\"Ejecutar controles ActiveX\" y \"comportamientos binarios y script\"\nest\u00E1n activados.\n\nActualmente ver\u00E1s los mensajes de error en lugar de la\ntipograf\u00EDa matem\u00E1tica", + CantCreateXMLParser: "MathJax no puede crear un analizador de XML para MathML. Comprueba que la configuraci\u00F3n de seguridad \"controles de secuencia de comandos ActiveX marcados como seguros para scripts\" est\u00E1 habilitada (utiliza el elemento en opciones de Internet en el men\u00FA Herramientas y selecciona el panel de seguridad, luego presiona el bot\u00F3n de nivel personalizado para comprobarlo).\n\nLas ecuaciones MathML no podr\u00E1n ser procesadas por MathJax", + UnknownNodeType: "Tipo de nodo desconocido: %1", + UnexpectedTextNode: "Nodo de texto inesperado: %1", + ErrorParsingMathML: "Error al analizar MathML", + ParsingError: "Error al analizar MathML: %1", + MathMLSingleElement: "MathML debe estar formado por un solo elemento", + MathMLRootElement: "MathML debe estar formado por un elemento \u003Cmath\u003E, no %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathMenu.js new file mode 100644 index 00000000..0c28ef4e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/es/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Mostrar las f\u00F3rmulas como", + MathMLcode: "C\u00F3digo de MathML", + OriginalMathML: "MathML original", + TeXCommands: "\u00D3rdenes de TeX", + AsciiMathInput: "Entrada AsciiMathML", + Original: "Forma original", + ErrorMessage: "Mensaje de error", + Annotation: "Anotaci\u00F3n", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Contenido MathML", + OpenMath: "OpenMath", + texHints: "Mostrar sugerencias TeX en MathML", + Settings: "Configuraci\u00F3n matem\u00E1tica", + ZoomTrigger: "Activar zoom", + Hover: "Apuntar con el rat\u00F3n", + Click: "Pulsaci\u00F3n del rat\u00F3n", + DoubleClick: "Pulsaci\u00F3n doble del rat\u00F3n", + NoZoom: "Sin ampliaci\u00F3n", + TriggerRequires: "La activaci\u00F3n requiere:", + Option: "Opci\u00F3n", + Alt: "Alt", + Command: "Orden", + Control: "Control", + Shift: "May\u00FAs", + ZoomFactor: "Factor de ampliaci\u00F3n", + Renderer: "Renderizador matem\u00E1tico", + MPHandles: "Permitir que MathPlayer gestione:", + MenuEvents: "Eventos del men\u00FA", + MouseEvents: "Eventos del rat\u00F3n", + MenuAndMouse: "Eventos del men\u00FA y del rat\u00F3n", + FontPrefs: "Preferencias tipogr\u00E1ficas", + ForHTMLCSS: "Para HTML-CSS:", + Auto: "Autom\u00E1tico", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imagen)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Men\u00FA contextual", + Browser: "Navegador", + Scale: "Escalar todas las f\u00F3rmulas\u2026", + Discoverable: "Resaltar al apuntar con el rat\u00F3n", + Locale: "Idioma", + LoadLocale: "Cargar a partir de URL\u2026", + About: "Acerca de MathJax", + Help: "Ayuda de MathJax", + localTeXfonts: "usando tipos de letra locales TeX", + webTeXfonts: "usando tipo de letra web TeX", + imagefonts: "usando tipos de letra de imagen", + localSTIXfonts: "usando tipos de letra locales STIX", + webSVGfonts: "usando tipos de letra web SVG", + genericfonts: "usando tipos de letra Unicode gen\u00E9ricas", + wofforotffonts: "Tipos de letra WOFF u OTF", + eotffonts: "Tipos de letra EOT", + svgfonts: "Tipos de letra SVG", + WebkitNativeMMLWarning: "Parece que tu navegador no admite MathML de manera nativa; si cambias a la salida MathML es posible que la notaci\u00F3n matem\u00E1tica de la p\u00E1gina se vuelva ilegible", + MSIENativeMMLWarning: "Internet Explorer necesita el complemento MathPlayer para procesar la salida de MathML.", + OperaNativeMMLWarning: "La compatibilidad de Opera con MathML es limitada, por lo que cambiar a la salida de MathML puede causar que algunas expresiones no se visualicen bien.", + SafariNativeMMLWarning: "El MathML nativo de tu navegador no implementa todas las funciones utilizadas por MathJax, por lo que algunas expresiones pueden no visualizarse correctamente.", + FirefoxNativeMMLWarning: "El MathML nativo de tu navegador no implementa todas las funciones utilizadas por MathJax, por lo que algunas expresiones pueden no visualizarse correctamente.", + MSIESVGWarning: "SVG no est\u00E1 implementado en Internet Explorer anterior a IE9 o cuando se est\u00E1 emulando IE8 o anteriores. Cambiar a la salida SVG har\u00E1 que la notaci\u00F3n matem\u00E1tica no se visualice correctamente.", + LoadURL: "Cargar datos de traducci\u00F3n desde esta direcci\u00F3n URL:", + BadURL: "La direcci\u00F3n URL debe ser para un archivo JavaScript que define los datos de traducci\u00F3n de MathJax. Los nombres de los archivos de JavaScript deben terminar con \".js\"", + BadData: "No se pudieron cargar los datos de traducci\u00F3n de %1", + SwitchAnyway: "\u00BFCambiar al renderizador de todos modos?\n\n(Presiona OK para cambiar, CANCELAR para continuar con el renderizador actual)", + ScaleMath: "Escalar toda la matem\u00E1tica (comparado con el texto circundante) por", + NonZeroScale: "La escala no debe ser cero", + PercentScale: "La escala debe ser un porcentaje (p. ej.: 120 %%)", + IE8warning: "Esto deshabilitar\u00E1 las funciones de men\u00FA y zoom de MathJax, pero puedes pulsar Alt-Clic en una expresi\u00F3n para obtener el men\u00FA MathJax en su lugar.\n\n\u00BFRealmente quieres cambiar la configuraci\u00F3n de MathPlayer?", + IE9warning: "El men\u00FA contextual de MathJax ser\u00E1 desactivado, pero puedes pulsar Alt-Clic en una expresi\u00F3n para obtener el men\u00FA MathJax en su lugar.", + NoOriginalForm: "La forma original no est\u00E1 disponible", + Close: "Cerrar", + EqSource: "C\u00F3digo de la ecuaci\u00F3n de MathJax", + CloseAboutDialog: "Cerrar el di\u00E1logo de acerca de MathJax", + FastPreview: "Vista previa r\u00E1pida", + AssistiveMML: "Asistente MathML", + InTabOrder: "Incluir en el Orden de Pesta\u00F1as" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/TeX.js new file mode 100644 index 00000000..0655e680 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/es/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Llave de apertura adicional o falta la llave de cierre", + ExtraCloseMissingOpen: "Llave de cierre adicional o falta la llave de apertura", + MissingLeftExtraRight: "Falta \\left o \\right adicional", + MissingScript: "Falta argumento super\u00EDndice o sub\u00EDndice", + ExtraLeftMissingRight: "\\left adicional o falta \\right", + Misplaced: "%1 ubicado incorrectamente", + MissingOpenForSub: "Falta la llave de apertura para el sub\u00EDndice", + MissingOpenForSup: "Falta la llave de apertura para super\u00EDndice", + AmbiguousUseOf: "Uso ambiguo de %1", + EnvBadEnd: "\\begin{%1} termina con \\end{%2}", + EnvMissingEnd: "Falta \\end{%1}", + MissingBoxFor: "Falta la caja para %1", + MissingCloseBrace: "Falta la llave de cierre", + UndefinedControlSequence: "Secuencia de control indefinida %1", + DoubleExponent: "Doble exponente: utiliza llaves para aclarar", + DoubleSubscripts: "Doble sub\u00EDndices: utiliza llaves para aclarar", + DoubleExponentPrime: "El s\u00EDmbolo \u00ABprima\u00BB causa un exponente doble, utiliza llaves para aclarar", + CantUseHash1: "No puedes utilizar \"n\u00FAmero de car\u00E1cter de par\u00E1metro de macro\" en modo matem\u00E1tico", + MisplacedMiddle: "%1 debe estar dentro de \\left y \\right", + MisplacedLimits: "%1 est\u00E1 permitido solo en operadores", + MisplacedMoveRoot: "%1 solo puede aparecer dentro de una ra\u00EDz", + MultipleCommand: "M\u00FAltiples %1", + IntegerArg: "El argumento para %1 debe ser un entero", + NotMathMLToken: "%1 no es un elemento", + InvalidMathMLAttr: "El atributo MathML no es v\u00E1lido: %1", + UnknownAttrForElement: "%1 no es un atributo reconocido para %2", + MaxMacroSub1: "Conteo m\u00E1ximo de sustituci\u00F3n de macro MathJax superado, \u00BFhay una llamada recursiva de macro?", + MaxMacroSub2: "Se excedi\u00F3 el conteo m\u00E1ximo de sustituci\u00F3n MathJax, \u00BFhay un ambiente recursivo de LaTeX?", + MissingArgFor: "Falta el argumento para %1", + ExtraAlignTab: "Ficha de alineaci\u00F3n adicional en texto \\cases", + BracketMustBeDimension: "El argumento de par\u00E9ntesis %1 debe ser una dimensi\u00F3n", + InvalidEnv: "Nombre de entorno \u00AB%1\u00BB no v\u00E1lido", + UnknownEnv: "Entorno desconocido \u00AB%1\u00BB", + ExtraCloseLooking: "Llave de cierre adicional al buscar %1", + MissingCloseBracket: "No se pudo encontrar \"]\" de cierre para el argumento %1", + MissingOrUnrecognizedDelim: "Delimitador no reconocido o faltante para %1", + MissingDimOrUnits: "Falta la dimensi\u00F3n o sus unidades para %1", + TokenNotFoundForCommand: "No se pudo encontrar %1 para %2", + MathNotTerminated: "La notaci\u00F3n matem\u00E1tica no termina en el cuadro de texto", + IllegalMacroParam: "Referencia de par\u00E1metro de macro ilegal", + MaxBufferSize: "Tama\u00F1o del b\u00FAfer interno de MathJax excedido. \u00BFHay una llamada macro recursiva?", + CommandNotAllowedInEnv: "%1 no permitido en el entorno %2", + MultipleLabel: "Se defini\u00F3 la etiqueta \u00AB%1\u00BB varias veces", + CommandAtTheBeginingOfLine: "%1 debe aparecer al principio de la l\u00EDnea", + IllegalAlign: "Se especific\u00F3 un alineamiento incorrecto en %1", + BadMathStyleFor: "Estilo matem\u00E1tico err\u00F3neo para %1", + PositiveIntegerArg: "El argumento de %1 debe ser un entero positivo", + ErroneousNestingEq: "Anidaci\u00F3n err\u00F3nea de estructuras de ecuaciones", + MultlineRowsOneCol: "Las filas dentro del entorno %1 deben tener exactamente una columna", + MultipleBBoxProperty: "Se ha especificado %1 dos veces en %2", + InvalidBBoxProperty: "\"%1\" no parece ser un color, una dimensi\u00F3n de relleno o un estilo", + ExtraEndMissingBegin: "%1 adicional o falta \\begingroup", + GlobalNotFollowedBy: "%1 no va seguido de \\let, \\def o \\newcommand", + UndefinedColorModel: "El modelo de color \u00AB%1\u00BB no est\u00E1 definido", + ModelArg1: "Los valores de color para el modelo %1 requieren 3 n\u00FAmeros", + InvalidDecimalNumber: "El n\u00FAmero decimal no es v\u00E1lido", + ModelArg2: "Los valores de color para el modelo %1 deben estar entre %2 y %3", + InvalidNumber: "El n\u00FAmero no es v\u00E1lido", + NewextarrowArg1: "El primer argumento de %1 debe ser un nombre de secuencia de control", + NewextarrowArg2: "El segundo argumento de %1 debe ser dos n\u00FAmeros enteros separados por una coma", + NewextarrowArg3: "El tercer argumento de %1 debe ser un n\u00FAmero de caracteres Unicode", + NoClosingChar: "No se puede encontrar el %1 de cierre", + IllegalControlSequenceName: "El nombre de la secuencia de control para %1 es incorrecto", + IllegalParamNumber: "Se especific\u00F3 una cantidad incorrecta de par\u00E1metros en %1", + MissingCS: "A %1 ha de a\u00F1ad\u00EDrsele una secuencia de control", + CantUseHash2: "Uso incorrecto de \u00AB#\u00BB en la plantilla para %1", + SequentialParam: "Los par\u00E1metros para %1 deben ser numerados de forma secuencial", + MissingReplacementString: "Falta la cadena de sustituci\u00F3n para la definici\u00F3n de %1", + MismatchUseDef: "El uso de %1 no coincide con su definici\u00F3n", + RunawayArgument: "\u00BFArgumento de escape para %1?", + NoClosingDelim: "No se puede encontrar el delimitador de cierre para %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/es.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/es.js new file mode 100644 index 00000000..419a1eab --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/es.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/es/es.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es",null,{ + menuTitle: "espa\u00F1ol", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax ha encontrado una cookie de configuraci\u00F3n de usuario que incluye c\u00F3digo para ser ejecutado.\u00BFQuieres ejecutarlo?\n\\n\n(Pulse Cancelar al menos que configure la cookie).", + MathProcessingError: "Error de procesamiento de matem\u00E1ticas", + MathError: "Error de matem\u00E1ticas", + LoadFile: "Cargando %1", + Loading: "Cargando", + LoadFailed: "Fall\u00F3 la carga del archivo: %1", + ProcessMath: "Procesando notaci\u00F3n matem\u00E1tica: %1\u00A0%%", + Processing: "Procesando", + TypesetMath: "Composici\u00F3n tipogr\u00E1fica en curso: %1 %%", + Typesetting: "Composici\u00F3n tipogr\u00E1fica", + MathJaxNotSupported: "El navegador no admite MathJax", + ErrorTips: "Consejos de depuraci\u00F3n: utilice %%1, inspeccione %%2 en la consola del navegador" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/es.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/FontWarnings.js new file mode 100644 index 00000000..a1833b7c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/fa/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0632\u0645\u0627\u0646\u06CC \u062C\u0647\u062A \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0628\u06AF\u06CC\u0631\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0631\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u0633\u062A\u0642\u06CC\u0645 \u062F\u0631 \u067E\u0648\u0634\u0647\u0654 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0633\u06CC\u0633\u062A\u0645\u200C\u0639\u0627\u0645\u0644 \u062E\u0648\u062F \u0642\u0631\u0627\u0631 \u062F\u0647\u06CC\u062F \u0646\u0645\u0627\u06CC\u0634 \u0635\u0641\u062D\u0627\u062A \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u0646\u062F \u0634\u062F.", + imageFonts: "MathJax \u0628\u0647 \u062C\u0627\u06CC \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u062D\u0644\u06CC \u06CC\u0627 \u0648\u0628\u06CC \u0627\u0632 \u062A\u0635\u0627\u0648\u06CC\u0631 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0627\u0632 \u062D\u0627\u0644\u062A \u0639\u0627\u062F\u06CC \u06A9\u0646\u062F\u062A\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u062F\u0631 \u062C\u0632\u0626\u06CC\u0627\u062A \u06A9\u0627\u0645\u0644 \u0686\u0627\u067E\u06AF\u0631 \u0634\u0645\u0627 \u0686\u0627\u067E \u0646\u0634\u0648\u0646\u062F.", + noFonts: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A \u0642\u0644\u0645\u06CC \u06A9\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F \u0631\u0627 \u0628\u06CC\u0627\u0628\u062F \u0648 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0647 \u0627\u06CC\u0646 \u0627\u0645\u06CC\u062F \u06A9\u0647 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u062A\u0648\u0627\u0646\u062F \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0639\u0645\u0648\u0645\u06CC \u0631\u0627 \u0686\u0627\u067E \u06A9\u0646\u062F \u0628\u0647 \u0622\u0646\u200C\u0647\u0627 \u0628\u0627\u0632\u0645\u06CC\u200C\u06AF\u0631\u062F\u062F. \u0628\u0639\u0636\u06CC \u0627\u0632 \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u06CC\u0627 \u0627\u0635\u0644\u0627\u064B \u0628\u0647 \u06A9\u0644 \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + webFonts: "\u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC \u062F\u0647\u0646\u062F \u06A9\u0647 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0632 \u0637\u0631\u06CC\u0642 \u0648\u0628 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0634\u0648\u0646\u062F. \u0628\u0647\u200C\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC\u200C\u06A9\u0631\u062F\u0646 \u0628\u0647 \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u062E\u0631\u06CC\u0646 \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0645\u0631\u0648\u0631\u06AF\u0631\u062A\u0627\u0646 (\u06CC\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631) \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u06A9\u06CC\u0641\u06CC\u062A \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", + fonts: "MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u06CC\u0627 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%2) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u0646\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", + STIXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC\u200C\u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0628\u0647\u0628\u0648\u062F \u06CC\u0627\u0628\u062F.", + TeXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC \u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u06A9\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u0645\u06CC\u200C\u0628\u062E\u0634\u062F." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HTML-CSS.js new file mode 100644 index 00000000..9711f61e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/fa/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0642\u0644\u0645 \u0648\u0628\u06CC %1", + CantLoadWebFont: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u0642\u0644\u0645 \u0648\u0628\u06CC %1 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0631\u062F", + FirefoxCantLoadWebFont: "\u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0631\u0627 \u0627\u0632 \u06CC\u06A9 \u0645\u06CC\u0632\u0627\u0646 \u0627\u0632 \u0631\u0627\u0647 \u062F\u0648\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F", + CantFindFontUsing: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u06CC\u06A9 \u0642\u0644\u0645 \u0645\u0639\u062A\u0628\u0631 \u0628\u0627\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 %1 \u06CC\u0627\u0641\u062A", + WebFontsNotAvailable: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0646\u0627\u0645\u0648\u062C\u0648\u062F\u0646\u062F -- \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0628\u0647 \u062C\u0627\u06CC \u0622\u0646" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HelpDialog.js new file mode 100644 index 00000000..dde9c05d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/fa/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", + MathJax: "*MathJax* \u06CC\u06A9 \u06A9\u062A\u0627\u0628\u062E\u0627\u0646\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0646\u0648\u06CC\u0633\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u0635\u0641\u062D\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u062F\u0631\u0648\u0646 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC \u0642\u0631\u0627\u0631 \u062F\u0647\u0646\u062F. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062E\u0648\u0627\u0646\u0646\u062F\u0647\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u0646\u062F\u0627\u0631\u06CC\u062F \u06A9\u0627\u0631\u06CC \u0627\u0646\u062C\u0627\u0645 \u062F\u0647\u06CC\u062F \u06A9\u0647 \u0627\u06CC\u0646 \u0627\u062A\u0641\u0627\u0642 \u0628\u06CC\u0641\u062A\u062F.", + Browsers: "*\u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627*: MathJax \u0628\u0627 \u0647\u0645\u0647\u0654 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0634\u0627\u0645\u0644 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u06F3 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u06A9\u0631\u0648\u0645 \u06F0.\u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0633\u0627\u0641\u0627\u0631\u0633\u06CC \u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0627\u067E\u0631\u0627\u06CC \u06F9.\u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627 \u0648 \u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u062A\u0644\u0641\u0646 \u0647\u0645\u0631\u0627\u0647 \u06A9\u0627\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F.", + Menu: "*\u0645\u0646\u0648\u06CC \u0631\u06CC\u0627\u0636\u06CC*: MathJax \u06CC\u06A9 \u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC \u0628\u0647 \u0645\u0639\u0627\u062F\u0644\u0627\u062A \u0645\u06CC\u200C\u0627\u0641\u0632\u0627\u06CC\u062F. \u0628\u0627 \u06A9\u0644\u06CC\u06A9 \u0631\u0627\u0633\u062A \u06CC\u0627 \u06A9\u0644\u06CC\u06A9 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u0647\u0627\u0631 (CTRL) \u062F\u0631 \u0647\u0631 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0627\u06CC \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0647 \u0627\u06CC\u0646 \u0645\u0646\u0648 \u062F\u0633\u062A \u0628\u06CC\u0627\u0628\u06CC\u062F.", + ShowMath: "*\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC \u0628\u0647 \u0639\u0646\u0648\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0634\u0645\u0627 \u0645\u0646\u0628\u0639 \u0646\u0634\u0627\u0646\u0647\u200C\u06AF\u0630\u0627\u0631\u06CC \u0641\u0631\u0645\u0648\u0644 \u0631\u0627 \u0628\u0631\u0627\u06CC \u0631\u0648\u0646\u0648\u0634\u062A \u0648 \u0686\u0633\u067E\u0627\u0646\u062F\u0646 \u0628\u0628\u06CC\u0646\u06CC\u062F (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 MathML \u06CC\u0627 \u062F\u0631 \u0642\u0627\u0644\u0628 \u0627\u0635\u0644\u06CC \u0622\u0646).", + Settings: "*\u062A\u0646\u0638\u06CC\u0645\u0627\u062A* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0628\u0647 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC MathJax \u0627\u0632 \u062C\u0645\u0644\u0647\u0654 \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0648 \u0645\u06A9\u0627\u0646\u06CC\u0632\u0645 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u06A9\u0646\u062A\u0631\u0644 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F.", + Language: "*\u0632\u0628\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0634\u0645\u0627 \u0632\u0628\u0627\u0646 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0628\u0631\u0627\u06CC \u0645\u0646\u0648\u0647\u0627 \u0648 \u067E\u06CC\u063A\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627 \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F.", + Zoom: "*\u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u06CC\u0627\u0636\u06CC*: \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0627 \u062E\u0648\u0627\u0646\u062F\u0646 \u06CC\u06A9 \u0645\u0639\u0627\u062F\u0644\u0647 \u0645\u0634\u06A9\u0644\u06CC \u062F\u0627\u0631\u06CC\u062F\u060C MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 \u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0628\u0647 \u062F\u06CC\u062F\u0646 \u0634\u0645\u0627 \u06A9\u0645\u06A9 \u06A9\u0646\u062F.", + Accessibilty: "*\u062F\u0633\u062A\u06CC\u0627\u0628\u06CC\u200C\u067E\u0630\u06CC\u0631\u06CC*: MathJax \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u062E\u0648\u062F\u06A9\u0627\u0631 \u0628\u0627 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u0628\u0631\u0627\u06CC \u0642\u0627\u0628\u0644 \u062F\u0633\u062A\u0631\u0633 \u0628\u0631\u0627\u06CC \u06A9\u0633\u0627\u0646\u06CC \u06A9\u0647 \u0645\u0634\u06A9\u0644 \u0628\u06CC\u0646\u0627\u06CC\u06CC \u062F\u0627\u0631\u0646\u062F \u0639\u0645\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F.", + Fonts: "*\u0642\u0644\u0645\u200C\u0647\u0627*: MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u0634\u062E\u0635\u06CC \u0627\u06AF\u0631 \u0628\u0631 \u0631\u0648\u06CC \u0631\u0627\u06CC\u0627\u0646\u0647\u0654 \u0634\u0645\u0627 \u0646\u0635\u0628 \u0628\u0627\u0634\u0646\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F\u061B \u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0628\u0631 \u067E\u0627\u06CC\u0647\u0654 \u0648\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0627\u06AF\u0631\u0686\u0647 \u0646\u06CC\u0627\u0632\u06CC \u0646\u06CC\u0633\u062A\u060C \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0646\u0635\u0628\u200C\u0634\u062F\u0647 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0645\u0627 \u0646\u0635\u0628 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0631\u0627 \u067E\u06CC\u0634\u0646\u0647\u0627\u062F \u0645\u06CC\u200C\u06A9\u0646\u06CC\u0645." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathML.js new file mode 100644 index 00000000..31367689 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/fa/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", + BadMglyphFont: "\u0642\u0644\u0645 \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", + MathPlayer: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A MathPlayer \u0631\u0627 \u0631\u0627\u0647\u200C\u0627\u0646\u062F\u0627\u0632\u06CC \u06A9\u0646\u062F.\n\n\u0627\u06AF\u0631 MathPlayer \u0646\u0635\u0628 \u0646\u06CC\u0633\u062A\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u062F\u0627\u0631\u06CC\u062F \u06A9\u0647 \u0627\u0628\u062A\u062F\u0627 \u0622\u0646 \u0631\u0627 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F.\n\u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A\u060C \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u0634\u0645\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 \u0627\u062C\u0631\u0627\u06CC\n\u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633 \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F. \u0627\u0632 \u06AF\u0632\u06CC\u0646\u0647\u200C\u0647\u0627\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0645\u0648\u062C\u0648\u062F \u0632\u06CC\u0631\n\u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u0628\u0631\u06AF\u0647\u0654 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F\u060C \u0633\u067E\u0633 \u062F\u06A9\u0645\u0647\u0654\n\u0645\u0631\u062C\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u0631\u0627 \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F. \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u062C\u0631\u0627\u06CC\n\u00AB\u0627\u062C\u0631\u0627\u06CC \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\u00BB \u0648 \u00AB\u0631\u0641\u062A\u0627\u0631\u0647\u0627\u06CC \u062F\u0648\u062F\u0648\u06CC\u06CC \u0648 \u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u00BB \u0641\u0639\u0627\u0644\n\u0647\u0633\u062A\u0646\u062F.\n\n\u062F\u0631 \u062D\u0627\u0644 \u062D\u0627\u0636\u0631 \u0634\u0645\u0627 \u0628\u0647 \u062C\u0627\u06CC \u062D\u0631\u0648\u0641 \u0631\u06CC\u0627\u0636\u06CC \u067E\u06CC\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627\u06CC \u062E\u0648\u0627\u0647\u06CC\u062F \u062F\u06CC\u062F.", + CantCreateXMLParser: "MathJax \u0646\u062A\u0648\u0627\u0633\u062A \u06CC\u06A9 \u062A\u062C\u0632\u06CC\u0647\u200C\u06AF\u0631 \u0627\u06A9\u0633\u200C\u0627\u0645\u200C\u0627\u0644 \u0628\u0631\u0627\u06CC MathML \u0627\u06CC\u062C\u0627\u062F \u06A9\u0646\u062F.\n\u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u00AB\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\n\u0639\u0644\u0627\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC\u200C\u0634\u062F\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u0645\u0646 \u0628\u0631\u0627\u06CC \u06A9\u062F\u0632\u0646\u06CC\u00BB \u0641\u0639\u0627\u0644 \u0627\u0633\u062A (\u0627\u0632\n\u06AF\u0632\u06CC\u0646\u0647\u0654 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u06AF\u0632\u06CC\u0646\u0647 \u062F\u0631 \u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u067E\u0646\u0644 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628\n\u06A9\u0646\u06CC\u062F \u0648 \u062F\u06A9\u0645\u0647\u0654 \u0645\u0631\u062D\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u062A\u0627 \u0627\u06CC\u0646 \u0631\u0627 \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F).\n\n\u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC MathML \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u0646\u062F \u062A\u0648\u0633\u0637 MathJax \u067E\u0631\u062F\u0627\u0632\u0634 \u06AF\u0631\u062F\u0646\u062F.", + UnknownNodeType: "\u0646\u0648\u0639 \u06AF\u0631\u0647\u0654 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647: %1", + UnexpectedTextNode: "\u06AF\u0631\u0647\u0654 \u0645\u062A\u0646\u06CC \u063A\u06CC\u0631\u0645\u0646\u062A\u0638\u0631\u0647:\u200C %1", + ErrorParsingMathML: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML", + ParsingError: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML\u200F: %1", + MathMLSingleElement: "MathML \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0648\u0627\u062D\u062F \u0628\u06CC\u0627\u06CC\u062F", + MathMLRootElement: "MathML \u0628\u0627\u06CC\u062F \u062A\u0648\u0633\u0637 \u0639\u0646\u0635\u0631 \u003Cmath\u003E \u062A\u0634\u06A9\u06CC\u0644 \u0634\u062F\u0647 \u0628\u0627\u0634\u062F \u0646\u0647 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathMenu.js new file mode 100644 index 00000000..2a444a5c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathMenu.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/localization/fa/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u0639\u0646\u0648\u0627\u0646", + MathMLcode: "\u06A9\u062F MathML", + OriginalMathML: "MathML \u0627\u0635\u0644\u06CC", + TeXCommands: "\u062F\u0633\u062A\u0648\u0631\u0627\u062A \u062A\u06A9", + AsciiMathInput: "\u0648\u0631\u0648\u062F\u06CC AsciiMathML", + Original: "\u062D\u0627\u0644\u062A \u0627\u0635\u0644\u06CC", + ErrorMessage: "\u067E\u06CC\u0627\u0645 \u062E\u0637\u0627", + Annotation: "\u06CC\u0627\u062F\u062F\u0627\u0634\u062A", + TeX: "\u062A\u06A9", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML \u0645\u062D\u062A\u0648\u0627", + OpenMath: "OpenMath", + texHints: "\u0646\u0645\u0627\u06CC\u0634 \u0646\u06A9\u062A\u0647\u200C\u0647\u0627\u06CC \u062A\u06A9 \u062F\u0631 MathML", + Settings: "\u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A", + ZoomTrigger: "\u0645\u0627\u0634\u0647\u0654 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + Hover: "\u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC \u0622\u0646", + Click: "\u06A9\u0644\u06CC\u06A9", + DoubleClick: "\u062F\u0648\u0628\u0627\u0631 \u06A9\u0644\u06CC\u06A9", + NoZoom: "\u0628\u062F\u0648\u0646 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + TriggerRequires: "\u062A\u063A\u06CC\u06CC\u0631 \u062D\u0627\u0644\u062A \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A \u0628\u0647:", + Option: "\u06AF\u0632\u06CC\u0646\u0647", + Alt: "\u062F\u06AF\u0631\u0633\u0627\u0632", + Command: "\u062F\u0633\u062A\u0648\u0631", + Control: "\u0645\u0647\u0627\u0631", + Shift: "\u062A\u0628\u062F\u06CC\u0644", + ZoomFactor: "\u0636\u0631\u06CC\u0628 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + Renderer: "\u0627\u0631\u0627\u0626\u0647\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC", + MPHandles: "\u0627\u062C\u0627\u0632\u0647\u200C\u0628\u062F\u0647 MathPlayer \u0645\u062F\u06CC\u0631\u06CC\u062A \u06A9\u0646\u062F:", + MenuEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0646\u0648", + MouseEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647", + MenuAndMouse: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0648 \u0645\u0646\u0648", + FontPrefs: "\u062A\u0631\u062C\u06CC\u062D\u0627\u062A \u0642\u0644\u0645", + ForHTMLCSS: "\u0628\u0631\u0627\u06CC \u0627\u0686\u200C\u062A\u06CC\u200C\u0627\u0645\u200C\u0627\u0644-\u0633\u06CC\u200C\u0627\u0633\u200C\u0627\u0633:", + Auto: "\u062E\u0648\u062F\u06A9\u0627\u0631", + TeXLocal: "\u062A\u06A9 (\u0645\u062D\u0644\u06CC)", + TeXWeb: "\u062A\u06A9 (\u0648\u0628)", + TeXImage: "\u062A\u06A9 (\u0646\u06AF\u0627\u0631\u0647)", + STIXLocal: "STIX (\u0645\u062D\u0644\u06CC)", + STIXWeb: "STIX (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + AsanaMathWeb: "\u0631\u06CC\u0627\u0636\u06CC \u0622\u0633\u0627\u0646\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + GyrePagellaWeb: "\u06AF\u0631\u06CC \u067E\u0627\u06AF\u0644\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + GyreTermesWeb: "\u06AF\u06CC\u0631 \u062A\u0631\u0645\u0632 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + LatinModernWeb: "\u0644\u0627\u062A\u06CC\u0646 \u0645\u062F\u0631\u0646 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + NeoEulerWeb: "\u0646\u0626\u0648 \u0627\u0648\u06CC\u0644\u0631 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + ContextMenu: "\u0645\u0646\u0648 \u0645\u062A\u0646\u06CC", + Browser: "\u0645\u0631\u0648\u0631\u06AF\u0631", + Scale: "\u0645\u0642\u06CC\u0627\u0633\u200C\u062F\u0647\u06CC \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A ...", + Discoverable: "\u0628\u0631\u062C\u0633\u062A\u0647\u200C\u0634\u062F\u0646 \u0628\u0627 \u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC\u0634", + Locale: "\u0632\u0628\u0627\u0646", + LoadLocale: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC ...", + About: "\u062F\u0631\u0628\u0627\u0631\u0647\u0654 MathJax", + Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", + localTeXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 \u0645\u062D\u0644\u06CC", + webTeXfonts: "\u0628\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645 \u0648\u0628\u06CC \u062A\u06A9", + imagefonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC", + localSTIXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX \u0645\u062D\u0644\u06CC", + webSVGfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC SVG", + genericfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0639\u0645\u0648\u0645\u06CC \u06CC\u0648\u0646\u06CC\u06A9\u062F", + wofforotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC woff \u06CC\u0627 otf", + eotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC eot", + svgfonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC svg", + WebkitNativeMMLWarning: "\u0628\u0647 \u0646\u0638\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathML \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F\u060C \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0631\u0641\u062A\u0646 \u0628\u0647 \u062D\u0627\u0644\u062A \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0635\u0641\u062D\u0647 \u063A\u06CC\u0631\u0642\u0627\u0628\u0644 \u062E\u0648\u0627\u0646\u062F\u0646 \u0634\u0648\u0646\u062F.", + MSIENativeMMLWarning: "\u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0628\u0647 \u0627\u0641\u0632\u0627\u06CC\u0647\u0654 MathPlayer \u0628\u0631\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u062E\u0631\u0648\u062C\u06CC MathML \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A.", + OperaNativeMMLWarning: "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0627\u067E\u0631\u0627 \u0627\u0632 MathML \u0645\u062D\u062F\u0648\u062F \u0627\u0633\u062A \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0646\u0645\u0627\u06CC\u0634 \u0636\u0639\u06CC\u0641 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0634\u0648\u062F.", + SafariNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u0627\u062A \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0646\u062F.", + FirefoxNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647\u0654 MathML \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u062F\u06CC\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + MSIESVGWarning: "SVG \u062F\u0631 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0642\u0628\u0644 \u0627\u0632 \u0646\u0633\u062E\u0647\u0654 \u06F9 \u0622\u0646 \u06CC\u0627 \u0648\u0642\u062A\u06CC \u06A9\u0647 \u0634\u0628\u06CC\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0642\u0628\u0644\u06CC \u0631\u0627 \u0645\u06CC\u200C\u06A9\u0646\u062F \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A. \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC SVG \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0634\u0648\u062F \u06A9\u0647 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + LoadURL: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647 \u0627\u0632 \u0627\u06CC\u0646 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC:", + BadURL: "\u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0628\u0631\u0627\u06CC \u067E\u0631\u0648\u0646\u062F\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC MathJax \u0631\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u067E\u0631\u0648\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u0628\u0627 \u067E\u0633\u0648\u0646\u062F '.js' \u062A\u0645\u0627\u0645 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F.", + BadData: "\u0634\u06A9\u0633\u062A \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC \u0627\u0632 %1", + SwitchAnyway: "(\u0628\u0631 \u00AB\u0628\u0627\u0634\u062F\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u0648\u062F \u0648 \u0628\u0631 \u00AB\u0644\u063A\u0648\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0646\u0645\u0627\u06CC\u0634\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0641\u0639\u0644\u06CC \u0627\u062F\u0627\u0645\u0647 \u06CC\u0627\u0628\u062F)", + ScaleMath: "\u0645\u0642\u06CC\u0627\u0633 \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A (\u062F\u0631 \u0645\u0642\u0627\u06CC\u0633\u0647 \u0628\u0627 \u0645\u062A\u0646 \u0627\u0637\u0631\u0627\u0641) \u062A\u0648\u0633\u0637", + NonZeroScale: "\u0645\u0642\u06CC\u0627\u0633 \u0646\u0628\u0627\u06CC\u062F \u0635\u0641\u0631 \u0628\u0627\u0634\u062F", + PercentScale: "\u0645\u0642\u06CC\u0627\u0633 \u0628\u0627\u06CC\u062F \u062F\u0631\u0635\u062F\u06CC \u0628\u0627\u0634\u062F (\u0628\u0631\u0627\u06CC \u0646\u0645\u0648\u0646\u0647 \u06F1\u06F2\u06F0\u066A)", + IE8warning: "\u0627\u06CC\u0646 \u0645\u0646\u0648\u06CC MathJax \u0648 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u0627 \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0622\u0648\u0631\u06CC\u062F.\n\n\u0648\u0627\u0642\u0639\u0627\u064B \u0645\u06CC\u200C\u062E\u0648\u0627\u0647\u06CC\u062F \u062A\u0646\u0638\u06CC\u0645\u0627\u062A MathPlayer \u0631\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u062F\u0647\u06CC\u062F\u061F", + IE9warning: "\u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC MathJax \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u062E\u0648\u0627\u0647\u062F \u0634\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0628\u06CC\u0627\u0648\u0631\u06CC\u062F.", + NoOriginalForm: "\u062D\u0627\u0644\u062A \u0627\u0648\u0644\u0628\u0647 \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A", + Close: "\u0628\u0633\u062A\u0646", + EqSource: "\u0645\u0646\u0628\u0639 \u0645\u0639\u0627\u062F\u0644\u0647\u0654 MathJax" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/TeX.js new file mode 100644 index 00000000..321aa2e9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/fa/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647", + ExtraCloseMissingOpen: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u0647 \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632", + MissingLeftExtraRight: "\u0641\u0642\u062F\u0627\u0646 \u200E\\left \u06CC\u0627 \u200E\\right \u0627\u0636\u0627\u0641\u06CC", + MissingScript: "\u0641\u0642\u062F\u0627\u0646 \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0627\u0644\u0627\u0645\u062A\u0646 \u06CC\u0627 \u0632\u06CC\u0631\u0645\u062A\u0646", + ExtraLeftMissingRight: "\u200E\\left \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u200E\\right", + Misplaced: "%1 \u0646\u0627\u0628\u062C\u0627", + MissingOpenForSub: "\u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0628\u0631\u0627\u06CC \u0632\u06CC\u0631\u0645\u062A\u0646", + MissingOpenForSup: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0628\u0627\u0644\u0627\u0645\u062A\u0646", + AmbiguousUseOf: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0645\u0628\u0647\u0645 \u0627\u0632 \u200E%1", + EnvBadEnd: "\u200E\\begin{%1}\u200E \u067E\u0627\u06CC\u0627\u0646\u200C\u06CC\u0627\u0641\u062A\u0647 \u0628\u0627 \u200E\\end{%2}\u200E", + EnvMissingEnd: "\u200E\\end{%1}\u200E \u06AF\u0645\u200C\u0634\u062F\u0647", + MissingBoxFor: "\u062C\u0639\u0628\u0647\u0654 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + MissingCloseBrace: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0645\u0641\u0642\u0648\u062F", + UndefinedControlSequence: "\u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644 \u062A\u0639\u0631\u06CC\u0641\u200C\u0646\u0634\u062F\u0647\u0654 %1", + DoubleExponent: "\u062A\u0648\u0627\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleSubscripts: "\u0632\u06CC\u0631\u0645\u062A\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleExponentPrime: "\u062A\u0648\u0627\u0646 \u062F\u0648 \u0645\u0648\u062C\u0628 \u062A\u0648\u0627\u0646 \u0645\u0636\u0627\u0639\u0641 \u0634\u062F: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + CantUseHash1: "\u0634\u0645\u0627 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u00AB\u0645\u0627\u06A9\u0631\u0648 \u0646\u0648\u06CC\u0633\u0647\u0654 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 #\u00BB \u062F\u0631 \u062D\u0627\u0644\u062A \u0631\u06CC\u0627\u0636\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + MisplacedMiddle: "\u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0631\u0648\u0646 \u200E\\left \u0648 \u200E\\right \u0646\u0648\u0634\u062A\u0647\u200C\u0634\u0648\u062F", + MisplacedLimits: "\u200E%1 \u0641\u0642\u0637 \u062F\u0631 \u0639\u0645\u0644\u06AF\u0631\u0647\u0627 \u0645\u062C\u0627\u0632 \u0627\u0633\u062A", + MisplacedMoveRoot: "\u200E%1 \u062A\u0646\u0647\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062F\u0631\u0648\u0646 \u06CC\u06A9 \u0631\u06CC\u0634\u0647 \u0638\u0627\u0647\u0631 \u0634\u0648\u062F", + MultipleCommand: "\u200E%1 \u0686\u0646\u062F\u06AF\u0627\u0646\u0647", + IntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u0628\u0627\u0634\u062F", + NotMathMLToken: "%1 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0646\u0634\u0627\u0646 \u0646\u06CC\u0633\u062A", + InvalidMathMLAttr: "\u0648\u06CC\u0698\u06AF\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 MathML: %1", + UnknownAttrForElement: "%1 \u06CC\u06A9 \u0648\u06CC\u0698\u06AF\u06CC \u0634\u0646\u0627\u062E\u062A\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %2 \u0646\u06CC\u0633\u062A", + MaxMacroSub1: "\u0627\u0632 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u0634\u0645\u0627\u0631 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u0647\u0627\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + MaxMacroSub2: "\u0627\u0632 \u0634\u0645\u0627\u0631 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u062A\u0639\u062F\u0627\u062F \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0645\u062D\u06CC\u0637 \u0644\u06CC\u062A\u06A9 \u0628\u0627\u0632\u0634\u062A\u06AF\u06CC \u0645\u0648\u062C\u0648\u062F \u0627\u0633\u062A\u061F", + MissingArgFor: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + ExtraAlignTab: "\u0628\u0631\u06AF\u0647\u0654 \u0686\u06CC\u0646\u0634 \u0627\u0636\u0627\u0641\u06CC \u062F\u0631 \u0645\u062A\u0646 \u200E\\cases", + BracketMustBeDimension: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0628\u0639\u062F \u0628\u0627\u0634\u062F", + InvalidEnv: " \u0646\u0627\u0645 \u0645\u062D\u06CC\u0637 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u00AB%1\u00BB", + UnknownEnv: "\u0645\u062D\u06CC\u0637 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u00AB%1\u00BB", + ExtraCloseLooking: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u06CC \u0647\u0646\u06AF\u0627\u0645 \u062C\u0633\u062A\u062C\u0648\u06CC %1", + MissingCloseBracket: "\u00AB]\u00BB \u0628\u0633\u062A\u0647 \u0628\u0631\u0627\u06CC \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MissingOrUnrecognizedDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647 \u06AF\u0645\u200C\u0634\u062F\u0647 \u06CC\u0627 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + MissingDimOrUnits: "\u0627\u0628\u0639\u0627\u062F \u06CC\u0627 \u0648\u0627\u062D\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + TokenNotFoundForCommand: "%1 \u0628\u0631\u0627\u06CC %2 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MathNotTerminated: "\u0631\u06CC\u0627\u0636\u06CC \u062F\u0631 \u062C\u0639\u0628\u0647\u0654 \u0645\u062A\u0646 \u067E\u0627\u06CC\u0627\u0646 \u0646\u06CC\u0627\u0641\u062A\u0647\u200C\u0627\u0633\u062A", + IllegalMacroParam: "\u0627\u0631\u062C\u0627\u0639 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u0645\u0627\u06A9\u0631\u0648\u06CC \u0646\u0627\u0645\u062C\u0627\u0632", + MaxBufferSize: "\u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u06CC\u0627\u0646\u06AF\u06CC\u0631 \u062F\u0627\u062E\u0644\u06CC MathJax \u06AF\u0630\u0634\u062A\u0647 \u0634\u062F\u0647\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + CommandNotAllowedInEnv: "\u200E%1 \u062F\u0631 \u0645\u062D\u06CC\u0637 \u200E%2 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A", + MultipleLabel: "\u0628\u0631\u0686\u0633\u067E \u00AB%1\u00BB \u0686\u0646\u062F\u0628\u0627\u0631 \u062A\u0639\u0631\u06CC\u0641\u200C\u0634\u062F\u0647", + CommandAtTheBeginingOfLine: "%1 \u0628\u0627\u06CC\u062F \u062F\u0631 \u0634\u0631\u0648\u0639 \u062E\u0637 \u0628\u06CC\u0627\u06CC\u062F", + IllegalAlign: "\u0686\u06CC\u0646\u0634 \u0645\u0634\u062E\u0635\u200C\u0634\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u062F\u0631 \u200E%1", + BadMathStyleFor: "\u0633\u0628\u06A9 \u0628\u062F \u0631\u06CC\u0627\u0636\u06CC \u0628\u0631\u0627\u06CC \u200E%1", + PositiveIntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0647 \u200E%1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u0639\u062F\u062F \u0645\u062B\u0628\u062A \u0628\u0627\u0634\u062F", + ErroneousNestingEq: "\u0633\u0627\u062E\u062A\u0627\u0631\u0647\u0627\u06CC \u0627\u0634\u062A\u0628\u0627\u0647 \u062A\u0648\u062F\u0631\u062A\u0648\u06CC \u0645\u0639\u0627\u062F\u0644\u0647", + MultlineRowsOneCol: "\u0633\u0637\u0631 \u062F\u0631\u0648\u0646 \u0645\u062D\u06CC\u0637 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0642\u06CC\u0642\u0627\u064B \u06CC\u06A9 \u0633\u062A\u0648\u0646 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F", + MultipleBBoxProperty: "%1 \u062F\u0648\u0628\u0627\u0631 \u062F\u0631 \u200E%2 \u062A\u0639\u0631\u06CC\u0641 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + InvalidBBoxProperty: "'%1' \u0628\u0647 \u0646\u0638\u0631 \u06CC\u06A9 \u0631\u0646\u06AF\u060C \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0628\u0627\u0644\u0634\u062A\u06A9 \u06CC\u0627 \u0633\u0628\u06A9 \u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06CC\u200C\u0631\u0633\u062F", + ExtraEndMissingBegin: "\u200E%1 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \\begingroup \u06AF\u0645\u200C\u0634\u062F\u0647", + GlobalNotFollowedBy: "\u200E%1 \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u200E\\let\u060C \u200E\\def \u06CC\u0627 \u200E\\newcommand \u0646\u06CC\u0627\u0645\u062F\u0647\u200C\u0627\u0633\u062A", + UndefinedColorModel: "\u0645\u062F\u0644 \u0631\u0646\u06AF\u06CC '%1' \u062A\u0639\u0631\u06CC\u0641 \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A", + ModelArg1: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u06F3 \u0639\u062F\u062F \u0627\u0633\u062A", + InvalidDecimalNumber: "\u0639\u062F\u062F \u0627\u0639\u0634\u0627\u0631\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + ModelArg2: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u0628\u06CC\u0646 %2 \u0648 %3 \u0628\u0627\u0634\u062F", + InvalidNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + NewextarrowArg1: "\u0646\u0634\u0627\u0648\u0646\u062F \u0627\u0648\u0644 \u0628\u0647 \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0646\u0627\u0645 \u06A9\u0646\u062A\u0631\u0644\u06CC \u062F\u0646\u0628\u0627\u0644\u0647 \u0628\u0627\u0634\u062F", + NewextarrowArg2: "\u0646\u0634\u0646\u0627\u0648\u0646\u062F \u062F\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u062F\u0648 \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u062C\u062F\u0627 \u0634\u062F\u0647 \u0628\u0627 \u06CC\u06A9 \u06A9\u0627\u0645\u0627 \u0628\u0627\u0634\u062F", + NewextarrowArg3: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0633\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u06CC\u06A9 \u0646\u0648\u06CC\u0633\u0647\u0654 \u06CC\u0648\u0646\u06CC\u06A9\u062F \u0628\u0627\u0634\u062F", + NoClosingChar: "%1 \u0628\u0633\u062A\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + IllegalControlSequenceName: "\u0646\u0627\u0645 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u0631\u0627\u06CC \u200E%1 \u0646\u0627\u0645\u062C\u0627\u0632", + IllegalParamNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u062C\u0627\u0632 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u062F\u0631 \u200E%1 \u0645\u0634\u062E\u0635 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + MissingCS: "\u200E%1 \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u06CC\u0627\u06CC\u062F", + CantUseHash2: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u0627\u0632 # \u062F\u0631 \u0627\u0644\u06AF\u0648 \u0628\u0631\u0627\u06CC %1", + SequentialParam: "\u067E\u0627\u0631\u0627\u0645\u062A\u0631\u0647\u0627 \u0628\u0631\u0627\u06CC %1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u0639\u062F\u062F\u06CC \u0628\u0627\u0634\u062F", + MissingReplacementString: "\u0631\u0634\u062A\u0647\u0654 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u06CC\u0641 \u200E%1", + MismatchUseDef: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u200E%1 \u0628\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0622\u0646 \u062A\u0637\u0628\u06CC\u0642 \u0646\u062F\u0627\u0631\u062F", + RunawayArgument: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0641\u0631\u0627\u0631 \u0628\u0631\u0627\u06CC \u200E%1\u061F", + NoClosingDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647\u0654 \u0628\u0633\u062A\u0646 \u0628\u0631\u0627\u06CC \u200E%1 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/fa.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/fa.js new file mode 100644 index 00000000..025a4157 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/fa.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/fa/fa.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa",null,{ + menuTitle: "\u0641\u0627\u0631\u0633\u06CC", + fontDirection: "rtl", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u06CC\u06A9 \u06A9\u0644\u0648\u0686\u06A9 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u06A9\u0627\u0631\u0628\u0631\u06CC \u06CC\u0627\u0641\u062A \u06A9\u0647 \u0634\u0627\u0645\u0644 \u06A9\u062F \u0627\u062C\u0631\u0627\u06CC\u06CC \u0627\u0633\u062A. \u0622\u06CC\u0627 \u0645\u06CC\u200C\u062E\u0648\u0627\u0647\u06CC\u062F \u0622\u0646 \u0631\u0627 \u0627\u062C\u0631\u0627 \u06A9\u0646\u06CC\u062F\u061F\n\n(\u0628\u0647\u062A\u0631 \u0627\u0633\u062A \u0628\u0631 \u0644\u063A\u0648 \u0628\u0641\u0634\u0627\u0631\u06CC\u062F \u0645\u06AF\u0631 \u0627\u06CC\u0646\u06A9\u0647 \u062E\u0648\u062F\u062A\u0627\u0646 \u06A9\u0644\u0648\u0686\u06A9 \u0631\u0627 \u062A\u0646\u0638\u06CC\u0645\u200C\u06A9\u0631\u062F\u0647\u200C\u0627\u06CC\u062F.)", + MathProcessingError: "\u062E\u0637\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC", + MathError: "\u062D\u0637\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC", + LoadFile: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC %1", + Loading: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC", + LoadFailed: "\u062E\u0637\u0627 \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u067E\u0631\u0648\u0646\u062F\u0647: %1", + ProcessMath: "\u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Processing: "\u067E\u0631\u062F\u0627\u0632\u0634", + TypesetMath: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Typesetting: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC", + MathJaxNotSupported: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathJax \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/fa.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/FontWarnings.js new file mode 100644 index 00000000..b61ac4cc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/fi/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HTML-CSS.js new file mode 100644 index 00000000..c77b2ebb --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/fi/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HelpDialog.js new file mode 100644 index 00000000..03d0d520 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/fi/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathML.js new file mode 100644 index 00000000..cdfee6dc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/fi/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathMenu.js new file mode 100644 index 00000000..a0e70ea0 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathMenu.js @@ -0,0 +1,82 @@ +/************************************************************* + * + * MathJax/localization/fi/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + MathMLcode: "MathML-koodi", + OriginalMathML: "Alkuper\u00E4inen MathML", + TeXCommands: "TeX-komennot", + AsciiMathInput: "AsciiMathML-sy\u00F6te", + Original: "Alkuper\u00E4inen muoto", + ErrorMessage: "Virheviesti", + Annotation: "Huomautus", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "N\u00E4yt\u00E4 TeX-vihjeet MathML:ss\u00E4", + Settings: "Matematiikan asetukset", + ZoomTrigger: "Loitonnustapa", + Hover: "Kursorin vienti ylle", + Click: "Napsautus", + DoubleClick: "Kaksoisnapsautus", + NoZoom: "Ei loitonnustapaa", + TriggerRequires: "Tapa vaatii:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Loitonnuskerroin", + MPHandles: "Anna MathPlayerin k\u00E4sitell\u00E4", + MenuEvents: "Valikkotapahtumat", + MouseEvents: "Hiiritapahtumat", + MenuAndMouse: "Hiiri- ja valikkotapahtumat", + FontPrefs: "Kirjasinasetukset", + ForHTMLCSS: "HTML-CSS:lle:", + Auto: "Automaattinen", + TeXLocal: "TeX (paikallinen)", + TeXWeb: "TeX (verkko)", + TeXImage: "TeX (kuva)", + STIXLocal: "STIX (paikallinen)", + ContextMenu: "Ponnahdusvalikko", + Browser: "Selain", + Scale: "Skaalaa kaikki matematiikka...", + Discoverable: "Korosta kun kursori tuodaan ylle", + Locale: "Kieli", + LoadLocale: "Lataa osoitteesta...", + About: "Tietoja MathJaxista", + Help: "MathJaxin ohje", + localTeXfonts: "k\u00E4ytt\u00E4en paikallisia TeX-kirjasimia", + webTeXfonts: "k\u00E4ytt\u00E4en verkon TeX-kirjasimia", + imagefonts: "K\u00E4ytt\u00E4en kuvakirjasimia", + localSTIXfonts: "k\u00E4ytt\u00E4en paikallisia STIX-kirjasimia", + webSVGfonts: "k\u00E4ytt\u00E4en verkon SVG-kirjasimia", + genericfonts: "k\u00E4ytt\u00E4en geneerisi\u00E4 unicode-kirjasimia", + wofforotffonts: "woff- tai otf-kirjasimia", + eotffonts: "eot-kirjasimia", + svgfonts: "svg-kirjasimia", + Close: "Sulje" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/TeX.js new file mode 100644 index 00000000..2fcddbfb --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/fi/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/fi.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/fi.js new file mode 100644 index 00000000..43a8c129 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/fi.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/fi/fi.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi",null,{ + menuTitle: "suomi", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax on l\u00F6yt\u00E4nyt ev\u00E4steen, joka sis\u00E4lt\u00E4\u00E4 asetuksia ja ohjelmakoodia. Haluatko ajaa sen?\n\n(Peru, ellet ole luonut ev\u00E4stett\u00E4 itse.)", + MathProcessingError: "Matematiikan k\u00E4sittely ep\u00E4onnistui", + MathError: "Matematiikkavirhe", + LoadFile: "Ladataan tiedostoa %1", + Loading: "Ladataan", + LoadFailed: "Tiedoston %1 lataaminen ep\u00E4onnistui", + ProcessMath: "K\u00E4sitell\u00E4\u00E4n matematiikkaa: %1%%", + Processing: "K\u00E4sitell\u00E4\u00E4n", + TypesetMath: "Ladotaan matematiikkaa: %1%%", + Typesetting: "Ladotaan", + MathJaxNotSupported: "Selaimesi ei tue MathJaxia" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/fi.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/FontWarnings.js new file mode 100644 index 00000000..7c097073 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/fr/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax utilise les polices web pour afficher les expressions math\u00E9matiques sur cette page. Celles-ci mettent du temps \u00E0 \u00EAtre t\u00E9l\u00E9charg\u00E9es et la page serait affich\u00E9e plus rapidement si vous installiez les polices math\u00E9matiques directement dans le dossier des polices de votre syst\u00E8me.", + imageFonts: "MathJax utilise des images de caract\u00E8res plut\u00F4t que les polices web ou locales. Ceci rend le rendu plus lent que la normale et les expressions math\u00E9matiques peuvent ne pas s'imprimer \u00E0 la r\u00E9solution maximale de votre imprimante", + noFonts: "MathJax est incapable de localiser une police \u00E0 utiliser pour afficher ses math\u00E9matiques, et les polices image ne sont pas disponibles, donc il doit se rabattre sur les caract\u00E8res unicode en esp\u00E9rant que votre navigateur pourra les afficher. Certains caract\u00E8res peuvent ne pas s\u2019afficher correctement, voire m\u00EAme pas du tout.", + webFonts: "La plupart des navigateurs modernes permettent de t\u00E9l\u00E9charger des polices depuis le web. Mettre \u00E0 jour votre navigateur (ou changer de navigateur) pourrait am\u00E9liorer la qualit\u00E9 des math\u00E9matiques sur cette page.", + fonts: "MathJax peut utiliser soit les [polices STIX](%1) soit les [polices TeX MathJax](%2). T\u00E9l\u00E9chargez et installez une de ces polices pour am\u00E9liorer votre exp\u00E9rience avec MathJax.", + STIXPage: "Cette page est con\u00E7ue pour utiliser les [polices STIX](%1). T\u00E9l\u00E9chargez et installez ces polices pour am\u00E9liorer votre exp\u00E9rience avec MathJax.", + TeXPage: "Cette page est con\u00E7ue pour utiliser les [polices TeX MathJax](%1). T\u00E9l\u00E9chargez et installez ces polices pour am\u00E9liorer votre exp\u00E9rience avec MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HTML-CSS.js new file mode 100644 index 00000000..db2fb60e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/fr/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "T\u00E9l\u00E9chargement de la police web %1", + CantLoadWebFont: "Impossible de t\u00E9l\u00E9charger la police web %1", + FirefoxCantLoadWebFont: "Firefox ne peut pas charger les polices web depuis un h\u00F4te distant", + CantFindFontUsing: "Impossible de trouver une police valide en utilisant %1", + WebFontsNotAvailable: "Polices web non disponibles. Les polices image seront utilis\u00E9es \u00E0 la place" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HelpDialog.js new file mode 100644 index 00000000..82f65070 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/fr/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Aide MathJax", + MathJax: "*MathJax* est une biblioth\u00E8que JavaScript qui permet aux auteurs de pages d\u2019inclure des math\u00E9matiques dans leurs pages web. En tant que lecteur, vous n\u2019avez rien besoin de faire pour que cela fonctionne.", + Browsers: "*Navigateurs*: MathJax fonctionne avec tous les navigateurs modernes y compris Internet Explorer 6, Firefox 3, Chrome 0.2, Safari 2, Opera 9.6 et leurs versions sup\u00E9rieures ainsi que la plupart des navigateurs pour mobiles et tablettes.", + Menu: "*Menu math*: MathJax ajoute un menu contextuel aux \u00E9quations. Cliquez-droit ou Ctrl-cliquez sur n\u2019importe quelle formule math\u00E9matique pour acc\u00E9der au menu.", + ShowMath: "*Afficher les maths comme* vous permet d\u2019afficher le balisage source de la formule pour copier-coller (comme MathML ou dans son format d\u2019origine).", + Settings: "*Param\u00E8tres* vous donne le contr\u00F4le sur les fonctionnalit\u00E9s de MathJax, comme la taille des math\u00E9matiques, et le m\u00E9canisme utilis\u00E9 pour afficher les \u00E9quations.", + Language: "*Langue* vous laisse s\u00E9lectionner la langue utilis\u00E9e par MathJax pour ses menus et ses messages d\u2019avertissement.", + Zoom: "*Zoom des maths*: Si vous avez des difficult\u00E9s \u00E0 lire une \u00E9quation, MathJax peut l\u2019agrandir pour vous aider \u00E0 mieux la voir.", + Accessibilty: "*Accessibilit\u00E9*: MathJax travaillera automatiquement avec les lecteurs d\u2019\u00E9cran pour rendre les math\u00E9matiques accessibles aux malvoyants.", + Fonts: "*Polices*: MathJax utilisera certaines polices math\u00E9matiques si elles sont install\u00E9es sur votre ordinateur\u202F; sinon, il utilisera les polices trouv\u00E9es sur le web. Bien que ce ne soit pas obligatoire, des polices install\u00E9es localement acc\u00E9l\u00E9reront la composition. Nous vous sugg\u00E9rons d\u2019installer les [polices STIX](%1).", + CloseDialog: "Fermer la bo\u00EEte de dialogue d\u2019aide" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathML.js new file mode 100644 index 00000000..04090bd6 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/fr/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u00C9lement mglyph incorrect: %1", + BadMglyphFont: "Police non valide : %1", + MathPlayer: "MathJax n\u2019a pas pu configurer MathPlayer.\n\nSi MathPlayer n\u2019est pas install\u00E9, vous devez d\u2019abord le faire.\nSinon, il se peut que vos param\u00E8tres de s\u00E9curit\u00E9 emp\u00EAchent l\u2019ex\u00E9cution des contr\u00F4les ActiveX. Utilisez l\u2019entr\u00E9e Options Internet sous le menu Outils et s\u00E9lectionnez l\u2019onglet S\u00E9curit\u00E9, puis cliquez le bouton \u00AB Personnaliser le niveau \u00BB. V\u00E9rifiez que les param\u00E8tres pour 'Ex\u00E9cuter les contr\u00F4les ActiveX', et 'Comportement de fichiers binaires et des scripts' sont activ\u00E9s.\n\nPour le moment, vous verrez des messages d\u2019erreur au lieu de textes math\u00E9matiques.", + CantCreateXMLParser: "MathJax ne peut pas cr\u00E9er un analyseur XML pour MathML. V\u00E9rifiez que l\u2019option de s\u00E9curit\u00E9 'Contr\u00F4les ActiveX reconnus s\u00FBrs pour l\u2019\u00E9criture de scripts' est activ\u00E9e (utilisez l\u2019entr\u00E9e Options Internet dans le menu Outils, et s\u00E9lectionnez l\u2019onglet S\u00E9curit\u00E9, puis appuyez sur le bouton Personnaliser le niveau, pour le v\u00E9rifier).", + UnknownNodeType: "Type de n\u0153ud inconnu : %1", + UnexpectedTextNode: "N\u0153ud de texte inattendu : %1", + ErrorParsingMathML: "Erreur lors de l\u2019analyse de MathML", + ParsingError: "Erreur d\u2019analyse de MathML : %1", + MathMLSingleElement: "MathML doit \u00EAtre form\u00E9 d\u2019un unique \u00E9l\u00E9ment", + MathMLRootElement: "MathML doit \u00EAtre form\u00E9 d\u2019un \u00E9l\u00E9ment \u003Cmath\u003E, et pas %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathMenu.js new file mode 100644 index 00000000..adc0eea0 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/fr/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Afficher sous forme", + MathMLcode: "Code MathML", + OriginalMathML: "MathML d\u2019origine", + TeXCommands: "Commandes TeX", + AsciiMathInput: "Entr\u00E9e AsciiMathML", + Original: "Format d\u2019origine", + ErrorMessage: "Message d\u2019erreur", + Annotation: "Annotation", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML de contenu", + OpenMath: "OpenMath", + texHints: "Afficher les aides TeX en MathML", + Settings: "Param\u00E9trages des maths", + ZoomTrigger: "D\u00E9clencheur de zoom", + Hover: "Survol", + Click: "Clic", + DoubleClick: "Double-clic", + NoZoom: "Pas de zoom", + TriggerRequires: "Le d\u00E9clencheur n\u00E9cessite :", + Option: "Option", + Alt: "Alt", + Command: "Commande", + Control: "Contr\u00F4le", + Shift: "Maj", + ZoomFactor: "Facteur de grossissement d'\u00E9chelle", + Renderer: "Outil de rendu math\u00E9matique", + MPHandles: "Laisser MathPlayer g\u00E9rer :", + MenuEvents: "\u00C9v\u00E9nements de menu", + MouseEvents: "\u00C9v\u00E9nements de souris", + MenuAndMouse: "\u00C9v\u00E9nements de souris et de menu", + FontPrefs: "Pr\u00E9f\u00E9rences de police", + ForHTMLCSS: "Pour HTML-CSS :", + Auto: "Auto", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (image)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Menu contextuel", + Browser: "Navigateur", + Scale: "Mettre tous les maths \u00E0 l\u2019\u00E9chelle\u2026", + Discoverable: "Surligner au survol", + Locale: "Langue", + LoadLocale: "Charger depuis l\u2019URL\u2026", + About: "\u00C0 propos de MathJax", + Help: "Aide de MathJax", + localTeXfonts: "utiliser les polices TeX locales", + webTeXfonts: "utiliser les polices TeX du web", + imagefonts: "utiliser les polices Image", + localSTIXfonts: "utiliser les polices STIX locales", + webSVGfonts: "utiliser les polices SVG du web", + genericfonts: "utiliser les polices Unicode g\u00E9n\u00E9riques", + wofforotffonts: "polices WOFF ou OTF", + eotffonts: "polices EOT", + svgfonts: "polices SVG", + WebkitNativeMMLWarning: "Votre navigateur ne semble pas prendre en charge MathML en natif, donc basculer sur MathML en sortie pourrait rendre les math\u00E9matiques illisibles sur cette page.", + MSIENativeMMLWarning: "Internet Explorer n\u00E9cessite le module MathPlayer pour traiter les sorties MathML.", + OperaNativeMMLWarning: "La prise en charge de MathML par Opera est limit\u00E9e, donc passer sur du MathML en sortie pourrait rendre certaines expressions peu lisibles.", + SafariNativeMMLWarning: "Le MathML natif de votre navigateur n\u2019impl\u00E9mente pas toutes les fonctionnalit\u00E9s utilis\u00E9s par MathJax, donc certaines expressions pourraient ne pas \u00EAtre affich\u00E9es correctement.", + FirefoxNativeMMLWarning: "Le MathML natif de votre navigateur n\u2019impl\u00E9mente pas toutes les fonctionnalit\u00E9s de MathJax, donc certaines expressions pourraient \u00EAtre mal affich\u00E9es.", + MSIESVGWarning: "SVG n\u2019est pas pris en charge par Internet Explorer avant la version 9 (ni dans l\u2019\u00E9mulation de IE8 ou inf\u00E9rieur, par cons\u00E9quent). Basculer sur SVG en sortie pourrait faire que les math\u00E9matiques s\u2019affichent mal.", + LoadURL: "Charger les donn\u00E9es de traduction depuis cette URL :", + BadURL: "L\u2019URL devrait \u00EAtre un fichier JavaScript qui d\u00E9finit les donn\u00E9es de traduction de MathJax. Les noms de fichier JavaScript devraient se terminer par '.js'", + BadData: "\u00C9chec du chargement des donn\u00E9es de traduction depuis %1", + SwitchAnyway: "Basculer tout de m\u00EAme le rendu\u202F?\n\n(Cliquez OK pour basculer, ANNULER pour continuer avec le rendu actuel)", + ScaleMath: "Mettre \u00E0 l\u2019\u00E9chelle toutes les math\u00E9matiques (par rapport au texte environnant) de", + NonZeroScale: "L\u2019\u00E9chelle ne devrait pas \u00EAtre z\u00E9ro", + PercentScale: "L\u2019\u00E9chelle devrait \u00EAtre un pourcentage (par exemple, 120%%)", + IE8warning: "Cela d\u00E9sactivera le menu MathJax et les fonctionnalit\u00E9s de zoom, mais \u00E0 la place, vous pouvez Alt-cliquer sur une expression pour obtenir le menu MathJax.", + IE9warning: "Le menu contextuel MathJax sera d\u00E9sactiv\u00E9, mais \u00E0 la place, vous pouvez Alt-cliquer sur une expression pour obtenir le menu MathJax.", + NoOriginalForm: "Aucun format d\u2019origine disponible", + Close: "Fermer", + EqSource: "Source de l\u2019\u00E9quation MathJax", + CloseAboutDialog: "Fermer la bo\u00EEte de dialogue \u00C0 propos de MathJax", + FastPreview: "Aper\u00E7u rapide", + AssistiveMML: "MathML auxiliaire", + InTabOrder: "Inclure dans l\u2019ordre des onglets" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/TeX.js new file mode 100644 index 00000000..cb700996 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/fr/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Accolade ouvrante superflue ou accolade fermante manquante", + ExtraCloseMissingOpen: "Accolade fermante superflue ou accolade ouvrante manquante", + MissingLeftExtraRight: "Commande \\left manquante ou commande \\right superflue", + MissingScript: "Argument en exposant ou en indice manquant", + ExtraLeftMissingRight: "Commande \\left superflue ou commande \\right manquante", + Misplaced: "Mauvaise position pour la commande %1", + MissingOpenForSub: "Accolade ouvrante manquante pour le script en indice", + MissingOpenForSup: "Accolade ouvrante manquante pour le script en exposant", + AmbiguousUseOf: "Usage ambigu de la commande %1", + EnvBadEnd: "\\begin{%1} s'est termin\u00E9 par un \\end{%2}", + EnvMissingEnd: "\\end{%1} manquant", + MissingBoxFor: "Boite manquante pour la commande %1", + MissingCloseBrace: "Accolade fermante manquante", + UndefinedControlSequence: "S\u00E9quence de contr\u00F4le %1 non d\u00E9finie", + DoubleExponent: "Double exposant : utilisez des accolades pour clarifier", + DoubleSubscripts: "Double indice : utilisez des accolades pour clarifier", + DoubleExponentPrime: "Un prime entra\u00EEne un double exposant : utilisez des accolades pour clarifier", + CantUseHash1: "Vous ne pouvez pas utilisez le caract\u00E8re #, indiquant un param\u00E8tre de macro, dans le mode math\u00E9matique", + MisplacedMiddle: "La commande %1 doit \u00EAtre plac\u00E9e \u00E0 l\u2019int\u00E9rieur d\u2019une section \\left ... \\right", + MisplacedLimits: "La commande %1 n'est autoris\u00E9e que sur les op\u00E9rateurs", + MisplacedMoveRoot: "La commande %1 n'est autoris\u00E9e qu'\u00E0 l'int\u00E9rieur d'une racine", + MultipleCommand: "Usage multiple de la commande %1", + IntegerArg: "L\u2019argument de la commande %1 doit \u00EAtre un entier", + NotMathMLToken: "L'\u00E9l\u00E9ment %1 n'est pas un \u00E9l\u00E9ment MathML \u00E9l\u00E9mentaire", + InvalidMathMLAttr: "Attribut MathML non valide: %1", + UnknownAttrForElement: "Attribut %1 inconnu pour l'\u00E9l\u00E9ment %2", + MaxMacroSub1: "Le nombre maximal de substitutions de macro autoris\u00E9 par MathJax a \u00E9t\u00E9 d\u00E9pass\u00E9. Y a-t-il un appel de macro r\u00E9cursif?", + MaxMacroSub2: "Le nombre maximal de substitutions de macros autoris\u00E9 par MathJax a \u00E9t\u00E9 d\u00E9pass\u00E9. Y a-t-il un environnement LaTeX r\u00E9cursif\u202F?", + MissingArgFor: "Argument manquant pour la commande %1", + ExtraAlignTab: "Caract\u00E8re d'alignement '\u0026' inattendu pour le texte de la commande \\cases", + BracketMustBeDimension: "L'argument entre crochets de la commande %1 doit \u00EAtre une dimension", + InvalidEnv: "Nom d'environnement '%1' non valide", + UnknownEnv: "Environnement '%1' inconnu", + ExtraCloseLooking: "Accolade fermante superflue lors de la recherche de %1", + MissingCloseBracket: "Impossible de trouver ']' pour l'argument de la commande %1", + MissingOrUnrecognizedDelim: "D\u00E9limiteur manquant ou non reconnu pour la commande %1", + MissingDimOrUnits: "Dimension ou unit\u00E9s manquantes pour la commande %1", + TokenNotFoundForCommand: "Impossible de trouver %1 pour la commande %2", + MathNotTerminated: "Expression math\u00E9matique non termin\u00E9e \u00E0 l'int\u00E9rieur de la boite de texte", + IllegalMacroParam: "Param\u00E8tre de r\u00E9f\u00E9rence de macro non autoris\u00E9", + MaxBufferSize: "Taille maximale du tampon interne de MathJax d\u00E9pass\u00E9e; y a-t-il un appel de macro r\u00E9cursif ?", + CommandNotAllowedInEnv: "La commande %1 n'est pas autoris\u00E9e \u00E0 l'int\u00E9rieur de l'environnement %2", + MultipleLabel: "Multiple d\u00E9finition de l'\u00E9tiquette '%1'", + CommandAtTheBeginingOfLine: "La commande %1 doit \u00EAtre plac\u00E9e en d\u00E9but de ligne", + IllegalAlign: "Alignement non autoris\u00E9 pour la commande %1", + BadMathStyleFor: "Style math\u00E9matique non valide pour la commande %1", + PositiveIntegerArg: "L'argument de la commande %1 doit \u00EAtre un entier positif", + ErroneousNestingEq: "Embrication incorrecte des structures d'\u00E9quations", + MultlineRowsOneCol: "Les rang\u00E9es au sein de l\u2019environnement %1 doivent avoir exactement une colonne", + MultipleBBoxProperty: "La propri\u00E9t\u00E9 %1 est sp\u00E9cifi\u00E9e deux fois dans la commande %2", + InvalidBBoxProperty: "La valeur '%1' ne semble pas \u00EAtre une couleur, une dimension de marge int\u00E9rieure ou un style.", + ExtraEndMissingBegin: "Commande %1 non attendue ou commande \\begingroup manquante", + GlobalNotFollowedBy: "Commande %1 non suivie d\u2019une commande \\let, \\def ou \\newcommand", + UndefinedColorModel: "Le mod\u00E8le de couleur '%1' n'est pas d\u00E9fini", + ModelArg1: "Les valeurs de couleurs pour le mod\u00E8le %1 n\u00E9cessitent 3 nombres", + InvalidDecimalNumber: "Nombre d\u00E9cimal non valide", + ModelArg2: "Les valeurs de couleurs pour le mod\u00E8le %1 doivent \u00EAtre comprises entre %2 et %3", + InvalidNumber: "Nombre non valide", + NewextarrowArg1: "Le premier argument de la commande %1 doit \u00EAtre le nom d'une s\u00E9quence de contr\u00F4le", + NewextarrowArg2: "Le second argument de la commande %1 doit \u00EAtre deux entiers s\u00E9par\u00E9s par une virgule", + NewextarrowArg3: "Le troisi\u00E8me argument de la commande %1 doit \u00EAtre la valeur d\u2019un caract\u00E8re unicode", + NoClosingChar: "Impossible de trouver le d\u00E9limiteur '%1' fermant", + IllegalControlSequenceName: "Nom de contr\u00F4le de s\u00E9quence non autoris\u00E9 pour la commande %1", + IllegalParamNumber: "Nombre de param\u00E8tres incorrect pour la commande %1", + MissingCS: "%1 doit \u00EAtre suivi d'une s\u00E9quence de contr\u00F4le", + CantUseHash2: "Usage du caract\u00E8re # non autoris\u00E9 dans le mod\u00E8le pour la s\u00E9quence de contr\u00F4le %1", + SequentialParam: "Les param\u00E8tres de la s\u00E9quence de contr\u00F4le %1 doivent \u00EAtre \u00E9num\u00E9r\u00E9s de fa\u00E7on s\u00E9quentielle", + MissingReplacementString: "Texte de remplacement manquant pour la d\u00E9finition %1", + MismatchUseDef: "L\u2019utilisation de la commande %1 ne correspond pas \u00E0 sa d\u00E9finition", + RunawayArgument: "Argument non termin\u00E9 pour la commande %1?", + NoClosingDelim: "Impossible de trouver le d\u00E9limiteur fermant pour la commande %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/fr.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/fr.js new file mode 100644 index 00000000..1a37790e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/fr.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/fr/fr.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr",null,{ + menuTitle: "fran\u00E7ais", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax a trouv\u00E9 un t\u00E9moin (cookie) de configuration utilisateur qui inclut du code ex\u00E9cutable. Souhaitez vous l\u2019ex\u00E9cuter ?\n\n(Choisissez Annuler sauf si vous avez cr\u00E9\u00E9 ce t\u00E9moin vous-m\u00EAme.)", + MathProcessingError: "Erreur de traitement de la formule math\u00E9matique", + MathError: "Erreur dans la formule math\u00E9matique", + LoadFile: "Chargement de %1", + Loading: "Chargement", + LoadFailed: "\u00C9chec du chargement de %1", + ProcessMath: "Traitement des formules : %1 %%", + Processing: "Traitement en cours", + TypesetMath: "Composition des formules: %1%%", + Typesetting: "Composition", + MathJaxNotSupported: "Votre navigateur ne prend pas en charge MathJax", + ErrorTips: "Conseils de d\u00E9bogage : utiliser %%1, inspecter %%2 dans la console du navigateur" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (0 <= n && n < 2) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/fr.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/FontWarnings.js new file mode 100644 index 00000000..e63c69c1 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/gl/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HTML-CSS.js new file mode 100644 index 00000000..b07b8fa5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/gl/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Cargando o tipo de letra web %1", + CantLoadWebFont: "Non se pode cargar o tipo de letra web %1", + FirefoxCantLoadWebFont: "Firefox non pode cargar os tipos de letra web desde un servidor remoto", + CantFindFontUsing: "Non se pode atopar un tipo de letra v\u00E1lido utilizando %1", + WebFontsNotAvailable: "Os tipos de letra web non est\u00E1n dispo\u00F1ibles; use os tipos de letra de imaxe no seu lugar" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HelpDialog.js new file mode 100644 index 00000000..393882db --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/gl/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathML.js new file mode 100644 index 00000000..2662a08d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/gl/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathMenu.js new file mode 100644 index 00000000..98940f3d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/gl/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/TeX.js new file mode 100644 index 00000000..0c7e4bae --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/gl/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/gl.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/gl.js new file mode 100644 index 00000000..426e726e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/gl.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/gl/gl.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl",null,{ + menuTitle: "galego", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax atopou unha cookie de configuraci\u00F3n de usuario que incl\u00FAe c\u00F3digo executable. Quere executar ese c\u00F3digo?\n\n(Deber\u00EDa premer en \"Cancelar\", a menos que vostede crease a cookie.)", + MathProcessingError: "Erro de procesamento da f\u00F3rmula matem\u00E1tica", + MathError: "Erro na f\u00F3rmula matem\u00E1tica", + LoadFile: "Cargando \"%1\"", + Loading: "Cargando", + LoadFailed: "Erro ao cargar o ficheiro: %1", + ProcessMath: "Procesando as f\u00F3rmulas: %1%%", + Processing: "Procesando", + TypesetMath: "Compo\u00F1endo as f\u00F3rmulas: %1%%", + Typesetting: "Compo\u00F1endo", + MathJaxNotSupported: "O seu navegador non soporta MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/gl.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/FontWarnings.js new file mode 100644 index 00000000..965cff9c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/he/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA \u05DB\u05D3\u05D9 \u05DC\u05D4\u05E6\u05D9\u05D2 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4 \u05D1\u05D3\u05DA \u05D4\u05D6\u05D4. \u05D6\u05D4 \u05D3\u05D5\u05E8\u05E9 \u05D6\u05DE\u05DF \u05DC\u05D4\u05D5\u05E8\u05D3\u05D4, \u05D5\u05D4\u05D3\u05E3 \u05D9\u05D5\u05E6\u05D2 \u05DE\u05D4\u05E8 \u05D9\u05D5\u05EA\u05E8 \u05D0\u05DD \u05D9\u05D5\u05EA\u05E7\u05E0\u05D5 \u05D2\u05D5\u05E4\u05E0\u05D9 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4 \u05D1\u05DE\u05E2\u05E8\u05DB\u05EA \u05E9\u05DC\u05DA.", + imageFonts: "MathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4 \u05D1\u05DE\u05E7\u05D5\u05DD \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA. \u05D6\u05D4 \u05E2\u05D5\u05D1\u05D3 \u05DC\u05D0\u05D8 \u05DE\u05D4\u05E8\u05D2\u05D9\u05DC, \u05D5\u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DC\u05D0 \u05D9\u05D5\u05D3\u05E4\u05E1\u05D5 \u05D1\u05D2\u05D5\u05D3\u05DC \u05D4\u05E8\u05E6\u05D5\u05D9 \u05D1\u05DE\u05D3\u05E4\u05E1\u05EA \u05E9\u05DC\u05DA.", + noFonts: "MathJax \u05D0\u05D9\u05E0\u05D5 \u05DE\u05E6\u05DC\u05D9\u05D7 \u05DC\u05DE\u05E6\u05D5\u05D0 \u05D2\u05D5\u05E4\u05DF \u05DC\u05D4\u05E6\u05D2\u05EA \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA, \u05D5\u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4 \u05D0\u05D9\u05E0\u05DD \u05D6\u05DE\u05D9\u05E0\u05D9\u05DD, \u05D0\u05D6 \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05E0\u05E1\u05D9\u05DD \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05EA\u05D5\u05D5\u05D9 \u05D9\u05D5\u05E0\u05D9\u05E7\u05D5\u05D3 \u05DB\u05DC\u05DC\u05D9\u05D9\u05DD \u05D1\u05EA\u05E7\u05D5\u05D5\u05D4 \u05E9\u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D9\u05E6\u05DC\u05D9\u05D7 \u05DC\u05D4\u05E6\u05D9\u05D2 \u05D0\u05D5\u05EA\u05DD \u05E0\u05DB\u05D5\u05DF. \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D7\u05DC\u05E7 \u05DE\u05D4\u05EA\u05D5\u05D5\u05D9\u05DD \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05DB\u05E8\u05D0\u05D5\u05D9 \u05D0\u05D5 \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05D1\u05DB\u05DC\u05DC.", + webFonts: "\u05E8\u05D5\u05D1 \u05D4\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD \u05D4\u05DE\u05D5\u05D3\u05E8\u05E0\u05D9\u05D9\u05DD \u05DE\u05D0\u05E4\u05E9\u05E8\u05D9\u05DD \u05D4\u05D5\u05E8\u05D3\u05EA \u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05DE\u05D4\u05E8\u05E9\u05EA. \u05E2\u05D3\u05DB\u05D5\u05DF \u05DC\u05D2\u05E8\u05E1\u05D4 \u05D7\u05D3\u05E9\u05D4 \u05D9\u05D5\u05EA\u05E8 \u05E9\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D0\u05D5 \u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1\u05D3\u05E4\u05D3\u05E4\u05DF \u05D0\u05D7\u05E8 \u05D9\u05DB\u05D5\u05DC\u05D9\u05DD \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D0\u05D9\u05DB\u05D5\u05EA \u05D4\u05E6\u05D2\u05EA \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D1\u05D3\u05E3 \u05D4\u05D6\u05D4.", + fonts: "MathJax \u05D9\u05DB\u05D5\u05DC \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 STIX](%1) \u05D0\u05D5 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05E9\u05DC MathJax](%2). \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05DE\u05DC\u05D9\u05E6\u05D9\u05DD \u05DC\u05D4\u05D5\u05E8\u05D9\u05D3 \u05D0\u05D7\u05D3 \u05DE\u05D4\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05D4\u05D0\u05DC\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D7\u05D5\u05D5\u05D9\u05D9\u05EA \u05D4\u05BEMathJax \u05E9\u05DC\u05DA.", + STIXPage: "\u05D4\u05D3\u05E3 \u05D4\u05D6\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DD \u05DC\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 STIX](%1). \u05DE\u05D5\u05DE\u05DC\u05E5 \u05DC\u05D4\u05D5\u05E8\u05D9\u05D3 \u05D5\u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05EA \u05D4\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05D4\u05D0\u05DC\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D7\u05D5\u05D5\u05D9\u05D9\u05EA \u05D4\u05BEMathJax \u05E9\u05DC\u05DA.", + TeXPage: "\u05D4\u05D3\u05E3 \u05D4\u05D6\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DD \u05DC\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05E9\u05DC MathJax](%1). \u05DE\u05D5\u05DE\u05DC\u05E5 \u05DC\u05D4\u05D5\u05E8\u05D9\u05D3 \u05D5\u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05EA \u05D4\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05D4\u05D0\u05DC\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D7\u05D5\u05D5\u05D9\u05D9\u05EA \u05D4\u05BEMathJax \u05E9\u05DC\u05DA." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HTML-CSS.js new file mode 100644 index 00000000..09576aa7 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/he/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u05D8\u05E2\u05D9\u05E0\u05EA \u05D2\u05D5\u05E4\u05DF \u05D4\u05E8\u05E9\u05EA %1", + CantLoadWebFont: "\u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D8\u05E2\u05D5\u05DF \u05D0\u05EA \u05D2\u05D5\u05E4\u05DF \u05D4\u05E8\u05E9\u05EA %1", + FirefoxCantLoadWebFont: "\u05E4\u05D9\u05D9\u05E8\u05E4\u05D5\u05E7\u05E1 \u05D0\u05D9\u05E0\u05D5 \u05D9\u05DB\u05D5\u05DC \u05DC\u05D8\u05E2\u05D5\u05DF \u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA \u05DE\u05E9\u05E8\u05EA \u05DE\u05E8\u05D5\u05D7\u05E7", + CantFindFontUsing: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 \u05D2\u05D5\u05E4\u05DF \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05DE\u05E6\u05E2\u05D5\u05EA %1", + WebFontsNotAvailable: "\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA \u05D0\u05D9\u05E0\u05DD \u05D6\u05DE\u05D9\u05E0\u05D9\u05DD \u2013 \u05D1\u05DE\u05E7\u05D5\u05DE\u05DD \u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HelpDialog.js new file mode 100644 index 00000000..59c6c224 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/he/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u05E2\u05D6\u05E8\u05D4 \u05E9\u05DC MathJax", + MathJax: "*MathJax* \u05D4\u05D9\u05D0 \u05E1\u05E4\u05E8\u05D9\u05D9\u05EA \u05D2'\u05D0\u05D5\u05D4 \u05E1\u05E7\u05E8\u05D9\u05E4\u05D8 \u05E9\u05DE\u05D0\u05E4\u05E9\u05E8\u05EA \u05DC\u05DB\u05D5\u05EA\u05D1\u05D9 \u05D0\u05EA\u05E8\u05D9\u05DD \u05DC\u05DB\u05DC\u05D5\u05DC \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DE\u05EA\u05DE\u05D8\u05D9\u05D5\u05EA \u05D1\u05D3\u05E4\u05D9\u05DD. \u05D4\u05E7\u05D5\u05E8\u05D0\u05D9\u05DD \u05D0\u05D9\u05E0\u05DD \u05E6\u05E8\u05D9\u05DB\u05D9\u05DD \u05DC\u05E2\u05E9\u05D5\u05EA \u05D3\u05D1\u05E8 \u05DB\u05D3\u05D9 \u05E9\u05D6\u05D4 \u05D9\u05E7\u05E8\u05D4.", + Browsers: "*\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD*: MathJax \u05E2\u05D5\u05D1\u05D3 \u05E2\u05DD \u05DB\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD \u05D4\u05DE\u05D5\u05D3\u05E8\u05E0\u05D9\u05D9\u05DD, \u05DB\u05D5\u05DC\u05DC \u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D0\u05E7\u05E1\u05E4\u05DC\u05D5\u05E8\u05E8 \u05DE\u05D2\u05E8\u05E1\u05D4 6 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05E4\u05D9\u05D9\u05E8\u05E4\u05D5\u05E7\u05E1 \u05DE\u05D2\u05E8\u05E1\u05D4 3 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05DB\u05E8\u05D5\u05DD \u05DE\u05D2\u05E8\u05E1\u05D4 0.2 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05E1\u05E4\u05D0\u05E8\u05D9 \u05DE\u05D2\u05E8\u05E1\u05D4 2 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05D0\u05D5\u05E4\u05E8\u05D4 \u05DE\u05D2\u05E8\u05E1\u05D4 9.6 \u05D5\u05DE\u05E2\u05DC\u05D4 \u05D5\u05E8\u05D5\u05D1 \u05D4\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD \u05DC\u05DE\u05DB\u05E9\u05D9\u05E8\u05D9\u05DD \u05E0\u05D9\u05D9\u05D3\u05D9\u05DD.", + Menu: "*\u05EA\u05E4\u05E8\u05D9\u05D8 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4*: MathJax \u05DE\u05D5\u05E1\u05D9\u05E3 \u05EA\u05E4\u05E8\u05D9\u05D8 \u05D4\u05E7\u05E9\u05E8 \u05DC\u05DE\u05E9\u05D5\u05D5\u05D0\u05D5\u05EA. \u05D9\u05E9 \u05DC\u05E2\u05E9\u05D5\u05EA \u05DC\u05D7\u05D9\u05E6\u05D4 \u05D9\u05DE\u05E0\u05D9\u05EA \u05D0\u05D5 \u05DC\u05D7\u05D9\u05E6\u05D4 \u05E2\u05DD Ctrl \u05D1\u05DB\u05DC \u05E0\u05D5\u05E1\u05D7\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05D9\u05DB\u05E0\u05E1 \u05DC\u05EA\u05E4\u05E8\u05D9\u05D8.", + ShowMath: "*\u05DC\u05D4\u05E6\u05D9\u05D2 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D1\u05EA\u05D5\u05E8* \u05DE\u05D0\u05E4\u05E9\u05E8 \u05DC\u05DA \u05DC\u05E8\u05D0\u05D5\u05EA \u05D0\u05EA \u05E7\u05D5\u05D3 \u05D4\u05DE\u05E7\u05D5\u05E8 \u05E9\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D4 \u05DC\u05D4\u05E2\u05EA\u05E7\u05D4 \u05D5\u05D4\u05D3\u05D1\u05E7\u05D4 (\u05D1\u05EA\u05D5\u05E8 MathML \u05D0\u05D5 \u05D1\u05E6\u05D5\u05E8\u05D4 \u05D4\u05DE\u05E7\u05D5\u05E8\u05D9\u05EA).", + Settings: "*\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA* \u05E0\u05D5\u05EA\u05E0\u05D5\u05EA \u05DC\u05DA \u05E9\u05DC\u05D9\u05D8\u05D4 \u05E2\u05DC \u05D9\u05DB\u05D5\u05DC\u05D5\u05EA \u05E9\u05DC MathJax, \u05DB\u05D2\u05D5\u05DF \u05D4\u05D2\u05D5\u05D3\u05DC \u05E9\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D5\u05D4\u05E9\u05D9\u05D8\u05D4 \u05DC\u05D4\u05E6\u05D2\u05EA \u05D4\u05DE\u05E9\u05D5\u05D5\u05D0\u05D5\u05EA.", + Language: "*\u05E9\u05E4\u05D4* \u2013 \u05DB\u05D0\u05DF \u05D0\u05E4\u05E9\u05E8 \u05DC\u05D1\u05D7\u05D5\u05E8 \u05D0\u05EA \u05D4\u05E9\u05E4\u05D4 \u05E9\u05BEMathJax \u05DE\u05E6\u05D9\u05D2\u05D4 \u05D1\u05EA\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD \u05D5\u05D1\u05D4\u05D5\u05D3\u05E2\u05D5\u05EA \u05D4\u05D0\u05D6\u05D4\u05E8\u05D4", + Zoom: "*\u05E7\u05D9\u05E8\u05D5\u05D1 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4*: \u05D0\u05DD \u05E7\u05E9\u05D4 \u05DC\u05DA \u05DC\u05E7\u05E8\u05D5\u05D0 \u05DE\u05E9\u05D5\u05D5\u05D0\u05D4, MathJax \u05D9\u05DB\u05D5\u05DC \u05DC\u05D4\u05D2\u05D3\u05D9\u05DC \u05D0\u05D5\u05EA\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E2\u05D6\u05D5\u05E8 \u05DC\u05DA \u05DC\u05E8\u05D0\u05D5\u05EA \u05D0\u05D5\u05EA\u05D4 \u05D8\u05D5\u05D1 \u05D9\u05D5\u05EA\u05E8.", + Accessibilty: "*\u05E0\u05D2\u05D9\u05E9\u05D5\u05EA*: MathJax \u05E2\u05D5\u05D1\u05D3 \u05D0\u05D5\u05D8\u05D5\u05DE\u05D8\u05D9\u05EA \u05E2\u05DD \u05E7\u05D5\u05E8\u05D0\u05D9 \u05DE\u05E1\u05DA \u05DB\u05D3\u05D9 \u05DC\u05D5\u05D5\u05D3\u05D0 \u05E9\u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05E0\u05D2\u05D9\u05E9\u05D5\u05EA \u05DC\u05DB\u05D1\u05D3\u05D9 \u05E8\u05D0\u05D9\u05D9\u05D4.", + Fonts: "*\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD*: MathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05DE\u05EA\u05DE\u05D8\u05D9\u05D9\u05DD \u05DE\u05E1\u05D5\u05D9\u05DE\u05D9\u05DD \u05D0\u05DD \u05D4\u05DD \u05DE\u05D5\u05EA\u05E7\u05E0\u05D9\u05DD \u05D1\u05DE\u05D7\u05E9\u05D1 \u05E9\u05DC\u05DA; \u05D0\u05D7\u05E8\u05EA, \u05D4\u05D5\u05D0 \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA. \u05D0\u05E3 \u05E9\u05D6\u05D4 \u05D0\u05D9\u05E0\u05D5 \u05E0\u05D7\u05D5\u05E5, \u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05DE\u05D5\u05EA\u05E7\u05E0\u05D9\u05DD \u05DE\u05E7\u05D5\u05DE\u05D9\u05EA \u05D9\u05DB\u05D5\u05DC \u05DC\u05D6\u05E8\u05D6 \u05D0\u05EA \u05D4\u05E1\u05D3\u05B7\u05E8. \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05DE\u05DC\u05D9\u05E6\u05D9\u05DD \u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05EA [\u05D2\u05D5\u05E4\u05E0\u05D9 STIX](%1).", + CloseDialog: "\u05E1\u05D2\u05D9\u05E8\u05EA \u05D7\u05DC\u05D5\u05DF \u05D3\u05D5\u05BE\u05E9\u05D9\u05D7 \u05E2\u05D6\u05E8\u05D4" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathML.js new file mode 100644 index 00000000..f8cb3faf --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/he/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u05E8\u05DB\u05D9\u05D1 mglyph \u05D2\u05E8\u05D5\u05E2: %1", + BadMglyphFont: "\u05D2\u05D5\u05E4\u05DF \u05D2\u05E8\u05D5\u05E2: %1", + MathPlayer: "MathJax \u05DC\u05D0 \u05D4\u05E6\u05DC\u05D9\u05D7 \u05DC\u05D4\u05D2\u05D3\u05D9\u05E8 \u05D0\u05EA MathPlayer.\n\n\u05D0\u05DD MathPlayer th\u05E0\u05D5 \u05DE\u05D5\u05EA\u05E7\u05DF, \u05D9\u05E9 \u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05D5\u05EA\u05D5 \u05EA\u05D7\u05D9\u05DC\u05D4.\n\u05D0\u05D7\u05E8\u05EA, \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05D4\u05D0\u05D1\u05D8\u05D7\u05D4 \u05E9\u05DC\u05DA \u05DC\u05D0 \u05D9\u05D0\u05E4\u05E9\u05E8\u05D5 \u05DC\u05E8\u05DB\u05D9\u05D1\u05D9 ActiveX\n\u05DC\u05E8\u05D5\u05E5. \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05EA\u05D7\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 \u05DB\u05DC\u05D9\u05DD, \u05DC\u05D1\u05D7\u05D5\u05E8 \u05D1\u05DC\u05E9\u05D5\u05E0\u05D9\u05EA \"\u05D0\u05D1\u05D8\u05D7\u05D4\", \u05D5\u05DC\u05DC\u05D7\u05D5\u05E5 \u05E2\u05DC \"\u05E8\u05DE\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DE\u05EA \u05D0\u05D9\u05E9\u05D9\u05EA\". \u05E9\u05DD \u05D9\u05E9 \u05DC\u05D1\u05D3\u05D5\u05E7 \u05E9\u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA\n\"\u05D4\u05E8\u05E6\u05E5 \u05D1\u05E7\u05E8\u05D9 ActiveX\" \u05D5\"\u05D4\u05EA\u05E0\u05D4\u05D2\u05D5\u05D9\u05D5\u05EA \u05D1\u05D9\u05E0\u05D0\u05E8\u05D9\u05D5\u05EA \u05D5\u05E1\u05E7\u05E8\u05D9\u05E4\u05D8\u05D9\u05DD\" \u05DE\u05D5\u05E4\u05E2\u05DC\u05D5\u05EA.\n\n\u05D1\u05DE\u05E6\u05D1 \u05D4\u05E0\u05D5\u05DB\u05D7\u05D9 \u05D9\u05D5\u05E4\u05D9\u05E2\u05D5 \u05D4\u05D5\u05D3\u05E2\u05D5\u05EA \u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05DE\u05E7\u05D5\u05DD \n\u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4 \u05DE\u05E2\u05D5\u05E6\u05D1\u05EA.", + CantCreateXMLParser: "MathJax \u05D0\u05D9\u05E0\u05D5 \u05D9\u05DB\u05D5\u05DC \u05DC\u05D9\u05E6\u05D5\u05E8 \u05DE\u05E4\u05E2\u05E0\u05D7 XML \u05E2\u05D1\u05D5\u05E8 MathML. \u05E0\u05D0 \u05DC\u05D1\u05D3\u05D5\u05E7\n\u05E9\u05D4\u05D2\u05D3\u05E8\u05EA \u05D4\u05D0\u05D1\u05D8\u05D7\u05D4 '\u05D1\u05E7\u05E8\u05D9 ActiveX \u05E9\u05DE\u05E1\u05D5\u05DE\u05E0\u05D9\u05DD \u05D1\u05EA\u05D5\u05E8 \u05D1\u05D8\u05D5\u05D7\u05D9\u05DD' \u05DE\u05D5\u05E4\u05E2\u05DC\u05EA\n(\u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D1\u05EA\u05E4\u05E8\u05D9\u05D8 \u05DB\u05DC\u05D9\u05DD, \u05DC\u05E4\u05EA\u05D5\u05D7 \u05D0\u05EA \u05DC\u05E9\u05D5\u05E0\u05D9\u05EA \"\u05D0\u05D1\u05D8\u05D7\u05D4\",\n\u05D5\u05D0\u05D6 \u05DC\u05DC\u05D7\u05D5\u05E5 \u05E2\u05DC \"\u05E8\u05DE\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DE\u05EA \u05D0\u05D9\u05E9\u05D9\u05EA\" \u05DB\u05D3\u05D9 \u05DC\u05D1\u05D3\u05D5\u05E7 \u05D0\u05EA \u05D6\u05D4).\n\n\u05DE\u05E9\u05D5\u05D5\u05D0\u05D5\u05EA MathML \u05DC\u05D0 \u05D9\u05E2\u05D5\u05D1\u05D3\u05D5 \u05E2\u05DC\u05BE\u05D9\u05D3\u05D9 MathJax.", + UnknownNodeType: "\u05E1\u05D5\u05D2 \u05E6\u05D5\u05DE\u05EA \u05D1\u05DC\u05EA\u05D9\u05BE\u05D9\u05D5\u05D3\u05E2: %1", + UnexpectedTextNode: "\u05E1\u05D5\u05D2 \u05E6\u05D5\u05DE\u05EA \u05D1\u05DC\u05EA\u05D9\u05BE\u05E6\u05E4\u05D5\u05D9: %1", + ErrorParsingMathML: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E4\u05E2\u05E0\u05D5\u05D7 MathML", + ParsingError: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E4\u05E2\u05E0\u05D5\u05D7 MathML\u200F: %1", + MathMLSingleElement: "MathML \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DB\u05EA\u05D5\u05D1 \u05D1\u05D0\u05DC\u05DE\u05E0\u05D8 \u05D0\u05D7\u05D3", + MathMLRootElement: "MathML \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05DB\u05EA\u05D1 \u05D1\u05D0\u05DC\u05DE\u05E0\u05D8 \u003Cmath\u003E, \u05DC\u05D0 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathMenu.js new file mode 100644 index 00000000..015ca929 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/he/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u05DC\u05D4\u05E6\u05D9\u05D2 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D1\u05EA\u05D5\u05E8", + MathMLcode: "\u05E7\u05D5\u05D3 MathML", + OriginalMathML: "MathML \u05DE\u05E7\u05D5\u05E8\u05D9", + TeXCommands: "\u05E4\u05E7\u05D5\u05D3\u05D5\u05EA TeX", + AsciiMathInput: "\u05E7\u05DC\u05D8 AsciiMathML", + Original: "\u05D4\u05E6\u05D5\u05E8\u05D4 \u05D4\u05DE\u05E7\u05D5\u05E8\u05D9\u05EA", + ErrorMessage: "\u05D4\u05D5\u05D3\u05E2\u05EA \u05E9\u05D2\u05D9\u05D0\u05D4", + Annotation: "\u05E4\u05D9\u05E8\u05D5\u05E9", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "\u05DC\u05D4\u05E6\u05D9\u05D2 \u05E8\u05DE\u05D6\u05D9\u05DD \u05E9\u05DC TeX \u05D1\u05BEMathML", + Settings: "\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4", + ZoomTrigger: "\u05DE\u05D4 \u05D2\u05D5\u05E8\u05DD \u05DC\u05E7\u05D9\u05E8\u05D5\u05D1", + Hover: "\u05DE\u05E2\u05D1\u05E8 \u05E2\u05DB\u05D1\u05E8", + Click: "\u05DC\u05D7\u05D9\u05E6\u05D4", + DoubleClick: "\u05DC\u05D7\u05D9\u05E6\u05D4 \u05DB\u05E4\u05D5\u05DC\u05D4", + NoZoom: "\u05DC\u05DC\u05D0 \u05E7\u05D9\u05E8\u05D5\u05D1", + TriggerRequires: "\u05D4\u05E4\u05E2\u05DC\u05EA \u05D4\u05E7\u05D9\u05E8\u05D5\u05D1 \u05D3\u05D5\u05E8\u05E9\u05EA:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "\u05E8\u05DE\u05EA \u05E7\u05D9\u05E8\u05D5\u05D1", + Renderer: "\u05DE\u05E6\u05D9\u05D2 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA", + MPHandles: "\u05DC\u05D0\u05E4\u05E9\u05E8 \u05DC\u05BEMathPlayer \u05DC\u05D8\u05E4\u05DC \u05D1\u05BE:", + MenuEvents: "\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05EA\u05E4\u05E8\u05D9\u05D8", + MouseEvents: "\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05E2\u05DB\u05D1\u05E8", + MenuAndMouse: "\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05E2\u05DB\u05D1\u05E8 \u05D5\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05EA\u05E4\u05E8\u05D9\u05D8", + FontPrefs: "\u05D4\u05E2\u05D3\u05E4\u05D5\u05EA \u05D2\u05D5\u05E4\u05E0\u05D9\u05DD", + ForHTMLCSS: "\u05E2\u05D1\u05D5\u05E8 HTML-CSS:", + Auto: "\u05D0\u05D5\u05D8\u05D5\u05DE\u05D8\u05D9", + TeXLocal: "TeX (\u05DE\u05E7\u05D5\u05DE\u05D9)", + TeXWeb: "TeX (\u05D1\u05E8\u05E9\u05EA)", + TeXImage: "TeX (\u05EA\u05DE\u05D5\u05E0\u05D4)", + STIXLocal: "STIX (\u05DE\u05E7\u05D5\u05DE\u05D9)", + STIXWeb: "STIX (\u05D1\u05E8\u05E9\u05EA)", + AsanaMathWeb: "Asana Math (\u05D1\u05E8\u05E9\u05EA)", + GyrePagellaWeb: "Gyre Pagella (\u05D1\u05E8\u05E9\u05EA)", + GyreTermesWeb: "Gyre Termes (\u05D1\u05E8\u05E9\u05EA)", + LatinModernWeb: "Latin Modern (\u05D1\u05E8\u05E9\u05EA)", + NeoEulerWeb: "Neo Euler (\u05D1\u05E8\u05E9\u05EA)", + ContextMenu: "\u05EA\u05E4\u05E8\u05D9\u05D8 \u05D4\u05B6\u05E7\u05E9\u05E8", + Browser: "\u05D3\u05E4\u05D3\u05E4\u05DF", + Scale: "\u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05D0\u05EA \u05D4\u05D2\u05D5\u05D3\u05DC \u05E9\u05DC \u05DB\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA...", + Discoverable: "\u05DC\u05D4\u05D0\u05D9\u05E8 \u05D1\u05DE\u05E2\u05D1\u05E8 \u05E2\u05DB\u05D1\u05E8", + Locale: "\u05E9\u05E4\u05D4", + LoadLocale: "\u05DC\u05D8\u05E2\u05D5\u05DF \u05DE\u05DB\u05EA\u05D5\u05D1\u05EA...", + About: "\u05D0\u05D5\u05D3\u05D5\u05EA MathJax", + Help: "\u05E2\u05D6\u05E8\u05D4 \u05E9\u05DC MathJax", + localTeXfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05DE\u05E7\u05D5\u05DE\u05D9\u05D9\u05DD", + webTeXfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05DE\u05D4\u05E8\u05E9\u05EA", + imagefonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4", + localSTIXfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 STIX \u05DE\u05E7\u05D5\u05DE\u05D9\u05D9\u05DD", + webSVGfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 SVG \u05DE\u05D4\u05E8\u05E9\u05EA", + genericfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 \u05D9\u05D5\u05E0\u05D9\u05E7\u05D5\u05D3 \u05DB\u05DC\u05DC\u05D9\u05D9\u05DD", + wofforotffonts: "\u05D2\u05D5\u05E4\u05E0\u05D9 woff \u05D0\u05D5 otf", + eotffonts: "\u05D2\u05D5\u05E4\u05E0\u05D9 eot", + svgfonts: "\u05D2\u05D5\u05E4\u05E0\u05D9 svg", + WebkitNativeMMLWarning: "\u05D1\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D0\u05D9\u05DF \u05EA\u05DE\u05D9\u05DB\u05D4 \u05DE\u05D5\u05D1\u05E0\u05D9\u05EA \u05D1\u05BEMathML, \u05D0\u05D6 \u05DE\u05E2\u05D1\u05E8 \u05DC\u05E4\u05DC\u05D8 MathML \u05E2\u05DC\u05D5\u05DC \u05DC\u05D4\u05E4\u05D5\u05DA \u05D0\u05EA \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DC\u05D1\u05DC\u05EA\u05D9\u05BE\u05E7\u05E8\u05D9\u05D0\u05D5\u05EA", + MSIENativeMMLWarning: "\u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D0\u05E7\u05E1\u05E4\u05DC\u05D5\u05E8\u05E8 \u05D3\u05D5\u05E8\u05E9 \u05EA\u05D5\u05E1\u05E3 MathPlayer \u05DB\u05D3\u05D9 \u05DC\u05E2\u05D1\u05D3 \u05E4\u05DC\u05D8 MathML.", + OperaNativeMMLWarning: "\u05D4\u05EA\u05DE\u05D9\u05DB\u05D4 \u05E9\u05DC \u05D0\u05D5\u05E4\u05E8\u05D4 \u05D1\u05BEMathML \u05DE\u05D5\u05D2\u05D1\u05DC\u05EA, \u05D0\u05D6 \u05DE\u05E2\u05D1\u05E8 \u05DC\u05BEMathML \u05E2\u05DC\u05D5\u05DC \u05DC\u05D2\u05E8\u05D5\u05DD \u05DC\u05D7\u05DC\u05E7 \u05DE\u05D4\u05D1\u05D9\u05D8\u05D5\u05D9\u05D9\u05DD \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05D5\u05E6\u05D2\u05D9\u05DD \u05D1\u05D0\u05D5\u05E4\u05DF \u05D2\u05E8\u05D5\u05E2.", + SafariNativeMMLWarning: "\u05D4\u05EA\u05DE\u05D9\u05DB\u05D4 \u05D4\u05DE\u05D5\u05D1\u05E0\u05D9\u05EA \u05E9\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D1\u05BEMathML \u05D0\u05D9\u05E0\u05D4 \u05DE\u05DE\u05DE\u05E9\u05EA \u05D0\u05EA \u05DB\u05DC \u05D4\u05D9\u05DB\u05D5\u05DC\u05D5\u05EA \u05E9\u05BEMathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D4\u05DF, \u05D0\u05D6 \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D1\u05D9\u05D8\u05D5\u05D9\u05D9\u05DD \u05D0\u05D7\u05D3\u05D9\u05DD \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05DB\u05E8\u05D0\u05D5\u05D9.", + FirefoxNativeMMLWarning: "\u05D4\u05EA\u05DE\u05D9\u05DB\u05D4 \u05D4\u05DE\u05D5\u05D1\u05E0\u05D9\u05EA \u05E9\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D1\u05BEMathML \u05D0\u05D9\u05E0\u05D4 \u05DE\u05DE\u05DE\u05E9\u05EA \u05D0\u05EA \u05DB\u05DC \u05D4\u05D9\u05DB\u05D5\u05DC\u05D5\u05EA \u05E9\u05BEMathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D4\u05DF, \u05D0\u05D6 \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D1\u05D9\u05D8\u05D5\u05D9\u05D9\u05DD \u05D0\u05D7\u05D3\u05D9\u05DD \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05DB\u05E8\u05D0\u05D5\u05D9.", + MSIESVGWarning: "\u05EA\u05DE\u05D9\u05DB\u05D4 \u05D1\u05BESVG \u05D0\u05D9\u05E0\u05D4 \u05DE\u05DE\u05D5\u05DE\u05E9\u05EA \u05D1\u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D0\u05E7\u05E1\u05E4\u05DC\u05D5\u05E8\u05E8 \u05DC\u05E4\u05E0\u05D9 \u05D2\u05E8\u05E1\u05D4 9 \u05D0\u05D5 \u05DB\u05D0\u05E9\u05E8 \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E4\u05D5\u05E2\u05DC \u05D1\u05DE\u05E6\u05D1 \u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05DC\u05D2\u05E8\u05E1\u05D4 8 \u05D5\u05DE\u05D8\u05D4. \u05DE\u05E2\u05D1\u05E8 \u05DC\u05E4\u05DC\u05D8 \u05D1\u05BESVG \u05D9\u05D2\u05E8\u05D5\u05DD \u05DC\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DE\u05EA\u05DE\u05D8\u05D9\u05D5\u05EA \u05DC\u05D0 \u05D4\u05D9\u05D5\u05EA \u05DE\u05D5\u05E6\u05D2\u05D5\u05EA \u05DB\u05E8\u05D0\u05D5\u05D9.", + LoadURL: "\u05D8\u05E2\u05D9\u05E0\u05EA \u05E0\u05EA\u05D5\u05E0\u05D9 \u05EA\u05E8\u05D2\u05D5\u05DD \u05DE\u05D4\u05DB\u05EA\u05D5\u05D1\u05EA \u05D4\u05D1\u05D0\u05D4:", + BadURL: "\u05D4\u05DB\u05EA\u05D5\u05D1\u05EA \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05DB\u05E4\u05E0\u05D5\u05EA \u05DC\u05E7\u05D5\u05D1\u05E5 \u05D2'\u05D0\u05D5\u05D5\u05D4 \u05E1\u05E7\u05E8\u05D9\u05E4\u05D8 \u05E9\u05DE\u05D2\u05D3\u05D9\u05E8 \u05E0\u05EA\u05D5\u05E0\u05D9 \u05EA\u05E8\u05D2\u05D5\u05DD \u05E9\u05DC MathJax. \u05E7\u05D5\u05D1\u05E5 \u05D4\u05D2'\u05D0\u05D5\u05D5\u05E1 \u05E1\u05E7\u05E8\u05D9\u05E4\u05D8 \u05D0\u05DE\u05D5\u05E8 \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1\u05BEjs.", + BadData: "\u05E0\u05DB\u05E9\u05DC\u05D4 \u05D8\u05E2\u05D9\u05E0\u05EA \u05E0\u05EA\u05D5\u05E0\u05D9 \u05EA\u05E8\u05D2\u05D5\u05DD \u05DE\u05BE%1", + SwitchAnyway: "\u05DC\u05E9\u05E0\u05D5\u05EA \u05D0\u05EA \u05D4\u05DE\u05E6\u05D9\u05D2 \u05D1\u05DB\u05DC \u05D6\u05D0\u05EA?\n\n(\u05D9\u05E9 \u05DC\u05DC\u05D7\u05D5\u05E5 \u05D0\u05D9\u05E9\u05D5\u05E8 \u05DC\u05DE\u05E2\u05D1\u05E8 \u05D0\u05D5 \u05D1\u05D9\u05D8\u05D5\u05DC \u05DC\u05D4\u05DE\u05E9\u05DA \u05E2\u05DD \u05D4\u05E6\u05D9\u05D2 \u05D4\u05E0\u05D5\u05DB\u05D7\u05D9)", + ScaleMath: "\u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05D0\u05EA \u05D4\u05D2\u05D5\u05D3\u05DC \u05E9\u05DC \u05DB\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA (\u05D9\u05D7\u05E1\u05D9\u05EA \u05DC\u05D8\u05E7\u05E1\u05D8 \u05D4\u05E1\u05DE\u05D5\u05DA) \u05D1\u05BE:", + NonZeroScale: "\u05D4\u05D2\u05D5\u05D3\u05DC \u05DC\u05D0 \u05D9\u05DB\u05D5\u05DC \u05DC\u05D4\u05D9\u05D5 \u05D0\u05E4\u05E1", + PercentScale: "\u05D4\u05D2\u05D5\u05D3\u05DC \u05D0\u05DE\u05D5\u05E8 \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05D0\u05D7\u05D5\u05D6\u05D9\u05DD (\u05DC\u05DE\u05E9\u05DC 120%%)", + IE8warning: "\u05D6\u05D4 \u05D9\u05DB\u05D1\u05D4 \u05D0\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 MathJax \u05D5\u05D0\u05EA \u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05E7\u05D9\u05E8\u05D5\u05D1, \u05D0\u05D1\u05DC \u05D0\u05E4\u05E9\u05E8 \u05DC\u05E2\u05E9\u05D5\u05EA \u05DC\u05D7\u05D9\u05E6\u05D4 \u05E2\u05DD Alt \u05E2\u05DC \u05D1\u05D9\u05D8\u05D5\u05D9 \u05DB\u05D3\u05D9 \u05DC\u05E7\u05D1\u05DC \u05D8\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 M\uFFFDathJax \u05D1\u05DE\u05E7\u05D5\u05DD \u05D6\u05D4.\n\n\u05D4\u05D0\u05DD \u05D1\u05D0\u05DE\u05EA \u05DC\u05E9\u05E0\u05D5\u05EA \u05D0\u05EA \u05D4\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05E9\u05DC MathJax?", + IE9warning: "\u05EA\u05E4\u05E8\u05D9\u05D8 \u05D4\u05D4\u05E7\u05E9\u05E8 \u05E9\u05DC MathJax \u05D9\u05DB\u05D5\u05D1\u05D4, \u05D0\u05D1\u05DC \u05D0\u05E4\u05E9\u05E8 \u05DC\u05E2\u05E9\u05D5\u05EA \u05DC\u05D7\u05D9\u05E6\u05D4 \u05E2\u05DD Alt \u05E2\u05DC \u05D1\u05D9\u05D8\u05D5\u05D7 \u05DB\u05D3\u05D9 \u05DC\u05E7\u05D1\u05DC \u05D0\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 MathJax.", + NoOriginalForm: "\u05D4\u05E6\u05D5\u05E8\u05D4 \u05D4\u05DE\u05E7\u05D5\u05E8\u05D9\u05EA \u05D0\u05D9\u05E0\u05D4 \u05D6\u05DE\u05D9\u05E0\u05D4", + Close: "\u05E1\u05D2\u05D9\u05E8\u05D4", + EqSource: "\u05DE\u05E7\u05D5\u05E8 \u05D4\u05DE\u05E9\u05D5\u05D5\u05D0\u05D4 \u05E9\u05DC MathJax", + CloseAboutDialog: "\u05E1\u05D2\u05D9\u05E8\u05EA \u05D7\u05DC\u05D5\u05DF \u05D3\u05D5\u05BE\u05E9\u05D9\u05D7 \u05D0\u05D5\u05D3\u05D5\u05EA MathJax", + FastPreview: "\u05EA\u05E6\u05D5\u05D2\u05D4 \u05DE\u05E7\u05D3\u05D9\u05DE\u05D4 \u05DE\u05D4\u05D9\u05E8\u05D4", + AssistiveMML: "MathML \u05E0\u05D2\u05D9\u05E9", + InTabOrder: "\u05DC\u05DB\u05DC\u05D5\u05DC \u05D1\u05E1\u05D3\u05E8 \u05D4\u05D8\u05D0\u05D1\u05D9\u05DD" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/TeX.js new file mode 100644 index 00000000..98fbc6e6 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/he/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05D7\u05E1\u05E8", + ExtraCloseMissingOpen: "\u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05D7\u05E1\u05E8", + MissingLeftExtraRight: "\u05D7\u05D5\u05E7 \u200E\\left \u05D7\u05E1\u05E8 \u05D0\u05D5 \u05D7\u05D5\u05E7 \u200E\\right \u05DE\u05D9\u05D5\u05EA\u05E8", + MissingScript: "\u05D7\u05E1\u05E8 \u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DB\u05EA\u05D1 \u05E2\u05D9\u05DC\u05D9 \u05D0\u05D5 \u05DB\u05EA\u05D1 \u05EA\u05D7\u05EA\u05D9", + ExtraLeftMissingRight: "\u200E\\left \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u05D7\u05D5\u05E7 \u200E\\right \u05D7\u05E1\u05E8", + Misplaced: "%1 \u05D1\u05DE\u05E7\u05D5\u05DD \u05E9\u05D2\u05D5\u05D9", + MissingOpenForSub: "\u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05D7\u05E1\u05E8 \u05DC\u05DB\u05EA\u05D1 \u05EA\u05D7\u05EA\u05D9", + MissingOpenForSup: "\u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05D7\u05E1\u05E8 \u05DC\u05DB\u05EA\u05D1 \u05E2\u05D9\u05DC\u05D9", + AmbiguousUseOf: "\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D3\u05D5\u05BE\u05DE\u05E9\u05DE\u05E2\u05D9 \u05D1\u05BE\u200E%1", + EnvBadEnd: "\u200E\\begin{%1}\u200E \u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1\u05BE\u200E\\end{%2}\u200E", + EnvMissingEnd: "\u200E\\end{%1}\u200E \u05D7\u05E1\u05E8", + MissingBoxFor: "\u05D7\u05E1\u05E8\u05D4 \u05EA\u05D9\u05D1\u05D4 \u05E2\u05D1\u05D5\u05E8 %1", + MissingCloseBrace: "\u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05D7\u05E1\u05E8", + UndefinedControlSequence: "\u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05DE\u05D5\u05D2\u05D3\u05E8 %1", + DoubleExponent: "\u05DE\u05E2\u05E8\u05D9\u05DA \u05DB\u05E4\u05D5\u05DC: \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05DC\u05D4\u05D1\u05D4\u05E8\u05D4", + DoubleSubscripts: "\u05DB\u05EA\u05D1 \u05EA\u05D7\u05EA\u05D9 \u05DB\u05E4\u05D5\u05DC: \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05DC\u05D4\u05D1\u05D4\u05E8\u05D4", + DoubleExponentPrime: "\u05EA\u05D2 \u05D2\u05D5\u05E8\u05DD \u05DC\u05DE\u05E2\u05E8\u05D9\u05DA \u05DB\u05E4\u05D5\u05DC; \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05DC\u05D4\u05D1\u05D4\u05E8\u05D4", + CantUseHash1: "\u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\"\u05EA\u05D5 \u05DE\u05E7\u05E8\u05D5 \u05E4\u05E8\u05DE\u05D8\u05E8 #\" \u05D1\u05DE\u05E6\u05D1 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4", + MisplacedMiddle: "\u05E2\u05DC \u200E%1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05D9\u05DF \u200E\\left \u05DC\u05BE\u200E\\right", + MisplacedLimits: "\u05DE\u05D5\u05EA\u05E8 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05BE\u200E%1 \u05E8\u05E7 \u05D1\u05D0\u05D5\u05E4\u05E8\u05D8\u05D5\u05E8\u05D9\u05DD", + MisplacedMoveRoot: "\u05E2\u05DC \u200E%1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05EA\u05D5\u05DA \u05E9\u05D5\u05E8\u05E9", + MultipleCommand: "\u05DE\u05E1\u05E4\u05E8 \u05DE\u05E8\u05D5\u05D1\u05D4 \u05E9\u05DC \u200E%1", + IntegerArg: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05E1\u05E4\u05E8 \u05E9\u05DC\u05DD", + NotMathMLToken: "%1 \u05D0\u05D9\u05E0\u05D5 \u05D0\u05DC\u05DE\u05E0\u05D8 token \u05EA\u05E7\u05D9\u05DF", + InvalidMathMLAttr: "\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF MathML \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF: %1", + UnknownAttrForElement: "\u05D4\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF %1 \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05BC\u05DB\u05E8 \u05D1\u05EA\u05D5\u05E8 \u05DE\u05D0\u05E4\u05D9\u05D9\u05DF \u05E9\u05DC %2", + MaxMacroSub1: "\u05DE\u05E1\u05E4\u05E8 \u05E8\u05D1 \u05DE\u05D3\u05D9 \u05E9\u05DC \u05D4\u05D7\u05DC\u05E4\u05D5\u05EA \u05D4\u05DE\u05E7\u05E8\u05D5 \u05D1\u05BEMathJax; \u05D4\u05D0\u05DD \u05D9\u05E9 \u05E7\u05E8\u05D9\u05D0\u05D4 \u05E8\u05E7\u05D5\u05E8\u05E1\u05D9\u05D1\u05D9\u05EA \u05DC\u05DE\u05E7\u05E8\u05D5?", + MaxMacroSub2: "\u05DE\u05E1\u05E4\u05E8 \u05E8\u05D1 \u05DE\u05D3\u05D9 \u05E9\u05DC \u05D4\u05D4\u05D7\u05DC\u05E4\u05D5\u05EA \u05D1\u05BEMathJax; \u05D4\u05D0\u05DD \u05D9\u05E9 \u05E1\u05D1\u05D9\u05D1\u05EA LaTeX \u05E8\u05E7\u05D5\u05E8\u05E1\u05D9\u05D1\u05D9\u05EA?", + MissingArgFor: "\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D7\u05E1\u05E8 \u05E2\u05D1\u05D5\u05E8 \u05C2%1", + ExtraAlignTab: "\u05D8\u05D0\u05D1 \u05D9\u05D9\u05E9\u05D5\u05E8 \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D1\u05D8\u05E7\u05E1\u05D8 \u05D1\u05BE\u200E\\cases", + BracketMustBeDimension: "\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05D1\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DE\u05D3", + InvalidEnv: "\u05E9\u05DD \u05E1\u05D1\u05D9\u05D1\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF '%1'", + UnknownEnv: "\u05E1\u05D1\u05D9\u05D1\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05D9\u05D3\u05D5\u05E2\u05D4 '%1'", + ExtraCloseLooking: "\u05E0\u05DE\u05E6\u05D0 \u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D1\u05E2\u05EA \u05D7\u05D9\u05E4\u05D5\u05E9 \u05D0\u05D7\u05E8 %1", + MissingCloseBracket: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 '\u202A]\u202C' \u05DE\u05E1\u05D9\u05D9\u05DD \u05E2\u05D1\u05D5\u05E8 \u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DC\u05BE\u200E%1", + MissingOrUnrecognizedDelim: "\u05EA\u05D5\u05D7\u05DD \u05D7\u05E1\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05DE\u05D5\u05BC\u05DB\u05E8 \u05E2\u05D1\u05D5\u05E8 \u200E%1", + MissingDimOrUnits: "\u05D7\u05E1\u05E8 \u05DE\u05DE\u05D3 \u05D0\u05D5 \u05D9\u05D7\u05D9\u05D3\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 \u200E%1", + TokenNotFoundForCommand: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 %1 \u05E2\u05D1\u05D5\u05E8 %2", + MathNotTerminated: "\u05E0\u05D5\u05E1\u05D7\u05D4 \u05DE\u05EA\u05DE\u05D8\u05D9\u05EA \u05DC\u05D0 \u05D2\u05DE\u05D5\u05E8\u05D4 \u05D1\u05EA\u05D9\u05D1\u05EA \u05D4\u05D8\u05E7\u05E1\u05D8", + IllegalMacroParam: "\u05D4\u05E4\u05E0\u05D9\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05E0\u05D4 \u05DC\u05E4\u05E8\u05DE\u05D8\u05E8 \u05E9\u05DC \u05DE\u05E7\u05E8\u05D5", + MaxBufferSize: "\u05DE\u05D0\u05D2\u05E8 MathJax \u05E4\u05E0\u05D9\u05DE\u05D9 \u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9; \u05D4\u05D0\u05DD \u05D9\u05E9 \u05DB\u05D0\u05DF \u05E7\u05E8\u05D9\u05D0\u05EA \u05DE\u05E7\u05E8\u05D5 \u05E8\u05E7\u05D5\u05E8\u05E1\u05D9\u05D1\u05D9\u05EA?", + CommandNotAllowedInEnv: "\u200E%1 \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05E8\u05E9\u05D4 \u05D1\u05E1\u05D1\u05D9\u05D1\u05D4 %2", + MultipleLabel: "\u05D4\u05EA\u05D5\u05D5\u05D9\u05EA '%1' \u05DE\u05D5\u05D2\u05D3\u05E8\u05EA \u05DE\u05E1\u05E4\u05E8 \u05E4\u05E2\u05DE\u05D9\u05DD", + CommandAtTheBeginingOfLine: "\u05D4\u05DE\u05E7\u05E8\u05D5 %1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05DB\u05EA\u05D1 \u05D1\u05EA\u05D7\u05D9\u05DC\u05EA \u05D4\u05E9\u05D5\u05E8\u05D4", + IllegalAlign: "\u05D9\u05D9\u05E9\u05D5\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05D4\u05D5\u05D2\u05D3\u05E8 \u05D1\u05BE\u200E%1", + BadMathStyleFor: "\u05E1\u05D2\u05E0\u05D5\u05DF \u05E0\u05D5\u05E1\u05D7\u05D4 \u05D2\u05E8\u05D5\u05E2 \u05E2\u05D1\u05D5\u05E8 \u200E%1", + PositiveIntegerArg: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05E9\u05DC\u05DD \u05D7\u05D9\u05D5\u05D1\u05D9", + ErroneousNestingEq: "\u05E7\u05D9\u05E0\u05D5\u05DF \u05E9\u05D2\u05D5\u05D9 \u05E9\u05DC \u05DE\u05D1\u05E0\u05D9 \u05DE\u05E9\u05D5\u05D5\u05D0\u05D4", + MultlineRowsOneCol: "\u05DC\u05E9\u05D5\u05E8\u05D5\u05EA \u05D1\u05EA\u05D5\u05DA \u05D4\u05E1\u05D1\u05D9\u05D1\u05D4 %1 \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA \u05E8\u05E7 \u05E2\u05DE\u05D5\u05D3\u05D4 \u05D0\u05D7\u05EA", + MultipleBBoxProperty: "\u05D4\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF %1 \u05D4\u05D5\u05D2\u05D3\u05E8 \u05E4\u05E2\u05DE\u05D9\u05D9\u05DD \u05D1\u05BE\u200E%2", + InvalidBBoxProperty: "\u05D4\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF '%1' \u05D0\u05D9\u05E0\u05D5 \u05E0\u05E8\u05D0\u05D4 \u05DB\u05DE\u05D5 \u05E6\u05D1\u05E2, \u05DE\u05DE\u05D3 \u05D3\u05D9\u05E4\u05D5\u05DF \u05D0\u05D5 \u05E1\u05D2\u05E0\u05D5\u05DF", + ExtraEndMissingBegin: "\u05E0\u05DE\u05E6\u05D0 \u200E%1 \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u200E\\begingroup \u05D7\u05E1\u05E8", + GlobalNotFollowedBy: "\u200E%1 \u05E9\u05D0\u05D9\u05DF \u05D0\u05D7\u05E8\u05D9\u05D5 \u200E\\let\u200F, \u200E\\def \u05D0\u05D5 \u200E\\newcommand", + UndefinedColorModel: "\u05D3\u05D2\u05DD \u05D4\u05E6\u05D1\u05E2 '%1' \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05D2\u05D3\u05E8", + ModelArg1: "\u05E2\u05E8\u05DB\u05D9 \u05E6\u05D1\u05E2 \u05E2\u05D1\u05D5\u05E8 \u05D4\u05D3\u05D2\u05DD %1 \u05D3\u05D5\u05E8\u05E9\u05D9\u05DD 3 \u05DE\u05E1\u05E4\u05E8\u05D9\u05DD", + InvalidDecimalNumber: "\u05DE\u05E1\u05E4\u05E8 \u05E2\u05E9\u05E8\u05D5\u05E0\u05D9 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF", + ModelArg2: "\u05E2\u05E8\u05DB\u05D9 \u05E6\u05D1\u05E2 \u05E2\u05D1\u05D5\u05E8 \u05D3\u05D2\u05DD %1 \u05E6\u05E8\u05D9\u05DB\u05D9\u05DD \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05D9\u05DF %2 \u05DC\u05D1\u05D9\u05DF %3", + InvalidNumber: "\u05DE\u05E1\u05E4\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF", + NewextarrowArg1: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D4\u05E8\u05D0\u05E9\u05D5\u05DF \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05E9\u05DD \u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4", + NewextarrowArg2: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D4\u05E9\u05E0\u05D9 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05E9\u05E0\u05D9 \u05DE\u05E1\u05E4\u05E8\u05D9\u05DD \u05E9\u05DC\u05DE\u05D9\u05DD \u05DE\u05D5\u05E4\u05E8\u05D3\u05D9\u05DD \u05D1\u05E4\u05E1\u05D9\u05E7", + NewextarrowArg3: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D4\u05E9\u05DC\u05D9\u05E9\u05D9 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05E1\u05E4\u05E8 \u05EA\u05D5 \u05D9\u05D5\u05E0\u05D9\u05E7\u05D5\u05D3", + NoClosingChar: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 %1 \u05DE\u05E1\u05D9\u05D9\u05DD", + IllegalControlSequenceName: "\u05E9\u05DD \u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05E2\u05D1\u05D5\u05E8 \u200E%1", + IllegalParamNumber: "\u05DE\u05E1\u05E4\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05E9\u05DC \u05E4\u05E8\u05DE\u05D8\u05E8\u05D9\u05DD \u05D4\u05D5\u05D2\u05D3\u05E8 \u05D1\u05BE\u200E%1", + MissingCS: "\u05D0\u05D7\u05E8\u05D9 \u200E%1 \u05D9\u05E9 \u05DC\u05DB\u05EA\u05D5\u05D1 \u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4", + CantUseHash2: "\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05D1\u05BE# \u05D1\u05EA\u05D1\u05E0\u05D9\u05EA \u05E2\u05D1\u05D5\u05E8 %1", + SequentialParam: "\u05D4\u05E4\u05E8\u05DE\u05D8\u05E8\u05D9\u05DD \u05E2\u05D1\u05D5\u05E8 %1 \u05E6\u05E8\u05D9\u05DB\u05D9\u05DD \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DE\u05D5\u05E1\u05E4\u05E8\u05D9\u05DD \u05D1\u05E8\u05E6\u05E3", + MissingReplacementString: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D4\u05D7\u05DC\u05E4\u05D4 \u05D7\u05E1\u05E8\u05D4 \u05E2\u05D1\u05D5\u05E8 \u05D4\u05D4\u05D2\u05D3\u05E8\u05D4 \u05E9\u05DC \u200E%1", + MismatchUseDef: "\u05D4\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1\u05BE\u200E%1 \u05D0\u05D9\u05E0\u05D5 \u05EA\u05D5\u05D0\u05DD \u05DC\u05D4\u05D2\u05D3\u05E8\u05D4 \u05E9\u05DC\u05D5", + RunawayArgument: "\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D1\u05E8\u05D7 \u05DE\u05BE\u200E%1?", + NoClosingDelim: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 \u05EA\u05D5\u05D7\u05DD \u05DE\u05E1\u05D9\u05D9\u05DD \u05E2\u05D1\u05D5\u05E8 \u200E%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/he.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/he.js new file mode 100644 index 00000000..8878647e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/he.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/localization/he/he.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he",null,{ + menuTitle: "\u05E2\u05D1\u05E8\u05D9\u05EA", + fontDirection: "rtl", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u05DE\u05E6\u05D0 \u05E2\u05D5\u05D2\u05D9\u05D9\u05EA \u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05DE\u05E9\u05EA\u05DE\u05E9 \u05E9\u05DB\u05D5\u05DC\u05DC\u05EA \u05E7\u05D5\u05D3 \u05DC\u05D4\u05E8\u05E6\u05D4. \u05D4\u05D0\u05DD \u05DC\u05D4\u05E8\u05D9\u05E5 \u05D0\u05D5\u05EA\u05D5?\n\n(\u05D9\u05E9 \u05DC\u05DC\u05D7\u05D5\u05E5 \"\u05D1\u05D9\u05D8\u05D5\u05DC\" \u05D0\u05DC\u05D0 \u05D0\u05DD \u05D4\u05D2\u05D3\u05E8\u05EA \u05D0\u05EA \u05D4\u05E2\u05D5\u05D2\u05D9\u05D9\u05D4 \u05D1\u05E2\u05E6\u05DE\u05DA.)", + MathProcessingError: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E2\u05D9\u05D1\u05D5\u05D3 \u05E0\u05D5\u05E1\u05D7\u05D4", + MathError: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E0\u05D5\u05E1\u05D7\u05D4", + LoadFile: "\u05D8\u05E2\u05D9\u05E0\u05EA %1", + Loading: "\u05D8\u05E2\u05D9\u05E0\u05D4", + LoadFailed: "\u05D4\u05E7\u05D5\u05D1\u05E5 \u05DC\u05D0 \u05E0\u05D8\u05E2\u05DF: %1", + ProcessMath: "\u05E2\u05D9\u05D1\u05D5\u05D3 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA: %1%%", + Processing: "\u05E2\u05D9\u05D1\u05D5\u05D3", + TypesetMath: "\u05E1\u05D3\u05B7\u05E8 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA: %1%%", + Typesetting: "\u05E1\u05D3\u05B7\u05E8", + MathJaxNotSupported: "\u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D0\u05D9\u05E0\u05D5 \u05EA\u05D5\u05DE\u05DA \u05D1\u05BEMathJax", + ErrorTips: "\u05E2\u05E6\u05D5\u05EA \u05DC\u05EA\u05D9\u05E7\u05D5\u05DF \u05E9\u05D2\u05D9\u05D0\u05D5\u05EA: \u05D4\u05E9\u05EA\u05DE\u05E9\u05D5 \u05D1\u05BE%%1, \u05D1\u05D3\u05E7\u05D5 \u05D0\u05EA %%2 \u05D1\u05DE\u05E1\u05D5\u05E3 \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + if (n === 2) {return 2} // two + if (n !== 0 && n % 10 !== 0) {return 3} // many + return 4; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/he.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/FontWarnings.js new file mode 100644 index 00000000..9f80c16e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ia/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax utilisa typos de litteras discargate del web pro presentar le formulas mathematic in iste pagina. Istes require tempore pro esser discargate; le pagina apparerea plus rapidemente si vos installa le typos de characteres mathematic directemente in le dossier de typos de litteras de vostre computator.", + imageFonts: "MathJax presenta le characteres mathematic per medio de imagines e non usa typos de litteras web o local. Isto rende le presentation plus lente e vostre impressor pote imprimer le formulas a un resolution basse.", + noFonts: "MathJax non ha potite localisar un typo de litteras pro presentar su formulas mathematic, e le characteres in imagines non es disponibile, dunque illo debe usar le characteres Unicode generic in le sperantia que vostre navigator sape monstrar los correctemente. Alcun characteres pote apparer de modo erronee o esser absente.", + webFonts: "Le major parte del navigatores moderne permitte le discargamento de typos de litteras per le web. Si vos actualisa le version de vostre navigator (o cambia de navigator) le qualitate graphic del formulas mathematic in iste pagina poterea meliorar se.", + fonts: "MathJax pote usar le [typos de litteras STIX](%1) o le [typos de litteras TeX de MathJax](%2). Discarga e installa un de istes pro meliorar vostre expreientia de MathJax.", + STIXPage: "Iste pagina ha essite concipite pro usar le [typos de litteras STIX](%1). Discarga e installa istes pro meliorar vostre experientia con MathJax.", + TeXPage: "Iste pagina ha essite concipite pro usar le [typos de litteras TeX de MathJax](%1). Discarga e installa istes pro meliorar vostre experientia con MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HTML-CSS.js new file mode 100644 index 00000000..ef42bbec --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ia/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HelpDialog.js new file mode 100644 index 00000000..f287ac02 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ia/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Adjuta de MathJax", + MathJax: "*MathJax* es un bibliotheca in JavaScript que permitte al autores includer formulas mathematic in lor paginas web. Nulle action del lector es necessari pro facer isto functionar.", + Browsers: "*Navigatores*: MathJax functiona con tote le navigatores web moderne como IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e le major parte del navigatores in apparatos mobile.", + Menu: "*Menu mathematic*: MathJax adde un menu contextual al equationes. Pro acceder a iste menu, clicca sur un formula premente le button dextre del mus o le clave CTRL.", + ShowMath: "*Monstrar formula como* permitte revelar le codice-fonte del formula pro copiar e collar (in formato MathML or in su formato original).", + Settings: "*Configuration* te da le controlo sur le functionalitate de MathJax, como le dimension del formulas, e le mechanismo usate pro presentar equationes.", + Language: "*Lingua* permitte seliger le lingua usate per MathJax pro su menus e messages de aviso.", + Zoom: "*Math Zoom*: Si vos ha difficultate a leger un equation, MathJax pote aggrandir lo pro facilitar le lectura.", + Accessibilty: "*Accessibilitate*: MathJax functiona automaticamente con lectores de schermo pro render le formulas accessibile al personas qui vide mal.", + Fonts: "*Typos de litteras*: MathJax usa certe typos de litteras mathematic si illos es installate in vostre computator; si non, illo usa typos de litteras obtenite per le web. Ben que non obligatori, le typos de litteras installate localmente rendera le composition plus rapide. Nos suggere installar le [typos de litteras STIX](%1)." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathML.js new file mode 100644 index 00000000..3c6a5e5a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ia/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathMenu.js new file mode 100644 index 00000000..8a9764d4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ia/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/TeX.js new file mode 100644 index 00000000..072f4b43 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ia/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/ia.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/ia.js new file mode 100644 index 00000000..36763c96 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/ia.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/ia/ia.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia",null,{ + menuTitle: "interlingua", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax ha trovate un cookie con un configuration de usator que include codice executabile. Executar iste codice?\n\n(Preme Cancellar si vos mesme non ha installate iste cookie.)", + MathProcessingError: "Error de tractamento de formula mathematic", + MathError: "Error in formula", + LoadFile: "Carga %1", + Loading: "Cargamento", + LoadFailed: "Cargamento del file fallite: %1", + ProcessMath: "Tracta formulas: %1%%", + Processing: "Tractamento", + TypesetMath: "Compone formulas: %1%%", + Typesetting: "Composition", + MathJaxNotSupported: "Vostre navigator non supporta MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/ia.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/FontWarnings.js new file mode 100644 index 00000000..0c406620 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/it/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax sta usando dei web font per visualizzare le formule di questa pagina. Tali font richiedono tempo per essere scaricati, perci\u00F2 la pagina sarebbe resa pi\u00F9 velocemente se tu installassi dei font matematici direttamente nella cartella dei font di sistema.", + imageFonts: "MathJax sta usando dei font immagine invece di quelli locali o dei web font. Questo rallenta la resa oltremodo e le formule potrebbero non essere stampate alla massima risoluzione dalla tua stampante.", + noFonts: "MathJax non \u00E8 in grado di trovare un font adatto a visualizzare le formule e i font immagini non sono disponibili; perci\u00F2 utilizzer\u00E1 dei generici caratteri unicode sperando che il tuo browser sia in grado di visualizzarli. Alcuni caratteri potrebbero non essere mostrati correttamente o mancare del tutto.", + webFonts: "I browser attuali permettono di scaricare i font dal web. Aggiornando il tuo browser a una versione pi\u00F9 recente (o cambiando del tutto browser) la qualit\u00E1 delle formule di questa pagina potrebbe migliorare.", + fonts: "MathJax pu\u00F2 usare sia gli [STIX font](%1) che i [MathJax TeX font](%2). Scarica e installa uno di questi font per avere una resa migliore da MathJax.", + STIXPage: "Questa pagina richiede l'uso degli [STIX font](%1). Scarica e installa i suddetti font per avere una resa migliore da MathJax.", + TeXPage: "Questa pagina richiede l'uso dei [MathJax TeX font](%1). Scarica e installa i suddetti font per avere una resa migliore da MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HTML-CSS.js new file mode 100644 index 00000000..178d4a9c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/it/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Caricamento web-font %1", + CantLoadWebFont: "Impossibile caricare il web font %1", + FirefoxCantLoadWebFont: "Firefox non pu\u00F2 scaricare i web font dal server remoto", + CantFindFontUsing: "Impossibile trovare un font valido tra %1", + WebFontsNotAvailable: "Web font non disponibili -- font immagini in uso" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HelpDialog.js new file mode 100644 index 00000000..b0c1c9dc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/it/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Aiuto su MathJax", + MathJax: "*MathJax* \u00E8 una libreria JavaScript che permette agli autori di includere formule matematiche nelle loro pagine web. Come lettore, non devi far nulla perch\u00E9 questo accada.", + Browsers: "*Browser*: MathJax funziona con tutti i moderni browser inclusi IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e gran parte di quelli per cellulare.", + Menu: "*Menu Formule*: MathJax aggiunge un menu contestuale alle equazioni. Fai click col tasto destro del mouse oppure CTRL-click su una qualsiasi formula per accedere a tale menu.", + ShowMath: "*Mostra formula come* ti permette di visualizzare il codice sorgente per il copia e incolla (in formato MathML o in quello originale).", + Settings: "*Impostazioni* permette di controllare le caratteristiche di MathJax, come la grandezza delle formule e il meccanismo usato per mostrare le equazioni.", + Language: "*Lingua* ti permette di selezionare la lingua usata da MathJax nei propri menu e nei messaggi d'avviso.", + Zoom: "*Zoom formula*: se hai difficolt\u00E1 nella lettura di un'equazione, MathJax pu\u00F2 ingrandirla per permetterti di vederla meglio.", + Accessibilty: "*Accessibilit\u00E1*: MathJax funzioner\u00E1 automaticamente con gli screen reader per rendere le formule accessibili a chi ha problemi di vista.", + Fonts: "*Font*: MathJax user\u00E1 certi tipi di font se presenti sul tuo computer; altrimenti usera i web font. Sebbene non sia richiesto, font installati sul proprio computer velocizzeranno l'esecuzione di MathJax. Ti suggeriamo di installare se puoi gli [STIX font](%1).", + CloseDialog: "Chiudi finestra di aiuto" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathML.js new file mode 100644 index 00000000..cc18aff9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/it/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph errato: %1", + BadMglyphFont: "Font errato: %1", + MathPlayer: "MathJax non \u00E8 stato in grado di avviare MathPlayer.\n\nSe MathPlayer non \u00E8 installato, devi prima installarlo.\nPu\u00F2 darsi anche che le tue impostazioni di sicurezza stiano impedendo\nl'esecuzione dei controlli ActiveX. Controlla la voce Opzioni Internet\ndel menu Strumenti e seleziona il pannello Protezione, quindi premi\nil pulsante 'Livello personalizzato...'. Verifica che siano abilitati\n'Esegui controlli ActiveX e plug-in' e 'Comportamento file binari e script'\n\nOra come ora vedrai dei messaggi d'errore al posto delle formule.", + CantCreateXMLParser: "MathJax non \u00E8 in grado di creare un parser XML per MathML. Verifica che\nl'impostazione 'Esegui script controlli ActiveX contrassegnati come sicuri'\nsia abilitata (usa la voce Opzioni Internet nel menu Strumenti,\ne seleziona il pannello Sicurezza, quindi premi il pulsante\n'Livello personalizzato...' per far questo).\n\nLe equazioni in MathML non potranno essere elaborate da MathJax.", + UnknownNodeType: "Tipo di nodo sconosciuto: %1", + UnexpectedTextNode: "Nodo di testo non previsto: %1", + ErrorParsingMathML: "Errore nell'analisi di MathML", + ParsingError: "Errore nell'analisi di MathML: %1", + MathMLSingleElement: "MathML deve essere formato da un singolo elemento", + MathMLRootElement: "MathML deve essere formato da un elemento \u003Cmath\u003E, non %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathMenu.js new file mode 100644 index 00000000..3d27878a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/it/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Mostra formula come", + MathMLcode: "Codice MathML", + OriginalMathML: "MathML originale", + TeXCommands: "Comandi TeX", + AsciiMathInput: "Input AsciiMathML", + Original: "Modulo originale", + ErrorMessage: "Messaggio d'errore", + Annotation: "Annotation", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "Aggiungi suggerimenti Tex a MathML", + Settings: "Impostazioni formule", + ZoomTrigger: "Attivazione zoom", + Hover: "Sopra", + Click: "Click", + DoubleClick: "Doppio-Click", + NoZoom: "Niente zoom", + TriggerRequires: "L'attivazione richiede:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Fattore di zoom", + Renderer: "Processore per le formule", + MPHandles: "Affida a MathPlayer", + MenuEvents: "Eventi menu", + MouseEvents: "Eventi mouse", + MenuAndMouse: "Eventi mouse e menu", + FontPrefs: "Preferenze font", + ForHTMLCSS: "Per HTML-CSS:", + Auto: "Auto", + TeXLocal: "TeX (locale)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (immagini)", + STIXLocal: "STIX (locale)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Menu contestuale", + Browser: "Browser", + Scale: "Scala tutte le formule...", + Discoverable: "Evidenzia al passaggio", + Locale: "Lingua", + LoadLocale: "Scarica dall'URL ...", + About: "Informazioni su MathJax", + Help: "Aiuto di MathJax", + localTeXfonts: "usare font TeX locale", + webTeXfonts: "usare font Tex dal web", + imagefonts: "usare font immagine", + localSTIXfonts: "usare font STIX locale", + webSVGfonts: "usare font SVG dal web", + genericfonts: "usare generici font unicode", + wofforotffonts: "font woff oppure otf", + eotffonts: "font eot", + svgfonts: "font svg", + WebkitNativeMMLWarning: "Il tuo browser non sembra supportare MathML nativamente, perci\u00F2 il passaggio ora all'output MathML potrebbe rendere illegibili le formule della pagina.", + MSIENativeMMLWarning: "Internet Explorer richiede il plugin MathPlayer per processare output MathML.", + OperaNativeMMLWarning: "Il supporto di Opera a MathML \u00E8 limitato, perci\u00F2 passando ora all'output MathML potrebbe succedere che alcune espressioni siano rese in modo scadente.", + SafariNativeMMLWarning: "L'implementazione di MathML del tuo browser non comprende tutte le caratteristiche usate da MathJax, perci\u00F2 alcune espressioni potrebbero non essere visualizzate perfettamente.", + FirefoxNativeMMLWarning: "L'implementazione di MathML del tuo browser non comprende tutte le caratteristiche usate da MathJax, perci\u00F2 alcune espressioni potrebbero non essere visualizzate perfettamente.", + MSIESVGWarning: "SVG non \u00E8 implementato nelle versioni precedenti IE9 oppure quando si sta emulando IE8 o precedenti. Passando all'output SVG le formule non saranno visualizzate correttamente.", + LoadURL: "Scaricamento traduzione da questo indirizzo:", + BadURL: "L'indirizzo dovrebbe puntare a un file Javascript con una traduzione di MathJax. I nomi di file Javascript dovrebbero avere estensione '.js'", + BadData: "Impossibile scaricare la traduzione da %1", + SwitchAnyway: "Passare comunque a questo interprete?\n\n(Premi OK per cambiare, ANNULLA per continuare con la modalit\u00E1 corrente", + ScaleMath: "Scala tutte le formule (comparate al testo circostante) del", + NonZeroScale: "Il fattore di scala non deve essere zero", + PercentScale: "Il fattore di scala deve essere in percentuale (es. 120%%)", + IE8warning: "Questo disabiliter\u00E1 il menu di MathJax e la possibilit\u00E1 di zoom, puoi per\u00F2 accedere lo stesso al menu con Alt-Click su una formula.\n\nCambiare davvero le impostazioni di MathPlayer?", + IE9warning: "Il menu contestuale di MathJax verr\u00E1 disabilitato, ma puoi sempre premere Alt-Click sopra una formula per accedervi comunque.", + NoOriginalForm: "Modulo originale non disponibile", + Close: "Chiudi", + EqSource: "Codice sorgente formula MathJax", + CloseAboutDialog: "Chiudi finestra di informazioni su MathJax", + FastPreview: "Anteprima veloce", + AssistiveMML: "MathML ausiliario", + InTabOrder: "Includi nell'ordine di tabulazione" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/TeX.js new file mode 100644 index 00000000..7b7eba7e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/it/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Graffa d'apertura in pi\u00F9 o di chiusura mancante", + ExtraCloseMissingOpen: "Graffa di chiusura in pi\u00F9 o d'apertura mancante", + MissingLeftExtraRight: "Comando \\left mancante oppure \\right extra", + MissingScript: "Argomento per l'esponente o per l'indice mancante", + ExtraLeftMissingRight: "Comando \\left extra oppure \\right mancante", + Misplaced: "%1 mal posizionato", + MissingOpenForSub: "Graffa d'apertura per l'indice mancante", + MissingOpenForSup: "Graffa d'apertura per l'esponente mancante", + AmbiguousUseOf: "Uso ambiguo di %1", + EnvBadEnd: "\\begin{%1} terminato con \\end{%2}", + EnvMissingEnd: "\\end{%1} mancante", + MissingBoxFor: "Box per %1 mancante", + MissingCloseBrace: "Graffa di chiusura mancante", + UndefinedControlSequence: "Sequenza di controllo %1 indefinita", + DoubleExponent: "Esponente doppio: usa le parentesi per distinguerli", + DoubleSubscripts: "Doppio indice: usa le parentesi per distinguerli", + DoubleExponentPrime: "Simbolo di primo visto come secondo esponente: usa le parentesi per chiarire", + CantUseHash1: "Non puoi usare il carattere # come parametro delle macro in modalit\u00E1 matematica", + MisplacedMiddle: "%1 deve trovarsi tra \\left e \\right", + MisplacedLimits: "%1 \u00E8 consentito solo con operatori", + MisplacedMoveRoot: "%1 pu\u00F2 appare solo sotto radice", + MultipleCommand: "%1 multipli", + IntegerArg: "L'argomento di %1 deve essere un intero", + NotMathMLToken: "%1 non \u00E8 un token", + InvalidMathMLAttr: "Attributo MathML non valido: %1", + UnknownAttrForElement: "%1 non \u00E8 un attributo riconosciuto per %2", + MaxMacroSub1: "Numero massimo per le sostituzioni di macro superato da MathJax; forse una chiamata di macro ricorsiva?", + MaxMacroSub2: "Numero massimo per le sostituzioni superato da MathJax; forse un'ambiente LaTeX ricorsivo?", + MissingArgFor: "Argomento di %1 mancante", + ExtraAlignTab: "Tabulazione d'allineamento extra nel testo di \\cases", + BracketMustBeDimension: "L'argomento tra parentesi per %1 deve essere una dimensione", + InvalidEnv: "Nome d'ambiente non valido '%1'", + UnknownEnv: "Ambiente sconosciuto '%1'", + ExtraCloseLooking: "Graffa di chiusura extra durante la ricerca di %1", + MissingCloseBracket: "Parentesi ] per l'argomento di %1 non trovata", + MissingOrUnrecognizedDelim: "Delimitatore per %1 mancante o non riconosciuto", + MissingDimOrUnits: "Dimensione o sue unit\u00E1 mancanti per %1", + TokenNotFoundForCommand: "Impossibile trovare %1 per %2", + MathNotTerminated: "Formula non terminata in box di testo", + IllegalMacroParam: "Riferimento a un parametro di macro illegale", + MaxBufferSize: "Dimensione del buffer interno di MathJax superato; chiamata di macro ricorsiva?", + CommandNotAllowedInEnv: "%1 non \u00E8 consentito nell'ambiente %2", + MultipleLabel: "Etichetta '%1' definita pi\u00F9 volte", + CommandAtTheBeginingOfLine: "%1 deve trovarsi all'inizio della riga", + IllegalAlign: "Allineamento specificato in %1 illegale", + BadMathStyleFor: "Stile math inadatto a %1", + PositiveIntegerArg: "L'argomento di %1 deve essere un intero positivo", + ErroneousNestingEq: "Annidamento di strutture di equazioni errato", + MultlineRowsOneCol: "Le righe nell'ambiente %1 devono avere esattamente una colonna", + MultipleBBoxProperty: "%1 specificato due volte in %2", + InvalidBBoxProperty: "'%1' non sembra un colore, una spaziatura o uno stile", + ExtraEndMissingBegin: "%1 extra oppure \\begingroup mancante", + GlobalNotFollowedBy: "%1 non seguito da \\let, \\def o \\newcommand", + UndefinedColorModel: "Modello colore '%1' non definito", + ModelArg1: "I valori di colore per il modello %1 richiedono tre numeri", + InvalidDecimalNumber: "Numero decimale non valido", + ModelArg2: "I valori di colore per il modello %1 devono essere compresi tra %2 e %3", + InvalidNumber: "Numero non valido", + NewextarrowArg1: "Il primo argomento di %1 deve essere il nome di una sequenza di controllo", + NewextarrowArg2: "Il secondo argomento di %1 devono essere due numeri separati da una virgola", + NewextarrowArg3: "Il terzo argomento di %1 deve essere un codice di un carattere unicode", + NoClosingChar: "Impossibile trovare la parentesi di chiusura %1", + IllegalControlSequenceName: "Nome sequenza di controllo illegale per %1", + IllegalParamNumber: "Numero di parametri specificato in %1 illegale", + MissingCS: "%1 deve essere seguito da una sequenza di controllo", + CantUseHash2: "Uso di # non consentito nel modello di %1", + SequentialParam: "I parametri per %1 devono essere numerati consecutivamente", + MissingReplacementString: "Stringa di sostituzione per la definizione di %1 mancante", + MismatchUseDef: "L'uso di %1 non combacia con la sua definizione", + RunawayArgument: "Perso un argomento per %1?", + NoClosingDelim: "Impossibile trovare delimitatore di chiusura per %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/it.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/it.js new file mode 100644 index 00000000..988b9939 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/it.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/it/it.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it",null,{ + menuTitle: "italiano", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax ha trovato un cookie di configurazione utente che include del codice eseguibile. Vuoi eseguirlo?\n\n(Premi Annulla a meno che non l'abbia effettivamente impostato tu.)", + MathProcessingError: "Errore elaborazione della formula", + MathError: "Errore nella formula", + LoadFile: "Caricamento %1", + Loading: "Caricamento", + LoadFailed: "Caricamento del file fallito: %1", + ProcessMath: "Elaborazione formula: %1%%", + Processing: "Elaborazione in corso", + TypesetMath: "Composizione della formula: %1%%", + Typesetting: "Composizione", + MathJaxNotSupported: "Il tuo browser non supporta MathJax", + ErrorTips: "Suggerimenti per il debug: utilizza %%1, ispeziona %%2 nella console del browser" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/it.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/FontWarnings.js new file mode 100644 index 00000000..1c1d612a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ja/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u306F\u3053\u306E\u30DA\u30FC\u30B8\u3067\u3001\u6570\u5F0F\u3092\u8868\u793A\u3059\u308B\u305F\u3081\u306B\u30A6\u30A7\u30D6 \u30D9\u30FC\u30B9\u306E\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002\u30D5\u30A9\u30F3\u30C8\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u306B\u6642\u9593\u304C\u304B\u304B\u308B\u305F\u3081\u3001\u3042\u306A\u305F\u306E\u30B7\u30B9\u30C6\u30E0\u306E\u30D5\u30A9\u30F3\u30C8 \u30D5\u30A9\u30EB\u30C0\u30FC\u306B\u6570\u5F0F\u30D5\u30A9\u30F3\u30C8\u3092\u76F4\u63A5\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u3053\u3068\u3067\u30DA\u30FC\u30B8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u304C\u3088\u308A\u901F\u304F\u306A\u308A\u307E\u3059\u3002", + imageFonts: "MathJax \u306F\u30ED\u30FC\u30AB\u30EB \u30D5\u30A9\u30F3\u30C8\u3084 Web \u30D5\u30A9\u30F3\u30C8\u3067\u306F\u306A\u304F\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002\u63CF\u753B\u304C\u901A\u5E38\u3088\u308A\u9045\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u3001\u30D7\u30EA\u30F3\u30BF\u30FC\u3067\u306E\u9AD8\u89E3\u50CF\u5EA6\u306E\u5370\u5237\u306B\u5411\u304B\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + noFonts: "MathJax \u304C\u6570\u5F0F\u306E\u8868\u793A\u306B\u4F7F\u7528\u3059\u308B\u30D5\u30A9\u30F3\u30C8\u3092\u898B\u3064\u3051\u3089\u308C\u305A\u3001\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3082\u5229\u7528\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u4EE3\u308F\u308A\u306B\u6C4E\u7528\u306E Unicode \u6587\u5B57\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u304C\u8868\u793A\u3067\u304D\u308B\u3082\u306E\u3068\u671F\u5F85\u3057\u3066\u3044\u307E\u3059\u304C\u3001\u4E00\u90E8\u306E\u6587\u5B57\u304C\u9069\u5207\u306B\u8868\u793A\u3055\u308C\u306A\u3044\u3001\u307E\u305F\u306F\u5168\u304F\u8868\u793A\u3055\u308C\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + webFonts: "\u591A\u304F\u306E\u30A6\u30A7\u30D6 \u30D6\u30E9\u30A6\u30B6\u30FC\u306F\u30A6\u30A7\u30D6\u304B\u3089\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3067\u304D\u307E\u3059\u3002\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u3092\u3088\u308A\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u66F4\u65B0\u3059\u308B (\u307E\u305F\u306F\u5225\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306B\u5909\u66F4\u3059\u308B) \u3053\u3068\u3067\u3001\u3053\u306E\u30DA\u30FC\u30B8\u306E\u6570\u5F0F\u306E\u54C1\u8CEA\u304C\u5411\u4E0A\u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002", + fonts: "MathJax \u3067\u306F [STIX \u30D5\u30A9\u30F3\u30C8](%1)\u3084 [MathJax Tex \u30D5\u30A9\u30F3\u30C8](%2)\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002MathJax \u4F53\u9A13\u3092\u6539\u5584\u3059\u308B\u305F\u3081\u306B\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304A\u3088\u3073\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002", + STIXPage: "\u3053\u306E\u30DA\u30FC\u30B8\u306F [STIX \u30D5\u30A9\u30F3\u30C8](%1)\u3092\u4F7F\u7528\u3059\u308B\u3088\u3046\u306B\u8A2D\u8A08\u3055\u308C\u3066\u3044\u307E\u3059\u3002MathJax \u4F53\u9A13\u3092\u6539\u5584\u3059\u308B\u305F\u3081\u306B\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304A\u3088\u3073\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002", + TeXPage: "\u3053\u306E\u30DA\u30FC\u30B8\u306F [MathJax TeX \u30D5\u30A9\u30F3\u30C8](%1)\u3092\u4F7F\u7528\u3059\u308B\u3088\u3046\u306B\u8A2D\u8A08\u3055\u308C\u3066\u3044\u307E\u3059\u3002MathJax \u4F53\u9A13\u3092\u6539\u5584\u3059\u308B\u305F\u3081\u306B\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304A\u3088\u3073\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HTML-CSS.js new file mode 100644 index 00000000..2c0acf23 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ja/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Web \u30D5\u30A9\u30F3\u30C8 %1 \u3092\u8AAD\u307F\u8FBC\u307F\u4E2D", + CantLoadWebFont: "Web \u30D5\u30A9\u30F3\u30C8 %1 \u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093", + FirefoxCantLoadWebFont: "Firefox \u306F\u3001\u30EA\u30E2\u30FC\u30C8 \u30DB\u30B9\u30C8\u306E Web \u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093", + CantFindFontUsing: "%1 \u3067\u6709\u52B9\u306A\u30D5\u30A9\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093", + WebFontsNotAvailable: "Web \u30D5\u30A9\u30F3\u30C8\u3092\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u4EE3\u308F\u308A\u306B\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u307E\u3059" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HelpDialog.js new file mode 100644 index 00000000..e1d8871d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ja/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax \u30D8\u30EB\u30D7", + MathJax: "*MathJax* \u306F\u30A6\u30A7\u30D6 \u30DA\u30FC\u30B8\u306E\u88FD\u4F5C\u8005\u304C\u30DA\u30FC\u30B8\u306B\u6570\u5F0F\u3092\u57CB\u3081\u8FBC\u3081\u308B\u3088\u3046\u306B\u3059\u308B JavaScript \u30E9\u30A4\u30D6\u30E9\u30EA\u3067\u3059\u3002\u95B2\u89A7\u8005\u5074\u3067\u306F\u6570\u5F0F\u3092\u95B2\u89A7\u3059\u308B\u306E\u306B\u4F55\u3082\u5FC5\u8981\u3068\u3057\u307E\u305B\u3093\u3002", + Browsers: "*\u30D6\u30E9\u30A6\u30B6\u30FC*: MathJax \u306F\u3001IE6 \u4EE5\u964D\u3001Chrome 0.2 \u4EE5\u964D\u3001Safari 2 \u4EE5\u964D\u3001Opera 9.6 \u4EE5\u964D\u3001\u307B\u3068\u3093\u3069\u306E\u30E2\u30D0\u30A4\u30EB \u30D6\u30E9\u30A6\u30B6\u30FC\u3092\u542B\u3080\u3001\u30E2\u30C0\u30F3 \u30D6\u30E9\u30A6\u30B6\u30FC\u3067\u52D5\u4F5C\u3057\u307E\u3059\u3002", + Menu: "*\u6570\u5F0F\u30E1\u30CB\u30E5\u30FC*: MathJax \u306F\u6570\u5F0F\u306B\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \u30E1\u30CB\u30E5\u30FC\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\u4EFB\u610F\u306E\u6570\u5F0F\u3092\u53F3\u30AF\u30EA\u30C3\u30AF\u307E\u305F\u306F Ctrl+\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u30E1\u30CB\u30E5\u30FC\u304C\u958B\u304D\u307E\u3059\u3002", + ShowMath: "*\u6570\u5F0F\u3092\u8868\u793A*\u3067\u306F\u3001\u6570\u5F0F\u306E\u30BD\u30FC\u30B9 \u30DE\u30FC\u30AF\u30A2\u30C3\u30D7\u3092\u8868\u793A\u3057\u3066\u30B3\u30D4\u30FC \u0026 \u30DA\u30FC\u30B9\u30C8\u3067\u304D\u307E\u3059 (MathML \u3084\u5143\u306E\u5F62\u5F0F\u3067)\u3002", + Settings: "*\u8A2D\u5B9A*\u3067\u306F\u3001MathJax \u306E\u6A5F\u80FD\u3092\u5236\u5FA1\u3067\u304D\u307E\u3059\u3002\u6570\u5F0F\u306E\u30B5\u30A4\u30BA\u3001\u6570\u5F0F\u306E\u8868\u793A\u306B\u4F7F\u7528\u3059\u308B\u30E1\u30AB\u30CB\u30BA\u30E0\u306A\u3069\u3002", + Language: "*\u8A00\u8A9E*\u3067\u306F\u3001MathJax \u304C\u30E1\u30CB\u30E5\u30FC\u3084\u8B66\u544A\u30E1\u30C3\u30BB\u30FC\u30B8\u306B\u4F7F\u7528\u3059\u308B\u8A00\u8A9E\u3092\u9078\u629E\u3067\u304D\u307E\u3059\u3002", + Zoom: "*\u6570\u5F0F\u306E\u30BA\u30FC\u30E0*: \u6570\u5F0F\u3092\u8AAD\u307F\u53D6\u308B\u306E\u304C\u56F0\u96E3\u306A\u5834\u5408\u306F\u3001MathJax \u304C\u62E1\u5927\u3057\u3066\u8AAD\u307F\u3084\u3059\u304F\u3067\u304D\u307E\u3059\u3002", + Accessibilty: "*\u30A2\u30AF\u30BB\u30B7\u30D3\u30EA\u30C6\u30A3*: MathJax \u306F\u81EA\u52D5\u7684\u306B\u30C6\u30AD\u30B9\u30C8 \u30EA\u30FC\u30C0\u30FC\u3067\u6570\u5F0F\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u308B\u3088\u3046\u306B\u3057\u307E\u3059 (\u8996\u899A\u969C\u5BB3\u8005\u5411\u3051)\u3002", + Fonts: "*\u30D5\u30A9\u30F3\u30C8*: MathJax \u306F\u3001\u7279\u5B9A\u306E\u6570\u5F0F\u30D5\u30A9\u30F3\u30C8\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u305D\u308C\u3092\u4F7F\u7528\u3057\u3001\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u306F Web \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u5FC5\u9808\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30ED\u30FC\u30AB\u30EB\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u3053\u3068\u3067\u7D44\u7248\u304C\u9AD8\u901F\u5316\u3055\u308C\u307E\u3059\u3002[STIX \u30D5\u30A9\u30F3\u30C8](%1)\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u3053\u3068\u3092\u304A\u52E7\u3081\u3057\u307E\u3059\u3002" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathML.js new file mode 100644 index 00000000..28b4aeb5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ja/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u8AA4\u3063\u305F mglyph: %1", + BadMglyphFont: "\u8AA4\u3063\u305F\u30D5\u30A9\u30F3\u30C8: %1", + MathPlayer: "MathJax \u306F MathPlayer \u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n\nMathPlayer \u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u3044\u306A\u3044\u5834\u5408\u306F\u3001\n\u307E\u305A\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u8A2D\u5B9A\u3067 ActiveX\n\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u306E\u5B9F\u884C\u3092\u62D2\u5426\u3057\u3066\u3044\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\n[\u30C4\u30FC\u30EB] \u30E1\u30CB\u30E5\u30FC\u306E [\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8 \u30AA\u30D7\u30B7\u30E7\u30F3] \u3067\u3001\n[\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3] \u30BF\u30D6\u306E [\u30EC\u30D9\u30EB\u306E\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA] \u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n[Active \u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u306E\u5B9F\u884C] \u3068 [\u30D0\u30A4\u30CA\u30EA \u30D3\u30D8\u30A4\u30D3\u30A2\u30FC\u3068\u30B9\u30AF\u30EA\u30D7\u30C8\n\u30D3\u30D8\u30A4\u30D3\u30A2\u30FC] \u304C\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\n\u73FE\u6642\u70B9\u3067\u306F\u3001\u6570\u5F0F\u304C\u7D44\u7248\u3055\u308C\u305A\u3001\u30A8\u30E9\u30FC \u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002", + CantCreateXMLParser: "MathJax \u306F MathML \u7528\u306E XML \u30D1\u30FC\u30B5\u30FC\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n\u300C\u30B9\u30AF\u30EA\u30D7\u30C8\u3092\u5B9F\u884C\u3057\u3066\u3082\u5B89\u5168\u3060\u3068\u30DE\u30FC\u30AF\u3055\u308C\u3066\u3044\u308B ActiveX\n\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u306E\u30B9\u30AF\u30EA\u30D7\u30C8\u306E\u5B9F\u884C\u300D\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u308B\u304B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\n([\u30C4\u30FC\u30EB] \u30E1\u30CB\u30E5\u30FC\u306E [\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8 \u30AA\u30D7\u30B7\u30E7\u30F3] \u3092\u9078\u629E\u3057\u3001\n[\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3] \u30BF\u30D6\u306E [\u30EC\u30D9\u30EB\u306E\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA] \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059)\u3002\n\nMathML \u306E\u6570\u5F0F\u3092 MathML \u304C\u51E6\u7406\u3067\u304D\u306A\u304F\u306A\u308A\u307E\u3059\u3002", + UnknownNodeType: "\u4E0D\u660E\u306A\u7A2E\u985E\u306E\u30CE\u30FC\u30C9: %1", + UnexpectedTextNode: "\u4E88\u671F\u3057\u306A\u3044\u30C6\u30AD\u30B9\u30C8 \u30CE\u30FC\u30C9: %1", + ErrorParsingMathML: "MathML \u306E\u69CB\u6587\u89E3\u6790\u30A8\u30E9\u30FC", + ParsingError: "MathML \u306E\u69CB\u6587\u89E3\u6790\u30A8\u30E9\u30FC: %1", + MathMLSingleElement: "MathML \u306F\u5358\u4E00\u306E\u8981\u7D20\u3067\u69CB\u6210\u3057\u3066\u304F\u3060\u3055\u3044", + MathMLRootElement: "MathML \u306F %1 \u3067\u306F\u306A\u304F \u003Cmath\u003E \u8981\u7D20\u3067\u69CB\u6210\u3057\u3066\u304F\u3060\u3055\u3044" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathMenu.js new file mode 100644 index 00000000..b8fb679c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathMenu.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/localization/ja/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u6570\u5F0F\u3092\u6B21\u306E\u5F62\u5F0F\u3067\u8868\u793A", + MathMLcode: "MathML \u30B3\u30FC\u30C9", + OriginalMathML: "\u5143\u306E MathML", + TeXCommands: "TeX \u30B3\u30DE\u30F3\u30C9", + AsciiMathInput: "AsciiMathML \u5165\u529B", + Original: "\u5143\u306E\u5F62\u5F0F", + ErrorMessage: "\u30A8\u30E9\u30FC \u30E1\u30C3\u30BB\u30FC\u30B8", + Annotation: "\u6CE8\u91C8", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "MathML \u3067 TeX \u306E\u30D2\u30F3\u30C8\u3092\u8868\u793A", + Settings: "\u6570\u5F0F\u306E\u8A2D\u5B9A", + ZoomTrigger: "\u30BA\u30FC\u30E0\u306E\u958B\u59CB\u64CD\u4F5C", + Hover: "\u30DB\u30D0\u30FC", + Click: "\u30AF\u30EA\u30C3\u30AF", + DoubleClick: "\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF", + NoZoom: "\u30BA\u30FC\u30E0\u306A\u3057", + TriggerRequires: "\u5FC5\u8981\u306A\u30AD\u30FC:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "\u30BA\u30FC\u30E0\u306E\u500D\u7387", + Renderer: "\u6570\u5F0F\u30EC\u30F3\u30C0\u30E9\u30FC", + MPHandles: "\u6570\u5F0F\u30D7\u30EC\u30FC\u30E4\u30FC\u306B\u51E6\u7406\u3055\u305B\u308B\u30A4\u30D9\u30F3\u30C8:", + MenuEvents: "\u30E1\u30CB\u30E5\u30FC \u30A4\u30D9\u30F3\u30C8", + MouseEvents: "\u30DE\u30A6\u30B9 \u30A4\u30D9\u30F3\u30C8", + MenuAndMouse: "\u30DE\u30A6\u30B9\u3068\u30E1\u30CB\u30E5\u30FC\u306E\u30A4\u30D9\u30F3\u30C8", + FontPrefs: "\u30D5\u30A9\u30F3\u30C8\u306E\u8A2D\u5B9A", + ForHTMLCSS: "HTML-CSS:", + Auto: "\u81EA\u52D5", + TeXLocal: "TeX (\u30ED\u30FC\u30AB\u30EB)", + TeXWeb: "TeX (Web)", + TeXImage: "TeX (\u753B\u50CF)", + STIXLocal: "STIX (\u30ED\u30FC\u30AB\u30EB)", + STIXWeb: "STIX (Web)", + AsanaMathWeb: "Asana Math (Web)", + GyrePagellaWeb: "Gyre Pagella (Web)", + GyreTermesWeb: "Gyre Termes (Web)", + LatinModernWeb: "Latin Modern (Web)", + NeoEulerWeb: "Neo Euler (Web)", + ContextMenu: "\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \u30E1\u30CB\u30E5\u30FC", + Browser: "\u30D6\u30E9\u30A6\u30B6\u30FC", + Scale: "\u3059\u3079\u3066\u306E\u6570\u5F0F\u306E\u500D\u7387\u3092\u5909\u66F4...", + Discoverable: "\u30DB\u30D0\u30FC\u6642\u306B\u5F37\u8ABF", + Locale: "\u8A00\u8A9E", + LoadLocale: "URL \u304B\u3089\u8AAD\u307F\u8FBC\u3080...", + About: "MathJax \u306B\u3064\u3044\u3066", + Help: "MathJax \u30D8\u30EB\u30D7", + localTeXfonts: "\u30ED\u30FC\u30AB\u30EB TeX \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + webTeXfonts: "Web TeX \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + imagefonts: "\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + localSTIXfonts: "\u30ED\u30FC\u30AB\u30EB STIX \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + webSVGfonts: "Web SVG \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + genericfonts: "\u6C4E\u7528 Unicode \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + wofforotffonts: "WOFF \u30D5\u30A9\u30F3\u30C8\u307E\u305F\u306F OTF \u30D5\u30A9\u30F3\u30C8", + eotffonts: "EOT \u30D5\u30A9\u30F3\u30C8", + svgfonts: "SVG \u30D5\u30A9\u30F3\u30C8", + WebkitNativeMMLWarning: "\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306F MathML \u306B\u30CD\u30A4\u30C6\u30A3\u30D6\u5BFE\u5FDC\u3057\u3066\u3044\u306A\u3044\u3068\u601D\u308F\u308C\u308B\u305F\u3081\u3001MathML \u51FA\u529B\u306B\u5207\u308A\u66FF\u3048\u308B\u3068\u30DA\u30FC\u30B8\u5185\u306E\u6570\u5F0F\u304C\u5224\u8AAD\u4E0D\u80FD\u306B\u306A\u308B\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + MSIENativeMMLWarning: "Internet Explorer \u3067\u306F\u3001MathML \u51FA\u529B\u3092\u51E6\u7406\u3059\u308B\u305F\u3081\u306B MathPlayer \u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u5FC5\u8981\u3067\u3059\u3002", + OperaNativeMMLWarning: "Opera \u306F MathML \u306B\u5B8C\u5168\u306B\u306F\u5BFE\u5FDC\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001MathML \u51FA\u529B\u306B\u5207\u308A\u66FF\u3048\u308B\u3068\u6570\u5F0F\u306E\u63CF\u753B\u304C\u4E0D\u5B8C\u5168\u306B\u306A\u308B\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + SafariNativeMMLWarning: "\u3042\u306A\u305F\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306E\u30CD\u30A4\u30C6\u30A3\u30D6 MathML \u306F\u3001MathJax \u304C\u4F7F\u7528\u3059\u308B\u6A5F\u80FD\u3092\u3059\u3079\u3066\u306F\u5B9F\u88C5\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u6570\u5F0F\u306E\u4E00\u90E8\u304C\u9069\u5207\u306B\u63CF\u753B\u3055\u308C\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + FirefoxNativeMMLWarning: "\u3042\u306A\u305F\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306E\u30CD\u30A4\u30C6\u30A3\u30D6 MathML \u306F\u3001MathJax \u304C\u4F7F\u7528\u3059\u308B\u6A5F\u80FD\u3092\u3059\u3079\u3066\u306F\u5B9F\u88C5\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u6570\u5F0F\u306E\u4E00\u90E8\u304C\u9069\u5207\u306B\u63CF\u753B\u3055\u308C\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + MSIESVGWarning: "IE9 \u3088\u308A\u524D\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306E\u5834\u5408\u3001\u307E\u305F\u306F IE8 \u4EE5\u524D\u3092\u30A8\u30DF\u30E5\u30EC\u30FC\u30C8\u3057\u3066\u3044\u308B\u5834\u5408\u3001Internet Explorer \u306B\u306F SVG \u304C\u5B9F\u88C5\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002SVG \u306B\u5207\u308A\u66FF\u3048\u308B\u3068\u3001\u6570\u5F0F\u304C\u9069\u5207\u306B\u8868\u793A\u3055\u308C\u306A\u304F\u306A\u308A\u307E\u3059\u3002", + LoadURL: "\u7FFB\u8A33\u30C7\u30FC\u30BF\u3092\u8AAD\u307F\u8FBC\u3080 URL:", + BadURL: "MathJax \u7FFB\u8A33\u30C7\u30FC\u30BF\u3092\u5B9A\u7FA9\u3059\u308B JavaScript \u30D5\u30A1\u30A4\u30EB\u306E URL \u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u3001JavaScript \u306E\u30D5\u30A1\u30A4\u30EB\u540D\u306E\u672B\u5C3E\u306F\u300C.js\u300D\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002", + BadData: "%1 \u304B\u3089\u7FFB\u8A33\u30C7\u30FC\u30BF\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F", + SwitchAnyway: "\u30EC\u30F3\u30C0\u30E9\u30FC\u3092\u672C\u5F53\u306B\u5207\u308A\u66FF\u3048\u307E\u3059\u304B?\n\n(\u5207\u308A\u66FF\u3048\u308B\u306B\u306F OK \u3092\u3001\u73FE\u5728\u306E\u30EC\u30F3\u30C0\u30E9\u30FC\u306E\u307E\u307E\u306B\u3059\u308B\u306B\u306F\u30AD\u30E3\u30F3\u30BB\u30EB\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044)", + ScaleMath: "\u3059\u3079\u3066\u306E\u6570\u5F0F\u306E\u500D\u7387 (\u5468\u56F2\u306E\u30C6\u30AD\u30B9\u30C8\u3068\u306E\u6BD4)", + NonZeroScale: "\u500D\u7387\u306B 0 \u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093", + PercentScale: "\u500D\u7387\u306F\u767E\u5206\u7387\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093 (\u4F8B: 120%%)", + IE8warning: "MathJax \u306E\u30E1\u30CB\u30E5\u30FC\u3068\u30BA\u30FC\u30E0\u6A5F\u80FD\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u304C\u3001\u4EE3\u308F\u308A\u306B\u6570\u5F0F\u3092 Alt+\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068 MathJax \u306E\u30E1\u30CB\u30E5\u30FC\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\n\nMathPlayer \u306E\u8A2D\u5B9A\u3092\u672C\u5F53\u306B\u5909\u66F4\u3057\u307E\u3059\u304B?", + IE9warning: "MathJax \u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \u30E1\u30CB\u30E5\u30FC\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u304C\u3001\u4EE3\u308F\u308A\u306B\u6570\u5F0F\u3092 Alt+\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068 MathJax \u306E\u30E1\u30CB\u30E5\u30FC\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002", + NoOriginalForm: "\u5143\u306E\u5F62\u5F0F\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093", + Close: "\u9589\u3058\u308B", + EqSource: "MathJax \u6570\u5F0F\u306E\u30BD\u30FC\u30B9" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/TeX.js new file mode 100644 index 00000000..48be6a96 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/ja/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u4F59\u5206\u3001\u307E\u305F\u306F\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + ExtraCloseMissingOpen: "\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u4F59\u5206\u3001\u307E\u305F\u306F\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + MissingLeftExtraRight: "\\left \u304C\u4E0D\u8DB3\u3001\u307E\u305F\u306F \\right \u304C\u4F59\u5206\u3067\u3059", + MissingScript: "\u4E0A\u4ED8\u304D\u307E\u305F\u306F\u4E0B\u4ED8\u304D\u306E\u5F15\u6570\u304C\u3042\u308A\u307E\u305B\u3093", + ExtraLeftMissingRight: "\\left \u304C\u4F59\u5206\u3001\u307E\u305F\u306F \\right \u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + Misplaced: "%1 \u306E\u4F4D\u7F6E\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093", + MissingOpenForSub: "\u4E0B\u4ED8\u304D\u306E\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u3042\u308A\u307E\u305B\u3093", + MissingOpenForSup: "\u4E0A\u4ED8\u304D\u306E\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u3042\u308A\u307E\u305B\u3093", + AmbiguousUseOf: "%1 \u306E\u8A18\u8FF0\u304C\u66D6\u6627\u3067\u3059", + EnvBadEnd: "\\begin{%1} \u304C \\end{%2} \u3067\u7D42\u4E86\u3057\u3066\u3044\u307E\u3059", + EnvMissingEnd: "\\end{%1} \u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + MissingBoxFor: "%1 \u306E\u30DC\u30C3\u30AF\u30B9\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + MissingCloseBrace: "\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + UndefinedControlSequence: "\u672A\u5B9A\u7FA9\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9 %1", + DoubleExponent: "\u4E8C\u91CD\u306E\u4E0A\u4ED8\u304D: \u4E2D\u62EC\u5F27\u3092\u4F7F\u7528\u3057\u3066\u660E\u78BA\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + DoubleSubscripts: "\u4E8C\u91CD\u306E\u4E0B\u4ED8\u304D: \u4E2D\u62EC\u5F27\u3092\u4F7F\u7528\u3057\u3066\u660E\u78BA\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + DoubleExponentPrime: "\u30D7\u30E9\u30A4\u30E0\u8A18\u53F7\u306B\u3088\u308B\u4E8C\u91CD\u306E\u4E0A\u4ED8\u304D: \u4E2D\u62EC\u5F27\u3092\u4F7F\u7528\u3057\u3066\u660E\u78BA\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + CantUseHash1: "\u6570\u5F0F\u30E2\u30FC\u30C9\u3067\u306F\u300C\u30DE\u30AF\u30ED \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u6587\u5B57 #\u300D\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093", + MisplacedMiddle: "%1 \u306F \\left \u3068 \\right \u306E\u9593\u306B\u914D\u7F6E\u3057\u3066\u304F\u3060\u3055\u3044", + MisplacedLimits: "%1 \u306F\u6F14\u7B97\u5B50\u306E\u307F\u306B\u4F7F\u7528\u3067\u304D\u307E\u3059", + MisplacedMoveRoot: "%1 \u306F\u30EB\u30FC\u30C8\u5185\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059", + MultipleCommand: "%1 \u304C\u8907\u6570\u3042\u308A\u307E\u3059", + IntegerArg: "%1 \u306E\u5F15\u6570\u306F\u6574\u6570\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + NotMathMLToken: "%1 \u306F\u30C8\u30FC\u30AF\u30F3\u8981\u7D20\u3067\u306F\u3042\u308A\u307E\u305B\u3093", + InvalidMathMLAttr: "\u7121\u52B9\u306A MathML \u5C5E\u6027: %1", + UnknownAttrForElement: "%1 \u3092 %2 \u306E\u5C5E\u6027\u3068\u3057\u3066\u8A8D\u8B58\u3067\u304D\u307E\u305B\u3093", + MaxMacroSub1: "MathJax \u306E\u30DE\u30AF\u30ED\u5C55\u958B\u56DE\u6570\u306E\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u3002\u30DE\u30AF\u30ED\u3092\u518D\u5E30\u547C\u3073\u51FA\u3057\u3057\u3066\u3057\u307E\u3063\u3066\u3044\u307E\u305B\u3093\u304B?", + MaxMacroSub2: "MathJax \u306E\u5C55\u958B\u56DE\u6570\u306E\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u3002LaTeX \u74B0\u5883\u3092\u518D\u5E30\u547C\u3073\u51FA\u3057\u3057\u3066\u3057\u307E\u3063\u3066\u3044\u307E\u305B\u3093\u304B?", + MissingArgFor: "%1 \u306E\u5F15\u6570\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + ExtraAlignTab: "\\case \u306E\u30C6\u30AD\u30B9\u30C8\u5185\u3067\u3001\u914D\u7F6E\u7528\u30BF\u30D6\u304C\u4F59\u5206\u3067\u3059", + BracketMustBeDimension: "%1 \u306E\u4E2D\u62EC\u5F27\u5F15\u6570\u306F\u5BF8\u6CD5\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + InvalidEnv: "\u74B0\u5883\u540D\u300C%1\u300D\u306F\u7121\u52B9\u3067\u3059", + UnknownEnv: "\u74B0\u5883\u300C%1\u300D\u306F\u4E0D\u660E\u3067\u3059", + ExtraCloseLooking: "%1 \u3092\u63A2\u7D22\u3059\u308B\u969B\u306B\u4F59\u5206\u306A\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F", + MissingCloseBracket: "%1 \u306E\u5F15\u6570\u306E\u9589\u3058\u62EC\u5F27\u300C]\u300D\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F", + MissingOrUnrecognizedDelim: "%1 \u306E\u533A\u5207\u308A\u304C\u4E0D\u8DB3\u307E\u305F\u306F\u672A\u5206\u985E\u3067\u3059", + MissingDimOrUnits: "%1 \u3067\u3001\u5BF8\u6CD5\u307E\u305F\u306F\u305D\u306E\u5358\u4F4D\u304C\u3042\u308A\u307E\u305B\u3093", + TokenNotFoundForCommand: "%2 \u306B\u5BFE\u5FDC\u3059\u308B %1 \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F", + MathNotTerminated: "\u6570\u5F0F\u304C\u30C6\u30AD\u30B9\u30C8 \u30DC\u30C3\u30AF\u30B9\u5185\u3067\u7D42\u4E86\u3057\u3066\u3044\u307E\u305B\u3093", + IllegalMacroParam: "\u30DE\u30AF\u30ED \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u53C2\u7167\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", + MaxBufferSize: "MathJax \u306E\u5185\u90E8\u30D0\u30C3\u30D5\u30A1\u30FC \u30B5\u30A4\u30BA\u306E\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u3002\u30DE\u30AF\u30ED\u3092\u518D\u5E30\u547C\u3073\u51FA\u3057\u3057\u3066\u3057\u307E\u3063\u3066\u3044\u307E\u305B\u3093\u304B?", + CommandNotAllowedInEnv: "%1 \u306F %2 \u74B0\u5883\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093", + MultipleLabel: "\u30E9\u30D9\u30EB\u300C%1\u300D\u304C\u8907\u6570\u56DE\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059", + CommandAtTheBeginingOfLine: "%1 \u306F\u884C\u982D\u306B\u914D\u7F6E\u3057\u3066\u304F\u3060\u3055\u3044", + IllegalAlign: "%1 \u306B\u6307\u5B9A\u3057\u305F\u5F15\u6570\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", + BadMathStyleFor: "%1 \u306E\u6570\u5F0F\u306E\u30B9\u30BF\u30A4\u30EB\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", + PositiveIntegerArg: "%1 \u306E\u5F15\u6570\u306F\u6B63\u306E\u6574\u6570\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + ErroneousNestingEq: "\u6570\u5F0F\u306E\u5165\u308C\u5B50\u69CB\u9020\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", + MultlineRowsOneCol: "%1 \u74B0\u5883\u5185\u306E\u5404\u884C\u306F 1 \u5217\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + MultipleBBoxProperty: "%1 \u304C %2 \u5185\u3067 2 \u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059", + InvalidBBoxProperty: "\u300C%1\u300D\u306F\u3001\u8272\u3001\u30D1\u30C7\u30A3\u30F3\u30B0\u3001\u30B9\u30BF\u30A4\u30EB\u306E\u3044\u305A\u308C\u3067\u3082\u306A\u3044\u3088\u3046\u3067\u3059", + ExtraEndMissingBegin: "%1 \u304C\u4F59\u5206\u3001\u307E\u305F\u306F \\begingroup \u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + GlobalNotFollowedBy: "%1 \u306E\u5F8C\u306B \\let\u3001\\def\u3001\\newcommand \u306E\u3044\u305A\u308C\u3082\u3042\u308A\u307E\u305B\u3093", + UndefinedColorModel: "\u8272\u30E2\u30C7\u30EB\u300C%1\u300D\u306F\u672A\u5B9A\u7FA9\u3067\u3059", + ModelArg1: "\u8272\u30E2\u30C7\u30EB %1 \u306B\u306F\u5024\u304C 3 \u3064\u5FC5\u8981\u3067\u3059", + InvalidDecimalNumber: "\u7121\u52B9\u306A 10 \u9032\u6570\u3067\u3059", + ModelArg2: "\u8272\u30E2\u30C7\u30EB %1 \u306E\u5024\u306F %2 \u3068 %3 \u306E\u9593\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + InvalidNumber: "\u7121\u52B9\u306A\u6570\u5024\u3067\u3059", + NewextarrowArg1: "%1 \u306E\u7B2C 1 \u5F15\u6570\u306F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9\u540D\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + NewextarrowArg2: "%1 \u306E\u7B2C 2 \u5F15\u6570\u306F\u3001\u30AB\u30F3\u30DE\u3067\u533A\u5207\u3063\u305F 2 \u3064\u306E\u6574\u6570\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + NewextarrowArg3: "%1 \u306E\u7B2C 3 \u5F15\u6570\u306F Unicode \u306E\u6587\u5B57\u756A\u53F7\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + NoClosingChar: "\u9589\u3058\u62EC\u5F27 %1 \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093", + IllegalControlSequenceName: "%1 \u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u8AA4\u3063\u305F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9\u540D\u3067\u3059", + IllegalParamNumber: "%1 \u306B\u6307\u5B9A\u3057\u305F\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306E\u500B\u6570\u304C\u8AA4\u3063\u3066\u3044\u307E\u3059", + MissingCS: "%1 \u306E\u5F8C\u306F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + CantUseHash2: "%1 \u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u5185\u3067 # \u306E\u4F7F\u7528\u6CD5\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", + SequentialParam: "%1 \u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306F\u9023\u756A\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + MissingReplacementString: "%1 \u306E\u5B9A\u7FA9\u3067\u7F6E\u63DB\u6587\u5B57\u5217\u304C\u3042\u308A\u307E\u305B\u3093", + MismatchUseDef: "%1 \u306E\u5B9A\u7FA9\u3068\u4E00\u81F4\u3057\u3066\u3044\u306A\u3044\u4F7F\u7528\u6CD5\u3067\u3059", + RunawayArgument: "%1 \u306E\u5F15\u6570\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u308B\u3088\u3046\u3067\u3059", + NoClosingDelim: "%1 \u306E\u7D42\u4E86\u533A\u5207\u308A\u6587\u5B57\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/ja.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/ja.js new file mode 100644 index 00000000..c154a413 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/ja.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/ja/ja.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja",null,{ + menuTitle: "\u65E5\u672C\u8A9E", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u306F\u3001\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A\u306E Cookie \u3067\u5B9F\u884C\u3059\u3079\u304D\u30B3\u30FC\u30C9\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\u3002\u5B9F\u884C\u3057\u307E\u3059\u304B?\n\n(Cookie \u3092\u81EA\u5206\u3067\u8A2D\u5B9A\u3057\u3066\u3044\u306A\u3044\u5834\u5408\u306F\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002)", + MathProcessingError: "\u6570\u5F0F\u51E6\u7406\u30A8\u30E9\u30FC", + MathError: "\u6570\u5F0F\u30A8\u30E9\u30FC", + LoadFile: "%1 \u3092\u8AAD\u307F\u8FBC\u307F\u4E2D", + Loading: "\u8AAD\u307F\u8FBC\u307F\u4E2D", + LoadFailed: "\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F: %1", + ProcessMath: "\u6570\u5F0F\u3092\u51E6\u7406\u4E2D: %1%%", + Processing: "\u51E6\u7406\u4E2D", + TypesetMath: "\u6570\u5F0F\u3092\u7D44\u7248\u4E2D: %1%%", + Typesetting: "\u7D44\u7248\u4E2D", + MathJaxNotSupported: "\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306F MathJax \u306B\u5BFE\u5FDC\u3057\u3066\u3044\u307E\u305B\u3093" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/ja.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/FontWarnings.js new file mode 100644 index 00000000..07047a78 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/kn/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9D\u0C95\u0CCD\u0CB7\u0CCD \u0C88 \u0CAA\u0CC1\u0C9F\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CB8\u0CB2\u0CC1 \u0CB5\u0CC6\u0CAC\u0CCD \u0C86\u0CA7\u0CBE\u0CB0\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CAC\u0CB3\u0CB8\u0CBF \u0C87\u0CA6\u0CC6. \u0C88 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CB8\u0CAE\u0CAF \u0CA4\u0CC6\u0C97\u0CC6\u0CA6\u0CC1\u0C95\u0CCA\u0CB3\u0CCD\u0CB3\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1, \u0C86\u0CA6\u0CCD\u0CA6\u0CB0\u0CBF\u0C82\u0CA6 \u0CA8\u0CC0\u0CB5\u0CC1 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0C97\u0CA3\u0C95\u0CA6 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CAB\u0CCB\u0CB2\u0CCD\u0CA1\u0CB0\u0CCD\u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0CA8\u0CC7\u0CB0\u0CB5\u0CBE\u0C97\u0CBF \u0C97\u0CA3\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CB5\u0CC7\u0CB3\u0CC6 \u0CAA\u0CC1\u0C9F \u0CB5\u0CC7\u0C97\u0CB5\u0CBE\u0C97\u0CBF \u0CA8\u0CBF\u0CB0\u0CC2\u0CAA\u0CBF\u0CB8\u0CB2\u0CC1 \u0C8E\u0C82\u0CA6\u0CC1.", + noFonts: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA6\u0CB0 \u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CB8\u0CB2\u0CC1 \u0CAC\u0CB3\u0CB8\u0CB2\u0CC1 \u0C92\u0C82\u0CA6\u0CC1 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CAA\u0CA4\u0CCD\u0CA4\u0CC6 \u0CAE\u0CBE\u0CA1\u0CB2\u0CC1 \u0CB8\u0CBE\u0CA7\u0CCD\u0CAF\u0CB5\u0CBE\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2, \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0CB2\u0CAD\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2, \u0C86\u0CA6\u0CCD\u0CA6\u0CB0\u0CBF\u0C82\u0CA6 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C85\u0CB5\u0CC1\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CB8\u0CB2\u0CC1 \u0CB8\u0CBE\u0CA7\u0CCD\u0CAF\u0CB5\u0CBE\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6 \u0C8E\u0C82\u0CA6\u0CC1 \u0CAD\u0CB0\u0CB5\u0CB8\u0CC6\u0CAF\u0CB2\u0CCD\u0CB2\u0CBF \u0CB8\u0CBE\u0CB0\u0CCD\u0CB5\u0CA4\u0CCD\u0CB0\u0CBF\u0C95 \u0CAF\u0CC1\u0CA8\u0CBF\u0C95\u0CCB\u0CA1\u0CCD \u0CAA\u0CBE\u0CA4\u0CCD\u0CB0\u0C97\u0CB3\u0CC1 \u0CB9\u0CBF\u0C82\u0CA6\u0CC6 \u0CAC\u0CC0\u0CB3\u0CC1\u0CB5 \u0C87\u0CA6\u0CC6. \u0C95\u0CC6\u0CB2\u0CB5\u0CC1 \u0CAA\u0CBE\u0CA4\u0CCD\u0CB0\u0C97\u0CB3\u0CC1 \u0CB8\u0CB0\u0CBF\u0CAF\u0CBE\u0C97\u0CBF, \u0C85\u0CA5\u0CB5\u0CBE \u0CAC\u0CB9\u0CC1\u0CB6\u0C83 \u0C8E\u0CB2\u0CCD\u0CB2\u0CBE \u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0CA4\u0CCB\u0CB0\u0CBF\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CB5\u0CC6 \u0C87\u0CB0\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + webFonts: "\u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0CB5\u0CC6\u0CAC\u0CCD \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CC1 \u0C85\u0CA4\u0CCD\u0CAF\u0C82\u0CA4 \u0C86\u0CA7\u0CC1\u0CA8\u0CBF\u0C95 \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD\u0C97\u0CB3\u0CC1 \u0C85\u0CB5\u0C95\u0CBE\u0CB6. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD (\u0C85\u0CA5\u0CB5\u0CBE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0CAC\u0CA6\u0CB2\u0CBE\u0CB5\u0CA3\u0CC6) \u0C87\u0CA4\u0CCD\u0CA4\u0CC0\u0C9A\u0CBF\u0CA8 \u0C86\u0CB5\u0CC3\u0CA4\u0CCD\u0CA4\u0CBF\u0C97\u0CC6 \u0C85\u0CAA\u0CCD\u0CA1\u0CC7\u0C9F\u0CCD \u0C88 \u0CAA\u0CC1\u0C9F\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C97\u0CA3\u0CBF\u0CA4 \u0C97\u0CC1\u0CA3\u0CAE\u0C9F\u0CCD\u0C9F\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CC1\u0CA7\u0CBE\u0CB0\u0CBF\u0CB8\u0CB2\u0CC1 \u0CB8\u0CBE\u0CA7\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2.", + fonts: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C92\u0C82\u0CA6\u0CCB [\u0CB7\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1](%1) \u0C85\u0CA5\u0CB5 [\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1](%2) \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAE\u0CBE\u0CA4 \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA8\u0CC1\u0CAD\u0CB5 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB5\u0CB3\u0CCD\u0CB2\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C87\u0CA6\u0CB0\u0CB2\u0CCD\u0CB2\u0CBF \u0CAF\u0CBE\u0CB5\u0CA6\u0CBE\u0CA6\u0CB0\u0CC1 \u0C92\u0C82\u0CA6\u0CA8\u0CCD\u0CA8 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA6\u0CBF\u0C95\u0CCA\u0CB2\u0CCD\u0CB2\u0CBF.", + STIXPage: "\u0C88 \u0CAA\u0CC1\u0C9F [\u0CB8\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CCD\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 ](%1) \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CB5\u0CBF\u0CA8\u0CCD\u0CAF\u0CBE\u0CB8 \u0C86\u0C97\u0CBF\u0CA6\u0CC6. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA8\u0CC1\u0CAD\u0CB5 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CC1\u0CA7\u0CBE\u0CB0\u0CBF\u0CB8\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C88 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF.", + TeXPage: "\u0C88 \u0CAA\u0CC1\u0C9F [\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CCD\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 ](%1) \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CB5\u0CBF\u0CA8\u0CCD\u0CAF\u0CBE\u0CB8 \u0C86\u0C97\u0CBF\u0CA6\u0CC6. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA8\u0CC1\u0CAD\u0CB5 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CC1\u0CA7\u0CBE\u0CB0\u0CBF\u0CB8\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C88 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF.", + imageFonts: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9D\u0C95\u0CCD\u0CB7\u0CCD \u0CA4\u0CA8\u0CCD\u0CA8 \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u200C\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CCD\u0CA5\u0CB3\u0CC0\u0CAF \u0C85\u0CA5\u0CB5\u0CBE \u0CB5\u0CC6\u0CAC\u0CCD-\u0C86\u0CA7\u0CBE\u0CB0\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u200C\u0C9F\u0CCD\u200C\u0C97\u0CB3 \u0CAC\u0CA6\u0CB2\u0CBF\u0C97\u0CC6 \u0CAC\u0CB3\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6. \u0C88 \u0CB8\u0CBE\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0C95\u0CCD\u0C95\u0CBF\u0C82\u0CA4 \u0CA8\u0CBF\u0CA7\u0CBE\u0CA8\u0CB5\u0CBE\u0C97\u0CBF \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CA4\u0CB5\u0CBE\u0C97\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1, \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CC2\u0CB0\u0CCD\u0CA3 \u0CB0\u0CC6\u0CB8\u0CB2\u0CCD\u0CAF\u0CC2\u0CB7\u0CA8\u0CCD\u200C\u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAA\u0CCD\u0CB0\u0CBF\u0C82\u0C9F\u0CB0\u0CCD \u0CAE\u0CC2\u0CB2\u0C95 \u0CAE\u0CC1\u0CA6\u0CCD\u0CB0\u0CBF\u0CA4\u0CB5\u0CBE\u0C97\u0CA6\u0CBF\u0CB0\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HTML-CSS.js new file mode 100644 index 00000000..cddd7353 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/kn/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD %1 \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + CantLoadWebFont: " \u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD %1 \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA6\u0CC1 \u0C87\u0CB2\u0CCD\u0CB2", + FirefoxCantLoadWebFont: "\u0CAB\u0CC8\u0CB0\u0CCD\u0CAB\u0CBE\u0C95\u0CCD\u0CB8\u0CCD \u0C87\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CA6\u0CC2\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0CB9\u0CCB\u0CB8\u0CCD\u0C9F\u0CCD \u0C87\u0C82\u0CA6 \u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2.", + CantFindFontUsing: "%1 \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CB8\u0CB0\u0CBF\u0CAF\u0CBE\u0CA6 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CB8\u0CBF\u0C97\u0CC1\u0CA4 \u0C87\u0CB2\u0CCD\u0CB2", + WebFontsNotAvailable: "\u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1 \u0CB8\u0CBF\u0C97\u0CC1\u0CA4 \u0C87\u0CB2\u0CCD\u0CB2, \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CBF." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HelpDialog.js new file mode 100644 index 00000000..5a3ba41d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HelpDialog.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/kn/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CB8\u0CB9\u0CAF\u0CA4\u0CC6", + MathJax: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CAA\u0CC1\u0C9F \u0CB2\u0CC7\u0C96\u0C95\u0CB0\u0CC1 \u0CA4\u0CAE\u0CCD\u0CAE \u0CB5\u0CC6\u0CAC\u0CCD \u0CAA\u0CC1\u0C9F\u0C97\u0CB3 \u0C92\u0CB3\u0C97\u0CC6 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CC7\u0CB0\u0CBF\u0CB8\u0CB2\u0CC1 \u0C85\u0CA8\u0CC1\u0CAE\u0CA4\u0CBF\u0CB8\u0CC1\u0CB5 \u0C92\u0C82\u0CA6\u0CC1 \u0C9C\u0CBE\u0CB5\u0CBE\u0CB8\u0CCD\u0C95\u0CCD\u0CB0\u0CBF\u0CAA\u0CCD\u0C9F\u0CCD \u0C97\u0CCD\u0CB0\u0C82\u0CA5\u0CBE\u0CB2\u0CAF. \u0C92\u0C82\u0CA6\u0CC1 \u0CB0\u0CC0\u0CA1\u0CB0\u0CCD, \u0CA8\u0CC0\u0CB5\u0CC1 \u0C89\u0C82\u0C9F\u0CBE\u0C97\u0CC1\u0CB5 \u0CAE\u0CBE\u0CA1\u0CB2\u0CC1 \u0C8F\u0CA8\u0CC1 \u0C85\u0C97\u0CA4\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2.", + Browsers: "*\u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD\u0C97\u0CB3\u0CC1*: \u0CAE\u0CA0 Jax \u0C87\u0C82\u0C9F\u0CB0\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD \u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u0CAA\u0CCD\u0CB2\u0CCB\u0CB0\u0CB0\u0CCD 6 +, \u0CAB\u0CC8\u0CB0\u0CCD\u0CAB\u0CBE\u0C95\u0CCD\u0CB8\u0CCD 3 + \u0C95\u0CCD\u0CB0\u0CCB\u0CAE\u0CCD 0.2 +, \u0CB8\u0CAB\u0CBE\u0CB0\u0CBF 2 + \u0C92\u0CAA\u0CC6\u0CB0\u0CBE 9.6 + \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0C85\u0CA4\u0CCD\u0CAF\u0C82\u0CA4 \u0CAE\u0CCA\u0CAC\u0CC8\u0CB2\u0CCD \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0CB8\u0CC7\u0CB0\u0CBF\u0CA6\u0C82\u0CA4\u0CC6 \u0C8E\u0CB2\u0CCD\u0CB2 \u0C86\u0CA7\u0CC1\u0CA8\u0CBF\u0C95 \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD\u0C97\u0CB3\u0CC1 \u0C95\u0CC6\u0CB2\u0CB8 \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6.", + Zoom: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0CC2\u0CAE\u0CCD: \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0C95\u0CCD\u0CB7 \u0C92\u0C82\u0CA6\u0CC1 \u0C8E\u0C95\u0CBC\u0CC1\u0C85\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA8\u0CCB\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CA8\u0CBF\u0CAE\u0C97\u0CC6 \u0C89\u0CAA\u0CCD\u0CAA\u0CA6\u0CCD\u0CA6\u0CB0 \u0C86\u0C97\u0CC1\u0CA4 \u0C87\u0CA6\u0CCD\u0CA6\u0CBE\u0CB0\u0CC6, \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA6\u0CCD\u0CA6\u0CA8\u0CC1 \u0CA8\u0CBF\u0CAE\u0C97\u0CC6 \u0CB8\u0CB0\u0CBF \u0CA8\u0CCB\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CB8\u0CB9\u0CAF\u0CA4\u0CC6 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C85\u0CA6\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CA6\u0CC6.", + Fonts: "* \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 *: \u0C85\u0CB5\u0CB0\u0CC1 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0C95\u0C82\u0CAA\u0CCD\u0CAF\u0CC2\u0C9F\u0CB0\u0CCD\u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CB5\u0CC7\u0CB3\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C95\u0CC6\u0CB2\u0CB5\u0CC1 \u0C97\u0CA3\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CB3\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6; \u0C87\u0CB2\u0CCD\u0CB2\u0CA6\u0CBF\u0CA6\u0CCD\u0CA6\u0CB0\u0CC6, \u0C87\u0CA6\u0CC1 \u0CB5\u0CC6\u0CAC\u0CCD \u0C86\u0CA7\u0CBE\u0CB0\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CB3\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6. \u0C85\u0C97\u0CA4\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2 \u0C86\u0CA6\u0CB0\u0CC2, \u0CB8\u0CCD\u0CA5\u0CB3\u0CC0\u0CAF\u0CB5\u0CBE\u0C97\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0C9F\u0CC8\u0CAA\u0CCD\u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD \u0CB5\u0CC7\u0C97\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1. \u0CA8\u0CBE\u0CB5\u0CC1 [\u0CB8\u0CCD\u0C9F\u0CBF\u0C95\u0CCD\u0CB8\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1](%1) \u0C85\u0CA8\u0CC1\u0CB8\u0CCD\u0CA5\u0CBE\u0CAA\u0CBF\u0CB8\u0CC1\u0CB5\u0CBE\u0C97 \u0CB8\u0CC2\u0C9A\u0CBF\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathML.js new file mode 100644 index 00000000..3552c811 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathML.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/localization/kn/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u0C95\u0CC6\u0C9F\u0CCD\u0C9F mglyph: %1", + BadMglyphFont: "\u0C95\u0CC6\u0C9F\u0CCD\u0C9F \u0CA4\u0CC8\u0CB2\u0CA6\u0CBE\u0CA8\u0CBF: %1", + UnknownNodeType: "\u0C97\u0CCA\u0CA4\u0CCD\u0CA4\u0CC1 \u0C87\u0CB0\u0CB2\u0CC7 \u0C87\u0CA6\u0CCD\u0CA6 \u0CA8\u0CCB\u0CA1\u0CCD \u0C9F\u0CC8\u0CAA\u0CCD: %1", + UnexpectedTextNode: "\u0C8E\u0CA6\u0CB0\u0CC1 \u0CA8\u0CCB\u0CA6\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2\u0CA6\u0CCD\u0CA6 \u0CA8\u0CCB\u0CA1\u0CCD \u0C9F\u0CC8\u0CAA\u0CCD : %1", + ErrorParsingMathML: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAA\u0CBE\u0CB0\u0CCD\u0CB8\u0CC6 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0CBE\u0C97 \u0CA4\u0CCD\u0CB0\u0CC1\u0C9F\u0CBF", + ParsingError: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAA\u0CBE\u0CB0\u0CCD\u0CB8\u0CC6 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0CBE\u0C97 \u0CA4\u0CCD\u0CB0\u0CC1\u0C9F\u0CBF: %1", + MathMLSingleElement: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0C8E\u0CB2\u0CBF\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C87\u0C82\u0CA6 \u0CAE\u0CBE\u0CA1 \u0CAC\u0CC6\u0C95\u0CC1.", + MathMLRootElement: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u003Cmath\u003E \u0C9F\u0CCD\u0CAF\u0CBE\u0C97\u0CCD \u0C87\u0C82\u0CA6 \u0CB6\u0CC1\u0CB0\u0CC1 \u0C86\u0C97\u0CAC\u0CC7\u0C95\u0CC1, %1 \u0C87\u0C82\u0CA6 \u0C85\u0CB2\u0CCD\u0CB2" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathMenu.js new file mode 100644 index 00000000..b70ae987 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathMenu.js @@ -0,0 +1,105 @@ +/************************************************************* + * + * MathJax/localization/kn/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB9\u0CC7\u0C97\u0CC6 \u0CA4\u0CCB\u0CB0\u0CBF\u0CB8\u0CB2\u0CBF?", + MathMLcode: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CB8\u0CE6\u0C95\u0CC7\u0CA4", + OriginalMathML: "\u0CAE\u0CC2\u0CB2 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD", + TeXCommands: "\u0C9F\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CAA\u0CCD\u0CAA\u0CA3\u0CC6\u0C97\u0CB3\u0CC1", + AsciiMathInput: "\u0C86\u0CB8\u0CCD\u0C9A\u0CC0 \u0CAE\u0CBE\u0CA4 \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD", + Original: "\u0CAE\u0CC2\u0CB2 \u0CB0\u0CC2\u0CAA", + ErrorMessage: "\u0CA4\u0CCD\u0CB0\u0CC1\u0C9F\u0CBF \u0CAA\u0CA4\u0CCD\u0CB0", + Annotation: "\u0C9F\u0CBF\u0CAA\u0CCD\u0CAA\u0CA3\u0CBF", + TeX: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD", + StarMath: "\u0CB8\u0CCD\u0C9F\u0CBE\u0CB0\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD", + Maple: "\u0CAE\u0CC7\u0CAA\u0CB2\u0CCD", + ContentMathML: "\u0CB5\u0CBF\u0CB7\u0CAF \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD", + OpenMath: "\u0C93\u0CAA\u0CA8\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD", + texHints: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CB8\u0CC2\u0C9A\u0CCD\u0CAF\u0CB5\u0CBE\u0C97\u0CBF\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC2 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CA4\u0CCB\u0CB0\u0CBF\u0CB8\u0CBF", + Settings: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD\u0C97\u0CB3\u0CC1", + ZoomTrigger: "\u0C9C\u0CC2\u0CAE\u0CCD \u0C9F\u0CCD\u0CB0\u0CBF\u0C97\u0CB0\u0CCD", + Hover: "\u0CB9\u0CCA\u0CB5\u0CC6\u0CB0\u0CCD", + Click: "\u0C95\u0CCD\u0CB2\u0CBF\u0C95\u0CCD", + DoubleClick: "\u0C8E\u0CB0\u0CA1\u0CC1 \u0C95\u0CCD\u0CB2\u0CBF\u0C95\u0CCD", + NoZoom: "\u0C9C\u0CCB\u0CAE \u0C87\u0CB2\u0CCD\u0CB2", + TriggerRequires: "\u0C9F\u0CCD\u0CB0\u0CBF\u0C97\u0CB0\u0CCD \u0C87\u0C97\u0CC6 \u0CAC\u0CC6\u0C95\u0C97\u0CC1\u0CA4\u0CA6\u0CC6:", + Option: "\u0C86\u0CAF\u0CCD\u0C95\u0CC6", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "\u0C9C\u0CCB\u0CAE \u0C85\u0CAA\u0CB5\u0CB0\u0CCD\u0CA4\u0CA8", + Renderer: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0CA4\u0CBF\u0CAF\u0CBE\u0C97\u0CBF \u0C95\u0CCA\u0CA1\u0CC1\u0CB5\u0CB5", + MPHandles: "\u0CAE\u0CA4\u0CCD \u0CAA\u0CCD\u0CB2\u0CC7\u0CAF\u0CB0\u0CCD \u0C8E\u0C82\u0CA4 \u0CA8\u0CBF\u0CB0\u0CCD\u0CB5\u0CB9\u0CBF\u0CB8\u0CB2\u0CC1 \u0CAE\u0CBE\u0CA1 \u0CAC\u0CC7\u0C95\u0CC1?", + MenuEvents: "\u0CAE\u0CC6\u0CA8\u0CC1 \u0C98\u0C9F\u0CA8\u0CC6\u0C97\u0CB3\u0CC1", + MouseEvents: "\u0CAE\u0CCC\u0CB8\u0CCD \u0C98\u0C9F\u0CA8\u0CC6\u0C97\u0CB3\u0CC1", + MenuAndMouse: "\u0CAE\u0CCC\u0CB8\u0CCD \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0CAE\u0CC6\u0CA8\u0CC1 \u0C98\u0C9F\u0CA8\u0CC6\u0C97\u0CB3\u0CC1", + FontPrefs: "\u0CA4\u0CC8\u0CB2\u0CA6\u0CBE\u0CA8\u0CBF \u0C86\u0CAF\u0CBF\u0C95\u0CC6\u0C97\u0CB3\u0CC1", + ForHTMLCSS: "\u0C8E\u0C9A\u0CCD \u0CA4\u0CC0 \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD / \u0CB8\u0CC0 \u0C8E\u0CB8\u0CCD\u0CB8\u0CCD \u0C8E\u0CB8\u0CCD\u0CB8\u0CCD \u0C87\u0C97\u0CC6", + Auto: "\u0CB8\u0CCD\u0CB5\u0CAF\u0C82\u0C9A\u0CB2\u0CBF", + TeXLocal: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD (\u0CB2\u0CCB\u0C95\u0CB2\u0CCD)", + TeXWeb: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", + TeXImage: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD (\u0C87\u0CAE\u0CC7\u0C9C\u0CCD)", + STIXLocal: "\u0CB7\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD (\u0CB2\u0CCB\u0C95\u0CB2\u0CCD)", + STIXWeb: "\u0CB7\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", + AsanaMathWeb: "\u0C86\u0CB8\u0CA8 \u0CAE\u0CBE\u0CA4 (\u0CB5\u0CC6\u0CAC\u0CCD)", + GyrePagellaWeb: "\u0C97\u0CCD\u0CAF\u0CCD\u0CB0\u0CC6 \u0CAA\u0C97\u0CC6\u0CB2\u0CCD\u0CB2 (\u0CB5\u0CC6\u0CAC\u0CCD)", + GyreTermesWeb: "\u0C97\u0CCD\u0CAF\u0CCD\u0CB0\u0CC6 \u0C9F\u0CB0\u0CCD\u0CAE\u0CCD\u0CB8\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", + LatinModernWeb: "\u0CB9\u0CCA\u0CB8 \u0CB2\u0CCD\u0CAF\u0CBE\u0C9F\u0CBF\u0CA8\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", + NeoEulerWeb: "\u0CA8\u0CBF\u0CAF\u0CCB \u0C92\u0C87\u0CB2\u0CC6\u0CB0\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", + ContextMenu: "\u0CB8\u0C82\u0CA6\u0CB0\u0CCD\u0CAD\u0CCB\u0C9A\u0CBF\u0CA4 \u0CAE\u0CC6\u0CA8\u0CC1", + Browser: "\u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD", + Scale: "\u0C8E\u0CB2\u0CCD\u0CB2 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0C88 \u0C85\u0CAA\u0CB5\u0CB0\u0CCD\u0CA4\u0CA8 \u0CA6\u0CBF\u0C82\u0CA6 \u0CAA\u0CCD\u0CB0\u0CAE\u0CBE\u0CA3\u0CA6 \u0CAE\u0CBE\u0CA1\u0CBF :", + Discoverable: "\u0CB9\u0CCA\u0CB5\u0CC6\u0CB0\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF\u0CA6\u0CBE\u0C97 \u0CB9\u0CC8\u0CB2\u0CC8\u0C9F\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF", + Locale: "\u0CAD\u0CBE\u0CB7\u0CC6", + LoadLocale: "\u0CAF\u0CC2 \u0C86\u0CB0\u0CCD \u0C8E\u0CB2\u0CCD\u0CB2 \u0C87\u0C82\u0CA6 \u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF", + About: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CAC\u0C97\u0CCD\u0C97\u0CC6", + Help: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CB8\u0CB9\u0CAF\u0CA4\u0CC6", + localTeXfonts: "\u0CB2\u0CCB\u0C95\u0CB2\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + webTeXfonts: "\u0CB5\u0CC6\u0CAC\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD\u0C9F\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + imagefonts: "\u0C87\u0CAE\u0CC7\u0C9C\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + localSTIXfonts: "\u0CB2\u0CCB\u0C95\u0CB2\u0CCD \u0CB8\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + webSVGfonts: "\u0CB5\u0CC6\u0CAC\u0CCD \u0C8E\u0CB8 \u0CB5\u0CC7 \u0C9C\u0CC0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + genericfonts: "\u0C9C\u0CBE\u0CA4\u0CBF\u0CB5\u0CBF\u0CB6\u0CBF\u0CB8\u0CCD\u0CA4\u0CB5\u0CBE\u0CA6 \u0CAF\u0CC1\u0CA8\u0CBF\u0C95\u0CCB\u0CA1\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + wofforotffonts: "\u0CB5\u0CCA\u0CAB\u0CCD\u0CAB\u0CCD \u0C85\u0CA5\u0CB5 \u0C92\u0CA4\u0CCD\u0CAB\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1", + eotffonts: "\u0C8E\u0C92\u0CA4\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1", + svgfonts: "\u0C8E\u0CB8 \u0CB5\u0CC7 \u0C9C\u0CC0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1", + WebkitNativeMMLWarning: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C85\u0CA6\u0CB0 \u0C85\u0CB7\u0CCD\u0C9F\u0C95\u0CCD\u0C95\u0CC7 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA5\u0CCA\u0CB0\u0CBF\u0CB8\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2. \u0C85\u0CA1\u0CCD\u0CA1\u0C95\u0CCD\u0C95\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C94\u0C9F\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD \u0C87\u0C97\u0CC6 \u0CB8\u0CCD\u0CB5\u0CBF\u0C9A\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF\u0CA6\u0CB0\u0CC6, \u0C88 \u0CAA\u0CC1\u0C9F\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CA6\u0CCD\u0CA6 \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0C93\u0CA6\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CA6\u0CC6 \u0C87\u0CB0\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + MSIENativeMMLWarning: "\u0C87\u0C82\u0C9F\u0CB0\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD \u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u0CAA\u0CCD\u0CB2\u0CCB\u0CB0\u0CB0\u0CCD \u0C87\u0C97\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C94\u0C9F\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0CAA\u0CCD\u0CB2\u0CC7\u0CAF\u0CB0\u0CCD \u0CAA\u0CCD\u0CB2\u0C97\u0CCD-\u0C87\u0CA8\u0CCD \u0CAC\u0CC6\u0C95\u0CC1.", + OperaNativeMMLWarning: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C87\u0C97\u0CC6 \u0C92\u0CAA\u0CC6\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0CAC\u0CC6\u0C82\u0CAC\u0CB2 \u0C89\u0C82\u0C9F\u0CC1, \u0C85\u0CA6\u0C95\u0CCD\u0C95\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C94\u0C9F\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD \u0C87\u0C97\u0CC6 \u0CB8\u0CCD\u0CB5\u0CBF\u0C9A\u0CCD \u0CAE\u0CBE\u0CA6\u0CC1\u0CA6\u0CB0\u0CBF\u0C82\u0CA6 \u0C95\u0CC6\u0CB2\u0CCD\u0CB2\u0CB5 \u0CB5\u0CBF\u0CB7\u0CAF \u0C97\u0CB3\u0CC1 \u0C95\u0CC6\u0C9F\u0CCD\u0C9F \u0CB0\u0CC0\u0CA4\u0CBF\u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CB0\u0CC6\u0CA8\u0CCD\u0CA6\u0CC6\u0CB0\u0CCD \u0C86\u0C97 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + SafariNativeMMLWarning: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C87\u0CA8 \u0C85\u0CA6\u0CB0\u0CA6\u0CCD\u0CA6\u0CC7 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0C82\u0CA4 \u0C8E\u0CB2\u0CCD\u0CB2 \u0CAB\u0CC0\u0C9A\u0CB0\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CAC\u0CBF\u0CA6\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2. \u0C85\u0CA1\u0CCD\u0CA1\u0C95\u0CCD\u0C95\u0CC6, \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CB0\u0CBF \u0C86\u0C97\u0CBF \u0C95\u0CBE\u0CA3\u0CA6\u0CC6 \u0C87\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + FirefoxNativeMMLWarning: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C87\u0CA8 \u0C85\u0CA6\u0CB0\u0CA6\u0CCD\u0CA6\u0CC7 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0C82\u0CA4 \u0C8E\u0CB2\u0CCD\u0CB2 \u0CAB\u0CC0\u0C9A\u0CB0\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CAC\u0CBF\u0CA6\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2. \u0C85\u0CA1\u0CCD\u0CA1\u0C95\u0CCD\u0C95\u0CC6, \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CB0\u0CBF \u0C86\u0C97\u0CBF \u0C95\u0CBE\u0CA3\u0CA6\u0CC6 \u0C87\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + MSIESVGWarning: "\u0C8E\u0CB8\u0CCD \u0CB5\u0CBF \u0C9C\u0CBF \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC2 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD (\u0C87\u0C82\u0C9F\u0CB0\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD \u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u0CAA\u0CCD\u0CB2\u0CCB\u0CB0\u0CB0\u0CCD) \u0CAC\u0CB0\u0CBF \u0C90\u0C88\u0CEF \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CAE\u0CBE\u0CA4\u0CCD\u0CB0 \u0CB8\u0CAA\u0CCB\u0CB0\u0CCD\u0C9F\u0CCD \u0C86\u0C97\u0CC1\u0CA4\u0CA6\u0CC6. \u0C90\u0C88\u0CEF \u0C95\u0CBF\u0C82\u0CA4 \u0C95\u0CAE\u0CCD\u0CAE\u0CBF \u0CB5\u0CB0\u0CCD\u0CB7\u0CA8\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CB8\u0CBF\u0CAE\u0CC1\u0CB3\u0CC6\u0C9F\u0CCD \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0CBE\u0C97 \u0CB8\u0CB9 \u0CB9\u0CBE\u0C97\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CA6\u0CC6. \u0C85\u0CA6\u0C95\u0CCD\u0C95\u0CC6 \u0C8E\u0CB8 \u0CB5\u0CBF \u0C9C\u0CC0 \u0C87\u0C97\u0CC6 \u0CAC\u0CA6\u0CB2\u0CBF\u0CB8\u0CBF\u0CA6\u0CB0\u0CC6 \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CB0\u0CBF \u0C86\u0C97\u0CBF \u0C95\u0CBE\u0CA3\u0CA6\u0CC6 \u0C87\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + LoadURL: "\u0C88 \u0CAF\u0CC1 \u0C86\u0CB0\u0CCD \u0C8E\u0CB2\u0CCD \u0C87\u0C82\u0CA6 \u0CA1\u0CBE\u0C9F\u0CBE \u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + BadURL: "\u0C88 \u0CAF\u0CC1\u0C86\u0CB0\u0CCD\u0C8E\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0C9C\u0CBE\u0CB5\u0CBE\u0CB8\u0CCD\u0C95\u0CCD\u0CB0\u0CBF\u0CAA\u0CCD\u0C9F\u0CCD \u0CAB\u0CC8\u0CB2\u0CCD \u0C87\u0C97\u0CC6 \u0CB9\u0CCB\u0C97\u0CAC\u0CC7\u0C95\u0CC1 \u0CAF\u0CBE\u0CB5\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C87\u0CA8 \u0C9F\u0CCD\u0CB0\u0CBE\u0CA8\u0CCD\u0CB8\u0CCD\u0CB2\u0CC7\u0CB7\u0CA8\u0CCD \u0CA1\u0CC7\u0C9F\u0CBE\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB9\u0CBF\u0CA1\u0CC1\u0C95\u0CCA\u0CB3\u0CCD\u0CB3\u0CC1\u0CA4\u0CA6\u0CC6. \u0C85\u0C82\u0CA4 \u0CAB\u0CC8\u0CB2\u0CCD \u0C87\u0CA8 \u0CB9\u0CC6\u0CB8\u0CB0\u0CC1 \u0C92\u0C82\u0CA6\u0CC1 \".js\" \u0C8E\u0C95\u0CCD\u0CB8\u0C9F\u0CC6\u0CA8\u0CCD\u0CB6\u0CA8\u0CCD \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CAE\u0CC1\u0C97\u0CBF\u0CA4\u0CA6\u0CC6,", + BadData: "%1 \u0C87\u0C82\u0CA6 \u0C85\u0CA8\u0CC1\u0CB5\u0CBE\u0CA7 \u0CA1\u0CBE\u0C9F\u0CBE \u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", + SwitchAnyway: "\u0C86\u0CA6\u0CB0\u0CC1\u0CB8\u0CB9 \u0CB0\u0CC6\u0CA8\u0CCD\u0CA6\u0CC6\u0CB0\u0CC6\u0CB0\u0CCD \u0CAC\u0CA6\u0CB2\u0CBE\u0CAF\u0CBF\u0CB8 \u0CAC\u0CC6\u0C95?", + ScaleMath: "\u0CAF\u0CB2\u0CCD\u0CB2 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CBE\u0C95\u0CBF \u0CAA\u0CA5\u0CCD\u0CAF\u0C95\u0CCD\u0C95\u0CC6 \u0CB9\u0CCB\u0CB2\u0CBF\u0C95\u0CC6\u0CAF\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CB7\u0CCD\u0C9F\u0CC1 \u0C85\u0CAA\u0CB5\u0CB0\u0CCD\u0CA4\u0CA8\u0CA6\u0CBF\u0C82\u0CA6 \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1 \u0C85\u0CA5\u0CB5\u0CBE \u0CB8\u0CC7\u0CA8\u0CCD\u0CA8\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA6\u0CBF.", + NonZeroScale: "\u0CB8\u0CCD\u0C95\u0CC7\u0CB2\u0CCD \u0CB8\u0CCA\u0CA8\u0CCD\u0CA8\u0CC6 \u0C87\u0CB0 \u0CAC\u0CBE\u0CB0\u0CA6\u0CC1", + PercentScale: "\u0CB8\u0CCD\u0C95\u0CC7\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CB0\u0CCD\u0CB8\u0C82\u0C9F\u0CC7\u0C9C\u0CCD \u0C87\u0CB0\u0CAC\u0CC7\u0C95\u0CC1 (\u0C89\u0CA6\u0CBE\u0CB9\u0CB0\u0CA3: \u0CE7\u0CE8\u0CE6%%)", + NoOriginalForm: "\u0CAE\u0CC2\u0CB2 \u0CB0\u0CC2\u0CAA \u0CB2\u0CAD\u0CCD\u0CAF\u0CB5\u0CBF\u0CB0\u0CB5 \u0C87\u0CB2\u0CCD\u0CB2", + Close: "\u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CBF", + EqSource: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C8E\u0C95\u0CBC\u0CC1\u0C85\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0CB8\u0CCA\u0CB0\u0CCD\u0CB8\u0CCD" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/TeX.js new file mode 100644 index 00000000..06a2b2eb --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/kn/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD \u0C85\u0CA5\u0CB5 \u0C95\u0CA1\u0CBF\u0CAE\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", + ExtraCloseMissingOpen: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD \u0C85\u0CA5\u0CB5 \u0C95\u0CA1\u0CBF\u0CAE\u0CC6 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", + MissingLeftExtraRight: "\u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\left \u0C85\u0CA5\u0CB5 \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \\right", + MissingScript: "\u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0 \u0C85\u0CA5\u0CB5 \u0CA8\u0CBF\u0CAE\u0CCD\u0CA8\u0CBE\u0C95\u0CCD\u0CB7\u0CB0", + ExtraLeftMissingRight: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \\left \u0C85\u0CA5\u0CB5 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\right", + Misplaced: "\u0CA4\u0CAA\u0CCD\u0CAA \u0CB8\u0CCD\u0CA5\u0CB3\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0C9F\u0CCD\u0C9F\u0CBF\u0CA6\u0CCD\u0CA6\u0CC1 %1", + MissingOpenForSub: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CA8\u0CBE\u0C95\u0CCD\u0CB7\u0CB0\u0C95\u0CCD\u0C95\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97", + MissingOpenForSup: "\u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0\u0C95\u0CCD\u0C95\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97", + AmbiguousUseOf: "%1 \u0C87\u0CA8 \u0C85\u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0C89\u0CAA\u0CAF\u0CCB\u0C97", + EnvBadEnd: "\\begin{%1} \u0C87\u0CA8 \u0C85\u0C82\u0CA4 \\end{%2} \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CAE\u0CBE\u0CA6\u0CBF\u0CB9\u0CCB\u0C97\u0CBF\u0CA6\u0CC6", + EnvMissingEnd: "\u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\end{%1}", + MissingBoxFor: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CB8\u0C82\u0CA6\u0CC2\u0C95", + MissingCloseBrace: "\u0C95\u0CA1\u0CBF\u0CAE\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", + UndefinedControlSequence: "\u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F\u0CC0\u0C95\u0CB0\u0CBF\u0CB8\u0CA6 \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C85\u0CA8\u0CC1\u0C95\u0CCD\u0CB0\u0CAE %1", + DoubleExponent: "\u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CCD\u0CA5\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0; \u0CAC\u0CCD\u0CB0\u0CB8\u0CC6\u0CB8\u0CCD \u0C87\u0CA8 \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0CAE\u0CBE\u0CA1\u0CC1", + DoubleSubscripts: "\u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CCD\u0CA5\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0CA8\u0CBF\u0CAE\u0CCD\u0CA8\u0CBE\u0C95\u0CCD\u0CB7\u0CB0; \u0CAC\u0CCD\u0CB0\u0CB8\u0CC6\u0CB8\u0CCD \u0C87\u0CA8 \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0CAE\u0CBE\u0CA1\u0CC1", + DoubleExponentPrime: "\u0CAA\u0CCD\u0CB0\u0CC8\u0CAE\u0CCD \u0C87\u0C82\u0CA6 \u0C86\u0C97\u0CBF \u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CCD\u0CA4\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB9\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CB8\u0CBF\u0CA4\u0CC1\u0CA6\u0CC6. \u0CAC\u0CCD\u0CB0\u0CB8\u0CC6\u0CB8\u0CCD \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0CAE\u0CBE\u0CA6\u0CBF.", + CantUseHash1: "'macro \u0CAA\u0CCD\u0CAF\u0CBE\u0CB0\u0CBE\u0CAE\u0CC0\u0C9F\u0CB0\u0CCD \u0C95\u0CCD\u0CAF\u0CBE\u0CB0\u0CC6\u0C95\u0CCD\u0C9F\u0CB0\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAE\u0CBE\u0CA4\u0CCD \u0CAE\u0CCB\u0CA1\u0CCD \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2.", + MisplacedMiddle: "%1 \\left \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \\right \u0C87\u0CA8 \u0CAE\u0CA7\u0CCD\u0CAF\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", + MisplacedLimits: "%1 \u0CAC\u0CB0\u0CBF \u0C86\u0CAA\u0CB0\u0CC7\u0C9F\u0CB0\u0CCD\u0CB8\u0CCD \u0C87\u0C97\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD\u0CB0 \u0CB9\u0CBE\u0C95\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + MisplacedMoveRoot: "%1 \u0CAC\u0CB0\u0CBF root \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CAE\u0CBE\u0CA4\u0CCD\u0CB0 \u0CAC\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + MultipleCommand: " \u0C85\u0CA8\u0CC7\u0C95 %1.", + IntegerArg: "%1 \u0C87\u0C97\u0CC6 \u0CAC\u0C82\u0CA1 \u0C86\u0CB0\u0CCD\u0C97\u0CCD\u0CAF\u0CC1\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CB0\u0CCD\u0CA8\u0CBE\u0CA8\u0CCD\u0C95\u0CB5\u0CC7 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + NotMathMLToken: "%1 \u0C9F\u0CCB\u0C95\u0CA8\u0CCD \u0C8E\u0CB2\u0CBF\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C85\u0CB2\u0CCD\u0CB2.", + InvalidMathMLAttr: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CAE\u0CBE\u0CA4 \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C97\u0CC1\u0CA3 : %1", + UnknownAttrForElement: "%1 %2 \u0C87\u0C97\u0CC6 \u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CA4\u0CC6 \u0C97\u0CC1\u0CA3 \u0C85\u0CB2\u0CCD\u0CB2", + MaxMacroSub1: "\u0CAE\u0CA5\u0CCD\u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C97\u0CB0\u0CBF\u0CB7\u0CCD\u0CA0 \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CAF \u0CAE\u0CC0\u0CB0\u0CBF\u0CA6\u0CC6 \u0CAE\u0CCD\u0CAF\u0CBE\u0C97\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD; \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CA8\u0CB0\u0CBE\u0CB5\u0CB0\u0CCD\u0CA4\u0CBF\u0CA4 \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0C95\u0CB0\u0CC6 \u0C87\u0CB2\u0CCD\u0CB2?", + MaxMacroSub2: "\u0C97\u0CB0\u0CBF\u0CB7\u0CCD\u0CA0 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CAF \u0CAE\u0CC0\u0CB0\u0CBF\u0CA6\u0CC6 \u0CAE\u0CCD\u0CAF\u0CBE\u0C97\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD; \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CA8\u0CB0\u0CBE\u0CB5\u0CB0\u0CCD\u0CA4\u0CBF\u0CA4 \u0CB2\u0CCD\u0CAF\u0CBE\u0C9F\u0CC6\u0C95\u0CCD\u0CB8\u0CCD \u0CAA\u0CB0\u0CBF\u0CB8\u0CB0\u0C95\u0CCD\u0C95\u0CC6 \u0C87\u0CB2\u0CCD\u0CB2?", + MissingArgFor: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6", + ExtraAlignTab: "\\cases \u0CAA\u0CA0\u0CCD\u0CAF\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0C85\u0CB2\u0CC8\u0CA8\u0CCD\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C9F\u0CCD\u0CAF\u0CBE\u0CAC\u0CCD.", + BracketMustBeDimension: "%1 \u0C87\u0C97\u0CC6 \u0C87\u0CA6\u0CCD\u0CA6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0C85\u0CB3\u0CA4\u0CC6\u0CB5\u0CC6 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + InvalidEnv: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3 \u0CB9\u0CC6\u0CB8\u0CB0\u0CC1: %1", + UnknownEnv: "\u0C85\u0C9C\u0CCD\u0C9E\u0CBE\u0CA4 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3 '%1'", + ExtraCloseLooking: "%1 \u0CB9\u0CC1\u0CA1\u0CC1\u0C95\u0CC1\u0CB5\u0CBE\u0C97 \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CBF\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", + MissingCloseBracket: "%1 \u0C87\u0C97\u0CC6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6\u0C97\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CC6\u0CA6\u0CC6 ']' \u0CB8\u0CBF\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", + MissingOrUnrecognizedDelim: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0C85\u0CA5\u0CB5 \u0C85\u0CB0\u0CCD\u0CA5 \u0C86\u0C97\u0CA6 \u0C87\u0CA6\u0CCD\u0CA6 \u0CAC\u0CCD\u0CB0\u0C9A\u0CCD\u0C95\u0CC6\u0CA4\u0CCD.", + MissingDimOrUnits: "%1 \u0C87\u0C97\u0CC6 \u0CB8\u0CBF\u0C97\u0CA6\u0CC7 \u0C87\u0CA6\u0CCD\u0CA6 \u0C85\u0CB2\u0CBF\u0CA4\u0CC6 \u0C85\u0CA5\u0CB5 \u0C85\u0CA6\u0CB0 \u0C98\u0C9F\u0C95\u0C97\u0CB3\u0CC1.", + TokenNotFoundForCommand: "%1 \u0C87\u0C97\u0CC6 %2 \u0CB8\u0CBF\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2.", + MathNotTerminated: "\u0C97\u0CA3\u0CBF\u0CA4\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAA\u0CA5\u0CCD\u0CAF \u0CB8\u0C82\u0CA6\u0CC2\u0C95 \u0CB5\u0CB3\u0C97\u0CC6 \u0CAE\u0CC1\u0C97\u0CBF\u0CB8\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", + IllegalMacroParam: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0CAA\u0CCD\u0CAF\u0CBE\u0CB0\u0CBE\u0CAE\u0CC0\u0C9F\u0CB0\u0CCD \u0C87\u0C97\u0CC6 \u0C89\u0CB2\u0CCD\u0CB2\u0CC7\u0C96", + MaxBufferSize: "\u0CAE\u0CBE\u0CA4 \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C86\u0C82\u0CA4\u0CB0\u0CBF\u0C95 \u0CAC\u0CAB\u0CB0\u0CCD \u0C97\u0CBE\u0CA4\u0CCD\u0CB0\u0CA6 \u0CAE\u0CC0\u0CB0\u0CBF\u0CA6\u0CC6; \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CA8\u0CB0\u0CBE\u0CB5\u0CB0\u0CCD\u0CA4\u0CBF\u0CA4 \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0C95\u0CB0\u0CC6 \u0C87\u0CB2\u0CCD\u0CB2?", + CommandNotAllowedInEnv: "%2 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF %1 \u0C85\u0CB5\u0C95\u0CBE\u0CB6 \u0C85\u0CB2\u0CCD\u0CB2", + MultipleLabel: "%1 \u0C85\u0CA8\u0CC7\u0C95 \u0CB8\u0CB2 \u0CB5\u0CCD\u0CAF\u0CBE\u0C96\u0CCD\u0CAF\u0CBE\u0CA8\u0CBF\u0CB8\u0CB2\u0CC1 \u0C86\u0C97\u0CBF\u0C95\u0CCA\u0C82\u0CA1\u0CC1 \u0C89\u0C82\u0C9F\u0CC1", + CommandAtTheBeginingOfLine: "%1 \u0CAA\u0C82\u0C95\u0CCD\u0CA4\u0CBF\u0CA6 \u0CAE\u0CCA\u0CA6\u0CB2\u0CC1 \u0CAC\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", + IllegalAlign: "%1 \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CB8\u0CBE\u0CB2\u0CC1\u0C97\u0CC2\u0CA1\u0CBF\u0C95\u0CC6 \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCB\u0C97\u0CBF\u0CA6\u0CC6", + BadMathStyleFor: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CC6\u0C9F\u0CCD\u0C9F \u0C97\u0CA3\u0CBF\u0CA4\u0CA6\u0CCD\u0CA6\u0CC1 \u0CB6\u0CC8\u0CB2\u0CBF \u0C89\u0C82\u0C9F\u0CC1", + PositiveIntegerArg: "%1 \u0C87\u0C97\u0CC6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0CA7\u0CA8\u0CBE\u0CA4\u0CCD\u0CAE\u0C95 \u0CAA\u0CC2\u0CB0\u0CCD\u0CA3\u0CBE\u0C82\u0C95 \u0C87\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", + ErroneousNestingEq: "\u0C8E\u0C95\u0CBC\u0CC1\u0C85\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0CB0\u0C9A\u0CA8\u0CC6\u0C97\u0CB3 \u0CA4\u0CC3\u0CA4\u0CBF\u0CB5\u0CBE\u0CA6 \u0CA8\u0CC6\u0CB8\u0CCD\u0CA4\u0CBF\u0C82\u0C97\u0CCD", + MultlineRowsOneCol: "%1 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3\u0CA6 \u0CB5\u0CB3\u0C97\u0CC6 \u0C87\u0CA6\u0CCD\u0CA6 \u0CB8\u0CBE\u0CB2\u0CC1\u0C97\u0CB3\u0CBF\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC7 \u0CB8\u0CCD\u0CA4\u0C82\u0CAD \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + MultipleBBoxProperty: "%2 \u0C87\u0CA8 \u0CB5\u0CB3\u0C97\u0CC6 %1 \u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CB2 \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCA\u0C97\u0CBF\u0CA6\u0CC6.", + InvalidBBoxProperty: "'%1' \u0C92\u0C82\u0CA6\u0CC1 \u0CAC\u0CA3\u0CCD\u0CA3, \u0C89\u0CAC\u0CCD\u0CAC\u0CBF\u0CB8\u0CB5 \u0C85\u0CB2\u0CBF\u0CA4\u0CC6, \u0C85\u0CA5\u0CB5\u0CBE \u0CB6\u0CC8\u0CB2\u0CBF \u0CB9\u0CBE\u0C97\u0CC6 \u0C95\u0CBE\u0CA8\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2.", + ExtraEndMissingBegin: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 %1 \u0C85\u0CA5\u0CB5 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\begingroup", + GlobalNotFollowedBy: "%1 \u0C87\u0CA8 \u0CAE\u0CC1\u0C82\u0CA6\u0CC6 \\let, \\def, \\def, \u0C85\u0CA5\u0CB5 \\newcommand \u0CAC\u0CB0\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2.", + UndefinedColorModel: "\u0CAC\u0CA3\u0CCD\u0CA3\u0CA6 \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF '%1' \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCB\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2.", + ModelArg1: "%1 \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF\u0C97\u0CC6 \u0CAC\u0CA3\u0CCD\u0CA3\u0CA6 \u0CE9 (3) \u0C85\u0C82\u0C95\u0C97\u0CB3\u0CC1 \u0CAC\u0CC6\u0C95\u0C97\u0CC1\u0CA4\u0CA6\u0CC6.", + InvalidDecimalNumber: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CA6\u0CB6\u0CAE\u0CB3\u0CA8\u0CCD\u0CB6", + ModelArg2: "%1 \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF\u0C97\u0CC6 \u0CAC\u0CA3\u0CCD\u0CA3\u0CA6 \u0C85\u0CA8\u0CCD\u0C96\u0C97\u0CB3\u0CC1 %2 \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 %3 \u0C87\u0CA8 \u0CAE\u0CA7\u0CCD\u0CAF \u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + InvalidNumber: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0C85\u0C82\u0C95.", + NewextarrowArg1: "%1 \u0C87\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CA8\u0CC7 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C85\u0CA8\u0CC1\u0C95\u0CCD\u0CB0\u0CAE \u0C87\u0CB0 \u0CAC\u0CC6\u0C95\u0CC1.", + NewextarrowArg2: "%1 \u0C87\u0C97\u0CC6 \u0C8E\u0CB0\u0CA1\u0CA8\u0CC7 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0C95\u0CC6\u0CAE\u0CCD\u0CAE \u0CA6\u0CBF\u0C82\u0CA6 \u0CAC\u0CC7\u0CB0\u0CC6 \u0C86\u0CA6 \u0C8E\u0CB0\u0CA1\u0CC1 \u0CAA\u0CC2\u0CB0\u0CCD\u0CA3\u0CBE\u0C82\u0C95 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + NewextarrowArg3: "%1 \u0C87\u0C97\u0CC6 \u0CAE\u0CC2\u0CB0\u0CA8\u0CC7 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CAF\u0CC1\u0CA8\u0CBF\u0C95\u0CCB\u0CA1\u0CCD \u0CB8\u0CE6\u0C95\u0CC7\u0CA4 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + NoClosingChar: "\u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CC1\u0CB5 %1 \u0CB8\u0CBF\u0C97\u0CC1\u0CA4 \u0C87\u0CB2\u0CCD\u0CB2.", + IllegalControlSequenceName: "%1 \u0C87\u0C97\u0CC6 \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C85\u0CA8\u0CC1\u0C95\u0CCD\u0CB0\u0CAE", + IllegalParamNumber: "%1 \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CA8\u0CBF\u0CAF\u0CA4\u0CBE\u0C82\u0C95\u0C97\u0CB3 \u0C92\u0C82\u0CA6\u0CC1 \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CBE \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCB\u0C97\u0CBF\u0CA6\u0CCD\u0CA6\u0CC6", + MissingCS: "%1 \u0C86\u0CA6\u0CAE\u0CC7\u0CB2\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C95\u0CCD\u0CB0\u0CAE \u0CAC\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", + CantUseHash2: "%1 \u0C87\u0C97\u0CC6 \u0C9F\u0CC6\u0C82\u0CAA\u0CCD\u0CB2\u0CC6\u0C9F\u0CCD \u0C85\u0CB2\u0CCD\u0CB2\u0CBF # \u0C87\u0CA8 \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0C89\u0CAA\u0CAF\u0CCB\u0C97", + SequentialParam: " %1 \u0C87\u0C97\u0CC6 \u0CA8\u0CBF\u0CAF\u0CA4\u0CBE\u0C82\u0C95 \u0C92\u0C82\u0CA6\u0CC1 \u0C95\u0CCD\u0CB0\u0CAE \u0CAA\u0CCD\u0CB0\u0C95\u0CBE\u0CB0 \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CBE \u0CA4\u0CC6\u0C95\u0CCA\u0CB3\u0CC1\u0CAC\u0CC7\u0C95\u0CC1", + MissingReplacementString: "%1 \u0C87\u0CA8 \u0CB5\u0CCD\u0CAF\u0CBE\u0C96\u0CCD\u0CAF\u0CBE\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CAC\u0CA6\u0CB2\u0CBF \u0CB9\u0C97\u0CCD\u0C97", + MismatchUseDef: "%1 \u0C87\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0C85\u0CA6\u0CB0 \u0CB5\u0CCD\u0CAF\u0CBE\u0C96\u0CCD\u0CAF\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CB0\u0CBF\u0C9C\u0CC7\u0CA1\u0CBF \u0C86\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2", + RunawayArgument: "%1 \u0C87\u0C97\u0CC6 \u0C93\u0CA6\u0CC1 \u0CB9\u0CCB\u0C97\u0CC1\u0CB5 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 ?", + NoClosingDelim: "%1 \u0C87\u0C97\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CB5 \u0CAC\u0CCD\u0CB0\u0CBE\u0C95\u0CC6\u0C9F\u0CCD \u0CB8\u0CBF\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/kn.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/kn.js new file mode 100644 index 00000000..56f93514 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/kn.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/kn/kn.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn",null,{ + menuTitle: "\u0C95\u0CA8\u0CCD\u0CA8\u0CA1", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "\u0CAE\u0CA5\u0CCD\u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C87\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CB8\u0CA6\u0CB8\u0CCD\u0CAF \u0C9A\u0CCA\u0CA8\u0CCD\u0CAB\u0CBC\u0CBF\u0C97\u0CC1\u0CB0\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0C95\u0CC1\u0C95\u0CC0 \u0CB8\u0CBF\u0C95\u0CCD\u0C95\u0CBF\u0CA6\u0CC6. \u0C85\u0CA6\u0CCD\u0CA6\u0CA8\u0CCD\u0CA8 \u0CB0\u0CA8\u0CCD \u0CAE\u0CBE\u0CA1\u0CAC\u0CC7\u0C95? \n\n(\u0CA8\u0CC0\u0CB5\u0CC7 \u0C85\u0CA6\u0CA8\u0CCD\u0CA8 \u0CB8\u0CC6\u0C9F\u0CCD \u0C85\u0CAA\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF\u0CA6\u0CC1 \u0C85\u0CB2\u0CCD\u0CB2 \u0C86\u0CA6\u0CB0\u0CC6 \"Cancel\" \u0C85\u0CA5\u0CB5\u0CBE \"\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1\" \u0CB5\u0CA4\u0CCD\u0CA4\u0CBF.)", + MathProcessingError: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF\u0CC6\u0CAF\u0CB2\u0CCD\u0CB2\u0CBF \u0CA6\u0CCB\u0CB7", + MathError: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CA6\u0CCB\u0CB7", + LoadFile: "%1 \u0CB2\u0CCB\u0CA1\u0CCD \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6", + Loading: "\u0CB2\u0CCB\u0CA1\u0CCD \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6", + LoadFailed: "%1 \u0CAB\u0CC8\u0CB2\u0CCD \u0CB2\u0CCB\u0CA1\u0CCD \u0C86\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", + ProcessMath: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6: %1%%", + Processing: "\u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6", + TypesetMath: "\u0C97\u0CA3\u0CBF\u0CA4 \u0C9F\u0CC8\u0CAA\u0CCD\u200D\u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD: %1%%", + Typesetting: "\u0C9F\u0CC8\u0CAA\u0CCD\u200D\u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD", + MathJaxNotSupported: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD MathJax\u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CC6\u0C82\u0CAC\u0CB2\u0CBF\u0CB8\u0CC1\u0CB5\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/kn.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/FontWarnings.js new file mode 100644 index 00000000..179c0496 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ko/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax\uB294 \uBB38\uC11C\uC758 \uC218\uC2DD\uC744 \uD45C\uD604\uD558\uAE30 \uC704\uD574 \uC6F9 \uAE30\uBC18 \uD3F0\uD2B8\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB294\uB370 \uC2DC\uAC04\uC774 \uAC78\uB9AC\uC9C0\uB9CC, \uC2DC\uC2A4\uD15C \uD3F0\uD2B8 \uD3F4\uB354\uC5D0 \uC218\uC2DD \uD3F0\uD2B8\uAC00 \uC124\uCE58\uB418\uC5B4 \uC788\uB2E4\uBA74 \uBB38\uC11C\uAC00 \uB354 \uBE68\uB9AC \uD45C\uC2DC\uB420 \uAC83\uC785\uB2C8\uB2E4.", + imageFonts: "MathJax\uB294 \uB85C\uCEEC \uB610\uB294 \uC6F9 \uAE30\uBC18 \uAE00\uAF34\uC774 \uC544\uB2CC, \uADF8\uB9BC \uAE00\uAF34\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uD3C9\uC18C\uBCF4\uB2E4 \uB290\uB9AC\uAC8C \uD45C\uD604\uB420 \uC218 \uC788\uC73C\uBA70 \uC218\uD559 \uAE30\uD638\uAC00 \uD504\uB9B0\uD130\uC758 \uCD5C\uB300 \uD574\uC0C1\uB3C4\uB85C \uC778\uC1C4\uB418\uC9C0 \uBABB\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + webFonts: "\uD604\uB300\uC758 \uB300\uBD80\uBD84\uC758 \uBE0C\uB77C\uC6B0\uC800\uB4E4\uC740 \uC6F9\uC744 \uD1B5\uD574 \uD3F0\uD2B8\uB97C \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB294 \uAC83\uC774 \uAC00\uB2A5\uD569\uB2C8\uB2E4. \uCD5C\uC2E0 \uBC84\uC804\uC758 \uBE0C\uB77C\uC6B0\uC800\uB85C \uC5C5\uB370\uC774\uD2B8(\uB610\uB294 \uBE0C\uB77C\uC6B0\uC800 \uBCC0\uACBD)\uD558\uBA74 \uC774 \uBB38\uC11C\uC758 \uC218\uC2DD\uC758 \uD488\uC9C8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + noFonts: "MathJax\uB294 \uC218\uC2DD\uC744 \uD45C\uC2DC\uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uB294 \uAE00\uAF34\uC744 \uC704\uCE58\uC2DC\uD0AC \uC218 \uC5C6\uACE0 \uADF8\uB9BC \uAE00\uAF34\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uAE30 \uB54C\uBB38\uC5D0 \uBE0C\uB77C\uC6B0\uC800\uAC00 \uD45C\uC2DC\uD560 \uC218 \uC788\uC744 \uAC83\uC774\uB77C \uAE30\uB300\uD558\uBA74\uC11C \uC77C\uBC18 \uC720\uB2C8\uCF54\uB4DC \uBB38\uC790\uB85C \uB300\uC2E0 \uBCF4\uC5EC\uC8FC\uACE0 \uC788\uC2B5\uB2C8\uB2E4. \uC77C\uBD80 \uBB38\uC790\uAC00 \uC62C\uBC14\uB974\uAC8C \uBCF4\uC774\uC9C0 \uC54A\uC744 \uC218 \uC788\uC73C\uBA70 \uC544\uC608 \uBCF4\uC774\uC9C0 \uC54A\uC744 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4.", + fonts: "MathJax\uB294 [STIX \uAE00\uAF34](%1)\uC774\uB098 [MathJax TeX \uAE00\uAF34](%2) \uC911 \uD558\uB098\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC774 \uAE00\uAF34\uB4E4 \uAC00\uC6B4\uB370 \uD558\uB098\uB97C \uB2E4\uC6B4\uB85C\uB4DC\uD558\uACE0 \uC124\uCE58\uD558\uBA74 \uB2F9\uC2E0\uC758 MathJax \uACBD\uD5D8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + STIXPage: "\uC774 \uBB38\uC11C\uB294 [STIX \uAE00\uAF34](%1)\uC744 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uACC4\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uD574\uB2F9 \uAE00\uAF34\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uC5EC \uC124\uCE58\uD558\uBA74 \uB2F9\uC2E0\uC758 MathJax \uACBD\uD5D8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + TeXPage: "\uC774 \uBB38\uC11C\uB294 [MathJax TeX \uAE00\uAF34](%1)\uC744 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uACC4\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uD574\uB2F9 \uAE00\uAF34\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uC5EC \uC124\uCE58\uD558\uBA74 \uB2F9\uC2E0\uC758 MathJax \uACBD\uD5D8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HTML-CSS.js new file mode 100644 index 00000000..eb53c85e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ko/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "%1 \uC6F9\uD3F0\uD2B8\uB97C \uBD88\uB7EC\uC624\uACE0 \uC788\uC2B5\uB2C8\uB2E4...", + CantLoadWebFont: "%1 \uC6F9\uD3F0\uD2B8\uB97C \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", + FirefoxCantLoadWebFont: "\uD30C\uC774\uC5B4\uD3ED\uC2A4\uB294 \uC6D0\uACA9 \uD638\uC2A4\uD2B8\uB85C\uBD80\uD130 \uC6F9 \uD3F0\uD2B8\uB97C \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", + CantFindFontUsing: "%1\uB97C \uC0AC\uC6A9\uD55C \uC720\uD6A8\uD55C \uD3F0\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", + WebFontsNotAvailable: "\uC6F9 \uD3F0\uD2B8 \uC0AC\uC6A9\uC774 \uBD88\uAC00\uD569\uB2C8\uB2E4. \uC774\uBBF8\uC9C0 \uD3F0\uD2B8\uB97C \uB300\uC2E0 \uC0AC\uC6A9\uD569\uB2C8\uB2E4." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HelpDialog.js new file mode 100644 index 00000000..c2c0adf7 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HelpDialog.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ko/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax \uB3C4\uC6C0\uB9D0", + Browsers: "*\uBE0C\uB77C\uC6B0\uC800*: MathJax\uB294 IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+\uB97C \uD3EC\uD568\uD558\uB294 \uBAA8\uB4E0 \uCD5C\uC2E0 \uBE0C\uB77C\uC6B0\uC800\uC640 \uB300\uBD80\uBD84\uC758 \uBAA8\uBC14\uC77C \uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C \uC791\uB3D9\uD569\uB2C8\uB2E4.", + Menu: "*\uC218\uC2DD \uBA54\uB274*: MathJax\uB294 \uBC29\uC815\uC2DD\uC5D0 \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274\uB97C \uB367\uBD99\uC785\uB2C8\uB2E4. \uBA54\uB274\uC5D0 \uC811\uADFC\uD558\uB824\uBA74 \uC544\uBB34 \uC218\uC2DD\uC744 \uC67C\uCABD \uD074\uB9AD\uD558\uAC70\uB098 \uC624\uB978\uCABD \uD074\uB9AD\uD558\uC138\uC694.", + Zoom: "*\uC218\uC2DD \uD655\uB300*: \uBC29\uC815\uC2DD\uC744 \uC77D\uB294 \uB370 \uC5B4\uB824\uC6C0\uC774 \uC788\uB2E4\uBA74, MathJax\uC5D0\uC11C \uBC29\uC815\uC2DD\uC744 \uB354 \uC798 \uBCFC \uC218 \uC788\uB3C4\uB85D \uC2DD\uC744 \uD06C\uAC8C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + MathJax: "*MathJax*\uB294 \uBB38\uC11C \uC791\uC131\uC790\uAC00 \uC6F9 \uD398\uC774\uC9C0\uC5D0 \uC218\uD559\uC744 \uD3EC\uD568\uD560 \uC218 \uC788\uB3C4\uB85D \uD574\uC8FC\uB294 JavaScript \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC785\uB2C8\uB2E4. \uBB38\uC11C\uB97C \uC77D\uAE30 \uC704\uD574 \uB3C5\uC790\uAC00 \uB530\uB85C \uD574\uC57C \uD558\uB294 \uAC83\uC740 \uC5C6\uC2B5\uB2C8\uB2E4.", + Language: "*Language* \uBA54\uB274\uC5D0\uC11C MathJax\uAC00 \uBA54\uB274\uC640 \uACBD\uACE0 \uBA54\uC2DC\uC9C0\uB85C\uC368 \uC0AC\uC6A9\uD558\uB294 \uC5B8\uC5B4\uB97C \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + CloseDialog: "\uB3C4\uC6C0\uB9D0 \uB300\uD654 \uC0C1\uC790 \uB2EB\uAE30" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathML.js new file mode 100644 index 00000000..fc7fb389 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ko/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathMenu.js new file mode 100644 index 00000000..1a265875 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathMenu.js @@ -0,0 +1,106 @@ +/************************************************************* + * + * MathJax/localization/ko/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\uC218\uC2DD \uBCF4\uAE30", + MathMLcode: "MathML \uCF54\uB4DC", + OriginalMathML: "\uC6D0\uB798 MathML", + TeXCommands: "TeX \uBA85\uB839", + AsciiMathInput: "AsciiMathML \uC785\uB825", + Original: "\uC6D0\uB798 \uC591\uC2DD", + ErrorMessage: "\uC624\uB958 \uBA54\uC2DC\uC9C0", + Annotation: "\uC8FC\uC11D", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "MathML\uC5D0 TeX \uD78C\uD2B8 \uBCF4\uC774\uAE30", + Settings: "\uC218\uC2DD \uC124\uC815", + ZoomTrigger: "\uD2B8\uB9AC\uAC70 \uD655\uB300", + Hover: "\uAC00\uB9AC\uD0A4\uAE30", + Click: "\uD074\uB9AD", + DoubleClick: "\uB354\uBE14 \uD074\uB9AD", + NoZoom: "\uD655\uB300 \uC5C6\uC74C", + TriggerRequires: "\uD544\uC694\uD55C \uD2B8\uB9AC\uAC70:", + Option: "\uC120\uD0DD \uC0AC\uD56D", + Alt: "Alt", + Command: "\uCEE4\uB9E8\uB4DC", + Control: "\uCEE8\uD2B8\uB864", + Shift: "\uC2DC\uD504\uD2B8", + ZoomFactor: "\uD655\uB300 \uBC30\uC728", + Renderer: "\uC218\uC2DD \uB80C\uB354\uB7EC", + MPHandles: "MathPlayer\uC5D0 \uCC98\uB9AC\uD560 \uC774\uBCA4\uD2B8:", + MenuEvents: "\uBA54\uB274 \uC774\uBCA4\uD2B8", + MouseEvents: "\uB9C8\uC6B0\uC2A4 \uC774\uBCA4\uD2B8", + MenuAndMouse: "\uB9C8\uC6B0\uC2A4\uC640 \uBA54\uB274 \uC774\uBCA4\uD2B8", + FontPrefs: "\uAE00\uAF34 \uD658\uACBD \uC124\uC815", + ForHTMLCSS: "HTML-CSS:", + Auto: "\uC790\uB3D9", + TeXLocal: "TeX (\uB85C\uCEEC)", + TeXWeb: "TeX (\uC6F9)", + TeXImage: "TeX (\uADF8\uB9BC)", + STIXLocal: "STIX (\uB85C\uCEEC)", + ContextMenu: "\uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274", + Browser: "\uD0D0\uC0C9\uAE30", + Scale: "\uBAA8\uB4E0 \uC218\uC2DD \uBC30\uC728 ...", + Discoverable: "\uAC00\uB9AC\uD0A4\uBA74 \uAC15\uC870", + Locale: "\uC5B8\uC5B4", + LoadLocale: "URL\uC5D0\uC11C \uC5F4\uAE30 ...", + About: "MathJax \uC815\uBCF4", + Help: "MathJax \uB3C4\uC6C0\uB9D0", + localTeXfonts: "\uB85C\uCEEC TeX \uAE00\uAF34 \uC0AC\uC6A9", + webTeXfonts: "\uC6F9 TeX \uAE00\uAF34 \uC0AC\uC6A9", + imagefonts: "\uADF8\uB9BC \uAE00\uAF34 \uC0AC\uC6A9", + localSTIXfonts: "\uB85C\uCEEC STIX \uAE00\uAF34 \uC0AC\uC6A9", + webSVGfonts: "\uC6F9 SVG \uAE00\uAF34 \uC0AC\uC6A9", + genericfonts: "\uC77C\uBC18 \uC720\uB2C8\uCF54\uB4DC \uAE00\uAF34 \uC0AC\uC6A9", + wofforotffonts: "woff \uB610\uB294 otf \uAE00\uAF34", + eotffonts: "eot \uAE00\uAF34", + svgfonts: "svg \uAE00\uAF34", + WebkitNativeMMLWarning: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uAC00 \uAE30\uBCF8\uC801\uC73C\uB85C MathML\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAC83 \uAC19\uAE30 \uB54C\uBB38\uC5D0 MathML \uCD9C\uB825\uC73C\uB85C \uC804\uD658\uD558\uBA74 \uBB38\uC11C\uC5D0 \uC788\uB294 \uC218\uC2DD\uC744 \uC77D\uC744 \uC218 \uC5C6\uAC8C \uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + MSIENativeMMLWarning: "Internet Explorer\uB294 MathML \uCD9C\uB825\uC744 \uCC98\uB9AC\uD558\uAE30 \uC704\uD574 MathPlayer \uD50C\uB7EC\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.", + OperaNativeMMLWarning: "\uC624\uD398\uB77C\uC758 MathML \uC9C0\uC6D0\uC740 \uC81C\uD55C\uC801\uC774\uBBC0\uB85C MathML \uCD9C\uB825\uC73C\uB85C \uC804\uD658\uD558\uBA74 \uC77C\uBD80 \uD45C\uD604\uC774 \uBD88\uC644\uC804\uD558\uAC8C \uB80C\uB354\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + SafariNativeMMLWarning: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uC758 \uAE30\uBCF8 MathML\uC740 MathJax\uC5D0\uC11C \uC0AC\uC6A9\uD558\uB294 \uBAA8\uB4E0 \uAE30\uB2A5\uC744 \uAD6C\uD604\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uC77C\uBD80 \uD45C\uD604\uC774 \uC81C\uB300\uB85C \uB80C\uB354\uB418\uC9C0 \uC54A\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + FirefoxNativeMMLWarning: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uC758 \uAE30\uBCF8 MathML\uC740 MathJax\uC5D0\uC11C \uC0AC\uC6A9\uD558\uB294 \uBAA8\uB4E0 \uAE30\uB2A5\uC744 \uAD6C\uD604\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uC77C\uBD80 \uD45C\uD604\uC774 \uC81C\uB300\uB85C \uB80C\uB354\uB418\uC9C0 \uC54A\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + LoadURL: "\uC774 URL\uC5D0\uC11C \uBC88\uC5ED \uB370\uC774\uD130 \uC5F4\uAE30:", + BadData: "%1\uC5D0\uC11C \uBC88\uC5ED \uB370\uC774\uD130\uB97C \uC5F4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", + NonZeroScale: "\uBC30\uC728\uC740 0\uC774 \uC544\uB2C8\uC5B4\uC57C \uD569\uB2C8\uB2E4", + PercentScale: "\uBC30\uC728\uC740 \uBC31\uBD84\uC728\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4 (\uC608, 120%%)", + IE9warning: "MathJax \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274\uAC00 \uBE44\uD65C\uC131\uD654\uB418\uC9C0\uB9CC, \uB300\uC2E0 MathJax \uBA54\uB274\uB97C \uC5BB\uC73C\uB824\uBA74 Alt-\uD074\uB9AD\uC744 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + NoOriginalForm: "\uC6D0\uB798 \uC591\uC2DD\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", + Close: "\uB2EB\uAE30", + EqSource: "MathJax \uC218\uC2DD \uC790\uB8CC", + MSIESVGWarning: "SVG\uB294 Internet Explorer 9 \uC774\uD558\uB098 IE8 \uC774\uD558\uB97C \uC5D0\uBBAC\uB808\uC774\uD2B8\uB97C \uD560 \uB54C \uAD6C\uD604\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. SVG \uCD9C\uB825\uC73C\uB85C \uC804\uD658\uD558\uB294 \uAC83\uC740 \uC218\uC2DD\uC774 \uC798 \uD45C\uC2DC\uB418\uC9C0 \uC54A\uAC8C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + STIXWeb: "STIX (\uC6F9)", + AsanaMathWeb: "Asana Math (\uC6F9)", + GyrePagellaWeb: "Gyre Pagella (\uC6F9)", + GyreTermesWeb: "Gyre Termes (\uC6F9)", + LatinModernWeb: "Latin Modern (\uC6F9)", + NeoEulerWeb: "Neo Euler (\uC6F9)", + SwitchAnyway: "\uC5B4\uCA0C\uB4E0 \uB80C\uB354\uB7EC\uB97C \uC804\uD658\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?\n\n(\uC804\uD658\uD558\uB824\uBA74 \uD655\uC778\uC744, \uD604\uC7AC \uB80C\uB354\uB7EC\uB85C \uACC4\uC18D\uD558\uB824\uBA74 \uCDE8\uC18C\uB97C \uB204\uB974\uC138\uC694)", + CloseAboutDialog: "MathJax \uC815\uBCF4 \uB300\uD654 \uC0C1\uC790 \uB2EB\uAE30", + FastPreview: "\uACE0\uC18D \uBBF8\uB9AC \uBCF4\uAE30" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/TeX.js new file mode 100644 index 00000000..5585f7d8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/TeX.js @@ -0,0 +1,66 @@ +/************************************************************* + * + * MathJax/localization/ko/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\uB2EB\uD788\uC9C0 \uC54A\uC740 \uC5EC\uB294 \uAD04\uD638\uAC00 \uC788\uC2B5\uB2C8\uB2E4.", + ExtraCloseMissingOpen: "\uB2EB\uB294 \uAD04\uD638\uAC00 \uCD94\uAC00\uB85C \uB0A8\uC544\uC788\uC2B5\uB2C8\uB2E4.", + MissingLeftExtraRight: "\\left\uAC00 \uC5C6\uAC70\uB098 \\right\uAC00 \uCD94\uAC00\uB85C \uC788\uC2B5\uB2C8\uB2E4", + ExtraLeftMissingRight: "\\left\uAC00 \uCD94\uAC00\uB85C \uC788\uAC70\uB098 \\right\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", + Misplaced: "%1\uC758 \uC704\uCE58\uAC00 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + MissingOpenForSub: "\uC544\uB798 \uCCA8\uC790\uC758 \uC5EC\uB294 \uAD04\uD638\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", + MissingOpenForSup: "\uC704 \uCCA8\uC790\uC758 \uC5EC\uB294 \uAD04\uD638\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", + EnvBadEnd: "\\begin{%1}\uC774 \\end{%2}(\uC73C)\uB85C \uB05D\uB0A9\uB2C8\uB2E4", + EnvMissingEnd: "\\end{%1}\uC774 \uBE60\uC84C\uC2B5\uB2C8\uB2E4", + MissingBoxFor: "%1 \uBC15\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", + MissingCloseBrace: "\uB2EB\uB294 \uAD04\uD638\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", + DoubleExponent: "\uC774\uC911 \uC9C0\uC218: \uBA85\uD655\uC131\uC744 \uC704\uD574 \uAD04\uD638\uB97C \uC0AC\uC6A9\uD558\uC138\uC694", + DoubleSubscripts: "\uC774\uC911 \uC544\uB798 \uCCA8\uC790: \uBA85\uD655\uC131\uC744 \uC704\uD574 \uAD04\uD638\uB97C \uC0AC\uC6A9\uD558\uC138\uC694", + MisplacedMiddle: "%1\uC740 \\left\uC640 \\right \uC0AC\uC774\uC5D0 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4", + MisplacedLimits: "%1\uC740 \uC5F0\uC0B0\uC790\uB9CC \uD5C8\uC6A9\uB429\uB2C8\uB2E4.", + MisplacedMoveRoot: "%1\uC740 \uB8E8\uD2B8 \uC548\uC5D0\uC11C\uB9CC \uB098\uD0C0\uB0A9\uB2C8\uB2E4.", + MultipleCommand: "%1\uC774 \uC911\uBCF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + IntegerArg: "%1\uC5D0 \uB300\uD55C \uC778\uC790\uB294 \uC815\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4.", + MissingArgFor: "%1 \uC778\uC790\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", + InvalidEnv: "\uC62C\uBC14\uB974\uC9C0 \uC54A\uC740 \uD658\uACBD \uC774\uB984 '%1'", + UnknownEnv: "\uC54C \uC218 \uC5C6\uB294 \uD658\uACBD '%1'", + ExtraCloseLooking: "%1\uC744 \uCC3E\uB294 \uB3C4\uC911\uC5D0 \uC5EC\uBD84\uC758 \uB2EB\uB294 \uC911\uAD04\uD638\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", + MissingCloseBracket: "%1\uC758 \uC778\uC790\uC5D0 \uB300\uD574 \uB2EB\uB294 ']' \uAE30\uD638\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", + CommandNotAllowedInEnv: "%1\uC740 %2 \uD658\uACBD\uC5D0\uC11C \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4", + MultipleLabel: "'%1' label\uC774 \uC911\uBCF5\uC73C\uB85C \uC815\uC758\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", + CommandAtTheBeginingOfLine: "%1\uC740 \uC904\uC758 \uCC98\uC74C\uC5D0 \uC640\uC57C \uD569\uB2C8\uB2E4.", + IllegalAlign: "%1\uC5D0 \uC9C0\uC815\uB41C \uC778\uC218\uB294 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + UndefinedColorModel: "'%1' \uC0C9\uC0C1 \uBAA8\uB378\uC774 \uC815\uC758\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.", + ModelArg1: "%1 \uBAA8\uB378\uC5D0 \uB300\uD55C \uC0C9\uC0C1 \uAC12\uC740 3\uAC1C\uC758 \uC218\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.", + InvalidDecimalNumber: "\uC62C\uBC14\uB974\uC9C0 \uC54A\uC740 \uC2ED\uC9C4\uC218", + InvalidNumber: "\uC798\uBABB\uB41C \uC22B\uC790\uC785\uB2C8\uB2E4", + NoClosingChar: "\uB2EB\uB294 \uAD04\uD638 %1\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", + IllegalControlSequenceName: "%1\uC5D0 \uB300\uD55C \uC81C\uC5B4 \uC2DC\uD000\uC2A4 \uC774\uB984\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + IllegalParamNumber: "%1\uC5D0 \uC9C0\uC815\uB41C \uBCC0\uC218 \uC218\uAC00 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + CantUseHash2: "%1\uC5D0 \uB300\uD55C \uD15C\uD50C\uB9BF\uC5D0 #\uC758 \uC0AC\uC6A9\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + UndefinedControlSequence: "\uC815\uC758\uB418\uC9C0 \uC54A\uC740 \uCEE8\uD2B8\uB864 \uC2DC\uD000\uC2A4 %1", + MathNotTerminated: "\uD14D\uC2A4\uD2B8 \uC0C1\uC790\uC5D0\uC11C \uC218\uC2DD\uC774 \uC644\uC131\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4", + MissingCS: "%1 \uC55E\uC5D0 \uCEE8\uD2B8\uB864 \uC2DC\uD000\uC2A4\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4", + MismatchUseDef: "%1\uC758 \uC0AC\uC6A9\uC774 \uADF8\uAC83\uC758 \uC815\uC758\uC640 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/ko.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/ko.js new file mode 100644 index 00000000..f3456ea4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/ko.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/ko/ko.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko",null,{ + menuTitle: "\uD55C\uAD6D\uC5B4", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax\uAC00 \uC2E4\uD589\uD560 \uCF54\uB4DC\uB97C \uD3EC\uD568\uD558\uB294 \uC0AC\uC6A9\uC790-\uC124\uC815 \uCFE0\uD0A4\uB97C \uCC3E\uC558\uC2B5\uB2C8\uB2E4. \uC2E4\uD589\uD558\uACA0\uC2B5\uB2C8\uAE4C?\n\n(\uCFE0\uD0A4\uB97C \uC2A4\uC2A4\uB85C \uC124\uC815\uD558\uC9C0 \uC54A\uC73C\uBA74 \uCDE8\uC18C\uB97C \uB20C\uB7EC\uC57C \uD569\uB2C8\uB2E4.)", + MathProcessingError: "\uC218\uC2DD \uCC98\uB9AC \uC624\uB958", + MathError: "\uC218\uC2DD \uC624\uB958", + LoadFile: "%1\uC744(\uB97C) \uBD88\uB7EC\uC624\uB294 \uC911", + Loading: "\uBD88\uB7EC\uC624\uB294 \uC911", + LoadFailed: "\uD30C\uC77C\uC744 \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: %1", + ProcessMath: "\uC218\uC2DD \uCC98\uB9AC \uC911: %1%%", + Processing: "\uCC98\uB9AC \uC911", + TypesetMath: "\uC218\uC2DD \uC870\uD310 \uC911: %1%%", + Typesetting: "\uC870\uD310 \uC911", + MathJaxNotSupported: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uB294 MathJax\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/ko.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/FontWarnings.js new file mode 100644 index 00000000..6109607b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/lb/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HTML-CSS.js new file mode 100644 index 00000000..d88d5dff --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/lb/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HelpDialog.js new file mode 100644 index 00000000..ce86b83c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/lb/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathML.js new file mode 100644 index 00000000..b47efc1c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/lb/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathMenu.js new file mode 100644 index 00000000..0b39dc23 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathMenu.js @@ -0,0 +1,55 @@ +/************************************************************* + * + * MathJax/localization/lb/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + MathMLcode: "MathML Code", + OriginalMathML: "Original MathML", + Original: "Original Formulaire", + ErrorMessage: "Feelermessage", + Annotation: "Notiz", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + OpenMath: "OpenMath", + Settings: "Math Astellungen", + Hover: "Driwwerfueren", + Click: "Klicken", + DoubleClick: "Duebel-Klick", + NoZoom: "Kee Zoom", + Option: "Optioun", + Alt: "Alt", + Control: "Ctrl", + Auto: "Automatesch", + TeXImage: "TeX (Bild)", + STIXLocal: "STIX (lokal)", + ContextMenu: "kontextuelle Men\u00FC", + Browser: "Browser", + Locale: "Sprooch", + LoadLocale: "Luede vun der URL ...", + About: "Iwwer MathJax", + Help: "MathJax H\u00EBllef", + LoadURL: "Iwwersetzungsdonn\u00E9e\u00EB vun d\u00EBser URL lueden:", + Close: "Zoumaachen" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/TeX.js new file mode 100644 index 00000000..3414b561 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/lb/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/lb.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/lb.js new file mode 100644 index 00000000..77aca3ac --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/lb.js @@ -0,0 +1,53 @@ +/************************************************************* + * + * MathJax/localization/lb/lb.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb",null,{ + menuTitle: "L\u00EBtzebuergesch", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathError: "Math Feeler", + LoadFile: "%1 lueden", + Loading: "Lueden", + LoadFailed: "De Fichier konnt net geluede ginn: %1", + Processing: "Verschaffen", + MathJaxNotSupported: "\u00C4re browser \u00EBnnerst\u00EBtzt MathJax net" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/lb.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/FontWarnings.js new file mode 100644 index 00000000..85395668 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/lki/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0632\u0645\u0627\u0646\u06CC \u062C\u0647\u062A \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0628\u06AF\u06CC\u0631\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0631\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u0633\u062A\u0642\u06CC\u0645 \u062F\u0631 \u067E\u0648\u0634\u0647\u0654 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0633\u06CC\u0633\u062A\u0645\u200C\u0639\u0627\u0645\u0644 \u062E\u0648\u062F \u0642\u0631\u0627\u0631 \u062F\u0647\u06CC\u062F \u0646\u0645\u0627\u06CC\u0634 \u0635\u0641\u062D\u0627\u062A \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u0646\u062F \u0634\u062F.", + imageFonts: "MathJax \u0628\u0647 \u062C\u0627\u06CC \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u062D\u0644\u06CC \u06CC\u0627 \u0648\u0628\u06CC \u0627\u0632 \u062A\u0635\u0627\u0648\u06CC\u0631 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0627\u0632 \u062D\u0627\u0644\u062A \u0639\u0627\u062F\u06CC \u06A9\u0646\u062F\u062A\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u062F\u0631 \u062C\u0632\u0626\u06CC\u0627\u062A \u06A9\u0627\u0645\u0644 \u0686\u0627\u067E\u06AF\u0631 \u0634\u0645\u0627 \u0686\u0627\u067E \u0646\u0634\u0648\u0646\u062F.", + noFonts: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A \u0642\u0644\u0645\u06CC \u06A9\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F \u0631\u0627 \u0628\u06CC\u0627\u0628\u062F \u0648 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0647 \u0627\u06CC\u0646 \u0627\u0645\u06CC\u062F \u06A9\u0647 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u062A\u0648\u0627\u0646\u062F \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0639\u0645\u0648\u0645\u06CC \u0631\u0627 \u0686\u0627\u067E \u06A9\u0646\u062F \u0628\u0647 \u0622\u0646\u200C\u0647\u0627 \u0628\u0627\u0632\u0645\u06CC\u200C\u06AF\u0631\u062F\u062F. \u0628\u0639\u0636\u06CC \u0627\u0632 \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u06CC\u0627 \u0627\u0635\u0644\u0627\u064B \u0628\u0647 \u06A9\u0644 \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + webFonts: "\u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC \u062F\u0647\u0646\u062F \u06A9\u0647 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0632 \u0637\u0631\u06CC\u0642 \u0648\u0628 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0634\u0648\u0646\u062F. \u0628\u0647\u200C\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC\u200C\u06A9\u0631\u062F\u0646 \u0628\u0647 \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u062E\u0631\u06CC\u0646 \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0645\u0631\u0648\u0631\u06AF\u0631\u062A\u0627\u0646 (\u06CC\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631) \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u06A9\u06CC\u0641\u06CC\u062A \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", + fonts: "MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u06CC\u0627 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%2) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u0646\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", + STIXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC\u200C\u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0628\u0647\u0628\u0648\u062F \u06CC\u0627\u0628\u062F.", + TeXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC \u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u06A9\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u0645\u06CC\u200C\u0628\u062E\u0634\u062F." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HTML-CSS.js new file mode 100644 index 00000000..cf8b31be --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/lki/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0642\u0644\u0645 \u0648\u0628\u06CC %1", + CantLoadWebFont: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u0642\u0644\u0645 \u0648\u0628\u06CC %1 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0631\u062F", + FirefoxCantLoadWebFont: "\u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0631\u0627 \u0627\u0632 \u06CC\u06A9 \u0645\u06CC\u0632\u0627\u0646 \u0627\u0632 \u0631\u0627\u0647 \u062F\u0648\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F", + CantFindFontUsing: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u06CC\u06A9 \u0642\u0644\u0645 \u0645\u0639\u062A\u0628\u0631 \u0628\u0627\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 %1 \u06CC\u0627\u0641\u062A", + WebFontsNotAvailable: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0646\u0627\u0645\u0648\u062C\u0648\u062F\u0646\u062F -- \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0628\u0647 \u062C\u0627\u06CC \u0622\u0646" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HelpDialog.js new file mode 100644 index 00000000..34b2d63a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/lki/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", + MathJax: "*MathJax* \u06CC\u06A9 \u06A9\u062A\u0627\u0628\u062E\u0627\u0646\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0646\u0648\u06CC\u0633\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u0635\u0641\u062D\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u062F\u0631\u0648\u0646 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC \u0642\u0631\u0627\u0631 \u062F\u0647\u0646\u062F. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062E\u0648\u0627\u0646\u0646\u062F\u0647\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u0646\u062F\u0627\u0631\u06CC\u062F \u06A9\u0627\u0631\u06CC \u0627\u0646\u062C\u0627\u0645 \u062F\u0647\u06CC\u062F \u06A9\u0647 \u0627\u06CC\u0646 \u0627\u062A\u0641\u0627\u0642 \u0628\u06CC\u0641\u062A\u062F.", + Browsers: "*\u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627*: MathJax \u0628\u0627 \u0647\u0645\u0647\u0654 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0634\u0627\u0645\u0644 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u06F3 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u06A9\u0631\u0648\u0645 \u06F0.\u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0633\u0627\u0641\u0627\u0631\u0633\u06CC \u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0627\u067E\u0631\u0627\u06CC \u06F9.\u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627 \u0648 \u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u062A\u0644\u0641\u0646 \u0647\u0645\u0631\u0627\u0647 \u06A9\u0627\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F.", + Menu: "*\u0645\u0646\u0648\u06CC \u0631\u06CC\u0627\u0636\u06CC*: MathJax \u06CC\u06A9 \u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC \u0628\u0647 \u0645\u0639\u0627\u062F\u0644\u0627\u062A \u0645\u06CC\u200C\u0627\u0641\u0632\u0627\u06CC\u062F. \u0628\u0627 \u06A9\u0644\u06CC\u06A9 \u0631\u0627\u0633\u062A \u06CC\u0627 \u06A9\u0644\u06CC\u06A9 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u0647\u0627\u0631 (CTRL) \u062F\u0631 \u0647\u0631 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0627\u06CC \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0647 \u0627\u06CC\u0646 \u0645\u0646\u0648 \u062F\u0633\u062A \u0628\u06CC\u0627\u0628\u06CC\u062F.", + ShowMath: "*\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC \u0628\u0647 \u0639\u0646\u0648\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0634\u0645\u0627 \u0645\u0646\u0628\u0639 \u0646\u0634\u0627\u0646\u0647\u200C\u06AF\u0630\u0627\u0631\u06CC \u0641\u0631\u0645\u0648\u0644 \u0631\u0627 \u0628\u0631\u0627\u06CC \u0631\u0648\u0646\u0648\u0634\u062A \u0648 \u0686\u0633\u067E\u0627\u0646\u062F\u0646 \u0628\u0628\u06CC\u0646\u06CC\u062F (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 MathML \u06CC\u0627 \u062F\u0631 \u0642\u0627\u0644\u0628 \u0627\u0635\u0644\u06CC \u0622\u0646).", + Settings: "*\u062A\u0646\u0638\u06CC\u0645\u0627\u062A* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0628\u0647 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC MathJax \u0627\u0632 \u062C\u0645\u0644\u0647\u0654 \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0648 \u0645\u06A9\u0627\u0646\u06CC\u0632\u0645 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u06A9\u0646\u062A\u0631\u0644 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F.", + Language: "*\u0632\u0628\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0634\u0645\u0627 \u0632\u0628\u0627\u0646 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0628\u0631\u0627\u06CC \u0645\u0646\u0648\u0647\u0627 \u0648 \u067E\u06CC\u063A\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627 \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F.", + Zoom: "*\u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u06CC\u0627\u0636\u06CC*: \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0627 \u062E\u0648\u0627\u0646\u062F\u0646 \u06CC\u06A9 \u0645\u0639\u0627\u062F\u0644\u0647 \u0645\u0634\u06A9\u0644\u06CC \u062F\u0627\u0631\u06CC\u062F\u060C MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 \u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0628\u0647 \u062F\u06CC\u062F\u0646 \u0634\u0645\u0627 \u06A9\u0645\u06A9 \u06A9\u0646\u062F.", + Accessibilty: "*\u062F\u0633\u062A\u06CC\u0627\u0628\u06CC\u200C\u067E\u0630\u06CC\u0631\u06CC*: MathJax \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u062E\u0648\u062F\u06A9\u0627\u0631 \u0628\u0627 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u0628\u0631\u0627\u06CC \u0642\u0627\u0628\u0644 \u062F\u0633\u062A\u0631\u0633 \u0628\u0631\u0627\u06CC \u06A9\u0633\u0627\u0646\u06CC \u06A9\u0647 \u0645\u0634\u06A9\u0644 \u0628\u06CC\u0646\u0627\u06CC\u06CC \u062F\u0627\u0631\u0646\u062F \u0639\u0645\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F.", + Fonts: "*\u0642\u0644\u0645\u200C\u0647\u0627*: MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u0634\u062E\u0635\u06CC \u0627\u06AF\u0631 \u0628\u0631 \u0631\u0648\u06CC \u0631\u0627\u06CC\u0627\u0646\u0647\u0654 \u0634\u0645\u0627 \u0646\u0635\u0628 \u0628\u0627\u0634\u0646\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F\u061B \u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0628\u0631 \u067E\u0627\u06CC\u0647\u0654 \u0648\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0627\u06AF\u0631\u0686\u0647 \u0646\u06CC\u0627\u0632\u06CC \u0646\u06CC\u0633\u062A\u060C \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0646\u0635\u0628\u200C\u0634\u062F\u0647 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0645\u0627 \u0646\u0635\u0628 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0631\u0627 \u067E\u06CC\u0634\u0646\u0647\u0627\u062F \u0645\u06CC\u200C\u06A9\u0646\u06CC\u0645." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathML.js new file mode 100644 index 00000000..09236ea9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/lki/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", + BadMglyphFont: "\u0642\u0644\u0645 \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", + MathPlayer: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A MathPlayer \u0631\u0627 \u0631\u0627\u0647\u200C\u0627\u0646\u062F\u0627\u0632\u06CC \u06A9\u0646\u062F.\n\n\u0627\u06AF\u0631 MathPlayer \u0646\u0635\u0628 \u0646\u06CC\u0633\u062A\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u062F\u0627\u0631\u06CC\u062F \u06A9\u0647 \u0627\u0628\u062A\u062F\u0627 \u0622\u0646 \u0631\u0627 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F.\n\u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A\u060C \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u0634\u0645\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 \u0627\u062C\u0631\u0627\u06CC\n\u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633 \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F. \u0627\u0632 \u06AF\u0632\u06CC\u0646\u0647\u200C\u0647\u0627\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0645\u0648\u062C\u0648\u062F \u0632\u06CC\u0631\n\u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u0628\u0631\u06AF\u0647\u0654 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F\u060C \u0633\u067E\u0633 \u062F\u06A9\u0645\u0647\u0654\n\u0645\u0631\u062C\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u0631\u0627 \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F. \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u062C\u0631\u0627\u06CC\n\u00AB\u0627\u062C\u0631\u0627\u06CC \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\u00BB \u0648 \u00AB\u0631\u0641\u062A\u0627\u0631\u0647\u0627\u06CC \u062F\u0648\u062F\u0648\u06CC\u06CC \u0648 \u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u00BB \u0641\u0639\u0627\u0644\n\u0647\u0633\u062A\u0646\u062F.\n\n\u062F\u0631 \u062D\u0627\u0644 \u062D\u0627\u0636\u0631 \u0634\u0645\u0627 \u0628\u0647 \u062C\u0627\u06CC \u062D\u0631\u0648\u0641 \u0631\u06CC\u0627\u0636\u06CC \u067E\u06CC\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627\u06CC \u062E\u0648\u0627\u0647\u06CC\u062F \u062F\u06CC\u062F.", + CantCreateXMLParser: "MathJax \u0646\u062A\u0648\u0627\u0633\u062A \u06CC\u06A9 \u062A\u062C\u0632\u06CC\u0647\u200C\u06AF\u0631 \u0627\u06A9\u0633\u200C\u0627\u0645\u200C\u0627\u0644 \u0628\u0631\u0627\u06CC MathML \u0627\u06CC\u062C\u0627\u062F \u06A9\u0646\u062F.\n\u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u00AB\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\n\u0639\u0644\u0627\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC\u200C\u0634\u062F\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u0645\u0646 \u0628\u0631\u0627\u06CC \u06A9\u062F\u0632\u0646\u06CC\u00BB \u0641\u0639\u0627\u0644 \u0627\u0633\u062A (\u0627\u0632\n\u06AF\u0632\u06CC\u0646\u0647\u0654 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u06AF\u0632\u06CC\u0646\u0647 \u062F\u0631 \u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u067E\u0646\u0644 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628\n\u06A9\u0646\u06CC\u062F \u0648 \u062F\u06A9\u0645\u0647\u0654 \u0645\u0631\u062D\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u062A\u0627 \u0627\u06CC\u0646 \u0631\u0627 \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F).\n\n\u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC MathML \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u0646\u062F \u062A\u0648\u0633\u0637 MathJax \u067E\u0631\u062F\u0627\u0632\u0634 \u06AF\u0631\u062F\u0646\u062F.", + UnknownNodeType: "\u0646\u0648\u0639 \u06AF\u0631\u0647\u0654 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647: %1", + UnexpectedTextNode: "\u06AF\u0631\u0647\u0654 \u0645\u062A\u0646\u06CC \u063A\u06CC\u0631\u0645\u0646\u062A\u0638\u0631\u0647:\u200C %1", + ErrorParsingMathML: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML", + ParsingError: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML\u200F: %1", + MathMLSingleElement: "MathML \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0648\u0627\u062D\u062F \u0628\u06CC\u0627\u06CC\u062F", + MathMLRootElement: "MathML \u0628\u0627\u06CC\u062F \u062A\u0648\u0633\u0637 \u0639\u0646\u0635\u0631 \u003Cmath\u003E \u062A\u0634\u06A9\u06CC\u0644 \u0634\u062F\u0647 \u0628\u0627\u0634\u062F \u0646\u0647 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathMenu.js new file mode 100644 index 00000000..e29852b5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathMenu.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/localization/lki/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u0639\u0646\u0648\u0627\u0646", + MathMLcode: "\u06A9\u062F MathML", + OriginalMathML: "MathML \u0627\u0635\u0644\u06CC", + TeXCommands: "\u062F\u0633\u062A\u0648\u0631\u0627\u062A \u062A\u06A9", + AsciiMathInput: "\u0648\u0631\u0648\u062F\u06CC AsciiMathML", + Original: "\u062D\u0627\u0644\u062A \u0627\u0635\u0644\u06CC", + ErrorMessage: "\u067E\u06CC\u063A\u0648\u0645 \u062E\u0637\u0627", + Annotation: "\u06CC\u0627\u062F\u062F\u0627\u0634\u062A/\u0648\u06CC\u0631\u0646\u06C6\u06CC\u0633\u0629", + TeX: "\u062A\u06A9", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML \u0646\u06C6\u0645 \u062C\u0650\u06A9(\u0645\u062D\u062A\u0648\u0627)", + OpenMath: "OpenMath", + texHints: "\u0646\u0645\u0627\u06CC\u0634 \u0646\u06A9\u062A\u0647\u200C\u0647\u0627\u06CC \u062A\u06A9 \u062F\u0631 MathML", + Settings: "\u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A", + ZoomTrigger: "\u0645\u0627\u0634\u0647\u0654 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + Hover: "\u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC \u0622\u0646", + Click: "\u06A9\u0650\u0644\u06CC\u06A9 \u06A9\u0629", + DoubleClick: "\u062F\u0648 \u06AF\u0650\u0644/\u0628\u0627\u0631 \u06A9\u0644\u06CC\u06A9", + NoZoom: "\u0628\u062F\u0648\u0646 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + TriggerRequires: "\u062A\u063A\u06CC\u06CC\u0631 \u062D\u0627\u0644\u062A \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A \u0628\u0647:", + Option: "\u06AF\u0632\u06CC\u0646\u0647", + Alt: "\u062F\u06AF\u0631\u0633\u0627\u0632", + Command: "\u062F\u0633\u062A\u0648\u0631", + Control: "\u06A9\u0646\u062A\u0631\u0644", + Shift: "\u062A\u0628\u062F\u06CC\u0644", + ZoomFactor: "\u0636\u0631\u06CC\u0628 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + Renderer: "\u0627\u0631\u0627\u0626\u0647\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC", + MPHandles: "\u0627\u062C\u0627\u0632\u0647\u200C\u0628\u062F\u0647 MathPlayer \u0645\u062F\u06CC\u0631\u06CC\u062A \u06A9\u0646\u062F:", + MenuEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0646\u0648", + MouseEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647", + MenuAndMouse: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0648 \u0645\u0646\u0648", + FontPrefs: "\u062A\u0645\u0627\u0631\u0632\u0648\u0648\u06D5\u0644(\u062A\u0631\u062C\u06CC\u062D\u0627\u062A)\u0641\u0648\u0648\u0646\u062A", + ForHTMLCSS: "\u0628\u0631\u0627\u06CC \u0627\u0686\u200C\u062A\u06CC\u200C\u0627\u0645\u200C\u0627\u0644-\u0633\u06CC\u200C\u0627\u0633\u200C\u0627\u0633:", + Auto: "\u062E\u0648\u062F\u06A9\u0627\u0631", + TeXLocal: "\u062A\u06A9 (\u0645\u062D\u0644\u06CC)", + TeXWeb: "\u062A\u06A9 (\u0648\u0628)", + TeXImage: "\u062A\u06A9 (\u0646\u06AF\u0627\u0631\u0647)", + STIXLocal: "STIX (\u0645\u062D\u0644\u06CC)", + STIXWeb: "STIX (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + AsanaMathWeb: "\u0631\u06CC\u0627\u0636\u06CC \u0622\u0633\u0627\u0646\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + GyrePagellaWeb: "\u06AF\u0631\u06CC \u067E\u0627\u06AF\u0644\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + GyreTermesWeb: "\u06AF\u06CC\u0631 \u062A\u0631\u0645\u0632 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + LatinModernWeb: "\u0644\u0627\u062A\u06CC\u0646 \u0645\u062F\u0631\u0646 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + NeoEulerWeb: "\u0646\u0626\u0648 \u0627\u0648\u06CC\u0644\u0631 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + ContextMenu: "\u0645\u0646\u0648 \u0645\u062A\u0646\u06CC", + Browser: "\u0645\u0650\u0646\u0650\u06CC -\u06AF\u06C0\u0634\u062A\u0646", + Scale: "\u0645\u0642\u06CC\u0627\u0633\u200C\u062F\u0647\u06CC \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A ...", + Discoverable: "\u0628\u0631\u062C\u0633\u062A\u0647\u200C\u0634\u062F\u0646 \u0628\u0627 \u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC\u0634", + Locale: "\u0632\u0648\u0648\u0646", + LoadLocale: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC ...", + About: "\u062F\u0631\u0628\u0627\u0631\u0647\u0654 MathJax", + Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", + localTeXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 \u0645\u062D\u0644\u06CC", + webTeXfonts: "\u0628\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645 \u0648\u0628\u06CC \u062A\u06A9", + imagefonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC", + localSTIXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX \u0645\u062D\u0644\u06CC", + webSVGfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC SVG", + genericfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0639\u0645\u0648\u0645\u06CC \u06CC\u0648\u0646\u06CC\u06A9\u062F", + wofforotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC woff \u06CC\u0627 otf", + eotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC eot", + svgfonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC svg", + WebkitNativeMMLWarning: "\u0628\u0647 \u0646\u0638\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathML \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F\u060C \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0631\u0641\u062A\u0646 \u0628\u0647 \u062D\u0627\u0644\u062A \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0635\u0641\u062D\u0647 \u063A\u06CC\u0631\u0642\u0627\u0628\u0644 \u062E\u0648\u0627\u0646\u062F\u0646 \u0634\u0648\u0646\u062F.", + MSIENativeMMLWarning: "\u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0628\u0647 \u0627\u0641\u0632\u0627\u06CC\u0647\u0654 MathPlayer \u0628\u0631\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u062E\u0631\u0648\u062C\u06CC MathML \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A.", + OperaNativeMMLWarning: "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0627\u067E\u0631\u0627 \u0627\u0632 MathML \u0645\u062D\u062F\u0648\u062F \u0627\u0633\u062A \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0646\u0645\u0627\u06CC\u0634 \u0636\u0639\u06CC\u0641 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0634\u0648\u062F.", + SafariNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u0627\u062A \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0646\u062F.", + FirefoxNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647\u0654 MathML \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u062F\u06CC\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + MSIESVGWarning: "SVG \u062F\u0631 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0642\u0628\u0644 \u0627\u0632 \u0646\u0633\u062E\u0647\u0654 \u06F9 \u0622\u0646 \u06CC\u0627 \u0648\u0642\u062A\u06CC \u06A9\u0647 \u0634\u0628\u06CC\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0642\u0628\u0644\u06CC \u0631\u0627 \u0645\u06CC\u200C\u06A9\u0646\u062F \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A. \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC SVG \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0634\u0648\u062F \u06A9\u0647 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + LoadURL: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647 \u0627\u0632 \u0627\u06CC\u0646 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC:", + BadURL: "\u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0628\u0631\u0627\u06CC \u067E\u0631\u0648\u0646\u062F\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC MathJax \u0631\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u067E\u0631\u0648\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u0628\u0627 \u067E\u0633\u0648\u0646\u062F '.js' \u062A\u0645\u0627\u0645 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F.", + BadData: "\u0634\u06A9\u0633\u062A \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC \u0627\u0632 %1", + SwitchAnyway: "(\u0628\u0631 \u00AB\u0628\u0627\u0634\u062F\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u0648\u062F \u0648 \u0628\u0631 \u00AB\u0644\u063A\u0648\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0646\u0645\u0627\u06CC\u0634\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0641\u0639\u0644\u06CC \u0627\u062F\u0627\u0645\u0647 \u06CC\u0627\u0628\u062F)", + ScaleMath: "\u0645\u0642\u06CC\u0627\u0633 \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A (\u062F\u0631 \u0645\u0642\u0627\u06CC\u0633\u0647 \u0628\u0627 \u0645\u062A\u0646 \u0627\u0637\u0631\u0627\u0641) \u062A\u0648\u0633\u0637", + NonZeroScale: "\u0645\u0642\u06CC\u0627\u0633 \u0646\u0628\u0627\u06CC\u062F \u0635\u0641\u0631 \u0628\u0627\u0634\u062F", + PercentScale: "\u0645\u0642\u06CC\u0627\u0633 \u0628\u0627\u06CC\u062F \u062F\u0631\u0635\u062F\u06CC \u0628\u0627\u0634\u062F (\u0628\u0631\u0627\u06CC \u0646\u0645\u0648\u0646\u0647 \u06F1\u06F2\u06F0\u066A)", + IE8warning: "\u0627\u06CC\u0646 \u0645\u0646\u0648\u06CC MathJax \u0648 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u0627 \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0622\u0648\u0631\u06CC\u062F.\n\n\u0648\u0627\u0642\u0639\u0627\u064B \u0645\u06CC\u200C\u062E\u0648\u0627\u0647\u06CC\u062F \u062A\u0646\u0638\u06CC\u0645\u0627\u062A MathPlayer \u0631\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u062F\u0647\u06CC\u062F\u061F", + IE9warning: "\u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC MathJax \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u062E\u0648\u0627\u0647\u062F \u0634\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0628\u06CC\u0627\u0648\u0631\u06CC\u062F.", + NoOriginalForm: "\u062D\u0627\u0644\u062A \u0627\u0648\u0644\u0628\u0647 \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A", + Close: "\u0626\u0622\u0646\u06CC\u0627\u0626\u0646-\u0628\u0633\u062A\u0650\u0646", + EqSource: "\u0645\u0646\u0628\u0639 \u0645\u0639\u0627\u062F\u0644\u0647\u0654 MathJax" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/TeX.js new file mode 100644 index 00000000..06e2b4d5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/lki/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647", + ExtraCloseMissingOpen: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u0647 \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632", + MissingLeftExtraRight: "\u0641\u0642\u062F\u0627\u0646 \u200E\\left \u06CC\u0627 \u200E\\right \u0627\u0636\u0627\u0641\u06CC", + MissingScript: "\u0641\u0642\u062F\u0627\u0646 \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0627\u0644\u0627\u0645\u062A\u0646 \u06CC\u0627 \u0632\u06CC\u0631\u0645\u062A\u0646", + ExtraLeftMissingRight: "\u200E\\left \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u200E\\right", + Misplaced: "%1 \u0646\u0627\u0628\u062C\u0627", + MissingOpenForSub: "\u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0628\u0631\u0627\u06CC \u0632\u06CC\u0631\u0645\u062A\u0646", + MissingOpenForSup: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0628\u0627\u0644\u0627\u0645\u062A\u0646", + AmbiguousUseOf: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0645\u0628\u0647\u0645 \u0627\u0632 \u200E%1", + EnvBadEnd: "\u200E\\begin{%1}\u200E \u067E\u0627\u06CC\u0627\u0646\u200C\u06CC\u0627\u0641\u062A\u0647 \u0628\u0627 \u200E\\end{%2}\u200E", + EnvMissingEnd: "\u200E\\end{%1}\u200E \u06AF\u0645\u200C\u0634\u062F\u0647", + MissingBoxFor: "\u062C\u0639\u0628\u0647\u0654 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + MissingCloseBrace: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0645\u0641\u0642\u0648\u062F", + UndefinedControlSequence: "\u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644 \u062A\u0639\u0631\u06CC\u0641\u200C\u0646\u0634\u062F\u0647\u0654 %1", + DoubleExponent: "\u062A\u0648\u0627\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleSubscripts: "\u0632\u06CC\u0631\u0645\u062A\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleExponentPrime: "\u062A\u0648\u0627\u0646 \u062F\u0648 \u0645\u0648\u062C\u0628 \u062A\u0648\u0627\u0646 \u0645\u0636\u0627\u0639\u0641 \u0634\u062F: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + CantUseHash1: "\u0634\u0645\u0627 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u00AB\u0645\u0627\u06A9\u0631\u0648 \u0646\u0648\u06CC\u0633\u0647\u0654 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 #\u00BB \u062F\u0631 \u062D\u0627\u0644\u062A \u0631\u06CC\u0627\u0636\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + MisplacedMiddle: "\u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0631\u0648\u0646 \u200E\\left \u0648 \u200E\\right \u0646\u0648\u0634\u062A\u0647\u200C\u0634\u0648\u062F", + MisplacedLimits: "\u200E%1 \u0641\u0642\u0637 \u062F\u0631 \u0639\u0645\u0644\u06AF\u0631\u0647\u0627 \u0645\u062C\u0627\u0632 \u0627\u0633\u062A", + MisplacedMoveRoot: "\u200E%1 \u062A\u0646\u0647\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062F\u0631\u0648\u0646 \u06CC\u06A9 \u0631\u06CC\u0634\u0647 \u0638\u0627\u0647\u0631 \u0634\u0648\u062F", + MultipleCommand: "\u200E%1 \u0686\u0646\u062F\u06AF\u0627\u0646\u0647", + IntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u0628\u0627\u0634\u062F", + NotMathMLToken: "%1 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0646\u0634\u0627\u0646 \u0646\u06CC\u0633\u062A", + InvalidMathMLAttr: "\u0648\u06CC\u0698\u06AF\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 MathML: %1", + UnknownAttrForElement: "%1 \u06CC\u06A9 \u0648\u06CC\u0698\u06AF\u06CC \u0634\u0646\u0627\u062E\u062A\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %2 \u0646\u06CC\u0633\u062A", + MaxMacroSub1: "\u0627\u0632 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u0634\u0645\u0627\u0631 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u0647\u0627\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + MaxMacroSub2: "\u0627\u0632 \u0634\u0645\u0627\u0631 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u062A\u0639\u062F\u0627\u062F \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0645\u062D\u06CC\u0637 \u0644\u06CC\u062A\u06A9 \u0628\u0627\u0632\u0634\u062A\u06AF\u06CC \u0645\u0648\u062C\u0648\u062F \u0627\u0633\u062A\u061F", + MissingArgFor: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + ExtraAlignTab: "\u0628\u0631\u06AF\u0647\u0654 \u0686\u06CC\u0646\u0634 \u0627\u0636\u0627\u0641\u06CC \u062F\u0631 \u0645\u062A\u0646 \u200E\\cases", + BracketMustBeDimension: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0628\u0639\u062F \u0628\u0627\u0634\u062F", + InvalidEnv: " \u0646\u0627\u0645 \u0645\u062D\u06CC\u0637 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u00AB%1\u00BB", + UnknownEnv: "\u0645\u062D\u06CC\u0637 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u00AB%1\u00BB", + ExtraCloseLooking: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u06CC \u0647\u0646\u06AF\u0627\u0645 \u062C\u0633\u062A\u062C\u0648\u06CC %1", + MissingCloseBracket: "\u00AB]\u00BB \u0628\u0633\u062A\u0647 \u0628\u0631\u0627\u06CC \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MissingOrUnrecognizedDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647 \u06AF\u0645\u200C\u0634\u062F\u0647 \u06CC\u0627 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + MissingDimOrUnits: "\u0627\u0628\u0639\u0627\u062F \u06CC\u0627 \u0648\u0627\u062D\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + TokenNotFoundForCommand: "%1 \u0628\u0631\u0627\u06CC %2 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MathNotTerminated: "\u0631\u06CC\u0627\u0636\u06CC \u062F\u0631 \u062C\u0639\u0628\u0647\u0654 \u0645\u062A\u0646 \u067E\u0627\u06CC\u0627\u0646 \u0646\u06CC\u0627\u0641\u062A\u0647\u200C\u0627\u0633\u062A", + IllegalMacroParam: "\u0627\u0631\u062C\u0627\u0639 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u0645\u0627\u06A9\u0631\u0648\u06CC \u0646\u0627\u0645\u062C\u0627\u0632", + MaxBufferSize: "\u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u06CC\u0627\u0646\u06AF\u06CC\u0631 \u062F\u0627\u062E\u0644\u06CC MathJax \u06AF\u0630\u0634\u062A\u0647 \u0634\u062F\u0647\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + CommandNotAllowedInEnv: "\u200E%1 \u062F\u0631 \u0645\u062D\u06CC\u0637 \u200E%2 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A", + MultipleLabel: "\u0628\u0631\u0686\u0633\u067E \u00AB%1\u00BB \u0686\u0646\u062F\u0628\u0627\u0631 \u062A\u0639\u0631\u06CC\u0641\u200C\u0634\u062F\u0647", + CommandAtTheBeginingOfLine: "%1 \u0628\u0627\u06CC\u062F \u062F\u0631 \u0634\u0631\u0648\u0639 \u062E\u0637 \u0628\u06CC\u0627\u06CC\u062F", + IllegalAlign: "\u0686\u06CC\u0646\u0634 \u0645\u0634\u062E\u0635\u200C\u0634\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u062F\u0631 \u200E%1", + BadMathStyleFor: "\u0633\u0628\u06A9 \u0628\u062F \u0631\u06CC\u0627\u0636\u06CC \u0628\u0631\u0627\u06CC \u200E%1", + PositiveIntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0647 \u200E%1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u0639\u062F\u062F \u0645\u062B\u0628\u062A \u0628\u0627\u0634\u062F", + ErroneousNestingEq: "\u0633\u0627\u062E\u062A\u0627\u0631\u0647\u0627\u06CC \u0627\u0634\u062A\u0628\u0627\u0647 \u062A\u0648\u062F\u0631\u062A\u0648\u06CC \u0645\u0639\u0627\u062F\u0644\u0647", + MultlineRowsOneCol: "\u0633\u0637\u0631 \u062F\u0631\u0648\u0646 \u0645\u062D\u06CC\u0637 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0642\u06CC\u0642\u0627\u064B \u06CC\u06A9 \u0633\u062A\u0648\u0646 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F", + MultipleBBoxProperty: "%1 \u062F\u0648\u0628\u0627\u0631 \u062F\u0631 \u200E%2 \u062A\u0639\u0631\u06CC\u0641 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + InvalidBBoxProperty: "'%1' \u0628\u0647 \u0646\u0638\u0631 \u06CC\u06A9 \u0631\u0646\u06AF\u060C \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0628\u0627\u0644\u0634\u062A\u06A9 \u06CC\u0627 \u0633\u0628\u06A9 \u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06CC\u200C\u0631\u0633\u062F", + ExtraEndMissingBegin: "\u200E%1 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \\begingroup \u06AF\u0645\u200C\u0634\u062F\u0647", + GlobalNotFollowedBy: "\u200E%1 \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u200E\\let\u060C \u200E\\def \u06CC\u0627 \u200E\\newcommand \u0646\u06CC\u0627\u0645\u062F\u0647\u200C\u0627\u0633\u062A", + UndefinedColorModel: "\u0645\u062F\u0644 \u0631\u0646\u06AF\u06CC '%1' \u062A\u0639\u0631\u06CC\u0641 \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A", + ModelArg1: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u06F3 \u0639\u062F\u062F \u0627\u0633\u062A", + InvalidDecimalNumber: "\u0639\u062F\u062F \u0627\u0639\u0634\u0627\u0631\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + ModelArg2: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u0628\u06CC\u0646 %2 \u0648 %3 \u0628\u0627\u0634\u062F", + InvalidNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + NewextarrowArg1: "\u0646\u0634\u0627\u0648\u0646\u062F \u0627\u0648\u0644 \u0628\u0647 \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0646\u0627\u0645 \u06A9\u0646\u062A\u0631\u0644\u06CC \u062F\u0646\u0628\u0627\u0644\u0647 \u0628\u0627\u0634\u062F", + NewextarrowArg2: "\u0646\u0634\u0646\u0627\u0648\u0646\u062F \u062F\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u062F\u0648 \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u062C\u062F\u0627 \u0634\u062F\u0647 \u0628\u0627 \u06CC\u06A9 \u06A9\u0627\u0645\u0627 \u0628\u0627\u0634\u062F", + NewextarrowArg3: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0633\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u06CC\u06A9 \u0646\u0648\u06CC\u0633\u0647\u0654 \u06CC\u0648\u0646\u06CC\u06A9\u062F \u0628\u0627\u0634\u062F", + NoClosingChar: "%1 \u0628\u0633\u062A\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + IllegalControlSequenceName: "\u0646\u0627\u0645 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u0631\u0627\u06CC \u200E%1 \u0646\u0627\u0645\u062C\u0627\u0632", + IllegalParamNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u062C\u0627\u0632 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u062F\u0631 \u200E%1 \u0645\u0634\u062E\u0635 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + MissingCS: "\u200E%1 \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u06CC\u0627\u06CC\u062F", + CantUseHash2: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u0627\u0632 # \u062F\u0631 \u0627\u0644\u06AF\u0648 \u0628\u0631\u0627\u06CC %1", + SequentialParam: "\u067E\u0627\u0631\u0627\u0645\u062A\u0631\u0647\u0627 \u0628\u0631\u0627\u06CC %1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u0639\u062F\u062F\u06CC \u0628\u0627\u0634\u062F", + MissingReplacementString: "\u0631\u0634\u062A\u0647\u0654 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u06CC\u0641 \u200E%1", + MismatchUseDef: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u200E%1 \u0628\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0622\u0646 \u062A\u0637\u0628\u06CC\u0642 \u0646\u062F\u0627\u0631\u062F", + RunawayArgument: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0641\u0631\u0627\u0631 \u0628\u0631\u0627\u06CC \u200E%1\u061F", + NoClosingDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647\u0654 \u0628\u0633\u062A\u0646 \u0628\u0631\u0627\u06CC \u200E%1 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/lki.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/lki.js new file mode 100644 index 00000000..b586ddab --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/lki.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/lki/lki.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki",null,{ + menuTitle: "\u0644\u06D5\u06A9\u06CC", + fontDirection: "rtl", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u062E\u0637\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC", + MathError: "\u062E\u0637\u0627 \u0631\u06CC\u0627\u0636\u06CC", + LoadFile: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC %1", + Loading: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC", + LoadFailed: "\u062E\u0637\u0627 \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u067E\u0631\u0648\u0646\u062F\u0647: %1", + ProcessMath: "\u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Processing: "\u067E\u0631\u062F\u0627\u0632\u0634", + TypesetMath: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Typesetting: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC", + MathJaxNotSupported: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathJax \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/lki.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/FontWarnings.js new file mode 100644 index 00000000..8f9e6649 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/lt/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "\u0160iame tinklalapyje matematikos tekst\u0105 \u201EMathJax\u201C rodo tinkle saugomais \u0161riftais, kuriems \u012Fkelti reikia laiko. Teksto rinkim\u0105 galima greitinti, matematikos \u0161riftus \u012Fdiegus naudotojo kompiuteryje.", + imageFonts: "\u201EMathJax\u201C taiko paveikslinius, o ne vietinius arba tinkle saugomus \u0161riftus. Matematikos tekstas vaizduojamas l\u0117\u010Diau, o spausdinant netenkama rai\u0161kos.", + noFonts: "Neradusi matematikos tekstui skirt\u0173 \u0161rift\u0173, \u201EMathJax\u201C taiko bendruosius unikodo ra\u0161menis. Kai kurie ra\u0161menys gali b\u016Bti darkomi arba visai nerodomi.", + webFonts: "Dauguma dabartini\u0173 nar\u0161ykli\u0173 leid\u017Eia gauti \u0161riftus i\u0161 tinklo. Tik\u0117tina, kad atnaujinus nar\u0161ykl\u0117s laid\u0105 arba esam\u0105 nar\u0161ykl\u0119 pakeitus kita, tinklalapyje ger\u0117t\u0173 matematikos teksto vaizdavimas.", + fonts: "\u201EMathJax\u201C gali taikyti [STIX fonts](%1) arba [MathJax TeX fonts](%2). \u012Ediegus vien\u0105 i\u0161 min\u0117t\u0173 alternatyv\u0173, ger\u0117s \u201EMathJax\u201C veikimas.", + STIXPage: "Tinklalapyje numatyti [STIX fonts](%1). \u012Ediegus min\u0117tus \u0161riftus, ger\u0117s \u201EMathJax\u201C veikimas.", + TeXPage: "Tinklalapyje numatyti [MathJax TeX fonts](%1). \u012Ediegus min\u0117tus \u0161riftus, ger\u0117s \u201EMathJax\u201C veikimas." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HTML-CSS.js new file mode 100644 index 00000000..9f7cbb57 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/lt/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u012Ekeliamas tinklo \u0161riftas %1", + CantLoadWebFont: "Tinklo \u0161rifto %1 \u012Fkelti nepavyko", + FirefoxCantLoadWebFont: "\u201EFirefox\u201C nepavyksta \u012Fkelti tinklo \u0161rift\u0173 i\u0161 nutolusios prieglobos", + CantFindFontUsing: "Nepavyksta rasti tinkamo \u0161rifto naudojant %1", + WebFontsNotAvailable: "Naudojami paveiksliniai \u0161riftai, nes n\u0117ra tinklo \u0161rift\u0173." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HelpDialog.js new file mode 100644 index 00000000..05ef0794 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/lt/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax Pagalba", + MathJax: "*\u201EMathJax\u201C* \u2013 tai \u201EJavaScript\u201C biblioteka, leid\u017Eianti autoriams tinklalapiuose ra\u0161yti matematikos tekst\u0105. Skaitytojams papildom\u0173 veiksm\u0173 atlikti nereikia.", + Browsers: "*Nar\u0161ykl\u0117s*: \u201EMathJax\u201C veikia visose dabartin\u0117se nar\u0161ykl\u0117je, \u012Fskaitant \u201EIE\u201C 6+, \u201EFirefox\u201C 3+, \u201EChrome\u201C 0.2+, \u201ESafari\u201C 2+, \u201EOpera\u201C 9.6+ ir daugum\u0105 mobili\u0173j\u0173 nar\u0161ykli\u0173.", + Menu: "*Matematikos meniu*: \u201EMathJax\u201C \u012Fdiegtas kontekstinis lyg\u010Di\u0173 meniu. Meniu atver\u010Diamas spustel\u0117jus de\u0161iniuoju pel\u0117s klavi\u0161u arba nuspaudus Vald ir spustel\u0117jus matematikos \u017Eenkl\u0105.", + ShowMath: "*Rodiniu* per\u017Ei\u016Brima ir kopijuojama formul\u0117s \u0161altinio \u017Eym\u0117jimo sintaks\u0117 (\u201EMathML\u201C arba pradiniu formatu).", + Settings: "*Nuostatomis* valdomos \u201EMathJax\u201C ypatyb\u0117s, pavyzd\u017Eiui, matematikos \u017Eenkl\u0173 dydis arba lyg\u010Di\u0173 vaizdavimo mechanizmas.", + Language: "*Kalba* nustatoma \u201EMathJax\u201C meniu ir \u012Fsp\u0117jam\u0173j\u0173 prane\u0161im\u0173 kalba.", + Zoom: "*Masteliu* didinamas lygties rodinys.", + Accessibilty: "*Pritaikymas ne\u012Fgaliesiems*: \u201EMathJax\u201C prisitaiko prie ekrano skaitykli\u0173, kad matematikos tekstas b\u016Bt\u0173 \u012Fskaitomas silpnaregiams.", + Fonts: "*\u0160riftai*: \u201EMathJax\u201C telkiasi naudotojo kompiuteryje \u012Fdiegtus \u0161riftus, jei \u0161ie yra tinkami; kitu atveju \u2013 tinkle saugomus \u0161riftus. Naudotojo kompiuteryje \u012Fdiegti \u0161riftai, nors ir neb\u016Btini, greitina \u017Eenkl\u0173 rinkim\u0105. Patariama \u012Fdiegti [\u201ESTIX\u201C \u0161riftus](%1).", + CloseDialog: "Nutraukti \u017Einyno dialog\u0105" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathML.js new file mode 100644 index 00000000..f226c26b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/lt/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Netinkamas matematikos glifas: %1", + BadMglyphFont: "Netinkamas \u0161riftas: %1", + MathPlayer: "\u201EMathJax\u201C nepavyko nustatyti \u201EMathPlayer\u201C.\n\nJei \u201EMathPlayer\u201C dar ne\u012Fdiegtas, b\u016Btina tai padaryti. Kitaip saugumo nuostatos neleis veikti \u201EActiveX\u201C valdikliams. Adresu Priemoni\u0173 meniu \u003E Interneto nuostatos \u003E Saugumo kortel\u0117 paspaud\u0119 \u201ENaudotojo lyg\u012F\u201C, patikrinkite, ar \u012Fjungtos nuostatos \u201EPaleisti ActiveX valdikius\u201C bei \u201EDvejetain\u0117s ir scenarij\u0173 veiklos\u201C.\n\nPrie\u0161ingu atveju vietoj matematikos \u017Eenkl\u0173 bus rodomi klaid\u0173 prane\u0161imai.", + CantCreateXMLParser: "\u201EMathJax\u201C nepavyksta sukurti \u201EMathML\u201C XML analizatoriaus. Patikrinkite, ar \u012Fjungta saugumo nuostata \u201EScenarij\u0173 ActiveX valdikliai pa\u017Eym\u0117ti kaip saug\u016Bs scenarijams vykdyti\u201C (Priemoni\u0173 meniu \u003E Interneto nuostatos \u003E Naudotojo lygis).\n\n\u201EMathJax\u201C neapdoros \u201EMathML\u201C lyg\u010Di\u0173.", + UnknownNodeType: "Ne\u017Einoma mazgo atmaina: %1", + UnexpectedTextNode: "Netik\u0117tas teksto mazgas: %1", + ErrorParsingMathML: "Klaida nagrin\u0117jant \u201EMathML\u201C", + ParsingError: "Klaida nagrin\u0117jant \u201EMathML\u201C: %1", + MathMLSingleElement: "\u201EMathML\u201C formuotinas vienu d\u0117meniu", + MathMLRootElement: "\u201EMathML\u201C formuotinas \u003Cmath\u003E d\u0117meniu, o ne %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathMenu.js new file mode 100644 index 00000000..854c8e8d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/lt/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Rodyti", + MathMLcode: "\u201EMathML\u201C tekst\u0105", + OriginalMathML: "Pradinis \u201EMathML\u201C", + TeXCommands: "\u201ETeX\u201C komandas", + AsciiMathInput: "\u201EAsciiMathML\u201C \u012Fvestis", + Original: "Pradin\u0117 forma", + ErrorMessage: "Klaidos prane\u0161imas", + Annotation: "santrauk\u0105", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "\u201ETeX\u201C u\u017Euominas \u201EMathML\u201C kalba", + Settings: "Nustatyti", + ZoomTrigger: "mastelio jungikl\u012F", + Hover: "u\u017Evedus", + Click: "spustel\u0117jus", + DoubleClick: "dukart spustel\u0117jus", + NoZoom: "Nekeisti", + TriggerRequires: "Kei\u010Diant spaud\u017Eiama:", + Option: "Nuostata", + Alt: "Alt", + Command: "Komanda", + Control: "Vald", + Shift: "Lyg 2", + ZoomFactor: "mastelio daugikl\u012F", + Renderer: "teikikl\u012F", + MPHandles: "Leisti \u201EMathPlayer\u201C vykdyti:", + MenuEvents: "Meniu \u012Fvykiai", + MouseEvents: "Pel\u0117s \u012Fvykiai", + MenuAndMouse: "Pel\u0117s ir meniu \u012Fvykiai", + FontPrefs: "\u0160rift\u0173 nuostatos", + ForHTMLCSS: "Skirta HTML-CSS:", + Auto: "Savaime", + TeXLocal: "TeX (vietinis)", + TeXWeb: "TeX (tinklas)", + TeXImage: "TeX (paveiksl\u0117lis)", + STIXLocal: "STIX (vietinis)", + STIXWeb: "STIX (tinklas)", + AsanaMathWeb: "Asana Math (tinklas)", + GyrePagellaWeb: "Gyre Pagella (tinklas)", + GyreTermesWeb: "Gyre Termes (tinklas)", + LatinModernWeb: "Latin Modern (tinklas)", + NeoEulerWeb: "Neo Euler (tinklas)", + ContextMenu: "Kontekstinis meniu", + Browser: "Nar\u0161ykl\u0117", + Scale: "bendr\u0105 mastel\u012F\u2026", + Discoverable: "Ry\u0161kinti u\u017Evedus", + Locale: "Kalba", + LoadLocale: "\u012Ekelti i\u0161 URL ...", + About: "Apie \u201EMathJax\u201C", + Help: "\u017Dinynas", + localTeXfonts: "vartojami vietiniai \u201ETeX\u201C \u0161riftai", + webTeXfonts: "Taikomas tinklinis \u201ETeX\u201C \u0161riftas", + imagefonts: "vartojami paveiksliniai \u0161riftai", + localSTIXfonts: "vartojami vietiniai \u201ESTIX\u201C \u0161riftai", + webSVGfonts: "vartojami tinkliniai SVG \u0161riftai", + genericfonts: "vartojami bendrieji unikodo \u0161riftai", + wofforotffonts: "WOFF arba OTF \u0161riftai", + eotffonts: "EOT \u0161riftai", + svgfonts: "SVG \u0161riftai", + WebkitNativeMMLWarning: "Tik\u0117tina, kad j\u016Bs\u0173 nar\u0161ykl\u0117je \u201EMathML\u201C vartojimas nenumatytas, tod\u0117l i\u0161vest\u012F perjungus \u012F \u201EMathML\u201C, tinklalapyje galima i\u0161darkyti matematikos \u017Eenklus.", + MSIENativeMMLWarning: "Norint \u201EMathML\u201C i\u0161vest\u012F apdoroti nar\u0161ykl\u0117je \u201EInternet Explorer\u201C, b\u016Btinas papildinys \u201EMathPlayer\u201C.", + OperaNativeMMLWarning: "Nar\u0161ykl\u0117je \u201EOpera\u201C \u201EMathML\u201C vartojimas yra ribotas, tod\u0117l i\u0161vest\u012F perjungus \u012F \u201EMathML\u201C kai kurie rei\u0161kiniai gali b\u016Bti vaizduojami nekokybi\u0161kai.", + SafariNativeMMLWarning: "J\u016Bs\u0173 nar\u0161ykl\u0117s \u201EMathML\u201C sande ne\u012Fdiegtos visos \u201EMathJax\u201C ypatyb\u0117s, tod\u0117l kai kurie rei\u0161kiniai gali b\u016Bti vaizduojami nekokybi\u0161kai.", + FirefoxNativeMMLWarning: "J\u016Bs\u0173 nar\u0161ykl\u0117s \u201EMathML\u201C sande ne\u012Fdiegtos visos \u201EMathJax\u201C ypatyb\u0117s, tod\u0117l kai kurie rei\u0161kiniai gali b\u016Bti vaizduojami nekokybi\u0161kai.", + MSIESVGWarning: "SVG nar\u0161ykl\u0117je \u201EInternet Explorer\u201C diegiama tik nuo IE9 laidos. IE8 ir ankstesn\u0117se laidose ji galima tik emuliuojant. I\u0161vest\u012F perjungus \u012F SVG, matematikos \u017Eenklai vaizduojami nekokybi\u0161kai.", + LoadURL: "Vertimo duomenis \u012Fkelti i\u0161 \u0161io URL:", + BadURL: "URL adresas turi b\u016Bti skirtas \u201EJavaScript\u201C bylai, apibr\u0117\u017Eian\u010Diai \u201EMathJax\u201C vertimo duomenis. \u201EJavaScript\u201C bylos prievardis turi b\u016Bti \u201E.js\u201C.", + BadData: "Vertimo duomen\u0173 i\u0161 %1 \u012Fkelti nepavyko.", + SwitchAnyway: "Ar vis tiek keisti vaizdavimo b\u016Bd\u0105?\n\n(Vaizdavimo b\u016Bdas kei\u010Diamas, spaud\u017Eiant \u201EVykdyti\u201C; paliekamas tas pats, spaud\u017Eiant \u201ENutraukti\u201C.)", + ScaleMath: "Bendrasis mastelis aplinkinio teksto at\u017Evilgiu:", + NonZeroScale: "Mastelio reik\u0161m\u0117 negali b\u016Bti 0", + PercentScale: "Mastelis \u017Eymimas procentais (pavyzd\u017Eiui, 120%%)", + IE8warning: "Ar tikrai keisti \u201EMathPlayer\u201C nuostatas?", + IE9warning: "I\u0161jungus kontekstin\u012F \u201EMathJax\u201C meniu, \u201EMathJax\u201C meniu atver\u010Diamas nuspaudus Alt ir spustel\u0117jus rei\u0161kin\u012F.", + NoOriginalForm: "Pradin\u0117s formos n\u0117ra", + Close: "U\u017Edaryti", + EqSource: "\u201EMathJax\u201C lygties \u0161altinis", + CloseAboutDialog: "Nutraukti dialog\u0105 apie \u201EMathJax\u201C", + FastPreview: "Spar\u010Dioji per\u017Ei\u016Bra", + AssistiveMML: "Pagalbinis \u201EMathML\u201C", + InTabOrder: "\u012Etraukti \u012F \u0105seli\u0173 eil\u0119" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/TeX.js new file mode 100644 index 00000000..3c5bb4da --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/lt/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Per daug atidarom\u0173j\u0173 arba per ma\u017Eai u\u017Edarom\u0173j\u0173 riestini\u0173 skliausteli\u0173", + ExtraCloseMissingOpen: "Per daug u\u017Edarom\u0173j\u0173 arba per ma\u017Eai atidarom\u0173j\u0173 riestini\u0173 skliausteli\u0173", + MissingLeftExtraRight: "Per ma\u017Eai \\left arba per daug \\right", + MissingScript: "N\u0117ra vir\u0161utinio arba apatinio indekso argumento", + ExtraLeftMissingRight: "Per daug \\left arba per ma\u017Eai \\right", + Misplaced: "Ne tinkamoje vietoje %1", + MissingOpenForSub: "N\u0117ra atidaromojo riestinio apatinio indekso skliaustelio", + MissingOpenForSup: "N\u0117ra atidaromojo riestinio vir\u0161utinio indekso skliaustelio", + AmbiguousUseOf: "Nevienareik\u0161m\u0117 %1 vartosena", + EnvBadEnd: "\\begin{%1} baig\u0117si \\end{%2}", + EnvMissingEnd: "N\u0117ra \\end{%1}", + MissingBoxFor: "N\u0117ra %1 langelio", + MissingCloseBrace: "N\u0117ra u\u017Edaromojo riestinio skliaustelio", + UndefinedControlSequence: "Neapibr\u0117\u017Eta valdymo seka %1", + DoubleExponent: "Kartojamas laipsnio rodiklis: tikslinti riestiniais skliausteliais", + DoubleSubscripts: "Kartojamas apatinis indeksas: tikslinti riestiniais skliausteliais", + DoubleExponentPrime: "Pirminis skai\u010Dius kartoja laipsnio rodikl\u012F: tikslinti riestiniais skliausteliais", + CantUseHash1: "Makrokomandos parametro ra\u0161mens \u201E#\u201C matematikos veiksenoje vartoti negalima", + MisplacedMiddle: "%1 privalo b\u016Bti \\left ir \\right viduje", + MisplacedLimits: "%1 taikomas tik operatoriams", + MisplacedMoveRoot: "%1 rodomas tik \u0161aknyje", + MultipleCommand: "Kartojamas %1", + IntegerArg: "%1 argumentas privalo b\u016Bti sveikasis skai\u010Dius", + NotMathMLToken: "%1 n\u0117ra leksema", + InvalidMathMLAttr: "Netinkamas \u201EMathML\u201C po\u017Eymis: %1", + UnknownAttrForElement: "%1 n\u0117ra atpa\u017E\u012Fstamas %2 po\u017Eymis", + MaxMacroSub1: "Vir\u0161ytas did\u017Eiausias leid\u017Eiamas \u201EMathJax\u201C makrokomand\u0173 pakait\u0173 skai\u010Dius; galb\u016Bt vykdomas rekursinis makrokomandos kreipinys?", + MaxMacroSub2: "Vir\u0161ytas did\u017Eiausias leid\u017Eiamas \u201EMathJax\u201C pakait\u0173 skai\u010Dius; galb\u016Bt vykdoma rekursin\u0117 \u201ELaTeX\u201C aplinka?", + MissingArgFor: "N\u0117ra %1 argumento", + ExtraAlignTab: "Per daug lygiavimo tabuliatori\u0173 \\cases tekste", + BracketMustBeDimension: "%1 argumentas riestiniuose skliausteliuose privalo b\u016Bti matmuo", + InvalidEnv: "Netinkamas aplinkos pavadinimas \u201E%1\u201C", + UnknownEnv: "Ne\u017Einoma aplinka '%1'", + ExtraCloseLooking: "Per daug riestini\u0173 skliausteli\u0173 ie\u0161kant %1", + MissingCloseBracket: "%1 argumente nepavyko rasti u\u017Edaromojo \u201E]\u201C", + MissingOrUnrecognizedDelim: "%1 neturi skirtuko arba \u0161is n\u0117ra atpa\u017E\u012Fstamas", + MissingDimOrUnits: "%1 neturi matmens arba \u0161iojo vienet\u0173", + TokenNotFoundForCommand: "%2 skirto %1 rasti nepavyko", + MathNotTerminated: "Teksto langelyje matematikos neaptikta", + IllegalMacroParam: "Netinkama makrokomandos parametro nuoroda", + MaxBufferSize: "Vir\u0161ytas vidinio \u201EMathJax\u201C buferio dydis; galb\u016Bt vykdomas rekursinis makrokomandos kreipinys?", + CommandNotAllowedInEnv: "%1 aplinkoje %2 neleid\u017Eiamas", + MultipleLabel: "Apibr\u0117\u017Etas \u017Eymenos \u201E%1\u201C kartojimas", + CommandAtTheBeginingOfLine: "%1 privalo b\u016Bti eilut\u0117s prad\u017Eioje", + IllegalAlign: "%1 nurodyta netinkama lygiuot\u0117", + BadMathStyleFor: "Netinkamas %1 matematikos stilius", + PositiveIntegerArg: "%1 argumentas privalo b\u016Bti teigiamas sveikasis skai\u010Dius", + ErroneousNestingEq: "Klaidingas lyg\u010Di\u0173 sandar\u0173 \u012Fd\u0117jimas", + MultlineRowsOneCol: "Eilut\u0117s %1 aplinkoje privalo apimti tiksliai vien\u0105 stulpel\u012F", + MultipleBBoxProperty: "%1 kartojamas %2", + InvalidBBoxProperty: "\u201E%1\u201C neatrodo kaip spalva, u\u017Epildymo matmuo arba stilius", + ExtraEndMissingBegin: "Per daug %1 arba per ma\u017Eai \\begingroup", + GlobalNotFollowedBy: "Po %1 neina \\let, \\def arba \\newcommand", + UndefinedColorModel: "Neapibr\u0117\u017Etas spalvos modelis \u201E%1\u201C", + ModelArg1: "Modelio \u201E%1\u201C spalv\u0173 reik\u0161m\u0117s ra\u0161omos trimis skaitmenimis", + InvalidDecimalNumber: "Netinkamas de\u0161imtainis skai\u010Dius", + ModelArg2: "Modelio \u201E%1\u201C spalv\u0173 reik\u0161m\u0117s privalo b\u016Bti tarp %2 ir %3", + InvalidNumber: "Neleistinas skai\u010Dius", + NewextarrowArg1: "Pirmasis %1 argumentas privalo b\u016Bti valdymo sekos pavadinimas", + NewextarrowArg2: "Antrasis %1 argumentas privalo b\u016Bti du kableliu skiriami sveikieji skai\u010Diai", + NewextarrowArg3: "Tre\u010Diasis %1 argumentas privalo b\u016Bti unikodo ra\u0161mens skai\u010Dius", + NoClosingChar: "Nepavyksta rasti u\u017Edaromojo %1", + IllegalControlSequenceName: "Netinkamas %1 valdymo sekos pavadinimas", + IllegalParamNumber: "%1 nurodytas netinkamas parametr\u0173 skai\u010Dius", + MissingCS: "Po %1 privalo eiti valdymo seka", + CantUseHash2: "Netinkama \u201E#\u201C vartosena %1 ruo\u0161inyje", + SequentialParam: "%1 parametrai numeruotini nuosekliai", + MissingReplacementString: "N\u0117ra %1 apibr\u0117\u017Eimo pakaitos eilut\u0117s", + MismatchUseDef: "%1 vartosena nesutampa su %1 apibr\u0117\u017Eimu", + RunawayArgument: "Nevaldomas %1 argumentas?", + NoClosingDelim: "Nepavyksta rasti u\u017Edaromojo %1 skirtuko" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/lt.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/lt.js new file mode 100644 index 00000000..af7519f1 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/lt.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/localization/lt/lt.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt",null,{ + menuTitle: "lietuvi\u0173", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Matematikos apdorojimo klaida", + MathError: "Matematikos klaida", + LoadFile: "\u012Ekeliama %1", + Loading: "\u012Ekeliama", + LoadFailed: "Nepavyko \u012Fkelti bylos: %1", + ProcessMath: "Apdorojama matematika: %1%%", + Processing: "Apdorojama", + TypesetMath: "Renkami matematikos \u017Eenklai: %1%%", + Typesetting: "\u017Denkl\u0173 rinkimas", + MathJaxNotSupported: "J\u016Bs\u0173 nar\u0161ykl\u0117 \u201EMathJax\u201C nenumato" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && n % 100 !== 11) { + return 1; + } else if (n % 10 >=2 && n % 10 <= 9 && (n % 100 < 10 || n % 100 >= 20)) { + return 2; + } else { + return 3; + } + }, + number: function (n) { + return n; // needs check + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/lt.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/FontWarnings.js new file mode 100644 index 00000000..ec3a2478 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/mk/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0437\u0430 \u0438\u0441\u043F\u0438\u0441 \u043D\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430. \u041D\u0430 \u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u0438\u043C \u0442\u0440\u0435\u0431\u0430 \u0432\u0440\u0435\u043C\u0435 \u0434\u0430 \u0441\u0435 \u0432\u0447\u0438\u0442\u0430\u0430\u0442, \u043F\u0430 \u0442\u0430\u043A\u0430, \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0442\u0430 \u0431\u0438 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0430\u043B\u0430 \u043F\u043E\u0431\u0440\u0433\u0443 \u0434\u043E\u043A\u043E\u043B\u043A\u0443 \u0433\u0438 \u043F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u043D\u0435\u043F\u043E\u0441\u0440\u0435\u0434\u043D\u043E \u0432\u043E \u0441\u0438\u0441\u0442\u0435\u043C\u0441\u043A\u0430\u0442\u0430 \u043F\u0430\u043F\u043A\u0430 \u0437\u0430 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043D\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u0441\u043C\u0435\u0442\u0430\u0447.", + imageFonts: "MathJax \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043D\u0435\u0433\u043E\u0432\u0438\u0442\u0435 \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043D\u0430\u043C\u0435\u0441\u0442\u043E \u043D\u0438\u0432\u043D\u0438\u0442\u0435 \u043C\u0435\u0441\u043D\u0438 \u0438\u043B\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 \u043F\u0430\u043D\u0434\u0430\u043D\u0438. \u041E\u0432\u0438\u0435 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430\u0430\u0442 \u043F\u043E\u0431\u0430\u0432\u043D\u043E \u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u043D\u0435 \u0441\u0435 \u043F\u043E\u0433\u043E\u0434\u043D\u0438 \u0437\u0430 \u043F\u0435\u0447\u0430\u0442\u0435\u045A\u0435 \u043F\u0440\u0438 \u043F\u043E\u043B\u043D\u0430 \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0430 \u043C\u043E\u045C \u043D\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0435\u0447\u0430\u0442\u0430\u0440.", + noFonts: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u043E \u043D\u0430\u0458\u0434\u0435 \u0444\u043E\u043D\u0442\u043E\u0442 \u0437\u0430 \u043F\u0440\u0438\u043A\u0430\u0437 \u043D\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438, \u0430 \u043D\u0435 \u043C\u0443 \u0441\u0435 \u0434\u043E\u0441\u0442\u0430\u043F\u043D\u0438 \u043D\u0438 \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438, \u0448\u0442\u043E \u0437\u043D\u0430\u0447\u0438 \u0434\u0435\u043A\u0430 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043F\u043E\u0442\u043F\u0440\u0435 \u043D\u0430 \u043E\u043F\u0448\u0442\u043E\u043D\u0430\u043C\u0435\u043D\u0441\u043A\u0438\u0442\u0435 \u0443\u043D\u0438\u043A\u043E\u0434\u043D\u0438 \u0437\u043D\u0430\u0446\u0438, \u0441\u043E \u043D\u0430\u0434\u0435\u0436 \u0434\u0435\u043A\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u045C\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u0438 \u043F\u0440\u0438\u043A\u0430\u0436\u0435. \u041D\u0435\u043A\u043E\u0438 \u0437\u043D\u0430\u0446\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u043D\u0435 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0430\u0442 \u043A\u0430\u043A\u043E \u0448\u0442\u043E \u0442\u0440\u0435\u0431\u0430 \u0438\u043B\u0438 \u043F\u0430\u043A \u0432\u043E\u043E\u043F\u0448\u0442\u043E \u043D\u0435\u043C\u0430 \u0434\u0430 \u0441\u0435 \u043F\u043E\u0458\u0430\u0432\u0430\u0442.", + webFonts: "\u041D\u0430\u0458\u0432\u0435\u045C\u0435\u0442\u043E \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438 \u043E\u0432\u043E\u0437\u043E\u043C\u043E\u0436\u0443\u0432\u0430\u0430\u0442 \u043F\u0440\u0435\u0437\u0435\u043C\u0430\u045A\u0435 \u043D\u0430 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043E\u0434 \u0441\u0435\u043C\u0440\u0435\u0436\u0458\u0435\u0442\u043E. \u041A\u0432\u0430\u043B\u0438\u0442\u0435\u0442\u043E\u0442 \u043D\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043F\u043E\u0434\u043E\u0431\u0440\u0438 \u0430\u043A\u043E \u043F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u043F\u043E\u043D\u043E\u0432\u0430 \u0432\u0435\u0440\u0437\u0438\u0458\u0430 \u043D\u0430 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043E\u0442 (\u0438\u043B\u0438 \u043F\u0430\u043A \u0433\u043E \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u0435 \u0441\u043E \u0434\u0440\u0443\u0433).", + fonts: "MathJax \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 STIX](%1) \u0438\u043B\u0438 [\u043E\u043D\u0438\u0435 \u043D\u0430 MathJax TeX](%2). \u041F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u0433\u0438 \u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0433\u0438 \u0437\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 MathJax \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438\u0442\u0435.", + STIXPage: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430 \u0435 \u043F\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043D\u0430 \u0434\u0430 \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 STIX](%1). \u041F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u0433\u0438 \u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0433\u0438 \u0437\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 MathJax \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438\u0442\u0435.", + TeXPage: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430 \u0435 \u043F\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043D\u0430 \u0434\u0430 \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 MathJax TeX](%1). \u041F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u0433\u0438 \u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0433\u0438 \u0437\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 MathJax \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438\u0442\u0435." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HTML-CSS.js new file mode 100644 index 00000000..567c04ed --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/mk/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0413\u043E \u0432\u0447\u0438\u0442\u0443\u0432\u0430\u043C \u043C\u0440\u0435\u0436\u043D\u0438\u043E\u0442 \u0444\u043E\u043D\u0442 %1", + CantLoadWebFont: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u0433\u043E \u0432\u0447\u0438\u0442\u0430\u043C \u043C\u0440\u0435\u0436\u043D\u0438\u043E\u0442 \u0444\u043E\u043D\u0442 %1", + FirefoxCantLoadWebFont: "Firefox \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0432\u0447\u0438\u0442\u0430 \u043C\u0440\u0435\u0436\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043E\u0434 \u0434\u0430\u043B\u0435\u0447\u0438\u043D\u0441\u043A\u0438 \u0434\u043E\u043C\u0430\u045C\u0438\u043D", + CantFindFontUsing: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u043D\u0430\u0458\u0434\u0430\u043C \u043F\u0440\u0438\u043A\u043B\u0430\u0434\u0435\u043D \u0444\u043E\u043D\u0442 \u0448\u0442\u043E \u043A\u043E\u0440\u0438\u0441\u0442\u0438 %1", + WebFontsNotAvailable: "\u041C\u0440\u0435\u0436\u043D\u0438\u0442\u0435 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0441\u0435 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u043F\u043D\u0438. \u040C\u0435 \u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043C \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HelpDialog.js new file mode 100644 index 00000000..ea8c960a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/mk/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u041F\u043E\u043C\u043E\u0448 \u0441\u043E MathJax", + MathJax: "*MathJax* \u0435 JavaScript-\u0431\u0438\u0431\u043B\u0438\u043E\u0442\u043A\u0430 \u0448\u0442\u043E \u0438\u043C \u043E\u0432\u043E\u0437\u043C\u043E\u0436\u0443\u0432\u0430 \u043D\u0430 \u0430\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u0434\u0430 \u0441\u0442\u0430\u0432\u0430\u0430\u0442 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043D\u0430 \u043D\u0438\u0432\u043D\u0438\u0442\u0435 \u0441\u0435\u043C\u0440\u0435\u0436\u043D\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438. \u041A\u0430\u043A\u043E \u0447\u0438\u0442\u0430\u0442\u0435\u043B \u043D\u0435 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u043F\u0440\u0430\u0432\u0438\u0442\u0435 \u043D\u0438\u0448\u0442\u043E, \u0431\u0438\u0434\u0435\u0458\u045C\u0438 \u0442\u0438\u0435 \u0441\u0430\u043C\u0438\u0442\u0435 \u045C\u0435 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430\u0430\u0442.", + Browsers: "*\u041F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438*: MathJax \u0440\u0430\u0431\u043E\u0442\u0438 \u043D\u0430 \u0441\u0438\u0442\u0435 \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438 \u043A\u0430\u043A\u043E IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ \u0438 \u043D\u0430\u0458\u0432\u0435\u045C\u0435\u0442\u043E \u043C\u043E\u0431\u0438\u043B\u043D\u0438 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438.", + Menu: "*\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u043E \u043C\u0435\u043D\u0438*: MathJax \u0441\u0442\u0430\u0432\u0430 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E \u043C\u0435\u043D\u0438 \u0432\u043E \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435. \u0414\u043E \u043D\u0435\u0433\u043E \u0441\u0435 \u0434\u043E\u0430\u0453\u0430 \u0441\u043E \u0434\u0435\u0441\u0435\u043D \u0441\u0442\u0438\u0441\u043E\u043A \u0441\u043E \u0433\u043B\u0443\u0448\u0435\u0446\u043E\u0442 (\u0438\u043B\u0438 Ctrl-\u0441\u0442\u0438\u0441\u043E\u043A) \u043D\u0430 \u0431\u0438\u043B\u043E \u043A\u043E\u0458\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430.", + ShowMath: "*\u041F\u041F\u0440\u0438\u043A\u0430\u0436\u0438 \u0458\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430\u0442\u0430 \u043A\u0430\u043A\u043E* \u0432\u0438 \u043E\u0432\u043E\u0437\u043C\u043E\u0436\u0443\u0432\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0433\u043B\u0435\u0434\u0430\u0442\u0435 \u0438\u0437\u0432\u043E\u0440\u043D\u0438\u043E\u0442 \u043A\u043E\u0434 \u043D\u0430 \u0444\u043E\u0440\u043C\u0443\u043B\u0430\u0442\u0430 \u0438 \u0434\u0430 \u0433\u043E \u043F\u0440\u0435\u043A\u043E\u043F\u0438\u0440\u0430\u0442\u0435 (\u043A\u0430\u043A\u043E MathML \u0438\u043B\u0438 \u0432\u043E \u0438\u0437\u0432\u043E\u0440\u0435\u043D \u0444\u043E\u0440\u043C\u0430\u0442).", + Settings: "*\u041F\u043E\u0441\u0442\u0430\u0432\u043A\u0438* \u0432\u0438 \u0434\u0430\u0432\u0430\u0430\u0442 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0430 \u0432\u0440\u0437 \u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u043D\u0430 MathJax \u043A\u0430\u043A\u043E \u0433\u043E\u043B\u0435\u043C\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u043E\u0442 \u0438\u0441\u043F\u0438\u0441 \u0438 \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C\u043E\u0442 \u0437\u0430 \u043F\u0440\u0438\u043A\u0430\u0437 (\u0438\u0441\u043F\u0438\u0441) \u043D\u0430 \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435.", + Language: "*\u0408\u0430\u0437\u0438\u043A* \u0432\u0438 \u0434\u0430\u0432\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0458\u0430\u0437\u0438\u043A \u043D\u0430 \u043C\u0435\u043D\u0438\u0442\u043E \u0438 \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0434\u0443\u0432\u0430\u0447\u043A\u0438\u0442\u0435 \u043F\u043E\u0440\u0430\u043A\u0438 \u043D\u0430 MathJax.", + Zoom: "*\u0417\u0433\u043E\u043B\u0435\u043C\u0443\u0432\u0430\u045A\u0435 \u043D\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442*: \u0410\u043A\u043E \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u0432\u0438 \u0435 \u0441\u0438\u0442\u0435\u043D \u0437\u0430 \u0447\u0438\u0442\u0430\u045A\u0435, MathJax \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u043E \u0437\u0433\u043E\u043B\u0435\u043C\u0438 \u0437\u0430 \u0434\u0430 \u0432\u0438 \u0431\u0438\u0434\u0435 \u043F\u043E\u0447\u0438\u0442\u043B\u0438\u0432.", + Accessibilty: "*\u041F\u043E\u0442\u0435\u0448\u043A\u043E\u0442\u0438\u0438 \u0441\u043E \u0432\u0438\u0434\u043E\u0442*: MathJax \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0441\u043A\u0438 \u0440\u0430\u0431\u043E\u0442\u0438 \u0441\u043E \u0435\u043A\u0440\u0430\u043D\u0441\u043A\u0438\u0442\u0435 \u0447\u0438\u0442\u0430\u0447\u0438 \u0437\u0430 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438\u0442\u0435 \u0434\u0430 \u0431\u0438\u0434\u0430\u0442 \u0458\u0430\u0441\u043D\u0438 \u0437\u0430 \u043B\u0438\u0446\u0430\u0442\u0430 \u0441\u043E \u0445\u0435\u043D\u0434\u0438\u043A\u0435\u043F\u0438\u0440\u0430\u043D \u0432\u0438\u0434.", + Fonts: "*\u0424\u043E\u043D\u0442\u043E\u0432\u0438*: MathJax \u045C\u0435 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u0438\u0437\u0432\u0435\u0441\u043D\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438, \u0434\u043E\u043A\u043E\u043B\u043A\u0443 \u0441\u0435 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D\u0438 \u043D\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u0441\u043C\u0435\u0442\u0430\u0447. \u0412\u043E \u0441\u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E \u045C\u0435 \u0441\u0435 \u043A\u043E\u0440\u0438\u0441\u0442\u0430\u0442 \u043C\u0440\u0435\u0436\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0437\u0430 \u0442\u0430\u0430 \u043D\u0430\u043C\u0435\u043D\u0430. \u0418\u0430\u043A\u043E \u043D\u0435 \u0441\u0435 \u0437\u0430\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u0438, \u043C\u0435\u0441\u043D\u043E \u0432\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0435\u043D\u0438\u0442\u0435 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0433\u043E \u0437\u0430\u0431\u0440\u0437\u0443\u0432\u0430\u0430\u0442 \u0438\u0441\u043F\u0438\u0441\u043E\u0442. \u0412\u0438 \u043F\u0440\u0435\u0434\u043B\u0430\u0433\u0430\u043C\u0435 \u0434\u0430 \u0433\u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 STIX](%1).", + CloseDialog: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438 \u0433\u043E \u043F\u043E\u043C\u043E\u0448\u043D\u0438\u043E\u0442 \u0434\u0438\u0458\u0430\u043B\u043E\u0433" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathML.js new file mode 100644 index 00000000..937ab4f0 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/mk/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u0413\u0440\u0435\u0448\u0435\u043D mglyph: %1", + BadMglyphFont: "\u0413\u0440\u0435\u0448\u0435\u043D \u0444\u043E\u043D\u0442: %1", + MathPlayer: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0438 MathPlayer.\n\n\u0414\u043E\u043A\u043E\u043B\u043A\u0443 \u043D\u0435 \u0432\u0438 \u0435 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D MathPlayer, \u045C\u0435 \u0442\u0440\u0435\u0431\u0430 \u043F\u0440\u0432\u043E \u0434\u0430 \u0433\u043E \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435.\n\u0412\u043E \u0441\u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E, \u043E\u0432\u0430 \u0437\u043D\u0430\u0447\u0438 \u0434\u0435\u043A\u0430 \u0432\u0430\u0448\u0438\u0442\u0435 \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u043E\u0441\u043D\u0438 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438 \u0458\u0430 \u0441\u043F\u0440\u0435\u0447\u0443\u0432\u0430\u0430\u0442 \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u0430 \u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438\u0442\u0435 \u0432\u043E ActiveX. \u041F\u043E\u0458\u0434\u0435\u0442\u0435 \u0432\u043E \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u043E\u0441\u043D\u0438\u0442\u0435 \u043D\u0430\u0433\u043E\u0434\u0443\u0432\u0430\u045A\u0430 \u043D\u0430 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043E\u0442 \u0438 \u0441\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u043D\u0430 \u043F\u0440\u0438\u043B\u0430\u0433\u043E\u0434\u043B\u0438\u0432\u043E (Custom Level). \u0422\u0430\u043C\u0443 \u043F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u043B\u0438 \u0432\u0438 \u0441\u0435 \u0432\u043A\u043B\u0443\u0447\u0435\u043D\u0438 \u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u0437\u0430 \u0440\u0430\u0431\u043E\u0442\u0430 \u0441\u043E ActiveX-\u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438 \u0438 \u0411\u0438\u043D\u0430\u0440\u043D\u0438 \u0438 \u0441\u043A\u0440\u0438\u043F\u0442\u043D\u0438 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0458\u0430.\n\n\u0417\u0430\u0441\u0435\u0433\u0430 \u045C\u0435 \u0433\u043B\u0435\u0434\u0430\u0442\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u0443\u0432\u0430\u045A\u0430 \u0437\u0430 \u0433\u0440\u0435\u0448\u043A\u0438 \u043D\u0430\u043C\u0435\u0441\u0442\u043E \u0438\u0441\u043F\u0438\u0448\u0430\u043D\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438.", + CantCreateXMLParser: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u043E\u0437\u0434\u0430\u0434\u0435 XML-\u043F\u0430\u0440\u0441\u0435\u0440 \u0437\u0430 MathML. \u041F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u043B\u0438 \u0435 \u0432\u043A\u043B\u0443\u0447\u0435\u043D\u0430 \u0441\u0438\u0433\u0443\u0440\u043D\u043E\u0441\u043D\u0430\u0442\u0430 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0430 ActiveX-\u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438 \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u0438 \u0437\u0430 \u0441\u043A\u0440\u0438\u043F\u0442\u0438\u0440\u0430\u045A\u0435 (\u0432\u043E \u043F\u0440\u0438\u043B\u0430\u0433\u043E\u0434\u043B\u0438\u0432\u0438\u043E\u0442 \u0434\u0435\u043B (Custom Level) \u043D\u0430 \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438 \u0432\u043E \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043E\u0442).\n\nMathJax \u043D\u0435\u043C\u0430 \u0434\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0438 \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435 \u043D\u0430 MathML.", + UnknownNodeType: "\u041D\u0435\u043F\u043E\u0437\u043D\u0430\u0442 \u0442\u0438\u043F \u043D\u0430 \u0458\u0430\u0437\u043E\u043B: %1", + UnexpectedTextNode: "\u041D\u0435\u043E\u0447\u0435\u043A\u0443\u0432\u0430\u043D \u0458\u0430\u0437\u043E\u043B \u0432\u043E \u0442\u0435\u043A\u0441\u0442\u043E\u0442: %1", + ErrorParsingMathML: "\u0413\u0440\u0435\u0448\u043A\u0430 \u043F\u0440\u0438 \u0440\u0430\u0441\u0447\u043B\u0435\u043D\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 MathML", + ParsingError: "\u0413\u0440\u0435\u0448\u043A\u0430 \u043F\u0440\u0438 \u0440\u0430\u0441\u0447\u043B\u0435\u043D\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 MathML: %1", + MathMLSingleElement: "MathML \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u043E\u0434 \u0435\u0434\u0435\u043D \u0435\u043B\u0435\u043C\u0435\u043D\u0442", + MathMLRootElement: "MathML \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0441\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442 \u003Cmath\u003E, \u0430 \u043D\u0435 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathMenu.js new file mode 100644 index 00000000..62ec776f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/mk/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u041F\u0440\u0438\u043A\u0430\u0436\u0438 \u0458\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430\u0442\u0430 \u043A\u0430\u043A\u043E", + MathMLcode: "MathML-\u043A\u043E\u0434", + OriginalMathML: "\u0418\u0437\u0432\u043E\u0440\u0435\u043D MathML", + TeXCommands: "TeX-\u043D\u0430\u0440\u0435\u0434\u0431\u0438", + AsciiMathInput: "AsciiMathML-\u0432\u043D\u043E\u0441", + Original: "\u0418\u0437\u0432\u043E\u0440\u0435\u043D \u043E\u0431\u043B\u0438\u043A", + ErrorMessage: "\u0418\u0437\u0432\u0435\u0441\u0442\u0443\u0432\u0430\u045A\u0435 \u0437\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", + Annotation: "\u041F\u0440\u0438\u0431\u0435\u043B\u0435\u0448\u043A\u0438", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "\u0421\u043E\u0434\u0440\u0436\u0438\u043D\u0441\u043A\u0438 MathML", + OpenMath: "OpenMath", + texHints: "\u041F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430\u0458 \u043F\u043E\u043C\u043E\u0448\u043D\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0437\u0438 \u043E\u0434 TeX \u0432\u043E MathML", + Settings: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438", + ZoomTrigger: "\u0417\u0433\u043E\u043B\u0435\u043C\u0443\u0432\u0430\u045A\u0435", + Hover: "\u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u0432\u0440\u0437 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430\u0442\u0430", + Click: "\u0421\u0442\u0438\u0441\u043E\u043A", + DoubleClick: "\u0414\u0432\u043E\u0435\u043D \u0441\u0442\u0438\u0441\u043E\u043A", + NoZoom: "\u0411\u0435\u0437 \u0437\u0433\u043E\u043B\u0435\u043C\u0443\u0432\u0430\u045A\u0435", + TriggerRequires: "\u0417\u0430 \u0434\u0430 \u0433\u043E \u0437\u0433\u043E\u043B\u0435\u043C\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442:", + Option: "\u041C\u043E\u0436\u043D\u043E\u0441\u0442", + Alt: "Alt", + Command: "\u2318", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "\u0427\u0438\u043D\u0438\u0442\u0435\u043B \u2014 \u041F\u0440\u0438\u0431\u043B\u0438\u0436\u0443\u0432\u0430\u045A\u0435", + Renderer: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0438\u0441\u043F\u0438\u0448\u0443\u0432\u0430\u0447", + MPHandles: "\u041D\u0435\u043A\u0430 MathPlayer \u0440\u0430\u0431\u043E\u0442\u0438 \u0441\u043E:", + MenuEvents: "\u041F\u043E\u0441\u0442\u0430\u043F\u043A\u0438 \u0441\u043E \u043C\u0435\u043D\u0438\u0442\u043E", + MouseEvents: "\u041F\u043E\u0441\u0442\u0430\u043F\u043A\u0438 \u0441\u043E \u0433\u043B\u0443\u0448\u0435\u0446\u043E\u0442", + MenuAndMouse: "\u041F\u043E\u0441\u0442\u0430\u043F\u043A\u0438 \u0441\u043E \u043C\u0435\u043D\u0438\u0442\u043E \u0438 \u0433\u043B\u0443\u0448\u0435\u0446\u043E\u0442", + FontPrefs: "\u041D\u0430\u0433\u043E\u0434\u0443\u0432\u0430\u045A\u0430 \u043D\u0430 \u0444\u043E\u043D\u0442\u043E\u0442", + ForHTMLCSS: "\u0417\u0430 HTML-CSS:", + Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0441\u043A\u0438", + TeXLocal: "TeX (\u043C\u0435\u0441\u043D\u043E)", + TeXWeb: "TeX (\u043C\u0440\u0435\u0436\u043D\u043E)", + TeXImage: "TeX (\u0441\u043B\u0438\u043A\u0430)", + STIXLocal: "STIX (\u043C\u0435\u0441\u043D\u043E)", + STIXWeb: "STIX (\u043C\u0440\u0435\u0436\u043D\u043E)", + AsanaMathWeb: "Asana Math (\u043C\u0440\u0435\u0436\u043D\u043E)", + GyrePagellaWeb: "Gyre Pagella (\u043C\u0440\u0435\u0436\u043D\u043E)", + GyreTermesWeb: "Gyre Termes (\u043C\u0440\u0435\u0436\u043D\u043E)", + LatinModernWeb: "Latin Modern (\u043C\u0440\u0435\u0436\u043D\u043E)", + NeoEulerWeb: "Neo Euler (\u043C\u0440\u0435\u0436\u043D\u043E)", + ContextMenu: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E \u043C\u0435\u043D\u0438", + Browser: "\u041F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447", + Scale: "\u041F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430 \u0458\u0430 \u0441\u0435\u0442\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 \u0432\u043E \u0440\u0430\u0437\u043C\u0435\u0440...", + Discoverable: "\u0418\u0441\u0442\u0430\u043A\u043D\u0443\u0432\u0430\u0458 (\u043F\u043E\u0442\u0446\u0440\u0442\u0443\u0432\u0430\u0458) \u043F\u0440\u0438 \u043E\u0434\u0435\u045A\u0435 \u0441\u043E \u0441\u0442\u0440\u0435\u043B\u043A\u0430\u0442\u0430 \u0432\u0440\u0437 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430\u0442\u0430", + Locale: "\u0408\u0430\u0437\u0438\u043A", + LoadLocale: "\u0412\u0447\u0438\u0442\u0430\u0458 \u043E\u0434 URL ...", + About: "\u0417\u0430 MathJax", + Help: "\u041F\u043E\u043C\u043E\u0448 \u0441\u043E MathJax", + localTeXfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 TeX-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + webTeXfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 TeX-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + imagefonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438", + localSTIXfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0435\u0441\u043D\u0438 STIX-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + webSVGfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 SVG-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + genericfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043E\u043F\u0448\u0442\u043E\u043D\u0430\u043C\u0435\u043D\u0441\u043A\u0438 \u0443\u043D\u0438\u043A\u043E\u0434\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438", + wofforotffonts: "WOFF- \u0438\u043B\u0438 OTF-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + eotffonts: "EOT-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + svgfonts: "SVG-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + WebkitNativeMMLWarning: "\u0412\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043D\u0435\u043C\u0430 \u0432\u0433\u0440\u0430\u0434\u0435\u043D\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML, \u043F\u0430 \u0437\u0430\u0442\u043E\u0430 \u0430\u043A\u043E \u0441\u0435 \u043F\u0440\u0435\u0444\u0440\u043B\u0438\u0442\u0435 \u043D\u0430 \u043D\u0435\u0433\u043E, \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043C\u043E\u0436\u0430\u0442 \u0434\u0430 \u0441\u0442\u0430\u043D\u0430\u0442 \u043D\u0435\u0447\u0438\u0442\u043B\u0438\u0432\u0438.", + MSIENativeMMLWarning: "Internet Explorer \u0433\u043E \u0431\u0430\u0440\u0430 \u0434\u043E\u0434\u0430\u0442\u043E\u043A\u043E\u0442 MathPlayer \u0437\u0430 \u0434\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0440\u0430\u0431\u043E\u0442\u0438 \u0441\u043E MathML.", + OperaNativeMMLWarning: "Opera \u0438\u043C\u0430 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML, \u0448\u0442\u043E \u0437\u043D\u0430\u0447\u0438 \u0434\u0435\u043A\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u043D\u0435\u043A\u043E\u0438 \u0438\u0437\u0440\u0435\u0437\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043B\u043E\u0448.", + SafariNativeMMLWarning: "\u0412\u0433\u0440\u0430\u0434\u0435\u043D\u0430\u0442\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML \u0432\u043E \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043D\u0435 \u0433\u0438 \u0438\u043C\u0430 \u0441\u0438\u0442\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438 \u043D\u0430 MathJax, \u043F\u0430 \u0437\u0430\u0442\u043E\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u043D\u0435\u043A\u043E\u0438 \u0438\u0437\u0440\u0435\u0437\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043B\u043E\u0448.", + FirefoxNativeMMLWarning: "\u0412\u0433\u0440\u0430\u0434\u0435\u043D\u0430\u0442\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML \u0432\u043E \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043D\u0435 \u0433\u0438 \u0438\u043C\u0430 \u0441\u0438\u0442\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438 \u043D\u0430 MathJax, \u043F\u0430 \u0437\u0430\u0442\u043E\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u043D\u0435\u043A\u043E\u0438 \u0438\u0437\u0440\u0435\u0437\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043B\u043E\u0448.", + MSIESVGWarning: "Internet Explorer \u043D\u0435\u043C\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 SVG \u0432\u043E \u0432\u0435\u0440\u0437\u0438\u0438\u0442\u0435 \u043F\u0440\u0435\u0434 IE9 \u0438\u043B\u0438 \u043A\u043E\u0433\u0430 \u0435\u043C\u0443\u043B\u0438\u0440\u0430 IE8 \u0438\u043B\u0438 \u043F\u043E\u0441\u0442\u0430\u0440\u0438 \u0432\u0435\u0440\u0437\u0438\u0438. \u0417\u0430\u0442\u043E\u0430, \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043D\u0435\u043C\u0430 \u0434\u0430 \u0441\u0435 \u0438\u0441\u043F\u0438\u0448\u0443\u0432\u0430\u0430\u0442 \u043F\u0440\u0430\u0432\u0438\u043B\u043D\u043E.", + LoadURL: "\u0412\u0447\u0438\u0442\u0430\u0458 \u0433\u0438 \u043F\u0440\u0435\u0432\u043E\u0434\u043D\u0438\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u043E\u0434 \u0441\u043B\u0435\u0434\u043D\u0430\u0432\u0430 URL:", + BadURL: "URL-\u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0430 \u0441\u043E JavaScript-\u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u0448\u0442\u043E \u0433\u0438 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0443\u0432\u0430\u0430\u0442 \u043F\u0440\u0435\u0432\u043E\u0434\u043D\u0438\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u0437\u0430 MathJax. JavaScript-\u043F\u043E\u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0438\u0442\u0435 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430\u0430\u0442 \u0441\u043E \u043D\u0430\u0441\u0442\u0430\u0432\u043A\u0430\u0442\u0430 \u201E.js\u201C", + BadData: "\u041D\u0435 \u0443\u0441\u043F\u0435\u0430\u0432 \u0434\u0430 \u0433\u0438 \u0432\u0447\u0438\u0442\u0430\u043C \u043F\u0440\u0435\u0432\u043E\u0434\u043D\u0438\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u043E\u0434 %1", + SwitchAnyway: "\u0421\u0435\u043F\u0430\u043A \u0434\u0430 \u0433\u043E \u0441\u043C\u0435\u043D\u0430\u043C \u0438\u0441\u043F\u0438\u0448\u0443\u0432\u0430\u0447\u043E\u0442?\n\n(\u041E\u041A \u0437\u0430 \u0434\u0430 \u0441\u0435 \u0441\u043C\u0435\u043D\u0438 \u0438\u043B\u0438 \u041E\u0422\u041A\u0410\u0416\u0418 \u0437\u0430 \u0434\u0430 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435 \u0441\u043E \u043F\u043E\u0441\u0442\u043E\u0435\u0447\u043A\u0438\u043E\u0442)", + ScaleMath: "\u0420\u0430\u0437\u043C\u0435\u0440 \u043D\u0430 \u0441\u0435\u0442\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 (\u0432\u043E \u043E\u0434\u043D\u043E\u0441 \u043D\u0430 \u043E\u043A\u043E\u043B\u043D\u0438\u043E\u0442 \u0442\u0435\u043A\u0441\u0442, \u043A\u0430\u043A\u043E \u043F\u043E\u0441\u0442\u043E\u0442\u043E\u043A):", + NonZeroScale: "\u0420\u0430\u0437\u043C\u0435\u0440\u043E\u0442 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043D\u0443\u043B\u0430", + PercentScale: "\u0420\u0430\u0437\u043C\u0435\u0440\u043E\u0442 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0435 \u0438\u0437\u0440\u0430\u0437\u0435\u043D \u0432\u043E \u043F\u043E\u0441\u0442\u043E\u0442\u043E\u043A (\u043D\u0430 \u043F\u0440. 120%%)", + IE8warning: "\u0421\u043E \u043E\u0432\u0430 \u045C\u0435 \u0433\u0438 \u0438\u0441\u043A\u043B\u0443\u0447\u0438\u0442\u0435 \u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u043E\u0434 \u043C\u0435\u043D\u0438\u0442\u043E \u0438 \u043C\u0435\u043D\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 \u0433\u043E\u043B\u0435\u043C\u0438\u043D\u0430\u0442\u0430 \u0432\u043E MathJax, \u043D\u043E \u043C\u0435\u043D\u0438\u0442\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u043E \u0434\u043E\u0431\u0438\u0435\u0442\u0435 \u0441\u043E Alt-\u0441\u0442\u0438\u0441\u043E\u043A \u043D\u0430 \u043D\u0435\u043A\u043E\u0458 \u0438\u0437\u0440\u0430\u0437.\n\n\u041D\u0430\u0432\u0438\u0441\u0442\u0438\u043D\u0430 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043C\u0435\u0430\u043C \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438\u0442\u0435 \u043D\u0430 MathPlayer?", + IE9warning: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0442\u043E \u043C\u0435\u043D\u0438 \u043D\u0430 MathJax \u045C\u0435 \u0431\u0438\u0434\u0435 \u0438\u0441\u043A\u043B\u0443\u0447\u0435\u043D\u043E, \u043D\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u0438\u0442\u0435 Alt-\u0441\u0442\u0438\u0441\u043E\u043A \u043D\u0430 \u0438\u0437\u0440\u0430\u0437\u043E\u0442 \u0437\u0430 \u0434\u0430 \u0433\u043E \u0434\u043E\u0431\u0438\u0435\u0442\u0435 \u043C\u0435\u043D\u0438\u0442\u043E.", + NoOriginalForm: "\u041D\u0435\u043C\u0430 \u0438\u0437\u0432\u043E\u0440\u0435\u043D \u043E\u0431\u043B\u0438\u043A \u043D\u0430 \u0440\u0430\u0441\u043F\u043E\u043B\u0430\u0433\u0430\u045A\u0435", + Close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438", + EqSource: "\u0418\u0437\u0432\u043E\u0440 \u043D\u0430 \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435 \u043D\u0430 MathJax", + CloseAboutDialog: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438 \u0433\u043E \u0434\u0438\u0458\u0430\u043B\u043E\u0433\u043E\u0442 \u0437\u0430 MathJax", + FastPreview: "\u0411\u0440\u0437 \u043F\u0440\u0435\u0433\u043B\u0435\u0434", + AssistiveMML: "\u041F\u043E\u043C\u043E\u0448\u0435\u043D MathML", + InTabOrder: "\u0412\u043A\u043B\u0443\u0447\u0438 \u0432\u043E \u0440\u0435\u0434\u043E\u0441\u043B\u0435\u0434\u043E\u0442 \u043D\u0430 \u0458\u0430\u0437\u0438\u0447\u0438\u045A\u0430" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/TeX.js new file mode 100644 index 00000000..7bb3e5c0 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/mk/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0418\u043C\u0430\u0442\u0435 \u043D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0438\u043B\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430", + ExtraCloseMissingOpen: "\u0418\u043C\u0430\u0442\u0435 \u043D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0438\u043B\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430", + MissingLeftExtraRight: "\u041D\u0435\u043C\u0430\u0442\u0435 \u201E\\left\u201C \u0438\u043B\u0438 \u0438\u043C\u0430\u0442\u0435 \u0432\u0438\u0448\u043E\u043A \u201E\\right\u201C", + MissingScript: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 \u0433\u043E\u0440\u0435\u043D \u0438\u043B\u0438 \u0434\u043E\u043B\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441", + ExtraLeftMissingRight: "\u041D\u0435\u043C\u0430\u0442\u0435 \u201E\\right\u201C \u0438\u043B\u0438 \u0438\u043C\u0430\u0442\u0435 \u0432\u0438\u0448\u043E\u043A \u201E\\left\u201C", + Misplaced: "\u041F\u043E\u0433\u0440\u0435\u0448\u043D\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D %1", + MissingOpenForSub: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0437\u0430 \u0434\u043E\u043B\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441", + MissingOpenForSup: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0437\u0430 \u0433\u043E\u0440\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441", + AmbiguousUseOf: "\u041D\u0435\u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 %1", + EnvBadEnd: "\\begin{%1} \u0437\u0430\u0431\u0440\u0448\u0438 \u0441\u043E \\end{%2}", + EnvMissingEnd: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \\end{%1}", + MissingBoxFor: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043A\u0443\u0442\u0438\u0458\u043A\u0430 \u0437\u0430 %1", + MissingCloseBrace: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430", + UndefinedControlSequence: "\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043D\u0438\u0437\u0430 %1", + DoubleExponent: "\u0414\u0432\u043E\u0435\u043D \u0433\u043E\u0440\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441: \u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0435 \u0441\u043E \u0437\u0430\u0433\u0440\u0430\u0434\u0438", + DoubleSubscripts: "\u0414\u0432\u043E\u0435\u043D \u0434\u043E\u043B\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441: \u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0435 \u0441\u043E \u0437\u0430\u0433\u0440\u0430\u0434\u0438", + DoubleExponentPrime: "\u041F\u0440\u0438\u043C\u043E\u0442 \u043F\u0440\u0430\u0432\u0438 \u0434\u0432\u043E\u0435\u043D \u0433\u043E\u0440\u0435\u043D \u0438\u043D\u0434\u0435\u043B\u043A\u0441: \u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0435 \u0441\u043E \u0437\u0430\u0433\u0440\u0430\u0434\u0438", + CantUseHash1: "\u041D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u043E \u043A\u043E\u0440\u0438\u0441\u0442\u0438\u0442\u0435 \u043C\u0430\u043A\u0440\u043E\u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0430\u0440\u0441\u043A\u0438\u043E\u0442 \u0437\u043D\u0430\u043A \u201E#\u201C \u0432\u043E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0440\u0435\u0436\u0438\u043C", + MisplacedMiddle: "%1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u201E\\left\u201C \u0438\u043B\u0438 \u201E\\right\u201C", + MisplacedLimits: "%1 \u0441\u0435 \u0434\u043E\u043F\u0443\u0448\u0442\u0430 \u0441\u0430\u043C\u043E \u0437\u0430 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0438", + MisplacedMoveRoot: "%1 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0458\u0430\u0432\u0443\u0432\u0430 \u0441\u0430\u043C\u043E \u0432\u043E \u043A\u043E\u0440\u0435\u043D", + MultipleCommand: "%1 \u0441\u0435 \u0458\u0430\u0432\u0443\u0432\u0430 \u043F\u043E\u0432\u0435\u045C\u0435\u043F\u0430\u0442\u0438", + IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0446\u0435\u043B \u0431\u0440\u043E\u0458", + NotMathMLToken: "%1 \u043D\u0435 \u0435 \u0448\u0438\u0444\u0440\u0435\u043D \u0435\u043B\u0435\u043C\u0435\u043D\u0442", + InvalidMathMLAttr: "\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0438 MathML-\u0430\u0442\u0440\u0438\u0431\u0443\u0442: %1", + UnknownAttrForElement: "%1 \u043D\u0435 \u0435 \u043F\u0440\u0438\u0437\u043D\u0430\u0435\u043D \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0437\u0430 %2", + MaxMacroSub1: "\u041D\u0430\u0434\u043C\u0438\u043D\u0430\u0442 \u0435 \u043D\u0430\u0458\u0433\u043E\u043B\u0435\u043C\u0438\u043E\u0442 \u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D \u0431\u0440\u043E\u0458 \u043D\u0430 \u043C\u0430\u043A\u0440\u043E\u0437\u0430\u043C\u0435\u043D\u0438 \u0432\u043E MathJax. \u0414\u0430 \u043D\u0435 \u0438\u043C\u0430 \u0440\u0435\u043A\u0443\u0440\u0437\u0438\u0432\u043D\u043E \u043F\u043E\u0432\u0438\u043A\u0443\u0432\u0430\u045A\u0435 \u043D\u0430 \u043C\u0430\u043A\u0440\u043E\u0437\u0430\u043C\u0435\u043D\u0430\u0442\u0430?", + MaxMacroSub2: "\u041D\u0430\u0434\u043C\u0438\u043D\u0430\u0442 \u0435 \u043D\u0430\u0458\u0433\u043E\u043B\u0435\u043C\u0438\u043E\u0442 \u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D \u0431\u0440\u043E\u0458 \u043D\u0430 \u043C\u0430\u043A\u0440\u043E\u0437\u0430\u043C\u0435\u043D\u0438 \u0432\u043E MathJax. \u0414\u0430 \u043D\u0435 \u0438\u043C\u0430 \u0440\u0430\u043A\u0443\u0440\u0437\u0438\u0432\u043D\u0430 LaTeX-\u043E\u043A\u043E\u043B\u0438\u043D\u0430?", + MissingArgFor: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1", + ExtraAlignTab: "\u041D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u0435\u043D \u0437\u043D\u0430\u043A \u0437\u0430 \u043F\u043E\u0440\u0430\u043C\u043D\u0443\u0432\u0430\u045A\u0435 \u0432\u043E \u0442\u0435\u043A\u0441\u0442\u043E\u0442 \u043D\u0430 \u201E\\cases\u201C", + BracketMustBeDimension: "\u0417\u0430\u0433\u0440\u0430\u0434\u0435\u043D\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0438\u043C\u0435\u043D\u0437\u0438\u0458\u0430", + InvalidEnv: "\u041F\u043E\u0433\u0440\u0435\u0448\u043D\u043E \u0438\u043C\u0435 \u043D\u0430 \u043E\u043A\u043E\u043B\u0438\u043D\u0430\u0442\u0430 \u201E%1\u201C", + UnknownEnv: "\u041D\u0435\u043F\u043E\u0437\u043D\u0430\u0442\u0430 \u043E\u043A\u043E\u043B\u0438\u043D\u0430 \u201E%1\u201C", + ExtraCloseLooking: "\u041D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0432\u043E \u043F\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 %1", + MissingCloseBracket: "\u041D\u0435 \u043C\u043E\u0436\u0435\u0432 \u0434\u0430 \u043D\u0430\u0458\u0434\u0430\u043C \u0437\u0430\u0432\u0440\u0448\u043D\u043E ']' \u0437\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0442 \u0432\u043E %1", + MissingOrUnrecognizedDelim: "\u041E\u0442\u0441\u0443\u0442\u0435\u043D \u0438\u043B\u0438 \u043D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043E\u0434\u0434\u0435\u043B\u0443\u0432\u0430\u0447 \u0437\u0430 %1", + MissingDimOrUnits: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0434\u0438\u043C\u0435\u043D\u0437\u0438\u0458\u0430 \u0438\u043B\u0438 \u043D\u0435\u0458\u0437\u0438\u043D\u0438 \u0435\u0434\u0438\u043D\u0438\u0446\u0438 \u0437\u0430 %1", + TokenNotFoundForCommand: "\u041D\u0435 \u043C\u043E\u0436\u0435\u0432 \u0434\u0430 \u0433\u043E \u043D\u0430\u0458\u0434\u0430\u043C %1 \u0437\u0430 %2", + MathNotTerminated: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430\u0442\u0430 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430 \u043D\u0435 \u0435 \u0437\u0430\u0432\u0440\u0448\u0435\u043D\u0430 \u0432\u043E \u043F\u043E\u043B\u0435\u0442\u043E \u0437\u0430 \u0442\u0435\u043A\u0441\u0442", + IllegalMacroParam: "\u041D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u0435\u043D \u043C\u0430\u043A\u0440\u043E\u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0430\u0440", + MaxBufferSize: "\u041D\u0430\u0434\u043C\u0438\u043D\u0430\u0442\u0430 \u0435 \u0433\u043E\u043B\u0435\u043C\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 \u0432\u043D\u0430\u0442\u0440\u0435\u0448\u043D\u0438\u043E\u0442 \u043C\u0435\u0453\u0443\u0441\u043A\u043B\u0430\u0434 \u043D\u0430 MathJax. \u0414\u0430 \u043D\u0435 \u0438\u043C\u0430 \u0440\u0435\u043A\u0443\u0440\u0437\u0438\u0432\u043D\u043E \u043C\u0430\u043A\u0440\u043E\u043F\u043E\u0432\u0438\u043A\u0443\u0432\u0430\u045A\u0435?", + CommandNotAllowedInEnv: "%1 \u043D\u0435 \u0441\u0435 \u0434\u043E\u043F\u0443\u0448\u0442\u0430 \u0432\u043E \u043E\u043A\u043E\u043B\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 %2", + MultipleLabel: "\u041D\u0430\u0442\u043F\u0438\u0441\u043E\u0442 \u201E%1\u201C \u0435 \u0437\u0430\u0434\u0430\u0434\u0435\u043D \u043F\u043E\u0432\u0435\u045C\u0435\u043F\u0430\u0442\u0438", + CommandAtTheBeginingOfLine: "%1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0434\u043E\u0458\u0434\u0435 \u043D\u0430 \u043F\u043E\u0447\u0435\u0442\u043E\u043A\u043E\u0442 \u043E\u0434 \u0440\u0435\u0434\u043E\u0442", + IllegalAlign: "\u0423\u043A\u0430\u0436\u0430\u043D\u043E \u0435 \u043D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u0435\u043D\u043E \u043F\u043E\u0440\u0430\u043C\u043D\u0443\u0432\u0430\u045A\u0435 \u0432\u043E %1", + BadMathStyleFor: "\u041D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u0435\u043D \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0441\u0442\u0438\u043B \u0437\u0430 %1", + PositiveIntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043F\u043E\u0437\u0438\u0442\u0438\u0432\u0435\u043D \u0446\u0435\u043B \u0431\u0440\u043E\u0458", + ErroneousNestingEq: "\u041F\u043E\u0433\u0440\u0435\u0448\u043D\u043E \u0432\u043C\u0435\u0442\u043D\u0430\u0442\u0438 \u0440\u0430\u0432\u0435\u043D\u0441\u043A\u0438 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438", + MultlineRowsOneCol: "\u0420\u0435\u0434\u043E\u0432\u0438\u0442\u0435 \u0432\u043E \u0441\u043E\u0441\u0442\u0430\u0432 \u043D\u0430 \u043E\u043A\u043E\u043B\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0438\u043C\u0430\u0430\u0442 \u0442\u043E\u0447\u043D\u043E \u043F\u043E \u0435\u0434\u043D\u0430 \u043A\u043E\u043B\u043E\u043D\u0430", + MultipleBBoxProperty: "%1 \u0435 \u0443\u043A\u0430\u0436\u0430\u043D\u043E \u0434\u0432\u0430\u043F\u0430\u0442\u0438 \u0432\u043E %2", + InvalidBBoxProperty: "\u201E%1\u201C \u043D\u0435 \u0435 \u0431\u043E\u0458\u0430, \u0434\u0438\u043C\u0435\u043D\u0437\u0438\u0458\u0430 \u0437\u0430 \u0441\u043B\u043E\u0436\u0443\u0432\u0430\u045A\u0435 \u0438\u043B\u0438 \u0441\u0442\u0438\u043B", + ExtraEndMissingBegin: "\u041D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u043E %1 \u0438\u043B\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \\begingroup", + GlobalNotFollowedBy: "%1 \u043D\u0435 \u0435 \u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D\u043E \u043E\u0434 \u201E\\let\u201C, \u201E\\def\u201C \u0438\u043B\u0438 \u201E\\newcommand\u201C", + UndefinedColorModel: "\u0411\u043E\u0458\u043D\u0438\u043E\u0442 \u043C\u043E\u0434\u0435\u043B \u201E%1\u201C \u043D\u0435 \u0435 \u0437\u0430\u0434\u0430\u0434\u0435\u043D", + ModelArg1: "\u0411\u043E\u0458\u043D\u0438\u0442\u0435 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0438 \u0437\u0430 \u043C\u043E\u0434\u0435\u043B\u043E\u0442 %1 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0438\u043C\u0430\u0430\u0442 \u043F\u043E \u0442\u0440\u0438 \u0431\u0440\u043E\u0458\u043A\u0438", + InvalidDecimalNumber: "\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0438 \u0434\u0435\u0446\u0438\u043C\u0430\u043B\u0435\u043D \u0431\u0440\u043E\u0458", + ModelArg2: "\u0411\u043E\u0458\u043D\u0438\u0442\u0435 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0438 \u0437\u0430 \u043C\u043E\u0434\u0435\u043B\u043E\u0442 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0430\u0442 \u043F\u043E\u043C\u0435\u0453\u0443 %2 \u0438 %3", + InvalidNumber: "\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0438 \u0431\u0440\u043E\u0458", + NewextarrowArg1: "\u041F\u0440\u0432\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0438\u043C\u0435\u043D\u0443\u0432\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043D\u0438\u0437\u0430", + NewextarrowArg2: "\u0412\u0442\u043E\u0440\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u0441\u043E\u0441\u0442\u043E\u0438 \u043E\u0434 \u0434\u0432\u0430 \u0446\u0435\u043B\u0438 \u0431\u0440\u043E\u0458\u0430 \u043E\u0434\u0434\u0435\u043B\u0435\u043D\u0438 \u0441\u043E \u0437\u0430\u043F\u0438\u0440\u043A\u0430", + NewextarrowArg3: "\u0422\u0440\u0435\u0442\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0443\u043D\u0438\u043A\u043E\u0434\u0435\u043D \u0431\u0440\u043E\u0435\u043D \u0437\u043D\u0430\u043A", + NoClosingChar: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u043D\u0430\u0458\u0434\u0430\u043C \u0437\u0430\u0432\u0440\u0448\u043D\u043E %1", + IllegalControlSequenceName: "\u041D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u043D\u043E \u0438\u043C\u0435 \u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430\u0442\u0430 \u043D\u0438\u0437\u0430 \u0437\u0430 %1", + IllegalParamNumber: "\u041D\u0430 %1 \u043C\u0443 \u0435 \u0443\u043A\u0430\u0436\u0430\u043D \u043D\u0435\u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D \u0431\u0440\u043E\u0458 \u043D\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438", + MissingCS: "%1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0435 \u043F\u0440\u043E\u0441\u043B\u0435\u0434\u0435\u043D \u043E\u0434 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043D\u0438\u0437\u0430", + CantUseHash2: "\u041D\u0435\u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 \u201E#\u201C \u0432\u043E \u0448\u0430\u0431\u043B\u043E\u043D\u043E\u0442 \u0437\u0430 %1", + SequentialParam: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438\u0442\u0435 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043D\u0443\u043C\u0435\u0440\u0438\u0440\u0430\u043D\u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u043D\u043E", + MissingReplacementString: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0437\u0430\u043C\u0435\u043D\u0430 \u0437\u0430 \u043D\u0438\u0437\u0430\u0442\u0430 \u0432\u043E \u0437\u0430\u0434\u0430\u0434\u0435\u043D\u043E\u0442\u043E \u043D\u0430 %1", + MismatchUseDef: "\u0423\u043F\u043E\u0442\u0440\u0435\u0431\u0430\u0442\u0430 \u043D\u0430 %1 \u043D\u0435 \u043E\u0434\u0433\u043E\u0432\u0430\u0440\u0430 \u043D\u0430 \u0437\u0430\u0434\u0430\u0434\u0435\u043D\u043E\u0442\u043E", + RunawayArgument: "\u041D\u0435\u0441\u043A\u043B\u0430\u0434\u0435\u043D \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1?", + NoClosingDelim: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u0433\u043E \u043D\u0430\u0458\u0434\u0430\u043C \u0437\u0430\u0432\u0440\u0448\u043D\u0438\u043E\u0442 \u043E\u0434\u0434\u0435\u043B\u0443\u0432\u0430\u0447 \u0437\u0430 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/mk.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/mk.js new file mode 100644 index 00000000..91eea748 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/mk.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/mk/mk.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk",null,{ + menuTitle: "\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u043F\u0440\u043E\u043D\u0430\u0458\u0434\u0435 \u043A\u043E\u043B\u0430\u0447\u0435 \u0441\u043E \u043A\u043E\u0440\u0438\u0441\u043D\u0438\u0447\u043A\u0438 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438 \u043A\u043E\u0435 \u0441\u043E\u0434\u0440\u0436\u0438 \u043A\u043E\u0434 \u0448\u0442\u043E \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0441\u0435 \u043F\u0443\u0448\u0442\u0438. \u0421\u0430\u043A\u0430\u0442\u0435 \u0434\u0430 \u0433\u043E \u043F\u0443\u0448\u0442\u0438\u0442\u0435?\n\n(\u0421\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u043D\u0430 \u201E\u041E\u0442\u043A\u0430\u0436\u0438\u201C \u0434\u043E\u043A\u043E\u043B\u043A\u0443 \u043D\u0435 \u0441\u0442\u0435 \u0433\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u043B\u0435 \u043A\u043E\u043B\u0430\u0447\u0435\u0442\u043E \u0432\u0438\u0435 \u0441\u0430\u043C\u0438\u0442\u0435.)", + MathProcessingError: "\u0413\u0440\u0435\u0448\u043A\u0430 \u0432\u043E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430\u0442\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430", + MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", + LoadFile: "\u0413\u043E \u0432\u0447\u0438\u0442\u0443\u0432\u0430\u043C %1", + Loading: "\u0412\u0447\u0438\u0442\u0443\u0432\u0430\u043C", + LoadFailed: "\u041F\u043E\u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0430\u0442\u0430 \u043D\u0435 \u0441\u0435 \u0432\u0447\u0438\u0442\u0430: %1", + ProcessMath: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430: %1%%", + Processing: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0443\u0432\u0430\u043C", + TypesetMath: "\u0421\u043B\u043E\u0436\u0443\u0432\u0430\u045A\u0435 \u043D\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442: %1%%", + Typesetting: "\u0421\u043B\u043E\u0436\u0443\u0432\u0430\u043C \u0438\u0441\u043F\u0438\u0441", + MathJaxNotSupported: "\u0412\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430\u0447 \u043D\u0435 \u0433\u043E \u043F\u043E\u0434\u0434\u0440\u0436\u0443\u0432\u0430 MathJax", + ErrorTips: "\u0421\u043E\u0432\u0435\u0442\u0438 \u0437\u0430 \u0438\u0441\u043F\u0440\u0430\u0432\u0430\u045A\u0435 \u0433\u0440\u0435\u0448\u043A\u0438: \u043A\u043E\u0440\u0438\u0441\u0442\u0435\u0442\u0435 %%1, \u043F\u0440\u0435\u0433\u043B\u0435\u0434\u0430\u0458\u0442\u0435 \u0433\u043E %%2 \u0432\u043E \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043A\u0430\u0442\u0430 \u043A\u043E\u043D\u0437\u043E\u043B\u0430" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && n !== 11) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/mk.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/FontWarnings.js new file mode 100644 index 00000000..67415468 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/nl/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax gebruikt web-gebaseerde lettertypes om wiskunde weer te geven op deze pagina. Het kost tijd om deze te downloaden, dus de pagina zou sneller weergegeven worden als u de wiskunde lettertypes direct in de lettertype map van uw systeem zou plaatsen.", + imageFonts: "MathJax gebruikt zijn beeldlettertypes en niet zijn lokale of webgebaseerde lettertypes. Dit geeft een tragere weergave dan normaal en de wiskunde wordt wellicht niet op de hoogste resolutie van uw printer afgedrukt.", + noFonts: "MathJax is niet in staat een lettertype te vinden waarmee het zijn wiskunde kan weergeven, en beeld-lettertypes zijn niet beschikbaar, dus valt het nu terug op generieke Unicodetekens in de hoop dat uw browsers in staat is ze weer te geven. Sommige tekens worden wellicht niet goed weergegeven en mogelijkerwijs helemaal niet.", + webFonts: "De meeste moderne browsers kunnen lettertypes via het web downloaden. Updaten naar een recentere versie van uw browser (of een andere browser gaan gebruiken) zou de kwaliteit van de wiskunde op deze pagina kunnen verbeteren.", + fonts: "MathJax kan de [STIX fonts](%1) \u00F3f de [MathJax TeX fonts](%2) gebruiken. Download en installeer een van deze lettertypes om uw MathJax ervaring te verbeteren.", + STIXPage: "Deze pagina is ontworpen om de [STIX fonts](%1) te gebruiken. Download en installeer deze lettertypes om uw MathJax ervaring te verbeteren.", + TeXPage: "Deze pagina is ontworpen om de [MathJax TeX fonts](%1) te gebruiken. Download en installeer deze lettertypes om uw MathJax ervaring te verbeteren." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HTML-CSS.js new file mode 100644 index 00000000..8c6f8d7a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/nl/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Weblettertype %1 aan het laden", + CantLoadWebFont: "Het weblettertype %1 kan niet geladen worden.", + FirefoxCantLoadWebFont: "Firefox kan geen web-lettertypes laden van een externe host", + CantFindFontUsing: "Kan met gebruik van %1 geen geldig lettertype vinden", + WebFontsNotAvailable: "Weblettertypes zijn niet beschikbaar. In plaats daarvan worden afbeeldingslettertypes gebruikt" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HelpDialog.js new file mode 100644 index 00000000..4951979a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/nl/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax-hulp", + MathJax: "*MathJax* is een JavaScript bibliotheek die het mogelijk maakt dat auteurs wiskunde kunnen toevoegen aan hun web-pagina's. Als een lezer hoeft u niks te doen om dat mogelijk te maken.", + Browsers: "*Browsers*: MathJax werkt met alle moderne browsers, inclusief IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ en de meeste mobiele browsers.", + Menu: "*Math menu*:MathJax voegt een context menu toe aan vergelijkingen. Rechtsklik of Ctrl-klik op willekeurige wiskunde om het menu weer te geven.", + ShowMath: "*Wiskunde weergeven als* geeft de formule in bron opmaak weer voor knippen en plakken (als MathML of in de originele opmaak).", + Settings: "Via *Instellingen* kunt u de functionaliteit van MathJax beheersen, zoals de grootte van de wiskunde en het mechanisme dat gebruikt wordt om vergelijkingen weer te geven.", + Language: "Via *Taal* kunt u de taal kiezen die MathJax gebruikt voor de menu's en waarschuwingsboodschappen.", + Zoom: "*Wiskunde zoom*: Als u moeite heeft met het lezen van een vergelijking dan kan MathJax deze vergroten zodat u het beter kunt zien.", + Accessibilty: "*Toegankelijkheid*: MathJax werkt automatisch samen met schermlezers waardoor wiskunde toegankelijk wordt voor slechtzienden.", + Fonts: "*Lettertypes*: MathJax gebruikt bepaalde wiskunde lettertypes als die ge\u00EFnstalleerd zijn op uw computer; anders gebruikt het webgebaseerde lettertypes. Alhoewel het niet noodzakelijk is, versnellen lokaal ge\u00EFnstalleerde lettertypes het zetwerk. We raden aan om de [STIX fonts](%1) te installeren.", + CloseDialog: "Hulpvenster sluiten" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathML.js new file mode 100644 index 00000000..5c2bf8b5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/nl/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Onjuiste mglyph: %1", + BadMglyphFont: "Verkeerd lettertype: %1", + MathPlayer: "MathJax was niet in staat MathPlayer in te stellen.\n\nAls MathPlay niet ge\u00EFnstalleerd is, doe dat dan eerst.\nAnders kan het zijn dat beveiligingsinstellingen de uitvoering van ActiveX-besturingselementen verhinderen. Gebruik de keuze Internet Opties in het menu Extra en selecteer het tabblad Beveiligingsinstellingen en druk op de knop Aangepaste niveau.\nControleer dat de instellingen voor \"Uitvoeren van ActiveX-besturingselementen\" en \"Gedrag van binaire elementen en scripts\" ingeschakeld zijn.\n\nMomenteel zie u foutmeldingen in plaats van opgemaakte wiskunde.", + CantCreateXMLParser: "MathJax kan geen XML-verwerker cre\u00EBren voor MathML. Controleer of de beveiligingsinstelling \"ActiveX-besturingselementen die zijn gemarkeerd als veilig voor uitvoeren in scripts\" is ingeschakeld. Gebruik de keuze Internet Opties in het menu Extra en selecteer het paneel Beveiliging, druk dan op de knop Aangepast niveau om dit te controleren.\n\nMathML-vergelijkingen kunnen niet verwerkt worden door MathJax.", + UnknownNodeType: "Onbekend knooptype: %1", + UnexpectedTextNode: "Onverwachte tekstknoop: %1", + ErrorParsingMathML: "Fout tijdens verwerken MathML", + ParsingError: "Fout tijdens verwerken MathML: %1", + MathMLSingleElement: "MathML moet bestaan uit \u00E9\u00E9n element", + MathMLRootElement: "MathML moet bestaan uit een \u003Cmath\u003E element, niet %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathMenu.js new file mode 100644 index 00000000..0fb21d04 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/nl/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Wiskunde weergeven als", + MathMLcode: "MathML-code", + OriginalMathML: "Oorspronkelijke MathML", + TeXCommands: "TeX-commando's", + AsciiMathInput: "AsciiMathML-invoer", + Original: "Oorspronkelijke vorm", + ErrorMessage: "Foutmelding", + Annotation: "Annotatie", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Inhoud MathML", + OpenMath: "OpenMath", + texHints: "TeX-hints weergeven in MathML", + Settings: "Instellingen voor wiskundige formules", + ZoomTrigger: "Inzoomen als", + Hover: "Aanwijseffect", + Click: "Klik", + DoubleClick: "Dubbelklik", + NoZoom: "Niet zoomen", + TriggerRequires: "Trigger vereist:", + Option: "Optie", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Zoomfactor", + Renderer: "Mathverwerking", + MPHandles: "MathPlayer de volgende gebeurtenissen laten afhandelen:", + MenuEvents: "Menugebeurtenissen", + MouseEvents: "Muisgebeurtenissen", + MenuAndMouse: "Muis- en menugebeurtenissen", + FontPrefs: "Lettertypevoorkeuren", + ForHTMLCSS: "Voor HTML-CSS:", + Auto: "Automatisch", + TeXLocal: "TeX (lokaal)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (afbeelding)", + STIXLocal: "STIX (lokaal)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Contextueel menu", + Browser: "Browser", + Scale: "Alle wiskunde schalen als ...", + Discoverable: "Uitlichten bij aanwijzen", + Locale: "Taal", + LoadLocale: "Laden van URL ...", + About: "Over MathJax", + Help: "MathJax-hulp", + localTeXfonts: "met behulp van lokale TeX-lettertypen", + webTeXfonts: "met behulp van weblettertype TeX", + imagefonts: "met behulp van afbeeldingslettertypes", + localSTIXfonts: "met behulp van lokale STIX-lettertypes", + webSVGfonts: "met behulp van SVG-weblettertypen", + genericfonts: "met behulp van standaard Unicodelettertypen", + wofforotffonts: "WOFF- of OTF-lettertypen", + eotffonts: "EOT-lettertypen", + svgfonts: "SVG-lettertypen", + WebkitNativeMMLWarning: "Uw browser lijkt MathML niet te ondersteunen. Door te kiezen voor MathML-uitvoer kunnen de wiskundige formules op de pagina onleesbaar worden.", + MSIENativeMMLWarning: "Internet Explorer vereist de MathPlayer plug-in om MathML-uitvoer te verwerken", + OperaNativeMMLWarning: "De ondersteuning voor MathML in Opera is beperkt, dus als u overschakelt naar weergave via MathML kunnen sommige expressies slecht worden weergegeven.", + SafariNativeMMLWarning: "De in uw browser ingebouwde MathML heeft niet alle mogelijkheden die door MathJax worden gebruikt, dus niet alle expressies kunnen correct worden weergegeven.", + FirefoxNativeMMLWarning: "De in uw browser ingebouwde MathML heeft niet alle mogelijkheden die door MathJax worden gebruikt, dus niet alle expressies kunnen correct worden weergegeven.", + MSIESVGWarning: "SVG is niet ge\u00EFmplementeerd in Internet Explorer versies v\u00F3\u00F3r IE9 en ook niet wanneer het IE8 of lager emuleert. Kiezen voor SVG-uitvoer veroorzaakt onjuiste weergave van de wiskundige formules.", + LoadURL: "Vertalingsdata van deze URL laden:", + BadURL: "De URL moet naar een JavaScriptbestand wijzen waarin vertaalgegevens voor MathJax staan. De naam van het JavaScriptbestand moet eindigen op \".js\".", + BadData: "Vertalingsdata laden van %1 niet gelukt", + SwitchAnyway: "Evengoed de weergever wijzigen?\n\nDruk op OK om te wijzigen, ANNULEREN om door te gaan met de huidige wijze van weergeven.", + ScaleMath: "Alle wiskundige formules schalen (in vergelijking tot de omliggende tekst) met", + NonZeroScale: "De schaal hoort geen nul te zijn", + PercentScale: "De schaal moet een percentage zijn (bijvoorbeeld 120%%)", + IE8warning: "Hierdoor wordt het MathJaxmenu en zoomfuncties uitgeschakeld, maar u kunt via Alt-klik op een expressie het MathJamenu weergeven.\n\nWilt u inderdaad de instellingen van MathPlayer wijzigen?", + IE9warning: "Het context menu van MathJax wordt uitgeschakeld, maar u kunt in plaats daarvan door Alt-klikken op een expressie het MathJax menu weergeven.", + NoOriginalForm: "Geen oorspronkelijke vorm beschikbaar", + Close: "Sluiten", + EqSource: "MathJax Vergelijking Bron", + CloseAboutDialog: "Over Mathjax sluiten", + FastPreview: "Snell voorvertoning", + AssistiveMML: "Assistieve MathML", + InTabOrder: "Opnemen in tabvolgorde" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/TeX.js new file mode 100644 index 00000000..2d7d5640 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/nl/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Overtollige openende accolade of ontbrekende afsluitende accolade", + ExtraCloseMissingOpen: "Overtollige afsluitende accolade of ontbrekende openende accolade", + MissingLeftExtraRight: "Ontbrekende \\left of overtollige \\right", + MissingScript: "Ontbrekend superschrift- of subschriftargument", + ExtraLeftMissingRight: "Overtollige \\left of ontbrekende \\right", + Misplaced: "Onjuist geplaatste %1", + MissingOpenForSub: "Ontbrekende openende accolade voor subschrift", + MissingOpenForSup: "Ontbrekende openende accolade voor superschrift", + AmbiguousUseOf: "Dubbelzinnig gebruik van %1", + EnvBadEnd: "\\begin{%1} eindigde met \\end{%2}", + EnvMissingEnd: "Ontbrekende \\end{%1}", + MissingBoxFor: "Ontbrekende box voor %1", + MissingCloseBrace: "Ontbrekende afsluitende accolade", + UndefinedControlSequence: "Ongedefinieerde bewerkingsvolgorde %1", + DoubleExponent: "Dubbele exponent: gebruik accolades om te verduidelijken", + DoubleSubscripts: "Dubbele subschriften: gebruik accolades om te verduidelijken", + DoubleExponentPrime: "Priem veroorzaakt een dubbele exponent: Gebruik accolades om te verduidelijken.", + CantUseHash1: "U kunt 'macroparameterteken #' niet gebruiken in mathmodus", + MisplacedMiddle: "%1 moet zich tussen \\left en \\right bevinden", + MisplacedLimits: "%1 is alleen toegestaan op bewerkingstekens", + MisplacedMoveRoot: "%1 kan alleen voorkomen in een root", + MultipleCommand: "Meerdere %1", + IntegerArg: "Het argument voor %1 moet een geheel getal zijn", + NotMathMLToken: "%1 is geen symboolelement", + InvalidMathMLAttr: "Ongeldige MathML-eigenschap: %1", + UnknownAttrForElement: "%1 is geen bekende eigenschap voor %2", + MaxMacroSub1: "Het MathJax maximale aantal macrovervangingen is overschreden; is er een recursieve macro-aanroep?", + MaxMacroSub2: "Het MathJax maximale aantal macrovervangingen is overschreden; is er een recursieve LaTeX-omgeving?", + MissingArgFor: "Ontbrekend argument voor %1", + ExtraAlignTab: "Overtollige uitlijningtab in \\cases-tekst", + BracketMustBeDimension: "Rechte haak argument voor %1 moet een dimensie zijn", + InvalidEnv: "Ongeldige omgevingsnaam \"%1\"", + UnknownEnv: "Onbekende omgeving \"%1\"", + ExtraCloseLooking: "Overtollige afsluitende accolade terwijl gezocht wordt naar %1", + MissingCloseBracket: "Kon afsluitende ']' niet vinden als argument voor %1", + MissingOrUnrecognizedDelim: "Ontbrekend of onbekend scheidingsteken voor %1", + MissingDimOrUnits: "Ontbrekende dimensie of zijn eenheden voor %1", + TokenNotFoundForCommand: "Kon %1 niet vinden voor %2", + MathNotTerminated: "Math niet afgerond in een tekstblok", + IllegalMacroParam: "Niet toegestane macroparameterverwijzing", + MaxBufferSize: "MathJax interne bufferomvang overschreden; is er een recursieve macro-aanroep?", + CommandNotAllowedInEnv: "%1 niet toegestaan in de omgeving %2", + MultipleLabel: "Label \"%1\" meerdere keren gedefinieerd", + CommandAtTheBeginingOfLine: "%1 moet aan het begin van een regel staan", + IllegalAlign: "Niet toegestane uitlijning gespecificeerd in %1", + BadMathStyleFor: "Foute wiskundige stijl voor %1", + PositiveIntegerArg: "Het argument voor %1 moet een positief geheel getal zijn", + ErroneousNestingEq: "Foutief nesten van vergelijkingsstructuren", + MultlineRowsOneCol: "De regels in de omgeving %1 moeten precies \u00E9\u00E9n kolom bevatten", + MultipleBBoxProperty: "%1 twee keer gespecificeerd in %2", + InvalidBBoxProperty: "\"%1\" lijkt niet op een kleur, een opvuldimensie of een stijl", + ExtraEndMissingBegin: "Overtollige %1 of ontbrekende \\begingroup", + GlobalNotFollowedBy: "%1 niet gevolgd door \\let, \\def of \\newcommand", + UndefinedColorModel: "Kleurmodel \"%1\" niet gedefinieerd", + ModelArg1: "Kleurwaardes voor het %1 model hebben 3 getallen nodig", + InvalidDecimalNumber: "Ongeldig decimaal getal", + ModelArg2: "Kleurwaardes voor het model %1 moeten tussen %2 en %3 liggen", + InvalidNumber: "Ongeldig getal", + NewextarrowArg1: "Eerste argument voor %1 moet een bewerkingsvolgorde naam zijn.", + NewextarrowArg2: "Tweede argument voor %1 moet twee gehele getallen zijn, gescheiden door een komma", + NewextarrowArg3: "Derde argument voor %1 moet een Unicodekarakternummer zijn", + NoClosingChar: "Kan afsluitende %1 niet vinden", + IllegalControlSequenceName: "Niet toegestane bewerkingsvolgordenaam voor %1", + IllegalParamNumber: "Niet toegestane getallen of parameters gespecificeerd in %1", + MissingCS: "%1 moet gevolgd worden door een bewerkingsvolgorde", + CantUseHash2: "Niet toegestaan gebruik van # in een sjabloon voor %1", + SequentialParam: "Parameters voor %1 moeten opeenvolgend genummerd zijn", + MissingReplacementString: "Ontbrekende vervangende tekst voor definitie van %1", + MismatchUseDef: "Gebruik van %1 stemt niet overeen met zijn definitie", + RunawayArgument: "Ontsnapt argument voor %1?", + NoClosingDelim: "Kan afsluitende scheidingsteken voor %1 niet vinden" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/nl.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/nl.js new file mode 100644 index 00000000..b30be144 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/nl.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/nl/nl.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl",null,{ + menuTitle: "Nederlands", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax heeft een gebruikersconfiguratie cookie aangetroffen dat code bevat die uitgevoerd moet worden. Wilt u deze uitvoeren?\n\\n\n(U zou op annuleren moeten drukken tenzij u het cookie zelf ingesteld heeft.)", + MathProcessingError: "Mathverwerkingsfout", + MathError: "Mathfout", + LoadFile: "Bezig met laden van %1", + Loading: "Bezig met laden", + LoadFailed: "Het bestand kon niet geladen worden: %1", + ProcessMath: "Berekening aan het verwerken: %1%%", + Processing: "Bezig met verwerken", + TypesetMath: "Berekening aan het opmaken: %1%%", + Typesetting: "Opmaken", + MathJaxNotSupported: "Uw browser ondersteunt MathJax niet", + ErrorTips: "Debugtips: gebruik %%1, inspecteer %%2 in de console van de browser" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/nl.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/FontWarnings.js new file mode 100644 index 00000000..7188b597 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/oc/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HTML-CSS.js new file mode 100644 index 00000000..36a7b9ec --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/oc/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HelpDialog.js new file mode 100644 index 00000000..700242f5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/oc/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathML.js new file mode 100644 index 00000000..076af622 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/oc/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathMenu.js new file mode 100644 index 00000000..6b0c4f2a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathMenu.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/localization/oc/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Afichar jos la forma", + MathMLcode: "C\u00F2di MathML", + OriginalMathML: "MathML d\u2019origina", + TeXCommands: "Comandas TeX", + AsciiMathInput: "entrada AsciiMathML", + Original: "Format d'origina", + ErrorMessage: "Messatge d\u2019error", + Annotation: "Anotacion", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML de contengut", + OpenMath: "OpenMath", + texHints: "Afichar las ajudas TeX en MathML", + Settings: "Parametratges dels maths", + ZoomTrigger: "Desenclavador de zoom", + Hover: "Susv\u00F2l", + Click: "Clic", + DoubleClick: "Clic doble", + NoZoom: "Pas de zoom", + TriggerRequires: "Lo desenclavador necessita :", + Option: "Opcion", + Alt: "Alt", + Command: "Comanda", + Control: "Contrar\u00F2tle", + Shift: "Shift", + ZoomFactor: "Factor de grossiment", + Renderer: "Rendut matematic", + MPHandles: "Daissar MathPlayer gerir :", + MenuEvents: "Eveniments de men\u00FA", + MouseEvents: "Eveniments de mirga", + FontPrefs: "Prefer\u00E9ncias de poli\u00E7a", + ForHTMLCSS: "Per HTML-CSS :", + Auto: "Auto", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imatge)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Men\u00FA contextual", + Browser: "Navigador", + Locale: "Lenga", + LoadLocale: "Cargar dempu\u00E8i l\u2019URL\u2026", + About: "A prepaus de MathJax", + Help: "Ajuda de MathJax", + localTeXfonts: "utilizar las poli\u00E7as TeX localas", + webTeXfonts: "utilizar las poli\u00E7as TeX del web", + imagefonts: "utilizar las poli\u00E7as Imatge", + localSTIXfonts: "utilizar las poli\u00E7as STIX localas", + webSVGfonts: "utilizar las poli\u00E7as SVG del web", + genericfonts: "utilizar las poli\u00E7as unicode genericas", + wofforotffonts: "poli\u00E7as woff o otf", + eotffonts: "poli\u00E7as eot", + svgfonts: "poli\u00E7as svg", + Close: "Tampar", + Scale: "Metre totes los maths a l\u2019escala\u2026", + CloseAboutDialog: "Tampar la b\u00F3stia de dial\u00F2g A prepaus de MathJax" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/TeX.js new file mode 100644 index 00000000..32a2b8a3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/oc/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/oc.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/oc.js new file mode 100644 index 00000000..3d64aca3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/oc.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/oc/oc.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc",null,{ + menuTitle: "occitan", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Error de tractament de la formula matematica", + MathError: "Error dins la formula matematica", + LoadFile: "Telecargament de %1", + Loading: "Cargament", + LoadFailed: "Frac\u00E0s del telecargament de %1", + ProcessMath: "Tractament de las formulas : %1%%", + Processing: "Tractament", + TypesetMath: "Composicion de las formulas : %1%%", + Typesetting: "Composicion", + MathJaxNotSupported: "V\u00F2stre navigador sup\u00F2rta pas MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/oc.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/FontWarnings.js new file mode 100644 index 00000000..bc2af541 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/pl/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax u\u017Cywa czcionek Web, aby wy\u015Bwietli\u0107 wzory matematyczne na tej stronie. Pobranie czcionek z sieci zajmuje chwil\u0119. Strona ta mog\u0142aby za\u0142adowa\u0107 si\u0119 szybciej, je\u015Bli zainstalowa\u0142by\u015B czcionki lokalnie w swoim systemie.", + imageFonts: "MathJax u\u017Cywa czcionek obrazkowych zamiast lokalnych lub pobranych z sieci. To powoduje wolniejsze wy\u015Bwietlanie strony oraz uniemo\u017Cliwia wydruk w pe\u0142nej rozdzielczo\u015Bci Twojej drukarki.", + noFonts: "MathJax nie mo\u017Ce zlokalizowa\u0107 czcionek potrzebnych do wy\u015Bwietlenia wzor\u00F3w, a czcionki obrazkowe nie s\u0105 dost\u0119pne. U\u017Cywane s\u0105 wi\u0119c znaki Unicode z nadziej\u0105, \u017Ce Twoja przegl\u0105darka wy\u015Bwietli je poprawnie. Niekt\u00F3re znaki mog\u0105 jednak nie wygl\u0105da\u0107 prawid\u0142owo lub mog\u0105 nie by\u0107 w og\u00F3le wy\u015Bwietlane.", + webFonts: "Wi\u0119kszo\u015B\u0107 nowych przegl\u0105darek umo\u017Cliwia pobieranie czcionek z sieci Web. Aktualizacja Twojej przegl\u0105darki (lub wyb\u00F3r innej) mo\u017Ce polepszy\u0107 jako\u015B\u0107 wy\u015Bwietlanych wzor\u00F3w matematycznych na tej stronie.", + fonts: "MathJax mo\u017Ce u\u017Cy\u0107 albo [czcionek STIX](%1), albo [czcionek MathJax Tex](%2). Pobierz i zainstaluj te czcionki, aby ulepszy\u0107 dzia\u0142anie MathJax.", + STIXPage: "Ta strona wymaga [czcionek STIX](%1). Pobierz i zainstaluj te czcionki, aby ulepszy\u0107 dzia\u0142anie MathJax.", + TeXPage: "Ta strona wymaga [czcionek MathJax Tex](%1). Pobierz i zainstaluj te czcionki, aby ulepszy\u0107 dzia\u0142anie MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HTML-CSS.js new file mode 100644 index 00000000..5aced355 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/pl/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0141aduj\u0119 czcionk\u0119 %1", + CantLoadWebFont: "Nie mo\u017Cna za\u0142adowa\u0107 czcionki %1", + FirefoxCantLoadWebFont: "Firefox nie mo\u017Ce za\u0142adowa\u0107 czcionek ze zdalnego hosta", + CantFindFontUsing: "Nie mo\u017Cna znale\u017A\u0107 w\u0142a\u015Bciwej czcionki u\u017Cywaj\u0105c %1", + WebFontsNotAvailable: "Czcionki internetowe nie dost\u0119pne - zamiast tego u\u017Cywane s\u0105 czcionki obrazkowe" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HelpDialog.js new file mode 100644 index 00000000..6f6eec8e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/pl/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Pomoc MathJax", + MathJax: "*MathJax* to biblioteka Javascript umo\u017Cliwiaj\u0105ca autorom stron Web na zapisywanie wzor\u00F3w matematycznych. Jako u\u017Cytkownik, nie musisz robi\u0107 nic dodatkowo, aby wzory by\u0142y poprawnie wy\u015Bwietlane.", + Browsers: "*Przegl\u0105darki*: MathJax dzia\u0142a z nowymi przegl\u0105darkami, m.in. IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ i wi\u0119kszo\u015Bci\u0105 przegl\u0105darek mobilnych.", + Menu: "*Menu*: MathJax dodaje menu kontekstowe do wzor\u00F3w matematycznych. Kliknij prawym klawiszem myszki (lub lewy klawisz i Ctrl), aby je otworzy\u0107.", + ShowMath: "Opcja *Poka\u017C wzory jako* pozwala zobaczy\u0107 \u017Ar\u00F3d\u0142ow\u0105 posta\u0107 wzor\u00F3w, aby mo\u017Cna by\u0142o je skopiowa\u0107 do schowka.", + Settings: "Opcja *Ustawienia* pozwala kontrolowa\u0107 MathJax, m.in. ustawia\u0107 wielko\u015B\u0107 wzor\u00F3w i zmienia\u0107 mechanizm ich wy\u015Bwietlania.", + Language: "*J\u0119zyk* pozwala wybra\u0107 j\u0119zyk, w jakim wy\u015Bwietlane jest menu oraz komunikaty o b\u0142\u0119dach.", + Zoom: "*Powi\u0119kszanie*: Je\u017Celi masz problem z odczytaniem wzoru, MathJax mo\u017Ce zwi\u0119kszy\u0107 wielko\u015B\u0107 liter, aby \u0142atwiej by\u0142o go odczyta\u0107.", + Accessibilty: "*Dost\u0119pno\u015B\u0107*: MathJax dzia\u0142a automatycznie z czytnikami ekranowymi, aby wzory matematyczne by\u0142y dost\u0119pne dla niedowidz\u0105cych.", + Fonts: "*Czcionki*: MathJax u\u017Cyje czcionek matematycznych zainstalowanych w Twoim systemie. Je\u017Celi ich nie masz, to u\u017Cyje czcionek Web. Nie jest to wymagane, ale lokalnie dost\u0119pne czcionki przyspiesz\u0105 dzia\u0142anie MathJax. Sugerujemy zainstalowanie czcionek [STIX](%1).", + CloseDialog: "Zamknij okno pomocy" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathML.js new file mode 100644 index 00000000..81229ce5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/pl/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "B\u0142\u0105d w elemencie mglyph: %1", + BadMglyphFont: "B\u0142\u0119dna czcionka: %1", + MathPlayer: "MathJax nie m\u00F3g\u0142 uruchomi\u0107 MathPlayer.\n\nJe\u015Bli MathPlayer nie jest zainstalowany, musisz go najpierw zainstalowa\u0107.\nW przeciwnym razie, twoje ustawienia bezpiecze\u0144stwa mog\u0105 blokowa\u0107 dzia\u0142anie\nformant\u00F3w ActiveX. W Opcjach internetowych, w menu Narz\u0119dzia wybierz zak\u0142adk\u0119\nZabezpieczenia i naci\u015Bnij przycisk Poziom niestandardowy. Upewnij si\u0119, \u017Ce ustawienia\ndotycz\u0105ce ActiveX oraz skrypt\u00F3w s\u0105 w\u0142\u0105czone.\n\nDo tego czasu b\u0119d\u0105 wy\u015Bwietlane b\u0142\u0119dy zamiast wzor\u00F3w matematycznych.", + CantCreateXMLParser: "MathJax nie mo\u017Ce utworzy\u0107 parsera XML dla MathML. Upewnij si\u0119, \u017Ce\nopcja 'Wykonywanie skrypt\u00F3w formant\u00F3w ActiveX' jest w\u0142\u0105czona\n(sprawd\u017A to w Opcjach internetowych w menu Narz\u0119dzia,\nw zak\u0142adce Zabezpieczenia kliknij na przycisk Poziom niestandardowy).\n\nDo tego czasu b\u0119d\u0105 wy\u015Bwietlane b\u0142\u0119dy zamiast wzor\u00F3w matematycznych.", + UnknownNodeType: "Nieznany typ elementu: %1", + UnexpectedTextNode: "Nieoczekiwany element tekstowy: %1", + ErrorParsingMathML: "B\u0142\u0105d podczas przetwarzania MathML", + ParsingError: "B\u0142\u0105d podczas przetwarzania MathML: %1", + MathMLSingleElement: "MathML musi by\u0107 zamkni\u0119ty w pojedynczym elemencie", + MathMLRootElement: "MathML musi by\u0107 zamkni\u0119ty w elemencie \u003Cmath\u003E, a nie %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathMenu.js new file mode 100644 index 00000000..5ecaaed2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/pl/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Poka\u017C wzory jako", + MathMLcode: "Kod MathML", + OriginalMathML: "Oryginalny MathML", + TeXCommands: "Polecenia TeX", + AsciiMathInput: "Wej\u015Bcie AsciiMathML", + Original: "Oryginalny formularz", + ErrorMessage: "Komunikat o b\u0142\u0119dzie", + Annotation: "Adnotacja", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Zawarto\u015B\u0107 MathML", + OpenMath: "OpenMath", + texHints: "Poka\u017C wskaz\u00F3wki TeX w MathML", + Settings: "Ustawienia wzor\u00F3w", + ZoomTrigger: "Zwi\u0119kszanie zoomu", + Hover: "poprzez najechanie mysz\u0105", + Click: "poprzez klikni\u0119cie", + DoubleClick: "poprzez dwukrotnie klikni\u0119cie", + NoZoom: "Bez zoomu", + TriggerRequires: "Aktywacja wymaga:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "Wsp\u00F3\u0142czynnik powi\u0119kszenia", + Renderer: "Renderowanie wzor\u00F3w", + MPHandles: "Obs\u0142u\u017C MathPlayer", + MenuEvents: "Zdarzenia menu", + MouseEvents: "Zdarzenia myszy", + MenuAndMouse: "Zdarzenia myszy i menu", + FontPrefs: "Ustawienia czcionek", + ForHTMLCSS: "Dla HTML-CSS:", + Auto: "Automatycznie", + TeXLocal: "TeX (lokalny)", + TeXWeb: "TeX (www)", + TeXImage: "TeX (obraz)", + STIXLocal: "STIX (lokalny)", + ContextMenu: "Menu kontekstowe", + Browser: "Przegl\u0105darka", + Scale: "Skalowanie wszystkich wzor\u00F3w...", + Discoverable: "Podkre\u015Bl po najechaniu kursora", + Locale: "J\u0119zyk", + LoadLocale: "Pobierz z URL...", + About: "O MathJax", + Help: "Pomoc MathJax", + localTeXfonts: "U\u017Cyj lokalnej czcionki TeX", + webTeXfonts: "U\u017Cyj internetowej czcionki TeX", + imagefonts: "U\u017Cyj czcionki obrazkowej", + localSTIXfonts: "U\u017Cyj lokalnej czcionki STIX", + webSVGfonts: "U\u017Cyj internetowej czcionki SVG", + genericfonts: "U\u017Cyj generowanej czcionki unicode", + wofforotffonts: "czcionki WOFF lub OTF", + eotffonts: "czcionki EOT", + svgfonts: "czcionki SVG", + WebkitNativeMMLWarning: "Twoja przegl\u0105darka nie obs\u0142uguje MathML, wi\u0119c zmiana wyj\u015Bcia do MathML mo\u017Ce spowodowa\u0107, \u017Ce strona stanie si\u0119 niemo\u017Cliwa do odczytania.", + MSIENativeMMLWarning: "Program Internet Explorer wymaga wtyczki MathPlayer do procesu wy\u015Bwietlania MathML.", + OperaNativeMMLWarning: "Wsparcie dla MathML w Operze jest ograniczone. W zwi\u0105zku z tym zmiana wyj\u015Bcia na MathML mo\u017Ce spowodowa\u0107, \u017Ce niekt\u00F3re strony b\u0119d\u0105 niemo\u017Cliwe do odczytania.", + SafariNativeMMLWarning: "MathML zaimplementowany w twojej przegl\u0105darce nie obs\u0142uguje wszystkich mo\u017Cliwo\u015Bci MathJax, wi\u0119c cz\u0119\u015B\u0107 wyra\u017Cen mo\u017Ce nie renderowa\u0107 si\u0119 poprawnie.", + FirefoxNativeMMLWarning: "MathML zaimplementowany w twojej przegl\u0105darce nie obs\u0142uguje wszystkich mo\u017Cliwo\u015Bci MathJax, wi\u0119c cz\u0119\u015B\u0107 wyra\u017Ce\u0144 mo\u017Ce nie renderowa\u0107 si\u0119 poprawnie.", + MSIESVGWarning: "SVG nie jest zaimplementowane w Internet Explorerze do wersji 9 lub podczas emulowania IE8 lub poni\u017Cej, wi\u0119c zmiana wyj\u015Bcia do SVG mo\u017Ce spowodowa\u0107, \u017Ce strona stanie si\u0119 niemo\u017Cliwa do odczytania.", + LoadURL: "Za\u0142aduj t\u0142umaczenie z tego URL:", + BadURL: "Adres URL powinien by\u0107 dla pliku JavaScript, kt\u00F3ry definiuje dane t\u0142umaczenie MathJax. Pliki JavaScript powinny ko\u0144czy\u0107 si\u0119 \".js\"", + BadData: "Nie mo\u017Cna za\u0142adowa\u0107 danych t\u0142umacze\u0144 z %1", + SwitchAnyway: "Na pewno zmieni\u0107 renderer ?\n\n(Naci\u015Bnij OK a\u017Ceby zmieni\u0107, lub CANCEL aby kontynuowa\u0107 z aktualnym rendererem)", + ScaleMath: "Skaluj wszystkie wzory matematyczne (por\u00F3wnane do otaczaj\u0105cego tekstu) przez", + NonZeroScale: "Warto\u015B\u0107 nie powinna by\u0107 zerowa", + PercentScale: "Warto\u015B\u0107 powinna by\u0107 w procentach (na przyk\u0142ad 120%%)", + IE8warning: "Ta opcja wy\u0142\u0105czy obs\u0142ug\u0119 menu i powi\u0119kszania w MathJax, ale mo\u017Cesz klikn\u0105\u0107 z Altem na wz\u00F3r, aby otworzy\u0107 menu MathJax.\n\nCzy na pewno chcesz zmieni\u0107 ustawienia MathPlayer?", + IE9warning: "Menu kontekstowe MathJax zostanie wy\u0142\u0105czone, ale mo\u017Cesz klikn\u0105\u0107 z Altem na wz\u00F3r, aby otworzy\u0107 menu.", + NoOriginalForm: "Brak wzor\u00F3w w oryginalnej postaci", + Close: "Zamknij", + EqSource: "\u0179r\u00F3d\u0142o wzoru MathJax", + STIXWeb: "STIX (www)", + AsanaMathWeb: "Asana Math (www)", + GyrePagellaWeb: "Gyre Pagella (www)", + GyreTermesWeb: "Gyre Termes (www)", + LatinModernWeb: "Latin Modern (www)", + NeoEulerWeb: "Neo Euler (www)", + CloseAboutDialog: "Zamknij okno o MathJax", + FastPreview: "Szybki podgl\u0105d strony", + AssistiveMML: "Asystuj\u0105cy MathML", + InTabOrder: "Zawarty w kolejno\u015Bci stron" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/TeX.js new file mode 100644 index 00000000..317427e5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/pl/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Nadmiarowy nawias otwieraj\u0105cy lub brakuj\u0105cy nawias zamykaj\u0105cy", + ExtraCloseMissingOpen: "Nadmiarowy nawias zamykaj\u0105cy lub brakuj\u0105cy nawias otwieraj\u0105cy", + MissingLeftExtraRight: "Brakuj\u0105cy \\left lub nadmiarowy \\right", + MissingScript: "Brakuj\u0105cy argument dla indeksu dolnego lub g\u00F3rnego", + ExtraLeftMissingRight: "Nadmiarowy \\left lub brakuj\u0105cy \\right", + Misplaced: "\u0179le umiejscowiony %1", + MissingOpenForSub: "Brakuj\u0105cy nawias otwieraj\u0105cy dla indeksu dolnego", + MissingOpenForSup: "Brakuj\u0105cy nawias otwieraj\u0105cy dla indeksu g\u00F3rnego", + AmbiguousUseOf: "Niejednoznaczne u\u017Cycie %1", + EnvBadEnd: "\\begin{%1} zosta\u0142 zako\u0144czony \\end{%2}", + EnvMissingEnd: "Brakuj\u0105ce \\end{%1}", + MissingBoxFor: "Brakuj\u0105ce pude\u0142ko (box) dla %1", + MissingCloseBrace: "Brakuj\u0105cy nawias zamykaj\u0105cy", + UndefinedControlSequence: "Nieznana komenda steruj\u0105ca %1", + DoubleExponent: "Podw\u00F3jna pot\u0119ga: u\u017Cyj nawias\u00F3w, aby unikn\u0105\u0107 niejednoznaczno\u015Bci", + DoubleSubscripts: "Podw\u00F3jny indeks: u\u017Cyj nawias\u00F3w, aby unikn\u0105\u0107 niejednoznaczno\u015Bci", + DoubleExponentPrime: "Znak ' oznacza podw\u00F3jny wyk\u0142adnik: u\u017Cyj nawias\u00F3w, aby unikn\u0105\u0107 niejednoznaczno\u015Bci", + CantUseHash1: "Nie mo\u017Cesz u\u017Cywa\u0107 znaku parametru makra # w trybie matematycznym", + MisplacedMiddle: "%1 musi by\u0107 pomi\u0119dzy \\left i \\right", + MisplacedLimits: "%1 jest dozwolony tylko dla operator\u00F3w", + MisplacedMoveRoot: "%1 mo\u017Ce pojawi\u0107 si\u0119 tylko w ramach korzenia (root)", + MultipleCommand: "Wielokrotny %1", + IntegerArg: "Parametr dla %1 musi by\u0107 liczb\u0105 ca\u0142kowit\u0105", + NotMathMLToken: "%1 nie jest elementem typu token", + InvalidMathMLAttr: "Nieprawid\u0142owy atrybut MathML: %1", + UnknownAttrForElement: "%1 nie jest znanym atrybutem dla %2", + MaxMacroSub1: "Przekroczono maksymaln\u0105 liczb\u0119 wywo\u0142a\u0144 makra; czy wyst\u0119puje rekursywne makro?", + MaxMacroSub2: "Przekroczono maksymaln\u0105 liczb\u0119 zast\u0105pie\u0144 MathJax; czy wyst\u0119puje rekursywne \u015Brodowisko LaTeX?", + MissingArgFor: "Brakuje argumentu dla %1", + ExtraAlignTab: "Nadmiarowy tabulator w \\cases", + BracketMustBeDimension: "Argument w nawiasie dla %1 musi by\u0107 wymiarem", + InvalidEnv: "Nieznana nazwa \u015Brodowiska '%1'", + UnknownEnv: "Nieznane \u015Brodowisko '%1'", + ExtraCloseLooking: "Nadmiarowy nawias zamykaj\u0105cy napotkany w czasie poszukiwania %1", + MissingCloseBracket: "Nie odnaleziono zamykaj\u0105cego nawiasu ']' dla argumentu dla %1", + MissingOrUnrecognizedDelim: "Nieodnaleziony lub nierozpoznany separator dla %1", + MissingDimOrUnits: "Brakuje wymiaru lub jego jednostki dla %1", + TokenNotFoundForCommand: "Nie odnaleziono %1 dla %2", + MathNotTerminated: "Nie odnaleziono zako\u0144czenia w polu tekstowym", + IllegalMacroParam: "Nieprawid\u0142owa referencja do parametru makra", + MaxBufferSize: "Przekroczono rozmiar bufora MathJax, czy istnieje rekursywne wywo\u0142anie makra?", + CommandNotAllowedInEnv: "%1 nie jest dozwolony w \u015Brodowisku %2", + MultipleLabel: "Wielokrotna definicja etykiety '%1'", + CommandAtTheBeginingOfLine: "%1 musi znajdowa\u0107 si\u0119 na pocz\u0105tku linii", + IllegalAlign: "Nieprawid\u0142owy argument dla %1", + BadMathStyleFor: "B\u0142\u0119dny styl dla %1", + PositiveIntegerArg: "Argument dla %1 musi by\u0107 dodatni\u0105 liczb\u0105 ca\u0142kowit\u0105", + ErroneousNestingEq: "B\u0142\u0119dne zagnie\u017Cd\u017Cenie wyra\u017Ce\u0144", + MultlineRowsOneCol: "Wiersze w \u015Brodowisku %1 musz\u0105 mie\u0107 dok\u0142adnie jedn\u0105 kolumn\u0119", + MultipleBBoxProperty: "%1 okre\u015Blony dwa razy w %2", + InvalidBBoxProperty: "'%1' nie jest kolorem, wielko\u015Bci\u0105 odst\u0119pu, ani stylem", + ExtraEndMissingBegin: "Nadmiarowy %1 lub brakuj\u0105cy \\begingroup", + GlobalNotFollowedBy: "Po %1 nie wyst\u0119puje \\let, \\def, ani \\newcommand", + UndefinedColorModel: "Przestrze\u0144 barw '%1' nie jest zdefiniowana", + ModelArg1: "Warto\u015Bci kolor\u00F3w dla przestrzeni %1 wymagaj\u0105 3 liczb", + InvalidDecimalNumber: "Nieprawid\u0142owe liczba dziesi\u0119tna", + ModelArg2: "Warto\u015Bci kolor\u00F3w dla przestrzeni %1 musz\u0105 by\u0107 pomi\u0119dzy %2 i %3", + InvalidNumber: "B\u0142\u0119dna liczba", + NewextarrowArg1: "Pierwszy argument dla %1 musi by\u0107 nazw\u0105 sekwencji kontrolnej", + NewextarrowArg2: "Drugi argumentem dla %1 musz\u0105 by\u0107 dwie liczby ca\u0142kowite oddzielone przecinkiem", + NewextarrowArg3: "Trzeci argument dla %1 musi by\u0107 numerem znaku unicode", + NoClosingChar: "Nie mo\u017Cna odnale\u017A\u0107 zamykaj\u0105cego %1", + IllegalControlSequenceName: "Nieprawid\u0142owa nazwa sekwencji kontrolnej dla %1", + IllegalParamNumber: "Nieprawid\u0142owa liczba parametr\u00F3w dla %1", + MissingCS: "Po %1 musi wyst\u0105pi\u0107 sekwencja kontrolna", + CantUseHash2: "Nieprawid\u0142owe u\u017Cycie # w szablonie dla %1", + SequentialParam: "Parametry dla %1 musz\u0105 by\u0107 ponumerowane rosn\u0105co", + MissingReplacementString: "Brak \u0142a\u0144cucha zamiennego dla definicji %1", + MismatchUseDef: "U\u017Cycie %1 niezgodne z definicj\u0105", + RunawayArgument: "Zgin\u0105\u0142 argument dla %1?", + NoClosingDelim: "Nie mo\u017Cna znale\u017A\u0107\u00A0ko\u0144cz\u0105cego separatora dla %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/pl.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/pl.js new file mode 100644 index 00000000..fc8661d2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/pl.js @@ -0,0 +1,64 @@ +/************************************************************* + * + * MathJax/localization/pl/pl.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl",null,{ + menuTitle: "polski", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax znalaz\u0142 konfiguracj\u0119 zapisan\u0105 w ciasteczku, kt\u00F3ra zawiera kod do uruchomienia. Czy chcesz go uruchomi\u0107?\n\n(Powiniene\u015B nacisn\u0105\u0107 Anuluj, je\u015Bli to nie Ty stworzy\u0142e\u015B t\u0119 konfiguracj\u0119.)", + MathProcessingError: "B\u0142\u0105d podczas przetwarzania wzor\u00F3w matematycznych", + MathError: "B\u0142\u0105d we wzorze matematycznym", + LoadFile: "\u0141aduj\u0119 %1", + Loading: "\u0141aduj\u0119", + LoadFailed: "Nie uda\u0142o si\u0119 za\u0142adowa\u0107 pliku: %1", + ProcessMath: "Przetwarzam wzory matematyczne: %1%%", + Processing: "Przetwarzam", + TypesetMath: "Przetwarzam wzory matematyczne: %1%%", + Typesetting: "Przetwarzam", + MathJaxNotSupported: "Twoja przegl\u0105darka nie obs\u0142uguje MathJax", + ErrorTips: "Porady debugowania: u\u017Cyj %%1, sprawd\u017A %%2 w konsoli przegl\u0105darki." + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n == 1) { + return 1; + } else if (n % 10 >=2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20)) { + return 2; + } else { + return 3; + } + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/pl.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/FontWarnings.js new file mode 100644 index 00000000..1d624bf6 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/pt-br/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "O MathJax est\u00E1 utilizando fontes baseadas em web para exibir as f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina. O download delas leva algum tempo, ent\u00E3o a p\u00E1gina seria renderizada mais rapidamente se voc\u00EA instalasse as fontes para matem\u00E1tica diretamente na pasta de fontes do seu sistema.", + imageFonts: "O MathJax est\u00E1 utilizando fontes feitas com imagens em vez de fontes locais ou baseadas em web. Isso torna a renderiza\u00E7\u00E3o mais lenta do que o de costume, e as f\u00F3rmulas matem\u00E1ticas poder\u00E3o n\u00E3o ser impressas com a maior resolu\u00E7\u00E3o dispon\u00EDvel em sua impressora.", + noFonts: "O MathJax n\u00E3o foi capaz de localizar uma fonte para utilizar ao renderizar as f\u00F3rmulas matem\u00E1ticas, e n\u00E3o est\u00E3o dispon\u00EDveis fontes feitas com imagens, ent\u00E3o ser\u00E3o utilizados caracteres unicode gen\u00E9ricos com a esperan\u00E7a de que o seu navegador seja capaz de exib\u00ED-los. Alguns caracteres podem n\u00E3o aparecer como deveriam, ou simplesmente desaparecer.", + webFonts: "A maioria dos navegadores modernos permite que as fontes sejam baixadas a partir da web. Atualizar para uma vers\u00E3o mais recente do seu navegador (ou mudar de navegador) poderia melhorar a qualidade das f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina.", + fonts: "O MathJax pode usar tanto [fontes STIX](%1) ou as [fontes MathJax TeX](%2). Baixe e instale uma destas fontes para melhorar sua experi\u00EAncia com o MathJax.", + STIXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes STIX](%1). Baixe e instale estas fontes para melhorar sua experi\u00EAncia com o MathJax.", + TeXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes MathJax TeX](%1). Baixe e instale estas fontes para melhorar sua experi\u00EAncia com o MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HTML-CSS.js new file mode 100644 index 00000000..c6a8f01c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/pt-br/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Carregando fonte baseada em web %1", + CantLoadWebFont: "N\u00E3o foi poss\u00EDvel carregar a fonte baseada em web %1", + FirefoxCantLoadWebFont: "O Firefox N\u00E3o pode carregar fontes baseadas em web a partir de um host remoto", + CantFindFontUsing: "N\u00E3o \u00E9 poss\u00EDvel encontrar uma fonte v\u00E1lida usando %1", + WebFontsNotAvailable: "Fontes baseadas em web n\u00E3o est\u00E3o dispon\u00EDveis -- usando fontes feitas com imagens em vez disso" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HelpDialog.js new file mode 100644 index 00000000..6fcd7a80 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/pt-br/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Ajuda do MathJax", + MathJax: "*MathJax* \u00E9 uma biblioteca em JavaScript que permite aos autores a inclus\u00E3o de conte\u00FAdo matem\u00E1tico em suas p\u00E1ginas web. Como um renderizador, voc\u00EA n\u00E3o precisa fazer nada para que isso ocorra.", + Browsers: "*Navegadores*: O MathJax funciona em todos os navegadores modernos incluindo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e a maioria dos navegadores para dispositivos m\u00F3veis.", + Menu: "*Menu de F\u00F3rmulas*: O MathJax acrescenta um menu de contexto \u00E0s equa\u00E7\u00F5es. Clique com o bot\u00E3o direito ou pressione CTRL ao clicar em qualquer f\u00F3rmula matem\u00E1tica para acessar o menu.", + ShowMath: "*Mostrar F\u00F3rmulas Como* permite que visualize o c\u00F3digo da f\u00F3rmula para copiar e colar (como MathML ou em seu formato original).", + Settings: "*Configura\u00E7\u00F5es* oferecem a voc\u00EA o controle sobre os recursos do MathJax, tais como o tamanho das f\u00F3rmulas, e o mecanismo utilizado para exibir equa\u00E7\u00F5es.", + Language: "*Idioma* permite que escolha o idioma que o MathJax utiliza em seus menus e mensagens de aviso.", + Zoom: "*Zoom nas F\u00F3rmulas*: Se voc\u00EA tem dificuldade para ler uma equa\u00E7\u00E3o, o MathJax pode ampli\u00E1-la para ajud\u00E1-lo a visualiz\u00E1-la melhor.", + Accessibilty: "*Acessibilidade*: O MathJax funcionar\u00E1 automaticamente em leitores de tela para tornar as f\u00F3rmulas matem\u00E1ticas acess\u00EDveis aos que possuem problemas de vis\u00E3o.", + Fonts: "*Fontes*: O MathJax utilizar\u00E1 certas fontes para f\u00F3rmulas matem\u00E1ticas se elas estiverem instaladas no seu computador; caso contr\u00E1rio, ele utilizar\u00E1 fontes baseadas em web. Embora n\u00E3o seja obrigat\u00F3rio, o uso de fontes instaladas localmente acelerar\u00E1 a diagrama\u00E7\u00E3o. Sugerimos que instale [fontes STIX](%1).", + CloseDialog: "Fechar caixa de ajuda" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathML.js new file mode 100644 index 00000000..9e36d9de --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/pt-br/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Mglyph ruim: %1", + BadMglyphFont: "Fonte ruim: %1", + MathPlayer: "O MathJax n\u00E3o foi capaz de configurar o MathPlayer.\n\nSe o MathPlayer n\u00E3o estiver instalado, precisar\u00E1 instal\u00E1-lo primeiro.\nCaso contr\u00E1rio, suas configura\u00E7\u00F5es de seguran\u00E7a podem estar prevenindo a execu\u00E7\u00E3o\nde controles ActiveX. Use as Op\u00E7\u00F5es de Internet sob\no menu Ferramentas e selecione a aba de Seguran\u00E7a ent\u00E3o pressione o bot\u00E3o N\u00EDvel Personalizado. Confira se as configura\u00E7\u00F5es para 'Execu\u00E7\u00E3o de Controles ActiveX', e 'Comportamento de scripts e c\u00F3digos bin\u00E1rios'\nest\u00E3o ativadas.\n\nAtualmente voc\u00EA ver\u00E1 mensagens de erro em vez da \ndiagrama\u00E7\u00E3o das f\u00F3rmulas matem\u00E1ticas.", + CantCreateXMLParser: "O MathJax n\u00E3o pode criar um interpretador de XML para o MathML. Confira se\na configura\u00E7\u00E3o de seguran\u00E7a 'Controles de Script ActiveX marcados como seguros para scripting'\nest\u00E1 habilitado (use as Op\u00E7\u00F5es de Internet no menu \nFerramentas, e selecione o painel de Seguran\u00E7a, depois pressione o bot\u00E3o N\u00EDvel Personalizado\npara conferir isso).\n\nAs equa\u00E7\u00F5es em MathML n\u00E3o poder\u00E3o ser processadas pelo MathJax.", + UnknownNodeType: "Tipo de n\u00F3 desconhecido: %1", + UnexpectedTextNode: "N\u00F3 de texto inesperado: %1", + ErrorParsingMathML: "Erro ao interpretar MathML", + ParsingError: "Erro ao interpretar MathML: %1", + MathMLSingleElement: "MathML deve ser formado por um \u00FAnico elemento", + MathMLRootElement: "MathML deve ser formado por um elemento \u003Cmath\u003E, n\u00E3o %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathMenu.js new file mode 100644 index 00000000..c026fbd9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/pt-br/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Mostrar F\u00F3rmulas Como", + MathMLcode: "C\u00F3digo MathML", + OriginalMathML: "MathML original", + TeXCommands: "Comandos TeX", + AsciiMathInput: "Entrada AsciiMathML", + Original: "Formato original", + ErrorMessage: "Mensagem de erro", + Annotation: "Anota\u00E7\u00E3o", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML do conte\u00FAdo", + OpenMath: "OpenMath", + texHints: "Mostrar dicas de TeX em MathML", + Settings: "Configura\u00E7\u00F5es das f\u00F3rmulas", + ZoomTrigger: "Disparador do zoom", + Hover: "Passar o mouse", + Click: "Clique", + DoubleClick: "Clique duplo", + NoZoom: "Sem zoom", + TriggerRequires: "O Disparador Requer:", + Option: "Op\u00E7\u00E3o", + Alt: "Alt", + Command: "Comando", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Fator de zoom", + Renderer: "Renderizador das F\u00F3rmulas", + MPHandles: "Deixe que o MathPlayer resolva:", + MenuEvents: "Eventos de Menu", + MouseEvents: "Eventos de Mouse", + MenuAndMouse: "Eventos de Mouse e de Menu", + FontPrefs: "Prefer\u00EAncias de Fontes", + ForHTMLCSS: "Para HTML-CSS:", + Auto: "Autom\u00E1tico", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imagem)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (Web)", + AsanaMathWeb: "Asana Math (Web)", + GyrePagellaWeb: "Gyre Pagella (Web)", + GyreTermesWeb: "Gyre Termes (Web)", + LatinModernWeb: "Latim Moderno (Web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Menu de Contexto", + Browser: "Navegador", + Scale: "Redimensionar Todas as F\u00F3rmulas ...", + Discoverable: "Destacar ao Passar o Mouse", + Locale: "Idioma", + LoadLocale: "Carregar a partir de URL ...", + About: "Sobre o MathJax", + Help: "Ajuda do MathJax", + localTeXfonts: "usando fontes TeX locais", + webTeXfonts: "usando fontes TeX da web", + imagefonts: "usando fontes feitas com imagens", + localSTIXfonts: "usando fontes STIX locais", + webSVGfonts: "usando fontes SVG da web", + genericfonts: "usando fontes unicode gen\u00E9ricas", + wofforotffonts: "fontes WOFF ou OTF", + eotffonts: "fontes EOT", + svgfonts: "fontes SVG", + WebkitNativeMMLWarning: "Parece que seu navegador n\u00E3o oferece suporte nativo ao MathML, ent\u00E3o a mudan\u00E7a para a sa\u00EDda do MathML pode tornar ileg\u00EDveis as f\u00F3rmulas matem\u00E1ticas da p\u00E1gina.", + MSIENativeMMLWarning: "O Internet Explorer requer o plugin MathPlayer para processar MathML.", + OperaNativeMMLWarning: "O suporte ao MathML no Opera \u00E9 limitado, ent\u00E3o a mudan\u00E7a para MathML pode piorar a renderiza\u00E7\u00E3o de algumas express\u00F5es.", + SafariNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", + FirefoxNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", + MSIESVGWarning: "N\u00E3o h\u00E1 uma implementa\u00E7\u00E3o de SVG nas vers\u00F5es do Internet Explorer anteriores ao IE9 ou quando ele est\u00E1 emulando o IE8 ou as vers\u00F5es anteriores. A mudan\u00E7a para SVG far\u00E1 com que as f\u00F3rmulas n\u00E3o sejam exibidas adequadamente.", + LoadURL: "Carregar os dados de tradu\u00E7\u00E3o a partir desta URL:", + BadURL: "A URL deve ser para um um arquivo de javascript que defina os dados de tradu\u00E7\u00E3o do MathJax. Os nomes dos arquivos de Javascript devem terminar com '.js'", + BadData: "Falha ao carregar os dados de tradu\u00E7\u00E3o de %1", + SwitchAnyway: "Mudar para este renderizador mesmo assim?\n\n(Pressione OK para mudar, CANCELAR para continuar com o renderizador atual)", + ScaleMath: "Redimensionar todas as f\u00F3rmulas matem\u00E1ticas (em rela\u00E7\u00E3o ao texto \u00E0 sua volta) em", + NonZeroScale: "A escala n\u00E3o deve ser zero", + PercentScale: "A escala deve ser uma porcentagem (por exemplo, 120%%)", + IE8warning: "Isto desabilitar\u00E1 o menu MathJax e os recursos de zoom, mas voc\u00EA poder\u00E1 usar Alt-Clique em uma express\u00E3o para obter o menu MathJax em vez disso.\n\nRealmente alterar as configura\u00E7\u00F5es do MathPlayer?", + IE9warning: "O menu de contexto do MathJax ser\u00E1 desabilitado, mas voc\u00EA pode usar Alt-Clique em uma express\u00E3o para obter o menu MathJax em vez disso.", + NoOriginalForm: "Sem formulario original dispon\u00EDvel", + Close: "Fechar", + EqSource: "Fonte da Equa\u00E7\u00E3o do MathJax", + CloseAboutDialog: "Fechar caixa sobre MathJax", + FastPreview: "Pr\u00E9-visualiza\u00E7\u00E3o r\u00E1pida", + AssistiveMML: "MAthML assistiva", + InTabOrder: "Incluir na ordem da guia" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/TeX.js new file mode 100644 index 00000000..2839a8f4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/pt-br/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Sobrou uma chave de abertura ou faltou uma de fechamento", + ExtraCloseMissingOpen: "Sobrou uma chave de fechamento ou faltou uma de abertura", + MissingLeftExtraRight: "Faltou um \\left ou sobrou um \\right", + MissingScript: "Faltou o argumento de um sobrescrito ou de um subscrito", + ExtraLeftMissingRight: "Sobrou um \\left ou faltou um \\right", + Misplaced: "%1 fora do lugar", + MissingOpenForSub: "Faltou uma chave de abertura para o subscrito", + MissingOpenForSup: "Faltou uma chave de abertura para o sobrescrito", + AmbiguousUseOf: "Uso amb\u00EDguo de %1", + EnvBadEnd: "\\begin{%1} foi terminado com \\end{%2}", + EnvMissingEnd: "Faltou \\end{%1}", + MissingBoxFor: "Faltou uma caixa para %1", + MissingCloseBrace: "Faltou uma chave de fechamento", + UndefinedControlSequence: "Sequ\u00EAncia de controle indefinida %1", + DoubleExponent: "Expoente duplo: utilize chaves para esclarecer", + DoubleSubscripts: "Subscrito duplo: utilize chaves para esclarecer", + DoubleExponentPrime: "Prime causa expoente duplo: utilize chaves para esclarecer", + CantUseHash1: "Voc\u00EA n\u00E3o pode usar o caractere # que indica um par\u00E2metro de macro no modo matem\u00E1tico", + MisplacedMiddle: "%1 deve estar entre \\left e \\right", + MisplacedLimits: "%1 s\u00F3 \u00E9 permitido nos operadores", + MisplacedMoveRoot: "%1 pode aparecer somente dentro de uma raiz", + MultipleCommand: "Repeti\u00E7\u00E3o de %1", + IntegerArg: "O argumento de %1 deve ser um inteiro", + NotMathMLToken: "%1 n\u00E3o \u00E9 um elemento de token", + InvalidMathMLAttr: "Atributo MathML inv\u00E1lido: %1", + UnknownAttrForElement: "%1 n\u00E3o \u00E9 um atributo reconhecido para %2", + MaxMacroSub1: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es de macros do MathJax; h\u00E1 alguma chamada a uma macro recursiva?", + MaxMacroSub2: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es do MathJax; h\u00E1 algum ambiente de LaTeX recursivo?", + MissingArgFor: "Faltou um argumento para %1", + ExtraAlignTab: "Sobrou um tab de alinhamento no texto de \\cases", + BracketMustBeDimension: "O argumento nos colchetes de %1 deve ser uma dimens\u00E3o", + InvalidEnv: "Nome de ambiente inv\u00E1lido '%1'", + UnknownEnv: "Ambiente desconhecido '%1'", + ExtraCloseLooking: "Sobrou uma chave de fechamento ao procurar por %1", + MissingCloseBracket: "N\u00E3o foi encontrado um ']' de fechamento para o argumento de %1", + MissingOrUnrecognizedDelim: "O delimitador para %1 est\u00E1 ausente ou n\u00E3o foi reconhecido", + MissingDimOrUnits: "Faltou a dimens\u00E3o ou a unidade de %1", + TokenNotFoundForCommand: "N\u00E3o foi encontrado %1 para %2", + MathNotTerminated: "A f\u00F3rmula n\u00E3o foi terminada na caixa de texto", + IllegalMacroParam: "Refer\u00EAncia inv\u00E1lida a um par\u00E2metro de macro", + MaxBufferSize: "O tamanho do buffer interno do MathJax foi excedido; h\u00E1 alguma chamada a uma macro recursiva?", + CommandNotAllowedInEnv: "%1 n\u00E3o \u00E9 permitido no ambiente %2", + MultipleLabel: "O r\u00F3tulo '%1' foi definido mais de uma vez", + CommandAtTheBeginingOfLine: "%1 deve vir no in\u00EDcio da linha", + IllegalAlign: "Foi especificado um alinhamento ilegal em %1", + BadMathStyleFor: "Estilo de f\u00F3rmulas matem\u00E1ticas ruim para %1", + PositiveIntegerArg: "O argumento para %1 deve ser um numero inteiro positivo", + ErroneousNestingEq: "Aninhamento incorreto de estruturas de equa\u00E7\u00F5es", + MultlineRowsOneCol: "As linhas do ambiente %1 devem ter apenas uma coluna", + MultipleBBoxProperty: "%1 foi especificado duas vezes em %2", + InvalidBBoxProperty: "'%1' n\u00E3o parece ser uma cor, uma dimens\u00E3o para padding, nem um estilo", + ExtraEndMissingBegin: "Sobrou um %1 ou faltou um \\begingroup", + GlobalNotFollowedBy: "%1 n\u00E3o foi seguido por um \\let, \\def, ou \\newcommand", + UndefinedColorModel: "O modelo de cores '%1' n\u00E3o foi definido", + ModelArg1: "Os valores de cor para o modelo %1 exigem 3 n\u00FAmeros", + InvalidDecimalNumber: "N\u00FAmero decimal inv\u00E1lido", + ModelArg2: "Os valores de cor para o modelo %1 devem estar entre %2 e %3", + InvalidNumber: "N\u00FAmero inv\u00E1lido", + NewextarrowArg1: "O primeiro argumento de %1 deve ser o nome de uma sequ\u00EAncia de controle", + NewextarrowArg2: "O segundo argumento de %1 deve ser composto de dois inteiros separados por uma v\u00EDrgula", + NewextarrowArg3: "O terceiro argumento de %1 deve ser o n\u00FAmero de um caractere unicode", + NoClosingChar: "N\u00E3o foi poss\u00EDvel encontrar um %1 de fechamento", + IllegalControlSequenceName: "Nome ilegal para uma sequ\u00EAncia de controle de %1", + IllegalParamNumber: "N\u00FAmero ilegal de par\u00E2metros especificado em %1", + MissingCS: "%1 deve ser seguido por uma sequ\u00EAncia de controle", + CantUseHash2: "Uso ilegal de # em um modelo para %1", + SequentialParam: "Os par\u00E2metros para %1 devem ser numerados sequencialmente", + MissingReplacementString: "Faltou a linha de substitui\u00E7\u00E3o para a defini\u00E7\u00E3o de %1", + MismatchUseDef: "O uso de %1 n\u00E3o est\u00E1 de acordo com sua defini\u00E7\u00E3o", + RunawayArgument: "Argumento extra para %1?", + NoClosingDelim: "N\u00E3o foi encontrado um delimitador de fechamento para %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/pt-br.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/pt-br.js new file mode 100644 index 00000000..fd029bf4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/pt-br.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/pt-br/pt-br.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br",null,{ + menuTitle: "portugu\u00EAs do Brasil", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "O MathJax encontrou um cookie com configura\u00E7\u00F5es de usu\u00E1rio que inclui c\u00F3digo a ser executado. Deseja execut\u00E1-lo?\n\n(Voc\u00EA deve pressionar Cancelar a n\u00E3o ser que voc\u00EA mesmo tenha criado o cookie.)", + MathProcessingError: "Erro no processamento das f\u00F3rmulas", + MathError: "Erro na f\u00F3rmula matem\u00E1tica", + LoadFile: "Carregando %1", + Loading: "Carregando", + LoadFailed: "O arquivo n\u00E3o pode ser carregado: %1", + ProcessMath: "Processando f\u00F3rmula: %1%%", + Processing: "Processando", + TypesetMath: "Realizando a Diagrama\u00E7\u00E3o das F\u00F3rmulas: %1%%", + Typesetting: "Realizando a Diagrama\u00E7\u00E3o", + MathJaxNotSupported: "Seu navegador n\u00E3o suporta MathJax", + ErrorTips: "Dicas de depura\u00E7\u00E3o: use %%1, para inspecionar %%2 no console do navegador" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/pt-br.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/FontWarnings.js new file mode 100644 index 00000000..8a0c1bc6 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/pt/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "O MathJax est\u00E1 a utilizar fontes baseadas em web para exibir as f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina. A sua descarga leva algum tempo, ent\u00E3o a p\u00E1gina seria renderizada mais rapidamente se instalasse as fontes para matem\u00E1tica diretamente no diret\u00F3rio de fontes do seu sistema.", + imageFonts: "O MathJax est\u00E1 a utilizar fontes feitas com imagens em vez de fontes locais ou baseadas em web. Isso torna a renderiza\u00E7\u00E3o mais lenta do que o de costume, e as f\u00F3rmulas matem\u00E1ticas poder\u00E3o n\u00E3o ser impressas com a maior resolu\u00E7\u00E3o dispon\u00EDvel na sua impressora.", + noFonts: "O MathJax n\u00E3o foi capaz de localizar uma fonte para utilizar ao renderizar as f\u00F3rmulas matem\u00E1ticas, e n\u00E3o est\u00E3o dispon\u00EDveis fontes feitas com imagens, ent\u00E3o ser\u00E3o utilizados caracteres Unicode gen\u00E9ricos com a esperan\u00E7a de que o seu navegador seja capaz de exibi-los. Alguns caracteres podem n\u00E3o aparecer como deveriam, ou simplesmente desaparecer.", + webFonts: "A maioria dos navegadores modernos permite que as fontes sejam descarregadas a partir da web. Atualizar para uma vers\u00E3o mais recente do seu navegador (ou mudar de navegador) poderia melhorar a qualidade das f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina.", + fonts: "O MathJax pode usar tanto [fontes STIX](%1) ou as [fontes MathJax TeX](%2). Descarregue e instale estas fontes para melhorar a sua experi\u00EAncia com o MathJax.", + STIXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes STIX](%1). Descarregue e instale estas fontes para melhorar a sua experi\u00EAncia com o MathJax.", + TeXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes MathJax TeX](%1). Descarregue e instale estas fontes para melhorar a sua experi\u00EAncia com o MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HTML-CSS.js new file mode 100644 index 00000000..7cf8a6a0 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/pt/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "A carregar fonte baseada em web %1", + CantLoadWebFont: "N\u00E3o foi poss\u00EDvel carregar a fonte baseada em web %1", + FirefoxCantLoadWebFont: "O Firefox n\u00E3o pode carregar fontes baseadas em web a partir de um servidor remoto", + CantFindFontUsing: "N\u00E3o \u00E9 poss\u00EDvel encontrar uma fonte v\u00E1lida usando %1", + WebFontsNotAvailable: "Fontes baseadas em web n\u00E3o est\u00E3o dispon\u00EDveis -- a usar fontes feitas com imagens em vez disso" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HelpDialog.js new file mode 100644 index 00000000..10fdc48c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/pt/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Ajuda do MathJax", + MathJax: "*MathJax* \u00E9 uma biblioteca em JavaScript que permite aos autores a inclus\u00E3o de conte\u00FAdo matem\u00E1tico em suas p\u00E1ginas web. Como um renderizador, voc\u00EA n\u00E3o precisa fazer qualquer coisa para que isso ocorra.", + Browsers: "*Navegadores*: O MathJax funciona em todos os navegadores modernos incluindo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e a maioria dos navegadores para dispositivos m\u00F3veis.", + Menu: "*Menu de F\u00F3rmulas*: O MathJax acrescenta um menu de contexto \u00E0s equa\u00E7\u00F5es. Clique com o bot\u00E3o direito ou pressione CTRL ao clicar em qualquer f\u00F3rmula matem\u00E1tica para aceder ao menu.", + ShowMath: "*Mostrar f\u00F3rmulas como* permite que visualize o c\u00F3digo da f\u00F3rmula para copiar e colar (como MathML ou no seu formato original).", + Settings: "*Configura\u00E7\u00F5es* oferecem o controle sobre os recursos do MathJax, tais como o tamanho das f\u00F3rmulas, e o mecanismo utilizado para exibir equa\u00E7\u00F5es.", + Language: "*Idioma* permite que escolha o idioma que o MathJax utiliza nos seus menus e mensagens de aviso.", + Zoom: "*Zoom nas F\u00F3rmulas*: Se voc\u00EA tem dificuldade para ler uma equa\u00E7\u00E3o, o MathJax pode ampli\u00E1-la para ajud\u00E1-lo a visualiz\u00E1-la melhor.", + Accessibilty: "*Acessibilidade*: O MathJax funcionar\u00E1 automaticamente em leitores de ecr\u00E3 para tornar as f\u00F3rmulas matem\u00E1ticas acess\u00EDveis aos que possuem problemas de vis\u00E3o.", + Fonts: "*Fontes*: O MathJax utilizar\u00E1 certas fontes para f\u00F3rmulas matem\u00E1ticas se elas estiverem instaladas no seu computador; caso contr\u00E1rio, ele utilizar\u00E1 fontes baseadas em web. Embora n\u00E3o seja obrigat\u00F3rio, o uso de fontes instaladas localmente acelerar\u00E1 a diagrama\u00E7\u00E3o. Sugerimos que instale [fontes STIX](%1).", + CloseDialog: "Fechar caixa de ajuda" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathML.js new file mode 100644 index 00000000..96b2c71a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/pt/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Mglyph ruim: %1", + BadMglyphFont: "Fonte ruim: %1", + MathPlayer: "O MathJax n\u00E3o foi capaz de configurar o MathPlayer.\n\nSe o MathPlayer n\u00E3o estiver instalado, precisar\u00E1 instal\u00E1-lo primeiro.\nCaso contr\u00E1rio, suas configura\u00E7\u00F5es de seguran\u00E7a podem estar prevenindo a execu\u00E7\u00E3o\nde controles ActiveX. Use as Op\u00E7\u00F5es de Internet sob\no menu Ferramentas e selecione a aba de Seguran\u00E7a ent\u00E3o pressione o bot\u00E3o N\u00EDvel Personalizado. Confira se as configura\u00E7\u00F5es para 'Execu\u00E7\u00E3o de Controles ActiveX', e 'Comportamento de scripts e c\u00F3digos bin\u00E1rios'\nest\u00E3o ativadas.\n\nAtualmente, ver\u00E1 mensagens de erro em vez da \ndiagrama\u00E7\u00E3o das f\u00F3rmulas matem\u00E1ticas.", + CantCreateXMLParser: "O MathJax n\u00E3o pode criar um interpretador de XML para o MathML. Confira se\na configura\u00E7\u00E3o de seguran\u00E7a 'Controles de Script ActiveX marcados como seguros para scripting'\nest\u00E1 habilitado (use as Op\u00E7\u00F5es de Internet no menu \nFerramentas, e selecione o painel de Seguran\u00E7a, depois pressione o bot\u00E3o N\u00EDvel Personalizado\npara conferir isso).\n\nAs equa\u00E7\u00F5es em MathML n\u00E3o poder\u00E3o ser processadas pelo MathJax.", + UnknownNodeType: "Tipo de n\u00F3 desconhecido: %1", + UnexpectedTextNode: "N\u00F3 de texto inesperado: %1", + ErrorParsingMathML: "Erro ao processar MathML", + ParsingError: "Erro ao processar MathML: %1", + MathMLSingleElement: "MathML deve ser formado por um \u00FAnico elemento", + MathMLRootElement: "MathML deve ser formado por um elemento \u003Cmath\u003E, n\u00E3o %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathMenu.js new file mode 100644 index 00000000..8b22c7aa --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/pt/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Mostrar f\u00F3rmulas como", + MathMLcode: "C\u00F3digo MathML", + OriginalMathML: "MathML original", + TeXCommands: "Comandos TeX", + AsciiMathInput: "Entrada AsciiMathML", + Original: "Formato original", + ErrorMessage: "Mensagem de erro", + Annotation: "Anota\u00E7\u00E3o", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML do conte\u00FAdo", + OpenMath: "OpenMath", + texHints: "Mostrar dicas de TeX em MathML", + Settings: "Configura\u00E7\u00F5es das f\u00F3rmulas", + ZoomTrigger: "Ativador do zoom", + Hover: "Passar o rato", + Click: "Clique", + DoubleClick: "Duplo clique", + NoZoom: "Sem zoom", + TriggerRequires: "O ativador requer:", + Option: "Op\u00E7\u00E3o", + Alt: "Alt", + Command: "Comando", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Fator de zoom", + Renderer: "Renderizador matem\u00E1tico", + MPHandles: "Deixe que o MathPlayer resolva:", + MenuEvents: "Eventos de menu", + MouseEvents: "Eventos do rato", + MenuAndMouse: "Eventos do rato e de menu", + FontPrefs: "Prefer\u00EAncias de fontes", + ForHTMLCSS: "Para HTML-CSS:", + Auto: "Autom\u00E1tico", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imagem)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Menu de contexto", + Browser: "Navegador", + Scale: "Redimensionar todas as f\u00F3rmulas ...", + Discoverable: "Destacar ao passar com o rato", + Locale: "L\u00EDngua", + LoadLocale: "Carregar a partir de URL ...", + About: "Sobre o MathJax", + Help: "Ajuda do MathJax", + localTeXfonts: "a usar fontes TeX locais", + webTeXfonts: "a usar fontes TeX da web", + imagefonts: "a usar fontes feitas com imagens", + localSTIXfonts: "a usar fontes STIX", + webSVGfonts: "a usar fontes SVG da web", + genericfonts: "a usar fontes unicode gen\u00E9ricas", + wofforotffonts: "fontes WOFF ou OTF", + eotffonts: "fontes EOT", + svgfonts: "fontes SVG", + WebkitNativeMMLWarning: "N\u00E3o parece haver suporte nativo ao MathML no seu navegador, ent\u00E3o a mudan\u00E7a para MathML pode tornar ileg\u00EDveis as f\u00F3rmulas matem\u00E1ticas da p\u00E1gina.", + MSIENativeMMLWarning: "O Internet Explorer requer o plugin MathPlayer para processar MathML.", + OperaNativeMMLWarning: "O suporte ao MathML no Opera \u00E9 limitado, ent\u00E3o a mudan\u00E7a para MathML pode piorar a renderiza\u00E7\u00E3o de algumas express\u00F5es.", + SafariNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", + FirefoxNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", + MSIESVGWarning: "N\u00E3o h\u00E1 uma implementa\u00E7\u00E3o de SVG nas vers\u00F5es do Internet Explorer anteriores ao IE9 ou quando ele est\u00E1 emulando o IE8 ou as vers\u00F5es anteriores. A mudan\u00E7a para SVG far\u00E1 com que as f\u00F3rmulas n\u00E3o sejam exibidas adequadamente.", + LoadURL: "Carregar os dados de tradu\u00E7\u00E3o a partir desta URL:", + BadURL: "A URL deve ser para um um ficheiro de JavaScript que defina os dados de tradu\u00E7\u00E3o do MathJax. Os nomes dos ficheiros de Javascript devem terminar com '.js'", + BadData: "Falha ao carregar os dados de tradu\u00E7\u00E3o de %1", + SwitchAnyway: "Mudar para este renderizador mesmo assim?\n\n(Pressione OK para mudar, CANCELAR para continuar com o renderizador atual)", + ScaleMath: "Redimensionar todas as f\u00F3rmulas matem\u00E1ticas (em rela\u00E7\u00E3o ao texto \u00E0 sua volta) em", + NonZeroScale: "A escala n\u00E3o deve ser zero", + PercentScale: "A escala deve ser uma percentagem (por exemplo, 120%%)", + IE8warning: "Isto desabilitar\u00E1 o menu MathJax e os recursos de zoom, mas voc\u00EA poder\u00E1 usar Alt-Clique em uma express\u00E3o para obter o menu MathJax em vez disso.\n\nDeseja realmente alterar as configura\u00E7\u00F5es do MathPlayer?", + IE9warning: "O menu de contexto do MathJax ser\u00E1 desabilitado, mas pode usar Alt-Clique numa express\u00E3o para obter o menu MathJax em vez disso.", + NoOriginalForm: "Sem uma forma original dispon\u00EDvel", + Close: "Fechar", + EqSource: "C\u00F3digo de equa\u00E7\u00E3o MathJax", + CloseAboutDialog: "Fechar caixa sobre MathJax", + FastPreview: "Pr\u00E9-visualiza\u00E7\u00E3o r\u00E1pida", + AssistiveMML: "MAthML assistiva", + InTabOrder: "Incluir na ordem da guia" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/TeX.js new file mode 100644 index 00000000..a5943cf5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/pt/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Chaveta de abertura a mais ou chaveta de fecho a menos", + ExtraCloseMissingOpen: "Chaveta de fecho a mais ou chaveta de abertura a menos", + MissingLeftExtraRight: "Falta um \\left ou h\u00E1 um \\right a mais", + MissingScript: "Falta o valor de um sobrescrito ou de um subscrito", + ExtraLeftMissingRight: "Falta um \\right ou h\u00E1 um \\left a mais", + Misplaced: "%1 fora do lugar", + MissingOpenForSub: "Falta a chaveta de abertura para o subscrito", + MissingOpenForSup: "Falta a chaveta de abertura para o sobrescrito", + AmbiguousUseOf: "Uso amb\u00EDguo de %1", + EnvBadEnd: "\\begin{%1} foi terminado com \\end{%2}", + EnvMissingEnd: "\\end{%1} em falta", + MissingBoxFor: "Falta uma caixa para %1", + MissingCloseBrace: "Falta chaveta de fecho", + UndefinedControlSequence: "Sequ\u00EAncia de controlo indefinida %1", + DoubleExponent: "Expoente duplo: use chavetas para clarificar", + DoubleSubscripts: "Subscrito duplo: use chavetas para clarificar", + DoubleExponentPrime: "\u00C9 amb\u00EDguo a que diz respeito a plica (\u2032): use chavetas para clarificar", + CantUseHash1: "N\u00E3o pode usar o car\u00E1cter # que indica um par\u00E2metro de macro no modo matem\u00E1tico", + MisplacedMiddle: "%1 deve estar entre \\left e \\right", + MisplacedLimits: "%1 s\u00F3 \u00E9 permitido em operadores", + MisplacedMoveRoot: "%1 s\u00F3 pode ser usado dentro de uma raiz", + MultipleCommand: "Repeti\u00E7\u00E3o de %1", + IntegerArg: "O argumento de %1 deve ser um inteiro", + NotMathMLToken: "%1 n\u00E3o \u00E9 um elemento de chave", + InvalidMathMLAttr: "Atributo MathML inv\u00E1lido: %1", + UnknownAttrForElement: "%1 n\u00E3o \u00E9 um atributo reconhecido para %2", + MaxMacroSub1: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es de macros do MathJax; h\u00E1 alguma chamada a uma macro recursiva?", + MaxMacroSub2: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es do MathJax; h\u00E1 algum ambiente LaTeX recursivo?", + MissingArgFor: "Falta um argumento para %1", + ExtraAlignTab: "H\u00E1 um tab de alinhamento a mais no texto de \\cases", + BracketMustBeDimension: "O argumento nos par\u00EAnteses retos de %1 deve ser uma dimens\u00E3o", + InvalidEnv: "Nome de ambiente inv\u00E1lido: '%1'", + UnknownEnv: "Ambiente desconhecido: '%1'", + ExtraCloseLooking: "Encontrada uma chaveta de fecho ao procurar por %1", + MissingCloseBracket: "N\u00E3o foi encontrado um ']' de fecho para o argumento de %1", + MissingOrUnrecognizedDelim: "O delimitador para %1 est\u00E1 em falta ou n\u00E3o foi reconhecido", + MissingDimOrUnits: "Falta a dimens\u00E3o ou a unidade de %1", + TokenNotFoundForCommand: "N\u00E3o foi encontrado %1 para %2", + MathNotTerminated: "A f\u00F3rmula n\u00E3o foi terminada na caixa de texto", + IllegalMacroParam: "Refer\u00EAncia inv\u00E1lida a um par\u00E2metro de macro", + MaxBufferSize: "O tamanho do buffer interno do MathJax foi excedido; h\u00E1 alguma chamada a uma macro recursiva?", + CommandNotAllowedInEnv: "%1 n\u00E3o \u00E9 permitido no ambiente %2", + MultipleLabel: "O r\u00F3tulo '%1' foi definido mais que uma vez", + CommandAtTheBeginingOfLine: "%1 deve vir no in\u00EDcio da linha", + IllegalAlign: "Foi especificado um alinhamento ilegal em %1", + BadMathStyleFor: "Estilo de f\u00F3rmula inv\u00E1lido para %1", + PositiveIntegerArg: "O argumento para %1 deve ser um inteiro positivo", + ErroneousNestingEq: "Aninhamento incorreto de estruturas de equa\u00E7\u00F5es", + MultlineRowsOneCol: "As linhas do ambiente %1 devem ter apenas uma coluna", + MultipleBBoxProperty: "%1 foi especificado duas vezes em %2", + InvalidBBoxProperty: "'%1' n\u00E3o parece ser uma cor, uma dimens\u00E3o de espa\u00E7amento, nem um estilo", + ExtraEndMissingBegin: "H\u00E1 um %1 a mais ou um \\begingroup a menos", + GlobalNotFollowedBy: "%1 n\u00E3o foi seguido por um \\let, \\def, ou \\newcommand", + UndefinedColorModel: "O modelo de cores '%1' n\u00E3o foi definido", + ModelArg1: "O modelo %1 requer 3 n\u00FAmeros para valores de cor", + InvalidDecimalNumber: "N\u00FAmero decimal inv\u00E1lido", + ModelArg2: "Os valores de cor para o modelo %1 devem estar entre %2 e %3", + InvalidNumber: "N\u00FAmero inv\u00E1lido", + NewextarrowArg1: "O primeiro argumento de %1 deve ser o nome de uma sequ\u00EAncia de controlo", + NewextarrowArg2: "O segundo argumento de %1 deve ser composto por dois inteiros separados por uma v\u00EDrgula", + NewextarrowArg3: "O terceiro argumento de %1 deve ser o c\u00F3digo Unicode de um caractere", + NoClosingChar: "N\u00E3o foi poss\u00EDvel encontrar um %1 de fecho", + IllegalControlSequenceName: "O nome da sequ\u00EAncia de controlo para %1 \u00E9 inv\u00E1lido", + IllegalParamNumber: "N\u00FAmero inv\u00E1lido de par\u00E2metros especificado em %1", + MissingCS: "%1 deve ser seguido por uma sequ\u00EAncia de controlo", + CantUseHash2: "Uso ilegal de # em modelo para %1", + SequentialParam: "Os par\u00E2metros para %1 devem ser numerados sequencialmente", + MissingReplacementString: "Falta a string de substitui\u00E7\u00E3o para a defini\u00E7\u00E3o de %1", + MismatchUseDef: "O uso de %1 n\u00E3o condiz com sua defini\u00E7\u00E3o", + RunawayArgument: "Argumento em excesso para %1?", + NoClosingDelim: "N\u00E3o foi encontrado um delimitador de fecho para %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/pt.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/pt.js new file mode 100644 index 00000000..d3cc769d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/pt.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/pt/pt.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt",null,{ + menuTitle: "portugu\u00EAs", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Erro no processamento das f\u00F3rmulas", + MathError: "Erro de matem\u00E1tica", + LoadFile: "A carregar %1", + Loading: "A carregar", + LoadFailed: "O ficheiro n\u00E3o pode ser carregado: %1", + ProcessMath: "A processar f\u00F3rmula: %1%%", + Processing: "A processar", + TypesetMath: "A formatar f\u00F3rmulas: %1%%", + Typesetting: "A formatar", + MathJaxNotSupported: "O seu navegador n\u00E3o suporta MathJax", + ErrorTips: "Dicas de depura\u00E7\u00E3o: use %%1, para inspecionar %%2 no console do navegador" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/pt.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/FontWarnings.js new file mode 100644 index 00000000..342a665d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/qqq/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "This warning is displayed by the FontWarnings extension when web-based fonts are used.", + imageFonts: "This warning is displayed by the FontWarnings extension when image fonts are used.", + noFonts: "This warning is displayed by the FontWarnings extension when no fonts can be used.", + webFonts: "This warning is displayed by the FontWarnings extension when the browser do not support web fonts", + fonts: "{{doc-markdown}}\nThis warning is displayed by the FontWarnings extension when the HTML-CSS availableFonts list contains both STIX and TeX.\n\nParameters:\n* %1 - URL\n* %2 - URL\nSee also:\n* {{msg-mathjax|Fontwarnings-TeXPage}}", + STIXPage: "{{doc-markdown}}\nThis warning is displayed by the FontWarnings extension when the HTML-CSS availableFonts list contains only STIX.\n\nParameters:\n* %1 - URL", + TeXPage: "{{doc-markdown}}\nThis warning is displayed by the FontWarnings extension when the HTML-CSS availableFonts list contains only TeX.\n\nParameters:\n* %1 - URL\nSee also:\n* {{msg-mathjax|Fontwarnings-fonts}}" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HTML-CSS.js new file mode 100644 index 00000000..ad08fcbc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/qqq/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "This is displayed in MathJax message box when the HTML-CSS output is loading a Web font.\n\nParameters:\n* %1 - the font name", + CantLoadWebFont: "This is displayed in MathJax message box when the HTML-CSS output fails to load a Web font. The first argument is the font name", + FirefoxCantLoadWebFont: "This is displayed in MathJax message box when the HTML-CSS output fails to load a Web font in Firefox", + CantFindFontUsing: "This is displayed in MathJax message box when the HTML-CSS output fails to load a Web font from a given list.\n\nParameters:\n* %1 - a list of fonts tried, comma-separated", + WebFontsNotAvailable: "This is displayed in MathJax message box when the HTML-CSS fails to load Web fonts" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HelpDialog.js new file mode 100644 index 00000000..6131811e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/qqq/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "This is the title displayed at the top of the MathJax Help dialog.", + MathJax: "First paragraph of the MathJax Help dialog.\n\nStars around 'MathJax' is the Markdown syntax to put it in emphasis.", + Browsers: "Second paragraph of the MathJax Help dialog.\n\nStars around 'Browsers' is the Markdown syntax to put it in emphasis.", + Menu: "Third paragraph of the MathJax Help dialog.\n\nStars around 'Math Menu' the Markdown syntax to put it in emphasis.\n\n\"CTRL\" refers to \"Ctrl key\" (\"Control key\").", + ShowMath: "First item of the the 'Math Menu' paragraph.\n\nStars around 'Show math as' is the Markdown syntax to put it in emphasis.\n\n'Show Math as' should be consistent with {{msg-mathjax|Mathmenu-Show}}.", + Settings: "Second item of the the 'Math Menu' paragraph.\n\nStars around 'Settings' is the Markdown syntax to put it in emphasis.\n\n'Settings' should be consistent with {{msg-mathjax|Mathmenu-Settings}}.", + Language: "Third item of the the 'Math Menu' paragraph.\n\nStars around 'Language' is the Markdown syntax to put it in emphasis.\n\n'Language' should be consistent with {{msg-mathjax|Mathmenu-Locale}}.", + Zoom: "Fourth paragraph of the MathJax Help dialog.\n\nStars around 'Math Zoom' is the Markdown syntax to put it in emphasis.\n\n'Math Zoom' should be consistent with {{msg-mathjax|Mathmenu-ZoomTrigger}} and {{msg-mathjax|Mathmenu-ZoomFactor}}.", + Accessibilty: "Fifth paragraph of the MathJax Help dialog.\n\nStars around 'Accessibility' is the Markdown syntax to put it in emphasis.", + Fonts: "{{doc-markdown}}\nSixth paragraph of the MathJax Help dialog.\n\nStars around 'Fonts' is the Markdown syntax to put it in emphasis.\n\n\u003Ccode\u003E[STIX fonts](%1)\u003C/code\u003E is the Markdown syntax for links.\n\nParameters:\n* %1 - a URL the STIX fonts", + CloseDialog: "Text alternative for the closing button of the 'MathJax Help' pop-up." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathML.js new file mode 100644 index 00000000..714eb430 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/qqq/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "This error is displayed when processing a MathML mglyph element with a bad URL. Parameters:\n* %1 - the value of the src attribute", + BadMglyphFont: "Parameters:\n* %1 - font family", + MathPlayer: "This alert is displayed when the Native MathML output Jax fails to set up MathPlayer. The instructions are IE specific.\n\nThe new line character is used to force new lines in the alert box.", + CantCreateXMLParser: "This alert is displayed when the MathML input Jax fails to create an XML parser. The instructions are IE specific.\n\nThe new line character is used to force new lines in the alert box.", + UnknownNodeType: "Used as error message. Parameters:\n* %1 - node type", + UnexpectedTextNode: "Used as error message. Parameters:\n* %1 - text, enclosed in \"'\"", + ErrorParsingMathML: "This error is displayed when a MathML element fails to be parsed.\n\nIt can only be produced by old versions of Internet Explorer.", + ParsingError: "This error is displayed when an XML parsing error happens.\n\nThe argument is the error returned by the XML parser.", + MathMLSingleElement: "This error is displayed when a MathML input Jax contains more than one \u003Ccode\u003E\u003Cnowiki\u003E\u003Cmath\u003E\u003C/nowiki\u003E\u003C/code\u003E root.\n\nIt can only be produced by very old browsers.", + MathMLRootElement: "{{doc-important|Do not translate the \u003Ccode\u003E\u003Cnowiki\u003E\u003Cmath\u003E\u003C/nowiki\u003E\u003C/code\u003E tag! It is a MathML tag.}} \n\nThis error is displayed when a MathML input Jax contains a root other than \u003Ccode\u003E\u003Cnowiki\u003E\u003Cmath\u003E\u003C/nowiki\u003E\u003C/code\u003E.\n\nParameters:\n* %1 - the root name" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathMenu.js new file mode 100644 index 00000000..7824d256 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathMenu.js @@ -0,0 +1,110 @@ +/************************************************************* + * + * MathJax/localization/qqq/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "'Show math as' menu item. MathJax uses 'Math' as a distinct UI choice. Please translate it literally whenever possible.\n\nFollowed by the following menu subitems:\n* {{msg-mathjax|Mathmenu-MathMLcode}}\n* {{msg-mathjax|Mathmenu-Original}}\n* {{msg-mathjax|Mathmenu-Annotation}}\n* {{msg-mathjax|Mathmenu-texHints}} - checkbox label", + MathMLcode: "This menu item from 'Show math as' shows the MathML code that MathJax has produced internally (sanitized, indented etc.)\n\nThe parent menu item is {{msg-mathjax|Mathmenu-Show}}.", + OriginalMathML: "This menu item from 'Show math as' shows the MathML code as if that was originally in the page source", + TeXCommands: "This menu item from 'Show math as' shows the TeX code if that was originally in the page source", + AsciiMathInput: "This menu item from 'Show math as' shows the asciimath code if that was originally in the page source", + Original: "This menu item from 'Show math as' shows the code that was originally in the page source but has no registered type.\n\nThis can happen when extensions add new input formats but fail to provide an adequate format name.\n\nThe parent menu item is {{msg-mathjax|Mathmenu-Show}}.\n{{Identical|Original form}}", + ErrorMessage: "This menu item from 'Show math as' shows the error message if MathJax fails to process the source.\n{{Identical|Error message}}", + Annotation: "This menu item from 'Show math as' allows to access possible annotations attached to a MathML formula.\n{{Identical|Annotation}}", + TeX: "This is a menu item from the 'Annotation Menu' to show a TeX annotation.", + StarMath: "This is a menu item from the 'Annotation Menu' to show a StarMath annotation (StarOffice, OpenOffice, LibreOffice).\n\nProgramming language used in MathJax.", + Maple: "This is a menu item from the 'Annotation Menu' to show a Maple annotation.", + ContentMathML: "This is a menu item from the 'Annotation Menu' to show a Content MathML annotation.\n\nThe MathML specification defines two versions: 'presentation' MathML (used in MathJax) and 'content' MathML (describes the semantics of the formula).", + OpenMath: "This is a menu item from the 'Annotation Menu' to show the OpenMath annotation, an XML representation similar to Content MathML.", + texHints: "This menu option from 'Show math as' adds comments to the code produced by 'MathMLCode'.\n\nUsed as checkbox label in the menu.", + Settings: "'Math settings' menu item.", + ZoomTrigger: "This menu from 'Math Settings' determines how MathJax's zoom is triggered.\n\nFollowed by the following menu items:\n* {{msg-mathjax|Mathmenu-Hover}}\n* {{msg-mathjax|Mathmenu-Click}}\n* {{msg-mathjax|Mathmenu-DoubleClick}}\n* {{msg-mathjax|Mathmenu-NoZoom}}\n* {{msg-mathjax|Mathmenu-TriggerRequires}} - label for the following checkboxes\n* {{msg-mathjax|Mathmenu-Option}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Alt}} - checkbox label, for Windows\n* {{msg-mathjax|Mathmenu-Command}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Control}} - checkbox label, for non-mac\n* {{msg-mathjax|Mathmenu-Shift}} - checkbox label", + Hover: "This menu option from 'ZoomTrigger' indicates that the zoom is triggered when the mouse pass over a formula.", + Click: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the zoom is triggered when one clicks on a formula.\n{{Identical|Click}}", + DoubleClick: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the zoom is triggered when one double-clicks on a formula.", + NoZoom: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the zoom is never triggered.", + TriggerRequires: "This menu text from {{msg-mathjax|Mathmenu-ZoomTrigger}} describes if the ZoomTrigger requires additional keys.\n\nThe label is followed by the following menu items:\n* {{msg-mathjax|Mathmenu-Option}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Alt}} - checkbox label, for Windows\n* {{msg-mathjax|Mathmenu-Command}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Control}} - checkbox label, for non-Mac\n* {{msg-mathjax|Mathmenu-Shift}} - checkbox label", + Option: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the OPTION key is needed (Apple-style).\n{{Identical|Options}}", + Alt: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the ALT key is needed (Windows-style)", + Command: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the COMMAND key is needed (Apple-style).\n{{Identical|Command}}", + Control: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the CONTROL key is needed\n\n\"Control key\" is also known as \"Ctrl key\".", + Shift: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the SHIFT key is needed", + ZoomFactor: "Used as menu item which has the following sub menu items: 125%%, 133%%, 150%%, 175%%, 200%%, 250%%, 300%%, 400%%", + Renderer: "Used as menu item which has the following sub menu items:\n* HTML-CSS\n* MathML\n* SVG", + MPHandles: "Used as label in the menu.\n\nFollowed by the following menu items:\n* {{msg-mathjax|Mathmenu-MenuEvents}}\n* {{msg-mathjax|Mathmenu-MouseEvents}}\n* {{msg-mathjax|Mathmenu-MenuAndMouse}}", + MenuEvents: "Option to let MathPlayer handle the contextual menu selections", + MouseEvents: "Option to let MathPlayer handle the mouse clicks", + MenuAndMouse: "Option to let MathPlayer handle Mouse and Menu Events", + FontPrefs: "This menu item from 'Math Settings' allows selection of the font to use (and is mostly for development purposes) e.g. STIX", + ForHTMLCSS: "Used as label in the menu.\n\nFollowed by the following radio box label:\n* {{msg-mathjax|Mathmenu-Auto}}", + Auto: "{{Identical|Automatic}}", + TeXLocal: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", + TeXWeb: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", + TeXImage: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", + STIXLocal: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", + STIXWeb: "{{Related|Mathmenu-fonts}}", + AsanaMathWeb: "{{Related|Mathmenu-fonts}}", + GyrePagellaWeb: "{{Related|Mathmenu-fonts}}", + GyreTermesWeb: "{{Related|Mathmenu-fonts}}", + LatinModernWeb: "{{Related|Mathmenu-fonts}}", + NeoEulerWeb: "{{Related|Mathmenu-fonts}}", + ContextMenu: "Used as menu item.\n\nFollowed by the following sub menu items:\n* MathJax - radio box label\n* {{msg-mathjax|Mathmenu-Browser}} - radio box label", + Browser: "Used as menu item.\n\nThe parent menu item is {{msg-mathjax|Mathmenu-ContextMenu}}.\n{{Identical|Browser}}", + Scale: "This menu item from 'Math Settings' allows users to set a scaling factor for the MathJax output (relative to the surrounding content).", + Discoverable: "This menu option indicates whether the formulas should be highlighted when you pass the mouse over them.\n\nUsed as checkbox label in the menu.", + Locale: "This menu item from 'Math Settings' allows to select a language. The language names are specified by the 'menuTitle' properties.\n\nThis menu item has the following sub menu items:\n* en\n* {{msg-mathjax|Mathmenu-LoadLocale}}\n{{Identical|Language}}", + LoadLocale: "This allows the user to load the translation from a given URL.\n\nUsed as the menu item which has the parent menu item {{msg-mathjax|Mathmenu-Locale}}.", + About: "This opens the 'About MathJax' popup.\n\nUsed as menu item.", + Help: "This opens the 'MathJax Help' popup", + localTeXfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses local MathJax TeX fonts.\n{{Related|Mathmenu-using}}", + webTeXfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses Web versions of MathJax TeX fonts.\n{{Related|Mathmenu-using}}", + imagefonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses Image versions of MathJax TeX fonts.\n{{Related|Mathmenu-using}}", + localSTIXfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses local MathJax STIX fonts.\n{{Related|Mathmenu-using}}", + webSVGfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses SVG MathJax TeX fonts.\n{{Related|Mathmenu-using}}", + genericfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses local generic fonts.\n{{Related|Mathmenu-using}}", + wofforotffonts: "This is from the 'About MathJax' popup. woff/otf are names of font formats", + eotffonts: "This is from the 'About MathJax' popup. eot is a name of font format", + svgfonts: "This is from the 'About MathJax' popup. svg is a name of font format", + WebkitNativeMMLWarning: "This is the WebKit warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", + MSIENativeMMLWarning: "This is the IE warning displayed when a user changes the rendering output to native MathML via the MathJax menu and does not have MathPlayer installed.", + OperaNativeMMLWarning: "This is the Opera warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", + SafariNativeMMLWarning: "This is the Safari warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", + FirefoxNativeMMLWarning: "This is the Firefox warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", + MSIESVGWarning: "This is the IE warning displayed when a user changes the rendering output to SVG via the MathJax menu and uses an versions of IE.", + LoadURL: "This is the prompt message for the 'LoadLocale' menu entry", + BadURL: "This is the alert message when a bad URL is specified for 'LoadLocale'.", + BadData: "This is the alert message when the translation data specified 'LoadLocale' fails to be loaded. The argument is the URL specified.", + SwitchAnyway: "This is appended at the end of switch warnings.\n\nUsed for JavaScript \u003Ccode\u003Econfirm()\u003C/code\u003E.", + ScaleMath: "This is the prompt message for the 'Scale all math' menu entry.\n\nUsed for JavaScript \u003Ccode\u003Eprompt()\u003C/code\u003E.", + NonZeroScale: "This is the alert message when the scale specified to 'ScaleMath' is zero", + PercentScale: "This is the alert message when the scale specified to 'ScaleMath' is not a percentage", + IE8warning: "This this the confirm message displayed for when the user chooses to let MathPlayer control the contextual menu (IE8)", + IE9warning: "This this the alert message displayed for when the user chooses to let MathPlayer control the contextual menu (IE9)", + NoOriginalForm: "This is the alert box displayed when there are missing source formats for {{Msg-mathjax|Mathmenu-Show}}; see also {{Msg-mathjax|Mathmenu-Original}}.", + Close: "Closing button in the 'Show math as' window.\n{{Identical|Close}}", + EqSource: "This is the title of the 'Show math as' button.\n\nUsed in the \u003Ccode\u003E\u003Cnowiki\u003E\u003Ctitle\u003E\u003C/nowiki\u003E\u003C/code\u003E tag of the new window.", + FastPreview: "A checkbox activating two-passrendering with a faster, rougher preview being rendered by the PreviewHTML output.", + AssistiveMML: "A checkbox that activates an extension providing invisible but accessible MathML source alongside the rendering.", + InTabOrder: "A checkbox to indicate whether MathJax adds a tabindex attribute (with value '0') to its output." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/TeX.js new file mode 100644 index 00000000..7556d32a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/qqq/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "This appears in TeX expressions when open and close braces do not match e.g. \u003Ccode\u003E\\( { \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-ExtraCloseMissingOpen}}", + ExtraCloseMissingOpen: "This appears in TeX expressions when open and close braces do not match e.g. \u003Ccode\u003E\\( } \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-ExtraOpenMissingClose}}", + MissingLeftExtraRight: "{{doc-important|Do not translate \u003Ccode\u003E\\left\u003C/code\u003E and \u003Ccode\u003E\\right\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when \u003Ccode\u003Eleft\u003C/code\u003E/\u003Ccode\u003Eright\u003C/code\u003E commands do no match e.g. \u003Ccode\u003E\\( \\right) \\)\u003C/code\u003E", + MissingScript: "This appears in TeX expressions when a superscript or subscript is missing e.g. \u003Ccode\u003Ea^2\u003C/code\u003E or \u003Ccode\u003Ea_2\u003C/code\u003E.", + ExtraLeftMissingRight: "{{doc-important|Do not translate \u003Ccode\u003E\\left\u003C/code\u003E and \u003Ccode\u003E\\right\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when \u003Ccode\u003Eleft\u003C/code\u003E/\u003Ccode\u003Eright\u003C/code\u003E commands do no match e.g. \u003Ccode\u003E\\( \\left( \\)\u003C/code\u003E", + Misplaced: "This appears in TeX expressions when an item is misplaced e.g. \u003Ccode\u003E\\( \u0026 \\)\u003C/code\u003E since the ampersand is supposed to be used in tabular expressions.\n\nParameters:\n* %1 - the misplaced item", + MissingOpenForSub: "This appears in TeX expressions when a subscript is missing an open brace e.g. \u003Ccode\u003E\\( x__ \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-MissingOpenForSup}}", + MissingOpenForSup: "This appears in TeX expressions when a superscript is missing an open brace e.g. \u003Ccode\u003E\\( x^^ \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-MissingOpenForSub}}", + AmbiguousUseOf: "This appears in TeX expressions when a command is used in an ambiguous way e.g. \u003Ccode\u003E\\( x \\over y \\over z \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the name of the TeX command", + EnvBadEnd: "{{doc-important|Do not translate \u003Ccode\u003E\\begin\u003C/code\u003E and \u003Ccode\u003E\\end\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when environment names do not match e.g. \u003Ccode\u003E\\( \\begin{aligned} \\end{eqarray} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name used for \u003Ccode\u003E\\begin\u003C/code\u003E\n* %2 - the environment name used for \u003Ccode\u003E\\end\u003C/code\u003E", + EnvMissingEnd: "{{doc-important|Do not translate \u003Ccode\u003E\\end\u003C/code\u003E, it is a TeX command.}}\nThis appears in TeX expressions when an environment is not closed e.g. \u003Ccode\u003E\\( \\begin{aligned} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name e.g. \u003Ccode\u003Ealigned\u003C/code\u003E", + MissingBoxFor: "This appears in TeX expressions when a command is missing a TeX box e.g. \u003Ccode\u003E\\( \\raise 1pt \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name", + MissingCloseBrace: "This appears in TeX expressions when a close brace is missing e.g. \u003Ccode\u003E\\( \\array{ \\)\u003C/code\u003E", + UndefinedControlSequence: "This appears in TeX expressions when an undefined control sequence is used. Parameters:\n* %1 - the name of the TeX command", + DoubleExponent: "This appears in TeX expressions when an ambiguous double exponent is used e.g. \u003Ccode\u003Ex^3^2\u003C/code\u003E should be \u003Ccode\u003Ex^{3^2}\u003C/code\u003E or \u003Ccode\u003E{x^3}^2\u003C/code\u003E.\n\nSee also:\n* {{msg-mathjax|Tex-DoubleSubscripts}}", + DoubleSubscripts: "This appears in TeX expressions when an ambiguous double subscripts is used e.g. \u003Ccode\u003Ex_3_2\u003C/code\u003E should be \u003Ccode\u003Ex_{3_2}\u003C/code\u003E or \u003Ccode\u003E{x_3}_2\u003Ccode\u003E.\n\nSee also:\n* {{msg-mathjax|Tex-DoubleExponent}}", + DoubleExponentPrime: "This appears in TeX expressions when an ambiguous double exponent is caused by a prime e.g. \u003Ccode\u003Ex^a'\u003C/code\u003E should be \u003Ccode\u003E{x^a}'\u003C/code\u003E or \u003Ccode\u003Ex^{a'}\u003C/code\u003E", + CantUseHash1: "This appears in TeX expressions when the macro parameter character '#' is used in math mode e.g. \u003Ccode\u003E\\( # \\)\u003C/code\u003E", + MisplacedMiddle: "{{doc-important|Do not translate \u003Ccode\u003E\\left\u003C/code\u003E and \u003Ccode\u003E\\right\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when the \u003Ccode\u003Emiddle\u003C/code\u003E command is used outside \u003Ccode\u003E\\left ... \\right\u003C/code\u003E e.g. \u003Ccode\u003E\\( \\middle| \\)\u003C/code\u003E", + MisplacedLimits: "This appears in TeX expressions when the \u003Ccode\u003Elimits\u003C/code\u003E command is not used on an operator e.g. \u003Ccode\u003E\\( \\limits \\)\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\limits\u003C/code\u003E", + MisplacedMoveRoot: "This appears in TeX expressions when a move root command is used outside a root e.g. \u003Ccode\u003E\\( \\uproot \\)\u003C/code\u003E.\n\nParameters:\n* %1 - either \u003Ccode\u003E\\uproot\u003C/code\u003E or \u003Ccode\u003E\\leftroot\u003C/code\u003E", + MultipleCommand: "This happens when a command or token can only be present once, e.g. \u003Ccode\u003E\\tag{}\u003C/code\u003E. Parameters:\n* %1 - the name of the duplicated command", + IntegerArg: "This happens when an unexpected non-integer argument is passed to a command e.g. \u003Ccode\u003E\\uproot\u003C/code\u003E.\n\nParameters:\n* %1 - the name of the command", + NotMathMLToken: "MathJax has a non-standard \u003Ccode\u003E\\mmlToken\u003C/code\u003E command to insert MathML token elements.\n\nThis error happens when the tag name is unknown e.g. \u003Ccode\u003E\\mmlToken{INVALID}{x}\u003C/code\u003E", + InvalidMathMLAttr: "MathJax has non standard MathML and HTML related commands which can contain attributes.\n\nThis error happens when the parameter is not a valid attribute e.g. \u003Ccode\u003E\\( \\mmlToken{mi}[_INVALID_]{x} \\)\u003C/code\u003E where underscores are forbidden.", + UnknownAttrForElement: "MathJax has non standard MathML and HTML related commands which can contain attributes.\n\nThis error happens when the attribute is invalid for the given element e.g. \u003Ccode\u003E\\( \\mmlToken{mi}[INVALIDATTR=\u003Cnowiki\u003E''\u003C/nowiki\u003E]{x} \\)\u003C/code\u003E\n\nParameters:\n* %1 - attribute\n* %2 - ...", + MaxMacroSub1: "MathJax limits the number of macro substitutions to prevent infinite loops.\n\nFor example, this error may happen with \u003Ccode\u003E\\newcommand{\\a}{\\a} \\a\u003C/code\u003E", + MaxMacroSub2: "MathJax limits the number of nested environments to prevent infinite loops.\n\nFor example, this error may happen with \u003Ccode\u003E\\newenvironment{a}{\\begin{a}}{\\end{a}} \\begin{a}\\end{a}\u003C/code\u003E", + MissingArgFor: "This happens when an argument is missing e.g. \u003Ccode\u003E\\frac{a}\u003C/code\u003E. Parameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\frac\u003C/code\u003E", + ExtraAlignTab: "{{doc-important|Do not translate \u003Ccode\u003E\\cases\u003C/code\u003E; it is a TeX command.}}\nThis happens when \u003Ccode\u003E\\cases\u003C/code\u003E has two many columns e.g. \u003Ccode\u003E\\cases{a \u0026 b \u0026 c}\u003C/code\u003E", + BracketMustBeDimension: "This happens when a bracket argument of an item is not a dimension e.g. \u003Ccode\u003E\\begin{array} x \\\\[INVALID] y \\end{array}\u003C/code\u003E.\n\nParameters:\n* %1 - e.g. \u003Ccode\u003E\\\u003C/code\u003E", + InvalidEnv: "This happens with invalid environment name e.g. \u003Ccode\u003E\\begin{_INVALID_} \\end{_INVALID_}\u003C/code\u003E where underscores are forbidden.\n\nParameters:\n* %1 - the environment name e.g. \u003Ccode\u003E_INVALID_\u003C/code\u003E", + UnknownEnv: "This happens when an unknown environment is used e.g. \u003Ccode\u003E\\begin{UNKNOWN} \\end{UNKNOWN}\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name e.g. \u003Ccode\u003EUNKNOWN\u003C/code\u003E", + ExtraCloseLooking: "This happens in some situations when an extra close brace is found while looking for another character, for example \u003Ccode\u003E\\( \\sqrt['''{{red|\u003Cnowiki\u003E}\u003C/nowiki\u003E}}''']x \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the character searched e.g. \u003Ccode\u003E]\u003C/code\u003E", + MissingCloseBracket: "This error happens when a closing '\u003Ccode\u003E]\u003C/code\u003E' is missing e.g. \u003Ccode\u003E\\( \\sqrt[ \\)\u003C/code\u003E. Parameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\sqrt\u003C/code\u003E", + MissingOrUnrecognizedDelim: "This error happens when a delimiter is missing or unrecognized in a TeX expression e.g. \u003Ccode\u003E\\( \\left \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\left\u003C/code\u003E", + MissingDimOrUnits: "This error happens with some TeX commands that are expecting a unit e.g. \u003Ccode\u003E\\above\u003C/code\u003E. Parameters:\n* %1 - the command name", + TokenNotFoundForCommand: "This happens while processing a TeX command that is expected to contain a token e.g. \u003Ccode\u003E\\( \\root{x} \\)\u003C/code\u003E where '\u003Ccode\u003E\\of\u003C/code\u003E' should be used.\n\nParameters:\n* %1 - the token not found e.g. \u003Ccode\u003E\\of\u003C/code\u003E\n* %2 - the command being processed e.g. \u003Ccode\u003E\\root\u003C/code\u003E", + MathNotTerminated: "This happens when a math is not terminated in a text box e.g. \u003Ccode\u003E\\( \\text{$x} \\)\u003C/code\u003E where the closing dollar is missing.", + IllegalMacroParam: "This error happens when an invalid macro parameter reference is used e.g. \u003Ccode\u003E\\( \\def\\mymacro#1{#2} \\mymacro{x} \\)\u003C/code\u003E where '#2' is invalid since \u003Ccode\u003E\\mymacro\u003C/code\u003E has only one parameter.", + MaxBufferSize: "The buffer size refers to the memory used by the TeX input processor.\n\nThis error may happen with recursive calls e.g. \u003Ccode\u003E\\( \\newcommand{\\a}{\\a\\a} \\a \\)\u003C/code\u003E.\n\nNote that the number of a's is exponential with respect to the number of recursive calls.\n\nHence 'MaxBufferSize' is likely to happen before 'MaxMacroSub1'", + CommandNotAllowedInEnv: "This appears when the \u003Ccode\u003E\\tag\u003C/code\u003E command is used inside an environment that does not allow labelling e.g. \u003Ccode\u003E\\begin{split} x \\tag{x} \\end{split}\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\tag\u003C/code\u003E\n* %2 - the name of the environment", + MultipleLabel: "This happens when TeX labels are duplicated e.g. \u003Ccode\u003E\\( \\label{x} \\) \\( \\label{x} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - TeX label name", + CommandAtTheBeginingOfLine: "This happens when showleft/showright are misplaced. Parameters:\n* %1 - the macro name", + IllegalAlign: "This happens when an invalid alignment is specified in \u003Ccode\u003E\\cfrac\u003C/code\u003E e.g. \u003Ccode\u003E\\cfrac[INVALID]{a}{b}\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\cfrac\u003C/code\u003E", + BadMathStyleFor: "This happens when an invalid style is specified in \u003Ccode\u003E\\genfrac\u003C/code\u003E e.g. \u003Ccode\u003E\\genfrac{\\{}{\\}}{0pt}{INVALID}{a}{b}\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\genfrac\u003C/code\u003E", + PositiveIntegerArg: "This happens when an invalid alignment is specified in the \u003Ccode\u003Ealignedat\u003C/code\u003E environment e.g. \u003Ccode\u003E\\begin{alignedat}{INVALID}\\end{alignedat}\u003C/code\u003E.", + ErroneousNestingEq: "This happens when some equation structures are nested in a way forbidden by LaTeX e.g. two nested \u003Ccode\u003Emultline\u003C/code\u003E environment.", + MultlineRowsOneCol: "This happens when a row of the \u003Ccode\u003Emultline\u003C/code\u003E environment has more than one column e.g. \u003Ccode\u003E\\begin{multline} x \u0026 y \\end{multline}\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name \u003Ccode\u003Emultline\u003C/code\u003E", + MultipleBBoxProperty: "This appears with the TeX command \u003Ccode\u003E\\bbox\u003C/code\u003E when a property e.g. the background color is specified twice.\n\nParameters:\n* %1 - the name of the duplicate property\n* %2 - the command name \u003Ccode\u003E\\bbox\u003C/code\u003E", + InvalidBBoxProperty: "This appears with the TeX command \u003Ccode\u003E\\bbox\u003C/code\u003E when a property is not a color, a padding dimension, or a style.\n\n'padding' is a CSS property name for the 'inner margin' of a box. You may verify on MDN how it is translated in your language.\n\nParameters:\n* %1 - the name of the invalid property specified", + ExtraEndMissingBegin: "{{doc-important|Do not translate \u003Ccode\u003E\\begingroup\u003C/code\u003E.}}\nThis appears in TeX expressions when begingroup/endgroup do not match. Parameters:\n* %1 - the command name \u003Ccode\u003E\\endgroup\u003C/code\u003E", + GlobalNotFollowedBy: "{{doc-important|Do not translate \u003Ccode\u003E\\let\u003C/code\u003E, \u003Ccode\u003E\\def\u003C/code\u003E, or \u003Ccode\u003E\\newcommand\u003C/code\u003E; they are TeX expressions.}}\nThis appears in TeX expressions when \u003Ccode\u003E\\global\u003C/code\u003E is not followed by \u003Ccode\u003E\\let\u003C/code\u003E, \u003Ccode\u003E\\def\u003C/code\u003E, or \u003Ccode\u003E\\newcommand\u003C/code\u003E", + UndefinedColorModel: "An invalid color model is used for the \u003Ccode\u003E\\color\u003C/code\u003E command. Parameters:\n* %1 - the color model specified", + ModelArg1: "An invalid color value is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[RGB]{}{} \\)\u003C/code\u003E\n\nParameters:\n* %1 - color model name", + InvalidDecimalNumber: "An invalid decimal number is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[rgb]{,,}{} \\)\u003C/code\u003E.\n\nA valid decimal number is such as: 12, 12., 12.34, .34", + ModelArg2: "An out-of-range number is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[RGB]{256,,}{} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the color model e.g. \u003Ccode\u003ERGB\u003C/code\u003E\n* %2 - the lower bound of the valid interval e.g. 0 for the RGB color model\n* %3 - the upper bound of the valid interval e.g. 255 for the RGB color model", + InvalidNumber: "An invalid number is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[RGB]{,,}{} \\)\u003C/code\u003E.\n\nA valid number is such as: 123", + NewextarrowArg1: "Used when the first argument of \u003Ccode\u003E\\Newextarrow\u003C/code\u003E is invalid. Parameters:\n* %1 - the command name \u003Ccode\u003E\\Newextarrow\u003C/code\u003E", + NewextarrowArg2: "Used when the second argument of \u003Ccode\u003E\\Newextarrow\u003C/code\u003E is invalid. Parameters:\n* %1 - the command name \u003Ccode\u003E\\Newextarrow\u003C/code\u003E", + NewextarrowArg3: "Used when the third argument of \u003Ccode\u003E\\Newextarrow\u003C/code\u003E is invalid. Parameters:\n* %1 - the command name \u003Ccode\u003E\\Newextarrow\u003C/code\u003E", + NoClosingChar: "This is used in TeX mhchem expressions when a closing delimiters is missing e.g. \u003Ccode\u003E\\( \\ce{ -\u003E[ } \\)\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E)\u003C/code\u003E, \u003Ccode\u003E}\u003C/code\u003E, or \u003Ccode\u003E]\u003C/code\u003E", + IllegalControlSequenceName: "This appears when the \u003Ccode\u003E\\newcommand\u003C/code\u003E TeX command is given an illegal control sequence name.\n\nParameters:\n* %1 - \u003Ccode\u003E\\newcommand\u003C/code\u003E", + IllegalParamNumber: "This appears when the \u003Ccode\u003E\\newcommand\u003C/code\u003E TeX command is given an illegal number of parameters.\n\nParameters:\n* %1 - \u003Ccode\u003E\\newcommand\u003C/code\u003E", + MissingCS: "This appears when a TeX definitions is not followed by a control sequence e.g. \u003Ccode\u003E\\let INVALID\u003C/code\u003E.\n\nParameters:\n* %1 - may be commands like \u003Ccode\u003E\\let\u003C/code\u003E, \u003Ccode\u003E\\def\u003C/code\u003E, \u003Ccode\u003E\\newcommand\u003C/code\u003E, \u003Ccode\u003E\\global\u003C/code\u003E, etc.", + CantUseHash2: "This appears when the character '#' is incorrectly used in TeX definitions, e.g. \u003Ccode\u003E\\def\\mycommand{{red|#}}A\u003C/code\u003E.\n\nParameters:\n* %1 - the command used e.g. \u003Ccode\u003Emycommand\u003C/code\u003E", + SequentialParam: "This appears in TeX definitions when parameters are not numbered sequentially e.g. \u003Ccode\u003E\\def\\mycommand#2#1\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\def\u003C/code\u003E", + MissingReplacementString: "This appears in TeX definitions when you don't specify a replacement string e.g. \u003Ccode\u003E\\def\\mycommand\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\def\u003C/code\u003E", + MismatchUseDef: "This appears in TeX definitions when a TeX command does not match its definition e.g. \u003Ccode\u003E\\( \\def\\mycommand[#1]#2[#3]{#1+#2+#3} \\mycommand{a}{b}[c] \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\mycommand\u003C/code\u003E", + RunawayArgument: "This appears in TeX definitions when a TeX command does not match its definition e.g. \u003Ccode\u003E\\( \\def\\mycommand[#1][#2]#3{#1+#2+#3} \\mycommand[a]{b} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\mycommand\u003C/code\u003E", + NoClosingDelim: "This appears in TeX expressions when a \u003Ccode\u003E\\verb\u003C/code\u003E command is not closed e.g. \u003Ccode\u003E\\( \\verb?... \\)\u003C/code\u003E is missing a closing question mark.\n\nParameters:\n* %1 - the command name" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/qqq.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/qqq.js new file mode 100644 index 00000000..21ed79f3 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/qqq.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/localization/qqq/qqq.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq",null,{ + menuTitle: "Message Documentation", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "This alert message is displayed when the MathJax cookie contains some data with URL or Config properties. These properties may be used to ask MathJax to perform actions during the Configuration phase: either loading a javascript file (URL property) or executing a configuration function (Config property). Note that the character '\\n' is used to specify new lines inside the alert box.", + MathProcessingError: "This message appears when a Javascript error happens during the processing of a mathematical element.", + MathError: "This message appears instead of 'Math Processing Error' when the obsolete Accessible configuration is used.", + LoadFile: "This appears in the MathJax message box when a file is loading. Parameters:\n* %1 - the file name\n{{Identical|Loading}}", + Loading: "This appears in the MathJax message box when a file is loading and the messageStyle configuration option is set to 'simple'.\n\nIt will be followed by growing sequence of dots to show the progress.\n{{Identical|Loading}}", + LoadFailed: "This appears in the MathJax message box when a file fails to load. Parameters:\n* %1 - the file name", + ProcessMath: "This appears in the MathJax message box during the conversion process from an input format (e.g., LaTeX, asciimath) to MathJax's internal format.\n\nParameters:\n* %1 - a percentage", + Processing: "This appears in the MathJax message box during the conversion process from an input format (e.g., LaTeX, asciimath) to MathJax's internal format when the messageStyle configuration option is set to 'simple'.\n\nIt will be followed by growing sequence of dots to show the progress.\n{{Identical|Processing}}", + TypesetMath: "This appears in the MathJax message box during the layout process of converting the internal format to the output format.\n\nParameters:\n* %1 - a percentage", + Typesetting: "This appears in the MathJax message box during the layout process of converting the internal format to the output format when the messageStyle configuration option is set to 'simple'.\n\nIt will be followed by growing sequence of dots to show the progress.", + MathJaxNotSupported: "This appears in the MathJax message box when MathJax determines the browser does not have adequate features.", + ErrorTips: "Debugging tips that appear in 'Show Math As' pop-ups if a rendering error occured." + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) {return 1}, + number: function (n) {return n} +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/qqq.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/FontWarnings.js new file mode 100644 index 00000000..a9a0b1f8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ru/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043D\u0430\u00A0\u044D\u0442\u043E\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435 \u0441\u00A0\u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0441\u0435\u0442\u0435\u0432\u044B\u0445 \u0448\u0440\u0438\u0444\u0442\u043E\u0432. \u0427\u0442\u043E\u0431\u044B\u00A0\u0443\u0441\u043A\u043E\u0440\u0438\u0442\u044C \u043F\u043E\u043A\u0430\u0437, \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0448\u0440\u0438\u0444\u0442\u044B \u043D\u0430\u00A0\u0412\u0430\u0448\u0435\u0439 \u043C\u0430\u0448\u0438\u043D\u0435.", + imageFonts: "MathJax \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0440\u0430\u0441\u0442\u0440\u043E\u0432\u044B\u0435 \u0448\u0440\u0438\u0444\u0442\u044B, \u0430\u00A0\u043D\u0435\u00A0\u0441\u0435\u0442\u0435\u0432\u044B\u0435 \u0438\u043B\u0438\u00A0\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435. \u042D\u0442\u043E \u0437\u0430\u043C\u0435\u0434\u043B\u044F\u0435\u0442 \u043F\u043E\u043A\u0430\u0437 \u0444\u043E\u0440\u043C\u0443\u043B, \u043A\u0440\u043E\u043C\u0435 \u0442\u043E\u0433\u043E, \u043E\u043D\u0438 \u043C\u043E\u0433\u0443\u0442 \u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C\u0441\u044F \u0441\u00A0\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u043C\u0435\u043D\u044C\u0448\u0438\u043C, \u0447\u0435\u043C\u00A0\u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u043F\u0440\u0438\u043D\u0442\u0435\u0440.", + noFonts: "MathJax \u043D\u0435\u00A0\u0441\u0443\u043C\u0435\u043B \u043F\u043E\u0434\u043E\u0431\u0440\u0430\u0442\u044C \u0448\u0440\u0438\u0444\u0442 \u0434\u043B\u044F\u00A0\u0432\u044B\u0432\u043E\u0434\u0430 \u0444\u043E\u0440\u043C\u0443\u043B, \u0430\u00A0\u0440\u0430\u0441\u0442\u0440\u043E\u0432\u044B\u0435 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u043E\u043D \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0441\u0438\u043C\u0432\u043E\u043B\u044B Unicode, \u0432\u00A0\u043D\u0430\u0434\u0435\u0436\u0434\u0435, \u0447\u0442\u043E\u00A0\u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0441\u043C\u043E\u0436\u0435\u0442 \u0438\u0445 \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C. \u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435, \u0438\u043B\u0438 \u0434\u0430\u0436\u0435 \u0432\u0441\u0435, \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043C\u043E\u0433\u0443\u0442 \u043D\u0435\u00A0\u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C\u0441\u044F.", + webFonts: "\u0411\u043E\u043B\u044C\u0448\u0430\u044F \u0447\u0430\u0441\u0442\u044C \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043E\u0432 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0441\u0435\u0442\u0435\u0432\u044B\u0435 \u0448\u0440\u0438\u0444\u0442\u044B. \u0415\u0441\u043B\u0438\u00A0\u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0438\u043B\u0438\u00A0\u0441\u043C\u0435\u043D\u0438\u0442\u044C \u0431\u0440\u0430\u0443\u0437\u0435\u0440, \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043C\u043E\u0433\u0443\u0442 \u0432\u044B\u0432\u043E\u0434\u0438\u0442\u044C\u0441\u044F \u043B\u0443\u0447\u0448\u0435.", + fonts: "MathJax \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0438\u043B\u0438 [STIX fonts](%1) \u0438\u043B\u0438 [MathJax TeX fonts](%2). \u0421\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u0438\u00A0\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u043E\u0434\u043D\u043E \u0438\u0437\u00A0\u0434\u0432\u0443\u0445, \u0447\u0442\u043E\u0431\u044B\u00A0\u0443\u043B\u0443\u0447\u0448\u0438\u0442\u044C \u0432\u044B\u0432\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B.", + STIXPage: "\u042D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F [STIX-\u0448\u0440\u0438\u0444\u0442\u043E\u0432](%1). \u0421\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0438 \u0448\u0440\u0438\u0444\u0442\u044B, \u0447\u0442\u043E\u0431\u044B \u0443\u043B\u0443\u0447\u0448\u0438\u0442\u044C \u0440\u0430\u0431\u043E\u0442\u0443 \u0441 MathJax.", + TeXPage: "\u042D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F [MathJax TeX-\u0448\u0440\u0438\u0444\u0442\u043E\u0432](%1). \u0421\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0438 \u0448\u0440\u0438\u0444\u0442\u044B, \u0447\u0442\u043E\u0431\u044B \u0443\u043B\u0443\u0447\u0448\u0438\u0442\u044C \u0440\u0430\u0431\u043E\u0442\u0443 \u0441 MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HTML-CSS.js new file mode 100644 index 00000000..d1604994 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ru/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0430 %1", + CantLoadWebFont: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442 %1", + FirefoxCantLoadWebFont: "Firefox \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u044B \u0441 \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u043E\u0433\u043E \u0445\u043E\u0441\u0442\u0430", + CantFindFontUsing: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0448\u0440\u0438\u0444\u0442 \u0441\u0440\u0435\u0434\u0438 %1", + WebFontsNotAvailable: "\u0412\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u044B \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B \u2014 \u0432\u043C\u0435\u0441\u0442\u043E \u043D\u0438\u0445 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C \u0448\u0440\u0438\u0444\u0442\u044B \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HelpDialog.js new file mode 100644 index 00000000..c3c8459f --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/ru/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u041F\u043E\u043C\u043E\u0447\u044C \u043F\u043E MathJax", + MathJax: "*MathJax*\u00A0\u2014 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0430 \u043D\u0430\u00A0JavaScript, \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0449\u0430\u044F \u0432\u044B\u0432\u043E\u0434\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043D\u0430\u00A0\u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0445. \u0418\u0445\u00A0\u0447\u0438\u0442\u0430\u0442\u0435\u043B\u044F\u043C \u0434\u043B\u044F\u00A0\u044D\u0442\u043E\u0433\u043E \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435\u00A0\u043D\u0430\u0434\u043E \u0434\u0435\u043B\u0430\u0442\u044C.", + Browsers: "*\u0411\u0440\u0430\u0443\u0437\u0435\u0440\u044B*: MathJax \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0441\u043E\u00A0\u0432\u0441\u0435\u043C\u0438 \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u043C\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u043C\u0438, \u0432\u043A\u043B\u044E\u0447\u0430\u044F IE6+, Firefox 3+, Chrome 0.2+, Safari 2+. Opera 9.6+ \u0438\u00A0\u0431\u043E\u043B\u044C\u0448\u0438\u043D\u0441\u0442\u0432\u043E \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0445", + Menu: "*\u041C\u0435\u043D\u044E \u0444\u043E\u0440\u043C\u0443\u043B*: MathJax \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442 \u043A\u00A0\u0444\u043E\u0440\u043C\u0443\u043B\u0430\u043C \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E, \u0432\u044B\u0437\u044B\u0432\u0430\u0435\u043C\u043E\u0435 \u043F\u0440\u0430\u0432\u043E\u0439 \u043A\u043D\u043E\u043F\u043A\u043E\u0439 \u043C\u044B\u0448\u0438 \u0438\u043B\u0438\u00A0\u0449\u0435\u043B\u0447\u043A\u043E\u043C \u0441\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 Ctrl.", + ShowMath: "*\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u0443 \u043A\u0430\u043A* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0443\u0432\u0438\u0434\u0435\u0442\u044C \u0438\u00A0\u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u0432\u00A0\u0444\u043E\u0440\u043C\u0430\u0442\u0435 MathML \u0438\u043B\u0438\u00A0\u043F\u0435\u0440\u0432\u043E\u043D\u0430\u0447\u0430\u043B\u044C\u043D\u043E\u043C.", + Settings: "*\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442 \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044C \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438 MathJax, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0440\u0430\u0437\u043C\u0435\u0440 \u0444\u043E\u0440\u043C\u0443\u043B \u0438\u00A0\u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C \u0438\u0445\u00A0\u043F\u043E\u043A\u0430\u0437\u0430.", + Language: "*\u042F\u0437\u044B\u043A* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u044F\u0437\u044B\u043A \u043C\u0435\u043D\u044E \u0438\u00A0\u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 MathJax.", + Zoom: "*\u0423\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0435* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u0443.", + Accessibilty: "*\u0421\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438*: MathJax \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u044B \u0447\u0442\u0435\u043D\u0438\u044F, \u043E\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u044F \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u0434\u043B\u044F\u00A0\u0441\u043B\u0435\u043F\u044B\u0445 \u0438\u00A0\u0441\u043B\u0430\u0431\u043E\u0432\u0438\u0434\u044F\u0449\u0438\u0445.", + Fonts: "*\u0428\u0440\u0438\u0444\u0442\u044B*: MathJax \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u0435 \u0448\u0440\u0438\u0444\u0442\u044B, \u0435\u0441\u043B\u0438\u00A0\u043E\u043D\u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u044B \u043D\u0430\u00A0\u0412\u0430\u0448\u0435\u043C \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435, \u0432\u00A0\u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044E\u0442\u0441\u044F \u0441\u0435\u0442\u0435\u0432\u044B\u0435. \u041C\u044B \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C [STIX fonts](%1), \u0447\u0442\u043E\u0431\u044B\u00A0\u0443\u0441\u043A\u043E\u0440\u0438\u0442\u044C \u0432\u044B\u0432\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B.", + CloseDialog: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433 \u0441\u043F\u0440\u0430\u0432\u043A\u0438" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathML.js new file mode 100644 index 00000000..c0e184ee --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ru/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 mglyph\u02D0 %1", + BadMglyphFont: "\u041F\u043B\u043E\u0445\u043E\u0439 \u0448\u0440\u0438\u0444\u0442: %1", + MathPlayer: "MathJax \u043D\u0435\u00A0\u0441\u043C\u043E\u0433 \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C MathPlayer.\n\n\u0415\u0441\u043B\u0438\u00A0MathPlayer \u043D\u0435\u00A0\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D, \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435. \u0415\u0441\u043B\u0438\u00A0\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D, \u0432\u0435\u0440\u043E\u044F\u0442\u043D\u043E, \u0412\u0430\u0448\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438 \u043D\u0435\u00A0\u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442 \u0437\u0430\u043F\u0443\u0441\u043A ActiveX. \u0412\u00A0\u043C\u0435\u043D\u044E \u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B|\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043E\u0431\u043E\u0437\u0440\u0435\u0432\u0430\u0442\u0435\u043B\u044F \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u043A\u043B\u0430\u0434\u043A\u0443 \u00AB\u0411\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C\u00BB, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443 \u00AB\u0414\u0440\u0443\u0433\u043E\u0439\u2026\u00BB \u0438\u00A0\u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E\u00A0\u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B ActiveX \u0438\u00A0\u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u0434\u0432\u043E\u0438\u0447\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430 \u0438\u00A0\u0441\u0446\u0435\u043D\u0430\u0440\u0438\u0435\u0432 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u044B.\n\n\u0421\u0435\u0439\u0447\u0430\u0441 \u0412\u044B \u0434\u043E\u043B\u0436\u043D\u044B \u0432\u0438\u0434\u0435\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043E\u0431\u00A0\u043E\u0448\u0438\u0431\u043A\u0430\u0445, \u0430\u00A0\u043D\u0435\u00A0\u0444\u043E\u0440\u043C\u0443\u043B\u044B.", + CantCreateXMLParser: "MathJax \u043D\u0435\u00A0\u0441\u043C\u043E\u0433 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0430\u0440\u0441\u0435\u0440 XML \u0434\u043B\u044F\u00A0MathML. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E\u00A0\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B ActiveX, \u043E\u0442\u043C\u0435\u0447\u0435\u043D\u043D\u044B\u0435 \u043A\u0430\u043A\u00A0\u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u044B\u0435 \u0434\u043B\u044F\u00A0\u0441\u043A\u0440\u0438\u043F\u0442\u043E\u0432, \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u044B (\u0412\u00A0\u043C\u0435\u043D\u044E \u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B|\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043E\u0431\u043E\u0437\u0440\u0435\u0432\u0430\u0442\u0435\u043B\u044F \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u043A\u043B\u0430\u0434\u043A\u0443 \u00AB\u0411\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C\u00BB, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443 \u00AB\u0414\u0440\u0443\u0433\u043E\u0439\u2026\u00BB).\n\nMathJax \u043D\u0435\u00A0\u0441\u043C\u043E\u0436\u0435\u0442 \u0432\u044B\u0432\u0435\u0441\u0442\u0438 \u0444\u043E\u0440\u043C\u0443\u043B\u044B MathML.", + UnknownNodeType: "\u041D\u0435\u0438\u0437\u043C\u0435\u0441\u0442\u043D\u044B\u0439 \u0442\u044D\u0433 %1", + UnexpectedTextNode: "\u0422\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u0439 \u0443\u0437\u0435\u043B %1 \u0432\u00A0\u044D\u0442\u043E\u043C \u043C\u0435\u0441\u0442\u0435 \u043D\u0435\u00A0\u043E\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044F", + ErrorParsingMathML: "\u041E\u0448\u0438\u0431\u043A\u0430 \u0440\u0430\u0437\u0431\u043E\u0440\u0430 MathML", + ParsingError: "\u041E\u0448\u0438\u0431\u043A\u0430 \u0440\u0430\u0437\u0431\u043E\u0440\u0430 MathML: %1", + MathMLSingleElement: "MathML \u0434\u043E\u043B\u0436\u0435\u043D \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u0438\u043D \u0442\u044D\u0433 \u003Cmath\u003E", + MathMLRootElement: "\u041A\u043E\u0440\u043D\u0435\u0432\u044B\u043C \u0443\u0437\u043B\u043E\u043C MathML \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u003Cmath\u003E, \u043D\u0435\u00A0%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathMenu.js new file mode 100644 index 00000000..a306352a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/ru/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u0432\u00A0\u0432\u0438\u0434\u0435:", + MathMLcode: "\u041A\u043E\u0434 MathML", + OriginalMathML: "\u041E\u0440\u0438\u0433\u0438\u043D\u0430\u043B\u044C\u043D\u044B\u0439 MathML", + TeXCommands: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B TeX", + AsciiMathInput: "\u0412\u0432\u043E\u0434 AsciiMathML", + Original: "\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u0432\u0438\u0434", + ErrorMessage: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0435", + Annotation: "\u0410\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u044F", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "\u0421\u043C\u044B\u0441\u043B\u043E\u0432\u0430\u044F \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0430", + OpenMath: "OpenMath", + texHints: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0438 \u0438\u0437 TeX \u0432 MathML", + Settings: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 Math", + ZoomTrigger: "\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F", + Hover: "\u041F\u0440\u0438\u00A0\u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044F \u043C\u044B\u0448\u0438", + Click: "\u041F\u0440\u0438 \u0449\u0435\u043B\u0447\u043A\u0435 \u043C\u044B\u0448\u044C\u044E", + DoubleClick: "\u041F\u0440\u0438\u00A0\u0434\u0432\u043E\u0439\u043D\u043E\u043C \u0449\u0435\u043B\u0447\u043A\u0435 \u043C\u044B\u0448\u044C\u044E", + NoZoom: "\u0411\u0435\u0437 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F", + TriggerRequires: "\u041F\u0440\u0438\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 \u043A\u043B\u0430\u0432\u0438\u0448\u0435:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "\u0423\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0435", + Renderer: "\u041E\u0442\u0440\u0438\u0441\u043E\u0432\u0449\u0438\u043A \u0444\u043E\u0440\u043C\u0443\u043B:", + MPHandles: "\u041F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u0449\u0435\u043B\u0447\u043A\u043E\u0432 \u043C\u044B\u0448\u044C\u044E MathPlayer", + MenuEvents: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0433\u043E \u043C\u0435\u043D\u044E", + MouseEvents: "\u0421\u043E\u0431\u044B\u0442\u0438\u044F \u043C\u044B\u0448\u0438", + MenuAndMouse: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0433\u043E \u043C\u0435\u043D\u044E \u0438 \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u043C\u044B\u0448\u0438", + FontPrefs: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0448\u0440\u0438\u0444\u0442\u043E\u0432", + ForHTMLCSS: "\u0414\u043B\u044F HTML-CSS:", + Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438", + TeXLocal: "TeX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435)", + TeXWeb: "TeX (\u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442)", + TeXImage: "TeX (\u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435)", + STIXLocal: "STIX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435)", + STIXWeb: "STIX (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + AsanaMathWeb: "Asana Math (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + GyrePagellaWeb: "Gyre Pagella (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + GyreTermesWeb: "Gyre Termes (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + LatinModernWeb: "Latin Modern (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + NeoEulerWeb: "Neo Euler (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + ContextMenu: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E", + Browser: "\u0411\u0440\u0430\u0443\u0437\u0435\u0440", + Scale: "\u0423\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C \u0432\u0441\u0435 \u0444\u043E\u0440\u043C\u0443\u043B\u044B\u2026", + Discoverable: "\u041F\u043E\u0434\u0441\u0432\u0435\u0442\u0438\u0442\u044C \u043F\u043E\u0434\u00A0\u043C\u044B\u0448\u044C\u044E", + Locale: "\u042F\u0437\u044B\u043A", + LoadLocale: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0441 URL-\u0430\u0434\u0440\u0435\u0441\u0430...", + About: "\u041E MathJax", + Help: "\u041F\u043E\u043C\u043E\u0449\u044C \u043F\u043E MathJax", + localTeXfonts: "\u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0445 \u0448\u0440\u0438\u0444\u0442\u043E\u0432 TeX", + webTeXfonts: "\u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u043E\u0432 TeX", + imagefonts: "\u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0448\u0440\u0438\u0444\u0442\u043E\u0432", + localSTIXfonts: "\u0441\u00A0\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u0432 STIX \u043D\u0430\u00A0\u044D\u0442\u043E\u0439 \u043C\u0430\u0448\u0438\u043D\u0435", + webSVGfonts: "\u0441\u00A0\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0441\u0435\u0442\u0435\u0432\u044B\u0445 SVG-\u0448\u0440\u0438\u0444\u0442\u043E\u0432", + genericfonts: "\u0441\u00A0\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C Unicod-\u0448\u0440\u0438\u0444\u0442\u043E\u0432 \u043F\u043E\u00A0\u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043D\u0430\u00A0\u044D\u0442\u043E\u0439 \u043C\u0430\u0448\u0438\u043D\u0435", + wofforotffonts: "\u0428\u0440\u0438\u0444\u0442\u044B WOFF \u0438\u043B\u0438\u00A0OTF", + eotffonts: "EOT-\u0448\u0440\u0438\u0444\u0442\u044B", + svgfonts: "SVG-\u0448\u0440\u0438\u0444\u0442\u044B", + WebkitNativeMMLWarning: "\u041F\u043E\u0445\u043E\u0436\u0435, \u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u0441\u043F\u043E\u0441\u043E\u0431\u0435\u043D \u0441\u0430\u043C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C MathML, \u043F\u043E\u044D\u0442\u043E\u043C\u0443\u00A0\u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0432\u00A0\u0440\u0435\u0436\u0438\u043C MathML \u043C\u043E\u0436\u0435\u0442 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043D\u0435\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u043C\u0438", + MSIENativeMMLWarning: "Internet Explorer \u043C\u043E\u0436\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C MathML \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u00A0\u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043F\u043B\u0430\u0433\u0438\u043D\u0430 MathPlayer.", + OperaNativeMMLWarning: "Opera \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u043D\u043E \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 MathML, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0432\u00A0\u0440\u0435\u0436\u0438\u043C\u0435 MathML \u0447\u0430\u0441\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u0432\u043E\u0434\u0438\u0442\u044C\u0441\u044F \u043F\u043B\u043E\u0445\u043E.", + SafariNativeMMLWarning: "\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C MathML \u0412\u0430\u0448\u0435\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043D\u0435\u00A0\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0441\u0435\u0445 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0445 MathJax \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0435\u0439, \u043F\u043E\u044D\u0442\u043E\u043C\u0443\u00A0\u0447\u0430\u0441\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C\u00A0\u0432\u044B\u0432\u0435\u0434\u0435\u043D\u0430 \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E.", + FirefoxNativeMMLWarning: "\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C MathML \u0412\u0430\u0448\u0435\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043D\u0435\u00A0\u0432\u0441\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0435 MathJax \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0447\u0430\u0441\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B \u043C\u043E\u0436\u0435\u0442 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E.", + MSIESVGWarning: "SVG \u043D\u0435\u00A0\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F Internet Explorer'\u043E\u043C \u0434\u043E\u00A0IE9 \u0438\u00A0\u0432\u00A0\u0440\u0435\u0436\u0438\u043C\u0435 \u044D\u043C\u0443\u043B\u044F\u0446\u0438\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 IE8 \u0438\u043B\u0438\u00A0\u043D\u0438\u0436\u0435. \u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0432\u00A0\u0440\u0435\u0436\u0438\u043C SVG \u043C\u043E\u0436\u0435\u0442 \u0432\u044B\u0437\u0432\u0430\u0442\u044C \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0444\u043E\u0440\u043C\u0443\u043B.", + LoadURL: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043D\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043F\u043E\u00A0\u0430\u0434\u0440\u0435\u0441\u0443:", + BadURL: "URL \u0434\u043E\u043B\u0436\u0435\u043D \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043D\u0430\u00A0\u0444\u0430\u0439\u043B JavaScript, \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u044E\u0449\u0438\u0439 \u043F\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043D\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F. \u0424\u0430\u0439\u043B\u044B JavaScript \u043E\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435\u043C \u00AB.js\u00BB", + BadData: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043D\u043D\u044B\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u043F\u043E\u00A0\u0430\u0434\u0440\u0435\u0441\u0443 %1 \u043D\u0435\u00A0\u0443\u0434\u0430\u043B\u0430\u0441\u044C", + SwitchAnyway: "\u0412\u0441\u0451 \u0440\u0430\u0432\u043D\u043E \u0441\u043C\u0435\u043D\u0438\u0442\u044C \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C \u043E\u0442\u0440\u0438\u0441\u043E\u0432\u043A\u0438 \u0444\u043E\u0440\u043C\u0443\u043B?\n\n(\u041D\u0430\u0436\u043C\u0438\u0442\u0435 OK \u0434\u043B\u044F\u00A0\u0441\u043C\u0435\u043D\u044B, \u041E\u0442\u043C\u0435\u043D\u0430, \u0447\u0442\u043E\u0431\u044B\u00A0\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0435\u0436\u043D\u0438\u0439)", + ScaleMath: "\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043C\u0430\u0441\u0448\u0442\u0430\u0431 \u0432\u0441\u0435\u0445 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0439 (\u043F\u043E \u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u044E \u0441 \u043E\u043A\u0440\u0443\u0436\u0430\u044E\u0449\u0438\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C) \u043D\u0430", + NonZeroScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0440\u0430\u0432\u0435\u043D \u043D\u0443\u043B\u044E", + PercentScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0432\u044B\u0440\u0430\u0436\u0435\u043D \u0432 \u043F\u0440\u043E\u0446\u0435\u043D\u0442\u0430\u0445 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 120%%)", + IE8warning: "\u042D\u0442\u043E \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E MathJax \u0438\u00A0\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F, \u043D\u043E\u00A0\u043C\u0435\u043D\u044E \u043F\u043E-\u043F\u0440\u0435\u0436\u043D\u0435\u043C\u0443 \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043F\u043E\u00A0\u0449\u0435\u043B\u0447\u043A\u0443 \u043C\u044B\u0448\u044C\u044E \u0441\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 Alt.\n\n\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 MathPlayer?", + IE9warning: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E MathJax \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u043D\u043E\u00A0\u043F\u043E \u0449\u0435\u043B\u0447\u043A\u0443 \u043C\u044B\u0448\u044C\u044E \u0441\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 Alt \u043E\u043D\u043E \u043F\u043E-\u043F\u0440\u0435\u0436\u043D\u0435\u043C\u0443 \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E.", + NoOriginalForm: "\u041D\u0435\u0442 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430", + Close: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", + EqSource: "\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u044B", + CloseAboutDialog: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433 \"\u041E \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0435\"", + FastPreview: "\u0411\u044B\u0441\u0442\u0440\u044B\u0439 \u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440", + AssistiveMML: "\u0412\u0441\u043F\u043E\u043C\u043E\u0433\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 MathML", + InTabOrder: "\u0412\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0432 \u043F\u043E\u0440\u044F\u0434\u043A\u0435 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/TeX.js new file mode 100644 index 00000000..d8e50ccc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/ru/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u041B\u0438\u0448\u043D\u044F\u044F \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0430\u044F \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430", + ExtraCloseMissingOpen: "\u041B\u0438\u0448\u043D\u044F\u044F \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0430\u044F \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430", + MissingLeftExtraRight: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \\left \u0438\u043B\u0438 \u043B\u0438\u0448\u043D\u0438\u0439 \\right", + MissingScript: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430\u0434\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0439 \u0438\u043B\u0438 \u043F\u043E\u0434\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442", + ExtraLeftMissingRight: "\u041B\u0438\u0448\u043D\u0438\u0439 \\left \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \\right", + Misplaced: "%1 \u043D\u0435\u00A0\u043D\u0430\u00A0\u043C\u0435\u0441\u0442\u0435", + MissingOpenForSub: "\u041D\u0435\u0442\u00A0\u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0435\u0439 \u0441\u043A\u043E\u0431\u043A\u0438 \u0432\u00A0\u043D\u0438\u0436\u043D\u0435\u043C \u0438\u043D\u0434\u0435\u043A\u0441\u0435", + MissingOpenForSup: "\u041D\u0435\u0442\u00A0\u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0435\u0439 \u0441\u043A\u043E\u0431\u043A\u0438 \u0432\u00A0\u043D\u0438\u0436\u043D\u0435\u043C \u0438\u043D\u0434\u0435\u043A\u0441\u0435", + AmbiguousUseOf: "\u041D\u0435\u043E\u0434\u043D\u043E\u0437\u043D\u0430\u0447\u043D\u043E\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 %1", + EnvBadEnd: "\\begin{%1} \u0437\u0430\u043A\u0440\u044B\u0442\u043E \u0441\u00A0\u043F\u043E\u043C\u043E\u0449\u044C\u044E \\end{%2}", + EnvMissingEnd: "\u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D \\end{%1}", + MissingBoxFor: "\u0423\u00A0%1 \u043D\u0435\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E", + MissingCloseBrace: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430", + UndefinedControlSequence: "\u041D\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u0430\u044F \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0430\u044F \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C %1", + DoubleExponent: "\u0414\u0432\u043E\u0439\u043D\u0430\u044F \u044D\u043A\u0441\u043F\u043E\u043D\u0435\u043D\u0442\u0430: \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0441\u043A\u043E\u0431\u043A\u0438 \u0434\u043B\u044F \u0443\u0442\u043E\u0447\u043D\u0435\u043D\u0438\u044F", + DoubleSubscripts: "\u0414\u0432\u0430 \u043D\u0438\u0436\u043D\u0438\u0445 \u0438\u043D\u0434\u0435\u043A\u0441\u0430 \u043F\u043E\u0434\u0440\u044F\u0434: \u043F\u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0444\u0438\u0433\u0443\u0440\u043D\u044B\u0435 \u0441\u043A\u043E\u0431\u043A\u0438", + DoubleExponentPrime: "\u0428\u0442\u0440\u0438\u0445 \u043F\u043E\u0441\u043B\u0435\u00A0\u0432\u0435\u0440\u0445\u043D\u0435\u0433\u043E \u0438\u043D\u0434\u0435\u043A\u0441\u0430: \u0443\u0442\u043E\u0447\u043D\u0438\u0442\u0435, \u043A\u00A0\u0447\u0435\u043C\u0443 \u043E\u043D \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0441\u044F, \u0444\u0438\u0433\u0443\u0440\u043D\u044B\u043C\u0438 \u0441\u043A\u043E\u0431\u043A\u0430\u043C\u0438", + CantUseHash1: "\u0412\u00A0\u0440\u0435\u0436\u0438\u043C\u0435 \u00ABmath\u00BB \u043D\u0435\u043B\u044C\u0437\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0438\u043C\u0432\u043E\u043B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 \u043C\u0430\u043A\u0440\u043E\u0441\u0430 #", + MisplacedMiddle: "%1 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u043D\u0443\u0442\u0440\u0438 \\left \u0438\u00A0\\right", + MisplacedLimits: "%1 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u00A0\u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0430\u043C\u0438", + MisplacedMoveRoot: "%1 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u00A0\u043A\u043E\u0440\u043D\u044F\u0445", + MultipleCommand: "\u041D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E %1", + IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0446\u0435\u043B\u044B\u043C \u0447\u0438\u0441\u043B\u043E\u043C", + NotMathMLToken: "%1\u00A0\u2014 \u043D\u0435\u00A0\u0441\u0438\u043C\u0432\u043E\u043B MML", + InvalidMathMLAttr: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 MathML: %1", + UnknownAttrForElement: "%1\u00A0\u2014 \u043D\u0435\u00A0\u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0442\u0435\u0433\u0430 MML %2", + MaxMacroSub1: "\u041F\u0440\u0435\u0432\u044B\u0448\u0435\u043D\u043E \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u043E\u0434\u0441\u0442\u0430\u043D\u043E\u0432\u043E\u043A \u043C\u0430\u043A\u0440\u043E\u0441\u0430: \u043D\u0435\u00A0\u0440\u0435\u043A\u0443\u0440\u0441\u0438\u044F\u00A0\u043B\u0438 \u044D\u0442\u043E?", + MaxMacroSub2: "\u041F\u0440\u0435\u0432\u044B\u0448\u0435\u043D\u043E \u043F\u0440\u0435\u0434\u0435\u043B\u044C\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u043E\u0434\u0441\u0442\u0430\u043D\u043E\u0432\u043E\u043A MathJax. \u041D\u0435\u0442\u00A0\u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0438 \u0432\u00A0\u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0438 LaTeX?", + MissingArgFor: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1", + ExtraAlignTab: "\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u043D\u043E\u0433\u043E \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432 \u0432\u00A0\\cases", + BracketMustBeDimension: "\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C (?) %1 \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C", + InvalidEnv: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u044F \u00AB%1\u00BB", + UnknownEnv: "\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E\u0435 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0435 \u00AB%1\u00BB", + ExtraCloseLooking: "\u041B\u0438\u0448\u043D\u044F\u044F \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430, \u043A\u043E\u0433\u0434\u0430 \u043E\u0436\u0438\u0434\u0430\u043B\u0430\u0441\u044C %1", + MissingCloseBracket: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0443\u044E ']' \u0434\u043B\u044F \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0430 \u043A %1", + MissingOrUnrecognizedDelim: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043B\u0438 \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0434\u043B\u044F %1", + MissingDimOrUnits: "\u041D\u0435\u0442\u00A0\u0435\u0434\u0438\u043D\u0438\u0446\u044B \u0438\u0437\u043C\u0435\u0440\u0435\u043D\u0438\u044F \u0432\u00A0%1", + TokenNotFoundForCommand: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 %1 \u0434\u043B\u044F %2", + MathNotTerminated: "\u041D\u0435\u0437\u0430\u043A\u0440\u044B\u0442\u0430\u044F \u0444\u043E\u0440\u043C\u0443\u043B\u0430 \u0432\u00A0\\text{}", + IllegalMacroParam: "\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430\u00A0\u043D\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0439 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043C\u0430\u043A\u0440\u043E\u0441\u0430", + MaxBufferSize: "\u0418\u0441\u0447\u0435\u0440\u043F\u0430\u043D \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u0431\u0443\u0444\u0435\u0440 MathJax: \u043D\u0435\u0442\u00A0\u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u043E\u0433\u043E \u043C\u0430\u043A\u0440\u043E\u0441\u0430?", + CommandNotAllowedInEnv: "%1 \u043D\u0435\u00A0\u043F\u043E\u0437\u0432\u043E\u043B\u0435\u043D \u0432\u00A0\u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0438 %2", + MultipleLabel: "\u041C\u0435\u0442\u043A\u0430 \u00AB%1\u00BB \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0440\u0430\u0437", + CommandAtTheBeginingOfLine: "%1 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0432\u00A0\u043D\u0430\u0447\u0430\u043B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438", + IllegalAlign: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u0432\u00A0%1", + BadMathStyleFor: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0441\u0442\u0438\u043B\u044C \u0434\u043B\u044F\u00A0%1", + PositiveIntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0430\u0442\u0443\u0440\u0430\u043B\u044C\u043D\u044B\u043C \u0447\u0438\u0441\u043B\u043E\u043C", + ErroneousNestingEq: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440", + MultlineRowsOneCol: "\u0412 \u0441\u0442\u0440\u043E\u043A\u0430\u0445 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u044F %1 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043F\u043E\u00A0\u043E\u0434\u043D\u043E\u043C\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u0443", + MultipleBBoxProperty: "%1 \u0443\u043A\u0430\u0437\u0430\u043D\u043E \u0434\u0432\u0430\u0436\u0434\u044B \u0432 %2", + InvalidBBoxProperty: "'%1'\u00A0\u2014 \u043D\u0435\u00A0\u0446\u0432\u0435\u0442, \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u043E\u0442\u0441\u0442\u0443\u043F \u0438\u043B\u0438\u00A0\u0441\u0442\u0438\u043B\u044C", + ExtraEndMissingBegin: "\u041B\u0438\u0448\u043D\u0435\u0435 %1 \u0438\u043B\u0438\u00A0\u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E \\begingroup", + GlobalNotFollowedBy: "\u041F\u043E\u0441\u043B\u0435 %1 \u043D\u0435\u0442 \\let, \\def \u0438\u043B\u0438\u00A0\\newcommand", + UndefinedColorModel: "\u0426\u0432\u0435\u0442\u043E\u0432\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C \u00AB%1\u00BB \u043D\u0435\u00A0\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0430", + ModelArg1: "\u0426\u0432\u0435\u0442\u043E\u0432\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C %1 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u0440\u0451\u0445\u00A0\u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432", + InvalidDecimalNumber: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0434\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E", + ModelArg2: "\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432 \u0446\u0432\u0435\u0442\u0430 \u0432\u00A0\u043C\u043E\u0434\u0435\u043B\u0438 %1 \u0434\u043E\u043B\u0436\u043D\u044B \u0431\u044B\u0442\u044C \u043C\u0435\u0436\u0434\u0443 %2 \u0438 %3", + InvalidNumber: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0447\u0438\u0441\u043B\u043E", + NewextarrowArg1: "\u041F\u0435\u0440\u0432\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0430\u0431\u043E\u0440 \u043A\u043E\u043C\u0430\u043D\u0434", + NewextarrowArg2: "\u0412\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C %1 \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u043F\u0430\u0440\u0430 \u0446\u0435\u043B\u044B\u0445 \u0447\u0438\u0441\u0435\u043B, \u0440\u0430\u0437\u0434\u0435\u043B\u0451\u043D\u043D\u0430\u044F \u0437\u0430\u043F\u044F\u0442\u043E\u0439", + NewextarrowArg3: "\u0422\u0440\u0435\u0442\u044C\u0438\u043C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u043C %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043A\u043E\u0434 \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \u042E\u043D\u0438\u043A\u043E\u0434", + NoClosingChar: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0438\u0439 \u0441\u0438\u043C\u0432\u043E\u043B %1", + IllegalControlSequenceName: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B %1", + IllegalParamNumber: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 %1", + MissingCS: "\u041F\u043E\u0441\u043B\u0435 %1 \u0434\u043E\u043B\u0436\u043D\u044B \u0438\u0434\u0442\u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B", + CantUseHash2: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 # \u0432\u00A0\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0438 %1", + SequentialParam: "\u041D\u043E\u043C\u0435\u0440\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 %1 \u0434\u043E\u043B\u0436\u043D\u044B \u0431\u044B\u0442\u044C\u00A0\u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u044B", + MissingReplacementString: "\u041D\u0435\u0442\u00A0\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F %1", + MismatchUseDef: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0439 \u0432\u044B\u0437\u043E\u0432 %1", + RunawayArgument: "\u0412\u00A0\u0432\u044B\u0437\u043E\u0432\u0435 %1 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440?", + NoClosingDelim: "%1 \u043D\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/ru.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/ru.js new file mode 100644 index 00000000..b30c829a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/ru.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/localization/ru/ru.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru",null,{ + menuTitle: "\u0440\u0443\u0441\u0441\u043A\u0438\u0439", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u043D\u0430\u0448\u043B\u0430 \u043A\u0443\u043A\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0439 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043A\u043E\u0434 \u0434\u043B\u044F \u0437\u0430\u043F\u0443\u0441\u043A\u0430. \u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0435\u0433\u043E?\n\n(\u0412\u044B \u0434\u043E\u043B\u0436\u043D\u044B \u043D\u0430\u0436\u0430\u0442\u044C \u041E\u0442\u043C\u0435\u043D\u0430, \u0435\u0441\u043B\u0438 \u0432\u044B \u0441\u0430\u043C\u043E\u0441\u0442\u043E\u044F\u0442\u0435\u043B\u044C\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u043B\u0438 \u0444\u0430\u0439\u043B \u043A\u0443\u043A\u0438).", + MathProcessingError: "\u041E\u0448\u0438\u0431\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438", + MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430", + LoadFile: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 %1", + Loading: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430", + LoadFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C: %1", + ProcessMath: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", + Processing: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430", + TypesetMath: "\u0412\u0451\u0440\u0441\u0442\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", + Typesetting: "\u0412\u0451\u0440\u0441\u0442\u043A\u0430", + MathJaxNotSupported: "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 MathJax", + ErrorTips: "\u0421\u043E\u0432\u0435\u0442\u044B \u043F\u043E \u043E\u0442\u043B\u0430\u0434\u043A\u0435: \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 %%1, \u0438\u0437\u0443\u0447\u0438\u0442\u0435 %%2 \u0432 \u043A\u043E\u043D\u0441\u043E\u043B\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && n % 100 !== 11) return 1; // one + if (2 <= n % 10 && n % 10 <= 4 && 12 <= n % 100 && n % 100 <= 14) return 2; // few + if (n % 10 === 0 || (5 <= n % 10 && n % 10 <= 9) || + (11 <= n % 100 && n % 100 <= 14)) return 2; // many + return 3; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/ru.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/FontWarnings.js new file mode 100644 index 00000000..6061f211 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/scn/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax sta adupirannu tipi di car\u00E0ttiri scarricati di Internet p'ammmustrari la matim\u00E0tica nta sta p\u00E0ggina. Scarricari sti tipi si pigghia tempu, dunca sta p\u00E0ggina si purr\u00ECa mpagginari cchi\u00F9 viloci si li tipi di car\u00E0ttiri p\u00E2 matim\u00E0tica f\u00F9ssiru istallati direttamenti nt\u00E2 cartella d\u00EE car\u00E0ttiri d\u00FB t\u00F2 sistema.", + imageFonts: "MathJax sta adupirannu mm\u00E0ggini comu tipi di car\u00E0ttiri, mmeci di adupirari tipi di car\u00E0ttiri lucali o scarricati d'Internet. Stu fattu renni la mpagginazzioni cchi\u00F9 lenta d\u00FB s\u00F2litu, e quannu si stampa, la matim\u00E0tica purr\u00ECa nun aviri la risuluzzioni china cunzintuta d\u00E2 stampanti.", + noFonts: "MathJax nun potti attruvari nu tipu di car\u00E0ttiri bonu p'ammustrari la matim\u00E0tica, e mancu sunnu dispun\u00ECbbili mm\u00E0ggini fatti a tipi di car\u00E0ttiri; pi chistu sta ripiegannu a l'adupirari li car\u00E0ttiri Unicode, nt\u00E2 spiranza chi lu t\u00F2 browser \u00E8 capaci d'ammustr\u00E0rili. P\u00F2 \u00E8ssiri ca certi car\u00E0ttiri nun sp\u00F9ntanu boni, o nun sp\u00F9ntanu propia.", + webFonts: "Li cchi\u00F9 d\u00EE browser muderni pirm\u00E8ttinu di scarricari li tipi di car\u00E0ttiri d'Internet. Aggiurnannu lu t\u00F2 browser (o canci\u00E0nnulu) si purr\u00ECa migghiurari la qualit\u00E0 d\u00E2 matim\u00E0tica ca veni ammustrata nta sta p\u00E0ggina.", + fonts: "MathJax po fari usu o d\u00EE [tipi di car\u00E0ttiri STIX](%1) o d\u00EE [tipi di car\u00E0ttiri TeX MathJax](%2). Sc\u00E0rrica e istalla unu di sti tipi pi fari funziunari megghiu MathJax.", + STIXPage: "Sta p\u00E0ggina \u00E8 pruggittata pi fari usu d\u00EE [tipi di car\u00E0ttiri STIX](%1). Sc\u00E0rrica e istalla sti tipi pi fari funziunari megghiu MathJax.", + TeXPage: "Sta p\u00E0ggina \u00E8 pruggittata pi fari usu d\u00EE [tipi di car\u00E0ttiri TeX MathJax](%1). Sc\u00E0rrica e istalla sti tipi pi fari funziunari megghiu MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HTML-CSS.js new file mode 100644 index 00000000..c261e66c --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/scn/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Scarricamentu d\u00FB tipu di car\u00E0ttiri web %1", + CantLoadWebFont: "Nun si potti scarricari lu tipu di car\u00E0ttiri web %1", + FirefoxCantLoadWebFont: "Firefox nun p\u00F2 scarricari tipi di car\u00E0ttiri web di n'host rimotu", + CantFindFontUsing: "Nun si potti attruvari nu tipu di car\u00E0ttiri bonu tra %1", + WebFontsNotAvailable: "Li tipi di car\u00E0ttiri web nun sunnu dispun\u00ECbbili, \u00F4 s\u00F2 postu s'ad\u00F2piranu mm\u00E0ggini fatti a tipu di car\u00E0ttiri" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HelpDialog.js new file mode 100644 index 00000000..87af24ff --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/scn/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Guida di MathJax", + MathJax: "*MathJax* \u00E8 na libbrar\u00ECa JavaScript ca pirmetti a l'autura di m\u00E8ttiri f\u00F2rmuli matim\u00E0tichi nt\u00EA p\u00E0ggini web. Comu litturi, unu nun havi a fari nenti pi f\u00E0rilu funziunari.", + Browsers: "*Browser*: MathJax funziona cu tutti li browser muderni cumprisi IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e lu cchi\u00F9 d\u00EE browser purt\u00E0tili.", + Menu: "*Men\u00F9 d\u00EE f\u00F2rmuli*: MathJax agghiunci nu men\u00F9 cuntistuali nta tutti li f\u00F2rmuli matim\u00E0tichi. Si grapi cliccannu supra d\u00EE f\u00F2rmuli c\u00FB buttuni drittu o tinennu carcatu ctrl.", + ShowMath: "*Ammustra la f\u00F2rmula comu* pirmetti di taliari lu c\u00F2dici surgenti d\u00E2 f\u00F2rmula p\u00FB cupiari e ncuddari (sutta forma di MathML o nt\u00F4 s\u00F2 furmatu origginali).", + Settings: "*Mpustazzioni* duna cuntrollu supra d\u00EE carattir\u00ECstichi di MathJax, comu p'esempiu la grannizza d\u00EE f\u00F2rmuli e lu miccanismu adupiratu pi visualizz\u00E0rili.", + Language: "*Lingua* pirmetti di sc\u00E8gghiri la lingua adupirata di MathJax p\u00EE s\u00F2 men\u00F9 e p\u00EE s\u00F2 missagg\u00EE d'avvisu.", + Zoom: "*Zoom d\u00EE f\u00F2rmuli*: si veni diff\u00ECcili a l\u00E8ggiri na f\u00F2rmula, MathJax la p\u00F2 fari cchi\u00F9 granni pi f\u00E0rila v\u00ECdiri megghiu.", + Accessibilty: "*Accissibbilit\u00E0*: MathJax funziona autumaticamenti ch\u00EE littura di schermu pi r\u00E8nniri li f\u00F2rmuli matim\u00E0tichi acciss\u00ECbbili a cu havi prubblemi di vista.", + Fonts: "*Tipi di car\u00E0ttiri*: MathJax ad\u00F2pira certi tipi di car\u00E0ttiri matim\u00E0tici quannu l'attrova istallati nt\u00F4 computer; sinn\u00F2, ad\u00F2pira tipi di car\u00E0ttiri scarricati di Internet. Nun servi pi forza aviri li tipi di car\u00E0ttiri istallati lucalmenti, per\u00F2 renni la mpagginazzioni cchi\u00F9 viloci. Nui cunzigghiamu di istallari li [tipi di car\u00E0ttiri STIX](%1)." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathML.js new file mode 100644 index 00000000..e4599e05 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/scn/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph sbagghiatu: %1", + BadMglyphFont: "Tipu di car\u00E0ttiri sbagghiatu: %1", + MathPlayer: "MathJax nun arrinisc\u00ECu a armari lu MathPlayer.\n\nSi lu MathPlayer nun \u00E8 istallatu, pi prima cosa s'havi a istallari.\nSinn\u00F2, li t\u00F2 mpustazzioni d\u00E2 sicurizza purr\u00ECanu nun pirm\u00E8ttiri lu funziunamentu\nd\u00EE cuntrolli ActiveX. Grapi la vuci \u00ABOpzioni Internet\u00BB nt\u00F4 men\u00F9 \u00ABStrummenti\u00BB e pigghia la linguetta \u00ABSicurizza\u00BB, e dd\u00E0 carca lu buttuni \u00ABLiveddu pirsunalizzatu...\u00BB. Cuntrolla ch\u00EE mpustazzioni \u00ABEsegui cuntrolli ActiveX e plug-in\u00BB e \u00ABCumpurtamentu file binari e script\u00BB sunnu attivati.\n\nComu a ora vidi missagg\u00EE d'erruri mmeci chi f\u00F2rmuli matim\u00E0tichi mpagginati", + CantCreateXMLParser: "MathJax nun p\u00F2 criari n'analizzaturi sint\u00E0tticu XML p\u00FB MathML. Cuntrolla chi \u00E8 attivata la mpustazzioni di sicurizza \u00ABEsegui script cuntrolli ActiveX contrassignati comu sicuri\u00BB (grapi la vuci \u00ABOpzioni Internet\u00BB nt\u00F4 men\u00F9 \u00ABStrummenti\u00BB, scegghi la linguetta \u00ABSicurizza\u00BB, e carca lu buttuni \u00ABLiveddu pirsunalizzatu...\u00BB p'attruvari sta mpustazzioni).\n\nL'equazzioni MathML nun ponnu \u00E8ssiri labburati di MathJax", + UnknownNodeType: "Tipu di gruppu scanusciutu: %1", + UnexpectedTextNode: "Gruppu di testu nun aspittatu: %1", + ErrorParsingMathML: "Erruri nta l'an\u00E0lisi d\u00FB MathML", + ParsingError: "Erruri nta l'an\u00E0lisi d\u00FB MathML: %1", + MathMLSingleElement: "Lu MathML havi a \u00E8ssiri furmatu di n'elimentu s\u00ECngulu", + MathMLRootElement: "Lu MathML havi a \u00E8ssiri furmatu di n'elimentu \u003Cmath\u003E, no %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathMenu.js new file mode 100644 index 00000000..6c97c9a2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathMenu.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/localization/scn/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Ammustra la f\u00F2rmula sutta forma di", + MathMLcode: "C\u00F2dici MathML", + OriginalMathML: "MathML origginali", + TeXCommands: "Cumanni TeX", + AsciiMathInput: "Input AsciiMathML", + Original: "Forma origginali", + ErrorMessage: "Missaggiu d'erruri", + Annotation: "Annutazzioni", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML d\u00FB cuntinutu", + OpenMath: "OpenMath", + texHints: "Ammustra suggirimenti TeX nt\u00F4 MathML", + Settings: "Mpustazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi", + ZoomTrigger: "Attivazzioni d\u00FB zoom", + Hover: "Passaggiu d\u00FB mouse", + Click: "Clic", + DoubleClick: "Duppiu clic", + NoZoom: "Zoom nenti", + TriggerRequires: "Pi l'attivazzioni ci voli:", + Option: "Opzioni", + Alt: "Alt", + Command: "Cumannu", + Control: "Ctrl", + Shift: "Mai\u00F9sc.", + ZoomFactor: "Fatturi di zoom", + Renderer: "Giniraturi d\u00E2 matim\u00E0tica", + MPHandles: "Lassa gistiri \u00F4 MathPlayer:", + MenuEvents: "L'eventi d\u00EE men\u00F9", + MouseEvents: "L'eventi d\u00FB mouse", + MenuAndMouse: "L'eventi d\u00FB mouse e d\u00EE men\u00F9", + FontPrefs: "Prifirenzi p\u00EE tipi di car\u00E0ttiri", + ForHTMLCSS: "Pi l'HTML-CSS:", + Auto: "Autum\u00E0ticu", + TeXLocal: "TeX (lucali)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (mm\u00E0ggini)", + STIXLocal: "STIX (lucali)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Men\u00F9 cuntistuali", + Browser: "Browser", + Scale: "Arridiminziona tutta la matim\u00E0tica...", + Discoverable: "Arrisaltari \u00F4 passaggiu d\u00FB mouse", + Locale: "Lingua", + LoadLocale: "Sc\u00E0rrica di l\u2019URL...", + About: "A prup\u00F2situ di MathJax", + Help: "Guida di MathJax", + localTeXfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri lucali TeX", + webTeXfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri web TeX", + imagefonts: "sta facennu usu d\u00EE mm\u00E0ggini fatti a tipi di car\u00E0ttiri", + localSTIXfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri lucali STIX", + webSVGfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri web SVG", + genericfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri Unicode gin\u00E8rici", + wofforotffonts: "Tipi di car\u00E0ttiri WOFF o OTF", + eotffonts: "Tipi di car\u00E0ttiri EOT", + svgfonts: "Tipi di car\u00E0ttiri SVG", + WebkitNativeMMLWarning: "Lu t\u00F2 browser nun pari ca supporta nativamenti lu MathML, dunca passannu a l'output MathML la matim\u00E0tica chi c'\u00E8 nt\u00E2 p\u00E0ggina purr\u00ECa addivintari nun ligg\u00ECbbili", + MSIENativeMMLWarning: "Internet Explorer havi bisognu d\u00FB plugin MathPlayer pi putiri labburari l'output MathML.", + OperaNativeMMLWarning: "Opera supporta lu MathML di manera limitata, dunca passannu a l'output MathML certi sprissioni matim\u00E0tichi ponnu cump\u00E0riri mali.", + SafariNativeMMLWarning: "Lu supportu d\u00FB t\u00F2 browser p\u00FB MathML nun mplimenta tutti li carattir\u00ECstichi d\u00EE quali MathJax fa usu, dunca certi sprissioni matim\u00E0tichi ponnu cump\u00E0riri mali.", + FirefoxNativeMMLWarning: "Lu supportu d\u00FB t\u00F2 browser p\u00FB MathML nun mplimenta tutti li carattir\u00ECstichi d\u00EE quali MathJax fa usu, dunca certi sprissioni matim\u00E0tichi ponnu cump\u00E0riri mali.", + MSIESVGWarning: "L'SVG nun \u00E8 mplimintatu nta Internet Explorer prima d\u00E2 virsioni 9, o quannu \u00E8mula la virsioni 8 e chiddi nfiriuri. Passannu a l'output SVG la matim\u00E0tica nun \u00E8 visualizzata bona.", + LoadURL: "Carricari li dati di traduzzioni di st'URL:", + BadURL: "L'URL avissi a cunt\u00E8niri nu file JavaScript ca difinisci li dati d\u00E2 traduzzioni di MathJax. \u003ELi noma d\u00EE file JavaScript av\u00ECssiru a finiri cu \u00AB.js\u00BB", + BadData: "Nun arrinisc\u00ECu lu scarricamentu d\u00EE dati d\u00E2 traduzzioni di %1", + SwitchAnyway: "Voi canciari lu giniraturi lu stissu?\n\n(Carca OK pi canciari, ANNULLA p'arristari c\u00FB giniraturi attuali)", + ScaleMath: "Arridiminziunari tutta la matim\u00E0tica (rispettu \u00F4 testu circustanti) di", + NonZeroScale: "Lu fatturi di scala nun havi a \u00E8ssiri zeru", + PercentScale: "Lu fatturi di scala havi a \u00E8ssiri na pircintuali (p'esempiu 120%%)", + IE8warning: "Sta cosa disattiva lu men\u00F9 di MathJax e li s\u00F2 funziunalit\u00E0 di zoom, pir\u00F2 si p\u00F2 sempri gr\u00E0piri lu men\u00F9 di MathJax cliccannu supra \u00EA sprissioni tinennu carcatu Alt.\n\nS\u00EE sicuru di vuliri canciari li mpustazzioni d\u00FB MathPlayer?", + IE9warning: "Veni disattivatu lu men\u00F9 cuntistuali di MathJax, chi pir\u00F2 si p\u00F2 sempri gr\u00E0piri cliccannu supra \u00EA sprissioni tinennu carcatu Alt.", + NoOriginalForm: "Nudda forma origginali \u00E8 dispun\u00ECbbili", + Close: "Chiudi", + EqSource: "Surgenti d\u00E2 f\u00F2rmula MathJax" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/TeX.js new file mode 100644 index 00000000..bff12c28 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/scn/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Par\u00E8ntisi graffa graputa suverchia o par\u00E8ntisi graffa chiusa ammancanti", + ExtraCloseMissingOpen: "Par\u00E8ntisi graffa chiusa suverchia o par\u00E8ntisi graffa graputa ammancanti", + MissingLeftExtraRight: "Cumannu \\left ammancanti o cumannu \\right suverchiu", + MissingScript: "Argumentu ammancanti p\u00FB spunenti o p\u00FB dipunenti", + ExtraLeftMissingRight: "Cumannu \\left suverchiu o cumannu \\right ammancanti", + Misplaced: "%1 fora postu", + MissingOpenForSub: "Par\u00E8ntisi graffa graputa ammancanti p\u00FB dipunenti", + MissingOpenForSup: "Par\u00E8ntisi graffa graputa ammancanti p\u00F4 spunenti", + AmbiguousUseOf: "Cumannu %1 adupiratu di manera amb\u00ECgua", + EnvBadEnd: "Cumannu \\begin{%1} cunchiusu d\u00FB cumannu \\end{%2}", + EnvMissingEnd: "Cumannu \\end{%1} ammancanti", + MissingBoxFor: "Buatta ammancanti p\u00FB cumannu %1", + MissingCloseBrace: "Par\u00E8ntisi graffa chiusa ammancanti", + UndefinedControlSequence: "Siquenza di cuntrollu nun difinuta %1", + DoubleExponent: "Spunenti duppiu: adupirari li par\u00E8ntisi graffi pi chiariri", + DoubleSubscripts: "Dipunenti duppiu: adupirari li par\u00E8ntisi graffi pi chiariri", + DoubleExponentPrime: "Spunenti duppiu p\u00FB s\u00ECmmulu di primu: adupirari li par\u00E8ntisi graffi pi chiariri", + CantUseHash1: "Nun si p\u00F2 adupirari lu car\u00E0ttiri # comu par\u00E0mitru di macro nt\u00E2 mudalit\u00E0 matim\u00E0tica", + MisplacedMiddle: "Lu cumannu %1 s'havi a attruvari dintra d\u00EE cumanni \\left e \\right", + MisplacedLimits: "Lu cumannu %1 \u00E8 cunzintutu sulu nta l'opiratura", + MisplacedMoveRoot: "Lu cumannu %1 p\u00F2 cump\u00E0riri sulu sutta r\u00E0dici", + MultipleCommand: "%1 ripitutu", + IntegerArg: "L'argumentu d\u00FB cumannu %1 havi a \u00E8ssiri nu nteru", + NotMathMLToken: "%1 nun \u00E8 n'elimentu di token", + InvalidMathMLAttr: "Attribbutu MathML nun v\u00E0lidu: %1", + UnknownAttrForElement: "%1 nun \u00E8 n\u2019attribbutu ricanusciutu pi %2", + MaxMacroSub1: "Passatu lu n\u00F9mmiru m\u00E0ssimu di sustituzzioni di macro di MathJax; c'\u00E8 quarchi chiamata a macro ricursiva?", + MaxMacroSub2: "Passatu lu n\u00F9mmiru m\u00E0ssimu di sustituzzioni di MathJax; c'\u00E8 quarchi ambienti LaTeX ricursivu?", + MissingArgFor: "Argumentu d\u00FB cumannu %1 ammancanti", + ExtraAlignTab: "Tabbulazzioni d\u2019alliniamentu suverchia nt\u00F4 testu d\u00FB cumannu \\cases", + BracketMustBeDimension: "L'argumentu tra par\u00E8ntisi pi %1 havi a \u00E8ssiri na diminzioni", + InvalidEnv: "Nomu d'ambienti nun v\u00E0lidu \u00AB%1\u00BB", + UnknownEnv: "Ambienti scanusciutu \u00AB%1\u00BB", + ExtraCloseLooking: "Par\u00E8ntisi graffa chiusa suverchia quannu s'aspittava %1", + MissingCloseBracket: "Nun s'attrova la \u00AB]\u00BB chiusa pi l'argumentu di %1", + MissingOrUnrecognizedDelim: "Dilimitaturi pi %1 ammancanti o scanusciutu", + MissingDimOrUnits: "Diminzioni o s\u00F2 unit\u00E0 ammancanti p\u00FB cumannu %1", + TokenNotFoundForCommand: "Nun s'attrova lu s\u00ECmmulu %1 p\u00FB cumannu %2", + MathNotTerminated: "Matim\u00E0tica nun cunchiusa nt\u00E2 buatta di testu", + IllegalMacroParam: "Rifirimentu \u00F4n par\u00E0mitru di macro nun v\u00E0lidu", + MaxBufferSize: "Passatu lu l\u00ECmiti di grannizza d\u00FB buffer nternu di MathJax; c'\u00E8 quarchi chiamata a macro ricursiva?", + CommandNotAllowedInEnv: "Lu cumannu %1 nun \u00E8 cunzintutu nta l'ambienti %2", + MultipleLabel: "Etichetta \u00AB%1\u00BB difinuta cchi\u00F9 voti", + CommandAtTheBeginingOfLine: "%1 havi a stari \u00F4 principiu d\u00E2 riga", + IllegalAlign: "Alliniamentu nun v\u00E0lidu spicificatu nt\u00F4 cumannu %1", + BadMathStyleFor: "Stili matim\u00E0ticu nun v\u00E0lidu p\u00FB cumannu %1", + PositiveIntegerArg: "L'argumentu di %1 havi a \u00E8ssiri nu nteru pusitivu", + ErroneousNestingEq: "Annidamentu sbagghiatu d\u00EE strutturi d\u00E2 f\u00F2rmula", + MultlineRowsOneCol: "Nta l\u2019ambienti %1 li righi hannu a aviri na culonna e una sula", + MultipleBBoxProperty: "Prupit\u00E0 %1 spicificata dui voti nt\u00F4 cumannu %2", + InvalidBBoxProperty: "\u00AB%1\u00BB nun pari un culuri, na diminzioni di m\u00E0rgini nternu, o nu stili", + ExtraEndMissingBegin: "Cumannu %1 suverchiu o cumannu \\begingroup ammancanti", + GlobalNotFollowedBy: "Cumannu %1 nun siguitu d\u00FB cumannu \\let, \\def, o \\newcommand", + UndefinedColorModel: "Mudellu di culuri \u00AB%1\u00BB nun difinutu", + ModelArg1: "Li valura di culuri p\u00FB mudellu %1 sunnu fatti di 3 n\u00F9mmira", + InvalidDecimalNumber: "N\u00F9mmiru dicimali nun v\u00E0lidu", + ModelArg2: "Li valura di culuri p\u00FB mudellu %1 hannu a \u00E8ssiri tra %2 e %3", + InvalidNumber: "N\u00F9mmiru nun v\u00E0lidu", + NewextarrowArg1: "Lu primu argumentu d\u00FB cumannu %1 havi a \u00E8ssiri lu nomu di na siquenza di cuntrollu", + NewextarrowArg2: "Lu secunnu argumentu d\u00FB cumannu %1 hannu a \u00E8ssiri dui nteri spartuti di na v\u00ECrgula", + NewextarrowArg3: "Lu terzu argumentu d\u00FB cumannu %1 havi a \u00E8ssiri nu n\u00F9mmiru di car\u00E0ttiri Unicode", + NoClosingChar: "Ammanca la %1 di chiusura", + IllegalControlSequenceName: "Nomu di siquenza di cuntrollu nun v\u00E0lidu p\u00FB cumannu %1", + IllegalParamNumber: "N\u00F9mmiru di par\u00E0mitri nun v\u00E0lidu spicificatu nt\u00F4 cumannu %1", + MissingCS: "Lu cumannu %1 havi a \u00E8ssiri siguitu di na siquenza di cuntrollu", + CantUseHash2: "Usu nun cunzintutu d\u00FB car\u00E0ttiri # nt\u00F4 mudellu d\u00FB cumannu %1", + SequentialParam: "Li par\u00E0mitri d\u00FB cumannu %1 hannu a \u00E8ssiri nummirati n siquenza", + MissingReplacementString: "Stringa di rimpiazzu ammancanti nt\u00E2 difinizzioni d\u00FB cumannu %1", + MismatchUseDef: "L'usu d\u00FB cumannu %1 nun currispunni \u00E2 s\u00F2 difinizzioni", + RunawayArgument: "Argumentu d\u00FB cumannu %1 pirdutu?", + NoClosingDelim: "Nun s'attrova lu dilimitaturi di chiusura p\u00FB cumannu %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/scn.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/scn.js new file mode 100644 index 00000000..63680751 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/scn.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/scn/scn.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn",null,{ + menuTitle: "sicilianu", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Erruri nt\u00E2 labburazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi", + MathError: "Erruri nt\u00E2 matim\u00E0tica", + LoadFile: "Carricamentu di %1", + Loading: "Carricamentu", + LoadFailed: "Nun arrinisc\u00ECu lu carricamentu di: %1", + ProcessMath: "Labburazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi: %1%%", + Processing: "Labburazzioni", + TypesetMath: "Mpagginazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi: %1%%", + Typesetting: "Mpagginazzioni", + MathJaxNotSupported: "Lu t\u00F2 browser nun supporta MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/scn.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/FontWarnings.js new file mode 100644 index 00000000..38d18916 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/sco/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax is uisin wab-based fonts tae displey the mathematics oan this page. Thir tak time tae doonlaid, sae the page wid render faster gif ye installed maths fonts directlie in yer system's font fauder.", + imageFonts: "MathJax is uisin its eemage fonts insteid o local or wab-based fonts. This will render slawer than uisual, n the mathematics micht no prent at the ful resolution o yer prenter.", + noFonts: "MathJax is onable tae locate ae font tae uise tae displey its mathematics, n eemage fonts ar no available, sae it is fallin back oan generic Unicode chairacters in hopes that yer brouser will be able tae displey thaim. Some chairacters michtna shaw up properlie, or possiblie no at aw.", + webFonts: "Maist modern brousers permit fonts tae be doonlaided ower the wab. Updatin til ae mair recent version o yer brouser (or chyngin brousers) coud impruiv the qualitie o the mathematics oan this page.", + fonts: "MathJax can uise either the [STIX fonts](%1) or the [MathJax TeX fonts](%2). Doonlaid n install yin o thae fonts tae impruiv yer MathJax experience.", + STIXPage: "This page is designed tae uise the [STIX fonts](%1). Doonlaid n install thae fonts tae impruiv yer MathJax experience.", + TeXPage: "This page is designed tae uise the [MathJax TeX fonts](%1). Doonlaid n install thae fonts tae impruiv yer MathJax experiance." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HTML-CSS.js new file mode 100644 index 00000000..6b13e18e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/sco/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Laidin wab font %1", + CantLoadWebFont: "Canna laid wab font %1", + FirefoxCantLoadWebFont: "Firefox canna laid wab fonts fae ae remote host", + CantFindFontUsing: "Canna fynd ae valid font uisin %1", + WebFontsNotAvailable: "Wab fonts no available. Uisin eimage fonts instead" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HelpDialog.js new file mode 100644 index 00000000..0780e4ff --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sco/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax Heelp", + MathJax: "*MathJax* is ae JavaScreept librairie that allous page authers tae incluid mathematics wiin thair wab pages. Aes ae reader, ye dinna need tae dae oniething tae mak that happen.", + Browsers: "*Brousers*: MathJax warks wi aw modern brousers incluidin IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ n maist mobile brousers.", + Menu: "*Maths menu*: MathJax adds ae contextual menu til equations. Richt-clap or Ctrl-clap oan onie mathematics tae access the menu.", + ShowMath: "*Shaw maths aes* Permits ye tae view the formula's soorce maurkup fer copie \u0026 paste (aes MathML or in its oreeginal format).", + Settings: "*Settins* gies ye control ower features o MathJax, lik the size o the mathematics, n the mechanism uised tae displey equations.", + Language: "*Leid* lets ye select the leid uised bi MathJax fer its menus n warnishment messages.", + Zoom: "*Maths zuim*: Gif ye'r haein difficultie readin aen equation, MathJax can mak it mair muckle tae heelp ye see it better.", + Accessibilty: "*Accessibeelitie*: MathJax will aut\u00E6maticlie wark wi screen readers tae mak mathematics accessible til the veesuallie impaired.", + Fonts: "*Fonts*: MathJax will uise certain maths fonts gif thay ar installed oan yer computer; itherwise, it will uise wab-based fonts. Awthough no needit, locallie installed fonts will speed up typesettin. We suggest installin the [STIX fonts](%1)." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathML.js new file mode 100644 index 00000000..d85e8ea2 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sco/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Bad mglyph: %1", + BadMglyphFont: "Bad font: %1", + MathPlayer: "MathJax wisna able tae set up MathPlayer.\n\nGif MathPlayer isna installed, than ye need tae install it first.\nItherwise, yer securitie settins micht be preventin ActiveX\ncontrols fae rinnin. Uise the Internet Opties eetem unner\nthe Tuilkist menu n select the Securitie tab, than press the\nCustom Level button. Check that the settins fer\n'Rin ActiveX Controls', n 'Binarie n screept behaviors'\nar enabled.\n\nOan the nou ye'll see mistak messages insteid o typeset mathematics", + CantCreateXMLParser: "MathJax canna creaut aen XML parser fer MathML. Check that\nthe 'Screept ActiveX controls maurkit safe fer screeptin' securitie\nsettin is enabled (uise the Internet Opties eetem in the Tuils menu, n select the Securitie panel, than press the Custom Level button tae check this).\n\nMathML equations will no be able tae be processed bi MathJax", + UnknownNodeType: "Onkent node type: %1", + UnexpectedTextNode: "Onexpected tex node: %1", + ErrorParsingMathML: "Mistak parsin MathML", + ParsingError: "Mistak parsin MathML: %1", + MathMLSingleElement: "MathML maun be formed bi ae single element", + MathMLRootElement: "MathML maun be formed bi ae \u003Cmath\u003E element, no %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathMenu.js new file mode 100644 index 00000000..e79d9992 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathMenu.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/localization/sco/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Shaw maths aes", + MathMLcode: "MathML code", + OriginalMathML: "Oreeginal MathML", + TeXCommands: "TeX commauns", + AsciiMathInput: "AsciiMathML input", + Original: "Oreeginal form", + ErrorMessage: "Mistak message", + Annotation: "Annotation", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "Shaw TeX hints in MathML", + Settings: "Maths settins", + ZoomTrigger: "Zuim trigger", + Hover: "Hover", + Click: "Clap", + DoubleClick: "Dooble-clap", + NoZoom: "Naw zuim", + TriggerRequires: "Trigger needs:", + Option: "Optie", + Alt: "Alt", + Command: "Commaun", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Zuim facter", + Renderer: "Maths renderer", + MPHandles: "Let MathPlayer haunle:", + MenuEvents: "Menu events", + MouseEvents: "Moose events", + MenuAndMouse: "Moose n menu events", + FontPrefs: "Font preferences", + ForHTMLCSS: "Fer HTML-CSS:", + Auto: "Aut\u00E6", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (wab)", + TeXImage: "TeX (eimage)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (wab)", + AsanaMathWeb: "Asana Math (wab)", + GyrePagellaWeb: "Gyre Pagella (wab)", + GyreTermesWeb: "Gyre Termes (wab)", + LatinModernWeb: "Latin Modern (wab)", + NeoEulerWeb: "Neo Euler (wab)", + ContextMenu: "Contextual menu", + Browser: "Brouser", + Scale: "Scale aw maths ...", + Discoverable: "Heilicht oan hover", + Locale: "Leid", + LoadLocale: "Laid fae URL ...", + About: "Aneat MathJax", + Help: "MathJax heelp", + localTeXfonts: "uisin local TeX fonts", + webTeXfonts: "uisin wab TeX font", + imagefonts: "uisin Eimage fonts", + localSTIXfonts: "uisin local STIX fonts", + webSVGfonts: "uisin wab SVG fonts", + genericfonts: "uisin generic Unicode fonts", + wofforotffonts: "WOFF or OTF fonts", + eotffonts: "EOT fonts", + svgfonts: "SVG fonts", + WebkitNativeMMLWarning: "Yer brouser disna seem tae support MathML nateevelie, sae switchin tae MathML ootput micht cause the mathematics oan the page tae become onreadable", + MSIENativeMMLWarning: "Internet Explorer needs the MathPlayer plug-in fer tae process MathML ootput.", + OperaNativeMMLWarning: "Opera's support fer MathML is leemitit, sae switchin tae MathML ootput micht cause some expressions tae render puirlie.", + SafariNativeMMLWarning: "Yer brouser's native MathML disna implement aw the features uised bi MathJax, sae some expressions michtna render properlie.", + FirefoxNativeMMLWarning: "Yer brouser's native MathML disna implement aw the features uised bi MathJax, sae some expressions michtna render properlie.", + MSIESVGWarning: "SVG isna implemented in Internet Explorer prior til IE9 or whan it's emulating IE8 or ablo. Switchin til SVG ootput will cause the mathematics tae no displey properlie.", + LoadURL: "Laid owersetin data fae this URL:", + BadURL: "The URL shid be fer ae JavaScript file that defines MathJax owersetin data. JavaScript file names shid end wi '.js'", + BadData: "Failed tae laid owersetin data fae %1", + SwitchAnyway: "Switch the renderer oniewas?\n\n(Press OK tae switch, CANCEL tae continue wi the current renderer)", + ScaleMath: "Scale aw mathematics (compared til surroondin tex) bi", + NonZeroScale: "The scale shidna be zero", + PercentScale: "The scale shid be ae percentage (fer example 120%%)", + IE8warning: "This will disable the MathJax menu n zuim features, but ye can Alt-Clap oan aen expression tae obtain the MathJax menu insteid.\n\nReallie want tae chynge the MathPlayer settins?", + IE9warning: "The MathJax contextual menu will be disabled, but ye can Alt-Clap oan aen expression tae obtain the MathJax menu insteid.", + NoOriginalForm: "Naw oreeginal form available", + Close: "Claise", + EqSource: "MathJax Equation Soorce" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/TeX.js new file mode 100644 index 00000000..0fdd6ed9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/sco/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Eixtra apen brace or missin claise bracket", + ExtraCloseMissingOpen: "Eixtra claise brace or missin apen bracket", + MissingLeftExtraRight: "Missin \\left or eixtra \\right", + MissingScript: "Missin superscreept or subscreept argument", + ExtraLeftMissingRight: "Eixtra \\left or missin \\right", + Misplaced: "Misplaced %1", + MissingOpenForSub: "Missin apen bracket fer subscreept", + MissingOpenForSup: "Missin apen bracket fer superscreept", + AmbiguousUseOf: "Ambeeguous uise o %1", + EnvBadEnd: "\\begin{%1} ended wi \\end{%2}", + EnvMissingEnd: "Missin \\end{%1}", + MissingBoxFor: "Missin kist fer %1", + MissingCloseBrace: "Missin claise bracket", + UndefinedControlSequence: "Ondefined control sequence %1", + DoubleExponent: "Dooble exponent: uise brackets tae clarifie", + DoubleSubscripts: "Dooble subscreepts: uise brackets tae clarifie", + DoubleExponentPrime: "Prime causes dooble exponent: Uise brackets tae clarifie", + CantUseHash1: "Ye canna uise 'macro parameter chairacter #' in maths mode", + MisplacedMiddle: "%1 mau be wiin \\left n \\right", + MisplacedLimits: "%1 is yinlie permited oan operaters", + MisplacedMoveRoot: "%1 can yinlie appear wiin ae ruit", + MultipleCommand: "Multiple %1", + IntegerArg: "The aurgument til %1 mau be aen integer", + NotMathMLToken: "%1 isna ae token element", + InvalidMathMLAttr: "Onvalid MathML attreebute: %1", + UnknownAttrForElement: "%1 isna ae recognized attribute fer %2", + MaxMacroSub1: "MathJax mucklest macro substitution coont exceeded; is thaur ae recursive macro caw?", + MaxMacroSub2: "MathJax mucklest substitution coont exceeded; is thaur ae recursive LaTeX environment?", + MissingArgFor: "Missin aurgument fer %1", + ExtraAlignTab: "Eixtra alignment tab in \\cases tex", + BracketMustBeDimension: "Bracket aurgument til %1 maun be ae dimension", + InvalidEnv: "Onvalid environment name '%1'", + UnknownEnv: "Onkent environment '%1'", + ExtraCloseLooking: "Eixtra claise bracket while luikin fer %1", + MissingCloseBracket: "Coudna fynd claisin ']' fer aurgument til %1", + MissingOrUnrecognizedDelim: "Missin or onrecognized delimiter fer %1", + MissingDimOrUnits: "Missin dimension or its units fer %1", + TokenNotFoundForCommand: "Coudna fynd %1 fer %2", + MathNotTerminated: "Maths no terminated in tex kist", + IllegalMacroParam: "Onlegal macro parameter reference", + MaxBufferSize: "MathJax internal buffer size exceeded; is thaur ae recursive macro caw?", + CommandNotAllowedInEnv: "%1 no permited in %2 environment", + MultipleLabel: "Label '%1' multiplie defined", + CommandAtTheBeginingOfLine: "%1 maun come at the beginnin o the line", + IllegalAlign: "Onlegal alignment speceefied in %1", + BadMathStyleFor: "Puir maths style fer %1", + PositiveIntegerArg: "Argument til %1 maun be ae positeeve integer", + ErroneousNestingEq: "Mistaken nestin o equation structures", + MultlineRowsOneCol: "The lines wiin the %1 environment maun hae exactlie yin column", + MultipleBBoxProperty: "%1 speceefied twice in %2", + InvalidBBoxProperty: "'%1' disna luik like ae colour, ae paddin dimension, or ae style", + ExtraEndMissingBegin: "Eixtra %1 or missin \\begingroup", + GlobalNotFollowedBy: "%1 isna follaed bi \\let, \\def, or \\newcommand", + UndefinedColorModel: "Colour model '%1' no defined", + ModelArg1: "Colour values fer the %1 model need 3 nummers", + InvalidDecimalNumber: "Onvalid decimal nummer", + ModelArg2: "Colour values fer the %1 model maun be atween %2 n %3", + InvalidNumber: "Onvalid nummer", + NewextarrowArg1: "Foremait argument til %1 maun be ae control sequence name", + NewextarrowArg2: "Seicont argument til %1 maun be twa integers separated bi ae comma", + NewextarrowArg3: "Third argument til %1 maun be ae Unicode chairacter nummer", + NoClosingChar: "Canna fynd claisin %1", + IllegalControlSequenceName: "Onlegal control sequence name fer %1", + IllegalParamNumber: "Onlegal nummer o parameters speceefied in %1", + MissingCS: "%1 maun be follaeed bi ae control sequence", + CantUseHash2: "Onlegal uiss o # in template fer %1", + SequentialParam: "Parameters fer %1 maun be nummer't sequentiallie", + MissingReplacementString: "Missin replacement string fer defineetion o %1", + MismatchUseDef: "Uiss o %1 disna match its defineetion", + RunawayArgument: "Rinawa argument fer %1?", + NoClosingDelim: "Canna fynd claisin delimiter fer %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/sco.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/sco.js new file mode 100644 index 00000000..d7b2b69b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/sco.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/sco/sco.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco",null,{ + menuTitle: "scots", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Maths processin mistak", + MathError: "Maths mistak", + LoadFile: "Laidin %1", + Loading: "Laidin", + LoadFailed: "File failed tae laid: %1", + ProcessMath: "Processin maths: %1%%", + Processing: "Processin", + TypesetMath: "Typesettin maths: %1%%", + Typesetting: "Typesettin", + MathJaxNotSupported: "Yer brouser disna support MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/sco.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/FontWarnings.js new file mode 100644 index 00000000..9565bf29 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/sk/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax pou\u017E\u00EDva k zobrazeniu matematiky na tejto str\u00E1nke webov\u00E9 p\u00EDsma. T\u00FDm trv\u00E1 stiahnutie nejak\u00FA dobu, tak\u017Ee str\u00E1nka by sa vykreslila r\u00FDchlej\u0161ie, ak by ste si tieto matematick\u00E9 p\u00EDsma nain\u0161talovali priamo do syst\u00E9movej zlo\u017Eky p\u00EDsiem.", + imageFonts: "MathJax pou\u017E\u00EDva namiesto miestnych alebo webov\u00FDch p\u00EDsiem obr\u00E1zkov\u00E9 p\u00EDsmo. Preto bude vykres\u013Eovanie pomal\u0161ie ako je obvykl\u00E9 a pri tla\u010Di na Va\u0161ej tla\u010Diarni mo\u017Eno nebude matematika vykreslen\u00E1 v najlep\u0161om rozl\u00ED\u0161en\u00ED.", + noFonts: "MathJax nedok\u00E1\u017Ee n\u00E1js\u0165 p\u00EDsmo, ktor\u00FDm by vykreslil matematiku, a obr\u00E1zkov\u00E9 p\u00EDsma nie s\u00FA k dispoz\u00EDcii, tak\u017Ee sa bude pou\u017E\u00EDva\u0165 be\u017En\u00E9 znaky Unicode v n\u00E1deji, \u017Ee ich v\u00E1\u0161 prehliada\u010D dok\u00E1\u017Ee zobrazi\u0165. Niektor\u00E9 znaky sa mo\u017Eno nezobrazia spr\u00E1vne alebo dokonca v\u00F4bec.", + webFonts: "V\u00E4\u010D\u0161ina modern\u00FDch prehliada\u010Dov umo\u017E\u0148uje stiahnutie p\u00EDsiem cez web. Aktualiz\u00E1cia na nov\u0161iu verziu prehliada\u010Da (alebo zmena prehliada\u010Da) by mohla zlep\u0161i\u0165 zobrazenie matematiky na tejto str\u00E1nke.", + fonts: "MathJax m\u00F4\u017Ee pou\u017E\u00EDva\u0165 bu\u010F [p\u00EDsma STIX](%1) alebo [MathJaxov\u00E9 TeXov\u00E9 p\u00EDsma](%2). Stiahnite a nain\u0161talujte si jedny z nich, aby ste si MathJax u\u017Eili lep\u0161ie.", + STIXPage: "Tato str\u00E1nka je vytvoren\u00E1 na pou\u017Eitie s [p\u00EDsmami STIX](%1). Stiahnite a nain\u0161talujte si tieto p\u00EDsma, aby ste si lep\u0161ie u\u017Eili MathJax.", + TeXPage: "Tato str\u00E1nka je vytvoren\u00E1 na pou\u017Eitie s [MathJaxov\u00FDmi TeXov\u00FDmi p\u00EDsmy](%1). Pre lep\u0161ie vyu\u017E\u00EDvanie MathJaxu si stiahnite a nain\u0161talujte tieto p\u00EDsma." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HTML-CSS.js new file mode 100644 index 00000000..d71bae50 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/sk/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Na\u010D\u00EDtava sa webov\u00FD font %1", + CantLoadWebFont: "Nepodarilo sa na\u010D\u00EDta\u0165 webov\u00FD font %1", + FirefoxCantLoadWebFont: "Firefox nedok\u00E1\u017Ee na\u010D\u00EDta\u0165 webov\u00E9 fonty zo vzdialen\u00E9ho hostite\u013Ea", + CantFindFontUsing: "Nepodarilo sa n\u00E1js\u0165 platn\u00FD font pomocou %1", + WebFontsNotAvailable: "Webov\u00E9 fonty nie s\u00FA k dispoz\u00EDcii. Namiesto toho s\u00FA pou\u017Eit\u00E9 obr\u00E1zkov\u00E9 fonty." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HelpDialog.js new file mode 100644 index 00000000..380c1943 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/sk/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Pomoc k MathJaxu", + MathJax: "*MathJax* je JavaScriptov\u00E1 kni\u017Enica, ktor\u00E1 autorom str\u00E1nok umo\u017E\u0148uje zahrn\u00FA\u0165 do str\u00E1nok matematiku. Ako \u010Ditate\u013E sa nemus\u00EDte o ni\u010D stara\u0165.", + Browsers: "*Prehliada\u010De*: MathJax pracuje vo v\u0161etk\u00FDch modern\u00FDch prehliada\u010Doch, vr\u00E1tane IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ a v\u00E4\u010D\u0161ine mobiln\u00FDch prehliada\u010Dov.", + Menu: "*Matematick\u00E9 menu*: MathJax prid\u00E1va k rovniciam kontextov\u00E9 menu. Pre zobrazenie menu kliknite prav\u00FDm tla\u010Didlom my\u0161i alebo s podr\u017Ean\u00EDm kl\u00E1vesy Ctrl na ktor\u00FAko\u013Evek matematiku.", + ShowMath: "*Zobrazi\u0165 matematiku ako* v\u00E1m umo\u017En\u00ED prehliadnu\u0165 si zdrojov\u00FD k\u00F3d vzorca pre skop\u00EDrovanie (ako MathML alebo v p\u00F4vodnom form\u00E1te).", + Settings: "*Nastavenia* v\u00E1m umo\u017E\u0148uj\u00FA prisp\u00F4sobi\u0165 si niektor\u00E9 funkcie MathJaxu, napr. ve\u013Ekos\u0165 matematiky alebo mechanizmy pou\u017E\u00EDvan\u00E9 k zobrazovaniu rovn\u00EDc.", + Language: "*Jazyk* v\u00E1m umo\u017En\u00ED zvoli\u0165 si jazyk pou\u017E\u00EDvan\u00FD MathJaxem pre menu a chybov\u00E9 hl\u00E1senia.", + Zoom: "*Matematick\u00FD zoom*: Ak v\u00E1m \u010D\u00EDtanie rovnice rob\u00ED probl\u00E9my, Mathjax V\u00E1m umo\u017En\u00ED ich zv\u00E4\u010D\u0161i\u0165, aby ste ju lep\u0161ie videli.", + Accessibilty: "*Dostupnos\u0165*: MathJax automaticky funguje s \u010D\u00EDta\u010Dkami obrazovky, aby matematiku spr\u00EDstupnil zrakovo postihnut\u00FDm.", + Fonts: "*P\u00EDsma*: MathJax bude pou\u017E\u00EDva\u0165 ist\u00E9 matematick\u00E9 p\u00EDsma, ak ich m\u00E1te v po\u010D\u00EDta\u010Di nain\u0161talovan\u00E9; v opa\u010Dnom pr\u00EDpade pou\u017Eije p\u00EDsma webov\u00E9. Napriek tomu, \u017Ee to nie je nutn\u00E9, lok\u00E1lne nain\u0161talovan\u00E9 p\u00EDsma ur\u00FDchlia s\u00E1dzanie. Odpor\u00FA\u010Dame nain\u0161talova\u0165 [p\u00EDsma STIX](%1).", + CloseDialog: "Zavri\u0165 okno s n\u00E1povedou" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathML.js new file mode 100644 index 00000000..491ea185 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sk/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Chybn\u00FD mglyph: %1", + BadMglyphFont: "Nevhodn\u00E9 p\u00EDsmo: %1", + MathPlayer: "MathJax nedok\u00E1zal spusti\u0165 MathPlayer.\n\nAk nie je MathPlayer nain\u0161talovan\u00FD, budete si ho musie\u0165 najprv nain\u0161talova\u0165.\nInak mo\u017Eno spustenie ovl\u00E1dac\u00EDch prvkov ActiveX br\u00E1ni va\u0161e bezpe\u010Dnostn\u00E9\nnastavenie. Kliknite v ponuke N\u00E1stroje na polo\u017Eku Mo\u017Enosti Internetu,\nvyberte z\u00E1lo\u017Eku Zabezpe\u010Denie a kliknite na tla\u010Didlo Vlastn\u00E1 \u00FArove\u0148.\nSkontrolujte, \u010Di s\u00FA povolen\u00E9 mo\u017Enosti \u201ESp\u00FA\u0161\u0165a\u0165 ovl\u00E1dacie prvky ActiveX\u201C\na \u201EChovanie skriptov a bin\u00E1rnych s\u00FAborov\u201C.\n\nMoment\u00E1lne uvid\u00EDte miesto vys\u00E1dzanej matematiky chybov\u00E9 hl\u00E1senia.", + CantCreateXMLParser: "MathJax nem\u00F4\u017Ee vytvori\u0165 syntaktick\u00FD analyz\u00E1tor XML pre MathML.\nSkontrolujte, \u010Di m\u00E1te povolen\u00E9 nastavenie \u201ESkriptova\u0165 ovl\u00E1dacie\nprvky ActiveX ozna\u010Den\u00E9 ako bezpe\u010Dn\u00E9\u201C (v ponuke N\u00E1stroje\nkliknite na polo\u017Eku Mo\u017Enosti Internetu, vyberte z\u00E1lo\u017Eku\nZabezpe\u010Denie a kliknite na tla\u010Didlo Vlastn\u00E1 \u00FArove\u0148).\n\nMathJax nebude m\u00F4c\u0165 spracov\u00E1va\u0165 rovnice v MathML", + UnknownNodeType: "Nezn\u00E1my typ uzla: %1", + UnexpectedTextNode: "Neo\u010Dak\u00E1van\u00FD textov\u00FD uzol: %1", + ErrorParsingMathML: "Chyba pri anal\u00FDze MathML", + ParsingError: "Chyba pri anal\u00FDze MathML: %1", + MathMLSingleElement: "MathML mus\u00ED by\u0165 tvoren\u00E9 jedin\u00FDm elementom", + MathMLRootElement: "MathML mus\u00ED by\u0165 tvoren\u00E9 elementom \u003Cmath\u003E, nie %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathMenu.js new file mode 100644 index 00000000..9c37ad69 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/sk/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Zobrazi\u0165 matematiku ako", + MathMLcode: "MathML k\u00F3d", + OriginalMathML: "P\u00F4vodn\u00FD MathML", + TeXCommands: "Pr\u00EDkazy TeXu", + AsciiMathInput: "Vstup AsciiMathML", + Original: "P\u00F4vodn\u00E1 forma", + ErrorMessage: "Chybov\u00E9 hl\u00E1senie", + Annotation: "Anot\u00E1cia", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Javor", + ContentMathML: "Obsah MathML", + OpenMath: "OpenMath", + texHints: "Zobrazi\u0165 TeX tipy v MathML", + Settings: "Nastavenia matematiky", + ZoomTrigger: "Aktiv\u00E1cia zoomu", + Hover: "Prejdenie my\u0161ou", + Click: "Kliknutie", + DoubleClick: "Dvojit\u00E9 kliknutie", + NoZoom: "Bez zoomu", + TriggerRequires: "Aktiv\u00E1cia vy\u017Eaduje:", + Option: "Mo\u017Enos\u0165", + Alt: "Alt", + Command: "Command", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "Miera zoomu", + Renderer: "Vykres\u013Eovanie matematiky", + MPHandles: "Necha\u0165 MathPlayer spracov\u00E1va\u0165:", + MenuEvents: "Udalosti menu", + MouseEvents: "Udalosti my\u0161i", + MenuAndMouse: "Udalosti my\u0161i a menu", + FontPrefs: "Preferencia typu p\u00EDsma", + ForHTMLCSS: "Pre HTML-CSS", + Auto: "Automaticky", + TeXLocal: "TeX (lok\u00E1lny)", + TeXWeb: "TeX (webov\u00FD)", + TeXImage: "TeX (obr\u00E1zkov\u00FD)", + STIXLocal: "STIX (lok\u00E1lny)", + STIXWeb: "STIX (webov\u00FD)", + AsanaMathWeb: "Asana Math (webov\u00FD)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Kontextov\u00E9 menu", + Browser: "Prehliada\u010D", + Scale: "\u0160k\u00E1lova\u0165 v\u0161etku matematiku", + Discoverable: "Zv\u00FDraznit p\u0159i prejden\u00ED my\u0161ou", + Locale: "Jazyk", + LoadLocale: "Na\u010D\u00EDta\u0165 z URL\u2026", + About: "O MathJaxe", + Help: "N\u00E1poveda k MathJaxu", + localTeXfonts: "pou\u017E\u00EDvaj\u00FA se lok\u00E1lne p\u00EDsma TeXu", + webTeXfonts: "pou\u017E\u00EDvaj\u00FA se webov\u00E9 p\u00EDsma TeXu", + imagefonts: "pou\u017E\u00EDvaj\u00FA sa obr\u00E1zkov\u00E9 p\u00EDsma", + localSTIXfonts: "pou\u017E\u00EDvaj\u00FA se lok\u00E1lne p\u00EDsma STIX", + webSVGfonts: "pou\u017E\u00EDvaj\u00ED se webov\u00E9 SVG p\u00EDsma", + genericfonts: "pou\u017E\u00EDvaj\u00ED se generick\u00E1 p\u00EDsma sady Unicode", + wofforotffonts: "p\u00EDsma WOFF alebo OTF", + eotffonts: "p\u00EDsma EOT", + svgfonts: "p\u00EDsma SVG", + WebkitNativeMMLWarning: "V\u00E1\u0161 prehliada\u010D zjavne nepodporuje MathML, tak\u017Ee prepnutie na MathML v\u00FDstup m\u00F4\u017Ee zp\u00F4sobi\u0165, \u017Ee bude matematika na tejto str\u00E1nke ne\u010Ditate\u013En\u00E1.", + MSIENativeMMLWarning: "Internet Explorer vy\u017Eaduje plugin MathPlayer na spracovanie v\u00FDstupu MathML", + OperaNativeMMLWarning: "Podpora prehliada\u010Da Opera pre MathML je obmedzen\u00E1, \u010Di\u017Ee prechod k v\u00FDstupu MathML m\u00F4\u017Ee sp\u00F4sobi\u0165 chab\u00E9 vykres\u013Eovanie niektor\u00FDch v\u00FDrazov", + SafariNativeMMLWarning: "Vstavan\u00E1 podpora v\u00E1\u0161ho prehliada\u010Da pre MathML neimplementuje v\u0161etky vymo\u017Eenosti pou\u017E\u00EDvan\u00E9 MathJax-om, \u010Do m\u00F4\u017Ee sp\u00F4sobi\u0165 chab\u00E9 vykres\u013Eovanie ist\u00FDch v\u00FDrazov", + FirefoxNativeMMLWarning: "Vstavan\u00E1 podpora MathML v\u00E1\u0161ho prehliada\u010Da neimplementuje v\u0161etky vymo\u017Eenosti pou\u017E\u00EDvan\u00E9 MathJaxom, \u010Do znamen\u00E1, \u017Ee niektor\u00E9 v\u00FDrazy sa nebud\u00FA vykres\u013Eova\u0165 spr\u00E1vne.", + MSIESVGWarning: "SVG nie je implementovan\u00E9 v prehliada\u010Doch Internet Explorer pred verziou IE9 a v emul\u00E1ciach verzi\u00ED IE8 \u010Di ni\u017E\u0161\u00EDch. Prepnutie na v\u00FDstup SVG sp\u00F4sob\u00ED, \u017Ee sa matematika nebude zobrazova\u0165 spr\u00E1vne.", + LoadURL: "Na\u010D\u00EDta\u0165 d\u00E1ta prekladu z tejto adresy URL:", + BadURL: "Adresa URL mus\u00ED by\u0165 adresou s\u00FAboru p\u00EDsan\u00E9ho v JavaScripte, ktor\u00FD definuje d\u00E1ta prekladu pre MathJax. S\u00FAbory JavaScriptu maj\u00FA zvy\u010Dajne predponu '.js'.", + BadData: "Nepodarilo sa na\u010D\u00EDta\u0165 d\u00E1ta prekladu z %1", + SwitchAnyway: "Prajete si aj napriek tomu prepn\u00FA\u0165 vykres\u013Eovanie?\n\n(Stla\u010Dte OK pre prepnutie, ZRU\u0160I\u0164 pre zru\u0161enie s aktu\u00E1lnym vykres\u013Eovan\u00EDm)", + ScaleMath: "Na\u0161k\u00E1lova\u0165 v\u0161etku matematiku (v porovnan\u00ED s okolit\u00FDm textom) o", + NonZeroScale: "\u0160k\u00E1la nesmie by\u0165 nulov\u00E1", + PercentScale: "\u0160k\u00E1la mus\u00ED by\u0165 percentom (napr\u00EDklad 120%%)", + IE8warning: "T\u00FDmto deaktivujete menu MathJaxu a mo\u017Enosti zoomu, no pou\u017Eit\u00EDm kombin\u00E1cie Alt+Click na v\u00FDraz z\u00EDskate menu MathJaxu\n\nNaozaj si prajete zmeni\u0165 nastavenia MathPlayer-u?", + IE9warning: "Kontextov\u00E9 menu MathJaxu bude vypnut\u00E9, no pou\u017Eite kombin\u00E1ciu Alt+Click na v\u00FDraz pre z\u00EDskanie nov\u00E9ho menu", + NoOriginalForm: "P\u00F4vodn\u00E1 forma nie je dostupn\u00E1", + Close: "Zatvori\u0165", + EqSource: "Zdroj rovn\u00EDc pre MathJax", + CloseAboutDialog: "Zatvori\u0165 okno \"O MathJaxe\"", + FastPreview: "Rychl\u00FD n\u00E1h\u013Ead", + AssistiveMML: "Pomocn\u00E9 MathML", + InTabOrder: "Zaradit do postupnosti tabul\u00E1torov" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/TeX.js new file mode 100644 index 00000000..ff84ac85 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/sk/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Prebyto\u010Dn\u00E1 otv\u00E1raj\u00FAca alebo uzavieracia z\u00E1tvorka", + ExtraCloseMissingOpen: "Prebyto\u010Dn\u00E1 uzavieracia alebo otv\u00E1raj\u00FAca z\u00E1tvorka", + MissingLeftExtraRight: "Ch\u00FDbaj\u00FAci \\left alebo prebyto\u010Dn\u00FD \\right", + MissingScript: "Ch\u00FDba argument horn\u00E9ho alebo doln\u00E9ho indexu", + ExtraLeftMissingRight: "Prebyto\u010Dn\u00FD \\left alebo ch\u00FDbaj\u00FAci \\right", + Misplaced: "Chybne umiestnen\u00FD %1", + MissingOpenForSub: "Ch\u00FDbaj\u00FAca otv\u00E1racia zlo\u017Een\u00E1 z\u00E1tvorka pre doln\u00FD index", + MissingOpenForSup: "Ch\u00FDbaj\u00FAca otv\u00E1racia zlo\u017Een\u00E1 z\u00E1tvorka pre horn\u00FD index", + AmbiguousUseOf: "Nejednozna\u010Dn\u00E9 pou\u017Eitie %1", + EnvBadEnd: "\\begin{%1} bolo uzavret\u00E9 \\end{%2}", + EnvMissingEnd: "Ch\u00FDbaj\u00FAci \\end{%1}", + MissingBoxFor: "Ch\u00FDba box pre %1", + MissingCloseBrace: "Ch\u00FDba uzavieracia z\u00E1tvorka", + UndefinedControlSequence: "Nedefinovan\u00E1 riadiaca sekvencia %1", + DoubleExponent: "Dvojit\u00FD exponent: pre jednozna\u010Dnos\u0165 pou\u017Eite zlo\u017Een\u00E9 z\u00E1tvorky", + DoubleSubscripts: "Dvojit\u00FD doln\u00FD index: pre jednozna\u010Dnos\u0165 pou\u017Eite zlo\u017Een\u00E9 z\u00E1tvorky", + DoubleExponentPrime: "Symbol \u010Diarky sp\u00F4sobil dvojit\u00FD exponent: pre jednozna\u010Dnos\u0165 pou\u017Eite zlo\u017Een\u00E9 z\u00E1tvorky", + CantUseHash1: "V matematickom re\u017Eime nem\u00F4\u017Eete pou\u017Ei\u0165 znak \u201E#\u201C pre parametre makier", + MisplacedMiddle: "%1 mus\u00ED by\u0165 medzi \\left a \\right", + MisplacedLimits: "%1 je povolen\u00E9 len pri oper\u00E1toroch", + MisplacedMoveRoot: "%1 sa m\u00F4\u017Ee vyskytn\u00FA\u0165 len v koreni", + MultipleCommand: "Viacn\u00E1sobn\u00FD %1", + IntegerArg: "Argument pre %1 mus\u00ED by\u0165 cel\u00E9 \u010D\u00EDslo", + NotMathMLToken: "%1 nie je primit\u00EDvny element", + InvalidMathMLAttr: "Neplatn\u00FD atrib\u00FAt MathML: %1", + UnknownAttrForElement: "%1 nie je zn\u00E1mym atrib\u00FAtom pre %2", + MaxMacroSub1: "Prekro\u010Den\u00FD maxim\u00E1lny po\u010Det substit\u00FAci\u00ED makra MathJaxu; nejde o rekurz\u00EDvne volanie makra?", + MaxMacroSub2: "Prekro\u010Den\u00FD maxim\u00E1lny po\u010Det substit\u00FAci\u00ED MathJaxu; nejde o rekurz\u00EDvne LaTeXov\u00E9 prostredie?", + MissingArgFor: "Ch\u00FDba argument pre %1", + ExtraAlignTab: "Prebyto\u010Dn\u00FD vyrovn\u00E1vac\u00ED tabul\u00E1tor v texte \\cases", + BracketMustBeDimension: "Z\u00E1tvorkov\u00FD argument pre %1 mus\u00ED by\u0165 rozmer", + InvalidEnv: "Neplatn\u00E1 premenn\u00E1 prostredia \u201E%1\u201C", + UnknownEnv: "Nezn\u00E1me prostredie \u201E%1\u201C", + ExtraCloseLooking: "Prebyto\u010Dn\u00E1 uzavieracia z\u00E1tvorka, zatia\u013E \u010Do bolo o\u010Dak\u00E1van\u00E9 %1", + MissingCloseBracket: "Pri argumente pre %1 nebola n\u00E1jden\u00E1 uzavieracia \u201E]\u201C", + MissingOrUnrecognizedDelim: "Ch\u00FDbaj\u00FAci alebo nerozpoznan\u00FD odde\u013Eova\u010D pre %1", + MissingDimOrUnits: "Ch\u00FDbaj\u00FAci rozmer alebo jeho jednotka pre %1", + TokenNotFoundForCommand: "Nen\u00E1jden\u00E9 %1 pre %2", + MathNotTerminated: "V textovom boxe nie je ukon\u010Den\u00E1 matematika", + IllegalMacroParam: "Neplatn\u00FD odkaz na parameter makra", + MaxBufferSize: "Prekro\u010Den\u00E1 ve\u013Ekos\u0165 internej pam\u00E4te MathJaxu; nejde o rekurz\u00EDvne volanie makra?", + CommandNotAllowedInEnv: "V prostred\u00ED %2 nie je povolen\u00FD %1", + MultipleLabel: "Viacn\u00E1sobn\u00E1 defin\u00EDcia ozna\u010Denia %1", + CommandAtTheBeginingOfLine: "%1 mus\u00ED by\u0165 umiestnen\u00E9 na za\u010Diatku riadku", + IllegalAlign: "Pri %1 uveden\u00E9 neplatn\u00E9 zarovnanie", + BadMathStyleFor: "Chybn\u00FD \u0161t\u00FDl matematiky pri %1", + PositiveIntegerArg: "Argument %1 mus\u00ED by\u0165 kladn\u00E9 cel\u00E9 \u010D\u00EDslo", + ErroneousNestingEq: "Chybn\u00E9 zanorovanie \u0161trukt\u00FAry rovn\u00EDc", + MultlineRowsOneCol: "Riadky v prostred\u00ED %1 musia ma\u0165 pr\u00E1ve jeden st\u013Apec", + MultipleBBoxProperty: "Pri %2 je %1 uveden\u00E9 dvakr\u00E1t", + InvalidBBoxProperty: "\u201E%1\u201C nevyzer\u00E1 ako farba, rozmer paddingu alebo \u0161t\u00FDl", + ExtraEndMissingBegin: "Prebato\u010Dn\u00FD %1 alebo ch\u00FDbaj\u00FAci \\begingroup", + GlobalNotFollowedBy: "Za %1 ch\u00FDba \\let, \\def alebo \\newcommand", + UndefinedColorModel: "Farebn\u00FD model \u201E%1\u201C nie je definovan\u00FD", + ModelArg1: "Farebn\u00E9 hodnoty modelu %1 vy\u017Eaduj\u00FA tri \u010D\u00EDsla", + InvalidDecimalNumber: "Neplatn\u00E9 desatinn\u00E9 \u010D\u00EDslo", + ModelArg2: "Farebn\u00E9 hodnoty modelu %1 musia le\u017Ea\u0165 medzi %2 a %3", + InvalidNumber: "Neplatn\u00E9 \u010D\u00EDslo", + NewextarrowArg1: "Prv\u00FDm argumentom %1 mus\u00ED by\u0165 n\u00E1zov riadiacej sekvencie", + NewextarrowArg2: "Druh\u00FDm argumentom %1 musia by\u0165 dve cel\u00E9 \u010D\u00EDsla oddelen\u00E9 \u010Diarkou", + NewextarrowArg3: "Tret\u00EDm argumentom %1 mus\u00ED by\u0165 \u010D\u00EDslo znaku Unicode", + NoClosingChar: "Nen\u00E1jden\u00FD uzavierac\u00ED %1", + IllegalControlSequenceName: "Neplatn\u00FD n\u00E1zov riadiacej sekvencie pre %1", + IllegalParamNumber: "Pre %1 uveden\u00FD neplatn\u00FD po\u010Det parametrov", + MissingCS: "Za %1 mus\u00ED by\u0165 riadiaca sekvencia", + CantUseHash2: "Chybn\u00E9 pou\u017Eitie # v \u0161abl\u00F3ne pre %1", + SequentialParam: "Parametre pre %1 musia by\u0165 \u010D\u00EDslovan\u00E9 postupne", + MissingReplacementString: "V defin\u00EDcii %1 ch\u00FDba nahradzuj\u00FAci re\u0165azec", + MismatchUseDef: "Pou\u017Eitie %1 nezodpoved\u00E1 jeho defin\u00EDcii", + RunawayArgument: "Zbl\u00FAdil\u00FD argument pre %1?", + NoClosingDelim: "Nepodarilo sa n\u00E1js\u0165 ukon\u010Dovac\u00ED znak pre %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/sk.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/sk.js new file mode 100644 index 00000000..49219045 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/sk.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/sk/sk.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk",null,{ + menuTitle: "sloven\u010Dina", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Chyba spracovania matematiky", + MathError: "Chyba matematiky", + LoadFile: "Na\u010D\u00EDtava sa %1", + Loading: "Na\u010D\u00EDtavam", + LoadFailed: "Nepodarilo sa na\u010D\u00EDta\u0165 s\u00FAbor: %1", + ProcessMath: "Spracuje sa matematika: %1 %%", + Processing: "Sprac\u00FAvam", + TypesetMath: "S\u00E1dzanie matematiky: %1 %%", + Typesetting: "S\u00E1dzanie", + MathJaxNotSupported: "V\u00E1\u0161 prehliada\u010D nepodporuje MathJax", + ErrorTips: "Tipy k ladeniu: pou\u017Eite %%1, prehliadajte %%2 v konzole prehliada\u010Da" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + if (n === 2 || n === 3 || n === 4) {return 2} // two--four + return 3; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/sk.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/FontWarnings.js new file mode 100644 index 00000000..cf81c125 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/sl/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax za prikaza matematike na tej strani uporablja spletne pisave. Da se te nalo\u017Eijo, vzame nekaj \u010Dasa. Stran bi se hitreje izrisovala, \u010De bi bile matemati\u010Dne pisave name\u0161\u010Dene neposredno v mapi s pisavami va\u0161ega sistema.", + imageFonts: "MathJax ne uporablja lokalnih ali spletnih pisav, temve\u010D svoje slikovne pisave. Izrisovanje bo zato po\u010Dasnej\u0161e, matematika pa se morda ne bo natisnila v popolni lo\u010Dljivosti va\u0161ega tiskalnika.", + noFonts: "MathJax ne more najti pisave za prikaz matematike, slikovne pisave pa niso na razpolago, zato v upanju, da jih bo va\u0161 brskalnik lahko prikazal, uporablja generi\u010Dne unikodne znake. Nekateri znaki morda ne bodo prikazani pravilno ali pa sploh ne bodo prikazani.", + webFonts: "Ve\u010Dina sodobnih brskalnikov omogo\u010Da prenos pisav prek spleta. S posodobitvijo (ali zamenjavo) svojega brskalnika boste morda lahko izbolj\u0161ali kakovost matematike na tej strani.", + fonts: "MathJax lahko uporablja [fonte STIX](%1) ali [fonte MathJax TeX](%2). Za izbolj\u0161anje svoje uporabni\u0161ke izku\u0161nje prenesite in namestite te fonte.", + STIXPage: "Stran je oblikovana za uporabo [pisav STIX](%1). Za izbolj\u0161anje svoje uporabni\u0161ke izku\u0161nje prenesite in namestite te pisave.", + TeXPage: "Stran je oblikovana za uporabo [pisav MathJax Tex](%1). Za izbolj\u0161anje svoje izku\u0161nje z MathJax prenesite in namestite te pisave." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HTML-CSS.js new file mode 100644 index 00000000..b897330a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/sl/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Nalagam spletni font %1", + CantLoadWebFont: "Spletne pisave %1 ni mogo\u010De nalo\u017Eiti", + FirefoxCantLoadWebFont: "Firefox ne more nalo\u017Eiti spletnih pisav na oddaljenem gostitelju.", + CantFindFontUsing: "Z uporabo %1 ne morem najti veljavne pisave.", + WebFontsNotAvailable: "Web-Fonts niso na razpolago. Namesto njih uporabljam slikovne pisave." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HelpDialog.js new file mode 100644 index 00000000..87ffa4ff --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sl/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Pomo\u010D za MathJax", + MathJax: "*MathJax* je javaskriptna knji\u017Enica, ki ustvarjalcem spletnih strani omogo\u010Da vklju\u010Ditev matematike. Kot bralec ne potrebujete ni\u010Desar, da bi se to zgodilo.", + Browsers: "*Brskalniki*: MathJax deluje v vseh sodobnih brskalnikih, vklju\u010Dno z IE6+, Firefoxom 3+, Chromeom 0.2+, Safarijem 2+, Opero 9.6+, in v ve\u010Dini mobilnih brskalnikov.", + Menu: "*Meni ena\u010Db*: MathJax k ena\u010Dbam doda kontekstni meni. Za dostop do menija matematiko desno kliknite ali jo kliknite ob dr\u017Eanju tipke CTRL.", + ShowMath: "*Prika\u017Ei matematiko kot* vam omogo\u010Da prikaz izvornega ozna\u010Devanja formule za kopiranje in lepljenje (kot MathML ali v izvorni obliki).", + Settings: "*Nastavitve* vam dajo nadzor nad mo\u017Enostmi MathJaxa, kot so velikost matematike in mehanizem za prikaz ena\u010Db.", + Language: "*Jezik* vam omogo\u010Da izbrati jezik, ki naj ga MathJax uporablja za svoje menije in opozorilna sporo\u010Dila.", + Zoom: "*Math Zoom*: \u010De imate te\u017Eave pri branju ena\u010Dbe, jo lahko MathJax pove\u010Da, da jo boste bolje videli.", + Accessibilty: "*Dostopnost*: MathJax samodejno deluje z bralniki zaslona in omogo\u010Da dostop do matematike tudi slepim in slabovidnim.", + Fonts: "*Pisave*: MathJax bo uporabljal nekatere matemati\u010Dne pisave, \u010De so name\u0161\u010Dene na ra\u010Dunalniku, sicer pa pisave s spleta. \u010Ceprav niso nujne, bodo lokalno name\u0161\u010Dene pisave pospe\u0161ile prikaz. Predlagamo namestitev [pisav STIX](%1)." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathML.js new file mode 100644 index 00000000..057e5d66 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sl/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Neveljaven mglyph: %1", + BadMglyphFont: "Neveljavna pisava: %1", + MathPlayer: "MathJax ni mogel nastaviti programa MathPlayer.\n\n\u010Ce MathPlayer ni name\u0161\u010Den, ga morate najprej namestiti. Sicer morda njegov zahon prepre\u010Dujejo va\u0161e varnostne nastavitve. Uporabite element Internetne mo\u017Enosti [Internet Options] pod menijem Orodja [Tools] in izberite zavihek Varnost [Security], nato pritisnite gumb Prilagojena raven [Custom Level]. Preverite, alo so nastavitve za 'Za\u017Eeni krmilne elemente ActiveX' in 'Binarna in skriptna vedenja' omogo\u010Dene.\n\nTrenutno boste namesto matematike videli sporo\u010Dila o napakah.", + CantCreateXMLParser: "MathJax ne more ustvariti raz\u010Dlenjevalnika XML za MathML. Preverite, ali je varnostna nastavitev 'Krmilni elementi Script ActiveX ozna\u010Deni kot varni za skriptiranje' omogo\u010Dena (da to preverite, v meniju Orodja [Tools] uporabite element Internetne mo\u017Enosti [Internet Options], nato izberite plo\u0161\u010Do Varnost [Security], nato pritisnite gumb Prilagojena raven [Custom Level]).", + UnknownNodeType: "Neznana vrsta vozli\u0161\u010Da: %1", + UnexpectedTextNode: "Nepri\u010Dakovano tekstovno vozli\u0161\u010De: %1", + ErrorParsingMathML: "Napaka pri raz\u010Dlenjevanju MathML", + ParsingError: "Napaka pri raz\u010Dlenjevanju MathML: %1", + MathMLSingleElement: "MathML mora biti oblikovan z enim samim elementom", + MathMLRootElement: "MathML mora biti oblikovan z elementom \u003Cmath\u003E, ne s korenom %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathMenu.js new file mode 100644 index 00000000..4283daf8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathMenu.js @@ -0,0 +1,108 @@ +/************************************************************* + * + * MathJax/localization/sl/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Prika\u017Ei matematiko kot", + MathMLcode: "Koda MathML", + OriginalMathML: "Izvorni MathML", + TeXCommands: "Ukazi TeX", + AsciiMathInput: "Vnos AsciiMathML", + Original: "Izvirna oblika", + ErrorMessage: "Sporo\u010Dilo o napaki", + Annotation: "Pripis", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML vsebine", + OpenMath: "OpenMath", + texHints: "V MathML prika\u017Ei namige TeX", + Settings: "Nastavitve matematike", + ZoomTrigger: "Pro\u017Eilec zumiranja", + Hover: "Lebdenje", + Click: "Kliknite", + DoubleClick: "Dvokliknite", + NoZoom: "Brez pove\u010Dave", + TriggerRequires: "Pro\u017Eilec potrebuje:", + Option: "Mo\u017Enost", + Alt: "Alt", + Command: "Ukaz", + Control: "Kontrolnik", + Shift: "Preklop", + ZoomFactor: "Faktor zumiranja", + Renderer: "Matemati\u010Dni izrisovalnik", + MPHandles: "MathPlayer naj upravlja z:", + MenuEvents: "Dogodki menija", + MouseEvents: "Dogodki mi\u0161ke", + MenuAndMouse: "Dogodki mi\u0161ke in menija", + FontPrefs: "Nastavitve pisav", + ForHTMLCSS: "Za HTML-CSS:", + Auto: "Samodejno", + TeXLocal: "TeX (lokalno)", + TeXWeb: "TeX (splet)", + TeXImage: "TeX (slika)", + STIXLocal: "STIX (lokalno)", + STIXWeb: "STIX (splet)", + AsanaMathWeb: "Asana Math (splet)", + GyrePagellaWeb: "Gyre Pagella (splet)", + GyreTermesWeb: "Gyre Termes (splet)", + LatinModernWeb: "Latin Modern (splet)", + NeoEulerWeb: "Neo Euler (splet)", + ContextMenu: "Kontekstni meni", + Browser: "Brskalnik", + Scale: "Umeri vso matematiko ...", + Discoverable: "Ob lebdenju ozna\u010Di", + Locale: "Jezik", + LoadLocale: "Nalo\u017Ei iz spletnega naslova ...", + About: "O MathJax", + Help: "Pomo\u010D za MathJax", + localTeXfonts: "z uporabo lokalnih pisav TeX", + webTeXfonts: "z uporabo spletne pisave TeX", + imagefonts: "z uporabo slikovnih pisav", + localSTIXfonts: "z uporabo lokalnih pisav STIX", + webSVGfonts: "z uporabo spletnih pisav SVG", + genericfonts: "z uporabo generi\u010Dnih unikodnih pisav", + wofforotffonts: "pisave woff ali otf", + eotffonts: "pisave eot", + svgfonts: "pisave svg", + WebkitNativeMMLWarning: "Va\u0161 brskalnik ne podpira MathML sam po sebi, zato ob preklopu na MathML matematika morda ne bo berljiva.", + MSIENativeMMLWarning: "Internet Explorer potrebuje za obdelavo izhoda MathML vti\u010Dnik MathPlayer.", + OperaNativeMMLWarning: "Podpora Opere za MathML je omejena, zato se bodo ob preklopu na MathML nekateri izrazi morda slabo izrisali.", + SafariNativeMMLWarning: "MathML va\u0161ega brskalnika ne podpira vseh mo\u017Enosti MathJaxa, zato se nekateri izrazi morda ne bodo pravilno prikazali.", + FirefoxNativeMMLWarning: "MathML va\u0161ega brskalnika ne podpira vseh mo\u017Enosti MathJaxa, zato se nekateri izrazi morda ne bodo pravilno izrisali.", + MSIESVGWarning: "V Internet Explorerju pred IE9 in pri emulaciji IE8 ali manj SVG ni podprt. Ob preklopu na SVG se matematika ne bo prikazala pravilno.", + LoadURL: "Nalo\u017Ei podatke za prevajanje z naslednjega spletnega naslova:", + BadURL: "Spletni naslov mora biti za javaskriptno datoteko, ki opredeljuje podatke MathJax o prevajanju. Imena javaskriptnih datotek se morajo kon\u010Dati z '.js'", + BadData: "Nalaganje podatkov za prevajanje iz %1 ni uspelo", + SwitchAnyway: "Vseeno zamenjam izrisovalnik?", + ScaleMath: "Umeri vso matematiko (v primerjavi z okoli\u0161nim besedilom) z", + NonZeroScale: "Merilo ne sme biti ni\u010D", + PercentScale: "Merilo naj bo odstotek (npr. 120%%)", + IE8warning: "To onemogo\u010Di meni MathJax in mo\u017Enosti zumiranja, vendar pa lahko namesto tega kliknete izraz ob dr\u017Eanju tipke Alt, s \u010Dimer se prika\u017Ee meni MathJax.", + IE9warning: "Kontekstni meni MathJax bo izklopljen, namesto tega pa lahko s klikom izraza ob dr\u017Eanju tipke Alt prikli\u010Dete meni MathJax.", + NoOriginalForm: "Na razpolago ni nobena izvorna oblika", + Close: "Zapri", + EqSource: "Vir ena\u010Dbe MathJax", + FastPreview: "Hitri predogled" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/TeX.js new file mode 100644 index 00000000..1ee6a514 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/sl/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Dodaten uklepaj ali manjkajo\u010D zaklepaj", + ExtraCloseMissingOpen: "Dodaten zaklepaj ali manjkajo\u010D uklepaj", + MissingLeftExtraRight: "Manjka \\left ali dodatni \\right", + MissingScript: "Manjka nadpisani ali podpisani argument", + ExtraLeftMissingRight: "Dodaten \\left ali manjkajo\u010D \\right", + Misplaced: "Narobe postavljen %1", + MissingOpenForSub: "Manjka uklepaj za nadpisano", + MissingOpenForSup: "Manjka uklepaj za nadpisano", + AmbiguousUseOf: "Dvoumna uporaba %1", + EnvBadEnd: "\\begin{%1} se je kon\u010Dal z \\end{%2}", + EnvMissingEnd: "Manjka \\end{%1}", + MissingBoxFor: "Manjka polje za %1", + MissingCloseBrace: "Manjka zaklepaj", + UndefinedControlSequence: "Nedefinirano kontrolno zaporedje %1", + DoubleExponent: "Dvojni eksponent: pojasnite z oklepaji", + DoubleSubscripts: "Dvojno podpisano: za pojasnitev uporabite oklepaje", + DoubleExponentPrime: "Pra\u0161tevilo povzro\u010Da dvojni eksponent: pojasnite z oklepaji", + CantUseHash1: "Znak # je makroparameter in ga v matemati\u010Dnem na\u010Dinu ne morete uporabljati", + MisplacedMiddle: "%1 mora biti znotraj \\left in \\right", + MisplacedLimits: "%1 je dovoljen samo pri operatorjih", + MisplacedMoveRoot: "%1 se lahko pojavi samo v korenu", + MultipleCommand: "Ve\u010Dkratni %1", + IntegerArg: "Argument za %1 mora biti celo \u0161tevilo", + NotMathMLToken: "%1 ni \u017Eetonski element", + InvalidMathMLAttr: "Neveljaven atribut MathML: %1", + UnknownAttrForElement: "%1 ni prepoznani atribut za %2", + MaxMacroSub1: "Prese\u017Eeno najve\u010Dje \u0161tevilo makrosubstitucij MathJax; ali obstaja rekurzivni makroklic?", + MaxMacroSub2: "Prese\u017Eeno najve\u010Dje \u0161tevilo substitucij MathJax; ali obstaja rekurzivno okolje LaTeX?", + MissingArgFor: "Manjka argument za %1", + ExtraAlignTab: "Dodatni zavihek za poravnavo v tekstu \\cases", + BracketMustBeDimension: "Argument v oklepaju za %1 mora biti velikost", + InvalidEnv: "Neveljavno ime okolja '%1'", + UnknownEnv: "Neznano okolje '%1'", + ExtraCloseLooking: "Dodatni zaklepaj pri iskanju %1", + MissingCloseBracket: "Za argument za %1 ni mogo\u010De najti zaklepaja ']'", + MissingOrUnrecognizedDelim: "Manjkajo\u010De ali neprepoznano lo\u010Dilo za %1", + MissingDimOrUnits: "Manjka velikost ali enote pri %1", + TokenNotFoundForCommand: "%1 za %2 ni bilo mogo\u010De najti", + MathNotTerminated: "Matematika v tekstovnem polju ni prekinjena", + IllegalMacroParam: "Nedovoljen makroparameter", + MaxBufferSize: "Prese\u017Eena velikost notranjega medpomnilnika MathJax; ali obstaja rekurzivni makroklic?", + CommandNotAllowedInEnv: "%1 v okolju %2 ni dovoljen", + MultipleLabel: "Ve\u010Dkratno definirana oznaka '%1'", + CommandAtTheBeginingOfLine: "%1 mora priti na za\u010Detek vrstice", + IllegalAlign: "V %1 je dolo\u010Dena nedovoljena poravnava.", + BadMathStyleFor: "Neveljaven matemati\u010Dni slog argumenta %1", + PositiveIntegerArg: "Argument za %1 mora biti pozitivno celo \u0161tevilo", + ErroneousNestingEq: "Napa\u010Dno gnezdenje struktur ena\u010Dbe", + MultlineRowsOneCol: "Vrstice v okolju %1 morajo imeti natan\u010Dno en stolpec", + MultipleBBoxProperty: "%1 je v %2 dolo\u010Den dvakrat", + InvalidBBoxProperty: "'%1' ne izgleda kot barva, velikost odmika ali slog", + ExtraEndMissingBegin: "Dodatni %1 ali manjkajo\u010D \\begingroup", + GlobalNotFollowedBy: "%1 ne sledijo \\let, \\def ali \\newcommand", + UndefinedColorModel: "Nedefiniran barvni model '%1'", + ModelArg1: "Barvne vrednosti modela %1 zahtevajo tri \u0161tevilke", + InvalidDecimalNumber: "Neveljavna decimalna \u0161tevilka", + ModelArg2: "Barvne vrednosti za model %1 morajo biti med %2 in %3", + InvalidNumber: "Neveljavna \u0161tevilka", + NewextarrowArg1: "Prvi argument za %1 mora biti ime kontrolnega zaporedja", + NewextarrowArg2: "Drugi argument za %1 morata biti dve celi \u0161tevili, lo\u010Deni z vejico", + NewextarrowArg3: "Tretji argument za %1 mora biti \u0161tevilka unikodnega znaka", + NoClosingChar: "Ni mogo\u010De najti zapiralnega %1", + IllegalControlSequenceName: "Nedovoljeno ime kontrolnega zaporedja za %1", + IllegalParamNumber: "Neveljavno \u0161tevilo parametrov v %1", + MissingCS: "%1 mora slediti kontrolno zaporedje", + CantUseHash2: "Nedovoljena uporaba znaka # v predlogi za %1", + SequentialParam: "Parametri za %1 morajo biti o\u0161tevil\u010Deni zaporedno", + MissingReplacementString: "Manjka nadomestni niz za definicijo %1", + MismatchUseDef: "Uporaba %1 se ne ujema z njegovo definicijo", + RunawayArgument: "Ube\u017Eni argument za %1?", + NoClosingDelim: "Ni mogo\u010De najti zaklju\u010Dnega lo\u010Dila za %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/sl.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/sl.js new file mode 100644 index 00000000..2dd89f08 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/sl.js @@ -0,0 +1,60 @@ +/************************************************************* + * + * MathJax/localization/sl/sl.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl",null,{ + menuTitle: "sloven\u0161\u010Dina", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax je na\u0161el pi\u0161kotek za uporabni\u0161ko konfiguracijo, ki vklju\u010Duje kodo za zagon. Ali jo \u017Eelite zagnati?\n\n(Pritisnite Prekli\u010Di, razen \u010De ste pi\u0161kotek sami nastavili.)", + MathProcessingError: "Napaka pri obdelavi matematike", + MathError: "Napaka v matemati\u010Dni formuli", + LoadFile: "Nalagam %1", + Loading: "Nalagam", + LoadFailed: "Datoteka se ni nalo\u017Eila: %1", + ProcessMath: "Obdelava matematike: %1%%", + Processing: "Obdelujem", + TypesetMath: "Stavljenje matematike: %1%%", + Typesetting: "Stavljenje", + MathJaxNotSupported: "Va\u0161 brskalnik ne podpira MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 100 === 1) return 1; // one + if (n % 100 === 2) return 2; // two + if (3 <= n % 100 && n % 100 <= 4) return 3; + return 4; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/sl.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/FontWarnings.js new file mode 100644 index 00000000..51869889 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/sv/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax anv\u00E4nder webb-baserade teckensnitt f\u00F6r att visa matematik p\u00E5 denna sida. Dessa tar tid att ladda ner, sidan skulle g\u00F6ra snabbare om du installerar matematik-typsnitt direkt i systemets teckensnittsmapp.", + imageFonts: "MathJax anv\u00E4nder sina bild-teckensnitt ist\u00E4llet f\u00F6r lokala eller webb-baserade typsnitt. Detta kommer att g\u00F6ra visningen saktare \u00E4n vanligt, matematik kan \u00E4ven komma att inte skrivas ut med din skrivares fulla uppl\u00F6sning.", + noFonts: "MathJax kan inte hitta ett typsnitt f\u00F6r att visa sin matematik, och bild-teckensnitt \u00E4r ej tillg\u00E4ngliga, s\u00E5 den faller tillbaka p\u00E5 generiska Unicode-tecken i hopp om att din webbl\u00E4sare kommer att kunna visa dem. Vissa tecken kan komma att visas inkorrekt, eller kanske inte alls.", + webFonts: "De flesta moderna webbl\u00E4sare till\u00E5ter teckensnitt att h\u00E4mtas via webben. Att uppdatera till en nyare version av din webbl\u00E4sare (eller byta webbl\u00E4sare) kan f\u00F6rb\u00E4ttra kvaliteten p\u00E5 matematik p\u00E5 denna sida.", + fonts: "MathJax kan antingen anv\u00E4nda [STIX-typsnitt](%1) eller [MathJax TeX-typsnitt](%2). Ladda ner och installera en av dessa typsnitt f\u00F6r att f\u00F6rb\u00E4ttra din MathJax-upplevelse.", + STIXPage: "Denna sida \u00E4r designad f\u00F6r att anv\u00E4nda [STIX-typsnitt](%1). Ladda ner och installera dessa typsnitt f\u00F6r att f\u00F6rb\u00E4ttra din MathJax-upplevelse.", + TeXPage: "Denna sida \u00E4r designad f\u00F6r att anv\u00E4nda [MathJax TeX-typsnitt](%1). Ladda ner och installera dessa typsnitt f\u00F6r att f\u00F6rb\u00E4ttra din MathJax-upplevelse." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HTML-CSS.js new file mode 100644 index 00000000..179ab6ca --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/sv/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "L\u00E4ser in webbtypsnittet %1", + CantLoadWebFont: "Kan inte l\u00E4sa in webbtypsnittet %1", + FirefoxCantLoadWebFont: "Firefox kan inte l\u00E4sa in webbteckensnitt fr\u00E5n en fj\u00E4rrv\u00E4rd", + CantFindFontUsing: "Kan inte hitta ett giltigt teckensnitt med hj\u00E4lp av %1", + WebFontsNotAvailable: "Webbtypsnitt \u00E4r inte tillg\u00E4ngliga. Anv\u00E4nder bildtypsnitt ist\u00E4llet" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HelpDialog.js new file mode 100644 index 00000000..7c133f52 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/sv/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax-hj\u00E4lp", + MathJax: "*MathJax* \u00E4r ett JavaScript-bibliotek som till\u00E5ter f\u00F6rfattare att inkludera matematik p\u00E5 sina webbsidor. Som l\u00E4sare beh\u00F6ver du inte g\u00F6ra n\u00E5got f\u00F6r att f\u00E5 det att h\u00E4nda.", + Browsers: "*Webbl\u00E4sare*: MathJax fungerar med alla moderna webbl\u00E4sare inklusive IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ och de flesta mobila webbl\u00E4sare.", + Menu: "*Matematik-menyn*: MathJax l\u00E4gger till en kontextuell meny till ekvationer. H\u00F6gerklicka eller Ctrl-klicka p\u00E5 n\u00E5gon matematik att komma \u00E5t menyn.", + ShowMath: "*Visa matematik som* g\u00F6r att du kan visa formelns k\u00E4llkod f\u00F6r att klipp \u0026 klistra in (som MathML eller i dess ursprungliga format).", + Settings: "*Inst\u00E4llninga * ger dig kontroll \u00F6ver funktionerna i MathJax, s\u00E5 som storleken p\u00E5 matematiken och den mekanism som anv\u00E4nds f\u00F6r att visa ekvationer.", + Language: "*Spr\u00E5k* l\u00E5ter dig v\u00E4lja spr\u00E5ket som MathJax ska anv\u00E4nda f\u00F6r sina menyer och varningsmeddelanden.", + Zoom: "*Matematik zoom*: Om du har sv\u00E5rt att l\u00E4sa en ekvation, kan MathJax f\u00F6rstora den f\u00F6r att hj\u00E4lpa dig se den b\u00E4ttre.", + Accessibilty: "*Tillg\u00E4nglighet*: MathJax fungerar automatiskt med sk\u00E4rml\u00E4sare f\u00F6r att g\u00F6ra matematik tillg\u00E4nglig f\u00F6r synskadade.", + Fonts: "*Typsnitt*: MathJax kommer att anv\u00E4nda vissa matematiska teckensnitt om de \u00E4r installerade p\u00E5 din dator; annars anv\u00E4nder den webb-baserade teckensnitt. \u00C4ven om det inte kr\u00E4vs, kommer lokalt installerade teckensnitt att p\u00E5skynda typs\u00E4ttningen. Vi f\u00F6resl\u00E5r installation av [STIX-typsnitt](%1).", + CloseDialog: "St\u00E4ng hj\u00E4lpdialogen" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathML.js new file mode 100644 index 00000000..11cbfc5d --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sv/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "D\u00E5lig mglyph: %1", + BadMglyphFont: "D\u00E5ligt typsnitt: %1", + MathPlayer: "MathJax kunde inte st\u00E4lla in MathPlayer.\n\nOm MathPlayer inte \u00E4r installerat, m\u00E5ste du installera \nden f\u00F6rst. Annars kan det h\u00E4nda att dina \ns\u00E4kerhetsinst\u00E4llningar f\u00F6rhindrar ActiveX-kontroller \nfr\u00E5n att k\u00F6ras. Anv\u00E4nd internetinst\u00E4llningar i \nverktygsmenyn, v\u00E4lj s\u00E4kerhetspanelen, klicka sedan \nanv\u00E4ndardefinierad niv\u00E5-knappen. Kontrollera att \ninst\u00E4llningarna f\u00F6r 'K\u00F6r ActiveX-kontroller' samt \n'Bin\u00E4r och skript-beteenden' \u00E4r aktiverade.\n\nF\u00F6r n\u00E4rvarande kommer du att se flemeddelande snarare \n\u00E4n typsatt matematik", + CantCreateXMLParser: "MathJax kunde inte skapa en XML-tolk f\u00F6r MathML. Kontrollera att \ns\u00E4kerhetsinst\u00E4llningen 'Script ActiveX X-kontroller som markerats \nsom s\u00E4kra f\u00F6r skript' \u00E4r aktiverad (anv\u00E4nd internetinst\u00E4llningar \ni verktygsmenyn, v\u00E4lj s\u00E4kerhetspanelen, klicka sedan \nanv\u00E4ndardefinierad niv\u00E5-knappen f\u00F6r att kontrollera detta).\n\nMathML-ekvationer kommer inte kunna hanteras av MathJax", + UnknownNodeType: "Ok\u00E4nd nodtyp: %1", + UnexpectedTextNode: "Ov\u00E4ntad textnod: %1", + ErrorParsingMathML: "Fel vid tolkning av MathML", + ParsingError: "Fel vid tolkning av MathML: %1", + MathMLSingleElement: "MathML m\u00E5ste bildas av ett enskilt element", + MathMLRootElement: "MathML m\u00E5ste bildas av ett \u003Cmath\u003E-element, inte %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathMenu.js new file mode 100644 index 00000000..6d5564fd --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/sv/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + MathMLcode: "MathML-kod", + OriginalMathML: "Ursprunglig MathML", + TeXCommands: "TeX-kommandon", + AsciiMathInput: "AsciiMathML-indata", + Original: "Ursprungligt format", + ErrorMessage: "Felmeddelande", + TeX: "TeX", + StarMath: "StarMath", + OpenMath: "OpenMath", + Click: "Klick", + DoubleClick: "Dubbelklick", + NoZoom: "Ingen zoom", + Option: "Alternativ", + Alt: "Alt", + Command: "\u2318 (Cmd)", + Control: "Ctrl", + Shift: "Skift", + MenuEvents: "Menyh\u00E4ndelser", + MouseEvents: "Mush\u00E4ndelser", + MenuAndMouse: "Mus- och menyh\u00E4ndelser", + FontPrefs: "Teckensnittsinst\u00E4llningar", + ForHTMLCSS: "F\u00F6r HTML-CSS:", + Auto: "Auto", + TeXLocal: "TeX (lokal)", + TeXWeb: "TeX (webb)", + TeXImage: "TeX (bild)", + STIXLocal: "STIX (lokal)", + STIXWeb: "STIX (webb)", + AsanaMathWeb: "Asana Math (webb)", + GyrePagellaWeb: "Gyre Pagella (webb)", + GyreTermesWeb: "Gyre Termes (webb)", + LatinModernWeb: "Latin Modern (webb)", + NeoEulerWeb: "Neo Euler (webb)", + Browser: "Webbl\u00E4sare", + Discoverable: "Markera vid hovring", + Locale: "Spr\u00E5k", + LoadLocale: "L\u00E4s in fr\u00E5n URL ...", + About: "Om MathJax", + Help: "MathJax-hj\u00E4lp", + eotffonts: "EOT-teckensnitt", + svgfonts: "SVG-teckensnitt", + MSIENativeMMLWarning: "Internet Explorer kr\u00E4ver insticksmodulen MathPlayer f\u00F6r att kunna bearbeta MathML-utdata.", + NonZeroScale: "Skalan b\u00F6r inte vara noll", + PercentScale: "Skalan b\u00F6r vara en procentsats (t.ex. 120%%)", + Close: "St\u00E4ng", + Show: "Visa matematik som", + Annotation: "Anm\u00E4rkning", + Maple: "Maple", + ContentMathML: "Content MathML", + texHints: "Visa TeX tips i MathML", + Settings: "Matematikinst\u00E4llningar", + ZoomTrigger: "Zoomutl\u00F6sare", + Hover: "Hovra", + TriggerRequires: "Utl\u00F6sare kr\u00E4ver:", + ZoomFactor: "Zoom-faktor", + Renderer: "Matematik-renderare", + MPHandles: "L\u00E5t MathPlayer hantera:", + ContextMenu: "Kontextuell meny", + Scale: "Skala all matematik...", + localTeXfonts: "anv\u00E4nder lokala TeX-typsnitt", + webTeXfonts: "anv\u00E4nder webb-TeX-typsnitt", + imagefonts: "anv\u00E4nder bild-typsnitt", + localSTIXfonts: "anv\u00E4nder lokala STIX-typsnitt", + webSVGfonts: "anv\u00E4nder webb-SVG-typsnitt", + genericfonts: "anv\u00E4nder generiska Unicode-typsnitt", + wofforotffonts: "WOFF- eller OTF-typsnitt", + WebkitNativeMMLWarning: "Din webbl\u00E4sare verkar sakna inbyggt st\u00F6d f\u00F6r MathML, att byta till MathML-utdata kan d\u00E4rf\u00F6r g\u00F6ra att matematiken p\u00E5 sidan blir ol\u00E4sbar", + OperaNativeMMLWarning: "Operas st\u00F6d f\u00F6r MathML \u00E4r begr\u00E4nsad, att byta till MathML-utdata kan d\u00E4rf\u00F6r g\u00F6ra att vissa uttryck \u00E5terges d\u00E5ligt.", + SafariNativeMMLWarning: "Din webbl\u00E4sares inbyggda MathML implementerar inte alla de funktioner som anv\u00E4nds av MathJax, vissa uttryck kan d\u00E4rf\u00F6r \u00E5terges inkorrekt.", + FirefoxNativeMMLWarning: "Din webbl\u00E4sares inbyggda MathML implementerar inte alla de funktioner som anv\u00E4nds av MathJax, vissa uttryck kan d\u00E4rf\u00F6r \u00E5terges inkorrekt.", + MSIESVGWarning: "SVG implementeras inte i Internet Explorer f\u00F6re IE9 eller n\u00E4r den emulerar IE8 eller l\u00E4gre. Ett byte till SVG-utdata kommer att g\u00F6ra att matematiken inte visas korrekt.", + LoadURL: "Ladda \u00F6vers\u00E4ttningsdata fr\u00E5n denna URL:", + BadURL: "URL-adressen b\u00F6r g\u00E5 till en JavaScript-fil som definierar MathJax-\u00F6vers\u00E4ttningsdata. JavaScript-filnamn b\u00F6r avslutas med \".js\"", + BadData: "Misslyckades med att ladda \u00F6vers\u00E4ttningsdata fr\u00E5n %1", + SwitchAnyway: "Byt renderare \u00E4nd\u00E5?\n\n(Tryck p\u00E5 OK f\u00F6r att byta, AVBRYT f\u00F6r att forts\u00E4tta med nuvarande renderare)", + ScaleMath: "Skala alla matematik (j\u00E4mf\u00F6rt med omgivande text) med", + IE8warning: "Detta kommer att inaktivera MathJax-menyn och zoom-funktionen, men du kan Alt-klicka p\u00E5 ett uttryck att f\u00E5 MathJax-menyn ist\u00E4llet.\n\nVill du verkligen \u00E4ndra MathPlayer-inst\u00E4llningarna?", + IE9warning: "MathJax kontextuella meny kommer att vara inaktiverade, men du kan Alt-Klicka p\u00E5 ett uttryck f\u00F6r att f\u00E5 MathJax-menyn ist\u00E4llet.", + NoOriginalForm: "Inget ursprungligt format tillg\u00E4ngligt", + EqSource: "MathJax ekvationsk\u00E4lla", + CloseAboutDialog: "St\u00E4ng dialogen \"Om MathJax\"", + FastPreview: "Snabb f\u00F6rhandsvisning", + AssistiveMML: "Assisterande MathML", + InTabOrder: "Inkludera i flikordning" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/TeX.js new file mode 100644 index 00000000..7e7419a4 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/sv/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Extra v\u00E4nsterklammerparentes eller h\u00F6gerklammerparentes saknas", + ExtraCloseMissingOpen: "Extra h\u00F6gerklammerparentes eller v\u00E4nsterklammerparentes saknas", + MissingLeftExtraRight: "Saknad \\left eller en extra \\right", + ExtraLeftMissingRight: "Extra \\left eller en saknad \\right", + Misplaced: "Felplacerad %1", + MissingOpenForSub: "Saknad v\u00E4nsterklammerparentes f\u00F6r index", + MissingOpenForSup: "Saknad v\u00E4nsterklammerparentes f\u00F6r exponent", + AmbiguousUseOf: "Tvetydig anv\u00E4ndning av %1", + EnvBadEnd: "\\begin{%1} slutade med \\end{%2}", + EnvMissingEnd: "Saknad \\end{%1}", + MissingBoxFor: "Saknad l\u00E5da f\u00F6r %1", + MissingCloseBrace: "Saknad h\u00F6gerklammerparentes", + UndefinedControlSequence: "Odefinierad kontrollsekvens %1", + DoubleExponent: "Dubbel exponent: anv\u00E4nd klammerparenteser f\u00F6r att klarg\u00F6ra", + DoubleSubscripts: "Dubbla index: anv\u00E4nd klammerparenteser f\u00F6r att klarg\u00F6ra", + MisplacedMiddle: "%1 m\u00E5ste vara inom \\left och \\right", + MisplacedLimits: "%1 till\u00E5ts endast p\u00E5 operat\u00F6rer", + MisplacedMoveRoot: "%1 kan endast visas inom en rot", + MultipleCommand: "Flera %1", + IntegerArg: "Argumentet till %1 m\u00E5ste vara ett heltal", + NotMathMLToken: "%1 \u00E4r inte ett token-element", + InvalidMathMLAttr: "Ogiltigt MathML-attribut: %1", + UnknownAttrForElement: "%1 \u00E4r inte ett igenk\u00E4ndt attribut f\u00F6r %2", + MissingArgFor: "Saknat argument f\u00F6r %1", + InvalidEnv: "Ogiltigt milj\u00F6namn '%1'", + UnknownEnv: "Ok\u00E4nd milj\u00F6 '%1'", + ExtraCloseLooking: "Extra h\u00F6gerklammerparentes n\u00E4r %1 s\u00F6ktes", + MissingCloseBracket: "Kunde inte hitta avslutande ']' f\u00F6r argumentet till %1", + TokenNotFoundForCommand: "Kunde inte hitta %1 f\u00F6r %2", + CommandNotAllowedInEnv: "%1 till\u00E5ts inte i %2-milj\u00F6n", + MultipleLabel: "Etiketten '%1' definierades flera g\u00E5nger", + CommandAtTheBeginingOfLine: "%1 m\u00E5ste vara i b\u00F6rjan p\u00E5 raden", + IllegalAlign: "Ogiltig justering anges i %1", + MultipleBBoxProperty: "%1 anges tv\u00E5 g\u00E5nger i %2", + ExtraEndMissingBegin: "Extra %1 eller en saknad \\begingroup", + GlobalNotFollowedBy: "%1 f\u00F6ljs inte av \\let, \\def eller \\newcommand", + UndefinedColorModel: "F\u00E4rgmodellen '%1' \u00E4r inte definierad", + InvalidDecimalNumber: "Ogiltig decimaltal", + InvalidNumber: "Ogiltigt nummer", + NoClosingChar: "Kan inte hitta avslutande %1", + IllegalControlSequenceName: "Ogiltigt kontrollsekvensnamn f\u00F6r %1", + IllegalParamNumber: "Ogiltigt antal parametrar anges i %1", + MissingScript: "Saknat argument f\u00F6r exponent- eller indexl\u00E4ge", + DoubleExponentPrime: "Primtecken orsakar dubbla exponenter: Anv\u00E4nd klammerparenteser f\u00F6r att klarg\u00F6ra", + CantUseHash1: "Du kan inte anv\u00E4nda 'makroparameter-tecknet #' i matematikl\u00E4ge", + MaxMacroSub1: "MathJax maximala antal makro-substitutioner har \u00F6verskridits; finns det ett rekursivt makroanrop?", + MaxMacroSub2: "MathJax maximala antal substitutioner har \u00F6verskridits; finns det en rekursiv LaTeX-milj\u00F6?", + ExtraAlignTab: "Extra \u0026-tecken i \\cases-text", + BracketMustBeDimension: "Argumentet innanf\u00F6r klammerparenteser till %1 m\u00E5ste vara en dimension", + MissingOrUnrecognizedDelim: "Saknad eller \u00E4r ok\u00E4nd avgr\u00E4nsare f\u00F6r %1", + MissingDimOrUnits: "Saknar dimension eller dess enheter f\u00F6r %1", + MathNotTerminated: "Matematiskt uttryckt ej avslutat i textrutan", + IllegalMacroParam: "Ogiltig referens till makroparameter", + MaxBufferSize: "MathJax intern buffertstorlek har \u00F6verskridits; finns d\u00E4r ett rekursivt makroanrop?", + BadMathStyleFor: "D\u00E5lig matematikstil f\u00F6r %1", + PositiveIntegerArg: "Argumentet till %1 m\u00E5ste vara ett positivt heltal", + ErroneousNestingEq: "Felaktigt n\u00E4stling av ekvationsstrukturer", + MultlineRowsOneCol: "Raderna inom %1-milj\u00F6n m\u00E5ste ha exakt en kolumn", + InvalidBBoxProperty: "'%1' verkar inte vara en f\u00E4rg, en utfyllnadsdimension eller en stil", + ModelArg1: "F\u00E4rgv\u00E4rden f\u00F6r f\u00E4rgmodell %1 kr\u00E4ver 3 nummer", + ModelArg2: "F\u00E4rgv\u00E4rden f\u00F6r f\u00E4rgmodell %1 m\u00E5ste vara mellan %2 och %3", + NewextarrowArg1: "F\u00F6rsta argumentet till %1 m\u00E5ste vara namnet p\u00E5 en kontrollsekvens", + NewextarrowArg2: "Andra argumentet till %1 m\u00E5ste vara tv\u00E5 heltal separerade av ett komma", + NewextarrowArg3: "Tredje argumentet till %1 m\u00E5ste vara nummeret p\u00E5 ett Unicode-tecken", + MissingCS: "%1 m\u00E5ste f\u00F6ljas av en kontrollsekvens", + CantUseHash2: "Ogiltig anv\u00E4ndning av # i mallen f\u00F6r %1", + SequentialParam: "Parametrar f\u00F6r %1 m\u00E5ste numreras sekventiellt", + MissingReplacementString: "Saknar ers\u00E4ttningsstr\u00E4ngen f\u00F6r definition av %1", + MismatchUseDef: "Anv\u00E4ndning av %1 matchar inte dess definition", + RunawayArgument: "Skenande argument f\u00F6r %1?", + NoClosingDelim: "Kunde inte hitta avslutande avgr\u00E4nsare f\u00F6r %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/sv.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/sv.js new file mode 100644 index 00000000..b1deafcc --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/sv.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/sv/sv.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv",null,{ + menuTitle: "svenska", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax har hittat en anv\u00E4ndarkonfigurations-cookie som inneh\u00E5ller kod som kan k\u00F6ras. Vill du k\u00F6ra den?\n\n(Du b\u00F6r trycka p\u00E5 Avbryt om du inte sj\u00E4lv har lagt upp denna cookie.)", + MathProcessingError: "Matematikbearbetningsfel", + MathError: "Matematikfel", + LoadFile: "L\u00E4ser in %1", + Loading: "L\u00E4ser in", + LoadFailed: "Filen kunde inte l\u00E4sas in: %1", + ProcessMath: "Bearbetar matematik: %1%%", + Processing: "Bearbetar", + TypesetMath: "Typs\u00E4tter matematik: %1%%", + Typesetting: "Typs\u00E4ttning", + MathJaxNotSupported: "Din webbl\u00E4sare st\u00F6der inte MathJax", + ErrorTips: "Fels\u00F6kningstips: anv\u00E4nd %%1, inspektera %%2 i webbl\u00E4sarkonsolen" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/sv.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/FontWarnings.js new file mode 100644 index 00000000..b2c4780b --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/th/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49 \u0E0B\u0E36\u0E48\u0E07\u0E08\u0E30\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E40\u0E27\u0E25\u0E32\u0E1A\u0E49\u0E32\u0E07\u0E43\u0E19\u0E01\u0E32\u0E23\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14 \u0E2B\u0E32\u0E01\u0E17\u0E48\u0E32\u0E19\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E42\u0E2B\u0E25\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E43\u0E2B\u0E49\u0E40\u0E23\u0E47\u0E27 \u0E04\u0E27\u0E23\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19", + imageFonts: "MathJax \u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E0A\u0E19\u0E34\u0E14\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E41\u0E17\u0E19\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A\u0E2B\u0E23\u0E37\u0E2D\u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A \u0E0B\u0E36\u0E48\u0E07\u0E08\u0E30\u0E48\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E20\u0E32\u0E1E (render) \u0E0A\u0E49\u0E32\u0E01\u0E27\u0E48\u0E32\u0E1B\u0E01\u0E15\u0E34 \u0E41\u0E25\u0E30\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E2D\u0E2D\u0E01\u0E17\u0E32\u0E07\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C \u0E08\u0E30\u0E44\u0E21\u0E48\u0E41\u0E2A\u0E14\u0E07\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E44\u0E14\u0E49\u0E40\u0E15\u0E47\u0E21\u0E17\u0E35\u0E48\u0E19\u0E31\u0E01", + noFonts: "MathJax \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E23\u0E30\u0E1A\u0E38\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E02\u0E2D\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C \u0E23\u0E27\u0E21\u0E16\u0E36\u0E07\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E44\u0E14\u0E49 \u0E08\u0E36\u0E07\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E22\u0E39\u0E19\u0E34\u0E42\u0E04\u0E49\u0E14\u0E41\u0E17\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E2B\u0E49\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E41\u0E2A\u0E14\u0E07\u0E2D\u0E2D\u0E01\u0E17\u0E32\u0E07\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E44\u0E14\u0E49 \u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E1A\u0E32\u0E07\u0E15\u0E31\u0E27\u0E2D\u0E32\u0E08\u0E41\u0E2A\u0E14\u0E07\u0E44\u0E21\u0E48\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E1B\u0E23\u0E32\u0E01\u0E0F\u0E40\u0E25\u0E22", + webFonts: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E23\u0E38\u0E48\u0E19\u0E43\u0E2B\u0E21\u0E48\u0E2A\u0E48\u0E27\u0E19\u0E21\u0E32\u0E01\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E1C\u0E48\u0E32\u0E19\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E14\u0E49 \u0E01\u0E32\u0E23\u0E1B\u0E23\u0E31\u0E1A\u0E23\u0E38\u0E48\u0E19\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E43\u0E2B\u0E49\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E38\u0E48\u0E19\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14 (\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C) \u0E2D\u0E32\u0E08\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E04\u0E38\u0E13\u0E20\u0E32\u0E1E\u0E02\u0E2D\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E41\u0E2A\u0E14\u0E07\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E44\u0E14\u0E49", + fonts: "MathJax \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX](%1) \u0E2B\u0E23\u0E37\u0E2D[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 MathJax](%2) \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E25\u0E30\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E41\u0E1A\u0E1A\u0E43\u0E14\u0E41\u0E1A\u0E1A\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax \u0E23\u0E32\u0E1A\u0E23\u0E37\u0E48\u0E19\u0E02\u0E36\u0E49\u0E19", + STIXPage: "\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E16\u0E39\u0E01\u0E2D\u0E2D\u0E01\u0E41\u0E1A\u0E1A\u0E21\u0E32\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX](%1) \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E25\u0E30\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E14\u0E31\u0E07\u0E01\u0E25\u0E48\u0E32\u0E27\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax \u0E23\u0E32\u0E1A\u0E23\u0E37\u0E48\u0E19\u0E02\u0E36\u0E49\u0E19", + TeXPage: "\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E16\u0E39\u0E01\u0E2D\u0E2D\u0E01\u0E41\u0E1A\u0E1A\u0E21\u0E32\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 MathJax TeX](%1) \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E25\u0E30\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E14\u0E31\u0E07\u0E01\u0E25\u0E48\u0E32\u0E27\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax \u0E23\u0E32\u0E1A\u0E23\u0E37\u0E48\u0E19\u0E02\u0E36\u0E49\u0E19" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HTML-CSS.js new file mode 100644 index 00000000..f2a74104 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/th/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A %1", + CantLoadWebFont: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A %1", + FirefoxCantLoadWebFont: "Firefox \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A\u0E08\u0E32\u0E01\u0E42\u0E2E\u0E2A\u0E15\u0E4C\u0E23\u0E30\u0E22\u0E30\u0E44\u0E01\u0E25\u0E44\u0E14\u0E49", + CantFindFontUsing: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E42\u0E14\u0E22\u0E43\u0E0A\u0E49 %1", + WebFontsNotAvailable: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A \u0E08\u0E30\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E41\u0E17\u0E19" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HelpDialog.js new file mode 100644 index 00000000..42d25e37 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/th/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u0E04\u0E27\u0E32\u0E21\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D\u0E41\u0E25\u0E30\u0E27\u0E34\u0E18\u0E35\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax", + MathJax: "*MathJax* \u0E40\u0E1B\u0E47\u0E19\u0E04\u0E25\u0E31\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E08\u0E32\u0E27\u0E32\u0E2A\u0E04\u0E23\u0E34\u0E1B\u0E15\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E43\u0E2B\u0E49\u0E1C\u0E39\u0E49\u0E17\u0E33\u0E40\u0E27\u0E47\u0E1A\u0E43\u0E2A\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E44\u0E27\u0E49\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E02\u0E2D\u0E07\u0E15\u0E19\u0E44\u0E14\u0E49 \u0E42\u0E14\u0E22\u0E17\u0E48\u0E32\u0E19\u0E43\u0E19\u0E10\u0E32\u0E19\u0E30\u0E1C\u0E39\u0E49\u0E2D\u0E48\u0E32\u0E19\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E21\u0E48\u0E08\u0E33\u0E15\u0E49\u0E2D\u0E07\u0E17\u0E33\u0E2A\u0E34\u0E48\u0E07\u0E2D\u0E37\u0E48\u0E19\u0E43\u0E14\u0E40\u0E25\u0E22", + Browsers: "*\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C*: MathJax \u0E17\u0E33\u0E07\u0E32\u0E19\u0E23\u0E48\u0E27\u0E21\u0E01\u0E31\u0E1A\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E23\u0E38\u0E48\u0E19\u0E43\u0E2B\u0E21\u0E48 \u0E46 \u0E44\u0E14\u0E49 \u0E2D\u0E32\u0E17\u0E34 IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ \u0E41\u0E25\u0E30\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E21\u0E37\u0E2D\u0E16\u0E37\u0E2D\u0E2A\u0E48\u0E27\u0E19\u0E43\u0E2B\u0E0D\u0E48", + Menu: "*\u0E40\u0E21\u0E19\u0E39\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C*: MathJax \u0E08\u0E30\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E21\u0E19\u0E39\u0E01\u0E33\u0E01\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E25\u0E30\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E44\u0E27\u0E49 \u0E0B\u0E36\u0E48\u0E07\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E25\u0E34\u0E01\u0E02\u0E27\u0E32\u0E17\u0E35\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E43\u0E14 \u0E46 \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E44\u0E14\u0E49", + ShowMath: "*\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E23\u0E39\u0E1B* \u0E40\u0E1B\u0E47\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E0B\u0E36\u0E48\u0E07\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2D\u0E48\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E15\u0E49\u0E19\u0E09\u0E1A\u0E31\u0E1A\u0E02\u0E2D\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E19\u0E31\u0E49\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E44\u0E1B\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 (\u0E40\u0E0A\u0E48\u0E19 MathML \u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E40\u0E14\u0E34\u0E21\u0E02\u0E2D\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E19\u0E31\u0E49\u0E19)", + Settings: "*\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32* \u0E17\u0E33\u0E43\u0E2B\u0E49\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E15\u0E48\u0E32\u0E07 \u0E46 \u0E02\u0E2D\u0E07 MathJax \u0E2D\u0E32\u0E17\u0E34 \u0E02\u0E19\u0E32\u0E14\u0E2A\u0E21\u0E01\u0E32\u0E23 \u0E41\u0E25\u0E30\u0E27\u0E34\u0E18\u0E35\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48\u0E43\u0E0A\u0E49\u0E43\u0E19\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23", + Language: "*\u0E20\u0E32\u0E29\u0E32* \u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E20\u0E32\u0E29\u0E32\u0E17\u0E35\u0E48 MathJax \u0E41\u0E2A\u0E14\u0E07\u0E43\u0E19\u0E40\u0E21\u0E19\u0E39\u0E41\u0E25\u0E30\u0E04\u0E33\u0E40\u0E15\u0E37\u0E2D\u0E19\u0E15\u0E48\u0E32\u0E07 \u0E46 \u0E44\u0E14\u0E49", + Zoom: "*\u0E0B\u0E39\u0E21\u0E2A\u0E21\u0E01\u0E32\u0E23*: \u0E16\u0E49\u0E32\u0E17\u0E48\u0E32\u0E19\u0E21\u0E35\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E43\u0E19\u0E01\u0E32\u0E23\u0E2D\u0E48\u0E32\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48\u0E21\u0E35\u0E15\u0E31\u0E27\u0E2B\u0E19\u0E31\u0E07\u0E2A\u0E37\u0E2D\u0E40\u0E25\u0E47\u0E01 MathJax \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E02\u0E22\u0E32\u0E22\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E19\u0E31\u0E49\u0E19\u0E43\u0E2B\u0E49\u0E43\u0E2B\u0E0D\u0E48\u0E21\u0E2D\u0E07\u0E40\u0E2B\u0E47\u0E19\u0E07\u0E48\u0E32\u0E22\u0E02\u0E36\u0E49\u0E19", + Accessibilty: "*\u0E04\u0E27\u0E32\u0E21\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E44\u0E14\u0E49*: MathJax \u0E08\u0E30\u0E17\u0E33\u0E07\u0E32\u0E19\u0E01\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E2D\u0E48\u0E32\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E42\u0E14\u0E22\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34 \u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E2D\u0E48\u0E32\u0E19\u0E44\u0E14\u0E49\u0E07\u0E48\u0E32\u0E22 \u0E42\u0E14\u0E22\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E1C\u0E39\u0E49\u0E21\u0E35\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E17\u0E32\u0E07\u0E2A\u0E32\u0E22\u0E15\u0E32", + Fonts: "*\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23*: MathJax \u0E08\u0E30\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E21\u0E35\u0E1A\u0E19\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E41\u0E25\u0E49\u0E27 \u0E2B\u0E23\u0E37\u0E2D\u0E16\u0E49\u0E32\u0E44\u0E21\u0E48\u0E21\u0E35\u0E08\u0E30\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A \u0E2D\u0E22\u0E48\u0E32\u0E07\u0E44\u0E23\u0E01\u0E47\u0E15\u0E32\u0E21\u0E16\u0E49\u0E32\u0E21\u0E35\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E44\u0E27\u0E49\u0E1A\u0E19\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07 \u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E08\u0E30\u0E23\u0E27\u0E14\u0E40\u0E23\u0E47\u0E27 \u0E40\u0E23\u0E32\u0E02\u0E2D\u0E41\u0E19\u0E30\u0E19\u0E33\u0E43\u0E2B\u0E49\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX](%1)", + CloseDialog: "\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathML.js new file mode 100644 index 00000000..85ae2a74 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/th/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14: %1", + BadMglyphFont: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14: %1", + MathPlayer: "MathJax \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 MathPlayer \u0E44\u0E14\u0E49\n\n\u0E16\u0E49\u0E32\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07 MathPlayer \u0E02\u0E2D\u0E43\u0E2B\u0E49\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E01\u0E48\u0E2D\u0E19\n\u0E21\u0E34\u0E09\u0E30\u0E19\u0E31\u0E49\u0E19\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E04\u0E27\u0E32\u0E21\u0E1B\u0E25\u0E2D\u0E14\u0E20\u0E31\u0E22\u0E08\u0E30\u0E01\u0E35\u0E14\u0E01\u0E31\u0E19\u0E21\u0E34\u0E43\u0E2B\u0E49\u0E15\u0E31\u0E27\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21 ActiveX\n\u0E17\u0E33\u0E07\u0E32\u0E19\u0E44\u0E14\u0E49 \u0E40\u0E02\u0E49\u0E32\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E40\u0E21\u0E19\u0E39 Tools \u0E41\u0E25\u0E49\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01 Internet Options \u0E08\u0E32\u0E01\u0E19\u0E31\u0E49\u0E19\u0E40\u0E25\u0E37\u0E2D\u0E01\n\u0E41\u0E17\u0E47\u0E1A Security \u0E41\u0E25\u0E49\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01 Custom Level \u0E01\u0E48\u0E2D\u0E19\u0E08\u0E30\u0E17\u0E33\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E16\u0E39\u0E01\u0E17\u0E35\u0E48\n'Run ActiveX Controls' \u0E41\u0E25\u0E30 'Binary and script behaviors'\n\n\u0E13 \u0E02\u0E13\u0E30\u0E19\u0E35\u0E49\u0E17\u0E48\u0E32\u0E19\u0E08\u0E30\u0E40\u0E2B\u0E47\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C", + CantCreateXMLParser: "MathJax \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E15\u0E31\u0E27\u0E41\u0E1A\u0E48\u0E07\u0E41\u0E25\u0E30\u0E2D\u0E48\u0E32\u0E19 XML \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E43\u0E0A\u0E49\u0E43\u0E19 MathML \u0E42\u0E1B\u0E23\u0E14\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E27\u0E48\u0E32\n\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E04\u0E27\u0E32\u0E21\u0E1B\u0E25\u0E2D\u0E14\u0E20\u0E31\u0E22 'Script ActiveX controls marked safe for scripting'\n\u0E16\u0E39\u0E01\u0E40\u0E1B\u0E34\u0E14\u0E2D\u0E22\u0E39\u0E48 (\u0E40\u0E02\u0E49\u0E32\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E40\u0E21\u0E19\u0E39 Tools \u0E40\u0E25\u0E37\u0E2D\u0E01 Internet Options \u0E08\u0E32\u0E01\u0E19\u0E31\u0E49\u0E19\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E41\u0E17\u0E47\u0E1A Security \n\u0E41\u0E25\u0E49\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01 Custom Level \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E44\u0E1B).\n\n\u0E2A\u0E21\u0E01\u0E32\u0E23 MathML \u0E08\u0E30\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E16\u0E39\u0E01\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E44\u0E14\u0E49\u0E42\u0E14\u0E22 MathJax", + UnknownNodeType: "\u0E0A\u0E19\u0E34\u0E14\u0E42\u0E2B\u0E19\u0E14\u0E44\u0E21\u0E48\u0E17\u0E23\u0E32\u0E1A: %1", + UnexpectedTextNode: "\u0E42\u0E2B\u0E19\u0E14\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: %1", + ErrorParsingMathML: "\u0E01\u0E32\u0E23\u0E41\u0E1A\u0E48\u0E07\u0E15\u0E2D\u0E19\u0E41\u0E25\u0E30\u0E2D\u0E48\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 (parsing) MathML \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + ParsingError: "\u0E01\u0E32\u0E23\u0E41\u0E1A\u0E48\u0E07\u0E15\u0E2D\u0E19\u0E41\u0E25\u0E30\u0E2D\u0E48\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 MathML: %1 \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + MathMLSingleElement: "MathML \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E20\u0E32\u0E22\u0E43\u0E15\u0E49 \u003Cmath\u003E \u0E40\u0E1E\u0E35\u0E22\u0E07\u0E2D\u0E31\u0E19\u0E40\u0E14\u0E35\u0E22\u0E27\u0E08\u0E30\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49", + MathMLRootElement: "MathML \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E20\u0E32\u0E22\u0E43\u0E15\u0E49 \u003Cmath\u003E \u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathMenu.js new file mode 100644 index 00000000..af739943 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/th/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E23\u0E39\u0E1B", + MathMLcode: "\u0E23\u0E2B\u0E31\u0E2A MathML", + OriginalMathML: "MathML \u0E14\u0E31\u0E49\u0E07\u0E40\u0E14\u0E34\u0E21", + TeXCommands: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 TeX", + AsciiMathInput: "\u0E2D\u0E34\u0E19\u0E1E\u0E38\u0E15 AsciiMathML", + Original: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E40\u0E14\u0E34\u0E21", + ErrorMessage: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + Annotation: "\u0E04\u0E33\u0E2D\u0E18\u0E34\u0E1A\u0E32\u0E22\u0E01\u0E33\u0E01\u0E31\u0E1A", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "\u0E40\u0E19\u0E37\u0E49\u0E2D\u0E2B\u0E32 MathML", + OpenMath: "OpenMath", + texHints: "\u0E41\u0E2A\u0E14\u0E07\u0E04\u0E33\u0E41\u0E19\u0E30\u0E19\u0E33 TeX \u0E43\u0E19 MathML", + Settings: "\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C", + ZoomTrigger: "\u0E01\u0E32\u0E23\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22", + Hover: "\u0E25\u0E32\u0E01\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E04\u0E49\u0E32\u0E07", + Click: "\u0E04\u0E25\u0E34\u0E01", + DoubleClick: "\u0E04\u0E25\u0E34\u0E01\u0E2A\u0E2D\u0E07\u0E04\u0E23\u0E31\u0E49\u0E07", + NoZoom: "\u0E02\u0E19\u0E32\u0E14\u0E40\u0E14\u0E34\u0E21", + TriggerRequires: "\u0E01\u0E32\u0E23\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35:", + Option: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22", + Renderer: "\u0E15\u0E31\u0E27\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C", + MPHandles: "\u0E43\u0E2B\u0E49 MathPlayer \u0E08\u0E31\u0E14\u0E01\u0E32\u0E23\u0E2A\u0E34\u0E48\u0E07\u0E15\u0E48\u0E2D\u0E44\u0E1B\u0E19\u0E35\u0E49:", + MenuEvents: "\u0E40\u0E2B\u0E15\u0E38\u0E01\u0E32\u0E23\u0E13\u0E4C\u0E40\u0E21\u0E19\u0E39", + MouseEvents: "\u0E40\u0E2B\u0E15\u0E38\u0E01\u0E32\u0E23\u0E13\u0E4C\u0E40\u0E21\u0E32\u0E2A\u0E4C", + MenuAndMouse: "\u0E40\u0E2B\u0E15\u0E38\u0E01\u0E32\u0E23\u0E13\u0E4C\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E41\u0E25\u0E30\u0E40\u0E21\u0E19\u0E39", + FontPrefs: "\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23", + ForHTMLCSS: "\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A HTML-CSS:", + Auto: "\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34", + TeXLocal: "TeX (\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A)", + TeXWeb: "TeX (\u0E40\u0E27\u0E47\u0E1A)", + TeXImage: "TeX (\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E)", + STIXLocal: "STIX (\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A)", + STIXWeb: "STIX (\u0E40\u0E27\u0E47\u0E1A)", + AsanaMathWeb: "Asana Math (\u0E40\u0E27\u0E47\u0E1A)", + GyrePagellaWeb: "Gyre Pagella (\u0E40\u0E27\u0E47\u0E1A)", + GyreTermesWeb: "Gyre Termes (\u0E40\u0E27\u0E47\u0E1A)", + LatinModernWeb: "Latin Modern (\u0E40\u0E27\u0E47\u0E1A)", + NeoEulerWeb: "Neo Euler (\u0E40\u0E27\u0E47\u0E1A)", + ContextMenu: "\u0E40\u0E21\u0E19\u0E39\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E04\u0E25\u0E34\u0E01\u0E02\u0E27\u0E32", + Browser: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C", + Scale: "\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14 ...", + Discoverable: "\u0E40\u0E19\u0E49\u0E19\u0E2A\u0E35\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E0A\u0E35\u0E49\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E04\u0E49\u0E32\u0E07\u0E44\u0E27\u0E49", + Locale: "\u0E20\u0E32\u0E29\u0E32", + LoadLocale: "\u0E42\u0E2B\u0E25\u0E14\u0E08\u0E32\u0E01\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 URL ...", + About: "\u0E40\u0E01\u0E35\u0E48\u0E22\u0E27\u0E01\u0E31\u0E1A MathJax", + Help: "\u0E04\u0E27\u0E32\u0E21\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D\u0E41\u0E25\u0E30\u0E27\u0E34\u0E18\u0E35\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax", + localTeXfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 TeX \u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A", + webTeXfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 TeX \u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A", + imagefonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E", + localSTIXfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX \u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A", + webSVGfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 SVG \u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A", + genericfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E22\u0E39\u0E19\u0E34\u0E42\u0E04\u0E49\u0E14\u0E17\u0E31\u0E48\u0E27\u0E44\u0E1B", + wofforotffonts: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 WOFF \u0E2B\u0E23\u0E37\u0E2D OTF", + eotffonts: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 EOT", + svgfonts: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 SVG", + WebkitNativeMMLWarning: "\u0E14\u0E39\u0E40\u0E2B\u0E21\u0E37\u0E2D\u0E19\u0E27\u0E48\u0E32\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A MathML \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19 \u0E01\u0E32\u0E23\u0E1B\u0E23\u0E31\u0E1A\u0E44\u0E1B\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25 MathML \u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E2D\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E2D\u0E2D\u0E01", + MSIENativeMMLWarning: "Internet Explorer \u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 MathPlayer \u0E43\u0E19\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25 MathML", + OperaNativeMMLWarning: "\u0E01\u0E32\u0E23\u0E2A\u0E19\u0E31\u0E1A\u0E2A\u0E19\u0E38\u0E19 MathML \u0E43\u0E19 Opera's \u0E21\u0E35\u0E08\u0E33\u0E01\u0E31\u0E14 \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E31\u0E1A\u0E44\u0E1B\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25 MathML \u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E1A\u0E32\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E44\u0E21\u0E48\u0E04\u0E21\u0E0A\u0E31\u0E14", + SafariNativeMMLWarning: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E14\u0E49\u0E27\u0E22 MathML \u0E41\u0E15\u0E48\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E17\u0E35\u0E48 MathJax \u0E43\u0E0A\u0E49\u0E44\u0E14\u0E49 \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E1A\u0E32\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E2D\u0E32\u0E08\u0E44\u0E21\u0E48\u0E04\u0E21\u0E0A\u0E31\u0E14", + FirefoxNativeMMLWarning: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E14\u0E49\u0E27\u0E22 MathML \u0E41\u0E15\u0E48\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E17\u0E35\u0E48 MathJax \u0E43\u0E0A\u0E49\u0E44\u0E14\u0E49 \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E1A\u0E32\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E2D\u0E32\u0E08\u0E44\u0E21\u0E48\u0E04\u0E21\u0E0A\u0E31\u0E14", + MSIESVGWarning: "SVG \u0E44\u0E21\u0E48\u0E21\u0E35\u0E43\u0E19 Internet Explorer \u0E23\u0E38\u0E48\u0E19\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32 IE9 \u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E42\u0E2B\u0E21\u0E14\u0E04\u0E27\u0E32\u0E21\u0E40\u0E02\u0E49\u0E32\u0E01\u0E31\u0E19\u0E44\u0E14\u0E49\u0E01\u0E31\u0E1A IE8 \u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E38\u0E48\u0E19\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32 \u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E44\u0E1B\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E40\u0E1B\u0E47\u0E19 SVG \u0E08\u0E30\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E41\u0E2A\u0E14\u0E07\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19", + LoadURL: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E08\u0E32\u0E01\u0E25\u0E34\u0E07\u0E01\u0E4C\u0E15\u0E48\u0E2D\u0E44\u0E1B\u0E19\u0E35\u0E49:", + BadURL: "\u0E25\u0E34\u0E07\u0E01\u0E4C\u0E04\u0E27\u0E23\u0E08\u0E30\u0E40\u0E1B\u0E47\u0E19\u0E41\u0E1F\u0E49\u0E21\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E08\u0E32\u0E27\u0E32\u0E2A\u0E04\u0E23\u0E34\u0E1B\u0E15\u0E4C\u0E0B\u0E36\u0E48\u0E07\u0E23\u0E30\u0E1A\u0E38\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25 MathJax \u0E17\u0E31\u0E49\u0E07\u0E19\u0E35\u0E49\u0E41\u0E1F\u0E49\u0E21\u0E08\u0E32\u0E27\u0E32\u0E2A\u0E04\u0E23\u0E34\u0E1B\u0E15\u0E4C\u0E04\u0E27\u0E23\u0E08\u0E30\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 '.js'", + BadData: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E08\u0E32\u0E01 %1", + SwitchAnyway: "\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E15\u0E31\u0E27\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E20\u0E32\u0E1E/\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E40\u0E14\u0E35\u0E4B\u0E22\u0E27\u0E19\u0E35\u0E49\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\n\n(\u0E01\u0E14 \u0E15\u0E01\u0E25\u0E07 \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19 \u0E2B\u0E23\u0E37\u0E2D\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01 \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E15\u0E31\u0E27\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E15\u0E31\u0E27\u0E40\u0E14\u0E34\u0E21)", + ScaleMath: "\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14 (\u0E40\u0E17\u0E35\u0E22\u0E1A\u0E01\u0E31\u0E1A\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E02\u0E49\u0E32\u0E07\u0E40\u0E04\u0E35\u0E22\u0E07) \u0E42\u0E14\u0E22\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19", + NonZeroScale: "\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19\u0E44\u0E21\u0E48\u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E28\u0E39\u0E19\u0E22\u0E4C", + PercentScale: "\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19\u0E04\u0E27\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E49\u0E2D\u0E22\u0E25\u0E30 (\u0E40\u0E0A\u0E48\u0E19 120%%)", + IE8warning: "\u0E01\u0E32\u0E23\u0E01\u0E23\u0E30\u0E17\u0E33\u0E19\u0E35\u0E49\u0E08\u0E30\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E40\u0E21\u0E19\u0E39 MathJax \u0E23\u0E27\u0E21\u0E16\u0E36\u0E07\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22\u0E2A\u0E21\u0E01\u0E32\u0E23 \u0E41\u0E15\u0E48\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E01\u0E14\u0E1B\u0E38\u0E48\u0E21 Alt \u0E41\u0E25\u0E49\u0E27\u0E04\u0E25\u0E34\u0E01\u0E17\u0E35\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E21\u0E19\u0E39\u0E44\u0E14\u0E49\n\n\u0E17\u0E48\u0E32\u0E19\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 MathPlayer \u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?", + IE9warning: "\u0E40\u0E21\u0E19\u0E39\u0E01\u0E33\u0E01\u0E31\u0E1A\u0E2A\u0E21\u0E01\u0E32\u0E23 MathJax \u0E08\u0E30\u0E16\u0E39\u0E01\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 \u0E41\u0E15\u0E48\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E01\u0E14\u0E1B\u0E38\u0E48\u0E21 Alt \u0E41\u0E25\u0E49\u0E27\u0E04\u0E25\u0E34\u0E01\u0E17\u0E35\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E21\u0E19\u0E39\u0E41\u0E17\u0E19\u0E44\u0E14\u0E49", + NoOriginalForm: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E14\u0E31\u0E49\u0E07\u0E40\u0E14\u0E34\u0E21", + Close: "\u0E1B\u0E34\u0E14", + EqSource: "\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E15\u0E49\u0E19\u0E09\u0E1A\u0E31\u0E1A MathJax", + CloseAboutDialog: "\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E40\u0E01\u0E35\u0E48\u0E22\u0E27\u0E01\u0E31\u0E1A MathJax", + FastPreview: "\u0E41\u0E2A\u0E14\u0E07\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E40\u0E23\u0E48\u0E07\u0E14\u0E48\u0E27\u0E19", + AssistiveMML: "MathML \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D", + InTabOrder: "\u0E23\u0E27\u0E21\u0E44\u0E27\u0E49\u0E43\u0E19\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E41\u0E17\u0E47\u0E1A" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/TeX.js new file mode 100644 index 00000000..28e9c04a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/th/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0E21\u0E35\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E01\u0E34\u0E19\u0E21\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14", + ExtraCloseMissingOpen: "\u0E21\u0E35\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14\u0E40\u0E01\u0E34\u0E19\u0E21\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14", + MissingLeftExtraRight: "\u0E02\u0E32\u0E14 \\left \u0E2B\u0E23\u0E37\u0E2D\u0E21\u0E35 \\right \u0E40\u0E01\u0E34\u0E19\u0E21\u0E32", + MissingScript: "\u0E15\u0E31\u0E27\u0E22\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E15\u0E31\u0E27\u0E2B\u0E49\u0E2D\u0E22\u0E27\u0E48\u0E32\u0E07\u0E40\u0E1B\u0E25\u0E48\u0E32", + ExtraLeftMissingRight: "\u0E21\u0E35 \\left \u0E40\u0E01\u0E34\u0E19\u0E21\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14 \\right", + Misplaced: "\u0E27\u0E32\u0E07 %1 \u0E1C\u0E34\u0E14\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07", + MissingOpenForSub: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E2B\u0E49\u0E2D\u0E22", + MissingOpenForSup: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E22\u0E01", + AmbiguousUseOf: "\u0E1E\u0E1A\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19", + EnvBadEnd: "\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 \\begin{%1} \u0E41\u0E15\u0E48\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 \\end{%2}", + EnvMissingEnd: "\u0E25\u0E37\u0E21\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 \\end{%1}", + MissingBoxFor: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %1", + MissingCloseBrace: "\u0E02\u0E32\u0E14\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14", + UndefinedControlSequence: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E44\u0E21\u0E48\u0E17\u0E23\u0E32\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E21\u0E32\u0E22\u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E30\u0E1A\u0E38\u0E44\u0E21\u0E48\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19 %1", + DoubleExponent: "\u0E15\u0E31\u0E27\u0E22\u0E01\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19 \u0E42\u0E1B\u0E23\u0E14\u0E43\u0E0A\u0E49\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E49\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19", + DoubleSubscripts: "\u0E15\u0E31\u0E27\u0E2B\u0E49\u0E2D\u0E22\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19 \u0E42\u0E1B\u0E23\u0E14\u0E43\u0E0A\u0E49\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E49\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19", + DoubleExponentPrime: "\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E44\u0E1E\u0E23\u0E21\u0E4C (Prime) \u0E27\u0E32\u0E07\u0E44\u0E27\u0E49\u0E43\u0E19\u0E25\u0E31\u0E01\u0E29\u0E13\u0E30\u0E15\u0E31\u0E27\u0E22\u0E01\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19 \u0E42\u0E1B\u0E23\u0E14\u0E43\u0E0A\u0E49\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E49\u0E08\u0E31\u0E14\u0E40\u0E08\u0E19", + CantUseHash1: "\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49 '\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E1E\u0E32\u0E23\u0E32\u0E21\u0E34\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E21\u0E32\u0E42\u0E04\u0E23 #' \u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E44\u0E14\u0E49", + MisplacedMiddle: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04 %1 \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07 \\left \u0E41\u0E25\u0E30 \\right", + MisplacedLimits: "\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49 %1 \u0E01\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19", + MisplacedMoveRoot: "\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04 %1 \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2D\u0E22\u0E39\u0E48\u0E44\u0E14\u0E49\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E20\u0E32\u0E22\u0E43\u0E19\u0E23\u0E32\u0E01\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19", + MultipleCommand: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19", + IntegerArg: "\u0E2D\u0E32\u0E23\u0E4C\u0E01\u0E34\u0E27\u0E40\u0E21\u0E19\u0E15\u0E4C\u0E02\u0E2D\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21", + NotMathMLToken: "%1 \u0E44\u0E21\u0E48\u0E16\u0E37\u0E2D\u0E40\u0E1B\u0E47\u0E19 token element", + InvalidMathMLAttr: "\u0E41\u0E2D\u0E15\u0E17\u0E23\u0E34\u0E1A\u0E34\u0E27\u0E15\u0E4C MathML \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14: %1", + UnknownAttrForElement: "%1 \u0E44\u0E21\u0E48\u0E16\u0E37\u0E2D\u0E40\u0E1B\u0E47\u0E19\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E2D\u0E15\u0E17\u0E23\u0E34\u0E1A\u0E34\u0E27\u0E15\u0E4C\u0E17\u0E35\u0E48\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A %2 \u0E44\u0E14\u0E49", + MaxMacroSub1: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E01\u0E32\u0E23\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E21\u0E32\u0E42\u0E04\u0E23\u0E02\u0E2D\u0E07 MathJax \u0E40\u0E25\u0E22\u0E04\u0E48\u0E32\u0E2A\u0E39\u0E07\u0E2A\u0E38\u0E14 \u0E2D\u0E32\u0E08\u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E01\u0E43\u0E0A\u0E49\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E41\u0E1A\u0E1A\u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E1A?", + MaxMacroSub2: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E01\u0E32\u0E23\u0E41\u0E17\u0E19\u0E04\u0E48\u0E32 MathJax \u0E40\u0E25\u0E22\u0E04\u0E48\u0E32\u0E2A\u0E39\u0E07\u0E2A\u0E38\u0E14 \u0E2D\u0E32\u0E08\u0E08\u0E30\u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E01\u0E43\u0E0A\u0E49\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E41\u0E1A\u0E1A\u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E1A?", + MissingArgFor: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E21\u0E35\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E08\u0E33\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E21\u0E48\u0E04\u0E23\u0E1A\u0E16\u0E49\u0E27\u0E19", + ExtraAlignTab: "\u0E21\u0E35\u0E41\u0E17\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E27\u0E32\u0E07\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21 \\cases", + BracketMustBeDimension: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E19\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E02\u0E19\u0E32\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E21\u0E34\u0E15\u0E34", + InvalidEnv: "\u0E0A\u0E37\u0E48\u0E2D\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 '%1'\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", + UnknownEnv: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 (environment) \u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E17\u0E23\u0E32\u0E1A\u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E1B\u0E25\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E21\u0E32\u0E22\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49 '%1'", + ExtraCloseLooking: "\u0E21\u0E35\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14\u0E40\u0E01\u0E34\u0E19\u0E02\u0E13\u0E30\u0E17\u0E35\u0E48\u0E15\u0E23\u0E27\u0E08\u0E2B\u0E32 %1", + MissingCloseBracket: "\u0E44\u0E21\u0E48\u0E1E\u0E1A ']' \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", + MissingOrUnrecognizedDelim: "\u0E15\u0E31\u0E27\u0E04\u0E31\u0E48\u0E19\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A %1 \u0E2B\u0E32\u0E22\u0E44\u0E1B \u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01", + MissingDimOrUnits: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E19\u0E48\u0E27\u0E22\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", + TokenNotFoundForCommand: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E49\u0E19\u0E2B\u0E32 %1 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %2", + MathNotTerminated: "\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E43\u0E19\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1B\u0E34\u0E14\u0E44\u0E21\u0E48\u0E40\u0E23\u0E35\u0E22\u0E1A\u0E23\u0E49\u0E2D\u0E22", + IllegalMacroParam: "\u0E01\u0E32\u0E23\u0E2D\u0E49\u0E32\u0E07\u0E16\u0E36\u0E07\u0E1E\u0E32\u0E23\u0E32\u0E21\u0E34\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E21\u0E32\u0E42\u0E04\u0E23\u0E1C\u0E34\u0E14\u0E2B\u0E25\u0E31\u0E01\u0E40\u0E01\u0E13\u0E11\u0E4C", + MaxBufferSize: "\u0E1A\u0E31\u0E1F\u0E40\u0E1F\u0E2D\u0E23\u0E4C\u0E20\u0E32\u0E22\u0E43\u0E19\u0E02\u0E2D\u0E07 MathJax \u0E25\u0E49\u0E19\u0E40\u0E01\u0E34\u0E19\u0E02\u0E19\u0E32\u0E14 \u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E01\u0E21\u0E32\u0E42\u0E04\u0E23\u0E41\u0E1A\u0E1A\u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?", + CommandNotAllowedInEnv: "\u0E44\u0E21\u0E48\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E20\u0E32\u0E22\u0E43\u0E19\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %2", + MultipleLabel: "\u0E1B\u0E49\u0E32\u0E22\u0E23\u0E30\u0E1A\u0E38 '%1' \u0E21\u0E35\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19\u0E01\u0E31\u0E19", + CommandAtTheBeginingOfLine: "%1 \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E15\u0E49\u0E19\u0E1A\u0E23\u0E23\u0E17\u0E31\u0E14", + IllegalAlign: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E01\u0E32\u0E23\u0E08\u0E31\u0E14\u0E27\u0E32\u0E07\u0E43\u0E19 %1 \u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", + BadMathStyleFor: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %1 \u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", + PositiveIntegerArg: "\u0E2D\u0E32\u0E23\u0E4C\u0E01\u0E34\u0E27\u0E40\u0E21\u0E19\u0E15\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21\u0E1A\u0E27\u0E01", + ErroneousNestingEq: "\u0E01\u0E32\u0E23\u0E08\u0E31\u0E14\u0E40\u0E23\u0E35\u0E22\u0E07\u0E42\u0E04\u0E23\u0E07\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E0B\u0E49\u0E2D\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E21\u0E35\u0E04\u0E27\u0E32\u0E21\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + MultlineRowsOneCol: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E41\u0E16\u0E27\u0E43\u0E19\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35\u0E08\u0E33\u0E19\u0E27\u0E19\u0E04\u0E2D\u0E25\u0E31\u0E21\u0E19\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E25\u0E31\u0E01\u0E40\u0E1E\u0E35\u0E22\u0E07\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19", + MultipleBBoxProperty: "\u0E23\u0E30\u0E1A\u0E38 %1 \u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E43\u0E19 %2", + InvalidBBoxProperty: "\u0E14\u0E39\u0E40\u0E2B\u0E21\u0E37\u0E2D\u0E19\u0E27\u0E48\u0E32 '%1' \u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48\u0E2A\u0E35 \u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E15\u0E34\u0E21 \u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A", + ExtraEndMissingBegin: "\u0E21\u0E35 %1 \u0E40\u0E01\u0E34\u0E19 \u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14 \\begingroup", + GlobalNotFollowedBy: "%1 \u0E44\u0E21\u0E48\u0E15\u0E32\u0E21\u0E14\u0E49\u0E27\u0E22 \\let, \\def, \u0E2B\u0E23\u0E37\u0E2D \\newcommand", + UndefinedColorModel: "\u0E41\u0E1A\u0E1A\u0E08\u0E33\u0E25\u0E2D\u0E07\u0E2A\u0E35 '%1' \u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E19\u0E34\u0E22\u0E32\u0E21", + ModelArg1: "\u0E04\u0E48\u0E32\u0E2A\u0E35\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E1A\u0E1A\u0E08\u0E33\u0E25\u0E2D\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02 3 \u0E15\u0E31\u0E27", + InvalidDecimalNumber: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E17\u0E28\u0E19\u0E34\u0E22\u0E21\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", + ModelArg2: "\u0E04\u0E48\u0E32\u0E2A\u0E35\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E1A\u0E1A\u0E08\u0E33\u0E25\u0E2D\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07 %2 \u0E41\u0E25\u0E30 %3", + InvalidNumber: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", + NewextarrowArg1: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E41\u0E23\u0E01\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E0A\u0E37\u0E48\u0E2D\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21", + NewextarrowArg2: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E2A\u0E2D\u0E07\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21\u0E2A\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E04\u0E31\u0E48\u0E19\u0E14\u0E49\u0E27\u0E22\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E08\u0E38\u0E25\u0E20\u0E32\u0E04", + NewextarrowArg3: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E2A\u0E32\u0E21\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E2B\u0E31\u0E2A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A\u0E22\u0E39\u0E19\u0E34\u0E42\u0E04\u0E49\u0E14", + NoClosingChar: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14 %1", + IllegalControlSequenceName: "\u0E0A\u0E37\u0E48\u0E2D\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E1C\u0E34\u0E14\u0E01\u0E0E\u0E40\u0E01\u0E13\u0E11\u0E4C", + IllegalParamNumber: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E23\u0E30\u0E1A\u0E38\u0E43\u0E19 %1 \u0E1C\u0E34\u0E14\u0E01\u0E0E\u0E40\u0E01\u0E13\u0E11\u0E4C (\u0E02\u0E32\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E01\u0E34\u0E19)", + MissingCS: "%1 \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E32\u0E21\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21", + CantUseHash2: "\u0E1E\u0E1A\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49 # \u0E0B\u0E36\u0E48\u0E07\u0E1C\u0E34\u0E14\u0E2B\u0E25\u0E31\u0E01\u0E40\u0E01\u0E13\u0E11\u0E4C\u0E43\u0E19\u0E41\u0E21\u0E48\u0E41\u0E1A\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", + SequentialParam: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E23\u0E35\u0E22\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E25\u0E33\u0E14\u0E31\u0E1A", + MissingReplacementString: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E15\u0E31\u0E27\u0E41\u0E17\u0E19\u0E2A\u0E32\u0E22\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E43\u0E19\u0E19\u0E34\u0E22\u0E32\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", + MismatchUseDef: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E19\u0E34\u0E22\u0E32\u0E21\u0E40\u0E14\u0E34\u0E21\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07", + RunawayArgument: "\u0E21\u0E35\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E25\u0E30\u0E40\u0E27\u0E49\u0E19\u0E44\u0E27\u0E49\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1?", + NoClosingDelim: "\u0E44\u0E21\u0E48\u0E1E\u0E1A closing delimiter \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/th.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/th.js new file mode 100644 index 00000000..60772ff5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/th.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/th/th.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th",null,{ + menuTitle: "\u0E44\u0E17\u0E22", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + MathError: "\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + LoadFile: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14 %1", + Loading: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14", + LoadFailed: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1F\u0E49\u0E21\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25: %1", + ProcessMath: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C: %1%%", + Processing: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25", + TypesetMath: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E40\u0E23\u0E35\u0E22\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C: %1%%", + Typesetting: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E40\u0E23\u0E35\u0E22\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C", + MathJaxNotSupported: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E2A\u0E19\u0E31\u0E1A\u0E2A\u0E19\u0E38\u0E19 MathJax", + ErrorTips: "\u0E02\u0E49\u0E2D\u0E41\u0E19\u0E30\u0E19\u0E33\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02: \u0E43\u0E0A\u0E49 %%1 \u0E41\u0E25\u0E30\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A %%2 \u0E43\u0E19\u0E04\u0E2D\u0E19\u0E42\u0E0B\u0E25\u0E02\u0E2D\u0E07\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/th.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/FontWarnings.js new file mode 100644 index 00000000..2f80b503 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HTML-CSS.js new file mode 100644 index 00000000..5d9b1afa --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HelpDialog.js new file mode 100644 index 00000000..6a1a75fa --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathML.js new file mode 100644 index 00000000..ee214517 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathMenu.js new file mode 100644 index 00000000..dd52d116 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/TeX.js new file mode 100644 index 00000000..b1197836 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/tr.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/tr.js new file mode 100644 index 00000000..ff5c4ba1 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/tr.js @@ -0,0 +1,53 @@ +/************************************************************* + * + * MathJax/localization/tr/tr.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr",null,{ + menuTitle: "T\u00FCrk\u00E7e", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Matematik i\u015Fleme hatas\u0131", + MathError: "Matematik hatas\u0131", + LoadFile: "%1 Y\u00FCkleniyor", + Loading: "Y\u00FCkleniyor", + LoadFailed: "Dosya y\u00FCklenemedi: %1", + ProcessMath: "Matematik i\u015Fleme: %%%1", + MathJaxNotSupported: "Taray\u0131c\u0131n\u0131z MathJax'i desteklemiyor" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/tr.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/FontWarnings.js new file mode 100644 index 00000000..19416c55 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/uk/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454 \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438 \u0434\u043B\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438 \u043D\u0430 \u0446\u0456\u0439 \u0441\u0442\u043E\u0440\u0456\u043D\u0446\u0456. \u041F\u043E\u0442\u0440\u0456\u0431\u0435\u043D \u0447\u0430\u0441, \u0449\u043E\u0431 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438, \u0431\u043E \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430 \u0431 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u043B\u0430\u0441\u044F \u0448\u0432\u0438\u0434\u0448\u0435, \u044F\u043A\u0431\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0456 \u0431\u0435\u0437\u043F\u043E\u0441\u0435\u0440\u0435\u0434\u043D\u044C\u043E \u0432 \u0442\u0435\u0446\u0456 \u0432\u0430\u0448\u043E\u0433\u043E \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u043E\u0433\u043E \u0448\u0440\u0438\u0444\u0442\u0443.", + imageFonts: "MathJax \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454 \u0432\u043B\u0430\u0441\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C, \u0430 \u043D\u0435 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0456 \u0430\u0431\u043E \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438. \u0426\u0435 \u0431\u0443\u0434\u0435 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u0432\u0456\u043B\u044C\u043D\u0456\u0448\u0435, \u043D\u0456\u0436 \u0437\u0432\u0438\u0447\u0430\u0439\u043D\u043E, \u0456 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0441\u0438\u043C\u0432\u043E\u043B\u0438 \u043D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043D\u0430\u0434\u0440\u0443\u043A\u0443\u0432\u0430\u0442\u0438 \u043D\u0430 \u043F\u0440\u0438\u043D\u0442\u0435\u0440\u0456 \u0437 \u0432\u0438\u0441\u043E\u043A\u043E\u044E \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044E.", + noFonts: "MathJax \u043D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \u0448\u0440\u0438\u0444\u0442, \u0449\u043E \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432, \u0448\u0440\u0438\u0444\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456, \u0442\u043E\u043C\u0443 \u043D\u0430\u043C \u0434\u043E\u0432\u0435\u043B\u043E\u0441\u044F \u043F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438\u0441\u044F \u043D\u0430 \u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0456 \u0441\u0438\u043C\u0432\u043E\u043B\u0438 Unicode \u0443 \u043D\u0430\u0434\u0456\u0457, \u0449\u043E \u0432\u0430\u0448 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447 \u0437\u043C\u043E\u0436\u0435 \u0457\u0445 \u0432\u0456\u0440\u043D\u043E \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u0438. \u0414\u0435\u044F\u043A\u0456 \u0441\u0438\u043C\u0432\u043E\u043B\u0438 \u043D\u0435 \u0431\u0443\u0434\u0443\u0442\u044C \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0456 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u0456 \u043F\u043E\u0432\u043D\u0456\u0441\u0442\u044E \u043D\u0435 \u0432 \u0437\u043C\u043E\u0437\u0456 \u0431\u0443\u0434\u0443\u0442\u044C \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u0438\u0441\u044F.", + webFonts: "\u0411\u0456\u043B\u044C\u0448\u0456\u0441\u0442\u044C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456\u0432 \u0432 \u0434\u0430\u043D\u0438\u0439 \u0447\u0430\u0441 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442\u044C \u0448\u0440\u0438\u0444\u0442\u0438, \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0443\u0432\u0430\u043D\u0456 \u0437 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443. \u041E\u043D\u043E\u0432\u0456\u0442\u044C \u0441\u0432\u0456\u0439 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447 \u0434\u043E \u043E\u0441\u0442\u0430\u043D\u043D\u044C\u043E\u0457 \u0432\u0435\u0440\u0441\u0456\u0457 (\u0430\u0431\u043E \u043F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u0432\u0430\u0448 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447) \u0434\u043B\u044F \u0442\u043E\u0433\u043E, \u0449\u043E\u0431 \u043F\u043E\u043B\u0456\u043F\u0448\u0438\u0442\u0438 \u044F\u043A\u0456\u0441\u0442\u044C \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432, \u044F\u043A\u0456 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u044C\u0441\u044F \u043D\u0430 \u0446\u0456\u0439 \u0441\u0442\u043E\u0440\u0456\u043D\u0446\u0456.", + fonts: "MathJax \u043C\u043E\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0443\u0434\u044C-\u044F\u043A\u0438\u0439 \u0437 [STIX \u0448\u0440\u0438\u0444\u0442\u0456\u0432](%1) \u0430\u0431\u043E [\u0448\u0440\u0438\u0444\u0442\u0456\u0432 MathJax-TeX](%2). \u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0456 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u043E\u0434\u0438\u043D \u0437 \u0446\u0438\u0445 \u0448\u0440\u0438\u0444\u0442\u0456\u0432, \u0430\u0431\u0438 \u043F\u043E\u043B\u0456\u043F\u0448\u0438\u0442\u0438 MathJax \u0440\u043E\u0431\u043E\u0442\u0443.", + STIXPage: "\u0426\u044F \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430 \u0431\u0443\u043B\u0430 \u0440\u043E\u0437\u0440\u043E\u0431\u043B\u0435\u043D\u0430, \u0449\u043E\u0431 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 [STIX \u0448\u0440\u0438\u0444\u0442\u0438](%1). \u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0442\u0430 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u0457\u0445, \u0430\u0431\u0438 \u043F\u043E\u043B\u0456\u043F\u0448\u0438\u0442\u0438 \u0432\u0430\u0448 \u0434\u043E\u0441\u0432\u0456\u0434 MathJax.", + TeXPage: "\u0426\u044F \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430 \u0431\u0443\u043B\u0430 \u0440\u043E\u0437\u0440\u043E\u0431\u043B\u0435\u043D\u0430, \u0449\u043E\u0431 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 [\u0448\u0440\u0438\u0444\u0442\u0438 MathJax TeX](%1). \u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0442\u0430 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u0457\u0445, \u0430\u0431\u0438 \u0437\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438 \u0432\u0430\u0448 \u0434\u043E\u0441\u0432\u0456\u0434 \u0437 MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HTML-CSS.js new file mode 100644 index 00000000..572b8a95 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/uk/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F \u0432\u0435\u0431 \u0448\u0440\u0438\u0444\u0442\u0456\u0432 %1", + CantLoadWebFont: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0432\u0435\u0431 \u0448\u0440\u0438\u0444\u0442 %1", + FirefoxCantLoadWebFont: "Firefox \u043D\u0435 \u043C\u043E\u0436\u0435 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0432\u0435\u0431 \u0448\u0440\u0438\u0444\u0442\u0438 \u0437 \u0432\u0456\u0434\u0434\u0430\u043B\u0435\u043D\u043E\u0433\u043E \u0445\u043E\u0441\u0442\u0443", + CantFindFontUsing: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0448\u0440\u0438\u0444\u0442 \u0437\u0430 \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u043E\u044E %1", + WebFontsNotAvailable: "\u0412\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456. \u0421\u043B\u0456\u0434 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0448\u0440\u0438\u0444\u0442\u0438 -\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HelpDialog.js new file mode 100644 index 00000000..5041c2f9 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/uk/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u0430", + MathJax: "*MathJax* - \u0446\u0435 \u0431\u0456\u0431\u043B\u0456\u043E\u0442\u0435\u043A\u0430 \u043D\u0430 JavaScript, \u044F\u043A\u0430 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0430\u0432\u0442\u043E\u0440\u0430\u043C \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0438 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u043D\u0430 \u0432\u0441\u0456\u0445 \u0441\u0432\u043E\u0457\u0445 \u0432\u0435\u0431-\u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430\u0445. \u042F\u043A \u0447\u0438\u0442\u0430\u0447, \u0432\u0430\u043C \u043D\u0435 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u043D\u0456\u0447\u043E\u0433\u043E \u0440\u043E\u0431\u0438\u0442\u0438, \u0449\u043E\u0431 \u0446\u0435 \u0432\u0456\u0434\u0431\u0443\u043B\u043E\u0441\u044F.", + Browsers: "*\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456*: MathJax \u043F\u0440\u0430\u0446\u044E\u0454 \u0437 \u0443\u0441\u0456\u043C\u0430 \u0441\u0443\u0447\u0430\u0441\u043D\u0438\u043C\u0438 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0430\u043C\u0438, \u0432\u043A\u043B\u044E\u0447\u0430\u044E\u0447\u0438 Internet Explorer 6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ \u0456 \u0431\u0456\u043B\u044C\u0448\u0456\u0441\u0442\u044C \u043C\u043E\u0431\u0456\u043B\u044C\u043D\u0438\u0445 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456\u0432.", + Menu: "*\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0435 \u043C\u0435\u043D\u044E*: MathJax \u0434\u043E\u0434\u0430\u0454 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u0435 \u043C\u0435\u043D\u044E \u0434\u043E \u0440\u0456\u0432\u043D\u044F\u043D\u044C. \u041A\u043B\u0430\u0446\u0430\u043D\u043D\u044F \u043F\u0440\u0430\u0432\u043E\u044E \u043A\u043D\u043E\u043F\u043A\u043E\u044E \u043C\u0438\u0448\u0456 \u0430\u0431\u043E CTRL+\u043A\u043B\u0430\u0446\u0430\u043D\u043D\u044F \u043B\u0456\u0432\u043E\u044E \u043D\u0430 \u0431\u0443\u0434\u044C-\u044F\u043A\u043E\u043C\u0443 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u043E\u043C\u0443 \u0432\u0438\u0440\u0430\u0437\u0456 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u0454 \u0434\u043E\u0441\u0442\u0443\u043F \u0434\u043E \u0446\u044C\u043E\u0433\u043E \u043C\u0435\u043D\u044E.", + ShowMath: "*\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u044F\u043A* \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0430\u043C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u043E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0438\u0439 \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u0438 \u0434\u043B\u044F \u043A\u043E\u043F\u0456\u044E\u0432\u0430\u043D\u043D\u044F \u0442\u0430 \u0432\u0441\u0442\u0430\u0432\u043A\u0438 (\u044F\u043A MathML \u0430\u0431\u043E \u0443 \u0457\u0457 \u0432\u043B\u0430\u0441\u043D\u043E\u043C\u0443 \u0444\u043E\u0440\u043C\u0430\u0442\u0456).", + Settings: "*\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F* \u0434\u0430\u044E\u0442\u044C \u0432\u0430\u043C \u043F\u043E\u0432\u043D\u0438\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u043D\u0430\u0434 \u0444\u0443\u043D\u043A\u0446\u0456\u044F\u043C\u0438 MathJax \u0442\u0430\u043A\u0438\u043C\u0438 \u044F\u043A \u0440\u043E\u0437\u043C\u0456\u0440 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0445 \u0432\u0438\u0440\u0430\u0437\u0456\u0432 \u0456 \u043C\u0435\u0445\u0430\u043D\u0456\u0437\u043C, \u044F\u043A\u0438\u0439 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0440\u0456\u0432\u043D\u044F\u043D\u044C.", + Language: "*\u041C\u043E\u0432\u0430* \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0430\u043C \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u043C\u043E\u0432\u0443 \u0434\u043B\u044F \u043C\u0435\u043D\u044E \u0442\u0430 \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u044C MathJax.", + Zoom: "*\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438*: \u044F\u043A\u0449\u043E \u0443 \u0432\u0430\u0441 \u0432\u0438\u043D\u0438\u043A\u043B\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0438 \u043F\u0440\u0438 \u0447\u0438\u0442\u0430\u043D\u043D\u0456 \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F, MathJax \u043C\u043E\u0436\u0435 \u0437\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438 \u0457\u0445, \u0449\u043E\u0431 \u0432\u0438 \u043C\u043E\u0433\u043B\u0438 \u043F\u043E\u0431\u0430\u0447\u0438\u0442\u0438 \u0457\u0445 \u043A\u0440\u0430\u0449\u0435.", + Accessibilty: "*\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0456\u0441\u0442\u044C*: MathJax \u0431\u0443\u0434\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u043F\u0440\u0430\u0446\u044E\u0432\u0430\u0442\u0438 \u0437 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0430\u043C\u0438 \u0447\u0438\u0442\u0430\u043D\u043D\u044F \u0435\u043A\u0440\u0430\u043D\u0443, \u0430\u0431\u0438 \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u044E \u0434\u043B\u044F \u043D\u0435\u0437\u0440\u044F\u0447\u0438\u0445.", + Fonts: "*\u0428\u0440\u0438\u0444\u0442\u0438*: MathJax \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438, \u044F\u043A\u0449\u043E \u0432\u043E\u043D\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0456 \u043D\u0430 \u0432\u0430\u0448\u043E\u043C\u0443 \u043A\u043E\u043C\u043F'\u044E\u0442\u0435\u0440\u0456. \u0412 \u0456\u043D\u0448\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438. \u0425\u043E\u0447\u0430 \u0446\u0435 \u0456 \u043D\u0435 \u0454 \u043E\u0431\u043E\u0432'\u044F\u0437\u043A\u043E\u0432\u0438\u043C, \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 \u043F\u0440\u0438\u0441\u043A\u043E\u0440\u044F\u0442\u044C \u0432\u0435\u0440\u0441\u0442\u043A\u0443. \u041C\u0438 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0454\u043C\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 [STIX-\u0448\u0440\u0438\u0444\u0442\u0438](%1).", + CloseDialog: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433 \u0434\u043E\u0432\u0456\u0434\u043A\u0438" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathML.js new file mode 100644 index 00000000..172a3ae8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/uk/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 mglyph: %1", + BadMglyphFont: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0448\u0440\u0438\u0444\u0442:%1", + MathPlayer: "MathJax \u0431\u0443\u0432 \u043D\u0435 \u0443 \u0437\u043C\u043E\u0437\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 MathPlayer.\n\n\u042F\u043A\u0449\u043E MathPlayer \u043D\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E\u200B\u200B, \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0439\u043E\u0433\u043E. \u0412 \u0456\u043D\u0448\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443, \u0432\u0430\u0448\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0431\u0435\u0437\u043F\u0435\u043A\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0431\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438 \u0443\u043F\u0440\u0430\u0432\u043B\u0456\u043D\u043D\u044F ActiveX \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0443. \u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u043F\u0443\u043D\u043A\u0442 \u0412\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0456 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443 \u0443 \u043C\u0435\u043D\u044E \u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438 \u0456 \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0432\u043A\u043B\u0430\u0434\u043A\u0443 \u0411\u0435\u0437\u043F\u0435\u043A\u0430, \u0430 \u043F\u043E\u0442\u0456\u043C \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u043A\u043D\u043E\u043F\u043A\u0443 \u0412\u043B\u0430\u0441\u043D\u0438\u0439 \u0440\u0456\u0432\u0435\u043D\u044C. \u041F\u0435\u0440\u0435\u043A\u043E\u043D\u0430\u0439\u0442\u0435\u0441\u044F, \u0449\u043E \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0434\u043B\u044F \"\u0417\u0430\u043F\u0443\u0441\u043A \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 ActiveX\" \u0456 \"\u0414\u0432\u0456\u0439\u043A\u043E\u0432\u0456 \u043A\u043E\u0434\u0438 \u0456 \u0441\u0446\u0435\u043D\u0430\u0440\u0456\u0457 \u043F\u043E\u0432\u0435\u0434\u0456\u043D\u043A\u0438\"\n\u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0456.\n\n\u0412 \u0434\u0430\u043D\u0438\u0439 \u0447\u0430\u0441 \u0432\u0438 \u043F\u043E\u0431\u0430\u0447\u0438\u0442\u0435 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F \u043F\u0440\u043E \u043F\u043E\u043C\u0438\u043B\u043A\u0443, \u0430 \u043D\u0435\n\u043D\u0430\u0431\u0440\u0430\u043D\u0443 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443.", + CantCreateXMLParser: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0441\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u043D\u0438\u0439 \u0430\u043D\u0430\u043B\u0456\u0437\u0430\u0442\u043E\u0440 XML \u0434\u043B\u044F MathML. \u041F\u0435\u0440\u0435\u043A\u043E\u043D\u0430\u0439\u0442\u0435\u0441\u044F, \u0449\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u201E\u0421\u0446\u0435\u043D\u0430\u0440\u0456\u0457 ActiveX \u043F\u043E\u0437\u043D\u0430\u0447\u0435\u043D\u0456 \u044F\u043A \u0431\u0435\u0437\u043F\u0435\u0447\u043D\u0456 \u0434\u043B\u044F \u0432\u0438\u043A\u043E\u043D\u0430\u043D\u043D\u044F \u0441\u0446\u0435\u043D\u0430\u0440\u0456\u0457\u0432 \u0431\u0435\u0437\u043F\u0435\u043A\u0438\u201C\n \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u0438\u0439 (\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u043F\u0443\u043D\u043A\u0442 \u0412\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0456 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443 \u0432 \u043C\u0435\u043D\u044E \u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438 \u0456 \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0411\u0435\u0437\u043F\u0435\u043A\u0430, \u043F\u043E\u0442\u0456\u043C \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u043A\u043D\u043E\u043F\u043A\u0443 \u0412\u043B\u0430\u0441\u043D\u0438\u0439 \u0440\u0456\u0432\u0435\u043D\u044C, \u0449\u043E\u0431 \u0432\u0456\u0434\u043C\u0456\u0442\u0438\u0442\u0438 \u0446\u0435).\n\nMathML \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F \u043D\u0435 \u0437\u043C\u043E\u0436\u0443\u0442\u044C \u0431\u0443\u0442\u0438 \u043E\u0431\u0440\u043E\u0431\u043B\u0435\u043D\u0456 MathJax.", + UnknownNodeType: "\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0438\u0439 \u0442\u0438\u043F \u0432\u0443\u0437\u043B\u0430: %1", + UnexpectedTextNode: "\u041D\u0435\u043F\u0435\u0440\u0435\u0434\u0431\u0430\u0447\u0435\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u0438\u0439 \u0432\u0443\u0437\u043E\u043B: %1", + ErrorParsingMathML: "\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 MathML", + ParsingError: "\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 MathML: %1", + MathMLSingleElement: "MathML \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0441\u0444\u043E\u0440\u043C\u043E\u0432\u0430\u043D\u0438\u0439 \u043E\u0434\u043D\u0438\u043C \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u043C", + MathMLRootElement: "MathML \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0441\u0444\u043E\u0440\u043C\u043E\u0432\u0430\u043D\u0438\u0439 \u003Cmath\u003E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u043C, \u0430 \u043D\u0435 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathMenu.js new file mode 100644 index 00000000..5d37fe9e --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/uk/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u044F\u043A", + MathMLcode: "\u041A\u043E\u0434 MathML", + OriginalMathML: "\u041E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0438\u0439 MathML", + TeXCommands: "\u041A\u043E\u043C\u0430\u043D\u0434\u0438 TeX", + AsciiMathInput: "\u0412\u0432\u0456\u0434 AsciiMathML", + Original: "\u041E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0430 \u0444\u043E\u0440\u043C\u0430", + ErrorMessage: "\u041F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F \u043F\u0440\u043E \u043F\u043E\u043C\u0438\u043B\u043A\u0443", + Annotation: "\u0410\u043D\u043E\u0442\u0430\u0446\u0456\u044F", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "\u0417\u043C\u0456\u0441\u0442 MathML", + OpenMath: "OpenMath", + texHints: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u043F\u043E\u0440\u0430\u0434\u0438 TeX \u0432 MathML", + Settings: "\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438", + ZoomTrigger: "\u041F\u0443\u0441\u043A \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443", + Hover: "\u041F\u0456\u0434\u043D\u0435\u0441\u0435\u043D\u043D\u044F \u043A\u0443\u0440\u0441\u043E\u0440\u0430", + Click: "\u041A\u043B\u0456\u043A", + DoubleClick: "\u041F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u043A\u043B\u0456\u043A", + NoZoom: "\u0411\u0435\u0437 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F", + TriggerRequires: "\u041D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u0456 \u043A\u043B\u044E\u0447\u0456:", + Option: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440", + Alt: "Alt", + Command: "\u041A\u043E\u043C\u0430\u043D\u0434\u0430", + Control: "\u041A\u0435\u0440\u0443\u0432\u0430\u043D\u043D\u044F", + Shift: "Shift", + ZoomFactor: "\u041C\u043D\u043E\u0436\u043D\u0438\u043A \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F", + Renderer: "\u0412\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438", + MPHandles: "MathPlayer \u043E\u043F\u0440\u0430\u0446\u044C\u043E\u0432\u0443\u0454:", + MenuEvents: "\u041F\u043E\u0434\u0456\u0457 \u043C\u0435\u043D\u044E", + MouseEvents: "\u041F\u043E\u0434\u0456\u0457 \u043C\u0438\u0448\u043A\u0438", + MenuAndMouse: "\u041F\u043E\u0434\u0456\u0457 \u043C\u0435\u043D\u044E \u0456 \u043C\u0438\u0448\u043A\u0438", + FontPrefs: "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u0448\u0442\u0440\u0438\u0444\u0442\u0443", + ForHTMLCSS: "\u0414\u043B\u044F HTML-CSS:", + Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E", + TeXLocal: "TeX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0438\u0439)", + TeXWeb: "TeX (\u0432\u0435\u0431)", + TeXImage: "TeX (\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F)", + STIXLocal: "STIX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0438\u0439)", + STIXWeb: "STIX (\u0432\u0435\u0431)", + AsanaMathWeb: "Asana Math (\u0432\u0435\u0431)", + GyrePagellaWeb: "Gyre Pagella (\u0432\u0435\u0431)", + GyreTermesWeb: "Gyre Termes (\u0432\u0435\u0431)", + LatinModernWeb: "Latin Modern (\u0432\u0435\u0431)", + NeoEulerWeb: "Neo Euler (\u0432\u0435\u0431)", + ContextMenu: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u0435 \u043C\u0435\u043D\u044E", + Browser: "\u041E\u0433\u043B\u044F\u0434", + Scale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u0443\u0441\u044E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443\u2026", + Discoverable: "\u041F\u0456\u0434\u0441\u0432\u0456\u0442\u043A\u0430 \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u043D\u0456", + Locale: "\u041C\u043E\u0432\u0430", + LoadLocale: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0437 URL...", + About: "\u041F\u0440\u043E MathJax", + Help: "\u0414\u043E\u043F\u043E\u043C\u043E\u0433\u0430 MathJax", + localTeXfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 TeX", + webTeXfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438 TeX", + imagefonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F \u0448\u0440\u0438\u0444\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C", + localSTIXfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0447\u0438 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0456 STIX-\u0448\u0440\u0438\u0444\u0442\u0438", + webSVGfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0447\u0438 SVG \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438", + genericfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0447\u0438 \u0437\u0433\u0435\u043D\u0435\u0440\u043E\u0432\u0430\u043D\u0456 \u044E\u043D\u0456\u043A\u043E\u0434\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438", + wofforotffonts: "\u0448\u0440\u0438\u0444\u0442\u0438 woff \u0430\u0431\u043E otf", + eotffonts: "\u0448\u0440\u0438\u0444\u0442\u0438 eot", + svgfonts: "\u0448\u0440\u0438\u0444\u0442\u0438 svg", + WebkitNativeMMLWarning: "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454 MathML, \u0442\u043E\u043C\u0443 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u043D\u043D\u044F \u0432\u0438\u0432\u043E\u0434\u0443 \u0434\u043E MathML \u043C\u043E\u0436\u0435 \u043F\u0440\u0438\u0437\u0432\u0435\u0441\u0442\u0438, \u0449\u043E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u043D\u0430 \u0446\u0456\u0439 \u0441\u0442\u043E\u0440\u0456\u043D\u0446\u0456 \u0441\u0442\u0430\u043D\u0435 \u043D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438.", + MSIENativeMMLWarning: "\u0412\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447 Internet Explorer \u043F\u043E\u0442\u0440\u0435\u0431\u0443\u0454 \u043C\u043E\u0434\u0443\u043B\u044C MathPlayer \u0434\u043B\u044F \u043E\u0431\u0440\u043E\u0431\u043A\u0438 \u0432\u0438\u0432\u043E\u0434\u0443 MathML.", + OperaNativeMMLWarning: "\u041E\u0431\u043C\u0435\u0436\u0435\u043D\u0430 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u043A\u0430 MathML \u0432 Opera, \u0442\u043E\u043C\u0443 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u043D\u043D\u044F \u0432\u0438\u0432\u043E\u0434\u0443 \u043D\u0430 MathML \u043C\u043E\u0436\u0443\u0442\u044C \u0432\u0438\u043A\u043B\u0438\u043A\u0430\u0442\u0438, \u0449\u043E \u0434\u0435\u044F\u043A\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u043F\u043E\u0433\u0430\u043D\u043E \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u0438\u043C\u0443\u0442\u044C\u0441\u044F.", + SafariNativeMMLWarning: "MathML \u0432\u0430\u0448\u043E\u0433\u043E \u0432\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0430 \u043D\u0435 \u0440\u0435\u0430\u043B\u0456\u0437\u0443\u0454 \u0432\u0441\u0456 \u0444\u0443\u043D\u043A\u0446\u0456\u0457, \u044F\u043A\u0456 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F MathJax. \u0422\u0430\u043A\u0438\u043C \u0447\u0438\u043D\u043E\u043C, \u0434\u0435\u044F\u043A\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438\u0441\u044F.", + FirefoxNativeMMLWarning: "MathML \u0432\u0430\u0448\u043E\u0433\u043E \u0432\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0430 \u043D\u0435 \u0440\u0435\u0430\u043B\u0456\u0437\u0443\u0454 \u0432\u0441\u0456 \u0444\u0443\u043D\u043A\u0446\u0456\u0457, \u044F\u043A\u0456 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F MathJax. \u0422\u0430\u043A\u0438\u043C \u0447\u0438\u043D\u043E\u043C, \u0434\u0435\u044F\u043A\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438\u0441\u044F.", + MSIESVGWarning: "SVG \u043D\u0435 \u0440\u0435\u0430\u043B\u0456\u0437\u043E\u0432\u0430\u043D\u043E \u0443 \u0432\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456 Internet Explorer \u0432\u0435\u0440\u0441\u0456\u0457 9 \u0430\u0431\u043E \u0435\u043C\u0443\u043B\u044E\u0454\u0442\u044C\u0441\u044F \u0432 IE8 \u0430\u0431\u043E \u043D\u0438\u0436\u0447\u0435, \u0442\u043E\u043C\u0443 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u043D\u043D\u044F \u043D\u0430 \u0432\u0438\u0432\u0456\u0434 SVG \u043C\u043E\u0436\u0435 \u043F\u0440\u0438\u0437\u0432\u0435\u0441\u0442\u0438, \u0449\u043E \u0446\u044E \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0443 \u0441\u0442\u0430\u043D\u0435 \u043D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438.", + LoadURL: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0434\u0430\u043D\u0456 \u043F\u0435\u0440\u0435\u043A\u043B\u0430\u0434\u0443 \u0437 \u0446\u044C\u043E\u0433\u043E URL:", + BadURL: "URL-\u0430\u0434\u0440\u0435\u0441\u0430 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0434\u043B\u044F JavaScript \u0444\u0430\u0439\u043B\u0443, \u044F\u043A\u0438\u0439 \u0432\u0438\u0437\u043D\u0430\u0447\u0430\u0454 MathJax \u0434\u0430\u043D\u0456 \u043F\u0435\u0440\u0435\u043A\u043B\u0430\u0434\u0443. \u0406\u043C'\u044F \u0444\u0430\u0439\u043B\u0443 JavaScript \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 \".js\"", + BadData: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u0435\u0440\u0435\u043A\u043B\u0430\u0434\u0438 \u0437 %1", + SwitchAnyway: "\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0442\u043E\u0440?\n\n(\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0413\u0430\u0440\u0430\u0437\u0434, \u0449\u043E\u0431 \u0437\u043C\u0456\u043D\u0438\u0442\u0438, \u0430\u0431\u043E \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u0432\u0436\u0435\u043D\u043D\u044F \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0442\u043E\u0440\u0430)", + ScaleMath: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 (\u0443 \u043F\u043E\u0440\u0456\u0432\u043D\u044F\u043D\u043D\u0456 \u0437 \u043E\u0442\u043E\u0447\u0443\u044E\u0447\u0438\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C)", + NonZeroScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u043D\u0435 \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u043D\u0443\u043B\u0435\u043C", + PercentScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0443 \u0432\u0456\u0434\u0441\u043E\u0442\u043A\u0430\u0445 (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, 120%%)", + IE8warning: "\u0426\u0435 \u0432\u0438\u043C\u0438\u043A\u0430\u0454 MathJax \u043C\u0435\u043D\u044E \u0442\u0430 \u0444\u0443\u043D\u043A\u0446\u0456\u0457 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F, \u0430\u043B\u0435 \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0442\u0440\u0438\u043C\u0443\u0432\u0430\u0442\u0438 ALT \u043F\u0456\u0434 \u0447\u0430\u0441 \u043A\u043B\u0456\u043A\u0456\u0432 \u043C\u0438\u0448\u0456 \u043D\u0430 \u0432\u0438\u0440\u0430\u0437\u0456 \u0434\u043B\u044F \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043D\u044F \u043D\u0430\u0442\u043E\u043C\u0456\u0441\u0442\u044C \u043C\u0435\u043D\u044E MathJax.\n\n\u0414\u0456\u0439\u0441\u043D\u043E \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F MathPlayer?", + IE9warning: "MathJax \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u0435 \u043C\u0435\u043D\u044E \u0432\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u0430\u043B\u0435 \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u043D\u0430\u0442\u0438\u0441\u043D\u0443\u0442\u0438 ALT \u043F\u0456\u0434 \u0447\u0430\u0441 \u043A\u043B\u0456\u043A\u0456\u0432 \u043C\u0438\u0448\u0456 \u0434\u043B\u044F \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u044F MathJax \u043C\u0435\u043D\u044E.", + NoOriginalForm: "\u041D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0430 \u0444\u043E\u0440\u043C\u0430", + Close: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438", + EqSource: "\u0414\u0436\u0435\u0440\u0435\u043B\u043E \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F MathJax", + CloseAboutDialog: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433 \u043F\u0440\u043E MathJax", + FastPreview: "\u0428\u0432\u0438\u0434\u043A\u0438\u0439 \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456\u0439 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434", + AssistiveMML: "\u0414\u043E\u043F\u043E\u043C\u0456\u0436\u043D\u0438\u0439 MathML", + InTabOrder: "\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u0438 \u0432 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0432\u043A\u043B\u0430\u0434\u043E\u043A" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/TeX.js new file mode 100644 index 00000000..47310bae --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/uk/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0417\u0430\u0439\u0432\u0430 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430 \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u044F \u0437\u0430\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430", + ExtraCloseMissingOpen: "\u0417\u0430\u0439\u0432\u0430 \u0437\u0430\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430 \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430", + MissingLeftExtraRight: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \\left \u0430\u0431\u043E \u0437\u0430\u0439\u0432\u0438\u0439 \\right", + MissingScript: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0438 \u0432\u0435\u0440\u0445\u043D\u044C\u043E\u0433\u043E \u0456 \u043D\u0438\u0436\u043D\u044C\u043E\u0433\u043E \u0456\u043D\u0434\u0435\u043A\u0441\u0456\u0432", + ExtraLeftMissingRight: "\u0417\u0430\u0439\u0432\u0438\u0439 \\left \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \\right", + Misplaced: "\u041D\u0435\u0432\u0456\u0440\u043D\u0438\u0439 %1", + MissingOpenForSub: "\u0411\u0440\u0430\u043A\u0443\u0454 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0457 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u043D\u0438\u0436\u043D\u044C\u043E\u0433\u043E \u0456\u043D\u0434\u0435\u043A\u0441\u0443", + MissingOpenForSup: "\u0411\u0440\u0430\u043A\u0443\u0454 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0457 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u0432\u0435\u0440\u0445\u043D\u044C\u043E\u0433\u043E \u0456\u043D\u0434\u0435\u043A\u0441\u0443", + AmbiguousUseOf: "\u041D\u0435\u043E\u0434\u043D\u043E\u0437\u043D\u0430\u0447\u043D\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F %1", + EnvBadEnd: "\\begin{%1} \u0437\u0430\u043A\u0456\u043D\u0447\u0438\u0432\u0441\u044F \\end{%2}", + EnvMissingEnd: "\u0411\u0440\u0430\u043A\u0443\u0454 \\end{%1}", + MissingBoxFor: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0454 \u043F\u043E\u043B\u0435 \u0434\u043B\u044F %1", + MissingCloseBrace: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u044F \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u0430 \u0434\u0443\u0436\u043A\u0430", + UndefinedControlSequence: "\u041D\u0435\u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u043A\u043E\u043C\u0430\u043D\u0434\u0430 %1", + DoubleExponent: "\u041F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u0441\u0442\u0435\u043F\u0456\u043D\u044C: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u0443\u0442\u043E\u0447\u043D\u0435\u043D\u043D\u044F", + DoubleSubscripts: "\u041F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u043D\u0438\u0436\u043D\u0456\u0439 \u0456\u043D\u0434\u0435\u043A\u0441: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0434\u0443\u0436\u043A\u0438 \u0443\u0442\u043E\u0447\u0435\u043D\u043D\u044F", + DoubleExponentPrime: "\u0417\u043D\u0430\u043A \u0448\u0442\u0440\u0438\u0445\u0430 \u0441\u043F\u0440\u0438\u0447\u0438\u043D\u0438\u0432 \u043F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u0441\u0442\u0435\u043F\u0456\u043D\u044C: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u0439\u0442\u0435 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u0443\u0442\u043E\u0447\u043D\u0435\u043D\u043D\u044F", + CantUseHash1: "\u041D\u0435 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 \u043C\u0430\u043A\u0440\u043E\u0441\u0443 # \u0443 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u043E\u043C\u0443 \u0440\u0435\u0436\u0438\u043C\u0456", + MisplacedMiddle: "%1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0432 \u043C\u0435\u0436\u0430\u0445 \\left \u0456 \\right", + MisplacedLimits: "%1 \u0434\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E \u0442\u0456\u043B\u044C\u043A\u0438 \u043D\u0430 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0430\u0445", + MisplacedMoveRoot: "%1 \u043C\u043E\u0436\u0435 \u0437'\u044F\u0432\u0438\u0442\u0438\u0441\u044F \u043B\u0438\u0448\u0435 \u043F\u0456\u0434 \u043A\u043E\u0440\u0435\u043D\u0435\u043C", + MultipleCommand: "\u041A\u0456\u043B\u044C\u043A\u0430 %1", + IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0446\u0456\u043B\u0438\u043C \u0447\u0438\u0441\u043B\u043E\u043C", + NotMathMLToken: "%1 \u043D\u0435 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u043C \u043C\u0430\u0440\u043A\u0435\u0440\u0430", + InvalidMathMLAttr: "\u041D\u0435\u043F\u0440\u0438\u043F\u0443\u0441\u0442\u0438\u043C\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 MathML: %1", + UnknownAttrForElement: "%1 \u043D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0434\u043B\u044F %2", + MaxMacroSub1: "\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0443 \u043A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u0432\u0438\u043A\u043B\u0438\u043A\u0456\u0432 \u043C\u0430\u043A\u0440\u043E\u0441\u0456\u0432; \u0430\u0431\u043E \u0432\u0456\u0434\u0431\u0443\u0432\u0430\u0454\u0442\u044C\u0441\u044F \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u0438\u0439 \u0432\u0438\u043A\u043B\u0438\u043A \u043C\u0430\u043A\u0440\u043E\u0441\u0443?", + MaxMacroSub2: "\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0443 \u043A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u043F\u0456\u0434\u0441\u0442\u0430\u043D\u043E\u0432\u043E\u043A MathJax; \u041C\u043E\u0436\u043B\u0438\u0432\u043E, \u0440\u0435\u043A\u0443\u0440\u0441\u0456\u044F \u0432 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0456 LaTeX?", + MissingArgFor: "\u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1", + ExtraAlignTab: "\u0417\u0430\u0439\u0432\u0438\u0439 \u0442\u0430\u0431\u0443\u043B\u044F\u0442\u043E\u0440 \u0442\u0435\u043A\u0441\u0442\u0443 \u0443 \\cases", + BracketMustBeDimension: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0443 \u0434\u0443\u0436\u043A\u0430\u0445 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440\u043E\u043C", + InvalidEnv: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0456\u043C'\u044F \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0430 '%1'", + UnknownEnv: "\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0435 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0435 '%1'", + ExtraCloseLooking: "\u0417\u0430\u0439\u0432\u0430 \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u0430 \u0434\u0443\u0436\u043A\u0430 \u0432\u0438\u043D\u0438\u043A\u043B\u0430 \u043F\u0456\u0434 \u0447\u0430\u0441 \u043F\u043E\u0448\u0443\u043A\u0443 %1", + MissingCloseBracket: "\u041D\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u0443 ']' \u0434\u043B\u044F \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0443 \u0434\u043E %1", + MissingOrUnrecognizedDelim: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \u0430\u0431\u043E \u043D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0438\u043A \u0434\u043B\u044F %1", + MissingDimOrUnits: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \u0440\u043E\u0437\u043C\u0456\u0440 \u0430\u0431\u043E \u0439\u043E\u0433\u043E \u043E\u0434\u0438\u043D\u0438\u0446\u0456 \u0434\u043B\u044F %1", + TokenNotFoundForCommand: "\u041D\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u043D\u0430\u0439\u0442\u0438 %1 \u0434\u043B\u044F %2", + MathNotTerminated: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 \u043D\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0443\u0454\u0442\u044C\u0441\u044F \u0432 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u043E\u043C\u0443 \u043F\u043E\u043B\u0456", + IllegalMacroParam: "\u041D\u0435\u0437\u0430\u043A\u043E\u043D\u043D\u0435 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F \u043D\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043C\u0430\u043A\u0440\u043E\u0441\u0443", + MaxBufferSize: "\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u0440\u043E\u0437\u043C\u0456\u0440 \u0432\u043D\u0443\u0442\u0440\u0456\u0448\u043D\u044C\u043E\u0433\u043E \u0431\u0443\u0444\u0435\u0440\u0430 MathJax; \u0442\u0430\u043C \u0454 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u0438\u0439 \u0432\u0438\u043A\u043B\u0438\u043A \u043C\u0430\u043A\u0440\u043E\u0441\u0443?", + CommandNotAllowedInEnv: "%1 \u043D\u0435 \u0434\u043E\u043F\u0443\u0441\u043A\u0430\u0454\u0442\u044C\u0441\u044F \u0432 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0456 %2", + MultipleLabel: "\u041C\u0456\u0442\u043A\u0430 '%1' \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u043A\u0456\u043B\u044C\u043A\u0430 \u0440\u0430\u0437\u0456\u0432", + CommandAtTheBeginingOfLine: "%1 \u043C\u0430\u0454 \u0437\u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0438\u0441\u044F \u043D\u0430 \u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0440\u044F\u0434\u043A\u0430", + IllegalAlign: "\u041D\u0435\u0437\u0430\u043A\u043E\u043D\u043D\u0435 \u0432\u0438\u0440\u0456\u0432\u043D\u044E\u0432\u0430\u043D\u043D\u044F \u0432\u043A\u0430\u0437\u0430\u043D\u0435 \u0443 %1", + BadMathStyleFor: "\u041D\u0435\u0432\u0456\u0440\u043D\u0438\u0439 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u0434\u043B\u044F %1", + PositiveIntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043C \u0446\u0456\u043B\u0438\u043C \u0447\u0438\u0441\u043B\u043E\u043C", + ErroneousNestingEq: "\u041F\u043E\u043C\u0438\u043B\u043A\u043E\u0432\u0456 \u0432\u043A\u043B\u0430\u0434\u0435\u043D\u043E\u0441\u0442\u0456 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440 \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F", + MultlineRowsOneCol: "\u0420\u044F\u0434\u043A\u0438 \u0443 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0456 %1 \u043C\u0443\u0441\u044F\u0442\u044C \u043C\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u043E\u0434\u0438\u043D \u0441\u0442\u043E\u0432\u043F\u0435\u0446\u044C", + MultipleBBoxProperty: "%1 \u0432\u043A\u0430\u0437\u0430\u043D\u043E \u0434\u0432\u0456\u0447\u0456 \u0432 %2", + InvalidBBoxProperty: "'%1' \u0437\u043E\u0432\u0441\u0456\u043C \u043D\u0435 \u0441\u0445\u043E\u0436\u0438\u0439 \u043D\u0430 \u043A\u043E\u043B\u0456\u0440, \u0434\u043E\u0434\u0430\u0442\u043A\u043E\u0432\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440 \u0430\u0431\u043E \u0441\u0442\u0438\u043B\u044C", + ExtraEndMissingBegin: "\u0417\u0430\u0439\u0432\u0430 %1 \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u044F \\begingroup", + GlobalNotFollowedBy: "%1 \u043D\u0435 \u0441\u043B\u0456\u0434\u0443\u0454 \u043F\u0456\u0441\u043B\u044F \\let, \\def \u0430\u0431\u043E \\newcommand", + UndefinedColorModel: "\u041A\u043E\u043B\u0456\u0440\u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u044C '%1' \u043D\u0435 \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0430", + ModelArg1: "\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043A\u043E\u043B\u044C\u043E\u0440\u0443 \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0456 %1 \u0432\u0438\u043C\u0430\u0433\u0430\u044E\u0442\u044C 3 \u0446\u0438\u0444\u0440\u0438", + InvalidDecimalNumber: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0434\u0435\u0441\u044F\u0442\u043A\u043E\u0432\u0435 \u0447\u0438\u0441\u043B\u043E", + ModelArg2: "\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043A\u043E\u043B\u044C\u043E\u0440\u0443 \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0456 %1 \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043C\u0456\u0436 \u0442\u0435\u0433\u0430\u043C\u0438 %2 \u0456 %3", + InvalidNumber: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E", + NewextarrowArg1: "\u041F\u0435\u0440\u0448\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u043D\u0430\u0437\u0432\u043E\u044E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u043A\u0435\u0440\u0456\u0432\u043D\u043E\u0457 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u043E\u0441\u0442\u0456", + NewextarrowArg2: "\u0414\u0440\u0443\u0433\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0434\u0432\u043E\u043C\u0430 \u0446\u0456\u043B\u0438\u043C\u0438 \u0447\u0438\u0441\u043B\u0430\u043C\u0438, \u0440\u043E\u0437\u0434\u0456\u043B\u0435\u043D\u0438\u043C\u0438 \u043A\u043E\u043C\u0430\u043C\u0438", + NewextarrowArg3: "\u0422\u0440\u0435\u0442\u0456\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043B\u043E\u0432\u0438\u043C \u044E\u043D\u0456\u043A\u043E\u0434\u043D\u0438\u043C \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u043C", + NoClosingChar: "\u041D\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u043D\u0430\u0439\u0442\u0438 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0457 %1", + IllegalControlSequenceName: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0456\u043C'\u044F \u043A\u0435\u0440\u0456\u0432\u043D\u043E\u0457 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u043E\u0441\u0442\u0456 \u0434\u043B\u044F %1", + IllegalParamNumber: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0456\u0432, \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0445 \u0443 %1", + MissingCS: "\u041F\u0456\u0441\u043B\u044F %1 \u043C\u0443\u0441\u0438\u0442\u044C \u0441\u043B\u0456\u0434\u0443\u0432\u0430\u0442\u0438 \u043A\u0435\u0440\u0456\u0432\u043D\u0430 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u0456\u0441\u0442\u044C", + CantUseHash2: "\u041D\u0435\u0437\u0430\u043A\u043E\u043D\u043D\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F # \u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0456 \u0434\u043B\u044F %1", + SequentialParam: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438 \u0434\u043B\u044F %1 \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u0431\u0443\u0442\u0438 \u043F\u0440\u043E\u043D\u0443\u043C\u0435\u0440\u043E\u0432\u0430\u043D\u0456 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u043E", + MissingReplacementString: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \u0440\u044F\u0434\u043E\u043A \u0437\u0430\u043C\u0456\u043D\u0438 \u0434\u043B\u044F \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F %1", + MismatchUseDef: "\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F %1 \u043D\u0435 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0454 \u0439\u043E\u0433\u043E \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044E", + RunawayArgument: "\u0412\u0442\u0440\u0430\u0447\u0435\u043D\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1?", + NoClosingDelim: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0433\u043E \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0438\u043A\u0430 \u0434\u043B\u044F%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/uk.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/uk.js new file mode 100644 index 00000000..f8fbec44 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/uk.js @@ -0,0 +1,61 @@ +/************************************************************* + * + * MathJax/localization/uk/uk.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk",null,{ + menuTitle: "\u0443\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u0437\u043D\u0430\u0439\u0448\u043B\u0430 \u043A\u0443\u043A\u0438 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u0457 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430, \u0449\u043E \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u043A\u043E\u0434 \u0434\u043B\u044F \u0437\u0430\u043F\u0443\u0441\u043A\u0443. \u0412\u0438 \u0445\u043E\u0447\u0435\u0442\u0435 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0438 \u0439\u043E\u0433\u043E?\n\n\n(\u0412\u0438 \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u043D\u0430\u0442\u0438\u0441\u043D\u0443\u0442\u0438 \"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438\", \u0430\u0431\u0438 \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043A\u0443\u043A \u0443 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432 \u043D\u0430\u0441\u0442\u0440\u043E\u044E\u0432\u0430\u043D\u043D\u044F cookie \u0441\u0435\u0431\u0435.)", + MathProcessingError: "\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043E\u0431\u0440\u043E\u0431\u043A\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438", + MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430", + LoadFile: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F %1", + Loading: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F", + LoadFailed: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043B: %1", + ProcessMath: "\u041E\u0431\u0440\u043E\u0431\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", + Processing: "\u041E\u0431\u0440\u043E\u0431\u043A\u0430...", + TypesetMath: "\u0412\u0435\u0440\u0441\u0442\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", + Typesetting: "\u0412\u0435\u0440\u0441\u0442\u043A\u0430", + MathJaxNotSupported: "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454 MathJax", + ErrorTips: "\u041F\u0456\u0434\u043A\u0430\u0437\u043A\u0438 \u0449\u043E\u0434\u043E \u0437\u043D\u0435\u0432\u0430\u0434\u0436\u0435\u043D\u043D\u044F: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 %%1, \u0434\u043E\u0441\u043B\u0456\u0434\u0456\u0442\u044C %%2 \u0443 \u043A\u043E\u043D\u0441\u043E\u043B\u0456 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && n % 100 != 11) return 1; // one + if (2 <= n % 10 && n % 10 <= 4 && !(12 <= n % 100 && n % 100 <= 14)) return 2; // few + if (n % 10 === 0 || (5 <= n % 10 && n % 10 <= 9) || (11 <= n % 100 && n % 100 <= 14)) return 3; // many + return 4; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/uk.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/FontWarnings.js new file mode 100644 index 00000000..33f56f54 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/vi/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax s\u1EED d\u1EE5ng c\u00E1c ph\u00F4ng ch\u1EEF tr\u00EAn Web \u0111\u1EC3 v\u1EBD k\u00FD hi\u1EC7u to\u00E1n h\u1ECDc tr\u00EAn trang n\u00E0y. Tr\u00ECnh duy\u1EC7t ph\u1EA3i t\u1EF1 \u0111\u1ED9ng t\u1EA3i v\u1EC1 c\u00E1c ph\u00F4ng ch\u1EEF n\u00E0y; \u0111\u1EC3 l\u00E0m cho trang hi\u1EC3n th\u1ECB nhanh h\u01A1n, b\u1EA1n c\u00F3 th\u1EC3 c\u00E0i \u0111\u1EB7t c\u00E1c ph\u00F4ng ch\u1EEF to\u00E1n h\u1ECDc tr\u1EF1c ti\u1EBFp v\u00E0o th\u01B0 m\u1EE5c ph\u00F4ng ch\u1EEF c\u1EE7a m\u00E1y.", + imageFonts: "MathJax s\u1EED d\u1EE5ng c\u00E1c ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh c\u1EE7a n\u00F3 thay v\u00EC c\u00E1c ph\u00F4ng ch\u1EEF tr\u00EAn m\u00E1y ho\u1EB7c tr\u00EAn Web. C\u00E1c bi\u1EC3u th\u1EE9c to\u00E1n h\u1ECDc n\u00E0y s\u1EBD hi\u1EC3n th\u1ECB ch\u1EADm h\u01A1n b\u00ECnh th\u01B0\u1EDDng v\u00E0 c\u00F3 th\u1EC3 in ra \u1EDF \u0111\u1ED9 ph\u00E2n gi\u1EA3i th\u1EA5p.", + noFonts: "MathJax kh\u00F4ng t\u00ECm th\u1EA5y ph\u00F4ng ch\u1EEF \u0111\u1EC3 hi\u1EC3n th\u1ECB to\u00E1n h\u1ECDc, v\u00E0 c\u00E1c ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh kh\u00F4ng c\u00F3 s\u1EB5n, n\u00EAn n\u00F3 s\u1EED d\u1EE5ng c\u00E1c k\u00FD t\u1EF1 Unicode b\u00ECnh th\u01B0\u1EDDng n\u1EBFu tr\u01B0\u1EDDng h\u1EE3p tr\u00ECnh duy\u1EC7t c\u00F3 kh\u1EA3 n\u0103ng hi\u1EC3n th\u1ECB ch\u00FAng. M\u1ED9t s\u1ED1 k\u00FD t\u1EF1 s\u1EBD kh\u00F4ng hi\u1EC3n th\u1ECB ho\u1EB7c kh\u00F4ng hi\u1EC3n th\u1ECB ch\u00EDnh x\u00E1c.", + webFonts: "H\u1EA7u h\u1EBFt c\u00E1c tr\u00ECnh duy\u1EC7t hi\u1EC7n \u0111\u1EA1i cho ph\u00E9p t\u1EA3i v\u1EC1 ph\u00F4ng ch\u1EEF t\u1EEB trang m\u1EA1ng. Vi\u1EC7c c\u1EADp nh\u1EADt \u0111\u1EBFn m\u1ED9t phi\u00EAn b\u1EA3n tr\u00ECnh duy\u1EC7t m\u1EDBi h\u01A1n (ho\u1EB7c \u0111\u1ED5i qua tr\u00ECnh duy\u1EC7t kh\u00E1c) c\u00F3 th\u1EC3 c\u1EA3i thi\u1EC7n ch\u1EA5t l\u01B0\u1EE3ng c\u1EE7a to\u00E1n tr\u00EAn trang n\u00E0y.", + fonts: "MathJax c\u00F3 th\u1EC3 s\u1EED d\u1EE5ng [c\u00E1c ph\u00F4ng ch\u1EEF STIX](%1) ho\u1EB7c [c\u00E1c ph\u00F4ng ch\u1EEF TeX MathJax](%2). H\u00E3y t\u1EA3i v\u1EC1 v\u00E0 c\u00E0i \u0111\u1EB7t m\u1ED9t trong nh\u1EEFng ph\u00F4ng ch\u1EEF n\u00E0y \u0111\u1EC3 c\u1EA3i thi\u1EC7n kinh nghi\u1EC7m MathJax c\u1EE7a b\u1EA1n.", + STIXPage: "Trang n\u00E0y \u0111\u01B0\u1EE3c thi\u1EBFt k\u1EBF \u0111\u1EC3 s\u1EED d\u1EE5ng [c\u00E1c ph\u00F4ng ch\u1EEF STIX](%1). H\u00E3y t\u1EA3i v\u1EC1 v\u00E0 c\u00E0i \u0111\u1EB7t nh\u1EEFng ph\u00F4ng ch\u1EEF n\u00E0y \u0111\u1EC3 c\u1EA3i thi\u1EC7n kinh nghi\u1EC7m MathJax c\u1EE7a b\u1EA1n.", + TeXPage: "Trang n\u00E0y \u0111\u01B0\u1EE3c thi\u1EBFt k\u1EBF \u0111\u1EC3 s\u1EED d\u1EE5ng [c\u00E1c ph\u00F4ng ch\u1EEF TeX MathJax](%1). H\u00E3y t\u1EA3i v\u1EC1 v\u00E0 c\u00E0i \u0111\u1EB7t nh\u1EEFng ph\u00F4ng ch\u1EEF n\u00E0y \u0111\u1EC3 c\u1EA3i thi\u1EC7n kinh nghi\u1EC7m MathJax c\u1EE7a b\u1EA1n." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HTML-CSS.js new file mode 100644 index 00000000..59c0fca6 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/vi/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0110ang t\u1EA3i ph\u00F4ng ch\u1EEF Web %1", + CantLoadWebFont: "Kh\u00F4ng th\u1EC3 t\u1EA3i ph\u00F4ng ch\u1EEF Web %1", + FirefoxCantLoadWebFont: "Firefox kh\u00F4ng th\u1EC3 t\u1EA3i ph\u00F4ng ch\u1EEF Web t\u1EEB m\u1ED9t m\u00E1y ch\u1EE7 t\u1EEB xa", + CantFindFontUsing: "Kh\u00F4ng t\u00ECm th\u1EA5y ph\u00F4ng ch\u1EEF h\u1EE3p l\u1EC7 d\u00F9ng %1", + WebFontsNotAvailable: "Ph\u00F4ng ch\u1EEF Web kh\u00F4ng c\u00F3 s\u1EB5n; \u0111ang s\u1EED d\u1EE5ng ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh thay th\u1EBF" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HelpDialog.js new file mode 100644 index 00000000..a09e335a --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/vi/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Tr\u1EE3 gi\u00FAp MathJax", + MathJax: "*MathJax* l\u00E0 m\u1ED9t th\u01B0 vi\u1EC7n JavaScript cho ph\u00E9p c\u00E1c t\u00E1c gi\u1EA3 nh\u00FAng c\u00F4ng th\u1EE9c to\u00E1n h\u1ECDc v\u00E0o trang Web. C\u00E1c \u0111\u1ED9c gi\u1EA3 nh\u01B0 b\u1EA1n kh\u00F4ng c\u1EA7n l\u00E0m th\u00EAm g\u00EC \u0111\u1EC3 hi\u1EC3n th\u1ECB to\u00E1n h\u1ECDc.", + Browsers: "*Tr\u00ECnh duy\u1EC7t*: MathJax t\u01B0\u01A1ng th\u00EDch v\u1EDBi t\u1EA5t c\u1EA3 c\u00E1c tr\u00ECnh duy\u1EC7t \u0111\u1EDDi m\u1EDBi, bao g\u1ED3m IE 6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+, v\u00E0 ph\u1EA7n nhi\u1EC1u tr\u00ECnh duy\u1EC7t di \u0111\u1ED9ng.", + Menu: "*Tr\u00ECnh \u0111\u01A1n To\u00E1n h\u1ECDc*: MathJax th\u00EAm m\u1ED9t tr\u00ECnh \u0111\u01A1n ng\u1EEF c\u1EA3nh v\u00E0o c\u00E1c ph\u01B0\u01A1ng tr\u00ECnh. Nh\u1EA5n chu\u1ED9t ph\u1EA3i ho\u1EB7c nh\u1EA5n gi\u1EEF Ctrl v\u00E0 nh\u1EA5n chu\u1ED9t tr\u00E1i \u0111\u1EC3 m\u1EDF tr\u00ECnh \u0111\u01A1n n\u00E0y.", + ShowMath: "*Xem To\u00E1n D\u01B0\u1EDBi d\u1EA1ng* cho ph\u00E9p xem v\u00E0 ch\u00E9p d\u00E1n m\u00E3 ngu\u1ED3n c\u1EE7a ph\u01B0\u01A1ng tr\u00ECnh (d\u01B0\u1EDBi d\u1EA1ng MathML ho\u1EB7c \u0111\u1ECBnh d\u1EA1ng g\u1ED1c).", + Settings: "*T\u00F9y ch\u1ECDn To\u00E1n* cho ph\u00E9p \u0111i\u1EC1u khi\u1EC3n c\u00E1c t\u00EDnh n\u0103ng c\u1EE7a MathJax, th\u00ED d\u1EE5 nh\u01B0 k\u00EDch th\u01B0\u1EDBc k\u00FD t\u1EF1 to\u00E1n h\u1ECDc, c\u0169ng nh\u01B0 ph\u01B0\u01A1ng ph\u00E1p hi\u1EC3n th\u1ECB c\u00E1c ph\u01B0\u01A1ng tr\u00ECnh.", + Language: "*Ng\u00F4n ng\u1EEF* cho ph\u00E9p l\u1EF1a ch\u1ECDn ng\u00F4n ng\u1EEF cho c\u00E1c tr\u00ECnh \u0111\u01A1n v\u00E0 th\u00F4ng \u0111i\u1EC7p trong MathJax.", + Zoom: "*Ph\u00F3ng to*: N\u1EBFu b\u1EA1n c\u1EA3m th\u1EA5y kh\u00F3 \u0111\u1ECDc m\u1ED9t ph\u01B0\u01A1ng tr\u00ECnh, MathJax c\u00F3 th\u1EC3 ph\u00F3ng to n\u00F3 \u0111\u1EC3 gi\u00FAp b\u1EA1n th\u1EA5y r\u00F5 h\u01A1n.", + Accessibilty: "*Tr\u1EE3 n\u0103ng*: MathJax t\u1EF1 \u0111\u1ED9ng t\u00E1c \u0111\u1ED9ng v\u1EDBi c\u00E1c tr\u00ECnh \u0111\u1ECDc m\u00E0n h\u00ECnh \u0111\u1EC3 gi\u00FAp ng\u01B0\u1EDDi m\u00F9 l\u00F2a truy c\u1EADp to\u00E1n h\u1ECDc.", + Fonts: "*Ph\u00F4ng ch\u1EEF*: MathJax s\u1EED d\u1EE5ng m\u1ED9t s\u1ED1 ph\u00F4ng ch\u1EEF to\u00E1n h\u1ECDc n\u1EBFu \u0111\u01B0\u1EE3c c\u00E0i \u0111\u1EB7t tr\u00EAn m\u00E1y c\u1EE7a b\u1EA1n; n\u1EBFu kh\u00F4ng, n\u00F3 t\u1EA3i c\u00E1c ph\u00F4ng ch\u1EEF Web. B\u1EA1n c\u00F3 th\u1EC3 (nh\u01B0ng kh\u00F4ng c\u1EA7n ph\u1EA3i) c\u00E0i \u0111\u1EB7t c\u00E1c ph\u00F4ng ch\u1EEF v\u00E0o m\u00E1y \u0111\u1EC3 t\u0103ng t\u1ED1c \u0111\u1ED9 s\u1EAFp ch\u1EEF. Ch\u00FAng t\u00F4i khuy\u1EBFn kh\u00EDch c\u00E0i \u0111\u1EB7t c\u00E1c [ph\u00F4ng ch\u1EEF STIX](%1).", + CloseDialog: "\u0110\u00F3ng h\u1ED9p tho\u1EA1i tr\u1EE3 gi\u00FAp" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathML.js new file mode 100644 index 00000000..01c25e05 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/vi/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph h\u1ECFng: %1", + BadMglyphFont: "Ph\u00F4ng ch\u1EEF h\u1ECFng: %1", + MathPlayer: "MathJax kh\u00F4ng th\u1EC3 thi\u1EBFt l\u1EADp MathPlayer.\n\nN\u1EBFu MathPlayer ch\u01B0a \u0111\u01B0\u1EE3c c\u00E0i \u0111\u1EB7t, b\u1EA1n c\u1EA7n ph\u1EA3i c\u00E0i \u0111\u1EB7t n\u00F3 tr\u01B0\u1EDBc ti\u00EAn.\nN\u1EBFu kh\u00F4ng, c\u00E1c t\u00F9y ch\u1ECDn b\u1EA3o m\u1EADt c\u1EE7a b\u1EA1n c\u00F3 th\u1EC3 ng\u0103n tr\u1EDF c\u00E1c \u0111i\u1EC1u khi\u1EC3n ActiveX. H\u00E3y ch\u1ECDn T\u00F9y ch\u1ECDn Internet trong tr\u00ECnh \u0111\u01A1n C\u00F4ng c\u1EE5, qua th\u1EBB B\u1EA3o m\u1EADt, v\u00E0 b\u1EA5m n\u00FAt M\u1EE9c t\u00F9y ch\u1EC9nh. Ki\u1EC3m c\u00E1c h\u1ED9p \u201CCh\u1EA1y \u0111i\u1EC1u khi\u1EC3n ActiveX\u201D v\u00E0 \u201CH\u00E0nh vi nh\u1ECB ph\u00E2n v\u00E0 k\u1ECBch b\u1EA3n\u201D.\n\nHi\u1EC7n t\u1EA1i b\u1EA1n s\u1EBD g\u1EB7p c\u00E1c th\u00F4ng b\u00E1o l\u1ED7i thay v\u00EC to\u00E1n h\u1ECDc \u0111\u01B0\u1EE3c k\u1EBFt xu\u1EA5t.", + CantCreateXMLParser: "MathJax kh\u00F4ng th\u1EC3 t\u1EA1o ra b\u1ED9 ph\u00E2n t\u00EDch XML cho MathML. H\u00E3y ch\u1ECDn T\u00F9y ch\u1ECDn Internet trong tr\u00ECnh \u0111\u01A1n C\u00F4ng c\u1EE5, qua th\u1EBB B\u1EA3o m\u1EADt, v\u00E0 b\u1EA5m n\u00FAt M\u1EE9c t\u00F9y ch\u1EC9nh. Ki\u1EC3m h\u1ED9p \u201CScript c\u00E1c \u0111i\u1EC1u khi\u1EC3n ActiveX \u0111\u01B0\u1EE3c \u0111\u00E1nh d\u1EA5u l\u00E0 an to\u00E0n\u201D.\n\nMathJax s\u1EBD kh\u00F4ng th\u1EC3 x\u1EED l\u00FD c\u00E1c ph\u01B0\u01A1ng tr\u00ECnh MathML.", + UnknownNodeType: "Ki\u1EC3u n\u00FAt kh\u00F4ng r\u00F5: %1", + UnexpectedTextNode: "N\u00FAt v\u0103n b\u1EA3n b\u1EA5t ng\u1EEB: %1", + ErrorParsingMathML: "L\u1ED7i khi ph\u00E2n t\u00EDch MathML", + ParsingError: "L\u1ED7i khi ph\u00E2n t\u00EDch MathML: %1", + MathMLSingleElement: "MathML ph\u1EA3i ch\u1EC9 c\u00F3 m\u1ED9t ph\u1EA7n t\u1EED g\u1ED1c", + MathMLRootElement: "Ph\u1EA7n t\u1EED g\u1ED1c c\u1EE7a MathML ph\u1EA3i l\u00E0 \u003Cmath\u003E, ch\u1EE9 kh\u00F4ng ph\u1EA3i %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathMenu.js new file mode 100644 index 00000000..b2c84457 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/vi/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Xem To\u00E1n D\u01B0\u1EDBi d\u1EA1ng", + MathMLcode: "M\u00E3 ngu\u1ED3n MathML", + OriginalMathML: "MathML G\u1ED1c", + TeXCommands: "L\u1EC7nh TeX", + AsciiMathInput: "\u0110\u1EA7u v\u00E0o AsciiMathML", + Original: "H\u00ECnh th\u1EE9c G\u1ED1c", + ErrorMessage: "Th\u00F4ng b\u00E1o L\u1ED7i", + Annotation: "Ch\u00FA th\u00EDch", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML N\u1ED9i dung", + OpenMath: "OpenMath", + texHints: "Xem g\u1EE3i \u00FD TeX trong MathML", + Settings: "T\u00F9y ch\u1ECDn To\u00E1n", + ZoomTrigger: "H\u00E0nh \u0111\u1ED9ng Ph\u00F3ng to", + Hover: "R\u00EA chu\u1ED9t", + Click: "Nh\u1EA5n chu\u1ED9t", + DoubleClick: "Nh\u1EA5n \u0111\u00FAp chu\u1ED9t", + NoZoom: "Kh\u00F4ng ph\u00F3ng to", + TriggerRequires: "Ch\u1EC9 khi B\u1EA5m gi\u1EEF:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "T\u1EF7 l\u1EC7 Ph\u00F3ng to", + Renderer: "Ki\u1EC3u K\u1EBFt xu\u1EA5t To\u00E1n", + MPHandles: "Cho ph\u00E9p MathPlayer X\u1EED l\u00FD:", + MenuEvents: "S\u1EF1 ki\u1EC7n Tr\u00ECnh \u0111\u01A1n", + MouseEvents: "S\u1EF1 ki\u1EC7n Chu\u1ED9t", + MenuAndMouse: "S\u1EF1 ki\u1EC7n Chu\u1ED9t v\u00E0 Tr\u00ECnh \u0111\u01A1n", + FontPrefs: "T\u00F9y ch\u1ECDn Ph\u00F4ng ch\u1EEF", + ForHTMLCSS: "Cho HTML+CSS:", + Auto: "T\u1EF1 \u0111\u1ED9ng", + TeXLocal: "TeX (tr\u00EAn m\u00E1y)", + TeXWeb: "TeX (tr\u00EAn Web)", + TeXImage: "TeX (h\u00ECnh \u1EA3nh)", + STIXLocal: "STIX (tr\u00EAn m\u00E1y)", + STIXWeb: "STIX (tr\u00EAn Web)", + AsanaMathWeb: "Asana Math (tr\u00EAn Web)", + GyrePagellaWeb: "Gyre Pagella (tr\u00EAn Web)", + GyreTermesWeb: "Gyre Termes (tr\u00EAn Web)", + LatinModernWeb: "Latinh Modern (tr\u00EAn Web)", + NeoEulerWeb: "Neo Euler (tr\u00EAn Web)", + ContextMenu: "Tr\u00ECnh \u0111\u01A1n Ng\u1EEF c\u1EA3nh", + Browser: "Tr\u00ECnh duy\u1EC7t", + Scale: "Ph\u00F3ng to T\u1EA5t c\u1EA3 To\u00E1n\u2026", + Discoverable: "T\u00F4 s\u00E1ng khi R\u00EA chu\u1ED9t", + Locale: "Ng\u00F4n ng\u1EEF", + LoadLocale: "T\u1EA3i t\u1EEB URL\u2026", + About: "Gi\u1EDBi thi\u1EC7u v\u1EC1 MathJax", + Help: "Tr\u1EE3 gi\u00FAp MathJax", + localTeXfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF TeX tr\u00EAn m\u00E1y", + webTeXfonts: "d\u00F9ng ph\u00F4ng ch\u1EEF TeX tr\u00EAn Web", + imagefonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh", + localSTIXfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF STIX tr\u00EAn m\u00E1y", + webSVGfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF SVG tr\u00EAn Web", + genericfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF Unicode chung", + wofforotffonts: "Ph\u00F4ng ch\u1EEF WOFF ho\u1EB7c OTF", + eotffonts: "Ph\u00F4ng ch\u1EEF EOT", + svgfonts: "Ph\u00F4ng ch\u1EEF SVG", + WebkitNativeMMLWarning: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n h\u00ECnh nh\u01B0 kh\u00F4ng h\u1ED7 tr\u1EE3 MathML l\u00E0 m\u1ED9t ng\u00F4n ng\u1EEF g\u1ED1c, n\u00EAn k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t MathML c\u00F3 th\u1EC3 l\u00E0m cho kh\u00F4ng \u0111\u1ECDc \u0111\u01B0\u1EE3c c\u00E1c to\u00E1n tr\u00EAn trang.", + MSIENativeMMLWarning: "Internet Explorer c\u1EA7n ph\u1EA7n b\u1ED5 sung MathPlayer \u0111\u1EC3 x\u1EED l\u00FD \u0111\u1EA7u ra MathML.", + OperaNativeMMLWarning: "Opera kh\u00F4ng h\u1ED7 tr\u1EE3 MathML \u0111\u1EA7y \u0111\u1EE7, n\u00EAn k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t MathML c\u00F3 th\u1EC3 l\u00E0m cho m\u1ED9t s\u1ED1 bi\u1EC3u th\u1EE9c hi\u1EC3n th\u1ECB m\u1ED9t c\u00E1ch kh\u00F4ng ch\u00EDnh x\u00E1c.", + SafariNativeMMLWarning: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n h\u1ED7 tr\u1EE3 MathML g\u1ED1c nh\u01B0ng kh\u00F4ng h\u1ED7 tr\u1EE3 t\u1EA5t c\u1EA3 nh\u1EEFng t\u00EDnh n\u0103ng m\u00E0 MathJax s\u1EED d\u1EE5ng, n\u00EAn m\u1ED9t s\u1ED1 bi\u1EC3u th\u1EE9c c\u00F3 th\u1EC3 hi\u1EC3n th\u1ECB kh\u00F4ng ch\u00EDnh x\u00E1c.", + FirefoxNativeMMLWarning: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n h\u1ED7 tr\u1EE3 MathML g\u1ED1c nh\u01B0ng kh\u00F4ng h\u1ED7 tr\u1EE3 t\u1EA5t c\u1EA3 nh\u1EEFng t\u00EDnh n\u0103ng m\u00E0 MathJax s\u1EED d\u1EE5ng, n\u00EAn m\u1ED9t s\u1ED1 bi\u1EC3u th\u1EE9c c\u00F3 th\u1EC3 hi\u1EC3n th\u1ECB kh\u00F4ng ch\u00EDnh x\u00E1c.", + MSIESVGWarning: "SVG kh\u00F4ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3 trong Internet Explorer tr\u01B0\u1EDBc IE9 ho\u1EB7c khi gi\u1EA3 l\u1EADp IE8 tr\u1EDF xu\u1ED1ng. Vi\u1EC7c k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 hi\u1EC3n th\u1ECB SVG s\u1EBD l\u00E0m cho c\u00E1c to\u00E1n hi\u1EC3n th\u1ECB kh\u00F4ng ch\u00EDnh x\u00E1c.", + LoadURL: "T\u1EA3i d\u1EEF li\u1EC7u bi\u00EAn d\u1ECBch t\u1EEB URL n\u00E0y:", + BadURL: "URL ph\u1EA3i d\u1EABn \u0111\u1EBFn m\u1ED9t t\u1EADp tin JavaScript \u0111\u1ECBnh r\u00F5 d\u1EEF li\u1EC7u bi\u00EAn d\u1ECBch MathJax. C\u00E1c t\u00EAn t\u1EADp tin JavaScript ph\u1EA3i c\u00F3 \u201C.js\u201D \u0111\u1EB1ng sau.", + BadData: "Th\u1EA5t b\u1EA1i khi t\u1EA3i d\u1EEF li\u1EC7u bi\u00EAn d\u1ECBch t\u1EEB %1", + SwitchAnyway: "C\u1EE9 k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t n\u00E0y?\n\n(B\u1EA5m OK \u0111\u1EC3 k\u00EDch ho\u1EA1t, ho\u1EB7c Cancel \u0111\u1EC3 ti\u1EBFp t\u1EE5c s\u1EED d\u1EE5ng ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t hi\u1EC7n t\u1EA1i.)", + ScaleMath: "Ph\u00F3ng to t\u1EA5t c\u1EA3 to\u00E1n (so v\u1EDBi v\u0103n b\u1EA3n n\u1EB1m chung quanh) b\u1EB1ng t\u1EF7 l\u1EC7:", + NonZeroScale: "T\u1EF7 l\u1EC7 ph\u1EA3i kh\u00F4ng 0", + PercentScale: "T\u1EF7 l\u1EC7 ph\u1EA3i l\u00E0 s\u1ED1 ph\u1EA7n tr\u0103m (th\u00ED d\u1EE5 120%%)", + IE8warning: "Tr\u00ECnh \u0111\u01A1n MathJax v\u00E0 t\u00EDnh n\u0103ng ph\u00F3ng to s\u1EBD kh\u00F4ng c\u00F2n ho\u1EA1t \u0111\u1ED9ng. B\u1EA1n v\u1EABn c\u00F3 th\u1EC3 b\u1EA5m gi\u1EEF Alt v\u00E0 nh\u1EA5n chu\u1ED9t v\u00E0o m\u1ED9t bi\u1EC3u th\u1EE9c \u0111\u1EC3 m\u1EDF tr\u00ECnh \u0111\u01A1n MathJax thay th\u1EBF.\n\nB\u1EA1n c\u00F3 ch\u1EAFc ch\u1EAFn mu\u1ED1n thay \u0111\u1ED5i t\u00F9y ch\u1ECDn MathPlayer?", + IE9warning: "Tr\u00ECnh \u0111\u01A1n ng\u1EEF c\u1EA3nh MathJax s\u1EBD b\u1ECB v\u00F4 hi\u1EC7u, nh\u01B0ng b\u1EA1n c\u00F3 th\u1EC3 b\u1EA5m gi\u1EEF Alt v\u00E0 nh\u1EA5n chu\u1ED9t v\u00E0o m\u1ED9t bi\u1EC3u th\u1EE9c \u0111\u1EC3 m\u1EDF tr\u00ECnh \u0111\u01A1n MathJax thay th\u1EBF.", + NoOriginalForm: "H\u00ECnh th\u1EE9c g\u1ED1c kh\u00F4ng c\u00F3 s\u1EB5n", + Close: "\u0110\u00F3ng", + EqSource: "M\u00E3 ngu\u1ED3n C\u00F4ng th\u1EE9c MathJax", + CloseAboutDialog: "\u0110\u00F3ng h\u1ED9p tho\u1EA1i gi\u1EDBi thi\u1EC7u v\u1EC1 MathJax", + FastPreview: "Xem tr\u01B0\u1EDBc nhanh", + AssistiveMML: "MathML tr\u1EE3 n\u0103ng", + InTabOrder: "Bao g\u1ED3m trong th\u1EE9 t\u1EF1 Tab" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/TeX.js new file mode 100644 index 00000000..2e389496 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/vi/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "D\u1EA5u ngo\u1EB7c m\u1EDF c\u00F2n d\u01B0 ho\u1EB7c d\u1EA5u ngo\u1EB7c \u0111\u00F3ng b\u1ECB thi\u1EBFu", + ExtraCloseMissingOpen: "D\u1EA5u ngo\u1EB7c \u0111\u00F3ng c\u00F2n d\u01B0 ho\u1EB7c d\u1EA5u ngo\u1EB7c m\u1EDF b\u1ECB thi\u1EBFu", + MissingLeftExtraRight: "Thi\u1EBFu \\left ho\u1EB7c d\u01B0 \\right", + MissingScript: "Thi\u1EBFu \u0111\u1ED1i s\u1ED1 ch\u1EC9 s\u1ED1", + ExtraLeftMissingRight: "D\u01B0 \\left ho\u1EB7c thi\u1EBFu \\right", + MissingOpenForSub: "Thi\u1EBFu d\u1EA5u ngo\u1EB7c \u0111\u01A1n m\u1EDF cho ch\u1EC9 s\u1ED1 d\u01B0\u1EDBi", + MissingOpenForSup: "Thi\u1EBFu d\u1EA5u ngo\u1EB7c \u0111\u01A1n m\u1EDF cho ch\u1EC9 s\u1ED1 tr\u00EAn", + AmbiguousUseOf: "%1 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng m\u1ED9t c\u00E1ch kh\u00F4ng r\u00F5 r\u00E0ng", + EnvBadEnd: "\\begin{%1} k\u1EBFt th\u00FAc v\u1EDBi \\end{%2}", + EnvMissingEnd: "Thi\u1EBFu \\end{%1}", + MissingBoxFor: "Thi\u1EBFu h\u1ED9p cho %1", + MissingCloseBrace: "Thi\u1EBFu d\u1EA5u ngo\u1EB7c \u0111\u00F3ng", + MisplacedMiddle: "%1 ph\u1EA3i n\u1EB1m gi\u1EEFa \\left v\u00E0 \\right", + MisplacedLimits: "%1 ch\u1EC9 \u0111\u01B0\u1EE3c cho ph\u00E9p \u0111\u1ED1i v\u1EDBi ph\u00E9p to\u00E1n", + MultipleCommand: "Nhi\u1EC1u %1", + InvalidMathMLAttr: "Thu\u1ED9c t\u00EDnh MathML kh\u00F4ng h\u1EE3p l\u1EC7: %1", + UnknownAttrForElement: "%1 kh\u00F4ng \u0111\u01B0\u1EE3c c\u00F4ng nh\u1EADn l\u00E0 thu\u1ED9c t\u00EDnh cho %2", + MissingArgFor: "Thi\u1EBFu \u0111\u1ED1i s\u1ED1 cho %1", + InvalidEnv: "T\u00EAn m\u00F4i tr\u01B0\u1EDDng \u201C%1\u201D kh\u00F4ng h\u1EE3p l\u1EC7", + UnknownEnv: "M\u00F4i tr\u01B0\u1EDDng kh\u00F4ng r\u00F5 \u201C%1\u201D", + TokenNotFoundForCommand: "Kh\u00F4ng t\u00ECm th\u1EA5y %1 cho %2", + CommandNotAllowedInEnv: "Kh\u00F4ng cho ph\u00E9p %1 trong m\u00F4i tr\u01B0\u1EDDng %2", + MultipleLabel: "Nh\u00E3n \u201C%1\u201D \u0111\u01B0\u1EE3c \u0111\u1ECBnh r\u00F5 nhi\u1EC1u l\u1EA7n", + CommandAtTheBeginingOfLine: "%1 ph\u1EA3i n\u1EB1m v\u00E0o \u0111\u1EA7u d\u00F2ng", + MultipleBBoxProperty: "%1 \u0111\u01B0\u1EE3c \u0111\u1ECBnh r\u00F5 hai l\u1EA7n trong %2", + InvalidDecimalNumber: "S\u1ED1 th\u1EADp ph\u00E2n kh\u00F4ng h\u1EE3p l\u1EC7", + InvalidNumber: "S\u1ED1 kh\u00F4ng h\u1EE3p l\u1EC7", + NoClosingChar: "Kh\u00F4ng t\u00ECm th\u1EA5y %1 \u0111\u00F3ng", + Misplaced: "\u0110\u00E3 \u0111\u1EB7t sai ch\u1ED7 %1", + UndefinedControlSequence: "Tr\u00ECnh t\u1EF1 ki\u1EC3m so\u00E1t kh\u00F4ng x\u00E1c \u0111\u1ECBnh %1", + DoubleExponent: "Ch\u1EC9 s\u1ED1 tr\u00EAn ch\u1EC9 s\u1ED1 tr\u00EAn: d\u00F9ng d\u1EA5u ngo\u1EB7c m\u00F3c \u0111\u1EC3 l\u00E0m r\u00F5", + DoubleSubscripts: "Ch\u1EC9 s\u1ED1 d\u01B0\u1EDBi ch\u1EC9 s\u1ED1 d\u01B0\u1EDBi: d\u00F9ng d\u1EA5u ngo\u1EB7c m\u00F3c \u0111\u1EC3 l\u00E0m r\u00F5", + DoubleExponentPrime: "D\u1EA5u ph\u1EA9y tr\u00EAn g\u00E2y ra ch\u1EC9 s\u1ED1 tr\u00EAn ch\u1EC9 s\u1ED1 tr\u00EAn: d\u00F9ng d\u1EA5u ngo\u1EB7c m\u00F3c \u0111\u1EC3 l\u00E0m r\u00F5", + CantUseHash1: "B\u1EA1n kh\u00F4ng th\u1EC3 s\u1EED d\u1EE5ng \u201Ck\u00FD t\u1EF1 tham bi\u1EBFn macro #\u201D trong ch\u1EBF \u0111\u1ED9 to\u00E1n", + MisplacedMoveRoot: "%1 ch\u1EC9 c\u00F3 th\u1EC3 xu\u1EA5t hi\u1EC7n trong ph\u00E9p c\u0103n", + IntegerArg: "\u0110\u1ED1i s\u1ED1 c\u1EE7a %1 ph\u1EA3i l\u00E0 s\u1ED1 nguy\u00EAn", + NotMathMLToken: "%1 kh\u00F4ng ph\u1EA3i l\u00E0 ph\u1EA7n t\u1EED d\u1EA5u hi\u1EC7u", + MaxMacroSub1: "\u0110\u00E3 v\u01B0\u1EE3t qu\u00E1 s\u1ED1 l\u1EA7n thay th\u1EBF macro t\u1ED1i \u0111a c\u1EE7a MathJax; c\u00F3 ph\u1EA3i g\u1ECDi macro \u0111\u1EC7 quy?", + MaxMacroSub2: "\u0110\u00E3 v\u01B0\u1EE3t qu\u00E1 s\u1ED1 l\u1EA7n thay th\u1EBF t\u1ED1i \u0111a c\u1EE7a MathJax; m\u00F4i tr\u01B0\u1EDDng LaTeX c\u00F3 ph\u1EA3i \u0111\u1EC7 quy?", + ExtraAlignTab: "Th\u1EBB c\u0103n ch\u1EC9nh d\u01B0 trong v\u0103n b\u1EA3n \\cases", + BracketMustBeDimension: "\u0110\u1ED1i s\u1ED1 trong d\u1EA5u ngo\u1EB7c c\u1EE7a %1 ph\u1EA3i l\u00E0 chi\u1EC1u", + ExtraCloseLooking: "D\u1EA5u \u0111\u00F3ng b\u1EA5t ng\u1EDD trong khi t\u00ECm ki\u1EBFm %1", + MissingCloseBracket: "Kh\u00F4ng t\u00ECm th\u1EA5y d\u1EA5u \u201C]\u201D \u0111\u00F3ng cho \u0111\u1ED1i s\u1ED1 c\u1EE7a %1", + MissingOrUnrecognizedDelim: "D\u1EA5u t\u00E1ch b\u1ECB thi\u1EBFu ho\u1EB7c kh\u00F4ng r\u00F5 cho %1", + MissingDimOrUnits: "Thi\u1EBFu chi\u1EC1u ho\u1EB7c \u0111\u01A1n v\u1ECB c\u1EE7a %1", + MathNotTerminated: "To\u00E1n kh\u00F4ng ch\u1EA5m d\u1EE9t trong h\u1ED9p v\u0103n b\u1EA3n", + IllegalMacroParam: "Tham chi\u1EBFu tham bi\u1EBFn macro kh\u00F4ng h\u1EE3p l\u1EC7", + MaxBufferSize: "\u0110\u00E3 v\u01B0\u1EE3t qu\u00E1 k\u00EDch th\u01B0\u1EDBc b\u1ED9 \u0111\u1EC7m n\u1ED9i b\u1ED9 c\u1EE7a MathJax; c\u00F3 ph\u1EA3i g\u1ECDi macro \u0111\u1EC7 quy?", + IllegalAlign: "\u0110\u00E3 x\u00E1c \u0111\u1ECBnh s\u1EF1 c\u0103n ch\u1EC9nh kh\u00F4ng h\u1EE3p l\u1EC7 trong %1", + BadMathStyleFor: "Ki\u1EC3u to\u00E1n h\u1ECFng v\u1EDBi %1", + PositiveIntegerArg: "\u0110\u1ED1i s\u1ED1 c\u1EE7a %1 ph\u1EA3i l\u00E0 s\u1ED1 nguy\u00EAn d\u01B0\u01A1ng", + ErroneousNestingEq: "C\u1EA5u tr\u00FAc \u0111\u1EB3ng th\u1EE9c b\u1ECB x\u1EBFp l\u1ED3ng sai l\u1EA7m", + MultlineRowsOneCol: "C\u00E1c h\u00E0ng trong m\u00F4i tr\u01B0\u1EDDng %1 ph\u1EA3i c\u00F3 \u0111\u00FAng m\u1ED9t c\u1ED9t", + InvalidBBoxProperty: "\u201C%1\u201D kh\u00F4ng tr\u00F4ng gi\u1ED1ng nh\u01B0 m\u00E0u, chi\u1EC1u l\u00F3t, ho\u1EB7c ki\u1EC3u", + ExtraEndMissingBegin: "D\u01B0 %1 ho\u1EB7c thi\u1EBFu \\begingroup", + GlobalNotFollowedBy: "%1 kh\u00F4ng c\u00F3 \\let, \\def, ho\u1EB7c \\newcommand ti\u1EBFp theo", + UndefinedColorModel: "M\u00F4 h\u00ECnh m\u00E0u \u201C%1\u201D kh\u00F4ng \u0111\u1ECBnh ngh\u0129a", + ModelArg1: "Gi\u00E1 tr\u1ECB m\u00E0u cho m\u00F4 h\u00ECnh %1 \u0111\u00F2i h\u1ECFi 3 s\u1ED1", + ModelArg2: "Gi\u00E1 tr\u1ECB m\u00E0u cho m\u00F4 h\u00ECnh %1 ph\u1EA3i \u1EDF gi\u1EEFa %2 v\u00E0 %3", + NewextarrowArg1: "\u0110\u1ED1i s\u1ED1 \u0111\u1EA7u ti\u00EAn c\u1EE7a %1 ph\u1EA3i l\u00E0 t\u00EAn tr\u00ECnh t\u1EF1 \u0111i\u1EC1u khi\u1EC3n", + NewextarrowArg2: "\u0110\u1ED1i s\u1ED1 th\u1EE9 hai c\u1EE7a %1 ph\u1EA3i l\u00E0 hai s\u1ED1 nguy\u00EAn ph\u00E2n t\u00E1ch b\u1EB1ng d\u1EA5u ph\u1EA9y", + NewextarrowArg3: "\u0110\u1ED1i s\u1ED1 th\u1EE9 ba c\u1EE7a %1 ph\u1EA3i l\u00E0 s\u1ED1 k\u00FD t\u1EF1 Unicode", + IllegalControlSequenceName: "T\u00EAn tr\u00ECnh t\u1EF1 \u0111i\u1EC1u khi\u1EC3n kh\u00F4ng h\u1EE3p l\u1EC7 cho %1", + IllegalParamNumber: "\u0110\u00E3 x\u00E1c \u0111\u1ECBnh s\u1ED1 tham bi\u1EBFn kh\u00F4ng h\u1EE3p l\u1EC7 cho %1", + MissingCS: "%1 ph\u1EA3i c\u00F3 tr\u00ECnh t\u1EF1 \u0111i\u1EC1u khi\u1EC3n ti\u1EBFp theo", + CantUseHash2: "\u0110\u00E3 s\u1EED d\u1EE5ng # m\u1ED9t c\u00E1ch kh\u00F4ng h\u1EE3p l\u1EC7 trong khu\u00F4n m\u1EABu c\u1EE7a %1", + SequentialParam: "Tham bi\u1EBFn c\u1EE7a %1 ph\u1EA3i \u0111\u01B0\u1EE3c \u0111\u00E1nh s\u1ED1 li\u00EAn t\u1EE5c", + MissingReplacementString: "Thi\u1EBFu chu\u1ED7i thay th\u1EBF khi \u0111\u1ECBnh ngh\u0129a %1", + MismatchUseDef: "\u0110\u00E3 s\u1EED d\u1EE5ng %1 m\u1ED9t c\u00E1ch kh\u00F4ng ph\u00F9 h\u1EE3p v\u1EDBi \u0111\u1ECBnh ngh\u0129a c\u1EE7a n\u00F3", + RunawayArgument: "\u0110\u1ED1i s\u1ED1 c\u1EE7a %1 kh\u00F4ng ng\u1EEBng?", + NoClosingDelim: "Kh\u00F4ng t\u00ECm th\u1EA5y d\u1EA5u k\u1EBFt th\u00FAc %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/vi.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/vi.js new file mode 100644 index 00000000..a73b9e79 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/vi.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/vi/vi.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi",null,{ + menuTitle: "Ti\u1EBFng Vi\u1EC7t", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u0111\u00E3 t\u00ECm th\u1EA5y m\u1ED9t cookie thi\u1EBFt l\u1EADp c\u1EE7a ng\u01B0\u1EDDi d\u00F9ng c\u00F3 m\u00E3 ngu\u1ED3n \u0111\u1EC3 ch\u1EA1y. B\u1EA1n c\u00F3 mu\u1ED1n ch\u1EA1y n\u00F3?\n\n(Khuy\u00EAn b\u1EA1n b\u1EA5m H\u1EE7y b\u1ECF tr\u1EEB khi b\u1EA1n l\u00E0 ng\u01B0\u1EDDi thi\u1EBFt l\u1EADp cookie.)", + MathProcessingError: "L\u1ED7i x\u1EED l\u00FD to\u00E1n", + MathError: "L\u1ED7i to\u00E1n", + LoadFile: "\u0110ang t\u1EA3i %1", + Loading: "\u0110ang t\u1EA3i", + LoadFailed: "Th\u1EA5t b\u1EA1i khi t\u1EA3i t\u1EADp tin: %1", + ProcessMath: "\u0110ang x\u1EED l\u00FD to\u00E1n: %1%%", + Processing: "\u0110ang x\u1EED l\u00FD", + TypesetMath: "\u0110ang x\u1EBFp ch\u1EEF to\u00E1n: %1%%", + Typesetting: "\u0110ang x\u1EBFp ch\u1EEF", + MathJaxNotSupported: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n kh\u00F4ng h\u1ED7 tr\u1EE3 MathJax", + ErrorTips: "M\u1EB9o v\u1EB7t g\u1EE1 l\u1ED7i: s\u1EED d\u1EE5ng %%1, ki\u1EC3m tra %%2 trong b\u1EA3ng \u0111i\u1EC1u khi\u1EC3n c\u1EE7a tr\u00ECnh duy\u1EC7t" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/vi.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/FontWarnings.js new file mode 100644 index 00000000..dcf692ba --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax\u4F7F\u7528\u57FA\u4E8EWeb\u7684\u5B57\u4F53\u6765\u663E\u793A\u6B64\u9875\u4E0A\u663E\u793A\u6570\u5B66\u76F8\u5173\u5185\u5BB9\u3002\u8FD9\u5C06\u82B1\u8D39\u8F83\u957F\u65F6\u95F4\u4E0B\u8F7D\uFF0C\u6240\u4EE5\u6211\u4EEC\u5F3A\u70C8\u5EFA\u8BAE\u60A8\u76F4\u63A5\u5728\u60A8\u7684\u64CD\u4F5C\u7CFB\u7EDF\u7684\u5B57\u4F53\u6587\u4EF6\u5939\u4E2D\u5B89\u88C5\u6570\u5B66\u7B26\u53F7\u5B57\u4F53\u4EE5\u4FBF\u7ACB\u523B\u663E\u793A\u3002", + imageFonts: "MathJax\u4F7F\u7528\u56FE\u50CF\u5B57\u4F53\u800C\u4E0D\u662F\u672C\u5730\u6216\u57FA\u4E8EWeb\u7684\u5B57\u4F53\u3002\u8FD9\u5C06\u6BD4\u5E73\u5E38\u663E\u793A\u66F4\u6162\uFF0C\u4E14\u76F8\u5173\u6570\u5B66\u7B26\u53F7\u53EF\u80FD\u65E0\u6CD5\u5168\u606F\u7684\u88AB\u6253\u5370\u673A\u6253\u5370\u3002", + noFonts: "MathJax\u65E0\u6CD5\u5B9A\u4F4D\u60A8\u4F7F\u7528\u4E2D\u7684\u5B57\u4F53\u4EE5\u663E\u793A\u6570\u5B66\u7B26\u53F7\uFF0C\u56FE\u50CF\u5B57\u4F53\u4EA6\u65E0\u6CD5\u4F7F\u7528\uFF0C\u6240\u4EE5\u6211\u4EEC\u4E0D\u5F97\u4E0D\u8C03\u7528Unicode\u5B57\u7B26\u4EE5\u663E\u793A\u4E4B\u3002\u67D0\u4E9B\u5B57\u7B26\u5C06\u65E0\u6CD5\u6B63\u786E\u663E\u793A\uFF0C\u4E43\u81F3\u5F7B\u5E95\u65E0\u6CD5\u663E\u793A\u3002", + webFonts: "\u73B0\u65F6\u5927\u591A\u6570\u6D4F\u89C8\u5668\u5141\u8BB8\u901A\u8FC7\u4E92\u8054\u7F51\u4E0B\u8F7D\u5B57\u4F53\u3002\u66F4\u65B0\u60A8\u7684\u6D4F\u89C8\u5668\u81F3\u6700\u65B0\u7248\u672C\uFF08\u6216\u8005\u5E72\u8106\u66F4\u6362\u6D4F\u89C8\u5668\uFF09\u4EE5\u4FBF\u5728\u6B64\u9875\u9762\u63D0\u9AD8\u6570\u5B66\u7B26\u53F7\u7684\u663E\u793A\u8D28\u91CF\u3002", + fonts: "MathJax\u53EF\u4F7F\u7528[STIX fonts](%1)\u6216\u8005[MathJax TeX fonts](%2)\u3002\u4E0B\u8F7D\u5E76\u5B89\u88C5\u8FD9\u4E9B\u5B57\u4F53\u4EE5\u6539\u5584\u60A8\u7684MathJax\u4F53\u9A8C\u3002", + STIXPage: "\u6B64\u9875\u9762\u88AB\u8BBE\u8BA1\u4E3A\u4F7F\u7528[STIX fonts](%1)\u3002\u4E0B\u8F7D\u5E76\u5B89\u88C5\u5B83\u4EE5\u589E\u52A0\u60A8\u7684MathJax\u4F53\u9A8C\u3002", + TeXPage: "\u6B64\u9875\u9762\u88AB\u8BBE\u8BA1\u4E3A\u4F7F\u7528[MathJax TeX fonts](%1)\u3002\u4E0B\u8F7D\u5E76\u5B89\u88C5\u5B83\u4EE5\u589E\u52A0\u60A8\u7684MathJax\u4F53\u9A8C\u3002" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HTML-CSS.js new file mode 100644 index 00000000..9f10f5da --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u52A0\u8F7Dweb\u5B57\u4F53%1", + CantLoadWebFont: "Web\u5B57\u4F53%1\u65E0\u6CD5\u52A0\u8F7D", + FirefoxCantLoadWebFont: "\u60A8\u5728\u4F7F\u7528\u706B\u72D0\u6D4F\u89C8\u5668\uFF0C\u5979\u4E0D\u652F\u6301\u4ECE\u8FDC\u7A0B\u4E3B\u673A\u4E0B\u8F7D\u4EFB\u4F55web\u5B57\u4F53", + CantFindFontUsing: "\u65E0\u6CD5\u627E\u5230\u4F7F\u7528%1\u7684\u6709\u6548\u5B57\u4F53", + WebFontsNotAvailable: "Web\u5B57\u4F53\u4E0D\u77E5\u4E3A\u4F55\u65E0\u6CD5\u4F7F\u7528\uFF1F\uFF01\u2014\u2014\u6211\u4EEC\u5C06\u4E3A\u9601\u4E0B\u8F6C\u6362\u4E3A\u56FE\u7247\u5B57\u4F53" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HelpDialog.js new file mode 100644 index 00000000..25285410 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax\u5E2E\u52A9", + MathJax: "*MathJax*\u662F\u4E00\u79CD\u8BA9\u7F51\u9875\u5236\u4F5C\u8005\u5F80\u7F51\u9875\u4E2D\u52A0\u5165\u6570\u5B66\u5F0F\u7684JavaScript\u8FD0\u884C\u5E93\u3002\u4F5C\u4E3A\u8BFB\u8005\uFF0C\u60A8\u4E0D\u9700\u8981\u505A\u4EFB\u4F55\u4F7F\u5176\u51FA\u73B0\u7684\u4E8B\u60C5\u3002", + Browsers: "*\u6D4F\u89C8\u5668*\uFF1AMathJax\u53EF\u4EE5\u5728\u6240\u6709\u8F83\u65B0\u6D4F\u89C8\u5668\u4E0A\u5DE5\u4F5C\uFF0C\u5305\u62ECIE6+\u3001Firefox 3+\u3001Chrome 0.2+\u3001Safari 2+\u3001Opera 9.6+\u548C\u5927\u591A\u6570\u79FB\u52A8\u6D4F\u89C8\u5668\u3002", + Menu: "*\u6570\u5F0F\u83DC\u5355*\uFF1AMathJax\u7ED9\u6570\u5F0F\u6DFB\u52A0\u4E86\u5FEB\u6377\u83DC\u5355\u3002\u53F3\u952E\u6216\u6309Ctrl\u7136\u540E\u70B9\u51FB\u4EFB\u4F55\u6570\u5F0F\u5373\u53EF\u8FDB\u5165\u83DC\u5355\u3002", + ShowMath: "*\u6570\u5F0F\u663E\u793A\u5F62\u5F0F*\u5141\u8BB8\u60A8\u6D4F\u89C8\u516C\u5F0F\u7684\u6E90\u4EE3\u7801\u4EE5\u4FBF\u590D\u5236\u7C98\u8D34\uFF08\u4EE5\u539F\u59CB\u5F62\u5F0F\u6216MathML\uFF09\u3002", + Settings: "*\u6570\u5B66\u8BBE\u7F6E*\u91CC\u60A8\u60A8\u53EF\u4EE5\u8C03\u6574MathJax\u7684\u5404\u79CD\u529F\u80FD\uFF0C\u6BD4\u5982\u8BF4\u6570\u5F0F\u7684\u5927\u5C0F\uFF0C\u548C\u663E\u793A\u7B49\u5F0F\u7684\u673A\u7406\u3002", + Language: "*\u8BED\u8A00*\u7ED9\u60A8\u9009\u62E9MathJax\u7528\u4F5C\u83DC\u5355\u548C\u8B66\u544A\u4FE1\u606F\u7684\u8BED\u8A00\u3002", + Zoom: "*\u6570\u5F0F\u7F29\u653E*\uFF1A\u5982\u679C\u60A8\u6D4F\u89C8\u7B49\u5F0F\u65F6\u9047\u5230\u56F0\u96BE\uFF0CMathJax\u53EF\u4EE5\u5C06\u5176\u653E\u5927\u6765\u4F7F\u60A8\u83B7\u5F97\u66F4\u597D\u7684\u4F53\u9A8C\u3002", + Accessibilty: "*\u8F85\u52A9\u529F\u80FD*\uFF1AMathJax\u4F1A\u81EA\u52A8\u4E0E\u8BBF\u95EE\u8005\u4EA4\u4E92\u4F7F\u89C6\u89C9\u969C\u788D\u8005\u7406\u89E3\u6570\u5F0F\u66F4\u52A0\u5BB9\u6613\u3002", + Fonts: "*\u5B57\u4F53*\uFF1AMathJax\u5C06\u4F1A\u4F7F\u7528\u60A8\u7535\u8111\u4E0A\u5B89\u88C5\u7684\u67D0\u4E9B\u6570\u5F0F\u5B57\u4F53\u6765\u663E\u793A\u6570\u5F0F\uFF1B\u5982\u679C\u6CA1\u6709\u5B89\u88C5\u7684\u8BDD\uFF0C\u5B83\u5C06\u4F7F\u7528\u7F51\u7EDC\u4E0A\u7684\u5B57\u4F53\u3002\u867D\u7136\u5E76\u975E\u5FC5\u8981\uFF0C\u4F46\u662F\u5C06\u8FD9\u4E9B\u5B57\u4F53\u5B89\u88C5\u5230\u672C\u5730\u80FD\u52A0\u901F\u6570\u5F0F\u7684\u663E\u793A\u3002\u6211\u4EEC\u5EFA\u8BAE\u60A8\u5B89\u88C5[STIX fonts](%1)\u3002", + CloseDialog: "\u5173\u95ED\u5E2E\u52A9\u5BF9\u8BDD" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathML.js new file mode 100644 index 00000000..d463da76 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u9519\u8BEF\u7684\u79FB\u52A8\u5B57\u5F62\uFF1A%1", + BadMglyphFont: "\u9519\u8BEF\u5B57\u4F53\uFF1A%1", + MathPlayer: "MathJax\u65E0\u6CD5\u542F\u7528MathPlayer\u3002\n\n\u5982\u679C\u8FD8\u6CA1\u6709\u5B89\u88C5MathPlayer\uFF0C\u60A8\u5FC5\u987B\u5148\u5B89\u88C5MathPlayer\u3002\u5982\u679C\u60A8\u7684\u5B89\u5168\u8BBE\u7F6E\u6709\u53EF\u80FD\u4F1A\u963B\u6B62ActiveX\u7684\u8FD0\u884C\uFF0C\u8BF7\u5728\u5DE5\u5177\u83DC\u5355\u4E0B\u7684Internet \u9009\u9879\u4E2D\u9009\u62E9\u5B89\u5168\u6807\u7B7E\u7136\u540E\u70B9\u51FB\u81EA\u5B9A\u4E49\u7EA7\u522B\uFF0C\u68C0\u67E5\u201C\u4E8C\u8FDB\u5236\u6587\u4EF6\u548C\u811A\u672C\u884C\u4E3A\u201D\u548C\u201C\u8FD0\u884C ActiveX \u63A7\u4EF6\u201D\u662F\u5426\u5DF2\u542F\u7528\u3002\n\n\u76EE\u524D\u60A8\u770B\u5230\u7684\u53EA\u80FD\u662F\u9519\u8BEF\u4FE1\u606F\u800C\u975E\u6392\u7248\u6570\u5F0F\u3002", + CantCreateXMLParser: "MathJax\u65E0\u6CD5\u4E3AMathML\u521B\u5EFAXML\u89E3\u6790\u5668\u3002\u8BF7\u68C0\u67E5\u5B89\u5168\u8BBE\u7F6E\n\u201C\u5BF9\u6807\u8BB0\u4E3A\u53EF\u5B89\u5168\u6267\u884C\u811A\u672C\u7684 Active \u63A7\u4EF6\u6267\u884C\u811A\u672C\u201D\n\u662F\u5426\u5DF2\u5F00\u542F\uFF08\u5728\u5DE5\u5177\u4E2D\u5F00\u542FInternet \u9009\u9879\u7136\u540E\u9009\u62E9\u5B89\u5168\n\u9762\u677F\uFF0C\u70B9\u81EA\u5B9A\u4E49\u7EA7\u522B\u6309\u94AE\u627E\u5230\u8FD9\u4E2A\u9009\u9879\u5E76\u5F00\u542F\uFF09\u3002\n\nMathJax\u5C06\u65E0\u6CD5\u5904\u7406MathML\u7B49\u5F0F", + UnknownNodeType: "\u672A\u77E5\u7684\u8282\u70B9\u7C7B\u578B\uFF1A%1", + UnexpectedTextNode: "\u610F\u5916\u7684\u6587\u672C\u8282\u70B9\uFF1A%1", + ErrorParsingMathML: "\u89E3\u6790MathML\u65F6\u51FA\u9519", + ParsingError: "\u89E3\u6790MathML\u65F6\u51FA\u9519\uFF1A%1", + MathMLSingleElement: "MathML\u5FC5\u987B\u7528\u5355\u4E2A\u5143\u7D20\u5EFA\u7ACB", + MathMLRootElement: "MathML\u5FC5\u987B\u7528\u003Cmath\u003E\u5143\u7D20\u5EFA\u7ACB\uFF0C\u800C\u4E0D\u662F%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathMenu.js new file mode 100644 index 00000000..98d437f5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u6570\u5F0F\u663E\u793A\u5F62\u5F0F", + MathMLcode: "MathML\u4EE3\u7801", + OriginalMathML: "\u539F\u59CB\u7684MathML", + TeXCommands: "TeX\u547D\u4EE4", + AsciiMathInput: "AsciiMathML\u8F93\u5165", + Original: "\u539F\u59CB\u683C\u5F0F", + ErrorMessage: "\u9519\u8BEF\u4FE1\u606F", + Annotation: "\u6CE8\u91CA", + TeX: "TeX", + StarMath: "StarMath", + Maple: "\u67AB\u53F6", + ContentMathML: "MathML\u5185\u5BB9", + OpenMath: "OpenMath", + texHints: "\u5728MathML\u4E2D\u663E\u793ATeX\u63D0\u793A", + Settings: "\u6570\u5B66\u8BBE\u7F6E", + ZoomTrigger: "\u7F29\u653E\u89E6\u53D1", + Hover: "\u6307\u9488\u60AC\u505C", + Click: "\u70B9\u51FB", + DoubleClick: "\u53CC\u51FB", + NoZoom: "\u5E76\u65E0\u7F29\u653E", + TriggerRequires: "\u89E6\u53D1\u9700\u8981\uFF1A", + Option: "\u9009\u9879", + Alt: "Alt\u952E", + Command: "Command\u952E", + Control: "Ctrl\u952E", + Shift: "Shift\u952E", + ZoomFactor: "\u53D8\u7126\u500D\u7387", + Renderer: "\u6570\u5B66\u6E32\u67D3", + MPHandles: "\u5141\u8BB8MathPlayer\u5904\u7406\uFF1A", + MenuEvents: "\u83DC\u5355\u4E8B\u4EF6", + MouseEvents: "\u9F20\u6807\u4E8B\u4EF6", + MenuAndMouse: "\u9F20\u6807\u548C\u83DC\u5355\u4E8B\u4EF6", + FontPrefs: "\u5B57\u4F53\u8BBE\u7F6E", + ForHTMLCSS: "\u7528\u4E8EHTML-CSS\uFF1A", + Auto: "\u81EA\u52A8", + TeXLocal: "TeX\uFF08\u672C\u5730\uFF09", + TeXWeb: "TeX\uFF08\u7F51\u9875\uFF09", + TeXImage: "TeX\uFF08\u56FE\u7247\uFF09", + STIXLocal: "STIX\uFF08\u672C\u5730\uFF09", + STIXWeb: "STIX\uFF08web\uFF09", + LatinModernWeb: "\u62C9\u4E01\u6469\u767B\uFF08web\uFF09", + ContextMenu: "\u4E0A\u4E0B\u6587\u83DC\u5355", + Browser: "\u6D4F\u89C8\u5668", + Scale: "\u7F29\u653E\u6240\u6709\u6570\u5B66...", + Discoverable: "\u60AC\u505C\u4EAE\u70B9", + Locale: "\u8BED\u8A00", + LoadLocale: "\u4ECEURL\u8F7D\u5165...", + About: "\u5173\u4E8EMathJax", + Help: "MathJax\u5E2E\u52A9", + localTeXfonts: "\u4F7F\u7528\u672C\u5730TeX\u5B57\u4F53", + webTeXfonts: "\u4F7F\u7528\u7F51\u9875TeX\u5B57\u4F53", + imagefonts: "\u56FE\u50CF\u5B57\u4F53\u4F7F\u7528\u4E2D", + localSTIXfonts: "\u4F7F\u7528\u672C\u5730STIX\u5B57\u4F53", + webSVGfonts: "\u4F7F\u7528\u7F51\u9875SVG\u5B57\u4F53", + genericfonts: "\u4F7F\u7528\u901A\u7528Unicode\u5B57\u4F53", + wofforotffonts: "woff\u6216otf\u5B57\u4F53", + eotffonts: "eot\u5B57\u4F53", + svgfonts: "svg\u5B57\u4F53", + WebkitNativeMMLWarning: "\u60A8\u7684\u6D4F\u89C8\u5668\u636E\u4FE1\u65E0\u6CD5\u652F\u6301MathML\u672C\u8EAB\uFF0C\u56E0\u6B64\u5207\u6362\u5230MathML\u8F93\u51FA\u5C06\u53EF\u80FD\u5BFC\u81F4\u9875\u9762\u4E0A\u7684\u6570\u5B66\u516C\u5F0F\u4E0D\u53EF\u8BFB\u3002", + MSIENativeMMLWarning: "Internet Explorer\u9700\u8981MathPlayer\u63D2\u4EF6\u6765\u5904\u7406MathML\u8F93\u51FA\u3002", + OperaNativeMMLWarning: "Opera\u5BF9MathML\u7684\u652F\u6301\u5341\u5206\u6709\u9650\uFF0C\u56E0\u6B64\u8F6C\u6362\u81F3MathML\u8F93\u51FA\u53EF\u80FD\u4F1A\u5BFC\u81F4\u4E00\u4E9B\u8868\u8FBE\u5F0F\u65E0\u6CD5\u6B63\u5E38\u6E32\u67D3\u3002", + SafariNativeMMLWarning: "\u60A8\u7684\u6D4F\u89C8\u5668\u7684MathML\u4E0D\u652F\u6301\u6240\u6709MathJax\u7684\u529F\u80FD\uFF0C\u6709\u4E9B\u8868\u8FBE\u5F0F\u53EF\u80FD\u65E0\u6CD5\u6B63\u5E38\u5448\u73B0\u3002", + FirefoxNativeMMLWarning: "\u60A8\u7684\u6D4F\u89C8\u5668\u7684MathML\u4E0D\u652F\u6301\u6240\u6709MathJax\u7684\u529F\u80FD\uFF0C\u6709\u4E9B\u8868\u8FBE\u5F0F\u53EF\u80FD\u65E0\u6CD5\u6B63\u5E38\u5448\u73B0\u3002", + LoadURL: "\u4ECE\u6B64URL\u52A0\u8F7D\u7FFB\u8BD1\u6570\u636E\uFF1A", + BadURL: "URL\u5FC5\u987B\u94FE\u81F3\u5B9A\u4E49MathJax\u7FFB\u8BD1\u6570\u636E\u7684JavaScript\u6587\u4EF6\u3002JavaScript\u7684\u6587\u4EF6\u540D\u5E94\u4EE5\u201C.js\u201D\u7ED3\u5C3E", + BadData: "\u4ECE%1\u52A0\u8F7D\u7FFB\u8BD1\u6570\u636E\u5931\u8D25", + SwitchAnyway: "\u4E00\u5B9A\u8981\u66F4\u6539\u6E32\u67D3\u5668\uFF1F\n\n\uFF08\u70B9OK\u66F4\u6539\uFF0C\u70B9\u53D6\u6D88\u5373\u4EE5\u5F53\u524D\u6E32\u67D3\u5668\u7EE7\u7EED\uFF09", + ScaleMath: "\u6570\u5F0F\u7F29\u653E\u767E\u5206\u6BD4\uFF08\u5BF9\u6BD4\u4E8E\u65C1\u8FB9\u7684\u6587\u5B57\uFF09", + NonZeroScale: "\u500D\u7387\u4E0D\u5E94\u4E3A\u96F6", + PercentScale: "\u500D\u7387\u5E94\u8BE5\u662F\u4E00\u4E2A\u767E\u5206\u6BD4 \uFF08\u4F8B\u5982120%%\uFF09", + IE8warning: "\u8FD9\u5C06\u5173\u95EDMathJax\u83DC\u5355\u4E0E\u7F29\u653E\u529F\u80FD\uFF0C\u4F46\u60A8\u53EF\u4EE5\u70B9\u51FBAlt-Click\u6216\u70B9\u51FB\u4E00\u4E2A\u8868\u8FBE\u5F0F\u6765\u8FDB\u5165MathJax\u83DC\u5355\u3002\n\n\u786E\u5B9E\u8981\u66F4\u6539MathPlayer\u8BBE\u7F6E\u5417\uFF1F", + IE9warning: "MathJax\u5FEB\u6377\u83DC\u5355\u5C06\u5173\u95ED\uFF0C\u4F46\u60A8\u53EF\u4EE5\u6309Alt\u5E76\u70B9\u51FB\u8868\u8FBE\u5F0F\u6765\u547C\u51FA\u83DC\u5355\u3002", + NoOriginalForm: "\u6CA1\u6709\u53EF\u7528\u7684\u539F\u59CB\u5F62\u5F0F", + Close: "\u5173\u95ED", + EqSource: "MathJax \u65B9\u7A0B\u6E90", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + NeoEulerWeb: "Neo Euler (web)", + MSIESVGWarning: "SVG\u5728 IE9 \u4E4B\u524D\u7684 Internet Explorer \u6216\u4F7F\u7528 IE8 \u53CA\u4EE5\u4E0B\u67B6\u6784\u7684\u6D4F\u89C8\u5668\u4E2D\u4E0D\u6267\u884C\u3002\u8F6C\u6362SVG\u8F93\u51FA\u5C06\u5BFC\u81F4\u6570\u5B66\u516C\u5F0F\u4E0D\u80FD\u6B63\u5E38\u663E\u793A\u3002", + CloseAboutDialog: "\u5173\u95ED\u6709\u5173MathJax\u5BF9\u8BDD", + FastPreview: "\u5FEB\u901F\u9884\u89C8", + AssistiveMML: "\u8F85\u52A9MathML", + InTabOrder: "\u5305\u542B\u5728\u6807\u7B7E\u987A\u5E8F\u4E2D" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/TeX.js new file mode 100644 index 00000000..0b5b3d52 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u6709\u591A\u4F59\u7684\u5DE6\u62EC\u53F7\u6216\u7F3A\u5C11\u53F3\u62EC\u53F7", + ExtraCloseMissingOpen: "\u6709\u591A\u4F59\u7684\u53F3\u62EC\u53F7\u6216\u7F3A\u5C11\u5DE6\u62EC\u53F7", + MissingLeftExtraRight: "\u4E22\u5931\\left\u6216\u989D\u5916\u51FA\u73B0\\right", + MissingScript: "\u6709\u4E0A\u6807\u6216\u4E0B\u6807\u7F3A\u5C11\u53C2\u6570", + ExtraLeftMissingRight: "\u989D\u5916\u7684\\left\u6216\u8005\u4E22\u5931\\right", + Misplaced: "%1\u88AB\u653E\u7F6E\u4E8E\u9519\u8BEF\u7684\u5730\u65B9", + MissingOpenForSub: "\u7F3A\u5C11\u4E0B\u6807\u7684\u5DE6\u62EC\u53F7", + MissingOpenForSup: "\u7F3A\u5C11\u4E0A\u6807\u7684\u5DE6\u62EC\u53F7", + AmbiguousUseOf: "%1\u7684\u4F7F\u7528\u4E0D\u660E\u786E", + EnvBadEnd: "\\begin{%1}\u7531\\end{%2}\u7ED3\u675F\u4E4B", + EnvMissingEnd: "\\end{%1}\u4E22\u5931", + MissingBoxFor: "\u7F3A\u5C11\u7528\u4E8E%1\u7684\u6846", + MissingCloseBrace: "\u7F3A\u5C11\u53F3\u62EC\u53F7", + UndefinedControlSequence: "\u672A\u5B9A\u4E49\u7684\u63A7\u5236\u6570\u5217%1", + DoubleExponent: "\u4E24\u4E2A\u6307\u6570\uFF1A\u4F7F\u7528\u5927\u62EC\u53F7\u6765\u6F84\u6E05", + DoubleSubscripts: "\u53CC\u4E0B\u6807\uFF1A\u4F7F\u7528\u62EC\u53F7\u6765\u660E\u786E", + CantUseHash1: "\u60A8\u4E0D\u80FD\u5728\u6570\u5B66\u6A21\u5F0F\u4E2D\u4F7F\u7528\u201C\u5B8F\u53C2\u6570\u5B57\u7B26#\u201D", + MisplacedMiddle: "%1\u5FC5\u987B\u5728\\left\u548C\\right\u4E4B\u5185", + MisplacedLimits: "%1\u53EA\u5141\u8BB8\u5728\u8FD0\u7B97\u7B26\u4E0A", + MisplacedMoveRoot: "%1\u53EA\u80FD\u5728\u6839\u4E2D\u51FA\u73B0", + MultipleCommand: "\u591A\u79CD%1", + IntegerArg: "\u53C2\u6570%1\u5FC5\u987B\u662F\u6574\u6570", + NotMathMLToken: "%1\u4E0D\u662F\u6743\u6807\u5143\u7D20", + InvalidMathMLAttr: "\u65E0\u6548MathML\u5C5E\u6027\uFF1A%1", + UnknownAttrForElement: "%1\u4E0D\u662F%2\u7684\u5DF2\u8BC6\u522B\u5C5E\u6027", + MaxMacroSub1: "\u8D85\u51FAMathJax\u6700\u5927\u5B8F\u66FF\u4EE3\u6B21\u6570\uFF1B\u5B58\u5728\u9012\u5F52\u7684\u5B8F\u8C03\u7528\uFF1F", + MissingArgFor: "\u4E0E%1\u76F8\u5173\u7684\u53C2\u6570\u7F3A\u5931", + InvalidEnv: "\u65E0\u6548\u7684\u73AF\u5883\u540D\u79F0\u201C%1\u201D", + UnknownEnv: "\u672A\u77E5\u7684\u73AF\u5883\u53D8\u91CF'%1'", + MissingCloseBracket: "\u65E0\u6CD5\u627E\u5230%1\u7684\u53C2\u6570\u7684\u53F3\u201C]\u201D", + MissingOrUnrecognizedDelim: "\u627E\u4E0D\u5230\u6216\u65E0\u6CD5\u8BC6\u522B%1\u7684\u5206\u9694\u7B26", + MissingDimOrUnits: "\u7F3A\u5C11%1\u7684\u7EF4\u5EA6\u6216\u5176\u5355\u4F4D", + TokenNotFoundForCommand: "\u65E0\u6CD5\u627E\u5230\u7528\u4E8E%2\u7684%1", + MathNotTerminated: "\u6570\u5B66\u5F0F\u5728\u6587\u672C\u6846\u4E2D\u672A\u7ED3\u675F", + IllegalMacroParam: "\u975E\u6CD5\u5B8F\u53C2\u6570\u5F15\u7528", + MaxBufferSize: "MathJax\u5185\u90E8\u7F13\u51B2\u533A\u5927\u5C0F\u8D85\u9650\uFF1B\u5B58\u5728\u9012\u5F52\u7684\u5B8F\u8C03\u7528\uFF1F", + CommandNotAllowedInEnv: "%1\u5728%2\u73AF\u5883\u4E2D\u4E0D\u5141\u8BB8", + IllegalAlign: "\u6307\u5B9A\u7684\u5BF9\u9F50\u65B9\u5F0F%1\u4E0D\u7B26\u7F16\u8F91\u624B\u518C", + BadMathStyleFor: "%1\u7684\u6570\u5F0F\u6837\u5F0F\u65E0\u6548", + PositiveIntegerArg: "\u53C2\u6570%1\u5FC5\u987B\u662F\u6B63\u6574\u6570", + ErroneousNestingEq: "\u9519\u8BEF\u7684\u65B9\u7A0B\u5D4C\u5957\u7ED3\u6784", + MultipleBBoxProperty: "%1\u5728%2\u4E2D\u6307\u5B9A\u4E86\u4E24\u6B21", + ExtraEndMissingBegin: "\u6709\u591A\u4F59\u7684%1\u6216\u7F3A\u5C11\\begingroup", + UndefinedColorModel: "\u8272\u5F69\u6A21\u5757\u201C%1\u201D\u672A\u5B9A\u4E49", + ModelArg1: "%1\u6A21\u5757\u7684\u8272\u5F69\u503C\u9700\u8981\u4E09\u4E2A\u6570\u5B57", + InvalidDecimalNumber: "\u65E0\u6548\u5341\u8FDB\u5236\u6570", + ModelArg2: "%1\u6A21\u5757\u7684\u8272\u5F69\u503C\u5FC5\u987B\u5728%2\u548C%3\u4E4B\u95F4", + InvalidNumber: "\u4E0D\u5141\u8BB8\u7684\u6570\u5B57", + NewextarrowArg1: "%1\u7684\u7B2C\u4E00\u4E2A\u53C2\u6570\u5FC5\u987B\u662F\u4E00\u4E2A\u63A7\u5236\u6570\u5217\u540D\u79F0", + NewextarrowArg2: "%1\u7684\u7B2C\u4E8C\u4E2A\u53C2\u6570\u5FC5\u987B\u662F\u7531\u9017\u53F7\u5206\u5F00\u7684\u4E24\u4E2A\u6574\u6570", + NewextarrowArg3: "%1\u7684\u7B2C\u4E09\u4E2A\u53C2\u6570\u5FC5\u987B\u662FUnicode\u5B57\u7B26\u503C", + NoClosingChar: "\u672A\u80FD\u627E\u5230\u5173\u95ED\u7684%1", + IllegalControlSequenceName: "\u975E\u6CD5\u63A7\u5236\u5E8F\u5217\u540D\u79F0%1", + IllegalParamNumber: "%1\u6307\u5B9A\u7684\u53C2\u6570\u6570\u91CF\u975E\u6CD5", + MissingCS: "%1\u5FC5\u987B\u8DDF\u7740\u4E00\u4E2A\u63A7\u5236\u5E8F\u5217", + CantUseHash2: "%1\u7684\u6A21\u677F\u4E2D\u975E\u6CD5\u4F7F\u7528#", + SequentialParam: "%1\u7684\u53C2\u6570\u5FC5\u987B\u987A\u5E8F\u6807\u53F7", + MissingReplacementString: "%1\u7684\u5B9A\u4E49\u7F3A\u5C11\u66FF\u6362\u5B57\u7B26\u4E32", + MismatchUseDef: "%1\u7684\u4F7F\u7528\u4E0D\u7B26\u5408\u5176\u5B9A\u4E49", + NoClosingDelim: "\u65E0\u6CD5\u627E\u5230\u7528\u4E8E\u7ED3\u675F\u7684\u5206\u9694\u7B26%1", + MaxMacroSub2: "\u5DF2\u8D85\u51FAMathJax\u7684\u6700\u9AD8\u66FF\u4EE3\u6B21\u6570\uFF1B\u96BE\u9053\u5B58\u5728\u5FAA\u73AFLaTeX\u73AF\u5883\uFF1F", + MultipleLabel: "\u5DF2\u5B9A\u4E49\u6807\u7B7E\u201C%1\u201D\u4E58", + DoubleExponentPrime: "\u89D2\u5206\u7B26\u53F7\u5BFC\u81F4\u53CC\u91CD\u6307\u6570\uFF1A\u4F7F\u7528\u5927\u62EC\u53F7\u6F84\u6E05", + ExtraAlignTab: "\\cases \u6587\u672C\u4E2D\u6709\u989D\u5916\u7684\u53C2\u6570\u5236\u8868\u7B26", + BracketMustBeDimension: "%1\u7684\u62EC\u53F7\u53C2\u6570\u5FC5\u987B\u662F\u4E00\u4E2A\u5C3A\u5BF8", + ExtraCloseLooking: "\u5BFB\u627E %1 \u65F6\u53D1\u73B0\u4E00\u4E2A\u989D\u5916\u7684\u53F3\u5927\u62EC\u53F7", + CommandAtTheBeginingOfLine: "%1\u5FC5\u987B\u4F4D\u4E8E\u884C\u7684\u5F00\u5934", + MultlineRowsOneCol: "%1 \u73AF\u5883\u5185\u7684\u884C\u5FC5\u987B\u53EA\u6709\u4E00\u4E2A\u5217", + InvalidBBoxProperty: "\u201C%1\u201D\u597D\u50CF\u4E0D\u662F\u4E00\u4E2A\u989C\u8272\u3001\u586B\u5145\u5C3A\u5BF8\u6216\u6837\u5F0F", + GlobalNotFollowedBy: "%1\u4E0D\u88AB\\let\u3001\\def\u6216\\newcommand\u5141\u8BB8", + RunawayArgument: "%1\u7684\u53C2\u6570\u5931\u63A7\u4E86\u4E48\uFF1F" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/zh-hans.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/zh-hans.js new file mode 100644 index 00000000..b28193d0 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/zh-hans.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/zh-hans.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans",null,{ + menuTitle: "\u4E2D\u6587\uFF08\u7B80\u4F53\uFF09", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax\u5DF2\u627E\u5230\u7528\u6237\u914D\u7F6E\uFF0C\u5176\u4E2D\u5305\u542B\u8981\u8FD0\u884C\u4EE3\u7801\u6240\u4F9D\u8D56\u7684cookie\u3002\u60A8\u60F3\u8FD0\u884C\u5B83\u4E48\uFF1F\n\n\uFF08\u60A8\u5E94\u8BE5\u81EA\u884C\u6309\u53D6\u6D88\u9664\u975E\u60A8\u8BBE\u7F6E\u4E86\u81EA\u5DF1\u7684cookie\u3002\uFF09", + MathProcessingError: "\u6570\u5B66\u5904\u7406\u9519\u8BEF", + MathError: "\u6570\u5B66\u9519\u8BEF", + LoadFile: "%1\u52A0\u8F7D\u4E2D", + Loading: "\u52A0\u8F7D\u4E2D", + LoadFailed: "\u65E0\u6CD5\u52A0\u8F7D\u6587\u4EF6\uFF1A%1", + ProcessMath: "\u6570\u5B66\u5904\u7406\uFF1A%1%%", + Processing: "\u5904\u7406\u4E2D", + TypesetMath: "\u6392\u7248\u6570\u5B66\uFF1A%1%%", + Typesetting: "\u6392\u7248", + MathJaxNotSupported: "\u60A8\u7684\u6D4F\u89C8\u5668\u6682\u4E0D\u652F\u6301MathJax", + ErrorTips: "\u8C03\u8BD5\u63D0\u793A\uFF1A\u4F7F\u7528%%1\uFF0C\u5728\u6D4F\u89C8\u5668\u63A7\u5236\u53F0\u4E2D\u68C0\u67E5%%2" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/zh-hans.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/FontWarnings.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/FontWarnings.js new file mode 100644 index 00000000..e1d982c1 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax\u662F\u4F7F\u7528\u57FA\u65BC\u7DB2\u9801\u7684\u5B57\u578B\u4F86\u986F\u793A\u9801\u9762\u4E0A\u7684\u6578\u5B78\u76F8\u95DC\u5167\u5BB9\u3002\u56E0\u6B64\u6703\u82B1\u8CBB\u4E00\u4E9B\u6642\u9593\u4E0B\u8F09\u5B57\u578B\uFF0C\u82E5\u60F3\u8B93\u9801\u9762\u80FD\u8F03\u5FEB\u5448\u73FE\u51FA\u5167\u5BB9\uFF0C\u60A8\u53EF\u4EE5\u5C07\u6240\u4F7F\u7528\u5230\u7684\u6578\u5B78\u5B57\u578B\u4E0B\u8F09\u5B89\u88DD\u5230\u60A8\u96FB\u8166\u672C\u6A5F\u88E1\u7684\u7CFB\u7D71\u5B57\u578B\u8CC7\u6599\u593E\u3002", + imageFonts: "MathJax\u4F7F\u7528\u5716\u50CF\u5B57\u578B\u800C\u975E\u672C\u5730\u7AEF\u6216\u57FA\u65BC\u7DB2\u9801\u7684\u5B57\u578B\u3002\u8207\u4E00\u822C\u60C5\u6CC1\u76F8\u6BD4\u6703\u8F03\u6162\u5448\u73FE\u51FA\u5167\u5BB9\uFF0C\u800C\u6240\u5448\u73FE\u6578\u5B78\u516C\u5F0F\u5728\u60A8\u7684\u5370\u8868\u6A5F\u4E0A\u53EF\u80FD\u6C92\u8FA6\u6CD5\u5B8C\u6574\u8FA8\u8B58\u5730\u5370\u51FA\u3002", + noFonts: "\u56E0MathJax\u7121\u6CD5\u8A2D\u7F6E\u8981\u7528\u65BC\u986F\u793A\u6578\u5B78\u516C\u5F0F\u7684\u5B57\u578B\uFF0C\u800C\u4E14\u5716\u50CF\u5B57\u578B\u7121\u6CD5\u4F7F\u7528\uFF0C\u6240\u4EE5\u6539\u63A1\u901A\u7528\u842C\u570B\u78BC\u5B57\u5143\u4EE5\u5118\u91CF\u80FD\u8B93\u60A8\u7684\u700F\u89BD\u5668\u6B63\u78BA\u986F\u793A\u5167\u5BB9\u3002\u67D0\u4E9B\u3001\u6216\u751A\u81F3\u5168\u90E8\u5B57\u5143\u6709\u53EF\u80FD\u6703\u7121\u6CD5\u6B63\u78BA\u5730\u986F\u793A\u51FA\u3002", + webFonts: "\u73FE\u4ECA\u591A\u6578\u7684\u700F\u89BD\u5668\u5141\u8A31\u7D93\u7531\u7DB2\u969B\u7DB2\u8DEF\u4E0B\u8F09\u5B57\u578B\u3002\u5C07\u60A8\u7684\u700F\u89BD\u5668\u66F4\u65B0\u81F3\u6700\u65B0\u7248\u672C\uFF08\u6216\u662F\u66F4\u63DB\u700F\u89BD\u5668\uFF09\u4F86\u52A0\u5F37\u9801\u9762\u4E0A\u6578\u5B78\u516C\u5F0F\u7684\u986F\u793A\u8CEA\u611F\u3002", + fonts: "MathJax\u53EF\u4F7F\u7528[STIX fonts](%1)\u6216[MathJax TeX fonts](%2)\u3002\u4E0B\u8F09\u4F86\u5B89\u88DD\u9019\u4E9B\u5B57\u578B\u80FD\u6539\u5584\u60A8\u5728MathJax\u7684\u4F7F\u7528\u9AD4\u9A57\u3002", + STIXPage: "\u6B64\u9801\u9762\u662F\u8A2D\u8A08\u4F86\u4F7F\u7528[STIX fonts](%1)\u3002\u4E0B\u8F09\u5B89\u88DD\u6B64\u5B57\u578B\u4EE5\u6539\u5584\u60A8\u5728MathJax\u7684\u4F7F\u7528\u9AD4\u9A57\u3002", + TeXPage: "\u6B64\u9801\u9762\u662F\u8A2D\u8A08\u4F86\u4F7F\u7528[MathJax TeX fonts](%1)\u3002\u4E0B\u8F09\u5B89\u88DD\u6B64\u5B57\u578B\u4EE5\u6539\u5584\u60A8\u5728MathJax\u7684\u4F7F\u7528\u9AD4\u9A57\u3002" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HTML-CSS.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HTML-CSS.js new file mode 100644 index 00000000..4d6b1576 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u7DB2\u9801\u5B57\u578B%1\u8F09\u5165\u4E2D", + CantLoadWebFont: "\u7121\u6CD5\u8F09\u5165\u7DB2\u9801\u5B57\u578B%1", + FirefoxCantLoadWebFont: "Firefox\u700F\u89BD\u5668\u7121\u6CD5\u5F9E\u9060\u7AEF\u4E3B\u6A5F\u8F09\u5165\u7DB2\u9801\u5B57\u578B", + CantFindFontUsing: "\u7121\u6CD5\u627E\u5230\u4F7F\u7528%1\u7684\u6709\u6548\u5B57\u578B", + WebFontsNotAvailable: "\u7DB2\u9801\u5B57\u578B\u7121\u6CD5\u4F7F\u7528\u3002\u6539\u7528\u5716\u50CF\u5B57\u578B\u53D6\u4EE3" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HelpDialog.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HelpDialog.js new file mode 100644 index 00000000..cf291662 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax \u8AAA\u660E", + MathJax: "*MathJax*\u662F\u4E00\u500B\u80FD\u8B93\u7DB2\u9801\u958B\u767C\u8005\u5728\u4ED6\u5011\u7DB2\u9801\u88E1\u986F\u793A\u51FA\u6578\u5B78\u516C\u5F0F\u7684JavaScript\u51FD\u5F0F\u5EAB\u3002\n\u4F5C\u70BA\u7DB2\u9801\u7684\u700F\u89BD\u8005\uFF0C\u60A8\u4E0D\u9700\u8981\u57F7\u884C\u4EFB\u4F55\u52D5\u4F5C\u4FBF\u53EF\u89C0\u770B\u8A72\u6548\u679C\u3002", + Browsers: "*\u700F\u89BD\u5668*\uFF1A MathJax \u5728\u6240\u6709\u8F03\u65B0\u578B\u7684\u700F\u89BD\u5668\u4E0A\u7686\u53EF\u6B63\u5E38\u904B\u4F5C\uFF0C\u5305\u62ECIE6\u4EE5\u4E0A\u3001Firefox 3\u4EE5\u4E0A\u3001Chrome 0.2\u4EE5\u4E0A\u3001Safari 2\u4EE5\u4E0A\u3001\u548COpera 9.6\u4EE5\u4E0A\u7248\u672C\u4EE5\u53CA\u591A\u6578\u884C\u52D5\u88DD\u7F6E\u700F\u89BD\u5668\u3002", + Menu: "*\u6578\u5B78\u9078\u55AE*: MathJax\u5728\u65B9\u7A0B\u5F0F\u88E1\u6DFB\u52A0\u5FEB\u6377\u9078\u55AE\u3002\u5728\u4EFB\u4F55\u6578\u5B78\u516C\u5F0F\u88E1\u6309\u4E0B\u6ED1\u9F20\u53F3\u9375\u6216\u540C\u6642\u6309\u4E0BCtrl\u9375\u8207\u6ED1\u9F20\u5DE6\u9375\u5373\u53EF\u9032\u5165\u9078\u55AE\u3002", + ShowMath: "*\u986F\u793A\u6578\u5B78\u5F62\u5F0F* \u5141\u8A31\u60A8\u67E5\u770B\u516C\u5F0F\u7684\u539F\u59CB\u78BC\u67B6\u69CB\u4EE5\u4FBF\u65BC\u57F7\u884C\u8907\u88FD\u8CBC\u4E0A\u52D5\u4F5C\uFF08\u4EE5MathML\u6216\u539F\u59CB\u683C\u5F0F\uFF09\u3002", + Settings: "*\u6578\u5B78\u8A2D\u5B9A* \u80FD\u8B93\u60A8\u8ABF\u6574MathJax\u88E1\u7684\u529F\u80FD\uFF0C\u50CF\u662F\u6578\u5B78\u7B97\u5F0F\u7684\u5927\u5C0F\uFF0C\u548C\u986F\u793A\u516C\u5F0F\u65B9\u9762\u7684\u6A5F\u5236\u3002", + Language: "*\u8A9E\u8A00* \u8B93\u60A8\u9078\u64C7\u7D66MathJax\u5728\u9078\u55AE\u548C\u8B66\u544A\u8A0A\u606F\u4E0A\u4F7F\u7528\u7684\u8A9E\u8A00\u3002", + Zoom: "*\u6578\u5B78\u516C\u5F0F\u7E2E\u653E*\uFF1A \u5982\u679C\u60A8\u95B1\u8B80\u65B9\u7A0B\u5F0F\u6642\u89BA\u5F97\u770B\u4E0D\u6E05\u695A\uFF0CMathJax\u53EF\u4EE5\u5C07\u6B64\u653E\u5927\u8B93\u60A8\u80FD\u66F4\u65B9\u4FBF\u700F\u89BD\u3002", + Accessibilty: "*\u8F14\u52A9\u529F\u80FD*\uFF1A MathJax\u6703\u81EA\u884C\u8207\u87A2\u5E55\u95B1\u8B80\u5668\u904B\u4F5C\u8B93\u8996\u89BA\u969C\u7919\u8005\u89C0\u770B\u6578\u5B78\u516C\u5F0F\u6642\u80FD\u66F4\u52A0\u5BB9\u6613\u3002", + Fonts: "*\u5B57\u578B*\uFF1A\u82E5\u60A8\u96FB\u8166\u4E0A\u6709\u5B89\u88DD\u67D0\u4E9B\u7528\u65BC\u6578\u5B78\u516C\u5F0F\u7684\u5B57\u578BMathJax\u5C07\u6703\u4F7F\u7528\u6B64\uFF0C\u5426\u5247\u5C07\u6703\u4F7F\u7528\u57FA\u65BC\u7DB2\u9801\u7684\u5B57\u578B\u3002\u96D6\u7136\u4E26\u4E0D\u5F37\u5236\u8981\u6C42\uFF0C\u4F46\u672C\u5730\u7AEF\u4E0A\u82E5\u6709\u5B89\u88DD\u76F8\u95DC\u5B57\u578B\u53EF\u52A0\u5FEB\u9801\u9762\u7684\u6392\u7248\u901F\u5EA6\uFF0C\u800C\u6211\u5011\u5EFA\u8B70\u5B89\u88DD[STIX fonts](%1)\u3002", + CloseDialog: "\u95DC\u9589\u8AAA\u660E\u5C0D\u8A71\u6846" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathML.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathML.js new file mode 100644 index 00000000..a0b463b5 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u4E0D\u6B63\u78BA\u7684mglyph\uFF1A%1", + BadMglyphFont: "\u932F\u8AA4\u5B57\u578B\uFF1A%1", + MathPlayer: "MathJax\u6C92\u6709\u8FA6\u6CD5\u8A2D\u7F6EMathPlayer\u3002\n\n\u5982\u679CMathPlayer\u672A\u88AB\u5B89\u88DD\uFF0C\u60A8\u9700\u8981\u5148\u5B89\u88DD\u6B64\u5957\u4EF6\u3002\n\u5426\u5247\u60A8\u7684\u5B89\u5168\u8A2D\u7F6E\u5167\u5BB9\u53EF\u80FD\u6703\u963B\u7919ActiveX\u63A7\u5236\u65B9\u9762\u7684\u904B\u4F5C\u3002\u82E5\u662FIE\u700F\u89BD\u5668\u9EDE\u9078\u9078\u55AE\u88E1\u7684\u300C\u5DE5\u5177\u300D\u4E2D\u7684\u300C\u7DB2\u969B\u7DB2\u8DEF\u9078\u9805\u300D\u5F8C\u518D\u9078\u64C7\u300C\u5B89\u5168\u6027\u300D\uFF0C\u7136\u5F8C\u6309\u4E0B\u300C\u81EA\u8A02\u5C64\u7D1A\u300D\u6309\u9375\u3002\u6AA2\u67E5\u95DC\u65BC\u300C\u57F7\u884CActiveX\u63A7\u5236\u9805\u300D\u548C\u300C\u4E8C\u9032\u4F4D\u548C\u6307\u4EE4\u78BC\u884C\u70BA\u300D\u7684\u8A2D\u5B9A\u662F\u5426\u958B\u555F\u3002\n\n\u76EE\u524D\u60A8\u6240\u770B\u5230\u7684\u662F\u932F\u8AA4\u8A0A\u606F\u800C\u975E\u6578\u5B78\u516C\u5F0F\u6392\u7248\u554F\u984C", + CantCreateXMLParser: "MathJax\u7121\u6CD5\u5EFA\u7ACB\u4E00\u500B\u7528\u65BCMathML\u7684XML\u89E3\u6790\u3002\n\n\u6AA2\u67E5\u300C\u4EE5Script\u7A0B\u5F0F\u64CD\u63A7\u5B89\u5168\u6A19\u793A\u7684ActiveX \u63A7\u5236\u9805\u300D\u8A2D\u5B9A\u662F\u5426\u958B\u555F\uFF08\u82E5\u662FIE\u700F\u89BD\u5668\u9EDE\u9078\u9078\u55AE\u88E1\u7684\u300C\u5DE5\u5177\u300D\u4E2D\u7684\u300C\u7DB2\u969B\u7DB2\u8DEF\u9078\u9805\u300D\u5F8C\u518D\u9078\u64C7\u300C\u5B89\u5168\u6027\u300D\uFF0C\u7136\u5F8C\u6309\u4E0B\u300C\u81EA\u8A02\u5C64\u7D1A\u300D\u6309\u9375\u4F86\u627E\u5C0B\uFF09\u3002", + UnknownNodeType: "\u4E0D\u660E\u7684\u7BC0\u9EDE\u985E\u578B\uFF1A%1", + UnexpectedTextNode: "\u975E\u9810\u671F\u7684\u6587\u5B57\u7BC0\u9EDE\uFF1A%1", + ErrorParsingMathML: "\u89E3\u6790MathML\u51FA\u932F", + ParsingError: "\u89E3\u6790MathML\u51FA\u932F\uFF1A %1", + MathMLSingleElement: "MathML\u5FC5\u9808\u4EE5\u55AE\u4E00\u5143\u7D20\u69CB\u6210", + MathMLRootElement: "MathML\u5FC5\u9808\u7531\u003Cmath\u003E\u5143\u7D20\u69CB\u6210\uFF0C\u800C\u975E%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/MathML.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathMenu.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathMenu.js new file mode 100644 index 00000000..28699cf8 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u986F\u793A\u6578\u5B78\u5F62\u5F0F", + MathMLcode: "MathML\u4EE3\u78BC", + OriginalMathML: "\u539F\u59CBMathML", + TeXCommands: "TeX\u547D\u4EE4", + AsciiMathInput: "AsciiMathML\u8F38\u5165", + Original: "\u539F\u59CB\u683C\u5F0F", + ErrorMessage: "\u932F\u8AA4\u8A0A\u606F", + Annotation: "\u8A3B\u91CB", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML\u5167\u5BB9", + OpenMath: "OpenMath", + texHints: "\u5728MathML\u986F\u793ATeX\u63D0\u793A", + Settings: "\u6578\u5B78\u8A2D\u5B9A", + ZoomTrigger: "\u7E2E\u653E\u89F8\u767C", + Hover: "\u6E38\u6A19\u8986\u84CB", + Click: "\u9EDE\u9078", + DoubleClick: "\u96D9\u64CA", + NoZoom: "\u95DC\u9589\u7E2E\u653E", + TriggerRequires: "\u89F8\u767C\u9700\u6C42\uFF1A", + Option: "\u9078\u9805", + Alt: "Alt\u9375", + Command: "Command\u9375", + Control: "Ctrl\u9375", + Shift: "Shift\u9375", + ZoomFactor: "\u7E2E\u653E\u500D\u7387", + Renderer: "\u5448\u73FE\u6578\u5B78\u65B9\u5F0F", + MPHandles: "\u7531MathPlayer\u8655\u7406\uFF1A", + MenuEvents: "\u9078\u55AE\u4E8B\u4EF6", + MouseEvents: "\u6E38\u6A19\u4E8B\u4EF6", + MenuAndMouse: "\u6E38\u6A19\u8207\u9078\u55AE\u4E8B\u4EF6", + FontPrefs: "\u5B57\u578B\u504F\u597D\u8A2D\u5B9A", + ForHTMLCSS: "\u7528\u65BCHTML-CSS\uFF1A", + Auto: "\u81EA\u52D5", + TeXLocal: "Tex\uFF08\u672C\u5730\uFF09", + TeXWeb: "Tex\uFF08\u7DB2\u9801\uFF09", + TeXImage: "Tex\uFF08\u5716\u50CF\uFF09", + STIXLocal: "STIX\uFF08\u672C\u5730\uFF09", + STIXWeb: "STIX\uFF08\u7DB2\u9801\uFF09", + AsanaMathWeb: "Asana Math\uFF08\u7DB2\u9801\uFF09", + GyrePagellaWeb: "Gyre Pagella\uFF08\u7DB2\u9801\uFF09", + GyreTermesWeb: "Gyre Termes\uFF08\u7DB2\u9801\uFF09", + LatinModernWeb: "Latin Modern\uFF08\u7DB2\u9801\uFF09", + NeoEulerWeb: "Neo Euler\uFF08\u7DB2\u9801\uFF09", + ContextMenu: "\u4E0A\u4E0B\u6587\u9078\u55AE", + Browser: "\u700F\u89BD\u5668", + Scale: "\u7E2E\u653E\u6240\u6709\u6578\u5B78\u516C\u5F0F\u2027\u2027\u2027", + Discoverable: "\u5728\u6E38\u6A19\u8986\u84CB\u6642\u5F37\u8ABF\u5167\u5BB9", + Locale: "\u8A9E\u8A00", + LoadLocale: "\u5F9EURL\u8F09\u5165...", + About: "\u95DC\u65BCMathJax", + Help: "MathJax\u8AAA\u660E", + localTeXfonts: "\u4F7F\u7528\u672C\u5730TeX\u5B57\u578B", + webTeXfonts: "\u4F7F\u7528\u7DB2\u9801TeX\u5B57\u578B", + imagefonts: "\u4F7F\u7528\u5716\u50CF\u5B57\u578B", + localSTIXfonts: "\u4F7F\u7528\u672C\u5730STIX\u5B57\u578B", + webSVGfonts: "\u4F7F\u7528\u7DB2\u9801SVG\u5B57\u578B", + genericfonts: "\u4F7F\u7528\u901A\u7528\u842C\u570B\u78BC\u5B57\u578B", + wofforotffonts: "WOFF\u6216OTF\u5B57\u578B", + eotffonts: "EOT\u5B57\u578B", + svgfonts: "SVG\u5B57\u578B", + WebkitNativeMMLWarning: "\u60A8\u7684\u700F\u89BD\u5668\u4E0D\u652F\u63F4MathML natively\uFF0C\u56E0\u6B64\u5207\u63DB\u81F3MathML\u8F38\u51FA\u53EF\u80FD\u6703\u5C0E\u81F4\u9801\u9762\u4E0A\u7684\u6578\u5B78\u516C\u5F0F\u7121\u6CD5\u8B80\u53D6\u3002", + MSIENativeMMLWarning: "IE\u700F\u89BD\u5668\u9700\u8981MathPlayer\u5916\u639B\u624D\u80FD\u8655\u7406MathML\u8F38\u51FA\u5167\u5BB9\u3002", + OperaNativeMMLWarning: "Opera\u700F\u89BD\u5668\u5728\u5C0D\u65BC\u652F\u63F4MathML\u65B9\u9762\u6709\u9650\uFF0C\u6240\u4EE5\u8F49\u63DB\u81F3MathML\u8F38\u51FA\u4E5F\u8A31\u6703\u9020\u6210\u4E00\u4E9B\u8868\u9054\u5F0F\u4E0D\u80FD\u6B63\u78BA\u5448\u73FE\u3002", + SafariNativeMMLWarning: "\u60A8\u7684\u700F\u89BD\u5668\u9644\u52A0\u5143\u4EF6native MathML\u4E0D\u652F\u63F4\u6240\u6709MathJax\u529F\u80FD\uFF0C\u6240\u4EE5\u8868\u9054\u5F0F\u53EF\u80FD\u7121\u6CD5\u6B63\u5E38\u5448\u73FE\u3002", + FirefoxNativeMMLWarning: "\u60A8\u7684\u700F\u89BD\u5668\u9644\u52A0\u5143\u4EF6native MathML\u4E0D\u652F\u63F4\u6240\u6709MathJax\u529F\u80FD\uFF0C\u6240\u4EE5\u8868\u9054\u5F0F\u53EF\u80FD\u7121\u6CD5\u6B63\u5E38\u5448\u73FE\u3002", + MSIESVGWarning: "SVG\u5728IE9\u4E4B\u524D\u7248\u672C\u7684IE\u700F\u89BD\u5668\u3001\u6216\u8B93IE9\u6A21\u64ECIE8\u4EE5\u4E0B\u67B6\u69CB\u904B\u4F5C\u6642\uFF0C\u5728\u8F49\u63DB\u81F3SVG\u8F38\u51FA\u6703\u5C0E\u81F4\u6578\u5B78\u516C\u5F0F\u7121\u6CD5\u6B63\u5E38\u986F\u793A\u3002", + LoadURL: "\u5F9E\u6B64URL\u8F09\u5165\u8F49\u63DB\u8CC7\u6599\uFF1A", + BadURL: "URL\u61C9\u8A72\u662F\u500B\u5B9A\u7FA9MathJax\u8F49\u63DB\u8CC7\u6599\u7684JavaScript\u6A94\u6848\u3002JavaScript\u6A94\u6848\u540D\u7A31\u7D50\u5C3E\u61C9\u70BA\u300C.js\u300D\u3002", + BadData: "\u5F9E%1\u8F09\u5165\u8F49\u63DB\u8CC7\u6599\u51FA\u932F", + SwitchAnyway: "\u4E00\u5B9A\u8981\u5207\u63DB\u5448\u73FE\u65B9\u5F0F\uFF1F\n\n\uFF08\u9EDE\u64CAOK\u9032\u884C\u5207\u63DB\uFF0C\u9EDE\u64CA\u53D6\u6D88\u7E7C\u7E8C\u4EE5\u76EE\u524D\u65B9\u5F0F\u5448\u73FE\uFF09", + ScaleMath: "\u7E2E\u653E\u6240\u6709\u6578\u5B78\u516C\u5F0F\uFF08\u8207\u570D\u7E5E\u7684\u6587\u5B57\u505A\u5C0D\u6BD4\uFF09\u4F9D", + NonZeroScale: "\u6BD4\u4F8B\u4E0D\u61C9\u70BA\u96F6", + PercentScale: "\u6BD4\u4F8B\u61C9\u70BA\u767E\u5206\u6BD4\u683C\u5F0F\uFF08\u4F8B\u5982120%%\uFF09", + IE8warning: "\u9019\u5C07\u6703\u95DC\u9589MathJax\u9078\u55AE\u4EE5\u53CA\u7E2E\u653E\u529F\u80FD\uFF0C\u4F46\u60A8\u53EF\u4EE5\u5728\u67D0\u4E00\u8868\u9054\u5F0F\u4E0A\u540C\u6642\u6309\u4E0BAlt\u9375\u548C\u6ED1\u9F20\u5DE6\u9375\u4F86\u9032\u5165MathJax\u9078\u55AE\u3002\n\n\u78BA\u5B9A\u8981\u66F4\u6539MathPlayer\u8A2D\u5B9A\uFF1F", + IE9warning: "MathJax\u5FEB\u6377\u9078\u55AE\u5C07\u6703\u88AB\u505C\u7528\uFF0C\u4F46\u60A8\u53EF\u4EE5\u5728\u67D0\u500B\u8868\u9054\u5F0F\u4E0A\u540C\u6642\u6309\u4E0BAlt\u9375\u548C\u6ED1\u9F20\u5DE6\u9375\u4F86\u547C\u53EB\u9078\u55AE\u3002", + NoOriginalForm: "\u6C92\u6709\u53EF\u7528\u7684\u539F\u59CB\u683C\u5F0F", + Close: "\u95DC\u9589", + EqSource: "MathJax\u65B9\u7A0B\u5F0F\u4F86\u6E90", + CloseAboutDialog: "\u95DC\u9589\u95DC\u65BCMathJax\u5C0D\u8A71\u6846", + FastPreview: "\u5FEB\u901F\u9810\u89BD", + AssistiveMML: "\u8F14\u52A9MathML", + InTabOrder: "\u5305\u542B\u5728\u6A19\u7C64\u9806\u5E8F\u88E1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/MathMenu.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/TeX.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/TeX.js new file mode 100644 index 00000000..857d7564 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u591A\u9918\u7684\u5DE6\u62EC\u5F27\u6216\u7F3A\u5C11\u53F3\u62EC\u5F27", + ExtraCloseMissingOpen: "\u591A\u51FA\u7684\u53F3\u62EC\u865F\u6216\u907A\u5931\u5DE6\u62EC\u865F", + MissingLeftExtraRight: "\u907A\u5931 \\left \u6216\u591A\u9918 \\right", + MissingScript: "\u7F3A\u5C11\u4E0A\u6A19\u6216\u4E0B\u6A19\u53C3\u6578", + ExtraLeftMissingRight: "\u6709\u591A\u51FA\u4F86\u7684 \\left \u6216\u6C92\u88DC\u4E0A \\right", + Misplaced: "%1\u653E\u932F\u4F4D\u7F6E", + MissingOpenForSub: "\u7F3A\u5C11\u7528\u65BC\u4E0B\u6A19\u7684\u5DE6\u62EC\u865F", + MissingOpenForSup: "\u7F3A\u5C11\u7528\u65BC\u4E0A\u6A19\u7684\u5DE6\u62EC\u865F", + AmbiguousUseOf: "%1\u7684\u4F7F\u7528\u4E0D\u660E\u78BA", + EnvBadEnd: "\\begin{%1}\u4EE5\\end{%2}\u4F86\u7D50\u675F", + EnvMissingEnd: "\u7F3A\u5C11\\end{%1}", + MissingBoxFor: "\u7F3A\u5C11\u7528\u65BC%1\u7684\u6846", + MissingCloseBrace: "\u7F3A\u5C11\u53F3\u62EC\u865F", + UndefinedControlSequence: "\u672A\u5B9A\u7FA9\u7684\u63A7\u5236\u6578\u5217%1", + DoubleExponent: "\u51FA\u73FE\u5169\u500B\u6307\u6578\uFF1A\u4F7F\u7528\u5927\u62EC\u865F{}\u4F86\u5206\u6E05\u695A", + DoubleSubscripts: "\u51FA\u73FE\u5169\u500B\u5E95\u7DDA\uFF1A\u4F7F\u7528\u5927\u62EC\u865F{}\u4F86\u5206\u6E05\u695A", + DoubleExponentPrime: "\u89D2\u5206\u7B26\u865F\u5C0E\u81F4\u7522\u751F\u96D9\u91CD\u6307\u6578\uFF1A\u4F7F\u7528\u5927\u62EC\u865F\u4F86\u5340\u5206", + CantUseHash1: "\u5728\u6578\u5B78\u6A21\u5F0F\u88E1\u60A8\u4E0D\u80FD\u4F7F\u7528\u300C\u5DE8\u96C6\u53C3\u6578\u5B57\u5143 #\u300D", + MisplacedMiddle: "%1\u5FC5\u9808\u5728 \\left \u548C \\right \u4E4B\u9593", + MisplacedLimits: "%1\u50C5\u5141\u8A31\u7528\u5728\u904B\u7B97\u5F0F\u4E0A", + MisplacedMoveRoot: "%1\u50C5\u80FD\u5728\u5E36\u6709root\u5B57\u5143\u4E0B\u5448\u73FE", + MultipleCommand: "\u591A\u500B %1", + IntegerArg: "\u53C3\u6578%1\u5FC5\u9808\u662F\u500B\u6574\u6578", + NotMathMLToken: "%1\u4E0D\u662F\u4E00\u500B\u6A19\u793A\u5143\u7D20", + InvalidMathMLAttr: "\u7121\u6548MathML\u5C6C\u6027\uFF1A %1", + UnknownAttrForElement: "%1\u5728%2\u4E0D\u662F\u53EF\u8FA8\u8B58\u5C6C\u6027", + MaxMacroSub1: "\u8D85\u51FAMathJax\u5DE8\u96C6\u66FF\u4EE3\u6B21\u6578\u4E0A\u9650\uFF1B\u662F\u5426\u5B58\u5728\u905E\u8FF4\u5DE8\u96C6\u547C\u53EB\u5167\u5BB9\uFF1F", + MaxMacroSub2: "\u5DF2\u8D85\u51FAMathJax\u6700\u5927\u4EE3\u63DB\u6B21\u6578\uFF0C\u5728LaTeX\u74B0\u5883\u88E1\u662F\u5426\u5B58\u6709\u905E\u8FF4\u5167\u5BB9?", + MissingArgFor: "\u7F3A\u5C11\u7528\u65BC%1\u53C3\u6578", + ExtraAlignTab: "\u5728\\cases\u6587\u5B57\u5167\u5BB9\u88E1\u6709\u591A\u51FA\u7684\u5C0D\u61C9\u53C3\u6578", + BracketMustBeDimension: "\u7528\u65BC%1\u7684\u62EC\u865F\u53C3\u6578\u5FC5\u9808\u662F\u4E00\u500B\u7DAD\u5EA6", + InvalidEnv: "\u7121\u6548\u74B0\u5883\u540D\u7A31\u300C%1\u300D", + UnknownEnv: "\u4E0D\u660E\u74B0\u5883\u8B8A\u6578\u300C%1\u300D", + ExtraCloseLooking: "\u5728\u627E\u5C0B%1\u6642\u767C\u73FE\u6709\u591A\u51FA\u4F86\u7684\u53F3\u62EC\u865F", + MissingCloseBracket: "%1\u7684\u53C3\u6578\u7121\u6CD5\u627E\u5230\u53F3\u62EC\u865F\u300C]\u300D", + MissingOrUnrecognizedDelim: "\u7F3A\u5C11\u6216\u7121\u6CD5\u8FA8\u8B58\u7528\u65BC%1\u7684\u5206\u9694\u7B26\u865F", + MissingDimOrUnits: "\u7F3A\u5C11\u7528\u65BC%1\u7684\u7DAD\u5EA6\u6216\u55AE\u4F4D", + TokenNotFoundForCommand: "\u7121\u6CD5\u627E\u5230\u7528\u65BC%2\u7684%1", + MathNotTerminated: "\u6578\u5B78\u516C\u5F0F\u5728\u6587\u5B57\u6846\u88E1\u672A\u7D50\u675F", + IllegalMacroParam: "\u975E\u6CD5\u7684\u5DE8\u96C6\u53C3\u6578\u5F15\u7528", + MaxBufferSize: "\u8D85\u51FAMathJax\u5167\u90E8\u7DE9\u885D\u5927\u5C0F\uFF1B\u662F\u5426\u5B58\u5728\u905E\u8FF4\u5DE8\u96C6\u547C\u53EB\u5167\u5BB9\uFF1F", + CommandNotAllowedInEnv: "%1 \u4E0D\u88AB\u5141\u8A31\u5728 %2 \u74B0\u5883\u4E0B", + MultipleLabel: "\u6A19\u7C64\u300C%1\u300D\u88AB\u591A\u91CD\u5B9A\u7FA9", + CommandAtTheBeginingOfLine: "%1\u5FC5\u9808\u4F4D\u5728\u884C\u5217\u7684\u958B\u982D", + IllegalAlign: "\u5728%1\u6709\u4E0D\u6B63\u78BA\u6307\u5B9A\u8FA8\u8B58\u65B9\u5F0F", + BadMathStyleFor: "%1\u7684\u6578\u5B78\u8868\u793A\u5167\u5BB9\u932F\u8AA4", + PositiveIntegerArg: "\u53C3\u6578%1\u5FC5\u9808\u662F\u500B\u6B63\u6574\u6578", + ErroneousNestingEq: "\u932F\u8AA4\u7684\u65B9\u7A0B\u5F0F\u5D4C\u5957\u7D50\u69CB", + MultlineRowsOneCol: "\u5728%1\u74B0\u5883\u88E1\u7684\u884C\u5217\u5FC5\u9808\u53EA\u6709\u4E00\u6B04", + MultipleBBoxProperty: "%1\u5728%2\u88AB\u6307\u5B9A\u5169\u6B21", + InvalidBBoxProperty: "\u300C%1\u300D\u4E0D\u50CF\u662F\u4E00\u500B\u8272\u5F69\u3001\u5167\u908A\u7DAD\u5EA6\u3001\u6216\u6A23\u5F0F", + ExtraEndMissingBegin: "\u6709\u591A\u9918%1\u6216\u7F3A\u5C11\\begingroup", + GlobalNotFollowedBy: "%1\u4E0D\u88AB\\let\u3001\\def\u3001\u6216\\newcommand\u6240\u5141\u8A31", + UndefinedColorModel: "\u8272\u5F69\u6A21\u578B\u300C%1\u300D\u6C92\u6709\u5B9A\u7FA9", + ModelArg1: "\u7528\u65BC%1\u6A21\u578B\u7684\u8272\u5F69\u6578\u503C\u9700\u89813\u500B\u6578\u5B57", + InvalidDecimalNumber: "\u7121\u6548\u5341\u9032\u4F4D\u6578\u5B57", + ModelArg2: "\u7528\u65BC%1\u6A21\u578B\u7684\u8272\u5F69\u6578\u503C\u9700\u8981\u4ECB\u65BC%2\u548C%3\u4E4B\u9593", + InvalidNumber: "\u7121\u6548\u6578\u5B57", + NewextarrowArg1: "%1\u7684\u7B2C\u4E00\u500B\u53C3\u6578\u5FC5\u9808\u662F\u63A7\u5236\u5E8F\u5217\u540D\u7A31", + NewextarrowArg2: "%1\u7684\u7B2C\u4E8C\u500B\u53C3\u6578\u5FC5\u9808\u662F\u7531\u9017\u865F\u5206\u958B\u7684\u5169\u500B\u6574\u6578", + NewextarrowArg3: "%1\u7684\u7B2C\u4E09\u500B\u53C3\u6578\u5FC5\u9808\u662F\u842C\u570B\u78BC\u5B57\u5143\u6578\u5B57", + NoClosingChar: "\u6C92\u6709\u627E\u5230\u5C01\u9589\u7528\u5B57\u5143%1", + IllegalControlSequenceName: "\u4E0D\u9069\u5408\u7528\u5728%1\u7684\u63A7\u5236\u5E8F\u5217\u540D\u7A31", + IllegalParamNumber: "\u6307\u5B9A\u65BC%1\u7684\u4E0D\u9069\u7576\u6578\u5B57\u53C3\u6578", + MissingCS: "%1\u5FC5\u9808\u8DDF\u96A8\u4E00\u500B\u63A7\u5236\u5E8F\u5217", + CantUseHash2: "\u5728\u7528\u65BC%1\u7684\u6A21\u677F\u4E0A\u4E0D\u6B63\u78BA\u4F7F\u7528#\u5B57\u5143", + SequentialParam: "\u7528\u65BC%1\u7684\u53C3\u6578\u5FC5\u9808\u4F9D\u9806\u5E8F\u7DE8\u865F", + MissingReplacementString: "%1\u7684\u5B9A\u7FA9\u7F3A\u5C11\u66FF\u4EE3\u5B57\u4E32", + MismatchUseDef: "%1\u7684\u4F7F\u7528\u4E0D\u7B26\u5408\u5B9A\u7FA9", + RunawayArgument: "\u6709\u7528\u65BC%1\u7684\u53C3\u6578\u4E0D\u898B\u4E86\uFF1F", + NoClosingDelim: "\u5728%1\u7121\u6CD5\u627E\u5230\u7D50\u675F\u7B26\u865F" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/TeX.js"); diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/zh-hant.js b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/zh-hant.js new file mode 100644 index 00000000..b87e6c44 --- /dev/null +++ b/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/zh-hant.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/zh-hant.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant",null,{ + menuTitle: "\u6C49\u8BED", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u6578\u5B78\u8655\u7406\u932F\u8AA4", + MathError: "\u6578\u5B78\u932F\u8AA4", + LoadFile: "\u6B63\u5728\u8F09\u5165%1", + Loading: "\u8F09\u5165\u4E2D\u2026", + LoadFailed: "\u7121\u6CD5\u8F09\u5165\u6A94\u6848\uFF1A%1", + ProcessMath: "\u8655\u7406\u6578\u5B78\uFF1A%1%%", + Processing: "\u8655\u7406\u4E2D", + TypesetMath: "\u6392\u7248\u6578\u5B78\uFF1A%1%%", + Typesetting: "\u6392\u7248", + MathJaxNotSupported: "\u60A8\u7684\u700F\u89BD\u5668\u4E0D\u652F\u63F4MathJax", + ErrorTips: "\u9664\u932F\u63D0\u793A\uFF1A\u4F7F\u7528%%1\uFF0C\u5728\u700F\u89BD\u5668\u63A7\u5236\u53F0\u6AA2\u67E5%%2" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/zh-hant.js"); From 5437769a31bcd4475dffc1aed77c1b6e56f719bb Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 20 Oct 2024 20:33:59 -0400 Subject: [PATCH 469/510] Fix mathjax vendor and include by default --- src/py/kaleido/scopes/plotly.py | 7 ++++--- src/py/kaleido/vendor/index.html | 4 ++++ .../vendor/{Mathjax-2.7.5 => mathjax}/LICENSE | 0 .../vendor/{Mathjax-2.7.5 => mathjax}/MathJax.js | 0 .../vendor/{Mathjax-2.7.5 => mathjax}/README.md | 0 .../config/AM_CHTML-full.js | 0 .../{Mathjax-2.7.5 => mathjax}/config/AM_CHTML.js | 0 .../config/AM_HTMLorMML-full.js | 0 .../config/AM_HTMLorMML.js | 0 .../config/AM_SVG-full.js | 0 .../{Mathjax-2.7.5 => mathjax}/config/AM_SVG.js | 0 .../config/Accessible-full.js | 0 .../{Mathjax-2.7.5 => mathjax}/config/Accessible.js | 0 .../config/MML_CHTML-full.js | 0 .../{Mathjax-2.7.5 => mathjax}/config/MML_CHTML.js | 0 .../config/MML_HTMLorMML-full.js | 0 .../config/MML_HTMLorMML.js | 0 .../config/MML_SVG-full.js | 0 .../{Mathjax-2.7.5 => mathjax}/config/MML_SVG.js | 0 .../{Mathjax-2.7.5 => mathjax}/config/MMLorHTML.js | 0 .../{Mathjax-2.7.5 => mathjax}/config/Safe.js | 0 .../config/TeX-AMS-MML_HTMLorMML-full.js | 0 .../config/TeX-AMS-MML_HTMLorMML.js | 0 .../config/TeX-AMS-MML_SVG-full.js | 0 .../config/TeX-AMS-MML_SVG.js | 0 .../config/TeX-AMS_CHTML-full.js | 0 .../config/TeX-AMS_CHTML.js | 0 .../config/TeX-AMS_HTML-full.js | 0 .../config/TeX-AMS_HTML.js | 0 .../config/TeX-AMS_SVG-full.js | 0 .../config/TeX-AMS_SVG.js | 0 .../config/TeX-MML-AM_CHTML-full.js | 0 .../config/TeX-MML-AM_CHTML.js | 0 .../config/TeX-MML-AM_HTMLorMML-full.js | 0 .../config/TeX-MML-AM_HTMLorMML.js | 0 .../config/TeX-MML-AM_SVG-full.js | 0 .../config/TeX-MML-AM_SVG.js | 0 .../{Mathjax-2.7.5 => mathjax}/config/default.js | 0 .../config/local/local.js | 0 .../extensions/AssistiveMML.js | 0 .../extensions/CHTML-preview.js | 0 .../extensions/FontWarnings.js | 0 .../extensions/HTML-CSS/handle-floats.js | 0 .../extensions/HelpDialog.js | 0 .../extensions/MatchWebFonts.js | 0 .../extensions/MathEvents.js | 0 .../extensions/MathML/content-mathml.js | 0 .../extensions/MathML/mml3.js | 0 .../extensions/MathMenu.js | 0 .../extensions/MathZoom.js | 0 .../{Mathjax-2.7.5 => mathjax}/extensions/Safe.js | 0 .../extensions/TeX/AMScd.js | 0 .../extensions/TeX/AMSmath.js | 0 .../extensions/TeX/AMSsymbols.js | 0 .../extensions/TeX/HTML.js | 0 .../extensions/TeX/action.js | 0 .../extensions/TeX/autobold.js | 0 .../extensions/TeX/autoload-all.js | 0 .../extensions/TeX/bbox.js | 0 .../extensions/TeX/begingroup.js | 0 .../extensions/TeX/boldsymbol.js | 0 .../extensions/TeX/cancel.js | 0 .../extensions/TeX/color.js | 0 .../extensions/TeX/enclose.js | 0 .../extensions/TeX/extpfeil.js | 0 .../extensions/TeX/mathchoice.js | 0 .../extensions/TeX/mediawiki-texvc.js | 0 .../extensions/TeX/mhchem.js | 0 .../extensions/TeX/mhchem3/mhchem.js | 0 .../extensions/TeX/newcommand.js | 0 .../extensions/TeX/noErrors.js | 0 .../extensions/TeX/noUndefined.js | 0 .../extensions/TeX/unicode.js | 0 .../extensions/TeX/verb.js | 0 .../extensions/a11y/accessibility-menu.js | 0 .../extensions/a11y/auto-collapse.js | 0 .../extensions/a11y/collapsible.js | 0 .../extensions/a11y/explorer.js | 0 .../extensions/a11y/invalid_keypress.mp3 | Bin .../extensions/a11y/invalid_keypress.ogg | Bin .../extensions/a11y/mathjax-sre.js | 0 .../a11y/mathmaps/en/functions/algebra.js | 0 .../a11y/mathmaps/en/functions/elementary.js | 0 .../a11y/mathmaps/en/functions/hyperbolic.js | 0 .../a11y/mathmaps/en/functions/trigonometry.js | 0 .../a11y/mathmaps/en/symbols/greek-capital.js | 0 .../mathmaps/en/symbols/greek-mathfonts-bold.js | 0 .../mathmaps/en/symbols/greek-mathfonts-italic.js | 0 .../en/symbols/greek-mathfonts-sans-serif-bold.js | 0 .../a11y/mathmaps/en/symbols/greek-scripts.js | 0 .../a11y/mathmaps/en/symbols/greek-small.js | 0 .../a11y/mathmaps/en/symbols/greek-symbols.js | 0 .../a11y/mathmaps/en/symbols/hebrew_letters.js | 0 .../en/symbols/latin-lower-double-accent.js | 0 .../a11y/mathmaps/en/symbols/latin-lower-normal.js | 0 .../mathmaps/en/symbols/latin-lower-phonetic.js | 0 .../en/symbols/latin-lower-single-accent.js | 0 .../en/symbols/latin-mathfonts-bold-fraktur.js | 0 .../en/symbols/latin-mathfonts-bold-script.js | 0 .../mathmaps/en/symbols/latin-mathfonts-bold.js | 0 .../en/symbols/latin-mathfonts-double-struck.js | 0 .../mathmaps/en/symbols/latin-mathfonts-fraktur.js | 0 .../mathmaps/en/symbols/latin-mathfonts-italic.js | 0 .../en/symbols/latin-mathfonts-monospace.js | 0 .../en/symbols/latin-mathfonts-sans-serif-bold.js | 0 .../en/symbols/latin-mathfonts-sans-serif-italic.js | 0 .../en/symbols/latin-mathfonts-sans-serif.js | 0 .../mathmaps/en/symbols/latin-mathfonts-script.js | 0 .../a11y/mathmaps/en/symbols/latin-rest.js | 0 .../en/symbols/latin-upper-double-accent.js | 0 .../a11y/mathmaps/en/symbols/latin-upper-normal.js | 0 .../en/symbols/latin-upper-single-accent.js | 0 .../a11y/mathmaps/en/symbols/math_angles.js | 0 .../a11y/mathmaps/en/symbols/math_arrows.js | 0 .../a11y/mathmaps/en/symbols/math_characters.js | 0 .../a11y/mathmaps/en/symbols/math_delimiters.js | 0 .../a11y/mathmaps/en/symbols/math_digits.js | 0 .../a11y/mathmaps/en/symbols/math_geometry.js | 0 .../a11y/mathmaps/en/symbols/math_harpoons.js | 0 .../a11y/mathmaps/en/symbols/math_non_characters.js | 0 .../a11y/mathmaps/en/symbols/math_symbols.js | 0 .../a11y/mathmaps/en/symbols/math_whitespace.js | 0 .../a11y/mathmaps/en/symbols/other_stars.js | 0 .../extensions/a11y/mathmaps/en/units/energy.js | 0 .../extensions/a11y/mathmaps/en/units/length.js | 0 .../extensions/a11y/mathmaps/en/units/memory.js | 0 .../extensions/a11y/mathmaps/en/units/other.js | 0 .../extensions/a11y/mathmaps/en/units/speed.js | 0 .../a11y/mathmaps/en/units/temperature.js | 0 .../extensions/a11y/mathmaps/en/units/time.js | 0 .../extensions/a11y/mathmaps/en/units/volume.js | 0 .../extensions/a11y/mathmaps/en/units/weight.js | 0 .../a11y/mathmaps/es/functions/algebra.js | 0 .../a11y/mathmaps/es/functions/elementary.js | 0 .../a11y/mathmaps/es/functions/hyperbolic.js | 0 .../a11y/mathmaps/es/functions/trigonometry.js | 0 .../a11y/mathmaps/es/symbols/greek-capital.js | 0 .../mathmaps/es/symbols/greek-mathfonts-bold.js | 0 .../mathmaps/es/symbols/greek-mathfonts-italic.js | 0 .../es/symbols/greek-mathfonts-sans-serif-bold.js | 0 .../a11y/mathmaps/es/symbols/greek-scripts.js | 0 .../a11y/mathmaps/es/symbols/greek-small.js | 0 .../a11y/mathmaps/es/symbols/greek-symbols.js | 0 .../a11y/mathmaps/es/symbols/hebrew_letters.js | 0 .../es/symbols/latin-lower-double-accent.js | 0 .../a11y/mathmaps/es/symbols/latin-lower-normal.js | 0 .../mathmaps/es/symbols/latin-lower-phonetic.js | 0 .../es/symbols/latin-lower-single-accent.js | 0 .../es/symbols/latin-mathfonts-bold-fraktur.js | 0 .../es/symbols/latin-mathfonts-bold-script.js | 0 .../mathmaps/es/symbols/latin-mathfonts-bold.js | 0 .../es/symbols/latin-mathfonts-double-struck.js | 0 .../mathmaps/es/symbols/latin-mathfonts-fraktur.js | 0 .../mathmaps/es/symbols/latin-mathfonts-italic.js | 0 .../es/symbols/latin-mathfonts-monospace.js | 0 .../es/symbols/latin-mathfonts-sans-serif-bold.js | 0 .../es/symbols/latin-mathfonts-sans-serif-italic.js | 0 .../es/symbols/latin-mathfonts-sans-serif.js | 0 .../mathmaps/es/symbols/latin-mathfonts-script.js | 0 .../a11y/mathmaps/es/symbols/latin-rest.js | 0 .../es/symbols/latin-upper-double-accent.js | 0 .../a11y/mathmaps/es/symbols/latin-upper-normal.js | 0 .../es/symbols/latin-upper-single-accent.js | 0 .../a11y/mathmaps/es/symbols/math_angles.js | 0 .../a11y/mathmaps/es/symbols/math_arrows.js | 0 .../a11y/mathmaps/es/symbols/math_characters.js | 0 .../a11y/mathmaps/es/symbols/math_delimiters.js | 0 .../a11y/mathmaps/es/symbols/math_digits.js | 0 .../a11y/mathmaps/es/symbols/math_geometry.js | 0 .../a11y/mathmaps/es/symbols/math_harpoons.js | 0 .../a11y/mathmaps/es/symbols/math_non_characters.js | 0 .../a11y/mathmaps/es/symbols/math_symbols.js | 0 .../a11y/mathmaps/es/symbols/math_whitespace.js | 0 .../a11y/mathmaps/es/symbols/other_stars.js | 0 .../extensions/a11y/mathmaps/es/units/energy.js | 0 .../extensions/a11y/mathmaps/es/units/length.js | 0 .../extensions/a11y/mathmaps/es/units/memory.js | 0 .../extensions/a11y/mathmaps/es/units/other.js | 0 .../extensions/a11y/mathmaps/es/units/speed.js | 0 .../a11y/mathmaps/es/units/temperature.js | 0 .../extensions/a11y/mathmaps/es/units/time.js | 0 .../extensions/a11y/mathmaps/es/units/volume.js | 0 .../extensions/a11y/mathmaps/es/units/weight.js | 0 .../extensions/a11y/mathmaps/mathmaps_ie.js | 0 .../extensions/a11y/semantic-enrich.js | 0 .../extensions/a11y/wgxpath.install.js | 0 .../extensions/asciimath2jax.js | 0 .../extensions/fast-preview.js | 0 .../extensions/jsMath2jax.js | 0 .../extensions/mml2jax.js | 0 .../extensions/tex2jax.js | 0 .../extensions/toMathML.js | 0 .../jax/element/mml/jax.js | 0 .../jax/element/mml/optable/Arrows.js | 0 .../jax/element/mml/optable/BasicLatin.js | 0 .../jax/element/mml/optable/CombDiacritMarks.js | 0 .../jax/element/mml/optable/CombDiactForSymbols.js | 0 .../jax/element/mml/optable/Dingbats.js | 0 .../jax/element/mml/optable/GeneralPunctuation.js | 0 .../jax/element/mml/optable/GeometricShapes.js | 0 .../jax/element/mml/optable/GreekAndCoptic.js | 0 .../jax/element/mml/optable/Latin1Supplement.js | 0 .../jax/element/mml/optable/LetterlikeSymbols.js | 0 .../jax/element/mml/optable/MathOperators.js | 0 .../jax/element/mml/optable/MiscMathSymbolsA.js | 0 .../jax/element/mml/optable/MiscMathSymbolsB.js | 0 .../jax/element/mml/optable/MiscSymbolsAndArrows.js | 0 .../jax/element/mml/optable/MiscTechnical.js | 0 .../jax/element/mml/optable/SpacingModLetters.js | 0 .../jax/element/mml/optable/SuppMathOperators.js | 0 .../jax/element/mml/optable/SupplementalArrowsA.js | 0 .../jax/element/mml/optable/SupplementalArrowsB.js | 0 .../jax/input/AsciiMath/config.js | 0 .../jax/input/AsciiMath/jax.js | 0 .../jax/input/MathML/config.js | 0 .../jax/input/MathML/entities/a.js | 0 .../jax/input/MathML/entities/b.js | 0 .../jax/input/MathML/entities/c.js | 0 .../jax/input/MathML/entities/d.js | 0 .../jax/input/MathML/entities/e.js | 0 .../jax/input/MathML/entities/f.js | 0 .../jax/input/MathML/entities/fr.js | 0 .../jax/input/MathML/entities/g.js | 0 .../jax/input/MathML/entities/h.js | 0 .../jax/input/MathML/entities/i.js | 0 .../jax/input/MathML/entities/j.js | 0 .../jax/input/MathML/entities/k.js | 0 .../jax/input/MathML/entities/l.js | 0 .../jax/input/MathML/entities/m.js | 0 .../jax/input/MathML/entities/n.js | 0 .../jax/input/MathML/entities/o.js | 0 .../jax/input/MathML/entities/opf.js | 0 .../jax/input/MathML/entities/p.js | 0 .../jax/input/MathML/entities/q.js | 0 .../jax/input/MathML/entities/r.js | 0 .../jax/input/MathML/entities/s.js | 0 .../jax/input/MathML/entities/scr.js | 0 .../jax/input/MathML/entities/t.js | 0 .../jax/input/MathML/entities/u.js | 0 .../jax/input/MathML/entities/v.js | 0 .../jax/input/MathML/entities/w.js | 0 .../jax/input/MathML/entities/x.js | 0 .../jax/input/MathML/entities/y.js | 0 .../jax/input/MathML/entities/z.js | 0 .../jax/input/MathML/jax.js | 0 .../jax/input/TeX/config.js | 0 .../{Mathjax-2.7.5 => mathjax}/jax/input/TeX/jax.js | 0 .../output/CommonHTML/autoload/annotation-xml.js | 0 .../jax/output/CommonHTML/autoload/maction.js | 0 .../jax/output/CommonHTML/autoload/menclose.js | 0 .../jax/output/CommonHTML/autoload/mglyph.js | 0 .../jax/output/CommonHTML/autoload/mmultiscripts.js | 0 .../jax/output/CommonHTML/autoload/ms.js | 0 .../jax/output/CommonHTML/autoload/mtable.js | 0 .../jax/output/CommonHTML/autoload/multiline.js | 0 .../jax/output/CommonHTML/config.js | 0 .../jax/output/CommonHTML/fonts/TeX/AMS-Regular.js | 0 .../output/CommonHTML/fonts/TeX/Caligraphic-Bold.js | 0 .../jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js | 0 .../output/CommonHTML/fonts/TeX/Fraktur-Regular.js | 0 .../jax/output/CommonHTML/fonts/TeX/Main-Bold.js | 0 .../output/CommonHTML/fonts/TeX/Math-BoldItalic.js | 0 .../output/CommonHTML/fonts/TeX/SansSerif-Bold.js | 0 .../output/CommonHTML/fonts/TeX/SansSerif-Italic.js | 0 .../CommonHTML/fonts/TeX/SansSerif-Regular.js | 0 .../output/CommonHTML/fonts/TeX/Script-Regular.js | 0 .../CommonHTML/fonts/TeX/Typewriter-Regular.js | 0 .../output/CommonHTML/fonts/TeX/fontdata-extra.js | 0 .../jax/output/CommonHTML/fonts/TeX/fontdata.js | 0 .../jax/output/CommonHTML/jax.js | 0 .../jax/output/NativeMML/config.js | 0 .../jax/output/NativeMML/jax.js | 0 .../jax/output/PlainSource/config.js | 0 .../jax/output/PlainSource/jax.js | 0 .../jax/output/PreviewHTML/config.js | 0 .../jax/output/PreviewHTML/jax.js | 0 .../jax/output/SVG/autoload/annotation-xml.js | 0 .../jax/output/SVG/autoload/maction.js | 0 .../jax/output/SVG/autoload/menclose.js | 0 .../jax/output/SVG/autoload/mglyph.js | 0 .../jax/output/SVG/autoload/mmultiscripts.js | 0 .../jax/output/SVG/autoload/ms.js | 0 .../jax/output/SVG/autoload/mtable.js | 0 .../jax/output/SVG/autoload/multiline.js | 0 .../jax/output/SVG/config.js | 0 .../jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js | 0 .../output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js | 0 .../SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js | 0 .../output/SVG/fonts/TeX/AMS/Regular/Dingbats.js | 0 .../SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js | 0 .../SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js | 0 .../SVG/fonts/TeX/AMS/Regular/GeometricShapes.js | 0 .../SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js | 0 .../SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js | 0 .../SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js | 0 .../SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js | 0 .../jax/output/SVG/fonts/TeX/AMS/Regular/Main.js | 0 .../SVG/fonts/TeX/AMS/Regular/MathOperators.js | 0 .../SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js | 0 .../output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js | 0 .../SVG/fonts/TeX/AMS/Regular/MiscTechnical.js | 0 .../jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js | 0 .../SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js | 0 .../SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js | 0 .../output/SVG/fonts/TeX/Caligraphic/Bold/Main.js | 0 .../SVG/fonts/TeX/Caligraphic/Regular/Main.js | 0 .../output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js | 0 .../jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js | 0 .../jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js | 0 .../jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js | 0 .../SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js | 0 .../output/SVG/fonts/TeX/Fraktur/Regular/Main.js | 0 .../output/SVG/fonts/TeX/Fraktur/Regular/Other.js | 0 .../jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js | 0 .../jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js | 0 .../output/SVG/fonts/TeX/Main/Bold/BasicLatin.js | 0 .../SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js | 0 .../SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js | 0 .../SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js | 0 .../SVG/fonts/TeX/Main/Bold/GeometricShapes.js | 0 .../SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js | 0 .../SVG/fonts/TeX/Main/Bold/Latin1Supplement.js | 0 .../SVG/fonts/TeX/Main/Bold/LatinExtendedA.js | 0 .../SVG/fonts/TeX/Main/Bold/LatinExtendedB.js | 0 .../SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js | 0 .../jax/output/SVG/fonts/TeX/Main/Bold/Main.js | 0 .../output/SVG/fonts/TeX/Main/Bold/MathOperators.js | 0 .../SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js | 0 .../output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js | 0 .../output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js | 0 .../SVG/fonts/TeX/Main/Bold/SpacingModLetters.js | 0 .../SVG/fonts/TeX/Main/Bold/SuppMathOperators.js | 0 .../SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js | 0 .../output/SVG/fonts/TeX/Main/Italic/BasicLatin.js | 0 .../SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js | 0 .../SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js | 0 .../SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js | 0 .../SVG/fonts/TeX/Main/Italic/LatinExtendedA.js | 0 .../SVG/fonts/TeX/Main/Italic/LatinExtendedB.js | 0 .../SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js | 0 .../jax/output/SVG/fonts/TeX/Main/Italic/Main.js | 0 .../output/SVG/fonts/TeX/Main/Regular/BasicLatin.js | 0 .../SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js | 0 .../SVG/fonts/TeX/Main/Regular/GeometricShapes.js | 0 .../SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js | 0 .../SVG/fonts/TeX/Main/Regular/LatinExtendedA.js | 0 .../SVG/fonts/TeX/Main/Regular/LatinExtendedB.js | 0 .../SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js | 0 .../jax/output/SVG/fonts/TeX/Main/Regular/Main.js | 0 .../SVG/fonts/TeX/Main/Regular/MiscSymbols.js | 0 .../SVG/fonts/TeX/Main/Regular/SpacingModLetters.js | 0 .../SVG/fonts/TeX/Main/Regular/SuppMathOperators.js | 0 .../output/SVG/fonts/TeX/Math/BoldItalic/Main.js | 0 .../jax/output/SVG/fonts/TeX/Math/Italic/Main.js | 0 .../SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js | 0 .../fonts/TeX/SansSerif/Bold/CombDiacritMarks.js | 0 .../jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js | 0 .../output/SVG/fonts/TeX/SansSerif/Bold/Other.js | 0 .../SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js | 0 .../fonts/TeX/SansSerif/Italic/CombDiacritMarks.js | 0 .../output/SVG/fonts/TeX/SansSerif/Italic/Main.js | 0 .../output/SVG/fonts/TeX/SansSerif/Italic/Other.js | 0 .../SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js | 0 .../fonts/TeX/SansSerif/Regular/CombDiacritMarks.js | 0 .../output/SVG/fonts/TeX/SansSerif/Regular/Main.js | 0 .../output/SVG/fonts/TeX/SansSerif/Regular/Other.js | 0 .../SVG/fonts/TeX/Script/Regular/BasicLatin.js | 0 .../jax/output/SVG/fonts/TeX/Script/Regular/Main.js | 0 .../jax/output/SVG/fonts/TeX/Size1/Regular/Main.js | 0 .../jax/output/SVG/fonts/TeX/Size2/Regular/Main.js | 0 .../jax/output/SVG/fonts/TeX/Size3/Regular/Main.js | 0 .../jax/output/SVG/fonts/TeX/Size4/Regular/Main.js | 0 .../SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js | 0 .../TeX/Typewriter/Regular/CombDiacritMarks.js | 0 .../output/SVG/fonts/TeX/Typewriter/Regular/Main.js | 0 .../SVG/fonts/TeX/Typewriter/Regular/Other.js | 0 .../jax/output/SVG/fonts/TeX/fontdata-extra.js | 0 .../jax/output/SVG/fonts/TeX/fontdata.js | 0 .../jax/output/SVG/jax.js | 0 .../vendor/{Mathjax-2.7.5 => mathjax}/latest.js | 0 .../localization/ar/FontWarnings.js | 0 .../localization/ar/HTML-CSS.js | 0 .../localization/ar/HelpDialog.js | 0 .../localization/ar/MathML.js | 0 .../localization/ar/MathMenu.js | 0 .../localization/ar/TeX.js | 0 .../localization/ar/ar.js | 0 .../localization/ast/FontWarnings.js | 0 .../localization/ast/HTML-CSS.js | 0 .../localization/ast/HelpDialog.js | 0 .../localization/ast/MathML.js | 0 .../localization/ast/MathMenu.js | 0 .../localization/ast/TeX.js | 0 .../localization/ast/ast.js | 0 .../localization/bcc/FontWarnings.js | 0 .../localization/bcc/HTML-CSS.js | 0 .../localization/bcc/HelpDialog.js | 0 .../localization/bcc/MathML.js | 0 .../localization/bcc/MathMenu.js | 0 .../localization/bcc/TeX.js | 0 .../localization/bcc/bcc.js | 0 .../localization/bg/FontWarnings.js | 0 .../localization/bg/HTML-CSS.js | 0 .../localization/bg/HelpDialog.js | 0 .../localization/bg/MathML.js | 0 .../localization/bg/MathMenu.js | 0 .../localization/bg/TeX.js | 0 .../localization/bg/bg.js | 0 .../localization/br/FontWarnings.js | 0 .../localization/br/HTML-CSS.js | 0 .../localization/br/HelpDialog.js | 0 .../localization/br/MathML.js | 0 .../localization/br/MathMenu.js | 0 .../localization/br/TeX.js | 0 .../localization/br/br.js | 0 .../localization/ca/FontWarnings.js | 0 .../localization/ca/HTML-CSS.js | 0 .../localization/ca/HelpDialog.js | 0 .../localization/ca/MathML.js | 0 .../localization/ca/MathMenu.js | 0 .../localization/ca/TeX.js | 0 .../localization/ca/ca.js | 0 .../localization/cdo/FontWarnings.js | 0 .../localization/cdo/HTML-CSS.js | 0 .../localization/cdo/HelpDialog.js | 0 .../localization/cdo/MathML.js | 0 .../localization/cdo/MathMenu.js | 0 .../localization/cdo/TeX.js | 0 .../localization/cdo/cdo.js | 0 .../localization/ce/FontWarnings.js | 0 .../localization/ce/HTML-CSS.js | 0 .../localization/ce/HelpDialog.js | 0 .../localization/ce/MathML.js | 0 .../localization/ce/MathMenu.js | 0 .../localization/ce/TeX.js | 0 .../localization/ce/ce.js | 0 .../localization/cs/FontWarnings.js | 0 .../localization/cs/HTML-CSS.js | 0 .../localization/cs/HelpDialog.js | 0 .../localization/cs/MathML.js | 0 .../localization/cs/MathMenu.js | 0 .../localization/cs/TeX.js | 0 .../localization/cs/cs.js | 0 .../localization/cy/FontWarnings.js | 0 .../localization/cy/HTML-CSS.js | 0 .../localization/cy/HelpDialog.js | 0 .../localization/cy/MathML.js | 0 .../localization/cy/MathMenu.js | 0 .../localization/cy/TeX.js | 0 .../localization/cy/cy.js | 0 .../localization/da/FontWarnings.js | 0 .../localization/da/HTML-CSS.js | 0 .../localization/da/HelpDialog.js | 0 .../localization/da/MathML.js | 0 .../localization/da/MathMenu.js | 0 .../localization/da/TeX.js | 0 .../localization/da/da.js | 0 .../localization/de/FontWarnings.js | 0 .../localization/de/HTML-CSS.js | 0 .../localization/de/HelpDialog.js | 0 .../localization/de/MathML.js | 0 .../localization/de/MathMenu.js | 0 .../localization/de/TeX.js | 0 .../localization/de/de.js | 0 .../localization/diq/FontWarnings.js | 0 .../localization/diq/HTML-CSS.js | 0 .../localization/diq/HelpDialog.js | 0 .../localization/diq/MathML.js | 0 .../localization/diq/MathMenu.js | 0 .../localization/diq/TeX.js | 0 .../localization/diq/diq.js | 0 .../localization/en/FontWarnings.js | 0 .../localization/en/HTML-CSS.js | 0 .../localization/en/HelpDialog.js | 0 .../localization/en/MathML.js | 0 .../localization/en/MathMenu.js | 0 .../localization/en/TeX.js | 0 .../localization/en/en.js | 0 .../localization/eo/FontWarnings.js | 0 .../localization/eo/HTML-CSS.js | 0 .../localization/eo/HelpDialog.js | 0 .../localization/eo/MathML.js | 0 .../localization/eo/MathMenu.js | 0 .../localization/eo/TeX.js | 0 .../localization/eo/eo.js | 0 .../localization/es/FontWarnings.js | 0 .../localization/es/HTML-CSS.js | 0 .../localization/es/HelpDialog.js | 0 .../localization/es/MathML.js | 0 .../localization/es/MathMenu.js | 0 .../localization/es/TeX.js | 0 .../localization/es/es.js | 0 .../localization/fa/FontWarnings.js | 0 .../localization/fa/HTML-CSS.js | 0 .../localization/fa/HelpDialog.js | 0 .../localization/fa/MathML.js | 0 .../localization/fa/MathMenu.js | 0 .../localization/fa/TeX.js | 0 .../localization/fa/fa.js | 0 .../localization/fi/FontWarnings.js | 0 .../localization/fi/HTML-CSS.js | 0 .../localization/fi/HelpDialog.js | 0 .../localization/fi/MathML.js | 0 .../localization/fi/MathMenu.js | 0 .../localization/fi/TeX.js | 0 .../localization/fi/fi.js | 0 .../localization/fr/FontWarnings.js | 0 .../localization/fr/HTML-CSS.js | 0 .../localization/fr/HelpDialog.js | 0 .../localization/fr/MathML.js | 0 .../localization/fr/MathMenu.js | 0 .../localization/fr/TeX.js | 0 .../localization/fr/fr.js | 0 .../localization/gl/FontWarnings.js | 0 .../localization/gl/HTML-CSS.js | 0 .../localization/gl/HelpDialog.js | 0 .../localization/gl/MathML.js | 0 .../localization/gl/MathMenu.js | 0 .../localization/gl/TeX.js | 0 .../localization/gl/gl.js | 0 .../localization/he/FontWarnings.js | 0 .../localization/he/HTML-CSS.js | 0 .../localization/he/HelpDialog.js | 0 .../localization/he/MathML.js | 0 .../localization/he/MathMenu.js | 0 .../localization/he/TeX.js | 0 .../localization/he/he.js | 0 .../localization/ia/FontWarnings.js | 0 .../localization/ia/HTML-CSS.js | 0 .../localization/ia/HelpDialog.js | 0 .../localization/ia/MathML.js | 0 .../localization/ia/MathMenu.js | 0 .../localization/ia/TeX.js | 0 .../localization/ia/ia.js | 0 .../localization/it/FontWarnings.js | 0 .../localization/it/HTML-CSS.js | 0 .../localization/it/HelpDialog.js | 0 .../localization/it/MathML.js | 0 .../localization/it/MathMenu.js | 0 .../localization/it/TeX.js | 0 .../localization/it/it.js | 0 .../localization/ja/FontWarnings.js | 0 .../localization/ja/HTML-CSS.js | 0 .../localization/ja/HelpDialog.js | 0 .../localization/ja/MathML.js | 0 .../localization/ja/MathMenu.js | 0 .../localization/ja/TeX.js | 0 .../localization/ja/ja.js | 0 .../localization/kn/FontWarnings.js | 0 .../localization/kn/HTML-CSS.js | 0 .../localization/kn/HelpDialog.js | 0 .../localization/kn/MathML.js | 0 .../localization/kn/MathMenu.js | 0 .../localization/kn/TeX.js | 0 .../localization/kn/kn.js | 0 .../localization/ko/FontWarnings.js | 0 .../localization/ko/HTML-CSS.js | 0 .../localization/ko/HelpDialog.js | 0 .../localization/ko/MathML.js | 0 .../localization/ko/MathMenu.js | 0 .../localization/ko/TeX.js | 0 .../localization/ko/ko.js | 0 .../localization/lb/FontWarnings.js | 0 .../localization/lb/HTML-CSS.js | 0 .../localization/lb/HelpDialog.js | 0 .../localization/lb/MathML.js | 0 .../localization/lb/MathMenu.js | 0 .../localization/lb/TeX.js | 0 .../localization/lb/lb.js | 0 .../localization/lki/FontWarnings.js | 0 .../localization/lki/HTML-CSS.js | 0 .../localization/lki/HelpDialog.js | 0 .../localization/lki/MathML.js | 0 .../localization/lki/MathMenu.js | 0 .../localization/lki/TeX.js | 0 .../localization/lki/lki.js | 0 .../localization/lt/FontWarnings.js | 0 .../localization/lt/HTML-CSS.js | 0 .../localization/lt/HelpDialog.js | 0 .../localization/lt/MathML.js | 0 .../localization/lt/MathMenu.js | 0 .../localization/lt/TeX.js | 0 .../localization/lt/lt.js | 0 .../localization/mk/FontWarnings.js | 0 .../localization/mk/HTML-CSS.js | 0 .../localization/mk/HelpDialog.js | 0 .../localization/mk/MathML.js | 0 .../localization/mk/MathMenu.js | 0 .../localization/mk/TeX.js | 0 .../localization/mk/mk.js | 0 .../localization/nl/FontWarnings.js | 0 .../localization/nl/HTML-CSS.js | 0 .../localization/nl/HelpDialog.js | 0 .../localization/nl/MathML.js | 0 .../localization/nl/MathMenu.js | 0 .../localization/nl/TeX.js | 0 .../localization/nl/nl.js | 0 .../localization/oc/FontWarnings.js | 0 .../localization/oc/HTML-CSS.js | 0 .../localization/oc/HelpDialog.js | 0 .../localization/oc/MathML.js | 0 .../localization/oc/MathMenu.js | 0 .../localization/oc/TeX.js | 0 .../localization/oc/oc.js | 0 .../localization/pl/FontWarnings.js | 0 .../localization/pl/HTML-CSS.js | 0 .../localization/pl/HelpDialog.js | 0 .../localization/pl/MathML.js | 0 .../localization/pl/MathMenu.js | 0 .../localization/pl/TeX.js | 0 .../localization/pl/pl.js | 0 .../localization/pt-br/FontWarnings.js | 0 .../localization/pt-br/HTML-CSS.js | 0 .../localization/pt-br/HelpDialog.js | 0 .../localization/pt-br/MathML.js | 0 .../localization/pt-br/MathMenu.js | 0 .../localization/pt-br/TeX.js | 0 .../localization/pt-br/pt-br.js | 0 .../localization/pt/FontWarnings.js | 0 .../localization/pt/HTML-CSS.js | 0 .../localization/pt/HelpDialog.js | 0 .../localization/pt/MathML.js | 0 .../localization/pt/MathMenu.js | 0 .../localization/pt/TeX.js | 0 .../localization/pt/pt.js | 0 .../localization/qqq/FontWarnings.js | 0 .../localization/qqq/HTML-CSS.js | 0 .../localization/qqq/HelpDialog.js | 0 .../localization/qqq/MathML.js | 0 .../localization/qqq/MathMenu.js | 0 .../localization/qqq/TeX.js | 0 .../localization/qqq/qqq.js | 0 .../localization/ru/FontWarnings.js | 0 .../localization/ru/HTML-CSS.js | 0 .../localization/ru/HelpDialog.js | 0 .../localization/ru/MathML.js | 0 .../localization/ru/MathMenu.js | 0 .../localization/ru/TeX.js | 0 .../localization/ru/ru.js | 0 .../localization/scn/FontWarnings.js | 0 .../localization/scn/HTML-CSS.js | 0 .../localization/scn/HelpDialog.js | 0 .../localization/scn/MathML.js | 0 .../localization/scn/MathMenu.js | 0 .../localization/scn/TeX.js | 0 .../localization/scn/scn.js | 0 .../localization/sco/FontWarnings.js | 0 .../localization/sco/HTML-CSS.js | 0 .../localization/sco/HelpDialog.js | 0 .../localization/sco/MathML.js | 0 .../localization/sco/MathMenu.js | 0 .../localization/sco/TeX.js | 0 .../localization/sco/sco.js | 0 .../localization/sk/FontWarnings.js | 0 .../localization/sk/HTML-CSS.js | 0 .../localization/sk/HelpDialog.js | 0 .../localization/sk/MathML.js | 0 .../localization/sk/MathMenu.js | 0 .../localization/sk/TeX.js | 0 .../localization/sk/sk.js | 0 .../localization/sl/FontWarnings.js | 0 .../localization/sl/HTML-CSS.js | 0 .../localization/sl/HelpDialog.js | 0 .../localization/sl/MathML.js | 0 .../localization/sl/MathMenu.js | 0 .../localization/sl/TeX.js | 0 .../localization/sl/sl.js | 0 .../localization/sv/FontWarnings.js | 0 .../localization/sv/HTML-CSS.js | 0 .../localization/sv/HelpDialog.js | 0 .../localization/sv/MathML.js | 0 .../localization/sv/MathMenu.js | 0 .../localization/sv/TeX.js | 0 .../localization/sv/sv.js | 0 .../localization/th/FontWarnings.js | 0 .../localization/th/HTML-CSS.js | 0 .../localization/th/HelpDialog.js | 0 .../localization/th/MathML.js | 0 .../localization/th/MathMenu.js | 0 .../localization/th/TeX.js | 0 .../localization/th/th.js | 0 .../localization/tr/FontWarnings.js | 0 .../localization/tr/HTML-CSS.js | 0 .../localization/tr/HelpDialog.js | 0 .../localization/tr/MathML.js | 0 .../localization/tr/MathMenu.js | 0 .../localization/tr/TeX.js | 0 .../localization/tr/tr.js | 0 .../localization/uk/FontWarnings.js | 0 .../localization/uk/HTML-CSS.js | 0 .../localization/uk/HelpDialog.js | 0 .../localization/uk/MathML.js | 0 .../localization/uk/MathMenu.js | 0 .../localization/uk/TeX.js | 0 .../localization/uk/uk.js | 0 .../localization/vi/FontWarnings.js | 0 .../localization/vi/HTML-CSS.js | 0 .../localization/vi/HelpDialog.js | 0 .../localization/vi/MathML.js | 0 .../localization/vi/MathMenu.js | 0 .../localization/vi/TeX.js | 0 .../localization/vi/vi.js | 0 .../localization/zh-hans/FontWarnings.js | 0 .../localization/zh-hans/HTML-CSS.js | 0 .../localization/zh-hans/HelpDialog.js | 0 .../localization/zh-hans/MathML.js | 0 .../localization/zh-hans/MathMenu.js | 0 .../localization/zh-hans/TeX.js | 0 .../localization/zh-hans/zh-hans.js | 0 .../localization/zh-hant/FontWarnings.js | 0 .../localization/zh-hant/HTML-CSS.js | 0 .../localization/zh-hant/HelpDialog.js | 0 .../localization/zh-hant/MathML.js | 0 .../localization/zh-hant/MathMenu.js | 0 .../localization/zh-hant/TeX.js | 0 .../localization/zh-hant/zh-hant.js | 0 716 files changed, 8 insertions(+), 3 deletions(-) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/LICENSE (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/MathJax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/README.md (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/AM_CHTML-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/AM_CHTML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/AM_HTMLorMML-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/AM_HTMLorMML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/AM_SVG-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/AM_SVG.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/Accessible-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/Accessible.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/MML_CHTML-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/MML_CHTML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/MML_HTMLorMML-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/MML_HTMLorMML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/MML_SVG-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/MML_SVG.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/MMLorHTML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/Safe.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-AMS-MML_HTMLorMML-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-AMS-MML_HTMLorMML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-AMS-MML_SVG-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-AMS-MML_SVG.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-AMS_CHTML-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-AMS_CHTML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-AMS_HTML-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-AMS_HTML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-AMS_SVG-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-AMS_SVG.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-MML-AM_CHTML-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-MML-AM_CHTML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-MML-AM_HTMLorMML-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-MML-AM_HTMLorMML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-MML-AM_SVG-full.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/TeX-MML-AM_SVG.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/default.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/config/local/local.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/AssistiveMML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/CHTML-preview.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/HTML-CSS/handle-floats.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/MatchWebFonts.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/MathEvents.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/MathML/content-mathml.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/MathML/mml3.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/MathZoom.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/Safe.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/AMScd.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/AMSmath.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/AMSsymbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/HTML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/action.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/autobold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/autoload-all.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/bbox.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/begingroup.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/boldsymbol.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/cancel.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/color.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/enclose.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/extpfeil.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/mathchoice.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/mediawiki-texvc.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/mhchem.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/mhchem3/mhchem.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/newcommand.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/noErrors.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/noUndefined.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/unicode.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/TeX/verb.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/accessibility-menu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/auto-collapse.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/collapsible.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/explorer.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/invalid_keypress.mp3 (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/invalid_keypress.ogg (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathjax-sre.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/functions/algebra.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/functions/elementary.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/functions/hyperbolic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/functions/trigonometry.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/greek-capital.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-italic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-sans-serif-bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/greek-scripts.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/greek-small.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/greek-symbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/hebrew_letters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-lower-double-accent.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-lower-normal.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-lower-phonetic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-lower-single-accent.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-fraktur.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-script.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-double-struck.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-fraktur.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-italic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-monospace.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-italic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-script.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-rest.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-upper-double-accent.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-upper-normal.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/latin-upper-single-accent.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/math_angles.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/math_arrows.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/math_characters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/math_delimiters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/math_digits.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/math_geometry.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/math_harpoons.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/math_non_characters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/math_symbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/math_whitespace.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/symbols/other_stars.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/units/energy.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/units/length.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/units/memory.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/units/other.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/units/speed.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/units/temperature.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/units/time.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/units/volume.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/en/units/weight.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/functions/algebra.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/functions/elementary.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/functions/hyperbolic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/functions/trigonometry.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/greek-capital.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-italic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-sans-serif-bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/greek-scripts.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/greek-small.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/greek-symbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/hebrew_letters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-lower-double-accent.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-lower-normal.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-lower-phonetic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-lower-single-accent.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-fraktur.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-script.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-double-struck.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-fraktur.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-italic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-monospace.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-italic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-script.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-rest.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-upper-double-accent.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-upper-normal.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/latin-upper-single-accent.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/math_angles.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/math_arrows.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/math_characters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/math_delimiters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/math_digits.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/math_geometry.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/math_harpoons.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/math_non_characters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/math_symbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/math_whitespace.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/symbols/other_stars.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/units/energy.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/units/length.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/units/memory.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/units/other.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/units/speed.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/units/temperature.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/units/time.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/units/volume.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/es/units/weight.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/mathmaps/mathmaps_ie.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/semantic-enrich.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/a11y/wgxpath.install.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/asciimath2jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/fast-preview.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/jsMath2jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/mml2jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/tex2jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/extensions/toMathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/Arrows.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/BasicLatin.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/CombDiacritMarks.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/CombDiactForSymbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/Dingbats.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/GeneralPunctuation.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/GeometricShapes.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/GreekAndCoptic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/Latin1Supplement.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/LetterlikeSymbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/MathOperators.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/MiscMathSymbolsA.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/MiscMathSymbolsB.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/MiscSymbolsAndArrows.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/MiscTechnical.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/SpacingModLetters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/SuppMathOperators.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/SupplementalArrowsA.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/element/mml/optable/SupplementalArrowsB.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/AsciiMath/config.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/AsciiMath/jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/config.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/a.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/b.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/c.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/d.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/e.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/f.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/fr.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/g.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/h.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/i.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/j.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/k.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/l.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/m.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/n.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/o.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/opf.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/p.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/q.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/r.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/s.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/scr.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/t.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/u.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/v.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/w.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/x.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/y.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/entities/z.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/MathML/jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/TeX/config.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/input/TeX/jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/autoload/annotation-xml.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/autoload/maction.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/autoload/menclose.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/autoload/mglyph.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/autoload/mmultiscripts.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/autoload/ms.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/autoload/mtable.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/autoload/multiline.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/config.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/Main-Bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/Script-Regular.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/fonts/TeX/fontdata.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/CommonHTML/jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/NativeMML/config.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/NativeMML/jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/PlainSource/config.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/PlainSource/jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/PreviewHTML/config.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/PreviewHTML/jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/autoload/annotation-xml.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/autoload/maction.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/autoload/menclose.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/autoload/mglyph.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/autoload/mmultiscripts.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/autoload/ms.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/autoload/mtable.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/autoload/multiline.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/config.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Italic/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Regular/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Math/Italic/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Script/Regular/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/fontdata-extra.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/fonts/TeX/fontdata.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/jax/output/SVG/jax.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/latest.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ar/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ar/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ar/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ar/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ar/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ar/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ar/ar.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ast/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ast/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ast/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ast/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ast/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ast/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ast/ast.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bcc/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bcc/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bcc/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bcc/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bcc/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bcc/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bcc/bcc.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bg/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bg/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bg/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bg/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bg/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bg/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/bg/bg.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/br/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/br/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/br/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/br/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/br/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/br/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/br/br.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ca/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ca/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ca/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ca/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ca/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ca/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ca/ca.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cdo/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cdo/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cdo/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cdo/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cdo/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cdo/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cdo/cdo.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ce/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ce/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ce/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ce/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ce/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ce/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ce/ce.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cs/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cs/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cs/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cs/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cs/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cs/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cs/cs.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cy/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cy/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cy/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cy/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cy/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cy/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/cy/cy.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/da/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/da/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/da/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/da/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/da/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/da/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/da/da.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/de/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/de/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/de/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/de/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/de/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/de/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/de/de.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/diq/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/diq/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/diq/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/diq/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/diq/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/diq/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/diq/diq.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/en/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/en/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/en/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/en/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/en/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/en/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/en/en.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/eo/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/eo/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/eo/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/eo/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/eo/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/eo/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/eo/eo.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/es/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/es/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/es/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/es/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/es/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/es/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/es/es.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fa/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fa/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fa/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fa/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fa/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fa/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fa/fa.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fi/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fi/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fi/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fi/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fi/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fi/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fi/fi.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fr/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fr/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fr/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fr/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fr/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fr/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/fr/fr.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/gl/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/gl/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/gl/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/gl/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/gl/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/gl/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/gl/gl.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/he/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/he/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/he/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/he/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/he/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/he/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/he/he.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ia/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ia/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ia/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ia/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ia/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ia/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ia/ia.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/it/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/it/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/it/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/it/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/it/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/it/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/it/it.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ja/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ja/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ja/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ja/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ja/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ja/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ja/ja.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/kn/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/kn/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/kn/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/kn/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/kn/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/kn/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/kn/kn.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ko/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ko/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ko/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ko/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ko/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ko/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ko/ko.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lb/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lb/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lb/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lb/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lb/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lb/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lb/lb.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lki/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lki/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lki/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lki/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lki/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lki/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lki/lki.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lt/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lt/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lt/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lt/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lt/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lt/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/lt/lt.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/mk/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/mk/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/mk/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/mk/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/mk/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/mk/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/mk/mk.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/nl/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/nl/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/nl/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/nl/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/nl/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/nl/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/nl/nl.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/oc/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/oc/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/oc/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/oc/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/oc/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/oc/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/oc/oc.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pl/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pl/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pl/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pl/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pl/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pl/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pl/pl.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt-br/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt-br/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt-br/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt-br/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt-br/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt-br/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt-br/pt-br.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/pt/pt.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/qqq/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/qqq/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/qqq/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/qqq/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/qqq/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/qqq/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/qqq/qqq.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ru/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ru/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ru/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ru/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ru/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ru/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/ru/ru.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/scn/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/scn/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/scn/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/scn/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/scn/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/scn/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/scn/scn.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sco/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sco/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sco/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sco/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sco/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sco/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sco/sco.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sk/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sk/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sk/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sk/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sk/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sk/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sk/sk.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sl/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sl/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sl/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sl/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sl/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sl/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sl/sl.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sv/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sv/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sv/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sv/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sv/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sv/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/sv/sv.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/th/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/th/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/th/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/th/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/th/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/th/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/th/th.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/tr/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/tr/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/tr/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/tr/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/tr/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/tr/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/tr/tr.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/uk/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/uk/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/uk/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/uk/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/uk/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/uk/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/uk/uk.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/vi/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/vi/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/vi/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/vi/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/vi/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/vi/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/vi/vi.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hans/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hans/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hans/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hans/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hans/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hans/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hans/zh-hans.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hant/FontWarnings.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hant/HTML-CSS.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hant/HelpDialog.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hant/MathML.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hant/MathMenu.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hant/TeX.js (100%) rename src/py/kaleido/vendor/{Mathjax-2.7.5 => mathjax}/localization/zh-hant/zh-hant.js (100%) diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index f66b996f..d2883f1a 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -37,6 +37,7 @@ def __init__(self, plotlyjs=None, mathjax=None, topojson=None, mapbox_access_tok self._initialize_mathax(mathjax) except: # noqa TODO what would the actual error be self._mathjax = None + print(f"Mathjax result: {self._mathjax}") # to_image-level default values self.default_format = "png" @@ -51,11 +52,11 @@ def _initialize_mathax(self, mathjax=None): vendored_mathjax_path = os.path.join( os.path.dirname(os.path.dirname(os.path.abspath(__file__))), - 'executable', - 'etc', + 'vendor', 'mathjax', 'MathJax.js' - ) # TODO: #1 Not vendored yet + ) + print(f"Vendored mj path: {vendored_mathjax_path}") mathjax_path = None if os.path.exists(vendored_mathjax_path): # MathJax is vendored under kaleido/executable. diff --git a/src/py/kaleido/vendor/index.html b/src/py/kaleido/vendor/index.html index 31204dc6..3e4850d4 100644 --- a/src/py/kaleido/vendor/index.html +++ b/src/py/kaleido/vendor/index.html @@ -2,7 +2,11 @@ Kaleido-fier + + diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/LICENSE b/src/py/kaleido/vendor/mathjax/LICENSE similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/LICENSE rename to src/py/kaleido/vendor/mathjax/LICENSE diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/MathJax.js b/src/py/kaleido/vendor/mathjax/MathJax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/MathJax.js rename to src/py/kaleido/vendor/mathjax/MathJax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/README.md b/src/py/kaleido/vendor/mathjax/README.md similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/README.md rename to src/py/kaleido/vendor/mathjax/README.md diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/AM_CHTML-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML-full.js rename to src/py/kaleido/vendor/mathjax/config/AM_CHTML-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML.js b/src/py/kaleido/vendor/mathjax/config/AM_CHTML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_CHTML.js rename to src/py/kaleido/vendor/mathjax/config/AM_CHTML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML-full.js rename to src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_HTMLorMML.js rename to src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/AM_SVG-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG-full.js rename to src/py/kaleido/vendor/mathjax/config/AM_SVG-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG.js b/src/py/kaleido/vendor/mathjax/config/AM_SVG.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/AM_SVG.js rename to src/py/kaleido/vendor/mathjax/config/AM_SVG.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible-full.js b/src/py/kaleido/vendor/mathjax/config/Accessible-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible-full.js rename to src/py/kaleido/vendor/mathjax/config/Accessible-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible.js b/src/py/kaleido/vendor/mathjax/config/Accessible.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/Accessible.js rename to src/py/kaleido/vendor/mathjax/config/Accessible.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/MML_CHTML-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML-full.js rename to src/py/kaleido/vendor/mathjax/config/MML_CHTML-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML.js b/src/py/kaleido/vendor/mathjax/config/MML_CHTML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_CHTML.js rename to src/py/kaleido/vendor/mathjax/config/MML_CHTML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML-full.js rename to src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_HTMLorMML.js rename to src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/MML_SVG-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG-full.js rename to src/py/kaleido/vendor/mathjax/config/MML_SVG-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG.js b/src/py/kaleido/vendor/mathjax/config/MML_SVG.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/MML_SVG.js rename to src/py/kaleido/vendor/mathjax/config/MML_SVG.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/MMLorHTML.js b/src/py/kaleido/vendor/mathjax/config/MMLorHTML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/MMLorHTML.js rename to src/py/kaleido/vendor/mathjax/config/MMLorHTML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/Safe.js b/src/py/kaleido/vendor/mathjax/config/Safe.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/Safe.js rename to src/py/kaleido/vendor/mathjax/config/Safe.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML-full.js rename to src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_HTMLorMML.js rename to src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG-full.js rename to src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS-MML_SVG.js rename to src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML-full.js rename to src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_CHTML.js rename to src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML-full.js rename to src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_HTML.js rename to src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG-full.js rename to src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-AMS_SVG.js rename to src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML-full.js rename to src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_CHTML.js rename to src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML-full.js rename to src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_HTMLorMML.js rename to src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG-full.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG-full.js rename to src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG-full.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/TeX-MML-AM_SVG.js rename to src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/default.js b/src/py/kaleido/vendor/mathjax/config/default.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/default.js rename to src/py/kaleido/vendor/mathjax/config/default.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/config/local/local.js b/src/py/kaleido/vendor/mathjax/config/local/local.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/config/local/local.js rename to src/py/kaleido/vendor/mathjax/config/local/local.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/AssistiveMML.js b/src/py/kaleido/vendor/mathjax/extensions/AssistiveMML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/AssistiveMML.js rename to src/py/kaleido/vendor/mathjax/extensions/AssistiveMML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/CHTML-preview.js b/src/py/kaleido/vendor/mathjax/extensions/CHTML-preview.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/CHTML-preview.js rename to src/py/kaleido/vendor/mathjax/extensions/CHTML-preview.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/FontWarnings.js b/src/py/kaleido/vendor/mathjax/extensions/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/extensions/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HTML-CSS/handle-floats.js b/src/py/kaleido/vendor/mathjax/extensions/HTML-CSS/handle-floats.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HTML-CSS/handle-floats.js rename to src/py/kaleido/vendor/mathjax/extensions/HTML-CSS/handle-floats.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HelpDialog.js b/src/py/kaleido/vendor/mathjax/extensions/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/extensions/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MatchWebFonts.js b/src/py/kaleido/vendor/mathjax/extensions/MatchWebFonts.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MatchWebFonts.js rename to src/py/kaleido/vendor/mathjax/extensions/MatchWebFonts.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathEvents.js b/src/py/kaleido/vendor/mathjax/extensions/MathEvents.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathEvents.js rename to src/py/kaleido/vendor/mathjax/extensions/MathEvents.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathML/content-mathml.js b/src/py/kaleido/vendor/mathjax/extensions/MathML/content-mathml.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathML/content-mathml.js rename to src/py/kaleido/vendor/mathjax/extensions/MathML/content-mathml.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathML/mml3.js b/src/py/kaleido/vendor/mathjax/extensions/MathML/mml3.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathML/mml3.js rename to src/py/kaleido/vendor/mathjax/extensions/MathML/mml3.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathMenu.js b/src/py/kaleido/vendor/mathjax/extensions/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathMenu.js rename to src/py/kaleido/vendor/mathjax/extensions/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathZoom.js b/src/py/kaleido/vendor/mathjax/extensions/MathZoom.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/MathZoom.js rename to src/py/kaleido/vendor/mathjax/extensions/MathZoom.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/Safe.js b/src/py/kaleido/vendor/mathjax/extensions/Safe.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/Safe.js rename to src/py/kaleido/vendor/mathjax/extensions/Safe.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMScd.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMScd.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMScd.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/AMScd.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSmath.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSmath.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSmath.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/AMSmath.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSsymbols.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSsymbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/AMSsymbols.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/AMSsymbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/HTML.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/HTML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/HTML.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/HTML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/action.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/action.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/action.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/action.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autobold.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/autobold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autobold.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/autobold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autoload-all.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/autoload-all.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/autoload-all.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/autoload-all.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/bbox.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/bbox.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/bbox.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/bbox.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/begingroup.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/begingroup.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/begingroup.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/begingroup.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/boldsymbol.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/boldsymbol.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/boldsymbol.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/boldsymbol.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/cancel.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/cancel.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/cancel.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/cancel.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/color.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/color.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/color.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/color.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/enclose.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/enclose.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/enclose.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/enclose.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/extpfeil.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/extpfeil.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/extpfeil.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/extpfeil.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mathchoice.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mathchoice.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mathchoice.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/mathchoice.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mediawiki-texvc.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mediawiki-texvc.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mediawiki-texvc.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/mediawiki-texvc.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem3/mhchem.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem3/mhchem.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/mhchem3/mhchem.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem3/mhchem.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/newcommand.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/newcommand.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/newcommand.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/newcommand.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noErrors.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/noErrors.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noErrors.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/noErrors.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noUndefined.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/noUndefined.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/noUndefined.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/noUndefined.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/unicode.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/unicode.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/unicode.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/unicode.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/verb.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/verb.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/TeX/verb.js rename to src/py/kaleido/vendor/mathjax/extensions/TeX/verb.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/accessibility-menu.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/accessibility-menu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/accessibility-menu.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/accessibility-menu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/auto-collapse.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/auto-collapse.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/auto-collapse.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/auto-collapse.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/collapsible.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/collapsible.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/collapsible.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/collapsible.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/explorer.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/explorer.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/explorer.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/explorer.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/invalid_keypress.mp3 b/src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.mp3 similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/invalid_keypress.mp3 rename to src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.mp3 diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/invalid_keypress.ogg b/src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.ogg similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/invalid_keypress.ogg rename to src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.ogg diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathjax-sre.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathjax-sre.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathjax-sre.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathjax-sre.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/algebra.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/algebra.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/algebra.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/algebra.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/elementary.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/elementary.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/elementary.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/elementary.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/hyperbolic.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/hyperbolic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/hyperbolic.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/hyperbolic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/trigonometry.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/trigonometry.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/functions/trigonometry.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/trigonometry.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-capital.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-capital.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-capital.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-capital.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-bold.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-bold.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-italic.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-italic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-italic.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-italic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-sans-serif-bold.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-sans-serif-bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-sans-serif-bold.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-sans-serif-bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-scripts.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-scripts.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-scripts.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-scripts.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-small.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-small.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-small.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-small.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-symbols.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-symbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/greek-symbols.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-symbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/hebrew_letters.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/hebrew_letters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/hebrew_letters.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/hebrew_letters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-double-accent.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-double-accent.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-double-accent.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-double-accent.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-normal.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-normal.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-normal.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-normal.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-phonetic.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-phonetic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-phonetic.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-phonetic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-single-accent.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-single-accent.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-lower-single-accent.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-single-accent.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-fraktur.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-fraktur.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-fraktur.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-fraktur.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-script.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-script.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-script.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-script.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-double-struck.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-double-struck.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-double-struck.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-double-struck.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-fraktur.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-fraktur.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-fraktur.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-fraktur.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-italic.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-italic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-italic.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-italic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-monospace.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-monospace.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-monospace.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-monospace.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-bold.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-bold.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-italic.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-italic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-italic.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-italic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-script.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-script.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-script.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-script.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-rest.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-rest.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-rest.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-rest.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-upper-double-accent.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-double-accent.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-upper-double-accent.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-double-accent.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-upper-normal.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-normal.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-upper-normal.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-normal.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-upper-single-accent.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-single-accent.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/latin-upper-single-accent.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-single-accent.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_angles.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_angles.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_angles.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_angles.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_arrows.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_arrows.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_arrows.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_arrows.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_characters.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_characters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_characters.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_characters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_delimiters.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_delimiters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_delimiters.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_delimiters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_digits.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_digits.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_digits.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_digits.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_geometry.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_geometry.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_geometry.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_geometry.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_harpoons.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_harpoons.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_harpoons.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_harpoons.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_non_characters.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_non_characters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_non_characters.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_non_characters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_symbols.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_symbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_symbols.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_symbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_whitespace.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_whitespace.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/math_whitespace.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_whitespace.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/other_stars.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/other_stars.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/symbols/other_stars.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/other_stars.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/energy.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/energy.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/energy.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/energy.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/length.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/length.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/length.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/length.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/memory.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/memory.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/memory.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/memory.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/other.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/other.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/other.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/other.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/speed.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/speed.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/speed.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/speed.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/temperature.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/temperature.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/temperature.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/temperature.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/time.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/time.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/time.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/time.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/volume.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/volume.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/volume.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/volume.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/weight.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/weight.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/en/units/weight.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/weight.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/algebra.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/algebra.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/algebra.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/algebra.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/elementary.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/elementary.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/elementary.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/elementary.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/hyperbolic.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/hyperbolic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/hyperbolic.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/hyperbolic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/trigonometry.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/trigonometry.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/functions/trigonometry.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/trigonometry.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-capital.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-capital.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-capital.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-capital.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-bold.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-bold.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-italic.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-italic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-italic.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-italic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-sans-serif-bold.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-sans-serif-bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-sans-serif-bold.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-sans-serif-bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-scripts.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-scripts.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-scripts.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-scripts.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-small.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-small.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-small.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-small.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-symbols.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-symbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/greek-symbols.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-symbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/hebrew_letters.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/hebrew_letters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/hebrew_letters.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/hebrew_letters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-double-accent.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-double-accent.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-double-accent.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-double-accent.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-normal.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-normal.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-normal.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-normal.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-phonetic.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-phonetic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-phonetic.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-phonetic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-single-accent.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-single-accent.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-lower-single-accent.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-single-accent.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-fraktur.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-fraktur.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-fraktur.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-fraktur.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-script.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-script.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-script.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-script.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-double-struck.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-double-struck.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-double-struck.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-double-struck.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-fraktur.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-fraktur.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-fraktur.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-fraktur.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-italic.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-italic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-italic.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-italic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-monospace.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-monospace.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-monospace.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-monospace.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-bold.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-bold.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-italic.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-italic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-italic.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-italic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-script.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-script.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-script.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-script.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-rest.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-rest.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-rest.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-rest.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-upper-double-accent.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-double-accent.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-upper-double-accent.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-double-accent.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-upper-normal.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-normal.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-upper-normal.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-normal.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-upper-single-accent.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-single-accent.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/latin-upper-single-accent.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-single-accent.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_angles.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_angles.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_angles.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_angles.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_arrows.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_arrows.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_arrows.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_arrows.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_characters.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_characters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_characters.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_characters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_delimiters.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_delimiters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_delimiters.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_delimiters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_digits.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_digits.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_digits.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_digits.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_geometry.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_geometry.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_geometry.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_geometry.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_harpoons.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_harpoons.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_harpoons.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_harpoons.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_non_characters.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_non_characters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_non_characters.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_non_characters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_symbols.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_symbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_symbols.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_symbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_whitespace.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_whitespace.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/math_whitespace.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_whitespace.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/other_stars.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/other_stars.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/symbols/other_stars.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/other_stars.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/energy.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/energy.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/energy.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/energy.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/length.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/length.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/length.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/length.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/memory.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/memory.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/memory.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/memory.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/other.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/other.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/other.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/other.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/speed.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/speed.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/speed.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/speed.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/temperature.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/temperature.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/temperature.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/temperature.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/time.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/time.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/time.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/time.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/volume.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/volume.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/volume.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/volume.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/weight.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/weight.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/es/units/weight.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/weight.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/mathmaps_ie.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/mathmaps_ie.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/mathmaps/mathmaps_ie.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/mathmaps_ie.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/semantic-enrich.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/semantic-enrich.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/semantic-enrich.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/semantic-enrich.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/wgxpath.install.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/wgxpath.install.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/a11y/wgxpath.install.js rename to src/py/kaleido/vendor/mathjax/extensions/a11y/wgxpath.install.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/asciimath2jax.js b/src/py/kaleido/vendor/mathjax/extensions/asciimath2jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/asciimath2jax.js rename to src/py/kaleido/vendor/mathjax/extensions/asciimath2jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/fast-preview.js b/src/py/kaleido/vendor/mathjax/extensions/fast-preview.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/fast-preview.js rename to src/py/kaleido/vendor/mathjax/extensions/fast-preview.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/jsMath2jax.js b/src/py/kaleido/vendor/mathjax/extensions/jsMath2jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/jsMath2jax.js rename to src/py/kaleido/vendor/mathjax/extensions/jsMath2jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/mml2jax.js b/src/py/kaleido/vendor/mathjax/extensions/mml2jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/mml2jax.js rename to src/py/kaleido/vendor/mathjax/extensions/mml2jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/tex2jax.js b/src/py/kaleido/vendor/mathjax/extensions/tex2jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/tex2jax.js rename to src/py/kaleido/vendor/mathjax/extensions/tex2jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/extensions/toMathML.js b/src/py/kaleido/vendor/mathjax/extensions/toMathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/extensions/toMathML.js rename to src/py/kaleido/vendor/mathjax/extensions/toMathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/jax.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/jax.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Arrows.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Arrows.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Arrows.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Arrows.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/BasicLatin.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/BasicLatin.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/BasicLatin.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiacritMarks.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiacritMarks.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiacritMarks.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiactForSymbols.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiactForSymbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/CombDiactForSymbols.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiactForSymbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Dingbats.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Dingbats.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Dingbats.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Dingbats.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeneralPunctuation.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeneralPunctuation.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeneralPunctuation.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeometricShapes.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GeometricShapes.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeometricShapes.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GreekAndCoptic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/GreekAndCoptic.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GreekAndCoptic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Latin1Supplement.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Latin1Supplement.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/Latin1Supplement.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Latin1Supplement.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/LetterlikeSymbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/LetterlikeSymbols.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/LetterlikeSymbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MathOperators.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MathOperators.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MathOperators.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MathOperators.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsA.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsA.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsA.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsA.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsB.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsB.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscMathSymbolsB.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsB.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscSymbolsAndArrows.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscSymbolsAndArrows.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscSymbolsAndArrows.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscSymbolsAndArrows.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscTechnical.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscTechnical.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/MiscTechnical.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscTechnical.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SpacingModLetters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SpacingModLetters.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SpacingModLetters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SuppMathOperators.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SuppMathOperators.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SuppMathOperators.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsA.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsA.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsA.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsA.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsB.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsB.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/element/mml/optable/SupplementalArrowsB.js rename to src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsB.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/config.js b/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/config.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/config.js rename to src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/config.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/jax.js b/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/AsciiMath/jax.js rename to src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/config.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/config.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/config.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/config.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/a.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/a.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/a.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/a.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/b.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/b.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/b.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/b.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/c.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/c.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/c.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/c.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/d.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/d.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/d.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/d.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/e.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/e.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/e.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/e.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/f.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/f.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/f.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/f.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/fr.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/fr.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/fr.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/fr.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/g.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/g.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/g.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/g.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/h.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/h.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/h.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/h.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/i.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/i.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/i.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/i.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/j.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/j.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/j.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/j.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/k.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/k.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/k.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/k.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/l.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/l.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/l.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/l.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/m.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/m.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/m.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/m.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/n.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/n.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/n.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/n.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/o.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/o.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/o.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/o.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/opf.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/opf.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/opf.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/opf.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/p.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/p.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/p.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/p.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/q.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/q.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/q.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/q.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/r.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/r.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/r.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/r.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/s.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/s.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/s.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/s.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/scr.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/scr.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/scr.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/scr.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/t.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/t.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/t.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/t.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/u.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/u.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/u.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/u.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/v.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/v.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/v.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/v.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/w.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/w.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/w.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/w.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/x.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/x.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/x.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/x.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/y.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/y.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/y.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/y.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/z.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/z.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/entities/z.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/z.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/jax.js b/src/py/kaleido/vendor/mathjax/jax/input/MathML/jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/MathML/jax.js rename to src/py/kaleido/vendor/mathjax/jax/input/MathML/jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/config.js b/src/py/kaleido/vendor/mathjax/jax/input/TeX/config.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/config.js rename to src/py/kaleido/vendor/mathjax/jax/input/TeX/config.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/jax.js b/src/py/kaleido/vendor/mathjax/jax/input/TeX/jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/input/TeX/jax.js rename to src/py/kaleido/vendor/mathjax/jax/input/TeX/jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/annotation-xml.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/annotation-xml.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/annotation-xml.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/annotation-xml.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/maction.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/maction.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/maction.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/maction.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/menclose.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/menclose.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/menclose.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/menclose.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mglyph.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mglyph.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mglyph.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mglyph.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mmultiscripts.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mmultiscripts.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mmultiscripts.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mmultiscripts.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/ms.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/ms.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/ms.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/ms.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mtable.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mtable.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/mtable.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mtable.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/multiline.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/multiline.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/autoload/multiline.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/multiline.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/config.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/config.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/config.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/config.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Main-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Main-Bold.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Script-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Script-Regular.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/fonts/TeX/fontdata.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/CommonHTML/jax.js rename to src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/config.js b/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/config.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/config.js rename to src/py/kaleido/vendor/mathjax/jax/output/NativeMML/config.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/NativeMML/jax.js rename to src/py/kaleido/vendor/mathjax/jax/output/NativeMML/jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/config.js b/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/config.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/config.js rename to src/py/kaleido/vendor/mathjax/jax/output/PlainSource/config.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PlainSource/jax.js rename to src/py/kaleido/vendor/mathjax/jax/output/PlainSource/jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/config.js b/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/config.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/config.js rename to src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/config.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/PreviewHTML/jax.js rename to src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/annotation-xml.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/annotation-xml.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/annotation-xml.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/annotation-xml.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/maction.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/maction.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/maction.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/maction.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/menclose.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/menclose.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/menclose.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/menclose.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mglyph.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mglyph.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mglyph.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mglyph.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mmultiscripts.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mmultiscripts.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mmultiscripts.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mmultiscripts.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/ms.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/ms.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/ms.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/ms.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mtable.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mtable.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/mtable.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mtable.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/multiline.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/multiline.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/autoload/multiline.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/multiline.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/config.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/config.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/config.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/config.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Italic/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/Italic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/Italic/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Math/Italic/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/Italic/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Script/Regular/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata-extra.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata-extra.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata-extra.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata-extra.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/fonts/TeX/fontdata.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/jax.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/jax/output/SVG/jax.js rename to src/py/kaleido/vendor/mathjax/jax/output/SVG/jax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/latest.js b/src/py/kaleido/vendor/mathjax/latest.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/latest.js rename to src/py/kaleido/vendor/mathjax/latest.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ar/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/ar/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ar/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/ar/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ar/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/ar/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ar/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/ar/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ar/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/ar/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ar/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/ar/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/ar.js b/src/py/kaleido/vendor/mathjax/localization/ar/ar.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ar/ar.js rename to src/py/kaleido/vendor/mathjax/localization/ar/ar.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ast/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/ast/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ast/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/ast/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ast/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/ast/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ast/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/ast/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ast/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/ast/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ast/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/ast/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/ast.js b/src/py/kaleido/vendor/mathjax/localization/ast/ast.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ast/ast.js rename to src/py/kaleido/vendor/mathjax/localization/ast/ast.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/bcc/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/bcc/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/bcc/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/bcc/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/bcc/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/bcc/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathML.js b/src/py/kaleido/vendor/mathjax/localization/bcc/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/bcc/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/bcc/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/bcc/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/TeX.js b/src/py/kaleido/vendor/mathjax/localization/bcc/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/bcc/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/bcc.js b/src/py/kaleido/vendor/mathjax/localization/bcc/bcc.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bcc/bcc.js rename to src/py/kaleido/vendor/mathjax/localization/bcc/bcc.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/bg/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/bg/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/bg/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/bg/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/bg/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/bg/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathML.js b/src/py/kaleido/vendor/mathjax/localization/bg/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/bg/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/bg/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/bg/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/TeX.js b/src/py/kaleido/vendor/mathjax/localization/bg/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/bg/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/bg.js b/src/py/kaleido/vendor/mathjax/localization/bg/bg.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/bg/bg.js rename to src/py/kaleido/vendor/mathjax/localization/bg/bg.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/br/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/br/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/br/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/br/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/br/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/br/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathML.js b/src/py/kaleido/vendor/mathjax/localization/br/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/br/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/br/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/br/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/TeX.js b/src/py/kaleido/vendor/mathjax/localization/br/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/br/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/br.js b/src/py/kaleido/vendor/mathjax/localization/br/br.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/br/br.js rename to src/py/kaleido/vendor/mathjax/localization/br/br.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ca/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/ca/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ca/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/ca/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ca/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/ca/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ca/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/ca/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ca/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/ca/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ca/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/ca/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/ca.js b/src/py/kaleido/vendor/mathjax/localization/ca/ca.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ca/ca.js rename to src/py/kaleido/vendor/mathjax/localization/ca/ca.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/cdo/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/cdo/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/cdo/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/cdo/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/cdo/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/cdo/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathML.js b/src/py/kaleido/vendor/mathjax/localization/cdo/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/cdo/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/cdo/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/cdo/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/TeX.js b/src/py/kaleido/vendor/mathjax/localization/cdo/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/cdo/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/cdo.js b/src/py/kaleido/vendor/mathjax/localization/cdo/cdo.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cdo/cdo.js rename to src/py/kaleido/vendor/mathjax/localization/cdo/cdo.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ce/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/ce/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ce/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/ce/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ce/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/ce/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ce/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/ce/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ce/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/ce/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ce/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/ce/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/ce.js b/src/py/kaleido/vendor/mathjax/localization/ce/ce.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ce/ce.js rename to src/py/kaleido/vendor/mathjax/localization/ce/ce.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/cs/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/cs/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/cs/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/cs/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/cs/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/cs/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathML.js b/src/py/kaleido/vendor/mathjax/localization/cs/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/cs/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/cs/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/cs/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/TeX.js b/src/py/kaleido/vendor/mathjax/localization/cs/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/cs/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/cs.js b/src/py/kaleido/vendor/mathjax/localization/cs/cs.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cs/cs.js rename to src/py/kaleido/vendor/mathjax/localization/cs/cs.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/cy/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/cy/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/cy/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/cy/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/cy/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/cy/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathML.js b/src/py/kaleido/vendor/mathjax/localization/cy/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/cy/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/cy/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/cy/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/TeX.js b/src/py/kaleido/vendor/mathjax/localization/cy/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/cy/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/cy.js b/src/py/kaleido/vendor/mathjax/localization/cy/cy.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/cy/cy.js rename to src/py/kaleido/vendor/mathjax/localization/cy/cy.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/da/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/da/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/da/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/da/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/da/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/da/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathML.js b/src/py/kaleido/vendor/mathjax/localization/da/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/da/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/da/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/da/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/TeX.js b/src/py/kaleido/vendor/mathjax/localization/da/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/da/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/da.js b/src/py/kaleido/vendor/mathjax/localization/da/da.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/da/da.js rename to src/py/kaleido/vendor/mathjax/localization/da/da.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/de/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/de/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/de/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/de/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/de/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/de/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathML.js b/src/py/kaleido/vendor/mathjax/localization/de/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/de/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/de/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/de/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/TeX.js b/src/py/kaleido/vendor/mathjax/localization/de/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/de/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/de.js b/src/py/kaleido/vendor/mathjax/localization/de/de.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/de/de.js rename to src/py/kaleido/vendor/mathjax/localization/de/de.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/diq/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/diq/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/diq/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/diq/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/diq/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/diq/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathML.js b/src/py/kaleido/vendor/mathjax/localization/diq/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/diq/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/diq/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/diq/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/TeX.js b/src/py/kaleido/vendor/mathjax/localization/diq/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/diq/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/diq.js b/src/py/kaleido/vendor/mathjax/localization/diq/diq.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/diq/diq.js rename to src/py/kaleido/vendor/mathjax/localization/diq/diq.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/en/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/en/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/en/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/en/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/en/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/en/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathML.js b/src/py/kaleido/vendor/mathjax/localization/en/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/en/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/en/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/en/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/TeX.js b/src/py/kaleido/vendor/mathjax/localization/en/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/en/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/en.js b/src/py/kaleido/vendor/mathjax/localization/en/en.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/en/en.js rename to src/py/kaleido/vendor/mathjax/localization/en/en.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/eo/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/eo/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/eo/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/eo/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/eo/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/eo/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathML.js b/src/py/kaleido/vendor/mathjax/localization/eo/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/eo/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/eo/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/eo/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/TeX.js b/src/py/kaleido/vendor/mathjax/localization/eo/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/eo/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/eo.js b/src/py/kaleido/vendor/mathjax/localization/eo/eo.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/eo/eo.js rename to src/py/kaleido/vendor/mathjax/localization/eo/eo.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/es/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/es/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/es/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/es/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/es/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/es/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathML.js b/src/py/kaleido/vendor/mathjax/localization/es/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/es/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/es/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/es/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/TeX.js b/src/py/kaleido/vendor/mathjax/localization/es/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/es/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/es.js b/src/py/kaleido/vendor/mathjax/localization/es/es.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/es/es.js rename to src/py/kaleido/vendor/mathjax/localization/es/es.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/fa/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/fa/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/fa/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/fa/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/fa/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/fa/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathML.js b/src/py/kaleido/vendor/mathjax/localization/fa/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/fa/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/fa/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/fa/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/TeX.js b/src/py/kaleido/vendor/mathjax/localization/fa/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/fa/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/fa.js b/src/py/kaleido/vendor/mathjax/localization/fa/fa.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fa/fa.js rename to src/py/kaleido/vendor/mathjax/localization/fa/fa.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/fi/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/fi/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/fi/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/fi/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/fi/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/fi/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathML.js b/src/py/kaleido/vendor/mathjax/localization/fi/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/fi/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/fi/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/fi/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/TeX.js b/src/py/kaleido/vendor/mathjax/localization/fi/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/fi/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/fi.js b/src/py/kaleido/vendor/mathjax/localization/fi/fi.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fi/fi.js rename to src/py/kaleido/vendor/mathjax/localization/fi/fi.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/fr/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/fr/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/fr/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/fr/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/fr/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/fr/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathML.js b/src/py/kaleido/vendor/mathjax/localization/fr/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/fr/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/fr/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/fr/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/TeX.js b/src/py/kaleido/vendor/mathjax/localization/fr/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/fr/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/fr.js b/src/py/kaleido/vendor/mathjax/localization/fr/fr.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/fr/fr.js rename to src/py/kaleido/vendor/mathjax/localization/fr/fr.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/gl/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/gl/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/gl/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/gl/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/gl/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/gl/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/gl/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/gl/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/gl/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/gl/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/gl/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/gl/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/gl.js b/src/py/kaleido/vendor/mathjax/localization/gl/gl.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/gl/gl.js rename to src/py/kaleido/vendor/mathjax/localization/gl/gl.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/he/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/he/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/he/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/he/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/he/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/he/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathML.js b/src/py/kaleido/vendor/mathjax/localization/he/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/he/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/he/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/he/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/TeX.js b/src/py/kaleido/vendor/mathjax/localization/he/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/he/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/he.js b/src/py/kaleido/vendor/mathjax/localization/he/he.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/he/he.js rename to src/py/kaleido/vendor/mathjax/localization/he/he.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ia/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/ia/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ia/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/ia/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ia/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/ia/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ia/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/ia/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ia/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/ia/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ia/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/ia/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/ia.js b/src/py/kaleido/vendor/mathjax/localization/ia/ia.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ia/ia.js rename to src/py/kaleido/vendor/mathjax/localization/ia/ia.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/it/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/it/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/it/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/it/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/it/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/it/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathML.js b/src/py/kaleido/vendor/mathjax/localization/it/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/it/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/it/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/it/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/TeX.js b/src/py/kaleido/vendor/mathjax/localization/it/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/it/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/it.js b/src/py/kaleido/vendor/mathjax/localization/it/it.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/it/it.js rename to src/py/kaleido/vendor/mathjax/localization/it/it.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ja/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/ja/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ja/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/ja/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ja/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/ja/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ja/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/ja/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ja/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/ja/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ja/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/ja/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/ja.js b/src/py/kaleido/vendor/mathjax/localization/ja/ja.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ja/ja.js rename to src/py/kaleido/vendor/mathjax/localization/ja/ja.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/kn/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/kn/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/kn/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/kn/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/kn/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/kn/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathML.js b/src/py/kaleido/vendor/mathjax/localization/kn/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/kn/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/kn/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/kn/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/TeX.js b/src/py/kaleido/vendor/mathjax/localization/kn/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/kn/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/kn.js b/src/py/kaleido/vendor/mathjax/localization/kn/kn.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/kn/kn.js rename to src/py/kaleido/vendor/mathjax/localization/kn/kn.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ko/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/ko/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ko/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/ko/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ko/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/ko/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ko/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/ko/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ko/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/ko/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ko/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/ko/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/ko.js b/src/py/kaleido/vendor/mathjax/localization/ko/ko.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ko/ko.js rename to src/py/kaleido/vendor/mathjax/localization/ko/ko.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/lb/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/lb/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/lb/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/lb/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/lb/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/lb/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathML.js b/src/py/kaleido/vendor/mathjax/localization/lb/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/lb/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/lb/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/lb/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/TeX.js b/src/py/kaleido/vendor/mathjax/localization/lb/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/lb/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/lb.js b/src/py/kaleido/vendor/mathjax/localization/lb/lb.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lb/lb.js rename to src/py/kaleido/vendor/mathjax/localization/lb/lb.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/lki/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/lki/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/lki/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/lki/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/lki/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/lki/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathML.js b/src/py/kaleido/vendor/mathjax/localization/lki/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/lki/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/lki/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/lki/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/TeX.js b/src/py/kaleido/vendor/mathjax/localization/lki/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/lki/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/lki.js b/src/py/kaleido/vendor/mathjax/localization/lki/lki.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lki/lki.js rename to src/py/kaleido/vendor/mathjax/localization/lki/lki.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/lt/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/lt/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/lt/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/lt/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/lt/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/lt/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathML.js b/src/py/kaleido/vendor/mathjax/localization/lt/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/lt/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/lt/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/lt/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/TeX.js b/src/py/kaleido/vendor/mathjax/localization/lt/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/lt/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/lt.js b/src/py/kaleido/vendor/mathjax/localization/lt/lt.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/lt/lt.js rename to src/py/kaleido/vendor/mathjax/localization/lt/lt.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/mk/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/mk/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/mk/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/mk/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/mk/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/mk/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathML.js b/src/py/kaleido/vendor/mathjax/localization/mk/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/mk/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/mk/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/mk/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/TeX.js b/src/py/kaleido/vendor/mathjax/localization/mk/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/mk/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/mk.js b/src/py/kaleido/vendor/mathjax/localization/mk/mk.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/mk/mk.js rename to src/py/kaleido/vendor/mathjax/localization/mk/mk.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/nl/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/nl/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/nl/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/nl/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/nl/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/nl/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/nl/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/nl/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/nl/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/nl/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/nl/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/nl/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/nl.js b/src/py/kaleido/vendor/mathjax/localization/nl/nl.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/nl/nl.js rename to src/py/kaleido/vendor/mathjax/localization/nl/nl.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/oc/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/oc/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/oc/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/oc/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/oc/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/oc/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathML.js b/src/py/kaleido/vendor/mathjax/localization/oc/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/oc/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/oc/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/oc/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/TeX.js b/src/py/kaleido/vendor/mathjax/localization/oc/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/oc/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/oc.js b/src/py/kaleido/vendor/mathjax/localization/oc/oc.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/oc/oc.js rename to src/py/kaleido/vendor/mathjax/localization/oc/oc.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/pl/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/pl/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/pl/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/pl/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/pl/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/pl/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/pl/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/pl/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/pl/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/pl/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/pl/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/pl/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/pl.js b/src/py/kaleido/vendor/mathjax/localization/pl/pl.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pl/pl.js rename to src/py/kaleido/vendor/mathjax/localization/pl/pl.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/pt-br/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/pt-br/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/pt-br/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathML.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/pt-br/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/pt-br/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/TeX.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/pt-br/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/pt-br.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/pt-br.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt-br/pt-br.js rename to src/py/kaleido/vendor/mathjax/localization/pt-br/pt-br.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/pt/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/pt/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/pt/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/pt/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/pt/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/pt/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathML.js b/src/py/kaleido/vendor/mathjax/localization/pt/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/pt/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/pt/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/pt/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/TeX.js b/src/py/kaleido/vendor/mathjax/localization/pt/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/pt/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/pt.js b/src/py/kaleido/vendor/mathjax/localization/pt/pt.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/pt/pt.js rename to src/py/kaleido/vendor/mathjax/localization/pt/pt.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/qqq/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/qqq/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/qqq/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/qqq/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/qqq/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/qqq/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathML.js b/src/py/kaleido/vendor/mathjax/localization/qqq/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/qqq/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/qqq/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/qqq/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/TeX.js b/src/py/kaleido/vendor/mathjax/localization/qqq/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/qqq/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/qqq.js b/src/py/kaleido/vendor/mathjax/localization/qqq/qqq.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/qqq/qqq.js rename to src/py/kaleido/vendor/mathjax/localization/qqq/qqq.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ru/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/ru/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ru/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/ru/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ru/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/ru/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ru/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/ru/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ru/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/ru/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ru/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/ru/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/ru.js b/src/py/kaleido/vendor/mathjax/localization/ru/ru.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/ru/ru.js rename to src/py/kaleido/vendor/mathjax/localization/ru/ru.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/scn/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/scn/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/scn/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/scn/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/scn/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/scn/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathML.js b/src/py/kaleido/vendor/mathjax/localization/scn/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/scn/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/scn/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/scn/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/TeX.js b/src/py/kaleido/vendor/mathjax/localization/scn/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/scn/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/scn.js b/src/py/kaleido/vendor/mathjax/localization/scn/scn.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/scn/scn.js rename to src/py/kaleido/vendor/mathjax/localization/scn/scn.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sco/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/sco/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sco/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/sco/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sco/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/sco/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sco/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/sco/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sco/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/sco/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sco/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/sco/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/sco.js b/src/py/kaleido/vendor/mathjax/localization/sco/sco.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sco/sco.js rename to src/py/kaleido/vendor/mathjax/localization/sco/sco.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sk/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/sk/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sk/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/sk/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sk/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/sk/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sk/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/sk/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sk/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/sk/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sk/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/sk/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/sk.js b/src/py/kaleido/vendor/mathjax/localization/sk/sk.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sk/sk.js rename to src/py/kaleido/vendor/mathjax/localization/sk/sk.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sl/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/sl/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sl/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/sl/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sl/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/sl/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sl/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/sl/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sl/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/sl/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sl/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/sl/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/sl.js b/src/py/kaleido/vendor/mathjax/localization/sl/sl.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sl/sl.js rename to src/py/kaleido/vendor/mathjax/localization/sl/sl.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sv/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/sv/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sv/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/sv/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sv/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/sv/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sv/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/sv/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sv/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/sv/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sv/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/sv/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/sv.js b/src/py/kaleido/vendor/mathjax/localization/sv/sv.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/sv/sv.js rename to src/py/kaleido/vendor/mathjax/localization/sv/sv.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/th/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/th/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/th/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/th/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/th/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/th/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathML.js b/src/py/kaleido/vendor/mathjax/localization/th/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/th/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/th/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/th/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/TeX.js b/src/py/kaleido/vendor/mathjax/localization/th/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/th/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/th.js b/src/py/kaleido/vendor/mathjax/localization/th/th.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/th/th.js rename to src/py/kaleido/vendor/mathjax/localization/th/th.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/tr/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/tr/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/tr/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/tr/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/tr/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/tr/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathML.js b/src/py/kaleido/vendor/mathjax/localization/tr/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/tr/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/tr/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/tr/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/TeX.js b/src/py/kaleido/vendor/mathjax/localization/tr/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/tr/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/tr.js b/src/py/kaleido/vendor/mathjax/localization/tr/tr.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/tr/tr.js rename to src/py/kaleido/vendor/mathjax/localization/tr/tr.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/uk/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/uk/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/uk/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/uk/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/uk/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/uk/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathML.js b/src/py/kaleido/vendor/mathjax/localization/uk/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/uk/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/uk/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/uk/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/TeX.js b/src/py/kaleido/vendor/mathjax/localization/uk/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/uk/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/uk.js b/src/py/kaleido/vendor/mathjax/localization/uk/uk.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/uk/uk.js rename to src/py/kaleido/vendor/mathjax/localization/uk/uk.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/vi/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/vi/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/vi/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/vi/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/vi/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/vi/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathML.js b/src/py/kaleido/vendor/mathjax/localization/vi/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/vi/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/vi/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/vi/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/TeX.js b/src/py/kaleido/vendor/mathjax/localization/vi/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/vi/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/vi.js b/src/py/kaleido/vendor/mathjax/localization/vi/vi.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/vi/vi.js rename to src/py/kaleido/vendor/mathjax/localization/vi/vi.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hans/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hans/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hans/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathML.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hans/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hans/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/TeX.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hans/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/zh-hans.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/zh-hans.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hans/zh-hans.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hans/zh-hans.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/FontWarnings.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/FontWarnings.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hant/FontWarnings.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/HTML-CSS.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HTML-CSS.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hant/HTML-CSS.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/HelpDialog.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/HelpDialog.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hant/HelpDialog.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathML.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathML.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathML.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hant/MathML.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathMenu.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/MathMenu.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hant/MathMenu.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/TeX.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/TeX.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/TeX.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hant/TeX.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/zh-hant.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/zh-hant.js similarity index 100% rename from src/py/kaleido/vendor/Mathjax-2.7.5/localization/zh-hant/zh-hant.js rename to src/py/kaleido/vendor/mathjax/localization/zh-hant/zh-hant.js From 4dcef439a38c08ac35d3d711b7907ecc8a91d98b Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 20 Oct 2024 20:36:41 -0400 Subject: [PATCH 470/510] Include topojson by default --- src/py/kaleido/vendor/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/src/py/kaleido/vendor/index.html b/src/py/kaleido/vendor/index.html index 3e4850d4..c8beae9a 100644 --- a/src/py/kaleido/vendor/index.html +++ b/src/py/kaleido/vendor/index.html @@ -7,6 +7,7 @@ + From 7605afb2b11c1215911b646b3af602b6c6c3e3a1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Sun, 20 Oct 2024 20:47:39 -0400 Subject: [PATCH 471/510] Add topojson/mapboxtoken args to plotlyscopes --- src/py/kaleido/__init__.py | 16 +++++++++++----- src/py/kaleido/scopes/plotly.py | 2 +- src/py/kaleido/vendor/index.html | 1 - 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index dad3f6a0..98ca5b4c 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -15,7 +15,7 @@ _scope_flags_ = ("plotlyjs", "mathjax", "topojson", "mapbox_access_token") -def to_image_block(spec): +def to_image_block(spec, topojson=None, mapbox_token=None): loop = None try: loop = asyncio.get_running_loop() @@ -24,9 +24,9 @@ def to_image_block(spec): if loop: raise RuntimeError("Kaleido doesn't support asyncio + the old kaleido API yet.") else: - return asyncio.run(to_image(spec)) + return asyncio.run(to_image(spec, topojson, mapbox_token)) -async def to_image(spec): +async def to_image(spec, topojson=None, mapbox_token=None): async with Browser(headless=True) as browser: tab = await browser.create_tab(script_path.as_uri()) await tab.send_command("Page.enable") @@ -50,10 +50,16 @@ async def load_done_cb(response): await event_done kaleido_jsfn = r"function(spec, ...args) { console.log(typeof spec); console.log(spec); return kaleido_scopes.plotly(spec, ...args).then(JSON.stringify); }" - + extra_args = [] + if topojson: + extra_args.append(dict(value=topojson)) + if mapbox_token: + extra_args.append(dict(value=mapbox_token)) + arguments = [dict(value=spec)] + arguments.extend(extra_args) params = dict( functionDeclaration=kaleido_jsfn, - arguments=[dict(value=spec)], + arguments=arguments, returnByValue=False, userGesture=True, awaitPromise=True, diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index d2883f1a..bdd95096 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -156,7 +156,7 @@ def transform(self, figure, format=None, width=None, height=None, scale=None): # Write to process and read result within a lock so that can be # sure we're reading the response to our request with _proc_lock: - img = kaleido.to_image_block(spec) + img = kaleido.to_image_block(spec, self._topojson, self._mapbox_access_token) return img diff --git a/src/py/kaleido/vendor/index.html b/src/py/kaleido/vendor/index.html index c8beae9a..3e4850d4 100644 --- a/src/py/kaleido/vendor/index.html +++ b/src/py/kaleido/vendor/index.html @@ -7,7 +7,6 @@ - From 76fbc60b3ec8b05936221121c38bd2c6c70f4288 Mon Sep 17 00:00:00 2001 From: Greg Wilson Date: Mon, 21 Oct 2024 09:03:00 -0400 Subject: [PATCH 472/510] docs: update README and LICENSE and add code of conduct (#208) --- CODE_OF_CONDUCT.md | 70 +++++++++++++++++++++++++++++++++++++++ LICENSE.txt => LICENSE.md | 4 +-- README.md | 65 ++++++++++++++++-------------------- 3 files changed, 99 insertions(+), 40 deletions(-) create mode 100644 CODE_OF_CONDUCT.md rename LICENSE.txt => LICENSE.md (90%) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..bcc60e4e --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,70 @@ +# Code of Conduct + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of +experience, education, socioeconomic status, nationality, personal appearance, +race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* using welcoming and inclusive language, +* being respectful of differing viewpoints and experiences, +* gracefully accepting constructive criticism, +* focusing on what is best for the community, and +* showing empathy towards other community members. + +Examples of unacceptable behavior by participants include: + +* the use of sexualized language or imagery and unwelcome sexual + attention or advances, +* trolling, insulting/derogatory comments, and personal or political + attacks, +* public or private harassment, +* publishing others' private information, such as a physical or + electronic address, without explicit permission, and +* other conduct which could reasonably be considered inappropriate in + a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, or to ban temporarily or permanently any +contributor for other behaviors that they deem inappropriate, threatening, +offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project email +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by emailing the project team. All complaints will be reviewed +and investigated and will result in a response that is deemed necessary and +appropriate to the circumstances. The project team is obligated to maintain +confidentiality with regard to the reporter of an incident. Further details of +specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from +the [Contributor Covenant](https://www.contributor-covenant.org/) version 1.4. diff --git a/LICENSE.txt b/LICENSE.md similarity index 90% rename from LICENSE.txt rename to LICENSE.md index abfefa0d..7880ca78 100644 --- a/LICENSE.txt +++ b/LICENSE.md @@ -1,8 +1,6 @@ -All code developed in this repository is released under the MIT license. - The MIT License (MIT) -Copyright (c) 2020 Plotly, Inc +Copyright (c) Plotly, Inc Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 8e88b577..7ae303c9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# Overview -Kaleido is a cross-platform library for generating static images (e.g. png, svg, pdf, etc.) for web-based visualization libraries. +# Kaleido -In short: If you `pip install kaleido` you can use `fig.write_image("filename.png")`. +Kaleido is a cross-platform library for generating static images for [Plotly][plotly]'s visualization library. +After installing it, you can use `fig.write_image("filename.png")` to save a plot to a file. -# Installing Kaleido +## How It Works -The kaleido package can be installed from [PyPI](https://pypi.org/) using pip... +The original version of kaleido included a custom build of the Chrome web browser, +which made it very large (hundreds of megabytes) and proved very difficult to maintain. +In contrast, +this version depends on [choreographer][choreographer], +a lightweight library that enables remote control of browsers from Python. +When you ask kaleido to create an image, +it uses choreographer to run a headless instance of Chrome to render and save your figure. +Please see choreographer's documentation for details. -``` -$ pip install kaleido -``` +> The new version of kaleido is a work on progress; we would be grateful for help testing it and improving it. +> If you find a bug, please report it in [our GitHub repository][repo], +> and please include a minimal reproducible example if you can. + +## Installation -or from [conda-forge](https://conda-forge.org/) using conda. +You can install kaleido from [PyPI][pypi] using pip: ``` -$ conda install -c conda-forge python-kaleido +$ pip install kaleido ``` -# Use Kaleido to export plotly.py figures as static images +## Use -Versions 4.9 and above of the Plotly Python library will automatically use kaleido for static image export when kaleido is installed. For example: +Versions 4.9 and above of the Plotly Python library will automatically use kaleido for static image export when kaleido is installed. +For example: ```python import plotly.express as px @@ -33,29 +43,10 @@ fig = px.scatter(px.data.iris(), x="sepal_length", y="sepal_width", color="speci fig.write_image("figure.png", engine="kaleido") ``` -Then, open `figure.png` in the current working directory. - -![fig](https://user-images.githubusercontent.com/15064365/101241780-3590b580-36c7-11eb-8eba-eb1fae256ad0.png) - -See the plotly static image export documentation for more information: https://plotly.com/python/static-image-export/. - -# Previous Kaleido API - -Kaleido was previously arcitectured to accept "scopes"- they are no longer necessary. The old API is demonstrated below but it is only supported to the extent needed as to not break previous implementations of kaleido for plotly. This API will likely emit a deprecation warning, and proceed to be unsupported. - -```python -from kaleido.scopes.plotly import PlotlyScope -import plotly.graph_objects as go -scope = PlotlyScope( - plotlyjs="https://cdn.plot.ly/plotly-latest.min.js", - # plotlyjs="/path/to/local/plotly.js", -) - -fig = go.Figure(data=[go.Scatter(y=[1, 3, 2])]) -with open("figure.png", "wb") as f: - f.write(scope.transform(fig, format="png")) -``` - -Then, open `figure.png` in the current working directory. +See the [Plotly static image export documentation][plotly-export] for more information. -![figure](https://user-images.githubusercontent.com/15064365/86343448-f8f7f400-bc26-11ea-9191-6803748c2dc9.png) +[choreographer]: https://pypi.org/project/choreographer/ +[plotly]: https://plotly.com/ +[plotly-export]: https://plotly.com/python/static-image-export/ +[pypi]: https://pypi.org/ +[repo]: https://github.com/plotly/Kaleido From 110da7aef0faff5dfdd7e696162f9fc60773d97c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 21 Oct 2024 15:29:53 -0400 Subject: [PATCH 473/510] Commit vendored subdirs --- src/py/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/py/pyproject.toml b/src/py/pyproject.toml index 57f8294d..6a39eb4d 100644 --- a/src/py/pyproject.toml +++ b/src/py/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" find = {namespaces = false} [tool.setuptools.package-data] -kaleido = ['vendor/*'] +kaleido = ['vendor/**'] [tool.setuptools-git-versioning] enabled = true From 2c3362046c7848c297bd12c87c298c696ad2a69f Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 21 Oct 2024 15:43:07 -0400 Subject: [PATCH 474/510] Change mathjax vendor strategy --- src/py/kaleido/scopes/plotly.py | 2 +- .../kaleido/vendor/{mathjax => }/MathJax.js | 0 src/py/kaleido/vendor/Mathjax-2.7.5.zip | Bin 1931789 -> 0 bytes src/py/kaleido/vendor/mathjax/LICENSE | 202 -- src/py/kaleido/vendor/mathjax/README.md | 53 - .../vendor/mathjax/config/AM_CHTML-full.js | 21 - .../kaleido/vendor/mathjax/config/AM_CHTML.js | 21 - .../mathjax/config/AM_HTMLorMML-full.js | 22 - .../vendor/mathjax/config/AM_HTMLorMML.js | 22 - .../vendor/mathjax/config/AM_SVG-full.js | 21 - .../kaleido/vendor/mathjax/config/AM_SVG.js | 21 - .../vendor/mathjax/config/Accessible-full.js | 30 - .../vendor/mathjax/config/Accessible.js | 30 - .../vendor/mathjax/config/MML_CHTML-full.js | 21 - .../vendor/mathjax/config/MML_CHTML.js | 21 - .../mathjax/config/MML_HTMLorMML-full.js | 22 - .../vendor/mathjax/config/MML_HTMLorMML.js | 22 - .../vendor/mathjax/config/MML_SVG-full.js | 21 - .../kaleido/vendor/mathjax/config/MML_SVG.js | 21 - .../vendor/mathjax/config/MMLorHTML.js | 111 - src/py/kaleido/vendor/mathjax/config/Safe.js | 37 - .../config/TeX-AMS-MML_HTMLorMML-full.js | 22 - .../mathjax/config/TeX-AMS-MML_HTMLorMML.js | 22 - .../mathjax/config/TeX-AMS-MML_SVG-full.js | 21 - .../vendor/mathjax/config/TeX-AMS-MML_SVG.js | 21 - .../mathjax/config/TeX-AMS_CHTML-full.js | 21 - .../vendor/mathjax/config/TeX-AMS_CHTML.js | 21 - .../mathjax/config/TeX-AMS_HTML-full.js | 21 - .../vendor/mathjax/config/TeX-AMS_HTML.js | 21 - .../vendor/mathjax/config/TeX-AMS_SVG-full.js | 21 - .../vendor/mathjax/config/TeX-AMS_SVG.js | 21 - .../mathjax/config/TeX-MML-AM_CHTML-full.js | 21 - .../vendor/mathjax/config/TeX-MML-AM_CHTML.js | 21 - .../config/TeX-MML-AM_HTMLorMML-full.js | 22 - .../mathjax/config/TeX-MML-AM_HTMLorMML.js | 22 - .../mathjax/config/TeX-MML-AM_SVG-full.js | 21 - .../vendor/mathjax/config/TeX-MML-AM_SVG.js | 21 - .../kaleido/vendor/mathjax/config/default.js | 1104 ------- .../vendor/mathjax/config/local/local.js | 40 - .../vendor/mathjax/extensions/AssistiveMML.js | 161 - .../mathjax/extensions/CHTML-preview.js | 30 - .../vendor/mathjax/extensions/FontWarnings.js | 313 -- .../extensions/HTML-CSS/handle-floats.js | 49 - .../vendor/mathjax/extensions/HelpDialog.js | 203 -- .../mathjax/extensions/MatchWebFonts.js | 309 -- .../vendor/mathjax/extensions/MathEvents.js | 619 ---- .../extensions/MathML/content-mathml.js | 1743 ---------- .../vendor/mathjax/extensions/MathML/mml3.js | 784 ----- .../vendor/mathjax/extensions/MathMenu.js | 1664 ---------- .../vendor/mathjax/extensions/MathZoom.js | 366 --- .../kaleido/vendor/mathjax/extensions/Safe.js | 428 --- .../vendor/mathjax/extensions/TeX/AMScd.js | 158 - .../vendor/mathjax/extensions/TeX/AMSmath.js | 658 ---- .../mathjax/extensions/TeX/AMSsymbols.js | 349 -- .../vendor/mathjax/extensions/TeX/HTML.js | 106 - .../vendor/mathjax/extensions/TeX/action.js | 83 - .../vendor/mathjax/extensions/TeX/autobold.js | 50 - .../mathjax/extensions/TeX/autoload-all.js | 83 - .../vendor/mathjax/extensions/TeX/bbox.js | 102 - .../mathjax/extensions/TeX/begingroup.js | 292 -- .../mathjax/extensions/TeX/boldsymbol.js | 75 - .../vendor/mathjax/extensions/TeX/cancel.js | 110 - .../vendor/mathjax/extensions/TeX/color.js | 281 -- .../vendor/mathjax/extensions/TeX/enclose.js | 91 - .../vendor/mathjax/extensions/TeX/extpfeil.js | 102 - .../mathjax/extensions/TeX/mathchoice.js | 107 - .../mathjax/extensions/TeX/mediawiki-texvc.js | 137 - .../vendor/mathjax/extensions/TeX/mhchem.js | 520 --- .../mathjax/extensions/TeX/mhchem3/mhchem.js | 1770 ---------- .../mathjax/extensions/TeX/newcommand.js | 270 -- .../vendor/mathjax/extensions/TeX/noErrors.js | 405 --- .../mathjax/extensions/TeX/noUndefined.js | 72 - .../vendor/mathjax/extensions/TeX/unicode.js | 170 - .../vendor/mathjax/extensions/TeX/verb.js | 61 - .../extensions/a11y/accessibility-menu.js | 1 - .../mathjax/extensions/a11y/auto-collapse.js | 1 - .../mathjax/extensions/a11y/collapsible.js | 1 - .../mathjax/extensions/a11y/explorer.js | 1 - .../extensions/a11y/invalid_keypress.mp3 | Bin 9030 -> 0 bytes .../extensions/a11y/invalid_keypress.ogg | Bin 5353 -> 0 bytes .../mathjax/extensions/a11y/mathjax-sre.js | 985 ------ .../a11y/mathmaps/en/functions/algebra.js | 1 - .../a11y/mathmaps/en/functions/elementary.js | 1 - .../a11y/mathmaps/en/functions/hyperbolic.js | 1 - .../mathmaps/en/functions/trigonometry.js | 1 - .../a11y/mathmaps/en/symbols/greek-capital.js | 1 - .../en/symbols/greek-mathfonts-bold.js | 1 - .../en/symbols/greek-mathfonts-italic.js | 1 - .../greek-mathfonts-sans-serif-bold.js | 1 - .../a11y/mathmaps/en/symbols/greek-scripts.js | 1 - .../a11y/mathmaps/en/symbols/greek-small.js | 1 - .../a11y/mathmaps/en/symbols/greek-symbols.js | 1 - .../mathmaps/en/symbols/hebrew_letters.js | 1 - .../en/symbols/latin-lower-double-accent.js | 1 - .../mathmaps/en/symbols/latin-lower-normal.js | 1 - .../en/symbols/latin-lower-phonetic.js | 1 - .../en/symbols/latin-lower-single-accent.js | 1 - .../symbols/latin-mathfonts-bold-fraktur.js | 1 - .../en/symbols/latin-mathfonts-bold-script.js | 1 - .../en/symbols/latin-mathfonts-bold.js | 1 - .../symbols/latin-mathfonts-double-struck.js | 1 - .../en/symbols/latin-mathfonts-fraktur.js | 1 - .../en/symbols/latin-mathfonts-italic.js | 1 - .../en/symbols/latin-mathfonts-monospace.js | 1 - .../latin-mathfonts-sans-serif-bold.js | 1 - .../latin-mathfonts-sans-serif-italic.js | 1 - .../en/symbols/latin-mathfonts-sans-serif.js | 1 - .../en/symbols/latin-mathfonts-script.js | 1 - .../a11y/mathmaps/en/symbols/latin-rest.js | 1 - .../en/symbols/latin-upper-double-accent.js | 1 - .../mathmaps/en/symbols/latin-upper-normal.js | 1 - .../en/symbols/latin-upper-single-accent.js | 1 - .../a11y/mathmaps/en/symbols/math_angles.js | 1 - .../a11y/mathmaps/en/symbols/math_arrows.js | 1 - .../mathmaps/en/symbols/math_characters.js | 1 - .../mathmaps/en/symbols/math_delimiters.js | 1 - .../a11y/mathmaps/en/symbols/math_digits.js | 1 - .../a11y/mathmaps/en/symbols/math_geometry.js | 1 - .../a11y/mathmaps/en/symbols/math_harpoons.js | 1 - .../en/symbols/math_non_characters.js | 1 - .../a11y/mathmaps/en/symbols/math_symbols.js | 1 - .../mathmaps/en/symbols/math_whitespace.js | 1 - .../a11y/mathmaps/en/symbols/other_stars.js | 1 - .../a11y/mathmaps/en/units/energy.js | 1 - .../a11y/mathmaps/en/units/length.js | 1 - .../a11y/mathmaps/en/units/memory.js | 1 - .../a11y/mathmaps/en/units/other.js | 1 - .../a11y/mathmaps/en/units/speed.js | 1 - .../a11y/mathmaps/en/units/temperature.js | 1 - .../extensions/a11y/mathmaps/en/units/time.js | 1 - .../a11y/mathmaps/en/units/volume.js | 1 - .../a11y/mathmaps/en/units/weight.js | 1 - .../a11y/mathmaps/es/functions/algebra.js | 1 - .../a11y/mathmaps/es/functions/elementary.js | 1 - .../a11y/mathmaps/es/functions/hyperbolic.js | 1 - .../mathmaps/es/functions/trigonometry.js | 1 - .../a11y/mathmaps/es/symbols/greek-capital.js | 1 - .../es/symbols/greek-mathfonts-bold.js | 1 - .../es/symbols/greek-mathfonts-italic.js | 1 - .../greek-mathfonts-sans-serif-bold.js | 1 - .../a11y/mathmaps/es/symbols/greek-scripts.js | 1 - .../a11y/mathmaps/es/symbols/greek-small.js | 1 - .../a11y/mathmaps/es/symbols/greek-symbols.js | 1 - .../mathmaps/es/symbols/hebrew_letters.js | 1 - .../es/symbols/latin-lower-double-accent.js | 1 - .../mathmaps/es/symbols/latin-lower-normal.js | 1 - .../es/symbols/latin-lower-phonetic.js | 1 - .../es/symbols/latin-lower-single-accent.js | 1 - .../symbols/latin-mathfonts-bold-fraktur.js | 1 - .../es/symbols/latin-mathfonts-bold-script.js | 1 - .../es/symbols/latin-mathfonts-bold.js | 1 - .../symbols/latin-mathfonts-double-struck.js | 1 - .../es/symbols/latin-mathfonts-fraktur.js | 1 - .../es/symbols/latin-mathfonts-italic.js | 1 - .../es/symbols/latin-mathfonts-monospace.js | 1 - .../latin-mathfonts-sans-serif-bold.js | 1 - .../latin-mathfonts-sans-serif-italic.js | 1 - .../es/symbols/latin-mathfonts-sans-serif.js | 1 - .../es/symbols/latin-mathfonts-script.js | 1 - .../a11y/mathmaps/es/symbols/latin-rest.js | 1 - .../es/symbols/latin-upper-double-accent.js | 1 - .../mathmaps/es/symbols/latin-upper-normal.js | 1 - .../es/symbols/latin-upper-single-accent.js | 1 - .../a11y/mathmaps/es/symbols/math_angles.js | 1 - .../a11y/mathmaps/es/symbols/math_arrows.js | 1 - .../mathmaps/es/symbols/math_characters.js | 1 - .../mathmaps/es/symbols/math_delimiters.js | 1 - .../a11y/mathmaps/es/symbols/math_digits.js | 1 - .../a11y/mathmaps/es/symbols/math_geometry.js | 1 - .../a11y/mathmaps/es/symbols/math_harpoons.js | 1 - .../es/symbols/math_non_characters.js | 1 - .../a11y/mathmaps/es/symbols/math_symbols.js | 1 - .../mathmaps/es/symbols/math_whitespace.js | 1 - .../a11y/mathmaps/es/symbols/other_stars.js | 1 - .../a11y/mathmaps/es/units/energy.js | 1 - .../a11y/mathmaps/es/units/length.js | 1 - .../a11y/mathmaps/es/units/memory.js | 1 - .../a11y/mathmaps/es/units/other.js | 1 - .../a11y/mathmaps/es/units/speed.js | 1 - .../a11y/mathmaps/es/units/temperature.js | 1 - .../extensions/a11y/mathmaps/es/units/time.js | 1 - .../a11y/mathmaps/es/units/volume.js | 1 - .../a11y/mathmaps/es/units/weight.js | 1 - .../extensions/a11y/mathmaps/mathmaps_ie.js | 308 -- .../extensions/a11y/semantic-enrich.js | 1 - .../extensions/a11y/wgxpath.install.js | 77 - .../mathjax/extensions/asciimath2jax.js | 254 -- .../vendor/mathjax/extensions/fast-preview.js | 155 - .../vendor/mathjax/extensions/jsMath2jax.js | 105 - .../vendor/mathjax/extensions/mml2jax.js | 263 -- .../vendor/mathjax/extensions/tex2jax.js | 319 -- .../vendor/mathjax/extensions/toMathML.js | 241 -- .../vendor/mathjax/jax/element/mml/jax.js | 1813 ----------- .../mathjax/jax/element/mml/optable/Arrows.js | 122 - .../jax/element/mml/optable/BasicLatin.js | 65 - .../element/mml/optable/CombDiacritMarks.js | 35 - .../mml/optable/CombDiactForSymbols.js | 36 - .../jax/element/mml/optable/Dingbats.js | 38 - .../element/mml/optable/GeneralPunctuation.js | 42 - .../element/mml/optable/GeometricShapes.js | 66 - .../jax/element/mml/optable/GreekAndCoptic.js | 35 - .../element/mml/optable/Latin1Supplement.js | 37 - .../element/mml/optable/LetterlikeSymbols.js | 36 - .../jax/element/mml/optable/MathOperators.js | 228 -- .../element/mml/optable/MiscMathSymbolsA.js | 42 - .../element/mml/optable/MiscMathSymbolsB.js | 168 - .../mml/optable/MiscSymbolsAndArrows.js | 36 - .../jax/element/mml/optable/MiscTechnical.js | 40 - .../element/mml/optable/SpacingModLetters.js | 38 - .../element/mml/optable/SuppMathOperators.js | 289 -- .../mml/optable/SupplementalArrowsA.js | 40 - .../mml/optable/SupplementalArrowsB.js | 162 - .../mathjax/jax/input/AsciiMath/config.js | 46 - .../vendor/mathjax/jax/input/AsciiMath/jax.js | 1540 --------- .../vendor/mathjax/jax/input/MathML/config.js | 41 - .../mathjax/jax/input/MathML/entities/a.js | 90 - .../mathjax/jax/input/MathML/entities/b.js | 116 - .../mathjax/jax/input/MathML/entities/c.js | 114 - .../mathjax/jax/input/MathML/entities/d.js | 112 - .../mathjax/jax/input/MathML/entities/e.js | 92 - .../mathjax/jax/input/MathML/entities/f.js | 60 - .../mathjax/jax/input/MathML/entities/fr.js | 79 - .../mathjax/jax/input/MathML/entities/g.js | 83 - .../mathjax/jax/input/MathML/entities/h.js | 52 - .../mathjax/jax/input/MathML/entities/i.js | 86 - .../mathjax/jax/input/MathML/entities/j.js | 35 - .../mathjax/jax/input/MathML/entities/k.js | 37 - .../mathjax/jax/input/MathML/entities/l.js | 179 -- .../mathjax/jax/input/MathML/entities/m.js | 61 - .../mathjax/jax/input/MathML/entities/n.js | 220 -- .../mathjax/jax/input/MathML/entities/o.js | 90 - .../mathjax/jax/input/MathML/entities/opf.js | 79 - .../mathjax/jax/input/MathML/entities/p.js | 84 - .../mathjax/jax/input/MathML/entities/q.js | 35 - .../mathjax/jax/input/MathML/entities/r.js | 138 - .../mathjax/jax/input/MathML/entities/s.js | 170 - .../mathjax/jax/input/MathML/entities/scr.js | 79 - .../mathjax/jax/input/MathML/entities/t.js | 86 - .../mathjax/jax/input/MathML/entities/u.js | 92 - .../mathjax/jax/input/MathML/entities/v.js | 73 - .../mathjax/jax/input/MathML/entities/w.js | 35 - .../mathjax/jax/input/MathML/entities/x.js | 47 - .../mathjax/jax/input/MathML/entities/y.js | 41 - .../mathjax/jax/input/MathML/entities/z.js | 42 - .../vendor/mathjax/jax/input/MathML/jax.js | 781 ----- .../vendor/mathjax/jax/input/TeX/config.js | 54 - .../vendor/mathjax/jax/input/TeX/jax.js | 2371 -------------- .../CommonHTML/autoload/annotation-xml.js | 60 - .../jax/output/CommonHTML/autoload/maction.js | 178 -- .../output/CommonHTML/autoload/menclose.js | 317 -- .../jax/output/CommonHTML/autoload/mglyph.js | 94 - .../CommonHTML/autoload/mmultiscripts.js | 296 -- .../jax/output/CommonHTML/autoload/ms.js | 73 - .../jax/output/CommonHTML/autoload/mtable.js | 602 ---- .../output/CommonHTML/autoload/multiline.js | 793 ----- .../mathjax/jax/output/CommonHTML/config.js | 64 - .../CommonHTML/fonts/TeX/AMS-Regular.js | 289 -- .../CommonHTML/fonts/TeX/Caligraphic-Bold.js | 99 - .../CommonHTML/fonts/TeX/Fraktur-Bold.js | 125 - .../CommonHTML/fonts/TeX/Fraktur-Regular.js | 125 - .../output/CommonHTML/fonts/TeX/Main-Bold.js | 208 -- .../CommonHTML/fonts/TeX/Math-BoldItalic.js | 208 -- .../CommonHTML/fonts/TeX/SansSerif-Bold.js | 152 - .../CommonHTML/fonts/TeX/SansSerif-Italic.js | 152 - .../CommonHTML/fonts/TeX/SansSerif-Regular.js | 152 - .../CommonHTML/fonts/TeX/Script-Regular.js | 88 - .../fonts/TeX/Typewriter-Regular.js | 155 - .../CommonHTML/fonts/TeX/fontdata-extra.js | 240 -- .../output/CommonHTML/fonts/TeX/fontdata.js | 1784 ----------- .../mathjax/jax/output/CommonHTML/jax.js | 2841 ----------------- .../mathjax/jax/output/NativeMML/config.js | 52 - .../mathjax/jax/output/NativeMML/jax.js | 1431 --------- .../mathjax/jax/output/PlainSource/config.js | 49 - .../mathjax/jax/output/PlainSource/jax.js | 184 -- .../mathjax/jax/output/PreviewHTML/config.js | 54 - .../mathjax/jax/output/PreviewHTML/jax.js | 1096 ------- .../jax/output/SVG/autoload/annotation-xml.js | 92 - .../jax/output/SVG/autoload/maction.js | 201 -- .../jax/output/SVG/autoload/menclose.js | 233 -- .../mathjax/jax/output/SVG/autoload/mglyph.js | 106 - .../jax/output/SVG/autoload/mmultiscripts.js | 130 - .../mathjax/jax/output/SVG/autoload/ms.js | 55 - .../mathjax/jax/output/SVG/autoload/mtable.js | 389 --- .../jax/output/SVG/autoload/multiline.js | 732 ----- .../vendor/mathjax/jax/output/SVG/config.js | 107 - .../SVG/fonts/TeX/AMS/Regular/Arrows.js | 140 - .../SVG/fonts/TeX/AMS/Regular/BoxDrawing.js | 44 - .../fonts/TeX/AMS/Regular/CombDiacritMarks.js | 32 - .../SVG/fonts/TeX/AMS/Regular/Dingbats.js | 32 - .../fonts/TeX/AMS/Regular/EnclosedAlphanum.js | 29 - .../TeX/AMS/Regular/GeneralPunctuation.js | 29 - .../fonts/TeX/AMS/Regular/GeometricShapes.js | 53 - .../fonts/TeX/AMS/Regular/GreekAndCoptic.js | 32 - .../fonts/TeX/AMS/Regular/Latin1Supplement.js | 35 - .../fonts/TeX/AMS/Regular/LatinExtendedA.js | 29 - .../TeX/AMS/Regular/LetterlikeSymbols.js | 47 - .../output/SVG/fonts/TeX/AMS/Regular/Main.js | 131 - .../fonts/TeX/AMS/Regular/MathOperators.js | 359 --- .../fonts/TeX/AMS/Regular/MiscMathSymbolsB.js | 29 - .../SVG/fonts/TeX/AMS/Regular/MiscSymbols.js | 29 - .../fonts/TeX/AMS/Regular/MiscTechnical.js | 32 - .../output/SVG/fonts/TeX/AMS/Regular/PUA.js | 74 - .../TeX/AMS/Regular/SpacingModLetters.js | 32 - .../TeX/AMS/Regular/SuppMathOperators.js | 95 - .../SVG/fonts/TeX/Caligraphic/Bold/Main.js | 167 - .../SVG/fonts/TeX/Caligraphic/Regular/Main.js | 166 - .../SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js | 272 -- .../output/SVG/fonts/TeX/Fraktur/Bold/Main.js | 35 - .../SVG/fonts/TeX/Fraktur/Bold/Other.js | 32 - .../output/SVG/fonts/TeX/Fraktur/Bold/PUA.js | 47 - .../fonts/TeX/Fraktur/Regular/BasicLatin.js | 272 -- .../SVG/fonts/TeX/Fraktur/Regular/Main.js | 34 - .../SVG/fonts/TeX/Fraktur/Regular/Other.js | 32 - .../SVG/fonts/TeX/Fraktur/Regular/PUA.js | 50 - .../output/SVG/fonts/TeX/Main/Bold/Arrows.js | 98 - .../SVG/fonts/TeX/Main/Bold/BasicLatin.js | 149 - .../fonts/TeX/Main/Bold/CombDiacritMarks.js | 62 - .../TeX/Main/Bold/CombDiactForSymbols.js | 29 - .../fonts/TeX/Main/Bold/GeneralPunctuation.js | 56 - .../fonts/TeX/Main/Bold/GeometricShapes.js | 41 - .../SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js | 59 - .../fonts/TeX/Main/Bold/Latin1Supplement.js | 50 - .../SVG/fonts/TeX/Main/Bold/LatinExtendedA.js | 29 - .../SVG/fonts/TeX/Main/Bold/LatinExtendedB.js | 29 - .../fonts/TeX/Main/Bold/LetterlikeSymbols.js | 44 - .../output/SVG/fonts/TeX/Main/Bold/Main.js | 217 -- .../SVG/fonts/TeX/Main/Bold/MathOperators.js | 227 -- .../fonts/TeX/Main/Bold/MiscMathSymbolsA.js | 32 - .../SVG/fonts/TeX/Main/Bold/MiscSymbols.js | 47 - .../SVG/fonts/TeX/Main/Bold/MiscTechnical.js | 44 - .../fonts/TeX/Main/Bold/SpacingModLetters.js | 53 - .../fonts/TeX/Main/Bold/SuppMathOperators.js | 35 - .../TeX/Main/Bold/SupplementalArrowsA.js | 47 - .../SVG/fonts/TeX/Main/Italic/BasicLatin.js | 287 -- .../fonts/TeX/Main/Italic/CombDiacritMarks.js | 59 - .../TeX/Main/Italic/GeneralPunctuation.js | 44 - .../fonts/TeX/Main/Italic/GreekAndCoptic.js | 59 - .../fonts/TeX/Main/Italic/LatinExtendedA.js | 29 - .../fonts/TeX/Main/Italic/LatinExtendedB.js | 29 - .../TeX/Main/Italic/LetterlikeSymbols.js | 29 - .../output/SVG/fonts/TeX/Main/Italic/Main.js | 40 - .../SVG/fonts/TeX/Main/Regular/BasicLatin.js | 146 - .../TeX/Main/Regular/CombDiacritMarks.js | 62 - .../fonts/TeX/Main/Regular/GeometricShapes.js | 41 - .../fonts/TeX/Main/Regular/GreekAndCoptic.js | 59 - .../fonts/TeX/Main/Regular/LatinExtendedA.js | 29 - .../fonts/TeX/Main/Regular/LatinExtendedB.js | 29 - .../TeX/Main/Regular/LetterlikeSymbols.js | 44 - .../output/SVG/fonts/TeX/Main/Regular/Main.js | 628 ---- .../SVG/fonts/TeX/Main/Regular/MiscSymbols.js | 47 - .../TeX/Main/Regular/SpacingModLetters.js | 29 - .../TeX/Main/Regular/SuppMathOperators.js | 29 - .../SVG/fonts/TeX/Math/BoldItalic/Main.js | 392 --- .../output/SVG/fonts/TeX/Math/Italic/Main.js | 391 --- .../fonts/TeX/SansSerif/Bold/BasicLatin.js | 290 -- .../TeX/SansSerif/Bold/CombDiacritMarks.js | 59 - .../SVG/fonts/TeX/SansSerif/Bold/Main.js | 35 - .../SVG/fonts/TeX/SansSerif/Bold/Other.js | 83 - .../fonts/TeX/SansSerif/Italic/BasicLatin.js | 290 -- .../TeX/SansSerif/Italic/CombDiacritMarks.js | 59 - .../SVG/fonts/TeX/SansSerif/Italic/Main.js | 35 - .../SVG/fonts/TeX/SansSerif/Italic/Other.js | 83 - .../fonts/TeX/SansSerif/Regular/BasicLatin.js | 290 -- .../TeX/SansSerif/Regular/CombDiacritMarks.js | 59 - .../SVG/fonts/TeX/SansSerif/Regular/Main.js | 34 - .../SVG/fonts/TeX/SansSerif/Regular/Other.js | 83 - .../fonts/TeX/Script/Regular/BasicLatin.js | 107 - .../SVG/fonts/TeX/Script/Regular/Main.js | 60 - .../SVG/fonts/TeX/Size1/Regular/Main.js | 159 - .../SVG/fonts/TeX/Size2/Regular/Main.js | 135 - .../SVG/fonts/TeX/Size3/Regular/Main.js | 87 - .../SVG/fonts/TeX/Size4/Regular/Main.js | 168 - .../TeX/Typewriter/Regular/BasicLatin.js | 314 -- .../Typewriter/Regular/CombDiacritMarks.js | 53 - .../SVG/fonts/TeX/Typewriter/Regular/Main.js | 34 - .../SVG/fonts/TeX/Typewriter/Regular/Other.js | 74 - .../output/SVG/fonts/TeX/fontdata-extra.js | 241 -- .../jax/output/SVG/fonts/TeX/fontdata.js | 1613 ---------- .../vendor/mathjax/jax/output/SVG/jax.js | 2333 -------------- src/py/kaleido/vendor/mathjax/latest.js | 159 - .../mathjax/localization/ar/FontWarnings.js | 32 - .../mathjax/localization/ar/HTML-CSS.js | 32 - .../mathjax/localization/ar/HelpDialog.js | 35 - .../vendor/mathjax/localization/ar/MathML.js | 35 - .../mathjax/localization/ar/MathMenu.js | 85 - .../vendor/mathjax/localization/ar/TeX.js | 78 - .../vendor/mathjax/localization/ar/ar.js | 62 - .../mathjax/localization/ast/FontWarnings.js | 34 - .../mathjax/localization/ast/HTML-CSS.js | 32 - .../mathjax/localization/ast/HelpDialog.js | 38 - .../vendor/mathjax/localization/ast/MathML.js | 37 - .../mathjax/localization/ast/MathMenu.js | 111 - .../vendor/mathjax/localization/ast/TeX.js | 98 - .../vendor/mathjax/localization/ast/ast.js | 59 - .../mathjax/localization/bcc/FontWarnings.js | 28 - .../mathjax/localization/bcc/HTML-CSS.js | 28 - .../mathjax/localization/bcc/HelpDialog.js | 28 - .../vendor/mathjax/localization/bcc/MathML.js | 28 - .../mathjax/localization/bcc/MathMenu.js | 28 - .../vendor/mathjax/localization/bcc/TeX.js | 94 - .../vendor/mathjax/localization/bcc/bcc.js | 57 - .../mathjax/localization/bg/FontWarnings.js | 28 - .../mathjax/localization/bg/HTML-CSS.js | 28 - .../mathjax/localization/bg/HelpDialog.js | 28 - .../vendor/mathjax/localization/bg/MathML.js | 28 - .../mathjax/localization/bg/MathMenu.js | 56 - .../vendor/mathjax/localization/bg/TeX.js | 68 - .../vendor/mathjax/localization/bg/bg.js | 55 - .../mathjax/localization/br/FontWarnings.js | 34 - .../mathjax/localization/br/HTML-CSS.js | 32 - .../mathjax/localization/br/HelpDialog.js | 38 - .../vendor/mathjax/localization/br/MathML.js | 35 - .../mathjax/localization/br/MathMenu.js | 98 - .../vendor/mathjax/localization/br/TeX.js | 94 - .../vendor/mathjax/localization/br/br.js | 66 - .../mathjax/localization/ca/FontWarnings.js | 34 - .../mathjax/localization/ca/HTML-CSS.js | 32 - .../mathjax/localization/ca/HelpDialog.js | 38 - .../vendor/mathjax/localization/ca/MathML.js | 37 - .../mathjax/localization/ca/MathMenu.js | 111 - .../vendor/mathjax/localization/ca/TeX.js | 98 - .../vendor/mathjax/localization/ca/ca.js | 59 - .../mathjax/localization/cdo/FontWarnings.js | 28 - .../mathjax/localization/cdo/HTML-CSS.js | 28 - .../mathjax/localization/cdo/HelpDialog.js | 28 - .../vendor/mathjax/localization/cdo/MathML.js | 28 - .../mathjax/localization/cdo/MathMenu.js | 28 - .../vendor/mathjax/localization/cdo/TeX.js | 28 - .../vendor/mathjax/localization/cdo/cdo.js | 57 - .../mathjax/localization/ce/FontWarnings.js | 28 - .../mathjax/localization/ce/HTML-CSS.js | 28 - .../mathjax/localization/ce/HelpDialog.js | 28 - .../vendor/mathjax/localization/ce/MathML.js | 28 - .../mathjax/localization/ce/MathMenu.js | 28 - .../vendor/mathjax/localization/ce/TeX.js | 28 - .../vendor/mathjax/localization/ce/ce.js | 57 - .../mathjax/localization/cs/FontWarnings.js | 34 - .../mathjax/localization/cs/HTML-CSS.js | 32 - .../mathjax/localization/cs/HelpDialog.js | 38 - .../vendor/mathjax/localization/cs/MathML.js | 37 - .../mathjax/localization/cs/MathMenu.js | 111 - .../vendor/mathjax/localization/cs/TeX.js | 98 - .../vendor/mathjax/localization/cs/cs.js | 60 - .../mathjax/localization/cy/FontWarnings.js | 28 - .../mathjax/localization/cy/HTML-CSS.js | 28 - .../mathjax/localization/cy/HelpDialog.js | 28 - .../vendor/mathjax/localization/cy/MathML.js | 28 - .../mathjax/localization/cy/MathMenu.js | 28 - .../vendor/mathjax/localization/cy/TeX.js | 28 - .../vendor/mathjax/localization/cy/cy.js | 57 - .../mathjax/localization/da/FontWarnings.js | 34 - .../mathjax/localization/da/HTML-CSS.js | 32 - .../mathjax/localization/da/HelpDialog.js | 38 - .../vendor/mathjax/localization/da/MathML.js | 37 - .../mathjax/localization/da/MathMenu.js | 111 - .../vendor/mathjax/localization/da/TeX.js | 98 - .../vendor/mathjax/localization/da/da.js | 59 - .../mathjax/localization/de/FontWarnings.js | 34 - .../mathjax/localization/de/HTML-CSS.js | 32 - .../mathjax/localization/de/HelpDialog.js | 38 - .../vendor/mathjax/localization/de/MathML.js | 37 - .../mathjax/localization/de/MathMenu.js | 111 - .../vendor/mathjax/localization/de/TeX.js | 98 - .../vendor/mathjax/localization/de/de.js | 59 - .../mathjax/localization/diq/FontWarnings.js | 28 - .../mathjax/localization/diq/HTML-CSS.js | 29 - .../mathjax/localization/diq/HelpDialog.js | 28 - .../vendor/mathjax/localization/diq/MathML.js | 28 - .../mathjax/localization/diq/MathMenu.js | 89 - .../vendor/mathjax/localization/diq/TeX.js | 28 - .../vendor/mathjax/localization/diq/diq.js | 56 - .../mathjax/localization/en/FontWarnings.js | 34 - .../mathjax/localization/en/HTML-CSS.js | 32 - .../mathjax/localization/en/HelpDialog.js | 38 - .../vendor/mathjax/localization/en/MathML.js | 37 - .../mathjax/localization/en/MathMenu.js | 111 - .../vendor/mathjax/localization/en/TeX.js | 98 - .../vendor/mathjax/localization/en/en.js | 59 - .../mathjax/localization/eo/FontWarnings.js | 28 - .../mathjax/localization/eo/HTML-CSS.js | 28 - .../mathjax/localization/eo/HelpDialog.js | 28 - .../vendor/mathjax/localization/eo/MathML.js | 28 - .../mathjax/localization/eo/MathMenu.js | 28 - .../vendor/mathjax/localization/eo/TeX.js | 28 - .../vendor/mathjax/localization/eo/eo.js | 54 - .../mathjax/localization/es/FontWarnings.js | 34 - .../mathjax/localization/es/HTML-CSS.js | 32 - .../mathjax/localization/es/HelpDialog.js | 38 - .../vendor/mathjax/localization/es/MathML.js | 37 - .../mathjax/localization/es/MathMenu.js | 111 - .../vendor/mathjax/localization/es/TeX.js | 98 - .../vendor/mathjax/localization/es/es.js | 59 - .../mathjax/localization/fa/FontWarnings.js | 34 - .../mathjax/localization/fa/HTML-CSS.js | 32 - .../mathjax/localization/fa/HelpDialog.js | 37 - .../vendor/mathjax/localization/fa/MathML.js | 37 - .../mathjax/localization/fa/MathMenu.js | 107 - .../vendor/mathjax/localization/fa/TeX.js | 98 - .../vendor/mathjax/localization/fa/fa.js | 58 - .../mathjax/localization/fi/FontWarnings.js | 28 - .../mathjax/localization/fi/HTML-CSS.js | 28 - .../mathjax/localization/fi/HelpDialog.js | 28 - .../vendor/mathjax/localization/fi/MathML.js | 28 - .../mathjax/localization/fi/MathMenu.js | 82 - .../vendor/mathjax/localization/fi/TeX.js | 28 - .../vendor/mathjax/localization/fi/fi.js | 58 - .../mathjax/localization/fr/FontWarnings.js | 34 - .../mathjax/localization/fr/HTML-CSS.js | 32 - .../mathjax/localization/fr/HelpDialog.js | 38 - .../vendor/mathjax/localization/fr/MathML.js | 37 - .../mathjax/localization/fr/MathMenu.js | 111 - .../vendor/mathjax/localization/fr/TeX.js | 98 - .../vendor/mathjax/localization/fr/fr.js | 59 - .../mathjax/localization/gl/FontWarnings.js | 28 - .../mathjax/localization/gl/HTML-CSS.js | 32 - .../mathjax/localization/gl/HelpDialog.js | 28 - .../vendor/mathjax/localization/gl/MathML.js | 28 - .../mathjax/localization/gl/MathMenu.js | 28 - .../vendor/mathjax/localization/gl/TeX.js | 28 - .../vendor/mathjax/localization/gl/gl.js | 58 - .../mathjax/localization/he/FontWarnings.js | 34 - .../mathjax/localization/he/HTML-CSS.js | 32 - .../mathjax/localization/he/HelpDialog.js | 38 - .../vendor/mathjax/localization/he/MathML.js | 37 - .../mathjax/localization/he/MathMenu.js | 111 - .../vendor/mathjax/localization/he/TeX.js | 98 - .../vendor/mathjax/localization/he/he.js | 62 - .../mathjax/localization/ia/FontWarnings.js | 34 - .../mathjax/localization/ia/HTML-CSS.js | 28 - .../mathjax/localization/ia/HelpDialog.js | 37 - .../vendor/mathjax/localization/ia/MathML.js | 28 - .../mathjax/localization/ia/MathMenu.js | 28 - .../vendor/mathjax/localization/ia/TeX.js | 28 - .../vendor/mathjax/localization/ia/ia.js | 58 - .../mathjax/localization/it/FontWarnings.js | 34 - .../mathjax/localization/it/HTML-CSS.js | 32 - .../mathjax/localization/it/HelpDialog.js | 38 - .../vendor/mathjax/localization/it/MathML.js | 37 - .../mathjax/localization/it/MathMenu.js | 111 - .../vendor/mathjax/localization/it/TeX.js | 98 - .../vendor/mathjax/localization/it/it.js | 59 - .../mathjax/localization/ja/FontWarnings.js | 34 - .../mathjax/localization/ja/HTML-CSS.js | 32 - .../mathjax/localization/ja/HelpDialog.js | 37 - .../vendor/mathjax/localization/ja/MathML.js | 37 - .../mathjax/localization/ja/MathMenu.js | 107 - .../vendor/mathjax/localization/ja/TeX.js | 98 - .../vendor/mathjax/localization/ja/ja.js | 57 - .../mathjax/localization/kn/FontWarnings.js | 34 - .../mathjax/localization/kn/HTML-CSS.js | 32 - .../mathjax/localization/kn/HelpDialog.js | 32 - .../vendor/mathjax/localization/kn/MathML.js | 35 - .../mathjax/localization/kn/MathMenu.js | 105 - .../vendor/mathjax/localization/kn/TeX.js | 98 - .../vendor/mathjax/localization/kn/kn.js | 57 - .../mathjax/localization/ko/FontWarnings.js | 34 - .../mathjax/localization/ko/HTML-CSS.js | 32 - .../mathjax/localization/ko/HelpDialog.js | 34 - .../vendor/mathjax/localization/ko/MathML.js | 28 - .../mathjax/localization/ko/MathMenu.js | 106 - .../vendor/mathjax/localization/ko/TeX.js | 66 - .../vendor/mathjax/localization/ko/ko.js | 57 - .../mathjax/localization/lb/FontWarnings.js | 28 - .../mathjax/localization/lb/HTML-CSS.js | 28 - .../mathjax/localization/lb/HelpDialog.js | 28 - .../vendor/mathjax/localization/lb/MathML.js | 28 - .../mathjax/localization/lb/MathMenu.js | 55 - .../vendor/mathjax/localization/lb/TeX.js | 28 - .../vendor/mathjax/localization/lb/lb.js | 53 - .../mathjax/localization/lki/FontWarnings.js | 34 - .../mathjax/localization/lki/HTML-CSS.js | 32 - .../mathjax/localization/lki/HelpDialog.js | 37 - .../vendor/mathjax/localization/lki/MathML.js | 37 - .../mathjax/localization/lki/MathMenu.js | 107 - .../vendor/mathjax/localization/lki/TeX.js | 98 - .../vendor/mathjax/localization/lki/lki.js | 57 - .../mathjax/localization/lt/FontWarnings.js | 34 - .../mathjax/localization/lt/HTML-CSS.js | 32 - .../mathjax/localization/lt/HelpDialog.js | 38 - .../vendor/mathjax/localization/lt/MathML.js | 37 - .../mathjax/localization/lt/MathMenu.js | 111 - .../vendor/mathjax/localization/lt/TeX.js | 98 - .../vendor/mathjax/localization/lt/lt.js | 62 - .../mathjax/localization/mk/FontWarnings.js | 34 - .../mathjax/localization/mk/HTML-CSS.js | 32 - .../mathjax/localization/mk/HelpDialog.js | 38 - .../vendor/mathjax/localization/mk/MathML.js | 37 - .../mathjax/localization/mk/MathMenu.js | 111 - .../vendor/mathjax/localization/mk/TeX.js | 98 - .../vendor/mathjax/localization/mk/mk.js | 59 - .../mathjax/localization/nl/FontWarnings.js | 34 - .../mathjax/localization/nl/HTML-CSS.js | 32 - .../mathjax/localization/nl/HelpDialog.js | 38 - .../vendor/mathjax/localization/nl/MathML.js | 37 - .../mathjax/localization/nl/MathMenu.js | 111 - .../vendor/mathjax/localization/nl/TeX.js | 98 - .../vendor/mathjax/localization/nl/nl.js | 59 - .../mathjax/localization/oc/FontWarnings.js | 28 - .../mathjax/localization/oc/HTML-CSS.js | 28 - .../mathjax/localization/oc/HelpDialog.js | 28 - .../vendor/mathjax/localization/oc/MathML.js | 28 - .../mathjax/localization/oc/MathMenu.js | 89 - .../vendor/mathjax/localization/oc/TeX.js | 28 - .../vendor/mathjax/localization/oc/oc.js | 57 - .../mathjax/localization/pl/FontWarnings.js | 34 - .../mathjax/localization/pl/HTML-CSS.js | 32 - .../mathjax/localization/pl/HelpDialog.js | 38 - .../vendor/mathjax/localization/pl/MathML.js | 37 - .../mathjax/localization/pl/MathMenu.js | 111 - .../vendor/mathjax/localization/pl/TeX.js | 98 - .../vendor/mathjax/localization/pl/pl.js | 64 - .../localization/pt-br/FontWarnings.js | 34 - .../mathjax/localization/pt-br/HTML-CSS.js | 32 - .../mathjax/localization/pt-br/HelpDialog.js | 38 - .../mathjax/localization/pt-br/MathML.js | 37 - .../mathjax/localization/pt-br/MathMenu.js | 111 - .../vendor/mathjax/localization/pt-br/TeX.js | 98 - .../mathjax/localization/pt-br/pt-br.js | 59 - .../mathjax/localization/pt/FontWarnings.js | 34 - .../mathjax/localization/pt/HTML-CSS.js | 32 - .../mathjax/localization/pt/HelpDialog.js | 38 - .../vendor/mathjax/localization/pt/MathML.js | 37 - .../mathjax/localization/pt/MathMenu.js | 111 - .../vendor/mathjax/localization/pt/TeX.js | 98 - .../vendor/mathjax/localization/pt/pt.js | 58 - .../mathjax/localization/qqq/FontWarnings.js | 34 - .../mathjax/localization/qqq/HTML-CSS.js | 32 - .../mathjax/localization/qqq/HelpDialog.js | 38 - .../vendor/mathjax/localization/qqq/MathML.js | 37 - .../mathjax/localization/qqq/MathMenu.js | 110 - .../vendor/mathjax/localization/qqq/TeX.js | 98 - .../vendor/mathjax/localization/qqq/qqq.js | 54 - .../mathjax/localization/ru/FontWarnings.js | 34 - .../mathjax/localization/ru/HTML-CSS.js | 32 - .../mathjax/localization/ru/HelpDialog.js | 38 - .../vendor/mathjax/localization/ru/MathML.js | 37 - .../mathjax/localization/ru/MathMenu.js | 111 - .../vendor/mathjax/localization/ru/TeX.js | 98 - .../vendor/mathjax/localization/ru/ru.js | 62 - .../mathjax/localization/scn/FontWarnings.js | 34 - .../mathjax/localization/scn/HTML-CSS.js | 32 - .../mathjax/localization/scn/HelpDialog.js | 37 - .../vendor/mathjax/localization/scn/MathML.js | 37 - .../mathjax/localization/scn/MathMenu.js | 107 - .../vendor/mathjax/localization/scn/TeX.js | 98 - .../vendor/mathjax/localization/scn/scn.js | 57 - .../mathjax/localization/sco/FontWarnings.js | 34 - .../mathjax/localization/sco/HTML-CSS.js | 32 - .../mathjax/localization/sco/HelpDialog.js | 37 - .../vendor/mathjax/localization/sco/MathML.js | 37 - .../mathjax/localization/sco/MathMenu.js | 107 - .../vendor/mathjax/localization/sco/TeX.js | 98 - .../vendor/mathjax/localization/sco/sco.js | 57 - .../mathjax/localization/sk/FontWarnings.js | 34 - .../mathjax/localization/sk/HTML-CSS.js | 32 - .../mathjax/localization/sk/HelpDialog.js | 38 - .../vendor/mathjax/localization/sk/MathML.js | 37 - .../mathjax/localization/sk/MathMenu.js | 111 - .../vendor/mathjax/localization/sk/TeX.js | 98 - .../vendor/mathjax/localization/sk/sk.js | 59 - .../mathjax/localization/sl/FontWarnings.js | 34 - .../mathjax/localization/sl/HTML-CSS.js | 32 - .../mathjax/localization/sl/HelpDialog.js | 37 - .../vendor/mathjax/localization/sl/MathML.js | 37 - .../mathjax/localization/sl/MathMenu.js | 108 - .../vendor/mathjax/localization/sl/TeX.js | 98 - .../vendor/mathjax/localization/sl/sl.js | 60 - .../mathjax/localization/sv/FontWarnings.js | 34 - .../mathjax/localization/sv/HTML-CSS.js | 32 - .../mathjax/localization/sv/HelpDialog.js | 38 - .../vendor/mathjax/localization/sv/MathML.js | 37 - .../mathjax/localization/sv/MathMenu.js | 111 - .../vendor/mathjax/localization/sv/TeX.js | 98 - .../vendor/mathjax/localization/sv/sv.js | 59 - .../mathjax/localization/th/FontWarnings.js | 34 - .../mathjax/localization/th/HTML-CSS.js | 32 - .../mathjax/localization/th/HelpDialog.js | 38 - .../vendor/mathjax/localization/th/MathML.js | 37 - .../mathjax/localization/th/MathMenu.js | 111 - .../vendor/mathjax/localization/th/TeX.js | 98 - .../vendor/mathjax/localization/th/th.js | 57 - .../mathjax/localization/tr/FontWarnings.js | 28 - .../mathjax/localization/tr/HTML-CSS.js | 28 - .../mathjax/localization/tr/HelpDialog.js | 28 - .../vendor/mathjax/localization/tr/MathML.js | 28 - .../mathjax/localization/tr/MathMenu.js | 28 - .../vendor/mathjax/localization/tr/TeX.js | 28 - .../vendor/mathjax/localization/tr/tr.js | 53 - .../mathjax/localization/uk/FontWarnings.js | 34 - .../mathjax/localization/uk/HTML-CSS.js | 32 - .../mathjax/localization/uk/HelpDialog.js | 38 - .../vendor/mathjax/localization/uk/MathML.js | 37 - .../mathjax/localization/uk/MathMenu.js | 111 - .../vendor/mathjax/localization/uk/TeX.js | 98 - .../vendor/mathjax/localization/uk/uk.js | 61 - .../mathjax/localization/vi/FontWarnings.js | 34 - .../mathjax/localization/vi/HTML-CSS.js | 32 - .../mathjax/localization/vi/HelpDialog.js | 38 - .../vendor/mathjax/localization/vi/MathML.js | 37 - .../mathjax/localization/vi/MathMenu.js | 111 - .../vendor/mathjax/localization/vi/TeX.js | 98 - .../vendor/mathjax/localization/vi/vi.js | 58 - .../localization/zh-hans/FontWarnings.js | 34 - .../mathjax/localization/zh-hans/HTML-CSS.js | 32 - .../localization/zh-hans/HelpDialog.js | 38 - .../mathjax/localization/zh-hans/MathML.js | 37 - .../mathjax/localization/zh-hans/MathMenu.js | 111 - .../mathjax/localization/zh-hans/TeX.js | 98 - .../mathjax/localization/zh-hans/zh-hans.js | 58 - .../localization/zh-hant/FontWarnings.js | 34 - .../mathjax/localization/zh-hant/HTML-CSS.js | 32 - .../localization/zh-hant/HelpDialog.js | 38 - .../mathjax/localization/zh-hant/MathML.js | 37 - .../mathjax/localization/zh-hant/MathMenu.js | 111 - .../mathjax/localization/zh-hant/TeX.js | 98 - .../mathjax/localization/zh-hant/zh-hant.js | 57 - src/py/pyproject.toml | 2 +- 717 files changed, 2 insertions(+), 73054 deletions(-) rename src/py/kaleido/vendor/{mathjax => }/MathJax.js (100%) delete mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5.zip delete mode 100644 src/py/kaleido/vendor/mathjax/LICENSE delete mode 100644 src/py/kaleido/vendor/mathjax/README.md delete mode 100644 src/py/kaleido/vendor/mathjax/config/AM_CHTML-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/AM_CHTML.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/AM_SVG-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/AM_SVG.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/Accessible-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/Accessible.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/MML_CHTML-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/MML_CHTML.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/MML_SVG-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/MML_SVG.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/MMLorHTML.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/Safe.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG-full.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/default.js delete mode 100644 src/py/kaleido/vendor/mathjax/config/local/local.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/AssistiveMML.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/CHTML-preview.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/HTML-CSS/handle-floats.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/MatchWebFonts.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/MathEvents.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/MathML/content-mathml.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/MathML/mml3.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/MathZoom.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/Safe.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/AMScd.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/AMSmath.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/AMSsymbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/HTML.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/action.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/autobold.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/autoload-all.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/bbox.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/begingroup.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/boldsymbol.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/cancel.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/color.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/enclose.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/extpfeil.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/mathchoice.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/mediawiki-texvc.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem3/mhchem.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/newcommand.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/noErrors.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/noUndefined.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/unicode.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/verb.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/accessibility-menu.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/auto-collapse.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/collapsible.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/explorer.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.mp3 delete mode 100755 src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.ogg delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathjax-sre.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/algebra.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/elementary.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/hyperbolic.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/trigonometry.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-capital.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-italic.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-sans-serif-bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-scripts.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-small.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-symbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/hebrew_letters.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-double-accent.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-normal.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-phonetic.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-single-accent.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-fraktur.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-script.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-double-struck.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-fraktur.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-italic.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-monospace.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-italic.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-script.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-rest.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-double-accent.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-normal.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-single-accent.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_angles.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_arrows.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_characters.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_delimiters.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_digits.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_geometry.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_harpoons.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_non_characters.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_symbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_whitespace.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/other_stars.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/energy.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/length.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/memory.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/other.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/speed.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/temperature.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/time.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/volume.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/weight.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/algebra.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/elementary.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/hyperbolic.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/trigonometry.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-capital.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-italic.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-sans-serif-bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-scripts.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-small.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-symbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/hebrew_letters.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-double-accent.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-normal.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-phonetic.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-single-accent.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-fraktur.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-script.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-double-struck.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-fraktur.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-italic.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-monospace.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-italic.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-script.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-rest.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-double-accent.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-normal.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-single-accent.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_angles.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_arrows.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_characters.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_delimiters.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_digits.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_geometry.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_harpoons.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_non_characters.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_symbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_whitespace.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/other_stars.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/energy.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/length.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/memory.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/other.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/speed.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/temperature.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/time.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/volume.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/weight.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/mathmaps_ie.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/semantic-enrich.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/wgxpath.install.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/asciimath2jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/fast-preview.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/jsMath2jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/mml2jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/tex2jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/extensions/toMathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Arrows.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/BasicLatin.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiacritMarks.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiactForSymbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Dingbats.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeneralPunctuation.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeometricShapes.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GreekAndCoptic.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Latin1Supplement.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/LetterlikeSymbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MathOperators.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsA.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsB.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscSymbolsAndArrows.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscTechnical.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SpacingModLetters.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SuppMathOperators.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsA.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsB.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/config.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/config.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/a.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/b.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/c.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/d.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/e.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/f.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/fr.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/g.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/h.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/i.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/j.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/k.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/l.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/m.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/n.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/o.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/opf.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/p.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/q.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/r.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/s.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/scr.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/t.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/u.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/v.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/w.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/x.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/y.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/z.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/TeX/config.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/input/TeX/jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/annotation-xml.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/maction.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/menclose.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mglyph.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mmultiscripts.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/ms.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mtable.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/multiline.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/config.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/NativeMML/config.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/NativeMML/jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/PlainSource/config.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/PlainSource/jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/config.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/annotation-xml.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/maction.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/menclose.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mglyph.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mmultiscripts.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/ms.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mtable.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/multiline.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/config.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/Italic/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata-extra.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata.js delete mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/jax.js delete mode 100644 src/py/kaleido/vendor/mathjax/latest.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/ar.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/ast.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/bcc.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/bg.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/br/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/br/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/br/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/br/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/br/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/br/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/br/br.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/ca.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/cdo.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/ce.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/cs.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/cy.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/da/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/da/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/da/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/da/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/da/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/da/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/da/da.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/de/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/de/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/de/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/de/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/de/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/de/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/de/de.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/diq.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/en/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/en/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/en/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/en/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/en/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/en/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/en/en.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/eo.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/es/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/es/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/es/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/es/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/es/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/es/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/es/es.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/fa.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/fi.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/fr.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/gl.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/he/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/he/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/he/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/he/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/he/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/he/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/he/he.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/ia.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/it/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/it/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/it/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/it/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/it/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/it/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/it/it.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/ja.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/kn.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/ko.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/lb.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/lki.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/lt.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/mk.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/nl.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/oc.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/pl.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/pt-br.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/pt.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/qqq.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/ru.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/scn.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/sco.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/sk.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/sl.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/sv.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/th/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/th/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/th/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/th/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/th/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/th/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/th/th.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/tr.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/uk.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/vi.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/zh-hans.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/FontWarnings.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/HTML-CSS.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/HelpDialog.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/MathML.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/MathMenu.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/TeX.js delete mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/zh-hant.js diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index bdd95096..33bc6ff0 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -53,7 +53,6 @@ def _initialize_mathax(self, mathjax=None): vendored_mathjax_path = os.path.join( os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'vendor', - 'mathjax', 'MathJax.js' ) print(f"Vendored mj path: {vendored_mathjax_path}") @@ -61,6 +60,7 @@ def _initialize_mathax(self, mathjax=None): if os.path.exists(vendored_mathjax_path): # MathJax is vendored under kaleido/executable. # It was probably install as a PyPI wheel + print("Found") mathjax_path = vendored_mathjax_path if mathjax_path: diff --git a/src/py/kaleido/vendor/mathjax/MathJax.js b/src/py/kaleido/vendor/MathJax.js similarity index 100% rename from src/py/kaleido/vendor/mathjax/MathJax.js rename to src/py/kaleido/vendor/MathJax.js diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5.zip b/src/py/kaleido/vendor/Mathjax-2.7.5.zip deleted file mode 100644 index 96576d23d384d25ccf1e351ed34ad28f9b38e794..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1931789 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 z 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/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�|NOoGM(9{H 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�ga`&1nngLE^akL4c_2|c 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 g(r4{8b|9~IcwNXRFD@qU4TvQq8t_8B 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 z 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­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�G?qg);bf{@{$Xk|*Rwh$rD{lsQdQ4XY7ps#$u$oa>pzjhjF9_8xfE zA=wIhPWZ3rX@?Ems@>?rznq-*nA7_|`bTDwm(3XS4kOTIldvZsTJKY*Zn8;OkHnRI z0)89zJLjf;QM>MR-5H>nXfyY>sagpVc#mia3TB(Lj$HD4WMRs8Cq3_(v*As#ZSUkd zNLjDkK(fFes>OrMMF=Bb%S#zk&BBsVd{SdaARII=$;~y-bl1}?_xrl;i)Y^nzM<;I%-7fzLQ;5Je9VSq0YVc;W|;5O zmDa~%+8BPN)NyuKgl_Vg;EE8mmhk)RK zw_nxXF!M=TIRH2>^c~ch1L^v!a`n*RccTZLd;?J&Z5sR&C=M`Hh%B`+Li8kMftEq7 z8h@r%n{P~3j{1Gu3J`(@oi-?Kv}zMM~2rdNA+R;?}sD{J7~ z!L7k$we8C4!^yjYgFAPB3xXB>YqWPaPSzEpf2lsPeU9esj}VE7QnB&t=wLI9-;71_ zwCHu2V;EbfjXPy}W$MrsyC@UEQ-uW^9I2_GIHZiHAOjoKmLCkUp>&iy522b-=XWG& zYSmfLy1EaIe=nYT=e9nV(JNmyleIi1Jjg$M@4vRzb+_Ye%-o3LTPD{9tg00Wod0gs z!$BINKW*KfX`N8j>z0^~v;CO0-0>_(49Wp-0prr+0z?Bd#f_QatJnRinaQLqwB>3r zmTQvqt8UK2)$DNcZ)9DoE3A_Y=0;(}XX(ttD%NgBELIF&|KVzRb;`8piN40x%wU^O zuS&2>o2|)y2N84_QTjS=tzjharu{Tl3GHaDHW1XL59i1UH-Q>M(MSKcnlHFkX$Sdf z8m8HG;}9I|J+N+{$O6oWwM`Oa*p|x!jpj?fQMwn)Es#3iTp!x?Z14eA?^qZG>fu*Y zGDT;E6(PD+c)e|#b6!dbSKBN~&?ysg*`n?fpeL`@nMmcWV^kShxy5_y@`n7sVHXC9-)x8Nlevp)7A0_&DBI960~4gvtan7NkEmY43f17 zG1&@{N*`V6`=BcbrfB@h%m9vl+2dgqi_slPJCg7&gLkopt3U*Y}QTBaSl86zb=08-C`=cj_MOzIzka!>=kJE`%W|v){CDlC?p?9xnl83N` zu`gK(maL*D^f!1+V*3QxV9NqL_?AI+Z_)@8p~wmK+06CCwTzp(0VHEDPxiXYCc*hM z5h+hw;WxU#?v!IN;wCc)JwrCx(UP43ntnjyXG!Bcw^7`0XrUGJ-V~4U)AU41h^_VV zFeQPimQF8%YxTfJ9O)|KuPPn0hWSQh+@1W5yf#mzr3dh$+lxX>Mjv0{Ab~j?)w)tr zkCOp6U z>M>x80hrwy=wsO-cC3hMl*Q<5V1rbN@!v_z^wS}H0J{aPkBWr#lWX+{<>&EhUv zjioaS=%usvWUIu*Sq#cce0lj3O)7U$;RmxF3Qc_>H}HyX&L%`!tLwDHC$#H{?TSy; z=3h>*PhP;5t9rJ~r3MN#_`(hV+DvA3#6?-9aOzA!qk0?NnO&k3P;HmN3&IW=Og{?C z#1ZzmmY+2DC{C#e;2yZJoA=DnK&7=8j;{7^?0;lWm~z_?prfmkU|wKpW_ugTbHD>c z#;Mb_1fHbZpp9RHi{a@-8ar(++sm&X#56+A1sIAhGxgm3Eg%vDtc5dMmd7DM%wzvha$#C6al z^EWF{4uA58*TV(aX2ajX2M{yCAD3x#{CXW?!zoDF>%k~>S0ggnPOC&m+dz@qBYqZI zdyW}r&?vW;PLv0hpC`yEWw0-#Hqc#Zmf}Z4?e{iRxzrHEm!q5!#?)>R^q*H_Ky^x( zwOH6YIoV6ORc;8DN3@+4+;{^-htZbA9_h*32L77g@S7;(b?6-?4 zBq4?QZnTNN&V8QEZjJMrJ*8p^6FWDvqZ>rLqX>qZ)>x>w*k8a*ivOUvgIp9aAgSg_ zCk?s0)+(EaQ2>CTB*VZ9DL;6&#R%eC$pG zrxH?fSq+8sx;&ktfhQTUz^g9)tpz0~nHOzAmnVFFk8MvtyoT~kE1$1$9ItjUu4yX) zcB$Okj9)_J&sc7EXf7q-rEcU5v!8!?l0-1-No>r-b6My1(>}I>6q?5zyY)~;!mfaS zTJR4Pk20Vbgr<^b@jDn!Q{?8jE1EEo+o^}_|aW}UEX zaYXzodq8p7zItzJ#j=ggYu8cjtCYravG(~}=`r6Ndp3+f&b#C>uxVckw@~Fhj_9HO zA|rYcZMqHxZ;fDQgf_<18FWw9@lxe`fxKHNu7nwyL!e1i#bFdQ!~ZksElC=DzvS!~ zpKrevcLpiYk-rDq+v;5@h>W_v-5MlkW2QguO~%#_JB&5>i0YHRR7`sf@-X{q`p?rQ zb@hW)#;`2pDtODX+qRCE=f~yHtLbhZu1?~v*(BysCVGv>SJ~yq=iryY>=)_#zon}C z6YR^We%}hwz88c4gD2(pt?>T?UtZbn3n6}N^%$T)Q3#hMPzmt8pu7sA|Dv!^7>BwX z7|v$PSn25AblyPO{F+{G%3|xv7X;2Puj**9-Rg8_e7K(Qy<;c*625P+tH2*xpkJsP zJ!ts$%*q=NVby38)lXC^i~iFL*Rwb@J?eB=ik~z8Vs^i|`f@VW!lY{t6O8e_7gs;I zuGzw1V$7bWKx#Eg=%y8h!JD4&<70f7h&fA?`0tyaj^iTd2an#llX%-o+&n;H0w^vy znZaL2#pdJA0Pi#QJ;}ls?nUvIO=pU0|DE;~Dr7-q@l+lBpHTNQ(b?i3&CfhRYX5 zsq+l$XHJuS+n?yL|2~I_7i7!=)jly@XWtP(s006VExHClzguLqUsI(JM&dcG46#g! zD8J?0te}dRd^x-aT?Q%pM8Y_`1WQgKfByp4BP6bBj~b*JLbffWn#rse1~cek*AraZ z1j-9D)SsQB*9fICIC?zde468k>wtoRFw+>-`93g!{q@|quIBWXdN~4ZQhi<;)J2(MGKR<-|$eBeM|JGhhI zO~X7ZpF^s2N&S?hMHu~rTOmQMI5X8@A3&w@YTSm=?*~I#6)5I!Bq~R;DshOd0HyCB zHB(;YGvgSz;SABzJ+(3F@@I+Wn@vZv+E3b`22#~DpkhFmQx113mhz6Hpkj$&Mb<;DGzNyRM>7&VD`tw7|S|0_p@&9ZfZg-v9!Jj^~T z!4plG#DDo(l3pZ#`&yo7vsU%5IiP?#Yrj?Iol|8&7^GMPm@{>!4xxMJchR*c{iApH zP*s~B8NpPNXi!LoRq8SSf}>s*`(1%^q2V}TyaiH_+-!n{of(B);jXYsy!l9C{yYGx z01&_K$H-p^wAIHM>H2Oqv$b#DwiVqB9Z$lM%IX5zg1 z5pS{heQ$7KM3lco8L}eRjdBw*D03;43a8M$O)O4uA94uNs*;z)f|gjMvf1eP&Q-Fs z1J$)(UzzO0pW24Pbkg8`Spd;|rJg`b7bi})UQXygbN4Lp=;FmSTlO$5MRF7Tn*2I= z&>`B8LjBga{g+U?Kd%-O+c5j6Ak|Y8uIST#nL|ZngK9*s*+>Qp~|ywm!$-{%rw@0VQA;cCez)RY|w`MEVmH)u@#56lyEkOP;E8Q4q^Ue z8ZR2o$RUa`&4?`WLK_B;^925RIHY8be4i+X7Q{eQHz7r3j*M)HdUTT;FHObpQe|X7 z&L5y-AR02~l%g;yHx}LF4!If{8Trjg#>*chJ2${+$G%4TT$M9oIHx0atlbZp-RiKt z605><$Yuvm5~vW7BdSa^)yj;f5m$mu7}R7zk55hqw=C2q1Bh~zUUn8q5STlZ1q5ES zfz@QN=FDP*Y!?yn*9*2zxE$P1qHRNThxhWleYf$VJhS33wjwKbciLGm;UF-ag*~q` zo;R?ya$o|M>=3z)0nUE85i}C!`rSzK(qUyZLARKs7UjrhrY3EfajC1Q>>x!#A~t1Q zZ+`>_nQrGS$^>8;eM>be=nsY}z6F|(tXiuvCR|SQPQXAz$XxWD2x@8c-B%~_;dVJ> zDMJ2D^~1~`UaaE`)WbKG;zS?BzQe{WQ_J+UFM?*N+}n-nzJ2}|FiFZkLN+2)0bNbo z`Wi-a*1UBT{@oZ%?n=a1MDB@k?P?Iavm80>mS}}b`vDTPP27gB5972c^ms;=dZ5kr zW?w2Pxfef+Qu$|$+<`7kfb)Mf)E@w#9fhKjoF}lXN7&D7kWj8^PdZo-BCH%Zu`GO|{_A(d(ZXH;(ey`yR3cPBkD z`csdd7fGYdccYm*U%6CJa+(+~#|nIH{3BvUgT?}8nFZopX=3@sNWh~`mZ_E+@()Br zz^|avx60U??%qbTT!WB>C_h2`M_6qUAm7EVr9Z#vAF`i?`3#HRIj(CPII4$h+Ch#i z#<}*d{GB@(ppvae0?lz2%`U@l$Td>3V4VLPpuOpPd%A+;IW1<6T{e1!+)|K7WdDZw zT>y0m9|u_*2;(n%K6;AtCYDf!9oAPKm>N+x9Qb<4Q6=2Aj(j}s8-vlgMi%WU@weEI zVB#ugE?D~tNBSj*2RL2JZ8}WQ&7THh@Y2Lrg=xKLeFZ6d#<=}UGZ3-gRMG{0!i!w6l$(g33jw+M#J;lcapq9rphc1 z&hq2Dn2RqzYA6yiVAjXO#R+1rF&T_mHq7A&^aGHaNs6Aoe}dX5irb5!A?7GZ z9Hm5qepabez$-%{fpc6Y)ZRow^Hs5z%n5NrW7b_6)1eip7JThaccG@)sJxXv`585e z>0Z7;K(vsvBu@~+*R-#2e8x|YPmU-!W}j6y<6)Z$?JS~+w}VE=gpKW`;aH`2y;v&R z##dBByxV#3qP4sY`Wz}{{vda;`PpyF{w%o4zSBd;rN|_ED3Ow1rLrNN#gvt;#B>yM;Q63SHy@pVzU%uZyF5Pk()c*bSC z)^1&7I?YK+zwiRvRa86Sjg-fyF8x#)v^6nCEUI(0=3fKP8R2+``V9@43Os8BImR9F z5Q)=buwrP=_JHf>S8ue8p$5s-8z^W@6^!V4CN1NDMG|rYF&FudXVbZOI~ztHC~-Jz zxrn9OZca)Q=ox3J&~&B#los5zA4_d*Y*?|H36GIN4R4%Jv7IaWwX^4-OwqB~MeJFo zY>*|W`K;@Fk{_6{R`O*_%4QK4uDSYqXEvXJ0g{gS|lxl1C zBky@TT<4hkdzeQH9byT!%f~a~T60HS5Rts`fqaY|n@h@bbwDX7lmy21Ly=B_=(NgR zh!@R_oaL|##|9ULQHl1l#V-ATDn!;emNXDO!dcoesp3fwzruU@dvjAE4Ik9pH;#&3 zB6GYyh-f|{e^5X_s7-$tnZnGSh(e-tW9qZ>*GBfx{I10a~i=$TP!n{FOzEU_NK`Sb&iIv^6bgG$F@fqZ7weX z!I(ZK=LRL;F|qmF7+$BYmz*Fv;*#{){F;4BP}Ik55z`TWC?%cTC9QB-_z#mDTae20 zoR@xPp`y_tN8He@xTR}bbX(fLp_uIsV51pceVX`)W-8MxJI|Sl(;OjYUw~bbEmsal zdQ=wN;I@IXJG8dgVY`@sf$^SQ+t`P=L=h7K8hN z5h{ovvLD&~dp#?dLRX?w*Nm_JiUN`4uh{a(qq~g{UQ;m3jur}H$4daOt`-9WT z(Z|zGZF*yX7Fs)52a%DDIWdNKI5Y$SJwO`pfpic=cc>sN#Ez-<>hGC&GsfI^W~=;O-q%}qf$yMO55b(Jm243+}~@bxWJDdbE1}PpttW;b9ldH@x+$= zk}9Bjv6kZR3Qe+qqi6NnbOF|;Jy157n#Ub)6;BYmvYG5dTbRG;NNb>@#G+|Ep#k~O zEm)BOc{=wtOu)9bH_pP;&Z~zVJ6?A5$=`ID8rp66k%0=ysA+S%m$XkDo$d>yKxV7K zr=}DPASIXrE$UP3-&cOA?WCo0j@2a`qE0SraYq+B2x{|W%BWd(a%6|=ikH+WidJLsYmfaIAN}jIps;WDR3S~+iGe5FF{+wEy zIJMf9@9YKT+dkiPU7MTk2H|BPhC4p1<*`#^E84cLEh0#@SBz8}g|5zfI+uvFEz2DX z$ws+ACQy+8$_~UFSq%$psl*hNgyt&F4;_JJK)FrffoG(dGDNRB#CU71{}dVqTep*2CJHD^c^yoPbjO(Mh)Lb^ zV@SfsS`ErBXQupC5>cIpmMLHjo#2n=BAA4xm}B&jf-aSM`B_2}>6Pc!?Kyr}>Qu#t zoXC3CWRPRkr*~qIR#-09#AJ&|{rY21xZOg2X#OKhFi%-!nK^k^6(c`Tu#K6BiH`f zIs_}vM!SF?kBnDZpa=%4R`y`2lGV2g>bSAK^1D&w-E*-DXI@CbvzvwQQGX(p6VyfN zRmQD|V=xqp_*W+ zai%n68^aL-Y+xU#G>g0?{tO`;Mw0Cxo#a5q2LQuB(TJEWmH7t=i4ihc-(s|MR@W!H z!HSfN%Av~oXB9jv5V!dqt&D`Gw|I_`;s30TtGAv@9RW+cFA|3OViFZKJ)W(&$9n{8 zZA}u$E0z}J^(gVB35^n}y`g>2Q#Ys#s9d|D&HA}nZ=7&mnT&ngBUd5D?2(Q`^6MAz z$C7e>HGbW>0h%rhK)_XmRSK_Us@_==-Q<-43*k#(EHJ0$t*4U>vFI#`@hfpyaUYm2 zhBfvD{un`mD2yP$JeO^K6~lM?4KPzQHOAgLG__O8nS?-WX4Z3O%>49lyzP0r^nm~0 z=+U=Y15{$Bq43Z5|9t)f=J;*K|F75*A)^F>;y+~?@jqfq-@pA|Y-vi>+V=lN9Rca~@;!Tk@ac*-iLrnt&VxO@u=i{Zu+uVTK-bI}UG%X5*JD z>k2_VhnW_FRx+wP0g{R#mu332+sXq*HDg8{zuqCIvEpaNDW+XkokTN~^JK6R2mXR| zi_SN3eXCnk>J{*Mt={qj$oNFNltP^6g+w|q5=^PPAqHtRmcv?^!7c`+zDAVMV`!2d zRM=(4jk>{-j#mjig9&WjCjsi2wTth|uR(+Z72VN=5*^L@06#{|@Qr6-*QQfaQ73iY zj&Ef=uy^++(D&SdqC>czLQ_x&C<7hmSculVCQ^uGwG+zNhx||F4zy`i9_C!Es~-lviO&iW3v&pkZrk(6s>y99du_63>G_ zfM=j4P<{~;>w+&f{Oe+~ zvORe{scIoqnE6St#3Z-5BFA*^L}pb4U{yx9-i?JY_9OBBTyUJFlP~k)hoacWS|-+w zwfP9ZMnz^vv1vHLnl8Qyood2gW0ko9V2YvsDD9Gf>o1(nEy#Gytj>%)&H@jcct%;U zrrmzQSxB{>EzIO@Tpf4>%lvA=X_2Y7eH!|U=tf+0Ro>Dgf-aBQ$oF_7gIoR&;Elk3 zk+wVtpsZ$S%&P>cG=YmB0&${567!y5g64EqmMfQkJV^q5DY_nH=4#9E@HbTZ*= zd9;$%JR?r?7=;Qvu7{4~5=sh7>CIqYkgvxtjtvrFP?=LpGMZDwhBODBrjw>N=}o91 zhI)XaaLu-fKp__C_ku^zT2n3JKG6mCT;pFca!KOgLVenu5t1#;v=SZfa%z{-a|`Nmsq}=OALkV-+#y?~smJm`b~4inE}=l7X7+Z`Ox{z>f{rwTI$3`JV;^r80&i{pyNW$8{$9fI zN}0T7tk%M7oj<&`WGDt*`5a<9Yj*YYE3a8X)O&)MLH&IN@oT1{YI59L zIL4^%%jTrv+*k7S(_S~wtHe|K3BT(1}J5oN#a(4wrQbBHH_!+g{Y&` z-|NkC{sFD)tr)rj3{{_3nyMYJWIvG2MX{SU^d{SKuCyZVdb$p;Kytr;T7wP;cy|`u zBTDF{KZA?|8t&+>y#hYHAB$pT!Q37)$s!jN;3d9o*aH-AbDj@S-eC^Gb|Iq};k*hF?gvG?WO;vM&9nkbKEpC- z1(fpzi7EKG#}oNw7n>;ukbo$5Y863E7DHAh+hH@#x|SlsaI{q?=a!G_&Wy0-sxAdyNaD>2b;^D*eR=_$-ajJn{O1 z-H8Ze4t^3^L8<;R{X^>@%uB_9@{vP!oJ2D-0C;ACc@n9BQ8I!-_Ohbhn3aM=UdP){ z4c;X8IJ(bn1EiZ34s7j@VmA9N8f`oTPAEx&1eUPn`)20 zFMLhEqF>k&B=LRYcp1FVY>)=ZRO`zyWK&S8A+1uKz=Bb>RJhA(egF(8+B4E2raW|| zT(=bT-}QhnHbbX*qqIco{s`-(=~luS-Y_=~YzicIaMK2H_y!_lTi(a+-YxT(L9?s- zbqIn_Ja=kszifMxoV2cm*Mve0eKx@c7`Y=~S2O8aWs7!x=RG z2pFNTE#>OdXIEui>>$@A0*28ghWwps2Ezf9r?E4BtM&sxp87qYc%cG!t^#wR0+o@2 zwqw7Ok9>aAoBaOmT-;^bfC&O5xVXZMLdf(Mdi6X0{eD^flKl0Ij7`Le@EUSTvUmti z7@P7{Tf)ZQW=)$Rpo0^jv}vLKXmhmxozIJ*I6hLaJR7%WvmU^;Z_8sSyolB=er~Xq zj^eKc=i$s14Bt?&zU@NLk}?TF*lB+u-(Gr7EZP*JWkbp?7_$o$?0SiN_X8&Hian)6Ws-cQqBW zIV#gd%zpXDlL7U_DYeFp0^xXX&bc0#uLL{3)${f6K3h3x7cpU6A%HVvuTf0DS^Q68 z%{zC^+qdWN=RE7EZZw7t@Tlw&q6ydSK^8UIDy;%Vec?_xL2budyfQ z!HkLGQI4bN+T5jrUX1s2d@VFuSnPGunfe(a3(djC=0Win&(vVlz7q;Kd1_V}WG&jE zg`kko;3Gpe>K{E}mGk8}cSd8I68Xt-;i-b$XgG0XitFbiE(5dr0_>l*OQa^C}FQ|!_W12#~| z4m9{E4rmbd7*gx27-(M2FS@W^wI(V*PA!gd;}%qqV_mz_=Z1msIEd=EuqCkKMMxv$IO0SjOFlrx&t@y(iW zn~zRT@1S#Fc@HTR#?N$C2 z(Bk;9;o3nQtk%kx))cAA* zc5Re4Mfa;ZOQW(DRN|MkLL_^Eo`pSK)6Qw~f+k<>3grvwtoCg9ZHykl0U zY%r`#_Kx}mVW}q9strYIE)>PEG<&CrKRvQOeHbZ30{9o5(@H30T+#7o0lxHuVG?yh@pgY3L?STfwDCI!DBszM+wkkxh4_n6b+z@%6~;3FSdOjtMn+V3Zx+=^b~ z6%om}u?5*MYBjy#EQkc%H71YQ6$=~xCC-416{D$=N7YD4qJ_m zHCvt~!O|2O=YnQP2ZGvatb5eH$z%QT?HFZyAd#5@r~Bi0suCIc%}QPwI_=WLj8@mg zjQdaxQilPP^-p$JLVc@@y-&C)@Ntpp%U;Y|Bg{ooa$VQ47DF{lYz#3 zlt1JfPb^$ICPcB;)cFosKfBO^k+_sD&D9)WDzf?qG`6?kkLr{I*2g$r3zC$kG#WhF z*DTJFeX?Hk#&SYM=((afRE>fXWaLq8n4VvI>)l9pB1gf0%l zm$@f<`VdQ~$+BIzi)T6y_X17HUDJY9(|Gp?zWRjTlPD%og!2}m$7VRL{gL-=iNS&2 zh@4ML0dynKZ*x#u9<3Q36;*dz?5CbX)6Pk1C$CkrDD$DYo|ZqsO~{Dt&NtMR$#ijh z40wxBKw;hwN^WL0HEq1@ICd6vcE%)ac?=s_;Q`&Ls}+)j&g(7rfj#rTBndDsmA*9= zyz<~h8x!GlI*WA0z!?7VeKeN9TmA^&4kmD^7i4`meEhD^F*Zw@JSS=&v$h3+Rze6L zn}f*73lMv?h*P>oQ_Xf*+%Jp!{I0T#B-SM(?G6{k<2zV9Kf@~5LUBfDQgMB2n(M&( z0m13*POCcAWoW#J1eTxMyk1}T3!$&e_FL!<;=f6zR^z2WNMBdpVxG^RaCwgkdCT7a zO;Tv3R^8(LmK3ml{zvBRyLJ6H=Iui5{|F19s1U=CYiAqehE_=|q{=(#*|bmk{=sZS zEXOIt=HJ4?n?VB%Vef;?$9%ro&z040CwO<4;k>u~mQGr~FQ9jch_{?EMc1V1QOeH* z6#H~1d@)vuguP@V@l5KwX+fO~h|^d0$do5ACQ}-ExB*W?EN<8YPmK-(7V&HoVJ)6N zCDnVF(heM<3~39n&?e_KV^JUFE^F7EQx0fYlYk%6HnXM8SXC|kBaRyV#O@&^G`W)$ zj>yNgVX7!63sKcDVLwxgV$PJM;xU7zwKgL8k}?2xx7`l$GBEw;P@HupS7_~|vH8PO zI#0rN-RCZ>8PcJUqghOvE~@iPS2}Qkc1-Zw^eYc}u455L>_+#Bn5NXnr;M@8fy~5; z;4Z=}u_k=Un8u#M)^`s|&Rl=CKG@p4&lzC=c3;5*&gS&kFm+;9Iw0TYJfDr(up0dt{-_bW zHcq?2!+xWVMULXzsq?sqkxBvM%T8!?dzcfn>fe8*ewt6Q09S4Cs$u5c+7axY*0cIh zj6Gpta*tFMarn88lE+^y^ZE1G7q9p@65a5YsbLWFM(lPq?28`STo3Q${Pv)bReR3T zxvk5=7iEbfCm$$b6@>?O(?s?*&_hr?!4fWDM@7l^>PA@dJ*xV_Z9-iL9^C@J8gFVI z*B6WXO9_a!VeN1t!OYvq4rIg7)z)lM8N!&FR=Q6#mR54EFj+6r%Kr6Uq+N(?w8;fN z0)0wXuvVaD!i!PkYHgzk*;u<{$mQlKRaPZA*t=9#Oe%U5wl-{dl=9w+pLRGI?su`| zR#tVEPfM>1)`FGIy*tkqs>2r@lxKWG2+{kny`Lg0s!(FBz$Y?E0Qpl6q=LyhFLOhx z3}`f!Y~#u-XvrlrEcRU7I4KOXIk2_aWdqCzIcgdG<}*xg|7`$@_lmE&-UUxB_RZ)e zO^UmZ+_8uLNB1N&ATG$dwP>M$jKNV<&>Y5HW0IF4;KXxcwJxB_cMQugVn{eI_zANy z?$%K92Q;`{uK0@5q(mS520Cg4Q*fKJHn(rDfj(X1Un%)tHAvgS$#Qw-ZB4Xsn`dQb z3ii${&BV&G^Ma(uv@SKkp-tB3M1Qaz|&InPDyO!8+Iaq;6lnYpTZVW^s*47G-JJG+fKPli7@B zG%Z)Ty`rKE=Vumx7(-G_(u(Dwe-u?dp=@;6iriJpsd@!wLO|POnrk}|qPmBz0pxnM z>|CoQ32@%TqT&5@8HHa_#~C%5HYUxW??CfJuo{JK(~AzPJI5$~TVl|{NpD}W3PRW) zyN*#EIT<-Z=u%;};axl?zdv31(cs+b+*M5pHVI%$$=+_Tz=yAQgW+4@`M}VG8?*h> z)A^`SRPFo-lDhS5lm)k>RX*IPi8=jYd)_9-6qdlj(V+%095S3SIpNYwvvmA~{s!(d z2d#_C__Z1#eX@)ywVC#H_Gr6ot=UY6uB%~7*Zg(;hG3;$_ca6Z=?za~)*!!px?e_D z{=6*g3-YfbLXhlE@9{U=7Xkhs*{1JG{D0WKD&_xX`>tx(gwut{(`Os`^kfMUqoV^B zXO)-QArdg`P``ZS`UX9+?&mj<4Bt8{M;SpN)faz= zav~@J0~aMo$s#-rDNA9MrlXk;J={dViW;V77H|V9i_)s`ok}#WQA7}fb-MZxEK;ME$Or(LwOnv^?TT!}O!P^bI z@6XVzWqTOdGGs7gE6t3?Ky#h`%*ylR$}d0Jl0VCLwi5)fp(b0=_IL>S9zHy`p%4<+ z-b7koyb(K#mr+sH2v!HHFzpze4itDg4Jz=FTj9~x>Xq_lRkq4PNzha?{Rkd!G@e$V zw&q{4HpFZuT#ObqC|k%9-v)@MTgh2AFl}p}Ix^&5k^}4v;9b4-PSY2FEQnoBta5|0 zve{j3{WkZk?Y0_@ z%!VDFy-SYS@g7_rgEeOhk!V|aV|8>yceq9AESWh;SIe5d@JByC5dQUTVZTJ^U;QQl zv%l>g{sRg7{kHrc67WJp)A6hs$>*u2*X(F=r7A{BzLNt1SI3aFJGv-gq3{xfhMz&! zOn{JL!iM~-3&xKGC}Q5;>vrCp8!sIcJ#t8=dlSt2F~#P-iKy>$uJmjOfI&}^i)tCjl<+Q2#1|JCaIuwdQ_I? zoHlK*vj?_z0Hc))9oFT{5X$?Ip?Lq3RzeN!R1gkVF@XQW!tNG#|3-r4gu-2zy==C4 zu$P2pj$w+vpU$zfS}whS-Ce`fJbvc)TJaLGW~m9Ik(5t$T5Krgk5^EW%3X5`#r#5x zgOHq&a*dpvEbEqa{eB_5cmwBT`}x~*2V|k;g%jeiO{v#J(^hJEf8X^&u=AH)R8mVs z%WN*cTJ?J2LcX!`-s@^2rE}{z74vQmVN!LK^}^n$86uhrBJUNYh%GEa{X2#qX0&5- zy&3sqPJUjt9BJ7Mv^nGrkr}d#_p2Qpch#l|W)U`*a(0fmGA0QbmTnPot{;rA_71q& zM6eox!PgV*xt>7$iska1JAX3_Dk1Agv`QVKk53u01}<-x$kg>4iDp_y^%c#cBTE_! zn`!t5!S)l1WX*>*DmOOQVySM=OCL*iiw=?pjOtQR#dS>1Z``g)F*D(@L~%1e-yoNG zXEySt=lJl~1Rd?xy2U3XEh3MQswU_({5=zehk}FANv?~7|Lp-kE|^nW>VAJ9U_Fu+>G2~LEK}tjwfP6 zwlc{w$V>(O79CEd(`Hm6o4nozxxEKn3z>r55!WD$TH)BwcJ6e@E>7Ge(Y2*aU4^H| zoQgB$R`*=bwh83%3%D%6{LD(wnp=@~%j0B_gJ z<-h(b%rA)(IGscX;fQF zr}jJruHybkxk^Kv>$m^Vq9F!S5wQY?u7JUMXHJO4q+4X8QjYcu?_r_s9gO7Ccb0X| zh_wRZIi&cpkEvmm|3yZ&9CYdM^|%sdUNJr3>@c#MNwpLO0tq(aEMkz3?%;Ba`?fqi zW~+2Or50K%hc=`Uw0Ox62a)YaNb+K8pB+=G-I?%F+xMt-i*znzXvUt73Ye zMra}cXi@%a?FID); z+G(ma2};J@>+@&Ab>+-!UK(%Vq>7cpSRLGJ&)j5cfHL ztp|y8Uzqe@YSij+odL5k>Ob2*~Obc8~<8{sebq8a-Zn-9G`mKM~=M+NLcY%#S zuRAStlH>#s=AZ8gzaL~#- zHO@jL(~@6^S1kCW1SJV)(RTKHv2>s2Y};_yq?1cygxOUC$>~^QST5fI=6N%mt4I}} zomFSQc%xM;%M8KYPI$)gZD{jU!ZB?_&^*k)$;Yq);To$m_rt}SMlw+-_9En#HNg#8 zw2ibew`ZmjMcAg5V86CatQGe)d0+ZRdbagFTOl-UxhPRa?^}N1SsmO8kgyt!Jvyk` zq^*DXcRma1PB~0XQ1cZ19FaGr6QA;fec3alhZ6dCM*`x{9nY$L`dhKhXt<&xBh=~? zn%tO$iz!TeTF5ce#|}9$38FPq6d41kXSJ74CdP37Q|v!7{l>x?1zZ) z-%*kS2hMn&!^g0X1!P6j+vW>1J)pU zlDZK=9YsamgxIireW8MtDUDwLfn8 zx2Ov9tusCo7gA4m5vvzm(Q1;BnU1dzzoyO3pXzFTAsX35Sx3 zvu~PxdVag?$9qIZp}${+BP$rpl?)BhWA6XEGKj;jS3F)rv!5CysO zOXzmRW1OO(PE40*gNwpU2z__;d3U~!(_4*a9tyzPjik`vt@%E^F6=&PIQAh`LeA{6 zgs8vAp$M`^Ax)ppPJ@N1(O;QH9eoAtK=`nhn6@`KfU5wapFyo52*^9etlZB&Y>-77 zV-GPHNAVwt9OME6zODqqT`t5r@}td>coprZ7@M4fcO-QWLtpPWpYLx>D%UfeyUdKCNG!L7qR?(>b&yeLyxh zdS0A4QYi}?>^#A{Gd;bu3vY#xC>0_8r;ZfPaAJvP5%aBNI|1{+NS5-k;|f@H%#n1Q z-D6`R{UTmP@rDYq3T?(|+Z!)6gO@Dk@Jqj6`eQmK+u#xx{*ABz$HgbS_Ot{Qn9JS zf^rNc8px5<&!Q|K(NKC{=E{oPGWsY77-bk91+OF(fu{{b-v%hM6Y16n6&ySjpX1lT z8tXXJf!WD>Y7=uCoj05b%GWVq-F5I1jr|*plwor>uF*N1v-6Dgob+O9b8ltzi4mPHRt$`ygZxc`upLuQ6@rz=OS=~=B zLR?Cr3t5LQ(9~Z;Wa-GDJV0Eq_O)5Jg#I#Gdu^|+Ow-msIqeP1wWhlQn>rlEY)bzU zWhh86SlB(3o(2(z8Mu!fANk*55xbSyFngVj2rZRO)r;W-XL?T-mg`vi zpPwjVNslkM;LQ^$i6%;2$g>%z%eR>}KcRq<2+G2r+ef9)w?;F;8i(c)HN!1f9jA-1 z&ZyigT>dGvcYckg2z-&+2ZNz;U|Ct(}GK~?7hty8H7t*?# z-A1-RD=H*O!ev>SweX*|EM_y#w7@HM-;CBke>A9mX1jSdy~>gyU4GVmJLE>NRPIbP z@yhr@oXy19{?|{5BCI~mf9fho5&uVX^nZjIV=Fr$bA2mY)Bk)@)HHuB!x+DfJoqp$ zVvH-v#PTVZ;_<|b+UWpI9o3fay`xc6e80|^a}&Xz4>6y3^0xSuJdxhfPA{$#FLZ@$ zov+Cgpm5%x?O2D8bgwKDbt$B0R&w=ZnViu_ROx3&k$5XccZ&2e{$}6lH51MJiC55h z<|*$oOGfaj=0^I#lS1L-l*)DH3L7=4g@9`Lq-ygR37)l$gw&r3(cx40bab!Zf1b&S zoFwWzZ!U7DF#4oYfb%|TzEVh;zYS3(S2S5psAt$ommoQxZQ}}AWIirD=O3|FH61i9N_riZ)Plt6){_03c>`Qzg3(T+_jEQo9Deu~MzZ0OMhF{owYmN;~a z$|HrOkxWj8SC#4{6E7Qa%~6fseOC|JflobVl%&L~auVcHa9SeSX1H_|cLI2&SpTS!J76rRI9OYS#1SO7q602_oh6ni}fb z<|J}y|2o+>GS>A2@TmTA#`CatsiZ>0LU9J?F#0vgS{5)LP2n-*pCsu4CY!0@Ng=dW|Z(c%+a| z*B|bD4vzX{t(3(A*2s_R)!mK|%I5 z1>x5ph(=W0?=0O`O!dg@AK8D+p00Y$)uEw z{hd2=OjPevdU`w~`udt3HFkw#)>>J-8~%eQldZv{@ad-80zF!m8quJF12j?jD~HhP z!|Vs*#O~uhGa$3&q={lwnpI1$-89ec7p(zA_#^4o80kE)dH&=T}7AMA9>A8*ox|bT7Ph}@kP5lyI1D;r?Sjz$+{Qn?7dBl7}N5wo>*xF3ejW(}%?Y-YPq7ReA;?IKYBePs{eErKJ2F2buvemG1Y>w-nlVa$>;ccH(9OXSs>F-4N?Ljs&%sv?QCe z?P4i2k0SS#bnPb7VC1V!WT@Xh%rzgPi<31 zITZZKwMv1M9i$uNi)mkPwWiSZz2n`Q+r>X8ujL#DAIQNTvw3nI7eo27mQ`AL+hdM1 zmnjs%Vh)~mi1{^g-Qa*rRyh#znt{$ZxO|1ORicMO+JPV%pS4B}FOKK-s!6vcw5&-e zCnq^jTPu1;jx6p@a^rJoeEsFXD0qR3w<|g1{zixW?Cy-LwzfA z4}B+dTN_#{OY{FWctz6prQZDARsMrAll{*R|1UH5klKY~h6uvXb&r84V^$q!1g>B9 zTTmU7GUWuOq)oc{`ySOa10)a>S^fIh&-MYX!5&}rg%pJ+!oH2G?}twH*MTLEY3vuU zR>I?*>HXsK0P|f}kJx!I|HjW{Q$z5D`-Nh@3x~c_Sl5&x)X4=j9Y@w2cEJKp|9Kn* zjg@R{kp1~pbA-ipm3gcjx{JT0q1c)UCxPWNv1mp0Ze3CfAE$N!oKwWZArW~{ITMpG_P2x{*T1kuONA$ z%N5{lNFwFdwG(>j0{f1xog2*{L7U*a;;YCiaZesclE|Y&*ubi=YoHtw$ic^%EOf@K z8+bkfFiYucOtqZLzft~H2II@~bb(#}x)z~Xq{aF}on#Hh-&%Fzhqu3Is8^-^jm8gP zCmo3VLb`(1>H$-p9h$8iXl_g^a%`?uZnwL;n$RoOj38NCb~mZ2O)A!=0>07%x?TZ# zCec)-b0;mN5WFMyrNF@!C#WQ}^}C6SKoQ{c0Fs29uDIPSi?wUl;$VZNUxSAM6`=^Q zY`cgato!lXGymOKcO{Cd=T|Hvg;?c`xmirfD>a8*R2v`>@%*@N>&dU1u?S_dr2FRh ze|jO_F@=Q8VKsV0AKMQ}9{;s3;|yWip8Iq+nbb>&`fCbgC%*Yx2_A-vSwP+6|F1)4 z=iF4)u=mFEh_ra@Ce-jXFA{{%W`Rx&Q&h(6wt`r#E5y?z$d!kEHnmP=EUeVphgYcc zBP=KSls#z;l@pqm4YQ+u(sev4iX3RH$>EQT)xX=~F#4)ZJtUT5xn913b>WO+j5<967t8^z+eb2wv&Z(~B` z4u}x9!onwq6p67_{P_c*Aq4rCSPd2>@C+eSLS7Zj))d_&o7|ytZBwNqSim82QLF(3 zGeD!0j`~XZI5Su}90STQSR=ViV1p&5zoPh#_Nk&J2fJ)#5$4*Ym@8l|8tk4H^o9We z{oYgLXc2(G6{G~1zvRzl$*Be2VYw?isOAOs0Y8mJav8njq= z>St=~Oq$~r>d0lJ5u1{h!q&|$mlF#eyPQQ%AxHN}!dXHjpm`qQ+KR+Z5erbJu+sy1 z$%IG{7PJKYt+Rwodv%CV#;E!p?dH@dFE9sC53{&w-kZ9Q3N-y@u>L!S{DsxZW)a zNQdGU>c+|p=kXPs$_GX3gcY3EDZz(~qDSAA9$LYu7lFWKp(cn%FN(ya7Ga#UlP`Ua ziZW#xJ$l7uCr}zoAMgV(aACIGt6`&wcHLie1v3Ll3(8lQK*_h?>;fXqDNe^|`Q)!8@+4J5!^#_gP>znp4Aq<%co=HOWuqYH&2w>xH$flC^Dh$HDc=)K$cO?w z?7JLj6eF7=|n6J8T$Z3uAGa5@Ju)!TvntS$%uqhjq=b+0pn!st{VE-jo06>3^ zesy#%P8wlec_2nUUI>?MNyLNPi{V*(e{VEU7?5XLlyK8m>5Cq^+#`s9IGPL-W{-&} z6iC^ilhQ2}S60XpSf|gTKA5;62@4LhlNTsNrea&Ov^Oa|FH47cSd?$8G1aBr&c=Z! zypp}#4;^%_Z!k%pe;B@TxcY~Dac2=V}0*`wwM3MR(_A25^<}*_xN1v2_T_uHt4H4_k0OGPLEvAak$=SpW4}~^}Oi14yWYqrNQ)4yuIvU?c za+X%UrG#$o6*v9nRGpL9@M|qUfgt`tXz!al;Juwln>k*6`R0Lj=!sST#I?w?MC>9;Nb%Dvy@OM&yM+D+E158rC^E#vy?cd`$JpT^XM{{cH#^IkB||YY z!fQO>D2)~ucBXnHaLxhdzoMynW$rGUQlND7@VvoiMCv#P9;xIp@ONBN5Kg z$=zki#s}v6T3d%BNyD98gw4(D?r$+ucC;<&=LQ6Og6=HuNJ0g&5SxV;!F@d(5>9Kb zP5_xbsF$Ju%3m}o2-NDaO-(n)Y8>rhH}Tnc?gT%FqSr5|pf%_A6j0Iwg)sn0Qmjffu z5$GCBmvGPUe0-9(ClK*=7+QHA2!VkVvfdU;0b3-{Q-|G#*js+ykrVXhEH93(!-gek zUd^*7nRj-9vl<(pGIPS)BZ42_2?-u>U?QJzY_gt(`k}DhXlNzHAQQ%~o&=snKsPaB z#i_#N@cySHB~vk;jjAlD7LFZ-Js3w}<+5F7b)m9lS8@D=^6Sj>k+!{)86MvnvW8Yd zg8l0wW^slr@a^_^kg*!4L$ppnzg9AT0D?t}K<4(@J=^uSqT-^SybWofqD5lx2EXMF zb*|oah~xEIgMC59;bs$o98r6>QW*Nvh*j zg{fqompaZu8oDL$`p450!;6a6*qC`t0cGWq2|I;qO}cOLSu5!jxtEDLYEyCv;uPg1 zDsRC!%N>g}siGO3)*>Um$P^FZN21D5O+i4jRK^cL*Wb!3v!op{7_Nd}-i0Y*dABwV*eKpP6j%ml;rMu!D4qDeia{T7R9(8FrANy?$U ziFA2^hD&_;)AK$vkXS2S0`BugfK7z-%1`dUT#o>40yr3ha?Y;HwMn?l47+^=j;X~H zas>6XX5YGb3F;Fiy_#|5B*5N~Bx5w|Z|!ctBu@Ho)N!7S$UnLuo_^+o4a>4@UX2Wl zR)7l^e&>Q(5+P$kOn;$DBy@OO-|afJ%B4J&sJ_7Xyot^FP{8(rY~~whUB@cFcxt1H z)xACWy3`wr#tO?45=u_Q-qh| z*UD4fk9UrVN0TSc%zv5KBx$HWEx?HD{@$0O+v}vj%^Lc0dg5E{=yIcfG>fJbC@bir zN8>?cY9}>9%C9g7l^T>G<0_{`ZWTCP#osQIbmm%M#%0wK>Bw1E7@reeo*i6JZFa*9 z%8QlPUGno6u%s=da_Vl{3~We$K^YX0Djil)O%eFj_A#l2i7E<7I58Mc^~$X4Gh}1z zbg2=^?L1kP{2+$2PSIGdAuGWZyOb5x(%37D(XHJSY%X{VT6d}@?f`G1$LPM?(<}z? z(lto17yh|tBd)s01LF&Y^f*1SSXv{c+GPtT=Fln2J?qce`_Luuqd)h)=&vjxK}f@#RI9D)To1WnHV)5WYGF@e8Uq-Npco#Dun5 zP$qQ3an?uTpvV%D<$`_j~=kZSV?v_HvOnQ}DZc$RncJv`) zo96OZM+wOMCe?g_^n=)-2tVB=EV1TC znXM`->0)>F?|ji^-LlE6vX(`%Y`v6CYW0oF&8ndntGc7fE`Kd}wJWdQ?+o|@$X)q` zbxw_HMdpYZhv5fVl^pV|kZW8*f(Nw(w8_jgl3GYzE(yeEGtHjG z-p5qbhL^{ zv&rNZXJfJ6*^K#$=PG3HoB1^aRc(z#k}#IX)6S5gyGA`pLLZdf9ZJP?Fx`lQ$Kv^( z`|xF&JUlT#qL9!+k&#Hii$i)U>@0-AqrgE!1Tx0wngKcASs-$0_MC~=%Y-2}=j{cOO}7IziU}uzTlND{UIWg6anf4>VUXX=`ka^e$i4 zCQAIO#1Xmz^nlkz6k93T3cE-lmU9`Tu5|f_Z~j%?MA|esvx;S7oZ6(m%;ZI@loLL3 zTLnX%VZwbT2Io1HO*}UT0Xg)>Z8O1@Wn_tnDTF0ERNx{Zg)%1tMy@=~2!3vv!mr9g zJI8&0)THCf{oEr1>CKR>S0}gb#|OV9Vi0Gvi4_?iIdn9`1`xvWK-;8tR1qfjX%LGH z?@e7fw*;on&?+I&qehV8N+QC9plQ-NMdx4JbSQf#1?ou>pvc%Bki)_lzU>iJJ<;-BD%sP@_l>aZ7L2Y?uYFEo>_ngzIp`EE zZr7wDg^?sY~y>y8v2{O8@tnVP(B)cy}lproo zi*sQsHR{I#5r}qH(k_hB+pJ4+5S?d~8;grGe}CbFs?gzjNP5vudS2Q&sQjvi+Ug9h z@1OgO!#+eUbDiDxir0}%@k|HfCo?VdOF+h!fQ497K#r>*b4FL}?5p9b7^bx2YJab; zmoZ?i`pVnnBe7N7%*(LRxT&rj7asZ~&~nU8;Rv2=OZvQ+TlvR}YyHzX{TA)}3iE*G z&~$u7^)~zZuk*!nEhmt~H}OsPzn;P2*=JZne^r`b?BC4&|5>H^Z~pi$b!*3c7KHC? z-MRrOQ?by%K@2O0oIh~IT8i_KS_>Ikykz)c)q08>f5bUob|^I&bkv{q!AYcs`;r?y zTwd1D_m*cyyr%KrfnTG8WbwuvEsv%~BfcaBj@zo1b}E@4H*d3FX&h7dA1q@hZ#*;5 zbEtC!N@u3~T3b)M7-?v%Q+eiu&~gsIvhnJ#IMkg7Ocr5J|1@7`z9Za^O@~ar^0LqS z@s{GywpXZ+d^C3168BpH`^Cys+)U9@M5Is?;$Ysb`ffp#+t!75&xbq=(um@QJPnudK%@p*SZDynl$n5s-lmRJAP?hX?=a`Xhu?#w^B8!6Bn zLMi+O;C#op>K!8b^Hbk-ilyRYjeQqwKB&sr?b2=KZuWR^qr%a&gRXe>8W)Wlp7C77 z(~p-+-Fv$l&jPr{CiUTQUmBahL3S<86iZh{=eS2i#yp&7ejr8>e0~)#leSsDA7?=T2f>X* z@>q{il%ynt#ST}7|2tVx-WX$Q=+ikpc5qjr#`t1-!V)GPCWlhMCYFk0g)#CeW zwW0JH4e!njDomdj8-6&8)TArGKY_LHDI&7vT;h|LuPGIZmL(ByvIY5r=g1_w~HhY&o!Z{l2m*x z7SRi)5zsT!TqC20EvhKQa_x_k4Qm*cEH} zskS8uWt8t3y@)8svXiY0g~I7G;&^|kd6%6x_r&7rEHAV37=w@2Dzw*WVjt(kPK3_w zUr#>BRd@pyB)4HUB6?~%m6q99&0(h=DLX}GzjO6LP>v802h&_jmV&vUwt&)`5$!^$ zIA+g|6|E<|F;XvP>q=%3XWbSywf=yGboLW;FM&uBSM=~8=%fELPO1dTlZBs<6&6{N zJ4Xpob@t5iMp5FmR=TqGlip0a^U`p0ax?R6i!d7b)eB7cp8_ z>ihp2!1Di9s7%=ATp|Di0ObC5#r^X7|C4I}zZva|RJ4CXbWyx-YFZife~tDTH6$<`Rn|c;bu}~GCx=9R9zV$k5b^N6sB;st zMux%tq<=qznUFW3eCaM6JeVz7vrV@v@|RKPRO*Km1gChxI@T_kFHJ6BiX}C6^?3cIZ3D}uQ9goSOY6z7|ME38m7Sr z0tiJq)4!nYcjkru_P0Y6P?&o>!ORO2jq-4Y#rUr5VX40rkRYx?ZY(t_Ky#qBT*(^0 zNe>z|D3-%)8oQw`Ly5aw@2Ax47rV1NCo zh=!P{k=8B8m<}R2$mmxr3Ctsq>57OmhCD`E0*E4N&~hDv0{7hL9${Wj-2`j0^Ecs2 zQW7%AH#t^TrrkI?Z}l8tuZ_HTGT}%Kxv>2hy8~wi?%Z+6+C!pGN#eu7h{lmb&12V2 zhLjwvQ59emGGnV!WgLs2i_+5KmgTca z9hJt4!~^swAXW7}G#KehM7GF&BYJ)D_f)6VUOAJYIWb4Zskbo<; znl``k*q9MKUT2CYu=^oxr;EOvDaB8G!(G@ zOT~h|;zB?pfnOK6&v1zC*r0AY7PdKh(IfSW2J2M0hJG`tz50cd$;S>+vNpYAD}URs zjZO~c2)pfbaJ#3u;r?!q*xcI`r7uU-ysf|ZejAEyZ}|Q<$5oz$ZYuY$Tp7pt|7%_S z@0NT`Yuf`Br0?#Y06IA)b|M$5iR1(yg+CScw6vkC%|Jr$PQ5(h-kD)0`A!gNLQ5~fC| zQ)U7T&$S(oC6_6!j(k4F;^WK2Di2|oNAOI8Rm0!#Lw{!OBDh{>h$0y4CCD>~#KyQF z$n#_s+b6{k;>VcImKw1ss}WQfd74WwO?e0vo8fyN!*b2KSB!}F{y7PLG`XnZ_Jl~-= z5cHMa4|?KAZpb#7PE;L8|L!z6QBMkHh_~b z*UB%mb!X-!H+gT)#NPAG_BUs9L-WOg0V`(gi5gQ&H!GT?;DYiwMRc=5ca&FD)f7C4 zp{y?Wbb(>aT`vf%P3SBt(pHL`zyQ}Vf1WrC>_Kn5H4=@|mw$}Fr%-$_l|V9`3&gy; zg`Ch{WfB<-o?m5`YDwMFfxnptf{U3JfF|SHibedB3^tPY1q-GmIxs}Y;$YVoFYML* zFpT3bY{eN_M_vDcq zIMd~UZIP++6t`r>0-V?Wl%$e!>l7;p70r_PFaS%W90)PkcNN`XcmT^>wn&5Om7@#cSEdUL?%Q&p9C ze>TrTc2jtUxtIEXYQYKe5d-X6C(uNjC);-b3{It7_-zFyLSig8K$z9(9=z)J%XR05 zA9hp-gfcE1c{#?k1$_vBRm~4ORmLN%00Wi97Uz?mwBe)#sg;jM&SXcpbcl|x1*dP6 zyCa*q`tcjxt4arKQcdU~f=`zD@DIlx$XRf$>iR=h5}Mvcv>CBQ;`hiFwvLngOA&v` zeVd6ljw@&0lxgL{rvTQ!H*b(3I8PWNMH$ Mbiw7dbaEBRJj<`n&{b0=000?YQP+ z0PFF#9ljL;kCqs?4!~SxU@U`4LY<=ktG+g?YG;_BCa?*aA!oJ&G_W-PdFkU4>~D_E zVT2j0+kac2O4b;m2CFCfa^;((o;s*U-x7VFX6`CkSM#?358z`|T_Qp3D9Lba7S@MU zE^%UkaIo_()s)d6vlaMB6Hf6nlyzZQJ+mI1d7X`?~ia$?xG-7N^!b&y8-_ z{4x;I%o0Cu6Hs&DY3sy@8X0XAM2+j7h@*H9SVT|wxQ`}WQ}{IwNDk2;@_P67&{5!Q(ICZ4(@jnPrV=a_=87-Tx(xf5w|gsSZlY+L_>}b7w9czP5bkpp!j?Q>f@=@*R}NpqE*R zS(>;~U9DyNP@_XDVoCJgaP8u~^}uu4kC+(Jth(&tD!Gl@?nKT4wiYHSCpA%QJ<|s- zl*HMDHa94F8CU-Vd~pS|RsQ9`W8^MOC6inTj$!wT%^m~{ybwkt1Gi+!VB3YCH_x6u zOkzt|!ZpjohoA+ipzDh}19*d8AmqWi5QGt`;S@2>x!1tJ(l=LX4Jm~Tc|j9{=4iH< zm~EiT6jjLuM^)Znf1%OY)6<1m!Ke2}mggBfqk>HtrGw_kDj!{Clawbjg|oy>@yC*J z8fOCJXZFXVC7MU7%|_O^%2Rcg-HQXnE!g`2Pw_D{a7J`px!|D z0b&;?oC+wW9h>9(ZNxP>r@kc$KxiRAgbA|vMkg7p---JXgG?@ z+rz~ifWjK^F0+waZw~ZcqrOm~t7o|eFvK*`1QKUhY zkFY-+c_AtM>Y5%_{R>Jb|4JW2kgR7MjK9mnjbr2FKVfoo)_gj6i70}trm9HR6ifJD zW_0#lS(nl1f-?qAxCge2$)9uMwFGzvf~B3WY0y|cv*^Uu8Xce64)%n&?cN)GzOa6> zs;ylq>#HS2ds={x1l_9=P$s`8A(;A}=Iyq?)Pp$5FPfEdJNx~?zwa`1iU1(B_Vbiv z#Agd>&a>Kq5J+m3R&Ob)D6Ph5lIsG#l3!A{w$C zb1i^nO-;1p{i4C8XC4`~3fhLi#7<|PPWo7rr*IR)txxVyptTeGPFIPrH~&nMcJ0AZ zzXYP7vDd(0Ia}r_vGKb*rj$^7sA4XP#U~vq&;M;z8@Hu16Ssx`V;xUkASJGJbp@fv z$-?;U9&mi;rpJ?sC3cA3TR~0jdzqZ^TC1*A{zqQ+*r+k+S%yvzl096SFr&q}O>U@cyR>C; zS+{~~JXlb8Pw2Q9JAlXv64(}4*y!Imig{v}f7tkuJV;>7jB>od zGYf}kn6cT%Ae{RUL=FBTpT{9}J-P0boc&70=n zciE+Sda7)NQ9%n$`Q%%LEex47pdz2LyVAz4_`T(ZV&jRMHJKv$eH8~o5U4I*rZPjk z$ni6sI$TvKm&Nhn^Z-eA$ z{0aXz1Nqdc&cV+9wl7OJK}JvMJL!MbD+2@n#!vhL#! z`^yH(Ij#@h8syP$fbF-l0nHyxN7Sh=<=cNbVDhV4U#LtwwZEYZx2kjV@A0K;17=?+ z;1i)J=MRdtnpJ(29ZS~(m;U79UNWgd_E=W9OXcEpruzM8wUFpkA&Iij%iozjV{u@g z!}~!uFwIK=9xQnzp%x`Ij+nA@V7OnT5CteKkOu+*AlHGYz|Ypx%j6(`CksZNC~gPX z1Fd6u4zb1QRcH{BYcyewYP%XdDaA!bxl|3F-1kSm2c9<4ee|J1K8NCTUPE#z0r>gCOzgYoK5Y9ad9iPXC~rt!t?VScQj z2{58L@AfCd6 zt14G+Y+dQSW3&*~m6U_E*W+|wEPvN8L?0YoT^2w4n!D)L7U#^hUQ}3yfAzt3JBjr9 zgWg1m63bS&o8XQ%+O3LUcQ=pNK?{ck!g5^LW1$`A)VeBf;zB9|P zKz}bpio+C)-du^y@}HCce5y}g(yEr1Zl%ioCa%3xH~!8dYFwL8eO;Bpn#~)wd0_-4 zN=HOZkcmx;LrGV8n+qnB4EDHG3C&B0cNHdVjnp*1tYn=w@DL@B~ZqXXeT*2psO>Kte^ zee~!*o*2*!y{0D}3ZV>29u2BugybHRU>KWj{?P_z2hm!AEl?XpQ8fJ>sTAaWy>u=-`wwj2j%9Hbf5y(})*x%BUBfx)jc<8)0Nd1QGM zr=i`7OFIe;@%q{vGM-9$2vUR(NijW;`dn}P-99yc(IDjkBH{NX3*ShsQ*I`#3vNE0 zp5*EXA6Te98G_d)%)=IlR}L4!2@2V)(ElkL*ADjSkK4sDFWQL(m_e9^wk8_Fbd9Ak zi*b%q_sGe&%EQPSl>`cwSBLdQn!pU3YTSd5M5Ry>h+Sa(gD%y#n2wBm58^sT=lMuf zdqPAZ69I=N#@?(N!`|%>YZTvyc z0}G$;y|UbpsSGMaq@JVUmPqwxNbhG%BO9I00`4XP0&xNAo#EfYw1tw2(pK~-Pcn;Z z;|I0l&dt;bm3TmhUJ}pM_)2MJ?D4i#8UegY)qR>GC)%nvbqePZaQrzWJ%6i6A~|MTo^Le-~7T&2UGQ zU~_w9qXHq8SPM+C!|}_sCajGKAP42#5Um_UG)4be4c-2zLpgP4T`hN5GAFsN5|uIX zfj>%A@KB=9R=TIwbq9Mw)g0@}rq|Ghf?Uz?&;xnfqR&q@UkE7}7BN073Cow&A)ZH` z89u5Vl6V$dNakpF#2s>V%v@LRr#`G2TAMp}UtStN)z^L`24b^7&PKaerAr;{SP5{58}4-!!1LEdeXS_jCvMP!O%U)GOTk9J{jiVmd%dKEyEseYeB*U4g9QR|;jNK1g zOxRjqfS18a-q;hri6FaYR(h!jzn`(oo*#8p6Tx4hShEUNizsE*ylGq8S>sAGY^5=P z4?C}jfoeyo#DpqOU;)J;P5~4wdLWAERo)`~mQfi?TVTYtFPQmOBFWYLgwBN_6n4!& z7R*5!G00qvLB^kll!>tygvcSmUPMShe`0c-okHIW{Jsn%4q9+Fdp8`$b)uaZLGf<5 zj)eppq|c?}DZJoPvI)vfzdUfwi7i|7fU-~<=bemg2@B9 zAyB;ninEBuy5!>410|O9ZupV`57L5tuG(?<69i4n`l-{cb2-x`=e> zJyY~=Dp}MXxtABr$(_@mz5zlQyyF6MF7MO>8=$>U@ex6X>}Uh>FetqQ=XT3LOHk3c&Tef!uuEmgZw> zeyKo|GK}UJgQ5%kA=Z0RVq_{1iV+EMWsxP!jkorjLETcW}%+9Nu2qj>Nuib@wzi=xk7_gFu=!X~zA8s9Vxc*D@*!jtsK@6syOS-Ml z9rBh7}>^b{feo4X+8tn-OP?^2xKv>L~fO)&xx z7n7_&f9E}3L|R79e4!wor&wI|SkWp6ybz6_gN@K|3v>sBNqn9B5l7@Tft{1|awJ^S zvSrgjpm2?q@uGxt?s4#&E0+c*%ikg0z7&x~IN_@@pMN|QBLt~Yrsh|Pq{)yhWP|Cr z4YICD`F|1iPFFF932fW|wy*Oc}1n5p)zA@a^zRO0^D0ki6E1^Goa3amtK^c8t&KBiwu4*W$VFN@O+lwntyJ`=loRzd?vx zEu$80bE5p81^lG~F#QQ>kjq8=r^S<06R9tV9ZozeH>~zU2kJSvHJIR%1Oo#`A@a#8 zUO~zAr6zfvZ|j_JWd`VO5Gc3Gq%4@&d6$t)WG=_O!U9zI0{~Rf{?JcKbZnm%H3G9* zh3a>i&2ST9>oB}-XED{g@!?#MfSF$emQ91&Qb7DenY2_o!L~-@hfNU$-(`-PkTGi( z6EqNw+do#3u?I#f?FFcR@-VKjz4nG_=iqsK5HovJh18AJJUJJHHQei|`C}We@6O`v zvZp1go3?(=LEZhG;CW^y56lZ~bHih4iFbVJl7o2|xge`*oD7x%kIx7c3gyobQ!ilP zcbB8-lqw)~RFDXp#p6tM+c%^6sxJCxUk(+l8x#BrES2Hq%<@yfzqh+j(5X-enziG_ zK9Y1WCzXMIy_(~@M-fa?+Q>%E830a8Sdbn%8in2x1OM=@FzVP-50q0wSga}bZl`W2 z2=BQ4&Y#AcDpv-!>+WRI%E443~Auzzm> zRBKo{ZLp$#UF!uXj2sw`+zDlvYMls)wj8Nqz5S%ZY)x0-;Ug622LM3%CvHXm{m6xi zPZge%b#2TgMg`gBo#A;2Pf`2fFOnne1jWq*FhA+&?nj%SmM~~2Erq~!U=19_( z3*M6Ki;A3L2pbr`BSm0($?@!zJ$lEivorRm_HuY;^5gUH*1k;}_g4Qtp#CgBQfteg z$8EU_(|M=w@_aT&wV%Uu=yyodt;gr6J8UDVH?$Fo9-|S4Ty<|IoAL9!B%Mq9Om@aQ zNh{%~MA3t4EL0Cd>$o_3Pd8w~L1r`OuVt*JRSUCOtV=M8o~O_r-5r=UyPS=U>7}|A zoVp7w*Pjl#ZLH^-+FR#7PPLxKnXbwQA5wT0azwZ`5@GWGyhHBz&34tn)~j^^=)*nPh|-{MOhP#KL};27 z*^m*o>fqLAtzL7hzZ0-jey9jiWK~PNuOEGJ)n6wlKcY%T$YHRJYWTzhqF8zzTpdim z>~ou{cOs~l_{GViGz-06g6zepvFBR99v~Uhm9oJmjmq}50qQKR>scR{(9Ek z?J!lQs06Q9L0C;CLpQdnxNJTjTB7KyC+#EeDb)-ulQzRBN)$4r*c1*LEt-FvMGQl# zdYpwA*tP`+wU?2l^+r88bo1oh+-sw0T<6GzX>3ql&`__1(P*mQV(L~H)3%Q^&UUG^ z*BJ7=bwH{{eu_2>8+jMXHRbWF$in_uvHFQMWIJRhWJ!iK(L^88;k54wnSd4^kVMiP!s(N8Y$- zIq6D=7pB=+K$n|7qcNdC+1x+z9`d=AdGEBrZVRx6w8qh1q0rzY3(T0-B0de4P9Sl7z(U-&z-#= zAc~ZXnLguJWR}T?500&*Z>#=F4zwrD+f~&06?lK6xN(whq)xizLtP^$BOEcfQr>J? zK!VufWdR0K8Rp#?Ks!J84S*z82;sKqS+-_}P09;Or-M5EJJQKMf_9{0CIH*gvlYIK zAwShDvo3hM0Vu&Nla6^~gJ;{SU$%`6sL12QGV~maNvx>bz&En7G-|>ET}=RUzfuNL zAfFsrGb((C0)>MS@=?}EtN5gg?^#zymIZ&6%Vub>*S|;D5!Q2x^&X2XhmiB;IFC%A z=}nSNq(;eKPaykPCp7N2py1_%6I)9GsCV*nQ!2YK;|#zAZ}?` zcr7CE6oorIf z=FFG@x9K#WNl2A#vu`+I1yHDKw`4}Cghxq$S_a)ElS9qE1><#FYdD`+S{Z-QTi|@E zUA}c?7vtT(?Ih%x`eV1zuT}R{2nfJA?=kerA~@$#bv#tOi7P6B>dS zd`JN_iaG;IG=h2-Z3FmX0JzUW#DtOQ2@hh^CZO;_M~mL07>7Spbc23d&=2l)^;E9a zAUZ}x-H5TY`&)bw6hmG6tPVIZ+it{xB=E0Re4CCX~asT-)uLCTc1jVkP=2 zm`U3Th-{iW1SJCaM3T)4@uvPa}muaTVA$eT0{y zCikFin7Un{)xY_}sR~G&KvE9MVITLIvvICzw&tZ8rk@e(#E|c>Uokq|U*k4HOuHDT zLfX_b7Obga+!POp&P;OCZP#G75nmmlNIevEQkG|e5}Byj2XaY81mxmapV<^rV{1{> zS<+PyseOGq>!_y|h#Af@<1V_cReH_#4ON zd>vfY2v`P*NjBk2dn>*IL(py#{z;18cza#uB{IxQcWj^=cZi*VrOtwahIv_~f{MbS zh~}dbg)YgH1s7%+Q?hCT93;hXxghUio#wN6!pN(-T$zr=*I!p$6puNkdr;k7qx}~I z+f3@n6qK*(qgo6kJ&l^M)iHE0XoNyDsnKT?4sXxQ^OHl>Ch+xNN% zJ#P74mG6j?uz_^im{*!p+KT6vtGDTTeHX`w4V`u5d?<6VbF_{}_sRFG>+0`+g@S%* z|GrfDne`riW<8pJob~<-)~^1c`wm#)y=Q9G(aCp_V=tlXuXNrIkAI!8xdY` zWirnwhgeQT!DZ|4)038bxGE9ZVjeOWF?n=7c}ZQoxAOOhlkl71T_Si1Zr?zCHH7@} zhS1z9R1vzi3gV?7!-ny<_r1<*TXl=9StbA15JOI^sGXdwSnc+#cX7LNIKy^(-bKTP zOEucKJ4rdKA_pWmu9{&0-_^LkuflX8a}Fudxf6e_&N+@Bnv=DSOz~=BeSl?cys($% zxnP2)dKqOrYg3(xin#%5Br9i?VLq!2Vp6AF(ke6fAk<}HJQzQr?yI0H<~m1;Ay&A^@#$7!5H(CrGP4 z#>q2gaTZ_#jL2;ylW+8~|meA}Q8~Srje+ zh89@z-HK2@+xvA)8Z?X|89J5bxE0A%%_rNQ{K*V*`BFFqOP@}b5=4i$Wlu_uU1n3l z;v8=MuY}vrUW$*PT|SM^pnlj2Ue#DiISMz-Z>%0$SeL3zJuQNi9-@6q=XYMJ$P&}1 z3=ngo#oB-toKdAU)Bc!HWaYPzHlg5c3ls1yC<}8S*1}dW2}O{%+VZbUylTo{s&S%e zwRc?%tHs5V;k3%&v#Q1pjfYcICP1JAt$Wz!@%8=@^MbV~)t1m0toY{5rhJR^NpL_2 z2(!L(KK6($lL|5iJ^a2G2*)pklB+5tUWNiSh@X^Rq%|oVW3{1{%xa*=Pq}70jWfV;f<0+E z#x&n68_H8Yvf=;AZmog>s8g9+j5L9@!1_pL+8rsvlnu!05T#?$hL-nocF&v$Cp|Mao=%7R%hNn^=tl=2Di z*!?3^zJXy>O=n-X3m$?bx$Ama1Bw@m@>oCBEXefsc}9BFyYKxTZ@?B3JPat48rXr` zmM3F6!FF}WZ|IRH*duW1RJ5_gThe*#Au^^cVLiRVo*b_?^cC0bWzY#1PWzkP@&w)x zHI#SqI7u(7EbgmT7pL{z=XC$%+~MhwJ>PA07&lBC9I&y@(P{)gqEs=zglJQ zx4#KB-+*d86%L*&DRn6m_-00-!7cI!le0or>ouPL1|Xw@b%$9WAgB19U2j(rzR~Aj zfopnSj`zTow5=rTPY65^T<(+40-&2mFPw@vzZcNq8v#F{|8!?dzT0E#ej>j0e>O@e z{!yR)H+h_F^FtoPkL-mZ&?~nRT{xT7VaNJ%6e5 zLAha(OH18U;B@NBiAUR>Gx0*Nvx_UlJ5O%o(Y-Ae;~qS(58W265JY0eXN2&@lFI5W zYC}%ryan4N30BI$ae_xREPGUE$`wB@Xd92e$=?qGWJ@$jZ4Z&4X%@(YL4dqTTOkZH zT#X+GBRoYzbnS@TV&Ak}}7$z?Eg2{1k3@Z#U5RCJ48P z--!Rw(xG znBf&0{&P%{ew&gBOmT8Lu1JTiZumQ4;Q~tq(t&U??t*jU%tmAa6|BX?$Ux|)%&dEB z7>Q`A*j+2zN(Lr6DW?ljPqQiRw!*@CXANvQmLyT-jZ`G2(yL3bC5yk@L8dn60p|e= zE<0^@+0T9bQ{wgL2e|4v2M-?&S&S?^?xC}%i5Ji(LL@Z#Kp0WA9;Hm~R^rY9PL1>2 z5|^|>?k*n5LEXrtR~EN4Iq-VbriV2Gb$@iT2q2XPc)vF0f;{)48Y9?9p*OMR)>R z7iq1(G_5)GFgIFzbUcoR9{z7m&i_Z;->1EqU;Vsb9REb!{PVH@UtnlJgN z1a5Bbw3|)myVk!)H^Fm$(OXVEpCNoY<`Jl&pDk)9Q3lRqZVCO!+zD>iI|p8DI`x2x%aCf);0cUAU4(nUs2<-kaCObK43ELj=UYKa#a`c`LYd-;hn zWb|*%#)c)iLAeK_u}j{+6CL!%VtR^S-om1yews`71P){Cqo7bEwubWjwyRx)2xy#hZP8~4mZRkes`jl+sSlv2?2ln0x?1L?y4cO8C%-ba5MGJrJ*Y}U zYS*d}5yx+kdL6YJRoy1v4^ThKxvt}8ex=oZjcuJi1p8d^ayy45`Pxm2!d-eYcb>_; z7ZRwpR&jl%_*}x-O=tKo-Nw6*)0_bakZ33q&v_dWSPD+cAdepzlAbt%UOg7SkGC2Np{$$9;_e;L#dHnw zoksDQe03KE=**X%A?(jgyH26XQh=~8YFV?-0WQX|Eft&?l_(J7P5A9#(*R8xBurD) z%Rn7d$I@SuB_RR*&Pm5@-ij43IKQpHU>X za$zZKVh?^AIviC(st~k(z3L<-xL@|ZUT0BLz;UO+CE$A}_)(2B@x(wB>zMzOJ6zlB zM3;MA^jz~uudz0<$>0&artXdhD99Tt@BfvZCTY;Km%0-@Mq0=6>=2+TQh*yZF|pxR zBj7342UNgSh}g$y%r<3SS;N984p|T3&nKk~)Dc4Y;&;vf%FYv8Z)~2?oaPx?9 zFH6Du?-{IOg?>Ju9FQz8MR!0n8=3*^A4sLTN|Es+(9B+K6?pY>Gr1r&Xdi%0i?*O$pe@7j;P?KYd6YA%aW6T~UuuST~+e zIPAVu!r^Xt%|T|88pyf)H2{^@au>!HmY!WODeB2;nN{-l&vkxNCCDRXX4a_gY(tbxq*x z`;U-n9fE6T&gbQl?HDAi=fU7&s>USZYSJU8^(Nn1inPvQ7WC|_+-X{k=Gb?}UYjcn zK2O^PQcc-DzUXx&>|5m!AWq3DT~<6aP$_9o*kV^lt)p^BEETiNzoMOxez{sg0mDJX zBjp$TvGHG03E+agF=*83QSKmu_==%o0MGRz85Kk4qs7nZB;I?Sm=Pl$ylzaB*9}f- z9IpOzp&0P3u2}l`S!fz-I{4}_w0Cj(+%g3(sn3+T$?K(XxpfvpIy2w4R6yt@0T(Ps z`4vx@`KJfZ`zZf+F=Eti)-b=mRP442W$T<^eyMPc31dj&Xwd=;q~%gdlTg-$cU9T8 zlB8%49>Wa(ahWGV(#iZj|03hh5^}mZ8ud|Hn3JQBD=nHE+?s{S=cW-1ym!5r zoUfvyD+(JcBZB1gP|b8nJvy%J(YF#!5{#H1iw9)yLcwMWz zV&p{gWxckP#j>MZ%~$Dmg=}wsB3Xuq_f*K60}n)XCW=?7joKNdyom$L2M5{}W{HRA zO9u6RM!YMErj?~wQ_JV!x{9WPMB9mQ-BrsbeyKb!wRi~}oDmHa%pN9t8NF>2?eNZK zAk%e{XizjExkY&0lDi_}qy0{N37y~+E%b{?*|3VhaD)eQ!9Ra7f*LKdtGk`J|N5v> z&7~PZ{z9h#!I&E|RapPIpoyyA8Zi_ZQ*h%cSv}eHi*ZExnhK6md?8EF4IDyGJQGN8jrsFgQAUC_&w=glDLPAs;H#0)%nKJ!rP+KJ zDrRERe*WrZ`ORO)VoZQ?-`&3C)D)9#CZ}5^xn8Y|Uc@$aR)5!O>2z{15uebDFJ4v< z_@+|k^iX{9VoT_W0EyEEJ7P6cgtvNPYW?7muH}z<6*~RRx#0H1KwsYus;aO`a^(tw zjgxt|`-17pu(lhc8>06(Zx$S}^(ziY7N0P2eqQ7tZ7A1{R z@R(;!2IO)DD5pjSg$Tw{cM9;AgE&V06D)k?*q0#<|Ga72SqMq` zh_6Ql-`o)Wh@o-Vq={z*)W~Az$+~*?n=;*Apv{{7$%y8)~Yu;jt!6iEyw(O?7l-RaR zME9SD%0C~Koxzm?+c`NhQJ_)@*jfl5SQVQ^a>pI9%6Je1t;6iL>U%E}1iWb<=u>@OvhP7Hj0oMUo;$uK%0k5O=95+~)5aQ8h*-O|$t0 zhbibO(;lG=77iFLl}Zi(-Hy$6ub_50P`cHb@2fUvRBbAYn{+cYqy*bdt;2w#}JVvh9g`%o= zTP<&1TJ0R%(!T$zElk%(9)sfN8DZw9cAV-T_2EB5sZ}>@H$>rmUeut0k?oN)6}1Ot zHpxWl4T>XSf+gpfrv?E^Q95^+I=4u7qzIOQo$B5Hye>zb3c%S z?>&>nOLcQ`F=yVmHb^KR8$%;nv2`x`u=aS&+t!A^{*@o6neU{3S1YPH&ao9(7O|{Y zB&-?%gAP?tC;rlDu#WY^w}=2wANmqegJw%}+L^4s5^Z@VCV%dMD$1IpOCzR}{BmcK zFqJ@-=bb@ygTq6+^|;>~IP_)ckl5Y(C5?BzGmY99=GERFGWLb`YUBEs6^M9=9G-V6 z)d{~K5oM?vFZ%d9 zM{^UBgY)7Oc?K>TBZ^u}JwFFB?IcJVx}a~nBIxvn>6G_kS#gE_Pqbfz9&EuD&e^f3 zak@@WE6nwZhMdkHtJNR?dUk`yYh9l2wdfHxwF+KSl0B= z7zW}Jprv^yXZj%&z0K}@dW~NV)N5PvO_jhUG6K*X^fV`Xhf;!1yT$v(%}pf3ViDc- zrb4^1Ojq3px1KAXd%+>?1Bj8_dKiYK2=lgHSusgg>08=7al5JS#B6f6Og_JBs>4<1fQEIZ|OKBWeqsD1d z!GN5z@N#aW66cNAMQChv*cJ{cCcKJAXry~q()PRjzOCUV>B|A9Y6yHM0&oIe9I;MH zS)*q%{fv0`(z7tDFgQt-MjeSI_-sLEN^_i zMp=vDN;($|Y}lKo(49T~>YPZb7F{hV`5uigXhjI|b4>*D+;N@NXD`l}z90zx&GZ5rjUzB5vbKW)`PvXs(MrRZUOOoctg@ z#v4`^8xFo{5}fYTdeFDiC!zjB`-kLP*;>+QW#e**HiulfrBqmj1D+auA;XxjwT?vr z>TF$x!nAaXNrUzb1HZiMGqsJjh*A@LzK&&AVJB%ehAlgWN?;WkZ!HXYC`AW%$(PkY z&WbPU+4Y4iVIAVAWxaa+C{kZ;bvv;<@G5bBeDi~5DhkOnU)vg_74F!au>C6nTs0qH zv{B3Q#KTvE(tBt7Gj#6Oec53Hla{}cP17B77_EF4x{=5jbGmH#&}SYJJdzQIRA~jmO>Sdb15f7rb3~J+!1=!fr)n_Rh z84S0|u)zm83B!qu$7vRIRUz&r>?iw&K&@E^+0$XdH@Rn%?3)NQPcB@y>r407%Lhr% z(bxY~+#hlMf6|`+0YbEJ{;#m-IJdezpC4l?{huMkpWprmgor5y|AX-`2v*cldBdxz zD7_#Ns2BIGGX9ZJem7{tij{eBrR(t0*FNfbxxzj12dbzb#JYAhGu`R*U~=2K`8#tG z-H$g{eOtLRsHFBU2$8yzxt+>~t!gJWNv?(gJKfRBr2F1ES9eyW_T}M7*_&lijOIUa`qTWMosicMr7bZ06>=v;Ot5mFdm80RaEfJN2u7y~#S8@nQKV>z( zp4f3>^?|f^Tm7tfn(J_K-Y)nEoh)futF7!4&<;kNxW^9QIJiXBPqNS=YWuOY(1J|V zgD>;T^M$?evnAuJ7 z02p3eF3^^!)Rs)qu;4-BSh88QW=SkUvLVFgIdl4X& z(_!_F8GITuYU|WYqXw=#2xVv$!nX3bRoRv2mC7dSr5^TMsRi)53sI|u-nw11F!-Tj z1*;nrSpkZum5`~7DdI^}5X~!hOnc_Z+0TS8a4|f;H{ncv*h-=}CB$8$WxV%qH{>## z+RxKV$bN7r^xydMTK44a-fs-#en7D~_TyvJ35bCygC!8wEBj5r>ujqjw4(C&NAi=;y=|tiyV(1)vErdo_2D18i zN=v7j4WSVa7h)8CN|h8n$*o}%FaPo&4>BNarMRMy#eUJ#@|0q`FvG1idRs_QH3FaM zs`!L*pd8YBY&M(Ip}cXR*FJ7axWoF1NJ$6BynMh0EOpdezRlPhg{4y^@{sJ!E^X%AJM77|c6wm;d1_fqBVE=72N01z~>n3P%zrw(2 z?cei#O$kT&(B^U=Wk(hm!a%A0{aFImmso1g9d~}fPLdn+2;uq|8ZpyGvxi@5QPRw6|E!iKvy+}DhO# z#9|Gde^H1(?I*ou2M+TNU-{Fr8;1l$8- zlE^Y1OgeIi8^reZeA7HHf*fzpf8RVwUgO}^=IQ)W;>a>2j7xYWYNL4-z7J!+eLhPo z)pXML$0~;AqgKYS=JqOz7WMSBE4})7q2n zP7Qx}>YkvrrxLH61gHLaz2b&jk7r_Iz(z!lp!y7LD5DT<^?ok9)yrlT-Ls(td(-Qc zdBt9dln2!*$sVNEb#e9`ZU0dT8qc6|bQ!OGZ+aY=IG}O6!VbNfo0~zqppA{bLtEzT z$O|n82c962*u2yc9Km-gPX#I+5!=o zmB8C)A{1!EsHP&S0~8AJQz-|VoayO5_uZp$u+X-X8k`aS+|G(uXKq{id-amDoRoEw zy_FT7BQG%?`zE)?x0JGO)dVR!ky^jcfjd4=u`IUnm>6jaAF56oi;wJIt8lyyO7@deasG1==QFOmLgfk&ny-&7k9Wh^MFlvF$oTbNe2cs zZk?VjwMmC%=J>d$&k3H*fSKt9p8y&85tw4$5$5>vp88qbR72OkgsH54B_^F5Bk&q> z_=3}hpx@}>k^9&t#M?5uU3ZCn&7_nd+YD$W$>e7h{SyAXQv!~#V;T@G`vZpA@XN(Q zQvC9kK@u_EM%7*7X4wX*UNsVf+sZ(ZVU5( zNLB%q;>tpIz7pQ?08vF1XE(10i{Z_EC|Y0$xIcvh8$>G) z)?*2u{j>~LuR)v&R{k)Z%7{>e@ilFt5 z@b}wzap^p+@TxAnF};-O-wPy*B5F?ZNlDR7RJb$b;|4XXN@ypuvVpmWeY2c`S~U>^ zL5%~n4MQ1Ih`9R z*(IU4V4Iv-T07C=X0i9ueH+4iLv7a0V7=>*<=DGd*0A}rwDrMe*qKxhu}L@B(7e?(@mCNFfWPj8xL=`W2Q zXs1G#13}O$$&iQZ_Vg|jmMK%Pgg0L#Z{Bqk)p|`Zt|>v`;!R|ioxX-#^1GqwrwUA}p)~(QQddz#UGu&; znVK>}AtFzld|GI6#iABRPNkg)`UTsS0ra&B$XpO3`s~C2!s=u&D=WO>h6+9_T7TC5 zEU>BQLf70SGwzp!05WbfHfYu`;GUomONTI0qZDUr#ermwKrW?(N)f}n$WP)hHEaM9 z$HZmHG%VzOuV5-8R8vBH?@lPP=;1vwXyJM9nCNU&@hnT5$6!k#&$q)Ws&2{XQcA0r z4M^t^j;GbdaqdwLby9=mVtVVB*cnO6BlxZROs*{R zN{|1#_=i6KV;`ou#2uH$y4=op2z=0kJkzr}aSdhg%AO zWP02-16IjeuIyI5zwoeJH|JE@#WeYHQ8wRH`B)MoQ2&t8KeaX5Qto>IqzfIZ93PRF z(yDDKv<(sq5R%Td7gsFE5gxj}e@yMKPTY|jAPdc(xP$9!9Bw8Y#v6;hSAuyuFP4*^ zB~Ky|w3m381(I6H=2O^X${@#}?do+of_;Wvr4j5-mBaVc*gCTvQKvya{%+(|2-)_>KYq*a^`Zwx75M+{8{_U@A>b4 zh0T%$hzIlkOo{tH_pE=w7k}71m$X#v zzIh~?-GPKCi9g5kYv)D$D?Fum!+#pwP>OrI>*X4!_|8r5furD7>{0afYG&WHN}3XR z2Wmz%ZY^#m=6R*xa=A^4w~h64G1)Ekp}N$-Q+i?S@Tl?Z@C{1S#v}`p;b-HcjdEQF zEnD*HCrx^~h$L=TgF?}pg^K81Ml)=lS%#Du8ZgMz!v2%;_zx2b%6@FqoiaxR@um5I zWMZd`$yo$TaS1sJRF33&rZRs(017JX?4A?_8Qxvl)Pntw&j^Gi(hHrFxK)C!7exI>mZWb&_Xe>WEFrDi0+6 z8yc@uZbCCwU%IMj4@TGR`}TXDEzNj*KXibj;F3OTiH9S9-)x$b357{V9=$K;H(QaF z#>&byLl!=*`6HAZU0U54wTB6inrVv`ce$QPv|2IZd`!r(jd@U5fN=qZjHP>;;>&>5 zbj)NblW{EBKG~C$QIaE5vOxv`-D7Ni6d zDyk->J4beXK6Dt^DNgh+58){@wXE}C(1pXW!;ii)Edw_LVbVsV`<6twm!JZ1M?pA= z@MlLHN_-hBhZ7KKaL!Q1F#-ThbG*^{SRItx?ZSkj0&$U$o9MHWL<2Jl$7RBNl>T#{ z)CC%4*7f)_5eq{?XMVyEDUehFH{|P*PcfE^Y&im#q%dsA>J`LTr$1`7J-}|!P1Hrt z;sGrx_Lz}WB(u@soT{|Ikc1wQUUii(1=|HAgb>9(pL0V&Awf5FWE}BGfvDzQ@?$<4 zCF%ZAguS6bPqHP|)R2;kV(?ESGN(51Q}H0q_(%cn#+J#g4fLa1No~x$;|4IXkXsSp zx+G3v)rVEI{!+G6_t|BmlEo$Ug{MkhnB%GG!8m8Q1^&{I(T_rT-Z@2fE+N zQ!tePLgc5_mbZyi_8T~qS5+gl#utQg_OD%DZtA6<=rZ7k_alZK)mD(zGsIuyT&B{! zE@4j&>?U*G?+qw5_p7)6LbliqGS6~^il<)Z8b<4RWb;g z;Fr}nygizcK>+a}B^@IoqiETv?RgAlw4Ts4X1JzC-&>#>GPmY$)4;lFTVK{?)B*gm zigC1NW4$xxQP^_Q^w5I|4d*qZwW|WHjC_W?J2Qz)E8QyrWNIo@D%7k9$Yjt2%foaP zS=ZvRMClIw#dTFdqbZ3|b(zX}-ZL$##3(+Q-DwDjZSp|+``ra{$U<8gjnJsdw=1C3 z!mO-0YXn_U`ksJ0Z&w7`{T{<=T%A=u9&&`bGH8fS>>5!Ud1WxI~gT9lGxvG47$}2UHYd7hG-6 zZXa9{mY683pY@LAkmUUXsn*3JH&FS2#IA=xaJ8Ufpi6$;JD$N(1Ca?w?*#mcWzgTP zQMn~0kF?8$pHJSC_VsNHa2(E!h?Ec@FeRf;bUa>xhDb(?6xPL}{m7J{T3P)o^`3vj z@h{TQ!hYMLXjTRV*E-~Q_6SCcwF`Uk<$|Du80qN~>_hSiA&JEFcd^1Y(f!_K0Nv-o zTHN&;-2rLz){j$thY3pkMXO!Vs4Cqab++Z!4}?-LbdQNVsm#I zz3$4eme1gd8utJ4*vZ@Yd&97?ptJ>R&PDA>oq}mvvv$jZB7Wi(VTDan6L^WDLS2t) zNa;5oN}B6iGGazHu2@Y29IKpJP^&92YEz>oTpT?Fo4g9)6!U%#x7`TKP&N;cRk-Rj zBO%o)YBH#*MG;da_f_=|hHD8dn&LXa44NH?Rq1hjsk`m@W3ku#%VG~dhM-OY_su1n zFh-WYPCe_$f}_}+va>t6aQ4XPouZ+(T}GR5_Gm2GLYZ9oy}NSsZU`){K_vD%YmWB| z;fS|Tz3EH}{zW{wg2V)K(qqgiQdTuq1w5r)jD~{TTz+Nqbse)n9T>aM%2p^SV_6m*9t(%apSI$77TnQ@KN|fJhpeKs+2;r#(nTK>{70+*{jd90NN?=f_lq35yxhO^x--Mkze3 zimWSd>SQ_qKcYB0_j73*wC~t6f%)>Y<#Ey)i_;p|2z5xx`atQ*>imR99)oqGWv$En zV8`Ole9$;VHI=fq8NwGLIBoc~Ndy=(4w)OIpu)njaMNM|xly}PopPtYeegD9Zrg=u zd^3AjZ7$e46c#t?e>9?hPwRfucIoC&CmPFz7PRe3mszTv6Se8$h@T#>rWC(wt-^Ay z#N;6$Gm+;^ehvK+^7v$2?ku9o{{4F(I2f~f0g-fu9(SQDI!BQ#Hy5P7$Mi3hbUUZe z7s}(bd~Wl5kl8za_h!rk-6L69j!!j+Cbnpgo0(td7s<=cg5Q71Lb^-O=H!ngi2pOL z{38qh3s>IySKIUdbg$tnkBD{Nm7~1#vD^7r(#qsmqtJ4 z-=y=1{Ox&??1MPGuj!hQ-H1eZx}?>$!sm`F*KP>nXDG>~ssTtk-w-khf)rOyj*}Ew z+)nN^rb4+Y+Md!=W}4(q+OsVExalzKludruvRZ1q$>Mlmccks%;o7ohjd(30+oX|u z6tI{Z6RH+8=6nlk$QH(1p{+g<{i-VQE9XQmIt`xc$O$~_0cIiet{7p}DRXce{j5kc zm$4Gfb|B`~o6#aC;bC0F)hamn{sXuUTdiv4cf(%O$o5O=z*+gpy$5?o*9W`N?+-Y* zuQ6-(^o9;FR~NQ6-04s^q|U9n??bic2YW}Kap0=Zs6itOaWHVou>wM<<19!7i27Lp za;->ZT4Tto#fE*UzEn?|=s?9Pd}qVzym|<<+Aidxaz5EWt|$XaZ*3VooId?s*L5@)g1cuEAJkZaA&M6~5kC10GXO zq`!aWMF1-`W>RvAt3{Q4vLq$ELo2GV!M|>7-#`#L6*W>W&}i|{3#ZV@{kbBR`Dltw z*Xr}C)7xv|)3!}yUDvOzn(q8b zz9Ut5F_krTwi_k31;EAZOdzdhMU`HiB4cO*oMQ4IVG;>HrM#;nC}*#cBnagfvQ;lG zO?zXng~5V}V{=N3tK((Wn^T7pzXf=YlX9{AS;fXYdR;{KAMeC`+nx-r9kFOGL^zXX7&Q6vW2-J)#R6PYJia4h_Y`4UAdrXBh2}H>KWnSbH6jq|`0#Ca2^ zu2zq!&OhcXofYs~%-qg=e|FJDI!G~dYiq{(qGQYwfGKck@fgk(#L9C!8TfOv~U+Z**7lsi~P;P`6_jrthO;Cg^L1WsRYhj$xJ|Z0r)V8ikW|w z=+A?y1J}(kxx8~2@dWIUCH(2;H$m|m3CHsC5ADFMnFP)<}-em|7?>sD+C`|H8W~1G;b|NHlnQ& ztthBlSJdMz{v`>xZ>n8@zh>m^&xiCk^2GOCkdll^kTfPTN;5GgiD|RS`Tc!2J zg8eLL9&iNGcNO3AscC!qw2gk6HR2x*zOdd(0;;)mO)N(I5@@i8Am&bWNzUoxU66+9 z)2L)GiNpSQ3Za4YFGNvFeRaLY>4k{tw&{NXhl>e-f##KGZq<-_u?#U`^2@E^8@tHG zlH1;$(Pln)l1SKYdu~^}^-&xt)2~_aW@+W!YS9M#>3QhOz*^r{$X^kLa{WoHGn7fJ zwT)Ds&X^=>Mq?O~pmIqpo%n?Y3b6 zxugb!Q8abpi2j*#IAGKD_ma2jW=g`V3E{(d;nDW|Ss z>Gc49b;qKO8=rlO?jv@#dKZ<+x{1Q`W>;E68^~;EDeKEbIKSukn$h4m#QA1($1Lxr zVOyk{w*5&(W2!$;&~kGtGwM+(Lp57NyY2Dxx_=kvLj;uEM@3S82-1M<*YcqNXE|h| z2>2@LFF;|djrct^OxrVF>FjM#ohy(NNEG^Ni0Q^vK)<7g2Xq22bH$do^m-V0t<10* zo0%*3%Tsz&>QE{(9S_PBOIenHbS$GfRSQXffP1lbA>W-EaoB12K@riSSkDejvYdQ- zp*xfz-_&^@r%9wzc0t)(E<{&?y1F?1{!(9oAi-tYj(i}~W=oBiOZRRyuJzK zq0W!lAjq>W7jAp2E8gmu^u?mlioWU=-?44BT0p<~TeTyE=K@7G=>vpcUQfXqz4hkg z^{~iYbBI161%o;Xfj*%wHY}0i4`nGsDW$ZCebtnE`&+Gk%;cT#XkA6!;p6HJ`Dn2? zcL(RC{Z(^%mSc1|;n=gyGzK<5=&LN){6*honqy;5r!B>3|IaO_5_V&KEu+@V(lQ~? z$kL(BQ+%X4`jP~6xQIcSnYXVwvp^KAYDS`i3QSDXsL6;!%yfR^=sc9RJ=a1-uTM@qCX0-2Yi^_+R4yQyT|S zOG6ub^MB>&Z9C74Bl=G3*X^gn_hNDtDMRm$rkOChCZw+<0mk~ZxW^?F-1l5CC|sVm z-!7#-(ac@}2%;30_D}2fe>Uf9zx;e9NWa49xvI8qH)mS2qCba(cz6~JpViV|qs{im zE@T>*@H<|&&YjRsIQ?WxDJU3nb8>jSgzl5qI0K?>v%WJ1Gj)}-Y1YdE3h0tbf%cUq zx#%}Dfj@qG2llvRWY5%LKD4WM4c8>ZdSR6BdDYV^+Ms5ggruxd0^HjwKrCh2Dy<4v zk0O@1s{naZaw%Ef7g?=h1}iLX3$5B$+Q^}BcJFFL3*Vk<&#oy>p{Xo}&=NM=konQ) zcPqC~)LM?rE$zaLkj_`^CW)y?uRZKqCq1C5T{bQS9nWC*UZ{(vWubK^!D#IeHm~G& z)OIL61|!ZLTM*>YYaD;B<^`Nd3+D6L^I02a98v}X^81$M>*EJQ7iX6C423Ck7ax)R zZ*y?s%fTzOI|gg}tK=WK-&?Sfzt}(l?oFwnG#H|To?UgB)Z;$c*97VZ?T@nP`Wu4c_nLB(^1#>U5#siAN% zZ#%bK5~cm^FwOmpprANrh$A4`4p!G=>Dt%MIn)#RUEsSb9t<>^ERI6rzf4KP8lMTN zh1{GehAAIH1^>HW>5A4B!yDoSjbV9^J3d(&_Vk z)SrF^T*h5Oz?e_ZfpfYTuCPP=KsI=Y&DCll8C6dWWzf zZHP3>3I(C-fgkdAt|-M6-M?Vwz{SBbAnyB9q1%efP95Q9smeo9z;KOM!t})f$X8C% zmOx|?cx$>M@`BILz}!K$Zw1S_Dr`4RHh&Qqp(^$Ie#R3WUSQethNuAOXxjr|0rF{R zN?3EzhF+UZKsiEkW<&cQP%ghGnHe@EG%!SYT z&C64{Tx~@sf$7#HGCOAmaY$WJ-y)S!X&g&@D5~YuIPDVYMa_SzQo$xc^oT1G9o-0L zIxqmaKedb88)wpN?Yc$9C_tSa}u1bnnFWB5|f5kfSX)UMoLc-TV1Lj4iMH`JZ?2|AYR} z+WtTEhd5!9nK0j*CHn8p(m%LKzMr+W|JS{JYk&65F6{Cfqyms}&msbT{Q6`BqgXU9 zbfNBaRXAsD>s9;%&f}aVvAXc(V@`3iBg7#WsTeTrzU}k$a#8em^Q&#D=N-td-1qZW zcQbSPT-28oTWY~y;@e|i`eu32Bb>q1X>9CMu;-lRKM!4QkPYU|V1finlEofvYvR!! zW1_uBiVoAhdQ zt*ANxblRGST8%>_39==lWOG~KKB!nU(25ta2{ctNmLT6b+EhNm^;o)rDuSsIyICnA zk6MnCgY{6sIwx$Z6MGXL`DlLBe}CC&CuqEPgHTI=an7QOD?^0Ly0F@6C56sj^luJh z@rph@&6==FmpHg19M~bpniY0H#n=&Mcn1(jB(_4qs`iUsu&I}P)2^ZmZ1hGsOfUQg zgw={7vWmTXm8;}wW!g<@ll0S&HNIgm)jtiFngt`ABNK1YmYaJc_UAUFN0u}<6|R2P z5b1K~PNSlUnT5g~i*d^-nQ7kFu=t~)97df-!S#61?h_KmnxeYz4<~^3#{@?7q*hGN z^tyZ58Q6AW%5af$>JxVYE1w!w| z+G*a987&?X8}E7eCw&wdM?k(EZ8eo-0?GBuN4dhi@dcDTQxm!IH-hc^oILRiEk`;8 zxRAh7balIj$2Q0AlG;F^)7&x+L~`@c3janXNfsjdWMtGBASTCq3X8vukUYS96_*P2 z{-VSe+joK9hOKyGgsrk1wu+Q~9Z&MRtc@Nu(Gpw~&GEBF%X1mXgT2Z#b;y z9@{Ewm(G__w=otE7`D@PZ#t8{R;XqGpNQUVINPXQ<;U9cjMXpJ>$I9Iu{KYmvs{ot*F(R@5Pgsi43X~* z5f(ce)3r~DX8%i5&fDdK`FEPfGtR%)f@pXxk)OaoKqcRk^M43b{k}{7kCs_k*M45` zU-3FGRARsJh=~Y!(^(-!&Lrz(REhBEABR?#+F0C=x%1Eb%sCU>7s+#VnB z33%|NQSsuIGK;<^T7ZZ-1MuVt#XwUB#fYS@*9e$xMVxNbk}c37xSms)slm{c{W9v6 zND@iYeC82S69XBrANT-Ty0{>f%kh99StP6aj>m$WZ!PVWCvsC=z-<7J^p@>(JmE!N z=JM2<)6tu&u2(_w1y%N&7zEoVa~4CvPsh>v&=MTY|C*Yci)EN^;R+?u(xBm>YlmTf zuY{}*GE}24v=YhEzgI#_OTxzEiSczA?8!d6>x2oR0uZ&%!T~4)h(qw+uzQSd+9~Ud zFP-gDJM0=Yfs{}fOjS#a`eN#a$iIoVd;$pD18WRj4u8~Jdn4gXZ%*_Gmph_1Om$=4 z28UIjiKZhfuK~v9N52D9g@5BK$>4u4W4)LsJJ@KMtUaLD5^Y7yKJh2dqaGxDaykz+ zDf!|}!_ntZFWoM9DTiI#)3~qZAz%Nl3|fLuEqI-GIc_KiPXNMU8?ZEVcXRKDWYROS zc%$Xbrwh&Hx1}T_bjrNa`mfx?? z{}hvUY1rEDNg{u5US^HZIt}8f$e2EtT~7p3SX|Z z7j2D2AVqVUj?q-Dc1ESx#4jURWR_D{0=rpqt|jNiBwkAx8FQ};jCbO)rQ@+MAvTIduuex zVipU|k~e37py%=|UpxM`fRO9UIr|9l{=>XaZD%QIGq3?`9Wfn+eVS`S8F_Q-pj>+J zJqy*Tgq`+SOCbTBTH$)xio!lQ5z$*2htNK~K#_glOAHE& zWfrxXcgEBll_U=e`K9ol=aide)Kym#*46vDo9G$nYcVam0NBxQI8kuXqNU_p`Kdh(Q|grIjqQUCWE=i=9a?CO$RRR?;Z&-nJ2E zR&d^x&7ar>Td2!1yU9$jh9A?iLwignQnbjronHJ3gQ@dZ>a0va)$Tf^`tp}G=0Ec# zwmEjr#IYMcnHEh2lRc}e)VksK`N8+O9&E#*4p9!oFz|9qbTM*aYH2?O10x@eHuty< z-Il$Wpdd1(o}AJ^>bI5#Yf3p1tTCx>=cS?PRWzr73l^@8U?t^-=3$~JZ*&@WjdV8k zTHwVw2d_gX8o%b>`1Ljf$f`$`g8E2cH4g0a^jr#5qO1pJIF95!D@?M`3lj}lO)_F zGj$(@JJf*z;a+sbYfXrrOuXo;`M{O?>4J6S54U?Mba2;#ndTja5{EG3Ho{)vHsu z>b~%$(SR^WLQB)*5exp|lWE1w#JY#Og#q-p{kA_$#R0}=n&?`-Dr8 z^`zU&)DxRJ*RotaGCm0*E*hI?mx>^A?VGzb^&O_riG66}D$0`Xj2*SR| z}~^$z77zae9p+{+iZ(6~eeYfHn~)2X=hV#_MKbt6aR{ zD~HYVX_eo@#V)yv)98s8BvHeBrDxZnmc(&jDKg)Vhoo*7nd1MSFM+X`8jQ~RkPVGy{Sg?w4hGat_yU1#D1 zVMWlG>=A(};27gHbx(*eHJt+dEY6fcxl3pC=)t|h)CUF3b`fhte8 zgH}u-*FqO2JEIVeGCYab7-L?}qKeN-xt*5rMJ0|Tr{NNKHrm_tW@fg~0Oab?2_mxf;*`IVHc=*LpH!!EoR`B6-$E6j{p~E-!R9QI; zpop;PN3-X9Vu;yd@x0~AVr*6BN^a=+v!>3C&sg}GY5{$P?(VNclQ$CO8whXH1YqtI zMrAYs>yMVsr#F~C;d=~;e*fX%br6G3WB;D1=_3B4+VA@#_#bM&OLblQLN&y1Yej3l z%4m5fy8&Yye=k_2opNbJmz;XXo8X0Ys4j#~&w0_}=hM_gmp5mxDUkA zdR$?a!kRjIY?lSV@jK7mZQ9j}&%;PUqd|v`e_C`f@5;IS)I!AbL+%E-XL>U`W7oJM+*uD;Qn+JtmwglzkPHQARYK-R72ocW+2d0 z@McZ*aR7CApV-zTc}y|iuG3Eu9_@HC-IL98I zR;);*6AFxTGSol2spHU+(< zkY?3YS`XEHXNK{&W%MnkdCa?C43Dy&FacKy5#H8LGC}}hlN1_Jon}Hg0vRPsE54}F z?x}YAUnKmc*Me!5{{u;l-;B2ElU3NvC8(2-E9Xssp9BY8T$IkzFPR0>fl**o zx%I8+Z5V+%6cYNZyo6XYbH0ci_s5)bhZfp$IYi=cZ!re|*{55erJ+|rkW2;@n)cRX zz_T?r9n#@cKU-Wdw}HmA#Y_e4V$%QU4>k8*KC&qBz_dANdp;Nuqs2{)p1EN07;+_u z=??tm!?I&)FaS54FSiS)bHf?1!~W~0RW6@0WE?4c+@ps1C?qt@HIg7N5#wN0*jz0S zPw|!%4N~g7{nro?Fw5xDT{!f*C$8}>6)x2X+9GnLJvMgn0qkh8tDtHj zW*+WUzJ=0$r<{pVd?*q4jYPXzb)(c#@Ha$j-%yUaMK;k0C0>t_yp!M0Om5LhddFZy z*QBo(l`9^erl_+rc}-~UUFwjETQMoZ$PR%^NoO3)6>y9i71E^hOUzD(0K-LxUWPx9 z8Hbt%$9c9jrlqw)IKm<^z(uA44lJaVZ@W|_x1Z%5LsZ!|JVBKUz6m>}^9Do$f6|j^ z0kOswWjYPsePjW)7&c?B`N{zASDCo2<=DL3GNtIE1?ucgm0L1d=>}vtk^BkXB^noH zJ)PYse<~8$)>Y!Gt-COA-Cw>dh+|dcdIYrh#K2fPuo4neH)?V|`Ph??M|V<%Ib%6b zmy0n?2SQPOOiRO^;8m=(t zX_SZ93exF$&rH9g_ z0Q%*d0WuS*5=KOY5fBI_ePehF+2e1yNONz?nJ2mzatdBFW~>CajaI= zRapP#z#psYh-H8(O9{VD<^Wn2+mngonS+M#HwJ9s%ClGDgXP|zbW5f3T{2mjDy2=f z_noKt+T6OH?6DvW{D90CXa!~=7?PRfUJ$HWQMa-m_~oaEhDjqfv~`8TC-BkqY2k2( zBoLo{pEz$6xEXcpBfy!2WlVo|SGYxcOaz%h9S|Er!v^$64Lwtnus!!B4K*UR^5bgx zD~DtiB7hASP8f<22uXspnMwAsO?Zs?^9|6l^neXGB^PH!r1fTGn#PwEIl?5ICx}kL zit!HOVND$|#0$z5;|$NGT`b%$oj1wAjQ&=EVb~OG;=qsZCB?=qys(-tmP}vDTY1W& zsq%P)WEIh5%FbU&`YlAA2Q$cMR+QYOw&74$_AAA?p(Fy07iwAjR@2VSyHeEXmI3$# z7i}j9DT)}v(~vd73T%AQ;`R3330i%3P>eG@1{^6%ABZdWL1KRP1=L&wl4AMBgY|UT zKi@hnjL&3j$zQn5HHi%8jd;jSbmCAvX-Z?_n0M%GfVdO}9L8fhsi%O@*lMupqZylw z986(MeFN3DRG@7i!}fHJG@Y8-MN1YTo9A>Pt3oMzZ5o7f_@g9Wz87kv zdELco9dg-N3MC~gK#9vsuf;ARm_OJY*+w@=uWnTlI#A_Weutc*+VF||dO4JzKTz+O z{MvOL6r{^{Sbhz}NJwa(9AUJlg=dXjFhCEbAGj{hV8%iBDVUm9TP2O7s6mFbry;C{ z-172xU5b5RD{DOTBa1!R9&7zF#Pp2qVl2=8rSJO}JG83L_7aAhk7{Sqie-Xu zKAI2UX`FlK4{E*rdR*kd*`I}HFqr-3g8>AXwV8|+8+4h=9%+l<)*N$A!%+K}P z9kk+x#ZQ-;pw!F9jo_AN$vUpEF12*S(5YqS$4mP!w8x=Ouzx>Brg{zNnBQ~dLEQg8 z$LPPwr7kr$oeM{h{I>rXNvmof%6XUu#R+;Llp6}Rv_Bh<&utyiXF||Mo7f>0f|#sI zZGPqC;DciZb-E>tDeKTfgt>j28;w+c6ky{nglino724B%+z znQJ{xOl1pEa)ghHGgi!gVT=e6@LZ$LbVZNSR>dTHkwnowZ693g=P#Ua9u2i;>_=UuRBdltz!FHeRL=E>uhiFw|3R z_#u2f{_5#vw60?ai%n#YY~X??x={^?YovU#U`-;4#MQamjxoIdE-~IeJqR;uR%Pob z%I`%jJZ~|X#AvY6_W0Q7){rHDIsGJmhmgmX~WK~tv z@f1^kEi?)C5^_j{_bEi;{J+qT8UeqLehWPb`!)*q)y~5X97kTJeZ3ox!)tgDy@izW zMyA5~E++>k!#QX;nWo;_(sD0eJOL&LuuH6zs+t_y2n%`e^JccahH&&prIFJ16omjT(s)tBWhi&|d^7q&C zjh8|yUuZ8N2VlqSQtkqRVmm}l>dgzaC@xf?u{LpW((bUM6gV~7BJ|;aL5ERFLcp_I z4DwzF$Sq_|_eU*B4AQ0w>^OIKi7*Sypn0xFtkY)wf20|fua&_XuqD(+zG;A2^L}V6 zF*I=BIFz^@koT@QQ5Wt)O`%z|BNymsg12(nc5$!VTi}`A`cYiZ#7=fvo23`)Z!~5u zjOu2{wIo^2V{5Zws^^?Zt}36t`1n;?jPJHYWS{N}dDW=BcJ*8;b6Qjl?tguJ3OsgX zr5PyBZ7vWED<@7XPEZcK*qvx`uLu63)?HNj_Idg?LKhJKn6-zfL83Y@tQ>A~L$cSN z=RPX=b0^Dsv|xozCt|-iH8`dz55p)irm)eZD;|x;VR!z5H+6HJX-`b8akhUxKI=jE(80txYMbjNuyj(}U)%8|0E3qT>0{L-@@M}B z<&z)73$hyvc)u&2ThKEKPY!``ZwU;}ZfwnoRVYr%m5^R04$N&zxTdQL#J~H73cRNx zu0(&rqUiK>o?1;8tOzg0iQ7*OrADIPQ;+eev3}GTRCQIk#)$i2mJTm2oa{MyQ4U{j zAzg={AQs_}HFi!iL(s36h{A?n>{P>(Gof=#FBTpr^iv*JT zY+;YxP+$oB+x_x`wdYcJV!P4FleK4~YnC(MNqDS%Q30VhdJf5P+_nMYJM__QR<@PPR~|d(JcLCEptcS!)c4 z_eOU7{@07O#NgL(roh(6P04F?$R{`f)Pn>0_kRKtIRB{jetbIiRZseJ_3=vgu#h1two?*)wbgZRx4NYb-C-DZ$|)*80~z+M`) zx*(lF!7EqL^5bBEAolEIN-)OMaSU`}t=5!l$~txZvu7*F7W215=JTu_|#y$7;BCA`U;Z#*@xG0ZY?LunzijA5g$#*XhYslkS?K(=nwFt=np^zKiYp|PO%Bk z@vC(19(sZ{X|O?PF$FgqxGLXv_&676OCSddunQhqK#4O4j!yWqrpuX;1mAfu`}y5l z!sjNgubXh^9pAG0xOv$Ben_{=PbfF1^`>+rsZT2kg{6Za@HnCox z3k#~FGi=a6iY5~)2s_I0Al{ZxyJ~V7s3Tc5OLw~Pn&W-Qv7~t6taGt`Thrr7wY%4` zGV;1hP9zjQDw>7TsWCbO&yQkHQ8YZrRrIbe3XHXhq8|M%$>4n;SxB1H7bXFlm z5FPZiP$_7cQpDUdF{hJI)h{hcdDyZixyqek^)Lo))KL$&N0ISKKkx`9*UBM4S54?R?@dzZ+Fx0`SV8TGZlEcp*nd8e(UNIPK z2H8n`@?9HaCLelJ;#5M!?hNr^!dzbBi43;kl5SGwXe9S291SidKHx15>+xh#^i#UB zx|jD!gUiypyBQabpJe=q_hVE+Y3EXKDO**{$4-d+vOaoZOFlnkyA73hf+Y@)k*rtR zZY6l0j?eXd?$*!$m!NsN?qTX zRbkC_2tp<*A(J+4i9)mJT|~1;+W-h z?yBca2UyU7T%7TR;4(wXgUqj%tUk|RP5J(eF`+Z};7WxNzxhF<0$mjAKp-u9u}Bf^ z48~Jr{b;b=YIIww7&WNf zzBWbzwmo7!4|j}O{(OCK#Kxt%{qC0W2)ypKD|WpO|lM9ht?ge1_d;unFdS&(Lb zbHuxjQX&fw#O*F~EMYmhIMnW=8_Zp;6G`t%!Bx1(2{XuRC5fL6GiVch1wC|%2$pjJ zKePCGWz|oOa(Z5Y&CVAuiFK>g8#@9|&sg3YH8vlC%dJo$bCVx&DV45hB0O}vL2qfp ztE&>3p;@{QvFcEQjlqP8aus2S!Ju6SqXo1@sE&Y3571ijdnd@6TImn+<{y+hc`ZlM z4m~Q;8BJFniA@W;9ZXlhN+_~Dpr z(2|Wa<@ztecaf%|{S8U?mjDg>j9UBS+ZC)-BU9x0B7z*u1y&wyd!Ay0mB_kL2 znTn08Qf)X8%1vs%aFR2;$)nqrke-;wHka-fv#^I=+2d_eem!;Jli<#qWC4vej}23j z&(qFW&^cv8uY}o)xM?BhEScErb4PT>Q$R?CAVRU;dhB%P8W-}10`W&v)n6>_>!r)? z!xi$M4?HZ=2+(kAB;0?glMiVe?!i6xEwrDPZVS#9GHEPPO1&%Df*DT)YfA++{;2hH z+V^XonKl85&5-mJUMoY?Mk z89lgT3qQd;BYXEMH*J9sZ@2nljO-(4Lak%#!9ye>)5gGP_Yp z*{d;Jw-l~S2uns;;f{Yn3dw2Zjsf4EL$|ZDGY}PyUa|x(#K43-3F#jyLy8put@~4} z7Y?OvtM~=sxt|vFi&U&iDVerk4^_e^?Db*c=ZLtpYUAf!iA1rHYtR%7pZKtsU3qSIU3ZGz&cG0?pqwO~iLi^A8fD@00z1Bt+kYu61_Q|5|!| zGnuh)SEUq-#&dLrdpo(^5P7U4JrEjQY#S0KlZ*CRMZUZcs7481Fu5lnjlw&hZZ@0| zq*{DG1#&^|{6snW==?BZt5t@Hll6lWwVIrk@Af$YPa3L0I=J<5+BCSiBVtdhHa`y! zs(fBk$Yp*DAr@A#%cE;%v&Avdj6jceCfH%2R~Qrk-If2CWuZW1h>PF1 z?Z%PnTkO2mPELj-4)Q!RCn zhZc!7Qeq^w7N>zZlr^98I3`K4SRkb~y(x_e&l%o0HKMuu=u-L3WZwK{GNZC_8=uAE zJp5+4ip>N*6!E)TKk*eN;C6S<-Ywe3nLmkXFWgo2nT^n)*ZJa{`D-J*V`+?N$?tYNKj++* zddUWnW6cJejc)C7t1YA?!ARqhh78uLqD==?9CMB*eO5(oG3{xn8PXZlMK_oDQT#px=U zS1bMH0Sj!L&4YoGL2&4&t-?k4un@GkO0EPT=w2#dOhh=iiH6uAC_%oGS#rcE3Y>*A z9#Xv~Vi7H}oKw=Gp$(JbUi8<{hwULq_qS#aG*Ld2S6ehe)P~8#flRYn5B);s`=>-5 zsP&E9SHx@aeiZ{Uck09fj)%KyF7}~$Hgp0NOiW7;n-ebS<(23ud_AkRBo9<{gR&)a z_eF(!5S?0YE){NBYa0#J13kr{9emE#C?ah`@m~bh+^YFM7?5znQF^s}bhtrsUIDyK zwBCvpo!bP;fAS*p@{Hqd@cUPD&f1ILKK`it(R2YsOca*53ZGEYLw}deiT!NcX%f8* z_jQxpqR|n;-8aj;DZHl?#I$1`HC)ioj>;Sk!vONEZMy9i*&a&(+JTTdk%J03i!`Qa zkcI~OO1R%^^JT##VLQ|t>+b!Wqdb&#fCT^RU~IO!1QR4UZ@Y$HNW=3 zXcCQ5JKeETGJdmQZI=msmMPYa=iSdxHEFv366Hr_C+UY?eDPd%YtHtxd@g|S5!-nE z@6&Q-bTgHR?`e55_CHGBzOTOjOOB#cec`J}jy%Vxh(z;6w7V&n@#y+x)f-TJTu=z8 z22j$4$=&vo4p5S0gmil~MdAptgTObe)gueNME_Z(OhBPP4%Id5&!a`RUIoGa4nS9xT%)$NGs%ZR2!EQ?W7W zWaxfecm$Z7o!sZ5=})?-U~zU%e$$#0K?eS_F5hEQ-t&aR_jIaD4NI^f$#HaM6j@%f z0tZ>@l#|X8QuS~HoKrPDB~<5&;CJNUleT@%X~)7I`^ZL`WIoe!Tju4(?D6x; zaL5;bYa4;0A+wUIqr*JaJ#lvO;>a#w`}eBD9n9PEq{)K$52ZljTNTVZ;1KDEGD(r= z5@FUTjT3_;I#FT_=3nksns>zpGF|B6y;N$Di83;6O^i%`otV>Qj*-lsba~)^@p>TL zy72xcx=SlPop3N^`8u!E+x7gwXIwk?^X=W6<~BH`JBN$$YtMZ_pYney~ zTy&QTRuub;y9r}f9Z}wB1Sp8cL zak{Aa%&g)%vrOiYfvI@`YT0~*HHYBruzAJ>6o>-E3OdX%?(uB3?OIPic3I1iHpf1r zy=ki-e;bsr#=}h_ODvgTdYF(&FG0Dmye2#TqDFHaW!DS$vU(}5t#JzxeEDM$kz?Z6 zN%L%uU&FD*zX~Gq;MkeKA1NoUwy?pBbn!KyR6PRM&pRu!SS2@hs+;gf0#^n1AQFTF zaR7zN>x;!rv5$bK(&$Yoq0oViP`8VRcYf}U1D)Yb>Uimi;rM{(p$;agrB{tEd9*dc zPEfE4u^5e`xVf@Jx#B0g&w~(Fh3Mhp7AA9VviW_n`i!RBG6*&UY%kl=IfjGAC` z5iD?NPM;oMO5pr`@A;R=HJLg*r`Po587wq~-gKK;a7ka&22fcmN(2LN(u%vDzzOi}ozOafdF)@fu z;-Lje8$?5??Y~_2R@*_{`=n988En2HOoTrnWQ97~m)F?HUVdt{#-P)*FxIv&P2HqiE-(c{C#--;hd`lHOT z_H)g~U>{!oED?Cc58$boLpT0aNsOXhj!#O5({scO7Z5U~3%qHzHFeIThZggJ z)cG2NsVVVyRq*>Ogkj4~;{wK>%B|hH&d=rt(&jxbh4Ajv79evCb)zJW`&@V|w�s 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

        +zm^;usc4IvIq8`vH1LX@ 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∓)N=7I^UFmI;r_1G0$r3Gt^47?{l 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�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≀*Sy*zui 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 diff --git a/src/py/kaleido/vendor/mathjax/LICENSE b/src/py/kaleido/vendor/mathjax/LICENSE deleted file mode 100644 index d6456956..00000000 --- a/src/py/kaleido/vendor/mathjax/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - 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: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) 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 - - (d) 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/src/py/kaleido/vendor/mathjax/README.md b/src/py/kaleido/vendor/mathjax/README.md deleted file mode 100644 index 7ca6f7e4..00000000 --- a/src/py/kaleido/vendor/mathjax/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# MathJax - -## Beautiful math in all browsers - -MathJax is an open-source JavaScript display engine for LaTeX, MathML, and -AsciiMath notation that works in all modern browsers. It was designed with -the goal of consolidating the recent advances in web technologies into a -single, definitive, math-on-the-web platform supporting the major browsers -and operating systems. It requires no setup on the part of the user (no -plugins to download or software to install), so the page author can write -web documents that include mathematics and be confident that users will be -able to view it naturally and easily. Simply include MathJax and some -mathematics in a web page, and MathJax does the rest. - -Some of the main features of MathJax include: - -- High-quality display of LaTeX, MathML, and AsciiMath notation in HTML pages - -- Supported in most browsers with no plug-ins, extra fonts, or special - setup for the reader - -- Easy for authors, flexible for publishers, extensible for developers - -- Supports math accessibility, cut-and-paste interoperability, and other - advanced functionality - -- Powerful API for integration with other web applications - -See for additional details. - - -## Installation and Usage - -The MathJax installation and usage documentation is available in a -separate GitHub repository at . -The HTML versions can now be viewed at , -where it is possible for you to submit corrections and modifications -directly to the documentation on line. - - -## Community - -The main MathJax website is , and it includes -announcements and other important information. MathJax is maintained and -distributed on GitHub at . A user forum -for asking questions and getting assistance is hosted at Google, and the -bug tracker is hosted at GitHub: - -Bug tracker: -MathJax-Users Group: - -Before reporting a bug, please check that it has not already been reported. -Also, please use the bug tracker for reporting bugs rather than the help forum. diff --git a/src/py/kaleido/vendor/mathjax/config/AM_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/AM_CHTML-full.js deleted file mode 100644 index ab7e2bbb..00000000 --- a/src/py/kaleido/vendor/mathjax/config/AM_CHTML-full.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/AM_CHTML-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/AsciiMath","output/CommonHTML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/AM_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/AM_CHTML.js b/src/py/kaleido/vendor/mathjax/config/AM_CHTML.js deleted file mode 100644 index 5a4f72f3..00000000 --- a/src/py/kaleido/vendor/mathjax/config/AM_CHTML.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/AM_CHTML.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/AsciiMath","output/CommonHTML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/AM_CHTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML-full.js deleted file mode 100644 index 216217f4..00000000 --- a/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML-full.js +++ /dev/null @@ -1,22 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/AM_HTMLorMML-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - config: ["MMLorHTML.js"], - extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/AM_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML.js deleted file mode 100644 index 6259a7d2..00000000 --- a/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML.js +++ /dev/null @@ -1,22 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/AM_HTMLorMML.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - config: ["MMLorHTML.js"], - extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/AM_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/AM_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/AM_SVG-full.js deleted file mode 100644 index cb0635f1..00000000 --- a/src/py/kaleido/vendor/mathjax/config/AM_SVG-full.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/AM_SVG-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/AsciiMath","output/SVG","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/AM_SVG-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/AM_SVG.js b/src/py/kaleido/vendor/mathjax/config/AM_SVG.js deleted file mode 100644 index 1ad6db95..00000000 --- a/src/py/kaleido/vendor/mathjax/config/AM_SVG.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/AM_SVG.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/AsciiMath","output/SVG","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/AM_SVG.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/Accessible-full.js b/src/py/kaleido/vendor/mathjax/config/Accessible-full.js deleted file mode 100644 index 9910e5bf..00000000 --- a/src/py/kaleido/vendor/mathjax/config/Accessible-full.js +++ /dev/null @@ -1,30 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/Accessible-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - config: ["MMLorHTML.js"], - extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"], - menuSettings: { - zoom: "Double-Click", - mpContext: true, - mpMouse: true - }, - errorSettings: { - message: ["[",["MathError","Math Error"],"]"] - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/Accessible-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/Accessible.js b/src/py/kaleido/vendor/mathjax/config/Accessible.js deleted file mode 100644 index efba6db5..00000000 --- a/src/py/kaleido/vendor/mathjax/config/Accessible.js +++ /dev/null @@ -1,30 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/Accessible.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - config: ["MMLorHTML.js"], - extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"], - menuSettings: { - zoom: "Double-Click", - mpContext: true, - mpMouse: true - }, - errorSettings: { - message: ["[",["MathError","Math Error"],"]"] - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/Accessible.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/MML_CHTML-full.js deleted file mode 100644 index 140d1990..00000000 --- a/src/py/kaleido/vendor/mathjax/config/MML_CHTML-full.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/MML_CHTML-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/MathML","output/CommonHTML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/MML_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_CHTML.js b/src/py/kaleido/vendor/mathjax/config/MML_CHTML.js deleted file mode 100644 index 36e54337..00000000 --- a/src/py/kaleido/vendor/mathjax/config/MML_CHTML.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/MML_CHTML.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/MathML","output/CommonHTML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/MML_CHTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML-full.js deleted file mode 100644 index 06ac2d28..00000000 --- a/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML-full.js +++ /dev/null @@ -1,22 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/MML_HTMLorMML-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - config: ["MMLorHTML.js"], - extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/MML_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML.js deleted file mode 100644 index d9721795..00000000 --- a/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML.js +++ /dev/null @@ -1,22 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/MML_HTMLorMML.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - config: ["MMLorHTML.js"], - extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/MML_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/MML_SVG-full.js deleted file mode 100644 index 031c63af..00000000 --- a/src/py/kaleido/vendor/mathjax/config/MML_SVG-full.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/MML_SVG-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/MathML","output/SVG","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/MML_SVG-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_SVG.js b/src/py/kaleido/vendor/mathjax/config/MML_SVG.js deleted file mode 100644 index ae1a02f9..00000000 --- a/src/py/kaleido/vendor/mathjax/config/MML_SVG.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/MML_SVG.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/MathML","output/SVG","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/MML_SVG.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MMLorHTML.js b/src/py/kaleido/vendor/mathjax/config/MMLorHTML.js deleted file mode 100644 index 9d9b34a1..00000000 --- a/src/py/kaleido/vendor/mathjax/config/MMLorHTML.js +++ /dev/null @@ -1,111 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/config/MMLorHTML.js - * - * Chooses between the NativeMML and HTML-CSS output jax depending - * on the capabilities of the browser and configuration settings - * of the page. - * - * This file should be added to the config array when configuring - * MathJax. Note that if you include this, you should NOT include - * an output jax in the jax array (it will be added for you by - * this file). - * - * You can specify the preferred output jax on a global or - * browser-by-browser basis. To specify it globally, use - * - * MathJax.Hub.Config({ - * MMLorHTML: {prefer: "MML"} // or "HTML" - * }); - * - * To specify on a browser-by-borwser basis, use - * - * MathJax.Hub.Config({ - * MMLorHTML: {prefer: { - * MSIE: "MML", - * Firefox: "MML", - * Opera: "HTML", - * other: "HTML" - * }} - * }); - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - */ - -(function (HUB,BROWSER) { - var VERSION = "2.7.0"; - - var CONFIG = MathJax.Hub.CombineConfig("MMLorHTML",{ - prefer: { - MSIE:"MML", - Firefox:"HTML", - Opera:"HTML", - Chrome:"HTML", - Safari:"HTML", - other:"HTML" - } - }); - - var MINBROWSERVERSION = { - Firefox: 3.0, - Opera: 9.52, - MSIE: 6.0, - Chrome: 0.3, - Safari: 2.0, - Konqueror: 4.0 - }; - - var canUseHTML = (BROWSER.version === "0.0" || - BROWSER.versionAtLeast(MINBROWSERVERSION[BROWSER]||0.0)); - - var canUseMML = (BROWSER.isFirefox && BROWSER.versionAtLeast("1.5")) || - (BROWSER.isMSIE && BROWSER.hasMathPlayer) || - (BROWSER.isSafari && BROWSER.versionAtLeast("5.0")) || - (BROWSER.isOpera && BROWSER.versionAtLeast("9.52")); - - HUB.Register.StartupHook("End Config",function () { - var prefer = (CONFIG.prefer && typeof(CONFIG.prefer) === "object" ? - CONFIG.prefer[MathJax.Hub.Browser]||CONFIG.prefer.other||"HTML" : - CONFIG.prefer); - - if (canUseHTML || canUseMML) { - if (canUseMML && (prefer === "MML" || !canUseHTML)) { - if (MathJax.OutputJax.NativeMML) {MathJax.OutputJax.NativeMML.Register("jax/mml")} - else {HUB.config.jax.unshift("output/NativeMML")} - HUB.Startup.signal.Post("NativeMML output selected"); - } else { - if (MathJax.OutputJax["HTML-CSS"]) {MathJax.OutputJax["HTML-CSS"].Register("jax/mml")} - else {HUB.config.jax.unshift("output/HTML-CSS")} - HUB.Startup.signal.Post("HTML-CSS output selected"); - } - } else { - HUB.PreProcess.disabled = true; - HUB.prepareScripts.disabled = true; - MathJax.Message.Set( - ["MathJaxNotSupported","Your browser does not support MathJax"], - null,4000 - ); - HUB.Startup.signal.Post("MathJax not supported"); - } - }); - -})(MathJax.Hub,MathJax.Hub.Browser); - -MathJax.Ajax.loadComplete("[MathJax]/config/MMLorHTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/Safe.js b/src/py/kaleido/vendor/mathjax/config/Safe.js deleted file mode 100644 index 0bffafc4..00000000 --- a/src/py/kaleido/vendor/mathjax/config/Safe.js +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/config/Safe.js - * - * Allows you to load the Safe extension as part of the config list - * when you load MathJax.js, e.g. - * - * - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("End Config", function () { - if (!MathJax.Hub.config.extensions) {MathJax.Hub.config.extensions = []} - MathJax.Hub.config.extensions.push("Safe.js"); -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/Safe.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML-full.js deleted file mode 100644 index a3b69152..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML-full.js +++ /dev/null @@ -1,22 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - config: ["MMLorHTML.js"], - extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML.js deleted file mode 100644 index 475fbdf2..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML.js +++ /dev/null @@ -1,22 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - config: ["MMLorHTML.js"], - extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG-full.js deleted file mode 100644 index 2c2a6276..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG-full.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-AMS-MML_SVG-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","output/SVG","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_SVG-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG.js deleted file mode 100644 index 885f2461..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-AMS-MML_SVG.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","output/SVG","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_SVG.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML-full.js deleted file mode 100644 index 0b985a3b..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML-full.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-AMS_CHTML-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","output/CommonHTML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML.js deleted file mode 100644 index 57d05497..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-AMS_CHTML.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","output/CommonHTML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_CHTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML-full.js deleted file mode 100644 index 851f5b58..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML-full.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-AMS_HTML-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","output/HTML-CSS","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_HTML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML.js deleted file mode 100644 index 80e00a29..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-AMS_HTML.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","output/HTML-CSS","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_HTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG-full.js deleted file mode 100644 index aeba7faf..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG-full.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-AMS_SVG-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","output/SVG","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_SVG-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG.js deleted file mode 100644 index 847e4da4..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-AMS_SVG.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","output/SVG","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_SVG.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML-full.js deleted file mode 100644 index f521b8e0..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML-full.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-MML-AM_CHTML-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","input/AsciiMath","output/CommonHTML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML.js deleted file mode 100644 index 8361462f..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-MML-AM_CHTML.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","input/AsciiMath","output/CommonHTML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_CHTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML-full.js deleted file mode 100644 index 2c0293c5..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML-full.js +++ /dev/null @@ -1,22 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-MML-AM_HTMLorMML-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - config: ["MMLorHTML.js"], - extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML.js deleted file mode 100644 index f9b5e5f7..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML.js +++ /dev/null @@ -1,22 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-MML-AM_HTMLorMML.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - config: ["MMLorHTML.js"], - extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG-full.js deleted file mode 100644 index 66d52050..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG-full.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-MML-AM_SVG-full.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","input/AsciiMath","output/SVG","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_SVG-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG.js deleted file mode 100644 index 83ed816d..00000000 --- a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG.js +++ /dev/null @@ -1,21 +0,0 @@ -/************************************************************* - * - * /MathJax/unpacked/config/TeX-MML-AM_SVG.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * Part of the MathJax library. - * See http://www.mathjax.org for details. - * - * Licensed under the Apache License, Version 2.0; - * you may not use this file except in compliance with the License. - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ - -MathJax.Hub.Config({ - extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], - jax: ["input/TeX","input/MathML","input/AsciiMath","output/SVG","output/PreviewHTML"] -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_SVG.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/default.js b/src/py/kaleido/vendor/mathjax/config/default.js deleted file mode 100644 index a4120d48..00000000 --- a/src/py/kaleido/vendor/mathjax/config/default.js +++ /dev/null @@ -1,1104 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/config/default.js - * - * This configuration file is loaded when you load MathJax - * via - * - * Use it to customize the MathJax settings. See comments below. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - - -/* - * This file lists most, but not all, of the options that can be set for - * MathJax and its various components. Some additional options are - * available, however, and are listed in the various links at: - * - * http://www.mathjax.org/resources/docs/?configuration.html#configuration-options-by-component - * - * You can add these to the configuration object below if you - * want to change them from their default values. - */ - -MathJax.Hub.Config({ - - // - // A comma-separated list of configuration files to load - // when MathJax starts up. E.g., to define local macros, etc. - // The default directory is the MathJax/config directory. - // - // Example: config: ["local/local.js"], - // Example: config: ["local/local.js","MMLtoHTML.js"], - // - config: [], - - // - // A comma-separated list of CSS stylesheet files to be loaded - // when MathJax starts up. The default directory is the - // MathJax/config directory. - // - // Example: styleSheets: ["MathJax.css"], - // - styleSheets: [], - - // - // Styles to be defined dynamically at startup time. - // - // Example: - // styles: { - // ".MathJax_Preview": { - // color: "#888" - // } - // }, - // - styles: {}, - - // - // A comma-separated list of input and output jax to initialize at startup. - // Their main code is loaded only when they are actually used, so it is not - // inefficient to include jax that may not actually be used on the page. These - // are found in the MathJax/jax directory. The choices include - // - // input/TeX - // input/MathML - // input/AsciiMath - // - // output/HTML-CSS - // output/NativeMML - // output/SVG - // - // If you change the input jax, you may need to include the appropriate - // preprocessor in the extensions array below. - // - jax: ["input/TeX", "output/HTML-CSS"], - - // - // A comma-separated list of extensions to load at startup. The default - // directory is MathJax/extensions. - // - // Example: extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"], - // - // You may wish to include "mml2jax.js" if you are using "input/MathML" in the - // jax array above, and "asciimath2jax.js" if you using "input/AsciiMath". - // Include "jsmath2jax.js" if you are converting from using jsMath to MathJax. - // - extensions: ["tex2jax.js"], - - // - // Patterns to remove from before and after math script tags. If you are not - // using one of the preprocessors (e.g., tex2jax), you need to insert something - // extra into your HTML file in order to avoid a bug in Internet Explorer. IE - // removes spaces from the DOM that it thinks are redundent, and since a SCRIPT - // tag usually doesn't add content to the page, if there is a space before and after - // a MathJax SCRIPT tag, IE will remove the first space. When MathJax inserts - // the typeset mathematics, this means there will be no space before it and the - // preceding text. In order to avoid this, you should include some "guard characters" - // before or after the math SCRIPT tag; define the patterns you want to use below. - // Note that these are used as regular expressions, so you will need to quote - // special characters. Furthermore, since they are javascript strings, you must - // quote javascript special characters as well. So to obtain a backslash, you must - // use \\ (doubled for javascript). For example, "\\[" is the pattern \[ in the - // regular expression. That means that if you want an actual backslash in your - // guard characters, you need to use "\\\\" in order to get \\ in the regular - // expression, and \ in the actual text. If both preJax and postJax are defined, - // both must be present in order to be removed. - // - // See also the preRemoveClass comments below. - // - // Example: - // preJax: "\\\\\\\\", // makes a double backslash the preJax text - // or - // preJax: "\\[\\[", // jax scripts must be enclosed in double brackets - // postJax: "\\]\\]", - // - preJax: null, - postJax: null, - - // - // The CSS class for a math preview to be removed preceding a MathJax - // SCRIPT tag. If the tag just before the MathJax SCRIPT tag is of this - // class, its contents are removed when MathJax processes the SCRIPT - // tag. This allows you to include a math preview in a form that will - // be displayed prior to MathJax performing its typesetting. It also - // avoids the Internet Explorer space-removal bug, and can be used in - // place of preJax and postJax if that is more convenient. - // - // For example - // - // [math] - // - // would display "[math]" in place of the math until MathJax is able to typeset it. - // - preRemoveClass: "MathJax_Preview", - - // - // This value controls whether the "Processing Math: nn%" message are displayed - // in the lower left-hand corner. Set to "false" to prevent those messages (though - // file loading and other messages will still be shown). - // - showProcessingMessages: true, - - // - // This value controls the verbosity of the messages in the lower left-hand corner. - // Set it to "none" to eliminate all messages, or set it to "simple" to show - // "Loading..." and "Processing..." rather than showing the full file name and the - // percentage of the mathematics processed. - // - messageStyle: "normal", - - // - // These two parameters control the alignment and shifting of displayed equations. - // The first can be "left", "center", or "right", and determines the alignment of - // displayed equations. When the alignment is not "center", the second determines - // an indentation from the left or right side for the displayed equations. When - // the alignment is "center", the indent allows you to shift the center to the right - // or left (negative is left). - // - displayAlign: "center", - displayIndent: "0", - - // - // Normally MathJax will perform its starup commands (loading of - // configuration, styles, jax, and so on) as soon as it can. If you - // expect to be doing additional configuration on the page, however, you - // may want to have it wait until the page's onload hander is called. If so, - // set this to "onload". - // - delayStartupUntil: "none", - - // - // Normally MathJax will typeset the mathematics on the page as soon as - // the page is loaded. If you want to delay that process, in which case - // you will need to call MathJax.Hub.Typeset() yourself by hand, set - // this value to true. - // - skipStartupTypeset: false, - - // - // A list of element ID's that are the ones to process for mathematics - // when any of the Hub typesetting calls (Typeset, Process, Update, etc) - // are called with no element specified. This lets you restrict the - // processing to particular containers rather than scanning the entire - // document for mathematics. If none are supplied, the entire document - // is processed. - // - elements: [], - - // - // Since typesetting usually changes the vertical dimensions of the - // page, if the URL contains an anchor position you may no longer be - // positioned at the correct position on the page, so MathJax can - // reposition to that location after it completes its initial - // typesetting of the page. This value controls whether MathJax will - // reposition the browser to the #hash location from the page URL after - // typesetting for the page. - // - positionToHash: true, - - // - // These control whether to attach the MathJax contextual menu to the - // expressions typeset by MathJax. Since the code for handling - // MathPlayer in Internet Explorer is somewhat delicate, it is - // controlled separately via (showMathMenuMSIE). The latter is now - // deprecated in favor of the MathJax contextual menu settings for - // MathPlayer. - // - // These values used to be listed in the separate output jax, but - // have been moved to this more central location since they are shared - // by all output jax. - // - showMathMenu: true, - showMathMenuMSIE: true, - - - // - // The default settings for the MathJax contextual menu (overridden by - // the MathJax cookie when users change the menu settings). - // - menuSettings: { - zoom: "None", // when to do MathZoom - CTRL: false, // require CTRL for MathZoom? - ALT: false, // require Alt or Option? - CMD: false, // require CMD? - Shift: false, // require Shift? - discoverable: false, // make math menu discoverable on hover? - zscale: "200%", // the scaling factor for MathZoom - renderer: null, // set when Jax are loaded - font: "Auto", // what font HTML-CSS should use - context: "MathJax", // or "Browser" for pass-through to browser menu - locale: null, // the language to use for messages - mpContext: false, // true means pass menu events to MathPlayer in IE - mpMouse: false, // true means pass mouse events to MathPlayer in IE - texHints: true, // include class names for TeXAtom elements - FastPreview: null, // use PreviewHTML output as preview? - assistiveMML: null, // include hidden MathML for screen readers? - inTabOrder: true, // set to true if math elements should be included in the tabindex - semantics: false // add semantics tag with original form in MathML output - }, - - // - // The message and style for when there is a processing error handling - // the mathematics (something has gone wrong with the input or output - // jax that prevents it from operating properly). - // - errorSettings: { - message: ["[",["MathProcessingError","Math Processing Error"],"]"], - style: {color: "#CC0000", "font-style":"italic"} // style for message - }, - - - //============================================================================ - // - // These parameters control the tex2jax preprocessor (when you have included - // "tex2jax.js" in the extensions list above). - // - tex2jax: { - - // - // The delimiters that surround in-line math expressions. The first in each - // pair is the initial delimiter and the second is the terminal delimiter. - // Comment out any that you don't want, but be sure there is no extra - // comma at the end of the last item in the list -- some browsers won't - // be able to handle that. - // - inlineMath: [ -// ['$','$'], // uncomment this for standard TeX math delimiters - ['\\(','\\)'] - ], - - // - // The delimiters that surround displayed math expressions. The first in each - // pair is the initial delimiter and the second is the terminal delimiter. - // Comment out any that you don't want, but be sure there is no extra - // comma at the end of the last item in the list -- some browsers won't - // be able to handle that. - // - displayMath: [ - ['$$','$$'], - ['\\[','\\]'] - ], - - // - // This array lists the names of the tags whose contents should not be - // processed by tex2jax (other than to look for ignore/process classes - // as listed below). You can add to (or remove from) this list to prevent - // MathJax from processing mathematics in specific contexts. - // - skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], - - // - // This is the class name used to mark elements whose contents should - // not be processed by tex2jax (other than to look for the - // processClass pattern below). Note that this is a regular - // expression, and so you need to be sure to quote any regexp special - // characters. The pattern is automatically preceded by '(^| )(' and - // followed by ')( |$)', so your pattern will have to match full words - // in the class name. Assigning an element this class name will - // prevent `tex2jax` from processing its contents. - // - ignoreClass: "tex2jax_ignore", - - // - // This is the class name used to mark elements whose contents SHOULD - // be processed by tex2jax. This is used to turn on processing within - // tags that have been marked as ignored or skipped above. Note that - // this is a regular expression, and so you need to be sure to quote - // any regexp special characters. The pattern is automatically - // preceded by '(^| )(' and followed by ')( |$)', so your pattern - // will have to match full words in the class name. Use this to - // restart processing within an element that has been marked as - // ignored above. - // - processClass: "tex2jax_process", - - // - // Set to "true" to allow \$ to produce a dollar without starting in-line - // math mode. If you uncomment the ['$','$'] line above, you should change - // this to true so that you can insert plain dollar signs into your documents - // - processEscapes: false, - - // - // Controls whether tex2jax processes LaTeX environments outside of math - // mode. Set to "false" to prevent processing of environments except within - // math mode. - // - processEnvironments: true, - - // - // Controls whether tex2jax processes \ref{...} commands outside - // of math mode. Set to "false" to prevent processing of \ref - // except within math mode. - // - processRefs: true, - - // - // Controls whether tex2jax inserts MathJax_Preview spans to make a - // preview available, and what preview to use, when it locates in-line - // and display mathetics on the page. The default is "TeX", which - // means use the TeX code as the preview (until it is processed by - // MathJax). Set to "none" to prevent the previews from being - // inserted (the math will simply disappear until it is typeset). Set - // to an array containing the description of an HTML snippet in order - // to use the same preview for all equations on the page (e.g., you - // could have it say "[math]" or load an image). - // - // E.g., preview: ["[math]"], - // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] - // - preview: "TeX" - - }, - - //============================================================================ - // - // These parameters control the asciimath2jax preprocessor (when you have included - // "asciimath2jax.js" in the extensions list above). - // - asciimath2jax: { - - // - // The delimiters that surround asciimath expressions. The first in each - // pair is the initial delimiter and the second is the terminal delimiter. - // - delimiters: [ - ['`','`'] - ], - - // - // This array lists the names of the tags whose contents should not be - // processed by asciimath2jax (other than to look for ignore/process classes - // as listed below). You can add to (or remove from) this list to prevent - // MathJax from processing mathematics in specific contexts. - // - skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], - - // - // This is the class name used to mark elements whose contents should - // not be processed by asciimath2jax (other than to look for the - // processClass pattern below). Note that this is a regular - // expression, and so you need to be sure to quote any regexp special - // characters. The pattern is automatically preceded by '(^| )(' and - // followed by ')( |$)', so your pattern will have to match full words - // in the class name. Assigning an element this class name will - // prevent `asciimath2jax` from processing its contents. - // - ignoreClass: "asciimath2jax_ignore", - - // - // This is the class name used to mark elements whose contents SHOULD - // be processed by asciimath2jax. This is used to turn on processing - // within tags that have been marked as ignored or skipped above. - // Note that this is a regular expression, and so you need to be sure - // to quote any regexp special characters. The pattern is - // automatically preceded by '(^| )(' and followed by ')( |$)', so - // your pattern will have to match full words in the class name. Use - // this to restart processing within an element that has been marked - // as ignored above. - // - processClass: "asciimath2jax_process", - - // Controls whether asciimath2jax inserts MathJax_Preview spans to make a - // preview available, and what preview to use, when it locates in-line - // and display mathetics on the page. The default is "AsciiMath", which - // means use the AsciiMath code as the preview (until it is processed by - // MathJax). Set to "none" to prevent the previews from being - // inserted (the math will simply disappear until it is typeset). Set - // to an array containing the description of an HTML snippet in order - // to use the same preview for all equations on the page (e.g., you - // could have it say "[math]" or load an image). - // - // E.g., preview: ["[math]"], - // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] - // - preview: "AsciiMath" - - }, - - //============================================================================ - // - // These parameters control the mml2jax preprocessor (when you have included - // "mml2jax.js" in the extensions list above). - // - mml2jax: { - - // - // Controls whether mml2jax inserts MathJax_Preview spans to make a - // preview available, and what preview to use, when it locates - // mathematics on the page. The default is "mathml" which means use - // the tag as the preview (until it is processed by MathJax). - // Set to "alttext", to use the tag's alttext attribute as the - // preview, if the tag has one. Set to "none" to - // prevent the previews from being inserted (the math will simply - // disappear until it is typeset). Set to "altimg" to use an image - // described by the altimg* attributes of the element. - // Set to an array containing the - // description of an HTML snippet in order to use the same preview for - // all equations on the page (e.g., you could have it say "[math]" or - // load an image). - // - // E.g., preview: ["[math]"], - // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] - // - preview: "mathml" - - }, - - //============================================================================ - // - // These parameters control the jsMath2jax preprocessor (when you have included - // "jsMath2jax.js" in the extensions list above). - // - jsMath2jax: { - - // - // Controls whether jsMath2jax inserts MathJax_Preview spans to make a - // preview available, and what preview to use, when it locates - // mathematics on the page. The default is "TeX", which means use the - // TeX code as the preview (until it is processed by MathJax). Set to - // "none" to prevent the previews from being inserted (the math will - // simply disappear until it is typeset). Set to an array containing - // the description of an HTML snippet in order to use the same preview - // for all equations on the page (e.g., you could have it say "[math]" - // or load an image). - // - // E.g., preview: ["[math]"], - // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] - // - preview: "TeX" - - }, - - //============================================================================ - // - // These parameters control the TeX input jax. - // - TeX: { - - // - // This specifies the side on which \tag{} macros will place the tags. - // Set to "left" to place on the left-hand side. - // - TagSide: "right", - - // - // This is the amound of indentation (from right or left) for the tags. - // - TagIndent: "0.8em", - - // - // This is the width to use for the multline environment - // - MultLineWidth: "85%", - - // - // List of macros to define. These are of the form - // name: value - // where 'value' is the replacement text for the macro \name. - // The 'value' can also be [value,n] where 'value' is the replacement - // text and 'n' is the number of parameters for the macro. - // Note that backslashes must be doubled in the replacement string. - // - // E.g., - // - // Macros: { - // RR: '{\\bf R}', - // bold: ['{\\bf #1}', 1] - // } - // - Macros: {}, - - // - // Equation numbering parameters. - // - equationNumbers: { - autoNumber: "none", // "AMS" for standard AMS environment numbering, - // or "all" to number all displayed equations -// formatNumber: function (n) {return n}, // format for equation number n -// formatTag: function (n) {return '('+n+')'}, // format for \tag and \eqref -// formatID: function (n) {return 'mjx-eqn-'+String(n).replace(/\s/g,"_")}, -// // element ID to use for reference -// formatURL: function (id,base) {return base+'#'+encodeURIComponent(id)}, -// // URL to use for references - useLabelIds: true // make element ID's use \label name rather than equation number - }, - - // - // Controls the TeX/noErrors extension - // - noErrors: { - disabled: false, // set to true to return to original error messages - multiLine: true, // false to not include original line breaks - inlineDelimiters: ["",""], // or use ["$","$"] or ["\\(","\\)"] to put back delimiters - style: { - "font-size": "90%", - "text-align": "left", - "color": "black", - "padding": "1px 3px", - "border": "1px solid" - } - }, - - // - // Controls the TeX/noUndefined extension - // - noUndefined: { - disabled: false, // set to true to return to original error messages - attributes: { // attributes to set for the undefined control sequence - mathcolor: "red" - } - }, - - // - // Controls the TeX/unicode extension - unicode: { - fonts: "STIXGeneral,'Arial Unicode MS'" // the default font list for unknown characters - } - - }, - - //============================================================================ - // - // These parameters control the AsciiMath input jax. - // - AsciiMath: { - // - // Determines whether the unicode positions for phi and varphi are - // to be swapped or not. (Unicode originally had these reversed, and - // many fonts have them reversed as well.) When set to true, phi - // and varphi will correspond to the LaTeX macros of the same name. - // - fixphi: true, - - // - // Determines whether the MathML should be marked so that the HTML-CSS - // and SVG output jax will use MathML spacing rules rather than TeX - // spacing rules. Since AsciiMath was designed for MathML output, the - // MathML rules are used by default. - // - useMathMLspacing: true, - - // - // Determines whether limits are placed above and below operators, - // or next to them. (AsciiMath doesn't have separate in-line and - // display modes like TeX and MathML do, so this is the only control - // you have over its output) - // - displaystyle: true, - - // - // The character to use for decimal places when scanning for a number. - // If you change it to ",", beware of things like "(1,2)" which would need - // to be changed to "(1, 2)" to be parsed correctly. - // - decimal: "." - }, - - //============================================================================ - // - // These parameters control the MathML input jax. - // - MathML: { - // - // This specifies whether to use TeX spacing or MathML spacing when the - // HTML-CSS output jax is used. - // - useMathMLspacing: false - }, - - //============================================================================ - // - // These parameters control the HTML-CSS output jax. - // - "HTML-CSS": { - - // - // This controls the global scaling of mathematics as compared to the - // surrounding text. Values between 100 and 133 are usually good choices. - // - scale: 100, - - // - // Don't allow the matching of math text to surrounding text to use a scaling - // factor smaller than this. - // - minScaleAdjust: 50, - - // - // This is a list of the fonts to look for on a user's computer in - // preference to using MathJax's web-based fonts. These must - // correspond to directories available in the jax/output/HTML-CSS/fonts - // directory, where MathJax stores data about the characters available - // in the fonts. Set this to ["TeX"], for example, to prevent the - // use of the STIX fonts, or set it to an empty list, [], if - // you want to force MathJax to use web-based or image fonts. - // - availableFonts: ["STIX","TeX"], - - // - // This is the preferred font to use when more than one of those - // listed above is available. - // - preferredFont: "TeX", - - // - // This is the web-based font to use when none of the fonts listed - // above are available on the user's computer. Note that currently - // only the TeX font is available in a web-based form. Set this to - // - // webFont: null, - // - // if you want to prevent the use of web-based fonts. - // - webFont: "TeX", - - // - // This is the font to use for image fallback mode (when none of the - // fonts listed above are available and the browser doesn't support - // web-fonts via the @font-face CSS directive). Note that currently - // only the TeX font is available as an image font. Set this to - // - // imageFont: null, - // - // if you want to prevent the use of image fonts (e.g., you have not - // installed the image fonts on your server). In this case, only - // browsers that support web-based fonts will be able to view your pages - // without having the fonts installed on the client computer. The browsers - // that support web-based fonts include: IE6 and later, Chrome, Safari3.1 - // and above, Firefox3.5 and later, and Opera10 and later. Note that - // Firefox3.0 is NOT on this list, so without image fonts, FF3.0 users - // will be required to to download and install either the STIX fonts or the - // MathJax TeX fonts. - // - imageFont: "TeX", - - // - // This is the font-family CSS value used for characters that are not - // in the selected font (e.g., for web-based fonts, this is where to - // look for characters not included in the MathJax_* fonts). IE will - // stop looking after the first font that exists on the system (even - // if it doesn't contain the needed character), so order these carefully. - // - undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif", - - // - // This setting controls whether elements will be typeset - // using the math fonts or the font of the surrounding text. When - // false, the mathvariant="normal" font will be used; when true, - // the font will be inherited from the surrounding paragraph. - // - mtextFontInherit: false, - - // - // These values control how "chunky" the display of mathematical - // expressions will be. - // - // EqnChunk is the number of equations that will be typeset before - // they appear on screen. Larger values make for less visual flicker - // as the equations are drawn, but also mean longer delays before the - // reader sees anything. - // - // EqChunkFactor is the factor by which the EqnChunk will grow after each - // chunk is displayed. - // - // EqChunkDelay is the time (in milliseconds) to delay between chunks - // (to allow the browser to respond to other user interaction). - // - // Set EqnChunk to 1, EqnChunkFactor to 1, and EqnChunkDelay to 10 to get - // the behavior from MathJax v1.1 and below. - // - EqnChunk: 50, - EqnChunkFactor: 1.5, - EqnChunkDelay: 100, - - // - // This option indicates whether MathJax should try to correct the - // x-height of equations to match the size of the surrounding text. - // - matchFontHeight: true, - - // - // When true, MathJax will not measure the widths or heights of the - // subexpressions as it creates its output, but instead will rely on - // its internal calculations based on the bounding boxes of the - // characters it uses, and will only take measurements when it - // absolutely has to. Since measurements cause display reflows, they - // slows down MathJax considerably, so without them MathJax runs - // faster, but can produce slightly less accurate character placements, - // especially in width fractions or roots. - // - noReflows: true, - - - // - // These settings control automatic line breaking. It is off by - // default, so only explicit line breaks are performed (via - // linebreak="newline" attributes on and elements). To - // perform automatic line breaking on line expressions, set - // 'automatic' to 'true' below. The line breaks will be applied via a - // penalty-based heuristic, which does well, but isn't perfect. You - // might need to use linebreak="goodbreak" or linebreak="badbreak" by - // hand in order to get better effects. It is also possible to modify - // the penalty values; contact the MathJax user's forum for details. - // - linebreaks: { - - // - // This controls the automatic breaking of expressions: - // when false, only process linebreak="newline", - // when true, line breaks are inserted automatically in long expressions. - // - automatic: false, - - // - // This controls how wide the lines of mathematics can be - // - // Use an explicit width like "30em" for a fixed width. - // Use "container" to compute the size from the containing element. - // Use "nn% container" for a portion of the container. - // Use "nn%" for a portion of the window size. - // - // The container-based widths may be slower, and may not produce the - // expected results if the layout width changes due to the removal - // of previews or inclusion of mathematics during typesetting. - // - width: "container" - }, - - // - // This allows you to define or modify the styles used to display - // various math elements created by MathJax. - // - // Example: - // styles: { - // ".MathJax .merror": { - // color: "#CC0000", - // border: "1px solid #CC0000" - // } - // } - // - styles: {}, - - // - // Configuration for tooltips - // (see also the #MathJax_Tooltip CSS in MathJax/jax/output/HTML-CSS/config.js, - // which can be overridden using the styles values above). - // - tooltip: { - delayPost: 600, // milliseconds delay before tooltip is posted after mouseover - delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout - offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position - } - }, - - //============================================================================ - // - // These parameters control the NativeMML output jax. - // - NativeMML: { - - // - // This controls the global scaling of mathematics as compared to the - // surrounding text. Values between 100 and 133 are usually good choices. - // - scale: 100, - - // - // Don't allow the matching of math text to surrounding text to use a scaling - // factor smaller than this. - // - minScaleAdjust: 50, - - // This option indicates whether MathJax should try to correct the - // x-height of equations to match the size of the surrounding text. - matchFontHeight: true, - - // - // This allows you to define or modify the styles used to display - // various math elements created by MathJax. - // - // Example: - // styles: { - // ".MathJax_MathML": { - // color: "red" // MathML is in red - // } - // } - // - styles: {} - }, - - //============================================================================ - // - // These parameters control the SVG output jax. - // - "SVG": { - - // - // This controls the global scaling of mathematics as compared to the - // surrounding text. Values between 100 and 133 are usually good choices. - // - scale: 100, - - // - // Don't allow the matching of math text to surrounding text to use a scaling - // factor smaller than this. - // - minScaleAdjust: 50, - - // - // This specifies the font to use for SVG output (currently the only - // one available) - // - font: "TeX", - - // - // This is the stroke width to use for all character paths (1em = 1000 - // units). This is a cheap way of getting slightly lighter or darker - // characters - // - blacker: 10, - - // - // This is the font-family CSS value used for characters that are not - // in the selected font. IE will stop looking after the first font - // that exists on the system (even if it doesn't contain the needed - // character), so order these carefully. - // - undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif", - - // - // This setting controls whether elements will be typeset - // using the math fonts or the font of the surrounding text. When - // false, the mathvariant="normal" font will be used; when true, - // the font will be inherited from the surrounding paragraph. - // - mtextFontInherit: false, - - // - // This controls whether the MathML structure is retained and CSS - // classes are added to mark the original MathML elements (as in the - // HTML-CSS output). By default, the SVG output jax removes unneeded - // nesting in order to produce a more efficient markup, but if you - // want to use CSS to style the elements as if they were MathML, you - // might need to set this to true. - // - addMMLclasses: false, - - // - // These values control how "chunky" the display of mathematical - // expressions will be. - // - // EqnChunk is the number of equations that will be typeset before - // they appear on screen. Larger values make for less visual flicker - // as the equations are drawn, but also mean longer delays before the - // reader sees anything. - // - // EqChunkFactor is the factor by which the EqnChunk will grow after each - // chunk is displayed. - // - // EqChunkDelay is the time (in milliseconds) to delay between chunks - // (to allow the browser to respond to other user interaction). - // - // Set EqnChunk to 1, EqnChunkFactor to 1, and EwnChunkDelay to 10 to get - // the behavior from MathJax v1.1 and below. - // - EqnChunk: 50, - EqnChunkFactor: 1.5, - EqnChunkDelay: 100, - - // This option indicates whether MathJax should try to correct the - // x-height of equations to match the size of the surrounding text. - matchFontHeight: true, - - // - // These settings control automatic line breaking. It is off by - // default, so only explicit line breaks are performed (via - // linebreak="newline" attributes on and elements). To - // perform automatic line breaking on line expressions, set - // 'automatic' to 'true' below. The line breaks will be applied via a - // penalty-based heuristic, which does well, but isn't perfect. You - // might need to use linebreak="goodbreak" or linebreak="badbreak" by - // hand in order to get better effects. It is also possible to modify - // the penalty values; contact the MathJax user's forum for details. - // - linebreaks: { - - // - // This controls the automatic breaking of expressions: - // when false, only process linebreak="newline", - // when true, line breaks are inserted automatically in long expressions. - // - automatic: false, - - // - // This controls how wide the lines of mathematics can be - // - // Use an explicit width like "30em" for a fixed width. - // Use "container" to compute the size from the containing element. - // Use "nn% container" for a portion of the container. - // Use "nn%" for a portion of the window size. - // - // The container-based widths may be slower, and may not produce the - // expected results if the layout width changes due to the removal - // of previews or inclusion of mathematics during typesetting. - // - width: "container" - }, - - // - // These are the styles used for merror elements in SVG output. Note - // that only a limited number of style attributes are supported by - // SVG, but you can at least change the colors and borders. - // - // - merrorStyle: { - fontSize:"90%", color:"#C00", background:"#FF8", - border: "1px solid #C00", padding:"3px" - }, - - // - // This allows you to define or modify the styles used to display - // various math elements created by MathJax. - // - // Example: - // styles: { - // ".MathJax .merror": { - // color: "#CC0000", - // border: "1px solid #CC0000" - // } - // } - // - styles: {}, - - // - // Configuration for tooltips - // (see also the #MathJax_Tooltip CSS in MathJax/jax/output/SVG/config.js, - // which can be overridden using the styles values above). - // - tooltip: { - delayPost: 600, // milliseconds delay before tooltip is posted after mouseover - delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout - offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position - } - }, - - //============================================================================ - // - // These parameters control the contextual menus that are available on the - // mathematics within the page (provided the showMathMenu value is true above). - // - MathMenu: { - // - // This is the hover delay for the display of submenus in the - // contextual menu. When the mouse is still over a submenu label for - // this long, the menu will appear. (The menu also will appear if you - // click on the label.) It is in milliseconds. - // - delay: 150, - - // - // This is the URL for the MathJax Help menu item. - // - helpURL: "http://www.mathjax.org/help-v2/user/", - - // - // These control whether the "Math Renderer", "MathPlayer", "Font - // Preferences", "Contextual Menu", and "Discoverable" menu items will - // be displayed or not. - // - showRenderer: true, - showMathPlayer: true, - showFontMenu: false, - showContext: false, - showDiscoverable: false, - - // - // These are the settings for the Annotation menu. If the root has - // a child that contains one of the following annotation - // formats, the source will be available via the "Show Math As" menu. - // Each format has a list of possible encodings. - // - semanticsAnnotations: { - "TeX": ["TeX", "LaTeX", "application/x-tex"], - "StarMath": ["StarMath 5.0"], - "Maple": ["Maple"], - "ContentMathML": ["MathML-Content", "application/mathml-content+xml"], - "OpenMath": ["OpenMath"] - }, - - // - // These are the settings for the Show Source window. The initial - // width and height will be reset after the source is shown in an - // attempt to make the window fit the output better. - // - windowSettings: { - status: "no", toolbar: "no", locationbar: "no", menubar: "no", - directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes", - width: 100, height: 50 - }, - - // - // This allows you to change the CSS that controls the menu - // appearance. See the extensions/MathMenu.js file for details - // of the default settings. - // - styles: {} - - }, - - //============================================================================ - // - // These parameters control the contextual menus that are available on the - // mathematics within the page (provided the showMathMenu value is true above). - // - MathEvents: { - // - // This is the time required for the mouse to be held still over a - // typeset equation in order for it to count as a hover (used when the - // zoom trigger is "Hover"). It is in milliseconds. - // - hover: 500 - }, - - //============================================================================ - // - // These parameters control the MMLorHTML configuration file. - // NOTE: if you add MMLorHTML.js to the config array above, - // you must REMOVE the output jax from the jax array. - // - MMLorHTML: { - // - // The output jax that is to be preferred when both are possible - // (set to "MML" for native MathML, "HTML" for MathJax's HTML-CSS output jax). - // - prefer: { - MSIE: "MML", - Firefox: "HTML", - Opera: "HTML", - Safari: "HTML", - Chrome: "HTML", - other: "HTML" - } - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/default.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/local/local.js b/src/py/kaleido/vendor/mathjax/config/local/local.js deleted file mode 100644 index cf2c6780..00000000 --- a/src/py/kaleido/vendor/mathjax/config/local/local.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/config/local/local.js - * - * Include changes and configuration local to your installation - * in this file. For example, common macros can be defined here - * (see below). To use this file, add "local/local.js" to the - * config array in MathJax.js or your MathJax.Hub.Config() call. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - var TEX = MathJax.InputJax.TeX; - - // place macros here. E.g.: - // TEX.Macro("R","{\\bf R}"); - // TEX.Macro("op","\\mathop{\\rm #1}",1); // a macro with 1 parameter - -}); - -MathJax.Ajax.loadComplete("[MathJax]/config/local/local.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/AssistiveMML.js b/src/py/kaleido/vendor/mathjax/extensions/AssistiveMML.js deleted file mode 100644 index 10b5af4e..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/AssistiveMML.js +++ /dev/null @@ -1,161 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/AssistiveMML.js - * - * Implements an extension that inserts hidden MathML into the - * page for screen readers or other asistive technology. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -(function (AJAX,CALLBACK,HUB,HTML) { - var SETTINGS = HUB.config.menuSettings; - - var AssistiveMML = MathJax.Extension["AssistiveMML"] = { - version: "2.7.5", - - config: HUB.CombineConfig("AssistiveMML",{ - disabled: false, - styles: { - ".MJX_Assistive_MathML": { - position:"absolute!important", - top: 0, left: 0, - clip: (HUB.Browser.isMSIE && (document.documentMode||0) < 8 ? - "rect(1px 1px 1px 1px)" : "rect(1px, 1px, 1px, 1px)"), - padding: "1px 0 0 0!important", - border: "0!important", - height: "1px!important", - width: "1px!important", - overflow: "hidden!important", - display:"block!important", - // - // Don't allow the assistive MathML become part of the selection - // - "-webkit-touch-callout": "none", - "-webkit-user-select": "none", - "-khtml-user-select": "none", - "-moz-user-select": "none", - "-ms-user-select": "none", - "user-select": "none" - }, - ".MJX_Assistive_MathML.MJX_Assistive_MathML_Block": { - width: "100%!important" - } - } - }), - - Config: function () { - if (!this.config.disabled && SETTINGS.assistiveMML == null) - HUB.Config({menuSettings:{assistiveMML:true}}); - AJAX.Styles(this.config.styles); - HUB.Register.MessageHook("End Math",function (msg) { - if (SETTINGS.assistiveMML) return AssistiveMML.AddAssistiveMathML(msg[1]) - }); - }, - - // - // This sets up a state object that lists the jax and index into the jax, - // and a dummy callback that is used to synchronizing with MathJax. - // It will be called when the jax are all processed, and that will - // let the MathJax queue continue (it will block until then). - // - AddAssistiveMathML: function (node) { - var state = { - jax: HUB.getAllJax(node), i: 0, - callback: MathJax.Callback({}) - }; - this.HandleMML(state); - return state.callback; - }, - - // - // This removes the data-mathml attribute and the assistive MathML from - // all the jax. - // - RemoveAssistiveMathML: function (node) { - var jax = HUB.getAllJax(node), frame; - for (var i = 0, m = jax.length; i < m; i++) { - frame = document.getElementById(jax[i].inputID+"-Frame"); - if (frame && frame.getAttribute("data-mathml")) { - frame.removeAttribute("data-mathml"); - if (frame.lastChild && frame.lastChild.className.match(/MJX_Assistive_MathML/)) - frame.removeChild(frame.lastChild); - } - } - }, - - // - // For each jax in the state, look up the frame. - // If the jax doesn't use NativeMML and hasn't already been handled: - // Get the MathML for the jax, taking resets into account. - // Add a data-mathml attribute to the frame, and - // Create a span that is not visible on screen and put the MathML in it, - // and add it to the frame. - // When all the jax are processed, call the callback. - // - HandleMML: function (state) { - var m = state.jax.length, jax, mml, frame, span; - while (state.i < m) { - jax = state.jax[state.i]; - frame = document.getElementById(jax.inputID+"-Frame"); - if (jax.outputJax !== "NativeMML" && jax.outputJax !== "PlainSource" && - frame && !frame.getAttribute("data-mathml")) { - try { - mml = jax.root.toMathML("").replace(/\n */g,"").replace(//g,""); - } catch (err) { - if (!err.restart) throw err; // an actual error - return MathJax.Callback.After(["HandleMML",this,state],err.restart); - } - frame.setAttribute("data-mathml",mml); - span = HTML.addElement(frame,"span",{ - isMathJax: true, unselectable: "on", - className: "MJX_Assistive_MathML" - + (jax.root.Get("display") === "block" ? " MJX_Assistive_MathML_Block" : "") - }); - try {span.innerHTML = mml} catch (err) {} - frame.style.position = "relative"; - frame.setAttribute("role","presentation"); - frame.firstChild.setAttribute("aria-hidden","true"); - span.setAttribute("role","presentation"); - } - state.i++; - } - state.callback(); - } - - }; - - HUB.Startup.signal.Post("AssistiveMML Ready"); - -})(MathJax.Ajax,MathJax.Callback,MathJax.Hub,MathJax.HTML); - -// -// Make sure the toMathML extension is loaded before we signal -// the load complete for this extension. Then wait for the end -// of the user configuration before configuring this extension. -// -MathJax.Callback.Queue( - ["Require",MathJax.Ajax,"[MathJax]/extensions/toMathML.js"], - ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/AssistiveMML.js"], - function () { - MathJax.Hub.Register.StartupHook("End Config",["Config",MathJax.Extension.AssistiveMML]); - } -); - diff --git a/src/py/kaleido/vendor/mathjax/extensions/CHTML-preview.js b/src/py/kaleido/vendor/mathjax/extensions/CHTML-preview.js deleted file mode 100644 index f35a233e..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/CHTML-preview.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/CHTML-preview.js - * - * Backward compatibility with old CHTML-preview extension. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2014-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Callback.Queue( - ["Require",MathJax.Ajax,"[MathJax]/extensions/fast-preview.js"], - ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/CHTML-preview.js"] -); diff --git a/src/py/kaleido/vendor/mathjax/extensions/FontWarnings.js b/src/py/kaleido/vendor/mathjax/extensions/FontWarnings.js deleted file mode 100644 index 99595293..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/FontWarnings.js +++ /dev/null @@ -1,313 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/FontWarnings.js - * - * Implements a font warning message window that appears when - * the image fonts, no fonts, or web fonts are used, informing - * the user where to download the fonts, or to update to a more - * modern browser. The window will fade out automatically after - * a time, and the user can dismiss it by a close box. - * - * To include font warning messages, add "FontWarnings.js" to the - * extensions array in your MathJax configuration. - * - * You can customize the warning messages in a number of ways. Use the - * FontWarnings section of the configuration to specify any of the items - * shown in the CONFIG variable below. These include - * - * messageStyle the style to apply to the warning box that is - * displayed when MathJax uses one of its fallback - * methods. - * - * removeAfter the amount of time to show the warning message (in ms) - * fadeoutTime how long the message should take to fade out - * fadeoutSteps how many separate steps to use during the fade out - * (set to 0 to use no fadeout and simply remove the window) - * - * Messages stores the descriptions of the messages to use for the - * various warnings (webFonts, imageFonts, and noFonts). - * These are arrays of strings to be inserted into the window, - * or identifiers within brackets, which refer to the HTML - * snippets in the HTML section described below. To disable a - * specific message, set its value to null (see example below). - * - * HTML stores snippets of HTML descriptions for various - * common parts of the error messages. These include - * the closeBox, the message about web fonts being available - * in modern browser, and messages about downloadable fonts. - * The STIX and TeX font messages are used when only one - * of these is in the availableFonts list. The data for these - * are arrays of either strings to include or a description of - * an HTML item enclosed in square brackets. That description - * has (up to) three parts: the name of the tag to be included, - * a list (enclosed in braces) of attributes and their values - * to be set on the tag (optional), and an array of the contents - * of the tag (optional). See the definitions below for examples. - * - * For example, - * - * MathJax.Hub.Config({ - * ... - * extensions: ["FontWarnings.js"], - * FontWarnings: { - * removeAfter: 20*1000, // 20 seconds - * messageStyle: { - * border: "2px solid black", - * padding: "2em" - * }, - * Message: { - * webFont: null // no webfont messages (only image and no fonts) - * } - * } - * }); - * - * would extend the time the message is displayed from 12 seconds to 20, - * and changes the border to a solid black one, with 2em of padding - * rather than the default of 1em. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - */ - -(function (HUB,HTML) { - var VERSION = "2.7.5"; - - var STIXURL = "http://www.stixfonts.org/"; - var MATHJAXURL = "https://github.com/mathjax/MathJax/tree/master/fonts/HTML-CSS/TeX/otf"; - - var CONFIG = HUB.CombineConfig("FontWarnings",{ - // - // The CSS for the message window - // - messageStyle: { - position:"fixed", bottom:"4em", left:"3em", width:"40em", - border: "3px solid #880000", "background-color": "#E0E0E0", color: "black", - padding: "1em", "font-size":"small", "white-space":"normal", - - "border-radius": ".75em", // Opera 10.5 and IE9 - "-webkit-border-radius": ".75em", // Safari and Chrome - "-moz-border-radius": ".75em", // Firefox - "-khtml-border-radius": ".75em", // Konqueror - - "box-shadow": "4px 4px 10px #AAAAAA", // Opera 10.5 and IE9 - "-webkit-box-shadow": "4px 4px 10px #AAAAAA", // Safari 3 and Chrome - "-moz-box-shadow": "4px 4px 10px #AAAAAA", // Forefox 3.5 - "-khtml-box-shadow": "4px 4px 10px #AAAAAA", // Konqueror - filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=3, OffY=3, Color='gray', Positive='true')" // IE - }, - - // - // The messages for the various situations - // - Message: { - - webFont: [ - ["closeBox"], - ["webFont", - "MathJax is using web-based fonts to display the mathematics "+ - "on this page. These take time to download, so the page would "+ - "render faster if you installed math fonts directly in your "+ - "system's font folder."], - ["fonts"] - ], - - imageFonts: [ - ["closeBox"], - ["imageFonts", - "MathJax is using its image fonts rather than local or web-based fonts. "+ - "This will render slower than usual, and the mathematics may not print "+ - "at the full resolution of your printer."], - ["fonts"], - ["webFonts"] - ], - - noFonts: [ - ["closeBox"], - ["noFonts", - "MathJax is unable to locate a font to use to display "+ - "its mathematics, and image fonts are not available, so it "+ - "is falling back on generic unicode characters in hopes that "+ - "your browser will be able to display them. Some characters "+ - "may not show up properly, or possibly not at all."], - ["fonts"], - ["webFonts"] - ] - }, - - // - // HTML objects that can be referred to in the message definitions - // - HTML: { - // - // The definition of the close box - // - closeBox: [[ - "div",{ - style: { - position:"absolute", overflow:"hidden", top:".1em", right:".1em", - border: "1px outset", width:"1em", height:"1em", - "text-align": "center", cursor: "pointer", - "background-color": "#EEEEEE", color:"#606060", - - "border-radius": ".5em", // Opera 10.5 - "-webkit-border-radius": ".5em", // Safari and Chrome - "-moz-border-radius": ".5em", // Firefox - "-khtml-border-radius": ".5em" // Konqueror - }, - onclick: function () { - if (DATA.div && DATA.fade === 0) - {if (DATA.timer) {clearTimeout(DATA.timer)}; DATA.div.style.display = "none"} - } - }, - [["span",{style:{position:"relative", bottom:".2em"}},["x"]]] - ]], - - webFonts: [ - ["p"], - ["webFonts", - "Most modern browsers allow for fonts to be downloaded over the web. "+ - "Updating to a more recent version of your browser (or changing "+ - "browsers) could improve the quality of the mathematics on this page." - ] - ], - - fonts: [ - ["p"], - ["fonts", - "MathJax can use either the [STIX fonts](%1) or the [MathJax TeX fonts](%2). " + - "Download and install one of those fonts to improve your MathJax experience.", - STIXURL,MATHJAXURL - ] - ], - - STIXfonts: [ - ["p"], - ["STIXPage", - "This page is designed to use the [STIX fonts](%1). " + - "Download and install those fonts to improve your MathJax experience.", - STIXURL - ] - ], - - TeXfonts: [ - ["p"], - ["TeXPage", - "This page is designed to use the [MathJax TeX fonts](%1). " + - "Download and install those fonts to improve your MathJax experience.", - MATHJAXURL - ] - ] - - }, - - removeAfter: 12*1000, // time to show message (in ms) - fadeoutSteps: 10, // fade-out steps - fadeoutTime: 1.5*1000 // fadeout over this amount of time (in ms) - - }); - if (MathJax.Hub.Browser.isIE9 && document.documentMode >= 9) - {delete CONFIG.messageStyle.filter} - - // - // Data for the window - // - var DATA = { - div: null, // the message window, when displayed - fade: 0 // number of fade-out steps so far - }; - - // - // Create the message window and start the fade-out timer - // - var CREATEMESSAGE = function (data) { - if (DATA.div) return; - var HTMLCSS = MathJax.OutputJax["HTML-CSS"], frame = document.body; - if (HUB.Browser.isMSIE) { - if (CONFIG.messageStyle.position === "fixed") { - MathJax.Message.Init(); // make sure MathJax_MSIE_frame exists - frame = document.getElementById("MathJax_MSIE_Frame") || frame; - if (frame !== document.body) {CONFIG.messageStyle.position = "absolute"} - } - } else {delete CONFIG.messageStyle.filter} - CONFIG.messageStyle.maxWidth = (document.body.clientWidth-75) + "px"; - var i = 0; while (i < data.length) { - if (MathJax.Object.isArray(data[i])) { - if (data[i].length === 1 && CONFIG.HTML[data[i][0]]) { - data.splice.apply(data,[i,1].concat(CONFIG.HTML[data[i][0]])); - } else if (typeof data[i][1] === "string") { - var message = MathJax.Localization.lookupPhrase(["FontWarnings",data[i][0]],data[i][1]); - message = MathJax.Localization.processMarkdown(message,data[i].slice(2),"FontWarnings"); - data.splice.apply(data,[i,1].concat(message)); - i += message.length; - } else {i++} - } else {i++} - } - DATA.div = HTMLCSS.addElement(frame,"div", - {id:"MathJax_FontWarning",style:CONFIG.messageStyle},data); - MathJax.Localization.setCSS(DATA.div); - if (CONFIG.removeAfter) { - HUB.Register.StartupHook("End",function () - {DATA.timer = setTimeout(FADEOUT,CONFIG.removeAfter)}); - } - HTML.Cookie.Set("fontWarn",{warned:true}); - }; - - // - // Set the opacity based on the number of steps taken so far - // and remove the window when it gets to 0 - // - var FADEOUT = function () { - DATA.fade++; if (DATA.timer) {delete DATA.timer} - if (DATA.fade < CONFIG.fadeoutSteps) { - var opacity = 1 - DATA.fade/CONFIG.fadeoutSteps; - DATA.div.style.opacity = opacity; - DATA.div.style.filter = "alpha(opacity="+Math.floor(100*opacity)+")"; - setTimeout(FADEOUT,CONFIG.fadeoutTime/CONFIG.fadeoutSteps); - } else { - DATA.div.style.display = "none"; - } - }; - - // - // Check that we haven't already issued a warning - // - if (!HTML.Cookie.Get("fontWarn").warned) { - // - // Hook into the Startup signal and look for font warning messages. - // When one comes, issue the correct message. - // - HUB.Startup.signal.Interest(function (message) { - if (message.match(/HTML-CSS Jax - /) && !DATA.div) { - var HTMLCSS = MathJax.OutputJax["HTML-CSS"], FONTS = HTMLCSS.config.availableFonts, MSG; - var localFonts = (FONTS && FONTS.length); - if (!localFonts) {CONFIG.HTML.fonts = [""]} - else if (FONTS.length === 1) {CONFIG.HTML.fonts = CONFIG.HTML[FONTS[0]+"fonts"]} - if (HTMLCSS.allowWebFonts) {CONFIG.HTML.webfonts = [""]} - if (message.match(/- Web-Font/)) {if (localFonts) {MSG = "webFont"}} - else if (message.match(/- using image fonts/)) {MSG = "imageFonts"} - else if (message.match(/- no valid font/)) {MSG = "noFonts"} - if (MSG && CONFIG.Message[MSG]) - {MathJax.Localization.loadDomain("FontWarnings",[CREATEMESSAGE,CONFIG.Message[MSG]])} - } - }); - } - -})(MathJax.Hub,MathJax.HTML); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/HTML-CSS/handle-floats.js b/src/py/kaleido/vendor/mathjax/extensions/HTML-CSS/handle-floats.js deleted file mode 100644 index 01fdcec3..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/HTML-CSS/handle-floats.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/HTML-CSS/handle-floats.js - * - * This extension allows HTML-CSS output to deal with floating elements - * better. In particular, when there are tags or equation numbers, these - * would overlap floating elements, but with this extension, the width of - * the line should properly correspond to the amount of space remaining. - * - * To load it, include - * - * "HTML-CSS": { - * extensions: ["handle-floats.js"] - * } - * - * in your configuration. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2012-2018 The MathJax Consortium - * - * 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. - */ - - -MathJax.Extension["HTML-CSS/handle-floats"] = { - version: "2.7.5" -}; - -// -// This file is now obsolete, since the HTML-CSS output already handles -// floating elements properly. -// - -MathJax.Hub.Startup.signal.Post("HTML-CSS handle-floats Ready"); -MathJax.Ajax.loadComplete("[MathJax]/extensions/HTML-CSS/handle-floats.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/HelpDialog.js b/src/py/kaleido/vendor/mathjax/extensions/HelpDialog.js deleted file mode 100644 index 4c6120ad..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/HelpDialog.js +++ /dev/null @@ -1,203 +0,0 @@ -/************************************************************* - * - * MathJax/extensions/HelpDialog.js - * - * Implements the MathJax Help dialog box. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - -(function (HUB,HTML,AJAX,OUTPUT,LOCALE) { - - var HELP = MathJax.Extension.Help = { - version: "2.7.5" - }; - - var STIXURL = "http://www.stixfonts.org/"; - var MENU = MathJax.Menu; - var FALSE, KEY; - HUB.Register.StartupHook("MathEvents Ready",function () { - FALSE = MathJax.Extension.MathEvents.Event.False; - KEY = MathJax.Extension.MathEvents.Event.KEY; - }); - - - var CONFIG = HUB.CombineConfig("HelpDialog",{ - - styles: { - "#MathJax_Help": { - position:"fixed", left:"50%", width:"auto", "max-width": "90%", "text-align":"center", - border:"3px outset", padding:"1em 2em", "background-color":"#DDDDDD", color:"black", - cursor: "default", "font-family":"message-box", "font-size":"120%", - "font-style":"normal", "text-indent":0, "text-transform":"none", - "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", - "word-wrap":"normal", "white-space":"wrap", "float":"none", "z-index":201, - - "border-radius": "15px", // Opera 10.5 and IE9 - "-webkit-border-radius": "15px", // Safari and Chrome - "-moz-border-radius": "15px", // Firefox - "-khtml-border-radius": "15px", // Konqueror - - "box-shadow":"0px 10px 20px #808080", // Opera 10.5 and IE9 - "-webkit-box-shadow":"0px 10px 20px #808080", // Safari 3 and Chrome - "-moz-box-shadow":"0px 10px 20px #808080", // Forefox 3.5 - "-khtml-box-shadow":"0px 10px 20px #808080", // Konqueror - filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE - }, - "#MathJax_Help.MathJax_MousePost": { - outline:"none" - }, - - "#MathJax_HelpContent": { - overflow:"auto", "text-align":"left", "font-size":"80%", - padding:".4em .6em", border:"1px inset", margin:"1em 0px", - "max-height":"20em", "max-width":"30em", "background-color":"#EEEEEE" - }, - - "#MathJax_HelpClose": { - position:"absolute", top:".2em", right:".2em", - cursor:"pointer", - display:"inline-block", - border:"2px solid #AAA", - "border-radius":"18px", - "-webkit-border-radius": "18px", // Safari and Chrome - "-moz-border-radius": "18px", // Firefox - "-khtml-border-radius": "18px", // Konqueror - "font-family":"'Courier New',Courier", - "font-size":"24px", - color:"#F0F0F0" - }, - "#MathJax_HelpClose span": { - display:"block", "background-color":"#AAA", border:"1.5px solid", - "border-radius":"18px", - "-webkit-border-radius": "18px", // Safari and Chrome - "-moz-border-radius": "18px", // Firefox - "-khtml-border-radius": "18px", // Konqueror - "line-height":0, - padding:"8px 0 6px" // may need to be browser-specific - }, - "#MathJax_HelpClose:hover": { - color:"white!important", - border:"2px solid #CCC!important" - }, - "#MathJax_HelpClose:hover span": { - "background-color":"#CCC!important" - }, - "#MathJax_HelpClose:hover:focus": { - outline:"none" - } - } - }); - - /* - * Handle the Help Dialog box - */ - HELP.Dialog = function (event) { - LOCALE.loadDomain("HelpDialog",["Post",HELP,event]); - }; - - HELP.Post = function (event) { - this.div = MENU.Background(this); - var help = HTML.addElement(this.div,"div",{ - id: "MathJax_Help", tabIndex: 0, onkeydown: HELP.Keydown - },LOCALE._("HelpDialog",[ - ["b",{style:{fontSize:"120%"}},[["Help","MathJax Help"]]], - ["div",{id: "MathJax_HelpContent", tabIndex: 0},[ - ["p",{},[["MathJax", - "*MathJax* is a JavaScript library that allows page authors to include " + - "mathematics within their web pages. As a reader, you don't need to do " + - "anything to make that happen."]] - ], - ["p",{},[["Browsers", - "*Browsers*: MathJax works with all modern browsers including IE6+, Firefox 3+, " + - "Chrome 0.2+, Safari 2+, Opera 9.6+ and most mobile browsers."]] - ], - ["p",{},[["Menu", - "*Math Menu*: MathJax adds a contextual menu to equations. Right-click or " + - "CTRL-click on any mathematics to access the menu."]] - ], - ["div",{style:{"margin-left":"1em"}},[ - ["p",{},[["ShowMath", - "*Show Math As* allows you to view the formula's source markup " + - "for copy & paste (as MathML or in its original format)."]] - ], - ["p",{},[["Settings", - "*Settings* gives you control over features of MathJax, such as the " + - "size of the mathematics, and the mechanism used to display equations."]] - ], - ["p",{},[["Language", - "*Language* lets you select the language used by MathJax for its menus " + - "and warning messages."]] - ], - ]], - ["p",{},[["Zoom", - "*Math Zoom*: If you are having difficulty reading an equation, MathJax can " + - "enlarge it to help you see it better."]] - ], - ["p",{},[["Accessibilty", - "*Accessibility*: MathJax will automatically work with screen readers to make " + - "mathematics accessible to the visually impaired."]] - ], - ["p",{},[["Fonts", - "*Fonts*: MathJax will use certain math fonts if they are installed on your " + - "computer; otherwise, it will use web-based fonts. Although not required, " + - "locally installed fonts will speed up typesetting. We suggest installing " + - "the [STIX fonts](%1).",STIXURL]] - ] - ]], - ["a",{href:"http://www.mathjax.org/"},["www.mathjax.org"]], - ["span",{id: "MathJax_HelpClose", onclick: HELP.Remove, - onkeydown: HELP.Keydown, tabIndex: 0, role: "button", - "aria-label": LOCALE._(["HelpDialog","CloseDialog"],"Close help dialog")}, - [["span",{},["\u00D7"]]] - ] - ])); - if (event.type === "mouseup") help.className += " MathJax_MousePost"; - help.focus(); - LOCALE.setCSS(help); - var doc = (document.documentElement||{}); - var H = window.innerHeight || doc.clientHeight || doc.scrollHeight || 0; - if (MENU.prototype.msieAboutBug) { - help.style.width = "20em"; help.style.position = "absolute"; - help.style.left = Math.floor((document.documentElement.scrollWidth - help.offsetWidth)/2)+"px"; - help.style.top = (Math.floor((H-help.offsetHeight)/3)+document.body.scrollTop)+"px"; - } else { - help.style.marginLeft = Math.floor(-help.offsetWidth/2)+"px"; - help.style.top = Math.floor((H-help.offsetHeight)/3)+"px"; - } - }; - HELP.Remove = function (event) { - if (HELP.div) {document.body.removeChild(HELP.div); delete HELP.div} - }; - HELP.Keydown = function(event) { - if (event.keyCode === KEY.ESCAPE || - (this.id === "MathJax_HelpClose" && - (event.keyCode === KEY.SPACE || event.keyCode === KEY.RETURN))) { - HELP.Remove(event); - MENU.CurrentNode().focus(); - FALSE(event); - } - }, - - MathJax.Callback.Queue( - HUB.Register.StartupHook("End Config",{}), // wait until config is complete - ["Styles",AJAX,CONFIG.styles], - ["Post",HUB.Startup.signal,"HelpDialog Ready"], - ["loadComplete",AJAX,"[MathJax]/extensions/HelpDialog.js"] - ); - -})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.OutputJax,MathJax.Localization); diff --git a/src/py/kaleido/vendor/mathjax/extensions/MatchWebFonts.js b/src/py/kaleido/vendor/mathjax/extensions/MatchWebFonts.js deleted file mode 100644 index 8fd7cad7..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/MatchWebFonts.js +++ /dev/null @@ -1,309 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/MatchWebFonts.js - * - * Adds code to the output jax so that if web fonts are used on the page, - * MathJax will be able to detect their arrival and update the math to - * accommodate the change in font. For the NativeMML output, this works - * both for web fonts in main text, and for web fonts in the math as well. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - -(function (HUB,AJAX) { - var VERSION = "2.7.5"; - - var CONFIG = MathJax.Hub.CombineConfig("MatchWebFonts",{ - matchFor: { - "HTML-CSS": true, - NativeMML: true, - SVG: true - }, - fontCheckDelay: 500, // initial delay for the first check for web fonts - fontCheckTimeout: 15 * 1000, // how long to keep looking for fonts (15 seconds) - }); - - MathJax.Extension.MatchWebFonts = { - version: VERSION, - config: CONFIG - }; - - HUB.Register.StartupHook("HTML-CSS Jax Ready",function () { - var HTMLCSS = MathJax.OutputJax["HTML-CSS"]; - var POSTTRANSLATE = HTMLCSS.postTranslate; - - HTMLCSS.Augment({ - postTranslate: function (state,partial) { - if (!partial && CONFIG.matchFor["HTML-CSS"] && this.config.matchFontHeight) { - // - // Check for changes in the web fonts that might affect the font - // size for math elements. This is a periodic check that goes on - // until a timeout is reached. - // - AJAX.timer.start(AJAX,["checkFonts",this,state.jax[this.id]], - CONFIG.fontCheckDelay,CONFIG.fontCheckTimeout); - } - return POSTTRANSLATE.apply(this,arguments); // do the original function - }, - - checkFonts: function (check,scripts) { - if (check.time(function () {})) return; - var size = [], i, m, retry = false; - // - // Add the elements used for testing ex and em sizes - // - for (i = 0, m = scripts.length; i < m; i++) { - script = scripts[i]; - if (script.parentNode && script.MathJax.elementJax) { - script.parentNode.insertBefore(this.EmExSpan.cloneNode(true),script); - } - } - // - // Check to see if anything has changed - // - for (i = 0, m = scripts.length; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; retry = true; - var jax = script.MathJax.elementJax; if (!jax) continue; - // - // Check if ex or mex has changed - // - var test = script.previousSibling; - var ex = test.firstChild.offsetHeight/60; - var em = test.lastChild.lastChild.offsetHeight/60; - if (ex === 0 || ex === "NaN") {ex = this.defaultEx; em = this.defaultEm} - if (ex !== jax.HTMLCSS.ex || em !== jax.HTMLCSS.em) { - var scale = ex/this.TeX.x_height/em; - scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale)*this.config.scale); - if (scale/100 !== jax.scale) {size.push(script); scripts[i] = {}} - } - } - // - // Remove markers - // - scripts = scripts.concat(size); // some scripts have been moved to the size array - for (i = 0, m = scripts.length; i < m; i++) { - script = scripts[i]; - if (script && script.parentNode && script.MathJax.elementJax) { - script.parentNode.removeChild(script.previousSibling); - } - } - // - // Rerender the changed items - // - if (size.length) {HUB.Queue(["Rerender",HUB,[size],{}])} - // - // Try again later - // - if (retry) {setTimeout(check,check.delay)} - } - }); - }); - - HUB.Register.StartupHook("SVG Jax Ready",function () { - var SVG = MathJax.OutputJax.SVG; - var POSTTRANSLATE = SVG.postTranslate; - - SVG.Augment({ - postTranslate: function (state,partial) { - if (!partial && CONFIG.matchFor.SVG) { - // - // Check for changes in the web fonts that might affect the font - // size for math elements. This is a periodic check that goes on - // until a timeout is reached. - // - AJAX.timer.start(AJAX,["checkFonts",this,state.jax[this.id]], - CONFIG.fontCheckDelay,CONFIG.fontCheckTimeout); - } - return POSTTRANSLATE.apply(this,arguments); // do the original function - }, - - checkFonts: function (check,scripts) { - if (check.time(function () {})) return; - var size = [], i, m, retry = false; - // - // Add the elements used for testing ex and em sizes - // - for (i = 0, m = scripts.length; i < m; i++) { - script = scripts[i]; - if (script.parentNode && script.MathJax.elementJax) { - script.parentNode.insertBefore(this.ExSpan.cloneNode(true),script); - } - } - // - // Check to see if anything has changed - // - for (i = 0, m = scripts.length; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; retry = true; - var jax = script.MathJax.elementJax; if (!jax) continue; - // - // Check if ex or mex has changed - // - var test = script.previousSibling; - var ex = test.firstChild.offsetHeight/60; - if (ex === 0 || ex === "NaN") {ex = this.defaultEx} - if (ex !== jax.SVG.ex) {size.push(script); scripts[i] = {}} - } - // - // Remove markers - // - scripts = scripts.concat(size); // some scripts have been moved to the size array - for (i = 0, m = scripts.length; i < m; i++) { - script = scripts[i]; - if (script.parentNode && script.MathJax.elementJax) { - script.parentNode.removeChild(script.previousSibling); - } - } - // - // Rerender the changed items - // - if (size.length) {HUB.Queue(["Rerender",HUB,[size],{}])} - // - // Try again later (if not all the scripts are null) - // - - if (retry) setTimeout(check,check.delay); - } - }); - }); - - HUB.Register.StartupHook("NativeMML Jax Ready",function () { - var nMML = MathJax.OutputJax.NativeMML; - var POSTTRANSLATE = nMML.postTranslate; - - nMML.Augment({ - postTranslate: function (state) { - if (!HUB.Browser.isMSIE && CONFIG.matchFor.NativeMML) { - // - // Check for changes in the web fonts that might affect the sizes - // of math elements. This is a periodic check that goes on until - // a timeout is reached. - // - AJAX.timer.start(AJAX,["checkFonts",this,state.jax[this.id]], - CONFIG.fontCheckDelay,CONFIG.fontCheckTimeout); - } - POSTTRANSLATE.apply(this,arguments); // do the original routine - }, - - // - // Check to see if web fonts have been loaded that change the ex size - // of the surrounding font, the ex size within the math, or the widths - // of math elements. We do this by rechecking the ex and mex sizes - // (to see if the font scaling needs adjusting) and by checking the - // size of the inner mrow of math elements and mtd elements. The - // sizes of these have been stored in the NativeMML object of the - // element jax so that we can check for them here. - // - checkFonts: function (check,scripts) { - if (check.time(function () {})) return; - var adjust = [], mtd = [], size = [], i, m, script; - // - // Add the elements used for testing ex and em sizes - // - for (i = 0, m = scripts.length; i < m; i++) { - script = scripts[i]; - if (script.parentNode && script.MathJax.elementJax) { - script.parentNode.insertBefore(this.EmExSpan.cloneNode(true),script); - } - } - // - // Check to see if anything has changed - // - for (i = 0, m = scripts.length; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; - var jax = script.MathJax.elementJax; if (!jax) continue; - var span = document.getElementById(jax.inputID+"-Frame"); - var math = span.getElementsByTagName("math")[0]; if (!math) continue; - jax = jax.NativeMML; - // - // Check if ex or mex has changed - // - var test = script.previousSibling; - var ex = test.firstChild.offsetWidth/60; - var mex = test.lastChild.offsetWidth/60; - if (ex === 0 || ex === "NaN") {ex = this.defaultEx; mex = this.defaultMEx} - var newEx = (ex !== jax.ex); - if (newEx || mex != jax.mex) { - var scale = (this.config.matchFontHeight && mex > 1 ? ex/mex : 1); - scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale) * this.config.scale); - if (scale/100 !== jax.scale) {size.push([span.style,scale])} - jax.scale = scale/100; jax.fontScale = scale+"%"; jax.ex = ex; jax.mex = mex; - } - - // - // Check width of math elements - // - if ("scrollWidth" in jax && (newEx || jax.scrollWidth !== math.firstChild.scrollWidth)) { - jax.scrollWidth = math.firstChild.scrollWidth; - adjust.push([math.parentNode.style,jax.scrollWidth/jax.ex/jax.scale]); - } - // - // Check widths of mtd elements - // - if (math.MathJaxMtds) { - for (var j = 0, n = math.MathJaxMtds.length; j < n; j++) { - if (!math.MathJaxMtds[j].parentNode) continue; - if (newEx || math.MathJaxMtds[j].firstChild.scrollWidth !== jax.mtds[j]) { - jax.mtds[j] = math.MathJaxMtds[j].firstChild.scrollWidth; - mtd.push([math.MathJaxMtds[j],jax.mtds[j]/jax.ex]); - } - } - } - } - // - // Remove markers - // - for (i = 0, m = scripts.length; i < m; i++) { - script = scripts[i]; - if (script.parentNode && script.MathJax.elementJax) { - script.parentNode.removeChild(script.previousSibling); - } - } - // - // Adjust scaling factor - // - for (i = 0, m = size.length; i < m; i++) { - size[i][0].fontSize = size[i][1] + "%"; - } - // - // Adjust width of spans containing math elements that have changed - // - for (i = 0, m = adjust.length; i < m; i++) { - adjust[i][0].width = adjust[i][1].toFixed(3)+"ex"; - } - // - // Adjust widths of mtd elements that have changed - // - for (i = 0, m = mtd.length; i < m; i++) { - var style = mtd[i][0].getAttribute("style"); - style = style.replace(/(($|;)\s*min-width:).*?ex/,"$1 "+mtd[i][1].toFixed(3)+"ex"); - mtd[i][0].setAttribute("style",style); - } - // - // Try again later - // - setTimeout(check,check.delay); - } - }); - }); - - HUB.Startup.signal.Post("MatchWebFonts Extension Ready"); - AJAX.loadComplete("[MathJax]/extensions/MatchWebFonts.js"); - -})(MathJax.Hub,MathJax.Ajax); diff --git a/src/py/kaleido/vendor/mathjax/extensions/MathEvents.js b/src/py/kaleido/vendor/mathjax/extensions/MathEvents.js deleted file mode 100644 index a496b84e..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/MathEvents.js +++ /dev/null @@ -1,619 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/MathEvents.js - * - * Implements the event handlers needed by the output jax to perform - * menu, hover, and other events. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -(function (HUB,HTML,AJAX,CALLBACK,LOCALE,OUTPUT,INPUT) { - var VERSION = "2.7.5"; - - var EXTENSION = MathJax.Extension; - var ME = EXTENSION.MathEvents = {version: VERSION}; - - var SETTINGS = HUB.config.menuSettings; - - var CONFIG = { - hover: 500, // time required to be considered a hover - frame: { - x: 3.5, y: 5, // frame padding and - bwidth: 1, // frame border width (in pixels) - bcolor: "#A6D", // frame border color - hwidth: "15px", // haze width - hcolor: "#83A" // haze color - }, - button: { - x: -6, y: -3, // menu button offsets - wx: -2 // button offset for full-width equations - }, - fadeinInc: .2, // increment for fade-in - fadeoutInc: .05, // increment for fade-out - fadeDelay: 50, // delay between fade-in or fade-out steps - fadeoutStart: 400, // delay before fade-out after mouseout - fadeoutDelay: 15*1000, // delay before automatic fade-out - - styles: { - ".MathJax_Hover_Frame": { - "border-radius": ".25em", // Opera 10.5 and IE9 - "-webkit-border-radius": ".25em", // Safari and Chrome - "-moz-border-radius": ".25em", // Firefox - "-khtml-border-radius": ".25em", // Konqueror - - "box-shadow": "0px 0px 15px #83A", // Opera 10.5 and IE9 - "-webkit-box-shadow": "0px 0px 15px #83A", // Safari and Chrome - "-moz-box-shadow": "0px 0px 15px #83A", // Forefox - "-khtml-box-shadow": "0px 0px 15px #83A", // Konqueror - - border: "1px solid #A6D ! important", - display: "inline-block", position:"absolute" - }, - - ".MathJax_Menu_Button .MathJax_Hover_Arrow": { - position:"absolute", - cursor:"pointer", - display:"inline-block", - border:"2px solid #AAA", - "border-radius":"4px", - "-webkit-border-radius": "4px", // Safari and Chrome - "-moz-border-radius": "4px", // Firefox - "-khtml-border-radius": "4px", // Konqueror - "font-family":"'Courier New',Courier", - "font-size":"9px", - color:"#F0F0F0" - }, - ".MathJax_Menu_Button .MathJax_Hover_Arrow span": { - display:"block", - "background-color":"#AAA", - border:"1px solid", - "border-radius":"3px", - "line-height":0, - padding:"4px" - }, - ".MathJax_Hover_Arrow:hover": { - color:"white!important", - border:"2px solid #CCC!important" - }, - ".MathJax_Hover_Arrow:hover span": { - "background-color":"#CCC!important" - } - } - }; - - - // - // Common event-handling code - // - var EVENT = ME.Event = { - - LEFTBUTTON: 0, // the event.button value for left button - RIGHTBUTTON: 2, // the event.button value for right button - MENUKEY: "altKey", // the event value for alternate context menu - - /*************************************************************/ - /* - * Enum element for key codes. - */ - KEY: { - RETURN: 13, - ESCAPE: 27, - SPACE: 32, - LEFT: 37, - UP: 38, - RIGHT: 39, - DOWN: 40 - }, - - Mousedown: function (event) {return EVENT.Handler(event,"Mousedown",this)}, - Mouseup: function (event) {return EVENT.Handler(event,"Mouseup",this)}, - Mousemove: function (event) {return EVENT.Handler(event,"Mousemove",this)}, - Mouseover: function (event) {return EVENT.Handler(event,"Mouseover",this)}, - Mouseout: function (event) {return EVENT.Handler(event,"Mouseout",this)}, - Click: function (event) {return EVENT.Handler(event,"Click",this)}, - DblClick: function (event) {return EVENT.Handler(event,"DblClick",this)}, - Menu: function (event) {return EVENT.Handler(event,"ContextMenu",this)}, - - // - // Call the output jax's event handler or the zoom handler - // - Handler: function (event,type,math) { - if (AJAX.loadingMathMenu) {return EVENT.False(event)} - var jax = OUTPUT[math.jaxID]; - if (!event) {event = window.event} - event.isContextMenu = (type === "ContextMenu"); - if (jax[type]) {return jax[type](event,math)} - if (EXTENSION.MathZoom) {return EXTENSION.MathZoom.HandleEvent(event,type,math)} - }, - - // - // Try to cancel the event in every way we can - // - False: function (event) { - if (!event) {event = window.event} - if (event) { - if (event.preventDefault) {event.preventDefault()} else {event.returnValue = false} - if (event.stopPropagation) {event.stopPropagation()} - event.cancelBubble = true; - } - return false; - }, - - // - // Keydown event handler. Should only fire on Space key. - // - Keydown: function (event, math) { - if (!event) event = window.event; - if (event.keyCode === EVENT.KEY.SPACE) { - EVENT.ContextMenu(event, this); - }; - }, - - // - // Load the contextual menu code, if needed, and post the menu - // - ContextMenu: function (event,math,force) { - // - // Check if we are showing menus - // - var JAX = OUTPUT[math.jaxID], jax = JAX.getJaxFromMath(math); - var show = (JAX.config.showMathMenu != null ? JAX : HUB).config.showMathMenu; - if (!show || (SETTINGS.context !== "MathJax" && !force)) return; - - // - // Remove selections, remove hover fades - // - if (ME.msieEventBug) {event = window.event || event} - EVENT.ClearSelection(); HOVER.ClearHoverTimer(); - if (jax.hover) { - if (jax.hover.remove) {clearTimeout(jax.hover.remove); delete jax.hover.remove} - jax.hover.nofade = true; - } - - // - // If the menu code is loaded, - // Check if localization needs loading; - // If not, post the menu, and return. - // Otherwise wait for the localization to load - // Otherwse load the menu code. - // Try again after the file is loaded. - // - var MENU = MathJax.Menu; var load, fn; - if (MENU) { - if (MENU.loadingDomain) {return EVENT.False(event)} - load = LOCALE.loadDomain("MathMenu"); - if (!load) { - MENU.jax = jax; - var source = MENU.menu.Find("Show Math As").submenu; - source.items[0].name = jax.sourceMenuTitle; - source.items[0].format = (jax.sourceMenuFormat||"MathML"); - source.items[1].name = INPUT[jax.inputJax].sourceMenuTitle; - source.items[5].disabled = !INPUT[jax.inputJax].annotationEncoding; - - // - // Try and find each known annotation format and enable the menu - // items accordingly. - // - var annotations = source.items[2]; annotations.disabled = true; - var annotationItems = annotations.submenu.items; - annotationList = MathJax.Hub.Config.semanticsAnnotations; - for (var i = 0, m = annotationItems.length; i < m; i++) { - var name = annotationItems[i].name[1] - if (jax.root && jax.root.getAnnotation(name) !== null) { - annotations.disabled = false; - annotationItems[i].hidden = false; - } else { - annotationItems[i].hidden = true; - } - } - - var MathPlayer = MENU.menu.Find("Math Settings","MathPlayer"); - MathPlayer.hidden = !(jax.outputJax === "NativeMML" && HUB.Browser.hasMathPlayer); - return MENU.menu.Post(event); - } - MENU.loadingDomain = true; - fn = function () {delete MENU.loadingDomain}; - } else { - if (AJAX.loadingMathMenu) {return EVENT.False(event)} - AJAX.loadingMathMenu = true; - load = AJAX.Require("[MathJax]/extensions/MathMenu.js"); - fn = function () { - delete AJAX.loadingMathMenu; - if (!MathJax.Menu) {MathJax.Menu = {}} - } - } - var ev = { - pageX:event.pageX, pageY:event.pageY, - clientX:event.clientX, clientY:event.clientY - }; - CALLBACK.Queue( - load, fn, // load the file and delete the marker when done - ["ContextMenu",EVENT,ev,math,force] // call this function again - ); - return EVENT.False(event); - }, - - // - // Mousedown handler for alternate means of accessing menu - // - AltContextMenu: function (event,math) { - var JAX = OUTPUT[math.jaxID]; - var show = (JAX.config.showMathMenu != null ? JAX : HUB).config.showMathMenu; - if (show) { - show = (JAX.config.showMathMenuMSIE != null ? JAX : HUB).config.showMathMenuMSIE; - if (SETTINGS.context === "MathJax" && !SETTINGS.mpContext && show) { - if (!ME.noContextMenuBug || event.button !== EVENT.RIGHTBUTTON) return; - } else { - if (!event[EVENT.MENUKEY] || event.button !== EVENT.LEFTBUTTON) return; - } - return JAX.ContextMenu(event,math,true); - } - }, - - ClearSelection: function () { - if (ME.safariContextMenuBug) {setTimeout("window.getSelection().empty()",0)} - if (document.selection) {setTimeout("document.selection.empty()",0)} - }, - - getBBox: function (span) { - span.appendChild(ME.topImg); - var h = ME.topImg.offsetTop, d = span.offsetHeight-h, w = span.offsetWidth; - span.removeChild(ME.topImg); - return {w:w, h:h, d:d}; - } - - }; - - // - // Handle hover "discoverability" - // - var HOVER = ME.Hover = { - - // - // Check if we are moving from a non-MathJax element to a MathJax one - // and either start fading in again (if it is fading out) or start the - // timer for the hover - // - Mouseover: function (event,math) { - if (SETTINGS.discoverable || SETTINGS.zoom === "Hover") { - var from = event.fromElement || event.relatedTarget, - to = event.toElement || event.target; - if (from && to && (HUB.isMathJaxNode(from) !== HUB.isMathJaxNode(to) || - HUB.getJaxFor(from) !== HUB.getJaxFor(to))) { - var jax = this.getJaxFromMath(math); - if (jax.hover) {HOVER.ReHover(jax)} else {HOVER.HoverTimer(jax,math)} - return EVENT.False(event); - } - } - }, - // - // Check if we are moving from a MathJax element to a non-MathJax one - // and either start fading out, or clear the timer if we haven't - // hovered yet - // - Mouseout: function (event,math) { - if (SETTINGS.discoverable || SETTINGS.zoom === "Hover") { - var from = event.fromElement || event.relatedTarget, - to = event.toElement || event.target; - if (from && to && (HUB.isMathJaxNode(from) !== HUB.isMathJaxNode(to) || - HUB.getJaxFor(from) !== HUB.getJaxFor(to))) { - var jax = this.getJaxFromMath(math); - if (jax.hover) {HOVER.UnHover(jax)} else {HOVER.ClearHoverTimer()} - return EVENT.False(event); - } - } - }, - // - // Restart hover timer if the mouse moves - // - Mousemove: function (event,math) { - if (SETTINGS.discoverable || SETTINGS.zoom === "Hover") { - var jax = this.getJaxFromMath(math); if (jax.hover) return; - if (HOVER.lastX == event.clientX && HOVER.lastY == event.clientY) return; - HOVER.lastX = event.clientX; HOVER.lastY = event.clientY; - HOVER.HoverTimer(jax,math); - return EVENT.False(event); - } - }, - - // - // Clear the old timer and start a new one - // - HoverTimer: function (jax,math) { - this.ClearHoverTimer(); - this.hoverTimer = setTimeout(CALLBACK(["Hover",this,jax,math]),CONFIG.hover); - }, - ClearHoverTimer: function () { - if (this.hoverTimer) {clearTimeout(this.hoverTimer); delete this.hoverTimer} - }, - - // - // Handle putting up the hover frame - // - Hover: function (jax,math) { - // - // Check if Zoom handles the hover event - // - if (EXTENSION.MathZoom && EXTENSION.MathZoom.Hover({},math)) return; - // - // Get the hover data - // - var JAX = OUTPUT[jax.outputJax], - span = JAX.getHoverSpan(jax,math), - bbox = JAX.getHoverBBox(jax,span,math), - show = (JAX.config.showMathMenu != null ? JAX : HUB).config.showMathMenu; - var dx = CONFIG.frame.x, dy = CONFIG.frame.y, dd = CONFIG.frame.bwidth; // frame size - if (ME.msieBorderWidthBug) {dd = 0} - jax.hover = {opacity:0, id:jax.inputID+"-Hover"}; - // - // The frame and menu button - // - var frame = HTML.Element("span",{ - id:jax.hover.id, isMathJax: true, - style:{display:"inline-block", width:0, height:0, position:"relative"} - },[["span",{ - className:"MathJax_Hover_Frame", isMathJax: true, - style:{ - display:"inline-block", position:"absolute", - top:this.Px(-bbox.h-dy-dd-(bbox.y||0)), left:this.Px(-dx-dd+(bbox.x||0)), - width:this.Px(bbox.w+2*dx), height:this.Px(bbox.h+bbox.d+2*dy), - opacity:0, filter:"alpha(opacity=0)" - }} - ]] - ); - var button = HTML.Element("span",{ - isMathJax: true, id:jax.hover.id+"Menu", className:"MathJax_Menu_Button", - style:{display:"inline-block", "z-index": 1, width:0, height:0, position:"relative"} - },[["span",{ - className: "MathJax_Hover_Arrow", isMathJax: true, math: math, - onclick: this.HoverMenu, jax:JAX.id, - style: { - left:this.Px(bbox.w+dx+dd+(bbox.x||0)+CONFIG.button.x), - top:this.Px(-bbox.h-dy-dd-(bbox.y||0)-CONFIG.button.y), - opacity:0, filter:"alpha(opacity=0)" - } - },[["span",{isMathJax:true},"\u25BC"]]]] - ); - if (bbox.width) { - frame.style.width = button.style.width = bbox.width; - frame.style.marginRight = button.style.marginRight = "-"+bbox.width; - frame.firstChild.style.width = bbox.width; - button.firstChild.style.left = ""; - button.firstChild.style.right = this.Px(CONFIG.button.wx); - } - // - // Add the frame and button - // - span.parentNode.insertBefore(frame,span); - if (show) {span.parentNode.insertBefore(button,span)} - if (span.style) {span.style.position = "relative"} // so math is on top of hover frame - // - // Start the hover fade-in - // - this.ReHover(jax); - }, - // - // Restart the hover fade in and fade-out timers - // - ReHover: function (jax) { - if (jax.hover.remove) {clearTimeout(jax.hover.remove)} - jax.hover.remove = setTimeout(CALLBACK(["UnHover",this,jax]),CONFIG.fadeoutDelay); - this.HoverFadeTimer(jax,CONFIG.fadeinInc); - }, - // - // Start the fade-out - // - UnHover: function (jax) { - if (!jax.hover.nofade) {this.HoverFadeTimer(jax,-CONFIG.fadeoutInc,CONFIG.fadeoutStart)} - }, - // - // Handle the fade-in and fade-out - // - HoverFade: function (jax) { - delete jax.hover.timer; - jax.hover.opacity = Math.max(0,Math.min(1,jax.hover.opacity + jax.hover.inc)); - jax.hover.opacity = Math.floor(1000*jax.hover.opacity)/1000; - var frame = document.getElementById(jax.hover.id), - button = document.getElementById(jax.hover.id+"Menu"); - frame.firstChild.style.opacity = jax.hover.opacity; - frame.firstChild.style.filter = "alpha(opacity="+Math.floor(100*jax.hover.opacity)+")"; - if (button) { - button.firstChild.style.opacity = jax.hover.opacity; - button.firstChild.style.filter = frame.style.filter; - } - if (jax.hover.opacity === 1) {return} - if (jax.hover.opacity > 0) {this.HoverFadeTimer(jax,jax.hover.inc); return} - frame.parentNode.removeChild(frame); - if (button) {button.parentNode.removeChild(button)} - if (jax.hover.remove) {clearTimeout(jax.hover.remove)} - delete jax.hover; - }, - // - // Set the fade to in or out (via inc) and start the timer, if needed - // - HoverFadeTimer: function (jax,inc,delay) { - jax.hover.inc = inc; - if (!jax.hover.timer) { - jax.hover.timer = setTimeout(CALLBACK(["HoverFade",this,jax]),(delay||CONFIG.fadeDelay)); - } - }, - - // - // Handle a click on the menu button - // - HoverMenu: function (event) { - if (!event) {event = window.event} - return OUTPUT[this.jax].ContextMenu(event,this.math,true); - }, - - // - // Clear all hover timers - // - ClearHover: function (jax) { - if (jax.hover.remove) {clearTimeout(jax.hover.remove)} - if (jax.hover.timer) {clearTimeout(jax.hover.timer)} - HOVER.ClearHoverTimer(); - delete jax.hover; - }, - - // - // Make a measurement in pixels - // - Px: function (m) { - if (Math.abs(m) < .006) {return "0px"} - return m.toFixed(2).replace(/\.?0+$/,"") + "px"; - }, - - // - // Preload images so they show up with the menu - // - getImages: function () { - if (SETTINGS.discoverable) { - var menu = new Image(); - menu.src = CONFIG.button.src; - } - } - - }; - - // - // Handle touch events. - // - // Use double-tap-and-hold as a replacement for context menu event. - // Use double-tap as a replacement for double click. - // - var TOUCH = ME.Touch = { - - last: 0, // time of last tap event - delay: 500, // delay time for double-click - - // - // Check if this is a double-tap, and if so, start the timer - // for the double-tap and hold (to trigger the contextual menu) - // - start: function (event) { - var now = new Date().getTime(); - var dblTap = (now - TOUCH.last < TOUCH.delay && TOUCH.up); - TOUCH.last = now; TOUCH.up = false; - if (dblTap) { - TOUCH.timeout = setTimeout(TOUCH.menu,TOUCH.delay,event,this); - event.preventDefault(); - } - }, - - // - // Check if there is a timeout pending, i.e., we have a - // double-tap and were waiting to see if it is held long - // enough for the menu. Since we got the end before the - // timeout, it is a double-click, not a double-tap-and-hold. - // Prevent the default action and issue a double click. - // - end: function (event) { - var now = new Date().getTime(); - TOUCH.up = (now - TOUCH.last < TOUCH.delay); - if (TOUCH.timeout) { - clearTimeout(TOUCH.timeout); - delete TOUCH.timeout; TOUCH.last = 0; TOUCH.up = false; - event.preventDefault(); - return EVENT.Handler((event.touches[0]||event.touch),"DblClick",this); - } - }, - - // - // If the timeout passes without an end event, we issue - // the contextual menu event. - // - menu: function (event,math) { - delete TOUCH.timeout; TOUCH.last = 0; TOUCH.up = false; - return EVENT.Handler((event.touches[0]||event.touch),"ContextMenu",math); - } - - }; - - /* - * // - * // Mobile screens are small, so use larger version of arrow - * // - * if (HUB.Browser.isMobile) { - * var arrow = CONFIG.styles[".MathJax_Hover_Arrow"]; - * arrow.width = "25px"; arrow.height = "18px"; - * CONFIG.button.x = -6; - * } - */ - - // - // Set up browser-specific values - // - HUB.Browser.Select({ - MSIE: function (browser) { - var mode = (document.documentMode || 0); - var isIE8 = browser.versionAtLeast("8.0"); - ME.msieBorderWidthBug = (document.compatMode === "BackCompat"); // borders are inside offsetWidth/Height - ME.msieEventBug = browser.isIE9; // must get event from window even though event is passed - ME.msieAlignBug = (!isIE8 || mode < 8); // inline-block spans don't rest on baseline - if (mode < 9) {EVENT.LEFTBUTTON = 1} // IE < 9 has wrong event.button values - }, - Safari: function (browser) { - ME.safariContextMenuBug = true; // selection can be started by contextmenu event - }, - Opera: function (browser) { - ME.operaPositionBug = true; // position is wrong unless border is used - }, - Konqueror: function (browser) { - ME.noContextMenuBug = true; // doesn't produce contextmenu event - } - }); - - // - // Used in measuring zoom and hover positions - // - ME.topImg = (ME.msieAlignBug ? - HTML.Element("img",{style:{width:0,height:0,position:"relative"},src:"about:blank"}) : - HTML.Element("span",{style:{width:0,height:0,display:"inline-block"}}) - ); - if (ME.operaPositionBug) {ME.topImg.style.border="1px solid"} - - // - // Get configuration from user - // - ME.config = CONFIG = HUB.CombineConfig("MathEvents",CONFIG); - var SETFRAME = function () { - var haze = CONFIG.styles[".MathJax_Hover_Frame"]; - haze.border = CONFIG.frame.bwidth+"px solid "+CONFIG.frame.bcolor+" ! important"; - haze["box-shadow"] = haze["-webkit-box-shadow"] = - haze["-moz-box-shadow"] = haze["-khtml-box-shadow"] = - "0px 0px "+CONFIG.frame.hwidth+" "+CONFIG.frame.hcolor; - }; - - // - // Queue the events needed for startup - // - CALLBACK.Queue( - HUB.Register.StartupHook("End Config",{}), // wait until config is complete - [SETFRAME], - ["getImages",HOVER], - ["Styles",AJAX,CONFIG.styles], - ["Post",HUB.Startup.signal,"MathEvents Ready"], - ["loadComplete",AJAX,"[MathJax]/extensions/MathEvents.js"] - ); - -})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.Callback, - MathJax.Localization,MathJax.OutputJax,MathJax.InputJax); diff --git a/src/py/kaleido/vendor/mathjax/extensions/MathML/content-mathml.js b/src/py/kaleido/vendor/mathjax/extensions/MathML/content-mathml.js deleted file mode 100644 index a527abda..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/MathML/content-mathml.js +++ /dev/null @@ -1,1743 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/MathML/content-mathml.js - * - * This file provides methods to convert Content-MathML to - * Presentation MathML for processing by MathJax. The transform is - * performed in a DOM filter for the MathML input jax, so that the - * Show Math As menu will still show the Original MathML as Content MathML, - * but the Presentation MathML can be obtained from the main MathML menu. - * - * To load it, include - * - * MathML: { - * extensions: ["content-mathml.js"] - * } - * - * in your configuration. - * - * A portion of this file is taken from ctop.js which is - * Copyright (c) David Carlisle 2001, 2002, 2008, 2009, 2013, - * and is used by permission of David Carlisle, who has agreed to allow us - * to release it under the Apache2 license (see below). That portion is - * indicated via comments. - * - * The remainder falls under the copyright that follows. - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - - -MathJax.Extension["MathML/content-mathml"] = (function(HUB) { - /* - * Content MathML to Presentation MathML conversion - * - * based on David Carlisle's ctop.js - https://web-xslt.googlecode.com/svn/trunk/ctop/ctop.js - * - */ - - - var isMSIE = HUB.Browser.isMSIE; - - if (isMSIE) { - try {document.namespaces.add("m","http://www.w3.org/1998/Math/MathML")} catch (err) {} - } - - var CONFIG = HUB.CombineConfig("MathML.content-mathml",{ - // render `a+(-b)` as `a-b`? - collapsePlusMinus: true, - - /* mathvariant to use with corresponding type attribute */ - cistyles: { - vector: 'bold-italic', - matrix: 'bold-upright' - }, - - /* Symbol names to translate to characters - */ - symbols: { - gamma: '\u03B3' - } - - }); - - var CToP = { - version: "2.7.5", - settings: CONFIG, - - /* Transform the given elements from Content MathML to Presentation MathML and replace the original elements - */ - transformElements: function(elements) { - for (var i = 0, l = elements.length; i= 0) element = CToP.cloneNode(element,true); // removes namespaces - var mathNode = CToP.cloneNode(element); - for (var j = 0, l = element.childNodes.length; jn instead of -n - // - element.appendChild(document.createTextNode(textContent.substr(1))); - var mrow = CToP.createElement('mrow'); - CToP.appendToken(mrow,'mo','\u2212'); - mrow.appendChild(element); - element = mrow; - } else { - element.appendChild(document.createTextNode(textContent)); - } - parentNode.appendChild(element); - return element; - }, - - /* Transform a Content MathML node to Presentation MathML node(s), and attach it to the parent - */ - applyTransform: function(parentNode,contentMMLNode,precedence) { - if (!contentMMLNode) { - var merror = CToP.createElement('merror'); - CToP.appendToken(merror,'mtext','Missing child node'); - parentNode.appendChild(merror); - return; - } - var nodeName = contentMMLNode.nodeName.replace(/.*:/,''); - if (contentMMLNode.nodeType === 1) { - if (CToP.tokens[nodeName]) { - CToP.tokens[nodeName](parentNode,contentMMLNode,precedence); - } else if (contentMMLNode.childNodes.length === 0) { - var mml = CToP.MML[nodeName]; - if (mml && mml.isa && mml.isa(CToP.mbase)) { - parentNode.appendChild(CToP.cloneNode(contentMMLNode)); - } else { - CToP.appendToken(parentNode,'mi',nodeName); - } - } else { - var clonedChild = CToP.cloneNode(contentMMLNode); - parentNode.appendChild(clonedChild); - for (var j = 0, l = contentMMLNode.childNodes.length; j1) { - CToP.applyTransform(mrow,args[0],tokenPrecedence); - } - CToP.appendToken(mrow,'mo',name); - if (args.length>0) { - var z = args[(args.length === 1)?0:1]; - CToP.applyTransform(mrow,z,tokenPrecedence); - } - if (needsBrackets) { - CToP.appendToken(mrow,'mo',')'); - } - parentNode.appendChild(mrow); - } - }, - - /* Transform an infix operator - * - * (function factory) - */ - infix: function(name,tokenPrecedence) { - return function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var mrow = CToP.createElement('mrow'); - var needsBrackets = precedence>tokenPrecedence; - if (needsBrackets) { - CToP.appendToken(mrow,'mo','('); - } - for (var j = 0, l = args.length; j0) { - CToP.appendToken(mrow,'mo',name); - } - CToP.applyTransform(mrow,args[j],tokenPrecedence); - } - if (needsBrackets) { - CToP.appendToken(mrow,'mo',')'); - } - parentNode.appendChild(mrow); - } - }, - - /* Transform an iterated operation, e.g. summation - * - * (function factory - */ - iteration: function(name,limitSymbol) { - return function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var mrow = CToP.createElement('mrow'); - var mo = CToP.createElement('mo'); - CToP.setTextContent(mo,name); - var munderover = CToP.createElement('munderover'); - munderover.appendChild(mo); - var mrow1 = CToP.createElement('mrow'); - var i, j, num_qualifiers, num_bvars, children, bvar, num_children, num_args; - for (i = 0, num_qualifiers = qualifiers.length; i',1), - lt: CToP.transforms.infix('<',1), - geq: CToP.transforms.infix('\u2265',1), - leq: CToP.transforms.infix('\u2264',1), - equivalent: CToP.transforms.infix('\u2261',1), - approx: CToP.transforms.infix('\u2248',1), - subset: CToP.transforms.infix('\u2286',2), - prsubset: CToP.transforms.infix('\u2282',2), - cartesianproduct: CToP.transforms.infix('\u00D7',2), - "cartesian_product": CToP.transforms.infix('\u00D7',2), - vectorproduct: CToP.transforms.infix('\u00D7',2), - scalarproduct: CToP.transforms.infix('.',2), - outerproduct: CToP.transforms.infix('\u2297',2), - sum: CToP.transforms.iteration('\u2211','='), - product: CToP.transforms.iteration('\u220F','='), - forall: CToP.transforms.bind('\u2200','.',','), - exists: CToP.transforms.bind('\u2203','.',','), - lambda: CToP.transforms.bind('\u03BB','.',','), - limit: CToP.transforms.iteration('lim','\u2192'), - sdev: CToP.transforms.fn('\u03c3'), - determinant: CToP.transforms.fn('det'), - max: CToP.transforms.minmax('max'), - min: CToP.transforms.minmax('min'), - real: CToP.transforms.fn('\u211b'), - imaginary: CToP.transforms.fn('\u2111'), - set: CToP.transforms.set('{','}'), - list: CToP.transforms.set('(',')'), - - exp: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var msup = CToP.createElement('msup'); - CToP.appendToken(msup,'mi','e'); - CToP.applyTransform(msup,args[0],0); - parentNode.appendChild(msup); - }, - - union: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - if (bvars.length) { - CToP.transforms.iteration('\u22C3','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); - } else { - CToP.transforms.infix('\u222A',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); - } - }, - - intersect: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - if (bvars.length) { - CToP.transforms.iteration('\u22C2','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); - } else { - var mrow = CToP.createElement('mrow'); - var needsBrackets = precedence>2; - if (needsBrackets) { - CToP.appendToken(mrow,'mo','('); - } - for (var j = 0, l = args.length; j0) { - CToP.appendToken(mrow,'mo','\u2229'); - if (args[j].nodeName === 'apply') { - var child = CToP.getChildren(args[j])[0]; - argBrackets = child.nodeName === 'union'; - } - } - if (argBrackets) { - CToP.appendToken(mrow,'mo','('); - } - CToP.applyTransform(mrow,args[j],2); - if (argBrackets) { - CToP.appendToken(mrow,'mo',')'); - } - } - if (needsBrackets) { - CToP.appendToken(mrow,'mo',')'); - } - parentNode.appendChild(mrow); - } - }, - - floor: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var mrow = CToP.createElement('mrow'); - CToP.appendToken(mrow,'mo','\u230a'); - CToP.applyTransform(mrow,args[0],0); - CToP.appendToken(mrow,'mo','\u230b'); - parentNode.appendChild(mrow); - }, - - conjugate: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var mover = CToP.createElement('mover'); - CToP.applyTransform(mover,args[0],0); - CToP.appendToken(mover,'mo','\u00af'); - parentNode.appendChild(mover); - }, - - abs: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var mrow = CToP.createElement('mrow'); - CToP.appendToken(mrow,'mo','|'); - CToP.applyTransform(mrow,args[0],0); - CToP.appendToken(mrow,'mo','|'); - parentNode.appendChild(mrow); - }, - - and: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - if (bvars.length || qualifiers.length) { - CToP.transforms.iteration('\u22c0','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,4); - } else { - CToP.transforms.infix('\u2227',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); - } - }, - - or: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - if (bvars.length || qualifiers.length) { - CToP.transforms.iteration('\u22c1','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,4); - } else { - CToP.transforms.infix('\u2228',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); - } - }, - - xor: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - if (bvars.length || qualifiers.length) { - CToP.transforms.iteration('xor','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,4); - } else { - CToP.transforms.infix('xor',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); - } - }, - - card: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var mrow = CToP.createElement('mrow'); - CToP.appendToken(mrow,'mo','|'); - CToP.applyTransform(mrow,args[0],0); - CToP.appendToken(mrow,'mo','|'); - parentNode.appendChild(mrow); - }, - - mean: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - if (args.length === 1) { - var mover = CToP.createElement('mover'); - CToP.applyTransform(mover,args[0],0); - CToP.appendToken(mover,'mo','\u00af'); - parentNode.appendChild(mover); - } else { - parentNode.appendChild(CToP.createmfenced(args,'\u27e8','\u27e9')); - } - }, - - moment: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var degree, momentabout, children, i, j, l; - - for (i = 0, l = qualifiers.length; i1) { - argrow.appendChild(CToP.createmfenced(args,'(',')')); - } else { - CToP.applyTransform(argrow,args[0],0); - } - if (degree) { - var msup = CToP.createElement('msup'); - msup.appendChild(argrow); - children = CToP.getChildren(degree); - for (j = 0, l = children.length; j3; - if (needsBrackets) { - CToP.appendToken(mrow,'mo','('); - } - for (var j = 0, l = args.length; j0) { - CToP.appendToken(mrow,'mo',(args[j].nodeName === 'cn') ? "\u00D7" :"\u2062"); - } - CToP.applyTransform(mrow,args[j],3); - } - if (needsBrackets) { - CToP.appendToken(mrow,'mo',')'); - } - parentNode.appendChild(mrow); - }, - - plus: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var mrow = CToP.createElement('mrow'); - var needsBrackets = precedence>2; - if (needsBrackets) { - CToP.appendToken(mrow,'mo','('); - } - for (var j = 0, l = args.length; j0) { - var n; - if (CToP.settings.collapsePlusMinus) { - if (arg.nodeName === 'cn' && !(children.length) && (n = Number(CToP.getTextContent(arg))) <0) { - CToP.appendToken(mrow,'mo','\u2212'); - CToP.appendToken(mrow,'mn', -n); - } else if (arg.nodeName === 'apply' && children.length === 2 && children[0].nodeName === 'minus') { - CToP.appendToken(mrow,'mo','\u2212'); - CToP.applyTransform(mrow,children[1],2); - } else if (arg.nodeName === 'apply' && children.length>2 && children[0].nodeName === 'times' && children[1].nodeName === 'cn' && (n = Number(CToP.getTextContent(children[1]))) < 0) { - CToP.appendToken(mrow,'mo','\u2212'); - children[1].textContent = -n; // OK to change MathML since it is being discarded afterward - CToP.applyTransform(mrow,arg,2); - } else{ - CToP.appendToken(mrow,'mo','+'); - CToP.applyTransform(mrow,arg,2); - } - } else { - CToP.appendToken(mrow,'mo','+'); - CToP.applyTransform(mrow,arg,2); - } - } else { - CToP.applyTransform(mrow,arg,2); - } - } - if (needsBrackets) { - CToP.appendToken(mrow,'mo',')'); - } - parentNode.appendChild(mrow); - }, - - transpose: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var msup = CToP.createElement('msup'); - CToP.applyTransform(msup,args[0],precedence); - CToP.appendToken(msup,'mi','T'); - parentNode.appendChild(msup); - }, - - power: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var msup = CToP.createElement('msup'); - CToP.applyTransform(msup,args[0],3); - CToP.applyTransform(msup,args[1],precedence); - parentNode.appendChild(msup); - }, - - selector: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var msub = CToP.createElement('msub'); - var mrow = args ? args[0]: CToP.createElement('mrow'); - CToP.applyTransform(msub,mrow,0); - var mrow2 = CToP.createElement('mrow'); - for (var i = 1, l = args.length; i1) { - CToP.applyTransform(mrow,args[1],0); - } - } - CToP.appendToken(mrow,'mo','\u230B'); - parentNode.appendChild(mrow); - }, - - factorial: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var mrow = CToP.createElement('mrow'); - CToP.applyTransform(mrow,args[0],4); - CToP.appendToken(mrow,'mo','!'); - parentNode.appendChild(mrow); - }, - - root: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { - var mr; - if (firstArg.nodeName === 'root' && (qualifiers.length === 0 || (qualifiers[0].nodeName === 'degree' && CToP.getTextContent(qualifiers[0]) === '2'))) { - mr = CToP.createElement('msqrt'); - for (var i = 0, l = args.length; i1) { - var msup = CToP.createElement('msup'); - CToP.applyTransform(msup,bvar,0); - CToP.appendToken(msup,'mn',degree); - bottomrow.appendChild(msup); - } else { - CToP.applyTransform(bottomrow,bvar,0); - } - } - for (i = 0, l = lambdaSequence.length; i0) { - if (hadFirst) { - CToP.appendToken(degreeRow,'mo','+'); - } - CToP.appendToken(degreeRow,'mn',degree); - } - } - - if (args.length) { - differendNode = args[0]; - } - - for (i = 0, l = bvars.length; i but use MATHML.Parse's preProcessMath to apply the normal preprocessing. - if (!MATHML.ParseXML) {MATHML.ParseXML = MATHML.createParser()} - var doc = MATHML.ParseXML(PARSE.preProcessMath(data.math)); - - // Now transform the using the mml3 stylesheet. - var newdoc = MATHML.mml3XSLT.transformToDocument(doc); - - if ((typeof newdoc) === "string") { - // Internet Explorer returns a string, so just use it. - data.math = newdoc; - } else if (window.XMLSerializer) { - // Serialize the again. We could directly provide the DOM content - // but other prefilterHooks may assume data.math is still a string. - var serializer = new XMLSerializer(); - data.math = serializer.serializeToString(newdoc.documentElement, doc); - } - }); - - /* - * The following is derived from mml3mj.xsl - * (https://github.com/davidcarlisle/web-xslt/blob/master/ctop/mml3mj.xsl) - * which is Copyright (c) David Carlisle 2008-2015. - * It is used by permission of David Carlisle, who has agreed to allow it to - * be released under the Apache License, Version 2.0. - */ - var BROWSER = MathJax.Hub.Browser; - var exslt = ''; - if (BROWSER.isEdge || BROWSER.isMSIE) { - exslt = 'urn:schemas-microsoft-com:xslt' - } else { - exslt = 'http://exslt.org/common'; - } - var mml3Stylesheet = - '' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - ' ' + - '' + - ' ' + - ' ltr' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - ' ' + - '' + - ' )' + - '' + - ' (' + - '' + - '' + - ' ]' + - '' + - '' + - ' [' + - '' + - '' + - ' }' + - '' + - '' + - ' {' + - '' + - '' + - ' ' + - '' + - ' )' + - '' + - ' (' + - '' + - '' + - ' ]' + - '' + - '' + - ' [' + - '' + - '' + - ' }' + - '' + - '' + - ' {' + - '' + - ' ' + - ' ' + - ' \' + - ' ' + - ' ' + - '' + - ' ' + - ' ' + - ' ' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - ')' + - '(' + - '}' + - '{' + - '>' + - '<' + - '' + - '' + - '' + - ' top right' + - '' + - '' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' 0' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' decimalpoint' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' decimalpoint' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' .' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' decimalpoint' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' *' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' 0.1em' + - ' 0.15em' + - ' 0.2em' + - ' ' + - ' 0.15em' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' 0' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' )' + - ' ' + - ' (' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' /' + - ' ' + - ' \' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' :' + - ' ' + - ' =' + - ' ' + - ' ' + - ' ' + - ' ' + - ' top' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' )' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - ' ' + - ''; - - /* - * End of mml3mj.xsl material. - */ - - var mml3; - if (window.XSLTProcessor) { - // standard method: just use an XSLTProcessor and parse the stylesheet - if (!MATHML.ParseXML) {MATHML.ParseXML = MATHML.createParser()} - MATHML.mml3XSLT = new XSLTProcessor(); - MATHML.mml3XSLT.importStylesheet(MATHML.ParseXML(mml3Stylesheet)); - } else if (MathJax.Hub.Browser.isMSIE) { - // nonstandard methods for Internet Explorer - if (MathJax.Hub.Browser.versionAtLeast("9.0") || (document.documentMode||0) >= 9) { - // For Internet Explorer >= 9, use createProcessor - mml3 = new ActiveXObject("Msxml2.FreeThreadedDOMDocument"); - mml3.loadXML(mml3Stylesheet); - var xslt = new ActiveXObject("Msxml2.XSLTemplate"); - xslt.stylesheet = mml3; - MATHML.mml3XSLT = { - mml3: xslt.createProcessor(), - transformToDocument: function(doc) { - this.mml3.input = doc; - this.mml3.transform(); - return this.mml3.output; - } - } - } else { - // For Internet Explorer <= 8, use transformNode - mml3 = MATHML.createMSParser(); - mml3.async = false; - mml3.loadXML(mml3Stylesheet); - MATHML.mml3XSLT = { - mml3: mml3, - transformToDocument: function(doc) { - return doc.documentElement.transformNode(this.mml3); - } - } - } - } else { - // No XSLT support. Do not change the content. - MATHML.mml3XSLT = null; - } - - // Tweak CSS to avoid some browsers rearranging HTML output - MathJax.Ajax.Styles({ - ".MathJax .mi, .MathJax .mo, .MathJax .mn, .MathJax .mtext": { - direction: "ltr", - display: "inline-block" - }, - ".MathJax .ms, .MathJax .mspace, .MathJax .mglyph": { - direction: "ltr", - display: "inline-block" - } - }); - - MathJax.Hub.Startup.signal.Post("MathML mml3.js Ready"); -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/MathML/mml3.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/MathMenu.js b/src/py/kaleido/vendor/mathjax/extensions/MathMenu.js deleted file mode 100644 index d05d8f36..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/MathMenu.js +++ /dev/null @@ -1,1664 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/MathMenu.js - * - * Implements a right-mouse (or CTRL-click) menu over mathematics - * elements that gives the user the ability to copy the source, - * change the math size, and zoom settings. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - */ - -(function (HUB,HTML,AJAX,CALLBACK,OUTPUT) { - var VERSION = "2.7.5"; - - var SIGNAL = MathJax.Callback.Signal("menu"); // signal for menu events - - MathJax.Extension.MathMenu = { - version: VERSION, - signal: SIGNAL - }; - - var _ = function (id) { - return MathJax.Localization._.apply( - MathJax.Localization, - [["MathMenu",id]].concat([].slice.call(arguments,1)) - ); - }; - - var isArray = MathJax.Object.isArray; - - var isPC = HUB.Browser.isPC, isMSIE = HUB.Browser.isMSIE, isIE9 = ((document.documentMode||0) > 8); - var ROUND = (isPC ? null : "5px"); - - var CONFIG = HUB.CombineConfig("MathMenu",{ - delay: 150, // the delay for submenus - - showRenderer: true, // show the "Math Renderer" menu? - showMathPlayer: true, // show the "MathPlayer" menu? - showFontMenu: false, // show the "Font Preference" menu? - showContext: false, // show the "Context Menu" menu? - showDiscoverable: false, // show the "Discoverable" menu? - showLocale: true, // show the "Locale" menu? - showLocaleURL: false, // show the "Load from URL" menu? - - semanticsAnnotations: { - "TeX": ["TeX", "LaTeX", "application/x-tex"], - "StarMath": ["StarMath 5.0"], - "Maple": ["Maple"], - "ContentMathML": ["MathML-Content", "application/mathml-content+xml"], - "OpenMath": ["OpenMath"] - }, - - windowSettings: { // for source window - status: "no", toolbar: "no", locationbar: "no", menubar: "no", - directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes", - width: 400, height: 300, - left: Math.round((screen.width - 400)/2), - top: Math.round((screen.height - 300)/3) - }, - - styles: { - "#MathJax_About": { - position:"fixed", left:"50%", width:"auto", "text-align":"center", - border:"3px outset", padding:"1em 2em", "background-color":"#DDDDDD", color:"black", - cursor: "default", "font-family":"message-box", "font-size":"120%", - "font-style":"normal", "text-indent":0, "text-transform":"none", - "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", - "word-wrap":"normal", "white-space":"nowrap", "float":"none", "z-index":201, - - "border-radius": "15px", // Opera 10.5 and IE9 - "-webkit-border-radius": "15px", // Safari and Chrome - "-moz-border-radius": "15px", // Firefox - "-khtml-border-radius": "15px", // Konqueror - - "box-shadow":"0px 10px 20px #808080", // Opera 10.5 and IE9 - "-webkit-box-shadow":"0px 10px 20px #808080", // Safari 3 and Chrome - "-moz-box-shadow":"0px 10px 20px #808080", // Forefox 3.5 - "-khtml-box-shadow":"0px 10px 20px #808080", // Konqueror - filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE - }, - "#MathJax_About.MathJax_MousePost": { - outline:"none" - }, - - ".MathJax_Menu": { - position:"absolute", "background-color":"white", color:"black", - width:"auto", padding:(isPC ? "2px" : "5px 0px"), - border:"1px solid #CCCCCC", margin:0, cursor:"default", - font: "menu", "text-align":"left", "text-indent":0, "text-transform":"none", - "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", - "word-wrap":"normal", "white-space":"nowrap", "float":"none", "z-index":201, - - "border-radius": ROUND, // Opera 10.5 and IE9 - "-webkit-border-radius": ROUND, // Safari and Chrome - "-moz-border-radius": ROUND, // Firefox - "-khtml-border-radius": ROUND, // Konqueror - - "box-shadow":"0px 10px 20px #808080", // Opera 10.5 and IE9 - "-webkit-box-shadow":"0px 10px 20px #808080", // Safari 3 and Chrome - "-moz-box-shadow":"0px 10px 20px #808080", // Forefox 3.5 - "-khtml-box-shadow":"0px 10px 20px #808080", // Konqueror - filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE - }, - - ".MathJax_MenuItem": { - padding: (isPC ? "2px 2em" : "1px 2em"), - background:"transparent" - }, - - ".MathJax_MenuArrow": { - position:"absolute", right:".5em", "padding-top":".25em", color:"#666666", - "font-family": (isMSIE ? "'Arial unicode MS'" : null), "font-size": ".75em" - }, - ".MathJax_MenuActive .MathJax_MenuArrow": {color:"white"}, - ".MathJax_MenuArrow.RTL": {left:".5em", right:"auto"}, - - ".MathJax_MenuCheck": { - position:"absolute", left:".7em", - "font-family": (isMSIE ? "'Arial unicode MS'" : null) - }, - ".MathJax_MenuCheck.RTL": {right:".7em", left:"auto"}, - - ".MathJax_MenuRadioCheck": { - position:"absolute", left: (isPC ? "1em" : ".7em") - }, - ".MathJax_MenuRadioCheck.RTL": { - right: (isPC ? "1em" : ".7em"), left:"auto" - }, - - ".MathJax_MenuLabel": { - padding: (isPC ? "2px 2em 4px 1.33em" : "1px 2em 3px 1.33em"), - "font-style":"italic" - }, - - ".MathJax_MenuRule": { - "border-top": (isPC ? "1px solid #CCCCCC" : "1px solid #DDDDDD"), - margin: (isPC ? "4px 1px 0px" : "4px 3px") - }, - - ".MathJax_MenuDisabled": { - color:"GrayText" - }, - ".MathJax_MenuActive": { - "background-color": (isPC ? "Highlight" : "#606872"), - color: (isPC ? "HighlightText" : "white") - }, - - ".MathJax_MenuDisabled:focus, .MathJax_MenuLabel:focus": { - "background-color": "#E8E8E8" - }, - ".MathJax_ContextMenu:focus": { - outline:"none" - }, - ".MathJax_ContextMenu .MathJax_MenuItem:focus": { - outline:"none" - }, - - "#MathJax_AboutClose": { - top:".2em", right:".2em" - }, - ".MathJax_Menu .MathJax_MenuClose": { - top:"-10px", left:"-10px" - }, - - ".MathJax_MenuClose": { - position:"absolute", - cursor:"pointer", - display:"inline-block", - border:"2px solid #AAA", - "border-radius":"18px", - "-webkit-border-radius": "18px", // Safari and Chrome - "-moz-border-radius": "18px", // Firefox - "-khtml-border-radius": "18px", // Konqueror - "font-family":"'Courier New',Courier", - "font-size":"24px", - color:"#F0F0F0" - }, - ".MathJax_MenuClose span": { - display:"block", "background-color":"#AAA", border:"1.5px solid", - "border-radius":"18px", - "-webkit-border-radius": "18px", // Safari and Chrome - "-moz-border-radius": "18px", // Firefox - "-khtml-border-radius": "18px", // Konqueror - "line-height":0, - padding:"8px 0 6px" // may need to be browser-specific - }, - ".MathJax_MenuClose:hover": { - color:"white!important", - border:"2px solid #CCC!important" - }, - ".MathJax_MenuClose:hover span": { - "background-color":"#CCC!important" - }, - ".MathJax_MenuClose:hover:focus": { - outline:"none" - } - } - }); - - var FALSE, HOVER, KEY; - HUB.Register.StartupHook("MathEvents Ready",function () { - FALSE = MathJax.Extension.MathEvents.Event.False; - HOVER = MathJax.Extension.MathEvents.Hover; - KEY = MathJax.Extension.MathEvents.Event.KEY; - }); - - - /*************************************************************/ - /* - * Abstract class of all keyboard navigatable objects. - */ - var NAV = MathJax.Object.Subclass({ - /* - * Moving in the list of items. - */ - Keydown: function(event, menu) { - switch (event.keyCode) { - case KEY.ESCAPE: - this.Remove(event, menu); - break; - case KEY.RIGHT: - this.Right(event, menu); - break; - case KEY.LEFT: - this.Left(event, menu); - break; - case KEY.UP: - this.Up(event, menu); - break; - case KEY.DOWN: - this.Down(event, menu); - break; - case KEY.RETURN: - case KEY.SPACE: - this.Space(event, menu); - break; - default: - return; - break; - } - return FALSE(event); - }, - Escape: function(event, menu) { }, - Right: function(event, menu) { }, - Left: function(event, menu) { }, - Up: function(event, menu) { }, - Down: function(event, menu) { }, - Space: function(event, menu) { } - }, {}); - - - /*************************************************************/ - /* - * The main menu class - */ - var MENU = MathJax.Menu = NAV.Subclass({ - version: VERSION, - items: [], - posted: false, - title: null, - margin: 5, - - Init: function (def) {this.items = [].slice.call(arguments,0)}, - With: function (def) {if (def) {HUB.Insert(this,def)}; return this}, - - /* - * Display the menu - */ - Post: function (event,parent,forceLTR) { - if (!event) {event = window.event||{}} - var div = document.getElementById("MathJax_MenuFrame"); - if (!div) { - div = MENU.Background(this); - delete ITEM.lastItem; delete ITEM.lastMenu; - delete MENU.skipUp; - SIGNAL.Post(["post",MENU.jax]); - MENU.isRTL = (MathJax.Localization.fontDirection() === "rtl"); - } - var menu = HTML.Element("div",{ - onmouseup: MENU.Mouseup, ondblclick: FALSE, - ondragstart: FALSE, onselectstart: FALSE, oncontextmenu: FALSE, - menuItem: this, className: "MathJax_Menu", onkeydown: MENU.Keydown, - role: "menu" - }); - if (event.type === "contextmenu" || event.type === "mouseover") - menu.className += " MathJax_ContextMenu"; - if (!forceLTR) {MathJax.Localization.setCSS(menu)} - - for (var i = 0, m = this.items.length; i < m; i++) {this.items[i].Create(menu)} - if (MENU.isMobile) { - HTML.addElement(menu,"span",{ - className: "MathJax_MenuClose", menu: parent, - ontouchstart: MENU.Close, ontouchend: FALSE, onmousedown: MENU.Close, onmouseup: FALSE - },[["span",{},"\u00D7"]]); - } - - div.appendChild(menu); - this.posted = true; - if (menu.offsetWidth) menu.style.width = (menu.offsetWidth+2) + "px"; - var x = event.pageX, y = event.pageY; - var bbox = document.body.getBoundingClientRect(); - var styles = (window.getComputedStyle ? window.getComputedStyle(document.body) : {marginLeft: "0px"}); - var bodyRight = bbox.right - Math.min(0,bbox.left) + parseFloat(styles.marginLeft); - if (!x && !y && "clientX" in event) { - x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; - y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; - } - if (!parent) { - var node = MENU.CurrentNode() || event.target; - if ((event.type === "keydown" || (!x && !y)) && node) { - var offsetX = window.pageXOffset || document.documentElement.scrollLeft; - var offsetY = window.pageYOffset || document.documentElement.scrollTop; - var rect = node.getBoundingClientRect(); - x = (rect.right + rect.left) / 2 + offsetX; - y = (rect.bottom + rect.top) / 2 + offsetY; - } - if (x + menu.offsetWidth > bodyRight - this.margin) - {x = bodyRight - menu.offsetWidth - this.margin} - if (MENU.isMobile) {x = Math.max(5,x-Math.floor(menu.offsetWidth/2)); y -= 20} - MENU.skipUp = event.isContextMenu; - } else { - var side = "left", mw = parent.offsetWidth; - x = (MENU.isMobile ? 30 : mw - 2); y = 0; - while (parent && parent !== div) { - x += parent.offsetLeft; y += parent.offsetTop; - parent = parent.parentNode; - } - if (!MENU.isMobile) { - if ((MENU.isRTL && x - mw - menu.offsetWidth > this.margin) || - (!MENU.isRTL && x + menu.offsetWidth > bodyRight - this.margin)) - {side = "right"; x = Math.max(this.margin,x - mw - menu.offsetWidth + 6)} - } - if (!isPC) { - // in case these ever get implemented - menu.style["borderRadiusTop"+side] = 0; // Opera 10.5 - menu.style["WebkitBorderRadiusTop"+side] = 0; // Safari and Chrome - menu.style["MozBorderRadiusTop"+side] = 0; // Firefox - menu.style["KhtmlBorderRadiusTop"+side] = 0; // Konqueror - } - } - - menu.style.left = x+"px"; menu.style.top = y+"px"; - if (document.selection && document.selection.empty) {document.selection.empty()} - - // Focusing while keeping the scroll position. - var oldX = window.pageXOffset || document.documentElement.scrollLeft; - var oldY = window.pageYOffset || document.documentElement.scrollTop; - MENU.Focus(menu); - if (event.type === "keydown") { - MENU.skipMouseoverFromKey = true; - setTimeout(function() {delete MENU.skipMouseoverFromKey;}, CONFIG.delay); - } - window.scrollTo(oldX, oldY); - return FALSE(event); - }, - - /* - * Remove the menu from the screen - */ - Remove: function (event,menu) { - SIGNAL.Post(["unpost",MENU.jax]); - var div = document.getElementById("MathJax_MenuFrame"); - if (div) { - div.parentNode.removeChild(div); - if (this.msieFixedPositionBug) {detachEvent("onresize",MENU.Resize)} - } - if (MENU.jax.hover) { - delete MENU.jax.hover.nofade; - HOVER.UnHover(MENU.jax); - } - MENU.Unfocus(menu); - if (event.type === "mousedown") MENU.CurrentNode().blur(); - return FALSE(event); - }, - - /* - * Find an item in a menu (or submenu) by name (Find) or ID (FindID). - * A list of names or IDs means descend into submenus. - */ - Find: function (name) {return this.FindN(1,name,[].slice.call(arguments,1))}, - FindId: function (name) {return this.FindN(0,name,[].slice.call(arguments,1))}, - FindN: function (n,name,names) { - for (var i = 0, m = this.items.length; i < m; i++) { - if (this.items[i].name[n] === name) { - if (names.length) { - if (!this.items[i].submenu) {return null} - return this.items[i].submenu.FindN(n,names[0],names.slice(1)); - } - return this.items[i]; - } - } - return null; - }, - - /* - * Find the index of a menu item (so we can insert before or after it) - */ - IndexOf: function (name) {return this.IndexOfN(1,name)}, - IndexOfId: function (name) {return this.IndexOfN(0,name)}, - IndexOfN: function (n,name) { - for (var i = 0, m = this.items.length; i < m; i++) - {if (this.items[i].name[n] === name) {return i}} - return null; - }, - - Right: function(event, menu) { - MENU.Right(event, menu); - }, - Left: function(event, menu) { - MENU.Left(event, menu); - }, - Up: function(event, menu) { - var node = menu.lastChild; - node.menuItem.Activate(event, node); - }, - Down: function(event, menu) { - var node = menu.firstChild; - node.menuItem.Activate(event, node); - }, - Space: function(event, menu) { - this.Remove(event, menu); - } - },{ - - config: CONFIG, - - Remove: function (event) {return MENU.Event(event,this,"Remove")}, - Mouseover: function (event) {return MENU.Event(event,this,"Mouseover")}, - Mouseout: function (event) {return MENU.Event(event,this,"Mouseout")}, - Mousedown: function (event) {return MENU.Event(event,this,"Mousedown")}, - Mouseup: function (event) {return MENU.Event(event,this,"Mouseup")}, - Keydown: function (event) {return MENU.Event(event,this,"Keydown")}, - /* - * Events for mobile devices. - */ - Touchstart: function (event) {return MENU.Event(event,this,"Touchstart")}, - Touchend: function (event) {return MENU.Event(event,this,"Touchend")}, - Close: function (event) { - return MENU.Event(event,this.menu||this.parentNode,(this.menu?"Touchend":"Remove")); - }, - Event: function (event,menu,type,force) { - if (MENU.skipMouseover && type === "Mouseover" && !force) {return FALSE(event)} - if (MENU.skipMouseoverFromKey && type === "Mouseover") { - delete MENU.skipMouseoverFromKey; - return FALSE(event); - } - if (MENU.skipUp) { - if (type.match(/Mouseup|Touchend/)) {delete MENU.skipUp; return FALSE(event)} - if (type === "Touchstart" || - (type === "Mousedown" && !MENU.skipMousedown)) {delete MENU.skipUp} - } - if (!event) {event = window.event} - var item = menu.menuItem; - if (item && item[type]) {return item[type](event,menu)} - return null; - }, - /* - * Style for the background DIV - */ - BGSTYLE: { - position:"absolute", left:0, top:0, "z-index":200, - width:"100%", height:"100%", border:0, padding:0, margin:0 - }, - - Background: function (menu) { - var div = HTML.addElement(document.body,"div", - {style:this.BGSTYLE, id:"MathJax_MenuFrame"}, - [["div",{style: this.BGSTYLE, menuItem: menu, onmousedown: this.Remove}]]); - var bg = div.firstChild; - if (MENU.msieBackgroundBug) { - // MSIE doesn't allow transparent background to be hit boxes, so - // fake it using opacity with solid background color - bg.style.backgroundColor = "white"; bg.style.filter = "alpha(opacity=0)"; - } - if (MENU.msieFixedPositionBug) { - // MSIE can't do fixed position, so use a full-sized background - // and an onresize handler to update it (stupid, but necessary) - div.width = div.height = 0; this.Resize(); - attachEvent("onresize",this.Resize); - } else { - // otherwise, use a fixed position DIV to cover the viewport - bg.style.position = "fixed"; - } - return div; - }, - Resize: function () {setTimeout(MENU.SetWH,0)}, - SetWH: function () { - var bg = document.getElementById("MathJax_MenuFrame"); - if (bg) { - bg = bg.firstChild; - bg.style.width = bg.style.height = "1px"; // so scrollWidth/Height will be right below - bg.style.width = document.body.scrollWidth + "px"; - bg.style.height = document.body.scrollHeight + "px"; - } - }, - - /*************************************************************/ - /* - * Keyboard navigation of menu. - */ - posted: false, // Is a menu open? - active: null, // The focused in HTML node in the menu. - - GetNode: function(jax) { - var node = document.getElementById(jax.inputID + "-Frame"); - return node.isMathJax ? node : node.firstChild; - }, - CurrentNode: function() { - return MENU.GetNode(MENU.jax); - }, - AllNodes: function() { - var jaxs = MathJax.Hub.getAllJax(); - var nodes = []; - for (var i = 0, jax; jax = jaxs[i]; i++) { - nodes.push(MENU.GetNode(jax)); - } - return nodes; - }, - ActiveNode: function() { - return MENU.active; - }, - FocusNode: function(node) { - MENU.active = node; - node.focus(); - }, - // - // Focus is a global affair, since we only ever want a single focused item. - // - Focus: function(menu) { - !MENU.posted ? MENU.Activate(menu) : MENU.ActiveNode().tabIndex = -1; - menu.tabIndex = 0; - MENU.FocusNode(menu); - }, - Activate: function(event, menu) { - MENU.UnsetTabIndex(); - MENU.posted = true; - }, - Unfocus: function() { - MENU.ActiveNode().tabIndex = -1; - MENU.SetTabIndex(); - MENU.FocusNode(MENU.CurrentNode()); - MENU.posted = false; - }, - MoveHorizontal: function(event, menu, move) { - if (!event.shiftKey) return; - var jaxs = MENU.AllNodes(); - var len = jaxs.length; - if (len === 0) return; - var next = jaxs[MENU.Mod(move(MENU.IndexOf(jaxs, MENU.CurrentNode())), len)]; - if (next === MENU.CurrentNode()) return; - MENU.menu.Remove(event, menu); - MENU.jax = MathJax.Hub.getJaxFor(next); - MENU.FocusNode(next); - MENU.menu.Post(null); - }, - Right: function(event, menu) { - MENU.MoveHorizontal(event, menu, function(x) {return x + 1;}); - }, - Left: function(event, menu) { - MENU.MoveHorizontal(event, menu, function(x) {return x - 1;}); - }, - UnsetTabIndex: function () { - var jaxs = MENU.AllNodes(); - for (var j = 0, jax; jax = jaxs[j]; j++) { - if (jax.tabIndex > 0) { - jax.oldTabIndex = jax.tabIndex; - } - jax.tabIndex = -1; - } - }, - SetTabIndex: function () { - var jaxs = MENU.AllNodes(); - for (var j = 0, jax; jax = jaxs[j]; j++) { - if (jax.oldTabIndex !== undefined) { - jax.tabIndex = jax.oldTabIndex - delete jax.oldTabIndex; - } else { - jax.tabIndex = HUB.getTabOrder(jax); - } - } - }, - - //TODO: Move to utility class. - // Computes a mod n. - Mod: function(a, n) { - return ((a % n) + n) % n; - }, - IndexOf: (Array.prototype.indexOf ? - function (A, item, start) {return A.indexOf(item, start);} : - function (A, item, start) { - for (var i = (start || 0), j = A.length; i < j; i++) { - if (item === A[i]) return i; - } - return -1; - }), - - saveCookie: function () {HTML.Cookie.Set("menu",this.cookie)}, - getCookie: function () {this.cookie = HTML.Cookie.Get("menu")} - - }); - - MathJax.Menu.NAV = NAV; - - /*************************************************************/ - /* - * Abstract class of menu items. - */ - var ITEM = MENU.ITEM = NAV.Subclass({ - - name: "", // The menu item's label as [id,label] pair. - node: null, // The HTML node of the item. - menu: null, // The parent menu containing that item. HTML node. - - Attributes: function(def) { - return HUB.Insert( - {onmouseup: MENU.Mouseup, - ondragstart: FALSE, onselectstart: FALSE, onselectend: FALSE, - ontouchstart: MENU.Touchstart, ontouchend: MENU.Touchend, - className: "MathJax_MenuItem", role: this.role, - menuItem: this}, - def); - }, - - Create: function (menu) { - if (!this.hidden) { - var def = this.Attributes(); - var label = this.Label(def,menu); - HTML.addElement(menu, "div", def, label); - } - }, - Name: function () {return _(this.name[0],this.name[1])}, - - Mouseover: function (event,menu) { - if (menu.parentNode === MENU.ActiveNode().parentNode) { - this.Deactivate(MENU.ActiveNode()); - } - this.Activate(event, menu); - }, - Mouseout: function (event,menu) { - this.Deactivate(menu); - }, - Mouseup: function (event,menu) {return this.Remove(event,menu)}, - - - DeactivateSubmenus: function(menu) { - var menus = document.getElementById("MathJax_MenuFrame").childNodes, - items = ITEM.GetMenuNode(menu).childNodes; - for (var i = 0, m = items.length; i < m; i++) { - var item = items[i].menuItem; - // Deactivates submenu items. - if (item && item.submenu && item.submenu.posted && - item !== menu.menuItem) { - item.Deactivate(items[i]); - } - } - this.RemoveSubmenus(menu, menus); - }, - RemoveSubmenus: function(menu, menus) { - menus = menus || document.getElementById("MathJax_MenuFrame").childNodes; - var m = menus.length-1; - while (m >= 0 && ITEM.GetMenuNode(menu).menuItem !== menus[m].menuItem) { - menus[m].menuItem.posted = false; - menus[m].parentNode.removeChild(menus[m]); - m--; - } - }, - - Touchstart: function (event,menu) {return this.TouchEvent(event,menu,"Mousedown")}, - Touchend: function (event,menu) {return this.TouchEvent(event,menu,"Mouseup")}, - TouchEvent: function (event,menu,type) { - if (this !== ITEM.lastItem) { - if (ITEM.lastMenu) {MENU.Event(event,ITEM.lastMenu,"Mouseout")} - MENU.Event(event,menu,"Mouseover",true); - ITEM.lastItem = this; ITEM.lastMenu = menu; - } - if (this.nativeTouch) {return null} - MENU.Event(event,menu,type); - return false; - }, - - Remove: function (event,menu) { - menu = menu.parentNode.menuItem; - return menu.Remove(event,menu); - }, - - With: function (def) {if (def) {HUB.Insert(this,def)}; return this}, - - isRTL: function () {return MENU.isRTL}, - rtlClass: function () {return (this.isRTL() ? " RTL" : "")} - }, { - GetMenuNode: function(item) { - return item.parentNode; - } - }); - - /*************************************************************/ - /* - * Abstract class of menu items that are focusable and perform some action - */ - MENU.ENTRY = MENU.ITEM.Subclass({ - role: "menuitem", // Aria role. - - Attributes: function(def) { - def = HUB.Insert( - {onmouseover: MENU.Mouseover, onmouseout: MENU.Mouseout, - onmousedown: MENU.Mousedown, onkeydown: MENU.Keydown, - "aria-disabled": !!this.disabled}, - def); - def = this.SUPER(arguments).Attributes.call(this, def); - if (this.disabled) { - def.className += " MathJax_MenuDisabled"; - } - return def; - }, - MoveVertical: function(event, item, move) { - var menuNode = ITEM.GetMenuNode(item); - var items = []; - for (var i = 0, allItems = menuNode.menuItem.items, it; - it = allItems[i]; i++) { - if (!it.hidden) { - items.push(it); - } - } - var index = MENU.IndexOf(items, this); - if (index === -1) return; - var len = items.length; - var children = menuNode.childNodes; - do { - index = MENU.Mod(move(index), len); - } while (items[index].hidden || !children[index].role || - children[index].role === "separator"); - this.Deactivate(item); - items[index].Activate(event, children[index]); - }, - Up: function(event, item) { - this.MoveVertical(event, item, function(x) { return x - 1; }); - }, - Down: function(event, item) { - this.MoveVertical(event, item, function(x) { return x + 1; }); - }, - Right: function(event, item) { - this.MoveHorizontal(event, item, MENU.Right, !this.isRTL()); - }, - Left: function(event, item) { - this.MoveHorizontal(event, item, MENU.Left, this.isRTL()); - }, - MoveHorizontal: function(event, item, move, rtl) { - var menuNode = ITEM.GetMenuNode(item); - if (menuNode.menuItem === MENU.menu && event.shiftKey) { - move(event, item); - } - if (rtl) return; - if (menuNode.menuItem !== MENU.menu) { - this.Deactivate(item); - } - var parentNodes = menuNode.previousSibling.childNodes; - var length = parentNodes.length; - while (length--) { - var parent = parentNodes[length]; - if (parent.menuItem.submenu && - parent.menuItem.submenu === menuNode.menuItem) { - MENU.Focus(parent); - break; - } - } - this.RemoveSubmenus(item); - }, - Space: function (event, menu) { - this.Mouseup(event, menu); - }, - - Activate: function (event, menu) { - this.Deactivate(menu); - if (!this.disabled) { - menu.className += " MathJax_MenuActive"; - } - this.DeactivateSubmenus(menu); - MENU.Focus(menu); - }, - Deactivate: function (menu) { - menu.className = menu.className.replace(/ MathJax_MenuActive/,""); - } - - }); - - /*************************************************************/ - /* - * A menu item that performs a command when selected - */ - MENU.ITEM.COMMAND = MENU.ENTRY.Subclass({ - action: function () {}, - - Init: function (name,action,def) { - if (!isArray(name)) {name = [name,name]} // make [id,label] pair - this.name = name; this.action = action; - this.With(def); - }, - - Label: function (def,menu) {return [this.Name()]}, - Mouseup: function (event,menu) { - if (!this.disabled) { - this.Remove(event,menu); - SIGNAL.Post(["command",this]); - this.action.call(this,event); - } - return FALSE(event); - } - }); - - /*************************************************************/ - /* - * A menu item that posts a submenu - */ - MENU.ITEM.SUBMENU = MENU.ENTRY.Subclass({ - submenu: null, // the submenu - marker: "\u25BA", // the submenu arrow - markerRTL: "\u25C4", // the submenu arrow for RTL - - Attributes: function(def) { - def = HUB.Insert({"aria-haspopup": "true"}, def); - def = this.SUPER(arguments).Attributes.call(this, def); - return def; - }, - Init: function (name,def) { - if (!isArray(name)) {name = [name,name]} // make [id,label] pair - this.name = name; var i = 1; - if (!(def instanceof MENU.ITEM)) {this.With(def), i++} - this.submenu = MENU.apply(MENU,[].slice.call(arguments,i)); - }, - Label: function (def,menu) { - this.submenu.posted = false; - return [this.Name()+" ",["span",{ - className:"MathJax_MenuArrow" + this.rtlClass() - },[this.isRTL() ? this.markerRTL : this.marker]]]; - }, - Timer: function (event,menu) { - this.ClearTimer(); - event = {type: event.type, - clientX: event.clientX, clientY: event.clientY}; // MSIE can't pass the event below - this.timer = setTimeout(CALLBACK(["Mouseup",this,event,menu]),CONFIG.delay); - }, - ClearTimer: function() { - if (this.timer) { - clearTimeout(this.timer); - } - }, - Touchend: function (event,menu) { - var forceout = this.submenu.posted; - var result = this.SUPER(arguments).Touchend.apply(this,arguments); - if (forceout) {this.Deactivate(menu); delete ITEM.lastItem; delete ITEM.lastMenu} - return result; - }, - Mouseout: function(event, menu) { - if (!this.submenu.posted) { - this.Deactivate(menu); - } - this.ClearTimer(); - }, - Mouseover: function(event, menu) { - this.Activate(event, menu); - }, - Mouseup: function (event,menu) { - if (!this.disabled) { - if (!this.submenu.posted) { - this.ClearTimer(); - this.submenu.Post(event, menu, this.ltr); - MENU.Focus(menu); - } else { - this.DeactivateSubmenus(menu); - } - } - return FALSE(event); - }, - Activate: function (event, menu) { - if (!this.disabled) { - this.Deactivate(menu); - menu.className += " MathJax_MenuActive"; - } - if (!this.submenu.posted) { - this.DeactivateSubmenus(menu); - if (!MENU.isMobile) { - this.Timer(event,menu); - } - } - MENU.Focus(menu); - }, - MoveVertical: function(event, item, move) { - this.ClearTimer(); - this.SUPER(arguments).MoveVertical.apply(this, arguments); - }, - MoveHorizontal: function(event, menu, move, rtl) { - if (!rtl) { - this.SUPER(arguments).MoveHorizontal.apply(this, arguments); - return; - } - if (this.disabled) return; - if (!this.submenu.posted) { - this.Activate(event, menu); - return; - } - var submenuNodes = ITEM.GetMenuNode(menu).nextSibling.childNodes; - if (submenuNodes.length > 0) { - this.submenu.items[0].Activate(event, submenuNodes[0]); - } - } - }); - - /*************************************************************/ - /* - * A menu item that is one of several radio buttons - */ - MENU.ITEM.RADIO = MENU.ENTRY.Subclass({ - variable: null, // the variable name - marker: (isPC ? "\u25CF" : "\u2713"), // the checkmark - role: "menuitemradio", - - Attributes: function(def) { - var checked = CONFIG.settings[this.variable] === this.value ? "true" : "false"; - def = HUB.Insert({"aria-checked": checked}, def); - def = this.SUPER(arguments).Attributes.call(this, def); - return def; - }, - Init: function (name,variable,def) { - if (!isArray(name)) {name = [name,name]} // make [id,label] pair - this.name = name; this.variable = variable; this.With(def); - if (this.value == null) {this.value = this.name[0]} - }, - Label: function (def,menu) { - var span = {className:"MathJax_MenuRadioCheck" + this.rtlClass()}; - if (CONFIG.settings[this.variable] !== this.value) { - span = {style:{display:"none"}}; - } - return [["span",span,[this.marker]]," "+this.Name()]; - }, - Mouseup: function (event,menu) { - if (!this.disabled) { - var child = menu.parentNode.childNodes; - for (var i = 0, m = child.length; i < m; i++) { - var item = child[i].menuItem; - if (item && item.variable === this.variable) { - child[i].firstChild.style.display = "none"; - } - } - menu.firstChild.display = ""; - CONFIG.settings[this.variable] = this.value; - MENU.cookie[this.variable] = CONFIG.settings[this.variable]; MENU.saveCookie(); - SIGNAL.Post(["radio button",this]); - } - this.Remove(event,menu); - if (this.action && !this.disabled) {this.action.call(MENU,this)} - return FALSE(event); - } - }); - - /*************************************************************/ - /* - * A menu item that is checkable - */ - MENU.ITEM.CHECKBOX = MENU.ENTRY.Subclass({ - variable: null, // the variable name - marker: "\u2713", // the checkmark - role: "menuitemcheckbox", - - Attributes: function(def) { - var checked = CONFIG.settings[this.variable] ? "true" : "false"; - def = HUB.Insert({"aria-checked": checked}, def); - def = this.SUPER(arguments).Attributes.call(this, def); - return def; - }, - Init: function (name,variable,def) { - if (!isArray(name)) {name = [name,name]} // make [id,label] pair - this.name = name; this.variable = variable; this.With(def); - }, - Label: function (def,menu) { - var span = {className:"MathJax_MenuCheck" + this.rtlClass()}; - if (!CONFIG.settings[this.variable]) {span = {style:{display:"none"}}} - return [["span",span,[this.marker]]," "+this.Name()]; - }, - Mouseup: function (event,menu) { - if (!this.disabled) { - menu.firstChild.display = (CONFIG.settings[this.variable] ? "none" : ""); - CONFIG.settings[this.variable] = !CONFIG.settings[this.variable]; - MENU.cookie[this.variable] = CONFIG.settings[this.variable]; MENU.saveCookie(); - SIGNAL.Post(["checkbox",this]); - } - this.Remove(event,menu); - if (this.action && !this.disabled) {this.action.call(MENU,this)} - return FALSE(event); - } - }); - - /*************************************************************/ - /* - * A menu item that is a label - */ - MENU.ITEM.LABEL = MENU.ENTRY.Subclass({ - role: "menuitem", // Aria role. - - Init: function (name,def) { - if (!isArray(name)) {name = [name,name]} // make [id,label] pair - this.name = name; this.With(def); - }, - Label: function (def,menu) { - def.className += " MathJax_MenuLabel"; - return [this.Name()]; - }, - Activate: function(event, menu) { - this.Deactivate(menu); - MENU.Focus(menu); - }, - Mouseup: function (event,menu) { } - }); - - /*************************************************************/ - /* - * A rule in a menu - */ - MENU.ITEM.RULE = MENU.ITEM.Subclass({ - role: "separator", - - Attributes: function(def) { - def = HUB.Insert({"aria-orientation": "vertical"}, def); - def = this.SUPER(arguments).Attributes.call(this, def); - return def; - }, - Label: function (def,menu) { - def.className += " MathJax_MenuRule"; - return null; - } - }); - - /*************************************************************/ - /*************************************************************/ - - /* - * Handle the ABOUT box - */ - MENU.About = function (event) { - var font = MENU.About.GetFont(); - var format = MENU.About.GetFormat(); - var jax = ["MathJax.js v"+MathJax.fileversion,["br"]]; - jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}]); - MENU.About.GetJax(jax,MathJax.InputJax,["InputJax","%1 Input Jax v%2"]); - MENU.About.GetJax(jax,MathJax.OutputJax,["OutputJax","%1 Output Jax v%2"]); - MENU.About.GetJax(jax,MathJax.ElementJax,["ElementJax","%1 Element Jax v%2"]); - jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}]); - MENU.About.GetJax(jax,MathJax.Extension,["Extension","%1 Extension v%2"],true); - jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}],["center",{},[ - HUB.Browser + " v"+HUB.Browser.version + (format ? - " \u2014 " + _(format.replace(/ /g,""),format) : "") - ]]); - MENU.About.div = MENU.Background(MENU.About); - var about = HTML.addElement(MENU.About.div,"div",{ - id: "MathJax_About", tabIndex: 0, onkeydown: MENU.About.Keydown - },[ - ["b",{style:{fontSize:"120%"}},["MathJax"]]," v"+MathJax.version,["br"], - _(font.replace(/ /g,""),"using "+font),["br"],["br"], - ["span",{style:{ - display:"inline-block", "text-align":"left", "font-size":"80%", - "max-height":"20em", overflow:"auto", - "background-color":"#E4E4E4", padding:".4em .6em", border:"1px inset" - }, tabIndex: 0},jax],["br"],["br"], - ["a",{href:"http://www.mathjax.org/"},["www.mathjax.org"]], - ["span",{className:"MathJax_MenuClose",id:"MathJax_AboutClose", - onclick:MENU.About.Remove, - onkeydown: MENU.About.Keydown, tabIndex: 0, role: "button", - "aria-label": _("CloseAboutDialog","Close about MathJax dialog")}, - [["span",{},"\u00D7"]]] - ]); - if (event.type === "mouseup") about.className += " MathJax_MousePost"; - about.focus(); - MathJax.Localization.setCSS(about); - var doc = (document.documentElement||{}); - var H = window.innerHeight || doc.clientHeight || doc.scrollHeight || 0; - if (MENU.prototype.msieAboutBug) { - about.style.width = "20em"; about.style.position = "absolute"; - about.style.left = Math.floor((document.documentElement.scrollWidth - about.offsetWidth)/2)+"px"; - about.style.top = (Math.floor((H-about.offsetHeight)/3)+document.body.scrollTop)+"px"; - } else { - about.style.marginLeft = Math.floor(-about.offsetWidth/2)+"px"; - about.style.top = Math.floor((H-about.offsetHeight)/3)+"px"; - } - }; - MENU.About.Remove = function (event) { - if (MENU.About.div) {document.body.removeChild(MENU.About.div); delete MENU.About.div} - }; - MENU.About.Keydown = function(event) { - if (event.keyCode === KEY.ESCAPE || - (this.id === "MathJax_AboutClose" && - (event.keyCode === KEY.SPACE || event.keyCode === KEY.RETURN))) { - MENU.About.Remove(event); - MENU.CurrentNode().focus(); - FALSE(event); - } - }, - MENU.About.GetJax = function (jax,JAX,type,noTypeCheck) { - var info = []; - for (var id in JAX) {if (JAX.hasOwnProperty(id) && JAX[id]) { - if ((noTypeCheck && JAX[id].version) || (JAX[id].isa && JAX[id].isa(JAX))) - {info.push(_(type[0],type[1],(JAX[id].id||id),JAX[id].version))} - }} - info.sort(); - for (var i = 0, m = info.length; i < m; i++) {jax.push(info[i],["br"])} - return jax; - }; - MENU.About.GetFont = function () { - var jax = MathJax.Hub.outputJax["jax/mml"][0] || {}; - var font = { - SVG: "web SVG", - CommonHTML: "web TeX", - "HTML-CSS": (jax.imgFonts ? "image" : (jax.webFonts ? "web" : "local")+" "+jax.fontInUse) - }[jax.id] || "generic"; - return font + " fonts"; - }; - MENU.About.GetFormat = function () { - var jax = MathJax.Hub.outputJax["jax/mml"][0] || {}; - if (jax.id !== "HTML-CSS"|| !jax.webFonts || jax.imgFonts) return; - return jax.allowWebFonts.replace(/otf/,"woff or otf") + " fonts"; - }; - - - /* - * Handle the MathJax HELP menu - */ - MENU.Help = function (event) { - AJAX.Require("[MathJax]/extensions/HelpDialog.js", - function () {MathJax.Extension.Help.Dialog({type:event.type})}); - }; - - /* - * Handle showing of element's source - */ - MENU.ShowSource = function (event) { - if (!event) {event = window.event} - var EVENT = {screenX:event.screenX, screenY:event.screenY}; - if (!MENU.jax) return; - if (this.format === "MathML") { - var MML = MathJax.ElementJax.mml; - if (MML && typeof(MML.mbase.prototype.toMathML) !== "undefined") { - // toMathML() can call MathJax.Hub.RestartAfter, so trap errors and check - try {MENU.ShowSource.Text(MENU.jax.root.toMathML("",MENU.jax),event)} catch (err) { - if (!err.restart) {throw err} - CALLBACK.After([this,MENU.ShowSource,EVENT],err.restart); - } - } else if (!AJAX.loadingToMathML) { - AJAX.loadingToMathML = true; - MENU.ShowSource.Window(event); // WeBKit needs to open window on click event - CALLBACK.Queue( - AJAX.Require("[MathJax]/extensions/toMathML.js"), - function () { - delete AJAX.loadingToMathML; - if (!MML.mbase.prototype.toMathML) {MML.mbase.prototype.toMathML = function () {}} - }, - [this,MENU.ShowSource,EVENT] // call this function again - ); - return; - } - } else if (this.format === "Error") { - MENU.ShowSource.Text(MENU.jax.errorText,event); - } else if (CONFIG.semanticsAnnotations[this.format]) { - var annotation = MENU.jax.root.getAnnotation(this.format); - if (annotation.data[0]) MENU.ShowSource.Text(annotation.data[0].toString()); - } else { - if (MENU.jax.originalText == null) { - alert(_("NoOriginalForm","No original form available")); - return; - } - MENU.ShowSource.Text(MENU.jax.originalText,event); - } - }; - MENU.ShowSource.Window = function (event) { - if (!MENU.ShowSource.w) { - var def = [], DEF = CONFIG.windowSettings; - for (var id in DEF) {if (DEF.hasOwnProperty(id)) {def.push(id+"="+DEF[id])}} - MENU.ShowSource.w = window.open("","_blank",def.join(",")); - } - return MENU.ShowSource.w; - }; - MENU.ShowSource.Text = function (text,event) { - var w = MENU.ShowSource.Window(event); delete MENU.ShowSource.w; - text = text.replace(/^\s*/,"").replace(/\s*$/,""); - text = text.replace(/&/g,"&").replace(//g,">"); - var title = _("EqSource","MathJax Equation Source"); - if (MENU.isMobile) { - w.document.open(); - w.document.write(""+title+""); - w.document.write("
        "+text+"
        "); - w.document.write("
        "); - w.document.write(""); - w.document.close(); - } else { - w.document.open(); - w.document.write(""+title+""); - w.document.write("
        "+text+"
        "); - w.document.write(""); - w.document.close(); - var table = w.document.body.firstChild; - setTimeout(function () { - var H = (w.outerHeight-w.innerHeight)||30, W = (w.outerWidth-w.innerWidth)||30, x, y; - W = Math.max(140,Math.min(Math.floor(.5*screen.width),table.offsetWidth+W+25)); - H = Math.max(40,Math.min(Math.floor(.5*screen.height),table.offsetHeight+H+25)); - if (MENU.prototype.msieHeightBug) {H += 35}; // for title bar in XP - w.resizeTo(W,H); - var X; try {X = event.screenX} catch (e) {}; // IE8 throws an error accessing screenX - if (event && X != null) { - x = Math.max(0,Math.min(event.screenX-Math.floor(W/2), screen.width-W-20)); - y = Math.max(0,Math.min(event.screenY-Math.floor(H/2), screen.height-H-20)); - w.moveTo(x,y); - } - },50); - } - }; - - /* - * Handle rescaling all the math - */ - MENU.Scale = function () { - var JAX = ["CommonHTML","HTML-CSS","SVG","NativeMML","PreviewHTML"], m = JAX.length, - SCALE = 100, i, jax; - for (i = 0; i < m; i++) { - jax = OUTPUT[JAX[i]]; - if (jax) {SCALE = jax.config.scale; break} - } - var scale = prompt(_("ScaleMath","Scale all mathematics (compared to surrounding text) by"),SCALE+"%"); - if (scale) { - if (scale.match(/^\s*\d+(\.\d*)?\s*%?\s*$/)) { - scale = parseFloat(scale); - if (scale) { - if (scale !== SCALE) { - for (i = 0; i < m; i++) { - jax = OUTPUT[JAX[i]]; - if (jax) jax.config.scale = scale; - } - MENU.cookie.scale = HUB.config.scale = scale; - MENU.saveCookie(); - HUB.Queue(["Rerender",HUB]); - } - } else {alert(_("NonZeroScale","The scale should not be zero"))} - } else {alert(_("PercentScale", - "The scale should be a percentage (e.g., 120%%)"))} - } - }; - - /* - * Handle loading the zoom code - */ - MENU.Zoom = function () { - if (!MathJax.Extension.MathZoom) {AJAX.Require("[MathJax]/extensions/MathZoom.js")} - }; - - /* - * Handle changing the renderer - */ - MENU.Renderer = function () { - var jax = HUB.outputJax["jax/mml"]; - if (jax[0] !== CONFIG.settings.renderer) { - var BROWSER = HUB.Browser, message, MESSAGE = MENU.Renderer.Messages, warned; - // - // Check that the new renderer is appropriate for the browser - // - switch (CONFIG.settings.renderer) { - case "NativeMML": - if (!CONFIG.settings.warnedMML) { - if (BROWSER.isChrome && BROWSER.version.substr(0,3) !== "24.") {message = MESSAGE.MML.WebKit} - else if (BROWSER.isSafari && !BROWSER.versionAtLeast("5.0")) {message = MESSAGE.MML.WebKit} - else if (BROWSER.isMSIE) {if (!BROWSER.hasMathPlayer) {message = MESSAGE.MML.MSIE}} - else if (BROWSER.isEdge) {message = MESSAGE.MML.WebKit} - else {message = MESSAGE.MML[BROWSER]} - warned = "warnedMML"; - } - break; - - case "SVG": - if (!CONFIG.settings.warnedSVG) { - if (BROWSER.isMSIE && !isIE9) {message = MESSAGE.SVG.MSIE} - } - break; - } - if (message) { - message = _(message[0],message[1]); - message += "\n\n"; - message += _("SwitchAnyway", - "Switch the renderer anyway?\n\n" + - "(Press OK to switch, CANCEL to continue with the current renderer)"); - MENU.cookie.renderer = jax[0].id; MENU.saveCookie(); - if (!confirm(message)) { - MENU.cookie.renderer = CONFIG.settings.renderer = HTML.Cookie.Get("menu").renderer; - MENU.saveCookie(); - return; - } - if (warned) {MENU.cookie.warned = CONFIG.settings.warned = true} - MENU.cookie.renderer = CONFIG.settings.renderer; MENU.saveCookie(); - } - HUB.Queue( - ["setRenderer",HUB,CONFIG.settings.renderer,"jax/mml"], - ["Rerender",HUB] - ); - } - }; - MENU.Renderer.Messages = { - MML: { - WebKit: ["WebkitNativeMMLWarning", - "Your browser doesn't seem to support MathML natively, " + - "so switching to MathML output may cause the mathematics " + - "on the page to become unreadable."], - - MSIE: ["MSIENativeMMLWarning", - "Internet Explorer requires the MathPlayer plugin " + - "in order to process MathML output."], - - Opera: ["OperaNativeMMLWarning", - "Opera's support for MathML is limited, so switching to " + - "MathML output may cause some expressions to render poorly."], - - Safari: ["SafariNativeMMLWarning", - "Your browser's native MathML does not implement all the features " + - "used by MathJax, so some expressions may not render properly."], - - Firefox: ["FirefoxNativeMMLWarning", - "Your browser's native MathML does not implement all the features " + - "used by MathJax, so some expressions may not render properly."] - }, - - SVG: { - MSIE: ["MSIESVGWarning", - "SVG is not implemented in Internet Explorer prior to " + - "IE9 or when it is emulating IE8 or below. " + - "Switching to SVG output will cause the mathematics to " + - "not display properly."] - } - }; - - /* - * Toggle assistive MML settings - */ - MENU.AssistiveMML = function (item,restart) { - var AMML = MathJax.Extension.AssistiveMML; - if (!AMML) { - // Try to load the extension, but only try once. - if (!restart) - AJAX.Require("[MathJax]/extensions/AssistiveMML.js",["AssistiveMML",MENU,item,true]); - return; - } - MathJax.Hub.Queue([(CONFIG.settings.assistiveMML ? "Add" : "Remove")+"AssistiveMathML",AMML]); - }; - - /* - * Handle setting the HTMLCSS fonts - */ - MENU.Font = function () { - var HTMLCSS = OUTPUT["HTML-CSS"]; if (!HTMLCSS) return; - document.location.reload(); - }; - - /* - * Handle selection of locale and rerender the page - */ - MENU.Locale = function () { - MathJax.Localization.setLocale(CONFIG.settings.locale); - MathJax.Hub.Queue(["Reprocess",MathJax.Hub]); // FIXME: Just reprocess error messages? - }; - MENU.LoadLocale = function () { - var url = prompt(_("LoadURL","Load translation data from this URL:")); - if (url) { - if (!url.match(/\.js$/)) { - alert(_("BadURL", - "The URL should be for a javascript file that defines MathJax translation data. " + - "Javascript file names should end with '.js'" - )); - } - AJAX.Require(url,function (status) { - if (status != AJAX.STATUS.OK) {alert(_("BadData","Failed to load translation data from %1",url))} - }); - } - }; - - /* - * Handle setting MathPlayer events - */ - MENU.MPEvents = function (item) { - var discoverable = CONFIG.settings.discoverable, - MESSAGE = MENU.MPEvents.Messages; - if (!isIE9) { - if (CONFIG.settings.mpMouse && !confirm(_.apply(_,MESSAGE.IE8warning))) { - delete MENU.cookie.mpContext; delete CONFIG.settings.mpContext; - delete MENU.cookie.mpMouse; delete CONFIG.settings.mpMouse; - MENU.saveCookie(); - return; - } - CONFIG.settings.mpContext = CONFIG.settings.mpMouse; - MENU.cookie.mpContext = MENU.cookie.mpMouse = CONFIG.settings.mpMouse; - MENU.saveCookie(); - MathJax.Hub.Queue(["Rerender",MathJax.Hub]) - } else if (!discoverable && item.name[1] === "Menu Events" && CONFIG.settings.mpContext) { - alert(_.apply(_,MESSAGE.IE9warning)); - } - }; - - MENU.MPEvents.Messages = { - IE8warning: ["IE8warning", - "This will disable the MathJax menu and zoom features, " + - "but you can Alt-Click on an expression to obtain the MathJax " + - "menu instead.\n\nReally change the MathPlayer settings?"], - - IE9warning: ["IE9warning", - "The MathJax contextual menu will be disabled, but you can " + - "Alt-Click on an expression to obtain the MathJax menu instead."] - }; - - /*************************************************************/ - /*************************************************************/ - - HUB.Browser.Select({ - MSIE: function (browser) { - var quirks = (document.compatMode === "BackCompat"); - var isIE8 = browser.versionAtLeast("8.0") && document.documentMode > 7; - MENU.Augment({ - margin: 20, - msieBackgroundBug: ((document.documentMode||0) < 9), - msieFixedPositionBug: (quirks || !isIE8), - msieAboutBug: quirks, - msieHeightBug: ((document.documentMode||0) < 9) - // height of window doesn't include title bar in XP - }); - if (isIE9) { - delete CONFIG.styles["#MathJax_About"].filter; - delete CONFIG.styles[".MathJax_Menu"].filter; - } - }, - Firefox: function (browser) { - MENU.skipMouseover = browser.isMobile && browser.versionAtLeast("6.0"); - MENU.skipMousedown = browser.isMobile; - } - }); - MENU.isMobile = HUB.Browser.isMobile; - MENU.noContextMenu = HUB.Browser.noContextMenu; - - /*************************************************************/ - - // - // Creates the locale menu from the list of locales in MathJax.Localization.strings - // - MENU.CreateLocaleMenu = function () { - if (!MENU.menu) return; - var menu = MENU.menu.Find("Language").submenu, items = menu.items; - // - // Get the names of the languages and sort them - // - var locales = [], LOCALE = MathJax.Localization.strings; - for (var id in LOCALE) {if (LOCALE.hasOwnProperty(id)) {locales.push(id)}} - locales = locales.sort(); menu.items = []; - // - // Add a menu item for each - // - for (var i = 0, m = locales.length; i < m; i++) { - var title = LOCALE[locales[i]].menuTitle; - if (title) {title += " ("+locales[i]+")"} else {title = locales[i]} - menu.items.push(ITEM.RADIO([locales[i],title],"locale",{action:MENU.Locale})); - } - // - // Add the rule and "Load from URL" items - // - menu.items.push(items[items.length-2],items[items.length-1]); - }; - - // - // Create the annotation menu from MathJax.Hub.config.semanticsAnnotations - // - MENU.CreateAnnotationMenu = function () { - if (!MENU.menu) return; - var menu = MENU.menu.Find("Show Math As","Annotation").submenu; - var annotations = CONFIG.semanticsAnnotations; - for (var a in annotations) { - if (annotations.hasOwnProperty(a)) { - menu.items.push(ITEM.COMMAND([a,a], MENU.ShowSource, {hidden: true, nativeTouch: true, format: a})); - } - } - }; - - /*************************************************************/ - - HUB.Register.StartupHook("End Config",function () { - - /* - * Get the menu settings from the HUB (which includes the - * data from the cookie already), and add the format, if - * it wasn't set in the cookie. - */ - CONFIG.settings = HUB.config.menuSettings; - if (typeof(CONFIG.settings.showRenderer) !== "undefined") {CONFIG.showRenderer = CONFIG.settings.showRenderer} - if (typeof(CONFIG.settings.showFontMenu) !== "undefined") {CONFIG.showFontMenu = CONFIG.settings.showFontMenu} - if (typeof(CONFIG.settings.showContext) !== "undefined") {CONFIG.showContext = CONFIG.settings.showContext} - MENU.getCookie(); - - /* - * The main menu - */ - // Localization: items used as key, should be refactored. - MENU.menu = MENU( - ITEM.SUBMENU(["Show","Show Math As"], - ITEM.COMMAND(["MathMLcode","MathML Code"], MENU.ShowSource, {nativeTouch: true, format: "MathML"}), - ITEM.COMMAND(["Original","Original Form"], MENU.ShowSource, {nativeTouch: true}), - ITEM.SUBMENU(["Annotation","Annotation"], {disabled:true}), - ITEM.RULE(), - ITEM.CHECKBOX(["texHints","Show TeX hints in MathML"], "texHints"), - ITEM.CHECKBOX(["semantics","Add original form as annotation"], "semantics") - ), - ITEM.RULE(), - ITEM.SUBMENU(["Settings","Math Settings"], - ITEM.SUBMENU(["ZoomTrigger","Zoom Trigger"], - ITEM.RADIO(["Hover","Hover"], "zoom", {action: MENU.Zoom}), - ITEM.RADIO(["Click","Click"], "zoom", {action: MENU.Zoom}), - ITEM.RADIO(["DoubleClick","Double-Click"], "zoom", {action: MENU.Zoom}), - ITEM.RADIO(["NoZoom","No Zoom"], "zoom", {value: "None"}), - ITEM.RULE(), - ITEM.LABEL(["TriggerRequires","Trigger Requires:"]), - ITEM.CHECKBOX((HUB.Browser.isMac ? ["Option","Option"] : ["Alt","Alt"]), "ALT"), - ITEM.CHECKBOX(["Command","Command"], "CMD", {hidden: !HUB.Browser.isMac}), - ITEM.CHECKBOX(["Control","Control"], "CTRL", {hidden: HUB.Browser.isMac}), - ITEM.CHECKBOX(["Shift","Shift"], "Shift") - ), - ITEM.SUBMENU(["ZoomFactor","Zoom Factor"], - ITEM.RADIO("125%", "zscale"), - ITEM.RADIO("133%", "zscale"), - ITEM.RADIO("150%", "zscale"), - ITEM.RADIO("175%", "zscale"), - ITEM.RADIO("200%", "zscale"), - ITEM.RADIO("250%", "zscale"), - ITEM.RADIO("300%", "zscale"), - ITEM.RADIO("400%", "zscale") - ), - ITEM.RULE(), - ITEM.SUBMENU(["Renderer","Math Renderer"], {hidden:!CONFIG.showRenderer}, - ITEM.RADIO(["HTML-CSS","HTML-CSS"], "renderer", {action: MENU.Renderer}), - ITEM.RADIO(["CommonHTML","Common HTML"], "renderer", {action: MENU.Renderer, value:"CommonHTML"}), - ITEM.RADIO(["PreviewHTML","Preview HTML"],"renderer", {action: MENU.Renderer, value:"PreviewHTML"}), - ITEM.RADIO(["MathML","MathML"], "renderer", {action: MENU.Renderer, value:"NativeMML"}), - ITEM.RADIO(["SVG","SVG"], "renderer", {action: MENU.Renderer}), - ITEM.RADIO(["PlainSource","Plain Source"],"renderer", {action: MENU.Renderer, value:"PlainSource"}), - ITEM.RULE(), - ITEM.CHECKBOX(["FastPreview","Fast Preview"], "FastPreview") - ), - ITEM.SUBMENU("MathPlayer", {hidden:!HUB.Browser.isMSIE || !CONFIG.showMathPlayer, - disabled:!HUB.Browser.hasMathPlayer}, - ITEM.LABEL(["MPHandles","Let MathPlayer Handle:"]), - ITEM.CHECKBOX(["MenuEvents","Menu Events"], "mpContext", {action: MENU.MPEvents, hidden:!isIE9}), - ITEM.CHECKBOX(["MouseEvents","Mouse Events"], "mpMouse", {action: MENU.MPEvents, hidden:!isIE9}), - ITEM.CHECKBOX(["MenuAndMouse","Mouse and Menu Events"], "mpMouse", {action: MENU.MPEvents, hidden:isIE9}) - ), - ITEM.SUBMENU(["FontPrefs","Font Preference"], {hidden:!CONFIG.showFontMenu}, - ITEM.LABEL(["ForHTMLCSS","For HTML-CSS:"]), - ITEM.RADIO(["Auto","Auto"], "font", {action: MENU.Font}), - ITEM.RULE(), - ITEM.RADIO(["TeXLocal","TeX (local)"], "font", {action: MENU.Font}), - ITEM.RADIO(["TeXWeb","TeX (web)"], "font", {action: MENU.Font}), - ITEM.RADIO(["TeXImage","TeX (image)"], "font", {action: MENU.Font}), - ITEM.RULE(), - ITEM.RADIO(["STIXLocal","STIX (local)"], "font", {action: MENU.Font}), - ITEM.RADIO(["STIXWeb","STIX (web)"], "font", {action: MENU.Font}), - ITEM.RULE(), - ITEM.RADIO(["AsanaMathWeb","Asana Math (web)"], "font", {action: MENU.Font}), - ITEM.RADIO(["GyrePagellaWeb","Gyre Pagella (web)"], "font", {action: MENU.Font}), - ITEM.RADIO(["GyreTermesWeb","Gyre Termes (web)"], "font", {action: MENU.Font}), - ITEM.RADIO(["LatinModernWeb","Latin Modern (web)"], "font", {action: MENU.Font}), - ITEM.RADIO(["NeoEulerWeb","Neo Euler (web)"], "font", {action: MENU.Font}) - ), - ITEM.SUBMENU(["ContextMenu","Contextual Menu"], {hidden:!CONFIG.showContext}, - ITEM.RADIO(["MathJax","MathJax"], "context"), - ITEM.RADIO(["Browser","Browser"], "context") - ), - ITEM.COMMAND(["Scale","Scale All Math ..."],MENU.Scale), - ITEM.RULE().With({hidden:!CONFIG.showDiscoverable, name:["","discover_rule"]}), - ITEM.CHECKBOX(["Discoverable","Highlight on Hover"], "discoverable", {hidden:!CONFIG.showDiscoverable}) - ), - ITEM.SUBMENU(["Accessibility","Accessibility"], - ITEM.CHECKBOX(["AssistiveMML","Assistive MathML"], "assistiveMML", {action:MENU.AssistiveMML}), - ITEM.CHECKBOX(["InTabOrder","Include in Tab Order"], "inTabOrder") - ), - ITEM.SUBMENU(["Locale","Language"], {hidden:!CONFIG.showLocale, ltr:true}, - ITEM.RADIO("en", "locale", {action: MENU.Locale}), - ITEM.RULE().With({hidden:!CONFIG.showLocaleURL, name:["","localURL_rule"]}), - ITEM.COMMAND(["LoadLocale","Load from URL ..."], MENU.LoadLocale, {hidden:!CONFIG.showLocaleURL}) - ), - ITEM.RULE(), - ITEM.COMMAND(["About","About MathJax"],MENU.About), - ITEM.COMMAND(["Help","MathJax Help"],MENU.Help) - ); - - if (MENU.isMobile) { - (function () { - var settings = CONFIG.settings; - var trigger = MENU.menu.Find("Math Settings","Zoom Trigger").submenu; - trigger.items[0].disabled = trigger.items[1].disabled = true; - if (settings.zoom === "Hover" || settings.zoom == "Click") {settings.zoom = "None"} - trigger.items = trigger.items.slice(0,4); - - if (navigator.appVersion.match(/[ (]Android[) ]/)) { - MENU.ITEM.SUBMENU.Augment({marker: "\u00BB"}); - } - })(); - } - - MENU.CreateLocaleMenu(); - MENU.CreateAnnotationMenu(); - }); - - MENU.showRenderer = function (show) { - MENU.cookie.showRenderer = CONFIG.showRenderer = show; MENU.saveCookie(); - MENU.menu.Find("Math Settings","Math Renderer").hidden = !show; - }; - MENU.showMathPlayer = function (show) { - MENU.cookie.showMathPlayer = CONFIG.showMathPlayer = show; MENU.saveCookie(); - MENU.menu.Find("Math Settings","MathPlayer").hidden = !show; - }; - MENU.showFontMenu = function (show) { - MENU.cookie.showFontMenu = CONFIG.showFontMenu = show; MENU.saveCookie(); - MENU.menu.Find("Math Settings","Font Preference").hidden = !show; - }; - MENU.showContext = function (show) { - MENU.cookie.showContext = CONFIG.showContext = show; MENU.saveCookie(); - MENU.menu.Find("Math Settings","Contextual Menu").hidden = !show; - }; - MENU.showDiscoverable = function (show) { - MENU.cookie.showDiscoverable = CONFIG.showDiscoverable = show; MENU.saveCookie(); - MENU.menu.Find("Math Settings","Highlight on Hover").hidden = !show; - MENU.menu.Find("Math Settings","discover_rule").hidden = !show; - }; - MENU.showLocale = function (show) { - MENU.cookie.showLocale = CONFIG.showLocale = show; MENU.saveCookie(); - MENU.menu.Find("Language").hidden = !show; - }; - - MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { - if (!MathJax.OutputJax["HTML-CSS"].config.imageFont) - {MENU.menu.Find("Math Settings","Font Preference","TeX (image)").disabled = true} - }); - - /*************************************************************/ - - CALLBACK.Queue( - HUB.Register.StartupHook("End Config",{}), // wait until config is complete - ["Styles",AJAX,CONFIG.styles], - ["Post",HUB.Startup.signal,"MathMenu Ready"], - ["loadComplete",AJAX,"[MathJax]/extensions/MathMenu.js"] - ); - -})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.CallBack,MathJax.OutputJax); diff --git a/src/py/kaleido/vendor/mathjax/extensions/MathZoom.js b/src/py/kaleido/vendor/mathjax/extensions/MathZoom.js deleted file mode 100644 index fcce3df3..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/MathZoom.js +++ /dev/null @@ -1,366 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/MathZoom.js - * - * Implements the zoom feature for enlarging math expressions. It is - * loaded automatically when the Zoom menu selection changes from "None". - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - */ - -(function (HUB,HTML,AJAX,HTMLCSS,nMML) { - var VERSION = "2.7.5"; - - var CONFIG = HUB.CombineConfig("MathZoom",{ - styles: { - // - // The styles for the MathZoom display box - // - "#MathJax_Zoom": { - position:"absolute", "background-color":"#F0F0F0", overflow:"auto", - display:"block", "z-index":301, padding:".5em", border:"1px solid black", margin:0, - "font-weight":"normal", "font-style":"normal", - "text-align":"left", "text-indent":0, "text-transform":"none", - "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", - "word-wrap":"normal", "white-space":"nowrap", "float":"none", - "-webkit-box-sizing":"content-box", // Android ≤ 2.3, iOS ≤ 4 - "-moz-box-sizing":"content-box", // Firefox ≤ 28 - "box-sizing":"content-box", // Chrome, Firefox 29+, IE 8+, Opera, Safari 5.1 - "box-shadow":"5px 5px 15px #AAAAAA", // Opera 10.5 and IE9 - "-webkit-box-shadow":"5px 5px 15px #AAAAAA", // Safari 3 and Chrome - "-moz-box-shadow":"5px 5px 15px #AAAAAA", // Forefox 3.5 - "-khtml-box-shadow":"5px 5px 15px #AAAAAA", // Konqueror - filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE - }, - - // - // The styles for the hidden overlay (should not need to be adjusted by the page author) - // - "#MathJax_ZoomOverlay": { - position:"absolute", left:0, top:0, "z-index":300, display:"inline-block", - width:"100%", height:"100%", border:0, padding:0, margin:0, - "background-color":"white", opacity:0, filter:"alpha(opacity=0)" - }, - - "#MathJax_ZoomFrame": { - position:"relative", display:"inline-block", - height:0, width:0 - }, - - "#MathJax_ZoomEventTrap": { - position:"absolute", left:0, top:0, "z-index":302, - display:"inline-block", border:0, padding:0, margin:0, - "background-color":"white", opacity:0, filter:"alpha(opacity=0)" - } - } - }); - - var FALSE, HOVER, EVENT; - MathJax.Hub.Register.StartupHook("MathEvents Ready",function () { - EVENT = MathJax.Extension.MathEvents.Event; - FALSE = MathJax.Extension.MathEvents.Event.False; - HOVER = MathJax.Extension.MathEvents.Hover; - }); - - /*************************************************************/ - - var ZOOM = MathJax.Extension.MathZoom = { - version: VERSION, - settings: HUB.config.menuSettings, - scrollSize: 18, // width of scrool bars - - // - // Process events passed from output jax - // - HandleEvent: function (event,type,math) { - if (ZOOM.settings.CTRL && !event.ctrlKey) return true; - if (ZOOM.settings.ALT && !event.altKey) return true; - if (ZOOM.settings.CMD && !event.metaKey) return true; - if (ZOOM.settings.Shift && !event.shiftKey) return true; - if (!ZOOM[type]) return true; - return ZOOM[type](event,math); - }, - - // - // Zoom on click - // - Click: function (event,math) { - if (this.settings.zoom === "Click") {return this.Zoom(event,math)} - }, - - // - // Zoom on double click - // - DblClick: function (event,math) { - if (this.settings.zoom === "Double-Click" || this.settings.zoom === "DoubleClick") {return this.Zoom(event,math)} - }, - - // - // Zoom on hover (called by MathEvents.Hover) - // - Hover: function (event,math) { - if (this.settings.zoom === "Hover") {this.Zoom(event,math); return true} - return false; - }, - - - // - // Handle the actual zooming - // - Zoom: function (event,math) { - // - // Remove any other zoom and clear timers - // - this.Remove(); HOVER.ClearHoverTimer(); EVENT.ClearSelection(); - - // - // Find the jax - // - var JAX = MathJax.OutputJax[math.jaxID]; - var jax = JAX.getJaxFromMath(math); - if (jax.hover) {HOVER.UnHover(jax)} - - // - // Create the DOM elements for the zoom box - // - var container = this.findContainer(math); - var Mw = Math.floor(.85*container.clientWidth), - Mh = Math.max(document.body.clientHeight,document.documentElement.clientHeight); - if (this.getOverflow(container) !== "visible") {Mh = Math.min(container.clientHeight,Mh)} - Mh = Math.floor(.85*Mh); - var div = HTML.Element( - "span",{id:"MathJax_ZoomFrame"},[ - ["span",{id:"MathJax_ZoomOverlay", onmousedown:this.Remove}], - ["span",{ - id:"MathJax_Zoom", onclick:this.Remove, - style:{visibility:"hidden", fontSize:this.settings.zscale} - },[["span",{style:{display:"inline-block", "white-space":"nowrap"}}]] - ]] - ); - var zoom = div.lastChild, span = zoom.firstChild, overlay = div.firstChild; - math.parentNode.insertBefore(div,math); math.parentNode.insertBefore(math,div); // put div after math - if (span.addEventListener) {span.addEventListener("mousedown",this.Remove,true)} - var eW = zoom.offsetWidth || zoom.clientWidth; Mw -= eW; Mh -= eW; - zoom.style.maxWidth = Mw+"px"; zoom.style.maxHeight = Mh+"px"; - - if (this.msieTrapEventBug) { - var trap = HTML.Element("span",{id:"MathJax_ZoomEventTrap", onmousedown:this.Remove}); - div.insertBefore(trap,zoom); - } - - // - // Display the zoomed math - // - if (this.msieZIndexBug) { - // MSIE doesn't do z-index properly, so move the div to the document.body, - // and use an image as a tracker for the usual position - var tracker = HTML.addElement(document.body,"img",{ - src:"about:blank", id:"MathJax_ZoomTracker", width:0, height:0, - style:{width:0, height:0, position:"relative"} - }); - div.style.position = "relative"; - div.style.zIndex = CONFIG.styles["#MathJax_ZoomOverlay"]["z-index"]; - div = tracker; - } - - var bbox = JAX.Zoom(jax,span,math,Mw,Mh); - - // - // Fix up size and position for browsers with bugs (IE) - // - if (this.msiePositionBug) { - if (this.msieSizeBug) - {zoom.style.height = bbox.zH+"px"; zoom.style.width = bbox.zW+"px"} // IE8 gets the dimensions completely wrong - if (zoom.offsetHeight > Mh) {zoom.style.height = Mh+"px"; zoom.style.width = (bbox.zW+this.scrollSize)+"px"} // IE doesn't do max-height? - if (zoom.offsetWidth > Mw) {zoom.style.width = Mw+"px"; zoom.style.height = (bbox.zH+this.scrollSize)+"px"} - } - if (this.operaPositionBug) {zoom.style.width = Math.min(Mw,bbox.zW)+"px"} // Opera gets width as 0? - if (zoom.offsetWidth > eW && zoom.offsetWidth-eW < Mw && zoom.offsetHeight-eW < Mh) - {zoom.style.overflow = "visible"} // don't show scroll bars if we don't need to - this.Position(zoom,bbox); - if (this.msieTrapEventBug) { - trap.style.height = zoom.clientHeight+"px"; trap.style.width = zoom.clientWidth+"px"; - trap.style.left = (parseFloat(zoom.style.left)+zoom.clientLeft)+"px"; - trap.style.top = (parseFloat(zoom.style.top)+zoom.clientTop)+"px"; - } - zoom.style.visibility = ""; - - // - // Add event handlers - // - if (this.settings.zoom === "Hover") {overlay.onmouseover = this.Remove} - if (window.addEventListener) {addEventListener("resize",this.Resize,false)} - else if (window.attachEvent) {attachEvent("onresize",this.Resize)} - else {this.onresize = window.onresize; window.onresize = this.Resize} - - // - // Let others know about the zoomed math - // - HUB.signal.Post(["math zoomed",jax]); - - // - // Canel further actions - // - return FALSE(event); - }, - - // - // Set the position of the zoom box and overlay - // - Position: function (zoom,bbox) { - zoom.style.display = "none"; // avoids getting excessive width in Resize() - var XY = this.Resize(), x = XY.x, y = XY.y, W = bbox.mW; - zoom.style.display = ""; - var dx = -W-Math.floor((zoom.offsetWidth-W)/2), dy = bbox.Y; - zoom.style.left = Math.max(dx,10-x)+"px"; zoom.style.top = Math.max(dy,10-y)+"px"; - if (!ZOOM.msiePositionBug) {ZOOM.SetWH()} // refigure overlay width/height - }, - - // - // Handle resizing of overlay while zoom is displayed - // - Resize: function (event) { - if (ZOOM.onresize) {ZOOM.onresize(event)} - var div = document.getElementById("MathJax_ZoomFrame"), - overlay = document.getElementById("MathJax_ZoomOverlay"); - var xy = ZOOM.getXY(div), obj = ZOOM.findContainer(div); - if (ZOOM.getOverflow(obj) !== "visible") { - overlay.scroll_parent = obj; // Save this for future reference. - var XY = ZOOM.getXY(obj); // Remove container position - xy.x -= XY.x; xy.y -= XY.y; - XY = ZOOM.getBorder(obj); // Remove container border - xy.x -= XY.x; xy.y -= XY.y; - } - overlay.style.left = (-xy.x)+"px"; overlay.style.top = (-xy.y)+"px"; - if (ZOOM.msiePositionBug) {setTimeout(ZOOM.SetWH,0)} else {ZOOM.SetWH()} - return xy; - }, - SetWH: function () { - var overlay = document.getElementById("MathJax_ZoomOverlay"); - if (!overlay) return; - overlay.style.display = "none"; // so scrollWidth/Height will be right below - var doc = overlay.scroll_parent || document.documentElement || document.body; - overlay.style.width = doc.scrollWidth + "px"; - overlay.style.height = Math.max(doc.clientHeight,doc.scrollHeight) + "px"; - overlay.style.display = ""; - }, - findContainer: function (obj) { - obj = obj.parentNode; - while (obj.parentNode && obj !== document.body && ZOOM.getOverflow(obj) === "visible") - {obj = obj.parentNode} - return obj; - }, - // - // Look up CSS properties (use getComputeStyle if available, or currentStyle if not) - // - getOverflow: (window.getComputedStyle ? - function (obj) {return getComputedStyle(obj).overflow} : - function (obj) {return (obj.currentStyle||{overflow:"visible"}).overflow}), - getBorder: function (obj) { - var size = {thin: 1, medium: 2, thick: 3}; - var style = (window.getComputedStyle ? getComputedStyle(obj) : - (obj.currentStyle || {borderLeftWidth:0,borderTopWidth:0})); - var x = style.borderLeftWidth, y = style.borderTopWidth; - if (size[x]) {x = size[x]} else {x = parseInt(x)} - if (size[y]) {y = size[y]} else {y = parseInt(y)} - return {x:x, y:y}; - }, - // - // Get the position of an element on the page - // - getXY: function (div) { - var x = 0, y = 0, obj; - obj = div; while (obj.offsetParent) {x += obj.offsetLeft; obj = obj.offsetParent} - if (ZOOM.operaPositionBug) {div.style.border = "1px solid"} // to get vertical position right - obj = div; while (obj.offsetParent) {y += obj.offsetTop; obj = obj.offsetParent} - if (ZOOM.operaPositionBug) {div.style.border = ""} - return {x:x, y:y}; - }, - - // - // Remove zoom display and event handlers - // - Remove: function (event) { - var div = document.getElementById("MathJax_ZoomFrame"); - if (div) { - var JAX = MathJax.OutputJax[div.previousSibling.jaxID]; - var jax = JAX.getJaxFromMath(div.previousSibling); - HUB.signal.Post(["math unzoomed",jax]); - div.parentNode.removeChild(div); - div = document.getElementById("MathJax_ZoomTracker"); - if (div) {div.parentNode.removeChild(div)} - if (ZOOM.operaRefreshBug) { - // force a redisplay of the page - // (Opera doesn't refresh properly after the zoom is removed) - var overlay = HTML.addElement(document.body,"div",{ - style:{position:"fixed", left:0, top:0, width:"100%", height:"100%", - backgroundColor:"white", opacity:0}, - id: "MathJax_OperaDiv" - }); - document.body.removeChild(overlay); - } - if (window.removeEventListener) {removeEventListener("resize",ZOOM.Resize,false)} - else if (window.detachEvent) {detachEvent("onresize",ZOOM.Resize)} - else {window.onresize = ZOOM.onresize; delete ZOOM.onresize} - } - return FALSE(event); - } - - }; - - - /*************************************************************/ - - HUB.Browser.Select({ - MSIE: function (browser) { - var mode = (document.documentMode || 0); - var isIE9 = (mode >= 9); - ZOOM.msiePositionBug = !isIE9; - ZOOM.msieSizeBug = browser.versionAtLeast("7.0") && - (!document.documentMode || mode === 7 || mode === 8); - ZOOM.msieZIndexBug = (mode <= 7); - ZOOM.msieInlineBlockAlignBug = (mode <= 7); - ZOOM.msieTrapEventBug = !window.addEventListener; - if (document.compatMode === "BackCompat") {ZOOM.scrollSize = 52} // don't know why this is so far off - if (isIE9) {delete CONFIG.styles["#MathJax_Zoom"].filter} - }, - - Opera: function (browser) { - ZOOM.operaPositionBug = true; - ZOOM.operaRefreshBug = true; - } - }); - - ZOOM.topImg = (ZOOM.msieInlineBlockAlignBug ? - HTML.Element("img",{style:{width:0,height:0,position:"relative"},src:"about:blank"}) : - HTML.Element("span",{style:{width:0,height:0,display:"inline-block"}}) - ); - if (ZOOM.operaPositionBug || ZOOM.msieTopBug) {ZOOM.topImg.style.border="1px solid"} - - /*************************************************************/ - - MathJax.Callback.Queue( - ["StartupHook",MathJax.Hub.Register,"Begin Styles",{}], - ["Styles",AJAX,CONFIG.styles], - ["Post",HUB.Startup.signal,"MathZoom Ready"], - ["loadComplete",AJAX,"[MathJax]/extensions/MathZoom.js"] - ); - -})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.OutputJax["HTML-CSS"],MathJax.OutputJax.NativeMML); diff --git a/src/py/kaleido/vendor/mathjax/extensions/Safe.js b/src/py/kaleido/vendor/mathjax/extensions/Safe.js deleted file mode 100644 index e013aa20..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/Safe.js +++ /dev/null @@ -1,428 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/Safe.js - * - * Implements a "Safe" mode that disables features that could be - * misused in a shared environment (such as href's to javascript URL's). - * See the CONFIG variable below for configuration options. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - -(function (HUB,AJAX) { - var VERSION = "2.7.5"; - - var CONFIG = MathJax.Hub.CombineConfig("Safe",{ - allow: { - // - // Values can be "all", "safe", or "none" - // - URLs: "safe", // safe are in safeProtocols below - classes: "safe", // safe start with MJX- - cssIDs: "safe", // safe start with MJX- - styles: "safe", // safe are in safeStyles below - fontsize: "all", // safe are between sizeMin and sizeMax em's - require: "safe" // safe are in safeRequire below - }, - sizeMin: .7, // \scriptsize - sizeMax: 1.44, // \large - lengthMax: 3, // largest padding/border/margin, etc. in em's - safeProtocols: { - http: true, - https: true, - file: true, - javascript: false - }, - safeStyles: { - color: true, - backgroundColor: true, - border: true, - cursor: true, - margin: true, - padding: true, - textShadow: true, - fontFamily: true, - fontSize: true, - fontStyle: true, - fontWeight: true, - opacity: true, - outline: true - }, - safeRequire: { - action: true, - amscd: true, - amsmath: true, - amssymbols: true, - autobold: false, - "autoload-all": false, - bbox: true, - begingroup: true, - boldsymbol: true, - cancel: true, - color: true, - enclose: true, - extpfeil: true, - HTML: true, - mathchoice: true, - mhchem: true, - newcommand: true, - noErrors: false, - noUndefined: false, - unicode: true, - verb: true - }, - // - // CSS styles that have Top/Right/Bottom/Left versions - // - styleParts: { - border: true, - padding: true, - margin: true, - outline: true - }, - // - // CSS styles that are lengths needing max/min testing - // A string value means test that style value; - // An array gives [min,max] in em's - // Otherwise use [-lengthMax,lengthMax] from above - // - styleLengths: { - borderTop: "borderTopWidth", - borderRight: "borderRightWidth", - borderBottom: "borderBottomWidth", - borderLeft: "borderLeftWidth", - paddingTop: true, - paddingRight: true, - paddingBottom: true, - paddingLeft: true, - marginTop: true, - marginRight: true, - marginBottom: true, - marginLeft: true, - outlineTop: true, - outlineRight: true, - outlineBottom: true, - outlineLeft: true, - fontSize: [.7,1.44] - } - }); - - var ALLOW = CONFIG.allow; - if (ALLOW.fontsize !== "all") {CONFIG.safeStyles.fontSize = false} - - var SAFE = MathJax.Extension.Safe = { - version: VERSION, - config: CONFIG, - div1: document.createElement("div"), // for CSS processing - div2: document.createElement("div"), - - // - // Methods called for MathML attribute processing - // - filter: { - href: "filterURL", - src: "filterURL", - altimg: "filterURL", - "class": "filterClass", - style: "filterStyles", - id: "filterID", - fontsize: "filterFontSize", - mathsize: "filterFontSize", - scriptminsize: "filterFontSize", - scriptsizemultiplier: "filterSizeMultiplier", - scriptlevel: "filterScriptLevel" - }, - - // - // Filter HREF URL's - // - filterURL: function (url) { - var protocol = (url.match(/^\s*([a-z]+):/i)||[null,""])[1].toLowerCase(); - if (ALLOW.URLs === "none" || - (ALLOW.URLs !== "all" && !CONFIG.safeProtocols[protocol])) {url = null} - return url; - }, - - // - // Filter class names and css ID's - // - filterClass: function (CLASS) { - if (ALLOW.classes === "none" || - (ALLOW.classes !== "all" && !CLASS.match(/^MJX-[-a-zA-Z0-9_.]+$/))) {CLASS = null} - return CLASS; - }, - filterID: function (id) { - if (ALLOW.cssIDs === "none" || - (ALLOW.cssIDs !== "all" && !id.match(/^MJX-[-a-zA-Z0-9_.]+$/))) {id = null} - return id; - }, - - // - // Filter style strings - // - filterStyles: function (styles) { - if (ALLOW.styles === "all") {return styles} - if (ALLOW.styles === "none") {return null} - try { - // - // Set the div1 styles to the given styles, and clear div2 - // - var STYLE1 = this.div1.style, STYLE2 = this.div2.style, value; - STYLE1.cssText = styles; STYLE2.cssText = ""; - // - // Check each allowed style and transfer OK ones to div2 - // If the style has Top/Right/Bottom/Left, look at all four separately - // - for (var name in CONFIG.safeStyles) {if (CONFIG.safeStyles.hasOwnProperty(name)) { - if (CONFIG.styleParts[name]) { - for (var i = 0; i < 4; i++) { - var NAME = name+["Top","Right","Bottom","Left"][i] - value = this.filterStyle(NAME,STYLE1); - if (value) {STYLE2[NAME] = value} - } - } else { - value = this.filterStyle(name,STYLE1); - if (value) {STYLE2[name] = value} - } - }} - // - // Return the div2 style string - // - styles = STYLE2.cssText; - } catch (e) {styles = null} - return styles; - }, - // - // Filter an individual name:value style pair - // - filterStyle: function (name,styles) { - var value = styles[name]; - if (typeof value !== "string" || value === "") {return null} - if (value.match(/^\s*expression/)) {return null} - if (value.match(/javascript:/)) {return null} - var NAME = name.replace(/Top|Right|Left|Bottom/,""); - if (!CONFIG.safeStyles[name] && !CONFIG.safeStyles[NAME]) {return null} - if (!CONFIG.styleLengths[name]) {return value} - return (this.filterStyleLength(name,value,styles) ? value : null); - }, - filterStyleLength: function (name,value,styles) { - if (typeof CONFIG.styleLengths[name] === "string") value = styles[CONFIG.styleLengths[name]]; - value = this.length2em(value); - if (value == null) return false; - var mM = [-CONFIG.lengthMax,CONFIG.lengthMax]; - if (MathJax.Object.isArray(CONFIG.styleLengths[name])) mM = CONFIG.styleLengths[name]; - return (value >= mM[0] && value <= mM[1]); - }, - // - // Conversion of units to em's - // - unit2em: { - em: 1, - ex: .5, // assume 1ex = .5em - ch: .5, // assume 1ch = .5em - rem: 1, // assume 1rem = 1em - px: 1/16, // assume 1em = 16px - mm: 96/25.4/16, // 25.4mm = 96px - cm: 96/2.54/16, // 2.54cm = 96px - 'in': 96/16, // 1in = 96px - pt: 96/72/16, // 72pt = 1in - pc: 96/6/16 // 1pc = 12pt - }, - length2em: function (value) { - var match = value.match(/(.+)(em|ex|ch|rem|px|mm|cm|in|pt|pc)/); - if (!match) return null; - return parseFloat(match[1])*this.unit2em[match[2]]; - }, - - // - // Filter TeX font size values (in em's) - // - filterSize: function (size) { - if (ALLOW.fontsize === "none") {return null} - if (ALLOW.fontsize !== "all") - {size = Math.min(Math.max(size,CONFIG.sizeMin),CONFIG.sizeMax)} - return size; - }, - filterFontSize: function (size) { - return (ALLOW.fontsize === "all" ? size: null); - }, - - // - // Filter scriptsizemultiplier - // - filterSizeMultiplier: function (size) { - if (ALLOW.fontsize === "none") {size = null} - else if (ALLOW.fontsize !== "all") {size = Math.min(1,Math.max(.6,size)).toString()} - return size; - }, - // - // Filter scriptLevel - // - filterScriptLevel: function (level) { - if (ALLOW.fontsize === "none") {level = null} - else if (ALLOW.fontsize !== "all") {level = Math.max(0,level).toString()} - return level; - }, - - // - // Filter TeX extension names - // - filterRequire: function (name) { - if (ALLOW.require === "none" || - (ALLOW.require !== "all" && !CONFIG.safeRequire[name.toLowerCase()])) - {name = null} - return name; - } - - }; - - HUB.Register.StartupHook("TeX HTML Ready",function () { - var TEX = MathJax.InputJax.TeX; - - TEX.Parse.Augment({ - - // - // Implements \href{url}{math} with URL filter - // - HREF_attribute: function (name) { - var url = SAFE.filterURL(this.GetArgument(name)), - arg = this.GetArgumentMML(name); - if (url) {arg.With({href:url})} - this.Push(arg); - }, - - // - // Implements \class{name}{math} with class-name filter - // - CLASS_attribute: function (name) { - var CLASS = SAFE.filterClass(this.GetArgument(name)), - arg = this.GetArgumentMML(name); - if (CLASS) { - if (arg["class"] != null) {CLASS = arg["class"] + " " + CLASS} - arg.With({"class":CLASS}); - } - this.Push(arg); - }, - - // - // Implements \style{style-string}{math} with style filter - // - STYLE_attribute: function (name) { - var style = SAFE.filterStyles(this.GetArgument(name)), - arg = this.GetArgumentMML(name); - if (style) { - if (arg.style != null) { - if (style.charAt(style.length-1) !== ";") {style += ";"} - style = arg.style + " " + style; - } - arg.With({style: style}); - } - this.Push(arg); - }, - - // - // Implements \cssId{id}{math} with ID filter - // - ID_attribute: function (name) { - var ID = SAFE.filterID(this.GetArgument(name)), - arg = this.GetArgumentMML(name); - if (ID) {arg.With({id:ID})} - this.Push(arg); - } - - }); - - }); - - HUB.Register.StartupHook("TeX Jax Ready",function () { - var TEX = MathJax.InputJax.TeX, - PARSE = TEX.Parse, METHOD = SAFE.filter; - - PARSE.Augment({ - - // - // Implements \require{name} with filtering - // - Require: function (name) { - var file = this.GetArgument(name).replace(/.*\//,"").replace(/[^a-z0-9_.-]/ig,""); - file = SAFE.filterRequire(file); - if (file) {this.Extension(null,file)} - }, - - // - // Controls \mmlToken attributes - // - MmlFilterAttribute: function (name,value) { - if (METHOD[name]) {value = SAFE[METHOD[name]](value)} - return value; - }, - - // - // Handles font size macros with filtering - // - SetSize: function (name,size) { - size = SAFE.filterSize(size); - if (size) { - this.stack.env.size = size; - this.Push(TEX.Stack.Item.style().With({styles: {mathsize: size+"em"}})); - } - } - - }); - }); - - HUB.Register.StartupHook("TeX bbox Ready",function () { - var TEX = MathJax.InputJax.TeX; - - // - // Filter the styles for \bbox - // - TEX.Parse.Augment({ - BBoxStyle: function (styles) {return SAFE.filterStyles(styles)}, - BBoxPadding: function (pad) { - var styles = SAFE.filterStyles("padding: "+pad); - return (styles ? pad : 0); - } - }); - - }); - - HUB.Register.StartupHook("MathML Jax Ready",function () { - var PARSE = MathJax.InputJax.MathML.Parse, - METHOD = SAFE.filter; - - // - // Filter MathML attributes - // - PARSE.Augment({ - filterAttribute: function (name,value) { - if (METHOD[name]) {value = SAFE[METHOD[name]](value)} - return value; - } - }); - - }); - - // MathML input (href, style, fontsize, class, id) - - HUB.Startup.signal.Post("Safe Extension Ready"); - AJAX.loadComplete("[MathJax]/extensions/Safe.js"); - -})(MathJax.Hub,MathJax.Ajax); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/AMScd.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMScd.js deleted file mode 100644 index 625beb19..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/AMScd.js +++ /dev/null @@ -1,158 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/AMScd.js - * - * Implements the CD environment for commutative diagrams. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/AMScd"] = { - version: "2.7.5", - config: MathJax.Hub.CombineConfig("TeX.CD",{ - colspace: "5pt", - rowspace: "5pt", - harrowsize: "2.75em", - varrowsize: "1.75em", - hideHorizontalLabels: false - }) -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - var MML = MathJax.ElementJax.mml, - TEX = MathJax.InputJax.TeX, - STACKITEM = TEX.Stack.Item, - TEXDEF = TEX.Definitions, - CONFIG = MathJax.Extension["TeX/AMScd"].config; - - TEXDEF.environment.CD = "CD_env"; - TEXDEF.special["@"] = "CD_arrow"; - TEXDEF.macros.minCDarrowwidth = "CD_minwidth"; - TEXDEF.macros.minCDarrowheight = "CD_minheight"; - - TEX.Parse.Augment({ - // - // Implements \begin{CD}...\end{CD} - // - CD_env: function (begin) { - this.Push(begin); - return STACKITEM.array().With({ - arraydef: { - columnalign: "center", - columnspacing: CONFIG.colspace, - rowspacing: CONFIG.rowspace, - displaystyle: true - }, - minw: this.stack.env.CD_minw || CONFIG.harrowsize, - minh: this.stack.env.CD_minh || CONFIG.varrowsize - }); - }, - - CD_arrow: function (name) { - var c = this.string.charAt(this.i); - if (!c.match(/[>>> @<<< @VVV and @AAA, get the arrow and labels - // - var arrow = {">":"\u2192", "<":"\u2190", V:"\u2193", A:"\u2191"}[c]; - var a = this.GetUpTo(name+c,c), - b = this.GetUpTo(name+c,c); - - if (c === ">" || c === "<") { - // - // Lay out horizontal arrows with munderover if it has labels - // - mml = MML.mo(arrow).With(hdef); - if (!a) {a = "\\kern "+top.minw} // minsize needs work - if (a || b) { - var pad = {width:"+11mu", lspace:"6mu"}; - mml = MML.munderover(this.mmlToken(mml)); - if (a) { - a = TEX.Parse(a,this.stack.env).mml(); - mml.SetData(mml.over,MML.mpadded(a).With(pad).With({voffset:".1em"})); - } - if (b) { - b = TEX.Parse(b,this.stack.env).mml(); - mml.SetData(mml.under,MML.mpadded(b).With(pad)); - } - if (CONFIG.hideHorizontalLabels) - {mml = MML.mpadded(mml).With({depth:0, height:".67em"})} - } - } else { - // - // Lay out vertical arrows with mrow if there are labels - // - mml = arrow = this.mmlToken(MML.mo(arrow).With(vdef)); - if (a || b) { - mml = MML.mrow(); - if (a) {mml.Append(TEX.Parse("\\scriptstyle\\llap{"+a+"}",this.stack.env).mml())} - mml.Append(arrow.With({texClass: MML.TEXCLASS.ORD})); - if (b) {mml.Append(TEX.Parse("\\scriptstyle\\rlap{"+b+"}",this.stack.env).mml())} - } - } - } - if (mml) {this.Push(mml)}; - this.CD_cell(name); - }, - CD_cell: function (name) { - var top = this.stack.Top(); - if ((top.table||[]).length % 2 === 0 && (top.row||[]).length === 0) { - // - // Add a strut to the first cell in even rows to get - // better spacing of arrow rows. - // - this.Push(MML.mpadded().With({height:"8.5pt",depth:"2pt"})); - } - this.Push(STACKITEM.cell().With({isEntry:true, name:name})); - }, - - CD_minwidth: function (name) { - this.stack.env.CD_minw = this.GetDimen(name); - }, - CD_minheight: function (name) { - this.stack.env.CD_minh = this.GetDimen(name); - } - - }); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMScd.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSmath.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSmath.js deleted file mode 100644 index f79a76b4..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSmath.js +++ /dev/null @@ -1,658 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/AMSmath.js - * - * Implements AMS math environments and macros. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/AMSmath"] = { - version: "2.7.5", - - number: 0, // current equation number - startNumber: 0, // current starting equation number (for when equation is restarted) - IDs: {}, // IDs used in previous equations - eqIDs: {}, // IDs used in this equation - labels: {}, // the set of labels - eqlabels: {}, // labels in the current equation - refs: [] // array of jax with unresolved references -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - - var MML = MathJax.ElementJax.mml, - TEX = MathJax.InputJax.TeX, - AMS = MathJax.Extension["TeX/AMSmath"]; - - var TEXDEF = TEX.Definitions, - STACKITEM = TEX.Stack.Item, - CONFIG = TEX.config.equationNumbers; - - var COLS = function (W) { - var WW = []; - for (var i = 0, m = W.length; i < m; i++) - {WW[i] = TEX.Parse.prototype.Em(W[i])} - return WW.join(" "); - }; - - // - // Get the URL of the page (for use with formatURL) when there - // is a element on the page. - // - var baseURL = (document.getElementsByTagName("base").length === 0) ? "" : - String(document.location).replace(/#.*$/,""); - - - /******************************************************************************/ - - TEXDEF.Add({ - mathchar0mo: { - iiiint: ['2A0C',{texClass: MML.TEXCLASS.OP}] - }, - - macros: { - mathring: ['Accent','2DA'], // or 0x30A - - nobreakspace: 'Tilde', - negmedspace: ['Spacer',MML.LENGTH.NEGATIVEMEDIUMMATHSPACE], - negthickspace: ['Spacer',MML.LENGTH.NEGATIVETHICKMATHSPACE], - -// intI: ['Macro','\\mathchoice{\\!}{}{}{}\\!\\!\\int'], -// iint: ['MultiIntegral','\\int\\intI'], // now in core TeX input jax -// iiint: ['MultiIntegral','\\int\\intI\\intI'], // now in core TeX input jax -// iiiint: ['MultiIntegral','\\int\\intI\\intI\\intI'], // now in mathchar0mo above - idotsint: ['MultiIntegral','\\int\\cdots\\int'], - -// dddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}}',1], -// ddddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}\\mathord{.}}',1], - dddot: ['Accent','20DB'], - ddddot: ['Accent','20DC'], - - sideset: ['Macro','\\mathop{\\mathop{\\rlap{\\phantom{#3}}}\\nolimits#1\\!\\mathop{#3}\\nolimits#2}',3], - - boxed: ['Macro','\\fbox{$\\displaystyle{#1}$}',1], - - tag: 'HandleTag', - notag: 'HandleNoTag', - label: 'HandleLabel', - ref: 'HandleRef', - eqref: ['HandleRef',true], - - substack: ['Macro','\\begin{subarray}{c}#1\\end{subarray}',1], - - injlim: ['NamedOp','inj lim'], - projlim: ['NamedOp','proj lim'], - varliminf: ['Macro','\\mathop{\\underline{\\mmlToken{mi}{lim}}}'], - varlimsup: ['Macro','\\mathop{\\overline{\\mmlToken{mi}{lim}}}'], - varinjlim: ['Macro','\\mathop{\\underrightarrow{\\mmlToken{mi}{lim}}}'], - varprojlim: ['Macro','\\mathop{\\underleftarrow{\\mmlToken{mi}{lim}}}'], - - DeclareMathOperator: 'HandleDeclareOp', - operatorname: 'HandleOperatorName', - SkipLimits: 'SkipLimits', - - genfrac: 'Genfrac', - frac: ['Genfrac',"","","",""], - tfrac: ['Genfrac',"","","",1], - dfrac: ['Genfrac',"","","",0], - binom: ['Genfrac',"(",")","0",""], - tbinom: ['Genfrac',"(",")","0",1], - dbinom: ['Genfrac',"(",")","0",0], - - cfrac: 'CFrac', - - shoveleft: ['HandleShove',MML.ALIGN.LEFT], - shoveright: ['HandleShove',MML.ALIGN.RIGHT], - - xrightarrow: ['xArrow',0x2192,5,6], - xleftarrow: ['xArrow',0x2190,7,3] - }, - - environment: { - align: ['AMSarray',null,true,true, 'rlrlrlrlrlrl',COLS([0,2,0,2,0,2,0,2,0,2,0])], - 'align*': ['AMSarray',null,false,true, 'rlrlrlrlrlrl',COLS([0,2,0,2,0,2,0,2,0,2,0])], - multline: ['Multline',null,true], - 'multline*': ['Multline',null,false], - split: ['AMSarray',null,false,false,'rl',COLS([0])], - gather: ['AMSarray',null,true,true, 'c'], - 'gather*': ['AMSarray',null,false,true, 'c'], - - alignat: ['AlignAt',null,true,true], - 'alignat*': ['AlignAt',null,false,true], - alignedat: ['AlignAt',null,false,false], - - aligned: ['AlignedAMSArray',null,null,null,'rlrlrlrlrlrl',COLS([0,2,0,2,0,2,0,2,0,2,0]),".5em",'D'], - gathered: ['AlignedAMSArray',null,null,null,'c',null,".5em",'D'], - - subarray: ['Array',null,null,null,null,COLS([0]),"0.1em",'S',1], - smallmatrix: ['Array',null,null,null,'c',COLS([1/3]),".2em",'S',1], - - 'equation': ['EquationBegin','Equation',true], - 'equation*': ['EquationBegin','EquationStar',false], - - eqnarray: ['AMSarray',null,true,true, 'rcl',"0 "+MML.LENGTH.THICKMATHSPACE,".5em"], - 'eqnarray*': ['AMSarray',null,false,true,'rcl',"0 "+MML.LENGTH.THICKMATHSPACE,".5em"] - }, - - delimiter: { - '\\lvert': ['007C',{texClass:MML.TEXCLASS.OPEN}], - '\\rvert': ['007C',{texClass:MML.TEXCLASS.CLOSE}], - '\\lVert': ['2016',{texClass:MML.TEXCLASS.OPEN}], - '\\rVert': ['2016',{texClass:MML.TEXCLASS.CLOSE}] - } - },null,true); - - - /******************************************************************************/ - - TEX.Parse.Augment({ - - /* - * Add the tag to the environment (to be added to the table row later) - */ - HandleTag: function (name) { - var star = this.GetStar(); - var arg = this.trimSpaces(this.GetArgument(name)), tag = arg; - if (!star) {arg = CONFIG.formatTag(arg)} - var global = this.stack.global; global.tagID = tag; - if (global.notags) { - TEX.Error(["CommandNotAllowedInEnv", - "%1 not allowed in %2 environment", - name,global.notags] - ); - } - if (global.tag) {TEX.Error(["MultipleCommand","Multiple %1",name])} - global.tag = MML.mtd.apply(MML,this.InternalMath(arg)).With({id:CONFIG.formatID(tag)}); - }, - HandleNoTag: function (name) { - if (this.stack.global.tag) {delete this.stack.global.tag} - this.stack.global.notag = true; // prevent auto-tagging - }, - - /* - * Record a label name for a tag - */ - HandleLabel: function (name) { - var global = this.stack.global, label = this.GetArgument(name); - if (label === "") return; - if (!AMS.refUpdate) { - if (global.label) {TEX.Error(["MultipleCommand","Multiple %1",name])} - global.label = label; - if (AMS.labels[label] || AMS.eqlabels[label]) - {TEX.Error(["MultipleLabel","Label '%1' multiply defined",label])} - AMS.eqlabels[label] = {tag:"???", id:""}; // will be replaced by tag value later - } - }, - - /* - * Handle a label reference - */ - HandleRef: function (name,eqref) { - var label = this.GetArgument(name); - var ref = AMS.labels[label] || AMS.eqlabels[label]; - if (!ref) {ref = {tag:"???",id:""}; AMS.badref = !AMS.refUpdate} - var tag = ref.tag; if (eqref) {tag = CONFIG.formatTag(tag)} - this.Push(MML.mrow.apply(MML,this.InternalMath(tag)).With({ - href:CONFIG.formatURL(ref.id,baseURL), "class":"MathJax_ref" - })); - }, - - /* - * Handle \DeclareMathOperator - */ - HandleDeclareOp: function (name) { - var limits = (this.GetStar() ? "" : "\\nolimits\\SkipLimits"); - var cs = this.trimSpaces(this.GetArgument(name)); - if (cs.charAt(0) == "\\") {cs = cs.substr(1)} - var op = this.GetArgument(name); - op = op.replace(/\*/g,'\\text{*}').replace(/-/g,'\\text{-}'); - this.setDef(cs, ['Macro', '\\mathop{\\rm '+op+'}'+limits]); - }, - - HandleOperatorName: function (name) { - var limits = (this.GetStar() ? "" : "\\nolimits\\SkipLimits"); - var op = this.trimSpaces(this.GetArgument(name)); - op = op.replace(/\*/g,'\\text{*}').replace(/-/g,'\\text{-}'); - this.string = '\\mathop{\\rm '+op+'}'+limits+" "+this.string.slice(this.i); - this.i = 0; - }, - - SkipLimits: function (name) { - var c = this.GetNext(), i = this.i; - if (c === "\\" && ++this.i && this.GetCS() !== "limits") this.i = i; - }, - - /* - * Record presence of \shoveleft and \shoveright - */ - HandleShove: function (name,shove) { - var top = this.stack.Top(); - if (top.type !== "multline") { - TEX.Error(["CommandInMultline", - "%1 can only appear within the multline environment",name]); - } - if (top.data.length) { - TEX.Error(["CommandAtTheBeginingOfLine", - "%1 must come at the beginning of the line",name]); - } - top.data.shove = shove; - }, - - /* - * Handle \cfrac - */ - CFrac: function (name) { - var lr = this.trimSpaces(this.GetBrackets(name,"")), - num = this.GetArgument(name), - den = this.GetArgument(name); - var frac = MML.mfrac(TEX.Parse('\\strut\\textstyle{'+num+'}',this.stack.env).mml(), - TEX.Parse('\\strut\\textstyle{'+den+'}',this.stack.env).mml()); - lr = ({l:MML.ALIGN.LEFT, r:MML.ALIGN.RIGHT,"":""})[lr]; - if (lr == null) - {TEX.Error(["IllegalAlign","Illegal alignment specified in %1",name])} - if (lr) {frac.numalign = frac.denomalign = lr} - this.Push(frac); - }, - - /* - * Implement AMS generalized fraction - */ - Genfrac: function (name,left,right,thick,style) { - if (left == null) {left = this.GetDelimiterArg(name)} - if (right == null) {right = this.GetDelimiterArg(name)} - if (thick == null) {thick = this.GetArgument(name)} - if (style == null) {style = this.trimSpaces(this.GetArgument(name))} - var num = this.ParseArg(name); - var den = this.ParseArg(name); - var frac = MML.mfrac(num,den); - if (thick !== "") {frac.linethickness = thick} - if (left || right) {frac = TEX.fixedFence(left,frac.With({texWithDelims:true}),right)} - if (style !== "") { - var STYLE = (["D","T","S","SS"])[style]; - if (STYLE == null) - {TEX.Error(["BadMathStyleFor","Bad math style for %1",name])} - frac = MML.mstyle(frac); - if (STYLE === "D") {frac.displaystyle = true; frac.scriptlevel = 0} - else {frac.displaystyle = false; frac.scriptlevel = style - 1} - } - this.Push(frac); - }, - - /* - * Implements multline environment (mostly handled through STACKITEM below) - */ - Multline: function (begin,numbered) { - this.Push(begin); this.checkEqnEnv(); - return STACKITEM.multline(numbered,this.stack).With({ - arraydef: { - displaystyle: true, - rowspacing: ".5em", - width: TEX.config.MultLineWidth, columnwidth:"100%", - side: TEX.config.TagSide, - minlabelspacing: TEX.config.TagIndent - } - }); - }, - - /* - * Handle AMS aligned environments - */ - AMSarray: function (begin,numbered,taggable,align,spacing) { - this.Push(begin); if (taggable) {this.checkEqnEnv()} - align = align.replace(/[^clr]/g,'').split('').join(' '); - align = align.replace(/l/g,'left').replace(/r/g,'right').replace(/c/g,'center'); - return STACKITEM.AMSarray(begin.name,numbered,taggable,this.stack).With({ - arraydef: { - displaystyle: true, - rowspacing: ".5em", - columnalign: align, - columnspacing: (spacing||"1em"), - rowspacing: "3pt", - side: TEX.config.TagSide, - minlabelspacing: TEX.config.TagIndent - } - }); - }, - - AlignedAMSArray: function (begin) { - var align = this.GetBrackets("\\begin{"+begin.name+"}"); - return this.setArrayAlign(this.AMSarray.apply(this,arguments),align); - }, - - /* - * Handle alignat environments - */ - AlignAt: function (begin,numbered,taggable) { - var n, valign, align = "", spacing = []; - if (!taggable) {valign = this.GetBrackets("\\begin{"+begin.name+"}")} - n = this.GetArgument("\\begin{"+begin.name+"}"); - if (n.match(/[^0-9]/)) { - TEX.Error(["PositiveIntegerArg","Argument to %1 must me a positive integer", - "\\begin{"+begin.name+"}"]); - } - while (n > 0) {align += "rl"; spacing.push("0em 0em"); n--} - spacing = spacing.join(" "); - if (taggable) {return this.AMSarray(begin,numbered,taggable,align,spacing)} - var array = this.AMSarray(begin,numbered,taggable,align,spacing); - return this.setArrayAlign(array,valign); - }, - - /* - * Handle equation environment - */ - EquationBegin: function (begin,force) { - this.checkEqnEnv(); - this.stack.global.forcetag = (force && CONFIG.autoNumber !== "none"); - return begin; - }, - EquationStar: function (begin,row) { - this.stack.global.tagged = true; // prevent automatic tagging - return row; - }, - - /* - * Check for bad nesting of equation environments - */ - checkEqnEnv: function () { - if (this.stack.global.eqnenv) - {TEX.Error(["ErroneousNestingEq","Erroneous nesting of equation structures"])} - this.stack.global.eqnenv = true; - }, - - /* - * Handle multiple integrals (make a mathop if followed by limits) - */ - MultiIntegral: function (name,integral) { - var next = this.GetNext(); - if (next === "\\") { - var i = this.i; next = this.GetArgument(name); this.i = i; - if (next === "\\limits") { - if (name === "\\idotsint") {integral = "\\!\\!\\mathop{\\,\\,"+integral+"}"} - else {integral = "\\!\\!\\!\\mathop{\\,\\,\\,"+integral+"}"} - } - } - this.string = integral + " " + this.string.slice(this.i); - this.i = 0; - }, - - /* - * Handle stretchable arrows - */ - xArrow: function (name,chr,l,r) { - var def = {width: "+"+(l+r)+"mu", lspace: l+"mu"}; - var bot = this.GetBrackets(name), - top = this.ParseArg(name); - var arrow = MML.mo(MML.chars(String.fromCharCode(chr))).With({ - stretchy: true, texClass: MML.TEXCLASS.REL - }); - var mml = MML.munderover(arrow); - mml.SetData(mml.over,MML.mpadded(top).With(def).With({voffset:".15em"})); - if (bot) { - bot = TEX.Parse(bot,this.stack.env).mml() - mml.SetData(mml.under,MML.mpadded(bot).With(def).With({voffset:"-.24em"})); - } - this.Push(mml.With({subsupOK:true})); - }, - - /* - * Get a delimiter or empty argument - */ - GetDelimiterArg: function (name) { - var c = this.trimSpaces(this.GetArgument(name)); - if (c == "") return null; - if (c in TEXDEF.delimiter) return c; - TEX.Error(["MissingOrUnrecognizedDelim","Missing or unrecognized delimiter for %1",name]); - }, - - /* - * Get a star following a control sequence name, if any - */ - GetStar: function () { - var star = (this.GetNext() === "*"); - if (star) {this.i++} - return star; - } - - }); - - /******************************************************************************/ - - STACKITEM.Augment({ - /* - * Increment equation number and form tag mtd element - */ - autoTag: function () { - var global = this.global; - if (!global.notag) { - AMS.number++; global.tagID = CONFIG.formatNumber(AMS.number.toString()); - var mml = TEX.Parse("\\text{"+CONFIG.formatTag(global.tagID)+"}",{}).mml(); - global.tag = MML.mtd(mml).With({id:CONFIG.formatID(global.tagID)}); - } - }, - - /* - * Get the tag and record the label, if any - */ - getTag: function () { - var global = this.global, tag = global.tag; global.tagged = true; - if (global.label) { - if (CONFIG.useLabelIds) {tag.id = CONFIG.formatID(global.label)} - AMS.eqlabels[global.label] = {tag:global.tagID, id:tag.id}; - } - // - // Check for repeated ID's (either in the document or as - // a previous tag) and find a unique related one. (#240) - // - if (document.getElementById(tag.id) || AMS.IDs[tag.id] || AMS.eqIDs[tag.id]) { - var i = 0, ID; - do {i++; ID = tag.id+"_"+i} - while (document.getElementById(ID) || AMS.IDs[ID] || AMS.eqIDs[ID]); - tag.id = ID; if (global.label) {AMS.eqlabels[global.label].id = ID} - } - AMS.eqIDs[tag.id] = 1; - this.clearTag(); - return tag; - }, - clearTag: function () { - var global = this.global; - delete global.tag; delete global.tagID; delete global.label; - }, - - /* - * If the initial child, skipping any initial space or - * empty braces (TeXAtom with child being an empty inferred row), - * is an , precede it by an empty to force the to - * be infix. - */ - fixInitialMO: function (data) { - for (var i = 0, m = data.length; i < m; i++) { - if (data[i] && (data[i].type !== "mspace" && - (data[i].type !== "texatom" || (data[i].data[0] && data[i].data[0].data.length)))) { - if (data[i].isEmbellished()) data.unshift(MML.mi()); - break; - } - } - } - }); - - /* - * Implement multline environment via a STACKITEM - */ - STACKITEM.multline = STACKITEM.array.Subclass({ - type: "multline", - Init: function (numbered,stack) { - this.SUPER(arguments).Init.apply(this); - this.numbered = (numbered && CONFIG.autoNumber !== "none"); - this.save = {notag: stack.global.notag}; - stack.global.tagged = !numbered && !stack.global.forcetag; // prevent automatic tagging in starred environments - }, - EndEntry: function () { - if (this.table.length) {this.fixInitialMO(this.data)} - var mtd = MML.mtd.apply(MML,this.data); - if (this.data.shove) {mtd.columnalign = this.data.shove} - this.row.push(mtd); - this.data = []; - }, - EndRow: function () { - if (this.row.length != 1) { - TEX.Error(["MultlineRowsOneCol", - "The rows within the %1 environment must have exactly one column", - "multline"]); - } - this.table.push(this.row); this.row = []; - }, - EndTable: function () { - this.SUPER(arguments).EndTable.call(this); - if (this.table.length) { - var m = this.table.length-1, i, label = -1; - if (!this.table[0][0].columnalign) {this.table[0][0].columnalign = MML.ALIGN.LEFT} - if (!this.table[m][0].columnalign) {this.table[m][0].columnalign = MML.ALIGN.RIGHT} - if (!this.global.tag && this.numbered) {this.autoTag()} - if (this.global.tag && !this.global.notags) { - label = (this.arraydef.side === "left" ? 0 : this.table.length - 1); - this.table[label] = [this.getTag()].concat(this.table[label]); - } - for (i = 0, m = this.table.length; i < m; i++) { - var mtr = (i === label ? MML.mlabeledtr : MML.mtr); - this.table[i] = mtr.apply(MML,this.table[i]); - } - } - this.global.notag = this.save.notag; - } - }); - - /* - * Save data about numbering and taging equations, and add - * tags at the ends of rows. - */ - STACKITEM.AMSarray = STACKITEM.array.Subclass({ - type: "AMSarray", - Init: function (name,numbered,taggable,stack) { - this.SUPER(arguments).Init.apply(this); - this.numbered = (numbered && CONFIG.autoNumber !== "none"); - this.save = {notags: stack.global.notags, notag: stack.global.notag}; - stack.global.notags = (taggable ? null : name); - stack.global.tagged = !numbered && !stack.global.forcetag; // prevent automatic tagging in starred environments - }, - EndEntry: function () { - if (this.row.length % 2 === 1) {this.fixInitialMO(this.data)} - this.row.push(MML.mtd.apply(MML,this.data)); - this.data = []; - }, - EndRow: function () { - var mtr = MML.mtr; - if (!this.global.tag && this.numbered) {this.autoTag()} - if (this.global.tag && !this.global.notags) { - this.row = [this.getTag()].concat(this.row); - mtr = MML.mlabeledtr; - } else {this.clearTag()} - if (this.numbered) {delete this.global.notag} - this.table.push(mtr.apply(MML,this.row)); this.row = []; - }, - EndTable: function () { - this.SUPER(arguments).EndTable.call(this); - this.global.notags = this.save.notags; - this.global.notag = this.save.notag; - } - }); - - // - // Look for \tag on a formula and make an mtable to include it - // - STACKITEM.start.Augment({ - oldCheckItem: STACKITEM.start.prototype.checkItem, - checkItem: function (item) { - if (item.type === "stop") { - var mml = this.mmlData(), global = this.global; - if (AMS.display && !global.tag && !global.tagged && !global.isInner && - (CONFIG.autoNumber === "all" || global.forcetag)) {this.autoTag()} - if (global.tag) { - var row = [this.getTag(),MML.mtd(mml)]; - var def = { - side: TEX.config.TagSide, - minlabelspacing: TEX.config.TagIndent, - displaystyle: "inherit" // replaced by TeX input jax Translate() function with actual value - }; - mml = MML.mtable(MML.mlabeledtr.apply(MML,row)).With(def); - } - return STACKITEM.mml(mml); - } - return this.oldCheckItem.call(this,item); - } - }); - - /******************************************************************************/ - - /* - * Add pre- and post-filters to handle the equation number maintenance. - */ - TEX.prefilterHooks.Add(function (data) { - AMS.display = data.display; - AMS.number = AMS.startNumber; // reset equation numbers (in case the equation restarted) - AMS.eqlabels = {}; - AMS.eqIDs = {}; - AMS.badref = false; - if (AMS.refUpdate) {AMS.number = data.script.MathJax.startNumber} - }); - TEX.postfilterHooks.Add(function (data) { - data.script.MathJax.startNumber = AMS.startNumber; - AMS.startNumber = AMS.number; // equation numbers for next equation - MathJax.Hub.Insert(AMS.IDs,AMS.eqIDs); // save IDs from this equation - MathJax.Hub.Insert(AMS.labels,AMS.eqlabels); // save labels from this equation - if (AMS.badref && !data.math.texError) {AMS.refs.push(data.script)} // reprocess later - },100); - - MathJax.Hub.Register.MessageHook("Begin Math Input",function () { - AMS.refs = []; // array of jax with bad references - AMS.refUpdate = false; - }); - MathJax.Hub.Register.MessageHook("End Math Input",function (message) { - if (AMS.refs.length) { - AMS.refUpdate = true; - for (var i = 0, m = AMS.refs.length; i < m; i++) - {AMS.refs[i].MathJax.state = MathJax.ElementJax.STATE.UPDATE} - return MathJax.Hub.processInput({ - scripts:AMS.refs, - start: new Date().getTime(), - i:0, j:0, jax:{}, jaxIDs:[] - }); - } - return null; - }); - - // - // Clear the equation numbers and labels - // - TEX.resetEquationNumbers = function (n,keepLabels) { - AMS.startNumber = (n || 0); - if (!keepLabels) { - AMS.labels = {}; - AMS.IDs = {}; - } - } - - /******************************************************************************/ - - MathJax.Hub.Startup.signal.Post("TeX AMSmath Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMSmath.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSsymbols.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSsymbols.js deleted file mode 100644 index 74b3e62b..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSsymbols.js +++ /dev/null @@ -1,349 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/AMSsymbols.js - * - * Implements macros for accessing the AMS symbol fonts. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/AMSsymbols"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - var MML = MathJax.ElementJax.mml, - TEXDEF = MathJax.InputJax.TeX.Definitions; - - TEXDEF.Add({ - - mathchar0mi: { - // Lowercase Greek letters - digamma: '03DD', - varkappa: '03F0', - - // Uppercase Greek letters - varGamma: ['0393',{mathvariant: MML.VARIANT.ITALIC}], - varDelta: ['0394',{mathvariant: MML.VARIANT.ITALIC}], - varTheta: ['0398',{mathvariant: MML.VARIANT.ITALIC}], - varLambda: ['039B',{mathvariant: MML.VARIANT.ITALIC}], - varXi: ['039E',{mathvariant: MML.VARIANT.ITALIC}], - varPi: ['03A0',{mathvariant: MML.VARIANT.ITALIC}], - varSigma: ['03A3',{mathvariant: MML.VARIANT.ITALIC}], - varUpsilon: ['03A5',{mathvariant: MML.VARIANT.ITALIC}], - varPhi: ['03A6',{mathvariant: MML.VARIANT.ITALIC}], - varPsi: ['03A8',{mathvariant: MML.VARIANT.ITALIC}], - varOmega: ['03A9',{mathvariant: MML.VARIANT.ITALIC}], - - // Hebrew letters - beth: '2136', - gimel: '2137', - daleth: '2138', - - // Miscellaneous symbols -// hbar: '0127', // in TeX/jax.js - backprime: ['2035',{variantForm: true}], - hslash: '210F', - varnothing: ['2205',{variantForm: true}], - blacktriangle: '25B4', - triangledown: ['25BD',{variantForm: true}], - blacktriangledown: '25BE', - square: '25FB', - Box: '25FB', - blacksquare: '25FC', - lozenge: '25CA', - Diamond: '25CA', - blacklozenge: '29EB', - circledS: ['24C8',{mathvariant: MML.VARIANT.NORMAL}], - bigstar: '2605', -// angle: '2220', // in TeX/jax.js - sphericalangle: '2222', - measuredangle: '2221', - nexists: '2204', - complement: '2201', - mho: '2127', - eth: ['00F0',{mathvariant: MML.VARIANT.NORMAL}], - Finv: '2132', - diagup: '2571', - Game: '2141', - diagdown: '2572', - Bbbk: ['006B',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], - - yen: '00A5', - circledR: '00AE', - checkmark: '2713', - maltese: '2720' - }, - - mathchar0mo: { - // Binary operators - dotplus: '2214', - ltimes: '22C9', - smallsetminus: '2216', - rtimes: '22CA', - Cap: '22D2', - doublecap: '22D2', - leftthreetimes: '22CB', - Cup: '22D3', - doublecup: '22D3', - rightthreetimes: '22CC', - barwedge: '22BC', - curlywedge: '22CF', - veebar: '22BB', - curlyvee: '22CE', - doublebarwedge: '2A5E', - boxminus: '229F', - circleddash: '229D', - boxtimes: '22A0', - circledast: '229B', - boxdot: '22A1', - circledcirc: '229A', - boxplus: '229E', - centerdot: ['22C5',{variantForm: true}], - divideontimes: '22C7', - intercal: '22BA', - - // Binary relations - leqq: '2266', - geqq: '2267', - leqslant: '2A7D', - geqslant: '2A7E', - eqslantless: '2A95', - eqslantgtr: '2A96', - lesssim: '2272', - gtrsim: '2273', - lessapprox: '2A85', - gtrapprox: '2A86', - approxeq: '224A', - lessdot: '22D6', - gtrdot: '22D7', - lll: '22D8', - llless: '22D8', - ggg: '22D9', - gggtr: '22D9', - lessgtr: '2276', - gtrless: '2277', - lesseqgtr: '22DA', - gtreqless: '22DB', - lesseqqgtr: '2A8B', - gtreqqless: '2A8C', - doteqdot: '2251', - Doteq: '2251', - eqcirc: '2256', - risingdotseq: '2253', - circeq: '2257', - fallingdotseq: '2252', - triangleq: '225C', - backsim: '223D', - thicksim: ['223C',{variantForm: true}], - backsimeq: '22CD', - thickapprox: ['2248',{variantForm: true}], - subseteqq: '2AC5', - supseteqq: '2AC6', - Subset: '22D0', - Supset: '22D1', - sqsubset: '228F', - sqsupset: '2290', - preccurlyeq: '227C', - succcurlyeq: '227D', - curlyeqprec: '22DE', - curlyeqsucc: '22DF', - precsim: '227E', - succsim: '227F', - precapprox: '2AB7', - succapprox: '2AB8', - vartriangleleft: '22B2', - lhd: '22B2', - vartriangleright: '22B3', - rhd: '22B3', - trianglelefteq: '22B4', - unlhd: '22B4', - trianglerighteq: '22B5', - unrhd: '22B5', - vDash: '22A8', - Vdash: '22A9', - Vvdash: '22AA', - smallsmile: ['2323',{variantForm: true}], - shortmid: ['2223',{variantForm: true}], - smallfrown: ['2322',{variantForm: true}], - shortparallel: ['2225',{variantForm: true}], - bumpeq: '224F', - between: '226C', - Bumpeq: '224E', - pitchfork: '22D4', - varpropto: '221D', - backepsilon: '220D', - blacktriangleleft: '25C2', - blacktriangleright: '25B8', - therefore: '2234', - because: '2235', - eqsim: '2242', - vartriangle: ['25B3',{variantForm: true}], - Join: '22C8', - - // Negated relations - nless: '226E', - ngtr: '226F', - nleq: '2270', - ngeq: '2271', - nleqslant: ['2A87',{variantForm: true}], - ngeqslant: ['2A88',{variantForm: true}], - nleqq: ['2270',{variantForm: true}], - ngeqq: ['2271',{variantForm: true}], - lneq: '2A87', - gneq: '2A88', - lneqq: '2268', - gneqq: '2269', - lvertneqq: ['2268',{variantForm: true}], - gvertneqq: ['2269',{variantForm: true}], - lnsim: '22E6', - gnsim: '22E7', - lnapprox: '2A89', - gnapprox: '2A8A', - nprec: '2280', - nsucc: '2281', - npreceq: ['22E0',{variantForm: true}], - nsucceq: ['22E1',{variantForm: true}], - precneqq: '2AB5', - succneqq: '2AB6', - precnsim: '22E8', - succnsim: '22E9', - precnapprox: '2AB9', - succnapprox: '2ABA', - nsim: '2241', - ncong: '2246', - nshortmid: ['2224',{variantForm: true}], - nshortparallel: ['2226',{variantForm: true}], - nmid: '2224', - nparallel: '2226', - nvdash: '22AC', - nvDash: '22AD', - nVdash: '22AE', - nVDash: '22AF', - ntriangleleft: '22EA', - ntriangleright: '22EB', - ntrianglelefteq: '22EC', - ntrianglerighteq: '22ED', - nsubseteq: '2288', - nsupseteq: '2289', - nsubseteqq: ['2288',{variantForm: true}], - nsupseteqq: ['2289',{variantForm: true}], - subsetneq: '228A', - supsetneq: '228B', - varsubsetneq: ['228A',{variantForm: true}], - varsupsetneq: ['228B',{variantForm: true}], - subsetneqq: '2ACB', - supsetneqq: '2ACC', - varsubsetneqq: ['2ACB',{variantForm: true}], - varsupsetneqq: ['2ACC',{variantForm: true}], - - - // Arrows - leftleftarrows: '21C7', - rightrightarrows: '21C9', - leftrightarrows: '21C6', - rightleftarrows: '21C4', - Lleftarrow: '21DA', - Rrightarrow: '21DB', - twoheadleftarrow: '219E', - twoheadrightarrow: '21A0', - leftarrowtail: '21A2', - rightarrowtail: '21A3', - looparrowleft: '21AB', - looparrowright: '21AC', - leftrightharpoons: '21CB', - rightleftharpoons: ['21CC',{variantForm: true}], - curvearrowleft: '21B6', - curvearrowright: '21B7', - circlearrowleft: '21BA', - circlearrowright: '21BB', - Lsh: '21B0', - Rsh: '21B1', - upuparrows: '21C8', - downdownarrows: '21CA', - upharpoonleft: '21BF', - upharpoonright: '21BE', - downharpoonleft: '21C3', - restriction: '21BE', - multimap: '22B8', - downharpoonright: '21C2', - leftrightsquigarrow: '21AD', - rightsquigarrow: '21DD', - leadsto: '21DD', - dashrightarrow: '21E2', - dashleftarrow: '21E0', - - // Negated arrows - nleftarrow: '219A', - nrightarrow: '219B', - nLeftarrow: '21CD', - nRightarrow: '21CF', - nleftrightarrow: '21AE', - nLeftrightarrow: '21CE' - }, - - delimiter: { - // corners - "\\ulcorner": '231C', - "\\urcorner": '231D', - "\\llcorner": '231E', - "\\lrcorner": '231F' - }, - - macros: { - implies: ['Macro','\\;\\Longrightarrow\\;'], - impliedby: ['Macro','\\;\\Longleftarrow\\;'] - } - - },null,true); - - var REL = MML.mo.OPTYPES.REL; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - infix: { - '\u2322': REL, // smallfrown - '\u2323': REL, // smallsmile - '\u25B3': REL, // vartriangle - '\uE006': REL, // nshortmid - '\uE007': REL, // nshortparallel - '\uE00C': REL, // lvertneqq - '\uE00D': REL, // gvertneqq - '\uE00E': REL, // ngeqq - '\uE00F': REL, // ngeqslant - '\uE010': REL, // nleqslant - '\uE011': REL, // nleqq - '\uE016': REL, // nsubseteqq - '\uE017': REL, // varsubsetneqq - '\uE018': REL, // nsupseteqq - '\uE019': REL, // varsupsetneqq - '\uE01A': REL, // varsubsetneq - '\uE01B': REL, // varsupsetneq - '\uE04B': REL, // npreceq - '\uE04F': REL // nsucceq - } - } - }); - - MathJax.Hub.Startup.signal.Post("TeX AMSsymbols Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMSsymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/HTML.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/HTML.js deleted file mode 100644 index c947dd9d..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/HTML.js +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/HTML.js - * - * Implements the \href, \class, \style, \cssId macros. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/HTML"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - - var TEX = MathJax.InputJax.TeX; - var TEXDEF = TEX.Definitions; - - TEXDEF.Add({ - macros: { - href: 'HREF_attribute', - "class": 'CLASS_attribute', - style: 'STYLE_attribute', - cssId: 'ID_attribute' - } - },null,true); - - TEX.Parse.Augment({ - - // - // Implements \href{url}{math} - // - HREF_attribute: function (name) { - var url = this.GetArgument(name), - arg = this.GetArgumentMML(name); - this.Push(arg.With({href:url})); - }, - - // - // Implements \class{name}{math} - // - CLASS_attribute: function (name) { - var CLASS = this.GetArgument(name), - arg = this.GetArgumentMML(name); - if (arg["class"] != null) {CLASS = arg["class"] + " " + CLASS} - this.Push(arg.With({"class":CLASS})); - }, - - // - // Implements \style{style-string}{math} - // - STYLE_attribute: function (name) { - var style = this.GetArgument(name), - arg = this.GetArgumentMML(name); - // check that it looks like a style string - if (arg.style != null) { - if (style.charAt(style.length-1) !== ";") {style += ";"} - style = arg.style + " " + style; - } - this.Push(arg.With({style: style})); - }, - - // - // Implements \cssId{id}{math} - // - ID_attribute: function (name) { - var ID = this.GetArgument(name), - arg = this.GetArgumentMML(name); - this.Push(arg.With({id:ID})); - }, - - // - // returns an argument that is a single MathML element - // (in an mrow if necessary) - // - GetArgumentMML: function (name) { - var arg = this.ParseArg(name); - if (arg.inferred && arg.data.length == 1) - {arg = arg.data[0]} else {delete arg.inferred} - return arg; - } - - }); - - MathJax.Hub.Startup.signal.Post("TeX HTML Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/HTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/action.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/action.js deleted file mode 100644 index a551dd39..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/action.js +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/action.js - * - * Implements the \mathtip, \texttip, and \toggle macros, which give - * access from TeX to the tag in the MathML that underlies - * MathJax's internal format. - * - * Usage: - * - * \mathtip{math}{tip} % use "tip" (in math mode) as tooltip for "math" - * \texttip{math}{tip} % use "tip" (in text mode) as tooltip for "math" - * \toggle{math1}{math2}...\endtoggle - * % show math1, and when clicked, show math2, and so on. - * % When the last one is clicked, go back to math1. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/action"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - var TEX = MathJax.InputJax.TeX, - MML = MathJax.ElementJax.mml; - - // - // Set up control sequenecs - // - TEX.Definitions.Add({ - macros: { - toggle: 'Toggle', - mathtip: 'Mathtip', - texttip: ['Macro','\\mathtip{#1}{\\text{#2}}',2] - } - },null,true); - - TEX.Parse.Augment({ - - // - // Implement \toggle {math1} {math2} ... \endtoggle - // (as an ) - // - Toggle: function (name) { - var data = [], arg; - while ((arg = this.GetArgument(name)) !== "\\endtoggle") - {data.push(TEX.Parse(arg,this.stack.env).mml())} - this.Push(MML.maction.apply(MML,data).With({actiontype: MML.ACTIONTYPE.TOGGLE})); - }, - - // - // Implement \mathtip{math}{tip} - // (an an ) - // - Mathtip: function(name) { - var arg = this.ParseArg(name), tip = this.ParseArg(name); - this.Push(MML.maction(arg,tip).With({actiontype: MML.ACTIONTYPE.TOOLTIP})); - } - }); - - MathJax.Hub.Startup.signal.Post("TeX action Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/action.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/autobold.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/autobold.js deleted file mode 100644 index 6ad42ff5..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/autobold.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/autobold.js - * - * Adds \boldsymbol around mathematics that appears in a section - * of an HTML page that is in bold. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/autobold"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - var TEX = MathJax.InputJax.TeX; - - TEX.prefilterHooks.Add(function (data) { - var span = data.script.parentNode.insertBefore(document.createElement("span"),data.script); - span.visibility = "hidden"; - span.style.fontFamily = "Times, serif"; - span.appendChild(document.createTextNode("ABCXYZabcxyz")); - var W = span.offsetWidth; - span.style.fontWeight = "bold"; - if (W && span.offsetWidth === W) {data.math = "\\boldsymbol{"+data.math+"}"} - span.parentNode.removeChild(span); - }); - - MathJax.Hub.Startup.signal.Post("TeX autobold Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/autobold.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/autoload-all.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/autoload-all.js deleted file mode 100644 index e5ed2e50..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/autoload-all.js +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/autoload-all.js - * - * Provides pre-defined macros to autoload all the extensions - * so that all macros that MathJax knows about are available. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/autoload-all"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - - var EXTENSIONS = { - action: ["mathtip","texttip","toggle"], - AMSmath: ["mathring","nobreakspace","negmedspace","negthickspace","intI", - "iiiint","idotsint","dddot","ddddot","sideset","boxed", - "substack","injlim","projlim","varliminf","varlimsup", - "varinjlim","varprojlim","DeclareMathOperator","operatorname", - "genfrac","tfrac","dfrac","binom","tbinom","dbinom","cfrac", - "shoveleft","shoveright","xrightarrow","xleftarrow"], - begingroup: ["begingroup","endgroup","gdef","global"], - cancel: ["cancel","bcancel","xcancel","cancelto"], - color: ["color","textcolor","colorbox","fcolorbox","definecolor"], - enclose: ["enclose"], - extpfeil: ["Newextarrow","xlongequal","xmapsto","xtofrom", - "xtwoheadleftarrow","xtwoheadrightarrow"], - mhchem: ["ce","cee","cf"] - }; - - var ENVIRONMENTS = { - AMSmath: ["subarray","smallmatrix","equation","equation*"], - AMScd: ["CD"] - }; - - var name, i, m, defs = {macros:{}, environment:{}}; - - for (name in EXTENSIONS) {if (EXTENSIONS.hasOwnProperty(name)) { - if (!MathJax.Extension["TeX/"+name]) { - var macros = EXTENSIONS[name]; - for (i = 0, m = macros.length; i < m; i++) - {defs.macros[macros[i]] = ["Extension",name]} - } - }} - - for (name in ENVIRONMENTS) {if (ENVIRONMENTS.hasOwnProperty(name)) { - if (!MathJax.Extension["TeX/"+name]) { - var envs = ENVIRONMENTS[name]; - for (i = 0, m = envs.length; i < m; i++) - {defs.environment[envs[i]] = ["ExtensionEnv",null,name]} - } - }} - - MathJax.InputJax.TeX.Definitions.Add(defs); - - MathJax.Hub.Startup.signal.Post("TeX autoload-all Ready"); - -}); - -MathJax.Callback.Queue( - ["Require",MathJax.Ajax,"[MathJax]/extensions/TeX/AMSsymbols.js"], - ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/TeX/autoload-all.js"] -); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/bbox.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/bbox.js deleted file mode 100644 index 86894601..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/bbox.js +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/bbox.js - * - * This file implements the \bbox macro, which creates an box that - * can be styled (for background colors, and so on). You can include - * an optional dimension that tells how much extra padding to include - * around the bounding box for the mathematics, or a color specification - * for the background color to use, or both. E.g., - * - * \bbox[2pt]{x+y} % an invisible box around x+y with 2pt of extra space - * \bbox[green]{x+y} % a green box around x+y - * \bbox[green,2pt]{x+y} % a green box with 2pt of extra space - * - * You can also specify style attributes, for example - * - * \bbox[red,border:3px solid blue,5px]{x+y} - * - * would give a red background with a 3px solid blue border that has 5px - * of padding between the border and the mathematics. Note that not all - * output formats support the style specifications. In particular, the - * NativeMML output depends on the browser to render the attributes, and - * not all MathML renderers will honor them (e.g., MathPlayer2 doesn't - * render border styles). - * - * This file will be loaded automatically when \bbox is first used. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/bbox"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - - var TEX = MathJax.InputJax.TeX, - MML = MathJax.ElementJax.mml; - - TEX.Definitions.Add({macros: {bbox: "BBox"}},null,true); - - TEX.Parse.Augment({ - BBox: function (name) { - var bbox = this.GetBrackets(name,""), - math = this.ParseArg(name); - var parts = bbox.split(/,/), def, background, style; - for (var i = 0, m = parts.length; i < m; i++) { - var part = parts[i].replace(/^\s+/,'').replace(/\s+$/,''); - var match = part.match(/^(\.\d+|\d+(\.\d*)?)(pt|em|ex|mu|px|in|cm|mm)$/); - if (match) { - if (def) - {TEX.Error(["MultipleBBoxProperty","%1 specified twice in %2","Padding",name])} - var pad = this.BBoxPadding(match[1]+match[3]); - if (pad) def = {height:"+"+pad, depth:"+"+pad, lspace:pad, width:"+"+(2*match[1])+match[3]}; - } else if (part.match(/^([a-z0-9]+|\#[0-9a-f]{6}|\#[0-9a-f]{3})$/i)) { - if (background) - {TEX.Error(["MultipleBBoxProperty","%1 specified twice in %2","Background",name])} - background = part; - } else if (part.match(/^[-a-z]+:/i)) { - if (style) - {TEX.Error(["MultipleBBoxProperty","%1 specified twice in %2", "Style",name])} - style = this.BBoxStyle(part); - } else if (part !== "") { - TEX.Error( - ["InvalidBBoxProperty", - "'%1' doesn't look like a color, a padding dimension, or a style", - part] - ); - } - } - if (def) {math = MML.mpadded(math).With(def)} - if (background || style) { - math = MML.mstyle(math).With({mathbackground:background, style:style}); - } - this.Push(math); - }, - BBoxStyle: function (styles) {return styles}, - BBoxPadding: function (pad) {return pad} - }); - - MathJax.Hub.Startup.signal.Post("TeX bbox Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/bbox.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/begingroup.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/begingroup.js deleted file mode 100644 index 3600d2c9..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/begingroup.js +++ /dev/null @@ -1,292 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/begingroup.js - * - * Implements \begingroup and \endgroup commands that make local - * definitions possible and are removed when the \endgroup occurs. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/begingroup"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - - var TEX = MathJax.InputJax.TeX, - TEXDEF = TEX.Definitions; - - /****************************************************/ - - // - // A namespace for localizing macros and environments - // (\begingroup and \endgroup create and destroy these) - // - var NSFRAME = MathJax.Object.Subclass({ - macros: null, // the local macro definitions - environments: null, // the local environments - Init: function (macros,environments) { - this.macros = (macros || {}); - this.environments = (environments || {}); - }, - // - // Find a macro or environment by name - // - Find: function (name,type) {if (this[type].hasOwnProperty(name)) {return this[type][name]}}, - // - // Define or remove a macro or environment - // - Def: function (name,value,type) {this[type][name] = value}, - Undef: function (name,type) {delete this[type][name]}, - // - // Merge two namespaces (used when the equation namespace is combined with the root one) - // - Merge: function (frame) { - MathJax.Hub.Insert(this.macros,frame.macros); - MathJax.Hub.Insert(this.environments,frame.environments); - }, - // - // Move global macros to the stack (globally) and remove from the frame - // - MergeGlobals: function (stack) { - var macros = this.macros; - for (var cs in macros) {if (macros.hasOwnProperty(cs) && macros[cs].global) { - stack.Def(cs,macros[cs],"macros",true); - delete macros[cs].global; delete macros[cs]; - }} - }, - // - // Clear the macro and environment lists - // (but not global macros unless "all" is true) - // - Clear: function (all) { - this.environments = {}; - if (all) {this.macros = {}} else { - var macros = this.macros; - for (var cs in macros) { - if (macros.hasOwnProperty(cs) && !macros[cs].global) {delete macros[cs]} - } - } - return this; - } - }); - - /****************************************************/ - - // - // A Stack of namespace frames - // - var NSSTACK = TEX.nsStack = MathJax.Object.Subclass({ - stack: null, // the namespace frames - top: 0, // the current top one (we don't pop for real until the equation completes) - isEqn: false, // true if this is the equation stack (not the global one) - // - // Set up the initial stack frame - // - Init: function (eqn) { - this.isEqn = eqn; this.stack = []; - if (!eqn) {this.Push(NSFRAME(TEXDEF.macros,TEXDEF.environment))} - else {this.Push(NSFRAME())} - }, - // - // Define a macro or environment in the top frame - // - Def: function (name,value,type,global) { - var n = this.top-1; - if (global) { - // - // Define global macros in the base frame and remove that cs - // from all other frames. Mark the global ones in equations - // so they can be made global when merged with the root stack. - // - while (n > 0) {this.stack[n].Undef(name,type); n--} - if (!MathJax.Object.isArray(value)) {value = [value]} - if (this.isEqn) {value.global = true} - } - this.stack[n].Def(name,value,type); - }, - // - // Push a new namespace frame on the stack - // - Push: function (frame) { - this.stack.push(frame); - this.top = this.stack.length; - }, - // - // Pop the top stack frame - // (if it is the root, just keep track of the pop so we can - // reset it if the equation is reprocessed) - // - Pop: function () { - var top; - if (this.top > 1) { - top = this.stack[--this.top]; - if (this.isEqn) {this.stack.pop()} - } else if (this.isEqn) { - this.Clear(); - } - return top; - }, - // - // Search the stack from top to bottom for the first - // definition of the given control sequence in the given type - // - Find: function (name,type) { - for (var i = this.top-1; i >= 0; i--) { - var def = this.stack[i].Find(name,type); - if (def) {return def} - } - return null; - }, - // - // Combine the equation stack with the global one - // (The bottom frame of the equation goes with the top frame of the global one, - // and the remainder are pushed on the global stack, truncated to the - // position where items were poped from it.) - // - Merge: function (stack) { - stack.stack[0].MergeGlobals(this); - this.stack[this.top-1].Merge(stack.stack[0]); - var data = [this.top,this.stack.length-this.top].concat(stack.stack.slice(1)); - this.stack.splice.apply(this.stack,data); - this.top = this.stack.length; - }, - // - // Put back the temporarily poped items - // - Reset: function () {this.top = this.stack.length}, - // - // Clear the stack and start with a blank frame - // - Clear: function (all) { - this.stack = [this.stack[0].Clear()]; - this.top = this.stack.length; - } - },{ - nsFrame: NSFRAME - }); - - /****************************************************/ - - // - // Define the new macros - // - TEXDEF.Add({ - macros: { - begingroup: "BeginGroup", - endgroup: "EndGroup", - global: "Global", - gdef: ["Macro","\\global\\def"] - } - },null,true); - - TEX.Parse.Augment({ - // - // Implement \begingroup - // - BeginGroup: function (name) { - TEX.eqnStack.Push(NSFRAME()); - }, - // - // Implements \endgroup - // - EndGroup: function (name) { - // - // If the equation has pushed frames, pop one, - // Otherwise clear the equation stack and pop the top global one - // - if (TEX.eqnStack.top > 1) { - TEX.eqnStack.Pop(); - } else if (TEX.rootStack.top === 1) { - TEX.Error(["ExtraEndMissingBegin","Extra %1 or missing \\begingroup",name]); - } else { - TEX.eqnStack.Clear(); - TEX.rootStack.Pop(); - } - }, - - // - // Replace the original routines with ones that looks through the - // equation and root stacks for the given name - // - csFindMacro: function (name) { - return (TEX.eqnStack.Find(name,"macros") || TEX.rootStack.Find(name,"macros")); - }, - envFindName: function (name) { - return (TEX.eqnStack.Find(name,"environments") || TEX.rootStack.Find(name,"environments")); - }, - - // - // Modify the way macros and environments are defined - // to make them go into the equation namespace stack - // - setDef: function (name,value) { - value.isUser = true; - TEX.eqnStack.Def(name,value,"macros",this.stack.env.isGlobal); - delete this.stack.env.isGlobal; - }, - setEnv: function (name,value) { - value.isUser = true; - TEX.eqnStack.Def(name,value,"environments") - }, - - // - // Implement \global (for \global\let, \global\def and \global\newcommand) - // - Global: function (name) { - var i = this.i; var cs = this.GetCSname(name); this.i = i; - if (cs !== "let" && cs !== "def" && cs !== "newcommand" && - cs !== "DeclareMathOperator" && cs !== "Newextarrow") { - TEX.Error(["GlobalNotFollowedBy", - "%1 not followed by \\let, \\def, or \\newcommand",name]); - } - this.stack.env.isGlobal = true; - } - }); - - /****************************************************/ - - TEX.rootStack = NSSTACK(); // the global namespace stack - TEX.eqnStack = NSSTACK(true); // the equation stack - - // - // Reset the global stack and clear the equation stack - // (this gets us back to the initial stack state as it was - // before the equation was first processed, in case the equation - // get restarted due to an autoloaded file) - // - TEX.prefilterHooks.Add(function () {TEX.rootStack.Reset(); TEX.eqnStack.Clear(true)}); - - // - // We only get here if there were no errors and the equation is fully - // processed (all restarts are complete). So we merge the equation - // stack into the global stack, thus making the changes from this - // equation permanent. - // - TEX.postfilterHooks.Add(function () {TEX.rootStack.Merge(TEX.eqnStack)}); - - /*********************************************************/ - - MathJax.Hub.Startup.signal.Post("TeX begingroup Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/begingroup.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/boldsymbol.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/boldsymbol.js deleted file mode 100644 index 8b0aeebf..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/boldsymbol.js +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/boldsymbol.js - * - * Implements the \boldsymbol{...} command to make bold - * versions of all math characters (not just variables). - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/boldsymbol"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - - var MML = MathJax.ElementJax.mml; - var TEX = MathJax.InputJax.TeX; - var TEXDEF = TEX.Definitions; - - var BOLDVARIANT = {}; - BOLDVARIANT[MML.VARIANT.NORMAL] = MML.VARIANT.BOLD; - BOLDVARIANT[MML.VARIANT.ITALIC] = MML.VARIANT.BOLDITALIC; - BOLDVARIANT[MML.VARIANT.FRAKTUR] = MML.VARIANT.BOLDFRAKTUR; - BOLDVARIANT[MML.VARIANT.SCRIPT] = MML.VARIANT.BOLDSCRIPT; - BOLDVARIANT[MML.VARIANT.SANSSERIF] = MML.VARIANT.BOLDSANSSERIF; - BOLDVARIANT["-tex-caligraphic"] = "-tex-caligraphic-bold"; - BOLDVARIANT["-tex-oldstyle"] = "-tex-oldstyle-bold"; - - TEXDEF.Add({macros: {boldsymbol: 'Boldsymbol'}},null,true); - - TEX.Parse.Augment({ - mmlToken: function (token) { - if (this.stack.env.boldsymbol) { - var variant = token.Get("mathvariant"); - if (variant == null) {token.mathvariant = MML.VARIANT.BOLD} - else {token.mathvariant = (BOLDVARIANT[variant]||variant)} - } - return token; - }, - - Boldsymbol: function (name) { - var boldsymbol = this.stack.env.boldsymbol, - font = this.stack.env.font; - this.stack.env.boldsymbol = true; - this.stack.env.font = null; - var mml = this.ParseArg(name); - this.stack.env.font = font; - this.stack.env.boldsymbol = boldsymbol; - this.Push(mml); - } - }); - - MathJax.Hub.Startup.signal.Post("TeX boldsymbol Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/boldsymbol.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/cancel.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/cancel.js deleted file mode 100644 index c42c6e35..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/cancel.js +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/cancel.js - * - * Implements the \cancel, \bcancel, \xcancel, and \cancelto macros. - * - * Usage: - * - * \cancel{math} % strikeout math from lower left to upper right - * \bcancel{math} % strikeout from upper left to lower right - * \xcancel{math} % strikeout with an X - * \cancelto{value}{math} % strikeout with arrow going to value - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/cancel"] = { - version: "2.7.5", - - // - // The attributes allowed in \enclose{notation}[attributes]{math} - // - ALLOWED: { - color: 1, mathcolor: 1, - background: 1, mathbackground: 1, - padding: 1, - thickness: 1 - } -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - var TEX = MathJax.InputJax.TeX, - MML = MathJax.ElementJax.mml, - CANCEL = MathJax.Extension["TeX/cancel"]; - - CANCEL.setAttributes = function (def,attr) { - if (attr !== "") { - attr = attr.replace(/ /g,"").split(/,/); - for (var i = 0, m = attr.length; i < m; i++) { - var keyvalue = attr[i].split(/[:=]/); - if (CANCEL.ALLOWED[keyvalue[0]]) { - if (keyvalue[1] === "true") {keyvalue[1] = true} - if (keyvalue[1] === "false") {keyvalue[1] = false} - def[keyvalue[0]] = keyvalue[1]; - } - } - } - return def; - }; - - // - // Set up macros - // - TEX.Definitions.Add({ - macros: { - cancel: ['Cancel',MML.NOTATION.UPDIAGONALSTRIKE], - bcancel: ['Cancel',MML.NOTATION.DOWNDIAGONALSTRIKE], - xcancel: ['Cancel',MML.NOTATION.UPDIAGONALSTRIKE+" "+MML.NOTATION.DOWNDIAGONALSTRIKE], - cancelto: 'CancelTo' - } - },null,true); - - TEX.Parse.Augment({ - // - // Implement \cancel[attributes]{math}, - // \bcancel[attributes]{math}, and - // \xcancel[attributes]{math} - // - Cancel: function(name,notation) { - var attr = this.GetBrackets(name,""), math = this.ParseArg(name); - var def = CANCEL.setAttributes({notation: notation},attr); - this.Push(MML.menclose(math).With(def)); - }, - - // - // Implement \cancelto{value}[attributes]{math} - // - CancelTo: function(name,notation) { - var value = this.ParseArg(name), - attr = this.GetBrackets(name,""), - math = this.ParseArg(name); - var def = CANCEL.setAttributes({notation: MML.NOTATION.UPDIAGONALSTRIKE+" "+MML.NOTATION.UPDIAGONALARROW},attr); - value = MML.mpadded(value).With({depth:"-.1em",height:"+.1em",voffset:".1em"}); - this.Push(MML.msup(MML.menclose(math).With(def),value)); - } - - }); - - MathJax.Hub.Startup.signal.Post("TeX cancel Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/cancel.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/color.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/color.js deleted file mode 100644 index 816ce52e..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/color.js +++ /dev/null @@ -1,281 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/color.js - * - * Implements LaTeX-compatible \color macro rather than MathJax's original - * (non-standard) version. It includes the rgb, RGB, gray, and named color - * models, and the \textcolor, \definecolor, \colorbox, and \fcolorbox - * macros. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -// -// The configuration defaults, augmented by the user settings -// -MathJax.Extension["TeX/color"] = { - version: "2.7.5", - - config: MathJax.Hub.CombineConfig("TeX.color",{ - padding: "5px", - border: "2px" - }), - - colors: { - Apricot: "#FBB982", - Aquamarine: "#00B5BE", - Bittersweet: "#C04F17", - Black: "#221E1F", - Blue: "#2D2F92", - BlueGreen: "#00B3B8", - BlueViolet: "#473992", - BrickRed: "#B6321C", - Brown: "#792500", - BurntOrange: "#F7921D", - CadetBlue: "#74729A", - CarnationPink: "#F282B4", - Cerulean: "#00A2E3", - CornflowerBlue: "#41B0E4", - Cyan: "#00AEEF", - Dandelion: "#FDBC42", - DarkOrchid: "#A4538A", - Emerald: "#00A99D", - ForestGreen: "#009B55", - Fuchsia: "#8C368C", - Goldenrod: "#FFDF42", - Gray: "#949698", - Green: "#00A64F", - GreenYellow: "#DFE674", - JungleGreen: "#00A99A", - Lavender: "#F49EC4", - LimeGreen: "#8DC73E", - Magenta: "#EC008C", - Mahogany: "#A9341F", - Maroon: "#AF3235", - Melon: "#F89E7B", - MidnightBlue: "#006795", - Mulberry: "#A93C93", - NavyBlue: "#006EB8", - OliveGreen: "#3C8031", - Orange: "#F58137", - OrangeRed: "#ED135A", - Orchid: "#AF72B0", - Peach: "#F7965A", - Periwinkle: "#7977B8", - PineGreen: "#008B72", - Plum: "#92268F", - ProcessBlue: "#00B0F0", - Purple: "#99479B", - RawSienna: "#974006", - Red: "#ED1B23", - RedOrange: "#F26035", - RedViolet: "#A1246B", - Rhodamine: "#EF559F", - RoyalBlue: "#0071BC", - RoyalPurple: "#613F99", - RubineRed: "#ED017D", - Salmon: "#F69289", - SeaGreen: "#3FBC9D", - Sepia: "#671800", - SkyBlue: "#46C5DD", - SpringGreen: "#C6DC67", - Tan: "#DA9D76", - TealBlue: "#00AEB3", - Thistle: "#D883B7", - Turquoise: "#00B4CE", - Violet: "#58429B", - VioletRed: "#EF58A0", - White: "#FFFFFF", - WildStrawberry: "#EE2967", - Yellow: "#FFF200", - YellowGreen: "#98CC70", - YellowOrange: "#FAA21A" - }, - - /* - * Look up a color based on its model and definition - */ - getColor: function (model,def) { - if (!model) {model = "named"} - var fn = this["get_"+model]; - if (!fn) {this.TEX.Error(["UndefinedColorModel","Color model '%1' not defined",model])} - return fn.call(this,def); - }, - - /* - * Get an rgb color - */ - get_rgb: function (rgb) { - rgb = rgb.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s*,\s*/); var RGB = "#"; - if (rgb.length !== 3) - {this.TEX.Error(["ModelArg1","Color values for the %1 model require 3 numbers","rgb"])} - for (var i = 0; i < 3; i++) { - if (!rgb[i].match(/^(\d+(\.\d*)?|\.\d+)$/)) - {this.TEX.Error(["InvalidDecimalNumber","Invalid decimal number"])} - var n = parseFloat(rgb[i]); - if (n < 0 || n > 1) { - this.TEX.Error(["ModelArg2", - "Color values for the %1 model must be between %2 and %3", - "rgb",0,1]); - } - n = Math.floor(n*255).toString(16); if (n.length < 2) {n = "0"+n} - RGB += n; - } - return RGB; - }, - - /* - * Get an RGB color - */ - get_RGB: function (rgb) { - rgb = rgb.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s*,\s*/); var RGB = "#"; - if (rgb.length !== 3) - {this.TEX.Error(["ModelArg1","Color values for the %1 model require 3 numbers","RGB"])} - for (var i = 0; i < 3; i++) { - if (!rgb[i].match(/^\d+$/)) - {this.TEX.Error(["InvalidNumber","Invalid number"])} - var n = parseInt(rgb[i]); - if (n > 255) { - this.TEX.Error(["ModelArg2", - "Color values for the %1 model must be between %2 and %3", - "RGB",0,255]); - } - n = n.toString(16); if (n.length < 2) {n = "0"+n} - RGB += n; - } - return RGB; - }, - - /* - * Get a gray-scale value - */ - get_gray: function (gray) { - if (!gray.match(/^\s*(\d+(\.\d*)?|\.\d+)\s*$/)) - {this.TEX.Error(["InvalidDecimalNumber","Invalid decimal number"])} - var n = parseFloat(gray); - if (n < 0 || n > 1) { - this.TEX.Error(["ModelArg2", - "Color values for the %1 model must be between %2 and %3", - "gray",0,1]); - } - n = Math.floor(n*255).toString(16); if (n.length < 2) {n = "0"+n} - return "#"+n+n+n; - }, - - /* - * Get a named value - */ - get_named: function (name) { - if (this.colors.hasOwnProperty(name)) {return this.colors[name]} - return name; - }, - - padding: function () { - var pad = "+"+this.config.padding; - var unit = this.config.padding.replace(/^.*?([a-z]*)$/,"$1"); - var pad2 = "+"+(2*parseFloat(pad))+unit; - return {width:pad2, height:pad, depth:pad, lspace:this.config.padding}; - } - -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - var TEX = MathJax.InputJax.TeX, - MML = MathJax.ElementJax.mml; - var STACKITEM = TEX.Stack.Item; - var COLOR = MathJax.Extension["TeX/color"]; - - COLOR.TEX = TEX; // for reference in getColor above - - TEX.Definitions.Add({ - macros: { - color: "Color", - textcolor: "TextColor", - definecolor: "DefineColor", - colorbox: "ColorBox", - fcolorbox: "fColorBox" - } - },null,true); - - TEX.Parse.Augment({ - - // - // Override \color macro definition - // - Color: function (name) { - var model = this.GetBrackets(name), - color = this.GetArgument(name); - color = COLOR.getColor(model,color); - var mml = STACKITEM.style().With({styles:{mathcolor:color}}); - this.stack.env.color = color; - this.Push(mml); - }, - - TextColor: function (name) { - var model = this.GetBrackets(name), - color = this.GetArgument(name); - color = COLOR.getColor(model,color); - var old = this.stack.env.color; this.stack.env.color = color; - var math = this.ParseArg(name); - if (old) {this.stack.env.color} else {delete this.stack.env.color} - this.Push(MML.mstyle(math).With({mathcolor: color})); - }, - - // - // Define the \definecolor macro - // - DefineColor: function (name) { - var cname = this.GetArgument(name), - model = this.GetArgument(name), - def = this.GetArgument(name); - COLOR.colors[cname] = COLOR.getColor(model,def); - }, - - // - // Produce a text box with a colored background - // - ColorBox: function (name) { - var cname = this.GetArgument(name), - arg = this.InternalMath(this.GetArgument(name)); - this.Push(MML.mpadded.apply(MML,arg).With({ - mathbackground:COLOR.getColor("named",cname) - }).With(COLOR.padding())); - }, - - // - // Procude a framed text box with a colored background - // - fColorBox: function (name) { - var fname = this.GetArgument(name), - cname = this.GetArgument(name), - arg = this.InternalMath(this.GetArgument(name)); - this.Push(MML.mpadded.apply(MML,arg).With({ - mathbackground: COLOR.getColor("named",cname), - style: "border: "+COLOR.config.border+" solid "+COLOR.getColor("named",fname) - }).With(COLOR.padding())); - } - - }); - - MathJax.Hub.Startup.signal.Post("TeX color Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/color.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/enclose.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/enclose.js deleted file mode 100644 index ef1440fb..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/enclose.js +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/enclose.js - * - * Implements the \enclose macros, which give access from TeX to the - * tag in the MathML that underlies MathJax's internal format. - * - * Usage: - * - * \enclose{notation}{math} % enclose math using given notation - * \enclose{notation,notation,...}{math} % enclose with several notations - * \enclose{notation}[attributes]{math} % enclose with attributes - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/enclose"] = { - version: "2.7.5", - - // - // The attributes allowed in \enclose{notation}[attributes]{math} - // - ALLOWED: { - arrow: 1, - color: 1, mathcolor: 1, - background: 1, mathbackground: 1, - padding: 1, - thickness: 1 - } -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - var TEX = MathJax.InputJax.TeX, - MML = MathJax.ElementJax.mml, - ALLOW = MathJax.Extension["TeX/enclose"].ALLOWED; - - // - // Set up macro - // - TEX.Definitions.Add({macros: {enclose: 'Enclose'}},null,true); - - TEX.Parse.Augment({ - // - // Implement \enclose{notation}[attr]{math} - // (create math) - // - Enclose: function(name) { - var notation = this.GetArgument(name), - attr = this.GetBrackets(name), - math = this.ParseArg(name); - var def = {notation: notation.replace(/,/g," ")}; - if (attr) { - attr = attr.replace(/ /g,"").split(/,/); - for (var i = 0, m = attr.length; i < m; i++) { - var keyvalue = attr[i].split(/[:=]/); - if (ALLOW[keyvalue[0]]) { - keyvalue[1] = keyvalue[1].replace(/^"(.*)"$/,"$1"); - if (keyvalue[1] === "true") {keyvalue[1] = true} - if (keyvalue[1] === "false") {keyvalue[1] = false} - if (keyvalue[0] === "arrow" && keyvalue[1]) - {def.notation = def.notation + " updiagonalarrow"} else - {def[keyvalue[0]] = keyvalue[1]} - } - } - } - this.Push(MML.menclose(math).With(def)); - } - }); - - MathJax.Hub.Startup.signal.Post("TeX enclose Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/enclose.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/extpfeil.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/extpfeil.js deleted file mode 100644 index 804b59e9..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/extpfeil.js +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/extpfeil.js - * - * Implements additional stretchy arrow macros. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/extpfeil"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - - var TEX = MathJax.InputJax.TeX, - TEXDEF = TEX.Definitions; - - // - // Define the arrows to load the AMSmath extension - // (since they need its xArrow method) - // - TEXDEF.Add({ - macros: { - xtwoheadrightarrow: ['Extension','AMSmath'], - xtwoheadleftarrow: ['Extension','AMSmath'], - xmapsto: ['Extension','AMSmath'], - xlongequal: ['Extension','AMSmath'], - xtofrom: ['Extension','AMSmath'], - Newextarrow: ['Extension','AMSmath'] - } - },null,true); - - // - // Redefine the macros when AMSmath is loaded - // - MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () { - MathJax.Hub.Insert(TEXDEF,{ - macros: { - xtwoheadrightarrow: ['xArrow',0x21A0,12,16], - xtwoheadleftarrow: ['xArrow',0x219E,17,13], - xmapsto: ['xArrow',0x21A6,6,7], - xlongequal: ['xArrow',0x003D,7,7], - xtofrom: ['xArrow',0x21C4,12,12], - Newextarrow: 'NewExtArrow' - } - }); - }); - - // - // Implements \Newextarrow to define a new arrow (not compatible with \newextarrow, but - // the equivalent for MathJax) - // - TEX.Parse.Augment({ - NewExtArrow: function (name) { - var cs = this.GetArgument(name), - space = this.GetArgument(name), - chr = this.GetArgument(name); - if (!cs.match(/^\\([a-z]+|.)$/i)) { - TEX.Error(["NewextarrowArg1", - "First argument to %1 must be a control sequence name",name]); - } - if (!space.match(/^(\d+),(\d+)$/)) { - TEX.Error( - ["NewextarrowArg2", - "Second argument to %1 must be two integers separated by a comma", - name] - ); - } - if (!chr.match(/^(\d+|0x[0-9A-F]+)$/i)) { - TEX.Error( - ["NewextarrowArg3", - "Third argument to %1 must be a unicode character number", - name] - ); - } - cs = cs.substr(1); space = space.split(","); chr = parseInt(chr); - this.setDef(cs, ['xArrow', chr, parseInt(space[0]), parseInt(space[1])]); - } - }); - - MathJax.Hub.Startup.signal.Post("TeX extpfeil Ready"); -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/extpfeil.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/mathchoice.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mathchoice.js deleted file mode 100644 index 44937702..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/mathchoice.js +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/mathchoice.js - * - * Implements the \mathchoice macro (rarely used) - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - var VERSION = "2.7.5"; - - var MML = MathJax.ElementJax.mml; - var TEX = MathJax.InputJax.TeX; - var TEXDEF = TEX.Definitions; - - TEXDEF.Add({macros: {mathchoice: 'MathChoice'}},null,true); - - TEX.Parse.Augment({ - MathChoice: function (name) { - var D = this.ParseArg(name), - T = this.ParseArg(name), - S = this.ParseArg(name), - SS = this.ParseArg(name); - this.Push(MML.TeXmathchoice(D,T,S,SS)); - } - }); - - MML.TeXmathchoice = MML.mbase.Subclass({ - type: "TeXmathchoice", notParent: true, - choice: function () { - if (this.selection != null) return this.selection; - if (this.choosing) return 2; // prevent infinite loops: see issue #1151 - this.choosing = true; - var selection = 0, values = this.getValues("displaystyle","scriptlevel"); - if (values.scriptlevel > 0) {selection = Math.min(3,values.scriptlevel+1)} - else {selection = (values.displaystyle ? 0 : 1)} - // only cache the result if we are actually in place in a tag. - var node = this.inherit; while (node && node.type !== "math") node = node.inherit; - if (node) this.selection = selection; - this.choosing = false; - return selection; - }, - selected: function () {return this.data[this.choice()]}, - setTeXclass: function (prev) {return this.selected().setTeXclass(prev)}, - isSpacelike: function () {return this.selected().isSpacelike()}, - isEmbellished: function () {return this.selected().isEmbellished()}, - Core: function () {return this.selected()}, - CoreMO: function () {return this.selected().CoreMO()}, - toHTML: function (span) { - span = this.HTMLcreateSpan(span); - span.bbox = this.Core().toHTML(span).bbox; - // Firefox doesn't correctly handle a span with a negatively sized content, - // so move marginLeft to main span (this is a hack to get \iiiint to work). - // FIXME: This is a symptom of a more general problem with Firefox, and - // there probably needs to be a more general solution (e.g., modifying - // HTMLhandleSpace() to get the width and adjust the right margin to - // compensate for negative-width contents) - if (span.firstChild && span.firstChild.style.marginLeft) { - span.style.marginLeft = span.firstChild.style.marginLeft; - span.firstChild.style.marginLeft = ""; - } - return span; - }, - toSVG: function () { - var svg = this.Core().toSVG(); - this.SVGsaveData(svg); - return svg; - }, - toCommonHTML: function (node) { - node = this.CHTMLcreateNode(node); - this.CHTMLhandleStyle(node); - this.CHTMLhandleColor(node); - this.CHTMLaddChild(node,this.choice(),{}); - return node; - }, - toPreviewHTML: function(span) { - span = this.PHTMLcreateSpan(span); - this.PHTMLhandleStyle(span); - this.PHTMLhandleColor(span); - this.PHTMLaddChild(span,this.choice(),{}); - return span; - } - }); - - MathJax.Hub.Startup.signal.Post("TeX mathchoice Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mathchoice.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/mediawiki-texvc.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mediawiki-texvc.js deleted file mode 100644 index 228090ca..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/mediawiki-texvc.js +++ /dev/null @@ -1,137 +0,0 @@ -/************************************************************* - * - * MathJax/extensions/TeX/mediawiki-texvc.js - * - * Implements macros used by mediawiki with their texvc preprocessor. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/mediawiki-texvc"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () { - MathJax.InputJax.TeX.Definitions.Add({ - macros: { - AA: ["Macro", "\u00c5"], - alef: ["Macro", "\\aleph"], - alefsym: ["Macro", "\\aleph"], - Alpha: ["Macro", "\\mathrm{A}"], - and: ["Macro", "\\land"], - ang: ["Macro", "\\angle"], - Bbb: ["Macro", "\\mathbb"], - Beta: ["Macro", "\\mathrm{B}"], - bold: ["Macro", "\\mathbf"], - bull: ["Macro", "\\bullet"], - C: ["Macro", "\\mathbb{C}"], - Chi: ["Macro", "\\mathrm{X}"], - clubs: ["Macro", "\\clubsuit"], - cnums: ["Macro", "\\mathbb{C}"], - Complex: ["Macro", "\\mathbb{C}"], - coppa: ["Macro", "\u03D9"], - Coppa: ["Macro", "\u03D8"], - Dagger: ["Macro", "\\ddagger"], - Digamma: ["Macro", "\u03DC"], - darr: ["Macro", "\\downarrow"], - dArr: ["Macro", "\\Downarrow"], - Darr: ["Macro", "\\Downarrow"], - dashint: ["Macro", "\\unicodeInt{x2A0D}"], - ddashint: ["Macro", "\\unicodeInt{x2A0E}"], - diamonds: ["Macro", "\\diamondsuit"], - empty: ["Macro", "\\emptyset"], - Epsilon: ["Macro", "\\mathrm{E}"], - Eta: ["Macro", "\\mathrm{H}"], - euro: ["Macro", "\u20AC"], - exist: ["Macro", "\\exists"], - geneuro: ["Macro", "\u20AC"], - geneuronarrow: ["Macro", "\u20AC"], - geneurowide: ["Macro", "\u20AC"], - H: ["Macro", "\\mathbb{H}"], - hAar: ["Macro", "\\Leftrightarrow"], - harr: ["Macro", "\\leftrightarrow"], - Harr: ["Macro", "\\Leftrightarrow"], - hearts: ["Macro", "\\heartsuit"], - image: ["Macro", "\\Im"], - infin: ["Macro", "\\infty"], - Iota: ["Macro", "\\mathrm{I}"], - isin: ["Macro", "\\in"], - Kappa: ["Macro", "\\mathrm{K}"], - koppa: ["Macro", "\u03DF"], - Koppa: ["Macro", "\u03DE"], - lang: ["Macro", "\\langle"], - larr: ["Macro", "\\leftarrow"], - Larr: ["Macro", "\\Leftarrow"], - lArr: ["Macro", "\\Leftarrow"], - lrarr: ["Macro", "\\leftrightarrow"], - Lrarr: ["Macro", "\\Leftrightarrow"], - lrArr: ["Macro", "\\Leftrightarrow"], - Mu: ["Macro", "\\mathrm{M}"], - N: ["Macro", "\\mathbb{N}"], - natnums: ["Macro", "\\mathbb{N}"], - Nu: ["Macro", "\\mathrm{N}"], - O: ["Macro", "\\emptyset"], - oint: ["Macro", "\\unicodeInt{x222E}"], - oiint: ["Macro", "\\unicodeInt{x222F}"], - oiiint: ["Macro", "\\unicodeInt{x2230}"], - ointctrclockwise: ["Macro", "\\unicodeInt{x2233}"], - officialeuro: ["Macro", "\u20AC"], - Omicron: ["Macro", "\\mathrm{O}"], - or: ["Macro", "\\lor"], - P: ["Macro", "\u00B6"], - pagecolor: ['Macro','',1], // ignore \pagecolor{} - part: ["Macro", "\\partial"], - plusmn: ["Macro", "\\pm"], - Q: ["Macro", "\\mathbb{Q}"], - R: ["Macro", "\\mathbb{R}"], - rang: ["Macro", "\\rangle"], - rarr: ["Macro", "\\rightarrow"], - Rarr: ["Macro", "\\Rightarrow"], - rArr: ["Macro", "\\Rightarrow"], - real: ["Macro", "\\Re"], - reals: ["Macro", "\\mathbb{R}"], - Reals: ["Macro", "\\mathbb{R}"], - Rho: ["Macro", "\\mathrm{P}"], - sdot: ["Macro", "\\cdot"], - sampi: ["Macro", "\u03E1"], - Sampi: ["Macro", "\u03E0"], - sect: ["Macro", "\\S"], - spades: ["Macro", "\\spadesuit"], - stigma: ["Macro", "\u03DB"], - Stigma: ["Macro", "\u03DA"], - sub: ["Macro", "\\subset"], - sube: ["Macro", "\\subseteq"], - supe: ["Macro", "\\supseteq"], - Tau: ["Macro", "\\mathrm{T}"], - textvisiblespace: ["Macro", "\u2423"], - thetasym: ["Macro", "\\vartheta"], - uarr: ["Macro", "\\uparrow"], - uArr: ["Macro", "\\Uparrow"], - Uarr: ["Macro", "\\Uparrow"], - unicodeInt: ["Macro", "\\mathop{\\vcenter{\\mathchoice{\\huge\\unicode{#1}\\,}{\\unicode{#1}}{\\unicode{#1}}{\\unicode{#1}}}\\,}\\nolimits", 1], - varcoppa: ["Macro", "\u03D9"], - varstigma: ["Macro", "\u03DB"], - varointclockwise: ["Macro", "\\unicodeInt{x2232}"], - vline: ['Macro','\\smash{\\large\\lvert}',0], - weierp: ["Macro", "\\wp"], - Z: ["Macro", "\\mathbb{Z}"], - Zeta: ["Macro", "\\mathrm{Z}"] - } - }); -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mediawiki-texvc.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem.js deleted file mode 100644 index 344edb6a..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem.js +++ /dev/null @@ -1,520 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/mhchem.js - * - * Implements the \ce command for handling chemical formulas - * from the mhchem LaTeX package. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - - -// -// Don't replace [Contrib]/mhchem if it is already loaded -// -if (MathJax.Extension["TeX/mhchem"]) { - MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mhchem.js"); -} else { - -MathJax.Extension["TeX/mhchem"] = { - version: "2.7.5", - config: MathJax.Hub.CombineConfig("TeX.mhchem",{ - legacy: true - }) -}; - -// -// Load [mhchem]/mhchem.js if not configured for legacy vesion -// -if (!MathJax.Extension["TeX/mhchem"].config.legacy) { - if (!MathJax.Ajax.config.path.mhchem) { - MathJax.Ajax.config.path.mhchem = MathJax.Hub.config.root + "/extensions/TeX/mhchem3"; - } - MathJax.Callback.Queue( - ["Require",MathJax.Ajax,"[mhchem]/mhchem.js"], - ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/TeX/mhchem.js"] - ); -} else { - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - - var TEX = MathJax.InputJax.TeX; - - /* - * This is the main class for handing the \ce and related commands. - * Its main method is Parse() which takes the argument to \ce and - * returns the corresponding TeX string. - */ - - var CE = MathJax.Object.Subclass({ - string: "", // the \ce string being parsed - i: 0, // the current position in the string - tex: "", // the partially processed TeX result - TEX: "", // the full TeX result - atom: false, // last processed token is an atom - sup: "", // pending superscript - sub: "", // pending subscript - presup: "", // pending pre-superscript - presub: "", // pending pre-subscript - - // - // Store the string when a CE object is created - // - Init: function (string) {this.string = string}, - - // - // These are the special characters and the methods that - // handle them. All others are passed through verbatim. - // - ParseTable: { - '-': "Minus", - '+': "Plus", - '(': "Open", - ')': "Close", - '[': "Open", - ']': "Close", - '<': "Less", - '^': "Superscript", - '_': "Subscript", - '*': "Dot", - '.': "Dot", - '=': "Equal", - '#': "Pound", - '$': "Math", - '\\': "Macro", - ' ': "Space" - }, - // - // Basic arrow names for reactions - // - Arrows: { - '->': "rightarrow", - '<-': "leftarrow", - '<->': "leftrightarrow", - '<=>': "rightleftharpoons", - '<=>>': "Rightleftharpoons", - '<<=>': "Leftrightharpoons", - '^': "uparrow", - 'v': "downarrow" - }, - - // - // Implementations for the various bonds - // (the ~ ones are hacks that don't work well in NativeMML) - // - Bonds: { - '-': "-", - '=': "=", - '#': "\\equiv", - '~': "\\tripledash", - '~-': "\\begin{CEstack}{}\\tripledash\\\\-\\end{CEstack}", - '~=': "\\raise2mu{\\begin{CEstack}{}\\tripledash\\\\-\\\\-\\end{CEstack}}", - '~--': "\\raise2mu{\\begin{CEstack}{}\\tripledash\\\\-\\\\-\\end{CEstack}}", - '-~-': "\\raise2mu{\\begin{CEstack}{}-\\\\\\tripledash\\\\-\\end{CEstack}}", - '...': "{\\cdot}{\\cdot}{\\cdot}", - '....': "{\\cdot}{\\cdot}{\\cdot}{\\cdot}", - '->': "\\rightarrow", - '<-': "\\leftarrow", - '??': "\\text{??}" // unknown bond - }, - - // - // This converts the CE string to a TeX string. - // It loops through the string and calls the proper - // method depending on the ccurrent character. - // - Parse: function () { - this.tex = ""; this.atom = false; - while (this.i < this.string.length) { - var c = this.string.charAt(this.i); - if (c.match(/[a-z]/i)) {this.ParseLetter()} - else if (c.match(/[0-9]/)) {this.ParseNumber()} - else {this["Parse"+(this.ParseTable[c]||"Other")](c)} - } - this.FinishAtom(true); - return this.TEX; - }, - - // - // Make an atom name or a down arrow - // - ParseLetter: function () { - this.FinishAtom(); - if (this.Match(/^v( |$)/)) { - this.tex += "{\\"+this.Arrows["v"]+"}"; - } else { - this.tex += "\\text{"+this.Match(/^[a-z]+/i)+"}"; - this.atom = true; - } - }, - - // - // Make a number or fraction preceding an atom, - // or a subscript for an atom. - // - ParseNumber: function () { - var n = this.Match(/^\d+/); - if (this.atom && !this.sub) { - this.sub = n; - } else { - this.FinishAtom(); - var match = this.Match(/^\/\d+/); - if (match) { - var frac = "\\frac{"+n+"}{"+match.substr(1)+"}"; - this.tex += "\\mathchoice{\\textstyle"+frac+"}{"+frac+"}{"+frac+"}{"+frac+"}"; - } else { - this.tex += n; - if (this.i < this.string.length) {this.tex += "\\,"} - } - } - }, - - // - // Make a superscript minus, or an arrow, or a single bond. - // - ParseMinus: function (c) { - if (this.atom && (this.i === this.string.length-1 || this.string.charAt(this.i+1) === " ")) { - this.sup += c; - } else { - this.FinishAtom(); - if (this.string.substr(this.i,2) === "->") {this.i += 2; this.AddArrow("->"); return} - else {this.tex += "{-}"} - } - this.i++; - }, - - // - // Make a superscript plus, or pass it through - // - ParsePlus: function (c) { - if (this.atom) {this.sup += c} else {this.FinishAtom(); this.tex += c} - this.i++; - }, - - // - // Handle dots and double or triple bonds - // - ParseDot: function (c) {this.FinishAtom(); this.tex += "\\cdot "; this.i++}, - ParseEqual: function (c) {this.FinishAtom(); this.tex += "{=}"; this.i++}, - ParsePound: function (c) {this.FinishAtom(); this.tex += "{\\equiv}"; this.i++}, - - // - // Look for (v) or (^), or pass it through - // - ParseOpen: function (c) { - this.FinishAtom(); - var match = this.Match(/^\([v^]\)/); - if (match) {this.tex += "{\\"+this.Arrows[match.charAt(1)]+"}"} - else {this.tex += "{"+c; this.i++} - }, - // - // Allow ) and ] to get super- and subscripts - // - ParseClose: function (c) {this.FinishAtom(); this.atom = true; this.tex += c+"}"; this.i++}, - - // - // Make the proper arrow - // - ParseLess: function (c) { - this.FinishAtom(); - var arrow = this.Match(/^(<->?|<=>>?|<<=>)/); - if (!arrow) {this.tex += c; this.i++} else {this.AddArrow(arrow)} - }, - - // - // Look for a superscript, or an up arrow - // - ParseSuperscript: function (c) { - c = this.string.charAt(++this.i); - if (c === "{") { - this.i++; var m = this.Find("}"); - if (m === "-.") {this.sup += "{-}{\\cdot}"} - else if (m) {this.sup += CE(m).Parse().replace(/^\{-\}/,"-")} - } else if (c === " " || c === "") { - this.tex += "{\\"+this.Arrows["^"]+"}"; this.i++; - } else { - var n = this.Match(/^(\d+|-\.)/); - if (n) {this.sup += n} - } - }, - // - // Look for subscripts - // - ParseSubscript: function (c) { - if (this.string.charAt(++this.i) == "{") { - this.i++; this.sub += CE(this.Find("}")).Parse().replace(/^\{-\}/,"-"); - } else { - var n = this.Match(/^\d+/); - if (n) {this.sub += n} - } - }, - - // - // Look for raw TeX code to include - // - ParseMath: function (c) { - this.FinishAtom(); - this.i++; this.tex += this.Find(c); - }, - - // - // Look for specific macros for bonds - // and allow \} to have subscripts - // - ParseMacro: function (c) { - this.FinishAtom(); - this.i++; var match = this.Match(/^([a-z]+|.)/i)||" "; - if (match === "sbond") {this.tex += "{-}"} - else if (match === "dbond") {this.tex += "{=}"} - else if (match === "tbond") {this.tex += "{\\equiv}"} - else if (match === "bond") { - var bond = (this.Match(/^\{.*?\}/)||""); - bond = bond.substr(1,bond.length-2); - this.tex += "{"+(this.Bonds[bond]||"\\text{??}")+"}"; - } - else if (match === "{") {this.tex += "{\\{"} - else if (match === "}") {this.tex += "\\}}"; this.atom = true} - else {this.tex += c+match} - }, - - // - // Ignore spaces - // - ParseSpace: function (c) {this.FinishAtom(); this.i++}, - - // - // Pass anything else on verbatim - // - ParseOther: function (c) {this.FinishAtom(); this.tex += c; this.i++}, - - // - // Process an arrow (looking for brackets for above and below) - // - AddArrow: function (arrow) { - var c = this.Match(/^[CT]\[/); - if (c) {this.i--; c = c.charAt(0)} - var above = this.GetBracket(c), below = this.GetBracket(c); - arrow = this.Arrows[arrow]; - if (above || below) { - if (below) {arrow += "["+below+"]"} - arrow += "{"+above+"}"; - arrow = "\\mathrel{\\x"+arrow+"}"; - } else { - arrow = "\\long"+arrow+" "; - } - this.tex += arrow; - }, - - // - // Handle the super and subscripts for an atom - // - FinishAtom: function (force) { - if (this.sup || this.sub || this.presup || this.presub) { - if (!force && !this.atom) { - if (this.tex === "" && !this.sup && !this.sub) return; - if (!this.presup && !this.presub && - (this.tex === "" || this.tex === "{" || - (this.tex === "}" && this.TEX.substr(-1) === "{"))) { - this.presup = this.sup, this.presub = this.sub; // save for later - this.sub = this.sup = ""; - this.TEX += this.tex; this.tex = ""; - return; - } - } - if (this.sub && !this.sup) {this.sup = "\\Space{0pt}{0pt}{.2em}"} // forces subscripts to align properly - if ((this.presup || this.presub) && this.tex !== "{") { - if (!this.presup && !this.sup) {this.presup = "\\Space{0pt}{0pt}{.2em}"} - this.tex = "\\CEprescripts{"+(this.presub||"\\CEnone")+"}{"+(this.presup||"\\CEnone")+"}" - + "{"+(this.tex !== "}" ? this.tex : "")+"}" - + "{"+(this.sub||"\\CEnone")+"}{"+(this.sup||"\\CEnone")+"}" - + (this.tex === "}" ? "}" : ""); - this.presub = this.presup = ""; - } else { - if (this.sup) this.tex += "^{"+this.sup+"}"; - if (this.sub) this.tex += "_{"+this.sub+"}"; - } - this.sup = this.sub = ""; - } - this.TEX += this.tex; this.tex = ""; - this.atom = false; - }, - - // - // Find a bracket group and handle C and T prefixes - // - GetBracket: function (c) { - if (this.string.charAt(this.i) !== "[") {return ""} - this.i++; var bracket = this.Find("]"); - if (c === "C") {bracket = "\\ce{"+bracket+"}"} else - if (c === "T") { - if (!bracket.match(/^\{.*\}$/)) {bracket = "{"+bracket+"}"} - bracket = "\\text"+bracket; - }; - return bracket; - }, - - // - // Check if the string matches a regular expression - // and move past it if so, returning the match - // - Match: function (regex) { - var match = regex.exec(this.string.substr(this.i)); - if (match) {match = match[0]; this.i += match.length} - return match; - }, - - // - // Find a particular character, skipping over braced groups - // - Find: function (c) { - var m = this.string.length, i = this.i, braces = 0; - while (this.i < m) { - var C = this.string.charAt(this.i++); - if (C === c && braces === 0) {return this.string.substr(i,this.i-i-1)} - if (C === "{") {braces++} else - if (C === "}") { - if (braces) {braces--} - else { - TEX.Error(["ExtraCloseMissingOpen","Extra close brace or missing open brace"]) - } - } - } - if (braces) {TEX.Error(["MissingCloseBrace","Missing close brace"])} - TEX.Error(["NoClosingChar","Can't find closing %1",c]); - } - - }); - - MathJax.Extension["TeX/mhchem"].CE = CE; - - /***************************************************************************/ - - TEX.Definitions.Add({ - macros: { - // - // Set up the macros for chemistry - // - ce: 'CE', - cf: 'CE', - cee: 'CE', - - // - // Make these load AMSmath package (redefined below when loaded) - // - xleftrightarrow: ['Extension','AMSmath'], - xrightleftharpoons: ['Extension','AMSmath'], - xRightleftharpoons: ['Extension','AMSmath'], - xLeftrightharpoons: ['Extension','AMSmath'], - - // FIXME: These don't work well in FF NativeMML mode - longrightleftharpoons: ["Macro","\\stackrel{\\textstyle{{-}\\!\\!{\\rightharpoonup}}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"], - longRightleftharpoons: ["Macro","\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\small\\smash\\leftharpoondown}"], - longLeftrightharpoons: ["Macro","\\stackrel{\\rightharpoonup}{{{\\leftharpoondown}\\!\\!\\textstyle{-}}}"], - - // - // Add \hyphen used in some mhchem examples - // - hyphen: ["Macro","\\text{-}"], - - // - // Handle prescripts and none - // - CEprescripts: "CEprescripts", - CEnone: "CEnone", - - // - // Needed for \bond for the ~ forms - // - tripledash: ["Macro","\\raise3mu{\\tiny\\text{-}\\kern2mu\\text{-}\\kern2mu\\text{-}}"] - }, - - // - // Needed for \bond for the ~ forms - // - environment: { - CEstack: ['Array',null,null,null,'r',null,"0.001em",'T',1] - } - },null,true); - - if (!MathJax.Extension["TeX/AMSmath"]) { - TEX.Definitions.Add({ - macros: { - xrightarrow: ['Extension','AMSmath'], - xleftarrow: ['Extension','AMSmath'] - } - },null,true); - } - - // - // These arrows need to wait until AMSmath is loaded - // - MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () { - TEX.Definitions.Add({ - macros: { - // - // Some of these are hacks for now - // - xleftrightarrow: ['xArrow',0x2194,6,6], - xrightleftharpoons: ['xArrow',0x21CC,5,7], // FIXME: doesn't stretch in HTML-CSS output - xRightleftharpoons: ['xArrow',0x21CC,5,7], // FIXME: how should this be handled? - xLeftrightharpoons: ['xArrow',0x21CC,5,7] - } - },null,true); - }); - - TEX.Parse.Augment({ - - // - // Implements \ce and friends - // - CE: function (name) { - var arg = this.GetArgument(name); - var tex = CE(arg).Parse(); - this.string = tex + this.string.substr(this.i); this.i = 0; - }, - - // - // Implements \CEprescripts{presub}{presup}{base}{sub}{sup} - // - CEprescripts: function (name) { - var presub = this.ParseArg(name), - presup = this.ParseArg(name), - base = this.ParseArg(name), - sub = this.ParseArg(name), - sup = this.ParseArg(name); - var MML = MathJax.ElementJax.mml; - this.Push(MML.mmultiscripts(base,sub,sup,MML.mprescripts(),presub,presup)); - }, - CEnone: function (name) { - this.Push(MathJax.ElementJax.mml.none()); - } - - }); - - // - // Indicate that the extension is ready - // - MathJax.Hub.Startup.signal.Post("TeX mhchem Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mhchem.js"); - -}} diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem3/mhchem.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem3/mhchem.js deleted file mode 100644 index 6b304e78..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem3/mhchem.js +++ /dev/null @@ -1,1770 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/mhchem.js - * - * Implements the \ce command for handling chemical formulas - * from the mhchem LaTeX package. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2015 The MathJax Consortium - * Copyright (c) 2015-2018 Martin Hensel - * - * 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. - */ - -// -// Coding Style -// - use '' for identifiers that can by minified/uglified -// - use "" for strings that need to stay untouched - - -MathJax.Extension["TeX/mhchem"] = { - version: "3.3.0" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () { - - var TEX = MathJax.InputJax.TeX; - - // - // This is the main class for handing the \ce and related commands. - // Its main method is Parse() which takes the argument to \ce and - // returns the corresponding TeX string. - // - - var CE = MathJax.Object.Subclass({ - string: "", // the \ce string being parsed - - // - // Store the string when a CE object is created - // - Init: function (string) { this.string = string; }, - - // - // This converts the CE string to a TeX string. - // - Parse: function (stateMachine) { - try { - return texify.go(mhchemParser.go(this.string, stateMachine)); - } catch (ex) { - TEX.Error(ex); - } - } - }); - - // - // Core parser for mhchem syntax (recursive) - // - /** @type {MhchemParser} */ - var mhchemParser = { - // - // Parses mchem \ce syntax - // - // Call like - // go("H2O"); - // - go: function (input, stateMachine) { - if (!input) { return []; } - if (stateMachine === undefined) { stateMachine = 'ce'; } - var state = '0'; - - // - // String buffers for parsing: - // - // buffer.a == amount - // buffer.o == element - // buffer.b == left-side superscript - // buffer.p == left-side subscript - // buffer.q == right-side subscript - // buffer.d == right-side superscript - // - // buffer.r == arrow - // buffer.rdt == arrow, script above, type - // buffer.rd == arrow, script above, content - // buffer.rqt == arrow, script below, type - // buffer.rq == arrow, script below, content - // - // buffer.text_ - // buffer.rm - // etc. - // - // buffer.parenthesisLevel == int, starting at 0 - // buffer.sb == bool, space before - // buffer.beginsWithBond == bool - // - // These letters are also used as state names. - // - // Other states: - // 0 == begin of main part (arrow/operator unlikely) - // 1 == next entity - // 2 == next entity (arrow/operator unlikely) - // 3 == next atom - // c == macro - // - /** @type {Buffer} */ - var buffer = {}; - buffer['parenthesisLevel'] = 0; - - input = input.replace(/\n/g, " "); - input = input.replace(/[\u2212\u2013\u2014\u2010]/g, "-"); - input = input.replace(/[\u2026]/g, "..."); - - // - // Looks through mhchemParser.transitions, to execute a matching action - // (recursive) - // - var lastInput; - var watchdog = 10; - /** @type {ParserOutput[]} */ - var output = []; - while (true) { - if (lastInput !== input) { - watchdog = 10; - lastInput = input; - } else { - watchdog--; - } - // - // Find actions in transition table - // - var machine = mhchemParser.stateMachines[stateMachine]; - var t = machine.transitions[state] || machine.transitions['*']; - iterateTransitions: - for (var i=0; i 0) { - if (!task.revisit) { - input = matches.remainder; - } - if (!task.toContinue) { - break iterateTransitions; - } - } else { - return output; - } - } - } - // - // Prevent infinite loop - // - if (watchdog <= 0) { - throw ["MhchemBugU", "mhchem bug U. Please report."]; // Unexpected character - } - } - }, - concatArray: function (a, b) { - if (b) { - if (Array.isArray(b)) { - for (var iB=0; iB': /^[=<>]/, - '#': /^[#\u2261]/, - '+': /^\+/, - '-$': /^-(?=[\s_},;\]/]|$|\([a-z]+\))/, // -space -, -; -] -/ -$ -state-of-aggregation - '-9': /^-(?=[0-9])/, - '- orbital overlap': /^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/, - '-': /^-/, - 'pm-operator': /^(?:\\pm|\$\\pm\$|\+-|\+\/-)/, - 'operator': /^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/, - 'arrowUpDown': /^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/, - '\\bond{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\bond{", "", "", "}"); }, - '->': /^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/, - 'CMT': /^[CMT](?=\[)/, - '[(...)]': function (input) { return mhchemParser.patterns.findObserveGroups(input, "[", "", "", "]"); }, - '1st-level escape': /^(&|\\\\|\\hline)\s*/, - '\\,': /^(?:\\[,\ ;:])/, // \\x - but output no space before - '\\x{}{}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); }, - '\\x{}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", ""); }, - '\\ca': /^\\ca(?:\s+|(?![a-zA-Z]))/, - '\\x': /^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/, - 'orbital': /^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/, // only those with numbers in front, because the others will be formatted correctly anyway - 'others': /^[\/~|]/, - '\\frac{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\frac{", "", "", "}", "{", "", "", "}"); }, - '\\overset{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\overset{", "", "", "}", "{", "", "", "}"); }, - '\\underset{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\underset{", "", "", "}", "{", "", "", "}"); }, - '\\underbrace{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\underbrace{", "", "", "}_", "{", "", "", "}"); }, - '\\color{(...)}0': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}"); }, - '\\color{(...)}{(...)}1': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}", "{", "", "", "}"); }, - '\\color(...){(...)}2': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color", "\\", "", /^(?=\{)/, "{", "", "", "}"); }, - '\\ce{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\ce{", "", "", "}"); }, - 'oxidation$': /^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, - 'd-oxidation$': /^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, // 0 could be oxidation or charge - 'roman numeral': /^[IVX]+/, - '1/2$': /^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/, - 'amount': function (input) { - var match; - // e.g. 2, 0.5, 1/2, -2, n/2, +; $a$ could be added later in parsing - match = input.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/); - if (match) { - return { match_: match[0], remainder: input.substr(match[0].length) }; - } - var a = mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); - if (a) { // e.g. $2n-1$, $-$ - match = a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/); - if (match) { - return { match_: match[0], remainder: input.substr(match[0].length) }; - } - } - return null; - }, - 'amount2': function (input) { return this['amount'](input); }, - '(KV letters),': /^(?:[A-Z][a-z]{0,2}|i)(?=,)/, - 'formula$': function (input) { - if (input.match(/^\([a-z]+\)$/)) { return null; } // state of aggregation = no formula - var match = input.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/); - if (match) { - return { match_: match[0], remainder: input.substr(match[0].length) }; - } - return null; - }, - 'uprightEntities': /^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/, - '/': /^\s*(\/)\s*/, - '//': /^\s*(\/\/)\s*/, - '*': /^\s*[*.]\s*/ - }, - findObserveGroups: function (input, begExcl, begIncl, endIncl, endExcl, beg2Excl, beg2Incl, end2Incl, end2Excl, combine) { - /** @type {{(input: string, pattern: string | RegExp): string | string[] | null;}} */ - var _match = function (input, pattern) { - if (typeof pattern === "string") { - if (input.indexOf(pattern) !== 0) { return null; } - return pattern; - } else { - var match = input.match(pattern); - if (!match) { return null; } - return match[0]; - } - }; - /** @type {{(input: string, i: number, endChars: string | RegExp): {endMatchBegin: number, endMatchEnd: number} | null;}} */ - var _findObserveGroups = function (input, i, endChars) { - var braces = 0; - while (i < input.length) { - var a = input.charAt(i); - var match = _match(input.substr(i), endChars); - if (match !== null && braces === 0) { - return { endMatchBegin: i, endMatchEnd: i + match.length }; - } else if (a === "{") { - braces++; - } else if (a === "}") { - if (braces === 0) { - throw ["ExtraCloseMissingOpen", "Extra close brace or missing open brace"]; - } else { - braces--; - } - } - i++; - } - if (braces > 0) { - return null; - } - return null; - }; - var match = _match(input, begExcl); - if (match === null) { return null; } - input = input.substr(match.length); - match = _match(input, begIncl); - if (match === null) { return null; } - var e = _findObserveGroups(input, match.length, endIncl || endExcl); - if (e === null) { return null; } - var match1 = input.substring(0, (endIncl ? e.endMatchEnd : e.endMatchBegin)); - if (!(beg2Excl || beg2Incl)) { - return { - match_: match1, - remainder: input.substr(e.endMatchEnd) - }; - } else { - var group2 = this.findObserveGroups(input.substr(e.endMatchEnd), beg2Excl, beg2Incl, end2Incl, end2Excl); - if (group2 === null) { return null; } - /** @type {string[]} */ - var matchRet = [match1, group2.match_]; - return { - match_: (combine ? matchRet.join("") : matchRet), - remainder: group2.remainder - }; - } - }, - - // - // Matching function - // e.g. match("a", input) will look for the regexp called "a" and see if it matches - // returns null or {match_:"a", remainder:"bc"} - // - match_: function (m, input) { - var pattern = mhchemParser.patterns.patterns[m]; - if (pattern === undefined) { - throw ["MhchemBugP", "mhchem bug P. Please report. (" + m + ")"]; // Trying to use non-existing pattern - } else if (typeof pattern === "function") { - return mhchemParser.patterns.patterns[m](input); // cannot use cached var pattern here, because some pattern functions need this===mhchemParser - } else { // RegExp - var match = input.match(pattern); - if (match) { - var mm; - if (match[2]) { - mm = [ match[1], match[2] ]; - } else if (match[1]) { - mm = match[1]; - } else { - mm = match[0]; - } - return { match_: mm, remainder: input.substr(match[0].length) }; - } - return null; - } - } - }, - - // - // Generic state machine actions - // - actions: { - 'a=': function (buffer, m) { buffer.a = (buffer.a || "") + m; }, - 'b=': function (buffer, m) { buffer.b = (buffer.b || "") + m; }, - 'p=': function (buffer, m) { buffer.p = (buffer.p || "") + m; }, - 'o=': function (buffer, m) { buffer.o = (buffer.o || "") + m; }, - 'q=': function (buffer, m) { buffer.q = (buffer.q || "") + m; }, - 'd=': function (buffer, m) { buffer.d = (buffer.d || "") + m; }, - 'rm=': function (buffer, m) { buffer.rm = (buffer.rm || "") + m; }, - 'text=': function (buffer, m) { buffer.text_ = (buffer.text_ || "") + m; }, - 'insert': function (buffer, m, a) { return { type_: a }; }, - 'insert+p1': function (buffer, m, a) { return { type_: a, p1: m }; }, - 'insert+p1+p2': function (buffer, m, a) { return { type_: a, p1: m[0], p2: m[1] }; }, - 'copy': function (buffer, m) { return m; }, - 'rm': function (buffer, m) { return { type_: 'rm', p1: m || ""}; }, - 'text': function (buffer, m) { return mhchemParser.go(m, 'text'); }, - '{text}': function (buffer, m) { - var ret = [ "{" ]; - mhchemParser.concatArray(ret, mhchemParser.go(m, 'text')); - ret.push("}"); - return ret; - }, - 'tex-math': function (buffer, m) { return mhchemParser.go(m, 'tex-math'); }, - 'tex-math tight': function (buffer, m) { return mhchemParser.go(m, 'tex-math tight'); }, - 'bond': function (buffer, m, k) { return { type_: 'bond', kind_: k || m }; }, - 'color0-output': function (buffer, m) { return { type_: 'color0', color: m[0] }; }, - 'ce': function (buffer, m) { return mhchemParser.go(m); }, - '1/2': function (buffer, m) { - /** @type {ParserOutput[]} */ - var ret = []; - if (m.match(/^[+\-]/)) { - ret.push(m.substr(0, 1)); - m = m.substr(1); - } - var n = m.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/); - n[1] = n[1].replace(/\$/g, ""); - ret.push({ type_: 'frac', p1: n[1], p2: n[2] }); - if (n[3]) { - n[3] = n[3].replace(/\$/g, ""); - ret.push({ type_: 'tex-math', p1: n[3] }); - } - return ret; - }, - '9,9': function (buffer, m) { return mhchemParser.go(m, '9,9'); } - }, - // - // createTransitions - // convert { 'letter': { 'state': { action_: 'output' } } } to { 'state' => [ { pattern: 'letter', task: { action_: [{type_: 'output'}] } } ] } - // with expansion of 'a|b' to 'a' and 'b' (at 2 places) - // - createTransitions: function (o) { - var pattern, state; - /** @type {string[]} */ - var stateArray; - var i; - // - // 1. Collect all states - // - /** @type {Transitions} */ - var transitions = {}; - for (pattern in o) { - for (state in o[pattern]) { - stateArray = state.split("|"); - o[pattern][state].stateArray = stateArray; - for (i=0; i': { - '0|1|2|3': { action_: 'r=', nextState: 'r' }, - 'a|as': { action_: [ 'output', 'r=' ], nextState: 'r' }, - '*': { action_: [ 'output', 'r=' ], nextState: 'r' } }, - '+': { - 'o': { action_: 'd= kv', nextState: 'd' }, - 'd|D': { action_: 'd=', nextState: 'd' }, - 'q': { action_: 'd=', nextState: 'qd' }, - 'qd|qD': { action_: 'd=', nextState: 'qd' }, - 'dq': { action_: [ 'output', 'd=' ], nextState: 'd' }, - '3': { action_: [ 'sb=false', 'output', 'operator' ], nextState: '0' } }, - 'amount': { - '0|2': { action_: 'a=', nextState: 'a' } }, - 'pm-operator': { - '0|1|2|a|as': { action_: [ 'sb=false', 'output', { type_: 'operator', option: '\\pm' } ], nextState: '0' } }, - 'operator': { - '0|1|2|a|as': { action_: [ 'sb=false', 'output', 'operator' ], nextState: '0' } }, - '-$': { - 'o|q': { action_: [ 'charge or bond', 'output' ], nextState: 'qd' }, - 'd': { action_: 'd=', nextState: 'd' }, - 'D': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' }, - 'q': { action_: 'd=', nextState: 'qd' }, - 'qd': { action_: 'd=', nextState: 'qd' }, - 'qD|dq': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' } }, - '-9': { - '3|o': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '3' } }, - '- orbital overlap': { - 'o': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' }, - 'd': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' } }, - '-': { - '0|1|2': { action_: [ { type_: 'output', option: 1 }, 'beginsWithBond=true', { type_: 'bond', option: "-" } ], nextState: '3' }, - '3': { action_: { type_: 'bond', option: "-" } }, - 'a': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' }, - 'as': { action_: [ { type_: 'output', option: 2 }, { type_: 'bond', option: "-" } ], nextState: '3' }, - 'b': { action_: 'b=' }, - 'o': { action_: { type_: '- after o/d', option: false }, nextState: '2' }, - 'q': { action_: { type_: '- after o/d', option: false }, nextState: '2' }, - 'd|qd|dq': { action_: { type_: '- after o/d', option: true }, nextState: '2' }, - 'D|qD|p': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' } }, - 'amount2': { - '1|3': { action_: 'a=', nextState: 'a' } }, - 'letters': { - '0|1|2|3|a|as|b|p|bp|o': { action_: 'o=', nextState: 'o' }, - 'q|dq': { action_: ['output', 'o='], nextState: 'o' }, - 'd|D|qd|qD': { action_: 'o after d', nextState: 'o' } }, - 'digits': { - 'o': { action_: 'q=', nextState: 'q' }, - 'd|D': { action_: 'q=', nextState: 'dq' }, - 'q': { action_: [ 'output', 'o=' ], nextState: 'o' }, - 'a': { action_: 'o=', nextState: 'o' } }, - 'space A': { - 'b|p|bp': {} }, - 'space': { - 'a': { nextState: 'as' }, - '0': { action_: 'sb=false' }, - '1|2': { action_: 'sb=true' }, - 'r|rt|rd|rdt|rdq': { action_: 'output', nextState: '0' }, - '*': { action_: [ 'output', 'sb=true' ], nextState: '1'} }, - '1st-level escape': { - '1|2': { action_: [ 'output', { type_: 'insert+p1', option: '1st-level escape' } ] }, - '*': { action_: [ 'output', { type_: 'insert+p1', option: '1st-level escape' } ], nextState: '0' } }, - '[(...)]': { - 'r|rt': { action_: 'rd=', nextState: 'rd' }, - 'rd|rdt': { action_: 'rq=', nextState: 'rdq' } }, - '...': { - 'o|d|D|dq|qd|qD': { action_: [ 'output', { type_: 'bond', option: "..." } ], nextState: '3' }, - '*': { action_: [ { type_: 'output', option: 1 }, { type_: 'insert', option: 'ellipsis' } ], nextState: '1' } }, - '. |* ': { - '*': { action_: [ 'output', { type_: 'insert', option: 'addition compound' } ], nextState: '1' } }, - 'state of aggregation $': { - '*': { action_: [ 'output', 'state of aggregation' ], nextState: '1' } }, - '{[(': { - 'a|as|o': { action_: [ 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' }, - '0|1|2|3': { action_: [ 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' }, - '*': { action_: [ 'output', 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' } }, - ')]}': { - '0|1|2|3|b|p|bp|o': { action_: [ 'o=', 'parenthesisLevel--' ], nextState: 'o' }, - 'a|as|d|D|q|qd|qD|dq': { action_: [ 'output', 'o=', 'parenthesisLevel--' ], nextState: 'o' } }, - ', ': { - '*': { action_: [ 'output', 'comma' ], nextState: '0' } }, - '^_': { // ^ and _ without a sensible argument - '*': { } }, - '^{(...)}|^($...$)': { - '0|1|2|as': { action_: 'b=', nextState: 'b' }, - 'p': { action_: 'b=', nextState: 'bp' }, - '3|o': { action_: 'd= kv', nextState: 'D' }, - 'q': { action_: 'd=', nextState: 'qD' }, - 'd|D|qd|qD|dq': { action_: [ 'output', 'd=' ], nextState: 'D' } }, - '^a|^\\x{}{}|^\\x{}|^\\x|\'': { - '0|1|2|as': { action_: 'b=', nextState: 'b' }, - 'p': { action_: 'b=', nextState: 'bp' }, - '3|o': { action_: 'd= kv', nextState: 'd' }, - 'q': { action_: 'd=', nextState: 'qd' }, - 'd|qd|D|qD': { action_: 'd=' }, - 'dq': { action_: [ 'output', 'd=' ], nextState: 'd' } }, - '_{(state of aggregation)}$': { - 'd|D|q|qd|qD|dq': { action_: [ 'output', 'q=' ], nextState: 'q' } }, - '_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x': { - '0|1|2|as': { action_: 'p=', nextState: 'p' }, - 'b': { action_: 'p=', nextState: 'bp' }, - '3|o': { action_: 'q=', nextState: 'q' }, - 'd|D': { action_: 'q=', nextState: 'dq' }, - 'q|qd|qD|dq': { action_: [ 'output', 'q=' ], nextState: 'q' } }, - '=<>': { - '0|1|2|3|a|as|o|q|d|D|qd|qD|dq': { action_: [ { type_: 'output', option: 2 }, 'bond' ], nextState: '3' } }, - '#': { - '0|1|2|3|a|as|o': { action_: [ { type_: 'output', option: 2 }, { type_: 'bond', option: "#" } ], nextState: '3' } }, - '{}': { - '*': { action_: { type_: 'output', option: 1 }, nextState: '1' } }, - '{...}': { - '0|1|2|3|a|as|b|p|bp': { action_: 'o=', nextState: 'o' }, - 'o|d|D|q|qd|qD|dq': { action_: [ 'output', 'o=' ], nextState: 'o' } }, - '$...$': { - 'a': { action_: 'a=' }, // 2$n$ - '0|1|2|3|as|b|p|bp|o': { action_: 'o=', nextState: 'o' }, // not 'amount' - 'as|o': { action_: 'o=' }, - 'q|d|D|qd|qD|dq': { action_: [ 'output', 'o=' ], nextState: 'o' } }, - '\\bond{(...)}': { - '*': { action_: [ { type_: 'output', option: 2 }, 'bond' ], nextState: "3" } }, - '\\frac{(...)}': { - '*': { action_: [ { type_: 'output', option: 1 }, 'frac-output' ], nextState: '3' } }, - '\\overset{(...)}': { - '*': { action_: [ { type_: 'output', option: 2 }, 'overset-output' ], nextState: '3' } }, - '\\underset{(...)}': { - '*': { action_: [ { type_: 'output', option: 2 }, 'underset-output' ], nextState: '3' } }, - '\\underbrace{(...)}': { - '*': { action_: [ { type_: 'output', option: 2 }, 'underbrace-output' ], nextState: '3' } }, - '\\color{(...)}{(...)}1|\\color(...){(...)}2': { - '*': { action_: [ { type_: 'output', option: 2 }, 'color-output' ], nextState: '3' } }, - '\\color{(...)}0': { - '*': { action_: [ { type_: 'output', option: 2 }, 'color0-output' ] } }, - '\\ce{(...)}': { - '*': { action_: [ { type_: 'output', option: 2 }, 'ce' ], nextState: '3' } }, - '\\,': { - '*': { action_: [ { type_: 'output', option: 1 }, 'copy' ], nextState: '1' } }, - '\\x{}{}|\\x{}|\\x': { - '0|1|2|3|a|as|b|p|bp|o|c0': { action_: [ 'o=', 'output' ], nextState: '3' }, - '*': { action_: ['output', 'o=', 'output' ], nextState: '3' } }, - 'others': { - '*': { action_: [ { type_: 'output', option: 1 }, 'copy' ], nextState: '3' } }, - 'else2': { - 'a': { action_: 'a to o', nextState: 'o', revisit: true }, - 'as': { action_: [ 'output', 'sb=true' ], nextState: '1', revisit: true }, - 'r|rt|rd|rdt|rdq': { action_: [ 'output' ], nextState: '0', revisit: true }, - '*': { action_: [ 'output', 'copy' ], nextState: '3' } } - }), - actions: { - 'o after d': function (buffer, m) { - var ret; - if ((buffer.d || "").match(/^[0-9]+$/)) { - var tmp = buffer.d; - buffer.d = undefined; - ret = this['output'](buffer); - buffer.b = tmp; - } else { - ret = this['output'](buffer); - } - mhchemParser.actions['o='](buffer, m); - return ret; - }, - 'd= kv': function (buffer, m) { - buffer.d = m; - buffer.dType = 'kv'; - }, - 'charge or bond': function (buffer, m) { - if (buffer['beginsWithBond']) { - /** @type {ParserOutput[]} */ - var ret = []; - mhchemParser.concatArray(ret, this['output'](buffer)); - mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); - return ret; - } else { - buffer.d = m; - } - }, - '- after o/d': function (buffer, m, isAfterD) { - var c1 = mhchemParser.patterns.match_('orbital', buffer.o || ""); - var c2 = mhchemParser.patterns.match_('one lowercase greek letter $', buffer.o || ""); - var c3 = mhchemParser.patterns.match_('one lowercase latin letter $', buffer.o || ""); - var c4 = mhchemParser.patterns.match_('$one lowercase latin letter$ $', buffer.o || ""); - var hyphenFollows = m==="-" && ( c1 && c1.remainder==="" || c2 || c3 || c4 ); - if (hyphenFollows && !buffer.a && !buffer.b && !buffer.p && !buffer.d && !buffer.q && !c1 && c3) { - buffer.o = '$' + buffer.o + '$'; - } - /** @type {ParserOutput[]} */ - var ret = []; - if (hyphenFollows) { - mhchemParser.concatArray(ret, this['output'](buffer)); - ret.push({ type_: 'hyphen' }); - } else { - c1 = mhchemParser.patterns.match_('digits', buffer.d || ""); - if (isAfterD && c1 && c1.remainder==='') { - mhchemParser.concatArray(ret, mhchemParser.actions['d='](buffer, m)); - mhchemParser.concatArray(ret, this['output'](buffer)); - } else { - mhchemParser.concatArray(ret, this['output'](buffer)); - mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); - } - } - return ret; - }, - 'a to o': function (buffer) { - buffer.o = buffer.a; - buffer.a = undefined; - }, - 'sb=true': function (buffer) { buffer.sb = true; }, - 'sb=false': function (buffer) { buffer.sb = false; }, - 'beginsWithBond=true': function (buffer) { buffer['beginsWithBond'] = true; }, - 'beginsWithBond=false': function (buffer) { buffer['beginsWithBond'] = false; }, - 'parenthesisLevel++': function (buffer) { buffer['parenthesisLevel']++; }, - 'parenthesisLevel--': function (buffer) { buffer['parenthesisLevel']--; }, - 'state of aggregation': function (buffer, m) { - return { type_: 'state of aggregation', p1: mhchemParser.go(m, 'o') }; - }, - 'comma': function (buffer, m) { - var a = m.replace(/\s*$/, ''); - var withSpace = (a !== m); - if (withSpace && buffer['parenthesisLevel'] === 0) { - return { type_: 'comma enumeration L', p1: a }; - } else { - return { type_: 'comma enumeration M', p1: a }; - } - }, - 'output': function (buffer, m, entityFollows) { - // entityFollows: - // undefined = if we have nothing else to output, also ignore the just read space (buffer.sb) - // 1 = an entity follows, never omit the space if there was one just read before (can only apply to state 1) - // 2 = 1 + the entity can have an amount, so output a\, instead of converting it to o (can only apply to states a|as) - /** @type {ParserOutput | ParserOutput[]} */ - var ret; - if (!buffer.r) { - ret = []; - if (!buffer.a && !buffer.b && !buffer.p && !buffer.o && !buffer.q && !buffer.d && !entityFollows) { - //ret = []; - } else { - if (buffer.sb) { - ret.push({ type_: 'entitySkip' }); - } - if (!buffer.o && !buffer.q && !buffer.d && !buffer.b && !buffer.p && entityFollows!==2) { - buffer.o = buffer.a; - buffer.a = undefined; - } else if (!buffer.o && !buffer.q && !buffer.d && (buffer.b || buffer.p)) { - buffer.o = buffer.a; - buffer.d = buffer.b; - buffer.q = buffer.p; - buffer.a = buffer.b = buffer.p = undefined; - } else { - if (buffer.o && buffer.dType==='kv' && mhchemParser.patterns.match_('d-oxidation$', buffer.d || "")) { - buffer.dType = 'oxidation'; - } else if (buffer.o && buffer.dType==='kv' && !buffer.q) { - buffer.dType = undefined; - } - } - ret.push({ - type_: 'chemfive', - a: mhchemParser.go(buffer.a, 'a'), - b: mhchemParser.go(buffer.b, 'bd'), - p: mhchemParser.go(buffer.p, 'pq'), - o: mhchemParser.go(buffer.o, 'o'), - q: mhchemParser.go(buffer.q, 'pq'), - d: mhchemParser.go(buffer.d, (buffer.dType === 'oxidation' ? 'oxidation' : 'bd')), - dType: buffer.dType - }); - } - } else { // r - /** @type {ParserOutput[]} */ - var rd; - if (buffer.rdt === 'M') { - rd = mhchemParser.go(buffer.rd, 'tex-math'); - } else if (buffer.rdt === 'T') { - rd = [ { type_: 'text', p1: buffer.rd || "" } ]; - } else { - rd = mhchemParser.go(buffer.rd); - } - /** @type {ParserOutput[]} */ - var rq; - if (buffer.rqt === 'M') { - rq = mhchemParser.go(buffer.rq, 'tex-math'); - } else if (buffer.rqt === 'T') { - rq = [ { type_: 'text', p1: buffer.rq || ""} ]; - } else { - rq = mhchemParser.go(buffer.rq); - } - ret = { - type_: 'arrow', - r: buffer.r, - rd: rd, - rq: rq - }; - } - for (var p in buffer) { - if (p !== 'parenthesisLevel' && p !== 'beginsWithBond') { - delete buffer[p]; - } - } - return ret; - }, - 'oxidation-output': function (buffer, m) { - var ret = [ "{" ]; - mhchemParser.concatArray(ret, mhchemParser.go(m, 'oxidation')); - ret.push("}"); - return ret; - }, - 'frac-output': function (buffer, m) { - return { type_: 'frac-ce', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; - }, - 'overset-output': function (buffer, m) { - return { type_: 'overset', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; - }, - 'underset-output': function (buffer, m) { - return { type_: 'underset', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; - }, - 'underbrace-output': function (buffer, m) { - return { type_: 'underbrace', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; - }, - 'color-output': function (buffer, m) { - return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1]) }; - }, - 'r=': function (buffer, m) { buffer.r = m; }, - 'rdt=': function (buffer, m) { buffer.rdt = m; }, - 'rd=': function (buffer, m) { buffer.rd = m; }, - 'rqt=': function (buffer, m) { buffer.rqt = m; }, - 'rq=': function (buffer, m) { buffer.rq = m; }, - 'operator': function (buffer, m, p1) { return { type_: 'operator', kind_: (p1 || m) }; } - } - }, - 'a': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - '1/2$': { - '0': { action_: '1/2' } }, - 'else': { - '0': { nextState: '1', revisit: true } }, - '$(...)$': { - '*': { action_: 'tex-math tight', nextState: '1' } }, - ',': { - '*': { action_: { type_: 'insert', option: 'commaDecimal' } } }, - 'else2': { - '*': { action_: 'copy' } } - }), - actions: {} - }, - 'o': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - '1/2$': { - '0': { action_: '1/2' } }, - 'else': { - '0': { nextState: '1', revisit: true } }, - 'letters': { - '*': { action_: 'rm' } }, - '\\ca': { - '*': { action_: { type_: 'insert', option: 'circa' } } }, - '\\x{}{}|\\x{}|\\x': { - '*': { action_: 'copy' } }, - '${(...)}$|$(...)$': { - '*': { action_: 'tex-math' } }, - '{(...)}': { - '*': { action_: '{text}' } }, - 'else2': { - '*': { action_: 'copy' } } - }), - actions: {} - }, - 'text': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': { action_: 'output' } }, - '{...}': { - '*': { action_: 'text=' } }, - '${(...)}$|$(...)$': { - '*': { action_: 'tex-math' } }, - '\\greek': { - '*': { action_: [ 'output', 'rm' ] } }, - '\\,|\\x{}{}|\\x{}|\\x': { - '*': { action_: [ 'output', 'copy' ] } }, - 'else': { - '*': { action_: 'text=' } } - }), - actions: { - 'output': function (buffer) { - if (buffer.text_) { - /** @type {ParserOutput} */ - var ret = { type_: 'text', p1: buffer.text_ }; - for (var p in buffer) { delete buffer[p]; } - return ret; - } - } - } - }, - 'pq': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - 'state of aggregation $': { - '*': { action_: 'state of aggregation' } }, - 'i$': { - '0': { nextState: '!f', revisit: true } }, - '(KV letters),': { - '0': { action_: 'rm', nextState: '0' } }, - 'formula$': { - '0': { nextState: 'f', revisit: true } }, - '1/2$': { - '0': { action_: '1/2' } }, - 'else': { - '0': { nextState: '!f', revisit: true } }, - '${(...)}$|$(...)$': { - '*': { action_: 'tex-math' } }, - '{(...)}': { - '*': { action_: 'text' } }, - 'a-z': { - 'f': { action_: 'tex-math' } }, - 'letters': { - '*': { action_: 'rm' } }, - '-9.,9': { - '*': { action_: '9,9' } }, - ',': { - '*': { action_: { type_: 'insert+p1', option: 'comma enumeration S' } } }, - '\\color{(...)}{(...)}1|\\color(...){(...)}2': { - '*': { action_: 'color-output' } }, - '\\color{(...)}0': { - '*': { action_: 'color0-output' } }, - '\\ce{(...)}': { - '*': { action_: 'ce' } }, - '\\,|\\x{}{}|\\x{}|\\x': { - '*': { action_: 'copy' } }, - 'else2': { - '*': { action_: 'copy' } } - }), - actions: { - 'state of aggregation': function (buffer, m) { - return { type_: 'state of aggregation subscript', p1: mhchemParser.go(m, 'o') }; - }, - 'color-output': function (buffer, m) { - return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1], 'pq') }; - } - } - }, - 'bd': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - 'x$': { - '0': { nextState: '!f', revisit: true } }, - 'formula$': { - '0': { nextState: 'f', revisit: true } }, - 'else': { - '0': { nextState: '!f', revisit: true } }, - '-9.,9 no missing 0': { - '*': { action_: '9,9' } }, - '.': { - '*': { action_: { type_: 'insert', option: 'electron dot' } } }, - 'a-z': { - 'f': { action_: 'tex-math' } }, - 'x': { - '*': { action_: { type_: 'insert', option: 'KV x' } } }, - 'letters': { - '*': { action_: 'rm' } }, - '\'': { - '*': { action_: { type_: 'insert', option: 'prime' } } }, - '${(...)}$|$(...)$': { - '*': { action_: 'tex-math' } }, - '{(...)}': { - '*': { action_: 'text' } }, - '\\color{(...)}{(...)}1|\\color(...){(...)}2': { - '*': { action_: 'color-output' } }, - '\\color{(...)}0': { - '*': { action_: 'color0-output' } }, - '\\ce{(...)}': { - '*': { action_: 'ce' } }, - '\\,|\\x{}{}|\\x{}|\\x': { - '*': { action_: 'copy' } }, - 'else2': { - '*': { action_: 'copy' } } - }), - actions: { - 'color-output': function (buffer, m) { - return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1], 'bd') }; - } - } - }, - 'oxidation': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - 'roman numeral': { - '*': { action_: 'roman-numeral' } }, - '${(...)}$|$(...)$': { - '*': { action_: 'tex-math' } }, - 'else': { - '*': { action_: 'copy' } } - }), - actions: { - 'roman-numeral': function (buffer, m) { return { type_: 'roman numeral', p1: m || "" }; } - } - }, - 'tex-math': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': { action_: 'output' } }, - '\\ce{(...)}': { - '*': { action_: [ 'output', 'ce' ] } }, - '{...}|\\,|\\x{}{}|\\x{}|\\x': { - '*': { action_: 'o=' } }, - 'else': { - '*': { action_: 'o=' } } - }), - actions: { - 'output': function (buffer) { - if (buffer.o) { - /** @type {ParserOutput} */ - var ret = { type_: 'tex-math', p1: buffer.o }; - for (var p in buffer) { delete buffer[p]; } - return ret; - } - } - } - }, - 'tex-math tight': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': { action_: 'output' } }, - '\\ce{(...)}': { - '*': { action_: [ 'output', 'ce' ] } }, - '{...}|\\,|\\x{}{}|\\x{}|\\x': { - '*': { action_: 'o=' } }, - '-|+': { - '*': { action_: 'tight operator' } }, - 'else': { - '*': { action_: 'o=' } } - }), - actions: { - 'tight operator': function (buffer, m) { buffer.o = (buffer.o || "") + "{"+m+"}"; }, - 'output': function (buffer) { - if (buffer.o) { - /** @type {ParserOutput} */ - var ret = { type_: 'tex-math', p1: buffer.o }; - for (var p in buffer) { delete buffer[p]; } - return ret; - } - } - } - }, - '9,9': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': {} }, - ',': { - '*': { action_: 'comma' } }, - 'else': { - '*': { action_: 'copy' } } - }), - actions: { - 'comma': function () { return { type_: 'commaDecimal' }; } - } - }, - //#endregion - // - // \pu state machines - // - //#region pu - 'pu': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': { action_: 'output' } }, - 'space$': { - '*': { action_: [ 'output', 'space' ] } }, - '{[(|)]}': { - '0|a': { action_: 'copy' } }, - '(-)(9)^(-9)': { - '0': { action_: 'number^', nextState: 'a' } }, - '(-)(9.,9)(e)(99)': { - '0': { action_: 'enumber', nextState: 'a' } }, - 'space': { - '0|a': {} }, - 'pm-operator': { - '0|a': { action_: { type_: 'operator', option: '\\pm' }, nextState: '0' } }, - 'operator': { - '0|a': { action_: 'copy', nextState: '0' } }, - '//': { - 'd': { action_: 'o=', nextState: '/' } }, - '/': { - 'd': { action_: 'o=', nextState: '/' } }, - '{...}|else': { - '0|d': { action_: 'd=', nextState: 'd' }, - 'a': { action_: [ 'space', 'd=' ], nextState: 'd' }, - '/|q': { action_: 'q=', nextState: 'q' } } - }), - actions: { - 'enumber': function (buffer, m) { - /** @type {ParserOutput[]} */ - var ret = []; - if (m[0] === "+-" || m[0] === "+/-") { - ret.push("\\pm "); - } else if (m[0]) { - ret.push(m[0]); - } - if (m[1]) { - mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); - if (m[2]) { - if (m[2].match(/[,.]/)) { - mhchemParser.concatArray(ret, mhchemParser.go(m[2], 'pu-9,9')); - } else { - ret.push(m[2]); - } - } - m[3] = m[4] || m[3]; - if (m[3]) { - m[3] = m[3].trim(); - if (m[3] === "e" || m[3].substr(0, 1) === "*") { - ret.push({ type_: 'cdot' }); - } else { - ret.push({ type_: 'times' }); - } - } - } - if (m[3]) { - ret.push("10^{"+m[5]+"}"); - } - return ret; - }, - 'number^': function (buffer, m) { - /** @type {ParserOutput[]} */ - var ret = []; - if (m[0] === "+-" || m[0] === "+/-") { - ret.push("\\pm "); - } else if (m[0]) { - ret.push(m[0]); - } - mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); - ret.push("^{"+m[2]+"}"); - return ret; - }, - 'operator': function (buffer, m, p1) { return { type_: 'operator', kind_: (p1 || m) }; }, - 'space': function () { return { type_: 'pu-space-1' }; }, - 'output': function (buffer) { - /** @type {ParserOutput | ParserOutput[]} */ - var ret; - var md = mhchemParser.patterns.match_('{(...)}', buffer.d || ""); - if (md && md.remainder === '') { buffer.d = md.match_; } - var mq = mhchemParser.patterns.match_('{(...)}', buffer.q || ""); - if (mq && mq.remainder === '') { buffer.q = mq.match_; } - if (buffer.d) { - buffer.d = buffer.d.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); - buffer.d = buffer.d.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); - } - if (buffer.q) { // fraction - buffer.q = buffer.q.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); - buffer.q = buffer.q.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); - var b5 = { - d: mhchemParser.go(buffer.d, 'pu'), - q: mhchemParser.go(buffer.q, 'pu') - }; - if (buffer.o === '//') { - ret = { type_: 'pu-frac', p1: b5.d, p2: b5.q }; - } else { - ret = b5.d; - if (b5.d.length > 1 || b5.q.length > 1) { - ret.push({ type_: ' / ' }); - } else { - ret.push({ type_: '/' }); - } - mhchemParser.concatArray(ret, b5.q); - } - } else { // no fraction - ret = mhchemParser.go(buffer.d, 'pu-2'); - } - for (var p in buffer) { delete buffer[p]; } - return ret; - } - } - }, - 'pu-2': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '*': { action_: 'output' } }, - '*': { - '*': { action_: [ 'output', 'cdot' ], nextState: '0' } }, - '\\x': { - '*': { action_: 'rm=' } }, - 'space': { - '*': { action_: [ 'output', 'space' ], nextState: '0' } }, - '^{(...)}|^(-1)': { - '1': { action_: '^(-1)' } }, - '-9.,9': { - '0': { action_: 'rm=', nextState: '0' }, - '1': { action_: '^(-1)', nextState: '0' } }, - '{...}|else': { - '*': { action_: 'rm=', nextState: '1' } } - }), - actions: { - 'cdot': function () { return { type_: 'tight cdot' }; }, - '^(-1)': function (buffer, m) { buffer.rm += "^{"+m+"}"; }, - 'space': function () { return { type_: 'pu-space-2' }; }, - 'output': function (buffer) { - /** @type {ParserOutput | ParserOutput[]} */ - var ret = []; - if (buffer.rm) { - var mrm = mhchemParser.patterns.match_('{(...)}', buffer.rm || ""); - if (mrm && mrm.remainder === '') { - ret = mhchemParser.go(mrm.match_, 'pu'); - } else { - ret = { type_: 'rm', p1: buffer.rm }; - } - } - for (var p in buffer) { delete buffer[p]; } - return ret; - } - } - }, - 'pu-9,9': { - transitions: mhchemParser.createTransitions({ - 'empty': { - '0': { action_: 'output-0' }, - 'o': { action_: 'output-o' } }, - ',': { - '0': { action_: [ 'output-0', 'comma' ], nextState: 'o' } }, - '.': { - '0': { action_: [ 'output-0', 'copy' ], nextState: 'o' } }, - 'else': { - '*': { action_: 'text=' } } - }), - actions: { - 'comma': function () { return { type_: 'commaDecimal' }; }, - 'output-0': function (buffer) { - /** @type {ParserOutput[]} */ - var ret = []; - buffer.text_ = buffer.text_ || ""; - if (buffer.text_.length > 4) { - var a = buffer.text_.length % 3; - if (a === 0) { a = 3; } - for (var i=buffer.text_.length-3; i>0; i-=3) { - ret.push(buffer.text_.substr(i, 3)); - ret.push({ type_: '1000 separator' }); - } - ret.push(buffer.text_.substr(0, a)); - ret.reverse(); - } else { - ret.push(buffer.text_); - } - for (var p in buffer) { delete buffer[p]; } - return ret; - }, - 'output-o': function (buffer) { - /** @type {ParserOutput[]} */ - var ret = []; - buffer.text_ = buffer.text_ || ""; - if (buffer.text_.length > 4) { - var a = buffer.text_.length - 3; - for (var i=0; i" || buf.r === "<=>>" || buf.r === "<<=>" || buf.r === "<-->") { - // arrows that cannot stretch correctly yet, https://github.com/mathjax/MathJax/issues/1491 - arrow = "\\long"+arrow; - if (b6.rd) { arrow = "\\overset{"+b6.rd+"}{"+arrow+"}"; } - if (b6.rq) { arrow = "\\underset{\\lower7mu{"+b6.rq+"}}{"+arrow+"}"; } - arrow = " {}\\mathrel{"+arrow+"}{} "; - } else { - if (b6.rq) { arrow += "[{"+b6.rq+"}]"; } - arrow += "{"+b6.rd+"}"; - arrow = " {}\\mathrel{\\x"+arrow+"}{} "; - } - } else { - arrow = " {}\\mathrel{\\long"+arrow+"}{} "; - } - res = arrow; - break; - case 'operator': - res = texify._getOperator(buf.kind_); - break; - case '1st-level escape': - res = buf.p1+" "; // &, \\\\, \\hlin - break; - case 'space': - res = " "; - break; - case 'entitySkip': - res = "~"; - break; - case 'pu-space-1': - res = "~"; - break; - case 'pu-space-2': - res = "\\mkern3mu "; - break; - case '1000 separator': - res = "\\mkern2mu "; - break; - case 'commaDecimal': - res = "{,}"; - break; - case 'comma enumeration L': - res = "{"+buf.p1+"}\\mkern6mu "; - break; - case 'comma enumeration M': - res = "{"+buf.p1+"}\\mkern3mu "; - break; - case 'comma enumeration S': - res = "{"+buf.p1+"}\\mkern1mu "; - break; - case 'hyphen': - res = "\\text{-}"; - break; - case 'addition compound': - res = "\\,{\\cdot}\\,"; - break; - case 'electron dot': - res = "\\mkern1mu \\bullet\\mkern1mu "; - break; - case 'KV x': - res = "{\\times}"; - break; - case 'prime': - res = "\\prime "; - break; - case 'cdot': - res = "\\cdot "; - break; - case 'tight cdot': - res = "\\mkern1mu{\\cdot}\\mkern1mu "; - break; - case 'times': - res = "\\times "; - break; - case 'circa': - res = "{\\sim}"; - break; - case '^': - res = "uparrow"; - break; - case 'v': - res = "downarrow"; - break; - case 'ellipsis': - res = "\\ldots "; - break; - case '/': - res = "/"; - break; - case ' / ': - res = "\\,/\\,"; - break; - default: - assertNever(buf); - throw ["MhchemBugT", "mhchem bug T. Please report."]; // Missing texify rule or unknown MhchemParser output - } - assertString(res); - return res; - }, - _getArrow: function (a) { - switch (a) { - case "->": return "rightarrow"; - case "\u2192": return "rightarrow"; - case "\u27F6": return "rightarrow"; - case "<-": return "leftarrow"; - case "<->": return "leftrightarrow"; - case "<-->": return "leftrightarrows"; - case "<=>": return "rightleftharpoons"; - case "\u21CC": return "rightleftharpoons"; - case "<=>>": return "Rightleftharpoons"; - case "<<=>": return "Leftrightharpoons"; - default: - assertNever(a); - throw ["MhchemBugT", "mhchem bug T. Please report."]; - } - }, - _getBond: function (a) { - switch (a) { - case "-": return "{-}"; - case "1": return "{-}"; - case "=": return "{=}"; - case "2": return "{=}"; - case "#": return "{\\equiv}"; - case "3": return "{\\equiv}"; - case "~": return "{\\tripledash}"; - case "~-": return "{\\rlap{\\lower.1em{-}}\\raise.1em{\\tripledash}}"; - case "~=": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}"; - case "~--": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}"; - case "-~-": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{-}}\\tripledash}"; - case "...": return "{{\\cdot}{\\cdot}{\\cdot}}"; - case "....": return "{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}"; - case "->": return "{\\rightarrow}"; - case "<-": return "{\\leftarrow}"; - case "<": return "{<}"; - case ">": return "{>}"; - default: - assertNever(a); - throw ["MhchemBugT", "mhchem bug T. Please report."]; - } - }, - _getOperator: function (a) { - switch (a) { - case "+": return " {}+{} "; - case "-": return " {}-{} "; - case "=": return " {}={} "; - case "<": return " {}<{} "; - case ">": return " {}>{} "; - case "<<": return " {}\\ll{} "; - case ">>": return " {}\\gg{} "; - case "\\pm": return " {}\\pm{} "; - case "\\approx": return " {}\\approx{} "; - case "$\\approx$": return " {}\\approx{} "; - case "v": return " \\downarrow{} "; - case "(v)": return " \\downarrow{} "; - case "^": return " \\uparrow{} "; - case "(^)": return " \\uparrow{} "; - default: - assertNever(a); - throw ["MhchemBugT", "mhchem bug T. Please report."]; - } - } - }; - - // - // Helpers for code anaylsis - // Will show type error at calling position - // - /** @param {number} a */ - function assertNever(a) {} - /** @param {string} a */ - function assertString(a) {} - - // - // MathJax definitions - // - MathJax.Extension["TeX/mhchem"].CE = CE; - - /***************************************************************************/ - - TEX.Definitions.Add({ - macros: { - // - // Set up the macros for chemistry - // - ce: "CE", - pu: "PU", - - // - // Make these load AMSmath package (redefined below when loaded) - // - xleftrightarrow: ["Extension", "AMSmath"], - xrightleftharpoons: ["Extension", "AMSmath"], - xRightleftharpoons: ["Extension", "AMSmath"], - xLeftrightharpoons: ["Extension", "AMSmath"], - - // FIXME: These don't work well in FF NativeMML mode - longrightleftharpoons: ["Macro", "\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"], - longRightleftharpoons: ["Macro", "\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\smash{\\leftharpoondown}}"], - longLeftrightharpoons: ["Macro", "\\stackrel{\\textstyle\\vphantom{{-}}{\\rightharpoonup}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"], - longleftrightarrows: ["Macro", "\\stackrel{\\longrightarrow}{\\smash{\\longleftarrow}\\Rule{0px}{.25em}{0px}}"], - - // - // Needed for \bond for the ~ forms - // Not perfectly aligned when zoomed in, but on 100% - // - tripledash: ["Macro", "\\vphantom{-}\\raise2mu{\\kern2mu\\tiny\\text{-}\\kern1mu\\text{-}\\kern1mu\\text{-}\\kern2mu}"] - }, - }, null, true); - - if (!MathJax.Extension["TeX/AMSmath"]) { - TEX.Definitions.Add({ - macros: { - xrightarrow: ["Extension", "AMSmath"], - xleftarrow: ["Extension", "AMSmath"] - } - }, null, true); - } - - // - // These arrows need to wait until AMSmath is loaded - // - MathJax.Hub.Register.StartupHook("TeX AMSmath Ready", function () { - TEX.Definitions.Add({ - macros: { - // - // Some of these are hacks for now - // - xleftrightarrow: ["xArrow", 0x2194, 6, 6], - xrightleftharpoons: ["xArrow", 0x21CC, 5, 7], // FIXME: doesn't stretch in HTML-CSS output - xRightleftharpoons: ["xArrow", 0x21CC, 5, 7], // FIXME: how should this be handled? - xLeftrightharpoons: ["xArrow", 0x21CC, 5, 7] - } - }, null, true); - }); - - TEX.Parse.Augment({ - - // - // Implements \ce and friends - // - CE: function (name) { - var arg = this.GetArgument(name); - var tex = CE(arg).Parse(); - this.string = tex + this.string.substr(this.i); this.i = 0; - }, - - PU: function (name) { - var arg = this.GetArgument(name); - var tex = CE(arg).Parse('pu'); - this.string = tex + this.string.substr(this.i); this.i = 0; - } - - }); - - // - // Indicate that the extension is ready - // - MathJax.Hub.Startup.signal.Post("TeX mhchem Ready"); - -}); - -MathJax.Ajax.loadComplete("[mhchem]/mhchem.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/newcommand.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/newcommand.js deleted file mode 100644 index b4edc892..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/newcommand.js +++ /dev/null @@ -1,270 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/newcommand.js - * - * Implements the \newcommand, \newenvironment and \def - * macros, and is loaded automatically when needed. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/newcommand"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - - var TEX = MathJax.InputJax.TeX; - var TEXDEF = TEX.Definitions; - - TEXDEF.Add({ - macros: { - newcommand: 'NewCommand', - renewcommand: 'NewCommand', - newenvironment: 'NewEnvironment', - renewenvironment: 'NewEnvironment', - def: 'MacroDef', - 'let': 'Let' - } - },null,true); - - TEX.Parse.Augment({ - - /* - * Implement \newcommand{\name}[n][default]{...} - */ - NewCommand: function (name) { - var cs = this.trimSpaces(this.GetArgument(name)), - n = this.GetBrackets(name), - opt = this.GetBrackets(name), - def = this.GetArgument(name); - if (cs.charAt(0) === "\\") {cs = cs.substr(1)} - if (!cs.match(/^(.|[a-z]+)$/i)) { - TEX.Error(["IllegalControlSequenceName", - "Illegal control sequence name for %1",name]); - } - if (n) { - n = this.trimSpaces(n); - if (!n.match(/^[0-9]+$/)) { - TEX.Error(["IllegalParamNumber", - "Illegal number of parameters specified in %1",name]); - } - } - this.setDef(cs,['Macro',def,n,opt]); - }, - - /* - * Implement \newenvironment{name}[n][default]{begincmd}{endcmd} - */ - NewEnvironment: function (name) { - var env = this.trimSpaces(this.GetArgument(name)), - n = this.GetBrackets(name), - opt = this.GetBrackets(name), - bdef = this.GetArgument(name), - edef = this.GetArgument(name); - if (n) { - n = this.trimSpaces(n); - if (!n.match(/^[0-9]+$/)) { - TEX.Error(["IllegalParamNumber", - "Illegal number of parameters specified in %1",name]); - } - } - this.setEnv(env,['BeginEnv',[null,'EndEnv'],bdef,edef,n,opt]); - }, - - /* - * Implement \def command - */ - MacroDef: function (name) { - var cs = this.GetCSname(name), - params = this.GetTemplate(name,"\\"+cs), - def = this.GetArgument(name); - if (!(params instanceof Array)) {this.setDef(cs,['Macro',def,params])} - else {this.setDef(cs,['MacroWithTemplate',def].concat(params))} - }, - - /* - * Implements the \let command - */ - Let: function (name) { - var cs = this.GetCSname(name), macro; - var c = this.GetNext(); if (c === "=") {this.i++; c = this.GetNext()} - // - // All \let commands create entries in the macros array, but we - // have to look in the various mathchar and delimiter arrays if - // the source isn't a macro already, and attach the data to a - // macro with the proper routine to process it. - // - // A command of the form \let\cs=char produces a macro equivalent - // to \def\cs{char}, which is as close as MathJax can get for this. - // So \let\bgroup={ is possible, but doesn't work as it does in TeX. - // - if (c === "\\") { - name = this.GetCSname(name); - macro = this.csFindMacro(name); - if (!macro) { - if (TEXDEF.mathchar0mi.hasOwnProperty(name)) {macro = ["csMathchar0mi",TEXDEF.mathchar0mi[name]]} else - if (TEXDEF.mathchar0mo.hasOwnProperty(name)) {macro = ["csMathchar0mo",TEXDEF.mathchar0mo[name]]} else - if (TEXDEF.mathchar7.hasOwnProperty(name)) {macro = ["csMathchar7",TEXDEF.mathchar7[name]]} else - if (TEXDEF.delimiter.hasOwnProperty("\\"+name)) {macro = ["csDelimiter",TEXDEF.delimiter["\\"+name]]} else - return; - } - } else {macro = ["Macro",c]; this.i++} - this.setDef(cs,macro); - }, - - /* - * Get a CS name or give an error - */ - GetCSname: function (cmd) { - var c = this.GetNext(); - if (c !== "\\") { - TEX.Error(["MissingCS", - "%1 must be followed by a control sequence", cmd]) - } - var cs = this.trimSpaces(this.GetArgument(cmd)); - return cs.substr(1); - }, - - /* - * Get a \def parameter template - */ - GetTemplate: function (cmd,cs) { - var c, params = [], n = 0; - c = this.GetNext(); var i = this.i; - while (this.i < this.string.length) { - c = this.GetNext(); - if (c === '#') { - if (i !== this.i) {params[n] = this.string.substr(i,this.i-i)} - c = this.string.charAt(++this.i); - if (!c.match(/^[1-9]$/)) { - TEX.Error(["CantUseHash2", - "Illegal use of # in template for %1",cs]); - } - if (parseInt(c) != ++n) { - TEX.Error(["SequentialParam", - "Parameters for %1 must be numbered sequentially",cs]); - } - i = this.i+1; - } else if (c === '{') { - if (i !== this.i) {params[n] = this.string.substr(i,this.i-i)} - if (params.length > 0) {return [n,params]} else {return n} - } - this.i++; - } - TEX.Error(["MissingReplacementString", - "Missing replacement string for definition of %1",cmd]); - }, - - /* - * Process a macro with a parameter template - */ - MacroWithTemplate: function (name,text,n,params) { - if (n) { - var args = []; this.GetNext(); - if (params[0] && !this.MatchParam(params[0])) { - TEX.Error(["MismatchUseDef", - "Use of %1 doesn't match its definition",name]); - } - for (var i = 0; i < n; i++) {args.push(this.GetParameter(name,params[i+1]))} - text = this.SubstituteArgs(args,text); - } - this.string = this.AddArgs(text,this.string.slice(this.i)); - this.i = 0; - if (++this.macroCount > TEX.config.MAXMACROS) { - TEX.Error(["MaxMacroSub1", - "MathJax maximum macro substitution count exceeded; " + - "is there a recursive macro call?"]); - } - }, - - /* - * Process a user-defined environment - */ - BeginEnv: function (begin,bdef,edef,n,def) { - if (n) { - var args = []; - if (def != null) { - var optional = this.GetBrackets("\\begin{"+name+"}"); - args.push(optional == null ? def : optional); - } - for (var i = args.length; i < n; i++) {args.push(this.GetArgument("\\begin{"+name+"}"))} - bdef = this.SubstituteArgs(args,bdef); - edef = this.SubstituteArgs([],edef); // no args, but get errors for #n in edef - } - this.string = this.AddArgs(bdef,this.string.slice(this.i)); this.i = 0; - return begin; - }, - EndEnv: function (begin,bdef,edef,n) { - var end = "\\end{\\end\\"+begin.name+"}"; // special version of \end for after edef - this.string = this.AddArgs(edef,end+this.string.slice(this.i)); this.i = 0; - return null; - }, - - /* - * Find a single parameter delimited by a trailing template - */ - GetParameter: function (name,param) { - if (param == null) {return this.GetArgument(name)} - var i = this.i, j = 0, hasBraces = 0; - while (this.i < this.string.length) { - var c = this.string.charAt(this.i); - if (c === '{') { - if (this.i === i) {hasBraces = 1} - this.GetArgument(name); j = this.i - i; - } else if (this.MatchParam(param)) { - if (hasBraces) {i++; j -= 2} - return this.string.substr(i,j); - } else if (c === "\\") { - this.i++; j++; hasBraces = 0; - var match = this.string.substr(this.i).match(/[a-z]+|./i); - if (match) {this.i += match[0].length; j = this.i - i} - } else { - this.i++; j++; hasBraces = 0; - } - } - TEX.Error(["RunawayArgument","Runaway argument for %1?",name]); - }, - - /* - * Check if a template is at the current location. - * (The match must be exact, with no spacing differences. TeX is - * a little more forgiving than this about spaces after macro names) - */ - MatchParam: function (param) { - if (this.string.substr(this.i,param.length) !== param) {return 0} - if (param.match(/\\[a-z]+$/i) && - this.string.charAt(this.i+param.length).match(/[a-z]/i)) {return 0} - this.i += param.length; - return 1; - } - - }); - - TEX.Environment = function (name) { - TEXDEF.environment[name] = ['BeginEnv',[null,'EndEnv']].concat([].slice.call(arguments,1)); - TEXDEF.environment[name].isUser = true; - } - - MathJax.Hub.Startup.signal.Post("TeX newcommand Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/newcommand.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/noErrors.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/noErrors.js deleted file mode 100644 index 87acaf90..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/noErrors.js +++ /dev/null @@ -1,405 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/noErrors.js - * - * Prevents the TeX error messages from being displayed and shows the - * original TeX code instead. You can configure whether the dollar signs - * are shown or not for in-line math, and whether to put all the TeX on - * one line or use multiple-lines. - * - * To configure this extension, use - * - * MathJax.Hub.Config({ - * TeX: { - * noErrors: { - * inlineDelimiters: ["",""], // or ["$","$"] or ["\\(","\\)"] - * multiLine: true, // false for TeX on all one line - * style: { - * "font-size": "90%", - * "text-align": "left", - * "color": "black", - * "padding": "1px 3px", - * "border": "1px solid" - * // add any additional CSS styles that you want - * // (be sure there is no extra comma at the end of the last item) - * } - * } - * } - * }); - * - * Display-style math is always shown in multi-line format, and without - * delimiters, as it will already be set off in its own centered - * paragraph, like standard display mathematics. - * - * The default settings place the invalid TeX in a multi-line box with a - * black border. If you want it to look as though the TeX is just part of - * the paragraph, use - * - * MathJax.Hub.Config({ - * TeX: { - * noErrors: { - * inlineDelimiters: ["$","$"], // or ["",""] or ["\\(","\\)"] - * multiLine: false, - * style: { - * "font-size": "normal", - * "border": "" - * } - * } - * } - * }); - * - * You may also wish to set the font family, as the default is "serif" - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -(function (HUB,HTML) { - var VERSION = "2.7.5"; - - var CONFIG = HUB.CombineConfig("TeX.noErrors",{ - disabled: false, // set to true to return to original error messages - multiLine: true, - inlineDelimiters: ["",""], // or use ["$","$"] or ["\\(","\\)"] - style: { - "font-size": "90%", - "text-align": "left", - "color": "black", - "padding": "1px 3px", - "border": "1px solid" - } - }); - - var NBSP = "\u00A0"; - - // - // The configuration defaults, augmented by the user settings - // - MathJax.Extension["TeX/noErrors"] = { - version: VERSION, - config: CONFIG - }; - - HUB.Register.StartupHook("TeX Jax Ready",function () { - var FORMAT = MathJax.InputJax.TeX.formatError; - - MathJax.InputJax.TeX.Augment({ - // - // Make error messages be the original TeX code - // Mark them as errors and multi-line or not, and for - // multi-line TeX, make spaces non-breakable (to get formatting right) - // - formatError: function (err,math,displaystyle,script) { - if (CONFIG.disabled) {return FORMAT.apply(this,arguments)} - var message = err.message.replace(/\n.*/,""); - HUB.signal.Post(["TeX Jax - parse error",message,math,displaystyle,script]); - var delim = CONFIG.inlineDelimiters; - var multiLine = (displaystyle || CONFIG.multiLine); - if (!displaystyle) {math = delim[0] + math + delim[1]} - if (multiLine) {math = math.replace(/ /g,NBSP)} else {math = math.replace(/\n/g," ")} - return MathJax.ElementJax.mml.merror(math).With({isError:true, multiLine: multiLine}); - } - }); - }); - - /******************************************************************* - * - * Fix HTML-CSS output - */ - - HUB.Register.StartupHook("HTML-CSS Jax Config",function () { - HUB.Config({ - "HTML-CSS": { - styles: { - ".MathJax .noError": HUB.Insert({ - "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") - },CONFIG.style) - } - } - }); - }); - - HUB.Register.StartupHook("HTML-CSS Jax Ready",function () { - var MML = MathJax.ElementJax.mml; - var HTMLCSS = MathJax.OutputJax["HTML-CSS"]; - - var MATH = MML.math.prototype.toHTML, - MERROR = MML.merror.prototype.toHTML; - - // - // Override math toHTML routine so that error messages - // don't have the clipping and other unneeded overhead - // - MML.math.Augment({ - toHTML: function (span,node) { - var data = this.data[0]; - if (data && data.data[0] && data.data[0].isError) { - span.style.fontSize = ""; - span = this.HTMLcreateSpan(span); - span.bbox = data.data[0].toHTML(span).bbox; - } else { - span = MATH.apply(this,arguments); - } - return span; - } - }); - - // - // Override merror toHTML routine so that it puts out the - // TeX code in an inline-block with line breaks as in the original - // - MML.merror.Augment({ - toHTML: function (span) { - if (!this.isError) {return MERROR.apply(this,arguments)} - span = this.HTMLcreateSpan(span); span.className = "noError" - if (this.multiLine) {span.style.display = "inline-block"} - var text = this.data[0].data[0].data.join("").split(/\n/); - for (var i = 0, m = text.length; i < m; i++) { - HTMLCSS.addText(span,text[i]); - if (i !== m-1) {HTMLCSS.addElement(span,"br",{isMathJax:true})} - } - var HD = HTMLCSS.getHD(span.parentNode), W = HTMLCSS.getW(span.parentNode); - if (m > 1) { - var H = (HD.h + HD.d)/2, x = HTMLCSS.TeX.x_height/2; - span.parentNode.style.verticalAlign = HTMLCSS.Em(HD.d+(x-H)); - HD.h = x + H; HD.d = H - x; - } - span.bbox = {h: HD.h, d: HD.d, w: W, lw: 0, rw: W}; - return span; - } - }); - - }); - - /******************************************************************* - * - * Fix SVG output - */ - - HUB.Register.StartupHook("SVG Jax Config",function () { - HUB.Config({ - "SVG": { - styles: { - ".MathJax_SVG .noError": HUB.Insert({ - "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") - },CONFIG.style) - } - } - }); - }); - - HUB.Register.StartupHook("SVG Jax Ready",function () { - var MML = MathJax.ElementJax.mml; - - var MATH = MML.math.prototype.toSVG, - MERROR = MML.merror.prototype.toSVG; - - // - // Override math toSVG routine so that error messages - // don't have the clipping and other unneeded overhead - // - MML.math.Augment({ - toSVG: function (span,node) { - var data = this.data[0]; - if (data && data.data[0] && data.data[0].isError) - {span = data.data[0].toSVG(span)} else {span = MATH.apply(this,arguments)} - return span; - } - }); - - // - // Override merror toSVG routine so that it puts out the - // TeX code in an inline-block with line breaks as in the original - // - MML.merror.Augment({ - toSVG: function (span) { - if (!this.isError || this.Parent().type !== "math") {return MERROR.apply(this,arguments)} - span = HTML.addElement(span,"span",{className: "noError", isMathJax:true}); - if (this.multiLine) {span.style.display = "inline-block"} - var text = this.data[0].data[0].data.join("").split(/\n/); - for (var i = 0, m = text.length; i < m; i++) { - HTML.addText(span,text[i]); - if (i !== m-1) {HTML.addElement(span,"br",{isMathJax:true})} - } - if (m > 1) { - var H = span.offsetHeight/2; - span.style.verticalAlign = (-H+(H/m))+"px"; - } - return span; - } - }); - - }); - - /******************************************************************* - * - * Fix NativeMML output - */ - - HUB.Register.StartupHook("NativeMML Jax Ready",function () { - var MML = MathJax.ElementJax.mml; - var CONFIG = MathJax.Extension["TeX/noErrors"].config; - - var MATH = MML.math.prototype.toNativeMML, - MERROR = MML.merror.prototype.toNativeMML; - - // - // Override math toNativeMML routine so that error messages - // don't get placed inside math tags. - // - MML.math.Augment({ - toNativeMML: function (span) { - var data = this.data[0]; - if (data && data.data[0] && data.data[0].isError) - {span = data.data[0].toNativeMML(span)} else {span = MATH.apply(this,arguments)} - return span; - } - }); - - // - // Override merror toNativeMML routine so that it puts out the - // TeX code in an inline-block with line breaks as in the original - // - MML.merror.Augment({ - toNativeMML: function (span) { - if (!this.isError) {return MERROR.apply(this,arguments)} - span = span.appendChild(document.createElement("span")); - var text = this.data[0].data[0].data.join("").split(/\n/); - for (var i = 0, m = text.length; i < m; i++) { - span.appendChild(document.createTextNode(text[i])); - if (i !== m-1) {span.appendChild(document.createElement("br"))} - } - if (this.multiLine) { - span.style.display = "inline-block"; - if (m > 1) {span.style.verticalAlign = "middle"} - } - for (var id in CONFIG.style) {if (CONFIG.style.hasOwnProperty(id)) { - var ID = id.replace(/-./g,function (c) {return c.charAt(1).toUpperCase()}); - span.style[ID] = CONFIG.style[id]; - }} - return span; - } - }); - - }); - - /******************************************************************* - * - * Fix PreviewHTML output - */ - - HUB.Register.StartupHook("PreviewHTML Jax Config",function () { - HUB.Config({ - PreviewHTML: { - styles: { - ".MathJax_PHTML .noError": HUB.Insert({ - "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") - },CONFIG.style) - } - } - }); - }); - - HUB.Register.StartupHook("PreviewHTML Jax Ready",function () { - var MML = MathJax.ElementJax.mml; - var HTML = MathJax.HTML; - - var MERROR = MML.merror.prototype.toPreviewHTML; - - // - // Override merror toPreviewHTML routine so that it puts out the - // TeX code in an inline-block with line breaks as in the original - // - MML.merror.Augment({ - toPreviewHTML: function (span) { - if (!this.isError) return MERROR.apply(this,arguments); - span = this.PHTMLcreateSpan(span); span.className = "noError" - if (this.multiLine) span.style.display = "inline-block"; - var text = this.data[0].data[0].data.join("").split(/\n/); - for (var i = 0, m = text.length; i < m; i++) { - HTML.addText(span,text[i]); - if (i !== m-1) {HTML.addElement(span,"br",{isMathJax:true})} - } - return span; - } - }); - - }); - - /******************************************************************* - * - * Fix CommonHTML output - */ - - HUB.Register.StartupHook("CommonHTML Jax Config",function () { - HUB.Config({ - CommonHTML: { - styles: { - ".mjx-chtml .mjx-noError": HUB.Insert({ - "line-height": 1.2, - "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") - },CONFIG.style) - } - } - }); - }); - - HUB.Register.StartupHook("CommonHTML Jax Ready",function () { - var MML = MathJax.ElementJax.mml; - var CHTML = MathJax.OutputJax.CommonHTML; - var HTML = MathJax.HTML; - - var MERROR = MML.merror.prototype.toCommonHTML; - - // - // Override merror toCommonHTML routine so that it puts out the - // TeX code in an inline-block with line breaks as in the original - // - MML.merror.Augment({ - toCommonHTML: function (node) { - if (!this.isError) return MERROR.apply(this,arguments); - node = CHTML.addElement(node,"mjx-noError"); - var text = this.data[0].data[0].data.join("").split(/\n/); - for (var i = 0, m = text.length; i < m; i++) { - HTML.addText(node,text[i]); - if (i !== m-1) {CHTML.addElement(node,"br",{isMathJax:true})} - } - var bbox = this.CHTML = CHTML.BBOX.zero(); - bbox.w = (node.offsetWidth)/CHTML.em; - if (m > 1) { - var H2 = 1.2*m/2; - bbox.h = H2+.25; bbox.d = H2-.25; - node.style.verticalAlign = CHTML.Em(.45-H2); - } else { - bbox.h = 1; bbox.d = .2 + 2/CHTML.em; - } - return node; - } - }); - - }); - - /*******************************************************************/ - - HUB.Startup.signal.Post("TeX noErrors Ready"); - -})(MathJax.Hub,MathJax.HTML); - - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noErrors.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/noUndefined.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/noUndefined.js deleted file mode 100644 index ef292d12..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/noUndefined.js +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/noUndefined.js - * - * This causes undefined control sequences to be shown as their macro - * names rather than producing an error message. So $X_{\xxx}$ would - * display as an X with a subscript consiting of the text "\xxx". - * - * To configure this extension, use for example - * - * MathJax.Hub.Config({ - * TeX: { - * noUndefined: { - * attributes: { - * mathcolor: "red", - * mathbackground: "#FFEEEE", - * mathsize: "90%" - * } - * } - * } - * }); - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - */ - -// -// The configuration defaults, augmented by the user settings -// -MathJax.Extension["TeX/noUndefined"] = { - version: "2.7.5", - config: MathJax.Hub.CombineConfig("TeX.noUndefined",{ - disabled: false, // set to true to return to original error messages - attributes: { - mathcolor: "red" - } - }) -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - var CONFIG = MathJax.Extension["TeX/noUndefined"].config; - var MML = MathJax.ElementJax.mml; - var UNDEFINED = MathJax.InputJax.TeX.Parse.prototype.csUndefined; - - MathJax.InputJax.TeX.Parse.Augment({ - csUndefined: function (name) { - if (CONFIG.disabled) {return UNDEFINED.apply(this,arguments)} - MathJax.Hub.signal.Post(["TeX Jax - undefined control sequence",name]); - this.Push(MML.mtext(name).With(CONFIG.attributes)); - } - }); - - MathJax.Hub.Startup.signal.Post("TeX noUndefined Ready"); -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noUndefined.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/unicode.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/unicode.js deleted file mode 100644 index 629870b8..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/unicode.js +++ /dev/null @@ -1,170 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/unicode.js - * - * Implements the \unicode extension to TeX to allow arbitrary unicode - * code points to be entered into the TeX file. You can specify - * the height and depth of the character (the width is determined by - * the browser), and the default font from which to take the character. - * - * Examples: - * \unicode{65} % the character 'A' - * \unicode{x41} % the character 'A' - * \unicode[.55,0.05]{x22D6} % less-than with dot, with height .55 and depth 0.05 - * \unicode[.55,0.05][Geramond]{x22D6} % same taken from Geramond font - * \unicode[Garamond]{x22D6} % same, but with default height, depth of .8,.2 - * - * Once a size and font are provided for a given code point, they need - * not be specified again in subsequent \unicode calls for that character. - * Note that a font list can be given, but Internet Explorer has a buggy - * implementation of font-family where it only looks in the first - * available font and if the glyph is not in that, it does not look at - * later fonts, but goes directly to the default font as set in the - * Internet-Options/Font panel. For this reason, the default font list is - * "STIXGeneral,'Arial Unicode MS'", so if the user has STIX fonts, the - * symbol will be taken from that (almost all the symbols are in - * STIXGeneral), otherwise Arial Unicode MS is tried. - * - * To configure the default font list, use - * - * MathJax.Hub.Config({ - * TeX: { - * unicode: { - * fonts: "STIXGeneral,'Arial Unicode MS'" - * } - * } - * }); - * - * The result of \unicode will have TeX class ORD (i.e., it will act like a - * variable). Use \mathbin, \mathrel, etc, to specify a different class. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -// -// The configuration defaults, augmented by the user settings -// -MathJax.Extension["TeX/unicode"] = { - version: "2.7.5", - unicode: {}, - config: MathJax.Hub.CombineConfig("TeX.unicode",{ - fonts: "STIXGeneral,'Arial Unicode MS'" - }) -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - var TEX = MathJax.InputJax.TeX; - var MML = MathJax.ElementJax.mml; - var UNICODE = MathJax.Extension["TeX/unicode"].unicode; - - // - // Add \unicode macro - // - TEX.Definitions.Add({macros: {unicode: 'Unicode'}},null,true); - // - // Implementation of \unicode in parser - // - TEX.Parse.Augment({ - Unicode: function(name) { - var HD = this.GetBrackets(name), font; - if (HD) { - if (HD.replace(/ /g,"").match(/^(\d+(\.\d*)?|\.\d+),(\d+(\.\d*)?|\.\d+)$/)) - {HD = HD.replace(/ /g,"").split(/,/); font = this.GetBrackets(name)} - else {font = HD; HD = null} - } - var n = this.trimSpaces(this.GetArgument(name)).replace(/^0x/,"x"); - if (!n.match(/^(x[0-9A-Fa-f]+|[0-9]+)$/)) { - TEX.Error(["BadUnicode","Argument to \\unicode must be a number"]); - } - var N = parseInt(n.match(/^x/) ? "0"+n : n); - if (!UNICODE[N]) {UNICODE[N] = [800,200,font,N]} - else if (!font) {font = UNICODE[N][2]} - if (HD) { - UNICODE[N][0] = Math.floor(HD[0]*1000); - UNICODE[N][1] = Math.floor(HD[1]*1000); - } - var variant = this.stack.env.font, def = {}; - if (font) { - UNICODE[N][2] = def.fontfamily = font.replace(/"/g,"'"); - if (variant) { - if (variant.match(/bold/)) {def.fontweight = "bold"} - if (variant.match(/italic|-mathit/)) {def.fontstyle = "italic"} - } - } else if (variant) {def.mathvariant = variant} - def.unicode = [].concat(UNICODE[N]); // make a copy - this.Push(MML.mtext(MML.entity("#"+n)).With(def)); - } - }); - - MathJax.Hub.Startup.signal.Post("TeX unicode Ready"); - -}); - -MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { - var MML = MathJax.ElementJax.mml; - var FONTS = MathJax.Extension["TeX/unicode"].config.fonts; - - // - // Override getVariant to make one that includes the font and size - // - var GETVARIANT = MML.mbase.prototype.HTMLgetVariant; - MML.mbase.Augment({ - HTMLgetVariant: function () { - var variant = GETVARIANT.apply(this,arguments); - if (variant.unicode) {delete variant.unicode; delete variant.FONTS} // clear font cache in case of restart - if (!this.unicode) {return variant} - variant.unicode = true; - if (!variant.defaultFont) { - variant = MathJax.Hub.Insert({},variant); // make a copy - variant.defaultFont = {family:FONTS}; - } - var family = this.unicode[2]; if (family) {family += ","+FONTS} else {family = FONTS} - variant.defaultFont[this.unicode[3]] = [ - this.unicode[0],this.unicode[1],500,0,500, - {isUnknown:true, isUnicode:true, font:family} - ]; - return variant; - } - }); -}); - -MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { - var MML = MathJax.ElementJax.mml; - var FONTS = MathJax.Extension["TeX/unicode"].config.fonts; - - // - // Override getVariant to make one that includes the font and size - // - var GETVARIANT = MML.mbase.prototype.SVGgetVariant; - MML.mbase.Augment({ - SVGgetVariant: function () { - var variant = GETVARIANT.call(this); - if (variant.unicode) {delete variant.unicode; delete variant.FONTS} // clear font cache in case of restart - if (!this.unicode) {return variant} - variant.unicode = true; - if (!variant.forceFamily) {variant = MathJax.Hub.Insert({},variant)} // make a copy - variant.defaultFamily = FONTS; variant.noRemap = true; - variant.h = this.unicode[0]; variant.d = this.unicode[1]; - return variant; - } - }); -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/unicode.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/verb.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/verb.js deleted file mode 100644 index 348c5012..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/TeX/verb.js +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/TeX/verb.js - * - * Implements the \verb|...| command for including text verbatim - * (with no processing of macros or special characters). - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension["TeX/verb"] = { - version: "2.7.5" -}; - -MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { - - var MML = MathJax.ElementJax.mml; - var TEX = MathJax.InputJax.TeX; - var TEXDEF = TEX.Definitions; - - TEXDEF.Add({macros: {verb: 'Verb'}},null,true); - - TEX.Parse.Augment({ - - /* - * Implement \verb|...| - */ - Verb: function (name) { - var c = this.GetNext(); var start = ++this.i; - if (c == "" ) {TEX.Error(["MissingArgFor","Missing argument for %1",name])} - while (this.i < this.string.length && this.string.charAt(this.i) != c) {this.i++} - if (this.i == this.string.length) - {TEX.Error(["NoClosingDelim","Can't find closing delimiter for %1", name])} - var text = this.string.slice(start,this.i).replace(/ /g,"\u00A0"); this.i++; - this.Push(MML.mtext(text).With({mathvariant:MML.VARIANT.MONOSPACE})); - } - - }); - - MathJax.Hub.Startup.signal.Post("TeX verb Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/verb.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/a11y/accessibility-menu.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/accessibility-menu.js deleted file mode 100644 index 2d241f97..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/a11y/accessibility-menu.js +++ /dev/null @@ -1 +0,0 @@ -!function(a,b){var c,d,e=a.config.menuSettings,f=Function.prototype.bind?function(a,b){return a.bind(b)}:function(a,b){return function(){a.apply(b,arguments)}},g=Object.keys||function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b},h=MathJax.Ajax.config.path;h.a11y||(h.a11y=a.config.root+"/extensions/a11y");var i=b["accessibility-menu"]={version:"1.5.0",prefix:"",defaults:{},modules:[],MakeOption:function(a){return i.prefix+a},GetOption:function(a){return e[i.MakeOption(a)]},AddDefaults:function(){for(var a,b=g(i.defaults),c=0;a=b[c];c++){var d=i.MakeOption(a);void 0===e[d]&&(e[d]=i.defaults[a])}},AddMenu:function(){for(var a,b=Array(this.modules.length),e=0;a=this.modules[e];e++)b[e]=a.placeHolder;var f=d.FindId("Accessibility");if(f)b.unshift(c.RULE()),f.submenu.items.push.apply(f.submenu.items,b);else{var g=(d.FindId("Settings","Renderer")||{}).submenu;g&&(b.unshift(c.RULE()),b.unshift(g.items.pop()),b.unshift(g.items.pop())),b.unshift("Accessibility");var f=c.SUBMENU.apply(c.SUBMENU,b),h=d.IndexOfId("Locale");h?d.items.splice(h,0,f):d.items.push(c.RULE(),f)}},Register:function(a){i.defaults[a.option]=!1,i.modules.push(a)},Startup:function(){c=MathJax.Menu.ITEM,d=MathJax.Menu.menu;for(var a,b=0;a=this.modules[b];b++)a.CreateMenu();this.AddMenu()},LoadExtensions:function(){for(var b,c=[],d=0;b=this.modules[d];d++)e[b.option]&&c.push(b.module);return c.length?a.Startup.loadArray(c):null}},j=MathJax.Extension.ModuleLoader=MathJax.Object.Subclass({option:"",name:["",""],module:"",placeHolder:null,submenu:!1,extension:null,Init:function(a,b,c,d,e){this.option=a,this.name=[b.replace(/ /g,""),b],this.module=c,this.extension=d,this.submenu=e||!1},CreateMenu:function(){var a=f(this.Load,this);this.submenu?this.placeHolder=c.SUBMENU(this.name,c.CHECKBOX(["Activate","Activate"],i.MakeOption(this.option),{action:a}),c.RULE(),c.COMMAND(["OptionsWhenActive","(Options when Active)"],null,{disabled:!0})):this.placeHolder=c.CHECKBOX(this.name,i.MakeOption(this.option),{action:a})},Load:function(){a.Queue(["Require",MathJax.Ajax,this.module,["Enable",this]])},Enable:function(a){var b=MathJax.Extension[this.extension];b&&(b.Enable(!0,!0),MathJax.Menu.saveCookie())}});i.Register(j("collapsible","Collapsible Math","[a11y]/collapsible.js","collapsible")),i.Register(j("autocollapse","Auto Collapse","[a11y]/auto-collapse.js","auto-collapse")),i.Register(j("explorer","Explorer","[a11y]/explorer.js","explorer",!0)),i.AddDefaults(),a.Register.StartupHook("End Extensions",function(){a.Register.StartupHook("MathMenu Ready",function(){i.Startup(),a.Startup.signal.Post("Accessibility Menu Ready")},5)},5),MathJax.Hub.Register.StartupHook("End Cookie",function(){MathJax.Callback.Queue(["LoadExtensions",i],["loadComplete",MathJax.Ajax,"[a11y]/accessibility-menu.js"])})}(MathJax.Hub,MathJax.Extension); \ No newline at end of file diff --git a/src/py/kaleido/vendor/mathjax/extensions/a11y/auto-collapse.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/auto-collapse.js deleted file mode 100644 index 640b9c25..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/a11y/auto-collapse.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){var b=a.config.menuSettings,c={},d=MathJax.Ajax.config.path;d.a11y||(d.a11y=a.config.root+"/extensions/a11y");var e=MathJax.Extension["auto-collapse"]={version:"1.5.0",config:a.CombineConfig("auto-collapse",{disabled:!1}),dependents:[],Enable:function(d,e){b.autocollapse=!0,e&&(c.autocollapse=!0),this.config.disabled=!1,MathJax.Extension.collapsible.Enable(!1,e),d&&a.Queue(["Reprocess",a],["CollapseWideMath",this])},Disable:function(d,e){b.autocollapse=!1,e&&(c.autocollapse=!1),this.config.disabled=!0;for(var f=this.dependents.length-1;f>=0;f--){var g=this.dependents[f];g.Disable&&g.Disable(!1,e)}d&&a.Queue(["Rerender",a])},Dependent:function(a){this.dependents.push(a)},Startup:function(){var b=MathJax.Extension.collapsible;b&&b.Dependent(this),a.postInputHooks.Add(["Filter",e],150),a.Queue(function(){return e.CollapseWideMath()}),window.addEventListener?window.addEventListener("resize",e.resizeHandler,!1):window.attachEvent?window.attachEvent("onresize",e.resizeHandler):window.onresize=e.resizeHandler},Filter:function(a,b,c){a.enriched&&!this.config.disabled&&("block"===a.root.Get("display")||c.parentNode.childNodes.length<=3)&&(a.root.SRE={action:this.Actions(a.root)})},Actions:function(a){var b=[];return this.getActions(a,0,b),this.sortActions(b)},getActions:function(a,b,c){if(!a.isToken&&a.data){b++;for(var d=0,e=a.data.length;db?1:0},CollapseWideMath:function(b){if(!this.config.disabled){this.GetContainerWidths(b);var c=a.getAllJax(b),d={collapse:[],jax:c,m:c.length,i:0,changed:!1};return this.collapseState(d)}},collapseState:function(b){for(var c=b.collapse;b.ie.M)){var f=this.getActionWidths(d,b);if(f)return f;this.collapseActions(e,b),b.changed&&c.push(d.SourceElement())}b.i++}if(0!==c.length)return 1===c.length&&(c=c[0]),a.Rerender(c)},collapseActions:function(a,b){for(var c=a.width,d=c,e=1e6,f=a.action.length-1;f>=0;f--){var g=a.action[f],h=g.selection;c>a.cwidth?(g.selection=1,d=g.SREwidth,e=c):g.selection=2,c=g.SREwidth,a.DOMupdate?document.getElementById(g.id).setAttribute("selection",g.selection):g.selection!==h&&(b.changed=!0)}a.m=d,a.M=e},getActionWidths:function(a,b){if(!a.root.SRE.actionWidths){MathJax.OutputJax[a.outputJax].getMetrics(a);try{this.computeActionWidths(a)}catch(a){if(!a.restart)throw a;return MathJax.Callback.After(["collapseState",this,b],a.restart)}b.changed=!0}return null},computeActionWidths:function(a){var b,c=a.root.SRE,d=c.action,e={};for(c.width=a.sreGetRootWidth(e),b=d.length-1;b>=0;b--)d[b].selection=2;for(b=d.length-1;b>=0;b--){var f=d[b];null==f.SREwidth&&(f.selection=1,f.SREwidth=a.sreGetActionWidth(e,f))}c.actionWidths=!0},GetContainerWidths:function(b){var c,d,e,f,g,h=a.getAllJax(b),i=MathJax.HTML.Element("span",{style:{display:"block"}}),j=[];for(c=0,d=h.length;c=0;f--){var g=this.dependents[f];g.Disable&&g.Disable(!1,e)}b&&a.Queue(["Reprocess",a])},Dependent:function(a){this.dependents.push(a)},Startup:function(){b=MathJax.ElementJax.mml;var c=MathJax.Extension["semantic-enrich"];c&&c.Dependent(this),a.postInputHooks.Add(["Filter",g],100)},Filter:function(a,b,c){a.enriched&&!this.config.disabled&&(a.root=a.root.Collapse(),a.root.inputID=c.id)},Marker:function(a){return b.mtext("\u25c2"+a+"\u25b8").With({mathcolor:"blue",attr:{},attrNames:[]})},MakeAction:function(a,c){var d=b.maction(a).With({id:this.getActionID(),actiontype:"toggle",complexity:a.getComplexity(),collapsible:!0,attrNames:["id","actiontype","selection",e],attr:{},selection:2});if(d.attr[e]=d.complexity,"math"===c.type){var f=b.mrow().With({complexity:c.complexity,attrNames:[],attr:{}});f.Append.apply(f,c.data);for(var g,h=c.attrNames.length-1;g=c.attrNames[h];h--)"data-semantic-"===g.substr(0,14)&&(f.attr[g]=c.attr[g],f.attrNames.push(g),delete c.attr[g],c.attrNames.splice(h,1));f.complexity=c.complexity,d.Append(f),c.data=[],c.Append(d),c.complexity=d.complexity,d=c}else d.Append(c);return d},actionID:1,getActionID:function(){return"MJX-Collapse-"+this.actionID++},Collapse:function(a){a.getComplexity();var b=(a.attr||{})["data-semantic-type"];if(b)if(this["Collapse_"+b])a=this["Collapse_"+b](a);else if(this.COLLAPSE[b]&&this.MARKER[b]){var c=a.attr["data-semantic-role"],d=this.COLLAPSE[b];if("number"!=typeof d&&(d=d[c]||d.value),a.complexity>d){var e=this.MARKER[b];"string"!=typeof e&&(e=e[c]||e.value),a=this.MakeAction(this.Marker(e),a)}}return a},UncollapseChild:function(a,b,c){if(null==c&&(c=1),this.SplitAttribute(a,"children").length===c){var d=1===a.data.length&&a.data[0].inferred?a.data[0]:a;if(d&&d.data[b]&&d.data[b].collapsible)return d.SetData(b,d.data[b].data[1]),a.complexity=d.complexity=null,a.getComplexity(),1}return 0},FindChildText:function(a,b){var c=this.FindChild(a,b);return c?(c.CoreMO()||c).data.join(""):"?"},FindChild:function(a,b){if(a){if(a.attr&&a.attr["data-semantic-id"]===b)return a;if(!a.isToken)for(var c=0,d=a.data.length;cthis.COLLAPSE.fenced&&"leftright"===a.attr["data-semantic-role"]){var b=a.data[0].data.join("")+a.data[a.data.length-1].data.join("");a=this.MakeAction(this.Marker(b),a)}return a},Collapse_appl:function(a){if(this.UncollapseChild(a,2,2)){var b=this.MARKER.appl;b=b[a.attr["data-semantic-role"]]||b.value,a=this.MakeAction(this.Marker(b),a)}return a},Collapse_sqrt:function(a){return this.UncollapseChild(a,0),a.complexity>this.COLLAPSE.sqrt&&(a=this.MakeAction(this.Marker(this.MARKER.sqrt),a)),a},Collapse_root:function(a){return this.UncollapseChild(a,0),a.complexity>this.COLLAPSE.sqrt&&(a=this.MakeAction(this.Marker(this.MARKER.sqrt),a)),a},Collapse_enclose:function(a){if(1===this.SplitAttribute(a,"children").length){var b=1===a.data.length&&a.data[0].inferred?a.data[0]:a;if(b.data[0]&&b.data[0].collapsible){var c=b.data[0];b.SetData(0,c.data[1]),c.SetData(1,a),a=c}}return a},Collapse_bigop:function(a){if(a.complexity>this.COLLAPSE.bigop||"mo"!==a.data[0].type){var b=this.SplitAttribute(a,"content").pop(),c=g.FindChildText(a,b);a=this.MakeAction(this.Marker(c),a)}return a},Collapse_integral:function(a){if(a.complexity>this.COLLAPSE.integral||"mo"!==a.data[0].type){var b=this.SplitAttribute(a,"content")[0],c=g.FindChildText(a,b);a=this.MakeAction(this.Marker(c),a)}return a},Collapse_relseq:function(a){if(a.complexity>this.COLLAPSE.relseq){var b=this.SplitAttribute(a,"content"),c=g.FindChildText(a,b[0]);b.length>1&&(c+="\u22ef"),a=this.MakeAction(this.Marker(c),a)}return a},Collapse_multirel:function(a){if(a.complexity>this.COLLAPSE.multirel){var b=this.SplitAttribute(a,"content"),c=g.FindChildText(a,b[0])+"\u22ef";a=this.MakeAction(this.Marker(c),a)}return a},Collapse_superscript:function(a){return this.UncollapseChild(a,0,2),a.complexity>this.COLLAPSE.superscript&&(a=this.MakeAction(this.Marker(this.MARKER.superscript),a)),a},Collapse_subscript:function(a){return this.UncollapseChild(a,0,2),a.complexity>this.COLLAPSE.subscript&&(a=this.MakeAction(this.Marker(this.MARKER.subscript),a)),a},Collapse_subsup:function(a){return this.UncollapseChild(a,0,3),a.complexity>this.COLLAPSE.subsup&&(a=this.MakeAction(this.Marker(this.MARKER.subsup),a)),a}};a.Register.StartupHook("End Extensions",function(){null==c.collapsible?c.collapsible=!g.config.disabled:g.config.disabled=!c.collapsible,a.Register.StartupHook("MathMenu Ready",function(){d=MathJax.Menu.cookie;var a,b=function(a){g[c.collapsible?"Enable":"Disable"](!0,!0),MathJax.Menu.saveCookie()},e=MathJax.Menu.ITEM,f=MathJax.Menu.menu,h=e.CHECKBOX(["CollapsibleMath","Collapsible Math"],"collapsible",{action:b}),i=(f.FindId("Accessibility")||{}).submenu;i?(a=i.IndexOfId("CollapsibleMath"),null!==a?i.items[a]=h:i.items.push(e.RULE(),h)):(a=f.IndexOfId("About"),f.items.splice(a,0,h,e.RULE()))},15)},15)}(MathJax.Hub),MathJax.Ajax.Require("[a11y]/semantic-enrich.js"),MathJax.Hub.Register.StartupHook("Semantic Enrich Ready",function(){var a=MathJax.ElementJax.mml,b=MathJax.Extension.collapsible,c=b.COMPLEXITY,d=b.COMPLEXATTR;b.Startup(),a.mbase.Augment({Collapse:function(){return b.Collapse(this)},getComplexity:function(){if(null==this.complexity){var a=0;if(this.isToken)a=c.TEXT*this.data.join("").length+c.TOKEN;else{for(var b=0,e=this.data.length;b1&&(a+=e*c.CHILD)}!this.attrNames||"complexity"in this||this.attrNames.push(d),this.attr&&(this.attr[d]=a),this.complexity=a}return this.complexity},reportComplexity:function(){!this.attr||!this.attrNames||d in this.attr||(this.attrNames.push(d),this.attr[d]=this.complexity)}}),a.mfrac.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity*=c.SCRIPT,this.complexity+=c.FRACTION,this.attr[d]=this.complexity),this.complexity}}),a.msqrt.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity+=c.SQRT,this.attr[d]=this.complexity),this.complexity}}),a.mroot.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity-=(1-c.SCRIPT)*this.data[1].getComplexity(),this.complexity+=c.SQRT,this.attr[d]=this.complexity),this.complexity}}),a.msubsup.Augment({getComplexity:function(){if(null==this.complexity){var a=0;this.data[this.sub]&&(a=this.data[this.sub].getComplexity()+c.CHILD),this.data[this.sup]&&(a=Math.max(this.data[this.sup].getComplexity(),a)),a*=c.SCRIPT,this.data[this.sub]&&(a+=c.CHILD),this.data[this.sup]&&(a+=c.CHILD),this.data[this.base]&&(a+=this.data[this.base].getComplexity()+c.CHILD),this.complexity=a+c.SUBSUP,this.reportComplexity()}return this.complexity}}),a.munderover.Augment({getComplexity:function(){if(null==this.complexity){var a=0;this.data[this.sub]&&(a=this.data[this.sub].getComplexity()+c.CHILD),this.data[this.sup]&&(a=Math.max(this.data[this.sup].getComplexity(),a)),a*=c.SCRIPT,this.data[this.base]&&(a=Math.max(this.data[this.base].getComplexity(),a)),this.data[this.sub]&&(a+=c.CHILD),this.data[this.sup]&&(a+=c.CHILD),this.data[this.base]&&(a+=c.CHILD),this.complexity=a+c.UNDEROVER,this.reportComplexity()}return this.complexity}}),a.mphantom.Augment({getComplexity:function(){return this.complexity=c.PHANTOM,this.reportComplexity(),this.complexity}}),a.ms.Augment({getComplexity:function(){return this.SUPER(arguments).getComplexity.call(this),this.complexity+=this.Get("lquote").length*c.TEXT,this.complexity+=this.Get("rquote").length*c.TEXT,this.attr[d]=this.complexity,this.complexity}}),a.menclose.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity+=c.ACTION,this.attr[d]=this.complexity),this.complexity}}),a.maction.Augment({getComplexity:function(){return this.complexity=(this.collapsible?this.data[0]:this.selected()).getComplexity(),this.reportComplexity(),this.complexity}}),a.semantics.Augment({getComplexity:function(){return null==this.complexity&&(this.complexity=this.data[0]?this.data[0].getComplexity():0,this.reportComplexity()),this.complexity}}),a["annotation-xml"].Augment({getComplexity:function(){return this.complexity=c.XML,this.reportComplexity(),this.complexity}}),a.annotation.Augment({getComplexity:function(){return this.complexity=c.XML,this.reportComplexity(),this.complexity}}),a.mglyph.Augment({getComplexity:function(){return this.complexity=c.GLYPH,this.reportComplexity(),this.complexity}}),MathJax.Hub.Startup.signal.Post("Collapsible Ready"),MathJax.Ajax.loadComplete("[a11y]/collapsible.js")}); \ No newline at end of file diff --git a/src/py/kaleido/vendor/mathjax/extensions/a11y/explorer.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/explorer.js deleted file mode 100644 index 5478cce7..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/a11y/explorer.js +++ /dev/null @@ -1 +0,0 @@ -MathJax.Hub.Register.StartupHook("Sre Ready",function(){var a,b,c=MathJax.Hub.config.menuSettings,d={};MathJax.Hub.Register.StartupHook("MathEvents Ready",function(){a=MathJax.Extension.MathEvents.Event.False,b=MathJax.Extension.MathEvents.Event.KEY});var e=MathJax.Extension.explorer={version:"1.5.0",dependents:[],defaults:{walker:"table",highlight:"none",background:"blue",foreground:"black",speech:!0,generation:"lazy",subtitle:!1,ruleset:"mathspeak-default"},eagerComplexity:80,prefix:"Assistive-",hook:null,locHook:null,oldrules:null,addMenuOption:function(a,b){c[e.prefix+a]=b},addDefaults:function(){for(var a,b=MathJax.Hub.CombineConfig("explorer",e.defaults),d=Object.keys(b),f=0;a=d[f];f++)void 0===c[e.prefix+a]&&e.addMenuOption(a,b[a]);e.setSpeechOption(),h.Reset()},setOption:function(a,b){c[e.prefix+a]!==b&&(e.addMenuOption(a,b),h.Reset())},getOption:function(a){return c[e.prefix+a]},speechOption:function(a){e.oldrules!==a.value&&(e.setSpeechOption(),h.Regenerate())},setSpeechOption:function(){var a=c[e.prefix+"ruleset"],b=a.split("-");sre.System.getInstance().setupEngine({locale:MathJax.Localization.locale,domain:e.Domain(b[0]),style:b[1],rules:e.RuleSet(b[0])}),e.oldrules=a},Domain:function(a){switch(a){case"chromevox":return"default";case"mathspeak":default:return"mathspeak"}},RuleSet:function(a){switch(a){case"chromevox":return["AbstractionRules","SemanticTreeRules"];case"mathspeak":default:return["AbstractionRules","AbstractionSpanish","MathspeakRules","MathspeakSpanish"]}},hook:null,locHook:null,Enable:function(a,b){c.explorer=!0,b&&(d.explorer=!0),MathJax.Extension.collapsible.Enable(!1,b),MathJax.Extension.AssistiveMML&&(MathJax.Extension.AssistiveMML.config.disabled=!0,c.assistiveMML=!1,b&&(d.assistiveMML=!1)),this.DisableMenus(!1),this.hook||(this.hook=MathJax.Hub.Register.MessageHook("New Math",["Register",this.Explorer])),this.locHook||(this.locHook=MathJax.Hub.Register.MessageHook("Locale Reset",["RemoveSpeech",this.Explorer])),a&&MathJax.Hub.Queue(["Reprocess",MathJax.Hub])},Disable:function(a,b){c.explorer=!1,b&&(d.explorer=!1),this.DisableMenus(!0),this.hook&&(MathJax.Hub.UnRegister.MessageHook(this.hook),this.hook=null);for(var e=this.dependents.length-1;e>=0;e--){var f=this.dependents[e];f.Disable&&f.Disable(!1,b)}},DisableMenus:function(a){if(MathJax.Menu){var b=MathJax.Menu.menu.FindId("Accessibility","Explorer");if(b){b=b.submenu;for(var d,f=b.items,g=2;d=f[g];g++)d.disabled=a;a||!b.FindId("SpeechOutput")||c[e.prefix+"speech"]||(b.FindId("Subtitles").disabled=!0)}}},Dependent:function(a){this.dependents.push(a)}},f=MathJax.Object.Subclass({div:null,inner:null,Init:function(){this.div=f.Create("assertive"),this.inner=MathJax.HTML.addElement(this.div,"div")},Add:function(){f.added||(document.body.appendChild(this.div),f.added=!0)},Show:function(a,b){this.div.classList.add("MJX_LiveRegion_Show");var c=a.getBoundingClientRect(),d=c.bottom+10+window.pageYOffset,e=c.left+window.pageXOffset;this.div.style.top=d+"px",this.div.style.left=e+"px";var f=b.colorString();this.inner.style.backgroundColor=f.background,this.inner.style.color=f.foreground},Hide:function(a){this.div.classList.remove("MJX_LiveRegion_Show")},Clear:function(){this.Update(""),this.inner.style.top="",this.inner.style.backgroundColor=""},Update:function(a){e.getOption("speech")&&f.Update(this.inner,a)}},{ANNOUNCE:"Navigatable Math in page. Explore with shift space and arrow keys. Expand or collapse elements hitting enter.",announced:!1,added:!1,styles:{".MJX_LiveRegion":{position:"absolute",top:"0",height:"1px",width:"1px",padding:"1px",overflow:"hidden"},".MJX_LiveRegion_Show":{top:"0",position:"absolute",width:"auto",height:"auto",padding:"0px 0px",opacity:1,"z-index":"202",left:0,right:0,margin:"0 auto","background-color":"white","box-shadow":"0px 10px 20px #888",border:"2px solid #CCCCCC"}},Create:function(a){var b=MathJax.HTML.Element("div",{className:"MJX_LiveRegion"});return b.setAttribute("aria-live",a),b},Update:MathJax.Hub.Browser.isPC?function(a,b){a.textContent="",setTimeout(function(){a.textContent=b},100)}:function(a,b){a.textContent="",a.textContent=b},Announce:function(){if(e.getOption("speech")){f.announced=!0,MathJax.Ajax.Styles(f.styles);var a=f.Create("polite");document.body.appendChild(a),f.Update(a,f.ANNOUNCE),setTimeout(function(){document.body.removeChild(a)},1e3)}}});MathJax.Extension.explorer.LiveRegion=f;var g=MathJax.Ajax.fileURL(MathJax.Ajax.config.path.a11y),h=MathJax.Extension.explorer.Explorer={liveRegion:f(),walker:null,highlighter:null,hoverer:null,flamer:null,speechDiv:null,earconFile:g+"/invalid_keypress"+(-1!==["Firefox","Chrome","Opera"].indexOf(MathJax.Hub.Browser.name)?".ogg":".mp3"),expanded:!1,focusoutEvent:MathJax.Hub.Browser.isFirefox?"blur":"focusout",focusinEvent:"focus",ignoreFocusOut:!1,jaxCache:{},messageID:null,Reset:function(){h.FlameEnriched()},Register:function(a){if(e.hook){var b=document.getElementById(a[1]);if(b&&b.id){var c=MathJax.Hub.getJaxFor(b.id);c&&c.enriched&&(h.StateChange(b.id,c),h.liveRegion.Add(),h.AddEvent(b))}}},StateChange:function(a,b){h.GetHighlighter(.2);var c=h.jaxCache[a];c&&c===b.root||(c&&h.highlighter.resetState(a+"-Frame"),h.jaxCache[a]=b.root)},AddAria:function(a){a.setAttribute("role","application"),a.setAttribute("aria-label","Math")},AddHook:function(a){h.RemoveHook(),h.hook=MathJax.Hub.Register.MessageHook("End Math",function(b){var c=b[1].id+"-Frame",d=document.getElementById(c);a&&c===h.expanded&&(h.ActivateWalker(d,a),d.focus(),h.expanded=!1)})},RemoveHook:function(){h.hook&&(MathJax.Hub.UnRegister.MessageHook(h.hook),h.hook=null)},AddMessage:function(){return MathJax.Message.Set("Generating Speech Output")},RemoveMessage:function(a){a&&MathJax.Message.Clear(a)},AddEvent:function(a){var b=a.id+"-Frame",c=a.previousSibling;if(c){var d=c.id!==b?c.firstElementChild:c;h.AddAria(d),h.AddMouseEvents(d),"MathJax_MathML"===d.className&&(d=d.firstElementChild),d&&(d.onkeydown=h.Keydown,h.Flame(d),d.addEventListener(h.focusinEvent,function(a){e.hook&&(f.announced||f.Announce())}),d.addEventListener(h.focusoutEvent,function(a){if(e.hook)return h.ignoreFocusOut&&(h.ignoreFocusOut=!1,"enter"===h.walker.moved)?void a.target.focus():void(h.walker&&h.DeactivateWalker())}),e.getOption("speech")&&h.AddSpeech(d))}},AddSpeech:function(a){var b=a.id,c=MathJax.Hub.getJaxFor(b),d=c.root.toMathML();if(a.getAttribute("haslabel")||h.AddMathLabel(d,b),!a.getAttribute("hasspeech"))switch(MathJax.Hub.config.explorer.generation){case"eager":h.AddSpeechEager(d,b);break;case"mixed":a.querySelectorAll("[data-semantic-complexity]").length>=e.eagerComplexity&&h.AddSpeechEager(d,b)}},AddSpeechLazy:function(a){var b=new sre.TreeSpeechGenerator;b.setRebuilt(h.walker.rebuilt),b.getSpeech(h.walker.rootNode,h.walker.xml),a.setAttribute("hasspeech","true")},AddSpeechEager:function(a,b){h.MakeSpeechTask(a,b,sre.TreeSpeechGenerator,function(a,b){a.setAttribute("hasspeech","true")},5)},AddMathLabel:function(a,b){h.MakeSpeechTask(a,b,sre.SummarySpeechGenerator,function(a,b){a.setAttribute("haslabel","true"),a.setAttribute("aria-label",b)},5)},MakeSpeechTask:function(a,b,c,d,e){var f=h.AddMessage();setTimeout(function(){var e=new c,g=document.getElementById(b),i=new sre.DummyWalker(g,e,h.highlighter,a),j=i.speech();j&&d(g,j),h.RemoveMessage(f)},e)},Keydown:function(c){if(c.keyCode===b.ESCAPE){if(!h.walker)return;return h.RemoveHook(),h.DeactivateWalker(),void a(c)}if(h.walker&&h.walker.isActive()){void 0!==h.walker.modifier&&(h.walker.modifier=c.shiftKey);var d=h.walker.move(c.keyCode);if(null===d)return;if(d){if("expand"===h.walker.moved){if(h.expanded=h.walker.node.id,MathJax.Hub.Browser.isEdge)return h.ignoreFocusOut=!0,void h.DeactivateWalker();if(MathJax.Hub.Browser.isFirefox||MathJax.Hub.Browser.isMSIE)return void h.DeactivateWalker()}h.liveRegion.Update(h.walker.speech()),h.Highlight()}else h.PlayEarcon();return void a(c)}var f=c.target;if(c.keyCode===b.SPACE){if(c.shiftKey&&e.hook){var g=MathJax.Hub.getJaxFor(f);h.ActivateWalker(f,g),h.AddHook(g)}else MathJax.Extension.MathEvents.Event.ContextMenu(c,f);return void a(c)}},GetHighlighter:function(a){h.highlighter=sre.HighlighterFactory.highlighter({color:e.getOption("background"),alpha:a},{color:e.getOption("foreground"),alpha:1},{renderer:MathJax.Hub.outputJax["jax/mml"][0].id,browser:MathJax.Hub.Browser.name})},AddMouseEvents:function(a){sre.HighlighterFactory.addEvents(a,{mouseover:h.MouseOver,mouseout:h.MouseOut},{renderer:MathJax.Hub.outputJax["jax/mml"][0].id,browser:MathJax.Hub.Browser.name})},MouseOver:function(b){if("none"!==e.getOption("highlight")){if("hover"===e.getOption("highlight")){var c=b.currentTarget;h.GetHighlighter(.1),h.highlighter.highlight([c]),h.hoverer=!0}a(b)}},MouseOut:function(b){return h.hoverer&&(h.highlighter.unhighlight(),h.hoverer=!1),a(b)},Flame:function(a){if("flame"===e.getOption("highlight"))return h.GetHighlighter(.05),h.highlighter.highlightAll(a),void(h.flamer=!0)},UnFlame:function(){h.flamer&&(h.highlighter.unhighlightAll(),h.flamer=null)},FlameEnriched:function(){h.UnFlame();for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++)h.Flame(a.SourceElement().previousSibling)},Walkers:{syntactic:sre.SyntaxWalker,table:sre.TableWalker,semantic:sre.SemanticWalker,none:sre.DummyWalker},ActivateWalker:function(a,b){var c=e.getOption("speech"),d=e.getOption("walker")?h.Walkers[MathJax.Hub.config.explorer.walker]:h.Walkers.none,f=c?new sre.DirectSpeechGenerator:new sre.DummySpeechGenerator;h.GetHighlighter(.2),h.walker=new d(a,f,h.highlighter,b.root.toMathML()),c&&!a.getAttribute("hasspeech")&&h.AddSpeechLazy(a),h.walker.activate(),c&&(e.getOption("subtitle")&&h.liveRegion.Show(a,h.highlighter),h.liveRegion.Update(h.walker.speech())),h.Highlight(),h.ignoreFocusOut&&setTimeout(function(){h.ignoreFocusOut=!1},500)},DeactivateWalker:function(){h.liveRegion.Clear(),h.liveRegion.Hide(),h.Unhighlight(),h.currentHighlight=null,h.walker.deactivate(),h.walker=null},Highlight:function(){h.Unhighlight(),h.highlighter.highlight(h.walker.getFocus().getNodes())},Unhighlight:function(){h.highlighter.unhighlight()},PlayEarcon:function(){new Audio(h.earconFile).play()},SpeechOutput:function(){h.Reset(),["Subtitles"].forEach(function(a){var b=MathJax.Menu.menu.FindId("Accessibility","Explorer",a);b&&(b.disabled=!b.disabled)}),h.Regenerate()},RemoveSpeech:function(){e.setSpeechOption();for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++){var d=document.getElementById(a.inputID+"-Frame");d&&(d.removeAttribute("hasspeech"),d.removeAttribute("haslabel"))}},Regenerate:function(){for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++){var d=document.getElementById(a.inputID+"-Frame");d&&(d.removeAttribute("hasspeech"),h.AddSpeech(d))}},Startup:function(){var a=MathJax.Extension.collapsible;a&&a.Dependent(e),e.addDefaults()}};MathJax.Hub.Register.StartupHook("End Extensions",function(){e[!1===c.explorer?"Disable":"Enable"](),MathJax.Hub.Startup.signal.Post("Explorer Ready"),MathJax.Hub.Register.StartupHook("MathMenu Ready",function(){d=MathJax.Menu.cookie;var a,b=function(a){e[c.explorer?"Enable":"Disable"](!0,!0),MathJax.Menu.saveCookie()},f=MathJax.Menu.ITEM,g=MathJax.Menu.menu,i={action:h.Reset},j={action:e.speechOption},k=f.SUBMENU(["Explorer","Explorer"],f.CHECKBOX(["Active","Active"],"explorer",{action:b}),f.RULE(),f.CHECKBOX(["Walker","Walker"],"Assistive-walker"),f.SUBMENU(["Highlight","Highlight"],f.RADIO(["none","None"],"Assistive-highlight",i),f.RADIO(["hover","Hover"],"Assistive-highlight",i),f.RADIO(["flame","Flame"],"Assistive-highlight",i)),f.SUBMENU(["Background","Background"],f.RADIO(["blue","Blue"],"Assistive-background",i),f.RADIO(["red","Red"],"Assistive-background",i),f.RADIO(["green","Green"],"Assistive-background",i),f.RADIO(["yellow","Yellow"],"Assistive-background",i),f.RADIO(["cyan","Cyan"],"Assistive-background",i),f.RADIO(["magenta","Magenta"],"Assistive-background",i),f.RADIO(["white","White"],"Assistive-background",i),f.RADIO(["black","Black"],"Assistive-background",i)),f.SUBMENU(["Foreground","Foreground"],f.RADIO(["black","Black"],"Assistive-foreground",i),f.RADIO(["white","White"],"Assistive-foreground",i),f.RADIO(["magenta","Magenta"],"Assistive-foreground",i),f.RADIO(["cyan","Cyan"],"Assistive-foreground",i),f.RADIO(["yellow","Yellow"],"Assistive-foreground",i),f.RADIO(["green","Green"],"Assistive-foreground",i),f.RADIO(["red","Red"],"Assistive-foreground",i),f.RADIO(["blue","Blue"],"Assistive-foreground",i)),f.RULE(),f.CHECKBOX(["SpeechOutput","Speech Output"],"Assistive-speech",{action:h.SpeechOutput}),f.CHECKBOX(["Subtitles","Subtitles"],"Assistive-subtitle",{disabled:!c["Assistive-speech"]}),f.RULE(),f.SUBMENU(["Mathspeak","Mathspeak Rules"],f.RADIO(["mathspeak-default","Verbose"],"Assistive-ruleset",j),f.RADIO(["mathspeak-brief","Brief"],"Assistive-ruleset",j),f.RADIO(["mathspeak-sbrief","Superbrief"],"Assistive-ruleset",j)),f.SUBMENU(["Chromevox","ChromeVox Rules"],f.RADIO(["chromevox-default","Verbose"],"Assistive-ruleset",j),f.RADIO(["chromevox-short","Short"],"Assistive-ruleset",j),f.RADIO(["chromevox-alternative","Alternative"],"Assistive-ruleset",j))),l=(g.FindId("Accessibility")||{}).submenu;l?(a=l.IndexOfId("Explorer"),null!==a?l.items[a]=k:(a=l.IndexOfId("CollapsibleMath"),l.items.splice(a+1,0,k))):(a=g.IndexOfId("CollapsibleMath"),g.items.splice(a+1,0,k)),c.explorer||e.DisableMenus(!0)},20)},20)}),MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){MathJax.Hub.Config({SVG:{addMMLclasses:!0}});var a=MathJax.OutputJax.SVG;if(parseFloat(a.version)<2.7){var b=a.getJaxFromMath;a.Augment({getJaxFromMath:function(a){return a.parentNode.className.match(/MathJax_SVG_Display/)&&(a=a.parentNode),b.call(this,a)}})}}),MathJax.Ajax.config.path.a11y||(MathJax.Ajax.config.path.a11y=MathJax.Hub.config.root+"/extensions/a11y"),MathJax.Ajax.Require("[a11y]/collapsible.js"),MathJax.Hub.Register.StartupHook("Collapsible Ready",function(){MathJax.Extension.explorer.Explorer.Startup(),MathJax.Ajax.loadComplete("[a11y]/explorer.js")}); \ No newline at end of file diff --git a/src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.mp3 b/src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.mp3 deleted file mode 100644 index cba44de08a288ee4d5aae221b71b740349c0caad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9030 zcmeH~dpK0<8o<|Fn86r~Xxzu0k`_a;$ryLSCZkO$;~FZd(zfApar*oi~ju7F+6w={|dhwK!)F|93aI< zNr0{ZV*zA7E&{v-1PR#7=dgfe0l5N7_*@jwAfQ!1H=h9k;{v7yKzsz5@N*8}=S&0z z!8bI%ov6$8oN|l$7JX}>h0H+yaE)}$(?f>=T}1xw5;P#?kiSxHh7P>X-Od2G08ISZ zAUH+%Tld7_=;0^UUaxhvtKnv0paE3>;2gW*W%9w$@tbI)s zAAPWGX$FE`=AKzgCG7asOGgx7( zZZe!RZ79|v2A(8e0+j)xfmZWAP#(@StYj90rkrUsEF>9Vz}=9{&qBhYK2uXi5{4I0 zapr~!g`=ykBy#q7)?HAU7=ueDoSxY0GvtVpYg>cM?OVTrxHYT^KhQN=2p4i;x{<5H zBmGEA=s{?t2(Q8~Jn6Tk>nMUlckRa@=^S}1wOT7zE!Zy~F{!bXFrj|m4o{d+OJ~6wC0MHd}?jO6pRgu&vOxr%{R@KLd|INvJwe{6!%7Uv zu@vrs7P13Zpr<8u@2VUb1{46<--pqFSWmg;&k=3i0AR!~8 zw24|TWh@e`0|0I5Q8CDg4KGaO?4`95u$_F)O90(G;KGwD?ML_O229lxbC2Fr~T6ZPUn{m=d+{BV2w zfgxLA0$X$?xY*W=J-$?V}9|UqM=+E%}yzp_M~W9W*cFOm?v)>I)2cVy50; zT2Au%YXCr;001y_r?%vt1uOO+hD=TMjXnS4U@QSkjt@$wHRxz0FH4Wrnu4t7=mU}L zbW}g*gO@`KMQr%Ds0RlEo0B(SN^?S5k+?K5KoLY_zrK@6sXDauVu2*^`wrqY;I;ib z@c6~xQ`416_(QN`EHi2-ej}hF=c>6=-hzEej*#S?z&gYVlkvOcHCIfy8Nkhor|ZCj zu1wT%Zqb&)A?Vh;ptJejf0pULQ-VLOvA|FocFIT8Mqy!+zhJ%^67kX%UAvHI`G=uD z{o>#HApiha9?XD#S*SMd>~96-%~swF4TJ&HYbD-R7;qFxPWAhfUBt@mr%W6AN^e)osGt&l=*wnyjbXoHSuL|lb3YAHI|M=5JHhp#V#7eq!ov+_Q1$bLJLhQ71hna2 zhN}K{_`}9i$*OV9xJPl7?Q^w5C;S+BvZhzG>;vpiwyzj@+pv~(Q()*gdTNWv-2mP= z>zkqXx>D7j+V~xO{g)Hk%a9DiNvEVdn`4>44z4!t?_E71_lowMUy%j=(mn?*P%Nto zL+PE4XA517*r4Q=(6dimFbEQV7S>(oAE5p=oQ_|cEMaf!G5p?yWYi$UQxh*R4182> zM~6FwppjJXcxP&_U1Atjs1a|>No-eQ;l#+9Guz}9kHeB$8u01{HMS;Y{)X=fLZ~vf zv}S^8iwoSEK^b;F!U(7*$Uk z<(9-r8Uaq)_vwD%UZ*D|!?D3wb!za%xDvN$0_-IlenCC@2tXe#9!N)ytRvLfB@#Yn zG5X5JNli~*=|FpU8T`Fc2!K)$W*jLpeinGHwnn76`LQ3KYvAf*$MzCt)rb4LDO%mk zt3K!ItBWZ$d4^$VyIQlA?%vjr#*4s{ug1RFo>`7WHJ5Cbq0R78Zar7E8RTU=T387C z3qxQHC(UqugV_ellyQR-u=`*Pc^^oESA&zXx&{{z+Mp8#kUWS_OrA`Cmx13LpV^K+ zHyV9JJ+R%(%J3;Chk4X%(xbR7k9;SVh&^E88iaLuVa zsT!3M^cp}7NCozb{ybY6w)#bAYnkdP+u+L+y(F6e4^eW+BjN$(@;|s zspeSi^}4cp-`g@vqnNf&0&GQZtSr{mmODAC6)A2E^pOd6+34J~#l9rM}-;UQ7 zl8R$>u?)(+k98xY5ZoH1wt`XA=)qgJ*~FU-!bu_ucaxGSE~5>R=H>*iAVs6uEwvXS zNYIO=7j0RaympS!20uktRL;yq&&1e|z5PJSU(&@j&DIaS+;iUP(6K2+Jn5p|DNE`q ztX8q~&5(m8a5mRm{HVoVhk*f35nVC+a?=AjOze?5hhULywM{K@HMmqf)s%z8HHMEc z%h(l>jq$4Z{X^v*kG+&ZCzKg6`bLn22F?+b6*>;ewupoBtrtOU*#@II>nJc1CI-r~ zkAvn21p|vXOOU}11r_PS@-QDSI8xm;36{wI6da`;S|089d=sk|vwJG%0k+Ho!@5A2 zbTZg9mXp(>y!s?A>GM5i!;pn_$obOPISTDkss2^iwi@{;vcM2mA_uve%;1^UtR?ij z><@)!={f=ua|q7LtiiYsdVbh@kGJByVrE|zYv(+PiLsDSbq~T^tY~??G4l9EO^qF4 z%0cMP!=Cb)WT^v$k}H7@n*u|2Tr0nJg}A|{iYQgmD^v5jH8ji9LBST*ALUaprSru> zcevHl|EPbTua*0k`^Z$eOA_%4+hgCEg(aK{Qwua zO5@!K1objYOUnETq>uyXCZ&mh5m#XFB4;l?==IdEs@!`*UX+0BLa2W>S8ovRa%>QGH2AcD7#v0#;_1qGp-3CbQUt zb2m#ZvMgq_ySySNy?UaH96cla_`Suh zuw17plQ52Hd&Kh|%4U}fsc#zUy-qMZQJwEPc8><|gp$$}d?B`OH3XAt6_QVnMOle) zcdMO?Rl7QKL(Vz$I+MQRy^#rNgd5_plh)GHapncYV;YKU&w9Q((FA?&1>nHZbw2^Y zX&j_pDq#mgw3nXlX3QRVtYtlK2Xm)V%WU$OG_TrZ@6U!hL$4B_rQ83yQzKkH_3AI{ zu}?0h{jyU%*3;GAv?4h82<}uE>)gZMcURk=6sGSw`E|EFiY-4ANJbRkyN#G{++mvG zQYqQoH3j1AF6p8Wq|AAH-8bfQZ5tobAl}vVyx*60$40axGd^FpE^QuA!ti?Fpu z8>}6-zZ%rMg`a5rRcTl9Vg~fY%8;n;yO`DlwRfgl*aRMKPs>nOvzULHSKw5Lmvhc- z^w7=6_NX7&4+cM83VWJI51qjIFgp zh_UE>)H{_3FlFNd7x{=RE3(_9ya>lA$3^2^_&|FH)VJB$!ZM9BMRCg0i!56wZ*`@z z0=r(2Iv=hM#re{YTcW4FzJX|3Rgg#X(6(6?-sVf(|-GL-UNNJ zm2!Yh_*hgx)#yYdPYrujVpWOHDoANVV4D(aL&UF(@Q@7HD_cW4nu|PNU2(VnS$7RF$hW-s8~?uX5+||NSP~iZ zjIP-#DsZ>SV2LD^CHA5|nkGU7S70AJtlZpu?I2t*vQ4&atH5ks-g5k%Dc6&(zve^ zQg*G%3S(3|q$HmgqKBifHWkLoTFmy`XVkc2)yDIm8x9ZmKq|WT{;eA1=ONZ{R*<2- zLS*m0&0ldyqthA82#SIpcwhA6jK2fDq((eDGLvD_uOP9jb5W^}4RAaVk~~YPsN{8_ z(0cBr<@Ixp)fP*+O^x;CfdjmgSFFW~hbkF?5IjI%<^IaZVB$ZfR2$;3lYWtHs>6?(37y@h2&b2(x)L(O z(j%|cga!pU)HPOri|k-Ujk2ze@}j>JM7yqvrG}3QhAhh+zYN^ zMOLwuRa*-Ujfaf)4;|rJtU~~T4Z)JGp+MJEpld9sn9){c95OUE8U6Yj9-ce?;6G(2 ztAn!u*uh$p$6AB3!cj*aOi?I!Gc$HmW;rQCJ2TIuj;?%B^(t9zYB%=6%#1vNhsw>80A%+H$)JO5JF?& z?(wVBzshQZvcf3Cp>t$GL7^l68+!ff#r{8o|LX`K@Tj{DpG}@rdWRR#x`G^u3(KL3 zc$FYA*vU#7E(mZ{>7ub(rN8VA7A)8y8e{4}BjwTyOzteUSX65hc~n4QgCOc<-h~nzmEL#nu2xdIH0~4Y=ALA#l1v#7)Ke{ zIsi5$8GYeK|Lf8(1-bw&9_08!fq!o2-G&lbmpg#LZa7rkfP>n=!M@n)+C*`RTs7SI z@gNoe`<`~5%r(5qq%`{ISdn9)(Nv{zy6}kd;&-8#+VvSmBs^9iJJ_JKaQ$U+HyE$n z#$YdL=)Ma|_qGs$7!MdaMUru<@Q9DDp~-0D5eX`l{JtnT3L)sc^J>BL5D?0ZO#Yp0f%aiS_3t%-{0HQgwT6g8micvZ5~A}OcRQ7+%)l0F8in+ z&E&`tl+&bl6m!|tC;-=s2=FP5$>@^;<^rJhkH8M?wO%G_>R^Zu1=R&i*Bp=rOu;ZH zlH&nS^J$ab8uFl0tSy9Nw#GerR0<=dwNegSGbr*g>qlXH9HNhOZ6Hk!F#?DJ2t)vo$ zUXtX-@Pm}Z&Ale2nMgCbwg z>PZFfh{{>a;q)Y=#&R?$D&?O}ER)t9twN=(6N%*kO{U4@vesTjc_io5cyd{Q`_e2~ zQ|I-}=5|`@HZK1ZEw#Ldv@tD<-*6*yelKb1dLDlwd7FPP?d$br=F`TqfZsj4f${<- zHvsT{2?2x^?_1u&`pm7uej&ZX1wh=G2y_zYGtetcXn6?q3TH8?E*`d7DNlVl<~`Q? z4=ROiR;m)6eMKQs&S%&R?25!Omsoodsjt~YeRX4MGU+i26+>;Ip{(QBCK%yjZKOJA zJSnFXPBZJF${e$c)Pb#WK{*^VRZ8-NovQJX~fzF9x4;e@~(7KFZ7#!0?J|1%S z%|{&;F1GC|X)xxg*P|SMc(Iq6W}-z!xT#{2b&Yvs^lB42$edysv;i9Zf%w2Fs+cUE zW#qrZvFBIQ#Jx1r^}MJ$l{4HGML?~t1b{%aTMoKzgF7l@2cEd*EudzGZPA8Z66X}e zI3ScboKR6LUIyY5H<(g32tUOwo4I?O;7Rl(iFnSnY9ga1=aTDt1sCV99p-TJnUF64 z^T89izzu*x8M(4KEh8&uN5L+&Mq6G9H%OQ~z%F=mWedZ?1S*;b{Vm3##Y>o;UQ1bU z8@JuJnQA~J+9E1!2PYD(7iywcf^|N?F4S1N!%wUzI^WO7XLodTY;;_5&fo}cPSW%d zl5(|luLV@y>Tx-~?Y1KT36~VtTNS(5%Py}v{^0SkqQ0NL|A4pX&TpKlLr(JTWz(hH z_pVJeqY^JUAV+jJPTXf29%_TrHBN*BBhOZSk?~Y5n3tA*=HBxySn=2af!9!&bYO=! z{pc|1>cYP*%sq%RG@KR8%i8*5PI)#~>;_)8h1V0W?DJmHnvfCR9G7C(jehB~2e)G7 zi>Pbbb&alT9IsTo91XhbHru@){}P+vS0ssVM=(uoDalmti&INkOfEOGv82a89@L!_ zTnIZ6_f%)e2uj{($&fvrN+w$>#S!vQJGbrc4e1|^f8iiFylVHtD#t$@JHhUpS^MC| zPugOI@aBB`4uajgD_=BU8+n(q{Hw^?ozK^uIC|b|%h>~6zlZX=`fYzRUJHlsaW;r) z@&=XR0Lf?{cIcr3Ky_QLgoZLHwr|MJI~%CmJb_@&9gt>DfSdo(yWs0YLqpqSf$sL-iJ2DLmHIRB^Q<_-N&=ulUWY>bC?t z;EQj5JGDLO5hdtSB!WE0BJ>t`1pYD!W!@l$j|W;V{BNOhQaM3QlQ(D9k3_=b-ja}- z30XS5*qHKYhvC9y%?19mJ^7tuN%lUj_BMBz2f#%~@m!wiR3Q9P4FJ~x#P^`vl%DV> z&x9oEC>vfl{S#;5^{&esI0#D!X@rjk{`pdWofFX2L^$)+%l9LzU0iEExV;2&+hhi@ zhuuJFTRpltK=X!uSP%f6{ZQ%2C#E=? z6{ed&m_>Q{SI8em3)DoyTCeXnElfD8_f3r?7JPda;4gq?)+ZBhrR(l%+-CRbO&y06 z?&Wvq|Bf|O&dU8{kC~5H>f}-Pj(z$u`vS4=%i;b-_%E`R|0S6exE&g4T{3?Sh4bK> z$2(`XbAA{^`dq-`PoJCrKrG(N;dit5JXlp!zggm>%J4bhF-nc$sH-g&9sEwI0qq`{ z?Hos>mt{OypimIVw66Wn&L(aa{qgBbX+OSazv}=#DWZb+M-4sAgXiQ|ar}JGN^epY z;Y3c%G*_|%KiGILnV~=cO!_?5@I)(-bX#0lk>!IW?kWA$^6`hgn!id{pRF9 z1GE2hYPDq%I`Clp?>}&dih5S|oP4)%(r>5%c3xcGc`7OX#I6ti`shN|$x|Dr`lHTQ WCEpm@S)lay>ms`WyLrxY(tiW58)c^e diff --git a/src/py/kaleido/vendor/mathjax/extensions/a11y/mathjax-sre.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathjax-sre.js deleted file mode 100644 index 40a6151f..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/a11y/mathjax-sre.js +++ /dev/null @@ -1,985 +0,0 @@ -// Copyright 2014-2018 Volker Sorge -// -// 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 $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_"; -$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+a++}}(); -$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var b=0;return $jscomp.iteratorPrototype(function(){return b>>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("function"===typeof a.clone)return a.clone();b="array"==b?[]:{};for(var 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(2Number(a[1])?!1:b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});a("es6-impl",function(){return!0});a("es7",function(){return b("2 ** 2 == 4")}); -a("es8",function(){return b("async () => 1, true")});a("es9",function(){return b("({...rest} = {}), true")});a("es_next",function(){return!1});return c},goog.Transpiler.prototype.needsTranspile=function(a,b){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;this.requiresTranspilation_||(this.requiresTranspilation_=this.createRequiresTranspilation_());if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a]?!0:!goog.inHtmlDocument_()||"es6"!=b||"noModule"in goog.global.document.createElement("script")? -!1:!0;throw Error("Unknown language mode: "+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={};this.idToPath_={};this.written_={};this.loadingDeps_=[];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory(goog.transpiler_);this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap= -function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){b=[];for(var e=0;e\x3c/script>")}else{var d=b.createElement("script");d.defer=goog.Dependency.defer_;d.async=!1;d.type="text/javascript";var e=goog.getScriptNonce();e&&(d.nonce=e);goog.DebugLoader_.IS_OLD_IE_?(a.pause(),d.onreadystatechange=function(){if("loaded"==d.readyState||"complete"==d.readyState)a.loaded(), -a.resume()}):d.onload=function(){d.onload=null;a.loaded()};d.src=this.path;b.head.appendChild(d)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or seting CLOSURE_NO_DEPS to true."),a.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load= -function(a){function b(a,b){b?d.write('");return a};sre.ColorPicker=function(a,b){this.foreground=sre.ColorPicker.getChannelColor_(b,sre.ColorPicker.DEFAULT_FOREGROUND_);this.background=sre.ColorPicker.getChannelColor_(a,sre.ColorPicker.DEFAULT_BACKGROUND_)};sre.ColorPicker.DEFAULT_BACKGROUND_="blue";sre.ColorPicker.DEFAULT_FOREGROUND_="black"; -sre.ColorPicker.namedColors_={red:{red:255,green:0,blue:0},green:{red:0,green:255,blue:0},blue:{red:0,green:0,blue:255},yellow:{red:255,green:255,blue:0},cyan:{red:0,green:255,blue:255},magenta:{red:255,green:0,blue:255},white:{red:255,green:255,blue:255},black:{red:0,green:0,blue:0}};sre.ColorPicker.getChannelColor_=function(a,b){a=a||{color:b};var c=a.color?sre.ColorPicker.namedColors_[a.color]:a;c||(c=sre.ColorPicker.namedColors_[b]);c.alpha=a.hasOwnProperty("alpha")?a.alpha:1;return sre.ColorPicker.normalizeColor_(c)}; -sre.ColorPicker.normalizeColor_=function(a){var b=function(a){a=Math.max(a,0);a=Math.min(255,a);return Math.round(a)};a.red=b(a.red);a.green=b(a.green);a.blue=b(a.blue);a.alpha=Math.max(a.alpha,0);a.alpha=Math.min(1,a.alpha);return a};sre.ColorPicker.prototype.rgba=function(){var a=function(a){return"rgba("+a.red+","+a.green+","+a.blue+","+a.alpha+")"};return{background:a(this.background),foreground:a(this.foreground)}}; -sre.ColorPicker.prototype.rgb=function(){var a=function(a){return"rgb("+a.red+","+a.green+","+a.blue+")"};return{background:a(this.background),alphaback:this.background.alpha.toString(),foreground:a(this.foreground),alphafore:this.foreground.alpha.toString()}}; -sre.ColorPicker.prototype.hex=function(){var a=function(a){return"#"+sre.ColorPicker.toHex_(a.red)+sre.ColorPicker.toHex_(a.green)+sre.ColorPicker.toHex_(a.blue)};return{background:a(this.background),alphaback:this.background.alpha.toString(),foreground:a(this.foreground),alphafore:this.foreground.alpha.toString()}};sre.ColorPicker.toHex_=function(a){a=a.toString(16);return 1===a.length?"0"+a:a};sre.Highlighter=function(){};sre.Highlighter.prototype.highlight=function(a){};sre.Highlighter.prototype.unhighlight=function(){};sre.Highlighter.prototype.highlightAll=function(a){};sre.Highlighter.prototype.unhighlightAll=function(){};sre.Highlighter.prototype.setColor=function(a){};sre.Highlighter.prototype.addEvents=function(a,b){};sre.AbstractHighlighter=function(){this.currentHighlights_=[];this.color=null;this.mactionName="";this.state_={}};sre.AbstractHighlighter.prototype.highlight=function(a){this.currentHighlights_.push(a.map(goog.bind(function(a){return this.highlightNode(a)},this)))};sre.AbstractHighlighter.prototype.highlightNode=goog.abstractMethod;sre.AbstractHighlighter.prototype.highlightAll=function(a){a=this.getMactionNodes(a);for(var b=0,c;c=a[b];b++)this.highlight([c])}; -sre.AbstractHighlighter.prototype.unhighlight=function(){var a=this.currentHighlights_.pop();a&&a.forEach(goog.bind(function(a){return this.unhighlightNode(a)},this))};sre.AbstractHighlighter.prototype.unhighlightNode=goog.abstractMethod;sre.AbstractHighlighter.prototype.unhighlightAll=function(){for(;0'+e+"","text/xml");b.push(e.documentElement)}return b}; -sre.MathspeakUtil.spaceoutIdentifier=function(a){var b=a.textContent;if(!b.match(/[a-zA-Z]+/))return a.setAttribute("role",sre.SemanticAttr.Role.PROTECTED),[a];a=b.split("");b=[];for(var c=new sre.SystemExternal.xmldom.DOMParser,d=0,e;e=a[d];d++){var f=sre.Semantic.Type.IDENTIFIER;e=c.parseFromString("<"+f+' role="'+sre.Semantic.Role.UNKNOWN+'">'+e+"","text/xml");b.push(e.documentElement)}return b}; -sre.MathspeakUtil.nestingBarriers=[sre.Semantic.Type.CASES,sre.Semantic.Type.CELL,sre.Semantic.Type.INTEGRAL,sre.Semantic.Type.LINE,sre.Semantic.Type.MATRIX,sre.Semantic.Type.MULTILINE,sre.Semantic.Type.OVERSCORE,sre.Semantic.Type.ROOT,sre.Semantic.Type.ROW,sre.Semantic.Type.SQRT,sre.Semantic.Type.SUBSCRIPT,sre.Semantic.Type.SUPERSCRIPT,sre.Semantic.Type.TABLE,sre.Semantic.Type.UNDERSCORE,sre.Semantic.Type.VECTOR];sre.MathspeakUtil.nestingDepth={}; -sre.MathspeakUtil.resetNestingDepth=function(a){sre.MathspeakUtil.nestingDepth={};return[a]}; -sre.MathspeakUtil.getNestingDepth=function(a,b,c,d,e,f){d=d||sre.MathspeakUtil.nestingBarriers;e=e||{};f=f||function(a){return!1};var g=(new sre.SystemExternal.xmldom.XMLSerializer).serializeToString(b);sre.MathspeakUtil.nestingDepth[a]||(sre.MathspeakUtil.nestingDepth[a]={});if(sre.MathspeakUtil.nestingDepth[a][g])return sre.MathspeakUtil.nestingDepth[a][g];if(f(b)||0>c.indexOf(b.tagName))return 0;b=sre.MathspeakUtil.computeNestingDepth_(b,c,sre.BaseUtil.setdifference(d,c),e,f,0);return sre.MathspeakUtil.nestingDepth[a][g]= -b};sre.MathspeakUtil.containsAttr=function(a,b){if(!a.attributes)return!1;a=sre.DomUtil.toArray(a.attributes);for(var c=0,d;d=a[c];c++)if(b[d.nodeName]===d.nodeValue)return!0;return!1}; -sre.MathspeakUtil.computeNestingDepth_=function(a,b,c,d,e,f){if(e(a)||-1=Math.pow(10,36))return a.toString();for(var b=0,c="";0b)return c+"th";switch(a%10){case 1:return c+"st";case 2:return c+"nd";case 3:return c+"rd";default:return c+"th"}};sre.MathspeakUtil.ordinalCounter=function(a,b){var c=0;return function(){return sre.MathspeakUtil.simpleOrdinal(++c)+" "+b}}; -sre.MathspeakUtil.convertVulgarFraction_=function(a){if(!a.childNodes||!a.childNodes[0]||!a.childNodes[0].childNodes||2>a.childNodes[0].childNodes.length||a.childNodes[0].childNodes[0].tagName!==sre.SemanticAttr.Type.NUMBER||a.childNodes[0].childNodes[0].getAttribute("role")!==sre.SemanticAttr.Role.INTEGER||a.childNodes[0].childNodes[1].tagName!==sre.SemanticAttr.Type.NUMBER||a.childNodes[0].childNodes[1].getAttribute("role")!==sre.SemanticAttr.Role.INTEGER)return{convertible:!1,content:a.textContent}; -var b=a.childNodes[0].childNodes[1].textContent;a=a.childNodes[0].childNodes[0].textContent;var c=Number(b),d=Number(a);return isNaN(c)||isNaN(d)?{convertible:!1,content:a+" "+sre.Messages.MS.FRAC_OVER+" "+b}:{convertible:!0,enumerator:d,denominator:c}}; -sre.MathspeakUtil.vulgarFraction=function(a){a=sre.MathspeakUtil.convertVulgarFraction_(a);return a.convertible&&a.enumerator&&a.denominator?sre.MathspeakUtil.numberToWords(a.enumerator)+"-"+sre.MathspeakUtil.numberToOrdinal(a.denominator,1!==a.enumerator):a.content||""};sre.MathspeakUtil.vulgarFractionSmall=function(a){var b=sre.MathspeakUtil.convertVulgarFraction_(a);return b.convertible?(a=b.enumerator,b=b.denominator,0a&&0b):!1}; -sre.MathspeakUtil.isSmallVulgarFraction=function(a){return sre.MathspeakUtil.vulgarFractionSmall(a)?[a]:[]}; -sre.MathspeakUtil.nestedSubSuper=function(a,b,c){for(;a.parentNode;){var d=a.parentNode,e=d.parentNode,f=a.getAttribute&&a.getAttribute("role");if(e.tagName===sre.Semantic.Type.SUBSCRIPT&&a===d.childNodes[1]||e.tagName===sre.Semantic.Type.TENSOR&&f&&(f===sre.Semantic.Role.LEFTSUB||f===sre.Semantic.Role.RIGHTSUB))b=c.sub+" "+b;if(e.tagName===sre.Semantic.Type.SUPERSCRIPT&&a===d.childNodes[1]||e.tagName===sre.Semantic.Type.TENSOR&&f&&(f===sre.Semantic.Role.LEFTSUPER||f===sre.Semantic.Role.RIGHTSUPER))b= -c.sup+" "+b;a=e}return b.trim()};sre.MathspeakUtil.subscriptVerbose=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUBSCRIPT,{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB})};sre.MathspeakUtil.subscriptBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUB,{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})}; -sre.MathspeakUtil.superscriptVerbose=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUPERSCRIPT,{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB})};sre.MathspeakUtil.superscriptBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUP,{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})}; -sre.MathspeakUtil.baselineVerbose=function(a){return(a=sre.MathspeakUtil.nestedSubSuper(a,"",{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB}))?a.replace(new RegExp(sre.Messages.MS.SUB+"$"),sre.Messages.MS.SUBSCRIPT).replace(new RegExp(sre.Messages.MS.SUPER+"$"),sre.Messages.MS.SUPERSCRIPT):sre.Messages.MS.BASELINE};sre.MathspeakUtil.baselineBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,"",{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})||sre.Messages.MS.BASE}; -sre.MathspeakUtil.radicalNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("radical",a,["sqrt","root"],sre.MathspeakUtil.nestingBarriers,{})};sre.MathspeakUtil.nestedRadical=function(a,b,c){var d=sre.MathspeakUtil.radicalNestingDepth(a);c=(a=sre.MathspeakUtil.getRootIndex(a))?sre.Messages.MS_FUNC.COMBINE_ROOT_INDEX(c,a):c;return 1===d?c:b+sre.Messages.MS_FUNC.RADICAL_NEST_DEPTH(d-1)+c}; -sre.MathspeakUtil.getRootIndex=function(a){a="sqrt"===a.tagName?"2":sre.XpathUtil.evalXPath("children/*[1]",a)[0].textContent.trim();return sre.Messages.MS_ROOT_INDEX[a]||""};sre.MathspeakUtil.openingRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.STARTROOT)};sre.MathspeakUtil.closingRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.ENDROOT)}; -sre.MathspeakUtil.indexRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.ROOTINDEX)};sre.MathspeakUtil.openingRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.STARTROOT)};sre.MathspeakUtil.closingRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ENDROOT)}; -sre.MathspeakUtil.indexRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ROOTINDEX)};sre.MathspeakUtil.openingRadicalSbrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ROOT)};sre.MathspeakUtil.indexRadicalSbrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.INDEX)}; -sre.MathspeakUtil.underscoreNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("underscore",a,["underscore"],sre.MathspeakUtil.nestingBarriers,{},function(a){return a.tagName&&a.tagName===sre.Semantic.Type.UNDERSCORE&&a.childNodes[0].childNodes[1].getAttribute("role")===sre.Semantic.Role.UNDERACCENT})};sre.MathspeakUtil.nestedUnderscore=function(a){a=sre.MathspeakUtil.underscoreNestingDepth(a);return Array(a).join(sre.Messages.MS.UNDER)+sre.Messages.MS.UNDERSCRIPT}; -sre.MathspeakUtil.overscoreNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("overscore",a,["overscore"],sre.MathspeakUtil.nestingBarriers,{},function(a){return a.tagName&&a.tagName===sre.Semantic.Type.OVERSCORE&&a.childNodes[0].childNodes[1].getAttribute("role")===sre.Semantic.Role.OVERACCENT})};sre.MathspeakUtil.nestedOverscore=function(a){a=sre.MathspeakUtil.overscoreNestingDepth(a);return Array(a).join(sre.Messages.MS.OVER)+sre.Messages.MS.OVERSCRIPT}; -sre.MathspeakUtil.determinantIsSimple=function(a){if(a.tagName!==sre.Semantic.Type.MATRIX||a.getAttribute("role")!==sre.Semantic.Role.DETERMINANT)return[];for(var b=sre.XpathUtil.evalXPath("children/row/children/cell/children/*",a),c=0,d;d=b[c];c++)if(d.tagName!==sre.Semantic.Type.NUMBER){if(d.tagName===sre.Semantic.Type.IDENTIFIER&&(d=d.getAttribute("role"),d===sre.Semantic.Role.LATINLETTER||d===sre.Semantic.Role.GREEKLETTER||d===sre.Semantic.Role.OTHERLETTER))continue;return[]}return[a]}; -sre.MathspeakUtil.generateBaselineConstraint=function(){var a=function(a){return a.map(function(a){return"ancestor::"+a})},b="not("+a(["subscript","superscript","tensor"]).join(" or ")+")",c=a(["relseq","multrel"]);a=a(["fraction","punctuation","fenced","sqrt","root"]);for(var d=[],e=0,f;f=a[e];e++)d=d.concat(c.map(function(a){return f+"/"+a}));c="not("+d.join(" | ")+")";return["ancestor::*/following-sibling::*",b,c].join(" and ")}; -sre.MathspeakUtil.removeParens=function(a){if(!a.childNodes.length||!a.childNodes[0].childNodes.length||!a.childNodes[0].childNodes[0].childNodes.length)return"";a=a.childNodes[0].childNodes[0].childNodes[0].textContent;return a.match(/^\(.+\)$/)?a.slice(1,-1):a};sre.Locale={};sre.Locale.nestingToString=function(a){switch(a){case 1:return"";case 2:return sre.Messages.MS.TWICE;default:return a.toString()}};sre.Locale.vulgarNestingDepth=function(a){return sre.MathspeakUtil.vulgarFractionSmall(a)};sre.Locale.combinePostfixIndex=function(a,b){return a===sre.Messages.MS.ROOTINDEX||a===sre.Messages.MS.INDEX?a:a+" "+b};sre.Locale.localFont=function(a){return sre.Messages.FONT[a]||a};sre.Grammar.getInstance().setCorrection("localFont",sre.Locale.localFont); -sre.Locale.localRole=function(a){return sre.Messages.ROLE[a]||a};sre.Grammar.getInstance().setCorrection("localRole",sre.Locale.localRole);sre.Locale.localEnclose=function(a){return sre.Messages.ENCLOSE[a]||a};sre.Grammar.getInstance().setCorrection("localEnclose",sre.Locale.localEnclose);sre.Locale.en={MS:{START:"Start",FRAC_V:"Fraction",FRAC_B:"Frac",FRAC_S:"Frac",END:"End",FRAC_OVER:"Over",TWICE:"Twice",NEST_FRAC:"Nest",ENDFRAC:"EndFrac",SUPER:"Super",SUB:"Sub",SUP:"Sup",SUPERSCRIPT:"Superscript",SUBSCRIPT:"Subscript",BASELINE:"Baseline",BASE:"Base",NESTED:"Nested",NEST_ROOT:"Nest",STARTROOT:"StartRoot",ENDROOT:"EndRoot",ROOTINDEX:"RootIndex",ROOT:"Root",INDEX:"Index",UNDER:"Under",UNDERSCRIPT:"Underscript",OVER:"Over",OVERSCRIPT:"Overscript"},MS_FUNC:{FRAC_NEST_DEPTH:sre.Locale.vulgarNestingDepth, -RADICAL_NEST_DEPTH:sre.Locale.nestingToString,COMBINE_ROOT_INDEX:function(a,b){return a}},MS_ROOT_INDEX:{},FONT:{},ROLE:{addition:"addition",multiplication:"multiplication",subtraction:"subtraction",division:"division",equality:"equality",inequality:"inequality",element:"element",arrow:"arrow",determinant:"determinant",rowvector:"row vector",binomial:"binomial",squarematrix:"square matrix",multiline:"multiple lines",matrix:"matrix",vector:"vector",cases:"case statement",table:"table",unknown:"unknown"}, -ENCLOSE:{longdiv:"long division",actuarial:"actuarial symbol",radical:"square root",box:"box",roundedbox:"rounded box",circle:"circle",left:"left vertical-line",right:"right vertical-line",top:"overbar",bottom:"underbar",updiagonalstrike:"crossout",downdiagonalstrike:"crossout",verticalstrike:"vertical strikeout",horizontalstrike:"crossout",madruwb:"Arabic factorial symbol",updiagonalarrow:"diagonal arrow",phasorangle:"phasor angle",unknown:"long division"},NAVIGATE:{COLLAPSIBLE:"collapsible",EXPANDABLE:"expandable", -LEVEL:"Level"}};sre.Locale.es={MS:{START:"empezar ",FRAC_V:"fracci\u00f3n",FRAC_B:"frac",FRAC_S:"frac",END:"finalizar ",FRAC_OVER:"entre ",TWICE:"",NEST_FRAC:"",ENDFRAC:"",SUPER:"super",SUB:"sub",SUP:"sup",SUPERSCRIPT:"super\u00edndice",SUBSCRIPT:"sub\u00edndice",BASELINE:"l\u00ednea base",BASE:"",NESTED:"",NEST_ROOT:"",STARTROOT:"empezar ra\u00edz",ENDROOT:"finalizar ra\u00edz",ROOTINDEX:"\u00edndice de ra\u00edz",ROOT:"ra\u00edz",INDEX:"",UNDER:"bajo",UNDERSCRIPT:"bajo\u00edndice",OVER:"sobre",OVERSCRIPT:"sobre\u00edndice"}, -MS_FUNC:{FRAC_NEST_DEPTH:function(a){return!1},RADICAL_NEST_DEPTH:function(a){return""},COMBINE_ROOT_INDEX:sre.Locale.combinePostfixIndex},MS_ROOT_INDEX:{2:"cuadrada",3:"c\u00fabica",4:"a la cuarta",5:"a la quinta",6:"a la sexta",7:"a la s\u00e9ptima",8:"a la octava",9:"a la novena",10:"a la d\u00e9cima"},FONT:{bold:"negrita","bold-fraktur":"negrita Fraktur","bold-italic":"negrita cursiva","bold-script":"negrita script",caligraphic:"caligr\u00e1fica","caligraphic-bold":"caligr\u00e1fica negrita", -"double-struck":"negrita de pizarra","double-struck-italic":"negrita de pizarra cursiva",fraktur:"Fraktur",italic:"cursiva",monospace:"monoespacio",normal:"normal",oldstyle:"estilo antiguo","oldstyle-bold":"estilo antiguo negrita",script:"script","sans-serif":"sans-serif","sans-serif-italic":"sans-serif cursiva","sans-serif-bold":"sans-serif negrita","sans-serif-bold-italic":"sans-serif negrita cursiva",unknown:"desconocida"},ROLE:{addition:"adici\u00f3n",multiplication:"multiplicaci\u00f3n",subtraction:"resta", -division:"divisi\u00f3n",equality:"igualdad",inequality:"desigualdad",element:"elemento",arrow:"flecha",determinant:"determinante",rowvector:"fila vector",binomial:"binomial",squarematrix:"matriz cuadrada",multiline:"l\u00edneas m\u00faltiples",matrix:"matriz",vector:"vector",cases:"declaraci\u00f3n de caso",table:"mesa",unknown:"desconocida"},ENCLOSE:{longdiv:"divisi\u00f3n larga",actuarial:"s\u00edmbolo actuarial",radical:"ra\u00edz cuadrada",box:"caja",roundedbox:"caja redondeada",circle:"c\u00edrculo", -left:"barra vertical izquierda",right:"barra vertical derecha",top:"barra",bottom:"subbarra",updiagonalstrike:"tachadura",downdiagonalstrike:"tachadura",verticalstrike:"ponchado vertical",horizontalstrike:"cruce",madruwb:"s\u00edmbolo factorial \u00e1rabe",updiagonalarrow:"flecha diagonal",phasorangle:"\u00e1ngulo de fasores",unknown:"divisi\u00f3n larga"},NAVIGATE:{COLLAPSIBLE:"plegable",EXPANDABLE:"ampliable",LEVEL:"nivel"}};sre.L10n={};sre.L10n.setLocale=function(){var a=sre.L10n.getLocale();if(a)for(var b in a)sre.Messages[b]=a[b]};sre.L10n.getLocale=function(){return sre.Locale[sre.Engine.getInstance().locale]||sre.Locale.en};sre.AuditoryDescription=function(a){this.context=a.context||"";this.text=a.text||"";this.userValue=a.userValue||"";this.annotation=a.annotation||"";this.personality=a.personality||{}};sre.AuditoryDescription.create=function(a,b){a.text=sre.Grammar.getInstance().apply(a.text,b||{});return new sre.AuditoryDescription(a)};sre.AuditoryDescription.prototype.isEmpty=function(){return 0==this.context.length&&0==this.text.length&&0==this.userValue.length&&0==this.annotation.length}; -sre.AuditoryDescription.prototype.clone=function(){if(this.personality){var a={};for(var b in this.personality)a=this.personality[b]}return new sre.AuditoryDescription({context:this.context,text:this.text,userValue:this.userValue,annotation:this.annotation,personality:a})};sre.AuditoryDescription.prototype.toString=function(){return'AuditoryDescription(context="'+this.context+'" text="'+this.text+'" userValue="'+this.userValue+'" annotation="'+this.annotation+'")'}; -sre.AuditoryDescription.prototype.descriptionString=function(){return this.context&&this.text?this.context+" "+this.text:this.context||this.text};sre.AuditoryDescription.prototype.equals=function(a){return this.context==a.context&&this.text==a.text&&this.userValue==a.userValue&&this.annotation==a.annotation};sre.SpeechRule=function(a,b,c,d){this.name=a;this.dynamicCstr=b;this.precondition=c;this.action=d};sre.SpeechRule.prototype.toString=function(){return this.name+" | "+this.dynamicCstr.toString()+" | "+this.precondition.toString()+" ==> "+this.action.toString()};sre.SpeechRule.Type={NODE:"NODE",MULTI:"MULTI",TEXT:"TEXT",PERSONALITY:"PERSONALITY"}; -sre.SpeechRule.Type.fromString=function(a){switch(a){case "[n]":return sre.SpeechRule.Type.NODE;case "[m]":return sre.SpeechRule.Type.MULTI;case "[t]":return sre.SpeechRule.Type.TEXT;case "[p]":return sre.SpeechRule.Type.PERSONALITY;default:throw"Parse error: "+a;}}; -sre.SpeechRule.Type.toString=function(a){switch(a){case sre.SpeechRule.Type.NODE:return"[n]";case sre.SpeechRule.Type.MULTI:return"[m]";case sre.SpeechRule.Type.TEXT:return"[t]";case sre.SpeechRule.Type.PERSONALITY:return"[p]";default:throw"Unknown type error: "+a;}};sre.SpeechRule.Component=function(a){this.type=a.type;this.content=a.content;this.attributes=a.attributes;this.grammar=a.grammar}; -sre.SpeechRule.Component.fromString=function(a){var b={};b.type=sre.SpeechRule.Type.fromString(a.substring(0,3));a=a.slice(3).trim();if(!a)throw new sre.SpeechRule.OutputError("Missing content.");switch(b.type){case sre.SpeechRule.Type.TEXT:if('"'==a[0]){var c=sre.SpeechRule.splitString_(a,"\\(")[0].trim();if('"'!=c.slice(-1))throw new sre.SpeechRule.OutputError("Invalid string syntax.");b.content=c;a=a.slice(c.length).trim();-1==a.indexOf("(")&&(a="");break}case sre.SpeechRule.Type.NODE:case sre.SpeechRule.Type.MULTI:c= -a.indexOf(" ("),-1==c?(b.content=a.trim(),a=""):(b.content=a.substring(0,c).trim(),a=a.slice(c).trim())}a&&(a=sre.SpeechRule.Component.attributesFromString(a),a.grammar&&(b.grammar=a.grammar,delete a.grammar),Object.keys(a).length&&(b.attributes=a));return b=new sre.SpeechRule.Component(b)};sre.SpeechRule.Component.prototype.toString=function(){var a=""+sre.SpeechRule.Type.toString(this.type);a+=this.content?" "+this.content:"";var b=this.attributesToString();return a+(b?" "+b:"")}; -sre.SpeechRule.Component.grammarFromString=function(a){return sre.Grammar.parseInput(a)};sre.SpeechRule.Component.prototype.grammarToString=function(){return this.getGrammar().join(":")};sre.SpeechRule.Component.prototype.getGrammar=function(){var a=[],b;for(b in this.grammar)!0===this.grammar[b]?a.push(b):!1===this.grammar[b]?a.push("!"+b):a.push(b+"="+this.grammar[b]);return a}; -sre.SpeechRule.Component.attributesFromString=function(a){if("("!=a[0]||")"!=a.slice(-1))throw new sre.SpeechRule.OutputError("Invalid attribute expression: "+a);var b={};a=sre.SpeechRule.splitString_(a.slice(1,-1),",");for(var c=0,d=a.length;c "+this.getRule().action:this.constraint};sre.TrieNodeFactory={};sre.TrieNodeFactory.getNode=function(a,b,c){switch(a){case sre.TrieNode.Kind.ROOT:return new sre.RootTrieNode;case sre.TrieNode.Kind.DYNAMIC:return new sre.DynamicTrieNode(b);case sre.TrieNode.Kind.QUERY:return new sre.QueryTrieNode(b,c);case sre.TrieNode.Kind.BOOLEAN:return new sre.BooleanTrieNode(b,c);default:return null}};sre.RootTrieNode=function(){sre.AbstractTrieNode.call(this,"",function(){return!0});this.kind=sre.TrieNode.Kind.ROOT};goog.inherits(sre.RootTrieNode,sre.AbstractTrieNode); -sre.DynamicTrieNode=function(a){sre.AbstractTrieNode.call(this,a,function(b){return b===a});this.kind=sre.TrieNode.Kind.DYNAMIC};goog.inherits(sre.DynamicTrieNode,sre.AbstractTrieNode); -sre.TrieNodeFactory.constraintTest_=function(a){if(a.match(/^self::\*$/))return function(a){return!0};if(a.match(/^self::\w+$/)){var b=a.slice(6).toUpperCase();return function(a){return a.tagName&&sre.DomUtil.tagName(a)===b}}if(a.match(/^self::\w+:\w+$/)){a=a.split(":");var c=sre.XpathUtil.resolveNameSpace(a[2]);if(!c)return null;b=a[3].toUpperCase();return function(a){return a.localName&&a.localName.toUpperCase()===b&&a.namespaceURI===c}}if(a.match(/^@\w+$/)){var d=a.slice(1);return function(a){return a.hasAttribute&& -a.hasAttribute(d)}}if(a.match(/^@\w+="[\w\d ]+"$/)){a=a.split("=");d=a[0].slice(1);var e=a[1].slice(1,-1);return function(a){return a.hasAttribute&&a.hasAttribute(d)&&a.getAttribute(d)===e}}return a.match(/^@\w+!="[\w\d ]+"$/)?(a=a.split("!="),d=a[0].slice(1),e=a[1].slice(1,-1),function(a){return!a.hasAttribute||!a.hasAttribute(d)||a.getAttribute(d)!==e}):a.match(/^contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)$/)?(a=a.split('"'),e=a[1],function(a){return sre.Grammar.getInstance().getParameter(e)}): -a.match(/^not\(\s*contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)\s*\)$/)?(a=a.split('"'),e=a[1],function(a){return!sre.Grammar.getInstance().getParameter(e)}):null};sre.QueryTrieNode=function(a,b){this.store_=b;sre.StaticTrieNode.call(this,a,sre.TrieNodeFactory.constraintTest_(a));this.kind=sre.TrieNode.Kind.QUERY};goog.inherits(sre.QueryTrieNode,sre.StaticTrieNode);sre.QueryTrieNode.prototype.applyTest=function(a){return this.test?this.test(a):this.store_.applyQuery(a,this.constraint)===a}; -sre.BooleanTrieNode=function(a,b){this.store_=b;sre.StaticTrieNode.call(this,a,sre.TrieNodeFactory.constraintTest_(a));this.kind=sre.TrieNode.Kind.BOOLEAN};goog.inherits(sre.BooleanTrieNode,sre.StaticTrieNode);sre.BooleanTrieNode.prototype.applyTest=function(a){return this.test?this.test(a):this.store_.applyConstraint(a,this.constraint)};sre.Trie=function(a){this.store=a;this.root=sre.TrieNodeFactory.getNode(sre.TrieNode.Kind.ROOT,"",this.store)};sre.Trie.prototype.addRule=function(a){for(var b=this.root,c=a.dynamicCstr.getValues(),d=0,e=c.length;d=e&&1a)return String.fromCharCode(a);a-=65536;return String.fromCharCode((a>>10)+55296,(a&1023)+56320)};sre.MathMap=function(){this.store=sre.MathCompoundStore.getInstance();this.retrieveMaps()};goog.addSingletonGetter(sre.MathMap);sre.MathMap.toFetch_=0;sre.Engine.registerTest(function(){return sre.MathMap.getInstance()&&!sre.MathMap.toFetch_});sre.MathMap.prototype.stringify=function(){return JSON.stringify(this)};sre.MathMap.SYMBOLS_PATH_="symbols";sre.MathMap.FUNCTIONS_PATH_="functions";sre.MathMap.UNITS_PATH_="units";sre.MathMap.SYMBOLS_FILES_="greek-capital.js greek-small.js greek-scripts.js greek-symbols.js greek-mathfonts-bold.js greek-mathfonts-italic.js greek-mathfonts-sans-serif-bold.js hebrew_letters.js latin-lower-double-accent.js latin-lower-normal.js latin-lower-phonetic.js latin-lower-single-accent.js latin-rest.js latin-upper-double-accent.js latin-upper-normal.js latin-upper-single-accent.js latin-mathfonts-bold-fraktur.js latin-mathfonts-bold.js latin-mathfonts-bold-script.js latin-mathfonts-double-struck.js latin-mathfonts-fraktur.js latin-mathfonts-italic.js latin-mathfonts-monospace.js latin-mathfonts-sans-serif-bold.js latin-mathfonts-sans-serif-italic.js latin-mathfonts-sans-serif.js latin-mathfonts-script.js math_angles.js math_arrows.js math_characters.js math_delimiters.js math_digits.js math_geometry.js math_harpoons.js math_non_characters.js math_symbols.js math_whitespace.js other_stars.js".split(" "); -sre.MathMap.FUNCTIONS_FILES_=["algebra.js","elementary.js","hyperbolic.js","trigonometry.js"];sre.MathMap.UNITS_FILES_="energy.js length.js memory.js other.js speed.js temperature.js time.js volume.js weight.js".split(" "); -sre.MathMap.retrieveFiles=function(a,b,c){b=sre.BaseUtil.makePath(sre.SystemExternal.jsonPath+b);switch(sre.Engine.getInstance().mode){case sre.Engine.Mode.ASYNC:sre.MathMap.toFetch_+=a.length;for(var d=0,e;e=a[d];d++)sre.MathMap.fromFile_(b+e,function(a,b){sre.MathMap.toFetch_--;a||JSON.parse(b).forEach(function(a){c(a)})});break;case sre.Engine.Mode.HTTP:var f=sre.Engine.getInstance().isIE;sre.MathMap.toFetch_+=a.length;for(d=0;e=a[d];d++)f?sre.MathMap.getJsonIE_(e,c):sre.MathMap.getJsonAjax_(b+ -e,c);break;default:sre.MathMap.parseFiles(a.map(function(a){return b+a})).forEach(function(a){c(a)})}}; -sre.MathMap.prototype.retrieveMaps=function(){for(var a=0;a=d?setTimeout(function(){sre.MathMap.getJsonIE_(a,b,d++)},300):sre.MathMap.toFetch_--};sre.MathMap.fromFile_=function(a,b){return sre.SystemExternal.fs.readFile(a,"utf8",b)}; -sre.MathMap.loadFile=function(a){try{return sre.MathMap.readJSON_(a)}catch(b){console.log("Unable to load file: "+a+", error: "+b)}};sre.MathMap.loadFiles=function(a){return a.map(sre.MathMap.loadFile)};sre.MathMap.parseFiles=function(a){a=sre.MathMap.loadFiles(a);return[].concat.apply([],a.map(function(a){return JSON.parse(a)}))};sre.MathMap.readJSON_=function(a){return sre.SystemExternal.fs.readFileSync(a)}; -sre.MathMap.getJsonAjax_=function(a,b){var c=new XMLHttpRequest;c.onreadystatechange=function(){4===c.readyState&&(sre.MathMap.toFetch_--,200===c.status&&JSON.parse(c.responseText).forEach(function(a){b(a)}))};c.open("GET",a,!0);c.send()};sre.AbstractionRules=function(){sre.MathStore.call(this)};goog.inherits(sre.AbstractionRules,sre.MathStore);goog.addSingletonGetter(sre.AbstractionRules);sre.AbstractionRules.mathStore=sre.AbstractionRules.getInstance();sre.AbstractionRules.defineRule_=goog.bind(sre.AbstractionRules.mathStore.defineRule,sre.AbstractionRules.mathStore);sre.AbstractionRules.defineRuleAlias_=goog.bind(sre.AbstractionRules.mathStore.defineRulesAlias,sre.AbstractionRules.mathStore); -sre.AbstractionRules.defineSpecialisedRule_=goog.bind(sre.AbstractionRules.mathStore.defineSpecialisedRule,sre.AbstractionRules.mathStore);sre.AbstractionRules.defineUniqueRuleAlias_=goog.bind(sre.AbstractionRules.mathStore.defineUniqueRuleAlias,sre.AbstractionRules.mathStore); -sre.AbstractionRules.initAbstractionRules_=function(){(0,sre.AbstractionRules.defineRule_)("abstr-collapsed","mathspeak.default",'[t] "collapsed"; [n] . (grammar:collapsed)',"self::*","@alternative",'not(@alternative="summary")','not(contains(@grammar, "collapsed"))');(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.default",'[t] "long identifier"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.default", -'[t] "identifier"',"self::identifier",'@alternative="summary"',"@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.brief",'[t] "identifier"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-identifier","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.default",'[t] "long number"',"self::number","@alternative"); -(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.default",'[t] "number"',"self::number","@alternative",'@alternative="summary"');(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.brief",'[t] "number"',"self::number","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-mixed-number","mathspeak.default",'[t] "long mixed number"',"self::number","@alternative",'@role="mixed"'); -(0,sre.AbstractionRules.defineRule_)("abstr-mixed-number","mathspeak.brief",'[t] "mixed number"',"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-mixed-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-text","mathspeak.default",'[t] "text"',"self::text","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-function","mathspeak.default",'[t] "functional expression"',"self::function","@alternative","self::*"); -(0,sre.AbstractionRules.defineRule_)("abstr-function","mathspeak.brief",'[t] "function"',"self::function","@alternative","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-function","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-lim","mathspeak.default",'[t] "limit function"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionRules.defineRule_)("abstr-lim","mathspeak.brief",'[t] "lim"',"self::function","@alternative",'@role="limit function"'); -(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-lim","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-fraction","mathspeak.default",'[t] "fraction"',"self::fraction","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-fraction","mathspeak.brief",'[t] "frac"',"self::fraction","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-fraction","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-continued-fraction", -"mathspeak.default",'[t] "continued fraction"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-continued-fraction","mathspeak.brief",'[t] "continued frac"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-continued-fraction","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-sqrt", -"mathspeak.default",'[t] "square root"',"self::sqrt","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-sqrt-nested","mathspeak.default",'[t] "nested square root"',"self::sqrt","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt-nested", -"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-root","mathspeak.default",'[t] "root of index"; [n] children/*[1]; [t] "endindex"',"self::root","@alternative","following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionRules.defineRule_)("abstr-root","mathspeak.brief",'[t] "root"',"self::root","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-root", -"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "nested root of index"; [n] children/*[1]',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "nested root of index"; [n] children/*[1]; [t] "endindex"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root", -"following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.brief",'[t] "nested root"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-root-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-superscript","mathspeak.default",'[t] "power"',"self::superscript","@alternative","self::*", -"self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-superscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-subscript","mathspeak.default",'[t] "subscript"',"self::subscript","@alternative","self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subscript","mathspeak.default","mathspeak.brief"); -(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-subsup","mathspeak.default",'[t] "power with subscript"',"self::superscript","@alternative",'name(children/*[1])="subscript"',"self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subsup","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subsup","mathspeak.brief","mathspeak.sbrief"); -(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "with"; [t] count(./children/*); [t] "elements"',"self::infixop","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "with variable number of elements"',"self::infixop","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.brief", -"[t] @role (grammar:localRole)","self::infixop","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-infixop","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-addition","mathspeak.default",'[t] "sum with"; [t] count(./children/*); [t] "summands"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionRules.defineRule_)("abstr-addition","mathspeak.brief",'[t] "sum"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-addition", -"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-addition","mathspeak.default",'[t] "sum with variable number of summands"',"self::infixop","@alternative",'@role="addition"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-multiplication","mathspeak.default",'[t] "product with"; [t] count(./children/*); [t] "factors"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionRules.defineRule_)("abstr-multiplication", -"mathspeak.brief",'[t] "product"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-multiplication","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRuleAlias_)("abstr-multiplication","self::infixop","@alternative",'@role="implicit"');(0,sre.AbstractionRules.defineRule_)("abstr-var-multiplication","mathspeak.default",'[t] "product with variable number of factors"',"self::infixop","@alternative",'@role="multiplication"', -"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRuleAlias_)("abstr-var-multiplication","self::infixop","@alternative",'@role="implicit"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-vector","mathspeak.default",'[t] count(./children/*) ; [t] "dimensional vector"',"self::vector","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-vector","mathspeak.brief",'[t] "vector"',"self::vector", -"@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-vector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-vector","mathspeak.default",'[t] "n dimensional vector"',"self::vector","@alternative",'./children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-binomial","mathspeak.default",'[t] "binomial"',"self::vector","@alternative",'@role="binomial"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-binomial", -"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-determinant","mathspeak.default",'[t] count(./children/*); [t] "dimensional determinant"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionRules.defineRule_)("abstr-determinant","mathspeak.brief",'[t] "determinant"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-determinant", -"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-determinant","mathspeak.default",'[t] "n dimensional determinant"',"self::matrix","@alternative",'@role="determinant"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-squarematrix","mathspeak.default",'[t] count(./children/*); [t] "dimensional square matrix"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionRules.defineRule_)("abstr-squarematrix", -"mathspeak.brief",'[t] "square matrix"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-squarematrix","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-rowvector","mathspeak.default",'[t] count(./children/row/children/*); [t] "dimensional row vector"',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionRules.defineRule_)("abstr-rowvector","mathspeak.brief",'[t] "row vector"',"self::matrix", -"@alternative",'@role="rowvector"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-rowvector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "n dimensional row vector"',"self::matrix","@alternative",'@role="rowvector"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-matrix","mathspeak.default",'[t] count(children/*); [t] "by";[t] count(children/*[1]/children/*); [t] "matrix"', -"self::matrix","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-matrix","mathspeak.brief",'[t] "matrix"',"self::matrix","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-matrix","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "n by m dimensional matrix"',"self::matrix","@alternative",'./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-cases", -"mathspeak.default",'[t] "case statement";[t] "with"; [t] count(children/*); [t] "cases"',"self::cases","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-cases","mathspeak.brief",'[t] "case statement"',"self::cases","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-cases","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-cases","mathspeak.default",'[t] "case statement with variable number of cases"',"self::cases","@alternative",'./children/row/children/cell/children/punctuation[@role="ellipsis"]or ./children/line/children/punctuation[@role="ellipsis"]'); -(0,sre.AbstractionRules.defineRule_)("abstr-punctuated","mathspeak.default",'[n] content/*[1]; [t] "separated list";[t] "of length"; [t] count(children/*) - count(content/*)',"self::punctuated","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-punctuated","mathspeak.brief",'[n] content/*[1]; [t] "separated list"',"self::punctuated","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-punctuated","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-punctuated", -"mathspeak.default",'[n] content/*[1]; [t] "separated list";[t] "of variable length"',"self::punctuated","@alternative",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-bigop","mathspeak.default","[n] content/*[1]","self::bigop","@alternative","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-integral","mathspeak.default",'[t] "integral"',"self::*","@alternative",'@role="integral"');(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.default", -"[t] @role (grammar:localRole);","self::relseq","@alternative","count(./children/*)=2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.default",'[t] @role (grammar:localRole); [t] "sequence"; [t] "with"; [t] count(./children/*); [t] "elements"',"self::relseq","@alternative","count(./children/*)>2"); -(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.brief",'[t] @role (grammar:localRole); [t] "sequence"',"self::relseq","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-relation","mathspeak.default",'[t] @role (grammar:localRole); [t] "sequence"; [t] "with variable number of elements"',"self::relseq","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); -(0,sre.AbstractionRules.defineUniqueRuleAlias_)("abstr-relation","mathspeak.default","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionRules.defineUniqueRuleAlias_)("abstr-relation","mathspeak.brief","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRuleAlias_)("abstr-var-relation","self::multirel", -"@alternative",'@role!="unknown"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-multirel","mathspeak.default",'[t] "relation sequence"; [t] "with"; [t] count(./children/*); [t] "elements"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineRule_)("abstr-multirel","mathspeak.brief",'[t] "relation sequence"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-multirel", -"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-multirel","mathspeak.default",'[t] "relation sequence with variable number of elements"',"self::multirel","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-table","mathspeak.default",'[t] "table with"; [t] count(children/*); [t] "rows and";[t] count(children/*[1]/children/*); [t] "columns"',"self::table","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-table", -"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-table","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-line","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);',"self::line","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-row","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);[t] count(preceding-sibling::..); [t] "with";[t] count(children/*); [t] "columns"',"self::row","@alternative", -"*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-cell","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);',"self::cell","@alternative")};sre.AbstractionRules.getInstance().initializer=[sre.AbstractionRules.initAbstractionRules_];sre.AbstractionSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.AbstractionSpanish,sre.MathStore);goog.addSingletonGetter(sre.AbstractionSpanish);sre.AbstractionSpanish.mathStore=sre.AbstractionSpanish.getInstance();sre.AbstractionSpanish.defineRule_=goog.bind(sre.AbstractionSpanish.mathStore.defineRule,sre.AbstractionSpanish.mathStore);sre.AbstractionSpanish.defineRuleAlias_=goog.bind(sre.AbstractionSpanish.mathStore.defineRulesAlias,sre.AbstractionSpanish.mathStore); -sre.AbstractionSpanish.defineSpecialisedRule_=goog.bind(sre.AbstractionSpanish.mathStore.defineSpecialisedRule,sre.AbstractionSpanish.mathStore);sre.AbstractionSpanish.defineUniqueRuleAlias_=goog.bind(sre.AbstractionSpanish.mathStore.defineUniqueRuleAlias,sre.AbstractionSpanish.mathStore); -sre.AbstractionSpanish.initAbstractionSpanish_=function(){(0,sre.AbstractionSpanish.defineRule_)("abstr-collapsed","mathspeak.default",'[n] . (grammar:collapsed); [t] "plegado"',"self::*","@alternative",'not(@alternative="summary")','not(contains(@grammar, "collapsed"))');(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier","mathspeak.default",'[t] "identificador largo"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier", -"mathspeak.default",'[t] "identificador"',"self::identifier",'@alternative="summary"',"@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier","mathspeak.brief",'[t] "identificador"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-identifier","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.default",'[t] "n\u00famero largo"', -"self::number","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.default",'[t] "n\u00famero"',"self::number","@alternative",'@alternative="summary"');(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.brief",'[t] "n\u00famero"',"self::number","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-mixed-number","mathspeak.default",'[t] "n\u00famero largo mixto"', -"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionSpanish.defineRule_)("abstr-mixed-number","mathspeak.brief",'[t] "numero mixto"',"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-mixed-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-text","mathspeak.default",'[t] "texto"',"self::text","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-function","mathspeak.default",'[t] "expresi\u00f3n funcional"', -"self::function","@alternative","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-function","mathspeak.brief",'[t] "funci\u00f3n"',"self::function","@alternative","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-function","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-lim","mathspeak.default",'[t] "funci\u00f3n de l\u00edmite"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionSpanish.defineRule_)("abstr-lim", -"mathspeak.brief",'[t] "l\u00edmite"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-lim","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-fraction","mathspeak.default",'[t] "fracci\u00f3n"',"self::fraction","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-fraction","mathspeak.brief",'[t] "frac"',"self::fraction","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-fraction", -"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-continued-fraction","mathspeak.default",'[t] "fracci\u00f3n continua"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-continued-fraction","mathspeak.brief",'[t] "frac continua"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-continued-fraction", -"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-sqrt","mathspeak.default",'[t] "ra\u00edz cuadrada"',"self::sqrt","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-sqrt-nested","mathspeak.default",'[t] "ra\u00edz cuadrada anidada"',"self::sqrt","@alternative", -"children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-root","mathspeak.default",'[t] "ra\u00edz del \u00edndice"; [n] children/*[1]; [t] "finalizar de \u00edndice"',"self::root","@alternative","following-sibling::* or ancestor::*/following-sibling::*"); -(0,sre.AbstractionSpanish.defineRule_)("abstr-root","mathspeak.brief",'[t] "ra\u00edz"',"self::root","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-root","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "ra\u00edz anidada del \u00edndice"; [n] children/*[1]',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested", -"mathspeak.default",'[t] "ra\u00edz anidada del \u00edndice"; [n] children/*[1]; [t] "finalizar de \u00edndice"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root","following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested","mathspeak.brief",'[t] "ra\u00edz anidada"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-root-nested", -"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-superscript","mathspeak.default",'[t] "potencia"',"self::superscript","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-superscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-subscript","mathspeak.default", -'[t] "sub\u00edndice"',"self::subscript","@alternative","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-subsup","mathspeak.default",'[t] "potencia con sub\u00edndice"',"self::superscript","@alternative",'name(children/*[1])="subscript"',"self::*","self::*","self::*"); -(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subsup","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subsup","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "con"; [t] count(./children/*); [t] "elementos"',"self::infixop","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "con una cantidad variable de elementos"', -"self::infixop","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.brief","[t] @role (grammar:localRole)","self::infixop","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-infixop","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-addition","mathspeak.default",'[t] "suma con"; [t] count(./children/*); [t] "sumandos"',"self::infixop","@alternative", -'@role="addition"');(0,sre.AbstractionSpanish.defineRule_)("abstr-addition","mathspeak.brief",'[t] "suma"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-addition","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-addition","mathspeak.default",'[t] "suma con n\u00famero variable de sumandos"',"self::infixop","@alternative",'@role="addition"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); -(0,sre.AbstractionSpanish.defineRule_)("abstr-multiplication","mathspeak.default",'[t] "producto con"; [t] count(./children/*); [t] "factores"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionSpanish.defineRule_)("abstr-multiplication","mathspeak.brief",'[t] "producto"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-multiplication","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-multiplication", -"self::infixop","@alternative",'@role="implicit"');(0,sre.AbstractionSpanish.defineRule_)("abstr-var-multiplication","mathspeak.default",'[t] "producto con una cantidad variable de factores"',"self::infixop","@alternative",'@role="multiplication"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-var-multiplication","self::infixop","@alternative",'@role="implicit"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); -(0,sre.AbstractionSpanish.defineRule_)("abstr-vector","mathspeak.default",'[t] "vector de dimensi\u00f3n"; [t] count(./children/*)',"self::vector","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-vector","mathspeak.brief",'[t] "vector"',"self::vector","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-vector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-vector","mathspeak.default",'[t] "vector de dimensi\u00f3n n"',"self::vector", -"@alternative",'./children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-binomial","mathspeak.default",'[t] "binomio"',"self::vector","@alternative",'@role="binomial"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-determinant","mathspeak.default", -'[t] "determinante de dimensi\u00f3n"; [t] count(./children/*)',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-determinant","mathspeak.brief",'[t] "determinante"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-determinant","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-determinant","mathspeak.default",'[t] "determinante de dimensi\u00f3n n"', -"self::matrix","@alternative",'@role="determinant"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-squarematrix","mathspeak.default",'[t] "matriz cuadrada de dimensi\u00f3n"; [t] count(./children/*)',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionSpanish.defineRule_)("abstr-squarematrix","mathspeak.brief",'[t] "matriz cuadrada"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-squarematrix", -"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-rowvector","mathspeak.default",'[t] "vector fila de dimensi\u00f3n"; [t] count(./children/row/children/*) ',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionSpanish.defineRule_)("abstr-rowvector","mathspeak.brief",'[t] "vector fila"',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-rowvector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-matrix", -"mathspeak.default",'[t] "vector fila de dimensi\u00f3n n"',"self::matrix","@alternative",'@role="rowvector"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-matrix","mathspeak.default",'[t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [t] "matriz"',"self::matrix","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-matrix","mathspeak.brief",'[t] "matriz"',"self::matrix","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-matrix", -"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "matriz de dimensi\u00f3n n por m"',"self::matrix","@alternative",'./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-cases","mathspeak.default",'[t] "declaraci\u00f3n de caso";[t] "con"; [t] count(children/*); [t] "casos"',"self::cases","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-cases","mathspeak.brief", -'[t] "declaraci\u00f3n de caso"',"self::cases","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-cases","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-cases","mathspeak.default",'[t] "declaraci\u00f3n de caso con n\u00famero variable de casos"',"self::cases","@alternative",'./children/row/children/cell/children/punctuation[@role="ellipsis"]or ./children/line/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-punctuated", -"mathspeak.default",'[t] "lista separada por"; [n] content/*[1]; [t] "de longitud"; [t] count(children/*) - count(content/*)',"self::punctuated","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-punctuated","mathspeak.brief",'[t] "lista separada por"; [n] content/*[1]',"self::punctuated","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-punctuated","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-punctuated","mathspeak.default", -'[t] "lista separada por"; [n] content/*[1]','[t] "de longitud variable"',"self::punctuated","@alternative",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-bigop","mathspeak.default","[n] content/*[1]","self::bigop","@alternative","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-integral","mathspeak.default",'[t] "integral"',"self::*","@alternative",'@role="integral"');(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.default","[t] @role (grammar:localRole);", -"self::relseq","@alternative","count(./children/*)=2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.default",'[t] "secuencia de"; [t] @role (grammar:localRole); [t] "con"; [t] count(./children/*); [t] "elementos"',"self::relseq","@alternative","count(./children/*)>2"); -(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.brief",'[t] "secuencia de"; [t] @role (grammar:localRole)',"self::relseq","@alternative","count(./children/*)>2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-relation","mathspeak.default",'[t] "secuencia de"; [t] @role (grammar:localRole); [t] "con una cantidad variable de elementos"',"self::relseq","@alternative","count(./children/*)>2", -'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineUniqueRuleAlias_)("abstr-relation","mathspeak.default","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionSpanish.defineUniqueRuleAlias_)("abstr-relation","mathspeak.brief","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-var-relation", -"self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-multirel","mathspeak.default",'[t] "secuencia de relaci\u00f3n"; [t] "con"; [t] count(./children/*); [t] "elementos"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionSpanish.defineRule_)("abstr-multirel","mathspeak.brief",'[t] "secuencia de relaci\u00f3n"',"self::multirel","@alternative","count(./children/*)>2"); -(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-multirel","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-multirel","mathspeak.default",'[t] "secuencia de relaci\u00f3n con n\u00famero variable de elementos"',"self::multirel","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-table","mathspeak.default",'[t] "mesa con"; [t] count(children/*); [t] "filas y";[t] count(children/*[1]/children/*); [t] "columnas"', -"self::table","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-table","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-table","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-line","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);',"self::line","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-row","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);[t] count(preceding-sibling::..); [t] "con";[t] count(children/*); [t] "columnas"', -"self::row","@alternative","*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-cell","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);',"self::cell","@alternative")};sre.AbstractionSpanish.getInstance().initializer=[sre.AbstractionSpanish.initAbstractionSpanish_];sre.ClearspeakRules=function(){sre.MathStore.call(this)};goog.inherits(sre.ClearspeakRules,sre.MathStore);goog.addSingletonGetter(sre.ClearspeakRules);sre.ClearspeakRules.mathStore=sre.ClearspeakRules.getInstance();sre.ClearspeakRules.defineRule_=goog.bind(sre.ClearspeakRules.mathStore.defineRule,sre.ClearspeakRules.mathStore); -sre.ClearspeakRules.initClearspeakRules_=function(){(0,sre.ClearspeakRules.defineRule_)("fraction","mathspeak.clearspeak",'[t] "the fraction with numerator"; [n] children/*[1]; [p] (pause:300); [t] "and denominator"; [n] children/*[2]; [p] (pause:500)',"self::fraction");(0,sre.ClearspeakRules.defineRule_)("sqrt","mathspeak.clearspeak",'[t] "the square root of"; [n] children/*[1]; [p] (pause:500)',"self::sqrt")};sre.ClearspeakRules.getInstance().initializer=[sre.ClearspeakRules.initClearspeakRules_];sre.MathmlStoreUtil={};sre.MathmlStoreUtil.matchMathjaxToMathml=function(a){return sre.Engine.getInstance().alternativeHost.querySelector("#"+a.id)};sre.MathmlStoreUtil.retrieveMathjaxExtender=function(a){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))?[a]:[]};sre.MathmlStoreUtil.retrieveMathjaxLeaf=function(a){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))?[a]:[]}; -sre.MathmlStoreUtil.checkMathjaxTag=function(a,b){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))&&a.tagName.toUpperCase()==b?[a]:[]};sre.MathmlStoreUtil.checkMathjaxMunder=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MUNDER")};sre.MathmlStoreUtil.checkMathjaxMover=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MOVER")};sre.MathmlStoreUtil.checkMathjaxMsub=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MSUB")}; -sre.MathmlStoreUtil.checkMathjaxMsup=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MSUP")};sre.MathmlStoreUtil.mfencedSeparators=function(a,b){var c=sre.MathUtil.nextSeparatorFunction(b);return function(){return c?[sre.AuditoryDescription.create({text:c()},{translate:!0})]:[]}}; -sre.MathmlStoreUtil.contentIterator=function(a,b){var c=02",'./children/punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("multi-equality","emacspeak.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2");(0,sre.EmacspeakRules.defineRule_)("multi-equality","emacspeak.short",'[t] "equation sequence"; [m] children/* (sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2"); -(0,sre.EmacspeakRules.defineRule_)("equality","emacspeak.default",'[t] "equation"; [t] "left hand side"; [n] children/*[1];[p] (pause:200); [n] content/*[1] (pause:200);[t] "right hand side"; [n] children/*[2]','self::relseq[@role="equality"]',"count(./children/*)=2");(0,sre.EmacspeakRules.defineRule_)("simple-equality","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/identifier or ./children/number"); -(0,sre.EmacspeakRules.defineRule_)("simple-equality2","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/function or ./children/appl");(0,sre.EmacspeakRules.defineRule_)("relseq","emacspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.EmacspeakRules.defineRule_)("implicit","emacspeak.default","[m] children/*","self::infixop",'@role="implicit"', -'children/*[1][@role="latinletter"] or children/*[1][@role="greekletter"] or children/*[1][@role="otherletter"] or name(children/*[1])="number"','children/*[2][@role="latinletter"] or children/*[2][@role="greekletter"] or children/*[2][@role="otherletter"] or name(children/*[2])="number"');(0,sre.EmacspeakRules.defineRule_)("binary-operation","emacspeak.default","[p] (pause:100); [m] children/* (sepFunc:CTXFcontentIterator); [p] (pause:100);","self::infixop");(0,sre.EmacspeakRules.defineRule_)("variable-addition", -"emacspeak.default",'[t] "sum with variable number of summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(children/*)>2",'children/punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("prefix","emacspeak.default",'[t] "prefix"; [n] text(); [t] "of" (pause 150);[n] children/*[1]',"self::prefixop");(0,sre.EmacspeakRules.defineRule_)("negative","emacspeak.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'self::prefixop[@role="negative"]'); -(0,sre.EmacspeakRules.defineRule_)("postfix","emacspeak.default",'[n] children/*[1]; [t] "postfix"; [n] text() (pause 300)',"self::postfixop");(0,sre.EmacspeakRules.defineRule_)("identifier","emacspeak.default","[n] text()","self::identifier");(0,sre.EmacspeakRules.defineRule_)("number","emacspeak.default","[n] text()","self::number");(0,sre.EmacspeakRules.defineRule_)("font","mathspeak.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))', -'@font!="normal"');(0,sre.EmacspeakRules.defineRule_)("font-identifier-short","emacspeak.default","[t] @font; [n] CQFhideFont; [t] CSFshowFont","self::identifier","string-length(text())=1","@font",'@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")', -'@role!="unit"');(0,sre.EmacspeakRules.defineRule_)("font-identifier","mathspeak.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.EmacspeakRules.defineRule_)("omit-font","mathspeak.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.EmacspeakRules.defineRule_)("simple-fraction", -"emacspeak.default",'[p] (pause:100); [n] children/*[1] (rate:0.35); [t] "over"; [n] children/*[2] (rate:-0.35); [p] (pause:100)',"self::fraction",'name(children/*[1])="number" or name(children/*[1])="identifier"','name(children/*[2])="number" or name(children/*[2])="identifier"');(0,sre.EmacspeakRules.defineRule_)("vulgar-fraction","emacspeak.default","[t] CSFvulgarFraction","self::fraction",'@role="vulgar"',"CQFvulgarFractionSmall");(0,sre.EmacspeakRules.defineRule_)("fraction","emacspeak.default", -'[p] (pause:250); [n] children/*[1] (rate:0.35); [p] (pause:250); [t] "divided by"; [p] (pause:250); [n] children/*[2] (rate:-0.35); [p] (pause:250)',"self::fraction");(0,sre.EmacspeakRules.defineRule_)("superscript","emacspeak.default",'[n] children/*[1]; [t] "super"; [n] children/*[2] (pitch:0.35);[p] (pause:300)',"self::superscript");(0,sre.EmacspeakRules.defineRule_)("subscript","emacspeak.default",'[n] children/*[1]; [t] "sub"; [n] children/*[2] (pitch:-0.35);[p] (pause:300)',"self::subscript"); -(0,sre.EmacspeakRules.defineRule_)("ellipsis","emacspeak.default",'[p] (pause:200); [t] "ellipsis"; [p] (pause:300)',"self::punctuation",'self::punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("fence-single","emacspeak.default","[n] text()","self::punctuation",'self::punctuation[@role="openfence"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="closefence"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation", -'self::punctuation[@role="vbar"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="application"]');(0,sre.EmacspeakRules.defineRule_)("omit-empty","emacspeak.default","[p] (pause:100)","self::empty");(0,sre.EmacspeakRules.defineRule_)("fences-open-close","emacspeak.default","[p] (pause:200); [n] children/*[1] (rate:0.35); [p] (pause:200)","self::fenced",'@role="leftright"');(0,sre.EmacspeakRules.defineRule_)("fences-open-close-in-appl","emacspeak.default", -"[p] (pause:200); [n] children/*[1]; [p] (pause:200);",'self::fenced[@role="leftright"]',"./parent::children/parent::appl");(0,sre.EmacspeakRules.defineRule_)("fences-neutral","emacspeak.default",'[p] (pause:100); [t] "absolute value of"; [n] children/*[1];[p] (pause:350);',"self::fenced",'self::fenced[@role="neutral"]');(0,sre.EmacspeakRules.defineRule_)("omit-fences","emacspeak.default","[p] (pause:500); [n] children/*[1]; [p] (pause:200);","self::fenced");(0,sre.EmacspeakRules.defineRule_)("matrix", -"emacspeak.default",'[t] "matrix"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::matrix");(0,sre.EmacspeakRules.defineRule_)("matrix-row","emacspeak.default",'[m] children/* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)','self::row[@role="matrix"]');(0,sre.EmacspeakRules.defineRule_)("matrix-cell","emacspeak.default","[n] children/*[1]",'self::cell[@role="matrix"]');(0,sre.EmacspeakRules.defineRule_)("vector","emacspeak.default",'[t] "vector"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"element",pause:100)', -"self::vector");(0,sre.EmacspeakRules.defineRule_)("cases","emacspeak.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100)',"self::cases");(0,sre.EmacspeakRules.defineRule_)("cases-row","emacspeak.default","[m] children/*",'self::row[@role="cases"]');(0,sre.EmacspeakRules.defineRule_)("cases-cell","emacspeak.default","[n] children/*[1]",'self::cell[@role="cases"]');(0,sre.EmacspeakRules.defineRule_)("row","emacspeak.default",'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)', -"self::row");(0,sre.EmacspeakRules.defineRule_)("cases-end","emacspeak.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100);[t] "end cases"',"self::cases","following-sibling::*");(0,sre.EmacspeakRules.defineRule_)("multiline","emacspeak.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"line",pause:100)',"self::multiline");(0,sre.EmacspeakRules.defineRule_)("line","emacspeak.default","[m] children/*","self::line");(0,sre.EmacspeakRules.defineRule_)("table", -"emacspeak.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table");(0,sre.EmacspeakRules.defineRule_)("table-row","emacspeak.default","[m] children/* (pause:100)",'self::row[@role="table"]');(0,sre.EmacspeakRules.defineRuleAlias_)("cases-cell",'self::cell[@role="table"]');(0,sre.EmacspeakRules.defineRule_)("end-punct","emacspeak.default","[m] children/*; [p] (pause:300)","self::punctuated",'@role="endpunct"');(0,sre.EmacspeakRules.defineRule_)("start-punct", -"emacspeak.default","[n] content/*[1]; [p] (pause:200); [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.EmacspeakRules.defineRule_)("integral-punct","emacspeak.default","[n] children/*[1] (rate:0.2); [n] children/*[3] (rate:0.2)","self::punctuated",'@role="integral"');(0,sre.EmacspeakRules.defineRule_)("punctuated","emacspeak.default","[m] children/* (pause:100)","self::punctuated");(0,sre.EmacspeakRules.defineRule_)("function","emacspeak.default","[n] text()","self::function"); -(0,sre.EmacspeakRules.defineRule_)("appl","emacspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::appl");(0,sre.EmacspeakRules.defineRule_)("sum-only","emacspeak.default",'[n] children/*[1]; [t] "from"; [n] children/*[2]; [t] "to";[n] children/*[3]',"self::limboth",'@role="sum" or @role="integral"');(0,sre.EmacspeakRules.defineRule_)("limboth","emacspeak.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[t] "under"; [n] children/*[3]; [p] (pause 250);', -"self::limboth");(0,sre.EmacspeakRules.defineRule_)("limlower","emacspeak.default",'[n] children/*[1]; [t] "over"; [n] children/*[2];',"self::limlower");(0,sre.EmacspeakRules.defineRule_)("limupper","emacspeak.default",'[n] children/*[1]; [t] "under"; [n] children/*[2];',"self::limupper");(0,sre.EmacspeakRules.defineRule_)("largeop","emacspeak.default","[n] text()","self::largeop");(0,sre.EmacspeakRules.defineRule_)("bigop","emacspeak.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[p] (pause 250);', -"self::bigop");(0,sre.EmacspeakRules.defineRule_)("integral","emacspeak.default","[n] children/*[1]; [p] (pause 100); [n] children/*[2];[p] (pause 200); [n] children/*[3] (rate:0.35);","self::integral");(0,sre.EmacspeakRules.defineRule_)("sqrt","emacspeak.default",'[t] "Square root of"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::sqrt");(0,sre.EmacspeakRules.defineRule_)("square","emacspeak.default",'[n] children/*[1]; [t] "squared" (pitch:0.35); [p] (pause:200)',"self::superscript","children/*[2][text()=2]", -'name(./children/*[1])!="text"');(0,sre.EmacspeakRules.defineRule_)("cube","emacspeak.default",'[n] children/*[1]; [t] "cubed" (pitch:0.35); [p] (pause:200)',"self::superscript","children/*[2][text()=3]",'name(./children/*[1])!="text"');(0,sre.EmacspeakRules.defineRule_)("root","emacspeak.default",'[t] "root of order"; [n] children/*[1];[t] "over"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::root");(0,sre.EmacspeakRules.defineRule_)("text-no-mult","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] children/*[2]", -"self::infixop","children/text");(0,sre.EmacspeakRules.defineRule_)("text","emacspeak.default","[n] text(); [p] (pause:200)","self::text");(0,sre.EmacspeakRules.defineRule_)("unit","emacspeak.default","[t] text() (annotation:unit, preprocess)","self::identifier",'@role="unit"');(0,sre.EmacspeakRules.defineRule_)("unit-square","emacspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.EmacspeakRules.defineRule_)("unit-cubic", -"emacspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.EmacspeakRules.defineRule_)("reciprocal","emacspeak.default",'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]'); -(0,sre.EmacspeakRules.defineRule_)("reciprocal","emacspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.EmacspeakRules.defineRule_)("unit-combine","emacspeak.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.EmacspeakRules.defineRule_)("unit-divide","emacspeak.default", -'[n] children/*[1] (pitch:0.3); [t] "per"; [n] children/*[2] (pitch:-0.3)',"self::fraction",'@role="unit"')};sre.EmacspeakRules.getInstance().initializer=[sre.EmacspeakRules.initCustomFunctions_,sre.EmacspeakRules.initSemanticRules_];sre.MathmlStore=function(){sre.MathStore.call(this)};goog.inherits(sre.MathmlStore,sre.MathStore);goog.addSingletonGetter(sre.MathmlStore);sre.MathmlStore.prototype.defineMathmlRule=function(a,b,c){this.defineRule(a,b,c,"self::mathml:"+a)};sre.MathmlStore.prototype.defineDefaultMathmlRule=function(a,b){this.defineRule(a,"default.default",b,"self::mathml:"+a)};sre.MathmlStoreRules=function(){sre.MathmlStore.call(this)};goog.inherits(sre.MathmlStoreRules,sre.MathmlStore);goog.addSingletonGetter(sre.MathmlStoreRules);sre.MathmlStoreRules.mathStore=sre.MathmlStoreRules.getInstance();sre.MathmlStoreRules.defineDefaultMathmlRule_=goog.bind(sre.MathmlStoreRules.mathStore.defineDefaultMathmlRule,sre.MathmlStoreRules.mathStore);sre.MathmlStoreRules.defineRule_=goog.bind(sre.MathmlStoreRules.mathStore.defineRule,sre.MathmlStoreRules.mathStore); -sre.MathmlStoreRules.defineRuleAlias_=goog.bind(sre.MathmlStoreRules.mathStore.defineRuleAlias,sre.MathmlStoreRules.mathStore);sre.MathmlStoreRules.addContextFunction_=goog.bind(sre.MathmlStoreRules.mathStore.contextFunctions.add,sre.MathmlStoreRules.mathStore.contextFunctions);sre.MathmlStoreRules.addCustomQuery_=goog.bind(sre.MathmlStoreRules.mathStore.customQueries.add,sre.MathmlStoreRules.mathStore.customQueries); -sre.MathmlStoreRules.initCustomFunctions_=function(){(0,sre.MathmlStoreRules.addContextFunction_)("CTXFnodeCounter",sre.StoreUtil.nodeCounter);(0,sre.MathmlStoreRules.addContextFunction_)("CTXFmfSeparators",sre.MathmlStoreUtil.mfencedSeparators);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFextender",sre.MathmlStoreUtil.retrieveMathjaxExtender);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmunder",sre.MathmlStoreUtil.checkMathjaxMunder);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmover", -sre.MathmlStoreUtil.checkMathjaxMover);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmsub",sre.MathmlStoreUtil.checkMathjaxMsub);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmsup",sre.MathmlStoreUtil.checkMathjaxMsup);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFlookupleaf",sre.MathmlStoreUtil.retrieveMathjaxLeaf)}; -sre.MathmlStoreRules.initDefaultRules_=function(){(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("math","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("semantics","[n] ./*[1]");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mspace","[p] (pause:250)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mstyle","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mpadded","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("merror","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mphantom", -"[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mtext","[t] text(); [p] (pause:200)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mi","[n] text()");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mo","[n] text() (rate:-0.1)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mn","[n] text()");(0,sre.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,sre.MathmlStoreRules.defineRule_)("mi-variant","default.default","[t] @mathvariant; [n] text()","self::mathml:mi","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineRuleAlias_)("mi-variant","self::mathml:mn","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineRule_)("mo-variant","default.default","[t] @mathvariant; [n] text() (rate:-0.1)","self::mathml:mo","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("ms", -'[t] "string" (pitch:0.5, rate:0.5); [t] text()');(0,sre.MathmlStoreRules.defineRule_)("unit","default.default",'[t] text() (grammar:annotation="unit":translate)',"self::mathml:mi",'@class="MathML-Unit"');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msup",'[n] ./*[1]; [t] "super";[n] ./*[2] (pitch:0.35); [p] (pause:300)');(0,sre.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,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msub",'[n] ./*[1]; [t] "sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:300)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mover",'[n] ./*[2] (pitch:0.35); [p] (pause:200); [t] "over"; [n] ./*[1]; [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("munder",'[n] ./*[2] (pitch:-0.35); [t] "under"; [n] ./*[1]; [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("munderover",'[n] ./*[2] (pitch:-0.35); [t] "under and"; [n] ./*[3] (pitch:0.35); [t] "over"; [n] ./*[1]; [p] (pause:400)'); -(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mrow","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msqrt",'[t] "Square root of"; [m] ./* (rate:0.2); [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mroot",'[t] "root of order"; [n] ./*[2]; [t] "of";[n] ./*[1] (rate:0.2); [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mfrac",' [p] (pause:400); [n] ./*[1] (pitch:0.3); [t] "divided by"; [n] ./*[2] (pitch:-0.3); [p] (pause:400)');(0,sre.MathmlStoreRules.defineRule_)("mfrac", -"default.short",'[p] (pause:200); [t] "start frac";[n] ./*[1] (pitch:0.3); [t] "over"; [n] ./*[2] (pitch:-0.3); [p] (pause:400); [t] "end frac"',"self::mathml:mfrac");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default","[n] @open; [m] ./* (separator:@separators); [n] @close","self::mathml:mfenced","@open","@close","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:@separators); [n] @close', -"self::mathml:mfenced","not(@open)","@close","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[n] @open; [m] ./* (separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced", -"@open","not(@close)","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default","[n] @open; [m] ./*; [n] @close","self::mathml:mfenced","@separators","@open","@close",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[t] "(" (grammar:translate); [m] ./*; [n] @close',"self::mathml:mfenced","@separators","not(@open)","@close",'string(@separators)="" or string(@separators)=" "'); -(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[n] @open; [m] ./*; [t] ")" (grammar:translate)',"self::mathml:mfenced","@separators","@open","not(@close)",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[t] "(" (grammar:translate); [m] ./*; [t] ")" (grammar:translate)',"self::mathml:mfenced","@separators","not(@open)","not(@close)",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma", -"default.default",'[n] @open; [m] ./* (separator:"comma"); [n] @close',"self::mathml:mfenced","@open","@close","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:"comma"); [n] @close',"self::mathml:mfenced","not(@open)","@close","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[n] @open; [m] ./* (separator:"comma"); [t] ")" (grammar:translate)',"self::mathml:mfenced", -"@open","not(@close)","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:"comma"); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default","[n] @open; [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [n] @close","self::mathml:mfenced","@open","@close","string-length(string(@separators))>1"); -(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[t] "(" (grammar:translate); [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [n] @close',"self::mathml:mfenced","not(@open)","@close","string-length(string(@separators))>1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[n] @open; [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","@open","not(@close)","string-length(string(@separators))>1"); -(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[t] "(" (grammar:translate); [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","string-length(string(@separators))>1");(0,sre.MathmlStoreRules.defineRule_)("mtable","default.default",'[t] "matrix"; [m] ./* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::mathml:mtable");(0,sre.MathmlStoreRules.defineRule_)("mtr","default.default", -'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)',"self::mathml:mtr");(0,sre.MathmlStoreRules.defineRule_)("mtd","default.default","[m] ./*","self::mathml:mtd");(0,sre.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,sre.MathmlStoreRules.defineRule_)("mtable","default.short",'[t] "matrix"; [m] ./*',"self::mathml:mtable");(0,sre.MathmlStoreRules.defineRule_)("mtr", -"default.short","[m] ./*","self::mathml:mtr");(0,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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]")}; -sre.MathmlStoreRules.initMathjaxRules_=function(){(0,sre.MathmlStoreRules.defineRule_)("mj-math","default.default","[n] ./*[1]/*[1]/*[1]",'self::span[@class="math"]');(0,sre.MathmlStoreRules.defineRule_)("mj-leaf","default.default","[n] CQFlookupleaf",'self::span[@class="mi"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mo"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mn"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mtext"]'); -(0,sre.MathmlStoreRules.defineRule_)("mj-mo-ext","default.default","[n] CQFextender",'self::span[@class="mo"]',"./*[1]/*[1]/text()","./*[1]/*[2]/text()");(0,sre.MathmlStoreRules.defineRule_)("mj-texatom","default.default","[n] ./*[1]",'self::span[@class="texatom"]');(0,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.MathmlStoreRules.defineRule_)("mj-mfenced","default.default",'[t] "opening"; [n] ./*[1]; [m] ./*[position()>1 and position()1",'text()=translate(text(), "abcdefghijklmnopqrstuvwxyz\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", "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9")','""=translate(text(), "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9","")'); -(0,sre.MathspeakRules.defineRule_)("number-baseline","mathspeak.default",'[t] "Baseline"; [n] text()',"self::number",'not(contains(@grammar, "ignoreFont"))',"preceding-sibling::identifier",'preceding-sibling::*[1][@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline","mathspeak.default","mathspeak.brief",'[t] "Base"; [n] text()');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline", -"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("number-baseline-font","mathspeak.default",'[t] "Baseline"; [t] @font; [n] . (grammar:ignoreFont=@font)',"self::number","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"',"preceding-sibling::identifier",'preceding-sibling::*[@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline-font","mathspeak.default", -"mathspeak.brief",'[t] "Base"; [n] text()');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline-font","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("identifier","mathspeak.default","[m] CQFspaceoutIdentifier","self::identifier","string-length(text())>1",'@role!="unit"','@role!="protected"','not(@font) or @font="normal" or contains(@grammar, "ignoreFont")');(0,sre.MathspeakRules.defineRule_)("identifier","mathspeak.default","[n] text()","self::identifier",'@role="protected"'); -(0,sre.MathspeakRules.defineRule_)("negative","mathspeak.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'@role="negative"',"children/identifier");(0,sre.MathspeakRules.defineRuleAlias_)("negative","self::prefixop",'@role="negative"',"children/number");(0,sre.MathspeakRules.defineRuleAlias_)("negative","self::prefixop",'@role="negative"','children/fraction[@role="vulgar"]');(0,sre.MathspeakRules.defineRule_)("negative","mathspeak.default",'[t] "minus"; [n] children/*[1]',"self::prefixop", -'@role="negative"');(0,sre.MathspeakRules.defineRule_)("prefix","mathspeak.default","[n] text(); [n] children/*[1]","self::prefixop");(0,sre.MathspeakRules.defineRule_)("postfix","mathspeak.default","[n] children/*[1]; [n] text()","self::postfixop");(0,sre.MathspeakRules.defineRule_)("binary-operation","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.MathspeakRules.defineRule_)("implicit","mathspeak.default","[m] children/*","self::infixop",'@role="implicit"'); -(0,sre.MathspeakRules.defineRuleAlias_)("implicit","self::infixop",'@role="leftsuper" or @role="leftsub" or @role="rightsuper" or @role="rightsub"');(0,sre.MathspeakRules.defineRule_)("subtraction","mathspeak.default",'[m] children/* (separator:"minus");',"self::infixop",'@role="subtraction"');(0,sre.MathspeakRules.defineRule_)("function-unknown","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl");(0,sre.MathspeakRules.defineRule_)("function-prefix","mathspeak.default","[n] children/*[1]; [n] children/*[2]", -"self::appl",'children/*[1][@role="prefix function"]');(0,sre.MathspeakRules.defineRule_)("fences-open-close","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="leftright"');(0,sre.MathspeakRules.defineRule_)("fences-neutral","mathspeak.default",'[t] "StartAbsoluteValue"; [n] children/*[1]; [t] "EndAbsoluteValue"',"self::fenced",'@role="neutral"','content/*[1][text()]="|" or content/*[1][text()]="\u2758" or content/*[1][text()]="\uff5c"');(0,sre.MathspeakRules.defineSpecialisedRule_)("fences-neutral", -"mathspeak.default","mathspeak.sbrief",'[t] "AbsoluteValue"; [n] children/*[1]; [t] "EndAbsoluteValue"');(0,sre.MathspeakRules.defineRule_)("fences-neutral","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="neutral"');(0,sre.MathspeakRules.defineRule_)("fences-set","mathspeak.default",'[t] "StartSet"; [n] children/*[1]; [t] "EndSet"',"self::fenced",'@role="leftright"','content/*[1][text()]="{"','content/*[2][text()]="}"',"count(children/*)=1",'not(name(../..)="appl")'); -(0,sre.MathspeakRules.defineSpecialisedRule_)("fences-set","mathspeak.default","mathspeak.sbrief",'[t] "Set"; [n] children/*[1]; [t] "EndSet"');(0,sre.MathspeakRules.defineRule_)("text","mathspeak.default","[n] text()","self::text");(0,sre.MathspeakRules.defineRule_)("factorial","mathspeak.default",'[t] "factorial"',"self::punctuation",'text()="!"','name(preceding-sibling::*[1])!="text"');(0,sre.MathspeakRules.defineRule_)("minus","mathspeak.default",'[t] "minus"',"self::operator",'text()="-"');(0,sre.MathspeakRules.defineRule_)("single-prime", -"mathspeak.default",'[t] "prime"',"self::punctuated",'@role="prime"',"count(children/*)=1");(0,sre.MathspeakRules.defineRule_)("double-prime","mathspeak.default",'[t] "double-prime"',"self::punctuated",'@role="prime"',"count(children/*)=2");(0,sre.MathspeakRules.defineRule_)("triple-prime","mathspeak.default",'[t] "triple-prime"',"self::punctuated",'@role="prime"',"count(children/*)=3");(0,sre.MathspeakRules.defineRule_)("quadruple-prime","mathspeak.default",'[t] "quadruple-prime"',"self::punctuated", -'@role="prime"',"count(children/*)=4");(0,sre.MathspeakRules.defineRule_)("counted-prime","mathspeak.default",'[t] count(children/*); [t] "prime"',"self::punctuated",'@role="prime"');(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.default","[t] CSFopenFracVerbose; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracVerbose","self::fraction");(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.brief","[t] CSFopenFracBrief; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracBrief", -"self::fraction");(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.sbrief","[t] CSFopenFracSbrief; [n] children/*[1]; [t] CSFoverFracSbrief; [n] children/*[2]; [t] CSFcloseFracSbrief","self::fraction");(0,sre.MathspeakRules.defineRule_)("vulgar-fraction","mathspeak.default","[t] CSFvulgarFraction","self::fraction",'@role="vulgar"',"CQFvulgarFractionSmall");(0,sre.MathspeakRules.defineSpecialisedRule_)("vulgar-fraction","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("vulgar-fraction", -"mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("continued-fraction-outer","mathspeak.default",'[t] "ContinuedFraction"; [n] children/*[1];[t] "Over"; [n] children/*[2]',"self::fraction","not(ancestor::fraction)",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.default","mathspeak.brief",'[t] "ContinuedFrac"; [n] children/*[1];[t] "Over"; [n] children/*[2]'); -(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("continued-fraction-inner","mathspeak.default",'[t] "StartFraction"; [n] children/*[1];[t] "Over"; [n] children/*[2]',"self::fraction","ancestor::fraction",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.default","mathspeak.brief",'[t] "StartFrac"; [n] children/*[1];[t] "Over"; [n] children/*[2]'); -(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.brief","mathspeak.sbrief",'[t] "Frac"; [n] children/*[1];[t] "Over"; [n] children/*[2]');(0,sre.MathspeakRules.defineRule_)("sqrt","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[1]; [t] CSFcloseRadicalVerbose","self::sqrt");(0,sre.MathspeakRules.defineRule_)("sqrt","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakRules.defineRule_)("sqrt", -"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakRules.defineRule_)("root","mathspeak.default","[t] CSFindexRadicalVerbose; [n] children/*[1];[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root");(0,sre.MathspeakRules.defineRule_)("root","mathspeak.brief","[t] CSFindexRadicalBrief; [n] children/*[1];[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakRules.defineRule_)("root", -"mathspeak.sbrief","[t] CSFindexRadicalSbrief; [n] children/*[1];[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakRules.defineRule_)("limboth","mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]","self::limboth",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limlower","mathspeak.default", -"[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];","self::limlower",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limupper","mathspeak.default","[n] children/*[1]; [t] CSFoverscript; [n] children/*[2];","self::limupper",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limlower", -"self::underscore",'@role="limit function"','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limlower","self::underscore",'children/*[2][@role!="underaccent"]','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limupper","self::overscore",'children/*[2][@role!="overaccent"]', -'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limboth-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]; [t] "Endscripts"',"self::limboth");(0,sre.MathspeakRules.defineRule_)("limlower-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2]; [t] "Endscripts"',"self::limlower");(0,sre.MathspeakRules.defineRule_)("limupper-end", -"mathspeak.default",'[n] children/*[1]; [t] CSFoverscript; [n] children/*[2]; [t] "Endscripts"',"self::limupper");(0,sre.MathspeakRules.defineRuleAlias_)("limlower-end","self::underscore",'@role="limit function"');(0,sre.MathspeakRules.defineRuleAlias_)("limlower-end","self::underscore");(0,sre.MathspeakRules.defineRuleAlias_)("limupper-end","self::overscore");(0,sre.MathspeakRules.defineRule_)("integral","mathspeak.default","[n] children/*[1]; [n] children/*[2]; [n] children/*[3];","self::integral"); -(0,sre.MathspeakRules.defineRule_)("integral","mathspeak.default",'[n] children/*[1]; [t] "Subscript"; [n] children/*[2];[t] "Superscript"; [n] children/*[3]; [t] "Baseline";',"self::limboth",'@role="integral"');(0,sre.MathspeakRules.defineSpecialisedRule_)("integral","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "Sub"; [n] children/*[2];[t] "Sup"; [n] children/*[3]; [t] "Base";');(0,sre.MathspeakRules.defineSpecialisedRule_)("integral","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("bigop", -"mathspeak.default","[n] children/*[1]; [n] children/*[2];","self::bigop");(0,sre.MathspeakRules.defineRule_)("relseq","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.MathspeakRules.defineRule_)("equality","mathspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::relseq",'@role="equality"',"count(./children/*)=2");(0,sre.MathspeakRules.defineRule_)("multi-equality","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)", -"self::relseq",'@role="equality"',"count(./children/*)>2");(0,sre.MathspeakRules.defineRule_)("multrel","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::multirel");(0,sre.MathspeakRules.defineRule_)("subscript","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]","self::subscript");(0,sre.MathspeakRules.defineRule_)("subscript","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]","self::subscript");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript", -"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("subscript-simple","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(./children/*[1])="identifier"','name(./children/*[2])="number"','./children/*[2][@role!="mixed"]','./children/*[2][@role!="othernumber"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-simple","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-simple","mathspeak.default", -"mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("subscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]; [t] CSFbaselineVerbose","self::subscript","following-sibling::*",'not(name(following-sibling::subscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="subscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and @role!="subsup"','not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])'); -(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]; [t] CSFbaselineBrief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::punctuated|ancestor::fraction",'not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])'); -(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","@embellished");(0,sre.MathspeakRules.defineRule_)("subscript-empty-sup","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="superscript"', -'name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("subscript-empty-sup","self::subscript",'name(children/*[2])="superscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakRules.defineRule_)("superscript","mathspeak.default", -"[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2]","self::superscript");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2]");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("superscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2];[t] CSFbaselineVerbose", -"self::superscript","following-sibling::*",'not(name(following-sibling::superscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="superscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])');(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2];[t] CSFbaselineBrief"); -(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::punctuated",'ancestor::*/following-sibling::* and not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])');(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::fraction|ancestor::fenced|ancestor::root|ancestor::sqrt"); -(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel","not(@embellished)",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","@embellished",'not(children/*[2][@role="prime"])');(0,sre.MathspeakRules.defineRule_)("superscript-empty-sub","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript", -'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="subscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("superscript-empty-sub","self::superscript",'name(children/*[2])="subscript"','name(children/*[2]/children/*[1])="empty"'); -(0,sre.MathspeakRules.defineRule_)("square","mathspeak.default",'[n] children/*[1]; [t] "squared"',"self::superscript","children/*[2]","children/*[2][text()=2]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))','name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])', -"not(@embellished)");(0,sre.MathspeakRules.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("cube","mathspeak.default",'[n] children/*[1]; [t] "cubed"',"self::superscript","children/*[2]","children/*[2][text()=3]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))', -'name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])',"not(@embellished)");(0,sre.MathspeakRules.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime", -"mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript","children/*[2]",'children/*[2][@role="prime"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime-subscript","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]","self::superscript", -'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime-subscript-baseline","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]; [t] CSFbaselineVerbose", -"self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"following-sibling::*");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]; [t] CSFbaselineBrief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("prime-subscript-baseline", -"self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)","@embellished");(0,sre.MathspeakRules.defineRule_)("prime-subscript-simple","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2];[n] children/*[1]/children/*[2]","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"','name(children/*[1]/children/*[1])="identifier"','name(children/*[1]/children/*[2])="number"','children/*[1]/children/*[2][@role!="mixed"]', -'children/*[1]/children/*[2][@role!="othernumber"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-simple","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-simple","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overscore","mathspeak.default",'[t] "ModifyingAbove"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("overscore", -"mathspeak.default","mathspeak.brief",'[t] "ModAbove"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("double-overscore","mathspeak.default",'[t] "ModifyingAbove Above"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]','name(children/*[1])="overscore"','children/*[1]/children/*[2][@role="overaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-overscore", -"mathspeak.default","mathspeak.brief",'[t] "ModAbove Above"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("underscore","mathspeak.default",'[t] "ModifyingBelow"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::underscore",'children/*[2][@role="underaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("underscore","mathspeak.default","mathspeak.brief", -'[t] "ModBelow"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("double-underscore","mathspeak.default",'[t] "ModifyingBelow Below"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::underscore",'children/*[2][@role="underaccent"]','name(children/*[1])="underscore"','children/*[1]/children/*[2][@role="underaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-underscore", -"mathspeak.default","mathspeak.brief",'[t] "ModBelow Below"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overbar","mathspeak.default",'[n] children/*[1]; [t] "overbar"',"self::overscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="overaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]'); -(0,sre.MathspeakRules.defineSpecialisedRule_)("overbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "overBar"');(0,sre.MathspeakRules.defineSpecialisedRule_)("overbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("underbar","mathspeak.default",'[n] children/*[1]; [t] "underbar"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]'); -(0,sre.MathspeakRules.defineSpecialisedRule_)("underbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "underBar"');(0,sre.MathspeakRules.defineSpecialisedRule_)("underbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overtilde","mathspeak.default",'[n] children/*[1]; [t] "overTilde"',"self::overscore",'children/*[2][@role="overaccent"]','@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]'); -(0,sre.MathspeakRules.defineSpecialisedRule_)("overtilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "overtilde"');(0,sre.MathspeakRules.defineSpecialisedRule_)("overtilde","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("undertilde","mathspeak.default",'[n] children/*[1]; [t] "underTilde"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]'); -(0,sre.MathspeakRules.defineSpecialisedRule_)("undertilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "undertilde"');(0,sre.MathspeakRules.defineSpecialisedRule_)("undertilde","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("matrix-fence","mathspeak.default","[n] children/*[1];","self::fenced","count(children/*)=1",'name(children/*[1])="matrix"');(0,sre.MathspeakRules.defineRule_)("matrix","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Matrix"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndMatrix"', -"self::matrix");(0,sre.MathspeakRules.defineRule_)("matrix","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Matrix"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndMatrix"',"self::matrix");(0,sre.MathspeakRules.defineRuleAlias_)("matrix","self::vector");(0,sre.MathspeakRules.defineRule_)("matrix-row","mathspeak.default",'[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column");[p] (pause: 200)',"self::row");(0,sre.MathspeakRules.defineRule_)("row-with-label", -"mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel"(pause: 200); [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content");(0,sre.MathspeakRules.defineRule_)("row-with-label","mathspeak.brief",'[t] "Label"; [n] content/*[1]; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("row-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("row-with-text-label", -"mathspeak.sbrief",'[t] "Label"; [t] CSFRemoveParens;[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakRules.defineRule_)("empty-row","mathspeak.default",'[t] "Blank"',"self::row","count(children/*)=0");(0,sre.MathspeakRules.defineRule_)("matrix-cell","mathspeak.default","[n] children/*[1]; [p] (pause: 300)","self::cell");(0,sre.MathspeakRules.defineRule_)("empty-cell","mathspeak.default",'[t] "Blank"; [p] (pause: 300)', -"self::cell","count(children/*)=0");(0,sre.MathspeakRules.defineRule_)("determinant","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndDeterminant"',"self::matrix",'@role="determinant"');(0,sre.MathspeakRules.defineSpecialisedRule_)("determinant","mathspeak.default","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndDeterminant"'); -(0,sre.MathspeakRules.defineRule_)("determinant-simple","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row",grammar:simpleDet); [t] "EndDeterminant"',"self::matrix",'@role="determinant"',"CQFdetIsSimple");(0,sre.MathspeakRules.defineSpecialisedRule_)("determinant-simple","mathspeak.default","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row",grammar:simpleDet); [t] "EndDeterminant"'); -(0,sre.MathspeakRules.defineRule_)("row-simple","mathspeak.default","[m] children/*;","self::row",'@role="determinant"','contains(@grammar, "simpleDet")');(0,sre.MathspeakRules.defineRule_)("layout","mathspeak.default",'[t] "StartLayout"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::table");(0,sre.MathspeakRules.defineRule_)("layout","mathspeak.sbrief",'[t] "Layout"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::table"); -(0,sre.MathspeakRules.defineRule_)("binomial","mathspeak.default",'[t] "StartBinomialOrMatrix"; [n] children/*[1]/children/*[1]; [t] "Choose"; [n] children/*[2]/children/*[1]; [t] "EndBinomialOrMatrix"',"self::vector",'@role="binomial"');(0,sre.MathspeakRules.defineRule_)("binomial","mathspeak.sbrief",'[t] "BinomialOrMatrix"; [n] children/*[1]/children/*[1]; [t] "Choose"; [n] children/*[2]/children/*[1]; [t] "EndBinomialOrMatrix"',"self::vector",'@role="binomial"');(0,sre.MathspeakRules.defineRule_)("cases", -"mathspeak.default",'[t] "StartLayout"; [t] "Enlarged"; [n] content/*[1];[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::cases");(0,sre.MathspeakRules.defineRule_)("cases","mathspeak.sbrief",'[t] "Layout"; [t] "Enlarged"; [n] content/*[1];[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::cases");(0,sre.MathspeakRules.defineRuleAlias_)("layout","self::multiline");(0,sre.MathspeakRules.defineRule_)("line","mathspeak.default","[m] children/*", -"self::line");(0,sre.MathspeakRules.defineRule_)("line-with-label","mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel" (pause: 200); [m] children/*',"self::line","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("line-with-label","mathspeak.default","mathspeak.brief",'[t] "Label"; [n] content/*[1] (pause: 200); [m] children/*');(0,sre.MathspeakRules.defineSpecialisedRule_)("line-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("line-with-text-label", -"mathspeak.sbrief",'[t] "Label"; [t] CSFRemoveParens; [m] children/*',"self::line","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakRules.defineRule_)("empty-line","mathspeak.default",'[t] "Blank"',"self::line","count(children/*)=0","not(content)");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("empty-line-with-label", -"mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel"(pause: 200); [t] "Blank"',"self::line","count(children/*)=0","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line-with-label","mathspeak.default","mathspeak.brief",'[t] "Label"; [n] content/*[1] (pause: 200); [t] "Blank"');(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("enclose","mathspeak.default",'[t] "StartEnclose"; [t] @role (grammar:localEnclose); [n] children/*[1]; [t] "EndEnclose"', -"self::enclose");(0,sre.MathspeakRules.defineRuleAlias_)("overbar","self::enclose",'@role="top"');(0,sre.MathspeakRules.defineRuleAlias_)("underbar","self::enclose",'@role="bottom"');(0,sre.MathspeakRules.defineRule_)("leftbar","mathspeak.default",'[t] "vertical-bar"; [n] children/*[1]',"self::enclose",'@role="left"');(0,sre.MathspeakRules.defineRule_)("rightbar","mathspeak.default",'[n] children/*[1]; [t] "vertical-bar"',"self::enclose",'@role="right"');(0,sre.MathspeakRules.defineRule_)("crossout", -"mathspeak.default",'[t] "CrossOut"; [n] children/*[1]; [t] "EndCrossOut"',"self::enclose",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineRule_)("cancel","mathspeak.default",'[t] "CrossOut"; [n] children/*[1]/children/*[1]; [t] "With"; [n] children/*[2]; [t] "EndCrossOut"',"self::overscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel","mathspeak.default", -"mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("cancel","self::underscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineRule_)("cancel-reverse","mathspeak.default",'[t] "CrossOut"; [n] children/*[2]/children/*[1]; [t] "With"; [n] children/*[1]; [t] "EndCrossOut"',"self::overscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]'); -(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("cancel-reverse","self::underscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakRules.defineRule_)("end-punct","mathspeak.default","[m] children/*","self::punctuated", -'@role="endpunct"');(0,sre.MathspeakRules.defineRule_)("start-punct","mathspeak.default","[n] content/*[1]; [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.MathspeakRules.defineRule_)("integral-punct","mathspeak.default","[n] children/*[1]; [n] children/*[3]","self::punctuated",'@role="integral"');(0,sre.MathspeakRules.defineRule_)("punctuated","mathspeak.default","[m] children/*","self::punctuated");(0,sre.MathspeakRules.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate)', -"self::identifier",'@role="unit"');(0,sre.MathspeakRules.defineRule_)("unit-square","mathspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.MathspeakRules.defineRule_)("unit-cubic","mathspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.MathspeakRules.defineRule_)("reciprocal","mathspeak.default", -'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.MathspeakRules.defineRule_)("reciprocal","mathspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]', -"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.MathspeakRules.defineRule_)("unit-combine","mathspeak.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.MathspeakRules.defineRule_)("unit-divide","mathspeak.default",'[n] children/*[1]; [t] "per"; [n] children/*[2]',"self::fraction",'@role="unit"')};sre.MathspeakRules.componentString_={2:"CSFbaseline",1:"CSFsubscript",0:"CSFsuperscript"};sre.MathspeakRules.childNumber_={4:2,3:3,2:1,1:4,0:5}; -sre.MathspeakRules.generateTensorRuleStrings_=function(a){var b=[],c="",d="";a=parseInt(a,2);for(var e=0;5>e;e++){var f="children/*["+sre.MathspeakRules.childNumber_[e]+"]";if(a&1){var g=sre.MathspeakRules.componentString_[e%3];c="[t] "+g+"Verbose; [n] "+f+";"+c;d="[t] "+g+"Brief; [n] "+f+";"+d}else b.unshift("name("+f+')="empty"');a>>=1}b.push(c);b.push(d);return b}; -sre.MathspeakRules.generateMathspeakTensorRules_=function(){for(var a="11111 11110 11101 11100 10111 10110 10101 10100 01111 01110 01101 01100".split(" "),b=0,c;c=a[b];b++){var d="tensor"+c;c=sre.MathspeakRules.generateTensorRuleStrings_(c);var e=c.pop(),f=c.pop(),g=[d,"mathspeak.default",f,"self::tensor"].concat(c),h=[d,"mathspeak.brief",e,"self::tensor"].concat(c);sre.MathspeakRules.defineRule_.apply(null,g);sre.MathspeakRules.defineRule_.apply(null,h);(0,sre.MathspeakRules.defineSpecialisedRule_)(d, -"mathspeak.brief","mathspeak.sbrief");g=sre.MathspeakRules.componentString_[2];f+="; [t]"+g+"Verbose";e+="; [t]"+g+"Brief";d+="-baseline";g=[d,"mathspeak.default",f,"self::tensor","following-sibling::*"].concat(c);h=[d,"mathspeak.brief",e,"self::tensor","following-sibling::*"].concat(c);sre.MathspeakRules.defineRule_.apply(null,g);sre.MathspeakRules.defineRule_.apply(null,h);(0,sre.MathspeakRules.defineSpecialisedRule_)(d,"mathspeak.brief","mathspeak.sbrief");d=[d,"self::tensor","not(following-sibling::*)", -"ancestor::fraction|ancestor::punctuated|ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::relseq|ancestor::multirel|@embellished"].concat(c);sre.MathspeakRules.defineRuleAlias_.apply(null,d)}};sre.MathspeakRules.getInstance().initializer=[sre.MathspeakRules.initCustomFunctions_,sre.MathspeakRules.initMathspeakRules_,sre.MathspeakRules.generateMathspeakTensorRules_];sre.MathspeakSpanishUtil={};sre.MathspeakSpanishUtil.europeanNumber=function(a){return a=a.replace(/,/g,"").replace(/\./g,",")};sre.Grammar.getInstance().setCorrection("euroNum",sre.MathspeakSpanishUtil.europeanNumber);sre.MathspeakSpanishUtil.onesOrdinals="primera segunda tercera cuarta quinta sexta s\u00e9ptima octava novena d\u00e9cima und\u00e9cima duod\u00e9cima".split(" ");sre.MathspeakSpanishUtil.tensOrdinals="d\u00e9cima vig\u00e9sima trig\u00e9sima cuadrag\u00e9sima quincuag\u00e9sima sexag\u00e9sima septuag\u00e9sima octog\u00e9sima nonag\u00e9sima".split(" "); -sre.MathspeakSpanishUtil.hundredsOrdinals="cent\u00e9sima ducent\u00e9sima tricent\u00e9sima cuadringent\u00e9sima quingent\u00e9sima sexcent\u00e9sima septingent\u00e9sima octingent\u00e9sima noningent\u00e9sima".split(" "); -sre.MathspeakSpanishUtil.numberToOrdinal=function(a){if(1999=a)return sre.MathspeakSpanishUtil.onesOrdinals[a-1];var b=[];1E3=a?b.push(sre.MathspeakSpanishUtil.onesOrdinals[a-1]):(c=Math.floor(a/10),0=b?[a]:[]}; -sre.MathspeakSpanishUtil.unitMultipliers=function(a,b){var c=0;return function(){var b=sre.AuditoryDescription.create({text:sre.MathspeakSpanishUtil.rightMostUnit(a[c])&&sre.MathspeakSpanishUtil.leftMostUnit(a[c+1])?"por":""},{});c++;return[b]}};sre.MathspeakSpanishUtil.SCRIPT_ELEMENTS=[sre.SemanticAttr.Type.SUPERSCRIPT,sre.SemanticAttr.Type.SUBSCRIPT,sre.SemanticAttr.Type.OVERSCORE,sre.SemanticAttr.Type.UNDERSCORE]; -sre.MathspeakSpanishUtil.rightMostUnit=function(a){for(;a;){if("unit"===a.getAttribute("role"))return!0;var b=a.tagName;a=sre.XpathUtil.evalXPath("children/*",a);a=-1!==sre.MathspeakSpanishUtil.SCRIPT_ELEMENTS.indexOf(b)?a[0]:a[a.length-1]}return!1};sre.MathspeakSpanishUtil.leftMostUnit=function(a){for(;a;){if("unit"===a.getAttribute("role"))return!0;a=sre.XpathUtil.evalXPath("children/*",a)[0]}return!1};sre.MathspeakSpanishUtil.makePlural=function(a){return/.*s$/.test(a)?a:a+"s"}; -sre.Grammar.getInstance().setCorrection("plural",sre.MathspeakSpanishUtil.makePlural);sre.MathspeakSpanishUtil.oneLeft=function(a){for(;a;){if("number"===a.tagName&&"1"===a.textContent)return[a];if("infixop"!==a.tagName||"multiplication"!==a.getAttribute("role")&&"implicit"!==a.getAttribute("role"))break;a=sre.XpathUtil.evalXPath("children/*",a)[0]}return[]};sre.MathspeakSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.MathspeakSpanish,sre.MathStore);goog.addSingletonGetter(sre.MathspeakSpanish);sre.MathspeakSpanish.prototype.evaluateDefault=function(a){return[sre.AuditoryDescription.create({text:a.textContent})]};sre.MathspeakSpanish.SPANISH_REGEXP="a-zA-Z\u00e1\u00e9\u00ed\u00f3\u00fa\u00f1\u00c1\u00c9\u00cd\u00d3\u00da\u00d1"; -sre.MathspeakSpanish.evaluateDefault=function(a){a=a.textContent;for(var b=[],c=new sre.SystemExternal.xmldom.DOMParser,d=new RegExp("^["+sre.MathspeakSpanish.SPANISH_REGEXP+"]+"),e=new RegExp("^[^"+sre.MathspeakSpanish.SPANISH_REGEXP+"]+");a;){var f=d.exec(a);if(f)var g=sre.Semantic.Type.TEXT,h=sre.Semantic.Role.PROTECTED;else f=e.exec(a),g=sre.Semantic.Type.UNKNOWN,h=sre.Semantic.Role.TEXT;g=c.parseFromString("<"+g+' role="'+h+'">'+f[0]+"","text/xml");b.push(g.documentElement);a=a.slice(f[0].length).trimLeft()}return b}; -sre.MathspeakSpanish.mathStore=sre.MathspeakSpanish.getInstance();sre.MathspeakSpanish.defineRule_=goog.bind(sre.MathspeakSpanish.mathStore.defineRule,sre.MathspeakSpanish.mathStore);sre.MathspeakSpanish.defineRuleAlias_=goog.bind(sre.MathspeakSpanish.mathStore.defineRulesAlias,sre.MathspeakSpanish.mathStore);sre.MathspeakSpanish.defineSpecialisedRule_=goog.bind(sre.MathspeakSpanish.mathStore.defineSpecialisedRule,sre.MathspeakSpanish.mathStore); -sre.MathspeakSpanish.addContextFunction_=goog.bind(sre.MathspeakSpanish.mathStore.contextFunctions.add,sre.MathspeakSpanish.mathStore.contextFunctions);sre.MathspeakSpanish.addCustomQuery_=goog.bind(sre.MathspeakSpanish.mathStore.customQueries.add,sre.MathspeakSpanish.mathStore.customQueries);sre.MathspeakSpanish.addCustomString_=goog.bind(sre.MathspeakSpanish.mathStore.customStrings.add,sre.MathspeakSpanish.mathStore.customStrings); -sre.MathspeakSpanish.initCustomFunctions_=function(){(0,sre.MathspeakSpanish.addCustomQuery_)("CQFspaceoutNumber",sre.MathspeakUtil.spaceoutNumber);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFspaceoutIdentifier",sre.MathspeakUtil.spaceoutIdentifier);(0,sre.MathspeakSpanish.addCustomString_)("CSFspaceoutText",sre.MathspeakUtil.spaceoutText);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracVerbose",sre.MathspeakUtil.openingFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracVerbose", -sre.MathspeakUtil.closingFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverFracVerbose",sre.MathspeakUtil.overFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracBrief",sre.MathspeakUtil.openingFractionBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracBrief",sre.MathspeakUtil.closingFractionBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracSbrief",sre.MathspeakUtil.openingFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracSbrief", -sre.MathspeakUtil.closingFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverFracSbrief",sre.MathspeakUtil.overFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalVerbose",sre.MathspeakUtil.openingRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseRadicalVerbose",sre.MathspeakUtil.closingRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalVerbose",sre.MathspeakUtil.indexRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalBrief", -sre.MathspeakUtil.openingRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseRadicalBrief",sre.MathspeakUtil.closingRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalBrief",sre.MathspeakUtil.indexRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalSbrief",sre.MathspeakUtil.openingRadicalSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalSbrief",sre.MathspeakUtil.indexRadicalSbrief);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFisSmallRoot", -sre.MathspeakSpanishUtil.smallRoot);(0,sre.MathspeakSpanish.addCustomString_)("CSFsuperscriptVerbose",sre.MathspeakUtil.superscriptVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFsuperscriptBrief",sre.MathspeakUtil.superscriptBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFsubscriptVerbose",sre.MathspeakUtil.subscriptVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFsubscriptBrief",sre.MathspeakUtil.subscriptBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFbaselineVerbose",sre.MathspeakUtil.baselineVerbose); -(0,sre.MathspeakSpanish.addCustomString_)("CSFbaselineBrief",sre.MathspeakUtil.baselineBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFunderscript",sre.MathspeakUtil.nestedUnderscore);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverscript",sre.MathspeakUtil.nestedOverscore);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFordinalCounterEs",sre.MathspeakSpanishUtil.ordinalCounter);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFcontentIterator",sre.MathmlStoreUtil.contentIterator);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFunitMultipliers", -sre.MathspeakSpanishUtil.unitMultipliers);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFdetIsSimple",sre.MathspeakUtil.determinantIsSimple);(0,sre.MathspeakSpanish.addCustomString_)("CSFRemoveParens",sre.MathspeakUtil.removeParens);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFoneLeft",sre.MathspeakSpanishUtil.oneLeft);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFresetNesting",sre.MathspeakUtil.resetNestingDepth);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFtextEvaluator",sre.MathspeakSpanish.evaluateDefault)}; -sre.MathspeakSpanish.initMathspeakSpanish_=function(){(0,sre.MathspeakSpanish.defineRule_)("stree","mathspeak.default","[n] ./*[1]","self::stree","CQFresetNesting");(0,sre.MathspeakSpanish.defineRule_)("unknown","mathspeak.default","[n] text()","self::unknown");(0,sre.MathspeakSpanish.defineRule_)("protected","mathspeak.default","[t] text()","self::*",'@role="protected"');(0,sre.MathspeakSpanish.defineRule_)("omit-empty","mathspeak.default","[p] (pause:100)","self::empty");(0,sre.MathspeakSpanish.defineRule_)("blank-empty", -"mathspeak.default",'[t] "espacio"',"self::empty","count(../*)=1",'name(../..)="cell" or name(../..)="line"');(0,sre.MathspeakSpanish.defineRule_)("font","mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"');(0,sre.MathspeakSpanish.defineRule_)("font-identifier-short","mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1", -"@font",'not(contains(@grammar, "ignoreFont"))','@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")','@role!="unit"');(0,sre.MathspeakSpanish.defineRule_)("font-identifier", -"mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.MathspeakSpanish.defineRule_)("omit-font","mathspeak.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.MathspeakSpanish.defineRule_)("number","mathspeak.default","[n] text() (grammar:euroNum)", -"self::number");(0,sre.MathspeakSpanish.defineRule_)("mixed-number","mathspeak.default",'[n] children/*[1]; [t] "m\u00e1s"; [n] children/*[2]; ',"self::number",'@role="mixed"');(0,sre.MathspeakSpanish.defineRule_)("number-with-chars","mathspeak.default",'[t] "n\u00famero"; [m] CQFspaceoutNumber',"self::number",'"" != translate(text(), "0123456789.,", "")','text() != translate(text(), "0123456789.,", "")');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-with-chars","mathspeak.default","mathspeak.brief", -'[t] "n\u00fam"; [m] CQFspaceoutNumber');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-with-chars","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("number-as-upper-word","mathspeak.default",'[t] "may\u00fascula"; [t] CSFspaceoutText',"self::number","string-length(text())>1",'text()=translate(text(), "abcdefghijklmnopqrstuvwxyz\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", "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9")', -'""=translate(text(), "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9","")');(0,sre.MathspeakSpanish.defineRule_)("number-baseline","mathspeak.default",'[t] "l\u00ednea base"; [n] text()',"self::number",'not(contains(@grammar, "ignoreFont"))',"preceding-sibling::identifier",'preceding-sibling::*[1][@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]'); -(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline","mathspeak.default","mathspeak.brief",'[t] "base"; [n] text()');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("number-baseline-font","mathspeak.default",'[t] "l\u00ednea base"; [t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)',"self::number","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"',"preceding-sibling::identifier", -'preceding-sibling::*[@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline-font","mathspeak.default","mathspeak.brief",'[t] "base"; [n] text()');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline-font","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("identifier","mathspeak.default","[m] CQFspaceoutIdentifier","self::identifier","string-length(text())>1", -'@role!="unit"','@role!="protected"','not(@font) or @font="normal" or contains(@grammar, "ignoreFont")');(0,sre.MathspeakSpanish.defineRule_)("identifier","mathspeak.default","[n] text()","self::identifier",'@role="protected"');(0,sre.MathspeakSpanish.defineRule_)("negative","mathspeak.default",'[t] "menos"; [n] children/*[1]',"self::prefixop",'@role="negative"',"children/identifier");(0,sre.MathspeakSpanish.defineRuleAlias_)("negative","self::prefixop",'@role="negative"',"children/number");(0,sre.MathspeakSpanish.defineRuleAlias_)("negative", -"self::prefixop",'@role="negative"','children/fraction[@role="vulgar"]');(0,sre.MathspeakSpanish.defineRule_)("negative","mathspeak.default",'[t] "menos"; [n] children/*[1]',"self::prefixop",'@role="negative"');(0,sre.MathspeakSpanish.defineRule_)("prefix","mathspeak.default","[n] text(); [n] children/*[1]","self::prefixop");(0,sre.MathspeakSpanish.defineRule_)("postfix","mathspeak.default","[n] children/*[1]; [n] text()","self::postfixop");(0,sre.MathspeakSpanish.defineRule_)("binary-operation", -"mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.MathspeakSpanish.defineRule_)("implicit","mathspeak.default","[m] children/*","self::infixop",'@role="implicit"');(0,sre.MathspeakSpanish.defineRuleAlias_)("implicit","self::infixop",'@role="leftsuper" or @role="leftsub" or @role="rightsuper" or @role="rightsub"');(0,sre.MathspeakSpanish.defineRule_)("subtraction","mathspeak.default",'[m] children/* (separator:"menos");',"self::infixop",'@role="subtraction"'); -(0,sre.MathspeakSpanish.defineRule_)("function-unknown","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl");(0,sre.MathspeakSpanish.defineRule_)("function-prefix","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl",'children/*[1][@role="prefix function"]');(0,sre.MathspeakSpanish.defineRule_)("fences-open-close","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="leftright"');(0,sre.MathspeakSpanish.defineRule_)("fences-neutral", -"mathspeak.default",'[t] "empezar valor absoluto"; [n] children/*[1]; [t] "finalizar valor absoluto"',"self::fenced",'@role="neutral"','content/*[1][text()]="|" or content/*[1][text()]="\u2758" or content/*[1][text()]="\uff5c"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("fences-neutral","mathspeak.default","mathspeak.sbrief",'[t] "valor absoluto"; [n] children/*[1]; [t] "finalizar valor absoluto"');(0,sre.MathspeakSpanish.defineRule_)("fences-neutral","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]", -"self::fenced",'@role="neutral"');(0,sre.MathspeakSpanish.defineRule_)("fences-set","mathspeak.default",'[t] "empezar llave"; [n] children/*[1]; [t] "finalizar llave"',"self::fenced",'@role="leftright"','content/*[1][text()]="{"','content/*[2][text()]="}"',"count(children/*)=1",'not(name(../..)="appl")');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("fences-set","mathspeak.default","mathspeak.sbrief",'[t] "llave"; [n] children/*[1]; [t] "finalizar llave"');(0,sre.MathspeakSpanish.defineRule_)("text", -"mathspeak.default","[m] CQFtextEvaluator","self::text");(0,sre.MathspeakSpanish.defineRule_)("factorial","mathspeak.default",'[t] "factorial"',"self::punctuation",'text()="!"','name(preceding-sibling::*[1])!="text"');(0,sre.MathspeakSpanish.defineRule_)("minus","mathspeak.default",'[t] "menos"',"self::operator",'text()="-"');(0,sre.MathspeakSpanish.defineRule_)("single-prime","mathspeak.default",'[t] "prima"',"self::punctuated",'@role="prime"',"count(children/*)=1");(0,sre.MathspeakSpanish.defineRule_)("double-prime", -"mathspeak.default",'[t] "doble prima"',"self::punctuated",'@role="prime"',"count(children/*)=2");(0,sre.MathspeakSpanish.defineRule_)("triple-prime","mathspeak.default",'[t] "triple prima"',"self::punctuated",'@role="prime"',"count(children/*)=3");(0,sre.MathspeakSpanish.defineRule_)("quadruple-prime","mathspeak.default",'[t] "cuadruplicar prima"',"self::punctuated",'@role="prime"',"count(children/*)=4");(0,sre.MathspeakSpanish.defineRule_)("counted-prime","mathspeak.default",'[t] count(children/*); [t] "prime"', -"self::punctuated",'@role="prime"');(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.default","[t] CSFopenFracVerbose; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracVerbose","self::fraction");(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.brief","[t] CSFopenFracBrief; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracBrief","self::fraction");(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.sbrief","[t] CSFopenFracSbrief; [n] children/*[1]; [t] CSFoverFracSbrief; [n] children/*[2]; [t] CSFcloseFracSbrief", -"self::fraction");(0,sre.MathspeakSpanish.defineRule_)("continued-fraction-outer","mathspeak.default",'[t] "fracci\u00f3n continua"; [n] children/*[1];[t] "entre"; [n] children/*[2]',"self::fraction","not(ancestor::fraction)",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.default","mathspeak.brief",'[t] "frac continua"; [n] children/*[1];[t] "entre"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-outer", -"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("continued-fraction-inner","mathspeak.default",'[t] "empezar fracci\u00f3n"; [n] children/*[1];[t] "entre"; [n] children/*[2]',"self::fraction","ancestor::fraction",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.default","mathspeak.brief",'[t] "empezar frac"; [n] children/*[1];[t] "entre"; [n] children/*[2]'); -(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.brief","mathspeak.sbrief",'[t] "frac"; [n] children/*[1];[t] "entre"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineRule_)("sqrt","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[1]; [t] CSFcloseRadicalVerbose","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("sqrt","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("sqrt", -"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("root-small","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root-small","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root-small", -"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.default","[t] CSFindexRadicalVerbose; [n] children/*[1];[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root");(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.brief","[t] CSFindexRadicalBrief; [n] children/*[1];[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root"); -(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.sbrief","[t] CSFindexRadicalSbrief; [n] children/*[1];[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakSpanish.defineRule_)("limboth","mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]","self::limboth",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limlower", -"mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];","self::limlower",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limupper","mathspeak.default","[n] children/*[1]; [t] CSFoverscript; [n] children/*[2];","self::limupper",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower", -"self::underscore",'@role="limit function"','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower","self::underscore",'children/*[2][@role!="underaccent"]','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limupper","self::overscore",'children/*[2][@role!="overaccent"]', -'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limboth-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]; [t] "finalizar \u00edndices"',"self::limboth");(0,sre.MathspeakSpanish.defineRule_)("limlower-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2]; [t] "finalizar \u00edndices"',"self::limlower"); -(0,sre.MathspeakSpanish.defineRule_)("limupper-end","mathspeak.default",'[n] children/*[1]; [t] CSFoverscript; [n] children/*[2]; [t] "finalizar \u00edndices"',"self::limupper");(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower-end","self::underscore",'@role="limit function"');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower-end","self::underscore");(0,sre.MathspeakSpanish.defineRuleAlias_)("limupper-end","self::overscore");(0,sre.MathspeakSpanish.defineRule_)("integral","mathspeak.default", -"[n] children/*[1]; [n] children/*[2]; [n] children/*[3];","self::integral");(0,sre.MathspeakSpanish.defineRule_)("integral","mathspeak.default",'[n] children/*[1]; [t] "definida"; [t] "sub\u00edndice"; [n] children/*[2];[t] "super\u00edndice"; [n] children/*[3]; [t] "l\u00ednea base";',"self::limboth",'@role="integral"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("integral","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "Sub"; [n] children/*[2];[t] "Sup"; [n] children/*[3]; [t] "Base";'); -(0,sre.MathspeakSpanish.defineSpecialisedRule_)("integral","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("bigop","mathspeak.default","[n] children/*[1]; [n] children/*[2];","self::bigop");(0,sre.MathspeakSpanish.defineRule_)("relseq","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.MathspeakSpanish.defineRule_)("equality","mathspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::relseq",'@role="equality"', -"count(./children/*)=2");(0,sre.MathspeakSpanish.defineRule_)("multi-equality","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq",'@role="equality"',"count(./children/*)>2");(0,sre.MathspeakSpanish.defineRule_)("multrel","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::multirel");(0,sre.MathspeakSpanish.defineRule_)("subscript","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]","self::subscript");(0,sre.MathspeakSpanish.defineRule_)("subscript", -"mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]","self::subscript");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("subscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]; [t] CSFbaselineVerbose","self::subscript","following-sibling::*",'not(name(following-sibling::subscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="subscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and @role!="subsup"', -'not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]; [t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)", -"ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::punctuated|ancestor::fraction",'not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])');(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)", -"@embellished");(0,sre.MathspeakSpanish.defineRule_)("subscript-empty-sup","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="superscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.brief", -"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-empty-sup","self::subscript",'name(children/*[2])="superscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineRule_)("superscript","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2]","self::superscript");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2]"); -(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("superscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2];[t] CSFbaselineVerbose","self::superscript","following-sibling::*",'not(name(following-sibling::superscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="superscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])'); -(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2];[t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::punctuated",'ancestor::*/following-sibling::* and not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])'); -(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::fraction|ancestor::fenced|ancestor::root|ancestor::sqrt");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel","not(@embellished)",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)", -"@embellished",'not(children/*[2][@role="prime"])');(0,sre.MathspeakSpanish.defineRule_)("superscript-empty-sub","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="subscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-empty-sub", -"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-empty-sub","self::superscript",'name(children/*[2])="subscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineRule_)("square","mathspeak.default",'[n] children/*[1]; [t] "al cuadrado"',"self::superscript","children/*[2]","children/*[2][text()=2]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))', -'name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])',"not(@embellished)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("cube", -"mathspeak.default",'[n] children/*[1]; [t] "al cubo"',"self::superscript","children/*[2]","children/*[2][text()=3]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))','name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])', -"not(@embellished)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript","children/*[2]",'children/*[2][@role="prime"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime", -"mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime-subscript","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]"); -(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime-subscript-baseline","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]; [t] CSFbaselineVerbose","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"following-sibling::*");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript-baseline", -"mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]; [t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("prime-subscript-baseline","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)","@embellished");(0,sre.MathspeakSpanish.defineRule_)("overscore", -"mathspeak.default",'[t] "modificando superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overscore","mathspeak.default","mathspeak.brief",'[t] "mod superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("double-overscore","mathspeak.default",'[t] "modificando superior superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]', -"self::overscore",'children/*[2][@role="overaccent"]','name(children/*[1])="overscore"','children/*[1]/children/*[2][@role="overaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-overscore","mathspeak.default","mathspeak.brief",'[t] "mod superior superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("underscore","mathspeak.default",'[t] "modificando inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]', -"self::underscore",'children/*[2][@role="underaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underscore","mathspeak.default","mathspeak.brief",'[t] "mod inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("double-underscore","mathspeak.default",'[t] "modificando inferior inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]',"self::underscore", -'children/*[2][@role="underaccent"]','name(children/*[1])="underscore"','children/*[1]/children/*[2][@role="underaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-underscore","mathspeak.default","mathspeak.brief",'[t] "mod inferior inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("overbar","mathspeak.default",'[n] children/*[1]; [t] "barra"', -"self::overscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="overaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "barra"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("underbar", -"mathspeak.default",'[n] children/*[1]; [t] "subbarra"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "subbarra"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underbar","mathspeak.brief","mathspeak.sbrief"); -(0,sre.MathspeakSpanish.defineRule_)("overtilde","mathspeak.default",'[n] children/*[1]; [t] "tilde"',"self::overscore",'children/*[2][@role="overaccent"]','@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overtilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "tilde"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overtilde", -"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("undertilde","mathspeak.default",'[n] children/*[1]; [t] "subtilde"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("undertilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "subtilde"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("undertilde", -"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("matrix-fence","mathspeak.default","[n] children/*[1];","self::fenced","count(children/*)=1",'name(children/*[1])="matrix"');(0,sre.MathspeakSpanish.defineRule_)("matrix","mathspeak.default",'[t] "empezar matriz"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar matriz"',"self::matrix");(0,sre.MathspeakSpanish.defineRule_)("matrix", -"mathspeak.sbrief",'[t] "matriz"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:" "); [t] "finalizar matriz"',"self::matrix");(0,sre.MathspeakSpanish.defineRuleAlias_)("matrix","self::vector");(0,sre.MathspeakSpanish.defineRule_)("matrix-row","mathspeak.default",'[m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna");[p] (pause: 200)',"self::row");(0,sre.MathspeakSpanish.defineRule_)("row-with-label","mathspeak.default", -'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content");(0,sre.MathspeakSpanish.defineRule_)("row-with-label","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1]; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("row-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("row-with-text-label", -"mathspeak.sbrief",'[t] "etiqueta"; [t] CSFRemoveParens;[m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakSpanish.defineRule_)("empty-row","mathspeak.default",'[t] "espacio"',"self::row","count(children/*)=0");(0,sre.MathspeakSpanish.defineRule_)("matrix-cell","mathspeak.default","[n] children/*[1]; [p] (pause: 300)","self::cell");(0,sre.MathspeakSpanish.defineRule_)("empty-cell","mathspeak.default",'[t] "espacio"; [p] (pause: 300)', -"self::cell","count(children/*)=0");(0,sre.MathspeakSpanish.defineRule_)("determinant","mathspeak.default",'[t] "empezar determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar determinante"',"self::matrix",'@role="determinant"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("determinant","mathspeak.default","mathspeak.sbrief",'[t] "determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar determinante"'); -(0,sre.MathspeakSpanish.defineRule_)("determinant-simple","mathspeak.default",'[t] "empezar determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila",grammar:simpleDet); [t] "finalizar determinante"',"self::matrix",'@role="determinant"',"CQFdetIsSimple");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("determinant-simple","mathspeak.default","mathspeak.sbrief",'[t] "determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila",grammar:simpleDet); [t] "finalizar determinante"'); -(0,sre.MathspeakSpanish.defineRule_)("row-simple","mathspeak.default","[m] children/*;","self::row",'@role="determinant"','contains(@grammar, "simpleDet")');(0,sre.MathspeakSpanish.defineRule_)("layout","mathspeak.default",'[t] "empezar esquema"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::table");(0,sre.MathspeakSpanish.defineRule_)("layout","mathspeak.sbrief",'[t] "esquema"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"', -"self::table");(0,sre.MathspeakSpanish.defineRule_)("binomial","mathspeak.default",'[t] "empezar binomial"; [n] children/*[1]/children/*[1]; [t] "en"; [n] children/*[2]/children/*[1]; [t] "finalizar binomial"',"self::vector",'@role="binomial"');(0,sre.MathspeakSpanish.defineRule_)("binomial","mathspeak.sbrief",'[t] "binomial"; [n] children/*[1]/children/*[1]; [t] "en"; [n] children/*[2]/children/*[1]; [t] "finalizar binomial"',"self::vector",'@role="binomial"');(0,sre.MathspeakSpanish.defineRule_)("cases", -"mathspeak.default",'[t] "empezar esquema"; [n] content/*[1]; [t] "alargada"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::cases");(0,sre.MathspeakSpanish.defineRule_)("cases","mathspeak.sbrief",'[t] "esquema"; [n] content/*[1]; [t] "alargada"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::cases");(0,sre.MathspeakSpanish.defineRuleAlias_)("layout","self::multiline");(0,sre.MathspeakSpanish.defineRule_)("line", -"mathspeak.default","[m] children/*","self::line");(0,sre.MathspeakSpanish.defineRule_)("line-with-label","mathspeak.default",'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [m] children/*',"self::line","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("line-with-label","mathspeak.default","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1] (pause: 200); [m] children/*');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("line-with-label","mathspeak.brief","mathspeak.sbrief"); -(0,sre.MathspeakSpanish.defineRule_)("line-with-text-label","mathspeak.sbrief",'[t] "etiqueta"; [t] CSFRemoveParens; [m] children/*',"self::line","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakSpanish.defineRule_)("empty-line","mathspeak.default",'[t] "espacio"',"self::line","count(children/*)=0","not(content)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line","mathspeak.brief", -"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("empty-line-with-label","mathspeak.default",'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [t] "espacio"',"self::line","count(children/*)=0","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line-with-label","mathspeak.default","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1] (pause: 200); [t] "espacio"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line-with-label","mathspeak.brief", -"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("enclose","mathspeak.default",'[t] "empezar rodear"; [t] @role (grammar:localEnclose); [n] children/*[1]; [t] "finalizar rodear"',"self::enclose");(0,sre.MathspeakSpanish.defineRuleAlias_)("overbar","self::enclose",'@role="top"');(0,sre.MathspeakSpanish.defineRuleAlias_)("underbar","self::enclose",'@role="bottom"');(0,sre.MathspeakSpanish.defineRule_)("leftbar","mathspeak.default",'[t] "barra vertical"; [n] children/*[1]',"self::enclose",'@role="left"'); -(0,sre.MathspeakSpanish.defineRule_)("rightbar","mathspeak.default",'[n] children/*[1]; [t] "barra vertical"',"self::enclose",'@role="right"');(0,sre.MathspeakSpanish.defineRule_)("crossout","mathspeak.default",'[t] "tachado"; [n] children/*[1]; [t] "finalizar tachado"',"self::enclose",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineRule_)("cancel","mathspeak.default",'[t] "tachado"; [n] children/*[1]/children/*[1]; [t] "con"; [n] children/*[2]; [t] "finalizar tachado"', -"self::overscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("cancel","self::underscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineRule_)("cancel-reverse", -"mathspeak.default",'[t] "tachado"; [n] children/*[2]/children/*[1]; [t] "con"; [n] children/*[1]; [t] "finalizar tachado"',"self::overscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("cancel-reverse", -"self::underscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakSpanish.defineRule_)("end-punct","mathspeak.default","[m] children/*","self::punctuated",'@role="endpunct"');(0,sre.MathspeakSpanish.defineRule_)("start-punct","mathspeak.default","[n] content/*[1]; [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.MathspeakSpanish.defineRule_)("integral-punct","mathspeak.default", -"[n] children/*[1]; [n] children/*[3]","self::punctuated",'@role="integral"');(0,sre.MathspeakSpanish.defineRule_)("punctuated","mathspeak.default","[m] children/*","self::punctuated");(0,sre.MathspeakSpanish.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate)',"self::identifier",'@role="unit"');(0,sre.MathspeakSpanish.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate:plural)',"self::identifier",'@role="unit"','not(contains(@grammar, "singularUnit"))'); -(0,sre.MathspeakSpanish.defineRule_)("unit-square","mathspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.MathspeakSpanish.defineRule_)("unit-cubic","mathspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.MathspeakSpanish.defineRule_)("reciprocal","mathspeak.default",'[t] "reciprocal"; [n] children/*[1]', -"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.MathspeakSpanish.defineRule_)("reciprocal","mathspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]", -'preceding-sibling::*[@role="unit"]');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[m] children/* (sepFunc:CTXFunitMultipliers)","self::infixop",'@role="unit"');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[m] children/* (sepFunc:CTXFunitMultipliers);","self::infixop",'@role="multiplication" or @role="implicit"','children/*[@role="unit"]');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[n] . (grammar:singularUnit);", -"self::infixop",'@role="multiplication" or @role="implicit"','children/*[@role="unit"]','not(contains(@grammar, "singularUnit"))',"CQFoneLeft");(0,sre.MathspeakSpanish.defineRule_)("unit-divide","mathspeak.default",'[n] children/*[1]; [t] "per"; [n] children/*[2]',"self::fraction",'@role="unit"')};sre.MathspeakSpanish.componentString_={2:"CSFbaseline",1:"CSFsubscript",0:"CSFsuperscript"};sre.MathspeakSpanish.childNumber_={4:2,3:3,2:1,1:4,0:5}; -sre.MathspeakSpanish.generateTensorRuleStrings_=function(a){var b=[],c="",d="";a=parseInt(a,2);for(var e=0;5>e;e++){var f="children/*["+sre.MathspeakSpanish.childNumber_[e]+"]";if(a&1){var g=sre.MathspeakSpanish.componentString_[e%3];c="[t] "+g+"Verbose; [n] "+f+";"+c;d="[t] "+g+"Brief; [n] "+f+";"+d}else b.unshift("name("+f+')="empty"');a>>=1}b.push(c);b.push(d);return b}; -sre.MathspeakSpanish.generateMathspeakTensorRules_=function(){for(var a="11111 11110 11101 11100 10111 10110 10101 10100 01111 01110 01101 01100".split(" "),b=0,c;c=a[b];b++){var d="tensor"+c;c=sre.MathspeakSpanish.generateTensorRuleStrings_(c);var e=c.pop(),f=c.pop(),g=[d,"mathspeak.default",f,"self::tensor"].concat(c),h=[d,"mathspeak.brief",e,"self::tensor"].concat(c);sre.MathspeakSpanish.defineRule_.apply(null,g);sre.MathspeakSpanish.defineRule_.apply(null,h);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(d, -"mathspeak.brief","mathspeak.sbrief");g=sre.MathspeakSpanish.componentString_[2];f+="; [t]"+g+"Verbose";e+="; [t]"+g+"Brief";d+="-baseline";g=[d,"mathspeak.default",f,"self::tensor","following-sibling::*"].concat(c);h=[d,"mathspeak.brief",e,"self::tensor","following-sibling::*"].concat(c);sre.MathspeakSpanish.defineRule_.apply(null,g);sre.MathspeakSpanish.defineRule_.apply(null,h);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(d,"mathspeak.brief","mathspeak.sbrief");d=[d,"self::tensor","not(following-sibling::*)", -"ancestor::fraction|ancestor::punctuated|ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::relseq|ancestor::multirel|@embellished"].concat(c);sre.MathspeakSpanish.defineRuleAlias_.apply(null,d)}};sre.MathspeakSpanish.getInstance().initializer=[sre.MathspeakSpanish.initCustomFunctions_,sre.MathspeakSpanish.initMathspeakSpanish_,sre.MathspeakSpanish.generateMathspeakTensorRules_];sre.PrefixRules=function(){sre.MathStore.call(this)};goog.inherits(sre.PrefixRules,sre.MathStore);goog.addSingletonGetter(sre.PrefixRules);sre.PrefixRules.mathStore=sre.PrefixRules.getInstance();sre.PrefixRules.defineRule_=goog.bind(sre.PrefixRules.mathStore.defineRule,sre.PrefixRules.mathStore);sre.PrefixRules.defineRuleAlias_=goog.bind(sre.PrefixRules.mathStore.defineRulesAlias,sre.PrefixRules.mathStore);sre.PrefixRules.addCustomString_=goog.bind(sre.PrefixRules.mathStore.customStrings.add,sre.PrefixRules.mathStore.customStrings); -sre.PrefixRules.ordinalPosition=function(a){var b=sre.DomUtil.toArray(a.parentNode.childNodes);return sre.MathspeakUtil.simpleOrdinal(b.indexOf(a)+1).toString()};sre.PrefixRules.initCustomFunctions_=function(){(0,sre.PrefixRules.addCustomString_)("CSFordinalPosition",sre.PrefixRules.ordinalPosition)}; -sre.PrefixRules.initPrefixRules_=function(){(0,sre.PrefixRules.defineRule_)("numerator","prefix.default",'[t] "Numerator"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("denominator","prefix.default",'[t] "Denominator"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("base","prefix.default",'[t] "Base"; [p] (pause:200)',"self::*",'name(../..)="superscript" or name(../..)="subscript" or name(../..)="overscore" or name(../..)="underscore" or name(../..)="tensor"', -"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("exponent","prefix.default",'[t] "Exponent"; [p] (pause:200)',"self::*",'name(../..)="superscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("subscript","prefix.default",'[t] "Subscript"; [p] (pause:200)',"self::*",'name(../..)="subscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("overscript","prefix.default",'[t] "Overscript"; [p] (pause:200)',"self::*",'name(../..)="overscore"',"count(preceding-sibling::*)=1"); -(0,sre.PrefixRules.defineRule_)("underscript","prefix.default",'[t] "Underscript"; [p] (pause:200)',"self::*",'name(../..)="underscore"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("radicand","prefix.default",'[t] "Radicand"; [p] (pause:200)',"self::*",'name(../..)="sqrt"');(0,sre.PrefixRules.defineRule_)("radicand","prefix.default",'[t] "Radicand"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("index","prefix.default", -'[t] "Index"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("leftsub","prefix.default",'[t] "Left Subscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsub"');(0,sre.PrefixRules.defineRule_)("leftsub","prefix.default",'[t] CSFordinalPosition; [t] "Left Subscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsub"');(0,sre.PrefixRules.defineRule_)("leftsuper", -"prefix.default",'[t] "Left Superscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsuper"');(0,sre.PrefixRules.defineRule_)("leftsuper","prefix.default",'[t] CSFordinalPosition; [t] "Left Superscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsuper"');(0,sre.PrefixRules.defineRule_)("rightsub","prefix.default",'[t] "Right Subscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsub"');(0,sre.PrefixRules.defineRule_)("rightsub", -"prefix.default",'[t] CSFordinalPosition; [t] "Right Subscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsub"');(0,sre.PrefixRules.defineRule_)("rightsuper","prefix.default",'[t] "Right Superscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsuper"');(0,sre.PrefixRules.defineRule_)("rightsuper","prefix.default",'[t] CSFordinalPosition; [t] "Right Superscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"', -'../../@role="rightsuper"');(0,sre.PrefixRules.defineRule_)("choice","prefix.default",'[t] "Choice Quantity"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("select","prefix.default",'[t] "Selection Quantity"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("row","prefix.default",'[t] CSFordinalPosition; [t] "Row"; [p] (pause:200)', -"self::row");(0,sre.PrefixRules.defineRuleAlias_)("row","self::line");(0,sre.PrefixRules.defineRule_)("cell","prefix.default",'[n] ../..; [t] CSFordinalPosition; [t] "Column"; [p] (pause:200)',"self::cell",'contains(@grammar,"depth")');(0,sre.PrefixRules.defineRule_)("cell","prefix.default",'[t] CSFordinalPosition; [t] "Column"; [p] (pause:200)',"self::cell")};sre.PrefixRules.getInstance().initializer=[sre.PrefixRules.initCustomFunctions_,sre.PrefixRules.initPrefixRules_];sre.PrefixSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.PrefixSpanish,sre.MathStore);goog.addSingletonGetter(sre.PrefixSpanish);sre.PrefixSpanish.mathStore=sre.PrefixSpanish.getInstance();sre.PrefixSpanish.defineRule_=goog.bind(sre.PrefixSpanish.mathStore.defineRule,sre.PrefixSpanish.mathStore);sre.PrefixSpanish.defineRuleAlias_=goog.bind(sre.PrefixSpanish.mathStore.defineRulesAlias,sre.PrefixSpanish.mathStore); -sre.PrefixSpanish.addCustomString_=goog.bind(sre.PrefixSpanish.mathStore.customStrings.add,sre.PrefixSpanish.mathStore.customStrings);sre.PrefixSpanish.ordinalPosition=function(a){var b=sre.DomUtil.toArray(a.parentNode.childNodes);return sre.MathspeakUtil.simpleOrdinal(b.indexOf(a)+1).toString()};sre.PrefixSpanish.initCustomFunctions_=function(){(0,sre.PrefixSpanish.addCustomString_)("CSFordinalPosition",sre.PrefixSpanish.ordinalPosition)}; -sre.PrefixSpanish.initPrefixSpanish_=function(){(0,sre.PrefixSpanish.defineRule_)("numerator","prefix.default",'[t] "numerador"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("denominator","prefix.default",'[t] "denominador"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("base","prefix.default",'[t] "base"; [p] (pause:200)',"self::*",'name(../..)="superscript" or name(../..)="subscript" or name(../..)="overscore" or name(../..)="underscore" or name(../..)="tensor"', -"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("exponent","prefix.default",'[t] "exponente"; [p] (pause:200)',"self::*",'name(../..)="superscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("subscript","prefix.default",'[t] "sub\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="subscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("overscript","prefix.default",'[t] "overscript"; [p] (pause:200)',"self::*",'name(../..)="overscore"', -"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("underscript","prefix.default",'[t] "underscript"; [p] (pause:200)',"self::*",'name(../..)="underscore"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("radicand","prefix.default",'[t] "radicand"; [p] (pause:200)',"self::*",'name(../..)="sqrt"');(0,sre.PrefixSpanish.defineRule_)("radicand","prefix.default",'[t] "radicand"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("index", -"prefix.default",'[t] "\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("leftsub","prefix.default",'[t] "sub\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsub"');(0,sre.PrefixSpanish.defineRule_)("leftsub","prefix.default",'[t] CSFordinalPosition; [t] "sub\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsub"'); -(0,sre.PrefixSpanish.defineRule_)("leftsuper","prefix.default",'[t] "super\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsuper"');(0,sre.PrefixSpanish.defineRule_)("leftsuper","prefix.default",'[t] CSFordinalPosition; [t] "super\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsuper"');(0,sre.PrefixSpanish.defineRule_)("rightsub","prefix.default",'[t] "derecha sub\u00edndice"; [p] (pause:200)', -"self::*",'name(../..)="tensor"','@role="rightsub"');(0,sre.PrefixSpanish.defineRule_)("rightsub","prefix.default",'[t] CSFordinalPosition; [t] "derecha sub\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsub"');(0,sre.PrefixSpanish.defineRule_)("rightsuper","prefix.default",'[t] "super\u00edndice derecho"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsuper"');(0,sre.PrefixSpanish.defineRule_)("rightsuper","prefix.default", -'[t] CSFordinalPosition; [t] "super\u00edndice derecho"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsuper"');(0,sre.PrefixSpanish.defineRule_)("choice","prefix.default",'[t] "cantidad de elecci\u00f3n"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("select","prefix.default",'[t] "cantidad de selecci\u00f3n"; [p] (pause:200)',"self::line",'@role="binomial"', -"parent::*/parent::vector","count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("row","prefix.default",'[t] CSFordinalPosition; [t] "fila"; [p] (pause:200)',"self::row");(0,sre.PrefixSpanish.defineRuleAlias_)("row","self::line");(0,sre.PrefixSpanish.defineRule_)("cell","prefix.default",'[n] ../..; [t] CSFordinalPosition; [t] "columna"; [p] (pause:200)',"self::cell",'contains(@grammar,"depth")');(0,sre.PrefixSpanish.defineRule_)("cell","prefix.default",'[t] CSFordinalPosition; [t] "columna"; [p] (pause:200)', -"self::cell")};sre.PrefixSpanish.getInstance().initializer=[sre.PrefixSpanish.initCustomFunctions_,sre.PrefixSpanish.initPrefixSpanish_];sre.SemanticTreeRules=function(){sre.MathStore.call(this)};goog.inherits(sre.SemanticTreeRules,sre.MathStore);goog.addSingletonGetter(sre.SemanticTreeRules);sre.SemanticTreeRules.mathStore=sre.SemanticTreeRules.getInstance();sre.SemanticTreeRules.defineRule_=goog.bind(sre.SemanticTreeRules.mathStore.defineRule,sre.SemanticTreeRules.mathStore);sre.SemanticTreeRules.defineRuleAlias_=goog.bind(sre.SemanticTreeRules.mathStore.defineRuleAlias,sre.SemanticTreeRules.mathStore); -sre.SemanticTreeRules.addContextFunction_=goog.bind(sre.SemanticTreeRules.mathStore.contextFunctions.add,sre.SemanticTreeRules.mathStore.contextFunctions);sre.SemanticTreeRules.initCustomFunctions_=function(){(0,sre.SemanticTreeRules.addContextFunction_)("CTXFnodeCounter",sre.StoreUtil.nodeCounter);(0,sre.SemanticTreeRules.addContextFunction_)("CTXFcontentIterator",sre.MathmlStoreUtil.contentIterator)}; -sre.SemanticTreeRules.initSemanticRules_=function(){(0,sre.SemanticTreeRules.defineRule_)("stree","default.default","[n] ./*[1]","self::stree");(0,sre.SemanticTreeRules.defineRule_)("multrel","default.default",'[t] "multirelation"; [m] children/* (sepFunc:CTXFcontentIterator)',"self::multirel");(0,sre.SemanticTreeRules.defineRule_)("variable-equality","default.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]', -"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("multi-equality","default.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2");(0,sre.SemanticTreeRules.defineRule_)("multi-equality","default.short",'[t] "equation sequence"; [m] children/* (sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2"); -(0,sre.SemanticTreeRules.defineRule_)("equality","default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2");(0,sre.SemanticTreeRules.defineRule_)("simple-equality","default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/identifier or ./children/number");(0,sre.SemanticTreeRules.defineRule_)("simple-equality2", -"default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/function or ./children/appl");(0,sre.SemanticTreeRules.defineRule_)("relseq","default.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.SemanticTreeRules.defineRule_)("binary-operation","default.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.SemanticTreeRules.defineRule_)("variable-addition", -"default.default",'[t] "sum with variable number of summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(children/*)>2",'children/punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("multi-addition","default.default",'[t] "sum with"; [t] count(./children/*); [t] "summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(./children/*)>2");(0,sre.SemanticTreeRules.defineRule_)("prefix", -"default.default",'[t] "prefix"; [n] text(); [t] "of" (pause 150);[n] children/*[1]',"self::prefixop");(0,sre.SemanticTreeRules.defineRule_)("negative","default.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'self::prefixop[@role="negative"]');(0,sre.SemanticTreeRules.defineRule_)("postfix","default.default",'[n] children/*[1]; [t] "postfix"; [n] text() (pause 300)',"self::postfixop");(0,sre.SemanticTreeRules.defineRule_)("identifier","default.default","[n] text()","self::identifier"); -(0,sre.SemanticTreeRules.defineRule_)("number","default.default","[n] text()","self::number");(0,sre.SemanticTreeRules.defineRule_)("mixed-number","default.default",'[n] children/*[1]; [t] "and"; [n] children/*[2]; ',"self::number",'@role="mixed"');(0,sre.SemanticTreeRules.defineRule_)("font","default.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"');(0,sre.SemanticTreeRules.defineRule_)("font-identifier-short","default.default", -"[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")', -'@role!="unit"');(0,sre.SemanticTreeRules.defineRule_)("font-identifier","default.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.SemanticTreeRules.defineRule_)("omit-font","default.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.SemanticTreeRules.defineRule_)("fraction", -"default.default",'[p] (pause:250); [n] children/*[1] (rate:0.35); [p] (pause:250); [t] "divided by"; [n] children/*[2] (rate:-0.35); [p] (pause:400)',"self::fraction");(0,sre.SemanticTreeRules.defineRule_)("superscript","default.default",'[n] children/*[1]; [t] "super"; [n] children/*[2] (pitch:0.35);[p] (pause:300)',"self::superscript");(0,sre.SemanticTreeRules.defineRule_)("subscript","default.default",'[n] children/*[1]; [t] "sub"; [n] children/*[2] (pitch:-0.35);[p] (pause:300)',"self::subscript"); -(0,sre.SemanticTreeRules.defineRule_)("ellipsis","default.default",'[p] (pause:200); [t] "ellipsis"; [p] (pause:300)',"self::punctuation",'self::punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("fence-single","default.default","[n] text()","self::punctuation",'self::punctuation[@role="openfence"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="closefence"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation", -'self::punctuation[@role="vbar"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="application"]');(0,sre.SemanticTreeRules.defineRule_)("omit-empty","default.default","[p] (pause:100)","self::empty");(0,sre.SemanticTreeRules.defineRule_)("fences-open-close","default.default","[p] (pause:100); [n] content/*[1]; [n] children/*[1]; [n] content/*[2]; [p] (pause:100)","self::fenced",'@role="leftright"');(0,sre.SemanticTreeRules.defineRule_)("fences-open-close-in-appl", -"default.default","[p] (pause:200); [n] children/*[1]; [p] (pause:200);",'self::fenced[@role="leftright"]',"./parent::children/parent::appl");(0,sre.SemanticTreeRules.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,sre.SemanticTreeRules.defineRule_)("omit-fences","default.default","[p] (pause:500); [n] children/*[1]; [p] (pause:200);","self::fenced");(0,sre.SemanticTreeRules.defineRule_)("matrix", -"default.default",'[t] "matrix"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::matrix");(0,sre.SemanticTreeRules.defineRule_)("matrix-row","default.default",'[m] children/* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)','self::row[@role="matrix"]');(0,sre.SemanticTreeRules.defineRule_)("matrix-cell","default.default","[n] children/*[1]",'self::cell[@role="matrix"]');(0,sre.SemanticTreeRules.defineRule_)("vector","default.default",'[t] "vector"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"element",pause:100)', -"self::vector");(0,sre.SemanticTreeRules.defineRule_)("cases","default.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100)',"self::cases");(0,sre.SemanticTreeRules.defineRule_)("cases-row","default.default","[m] children/*",'self::row[@role="cases"]');(0,sre.SemanticTreeRules.defineRule_)("cases-cell","default.default","[n] children/*[1]",'self::cell[@role="cases"]');(0,sre.SemanticTreeRules.defineRule_)("row","default.default",'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)', -"self::row");(0,sre.SemanticTreeRules.defineRule_)("cases-end","default.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100);[t] "end cases"',"self::cases","following-sibling::*");(0,sre.SemanticTreeRules.defineRule_)("multiline","default.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"line",pause:100)',"self::multiline");(0,sre.SemanticTreeRules.defineRule_)("multiline-ineq","default.default",'[t] "multiline inequality";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)', -"self::multiline",'@role="inequality"');(0,sre.SemanticTreeRules.defineRule_)("line","default.default","[m] children/*","self::line");(0,sre.SemanticTreeRules.defineRule_)("table","default.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table");(0,sre.SemanticTreeRules.defineRule_)("table-ineq","default.default",'[t] "multiline inequality";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table",'@role="inequality"'); -(0,sre.SemanticTreeRules.defineRule_)("table-row","default.default","[m] children/* (pause:100)",'self::row[@role="table"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("cases-cell",'self::cell[@role="table"]');(0,sre.SemanticTreeRules.defineRule_)("empty-cell","mathspeak.default",'[t] "Blank"',"self::cell","count(children/*)=0");(0,sre.SemanticTreeRules.defineRule_)("end-punct","default.default","[m] children/*; [p] (pause:300)","self::punctuated",'@role="endpunct"');(0,sre.SemanticTreeRules.defineRule_)("start-punct", -"default.default","[n] content/*[1]; [p] (pause:200); [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.SemanticTreeRules.defineRule_)("integral-punct","default.default","[n] children/*[1] (rate:0.2); [n] children/*[3] (rate:0.2)","self::punctuated",'@role="integral"');(0,sre.SemanticTreeRules.defineRule_)("punctuated","default.default","[m] children/* (pause:100)","self::punctuated");(0,sre.SemanticTreeRules.defineRule_)("function","default.default","[n] text()","self::function"); -(0,sre.SemanticTreeRules.defineRule_)("appl","default.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::appl");(0,sre.SemanticTreeRules.defineRule_)("sum-only","default.default",'[n] children/*[1]; [t] "from"; [n] children/*[2]; [t] "to";[n] children/*[3]',"self::limboth",'self::limboth[@role="sum"]');(0,sre.SemanticTreeRules.defineRule_)("limboth","default.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[t] "under"; [n] children/*[3]; [p] (pause 250);', -"self::limboth");(0,sre.SemanticTreeRules.defineRule_)("limlower","default.default",'[n] children/*[1]; [t] "over"; [n] children/*[2];',"self::limlower");(0,sre.SemanticTreeRules.defineRule_)("limupper","default.default",'[n] children/*[1]; [t] "under"; [n] children/*[2];',"self::limupper");(0,sre.SemanticTreeRules.defineRule_)("largeop","default.default","[n] text()","self::largeop");(0,sre.SemanticTreeRules.defineRule_)("bigop","default.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[p] (pause 250);', -"self::bigop");(0,sre.SemanticTreeRules.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,sre.SemanticTreeRules.defineRule_)("sqrt","default.default",'[t] "Square root of"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::sqrt");(0,sre.SemanticTreeRules.defineRule_)("square","default.default",'[n] children/*[1]; [t] "squared" (pitch:0.35); [p] (pause:300)',"self::superscript", -"children/*[2][text()=2]",'name(./children/*[1])!="text"');(0,sre.SemanticTreeRules.defineRule_)("cube","default.default",'[n] children/*[1]; [t] "cubed" (pitch:0.35); [p] (pause:300)',"self::superscript","children/*[2][text()=3]",'name(./children/*[1])!="text"');(0,sre.SemanticTreeRules.defineRule_)("root","default.default",'[t] "root of order"; [n] children/*[1];[t] "over"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::root");(0,sre.SemanticTreeRules.defineRule_)("text","default.default", -"[n] text(); [p] (pause:200)","self::text");(0,sre.SemanticTreeRules.defineRule_)("unit","default.default",'[t] text() (grammar:annotation="unit":translate)',"self::identifier",'@role="unit"');(0,sre.SemanticTreeRules.defineRule_)("unit-square","default.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.SemanticTreeRules.defineRule_)("unit-cubic","default.default",'[t] "cubic"; [n] children/*[1]',"self::superscript", -'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.SemanticTreeRules.defineRule_)("reciprocal","default.default",'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.SemanticTreeRules.defineRule_)("reciprocal","default.default", -'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.SemanticTreeRules.defineRule_)("unit-combine","default.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.SemanticTreeRules.defineRule_)("unit-divide","default.default",'[n] children/*[1] (pitch:0.3); [t] "per"; [n] children/*[2] (pitch:-0.3)', -"self::fraction",'@role="unit"')};sre.SemanticTreeRules.getInstance().initializer=[sre.SemanticTreeRules.initCustomFunctions_,sre.SemanticTreeRules.initSemanticRules_];sre.SpeechRuleStores={};sre.SpeechRuleStores.RULE_SETS_={MathmlStoreRules:sre.MathmlStoreRules,SemanticTreeRules:sre.SemanticTreeRules,MathspeakRules:sre.MathspeakRules,MathspeakSpanish:sre.MathspeakSpanish,ClearspeakRules:sre.ClearspeakRules,EmacspeakRules:sre.EmacspeakRules,AbstractionRules:sre.AbstractionRules,AbstractionSpanish:sre.AbstractionSpanish,PrefixRules:sre.PrefixRules,PrefixSpanish:sre.PrefixSpanish};sre.SpeechRuleStores.availableSets=function(){return Object.keys(sre.SpeechRuleStores.RULE_SETS_)}; -sre.SpeechRuleStores.getConstructor=function(a){return(a=sre.SpeechRuleStores.RULE_SETS_[a])?a:null};sre.SpeechRuleEngine=function(){this.activeStore_=null;this.cache_={};this.ready_=!0;this.combinedStores_={};sre.Engine.registerTest(goog.bind(function(a){return this.ready_},this))};goog.addSingletonGetter(sre.SpeechRuleEngine);sre.SpeechRuleEngine.prototype.parameterize=function(a){for(var b={},c=0,d=a.length;ca||a>=b.length?null:b[a]};sre.Levels.prototype.depth=function(){return this.level_.length};sre.Levels.prototype.clone=function(){var a=new sre.Levels;a.level_=this.level_.slice(0);return a};sre.Levels.prototype.toString=function(){for(var a="",b=0,c;c=this.level_[b];b++)a+="\n"+c.map(function(a){return a.toString()});return a};sre.Walker=function(){};sre.Walker.prototype.isActive=function(){};sre.Walker.prototype.activate=function(){};sre.Walker.prototype.deactivate=function(){};sre.Walker.prototype.speech=function(){};sre.Walker.prototype.getFocus=function(){};sre.Walker.prototype.setFocus=function(a){};sre.Walker.prototype.getDepth=function(){};sre.Walker.prototype.move=function(a){}; -sre.Walker.move={UP:"up",DOWN:"down",LEFT:"left",RIGHT:"right",REPEAT:"repeat",DEPTH:"depth",ENTER:"enter",EXPAND:"expand",HOME:"home",SUMMARY:"summary",DETAIL:"detail",ROW:"row",CELL:"cell"};sre.AbstractWalker=function(a,b,c,d){this.node=a;this.xml=sre.DomUtil.parseInput(d);this.generator=b;this.rebuilt=this.rebuildStree_();this.generator.setRebuilt(this.rebuilt);this.highlighter=c;this.active_=!1;this.keyMapping={};this.keyMapping[sre.EventUtil.KeyCode.UP]=goog.bind(this.up,this);this.keyMapping[sre.EventUtil.KeyCode.DOWN]=goog.bind(this.down,this);this.keyMapping[sre.EventUtil.KeyCode.RIGHT]=goog.bind(this.right,this);this.keyMapping[sre.EventUtil.KeyCode.LEFT]=goog.bind(this.left, -this);this.keyMapping[sre.EventUtil.KeyCode.TAB]=goog.bind(this.repeat,this);this.keyMapping[sre.EventUtil.KeyCode.ENTER]=goog.bind(this.expand,this);this.keyMapping[sre.EventUtil.KeyCode.SPACE]=goog.bind(this.depth,this);this.keyMapping[sre.EventUtil.KeyCode.HOME]=goog.bind(this.home,this);this.keyMapping[sre.EventUtil.KeyCode.X]=goog.bind(this.summary,this);this.keyMapping[sre.EventUtil.KeyCode.Z]=goog.bind(this.detail,this);this.keyMapping[sre.EventUtil.KeyCode.V]=goog.bind(this.virtualize,this); -this.keyMapping[sre.EventUtil.KeyCode.P]=goog.bind(this.previous,this);this.keyMapping[sre.EventUtil.KeyCode.U]=goog.bind(this.undo,this);this.dummy_=function(){};this.rootNode=sre.WalkerUtil.getSemanticRoot(a);this.rootId=this.rebuilt.stree.root.id.toString();this.focus_=sre.Focus.factory(this.rootId,[this.rootId],this.rebuilt,this.node);this.moved=sre.Walker.move.ENTER;this.cursors=[]};sre.AbstractWalker.prototype.isActive=function(){return this.active_}; -sre.AbstractWalker.prototype.toggleActive_=function(){this.active_=!this.active_};sre.AbstractWalker.prototype.activate=function(){this.isActive()||(this.generator.start(),this.toggleActive_())};sre.AbstractWalker.prototype.deactivate=function(){this.isActive()&&(this.highlighter.setState(this.node.id,this.primaryId()),this.generator.end(),this.toggleActive_())};sre.AbstractWalker.prototype.getFocus=function(){return this.focus_};sre.AbstractWalker.prototype.setFocus=function(a){this.focus_=a}; -sre.AbstractWalker.prototype.getDepth=function(){return this.levels.depth()-1}; -sre.AbstractWalker.prototype.speech=function(){var a=this.focus_.getDomNodes();if(!a.length)return"";var b=this.specialMove();if(null!==b)return b;switch(this.moved){case sre.Walker.move.DEPTH:return this.depth_();case sre.Walker.move.SUMMARY:return this.summary_();case sre.Walker.move.DETAIL:return this.detail_();default:b=[];for(var c=this.focus_.getSemanticNodes(),d=0,e=a.length;dthis.currentTable_.childNodes.length)return this.getFocus();this.row_=a;this.moved=sre.Walker.move.ROW;return this.getFocus().clone()}; -sre.TableWalker.prototype.jumpCell_=function(a,b){this.firstJump?this.virtualize(!1):(this.firstJump=this.getFocus(),this.virtualize(!0));var c=this.currentTable_.id.toString();do var d=this.levels.pop();while(-1===d.indexOf(c));this.levels.push(d);this.setFocus(this.singletonFocus(c));this.levels.push(this.nextLevel());a=this.currentTable_.childNodes[a-1];this.setFocus(this.singletonFocus(a.id.toString()));this.levels.push(this.nextLevel());return this.singletonFocus(a.childNodes[b-1].id.toString())}; -sre.TableWalker.prototype.isLegalJump_=function(a,b){var c=sre.DomUtil.querySelectorAllByAttrValue(this.rebuilt.xml,"id",this.currentTable_.id.toString())[0];if(!c||c.hasAttribute("alternative"))return!1;a=this.currentTable_.childNodes[a-1];if(!a)return!1;c=sre.DomUtil.querySelectorAllByAttrValue(c,"id",a.id.toString())[0];return!c||c.hasAttribute("alternative")?!1:!(!a||!a.childNodes[b-1])}; -sre.TableWalker.prototype.isInTable_=function(){for(var a=this.getFocus().getSemanticPrimary();a;){if(-1!==sre.TableWalker.ELIGIBLE_TABLE_TYPES.indexOf(a.type))return this.currentTable_=a,!0;a=a.parent}return!1};sre.TableWalker.prototype.undo=function(){var a=sre.TableWalker.superClass_.undo.call(this);a===this.firstJump&&(this.firstJump=null);return a};sre.WalkerFactory={};sre.WalkerFactory.walker=function(a,b,c,d,e){return new (sre.WalkerFactory.walkerMapping_[a]||sre.WalkerFactory.walkerMapping_.Dummy)(b,c,d,e)};sre.WalkerFactory.walkerMapping_={Dummy:sre.DummyWalker,Semantic:sre.SemanticWalker,Syntax:sre.SyntaxWalker,Table:sre.TableWalker};sre.System=function(){this.version=sre.Variables.VERSION};goog.addSingletonGetter(sre.System);sre.System.Error=function(a){Error.call(this);this.message=a||"";this.name="System Error"};goog.inherits(sre.System.Error,Error);sre.System.LocalStorage_=function(){this.speechGenerator=this.walker=null};goog.addSingletonGetter(sre.System.LocalStorage_); -sre.System.prototype.setupEngine=function(a){var b=sre.Engine.getInstance(),c=function(c){b[c]=a[c]||b[c]};c("mode");sre.System.prototype.configBlocks_(a);["strict","cache","semantics","structure"].forEach(function(c){void 0!==a[c]&&(b[c]=!!a[c])});"markup style domain speech walker locale".split(" ").forEach(c);a.json&&(sre.SystemExternal.jsonPath=sre.BaseUtil.makePath(a.json));a.xpath&&(sre.SystemExternal.WGXpath=a.xpath);b.setupBrowsers();b.ruleSets=a.rules?a.rules:sre.SpeechRuleStores.availableSets(); -sre.SpeechRuleEngine.getInstance().parameterize(b.ruleSets);b.dynamicCstr=sre.DynamicCstr.create(b.locale,b.domain,b.style);b.comparator=new sre.DynamicCstr.DefaultComparator(b.dynamicCstr,sre.DynamicProperties.create([sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.LOCALE]],[sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.DOMAIN]],["short",sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.STYLE]]));sre.L10n.setLocale()}; -sre.System.prototype.configBlocks_=function(a){if(sre.Engine.getInstance().mode===sre.Engine.Mode.HTTP)for(var b=document.documentElement.querySelectorAll('script[type="text/x-sre-config"]'),c=0,d=b.length;c=0;c--){var d=this.dependents[c];d.Disable&&d.Disable(!1,b)}a&&MathJax.Hub.Queue(["Reprocess",MathJax.Hub])},Dependent:function(a){this.dependents.push(a)}},function(){var a=MathJax.Ajax.config.path;a.a11y||(a.a11y=HUB.config.root+"/extensions/a11y"),a.SRE||(a.SRE=MathJax.Ajax.fileURL(a.a11y)),MathJax.Ajax.Load("[SRE]/mathjax-sre.js"),MathJax.Hub.Register.StartupHook("Sre Ready",["loadComplete",MathJax.Ajax,"[SRE]/mathjax-sre.js"])}(),MathJax.Callback.Queue(["Require",MathJax.Ajax,"[MathJax]/jax/element/mml/jax.js"],["Require",MathJax.Ajax,"[MathJax]/jax/input/MathML/config.js"],["Require",MathJax.Ajax,"[MathJax]/jax/input/MathML/jax.js"],["Require",MathJax.Ajax,"[MathJax]/extensions/toMathML.js"],MathJax.Hub.Register.StartupHook("Sre Ready",function(){var a=MathJax.ElementJax.mml,b=MathJax.Extension["semantic-enrich"];a.mbase.Augment({toMathMLattributes:function(){var c="mstyle"===this.type?a.math.prototype.defaults:this.defaults,d=this.attrNames||a.copyAttributeNames,e=a.skipAttributes,f=a.copyAttributes,g=b.running?b.mstyleLookup[this.type]||[]:[],h=[],i=this.attr||{};if("math"!==this.type||this.attr&&"xmlns"in this.attr||h.push('xmlns="http://www.w3.org/1998/Math/MathML"'),!this.attrNames)for(var j in c)e[j]||f[j]||!c.hasOwnProperty(j)||null!=this[j]&&this[j]!==c[j]&&this.Get(j,null,1)!==this[j]&&this.toMathMLaddAttr(h,j,this[j]);for(var k=0,l=d.length;kb?1:0};var ha=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(l(a))return l(b)&&1==b.length?a.indexOf(b,c):-1;for(;cc?null:l(a)?a.charAt(c):a[c]}function la(a){return Array.prototype.concat.apply(Array.prototype,arguments)}function ma(a,b,c){return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};var u;a:{var na=k.navigator;if(na){var oa=na.userAgent;if(oa){u=oa;break a}}u=""};var pa=q(u,"Opera")||q(u,"OPR"),v=q(u,"Trident")||q(u,"MSIE"),qa=q(u,"Edge"),ra=q(u,"Gecko")&&!(q(u.toLowerCase(),"webkit")&&!q(u,"Edge"))&&!(q(u,"Trident")||q(u,"MSIE"))&&!q(u,"Edge"),sa=q(u.toLowerCase(),"webkit")&&!q(u,"Edge");function ta(){var a=k.document;return a?a.documentMode:void 0}var ua; -a:{var va="",wa=function(){var a=u;if(ra)return/rv\:([^\);]+)(\)|;)/.exec(a);if(qa)return/Edge\/([\d\.]+)/.exec(a);if(v)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(sa)return/WebKit\/(\S+)/.exec(a);if(pa)return/(?:Version)[ \/]?(\S+)/.exec(a)}();wa&&(va=wa?wa[1]:"");if(v){var xa=ta();if(null!=xa&&xa>parseFloat(va)){ua=String(xa);break a}}ua=va}var ya={}; -function za(a){if(!ya[a]){for(var b=0,c=fa(String(ua)).split("."),d=fa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f",4,2,function(a,b,c){return O(function(a,b){return a>b},a,b,c)});P("<=",4,2,function(a,b,c){return O(function(a,b){return a<=b},a,b,c)});P(">=",4,2,function(a,b,c){return O(function(a,b){return a>=b},a,b,c)});var Wa=P("=",3,2,function(a,b,c){return O(function(a,b){return a==b},a,b,c,!0)});P("!=",3,2,function(a,b,c){return O(function(a,b){return a!=b},a,b,c,!0)});P("and",2,2,function(a,b,c){return M(a,c)&&M(b,c)});P("or",1,2,function(a,b,c){return M(a,c)||M(b,c)});function Q(a,b,c){this.a=a;this.b=b||1;this.f=c||1};function Za(a,b){if(b.a.length&&4!=a.i)throw Error("Primary expression must evaluate to nodeset if filter has predicate(s).");n.call(this,a.i);this.c=a;this.h=b;this.g=a.g;this.b=a.b}m(Za);Za.prototype.a=function(a){a=this.c.a(a);return $a(this.h,a)};Za.prototype.toString=function(){var a;a="Filter:"+J(this.c);return a+=J(this.h)};function ab(a,b){if(b.lengtha.v)throw Error("Function "+a.j+" expects at most "+a.v+" arguments, "+b.length+" given");a.B&&r(b,function(b,d){if(4!=b.i)throw Error("Argument "+d+" to function "+a.j+" is not of type Nodeset: "+b);});n.call(this,a.i);this.h=a;this.c=b;Ua(this,a.g||ja(b,function(a){return a.g}));Va(this,a.D&&!b.length||a.C&&!!b.length||ja(b,function(a){return a.b}))}m(ab); -ab.prototype.a=function(a){return this.h.m.apply(null,la(a,this.c))};ab.prototype.toString=function(){var a="Function: "+this.h;if(this.c.length)var b=t(this.c,function(a,b){return a+J(b)},"Arguments:"),a=a+J(b);return a};function bb(a,b,c,d,e,f,g,h,p){this.j=a;this.i=b;this.g=c;this.D=d;this.C=e;this.m=f;this.A=g;this.v=void 0!==h?h:g;this.B=!!p}bb.prototype.toString=function(){return this.j};var cb={}; -function R(a,b,c,d,e,f,g,h){if(cb.hasOwnProperty(a))throw Error("Function already created: "+a+".");cb[a]=new bb(a,b,c,d,!1,e,f,g,h)}R("boolean",2,!1,!1,function(a,b){return M(b,a)},1);R("ceiling",1,!1,!1,function(a,b){return Math.ceil(K(b,a))},1);R("concat",3,!1,!1,function(a,b){return t(ma(arguments,1),function(b,d){return b+L(d,a)},"")},2,null);R("contains",2,!1,!1,function(a,b,c){return q(L(b,a),L(c,a))},2);R("count",1,!1,!1,function(a,b){return b.a(a).l},1,1,!0); -R("false",2,!1,!1,function(){return!1},0);R("floor",1,!1,!1,function(a,b){return Math.floor(K(b,a))},1);R("id",4,!1,!1,function(a,b){function c(a){if(w){var b=e.all[a];if(b){if(b.nodeType&&a==b.id)return b;if(b.length)return ka(b,function(b){return a==b.id})}return null}return e.getElementById(a)}var d=a.a,e=9==d.nodeType?d:d.ownerDocument,d=L(b,a).split(/\s+/),f=[];r(d,function(a){a=c(a);!a||0<=ha(f,a)||f.push(a)});f.sort(La);var g=new C;r(f,function(a){F(g,a)});return g},1); -R("lang",2,!1,!1,function(){return!1},1);R("last",1,!0,!1,function(a){if(1!=arguments.length)throw Error("Function last expects ()");return a.f},0);R("local-name",3,!1,!0,function(a,b){var c=b?Ra(b.a(a)):a.a;return c?c.localName||c.nodeName.toLowerCase():""},0,1,!0);R("name",3,!1,!0,function(a,b){var c=b?Ra(b.a(a)):a.a;return c?c.nodeName.toLowerCase():""},0,1,!0);R("namespace-uri",3,!0,!1,function(){return""},0,1,!0); -R("normalize-space",3,!1,!0,function(a,b){return(b?L(b,a):z(a.a)).replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},0,1);R("not",2,!1,!1,function(a,b){return!M(b,a)},1);R("number",1,!1,!0,function(a,b){return b?K(b,a):+z(a.a)},0,1);R("position",1,!0,!1,function(a){return a.b},0);R("round",1,!1,!1,function(a,b){return Math.round(K(b,a))},1);R("starts-with",2,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);return 0==b.lastIndexOf(a,0)},2);R("string",3,!1,!0,function(a,b){return b?L(b,a):z(a.a)},0,1); -R("string-length",1,!1,!0,function(a,b){return(b?L(b,a):z(a.a)).length},0,1);R("substring",3,!1,!1,function(a,b,c,d){c=K(c,a);if(isNaN(c)||Infinity==c||-Infinity==c)return"";d=d?K(d,a):Infinity;if(isNaN(d)||-Infinity===d)return"";c=Math.round(c)-1;var e=Math.max(c,0);a=L(b,a);return Infinity==d?a.substring(e):a.substring(e,c+Math.round(d))},2,3);R("substring-after",3,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);c=b.indexOf(a);return-1==c?"":b.substring(c+a.length)},2); -R("substring-before",3,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);a=b.indexOf(a);return-1==a?"":b.substring(0,a)},2);R("sum",1,!1,!1,function(a,b){for(var c=H(b.a(a)),d=0,e=I(c);e;e=I(c))d+=+z(e);return d},1,1,!0);R("translate",3,!1,!1,function(a,b,c,d){b=L(b,a);c=L(c,a);var e=L(d,a);a={};for(d=0;d]=|\s+|./g,hb=/^\s/;function S(a,b){return a.b[a.a+(b||0)]}function T(a){return a.b[a.a++]}function ib(a){return a.b.length<=a.a};function jb(a){n.call(this,3);this.c=a.substring(1,a.length-1)}m(jb);jb.prototype.a=function(){return this.c};jb.prototype.toString=function(){return"Literal: "+this.c};function E(a,b){this.j=a.toLowerCase();var c;c="*"==this.j?"*":"http://www.w3.org/1999/xhtml";this.c=b?b.toLowerCase():c}E.prototype.a=function(a){var b=a.nodeType;if(1!=b&&2!=b)return!1;b=void 0!==a.localName?a.localName:a.nodeName;return"*"!=this.j&&this.j!=b.toLowerCase()?!1:"*"==this.c?!0:this.c==(a.namespaceURI?a.namespaceURI.toLowerCase():"http://www.w3.org/1999/xhtml")};E.prototype.f=function(){return this.j}; -E.prototype.toString=function(){return"Name Test: "+("http://www.w3.org/1999/xhtml"==this.c?"":this.c+":")+this.j};function kb(a,b){n.call(this,a.i);this.h=a;this.c=b;this.g=a.g;this.b=a.b;if(1==this.c.length){var c=this.c[0];c.u||c.c!=lb||(c=c.o,"*"!=c.f()&&(this.f={name:c.f(),s:null}))}}m(kb);function mb(){n.call(this,4)}m(mb);mb.prototype.a=function(a){var b=new C;a=a.a;9==a.nodeType?F(b,a):F(b,a.ownerDocument);return b};mb.prototype.toString=function(){return"Root Helper Expression"};function nb(){n.call(this,4)}m(nb);nb.prototype.a=function(a){var b=new C;F(b,a.a);return b};nb.prototype.toString=function(){return"Context Helper Expression"}; -function ob(a){return"/"==a||"//"==a}kb.prototype.a=function(a){var b=this.h.a(a);if(!(b instanceof C))throw Error("Filter expression must evaluate to nodeset.");a=this.c;for(var c=0,d=a.length;ca.length)throw Error("Unclosed literal string");return new jb(a)} -function Hb(a){var b,c=[],d;if(ob(S(a.a))){b=T(a.a);d=S(a.a);if("/"==b&&(ib(a.a)||"."!=d&&".."!=d&&"@"!=d&&"*"!=d&&!/(?![0-9])[\w]/.test(d)))return new mb;d=new mb;W(a,"Missing next location step.");b=Ib(a,b);c.push(b)}else{a:{b=S(a.a);d=b.charAt(0);switch(d){case "$":throw Error("Variable reference not allowed in HTML XPath");case "(":T(a.a);b=Cb(a);W(a,'unclosed "("');Eb(a,")");break;case '"':case "'":b=Gb(a);break;default:if(isNaN(+b))if(!db(b)&&/(?![0-9])[\w]/.test(d)&&"("==S(a.a,1)){b=T(a.a); -b=cb[b]||null;T(a.a);for(d=[];")"!=S(a.a);){W(a,"Missing function argument list.");d.push(Cb(a));if(","!=S(a.a))break;T(a.a)}W(a,"Unclosed function argument list.");Fb(a);b=new ab(b,d)}else{b=null;break a}else b=new Ab(+T(a.a))}"["==S(a.a)&&(d=new sb(Jb(a)),b=new Za(b,d))}if(b)if(ob(S(a.a)))d=b;else return b;else b=Ib(a,"/"),d=new nb,c.push(b)}for(;ob(S(a.a));)b=T(a.a),W(a,"Missing next location step."),b=Ib(a,b),c.push(b);return new kb(d,c)} -function Ib(a,b){var c,d,e;if("/"!=b&&"//"!=b)throw Error('Step op should be "/" or "//"');if("."==S(a.a))return d=new U(yb,new G("node")),T(a.a),d;if(".."==S(a.a))return d=new U(xb,new G("node")),T(a.a),d;var f;if("@"==S(a.a))f=lb,T(a.a),W(a,"Missing attribute name");else if("::"==S(a.a,1)){if(!/(?![0-9])[\w]/.test(S(a.a).charAt(0)))throw Error("Bad token: "+T(a.a));c=T(a.a);f=wb[c]||null;if(!f)throw Error("No axis with name: "+c);T(a.a);W(a,"Missing node name")}else f=tb;c=S(a.a);if(/(?![0-9])[\w\*]/.test(c.charAt(0)))if("("== -S(a.a,1)){if(!db(c))throw Error("Invalid node type: "+c);c=T(a.a);if(!db(c))throw Error("Invalid type name: "+c);Eb(a,"(");W(a,"Bad nodetype");e=S(a.a).charAt(0);var g=null;if('"'==e||"'"==e)g=Gb(a);W(a,"Bad nodetype");Fb(a);c=new G(c,g)}else if(c=T(a.a),e=c.indexOf(":"),-1==e)c=new E(c);else{var g=c.substring(0,e),h;if("*"==g)h="*";else if(h=a.b(g),!h)throw Error("Namespace prefix not declared: "+g);c=c.substr(e+1);c=new E(c,h)}else throw Error("Bad token: "+T(a.a));e=new sb(Jb(a),f.a);return d|| -new U(f,c,e,"//"==b)}function Jb(a){for(var b=[];"["==S(a.a);){T(a.a);W(a,"Missing predicate expression.");var c=Cb(a);b.push(c);W(a,"Unclosed predicate expression.");Eb(a,"]")}return b}function Db(a){if("-"==S(a.a))return T(a.a),new zb(Db(a));var b=Hb(a);if("|"!=S(a.a))a=b;else{for(b=[b];"|"==T(a.a);)W(a,"Missing next union location path."),b.push(Hb(a));a.a.a--;a=new rb(b)}return a};function Kb(a){switch(a.nodeType){case 1:return ea(Lb,a);case 9:return Kb(a.documentElement);case 11:case 10:case 6:case 12:return Mb;default:return a.parentNode?Kb(a.parentNode):Mb}}function Mb(){return null}function Lb(a,b){if(a.prefix==b)return a.namespaceURI||"http://www.w3.org/1999/xhtml";var c=a.getAttributeNode("xmlns:"+b);return c&&c.specified?c.value||null:a.parentNode&&9!=a.parentNode.nodeType?Lb(a.parentNode,b):null};function Nb(a,b){if(!a.length)throw Error("Empty XPath expression.");var c=fb(a);if(ib(c))throw Error("Invalid XPath expression.");b?"function"==aa(b)||(b=da(b.lookupNamespaceURI,b)):b=function(){return null};var d=Cb(new Bb(c,b));if(!ib(c))throw Error("Bad token: "+T(c));this.evaluate=function(a,b){var c=d.a(new Q(a));return new Y(c,b)}} -function Y(a,b){if(0==b)if(a instanceof C)b=4;else if("string"==typeof a)b=2;else if("number"==typeof a)b=1;else if("boolean"==typeof a)b=3;else throw Error("Unexpected evaluation result.");if(2!=b&&1!=b&&3!=b&&!(a instanceof C))throw Error("value could not be converted to the specified type");this.resultType=b;var c;switch(b){case 2:this.stringValue=a instanceof C?Sa(a):""+a;break;case 1:this.numberValue=a instanceof C?+Sa(a):+a;break;case 3:this.booleanValue=a instanceof C?0=c.length?null:c[f++]};this.snapshotItem=function(a){if(6!=b&&7!=b)throw Error("snapshotItem called with wrong result type");return a>=c.length|| -0>a?null:c[a]}}Y.ANY_TYPE=0;Y.NUMBER_TYPE=1;Y.STRING_TYPE=2;Y.BOOLEAN_TYPE=3;Y.UNORDERED_NODE_ITERATOR_TYPE=4;Y.ORDERED_NODE_ITERATOR_TYPE=5;Y.UNORDERED_NODE_SNAPSHOT_TYPE=6;Y.ORDERED_NODE_SNAPSHOT_TYPE=7;Y.ANY_UNORDERED_NODE_TYPE=8;Y.FIRST_ORDERED_NODE_TYPE=9;function Ob(a){this.lookupNamespaceURI=Kb(a)} -function Pb(a,b){var c=a||k,d=c.Document&&c.Document.prototype||c.document;if(!d.evaluate||b)c.XPathResult=Y,d.evaluate=function(a,b,c,d){return(new Nb(a,c)).evaluate(b,d)},d.createExpression=function(a,b){return new Nb(a,b)},d.createNSResolver=function(a){return new Ob(a)}}var Qb=["wgxpath","install"],Z=k;Qb[0]in Z||!Z.execScript||Z.execScript("var "+Qb[0]);for(var Rb;Qb.length&&(Rb=Qb.shift());)Qb.length||void 0===Pb?Z[Rb]?Z=Z[Rb]:Z=Z[Rb]={}:Z[Rb]=Pb;}).call(this) diff --git a/src/py/kaleido/vendor/mathjax/extensions/asciimath2jax.js b/src/py/kaleido/vendor/mathjax/extensions/asciimath2jax.js deleted file mode 100644 index ee340212..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/asciimath2jax.js +++ /dev/null @@ -1,254 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/asciimath2jax.js - * - * Implements the AsciiMath to Jax preprocessor that locates AsciiMath - * code within the text of a document and replaces it with SCRIPT tags for - * processing by MathJax. - * - * Modified by David Lippman, based on tex2jax.js. - * Additional work by Davide P. Cervone. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2012-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension.asciimath2jax = { - version: "2.7.5", - config: { - delimiters: [['`','`']], // The star/stop delimiter pairs for asciimath code - - skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], - // The names of the tags whose contents will not be - // scanned for math delimiters - - ignoreClass: "asciimath2jax_ignore", // the class name of elements whose contents should - // NOT be processed by asciimath2jax. Note that this - // is a regular expression, so be sure to quote any - // regexp special characters - - processClass: "asciimath2jax_process", // the class name of elements whose contents SHOULD - // be processed when they appear inside ones that - // are ignored. Note that this is a regular expression, - // so be sure to quote any regexp special characters - - preview: "AsciiMath" // set to "none" to not insert MathJax_Preview spans - // or set to an array specifying an HTML snippet - // to use the same preview for every equation. - - }, - - // - // Tags to ignore when searching for AsciiMath in the page - // - ignoreTags: { - br: (MathJax.Hub.Browser.isMSIE && document.documentMode < 9 ? "\n" : " "), - wbr: "", - "#comment": "" - }, - - PreProcess: function (element) { - if (!this.configured) { - this.config = MathJax.Hub.CombineConfig("asciimath2jax",this.config); - if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} - this.configured = true; - } - if (typeof(element) === "string") {element = document.getElementById(element)} - if (!element) {element = document.body} - if (this.createPatterns()) {this.scanElement(element,element.nextSibling)} - }, - - createPatterns: function () { - var starts = [], i, m, config = this.config; this.match = {}; - if (config.delimiters.length === 0) {return false} - for (i = 0, m = config.delimiters.length; i < m; i++) { - starts.push(this.patternQuote(config.delimiters[i][0])); - this.match[config.delimiters[i][0]] = { - mode: "", - end: config.delimiters[i][1], - pattern: this.endPattern(config.delimiters[i][1]) - }; - } - this.start = new RegExp(starts.sort(this.sortLength).join("|"),"g"); - this.skipTags = new RegExp("^("+config.skipTags.join("|")+")$","i"); - var ignore = []; - if (MathJax.Hub.config.preRemoveClass) {ignore.push(MathJax.Hub.config.preRemoveClass)} - if (config.ignoreClass) {ignore.push(config.ignoreClass)} - this.ignoreClass = (ignore.length ? new RegExp("(^| )("+ignore.join("|")+")( |$)") : /^$/); - this.processClass = new RegExp("(^| )("+config.processClass+")( |$)"); - return true; - }, - - patternQuote: function (s) {return s.replace(/([\^$(){}+*?\-|\[\]\:\\])/g,'\\$1')}, - - endPattern: function (end) { - return new RegExp(this.patternQuote(end)+"|\\\\.","g"); - }, - - sortLength: function (a,b) { - if (a.length !== b.length) {return b.length - a.length} - return (a == b ? 0 : (a < b ? -1 : 1)); - }, - - scanElement: function (element,stop,ignore) { - var cname, tname, ignoreChild, process; - while (element && element != stop) { - if (element.nodeName.toLowerCase() === '#text') { - if (!ignore) {element = this.scanText(element)} - } else { - cname = (typeof(element.className) === "undefined" ? "" : element.className); - tname = (typeof(element.tagName) === "undefined" ? "" : element.tagName); - if (typeof(cname) !== "string") {cname = String(cname)} // jsxgraph uses non-string class names! - process = this.processClass.exec(cname); - if (element.firstChild && !cname.match(/(^| )MathJax/) && - (process || !this.skipTags.exec(tname))) { - ignoreChild = (ignore || this.ignoreClass.exec(cname)) && !process; - this.scanElement(element.firstChild,stop,ignoreChild); - } - } - if (element) {element = element.nextSibling} - } - }, - - scanText: function (element) { - if (element.nodeValue.replace(/\s+/,'') == '') {return element} - var match, prev, pos = 0, rescan; - this.search = {start: true}; - this.pattern = this.start; - while (element) { - rescan = null; - this.pattern.lastIndex = pos || 0; pos = 0; - while (element && element.nodeName.toLowerCase() === '#text' && - (match = this.pattern.exec(element.nodeValue))) { - if (this.search.start) {element = this.startMatch(match,element)} - else {element = this.endMatch(match,element)} - } - if (this.search.matched) element = this.encloseMath(element); - else if (!this.search.start) rescan = this.search; - if (element) { - do {prev = element; element = element.nextSibling} - while (element && this.ignoreTags[element.nodeName.toLowerCase()] != null); - if (!element || element.nodeName !== '#text') { - if (!rescan) return prev; - element = rescan.open; - pos = rescan.opos + rescan.olen; - this.search = {start: true}; - this.pattern = this.start; - } - } - } - return element; - }, - - startMatch: function (match,element) { - var delim = this.match[match[0]]; - if (delim != null) { - this.search = { - end: delim.end, mode: delim.mode, - open: element, olen: match[0].length, - opos: this.pattern.lastIndex - match[0].length - }; - this.switchPattern(delim.pattern); - } - return element; - }, - - endMatch: function (match,element) { - if (match[0] == this.search.end) { - this.search.close = element; - this.search.cpos = this.pattern.lastIndex; - this.search.clen = (this.search.isBeginEnd ? 0 : match[0].length); - this.search.matched = true; - element = this.encloseMath(element); - this.switchPattern(this.start); - } - return element; - }, - - switchPattern: function (pattern) { - pattern.lastIndex = this.pattern.lastIndex; - this.pattern = pattern; - this.search.start = (pattern === this.start); - }, - - encloseMath: function (element) { - var search = this.search, close = search.close, CLOSE, math, next; - if (search.cpos === close.length) {close = close.nextSibling} - else {close = close.splitText(search.cpos)} - if (!close) {CLOSE = close = MathJax.HTML.addText(search.close.parentNode,"")} - search.close = close; - math = (search.opos ? search.open.splitText(search.opos) : search.open); - while ((next = math.nextSibling) && next !== close) { - if (next.nodeValue !== null) { - if (next.nodeName === "#comment") { - math.nodeValue += next.nodeValue.replace(/^\[CDATA\[((.|\n|\r)*)\]\]$/,"$1"); - } else { - math.nodeValue += math.nextSibling.nodeValue; - } - } else { - var ignore = this.ignoreTags[next.nodeName.toLowerCase()]; - math.nodeValue += (ignore == null ? " " : ignore); - } - math.parentNode.removeChild(next); - } - var AM = math.nodeValue.substr(search.olen,math.nodeValue.length-search.olen-search.clen); - math.parentNode.removeChild(math); - if (this.config.preview !== "none") {this.createPreview(search.mode,AM)} - math = this.createMathTag(search.mode,AM); - this.search = {}; this.pattern.lastIndex = 0; - if (CLOSE) {CLOSE.parentNode.removeChild(CLOSE)} - return math; - }, - - insertNode: function (node) { - var search = this.search; - search.close.parentNode.insertBefore(node,search.close); - }, - - createPreview: function (mode,asciimath) { - var previewClass = MathJax.Hub.config.preRemoveClass; - var preview = this.config.preview; - if (preview === "none") return; - if ((this.search.close.previousSibling||{}).className === previewClass) return; - if (preview === "AsciiMath") {preview = [this.filterPreview(asciimath)]} - if (preview) { - preview = MathJax.HTML.Element("span",{className:previewClass},preview); - this.insertNode(preview); - } - }, - - createMathTag: function (mode,asciimath) { - var script = document.createElement("script"); - script.type = "math/asciimath" + mode; - MathJax.HTML.setScript(script,asciimath); - this.insertNode(script); - return script; - }, - - filterPreview: function (asciimath) {return asciimath} - -}; - -// We register the preprocessors with the following priorities: -// - mml2jax.js: 5 -// - jsMath2jax.js: 8 -// - asciimath2jax.js, tex2jax.js: 10 (default) -// See issues 18 and 484 and the other *2jax.js files. -MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.asciimath2jax]); -MathJax.Ajax.loadComplete("[MathJax]/extensions/asciimath2jax.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/fast-preview.js b/src/py/kaleido/vendor/mathjax/extensions/fast-preview.js deleted file mode 100644 index e3189be3..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/fast-preview.js +++ /dev/null @@ -1,155 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/fast-preview.js - * - * Implements a fast preview using the PreviewHTML output jax - * and then a slower update to the more accurate HTML-CSS output - * (or whatever the user has selected). - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2014-2018 The MathJax Consortium - * - * 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. - */ - -(function (HUB,HTML,BROWSER) { - - var SETTINGS = HUB.config.menuSettings; - var JAX = MathJax.OutputJax; - var msieColorBug = BROWSER.isMSIE && (document.documentMode||0) < 8; - - var FastPreview = MathJax.Extension["fast-preview"] = { - version: "2.7.5", - enabled: true, - - // - // Configuration for the chunking of the main output - // after the previews have been created, and other configuration. - // - config: HUB.CombineConfig("fast-preview",{ - Chunks: {EqnChunk: 10000, EqnChunkFactor: 1, EqnChunkDelay: 0}, - color: "inherit!important", - updateTime: 30, updateDelay: 6, - messageStyle: "none", - disabled: BROWSER.isMSIE && !BROWSER.versionAtLeast("8.0") - }), - - // - // Ajust the chunking of the output jax - // - Config: function () { - if (HUB.config["CHTML-preview"]) - MathJax.Hub.Config({"fast-preview": HUB.config["CHTML-preview"]}); - var update, delay, style, done, saved; - var config = this.config; - - if (!config.disabled && SETTINGS.FastPreview == null) - HUB.Config({menuSettings:{FastPreview:true}}); - if (SETTINGS.FastPreview) { - MathJax.Ajax.Styles({".MathJax_Preview .MJXf-math":{color:config.color}}); - HUB.Config({"HTML-CSS": config.Chunks, CommonHTML: config.Chunks, SVG: config.Chunks}); - } - HUB.Register.MessageHook("Begin Math Output",function () { - if (!done && FastPreview.Active()) { - update = HUB.processUpdateTime; delay = HUB.processUpdateDelay; - style = HUB.config.messageStyle; - HUB.processUpdateTime = config.updateTime; - HUB.processUpdateDelay = config.updateDelay; - HUB.Config({messageStyle: config.messageStyle}); - MathJax.Message.Clear(0,0); - saved = true; - } - }); - HUB.Register.MessageHook("End Math Output",function () { - if (!done && saved) { - HUB.processUpdateTime = update; - HUB.processUpdateDelay = delay; - HUB.Config({messageStyle: style}); - done = true; - } - }); - }, - - // - // Allow page to override user settings (for things like editor previews) - // - Disable: function () {this.enabled = false}, - Enable: function () {this.enabled = true}, - - Active: function () { - return SETTINGS.FastPreview && this.enabled && - !(JAX[SETTINGS.renderer]||{}).noFastPreview; - }, - - // - // Insert a preview span, if there isn't one already, - // and call the PreviewHTML output jax to create the preview - // - Preview: function (data) { - if (!this.Active() || !data.script.parentNode) return; - var preview = data.script.MathJax.preview || data.script.previousSibling; - if (!preview || preview.className !== MathJax.Hub.config.preRemoveClass) { - preview = HTML.Element("span",{className:MathJax.Hub.config.preRemoveClass}); - data.script.parentNode.insertBefore(preview,data.script); - data.script.MathJax.preview = preview; - } - preview.innerHTML = ""; - preview.style.color = (msieColorBug ? "black" : "inherit"); - return this.postFilter(preview,data); - }, - postFilter: function (preview,data) { - // - // Load the PreviewHTML jax if it is not already loaded - // - if (!data.math.root.toPreviewHTML) { - var queue = MathJax.Callback.Queue(); - queue.Push( - ["Require",MathJax.Ajax,"[MathJax]/jax/output/PreviewHTML/config.js"], - ["Require",MathJax.Ajax,"[MathJax]/jax/output/PreviewHTML/jax.js"] - ); - HUB.RestartAfter(queue.Push({})); - } - data.math.root.toPreviewHTML(preview); - }, - - // - // Hook into the input jax postFilter to create the previews as - // the input jax are processed. - // - Register: function (name) { - HUB.Register.StartupHook(name+" Jax Require",function () { - var jax = MathJax.InputJax[name]; - jax.postfilterHooks.Add(["Preview",MathJax.Extension["fast-preview"]],50); - }); - } - } - - // - // Hook into each input jax - // - FastPreview.Register("TeX"); - FastPreview.Register("MathML"); - FastPreview.Register("AsciiMath"); - - HUB.Register.StartupHook("End Config",["Config",FastPreview]); - - HUB.Startup.signal.Post("fast-preview Ready"); - -})(MathJax.Hub,MathJax.HTML,MathJax.Hub.Browser); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/fast-preview.js"); - diff --git a/src/py/kaleido/vendor/mathjax/extensions/jsMath2jax.js b/src/py/kaleido/vendor/mathjax/extensions/jsMath2jax.js deleted file mode 100644 index 80402573..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/jsMath2jax.js +++ /dev/null @@ -1,105 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/jsMath2jax.js - * - * Implements a jsMath to Jax preprocessor that locates jsMath-style - * ... and
        ...
        tags - * and replaces them with SCRIPT tags for processing by MathJax. - * (Note: use the tex2jax preprocessor to convert TeX delimiters or - * custom delimiters to MathJax SCRIPT tags. This preprocessor is - * only for the SPAN and DIV form of jsMath delimiters). - * - * To use this preprocessor, include "jsMath2jax.js" in the extensions - * array in your config/MathJax.js file, or the MathJax.Hub.Config() call - * in your HTML document. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension.jsMath2jax = { - version: "2.7.5", - - config: { - preview: "TeX" // Set to "none" to prevent preview strings from being inserted - // or to an array that specifies an HTML snippet to use for - // the preview. - }, - - PreProcess: function (element) { - if (!this.configured) { - this.config = MathJax.Hub.CombineConfig("jsMath2jax",this.config); - if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} - if (typeof(this.config.previewTeX) !== "undefined" && !this.config.previewTeX) - {this.config.preview = "none"} // backward compatibility for previewTeX parameter - this.previewClass = MathJax.Hub.config.preRemoveClass; - this.configured = true; - } - if (typeof(element) === "string") {element = document.getElementById(element)} - if (!element) {element = document.body} - var span = element.getElementsByTagName("span"), i; - for (i = span.length-1; i >= 0; i--) - {if (String(span[i].className).match(/(^| )math( |$)/)) {this.ConvertMath(span[i],"")}} - var div = element.getElementsByTagName("div"); - for (i = div.length-1; i >= 0; i--) - {if (String(div[i].className).match(/(^| )math( |$)/)) {this.ConvertMath(div[i],"; mode=display")}} - }, - - ConvertMath: function (node,mode) { - if (node.getElementsByTagName("script").length === 0) { - var parent = node.parentNode, - script = this.createMathTag(mode,node.innerHTML); - if (node.nextSibling) {parent.insertBefore(script,node.nextSibling)} - else {parent.appendChild(script)} - if (this.config.preview !== "none") {this.createPreview(node)} - parent.removeChild(node); - } - }, - - createPreview: function (node) { - var previewClass = MathJax.Hub.config.preRemoveClass; - var preview = this.config.preview; - if (preview === "none") return; - if ((node.previousSibling||{}).className === previewClass) return; - if (preview === "TeX") {preview = [this.filterPreview(node.innerHTML)]} - if (preview) { - preview = MathJax.HTML.Element("span",{className:previewClass},preview); - node.parentNode.insertBefore(preview,node); - } - }, - - createMathTag: function (mode,tex) { - tex = tex.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&"); - var script = document.createElement("script"); - script.type = "math/tex" + mode; - MathJax.HTML.setScript(script,tex); - return script; - }, - - filterPreview: function (tex) {return tex} - -}; - -// We register the preprocessors with the following priorities: -// - mml2jax.js: 5 -// - jsMath2jax.js: 8 -// - asciimath2jax.js, tex2jax.js: 10 (default) -// See issues 18 and 484 and the other *2jax.js files. -MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.jsMath2jax],8); -MathJax.Ajax.loadComplete("[MathJax]/extensions/jsMath2jax.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/mml2jax.js b/src/py/kaleido/vendor/mathjax/extensions/mml2jax.js deleted file mode 100644 index f50b3d87..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/mml2jax.js +++ /dev/null @@ -1,263 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/mml2jax.js - * - * Implements the MathML to Jax preprocessor that locates nodes - * within the text of a document and replaces them with SCRIPT tags - * for processing by MathJax. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension.mml2jax = { - version: "2.7.5", - config: { - preview: "mathml" // Use the element as the - // preview. Set to "none" for no preview, - // set to "alttext" to use the alttext attribute - // of the element, set to "altimg" to use - // an image described by the altimg* attributes - // or set to an array specifying an HTML snippet - // to use a fixed preview for all math - - }, - MMLnamespace: "http://www.w3.org/1998/Math/MathML", - - PreProcess: function (element) { - if (!this.configured) { - this.config = MathJax.Hub.CombineConfig("mml2jax",this.config); - if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} - this.InitBrowser(); - this.configured = true; - } - if (typeof(element) === "string") {element = document.getElementById(element)} - if (!element) {element = document.body} - var mathArray = []; - // - // Handle all math tags with no namespaces - // - this.PushMathElements(mathArray,element,"math"); - // - // Handle math with namespaces in XHTML - // - this.PushMathElements(mathArray,element,"math",this.MMLnamespace); - // - // Handle math with namespaces in HTML - // - var i, m; - if (typeof(document.namespaces) !== "undefined") { - // - // IE namespaces are listed in document.namespaces - // - try { - for (i = 0, m = document.namespaces.length; i < m; i++) { - var ns = document.namespaces[i]; - if (ns.urn === this.MMLnamespace) - {this.PushMathElements(mathArray,element,ns.name+":math")} - } - } catch (err) {} - } else { - // - // Everybody else - // - var html = document.getElementsByTagName("html")[0]; - if (html) { - for (i = 0, m = html.attributes.length; i < m; i++) { - var attr = html.attributes[i]; - if (attr.nodeName.substr(0,6) === "xmlns:" && attr.nodeValue === this.MMLnamespace) - {this.PushMathElements(mathArray,element,attr.nodeName.substr(6)+":math")} - } - } - } - this.ProcessMathArray(mathArray); - }, - - PushMathElements: function (array,element,name,namespace) { - var math, preview = MathJax.Hub.config.preRemoveClass; - if (namespace) { - if (!element.getElementsByTagNameNS) return; - math = element.getElementsByTagNameNS(namespace,name); - } else { - math = element.getElementsByTagName(name); - } - for (var i = 0, m = math.length; i < m; i++) { - var parent = math[i].parentNode; - if (parent && parent.className !== preview && - !parent.isMathJax && !math[i].prefix === !namespace) array.push(math[i]); - } - }, - - ProcessMathArray: function (math) { - var i, m = math.length; - if (m) { - if (this.MathTagBug) { - for (i = 0; i < m; i++) { - if (math[i].nodeName === "MATH") {this.ProcessMathFlattened(math[i])} - else {this.ProcessMath(math[i])} - } - } else { - for (i = 0; i < m; i++) {this.ProcessMath(math[i])} - } - } - }, - - ProcessMath: function (math) { - var parent = math.parentNode; - if (!parent || parent.className === MathJax.Hub.config.preRemoveClass) return; - var script = document.createElement("script"); - script.type = "math/mml"; - parent.insertBefore(script,math); - if (this.AttributeBug) { - var html = this.OuterHTML(math); - if (this.CleanupHTML) { - html = html.replace(/<\?import .*?>/i,"").replace(/<\?xml:namespace .*?\/>/i,""); - html = html.replace(/ /g," "); - } - MathJax.HTML.setScript(script,html); parent.removeChild(math); - } else { - var span = MathJax.HTML.Element("span"); span.appendChild(math); - MathJax.HTML.setScript(script,span.innerHTML); - } - if (this.config.preview !== "none") {this.createPreview(math,script)} - }, - - ProcessMathFlattened: function (math) { - var parent = math.parentNode; - if (!parent || parent.className === MathJax.Hub.config.preRemoveClass) return; - var script = document.createElement("script"); - script.type = "math/mml"; - parent.insertBefore(script,math); - var mml = "", node, MATH = math; - while (math && math.nodeName !== "/MATH") { - node = math; math = math.nextSibling; - mml += this.NodeHTML(node); - node.parentNode.removeChild(node); - } - if (math && math.nodeName === "/MATH") {math.parentNode.removeChild(math)} - script.text = mml + ""; - if (this.config.preview !== "none") {this.createPreview(MATH,script)} - }, - - NodeHTML: function (node) { - var html, i, m; - if (node.nodeName === "#text") { - html = this.quoteHTML(node.nodeValue); - } else if (node.nodeName === "#comment") { - html = "" - } else { - // In IE, outerHTML doesn't properly quote attributes, so quote them by hand - // In Opera, HTML special characters aren't quoted in attributes, so quote them - html = "<"+node.nodeName.toLowerCase(); - for (i = 0, m = node.attributes.length; i < m; i++) { - var attribute = node.attributes[i]; - if (attribute.specified && attribute.nodeName.substr(0,10) !== "_moz-math-") { - // Opera 11.5 beta turns xmlns into xmlns:xmlns, so put it back (*** check after 11.5 is out ***) - html += " "+attribute.nodeName.toLowerCase().replace(/xmlns:xmlns/,"xmlns")+"="; - var value = attribute.nodeValue; // IE < 8 doesn't properly set style by setAttributes - if (value == null && attribute.nodeName === "style" && node.style) {value = node.style.cssText} - html += '"'+this.quoteHTML(value)+'"'; - } - } - html += ">"; - // Handle internal HTML (possibly due to annotation or missing ) - if (node.outerHTML != null && node.outerHTML.match(/(.<\/[A-Z]+>|\/>)$/)) { - for (i = 0, m = node.childNodes.length; i < m; i++) - {html += this.OuterHTML(node.childNodes[i])} - html += ""; - } - } - return html; - }, - OuterHTML: function (node) { - if (node.nodeName.charAt(0) === "#") {return this.NodeHTML(node)} - if (!this.AttributeBug) {return node.outerHTML} - var html = this.NodeHTML(node); - for (var i = 0, m = node.childNodes.length; i < m; i++) - {html += this.OuterHTML(node.childNodes[i]);} - html += ""; - return html; - }, - quoteHTML: function (string) { - if (string == null) {string = ""} - return string.replace(/&/g,"&").replace(//g,">").replace(/\"/g,"""); - }, - - createPreview: function (math,script) { - var preview = this.config.preview; - if (preview === "none") return; - var isNodePreview = false; - var previewClass = MathJax.Hub.config.preRemoveClass; - if ((script.previousSibling||{}).className === previewClass) return; - if (preview === "mathml") { - isNodePreview = true; - // mathml preview does not work with IE < 9, so fallback to alttext. - if (this.MathTagBug) {preview = "alttext"} else {preview = math.cloneNode(true)} - } - if (preview === "alttext" || preview === "altimg") { - isNodePreview = true; - var alttext = this.filterPreview(math.getAttribute("alttext")); - if (preview === "alttext") { - if (alttext != null) {preview = MathJax.HTML.TextNode(alttext)} else {preview = null} - } else { - var src = math.getAttribute("altimg"); - if (src != null) { - // FIXME: use altimg-valign when display="inline"? - var style = {width: math.getAttribute("altimg-width"), height: math.getAttribute("altimg-height")}; - preview = MathJax.HTML.Element("img",{src:src,alt:alttext,style:style}); - } else {preview = null} - } - } - if (preview) { - var span; - if (isNodePreview) { - span = MathJax.HTML.Element("span",{className:previewClass}); - span.appendChild(preview); - } else { - span = MathJax.HTML.Element("span",{className:previewClass},preview); - } - script.parentNode.insertBefore(span,script); - } - }, - - filterPreview: function (text) {return text}, - - InitBrowser: function () { - var test = MathJax.HTML.Element("span",{id:"<", className: "mathjax", innerHTML: "x"}); - var html = test.outerHTML || ""; - this.AttributeBug = html !== "" && !( - html.match(/id="<"/) && // "<" should convert to "<" - html.match(/class="mathjax"/) && // IE leaves out quotes - html.match(/<\/math>/) // Opera 9 drops tags after self-closing tags - ); - this.MathTagBug = test.childNodes.length > 1; // IE < 9 flattens unknown tags - this.CleanupHTML = MathJax.Hub.Browser.isMSIE; // remove namespace and other added tags - } - -}; - -// -// We register the preprocessors with the following priorities: -// - mml2jax.js: 5 -// - jsMath2jax.js: 8 -// - asciimath2jax.js, tex2jax.js: 10 (default) -// See issues 18 and 484 and the other *2jax.js files. -// -MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.mml2jax],5); -MathJax.Ajax.loadComplete("[MathJax]/extensions/mml2jax.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/tex2jax.js b/src/py/kaleido/vendor/mathjax/extensions/tex2jax.js deleted file mode 100644 index e3af3f9f..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/tex2jax.js +++ /dev/null @@ -1,319 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/tex2jax.js - * - * Implements the TeX to Jax preprocessor that locates TeX code - * within the text of a document and replaces it with SCRIPT tags - * for processing by MathJax. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Extension.tex2jax = { - version: "2.7.5", - config: { - inlineMath: [ // The start/stop pairs for in-line math -// ['$','$'], // (comment out any you don't want, or add your own, but - ['\\(','\\)'] // be sure that you don't have an extra comma at the end) - ], - - displayMath: [ // The start/stop pairs for display math - ['$$','$$'], // (comment out any you don't want, or add your own, but - ['\\[','\\]'] // be sure that you don't have an extra comma at the end) - ], - - skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], - // The names of the tags whose contents will not be - // scanned for math delimiters - - ignoreClass: "tex2jax_ignore", // the class name of elements whose contents should - // NOT be processed by tex2jax. Note that this - // is a regular expression, so be sure to quote any - // regexp special characters - - processClass: "tex2jax_process", // the class name of elements whose contents SHOULD - // be processed when they appear inside ones that - // are ignored. Note that this is a regular expression, - // so be sure to quote any regexp special characters - - processEscapes: false, // set to true to allow \$ to produce a dollar without - // starting in-line math mode - - processEnvironments: true, // set to true to process \begin{xxx}...\end{xxx} outside - // of math mode, false to prevent that - - processRefs: true, // set to true to process \ref{...} outside of math mode - - - preview: "TeX" // set to "none" to not insert MathJax_Preview spans - // or set to an array specifying an HTML snippet - // to use the same preview for every equation. - - }, - - // - // Tags to ignore when searching for TeX in the page - // - ignoreTags: { - br: (MathJax.Hub.Browser.isMSIE && document.documentMode < 9 ? "\n" : " "), - wbr: "", - "#comment": "" - }, - - PreProcess: function (element) { - if (!this.configured) { - this.config = MathJax.Hub.CombineConfig("tex2jax",this.config); - if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} - if (typeof(this.config.previewTeX) !== "undefined" && !this.config.previewTeX) - {this.config.preview = "none"} // backward compatibility for previewTeX parameter - this.configured = true; - } - if (typeof(element) === "string") {element = document.getElementById(element)} - if (!element) {element = document.body} - if (this.createPatterns()) {this.scanElement(element,element.nextSibling)} - }, - - createPatterns: function () { - var starts = [], parts = [], i, m, config = this.config; - this.match = {}; - for (i = 0, m = config.inlineMath.length; i < m; i++) { - starts.push(this.patternQuote(config.inlineMath[i][0])); - this.match[config.inlineMath[i][0]] = { - mode: "", - end: config.inlineMath[i][1], - pattern: this.endPattern(config.inlineMath[i][1]) - }; - } - for (i = 0, m = config.displayMath.length; i < m; i++) { - starts.push(this.patternQuote(config.displayMath[i][0])); - this.match[config.displayMath[i][0]] = { - mode: "; mode=display", - end: config.displayMath[i][1], - pattern: this.endPattern(config.displayMath[i][1]) - }; - } - if (starts.length) {parts.push(starts.sort(this.sortLength).join("|"))} - if (config.processEnvironments) {parts.push("\\\\begin\\{([^}]*)\\}")} - if (config.processEscapes) {parts.push("\\\\*\\\\\\\$")} - if (config.processRefs) {parts.push("\\\\(eq)?ref\\{[^}]*\\}")} - this.start = new RegExp(parts.join("|"),"g"); - this.skipTags = new RegExp("^("+config.skipTags.join("|")+")$","i"); - var ignore = []; - if (MathJax.Hub.config.preRemoveClass) {ignore.push(MathJax.Hub.config.preRemoveClass)}; - if (config.ignoreClass) {ignore.push(config.ignoreClass)} - this.ignoreClass = (ignore.length ? new RegExp("(^| )("+ignore.join("|")+")( |$)") : /^$/); - this.processClass = new RegExp("(^| )("+config.processClass+")( |$)"); - return (parts.length > 0); - }, - - patternQuote: function (s) {return s.replace(/([\^$(){}+*?\-|\[\]\:\\])/g,'\\$1')}, - - endPattern: function (end) { - return new RegExp(this.patternQuote(end)+"|\\\\.|[{}]","g"); - }, - - sortLength: function (a,b) { - if (a.length !== b.length) {return b.length - a.length} - return (a == b ? 0 : (a < b ? -1 : 1)); - }, - - scanElement: function (element,stop,ignore) { - var cname, tname, ignoreChild, process; - while (element && element != stop) { - if (element.nodeName.toLowerCase() === '#text') { - if (!ignore) {element = this.scanText(element)} - } else { - cname = (typeof(element.className) === "undefined" ? "" : element.className); - tname = (typeof(element.tagName) === "undefined" ? "" : element.tagName); - if (typeof(cname) !== "string") {cname = String(cname)} // jsxgraph uses non-string class names! - process = this.processClass.exec(cname); - if (element.firstChild && !cname.match(/(^| )MathJax/) && - (process || !this.skipTags.exec(tname))) { - ignoreChild = (ignore || this.ignoreClass.exec(cname)) && !process; - this.scanElement(element.firstChild,stop,ignoreChild); - } - } - if (element) {element = element.nextSibling} - } - }, - - scanText: function (element) { - if (element.nodeValue.replace(/\s+/,'') == '') {return element} - var match, prev, pos = 0, rescan; - this.search = {start: true}; - this.pattern = this.start; - while (element) { - rescan = null; - this.pattern.lastIndex = pos; pos = 0; - while (element && element.nodeName.toLowerCase() === '#text' && - (match = this.pattern.exec(element.nodeValue))) { - if (this.search.start) {element = this.startMatch(match,element)} - else {element = this.endMatch(match,element)} - } - if (this.search.matched) element = this.encloseMath(element); - else if (!this.search.start) rescan = this.search; - if (element) { - do {prev = element; element = element.nextSibling} - while (element && this.ignoreTags[element.nodeName.toLowerCase()] != null); - if (!element || element.nodeName !== '#text') { - if (!rescan) return (this.search.close ? this.prevEndMatch() : prev); - element = rescan.open; - pos = rescan.opos + rescan.olen + (rescan.blen || 0); - this.search = {start: true}; - this.pattern = this.start; - } - } - } - return element; - }, - - startMatch: function (match,element) { - var delim = this.match[match[0]]; - if (delim != null) { // a start delimiter - this.search = { - end: delim.end, mode: delim.mode, pcount: 0, - open: element, olen: match[0].length, opos: this.pattern.lastIndex - match[0].length - }; - this.switchPattern(delim.pattern); - } else if (match[0].substr(0,6) === "\\begin") { // \begin{...} - this.search = { - end: "\\end{"+match[1]+"}", mode: "; mode=display", pcount: 0, - open: element, olen: 0, opos: this.pattern.lastIndex - match[0].length, - blen: match[1].length + 3, isBeginEnd: true - }; - this.switchPattern(this.endPattern(this.search.end)); - } else if (match[0].substr(0,4) === "\\ref" || match[0].substr(0,6) === "\\eqref") { - this.search = { - mode: "", end: "", open: element, pcount: 0, - olen: 0, opos: this.pattern.lastIndex - match[0].length - } - return this.endMatch([""],element); - } else { // escaped dollar signs - // put $ in a span so it doesn't get processed again - // split off backslashes so they don't get removed later - var slashes = match[0].substr(0,match[0].length-1), n, span; - if (slashes.length % 2 === 0) {span = [slashes.replace(/\\\\/g,"\\")]; n = 1} - else {span = [slashes.substr(1).replace(/\\\\/g,"\\"),"$"]; n = 0} - span = MathJax.HTML.Element("span",null,span); - var text = MathJax.HTML.TextNode(element.nodeValue.substr(0,match.index)); - element.nodeValue = element.nodeValue.substr(match.index + match[0].length - n); - element.parentNode.insertBefore(span,element); - element.parentNode.insertBefore(text,span); - this.pattern.lastIndex = n; - } - return element; - }, - - endMatch: function (match,element) { - var search = this.search; - if (match[0] == search.end) { - if (!search.close || search.pcount === 0) { - search.close = element; - search.cpos = this.pattern.lastIndex; - search.clen = (search.isBeginEnd ? 0 : match[0].length); - } - if (search.pcount === 0) { - search.matched = true; - element = this.encloseMath(element); - this.switchPattern(this.start); - } - } - else if (match[0] === "{") {search.pcount++} - else if (match[0] === "}" && search.pcount) {search.pcount--} - return element; - }, - prevEndMatch: function () { - this.search.matched = true; - var element = this.encloseMath(this.search.close); - this.switchPattern(this.start); - return element; - }, - - switchPattern: function (pattern) { - pattern.lastIndex = this.pattern.lastIndex; - this.pattern = pattern; - this.search.start = (pattern === this.start); - }, - - encloseMath: function (element) { - var search = this.search, close = search.close, CLOSE, math, next; - if (search.cpos === close.length) {close = close.nextSibling} - else {close = close.splitText(search.cpos)} - if (!close) {CLOSE = close = MathJax.HTML.addText(search.close.parentNode,"")} - search.close = close; - math = (search.opos ? search.open.splitText(search.opos) : search.open); - while ((next = math.nextSibling) && next !== close) { - if (next.nodeValue !== null) { - if (next.nodeName === "#comment") { - math.nodeValue += next.nodeValue.replace(/^\[CDATA\[((.|\n|\r)*)\]\]$/,"$1"); - } else { - math.nodeValue += next.nodeValue; - } - } else { - var ignore = this.ignoreTags[next.nodeName.toLowerCase()]; - math.nodeValue += (ignore == null ? " " : ignore); - } - math.parentNode.removeChild(next); - } - var TeX = math.nodeValue.substr(search.olen,math.nodeValue.length-search.olen-search.clen); - math.parentNode.removeChild(math); - if (this.config.preview !== "none") {this.createPreview(search.mode,TeX)} - math = this.createMathTag(search.mode,TeX); - this.search = {}; this.pattern.lastIndex = 0; - if (CLOSE) {CLOSE.parentNode.removeChild(CLOSE)} - return math; - }, - - insertNode: function (node) { - var search = this.search; - search.close.parentNode.insertBefore(node,search.close); - }, - - createPreview: function (mode,tex) { - var previewClass = MathJax.Hub.config.preRemoveClass; - var preview = this.config.preview; - if (preview === "none") return; - if ((this.search.close.previousSibling||{}).className === previewClass) return; - if (preview === "TeX") {preview = [this.filterPreview(tex)]} - if (preview) { - preview = MathJax.HTML.Element("span",{className:previewClass},preview); - this.insertNode(preview); - } - }, - - createMathTag: function (mode,tex) { - var script = document.createElement("script"); - script.type = "math/tex" + mode; - MathJax.HTML.setScript(script,tex); - this.insertNode(script); - return script; - }, - - filterPreview: function (tex) {return tex} - -}; - -// We register the preprocessors with the following priorities: -// - mml2jax.js: 5 -// - jsMath2jax.js: 8 -// - asciimath2jax.js, tex2jax.js: 10 (default) -// See issues 18 and 484 and the other *2jax.js files. -MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.tex2jax]); -MathJax.Ajax.loadComplete("[MathJax]/extensions/tex2jax.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/toMathML.js b/src/py/kaleido/vendor/mathjax/extensions/toMathML.js deleted file mode 100644 index acd5b31d..00000000 --- a/src/py/kaleido/vendor/mathjax/extensions/toMathML.js +++ /dev/null @@ -1,241 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/extensions/toMathML.js - * - * Implements a toMathML() method for the mml Element Jax that returns - * a MathML string from a given math expression. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js",function () { - var VERSION = "2.7.5"; - - var MML = MathJax.ElementJax.mml, - SETTINGS = MathJax.Hub.config.menuSettings; - - MML.mbase.Augment({ - - toMathML: function (space) { - var inferred = (this.inferred && this.parent.inferRow); - if (space == null) {space = ""} - var tag = this.type, attr = this.toMathMLattributes(); - if (tag === "mspace") {return space + "<"+tag+attr+" />"} - var data = [], SPACE = (this.isToken ? "" : space+(inferred ? "" : " ")); - for (var i = 0, m = this.data.length; i < m; i++) { - if (this.data[i]) {data.push(this.data[i].toMathML(SPACE))} - else if (!this.isToken && !this.isChars) {data.push(SPACE+"")} - } - if (this.isToken || this.isChars) {return space + "<"+tag+attr+">"+data.join("")+""} - if (inferred) {return data.join("\n")} - if (data.length === 0 || (data.length === 1 && data[0] === "")) - {return space + "<"+tag+attr+" />"} - return space + "<"+tag+attr+">\n"+data.join("\n")+"\n"+ space +""; - }, - - toMathMLattributes: function () { - var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); - var names = (this.attrNames||MML.copyAttributeNames), - skip = MML.skipAttributes, copy = MML.copyAttributes; - var attr = []; - - if (this.type === "math" && (!this.attr || !('xmlns' in this.attr))) - {attr.push('xmlns="http://www.w3.org/1998/Math/MathML"')} - if (!this.attrNames) { - for (var id in defaults) {if (!skip[id] && !copy[id] && defaults.hasOwnProperty(id)) { - if (this[id] != null && this[id] !== defaults[id]) { - if (this.Get(id,null,1) !== this[id]) - attr.push(id+'="'+this.toMathMLattribute(this[id])+'"'); - } - }} - } - for (var i = 0, m = names.length; i < m; i++) { - if (copy[names[i]] === 1 && !defaults.hasOwnProperty(names[i])) continue; - value = (this.attr||{})[names[i]]; if (value == null) {value = this[names[i]]} - if (value != null) {attr.push(names[i]+'="'+this.toMathMLquote(value)+'"')} - } - this.toMathMLclass(attr); - if (attr.length) {return " "+attr.join(" ")} else {return ""} - }, - toMathMLclass: function (attr) { - var CLASS = []; if (this["class"]) {CLASS.push(this["class"])} - if (this.isa(MML.TeXAtom) && SETTINGS.texHints) { - var TEXCLASS = ["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"][this.texClass]; - if (TEXCLASS) { - CLASS.push("MJX-TeXAtom-"+TEXCLASS) - if (TEXCLASS === "OP" && !this.movablelimits) CLASS.push("MJX-fixedlimits"); - } - } - if (this.mathvariant && this.toMathMLvariants[this.mathvariant]) - {CLASS.push("MJX"+this.mathvariant)} - if (this.variantForm) {CLASS.push("MJX-variant")} - if (CLASS.length) {attr.unshift('class="'+this.toMathMLquote(CLASS.join(" "))+'"')} - }, - toMathMLattribute: function (value) { - if (typeof(value) === "string" && - value.replace(/ /g,"").match(/^(([-+])?(\d+(\.\d*)?|\.\d+))mu$/)) { - // FIXME: should take scriptlevel into account - return (RegExp.$2||"")+((1/18)*RegExp.$3).toFixed(3).replace(/\.?0+$/,"")+"em"; - } - else if (this.toMathMLvariants[value]) {return this.toMathMLvariants[value]} - return this.toMathMLquote(value); - }, - toMathMLvariants: { - "-tex-caligraphic": MML.VARIANT.SCRIPT, - "-tex-caligraphic-bold": MML.VARIANT.BOLDSCRIPT, - "-tex-oldstyle": MML.VARIANT.NORMAL, - "-tex-oldstyle-bold": MML.VARIANT.BOLD, - "-tex-mathit": MML.VARIANT.ITALIC - }, - - toMathMLquote: function (string) { - string = String(string).split(""); - for (var i = 0, m = string.length; i < m; i++) { - var n = string[i].charCodeAt(0); - if (n <= 0xD7FF || 0xE000 <= n) { - // Code points U+0000 to U+D7FF and U+E000 to U+FFFF. - // They are directly represented by n. - if (n > 0x7E || (n < 0x20 && n !== 0x0A && n !== 0x0D && n !== 0x09)) { - string[i] = "&#x"+n.toString(16).toUpperCase()+";"; - } else { - var c = - {'&':'&', '<':'<', '>':'>', '"':'"'}[string[i]]; - if (c) {string[i] = c} - } - } else if (i+1 < m) { - // Code points U+10000 to U+10FFFF. - // n is the lead surrogate, let's read the trail surrogate. - var trailSurrogate = string[i+1].charCodeAt(0); - var codePoint = (((n-0xD800)<<10)+(trailSurrogate-0xDC00)+0x10000); - string[i] = "&#x"+codePoint.toString(16).toUpperCase()+";"; - string[i+1] = ""; - i++; - } else { - // n is a lead surrogate without corresponding trail surrogate: - // remove that character. - string[i] = ""; - } - } - return string.join(""); - } - }); - - // - // Override math.toMathML in order to add semantics tag - // for the input format, if the user requests that in the - // Show As menu. - // - MML.math.Augment({ - toMathML: function (space,jax) { - var annotation; - if (space == null) {space = ""} - if (jax && jax.originalText && SETTINGS.semantics) - {annotation = MathJax.InputJax[jax.inputJax].annotationEncoding} - var nested = (this.data[0] && this.data[0].data.length > 1); - var tag = this.type, attr = this.toMathMLattributes(); - var data = [], SPACE = space + (annotation ? " " + (nested ? " " : "") : "") + " "; - for (var i = 0, m = this.data.length; i < m; i++) { - if (this.data[i]) {data.push(this.data[i].toMathML(SPACE))} - else {data.push(SPACE+"")} - } - if (data.length === 0 || (data.length === 1 && data[0] === "")) { - if (!annotation) {return "<"+tag+attr+" />"} - data.push(SPACE+""); - } - if (annotation) { - if (nested) {data.unshift(space+" "); data.push(space+" ")} - data.unshift(space+" "); - var xmlEscapedTex = jax.originalText.replace(/[&<>]/g, function(item) { - return { '>': '>', '<': '<','&': '&' }[item] - }); - data.push(space+' '+xmlEscapedTex+""); - data.push(space+" "); - } - return space+"<"+tag+attr+">\n"+data.join("\n")+"\n"+space+""; - } - }); - - MML.msubsup.Augment({ - toMathML: function (space) { - var tag = this.type; - if (this.data[this.sup] == null) {tag = "msub"} - if (this.data[this.sub] == null) {tag = "msup"} - var attr = this.toMathMLattributes(); - delete this.data[0].inferred; - var data = []; - for (var i = 0, m = this.data.length; i < m; i++) - {if (this.data[i]) {data.push(this.data[i].toMathML(space+" "))}} - return space + "<"+tag+attr+">\n" + data.join("\n") + "\n" + space + ""; - } - }); - - MML.munderover.Augment({ - toMathML: function (space) { - var tag = this.type; - var base = this.data[this.base]; - if (base && base.isa(MML.TeXAtom) && base.movablelimits && !base.Get("displaystyle")) { - type = "msubsup"; - if (this.data[this.under] == null) {tag = "msup"} - if (this.data[this.over] == null) {tag = "msub"} - } else { - if (this.data[this.under] == null) {tag = "mover"} - if (this.data[this.over] == null) {tag = "munder"} - } - var attr = this.toMathMLattributes(); - delete this.data[0].inferred; - var data = []; - for (var i = 0, m = this.data.length; i < m; i++) - {if (this.data[i]) {data.push(this.data[i].toMathML(space+" "))}} - return space + "<"+tag+attr+">\n" + data.join("\n") + "\n" + space + ""; - } - }); - - MML.TeXAtom.Augment({ - toMathML: function (space) { - // FIXME: Handle spacing using mpadded? - var attr = this.toMathMLattributes(); - if (!attr && this.data[0].data.length === 1) {return space.substr(2) + this.data[0].toMathML(space)} - return space+"\n" + this.data[0].toMathML(space+" ")+"\n"+space+""; - } - }); - - MML.chars.Augment({ - toMathML: function (space) {return (space||"") + this.toMathMLquote(this.toString())} - }); - - MML.entity.Augment({ - toMathML: function (space) {return (space||"") + "&"+this.toMathMLquote(this.data[0])+";"} - }); - - MML.xml.Augment({ - toMathML: function (space) {return (space||"") + this.toString()} - }); - - MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function () { - MML.TeXmathchoice.Augment({ - toMathML: function (space) {return this.Core().toMathML(space)} - }); - }); - - MathJax.Hub.Startup.signal.Post("toMathML Ready"); - -}); - -MathJax.Ajax.loadComplete("[MathJax]/extensions/toMathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/jax.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/jax.js deleted file mode 100644 index e5f74321..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/jax.js +++ /dev/null @@ -1,1813 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/element/mml/jax.js - * - * Implements the MML ElementJax that holds the internal represetation - * of the mathematics on the page. Various InputJax will produce this - * format, and the OutputJax will display it in various formats. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.ElementJax.mml = MathJax.ElementJax({ - mimeType: "jax/mml" -},{ - id: "mml", - version: "2.7.5", - directory: MathJax.ElementJax.directory + "/mml", - extensionDir: MathJax.ElementJax.extensionDir + "/mml", - optableDir: MathJax.ElementJax.directory + "/mml/optable" -}); - -MathJax.ElementJax.mml.Augment({ - Init: function () { - if (arguments.length === 1 && arguments[0].type === "math") {this.root = arguments[0]} - else {this.root = MathJax.ElementJax.mml.math.apply(this,arguments)} - if (this.root.attr && this.root.attr.mode) { - if (!this.root.display && this.root.attr.mode === "display") { - this.root.display = "block"; - this.root.attrNames.push("display"); - } - delete this.root.attr.mode; - for (var i = 0, m = this.root.attrNames.length; i < m; i++) { - if (this.root.attrNames[i] === "mode") {this.root.attrNames.splice(i,1); break} - } - } - } -},{ - INHERIT: "_inherit_", - AUTO: "_auto_", - SIZE: { - INFINITY: "infinity", - SMALL: "small", - NORMAL: "normal", - BIG: "big" - }, - COLOR: { - TRANSPARENT: "transparent" - }, - VARIANT: { - NORMAL: "normal", - BOLD: "bold", - ITALIC: "italic", - BOLDITALIC: "bold-italic", - DOUBLESTRUCK: "double-struck", - FRAKTUR: "fraktur", - BOLDFRAKTUR: "bold-fraktur", - SCRIPT: "script", - BOLDSCRIPT: "bold-script", - SANSSERIF: "sans-serif", - BOLDSANSSERIF: "bold-sans-serif", - SANSSERIFITALIC: "sans-serif-italic", - SANSSERIFBOLDITALIC: "sans-serif-bold-italic", - MONOSPACE: "monospace", - INITIAL: "initial", - TAILED: "tailed", - LOOPED: "looped", - STRETCHED: "stretched", - CALIGRAPHIC: "-tex-caligraphic", - OLDSTYLE: "-tex-oldstyle" - }, - FORM: { - PREFIX: "prefix", - INFIX: "infix", - POSTFIX: "postfix" - }, - LINEBREAK: { - AUTO: "auto", - NEWLINE: "newline", - NOBREAK: "nobreak", - GOODBREAK: "goodbreak", - BADBREAK: "badbreak" - }, - LINEBREAKSTYLE: { - BEFORE: "before", - AFTER: "after", - DUPLICATE: "duplicate", - INFIXLINBREAKSTYLE: "infixlinebreakstyle" - }, - INDENTALIGN: { - LEFT: "left", - CENTER: "center", - RIGHT: "right", - AUTO: "auto", - ID: "id", - INDENTALIGN: "indentalign" - }, - INDENTSHIFT: { - INDENTSHIFT: "indentshift" - }, - LINETHICKNESS: { - THIN: "thin", - MEDIUM: "medium", - THICK: "thick" - }, - NOTATION: { - LONGDIV: "longdiv", - ACTUARIAL: "actuarial", - RADICAL: "radical", - BOX: "box", - ROUNDEDBOX: "roundedbox", - CIRCLE: "circle", - LEFT: "left", - RIGHT: "right", - TOP: "top", - BOTTOM: "bottom", - UPDIAGONALSTRIKE: "updiagonalstrike", - DOWNDIAGONALSTRIKE: "downdiagonalstrike", - UPDIAGONALARROW: "updiagonalarrow", - VERTICALSTRIKE: "verticalstrike", - HORIZONTALSTRIKE: "horizontalstrike", - PHASORANGLE: "phasorangle", - MADRUWB: "madruwb" - }, - ALIGN: { - TOP: "top", - BOTTOM: "bottom", - CENTER: "center", - BASELINE: "baseline", - AXIS: "axis", - LEFT: "left", - RIGHT: "right" - }, - LINES: { - NONE: "none", - SOLID: "solid", - DASHED: "dashed" - }, - SIDE: { - LEFT: "left", - RIGHT: "right", - LEFTOVERLAP: "leftoverlap", - RIGHTOVERLAP: "rightoverlap" - }, - WIDTH: { - AUTO: "auto", - FIT: "fit" - }, - ACTIONTYPE: { - TOGGLE: "toggle", - STATUSLINE: "statusline", - TOOLTIP: "tooltip", - INPUT: "input" - }, - LENGTH: { - VERYVERYTHINMATHSPACE: "veryverythinmathspace", - VERYTHINMATHSPACE: "verythinmathspace", - THINMATHSPACE: "thinmathspace", - MEDIUMMATHSPACE: "mediummathspace", - THICKMATHSPACE: "thickmathspace", - VERYTHICKMATHSPACE: "verythickmathspace", - VERYVERYTHICKMATHSPACE: "veryverythickmathspace", - NEGATIVEVERYVERYTHINMATHSPACE: "negativeveryverythinmathspace", - NEGATIVEVERYTHINMATHSPACE: "negativeverythinmathspace", - NEGATIVETHINMATHSPACE: "negativethinmathspace", - NEGATIVEMEDIUMMATHSPACE: "negativemediummathspace", - NEGATIVETHICKMATHSPACE: "negativethickmathspace", - NEGATIVEVERYTHICKMATHSPACE: "negativeverythickmathspace", - NEGATIVEVERYVERYTHICKMATHSPACE: "negativeveryverythickmathspace" - }, - OVERFLOW: { - LINBREAK: "linebreak", - SCROLL: "scroll", - ELIDE: "elide", - TRUNCATE: "truncate", - SCALE: "scale" - }, - UNIT: { - EM: "em", - EX: "ex", - PX: "px", - IN: "in", - CM: "cm", - MM: "mm", - PT: "pt", - PC: "pc" - }, - TEXCLASS: { - ORD: 0, - OP: 1, - BIN: 2, - REL: 3, - OPEN: 4, - CLOSE: 5, - PUNCT: 6, - INNER: 7, - VCENTER: 8, - NONE: -1 - }, - TEXCLASSNAMES: ["ORD", "OP", "BIN", "REL", "OPEN", "CLOSE", "PUNCT", "INNER", "VCENTER"], - skipAttributes: { - texClass:true, useHeight:true, texprimestyle:true - }, - copyAttributes: { - displaystyle:1, scriptlevel:1, open:1, close:1, form:1, - actiontype: 1, - fontfamily:true, fontsize:true, fontweight:true, fontstyle:true, - color:true, background:true, - id:true, "class":1, href:true, style:true - }, - copyAttributeNames: [ - "displaystyle", "scriptlevel", "open", "close", "form", // force these to be copied - "actiontype", - "fontfamily", "fontsize", "fontweight", "fontstyle", - "color", "background", - "id", "class", "href", "style" - ], - nocopyAttributes: { - fontfamily: true, fontsize: true, fontweight: true, fontstyle: true, - color: true, background: true, - id: true, 'class': true, href: true, style: true, - xmlns: true - }, - Error: function (message,def) { - var mml = this.merror(message), - dir = MathJax.Localization.fontDirection(), - font = MathJax.Localization.fontFamily(); - if (def) {mml = mml.With(def)} - if (dir || font) { - mml = this.mstyle(mml); - if (dir) {mml.dir = dir} - if (font) {mml.style.fontFamily = "font-family: "+font} - } - return mml; - } -}); - -(function (MML) { - - MML.mbase = MathJax.Object.Subclass({ - type: "base", isToken: false, - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - dir: MML.INHERIT - }, - noInherit: {}, - noInheritAttribute: { - texClass: true - }, - getRemoved: {}, - linebreakContainer: false, - - Init: function () { - this.data = []; - if (this.inferRow && !(arguments.length === 1 && arguments[0].inferred)) - {this.Append(MML.mrow().With({inferred: true, notParent: true}))} - this.Append.apply(this,arguments); - }, - With: function (def) { - for (var id in def) {if (def.hasOwnProperty(id)) {this[id] = def[id]}} - return this; - }, - Append: function () { - if (this.inferRow && this.data.length) { - this.data[0].Append.apply(this.data[0],arguments); - } else { - for (var i = 0, m = arguments.length; i < m; i++) - {this.SetData(this.data.length,arguments[i])} - } - }, - SetData: function (i,item) { - if (item != null) { - if (!(item instanceof MML.mbase)) - {item = (this.isToken || this.isChars ? MML.chars(item) : MML.mtext(item))} - item.parent = this; - item.setInherit(this.inheritFromMe ? this : this.inherit); - } - this.data[i] = item; - }, - Parent: function () { - var parent = this.parent; - while (parent && parent.notParent) {parent = parent.parent} - return parent; - }, - Get: function (name,nodefault,noself) { - if (!noself) { - if (this[name] != null) {return this[name]} - if (this.attr && this.attr[name] != null) {return this.attr[name]} - } - // FIXME: should cache these values and get from cache - // (clear cache when appended to a new object?) - var parent = this.Parent(); - if (parent && parent["adjustChild_"+name] != null) { - return (parent["adjustChild_"+name])(this.childPosition(),nodefault); - } - var obj = this.inherit; var root = obj; - while (obj) { - var value = obj[name]; if (value == null && obj.attr) {value = obj.attr[name]} - if (obj.removedStyles && obj.getRemoved[name] && value == null) value = obj.removedStyles[obj.getRemoved[name]]; - if (value != null && obj.noInheritAttribute && !obj.noInheritAttribute[name]) { - var noInherit = obj.noInherit[this.type]; - if (!(noInherit && noInherit[name])) {return value} - } - root = obj; obj = obj.inherit; - } - if (!nodefault) { - if (this.defaults[name] === MML.AUTO) {return this.autoDefault(name)} - if (this.defaults[name] !== MML.INHERIT && this.defaults[name] != null) - {return this.defaults[name]} - if (root) {return root.defaults[name]} - } - return null; - }, - hasValue: function (name) {return (this.Get(name,true) != null)}, - getValues: function () { - var values = {}; - for (var i = 0, m = arguments.length; i < m; i++) - {values[arguments[i]] = this.Get(arguments[i])} - return values; - }, - adjustChild_scriptlevel: function (i,nodef) {return this.Get("scriptlevel",nodef)}, // always inherit from parent - adjustChild_displaystyle: function (i,nodef) {return this.Get("displaystyle",nodef)}, // always inherit from parent - adjustChild_texprimestyle: function (i,nodef) {return this.Get("texprimestyle",nodef)}, // always inherit from parent - hasMMLspacing: function () {return false}, - childPosition: function () { - var child = this, parent = child.parent; - while (parent.notParent) {child = parent; parent = child.parent} - for (var i = 0, m = parent.data.length; i < m; i++) {if (parent.data[i] === child) {return i}} - return null; - }, - setInherit: function (obj) { - if (obj !== this.inherit && this.inherit == null) { - this.inherit = obj; - for (var i = 0, m = this.data.length; i < m; i++) { - if (this.data[i] && this.data[i].setInherit) {this.data[i].setInherit(obj)} - } - } - }, - setTeXclass: function (prev) { - this.getPrevClass(prev); - return (typeof(this.texClass) !== "undefined" ? this : prev); - }, - getPrevClass: function (prev) { - if (prev) { - this.prevClass = prev.Get("texClass"); - this.prevLevel = prev.Get("scriptlevel"); - } - }, - updateTeXclass: function (core) { - if (core) { - this.prevClass = core.prevClass; delete core.prevClass; - this.prevLevel = core.prevLevel; delete core.prevLevel; - this.texClass = core.Get("texClass"); - } - }, - texSpacing: function () { - var prev = (this.prevClass != null ? this.prevClass : MML.TEXCLASS.NONE); - var tex = (this.Get("texClass") || MML.TEXCLASS.ORD); - if (prev === MML.TEXCLASS.NONE || tex === MML.TEXCLASS.NONE) {return ""} - if (prev === MML.TEXCLASS.VCENTER) {prev = MML.TEXCLASS.ORD} - if (tex === MML.TEXCLASS.VCENTER) {tex = MML.TEXCLASS.ORD} - var space = this.TEXSPACE[prev][tex]; - if ((this.prevLevel > 0 || this.Get("scriptlevel") > 0) && space >= 0) {return ""} - return this.TEXSPACELENGTH[Math.abs(space)]; - }, - TEXSPACELENGTH:[ - "", - MML.LENGTH.THINMATHSPACE, - MML.LENGTH.MEDIUMMATHSPACE, - MML.LENGTH.THICKMATHSPACE - ], - // See TeXBook Chapter 18 (p. 170) - TEXSPACE: [ - [ 0,-1, 2, 3, 0, 0, 0, 1], // ORD - [-1,-1, 0, 3, 0, 0, 0, 1], // OP - [ 2, 2, 0, 0, 2, 0, 0, 2], // BIN - [ 3, 3, 0, 0, 3, 0, 0, 3], // REL - [ 0, 0, 0, 0, 0, 0, 0, 0], // OPEN - [ 0,-1, 2, 3, 0, 0, 0, 1], // CLOSE - [ 1, 1, 0, 1, 1, 1, 1, 1], // PUNCT - [ 1,-1, 2, 3, 1, 0, 1, 1] // INNER - ], - autoDefault: function (name) {return ""}, - isSpacelike: function () {return false}, - isEmbellished: function () {return false}, - Core: function () {return this}, - CoreMO: function () {return this}, - childIndex: function(child) { - if (child == null) return; - for (var i = 0, m = this.data.length; i < m; i++) if (child === this.data[i]) return i; - }, - CoreIndex: function () { - return (this.inferRow ? this.data[0]||this : this).childIndex(this.Core()); - }, - hasNewline: function () { - if (this.isEmbellished()) {return this.CoreMO().hasNewline()} - if (this.isToken || this.linebreakContainer) {return false} - for (var i = 0, m = this.data.length; i < m; i++) { - if (this.data[i] && this.data[i].hasNewline()) {return true} - } - return false; - }, - array: function () {if (this.inferred) {return this.data} else {return [this]}}, - toString: function () {return this.type+"("+this.data.join(",")+")"}, - getAnnotation: function () {return null} - },{ - childrenSpacelike: function () { - for (var i = 0, m = this.data.length; i < m; i++) - {if (!this.data[i].isSpacelike()) {return false}} - return true; - }, - childEmbellished: function () { - return (this.data[0] && this.data[0].isEmbellished()); - }, - childCore: function () {return (this.inferRow && this.data[0] ? this.data[0].Core() : this.data[0])}, - childCoreMO: function () {return (this.data[0] ? this.data[0].CoreMO() : null)}, - setChildTeXclass: function (prev) { - if (this.data[0]) { - prev = this.data[0].setTeXclass(prev); - this.updateTeXclass(this.data[0]); - } - return prev; - }, - setBaseTeXclasses: function (prev) { - this.getPrevClass(prev); this.texClass = null; - if (this.data[0]) { - if (this.isEmbellished() || this.data[0].isa(MML.mi)) { - prev = this.data[0].setTeXclass(prev); - this.updateTeXclass(this.Core()); - } else {this.data[0].setTeXclass(); prev = this} - } else {prev = this} - for (var i = 1, m = this.data.length; i < m; i++) - {if (this.data[i]) {this.data[i].setTeXclass()}} - return prev; - }, - setSeparateTeXclasses: function (prev) { - this.getPrevClass(prev); - for (var i = 0, m = this.data.length; i < m; i++) - {if (this.data[i]) {this.data[i].setTeXclass()}} - if (this.isEmbellished()) {this.updateTeXclass(this.Core())} - return this; - } - }); - - MML.mi = MML.mbase.Subclass({ - type: "mi", isToken: true, - texClass: MML.TEXCLASS.ORD, - defaults: { - mathvariant: MML.AUTO, - mathsize: MML.INHERIT, - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - dir: MML.INHERIT - }, - autoDefault: function (name) { - if (name === "mathvariant") { - var mi = (this.data[0]||"").toString(); - return (mi.length === 1 || - (mi.length === 2 && mi.charCodeAt(0) >= 0xD800 && mi.charCodeAt(0) < 0xDC00) ? - MML.VARIANT.ITALIC : MML.VARIANT.NORMAL); - } - return ""; - }, - setTeXclass: function (prev) { - this.getPrevClass(prev); - var name = this.data.join(""); - if (name.length > 1 && name.match(/^[a-z][a-z0-9]*$/i) && - this.texClass === MML.TEXCLASS.ORD) { - this.texClass = MML.TEXCLASS.OP; - this.autoOP = true; - } - return this; - } - }); - - MML.mn = MML.mbase.Subclass({ - type: "mn", isToken: true, - texClass: MML.TEXCLASS.ORD, - defaults: { - mathvariant: MML.INHERIT, - mathsize: MML.INHERIT, - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - dir: MML.INHERIT - } - }); - - MML.mo = MML.mbase.Subclass({ - type: "mo", isToken: true, - defaults: { - mathvariant: MML.INHERIT, - mathsize: MML.INHERIT, - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - dir: MML.INHERIT, - form: MML.AUTO, - fence: MML.AUTO, - separator: MML.AUTO, - lspace: MML.AUTO, - rspace: MML.AUTO, - stretchy: MML.AUTO, - symmetric: MML.AUTO, - maxsize: MML.AUTO, - minsize: MML.AUTO, - largeop: MML.AUTO, - movablelimits: MML.AUTO, - accent: MML.AUTO, - linebreak: MML.LINEBREAK.AUTO, - lineleading: MML.INHERIT, - linebreakstyle: MML.AUTO, - linebreakmultchar: MML.INHERIT, - indentalign: MML.INHERIT, - indentshift: MML.INHERIT, - indenttarget: MML.INHERIT, - indentalignfirst: MML.INHERIT, - indentshiftfirst: MML.INHERIT, - indentalignlast: MML.INHERIT, - indentshiftlast: MML.INHERIT, - texClass: MML.AUTO - }, - defaultDef: { - form: MML.FORM.INFIX, - fence: false, - separator: false, - lspace: MML.LENGTH.THICKMATHSPACE, - rspace: MML.LENGTH.THICKMATHSPACE, - stretchy: false, - symmetric: false, - maxsize: MML.SIZE.INFINITY, - minsize: '0em', //'1em', - largeop: false, - movablelimits: false, - accent: false, - linebreak: MML.LINEBREAK.AUTO, - lineleading: "1ex", - linebreakstyle: "before", - indentalign: MML.INDENTALIGN.AUTO, - indentshift: "0", - indenttarget: "", - indentalignfirst: MML.INDENTALIGN.INDENTALIGN, - indentshiftfirst: MML.INDENTSHIFT.INDENTSHIFT, - indentalignlast: MML.INDENTALIGN.INDENTALIGN, - indentshiftlast: MML.INDENTSHIFT.INDENTSHIFT, - texClass: MML.TEXCLASS.REL // for MML, but TeX sets ORD explicitly - }, - SPACE_ATTR: {lspace: 0x01, rspace: 0x02}, - useMMLspacing: 0x03, - hasMMLspacing: function () { - if (this.useMMLspacing) return true; - return this.form && (this.OPTABLE[this.form]||{})[this.data.join('')]; - }, - autoDefault: function (name,nodefault) { - var def = this.def; - if (!def) { - if (name === "form") {return this.getForm()} - var mo = this.data.join(""); - var forms = [this.Get("form"),MML.FORM.INFIX,MML.FORM.POSTFIX,MML.FORM.PREFIX]; - for (var i = 0, m = forms.length; i < m; i++) { - var data = this.OPTABLE[forms[i]][mo]; - if (data) {def = this.makeDef(data); break} - } - if (!def) {def = this.CheckRange(mo)} - if (!def && nodefault) {def = {}} else { - if (!def) {def = MathJax.Hub.Insert({},this.defaultDef)} - if (this.parent) {this.def = def} else {def = MathJax.Hub.Insert({},def)} - def.form = forms[0]; - } - } - this.useMMLspacing &= ~(this.SPACE_ATTR[name] || 0); - if (def[name] != null) {return def[name]} - else if (!nodefault) {return this.defaultDef[name]} - return ""; - }, - CheckRange: function (mo) { - var n = mo.charCodeAt(0); - if (n >= 0xD800 && n < 0xDC00) {n = (((n-0xD800)<<10)+(mo.charCodeAt(1)-0xDC00))+0x10000} - for (var i = 0, m = this.RANGES.length; i < m && this.RANGES[i][0] <= n; i++) { - if (n <= this.RANGES[i][1]) { - if (this.RANGES[i][3]) { - var file = MML.optableDir+"/"+this.RANGES[i][3]+".js"; - this.RANGES[i][3] = null; - MathJax.Hub.RestartAfter(MathJax.Ajax.Require(file)); - } - var data = MML.TEXCLASSNAMES[this.RANGES[i][2]]; - data = this.OPTABLE.infix[mo] = MML.mo.OPTYPES[data === "BIN" ? "BIN3" : data]; - return this.makeDef(data); - } - } - return null; - }, - makeDef: function (data) { - if (data[2] == null) {data[2] = this.defaultDef.texClass} - if (!data[3]) {data[3] = {}} - var def = MathJax.Hub.Insert({},data[3]); - def.lspace = this.SPACE[data[0]]; def.rspace = this.SPACE[data[1]]; - def.texClass = data[2]; - if (def.texClass === MML.TEXCLASS.REL && - (this.movablelimits || this.data.join("").match(/^[a-z]+$/i))) - {def.texClass = MML.TEXCLASS.OP} // mark named operators as OP - return def; - }, - getForm: function () { - var core = this, parent = this.parent, Parent = this.Parent(); - while (Parent && Parent.isEmbellished()) - {core = parent; parent = Parent.parent; Parent = Parent.Parent()} - if (parent && parent.type === "mrow" && parent.NonSpaceLength() !== 1) { - if (parent.FirstNonSpace() === core) {return MML.FORM.PREFIX} - if (parent.LastNonSpace() === core) {return MML.FORM.POSTFIX} - } - return MML.FORM.INFIX; - }, - isEmbellished: function () {return true}, - hasNewline: function () {return (this.Get("linebreak") === MML.LINEBREAK.NEWLINE)}, - CoreParent: function () { - var parent = this; - while (parent && parent.isEmbellished() && - parent.CoreMO() === this && !parent.isa(MML.math)) {parent = parent.Parent()} - return parent; - }, - CoreText: function (parent) { - if (!parent) {return ""} - if (parent.isEmbellished()) {return parent.CoreMO().data.join("")} - while ((((parent.isa(MML.mrow) || parent.isa(MML.TeXAtom) || - parent.isa(MML.mstyle) || parent.isa(MML.mphantom)) && - parent.data.length === 1) || parent.isa(MML.munderover)) && - parent.data[0]) {parent = parent.data[0]} - if (!parent.isToken) {return ""} else {return parent.data.join("")} - }, - remapChars: { - '*':"\u2217", - '"':"\u2033", - "\u00B0":"\u2218", - "\u00B2":"2", - "\u00B3":"3", - "\u00B4":"\u2032", - "\u00B9":"1" - }, - remap: function (text,map) { - text = text.replace(/-/g,"\u2212"); - if (map) { - text = text.replace(/'/g,"\u2032").replace(/`/g,"\u2035"); - if (text.length === 1) {text = map[text]||text} - } - return text; - }, - setTeXclass: function (prev) { - var values = this.getValues("form","lspace","rspace","fence"); // sets useMMLspacing - if (this.hasMMLspacing()) {this.texClass = MML.TEXCLASS.NONE; return this} - if (values.fence && !this.texClass) { - if (values.form === MML.FORM.PREFIX) {this.texClass = MML.TEXCLASS.OPEN} - if (values.form === MML.FORM.POSTFIX) {this.texClass = MML.TEXCLASS.CLOSE} - } - this.texClass = this.Get("texClass"); - if (this.data.join("") === "\u2061") { - // force previous node to be texClass OP, and skip this node - if (prev) {prev.texClass = MML.TEXCLASS.OP; prev.fnOP = true} - this.texClass = this.prevClass = MML.TEXCLASS.NONE; - return prev; - } - return this.adjustTeXclass(prev); - }, - adjustTeXclass: function (prev) { - if (this.texClass === MML.TEXCLASS.NONE) {return prev} - if (prev) { - if (prev.autoOP && (this.texClass === MML.TEXCLASS.BIN || - this.texClass === MML.TEXCLASS.REL)) - {prev.texClass = MML.TEXCLASS.ORD} - this.prevClass = prev.texClass || MML.TEXCLASS.ORD; - this.prevLevel = prev.Get("scriptlevel") - } else {this.prevClass = MML.TEXCLASS.NONE} - if (this.texClass === MML.TEXCLASS.BIN && - (this.prevClass === MML.TEXCLASS.NONE || - this.prevClass === MML.TEXCLASS.BIN || - this.prevClass === MML.TEXCLASS.OP || - this.prevClass === MML.TEXCLASS.REL || - this.prevClass === MML.TEXCLASS.OPEN || - this.prevClass === MML.TEXCLASS.PUNCT)) { - this.texClass = MML.TEXCLASS.ORD; - } else if (this.prevClass === MML.TEXCLASS.BIN && - (this.texClass === MML.TEXCLASS.REL || - this.texClass === MML.TEXCLASS.CLOSE || - this.texClass === MML.TEXCLASS.PUNCT)) { - prev.texClass = this.prevClass = MML.TEXCLASS.ORD; - } else if (this.texClass === MML.TEXCLASS.BIN) { - // - // Check if node is the last one in its container since the rule - // above only takes effect if there is a node that follows. - // - var child = this, parent = this.parent; - while (parent && parent.parent && parent.isEmbellished() && - (parent.data.length === 1 || - (parent.type !== "mrow" && parent.Core() === child))) // handles msubsup and munderover - {child = parent; parent = parent.parent} - if (parent.data[parent.data.length-1] === child) this.texClass = MML.TEXCLASS.ORD; - } - return this; - } - }); - - MML.mtext = MML.mbase.Subclass({ - type: "mtext", isToken: true, - isSpacelike: function () {return true}, - texClass: MML.TEXCLASS.ORD, - defaults: { - mathvariant: MML.INHERIT, - mathsize: MML.INHERIT, - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - dir: MML.INHERIT - } - }); - - MML.mspace = MML.mbase.Subclass({ - type: "mspace", isToken: true, - isSpacelike: function () {return true}, - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - width: "0em", - height: "0ex", - depth: "0ex", - linebreak: MML.LINEBREAK.AUTO - }, - hasDimAttr: function () { - return (this.hasValue("width") || this.hasValue("height") || - this.hasValue("depth")); - }, - hasNewline: function () { - // The MathML spec says that the linebreak attribute should be ignored - // if any dimensional attribute is set. - return (!this.hasDimAttr() && - this.Get("linebreak") === MML.LINEBREAK.NEWLINE); - } - }); - - MML.ms = MML.mbase.Subclass({ - type: "ms", isToken: true, - texClass: MML.TEXCLASS.ORD, - defaults: { - mathvariant: MML.INHERIT, - mathsize: MML.INHERIT, - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - dir: MML.INHERIT, - lquote: '"', - rquote: '"' - } - }); - - MML.mglyph = MML.mbase.Subclass({ - type: "mglyph", isToken: true, - texClass: MML.TEXCLASS.ORD, - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - alt: "", - src: "", - width: MML.AUTO, - height: MML.AUTO, - valign: "0em" - } - }); - - MML.mrow = MML.mbase.Subclass({ - type: "mrow", - isSpacelike: MML.mbase.childrenSpacelike, - inferred: false, notParent: false, - isEmbellished: function () { - var isEmbellished = false; - for (var i = 0, m = this.data.length; i < m; i++) { - if (this.data[i] == null) continue; - if (this.data[i].isEmbellished()) { - if (isEmbellished) {return false} - isEmbellished = true; this.core = i; - } else if (!this.data[i].isSpacelike()) {return false} - } - return isEmbellished; - }, - NonSpaceLength: function () { - var n = 0; - for (var i = 0, m = this.data.length; i < m; i++) - {if (this.data[i] && !this.data[i].isSpacelike()) {n++}} - return n; - }, - FirstNonSpace: function () { - for (var i = 0, m = this.data.length; i < m; i++) - {if (this.data[i] && !this.data[i].isSpacelike()) {return this.data[i]}} - return null; - }, - LastNonSpace: function () { - for (var i = this.data.length-1; i >= 0; i--) - {if (this.data[0] && !this.data[i].isSpacelike()) {return this.data[i]}} - return null; - }, - Core: function () { - if (!(this.isEmbellished()) || typeof(this.core) === "undefined") {return this} - return this.data[this.core]; - }, - CoreMO: function () { - if (!(this.isEmbellished()) || typeof(this.core) === "undefined") {return this} - return this.data[this.core].CoreMO(); - }, - toString: function () { - if (this.inferred) {return '[' + this.data.join(',') + ']'} - return this.SUPER(arguments).toString.call(this); - }, - setTeXclass: function (prev) { - var i, m = this.data.length; - if ((this.open || this.close) && (!prev || !prev.fnOP)) { - // - // came from \left...\right - // so treat as subexpression (tex class INNER) - // - this.getPrevClass(prev); prev = null; - for (i = 0; i < m; i++) - {if (this.data[i]) {prev = this.data[i].setTeXclass(prev)}} - if (!this.hasOwnProperty("texClass")) this.texClass = MML.TEXCLASS.INNER; - return this; - } else { - // - // Normal , so treat as - // thorugh mrow is not there - // - for (i = 0; i < m; i++) - {if (this.data[i]) {prev = this.data[i].setTeXclass(prev)}} - if (this.data[0]) {this.updateTeXclass(this.data[0])} - return prev; - } - }, - getAnnotation: function (name) { - if (this.data.length != 1) return null; - return this.data[0].getAnnotation(name); - } - }); - - MML.mfrac = MML.mbase.Subclass({ - type: "mfrac", num: 0, den: 1, - linebreakContainer: true, - isEmbellished: MML.mbase.childEmbellished, - Core: MML.mbase.childCore, - CoreMO: MML.mbase.childCoreMO, - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - linethickness: MML.LINETHICKNESS.MEDIUM, - numalign: MML.ALIGN.CENTER, - denomalign: MML.ALIGN.CENTER, - bevelled: false - }, - adjustChild_displaystyle: function (n) {return false}, - adjustChild_scriptlevel: function (n) { - var level = this.Get("scriptlevel"); - if (!this.Get("displaystyle") || level > 0) {level++} - return level; - }, - adjustChild_texprimestyle: function (n) { - if (n == this.den) {return true} - return this.Get("texprimestyle"); - }, - setTeXclass: MML.mbase.setSeparateTeXclasses - }); - - MML.msqrt = MML.mbase.Subclass({ - type: "msqrt", - inferRow: true, - linebreakContainer: true, - texClass: MML.TEXCLASS.ORD, - setTeXclass: MML.mbase.setSeparateTeXclasses, - adjustChild_texprimestyle: function (n) {return true} - }); - - MML.mroot = MML.mbase.Subclass({ - type: "mroot", - linebreakContainer: true, - texClass: MML.TEXCLASS.ORD, - adjustChild_displaystyle: function (n) { - if (n === 1) {return false} - return this.Get("displaystyle"); - }, - adjustChild_scriptlevel: function (n) { - var level = this.Get("scriptlevel"); - if (n === 1) {level += 2} - return level; - }, - adjustChild_texprimestyle: function (n) { - if (n === 0) {return true}; - return this.Get("texprimestyle"); - }, - setTeXclass: MML.mbase.setSeparateTeXclasses - }); - - MML.mstyle = MML.mbase.Subclass({ - type: "mstyle", - isSpacelike: MML.mbase.childrenSpacelike, - isEmbellished: MML.mbase.childEmbellished, - Core: MML.mbase.childCore, - CoreMO: MML.mbase.childCoreMO, - inferRow: true, - defaults: { - scriptlevel: MML.INHERIT, - displaystyle: MML.INHERIT, - scriptsizemultiplier: Math.sqrt(1/2), - scriptminsize: "8pt", - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - dir: MML.INHERIT, - infixlinebreakstyle: MML.LINEBREAKSTYLE.BEFORE, - decimalseparator: "." - }, - adjustChild_scriptlevel: function (n) { - var level = this.scriptlevel; - if (level == null) { - level = this.Get("scriptlevel"); - } else if (String(level).match(/^ *[-+]/)) { - var LEVEL = this.Get("scriptlevel",null,true); - level = LEVEL + parseInt(level); - } - return level; - }, - inheritFromMe: true, - noInherit: { - mpadded: {width: true, height: true, depth: true, lspace: true, voffset: true}, - mtable: {width: true, height: true, depth: true, align: true} - }, - getRemoved: {fontfamily:"fontFamily", fontweight:"fontWeight", fontstyle:"fontStyle", fontsize:"fontSize"}, - setTeXclass: MML.mbase.setChildTeXclass - }); - - MML.merror = MML.mbase.Subclass({ - type: "merror", - inferRow: true, - linebreakContainer: true, - texClass: MML.TEXCLASS.ORD - }); - - MML.mpadded = MML.mbase.Subclass({ - type: "mpadded", - inferRow: true, - isSpacelike: MML.mbase.childrenSpacelike, - isEmbellished: MML.mbase.childEmbellished, - Core: MML.mbase.childCore, - CoreMO: MML.mbase.childCoreMO, - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - width: "", - height: "", - depth: "", - lspace: 0, - voffset: 0 - }, - setTeXclass: MML.mbase.setChildTeXclass - }); - - MML.mphantom = MML.mbase.Subclass({ - type: "mphantom", - texClass: MML.TEXCLASS.ORD, - inferRow: true, - isSpacelike: MML.mbase.childrenSpacelike, - isEmbellished: MML.mbase.childEmbellished, - Core: MML.mbase.childCore, - CoreMO: MML.mbase.childCoreMO, - setTeXclass: MML.mbase.setChildTeXclass - }); - - MML.mfenced = MML.mbase.Subclass({ - type: "mfenced", - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - open: '(', - close: ')', - separators: ',' - }, - addFakeNodes: function () { - var values = this.getValues("open","close","separators"); - values.open = values.open.replace(/[ \t\n\r]/g,""); - values.close = values.close.replace(/[ \t\n\r]/g,""); - values.separators = values.separators.replace(/[ \t\n\r]/g,""); - // - // Create a fake node for the open item - // - if (values.open !== "") { - this.SetData("open",MML.mo(values.open).With({ - fence:true, form:MML.FORM.PREFIX, texClass:MML.TEXCLASS.OPEN - })); - } - // - // Create fake nodes for the separators - // - if (values.separators !== "") { - while (values.separators.length < this.data.length) - {values.separators += values.separators.charAt(values.separators.length-1)} - for (var i = 1, m = this.data.length; i < m; i++) { - if (this.data[i]) - {this.SetData("sep"+i,MML.mo(values.separators.charAt(i-1)).With({separator:true}))} - } - } - // - // Create fake node for the close item - // - if (values.close !== "") { - this.SetData("close",MML.mo(values.close).With({ - fence:true, form:MML.FORM.POSTFIX, texClass:MML.TEXCLASS.CLOSE - })); - } - }, - texClass: MML.TEXCLASS.OPEN, - setTeXclass: function (prev) { - this.addFakeNodes(); - this.getPrevClass(prev); - if (this.data.open) {prev = this.data.open.setTeXclass(prev)} - if (this.data[0]) {prev = this.data[0].setTeXclass(prev)} - for (var i = 1, m = this.data.length; i < m; i++) { - if (this.data["sep"+i]) {prev = this.data["sep"+i].setTeXclass(prev)} - if (this.data[i]) {prev = this.data[i].setTeXclass(prev)} - } - if (this.data.close) {prev = this.data.close.setTeXclass(prev)} - this.updateTeXclass(this.data.open); - this.texClass = MML.TEXCLASS.INNER; - return prev; - } - }); - - MML.menclose = MML.mbase.Subclass({ - type: "menclose", - inferRow: true, - linebreakContainer: true, - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - notation: MML.NOTATION.LONGDIV, - texClass: MML.TEXCLASS.ORD - }, - setTeXclass: MML.mbase.setSeparateTeXclasses - }); - - MML.msubsup = MML.mbase.Subclass({ - type: "msubsup", base: 0, sub: 1, sup: 2, - isEmbellished: MML.mbase.childEmbellished, - Core: MML.mbase.childCore, - CoreMO: MML.mbase.childCoreMO, - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - subscriptshift: "", - superscriptshift: "", - texClass: MML.AUTO - }, - autoDefault: function (name) { - if (name === "texClass") - {return (this.isEmbellished() ? this.CoreMO().Get(name) : MML.TEXCLASS.ORD)} - return 0; - }, - adjustChild_displaystyle: function (n) { - if (n > 0) {return false} - return this.Get("displaystyle"); - }, - adjustChild_scriptlevel: function (n) { - var level = this.Get("scriptlevel"); - if (n > 0) {level++} - return level; - }, - adjustChild_texprimestyle: function (n) { - if (n === this.sub) {return true} - return this.Get("texprimestyle"); - }, - setTeXclass: MML.mbase.setBaseTeXclasses - }); - - MML.msub = MML.msubsup.Subclass({type: "msub"}); - MML.msup = MML.msubsup.Subclass({type: "msup", sub:2, sup:1}); - MML.mmultiscripts = MML.msubsup.Subclass({ - type: "mmultiscripts", - adjustChild_texprimestyle: function (n) { - if (n % 2 === 1) {return true} - return this.Get("texprimestyle"); - } - }); - MML.mprescripts = MML.mbase.Subclass({type: "mprescripts"}); - MML.none = MML.mbase.Subclass({type: "none"}); - - MML.munderover = MML.mbase.Subclass({ - type: "munderover", - base: 0, under: 1, over: 2, sub: 1, sup: 2, - ACCENTS: ["", "accentunder", "accent"], - linebreakContainer: true, - isEmbellished: MML.mbase.childEmbellished, - Core: MML.mbase.childCore, - CoreMO: MML.mbase.childCoreMO, - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - accent: MML.AUTO, - accentunder: MML.AUTO, - align: MML.ALIGN.CENTER, - texClass: MML.AUTO, - subscriptshift: "", // when converted to msubsup by moveablelimits - superscriptshift: "" // when converted to msubsup by moveablelimits - }, - autoDefault: function (name) { - if (name === "texClass") - {return (this.isEmbellished() ? this.CoreMO().Get(name) : MML.TEXCLASS.ORD)} - if (name === "accent" && this.data[this.over]) {return this.data[this.over].CoreMO().Get("accent")} - if (name === "accentunder" && this.data[this.under]) {return this.data[this.under].CoreMO().Get("accent")} - return false; - }, - adjustChild_displaystyle: function (n) { - if (n > 0) {return false} - return this.Get("displaystyle"); - }, - adjustChild_scriptlevel: function (n) { - var level = this.Get("scriptlevel"); - var force = (this.data[this.base] && !this.Get("displaystyle") && - this.data[this.base].CoreMO().Get("movablelimits")); - if (n == this.under && (force || !this.Get("accentunder"))) {level++} - if (n == this.over && (force || !this.Get("accent"))) {level++} - return level; - }, - adjustChild_texprimestyle: function (n) { - if (n === this.base && this.data[this.over]) {return true} - return this.Get("texprimestyle"); - }, - setTeXclass: MML.mbase.setBaseTeXclasses - }); - - MML.munder = MML.munderover.Subclass({type: "munder"}); - MML.mover = MML.munderover.Subclass({ - type: "mover", over: 1, under: 2, sup: 1, sub: 2, - ACCENTS: ["", "accent", "accentunder"] - }); - - MML.mtable = MML.mbase.Subclass({ - type: "mtable", - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - align: MML.ALIGN.AXIS, - rowalign: MML.ALIGN.BASELINE, - columnalign: MML.ALIGN.CENTER, - groupalign: "{left}", - alignmentscope: true, - columnwidth: MML.WIDTH.AUTO, - width: MML.WIDTH.AUTO, - rowspacing: "1ex", - columnspacing: ".8em", - rowlines: MML.LINES.NONE, - columnlines: MML.LINES.NONE, - frame: MML.LINES.NONE, - framespacing: "0.4em 0.5ex", - equalrows: false, - equalcolumns: false, - displaystyle: false, - side: MML.SIDE.RIGHT, - minlabelspacing: "0.8em", - texClass: MML.TEXCLASS.ORD, - useHeight: 1 - }, - adjustChild_displaystyle: function () { - return (this.displaystyle != null ? this.displaystyle : this.defaults.displaystyle); - }, - inheritFromMe: true, - noInherit: { - mover: {align: true}, - munder: {align: true}, - munderover: {align: true}, - mtable: { - align: true, rowalign: true, columnalign: true, groupalign: true, - alignmentscope: true, columnwidth: true, width: true, rowspacing: true, - columnspacing: true, rowlines: true, columnlines: true, frame: true, - framespacing: true, equalrows: true, equalcolumns: true, displaystyle: true, - side: true, minlabelspacing: true, texClass: true, useHeight: 1 - } - }, - linebreakContainer: true, - Append: function () { - for (var i = 0, m = arguments.length; i < m; i++) { - if (!((arguments[i] instanceof MML.mtr) || - (arguments[i] instanceof MML.mlabeledtr))) {arguments[i] = MML.mtr(arguments[i])} - } - this.SUPER(arguments).Append.apply(this,arguments); - }, - setTeXclass: MML.mbase.setSeparateTeXclasses - }); - - MML.mtr = MML.mbase.Subclass({ - type: "mtr", - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - rowalign: MML.INHERIT, - columnalign: MML.INHERIT, - groupalign: MML.INHERIT - }, - inheritFromMe: true, - noInherit: { - mrow: {rowalign: true, columnalign: true, groupalign: true}, - mtable: {rowalign: true, columnalign: true, groupalign: true} - }, - linebreakContainer: true, - Append: function () { - for (var i = 0, m = arguments.length; i < m; i++) { - if (!(arguments[i] instanceof MML.mtd)) {arguments[i] = MML.mtd(arguments[i])} - } - this.SUPER(arguments).Append.apply(this,arguments); - }, - setTeXclass: MML.mbase.setSeparateTeXclasses - }); - - MML.mtd = MML.mbase.Subclass({ - type: "mtd", - inferRow: true, - linebreakContainer: true, - isEmbellished: MML.mbase.childEmbellished, - Core: MML.mbase.childCore, - CoreMO: MML.mbase.childCoreMO, - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - rowspan: 1, - columnspan: 1, - rowalign: MML.INHERIT, - columnalign: MML.INHERIT, - groupalign: MML.INHERIT - }, - setTeXclass: MML.mbase.setSeparateTeXclasses - }); - - MML.maligngroup = MML.mbase.Subclass({ - type: "maligngroup", - isSpacelike: function () {return true}, - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - groupalign: MML.INHERIT - }, - inheritFromMe: true, - noInherit: { - mrow: {groupalign: true}, - mtable: {groupalign: true} - } - }); - - MML.malignmark = MML.mbase.Subclass({ - type: "malignmark", - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - edge: MML.SIDE.LEFT - }, - isSpacelike: function () {return true} - }); - - MML.mlabeledtr = MML.mtr.Subclass({ - type: "mlabeledtr" - }); - - MML.maction = MML.mbase.Subclass({ - type: "maction", - defaults: { - mathbackground: MML.INHERIT, - mathcolor: MML.INHERIT, - actiontype: MML.ACTIONTYPE.TOGGLE, - selection: 1 - }, - selected: function () {return this.data[this.Get("selection")-1] || MML.NULL}, - isEmbellished: function () {return this.selected().isEmbellished()}, - isSpacelike: function () {return this.selected().isSpacelike()}, - Core: function () {return this.selected().Core()}, - CoreMO: function () {return this.selected().CoreMO()}, - setTeXclass: function (prev) { - if (this.Get("actiontype") === MML.ACTIONTYPE.TOOLTIP && this.data[1]) { - // Make sure tooltip has proper spacing when typeset (see issue #412) - this.data[1].setTeXclass(); - } - var selected = this.selected(); - prev = selected.setTeXclass(prev); - this.updateTeXclass(selected); - return prev; - } - }); - - MML.semantics = MML.mbase.Subclass({ - type: "semantics", notParent: true, - isEmbellished: MML.mbase.childEmbellished, - Core: MML.mbase.childCore, - CoreMO: MML.mbase.childCoreMO, - defaults: { - definitionURL: null, - encoding: null - }, - setTeXclass: MML.mbase.setChildTeXclass, - getAnnotation: function (name) { - var encodingList = MathJax.Hub.config.MathMenu.semanticsAnnotations[name]; - if (encodingList) { - for (var i = 0, m = this.data.length; i < m; i++) { - var encoding = this.data[i].Get("encoding"); - if (encoding) { - for (var j = 0, n = encodingList.length; j < n; j++) { - if (encodingList[j] === encoding) return this.data[i]; - } - } - } - } - return null; - } - }); - MML.annotation = MML.mbase.Subclass({ - type: "annotation", isChars: true, - linebreakContainer: true, - defaults: { - definitionURL: null, - encoding: null, - cd: "mathmlkeys", - name: "", - src: null - } - }); - MML["annotation-xml"] = MML.mbase.Subclass({ - type: "annotation-xml", - linebreakContainer: true, - defaults: { - definitionURL: null, - encoding: null, - cd: "mathmlkeys", - name: "", - src: null - } - }); - - MML.math = MML.mstyle.Subclass({ - type: "math", - defaults: { - mathvariant: MML.VARIANT.NORMAL, - mathsize: MML.SIZE.NORMAL, - mathcolor: "", // should be "black", but allow it to inherit from surrounding text - mathbackground: MML.COLOR.TRANSPARENT, - dir: "ltr", - scriptlevel: 0, - displaystyle: MML.AUTO, - display: "inline", - maxwidth: "", - overflow: MML.OVERFLOW.LINEBREAK, - altimg: "", - 'altimg-width': "", - 'altimg-height': "", - 'altimg-valign': "", - alttext: "", - cdgroup: "", - scriptsizemultiplier: Math.sqrt(1/2), - scriptminsize: "8px", // should be 8pt, but that's too big - infixlinebreakstyle: MML.LINEBREAKSTYLE.BEFORE, - lineleading: "1ex", - indentshift: "auto", // use user configuration - indentalign: MML.INDENTALIGN.AUTO, - indentalignfirst: MML.INDENTALIGN.INDENTALIGN, - indentshiftfirst: MML.INDENTSHIFT.INDENTSHIFT, - indentalignlast: MML.INDENTALIGN.INDENTALIGN, - indentshiftlast: MML.INDENTSHIFT.INDENTSHIFT, - decimalseparator: ".", - texprimestyle: false // is it in TeX's C' style? - }, - autoDefault: function (name) { - if (name === "displaystyle") {return this.Get("display") === "block"} - return ""; - }, - linebreakContainer: true, - setTeXclass: MML.mbase.setChildTeXclass, - getAnnotation: function (name) { - if (this.data.length != 1) return null; - return this.data[0].getAnnotation(name); - } - }); - - MML.chars = MML.mbase.Subclass({ - type: "chars", - Append: function () {this.data.push.apply(this.data,arguments)}, - value: function () {return this.data.join("")}, - toString: function () {return this.data.join("")} - }); - - MML.entity = MML.mbase.Subclass({ - type: "entity", - Append: function () {this.data.push.apply(this.data,arguments)}, - value: function () { - if (this.data[0].substr(0,2) === "#x") {return parseInt(this.data[0].substr(2),16)} - else if (this.data[0].substr(0,1) === "#") {return parseInt(this.data[0].substr(1))} - else {return 0} // FIXME: look up named entities from table - }, - toString: function () { - var n = this.value(); - if (n <= 0xFFFF) {return String.fromCharCode(n)} - n -= 0x10000; - return String.fromCharCode((n>>10)+0xD800) - + String.fromCharCode((n&0x3FF)+0xDC00); - } - }); - - MML.xml = MML.mbase.Subclass({ - type: "xml", - Init: function () { - this.div = document.createElement("div"); - return this.SUPER(arguments).Init.apply(this,arguments); - }, - Append: function () { - for (var i = 0, m = arguments.length; i < m; i++) { - var node = this.Import(arguments[i]); - this.data.push(node); - this.div.appendChild(node); - } - }, - Import: function (node) { - if (document.importNode) {return document.importNode(node,true)} - // - // IE < 9 doesn't have importNode, so fake it. - // - var nNode, i, m; - if (node.nodeType === 1) { // ELEMENT_NODE - nNode = document.createElement(node.nodeName); - for (i = 0, m = node.attributes.length; i < m; i++) { - var attribute = node.attributes[i]; - if (attribute.specified && attribute.nodeValue != null && attribute.nodeValue != '') - {nNode.setAttribute(attribute.nodeName,attribute.nodeValue)} - if (attribute.nodeName === "style") {nNode.style.cssText = attribute.nodeValue} - } - if (node.className) {nNode.className = node.className} - } else if (node.nodeType === 3 || node.nodeType === 4) { // TEXT_NODE or CDATA_SECTION_NODE - nNode = document.createTextNode(node.nodeValue); - } else if (node.nodeType === 8) { // COMMENT_NODE - nNode = document.createComment(node.nodeValue); - } else { - return document.createTextNode(''); - } - for (i = 0, m = node.childNodes.length; i < m; i++) - {nNode.appendChild(this.Import(node.childNodes[i]))} - return nNode; - }, - value: function () {return this.div}, - toString: function () {return this.div.innerHTML} - }); - - MML.TeXAtom = MML.mbase.Subclass({ - type: "texatom", - linebreakContainer: true, - inferRow: true, notParent: true, - texClass: MML.TEXCLASS.ORD, - Core: MML.mbase.childCore, - CoreMO: MML.mbase.childCoreMO, - isEmbellished: MML.mbase.childEmbellished, - setTeXclass: function (prev) { - this.data[0].setTeXclass(); - return this.adjustTeXclass(prev); - }, - adjustTeXclass: MML.mo.prototype.adjustTeXclass - }); - - MML.NULL = MML.mbase().With({type:"null"}); - - var TEXCLASS = MML.TEXCLASS; - - var MO = { - ORD: [0,0,TEXCLASS.ORD], - ORD11: [1,1,TEXCLASS.ORD], - ORD21: [2,1,TEXCLASS.ORD], - ORD02: [0,2,TEXCLASS.ORD], - ORD55: [5,5,TEXCLASS.ORD], - OP: [1,2,TEXCLASS.OP,{largeop: true, movablelimits: true, symmetric: true}], - OPFIXED: [1,2,TEXCLASS.OP,{largeop: true, movablelimits: true}], - INTEGRAL: [0,1,TEXCLASS.OP,{largeop: true, symmetric: true}], - INTEGRAL2: [1,2,TEXCLASS.OP,{largeop: true, symmetric: true}], - BIN3: [3,3,TEXCLASS.BIN], - BIN4: [4,4,TEXCLASS.BIN], - BIN01: [0,1,TEXCLASS.BIN], - BIN5: [5,5,TEXCLASS.BIN], - TALLBIN: [4,4,TEXCLASS.BIN,{stretchy: true}], - BINOP: [4,4,TEXCLASS.BIN,{largeop: true, movablelimits: true}], - REL: [5,5,TEXCLASS.REL], - REL1: [1,1,TEXCLASS.REL,{stretchy: true}], - REL4: [4,4,TEXCLASS.REL], - RELSTRETCH: [5,5,TEXCLASS.REL,{stretchy: true}], - RELACCENT: [5,5,TEXCLASS.REL,{accent: true}], - WIDEREL: [5,5,TEXCLASS.REL,{accent: true, stretchy: true}], - OPEN: [0,0,TEXCLASS.OPEN,{fence: true, stretchy: true, symmetric: true}], - CLOSE: [0,0,TEXCLASS.CLOSE,{fence: true, stretchy: true, symmetric: true}], - INNER: [0,0,TEXCLASS.INNER], - PUNCT: [0,3,TEXCLASS.PUNCT], - ACCENT: [0,0,TEXCLASS.ORD,{accent: true}], - WIDEACCENT: [0,0,TEXCLASS.ORD,{accent: true, stretchy: true}] - }; - - MML.mo.Augment({ - SPACE: [ - '0em', - '0.1111em', - '0.1667em', - '0.2222em', - '0.2667em', - '0.3333em' - ], - RANGES: [ - [0x20,0x7F,TEXCLASS.REL,"BasicLatin"], - [0xA0,0xFF,TEXCLASS.ORD,"Latin1Supplement"], - [0x100,0x17F,TEXCLASS.ORD], - [0x180,0x24F,TEXCLASS.ORD], - [0x2B0,0x2FF,TEXCLASS.ORD,"SpacingModLetters"], - [0x300,0x36F,TEXCLASS.ORD,"CombDiacritMarks"], - [0x370,0x3FF,TEXCLASS.ORD,"GreekAndCoptic"], - [0x1E00,0x1EFF,TEXCLASS.ORD], - [0x2000,0x206F,TEXCLASS.PUNCT,"GeneralPunctuation"], - [0x2070,0x209F,TEXCLASS.ORD], - [0x20A0,0x20CF,TEXCLASS.ORD], - [0x20D0,0x20FF,TEXCLASS.ORD,"CombDiactForSymbols"], - [0x2100,0x214F,TEXCLASS.ORD,"LetterlikeSymbols"], - [0x2150,0x218F,TEXCLASS.ORD], - [0x2190,0x21FF,TEXCLASS.REL,"Arrows"], - [0x2200,0x22FF,TEXCLASS.BIN,"MathOperators"], - [0x2300,0x23FF,TEXCLASS.ORD,"MiscTechnical"], - [0x2460,0x24FF,TEXCLASS.ORD], - [0x2500,0x259F,TEXCLASS.ORD], - [0x25A0,0x25FF,TEXCLASS.ORD,"GeometricShapes"], - [0x2700,0x27BF,TEXCLASS.ORD,"Dingbats"], - [0x27C0,0x27EF,TEXCLASS.ORD,"MiscMathSymbolsA"], - [0x27F0,0x27FF,TEXCLASS.REL,"SupplementalArrowsA"], - [0x2900,0x297F,TEXCLASS.REL,"SupplementalArrowsB"], - [0x2980,0x29FF,TEXCLASS.ORD,"MiscMathSymbolsB"], - [0x2A00,0x2AFF,TEXCLASS.BIN,"SuppMathOperators"], - [0x2B00,0x2BFF,TEXCLASS.ORD,"MiscSymbolsAndArrows"], - [0x1D400,0x1D7FF,TEXCLASS.ORD] - ], - OPTABLE: { - prefix: { - '\u2200': MO.ORD21, // for all - '\u2202': MO.ORD21, // partial differential - '\u2203': MO.ORD21, // there exists - '\u2207': MO.ORD21, // nabla - '\u220F': MO.OP, // n-ary product - '\u2210': MO.OP, // n-ary coproduct - '\u2211': MO.OP, // n-ary summation - '\u2212': MO.BIN01, // minus sign - '\u2213': MO.BIN01, // minus-or-plus sign - '\u221A': [1,1,TEXCLASS.ORD,{stretchy: true}], // square root - '\u2220': MO.ORD, // angle - '\u222B': MO.INTEGRAL, // integral - '\u222E': MO.INTEGRAL, // contour integral - '\u22C0': MO.OP, // n-ary logical and - '\u22C1': MO.OP, // n-ary logical or - '\u22C2': MO.OP, // n-ary intersection - '\u22C3': MO.OP, // n-ary union - '\u2308': MO.OPEN, // left ceiling - '\u230A': MO.OPEN, // left floor - '\u27E8': MO.OPEN, // mathematical left angle bracket - '\u27EE': MO.OPEN, // mathematical left flattened parenthesis - '\u2A00': MO.OP, // n-ary circled dot operator - '\u2A01': MO.OP, // n-ary circled plus operator - '\u2A02': MO.OP, // n-ary circled times operator - '\u2A04': MO.OP, // n-ary union operator with plus - '\u2A06': MO.OP, // n-ary square union operator - '\u00AC': MO.ORD21, // not sign - '\u00B1': MO.BIN01, // plus-minus sign - '(': MO.OPEN, // left parenthesis - '+': MO.BIN01, // plus sign - '-': MO.BIN01, // hyphen-minus - '[': MO.OPEN, // left square bracket - '{': MO.OPEN, // left curly bracket - '|': MO.OPEN // vertical line - }, - postfix: { - '!': [1,0,TEXCLASS.CLOSE], // exclamation mark - '&': MO.ORD, // ampersand - '\u2032': MO.ORD02, // prime - '\u203E': MO.WIDEACCENT, // overline - '\u2309': MO.CLOSE, // right ceiling - '\u230B': MO.CLOSE, // right floor - '\u23DE': MO.WIDEACCENT, // top curly bracket - '\u23DF': MO.WIDEACCENT, // bottom curly bracket - '\u266D': MO.ORD02, // music flat sign - '\u266E': MO.ORD02, // music natural sign - '\u266F': MO.ORD02, // music sharp sign - '\u27E9': MO.CLOSE, // mathematical right angle bracket - '\u27EF': MO.CLOSE, // mathematical right flattened parenthesis - '\u02C6': MO.WIDEACCENT, // modifier letter circumflex accent - '\u02C7': MO.WIDEACCENT, // caron - '\u02C9': MO.WIDEACCENT, // modifier letter macron - '\u02CA': MO.ACCENT, // modifier letter acute accent - '\u02CB': MO.ACCENT, // modifier letter grave accent - '\u02D8': MO.ACCENT, // breve - '\u02D9': MO.ACCENT, // dot above - '\u02DC': MO.WIDEACCENT, // small tilde - '\u0302': MO.WIDEACCENT, // combining circumflex accent - '\u00A8': MO.ACCENT, // diaeresis - '\u00AF': MO.WIDEACCENT, // macron - ')': MO.CLOSE, // right parenthesis - ']': MO.CLOSE, // right square bracket - '^': MO.WIDEACCENT, // circumflex accent - '_': MO.WIDEACCENT, // low line - '`': MO.ACCENT, // grave accent - '|': MO.CLOSE, // vertical line - '}': MO.CLOSE, // right curly bracket - '~': MO.WIDEACCENT // tilde - }, - infix: { - '': MO.ORD, // empty - '%': [3,3,TEXCLASS.ORD], // percent sign - '\u2022': MO.BIN4, // bullet - '\u2026': MO.INNER, // horizontal ellipsis - '\u2044': MO.TALLBIN, // fraction slash - '\u2061': MO.ORD, // function application - '\u2062': MO.ORD, // invisible times - '\u2063': [0,0,TEXCLASS.ORD,{linebreakstyle:"after", separator: true}], // invisible separator - '\u2064': MO.ORD, // invisible plus - '\u2190': MO.WIDEREL, // leftwards arrow - '\u2191': MO.RELSTRETCH, // upwards arrow - '\u2192': MO.WIDEREL, // rightwards arrow - '\u2193': MO.RELSTRETCH, // downwards arrow - '\u2194': MO.WIDEREL, // left right arrow - '\u2195': MO.RELSTRETCH, // up down arrow - '\u2196': MO.RELSTRETCH, // north west arrow - '\u2197': MO.RELSTRETCH, // north east arrow - '\u2198': MO.RELSTRETCH, // south east arrow - '\u2199': MO.RELSTRETCH, // south west arrow - '\u21A6': MO.WIDEREL, // rightwards arrow from bar - '\u21A9': MO.WIDEREL, // leftwards arrow with hook - '\u21AA': MO.WIDEREL, // rightwards arrow with hook - '\u21BC': MO.WIDEREL, // leftwards harpoon with barb upwards - '\u21BD': MO.WIDEREL, // leftwards harpoon with barb downwards - '\u21C0': MO.WIDEREL, // rightwards harpoon with barb upwards - '\u21C1': MO.WIDEREL, // rightwards harpoon with barb downwards - '\u21CC': MO.WIDEREL, // rightwards harpoon over leftwards harpoon - '\u21D0': MO.WIDEREL, // leftwards double arrow - '\u21D1': MO.RELSTRETCH, // upwards double arrow - '\u21D2': MO.WIDEREL, // rightwards double arrow - '\u21D3': MO.RELSTRETCH, // downwards double arrow - '\u21D4': MO.WIDEREL, // left right double arrow - '\u21D5': MO.RELSTRETCH, // up down double arrow - '\u2208': MO.REL, // element of - '\u2209': MO.REL, // not an element of - '\u220B': MO.REL, // contains as member - '\u2212': MO.BIN4, // minus sign - '\u2213': MO.BIN4, // minus-or-plus sign - '\u2215': MO.TALLBIN, // division slash - '\u2216': MO.BIN4, // set minus - '\u2217': MO.BIN4, // asterisk operator - '\u2218': MO.BIN4, // ring operator - '\u2219': MO.BIN4, // bullet operator - '\u221D': MO.REL, // proportional to - '\u2223': MO.REL, // divides - '\u2225': MO.REL, // parallel to - '\u2227': MO.BIN4, // logical and - '\u2228': MO.BIN4, // logical or - '\u2229': MO.BIN4, // intersection - '\u222A': MO.BIN4, // union - '\u223C': MO.REL, // tilde operator - '\u2240': MO.BIN4, // wreath product - '\u2243': MO.REL, // asymptotically equal to - '\u2245': MO.REL, // approximately equal to - '\u2248': MO.REL, // almost equal to - '\u224D': MO.REL, // equivalent to - '\u2250': MO.REL, // approaches the limit - '\u2260': MO.REL, // not equal to - '\u2261': MO.REL, // identical to - '\u2264': MO.REL, // less-than or equal to - '\u2265': MO.REL, // greater-than or equal to - '\u226A': MO.REL, // much less-than - '\u226B': MO.REL, // much greater-than - '\u227A': MO.REL, // precedes - '\u227B': MO.REL, // succeeds - '\u2282': MO.REL, // subset of - '\u2283': MO.REL, // superset of - '\u2286': MO.REL, // subset of or equal to - '\u2287': MO.REL, // superset of or equal to - '\u228E': MO.BIN4, // multiset union - '\u2291': MO.REL, // square image of or equal to - '\u2292': MO.REL, // square original of or equal to - '\u2293': MO.BIN4, // square cap - '\u2294': MO.BIN4, // square cup - '\u2295': MO.BIN4, // circled plus - '\u2296': MO.BIN4, // circled minus - '\u2297': MO.BIN4, // circled times - '\u2298': MO.BIN4, // circled division slash - '\u2299': MO.BIN4, // circled dot operator - '\u22A2': MO.REL, // right tack - '\u22A3': MO.REL, // left tack - '\u22A4': MO.ORD55, // down tack - '\u22A5': MO.REL, // up tack - '\u22A8': MO.REL, // true - '\u22C4': MO.BIN4, // diamond operator - '\u22C5': MO.BIN4, // dot operator - '\u22C6': MO.BIN4, // star operator - '\u22C8': MO.REL, // bowtie - '\u22EE': MO.ORD55, // vertical ellipsis - '\u22EF': MO.INNER, // midline horizontal ellipsis - '\u22F1': [5,5,TEXCLASS.INNER], // down right diagonal ellipsis - '\u25B3': MO.BIN4, // white up-pointing triangle - '\u25B5': MO.BIN4, // white up-pointing small triangle - '\u25B9': MO.BIN4, // white right-pointing small triangle - '\u25BD': MO.BIN4, // white down-pointing triangle - '\u25BF': MO.BIN4, // white down-pointing small triangle - '\u25C3': MO.BIN4, // white left-pointing small triangle - '\u2758': MO.REL, // light vertical bar - '\u27F5': MO.WIDEREL, // long leftwards arrow - '\u27F6': MO.WIDEREL, // long rightwards arrow - '\u27F7': MO.WIDEREL, // long left right arrow - '\u27F8': MO.WIDEREL, // long leftwards double arrow - '\u27F9': MO.WIDEREL, // long rightwards double arrow - '\u27FA': MO.WIDEREL, // long left right double arrow - '\u27FC': MO.WIDEREL, // long rightwards arrow from bar - '\u2A2F': MO.BIN4, // vector or cross product - '\u2A3F': MO.BIN4, // amalgamation or coproduct - '\u2AAF': MO.REL, // precedes above single-line equals sign - '\u2AB0': MO.REL, // succeeds above single-line equals sign - '\u00B1': MO.BIN4, // plus-minus sign - '\u00B7': MO.BIN4, // middle dot - '\u00D7': MO.BIN4, // multiplication sign - '\u00F7': MO.BIN4, // division sign - '*': MO.BIN3, // asterisk - '+': MO.BIN4, // plus sign - ',': [0,3,TEXCLASS.PUNCT,{linebreakstyle:"after", separator: true}], // comma - '-': MO.BIN4, // hyphen-minus - '.': [3,3,TEXCLASS.ORD], // full stop - '/': MO.ORD11, // solidus - ':': [1,2,TEXCLASS.REL], // colon - ';': [0,3,TEXCLASS.PUNCT,{linebreakstyle:"after", separator: true}], // semicolon - '<': MO.REL, // less-than sign - '=': MO.REL, // equals sign - '>': MO.REL, // greater-than sign - '?': [1,1,TEXCLASS.CLOSE], // question mark - '\\': MO.ORD, // reverse solidus - '^': MO.ORD11, // circumflex accent - '_': MO.ORD11, // low line - '|': [2,2,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}], // vertical line - '#': MO.ORD, // # - '$': MO.ORD, // $ - '\u002E': [0,3,TEXCLASS.PUNCT,{separator: true}], // \ldotp - '\u02B9': MO.ORD, // prime - '\u0300': MO.ACCENT, // \grave - '\u0301': MO.ACCENT, // \acute - '\u0303': MO.WIDEACCENT, // \tilde - '\u0304': MO.ACCENT, // \bar - '\u0306': MO.ACCENT, // \breve - '\u0307': MO.ACCENT, // \dot - '\u0308': MO.ACCENT, // \ddot - '\u030C': MO.ACCENT, // \check - '\u0332': MO.WIDEACCENT, // horizontal line - '\u0338': MO.REL4, // \not - '\u2015': [0,0,TEXCLASS.ORD,{stretchy: true}], // horizontal line - '\u2017': [0,0,TEXCLASS.ORD,{stretchy: true}], // horizontal line - '\u2020': MO.BIN3, // \dagger - '\u2021': MO.BIN3, // \ddagger - '\u20D7': MO.ACCENT, // \vec - '\u2111': MO.ORD, // \Im - '\u2113': MO.ORD, // \ell - '\u2118': MO.ORD, // \wp - '\u211C': MO.ORD, // \Re - '\u2205': MO.ORD, // \emptyset - '\u221E': MO.ORD, // \infty - '\u2305': MO.BIN3, // barwedge - '\u2306': MO.BIN3, // doublebarwedge - '\u2322': MO.REL4, // \frown - '\u2323': MO.REL4, // \smile - '\u2329': MO.OPEN, // langle - '\u232A': MO.CLOSE, // rangle - '\u23AA': MO.ORD, // \bracevert - '\u23AF': [0,0,TEXCLASS.ORD,{stretchy: true}], // \underline - '\u23B0': MO.OPEN, // \lmoustache - '\u23B1': MO.CLOSE, // \rmoustache - '\u2500': MO.ORD, // horizontal line - '\u25EF': MO.BIN3, // \bigcirc - '\u2660': MO.ORD, // \spadesuit - '\u2661': MO.ORD, // \heartsuit - '\u2662': MO.ORD, // \diamondsuit - '\u2663': MO.ORD, // \clubsuit - '\u3008': MO.OPEN, // langle - '\u3009': MO.CLOSE, // rangle - '\uFE37': MO.WIDEACCENT, // horizontal brace down - '\uFE38': MO.WIDEACCENT // horizontal brace up - } - } - },{ - OPTYPES: MO - }); - - // - // These are not in the W3C table, but FF works this way, - // and it makes sense, so add it here - // - var OPTABLE = MML.mo.prototype.OPTABLE; - OPTABLE.infix["^"] = MO.WIDEREL; - OPTABLE.infix["_"] = MO.WIDEREL; - OPTABLE.prefix["\u2223"] = MO.OPEN; - OPTABLE.prefix["\u2225"] = MO.OPEN; - OPTABLE.postfix["\u2223"] = MO.CLOSE; - OPTABLE.postfix["\u2225"] = MO.CLOSE; - -})(MathJax.ElementJax.mml); - -MathJax.ElementJax.mml.loadComplete("jax.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Arrows.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Arrows.js deleted file mode 100644 index a2e89b9b..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Arrows.js +++ /dev/null @@ -1,122 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/Arrows.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - infix: { - '\u219A': MO.RELACCENT, // leftwards arrow with stroke - '\u219B': MO.RELACCENT, // rightwards arrow with stroke - '\u219C': MO.WIDEREL, // leftwards wave arrow - '\u219D': MO.WIDEREL, // rightwards wave arrow - '\u219E': MO.WIDEREL, // leftwards two headed arrow - '\u219F': MO.WIDEREL, // upwards two headed arrow - '\u21A0': MO.WIDEREL, // rightwards two headed arrow - '\u21A1': MO.RELSTRETCH, // downwards two headed arrow - '\u21A2': MO.WIDEREL, // leftwards arrow with tail - '\u21A3': MO.WIDEREL, // rightwards arrow with tail - '\u21A4': MO.WIDEREL, // leftwards arrow from bar - '\u21A5': MO.RELSTRETCH, // upwards arrow from bar - '\u21A7': MO.RELSTRETCH, // downwards arrow from bar - '\u21A8': MO.RELSTRETCH, // up down arrow with base - '\u21AB': MO.WIDEREL, // leftwards arrow with loop - '\u21AC': MO.WIDEREL, // rightwards arrow with loop - '\u21AD': MO.WIDEREL, // left right wave arrow - '\u21AE': MO.RELACCENT, // left right arrow with stroke - '\u21AF': MO.RELSTRETCH, // downwards zigzag arrow - '\u21B0': MO.RELSTRETCH, // upwards arrow with tip leftwards - '\u21B1': MO.RELSTRETCH, // upwards arrow with tip rightwards - '\u21B2': MO.RELSTRETCH, // downwards arrow with tip leftwards - '\u21B3': MO.RELSTRETCH, // downwards arrow with tip rightwards - '\u21B4': MO.RELSTRETCH, // rightwards arrow with corner downwards - '\u21B5': MO.RELSTRETCH, // downwards arrow with corner leftwards - '\u21B6': MO.RELACCENT, // anticlockwise top semicircle arrow - '\u21B7': MO.RELACCENT, // clockwise top semicircle arrow - '\u21B8': MO.REL, // north west arrow to long bar - '\u21B9': MO.WIDEREL, // leftwards arrow to bar over rightwards arrow to bar - '\u21BA': MO.REL, // anticlockwise open circle arrow - '\u21BB': MO.REL, // clockwise open circle arrow - '\u21BE': MO.RELSTRETCH, // upwards harpoon with barb rightwards - '\u21BF': MO.RELSTRETCH, // upwards harpoon with barb leftwards - '\u21C2': MO.RELSTRETCH, // downwards harpoon with barb rightwards - '\u21C3': MO.RELSTRETCH, // downwards harpoon with barb leftwards - '\u21C4': MO.WIDEREL, // rightwards arrow over leftwards arrow - '\u21C5': MO.RELSTRETCH, // upwards arrow leftwards of downwards arrow - '\u21C6': MO.WIDEREL, // leftwards arrow over rightwards arrow - '\u21C7': MO.WIDEREL, // leftwards paired arrows - '\u21C8': MO.RELSTRETCH, // upwards paired arrows - '\u21C9': MO.WIDEREL, // rightwards paired arrows - '\u21CA': MO.RELSTRETCH, // downwards paired arrows - '\u21CB': MO.WIDEREL, // leftwards harpoon over rightwards harpoon - '\u21CD': MO.RELACCENT, // leftwards double arrow with stroke - '\u21CE': MO.RELACCENT, // left right double arrow with stroke - '\u21CF': MO.RELACCENT, // rightwards double arrow with stroke - '\u21D6': MO.RELSTRETCH, // north west double arrow - '\u21D7': MO.RELSTRETCH, // north east double arrow - '\u21D8': MO.RELSTRETCH, // south east double arrow - '\u21D9': MO.RELSTRETCH, // south west double arrow - '\u21DA': MO.WIDEREL, // leftwards triple arrow - '\u21DB': MO.WIDEREL, // rightwards triple arrow - '\u21DC': MO.WIDEREL, // leftwards squiggle arrow - '\u21DD': MO.WIDEREL, // rightwards squiggle arrow - '\u21DE': MO.REL, // upwards arrow with double stroke - '\u21DF': MO.REL, // downwards arrow with double stroke - '\u21E0': MO.WIDEREL, // leftwards dashed arrow - '\u21E1': MO.RELSTRETCH, // upwards dashed arrow - '\u21E2': MO.WIDEREL, // rightwards dashed arrow - '\u21E3': MO.RELSTRETCH, // downwards dashed arrow - '\u21E4': MO.WIDEREL, // leftwards arrow to bar - '\u21E5': MO.WIDEREL, // rightwards arrow to bar - '\u21E6': MO.WIDEREL, // leftwards white arrow - '\u21E7': MO.RELSTRETCH, // upwards white arrow - '\u21E8': MO.WIDEREL, // rightwards white arrow - '\u21E9': MO.RELSTRETCH, // downwards white arrow - '\u21EA': MO.RELSTRETCH, // upwards white arrow from bar - '\u21EB': MO.RELSTRETCH, // upwards white arrow on pedestal - '\u21EC': MO.RELSTRETCH, // upwards white arrow on pedestal with horizontal bar - '\u21ED': MO.RELSTRETCH, // upwards white arrow on pedestal with vertical bar - '\u21EE': MO.RELSTRETCH, // upwards white double arrow - '\u21EF': MO.RELSTRETCH, // upwards white double arrow on pedestal - '\u21F0': MO.WIDEREL, // rightwards white arrow from wall - '\u21F1': MO.REL, // north west arrow to corner - '\u21F2': MO.REL, // south east arrow to corner - '\u21F3': MO.RELSTRETCH, // up down white arrow - '\u21F4': MO.RELACCENT, // right arrow with small circle - '\u21F5': MO.RELSTRETCH, // downwards arrow leftwards of upwards arrow - '\u21F6': MO.WIDEREL, // three rightwards arrows - '\u21F7': MO.RELACCENT, // leftwards arrow with vertical stroke - '\u21F8': MO.RELACCENT, // rightwards arrow with vertical stroke - '\u21F9': MO.RELACCENT, // left right arrow with vertical stroke - '\u21FA': MO.RELACCENT, // leftwards arrow with double vertical stroke - '\u21FB': MO.RELACCENT, // rightwards arrow with double vertical stroke - '\u21FC': MO.RELACCENT, // left right arrow with double vertical stroke - '\u21FD': MO.WIDEREL, // leftwards open-headed arrow - '\u21FE': MO.WIDEREL, // rightwards open-headed arrow - '\u21FF': MO.WIDEREL // left right open-headed arrow - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/Arrows.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/BasicLatin.js deleted file mode 100644 index 8b0d2c10..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/BasicLatin.js +++ /dev/null @@ -1,65 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/BasicLatin.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - prefix: { - '||': [0,0,TEXCLASS.BIN,{fence: true, stretchy: true, symmetric: true}], // multiple character operator: || - '|||': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}] // multiple character operator: ||| - }, - postfix: { - '!!': [1,0,TEXCLASS.BIN], // multiple character operator: !! - '\'': MO.ACCENT, // apostrophe - '++': [0,0,TEXCLASS.BIN], // multiple character operator: ++ - '--': [0,0,TEXCLASS.BIN], // multiple character operator: -- - '..': [0,0,TEXCLASS.BIN], // multiple character operator: .. - '...': MO.ORD, // multiple character operator: ... - '||': [0,0,TEXCLASS.BIN,{fence: true, stretchy: true, symmetric: true}], // multiple character operator: || - '|||': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}] // multiple character operator: ||| - }, - infix: { - '!=': MO.BIN4, // multiple character operator: != - '&&': MO.BIN4, // multiple character operator: && - '**': [1,1,TEXCLASS.BIN], // multiple character operator: ** - '*=': MO.BIN4, // multiple character operator: *= - '+=': MO.BIN4, // multiple character operator: += - '-=': MO.BIN4, // multiple character operator: -= - '->': MO.BIN5, // multiple character operator: -> - '//': [1,1,TEXCLASS.BIN], // multiple character operator: // - '/=': MO.BIN4, // multiple character operator: /= - ':=': MO.BIN4, // multiple character operator: := - '<=': MO.BIN5, // multiple character operator: <= - '<>': [1,1,TEXCLASS.BIN], // multiple character operator: <> - '==': MO.BIN4, // multiple character operator: == - '>=': MO.BIN5, // multiple character operator: >= - '@': MO.ORD11, // commercial at - '||': [2,2,TEXCLASS.BIN,{fence: true, stretchy: true, symmetric: true}], // multiple character operator: || - '|||': [2,2,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}] // multiple character operator: ||| - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/BasicLatin.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiacritMarks.js deleted file mode 100644 index d4ae292c..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiacritMarks.js +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/CombDiacritMarks.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - postfix: { - '\u0311': MO.ACCENT // combining inverted breve - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/CombDiacritMarks.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiactForSymbols.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiactForSymbols.js deleted file mode 100644 index ad6c8717..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiactForSymbols.js +++ /dev/null @@ -1,36 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/CombDiactForSymbols.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - postfix: { - '\u20DB': MO.ACCENT, // combining three dots above - '\u20DC': MO.ACCENT // combining four dots above - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/CombDiactForSymbols.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Dingbats.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Dingbats.js deleted file mode 100644 index d396b8dc..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Dingbats.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/Dingbats.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - prefix: { - '\u2772': MO.OPEN // light left tortoise shell bracket ornament - }, - postfix: { - '\u2773': MO.CLOSE // light right tortoise shell bracket ornament - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/Dingbats.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeneralPunctuation.js deleted file mode 100644 index a762fc51..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeneralPunctuation.js +++ /dev/null @@ -1,42 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/GeneralPunctuation.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - prefix: { - '\u2016': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // double vertical line - '\u2018': [0,0,TEXCLASS.OPEN,{fence: true}], // left single quotation mark - '\u201C': [0,0,TEXCLASS.OPEN,{fence: true}] // left double quotation mark - }, - postfix: { - '\u2016': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // double vertical line - '\u2019': [0,0,TEXCLASS.CLOSE,{fence: true}], // right single quotation mark - '\u201D': [0,0,TEXCLASS.CLOSE,{fence: true}] // right double quotation mark - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/GeneralPunctuation.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeometricShapes.js deleted file mode 100644 index 2eaf90e9..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeometricShapes.js +++ /dev/null @@ -1,66 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/GeometricShapes.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - infix: { - '\u25A0': MO.BIN3, // black square - '\u25A1': MO.BIN3, // white square - '\u25AA': MO.BIN3, // black small square - '\u25AB': MO.BIN3, // white small square - '\u25AD': MO.BIN3, // white rectangle - '\u25AE': MO.BIN3, // black vertical rectangle - '\u25AF': MO.BIN3, // white vertical rectangle - '\u25B0': MO.BIN3, // black parallelogram - '\u25B1': MO.BIN3, // white parallelogram - '\u25B2': MO.BIN4, // black up-pointing triangle - '\u25B4': MO.BIN4, // black up-pointing small triangle - '\u25B6': MO.BIN4, // black right-pointing triangle - '\u25B7': MO.BIN4, // white right-pointing triangle - '\u25B8': MO.BIN4, // black right-pointing small triangle - '\u25BC': MO.BIN4, // black down-pointing triangle - '\u25BE': MO.BIN4, // black down-pointing small triangle - '\u25C0': MO.BIN4, // black left-pointing triangle - '\u25C1': MO.BIN4, // white left-pointing triangle - '\u25C2': MO.BIN4, // black left-pointing small triangle - '\u25C4': MO.BIN4, // black left-pointing pointer - '\u25C5': MO.BIN4, // white left-pointing pointer - '\u25C6': MO.BIN4, // black diamond - '\u25C7': MO.BIN4, // white diamond - '\u25C8': MO.BIN4, // white diamond containing black small diamond - '\u25C9': MO.BIN4, // fisheye - '\u25CC': MO.BIN4, // dotted circle - '\u25CD': MO.BIN4, // circle with vertical fill - '\u25CE': MO.BIN4, // bullseye - '\u25CF': MO.BIN4, // black circle - '\u25D6': MO.BIN4, // left half black circle - '\u25D7': MO.BIN4, // right half black circle - '\u25E6': MO.BIN4 // white bullet - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/GeometricShapes.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GreekAndCoptic.js deleted file mode 100644 index a2fe5071..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GreekAndCoptic.js +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/GreekAndCoptic.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - infix: { - '\u03F6': MO.REL // greek reversed lunate epsilon symbol - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/GreekAndCoptic.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Latin1Supplement.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Latin1Supplement.js deleted file mode 100644 index e165175e..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Latin1Supplement.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/Latin1Supplement.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - postfix: { - '\u00B0': MO.ORD, // degree sign - '\u00B4': MO.ACCENT, // acute accent - '\u00B8': MO.ACCENT // cedilla - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/Latin1Supplement.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/LetterlikeSymbols.js deleted file mode 100644 index fc10e6c5..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/LetterlikeSymbols.js +++ /dev/null @@ -1,36 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/LetterlikeSymbols.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - prefix: { - '\u2145': MO.ORD21, // double-struck italic capital d - '\u2146': [2,0,TEXCLASS.ORD] // double-struck italic small d - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/LetterlikeSymbols.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MathOperators.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MathOperators.js deleted file mode 100644 index 10a96fde..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MathOperators.js +++ /dev/null @@ -1,228 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/MathOperators.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - prefix: { - '\u2204': MO.ORD21, // there does not exist - '\u221B': MO.ORD11, // cube root - '\u221C': MO.ORD11, // fourth root - '\u2221': MO.ORD, // measured angle - '\u2222': MO.ORD, // spherical angle - '\u222C': MO.INTEGRAL, // double integral - '\u222D': MO.INTEGRAL, // triple integral - '\u222F': MO.INTEGRAL, // surface integral - '\u2230': MO.INTEGRAL, // volume integral - '\u2231': MO.INTEGRAL, // clockwise integral - '\u2232': MO.INTEGRAL, // clockwise contour integral - '\u2233': MO.INTEGRAL // anticlockwise contour integral - }, - infix: { - '\u2201': [1,2,TEXCLASS.ORD], // complement - '\u2206': MO.BIN3, // increment - '\u220A': MO.REL, // small element of - '\u220C': MO.REL, // does not contain as member - '\u220D': MO.REL, // small contains as member - '\u220E': MO.BIN3, // end of proof - '\u2214': MO.BIN4, // dot plus - '\u221F': MO.REL, // right angle - '\u2224': MO.REL, // does not divide - '\u2226': MO.REL, // not parallel to - '\u2234': MO.REL, // therefore - '\u2235': MO.REL, // because - '\u2236': MO.REL, // ratio - '\u2237': MO.REL, // proportion - '\u2238': MO.BIN4, // dot minus - '\u2239': MO.REL, // excess - '\u223A': MO.BIN4, // geometric proportion - '\u223B': MO.REL, // homothetic - '\u223D': MO.REL, // reversed tilde - '\u223D\u0331': MO.BIN3, // reversed tilde with underline - '\u223E': MO.REL, // inverted lazy s - '\u223F': MO.BIN3, // sine wave - '\u2241': MO.REL, // not tilde - '\u2242': MO.REL, // minus tilde - '\u2242\u0338': MO.REL, // minus tilde with slash - '\u2244': MO.REL, // not asymptotically equal to - '\u2246': MO.REL, // approximately but not actually equal to - '\u2247': MO.REL, // neither approximately nor actually equal to - '\u2249': MO.REL, // not almost equal to - '\u224A': MO.REL, // almost equal or equal to - '\u224B': MO.REL, // triple tilde - '\u224C': MO.REL, // all equal to - '\u224E': MO.REL, // geometrically equivalent to - '\u224E\u0338': MO.REL, // geometrically equivalent to with slash - '\u224F': MO.REL, // difference between - '\u224F\u0338': MO.REL, // difference between with slash - '\u2251': MO.REL, // geometrically equal to - '\u2252': MO.REL, // approximately equal to or the image of - '\u2253': MO.REL, // image of or approximately equal to - '\u2254': MO.REL, // colon equals - '\u2255': MO.REL, // equals colon - '\u2256': MO.REL, // ring in equal to - '\u2257': MO.REL, // ring equal to - '\u2258': MO.REL, // corresponds to - '\u2259': MO.REL, // estimates - '\u225A': MO.REL, // equiangular to - '\u225C': MO.REL, // delta equal to - '\u225D': MO.REL, // equal to by definition - '\u225E': MO.REL, // measured by - '\u225F': MO.REL, // questioned equal to - '\u2262': MO.REL, // not identical to - '\u2263': MO.REL, // strictly equivalent to - '\u2266': MO.REL, // less-than over equal to - '\u2266\u0338': MO.REL, // less-than over equal to with slash - '\u2267': MO.REL, // greater-than over equal to - '\u2268': MO.REL, // less-than but not equal to - '\u2269': MO.REL, // greater-than but not equal to - '\u226A\u0338': MO.REL, // much less than with slash - '\u226B\u0338': MO.REL, // much greater than with slash - '\u226C': MO.REL, // between - '\u226D': MO.REL, // not equivalent to - '\u226E': MO.REL, // not less-than - '\u226F': MO.REL, // not greater-than - '\u2270': MO.REL, // neither less-than nor equal to - '\u2271': MO.REL, // neither greater-than nor equal to - '\u2272': MO.REL, // less-than or equivalent to - '\u2273': MO.REL, // greater-than or equivalent to - '\u2274': MO.REL, // neither less-than nor equivalent to - '\u2275': MO.REL, // neither greater-than nor equivalent to - '\u2276': MO.REL, // less-than or greater-than - '\u2277': MO.REL, // greater-than or less-than - '\u2278': MO.REL, // neither less-than nor greater-than - '\u2279': MO.REL, // neither greater-than nor less-than - '\u227C': MO.REL, // precedes or equal to - '\u227D': MO.REL, // succeeds or equal to - '\u227E': MO.REL, // precedes or equivalent to - '\u227F': MO.REL, // succeeds or equivalent to - '\u227F\u0338': MO.REL, // succeeds or equivalent to with slash - '\u2280': MO.REL, // does not precede - '\u2281': MO.REL, // does not succeed - '\u2282\u20D2': MO.REL, // subset of with vertical line - '\u2283\u20D2': MO.REL, // superset of with vertical line - '\u2284': MO.REL, // not a subset of - '\u2285': MO.REL, // not a superset of - '\u2288': MO.REL, // neither a subset of nor equal to - '\u2289': MO.REL, // neither a superset of nor equal to - '\u228A': MO.REL, // subset of with not equal to - '\u228B': MO.REL, // superset of with not equal to - '\u228C': MO.BIN4, // multiset - '\u228D': MO.BIN4, // multiset multiplication - '\u228F': MO.REL, // square image of - '\u228F\u0338': MO.REL, // square image of with slash - '\u2290': MO.REL, // square original of - '\u2290\u0338': MO.REL, // square original of with slash - '\u229A': MO.BIN4, // circled ring operator - '\u229B': MO.BIN4, // circled asterisk operator - '\u229C': MO.BIN4, // circled equals - '\u229D': MO.BIN4, // circled dash - '\u229E': MO.BIN4, // squared plus - '\u229F': MO.BIN4, // squared minus - '\u22A0': MO.BIN4, // squared times - '\u22A1': MO.BIN4, // squared dot operator - '\u22A6': MO.REL, // assertion - '\u22A7': MO.REL, // models - '\u22A9': MO.REL, // forces - '\u22AA': MO.REL, // triple vertical bar right turnstile - '\u22AB': MO.REL, // double vertical bar double right turnstile - '\u22AC': MO.REL, // does not prove - '\u22AD': MO.REL, // not true - '\u22AE': MO.REL, // does not force - '\u22AF': MO.REL, // negated double vertical bar double right turnstile - '\u22B0': MO.REL, // precedes under relation - '\u22B1': MO.REL, // succeeds under relation - '\u22B2': MO.REL, // normal subgroup of - '\u22B3': MO.REL, // contains as normal subgroup - '\u22B4': MO.REL, // normal subgroup of or equal to - '\u22B5': MO.REL, // contains as normal subgroup or equal to - '\u22B6': MO.REL, // original of - '\u22B7': MO.REL, // image of - '\u22B8': MO.REL, // multimap - '\u22B9': MO.REL, // hermitian conjugate matrix - '\u22BA': MO.BIN4, // intercalate - '\u22BB': MO.BIN4, // xor - '\u22BC': MO.BIN4, // nand - '\u22BD': MO.BIN4, // nor - '\u22BE': MO.BIN3, // right angle with arc - '\u22BF': MO.BIN3, // right triangle - '\u22C7': MO.BIN4, // division times - '\u22C9': MO.BIN4, // left normal factor semidirect product - '\u22CA': MO.BIN4, // right normal factor semidirect product - '\u22CB': MO.BIN4, // left semidirect product - '\u22CC': MO.BIN4, // right semidirect product - '\u22CD': MO.REL, // reversed tilde equals - '\u22CE': MO.BIN4, // curly logical or - '\u22CF': MO.BIN4, // curly logical and - '\u22D0': MO.REL, // double subset - '\u22D1': MO.REL, // double superset - '\u22D2': MO.BIN4, // double intersection - '\u22D3': MO.BIN4, // double union - '\u22D4': MO.REL, // pitchfork - '\u22D5': MO.REL, // equal and parallel to - '\u22D6': MO.REL, // less-than with dot - '\u22D7': MO.REL, // greater-than with dot - '\u22D8': MO.REL, // very much less-than - '\u22D9': MO.REL, // very much greater-than - '\u22DA': MO.REL, // less-than equal to or greater-than - '\u22DB': MO.REL, // greater-than equal to or less-than - '\u22DC': MO.REL, // equal to or less-than - '\u22DD': MO.REL, // equal to or greater-than - '\u22DE': MO.REL, // equal to or precedes - '\u22DF': MO.REL, // equal to or succeeds - '\u22E0': MO.REL, // does not precede or equal - '\u22E1': MO.REL, // does not succeed or equal - '\u22E2': MO.REL, // not square image of or equal to - '\u22E3': MO.REL, // not square original of or equal to - '\u22E4': MO.REL, // square image of or not equal to - '\u22E5': MO.REL, // square original of or not equal to - '\u22E6': MO.REL, // less-than but not equivalent to - '\u22E7': MO.REL, // greater-than but not equivalent to - '\u22E8': MO.REL, // precedes but not equivalent to - '\u22E9': MO.REL, // succeeds but not equivalent to - '\u22EA': MO.REL, // not normal subgroup of - '\u22EB': MO.REL, // does not contain as normal subgroup - '\u22EC': MO.REL, // not normal subgroup of or equal to - '\u22ED': MO.REL, // does not contain as normal subgroup or equal - '\u22F0': MO.REL, // up right diagonal ellipsis - '\u22F2': MO.REL, // element of with long horizontal stroke - '\u22F3': MO.REL, // element of with vertical bar at end of horizontal stroke - '\u22F4': MO.REL, // small element of with vertical bar at end of horizontal stroke - '\u22F5': MO.REL, // element of with dot above - '\u22F6': MO.REL, // element of with overbar - '\u22F7': MO.REL, // small element of with overbar - '\u22F8': MO.REL, // element of with underbar - '\u22F9': MO.REL, // element of with two horizontal strokes - '\u22FA': MO.REL, // contains with long horizontal stroke - '\u22FB': MO.REL, // contains with vertical bar at end of horizontal stroke - '\u22FC': MO.REL, // small contains with vertical bar at end of horizontal stroke - '\u22FD': MO.REL, // contains with overbar - '\u22FE': MO.REL, // small contains with overbar - '\u22FF': MO.REL // z notation bag membership - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/MathOperators.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsA.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsA.js deleted file mode 100644 index 3ffbe0b1..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsA.js +++ /dev/null @@ -1,42 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/MiscMathSymbolsA.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - prefix: { - '\u27E6': MO.OPEN, // mathematical left white square bracket - '\u27EA': MO.OPEN, // mathematical left double angle bracket - '\u27EC': MO.OPEN // mathematical left white tortoise shell bracket - }, - postfix: { - '\u27E7': MO.CLOSE, // mathematical right white square bracket - '\u27EB': MO.CLOSE, // mathematical right double angle bracket - '\u27ED': MO.CLOSE // mathematical right white tortoise shell bracket - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/MiscMathSymbolsA.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsB.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsB.js deleted file mode 100644 index 31dac9ab..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsB.js +++ /dev/null @@ -1,168 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/MiscMathSymbolsB.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - prefix: { - '\u2980': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // triple vertical bar delimiter - '\u2983': MO.OPEN, // left white curly bracket - '\u2985': MO.OPEN, // left white parenthesis - '\u2987': MO.OPEN, // z notation left image bracket - '\u2989': MO.OPEN, // z notation left binding bracket - '\u298B': MO.OPEN, // left square bracket with underbar - '\u298D': MO.OPEN, // left square bracket with tick in top corner - '\u298F': MO.OPEN, // left square bracket with tick in bottom corner - '\u2991': MO.OPEN, // left angle bracket with dot - '\u2993': MO.OPEN, // left arc less-than bracket - '\u2995': MO.OPEN, // double left arc greater-than bracket - '\u2997': MO.OPEN, // left black tortoise shell bracket - '\u29FC': MO.OPEN // left-pointing curved angle bracket - }, - postfix: { - '\u2980': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // triple vertical bar delimiter - '\u2984': MO.CLOSE, // right white curly bracket - '\u2986': MO.CLOSE, // right white parenthesis - '\u2988': MO.CLOSE, // z notation right image bracket - '\u298A': MO.CLOSE, // z notation right binding bracket - '\u298C': MO.CLOSE, // right square bracket with underbar - '\u298E': MO.CLOSE, // right square bracket with tick in bottom corner - '\u2990': MO.CLOSE, // right square bracket with tick in top corner - '\u2992': MO.CLOSE, // right angle bracket with dot - '\u2994': MO.CLOSE, // right arc greater-than bracket - '\u2996': MO.CLOSE, // double right arc less-than bracket - '\u2998': MO.CLOSE, // right black tortoise shell bracket - '\u29FD': MO.CLOSE // right-pointing curved angle bracket - }, - infix: { - '\u2981': MO.BIN3, // z notation spot - '\u2982': MO.BIN3, // z notation type colon - '\u2999': MO.BIN3, // dotted fence - '\u299A': MO.BIN3, // vertical zigzag line - '\u299B': MO.BIN3, // measured angle opening left - '\u299C': MO.BIN3, // right angle variant with square - '\u299D': MO.BIN3, // measured right angle with dot - '\u299E': MO.BIN3, // angle with s inside - '\u299F': MO.BIN3, // acute angle - '\u29A0': MO.BIN3, // spherical angle opening left - '\u29A1': MO.BIN3, // spherical angle opening up - '\u29A2': MO.BIN3, // turned angle - '\u29A3': MO.BIN3, // reversed angle - '\u29A4': MO.BIN3, // angle with underbar - '\u29A5': MO.BIN3, // reversed angle with underbar - '\u29A6': MO.BIN3, // oblique angle opening up - '\u29A7': MO.BIN3, // oblique angle opening down - '\u29A8': MO.BIN3, // measured angle with open arm ending in arrow pointing up and right - '\u29A9': MO.BIN3, // measured angle with open arm ending in arrow pointing up and left - '\u29AA': MO.BIN3, // measured angle with open arm ending in arrow pointing down and right - '\u29AB': MO.BIN3, // measured angle with open arm ending in arrow pointing down and left - '\u29AC': MO.BIN3, // measured angle with open arm ending in arrow pointing right and up - '\u29AD': MO.BIN3, // measured angle with open arm ending in arrow pointing left and up - '\u29AE': MO.BIN3, // measured angle with open arm ending in arrow pointing right and down - '\u29AF': MO.BIN3, // measured angle with open arm ending in arrow pointing left and down - '\u29B0': MO.BIN3, // reversed empty set - '\u29B1': MO.BIN3, // empty set with overbar - '\u29B2': MO.BIN3, // empty set with small circle above - '\u29B3': MO.BIN3, // empty set with right arrow above - '\u29B4': MO.BIN3, // empty set with left arrow above - '\u29B5': MO.BIN3, // circle with horizontal bar - '\u29B6': MO.BIN4, // circled vertical bar - '\u29B7': MO.BIN4, // circled parallel - '\u29B8': MO.BIN4, // circled reverse solidus - '\u29B9': MO.BIN4, // circled perpendicular - '\u29BA': MO.BIN4, // circle divided by horizontal bar and top half divided by vertical bar - '\u29BB': MO.BIN4, // circle with superimposed x - '\u29BC': MO.BIN4, // circled anticlockwise-rotated division sign - '\u29BD': MO.BIN4, // up arrow through circle - '\u29BE': MO.BIN4, // circled white bullet - '\u29BF': MO.BIN4, // circled bullet - '\u29C0': MO.REL, // circled less-than - '\u29C1': MO.REL, // circled greater-than - '\u29C2': MO.BIN3, // circle with small circle to the right - '\u29C3': MO.BIN3, // circle with two horizontal strokes to the right - '\u29C4': MO.BIN4, // squared rising diagonal slash - '\u29C5': MO.BIN4, // squared falling diagonal slash - '\u29C6': MO.BIN4, // squared asterisk - '\u29C7': MO.BIN4, // squared small circle - '\u29C8': MO.BIN4, // squared square - '\u29C9': MO.BIN3, // two joined squares - '\u29CA': MO.BIN3, // triangle with dot above - '\u29CB': MO.BIN3, // triangle with underbar - '\u29CC': MO.BIN3, // s in triangle - '\u29CD': MO.BIN3, // triangle with serifs at bottom - '\u29CE': MO.REL, // right triangle above left triangle - '\u29CF': MO.REL, // left triangle beside vertical bar - '\u29CF\u0338': MO.REL, // left triangle beside vertical bar with slash - '\u29D0': MO.REL, // vertical bar beside right triangle - '\u29D0\u0338': MO.REL, // vertical bar beside right triangle with slash - '\u29D1': MO.REL, // bowtie with left half black - '\u29D2': MO.REL, // bowtie with right half black - '\u29D3': MO.REL, // black bowtie - '\u29D4': MO.REL, // times with left half black - '\u29D5': MO.REL, // times with right half black - '\u29D6': MO.BIN4, // white hourglass - '\u29D7': MO.BIN4, // black hourglass - '\u29D8': MO.BIN3, // left wiggly fence - '\u29D9': MO.BIN3, // right wiggly fence - '\u29DB': MO.BIN3, // right double wiggly fence - '\u29DC': MO.BIN3, // incomplete infinity - '\u29DD': MO.BIN3, // tie over infinity - '\u29DE': MO.REL, // infinity negated with vertical bar - '\u29DF': MO.BIN3, // double-ended multimap - '\u29E0': MO.BIN3, // square with contoured outline - '\u29E1': MO.REL, // increases as - '\u29E2': MO.BIN4, // shuffle product - '\u29E3': MO.REL, // equals sign and slanted parallel - '\u29E4': MO.REL, // equals sign and slanted parallel with tilde above - '\u29E5': MO.REL, // identical to and slanted parallel - '\u29E6': MO.REL, // gleich stark - '\u29E7': MO.BIN3, // thermodynamic - '\u29E8': MO.BIN3, // down-pointing triangle with left half black - '\u29E9': MO.BIN3, // down-pointing triangle with right half black - '\u29EA': MO.BIN3, // black diamond with down arrow - '\u29EB': MO.BIN3, // black lozenge - '\u29EC': MO.BIN3, // white circle with down arrow - '\u29ED': MO.BIN3, // black circle with down arrow - '\u29EE': MO.BIN3, // error-barred white square - '\u29EF': MO.BIN3, // error-barred black square - '\u29F0': MO.BIN3, // error-barred white diamond - '\u29F1': MO.BIN3, // error-barred black diamond - '\u29F2': MO.BIN3, // error-barred white circle - '\u29F3': MO.BIN3, // error-barred black circle - '\u29F4': MO.REL, // rule-delayed - '\u29F5': MO.BIN4, // reverse solidus operator - '\u29F6': MO.BIN4, // solidus with overbar - '\u29F7': MO.BIN4, // reverse solidus with horizontal stroke - '\u29F8': MO.BIN3, // big solidus - '\u29F9': MO.BIN3, // big reverse solidus - '\u29FA': MO.BIN3, // double plus - '\u29FB': MO.BIN3, // triple plus - '\u29FE': MO.BIN4, // tiny - '\u29FF': MO.BIN4 // miny - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/MiscMathSymbolsB.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscSymbolsAndArrows.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscSymbolsAndArrows.js deleted file mode 100644 index beb7a1d4..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscSymbolsAndArrows.js +++ /dev/null @@ -1,36 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/MiscSymbolsAndArrows.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - infix: { - '\u2B45': MO.RELSTRETCH, // leftwards quadruple arrow - '\u2B46': MO.RELSTRETCH // rightwards quadruple arrow - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/MiscSymbolsAndArrows.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscTechnical.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscTechnical.js deleted file mode 100644 index ab1c7e2a..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscTechnical.js +++ /dev/null @@ -1,40 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/MiscTechnical.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - postfix: { - '\u23B4': MO.WIDEACCENT, // top square bracket - '\u23B5': MO.WIDEACCENT, // bottom square bracket - '\u23DC': MO.WIDEACCENT, // top parenthesis - '\u23DD': MO.WIDEACCENT, // bottom parenthesis - '\u23E0': MO.WIDEACCENT, // top tortoise shell bracket - '\u23E1': MO.WIDEACCENT // bottom tortoise shell bracket - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/MiscTechnical.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SpacingModLetters.js deleted file mode 100644 index 33d1b5ef..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SpacingModLetters.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/SpacingModLetters.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - postfix: { - '\u02CD': MO.WIDEACCENT, // modifier letter low macron - '\u02DA': MO.ACCENT, // ring above - '\u02DD': MO.ACCENT, // double acute accent - '\u02F7': MO.WIDEACCENT // modifier letter low tilde - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/SpacingModLetters.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SuppMathOperators.js deleted file mode 100644 index d11e3a09..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SuppMathOperators.js +++ /dev/null @@ -1,289 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/SuppMathOperators.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - prefix: { - '\u2A03': MO.OP, // n-ary union operator with dot - '\u2A05': MO.OP, // n-ary square intersection operator - '\u2A07': MO.OP, // two logical and operator - '\u2A08': MO.OP, // two logical or operator - '\u2A09': MO.OP, // n-ary times operator - '\u2A0A': MO.OP, // modulo two sum - '\u2A0B': MO.INTEGRAL2, // summation with integral - '\u2A0C': MO.INTEGRAL, // quadruple integral operator - '\u2A0D': MO.INTEGRAL2, // finite part integral - '\u2A0E': MO.INTEGRAL2, // integral with double stroke - '\u2A0F': MO.INTEGRAL2, // integral average with slash - '\u2A10': MO.OP, // circulation function - '\u2A11': MO.OP, // anticlockwise integration - '\u2A12': MO.OP, // line integration with rectangular path around pole - '\u2A13': MO.OP, // line integration with semicircular path around pole - '\u2A14': MO.OP, // line integration not including the pole - '\u2A15': MO.INTEGRAL2, // integral around a point operator - '\u2A16': MO.INTEGRAL2, // quaternion integral operator - '\u2A17': MO.INTEGRAL2, // integral with leftwards arrow with hook - '\u2A18': MO.INTEGRAL2, // integral with times sign - '\u2A19': MO.INTEGRAL2, // integral with intersection - '\u2A1A': MO.INTEGRAL2, // integral with union - '\u2A1B': MO.INTEGRAL2, // integral with overbar - '\u2A1C': MO.INTEGRAL2, // integral with underbar - '\u2AFC': MO.OP, // large triple vertical bar operator - '\u2AFF': MO.OP // n-ary white vertical bar - }, - infix: { - '\u2A1D': MO.BIN3, // join - '\u2A1E': MO.BIN3, // large left triangle operator - '\u2A1F': MO.BIN3, // z notation schema composition - '\u2A20': MO.BIN3, // z notation schema piping - '\u2A21': MO.BIN3, // z notation schema projection - '\u2A22': MO.BIN4, // plus sign with small circle above - '\u2A23': MO.BIN4, // plus sign with circumflex accent above - '\u2A24': MO.BIN4, // plus sign with tilde above - '\u2A25': MO.BIN4, // plus sign with dot below - '\u2A26': MO.BIN4, // plus sign with tilde below - '\u2A27': MO.BIN4, // plus sign with subscript two - '\u2A28': MO.BIN4, // plus sign with black triangle - '\u2A29': MO.BIN4, // minus sign with comma above - '\u2A2A': MO.BIN4, // minus sign with dot below - '\u2A2B': MO.BIN4, // minus sign with falling dots - '\u2A2C': MO.BIN4, // minus sign with rising dots - '\u2A2D': MO.BIN4, // plus sign in left half circle - '\u2A2E': MO.BIN4, // plus sign in right half circle - '\u2A30': MO.BIN4, // multiplication sign with dot above - '\u2A31': MO.BIN4, // multiplication sign with underbar - '\u2A32': MO.BIN4, // semidirect product with bottom closed - '\u2A33': MO.BIN4, // smash product - '\u2A34': MO.BIN4, // multiplication sign in left half circle - '\u2A35': MO.BIN4, // multiplication sign in right half circle - '\u2A36': MO.BIN4, // circled multiplication sign with circumflex accent - '\u2A37': MO.BIN4, // multiplication sign in double circle - '\u2A38': MO.BIN4, // circled division sign - '\u2A39': MO.BIN4, // plus sign in triangle - '\u2A3A': MO.BIN4, // minus sign in triangle - '\u2A3B': MO.BIN4, // multiplication sign in triangle - '\u2A3C': MO.BIN4, // interior product - '\u2A3D': MO.BIN4, // righthand interior product - '\u2A3E': MO.BIN4, // z notation relational composition - '\u2A40': MO.BIN4, // intersection with dot - '\u2A41': MO.BIN4, // union with minus sign - '\u2A42': MO.BIN4, // union with overbar - '\u2A43': MO.BIN4, // intersection with overbar - '\u2A44': MO.BIN4, // intersection with logical and - '\u2A45': MO.BIN4, // union with logical or - '\u2A46': MO.BIN4, // union above intersection - '\u2A47': MO.BIN4, // intersection above union - '\u2A48': MO.BIN4, // union above bar above intersection - '\u2A49': MO.BIN4, // intersection above bar above union - '\u2A4A': MO.BIN4, // union beside and joined with union - '\u2A4B': MO.BIN4, // intersection beside and joined with intersection - '\u2A4C': MO.BIN4, // closed union with serifs - '\u2A4D': MO.BIN4, // closed intersection with serifs - '\u2A4E': MO.BIN4, // double square intersection - '\u2A4F': MO.BIN4, // double square union - '\u2A50': MO.BIN4, // closed union with serifs and smash product - '\u2A51': MO.BIN4, // logical and with dot above - '\u2A52': MO.BIN4, // logical or with dot above - '\u2A53': MO.BIN4, // double logical and - '\u2A54': MO.BIN4, // double logical or - '\u2A55': MO.BIN4, // two intersecting logical and - '\u2A56': MO.BIN4, // two intersecting logical or - '\u2A57': MO.BIN4, // sloping large or - '\u2A58': MO.BIN4, // sloping large and - '\u2A59': MO.REL, // logical or overlapping logical and - '\u2A5A': MO.BIN4, // logical and with middle stem - '\u2A5B': MO.BIN4, // logical or with middle stem - '\u2A5C': MO.BIN4, // logical and with horizontal dash - '\u2A5D': MO.BIN4, // logical or with horizontal dash - '\u2A5E': MO.BIN4, // logical and with double overbar - '\u2A5F': MO.BIN4, // logical and with underbar - '\u2A60': MO.BIN4, // logical and with double underbar - '\u2A61': MO.BIN4, // small vee with underbar - '\u2A62': MO.BIN4, // logical or with double overbar - '\u2A63': MO.BIN4, // logical or with double underbar - '\u2A64': MO.BIN4, // z notation domain antirestriction - '\u2A65': MO.BIN4, // z notation range antirestriction - '\u2A66': MO.REL, // equals sign with dot below - '\u2A67': MO.REL, // identical with dot above - '\u2A68': MO.REL, // triple horizontal bar with double vertical stroke - '\u2A69': MO.REL, // triple horizontal bar with triple vertical stroke - '\u2A6A': MO.REL, // tilde operator with dot above - '\u2A6B': MO.REL, // tilde operator with rising dots - '\u2A6C': MO.REL, // similar minus similar - '\u2A6D': MO.REL, // congruent with dot above - '\u2A6E': MO.REL, // equals with asterisk - '\u2A6F': MO.REL, // almost equal to with circumflex accent - '\u2A70': MO.REL, // approximately equal or equal to - '\u2A71': MO.BIN4, // equals sign above plus sign - '\u2A72': MO.BIN4, // plus sign above equals sign - '\u2A73': MO.REL, // equals sign above tilde operator - '\u2A74': MO.REL, // double colon equal - '\u2A75': MO.REL, // two consecutive equals signs - '\u2A76': MO.REL, // three consecutive equals signs - '\u2A77': MO.REL, // equals sign with two dots above and two dots below - '\u2A78': MO.REL, // equivalent with four dots above - '\u2A79': MO.REL, // less-than with circle inside - '\u2A7A': MO.REL, // greater-than with circle inside - '\u2A7B': MO.REL, // less-than with question mark above - '\u2A7C': MO.REL, // greater-than with question mark above - '\u2A7D': MO.REL, // less-than or slanted equal to - '\u2A7D\u0338': MO.REL, // less-than or slanted equal to with slash - '\u2A7E': MO.REL, // greater-than or slanted equal to - '\u2A7E\u0338': MO.REL, // greater-than or slanted equal to with slash - '\u2A7F': MO.REL, // less-than or slanted equal to with dot inside - '\u2A80': MO.REL, // greater-than or slanted equal to with dot inside - '\u2A81': MO.REL, // less-than or slanted equal to with dot above - '\u2A82': MO.REL, // greater-than or slanted equal to with dot above - '\u2A83': MO.REL, // less-than or slanted equal to with dot above right - '\u2A84': MO.REL, // greater-than or slanted equal to with dot above left - '\u2A85': MO.REL, // less-than or approximate - '\u2A86': MO.REL, // greater-than or approximate - '\u2A87': MO.REL, // less-than and single-line not equal to - '\u2A88': MO.REL, // greater-than and single-line not equal to - '\u2A89': MO.REL, // less-than and not approximate - '\u2A8A': MO.REL, // greater-than and not approximate - '\u2A8B': MO.REL, // less-than above double-line equal above greater-than - '\u2A8C': MO.REL, // greater-than above double-line equal above less-than - '\u2A8D': MO.REL, // less-than above similar or equal - '\u2A8E': MO.REL, // greater-than above similar or equal - '\u2A8F': MO.REL, // less-than above similar above greater-than - '\u2A90': MO.REL, // greater-than above similar above less-than - '\u2A91': MO.REL, // less-than above greater-than above double-line equal - '\u2A92': MO.REL, // greater-than above less-than above double-line equal - '\u2A93': MO.REL, // less-than above slanted equal above greater-than above slanted equal - '\u2A94': MO.REL, // greater-than above slanted equal above less-than above slanted equal - '\u2A95': MO.REL, // slanted equal to or less-than - '\u2A96': MO.REL, // slanted equal to or greater-than - '\u2A97': MO.REL, // slanted equal to or less-than with dot inside - '\u2A98': MO.REL, // slanted equal to or greater-than with dot inside - '\u2A99': MO.REL, // double-line equal to or less-than - '\u2A9A': MO.REL, // double-line equal to or greater-than - '\u2A9B': MO.REL, // double-line slanted equal to or less-than - '\u2A9C': MO.REL, // double-line slanted equal to or greater-than - '\u2A9D': MO.REL, // similar or less-than - '\u2A9E': MO.REL, // similar or greater-than - '\u2A9F': MO.REL, // similar above less-than above equals sign - '\u2AA0': MO.REL, // similar above greater-than above equals sign - '\u2AA1': MO.REL, // double nested less-than - '\u2AA1\u0338': MO.REL, // double nested less-than with slash - '\u2AA2': MO.REL, // double nested greater-than - '\u2AA2\u0338': MO.REL, // double nested greater-than with slash - '\u2AA3': MO.REL, // double nested less-than with underbar - '\u2AA4': MO.REL, // greater-than overlapping less-than - '\u2AA5': MO.REL, // greater-than beside less-than - '\u2AA6': MO.REL, // less-than closed by curve - '\u2AA7': MO.REL, // greater-than closed by curve - '\u2AA8': MO.REL, // less-than closed by curve above slanted equal - '\u2AA9': MO.REL, // greater-than closed by curve above slanted equal - '\u2AAA': MO.REL, // smaller than - '\u2AAB': MO.REL, // larger than - '\u2AAC': MO.REL, // smaller than or equal to - '\u2AAD': MO.REL, // larger than or equal to - '\u2AAE': MO.REL, // equals sign with bumpy above - '\u2AAF\u0338': MO.REL, // precedes above single-line equals sign with slash - '\u2AB0\u0338': MO.REL, // succeeds above single-line equals sign with slash - '\u2AB1': MO.REL, // precedes above single-line not equal to - '\u2AB2': MO.REL, // succeeds above single-line not equal to - '\u2AB3': MO.REL, // precedes above equals sign - '\u2AB4': MO.REL, // succeeds above equals sign - '\u2AB5': MO.REL, // precedes above not equal to - '\u2AB6': MO.REL, // succeeds above not equal to - '\u2AB7': MO.REL, // precedes above almost equal to - '\u2AB8': MO.REL, // succeeds above almost equal to - '\u2AB9': MO.REL, // precedes above not almost equal to - '\u2ABA': MO.REL, // succeeds above not almost equal to - '\u2ABB': MO.REL, // double precedes - '\u2ABC': MO.REL, // double succeeds - '\u2ABD': MO.REL, // subset with dot - '\u2ABE': MO.REL, // superset with dot - '\u2ABF': MO.REL, // subset with plus sign below - '\u2AC0': MO.REL, // superset with plus sign below - '\u2AC1': MO.REL, // subset with multiplication sign below - '\u2AC2': MO.REL, // superset with multiplication sign below - '\u2AC3': MO.REL, // subset of or equal to with dot above - '\u2AC4': MO.REL, // superset of or equal to with dot above - '\u2AC5': MO.REL, // subset of above equals sign - '\u2AC6': MO.REL, // superset of above equals sign - '\u2AC7': MO.REL, // subset of above tilde operator - '\u2AC8': MO.REL, // superset of above tilde operator - '\u2AC9': MO.REL, // subset of above almost equal to - '\u2ACA': MO.REL, // superset of above almost equal to - '\u2ACB': MO.REL, // subset of above not equal to - '\u2ACC': MO.REL, // superset of above not equal to - '\u2ACD': MO.REL, // square left open box operator - '\u2ACE': MO.REL, // square right open box operator - '\u2ACF': MO.REL, // closed subset - '\u2AD0': MO.REL, // closed superset - '\u2AD1': MO.REL, // closed subset or equal to - '\u2AD2': MO.REL, // closed superset or equal to - '\u2AD3': MO.REL, // subset above superset - '\u2AD4': MO.REL, // superset above subset - '\u2AD5': MO.REL, // subset above subset - '\u2AD6': MO.REL, // superset above superset - '\u2AD7': MO.REL, // superset beside subset - '\u2AD8': MO.REL, // superset beside and joined by dash with subset - '\u2AD9': MO.REL, // element of opening downwards - '\u2ADA': MO.REL, // pitchfork with tee top - '\u2ADB': MO.REL, // transversal intersection - '\u2ADC': MO.REL, // forking - '\u2ADD': MO.REL, // nonforking - '\u2ADE': MO.REL, // short left tack - '\u2ADF': MO.REL, // short down tack - '\u2AE0': MO.REL, // short up tack - '\u2AE1': MO.REL, // perpendicular with s - '\u2AE2': MO.REL, // vertical bar triple right turnstile - '\u2AE3': MO.REL, // double vertical bar left turnstile - '\u2AE4': MO.REL, // vertical bar double left turnstile - '\u2AE5': MO.REL, // double vertical bar double left turnstile - '\u2AE6': MO.REL, // long dash from left member of double vertical - '\u2AE7': MO.REL, // short down tack with overbar - '\u2AE8': MO.REL, // short up tack with underbar - '\u2AE9': MO.REL, // short up tack above short down tack - '\u2AEA': MO.REL, // double down tack - '\u2AEB': MO.REL, // double up tack - '\u2AEC': MO.REL, // double stroke not sign - '\u2AED': MO.REL, // reversed double stroke not sign - '\u2AEE': MO.REL, // does not divide with reversed negation slash - '\u2AEF': MO.REL, // vertical line with circle above - '\u2AF0': MO.REL, // vertical line with circle below - '\u2AF1': MO.REL, // down tack with circle below - '\u2AF2': MO.REL, // parallel with horizontal stroke - '\u2AF3': MO.REL, // parallel with tilde operator - '\u2AF4': MO.BIN4, // triple vertical bar binary relation - '\u2AF5': MO.BIN4, // triple vertical bar with horizontal stroke - '\u2AF6': MO.BIN4, // triple colon operator - '\u2AF7': MO.REL, // triple nested less-than - '\u2AF8': MO.REL, // triple nested greater-than - '\u2AF9': MO.REL, // double-line slanted less-than or equal to - '\u2AFA': MO.REL, // double-line slanted greater-than or equal to - '\u2AFB': MO.BIN4, // triple solidus binary relation - '\u2AFD': MO.BIN4, // double solidus operator - '\u2AFE': MO.BIN3 // white vertical bar - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/SuppMathOperators.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsA.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsA.js deleted file mode 100644 index e09e926d..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsA.js +++ /dev/null @@ -1,40 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/SupplementalArrowsA.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - infix: { - '\u27F0': MO.RELSTRETCH, // upwards quadruple arrow - '\u27F1': MO.RELSTRETCH, // downwards quadruple arrow - '\u27FB': MO.WIDEREL, // long leftwards arrow from bar - '\u27FD': MO.WIDEREL, // long leftwards double arrow from bar - '\u27FE': MO.WIDEREL, // long rightwards double arrow from bar - '\u27FF': MO.WIDEREL // long rightwards squiggle arrow - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/SupplementalArrowsA.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsB.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsB.js deleted file mode 100644 index a60e53a4..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsB.js +++ /dev/null @@ -1,162 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/optable/SupplementalArrowsB.js - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (MML) { - var MO = MML.mo.OPTYPES; - var TEXCLASS = MML.TEXCLASS; - - MathJax.Hub.Insert(MML.mo.prototype,{ - OPTABLE: { - infix: { - '\u2900': MO.RELACCENT, // rightwards two-headed arrow with vertical stroke - '\u2901': MO.RELACCENT, // rightwards two-headed arrow with double vertical stroke - '\u2902': MO.RELACCENT, // leftwards double arrow with vertical stroke - '\u2903': MO.RELACCENT, // rightwards double arrow with vertical stroke - '\u2904': MO.RELACCENT, // left right double arrow with vertical stroke - '\u2905': MO.RELACCENT, // rightwards two-headed arrow from bar - '\u2906': MO.RELACCENT, // leftwards double arrow from bar - '\u2907': MO.RELACCENT, // rightwards double arrow from bar - '\u2908': MO.REL, // downwards arrow with horizontal stroke - '\u2909': MO.REL, // upwards arrow with horizontal stroke - '\u290A': MO.RELSTRETCH, // upwards triple arrow - '\u290B': MO.RELSTRETCH, // downwards triple arrow - '\u290C': MO.WIDEREL, // leftwards double dash arrow - '\u290D': MO.WIDEREL, // rightwards double dash arrow - '\u290E': MO.WIDEREL, // leftwards triple dash arrow - '\u290F': MO.WIDEREL, // rightwards triple dash arrow - '\u2910': MO.WIDEREL, // rightwards two-headed triple dash arrow - '\u2911': MO.RELACCENT, // rightwards arrow with dotted stem - '\u2912': MO.RELSTRETCH, // upwards arrow to bar - '\u2913': MO.RELSTRETCH, // downwards arrow to bar - '\u2914': MO.RELACCENT, // rightwards arrow with tail with vertical stroke - '\u2915': MO.RELACCENT, // rightwards arrow with tail with double vertical stroke - '\u2916': MO.RELACCENT, // rightwards two-headed arrow with tail - '\u2917': MO.RELACCENT, // rightwards two-headed arrow with tail with vertical stroke - '\u2918': MO.RELACCENT, // rightwards two-headed arrow with tail with double vertical stroke - '\u2919': MO.RELACCENT, // leftwards arrow-tail - '\u291A': MO.RELACCENT, // rightwards arrow-tail - '\u291B': MO.RELACCENT, // leftwards double arrow-tail - '\u291C': MO.RELACCENT, // rightwards double arrow-tail - '\u291D': MO.RELACCENT, // leftwards arrow to black diamond - '\u291E': MO.RELACCENT, // rightwards arrow to black diamond - '\u291F': MO.RELACCENT, // leftwards arrow from bar to black diamond - '\u2920': MO.RELACCENT, // rightwards arrow from bar to black diamond - '\u2921': MO.RELSTRETCH, // north west and south east arrow - '\u2922': MO.RELSTRETCH, // north east and south west arrow - '\u2923': MO.REL, // north west arrow with hook - '\u2924': MO.REL, // north east arrow with hook - '\u2925': MO.REL, // south east arrow with hook - '\u2926': MO.REL, // south west arrow with hook - '\u2927': MO.REL, // north west arrow and north east arrow - '\u2928': MO.REL, // north east arrow and south east arrow - '\u2929': MO.REL, // south east arrow and south west arrow - '\u292A': MO.REL, // south west arrow and north west arrow - '\u292B': MO.REL, // rising diagonal crossing falling diagonal - '\u292C': MO.REL, // falling diagonal crossing rising diagonal - '\u292D': MO.REL, // south east arrow crossing north east arrow - '\u292E': MO.REL, // north east arrow crossing south east arrow - '\u292F': MO.REL, // falling diagonal crossing north east arrow - '\u2930': MO.REL, // rising diagonal crossing south east arrow - '\u2931': MO.REL, // north east arrow crossing north west arrow - '\u2932': MO.REL, // north west arrow crossing north east arrow - '\u2933': MO.RELACCENT, // wave arrow pointing directly right - '\u2934': MO.REL, // arrow pointing rightwards then curving upwards - '\u2935': MO.REL, // arrow pointing rightwards then curving downwards - '\u2936': MO.REL, // arrow pointing downwards then curving leftwards - '\u2937': MO.REL, // arrow pointing downwards then curving rightwards - '\u2938': MO.REL, // right-side arc clockwise arrow - '\u2939': MO.REL, // left-side arc anticlockwise arrow - '\u293A': MO.RELACCENT, // top arc anticlockwise arrow - '\u293B': MO.RELACCENT, // bottom arc anticlockwise arrow - '\u293C': MO.RELACCENT, // top arc clockwise arrow with minus - '\u293D': MO.RELACCENT, // top arc anticlockwise arrow with plus - '\u293E': MO.REL, // lower right semicircular clockwise arrow - '\u293F': MO.REL, // lower left semicircular anticlockwise arrow - '\u2940': MO.REL, // anticlockwise closed circle arrow - '\u2941': MO.REL, // clockwise closed circle arrow - '\u2942': MO.RELACCENT, // rightwards arrow above short leftwards arrow - '\u2943': MO.RELACCENT, // leftwards arrow above short rightwards arrow - '\u2944': MO.RELACCENT, // short rightwards arrow above leftwards arrow - '\u2945': MO.RELACCENT, // rightwards arrow with plus below - '\u2946': MO.RELACCENT, // leftwards arrow with plus below - '\u2947': MO.RELACCENT, // rightwards arrow through x - '\u2948': MO.RELACCENT, // left right arrow through small circle - '\u2949': MO.REL, // upwards two-headed arrow from small circle - '\u294A': MO.RELACCENT, // left barb up right barb down harpoon - '\u294B': MO.RELACCENT, // left barb down right barb up harpoon - '\u294C': MO.REL, // up barb right down barb left harpoon - '\u294D': MO.REL, // up barb left down barb right harpoon - '\u294E': MO.WIDEREL, // left barb up right barb up harpoon - '\u294F': MO.RELSTRETCH, // up barb right down barb right harpoon - '\u2950': MO.WIDEREL, // left barb down right barb down harpoon - '\u2951': MO.RELSTRETCH, // up barb left down barb left harpoon - '\u2952': MO.WIDEREL, // leftwards harpoon with barb up to bar - '\u2953': MO.WIDEREL, // rightwards harpoon with barb up to bar - '\u2954': MO.RELSTRETCH, // upwards harpoon with barb right to bar - '\u2955': MO.RELSTRETCH, // downwards harpoon with barb right to bar - '\u2956': MO.RELSTRETCH, // leftwards harpoon with barb down to bar - '\u2957': MO.RELSTRETCH, // rightwards harpoon with barb down to bar - '\u2958': MO.RELSTRETCH, // upwards harpoon with barb left to bar - '\u2959': MO.RELSTRETCH, // downwards harpoon with barb left to bar - '\u295A': MO.WIDEREL, // leftwards harpoon with barb up from bar - '\u295B': MO.WIDEREL, // rightwards harpoon with barb up from bar - '\u295C': MO.RELSTRETCH, // upwards harpoon with barb right from bar - '\u295D': MO.RELSTRETCH, // downwards harpoon with barb right from bar - '\u295E': MO.WIDEREL, // leftwards harpoon with barb down from bar - '\u295F': MO.WIDEREL, // rightwards harpoon with barb down from bar - '\u2960': MO.RELSTRETCH, // upwards harpoon with barb left from bar - '\u2961': MO.RELSTRETCH, // downwards harpoon with barb left from bar - '\u2962': MO.RELACCENT, // leftwards harpoon with barb up above leftwards harpoon with barb down - '\u2963': MO.REL, // upwards harpoon with barb left beside upwards harpoon with barb right - '\u2964': MO.RELACCENT, // rightwards harpoon with barb up above rightwards harpoon with barb down - '\u2965': MO.REL, // downwards harpoon with barb left beside downwards harpoon with barb right - '\u2966': MO.RELACCENT, // leftwards harpoon with barb up above rightwards harpoon with barb up - '\u2967': MO.RELACCENT, // leftwards harpoon with barb down above rightwards harpoon with barb down - '\u2968': MO.RELACCENT, // rightwards harpoon with barb up above leftwards harpoon with barb up - '\u2969': MO.RELACCENT, // rightwards harpoon with barb down above leftwards harpoon with barb down - '\u296A': MO.RELACCENT, // leftwards harpoon with barb up above long dash - '\u296B': MO.RELACCENT, // leftwards harpoon with barb down below long dash - '\u296C': MO.RELACCENT, // rightwards harpoon with barb up above long dash - '\u296D': MO.RELACCENT, // rightwards harpoon with barb down below long dash - '\u296E': MO.RELSTRETCH, // upwards harpoon with barb left beside downwards harpoon with barb right - '\u296F': MO.RELSTRETCH, // downwards harpoon with barb left beside upwards harpoon with barb right - '\u2970': MO.RELACCENT, // right double arrow with rounded head - '\u2971': MO.RELACCENT, // equals sign above rightwards arrow - '\u2972': MO.RELACCENT, // tilde operator above rightwards arrow - '\u2973': MO.RELACCENT, // leftwards arrow above tilde operator - '\u2974': MO.RELACCENT, // rightwards arrow above tilde operator - '\u2975': MO.RELACCENT, // rightwards arrow above almost equal to - '\u2976': MO.RELACCENT, // less-than above leftwards arrow - '\u2977': MO.RELACCENT, // leftwards arrow through less-than - '\u2978': MO.RELACCENT, // greater-than above rightwards arrow - '\u2979': MO.RELACCENT, // subset above rightwards arrow - '\u297A': MO.RELACCENT, // leftwards arrow through subset - '\u297B': MO.RELACCENT, // superset above leftwards arrow - '\u297C': MO.RELACCENT, // left fish tail - '\u297D': MO.RELACCENT, // right fish tail - '\u297E': MO.REL, // up fish tail - '\u297F': MO.REL // down fish tail - } - } - }); - - MathJax.Ajax.loadComplete(MML.optableDir+"/SupplementalArrowsB.js"); - -})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/config.js b/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/config.js deleted file mode 100644 index d90e92be..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/config.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/input/AsciiMath/config.js - * - * Initializes the AsciiMath InputJax (the main definition is in - * MathJax/jax/input/AsciiMath/jax.js, which is loaded when needed). - * - * Originally adapted for MathJax by David Lippman. - * Additional work done by Davide P. Cervone. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2012-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.InputJax.AsciiMath = MathJax.InputJax({ - id: "AsciiMath", - version: "2.7.5", - directory: MathJax.InputJax.directory + "/AsciiMath", - extensionDir: MathJax.InputJax.extensionDir + "/AsciiMath", - - config: { - fixphi: true, // switch phi and varphi unicode values - useMathMLspacing: true, // use MathML spacing rather than TeX spacing? - displaystyle: true, // put limits above and below operators - decimalsign: "." // can change to "," but watch out for "(1,2)" - } -}); -MathJax.InputJax.AsciiMath.Register("math/asciimath"); - -MathJax.InputJax.AsciiMath.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/jax.js b/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/jax.js deleted file mode 100644 index 0246cbd7..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/jax.js +++ /dev/null @@ -1,1540 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/input/AsciiMath/jax.js - * - * An Input Jax for AsciiMath notation - * (see http://www1.chapman.edu/~jipsen/mathml/asciimath.html). - * - * Originally adapted for MathJax by David Lippman. - * Additional work done by Davide P. Cervone. - * - * The current development repository for AsciiMathML is - * https://github.com/mathjax/asciimathml - * - * A portion of this file is taken from - * ASCIIMathML.js Version 2.2 Mar 3, 2014, (c) Peter Jipsen http://www.chapman.edu/~jipsen - * and is used by permission of Peter Jipsen, who has agreed to allow us to - * release it under the Apache2 license (see below). That portion is indicated - * via comments. - * - * The remainder falls under the copyright that follows. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2012-2018 The MathJax Consortium - * - * 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. - */ - -(function (ASCIIMATH) { - - var MML; // Filled in later - - // - // Make a documentFragment work-alike that uses MML objects - // rather than DOM objects. - // - var DOCFRAG = MathJax.Object.Subclass({ - firstChild: null, - lastChild: null, - Init: function () { - this.childNodes = []; - }, - appendChild: function (node) { - if (node.parent) {node.parent.removeChild(node)} - if (this.lastChild) {this.lastChild.nextSibling = node} - if (!this.firstChild) {this.firstChild = node} - this.childNodes.push(node); node.parent = this; - this.lastChild = node; - return node; - }, - removeChild: function (node) { - for (var i = 0, m = this.childNodes.length; i < m; i++) - {if (this.childNodes[i] === node) break} - if (i === m) return; - this.childNodes.splice(i,1); - if (node === this.firstChild) {this.firstChild = node.nextSibling} - if (node === this.lastChild) { - if (!this.childNodes.length) {this.lastChild = null} - else {this.lastChild = this.childNodes[this.childNodes.length-1]} - } - if (i) {this.childNodes[i-1].nextSibling = node.nextSibling} - node.nextSibling = node.parent = null; - return node; - }, - replaceChild: function (node,old) { - for (var i = 0, m = this.childNodes.length; i < m; i++) - {if (this.childNodes[i] === old) break} - if (i) {this.childNodes[i-1].nextSibling = node} else {this.firstChild = node} - if (i >= m-1) {this.lastChild = node} - this.childNodes[i] = node; node.nextSibling = old.nextSibling; - old.nextSibling = old.parent = null; - return old; - }, - hasChildNodes: function (node) { - return (this.childNodes.length>0); - }, - toString: function () {return "{"+this.childNodes.join("")+"}"} - }); - - var INITASCIIMATH = function () { - MML = MathJax.ElementJax.mml; - var MBASEINIT = MML.mbase.prototype.Init; - - // - // Make MML elements looks like DOM elements (add the - // methods that AsciiMath needs) - // - MML.mbase.Augment({ - firstChild: null, - lastChild: null, - nodeValue: null, - nextSibling: null, - Init: function () { - var obj = MBASEINIT.apply(this,arguments) || this; - obj.childNodes = obj.data; - obj.nodeName = obj.type; - return obj; - }, - appendChild: function (node) { - if (node.parent) {node.parent.removeChild(node)} - var nodes = arguments; - if (node.isa(DOCFRAG)) { - nodes = node.childNodes; - node.data = node.childNodes = []; - node.firstChild = node.lastChild = null; - } - for (var i = 0, m = nodes.length; i < m; i++) { - node = nodes[i]; - if (this.lastChild) {this.lastChild.nextSibling = node} - if (!this.firstChild) {this.firstChild = node} - this.Append(node); - this.lastChild = node; - } - return node; - }, - removeChild: function (node) { - for (var i = 0, m = this.childNodes.length; i < m; i++) - {if (this.childNodes[i] === node) break} - if (i === m) return; - this.childNodes.splice(i,1); - if (node === this.firstChild) {this.firstChild = node.nextSibling} - if (node === this.lastChild) { - if (!this.childNodes.length) {this.lastChild = null} - else {this.lastChild = this.childNodes[this.childNodes.length-1]} - } - if (i) {this.childNodes[i-1].nextSibling = node.nextSibling} - node.nextSibling = node.parent = null; - return node; - }, - replaceChild: function (node,old) { - for (var i = 0, m = this.childNodes.length; i < m; i++) - {if (this.childNodes[i] === old) break} - // FIXME: make this work with DOCFRAG's? - if (i) {this.childNodes[i-1].nextSibling = node} else {this.firstChild = node} - if (i >= m-1) {this.lastChild = node} - this.SetData(i,node); node.nextSibling = old.nextSibling; - old.nextSibling = old.parent = null; - return old; - }, - hasChildNodes: function (node) { - return (this.childNodes.length>0); - }, - setAttribute: function (name,value) {this[name] = value} - }); - }; - - // - // Set up to isolate ASCIIMathML.js - // - - var window = {}; // hide the true window - - // - // Hide the true document, and add functions that - // use and produce MML objects instead of DOM objects - // - var document = { - getElementById: true, - createElementNS: function (ns,type) { - var node = MML[type](); - if (type === "mo" && ASCIIMATH.config.useMathMLspacing) {node.useMMLspacing = 0x80} - return node; - }, - createTextNode: function (text) {return MML.chars(text).With({nodeValue:text})}, - createDocumentFragment: function () {return DOCFRAG()} - }; - - var navigator = {appName: "MathJax"}; // hide the true navigator object - -/****************************************************************** - * - * The following section is ASCIIMathML.js Version 2.2 - * (c) Peter Jipsen, used with permission. - * - * Some sections are commented out to save space in the - * minified version (but that is not strictly necessary). - * - ******************************************************************/ - -/* -ASCIIMathML.js -============== -This file contains JavaScript functions to convert ASCII math notation -and (some) LaTeX to Presentation MathML. The conversion is done while the -HTML page loads, and should work with Firefox and other browsers that can -render MathML. - -Just add the next line to your HTML page with this file in the same folder: - - - -Version 2.2 Mar 3, 2014. -Latest version at https://github.com/mathjax/asciimathml -If you use it on a webpage, please send the URL to jipsen@chapman.edu - -Copyright (c) 2014 Peter Jipsen and other ASCIIMathML.js contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ -//var asciimath = {}; - -//(function(){ -var mathcolor = "blue"; // change it to "" (to inherit) or another color -//var mathfontsize = "1em"; // change to e.g. 1.2em for larger math -//var mathfontfamily = "serif"; // change to "" to inherit (works in IE) - // or another family (e.g. "arial") -//var automathrecognize = false; // writing "amath" on page makes this true -//var checkForMathML = true; // check if browser can display MathML -//var notifyIfNoMathML = true; // display note at top if no MathML capability -//var alertIfNoMathML = false; // show alert box if no MathML capability -//var translateOnLoad = true; // set to false to do call translators from js -//var translateASCIIMath = true; // false to preserve `..` -var displaystyle = true; // puts limits above and below large operators -var showasciiformulaonhover = true; // helps students learn ASCIIMath -var decimalsign = "."; // change to "," if you like, beware of `(1,2)`! -//var AMdelimiter1 = "`", AMescape1 = "\\\\`"; // can use other characters -//var AMdocumentId = "wikitext" // PmWiki element containing math (default=body) -var fixphi = true; //false to return to legacy phi/varphi mapping - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - -var isIE = (navigator.appName.slice(0,9)=="Microsoft"); -/* -var noMathML = false, translated = false; - -if (isIE) { // add MathPlayer info to IE webpages - document.write(""); - document.write(""); -} - -// Add a stylesheet, replacing any previous custom stylesheet (adapted from TW) -function setStylesheet(s) { - var id = "AMMLcustomStyleSheet"; - var n = document.getElementById(id); - if(document.createStyleSheet) { - // Test for IE's non-standard createStyleSheet method - if(n) - n.parentNode.removeChild(n); - // This failed without the   - document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd"," "); - } else { - if(n) { - n.replaceChild(document.createTextNode(s),n.firstChild); - } else { - n = document.createElement("style"); - n.type = "text/css"; - n.id = id; - n.appendChild(document.createTextNode(s)); - document.getElementsByTagName("head")[0].appendChild(n); - } - } -} - -setStylesheet("#AMMLcloseDiv \{font-size:0.8em; padding-top:1em; color:#014\}\n#AMMLwarningBox \{position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30\}"); - -function init(){ - var msg, warnings = new Array(); - if (document.getElementById==null){ - alert("This webpage requires a recent browser such as Mozilla Firefox"); - return null; - } - if (checkForMathML && (msg = checkMathML())) warnings.push(msg); - if (warnings.length>0) displayWarnings(warnings); - if (!noMathML) initSymbols(); - return true; -} - -function checkMathML(){ - if (navigator.appName.slice(0,8)=="Netscape") - if (navigator.appVersion.slice(0,1)>="5") noMathML = null; - else noMathML = true; - else if (navigator.appName.slice(0,9)=="Microsoft") - try { - var ActiveX = new ActiveXObject("MathPlayer.Factory.1"); - noMathML = null; - } catch (e) { - noMathML = true; - } - else if (navigator.appName.slice(0,5)=="Opera") - if (navigator.appVersion.slice(0,3)>="9.5") noMathML = null; - else noMathML = true; -//noMathML = true; //uncomment to check - if (noMathML && notifyIfNoMathML) { - var msg = "To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later."; - if (alertIfNoMathML) - alert(msg); - else return msg; - } -} - -function hideWarning(){ - var body = document.getElementsByTagName("body")[0]; - body.removeChild(document.getElementById('AMMLwarningBox')); - body.onclick = null; -} - -function displayWarnings(warnings) { - var i, frag, nd = createElementXHTML("div"); - var body = document.getElementsByTagName("body")[0]; - body.onclick=hideWarning; - nd.id = 'AMMLwarningBox'; - for (i=0; i<", tag:"mo", output:"\u22C9", tex:"ltimes", ttype:CONST}, -{input:"><|", tag:"mo", output:"\u22CA", tex:"rtimes", ttype:CONST}, -{input:"|><|", tag:"mo", output:"\u22C8", tex:"bowtie", ttype:CONST}, -{input:"-:", tag:"mo", output:"\u00F7", tex:"div", ttype:CONST}, -{input:"divide", tag:"mo", output:"-:", tex:null, ttype:DEFINITION}, -{input:"@", tag:"mo", output:"\u2218", tex:"circ", ttype:CONST}, -{input:"o+", tag:"mo", output:"\u2295", tex:"oplus", ttype:CONST}, -{input:"ox", tag:"mo", output:"\u2297", tex:"otimes", ttype:CONST}, -{input:"o.", tag:"mo", output:"\u2299", tex:"odot", ttype:CONST}, -{input:"sum", tag:"mo", output:"\u2211", tex:null, ttype:UNDEROVER}, -{input:"prod", tag:"mo", output:"\u220F", tex:null, ttype:UNDEROVER}, -{input:"^^", tag:"mo", output:"\u2227", tex:"wedge", ttype:CONST}, -{input:"^^^", tag:"mo", output:"\u22C0", tex:"bigwedge", ttype:UNDEROVER}, -{input:"vv", tag:"mo", output:"\u2228", tex:"vee", ttype:CONST}, -{input:"vvv", tag:"mo", output:"\u22C1", tex:"bigvee", ttype:UNDEROVER}, -{input:"nn", tag:"mo", output:"\u2229", tex:"cap", ttype:CONST}, -{input:"nnn", tag:"mo", output:"\u22C2", tex:"bigcap", ttype:UNDEROVER}, -{input:"uu", tag:"mo", output:"\u222A", tex:"cup", ttype:CONST}, -{input:"uuu", tag:"mo", output:"\u22C3", tex:"bigcup", ttype:UNDEROVER}, - -//binary relation symbols -{input:"!=", tag:"mo", output:"\u2260", tex:"ne", ttype:CONST}, -{input:":=", tag:"mo", output:":=", tex:null, ttype:CONST}, -{input:"lt", tag:"mo", output:"<", tex:null, ttype:CONST}, -{input:"<=", tag:"mo", output:"\u2264", tex:"le", ttype:CONST}, -{input:"lt=", tag:"mo", output:"\u2264", tex:"leq", ttype:CONST}, -{input:"gt", tag:"mo", output:">", tex:null, ttype:CONST}, -{input:">=", tag:"mo", output:"\u2265", tex:"ge", ttype:CONST}, -{input:"gt=", tag:"mo", output:"\u2265", tex:"geq", ttype:CONST}, -{input:"-<", tag:"mo", output:"\u227A", tex:"prec", ttype:CONST}, -{input:"-lt", tag:"mo", output:"\u227A", tex:null, ttype:CONST}, -{input:">-", tag:"mo", output:"\u227B", tex:"succ", ttype:CONST}, -{input:"-<=", tag:"mo", output:"\u2AAF", tex:"preceq", ttype:CONST}, -{input:">-=", tag:"mo", output:"\u2AB0", tex:"succeq", ttype:CONST}, -{input:"in", tag:"mo", output:"\u2208", tex:null, ttype:CONST}, -{input:"!in", tag:"mo", output:"\u2209", tex:"notin", ttype:CONST}, -{input:"sub", tag:"mo", output:"\u2282", tex:"subset", ttype:CONST}, -{input:"sup", tag:"mo", output:"\u2283", tex:"supset", ttype:CONST}, -{input:"sube", tag:"mo", output:"\u2286", tex:"subseteq", ttype:CONST}, -{input:"supe", tag:"mo", output:"\u2287", tex:"supseteq", ttype:CONST}, -{input:"-=", tag:"mo", output:"\u2261", tex:"equiv", ttype:CONST}, -{input:"~=", tag:"mo", output:"\u2245", tex:"cong", ttype:CONST}, -{input:"~~", tag:"mo", output:"\u2248", tex:"approx", ttype:CONST}, -{input:"prop", tag:"mo", output:"\u221D", tex:"propto", ttype:CONST}, - -//logical symbols -{input:"and", tag:"mtext", output:"and", tex:null, ttype:SPACE}, -{input:"or", tag:"mtext", output:"or", tex:null, ttype:SPACE}, -{input:"not", tag:"mo", output:"\u00AC", tex:"neg", ttype:CONST}, -{input:"=>", tag:"mo", output:"\u21D2", tex:"implies", ttype:CONST}, -{input:"if", tag:"mo", output:"if", tex:null, ttype:SPACE}, -{input:"<=>", tag:"mo", output:"\u21D4", tex:"iff", ttype:CONST}, -{input:"AA", tag:"mo", output:"\u2200", tex:"forall", ttype:CONST}, -{input:"EE", tag:"mo", output:"\u2203", tex:"exists", ttype:CONST}, -{input:"_|_", tag:"mo", output:"\u22A5", tex:"bot", ttype:CONST}, -{input:"TT", tag:"mo", output:"\u22A4", tex:"top", ttype:CONST}, -{input:"|--", tag:"mo", output:"\u22A2", tex:"vdash", ttype:CONST}, -{input:"|==", tag:"mo", output:"\u22A8", tex:"models", ttype:CONST}, - -//grouping brackets -{input:"(", tag:"mo", output:"(", tex:"left(", ttype:LEFTBRACKET}, -{input:")", tag:"mo", output:")", tex:"right)", ttype:RIGHTBRACKET}, -{input:"[", tag:"mo", output:"[", tex:"left[", ttype:LEFTBRACKET}, -{input:"]", tag:"mo", output:"]", tex:"right]", ttype:RIGHTBRACKET}, -{input:"{", tag:"mo", output:"{", tex:null, ttype:LEFTBRACKET}, -{input:"}", tag:"mo", output:"}", tex:null, ttype:RIGHTBRACKET}, -{input:"|", tag:"mo", output:"|", tex:null, ttype:LEFTRIGHT}, -{input:":|:", tag:"mo", output:"|", tex:null, ttype:CONST}, -{input:"|:", tag:"mo", output:"|", tex:null, ttype:LEFTBRACKET}, -{input:":|", tag:"mo", output:"|", tex:null, ttype:RIGHTBRACKET}, -//{input:"||", tag:"mo", output:"||", tex:null, ttype:LEFTRIGHT}, -{input:"(:", tag:"mo", output:"\u2329", tex:"langle", ttype:LEFTBRACKET}, -{input:":)", tag:"mo", output:"\u232A", tex:"rangle", ttype:RIGHTBRACKET}, -{input:"<<", tag:"mo", output:"\u2329", tex:null, ttype:LEFTBRACKET}, -{input:">>", tag:"mo", output:"\u232A", tex:null, ttype:RIGHTBRACKET}, -{input:"{:", tag:"mo", output:"{:", tex:null, ttype:LEFTBRACKET, invisible:true}, -{input:":}", tag:"mo", output:":}", tex:null, ttype:RIGHTBRACKET, invisible:true}, - -//miscellaneous symbols -{input:"int", tag:"mo", output:"\u222B", tex:null, ttype:CONST}, -{input:"dx", tag:"mi", output:"{:d x:}", tex:null, ttype:DEFINITION}, -{input:"dy", tag:"mi", output:"{:d y:}", tex:null, ttype:DEFINITION}, -{input:"dz", tag:"mi", output:"{:d z:}", tex:null, ttype:DEFINITION}, -{input:"dt", tag:"mi", output:"{:d t:}", tex:null, ttype:DEFINITION}, -{input:"oint", tag:"mo", output:"\u222E", tex:null, ttype:CONST}, -{input:"del", tag:"mo", output:"\u2202", tex:"partial", ttype:CONST}, -{input:"grad", tag:"mo", output:"\u2207", tex:"nabla", ttype:CONST}, -{input:"+-", tag:"mo", output:"\u00B1", tex:"pm", ttype:CONST}, -{input:"O/", tag:"mo", output:"\u2205", tex:"emptyset", ttype:CONST}, -{input:"oo", tag:"mo", output:"\u221E", tex:"infty", ttype:CONST}, -{input:"aleph", tag:"mo", output:"\u2135", tex:null, ttype:CONST}, -{input:"...", tag:"mo", output:"...", tex:"ldots", ttype:CONST}, -{input:":.", tag:"mo", output:"\u2234", tex:"therefore", ttype:CONST}, -{input:":'", tag:"mo", output:"\u2235", tex:"because", ttype:CONST}, -{input:"/_", tag:"mo", output:"\u2220", tex:"angle", ttype:CONST}, -{input:"/_\\", tag:"mo", output:"\u25B3", tex:"triangle", ttype:CONST}, -{input:"'", tag:"mo", output:"\u2032", tex:"prime", ttype:CONST}, -{input:"tilde", tag:"mover", output:"~", tex:null, ttype:UNARY, acc:true}, -{input:"\\ ", tag:"mo", output:"\u00A0", tex:null, ttype:CONST}, -{input:"frown", tag:"mo", output:"\u2322", tex:null, ttype:CONST}, -{input:"quad", tag:"mo", output:"\u00A0\u00A0", tex:null, ttype:CONST}, -{input:"qquad", tag:"mo", output:"\u00A0\u00A0\u00A0\u00A0", tex:null, ttype:CONST}, -{input:"cdots", tag:"mo", output:"\u22EF", tex:null, ttype:CONST}, -{input:"vdots", tag:"mo", output:"\u22EE", tex:null, ttype:CONST}, -{input:"ddots", tag:"mo", output:"\u22F1", tex:null, ttype:CONST}, -{input:"diamond", tag:"mo", output:"\u22C4", tex:null, ttype:CONST}, -{input:"square", tag:"mo", output:"\u25A1", tex:null, ttype:CONST}, -{input:"|__", tag:"mo", output:"\u230A", tex:"lfloor", ttype:CONST}, -{input:"__|", tag:"mo", output:"\u230B", tex:"rfloor", ttype:CONST}, -{input:"|~", tag:"mo", output:"\u2308", tex:"lceiling", ttype:CONST}, -{input:"~|", tag:"mo", output:"\u2309", tex:"rceiling", ttype:CONST}, -{input:"CC", tag:"mo", output:"\u2102", tex:null, ttype:CONST}, -{input:"NN", tag:"mo", output:"\u2115", tex:null, ttype:CONST}, -{input:"QQ", tag:"mo", output:"\u211A", tex:null, ttype:CONST}, -{input:"RR", tag:"mo", output:"\u211D", tex:null, ttype:CONST}, -{input:"ZZ", tag:"mo", output:"\u2124", tex:null, ttype:CONST}, -{input:"f", tag:"mi", output:"f", tex:null, ttype:UNARY, func:true}, -{input:"g", tag:"mi", output:"g", tex:null, ttype:UNARY, func:true}, - -//standard functions -{input:"lim", tag:"mo", output:"lim", tex:null, ttype:UNDEROVER}, -{input:"Lim", tag:"mo", output:"Lim", tex:null, ttype:UNDEROVER}, -{input:"sin", tag:"mo", output:"sin", tex:null, ttype:UNARY, func:true}, -{input:"cos", tag:"mo", output:"cos", tex:null, ttype:UNARY, func:true}, -{input:"tan", tag:"mo", output:"tan", tex:null, ttype:UNARY, func:true}, -{input:"sinh", tag:"mo", output:"sinh", tex:null, ttype:UNARY, func:true}, -{input:"cosh", tag:"mo", output:"cosh", tex:null, ttype:UNARY, func:true}, -{input:"tanh", tag:"mo", output:"tanh", tex:null, ttype:UNARY, func:true}, -{input:"cot", tag:"mo", output:"cot", tex:null, ttype:UNARY, func:true}, -{input:"sec", tag:"mo", output:"sec", tex:null, ttype:UNARY, func:true}, -{input:"csc", tag:"mo", output:"csc", tex:null, ttype:UNARY, func:true}, -{input:"arcsin", tag:"mo", output:"arcsin", tex:null, ttype:UNARY, func:true}, -{input:"arccos", tag:"mo", output:"arccos", tex:null, ttype:UNARY, func:true}, -{input:"arctan", tag:"mo", output:"arctan", tex:null, ttype:UNARY, func:true}, -{input:"coth", tag:"mo", output:"coth", tex:null, ttype:UNARY, func:true}, -{input:"sech", tag:"mo", output:"sech", tex:null, ttype:UNARY, func:true}, -{input:"csch", tag:"mo", output:"csch", tex:null, ttype:UNARY, func:true}, -{input:"exp", tag:"mo", output:"exp", tex:null, ttype:UNARY, func:true}, -{input:"abs", tag:"mo", output:"abs", tex:null, ttype:UNARY, rewriteleftright:["|","|"]}, -{input:"norm", tag:"mo", output:"norm", tex:null, ttype:UNARY, rewriteleftright:["\u2225","\u2225"]}, -{input:"floor", tag:"mo", output:"floor", tex:null, ttype:UNARY, rewriteleftright:["\u230A","\u230B"]}, -{input:"ceil", tag:"mo", output:"ceil", tex:null, ttype:UNARY, rewriteleftright:["\u2308","\u2309"]}, -{input:"log", tag:"mo", output:"log", tex:null, ttype:UNARY, func:true}, -{input:"ln", tag:"mo", output:"ln", tex:null, ttype:UNARY, func:true}, -{input:"det", tag:"mo", output:"det", tex:null, ttype:UNARY, func:true}, -{input:"dim", tag:"mo", output:"dim", tex:null, ttype:CONST}, -{input:"mod", tag:"mo", output:"mod", tex:null, ttype:CONST}, -{input:"gcd", tag:"mo", output:"gcd", tex:null, ttype:UNARY, func:true}, -{input:"lcm", tag:"mo", output:"lcm", tex:null, ttype:UNARY, func:true}, -{input:"lub", tag:"mo", output:"lub", tex:null, ttype:CONST}, -{input:"glb", tag:"mo", output:"glb", tex:null, ttype:CONST}, -{input:"min", tag:"mo", output:"min", tex:null, ttype:UNDEROVER}, -{input:"max", tag:"mo", output:"max", tex:null, ttype:UNDEROVER}, -{input:"Sin", tag:"mo", output:"Sin", tex:null, ttype:UNARY, func:true}, -{input:"Cos", tag:"mo", output:"Cos", tex:null, ttype:UNARY, func:true}, -{input:"Tan", tag:"mo", output:"Tan", tex:null, ttype:UNARY, func:true}, -{input:"Arcsin", tag:"mo", output:"Arcsin", tex:null, ttype:UNARY, func:true}, -{input:"Arccos", tag:"mo", output:"Arccos", tex:null, ttype:UNARY, func:true}, -{input:"Arctan", tag:"mo", output:"Arctan", tex:null, ttype:UNARY, func:true}, -{input:"Sinh", tag:"mo", output:"Sinh", tex:null, ttype:UNARY, func:true}, -{input:"Cosh", tag:"mo", output:"Cosh", tex:null, ttype:UNARY, func:true}, -{input:"Tanh", tag:"mo", output:"Tanh", tex:null, ttype:UNARY, func:true}, -{input:"Cot", tag:"mo", output:"Cot", tex:null, ttype:UNARY, func:true}, -{input:"Sec", tag:"mo", output:"Sec", tex:null, ttype:UNARY, func:true}, -{input:"Csc", tag:"mo", output:"Csc", tex:null, ttype:UNARY, func:true}, -{input:"Log", tag:"mo", output:"Log", tex:null, ttype:UNARY, func:true}, -{input:"Ln", tag:"mo", output:"Ln", tex:null, ttype:UNARY, func:true}, -{input:"Abs", tag:"mo", output:"abs", tex:null, ttype:UNARY, notexcopy:true, rewriteleftright:["|","|"]}, - -//arrows -{input:"uarr", tag:"mo", output:"\u2191", tex:"uparrow", ttype:CONST}, -{input:"darr", tag:"mo", output:"\u2193", tex:"downarrow", ttype:CONST}, -{input:"rarr", tag:"mo", output:"\u2192", tex:"rightarrow", ttype:CONST}, -{input:"->", tag:"mo", output:"\u2192", tex:"to", ttype:CONST}, -{input:">->", tag:"mo", output:"\u21A3", tex:"rightarrowtail", ttype:CONST}, -{input:"->>", tag:"mo", output:"\u21A0", tex:"twoheadrightarrow", ttype:CONST}, -{input:">->>", tag:"mo", output:"\u2916", tex:"twoheadrightarrowtail", ttype:CONST}, -{input:"|->", tag:"mo", output:"\u21A6", tex:"mapsto", ttype:CONST}, -{input:"larr", tag:"mo", output:"\u2190", tex:"leftarrow", ttype:CONST}, -{input:"harr", tag:"mo", output:"\u2194", tex:"leftrightarrow", ttype:CONST}, -{input:"rArr", tag:"mo", output:"\u21D2", tex:"Rightarrow", ttype:CONST}, -{input:"lArr", tag:"mo", output:"\u21D0", tex:"Leftarrow", ttype:CONST}, -{input:"hArr", tag:"mo", output:"\u21D4", tex:"Leftrightarrow", ttype:CONST}, -//commands with argument -{input:"sqrt", tag:"msqrt", output:"sqrt", tex:null, ttype:UNARY}, -{input:"root", tag:"mroot", output:"root", tex:null, ttype:BINARY}, -{input:"frac", tag:"mfrac", output:"/", tex:null, ttype:BINARY}, -{input:"/", tag:"mfrac", output:"/", tex:null, ttype:INFIX}, -{input:"stackrel", tag:"mover", output:"stackrel", tex:null, ttype:BINARY}, -{input:"overset", tag:"mover", output:"stackrel", tex:null, ttype:BINARY}, -{input:"underset", tag:"munder", output:"stackrel", tex:null, ttype:BINARY}, -{input:"_", tag:"msub", output:"_", tex:null, ttype:INFIX}, -{input:"^", tag:"msup", output:"^", tex:null, ttype:INFIX}, -{input:"hat", tag:"mover", output:"\u005E", tex:null, ttype:UNARY, acc:true}, -{input:"bar", tag:"mover", output:"\u00AF", tex:"overline", ttype:UNARY, acc:true}, -{input:"vec", tag:"mover", output:"\u2192", tex:null, ttype:UNARY, acc:true}, -{input:"dot", tag:"mover", output:".", tex:null, ttype:UNARY, acc:true}, -{input:"ddot", tag:"mover", output:"..", tex:null, ttype:UNARY, acc:true}, -{input:"overarc", tag:"mover", output:"\u23DC", tex:"overparen", ttype:UNARY, acc:true}, -{input:"ul", tag:"munder", output:"\u0332", tex:"underline", ttype:UNARY, acc:true}, -{input:"ubrace", tag:"munder", output:"\u23DF", tex:"underbrace", ttype:UNARYUNDEROVER, acc:true}, -{input:"obrace", tag:"mover", output:"\u23DE", tex:"overbrace", ttype:UNARYUNDEROVER, acc:true}, -{input:"text", tag:"mtext", output:"text", tex:null, ttype:TEXT}, -{input:"mbox", tag:"mtext", output:"mbox", tex:null, ttype:TEXT}, -{input:"color", tag:"mstyle", ttype:BINARY}, -{input:"id", tag:"mrow", ttype:BINARY}, -{input:"class", tag:"mrow", ttype:BINARY}, -{input:"cancel", tag:"menclose", output:"cancel", tex:null, ttype:UNARY}, -AMquote, -{input:"bb", tag:"mstyle", atname:"mathvariant", atval:"bold", output:"bb", tex:null, ttype:UNARY}, -{input:"mathbf", tag:"mstyle", atname:"mathvariant", atval:"bold", output:"mathbf", tex:null, ttype:UNARY}, -{input:"sf", tag:"mstyle", atname:"mathvariant", atval:"sans-serif", output:"sf", tex:null, ttype:UNARY}, -{input:"mathsf", tag:"mstyle", atname:"mathvariant", atval:"sans-serif", output:"mathsf", tex:null, ttype:UNARY}, -{input:"bbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"bbb", tex:null, ttype:UNARY, codes:AMbbb}, -{input:"mathbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"mathbb", tex:null, ttype:UNARY, codes:AMbbb}, -{input:"cc", tag:"mstyle", atname:"mathvariant", atval:"script", output:"cc", tex:null, ttype:UNARY, codes:AMcal}, -{input:"mathcal", tag:"mstyle", atname:"mathvariant", atval:"script", output:"mathcal", tex:null, ttype:UNARY, codes:AMcal}, -{input:"tt", tag:"mstyle", atname:"mathvariant", atval:"monospace", output:"tt", tex:null, ttype:UNARY}, -{input:"mathtt", tag:"mstyle", atname:"mathvariant", atval:"monospace", output:"mathtt", tex:null, ttype:UNARY}, -{input:"fr", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"fr", tex:null, ttype:UNARY, codes:AMfrk}, -{input:"mathfrak", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"mathfrak", tex:null, ttype:UNARY, codes:AMfrk} -]; - -function compareNames(s1,s2) { - if (s1.input > s2.input) return 1 - else return -1; -} - -var AMnames = []; //list of input symbols - -function initSymbols() { - var i; - var symlen = AMsymbols.length; - for (i=0; i=n where str appears or would be inserted -// assumes arr is sorted - if (n==0) { - var h,m; - n = -1; - h = arr.length; - while (n+1> 1; - if (arr[m]=str -} - -function AMgetSymbol(str) { -//return maximal initial substring of str that appears in names -//return null if there is none - var k = 0; //new pos - var j = 0; //old pos - var mk; //match pos - var st; - var tagst; - var match = ""; - var more = true; - for (var i=1; i<=str.length && more; i++) { - st = str.slice(0,i); //initial substring of length i - j = k; - k = position(AMnames, st, j); - if (k=AMnames[k]; - } - AMpreviousSymbol=AMcurrentSymbol; - if (match!=""){ - AMcurrentSymbol=AMsymbols[mk].ttype; - return AMsymbols[mk]; - } -// if str[0] is a digit or - return maxsubstring of digits.digits - AMcurrentSymbol=CONST; - k = 1; - st = str.slice(0,1); - var integ = true; - while ("0"<=st && st<="9" && k<=str.length) { - st = str.slice(k,k+1); - k++; - } - if (st == decimalsign) { - st = str.slice(k,k+1); - if ("0"<=st && st<="9") { - integ = false; - k++; - while ("0"<=st && st<="9" && k<=str.length) { - st = str.slice(k,k+1); - k++; - } - } - } - if ((integ && k>1) || k>2) { - st = str.slice(0,k-1); - tagst = "mn"; - } else { - k = 2; - st = str.slice(0,1); //take 1 character - tagst = (("A">st || st>"Z") && ("a">st || st>"z")?"mo":"mi"); - } - if (st=="-" && AMpreviousSymbol==INFIX) { - AMcurrentSymbol = INFIX; //trick "/" into recognizing "-" on second parse - return {input:st, tag:tagst, output:st, ttype:UNARY, func:true}; - } - return {input:st, tag:tagst, output:st, ttype:CONST}; -} - -function AMremoveBrackets(node) { - var st; - if (!node.hasChildNodes()) { return; } - if (node.firstChild.hasChildNodes() && (node.nodeName=="mrow" || node.nodeName=="M:MROW")) { - st = node.firstChild.firstChild.nodeValue; - if (st=="(" || st=="[" || st=="{") node.removeChild(node.firstChild); - } - if (node.lastChild.hasChildNodes() && (node.nodeName=="mrow" || node.nodeName=="M:MROW")) { - st = node.lastChild.firstChild.nodeValue; - if (st==")" || st=="]" || st=="}") node.removeChild(node.lastChild); - } -} - -/*Parsing ASCII math expressions with the following grammar -v ::= [A-Za-z] | greek letters | numbers | other constant symbols -u ::= sqrt | text | bb | other unary symbols for font commands -b ::= frac | root | stackrel binary symbols -l ::= ( | [ | { | (: | {: left brackets -r ::= ) | ] | } | :) | :} right brackets -S ::= v | lEr | uS | bSS Simple expression -I ::= S_S | S^S | S_S^S | S Intermediate expression -E ::= IE | I/I Expression -Each terminal symbol is translated into a corresponding mathml node.*/ - -var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol; - -function AMparseSexpr(str) { //parses str and returns [node,tailstr] - var symbol, node, result, i, st,// rightvert = false, - newFrag = document.createDocumentFragment(); - str = AMremoveCharsAndBlanks(str,0); - symbol = AMgetSymbol(str); //either a token or a bracket or empty - if (symbol == null || symbol.ttype == RIGHTBRACKET && AMnestingDepth > 0) { - return [null,str]; - } - if (symbol.ttype == DEFINITION) { - str = symbol.output+AMremoveCharsAndBlanks(str,symbol.input.length); - symbol = AMgetSymbol(str); - } - switch (symbol.ttype) { case UNDEROVER: - case CONST: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - return [createMmlNode(symbol.tag, //its a constant - document.createTextNode(symbol.output)),str]; - case LEFTBRACKET: //read (expr+) - AMnestingDepth++; - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseExpr(str,true); - AMnestingDepth--; - if (typeof symbol.invisible == "boolean" && symbol.invisible) - node = createMmlNode("mrow",result[0]); - else { - node = createMmlNode("mo",document.createTextNode(symbol.output)); - node = createMmlNode("mrow",node); - node.appendChild(result[0]); - } - return [node,result[1]]; - case TEXT: - if (symbol!=AMquote) str = AMremoveCharsAndBlanks(str,symbol.input.length); - if (str.charAt(0)=="{") i=str.indexOf("}"); - else if (str.charAt(0)=="(") i=str.indexOf(")"); - else if (str.charAt(0)=="[") i=str.indexOf("]"); - else if (symbol==AMquote) i=str.slice(1).indexOf("\"")+1; - else i = 0; - if (i==-1) i = str.length; - st = str.slice(1,i); - if (st.charAt(0) == " ") { - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); - newFrag.appendChild(node); - } - newFrag.appendChild( - createMmlNode(symbol.tag,document.createTextNode(st))); - if (st.charAt(st.length-1) == " ") { - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); - newFrag.appendChild(node); - } - str = AMremoveCharsAndBlanks(str,i+1); - return [createMmlNode("mrow",newFrag),str]; - case UNARYUNDEROVER: - case UNARY: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseSexpr(str); - if (result[0]==null) return [createMmlNode(symbol.tag, - document.createTextNode(symbol.output)),str]; - if (typeof symbol.func == "boolean" && symbol.func) { // functions hack - st = str.charAt(0); - if (st=="^" || st=="_" || st=="/" || st=="|" || st=="," || - (symbol.input.length==1 && symbol.input.match(/\w/) && st!="(")) { - return [createMmlNode(symbol.tag, - document.createTextNode(symbol.output)),str]; - } else { - node = createMmlNode("mrow", - createMmlNode(symbol.tag,document.createTextNode(symbol.output))); - node.appendChild(result[0]); - return [node,result[1]]; - } - } - AMremoveBrackets(result[0]); - if (symbol.input == "sqrt") { // sqrt - return [createMmlNode(symbol.tag,result[0]),result[1]]; - } else if (typeof symbol.rewriteleftright != "undefined") { // abs, floor, ceil - node = createMmlNode("mrow", createMmlNode("mo",document.createTextNode(symbol.rewriteleftright[0]))); - node.appendChild(result[0]); - node.appendChild(createMmlNode("mo",document.createTextNode(symbol.rewriteleftright[1]))); - return [node,result[1]]; - } else if (symbol.input == "cancel") { // cancel - node = createMmlNode(symbol.tag,result[0]); - node.setAttribute("notation","updiagonalstrike"); - return [node,result[1]]; - } else if (typeof symbol.acc == "boolean" && symbol.acc) { // accent - node = createMmlNode(symbol.tag,result[0]); - var accnode = createMmlNode("mo",document.createTextNode(symbol.output)); - if (symbol.input=="vec" && ( - (result[0].nodeName=="mrow" && result[0].childNodes.length==1 - && result[0].firstChild.firstChild.nodeValue !== null - && result[0].firstChild.firstChild.nodeValue.length==1) || - (result[0].firstChild.nodeValue !== null - && result[0].firstChild.nodeValue.length==1) )) { - accnode.setAttribute("stretchy",false); - } - node.appendChild(accnode); - return [node,result[1]]; - } else { // font change command - if (!isIE && typeof symbol.codes != "undefined") { - for (i=0; i64 && st.charCodeAt(j)<91) - newst = newst + symbol.codes[st.charCodeAt(j)-65]; - else if (st.charCodeAt(j)>96 && st.charCodeAt(j)<123) - newst = newst + symbol.codes[st.charCodeAt(j)-71]; - else newst = newst + st.charAt(j); - if (result[0].nodeName=="mi") - result[0]=createMmlNode("mo"). - appendChild(document.createTextNode(newst)); - else result[0].replaceChild(createMmlNode("mo"). - appendChild(document.createTextNode(newst)), - result[0].childNodes[i]); - } - } - node = createMmlNode(symbol.tag,result[0]); - node.setAttribute(symbol.atname,symbol.atval); - return [node,result[1]]; - } - case BINARY: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseSexpr(str); - if (result[0]==null) return [createMmlNode("mo", - document.createTextNode(symbol.input)),str]; - AMremoveBrackets(result[0]); - var result2 = AMparseSexpr(result[1]); - if (result2[0]==null) return [createMmlNode("mo", - document.createTextNode(symbol.input)),str]; - AMremoveBrackets(result2[0]); - if (['color', 'class', 'id'].indexOf(symbol.input) >= 0) { - - // Get the second argument - if (str.charAt(0)=="{") i=str.indexOf("}"); - else if (str.charAt(0)=="(") i=str.indexOf(")"); - else if (str.charAt(0)=="[") i=str.indexOf("]"); - st = str.slice(1,i); - - // Make a mathml node - node = createMmlNode(symbol.tag,result2[0]); - - // Set the correct attribute - if (symbol.input === "color") node.setAttribute("mathcolor", st) - else if (symbol.input === "class") node.setAttribute("class", st) - else if (symbol.input === "id") node.setAttribute("id", st) - return [node,result2[1]]; - } - if (symbol.input=="root" || symbol.output=="stackrel") - newFrag.appendChild(result2[0]); - newFrag.appendChild(result[0]); - if (symbol.input=="frac") newFrag.appendChild(result2[0]); - return [createMmlNode(symbol.tag,newFrag),result2[1]]; - case INFIX: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - return [createMmlNode("mo",document.createTextNode(symbol.output)),str]; - case SPACE: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); - newFrag.appendChild(node); - newFrag.appendChild( - createMmlNode(symbol.tag,document.createTextNode(symbol.output))); - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); - newFrag.appendChild(node); - return [createMmlNode("mrow",newFrag),str]; - case LEFTRIGHT: -// if (rightvert) return [null,str]; else rightvert = true; - AMnestingDepth++; - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseExpr(str,false); - AMnestingDepth--; - st = ""; - if (result[0].lastChild!=null) - st = result[0].lastChild.firstChild.nodeValue; - if (st == "|" && str.charAt(0)!==",") { // its an absolute value subterm - node = createMmlNode("mo",document.createTextNode(symbol.output)); - node = createMmlNode("mrow",node); - node.appendChild(result[0]); - return [node,result[1]]; - } else { // the "|" is a \mid so use unicode 2223 (divides) for spacing - node = createMmlNode("mo",document.createTextNode("\u2223")); - node = createMmlNode("mrow",node); - return [node,str]; - } - default: -//alert("default"); - str = AMremoveCharsAndBlanks(str,symbol.input.length); - return [createMmlNode(symbol.tag, //its a constant - document.createTextNode(symbol.output)),str]; - } -} - -function AMparseIexpr(str) { - var symbol, sym1, sym2, node, result, underover; - str = AMremoveCharsAndBlanks(str,0); - sym1 = AMgetSymbol(str); - result = AMparseSexpr(str); - node = result[0]; - str = result[1]; - symbol = AMgetSymbol(str); - if (symbol.ttype == INFIX && symbol.input != "/") { - str = AMremoveCharsAndBlanks(str,symbol.input.length); -// if (symbol.input == "/") result = AMparseIexpr(str); else ... - result = AMparseSexpr(str); - if (result[0] == null) // show box in place of missing argument - result[0] = createMmlNode("mo",document.createTextNode("\u25A1")); - else AMremoveBrackets(result[0]); - str = result[1]; -// if (symbol.input == "/") AMremoveBrackets(node); - underover = (sym1.ttype == UNDEROVER || sym1.ttype == UNARYUNDEROVER); - if (symbol.input == "_") { - sym2 = AMgetSymbol(str); - if (sym2.input == "^") { - str = AMremoveCharsAndBlanks(str,sym2.input.length); - var res2 = AMparseSexpr(str); - AMremoveBrackets(res2[0]); - str = res2[1]; - node = createMmlNode((underover?"munderover":"msubsup"),node); - node.appendChild(result[0]); - node.appendChild(res2[0]); - node = createMmlNode("mrow",node); // so sum does not stretch - } else { - node = createMmlNode((underover?"munder":"msub"),node); - node.appendChild(result[0]); - } - } else if (symbol.input == "^" && underover) { - node = createMmlNode("mover",node); - node.appendChild(result[0]); - } else { - node = createMmlNode(symbol.tag,node); - node.appendChild(result[0]); - } - if (typeof sym1.func != 'undefined' && sym1.func) { - sym2 = AMgetSymbol(str); - if (sym2.ttype != INFIX && sym2.ttype != RIGHTBRACKET) { - result = AMparseIexpr(str); - node = createMmlNode("mrow",node); - node.appendChild(result[0]); - str = result[1]; - } - } - } - return [node,str]; -} - -function AMparseExpr(str,rightbracket) { - var symbol, node, result, i, - newFrag = document.createDocumentFragment(); - do { - str = AMremoveCharsAndBlanks(str,0); - result = AMparseIexpr(str); - node = result[0]; - str = result[1]; - symbol = AMgetSymbol(str); - if (symbol.ttype == INFIX && symbol.input == "/") { - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseIexpr(str); - if (result[0] == null) // show box in place of missing argument - result[0] = createMmlNode("mo",document.createTextNode("\u25A1")); - else AMremoveBrackets(result[0]); - str = result[1]; - AMremoveBrackets(node); - node = createMmlNode(symbol.tag,node); - node.appendChild(result[0]); - newFrag.appendChild(node); - symbol = AMgetSymbol(str); - } - else if (node!=undefined) newFrag.appendChild(node); - } while ((symbol.ttype != RIGHTBRACKET && - (symbol.ttype != LEFTRIGHT || rightbracket) - || AMnestingDepth == 0) && symbol!=null && symbol.output!=""); - if (symbol.ttype == RIGHTBRACKET || symbol.ttype == LEFTRIGHT) { -// if (AMnestingDepth > 0) AMnestingDepth--; - var len = newFrag.childNodes.length; - if (len>0 && newFrag.childNodes[len-1].nodeName == "mrow" - && newFrag.childNodes[len-1].lastChild - && newFrag.childNodes[len-1].lastChild.firstChild ) { //matrix - //removed to allow row vectors: //&& len>1 && - //newFrag.childNodes[len-2].nodeName == "mo" && - //newFrag.childNodes[len-2].firstChild.nodeValue == "," - var right = newFrag.childNodes[len-1].lastChild.firstChild.nodeValue; - if (right==")" || right=="]") { - var left = newFrag.childNodes[len-1].firstChild.firstChild.nodeValue; - if (left=="(" && right==")" && symbol.output != "}" || - left=="[" && right=="]") { - var pos = []; // positions of commas - var matrix = true; - var m = newFrag.childNodes.length; - for (i=0; matrix && i1) matrix = pos[i].length == pos[i-2].length; - } - matrix = matrix && (pos.length>1 || pos[0].length>0); - var columnlines = []; - if (matrix) { - var row, frag, n, k, table = document.createDocumentFragment(); - for (i=0; i(-,-,...,-,-) - n = node.childNodes.length; - k = 0; - node.removeChild(node.firstChild); //remove ( - for (j=1; j2) { - newFrag.removeChild(newFrag.firstChild); //remove ) - newFrag.removeChild(newFrag.firstChild); //remove , - } - table.appendChild(createMmlNode("mtr",row)); - } - node = createMmlNode("mtable",table); - node.setAttribute("columnlines", columnlines.join(" ")); - if (typeof symbol.invisible == "boolean" && symbol.invisible) node.setAttribute("columnalign","left"); - newFrag.replaceChild(node,newFrag.firstChild); - } - } - } - } - str = AMremoveCharsAndBlanks(str,symbol.input.length); - if (typeof symbol.invisible != "boolean" || !symbol.invisible) { - node = createMmlNode("mo",document.createTextNode(symbol.output)); - newFrag.appendChild(node); - } - } - return [newFrag,str]; -} - -function parseMath(str,latex) { - var frag, node; - AMnestingDepth = 0; - //some basic cleanup for dealing with stuff editors like TinyMCE adds - str = str.replace(/ /g,""); - str = str.replace(/>/g,">"); - str = str.replace(/</g,"<"); - frag = AMparseExpr(str.replace(/^\s+/g,""),false)[0]; - node = createMmlNode("mstyle",frag); - if (mathcolor != "") node.setAttribute("mathcolor",mathcolor); - if (mathfontsize != "") { - node.setAttribute("fontsize", mathfontsize); - node.setAttribute("mathsize", mathfontsize); - } - if (mathfontfamily != "") { - node.setAttribute("fontfamily", mathfontfamily); - node.setAttribute("mathvariant", mathfontfamily); - } - - if (displaystyle) node.setAttribute("displaystyle","true"); - node = createMmlNode("math",node); - if (showasciiformulaonhover) //fixed by djhsu so newline - node.setAttribute("title",str.replace(/\s+/g," "));//does not show in Gecko - return node; -} - -/* -function strarr2docFrag(arr, linebreaks, latex) { - var newFrag=document.createDocumentFragment(); - var expr = false; - for (var i=0; i,\\|!:;'~]|\\.(?!(?:\x20|$))|"+ambigAMtoken+englishAMtoken+simpleAMtoken; - var re = new RegExp("(^|\\s)((("+token+")\\s?)(("+token+secondenglishAMtoken+")\\s?)+)([,.?]?(?=\\s|$))","g"); - str = str.replace(re," `$2`$7"); - var arr = str.split(AMdelimiter1); - var re1 = new RegExp("(^|\\s)([b-zB-HJ-Z+*<>]|"+texcommand+ambigAMtoken+simpleAMtoken+")(\\s|\\n|$)","g"); - var re2 = new RegExp("(^|\\s)([a-z]|"+texcommand+ambigAMtoken+simpleAMtoken+")([,.])","g"); // removed |\d+ for now - for (i=0; i1 || mtch) { - if (!noMathML) { - frg = strarr2docFrag(arr,n.nodeType==8,latex); - var len = frg.childNodes.length; - n.parentNode.replaceChild(frg,n); - return len-1; - } else return 0; - } - } - } else return 0; - } else if (n.nodeName!="math") { - for (i=0; i element, not %1", - "<"+doc.firstChild.nodeName+">"]); - } - var data = {math:doc.firstChild, script:script}; - MATHML.DOMfilterHooks.Execute(data); - this.mml = this.MakeMML(data.math); - }, - - // - // Convert the MathML structure to the MathJax Element jax structure - // - MakeMML: function (node) { - var CLASS = String(node.getAttribute("class")||""); // make sure CLASS is a string - var mml, type = node.nodeName.toLowerCase().replace(/^[a-z]+:/,""); - var match = (CLASS.match(/(^| )MJX-TeXAtom-([^ ]*)/)); - if (match) { - mml = this.TeXAtom(match[2],match[2] === "OP" && !CLASS.match(/MJX-fixedlimits/)); - } else if (!(MML[type] && MML[type].isa && MML[type].isa(MML.mbase))) { - MathJax.Hub.signal.Post(["MathML Jax - unknown node type",type]); - return MML.Error(_("UnknownNodeType","Unknown node type: %1",type)); - } else { - mml = MML[type](); - } - this.AddAttributes(mml,node); this.CheckClass(mml,mml["class"]); - this.AddChildren(mml,node); - if (MATHML.config.useMathMLspacing) {mml.useMMLspacing = 0x08} - return mml; - }, - TeXAtom: function (mclass,movablelimits) { - var mml = MML.TeXAtom().With({texClass:MML.TEXCLASS[mclass]}); - if (movablelimits) {mml.movesupsub = mml.movablelimits = true} - return mml; - }, - CheckClass: function (mml,CLASS) { - CLASS = (CLASS||"").split(/ /); var NCLASS = []; - for (var i = 0, m = CLASS.length; i < m; i++) { - if (CLASS[i].substr(0,4) === "MJX-") { - if (CLASS[i] === "MJX-arrow") { - // This class was used in former versions of MathJax to attach an - // arrow to the updiagonalstrike notation. For backward - // compatibility, let's continue to accept this case. See issue 481. - if (!mml.notation.match("/"+MML.NOTATION.UPDIAGONALARROW+"/")) - mml.notation += " "+MML.NOTATION.UPDIAGONALARROW; - } else if (CLASS[i] === "MJX-variant") { - mml.variantForm = true; - // - // Variant forms come from AMSsymbols, and it sets up the - // character mappings, so load that if needed. - // - if (!MathJax.Extension["TeX/AMSsymbols"]) - {MathJax.Hub.RestartAfter(MathJax.Ajax.Require("[MathJax]/extensions/TeX/AMSsymbols.js"))} - } else if (CLASS[i].substr(0,11) !== "MJX-TeXAtom") { - mml.mathvariant = CLASS[i].substr(3); - // - // Caligraphic and oldstyle bold are set up in the boldsymbol - // extension, so load it if it isn't already loaded. - // - if (mml.mathvariant === "-tex-caligraphic-bold" || - mml.mathvariant === "-tex-oldstyle-bold") { - if (!MathJax.Extension["TeX/boldsymbol"]) - {MathJax.Hub.RestartAfter(MathJax.Ajax.Require("[MathJax]/extensions/TeX/boldsymbol.js"))} - } - } - } else {NCLASS.push(CLASS[i])} - } - if (NCLASS.length) {mml["class"] = NCLASS.join(" ")} else {delete mml["class"]} - }, - - // - // Add the attributes to the mml node - // - AddAttributes: function (mml,node) { - mml.attr = {}; mml.attrNames = []; - for (var i = 0, m = node.attributes.length; i < m; i++) { - var name = node.attributes[i].name; - if (name == "xlink:href") {name = "href"} - if (name.match(/:/)) continue; - if (name.match(/^_moz-math-((column|row)(align|line)|font-style)$/)) continue; - var value = node.attributes[i].value; - value = this.filterAttribute(name,value); - var defaults = (mml.type === "mstyle" ? MML.math.prototype.defaults : mml.defaults); - if (value != null) { - var val = value.toLowerCase(); - if (val === "true" || val === "false") { - if (typeof (defaults[name]) === "boolean" || defaults[name] === MML.INHERIT || - mml.type === "math" || mml.type === "mstyle" || - (defaults[name] === MML.AUTO && - (mml.defaultDef == null || typeof(mml.defaultDef[name]) === "boolean"))) { - value = (val === "true"); - } - } - if (defaults[name] != null || MML.copyAttributes[name]) - {mml[name] = value} else {mml.attr[name] = value} - mml.attrNames.push(name); - } - } - }, - filterAttribute: function (name,value) {return value}, // safe mode overrides this - - // - // Create the children for the mml node - // - AddChildren: function (mml,node) { - for (var i = 0, m = node.childNodes.length; i < m; i++) { - var child = node.childNodes[i]; - if (child.nodeName === "#comment") continue; - if (child.nodeName === "#text") { - if ((mml.isToken || mml.isChars) && !mml.mmlSelfClosing) { - var text = child.nodeValue; - if (mml.isToken) { - text = text.replace(/&([a-z][a-z0-9]*);/ig,this.replaceEntity); - text = this.trimSpace(text); - } - mml.Append(MML.chars(text)); - } else if (child.nodeValue.match(/\S/)) { - MATHML.Error(["UnexpectedTextNode", - "Unexpected text node: %1","'"+child.nodeValue+"'"]); - } - } else if (mml.type === "annotation-xml") { - mml.Append(MML.xml(child)); - } else { - var cmml = this.MakeMML(child); mml.Append(cmml); - if (cmml.mmlSelfClosing && cmml.data.length) - {mml.Append.apply(mml,cmml.data); cmml.data = []} - } - } - if (mml.type === "mrow" && mml.data.length >= 2) { - var first = mml.data[0], last = mml.data[mml.data.length-1]; - if (first.type === "mo" && first.Get("fence") && - last.type === "mo" && last.Get("fence")) { - if (first.data[0]) {mml.open = first.data.join("")} - if (last.data[0]) {mml.close = last.data.join("")} - } - } - }, - - // - // Clean Up the source to prepare for XML parsing - // - preProcessMath: function (math) { - if (math.match(/^<[a-z]+:/i) && !math.match(/^<[^<>]* xmlns:/)) { - math = math.replace(/^<([a-z]+)(:math)/i,'<$1$2 xmlns:$1="http://www.w3.org/1998/Math/MathML"') - } - // HTML5 removes xmlns: namespaces, so put them back for XML - var match = math.match(/^(])+)>)/i); - if (match && match[2].match(/ (?!xmlns=)[a-z]+=\"http:/i)) { - math = match[1].replace(/ (?!xmlns=)([a-z]+=(['"])http:.*?\2)/ig," xmlns:$1 $1") + - math.substr(match[0].length); - } - if (math.match(/^]/i) && !math.match(/^<[^<>]* xmlns=/)) { - // append the MathML namespace - math = math.replace(/^<(math)/i,'\s*$/,"$2"); - return math.replace(/&([a-z][a-z0-9]*);/ig,this.replaceEntity); - }, - - // - // Remove attribute whitespace - // - trimSpace: function (string) { - return string.replace(/[\t\n\r]/g," ") // whitespace to spaces - .replace(/^ +/,"") // initial whitespace - .replace(/ +$/,"") // trailing whitespace - .replace(/ +/g," "); // internal multiple whitespace - }, - - // - // Replace a named entity by its value - // (look up from external files if necessary) - // - replaceEntity: function (match,entity) { - if (entity.match(/^(lt|amp|quot)$/)) {return match} // these mess up attribute parsing - if (MATHML.Parse.Entity[entity]) {return MATHML.Parse.Entity[entity]} - var file = entity.charAt(0).toLowerCase(); - var font = entity.match(/^[a-zA-Z](fr|scr|opf)$/); - if (font) {file = font[1]} - if (!MATHML.Parse.loaded[file]) { - MATHML.Parse.loaded[file] = true; - MathJax.Hub.RestartAfter(MathJax.Ajax.Require(MATHML.entityDir+"/"+file+".js")); - } - return match; - } - }, { - loaded: [] // the entity files that are loaded - }); - - /************************************************************************/ - - MATHML.Augment({ - sourceMenuTitle: /*_(MathMenu)*/ ["OriginalMathML","Original MathML"], - - prefilterHooks: MathJax.Callback.Hooks(true), // hooks to run on MathML string before processing MathML - DOMfilterHooks: MathJax.Callback.Hooks(true), // hooks to run on MathML DOM before processing - postfilterHooks: MathJax.Callback.Hooks(true), // hooks to run on internal jax format after processing MathML - - Translate: function (script) { - if (!this.ParseXML) {this.ParseXML = this.createParser()} - var mml, math, data = {script:script}; - if (script.firstChild && - script.firstChild.nodeName.toLowerCase().replace(/^[a-z]+:/,"") === "math") { - data.math = script.firstChild; - } else { - math = MathJax.HTML.getScript(script); - if (BROWSER.isMSIE) {math = math.replace(/( )+$/,"")} - data.math = math; - } - var callback = this.prefilterHooks.Execute(data); if (callback) return callback; - math = data.math; - try { - mml = MATHML.Parse(math,script).mml; - } catch(err) { - if (!err.mathmlError) {throw err} - mml = this.formatError(err,math,script); - } - data.math = MML(mml); - return this.postfilterHooks.Execute(data) || data.math; - }, - prefilterMath: function (math,script) {return math}, - prefilterMathML: function (math,script) {return math}, - formatError: function (err,math,script) { - var message = err.message.replace(/\n.*/,""); - MathJax.Hub.signal.Post(["MathML Jax - parse error",message,math,script]); - return MML.Error(message); - }, - Error: function (message) { - // - // Translate message if it is ["id","message",args] - // - if (MathJax.Object.isArray(message)) {message = _.apply(_,message)} - throw MathJax.Hub.Insert(Error(message),{mathmlError: true}); - }, - // - // Parsers for various forms (DOMParser, Windows ActiveX object, other) - // - parseDOM: function (string) {return this.parser.parseFromString(string,"text/xml")}, - parseMS: function (string) {return (this.parser.loadXML(string) ? this.parser : null)}, - parseDIV: function (string) { - this.div.innerHTML = - "
        "+string.replace(/<([a-z]+)([^>]*)\/>/g,"<$1$2>")+"
        "; - var doc = this.div.firstChild; - this.div.innerHTML = ""; - return doc; - }, - parseError: function (string) {return null}, - createMSParser: function() { - var parser = null; - var xml = ["MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.5.0", - "MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0", - "MSXML2.DOMDocument.2.0","Microsoft.XMLDOM"]; - for (var i = 0, m = xml.length; i < m && !parser; i++) { - try { - parser = new ActiveXObject(xml[i]) - } catch (err) {} - } - return parser; - }, - // - // Create the parser using a DOMParser, or other fallback method - // - createParser: function () { - if (window.DOMParser) { - this.parser = new DOMParser(); - return(this.parseDOM); - } else if (window.ActiveXObject) { - this.parser = this.createMSParser(); - if (!this.parser) { - MathJax.Localization.Try(this.parserCreationError); - return(this.parseError); - } - this.parser.async = false; - return(this.parseMS); - } - this.div = MathJax.Hub.Insert(document.createElement("div"),{ - style:{visibility:"hidden", overflow:"hidden", height:"1px", - position:"absolute", top:0} - }); - if (!document.body.firstChild) {document.body.appendChild(this.div)} - else {document.body.insertBefore(this.div,document.body.firstChild)} - return(this.parseDIV); - }, - parserCreationError: function () { - alert(_("CantCreateXMLParser", - "MathJax can't create an XML parser for MathML. Check that\n"+ - "the 'Script ActiveX controls marked safe for scripting' security\n"+ - "setting is enabled (use the Internet Options item in the Tools\n"+ - "menu, and select the Security panel, then press the Custom Level\n"+ - "button to check this).\n\n"+ - "MathML equations will not be able to be processed by MathJax.")); - }, - // - // Initialize the parser object (whichever type is used) - // - Startup: function () { - MML = MathJax.ElementJax.mml; - MML.mspace.Augment({mmlSelfClosing: true}); - MML.none.Augment({mmlSelfClosing: true}); - MML.mprescripts.Augment({mmlSelfClosing:true}); - MML.maligngroup.Augment({mmlSelfClosing:true}); - MML.malignmark.Augment({mmlSelfClosing:true}); - } - }); - - // - // Add the default pre-filter (for backward compatibility) - // - MATHML.prefilterHooks.Add(function (data) { - data.math = (typeof(data.math) === "string" ? - MATHML.prefilterMath(data.math,data.script) : - MATHML.prefilterMathML(data.math,data.script)); - }); - - MATHML.Parse.Entity = { - ApplyFunction: '\u2061', - Backslash: '\u2216', - Because: '\u2235', - Breve: '\u02D8', - Cap: '\u22D2', - CenterDot: '\u00B7', - CircleDot: '\u2299', - CircleMinus: '\u2296', - CirclePlus: '\u2295', - CircleTimes: '\u2297', - Congruent: '\u2261', - ContourIntegral: '\u222E', - Coproduct: '\u2210', - Cross: '\u2A2F', - Cup: '\u22D3', - CupCap: '\u224D', - Dagger: '\u2021', - Del: '\u2207', - Delta: '\u0394', - Diamond: '\u22C4', - DifferentialD: '\u2146', - DotEqual: '\u2250', - DoubleDot: '\u00A8', - DoubleRightTee: '\u22A8', - DoubleVerticalBar: '\u2225', - DownArrow: '\u2193', - DownLeftVector: '\u21BD', - DownRightVector: '\u21C1', - DownTee: '\u22A4', - Downarrow: '\u21D3', - Element: '\u2208', - EqualTilde: '\u2242', - Equilibrium: '\u21CC', - Exists: '\u2203', - ExponentialE: '\u2147', - FilledVerySmallSquare: '\u25AA', - ForAll: '\u2200', - Gamma: '\u0393', - Gg: '\u22D9', - GreaterEqual: '\u2265', - GreaterEqualLess: '\u22DB', - GreaterFullEqual: '\u2267', - GreaterLess: '\u2277', - GreaterSlantEqual: '\u2A7E', - GreaterTilde: '\u2273', - Hacek: '\u02C7', - Hat: '\u005E', - HumpDownHump: '\u224E', - HumpEqual: '\u224F', - Im: '\u2111', - ImaginaryI: '\u2148', - Integral: '\u222B', - Intersection: '\u22C2', - InvisibleComma: '\u2063', - InvisibleTimes: '\u2062', - Lambda: '\u039B', - Larr: '\u219E', - LeftAngleBracket: '\u27E8', - LeftArrow: '\u2190', - LeftArrowRightArrow: '\u21C6', - LeftCeiling: '\u2308', - LeftDownVector: '\u21C3', - LeftFloor: '\u230A', - LeftRightArrow: '\u2194', - LeftTee: '\u22A3', - LeftTriangle: '\u22B2', - LeftTriangleEqual: '\u22B4', - LeftUpVector: '\u21BF', - LeftVector: '\u21BC', - Leftarrow: '\u21D0', - Leftrightarrow: '\u21D4', - LessEqualGreater: '\u22DA', - LessFullEqual: '\u2266', - LessGreater: '\u2276', - LessSlantEqual: '\u2A7D', - LessTilde: '\u2272', - Ll: '\u22D8', - Lleftarrow: '\u21DA', - LongLeftArrow: '\u27F5', - LongLeftRightArrow: '\u27F7', - LongRightArrow: '\u27F6', - Longleftarrow: '\u27F8', - Longleftrightarrow: '\u27FA', - Longrightarrow: '\u27F9', - Lsh: '\u21B0', - MinusPlus: '\u2213', - NestedGreaterGreater: '\u226B', - NestedLessLess: '\u226A', - NotDoubleVerticalBar: '\u2226', - NotElement: '\u2209', - NotEqual: '\u2260', - NotExists: '\u2204', - NotGreater: '\u226F', - NotGreaterEqual: '\u2271', - NotLeftTriangle: '\u22EA', - NotLeftTriangleEqual: '\u22EC', - NotLess: '\u226E', - NotLessEqual: '\u2270', - NotPrecedes: '\u2280', - NotPrecedesSlantEqual: '\u22E0', - NotRightTriangle: '\u22EB', - NotRightTriangleEqual: '\u22ED', - NotSubsetEqual: '\u2288', - NotSucceeds: '\u2281', - NotSucceedsSlantEqual: '\u22E1', - NotSupersetEqual: '\u2289', - NotTilde: '\u2241', - NotVerticalBar: '\u2224', - Omega: '\u03A9', - OverBar: '\u203E', - OverBrace: '\u23DE', - PartialD: '\u2202', - Phi: '\u03A6', - Pi: '\u03A0', - PlusMinus: '\u00B1', - Precedes: '\u227A', - PrecedesEqual: '\u2AAF', - PrecedesSlantEqual: '\u227C', - PrecedesTilde: '\u227E', - Product: '\u220F', - Proportional: '\u221D', - Psi: '\u03A8', - Rarr: '\u21A0', - Re: '\u211C', - ReverseEquilibrium: '\u21CB', - RightAngleBracket: '\u27E9', - RightArrow: '\u2192', - RightArrowLeftArrow: '\u21C4', - RightCeiling: '\u2309', - RightDownVector: '\u21C2', - RightFloor: '\u230B', - RightTee: '\u22A2', - RightTeeArrow: '\u21A6', - RightTriangle: '\u22B3', - RightTriangleEqual: '\u22B5', - RightUpVector: '\u21BE', - RightVector: '\u21C0', - Rightarrow: '\u21D2', - Rrightarrow: '\u21DB', - Rsh: '\u21B1', - Sigma: '\u03A3', - SmallCircle: '\u2218', - Sqrt: '\u221A', - Square: '\u25A1', - SquareIntersection: '\u2293', - SquareSubset: '\u228F', - SquareSubsetEqual: '\u2291', - SquareSuperset: '\u2290', - SquareSupersetEqual: '\u2292', - SquareUnion: '\u2294', - Star: '\u22C6', - Subset: '\u22D0', - SubsetEqual: '\u2286', - Succeeds: '\u227B', - SucceedsEqual: '\u2AB0', - SucceedsSlantEqual: '\u227D', - SucceedsTilde: '\u227F', - SuchThat: '\u220B', - Sum: '\u2211', - Superset: '\u2283', - SupersetEqual: '\u2287', - Supset: '\u22D1', - Therefore: '\u2234', - Theta: '\u0398', - Tilde: '\u223C', - TildeEqual: '\u2243', - TildeFullEqual: '\u2245', - TildeTilde: '\u2248', - UnderBar: '\u005F', - UnderBrace: '\u23DF', - Union: '\u22C3', - UnionPlus: '\u228E', - UpArrow: '\u2191', - UpDownArrow: '\u2195', - UpTee: '\u22A5', - Uparrow: '\u21D1', - Updownarrow: '\u21D5', - Upsilon: '\u03A5', - Vdash: '\u22A9', - Vee: '\u22C1', - VerticalBar: '\u2223', - VerticalTilde: '\u2240', - Vvdash: '\u22AA', - Wedge: '\u22C0', - Xi: '\u039E', - acute: '\u00B4', - aleph: '\u2135', - alpha: '\u03B1', - amalg: '\u2A3F', - and: '\u2227', - ang: '\u2220', - angmsd: '\u2221', - angsph: '\u2222', - ape: '\u224A', - backprime: '\u2035', - backsim: '\u223D', - backsimeq: '\u22CD', - beta: '\u03B2', - beth: '\u2136', - between: '\u226C', - bigcirc: '\u25EF', - bigodot: '\u2A00', - bigoplus: '\u2A01', - bigotimes: '\u2A02', - bigsqcup: '\u2A06', - bigstar: '\u2605', - bigtriangledown: '\u25BD', - bigtriangleup: '\u25B3', - biguplus: '\u2A04', - blacklozenge: '\u29EB', - blacktriangle: '\u25B4', - blacktriangledown: '\u25BE', - blacktriangleleft: '\u25C2', - bowtie: '\u22C8', - boxdl: '\u2510', - boxdr: '\u250C', - boxminus: '\u229F', - boxplus: '\u229E', - boxtimes: '\u22A0', - boxul: '\u2518', - boxur: '\u2514', - bsol: '\u005C', - bull: '\u2022', - cap: '\u2229', - check: '\u2713', - chi: '\u03C7', - circ: '\u02C6', - circeq: '\u2257', - circlearrowleft: '\u21BA', - circlearrowright: '\u21BB', - circledR: '\u00AE', - circledS: '\u24C8', - circledast: '\u229B', - circledcirc: '\u229A', - circleddash: '\u229D', - clubs: '\u2663', - colon: '\u003A', - comp: '\u2201', - ctdot: '\u22EF', - cuepr: '\u22DE', - cuesc: '\u22DF', - cularr: '\u21B6', - cup: '\u222A', - curarr: '\u21B7', - curlyvee: '\u22CE', - curlywedge: '\u22CF', - dagger: '\u2020', - daleth: '\u2138', - ddarr: '\u21CA', - deg: '\u00B0', - delta: '\u03B4', - digamma: '\u03DD', - div: '\u00F7', - divideontimes: '\u22C7', - dot: '\u02D9', - doteqdot: '\u2251', - dotplus: '\u2214', - dotsquare: '\u22A1', - dtdot: '\u22F1', - ecir: '\u2256', - efDot: '\u2252', - egs: '\u2A96', - ell: '\u2113', - els: '\u2A95', - empty: '\u2205', - epsi: '\u03B5', - epsiv: '\u03F5', - erDot: '\u2253', - eta: '\u03B7', - eth: '\u00F0', - flat: '\u266D', - fork: '\u22D4', - frown: '\u2322', - gEl: '\u2A8C', - gamma: '\u03B3', - gap: '\u2A86', - gimel: '\u2137', - gnE: '\u2269', - gnap: '\u2A8A', - gne: '\u2A88', - gnsim: '\u22E7', - gt: '\u003E', - gtdot: '\u22D7', - harrw: '\u21AD', - hbar: '\u210F', - hellip: '\u2026', - hookleftarrow: '\u21A9', - hookrightarrow: '\u21AA', - imath: '\u0131', - infin: '\u221E', - intcal: '\u22BA', - iota: '\u03B9', - jmath: '\u0237', - kappa: '\u03BA', - kappav: '\u03F0', - lEg: '\u2A8B', - lambda: '\u03BB', - lap: '\u2A85', - larrlp: '\u21AB', - larrtl: '\u21A2', - lbrace: '\u007B', - lbrack: '\u005B', - le: '\u2264', - leftleftarrows: '\u21C7', - leftthreetimes: '\u22CB', - lessdot: '\u22D6', - lmoust: '\u23B0', - lnE: '\u2268', - lnap: '\u2A89', - lne: '\u2A87', - lnsim: '\u22E6', - longmapsto: '\u27FC', - looparrowright: '\u21AC', - lowast: '\u2217', - loz: '\u25CA', - lt: '\u003C', - ltimes: '\u22C9', - ltri: '\u25C3', - macr: '\u00AF', - malt: '\u2720', - mho: '\u2127', - mu: '\u03BC', - multimap: '\u22B8', - nLeftarrow: '\u21CD', - nLeftrightarrow: '\u21CE', - nRightarrow: '\u21CF', - nVDash: '\u22AF', - nVdash: '\u22AE', - natur: '\u266E', - nearr: '\u2197', - nharr: '\u21AE', - nlarr: '\u219A', - not: '\u00AC', - nrarr: '\u219B', - nu: '\u03BD', - nvDash: '\u22AD', - nvdash: '\u22AC', - nwarr: '\u2196', - omega: '\u03C9', - omicron: '\u03BF', - or: '\u2228', - osol: '\u2298', - period: '\u002E', - phi: '\u03C6', - phiv: '\u03D5', - pi: '\u03C0', - piv: '\u03D6', - prap: '\u2AB7', - precnapprox: '\u2AB9', - precneqq: '\u2AB5', - precnsim: '\u22E8', - prime: '\u2032', - psi: '\u03C8', - rarrtl: '\u21A3', - rbrace: '\u007D', - rbrack: '\u005D', - rho: '\u03C1', - rhov: '\u03F1', - rightrightarrows: '\u21C9', - rightthreetimes: '\u22CC', - ring: '\u02DA', - rmoust: '\u23B1', - rtimes: '\u22CA', - rtri: '\u25B9', - scap: '\u2AB8', - scnE: '\u2AB6', - scnap: '\u2ABA', - scnsim: '\u22E9', - sdot: '\u22C5', - searr: '\u2198', - sect: '\u00A7', - sharp: '\u266F', - sigma: '\u03C3', - sigmav: '\u03C2', - simne: '\u2246', - smile: '\u2323', - spades: '\u2660', - sub: '\u2282', - subE: '\u2AC5', - subnE: '\u2ACB', - subne: '\u228A', - supE: '\u2AC6', - supnE: '\u2ACC', - supne: '\u228B', - swarr: '\u2199', - tau: '\u03C4', - theta: '\u03B8', - thetav: '\u03D1', - tilde: '\u02DC', - times: '\u00D7', - triangle: '\u25B5', - triangleq: '\u225C', - upsi: '\u03C5', - upuparrows: '\u21C8', - veebar: '\u22BB', - vellip: '\u22EE', - weierp: '\u2118', - xi: '\u03BE', - yen: '\u00A5', - zeta: '\u03B6', - zigrarr: '\u21DD' - }; - - MATHML.loadComplete("jax.js"); - -})(MathJax.InputJax.MathML,MathJax.Hub.Browser); diff --git a/src/py/kaleido/vendor/mathjax/jax/input/TeX/config.js b/src/py/kaleido/vendor/mathjax/jax/input/TeX/config.js deleted file mode 100644 index 3750b3d8..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/input/TeX/config.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/input/TeX/config.js - * - * Initializes the TeX InputJax (the main definition is in - * MathJax/jax/input/TeX/jax.js, which is loaded when needed). - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.InputJax.TeX = MathJax.InputJax({ - id: "TeX", - version: "2.7.5", - directory: MathJax.InputJax.directory + "/TeX", - extensionDir: MathJax.InputJax.extensionDir + "/TeX", - - config: { - TagSide: "right", - TagIndent: "0.8em", - MultLineWidth: "85%", - - equationNumbers: { - autoNumber: "none", // "AMS" for standard AMS numbering, - // or "all" for all displayed equations - formatNumber: function (n) {return n}, - formatTag: function (n) {return '('+n+')'}, - formatID: function (n) {return 'mjx-eqn-'+String(n).replace(/\s/g,"_")}, - formatURL: function (id,base) {return base+'#'+encodeURIComponent(id)}, - useLabelIds: true - } - }, - - resetEquationNumbers: function () {} // filled in by AMSmath extension -}); -MathJax.InputJax.TeX.Register("math/tex"); - -MathJax.InputJax.TeX.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/input/TeX/jax.js b/src/py/kaleido/vendor/mathjax/jax/input/TeX/jax.js deleted file mode 100644 index 6654b825..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/input/TeX/jax.js +++ /dev/null @@ -1,2371 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/input/TeX/jax.js - * - * Implements the TeX InputJax that reads mathematics in - * TeX and LaTeX format and converts it to the MML ElementJax - * internal format. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -(function (TEX,HUB,AJAX) { - var MML, NBSP = "\u00A0"; - - var _ = function (id) { - return MathJax.Localization._.apply(MathJax.Localization, - [["TeX", id]].concat([].slice.call(arguments,1))); - }; - - var isArray = MathJax.Object.isArray; - - var STACK = MathJax.Object.Subclass({ - Init: function (env,inner) { - this.global = {isInner: inner}; - this.data = [STACKITEM.start(this.global)]; - if (env) {this.data[0].env = env} - this.env = this.data[0].env; - }, - Push: function () { - var i, m, item, top; - for (i = 0, m = arguments.length; i < m; i++) { - item = arguments[i]; if (!item) continue; - if (item instanceof MML.mbase) {item = STACKITEM.mml(item)} - item.global = this.global; - top = (this.data.length ? this.Top().checkItem(item) : true); - if (top instanceof Array) {this.Pop(); this.Push.apply(this,top)} - else if (top instanceof STACKITEM) {this.Pop(); this.Push(top)} - else if (top) { - this.data.push(item); - if (item.env) { - if (item.copyEnv !== false) { - for (var id in this.env) - {if (this.env.hasOwnProperty(id)) {item.env[id] = this.env[id]}} - } - this.env = item.env; - } else {item.env = this.env} - } - } - }, - Pop: function () { - var item = this.data.pop(); if (!item.isOpen) {delete item.env} - this.env = (this.data.length ? this.Top().env : {}); - return item; - }, - Top: function (n) { - if (n == null) {n = 1} - if (this.data.length < n) {return null} - return this.data[this.data.length-n]; - }, - Prev: function (noPop) { - var top = this.Top(); - if (noPop) {return top.data[top.data.length-1]} - else {return top.Pop()} - }, - toString: function () {return "stack[\n "+this.data.join("\n ")+"\n]"} - }); - - var STACKITEM = STACK.Item = MathJax.Object.Subclass({ - type: "base", - endError: /*_()*/ ["ExtraOpenMissingClose","Extra open brace or missing close brace"], - closeError: /*_()*/ ["ExtraCloseMissingOpen","Extra close brace or missing open brace"], - rightError: /*_()*/ ["MissingLeftExtraRight","Missing \\left or extra \\right"], - Init: function () { - if (this.isOpen) {this.env = {}} - this.data = []; - this.Push.apply(this,arguments); - }, - Push: function () {this.data.push.apply(this.data,arguments)}, - Pop: function () {return this.data.pop()}, - mmlData: function (inferred,forceRow) { - if (inferred == null) {inferred = true} - if (this.data.length === 1 && !forceRow) {return this.data[0]} - return MML.mrow.apply(MML,this.data).With((inferred ? {inferred: true}: {})); - }, - checkItem: function (item) { - if (item.type === "over" && this.isOpen) {item.num = this.mmlData(false); this.data = []} - if (item.type === "cell" && this.isOpen) { - if (item.linebreak) {return false} - TEX.Error(["Misplaced","Misplaced %1",item.name]); - } - if (item.isClose && this[item.type+"Error"]) {TEX.Error(this[item.type+"Error"])} - if (!item.isNotStack) {return true} - this.Push(item.data[0]); return false; - }, - With: function (def) { - for (var id in def) {if (def.hasOwnProperty(id)) {this[id] = def[id]}} - return this; - }, - toString: function () {return this.type+"["+this.data.join("; ")+"]"} - }); - - STACKITEM.start = STACKITEM.Subclass({ - type: "start", isOpen: true, - Init: function (global) { - this.SUPER(arguments).Init.call(this); - this.global = global; - }, - checkItem: function (item) { - if (item.type === "stop") {return STACKITEM.mml(this.mmlData())} - return this.SUPER(arguments).checkItem.call(this,item); - } - }); - - STACKITEM.stop = STACKITEM.Subclass({ - type: "stop", isClose: true - }); - - STACKITEM.open = STACKITEM.Subclass({ - type: "open", isOpen: true, - stopError: /*_()*/ ["ExtraOpenMissingClose","Extra open brace or missing close brace"], - checkItem: function (item) { - if (item.type === "close") { - var mml = this.mmlData(); - return STACKITEM.mml(MML.TeXAtom(mml)); // TeXAtom make it an ORD to prevent spacing (FIXME: should be another way) - } - return this.SUPER(arguments).checkItem.call(this,item); - } - }); - - STACKITEM.close = STACKITEM.Subclass({ - type: "close", isClose: true - }); - - STACKITEM.prime = STACKITEM.Subclass({ - type: "prime", - checkItem: function (item) { - if (this.data[0].type !== "msubsup") - {return [MML.msup(this.data[0],this.data[1]),item]} - this.data[0].SetData(this.data[0].sup,this.data[1]); - return [this.data[0],item]; - } - }); - - STACKITEM.subsup = STACKITEM.Subclass({ - type: "subsup", - stopError: /*_()*/ ["MissingScript","Missing superscript or subscript argument"], - supError: /*_()*/ ["MissingOpenForSup","Missing open brace for superscript"], - subError: /*_()*/ ["MissingOpenForSub","Missing open brace for subscript"], - checkItem: function (item) { - if (item.type === "open" || item.type === "left") {return true} - if (item.type === "mml") { - if (this.primes) { - if (this.position !== 2) {this.data[0].SetData(2,this.primes)} - else {item.data[0] = MML.mrow(this.primes.With({variantForm:true}),item.data[0])} - } - this.data[0].SetData(this.position,item.data[0]); - if (this.movesupsub != null) {this.data[0].movesupsub = this.movesupsub} - return STACKITEM.mml(this.data[0]); - } - if (this.SUPER(arguments).checkItem.call(this,item)) - {TEX.Error(this[["","subError","supError"][this.position]])} - }, - Pop: function () {} - }); - - STACKITEM.over = STACKITEM.Subclass({ - type: "over", isClose: true, name: "\\over", - checkItem: function (item,stack) { - if (item.type === "over") - {TEX.Error(["AmbiguousUseOf","Ambiguous use of %1",item.name])} - if (item.isClose) { - var mml = MML.mfrac(this.num,this.mmlData(false)); - if (this.thickness != null) {mml.linethickness = this.thickness} - if (this.open || this.close) { - mml.texWithDelims = true; - mml = TEX.fixedFence(this.open,mml,this.close); - } - return [STACKITEM.mml(mml), item]; - } - return this.SUPER(arguments).checkItem.call(this,item); - }, - toString: function () {return "over["+this.num+" / "+this.data.join("; ")+"]"} - }); - - STACKITEM.left = STACKITEM.Subclass({ - type: "left", isOpen: true, delim: '(', - stopError: /*_()*/ ["ExtraLeftMissingRight", "Extra \\left or missing \\right"], - checkItem: function (item) { - if (item.type === "right") - {return STACKITEM.mml(TEX.fenced(this.delim,this.mmlData(),item.delim))} - return this.SUPER(arguments).checkItem.call(this,item); - } - }); - - STACKITEM.right = STACKITEM.Subclass({ - type: "right", isClose: true, delim: ')' - }); - - STACKITEM.begin = STACKITEM.Subclass({ - type: "begin", isOpen: true, - checkItem: function (item) { - if (item.type === "end") { - if (item.name !== this.name) - {TEX.Error(["EnvBadEnd","\\begin{%1} ended with \\end{%2}",this.name,item.name])} - if (!this.end) {return STACKITEM.mml(this.mmlData())} - return this.parse[this.end].call(this.parse,this,this.data); - } - if (item.type === "stop") - {TEX.Error(["EnvMissingEnd","Missing \\end{%1}",this.name])} - return this.SUPER(arguments).checkItem.call(this,item); - } - }); - - STACKITEM.end = STACKITEM.Subclass({ - type: "end", isClose: true - }); - - STACKITEM.style = STACKITEM.Subclass({ - type: "style", - checkItem: function (item) { - if (!item.isClose) {return this.SUPER(arguments).checkItem.call(this,item)} - var mml = MML.mstyle.apply(MML,this.data).With(this.styles); - return [STACKITEM.mml(mml),item]; - } - }); - - STACKITEM.position = STACKITEM.Subclass({ - type: "position", - checkItem: function (item) { - if (item.isClose) {TEX.Error(["MissingBoxFor","Missing box for %1",this.name])} - if (item.isNotStack) { - var mml = item.mmlData(); - switch (this.move) { - case 'vertical': - mml = MML.mpadded(mml).With({height: this.dh, depth: this.dd, voffset: this.dh}); - return [STACKITEM.mml(mml)]; - case 'horizontal': - return [STACKITEM.mml(this.left),item,STACKITEM.mml(this.right)]; - } - } - return this.SUPER(arguments).checkItem.call(this,item); - } - }); - - STACKITEM.array = STACKITEM.Subclass({ - type: "array", isOpen: true, copyEnv: false, arraydef: {}, - Init: function () { - this.table = []; this.row = []; this.frame = []; this.hfill = []; - this.SUPER(arguments).Init.apply(this,arguments); - }, - checkItem: function (item) { - if (item.isClose && item.type !== "over") { - if (item.isEntry) {this.EndEntry(); this.clearEnv(); return false} - if (item.isCR) {this.EndEntry(); this.EndRow(); this.clearEnv(); return false} - this.EndTable(); this.clearEnv(); - var scriptlevel = this.arraydef.scriptlevel; delete this.arraydef.scriptlevel; - var mml = MML.mtable.apply(MML,this.table).With(this.arraydef); - if (this.frame.length === 4) { - mml.frame = (this.frame.dashed ? "dashed" : "solid"); - } else if (this.frame.length) { - mml.hasFrame = true; - if (this.arraydef.rowlines) {this.arraydef.rowlines = this.arraydef.rowlines.replace(/none( none)+$/,"none")} - mml = MML.menclose(mml).With({notation: this.frame.join(" "), isFrame: true}); - if ((this.arraydef.columnlines||"none") != "none" || - (this.arraydef.rowlines||"none") != "none") {mml.padding = 0} // HTML-CSS jax implements this - } - if (scriptlevel) {mml = MML.mstyle(mml).With({scriptlevel: scriptlevel})} - if (this.open || this.close) {mml = TEX.fenced(this.open,mml,this.close)} - mml = STACKITEM.mml(mml); - if (this.requireClose) { - if (item.type === 'close') {return mml} - TEX.Error(["MissingCloseBrace","Missing close brace"]); - } - return [mml,item]; - } - return this.SUPER(arguments).checkItem.call(this,item); - }, - EndEntry: function () { - var mtd = MML.mtd.apply(MML,this.data); - if (this.hfill.length) { - if (this.hfill[0] === 0) mtd.columnalign = "right"; - if (this.hfill[this.hfill.length-1] === this.data.length) - mtd.columnalign = (mtd.columnalign ? "center" : "left"); - } - this.row.push(mtd); this.data = []; this.hfill = []; - }, - EndRow: function () { - var mtr = MML.mtr; - if (this.isNumbered && this.row.length === 3) { - this.row.unshift(this.row.pop()); // move equation number to first position - mtr = MML.mlabeledtr; - } - this.table.push(mtr.apply(MML,this.row)); this.row = []; - }, - EndTable: function () { - if (this.data.length || this.row.length) {this.EndEntry(); this.EndRow()} - this.checkLines(); - }, - checkLines: function () { - if (this.arraydef.rowlines) { - var lines = this.arraydef.rowlines.split(/ /); - if (lines.length === this.table.length) { - this.frame.push("bottom"); lines.pop(); - this.arraydef.rowlines = lines.join(' '); - } else if (lines.length < this.table.length-1) { - this.arraydef.rowlines += " none"; - } - } - if (this.rowspacing) { - var rows = this.arraydef.rowspacing.split(/ /); - while (rows.length < this.table.length) {rows.push(this.rowspacing+"em")} - this.arraydef.rowspacing = rows.join(' '); - } - }, - clearEnv: function () { - for (var id in this.env) {if (this.env.hasOwnProperty(id)) {delete this.env[id]}} - } - }); - - STACKITEM.cell = STACKITEM.Subclass({ - type: "cell", isClose: true - }); - - STACKITEM.mml = STACKITEM.Subclass({ - type: "mml", isNotStack: true, - Add: function () {this.data.push.apply(this.data,arguments); return this} - }); - - STACKITEM.fn = STACKITEM.Subclass({ - type: "fn", - checkItem: function (item) { - if (this.data[0]) { - if (item.isOpen) {return true} - if (item.type !== "fn") { - if (item.type !== "mml" || !item.data[0]) {return [this.data[0],item]} - if (item.data[0].isa(MML.mspace)) {return [this.data[0],item]} - var mml = item.data[0]; if (mml.isEmbellished()) {mml = mml.CoreMO()} - if ([0,0,1,1,0,1,1,0,0,0][mml.Get("texClass")]) {return [this.data[0],item]} - } - return [this.data[0],MML.mo(MML.entity("#x2061")).With({texClass:MML.TEXCLASS.NONE}),item]; - } - return this.SUPER(arguments).checkItem.apply(this,arguments); - } - }); - - STACKITEM.not = STACKITEM.Subclass({ - type: "not", - checkItem: function (item) { - var mml, c; - if (item.type === "open" || item.type === "left") {return true} - if (item.type === "mml" && item.data[0].type.match(/^(mo|mi|mtext)$/)) { - mml = item.data[0], c = mml.data.join(""); - if (c.length === 1 && !mml.movesupsub && mml.data.length === 1) { - c = STACKITEM.not.remap[c.charCodeAt(0)]; - if (c) {mml.SetData(0,MML.chars(String.fromCharCode(c)))} - else {mml.Append(MML.chars("\u0338"))} - return item; - } - } - // \mathrel{\rlap{\notChar}} - mml = MML.mpadded(MML.mtext("\u29F8")).With({width:0}); - mml = MML.TeXAtom(mml).With({texClass:MML.TEXCLASS.REL}); - return [mml,item]; - } - }); - STACKITEM.not.remap = { - 0x2190:0x219A, 0x2192:0x219B, 0x2194:0x21AE, - 0x21D0:0x21CD, 0x21D2:0x21CF, 0x21D4:0x21CE, - 0x2208:0x2209, 0x220B:0x220C, 0x2223:0x2224, 0x2225:0x2226, - 0x223C:0x2241, 0x007E:0x2241, 0x2243:0x2244, 0x2245:0x2247, - 0x2248:0x2249, 0x224D:0x226D, 0x003D:0x2260, 0x2261:0x2262, - 0x003C:0x226E, 0x003E:0x226F, 0x2264:0x2270, 0x2265:0x2271, - 0x2272:0x2274, 0x2273:0x2275, 0x2276:0x2278, 0x2277:0x2279, - 0x227A:0x2280, 0x227B:0x2281, 0x2282:0x2284, 0x2283:0x2285, - 0x2286:0x2288, 0x2287:0x2289, 0x22A2:0x22AC, 0x22A8:0x22AD, - 0x22A9:0x22AE, 0x22AB:0x22AF, 0x227C:0x22E0, 0x227D:0x22E1, - 0x2291:0x22E2, 0x2292:0x22E3, 0x22B2:0x22EA, 0x22B3:0x22EB, - 0x22B4:0x22EC, 0x22B5:0x22ED, 0x2203:0x2204 - }; - - STACKITEM.dots = STACKITEM.Subclass({ - type: "dots", - checkItem: function (item) { - if (item.type === "open" || item.type === "left") {return true} - var dots = this.ldots; - if (item.type === "mml" && item.data[0].isEmbellished()) { - var tclass = item.data[0].CoreMO().Get("texClass"); - if (tclass === MML.TEXCLASS.BIN || tclass === MML.TEXCLASS.REL) {dots = this.cdots} - } - return [dots,item]; - } - }); - - - var TEXDEF = { - // - // Add new definitions without overriding user-defined ones - // - Add: function (src,dst,nouser) { - if (!dst) {dst = this} - for (var id in src) {if (src.hasOwnProperty(id)) { - if (typeof src[id] === 'object' && !isArray(src[id]) && - (typeof dst[id] === 'object' || typeof dst[id] === 'function')) - {this.Add(src[id],dst[id],src[id],nouser)} - else if (!dst[id] || !dst[id].isUser || !nouser) {dst[id] = src[id]} - }} - return dst; - } - }; - var STARTUP = function () { - MML = MathJax.ElementJax.mml; - HUB.Insert(TEXDEF,{ - - // patterns for letters and numbers - letter: /[a-z]/i, - digit: /[0-9.]/, - number: /^(?:[0-9]+(?:\{,\}[0-9]{3})*(?:\.[0-9]*)*|\.[0-9]+)/, - - special: { - '\\': 'ControlSequence', - '{': 'Open', - '}': 'Close', - '~': 'Tilde', - '^': 'Superscript', - '_': 'Subscript', - ' ': 'Space', - "\t": 'Space', - "\r": 'Space', - "\n": 'Space', - "'": 'Prime', - '%': 'Comment', - '&': 'Entry', - '#': 'Hash', - '\u00A0': 'Space', - '\u2019': 'Prime' - }, - - remap: { - '-': '2212', - '*': '2217', - '`': '2018' // map ` to back quote - }, - - mathchar0mi: { - // Lower-case greek - alpha: '03B1', - beta: '03B2', - gamma: '03B3', - delta: '03B4', - epsilon: '03F5', - zeta: '03B6', - eta: '03B7', - theta: '03B8', - iota: '03B9', - kappa: '03BA', - lambda: '03BB', - mu: '03BC', - nu: '03BD', - xi: '03BE', - omicron: '03BF', // added for completeness - pi: '03C0', - rho: '03C1', - sigma: '03C3', - tau: '03C4', - upsilon: '03C5', - phi: '03D5', - chi: '03C7', - psi: '03C8', - omega: '03C9', - varepsilon: '03B5', - vartheta: '03D1', - varpi: '03D6', - varrho: '03F1', - varsigma: '03C2', - varphi: '03C6', - - // Ord symbols - S: ['00A7',{mathvariant: MML.VARIANT.NORMAL}], - aleph: ['2135',{mathvariant: MML.VARIANT.NORMAL}], - hbar: ['210F',{variantForm:true}], - imath: '0131', - jmath: '0237', - ell: '2113', - wp: ['2118',{mathvariant: MML.VARIANT.NORMAL}], - Re: ['211C',{mathvariant: MML.VARIANT.NORMAL}], - Im: ['2111',{mathvariant: MML.VARIANT.NORMAL}], - partial: ['2202',{mathvariant: MML.VARIANT.NORMAL}], - infty: ['221E',{mathvariant: MML.VARIANT.NORMAL}], - prime: ['2032',{mathvariant: MML.VARIANT.NORMAL, variantForm:true}], - emptyset: ['2205',{mathvariant: MML.VARIANT.NORMAL}], - nabla: ['2207',{mathvariant: MML.VARIANT.NORMAL}], - top: ['22A4',{mathvariant: MML.VARIANT.NORMAL}], - bot: ['22A5',{mathvariant: MML.VARIANT.NORMAL}], - angle: ['2220',{mathvariant: MML.VARIANT.NORMAL}], - triangle: ['25B3',{mathvariant: MML.VARIANT.NORMAL}], - backslash: ['2216',{mathvariant: MML.VARIANT.NORMAL, variantForm:true}], - forall: ['2200',{mathvariant: MML.VARIANT.NORMAL}], - exists: ['2203',{mathvariant: MML.VARIANT.NORMAL}], - neg: ['00AC',{mathvariant: MML.VARIANT.NORMAL}], - lnot: ['00AC',{mathvariant: MML.VARIANT.NORMAL}], - flat: ['266D',{mathvariant: MML.VARIANT.NORMAL}], - natural: ['266E',{mathvariant: MML.VARIANT.NORMAL}], - sharp: ['266F',{mathvariant: MML.VARIANT.NORMAL}], - clubsuit: ['2663',{mathvariant: MML.VARIANT.NORMAL}], - diamondsuit: ['2662',{mathvariant: MML.VARIANT.NORMAL}], - heartsuit: ['2661',{mathvariant: MML.VARIANT.NORMAL}], - spadesuit: ['2660',{mathvariant: MML.VARIANT.NORMAL}] - }, - - mathchar0mo: { - surd: '221A', - - // big ops - coprod: ['2210',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - bigvee: ['22C1',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - bigwedge: ['22C0',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - biguplus: ['2A04',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - bigcap: ['22C2',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - bigcup: ['22C3',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - 'int': ['222B',{texClass: MML.TEXCLASS.OP}], - intop: ['222B',{texClass: MML.TEXCLASS.OP, movesupsub:true, movablelimits:true}], - iint: ['222C',{texClass: MML.TEXCLASS.OP}], - iiint: ['222D',{texClass: MML.TEXCLASS.OP}], - prod: ['220F',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - sum: ['2211',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - bigotimes: ['2A02',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - bigoplus: ['2A01',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - bigodot: ['2A00',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - oint: ['222E',{texClass: MML.TEXCLASS.OP}], - bigsqcup: ['2A06',{texClass: MML.TEXCLASS.OP, movesupsub:true}], - smallint: ['222B',{largeop:false}], - - // binary operations - triangleleft: '25C3', - triangleright: '25B9', - bigtriangleup: '25B3', - bigtriangledown: '25BD', - wedge: '2227', - land: '2227', - vee: '2228', - lor: '2228', - cap: '2229', - cup: '222A', - ddagger: '2021', - dagger: '2020', - sqcap: '2293', - sqcup: '2294', - uplus: '228E', - amalg: '2A3F', - diamond: '22C4', - bullet: '2219', - wr: '2240', - div: '00F7', - odot: ['2299',{largeop: false}], - oslash: ['2298',{largeop: false}], - otimes: ['2297',{largeop: false}], - ominus: ['2296',{largeop: false}], - oplus: ['2295',{largeop: false}], - mp: '2213', - pm: '00B1', - circ: '2218', - bigcirc: '25EF', - setminus: ['2216',{variantForm:true}], - cdot: '22C5', - ast: '2217', - times: '00D7', - star: '22C6', - - // Relations - propto: '221D', - sqsubseteq: '2291', - sqsupseteq: '2292', - parallel: '2225', - mid: '2223', - dashv: '22A3', - vdash: '22A2', - leq: '2264', - le: '2264', - geq: '2265', - ge: '2265', - lt: '003C', - gt: '003E', - succ: '227B', - prec: '227A', - approx: '2248', - succeq: '2AB0', // or '227C', - preceq: '2AAF', // or '227D', - supset: '2283', - subset: '2282', - supseteq: '2287', - subseteq: '2286', - 'in': '2208', - ni: '220B', - notin: '2209', - owns: '220B', - gg: '226B', - ll: '226A', - sim: '223C', - simeq: '2243', - perp: '22A5', - equiv: '2261', - asymp: '224D', - smile: '2323', - frown: '2322', - ne: '2260', - neq: '2260', - cong: '2245', - doteq: '2250', - bowtie: '22C8', - models: '22A8', - - notChar: '29F8', - - - // Arrows - Leftrightarrow: '21D4', - Leftarrow: '21D0', - Rightarrow: '21D2', - leftrightarrow: '2194', - leftarrow: '2190', - gets: '2190', - rightarrow: '2192', - to: '2192', - mapsto: '21A6', - leftharpoonup: '21BC', - leftharpoondown: '21BD', - rightharpoonup: '21C0', - rightharpoondown: '21C1', - nearrow: '2197', - searrow: '2198', - nwarrow: '2196', - swarrow: '2199', - rightleftharpoons: '21CC', - hookrightarrow: '21AA', - hookleftarrow: '21A9', - longleftarrow: '27F5', - Longleftarrow: '27F8', - longrightarrow: '27F6', - Longrightarrow: '27F9', - Longleftrightarrow: '27FA', - longleftrightarrow: '27F7', - longmapsto: '27FC', - - - // Misc. - ldots: '2026', - cdots: '22EF', - vdots: '22EE', - ddots: '22F1', - dotsc: '2026', // dots with commas - dotsb: '22EF', // dots with binary ops and relations - dotsm: '22EF', // dots with multiplication - dotsi: '22EF', // dots with integrals - dotso: '2026', // other dots - - ldotp: ['002E', {texClass: MML.TEXCLASS.PUNCT}], - cdotp: ['22C5', {texClass: MML.TEXCLASS.PUNCT}], - colon: ['003A', {texClass: MML.TEXCLASS.PUNCT}] - }, - - mathchar7: { - Gamma: '0393', - Delta: '0394', - Theta: '0398', - Lambda: '039B', - Xi: '039E', - Pi: '03A0', - Sigma: '03A3', - Upsilon: '03A5', - Phi: '03A6', - Psi: '03A8', - Omega: '03A9', - - '_': '005F', - '#': '0023', - '$': '0024', - '%': '0025', - '&': '0026', - And: '0026' - }, - - delimiter: { - '(': '(', - ')': ')', - '[': '[', - ']': ']', - '<': '27E8', - '>': '27E9', - '\\lt': '27E8', - '\\gt': '27E9', - '/': '/', - '|': ['|',{texClass:MML.TEXCLASS.ORD}], - '.': '', - '\\\\': '\\', - '\\lmoustache': '23B0', // non-standard - '\\rmoustache': '23B1', // non-standard - '\\lgroup': '27EE', // non-standard - '\\rgroup': '27EF', // non-standard - '\\arrowvert': '23D0', - '\\Arrowvert': '2016', - '\\bracevert': '23AA', // non-standard - '\\Vert': ['2016',{texClass:MML.TEXCLASS.ORD}], - '\\|': ['2016',{texClass:MML.TEXCLASS.ORD}], - '\\vert': ['|',{texClass:MML.TEXCLASS.ORD}], - '\\uparrow': '2191', - '\\downarrow': '2193', - '\\updownarrow': '2195', - '\\Uparrow': '21D1', - '\\Downarrow': '21D3', - '\\Updownarrow': '21D5', - '\\backslash': '\\', - '\\rangle': '27E9', - '\\langle': '27E8', - '\\rbrace': '}', - '\\lbrace': '{', - '\\}': '}', - '\\{': '{', - '\\rceil': '2309', - '\\lceil': '2308', - '\\rfloor': '230B', - '\\lfloor': '230A', - '\\lbrack': '[', - '\\rbrack': ']' - }, - - macros: { - displaystyle: ['SetStyle','D',true,0], - textstyle: ['SetStyle','T',false,0], - scriptstyle: ['SetStyle','S',false,1], - scriptscriptstyle: ['SetStyle','SS',false,2], - - rm: ['SetFont',MML.VARIANT.NORMAL], - mit: ['SetFont',MML.VARIANT.ITALIC], - oldstyle: ['SetFont',MML.VARIANT.OLDSTYLE], - cal: ['SetFont',MML.VARIANT.CALIGRAPHIC], - it: ['SetFont',"-tex-mathit"], // needs special handling - bf: ['SetFont',MML.VARIANT.BOLD], - bbFont: ['SetFont',MML.VARIANT.DOUBLESTRUCK], - scr: ['SetFont',MML.VARIANT.SCRIPT], - frak: ['SetFont',MML.VARIANT.FRAKTUR], - sf: ['SetFont',MML.VARIANT.SANSSERIF], - tt: ['SetFont',MML.VARIANT.MONOSPACE], - -// font: - - tiny: ['SetSize',0.5], - Tiny: ['SetSize',0.6], // non-standard - scriptsize: ['SetSize',0.7], - small: ['SetSize',0.85], - normalsize: ['SetSize',1.0], - large: ['SetSize',1.2], - Large: ['SetSize',1.44], - LARGE: ['SetSize',1.73], - huge: ['SetSize',2.07], - Huge: ['SetSize',2.49], - - arcsin: ['NamedFn'], - arccos: ['NamedFn'], - arctan: ['NamedFn'], - arg: ['NamedFn'], - cos: ['NamedFn'], - cosh: ['NamedFn'], - cot: ['NamedFn'], - coth: ['NamedFn'], - csc: ['NamedFn'], - deg: ['NamedFn'], - det: 'NamedOp', - dim: ['NamedFn'], - exp: ['NamedFn'], - gcd: 'NamedOp', - hom: ['NamedFn'], - inf: 'NamedOp', - ker: ['NamedFn'], - lg: ['NamedFn'], - lim: 'NamedOp', - liminf: ['NamedOp','lim inf'], - limsup: ['NamedOp','lim sup'], - ln: ['NamedFn'], - log: ['NamedFn'], - max: 'NamedOp', - min: 'NamedOp', - Pr: 'NamedOp', - sec: ['NamedFn'], - sin: ['NamedFn'], - sinh: ['NamedFn'], - sup: 'NamedOp', - tan: ['NamedFn'], - tanh: ['NamedFn'], - - limits: ['Limits',1], - nolimits: ['Limits',0], - - overline: ['UnderOver','00AF',null,1], - underline: ['UnderOver','005F'], - overbrace: ['UnderOver','23DE',1], - underbrace: ['UnderOver','23DF',1], - overparen: ['UnderOver','23DC'], - underparen: ['UnderOver','23DD'], - overrightarrow: ['UnderOver','2192'], - underrightarrow: ['UnderOver','2192'], - overleftarrow: ['UnderOver','2190'], - underleftarrow: ['UnderOver','2190'], - overleftrightarrow: ['UnderOver','2194'], - underleftrightarrow: ['UnderOver','2194'], - - overset: 'Overset', - underset: 'Underset', - stackrel: ['Macro','\\mathrel{\\mathop{#2}\\limits^{#1}}',2], - - over: 'Over', - overwithdelims: 'Over', - atop: 'Over', - atopwithdelims: 'Over', - above: 'Over', - abovewithdelims: 'Over', - brace: ['Over','{','}'], - brack: ['Over','[',']'], - choose: ['Over','(',')'], - - frac: 'Frac', - sqrt: 'Sqrt', - root: 'Root', - uproot: ['MoveRoot','upRoot'], - leftroot: ['MoveRoot','leftRoot'], - - left: 'LeftRight', - right: 'LeftRight', - middle: 'Middle', - - llap: 'Lap', - rlap: 'Lap', - raise: 'RaiseLower', - lower: 'RaiseLower', - moveleft: 'MoveLeftRight', - moveright: 'MoveLeftRight', - - ',': ['Spacer',MML.LENGTH.THINMATHSPACE], - ':': ['Spacer',MML.LENGTH.MEDIUMMATHSPACE], // for LaTeX - '>': ['Spacer',MML.LENGTH.MEDIUMMATHSPACE], - ';': ['Spacer',MML.LENGTH.THICKMATHSPACE], - '!': ['Spacer',MML.LENGTH.NEGATIVETHINMATHSPACE], - enspace: ['Spacer',".5em"], - quad: ['Spacer',"1em"], - qquad: ['Spacer',"2em"], - thinspace: ['Spacer',MML.LENGTH.THINMATHSPACE], - negthinspace: ['Spacer',MML.LENGTH.NEGATIVETHINMATHSPACE], - - hskip: 'Hskip', - hspace: 'Hskip', - kern: 'Hskip', - mskip: 'Hskip', - mspace: 'Hskip', - mkern: 'Hskip', - rule: 'rule', - Rule: ['Rule'], - Space: ['Rule','blank'], - - big: ['MakeBig',MML.TEXCLASS.ORD,0.85], - Big: ['MakeBig',MML.TEXCLASS.ORD,1.15], - bigg: ['MakeBig',MML.TEXCLASS.ORD,1.45], - Bigg: ['MakeBig',MML.TEXCLASS.ORD,1.75], - bigl: ['MakeBig',MML.TEXCLASS.OPEN,0.85], - Bigl: ['MakeBig',MML.TEXCLASS.OPEN,1.15], - biggl: ['MakeBig',MML.TEXCLASS.OPEN,1.45], - Biggl: ['MakeBig',MML.TEXCLASS.OPEN,1.75], - bigr: ['MakeBig',MML.TEXCLASS.CLOSE,0.85], - Bigr: ['MakeBig',MML.TEXCLASS.CLOSE,1.15], - biggr: ['MakeBig',MML.TEXCLASS.CLOSE,1.45], - Biggr: ['MakeBig',MML.TEXCLASS.CLOSE,1.75], - bigm: ['MakeBig',MML.TEXCLASS.REL,0.85], - Bigm: ['MakeBig',MML.TEXCLASS.REL,1.15], - biggm: ['MakeBig',MML.TEXCLASS.REL,1.45], - Biggm: ['MakeBig',MML.TEXCLASS.REL,1.75], - - mathord: ['TeXAtom',MML.TEXCLASS.ORD], - mathop: ['TeXAtom',MML.TEXCLASS.OP], - mathopen: ['TeXAtom',MML.TEXCLASS.OPEN], - mathclose: ['TeXAtom',MML.TEXCLASS.CLOSE], - mathbin: ['TeXAtom',MML.TEXCLASS.BIN], - mathrel: ['TeXAtom',MML.TEXCLASS.REL], - mathpunct: ['TeXAtom',MML.TEXCLASS.PUNCT], - mathinner: ['TeXAtom',MML.TEXCLASS.INNER], - - vcenter: ['TeXAtom',MML.TEXCLASS.VCENTER], - - mathchoice: ['Extension','mathchoice'], - buildrel: 'BuildRel', - - hbox: ['HBox',0], - text: 'HBox', - mbox: ['HBox',0], - fbox: 'FBox', - - strut: 'Strut', - mathstrut: ['Macro','\\vphantom{(}'], - phantom: 'Phantom', - vphantom: ['Phantom',1,0], - hphantom: ['Phantom',0,1], - smash: 'Smash', - - acute: ['Accent', "00B4"], // or 0301 or 02CA - grave: ['Accent', "0060"], // or 0300 or 02CB - ddot: ['Accent', "00A8"], // or 0308 - tilde: ['Accent', "007E"], // or 0303 or 02DC - bar: ['Accent', "00AF"], // or 0304 or 02C9 - breve: ['Accent', "02D8"], // or 0306 - check: ['Accent', "02C7"], // or 030C - hat: ['Accent', "005E"], // or 0302 or 02C6 - vec: ['Accent', "2192"], // or 20D7 - dot: ['Accent', "02D9"], // or 0307 - widetilde: ['Accent', "007E",1], // or 0303 or 02DC - widehat: ['Accent', "005E",1], // or 0302 or 02C6 - - matrix: 'Matrix', - array: 'Matrix', - pmatrix: ['Matrix','(',')'], - cases: ['Matrix','{','',"left left",null,".1em",null,true], - eqalign: ['Matrix',null,null,"right left",MML.LENGTH.THICKMATHSPACE,".5em",'D'], - displaylines: ['Matrix',null,null,"center",null,".5em",'D'], - cr: 'Cr', - '\\': 'CrLaTeX', - newline: 'Cr', - hline: ['HLine','solid'], - hdashline: ['HLine','dashed'], -// noalign: 'HandleNoAlign', - eqalignno: ['Matrix',null,null,"right left",MML.LENGTH.THICKMATHSPACE,".5em",'D',null,"right"], - leqalignno: ['Matrix',null,null,"right left",MML.LENGTH.THICKMATHSPACE,".5em",'D',null,"left"], - hfill: 'HFill', - hfil: 'HFill', // \hfil treated as \hfill for now - hfilll: 'HFill', // \hfilll treated as \hfill for now - - // TeX substitution macros - bmod: ['Macro','\\mmlToken{mo}[lspace="thickmathspace" rspace="thickmathspace"]{mod}'], - pmod: ['Macro','\\pod{\\mmlToken{mi}{mod}\\kern 6mu #1}',1], - mod: ['Macro','\\mathchoice{\\kern18mu}{\\kern12mu}{\\kern12mu}{\\kern12mu}\\mmlToken{mi}{mod}\\,\\,#1',1], - pod: ['Macro','\\mathchoice{\\kern18mu}{\\kern8mu}{\\kern8mu}{\\kern8mu}(#1)',1], - iff: ['Macro','\\;\\Longleftrightarrow\\;'], - skew: ['Macro','{{#2{#3\\mkern#1mu}\\mkern-#1mu}{}}',3], - mathcal: ['Macro','{\\cal #1}',1], - mathscr: ['Macro','{\\scr #1}',1], - mathrm: ['Macro','{\\rm #1}',1], - mathbf: ['Macro','{\\bf #1}',1], - mathbb: ['Macro','{\\bbFont #1}',1], - Bbb: ['Macro','{\\bbFont #1}',1], - mathit: ['Macro','{\\it #1}',1], - mathfrak: ['Macro','{\\frak #1}',1], - mathsf: ['Macro','{\\sf #1}',1], - mathtt: ['Macro','{\\tt #1}',1], - textrm: ['Macro','\\mathord{\\rm\\text{#1}}',1], - textit: ['Macro','\\mathord{\\it\\text{#1}}',1], - textbf: ['Macro','\\mathord{\\bf\\text{#1}}',1], - textsf: ['Macro','\\mathord{\\sf\\text{#1}}',1], - texttt: ['Macro','\\mathord{\\tt\\text{#1}}',1], - pmb: ['Macro','\\rlap{#1}\\kern1px{#1}',1], - TeX: ['Macro','T\\kern-.14em\\lower.5ex{E}\\kern-.115em X'], - LaTeX: ['Macro','L\\kern-.325em\\raise.21em{\\scriptstyle{A}}\\kern-.17em\\TeX'], - ' ': ['Macro','\\text{ }'], - - // Specially handled - not: 'Not', - dots: 'Dots', - space: 'Tilde', - '\u00A0': 'Tilde', - - - // LaTeX - begin: 'BeginEnd', - end: 'BeginEnd', - - newcommand: ['Extension','newcommand'], - renewcommand: ['Extension','newcommand'], - newenvironment: ['Extension','newcommand'], - renewenvironment: ['Extension','newcommand'], - def: ['Extension','newcommand'], - 'let': ['Extension','newcommand'], - - verb: ['Extension','verb'], - - boldsymbol: ['Extension','boldsymbol'], - - tag: ['Extension','AMSmath'], - notag: ['Extension','AMSmath'], - label: ['Extension','AMSmath'], - ref: ['Extension','AMSmath'], - eqref: ['Extension','AMSmath'], - nonumber: ['Macro','\\notag'], - - // Extensions to TeX - unicode: ['Extension','unicode'], - color: 'Color', - - href: ['Extension','HTML'], - 'class': ['Extension','HTML'], - style: ['Extension','HTML'], - cssId: ['Extension','HTML'], - bbox: ['Extension','bbox'], - - mmlToken: 'MmlToken', - - require: 'Require' - - }, - - environment: { - array: ['AlignedArray'], - matrix: ['Array',null,null,null,'c'], - pmatrix: ['Array',null,'(',')','c'], - bmatrix: ['Array',null,'[',']','c'], - Bmatrix: ['Array',null,'\\{','\\}','c'], - vmatrix: ['Array',null,'\\vert','\\vert','c'], - Vmatrix: ['Array',null,'\\Vert','\\Vert','c'], - cases: ['Array',null,'\\{','.','ll',null,".2em",'T'], - - equation: [null,'Equation'], - 'equation*': [null,'Equation'], - - eqnarray: ['ExtensionEnv',null,'AMSmath'], - 'eqnarray*': ['ExtensionEnv',null,'AMSmath'], - - align: ['ExtensionEnv',null,'AMSmath'], - 'align*': ['ExtensionEnv',null,'AMSmath'], - aligned: ['ExtensionEnv',null,'AMSmath'], - multline: ['ExtensionEnv',null,'AMSmath'], - 'multline*': ['ExtensionEnv',null,'AMSmath'], - split: ['ExtensionEnv',null,'AMSmath'], - gather: ['ExtensionEnv',null,'AMSmath'], - 'gather*': ['ExtensionEnv',null,'AMSmath'], - gathered: ['ExtensionEnv',null,'AMSmath'], - alignat: ['ExtensionEnv',null,'AMSmath'], - 'alignat*': ['ExtensionEnv',null,'AMSmath'], - alignedat: ['ExtensionEnv',null,'AMSmath'] - }, - - p_height: 1.2 / .85 // cmex10 height plus depth over .85 - - }); - - // - // Add macros defined in the configuration - // - if (this.config.Macros) { - var MACROS = this.config.Macros; - for (var id in MACROS) {if (MACROS.hasOwnProperty(id)) { - if (typeof(MACROS[id]) === "string") {TEXDEF.macros[id] = ['Macro',MACROS[id]]} - else {TEXDEF.macros[id] = ["Macro"].concat(MACROS[id])} - TEXDEF.macros[id].isUser = true; - }} - } - }; - - /************************************************************************/ - /* - * The TeX Parser - */ - - var PARSE = MathJax.Object.Subclass({ - Init: function (string,env) { - this.string = string; this.i = 0; this.macroCount = 0; - var ENV; if (env) {ENV = {}; for (var id in env) {if (env.hasOwnProperty(id)) {ENV[id] = env[id]}}} - this.stack = TEX.Stack(ENV,!!env); - this.Parse(); this.Push(STACKITEM.stop()); - }, - Parse: function () { - var c, n; - while (this.i < this.string.length) { - c = this.string.charAt(this.i++); n = c.charCodeAt(0); - if (n >= 0xD800 && n < 0xDC00) {c += this.string.charAt(this.i++)} - if (TEXDEF.special.hasOwnProperty(c)) {this[TEXDEF.special[c]](c)} - else if (TEXDEF.letter.test(c)) {this.Variable(c)} - else if (TEXDEF.digit.test(c)) {this.Number(c)} - else {this.Other(c)} - } - }, - Push: function () {this.stack.Push.apply(this.stack,arguments)}, - mml: function () { - if (this.stack.Top().type !== "mml") {return null} - return this.stack.Top().data[0]; - }, - mmlToken: function (token) {return token}, // used by boldsymbol extension - - /************************************************************************/ - /* - * Handle various token classes - */ - - /* - * Lookup a control-sequence and process it - */ - ControlSequence: function (c) { - var name = this.GetCS(), macro = this.csFindMacro(name); - if (macro) { - if (!isArray(macro)) {macro = [macro]} - var fn = macro[0]; if (!(fn instanceof Function)) {fn = this[fn]} - fn.apply(this,[c+name].concat(macro.slice(1))); - } else if (TEXDEF.mathchar0mi.hasOwnProperty(name)) {this.csMathchar0mi(name,TEXDEF.mathchar0mi[name])} - else if (TEXDEF.mathchar0mo.hasOwnProperty(name)) {this.csMathchar0mo(name,TEXDEF.mathchar0mo[name])} - else if (TEXDEF.mathchar7.hasOwnProperty(name)) {this.csMathchar7(name,TEXDEF.mathchar7[name])} - else if (TEXDEF.delimiter.hasOwnProperty("\\"+name)) {this.csDelimiter(name,TEXDEF.delimiter["\\"+name])} - else {this.csUndefined(c+name)} - }, - // - // Look up a macro in the macros list - // (overridden in begingroup extension) - // - csFindMacro: function (name) { - return (TEXDEF.macros.hasOwnProperty(name) ? TEXDEF.macros[name] : null); - }, - // - // Handle normal mathchar (as an mi) - // - csMathchar0mi: function (name,mchar) { - var def = {mathvariant: MML.VARIANT.ITALIC}; - if (isArray(mchar)) {def = mchar[1]; mchar = mchar[0]} - this.Push(this.mmlToken(MML.mi(MML.entity("#x"+mchar)).With(def))); - }, - // - // Handle normal mathchar (as an mo) - // - csMathchar0mo: function (name,mchar) { - var def = {stretchy: false}; - if (isArray(mchar)) {def = mchar[1]; def.stretchy = false; mchar = mchar[0]} - this.Push(this.mmlToken(MML.mo(MML.entity("#x"+mchar)).With(def))); - }, - // - // Handle mathchar in current family - // - csMathchar7: function (name,mchar) { - var def = {mathvariant: MML.VARIANT.NORMAL}; - if (isArray(mchar)) {def = mchar[1]; mchar = mchar[0]} - if (this.stack.env.font) {def.mathvariant = this.stack.env.font} - this.Push(this.mmlToken(MML.mi(MML.entity("#x"+mchar)).With(def))); - }, - // - // Handle delimiter - // - csDelimiter: function (name,delim) { - var def = {}; - if (isArray(delim)) {def = delim[1]; delim = delim[0]} - if (delim.length === 4) {delim = MML.entity('#x'+delim)} else {delim = MML.chars(delim)} - this.Push(this.mmlToken(MML.mo(delim).With({fence: false, stretchy: false}).With(def))); - }, - // - // Handle undefined control sequence - // (overridden in noUndefined extension) - // - csUndefined: function (name) { - TEX.Error(["UndefinedControlSequence","Undefined control sequence %1",name]); - }, - - /* - * Handle a variable (a single letter) - */ - Variable: function (c) { - var def = {}; if (this.stack.env.font) {def.mathvariant = this.stack.env.font} - this.Push(this.mmlToken(MML.mi(MML.chars(c)).With(def))); - }, - - /* - * Determine the extent of a number (pattern may need work) - */ - Number: function (c) { - var mml, n = this.string.slice(this.i-1).match(TEXDEF.number); - if (n) {mml = MML.mn(n[0].replace(/[{}]/g,"")); this.i += n[0].length - 1} - else {mml = MML.mo(MML.chars(c))} - if (this.stack.env.font) {mml.mathvariant = this.stack.env.font} - this.Push(this.mmlToken(mml)); - }, - - /* - * Handle { and } - */ - Open: function (c) {this.Push(STACKITEM.open())}, - Close: function (c) {this.Push(STACKITEM.close())}, - - /* - * Handle tilde and spaces - */ - Tilde: function (c) {this.Push(MML.mtext(MML.chars(NBSP)))}, - Space: function (c) {}, - - /* - * Handle ^, _, and ' - */ - Superscript: function (c) { - if (this.GetNext().match(/\d/)) // don't treat numbers as a unit - {this.string = this.string.substr(0,this.i+1)+" "+this.string.substr(this.i+1)} - var primes, base, top = this.stack.Top(); - if (top.type === "prime") {base = top.data[0]; primes = top.data[1]; this.stack.Pop()} - else {base = this.stack.Prev(); if (!base) {base = MML.mi("")}} - if (base.isEmbellishedWrapper) {base = base.data[0].data[0]} - var movesupsub = base.movesupsub, position = base.sup; - if ((base.type === "msubsup" && base.data[base.sup]) || - (base.type === "munderover" && base.data[base.over] && !base.subsupOK)) - {TEX.Error(["DoubleExponent","Double exponent: use braces to clarify"])} - if (base.type !== "msubsup") { - if (movesupsub) { - if (base.type !== "munderover" || base.data[base.over]) { - if (base.movablelimits && base.isa(MML.mi)) {base = this.mi2mo(base)} - base = MML.munderover(base,null,null).With({movesupsub:true}) - } - position = base.over; - } else { - base = MML.msubsup(base,null,null); - position = base.sup; - } - } - this.Push(STACKITEM.subsup(base).With({ - position: position, primes: primes, movesupsub: movesupsub - })); - }, - Subscript: function (c) { - if (this.GetNext().match(/\d/)) // don't treat numbers as a unit - {this.string = this.string.substr(0,this.i+1)+" "+this.string.substr(this.i+1)} - var primes, base, top = this.stack.Top(); - if (top.type === "prime") {base = top.data[0]; primes = top.data[1]; this.stack.Pop()} - else {base = this.stack.Prev(); if (!base) {base = MML.mi("")}} - if (base.isEmbellishedWrapper) {base = base.data[0].data[0]} - var movesupsub = base.movesupsub, position = base.sub; - if ((base.type === "msubsup" && base.data[base.sub]) || - (base.type === "munderover" && base.data[base.under] && !base.subsupOK)) - {TEX.Error(["DoubleSubscripts","Double subscripts: use braces to clarify"])} - if (base.type !== "msubsup") { - if (movesupsub) { - if (base.type !== "munderover" || base.data[base.under]) { - if (base.movablelimits && base.isa(MML.mi)) {base = this.mi2mo(base)} - base = MML.munderover(base,null,null).With({movesupsub:true}) - } - position = base.under; - } else { - base = MML.msubsup(base,null,null); - position = base.sub; - } - } - this.Push(STACKITEM.subsup(base).With({ - position: position, primes: primes, movesupsub: movesupsub - })); - }, - PRIME: "\u2032", SMARTQUOTE: "\u2019", - Prime: function (c) { - var base = this.stack.Prev(); if (!base) {base = MML.mi()} - if (base.type === "msubsup" && base.data[base.sup]) { - TEX.Error(["DoubleExponentPrime", - "Prime causes double exponent: use braces to clarify"]); - } - var sup = ""; this.i--; - do {sup += this.PRIME; this.i++, c = this.GetNext()} - while (c === "'" || c === this.SMARTQUOTE); - sup = ["","\u2032","\u2033","\u2034","\u2057"][sup.length] || sup; - this.Push(STACKITEM.prime(base,this.mmlToken(MML.mo(sup)))); - }, - mi2mo: function (mi) { - var mo = MML.mo(); mo.Append.apply(mo,mi.data); var id; - for (id in mo.defaults) - {if (mo.defaults.hasOwnProperty(id) && mi[id] != null) {mo[id] = mi[id]}} - for (id in MML.copyAttributes) - {if (MML.copyAttributes.hasOwnProperty(id) && mi[id] != null) {mo[id] = mi[id]}} - mo.lspace = mo.rspace = "0"; // prevent mo from having space in NativeMML - mo.useMMLspacing &= ~(mo.SPACE_ATTR.lspace | mo.SPACE_ATTR.rspace); // don't count these explicit settings - return mo; - }, - - /* - * Handle comments - */ - Comment: function (c) { - while (this.i < this.string.length && this.string.charAt(this.i) != "\n") {this.i++} - }, - - /* - * Handle hash marks outside of definitions - */ - Hash: function (c) { - TEX.Error(["CantUseHash1", - "You can't use 'macro parameter character #' in math mode"]); - }, - - /* - * Handle other characters (as elements) - */ - Other: function (c) { - var def, mo; - if (this.stack.env.font) {def = {mathvariant: this.stack.env.font}} - if (TEXDEF.remap.hasOwnProperty(c)) { - c = TEXDEF.remap[c]; - if (isArray(c)) {def = c[1]; c = c[0]} - mo = MML.mo(MML.entity('#x'+c)).With(def); - } else { - mo = MML.mo(c).With(def); - } - if (mo.autoDefault("stretchy",true)) {mo.stretchy = false} - if (mo.autoDefault("texClass",true) == "") {mo = MML.TeXAtom(mo)} - this.Push(this.mmlToken(mo)); - }, - - /************************************************************************/ - /* - * Macros - */ - - SetFont: function (name,font) {this.stack.env.font = font}, - SetStyle: function (name,texStyle,style,level) { - this.stack.env.style = texStyle; this.stack.env.level = level; - this.Push(STACKITEM.style().With({styles: {displaystyle: style, scriptlevel: level}})); - }, - SetSize: function (name,size) { - this.stack.env.size = size; - this.Push(STACKITEM.style().With({styles: {mathsize: size+"em"}})); // convert to absolute? - }, - - Color: function (name) { - var color = this.GetArgument(name); - var old = this.stack.env.color; this.stack.env.color = color; - var math = this.ParseArg(name); - if (old) {this.stack.env.color} else {delete this.stack.env.color} - this.Push(MML.mstyle(math).With({mathcolor: color})); - }, - - Spacer: function (name,space) { - this.Push(MML.mspace().With({width: space, mathsize: MML.SIZE.NORMAL, scriptlevel:0})); - }, - - LeftRight: function (name) { - this.Push(STACKITEM[name.substr(1)]().With({delim: this.GetDelimiter(name)})); - }, - - Middle: function (name) { - var delim = this.GetDelimiter(name); - this.Push(MML.TeXAtom().With({texClass:MML.TEXCLASS.CLOSE})); - if (this.stack.Top().type !== "left") - {TEX.Error(["MisplacedMiddle","%1 must be within \\left and \\right",name])} - this.Push(MML.mo(delim).With({stretchy:true})); - this.Push(MML.TeXAtom().With({texClass:MML.TEXCLASS.OPEN})); - }, - - NamedFn: function (name,id) { - if (!id) {id = name.substr(1)}; - var mml = MML.mi(id).With({texClass: MML.TEXCLASS.OP}); - this.Push(STACKITEM.fn(this.mmlToken(mml))); - }, - NamedOp: function (name,id) { - if (!id) {id = name.substr(1)}; - id = id.replace(/ /,"\u2006"); - var mml = MML.mo(id).With({ - movablelimits: true, - movesupsub: true, - form: MML.FORM.PREFIX, - texClass: MML.TEXCLASS.OP - }); - this.Push(this.mmlToken(mml)); - }, - Limits: function (name,limits) { - var op = this.stack.Prev("nopop"); - if (!op || (op.Get("texClass") !== MML.TEXCLASS.OP && op.movesupsub == null)) - {TEX.Error(["MisplacedLimits","%1 is allowed only on operators",name])} - var top = this.stack.Top(); - if (op.type === "munderover" && !limits) { - op = top.data[top.data.length-1] = MML.msubsup.apply(MML.subsup,op.data); - } else if (op.type === "msubsup" && limits) { - op = top.data[top.data.length-1] = MML.munderover.apply(MML.underover,op.data); - } - op.movesupsub = (limits ? true : false); - op.Core().movablelimits = false; - if (op.movablelimits) op.movablelimits = false; - }, - - Over: function (name,open,close) { - var mml = STACKITEM.over().With({name: name}); - if (open || close) { - mml.open = open; mml.close = close; - } else if (name.match(/withdelims$/)) { - mml.open = this.GetDelimiter(name); - mml.close = this.GetDelimiter(name); - } - if (name.match(/^\\above/)) {mml.thickness = this.GetDimen(name)} - else if (name.match(/^\\atop/) || open || close) {mml.thickness = 0} - this.Push(mml); - }, - - Frac: function (name) { - var num = this.ParseArg(name); - var den = this.ParseArg(name); - this.Push(MML.mfrac(num,den)); - }, - - Sqrt: function (name) { - var n = this.GetBrackets(name), arg = this.GetArgument(name); - if (arg === "\\frac") {arg += "{"+this.GetArgument(arg)+"}{"+this.GetArgument(arg)+"}"} - var mml = TEX.Parse(arg,this.stack.env).mml(); - if (!n) {mml = MML.msqrt.apply(MML,mml.array())} - else {mml = MML.mroot(mml,this.parseRoot(n))} - this.Push(mml); - }, - Root: function (name) { - var n = this.GetUpTo(name,"\\of"); - var arg = this.ParseArg(name); - this.Push(MML.mroot(arg,this.parseRoot(n))); - }, - parseRoot: function (n) { - var env = this.stack.env, inRoot = env.inRoot; env.inRoot = true; - var parser = TEX.Parse(n,env); n = parser.mml(); var global = parser.stack.global; - if (global.leftRoot || global.upRoot) { - n = MML.mpadded(n); - if (global.leftRoot) {n.width = global.leftRoot} - if (global.upRoot) {n.voffset = global.upRoot; n.height = global.upRoot} - } - env.inRoot = inRoot; - return n; - }, - MoveRoot: function (name,id) { - if (!this.stack.env.inRoot) - {TEX.Error(["MisplacedMoveRoot","%1 can appear only within a root",name])} - if (this.stack.global[id]) - {TEX.Error(["MultipleMoveRoot","Multiple use of %1",name])} - var n = this.GetArgument(name); - if (!n.match(/-?[0-9]+/)) - {TEX.Error(["IntegerArg","The argument to %1 must be an integer",name])} - n = (n/15)+"em"; - if (n.substr(0,1) !== "-") {n = "+"+n} - this.stack.global[id] = n; - }, - - Accent: function (name,accent,stretchy) { - var c = this.ParseArg(name); - var def = {accent: true}; if (this.stack.env.font) {def.mathvariant = this.stack.env.font} - var mml = this.mmlToken(MML.mo(MML.entity("#x"+accent)).With(def)); - mml.stretchy = (stretchy ? true : false); - var mo = (c.isEmbellished() ? c.CoreMO() : c); - if (mo.isa(MML.mo)) mo.movablelimits = false; - this.Push(MML.TeXAtom(MML.munderover(c,null,mml).With({accent: true}))); - }, - - UnderOver: function (name,c,stack,noaccent) { - var pos = {o: "over", u: "under"}[name.charAt(1)]; - var base = this.ParseArg(name); - if (base.Get("movablelimits")) {base.movablelimits = false} - if (base.isa(MML.munderover) && base.isEmbellished()) { - base.Core().With({lspace:0,rspace:0}); // get spacing right for NativeMML - base = MML.mrow(MML.mo().With({rspace:0}),base); // add an empty so it's not embellished any more - } - var mml = MML.munderover(base,null,null); - mml.SetData( - mml[pos], - this.mmlToken(MML.mo(MML.entity("#x"+c)).With({stretchy:true, accent:!noaccent})) - ); - if (stack) {mml = MML.TeXAtom(mml).With({texClass:MML.TEXCLASS.OP, movesupsub:true})} - this.Push(mml.With({subsupOK:true})); - }, - - Overset: function (name) { - var top = this.ParseArg(name), base = this.ParseArg(name); - base.movablelimits = false; - this.Push(MML.mover(base,top)); - }, - Underset: function (name) { - var bot = this.ParseArg(name), base = this.ParseArg(name); - base.movablelimits = false; - this.Push(MML.munder(base,bot)); - }, - - TeXAtom: function (name,mclass) { - var def = {texClass: mclass}, mml; - if (mclass == MML.TEXCLASS.OP) { - def.movesupsub = def.movablelimits = true; - var arg = this.GetArgument(name); - var match = arg.match(/^\s*\\rm\s+([a-zA-Z0-9 ]+)$/); - if (match) { - def.mathvariant = MML.VARIANT.NORMAL; - mml = STACKITEM.fn(this.mmlToken(MML.mi(match[1]).With(def))); - } else { - mml = STACKITEM.fn(MML.TeXAtom(TEX.Parse(arg,this.stack.env).mml()).With(def)); - } - } else {mml = MML.TeXAtom(this.ParseArg(name)).With(def)} - this.Push(mml); - }, - - MmlToken: function (name) { - var type = this.GetArgument(name), - attr = this.GetBrackets(name,"").replace(/^\s+/,""), - data = this.GetArgument(name), - def = {attrNames:[]}, match; - if (!MML[type] || !MML[type].prototype.isToken) - {TEX.Error(["NotMathMLToken","%1 is not a token element",type])} - while (attr !== "") { - match = attr.match(/^([a-z]+)\s*=\s*('[^']*'|"[^"]*"|[^ ,]*)\s*,?\s*/i); - if (!match) - {TEX.Error(["InvalidMathMLAttr","Invalid MathML attribute: %1",attr])} - if (MML[type].prototype.defaults[match[1]] == null && !this.MmlTokenAllow[match[1]]) { - TEX.Error(["UnknownAttrForElement", - "%1 is not a recognized attribute for %2", - match[1],type]); - } - var value = this.MmlFilterAttribute(match[1],match[2].replace(/^(['"])(.*)\1$/,"$2")); - if (value) { - if (value.toLowerCase() === "true") {value = true} - else if (value.toLowerCase() === "false") {value = false} - def[match[1]] = value; - def.attrNames.push(match[1]); - } - attr = attr.substr(match[0].length); - } - this.Push(this.mmlToken(MML[type](data).With(def))); - }, - MmlFilterAttribute: function (name,value) {return value}, - MmlTokenAllow: { - fontfamily:1, fontsize:1, fontweight:1, fontstyle:1, - color:1, background:1, - id:1, "class":1, href:1, style:1 - }, - - Strut: function (name) { - this.Push(MML.mpadded(MML.mrow()).With({height: "8.6pt", depth: "3pt", width: 0})); - }, - - Phantom: function (name,v,h) { - var box = MML.mphantom(this.ParseArg(name)); - if (v || h) { - box = MML.mpadded(box); - if (h) {box.height = box.depth = 0} - if (v) {box.width = 0} - } - this.Push(MML.TeXAtom(box)); - }, - - Smash: function (name) { - var bt = this.trimSpaces(this.GetBrackets(name,"")); - var smash = MML.mpadded(this.ParseArg(name)); - switch (bt) { - case "b": smash.depth = 0; break; - case "t": smash.height = 0; break; - default: smash.height = smash.depth = 0; - } - this.Push(MML.TeXAtom(smash)); - }, - - Lap: function (name) { - var mml = MML.mpadded(this.ParseArg(name)).With({width: 0}); - if (name === "\\llap") {mml.lspace = "-1width"} - this.Push(MML.TeXAtom(mml)); - }, - - RaiseLower: function (name) { - var h = this.GetDimen(name); - var item = STACKITEM.position().With({name: name, move: 'vertical'}); - if (h.charAt(0) === '-') {h = h.slice(1); name = {raise: "\\lower", lower: "\\raise"}[name.substr(1)]} - if (name === "\\lower") {item.dh = '-'+h; item.dd = '+'+h} else {item.dh = '+'+h; item.dd = '-'+h} - this.Push(item); - }, - - MoveLeftRight: function (name) { - var h = this.GetDimen(name); - var nh = (h.charAt(0) === '-' ? h.slice(1) : '-'+h); - if (name === "\\moveleft") {var tmp = h; h = nh; nh = tmp} - this.Push(STACKITEM.position().With({ - name: name, move: 'horizontal', - left: MML.mspace().With({width: h, mathsize: MML.SIZE.NORMAL}), - right: MML.mspace().With({width: nh, mathsize: MML.SIZE.NORMAL}) - })); - }, - - Hskip: function (name) { - this.Push(MML.mspace().With({width: this.GetDimen(name), mathsize: MML.SIZE.NORMAL})); - }, - - Rule: function (name,style) { - var w = this.GetDimen(name), - h = this.GetDimen(name), - d = this.GetDimen(name); - var def = {width:w, height:h, depth:d}; - if (style !== 'blank') { - def.mathbackground = (this.stack.env.color || "black"); - } - this.Push(MML.mspace().With(def)); - }, - rule: function (name) { - var v = this.GetBrackets(name), - w = this.GetDimen(name), - h = this.GetDimen(name); - var mml = MML.mspace().With({ - width: w, height:h, - mathbackground: (this.stack.env.color || "black") - }); - if (v) { - mml = MML.mpadded(mml).With({voffset: v}); - if (v.match(/^\-/)) { - mml.height = v; - mml.depth = '+' + v.substr(1); - } else { - mml.height = '+' + v; - } - } - this.Push(mml); - }, - - MakeBig: function (name,mclass,size) { - size *= TEXDEF.p_height; - size = String(size).replace(/(\.\d\d\d).+/,'$1')+"em"; - var delim = this.GetDelimiter(name,true); - this.Push(MML.mstyle(MML.TeXAtom(MML.mo(delim).With({ - minsize: size, maxsize: size, - fence: true, stretchy: true, symmetric: true - })).With({texClass: mclass})).With({scriptlevel: 0})); - }, - - BuildRel: function (name) { - var top = this.ParseUpTo(name,"\\over"); - var bot = this.ParseArg(name); - this.Push(MML.TeXAtom(MML.munderover(bot,null,top)).With({texClass: MML.TEXCLASS.REL})); - }, - - HBox: function (name,style) { - this.Push.apply(this,this.InternalMath(this.GetArgument(name),style)); - }, - - FBox: function (name) { - this.Push(MML.menclose.apply(MML,this.InternalMath(this.GetArgument(name))).With({notation:"box"})); - }, - - Not: function (name) { - this.Push(STACKITEM.not()); - }, - - Dots: function (name) { - this.Push(STACKITEM.dots().With({ - ldots: this.mmlToken(MML.mo(MML.entity("#x2026")).With({stretchy:false})), - cdots: this.mmlToken(MML.mo(MML.entity("#x22EF")).With({stretchy:false})) - })); - }, - - Require: function (name) { - var file = this.GetArgument(name) - .replace(/.*\//,"") // remove any leading path - .replace(/[^a-z0-9_.-]/ig,""); // remove illegal characters - this.Extension(null,file); - }, - - Extension: function (name,file,array) { - if (name && !typeof(name) === "string") {name = name.name} - file = TEX.extensionDir+"/"+file; - if (!file.match(/\.js$/)) {file += ".js"} - if (!AJAX.loaded[AJAX.fileURL(file)]) { - if (name != null) {delete TEXDEF[array || 'macros'][name.replace(/^\\/,"")]} - HUB.RestartAfter(AJAX.Require(file)); - } - }, - - Macro: function (name,macro,argcount,def) { - if (argcount) { - var args = []; - if (def != null) { - var optional = this.GetBrackets(name); - args.push(optional == null ? def : optional); - } - for (var i = args.length; i < argcount; i++) {args.push(this.GetArgument(name))} - macro = this.SubstituteArgs(args,macro); - } - this.string = this.AddArgs(macro,this.string.slice(this.i)); - this.i = 0; - if (++this.macroCount > TEX.config.MAXMACROS) { - TEX.Error(["MaxMacroSub1", - "MathJax maximum macro substitution count exceeded; " + - "is there a recursive macro call?"]); - } - }, - - Matrix: function (name,open,close,align,spacing,vspacing,style,cases,numbered) { - var c = this.GetNext(); - if (c === "") - {TEX.Error(["MissingArgFor","Missing argument for %1",name])} - if (c === "{") {this.i++} else {this.string = c+"}"+this.string.slice(this.i+1); this.i = 0} - var array = STACKITEM.array().With({ - requireClose: true, - arraydef: { - rowspacing: (vspacing||"4pt"), - columnspacing: (spacing||"1em") - } - }); - if (cases) {array.isCases = true} - if (numbered) {array.isNumbered = true; array.arraydef.side = numbered} - if (open || close) {array.open = open; array.close = close} - if (style === "D") {array.arraydef.displaystyle = true} - if (align != null) {array.arraydef.columnalign = align} - this.Push(array); - }, - - Entry: function (name) { - this.Push(STACKITEM.cell().With({isEntry: true, name: name})); - if (this.stack.Top().isCases) { - // - // Make second column be in \text{...} (unless it is already - // in a \text{...}, for backward compatibility). - // - var string = this.string; - var braces = 0, close = -1, i = this.i, m = string.length; - // - // Look through the string character by character... - // - while (i < m) { - var c = string.charAt(i); - if (c === "{") { - // - // Increase the nested brace count and go on - // - braces++; - i++; - } else if (c === "}") { - // - // If there are too many close braces, just end (we will get an - // error message later when the rest of the string is parsed) - // Otherwise - // decrease the nested brace count, - // if it is now zero and we haven't already marked the end of the - // first brace group, record the position (use to check for \text{} later) - // go on to the next character. - // - if (braces === 0) { - m = 0; - } else { - braces--; - if (braces === 0 && close < 0) { - close = i - this.i; - } - i++; - } - } else if (c === "&" && braces === 0) { - // - // Extra alignment tabs are not allowed in cases - // - TEX.Error(["ExtraAlignTab","Extra alignment tab in \\cases text"]); - } else if (c === "\\") { - // - // If the macro is \cr or \\, end the search, otherwise skip the macro - // (multi-letter names don't matter, as we will skip the rest of the - // characters in the main loop) - // - if (string.substr(i).match(/^((\\cr)[^a-zA-Z]|\\\\)/)) {m = 0} else {i += 2} - } else { - // - // Go on to the next character - // - i++; - } - } - // - // Check if the second column text is already in \text{}, - // If not, process the second column as text and continue parsing from there, - // (otherwise process the second column as normal, since it is in \text{} - // - var text = string.substr(this.i,i-this.i); - if (!text.match(/^\s*\\text[^a-zA-Z]/) || close !== text.replace(/\s+$/,'').length - 1) { - this.Push.apply(this,this.InternalMath(text,0)); - this.i = i; - } - } - }, - - Cr: function (name) { - this.Push(STACKITEM.cell().With({isCR: true, name: name})); - }, - - CrLaTeX: function (name) { - var n; - if (this.string.charAt(this.i) === "[") { - n = this.GetBrackets(name,"").replace(/ /g,"").replace(/,/,"."); - if (n && !this.matchDimen(n)) { - TEX.Error(["BracketMustBeDimension", - "Bracket argument to %1 must be a dimension",name]); - } - } - this.Push(STACKITEM.cell().With({isCR: true, name: name, linebreak: true})); - var top = this.stack.Top(); - if (top.isa(STACKITEM.array)) { - if (n && top.arraydef.rowspacing) { - var rows = top.arraydef.rowspacing.split(/ /); - if (!top.rowspacing) {top.rowspacing = this.dimen2em(rows[0])} - while (rows.length < top.table.length) {rows.push(this.Em(top.rowspacing))} - rows[top.table.length-1] = this.Em(Math.max(0,top.rowspacing+this.dimen2em(n))); - top.arraydef.rowspacing = rows.join(' '); - } - } else { - if (n) {this.Push(MML.mspace().With({depth:n}))} - this.Push(MML.mspace().With({linebreak:MML.LINEBREAK.NEWLINE})); - } - }, - emPerInch: 7.2, - pxPerInch: 72, - matchDimen: function (dim) { - return dim.match(/^(-?(?:\.\d+|\d+(?:\.\d*)?))(px|pt|em|ex|mu|pc|in|mm|cm)$/); - }, - dimen2em: function (dim) { - var match = this.matchDimen(dim); - var m = parseFloat(match[1]||"1"), unit = match[2]; - if (unit === "em") {return m} - if (unit === "ex") {return m * .43} - if (unit === "pt") {return m / 10} // 10 pt to an em - if (unit === "pc") {return m * 1.2} // 12 pt to a pc - if (unit === "px") {return m * this.emPerInch / this.pxPerInch} - if (unit === "in") {return m * this.emPerInch} - if (unit === "cm") {return m * this.emPerInch / 2.54} // 2.54 cm to an inch - if (unit === "mm") {return m * this.emPerInch / 25.4} // 10 mm to a cm - if (unit === "mu") {return m / 18} - return 0; - }, - Em: function (m) { - if (Math.abs(m) < .0006) {return "0em"} - return m.toFixed(3).replace(/\.?0+$/,"") + "em"; - }, - - HLine: function (name,style) { - if (style == null) {style = "solid"} - var top = this.stack.Top(); - if (!top.isa(STACKITEM.array) || top.data.length) - {TEX.Error(["Misplaced","Misplaced %1",name])} - if (top.table.length == 0) { - top.frame.push("top"); - } else { - var lines = (top.arraydef.rowlines ? top.arraydef.rowlines.split(/ /) : []); - while (lines.length < top.table.length) {lines.push("none")} - lines[top.table.length-1] = style; - top.arraydef.rowlines = lines.join(' '); - } - }, - - HFill: function (name) { - var top = this.stack.Top(); - if (top.isa(STACKITEM.array)) top.hfill.push(top.data.length); - else TEX.Error(["UnsupportedHFill","Unsupported use of %1",name]); - }, - - - - /************************************************************************/ - /* - * LaTeX environments - */ - - BeginEnd: function (name) { - var env = this.GetArgument(name), isEnd = false; - if (env.match(/^\\end\\/)) {isEnd = true; env = env.substr(5)} // special \end{} for \newenvironment environments - if (env.match(/\\/i)) {TEX.Error(["InvalidEnv","Invalid environment name '%1'",env])} - var cmd = this.envFindName(env); - if (!cmd) {TEX.Error(["UnknownEnv","Unknown environment '%1'",env])} - if (!isArray(cmd)) {cmd = [cmd]} - var end = (isArray(cmd[1]) ? cmd[1][0] : cmd[1]); - var mml = STACKITEM.begin().With({name: env, end: end, parse:this}); - if (name === "\\end") { - if (!isEnd && isArray(cmd[1]) && this[cmd[1][1]]) { - mml = this[cmd[1][1]].apply(this,[mml].concat(cmd.slice(2))); - } else { - mml = STACKITEM.end().With({name: env}); - } - } else { - if (++this.macroCount > TEX.config.MAXMACROS) { - TEX.Error(["MaxMacroSub2", - "MathJax maximum substitution count exceeded; " + - "is there a recursive latex environment?"]); - } - if (cmd[0] && this[cmd[0]]) {mml = this[cmd[0]].apply(this,[mml].concat(cmd.slice(2)))} - } - this.Push(mml); - }, - envFindName: function (name) { - return (TEXDEF.environment.hasOwnProperty(name) ? TEXDEF.environment[name] : null); - }, - - Equation: function (begin,row) {return row}, - - ExtensionEnv: function (begin,file) {this.Extension(begin.name,file,"environment")}, - - Array: function (begin,open,close,align,spacing,vspacing,style,raggedHeight) { - if (!align) {align = this.GetArgument("\\begin{"+begin.name+"}")} - var lines = ("c"+align).replace(/[^clr|:]/g,'').replace(/[^|:]([|:])+/g,'$1'); - align = align.replace(/[^clr]/g,'').split('').join(' '); - align = align.replace(/l/g,'left').replace(/r/g,'right').replace(/c/g,'center'); - var array = STACKITEM.array().With({ - arraydef: { - columnalign: align, - columnspacing: (spacing||"1em"), - rowspacing: (vspacing||"4pt") - } - }); - if (lines.match(/[|:]/)) { - if (lines.charAt(0).match(/[|:]/)) {array.frame.push("left"); array.frame.dashed = lines.charAt(0) === ":"} - if (lines.charAt(lines.length-1).match(/[|:]/)) {array.frame.push("right")} - lines = lines.substr(1,lines.length-2); - array.arraydef.columnlines = - lines.split('').join(' ').replace(/[^|: ]/g,'none').replace(/\|/g,'solid').replace(/:/g,'dashed'); - } - if (open) {array.open = this.convertDelimiter(open)} - if (close) {array.close = this.convertDelimiter(close)} - if (style === "D") {array.arraydef.displaystyle = true} - else if (style) {array.arraydef.displaystyle = false} - if (style === "S") {array.arraydef.scriptlevel = 1} // FIXME: should use mstyle? - if (raggedHeight) {array.arraydef.useHeight = false} - this.Push(begin); - return array; - }, - - AlignedArray: function (begin) { - var align = this.GetBrackets("\\begin{"+begin.name+"}"); - return this.setArrayAlign(this.Array.apply(this,arguments),align); - }, - setArrayAlign: function (array,align) { - align = this.trimSpaces(align||""); - if (align === "t") {array.arraydef.align = "baseline 1"} - else if (align === "b") {array.arraydef.align = "baseline -1"} - else if (align === "c") {array.arraydef.align = "center"} - else if (align) {array.arraydef.align = align} // FIXME: should be an error? - return array; - }, - - /************************************************************************/ - /* - * String handling routines - */ - - /* - * Convert delimiter to character - */ - convertDelimiter: function (c) { - if (c) {c = (TEXDEF.delimiter.hasOwnProperty(c) ? TEXDEF.delimiter[c] : null)} - if (c == null) {return null} - if (isArray(c)) {c = c[0]} - if (c.length === 4) {c = String.fromCharCode(parseInt(c,16))} - return c; - }, - - /* - * Trim spaces from a string - */ - trimSpaces: function (text) { - if (typeof(text) != 'string') {return text} - var TEXT = text.replace(/^\s+|\s+$/g,''); - if (TEXT.match(/\\$/) && text.match(/ $/)) TEXT += " "; - return TEXT; - }, - - /* - * Check if the next character is a space - */ - nextIsSpace: function () { - return this.string.charAt(this.i).match(/\s/); - }, - - /* - * Get the next non-space character - */ - GetNext: function () { - while (this.nextIsSpace()) {this.i++} - return this.string.charAt(this.i); - }, - - /* - * Get and return a control-sequence name - */ - GetCS: function () { - var CS = this.string.slice(this.i).match(/^([a-z]+|.) ?/i); - if (CS) {this.i += CS[1].length; return CS[1]} else {this.i++; return " "} - }, - - /* - * Get and return a TeX argument (either a single character or control sequence, - * or the contents of the next set of braces). - */ - GetArgument: function (name,noneOK) { - switch (this.GetNext()) { - case "": - if (!noneOK) {TEX.Error(["MissingArgFor","Missing argument for %1",name])} - return null; - case '}': - if (!noneOK) { - TEX.Error(["ExtraCloseMissingOpen", - "Extra close brace or missing open brace"]); - } - return null; - case '\\': - this.i++; return "\\"+this.GetCS(); - case '{': - var j = ++this.i, parens = 1; - while (this.i < this.string.length) { - switch (this.string.charAt(this.i++)) { - case '\\': this.i++; break; - case '{': parens++; break; - case '}': - if (--parens == 0) {return this.string.slice(j,this.i-1)} - break; - } - } - TEX.Error(["MissingCloseBrace","Missing close brace"]); - break; - } - return this.string.charAt(this.i++); - }, - - /* - * Get an optional LaTeX argument in brackets - */ - GetBrackets: function (name,def) { - if (this.GetNext() != '[') {return def}; - var j = ++this.i, parens = 0; - while (this.i < this.string.length) { - switch (this.string.charAt(this.i++)) { - case '{': parens++; break; - case '\\': this.i++; break; - case '}': - if (parens-- <= 0) { - TEX.Error(["ExtraCloseLooking", - "Extra close brace while looking for %1","']'"]); - } - break; - case ']': - if (parens == 0) {return this.string.slice(j,this.i-1)} - break; - } - } - TEX.Error(["MissingCloseBracket", - "Couldn't find closing ']' for argument to %1",name]); - }, - - /* - * Get the name of a delimiter (check it in the delimiter list). - */ - GetDelimiter: function (name,braceOK) { - while (this.nextIsSpace()) {this.i++} - var c = this.string.charAt(this.i); this.i++; - if (this.i <= this.string.length) { - if (c == "\\") { - c += this.GetCS(name); - } else if (c === "{" && braceOK) { - this.i--; - c = this.GetArgument(name).replace(/^\s+/,'').replace(/\s+$/,''); - } - if (TEXDEF.delimiter.hasOwnProperty(c)) {return this.convertDelimiter(c)} - } - TEX.Error(["MissingOrUnrecognizedDelim", - "Missing or unrecognized delimiter for %1",name]); - }, - - /* - * Get a dimension (including its units). - */ - GetDimen: function (name) { - var dimen; - if (this.nextIsSpace()) {this.i++} - if (this.string.charAt(this.i) == '{') { - dimen = this.GetArgument(name); - if (dimen.match(/^\s*([-+]?([.,]\d+|\d+([.,]\d*)?))\s*(pt|em|ex|mu|px|mm|cm|in|pc)\s*$/)) - {return dimen.replace(/ /g,"").replace(/,/,".")} - } else { - dimen = this.string.slice(this.i); - var match = dimen.match(/^\s*(([-+]?([.,]\d+|\d+([.,]\d*)?))\s*(pt|em|ex|mu|px|mm|cm|in|pc)) ?/); - if (match) { - this.i += match[0].length; - return match[1].replace(/ /g,"").replace(/,/,"."); - } - } - TEX.Error(["MissingDimOrUnits", - "Missing dimension or its units for %1",name]); - }, - - /* - * Get everything up to the given control sequence (token) - */ - GetUpTo: function (name,token) { - while (this.nextIsSpace()) {this.i++} - var j = this.i, k, c, parens = 0; - while (this.i < this.string.length) { - k = this.i; c = this.string.charAt(this.i++); - switch (c) { - case '\\': c += this.GetCS(); break; - case '{': parens++; break; - case '}': - if (parens == 0) { - TEX.Error(["ExtraCloseLooking", - "Extra close brace while looking for %1",token]) - } - parens--; - break; - } - if (parens == 0 && c == token) {return this.string.slice(j,k)} - } - TEX.Error(["TokenNotFoundForCommand", - "Couldn't find %1 for %2",token,name]); - }, - - /* - * Parse various substrings - */ - ParseArg: function (name) {return TEX.Parse(this.GetArgument(name),this.stack.env).mml()}, - ParseUpTo: function (name,token) {return TEX.Parse(this.GetUpTo(name,token),this.stack.env).mml()}, - - /* - * Break up a string into text and math blocks - */ - InternalMath: function (text,level) { - var def = (this.stack.env.font ? {mathvariant: this.stack.env.font} : {}); - var mml = [], i = 0, k = 0, c, match = '', braces = 0; - if (text.match(/\\?[${}\\]|\\\(|\\(eq)?ref\s*\{/)) { - while (i < text.length) { - c = text.charAt(i++); - if (c === '$') { - if (match === '$' && braces === 0) { - mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-1),{}).mml())); - match = ''; k = i; - } else if (match === '') { - if (k < i-1) mml.push(this.InternalText(text.slice(k,i-1),def)); - match = '$'; k = i; - } - } else if (c === '{' && match !== '') { - braces++; - } else if (c === '}') { - if (match === '}' && braces === 0) { - mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i),{}).mml().With(def))); - match = ''; k = i; - } else if (match !== '') { - if (braces) braces--; - } - } else if (c === '\\') { - if (match === '' && text.substr(i).match(/^(eq)?ref\s*\{/)) { - var len = RegExp["$&"].length; - if (k < i-1) mml.push(this.InternalText(text.slice(k,i-1),def)); - match = '}'; k = i-1; i += len; - } else { - c = text.charAt(i++); - if (c === '(' && match === '') { - if (k < i-2) mml.push(this.InternalText(text.slice(k,i-2),def)); - match = ')'; k = i; - } else if (c === ')' && match === ')' && braces === 0) { - mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-2),{}).mml())); - match = ''; k = i; - } else if (c.match(/[${}\\]/) && match === '') { - i--; text = text.substr(0,i-1) + text.substr(i); // remove \ from \$, \{, \}, or \\ - } - } - } - } - if (match !== '') TEX.Error(["MathNotTerminated","Math not terminated in text box"]); - } - if (k < text.length) mml.push(this.InternalText(text.slice(k),def)); - if (level != null) { - mml = [MML.mstyle.apply(MML,mml).With({displaystyle:false,scriptlevel:level})]; - } else if (mml.length > 1) { - mml = [MML.mrow.apply(MML,mml)]; - } - return mml; - }, - InternalText: function (text,def) { - text = text.replace(/^\s+/,NBSP).replace(/\s+$/,NBSP); - return MML.mtext(MML.chars(text)).With(def); - }, - - /* - * Routines to set the macro and environment definitions - * (overridden by begingroup to make localized versions) - */ - setDef: function (name,value) {value.isUser = true; TEXDEF.macros[name] = value}, - setEnv: function (name,value) {value.isUser = true; TEXDEF.environment[name] = value}, - - /* - * Replace macro parameters with their values - */ - SubstituteArgs: function (args,string) { - var text = ''; var newstring = ''; var c; var i = 0; - while (i < string.length) { - c = string.charAt(i++); - if (c === "\\") {text += c + string.charAt(i++)} - else if (c === '#') { - c = string.charAt(i++); - if (c === '#') {text += c} else { - if (!c.match(/[1-9]/) || c > args.length) { - TEX.Error(["IllegalMacroParam", - "Illegal macro parameter reference"]); - } - newstring = this.AddArgs(this.AddArgs(newstring,text),args[c-1]); - text = ''; - } - } else {text += c} - } - return this.AddArgs(newstring,text); - }, - - /* - * Make sure that macros are followed by a space if their names - * could accidentally be continued into the following text. - */ - AddArgs: function (s1,s2) { - if (s2.match(/^[a-z]/i) && s1.match(/(^|[^\\])(\\\\)*\\[a-z]+$/i)) {s1 += ' '} - if (s1.length + s2.length > TEX.config.MAXBUFFER) { - TEX.Error(["MaxBufferSize", - "MathJax internal buffer size exceeded; is there a recursive macro call?"]); - } - return s1+s2; - } - - }); - - /************************************************************************/ - - TEX.Augment({ - Stack: STACK, Parse: PARSE, Definitions: TEXDEF, Startup: STARTUP, - - config: { - MAXMACROS: 10000, // maximum number of macro substitutions per equation - MAXBUFFER: 5*1024 // maximum size of TeX string to process - }, - - sourceMenuTitle: /*_(MathMenu)*/ ["TeXCommands","TeX Commands"], - annotationEncoding: "application/x-tex", - - prefilterHooks: MathJax.Callback.Hooks(true), // hooks to run before processing TeX - postfilterHooks: MathJax.Callback.Hooks(true), // hooks to run after processing TeX - - // - // Check if AMSmath extension must be loaded and push - // it on the extensions array, if needed - // - Config: function () { - this.SUPER(arguments).Config.apply(this,arguments); - if (this.config.equationNumbers.autoNumber !== "none") { - if (!this.config.extensions) {this.config.extensions = []} - this.config.extensions.push("AMSmath.js"); - } - }, - - // - // Convert TeX to ElementJax - // - Translate: function (script) { - var mml, isError = false, math = MathJax.HTML.getScript(script); - var display = (script.type.replace(/\n/g," ").match(/(;|\s|\n)mode\s*=\s*display(;|\s|\n|$)/) != null); - var data = {math:math, display:display, script:script}; - var callback = this.prefilterHooks.Execute(data); if (callback) return callback; - math = data.math; - try { - mml = TEX.Parse(math).mml(); - } catch(err) { - if (!err.texError) {throw err} - mml = this.formatError(err,math,display,script); - isError = true; - } - if (mml.isa(MML.mtable) && mml.displaystyle === "inherit") mml.displaystyle = display; // for tagged equations - if (mml.inferred) {mml = MML.apply(MathJax.ElementJax,mml.data)} else {mml = MML(mml)} - if (display) {mml.root.display = "block"} - if (isError) {mml.texError = true} - data.math = mml; - return this.postfilterHooks.Execute(data) || data.math; - }, - prefilterMath: function (math,displaystyle,script) { - return math; - }, - postfilterMath: function (math,displaystyle,script) { - this.combineRelations(math.root); - return math; - }, - formatError: function (err,math,display,script) { - var message = err.message.replace(/\n.*/,""); - HUB.signal.Post(["TeX Jax - parse error",message,math,display,script]); - return MML.Error(message); - }, - - // - // Produce an error and stop processing this equation - // - Error: function (message) { - // - // Translate message if it is ["id","message",args] - // - if (isArray(message)) {message = _.apply(_,message)} - throw HUB.Insert(Error(message),{texError: true}); - }, - - // - // Add a user-defined macro to the macro list - // - Macro: function (name,def,argn) { - TEXDEF.macros[name] = ['Macro'].concat([].slice.call(arguments,1)); - TEXDEF.macros[name].isUser = true; - }, - - /* - * Create an mrow that has stretchy delimiters at either end, as needed - */ - fenced: function (open,mml,close) { - var mrow = MML.mrow().With({open:open, close:close, texClass:MML.TEXCLASS.INNER}); - mrow.Append( - MML.mo(open).With({fence:true, stretchy:true, symmetric:true, texClass:MML.TEXCLASS.OPEN}) - ); - if (mml.type === "mrow" && mml.inferred) { - mrow.Append.apply(mrow, mml.data); - } else { - mrow.Append(mml); - } - mrow.Append( - MML.mo(close).With({fence:true, stretchy:true, symmetric:true, texClass:MML.TEXCLASS.CLOSE}) - ); - return mrow; - }, - /* - * Create an mrow that has \mathchoice using \bigg and \big for the delimiters - */ - fixedFence: function (open,mml,close) { - var mrow = MML.mrow().With({open:open, close:close, texClass:MML.TEXCLASS.ORD}); - if (open) {mrow.Append(this.mathPalette(open,"l"))} - if (mml.type === "mrow") {mrow.Append.apply(mrow,mml.data)} else {mrow.Append(mml)} - if (close) {mrow.Append(this.mathPalette(close,"r"))} - return mrow; - }, - mathPalette: function (fence,side) { - if (fence === '{' || fence === '}') {fence = "\\"+fence} - var D = '{\\bigg'+side+' '+fence+'}', T = '{\\big'+side+' '+fence+'}'; - return TEX.Parse('\\mathchoice'+D+T+T+T,{}).mml(); - }, - - // - // Combine adjacent elements that are relations - // (since MathML treats the spacing very differently) - // - combineRelations: function (mml) { - var i, m, m1, m2; - for (i = 0, m = mml.data.length; i < m; i++) { - if (mml.data[i]) { - if (mml.isa(MML.mrow)) { - while (i+1 < m && (m1 = mml.data[i]) && (m2 = mml.data[i+1]) && - m1.isa(MML.mo) && m2.isa(MML.mo) && - m1.Get("texClass") === MML.TEXCLASS.REL && - m2.Get("texClass") === MML.TEXCLASS.REL) { - if (m1.variantForm == m2.variantForm && - m1.Get("mathvariant") == m2.Get("mathvariant") && m1.style == m2.style && - m1["class"] == m2["class"] && !m1.id && !m2.id) { - m1.Append.apply(m1,m2.data); - mml.data.splice(i+1,1); m--; - } else { - m1.rspace = m2.lspace = "0pt"; i++; - } - } - } - if (!mml.data[i].isToken) {this.combineRelations(mml.data[i])} - } - } - } - }); - - // - // Add the default filters - // - TEX.prefilterHooks.Add(function (data) { - data.math = TEX.prefilterMath(data.math,data.display,data.script); - }); - TEX.postfilterHooks.Add(function (data) { - data.math = TEX.postfilterMath(data.math,data.display,data.script); - }); - - TEX.loadComplete("jax.js"); - -})(MathJax.InputJax.TeX,MathJax.Hub,MathJax.Ajax); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/annotation-xml.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/annotation-xml.js deleted file mode 100644 index 0f87bc08..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/annotation-xml.js +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/CommonHTML/autoload/annotation-xm;l.js - * - * Implements the CommonHTML output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - CHTML = MathJax.OutputJax.CommonHTML; - - MML["annotation-xml"].Augment({ - toCommonHTML: function (node) { - var encoding = this.Get("encoding"); - node = this.CHTMLdefaultNode(node,{childOptions:{encoding:encoding}}); - if (this.CHTML.rscale !== 1) this.CHTML.rescale(1/this.CHTML.rscale); - return node; - } - }); - - MML.xml.Augment({ - toCommonHTML: function (node,options) { - var bbox = this.CHTML = CHTML.BBOX.zero(); - for (var i = 0, m = this.data.length; i < m; i++) - {node.appendChild(this.data[i].cloneNode(true))} - // - // Warning: causes reflow - // - var w = node.offsetWidth, h = node.offsetHeight; - var strut = CHTML.addElement(node,"mjx-hd-test",{style:{height:h+"px"}}); - bbox.d = bbox.b = (node.offsetHeight - h)/CHTML.em; - bbox.w = bbox.r = w/CHTML.em; bbox.h = bbox.t = h/CHTML.em - bbox.d; - node.removeChild(strut); - } - }); - - MathJax.Hub.Startup.signal.Post("CommonHTML annotation-xml Ready"); - MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/annotation-xml.js"); -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/maction.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/maction.js deleted file mode 100644 index 857293e2..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/maction.js +++ /dev/null @@ -1,178 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/CommonHTML/autoload/maction.js - * - * Implements the CommonHTML output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - CHTML = MathJax.OutputJax.CommonHTML; - - var currentTip, hover, clear; - - // - // Add configuration for tooltips - // - var CONFIG = CHTML.config.tooltip = MathJax.Hub.Insert({ - delayPost: 600, delayClear: 600, - offsetX: 10, offsetY: 5 - },CHTML.config.tooltip||{}); - - - MML.maction.Augment({ - CHTMLtooltip: CHTML.addElement(document.body,"div",{id:"MathJax_CHTML_Tooltip"}), - - toCommonHTML: function (node) { - var selected = this.Get("selection"); - node = this.CHTMLcreateNode(node); - this.CHTML = CHTML.BBOX.empty(); - this.CHTMLhandleStyle(node); - this.CHTMLhandleScale(node); - this.CHTMLaddChild(node,selected-1,{}); - this.CHTML.clean(); - this.CHTMLhandleSpace(node); - this.CHTMLhandleBBox(node); - this.CHTMLhandleColor(node); - - var type = this.Get("actiontype"); - if (this.CHTMLaction[type] && this.CHTMLaction.hasOwnProperty(type)) - this.CHTMLaction[type].call(this,node,selected); - - return node; - }, - CHTMLcoreNode: function (node) {return this.CHTMLchildNode(node,0)}, - - // - // Implementations for the various actions - // - CHTMLaction: { - toggle: function (node,selection) { - this.selection = selection; - node.onclick = MathJax.Callback(["CHTMLclick",this,CHTML.jax]); - node.style.cursor = "pointer"; - }, - - statusline: function (node,selection) { - node.onmouseover = MathJax.Callback(["CHTMLsetStatus",this]); - node.onmouseout = MathJax.Callback(["CHTMLclearStatus",this]); - node.onmouseover.autoReset = node.onmouseout.autoReset = true; - }, - - tooltip: function(node,selection) { - if (this.data[1] && this.data[1].isToken) { - node.title = node.alt = this.data[1].data.join(""); - } else { - node.onmouseover = MathJax.Callback(["CHTMLtooltipOver",this,CHTML.jax]); - node.onmouseout = MathJax.Callback(["CHTMLtooltipOut",this,CHTML.jax]); - node.onmouseover.autoReset = node.onmouseout.autoReset = true; - } - } - }, - - // - // Handle a click on the maction element - // (remove the original rendering and rerender) - // - CHTMLclick: function (jax,event) { - this.selection++; - if (this.selection > this.data.length) this.selection = 1; - var hover = !!jax.hover; - jax.Update(); - if (hover) { - var span = document.getElementById(jax.inputID+"-Span"); - MathJax.Extension.MathEvents.Hover.Hover(jax,span); - } - return MathJax.Extension.MathEvents.Event.False(event); - }, - - // - // Set/Clear the window status message - // - CHTMLsetStatus: function (event) { - // FIXME: Do something better with non-token elements - this.messageID = MathJax.Message.Set - ((this.data[1] && this.data[1].isToken) ? - this.data[1].data.join("") : this.data[1].toString()); - }, - CHTMLclearStatus: function (event) { - if (this.messageID) MathJax.Message.Clear(this.messageID,0); - delete this.messageID; - }, - - // - // Handle tooltips - // - CHTMLtooltipOver: function (jax,event) { - if (!event) event = window.event; - if (clear) {clearTimeout(clear); clear = null} - if (hover) clearTimeout(hover); - var x = event.pageX; var y = event.pageY; - if (x == null) { - x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; - y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; - } - var callback = MathJax.Callback(["CHTMLtooltipPost",this,jax,x+CONFIG.offsetX,y+CONFIG.offsetY]) - hover = setTimeout(callback,CONFIG.delayPost); - }, - CHTMLtooltipOut: function (jax,event) { - if (hover) {clearTimeout(hover); hover = null} - if (clear) clearTimeout(clear); - var callback = MathJax.Callback(["CHTMLtooltipClear",this,80]); - clear = setTimeout(callback,CONFIG.delayClear); - }, - CHTMLtooltipPost: function (jax,x,y) { - hover = null; if (clear) {clearTimeout(clear); clear = null} - var tip = this.CHTMLtooltip; - tip.style.display = "block"; tip.style.opacity = ""; -// tip.style.filter = CHTML.config.styles["#MathJax_CHTML_Tooltip"].filter; - if (this === currentTip) return; - tip.style.left = x+"px"; tip.style.top = y+"px"; - tip.innerHTML = ''; - CHTML.getMetrics(jax); - try {this.data[1].toCommonHTML(tip.firstChild.firstChild)} catch(err) { - if (!err.restart) throw err; - tip.style.display = "none"; - MathJax.Callback.After(["CHTMLtooltipPost",this,jax,x,y],err.restart); - return; - } - currentTip = this; - }, - CHTMLtooltipClear: function (n) { - var tip = this.CHTMLtooltip; - if (n <= 0) { - tip.style.display = "none"; - tip.style.opacity = tip.style.filter = ""; - clear = null; - } else { - tip.style.opacity = n/100; - tip.style.filter = "alpha(opacity="+n+")"; - clear = setTimeout(MathJax.Callback(["CHTMLtooltipClear",this,n-20]),50); - } - } - }); - - MathJax.Hub.Startup.signal.Post("CommonHTML maction Ready"); - MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/maction.js"); -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/menclose.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/menclose.js deleted file mode 100644 index b2bbeb45..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/menclose.js +++ /dev/null @@ -1,317 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/CommonHTML/autoload/menclose.js - * - * Implements the CommonHTML output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - CHTML = MathJax.OutputJax.CommonHTML; - - var SVGNS = "http://www.w3.org/2000/svg"; - var ARROWX = 4, ARROWDX = 1, ARROWY = 2; - - MML.menclose.Augment({ - toCommonHTML: function (node) { - var values = this.getValues("notation","thickness","padding"); - if (values.thickness == null) values.thickness = ".075em"; - if (values.padding == null) values.padding = ".2em"; - // - // Get DOM nodes - // - node = this.CHTMLdefaultNode(node,{childNodes:"mjx-box", forceChild:true}); - var child = node.firstChild, cbox = this.CHTMLbboxFor(0); - // - // Get the padding and rule thickness - // - var p = this.CHTMLlength2em(values.padding,1/CHTML.em); // padding for enclosure - var t = this.CHTMLlength2em(values.thickness,1/CHTML.em); // thickness of lines - t = Math.max(1,Math.round(t*CHTML.em))/CHTML.em; - var SOLID = CHTML.Px(t)+" solid"; - var bb = {L:p, R:p, T:p, B:p, H:cbox.h+p, D:cbox.d+p, W:cbox.w+2*p}; - child.style.padding = CHTML.Em(p); - // - // Eliminate duplicate notations. - // - var notations = MathJax.Hub.SplitList(values.notation), notation = {}; - for (var i = 0, m = notations.length; i < m; i++) notation[notations[i]] = true; - if (notation[MML.NOTATION.UPDIAGONALARROW]) delete notation[MML.NOTATION.UPDIAGONALSTRIKE]; - // - // Add the needed notations - // - for (var n in notation) { - if (notation.hasOwnProperty(n)) { - if (this.CHTMLnotation[n] && this.CHTMLnotation.hasOwnProperty(n)) - this.CHTMLnotation[n].call(this,child,cbox,bb,p,t,SOLID); - } - } - // - // Adjust the bounding box - // - var BBOX = this.CHTML; - BBOX.w += bb.L + bb.R; BBOX.r += BBOX.L; if (BBOX.w > BBOX.r) BBOX.r = BBOX.w; - BBOX.h += bb.T; if (BBOX.h > BBOX.t) BBOX.t = BBOX.h; - BBOX.d += bb.B; if (BBOX.d > BBOX.b) BBOX.b = BBOX.d; - - return node; - }, - // - // The various notations and their implementations - // - CHTMLnotation: { - - /********************************************************/ - - box: function (child,cbox,bb,p,t,SOLID) { - p -= t; - child.style.padding = CHTML.Em(p); - child.style.border = SOLID; - }, - - /********************************************************/ - - roundedbox: function (child,cbox,bb,p,t,SOLID) { - var r = Math.min(cbox.w,cbox.h+cbox.d+2*p)/4; - CHTML.addElement(child.parentNode,"mjx-box",{ - style: { - padding:CHTML.Em(p-t), border:SOLID, "border-radius":CHTML.Em(r), - height:CHTML.Em(cbox.h+cbox.d), "vertical-align":CHTML.Em(-bb.D), - width:CHTML.Em(cbox.w), "margin-left":CHTML.Em(-bb.W) - } - }); - }, - - /********************************************************/ - - circle: function (child,cbox,bb,p,t,SOLID) { - var H = bb.H, D = bb.D, W = bb.W; - var svg = this.CHTMLsvg(child,bb,t); - this.CHTMLsvgElement(svg.firstChild,"ellipse",{ - rx:CHTML.Px(W/2-t/2), ry:CHTML.Px((H+D)/2-t/2), - cx:CHTML.Px(W/2), cy:CHTML.Px((H+D)/2) - }); - }, - - /********************************************************/ - - left: function (child,cbox,bb,p,t,SOLID) { - child.style.borderLeft = SOLID; - child.style.paddingLeft = CHTML.Em(p-t); - }, - - /********************************************************/ - - right: function (child,cbox,bb,p,t,SOLID) { - child.style.borderRight = SOLID; - child.style.paddingRight = CHTML.Em(p-t); - }, - - /********************************************************/ - - top: function (child,cbox,bb,p,t,SOLID) { - child.style.borderTop = SOLID; - child.style.paddingTop = CHTML.Em(p-t); - }, - - /********************************************************/ - - bottom: function (child,cbox,bb,p,t,SOLID) { - child.style.borderBottom = SOLID; - child.style.paddingBottom = CHTML.Em(p-t); - }, - - /********************************************************/ - - actuarial: function (child,cbox,bb,p,t,SOLID) { - child.style.borderTop = child.style.borderRight = SOLID; - child.style.paddingTop = child.style.paddingRight = CHTML.Em(p-t); - }, - - /********************************************************/ - - madruwb: function (child,cbox,bb,p,t,SOLID) { - child.style.borderBottom = child.style.borderRight = SOLID; - child.style.paddingBottom = child.style.paddingRight = CHTML.Em(p-t); - }, - - /********************************************************/ - - verticalstrike: function (child,cbox,bb,p,t,SOLID) { - CHTML.addElement(child.parentNode,"mjx-box",{ - style: { - "border-left":SOLID, - height:CHTML.Em(bb.H+bb.D), "vertical-align":CHTML.Em(-bb.D), - width:CHTML.Em(cbox.w/2+p-t/2), "margin-left":CHTML.Em(-cbox.w/2-p-t/2) - } - }); - }, - - /********************************************************/ - - horizontalstrike: function (child,cbox,bb,p,t,SOLID) { - CHTML.addElement(child.parentNode,"mjx-box",{ - style: { - "border-top":SOLID, - height:CHTML.Em((bb.H+bb.D)/2-t/2), "vertical-align":CHTML.Em(-bb.D), - width:CHTML.Em(bb.W), "margin-left":CHTML.Em(-bb.W) - } - }); - }, - - /********************************************************/ - - updiagonalstrike: function (child,cbox,bb,p,t,SOLID) { - var H = bb.H, D = bb.D, W = bb.W; - var svg = this.CHTMLsvg(child,bb,t); - this.CHTMLsvgElement(svg.firstChild,"line",{ - x1:CHTML.Px(t/2), y1:CHTML.Px(H+D-t), x2:CHTML.Px(W-t), y2:CHTML.Px(t/2) - }); - }, - - /********************************************************/ - - downdiagonalstrike: function (child,cbox,bb,p,t,SOLID) { - var H = bb.H, D = bb.D, W = bb.W; - var svg = this.CHTMLsvg(child,bb,t); - this.CHTMLsvgElement(svg.firstChild,"line",{ - x1:CHTML.Px(t/2), y1:CHTML.Px(t/2), x2:CHTML.Px(W-t), y2:CHTML.Px(H+D-t) - }); - }, - - /********************************************************/ - - updiagonalarrow: function (child,cbox,bb,p,t,SOLID) { - var H = bb.H + bb.D - t, W = bb.W - t/2; - var a = Math.atan2(H,W)*(-180/Math.PI).toFixed(3); - var R = Math.sqrt(H*H + W*W); - var svg = this.CHTMLsvg(child,bb,t); - var g = this.CHTMLsvgElement(svg.firstChild,"g",{ - fill:"currentColor", - transform:"translate("+this.CHTMLpx(t/2)+" "+this.CHTMLpx(H+t/2)+") rotate("+a+")" - }); - var x = t * ARROWX, dx = t * ARROWDX, y = t * ARROWY; - this.CHTMLsvgElement(g,"line",{ - x1:CHTML.Px(t/2), y1:0, x2:CHTML.Px(R-x), y2:0 - }); - this.CHTMLsvgElement(g,"path",{ - d: "M "+this.CHTMLpx(R-x)+",0 " + - "L "+this.CHTMLpx(R-x-dx)+","+this.CHTMLpx(y) + - "L "+this.CHTMLpx(R)+",0 " + - "L "+this.CHTMLpx(R-x-dx)+","+this.CHTMLpx(-y), - stroke:"none" - }); - }, - - /********************************************************/ - - phasorangle: function (child,cbox,bb,p,t,SOLID) { - var P = p, H = bb.H, D = bb.D; - p = (H+D)/2; - var W = bb.W + p - P; bb.W = W; bb.L = p; - child.style.margin = "0 0 0 "+CHTML.Em(p-P); - var svg = this.CHTMLsvg(child,bb,t); - this.CHTMLsvgElement(svg.firstChild,"path",{ - d: "M "+this.CHTMLpx(p)+",1 " + - "L 1,"+this.CHTMLpx(H+D-t)+" L "+this.CHTMLpx(W)+","+this.CHTMLpx(H+D-t) - }); - }, - - /********************************************************/ - - longdiv: function (child,cbox,bb,p,t,SOLID) { - bb.W += 1.5*p; bb.L += 1.5*p; - var H = bb.H, D = bb.D, W = bb.W; - child.style.margin = "0 0 0 "+CHTML.Em(1.5*p); - var svg = this.CHTMLsvg(child,bb,t); - this.CHTMLsvgElement(svg.firstChild,"path",{ - d: "M "+this.CHTMLpx(W)+",1 L 1,1 "+ - "a"+this.CHTMLpx(p)+","+this.CHTMLpx((H+D)/2-t/2)+" 0 0,1 1,"+this.CHTMLpx(H+D-1.5*t) - }); - }, - - /********************************************************/ - - radical: function (child,cbox,bb,p,t,SOLID) { - bb.W += 1.5*p; bb.L += 1.5*p; - var H = bb.H, D = bb.D, W = bb.W; - child.style.margin = "0 0 0 "+CHTML.Em(1.5*p); - var svg = this.CHTMLsvg(child,bb,t); - this.CHTMLsvgElement(svg.firstChild,"path",{ - d: "M 1,"+this.CHTMLpx(.6*(H+D)) + - " L "+this.CHTMLpx(p)+","+this.CHTMLpx(H+D) + - " L "+this.CHTMLpx(2*p)+",1 L "+this.CHTMLpx(W)+",1" - }); - } - - /********************************************************/ - - }, - - // - // Pixels with no "px" - // - CHTMLpx: function (m) { - m *= CHTML.em; - if (Math.abs(m) < .1) return "0"; - return m.toFixed(1).replace(/\.0$/,""); - }, - - // - // Create the SVG element and position it over the - // contents - // - CHTMLsvg: function (node,bbox,t) { - if (!svg) { - var svg = document.createElementNS(SVGNS,"svg"); - if (svg.style) { - svg.style.width = CHTML.Em(bbox.W); - svg.style.height = CHTML.Em(bbox.H+bbox.D); - svg.style.verticalAlign = CHTML.Em(-bbox.D); - svg.style.marginLeft = CHTML.Em(-bbox.W); - } - this.CHTMLsvgElement(svg,"g",{"stroke-width":CHTML.Px(t)}); - node.parentNode.appendChild(svg); - } - return svg; - }, - // - // Add an SVG element to the given svg node - // - CHTMLsvgElement: function (svg,type,def) { - var obj = document.createElementNS(SVGNS,type); obj.isMathJax = true; - if (def) {for (var id in def) {if (def.hasOwnProperty(id)) {obj.setAttributeNS(null,id,def[id].toString())}}} - svg.appendChild(obj); - return obj; - } - }); - - // - // Just use default toCommonHTML for EI8 - // - if (!document.createElementNS) delete MML.menclose.prototype.toCommonHTML; - - MathJax.Hub.Startup.signal.Post("CommonHTML menclose Ready"); - MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/menclose.js"); -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mglyph.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mglyph.js deleted file mode 100644 index 2c0419b6..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mglyph.js +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/CommonHTML/autoload/mglyph.js - * - * Implements the CommonHTML output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - CHTML = MathJax.OutputJax.CommonHTML, - LOCALE = MathJax.Localization; - - MML.mglyph.Augment({ - toCommonHTML: function (node,options) { - var values = this.getValues("src","width","height","valign","alt"); - node = this.CHTMLcreateNode(node); - this.CHTMLhandleStyle(node); - this.CHTMLhandleScale(node); - if (values.src === "") { - var index = this.Get("index"); - this.CHTMLgetVariant(); - if (index && this.CHTMLvariant.style) - this.CHTMLhandleText(node,String.fromCharCode(index),this.CHTMLvariant); - } else { - var bbox = this.CHTML; - if (!bbox.img) bbox.img = MML.mglyph.GLYPH[values.src]; - if (!bbox.img) { - bbox.img = MML.mglyph.GLYPH[values.src] = {img: new Image(), status: "pending"}; - bbox.img.img.onload = MathJax.Callback(["CHTMLimgLoaded",this]); - bbox.img.img.onerror = MathJax.Callback(["CHTMLimgError",this]); - bbox.img.img.src = values.src; - MathJax.Hub.RestartAfter(bbox.img.img.onload); - } - if (bbox.img.status !== "OK") { - var err = MML.Error(LOCALE._(["MathML","BadMglyph"],"Bad mglyph: %1",values.src)); - err.data[0].data[0].mathsize = "75%"; - this.Append(err); err.toCommonHTML(node); this.data.pop(); - bbox.combine(err.CHTML,0,0,1); - } else { - var img = CHTML.addElement(node,"img",{ - isMathJax:true, src:values.src, alt:values.alt, title:values.alt - }); - var w = values.width, h = values.height; - var W = bbox.img.img.width/CHTML.em, H = bbox.img.img.height/CHTML.em; - var WW = W, HH = H; - if (w !== "") {W = this.CHTMLlength2em(w,WW); H = (WW ? W/WW * HH : 0)} - if (h !== "") {H = this.CHTMLlength2em(h,HH); if (w === "") W = (HH ? H/HH * WW : 0)} - img.style.width = CHTML.Em(W); bbox.w = bbox.r = W; - img.style.height = CHTML.Em(H); bbox.h = bbox.t = H; - if (values.valign) { - bbox.d = bbox.b = -this.CHTMLlength2em(values.valign,HH); - img.style.verticalAlign = CHTML.Em(-bbox.d); - bbox.h -= bbox.d; bbox.t = bbox.h; - } - } - } - this.CHTMLhandleSpace(node); - this.CHTMLhandleBBox(node); - this.CHTMLhandleColor(node); - return node; - }, - CHTMLimgLoaded: function (event,status) { - if (typeof(event) === "string") status = event; - this.CHTML.img.status = (status || "OK"); - }, - CHTMLimgError: function () {this.CHTML.img.img.onload("error")} - },{ - GLYPH: {} // global list of all loaded glyphs - }); - - MathJax.Hub.Startup.signal.Post("CommonHTML mglyph Ready"); - MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/mglyph.js"); -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mmultiscripts.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mmultiscripts.js deleted file mode 100644 index 054b31ce..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mmultiscripts.js +++ /dev/null @@ -1,296 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/CommonHTML/autoload/mmultiscripts.js - * - * Implements the CommonHTML output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - CHTML = MathJax.OutputJax.CommonHTML; - - MML.mmultiscripts.Augment({ - toCommonHTML: function (node,options) { - var stretch = (options||{}).stretch; - if (!stretch) { - node = this.CHTMLcreateNode(node); - this.CHTMLhandleStyle(node); - this.CHTMLgetVariant(); - this.CHTMLhandleScale(node); - } - CHTML.BBOX.empty(this.CHTML); - - // - // Get base node - // - var base, bbox; - if (stretch) { - base = CHTML.getNode(node,"mjx-base"); - } else { - this.CHTMLaddChild(node,0,{type:"mjx-base", noBBox:true, forceChild:true}); - base = node.firstChild; - } - bbox = this.CHTMLbboxFor(0); - if (bbox.ic) { - bbox.R -= bbox.ic; // remove IC (added by mo and mi) - if (!stretch) base.style.marginRight = CHTML.Em(-bbox.ic); - delta = 1.3*bbox.ic + .05; // make faked IC be closer to expeted results - } - - // - // Collect scripts into horizontal boxes and add them into the node - // - var BOX = {}, BBOX = {}; - this.CHTMLgetScripts(BOX,BBOX,stretch,node); - var sub = BOX.sub, sup = BOX.sup, presub = BOX.presub, presup = BOX.presup; - var sbox = BBOX.sub, Sbox = BBOX.sup, pbox = BBOX.presub, Pbox = BBOX.presup; - if (!stretch) this.CHTMLaddBoxes(node,base,BOX); - - // - // Get the initial values for the variables - // - var values = this.getValues("scriptlevel","scriptsizemultiplier"); - var sscale = (this.Get("scriptlevel") < 3 ? values.scriptsizemultiplier : 1); - var ex = CHTML.TEX.x_height, s = CHTML.TEX.scriptspace; - var q = CHTML.TEX.sup_drop * sscale, r = CHTML.TEX.sub_drop * sscale; - var u = bbox.h - q, v = bbox.d + r, delta = 0, p; - var bmml = this.data[this.base]; - if (bmml && (bmml.type === "mi" || bmml.type === "mo")) { - if (CHTML.isChar(bmml.data.join("")) && bbox.rscale === 1 && !bbox.sH && - !bmml.Get("largeop")) {u = v = 0} - } - values = this.getValues("displaystyle","subscriptshift","superscriptshift","texprimestyle"); - values.subscriptshift = (values.subscriptshift === "" ? 0 : this.CHTMLlength2em(values.subscriptshift)); - values.superscriptshift = (values.superscriptshift === "" ? 0 : this.CHTMLlength2em(values.superscriptshift)); - - var dx = (presub ? s+pbox.w : presup ? s+Pbox.w-delta : 0); - this.CHTML.combine(bbox,dx,0); var x = this.CHTML.w; - - // - // Place the scripts as needed - // - if (!sup && !presup) { - v = Math.max(v,CHTML.TEX.sub1,values.subscriptshift); - if (sub) v = Math.max(v,sbox.h-(4/5)*ex); - if (presub) v = Math.max(v,pbox.h-(4/5)*ex); - if (sub) this.CHTMLplaceSubOnly(sub,sbox,x,v,s); - if (presub) this.CHTMLplacePresubOnly(presub,pbox,v,s); - } else { - if (!sub && !presub) { - p = CHTML.TEX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; - u = Math.max(u,p,values.superscriptshift); - if (sup) u = Math.max(u,Sbox.d+(1/4)*ex); - if (presup) u = Math.max(u,Pbox.d+(1/4)*ex); - if (sup) this.CHTMLplaceSupOnly(sup,Sbox,x,delta,u,s); - if (presup) this.CHTMLplacePresupOnly(presup,Pbox,delta,u,s); - } else { - v = Math.max(v,CHTML.TEX.sub2); - var t = CHTML.TEX.rule_thickness; - var h = (sbox||pbox).h, d = (Sbox||Pbox).d; - if (presub) h = Math.max(h,pbox.h); - if (presup) d = Math.max(d,Pbox.d); - if ((u - d) - (h - v) < 3*t) { - v = 3*t - u + d + h; q = (4/5)*ex - (u - d); - if (q > 0) {u += q; v -= q} - } - u = Math.max(u,values.superscriptshift); - v = Math.max(v,values.subscriptshift); - if (sup) { - if (sub) {this.CHTMLplaceSubSup(sub,sbox,sup,Sbox,x,delta,u,v,s)} - else {this.CHTMLplaceSupOnly(sup,Sbox,x,delta,u,s)} - } else if (sub) {this.CHTMLplaceSubOnly(sub,sbox,x,v,s)} - if (presup) { - if (presub) {this.CHTMLplacePresubPresup(presub,pbox,presup,Pbox,delta,u,v,s)} - else {this.CHTMLplacePresupOnly(presup,Pbox,delta,u,s)} - } else if (presub) {this.CHTMLplacePresubOnly(presub,pbox,v,s)} - } - } - this.CHTML.clean(); - this.CHTMLhandleSpace(node); - this.CHTMLhandleBBox(node); - this.CHTMLhandleColor(node); - return node; - }, - // - // Get the subscript, superscript, presubscript, and presuperscript - // boxes, with proper spacing, and computer their bounding boxes. - // - CHTMLgetScripts: function (BOX,BBOX,stretch,node) { - if (stretch) { - BOX.sub = CHTML.getNode(node,"mjx-sub"); - BOX.sup = CHTML.getNode(node,"mjx-sup"); - BOX.presub = CHTML.getNode(node,"mjx-presub"); - BOX.presup = CHTML.getNode(node,"mjx-presup"); - BBOX.sub = this.CHTMLbbox.sub; - BBOX.sup = this.CHTMLbbox.sup; - BBOX.presub = this.CHTMLbbox.presub; - BBOX.presup = this.CHTMLbbox.presup; - return; - } - this.CHTMLbbox = BBOX; // save for when stretched - var state = {i:1, w:0, BOX:BOX, BBOX:BBOX}, m = this.data.length; - var sub = "sub", sup = "sup"; - while (state.i < m) { - if ((this.data[state.i]||{}).type === "mprescripts") { - state.i++; state.w = 0; - sub = "presub"; sup = "presup"; - } else { - var sbox = this.CHTMLaddScript(sub,state,node); - var Sbox = this.CHTMLaddScript(sup,state,node); - var w = Math.max((sbox ? sbox.rscale*sbox.w : 0),(Sbox ? Sbox.rscale*Sbox.w : 0)); - this.CHTMLpadScript(sub,w,sbox,state); - this.CHTMLpadScript(sup,w,Sbox,state); - state.w += w; - } - } - if (BBOX.sub) BBOX.sub.clean(); - if (BBOX.sup) BBOX.sup.clean(); - if (BBOX.presub) BBOX.presub.clean(); - if (BBOX.presup) BBOX.presup.clean(); - }, - // - // Add a script to the proper box, creating the box if needed, - // and padding the box to account for any elements. - // Return the bounding box for the script for later use. - // - CHTMLaddScript: function (type,state,node) { - var BOX, BBOX, data = this.data[state.i]; - if (data && data.type !== "none" && data.type !== "mprescripts") { - BOX = state.BOX[type]; - if (!BOX) { - // - // Add the box to the node temporarily so that it is in the DOM - // (so that CHTMLnodeElement() can be used in the toCommonHTML() below). - // See issue #1480. - // - BOX = state.BOX[type] = CHTML.addElement(node,"mjx-"+type); - BBOX = state.BBOX[type] = CHTML.BBOX.empty(); - if (state.w) { - BOX.style.paddingLeft = CHTML.Em(state.w); - BBOX.w = BBOX.r = state.w; BBOX.x = state.w; - } - } - data.toCommonHTML(BOX); - BBOX = data.CHTML; - } - if (data && data.type !== "mprescripts") state.i++; - return BBOX; - }, - // - // Add padding to the script box to make match the width of the - // super- or subscript that is above or below it, and adjust the - // bounding box for the script row. If these are pre-scripts, - // right-justify the scripts, otherwise, left-justify them. - // - CHTMLpadScript: function (type,w,bbox,state) { - if (!bbox) bbox = {w:0, fake:1, rscale:1}; - var BBOX = state.BBOX[type], dx = 0, dw = 0; - if (BBOX) { - if (bbox.rscale*bbox.w < w) { - var BOX = state.BOX[type]; dw = w-bbox.rscale*bbox.w; - var space = CHTML.Element("mjx-spacer",{style:{width:CHTML.Em(dw)}}); - if (type.substr(0,3) === "pre" && !bbox.fake) { - BOX.insertBefore(space,BOX.lastChild); - dx = dw; dw = 0; - } else { - BOX.appendChild(space); - } - } - if (bbox.fake) {BBOX.w += dx} else {BBOX.combine(bbox,BBOX.w+dx,0)} - BBOX.w += dw; - } - }, - // - // Add the boxes into the main node, creating stacks when needed - // - CHTMLaddBoxes: function (node,base,BOX) { - var sub = BOX.sub, sup = BOX.sup, presub = BOX.presub, presup = BOX.presup; - if (presub && presup) { - var prestack = CHTML.Element("mjx-prestack"); node.insertBefore(prestack,base); - prestack.appendChild(presup); prestack.appendChild(presub); - } else { - if (presub) node.insertBefore(presub,base); - if (presup) node.insertBefore(presup,base); - } - if (sub && sup) { - var stack = CHTML.addElement(node,"mjx-stack"); - stack.appendChild(sup); stack.appendChild(sub); - } else { - if (sub) node.appendChild(sub); - if (sup) node.appendChild(sup); - } - }, - // - // Handle positioning the various scripts - // - CHTMLplaceSubOnly: function (sub,sbox,x,v,s) { - sub.style.verticalAlign = CHTML.Em(-v); - sub.style.marginRight = CHTML.Em(s); sbox.w += s; - this.CHTML.combine(sbox,x,-v); - }, - CHTMLplaceSupOnly: function (sup,Sbox,x,delta,u,s) { - sup.style.verticalAlign = CHTML.Em(u); - sup.style.paddingLeft = CHTML.Em(delta); - sup.style.paddingRight = CHTML.Em(s); Sbox.w += s; - this.CHTML.combine(Sbox,x+delta,u); - }, - CHTMLplaceSubSup: function (sub,sbox,sup,Sbox,x,delta,u,v,s) { - sub.style.paddingRight = CHTML.Em(s); sbox.w += s; - sup.style.paddingBottom = CHTML.Em(u+v-Sbox.d-sbox.h); - sup.style.paddingLeft = CHTML.Em(delta+(Sbox.x||0)); - sup.style.paddingRight = CHTML.Em(s); Sbox.w += s; - sup.parentNode.style.verticalAlign = CHTML.Em(-v); - this.CHTML.combine(sbox,x,-v); - this.CHTML.combine(Sbox,x+delta,u); - }, - CHTMLplacePresubOnly: function (presub,pbox,v,s) { - presub.style.verticalAlign = CHTML.Em(-v); - presub.style.marginLeft = CHTML.Em(s); - this.CHTML.combine(pbox,s,-v); - }, - CHTMLplacePresupOnly: function (presup,Pbox,delta,u,s) { - presup.style.verticalAlign = CHTML.Em(u); - presup.style.paddingLeft = CHTML.Em(s); - presup.style.paddingRight = CHTML.Em(-delta); - this.CHTML.combine(Pbox,s,u); - }, - CHTMLplacePresubPresup: function (presub,pbox,presup,Pbox,delta,u,v,s) { - presub.style.paddingLeft = CHTML.Em(s); - presup.style.paddingBottom = CHTML.Em(u+v-Pbox.d-pbox.h); - presup.style.paddingLeft = CHTML.Em(delta+s+(Pbox.x||0)); - presup.style.paddingRight = CHTML.Em(-delta); - presup.parentNode.style.verticalAlign = CHTML.Em(-v); - this.CHTML.combine(pbox,s,-v); - this.CHTML.combine(Pbox,s+delta,u); - }, - // - // Handle stretchy bases - // - CHTMLstretchH: MML.mbase.CHTMLstretchH, - CHTMLstretchV: MML.mbase.CHTMLstretchV - }); - - MathJax.Hub.Startup.signal.Post("CommonHTML mmultiscripts Ready"); - MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/mmultiscripts.js"); -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/ms.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/ms.js deleted file mode 100644 index 5cd0e679..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/ms.js +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/CommonHTML/autoload/ms.js - * - * Implements the CommonHTML output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - CHTML = MathJax.OutputJax.CommonHTML; - - MML.ms.Augment({ - toCommonHTML: function (node) { - // - // Create the node and handle its styles and scaling - // Get the variant and an empty bounding box - // - node = this.CHTMLcreateNode(node); - this.CHTMLhandleStyle(node); - this.CHTMLgetVariant(); - this.CHTMLhandleScale(node); - CHTML.BBOX.empty(this.CHTML); - // - // Get the quotes to use - // - var values = this.getValues("lquote","rquote","mathvariant"); - if (!this.hasValue("lquote") || values.lquote === '"') values.lquote = "\u201C"; - if (!this.hasValue("rquote") || values.rquote === '"') values.rquote = "\u201D"; - if (values.lquote === "\u201C" && values.mathvariant === "monospace") values.lquote = '"'; - if (values.rquote === "\u201D" && values.mathvariant === "monospace") values.rquote = '"'; - // - // Add the left quote, the child nodes, and the right quote - // - var text = values.lquote+this.data.join("")+values.rquote; // FIXME: handle mglyph? - this.CHTMLhandleText(node,text,this.CHTMLvariant); - // - // Finish the bbox, add any needed space and color - // - this.CHTML.clean(); - this.CHTMLhandleSpace(node); - this.CHTMLhandleBBox(node); - this.CHTMLhandleColor(node); - // - // Return the completed node - // - return node; - } - }); - - MathJax.Hub.Startup.signal.Post("CommonHTML ms Ready"); - MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/ms.js"); -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mtable.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mtable.js deleted file mode 100644 index 97a0c351..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mtable.js +++ /dev/null @@ -1,602 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/CommonHTML/autoload/mtable.js - * - * Implements the CommonHTML output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - CONFIG = MathJax.Hub.config, - CHTML = MathJax.OutputJax.CommonHTML, - SPLIT = MathJax.Hub.SplitList; - - var LABEL = -1, - BIGDIMEN = 1000000; - - MML.mtable.Augment({ - toCommonHTML: function (node) { - // - // Create the table nodes and put them in a table - // (so that its bottom is on the baseline, rather than aligned on the top row) - // - var state = {rows:[], labels:[], labeled: false}; - node = this.CHTMLdefaultNode(node,{noBBox:true, childOptions:state}); - var table = CHTML.Element("mjx-table"); - while (node.firstChild) table.appendChild(node.firstChild); - node.appendChild(table); - // - // Get the table attributes - // - var values = this.getValues("columnalign","rowalign","columnspacing","rowspacing", - "columnwidth","equalcolumns","equalrows", - "columnlines","rowlines","frame","framespacing", - "align","width","side","minlabelspacing","useHeight"); - var t = CHTML.TEX.min_rule_thickness/CHTML.em; - state.t = CHTML.Px(t*this.CHTML.scale,1); - // - // Create the table - // - this.CHTMLgetBoxSizes(values,state); - this.CHTMLgetAttributes(values,state); - this.CHTMLadjustCells(values,state); - if (values.frame) table.style.border = state.t+" "+values.frame; - this.CHTMLalignV(values,state,node); - this.CHTMLcolumnWidths(values,state,node); - this.CHTMLstretchCells(values,state); - if (state.labeled) this.CHTMLaddLabels(values,state,node,table); - // - // Set the bounding box (ignores overlapping outside of the table) - // - var BBOX = this.CHTML; - BBOX.w = BBOX.r = state.R; - BBOX.h = BBOX.t = state.T-state.B; - BBOX.d = BBOX.b = state.B; - if (!values.frame && !BBOX.pwidth) { - node.style.padding = "0 "+CHTML.Em(1/6); - BBOX.L = BBOX.R = 1/6; - } - // - // Add any needed space and color - // - this.CHTMLhandleSpace(node); - this.CHTMLhandleBBox(node); - this.CHTMLhandleColor(node); - // - // Return the completed node - // - return node; - }, - // - // Get the natural height, depth, and widths of the rows and columns - // - CHTMLgetBoxSizes: function (values,state) { - var LH = CHTML.FONTDATA.lineH * values.useHeight, - LD = CHTML.FONTDATA.lineD * values.useHeight; - var H = [], D = [], W = [], J = -1, i, m; - for (i = 0, m = this.data.length; i < m; i++) { - var row = this.data[i], s = (row.type === "mtr" ? 0 : LABEL); - H[i] = LH; D[i] = LD; - for (var j = s, M = row.data.length + s; j < M; j++) { - if (W[j] == null) {W[j] = -BIGDIMEN; if (j > J) J = j} - var cbox = row.data[j-s].CHTML; - if (cbox.h > H[i]) H[i] = cbox.h; - if (cbox.d > D[i]) D[i] = cbox.d; - if (cbox.w > W[j]) W[j] = cbox.w; - } - } - if (values.equalrows) { - state.HD = true; - var HH = Math.max.apply(Math,H); - var DD = Math.max.apply(Math,D); - for (i = 0, m = H.length; i < m; i++) {H[i] = HH; D[i] = DD} - } - state.H = H; state.D = D; state.W = W, state.J = J; - }, - // - // Pad the spacing and alignment attributes to match the size of the table - // - CHTMLgetAttributes: function (values,state) { - var CSPACE = SPLIT(values.columnspacing), - RSPACE = SPLIT(values.rowspacing), - CALIGN = SPLIT(values.columnalign), - RALIGN = SPLIT(values.rowalign), - CLINES = SPLIT(values.columnlines), - RLINES = SPLIT(values.rowlines), - CWIDTH = SPLIT(values.columnwidth), - RCALIGN = [], i, m, J = state.J, M = state.rows.length-1; - for (i = 0, m = CSPACE.length; i < m; i++) CSPACE[i] = this.CHTMLlength2em(CSPACE[i]); - for (i = 0, m = RSPACE.length; i < m; i++) RSPACE[i] = this.CHTMLlength2em(RSPACE[i]); - while (CSPACE.length < J) CSPACE.push(CSPACE[CSPACE.length-1]); - while (CALIGN.length <= J) CALIGN.push(CALIGN[CALIGN.length-1]); - while (CLINES.length < J) CLINES.push(CLINES[CLINES.length-1]); - while (CWIDTH.length <= J) CWIDTH.push(CWIDTH[CWIDTH.length-1]); - while (RSPACE.length < M) RSPACE.push(RSPACE[RSPACE.length-1]); - while (RALIGN.length <= M) RALIGN.push(RALIGN[RALIGN.length-1]); - while (RLINES.length < M) RLINES.push(RLINES[RLINES.length-1]); - CALIGN[LABEL] = (values.side.substr(0,1) === "l" ? "left" : "right"); - // - // Override aligment data based on row-specific attributes - // - for (i = 0; i <= M; i++) { - var row = this.data[i]; RCALIGN[i] = []; - if (row.rowalign) RALIGN[i] = row.rowalign; - if (row.columnalign) { - RCALIGN[i] = SPLIT(row.columnalign); - while (RCALIGN[i].length <= J) RCALIGN[i].push(RCALIGN[i][RCALIGN[i].length-1]); - } - } - // - // Handle framespacing - // - var FSPACE = SPLIT(values.framespacing); - if (FSPACE.length != 2) FSPACE = SPLIT(this.defaults.framespacing); - FSPACE[0] = Math.max(0,this.CHTMLlength2em(FSPACE[0])); - FSPACE[1] = Math.max(0,this.CHTMLlength2em(FSPACE[1])); - if (values.columnlines.replace(/none/g,"").replace(/ /g,"") !== "" || - values.rowlines.replace(/none/g,"").replace(/ /g,"") !== "") values.fspace = true; - // - // Pad arrays so that final column can be treated as all the others - // - if (values.frame === MML.LINES.NONE) delete values.frame; else values.fspace = true; - if (values.frame) { - FSPACE[0] = Math.max(0,FSPACE[0]); - FSPACE[1] = Math.max(0,FSPACE[1]); - } - if (values.fspace) { - CSPACE[J] = FSPACE[0]; RSPACE[M] = FSPACE[1]; - } else { - CSPACE[J] = RSPACE[M] = 0; - } - CLINES[J] = RLINES[M] = MML.LINES.NONE; - // - // Save everything in the state - // - state.CSPACE = CSPACE; state.RSPACE = RSPACE; - state.CALIGN = CALIGN; state.RALIGN = RALIGN; - state.CLINES = CLINES; state.RLINES = RLINES; - state.CWIDTH = CWIDTH; state.RCALIGN = RCALIGN; - state.FSPACE = FSPACE; - }, - // - // Add styles to cells to handle borders, spacing, alignment, etc. - // - CHTMLadjustCells: function(values,state) { - var ROWS = state.rows, - CSPACE = state.CSPACE, CLINES = state.CLINES, - RSPACE = state.RSPACE, RLINES = state.RLINES, - CALIGN = state.CALIGN, RALIGN = state.RALIGN, - RCALIGN = state.RCALIGN; - CSPACE[state.J] *= 2; RSPACE[ROWS.length-1] *= 2; // since halved below - var T = "0", B, R, L, border, cbox, align, lastB = 0; - if (values.fspace) { - lastB = state.FSPACE[1]; - T = CHTML.Em(state.FSPACE[1]); - } - state.RHD = []; state.RH = []; - for (var i = 0, m = ROWS.length; i < m; i++) { - var row = ROWS[i], rdata = this.data[i]; - // - // Space and borders between rows - // - B = RSPACE[i]/2; border = null; L = "0"; - if (RLINES[i] !== MML.LINES.NONE && RLINES[i] !== "") border = state.t+" "+RLINES[i]; - if (border || (CLINES[j] !== MML.LINES.NONE && CLINES[j] !== "")) { - while (row.length <= state.J) { - row.push(CHTML.addElement(row.node,"mjx-mtd",null,[['span']])); - } - } - state.RH[i] = lastB + state.H[i]; // distance to baseline in row - lastB = Math.max(0,B); - state.RHD[i] = state.RH[i] + lastB + state.D[i]; // total height of row - B = CHTML.Em(lastB); - // - // Frame space for initial cell - // - if (values.fspace) L = CHTML.Em(state.FSPACE[0]); - // - // The cells in the row - // - for (var j = 0, M = row.length; j < M; j++) { - var s = (rdata.type === "mtr" ? 0 : LABEL); - var mtd = rdata.data[j-s] || {CHTML: CHTML.BBOX.zero()}; - var cell = row[j].style; cbox = mtd.CHTML; - // - // Space and borders between columns - // - R = CSPACE[j]/2; - if (CLINES[j] !== MML.LINES.NONE) { - cell.borderRight = state.t+" "+CLINES[j]; - R -= 1/CHTML.em/2; - } - R = CHTML.Em(Math.max(0,R)); - cell.padding = T+" "+R+" 0px "+L; - if (border) cell.borderBottom = border; - L = R; - // - // Handle vertical alignment - // - align = (mtd.rowalign||(this.data[i]||{}).rowalign||RALIGN[i]); - var H = Math.max(1,cbox.h), D = Math.max(.2,cbox.d), - HD = (state.H[i]+state.D[i]) - (H+D), - child = row[j].firstChild.style; - if (align === MML.ALIGN.TOP) { - if (HD) child.marginBottom = CHTML.Em(HD); - cell.verticalAlign = "top"; - } else if (align === MML.ALIGN.BOTTOM) { - cell.verticalAlign = "bottom"; - if (HD) child.marginTop = CHTML.Em(HD); - } else if (align === MML.ALIGN.CENTER) { - if (HD) child.marginTop = child.marginBottom = CHTML.Em(HD/2); - cell.verticalAlign = "middle"; - } else { - if (H !== state.H[i]) child.marginTop = CHTML.Em(state.H[i]-H); - } - // - // Handle horizontal alignment - // - align = (mtd.columnalign||RCALIGN[i][j]||CALIGN[j]); - if (align !== MML.ALIGN.CENTER) cell.textAlign = align; - } - row.node.style.height = CHTML.Em(state.RHD[i]); - T = B; - } - CSPACE[state.J] /= 2; RSPACE[ROWS.length-1] /= 2; // back to normal - }, - // - // Align the table vertically according to the align attribute - // - CHTMLalignV: function (values,state,node) { - var n, M = state.rows.length, H = state.H, D = state.D, RSPACE = state.RSPACE; - // - // Get alignment type and row number - // - if (typeof(values.align) !== "string") values.align = String(values.align); - if (values.align.match(/(top|bottom|center|baseline|axis)( +(-?\d+))?/)) { - n = parseInt(RegExp.$3||"0"); - values.align = RegExp.$1 - if (n < 0) n += state.rows.length + 1; - if (n > M || n <= 0) n = null; - } else { - values.align = this.defaults.align; - } - // - // Get table height and baseline offset - // - var T = 0, B = 0, a = CHTML.TEX.axis_height; - if (values.fspace) T += state.FSPACE[1]; - if (values.frame) {T += 2/CHTML.em; B += 1/CHTML.em} - for (var i = 0; i < M; i++) { - var h = H[i], d = D[i]; - T += h + d + RSPACE[i]; - if (n) { - if (i === n-1) { - B += ({top:h+d, bottom:0, center:(h+d)/2, - baseline:d, axis:a+d})[values.align] + RSPACE[i]; - } - if (i >= n) B += h + d + RSPACE[i]; - } - } - if (!n) B = ({top:T, bottom:0, center:T/2, baseline:T/2, axis:T/2-a})[values.align]; - // - // Place the node and save the values - // - if (B) node.style.verticalAlign = CHTML.Em(-B); - state.T = T; state.B = B; - }, - // - // Determine column widths and set the styles for the columns - // - CHTMLcolumnWidths: function (values,state,node) { - var CWIDTH = state.CWIDTH, CSPACE = state.CSPACE, J = state.J, j; - var WW = 0, setWidths = false, relWidth = values.width.match(/%$/); - var i, m, w; - // - // Handle equal columns by adjusting the CWIDTH array - // - if (values.width !== "auto" && !relWidth) { - WW = Math.max(0,this.CHTMLlength2em(values.width,state.R)); - setWidths = true; - } - if (values.equalcolumns) { - if (relWidth) { - // - // Use percent of total (not perfect, but best we can do) - // - var p = CHTML.Percent(1/(J+1)); - for (j = 0; j <= J; j++) CWIDTH[j] = p; - } else { - // - // For width = auto, make all widths equal the widest, - // otherwise, for specific width, remove intercolumn space - // and divide by number of columns to get widest space. - // - w = Math.max.apply(Math,state.W); - if (values.width !== "auto") { - var S = (values.fspace ? state.FSPACE[0] + (values.frame ? 2/CHTML.em : 0) : 0); - for (j = 0; j <= J; j++) S += CSPACE[j]; - w = Math.max((WW-S)/(J+1),w); - } - w = CHTML.Em(w); - for (j = 0; j <= J; j++) CWIDTH[j] = w; - } - setWidths = true; - } - // - // Compute natural table width - // - var TW = 0; if (values.fspace) TW = state.FSPACE[0]; - var auto = [], fit = [], percent = [], W = []; - var row = state.rows[0]; - for (j = 0; j <= J; j++) { - W[j] = state.W[j]; - if (CWIDTH[j] === "auto") auto.push(j) - else if (CWIDTH[j] === "fit") fit.push(j) - else if (CWIDTH[j].match(/%$/)) percent.push(j) - else W[j] = this.CHTMLlength2em(CWIDTH[j],W[j]); - TW += W[j] + CSPACE[j]; - if (row[j]) row[j].style.width = CHTML.Em(W[j]); - } - if (values.frame) TW += 2/CHTML.em; - var hasFit = (fit.length > 0); - // - // Adjust widths of columns - // - if (setWidths) { - if (relWidth) { - // - // Attach appropriate widths to the columns - // - for (j = 0; j <= J; j++) { - cell = row[j].style; - if (CWIDTH[j] === "auto" && !hasFit) cell.width = ""; - else if (CWIDTH[j] === "fit") cell.width = ""; - else if (CWIDTH[j].match(/%$/)) cell.width = CWIDTH[j]; - else cell.minWidth = cell.maxWidth = cell.width; - } - } else { - // - // Compute percentage widths - // - if (WW > TW) { - var extra = 0; - for (i = 0, m = percent.length; i < m; i++) { - j = percent[i]; - w = Math.max(W[j],this.CHTMLlength2em(CWIDTH[j],WW)); - extra += w-W[j]; W[j] = w; - row[j].style.width = CHTML.Em(w); - } - TW += extra; - } - // - // Compute "fit" widths - // - if (!hasFit) fit = auto; - if (WW > TW && fit.length) { - var dw = (WW - TW) / fit.length; - for (i = 0, m = fit.length; i < m; i++) { - j = fit[i]; W[j] += dw; - row[j].style.width = CHTML.Em(W[j]); - } - TW = WW; - } - } - } - W[LABEL] = state.W[LABEL]; - state.W = W; - state.R = TW; - // - // Set variable width on DOM nodes - // - if (relWidth) { - node.style.width = this.CHTML.pwidth = "100%"; - this.CHTML.mwidth = CHTML.Em(TW); - node.firstChild.style.width = values.width; - node.firstChild.style.margin = "auto"; - } - }, - // - // Stretch any cells that can be stretched - // - CHTMLstretchCells: function (values,state) { - var ROWS = state.rows, H = state.H, D = state.D, W = state.W, - J = state.J, M = ROWS.length-1; - for (var i = 0; i <= M; i++) { - var row = ROWS[i], rdata = this.data[i]; - var h = H[i], d = D[i]; - for (var j = 0; j <= J; j++) { - var cell = row[j], cdata = rdata.data[j]; - if (!cdata) continue; - if (cdata.CHTML.stretch === "V") cdata.CHTMLstretchV(h,d); - else if (cdata.CHTML.stretch === "H") cdata.CHTMLstretchH(cell,W[j]); - } - } - }, - // - // Add labels to a table - // - CHTMLaddLabels: function (values,state,node,table) { - // - // Get indentation and alignment - // - var indent = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); - if (indent.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) indent.indentalign = indent.indentalignfirst; - if (indent.indentalign === MML.INDENTALIGN.AUTO) indent.indentalign = CONFIG.displayAlign; - if (indent.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) indent.indentshift = indent.indentshiftfirst; - if (indent.indentshift === "auto") indent.indentshift = "0"; - var shift = this.CHTMLlength2em(indent.indentshift,CHTML.cwidth); - var labelspace = this.CHTMLlength2em(values.minlabelspacing,.8); - var labelW = labelspace + state.W[LABEL], labelshift = 0, tw = state.R; - var dIndent = this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth); - var s = (state.CALIGN[LABEL] === MML.INDENTALIGN.RIGHT ? -1 : 1); - if (indent.indentalign === MML.INDENTALIGN.CENTER) { - tw += 2 * (labelW - s*(shift + dIndent)); - shift += dIndent; - } else if (state.CALIGN[LABEL] === indent.indentalign) { - if (dIndent < 0) {labelshift = s*dIndent; dIndent = 0} - shift += s*dIndent; if (labelW > s*shift) shift = s*labelW; shift += labelshift; - shift *= s; tw += shift; - } else { - tw += labelW - s*shift + dIndent; - shift -= s*dIndent; shift *= -s; - } - // - // Create boxes for table and labels - // - var box = CHTML.addElement(node,"mjx-box",{ - style:{width:"100%","text-align":indent.indentalign} - }); box.appendChild(table); - var labels = CHTML.Element("mjx-itable"); - table.style.display = "inline-table"; if (!table.style.width) table.style.width = "auto"; - labels.style.verticalAlign = "top"; - table.style.verticalAlign = CHTML.Em(state.T-state.B-state.H[0]); - node.style.verticalAlign = ""; - if (shift) { - if (indent.indentalign === MML.INDENTALIGN.CENTER) { - table.style.marginLeft = CHTML.Em(shift); - table.style.marginRight = CHTML.Em(-shift); - } else { - var margin = "margin" + (indent.indentalign === MML.INDENTALIGN.RIGHT ? "Right" : "Left"); - table.style[margin] = CHTML.Em(shift); - } - } - // - // Add labels on correct side - // - if (state.CALIGN[LABEL] === "left") { - node.insertBefore(labels,box); - labels.style.marginRight = CHTML.Em(-state.W[LABEL]-labelshift); - if (labelshift) labels.style.marginLeft = CHTML.Em(labelshift); - } else { - node.appendChild(labels); - labels.style.marginLeft = CHTML.Em(-state.W[LABEL]+labelshift); - } - // - // Vertically align the labels with their rows - // - var LABELS = state.labels, T = 0; - if (values.fspace) T = state.FSPACE[0] + (values.frame ? 1/CHTML.em : 0); - for (var i = 0, m = LABELS.length; i < m; i++) { - if (LABELS[i] && this.data[i].data[0]) { - labels.appendChild(LABELS[i]); - var lbox = this.data[i].data[0].CHTML; - T = state.RH[i] - Math.max(1,lbox.h); - if (T) LABELS[i].firstChild.firstChild.style.marginTop = CHTML.Em(T); - LABELS[i].style.height = CHTML.Em(state.RHD[i]); - } else { - CHTML.addElement(labels,"mjx-label",{style:{height:CHTML.Em(state.RHD[i])}}); - } - } - // - // Propagate full-width equations, and reserve room for equation plus label - // - node.style.width = this.CHTML.pwidth = "100%"; - node.style.minWidth = this.CHTML.mwidth = CHTML.Em(Math.max(0,tw)); - } - }); - - MML.mtr.Augment({ - toCommonHTML: function (node,options) { - // - // Create the row node - // - node = this.CHTMLcreateNode(node); - this.CHTMLhandleStyle(node); - this.CHTMLhandleScale(node); - // - // Add a new row with no label - // - if (!options) options = {rows:[],labels:[]}; - var row = []; options.rows.push(row); row.node = node; - options.labels.push(null); - // - // Add the cells to the row - // - for (var i = 0, m = this.data.length; i < m; i++) - row.push(this.CHTMLaddChild(node,i,options)); - // - this.CHTMLhandleColor(node); - return node; - } - }); - MML.mlabeledtr.Augment({ - toCommonHTML: function (node,options) { - // - // Create the row node - // - node = this.CHTMLcreateNode(node); - this.CHTMLhandleStyle(node); - this.CHTMLhandleScale(node); - // - // Add a new row, and get the label - // - if (!options) options = {rows:[],labels:[]}; - var row = []; options.rows.push(row); row.node = node; - var label = CHTML.Element("mjx-label"); options.labels.push(label); - this.CHTMLaddChild(label,0,options); - if (this.data[0]) options.labeled = true; - // - // Add the cells to the row - // - for (var i = 1, m = this.data.length; i < m; i++) - row.push(this.CHTMLaddChild(node,i,options)); - // - this.CHTMLhandleColor(node); - return node; - } - }); - MML.mtd.Augment({ - toCommonHTML: function (node,options) { - node = this.CHTMLdefaultNode(node,options); - CHTML.addElement(node.firstChild,"mjx-strut"); // forces height to 1em (we adjust later) - // - // Determine if this is stretchy or not - // - if (this.isEmbellished()) { - var mo = this.CoreMO(), BBOX = this.CHTML; - if (mo.CHTMLcanStretch("Vertical")) BBOX.stretch = "V"; - else if (mo.CHTMLcanStretch("Horizontal")) BBOX.stretch = "H"; - if (BBOX.stretch) { - var min = mo.Get("minsize",true); - if (min) { - if (BBOX.stretch === "V") { - var HD = BBOX.h + BBOX.d; - if (HD) { - var r = this.CHTMLlength2em(min,HD)/HD; - if (r > 1) {BBOX.h *= r; BBOX.d *= r} - } - } else { - BBOX.w = Math.max(BBOX.w,this.CHTMLlength2em(min,BBOX.w)); - } - } - } - } - return node; - } - }); - - - MathJax.Hub.Startup.signal.Post("CommonHTML mtable Ready"); - MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/mtable.js"); -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/multiline.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/multiline.js deleted file mode 100644 index b199e0f7..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/multiline.js +++ /dev/null @@ -1,793 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/CommonHTML/autoload/multiline.js - * - * Implements the CommonHTML output for 's that contain line breaks. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - CONFIG = MathJax.Hub.config, - CHTML = MathJax.OutputJax.CommonHTML; - // - // Fake node used for testing end-of-line potential breakpoint - // - var MO = MML.mo().With({CHTML: CHTML.BBOX.empty()}); - - // - // Penalties for the various line breaks - // - var PENALTY = { - newline: 0, - nobreak: 1000000, - goodbreak: [-200], - badbreak: [+200], - auto: [0], - - maxwidth: 1.33, // stop looking for breaks after this time the line-break width - toobig: 800, - nestfactor: 400, - spacefactor: -100, - spaceoffset: 2, - spacelimit: 1, // spaces larger than this get a penalty boost - fence: 500, - close: 500 - }; - - var ENDVALUES = {linebreakstyle: "after"}; - - - /**************************************************************************/ - - MML.mbase.Augment({ - CHTMLlinebreakPenalty: PENALTY, - - /****************************************************************/ - // - // Handle breaking an mrow into separate lines - // - CHTMLmultiline: function (node) { - - // - // Find the parent element and mark it as multiline - // - var parent = this; - while (parent.inferred || (parent.parent && parent.parent.type === "mrow" && - parent.parent.isEmbellished())) {parent = parent.parent} - var isTop = ((parent.type === "math" && parent.Get("display") === "block") || - parent.type === "mtd"); - parent.isMultiline = true; - - // - // Default values for the line-breaking parameters - // - var VALUES = this.getValues( - "linebreak","linebreakstyle","lineleading","linebreakmultchar", - "indentalign","indentshift", - "indentalignfirst","indentshiftfirst", - "indentalignlast","indentshiftlast" - ); - if (VALUES.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) - VALUES.linebreakstyle = this.Get("infixlinebreakstyle"); - VALUES.lineleading = this.CHTMLlength2em(VALUES.lineleading,0.5); - - // - // Break the math at its best line breaks - // - CHTML.BBOX.empty(this.CHTML); - var stack = CHTML.addElement(node,"mjx-stack"); - var state = { - BBOX: this.CHTML, - n: 0, Y: 0, - scale: (this.CHTML.scale||1), - isTop: isTop, - values: {}, - VALUES: VALUES - }, - align = this.CHTMLgetAlign(state,{}), - shift = this.CHTMLgetShift(state,{},align), - start = [], - end = { - index:[], penalty:PENALTY.nobreak, - w:0, W:shift, shift:shift, scanW:shift, - nest: 0 - }, - broken = false; - - while (this.CHTMLbetterBreak(end,state,true) && - (end.scanW >= CHTML.linebreakWidth || end.penalty === PENALTY.newline)) { - this.CHTMLaddLine(stack,start,end.index,state,end.values,broken); - start = end.index.slice(0); broken = true; - align = this.CHTMLgetAlign(state,end.values); - shift = this.CHTMLgetShift(state,end.values,align); - end.W = end.shift = end.scanW = shift; end.penalty = PENALTY.nobreak; - } - state.isLast = true; - this.CHTMLaddLine(stack,start,[],state,ENDVALUES,broken); - - node.style.width = stack.style.width = this.CHTML.pwidth = "100%"; - this.CHTML.mwidth = CHTML.Em(this.CHTML.w); - this.CHTML.isMultiline = parent.CHTML.isMultiline = true; - stack.style.verticalAlign = CHTML.Em(state.d - this.CHTML.d); - - return node; - }, - - /****************************************************************/ - // - // Locate the next linebreak that is better than the current one - // - CHTMLbetterBreak: function (info,state,toplevel) { - if (this.isToken) return false; // FIXME: handle breaking of token elements - if (this.isEmbellished()) { - info.embellished = this; - return this.CoreMO().CHTMLbetterBreak(info,state); - } - if (this.linebreakContainer) return false; - // - // Get the current breakpoint position and other data - // - var index = info.index.slice(0), i = info.index.shift(), - m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; - if (i == null) i = -1; if (!broken) {i++; info.W += info.w; info.w = 0} - scanW = info.scanW = info.W; info.nest++; - // - // Look through the line for breakpoints, - // (as long as we are not too far past the breaking width) - // - while (i < m && (info.scanW < PENALTY.maxwidth*CHTML.linebreakWidth || info.w === 0)) { - if (this.data[i]) { - if (this.data[i].CHTMLbetterBreak(info,state)) { - better = true; index = [i].concat(info.index); W = info.W; w = info.w; - if (info.penalty === PENALTY.newline) { - info.index = index; - if (info.nest) {info.nest--} - return true; - } - } - scanW = (broken ? info.scanW : this.CHTMLaddWidth(i,info,scanW)); - } - info.index = []; i++; broken = false; - } - // - // Check if end-of-line is a better breakpoint - // - if (toplevel && better) { - MO.parent = this.parent; MO.inherit = this.inherit; - if (MO.CHTMLbetterBreak(info,state)) {better = false; index = info.index} - } - if (info.nest) {info.nest--} - info.index = index; - if (better) {info.W = W; info.w = w} - return better; - }, - CHTMLaddWidth: function (i,info,scanW) { - if (this.data[i]) { - var bbox = this.data[i].CHTML; - scanW += (bbox.w + (bbox.L||0) + (bbox.R||0)) * (bbox.scale || 1); - info.W = info.scanW = scanW; info.w = 0; - } - return scanW; - }, - - /****************************************************************/ - // - // Create a new line and move the required elements into it - // Position it using proper alignment and indenting - // - CHTMLaddLine: function (stack,start,end,state,values,broken) { - // - // Create a box for the line, with empty BBox - // fill it with the proper elements, - // and clean up the bbox - // - var block = CHTML.addElement(stack,"mjx-block",{},[["mjx-box"]]), line = block.firstChild; - var bbox = state.bbox = CHTML.BBOX.empty(); - state.first = broken; state.last = true; - this.CHTMLmoveLine(start,end,line,state,values); - bbox.clean(); - // - // Get the alignment and shift values - // - var align = this.CHTMLgetAlign(state,values), - shift = this.CHTMLgetShift(state,values,align,true); - // - // Set the Y offset based on previous depth, leading, and current height - // - var dY = 0; - if (state.n > 0) { - var LHD = CHTML.FONTDATA.baselineskip; - var leading = (state.values.lineleading == null ? state.VALUES : state.values).lineleading * state.scale; - var Y = state.Y; - state.Y -= Math.max(LHD,state.d + bbox.h + leading); - dY = Y - state.Y - state.d - bbox.h; - } - // - // Place the new line - // - if (shift) line.style.margin = "0 "+CHTML.Em(-shift)+" 0 "+CHTML.Em(shift); - if (align !== MML.INDENTALIGN.LEFT) block.style.textAlign = align; - if (dY) block.style.paddingTop = CHTML.Em(dY); - state.BBOX.combine(bbox,shift,state.Y); - // - // Save the values needed for the future - // - state.d = state.bbox.d; state.values = values; state.n++; - }, - - /****************************************************************/ - // - // Get alignment and shift values from the given data - // - CHTMLgetAlign: function (state,values) { - var cur = values, prev = state.values, def = state.VALUES, align; - if (state.n === 0) align = cur.indentalignfirst || prev.indentalignfirst || def.indentalignfirst; - else if (state.isLast) align = prev.indentalignlast || def.indentalignlast; - else align = prev.indentalign || def.indentalign; - if (align === MML.INDENTALIGN.INDENTALIGN) align = prev.indentalign || def.indentalign; - if (align === MML.INDENTALIGN.AUTO) align = (state.isTop ? CONFIG.displayAlign : MML.INDENTALIGN.LEFT); - return align; - }, - CHTMLgetShift: function (state,values,align,noadjust) { - var cur = values, prev = state.values, def = state.VALUES, shift; - if (state.n === 0) shift = cur.indentshiftfirst || prev.indentshiftfirst || def.indentshiftfirst; - else if (state.isLast) shift = prev.indentshiftlast || def.indentshiftlast; - else shift = prev.indentshift || def.indentshift; - if (shift === MML.INDENTSHIFT.INDENTSHIFT) shift = prev.indentshift || def.indentshift; - if (shift === "auto" || shift === "") shift = "0"; - shift = this.CHTMLlength2em(shift,CHTML.cwidth); - if (state.isTop && CONFIG.displayIndent !== "0") { - var indent = this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth); - shift += (align === MML.INDENTALIGN.RIGHT ? -indent : indent); - } - return (align === MML.INDENTALIGN.RIGHT && !noadjust ? -shift : shift); - }, - - /****************************************************************/ - // - // Move the selected elements into the new line's box, - // moving whole items when possible, and parts of ones - // that are split by a line break. - // - CHTMLmoveLine: function (start,end,node,state,values) { - var i = start[0], j = end[0]; - if (i == null) i = -1; if (j == null) j = this.data.length-1; - if (i === j && start.length > 1) { - // - // If starting and ending in the same element move the subpiece to the new line - // - this.data[i].CHTMLmoveSlice(start.slice(1),end.slice(1),node,state,values,"marginLeft"); - } else { - // - // Otherwise, move the remainder of the initial item - // and any others up to the last one - // - var last = state.last; state.last = false; - while (i < j) { - if (this.data[i]) { - if (start.length <= 1) this.data[i].CHTMLmoveNode(node,state,values); - else this.data[i].CHTMLmoveSlice(start.slice(1),[],node,state,values,"marginLeft"); - } - i++; state.first = false; start = []; - } - // - // If the last item is complete, move it, - // otherwise move the first part of it up to the split - // - state.last = last; - if (this.data[i]) { - if (end.length <= 1) this.data[i].CHTMLmoveNode(node,state,values); - else this.data[i].CHTMLmoveSlice([],end.slice(1),node,state,values,"marginRight"); - } - } - }, - - /****************************************************************/ - // - // Split an element and copy the selected items into the new part - // - CHTMLmoveSlice: function (start,end,node,state,values,margin) { - // - // Create a new box for the slice of the element - // Move the selected portion into the slice - // If it is the last slice - // Remove the original (now empty) node - // Rename the Continue-0 node with the original name (for CHTMLnodeElement) - // - var slice = this.CHTMLcreateSliceNode(node); - this.CHTMLmoveLine(start,end,slice,state,values); - if (slice.style[margin]) slice.style[margin] = ""; - if (this.CHTML.L) { - if (margin !== "marginLeft") state.bbox.w += this.CHTML.L; - else slice.className = slice.className.replace(/ MJXc-space\d/,""); - } - if (this.CHTML.R && margin !== "marginRight") state.bbox.w += this.CHTML.R; - if (end.length === 0) { - node = this.CHTMLnodeElement(); - if (this.href) node = node.parentNode; - node.parentNode.removeChild(node); - node.nextMathJaxNode.id = node.id; - } - return slice; - }, - - /****************************************************************/ - // - // Create a new node for an element that is split in two - // Clone the original and update its ID. - // Link the old node to the new one so we can find it later - // - CHTMLcreateSliceNode: function (node) { - var NODE = this.CHTMLnodeElement(), n = 0; - if (this.href) NODE = NODE.parentNode; - var LAST = NODE; while (LAST.nextMathJaxNode) {LAST = LAST.nextMathJaxNode; n++} - var SLICE = NODE.cloneNode(false); LAST.nextMathJaxNode = SLICE; SLICE.nextMathJaxNode = null; - SLICE.id += "-MJX-Continue-"+n; - return node.appendChild(SLICE); - }, - - /****************************************************************/ - // - // Move an element from its original node to its new location in - // a split element or the new line's node - // - CHTMLmoveNode: function (line,state,values) { - // FIXME: handle linebreakstyle === "duplicate" - // FIXME: handle linebreakmultchar - if (!(state.first || state.last) || - (state.first && state.values.linebreakstyle === MML.LINEBREAKSTYLE.BEFORE) || - (state.last && values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER)) { - // - // Move node - // - var node = this.CHTMLnodeElement(); - if (this.href) node = node.parentNode; - line.appendChild(node); - if (this.CHTML.pwidth && !line.style.width) line.style.width = this.CHTML.pwidth; - // - // If it is last, remove right margin - // If it is first, remove left margin - // - if (state.last) node.style.marginRight = ""; - if (state.first || state.nextIsFirst) { - node.style.marginLeft = ""; this.CHTML.L = 0; - node.className = node.className.replace(/ MJXc-space\d/,""); - } - if (state.first && this.CHTML.w === 0) state.nextIsFirst = true; - else delete state.nextIsFirst; - // - // Update bounding box - // - state.bbox.combine(this.CHTML,state.bbox.w,0); - } - } - }); - - /**************************************************************************/ - - MML.mfenced.Augment({ - CHTMLbetterBreak: function (info,state) { - // - // Get the current breakpoint position and other data - // - var index = info.index.slice(0), i = info.index.shift(), - m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; - if (i == null) i = -1; if (!broken) {i++; info.W += info.w; info.w = 0} - scanW = info.scanW = info.W; info.nest++; - // - // Create indices that include the delimiters and separators - // - if (!this.dataI) { - this.dataI = []; - if (this.data.open) this.dataI.push("open"); - if (m) this.dataI.push(0); - for (var j = 1; j < m; j++) { - if (this.data["sep"+j]) this.dataI.push("sep"+j); - this.dataI.push(j); - } - if (this.data.close) this.dataI.push("close"); - } - m = this.dataI.length; - // - // Look through the line for breakpoints, including the open, close, and separators - // (as long as we are not too far past the breaking width) - // - while (i < m && (info.scanW < PENALTY.maxwidth*CHTML.linebreakWidth || info.w === 0)) { - var k = this.dataI[i]; - if (this.data[k]) { - if (this.data[k].CHTMLbetterBreak(info,state)) { - better = true; index = [i].concat(info.index); W = info.W; w = info.w; - if (info.penalty === PENALTY.newline) { - info.index = index; - if (info.nest) info.nest--; - return true; - } - } - scanW = (broken ? info.scanW : this.CHTMLaddWidth(i,info,scanW)); - } - info.index = []; i++; broken = false; - } - if (info.nest) info.nest--; - info.index = index; - if (better) {info.W = W; info.w = w} - return better; - }, - - CHTMLmoveLine: function (start,end,node,state,values) { - var i = start[0], j = end[0]; - if (i == null) i = -1; if (j == null) j = this.dataI.length-1; - if (i === j && start.length > 1) { - // - // If starting and ending in the same element move the subpiece to the new line - // - this.data[this.dataI[i]].CHTMLmoveSlice(start.slice(1),end.slice(1),node,state,values,"marginLeft"); - } else { - // - // Otherwise, move the remainder of the initial item - // and any others (including open and separators) up to the last one - // - var last = state.last; state.last = false; var k = this.dataI[i]; - while (i < j) { - if (this.data[k]) { - if (start.length <= 1) this.data[k].CHTMLmoveNode(node,state,values); - else this.data[k].CHTMLmoveSlice(start.slice(1),[],node,state,values,"marginLeft"); - } - i++; k = this.dataI[i]; state.first = false; start = []; - } - // - // If the last item is complete, move it - // - state.last = last; - if (this.data[k]) { - if (end.length <= 1) this.data[k].CHTMLmoveNode(node,state,values); - else this.data[k].CHTMLmoveSlice([],end.slice(1),node,state,values,"marginRight"); - } - } - } - - }); - - /**************************************************************************/ - - MML.msubsup.Augment({ - CHTMLbetterBreak: function (info,state) { - if (!this.data[this.base]) {return false} - // - // Get the current breakpoint position and other data - // - var index = info.index.slice(0), i = info.index.shift(), - W, w, scanW, broken = (info.index.length > 0), better = false; - if (!broken) {info.W += info.w; info.w = 0} - scanW = info.scanW = info.W; - // - // Record the width of the base and the super- and subscripts - // - if (i == null) { - this.CHTML.baseW = this.data[this.base].CHTML.w; - this.CHTML.dw = this.CHTML.w - this.CHTML.baseW; - } - // - // Check if the base can be broken - // - if (this.data[this.base].CHTMLbetterBreak(info,state)) { - better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; - if (info.penalty === PENALTY.newline) better = broken = true; - } - // - // Add in the base if it is unbroken, and add the scripts - // - if (!broken) this.CHTMLaddWidth(this.base,info,scanW); - info.scanW += this.CHTML.dw; info.W = info.scanW; - info.index = []; if (better) {info.W = W; info.w = w; info.index = index} - return better; - }, - - CHTMLmoveLine: function (start,end,node,state,values) { - // - // Move the proper part of the base - // - if (this.data[this.base]) { - var base = CHTML.addElement(node,"mjx-base"); - if (start.length > 1) { - this.data[this.base].CHTMLmoveSlice(start.slice(1),end.slice(1),base,state,values,"marginLeft"); - } else { - if (end.length <= 1) this.data[this.base].CHTMLmoveNode(base,state,values); - else this.data[this.base].CHTMLmoveSlice([],end.slice(1),base,state,values,"marginRight"); - } - } - // - // If this is the end, check for super and subscripts, and move those - // by moving the elements that contains them. Adjust the bounding box - // to include the super and subscripts. - // - if (end.length === 0) { - var NODE = this.CHTMLnodeElement(), - stack = CHTML.getNode(NODE,"mjx-stack"), - sup = CHTML.getNode(NODE,"mjx-sup"), - sub = CHTML.getNode(NODE,"mjx-sub"); - if (stack) node.appendChild(stack); - else if (sup) node.appendChild(sup); - else if (sub) node.appendChild(sub); - var w = state.bbox.w, bbox; - if (sup) { - bbox = this.data[this.sup].CHTML; - state.bbox.combine(bbox,w,bbox.Y); - } - if (sub) { - bbox = this.data[this.sub].CHTML; - state.bbox.combine(bbox,w,bbox.Y); - } - } - } - - }); - - /**************************************************************************/ - - MML.mmultiscripts.Augment({ - CHTMLbetterBreak: function (info,state) { - if (!this.data[this.base]) return false; - // - // Get the current breakpoint position and other data - // - var index = info.index.slice(0); info.index.shift(); - var W, w, scanW, broken = (info.index.length > 0), better = false; - if (!broken) {info.W += info.w; info.w = 0} - info.scanW = info.W; - // - // Get the bounding boxes and the width of the scripts - // - var bbox = this.CHTML, base = this.data[this.base].CHTML; - var dw = bbox.w - base.w - (bbox.X||0); - // - // Add in the width of the prescripts - // - info.scanW += bbox.X||0; scanW = info.scanW; - // - // Check if the base can be broken - // - if (this.data[this.base].CHTMLbetterBreak(info,state)) { - better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; - if (info.penalty === PENALTY.newline) better = broken = true; - } - // - // Add in the base if it is unbroken, and add the scripts - // - if (!broken) this.CHTMLaddWidth(this.base,info,scanW); - info.scanW += dw; info.W = info.scanW; - info.index = []; if (better) {info.W = W; info.w = w; info.index = index} - return better; - }, - - CHTMLmoveLine: function (start,end,node,state,values) { - var NODE, BOX = this.CHTMLbbox, w; - // - // If this is the start, move the prescripts, if any. - // - if (start.length < 1) { - NODE = this.CHTMLnodeElement(); - var prestack = CHTML.getNode(NODE,"mjx-prestack"), - presup = CHTML.getNode(NODE,"mjx-presup"), - presub = CHTML.getNode(NODE,"mjx-presub"); - if (prestack) node.appendChild(prestack); - else if (presup) node.appendChild(presup); - else if (presub) node.appendChild(presub); - w = state.bbox.w; - if (presup) state.bbox.combine(BOX.presup,w+BOX.presup.X,BOX.presup.Y); - if (presub) state.bbox.combine(BOX.presub,w+BOX.presub.X,BOX.presub.Y); - } - // - // Move the proper part of the base - // - if (this.data[this.base]) { - var base = CHTML.addElement(node,"mjx-base"); - if (start.length > 1) { - this.data[this.base].CHTMLmoveSlice(start.slice(1),end.slice(1),base,state,values,"marginLeft"); - } else { - if (end.length <= 1) this.data[this.base].CHTMLmoveNode(base,state,values); - else this.data[this.base].CHTMLmoveSlice([],end.slice(1),base,state,values,"marginRight"); - } - } - // - // If this is the end, check for super and subscripts, and move those - // by moving the elements that contains them. Adjust the bounding box - // to include the super and subscripts. - // - if (end.length === 0) { - NODE = this.CHTMLnodeElement(); - var stack = CHTML.getNode(NODE,"mjx-stack"), - sup = CHTML.getNode(NODE,"mjx-sup"), - sub = CHTML.getNode(NODE,"mjx-sub"); - if (stack) node.appendChild(stack); - else if (sup) node.appendChild(sup); - else if (sub) node.appendChild(sub); - w = state.bbox.w; - if (sup) state.bbox.combine(BOX.sup,w,BOX.sup.Y); - if (sub) state.bbox.combine(BOX.sub,w,BOX.sub.Y); - } - } - - }); - - /**************************************************************************/ - - MML.mo.Augment({ - // - // Override the method for checking line breaks to properly handle - // - CHTMLbetterBreak: function (info,state) { - if (info.values && info.values.id === this.CHTMLnodeID) return false; - var values = this.getValues( - "linebreak","linebreakstyle","lineleading","linebreakmultchar", - "indentalign","indentshift", - "indentalignfirst","indentshiftfirst", - "indentalignlast","indentshiftlast", - "texClass", "fence" - ); - if (values.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) - values.linebreakstyle = this.Get("infixlinebreakstyle"); - // - // Adjust nesting by TeX class (helps output that does not include - // mrows for nesting, but can leave these unbalanced. - // - if (values.texClass === MML.TEXCLASS.OPEN) info.nest++; - if (values.texClass === MML.TEXCLASS.CLOSE && info.nest) info.nest--; - // - // Get the default penalty for this location - // - var W = info.scanW; delete info.embellished; - var w = this.CHTML.w + (this.CHTML.L||0) + (this.CHTML.R||0); - if (values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER) {W += w; w = 0} - if (W - info.shift === 0 && values.linebreak !== MML.LINEBREAK.NEWLINE) - return false; // don't break at zero width (FIXME?) - var offset = CHTML.linebreakWidth - W; - // Adjust offest for explicit first-line indent and align - if (state.n === 0 && (values.indentshiftfirst !== state.VALUES.indentshiftfirst || - values.indentalignfirst !== state.VALUES.indentalignfirst)) { - var align = this.CHTMLgetAlign(state,values), - shift = this.CHTMLgetShift(state,values,align); - offset += (info.shift - shift); - } - // - var penalty = Math.floor(offset / CHTML.linebreakWidth * 1000); - if (penalty < 0) penalty = PENALTY.toobig - 3*penalty; - if (values.fence) penalty += PENALTY.fence; - if ((values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER && - values.texClass === MML.TEXCLASS.OPEN) || - values.texClass === MML.TEXCLASS.CLOSE) penalty += PENALTY.close; - penalty += info.nest * PENALTY.nestfactor; - // - // Get the penalty for this type of break and - // use it to modify the default penalty - // - var linebreak = PENALTY[values.linebreak||MML.LINEBREAK.AUTO]||0; - if (!MathJax.Object.isArray(linebreak)) { - // for breaks past the width, keep original penalty for newline - if (linebreak || offset >= 0) {penalty = linebreak * info.nest} - } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} - // - // If the penalty is no better than the current one, return false - // Otherwise save the data for this breakpoint and return true - // - if (penalty >= info.penalty) return false; - info.penalty = penalty; info.values = values; info.W = W; info.w = w; - values.lineleading = this.CHTMLlength2em(values.lineleading,state.VALUES.lineleading); - values.id = this.CHTMLnodeID; - return true; - } - }); - - /**************************************************************************/ - - MML.mspace.Augment({ - // - // Override the method for checking line breaks to properly handle - // - CHTMLbetterBreak: function (info,state) { - if (info.values && info.values.id === this.CHTMLnodeID) return false; - var values = this.getValues("linebreak"); - var linebreakValue = values.linebreak; - if (!linebreakValue || this.hasDimAttr()) { - // The MathML spec says that the linebreak attribute should be ignored - // if any dimensional attribute is set. - linebreakValue = MML.LINEBREAK.AUTO; - } - // - // Get the default penalty for this location - // - var W = info.scanW, w = this.CHTML.w + (this.CHTML.L||0) + (this.CHTML.R||0); - if (W - info.shift === 0) return false; // don't break at zero width (FIXME?) - var offset = CHTML.linebreakWidth - W; - // - var penalty = Math.floor(offset / CHTML.linebreakWidth * 1000); - if (penalty < 0) penalty = PENALTY.toobig - 3*penalty; - penalty += info.nest * PENALTY.nestfactor; - // - // Get the penalty for this type of break and - // use it to modify the default penalty - // - var linebreak = PENALTY[linebreakValue]||0; - if (linebreakValue === MML.LINEBREAK.AUTO && w >= PENALTY.spacelimit && - !this.mathbackground && !this.background) - linebreak = [(w+PENALTY.spaceoffset)*PENALTY.spacefactor]; - if (!MathJax.Object.isArray(linebreak)) { - // for breaks past the width, keep original penalty for newline - if (linebreak || offset >= 0) {penalty = linebreak * info.nest} - } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} - // - // If the penalty is no better than the current one, return false - // Otherwise save the data for this breakpoint and return true - // - if (penalty >= info.penalty) return false; - info.penalty = penalty; info.values = values; info.W = W; info.w = w; - values.lineleading = state.VALUES.lineleading; - values.linebreakstyle = "before"; values.id = this.CHTMLnodeID; - return true; - } - }); - - // - // Hook into the mathchoice extension - // - MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function () { - MML.TeXmathchoice.Augment({ - CHTMLbetterBreak: function (info,state) { - return this.Core().CHTMLbetterBreak(info,state); - }, - CHTMLmoveLine: function (start,end,node,state,values) { - return this.Core().CHTMLmoveSlice(start,end,node,state,values); - } - }); - }); - - // - // Have maction process only the selected item - // - MML.maction.Augment({ - CHTMLbetterBreak: function (info,state) { - return this.Core().CHTMLbetterBreak(info,state); - }, - CHTMLmoveLine: function (start,end,node,state,values) { - return this.Core().CHTMLmoveSlice(start,end,node,state,values); - } - }); - - // - // Have semantics only do the first element - // (FIXME: do we need to do anything special about annotation-xml?) - // - MML.semantics.Augment({ - CHTMLbetterBreak: function (info,state) { - return (this.data[0] ? this.data[0].CHTMLbetterBreak(info,state) : false); - }, - CHTMLmoveLine: function (start,end,node,state,values) { - return (this.data[0] ? this.data[0].CHTMLmoveSlice(start,end,node,state,values) : null); - } - }); - - /**************************************************************************/ - - MathJax.Hub.Startup.signal.Post("CommonHTML multiline Ready"); - MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/multiline.js"); - -}); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/config.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/config.js deleted file mode 100644 index a6a27a31..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/config.js +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/HTML2/config.js - * - * Initializes the HTML2 OutputJax (the main definition is in - * MathJax/jax/input/HTML2/jax.js, which is loaded when needed). - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.OutputJax.CommonHTML = MathJax.OutputJax({ - id: "CommonHTML", - version: "2.7.5", - directory: MathJax.OutputJax.directory + "/CommonHTML", - extensionDir: MathJax.OutputJax.extensionDir + "/CommonHTML", - autoloadDir: MathJax.OutputJax.directory + "/CommonHTML/autoload", - fontDir: MathJax.OutputJax.directory + "/CommonHTML/fonts", // fontname added later - webfontDir: MathJax.OutputJax.fontDir + "/HTML-CSS", // fontname added later - - config: { - matchFontHeight: true, // try to match math font height to surrounding font? - scale: 100, minScaleAdjust: 50, // global math scaling factor, and minimum adjusted scale factor - mtextFontInherit: false, // to make be in page font rather than MathJax font - undefinedFamily: "STIXGeneral,'Cambria Math','Arial Unicode MS',serif", - - EqnChunk: (MathJax.Hub.Browser.isMobile ? 20: 100), - // number of equations to process before showing them - EqnChunkFactor: 1.5, // chunk size is multiplied by this after each chunk - EqnChunkDelay: 100, // milliseconds to delay between chunks (to let browser - // respond to other events) - - linebreaks: { - automatic: false, // when false, only process linebreak="newline", - // when true, insert line breaks automatically in long expressions. - - width: "container" // maximum width of a line for automatic line breaks (e.g. "30em"). - // use "container" to compute size from containing element, - // use "nn% container" for a portion of the container, - // use "nn%" for a portion of the window size - } - - } -}); - -if (!MathJax.Hub.config.delayJaxRegistration) {MathJax.OutputJax.CommonHTML.Register("jax/mml")} - -MathJax.OutputJax.CommonHTML.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js deleted file mode 100644 index 3146d484..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js +++ /dev/null @@ -1,289 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (CHTML) { - -var font = 'MathJax_AMS'; - -CHTML.FONTDATA.FONTS[font] = { - className: CHTML.FONTDATA.familyName(font), - centerline: 270, ascent: 1003, descent: 463, - 0x20: [0,0,250,0,0], // SPACE - 0x41: [701,1,722,17,703], // LATIN CAPITAL LETTER A - 0x42: [683,1,667,11,620], // LATIN CAPITAL LETTER B - 0x43: [702,19,722,39,684], // LATIN CAPITAL LETTER C - 0x44: [683,1,722,16,688], // LATIN CAPITAL LETTER D - 0x45: [683,1,667,12,640], // LATIN CAPITAL LETTER E - 0x46: [683,1,611,12,584], // LATIN CAPITAL LETTER F - 0x47: [702,19,778,39,749], // LATIN CAPITAL LETTER G - 0x48: [683,1,778,14,762], // LATIN CAPITAL LETTER H - 0x49: [683,1,389,20,369], // LATIN CAPITAL LETTER I - 0x4A: [683,77,500,6,478], // LATIN CAPITAL LETTER J - 0x4B: [683,1,778,22,768], // LATIN CAPITAL LETTER K - 0x4C: [683,1,667,12,640], // LATIN CAPITAL LETTER L - 0x4D: [683,1,944,17,926], // LATIN CAPITAL LETTER M - 0x4E: [683,20,722,20,702], // LATIN CAPITAL LETTER N - 0x4F: [701,19,778,34,742], // LATIN CAPITAL LETTER O - 0x50: [683,1,611,16,597], // LATIN CAPITAL LETTER P - 0x51: [701,181,778,34,742], // LATIN CAPITAL LETTER Q - 0x52: [683,1,722,16,705], // LATIN CAPITAL LETTER R - 0x53: [702,12,556,28,528], // LATIN CAPITAL LETTER S - 0x54: [683,1,667,33,635], // LATIN CAPITAL LETTER T - 0x55: [683,19,722,16,709], // LATIN CAPITAL LETTER U - 0x56: [683,20,722,0,719], // LATIN CAPITAL LETTER V - 0x57: [683,19,1000,5,994], // LATIN CAPITAL LETTER W - 0x58: [683,1,722,16,705], // LATIN CAPITAL LETTER X - 0x59: [683,1,722,16,704], // LATIN CAPITAL LETTER Y - 0x5A: [683,1,667,29,635], // LATIN CAPITAL LETTER Z - 0x6B: [683,1,556,17,534], // LATIN SMALL LETTER K - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0xA5: [683,0,750,11,738], // YEN SIGN - 0xAE: [709,175,947,32,915], // REGISTERED SIGN - 0xF0: [749,21,556,42,509], // LATIN SMALL LETTER ETH - 0x127: [695,13,540,42,562], // LATIN SMALL LETTER H WITH STROKE - 0x2C6: [845,-561,2333,-14,2346], // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2DC: [899,-628,2333,1,2330], // SMALL TILDE - 0x302: [845,-561,0,-2347,13], // COMBINING CIRCUMFLEX ACCENT - 0x303: [899,-628,0,-2332,-3], // COMBINING TILDE - 0x3DD: [605,85,778,55,719], // GREEK SMALL LETTER DIGAMMA - 0x3F0: [434,6,667,37,734], // GREEK KAPPA SYMBOL - 0x2035: [560,-43,275,12,244], // REVERSED PRIME - 0x210F: [695,13,540,42,562], // stix-/hbar - Planck's over 2pi - 0x2127: [684,22,722,44,675], // INVERTED OHM SIGN - 0x2132: [695,1,556,55,497], // TURNED CAPITAL F - 0x2136: [763,21,667,-22,687], // BET SYMBOL - 0x2137: [764,43,444,-22,421], // GIMEL SYMBOL - 0x2138: [764,43,667,54,640], // DALET SYMBOL - 0x2141: [705,23,639,37,577], // TURNED SANS-SERIF CAPITAL G - 0x2190: [437,-64,500,64,422], // LEFTWARDS ARROW - 0x2192: [437,-64,500,58,417], // RIGHTWARDS ARROW - 0x219A: [437,-60,1000,56,942], // LEFTWARDS ARROW WITH STROKE - 0x219B: [437,-60,1000,54,942], // RIGHTWARDS ARROW WITH STROKE - 0x219E: [417,-83,1000,56,944], // LEFTWARDS TWO HEADED ARROW - 0x21A0: [417,-83,1000,55,943], // RIGHTWARDS TWO HEADED ARROW - 0x21A2: [417,-83,1111,56,1031], // LEFTWARDS ARROW WITH TAIL - 0x21A3: [417,-83,1111,79,1054], // RIGHTWARDS ARROW WITH TAIL - 0x21AB: [575,41,1000,56,964], // LEFTWARDS ARROW WITH LOOP - 0x21AC: [575,41,1000,35,943], // RIGHTWARDS ARROW WITH LOOP - 0x21AD: [417,-83,1389,57,1331], // LEFT RIGHT WAVE ARROW - 0x21AE: [437,-60,1000,56,942], // LEFT RIGHT ARROW WITH STROKE - 0x21B0: [722,0,500,56,444], // UPWARDS ARROW WITH TIP LEFTWARDS - 0x21B1: [722,0,500,55,443], // UPWARDS ARROW WITH TIP RIGHTWARDS - 0x21B6: [461,1,1000,17,950], // ANTICLOCKWISE TOP SEMICIRCLE ARROW - 0x21B7: [460,1,1000,46,982], // CLOCKWISE TOP SEMICIRCLE ARROW - 0x21BA: [650,83,778,56,722], // ANTICLOCKWISE OPEN CIRCLE ARROW - 0x21BB: [650,83,778,56,721], // CLOCKWISE OPEN CIRCLE ARROW - 0x21BE: [694,194,417,188,375], // UPWARDS HARPOON WITH BARB RIGHTWARDS - 0x21BF: [694,194,417,41,228], // UPWARDS HARPOON WITH BARB LEFTWARDS - 0x21C2: [694,194,417,188,375], // DOWNWARDS HARPOON WITH BARB RIGHTWARDS - 0x21C3: [694,194,417,41,228], // DOWNWARDS HARPOON WITH BARB LEFTWARDS - 0x21C4: [667,0,1000,55,944], // RIGHTWARDS ARROW OVER LEFTWARDS ARROW - 0x21C6: [667,0,1000,55,944], // LEFTWARDS ARROW OVER RIGHTWARDS ARROW - 0x21C7: [583,83,1000,55,944], // LEFTWARDS PAIRED ARROWS - 0x21C8: [694,193,833,83,749], // UPWARDS PAIRED ARROWS - 0x21C9: [583,83,1000,55,944], // RIGHTWARDS PAIRED ARROWS - 0x21CA: [694,194,833,83,749], // DOWNWARDS PAIRED ARROWS - 0x21CB: [514,14,1000,55,944], // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON - 0x21CC: [514,14,1000,55,944], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON - 0x21CD: [534,35,1000,54,942], // LEFTWARDS DOUBLE ARROW WITH STROKE - 0x21CE: [534,37,1000,32,965], // LEFT RIGHT DOUBLE ARROW WITH STROKE - 0x21CF: [534,35,1000,55,943], // RIGHTWARDS DOUBLE ARROW WITH STROKE - 0x21DA: [611,111,1000,76,944], // LEFTWARDS TRIPLE ARROW - 0x21DB: [611,111,1000,55,923], // RIGHTWARDS TRIPLE ARROW - 0x21DD: [417,-83,1000,56,943], // RIGHTWARDS SQUIGGLE ARROW - 0x21E0: [437,-64,1334,64,1251], // LEFTWARDS DASHED ARROW - 0x21E2: [437,-64,1334,84,1251], // RIGHTWARDS DASHED ARROW - 0x2201: [846,21,500,56,444], // COMPLEMENT - 0x2204: [860,166,556,55,497], // THERE DOES NOT EXIST - 0x2205: [587,3,778,54,720], // EMPTY SET - 0x220D: [440,1,429,102,456], // SMALL CONTAINS AS MEMBER - 0x2212: [270,-230,500,84,417], // MINUS SIGN - 0x2214: [766,93,778,57,722], // DOT PLUS - 0x2216: [430,23,778,91,685], // SET MINUS - 0x221D: [472,-28,778,56,722], // PROPORTIONAL TO - 0x2220: [694,0,722,55,666], // ANGLE - 0x2221: [714,20,722,55,666], // MEASURED ANGLE - 0x2222: [551,51,722,55,666], // SPHERICAL ANGLE - 0x2223: [430,23,222,91,131], // DIVIDES - 0x2224: [750,252,278,-21,297], // DOES NOT DIVIDE - 0x2225: [431,23,389,55,331], // PARALLEL TO - 0x2226: [750,250,500,-20,518], // NOT PARALLEL TO - 0x2234: [471,82,667,24,643], // THEREFORE - 0x2235: [471,82,667,23,643], // BECAUSE - 0x223C: [365,-132,778,55,719], // TILDE OPERATOR - 0x223D: [367,-133,778,56,722], // REVERSED TILDE - 0x2241: [467,-32,778,55,719], // stix-not, vert, similar - 0x2242: [463,-34,778,55,720], // MINUS TILDE - 0x2246: [652,155,778,54,720], // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO - 0x2248: [481,-50,778,55,719], // ALMOST EQUAL TO - 0x224A: [579,39,778,51,725], // ALMOST EQUAL OR EQUAL TO - 0x224E: [492,-8,778,56,722], // GEOMETRICALLY EQUIVALENT TO - 0x224F: [492,-133,778,56,722], // DIFFERENCE BETWEEN - 0x2251: [609,108,778,56,722], // GEOMETRICALLY EQUAL TO - 0x2252: [601,101,778,15,762], // APPROXIMATELY EQUAL TO OR THE IMAGE OF - 0x2253: [601,102,778,14,762], // IMAGE OF OR APPROXIMATELY EQUAL TO - 0x2256: [367,-133,778,56,722], // RING IN EQUAL TO - 0x2257: [721,-133,778,56,722], // RING EQUAL TO - 0x225C: [859,-133,778,56,723], // DELTA EQUAL TO - 0x2266: [753,175,778,83,694], // LESS-THAN OVER EQUAL TO - 0x2267: [753,175,778,83,694], // GREATER-THAN OVER EQUAL TO - 0x2268: [752,286,778,82,693], // stix-less, vert, not double equals - 0x2269: [752,286,778,82,693], // stix-gt, vert, not double equals - 0x226C: [750,250,500,74,425], // BETWEEN - 0x226E: [708,209,778,82,693], // stix-not, vert, less-than - 0x226F: [708,209,778,82,693], // stix-not, vert, greater-than - 0x2270: [801,303,778,82,694], // stix-not, vert, less-than-or-equal - 0x2271: [801,303,778,82,694], // stix-not, vert, greater-than-or-equal - 0x2272: [732,228,778,56,722], // stix-less-than or (contour) similar - 0x2273: [732,228,778,56,722], // stix-greater-than or (contour) similar - 0x2276: [681,253,778,44,734], // LESS-THAN OR GREATER-THAN - 0x2277: [681,253,778,83,694], // GREATER-THAN OR LESS-THAN - 0x227C: [580,153,778,83,694], // PRECEDES OR EQUAL TO - 0x227D: [580,154,778,82,694], // SUCCEEDS OR EQUAL TO - 0x227E: [732,228,778,56,722], // PRECEDES OR EQUIVALENT TO - 0x227F: [732,228,778,56,722], // SUCCEEDS OR EQUIVALENT TO - 0x2280: [705,208,778,82,693], // DOES NOT PRECEDE - 0x2281: [705,208,778,82,693], // stix-not (vert) succeeds - 0x2288: [801,303,778,83,693], // stix-/nsubseteq N: not (vert) subset, equals - 0x2289: [801,303,778,82,691], // stix-/nsupseteq N: not (vert) superset, equals - 0x228A: [635,241,778,84,693], // stix-subset, not equals, variant - 0x228B: [635,241,778,82,691], // stix-superset, not equals, variant - 0x228F: [539,41,778,83,694], // SQUARE IMAGE OF - 0x2290: [539,41,778,64,714], // SQUARE ORIGINAL OF - 0x229A: [582,82,778,57,721], // CIRCLED RING OPERATOR - 0x229B: [582,82,778,57,721], // CIRCLED ASTERISK OPERATOR - 0x229D: [582,82,778,57,721], // CIRCLED DASH - 0x229E: [689,0,778,55,722], // SQUARED PLUS - 0x229F: [689,0,778,55,722], // SQUARED MINUS - 0x22A0: [689,0,778,55,722], // SQUARED TIMES - 0x22A1: [689,0,778,55,722], // SQUARED DOT OPERATOR - 0x22A8: [694,0,611,55,555], // TRUE - 0x22A9: [694,0,722,55,666], // FORCES - 0x22AA: [694,0,889,55,833], // TRIPLE VERTICAL BAR RIGHT TURNSTILE - 0x22AC: [695,1,611,-55,554], // DOES NOT PROVE - 0x22AD: [695,1,611,-55,554], // NOT TRUE - 0x22AE: [695,1,722,-55,665], // DOES NOT FORCE - 0x22AF: [695,1,722,-55,665], // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE - 0x22B2: [539,41,778,83,694], // NORMAL SUBGROUP OF - 0x22B3: [539,41,778,83,694], // CONTAINS AS NORMAL SUBGROUP - 0x22B4: [636,138,778,83,694], // NORMAL SUBGROUP OF OR EQUAL TO - 0x22B5: [636,138,778,83,694], // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO - 0x22B8: [408,-92,1111,55,1055], // MULTIMAP - 0x22BA: [431,212,556,57,500], // INTERCALATE - 0x22BB: [716,0,611,55,555], // XOR - 0x22BC: [716,0,611,55,555], // NAND - 0x22C5: [189,0,278,55,222], // DOT OPERATOR - 0x22C7: [545,44,778,55,720], // DIVISION TIMES - 0x22C9: [492,-8,778,146,628], // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT - 0x22CA: [492,-8,778,146,628], // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT - 0x22CB: [694,22,778,55,722], // LEFT SEMIDIRECT PRODUCT - 0x22CC: [694,22,778,55,722], // RIGHT SEMIDIRECT PRODUCT - 0x22CD: [464,-36,778,56,722], // REVERSED TILDE EQUALS - 0x22CE: [578,21,760,83,676], // CURLY LOGICAL OR - 0x22CF: [578,22,760,83,676], // CURLY LOGICAL AND - 0x22D0: [540,40,778,84,694], // DOUBLE SUBSET - 0x22D1: [540,40,778,83,693], // DOUBLE SUPERSET - 0x22D2: [598,22,667,55,611], // DOUBLE INTERSECTION - 0x22D3: [598,22,667,55,611], // DOUBLE UNION - 0x22D4: [736,22,667,56,611], // PITCHFORK - 0x22D6: [541,41,778,82,693], // LESS-THAN WITH DOT - 0x22D7: [541,41,778,82,693], // GREATER-THAN WITH DOT - 0x22D8: [568,67,1333,56,1277], // VERY MUCH LESS-THAN - 0x22D9: [568,67,1333,55,1277], // VERY MUCH GREATER-THAN - 0x22DA: [886,386,778,83,674], // stix-less, equal, slanted, greater - 0x22DB: [886,386,778,83,674], // stix-greater, equal, slanted, less - 0x22DE: [734,0,778,83,694], // EQUAL TO OR PRECEDES - 0x22DF: [734,0,778,82,694], // EQUAL TO OR SUCCEEDS - 0x22E0: [801,303,778,82,693], // stix-not (vert) precedes or contour equals - 0x22E1: [801,303,778,82,694], // stix-not (vert) succeeds or contour equals - 0x22E6: [730,359,778,55,719], // LESS-THAN BUT NOT EQUIVALENT TO - 0x22E7: [730,359,778,55,719], // GREATER-THAN BUT NOT EQUIVALENT TO - 0x22E8: [730,359,778,55,719], // PRECEDES BUT NOT EQUIVALENT TO - 0x22E9: [730,359,778,55,719], // SUCCEEDS BUT NOT EQUIVALENT TO - 0x22EA: [706,208,778,82,693], // NOT NORMAL SUBGROUP OF - 0x22EB: [706,208,778,82,693], // DOES NOT CONTAIN AS NORMAL SUBGROUP - 0x22EC: [802,303,778,82,693], // stix-not, vert, left triangle, equals - 0x22ED: [801,303,778,82,693], // stix-not, vert, right triangle, equals - 0x2322: [378,-122,778,55,722], // stix-small down curve - 0x2323: [378,-143,778,55,722], // stix-small up curve - 0x24C8: [709,175,902,8,894], // CIRCLED LATIN CAPITAL LETTER S - 0x250C: [694,-306,500,55,444], // BOX DRAWINGS LIGHT DOWN AND RIGHT - 0x2510: [694,-306,500,55,444], // BOX DRAWINGS LIGHT DOWN AND LEFT - 0x2514: [366,22,500,55,444], // BOX DRAWINGS LIGHT UP AND RIGHT - 0x2518: [366,22,500,55,444], // BOX DRAWINGS LIGHT UP AND LEFT - 0x2571: [694,195,889,0,860], // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT - 0x2572: [694,195,889,0,860], // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT - 0x25A0: [689,0,778,55,722], // BLACK SQUARE - 0x25A1: [689,0,778,55,722], // WHITE SQUARE - 0x25B2: [575,20,722,84,637], // BLACK UP-POINTING TRIANGLE - 0x25B3: [575,20,722,84,637], // WHITE UP-POINTING TRIANGLE - 0x25B6: [539,41,778,83,694], // BLACK RIGHT-POINTING TRIANGLE - 0x25BC: [576,19,722,84,637], // BLACK DOWN-POINTING TRIANGLE - 0x25BD: [576,19,722,84,637], // WHITE DOWN-POINTING TRIANGLE - 0x25C0: [539,41,778,83,694], // BLACK LEFT-POINTING TRIANGLE - 0x25CA: [716,132,667,56,611], // LOZENGE - 0x2605: [694,111,944,49,895], // BLACK STAR - 0x2713: [706,34,833,84,749], // CHECK MARK - 0x2720: [716,22,833,48,786], // MALTESE CROSS - 0x29EB: [716,132,667,56,611], // BLACK LOZENGE - 0x2A5E: [813,97,611,55,555], // LOGICAL AND WITH DOUBLE OVERBAR - 0x2A7D: [636,138,778,83,694], // LESS-THAN OR SLANTED EQUAL TO - 0x2A7E: [636,138,778,83,694], // GREATER-THAN OR SLANTED EQUAL TO - 0x2A85: [762,290,778,55,722], // LESS-THAN OR APPROXIMATE - 0x2A86: [762,290,778,55,722], // GREATER-THAN OR APPROXIMATE - 0x2A87: [635,241,778,82,693], // LESS-THAN AND SINGLE-LINE NOT EQUAL TO - 0x2A88: [635,241,778,82,693], // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO - 0x2A89: [761,387,778,57,718], // LESS-THAN AND NOT APPROXIMATE - 0x2A8A: [761,387,778,57,718], // GREATER-THAN AND NOT APPROXIMATE - 0x2A8B: [1003,463,778,83,694], // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN - 0x2A8C: [1003,463,778,83,694], // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN - 0x2A95: [636,138,778,83,694], // SLANTED EQUAL TO OR LESS-THAN - 0x2A96: [636,138,778,83,694], // SLANTED EQUAL TO OR GREATER-THAN - 0x2AB5: [752,286,778,82,693], // PRECEDES ABOVE NOT EQUAL TO - 0x2AB6: [752,286,778,82,693], // SUCCEEDS ABOVE NOT EQUAL TO - 0x2AB7: [761,294,778,57,717], // PRECEDES ABOVE ALMOST EQUAL TO - 0x2AB8: [761,294,778,57,717], // SUCCEEDS ABOVE ALMOST EQUAL TO - 0x2AB9: [761,337,778,57,718], // PRECEDES ABOVE NOT ALMOST EQUAL TO - 0x2ABA: [761,337,778,57,718], // SUCCEEDS ABOVE NOT ALMOST EQUAL TO - 0x2AC5: [753,215,778,84,694], // SUBSET OF ABOVE EQUALS SIGN - 0x2AC6: [753,215,778,83,694], // SUPERSET OF ABOVE EQUALS SIGN - 0x2ACB: [783,385,778,82,693], // stix-subset not double equals, variant - 0x2ACC: [783,385,778,82,693], // SUPERSET OF ABOVE NOT EQUAL TO - 0xE006: [430,23,222,-20,240], // ?? - 0xE007: [431,24,389,-20,407], // ?? - 0xE008: [605,85,778,55,719], // ?? - 0xE009: [434,6,667,37,734], // ?? - 0xE00C: [752,284,778,82,693], // ?? - 0xE00D: [752,284,778,82,693], // ?? - 0xE00E: [919,421,778,82,694], // stix-not greater, double equals - 0xE00F: [801,303,778,82,694], // stix-not greater-or-equal, slanted - 0xE010: [801,303,778,82,694], // stix-not less-or-equal, slanted - 0xE011: [919,421,778,82,694], // stix-not less, double equals - 0xE016: [828,330,778,82,694], // stix-not subset, double equals - 0xE017: [752,332,778,82,694], // ?? - 0xE018: [828,330,778,82,694], // stix-not superset, double equals - 0xE019: [752,333,778,82,693], // ?? - 0xE01A: [634,255,778,84,693], // ?? - 0xE01B: [634,254,778,82,691] // ?? -}; - -CHTML.fontLoaded("TeX/"+font.substr(8)); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js deleted file mode 100644 index 3e4043ce..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js +++ /dev/null @@ -1,99 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (CHTML) { - -var font = 'MathJax_Caligraphic-Bold'; - -CHTML.FONTDATA.FONTS[font] = { - className: CHTML.FONTDATA.familyName(font), - centerline: 315, ascent: 840, descent: 211, - weight: 'bold', - skew: { - 0x41: 0.224, - 0x42: 0.16, - 0x43: 0.16, - 0x44: 0.0958, - 0x45: 0.128, - 0x46: 0.128, - 0x47: 0.128, - 0x48: 0.128, - 0x49: 0.0319, - 0x4A: 0.192, - 0x4B: 0.0639, - 0x4C: 0.16, - 0x4D: 0.16, - 0x4E: 0.0958, - 0x4F: 0.128, - 0x50: 0.0958, - 0x51: 0.128, - 0x52: 0.0958, - 0x53: 0.16, - 0x54: 0.0319, - 0x55: 0.0958, - 0x56: 0.0319, - 0x57: 0.0958, - 0x58: 0.16, - 0x59: 0.0958, - 0x5A: 0.16 - }, - 0x20: [0,0,250,0,0], // SPACE - 0x30: [460,17,575,46,528], // DIGIT ZERO - 0x31: [461,0,575,80,494], // DIGIT ONE - 0x32: [460,0,575,51,517], // DIGIT TWO - 0x33: [461,211,575,48,525], // DIGIT THREE - 0x34: [469,194,575,32,542], // DIGIT FOUR - 0x35: [461,211,575,57,517], // DIGIT FIVE - 0x36: [660,17,575,48,526], // DIGIT SIX - 0x37: [476,211,575,64,558], // DIGIT SEVEN - 0x38: [661,17,575,48,526], // DIGIT EIGHT - 0x39: [461,210,575,48,526], // DIGIT NINE - 0x41: [751,49,921,39,989], // LATIN CAPITAL LETTER A - 0x42: [705,17,748,40,740], // LATIN CAPITAL LETTER B - 0x43: [703,20,613,20,599], // LATIN CAPITAL LETTER C - 0x44: [686,0,892,20,885], // LATIN CAPITAL LETTER D - 0x45: [703,16,607,37,627], // LATIN CAPITAL LETTER E - 0x46: [686,30,814,17,930], // LATIN CAPITAL LETTER F - 0x47: [703,113,682,50,671], // LATIN CAPITAL LETTER G - 0x48: [686,48,987,20,946], // LATIN CAPITAL LETTER H - 0x49: [686,0,642,-27,746], // LATIN CAPITAL LETTER I - 0x4A: [686,114,779,53,937], // LATIN CAPITAL LETTER J - 0x4B: [703,17,871,40,834], // LATIN CAPITAL LETTER K - 0x4C: [703,17,788,41,751], // LATIN CAPITAL LETTER L - 0x4D: [703,49,1378,38,1353], // LATIN CAPITAL LETTER M - 0x4E: [840,49,937,-24,1105], // LATIN CAPITAL LETTER N - 0x4F: [703,17,906,63,882], // LATIN CAPITAL LETTER O - 0x50: [686,67,810,20,846], // LATIN CAPITAL LETTER P - 0x51: [703,146,939,120,905], // LATIN CAPITAL LETTER Q - 0x52: [686,17,990,20,981], // LATIN CAPITAL LETTER R - 0x53: [703,16,696,25,721], // LATIN CAPITAL LETTER S - 0x54: [720,69,644,38,947], // LATIN CAPITAL LETTER T - 0x55: [686,24,715,-10,771], // LATIN CAPITAL LETTER U - 0x56: [686,77,737,25,774], // LATIN CAPITAL LETTER V - 0x57: [686,77,1169,25,1206], // LATIN CAPITAL LETTER W - 0x58: [686,-1,817,56,906], // LATIN CAPITAL LETTER X - 0x59: [686,164,759,36,797], // LATIN CAPITAL LETTER Y - 0x5A: [686,0,818,46,853], // LATIN CAPITAL LETTER Z - 0xA0: [0,0,250,0,0] // NO-BREAK SPACE -}; - -CHTML.fontLoaded("TeX/"+font.substr(8)); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js deleted file mode 100644 index d5177a0a..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js +++ /dev/null @@ -1,125 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (CHTML) { - -var font = 'MathJax_Fraktur-Bold'; - -CHTML.FONTDATA.FONTS[font] = { - className: CHTML.FONTDATA.familyName(font), - centerline: 259, ascent: 740, descent: 223, - weight: 'bold', - 0x20: [0,0,250,0,0], // SPACE - 0x21: [689,12,349,107,241], // EXCLAMATION MARK - 0x22: [695,-432,254,10,231], // QUOTATION MARK - 0x26: [696,16,871,44,839], // AMPERSAND - 0x27: [695,-436,250,80,158], // APOSTROPHE - 0x28: [737,186,459,134,347], // LEFT PARENTHESIS - 0x29: [735,187,459,105,326], // RIGHT PARENTHESIS - 0x2A: [692,-449,328,40,277], // ASTERISK - 0x2B: [598,82,893,56,837], // PLUS SIGN - 0x2C: [107,191,328,118,253], // COMMA - 0x2D: [275,-236,893,54,833], // HYPHEN-MINUS - 0x2E: [102,15,328,103,237], // FULL STOP - 0x2F: [721,182,593,41,550], // SOLIDUS - 0x30: [501,12,593,42,533], // DIGIT ZERO - 0x31: [489,0,593,54,548], // DIGIT ONE - 0x32: [491,-2,593,44,563], // DIGIT TWO - 0x33: [487,193,593,31,523], // DIGIT THREE - 0x34: [495,196,593,13,565], // DIGIT FOUR - 0x35: [481,190,593,19,518], // DIGIT FIVE - 0x36: [704,12,593,48,547], // DIGIT SIX - 0x37: [479,197,593,54,591], // DIGIT SEVEN - 0x38: [714,5,593,45,542], // DIGIT EIGHT - 0x39: [487,195,593,29,549], // DIGIT NINE - 0x3A: [457,12,255,57,197], // COLON - 0x3B: [458,190,255,56,211], // SEMICOLON - 0x3D: [343,-168,582,22,559], // EQUALS SIGN - 0x3F: [697,14,428,40,422], // QUESTION MARK - 0x41: [686,31,847,29,827], // LATIN CAPITAL LETTER A - 0x42: [684,31,1044,57,965], // LATIN CAPITAL LETTER B - 0x43: [676,32,723,72,726], // LATIN CAPITAL LETTER C - 0x44: [683,29,982,31,896], // LATIN CAPITAL LETTER D - 0x45: [686,29,783,74,728], // LATIN CAPITAL LETTER E - 0x46: [684,146,722,17,727], // LATIN CAPITAL LETTER F - 0x47: [687,29,927,74,844], // LATIN CAPITAL LETTER G - 0x48: [683,126,851,6,752], // LATIN CAPITAL LETTER H - 0x49: [681,25,655,32,623], // LATIN CAPITAL LETTER I - 0x4A: [680,141,652,-8,616], // LATIN CAPITAL LETTER J - 0x4B: [681,26,789,20,806], // LATIN CAPITAL LETTER K - 0x4C: [683,28,786,30,764], // LATIN CAPITAL LETTER L - 0x4D: [683,32,1239,27,1232], // LATIN CAPITAL LETTER M - 0x4E: [679,30,983,26,973], // LATIN CAPITAL LETTER N - 0x4F: [726,30,976,12,881], // LATIN CAPITAL LETTER O - 0x50: [688,223,977,33,943], // LATIN CAPITAL LETTER P - 0x51: [726,83,976,12,918], // LATIN CAPITAL LETTER Q - 0x52: [688,28,978,31,978], // LATIN CAPITAL LETTER R - 0x53: [685,31,978,82,905], // LATIN CAPITAL LETTER S - 0x54: [686,30,790,31,802], // LATIN CAPITAL LETTER T - 0x55: [688,39,851,18,871], // LATIN CAPITAL LETTER U - 0x56: [685,29,982,25,966], // LATIN CAPITAL LETTER V - 0x57: [683,30,1235,26,1240], // LATIN CAPITAL LETTER W - 0x58: [681,35,849,32,835], // LATIN CAPITAL LETTER X - 0x59: [688,214,984,34,878], // LATIN CAPITAL LETTER Y - 0x5A: [677,148,711,-4,624], // LATIN CAPITAL LETTER Z - 0x5B: [740,130,257,36,226], // LEFT SQUARE BRACKET - 0x5D: [738,132,257,14,208], // RIGHT SQUARE BRACKET - 0x5E: [734,-452,590,1,584], // CIRCUMFLEX ACCENT - 0x61: [472,32,603,80,586], // LATIN SMALL LETTER A - 0x62: [690,32,590,86,504], // LATIN SMALL LETTER B - 0x63: [473,26,464,87,424], // LATIN SMALL LETTER C - 0x64: [632,28,589,-1,511], // LATIN SMALL LETTER D - 0x65: [471,27,472,81,428], // LATIN SMALL LETTER E - 0x66: [687,222,388,35,372], // LATIN SMALL LETTER F - 0x67: [472,208,595,17,541], // LATIN SMALL LETTER G - 0x68: [687,207,615,89,507], // LATIN SMALL LETTER H - 0x69: [686,25,331,3,327], // LATIN SMALL LETTER I - 0x6A: [682,203,332,-19,238], // LATIN SMALL LETTER J - 0x6B: [682,25,464,34,432], // LATIN SMALL LETTER K - 0x6C: [681,24,337,100,312], // LATIN SMALL LETTER L - 0x6D: [476,31,921,16,900], // LATIN SMALL LETTER M - 0x6E: [473,28,654,5,608], // LATIN SMALL LETTER N - 0x6F: [482,34,609,107,515], // LATIN SMALL LETTER O - 0x70: [557,207,604,-1,519], // LATIN SMALL LETTER P - 0x71: [485,211,596,87,515], // LATIN SMALL LETTER Q - 0x72: [472,26,460,13,453], // LATIN SMALL LETTER R - 0x73: [479,34,523,-23,481], // LATIN SMALL LETTER S - 0x74: [648,27,393,43,407], // LATIN SMALL LETTER T - 0x75: [472,32,589,9,603], // LATIN SMALL LETTER U - 0x76: [546,27,604,56,507], // LATIN SMALL LETTER V - 0x77: [549,32,918,55,815], // LATIN SMALL LETTER W - 0x78: [471,188,459,8,441], // LATIN SMALL LETTER X - 0x79: [557,221,589,60,512], // LATIN SMALL LETTER Y - 0x7A: [471,214,461,-7,378], // LATIN SMALL LETTER Z - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x2018: [708,-411,254,53,187], // LEFT SINGLE QUOTATION MARK - 0x2019: [692,-394,254,58,193], // RIGHT SINGLE QUOTATION MARK - 0xE301: [630,27,587,64,512], // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED - 0xE302: [693,212,394,37,408], // stix-capital Delta, Greek slashed - 0xE303: [681,219,387,36,384], // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED - 0xE304: [473,212,593,67,531], // stix-capital Epsilon, Greek slashed - 0xE305: [684,27,393,33,387], // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED - 0xE308: [679,220,981,32,875], // stix-capital Eta, Greek slashed - 0xE309: [717,137,727,17,633] // stix-MATHEMATICAL BOLD CAPITAL ETA SLASHED -}; - -CHTML.fontLoaded("TeX/"+font.substr(8)); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js deleted file mode 100644 index ebf4de1f..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js +++ /dev/null @@ -1,125 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (CHTML) { - -var font = 'MathJax_Fraktur'; - -CHTML.FONTDATA.FONTS[font] = { - className: CHTML.FONTDATA.familyName(font), - centerline: 258, ascent: 740, descent: 224, - 0x20: [0,0,250,0,0], // SPACE - 0x21: [689,12,296,91,204], // EXCLAMATION MARK - 0x22: [695,-432,215,8,196], // QUOTATION MARK - 0x26: [698,11,738,49,733], // AMPERSAND - 0x27: [695,-436,212,69,134], // APOSTROPHE - 0x28: [737,186,389,114,293], // LEFT PARENTHESIS - 0x29: [735,187,389,89,276], // RIGHT PARENTHESIS - 0x2A: [692,-449,278,33,234], // ASTERISK - 0x2B: [598,82,756,47,709], // PLUS SIGN - 0x2C: [107,191,278,99,213], // COMMA - 0x2D: [275,-236,756,46,706], // HYPHEN-MINUS - 0x2E: [102,15,278,87,200], // FULL STOP - 0x2F: [721,182,502,34,466], // SOLIDUS - 0x30: [492,13,502,42,456], // DIGIT ZERO - 0x31: [468,2,502,47,460], // DIGIT ONE - 0x32: [474,-1,502,60,484], // DIGIT TWO - 0x33: [473,182,502,39,429], // DIGIT THREE - 0x34: [476,191,502,10,481], // DIGIT FOUR - 0x35: [458,184,502,47,440], // DIGIT FIVE - 0x36: [700,13,502,45,471], // DIGIT SIX - 0x37: [468,181,502,37,498], // DIGIT SEVEN - 0x38: [705,10,502,40,461], // DIGIT EIGHT - 0x39: [469,182,502,28,466], // DIGIT NINE - 0x3A: [457,12,216,50,168], // COLON - 0x3B: [458,189,216,47,179], // SEMICOLON - 0x3D: [368,-132,756,54,725], // EQUALS SIGN - 0x3F: [693,11,362,46,357], // QUESTION MARK - 0x41: [696,26,718,22,708], // LATIN CAPITAL LETTER A - 0x42: [691,27,884,48,820], // LATIN CAPITAL LETTER B - 0x43: [685,24,613,59,607], // LATIN CAPITAL LETTER C - 0x44: [685,27,832,27,745], // LATIN CAPITAL LETTER D - 0x45: [685,24,663,86,634], // LATIN CAPITAL LETTER E - 0x46: [686,153,611,11,612], // LATIN CAPITAL LETTER F - 0x47: [690,26,785,66,710], // LATIN CAPITAL LETTER G - 0x48: [666,133,720,1,644], // LATIN CAPITAL LETTER H - 0x49: [686,26,554,30,532], // LATIN CAPITAL LETTER I - 0x4A: [686,139,552,-10,522], // LATIN CAPITAL LETTER J - 0x4B: [680,27,668,17,682], // LATIN CAPITAL LETTER K - 0x4C: [686,26,666,33,644], // LATIN CAPITAL LETTER L - 0x4D: [692,27,1050,27,1048], // LATIN CAPITAL LETTER M - 0x4E: [686,25,832,27,825], // LATIN CAPITAL LETTER N - 0x4F: [729,27,827,12,744], // LATIN CAPITAL LETTER O - 0x50: [692,218,828,28,804], // LATIN CAPITAL LETTER P - 0x51: [729,69,827,11,782], // LATIN CAPITAL LETTER Q - 0x52: [686,26,828,27,824], // LATIN CAPITAL LETTER R - 0x53: [692,27,829,66,756], // LATIN CAPITAL LETTER S - 0x54: [701,27,669,34,676], // LATIN CAPITAL LETTER T - 0x55: [697,27,646,-25,665], // LATIN CAPITAL LETTER U - 0x56: [686,26,831,26,825], // LATIN CAPITAL LETTER V - 0x57: [686,27,1046,32,1054], // LATIN CAPITAL LETTER W - 0x58: [688,27,719,28,709], // LATIN CAPITAL LETTER X - 0x59: [686,218,833,27,740], // LATIN CAPITAL LETTER Y - 0x5A: [729,139,602,11,532], // LATIN CAPITAL LETTER Z - 0x5B: [740,130,278,117,278], // LEFT SQUARE BRACKET - 0x5D: [738,131,278,-4,160], // RIGHT SQUARE BRACKET - 0x5E: [734,-452,500,0,495], // CIRCUMFLEX ACCENT - 0x61: [470,35,500,66,497], // LATIN SMALL LETTER A - 0x62: [685,31,513,87,442], // LATIN SMALL LETTER B - 0x63: [466,29,389,72,359], // LATIN SMALL LETTER C - 0x64: [609,33,499,13,428], // LATIN SMALL LETTER D - 0x65: [467,30,401,70,364], // LATIN SMALL LETTER E - 0x66: [681,221,326,30,323], // LATIN SMALL LETTER F - 0x67: [470,209,504,17,455], // LATIN SMALL LETTER G - 0x68: [688,205,521,77,434], // LATIN SMALL LETTER H - 0x69: [673,20,279,14,267], // LATIN SMALL LETTER I - 0x6A: [672,208,281,-9,196], // LATIN SMALL LETTER J - 0x6B: [689,25,389,24,362], // LATIN SMALL LETTER K - 0x6C: [685,20,280,98,276], // LATIN SMALL LETTER L - 0x6D: [475,26,767,8,753], // LATIN SMALL LETTER M - 0x6E: [475,22,527,20,514], // LATIN SMALL LETTER N - 0x6F: [480,28,489,67,412], // LATIN SMALL LETTER O - 0x70: [541,212,500,12,430], // LATIN SMALL LETTER P - 0x71: [479,219,489,60,419], // LATIN SMALL LETTER Q - 0x72: [474,21,389,17,387], // LATIN SMALL LETTER R - 0x73: [478,29,443,-18,406], // LATIN SMALL LETTER S - 0x74: [640,20,333,27,348], // LATIN SMALL LETTER T - 0x75: [474,23,517,9,513], // LATIN SMALL LETTER U - 0x76: [530,28,512,55,434], // LATIN SMALL LETTER V - 0x77: [532,28,774,45,688], // LATIN SMALL LETTER W - 0x78: [472,188,389,10,363], // LATIN SMALL LETTER X - 0x79: [528,218,499,45,431], // LATIN SMALL LETTER Y - 0x7A: [471,214,391,-7,314], // LATIN SMALL LETTER Z - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x2018: [708,-410,215,45,158], // LEFT SINGLE QUOTATION MARK - 0x2019: [692,-395,215,49,163], // RIGHT SINGLE QUOTATION MARK - 0xE300: [683,32,497,75,430], // stix-capital Gamma, Greek slashed - 0xE301: [616,30,498,35,432], // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED - 0xE302: [680,215,333,29,339], // stix-capital Delta, Greek slashed - 0xE303: [679,224,329,28,318], // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED - 0xE304: [471,214,503,52,449], // stix-capital Epsilon, Greek slashed - 0xE305: [686,20,333,26,315], // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED - 0xE306: [577,21,334,29,347], // stix-capital Zeta, Greek slashed - 0xE307: [475,22,501,10,514] // stix-MATHEMATICAL BOLD CAPITAL ZETA SLASHED -}; - -CHTML.fontLoaded("TeX/"+font.substr(8)); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js deleted file mode 100644 index 404ac2fc..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js +++ /dev/null @@ -1,208 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - * - */ - - -(function (CHTML) { - -var font = 'MathJax_Main-Bold'; - -MathJax.Hub.Insert(CHTML.FONTDATA.FONTS[font],{ - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0xA8: [695,-535,575,96,478], // DIAERESIS - 0xAC: [371,-61,767,64,702], // NOT SIGN - 0xAF: [607,-540,575,80,494], // MACRON - 0xB0: [702,-536,575,160,414], // DEGREE SIGN - 0xB1: [728,35,894,64,829], // PLUS-MINUS SIGN - 0xB4: [706,-503,575,236,460], // ACUTE ACCENT - 0xD7: [530,28,894,168,726], // MULTIPLICATION SIGN - 0xF7: [597,96,894,64,828], // DIVISION SIGN - 0x131: [452,8,394,24,367], // LATIN SMALL LETTER DOTLESS I - 0x237: [451,201,439,-12,420], // LATIN SMALL LETTER DOTLESS J - 0x2C6: [694,-520,575,126,448], // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2C7: [660,-515,575,130,444], // CARON - 0x2C9: [607,-540,575,80,494], // MODIFIER LETTER MACRON - 0x2CA: [706,-503,575,236,460], // MODIFIER LETTER ACUTE ACCENT - 0x2CB: [706,-503,575,114,338], // MODIFIER LETTER GRAVE ACCENT - 0x2D8: [694,-500,575,102,472], // BREVE - 0x2D9: [695,-525,575,202,372], // DOT ABOVE - 0x2DA: [702,-536,575,160,414], // RING ABOVE - 0x2DC: [694,-552,575,96,478], // SMALL TILDE - 0x300: [706,-503,0,-461,-237], // COMBINING GRAVE ACCENT - 0x301: [706,-503,0,-339,-115], // COMBINING ACUTE ACCENT - 0x302: [694,-520,0,-449,-127], // COMBINING CIRCUMFLEX ACCENT - 0x303: [694,-552,0,-479,-97], // COMBINING TILDE - 0x304: [607,-540,0,-495,-81], // COMBINING MACRON - 0x306: [694,-500,0,-473,-103], // COMBINING BREVE - 0x307: [695,-525,0,-373,-203], // COMBINING DOT ABOVE - 0x308: [695,-535,0,-479,-97], // COMBINING DIAERESIS - 0x30A: [702,-536,0,-415,-161], // COMBINING RING ABOVE - 0x30B: [714,-511,0,-442,-82], // COMBINING DOUBLE ACUTE ACCENT - 0x30C: [660,-515,0,-445,-131], // COMBINING CARON - 0x338: [711,210,0,-734,-161], // COMBINING LONG SOLIDUS OVERLAY - 0x2002: [0,0,500,0,0], // ?? - 0x2003: [0,0,999,0,0], // ?? - 0x2004: [0,0,333,0,0], // ?? - 0x2005: [0,0,250,0,0], // ?? - 0x2006: [0,0,167,0,0], // ?? - 0x2009: [0,0,167,0,0], // ?? - 0x200A: [0,0,83,0,0], // ?? - 0x2013: [300,-249,575,0,574], // EN DASH - 0x2014: [300,-249,1150,0,1149], // EM DASH - 0x2018: [694,-329,319,58,245], // LEFT SINGLE QUOTATION MARK - 0x2019: [694,-329,319,74,261], // RIGHT SINGLE QUOTATION MARK - 0x201C: [694,-329,603,110,564], // LEFT DOUBLE QUOTATION MARK - 0x201D: [694,-329,603,38,492], // RIGHT DOUBLE QUOTATION MARK - 0x2020: [702,211,511,64,446], // DAGGER - 0x2021: [702,202,511,64,446], // DOUBLE DAGGER - 0x2026: [171,-1,1295,74,1221], // HORIZONTAL ELLIPSIS - 0x2032: [563,-33,344,35,331], // PRIME - 0x20D7: [723,-513,0,-542,-33], // COMBINING RIGHT ARROW ABOVE - 0x210F: [694,8,668,45,642], // stix-/hbar - Planck's over 2pi - 0x2111: [702,8,831,64,798], // BLACK-LETTER CAPITAL I - 0x2113: [702,19,474,-1,446], // SCRIPT SMALL L - 0x2118: [461,210,740,72,726], // SCRIPT CAPITAL P - 0x211C: [711,16,831,42,824], // BLACK-LETTER CAPITAL R - 0x2135: [694,0,703,64,638], // ALEF SYMBOL - 0x2190: [518,17,1150,64,1084], // LEFTWARDS ARROW - 0x2191: [694,193,575,14,561], // UPWARDS ARROW - 0x2192: [518,17,1150,65,1085], // RIGHTWARDS ARROW - 0x2193: [694,194,575,14,561], // DOWNWARDS ARROW - 0x2194: [518,17,1150,64,1085], // LEFT RIGHT ARROW - 0x2195: [767,267,575,14,561], // UP DOWN ARROW - 0x2196: [724,194,1150,64,1084], // NORTH WEST ARROW - 0x2197: [724,193,1150,64,1085], // NORTH EAST ARROW - 0x2198: [694,224,1150,65,1085], // SOUTH EAST ARROW - 0x2199: [694,224,1150,64,1085], // SOUTH WEST ARROW - 0x21A6: [518,17,1150,65,1085], // RIGHTWARDS ARROW FROM BAR - 0x21A9: [518,17,1282,64,1218], // LEFTWARDS ARROW WITH HOOK - 0x21AA: [518,17,1282,65,1217], // RIGHTWARDS ARROW WITH HOOK - 0x21BC: [518,-220,1150,64,1084], // LEFTWARDS HARPOON WITH BARB UPWARDS - 0x21BD: [281,17,1150,64,1084], // LEFTWARDS HARPOON WITH BARB DOWNWARDS - 0x21C0: [518,-220,1150,65,1085], // RIGHTWARDS HARPOON WITH BARB UPWARDS - 0x21C1: [281,17,1150,64,1085], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS - 0x21CC: [718,17,1150,64,1085], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON - 0x21D0: [547,46,1150,64,1085], // LEFTWARDS DOUBLE ARROW - 0x21D1: [694,193,703,30,672], // UPWARDS DOUBLE ARROW - 0x21D2: [547,46,1150,64,1084], // RIGHTWARDS DOUBLE ARROW - 0x21D3: [694,194,703,30,672], // DOWNWARDS DOUBLE ARROW - 0x21D4: [547,46,1150,47,1102], // LEFT RIGHT DOUBLE ARROW - 0x21D5: [767,267,703,30,672], // UP DOWN DOUBLE ARROW - 0x2200: [694,16,639,1,640], // FOR ALL - 0x2202: [710,17,628,60,657], // PARTIAL DIFFERENTIAL - 0x2203: [694,-1,639,64,574], // THERE EXISTS - 0x2205: [767,73,575,46,528], // EMPTY SET - 0x2207: [686,24,958,56,901], // NABLA - 0x2208: [587,86,767,97,670], // ELEMENT OF - 0x2209: [711,210,767,97,670], // stix-negated (vert) set membership, variant - 0x220B: [587,86,767,96,670], // CONTAINS AS MEMBER - 0x2212: [281,-221,894,96,797], // MINUS SIGN - 0x2213: [537,227,894,64,829], // MINUS-OR-PLUS SIGN - 0x2215: [750,250,575,63,511], // DIVISION SLASH - 0x2216: [750,250,575,63,511], // SET MINUS - 0x2217: [472,-28,575,73,501], // ASTERISK OPERATOR - 0x2218: [474,-28,575,64,510], // RING OPERATOR - 0x2219: [474,-28,575,64,510], // BULLET OPERATOR - 0x221A: [820,180,958,78,988], // SQUARE ROOT - 0x221D: [451,8,894,65,830], // PROPORTIONAL TO - 0x221E: [452,8,1150,65,1084], // INFINITY - 0x2220: [714,0,722,55,676], // ANGLE - 0x2223: [750,249,319,129,190], // DIVIDES - 0x2225: [750,248,575,145,430], // PARALLEL TO - 0x2227: [604,17,767,64,702], // LOGICAL AND - 0x2228: [604,16,767,64,702], // LOGICAL OR - 0x2229: [603,16,767,64,702], // stix-intersection, serifs - 0x222A: [604,16,767,64,702], // stix-union, serifs - 0x222B: [711,211,569,64,632], // INTEGRAL - 0x223C: [391,-109,894,64,828], // TILDE OPERATOR - 0x2240: [583,82,319,64,254], // WREATH PRODUCT - 0x2243: [502,3,894,64,829], // ASYMPTOTICALLY EQUAL TO - 0x2245: [638,27,1000,64,829], // APPROXIMATELY EQUAL TO - 0x2248: [524,-32,894,64,829], // ALMOST EQUAL TO - 0x224D: [533,32,894,64,829], // EQUIVALENT TO - 0x2250: [721,-109,894,64,829], // APPROACHES THE LIMIT - 0x2260: [711,210,894,64,829], // stix-not (vert) equals - 0x2261: [505,3,894,64,829], // IDENTICAL TO - 0x2264: [697,199,894,96,797], // LESS-THAN OR EQUAL TO - 0x2265: [697,199,894,96,797], // GREATER-THAN OR EQUAL TO - 0x226A: [617,116,1150,64,1085], // MUCH LESS-THAN - 0x226B: [618,116,1150,64,1085], // MUCH GREATER-THAN - 0x227A: [585,86,894,96,797], // PRECEDES - 0x227B: [586,86,894,96,797], // SUCCEEDS - 0x2282: [587,85,894,96,797], // SUBSET OF - 0x2283: [587,86,894,96,796], // SUPERSET OF - 0x2286: [697,199,894,96,797], // SUBSET OF OR EQUAL TO - 0x2287: [697,199,894,96,796], // SUPERSET OF OR EQUAL TO - 0x228E: [604,16,767,64,702], // MULTISET UNION - 0x2291: [697,199,894,96,828], // SQUARE IMAGE OF OR EQUAL TO - 0x2292: [697,199,894,66,797], // SQUARE ORIGINAL OF OR EQUAL TO - 0x2293: [604,-1,767,70,696], // stix-square intersection, serifs - 0x2294: [604,-1,767,70,696], // stix-square union, serifs - 0x2295: [632,132,894,64,828], // stix-circled plus (with rim) - 0x2296: [632,132,894,64,828], // CIRCLED MINUS - 0x2297: [632,132,894,64,828], // stix-circled times (with rim) - 0x2298: [632,132,894,64,828], // CIRCLED DIVISION SLASH - 0x2299: [632,132,894,64,828], // CIRCLED DOT OPERATOR - 0x22A2: [693,-1,703,65,637], // RIGHT TACK - 0x22A3: [693,-1,703,64,638], // LEFT TACK - 0x22A4: [694,-1,894,64,829], // DOWN TACK - 0x22A5: [693,-1,894,65,829], // UP TACK - 0x22A8: [750,249,974,129,918], // TRUE - 0x22C4: [523,21,575,15,560], // DIAMOND OPERATOR - 0x22C5: [336,-166,319,74,245], // DOT OPERATOR - 0x22C6: [502,0,575,24,550], // STAR OPERATOR - 0x22C8: [540,39,1000,33,967], // BOWTIE - 0x22EE: [951,29,319,74,245], // VERTICAL ELLIPSIS - 0x22EF: [336,-166,1295,74,1221], // MIDLINE HORIZONTAL ELLIPSIS - 0x22F1: [871,-101,1323,129,1194], // DOWN RIGHT DIAGONAL ELLIPSIS - 0x2308: [750,248,511,194,493], // LEFT CEILING - 0x2309: [750,248,511,17,317], // RIGHT CEILING - 0x230A: [749,248,511,194,493], // LEFT FLOOR - 0x230B: [749,248,511,17,317], // RIGHT FLOOR - 0x2322: [405,-108,1150,65,1084], // stix-small down curve - 0x2323: [392,-126,1150,64,1085], // stix-small up curve - 0x25B3: [711,-1,1022,69,953], // WHITE UP-POINTING TRIANGLE - 0x25B9: [540,39,575,33,542], // WHITE RIGHT-POINTING SMALL TRIANGLE - 0x25BD: [500,210,1022,68,953], // WHITE DOWN-POINTING TRIANGLE - 0x25C3: [539,38,575,33,542], // WHITE LEFT-POINTING SMALL TRIANGLE - 0x25EF: [711,211,1150,65,1084], // LARGE CIRCLE - 0x2660: [719,129,894,64,829], // BLACK SPADE SUIT - 0x2661: [711,24,894,65,828], // WHITE HEART SUIT - 0x2662: [719,154,894,64,828], // WHITE DIAMOND SUIT - 0x2663: [719,129,894,32,861], // BLACK CLUB SUIT - 0x266D: [750,17,447,64,381], // MUSIC FLAT SIGN - 0x266E: [741,223,447,57,389], // MUSIC NATURAL SIGN - 0x266F: [724,224,447,63,382], // MUSIC SHARP SIGN - 0x27E8: [750,249,447,127,382], // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E9: [750,249,447,64,319], // MATHEMATICAL RIGHT ANGLE BRACKET - 0x27F5: [518,17,1805,64,1741], // LONG LEFTWARDS ARROW - 0x27F6: [518,17,1833,96,1773], // LONG RIGHTWARDS ARROW - 0x27F7: [518,17,2126,64,2061], // LONG LEFT RIGHT ARROW - 0x27F8: [547,46,1868,64,1804], // LONG LEFTWARDS DOUBLE ARROW - 0x27F9: [547,46,1870,64,1804], // LONG RIGHTWARDS DOUBLE ARROW - 0x27FA: [547,46,2126,64,2060], // LONG LEFT RIGHT DOUBLE ARROW - 0x27FC: [518,17,1833,65,1773], // LONG RIGHTWARDS ARROW FROM BAR - 0x2A3F: [686,0,900,39,860], // AMALGAMATION OR COPRODUCT - 0x2AAF: [696,199,894,96,797], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN - 0x2AB0: [697,199,894,96,797] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN -}); - -CHTML.fontLoaded("TeX/"+font.substr(8)); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js deleted file mode 100644 index 13cfbc6d..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js +++ /dev/null @@ -1,208 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (CHTML) { - -var font = 'MathJax_Math-BoldItalic'; - -CHTML.FONTDATA.FONTS[font] = { - className: CHTML.FONTDATA.familyName(font), - centerline: 255, ascent: 725, descent: 216, - weight: 'bold', - style: 'italic', - skew: { - 0x41: 0.16, - 0x42: 0.0958, - 0x43: 0.0958, - 0x44: 0.0639, - 0x45: 0.0958, - 0x46: 0.0958, - 0x47: 0.0958, - 0x48: 0.0639, - 0x49: 0.128, - 0x4A: 0.192, - 0x4B: 0.0639, - 0x4C: 0.0319, - 0x4D: 0.0958, - 0x4E: 0.0958, - 0x4F: 0.0958, - 0x50: 0.0958, - 0x51: 0.0958, - 0x52: 0.0958, - 0x53: 0.0958, - 0x54: 0.0958, - 0x55: 0.0319, - 0x58: 0.0958, - 0x5A: 0.0958, - 0x63: 0.0639, - 0x64: 0.192, - 0x65: 0.0639, - 0x66: 0.192, - 0x67: 0.0319, - 0x68: -0.0319, - 0x6C: 0.0958, - 0x6F: 0.0639, - 0x70: 0.0958, - 0x71: 0.0958, - 0x72: 0.0639, - 0x73: 0.0639, - 0x74: 0.0958, - 0x75: 0.0319, - 0x76: 0.0319, - 0x77: 0.0958, - 0x78: 0.0319, - 0x79: 0.0639, - 0x7A: 0.0639, - 0x393: 0.0958, - 0x394: 0.192, - 0x398: 0.0958, - 0x39B: 0.192, - 0x39E: 0.0958, - 0x3A0: 0.0639, - 0x3A3: 0.0958, - 0x3A5: 0.0639, - 0x3A6: 0.0958, - 0x3A8: 0.0639, - 0x3A9: 0.0958, - 0x3B1: 0.0319, - 0x3B2: 0.0958, - 0x3B4: 0.0639, - 0x3B5: 0.0958, - 0x3B6: 0.0958, - 0x3B7: 0.0639, - 0x3B8: 0.0958, - 0x3B9: 0.0639, - 0x3BC: 0.0319, - 0x3BD: 0.0319, - 0x3BE: 0.128, - 0x3BF: 0.0639, - 0x3C1: 0.0958, - 0x3C2: 0.0958, - 0x3C4: 0.0319, - 0x3C5: 0.0319, - 0x3C6: 0.0958, - 0x3C7: 0.0639, - 0x3C8: 0.128, - 0x3D1: 0.0958, - 0x3D5: 0.0958, - 0x3F1: 0.0958, - 0x3F5: 0.0639 - }, - 0x20: [0,0,250,0,0], // SPACE - 0x2F: [711,210,894,160,733], // SOLIDUS - 0x41: [711,0,869,45,839], // LATIN CAPITAL LETTER A - 0x42: [686,0,866,43,853], // LATIN CAPITAL LETTER B - 0x43: [703,17,817,55,855], // LATIN CAPITAL LETTER C - 0x44: [686,0,938,43,914], // LATIN CAPITAL LETTER D - 0x45: [680,0,810,43,825], // LATIN CAPITAL LETTER E - 0x46: [680,0,689,43,809], // LATIN CAPITAL LETTER F - 0x47: [703,16,887,56,854], // LATIN CAPITAL LETTER G - 0x48: [686,0,982,43,1027], // LATIN CAPITAL LETTER H - 0x49: [686,0,511,30,573], // LATIN CAPITAL LETTER I - 0x4A: [686,17,631,42,694], // LATIN CAPITAL LETTER J - 0x4B: [686,0,971,43,1003], // LATIN CAPITAL LETTER K - 0x4C: [686,0,756,43,711], // LATIN CAPITAL LETTER L - 0x4D: [686,0,1142,43,1219], // LATIN CAPITAL LETTER M - 0x4E: [686,0,950,43,1027], // LATIN CAPITAL LETTER N - 0x4F: [703,17,837,53,815], // LATIN CAPITAL LETTER O - 0x50: [686,0,723,43,847], // LATIN CAPITAL LETTER P - 0x51: [703,194,869,53,815], // LATIN CAPITAL LETTER Q - 0x52: [686,17,872,43,881], // LATIN CAPITAL LETTER R - 0x53: [703,17,693,63,714], // LATIN CAPITAL LETTER S - 0x54: [675,0,637,22,772], // LATIN CAPITAL LETTER T - 0x55: [686,16,800,63,877], // LATIN CAPITAL LETTER U - 0x56: [686,16,678,62,886], // LATIN CAPITAL LETTER V - 0x57: [686,17,1093,61,1207], // LATIN CAPITAL LETTER W - 0x58: [686,0,947,38,953], // LATIN CAPITAL LETTER X - 0x59: [686,0,675,40,876], // LATIN CAPITAL LETTER Y - 0x5A: [686,0,773,68,805], // LATIN CAPITAL LETTER Z - 0x61: [452,8,633,38,607], // LATIN SMALL LETTER A - 0x62: [694,8,521,45,513], // LATIN SMALL LETTER B - 0x63: [451,8,513,40,509], // LATIN SMALL LETTER C - 0x64: [694,8,610,38,612], // LATIN SMALL LETTER D - 0x65: [452,8,554,42,509], // LATIN SMALL LETTER E - 0x66: [701,201,568,64,624], // LATIN SMALL LETTER F - 0x67: [452,202,545,0,540], // LATIN SMALL LETTER G - 0x68: [694,8,668,45,642], // LATIN SMALL LETTER H - 0x69: [694,8,405,24,367], // LATIN SMALL LETTER I - 0x6A: [694,202,471,-12,456], // LATIN SMALL LETTER J - 0x6B: [694,8,604,45,578], // LATIN SMALL LETTER K - 0x6C: [694,8,348,27,296], // LATIN SMALL LETTER L - 0x6D: [452,8,1032,24,1006], // LATIN SMALL LETTER M - 0x6E: [452,8,713,24,687], // LATIN SMALL LETTER N - 0x6F: [452,8,585,39,576], // LATIN SMALL LETTER O - 0x70: [452,194,601,-23,593], // LATIN SMALL LETTER P - 0x71: [452,194,542,38,550], // LATIN SMALL LETTER Q - 0x72: [452,8,529,24,500], // LATIN SMALL LETTER R - 0x73: [451,8,531,57,476], // LATIN SMALL LETTER S - 0x74: [643,7,415,21,387], // LATIN SMALL LETTER T - 0x75: [452,8,681,24,655], // LATIN SMALL LETTER U - 0x76: [453,8,567,24,540], // LATIN SMALL LETTER V - 0x77: [453,8,831,24,796], // LATIN SMALL LETTER W - 0x78: [452,8,659,43,599], // LATIN SMALL LETTER X - 0x79: [452,202,590,24,587], // LATIN SMALL LETTER Y - 0x7A: [452,8,555,34,539], // LATIN SMALL LETTER Z - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x393: [680,0,657,43,777], // GREEK CAPITAL LETTER GAMMA - 0x394: [711,0,958,59,904], // GREEK CAPITAL LETTER DELTA - 0x398: [702,17,867,54,844], // GREEK CAPITAL LETTER THETA - 0x39B: [711,0,806,44,776], // GREEK CAPITAL LETTER LAMDA - 0x39E: [675,0,841,62,867], // GREEK CAPITAL LETTER XI - 0x3A0: [680,0,982,43,1026], // GREEK CAPITAL LETTER PI - 0x3A3: [686,0,885,69,902], // GREEK CAPITAL LETTER SIGMA - 0x3A5: [703,0,671,32,802], // GREEK CAPITAL LETTER UPSILON - 0x3A6: [686,0,767,29,737], // GREEK CAPITAL LETTER PHI - 0x3A8: [686,0,714,22,790], // GREEK CAPITAL LETTER PSI - 0x3A9: [703,0,879,93,886], // GREEK CAPITAL LETTER OMEGA - 0x3B1: [452,8,761,39,712], // GREEK SMALL LETTER ALPHA - 0x3B2: [701,194,660,28,637], // GREEK SMALL LETTER BETA - 0x3B3: [451,211,590,5,617], // GREEK SMALL LETTER GAMMA - 0x3B4: [725,8,522,39,513], // GREEK SMALL LETTER DELTA - 0x3B5: [461,17,529,36,481], // GREEK SMALL LETTER EPSILON - 0x3B6: [711,202,508,48,521], // GREEK SMALL LETTER ZETA - 0x3B7: [452,211,600,24,600], // GREEK SMALL LETTER ETA - 0x3B8: [702,8,562,40,554], // GREEK SMALL LETTER THETA - 0x3B9: [452,8,412,38,386], // GREEK SMALL LETTER IOTA - 0x3BA: [452,8,668,45,642], // GREEK SMALL LETTER KAPPA - 0x3BB: [694,13,671,40,652], // GREEK SMALL LETTER LAMDA - 0x3BC: [452,211,708,33,682], // GREEK SMALL LETTER MU - 0x3BD: [452,2,577,38,608], // GREEK SMALL LETTER NU - 0x3BE: [711,201,508,23,490], // GREEK SMALL LETTER XI - 0x3BF: [452,8,585,39,576], // GREEK SMALL LETTER OMICRON - 0x3C0: [444,8,682,23,674], // GREEK SMALL LETTER PI - 0x3C1: [451,211,612,34,603], // GREEK SMALL LETTER RHO - 0x3C2: [451,105,424,33,457], // GREEK SMALL LETTER FINAL SIGMA - 0x3C3: [444,8,686,35,677], // GREEK SMALL LETTER SIGMA - 0x3C4: [444,13,521,23,610], // GREEK SMALL LETTER TAU - 0x3C5: [453,8,631,24,604], // GREEK SMALL LETTER UPSILON - 0x3C6: [452,216,747,53,703], // GREEK SMALL LETTER PHI - 0x3C7: [452,201,718,32,685], // GREEK SMALL LETTER CHI - 0x3C8: [694,202,758,24,732], // GREEK SMALL LETTER PSI - 0x3C9: [453,8,718,24,691], // GREEK SMALL LETTER OMEGA - 0x3D1: [701,8,692,24,656], // GREEK THETA SYMBOL - 0x3D5: [694,202,712,51,693], // GREEK PHI SYMBOL - 0x3D6: [444,8,975,23,961], // GREEK PI SYMBOL - 0x3F1: [451,194,612,75,603], // GREEK RHO SYMBOL - 0x3F5: [444,7,483,44,450] // GREEK LUNATE EPSILON SYMBOL -}; - -CHTML.fontLoaded("TeX/"+font.substr(8)); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js deleted file mode 100644 index de133ed5..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js +++ /dev/null @@ -1,152 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (CHTML) { - -var font = 'MathJax_SansSerif-Bold'; - -CHTML.FONTDATA.FONTS[font] = { - className: CHTML.FONTDATA.familyName(font), - centerline: 250, ascent: 750, descent: 250, - weight: 'bold', - 0x20: [0,0,250,0,0], // SPACE - 0x21: [694,0,367,110,256], // EXCLAMATION MARK - 0x22: [694,-442,558,37,420], // QUOTATION MARK - 0x23: [694,193,917,61,855], // NUMBER SIGN - 0x24: [750,56,550,49,488], // DOLLAR SIGN - 0x25: [750,56,1029,61,966], // PERCENT SIGN - 0x26: [716,22,831,47,769], // AMPERSAND - 0x27: [694,-442,306,80,226], // APOSTROPHE - 0x28: [750,249,428,79,366], // LEFT PARENTHESIS - 0x29: [750,250,428,61,348], // RIGHT PARENTHESIS - 0x2A: [750,-293,550,67,482], // ASTERISK - 0x2B: [617,116,856,61,794], // PLUS SIGN - 0x2C: [146,106,306,80,226], // COMMA - 0x2D: [273,-186,367,12,305], // HYPHEN-MINUS - 0x2E: [146,0,306,80,226], // FULL STOP - 0x2F: [750,249,550,61,488], // SOLIDUS - 0x30: [715,22,550,43,506], // DIGIT ZERO - 0x31: [716,-1,550,76,473], // DIGIT ONE - 0x32: [716,0,550,46,495], // DIGIT TWO - 0x33: [716,22,550,46,503], // DIGIT THREE - 0x34: [694,0,550,31,518], // DIGIT FOUR - 0x35: [694,22,550,37,494], // DIGIT FIVE - 0x36: [716,22,550,46,503], // DIGIT SIX - 0x37: [695,11,550,46,503], // DIGIT SEVEN - 0x38: [715,22,550,46,503], // DIGIT EIGHT - 0x39: [716,22,550,46,503], // DIGIT NINE - 0x3A: [458,0,306,80,226], // COLON - 0x3B: [458,106,306,80,226], // SEMICOLON - 0x3D: [407,-94,856,61,794], // EQUALS SIGN - 0x3F: [705,0,519,61,457], // QUESTION MARK - 0x40: [704,11,733,61,671], // COMMERCIAL AT - 0x41: [694,0,733,42,690], // LATIN CAPITAL LETTER A - 0x42: [694,-1,733,92,671], // LATIN CAPITAL LETTER B - 0x43: [704,11,703,61,647], // LATIN CAPITAL LETTER C - 0x44: [694,-1,794,92,732], // LATIN CAPITAL LETTER D - 0x45: [691,0,642,92,595], // LATIN CAPITAL LETTER E - 0x46: [691,0,611,92,564], // LATIN CAPITAL LETTER F - 0x47: [705,11,733,61,659], // LATIN CAPITAL LETTER G - 0x48: [694,0,794,92,702], // LATIN CAPITAL LETTER H - 0x49: [694,0,331,85,246], // LATIN CAPITAL LETTER I - 0x4A: [694,22,519,46,427], // LATIN CAPITAL LETTER J - 0x4B: [694,0,764,92,701], // LATIN CAPITAL LETTER K - 0x4C: [694,0,581,92,534], // LATIN CAPITAL LETTER L - 0x4D: [694,0,978,92,886], // LATIN CAPITAL LETTER M - 0x4E: [694,0,794,92,702], // LATIN CAPITAL LETTER N - 0x4F: [716,22,794,62,731], // LATIN CAPITAL LETTER O - 0x50: [694,0,703,92,641], // LATIN CAPITAL LETTER P - 0x51: [716,106,794,62,732], // LATIN CAPITAL LETTER Q - 0x52: [694,0,703,92,654], // LATIN CAPITAL LETTER R - 0x53: [716,22,611,49,549], // LATIN CAPITAL LETTER S - 0x54: [688,0,733,40,692], // LATIN CAPITAL LETTER T - 0x55: [694,22,764,92,672], // LATIN CAPITAL LETTER U - 0x56: [694,-1,733,27,705], // LATIN CAPITAL LETTER V - 0x57: [694,0,1039,24,1014], // LATIN CAPITAL LETTER W - 0x58: [694,0,733,37,694], // LATIN CAPITAL LETTER X - 0x59: [694,0,733,24,708], // LATIN CAPITAL LETTER Y - 0x5A: [694,0,672,61,616], // LATIN CAPITAL LETTER Z - 0x5B: [750,250,343,79,318], // LEFT SQUARE BRACKET - 0x5D: [750,250,343,24,263], // RIGHT SQUARE BRACKET - 0x5E: [694,-537,550,108,441], // CIRCUMFLEX ACCENT - 0x5F: [-23,110,550,0,549], // LOW LINE - 0x61: [475,11,525,31,472], // LATIN SMALL LETTER A - 0x62: [694,10,561,54,523], // LATIN SMALL LETTER B - 0x63: [475,11,489,37,457], // LATIN SMALL LETTER C - 0x64: [694,11,561,37,507], // LATIN SMALL LETTER D - 0x65: [474,10,511,30,480], // LATIN SMALL LETTER E - 0x66: [705,0,336,29,381], // LATIN SMALL LETTER F - 0x67: [469,206,550,17,534], // LATIN SMALL LETTER G - 0x68: [694,0,561,53,508], // LATIN SMALL LETTER H - 0x69: [695,0,256,46,208], // LATIN SMALL LETTER I - 0x6A: [695,205,286,-71,232], // LATIN SMALL LETTER J - 0x6B: [694,0,531,63,496], // LATIN SMALL LETTER K - 0x6C: [694,0,256,54,201], // LATIN SMALL LETTER L - 0x6D: [469,0,867,53,815], // LATIN SMALL LETTER M - 0x6E: [468,0,561,53,508], // LATIN SMALL LETTER N - 0x6F: [474,11,550,32,518], // LATIN SMALL LETTER O - 0x70: [469,194,561,54,523], // LATIN SMALL LETTER P - 0x71: [469,194,561,37,507], // LATIN SMALL LETTER Q - 0x72: [469,0,372,54,356], // LATIN SMALL LETTER R - 0x73: [474,10,422,30,396], // LATIN SMALL LETTER S - 0x74: [589,10,404,20,373], // LATIN SMALL LETTER T - 0x75: [458,11,561,52,508], // LATIN SMALL LETTER U - 0x76: [458,0,500,26,473], // LATIN SMALL LETTER V - 0x77: [458,0,744,24,719], // LATIN SMALL LETTER W - 0x78: [458,0,500,24,475], // LATIN SMALL LETTER X - 0x79: [458,205,500,29,473], // LATIN SMALL LETTER Y - 0x7A: [458,0,476,31,442], // LATIN SMALL LETTER Z - 0x7E: [344,-198,550,92,457], // TILDE - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x131: [458,0,256,54,201], // LATIN SMALL LETTER DOTLESS I - 0x237: [458,205,286,-71,232], // LATIN SMALL LETTER DOTLESS J - 0x300: [694,-537,0,-458,-218], // COMBINING GRAVE ACCENT - 0x301: [694,-537,0,-334,-93], // COMBINING ACUTE ACCENT - 0x302: [694,-537,0,-442,-109], // COMBINING CIRCUMFLEX ACCENT - 0x303: [694,-548,0,-458,-93], // COMBINING TILDE - 0x304: [660,-560,0,-474,-77], // COMBINING MACRON - 0x306: [694,-552,0,-470,-80], // COMBINING BREVE - 0x307: [695,-596,0,-356,-194], // COMBINING DOT ABOVE - 0x308: [695,-595,0,-459,-91], // COMBINING DIAERESIS - 0x30A: [694,-538,0,-365,-119], // COMBINING RING ABOVE - 0x30B: [694,-537,0,-440,-94], // COMBINING DOUBLE ACUTE ACCENT - 0x30C: [657,-500,0,-442,-109], // COMBINING CARON - 0x393: [691,0,581,92,534], // GREEK CAPITAL LETTER GAMMA - 0x394: [694,0,917,60,856], // GREEK CAPITAL LETTER DELTA - 0x398: [716,22,856,62,793], // GREEK CAPITAL LETTER THETA - 0x39B: [694,0,672,41,630], // GREEK CAPITAL LETTER LAMDA - 0x39E: [688,0,733,46,686], // GREEK CAPITAL LETTER XI - 0x3A0: [691,0,794,92,702], // GREEK CAPITAL LETTER PI - 0x3A3: [694,0,794,61,732], // GREEK CAPITAL LETTER SIGMA - 0x3A5: [715,0,856,62,793], // GREEK CAPITAL LETTER UPSILON - 0x3A6: [694,0,794,62,732], // GREEK CAPITAL LETTER PHI - 0x3A8: [694,0,856,61,794], // GREEK CAPITAL LETTER PSI - 0x3A9: [716,0,794,49,744], // GREEK CAPITAL LETTER OMEGA - 0x2013: [327,-240,550,0,549], // EN DASH - 0x2014: [327,-240,1100,0,1099], // EM DASH - 0x2018: [694,-443,306,81,226], // LEFT SINGLE QUOTATION MARK - 0x2019: [694,-442,306,80,226], // RIGHT SINGLE QUOTATION MARK - 0x201C: [694,-443,558,138,520], // LEFT DOUBLE QUOTATION MARK - 0x201D: [694,-442,558,37,420] // RIGHT DOUBLE QUOTATION MARK -}; - -CHTML.fontLoaded("TeX/"+font.substr(8)); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js deleted file mode 100644 index 28c6a6f4..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js +++ /dev/null @@ -1,152 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (CHTML) { - -var font = 'MathJax_SansSerif-Italic'; - -CHTML.FONTDATA.FONTS[font] = { - className: CHTML.FONTDATA.familyName(font), - centerline: 250, ascent: 750, descent: 250, - style: 'italic', - 0x20: [0,0,250,0,0], // SPACE - 0x21: [694,0,319,110,355], // EXCLAMATION MARK - 0x22: [694,-471,500,133,472], // QUOTATION MARK - 0x23: [694,194,833,87,851], // NUMBER SIGN - 0x24: [750,56,500,56,565], // DOLLAR SIGN - 0x25: [750,56,833,165,815], // PERCENT SIGN - 0x26: [716,22,758,71,747], // AMPERSAND - 0x27: [694,-471,278,190,335], // APOSTROPHE - 0x28: [750,250,389,104,491], // LEFT PARENTHESIS - 0x29: [750,250,389,2,390], // RIGHT PARENTHESIS - 0x2A: [750,-306,500,156,568], // ASTERISK - 0x2B: [583,83,778,108,775], // PLUS SIGN - 0x2C: [98,125,278,63,209], // COMMA - 0x2D: [259,-186,333,51,332], // HYPHEN-MINUS - 0x2E: [98,0,278,90,209], // FULL STOP - 0x2F: [750,250,500,6,600], // SOLIDUS - 0x30: [678,22,500,88,549], // DIGIT ZERO - 0x31: [678,0,500,88,451], // DIGIT ONE - 0x32: [678,0,500,50,551], // DIGIT TWO - 0x33: [678,22,500,56,544], // DIGIT THREE - 0x34: [656,0,500,62,521], // DIGIT FOUR - 0x35: [656,22,500,50,555], // DIGIT FIVE - 0x36: [678,22,500,94,548], // DIGIT SIX - 0x37: [656,11,500,143,596], // DIGIT SEVEN - 0x38: [678,22,500,77,554], // DIGIT EIGHT - 0x39: [677,22,500,77,545], // DIGIT NINE - 0x3A: [444,0,278,90,282], // COLON - 0x3B: [444,125,278,63,282], // SEMICOLON - 0x3D: [370,-130,778,88,796], // EQUALS SIGN - 0x3F: [704,0,472,173,536], // QUESTION MARK - 0x40: [705,10,667,120,707], // COMMERCIAL AT - 0x41: [694,0,667,28,638], // LATIN CAPITAL LETTER A - 0x42: [694,0,667,90,696], // LATIN CAPITAL LETTER B - 0x43: [705,10,639,124,719], // LATIN CAPITAL LETTER C - 0x44: [694,0,722,88,747], // LATIN CAPITAL LETTER D - 0x45: [691,0,597,86,688], // LATIN CAPITAL LETTER E - 0x46: [691,0,569,86,673], // LATIN CAPITAL LETTER F - 0x47: [705,11,667,125,730], // LATIN CAPITAL LETTER G - 0x48: [694,0,708,86,768], // LATIN CAPITAL LETTER H - 0x49: [694,0,278,87,338], // LATIN CAPITAL LETTER I - 0x4A: [694,22,472,46,535], // LATIN CAPITAL LETTER J - 0x4B: [694,0,694,88,785], // LATIN CAPITAL LETTER K - 0x4C: [694,0,542,87,516], // LATIN CAPITAL LETTER L - 0x4D: [694,0,875,92,929], // LATIN CAPITAL LETTER M - 0x4E: [694,0,708,88,766], // LATIN CAPITAL LETTER N - 0x4F: [716,22,736,118,763], // LATIN CAPITAL LETTER O - 0x50: [694,0,639,88,690], // LATIN CAPITAL LETTER P - 0x51: [716,125,736,118,763], // LATIN CAPITAL LETTER Q - 0x52: [694,0,646,88,698], // LATIN CAPITAL LETTER R - 0x53: [716,22,556,54,609], // LATIN CAPITAL LETTER S - 0x54: [688,0,681,165,790], // LATIN CAPITAL LETTER T - 0x55: [694,22,688,131,747], // LATIN CAPITAL LETTER U - 0x56: [694,0,667,161,799], // LATIN CAPITAL LETTER V - 0x57: [694,0,944,161,1076], // LATIN CAPITAL LETTER W - 0x58: [694,0,667,14,758], // LATIN CAPITAL LETTER X - 0x59: [694,0,667,151,810], // LATIN CAPITAL LETTER Y - 0x5A: [694,0,611,55,702], // LATIN CAPITAL LETTER Z - 0x5B: [750,250,289,41,425], // LEFT SQUARE BRACKET - 0x5D: [750,250,289,-31,353], // RIGHT SQUARE BRACKET - 0x5E: [694,-527,500,190,533], // CIRCUMFLEX ACCENT - 0x5F: [-38,114,500,50,565], // LOW LINE - 0x61: [461,10,481,61,473], // LATIN SMALL LETTER A - 0x62: [694,11,517,75,539], // LATIN SMALL LETTER B - 0x63: [460,11,444,75,499], // LATIN SMALL LETTER C - 0x64: [694,10,517,73,588], // LATIN SMALL LETTER D - 0x65: [460,11,444,71,472], // LATIN SMALL LETTER E - 0x66: [705,0,306,94,494], // LATIN SMALL LETTER F - 0x67: [455,206,500,12,568], // LATIN SMALL LETTER G - 0x68: [694,0,517,73,513], // LATIN SMALL LETTER H - 0x69: [680,0,239,74,315], // LATIN SMALL LETTER I - 0x6A: [680,204,267,-96,336], // LATIN SMALL LETTER J - 0x6B: [694,0,489,76,543], // LATIN SMALL LETTER K - 0x6C: [694,0,239,74,311], // LATIN SMALL LETTER L - 0x6D: [455,0,794,73,790], // LATIN SMALL LETTER M - 0x6E: [454,0,517,73,513], // LATIN SMALL LETTER N - 0x6F: [461,11,500,69,523], // LATIN SMALL LETTER O - 0x70: [455,194,517,34,538], // LATIN SMALL LETTER P - 0x71: [455,194,517,72,538], // LATIN SMALL LETTER Q - 0x72: [455,0,342,74,424], // LATIN SMALL LETTER R - 0x73: [461,11,383,35,436], // LATIN SMALL LETTER S - 0x74: [571,11,361,97,410], // LATIN SMALL LETTER T - 0x75: [444,10,517,90,537], // LATIN SMALL LETTER U - 0x76: [444,0,461,108,540], // LATIN SMALL LETTER V - 0x77: [444,0,683,108,762], // LATIN SMALL LETTER W - 0x78: [444,0,461,1,537], // LATIN SMALL LETTER X - 0x79: [444,205,461,1,540], // LATIN SMALL LETTER Y - 0x7A: [444,0,435,28,494], // LATIN SMALL LETTER Z - 0x7E: [327,-193,500,199,560], // TILDE - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x131: [444,0,239,74,258], // LATIN SMALL LETTER DOTLESS I - 0x237: [444,204,267,-96,286], // LATIN SMALL LETTER DOTLESS J - 0x300: [694,-527,0,-270,-87], // COMBINING GRAVE ACCENT - 0x301: [694,-527,0,-190,63], // COMBINING ACUTE ACCENT - 0x302: [694,-527,0,-310,33], // COMBINING CIRCUMFLEX ACCENT - 0x303: [677,-543,0,-301,60], // COMBINING TILDE - 0x304: [631,-552,0,-314,64], // COMBINING MACRON - 0x306: [694,-508,0,-284,73], // COMBINING BREVE - 0x307: [680,-576,0,-180,-54], // COMBINING DOT ABOVE - 0x308: [680,-582,0,-273,40], // COMBINING DIAERESIS - 0x30A: [693,-527,0,-227,-2], // COMBINING RING ABOVE - 0x30B: [694,-527,0,-287,63], // COMBINING DOUBLE ACUTE ACCENT - 0x30C: [654,-487,0,-283,60], // COMBINING CARON - 0x393: [691,0,542,87,646], // GREEK CAPITAL LETTER GAMMA - 0x394: [694,0,833,42,790], // GREEK CAPITAL LETTER DELTA - 0x398: [715,22,778,119,804], // GREEK CAPITAL LETTER THETA - 0x39B: [694,0,611,28,582], // GREEK CAPITAL LETTER LAMDA - 0x39E: [688,0,667,42,765], // GREEK CAPITAL LETTER XI - 0x3A0: [691,0,708,86,768], // GREEK CAPITAL LETTER PI - 0x3A3: [694,0,722,55,813], // GREEK CAPITAL LETTER SIGMA - 0x3A5: [716,0,778,173,843], // GREEK CAPITAL LETTER UPSILON - 0x3A6: [694,0,722,124,743], // GREEK CAPITAL LETTER PHI - 0x3A8: [694,0,778,171,854], // GREEK CAPITAL LETTER PSI - 0x3A9: [716,0,722,44,769], // GREEK CAPITAL LETTER OMEGA - 0x2013: [312,-236,500,50,565], // EN DASH - 0x2014: [312,-236,1000,50,1065], // EM DASH - 0x2018: [694,-471,278,190,336], // LEFT SINGLE QUOTATION MARK - 0x2019: [694,-471,278,190,335], // RIGHT SINGLE QUOTATION MARK - 0x201C: [694,-471,500,274,614], // LEFT DOUBLE QUOTATION MARK - 0x201D: [694,-471,500,133,472] // RIGHT DOUBLE QUOTATION MARK -}; - -CHTML.fontLoaded("TeX/"+font.substr(8)); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js deleted file mode 100644 index 0d14a1b3..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js +++ /dev/null @@ -1,152 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (CHTML) { - -var font = 'MathJax_SansSerif'; - -CHTML.FONTDATA.FONTS[font] = { - className: CHTML.FONTDATA.familyName(font), - centerline: 250, ascent: 750, descent: 250, - - 0x20: [0,0,250,0,0], // SPACE - 0x21: [694,0,319,110,208], // EXCLAMATION MARK - 0x22: [694,-471,500,32,325], // QUOTATION MARK - 0x23: [694,194,833,56,777], // NUMBER SIGN - 0x24: [750,56,500,44,444], // DOLLAR SIGN - 0x25: [750,56,833,56,776], // PERCENT SIGN - 0x26: [716,22,758,42,702], // AMPERSAND - 0x27: [694,-471,278,89,188], // APOSTROPHE - 0x28: [750,250,389,74,333], // LEFT PARENTHESIS - 0x29: [750,250,389,55,314], // RIGHT PARENTHESIS - 0x2A: [750,-306,500,63,436], // ASTERISK - 0x2B: [583,82,778,56,722], // PLUS SIGN - 0x2C: [98,125,278,89,188], // COMMA - 0x2D: [259,-186,333,11,277], // HYPHEN-MINUS - 0x2E: [98,0,278,90,188], // FULL STOP - 0x2F: [750,250,500,56,445], // SOLIDUS - 0x30: [678,22,500,39,460], // DIGIT ZERO - 0x31: [678,0,500,83,430], // DIGIT ONE - 0x32: [677,0,500,42,449], // DIGIT TWO - 0x33: [678,22,500,42,457], // DIGIT THREE - 0x34: [656,0,500,28,471], // DIGIT FOUR - 0x35: [656,21,500,33,449], // DIGIT FIVE - 0x36: [677,22,500,42,457], // DIGIT SIX - 0x37: [656,11,500,42,457], // DIGIT SEVEN - 0x38: [678,22,500,43,456], // DIGIT EIGHT - 0x39: [677,22,500,42,457], // DIGIT NINE - 0x3A: [444,0,278,90,188], // COLON - 0x3B: [444,125,278,89,188], // SEMICOLON - 0x3D: [370,-130,778,56,722], // EQUALS SIGN - 0x3F: [704,0,472,55,416], // QUESTION MARK - 0x40: [704,11,667,56,612], // COMMERCIAL AT - 0x41: [694,0,667,28,638], // LATIN CAPITAL LETTER A - 0x42: [694,0,667,90,610], // LATIN CAPITAL LETTER B - 0x43: [705,11,639,59,587], // LATIN CAPITAL LETTER C - 0x44: [694,0,722,88,666], // LATIN CAPITAL LETTER D - 0x45: [691,0,597,86,554], // LATIN CAPITAL LETTER E - 0x46: [691,0,569,86,526], // LATIN CAPITAL LETTER F - 0x47: [704,11,667,59,599], // LATIN CAPITAL LETTER G - 0x48: [694,0,708,86,621], // LATIN CAPITAL LETTER H - 0x49: [694,0,278,87,191], // LATIN CAPITAL LETTER I - 0x4A: [694,22,472,42,388], // LATIN CAPITAL LETTER J - 0x4B: [694,0,694,88,651], // LATIN CAPITAL LETTER K - 0x4C: [694,0,542,87,499], // LATIN CAPITAL LETTER L - 0x4D: [694,0,875,92,782], // LATIN CAPITAL LETTER M - 0x4E: [694,0,708,88,619], // LATIN CAPITAL LETTER N - 0x4F: [715,22,736,55,680], // LATIN CAPITAL LETTER O - 0x50: [694,0,639,88,583], // LATIN CAPITAL LETTER P - 0x51: [715,125,736,55,680], // LATIN CAPITAL LETTER Q - 0x52: [694,0,646,88,617], // LATIN CAPITAL LETTER R - 0x53: [716,22,556,44,500], // LATIN CAPITAL LETTER S - 0x54: [688,0,681,36,644], // LATIN CAPITAL LETTER T - 0x55: [694,22,688,87,600], // LATIN CAPITAL LETTER U - 0x56: [694,0,667,14,652], // LATIN CAPITAL LETTER V - 0x57: [694,0,944,14,929], // LATIN CAPITAL LETTER W - 0x58: [694,0,667,14,652], // LATIN CAPITAL LETTER X - 0x59: [694,0,667,3,663], // LATIN CAPITAL LETTER Y - 0x5A: [694,0,611,55,560], // LATIN CAPITAL LETTER Z - 0x5B: [750,250,289,94,266], // LEFT SQUARE BRACKET - 0x5D: [750,250,289,22,194], // RIGHT SQUARE BRACKET - 0x5E: [694,-527,500,78,421], // CIRCUMFLEX ACCENT - 0x5F: [-38,114,500,0,499], // LOW LINE - 0x61: [460,10,481,38,407], // LATIN SMALL LETTER A - 0x62: [694,11,517,75,482], // LATIN SMALL LETTER B - 0x63: [460,10,444,34,415], // LATIN SMALL LETTER C - 0x64: [694,10,517,33,441], // LATIN SMALL LETTER D - 0x65: [461,10,444,28,415], // LATIN SMALL LETTER E - 0x66: [705,0,306,27,347], // LATIN SMALL LETTER F - 0x67: [455,206,500,28,485], // LATIN SMALL LETTER G - 0x68: [694,0,517,73,443], // LATIN SMALL LETTER H - 0x69: [680,0,239,67,171], // LATIN SMALL LETTER I - 0x6A: [680,205,267,-59,192], // LATIN SMALL LETTER J - 0x6B: [694,0,489,76,471], // LATIN SMALL LETTER K - 0x6C: [694,0,239,74,164], // LATIN SMALL LETTER L - 0x6D: [455,0,794,73,720], // LATIN SMALL LETTER M - 0x6E: [455,0,517,73,443], // LATIN SMALL LETTER N - 0x6F: [460,10,500,28,471], // LATIN SMALL LETTER O - 0x70: [455,194,517,75,483], // LATIN SMALL LETTER P - 0x71: [455,194,517,33,441], // LATIN SMALL LETTER Q - 0x72: [455,0,342,74,327], // LATIN SMALL LETTER R - 0x73: [460,10,383,28,360], // LATIN SMALL LETTER S - 0x74: [571,10,361,18,333], // LATIN SMALL LETTER T - 0x75: [444,10,517,73,443], // LATIN SMALL LETTER U - 0x76: [444,0,461,14,446], // LATIN SMALL LETTER V - 0x77: [444,0,683,14,668], // LATIN SMALL LETTER W - 0x78: [444,0,461,0,460], // LATIN SMALL LETTER X - 0x79: [444,204,461,14,446], // LATIN SMALL LETTER Y - 0x7A: [444,0,435,28,402], // LATIN SMALL LETTER Z - 0x7E: [327,-193,500,83,416], // TILDE - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x131: [444,0,239,74,164], // LATIN SMALL LETTER DOTLESS I - 0x237: [444,205,267,-59,192], // LATIN SMALL LETTER DOTLESS J - 0x300: [694,-527,0,-417,-199], // COMBINING GRAVE ACCENT - 0x301: [694,-527,0,-302,-84], // COMBINING ACUTE ACCENT - 0x302: [694,-527,0,-422,-79], // COMBINING CIRCUMFLEX ACCENT - 0x303: [677,-543,0,-417,-84], // COMBINING TILDE - 0x304: [631,-552,0,-431,-70], // COMBINING MACRON - 0x306: [694,-508,0,-427,-74], // COMBINING BREVE - 0x307: [680,-576,0,-302,-198], // COMBINING DOT ABOVE - 0x308: [680,-582,0,-397,-104], // COMBINING DIAERESIS - 0x30A: [694,-527,0,-319,-99], // COMBINING RING ABOVE - 0x30B: [694,-527,0,-399,-84], // COMBINING DOUBLE ACUTE ACCENT - 0x30C: [654,-487,0,-422,-79], // COMBINING CARON - 0x393: [691,0,542,87,499], // GREEK CAPITAL LETTER GAMMA - 0x394: [694,0,833,42,790], // GREEK CAPITAL LETTER DELTA - 0x398: [716,21,778,56,722], // GREEK CAPITAL LETTER THETA - 0x39B: [694,0,611,28,582], // GREEK CAPITAL LETTER LAMDA - 0x39E: [688,0,667,42,624], // GREEK CAPITAL LETTER XI - 0x3A0: [691,0,708,86,621], // GREEK CAPITAL LETTER PI - 0x3A3: [694,0,722,55,666], // GREEK CAPITAL LETTER SIGMA - 0x3A5: [716,0,778,55,722], // GREEK CAPITAL LETTER UPSILON - 0x3A6: [694,0,722,55,666], // GREEK CAPITAL LETTER PHI - 0x3A8: [694,0,778,55,722], // GREEK CAPITAL LETTER PSI - 0x3A9: [716,0,722,44,677], // GREEK CAPITAL LETTER OMEGA - 0x2013: [312,-236,500,0,499], // EN DASH - 0x2014: [312,-236,1000,0,999], // EM DASH - 0x2018: [694,-471,278,90,189], // LEFT SINGLE QUOTATION MARK - 0x2019: [694,-471,278,89,188], // RIGHT SINGLE QUOTATION MARK - 0x201C: [694,-471,500,174,467], // LEFT DOUBLE QUOTATION MARK - 0x201D: [694,-471,500,32,325] // RIGHT DOUBLE QUOTATION MARK -}; - -CHTML.fontLoaded("TeX/"+font.substr(8)); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js deleted file mode 100644 index d37e3721..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js +++ /dev/null @@ -1,88 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (CHTML) { - -var font = 'MathJax_Script'; - -CHTML.FONTDATA.FONTS[font] = { - className: CHTML.FONTDATA.familyName(font), - centerline: 211, ascent: 735, descent: 314, - skew: { - 0x41: 0.389, - 0x42: 0.194, - 0x43: 0.278, - 0x44: 0.111, - 0x45: 0.139, - 0x46: 0.222, - 0x47: 0.25, - 0x48: 0.333, - 0x49: 0.333, - 0x4A: 0.417, - 0x4B: 0.361, - 0x4C: 0.306, - 0x4D: 0.444, - 0x4E: 0.389, - 0x4F: 0.167, - 0x50: 0.222, - 0x51: 0.278, - 0x52: 0.194, - 0x53: 0.333, - 0x54: 0.222, - 0x55: 0.25, - 0x56: 0.222, - 0x57: 0.25, - 0x58: 0.278, - 0x59: 0.194, - 0x5A: 0.306 - }, - 0x20: [0,0,250,0,0], // SPACE - 0x41: [717,8,803,35,1016], // LATIN CAPITAL LETTER A - 0x42: [708,28,908,31,928], // LATIN CAPITAL LETTER B - 0x43: [728,26,666,26,819], // LATIN CAPITAL LETTER C - 0x44: [708,31,774,68,855], // LATIN CAPITAL LETTER D - 0x45: [707,8,562,46,718], // LATIN CAPITAL LETTER E - 0x46: [735,36,895,39,990], // LATIN CAPITAL LETTER F - 0x47: [717,37,610,12,738], // LATIN CAPITAL LETTER G - 0x48: [717,36,969,29,1241], // LATIN CAPITAL LETTER H - 0x49: [717,17,809,59,946], // LATIN CAPITAL LETTER I - 0x4A: [717,314,1052,92,1133], // LATIN CAPITAL LETTER J - 0x4B: [717,37,914,29,1204], // LATIN CAPITAL LETTER K - 0x4C: [717,17,874,14,1035], // LATIN CAPITAL LETTER L - 0x4D: [721,50,1080,30,1216], // LATIN CAPITAL LETTER M - 0x4E: [726,36,902,29,1208], // LATIN CAPITAL LETTER N - 0x4F: [707,8,738,96,805], // LATIN CAPITAL LETTER O - 0x50: [716,37,1013,90,1031], // LATIN CAPITAL LETTER P - 0x51: [717,17,883,54,885], // LATIN CAPITAL LETTER Q - 0x52: [717,17,850,-2,887], // LATIN CAPITAL LETTER R - 0x53: [708,36,868,29,1016], // LATIN CAPITAL LETTER S - 0x54: [735,37,747,92,996], // LATIN CAPITAL LETTER T - 0x55: [717,17,800,55,960], // LATIN CAPITAL LETTER U - 0x56: [717,17,622,56,850], // LATIN CAPITAL LETTER V - 0x57: [717,17,805,46,1026], // LATIN CAPITAL LETTER W - 0x58: [717,17,944,103,1131], // LATIN CAPITAL LETTER X - 0x59: [716,17,710,57,959], // LATIN CAPITAL LETTER Y - 0x5A: [717,16,821,83,1032], // LATIN CAPITAL LETTER Z - 0xA0: [0,0,250,0,0] // NO-BREAK SPACE -}; - -CHTML.fontLoaded("TeX/"+font.substr(8)); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js deleted file mode 100644 index 100287f4..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js +++ /dev/null @@ -1,155 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - * - */ - -(function (CHTML) { - -var font = 'MathJax_Typewriter'; - -CHTML.FONTDATA.FONTS[font] = { - className: CHTML.FONTDATA.familyName(font), - centerline: 233, ascent: 694, descent: 229, - - 0x20: [0,0,250,0,0], // SPACE - 0x21: [622,0,525,206,320], // EXCLAMATION MARK - 0x22: [623,-333,525,122,402], // QUOTATION MARK - 0x23: [611,0,525,36,489], // NUMBER SIGN - 0x24: [694,82,525,58,466], // DOLLAR SIGN - 0x25: [694,83,525,35,489], // PERCENT SIGN - 0x26: [622,11,525,28,490], // AMPERSAND - 0x27: [611,-287,525,175,349], // APOSTROPHE - 0x28: [694,82,525,166,437], // LEFT PARENTHESIS - 0x29: [694,82,525,87,358], // RIGHT PARENTHESIS - 0x2A: [520,-90,525,68,456], // ASTERISK - 0x2B: [531,-81,525,38,487], // PLUS SIGN - 0x2C: [140,139,525,173,353], // COMMA - 0x2D: [341,-271,525,57,468], // HYPHEN-MINUS - 0x2E: [140,-1,525,193,332], // FULL STOP - 0x2F: [694,83,525,58,466], // SOLIDUS - 0x30: [621,10,525,42,482], // DIGIT ZERO - 0x31: [622,-1,525,99,450], // DIGIT ONE - 0x32: [622,-1,525,52,472], // DIGIT TWO - 0x33: [622,11,525,44,479], // DIGIT THREE - 0x34: [624,-1,525,29,495], // DIGIT FOUR - 0x35: [611,10,525,52,472], // DIGIT FIVE - 0x36: [622,11,525,45,479], // DIGIT SIX - 0x37: [627,10,525,44,480], // DIGIT SEVEN - 0x38: [621,10,525,45,479], // DIGIT EIGHT - 0x39: [622,11,525,46,479], // DIGIT NINE - 0x3A: [431,-1,525,193,332], // COLON - 0x3B: [431,139,525,175,337], // SEMICOLON - 0x3C: [557,-55,525,57,468], // LESS-THAN SIGN - 0x3D: [417,-195,525,38,487], // EQUALS SIGN - 0x3E: [557,-55,525,57,468], // GREATER-THAN SIGN - 0x3F: [617,0,525,62,462], // QUESTION MARK - 0x40: [617,6,525,44,481], // COMMERCIAL AT - 0x41: [623,-1,525,28,496], // LATIN CAPITAL LETTER A - 0x42: [611,-1,525,17,482], // LATIN CAPITAL LETTER B - 0x43: [622,11,525,40,484], // LATIN CAPITAL LETTER C - 0x44: [611,-1,525,16,485], // LATIN CAPITAL LETTER D - 0x45: [611,-1,525,19,502], // LATIN CAPITAL LETTER E - 0x46: [611,-1,525,22,490], // LATIN CAPITAL LETTER F - 0x47: [622,11,525,38,496], // LATIN CAPITAL LETTER G - 0x48: [611,-1,525,16,508], // LATIN CAPITAL LETTER H - 0x49: [611,-1,525,72,452], // LATIN CAPITAL LETTER I - 0x4A: [611,11,525,57,479], // LATIN CAPITAL LETTER J - 0x4B: [611,-1,525,18,495], // LATIN CAPITAL LETTER K - 0x4C: [611,0,525,25,488], // LATIN CAPITAL LETTER L - 0x4D: [611,-1,525,12,512], // LATIN CAPITAL LETTER M - 0x4E: [611,0,525,20,504], // LATIN CAPITAL LETTER N - 0x4F: [621,10,525,56,468], // LATIN CAPITAL LETTER O - 0x50: [611,-1,525,19,480], // LATIN CAPITAL LETTER P - 0x51: [621,138,525,56,468], // LATIN CAPITAL LETTER Q - 0x52: [611,11,525,16,522], // LATIN CAPITAL LETTER R - 0x53: [622,11,525,52,472], // LATIN CAPITAL LETTER S - 0x54: [611,-1,525,26,498], // LATIN CAPITAL LETTER T - 0x55: [611,11,525,-3,528], // LATIN CAPITAL LETTER U - 0x56: [611,7,525,19,505], // LATIN CAPITAL LETTER V - 0x57: [611,7,525,12,512], // LATIN CAPITAL LETTER W - 0x58: [611,-1,525,28,495], // LATIN CAPITAL LETTER X - 0x59: [611,-1,525,20,505], // LATIN CAPITAL LETTER Y - 0x5A: [611,-1,525,48,481], // LATIN CAPITAL LETTER Z - 0x5B: [694,82,525,214,483], // LEFT SQUARE BRACKET - 0x5C: [694,83,525,58,466], // REVERSE SOLIDUS - 0x5D: [694,82,525,41,310], // RIGHT SQUARE BRACKET - 0x5E: [611,-460,525,96,428], // CIRCUMFLEX ACCENT - 0x5F: [-25,95,525,57,468], // LOW LINE - 0x60: [681,-357,525,176,350], // GRAVE ACCENT - 0x61: [439,6,525,48,524], // LATIN SMALL LETTER A - 0x62: [611,6,525,4,492], // LATIN SMALL LETTER B - 0x63: [440,6,525,66,466], // LATIN SMALL LETTER C - 0x64: [611,6,525,31,520], // LATIN SMALL LETTER D - 0x65: [440,6,525,48,464], // LATIN SMALL LETTER E - 0x66: [617,-1,525,35,437], // LATIN SMALL LETTER F - 0x67: [442,229,525,28,509], // LATIN SMALL LETTER G - 0x68: [611,-1,525,4,520], // LATIN SMALL LETTER H - 0x69: [612,-1,525,72,462], // LATIN SMALL LETTER I - 0x6A: [612,228,525,48,376], // LATIN SMALL LETTER J - 0x6B: [611,-1,525,13,507], // LATIN SMALL LETTER K - 0x6C: [611,-1,525,51,474], // LATIN SMALL LETTER L - 0x6D: [436,-1,525,-12,536], // LATIN SMALL LETTER M - 0x6E: [436,-1,525,4,520], // LATIN SMALL LETTER N - 0x6F: [440,6,525,52,472], // LATIN SMALL LETTER O - 0x70: [437,221,525,4,492], // LATIN SMALL LETTER P - 0x71: [437,221,525,34,545], // LATIN SMALL LETTER Q - 0x72: [437,-1,525,24,487], // LATIN SMALL LETTER R - 0x73: [440,6,525,72,458], // LATIN SMALL LETTER S - 0x74: [554,6,525,25,448], // LATIN SMALL LETTER T - 0x75: [431,5,525,4,520], // LATIN SMALL LETTER U - 0x76: [431,4,525,24,500], // LATIN SMALL LETTER V - 0x77: [431,4,525,16,508], // LATIN SMALL LETTER W - 0x78: [431,-1,525,29,495], // LATIN SMALL LETTER X - 0x79: [431,228,525,26,500], // LATIN SMALL LETTER Y - 0x7A: [431,-1,525,34,475], // LATIN SMALL LETTER Z - 0x7B: [694,83,525,50,475], // LEFT CURLY BRACKET - 0x7C: [694,82,525,228,297], // VERTICAL LINE - 0x7D: [694,83,525,49,475], // RIGHT CURLY BRACKET - 0x7E: [611,-466,525,87,437], // TILDE - 0x7F: [612,-519,525,104,421], // ?? - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x131: [431,-1,525,72,462], // LATIN SMALL LETTER DOTLESS I - 0x237: [431,228,525,48,376], // LATIN SMALL LETTER DOTLESS J - 0x300: [611,-485,0,-409,-195], // COMBINING GRAVE ACCENT - 0x301: [611,-485,0,-331,-117], // COMBINING ACUTE ACCENT - 0x302: [611,-460,0,-429,-97], // COMBINING CIRCUMFLEX ACCENT - 0x303: [611,-466,0,-438,-88], // COMBINING TILDE - 0x304: [577,-500,0,-452,-74], // COMBINING MACRON - 0x306: [611,-504,0,-446,-79], // COMBINING BREVE - 0x308: [612,-519,0,-421,-104], // COMBINING DIAERESIS - 0x30A: [619,-499,0,-344,-182], // COMBINING RING ABOVE - 0x30C: [577,-449,0,-427,-99], // COMBINING CARON - 0x393: [611,0,525,25,488], // GREEK CAPITAL LETTER GAMMA - 0x394: [623,0,525,35,489], // GREEK CAPITAL LETTER DELTA - 0x398: [621,10,525,56,468], // GREEK CAPITAL LETTER THETA - 0x39B: [623,-1,525,30,495], // GREEK CAPITAL LETTER LAMDA - 0x39E: [611,-1,525,33,491], // GREEK CAPITAL LETTER XI - 0x3A0: [611,-1,525,16,508], // GREEK CAPITAL LETTER PI - 0x3A3: [611,-1,525,40,484], // GREEK CAPITAL LETTER SIGMA - 0x3A5: [622,-1,525,38,486], // GREEK CAPITAL LETTER UPSILON - 0x3A6: [611,-1,525,41,483], // GREEK CAPITAL LETTER PHI - 0x3A8: [611,-1,525,37,487], // GREEK CAPITAL LETTER PSI - 0x3A9: [622,-1,525,32,492], // GREEK CAPITAL LETTER OMEGA - 0x7E2: [611,-287,525,175,349], // ?? - 0x7E3: [681,-357,525,176,350], // ?? - 0x2032: [623,-334,525,211,313] // PRIME -}; - -CHTML.fontLoaded("TeX/"+font.substr(8)); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js deleted file mode 100644 index f60b2a96..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js +++ /dev/null @@ -1,240 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js - * - * Adds extra stretchy characters to the TeX font data. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -(function (CHTML) { - var VERSION = "2.7.5"; - - var DELIMITERS = CHTML.FONTDATA.DELIMITERS; - - var MAIN = "MathJax_Main", - BOLD = "MathJax_Main-Bold", - AMS = "MathJax_AMS", - SIZE1 = "MathJax_Size1", - SIZE4 = "MathJax_Size4"; - var H = "H", V = "V"; - var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // remove extra height/depth added below - var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender - - var delim = { - 0x003D: // equal sign - { - dir: H, HW: [[.767,MAIN]], stretch: {rep:[0x003D,MAIN]} - }, - 0x219E: // left two-headed arrow - { - dir: H, HW: [[1,AMS]], stretch: {left:[0x219E,AMS], rep:ARROWREP} - }, - 0x21A0: // right two-headed arrow - { - dir: H, HW: [[1,AMS]], stretch: {right:[0x21A0,AMS], rep:ARROWREP} - }, - 0x21A4: // left arrow from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x2190,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} - }, - 0x21A5: // up arrow from bar - { - dir: V, HW: [], - stretch: {min:.6, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x2191,SIZE1]} - }, - 0x21A6: // right arrow from bar - { - dir: H, HW: [[1,MAIN]], - stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:ARROWREP, right:[0x2192,MAIN]} - }, - 0x21A7: // down arrow from bar - { - dir: V, HW: [], - stretch: {min:.6, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} - }, - 0x21B0: // up arrow with top leftwards - { - dir: V, HW: [[.722,AMS]], - stretch: {top:[0x21B0,AMS], ext:[0x23D0,SIZE1,.097]} - }, - 0x21B1: // up arrow with top right - { - dir: V, HW: [[.722,AMS]], - stretch: {top:[0x21B1,AMS,.27], ext:[0x23D0,SIZE1]} - }, - 0x21BC: // left harpoon with barb up - { - dir: H, HW: [[1,MAIN]], - stretch: {left:[0x21BC,MAIN], rep:ARROWREP} - }, - 0x21BD: // left harpoon with barb down - { - dir: H, HW: [[1,MAIN]], - stretch: {left:[0x21BD,MAIN], rep:ARROWREP} - }, - 0x21BE: // up harpoon with barb right - { - dir: V, HW: [[.888,AMS]], - stretch: {top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} - }, - 0x21BF: // up harpoon with barb left - { - dir: V, HW: [[.888,AMS]], - stretch: {top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} - }, - 0x21C0: // right harpoon with barb up - { - dir: H, HW: [[1,MAIN]], - stretch: {right:[0x21C0,MAIN], rep:ARROWREP} - }, - 0x21C1: // right harpoon with barb down - { - dir: H, HW: [[1,MAIN]], - stretch: {right:[0x21C1,MAIN], rep:ARROWREP} - }, - 0x21C2: // down harpoon with barb right - { - dir: V, HW: [[.888,AMS]], - stretch: {bot:[0x21C2,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} - }, - 0x21C3: // down harpoon with barb left - { - dir: V, HW: [[.888,AMS]], - stretch: {bot:[0x21C3,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} - }, - 0x21DA: // left triple arrow - { - dir: H, HW: [[1,AMS]], - stretch: {left:[0x21DA,AMS], rep:[0x2261,MAIN]} - }, - 0x21DB: // right triple arrow - { - dir: H, HW: [[1,AMS]], - stretch: {right:[0x21DB,AMS], rep:[0x2261,MAIN]} - }, - 0x23B4: // top square bracket - { - dir: H, HW: [], - stretch: {min:.5, left:[0x250C,AMS,0,-.1], rep:[0x2212,MAIN,0,.35], right:[0x2510,AMS,0,-.1]} - }, - 0x23B5: // bottom square bracket - { - dir: H, HW: [], - stretch: {min:.5, left:[0x2514,AMS,0,.26], rep:[0x2212,MAIN,0,0,0,.25], right:[0x2518,AMS,0,.26]} - }, - 0x23DC: // top paren - { - dir: H, HW: [[.778,AMS,0,0x2322],[1,MAIN,0,0x2322]], - stretch: {left:[0xE150,SIZE4], rep:[0xE154,SIZE4], right:[0xE151,SIZE4]} - }, - 0x23DD: // bottom paren - { - dir: H, HW: [[.778,AMS,0,0x2323],[1,MAIN,0,0x2323]], - stretch: {left:[0xE152,SIZE4], rep:[0xE154,SIZE4], right:[0xE153,SIZE4]} - }, - 0x23E0: // top tortoise shell - { - dir: H, HW: [], - stretch: {min:1.25, left:[0x2CA,MAIN,-.1], rep:[0x2C9,MAIN,0,.13], right:[0x2CB,MAIN], fullExtenders:true} - }, - 0x23E1: // bottom tortoise shell - { - dir: H, HW: [], - stretch: {min:1.5, left:[0x2CB,MAIN,-.1,.1], rep:[0x2C9,MAIN], right:[0x2CA,MAIN,-.1,.1], fullExtenders:true} - }, - 0x2906: // leftwards double arrow from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x21D0,MAIN], rep:DARROWREP, right:[0x2223,SIZE1,0,-.1]} - }, - 0x2907: // rightwards double arrow from bar - { - dir: H, HW: [], - stretch: {min:.7, left:[0x22A8,AMS,0,-.12], rep:DARROWREP, right:[0x21D2,MAIN]} - }, - 0x294E: // left barb up right barb up harpoon - { - dir: H, HW: [], - stretch: {min:.5, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x21C0,MAIN]} - }, - 0x294F: // up barb right down barb right harpoon - { - dir: V, HW: [], - stretch: {min:.5, top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} - }, - 0x2950: // left barb dow right barb down harpoon - { - dir: H, HW: [], - stretch: {min:.5, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x21C1,MAIN]} - }, - 0x2951: // up barb left down barb left harpoon - { - dir: V, HW: [], - stretch: {min:.5, top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} - }, - 0x295A: // leftwards harpoon with barb up from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} - }, - 0x295B: // rightwards harpoon with barb up from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C0,MAIN]} - }, - 0x295C: // up harpoon with barb right from bar - { - dir: V, HW: [], - stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BE,AMS,.12,0,1.1]} - }, - 0x295D: // down harpoon with barb right from bar - { - dir: V, HW: [], - stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} - }, - 0x295E: // leftwards harpoon with barb down from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} - }, - 0x295F: // rightwards harpoon with barb down from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C1,MAIN]} - }, - 0x2960: // up harpoon with barb left from bar - { - dir: V, HW: [], - stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BF,AMS,.12,0,1.1]} - }, - 0x2961: // down harpoon with barb left from bar - { - dir: V, HW: [], - stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} - } - }; - - for (var id in delim) {if (delim.hasOwnProperty(id)) {DELIMITERS[id] = delim[id]}}; - - CHTML.fontLoaded("TeX/fontdata-extra"); - -})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata.js deleted file mode 100644 index c8e25afc..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata.js +++ /dev/null @@ -1,1784 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/CommonHTML/fonts/TeX/fontdata.js - * - * Initializes the CommonHTML OutputJax to use the MathJax TeX fonts - * for displaying mathematics. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -(function (CHTML,MML,AJAX) { - var VERSION = "2.7.5"; - - var MAIN = "MathJax_Main", - BOLD = "MathJax_Main-Bold", - ITALIC = "MathJax_Math-Italic", - AMS = "MathJax_AMS", - SIZE1 = "MathJax_Size1", - SIZE2 = "MathJax_Size2", - SIZE3 = "MathJax_Size3", - SIZE4 = "MathJax_Size4"; - var H = "H", V = "V", EXTRAH = {load:"extra", dir:H}, EXTRAV = {load:"extra", dir:V}; - var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // remove extra height/depth added below - var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender - - var UNDEFINEDFAMILY = CHTML.config.undefinedFamily; - - MathJax.Hub.Insert(CHTML.config.styles,{ - ".MJXc-TeX-unknown-R": {"font-family":UNDEFINEDFAMILY, "font-style":"normal", "font-weight":"normal"}, - ".MJXc-TeX-unknown-I": {"font-family":UNDEFINEDFAMILY, "font-style":"italic", "font-weight":"normal"}, - ".MJXc-TeX-unknown-B": {"font-family":UNDEFINEDFAMILY, "font-style":"normal", "font-weight":"bold"}, - ".MJXc-TeX-unknown-BI": {"font-family":UNDEFINEDFAMILY, "font-style":"italic", "font-weight":"bold"} - }); - - CHTML.TEX = CHTML.TEXDEF; // use default TeX parameters - CHTML.FONTDEF.TeX = { - version: VERSION, - - baselineskip: 1.2, - lineH: .8, lineD: .2, - - FONTS: { -// -// These ones are defined below -// -// "MathJax_Main": -// "MathJax_Main-Bold": -// "MathJax_Main-Italic": -// "MathJax_Math-Italic": -// "MathJax_Caligraphic": -// "MathJax_Size1": -// "MathJax_Size2": -// "MathJax_Size3": -// "MathJax_Size4": - - "MathJax_AMS": "TeX/AMS-Regular.js", - "MathJax_Caligraphic-Bold": "TeX/Caligraphic-Bold.js", - "MathJax_Fraktur": "TeX/Fraktur-Regular.js", - "MathJax_Fraktur-Bold": "TeX/Fraktur-Bold.js", - "MathJax_Math-BoldItalic": "TeX/Math-BoldItalic.js", - "MathJax_SansSerif": "TeX/SansSerif-Regular.js", - "MathJax_SansSerif-Bold": "TeX/SansSerif-Bold.js", - "MathJax_SansSerif-Italic": "TeX/SansSerif-Italic.js", - "MathJax_Script": "TeX/Script-Regular.js", - "MathJax_Typewriter": "TeX/Typewriter-Regular.js" - }, - - UNKNOWN: { - R: {className:"MJXc-TeX-unknown-R"}, - I: {className:"MJXc-TeX-unknown-I"}, - B: {className:"MJXc-TeX-unknown-B"}, - BI: {className:"MJXc-TeX-unknown-BI"} - }, - - VARIANT: { - "normal": {fonts:[MAIN,SIZE1,AMS], cache: {}, - offsetG: 0x03B1, variantG: "italic", - remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, - 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, - 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, - 0xE160:[0x2192, "-TeX-vec"], // HACK for \vec (#1709) - 0x2016:0x2225, - 0x2216:[0x2216,"-TeX-variant",true], // \smallsetminus - 0x210F:[0x210F,"-TeX-variant",true], // \hbar - 0x2032:[0x27,"sans-serif-italic"], // HACK: a smaller prime - 0x29F8:[0x002F,MML.VARIANT.ITALIC]}}, - "bold": {fonts:[BOLD], bold:true, cache: {}, chain:"normal", - offsetG: 0x03B1, variantG: "bold-italic", - remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, - 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, - 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, 0x29F8:[0x002F,"bold-italic"], - 0xE160:[0x2192, "-TeX-vec-bold"], // HACK for \vec (#1709) - 0x2016:0x2225, - 0x219A:"\u2190\u0338", 0x219B:"\u2192\u0338", 0x21AE:"\u2194\u0338", - 0x21CD:"\u21D0\u0338", 0x21CE:"\u21D4\u0338", 0x21CF:"\u21D2\u0338", - 0x2204:"\u2203\u0338", 0x2224:"\u2223\u0338", 0x2226:"\u2225\u0338", - 0x2241:"\u223C\u0338", 0x2247:"\u2245\u0338", - 0x226E:"<\u0338", 0x226F:">\u0338", - 0x2270:"\u2264\u0338", 0x2271:"\u2265\u0338", - 0x2280:"\u227A\u0338", 0x2281:"\u227B\u0338", - 0x2288:"\u2286\u0338", 0x2289:"\u2287\u0338", - 0x22AC:"\u22A2\u0338", 0x22AD:"\u22A8\u0338", -// 0x22AE:"\u22A9\u0338", 0x22AF:"\u22AB\u0338", - 0x22E0:"\u227C\u0338", 0x22E1:"\u227D\u0338"//, -// 0x22EA:"\u22B2\u0338", 0x22EB:"\u22B3\u0338", -// 0x22EC:"\u22B4\u0338", 0x22ED:"\u22B5\u0338" - }}, - "italic": {fonts:[ITALIC,"MathJax_Main-Italic"], italic:true, cache: {}, chain:"normal", - remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, - 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, - 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, - "bold-italic": {fonts:["MathJax_Math-BoldItalic"], bold:true, italic:true, - cache: {}, chain:"bold", - remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, - 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, - 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, - "double-struck": {fonts:[AMS,MAIN,SIZE1], cache:{}}, - "fraktur": {fonts:["MathJax_Fraktur"], cache:{}, chain:"normal"}, - "bold-fraktur": {fonts:["MathJax_Fraktur-Bold"], bold:true, cache:{}, chain:"bold"}, - "script": {fonts:["MathJax_Script"], cache:{}, chain:"normal"}, - "bold-script": {fonts:["MathJax_Script"], bold:true, cache:{}, chain:"bold"}, - "sans-serif": {fonts:["MathJax_SansSerif"], cache:{}, chain:"normal"}, - "bold-sans-serif": {fonts:["MathJax_SansSerif-Bold"], bold:true, cache:{}, chain:"bold"}, - "sans-serif-italic": {fonts:["MathJax_SansSerif-Italic"], italic:true, cache:{}, chain:"italic"}, - "sans-serif-bold-italic": {fonts:["MathJax_SansSerif-Italic"], bold:true, italic:true, cache:{}, chain:"italic"}, - "monospace": {fonts:["MathJax_Typewriter"], cache:{}, chain:"normal"}, - "-tex-caligraphic": {fonts:["MathJax_Caligraphic"], offsetA: 0x41, variantA: "italic", cache:{}, chain:"normal"}, - "-tex-oldstyle": {fonts:["MathJax_Caligraphic"], cache:{}, chain:"normal"}, - "-tex-mathit": {fonts:["MathJax_Main-Italic"], italic:true, noIC: true, cache:{}, chain:"normal", - remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, - 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, - 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, - "-TeX-variant": {fonts:[AMS,MAIN,SIZE1], cache:{}, // HACK: to get larger prime for \prime - remap: { - 0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E, - 0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007, - 0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B, - 0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009, - 0x2216:[0x2216,MML.VARIANT.NORMAL,true], // \setminus - 0x210F:[0x210F,MML.VARIANT.NORMAL,true] // \hslash - }}, - "-TeX-vec": {fonts: ["MathJax_Vector"], cache:{}}, // HACK: non-combining \vec - "-TeX-vec-bold": {fonts: ["MathJax_Vector-Bold"], cache:{}}, // HACK: non-combining \vec - "-largeOp": {fonts:[SIZE2,SIZE1,MAIN,AMS],cache:{}}, - "-smallOp": {fonts:[SIZE1,MAIN,AMS], cache:{}}, - "-tex-caligraphic-bold": {fonts:["MathJax_Caligraphic-Bold","MathJax_Main-Bold"], bold:true, cache:{}, chain:"normal", - offsetA: 0x41, variantA: "bold-italic"}, - "-tex-oldstyle-bold": {fonts:["MathJax_Caligraphic-Bold","MathJax_Main-Bold"], bold:true, cache:{}, chain:"normal"} - }, - - RANGES: [ - {name: "alpha", low: 0x61, high: 0x7A, offset: "A", add: 32}, - {name: "number", low: 0x30, high: 0x39, offset: "N"}, - {name: "greek", low: 0x03B1, high: 0x03F6, offset: "G"} - ], - - REMAP: { - 0xA: 0x20, // newline - 0x203E: 0x2C9, // overline - 0xFE37: 0x23DE, 0xFE38: 0x23DF, // OverBrace, UnderBrace - - 0xB7: 0x22C5, // center dot - 0x2B9: 0x2032, // prime, - 0x3D2: 0x3A5, // Upsilon - 0x2206: 0x394, // increment - 0x2015: 0x2014, 0x2017: 0x5F, // horizontal bars - 0x2022: 0x2219, 0x2044: 0x2F, // bullet, fraction slash - 0x2305: 0x22BC, 0x2306: 0x2A5E, // barwedge, doublebarwedge - 0x25AA: 0x25A0, 0x25B4: 0x25B2, // blacksquare, blacktriangle - 0x25B5: 0x25B3, 0x25B8: 0x25B6, // triangle, blacktriangleright - 0x25BE: 0x25BC, 0x25BF: 0x25BD, // blacktriangledown, triangledown - 0x25C2: 0x25C0, // blacktriangleleft - 0x2329: 0x27E8, 0x232A: 0x27E9, // langle, rangle - 0x3008: 0x27E8, 0x3009: 0x27E9, // langle, rangle - 0x2758: 0x2223, // VerticalSeparator - 0x2A2F: 0xD7, // cross product - - 0x25FB: 0x25A1, 0x25FC: 0x25A0, // square, blacksquare - - // - // Letter-like symbols (that appear elsewhere) - // - 0x2102: [0x0043,MML.VARIANT.DOUBLESTRUCK], -// 0x210A: [0x0067,MML.VARIANT.SCRIPT], - 0x210B: [0x0048,MML.VARIANT.SCRIPT], - 0x210C: [0x0048,MML.VARIANT.FRAKTUR], - 0x210D: [0x0048,MML.VARIANT.DOUBLESTRUCK], - 0x210E: [0x0068,MML.VARIANT.ITALIC], - 0x2110: [0x004A,MML.VARIANT.SCRIPT], - 0x2111: [0x0049,MML.VARIANT.FRAKTUR], - 0x2112: [0x004C,MML.VARIANT.SCRIPT], - 0x2115: [0x004E,MML.VARIANT.DOUBLESTRUCK], - 0x2119: [0x0050,MML.VARIANT.DOUBLESTRUCK], - 0x211A: [0x0051,MML.VARIANT.DOUBLESTRUCK], - 0x211B: [0x0052,MML.VARIANT.SCRIPT], - 0x211C: [0x0052,MML.VARIANT.FRAKTUR], - 0x211D: [0x0052,MML.VARIANT.DOUBLESTRUCK], - 0x2124: [0x005A,MML.VARIANT.DOUBLESTRUCK], - 0x2126: [0x03A9,MML.VARIANT.NORMAL], - 0x2128: [0x005A,MML.VARIANT.FRAKTUR], - 0x212C: [0x0042,MML.VARIANT.SCRIPT], - 0x212D: [0x0043,MML.VARIANT.FRAKTUR], -// 0x212F: [0x0065,MML.VARIANT.SCRIPT], - 0x2130: [0x0045,MML.VARIANT.SCRIPT], - 0x2131: [0x0046,MML.VARIANT.SCRIPT], - 0x2133: [0x004D,MML.VARIANT.SCRIPT], -// 0x2134: [0x006F,MML.VARIANT.SCRIPT], - - 0x2247: 0x2246, // wrong placement of this character - 0x231C: 0x250C, 0x231D:0x2510, // wrong placement of \ulcorner, \urcorner - 0x231E: 0x2514, 0x231F:0x2518, // wrong placement of \llcorner, \lrcorner - - // - // compound symbols not in these fonts - // - 0x2204: "\u2203\u0338", // \not\exists - 0x220C: "\u220B\u0338", // \not\ni - 0x2244: "\u2243\u0338", // \not\simeq - 0x2249: "\u2248\u0338", // \not\approx - 0x2262: "\u2261\u0338", // \not\equiv - 0x226D: "\u224D\u0338", // \not\asymp - 0x2274: "\u2272\u0338", // \not\lesssim - 0x2275: "\u2273\u0338", // \not\gtrsim - 0x2278: "\u2276\u0338", // \not\lessgtr - 0x2279: "\u2277\u0338", // \not\gtrless - 0x2284: "\u2282\u0338", // \not\subset - 0x2285: "\u2283\u0338", // \not\supset - 0x22E2: "\u2291\u0338", // \not\sqsubseteq - 0x22E3: "\u2292\u0338", // \not\sqsupseteq - - 0x2A0C: "\u222C\u222C", // quadruple integral - - 0x2033: "\u2032\u2032", // double prime - 0x2034: "\u2032\u2032\u2032", // triple prime - 0x2036: "\u2035\u2035", // double back prime - 0x2037: "\u2035\u2035\u2035", // trile back prime - 0x2057: "\u2032\u2032\u2032\u2032", // quadruple prime - }, - - REMAPACCENT: { - "\u0300":"\u02CB", // grave accent - "\u0301":"\u02CA", // acute accent - "\u0302":"\u02C6", // curcumflex - "\u0303":"\u02DC", // tilde accent - "\u0304":"\u02C9", // macron - "\u0306":"\u02D8", // breve - "\u0307":"\u02D9", // dot - "\u0308":"\u00A8", // diaresis - "\u030A":"\u02DA", // ring above - "\u030C":"\u02C7", // caron - "\u20D7":"\uE160", // HACK: for non-combining \vec (#1709) - "\u2192":"\uE160", - "\u2032":"'", - "\u2035":"`", - "\u20D0":"\u21BC", "\u20D1":"\u21C0", // combining left and right harpoons - "\u20D6":"\u2190", "\u20E1":"\u2194", // combining left arrow and lef-right arrow - "\u20F0":"*", // combining asterisk - "\u20DB":"...", // combining three dots above - "\u20DC":"...." // combining four dots above - }, - REMAPACCENTUNDER: { - "\u20EC":"\u21C1", "\u20ED":"\u21BD", // combining low right and left harpoons - "\u20EE":"\u2190", "\u20EF":"\u2192", // combining low left and right arrows - "\u20DB":"...", // combining three dots above - "\u20DC":"...." // combining four dots above - }, - - PLANE1MAP: [ - [0x1D400,0x1D419, 0x41, MML.VARIANT.BOLD], - [0x1D41A,0x1D433, 0x61, MML.VARIANT.BOLD], - [0x1D434,0x1D44D, 0x41, MML.VARIANT.ITALIC], - [0x1D44E,0x1D467, 0x61, MML.VARIANT.ITALIC], - [0x1D468,0x1D481, 0x41, MML.VARIANT.BOLDITALIC], - [0x1D482,0x1D49B, 0x61, MML.VARIANT.BOLDITALIC], - [0x1D49C,0x1D4B5, 0x41, MML.VARIANT.SCRIPT], -// [0x1D4B6,0x1D4CF, 0x61, MML.VARIANT.SCRIPT], -// [0x1D4D0,0x1D4E9, 0x41, MML.VARIANT.BOLDSCRIPT], -// [0x1D4EA,0x1D503, 0x61, MML.VARIANT.BOLDSCRIPT], - [0x1D504,0x1D51D, 0x41, MML.VARIANT.FRAKTUR], - [0x1D51E,0x1D537, 0x61, MML.VARIANT.FRAKTUR], - [0x1D538,0x1D551, 0x41, MML.VARIANT.DOUBLESTRUCK], -// [0x1D552,0x1D56B, 0x61, MML.VARIANT.DOUBLESTRUCK], - [0x1D56C,0x1D585, 0x41, MML.VARIANT.BOLDFRAKTUR], - [0x1D586,0x1D59F, 0x61, MML.VARIANT.BOLDFRAKTUR], - [0x1D5A0,0x1D5B9, 0x41, MML.VARIANT.SANSSERIF], - [0x1D5BA,0x1D5D3, 0x61, MML.VARIANT.SANSSERIF], - [0x1D5D4,0x1D5ED, 0x41, MML.VARIANT.BOLDSANSSERIF], - [0x1D5EE,0x1D607, 0x61, MML.VARIANT.BOLDSANSSERIF], - [0x1D608,0x1D621, 0x41, MML.VARIANT.SANSSERIFITALIC], - [0x1D622,0x1D63B, 0x61, MML.VARIANT.SANSSERIFITALIC], -// [0x1D63C,0x1D655, 0x41, MML.VARIANT.SANSSERIFBOLDITALIC], -// [0x1D656,0x1D66F, 0x61, MML.VARIANT.SANSSERIFBOLDITALIC], - [0x1D670,0x1D689, 0x41, MML.VARIANT.MONOSPACE], - [0x1D68A,0x1D6A3, 0x61, MML.VARIANT.MONOSPACE], - - [0x1D6A8,0x1D6C1, 0x391, MML.VARIANT.BOLD], -// [0x1D6C2,0x1D6E1, 0x3B1, MML.VARIANT.BOLD], - [0x1D6E2,0x1D6FA, 0x391, MML.VARIANT.ITALIC], - [0x1D6FC,0x1D71B, 0x3B1, MML.VARIANT.ITALIC], - [0x1D71C,0x1D734, 0x391, MML.VARIANT.BOLDITALIC], - [0x1D736,0x1D755, 0x3B1, MML.VARIANT.BOLDITALIC], - [0x1D756,0x1D76E, 0x391, MML.VARIANT.BOLDSANSSERIF], -// [0x1D770,0x1D78F, 0x3B1, MML.VARIANT.BOLDSANSSERIF], - [0x1D790,0x1D7A8, 0x391, MML.VARIANT.SANSSERIFBOLDITALIC], -// [0x1D7AA,0x1D7C9, 0x3B1, MML.VARIANT.SANSSERIFBOLDITALIC], - - [0x1D7CE,0x1D7D7, 0x30, MML.VARIANT.BOLD], -// [0x1D7D8,0x1D7E1, 0x30, MML.VARIANT.DOUBLESTRUCK], - [0x1D7E2,0x1D7EB, 0x30, MML.VARIANT.SANSSERIF], - [0x1D7EC,0x1D7F5, 0x30, MML.VARIANT.BOLDSANSSERIF], - [0x1D7F6,0x1D7FF, 0x30, MML.VARIANT.MONOSPACE] - ], - - REMAPGREEK: { - 0x391: 0x41, 0x392: 0x42, 0x395: 0x45, 0x396: 0x5A, - 0x397: 0x48, 0x399: 0x49, 0x39A: 0x4B, 0x39C: 0x4D, - 0x39D: 0x4E, 0x39F: 0x4F, 0x3A1: 0x50, 0x3A2: 0x398, - 0x3A4: 0x54, 0x3A7: 0x58, 0x3AA: 0x2207, - 0x3CA: 0x2202, 0x3CB: 0x3F5, 0x3CC: 0x3D1, 0x3CD: 0x3F0, - 0x3CE: 0x3D5, 0x3CF: 0x3F1, 0x3D0: 0x3D6 - }, - - RemapPlane1: function (n,variant) { - for (var i = 0, m = this.PLANE1MAP.length; i < m; i++) { - if (n < this.PLANE1MAP[i][0]) break; - if (n <= this.PLANE1MAP[i][1]) { - n = n - this.PLANE1MAP[i][0] + this.PLANE1MAP[i][2]; - if (this.REMAPGREEK[n]) {n = this.REMAPGREEK[n]} - variant = this.VARIANT[this.PLANE1MAP[i][3]]; - break; - } - } - return {n: n, variant: variant}; - }, - - DELIMITERS: { - 0x0028: // ( - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], - stretch: {top: [0x239B,SIZE4], ext: [0x239C,SIZE4], bot: [0x239D,SIZE4]} - }, - 0x0029: // ) - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], - stretch: {top:[0x239E,SIZE4], ext:[0x239F,SIZE4], bot:[0x23A0,SIZE4]} - }, - 0x002F: // / - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] - }, - 0x005B: // [ - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], - stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} - }, - 0x005C: // \ - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] - }, - 0x005D: // ] - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], - stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} - }, - 0x007B: // { - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], - stretch: {top:[0x23A7,SIZE4], mid:[0x23A8,SIZE4], bot:[0x23A9,SIZE4], ext:[0x23AA,SIZE4]} - }, - 0x007C: // | - { - dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2223,MAIN]} - }, - 0x007D: // } - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], - stretch: {top: [0x23AB,SIZE4], mid:[0x23AC,SIZE4], bot: [0x23AD,SIZE4], ext: [0x23AA,SIZE4]} - }, - 0x00AF: // macron - { - dir: H, HW: [[.59,MAIN]], stretch: {rep:[0xAF,MAIN]} - }, - 0x02C6: // wide hat - { - dir: H, HW: [[.267+.25,MAIN],[.567+.25,SIZE1],[1.005+.33,SIZE2],[1.447+.33,SIZE3],[1.909,SIZE4]] - }, - 0x02DC: // wide tilde - { - dir: H, HW: [[.333+.25,MAIN],[.555+.25,SIZE1],[1+.33,SIZE2],[1.443+.33,SIZE3],[1.887,SIZE4]] - }, - 0x2013: // en-dash - { - dir: H, HW: [[.5,MAIN]], stretch: {rep:[0x2013,MAIN]} - }, - 0x2016: // vertical arrow extension - { - dir: V, HW: [[.602,SIZE1],[1,MAIN,null,0x2225]], stretch: {ext:[0x2225,MAIN]} - }, - 0x2190: // left arrow - { - dir: H, HW: [[1,MAIN]], stretch: {left:[0x2190,MAIN], rep:ARROWREP} - }, - 0x2191: // \uparrow - { - dir: V, HW: [[.888,MAIN]], stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1]} - }, - 0x2192: // right arrow - { - dir: H, HW: [[1,MAIN]], stretch: {rep:ARROWREP, right:[0x2192,MAIN]} - }, - 0x2193: // \downarrow - { - dir: V, HW: [[.888,MAIN]], stretch: {ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} - }, - 0x2194: // left-right arrow - { - dir: H, HW: [[1,MAIN]], - stretch: {left:[0x2190,MAIN], rep:ARROWREP, right:[0x2192,MAIN]} - }, - 0x2195: // \updownarrow - { - dir: V, HW: [[1.044,MAIN]], - stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} - }, - 0x21D0: // left double arrow - { - dir: H, HW: [[1,MAIN]], stretch: {left:[0x21D0,MAIN], rep:DARROWREP} - }, - 0x21D1: // \Uparrow - { - dir: V, HW: [[.888,MAIN]], stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1]} - }, - 0x21D2: // right double arrow - { - dir: H, HW: [[1,MAIN]], stretch: {rep:DARROWREP, right:[0x21D2,MAIN]} - }, - 0x21D3: // \Downarrow - { - dir: V, HW: [[.888,MAIN]], stretch: {ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} - }, - 0x21D4: // left-right double arrow - { - dir: H, HW: [[1,MAIN]], - stretch: {left:[0x21D0,MAIN], rep:DARROWREP, right:[0x21D2,MAIN]} - }, - 0x21D5: // \Updownarrow - { - dir: V, HW: [[1.044,MAIN]], - stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} - }, - 0x2212: // horizontal line - { - dir: H, HW: [[.778,MAIN]], stretch: {rep:[0x2212,MAIN]} - }, - 0x221A: // \surd - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]], - stretch: {top:[0xE001,SIZE4], ext:[0xE000,SIZE4], bot:[0x23B7,SIZE4], fullExtenders:true} - }, - 0x2223: // \vert - { - dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2223,MAIN]} - }, - 0x2225: // \Vert - { - dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2225,MAIN]} - }, - 0x2308: // \lceil - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], - stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4]} - }, - 0x2309: // \rceil - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], - stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4]} - }, - 0x230A: // \lfloor - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], - stretch: {ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} - }, - 0x230B: // \rfloor - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], - stretch: {ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} - }, - 0x23AA: // \bracevert - { - dir: V, HW: [[.32,SIZE4]], - stretch: {top:[0x23AA,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AA,SIZE4]} - }, - 0x23B0: // \lmoustache - { - dir: V, HW: [[.989,MAIN]], - stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} - }, - 0x23B1: // \rmoustache - { - dir: V, HW: [[.989,MAIN]], - stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} - }, - 0x23D0: // vertical line extension - { - dir: V, HW: [[.602,SIZE1],[1,MAIN,null,0x2223]], stretch: {ext:[0x2223,MAIN]} - }, - 0x23DE: // horizontal brace down - { - dir: H, HW: [], - stretch: {min:.9, left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]} - }, - 0x23DF: // horizontal brace up - { - dir: H, HW: [], - stretch: {min:.9, left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]} - }, - 0x27E8: // \langle - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] - }, - 0x27E9: // \rangle - { - dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] - }, - 0x27EE: // \lgroup - { - dir: V, HW: [[.989,MAIN]], - stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} - }, - 0x27EF: // \rgroup - { - dir: V, HW: [[.989,MAIN]], - stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} - }, - 0x002D: {alias: 0x2212, dir:H}, // minus - 0x005E: {alias: 0x02C6, dir:H}, // wide hat - 0x005F: {alias: 0x2013, dir:H}, // low line - 0x007E: {alias: 0x02DC, dir:H}, // wide tilde - 0x02C9: {alias: 0x00AF, dir:H}, // macron - 0x0302: {alias: 0x02C6, dir:H}, // wide hat - 0x0303: {alias: 0x02DC, dir:H}, // wide tilde - 0x030C: {alias: 0x02C7, dir:H}, // wide caron - 0x0332: {alias: 0x2013, dir:H}, // combining low line - 0x2014: {alias: 0x2013, dir:H}, // em-dash - 0x2015: {alias: 0x2013, dir:H}, // horizontal line - 0x2017: {alias: 0x2013, dir:H}, // horizontal line - 0x203E: {alias: 0x00AF, dir:H}, // overline - 0x20D7: {alias: 0x2192, dir:H}, // combining over right arrow (vector arrow) - 0x2215: {alias: 0x002F, dir:V}, // division slash - 0x2329: {alias: 0x27E8, dir:V}, // langle - 0x232A: {alias: 0x27E9, dir:V}, // rangle - 0x23AF: {alias: 0x2013, dir:H}, // horizontal line extension - 0x2500: {alias: 0x2013, dir:H}, // horizontal line - 0x2758: {alias: 0x2223, dir:V}, // vertical separator - 0x3008: {alias: 0x27E8, dir:V}, // langle - 0x3009: {alias: 0x27E9, dir:V}, // rangle - 0xFE37: {alias: 0x23DE, dir:H}, // horizontal brace down - 0xFE38: {alias: 0x23DF, dir:H}, // horizontal brace up - - 0x003D: EXTRAH, // equal sign - 0x219E: EXTRAH, // left two-headed arrow - 0x21A0: EXTRAH, // right two-headed arrow - 0x21A4: EXTRAH, // left arrow from bar - 0x21A5: EXTRAV, // up arrow from bar - 0x21A6: EXTRAH, // right arrow from bar - 0x21A7: EXTRAV, // down arrow from bar - 0x21B0: EXTRAV, // up arrow with top leftwards - 0x21B1: EXTRAV, // up arrow with top right - 0x21BC: EXTRAH, // left harpoon with barb up - 0x21BD: EXTRAH, // left harpoon with barb down - 0x21BE: EXTRAV, // up harpoon with barb right - 0x21BF: EXTRAV, // up harpoon with barb left - 0x21C0: EXTRAH, // right harpoon with barb up - 0x21C1: EXTRAH, // right harpoon with barb down - 0x21C2: EXTRAV, // down harpoon with barb right - 0x21C3: EXTRAV, // down harpoon with barb left - 0x21DA: EXTRAH, // left triple arrow - 0x21DB: EXTRAH, // right triple arrow - 0x23B4: EXTRAH, // top square bracket - 0x23B5: EXTRAH, // bottom square bracket - 0x23DC: EXTRAH, // top paren - 0x23DD: EXTRAH, // bottom paren - 0x23E0: EXTRAH, // top tortoise shell - 0x23E1: EXTRAH, // bottom tortoise shell - 0x2906: EXTRAH, // leftwards double arrow from bar - 0x2907: EXTRAH, // rightwards double arrow from bar - 0x294E: EXTRAH, // left barb up right barb up harpoon - 0x294F: EXTRAV, // up barb right down barb right harpoon - 0x2950: EXTRAH, // left barb dow right barb down harpoon - 0x2951: EXTRAV, // up barb left down barb left harpoon - 0x295A: EXTRAH, // leftwards harpoon with barb up from bar - 0x295B: EXTRAH, // rightwards harpoon with barb up from bar - 0x295C: EXTRAV, // up harpoon with barb right from bar - 0x295D: EXTRAV, // down harpoon with barb right from bar - 0x295E: EXTRAH, // leftwards harpoon with barb down from bar - 0x295F: EXTRAH, // rightwards harpoon with barb down from bar - 0x2960: EXTRAV, // up harpoon with barb left from bar - 0x2961: EXTRAV, // down harpoon with barb left from bar - 0x2312: {alias: 0x23DC, dir:H}, // arc - 0x2322: {alias: 0x23DC, dir:H}, // frown - 0x2323: {alias: 0x23DD, dir:H}, // smile - 0x27F5: {alias: 0x2190, dir:H}, // long left arrow - 0x27F6: {alias: 0x2192, dir:H}, // long right arrow - 0x27F7: {alias: 0x2194, dir:H}, // long left-right arrow - 0x27F8: {alias: 0x21D0, dir:H}, // long left double arrow - 0x27F9: {alias: 0x21D2, dir:H}, // long right double arrow - 0x27FA: {alias: 0x21D4, dir:H}, // long left-right double arrow - 0x27FB: {alias: 0x21A4, dir:H}, // long left arrow from bar - 0x27FC: {alias: 0x21A6, dir:H}, // long right arrow from bar - 0x27FD: {alias: 0x2906, dir:H}, // long left double arrow from bar - 0x27FE: {alias: 0x2907, dir:H}, // long right double arrow from bar - 0xE160: {alias: 0x2190, dir:H}, // replacement vector arrow - } - }; - - CHTML.FONTDATA = CHTML.FONTDEF["TeX"]; - - CHTML.FONTDATA.FONTS['MathJax_Caligraphic'] = { - centerline: 287, ascent: 789, descent: 216, - skew: { - 0x41: 0.194, - 0x42: 0.139, - 0x43: 0.139, - 0x44: 0.0833, - 0x45: 0.111, - 0x46: 0.111, - 0x47: 0.111, - 0x48: 0.111, - 0x49: 0.0278, - 0x4A: 0.167, - 0x4B: 0.0556, - 0x4C: 0.139, - 0x4D: 0.139, - 0x4E: 0.0833, - 0x4F: 0.111, - 0x50: 0.0833, - 0x51: 0.111, - 0x52: 0.0833, - 0x53: 0.139, - 0x54: 0.0278, - 0x55: 0.0833, - 0x56: 0.0278, - 0x57: 0.0833, - 0x58: 0.139, - 0x59: 0.0833, - 0x5A: 0.139 - }, - 0x20: [0,0,250,0,0], // SPACE - 0x30: [452,22,500,39,460], // DIGIT ZERO - 0x31: [453,0,500,86,426], // DIGIT ONE - 0x32: [453,0,500,44,449], // DIGIT TWO - 0x33: [452,216,500,42,456], // DIGIT THREE - 0x34: [464,194,500,28,471], // DIGIT FOUR - 0x35: [453,216,500,50,448], // DIGIT FIVE - 0x36: [665,22,500,42,456], // DIGIT SIX - 0x37: [463,216,500,55,485], // DIGIT SEVEN - 0x38: [666,21,500,43,456], // DIGIT EIGHT - 0x39: [453,216,500,42,457], // DIGIT NINE - 0x41: [728,50,798,30,819], // LATIN CAPITAL LETTER A - 0x42: [705,22,657,32,664], // LATIN CAPITAL LETTER B - 0x43: [705,25,527,12,533], // LATIN CAPITAL LETTER C - 0x44: [683,0,771,19,766], // LATIN CAPITAL LETTER D - 0x45: [705,22,528,30,564], // LATIN CAPITAL LETTER E - 0x46: [683,32,719,18,829], // LATIN CAPITAL LETTER F - 0x47: [704,119,595,44,599], // LATIN CAPITAL LETTER G - 0x48: [683,48,845,18,803], // LATIN CAPITAL LETTER H - 0x49: [683,0,545,-30,642], // LATIN CAPITAL LETTER I - 0x4A: [683,119,678,47,839], // LATIN CAPITAL LETTER J - 0x4B: [705,22,762,32,732], // LATIN CAPITAL LETTER K - 0x4C: [705,22,690,32,656], // LATIN CAPITAL LETTER L - 0x4D: [705,50,1201,28,1137], // LATIN CAPITAL LETTER M - 0x4E: [789,50,820,-27,979], // LATIN CAPITAL LETTER N - 0x4F: [705,22,796,58,777], // LATIN CAPITAL LETTER O - 0x50: [683,57,696,19,733], // LATIN CAPITAL LETTER P - 0x51: [705,131,817,114,787], // LATIN CAPITAL LETTER Q - 0x52: [682,22,848,19,837], // LATIN CAPITAL LETTER R - 0x53: [705,22,606,18,642], // LATIN CAPITAL LETTER S - 0x54: [717,68,545,34,833], // LATIN CAPITAL LETTER T - 0x55: [683,28,626,-17,687], // LATIN CAPITAL LETTER U - 0x56: [683,52,613,25,658], // LATIN CAPITAL LETTER V - 0x57: [683,53,988,25,1034], // LATIN CAPITAL LETTER W - 0x58: [683,0,713,52,807], // LATIN CAPITAL LETTER X - 0x59: [683,143,668,31,714], // LATIN CAPITAL LETTER Y - 0x5A: [683,0,725,37,767], // LATIN CAPITAL LETTER Z - 0xA0: [0,0,250,0,0] // NO-BREAK SPACE - }; - - CHTML.FONTDATA.FONTS['MathJax_Main-Bold'] = { - centerline: 342, ascent: 951, descent: 267, - weight: 'bold', - file: "TeX/Main-Bold.js", - Extra: [ - 0xA0, 0xA8, 0xAC, [0xAF,0xB1], 0xB4, 0xD7, 0xF7, - 0x131, 0x237, - [0x2C6,0x2CB],[0x2D8,0x2DC], - [0x300,0x30C], 0x338, - [0x2002,0x2006], 0x2009, 0x200A, 0x2013, 0x2014, 0x2018, 0x2019, - 0x201C, 0x201D, 0x2020, 0x2021, 0x2026, 0x2032, - 0x20D7, - [0x210F,0x2113], 0x2118, 0x211C, 0x2135, - [0x2190,0x2199], 0x21A6, 0x21A9, 0x21AA, 0x21BC, 0x21BD, 0x21C0, - 0x21C1, 0x21CC, [0x21D0,0x21D5], - [0x2200,0x220B], [0x2212,0x221A], [0x221D,0x2220], - [0x2223,0x223C], 0x2240, 0x2243, 0x2245, 0x2248, 0x224D, 0x2250, - 0x2260, 0x2261, 0x2264, 0x2265, 0x226A, 0x226B, 0x227A, 0x227B, - 0x2282, 0x2283, 0x2286, 0x2287, 0x228E, [0x2291,0x2299], - [0x22A2,0x22A5], 0x22A8, [0x22C4,0x22C8], [0x22EE,0x22F1], - [0x2308,0x230B], 0x2322, 0x2323, - 0x25B3, 0x25B9, 0x25BD, 0x25C3, 0x25EF, - [0x2660,0x2663], [0x266D,0x266F], - 0x27E8, 0x27E9, - [0x27F5,0x27FC], - 0x2A3F, 0x2AAF, 0x2AB0 - ], - skew: { - 0x131: 0.0319, - 0x237: 0.0958, - 0x210F: -0.0319, - 0x2113: 0.128, - 0x2202: 0.0958 - }, - 0x20: [0,0,250,0,0], // SPACE - 0x21: [705,-1,350,89,260], // EXCLAMATION MARK - 0x22: [694,-329,603,38,492], // QUOTATION MARK - 0x23: [694,193,958,64,893], // NUMBER SIGN - 0x24: [750,56,575,64,510], // DOLLAR SIGN - 0x25: [750,56,958,65,893], // PERCENT SIGN - 0x26: [705,11,894,48,836], // AMPERSAND - 0x27: [694,-329,319,74,261], // APOSTROPHE - 0x28: [750,249,447,103,382], // LEFT PARENTHESIS - 0x29: [750,249,447,64,343], // RIGHT PARENTHESIS - 0x2A: [750,-306,575,73,501], // ASTERISK - 0x2B: [633,131,894,64,829], // PLUS SIGN - 0x2C: [171,194,319,74,258], // COMMA - 0x2D: [278,-166,383,13,318], // HYPHEN-MINUS - 0x2E: [171,-1,319,74,245], // FULL STOP - 0x2F: [750,250,575,63,511], // SOLIDUS - 0x30: [654,10,575,45,529], // DIGIT ZERO - 0x31: [655,0,575,80,494], // DIGIT ONE - 0x32: [654,0,575,57,517], // DIGIT TWO - 0x33: [655,11,575,47,526], // DIGIT THREE - 0x34: [656,0,575,32,542], // DIGIT FOUR - 0x35: [655,11,575,57,517], // DIGIT FIVE - 0x36: [655,11,575,48,526], // DIGIT SIX - 0x37: [676,11,575,64,558], // DIGIT SEVEN - 0x38: [654,11,575,48,526], // DIGIT EIGHT - 0x39: [654,11,575,48,526], // DIGIT NINE - 0x3A: [444,-1,319,74,245], // COLON - 0x3B: [444,194,319,74,248], // SEMICOLON - 0x3C: [587,85,894,96,797], // LESS-THAN SIGN - 0x3D: [393,-109,894,64,829], // EQUALS SIGN - 0x3E: [587,85,894,96,797], // GREATER-THAN SIGN - 0x3F: [700,-1,543,65,478], // QUESTION MARK - 0x40: [699,6,894,64,829], // COMMERCIAL AT - 0x41: [698,0,869,40,828], // LATIN CAPITAL LETTER A - 0x42: [686,0,818,39,752], // LATIN CAPITAL LETTER B - 0x43: [697,11,831,64,766], // LATIN CAPITAL LETTER C - 0x44: [686,0,882,39,817], // LATIN CAPITAL LETTER D - 0x45: [680,0,756,39,723], // LATIN CAPITAL LETTER E - 0x46: [680,0,724,39,675], // LATIN CAPITAL LETTER F - 0x47: [697,10,904,64,845], // LATIN CAPITAL LETTER G - 0x48: [686,0,900,39,860], // LATIN CAPITAL LETTER H - 0x49: [686,0,436,25,410], // LATIN CAPITAL LETTER I - 0x4A: [686,11,594,8,527], // LATIN CAPITAL LETTER J - 0x4B: [686,0,901,39,852], // LATIN CAPITAL LETTER K - 0x4C: [686,0,692,39,643], // LATIN CAPITAL LETTER L - 0x4D: [686,0,1092,39,1052], // LATIN CAPITAL LETTER M - 0x4E: [686,0,900,39,860], // LATIN CAPITAL LETTER N - 0x4F: [696,10,864,64,798], // LATIN CAPITAL LETTER O - 0x50: [686,0,786,39,721], // LATIN CAPITAL LETTER P - 0x51: [696,193,864,64,805], // LATIN CAPITAL LETTER Q - 0x52: [686,11,862,39,858], // LATIN CAPITAL LETTER R - 0x53: [697,11,639,64,574], // LATIN CAPITAL LETTER S - 0x54: [675,0,800,41,758], // LATIN CAPITAL LETTER T - 0x55: [686,11,885,39,845], // LATIN CAPITAL LETTER U - 0x56: [686,7,869,25,843], // LATIN CAPITAL LETTER V - 0x57: [686,7,1189,24,1164], // LATIN CAPITAL LETTER W - 0x58: [686,0,869,33,835], // LATIN CAPITAL LETTER X - 0x59: [686,0,869,19,849], // LATIN CAPITAL LETTER Y - 0x5A: [686,0,703,64,645], // LATIN CAPITAL LETTER Z - 0x5B: [750,250,319,128,293], // LEFT SQUARE BRACKET - 0x5C: [750,250,575,63,511], // REVERSE SOLIDUS - 0x5D: [750,250,319,25,190], // RIGHT SQUARE BRACKET - 0x5E: [694,-520,575,126,448], // CIRCUMFLEX ACCENT - 0x5F: [-10,61,575,0,574], // LOW LINE - 0x60: [706,-503,575,114,338], // GRAVE ACCENT - 0x61: [453,6,559,32,558], // LATIN SMALL LETTER A - 0x62: [694,6,639,29,600], // LATIN SMALL LETTER B - 0x63: [453,6,511,39,478], // LATIN SMALL LETTER C - 0x64: [694,6,639,38,609], // LATIN SMALL LETTER D - 0x65: [452,6,527,32,494], // LATIN SMALL LETTER E - 0x66: [700,0,351,40,452], // LATIN SMALL LETTER F - 0x67: [455,201,575,30,558], // LATIN SMALL LETTER G - 0x68: [694,0,639,37,623], // LATIN SMALL LETTER H - 0x69: [695,0,319,40,294], // LATIN SMALL LETTER I - 0x6A: [695,200,351,-71,274], // LATIN SMALL LETTER J - 0x6B: [694,0,607,29,587], // LATIN SMALL LETTER K - 0x6C: [694,0,319,40,301], // LATIN SMALL LETTER L - 0x6D: [450,0,958,37,942], // LATIN SMALL LETTER M - 0x6E: [450,0,639,37,623], // LATIN SMALL LETTER N - 0x6F: [452,5,575,32,542], // LATIN SMALL LETTER O - 0x70: [450,194,639,29,600], // LATIN SMALL LETTER P - 0x71: [450,194,607,38,609], // LATIN SMALL LETTER Q - 0x72: [450,0,474,29,442], // LATIN SMALL LETTER R - 0x73: [453,6,454,38,414], // LATIN SMALL LETTER S - 0x74: [635,5,447,21,382], // LATIN SMALL LETTER T - 0x75: [450,6,639,37,623], // LATIN SMALL LETTER U - 0x76: [444,3,607,26,580], // LATIN SMALL LETTER V - 0x77: [444,4,831,25,805], // LATIN SMALL LETTER W - 0x78: [444,0,607,21,586], // LATIN SMALL LETTER X - 0x79: [444,200,607,23,580], // LATIN SMALL LETTER Y - 0x7A: [444,0,511,32,462], // LATIN SMALL LETTER Z - 0x7B: [750,250,575,70,504], // LEFT CURLY BRACKET - 0x7C: [750,249,319,129,190], // VERTICAL LINE - 0x7D: [750,250,575,70,504], // RIGHT CURLY BRACKET - 0x7E: [344,-202,575,96,478], // TILDE - 0x393: [680,0,692,39,643], // GREEK CAPITAL LETTER GAMMA - 0x394: [698,0,958,56,901], // GREEK CAPITAL LETTER DELTA - 0x398: [696,10,894,64,829], // GREEK CAPITAL LETTER THETA - 0x39B: [698,0,806,40,765], // GREEK CAPITAL LETTER LAMDA - 0x39E: [675,0,767,48,718], // GREEK CAPITAL LETTER XI - 0x3A0: [680,0,900,39,860], // GREEK CAPITAL LETTER PI - 0x3A3: [686,0,831,63,766], // GREEK CAPITAL LETTER SIGMA - 0x3A5: [697,0,894,64,829], // GREEK CAPITAL LETTER UPSILON - 0x3A6: [686,0,831,64,766], // GREEK CAPITAL LETTER PHI - 0x3A8: [686,0,894,64,829], // GREEK CAPITAL LETTER PSI - 0x3A9: [696,0,831,51,779] // GREEK CAPITAL LETTER OMEGA - }; - - CHTML.FONTDATA.FONTS['MathJax_Main-Italic'] = { - centerline: 250, ascent: 750, descent: 250, - style: 'italic', - 0x20: [0,0,250,0,0], // SPACE - 0x21: [716,0,307,107,380], // EXCLAMATION MARK - 0x22: [694,-379,514,176,538], // QUOTATION MARK - 0x23: [694,194,818,115,828], // NUMBER SIGN - 0x25: [750,56,818,145,847], // PERCENT SIGN - 0x26: [716,22,767,127,802], // AMPERSAND - 0x27: [694,-379,307,213,377], // APOSTROPHE - 0x28: [750,250,409,144,517], // LEFT PARENTHESIS - 0x29: [750,250,409,17,390], // RIGHT PARENTHESIS - 0x2A: [750,-320,511,195,584], // ASTERISK - 0x2B: [557,57,767,139,753], // PLUS SIGN - 0x2C: [121,194,307,69,232], // COMMA - 0x2D: [251,-180,358,84,341], // HYPHEN-MINUS - 0x2E: [121,0,307,107,231], // FULL STOP - 0x2F: [750,250,511,19,617], // SOLIDUS - 0x30: [665,21,511,110,562], // DIGIT ZERO - 0x31: [666,0,511,110,468], // DIGIT ONE - 0x32: [666,22,511,76,551], // DIGIT TWO - 0x33: [666,22,511,96,562], // DIGIT THREE - 0x34: [666,194,511,46,478], // DIGIT FOUR - 0x35: [666,22,511,106,567], // DIGIT FIVE - 0x36: [665,22,511,120,565], // DIGIT SIX - 0x37: [666,22,511,136,634], // DIGIT SEVEN - 0x38: [666,21,511,99,553], // DIGIT EIGHT - 0x39: [666,22,511,107,553], // DIGIT NINE - 0x3A: [431,0,307,107,308], // COLON - 0x3B: [431,194,307,70,308], // SEMICOLON - 0x3D: [367,-133,767,116,776], // EQUALS SIGN - 0x3F: [716,0,511,195,551], // QUESTION MARK - 0x40: [705,11,767,152,789], // COMMERCIAL AT - 0x41: [716,0,743,58,696], // LATIN CAPITAL LETTER A - 0x42: [683,0,704,57,732], // LATIN CAPITAL LETTER B - 0x43: [705,21,716,150,812], // LATIN CAPITAL LETTER C - 0x44: [683,0,755,56,775], // LATIN CAPITAL LETTER D - 0x45: [680,0,678,54,743], // LATIN CAPITAL LETTER E - 0x46: [680,-1,653,54,731], // LATIN CAPITAL LETTER F - 0x47: [705,22,774,150,812], // LATIN CAPITAL LETTER G - 0x48: [683,0,743,54,860], // LATIN CAPITAL LETTER H - 0x49: [683,0,386,49,508], // LATIN CAPITAL LETTER I - 0x4A: [683,21,525,78,622], // LATIN CAPITAL LETTER J - 0x4B: [683,0,769,54,859], // LATIN CAPITAL LETTER K - 0x4C: [683,0,627,54,628], // LATIN CAPITAL LETTER L - 0x4D: [683,0,897,58,1010], // LATIN CAPITAL LETTER M - 0x4E: [683,0,743,54,860], // LATIN CAPITAL LETTER N - 0x4F: [704,22,767,149,788], // LATIN CAPITAL LETTER O - 0x50: [683,0,678,55,729], // LATIN CAPITAL LETTER P - 0x51: [704,194,767,149,788], // LATIN CAPITAL LETTER Q - 0x52: [683,22,729,55,723], // LATIN CAPITAL LETTER R - 0x53: [705,22,562,74,633], // LATIN CAPITAL LETTER S - 0x54: [677,0,716,171,806], // LATIN CAPITAL LETTER T - 0x55: [683,22,743,194,860], // LATIN CAPITAL LETTER U - 0x56: [683,22,743,205,868], // LATIN CAPITAL LETTER V - 0x57: [683,22,999,205,1124], // LATIN CAPITAL LETTER W - 0x58: [683,0,743,50,825], // LATIN CAPITAL LETTER X - 0x59: [683,0,743,198,875], // LATIN CAPITAL LETTER Y - 0x5A: [683,0,613,80,704], // LATIN CAPITAL LETTER Z - 0x5B: [750,250,307,73,446], // LEFT SQUARE BRACKET - 0x5D: [750,250,307,-14,359], // RIGHT SQUARE BRACKET - 0x5E: [694,-527,511,260,528], // CIRCUMFLEX ACCENT - 0x5F: [-25,62,511,91,554], // LOW LINE - 0x61: [442,11,511,101,543], // LATIN SMALL LETTER A - 0x62: [694,11,460,108,467], // LATIN SMALL LETTER B - 0x63: [441,10,460,103,469], // LATIN SMALL LETTER C - 0x64: [694,11,511,101,567], // LATIN SMALL LETTER D - 0x65: [442,10,460,107,470], // LATIN SMALL LETTER E - 0x66: [705,204,307,-23,450], // LATIN SMALL LETTER F - 0x67: [442,205,460,46,494], // LATIN SMALL LETTER G - 0x68: [694,11,511,69,544], // LATIN SMALL LETTER H - 0x69: [656,10,307,75,340], // LATIN SMALL LETTER I - 0x6A: [656,204,307,-32,364], // LATIN SMALL LETTER J - 0x6B: [694,11,460,69,498], // LATIN SMALL LETTER K - 0x6C: [694,11,256,87,312], // LATIN SMALL LETTER L - 0x6D: [442,11,818,75,851], // LATIN SMALL LETTER M - 0x6E: [442,11,562,75,595], // LATIN SMALL LETTER N - 0x6F: [442,11,511,103,517], // LATIN SMALL LETTER O - 0x70: [442,194,511,6,518], // LATIN SMALL LETTER P - 0x71: [442,194,460,101,504], // LATIN SMALL LETTER Q - 0x72: [442,11,422,75,484], // LATIN SMALL LETTER R - 0x73: [442,11,409,76,418], // LATIN SMALL LETTER S - 0x74: [626,11,332,87,373], // LATIN SMALL LETTER T - 0x75: [441,11,537,75,570], // LATIN SMALL LETTER U - 0x76: [443,10,460,75,492], // LATIN SMALL LETTER V - 0x77: [443,11,664,75,696], // LATIN SMALL LETTER W - 0x78: [442,11,464,58,513], // LATIN SMALL LETTER X - 0x79: [441,205,486,75,522], // LATIN SMALL LETTER Y - 0x7A: [442,11,409,54,466], // LATIN SMALL LETTER Z - 0x7E: [318,-208,511,246,571], // TILDE - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0xA3: [714,11,769,88,699], // POUND SIGN - 0x131: [441,10,307,75,340], // LATIN SMALL LETTER DOTLESS I - 0x237: [442,204,332,-32,327], // LATIN SMALL LETTER DOTLESS J - 0x300: [697,-500,0,-222,-74], // COMBINING GRAVE ACCENT - 0x301: [697,-500,0,-173,39], // COMBINING ACUTE ACCENT - 0x302: [694,-527,0,-251,17], // COMBINING CIRCUMFLEX ACCENT - 0x303: [668,-558,0,-265,60], // COMBINING TILDE - 0x304: [589,-544,0,-282,54], // COMBINING MACRON - 0x306: [694,-515,0,-237,62], // COMBINING BREVE - 0x307: [669,-548,0,-165,-41], // COMBINING DOT ABOVE - 0x308: [669,-554,0,-251,45], // COMBINING DIAERESIS - 0x30A: [716,-542,0,-199,3], // COMBINING RING ABOVE - 0x30B: [697,-503,0,-248,65], // COMBINING DOUBLE ACUTE ACCENT - 0x30C: [638,-502,0,-236,29], // COMBINING CARON - 0x393: [680,0,627,54,705], // GREEK CAPITAL LETTER GAMMA - 0x394: [716,0,818,70,751], // GREEK CAPITAL LETTER DELTA - 0x398: [704,22,767,149,788], // GREEK CAPITAL LETTER THETA - 0x39B: [716,0,692,58,646], // GREEK CAPITAL LETTER LAMDA - 0x39E: [677,0,664,74,754], // GREEK CAPITAL LETTER XI - 0x3A0: [680,0,743,54,859], // GREEK CAPITAL LETTER PI - 0x3A3: [683,0,716,80,782], // GREEK CAPITAL LETTER SIGMA - 0x3A5: [705,0,767,213,832], // GREEK CAPITAL LETTER UPSILON - 0x3A6: [683,0,716,159,728], // GREEK CAPITAL LETTER PHI - 0x3A8: [683,0,767,207,824], // GREEK CAPITAL LETTER PSI - 0x3A9: [705,0,716,100,759], // GREEK CAPITAL LETTER OMEGA - 0x2013: [285,-248,511,91,554], // EN DASH - 0x2014: [285,-248,1022,117,1038], // EM DASH - 0x2018: [694,-379,307,197,362], // LEFT SINGLE QUOTATION MARK - 0x2019: [694,-379,307,213,377], // RIGHT SINGLE QUOTATION MARK - 0x201C: [694,-379,514,243,606], // LEFT DOUBLE QUOTATION MARK - 0x201D: [694,-379,514,176,538], // RIGHT DOUBLE QUOTATION MARK - 0x210F: [695,13,540,42,562] // stix-/hbar - Planck's over 2pi - }; - - CHTML.FONTDATA.FONTS['MathJax_Main'] = { - centerline: 314, ascent: 900, descent: 272, - skew: { - 0x131: 0.0278, - 0x237: 0.0833, - 0x2113: 0.111, - 0x2118: 0.111, - 0x2202: 0.0833 - }, - 0x20: [0,0,250,0,0], // SPACE - 0x21: [716,-1,278,78,199], // EXCLAMATION MARK - 0x22: [694,-379,500,34,372], // QUOTATION MARK - 0x23: [694,194,833,56,777], // NUMBER SIGN - 0x24: [750,56,500,55,444], // DOLLAR SIGN - 0x25: [750,56,833,56,776], // PERCENT SIGN - 0x26: [716,22,778,42,727], // AMPERSAND - 0x27: [694,-379,278,78,212], // APOSTROPHE - 0x28: [750,250,389,94,333], // LEFT PARENTHESIS - 0x29: [750,250,389,55,294], // RIGHT PARENTHESIS - 0x2A: [750,-320,500,64,435], // ASTERISK - 0x2B: [583,82,778,56,722], // PLUS SIGN - 0x2C: [121,194,278,78,210], // COMMA - 0x2D: [252,-179,333,11,277], // HYPHEN-MINUS - 0x2E: [120,0,278,78,199], // FULL STOP - 0x2F: [750,250,500,56,445], // SOLIDUS - 0x30: [666,22,500,39,460], // DIGIT ZERO - 0x31: [666,0,500,83,427], // DIGIT ONE - 0x32: [666,0,500,50,449], // DIGIT TWO - 0x33: [665,22,500,42,457], // DIGIT THREE - 0x34: [677,0,500,28,471], // DIGIT FOUR - 0x35: [666,22,500,50,449], // DIGIT FIVE - 0x36: [666,22,500,42,456], // DIGIT SIX - 0x37: [676,22,500,55,485], // DIGIT SEVEN - 0x38: [666,22,500,43,457], // DIGIT EIGHT - 0x39: [666,22,500,42,456], // DIGIT NINE - 0x3A: [430,0,278,78,199], // COLON - 0x3B: [430,194,278,78,202], // SEMICOLON - 0x3C: [540,40,778,83,694], // LESS-THAN SIGN - 0x3D: [367,-133,778,56,722], // EQUALS SIGN - 0x3E: [540,40,778,83,694], // GREATER-THAN SIGN - 0x3F: [705,-1,472,55,416], // QUESTION MARK - 0x40: [705,11,778,56,722], // COMMERCIAL AT - 0x41: [716,0,750,32,717], // LATIN CAPITAL LETTER A - 0x42: [683,0,708,28,651], // LATIN CAPITAL LETTER B - 0x43: [705,21,722,56,666], // LATIN CAPITAL LETTER C - 0x44: [683,0,764,27,708], // LATIN CAPITAL LETTER D - 0x45: [680,0,681,25,652], // LATIN CAPITAL LETTER E - 0x46: [680,0,653,25,610], // LATIN CAPITAL LETTER F - 0x47: [705,22,785,56,735], // LATIN CAPITAL LETTER G - 0x48: [683,0,750,25,724], // LATIN CAPITAL LETTER H - 0x49: [683,0,361,21,339], // LATIN CAPITAL LETTER I - 0x4A: [683,22,514,25,465], // LATIN CAPITAL LETTER J - 0x4B: [683,0,778,25,736], // LATIN CAPITAL LETTER K - 0x4C: [683,0,625,25,582], // LATIN CAPITAL LETTER L - 0x4D: [683,0,917,29,887], // LATIN CAPITAL LETTER M - 0x4E: [683,0,750,25,724], // LATIN CAPITAL LETTER N - 0x4F: [705,22,778,56,722], // LATIN CAPITAL LETTER O - 0x50: [683,0,681,27,624], // LATIN CAPITAL LETTER P - 0x51: [705,193,778,56,728], // LATIN CAPITAL LETTER Q - 0x52: [683,22,736,27,732], // LATIN CAPITAL LETTER R - 0x53: [705,22,556,55,500], // LATIN CAPITAL LETTER S - 0x54: [677,0,722,36,685], // LATIN CAPITAL LETTER T - 0x55: [683,22,750,25,724], // LATIN CAPITAL LETTER U - 0x56: [683,22,750,19,730], // LATIN CAPITAL LETTER V - 0x57: [683,22,1028,18,1009], // LATIN CAPITAL LETTER W - 0x58: [683,0,750,23,726], // LATIN CAPITAL LETTER X - 0x59: [683,0,750,11,738], // LATIN CAPITAL LETTER Y - 0x5A: [683,0,611,55,560], // LATIN CAPITAL LETTER Z - 0x5B: [750,250,278,118,255], // LEFT SQUARE BRACKET - 0x5C: [750,250,500,56,444], // REVERSE SOLIDUS - 0x5D: [750,250,278,22,159], // RIGHT SQUARE BRACKET - 0x5E: [694,-531,500,112,387], // CIRCUMFLEX ACCENT - 0x5F: [-25,62,500,0,499], // LOW LINE - 0x60: [699,-505,500,106,295], // GRAVE ACCENT - 0x61: [448,11,500,34,493], // LATIN SMALL LETTER A - 0x62: [694,11,556,20,522], // LATIN SMALL LETTER B - 0x63: [448,11,444,34,415], // LATIN SMALL LETTER C - 0x64: [694,11,556,34,535], // LATIN SMALL LETTER D - 0x65: [448,11,444,28,415], // LATIN SMALL LETTER E - 0x66: [705,0,306,26,372], // LATIN SMALL LETTER F - 0x67: [453,206,500,29,485], // LATIN SMALL LETTER G - 0x68: [694,0,556,25,542], // LATIN SMALL LETTER H - 0x69: [669,0,278,26,255], // LATIN SMALL LETTER I - 0x6A: [669,205,306,-55,218], // LATIN SMALL LETTER J - 0x6B: [694,0,528,20,511], // LATIN SMALL LETTER K - 0x6C: [694,0,278,26,263], // LATIN SMALL LETTER L - 0x6D: [442,0,833,25,819], // LATIN SMALL LETTER M - 0x6E: [442,0,556,25,542], // LATIN SMALL LETTER N - 0x6F: [448,10,500,28,471], // LATIN SMALL LETTER O - 0x70: [442,194,556,20,522], // LATIN SMALL LETTER P - 0x71: [442,194,528,33,535], // LATIN SMALL LETTER Q - 0x72: [442,0,392,20,364], // LATIN SMALL LETTER R - 0x73: [448,11,394,33,359], // LATIN SMALL LETTER S - 0x74: [615,10,389,18,333], // LATIN SMALL LETTER T - 0x75: [442,11,556,25,542], // LATIN SMALL LETTER U - 0x76: [431,11,528,19,508], // LATIN SMALL LETTER V - 0x77: [431,11,722,18,703], // LATIN SMALL LETTER W - 0x78: [431,0,528,11,516], // LATIN SMALL LETTER X - 0x79: [431,204,528,19,508], // LATIN SMALL LETTER Y - 0x7A: [431,0,444,28,401], // LATIN SMALL LETTER Z - 0x7B: [750,250,500,65,434], // LEFT CURLY BRACKET - 0x7C: [750,249,278,119,159], // VERTICAL LINE - 0x7D: [750,250,500,65,434], // RIGHT CURLY BRACKET - 0x7E: [318,-215,500,83,416], // TILDE - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0xA8: [669,-554,500,95,404], // DIAERESIS - 0xAC: [356,-89,667,56,611], // NOT SIGN - 0xAF: [590,-544,500,69,430], // MACRON - 0xB0: [715,-542,500,147,352], // DEGREE SIGN - 0xB1: [666,0,778,56,722], // PLUS-MINUS SIGN - 0xB4: [699,-505,500,203,393], // ACUTE ACCENT - 0xD7: [491,-9,778,147,630], // MULTIPLICATION SIGN - 0xF7: [537,36,778,56,721], // DIVISION SIGN - 0x131: [442,0,278,26,255], // LATIN SMALL LETTER DOTLESS I - 0x237: [442,205,306,-55,218], // LATIN SMALL LETTER DOTLESS J - 0x2C6: [694,-531,500,112,387], // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2C7: [644,-513,500,114,385], // CARON - 0x2C9: [590,-544,500,69,430], // MODIFIER LETTER MACRON - 0x2CA: [699,-505,500,203,393], // MODIFIER LETTER ACUTE ACCENT - 0x2CB: [699,-505,500,106,295], // MODIFIER LETTER GRAVE ACCENT - 0x2D8: [694,-515,500,92,407], // BREVE - 0x2D9: [669,-549,500,190,309], // DOT ABOVE - 0x2DC: [668,-565,500,83,416], // SMALL TILDE - 0x2DA: [715,-542,500,147,352], // RING ABOVE - 0x300: [699,-505,0,-394,-205], // COMBINING GRAVE ACCENT - 0x301: [699,-505,0,-297,-107], // COMBINING ACUTE ACCENT - 0x302: [694,-531,0,-388,-113], // COMBINING CIRCUMFLEX ACCENT - 0x303: [668,-565,0,-417,-84], // COMBINING TILDE - 0x304: [590,-544,0,-431,-70], // COMBINING MACRON - 0x306: [694,-515,0,-408,-93], // COMBINING BREVE - 0x307: [669,-549,0,-310,-191], // COMBINING DOT ABOVE - 0x308: [669,-554,0,-405,-96], // COMBINING DIAERESIS - 0x30A: [715,-542,0,-353,-148], // COMBINING RING ABOVE - 0x30B: [701,-510,0,-378,-80], // COMBINING DOUBLE ACUTE ACCENT - 0x30C: [644,-513,0,-386,-115], // COMBINING CARON - 0x338: [716,215,0,-639,-140], // COMBINING LONG SOLIDUS OVERLAY - 0x393: [680,0,625,25,582], // GREEK CAPITAL LETTER GAMMA - 0x394: [716,0,833,46,786], // GREEK CAPITAL LETTER DELTA - 0x398: [705,22,778,56,722], // GREEK CAPITAL LETTER THETA - 0x39B: [716,0,694,32,661], // GREEK CAPITAL LETTER LAMDA - 0x39E: [677,0,667,42,624], // GREEK CAPITAL LETTER XI - 0x3A0: [680,0,750,25,724], // GREEK CAPITAL LETTER PI - 0x3A3: [683,0,722,55,666], // GREEK CAPITAL LETTER SIGMA - 0x3A5: [705,0,778,55,722], // GREEK CAPITAL LETTER UPSILON - 0x3A6: [683,0,722,56,665], // GREEK CAPITAL LETTER PHI - 0x3A8: [683,0,778,55,722], // GREEK CAPITAL LETTER PSI - 0x3A9: [704,0,722,44,677], // GREEK CAPITAL LETTER OMEGA - 0x2002: [0,0,500,0,0], // ?? - 0x2003: [0,0,999,0,0], // ?? - 0x2004: [0,0,333,0,0], // ?? - 0x2005: [0,0,250,0,0], // ?? - 0x2006: [0,0,167,0,0], // ?? - 0x2009: [0,0,167,0,0], // ?? - 0x200A: [0,0,83,0,0], // ?? - 0x2013: [285,-248,500,0,499], // EN DASH - 0x2014: [285,-248,1000,0,999], // EM DASH - 0x2018: [694,-379,278,64,198], // LEFT SINGLE QUOTATION MARK - 0x2019: [694,-379,278,78,212], // RIGHT SINGLE QUOTATION MARK - 0x201C: [694,-379,500,128,466], // LEFT DOUBLE QUOTATION MARK - 0x201D: [694,-379,500,34,372], // RIGHT DOUBLE QUOTATION MARK - 0x2020: [705,216,444,55,389], // DAGGER - 0x2021: [705,205,444,55,389], // DOUBLE DAGGER - 0x2026: [120,0,1172,78,1093], // HORIZONTAL ELLIPSIS - 0x2032: [560,-43,275,30,262], // PRIME - 0x20D7: [714,-516,0,-471,-29], // COMBINING RIGHT ARROW ABOVE - 0x210F: [695,13,540,42,562], // stix-/hbar - Planck's over 2pi - 0x2111: [705,10,722,55,693], // BLACK-LETTER CAPITAL I - 0x2113: [705,20,417,6,397], // SCRIPT SMALL L - 0x2118: [453,216,636,67,625], // SCRIPT CAPITAL P - 0x211C: [716,22,722,40,715], // BLACK-LETTER CAPITAL R - 0x2135: [694,0,611,55,555], // ALEF SYMBOL - 0x2190: [511,11,1000,55,944], // LEFTWARDS ARROW - 0x2191: [694,193,500,17,483], // UPWARDS ARROW - 0x2192: [511,11,1000,56,944], // RIGHTWARDS ARROW - 0x2193: [694,194,500,17,483], // DOWNWARDS ARROW - 0x2194: [511,11,1000,55,944], // LEFT RIGHT ARROW - 0x2195: [772,272,500,17,483], // UP DOWN ARROW - 0x2196: [720,195,1000,29,944], // NORTH WEST ARROW - 0x2197: [720,195,1000,55,970], // NORTH EAST ARROW - 0x2198: [695,220,1000,55,970], // SOUTH EAST ARROW - 0x2199: [695,220,1000,29,944], // SOUTH WEST ARROW - 0x21A6: [511,11,1000,55,944], // RIGHTWARDS ARROW FROM BAR - 0x21A9: [511,11,1126,55,1070], // LEFTWARDS ARROW WITH HOOK - 0x21AA: [511,11,1126,55,1070], // RIGHTWARDS ARROW WITH HOOK - 0x21BC: [511,-230,1000,55,944], // LEFTWARDS HARPOON WITH BARB UPWARDS - 0x21BD: [270,11,1000,55,944], // LEFTWARDS HARPOON WITH BARB DOWNWARDS - 0x21C0: [511,-230,1000,56,944], // RIGHTWARDS HARPOON WITH BARB UPWARDS - 0x21C1: [270,11,1000,56,944], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS - 0x21CC: [671,11,1000,55,944], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON - 0x21D0: [525,24,1000,56,944], // LEFTWARDS DOUBLE ARROW - 0x21D1: [694,194,611,31,579], // UPWARDS DOUBLE ARROW - 0x21D2: [525,24,1000,56,944], // RIGHTWARDS DOUBLE ARROW - 0x21D3: [694,194,611,31,579], // DOWNWARDS DOUBLE ARROW - 0x21D4: [526,25,1000,34,966], // LEFT RIGHT DOUBLE ARROW - 0x21D5: [772,272,611,31,579], // UP DOWN DOUBLE ARROW - 0x2200: [694,22,556,0,556], // FOR ALL - 0x2202: [715,22,531,42,566], // PARTIAL DIFFERENTIAL - 0x2203: [694,0,556,56,500], // THERE EXISTS - 0x2205: [772,78,500,39,460], // EMPTY SET - 0x2207: [683,33,833,46,786], // NABLA - 0x2208: [540,40,667,84,583], // ELEMENT OF - 0x2209: [716,215,667,84,583], // stix-negated (vert) set membership, variant - 0x220B: [540,40,667,83,582], // CONTAINS AS MEMBER - 0x2212: [270,-230,778,84,694], // MINUS SIGN - 0x2213: [500,166,778,56,722], // MINUS-OR-PLUS SIGN - 0x2215: [750,250,500,56,445], // DIVISION SLASH - 0x2216: [750,250,500,56,444], // SET MINUS - 0x2217: [465,-35,500,64,435], // ASTERISK OPERATOR - 0x2218: [444,-55,500,55,444], // RING OPERATOR - 0x2219: [444,-55,500,55,444], // BULLET OPERATOR - 0x221A: [800,200,833,72,853], // SQUARE ROOT - 0x221D: [442,11,778,56,722], // PROPORTIONAL TO - 0x221E: [442,11,1000,55,944], // INFINITY - 0x2220: [694,0,722,55,666], // ANGLE - 0x2223: [750,249,278,119,159], // DIVIDES - 0x2225: [750,250,500,132,367], // PARALLEL TO - 0x2227: [598,22,667,55,611], // LOGICAL AND - 0x2228: [598,22,667,55,611], // LOGICAL OR - 0x2229: [598,22,667,55,611], // stix-intersection, serifs - 0x222A: [598,22,667,55,611], // stix-union, serifs - 0x222B: [716,216,417,55,472], // INTEGRAL - 0x223C: [367,-133,778,55,722], // TILDE OPERATOR - 0x2240: [583,83,278,55,222], // WREATH PRODUCT - 0x2243: [464,-36,778,55,722], // ASYMPTOTICALLY EQUAL TO - 0x2245: [589,-22,1000,55,722], // APPROXIMATELY EQUAL TO - 0x2248: [483,-55,778,55,722], // ALMOST EQUAL TO - 0x224D: [484,-16,778,55,722], // EQUIVALENT TO - 0x2250: [670,-133,778,56,722], // APPROACHES THE LIMIT - 0x2260: [716,215,778,56,722], // stix-not (vert) equals - 0x2261: [464,-36,778,56,722], // IDENTICAL TO - 0x2264: [636,138,778,83,694], // LESS-THAN OR EQUAL TO - 0x2265: [636,138,778,83,694], // GREATER-THAN OR EQUAL TO - 0x226A: [568,67,1000,56,944], // MUCH LESS-THAN - 0x226B: [567,67,1000,55,944], // MUCH GREATER-THAN - 0x227A: [539,41,778,84,694], // PRECEDES - 0x227B: [539,41,778,83,694], // SUCCEEDS - 0x2282: [540,40,778,84,694], // SUBSET OF - 0x2283: [540,40,778,83,693], // SUPERSET OF - 0x2286: [636,138,778,84,694], // SUBSET OF OR EQUAL TO - 0x2287: [636,138,778,83,693], // SUPERSET OF OR EQUAL TO - 0x228E: [598,22,667,55,611], // MULTISET UNION - 0x2291: [636,138,778,84,714], // SQUARE IMAGE OF OR EQUAL TO - 0x2292: [636,138,778,64,694], // SQUARE ORIGINAL OF OR EQUAL TO - 0x2293: [598,0,667,61,605], // stix-square intersection, serifs - 0x2294: [598,0,667,61,605], // stix-square union, serifs - 0x2295: [583,83,778,56,722], // stix-circled plus (with rim) - 0x2296: [583,83,778,56,722], // CIRCLED MINUS - 0x2297: [583,83,778,56,722], // stix-circled times (with rim) - 0x2298: [583,83,778,56,722], // CIRCLED DIVISION SLASH - 0x2299: [583,83,778,56,722], // CIRCLED DOT OPERATOR - 0x22A2: [694,0,611,55,555], // RIGHT TACK - 0x22A3: [694,0,611,55,555], // LEFT TACK - 0x22A4: [668,0,778,55,723], // DOWN TACK - 0x22A5: [668,0,778,55,723], // UP TACK - 0x22A8: [750,249,867,119,811], // TRUE - 0x22C4: [488,-12,500,12,488], // DIAMOND OPERATOR - 0x22C5: [310,-190,278,78,199], // DOT OPERATOR - 0x22C6: [486,-16,500,3,497], // STAR OPERATOR - 0x22C8: [505,5,900,26,873], // BOWTIE - 0x22EE: [900,30,278,78,199], // VERTICAL ELLIPSIS - 0x22EF: [310,-190,1172,78,1093], // MIDLINE HORIZONTAL ELLIPSIS - 0x22F1: [820,-100,1282,133,1148], // DOWN RIGHT DIAGONAL ELLIPSIS - 0x2308: [750,250,444,174,422], // LEFT CEILING - 0x2309: [750,250,444,21,269], // RIGHT CEILING - 0x230A: [750,250,444,174,422], // LEFT FLOOR - 0x230B: [750,250,444,21,269], // RIGHT FLOOR - 0x2322: [388,-122,1000,55,944], // stix-small down curve - 0x2323: [378,-134,1000,55,944], // stix-small up curve - 0x23B0: [744,244,412,55,357], // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION - 0x23B1: [744,244,412,56,357], // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION - 0x25B3: [716,0,889,59,828], // WHITE UP-POINTING TRIANGLE - 0x25B9: [505,5,500,26,474], // WHITE RIGHT-POINTING SMALL TRIANGLE - 0x25BD: [500,215,889,59,828], // WHITE DOWN-POINTING TRIANGLE - 0x25C3: [505,5,500,26,473], // WHITE LEFT-POINTING SMALL TRIANGLE - 0x25EF: [715,215,1000,56,944], // LARGE CIRCLE - 0x2660: [727,130,778,55,723], // BLACK SPADE SUIT - 0x2661: [716,33,778,55,723], // WHITE HEART SUIT - 0x2662: [727,162,778,55,723], // WHITE DIAMOND SUIT - 0x2663: [726,130,778,28,750], // BLACK CLUB SUIT - 0x266D: [750,22,389,55,332], // MUSIC FLAT SIGN - 0x266E: [734,223,389,65,324], // MUSIC NATURAL SIGN - 0x266F: [723,223,389,55,333], // MUSIC SHARP SIGN - 0x27E8: [750,250,389,110,333], // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E9: [750,250,389,55,278], // MATHEMATICAL RIGHT ANGLE BRACKET - 0x27EE: [744,244,412,173,357], // MATHEMATICAL LEFT FLATTENED PARENTHESIS - 0x27EF: [744,244,412,56,240], // MATHEMATICAL RIGHT FLATTENED PARENTHESIS - 0x27F5: [511,11,1609,55,1525], // LONG LEFTWARDS ARROW - 0x27F6: [511,11,1638,84,1553], // LONG RIGHTWARDS ARROW - 0x27F7: [511,11,1859,55,1803], // LONG LEFT RIGHT ARROW - 0x27F8: [525,24,1609,56,1553], // LONG LEFTWARDS DOUBLE ARROW - 0x27F9: [525,24,1638,56,1582], // LONG RIGHTWARDS DOUBLE ARROW - 0x27FA: [525,24,1858,56,1802], // LONG LEFT RIGHT DOUBLE ARROW - 0x27FC: [511,11,1638,55,1553], // LONG RIGHTWARDS ARROW FROM BAR - 0x2A3F: [683,0,750,28,721], // AMALGAMATION OR COPRODUCT - 0x2AAF: [636,138,778,84,694], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN - 0x2AB0: [636,138,778,83,694] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN - }; - - CHTML.FONTDATA.FONTS['MathJax_Math-Italic'] = { - centerline: 250, ascent: 717, descent: 218, - style: 'italic', - skew: { - 0x41: 0.139, - 0x42: 0.0833, - 0x43: 0.0833, - 0x44: 0.0556, - 0x45: 0.0833, - 0x46: 0.0833, - 0x47: 0.0833, - 0x48: 0.0556, - 0x49: 0.111, - 0x4A: 0.167, - 0x4B: 0.0556, - 0x4C: 0.0278, - 0x4D: 0.0833, - 0x4E: 0.0833, - 0x4F: 0.0833, - 0x50: 0.0833, - 0x51: 0.0833, - 0x52: 0.0833, - 0x53: 0.0833, - 0x54: 0.0833, - 0x55: 0.0278, - 0x58: 0.0833, - 0x5A: 0.0833, - 0x63: 0.0556, - 0x64: 0.167, - 0x65: 0.0556, - 0x66: 0.167, - 0x67: 0.0278, - 0x68: -0.0278, - 0x6C: 0.0833, - 0x6F: 0.0556, - 0x70: 0.0833, - 0x71: 0.0833, - 0x72: 0.0556, - 0x73: 0.0556, - 0x74: 0.0833, - 0x75: 0.0278, - 0x76: 0.0278, - 0x77: 0.0833, - 0x78: 0.0278, - 0x79: 0.0556, - 0x7A: 0.0556, - 0x393: 0.0833, - 0x394: 0.167, - 0x398: 0.0833, - 0x39B: 0.167, - 0x39E: 0.0833, - 0x3A0: 0.0556, - 0x3A3: 0.0833, - 0x3A5: 0.0556, - 0x3A6: 0.0833, - 0x3A8: 0.0556, - 0x3A9: 0.0833, - 0x3B1: 0.0278, - 0x3B2: 0.0833, - 0x3B4: 0.0556, - 0x3B5: 0.0833, - 0x3B6: 0.0833, - 0x3B7: 0.0556, - 0x3B8: 0.0833, - 0x3B9: 0.0556, - 0x3BC: 0.0278, - 0x3BD: 0.0278, - 0x3BE: 0.111, - 0x3BF: 0.0556, - 0x3C1: 0.0833, - 0x3C2: 0.0833, - 0x3C4: 0.0278, - 0x3C5: 0.0278, - 0x3C6: 0.0833, - 0x3C7: 0.0556, - 0x3C8: 0.111, - 0x3D1: 0.0833, - 0x3D5: 0.0833, - 0x3F1: 0.0833, - 0x3F5: 0.0556 - }, - 0x20: [0,0,250,0,0], // SPACE - 0x2F: [716,215,778,139,638], // SOLIDUS - 0x41: [716,0,750,35,726], // LATIN CAPITAL LETTER A - 0x42: [683,0,759,35,756], // LATIN CAPITAL LETTER B - 0x43: [705,22,715,50,760], // LATIN CAPITAL LETTER C - 0x44: [683,0,828,33,803], // LATIN CAPITAL LETTER D - 0x45: [680,0,738,31,764], // LATIN CAPITAL LETTER E - 0x46: [680,0,643,31,749], // LATIN CAPITAL LETTER F - 0x47: [705,22,786,50,760], // LATIN CAPITAL LETTER G - 0x48: [683,0,831,31,888], // LATIN CAPITAL LETTER H - 0x49: [683,0,440,26,504], // LATIN CAPITAL LETTER I - 0x4A: [683,22,555,57,633], // LATIN CAPITAL LETTER J - 0x4B: [683,0,849,31,889], // LATIN CAPITAL LETTER K - 0x4C: [683,0,681,32,647], // LATIN CAPITAL LETTER L - 0x4D: [683,0,970,35,1051], // LATIN CAPITAL LETTER M - 0x4E: [683,0,803,31,888], // LATIN CAPITAL LETTER N - 0x4F: [704,22,763,50,740], // LATIN CAPITAL LETTER O - 0x50: [683,0,642,33,751], // LATIN CAPITAL LETTER P - 0x51: [704,194,791,50,740], // LATIN CAPITAL LETTER Q - 0x52: [683,21,759,33,755], // LATIN CAPITAL LETTER R - 0x53: [705,22,613,52,645], // LATIN CAPITAL LETTER S - 0x54: [677,0,584,21,704], // LATIN CAPITAL LETTER T - 0x55: [683,22,683,60,767], // LATIN CAPITAL LETTER U - 0x56: [683,22,583,52,769], // LATIN CAPITAL LETTER V - 0x57: [683,22,944,51,1048], // LATIN CAPITAL LETTER W - 0x58: [683,0,828,26,852], // LATIN CAPITAL LETTER X - 0x59: [683,-1,581,30,763], // LATIN CAPITAL LETTER Y - 0x5A: [683,0,683,58,723], // LATIN CAPITAL LETTER Z - 0x61: [441,10,529,33,506], // LATIN SMALL LETTER A - 0x62: [694,11,429,40,422], // LATIN SMALL LETTER B - 0x63: [442,11,433,34,429], // LATIN SMALL LETTER C - 0x64: [694,10,520,33,523], // LATIN SMALL LETTER D - 0x65: [442,11,466,39,429], // LATIN SMALL LETTER E - 0x66: [705,205,490,55,550], // LATIN SMALL LETTER F - 0x67: [442,205,477,10,480], // LATIN SMALL LETTER G - 0x68: [694,11,576,48,555], // LATIN SMALL LETTER H - 0x69: [661,11,345,21,302], // LATIN SMALL LETTER I - 0x6A: [661,204,412,-12,403], // LATIN SMALL LETTER J - 0x6B: [694,11,521,48,503], // LATIN SMALL LETTER K - 0x6C: [694,11,298,38,266], // LATIN SMALL LETTER L - 0x6D: [442,11,878,21,857], // LATIN SMALL LETTER M - 0x6E: [442,11,600,21,580], // LATIN SMALL LETTER N - 0x6F: [441,11,485,34,476], // LATIN SMALL LETTER O - 0x70: [442,194,503,-39,497], // LATIN SMALL LETTER P - 0x71: [442,194,446,33,460], // LATIN SMALL LETTER Q - 0x72: [442,11,451,21,430], // LATIN SMALL LETTER R - 0x73: [442,10,469,53,419], // LATIN SMALL LETTER S - 0x74: [626,11,361,19,330], // LATIN SMALL LETTER T - 0x75: [442,11,572,21,551], // LATIN SMALL LETTER U - 0x76: [443,11,485,21,467], // LATIN SMALL LETTER V - 0x77: [443,11,716,21,690], // LATIN SMALL LETTER W - 0x78: [442,11,572,35,522], // LATIN SMALL LETTER X - 0x79: [442,205,490,21,496], // LATIN SMALL LETTER Y - 0x7A: [442,11,465,35,468], // LATIN SMALL LETTER Z - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x393: [680,-1,615,31,721], // GREEK CAPITAL LETTER GAMMA - 0x394: [716,0,833,48,788], // GREEK CAPITAL LETTER DELTA - 0x398: [704,22,763,50,740], // GREEK CAPITAL LETTER THETA - 0x39B: [716,0,694,35,670], // GREEK CAPITAL LETTER LAMDA - 0x39E: [677,0,742,53,777], // GREEK CAPITAL LETTER XI - 0x3A0: [680,0,831,31,887], // GREEK CAPITAL LETTER PI - 0x3A3: [683,0,780,58,806], // GREEK CAPITAL LETTER SIGMA - 0x3A5: [705,0,583,28,700], // GREEK CAPITAL LETTER UPSILON - 0x3A6: [683,0,667,24,642], // GREEK CAPITAL LETTER PHI - 0x3A8: [683,0,612,21,692], // GREEK CAPITAL LETTER PSI - 0x3A9: [704,0,772,80,786], // GREEK CAPITAL LETTER OMEGA - 0x3B1: [442,11,640,34,603], // GREEK SMALL LETTER ALPHA - 0x3B2: [705,194,566,23,573], // GREEK SMALL LETTER BETA - 0x3B3: [441,216,518,11,543], // GREEK SMALL LETTER GAMMA - 0x3B4: [717,10,444,36,451], // GREEK SMALL LETTER DELTA - 0x3B5: [452,22,466,27,428], // GREEK SMALL LETTER EPSILON - 0x3B6: [704,204,438,44,471], // GREEK SMALL LETTER ZETA - 0x3B7: [442,216,497,21,503], // GREEK SMALL LETTER ETA - 0x3B8: [705,10,469,35,462], // GREEK SMALL LETTER THETA - 0x3B9: [442,10,354,48,332], // GREEK SMALL LETTER IOTA - 0x3BA: [442,11,576,49,554], // GREEK SMALL LETTER KAPPA - 0x3BB: [694,12,583,47,556], // GREEK SMALL LETTER LAMDA - 0x3BC: [442,216,603,23,580], // GREEK SMALL LETTER MU - 0x3BD: [442,2,494,45,530], // GREEK SMALL LETTER NU - 0x3BE: [704,205,438,21,443], // GREEK SMALL LETTER XI - 0x3BF: [441,11,485,34,476], // GREEK SMALL LETTER OMICRON - 0x3C0: [431,11,570,19,573], // GREEK SMALL LETTER PI - 0x3C1: [442,216,517,23,510], // GREEK SMALL LETTER RHO - 0x3C2: [442,107,363,31,405], // GREEK SMALL LETTER FINAL SIGMA - 0x3C3: [431,11,571,31,572], // GREEK SMALL LETTER SIGMA - 0x3C4: [431,13,437,18,517], // GREEK SMALL LETTER TAU - 0x3C5: [443,10,540,21,523], // GREEK SMALL LETTER UPSILON - 0x3C6: [442,218,654,50,618], // GREEK SMALL LETTER PHI - 0x3C7: [442,204,626,25,600], // GREEK SMALL LETTER CHI - 0x3C8: [694,205,651,21,634], // GREEK SMALL LETTER PSI - 0x3C9: [443,11,622,15,604], // GREEK SMALL LETTER OMEGA - 0x3D1: [705,11,591,21,563], // GREEK THETA SYMBOL - 0x3D5: [694,205,596,43,579], // GREEK PHI SYMBOL - 0x3D6: [431,10,828,19,823], // GREEK PI SYMBOL - 0x3F1: [442,194,517,67,510], // GREEK RHO SYMBOL - 0x3F5: [431,11,406,40,382] // GREEK LUNATE EPSILON SYMBOL - }; - - CHTML.FONTDATA.FONTS['MathJax_Size1'] = { - centerline: 250, ascent: 850, descent: 350, - 0x20: [0,0,250,0,0], // SPACE - 0x28: [850,349,458,152,422], // LEFT PARENTHESIS - 0x29: [850,349,458,35,305], // RIGHT PARENTHESIS - 0x2F: [850,349,578,55,522], // SOLIDUS - 0x5B: [850,349,417,202,394], // LEFT SQUARE BRACKET - 0x5C: [850,349,578,54,522], // REVERSE SOLIDUS - 0x5D: [850,349,417,22,214], // RIGHT SQUARE BRACKET - 0x7B: [850,349,583,105,477], // LEFT CURLY BRACKET - 0x7D: [850,349,583,105,477], // RIGHT CURLY BRACKET - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x2C6: [744,-551,556,-8,564], // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2DC: [722,-597,556,1,554], // SMALL TILDE - 0x302: [744,-551,0,-564,8], // COMBINING CIRCUMFLEX ACCENT - 0x303: [722,-597,0,-555,-2], // COMBINING TILDE - 0x2016: [602,0,778,257,521], // DOUBLE VERTICAL LINE - 0x2191: [600,0,667,112,555], // UPWARDS ARROW - 0x2193: [600,0,667,112,555], // DOWNWARDS ARROW - 0x21D1: [599,0,778,57,721], // UPWARDS DOUBLE ARROW - 0x21D3: [600,-1,778,57,721], // DOWNWARDS DOUBLE ARROW - 0x220F: [750,250,944,55,888], // N-ARY PRODUCT - 0x2210: [750,250,944,55,888], // N-ARY COPRODUCT - 0x2211: [750,250,1056,56,999], // N-ARY SUMMATION - 0x221A: [850,350,1000,111,1020], // SQUARE ROOT - 0x2223: [627,15,333,145,188], // DIVIDES - 0x2225: [627,15,556,145,410], // PARALLEL TO - 0x222B: [805,306,472,55,610], // INTEGRAL - 0x222C: [805,306,819,55,957], // DOUBLE INTEGRAL - 0x222D: [805,306,1166,55,1304], // TRIPLE INTEGRAL - 0x222E: [805,306,472,55,610], // CONTOUR INTEGRAL - 0x22C0: [750,249,833,55,777], // N-ARY LOGICAL AND - 0x22C1: [750,249,833,55,777], // N-ARY LOGICAL OR - 0x22C2: [750,249,833,55,777], // N-ARY INTERSECTION - 0x22C3: [750,249,833,55,777], // N-ARY UNION - 0x2308: [850,349,472,202,449], // LEFT CEILING - 0x2309: [850,349,472,22,269], // RIGHT CEILING - 0x230A: [850,349,472,202,449], // LEFT FLOOR - 0x230B: [850,349,472,22,269], // RIGHT FLOOR - 0x23D0: [602,0,667,312,355], // VERTICAL LINE EXTENSION (used to extend arrows) - 0x27E8: [850,350,472,97,394], // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E9: [850,350,472,77,374], // MATHEMATICAL RIGHT ANGLE BRACKET - 0x2A00: [750,250,1111,56,1054], // N-ARY CIRCLED DOT OPERATOR - 0x2A01: [750,250,1111,56,1054], // N-ARY CIRCLED PLUS OPERATOR - 0x2A02: [750,250,1111,56,1054], // N-ARY CIRCLED TIMES OPERATOR - 0x2A04: [750,249,833,55,777], // N-ARY UNION OPERATOR WITH PLUS - 0x2A06: [750,249,833,55,777] // N-ARY SQUARE UNION OPERATOR - }; - - CHTML.FONTDATA.FONTS['MathJax_Size2'] = { - centerline: 249, ascent: 1360, descent: 862, - 0x20: [0,0,250,0,0], // SPACE - 0x28: [1150,649,597,180,561], // LEFT PARENTHESIS - 0x29: [1150,649,597,35,416], // RIGHT PARENTHESIS - 0x2F: [1150,649,811,56,754], // SOLIDUS - 0x5B: [1150,649,472,224,455], // LEFT SQUARE BRACKET - 0x5C: [1150,649,811,54,754], // REVERSE SOLIDUS - 0x5D: [1150,649,472,16,247], // RIGHT SQUARE BRACKET - 0x7B: [1150,649,667,119,547], // LEFT CURLY BRACKET - 0x7D: [1150,649,667,119,547], // RIGHT CURLY BRACKET - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x2C6: [772,-565,1000,-5,1004], // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2DC: [750,-611,1000,0,999], // SMALL TILDE - 0x302: [772,-565,0,-1005,4], // COMBINING CIRCUMFLEX ACCENT - 0x303: [750,-611,0,-1000,-1], // COMBINING TILDE - 0x220F: [950,450,1278,56,1221], // N-ARY PRODUCT - 0x2210: [950,450,1278,56,1221], // N-ARY COPRODUCT - 0x2211: [950,450,1444,55,1388], // N-ARY SUMMATION - 0x221A: [1150,650,1000,111,1020], // SQUARE ROOT - 0x222B: [1360,862,556,55,944], // INTEGRAL - 0x222C: [1360,862,1084,55,1472], // DOUBLE INTEGRAL - 0x222D: [1360,862,1592,55,1980], // TRIPLE INTEGRAL - 0x222E: [1360,862,556,55,944], // CONTOUR INTEGRAL - 0x22C0: [950,450,1111,55,1055], // N-ARY LOGICAL AND - 0x22C1: [950,450,1111,55,1055], // N-ARY LOGICAL OR - 0x22C2: [949,450,1111,55,1055], // N-ARY INTERSECTION - 0x22C3: [950,449,1111,55,1055], // N-ARY UNION - 0x2308: [1150,649,528,224,511], // LEFT CEILING - 0x2309: [1150,649,528,16,303], // RIGHT CEILING - 0x230A: [1150,649,528,224,511], // LEFT FLOOR - 0x230B: [1150,649,528,16,303], // RIGHT FLOOR - 0x27E8: [1150,649,611,112,524], // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E9: [1150,649,611,85,498], // MATHEMATICAL RIGHT ANGLE BRACKET - 0x2A00: [949,449,1511,56,1454], // N-ARY CIRCLED DOT OPERATOR - 0x2A01: [949,449,1511,56,1454], // N-ARY CIRCLED PLUS OPERATOR - 0x2A02: [949,449,1511,56,1454], // N-ARY CIRCLED TIMES OPERATOR - 0x2A04: [950,449,1111,55,1055], // N-ARY UNION OPERATOR WITH PLUS - 0x2A06: [950,450,1111,55,1055] // N-ARY SQUARE UNION OPERATOR - }; - - CHTML.FONTDATA.FONTS['MathJax_Size3'] = { - centerline: 250, ascent: 1450, descent: 950, - 0x20: [0,0,250,0,0], // SPACE - 0x28: [1450,949,736,209,701], // LEFT PARENTHESIS - 0x29: [1450,949,736,34,526], // RIGHT PARENTHESIS - 0x2F: [1450,949,1044,55,989], // SOLIDUS - 0x5B: [1450,949,528,247,516], // LEFT SQUARE BRACKET - 0x5C: [1450,949,1044,56,988], // REVERSE SOLIDUS - 0x5D: [1450,949,528,11,280], // RIGHT SQUARE BRACKET - 0x7B: [1450,949,750,130,618], // LEFT CURLY BRACKET - 0x7D: [1450,949,750,131,618], // RIGHT CURLY BRACKET - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x2C6: [772,-564,1444,-4,1447], // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2DC: [749,-610,1444,1,1442], // SMALL TILDE - 0x302: [772,-564,0,-1448,3], // COMBINING CIRCUMFLEX ACCENT - 0x303: [749,-610,0,-1443,-2], // COMBINING TILDE - 0x221A: [1450,950,1000,111,1020], // SQUARE ROOT - 0x2308: [1450,949,583,246,571], // LEFT CEILING - 0x2309: [1450,949,583,11,336], // RIGHT CEILING - 0x230A: [1450,949,583,246,571], // LEFT FLOOR - 0x230B: [1450,949,583,11,336], // RIGHT FLOOR - 0x27E8: [1450,950,750,126,654], // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E9: [1450,949,750,94,623] // MATHEMATICAL RIGHT ANGLE BRACKET - }; - - CHTML.FONTDATA.FONTS['MathJax_Size4'] = { - centerline: 250, ascent: 1750, descent: 1250, - 0x20: [0,0,250,0,0], // SPACE - 0x28: [1750,1249,792,237,758], // LEFT PARENTHESIS - 0x29: [1750,1249,792,33,554], // RIGHT PARENTHESIS - 0x2F: [1750,1249,1278,56,1221], // SOLIDUS - 0x5B: [1750,1249,583,269,577], // LEFT SQUARE BRACKET - 0x5C: [1750,1249,1278,56,1221], // REVERSE SOLIDUS - 0x5D: [1750,1249,583,5,313], // RIGHT SQUARE BRACKET - 0x7B: [1750,1249,806,144,661], // LEFT CURLY BRACKET - 0x7D: [1750,1249,806,144,661], // RIGHT CURLY BRACKET - 0xA0: [0,0,250,0,0], // NO-BREAK SPACE - 0x2C6: [845,-561,1889,-14,1902], // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2DC: [823,-583,1889,1,1885], // SMALL TILDE - 0x302: [845,-561,0,-1903,13], // COMBINING CIRCUMFLEX ACCENT - 0x303: [823,-583,0,-1888,-4], // COMBINING TILDE - 0x221A: [1750,1250,1000,111,1020], // SQUARE ROOT - 0x2308: [1750,1249,639,269,633], // LEFT CEILING - 0x2309: [1750,1249,639,5,369], // RIGHT CEILING - 0x230A: [1750,1249,639,269,633], // LEFT FLOOR - 0x230B: [1750,1249,639,5,369], // RIGHT FLOOR - 0x239B: [1154,655,875,291,843], // LEFT PARENTHESIS UPPER HOOK - 0x239C: [610,10,875,291,417], // LEFT PARENTHESIS EXTENSION - 0x239D: [1165,644,875,291,843], // LEFT PARENTHESIS LOWER HOOK - 0x239E: [1154,655,875,31,583], // RIGHT PARENTHESIS UPPER HOOK - 0x239F: [610,10,875,457,583], // RIGHT PARENTHESIS EXTENSION - 0x23A0: [1165,644,875,31,583], // RIGHT PARENTHESIS LOWER HOOK - 0x23A1: [1154,645,667,319,666], // LEFT SQUARE BRACKET UPPER CORNER - 0x23A2: [602,0,667,319,403], // LEFT SQUARE BRACKET EXTENSION - 0x23A3: [1155,644,667,319,666], // LEFT SQUARE BRACKET LOWER CORNER - 0x23A4: [1154,645,667,0,347], // RIGHT SQUARE BRACKET UPPER CORNER - 0x23A5: [602,0,667,263,347], // RIGHT SQUARE BRACKET EXTENSION - 0x23A6: [1155,644,667,0,347], // RIGHT SQUARE BRACKET LOWER CORNER - 0x23A7: [899,10,889,384,718], // LEFT CURLY BRACKET UPPER HOOK - 0x23A8: [1160,660,889,170,504], // LEFT CURLY BRACKET MIDDLE PIECE - 0x23A9: [10,899,889,384,718], // LEFT CURLY BRACKET LOWER HOOK - 0x23AA: [310,10,889,384,504], // CURLY BRACKET EXTENSION - 0x23AB: [899,10,889,170,504], // RIGHT CURLY BRACKET UPPER HOOK - 0x23AC: [1160,660,889,384,718], // RIGHT CURLY BRACKET MIDDLE PIECE - 0x23AD: [10,899,889,170,504], // RIGHT CURLY BRACKET LOWER HOOK - 0x23B7: [935,885,1056,111,742], // RADICAL SYMBOL BOTTOM - 0x27E8: [1750,1248,806,140,703], // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E9: [1750,1248,806,103,665], // MATHEMATICAL RIGHT ANGLE BRACKET - 0xE000: [625,14,1056,702,742], // stix-radical symbol vertical extender - 0xE001: [605,14,1056,702,1076], // stix-radical symbol top corner piece - 0xE150: [120,213,450,-24,460], // stix-horizontal brace, down left piece - 0xE151: [120,213,450,-10,474], // stix-horizontal brace, down right piece - 0xE152: [333,0,450,-24,460], // stix-horizontal brace, upper left piece - 0xE153: [333,0,450,-10,474], // stix-horizontal brace, upper right piece - 0xE154: [120,0,400,-10,410] // stix-oblique open face capital letter A - }; - - CHTML.FONTDATA.FONTS['MathJax_Vector'] = { - centerline: 257, ascent: 714, descent: 200, - 0x2192: [714,-516,500,29,471] // vector arrow - }; - - CHTML.FONTDATA.FONTS['MathJax_Vector-Bold'] = { - centerline: 256, ascent: 723, descent: 210, - 0x2192: [723,-513,575,33,542] // vector arrow - }; - - CHTML.FONTDATA.FONTS[MAIN][0x2212][0] = CHTML.FONTDATA.FONTS[MAIN][0x002B][0]; // minus is sized as plus - CHTML.FONTDATA.FONTS[MAIN][0x2212][1] = CHTML.FONTDATA.FONTS[MAIN][0x002B][1]; // minus is sized as plus - CHTML.FONTDATA.FONTS[MAIN][0x22EE][0] += 400; // adjust height for \vdots - CHTML.FONTDATA.FONTS[MAIN][0x22F1][0] += 700; // adjust height for \ddots - CHTML.FONTDATA.FONTS[SIZE4][0x23AA][0] -= 20; - CHTML.FONTDATA.FONTS[SIZE4][0x23AA][1] += 5; - CHTML.FONTDATA.FONTS[SIZE4][0xE154][0] += 200; // adjust height for brace extender - CHTML.FONTDATA.FONTS[SIZE4][0xE154][1] += 200; // adjust depth for brace extender - CHTML.FONTDATA.FONTS[MAIN][0x2245][2] -= 222; // fix error in character's right bearing - CHTML.FONTDATA.FONTS[MAIN][0x2245][5] = {rfix:-222}; // fix error in character's right bearing - MathJax.Hub.Register.LoadHook(CHTML.fontDir+"/TeX/Main-Bold.js",function () { - CHTML.FONTDATA.FONTS[BOLD][0x2245][2] -= 106; // fix error in character's right bearing - CHTML.FONTDATA.FONTS[BOLD][0x2245][5] = {rfix:-106}; // fix error in character's right bearing - }); - MathJax.Hub.Register.LoadHook(CHTML.fontDir+"/TeX/Typewriter-Regular.js",function () { - CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0x20][2] += 275; // fix error in character width - CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0x20][5] = {rfix:275}; // fix error in character width - CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0xA0][2] += 275; // fix error in character width - CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0xA0][5] = {rfix:275}; // fix error in character width - }); - - // - // Add some spacing characters - // - MathJax.Hub.Insert(CHTML.FONTDATA.FONTS[MAIN],{ - remapCombining: { - 0x300: 0x2CB, // grave accent - 0x301: 0x2CA, // acute accent - 0x302: 0x2C6, // curcumflex - 0x303: 0x2DC, // tilde accent - 0x304: 0x2C9, // macron - 0x306: 0x2D8, // breve - 0x307: 0x2D9, // dot - 0x308: 0xA8, // diaresis - 0x30A: 0x2DA, // ring above -// 0x30B: ?? // double acute accent - 0x30C: 0x2C7, // caron - 0x338: [0x2F, ITALIC], // \not - 0x20D7: [0x2192, 'MathJax_Vector'] // \vec - }, - 0x2000: [0,0,500,0,0,{space:1}], // en space - 0x2001: [0,0,1000,0,0,{space:1}], // em quad - 0x2002: [0,0,500,0,0,{space:1}], // en quad - 0x2003: [0,0,1000,0,0,{space:1}], // em space - 0x2004: [0,0,333,0,0,{space:1}], // 3-per-em space - 0x2005: [0,0,250,0,0,{space:1}], // 4-per-em space - 0x2006: [0,0,167,0,0,{space:1}], // 6-per-em space - 0x2009: [0,0,167,0,0,{space:1}], // thin space - 0x200A: [0,0,100,0,0,{space:1}], // hair space - 0x200B: [0,0,0,0,0,{space:1}], // zero-width space - 0x200C: [0,0,0,0,0,{space:1}], // zero-width non-joiner space - 0x2061: [0,0,0,0,0,{space:1}], // function application - 0x2062: [0,0,0,0,0,{space:1}], // invisible times - 0x2063: [0,0,0,0,0,{space:1}], // invisible separator - 0x2064: [0,0,0,0,0,{space:1}], // invisible plus - 0xEEE0: [0,0,-575,0,0,{space:1}], - 0xEEE1: [0,0,-300,0,0,{space:1}], - 0xEEE8: [0,0,25,0,0,{space:1}] - }); - MathJax.Hub.Insert(CHTML.FONTDATA.FONTS['MathJax_Main-Italic'],{ - remapCombining: { - 0x300: [0x2CB, MAIN], // grave accent - 0x301: [0x2CA, MAIN], // acute accent - 0x302: [0x2C6, MAIN], // curcumflex - 0x303: [0x2DC, MAIN], // tilde accent - 0x304: [0x2C9, MAIN], // macron - 0x306: [0x2D8, MAIN], // breve - 0x307: [0x2D9, MAIN], // dot - 0x308: [0xA8, MAIN], // diaresis - 0x30A: [0x2DA, MAIN], // ring above -// 0x30B: ?? // double acute accent - 0x30C: [0x2C7, MAIN], // caron - 0x338: [0x2F, 'MathJax_Vector'] // \not - } - }); - MathJax.Hub.Insert(CHTML.FONTDATA.FONTS['MathJax_Main-Bold'],{ - remapCombining: { - 0x300: 0x2CB, // grave accent - 0x301: 0x2CA, // acute accent - 0x302: 0x2C6, // curcumflex - 0x303: 0x2DC, // tilde accent - 0x304: 0x2C9, // macron - 0x306: 0x2D8, // breve - 0x307: 0x2D9, // dot - 0x308: 0xA8, // diaresis - 0x30A: 0x2DA, // ring above -// 0x30B: ?? // double acute accent - 0x30C: 0x2C7, // caron - 0x338: [0x2F, 'MathJax_Math-BoldItalic'], // \not - 0x20D7: [0x2192, 'MathJax_Vector-Bold'] // \vec - } - }); - - // - // Create @font-face stylesheet for the declared fonts - // - CHTML.FONTDATA.familyName = function (font) { - font = font.replace(/^MathJax_/,""); - var names = (font+"-Regular").split(/-/); - var suffix = names[0].toLowerCase().replace(/(?:igraphic|serif|writer|tur|tor)$/,"") - + "-" + names[1].replace(/[^A-Z]/g,""); - return "MJXc-TeX-"+suffix; - }; - (function () { - var STYLES = CHTML.config.styles, FONTS = CHTML.FONTDATA.FONTS; - var OTFDIR = AJAX.fileURL(CHTML.webfontDir+"/TeX/otf"), - EOTDIR = AJAX.fileURL(CHTML.webfontDir+"/TeX/eot"), - WOFFDIR = AJAX.fileURL(CHTML.webfontDir+"/TeX/woff"); - var faces = []; - for (var name in FONTS) {if (FONTS.hasOwnProperty(name)) { - var family = CHTML.FONTDATA.familyName(name), FAMILY = family; - var variant = ((name+"-Regular").split(/-/))[1]; - FONTS[name].className = family; - // - // The local font, if found - // - var font = {"font-family":family}; - name = name.replace(/-.*/,""); - if (variant === "Regular") { - font.src = "local('"+name+"'), local('"+name+"-Regular')"; - } else { - font.src = "local('"+name+" "+variant+"'), local('"+name+"-"+variant+"')"; - } - faces.push(font); - // - // For Chrome, need to have separate font-weight and font-style versions - // - if (variant !== "Regular") { - font = {"font-family":family+"x", src:"local('"+name+"')"}; - if (variant.match(/Bold/)) font["font-weight"] = "bold"; - if (variant.match(/Italic/)) font["font-style"] = "italic"; - FAMILY += ","+family+"x"; - faces.push(font); - } - // - // The web font, if no local font found - // - font = { - "font-family": family+"w", - "src /*1*/": "url('"+EOTDIR+"/"+name+"-"+variant+".eot')", // for IE8 - "src /*2*/": [ - "url('"+WOFFDIR+"/"+name+"-"+variant+".woff') format('woff')", - "url('"+OTFDIR+"/"+name+"-"+variant+".otf') format('opentype')" - ].join(", ") - }; - faces.push(font); - // - // A class that looks for the local and web fonts - // - FAMILY += ","+family+"w"; - STYLES["."+family] = {"font-family":FAMILY}; - }} - if (faces.length) STYLES["@font-face"] = faces; - })(); - - CHTML.fontLoaded("TeX/fontdata"); - -})(MathJax.OutputJax.CommonHTML,MathJax.ElementJax.mml,MathJax.Ajax); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/jax.js deleted file mode 100644 index 5d48d26e..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/jax.js +++ /dev/null @@ -1,2841 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/CommonHTML/jax.js - * - * Implements the CommonHTML OutputJax that displays mathematics - * using HTML and CSS to position the characters from math fonts - * in their proper locations. Unlike the HTML-CSS output jax, - * this HTML is browser and OS independent. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - - -(function (AJAX,HUB,HTML,CHTML) { - var MML; - var isArray = MathJax.Object.isArray; - - var EVENT, TOUCH, HOVER; // filled in later - - var STRUTHEIGHT = 1, - EFUZZ = .1, // overlap needed for stretchy delimiters - HFUZZ = .025, DFUZZ = .025; // adjustments to bounding box of character boxes - - var STYLES = { - ".mjx-chtml": { - display: "inline-block", - "line-height": 0, - "text-indent": 0, - "text-align": "left", - "text-transform": "none", - "font-style": "normal", - "font-weight": "normal", - "font-size": "100%", - "font-size-adjust":"none", - "letter-spacing": "normal", - "word-wrap": "normal", - "word-spacing": "normal", - "white-space": "nowrap", - "float": "none", - "direction": "ltr", - "max-width": "none", - "max-height": "none", - "min-width": 0, - "min-height": 0, - border: 0, - margin: 0, - padding: "1px 0" - }, - ".MJXc-display": { - display: "block", - "text-align": "center", - "margin": "1em 0", - padding: 0 - }, - ".mjx-chtml[tabindex]:focus, body :focus .mjx-chtml[tabindex]": { - display: "inline-table" // see issues #1282 and #1338 - }, - ".mjx-full-width": { - "text-align": "center", - display: "table-cell!important", - width: "10000em" - }, - - ".mjx-math": { - "display": "inline-block", - "border-collapse": "separate", - "border-spacing": 0 - }, - ".mjx-math *": { - display:"inline-block", - "-webkit-box-sizing": "content-box!important", - "-moz-box-sizing": "content-box!important", - "box-sizing": "content-box!important", // override bootstrap settings - "text-align":"left" - }, - - ".mjx-numerator": {display:"block", "text-align":"center"}, - ".mjx-denominator": {display:"block", "text-align":"center"}, - ".MJXc-stacked": {height:0, position:"relative"}, - ".MJXc-stacked > *": {position: "absolute"}, - ".MJXc-bevelled > *": {display:"inline-block"}, - - ".mjx-stack": {display:"inline-block"}, - ".mjx-op": {display:"block"}, - ".mjx-under": {display:"table-cell"}, - ".mjx-over": {display:"block"}, - ".mjx-over > *": {"padding-left":"0px!important", "padding-right":"0px!important"}, - ".mjx-under > *": {"padding-left":"0px!important", "padding-right":"0px!important"}, - - ".mjx-stack > .mjx-sup": {display:"block"}, - ".mjx-stack > .mjx-sub": {display:"block"}, - ".mjx-prestack > .mjx-presup": {display:"block"}, - ".mjx-prestack > .mjx-presub": {display:"block"}, - - ".mjx-delim-h > .mjx-char": {display:"inline-block"}, - - ".mjx-surd": {"vertical-align":"top"}, - - ".mjx-mphantom *": {visibility:"hidden"}, - - ".mjx-merror": { - "background-color":"#FFFF88", - color: "#CC0000", - border: "1px solid #CC0000", - padding: "2px 3px", - "font-style": "normal", - "font-size": "90%" - }, - - ".mjx-annotation-xml": {"line-height":"normal"}, - - ".mjx-menclose > svg": {fill:"none", stroke:"currentColor"}, - - ".mjx-mtr": {display:"table-row"}, - ".mjx-mlabeledtr": {display:"table-row"}, - ".mjx-mtd": {display:"table-cell", "text-align":"center"}, - ".mjx-label": {display:"table-row"}, - - ".mjx-box": {display:"inline-block"}, - ".mjx-block": {display:"block"}, - ".mjx-span": {display:"inline"}, - ".mjx-char": {display:"block", "white-space":"pre"}, - ".mjx-itable": {display:"inline-table", width:"auto"}, - ".mjx-row": {display:"table-row"}, - ".mjx-cell": {display:"table-cell"}, - ".mjx-table": {display:"table", width:"100%"}, - ".mjx-line": {display:"block", height:0}, - ".mjx-strut": {width:0, "padding-top":STRUTHEIGHT+"em"}, - ".mjx-vsize": {width:0}, - - ".MJXc-space1": {"margin-left":".167em"}, - ".MJXc-space2": {"margin-left":".222em"}, - ".MJXc-space3": {"margin-left":".278em"}, - - ".mjx-chartest": { - display:"block", - visibility: "hidden", - position:"absolute", top:0, - "line-height":"normal", - "font-size":"500%" - }, - ".mjx-chartest .mjx-char": {display:"inline"}, - ".mjx-chartest .mjx-box": {"padding-top": "1000px"}, - - ".MJXc-processing": { - visibility: "hidden", position:"fixed", - width: 0, height: 0, overflow:"hidden" - }, - ".MJXc-processed": {display:"none"}, - - ".mjx-test": { - "font-style": "normal", - "font-weight": "normal", - "font-size": "100%", - "font-size-adjust":"none", - "text-indent": 0, - "text-transform": "none", - "letter-spacing": "normal", - "word-spacing": "normal", - overflow: "hidden", - height: "1px" - }, - ".mjx-test.mjx-test-display": { - display: "table!important" - }, - ".mjx-test.mjx-test-inline": { - display: "inline!important", - "margin-right": "-1px" - }, - ".mjx-test.mjx-test-default": { - display: "block!important", - clear: "both" - }, - ".mjx-ex-box": { - display: "inline-block!important", - position: "absolute", - overflow: "hidden", - "min-height": 0, "max-height":"none", - padding:0, border: 0, margin: 0, - width:"1px", height:"60ex" - }, - ".mjx-test-inline .mjx-left-box": { - display: "inline-block", - width: 0, - "float":"left" - }, - ".mjx-test-inline .mjx-right-box": { - display: "inline-block", - width: 0, - "float":"right" - }, - ".mjx-test-display .mjx-right-box": { - display: "table-cell!important", - width: "10000em!important", - "min-width":0, "max-width":"none", - padding:0, border:0, margin:0 - }, - - "#MathJax_CHTML_Tooltip": { - "background-color": "InfoBackground", color: "InfoText", - border: "1px solid black", - "box-shadow": "2px 2px 5px #AAAAAA", // Opera 10.5 - "-webkit-box-shadow": "2px 2px 5px #AAAAAA", // Safari 3 and Chrome - "-moz-box-shadow": "2px 2px 5px #AAAAAA", // Firefox 3.5 - "-khtml-box-shadow": "2px 2px 5px #AAAAAA", // Konqueror - padding: "3px 4px", - "z-index": 401, - position: "absolute", left: 0, top: 0, - width: "auto", height: "auto", - display: "none" - } - - }; - - - /************************************************************/ - - var BIGDIMEN = 1000000; - var MAXREMAP = 5; - var LINEBREAKS = {}, CONFIG = MathJax.Hub.config; - - CHTML.Augment({ - settings: HUB.config.menuSettings, - config: {styles: STYLES}, - - /********************************************/ - - Config: function () { - if (!this.require) {this.require = []} - this.SUPER(arguments).Config.call(this); var settings = this.settings; - if (settings.scale) {this.config.scale = settings.scale} - this.require.push(this.fontDir+"/TeX/fontdata.js"); - this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); - LINEBREAKS = this.config.linebreaks; - }, - - Startup: function () { - // - // Set up event handling - // - EVENT = MathJax.Extension.MathEvents.Event; - TOUCH = MathJax.Extension.MathEvents.Touch; - HOVER = MathJax.Extension.MathEvents.Hover; - this.ContextMenu = EVENT.ContextMenu; - this.Mousedown = EVENT.AltContextMenu; - this.Mouseover = HOVER.Mouseover; - this.Mouseout = HOVER.Mouseout; - this.Mousemove = HOVER.Mousemove; - - // - // Determine pixels per inch - // - var div = CHTML.addElement(document.body,"mjx-block",{style:{display:"block",width:"5in"}}); - this.pxPerInch = div.offsetWidth/5; div.parentNode.removeChild(div); - - // - // Used in preTranslate to get scaling factors and line width - // - this.TestSpan = CHTML.Element("mjx-test",{style:{left:"1em"}}, - [["mjx-left-box"],["mjx-ex-box"],["mjx-right-box"]]); - - // - // Set up styles and preload web fonts - // - return AJAX.Styles(this.config.styles,["InitializeCHTML",this]); - }, - - InitializeCHTML: function () { - this.getDefaultExEm(); - // - // If the defaultEm size is zero, it might be that a web font hasn't - // arrived yet, so try to wait for it, but don't wait too long. - // - if (this.defaultEm) return; - var ready = MathJax.Callback(); - AJAX.timer.start(AJAX,function (check) { - if (check.time(ready)) {HUB.signal.Post(["CommonHTML Jax - no default em size"]); return} - CHTML.getDefaultExEm(); - if (CHTML.defaultEm) {ready()} else {setTimeout(check,check.delay)} - },this.defaultEmDelay,this.defaultEmTimeout); - return ready; - }, - defaultEmDelay: 100, // initial delay when checking for defaultEm - defaultEmTimeout: 1000, // when to stop looking for defaultEm - getDefaultExEm: function () { - // - // Get the default sizes (need styles in place to do this) - // - var test = document.body.appendChild(this.TestSpan.cloneNode(true)); - test.className += " mjx-test-inline mjx-test-default"; - this.defaultEm = this.getFontSize(test); - this.defaultEx = test.childNodes[1].offsetHeight/60; - this.defaultWidth = Math.max(0,test.lastChild.offsetLeft-test.firstChild.offsetLeft-2); - document.body.removeChild(test); - }, - getFontSize: (window.getComputedStyle ? - function (node) { - var style = window.getComputedStyle(node); - return parseFloat(style.fontSize); - } : - // - // IE 8 doesn't do getComputedStyle, so use - // an alternative approach - // - function (node) { - return node.style.pixelLeft; - } - ), - getMaxWidth: (window.getComputedStyle ? - function (node) { - var style = window.getComputedStyle(node); - if (style.maxWidth !== "none") return parseFloat(style.maxWidth); - return 0; - } : - // - // IE 8 doesn't do getComputedStyle, so use - // currentStyle, and a hack to get the pixels for - // a non-px max-width - // - function (node) { - var max = node.currentStyle.maxWidth; - if (max !== "none") { - if (max.match(/\d*px/)) return parseFloat(max); - var left = node.style.left; - node.style.left = max; max = node.style.pixelLeft; - node.style.left = left; - return max; - } - return 0; - } - ), - - // - // Load data for a font - // - loadFont: function (font) { - HUB.RestartAfter(AJAX.Require(this.fontDir+"/"+font)); - }, - // - // Signal that the font data are loaded - // - fontLoaded: function (font) { - if (!font.match(/-|fontdata/)) font += "-Regular"; - if (!font.match(/\.js$/)) font += ".js" - MathJax.Callback.Queue( - ["Post",HUB.Startup.signal,"CommonHTML - font data loaded for " + font], - ["loadComplete",AJAX,this.fontDir+"/"+font] - ); - }, - - Element: function (type,def,content) { - if (type.substr(0,4) === "mjx-") { - if (!def) def = {}; - if (def.isMathJax == null) def.isMathJax = true; - if (def.className) def.className = type+" "+def.className; else def.className = type; - type = "span"; - } - return this.HTMLElement(type,def,content); - }, - addElement: function (node,type,def,content) { - return node.appendChild(this.Element(type,def,content)); - }, - HTMLElement: HTML.Element, - ucMatch: HTML.ucMatch, - setScript: HTML.setScript, - - // - // Look through the direct children of a node for one with the given - // type (but if the node has intervening containers for its children, - // step into them; note that elements corresponding to MathML nodes - // will have id's so we don't step into them). - // - // This is used by munderover and msubsup to locate their child elements - // when they are part of an embellished operator that is being stretched. - // We don't use querySelector because we want to find only the direct child - // nodes, not nodes that might be nested deeper in the tree (see issue #1447). - // - getNode: function (node,type) { - var name = RegExp("\\b"+type+"\\b"); - var nodes = []; - while (node) { - for (var i = 0, m = node.childNodes.length; i < m; i++) { - var child = node.childNodes[i]; - if (child) { - if (name.test(child.className)) return child; - if (child.id === "") nodes.push(child); - } - } - node = nodes.shift(); - } - return null; - }, - - /********************************************/ - - preTranslate: function (state) { - var scripts = state.jax[this.id], i, m = scripts.length, - script, prev, node, test, jax, ex, em, scale; - // - // Get linebreaking information - // - var maxwidth = 100000, relwidth = false, cwidth = 0, - linebreak = LINEBREAKS.automatic, width = LINEBREAKS.width; - if (linebreak) { - relwidth = !!width.match(/^\s*(\d+(\.\d*)?%\s*)?container\s*$/); - if (relwidth) {width = width.replace(/\s*container\s*/,"")} - else {maxwidth = this.defaultWidth} - if (width === "") {width = "100%"} - } - // - // Loop through the scripts - // - for (i = 0; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; - // - // Remove any existing output - // - prev = script.previousSibling; - if (prev && prev.className && String(prev.className).substr(0,9) === "mjx-chtml") - prev.parentNode.removeChild(prev); - if (script.MathJax.preview) script.MathJax.preview.style.display = "none"; - // - // Add the node for the math and mark it as being processed - // - jax = script.MathJax.elementJax; if (!jax) continue; - jax.CHTML = { - display: (jax.root.Get("display") === "block"), - preview: (jax.CHTML||{}).preview // in case typeset calls are interleaved - }; - node = CHTML.Element("mjx-chtml",{ - id:jax.inputID+"-Frame", className:"MathJax_CHTML", isMathJax:true, jaxID:this.id, - oncontextmenu:EVENT.Menu, onmousedown: EVENT.Mousedown, - onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove, - onclick:EVENT.Click, ondblclick:EVENT.DblClick, - // Added for keyboard accessible menu. - onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax) - }); - if (jax.CHTML.display) { - // - // Zoom box requires an outer container to get the positioning right. - // - var NODE = CHTML.Element("mjx-chtml",{className:"MJXc-display",isMathJax:false}); - NODE.appendChild(node); node = NODE; - } - if (HUB.Browser.noContextMenu) { - node.ontouchstart = TOUCH.start; - node.ontouchend = TOUCH.end; - } - // - node.className += " MJXc-processing"; - script.parentNode.insertBefore(node,script); - // - // Add test nodes for determining scales and linebreak widths - // - test = this.TestSpan.cloneNode(true); - test.className += " mjx-test-" + (jax.CHTML.display ? "display" : "inline"); - script.parentNode.insertBefore(test,script); - } - // - // Determine the scaling factors for each script - // (this only requires one reflow rather than a reflow for each equation) - // - for (i = 0; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; - test = script.previousSibling; - jax = script.MathJax.elementJax; if (!jax) continue; - em = CHTML.getFontSize(test); - ex = test.childNodes[1].offsetHeight/60; - cwidth = Math.max(0, jax.CHTML.display ? test.lastChild.offsetWidth - 1: - test.lastChild.offsetLeft - test.firstChild.offsetLeft - 2); - if (ex === 0 || ex === "NaN") { - ex = this.defaultEx; - cwidth = this.defaultWidth; - } - if (cwidth === 0 && !jax.CHTML.display) cwidth = this.defaultWidth; - if (relwidth) maxwidth = cwidth; - scale = (this.config.matchFontHeight ? ex/this.TEX.x_height/em : 1); - scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale)*this.config.scale); - jax.CHTML.scale = scale/100; jax.CHTML.fontSize = scale+"%"; - jax.CHTML.outerEm = em; jax.CHTML.em = this.em = em * scale/100; - jax.CHTML.ex = ex; jax.CHTML.cwidth = cwidth/this.em; - jax.CHTML.lineWidth = (linebreak ? this.length2em(width,maxwidth/this.em,1) : maxwidth); - } - // - // Remove the test spans used for determining scales and linebreak widths - // - for (i = 0; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; - jax = script.MathJax.elementJax; if (!jax) continue; - script.parentNode.removeChild(script.previousSibling); - if (script.MathJax.preview) script.MathJax.preview.style.display = ""; - } - state.CHTMLeqn = state.CHTMLlast = 0; state.CHTMLi = -1; - state.CHTMLchunk = this.config.EqnChunk; - state.CHTMLdelay = false; - }, - - /********************************************/ - - Translate: function (script,state) { - if (!script.parentNode) return; - - // - // If we are supposed to do a chunk delay, do it - // - if (state.CHTMLdelay) { - state.CHTMLdelay = false; - HUB.RestartAfter(MathJax.Callback.Delay(this.config.EqnChunkDelay)); - } - - // - // Get the data about the math - // - var jax = script.MathJax.elementJax, math = jax.root, - node = document.getElementById(jax.inputID+"-Frame"); - if (!node) return; - this.getMetrics(jax); - if (this.scale !== 1) node.style.fontSize = jax.CHTML.fontSize; - // - // Typeset the math - // - this.initCHTML(math,node); - this.savePreview(script); - this.CHTMLnode = node; - try { - math.setTeXclass(); - math.toCommonHTML(node); - } catch (err) { - while (node.firstChild) node.removeChild(node.firstChild); - delete this.CHTMLnode; - this.restorePreview(script); - throw err; - } - delete this.CHTMLnode; - this.restorePreview(script); - // - // Put it in place, and remove the processing marker - // - if (jax.CHTML.display) node = node.parentNode; - node.className = node.className.replace(/ [^ ]+$/,""); - // - // Hide the math and don't let its preview be removed - // - node.className += " MJXc-processed"; - if (script.MathJax.preview) { - jax.CHTML.preview = script.MathJax.preview; - delete script.MathJax.preview; - } - // - // Check if we should show this chunk of equations - // - state.CHTMLeqn += (state.i - state.CHTMLi); state.CHTMLi = state.i; - if (state.CHTMLeqn >= state.CHTMLlast + state.CHTMLchunk) { - this.postTranslate(state); - state.CHTMLchunk = Math.floor(state.CHTMLchunk*this.config.EqnChunkFactor); - state.CHTMLdelay = true; // delay if there are more scripts - } - }, - - initCHTML: function (math,node) {}, - - // - // MathML previews can contain the same ID's as the HTML output, - // which confuses CHTMLnodeElement(), so remove the preview temporarily - // and restore it after typesetting the math. - // - savePreview: function (script) { - var preview = script.MathJax.preview; - if (preview && preview.parentNode) { - script.MathJax.tmpPreview = document.createElement("span"); - preview.parentNode.replaceChild(script.MathJax.tmpPreview,preview); - } - }, - restorePreview: function (script) { - var tmpPreview = script.MathJax.tmpPreview; - if (tmpPreview) { - tmpPreview.parentNode.replaceChild(script.MathJax.preview,tmpPreview); - delete script.MathJax.tmpPreview; - } - }, - // - // Get the jax metric information - // - getMetrics: function(jax) { - var data = jax.CHTML; - this.jax = jax; - this.em = data.em; - this.outerEm = data.outerEm; - this.scale = data.scale; - this.cwidth = data.cwidth; - this.linebreakWidth = data.lineWidth; - }, - - /********************************************/ - - postTranslate: function (state) { - var scripts = state.jax[this.id]; - // - // Reveal this chunk of math - // - for (var i = state.CHTMLlast, m = state.CHTMLeqn; i < m; i++) { - var script = scripts[i]; - if (script && script.MathJax.elementJax) { - // - // Remove the processed marker - // - script.previousSibling.className = script.previousSibling.className.replace(/ [^ ]+$/,""); - var data = script.MathJax.elementJax.CHTML; - // - // Remove the preview, if any - // - if (data.preview) { - data.preview.innerHTML = ""; - script.MathJax.preview = data.preview; - delete data.preview; - } - } - } - // - // Save our place so we know what is revealed - // - state.CHTMLlast = state.CHTMLeqn; - }, - - /********************************************/ - - getJaxFromMath: function (math) { - if (math.parentNode.className.match(/MJXc-display/)) math = math.parentNode; - do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); - return HUB.getJaxFor(math); - }, - getHoverSpan: function (jax,math) {return jax.root.CHTMLnodeElement()}, - getHoverBBox: function (jax,span,math) { - var bbox = jax.root.CHTML, em = jax.CHTML.outerEm; - var BBOX = {w:bbox.w*em, h:bbox.h*em, d:bbox.d*em}; - if (bbox.width) {BBOX.width = bbox.width} - return BBOX; - }, - - Zoom: function (jax,span,math,Mw,Mh) { - // - // Re-render at larger size - // - this.getMetrics(jax); - var node = CHTML.addElement(span,"mjx-chtml",{style:{"font-size":Math.floor(CHTML.scale*100)+"%"},isMathJax:false}); - CHTML.CHTMLnode = node; - this.idPostfix = "-zoom"; jax.root.toCommonHTML(node); this.idPostfix = ""; - // - // Adjust margins to prevent overlaps at the edges - // - var style = node.style, bbox = jax.root.CHTML; - if (bbox.t > bbox.h) style.marginTop = CHTML.Em(bbox.t-bbox.h); - if (bbox.b > bbox.d) style.marginBottom = CHTML.Em(bbox.b-bbox.d); - if (bbox.l < 0) style.paddingLeft = CHTML.Em(-bbox.l); - if (bbox.r > bbox.w) style.marginRight = CHTML.Em(bbox.r-bbox.w); - // - // Get height and width of zoomed math and original math - // - style.position = "absolute"; - var zW = node.offsetWidth, zH = node.offsetHeight, - mH = math.firstChild.offsetHeight, mW = math.firstChild.offsetWidth; - node.style.position = ""; - // - return {Y:-EVENT.getBBox(span).h, mW:mW, mH:mH, zW:zW, zH:zH}; - }, - - Remove: function (jax) { - var node = document.getElementById(jax.inputID+"-Frame"); - if (node && jax.CHTML.display) node = node.parentNode; - if (node) node.parentNode.removeChild(node); - delete jax.CHTML; - }, - - /********************************************/ - - ID: 0, idPostfix: "", - GetID: function () {this.ID++; return this.ID}, - - /********************************************/ - - MATHSPACE: { - veryverythinmathspace: 1/18, - verythinmathspace: 2/18, - thinmathspace: 3/18, - mediummathspace: 4/18, - thickmathspace: 5/18, - verythickmathspace: 6/18, - veryverythickmathspace: 7/18, - negativeveryverythinmathspace: -1/18, - negativeverythinmathspace: -2/18, - negativethinmathspace: -3/18, - negativemediummathspace: -4/18, - negativethickmathspace: -5/18, - negativeverythickmathspace: -6/18, - negativeveryverythickmathspace: -7/18, - - thin: .04, - medium: .06, - thick: .1, - - infinity: BIGDIMEN - }, - SPACECLASS: { - thinmathspace: "MJXc-space1", - mediummathspace: "MJXc-space2", - thickmathspace: "MJXc-space3" - }, - pxPerInch: 96, - em: 16, - - maxStretchyParts: 1000, // limit the number of parts allowed for - // stretchy operators. See issue 366. - - FONTDEF: {}, - TEXDEF: { - x_height: .442, - quad: 1, - num1: .676508, - num2: .393732, - num3: .44373, - denom1: .685951, - denom2: .344841, - sup1: .412892, - sup2: .362892, - sup3: .288888, - sub1: .15, - sub2: .247217, - sup_drop: .386108, - sub_drop: .05, - delim1: 2.39, - delim2: 1.0, - axis_height: .25, - rule_thickness: .06, - big_op_spacing1: .111111, - big_op_spacing2: .166666, - big_op_spacing3: .2, - big_op_spacing4: .45, //.6, // better spacing for under arrows and braces - big_op_spacing5: .1, - - surd_height: .075, - - scriptspace: .05, - nulldelimiterspace: .12, - delimiterfactor: 901, - delimitershortfall: .3, - - min_rule_thickness: 1.25 // in pixels - }, - - /********************************************************/ - - // - // True if text holds a single (unicode) glyph - // - isChar: function (text) { - if (text.length === 1) return true; - if (text.length !== 2) return false; - var n = text.charCodeAt(0); - return (n >= 0xD800 && n < 0xDBFF); - }, - // - // Get a unicode character by number (even when it takes two character) - // - unicodeChar: function (n) { - if (n < 0xFFFF) return String.fromCharCode(n); - n -= 0x10000; - return String.fromCharCode((n>>10)+0xD800) + String.fromCharCode((n&0x3FF)+0xDC00); - }, - // - // Get the unicode number of a (possibly multi-character) string - // - getUnicode: function (string) { - var n = string.text.charCodeAt(string.i); string.i++; - if (n >= 0xD800 && n < 0xDBFF) { - n = (((n-0xD800)<<10)+(string.text.charCodeAt(string.i)-0xDC00))+0x10000; - string.i++; - } - return n; - }, - // - // Get the list of actions for a given character in a given variant - // (processing remaps, multi-character results, and so on). Results are - // cached so that future lookups for the same variant/n pair will not - // require looking through the data again. - // - getCharList: function (variant,n) { - var id, M, cache = variant.cache, nn = n; - if (cache[n]) return cache[n]; - if (n > 0xFFFF && this.FONTDATA.RemapPlane1) { - var nv = this.FONTDATA.RemapPlane1(n,variant); - n = nv.n; variant = nv.variant; - } - var RANGES = this.FONTDATA.RANGES, VARIANT = this.FONTDATA.VARIANT; - if (n >= RANGES[0].low && n <= RANGES[RANGES.length-1].high) { - for (id = 0, M = RANGES.length; id < M; id++) { - if (RANGES[id].name === "alpha" && variant.noLowerCase) continue; - var N = variant["offset"+RANGES[id].offset]; - if (N && n >= RANGES[id].low && n <= RANGES[id].high) { - if (RANGES[id].remap && RANGES[id].remap[n]) { - n = N + RANGES[id].remap[n]; - } else { - n = n - RANGES[id].low + N; - if (RANGES[id].add) {n += RANGES[id].add} - } - if (variant["variant"+RANGES[id].offset]) - variant = VARIANT[variant["variant"+RANGES[id].offset]]; - break; - } - } - } - cache[nn] = this.remapChar(variant,n,0); - return cache[nn]; - }, - remapChar: function (variant,n,N) { - var list = [], VARIANT = this.FONTDATA.VARIANT; - if (variant.remap && variant.remap[n]) { - n = variant.remap[n]; - if (variant.remap.variant) {variant = VARIANT[variant.remap.variant]} - } else if (this.FONTDATA.REMAP[n] && !variant.noRemap) { - n = this.FONTDATA.REMAP[n]; - } - if (isArray(n)) { - if (n[2]) N = MAXREMAP; // stop remapping - variant = VARIANT[n[1]]; n = n[0]; - } - if (typeof(n) === "string") { - var string = {text:n, i:0, length:n.length}; - while (string.i < string.length) { - n = this.getUnicode(string); - var chars = this.getCharList(variant,n); - if (chars) list.push.apply(list,chars); - } - } else { - if (variant.cache[n]) {list = variant.cache[n]} - else {variant.cache[n] = list = this.lookupChar(variant,n,N)} - } - return list; - }, - // - // After all remapping has been done, look up a character - // in the fonts for a given variant, chaining to other - // variants as needed. Return an undefined character if - // it isn't found in the given variant. - // - lookupChar: function (variant,n,N) { - var VARIANT = variant; - while (variant) { - for (var i = 0, m = variant.fonts.length; i < m; i++) { - var font = this.FONTDATA.FONTS[variant.fonts[i]]; - if (typeof(font) === "string") this.loadFont(font); - var C = font[n]; - if (C) { - this.fixChar(C,n); - if (C[5].space) return [{type:"space", w:C[2], font:font}]; - return [{type:"char", font:font, n:n}]; - } else if (font.Extra) { - this.findBlock(font,n); - } - } - variant = this.FONTDATA.VARIANT[variant.chain]; - if (variant && variant.remap && variant.remap[n] && N++ < MAXREMAP) { - return this.remapChar(variant,n,N); - } - } - return [this.unknownChar(VARIANT,n)]; - }, - fixChar: function (C,n) { - if (C.length === 5) C[5] = {}; - if (C.c == null) { - C[0] /= 1000; C[1] /= 1000; C[2] /= 1000; C[3] /= 1000; C[4] /= 1000; - C.c = this.unicodeChar(n); - } - return C; - }, - findBlock: function (font,n) { - var extra = font.Extra, name = font.file, file; - for (var i = 0, m = extra.length; i < m; i++) { - if (typeof(extra[i]) === "number") { - if (n === extra[i]) {file = name; break} - } else { - if (n < extra[i][0]) return; - if (n <= extra[i][1]) {file = name; break} - } - } - // - // Currently this only loads one extra file, but that - // might need to be expanded in the future. - // - if (file) {delete font.Extra; this.loadFont(name)} - }, - // - // Create a fake font entry for an unknown character. - // - unknownChar: function (variant,n) { - HUB.signal.Post(["CommonHTML Jax - unknown char",n,variant]); - var id = ""; if (variant.bold) id += "B"; if (variant.italic) id += "I"; - var unknown = this.FONTDATA.UNKNOWN[id||"R"]; // cache of previously measured characters - if (!unknown[n]) this.getUnknownChar(unknown,n); - return {type:"unknown", n:n, font:unknown}; - }, - getUnknownChar: function (unknown,n) { - var c = this.unicodeChar(n); - var HDW = this.getHDW(c,unknown.className); - // ### FIXME: provide a means of setting the height and depth for individual characters - unknown[n] = [.8,.2,HDW.w,0,HDW.w,{a:Math.max(0,(HDW.h-HDW.d)/2), h:HDW.h, d:HDW.d}]; - unknown[n].c = c; - }, - styledText: function (variant,text) { - HUB.signal.Post(["CommonHTML Jax - styled text",text,variant]); - var style = variant.style; - var id = "_"+(style["font-family"]||variant.className||""); - if (style["font-weight"]) id += "_"+style["font-weight"]; - if (style["font-style"]) id += "_"+style["font-style"]; - if (!this.STYLEDTEXT) this.STYLEDTEXT = {}; - if (!this.STYLEDTEXT[id]) this.STYLEDTEXT[id] = {className:variant.className||""}; - var unknown = this.STYLEDTEXT[id]; - if (!unknown["_"+text]) { - var HDW = this.getHDW(text,variant.className||"",style); - unknown["_"+text] = [.8,.2,HDW.w,0,HDW.w,{a:Math.max(0,(HDW.h-HDW.d)/2), h:HDW.h, d:HDW.d}]; - unknown["_"+text].c = text; - } - return {type:"unknown", n:"_"+text, font:unknown, style:style, rscale:variant.rscale}; - }, - - // - // Get the height, depth, and width of a character - // (height and depth are of the font, not the character). - // WARNING: causes reflow of the page! - // - getHDW: function (c,name,styles) { - var test1 = CHTML.addElement(CHTML.CHTMLnode,"mjx-chartest",{className:name},[["mjx-char",{style:styles},[c]]]); - var test2 = CHTML.addElement(CHTML.CHTMLnode,"mjx-chartest",{className:name},[["mjx-char",{style:styles},[c,["mjx-box"]]]]); - test1.firstChild.style.fontSize = test2.firstChild.style.fontSize = ""; - var em = 5*CHTML.em; - var H1 = test1.offsetHeight, H2 = test2.offsetHeight, W = test1.offsetWidth; - CHTML.CHTMLnode.removeChild(test1); - CHTML.CHTMLnode.removeChild(test2); - if (H2 === 0) { - em = 5*CHTML.defaultEm; - var test = document.body.appendChild(document.createElement("div")); - test.appendChild(test1); test.appendChild(test2); - H1 = test1.offsetHeight, H2 = test2.offsetHeight, W = test1.offsetWidth; - document.body.removeChild(test); - } - var d = (H2-1000)/em, w = W/em, h = H1/em - d; - return {h:h, d:d, w:w} - }, - - - /********************************************************/ - - // - // Process a character list into a given node and return - // the updated bounding box. - // - addCharList: function (node,list,bbox) { - var state = {text:"", className:null, a:0}; - for (var i = 0, m = list.length; i < m; i++) { - var item = list[i]; - if (this.charList[item.type]) (this.charList[item.type])(item,node,bbox,state,m); - } - if (state.text !== "") { - if (node.childNodes.length) { - this.charList.flushText(node,state); - } else { - HTML.addText(node,state.text); - if (node.className) node.className += " "+state.className; - else node.className = state.className; - } - } - bbox.b = (state.flushed ? 0 : bbox.a); - }, - // - // The various item types are processed by these - // functions. - // - charList: { - // - // Character from the known fonts - // - "char": function (item,node,bbox,state,m) { - var font = item.font, remap = (font.remapCombining||{})[item.n]; - if (font.className === state.className) { - remap = null; - } else if (state.className || (remap && state.text !== "")) { - this.flushText(node,state); - } - if (!state.a) state.a = font.centerline/1000; - if (state.a > (bbox.a||0)) bbox.a = state.a; - state.className = font.className; - var C = font[item.n]; - if (remap) { - var FONT = font; - if (isArray(remap)) { - FONT = CHTML.FONTDATA.FONTS[remap[1]]; - remap = remap[0]; - if (typeof(FONT) === 'string') CHTML.loadFont(FONT); - } - if (FONT[item.n]) CHTML.fixChar(FONT[item.n],item.n); - C = CHTML.fixChar(FONT[remap],remap); - state.className = FONT.className; - } - state.text += C.c; - if (bbox.h < C[0]+HFUZZ) bbox.t = bbox.h = C[0]+HFUZZ; - if (bbox.d < C[1]+DFUZZ) bbox.b = bbox.d = C[1]+DFUZZ; - if (bbox.l > bbox.w+C[3]) bbox.l = bbox.w+C[3]; - if (bbox.r < bbox.w+C[4]) bbox.r = bbox.w+C[4]; - bbox.w += C[2] * (item.rscale||1); - if (m == 1 && font.skew && font.skew[item.n]) bbox.skew = font.skew[item.n]; - if (C[5] && C[5].rfix) this.flushText(node,state).style.marginRight = CHTML.Em(C[5].rfix/1000); - if (remap) { - // - // Remap combining characters to non-combining versions since Safari - // handles them differently from everyone else. (#1709) - // - var chr = this.flushText(node,state); - var r = (FONT[item.n]||font[item.n])[4] - (C[4] - C[2]); - chr.style.marginLeft = CHTML.Em(-C[2]-r); - if (r < 0) chr.style.marginRight = CHTML.Em(-r); - } - }, - // - // Space characters (not actually in the fonts) - // - space: function (item,node,bbox,state) { - if (item.w) { - if (state.text === "") state.className = item.font.className; - this.flushText(node,state).style.marginRight = CHTML.Em(item.w); - bbox.w += item.w; - } - }, - // - // An unknown character (one not in the font data) - // - unknown: function (item,node,bbox,state) { - (this["char"])(item,node,bbox,state,0); - var C = item.font[item.n]; - if (C[5].a) { - state.a = C[5].a; - if (bbox.a == null || state.a > bbox.a) bbox.a = state.a; - } - node = this.flushText(node,state,item.style); - if (C[2] < 3) node.style.width = CHTML.Em(C[2]); // only force width if not too large (#1718) - }, - // - // Put the pending text into a box of the class, and - // reset the data about the text. - // - flushText: function (node,state,style) { - node = CHTML.addElement(node,"mjx-charbox", - {className:state.className,style:style},[state.text]); - if (state.a) node.style.paddingBottom = CHTML.Em(state.a); - state.text = ""; state.className = null; state.a = 0; state.flushed = true; - return node; - } - }, - - // - // Add the given text (in the given variant) into the given node, and - // update the bounding box of the result. Make sure the node's DOM - // bounding box matches the contents. - // - handleText: function (node,text,variant,bbox) { - if (node.childNodes.length === 0) { - CHTML.addElement(node,"mjx-char"); - bbox = CHTML.BBOX.empty(bbox); - } - if (typeof(variant) === "string") variant = this.FONTDATA.VARIANT[variant]; - if (!variant) variant = this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]; - var string = {text:text, i:0, length:text.length}, list = []; - if (variant.style && string.length) { - list.push(this.styledText(variant,text)); - } else { - while (string.i < string.length) { - var n = this.getUnicode(string); - list.push.apply(list,this.getCharList(variant,n)); - } - } - if (list.length) this.addCharList(node.firstChild,list,bbox); - bbox.clean(); - if (bbox.d < 0) {bbox.D = bbox.d; bbox.d = 0} - if (bbox.h - bbox.a) node.firstChild.style[bbox.h - bbox.a < 0 ? "marginTop" : "paddingTop"] = this.EmRounded(bbox.h-bbox.a); - if (bbox.d > -bbox.b) node.firstChild.style.paddingBottom = this.EmRounded(bbox.d+bbox.b); - return bbox; - }, - - /********************************************************/ - - createDelimiter: function (node,code,HW,BBOX,font) { - if (!code) { - var bbox = this.BBOX.zero(); - bbox.w = bbox.r = this.TEX.nulldelimiterspace; - CHTML.addElement(node,"mjx-box",{style:{width:bbox.w}}); - return bbox; - } - if (!(HW instanceof Array)) HW = [HW,HW]; - var hw = HW[1]; HW = HW[0]; - var delim = {alias: code}; - while (delim.alias) { - code = delim.alias; delim = this.FONTDATA.DELIMITERS[code]; - if (!delim) {delim = {HW: [0,this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]]}} - } - if (delim.load) HUB.RestartAfter(AJAX.Require(this.fontDir+"/TeX/fontdata-"+delim.load+".js")); - for (var i = 0, m = delim.HW.length; i < m; i++) { - if (delim.HW[i][0] >= HW-.01 || (i == m-1 && !delim.stretch)) { - if (delim.HW[i][3]) code = delim.HW[i][3]; - bbox = this.createChar(node,[code,delim.HW[i][1]],(delim.HW[i][2]||1),font); - bbox.offset = .6 * bbox.w; - if (BBOX) {bbox.scale = BBOX.scale; BBOX.rscale = BBOX.rscale} - return bbox; - } - } - if (!delim.stretch) return bbox; - return this["extendDelimiter"+delim.dir](node,hw,delim.stretch,BBOX,font); - }, - extendDelimiterV: function (node,H,delim,BBOX,font) { - node = CHTML.addElement(node,"mjx-delim-v"); var tmp = CHTML.Element("span"); - var top, bot, mid, ext, tbox, bbox, mbox, ebox, k = 1, c; - tbox = this.createChar(tmp,(delim.top||delim.ext),1,font); top = tmp.removeChild(tmp.firstChild); - bbox = this.createChar(tmp,(delim.bot||delim.ext),1,font); bot = tmp.removeChild(tmp.firstChild); - mbox = ebox = CHTML.BBOX.zero(); - var h = tbox.h + tbox.d + bbox.h + bbox.d - EFUZZ; - node.appendChild(top); - if (delim.mid) { - mbox = this.createChar(tmp,delim.mid,1,font); mid = tmp.removeChild(tmp.firstChild); - h += mbox.h + mbox.d; k = 2; - } - if (delim.min && H < h*delim.min) H = h*delim.min; - if (H > h) { - ebox = this.createChar(tmp,delim.ext,1,font); ext = tmp.removeChild(tmp.firstChild); - var eH = ebox.h + ebox.d, eh = eH - EFUZZ; - var n = Math.min(Math.ceil((H-h)/(k*eh)),this.maxStretchyParts); - if (delim.fullExtenders) H = n*k*eh + h; else eh = (H-h)/(k*n); - c = ebox.d + ebox.a - eH/2; // for centering of extenders - ext.style.margin = ext.style.padding = ""; - ext.style.lineHeight = CHTML.Em(eh); - ext.style.marginBottom = CHTML.Em(c-EFUZZ/2/k); - ext.style.marginTop = CHTML.Em(-c-EFUZZ/2/k); - var TEXT = ext.textContent, text = "\n"+TEXT; - while (--n > 0) TEXT += text; - ext.textContent = TEXT; - node.appendChild(ext); - if (delim.mid) { - node.appendChild(mid); - node.appendChild(ext.cloneNode(true)); - } - } else { - c = (H-h-EFUZZ) / k; - top.style.marginBottom = CHTML.Em(c+parseFloat(top.style.marginBottom||"0")); - if (delim.mid) node.appendChild(mid); - bot.style.marginTop = CHTML.Em(c+parseFloat(bot.style.marginTop||"0")); - } - node.appendChild(bot); - var vbox = CHTML.BBOX({ - w: Math.max(tbox.w,ebox.w,bbox.w,mbox.w), - l: Math.min(tbox.l,ebox.l,bbox.l,mbox.l), - r: Math.max(tbox.r,ebox.r,bbox.r,mbox.r), - h: H-bbox.d, d: bbox.d, t: H-bbox.d, b: bbox.d - }); - vbox.offset = .5 * vbox.w; - if (BBOX) {vbox.scale = BBOX.scale; vbox.rscale = BBOX.rscale} - return vbox; - }, - extendDelimiterH: function (node,W,delim,BBOX,font) { - node = CHTML.addElement(node,"mjx-delim-h"); var tmp = CHTML.Element("span"); - var left, right, mid, ext, ext2, lbox, rbox, mbox, ebox, k = 1; - lbox = this.createChar(tmp,(delim.left||delim.rep),1,font); left = tmp.removeChild(tmp.firstChild); - rbox = this.createChar(tmp,(delim.right||delim.rep),1,font); right = tmp.removeChild(tmp.firstChild); - ebox = this.createChar(tmp,delim.rep,1,font); ext = tmp.removeChild(tmp.firstChild); - left.style.marginLeft = CHTML.Em(-lbox.l); - right.style.marginRight = CHTML.Em(rbox.r-rbox.w); - node.appendChild(left); - var hbox = CHTML.BBOX.zero(); - hbox.h = Math.max(lbox.h,rbox.h,ebox.h); - hbox.d = Math.max(lbox.D||lbox.d,rbox.D||rbox.d,ebox.D||ebox.d); - var w = (lbox.r - lbox.l) + (rbox.r - rbox.l) - EFUZZ; - if (delim.mid) { - mbox = this.createChar(tmp,delim.mid,1,font); - mid = tmp.removeChild(tmp.firstChild); - mid.style.marginleft = CHTML.Em(-mbox.l); mid.style.marginRight = CHTML.Em(mbox.r-mbox.w); - w += mbox.r - mbox.l + EFUZZ; k = 2; - if (mbox.h > hbox.h) hbox.h = mbox.h; - if (mbox.d > hbox.d) hbox.d = mbox.d; - } - if (delim.min && W < w*delim.min) W = w*delim.min; - hbox.w = hbox.r = W; - if (W > w) { - var eW = ebox.r-ebox.l, ew = eW - EFUZZ; - var n = Math.min(Math.ceil((W-w)/(k*ew)),this.maxStretchyParts); - if (delim.fullExtenders) W = n*k*ew + w; else ew = (W-w)/(k*n); - var c = (eW - ew + EFUZZ/k) / 2; // for centering of extenders - ext.style.marginLeft = CHTML.Em(-ebox.l-c); - ext.style.marginRight = CHTML.Em(ebox.r-ebox.w+c); - ext.style.letterSpacing = CHTML.Em(-(ebox.w-ew)); - left.style.marginRight = CHTML.Em(lbox.r-lbox.w); - right.style.marginleft = CHTML.Em(-rbox.l); - var TEXT = ext.textContent, text = TEXT; - while (--n > 0) TEXT += text; - ext.textContent = TEXT; - node.appendChild(ext); - if (delim.mid) { - node.appendChild(mid); - ext2 = node.appendChild(ext.cloneNode(true)); - } - } else { - c = (W-w-EFUZZ/k) / 2; - left.style.marginRight = CHTML.Em(lbox.r-lbox.w+c); - if (delim.mid) node.appendChild(mid); - right.style.marginLeft = CHTML.Em(-rbox.l+c); - } - node.appendChild(right); - this.adjustHeights([left,ext,mid,ext2,right],[lbox,ebox,mbox,ebox,rbox],hbox); - if (BBOX) {hbox.scale = BBOX.scale; hbox.rscale = BBOX.rscale} - return hbox; - }, - adjustHeights: function (nodes,box,bbox) { - // - // To get alignment right in horizontal delimiters, we force all - // the elements to the same height and depth - // - var T = bbox.h, B = bbox.d; - if (bbox.d < 0) {B = -bbox.d; bbox.D = bbox.d; bbox.d = 0} - for (var i = 0, m = nodes.length; i < m; i++) if (nodes[i]) { - nodes[i].style.paddingTop = CHTML.Em(T-box[i].a); - nodes[i].style.paddingBottom = CHTML.Em(B+box[i].a); - nodes[i].style.marginTop = nodes[i].style.marginBottom = 0; - } - }, - createChar: function (node,data,scale,font) { - // ### FIXME: handle cache better (by data[1] and font) - var text = "", variant = {fonts: [data[1]], noRemap:true, cache:{}}; - if (font && font === MML.VARIANT.BOLD && this.FONTDATA.FONTS[data[1]+"-Bold"]) - variant.fonts = [data[1]+"-Bold",data[1]]; - if (typeof(data[1]) !== "string") variant = data[1]; - if (data[0] instanceof Array) { - for (var i = 0, m = data[0].length; i < m; i++) text += String.fromCharCode(data[0][i]); - } else text = String.fromCharCode(data[0]); - if (data[4]) scale *= data[4]; - var bbox = this.handleText(node,text,variant), style = node.firstChild.style; - if (scale !== 1) style.fontSize = this.Percent(scale); - if (data[2]) { // x offset - style.paddingLeft = this.Em(data[2]); - bbox.w += data[2]; bbox.r += data[2]; - } - if (data[3]) { // y offset - style.verticalAlign = this.Em(data[3]); - bbox.h += data[3]; if (bbox.h < 0) bbox.h = 0; - } - if (data[5]) { // extra height - style.marginTop = this.Em(data[5]); - bbox.h += data[5]; bbox.t += data[5]; - } - if (data[6]) { // extra depth - style.marginBottom = this.Em(data[6]); - bbox.d += data[6]; bbox.b += data[6]; - } - return bbox; - }, - - /********************************************************/ - - // - // ### FIXME: Handle mu's - // - length2em: function (length,size,scale) { - if (typeof(length) !== "string") length = length.toString(); - if (length === "") return ""; - if (length === MML.SIZE.NORMAL) return 1; - if (length === MML.SIZE.BIG) return 2; - if (length === MML.SIZE.SMALL) return .71; - if (this.MATHSPACE[length]) return this.MATHSPACE[length]; - var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/); - var m = parseFloat(match[1]||"1"), unit = match[2]; - if (size == null) size = 1; if (!scale) scale = 1; - scale = 1 /this.em / scale; - if (unit === "em") return m; - if (unit === "ex") return m * this.TEX.x_height; - if (unit === "%") return m / 100 * size; - if (unit === "px") return m * scale; - if (unit === "pt") return m / 10; // 10 pt to an em - if (unit === "pc") return m * 1.2; // 12 pt to a pc - scale *= this.pxPerInch; - if (unit === "in") return m * scale; - if (unit === "cm") return m * scale / 2.54; // 2.54 cm to an inch - if (unit === "mm") return m * scale / 25.4; // 10 mm to a cm - if (unit === "mu") return m / 18; // 18mu to an em for the scriptlevel - return m*size; // relative to given size (or 1em as default) - }, - thickness2em: function (length,scale) { - var thick = CHTML.TEX.rule_thickness/(scale||1); - if (length === MML.LINETHICKNESS.MEDIUM) return thick; - if (length === MML.LINETHICKNESS.THIN) return .67*thick; - if (length === MML.LINETHICKNESS.THICK) return 1.67*thick; - return this.length2em(length,thick,scale); - }, - - Em: function (m) { - if (Math.abs(m) < .001) return "0"; - return (m.toFixed(3).replace(/\.?0+$/,""))+"em"; - }, - EmRounded: function (m) { - m = (Math.round(m*CHTML.em)+.05)/CHTML.em; - if (Math.abs(m) < .0006) {return "0em"} - return m.toFixed(3).replace(/\.?0+$/,"") + "em"; - }, - unEm: function (m) { - return parseFloat(m); - }, - Px: function (m,M) { - m *= this.em; - if (M && m < M) m = M; - if (Math.abs(m) < .1) return "0"; - return m.toFixed(1).replace(/\.0$/,"")+"px"; - }, - - Percent: function (m) { - return (100*m).toFixed(1).replace(/\.?0+$/,"") + "%"; - }, - - Transform: function (node,trans,origin) { - var style = node.style; - style.transform = style.WebkitTransform = style.MozTransform = style["-ms-transform"] = trans; - if (origin) - style.transformOrigin = style.WebkitTransformOrigin = - style.MozTransformOrigin = style["-ms-transform-origin"] = origin; - }, - - /********************************************************/ - - arrayEntry: function (a,i) {return a[Math.max(0,Math.min(i,a.length-1))]}, - - // - // Styles to be removed from style="..." attributes - // - removeStyles: ["fontSize","fontFamily","fontWeight","fontStyle","fontVariant","font"] - - }); - - /**********************************************************/ - - CHTML.BBOX = MathJax.Object.Subclass({ - Init: function (def) { - for (var id in def) { - if (def.hasOwnProperty(id)) this[id] = def[id]; - } - }, - clean: function () { - if (this.h === -BIGDIMEN) this.h = 0; - if (this.d === -BIGDIMEN) this.d = 0; - if (this.l === BIGDIMEN) this.l = 0; - if (this.r === -BIGDIMEN) this.r = 0; - if (this.t === -BIGDIMEN) this.t = 0; - if (this.b === -BIGDIMEN) this.b = 0; - if (this.D && this.d > 0) delete this.D; - }, - rescale: function (scale) { - this.w *= scale; this.h *= scale; this.d *= scale; - this.l *= scale; this.r *= scale; this.t *= scale; this.b *= scale; - if (this.L) this.L *= scale; - if (this.R) this.R *= scale; - if (this.D) this.D *= scale; - }, - combine: function (cbox,x,y) { - cbox.X = x; cbox.Y = y; // save for use with line breaking - var scale = cbox.rscale; - if (x + scale*cbox.r > this.r) this.r = x + scale*cbox.r; - if (x + scale*cbox.l < this.l) this.l = x + scale*cbox.l; - if (x + scale*(cbox.w+(cbox.L||0)+(cbox.R||0)) > this.w) - this.w = x + scale*(cbox.w + (cbox.L||0) + (cbox.R||0)); - if (y + scale*cbox.h > this.h) this.h = y + scale*cbox.h; - if (cbox.D && (this.D == null || scale*cbox.D - y > this.D) && scale*cbox.D > this.d) this.D = scale*cbox.D - y; - else if (cbox.D == null && this.D) delete this.D; - if (scale*cbox.d - y > this.d) this.d = scale*cbox.d - y; - if (y + scale*cbox.t > this.t) this.t = y + scale*cbox.t; - if (scale*cbox.b - y > this.b) this.b = scale*cbox.b - y; - }, - append: function (cbox) { - var scale = cbox.rscale; var x = this.w; - if (x + scale*cbox.r > this.r) this.r = x + scale*cbox.r; - if (x + scale*cbox.l < this.l) this.l = x + scale*cbox.l; - this.w += scale*(cbox.w+(cbox.L||0)+(cbox.R||0)) ; - if (scale*cbox.h > this.h) this.h = scale*cbox.h; - if (cbox.D && (this.D == null || scale*cbox.D > this.D) && scale*cbox.D > this.d) this.D = scale*cbox.D; - else if (cbox.D == null && this.D) delete this.D; - if (scale*cbox.d > this.d) this.d = scale*cbox.d; - if (scale*cbox.t > this.t) this.t = scale*cbox.t; - if (scale*cbox.b > this.b) this.b = scale*cbox.b; - }, - updateFrom: function (cbox) { - this.h = cbox.h; this.d = cbox.d; this.w = cbox.w; this.r = cbox.r; this.l = cbox.l; - this.t = cbox.t; this.b = cbox.b; - if (cbox.pwidth) this.pwidth = cbox.pwidth; - if (cbox.D) this.D = cbox.D; else delete this.D; - }, - adjust: function (m,x,X,M) { - this[x] += CHTML.length2em(m,1,this.scale); - if (M == null) { - if (this[x] > this[X]) this[X] = this[x]; - } else { - if (this[X] < M) this[X] = M; - } - } - },{ - zero: function () { - return CHTML.BBOX({h:0, d:0, w:0, l:0, r:0, t:0, b:0, scale:1, rscale:1}); - }, - empty: function (bbox) { - if (!bbox) bbox = CHTML.BBOX.zero(); - bbox.h = bbox.d = bbox.r = bbox.t = bbox.b = -BIGDIMEN; - bbox.w = 0; bbox.l = BIGDIMEN; - delete bbox.pwidth; - return bbox; - }, - // - // CSS styles that affect BBOXes - // - styleAdjust: [ - ["borderTopWidth","h","t"], - ["borderRightWidth","w","r"], - ["borderBottomWidth","d","b"], - ["borderLeftWidth","w","l",0], - ["paddingTop","h","t"], - ["paddingRight","w","r"], - ["paddingBottom","d","b"], - ["paddingLeft","w","l",0], - ] - }); - - /**********************************************************/ - - MathJax.Hub.Register.StartupHook("mml Jax Ready",function () { - MML = MathJax.ElementJax.mml; - - /********************************************************/ - - MML.mbase.Augment({ - toCommonHTML: function (node,options) { - return this.CHTMLdefaultNode(node,options); - }, - CHTMLmultiline: function () {MML.mbase.CHTMLautoloadFile("multiline")}, - - CHTMLdefaultNode: function (node,options) { - if (!options) options = {}; - node = this.CHTMLcreateNode(node); this.CHTML = CHTML.BBOX.empty(); - this.CHTMLhandleStyle(node); - if (this.isToken) this.CHTMLgetVariant(); - this.CHTMLhandleScale(node); - var m = Math.max((options.minChildren||0),this.data.length); - for (var i = 0; i < m; i++) this.CHTMLaddChild(node,i,options); - if (!options.noBBox) this.CHTML.clean(); - this.CHTMLhandleSpace(node); - this.CHTMLhandleBBox(node); - this.CHTMLhandleColor(node); - return node; - }, - CHTMLaddChild: function (node,i,options) { - var child = this.data[i], cnode; - var type = options.childNodes; - if (type instanceof Array) type = type[i]||"span"; - if (child) { - if (type) node = CHTML.addElement(node,type); - cnode = child.toCommonHTML(node,options.childOptions); - if (type && child.CHTML.rscale !== 1) { - // move scale factor to outer container (which seems to be more accurate) - node.style.fontSize = node.firstChild.style.fontSize; - node.firstChild.style.fontSize = ""; - } - if (!options.noBBox) { - var bbox = this.CHTML, cbox = child.CHTML; - bbox.append(cbox); - if (this.data.length === 1) { - if (cbox.ic) bbox.ic = cbox.ic; - if (cbox.skew) bbox.skew = cbox.skew; - } else { - delete bbox.ic; - delete bbox.skew; - } - if (cbox.pwidth) bbox.pwidth = cbox.pwidth; - } - } else if (options.forceChild) { - cnode = CHTML.addElement(node,(type||"mjx-box")); - } - return cnode; - }, - - CHTMLchildNode: function (node,i) { - node = node.childNodes[i]; - if (node.nodeName.toLowerCase() === "a") node = node.firstChild; - return node; - }, - CHTMLcoreNode: function (node) { - if (this.inferRow && this.data[0]) return this.data[0].CHTMLcoreNode(node.firstChild); - return this.CHTMLchildNode(node,this.CoreIndex()); - }, - - CHTMLstretchChildV: function (i,H,D) { - var data = this.data[i]; - if (data) { - var bbox = this.CHTML, dbox = data.CHTML; - if (dbox.stretch || (dbox.stretch == null && data.CHTMLcanStretch("Vertical",H,D))) { - var w = dbox.w; - dbox = data.CHTMLstretchV(H,D); - bbox.w += dbox.w - w; - if (bbox.w > bbox.r) bbox.r = bbox.w; - if (dbox.h > bbox.h) bbox.h = dbox.h; - if (dbox.d > bbox.d) bbox.d = dbox.d; - if (dbox.t > bbox.t) bbox.t = dbox.t; - if (dbox.b > bbox.b) bbox.b = dbox.b; - } - } - }, - CHTMLstretchChildH: function (i,W,node) { - var data = this.data[i]; - if (data) { - var bbox = this.CHTML, dbox = data.CHTML; - if (dbox.stretch || (dbox.stretch == null && data.CHTMLcanStretch("Horizontal",W))) { - var w = dbox.w; - dbox = data.CHTMLstretchH(this.CHTMLchildNode(node,i),W); - bbox.w += dbox.w - w; - if (bbox.w > bbox.r) bbox.r = bbox.w; - if (dbox.h > bbox.h) bbox.h = dbox.h; - if (dbox.d > bbox.d) bbox.d = dbox.d; - if (dbox.t > bbox.t) bbox.t = dbox.t; - if (dbox.b > bbox.b) bbox.b = dbox.b; - } - } - }, - CHTMLupdateFrom: function (bbox) { - this.CHTML.updateFrom(bbox); - if (this.inferRow) this.data[0].CHTML.updateFrom(bbox); - }, - - CHTMLcanStretch: function (direction,H,D) { - var stretch = false; - if (this.isEmbellished()) { - var core = this.Core(); - if (core && core !== this) stretch = core.CHTMLcanStretch(direction,H,D); - } - this.CHTML.stretch = stretch; - return stretch; - }, - CHTMLstretchV: function (h,d) { - this.CHTMLupdateFrom(this.Core().CHTMLstretchV(h,d)); - return this.CHTML; - }, - CHTMLstretchH: function (node,w) { - this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)); - return this.CHTML; - }, - CHTMLstretchCoreH: function (node,w) { - return this.Core().CHTMLstretchH(this.CHTMLcoreNode(node),w); - }, - - CHTMLcreateNode: function (node) { - if (!this.CHTML) this.CHTML = {}; - this.CHTML = CHTML.BBOX.zero(); - if (this.href) node = CHTML.addElement(node,"a",{href:this.href, isMathJax:true}); - if (!this.CHTMLnodeID) this.CHTMLnodeID = CHTML.GetID(); - var id = (this.id || "MJXc-Node-"+this.CHTMLnodeID)+CHTML.idPostfix; - return this.CHTMLhandleAttributes(CHTML.addElement(node,"mjx-"+this.type,{id:id})); - }, - CHTMLnodeElement: function () { - if (!this.CHTMLnodeID) {return null} - return document.getElementById((this.id||"MJXc-Node-"+this.CHTMLnodeID)+CHTML.idPostfix); - }, - - CHTMLlength2em: function (length,size) { - return CHTML.length2em(length,size,this.CHTML.scale); - }, - - CHTMLhandleAttributes: function (node) { - if (this["class"]) { - if (node.className) node.className += " "+this["class"]; - else node.className = this["class"]; - } - // - // Copy RDFa, aria, and other tags from the MathML to the CHTML - // output nodes. Don't copy those in the MML.nocopyAttributes list, - // the ignoreMMLattributes configuration list, or anything that - // already exists as a property of the node (e.g., no "onlick", etc.) - // If a name in the ignoreMMLattributes object is set to false, then - // the attribute WILL be copied. - // - if (this.attrNames) { - var copy = this.attrNames, skip = MML.nocopyAttributes, ignore = HUB.config.ignoreMMLattributes; - var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); - for (var i = 0, m = copy.length; i < m; i++) { - var id = copy[i]; - if (ignore[id] == false || (!skip[id] && !ignore[id] && - defaults[id] == null && typeof(node[id]) === "undefined")) { - node.setAttribute(id,this.attr[id]) - } - } - } - return node; - }, - - CHTMLhandleScale: function (node) { - var scale = 1, parent = this.parent, pscale = (parent ? parent.CHTML.scale : 1); - var values = this.getValues("scriptlevel","fontsize"); - values.mathsize = this.Get("mathsize",null,!this.isToken); - if (values.scriptlevel !== 0) { - if (values.scriptlevel > 2) values.scriptlevel = 2; - scale = Math.pow(this.Get("scriptsizemultiplier"),values.scriptlevel); - values.scriptminsize = CHTML.length2em(this.Get("scriptminsize"),.8,1); - if (scale < values.scriptminsize) scale = values.scriptminsize; - } - if (this.removedStyles && this.removedStyles.fontSize && !values.fontsize) - values.fontsize = this.removedStyles.fontSize; - if (values.fontsize && !this.mathsize) values.mathsize = values.fontsize; - if (values.mathsize !== 1) scale *= CHTML.length2em(values.mathsize,1,1); - var variant = this.CHTMLvariant; - if (variant && variant.style && variant.style["font-family"]) - scale *= (CHTML.config.scale/100)/CHTML.scale; - this.CHTML.scale = scale; pscale = this.CHTML.rscale = scale/pscale; - if (Math.abs(pscale-1) < .001) pscale = 1; - if (node && pscale !== 1) node.style.fontSize = CHTML.Percent(pscale); - return scale; - }, - - CHTMLhandleStyle: function (node) { - if (!this.style) return; - var style = node.style; - style.cssText = this.style; this.removedStyles = {}; - for (var i = 0, m = CHTML.removeStyles.length; i < m; i++) { - var id = CHTML.removeStyles[i]; - if (style[id]) { - this.removedStyles[id] = style[id]; - style[id] = ""; - } - } - }, - - CHTMLhandleBBox: function (node) { - var BBOX = this.CHTML, style = node.style; - if (this.data.length === 1 && (this.data[0].CHTML||{}).pwidth) { - BBOX.pwidth = this.data[0].CHTML.pwidth; - BBOX.mwidth = this.data[0].CHTML.mwidth; - style.width = "100%"; - } else if (BBOX.pwidth) { - BBOX.mwidth = CHTML.Em(BBOX.w); - style.width = "100%"; - } else if (BBOX.w < 0) { - style.width = "0px"; - style.marginRight = CHTML.Em(BBOX.w); - } - if (!this.style) return; - // ### FIXME: adjust for width, height, vertical-align? - for (var i = 0, m = CHTML.BBOX.styleAdjust.length; i < m; i++) { - var data = CHTML.BBOX.styleAdjust[i]; - if (data && style[data[0]]) BBOX.adjust(style[data[0]],data[1],data[2],data[3]); - } - }, - - CHTMLhandleColor: function (node) { - if (this.mathcolor) {node.style.color = this.mathcolor} - else if (this.color) {node.style.color = this.color} - if (this.mathbackground) {node.style.backgroundColor = this.mathbackground} - else if (this.background) {node.style.backgroundColor = this.background} - }, - - CHTMLhandleSpace: function (node) { - if (!this.useMMLspacing) { - var space = this.texSpacing(); - if (space !== "") { - this.CHTML.L = this.CHTMLlength2em(space); - node.className += " "+CHTML.SPACECLASS[space]; - } - } - }, - - CHTMLhandleText: function (node,text,variant) { - if (node.firstChild && !this.CHTML) this.CHTML = CHTML.BBOX.empty(); - this.CHTML = CHTML.handleText(node,text,variant,this.CHTML); - }, - - CHTMLgetVariant: function () { - var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle"), style; - values.hasVariant = this.Get("mathvariant",true); // null if not explicitly specified - if (this.removedStyles) { - style = this.removedStyles; - if (style.fontFamily) values.family = style.fontFamily; - if (style.fontWeight) values.weight = style.fontWeight; - if (style.fontStyle) values.style = style.fontStyle; - } - if (!values.hasVariant) { - if (values.fontfamily) values.family = values.fontfamily; - if (values.fontweight) values.weight = values.fontweight; - if (values.fontstyle) values.style = values.fontstyle; - } - if (values.weight && values.weight.match(/^\d+$/)) - values.weight = (parseInt(values.weight) > 600 ? "bold" : "normal"); - var variant = values.mathvariant; if (this.variantForm) variant = "-TeX-variant"; - if (values.family && !values.hasVariant) { - if (!values.weight && values.mathvariant.match(/bold/)) values.weight = "bold"; - if (!values.style && values.mathvariant.match(/italic/)) values.style = "italic"; - this.CHTMLvariant = {fonts:[], noRemap:true, cache:{}, style: { - "font-family":values.family, "font-weight":values.weight||"normal", "font-style":values.style||"normal" - }}; - return; - } - if (values.weight === "bold") { - variant = { - normal:MML.VARIANT.BOLD, italic:MML.VARIANT.BOLDITALIC, - fraktur:MML.VARIANT.BOLDFRAKTUR, script:MML.VARIANT.BOLDSCRIPT, - "sans-serif":MML.VARIANT.BOLDSANSSERIF, - "sans-serif-italic":MML.VARIANT.SANSSERIFBOLDITALIC - }[variant]||variant; - } else if (values.weight === "normal") { - variant = { - bold:MML.VARIANT.normal, "bold-italic":MML.VARIANT.ITALIC, - "bold-fraktur":MML.VARIANT.FRAKTUR, "bold-script":MML.VARIANT.SCRIPT, - "bold-sans-serif":MML.VARIANT.SANSSERIF, - "sans-serif-bold-italic":MML.VARIANT.SANSSERIFITALIC - }[variant]||variant; - } - if (values.style === "italic") { - variant = { - normal:MML.VARIANT.ITALIC, bold:MML.VARIANT.BOLDITALIC, - "sans-serif":MML.VARIANT.SANSSERIFITALIC, - "bold-sans-serif":MML.VARIANT.SANSSERIFBOLDITALIC - }[variant]||variant; - } else if (values.style === "normal") { - variant = { - italic:MML.VARIANT.NORMAL, "bold-italic":MML.VARIANT.BOLD, - "sans-serif-italic":MML.VARIANT.SANSSERIF, - "sans-serif-bold-italic":MML.VARIANT.BOLDSANSSERIF - }[variant]||variant; - } - this.CHTMLvariant = CHTML.FONTDATA.VARIANT[variant] || - CHTML.FONTDATA.VARIANT[MML.VARIANT.NORMAL]; - }, - - CHTMLbboxFor: function (n) { - if (this.data[n] && this.data[n].CHTML) return this.data[n].CHTML; - return CHTML.BBOX.zero(); - }, - // - // Debugging function to see if internal BBox matches actual bbox - // - CHTMLdrawBBox: function (node,bbox) { - if (!bbox) bbox = this.CHTML; - var box = CHTML.Element("mjx-box", - {style:{opacity:.25,"margin-left":CHTML.Em(-(bbox.w+(bbox.R||0)))}},[ - ["mjx-box",{style:{ - height:CHTML.Em(bbox.h),width:CHTML.Em(bbox.w), - "background-color":"red" - }}], - ["mjx-box",{style:{ - height:CHTML.Em(bbox.d),width:CHTML.Em(bbox.w), - "margin-left":CHTML.Em(-bbox.w),"vertical-align":CHTML.Em(-bbox.d), - "background-color":"green" - }}] - ]); - if (node.nextSibling) {node.parentNode.insertBefore(box,node.nextSibling)} - else {node.parentNode.appendChild(box)} - }, - - CHTMLnotEmpty: function (mml) { - while (mml && mml.data.length < 2 && (mml.type === "mrow" || mml.type === "texatom")) - mml = mml.data[0]; - return !!mml; - } - - },{ - // - // Autoload files based on node type or file name - // - CHTMLautoload: function () { - this.constructor.Augment({toCommonHTML: MML.mbase.CHTMLautoloadFail}); - var file = CHTML.autoloadDir+"/"+this.type+".js"; - HUB.RestartAfter(AJAX.Require(file)); - }, - CHTMLautoloadFail: function () { - throw Error("CommonHTML can't autoload '"+ this.type + "'"); - }, - CHTMLautoloadList: {}, - CHTMLautoloadFile: function (name) { - if (MML.mbase.CHTMLautoloadList.hasOwnProperty(name)) { - throw Error("CommonHTML can't autoload file '"+name+"'"); - } - MML.mbase.CHTMLautoloadList[name] = true; - var file = CHTML.autoloadDir+"/"+name+".js"; - HUB.RestartAfter(AJAX.Require(file)); - }, - // - // For use with embellished operators - // - CHTMLstretchV: function (h,d) { - this.Core().CHTMLstretchV(h,d); - this.toCommonHTML(this.CHTMLnodeElement(),{stretch:true}); - return this.CHTML; - }, - CHTMLstretchH: function (node,w) { - this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)); - this.toCommonHTML(node,{stretch:true}); - return this.CHTML; - } - }); - - /********************************************************/ - - MML.chars.Augment({ - toCommonHTML: function (node,options) { - this.CHTML = null; - if (options == null) options = {}; - var text = this.toString(); - if (options.remap) text = options.remap(text,options.remapchars); - this.CHTMLhandleText(node,text,options.variant||this.parent.CHTMLvariant); - } - }); - MML.entity.Augment({ - toCommonHTML: function (node,options) { - if (options == null) options = {}; - var text = this.toString(); - if (options.remapchars) text = options.remap(text,options.remapchars); - this.CHTMLhandleText(node,text,options.variant||this.parent.CHTMLvariant); - } - }); - - /********************************************************/ - - MML.math.Augment({ - toCommonHTML: function (node) { - node = this.CHTMLdefaultNode(node); - if (this.CHTML.w < 0) { - node.parentNode.style.width = "0px"; - node.parentNode.style.marginRight = CHTML.Em(this.CHTML.w); - } - var alttext = this.Get("alttext"); - if (alttext && !node.getAttribute("aria-label")) node.setAttribute("aria-label",alttext); - if (this.CHTML.pwidth) { - node.parentNode.style.minWidth = this.CHTML.mwidth||CHTML.Em(this.CHTML.w); - node.parentNode.className = "mjx-full-width "+node.parentNode.className; - node.style.width = this.CHTML.pwidth; - } else if (!this.isMultiline && this.Get("display") === "block") { - var values = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); - if (values.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) values.indentalign = values.indentalignfirst; - if (values.indentalign === MML.INDENTALIGN.AUTO) values.indentalign = CONFIG.displayAlign; - if (values.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) values.indentshift = values.indentshiftfirst; - if (values.indentshift === "auto") values.indentshift = "0"; - var shift = this.CHTMLlength2em(values.indentshift,CHTML.cwidth); - if (CONFIG.displayIndent !== "0") { - var indent = this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth); - shift += (values.indentalign === MML.INDENTALIGN.RIGHT ? -indent : indent); - } - var styles = node.parentNode.parentNode.style; - node.parentNode.style.textAlign = styles.textAlign = values.indentalign; - // ### FIXME: make percentage widths respond to changes in container - if (shift) { - shift *= CHTML.em/CHTML.outerEm; - HUB.Insert(styles,({ - left: {marginLeft: CHTML.Em(shift)}, - right: {marginRight: CHTML.Em(-shift)}, - center: {marginLeft: CHTML.Em(shift), marginRight: CHTML.Em(-shift)} - })[values.indentalign]); - } - } - return node; - } - }); - - /********************************************************/ - - MML.mi.Augment({ - toCommonHTML: function (node) { - node = this.CHTMLdefaultNode(node); - var bbox = this.CHTML, text = this.data.join(""); - if (bbox.skew != null && !CHTML.isChar(text)) delete bbox.skew; - if (bbox.r > bbox.w && CHTML.isChar(text) && !this.CHTMLvariant.noIC) { - bbox.ic = bbox.r - bbox.w; bbox.w = bbox.r; - node.lastChild.style.paddingRight = CHTML.Em(bbox.ic); - } - return node; - } - }); - - /********************************************************/ - - MML.mn.Augment({ - CHTMLremapMinus: function (text) {return text.replace(/^-/,"\u2212")}, - toCommonHTML: function (node) { - node = this.CHTMLdefaultNode(node,{childOptions:{remap:this.CHTMLremapMinus}}); - var bbox = this.CHTML, text = this.data.join(""); - if (bbox.skew != null && !CHTML.isChar(text)) delete bbox.skew; - if (bbox.r > bbox.w && CHTML.isChar(text) && !this.CHTMLvariant.noIC) { - bbox.ic = bbox.r - bbox.w; bbox.w = bbox.r; - node.lastChild.style.paddingRight = CHTML.Em(bbox.ic); - } - return node; - } - }); - - /********************************************************/ - - MML.mo.Augment({ - toCommonHTML: function (node) { - node = this.CHTMLcreateNode(node); - this.CHTMLhandleStyle(node); - this.CHTMLgetVariant(); - this.CHTMLhandleScale(node); - CHTML.BBOX.empty(this.CHTML); - - var values = this.getValues("displaystyle","largeop"); - values.variant = this.CHTMLvariant; - values.text = this.data.join(""); - if (values.text == "") { - if (this.fence) node.style.width = CHTML.Em(CHTML.TEX.nulldelimiterspace); - } else { - this.CHTMLadjustAccent(values); - this.CHTMLadjustVariant(values); - - for (var i = 0, m = this.data.length; i < m; i++) { - this.CHTMLaddChild(node,i,{childOptions:{ - variant: values.mathvariant, - remap: this.remap, - remapchars: values.remapchars - }}); - } - if (!CHTML.isChar(values.text)) delete this.CHTML.skew; - else if (this.CHTML.w === 0 && this.CHTML.l < 0) this.CHTMLfixCombiningChar(node); - if (values.largeop) this.CHTMLcenterOp(node); - } - - this.CHTML.clean(); - this.CHTMLhandleBBox(node); - this.CHTMLhandleSpace(node); - this.CHTMLhandleColor(node); - - return node; - }, - CHTMLhandleSpace: function (node) { - if (this.hasMMLspacing()) { - var values = this.getValues("scriptlevel","lspace","rspace"); - values.lspace = Math.max(0,this.CHTMLlength2em(values.lspace)); - values.rspace = Math.max(0,this.CHTMLlength2em(values.rspace)); - if (values.scriptlevel > 0) { - if (!this.hasValue("lspace")) values.lspace = .15; - if (!this.hasValue("rspace")) values.rspace = .15; - } - var core = this, parent = this.Parent(); - while (parent && parent.isEmbellished() && parent.Core() === core) - {core = parent; parent = parent.Parent(); node = core.CHTMLnodeElement()} - if (values.lspace) node.style.paddingLeft = CHTML.Em(values.lspace); - if (values.rspace) node.style.paddingRight = CHTML.Em(values.rspace); - this.CHTML.L = values.lspace; this.CHTML.R = values.rspace; - } else { - this.SUPER(arguments).CHTMLhandleSpace.apply(this,arguments); - } - }, - CHTMLadjustAccent: function (data) { - var parent = this.CoreParent(); data.parent = parent; - if (CHTML.isChar(data.text) && parent && parent.isa(MML.munderover)) { - var over = parent.data[parent.over], under = parent.data[parent.under]; - if (over && this === over.CoreMO() && parent.Get("accent")) { - data.remapchars = CHTML.FONTDATA.REMAPACCENT; - } else if (under && this === under.CoreMO() && parent.Get("accentunder")) { - data.remapchars = CHTML.FONTDATA.REMAPACCENTUNDER; - } - } - }, - CHTMLadjustVariant: function (data) { - var parent = data.parent, - isScript = (parent && parent.isa(MML.msubsup) && this !== parent.data[parent.base]); - if (data.largeop) data.mathvariant = (data.displaystyle ? "-largeOp" : "-smallOp"); - if (isScript) { - data.remapchars = this.remapChars; - if (data.text.match(/['`"\u00B4\u2032-\u2037\u2057]/)) - data.mathvariant = "-TeX-variant"; // ### FIXME: handle other fonts - } - }, - CHTMLfixCombiningChar: function (node) { - // - // IE doesn't display combining chararacters unless they combine with - // something, so put them over a space and remove the space's width - // - node = node.firstChild; - var space = CHTML.Element("mjx-box",{style:{width:".25em","margin-left":"-.25em"}}); - node.insertBefore(space,node.firstChild); - }, - CHTMLcenterOp: function (node) { - var bbox = this.CHTML; - var p = (bbox.h - bbox.d)/2 - CHTML.TEX.axis_height; - if (Math.abs(p) > .001) node.style.verticalAlign = CHTML.Em(-p); - bbox.h -= p; bbox.d += p; - if (bbox.r > bbox.w) { - bbox.ic = bbox.r - bbox.w; bbox.w = bbox.r; - node.style.paddingRight = CHTML.Em(bbox.ic); - } - }, - CHTMLcanStretch: function (direction,H,D) { - if (!this.Get("stretchy")) return false; - var c = this.data.join(""); if (!CHTML.isChar(c)) return false; - var values = {text: c}; - this.CHTMLadjustAccent(values); - if (values.remapchars) c = values.remapchars[c]||c; - c = CHTML.FONTDATA.DELIMITERS[c.charCodeAt(0)]; - var stretch = (c && c.dir === direction.substr(0,1)); - if (stretch) { - stretch = (this.CHTML.h !== H || this.CHTML.d !== D || - !!this.Get("minsize",true) || !!this.Get("maxsize",true)); - if (stretch) this.CHTML.stretch = true; - } - return stretch; - }, - CHTMLstretchV: function (h,d) { - var node = this.CHTMLnodeElement(), bbox = this.CHTML; - var values = this.getValues("symmetric","maxsize","minsize"); - // - // Determine the height needed - // - var H, a = CHTML.TEX.axis_height; - if (values.symmetric) {H = 2*Math.max(h-a,d+a)} else {H = h + d} - values.maxsize = this.CHTMLlength2em(values.maxsize,bbox.h+bbox.d); - values.minsize = this.CHTMLlength2em(values.minsize,bbox.h+bbox.d); - H = Math.max(values.minsize,Math.min(values.maxsize,H)); - // - // If we are not already stretched to this height - // - if (H !== bbox.sH) { - // - // Get a delimiter of the proper height and save the height - // - if (H != values.minsize) - {H = [Math.max(H*CHTML.TEX.delimiterfactor/1000,H-CHTML.TEX.delimitershortfall),H]} - while (node.firstChild) node.removeChild(node.firstChild); - this.CHTML = bbox = CHTML.createDelimiter(node,this.data.join("").charCodeAt(0),H,bbox); - bbox.sH = (H instanceof Array ? H[1] : H); - // - // Reposition as needed - // - if (values.symmetric) {H = (bbox.h + bbox.d)/2 + a} - else {H = (bbox.h + bbox.d) * h/(h + d)} - H -= bbox.h; - if (Math.abs(H) > .05) { - node.style.verticalAlign = CHTML.Em(H); - bbox.h += H; bbox.d -= H; bbox.t += H; bbox.b -= H; - } - } - return this.CHTML; - }, - CHTMLstretchH: function (node,W) { - var bbox = this.CHTML; - var values = this.getValues("maxsize","minsize","mathvariant","fontweight"); - if ((values.fontweight === "bold" || (this.removedStyles||{}).fontWeight === "bold" || - parseInt(values.fontweight) >= 600) && !this.Get("mathvariant",true)) - values.mathvariant = MML.VARIANT.BOLD; - values.maxsize = this.CHTMLlength2em(values.maxsize,bbox.w); - values.minsize = this.CHTMLlength2em(values.minsize,bbox.w); - W = Math.max(values.minsize,Math.min(values.maxsize,W)); - if (W !== bbox.sW) { - while (node.firstChild) node.removeChild(node.firstChild); - this.CHTML = bbox = CHTML.createDelimiter(node,this.data.join("").charCodeAt(0),W,bbox,values.mathvariant); - bbox.sW = W; - } - return this.CHTML; - } - - }); - - /********************************************************/ - - MML.mtext.Augment({ - CHTMLgetVariant: function () { - if (CHTML.config.mtextFontInherit || this.Parent().type === "merror") { - var scale = (CHTML.config.scale/100)/CHTML.scale; - var variant = {cache:{}, fonts:[], className:"MJXc-font-inherit", rscale:scale, - style:{"font-size":CHTML.Percent(scale)}}; - var name = this.Get("mathvariant"); - if (name.match(/bold/)) variant.style["font-weight"] = "bold"; - if (name.match(/italic|-tex-mathit/)) variant.style["font-style"] = "italic"; - if (name === "monospace") variant.className += " MJXc-monospace-font"; - if (name === "double-struck") variant.className += " MJXc-double-struck-font"; - if (name.match(/fraktur/)) variant.className += " MJXc-fraktur-font"; - if (name.match(/sans-serif/)) variant.className += " MJXc-sans-serif-font"; - if (name.match(/script/)) variant.className += " MJXc-script-font"; - this.CHTMLvariant = variant; - } else { - this.SUPER(arguments).CHTMLgetVariant.call(this); - } - } - }); - - /********************************************************/ - - MML.merror.Augment({ - toCommonHTML: function (node) { - node = this.CHTMLdefaultNode(node); - var bbox = this.CHTML; - // - // Adjust for font-size: 90% - // - bbox.rescale(.9); - // - // Adjust for padding and border - // - bbox.h += 3/CHTML.em; if (bbox.h > bbox.t) bbox.t = bbox.h; - bbox.d += 3/CHTML.em; if (bbox.d > bbox.b) bbox.b = bbox.d; - bbox.w += 8/CHTML.em; bbox.r = bbox.w; bbox.l = 0; - return node; - } - }); - - /********************************************************/ - - MML.mspace.Augment({ - toCommonHTML: function (node) { - node = this.CHTMLcreateNode(node); - this.CHTMLhandleStyle(node); - this.CHTMLhandleScale(node); - var values = this.getValues("height","depth","width"); - var w = this.CHTMLlength2em(values.width), - h = this.CHTMLlength2em(values.height), - d = this.CHTMLlength2em(values.depth); - var bbox = this.CHTML; - bbox.w = bbox.r = w; bbox.h = bbox.t = h; bbox.d = bbox.b = d; bbox.l = 0; - if (w < 0) {node.style.marginRight = CHTML.Em(w); w = 0} - node.style.width = CHTML.Em(w); - node.style.height = CHTML.Em(Math.max(0,h+d)); - if (d) node.style.verticalAlign = CHTML.Em(-d); - this.CHTMLhandleBBox(node); - this.CHTMLhandleColor(node); - return node; - } - }); - - /********************************************************/ - - MML.mpadded.Augment({ - toCommonHTML: function (node,options) { - var child; - if (options && options.stretch) { - node = node.firstChild; child = node.firstChild; - } else { - node = this.CHTMLdefaultNode(node,{childNodes:"mjx-box", forceChild:true}); - child = node.firstChild; node = CHTML.addElement(node,"mjx-block"); - node.appendChild(child); CHTML.addElement(node,"mjx-strut"); // force proper alignment of short heights - } - var cbox = this.CHTMLbboxFor(0); - var values = this.getValues("width","height","depth","lspace","voffset"); - var x = 0, y = 0, w = cbox.w, h = cbox.h, d = cbox.d; - child.style.width = 0; child.style.margin = CHTML.Em(-h)+" 0 "+CHTML.Em(-d); - if (values.width !== "") w = this.CHTMLdimen(values.width,"w",w,0); - if (values.height !== "") h = this.CHTMLdimen(values.height,"h",h,0); - if (values.depth !== "") d = this.CHTMLdimen(values.depth,"d",d,0); - if (values.voffset !== "") { - y = this.CHTMLdimen(values.voffset); - if (y) { - child.style.position = "relative"; - child.style.top = CHTML.Em(-y); - } - } - if (values.lspace !== "") { - x = this.CHTMLdimen(values.lspace); - if (x) { - child.style.position = "relative"; - child.style.left = CHTML.Em(x); - } - } - node.style.width = 0; - node.style.marginTop = CHTML.Em(h-STRUTHEIGHT); - node.style.padding = "0 "+CHTML.Em(w)+" "+CHTML.Em(d)+" 0"; - var bbox = CHTML.BBOX({w:w, h:h, d:d, l:0, r:w, t:h, b:d, - scale:this.CHTML.scale, rscale:this.CHTML.rscale}); - bbox.combine(cbox,x,y); - bbox.w = w; bbox.h = h; bbox.d = d; - this.CHTML = bbox; - return node.parentNode; - }, - CHTMLstretchV: MML.mbase.CHTMLstretchV, - CHTMLstretchH: MML.mbase.CHTMLstretchH, - CHTMLdimen: function (length,d,D,m) { - if (m == null) {m = -BIGDIMEN} - length = String(length); - var match = length.match(/width|height|depth/); - var size = (match ? this.CHTML[match[0].charAt(0)] : (d ? this.CHTML[d] : 0)); - var dimen = (this.CHTMLlength2em(length,size)||0); - if (length.match(/^[-+]/) && D != null) dimen += D; - if (m != null) dimen = Math.max(m,dimen); - return dimen; - } - }); - - /********************************************************/ - - MML.munderover.Augment({ - toCommonHTML: function (node,options) { - var values = this.getValues("displaystyle","accent","accentunder","align"); - var base = this.data[this.base]; - if (!values.displaystyle && base != null && - (base.movablelimits || base.CoreMO().Get("movablelimits"))) - return MML.msubsup.prototype.toCommonHTML.call(this,node,stretch); - // - // Get the nodes for base and limits - // - var under, over, nodes = [], stretch = false; - if (options && options.stretch) { - if (this.data[this.base]) base = CHTML.getNode(node,"mjx-op"); - if (this.data[this.under]) under = CHTML.getNode(node,"mjx-under"); - if (this.data[this.over]) over = CHTML.getNode(node,"mjx-over"); - nodes[0] = base; nodes[1] = under||over; nodes[2] = over; - stretch = true; - } else { - var types = ["mjx-op","mjx-under","mjx-over"]; - if (this.over === 1) types[1] = types[2]; - node = this.CHTMLdefaultNode(node,{ - childNodes:types, noBBox:true, forceChild:true, minChildren: 2 - }); - nodes[0] = base = node.removeChild(node.firstChild); - nodes[1] = under = over = node.removeChild(node.firstChild); - if (node.firstChild) nodes[2] = over = node.removeChild(node.firstChild); - } - // - // Get the bounding boxes and the maximum width - // - var boxes = [], W = this.CHTMLgetBBoxes(boxes,nodes,values); - var bbox = boxes[this.base], BBOX = this.CHTML; - BBOX.w = W; BBOX.h = bbox.h; BBOX.d = bbox.d; // modified below - // - // Adjust for bases shorter than the center line (#1657) - // (the center line really depends on the surrounding font, so - // it should be measured along with ems and exs, but currently isn't. - // so this value is an approximation that is reasonable for most fonts.) - // - if (bbox.h < .35) base.style.marginTop = CHTML.Em(bbox.h - .35); - // - // Use a minimum height for accents (#1706) - // (same issues with the center line as above) - // - if (values.accent && bbox.h < CHTML.TEX.x_height) { - BBOX.h += CHTML.TEX.x_height - bbox.h; - base.style.marginTop = CHTML.Em(CHTML.TEX.x_height - Math.max(bbox.h,.35)); - bbox.h = CHTML.TEX.x_height; - } - // - // Add over- and under-scripts - // - var stack = base, delta = 0; - if (bbox.ic) {delta = 1.3*bbox.ic + .05} // make faked IC be closer to expeted results - if (this.data[this.over]) stack = this.CHTMLaddOverscript(over,boxes,values,delta,base,stretch); - if (this.data[this.under]) this.CHTMLaddUnderscript(under,boxes,values,delta,node,stack,stretch); - else if (!stretch) node.appendChild(stack); - // - // Handle horizontal positions - // - this.CHTMLplaceBoxes(base,under,over,values,boxes); - return node; - }, - // - // Get the bounding boxes for the children, stretch - // any stretchable elements, and compute the maximum width - // - CHTMLgetBBoxes: function (bbox,nodes,values) { - var i, m = this.data.length, scale, - w = -BIGDIMEN, // maximum width of non-stretchy items - W = w; // maximum width of all items - // - // Get the maximum width - // - for (i = 0; i < m; i++) { - bbox[i] = this.CHTMLbboxFor(i); bbox[i].x = bbox[i].y = 0; - if (this.data[i]) bbox[i].stretch = this.data[i].CHTMLcanStretch("Horizontal"); - scale = (i === this.base ? 1 : bbox[i].rscale); - if (i !== this.base) {delete bbox[i].L; delete bbox[i].R} // these are overridden by CSS - W = Math.max(W,scale*(bbox[i].w + (bbox[i].L||0) + (bbox[i].R||0))); - if (!bbox[i].stretch && W > w) w = W; - } - if (w === -BIGDIMEN) w = W; - // - // Stretch those parts that need it - // - for (i = 0; i < m; i++) { - if (bbox[i].stretch) { - scale = (i === this.base ? 1 : bbox[i].rscale); - bbox[i] = this.data[i].CHTMLstretchH(nodes[i].firstChild,w/scale); - bbox[i].x = bbox[i].y = 0; - W = Math.max(W,scale*(bbox[i].w + (bbox[i].L||0) + (bbox[i].R||0))); - } - } - if (!bbox[this.base]) bbox[this.base] = CHTML.BBOX.empty(); - return W; - }, - // - // Add an overscript - // - CHTMLaddOverscript: function (over,boxes,values,delta,base,stretch) { - var BBOX = this.CHTML; - var z1, z2, z3 = CHTML.TEX.big_op_spacing5, k; - var obox = boxes[this.over], bbox = boxes[this.base], scale = obox.rscale; - // - // Put the base and script into a stack - // - if (!stretch) { - var stack = CHTML.Element("mjx-stack"); - stack.appendChild(over); stack.appendChild(base); - } - if (obox.D) obox.d = obox.D; - if (obox.d < 0) { - // - // For negative depths, set the height and align to top - // in order to avoid extra baseline space - // - over.firstChild.style.verticalAlign = "top"; - over.style.height = CHTML.Em(obox.h+obox.d); - } - // - // Determine the spacing - // - obox.x = 0; - if (values.accent) { - if (obox.w < .001) obox.x += (obox.r - obox.l)/2; // center combining accents - k = CHTML.TEX.rule_thickness; z3 = 0; - if (bbox.skew) { - obox.x += scale*bbox.skew; BBOX.skew = scale*bbox.skew; - if (obox.x+scale*obox.w > BBOX.w) BBOX.skew += (BBOX.w - (obox.x+scale*obox.w))/2; - } - } else { - z1 = CHTML.TEX.big_op_spacing1; - z2 = CHTML.TEX.big_op_spacing3; - k = Math.max(z1,z2-Math.max(0,scale*obox.d)); - } - obox.x += delta/2; obox.y = BBOX.h + k + z3 + scale*obox.d; - // - // Position the overscript - // - if (k) over.style.paddingBottom = CHTML.Em(k/scale); - if (z3) over.style.paddingTop = CHTML.Em(z3/scale); - return stack; - }, - // - // Add an underscript - // - CHTMLaddUnderscript: function (under,boxes,values,delta,node,stack,stretch) { - var BBOX = this.CHTML; - var z1, z2, z3 = CHTML.TEX.big_op_spacing5, k; - var ubox = boxes[this.under], scale = ubox.rscale; - // - // Create a table for the underscript - // - if (!stretch) { - CHTML.addElement(node,"mjx-itable",{},[ - ["mjx-row",{},[["mjx-cell"]]], - ["mjx-row"] - ]); - node.firstChild.firstChild.firstChild.appendChild(stack); - node.firstChild.lastChild.appendChild(under); - } - if (ubox.D) ubox.d = ubox.D; - if (ubox.d < 0) { - // - // For negative depths, set the height and align to top - // in order to avoid extra baseline space - // - under.firstChild.style.verticalAlign = "top"; - node.firstChild.style.marginBottom = CHTML.Em(ubox.d); - } - // - // determine the spacing - // - if (values.accentunder) { - k = 2*CHTML.TEX.rule_thickness; z3 = 0; - } else { - z1 = CHTML.TEX.big_op_spacing2; - z2 = CHTML.TEX.big_op_spacing4; - k = Math.max(z1,z2-scale*ubox.h); - } - ubox.x = -delta/2; ubox.y = -(BBOX.d + k + z3 + scale*ubox.h); - // - // Position the underscript - // - if (k) under.style.paddingTop = CHTML.Em(k/scale); - if (z3) under.style.paddingBottom = CHTML.Em(z3/scale); - }, - // - // Center boxes horizontally, taking offsets into account - // - CHTMLplaceBoxes: function (base,under,over,values,boxes) { - var W = this.CHTML.w, i, m = boxes.length, scale; - var BBOX = CHTML.BBOX.zero(); - BBOX.scale = this.CHTML.scale; BBOX.rscale = this.CHTML.rscale; - boxes[this.base].x = boxes[this.base].y = 0; var dx = BIGDIMEN; - for (i = 0; i < m; i++) { - scale = (i === this.base ? 1 : boxes[i].rscale); - var w = scale*(boxes[i].w + (boxes[i].L||0) + (boxes[i].R||0)); - boxes[i].x += {left:0, center:(W-w)/2, right:W-w}[values.align]; - if (boxes[i].x < dx) dx = boxes[i].x; - } - for (i = 0; i < m; i++) { - if (this.data[i]) { - scale = (i === this.base ? 1 : boxes[i].rscale); - if (boxes[i].x - dx) { - var node = (i === this.base ? base : i === this.over ? over : under); - node.style.paddingLeft = CHTML.Em((boxes[i].x-dx)/scale); - } - BBOX.combine(boxes[i],boxes[i].x-dx,boxes[i].y); - } - } - this.CHTML = BBOX; - }, - CHTMLstretchV: MML.mbase.CHTMLstretchV, - CHTMLstretchH: MML.mbase.CHTMLstretchH, - CHTMLchildNode: function (node,i) { - var types = ["mjx-op","mjx-under","mjx-over"]; - if (this.over === 1) types[1] = types[2]; - return CHTML.getNode(node,types[i]); - } - }); - - /********************************************************/ - - MML.msubsup.Augment({ - toCommonHTML: function (node,options) { - var values = this.getValues( - "displaystyle","subscriptshift","superscriptshift","texprimestyle" - ); - // - // Get the nodes for base and limits - // - var base, sub, sup; - if (options && options.stretch) { - if (this.data[this.base]) base = CHTML.getNode(node,"mjx-base"); - if (this.data[this.sub]) sub = CHTML.getNode(node,"mjx-sub"); - if (this.data[this.sup]) sup = CHTML.getNode(node,"mjx-sup"); - stack = CHTML.getNode(node,"mjx-stack"); - } else { - var types = ["mjx-base","mjx-sub","mjx-sup"]; - if (this.sup === 1) types[1] = types[2]; - node = this.CHTMLdefaultNode(node,{ - childNodes:types, noBBox:true, forceChild:true, minChildren: 3 - }); - base = node.childNodes[this.base]; - sub = node.childNodes[this.sub]; sup = node.childNodes[this.sup]; - if (!this.CHTMLnotEmpty(this.data[this.sub])) {node.removeChild(sub); sub = null} - if (!this.CHTMLnotEmpty(this.data[this.sup])) {node.removeChild(sup); sup = null} - if (node.childNodes.length === 3) { - var stack = CHTML.addElement(node,"mjx-stack"); - stack.appendChild(sup); stack.appendChild(sub); - } - } - // - // Get the bounding boxes and maximum width of scripts - // - var boxes = [], BBOX = CHTML.BBOX.empty(this.CHTML); - for (var i = 0, m = this.data.length; i < m; i++) boxes[i] = this.CHTMLbboxFor(i); - var bbox = boxes[this.base] || CHTML.BBOX.empty(), - sbox = boxes[this.sub], Sbox = boxes[this.sup]; - var sscale = (sub ? sbox.rscale : 1), Sscale = (sup ? Sbox.rscale : 1); - BBOX.combine(bbox,0,0); - // - // Get initial values for parameters - // - var ex = CHTML.TEX.x_height, s = CHTML.TEX.scriptspace; - var q = CHTML.TEX.sup_drop * Sscale, r = CHTML.TEX.sub_drop * sscale; - var u = bbox.h - q, v = bbox.d + r, delta = 0, p; - if (bbox.ic) { - BBOX.w -= bbox.ic; // remove IC (added by mo and mi) - base.style.marginRight = CHTML.Em(-bbox.ic); - delta = 1.3*bbox.ic + .05; // make faked IC be closer to expeted results - } - var bmml = this.data[this.base]; - if (bmml) { - if ((bmml.type === "mrow" || bmml.type === "mstyle") && bmml.data.length === 1) bmml = bmml.data[0]; - if (bmml.type === "mi" || bmml.type === "mo") { - if (CHTML.isChar(bmml.data.join("")) && bbox.rscale === 1 && !bbox.sH && - !bmml.Get("largeop")) {u = v = 0} - } - } - values.subscriptshift = (values.subscriptshift === "" ? 0 : this.CHTMLlength2em(values.subscriptshift)); - values.superscriptshift = (values.superscriptshift === "" ? 0 : this.CHTMLlength2em(values.superscriptshift)); - // - // Add the super- and subscripts - // - var x = BBOX.w; if (sub) sbox.w += s; if (sup) Sbox.w += s; - if (!sup) { - if (sub) { - v = Math.max(v,CHTML.TEX.sub1,sscale*sbox.h-(4/5)*ex,values.subscriptshift); - sub.style.verticalAlign = CHTML.Em(-v/sscale); - sub.style.paddingRight = CHTML.Em(s/sscale); - BBOX.combine(sbox,x,-v); - } - } else { - if (!sub) { - p = CHTML.TEX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; - u = Math.max(u,p,Sscale*Sbox.d+(1/4)*ex,values.superscriptshift); - sup.style.verticalAlign = CHTML.Em(u/Sscale); - sup.style.paddingLeft = CHTML.Em(delta/Sscale); - sup.style.paddingRight = CHTML.Em(s/Sscale); - BBOX.combine(Sbox,x+delta,u); - } else { - v = Math.max(v,CHTML.TEX.sub2); - var t = CHTML.TEX.rule_thickness; - if ((u - Sscale*Sbox.d) - (sscale*sbox.h - v) < 3*t) { - v = 3*t - u + Sscale*Sbox.d + sscale*sbox.h; - q = (4/5)*ex - (u - Sscale*Sbox.d); - if (q > 0) {u += q; v -= q} - } - u = Math.max(u,values.superscriptshift); - v = Math.max(v,values.subscriptshift); - sub.style.paddingRight = CHTML.Em(s/sscale); - sup.style.paddingBottom = CHTML.Em(u/Sscale+v/sscale-Sbox.d-sbox.h/sscale*Sscale); - sup.style.paddingLeft = CHTML.Em(delta/Sscale); - sup.style.paddingRight = CHTML.Em(s/Sscale); - stack.style.verticalAlign = CHTML.Em(-v); - BBOX.combine(Sbox,x+delta,u); - BBOX.combine(sbox,x,-v); - } - } - BBOX.clean(); - return node; - }, - CHTMLstretchV: MML.mbase.CHTMLstretchV, - CHTMLstretchH: MML.mbase.CHTMLstretchH, - CHTMLchildNode: function (node,i) { - var types = ["mjx-base","mjx-sub","mjx-sup"]; - if (this.over === 1) types[1] = types[2]; - return CHTML.getNode(node,types[i]); - } - }); - - /********************************************************/ - - MML.mfrac.Augment({ - toCommonHTML: function (node) { - node = this.CHTMLdefaultNode(node,{ - childNodes:["mjx-numerator","mjx-denominator"], - childOptions: {autowidth: true}, - forceChild:true, noBBox:true, minChildren:2 - }); - var values = this.getValues("linethickness","displaystyle", - "numalign","denomalign","bevelled"); - var isDisplay = values.displaystyle; - // - // Create the table for the fraction and set the alignment - // - var num = node.firstChild, denom = node.lastChild; - var frac = CHTML.addElement(node,"mjx-box"); - frac.appendChild(num); frac.appendChild(denom); node.appendChild(frac); - if (values.numalign !== "center") num.style.textAlign = values.numalign; - if (values.denomalign !== "center") denom.style.textAlign = values.denomalign; - // - // Get the bounding boxes for the parts, and determine the placement - // of the numerator and denominator - // - var nbox = this.CHTMLbboxFor(0), dbox = this.CHTMLbboxFor(1), - BBOX = CHTML.BBOX.empty(this.CHTML), nscale = nbox.rscale, dscale = dbox.rscale; - values.linethickness = Math.max(0,CHTML.thickness2em(values.linethickness||"0",BBOX.scale)); - var mt = CHTML.TEX.min_rule_thickness/CHTML.em, a = CHTML.TEX.axis_height; - var t = values.linethickness, p,q, u,v; - if (values.bevelled) { - frac.className += " MJXc-bevelled"; - var delta = (isDisplay ? .4 : .15); - var H = Math.max(nscale*(nbox.h+nbox.d),dscale*(dbox.h+dbox.d)) + 2*delta; - var bevel = CHTML.Element("mjx-bevel"); frac.insertBefore(bevel,denom); - var bbox = CHTML.createDelimiter(bevel,0x2F,H); - u = nscale*(nbox.d-nbox.h)/2+a+delta; - v = dscale*(dbox.d-dbox.h)/2+a-delta; - if (u) num.style.verticalAlign = CHTML.Em(u/nscale); - if (v) denom.style.verticalAlign = CHTML.Em(v/dscale); - bevel.style.marginLeft = bevel.style.marginRight = CHTML.Em(-delta/2); - BBOX.combine(nbox,0,u); - BBOX.combine(bbox,nscale*nbox.w-delta/2,0); - BBOX.combine(dbox,nscale*nbox.w+bbox.w-delta,v); - BBOX.clean(); - } else { - frac.className += " MJXc-stacked"; - if (isDisplay) {u = CHTML.TEX.num1; v = CHTML.TEX.denom1} - else {u = (t === 0 ? CHTML.TEX.num3 : CHTML.TEX.num2); v = CHTML.TEX.denom2} - if (t === 0) { // \atop - p = Math.max((isDisplay ? 7 : 3) * CHTML.TEX.rule_thickness, 2*mt); // force to at least 2 px - q = (u - nbox.d*nscale) - (dbox.h*dscale - v); - if (q < p) {u += (p - q)/2; v += (p - q)/2} - } else { // \over - p = Math.max((isDisplay ? 2 : 0) * mt + t, t/2 + 1.5*mt); - t = Math.max(t,mt); - q = (u - nbox.d*nscale) - (a + t/2); if (q < p) u += (p - q); - q = (a - t/2) - (dbox.h*dscale - v); if (q < p) v += (p - q); - nbox.L = nbox.R = dbox.L = dbox.R = .1; // account for padding in BBOX width - var rule = CHTML.addElement(frac,"mjx-line",{style: { - "border-bottom":CHTML.Px(t*BBOX.scale,1)+" solid", top: CHTML.Em(-t/2-a) - }}); - } - // - // Determine the new bounding box and place the parts - // - BBOX.combine(nbox,0,u); - BBOX.combine(dbox,0,-v); - BBOX.clean(); - // - // Force elements to the correct width - // - frac.style.width = CHTML.Em(BBOX.w); - num.style.width = CHTML.Em(BBOX.w/nscale); - denom.style.width = CHTML.Em(BBOX.w/dscale); - if (rule) rule.style.width = frac.style.width; - // - // Place the numerator and denominator in relation to the baseline - // - num.style.top = CHTML.Em(-BBOX.h/nscale); - denom.style.bottom = CHTML.Em(-BBOX.d/dscale); - // - // Force the size of the surrounding box, since everything is absolutely positioned - // - CHTML.addElement(node,"mjx-vsize",{style: { - height: CHTML.Em(BBOX.h+BBOX.d), verticalAlign: CHTML.Em(-BBOX.d) - }}); - } - // - // Add nulldelimiterspace around the fraction - // (TeXBook pg 150 and Appendix G rule 15e) - // - if (!this.texWithDelims) { - var space = CHTML.TEX.nulldelimiterspace; - frac.style.padding = "0 "+CHTML.Em(space); - BBOX.l += space; BBOX.r += space; BBOX.w += 2*space; - } - // - // Return the completed fraction - // - return node; - }, - CHTMLcanStretch: function (direction) {return false} - }); - - /********************************************************/ - - MML.msqrt.Augment({ - toCommonHTML: function (node) { - node = this.CHTMLdefaultNode(node,{ - childNodes:["mjx-box","mjx-root"], forceChild:true, noBBox:true - }); - var base = node.firstChild || CHTML.Element("mjx-box"); - var sqrt = CHTML.addElement(node,"mjx-box"); sqrt.appendChild(base); - var bbox = this.CHTMLbboxFor(0), BBOX = CHTML.BBOX.empty(this.CHTML); - var t = CHTML.TEX.rule_thickness, T = CHTML.TEX.surd_height, p = t, q, H; - if (this.Get("displaystyle")) p = CHTML.TEX.x_height; - q = t + p/4; - H = bbox.h + bbox.d + q + t; - var surd = CHTML.Element("mjx-surd"); sqrt.insertBefore(surd,base); - var sbox = CHTML.createDelimiter(surd,0x221A,[H-.04,H]); - if (sbox.h + sbox.d > H) q = ((sbox.h+sbox.d) - (H-t))/2; - H = bbox.h + q + t; - var x = this.CHTMLaddRoot(node,sbox,sbox.h+sbox.d-H); - base.style.paddingTop = CHTML.Em(q); - base.style.borderTop = CHTML.Px(T*bbox.scale,1)+" solid"; - sqrt.style.paddingTop = CHTML.Em(2*t-T); // use wider line, but don't affect height - bbox.h += q + 2*t; - BBOX.combine(sbox,x,H-sbox.h); - BBOX.combine(bbox,x+sbox.w,0); - BBOX.clean(); - return node; - }, - CHTMLaddRoot: function () {return 0}, - CHTMLhandleBBox: function (node) { - var bbox = this.CHTMLbboxFor(0); - delete bbox.pwidth; - this.SUPER(arguments).CHTMLhandleBBox.apply(this,arguments); - } - }); - - /********************************************************/ - - MML.mroot.Augment({ - toCommonHTML: MML.msqrt.prototype.toCommonHTML, - CHTMLhandleBBox: MML.msqrt.prototype.CHTMLhandleBBox, - CHTMLaddRoot: function (sqrt,sbox,d) { - if (!this.data[1]) return; - var BBOX = this.CHTML, bbox = this.data[1].CHTML, root = sqrt.firstChild; - var scale = bbox.rscale; - var h = this.CHTMLrootHeight(bbox,sbox,scale)-d; - var w = Math.min(bbox.w,bbox.r); // remove extra right-hand padding, if any - var dx = Math.max(w,sbox.offset/scale); - if (h) root.style.verticalAlign = CHTML.Em(h/scale); - if (dx > w) root.firstChild.style.paddingLeft = CHTML.Em(dx-w); - dx -= sbox.offset/scale; - root.style.width = CHTML.Em(dx); - BBOX.combine(bbox,0,h); - return dx*scale; - }, - CHTMLrootHeight: function (bbox,sbox,scale) { - return .45*(sbox.h+sbox.d-.9)+sbox.offset + Math.max(0,bbox.d-.075); - } - }); - - /********************************************************/ - - MML.mfenced.Augment({ - toCommonHTML: function (node) { - node = this.CHTMLcreateNode(node); - this.CHTMLhandleStyle(node); - this.CHTMLhandleScale(node); - // - // Make row of open, data, sep, ... data, close - // - this.CHTMLaddChild(node,"open",{}); - for (var i = 0, m = this.data.length; i < m; i++) { - this.CHTMLaddChild(node,"sep"+i,{}); - this.CHTMLaddChild(node,i,{}); - } - this.CHTMLaddChild(node,"close",{}); - // - // Check for stretching the elements - // - var H = this.CHTML.h, D = this.CHTML.d; - this.CHTMLstretchChildV("open",H,D); - for (i = 0, m = this.data.length; i < m; i++) { - this.CHTMLstretchChildV("sep"+i,H,D); - this.CHTMLstretchChildV(i,H,D); - } - this.CHTMLstretchChildV("close",H,D); - this.CHTMLhandleSpace(node); - this.CHTMLhandleBBox(node); - this.CHTMLhandleColor(node); - return node; - } - }); - - /********************************************************/ - - MML.mrow.Augment({ - toCommonHTML: function (node,options) { - options = options || {}; - node = this.CHTMLdefaultNode(node); - var bbox = this.CHTML, H = bbox.h, D = bbox.d, hasNegative; - for (var i = 0, m = this.data.length; i < m; i++) { - this.CHTMLstretchChildV(i,H,D); - if (this.data[i] && this.data[i].CHTML && this.data[i].CHTML.w < 0) hasNegative = true; - } - if (this.CHTMLlineBreaks()) { - this.CHTMLmultiline(node); - if (options.autowidth) node.style.width = ""; - } else { - if (hasNegative && bbox.w) node.style.width = CHTML.Em(Math.max(0,bbox.w)); - if (bbox.w < 0) node.style.marginRight = CHTML.Em(bbox.w); - } - return node; - }, - CHTMLlineBreaks: function () { - if (!this.parent.linebreakContainer) return false; - return (LINEBREAKS.automatic && this.CHTML.w > CHTML.linebreakWidth) || this.hasNewline(); - }, - CHTMLstretchV: function (h,d) { - this.CHTMLstretchChildV(this.CoreIndex(),h,d); - return this.CHTML; - }, - CHTMLstretchH: function (node,w) { - this.CHTMLstretchChildH(this.CoreIndex(),w,node); - return this.CHTML; - } - }); - - /********************************************************/ - - MML.TeXAtom.Augment({ - toCommonHTML: function (node,options) { - if (!options || !options.stretch) node = this.CHTMLdefaultNode(node); - if (this.texClass === MML.TEXCLASS.VCENTER) { - var a = CHTML.TEX.axis_height, BBOX = this.CHTML; - var v = a-(BBOX.h+BBOX.d)/2+BBOX.d; - if (Math.abs(v) > .001) { - node.style.verticalAlign = CHTML.Em(v); - BBOX.h += v; BBOX.t += v; BBOX.d -= v; BBOX.b -= v; - } - } - return node; - }, - CHTMLstretchV: function (h,d) { - this.CHTMLupdateFrom(this.Core().CHTMLstretchV(h,d)); - this.toCommonHTML(this.CHTMLnodeElement(),{stretch:true}); - return this.CHTML; - }, - CHTMLstretchH: function (node,w) { - this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)); - this.toCommonHTML(node,{stretch:true}); - return this.CHTML; - } - }); - - /********************************************************/ - - MML.semantics.Augment({ - toCommonHTML: function (node) { - node = this.CHTMLcreateNode(node); - if (this.data[0]) { - this.data[0].toCommonHTML(node); - this.CHTMLupdateFrom(this.data[0].CHTML); - this.CHTMLhandleBBox(node); - } - return node; - } - }); - MML.annotation.Augment({toCommonHTML: function(node) {return this.CHTMLcreateNode(node)}}); - MML["annotation-xml"].Augment({toCommonHTML: MML.mbase.CHTMLautoload}); - - /********************************************************/ - - MML.ms.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); - MML.mglyph.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); - MML.menclose.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); - MML.maction.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); - MML.mmultiscripts.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); - MML.mtable.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); - - /********************************************************/ - - // - // Loading isn't complete until the element jax is modified, - // but can't call loadComplete within the callback for "mml Jax Ready" - // (it would call CommonHTML's Require routine, asking for the mml jax again) - // so wait until after the mml jax has finished processing. - // - // We also need to wait for the onload handler to run, since the loadComplete - // will call Config and Startup, which need to modify the body. - // - MathJax.Hub.Register.StartupHook("onLoad",function () { - setTimeout(MathJax.Callback(["loadComplete",CHTML,"jax.js"]),0); - }); - }); - - MathJax.Hub.Register.StartupHook("End Cookie", function () { - if (HUB.config.menuSettings.zoom !== "None") - {AJAX.Require("[MathJax]/extensions/MathZoom.js")} - }); - -})(MathJax.Ajax,MathJax.Hub,MathJax.HTML,MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/config.js b/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/config.js deleted file mode 100644 index a90c86b0..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/config.js +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/NativeMML/config.js - * - * Initializes the NativeMML OutputJax (the main definition is in - * MathJax/jax/input/NativeMML/jax.js, which is loaded when needed). - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.OutputJax.NativeMML = MathJax.OutputJax({ - id: "NativeMML", - version: "2.7.5", - directory: MathJax.OutputJax.directory + "/NativeMML", - extensionDir: MathJax.OutputJax.extensionDir + "/NativeMML", - - config: { - matchFontHeight: true, // try to match math font height to surrounding font? - scale: 100, // scaling factor for all math - minScaleAdjust: 50, // minimum scaling to adjust to surrounding text - // (since the code for that is a bit delicate) - - styles: { - "div.MathJax_MathML": { - "text-align": "center", - margin: ".75em 0px" - } - } - } -}); - -if (!MathJax.Hub.config.delayJaxRegistration) - MathJax.OutputJax.NativeMML.Register("jax/mml"); - -MathJax.OutputJax.NativeMML.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/jax.js deleted file mode 100644 index d2beaeca..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/jax.js +++ /dev/null @@ -1,1431 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/NativeMML/jax.js - * - * Implements the NativeMML OutputJax that displays mathematics - * using a browser's native MathML capabilities (if any). - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2010-2018 The MathJax Consortium - * - * 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. - */ - -(function (nMML,HUB,AJAX,HTML) { - var MML, isMSIE = HUB.Browser.isMSIE; - - var EVENT, TOUCH, HOVER, ZOOM; // filled in later - - HUB.Register.StartupHook("MathZoom Ready",function () {ZOOM = MathJax.Extension.MathZoom}); - - var NOPADDING = function (side,obj) { - var span = HTML.Element("span"); side = "padding"+side; - if (obj) { - span.style.cssText = (obj.getAttribute("style")||""); - if (span.style.padding === "" && (span.style[side]||"") === "") { - span.style[side] = "0px"; obj.setAttribute("style",span.style.cssText) - } - } - }; - - var CELLSPACING = function (obj,rowSpacing,columnSpacing) { - // - // Webkit default padding on mtd cells is simply - // - // mtd {padding: 0.5ex;} - // - // Gecko default padding on mtd cells is - // - // mtd {padding-right: 0.4em; - // padding-left: 0.4em; - // padding-bottom: 0.5ex; - // padding-top: 0.5ex;} - // mtr:first-child > mtd {padding-top: 0ex;} - // mtr:last-child > mtd {padding-bottom: 0ex;} - // mtd:first-child {padding-left: 0em;} - // mtd:last-child {padding-right: 0em;} - // - // that is the columnspacing/rowspacing is split into two adjacent cells, - // and the periphery of boundary cells is set to zero. - // - // Here, we will set the left/top padding of each cell to - // rowSpacing/columnSpacing (or 0px for the leftmost/topmost cells) and - // reset the right/bottom padding to zero. - // - if (obj) { - var span = HTML.Element("span"); - span.style.cssText = (obj.getAttribute("style")||""); - if (span.style.padding === "") { - var padding = { paddingLeft: columnSpacing, paddingTop: rowSpacing, - paddingRight: "0px", paddingBottom: "0px" }; - for (var side in padding) {if (padding.hasOwnProperty(side)) { - if ((span.style[side]||"") === "") {span.style[side] = padding[side];} - }} - } - obj.setAttribute("style",span.style.cssText); - } - }; - - nMML.Augment({ - // - // User can configure styles - // - config: { - styles: { - ".MathJax_MathML": { - "font-style": "normal", - "font-weight": "normal", - "line-height": "normal", - "font-size": "100%", - "font-size-adjust":"none", - "text-indent": 0, - "text-align": "left", - "text-transform": "none", - "letter-spacing": "normal", - "word-spacing": "normal", - "word-wrap": "normal", - "white-space": "nowrap", - "float": "none", - "direction": "ltr", - "max-width": "none", "max-height": "none", - "min-width": 0, "min-height": 0, - border: 0, padding: 0, margin: 0 - }, - - "span.MathJax_MathML": { - display: "inline!important" - }, - - "div.MathJax_MathML": { - display: "block!important" - }, - - ".MathJax_mmlExBox": { - display:"block!important", overflow:"hidden", - height:"1px", width:"60ex", - "min-height": 0, "max-height":"none", - padding:0, border: 0, margin: 0 - } - } - }, - handlesVariants: false, // true if native support for mathvariants - settings: HUB.config.menuSettings, - ex: 1, scale: 1, // filled in later - adjustWidths: [], // array of elements to have their widths adjusted - - Config: function () { - this.SUPER(arguments).Config.call(this); - if (this.settings.scale) {this.config.scale = this.settings.scale} - // - // Insert styling to take account of displayAlign and displayIndent - // - if (HUB.config.displayAlign !== "center") { - var align = HUB.config.displayAlign, indent = HUB.config.displayIndent; - var def = {"text-align": align+"!important"}; def["margin-"+align] = indent+"!important"; - HUB.Insert(this.config.styles,{ - "div.MathJax_MathML": def, - "div.MathJax_MathML math": {"text-align": align}, - "div.MathJax_MathContainer > span": {"text-align": align+"!important"} - }); - } - if (!this.require) {this.require = []} - this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); - }, - Startup: function () { - // Set up event handling - EVENT = MathJax.Extension.MathEvents.Event; - TOUCH = MathJax.Extension.MathEvents.Touch; - HOVER = MathJax.Extension.MathEvents.Hover; - this.ContextMenu = EVENT.ContextMenu; - this.Mousedown = EVENT.AltContextMenu; - this.Mouseover = HOVER.Mouseover; - this.Mouseout = HOVER.Mouseout; - this.Mousemove = HOVER.Mousemove; - - if (!HUB.Browser.hasMathPlayer) { - // Used in preTranslate to get scaling factors - this.EmExSpan = HTML.Element("span", - {style:{position:"absolute","font-size-adjust":"none"}}, - [ - ["div",{className:"MathJax_mmlExBox"}], - ["span",{className:"MathJax_MathML"}] - ] - ); - MML.math(MML.mspace().With({width:"60ex"})).toNativeMML(this.EmExSpan.lastChild); - } - - // Set up styles - return AJAX.Styles(this.config.styles); - }, - // - // Set up MathPlayer for IE on the first time through. - // Get the ex and em sizes. - // - InitializeMML: function () { - this.initialized = true; - if (HUB.Browser.hasMathPlayer) { - try { - // - // Insert data needed to use MathPlayer for MathML output - // - if (!HUB.Browser.mpNamespace) { - var mathplayer = document.createElement("object"); - mathplayer.id = "mathplayer"; mathplayer.classid = "clsid:32F66A20-7614-11D4-BD11-00104BD3F987"; - document.getElementsByTagName("head")[0].appendChild(mathplayer); - document.namespaces.add("m","http://www.w3.org/1998/Math/MathML"); - HUB.Browser.mpNamespace = true; - } - if (!HUB.Browser.mpImported) { - document.namespaces.m.doImport("#mathplayer"); - HUB.Browser.mpImported = true; - } - } catch (err) { - // - // If that fails, give an alert about security settings - // - if (!this.config.noMathPlayerWarning) { - alert(MathJax.Localization._(["MathML", "MathPlayer"], - "MathJax was not able to set up MathPlayer.\n\n"+ - "If MathPlayer is not installed, you need to install it first.\n"+ - "Otherwise, your security settings may be preventing ActiveX \n"+ - "controls from running. Use the Internet Options item under\n"+ - "the Tools menu and select the Security tab, then press the\n"+ - "Custom Level button. Check that the settings for\n"+ - "'Run ActiveX Controls', and 'Binary and script behaviors'\n"+ - "are enabled.\n\n"+ - "Currently you will see error messages rather than\n"+ - "typeset mathematics.")); - } - } - } else { - // - // Get the default sizes (need styles in place to do this) - // - document.body.appendChild(this.EmExSpan); - this.defaultEx = this.EmExSpan.firstChild.offsetWidth/60; - this.defaultMEx = this.EmExSpan.lastChild.offsetWidth/60; - document.body.removeChild(this.EmExSpan); - } - }, - - preTranslate: function (state) { - var scripts = state.jax[this.id], i, m = scripts.length, - script, prev, span, test, math, jax, ex, mex, scale; - for (i = 0; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; - if (!this.initialized) {this.InitializeMML()} - // - // Remove any existing output - // - prev = script.previousSibling; - if (prev && prev.className === "MathJax_MathML") {prev.parentNode.removeChild(prev)} - // - // Add the MathJax span - // - jax = script.MathJax.elementJax; if (!jax) continue; - math = jax.root; jax.NativeMML = {}; - var type = (math.Get("display") === "block" ? "div" : "span"); - span = HTML.Element(type,{ - className: "MathJax_MathML", id:jax.inputID+"-Frame" - },[["span",{ - className:"MathJax_MathContainer", isMathJax: true, jaxID:this.id, - style:{position:"relative", display:"inline-block", "white-space":"nowrap"} - }, [["span",{isMathJax:true, style:{display:"inline-block"}}]] // for Firefox hover and zoom - ]]); - script.parentNode.insertBefore(span,script); - // - // Add the test span for determining scales - // - if (!isMSIE) {script.parentNode.insertBefore(this.EmExSpan.cloneNode(true),script)} - } - // - // Determine the scaling factors for each script - // (this only requires one reflow rather than a reflow for each equation) - // - for (i = 0; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; - jax = script.MathJax.elementJax; if (!jax) continue; - if (!isMSIE) { - test = script.previousSibling; - ex = test.firstChild.offsetWidth/60; - mex = test.lastChild.offsetWidth/60; - if (ex === 0 || ex === "NaN") {ex = this.defaultEx; mex = this.defaultMEx} - scale = (this.config.matchFontHeight && mex > 1 ? ex/mex : 1); - scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale) * this.config.scale); - jax.NativeMML.ex = ex; jax.NativeMML.mex = mex; - } else {scale = 100} - jax.NativeMML.fontSize = scale+"%"; - jax.NativeMML.scale = scale/100; - } - // - // Remove the test spans used for determining scales - // - if (!isMSIE) { - for (i = 0; i < m; i++) { - script = scripts[i]; - if (script.parentNode && script.MathJax.elementJax) { - script.parentNode.removeChild(script.previousSibling); - } - } - } - }, - - // - // Add a SPAN to use as a container, and render the math into it - // - Translate: function (script) { - if (!script.parentNode) return; - // - // Get the jax and the container and set the size - // - var jax = script.MathJax.elementJax, math = jax.root; - var span = document.getElementById(jax.inputID+"-Frame"); if (!span) return; - var container = span.firstChild, mspan = container.firstChild; - this.ex = jax.NativeMML.ex || this.defaultEx; - this.scale = jax.NativeMML.scale || 1; - if (this.scale !== 1) {span.style.fontSize = jax.NativeMML.fontSize} - // - // Convert to MathML (if restarted, remove any partial math) - // - try {math.toNativeMML(mspan,jax)} catch (err) { - if (err.restart) {while (mspan.firstChild) {mspan.removeChild(mspan.firstChild)}} - throw err; - } - // - // Add event handlers - // - if (isMSIE) { - if (container.addEventListener) { - for (var id in this.MSIE9events) {if (this.MSIE9events.hasOwnProperty(id)) { - container.addEventListener(id,this.MSIE9event,true); - }} - } else { - var config = (this.config.showMathMenuMSIE != null ? this : HUB).config; - if (config.showMathMenuMSIE && !this.settings.mpContext && !this.settings.mpMouse) - {this.MSIEoverlay(container)} else - {container.style.position = ""; mspan.firstChild.onmousedown = this.MSIEaltMenu} - } - } else { - container.oncontextmenu = EVENT.Menu; - container.onmouseover = EVENT.Mouseover; - container.onmouseout = EVENT.Mouseout; - container.onmousedown = EVENT.Mousedown; - container.onclick = EVENT.Click; - container.ondblclick = EVENT.DblClick; - // Added for keyboard accessible menu. - container.onkeydown = EVENT.Keydown; - container.tabIndex = HUB.getTabOrder(jax); - if (HUB.Browser.noContextMenu) { - container.ontouchstart = TOUCH.start; - container.ontouchend = TOUCH.end; - } - } - }, - - postTranslate: function (state) { - if (this.forceReflow) { - // - // Firefox messes up some mtable's when they are dynamically created - // but gets them right on a reflow, so force reflow by toggling a stylesheet - // - var sheet = (document.styleSheets||[])[0]||{}; - sheet.disabled = true; sheet.disabled = false; - } - }, - - // - // Remove MathML preceding the script - // - Remove: function (jax) { - var span = jax.SourceElement(); if (!span) return; - span = span.previousSibling; if (!span) return; - if (span.className.match(/MathJax_MathML/)) {span.parentNode.removeChild(span)} - }, - // - // The namespace to use for MML - // - MMLnamespace: "http://www.w3.org/1998/Math/MathML", - - isFullWidth: function (node) { - if (!node) return; - var width = node.getAttribute("width") || - (String(node.getAttribute("style")).match(/(?:^| )width: *([^; ]*)/)||[])[1]; - if (width) return !!width.match(/%/); - if (node.nodeName.match(/^(semantics|math|mstyle)$/)) { - width = this.isFullWidth(node.firstChild); - } else if (node.nodeName.toLowerCase() === "mrow") { - for (var i = 0, m = node.childNodes.length; i < m && !width; i++) - width = this.isFullWidth(node.childNodes[i]); - } - if (width) { - var style = "width:100%; "+(node.getAttribute("style")||""); - node.setAttribute("style",style.replace(/ +$/,"")); - } - return width; - }, - - // - // For MSIE, we must overlay the MathPlayer object to trap the events - // (since they can't be cancelled when the events are on the tag - // itself). The events we DON'T want are transferred to the math element, - // and the others are handled directly. - // - MSIEoverlay: function (span) { - var math = span.firstChild; - if (math.nodeName.toLowerCase() === "span") {math = math.firstChild} - var bbox = this.getHoverBBox(null,math,{}); - HTML.addElement(span,"span",{ - style:{display:"inline-block", width:0, height:0, position:"relative"} - },[["span",{isMathJax: true, className: "MathJax_MathPlayer_Overlay", - style:{ - display:"inline-block", position:"absolute", - left:HOVER.Px(-bbox.w), top:HOVER.Px(-bbox.h-(bbox.y||0)-1), - width:HOVER.Px(bbox.w), height:HOVER.Px(bbox.h+bbox.d), cursor:"pointer", - "background-color":"white", filter:"alpha(opacity=0)" - } - }]]); - HUB.Insert(span,{ - msieMath: math, - onmousedown: this.MSIEevent, oncontextmenu: this.MSIEevent, onclick: this.MSIEevent, - onmouseup: this.MSIEevent, onmousemove: this.MSIEevent, ondblclick: this.MSIEevent, - onmouseover: this.MSIEevent, onmouseout: this.MSIEevent - }); - }, - MSIEevents: { - mousedown:"Mousedown", contextmenu:"ContextMenu", click:"Click", - mouseup:"Mouseup", mousemove:"Mousemove", dblclick: "DblClick", - mouseover:"Mouseover", mouseout:"Mouseout" - }, - MSIEevent: function () { - var event = window.event; - var type = nMML.MSIEevents[event.type]; - if (nMML[type] && nMML[type](event,this) === false) {return false} - if (ZOOM && ZOOM.HandleEvent(event,type,this) === false) {return false} - if (event.srcElement.className === "MathJax_MathPlayer_Overlay" && this.msieMath.fireEvent) { - // - // For now, ignore all other events. This will disable MathPlayer's zoom - // feature, but also its support. - // - if (type === "ContextMenu" || type === "Mouseover" || type === "Mouseout") - {this.msieMath.fireEvent("on"+event.type,event)} - } - return EVENT.False(event); - }, - MSIEaltMenu: function () { - var container = this.parentNode.parentNode; - while (!container.jaxID) {container = container.parentNode} - EVENT.AltContextMenu(window.event,container); - }, - - MSIE9events: { - contextmenu:"Menu", click:"Click", dblclick: "DblClick", - mouseup:"False", mouseover:"Mouseover", mouseout:"Mouseout" - }, - MSIE9event: function (event) { - if (event.type === "contextmenu" && nMML.settings.mpContext) {return true} - if (event.type === "mouseup" && nMML.settings.mpMouse) {return true} - if (event.type === "click" && nMML.settings.mpContext) - {return EVENT.AltContextMenu(event,this)} - var type = nMML.MSIE9events[event.type]; - return EVENT[type].call(this,event); - }, - - getJaxFromMath: function (math) { - math = math.parentNode; - do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); - return HUB.getJaxFor(math); - }, - getHoverSpan: function (jax,math) {return math.firstChild}, - getHoverBBox: function (jax,span,math) {return EVENT.getBBox(span.parentNode)}, - - Zoom: function (jax,span,math,Mw,Mh) { - jax.root.toNativeMML(span); - if (this.msieIE8HeightBug) {span.style.position = "absolute"} - if (nMML.widthBug) {span.style.width = span.parentNode.style.width = ""} - if (span.parentNode.style.width.match(/%$/)) - {span.parentNode.style.minWidth = Math.ceil(3*Mh/4)+"px"} // for full-width tables - var mW = math.offsetWidth || math.scrollWidth, - mH = math.offsetHeight || math.scrollHeight; - var zW = span.offsetWidth, zH = span.offsetHeight; - if (nMML.widthBug || span.style.width.match(/%/)) { - // - // FF doesn't get width of right, so get it from - // - var W = span.firstChild.firstChild.scrollWidth; - if (W > zW) {zW = W; span.parentNode.style.width = span.style.minWidth = zW + "px";} - } - if (this.msieIE8HeightBug) {span.style.position = ""} - return {Y:-EVENT.getBBox(span.parentNode).h, mW:mW, mH:mH, zW:zW, zH:zH} - }, - - NAMEDSPACE: { - negativeveryverythinmathspace: "-.0556em", - negativeverythinmathspace: "-.1111em", - negativethinmathspace: "-.1667em", - negativemediummathspace: "-.2222em", - negativethickmathspace: "-.2778em", - negativeverythickmathspace: "-.3333em", - negativeveryverythickmathspace: "-.3889em", - veryverythinmathspace: ".0556em", - verythinmathspace: ".1111em", - thinmathspace: ".1667em", - mediummathspace: ".2222em", - thickmathspace: ".2778em", - verythickmathspace: ".3333em", - veryverythickmathspace: ".3889em" - } - }); - - HUB.Register.StartupHook("mml Jax Ready",function () { - - MML = MathJax.ElementJax.mml; - - MML.mbase.Augment({ - // - // Add a MathML tag of the correct type, and set its attributes - // then populate it with its children and append it to the parent - // - toNativeMML: function (parent) { - var tag = this.NativeMMLelement(this.type); - this.NativeMMLattributes(tag); - for (var i = 0, m = this.data.length; i < m; i++) { - if (this.data[i]) {this.data[i].toNativeMML(tag)} - else {tag.appendChild(this.NativeMMLelement("mrow"))} - } - parent.appendChild(tag); - }, - // - // Look for attributes that are different from the defaults - // and set those in the tag's attribute list - // - NativeMMLattributes: function (tag) { - var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); - var names = (this.attrNames||MML.copyAttributeNames), - skip = MML.skipAttributes, copy = MML.copyAttributes; - if (!this.attrNames) { - for (var id in defaults) {if (!skip[id] && !copy[id] && defaults.hasOwnProperty(id)) { - if (this[id] != null && this[id] !== defaults[id]) { - if (this.Get(id,null,1) !== this[id]) - tag.setAttribute(id,this.NativeMMLattribute(this[id])); - } - }} - } - for (var i = 0, m = names.length; i < m; i++) { - if (copy[names[i]] === 1 && !defaults.hasOwnProperty(names[i])) continue; - var value = (this.attr||{})[names[i]]; if (value == null) {value = this[names[i]]} - if (value != null) {tag.setAttribute(names[i],this.NativeMMLattribute(value))} - } - this.NativeMMLclass(tag); - }, - NativeMMLclass: function (tag) { - var CLASS = []; if (this["class"]) {CLASS.push(this["class"])} - if (this.isa(MML.TeXAtom)) { - var TEXCLASS = ["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"][this.texClass]; - if (TEXCLASS) { - CLASS.push("MJX-TeXAtom-"+TEXCLASS) - if (TEXCLASS === "OP" && !this.movablelimits) CLASS.push("MJX-fixedlimits"); - } - } - if (this.mathvariant && this.NativeMMLvariants[this.mathvariant]) - {CLASS.push("MJX"+this.mathvariant)} - if (this.variantForm) {CLASS.push("MJX-variant")} - if (CLASS.length) {tag.setAttribute("class",CLASS.join(" "))} - }, - NativeMMLattribute: function (value) { - value = String(value); - if (nMML.NAMEDSPACE[value]) {value = nMML.NAMEDSPACE[value]} // MP doesn't do negative spaces - else if (value.match(/^\s*(([-+])?(\d+(\.\d*)?|\.\d+))\s*mu\s*$/)) - {value = (RegExp.$2||"")+((1/18)*RegExp.$3).toFixed(3).replace(/\.?0+$/,"")+"em"} // FIXME: should take scriptlevel into account - else if (this.NativeMMLvariants[value]) {value = this.NativeMMLvariants[value]} - return value; - }, - NativeMMLvariants: { - "-tex-caligraphic": MML.VARIANT.SCRIPT, - "-tex-caligraphic-bold": MML.VARIANT.BOLDSCRIPT, - "-tex-oldstyle": MML.VARIANT.NORMAL, - "-tex-oldstyle-bold": MML.VARIANT.BOLD, - "-tex-mathit": MML.VARIANT.ITALIC - }, - // - // Create a MathML element - // - NativeMMLelement: function (type) { - var math = ( HUB.Browser.mpNamespace ? document.createElement("m:"+type) : - (document.createElementNS ? document.createElementNS(nMML.MMLnamespace,type) : - document.createElement(type))); - math.isMathJax = true; - return math; - } - }); - - MML.mrow.Augment({ - // - // Make inferred rows not include an mrow tag - // - toNativeMML: function (parent) { - var i, m; - if (this.inferred && this.parent.inferRow) { - for (i = 0, m = this.data.length; i < m; i++) { - if (this.data[i]) {this.data[i].toNativeMML(parent)} - else {parent.appendChild(this.NativeMMLelement("mrow"))} - } - } else if (nMML.stretchyMoBug && (this.open || this.close)) { - // - // This element contains opening and/or closing fences. Opera is not - // able to stretch operators, so let's use an element - // instead. - // - var mfenced = this.NativeMMLelement("mfenced"); - this.NativeMMLattributes(mfenced); - i = 0, m = this.data.length; - if (this.open) { mfenced.setAttribute("open", this.open); i++; } - if (this.close) { mfenced.setAttribute("close", this.close); m--; } - var tag = mfenced; - if (m - i + 1 > 1) { - // - // If there are several children, put them in an - // - tag = this.NativeMMLelement("mrow"); - parent.appendChild(mfenced); - parent = mfenced; - } - for (; i < m; i++) { - if (this.data[i]) {this.data[i].toNativeMML(tag)} - else {tag.appendChild(this.NativeMMLelement("mrow"))} - } - parent.appendChild(tag); - } else { - this.SUPER(arguments).toNativeMML.call(this,parent); - } - } - }); - - MML.msubsup.Augment({ - // - // Use proper version of msub, msup, or msubsup, depending on - // which items are present - // - toNativeMML: function (parent) { - var type = this.type; - if (this.data[this.sup] == null) {type = "msub"} - if (this.data[this.sub] == null) {type = "msup"} - var tag = this.NativeMMLelement(type); - this.NativeMMLattributes(tag); - if (this.data[0]) {delete this.data[0].inferred} - for (var i = 0, m = this.data.length; i < m; i++) - {if (this.data[i]) {this.data[i].toNativeMML(tag)}} - parent.appendChild(tag); - } - }); - - MML.munderover.Augment({ - // - // Use proper version of munder, mover, or munderover, depending on - // which items are present. Handle movablelimits on TeXAtom base. - // - toNativeMML: function (parent) { - var type = this.type; - var base = this.data[this.base]; - if (base && base.isa(MML.TeXAtom) && base.movablelimits && !base.Get("displaystyle")) { - type = "msubsup"; - if (this.data[this.under] == null) {type = "msup"} - if (this.data[this.over] == null) {type = "msub"} - } else { - if (this.data[this.under] == null) {type = "mover"} - if (this.data[this.over] == null) {type = "munder"} - } - var tag = this.NativeMMLelement(type); - this.NativeMMLattributes(tag); - if (this.data[0]) {delete this.data[0].inferred} - for (var i = 0, m = this.data.length; i < m; i++) - {if (this.data[i]) {this.data[i].toNativeMML(tag)}} - parent.appendChild(tag); - } - }); - - if (!isMSIE) { - var SPLIT = HUB.SplitList; - MML.mtable.Augment({ - toNativeMML: function (parent) { - var i, m; - if (nMML.tableSpacingBug) { - // - // Parse the rowspacing/columnspacing. For convenience, we convert - // them to a left/top padding value that will be applied to each - // cell. The leftmost/topmost cells will use "0px". - // - var values = this.getValues("rowspacing", "columnspacing"); - this.nMMLtopPadding = SPLIT("0px "+values.rowspacing); - this.nMMLleftPadding = SPLIT("0px "+values.columnspacing); - // - // Transmit the top padding to each row. - // If this.parent.nMML.topPadding does not contain enough value, - // repeat the last one. - // - var tp = this.nMMLtopPadding, M = tp.length; - for (i = 0, m = this.data.length; i < m; i++) { - if (this.data[i]) - {this.data[i].nMMLtopPadding = tp[i < M ? i : M-1]} - } - } - if (nMML.tableLabelBug) { - // - // Look for labeled rows so we know how to handle them - // - for (i = 0, m = this.data.length; i < m; i++) { - if (this.data[i] && this.data[i].isa(MML.mlabeledtr)) { - var align = HUB.config.displayAlign.charAt(0), - side = this.Get("side").charAt(0); - this.nMMLhasLabels = true; - this.nMMLlaMatch = (align === side); - this.nMMLforceWidth = - (align === "c" || !!((this.width||"").match("%"))); - break; - } - } - } - // - // Firefox < 13 doesn't handle width, so put it in styles instead - // - if (this.width && this.ffTableWidthBug) { - var styles = (this.style||"").replace(/;\s*$/,"").split(";"); - if (styles[0] === "") {styles.shift()} - styles.push("width:"+this.width); - this.style = styles.join(";"); - } - this.SUPER(arguments).toNativeMML.call(this,parent); - // - if (this.nMMLhasLabels) { - var mtable = parent.firstChild; - // - // Add column attributes on the left when extra columns where inserted - // - if (this.nMMLforceWidth || side !== "r") { - var n = (align !== "l" ? 1 : 0) + (side === "l" ? 1 : 0); - if (n) { - var attr = {columnalign:"left", columnwidth:"auto", - columnspacing:"0px", columnlines:"none"}; - for (var id in attr) {if (attr.hasOwnProperty(id) && this[id]) { - var cols = [attr[id],attr[id]].slice(2-n).join(" ")+" "; - mtable.setAttribute(id,cols+mtable.getAttribute(id)); - }} - } - } - // - // Force the table width to 100% when needed - // - if (this.nMMLforceWidth || !this.nMMLlaMatch) - {mtable.setAttribute("width","100%")} - } - } - }); - MML.mtr.Augment({ - toNativeMML: function (parent) { - this.SUPER(arguments).toNativeMML.call(this,parent); - var mtr = parent.lastChild; - if (nMML.tableSpacingBug) { - // - // Set the row/column spacing. If this.parent.nMMLleftPadding does - // not contain enough value, repeat the last one. - // - var lp = this.parent.nMMLleftPadding, M = lp.length; - for (var mtd = mtr.firstChild, i = 0; mtd; mtd = mtd.nextSibling, i++) { - CELLSPACING(mtd,this.nMMLtopPadding,lp[i < M ? i : M-1]); - } - } - - if (nMML.tableLabelBug) { - var forceWidth = this.parent.nMMLforceWidth, - side = this.parent.Get("side").charAt(0), - align = HUB.config.displayAlign.charAt(0); - - if (this.parent.nMMLhasLabels && mtr.firstChild) { - // - // If we add a label or padding column on the left of mlabeledtr, - // mirror that here and remove padding from first table mtd - // so the spacing is consistent with unlabeled equations - // - if (forceWidth || side !== "r") { - NOPADDING("Left",mtr.firstChild); - if (align !== "l") { - mtr.insertBefore(this.NativeMMLelement("mtd"),mtr.firstChild) - .setAttribute("style","padding:0"); - } - if (side === "l") { - mtr.insertBefore(this.NativeMMLelement("mtd"),mtr.firstChild) - .setAttribute("style","padding:0"); - } - } - // - // If columns were added on the right, remove mtd padding - // so that spacing is consistent with unlabled equations - // - if (forceWidth || side !== "l") {NOPADDING("Right",mtr.lastChild)} - } - } - } - }); - MML.mlabeledtr.Augment({ - toNativeMML: function (parent) { - var mtr = this.NativeMMLelement("mtr"); - this.NativeMMLattributes(mtr); - // - // Add row data - // - for (var i = 1, m = this.data.length; i < m; i++) { - if (this.data[i]) {this.data[i].toNativeMML(mtr)} - else {mtr.appendChild(this.NativeMMLelement("mtd"))} - } - - if (nMML.tableSpacingBug) { - // - // Set the row/column spacing. If this.parent.nMMLleftPadding does - // not contain enough value, repeat the last one. - // - var lp = this.parent.nMMLleftPadding, M = lp.length; i = 0; - for (var mtd = mtr.firstChild; mtd; mtd = mtd.nextSibling, i++) { - CELLSPACING(mtd,this.nMMLtopPadding,lp[i < M ? i : M-1]); - } - } - - if (nMML.tableLabelBug && this.data[0]) { - var side = this.parent.Get("side").charAt(0), - align = HUB.config.displayAlign.charAt(0), - indent = HUB.config.displayIndent; - // - // Create label and either set the column width (if label is on the - // same side as the alignment), or use mpadded to hide the label - // width - // - this.data[0].toNativeMML(mtr); - var label = mtr.lastChild, pad = label; - if (side === align) { - label.setAttribute("style","width:"+indent); - label.setAttribute("columnalign",HUB.config.displayAlign); - } else { - pad = this.NativeMMLelement("mpadded"); - pad.setAttribute("style","width:0"); - pad.setAttribute("width","0px"); - pad.appendChild(label.firstChild); - label.appendChild(pad); - } - NOPADDING("",label); mtr.removeChild(label); - // - // Get spacing to use for separation of label from main table - // - var width = 100, forceWidth = this.parent.nMMLforceWidth; - if ((this.parent.width||"").match(/%/)) { - width -= parseFloat(this.parent.width) - }; - var w = width; - // - // Add spacing (and possibly label) at the left if needed - // - if (forceWidth || side !== "r") { - NOPADDING("Left",mtr.firstChild); - if (align !== "l") { - if (align === "c") {w /= 2}; width -= w; - mtr.insertBefore(this.NativeMMLelement("mtd"),mtr.firstChild) - .setAttribute("style","padding:0;width:"+w+"%"); - } - if (side === "l") {mtr.insertBefore(label,mtr.firstChild)} - } - // - // Add spacing (and possibly label) at the right if needed - // - if (forceWidth || side !== "l") { - NOPADDING("Right",mtr.lastChild); - if (align !== "r") { - mtr.appendChild(this.NativeMMLelement("mtd")) - .setAttribute("style","padding:0;width:"+width+"%"); - } - if (side === "r") { - if (side !== align) {pad.setAttribute("lspace","-1width")} - mtr.appendChild(label); - } - } - } - // - // Add row to table - // - parent.appendChild(mtr); - } - }); - - MML.mtd.Augment({ - toNativeMML: function (parent) { - var tag = parent.appendChild(this.NativeMMLelement(this.type)); - this.NativeMMLattributes(tag); - if (nMML.mtdWidthBug) { - nMML.adjustWidths.push(tag); - tag = tag.appendChild(this.NativeMMLelement("mrow")); - } - for (var i = 0, m = this.data.length; i < m; i++) { - if (this.data[i]) {this.data[i].toNativeMML(tag)} - else {tag.appendChild(this.NativeMMLelement("mrow"))} - } - } - }); - - MML.mspace.Augment({ - toNativeMML: function (parent) { - this.SUPER(arguments).toNativeMML.call(this,parent); - if (nMML.spaceWidthBug && this.width) { - var mspace = parent.lastChild; - var width = mspace.getAttribute("width"); - var style = (mspace.getAttribute("style") || "").replace(/;?\s*/,"; "); - mspace.setAttribute("style",style+"width:"+width); - } - } - }); - - MML.mn.Augment({ - NativeMMLremapMinus: function (text) {return text.replace(/^-/,"\u2212")}, - toNativeMML: function (parent) { - var tag = this.NativeMMLelement(this.type); - this.NativeMMLattributes(tag); - var remap = this.NativeMMLremapMinus; - for (var i = 0, m = this.data.length; i < m; i++) { - if (this.data[i]) { - this.data[i].toNativeMML(tag,remap); - remap = null; - } - } - parent.appendChild(tag); - } - }); - - var fontDir = AJAX.fileURL(MathJax.OutputJax.fontDir+"/HTML-CSS/TeX/otf"); - - /* - * Add fix for mathvariant issues - */ - nMML.Augment({ - config: { - styles: { - '[class="MJX-tex-oldstyle"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB"}, - '[class="MJX-tex-oldstyle-bold"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB", "font-weight":"bold"}, - '[class="MJX-tex-caligraphic"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB"}, - '[class="MJX-tex-caligraphic-bold"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB", "font-weight":"bold"}, - - '@font-face /*1*/': { - "font-family": "MathJax_Caligraphic-WEB", - "src": "url('"+fontDir+"/MathJax_Caligraphic-Regular.otf')" - }, - '@font-face /*2*/': { - "font-family": "MathJax_Caligraphic-WEB", "font-weight":"bold", - "src": "url('"+fontDir+"/MathJax_Caligraphic-Bold.otf')" - } - } - } - }); - if (!this.handlesVariants) { - nMML.Augment({ - config: { - styles: { - '[mathvariant="double-struck"]': {"font-family":"MathJax_AMS, MathJax_AMS-WEB"}, - '[mathvariant="script"]': {"font-family":"MathJax_Script, MathJax_Script-WEB"}, - '[mathvariant="fraktur"]': {"font-family":"MathJax_Fraktur, MathJax_Fraktur-WEB"}, - '[mathvariant="bold-script"]': {"font-family":"MathJax_Script, MathJax_Caligraphic-WEB", "font-weight":"bold"}, - '[mathvariant="bold-fraktur"]': {"font-family":"MathJax_Fraktur, MathJax_Fraktur-WEB", "font-weight":"bold"}, - '[mathvariant="monospace"]': {"font-family":"monospace"}, - '[mathvariant="sans-serif"]': {"font-family":"sans-serif"}, - '[mathvariant="bold-sans-serif"]': {"font-family":"sans-serif", "font-weight":"bold"}, - '[mathvariant="sans-serif-italic"]': {"font-family":"sans-serif", "font-style":"italic"}, - '[mathvariant="sans-serif-bold-italic"]': {"font-family":"sans-serif", "font-style":"italic", "font-weight":"bold"}, - - '@font-face /*3*/': { - "font-family": "MathJax_AMS-WEB", - "src": "url('"+fontDir+"/MathJax_AMS-Regular.otf')" - }, - '@font-face /*4*/': { - "font-family": "MathJax_Script-WEB", - "src": "url('"+fontDir+"/MathJax_Script-Regular.otf')" - }, - '@font-face /*5*/': { - "font-family": "MathJax_Fraktur-WEB", - "src": "url('"+fontDir+"/MathJax_Fraktur-Regular.otf')" - }, - '@font-face /*6*/': { - "font-family": "MathJax_Fraktur-WEB", "font-weight":"bold", - "src": "url('"+fontDir+"/MathJax_Fraktur-Bold.otf')" - } - } - } - }); - } - } - - MML.math.Augment({ - toNativeMML: function (parent,jax) { - var tag = this.NativeMMLelement(this.type), math = tag; - var annotate = (jax ? MathJax.InputJax[jax.inputJax].annotationEncoding : null); - var i, m; - nMML.adjustWidths = []; - // - // Some browsers don't seem to add the xmlns attribute, so do it by hand. - // - tag.setAttribute("xmlns",nMML.MMLnamespace); - this.NativeMMLattributes(tag); - // - // Use an extra in FF so that we can get the correct width - // (the math element doesn't always have an accurate one, see below) - // - if (nMML.widthBug) {tag = tag.appendChild(this.NativeMMLelement("mrow"))} - // - // Addannotation if the input jax provides an annotation encoding - // - if (annotate) { - tag = tag.appendChild(this.NativeMMLelement("semantics")) - tag.appendChild(this.NativeMMLelement("mrow")); - var annotation = tag.appendChild(this.NativeMMLelement("annotation")); - annotation.appendChild(document.createTextNode(jax.originalText)); - annotation.setAttribute("encoding",annotate); - tag = tag.firstChild; // mrow - } - // - // Add the children - // - for (i = 0, m = this.data.length; i < m; i++) { - if (this.data[i]) {this.data[i].toNativeMML(tag)} - else {tag.appendChild(this.NativeMMLelement("mrow"))} - } - // - // Look for a top-level mtable and if it has labels - // Make sure the containers have 100% width, when needed. - // If the label is on the same side as alignment, - // override the margin set by the stylesheet. - // - var mtable = ((this.data[0]||{data:[]}).data[0]||{}); - if (mtable.nMMLhasLabels) { - if (mtable.nMMLforceWidth || !mtable.nMMLlaMatch) { - tag.setAttribute("style","width:100%") // mrow node - if (annotate) tag.parentNode.setAttribute("style","width:100%"); // semantics node - }; - if (mtable.nMMLlaMatch) { - if (parent.parentNode.parentNode.nodeName.toLowerCase() === "div") { - parent.parentNode.parentNode.style - .setProperty("margin-"+HUB.config.displayAlign,"0px","important"); - } - } - } - // - // Check if container must have width set to 100% - // - var fullWidth = nMML.isFullWidth(math); - if (fullWidth) {parent.style.width = parent.parentNode.style.width = "100%"} - // - // Add the math to the page - // - parent.appendChild(math); - // - // Firefox can't seem to get the width of elements right, so - // use an to get the actual width and set the style on the - // parent element to match. Even if we set the width properly, - // it doesn't seem to propagate up to the correctly. - // - if (nMML.widthBug &&!fullWidth) { - // - // Convert size to ex's so that it scales properly if the print media - // has a different font size. - // - parent.style.width = (math.firstChild.scrollWidth/nMML.ex/nMML.scale).toFixed(3) + "ex"; - // - // Save size for later when we check if Web fonts have arrived - // - if (jax) {jax.NativeMML.scrollWidth = math.firstChild.scrollWidth} - } - if (nMML.adjustWidths.length) { - // - // Firefox gets the widths of elements wrong, so run - // through them (now that the math is part of the page) and - // fix them up. Use ex's so that they print properly (see above). - // - var mtd = []; - for (i = 0, m = nMML.adjustWidths.length; i < m; i++) { - tag = nMML.adjustWidths[i]; - var style = tag.getAttribute("style") || ""; - if (!style.match(/(^|;)\s*min-width:/)) { - var width = tag.firstChild.scrollWidth; - mtd.push(width); - width = (width/nMML.ex).toFixed(3)+"ex"; - style = style.replace(/;?\s*$/,"; "); - tag.setAttribute("style",style+"min-width:"+width); - } - } - // - // Save the lists so that we can check them later for web font downloads - // - if (!jax) {jax = HUB.getJaxFor(parent)} - if (jax) {jax.NativeMML.mtds = mtd} - math.MathJaxMtds = nMML.adjustWidths; - nMML.adjustWidths = []; // clear it so we don't hold onto the DOM elements - } - } - }); - - MML.mfenced.Augment({ - toNativeMML: function (parent) { - if (!nMML.mfencedBug) { - this.SUPER(arguments).toNativeMML.call(this,parent); - return; - } - - // - // Some browsers do not handle very well. The MathML spec - // suggests this equivalent construction instead, so let's use it: - // open, child1, sep1, child2, ... sep(N-1), childN, close - // Opera is a bit special: it does not support stretchy , does not - // parse mfenced@open/mfenced@close very well, does not support - // mfenced@separators and only displays the first child of the - // element... For this browser, we will use this construction: - // - // child1, sep1, child2, sep2, ..., sep(N-1), childN - // - // - var isOpera = HUB.Browser.isOpera; - var i, m, operator; - - // - // parse the open, close and separators attributes. - // - var values = this.getValues("open","close","separators"); - values.open = values.open.replace(/^\s+/,"").replace(/\s+$/,""); - values.close = values.close.replace(/^\s+/,"").replace(/\s+$/,""); - values.separators = values.separators.replace(/\s+/g,"").split(""); - if (values.separators.length == 0) { - // - // No separators specified, do not use separators at all. - // - values.separators = null; - } else if (values.separators.length < this.data.length-1) { - // - // There are not enough separators, repeat the last one. - // - var s = values.separators[values.separators.length-1]; - for (i = this.data.length-1-values.separators.length; i > 0; i--) - {values.separators.push(s)} - } - - // - // Create an container and attach the attributes of the - // element to it. Note: removeAttribute does not raise any - // exception when the attributes is absent. - // - var tag = this.NativeMMLelement(isOpera ? this.type : "mrow"); - this.NativeMMLattributes(tag); - tag.removeAttribute("separators"); - if (isOpera) { - tag.setAttribute("open", values.open); - tag.setAttribute("close", values.close); - if (this.data.length > 1) { - parent.appendChild(tag); parent = tag; - tag = this.NativeMMLelement("mrow"); - } - } else { - tag.removeAttribute("open"); - tag.removeAttribute("close"); - } - - if (!isOpera) { - // - // Append the opening fence - // - operator = this.NativeMMLelement("mo"); - operator.setAttribute("fence", "true"); - operator.textContent = values.open; - tag.appendChild(operator); - } - - // - // Append the content of the - // - for (i = 0, m = this.data.length; i < m; i++) { - if (values.separators && i > 0) { - operator = this.NativeMMLelement("mo"); - operator.setAttribute("separator", "true"); - operator.textContent = values.separators[i-1]; - tag.appendChild(operator); - } - if (this.data[i]) {this.data[i].toNativeMML(tag)} - else {tag.appendChild(this.NativeMMLelement("mrow"))} - } - - if (!isOpera) { - // - // Append the closing fence - // - operator = this.NativeMMLelement("mo"); - operator.setAttribute("fence", "true"); - operator.textContent = values.close; - tag.appendChild(operator); - } - - // finally, append the new element to the parent. - parent.appendChild(tag); - } - }); - - MML.TeXAtom.Augment({ - // - // Convert TeXatom to an mrow - // - toNativeMML: function (parent) { - // FIXME: Handle spacing using mpadded? - var tag = this.NativeMMLelement("mrow"); - this.NativeMMLattributes(tag); - this.data[0].toNativeMML(tag); - parent.appendChild(tag); - } - }); - - MML.chars.Augment({ - // - // Add a text node - // - toNativeMML: function (parent,remap) { - var text = this.toString(); - if (remap) text = remap(text); - parent.appendChild(document.createTextNode(text)); - } - }); - - MML.entity.Augment({ - // - // Add a text node - // - toNativeMML: function (parent) { - parent.appendChild(document.createTextNode(this.toString())); - } - }); - - MML.xml.Augment({ - // - // Insert the XML verbatim - // - toNativeMML: function (parent) { - for (var i = 0, m = this.data.length; i < m; i++) - {parent.appendChild(this.data[i].cloneNode(true))} - } - }); - - MML.mi.Augment({ - toNativeMML: function (parent) { - this.SUPER(arguments).toNativeMML.call(this,parent); - if (nMML.miItalicBug) { - if (this.Get("mathvariant") === MML.VARIANT.NORMAL) { - // - // When not explicitly specified, mathvariant is set to "italic" - // with single char mi and to "normal" with multiple char mi. - // Some browsers always set the default to "italic", so let's - // attach an explicit mathvariant="normal" attribute. - // - var mi = parent.lastChild; - mi.setAttribute("mathvariant",MML.VARIANT.NORMAL); - } - } - } - }); - - MML.mo.Augment({ - toNativeMML: function (parent) { - this.SUPER(arguments).toNativeMML.call(this,parent); - if (nMML.webkitMoSpacingBug) { - // - // WebKit does not support lspace/rspace values around operators - // (neither explicit nor given by the operator dictionary) and uses - // constant values instead. So let's modify the CSS properties here. - // - - var lspace = 0, rspace = 0, p = this.parent; - if (p && p.type === "mrow" && (p.inferred || !p.isEmbellished())) { - // - // Retrieve the values of lspace/rspace and convert named spaces. - // Other values (except unitless) will be parsed by the CSS engine. - // - var values = this.getValues("lspace", "rspace"); - lspace = values.lspace, rspace = values.rspace; - if (nMML.NAMEDSPACE[lspace]) {lspace = nMML.NAMEDSPACE[lspace]} - if (nMML.NAMEDSPACE[rspace]) {rspace = nMML.NAMEDSPACE[rspace]} - } - - // - // Now update -webkit-margin-start and -webkit-margin-end. - // - var mo = parent.lastChild; - var span = HTML.Element("span"); - span.style.cssText = (mo.getAttribute("style")||""); - span.style.setProperty("-webkit-margin-start", lspace); - span.style.setProperty("-webkit-margin-end", rspace); - mo.setAttribute("style",span.style.cssText); - } - } - }); - - MML.mmultiscripts.Augment({ - toNativeMML: function (parent) { - // - // Some browsers do not implement the mmultiscripts element. - // Try to emulate the support using basic script elements. - // - if (!nMML.mmultiscriptsBug || this.data.length === 0) { - this.SUPER(arguments).toNativeMML.call(this,parent); - return; - } - - // - // The children of the mmultiscripts will be wrapped in an mrow so that - // attributes and properties set on the original mmultiscripts will - // be reflected on this mrow element. - // - var tag = this.NativeMMLelement("mrow"); - this.NativeMMLattributes(tag); - - // - // Create the base - // - if (this.data[0]) {this.data[0].toNativeMML(tag)} - else {tag.appendChild(this.NativeMMLelement("mrow"))} - var base = tag.removeChild(tag.lastChild); - - // - // Process the postscript pairs - // - var m = this.data.length, i, msubsup; - for (i = 1; i < m; i+=2) { - if (this.data[i].type === "mprescripts") break; - - msubsup = this.NativeMMLelement("msubsup"); - msubsup.appendChild(base); - - // - // append the subscript - // - if (this.data[i]) {this.data[i].toNativeMML(msubsup)} - else {msubsup.appendChild(this.NativeMMLelement("mrow"))} - - // - // append the supscript - // - if (i+1 < m && this.data[i+1]) {this.data[i+1].toNativeMML(msubsup)} - else {msubsup.appendChild(this.NativeMMLelement("mrow"))} - - base = msubsup; - } - - tag.appendChild(base); - - // - // Process the prescript pairs - // - for (i++; i < m; i+=2) { - msubsup = this.NativeMMLelement("msubsup"); - msubsup.appendChild(this.NativeMMLelement("mrow")); - - // - // append the presubscript - // - if (this.data[i]) {this.data[i].toNativeMML(msubsup)} - else {msubsup.appendChild(this.NativeMMLelement("mrow"))} - - // - // append the presupscript - // - if (i+1 < m && this.data[i+1]) {this.data[i+1].toNativeMML(msubsup)} - else {msubsup.appendChild(this.NativeMMLelement("mrow"))} - - tag.insertBefore(msubsup, base); - } - - parent.appendChild(tag); - } - }); - - HUB.Register.StartupHook("TeX mathchoice Ready",function () { - MML.TeXmathchoice.Augment({ - // - // Get the MathML for the selected choice - // - toNativeMML: function (parent) {this.Core().toNativeMML(parent)} - }); - }); - - // - // Loading isn't complete until the element jax is modified, - // but can't call loadComplete within the callback for "mml Jax Ready" - // (it would call NativeMML's Require routine, asking for the mml jax again) - // so wait until after the mml jax has finished processing. - // - setTimeout(MathJax.Callback(["loadComplete",nMML,"jax.js"]),0); - }); - - - // - // Determine browser characteristics - // - HUB.Browser.Select({ - MSIE: function (browser) { - var mode = (document.documentMode || 0); - nMML.msieIE8HeightBug = (mode === 8); - }, - Opera: function (browser) { - nMML.stretchyMoBug = true; - nMML.tableLabelBug = true; - nMML.mfencedBug = true; - nMML.miBug = true; - nMML.mmultiscriptsBug = true; - }, - Firefox: function (browser) { - var is29 = browser.versionAtLeast("29.0"); - nMML.ffTableWidthBug = !browser.versionAtLeast("13.0"); // not implemented - nMML.forceReflow = !is29; // with alignments set don't display properly without a reflow - nMML.widthBug = !is29; // elements don't always get the correct width - nMML.mtdWidthBug = true; // widths not properly determined - nMML.handlesVariants = is29; // FF >=29 handles all math variants - - // In Firefox < 20, the intrinsic width of is not computed - // correctly and thus the element is displayed incorrectly in . - nMML.spaceWidthBug = !browser.versionAtLeast("20.0"); - - // mtable@rowspacing/mtable@columnspacing not supported. - nMML.tableSpacingBug = !browser.versionAtLeast("33.0"); - nMML.tableLabelBug = true; // mlabeledtr is not implemented. - nMML.mfencedBug = true; // mfenced not displayed correctly - }, - Chrome: function (browser) { - nMML.tableSpacingBug = true; - nMML.tableLabelBug = true; - nMML.mfencedBug = true; - }, - Safari: function (browser) { - nMML.tableSpacingBug = true; - nMML.tableLabelBug = true; - nMML.mfencedBug = true; - nMML.miItalicBug = true; - nMML.webkitMoSpacingBug = true; - nMML.spaceWidthBug = true; - nMML.mmultiscriptsBug = true; - } - }); - - - HUB.Register.StartupHook("End Cookie",function () { - if (HUB.config.menuSettings.zoom !== "None") - {AJAX.Require("[MathJax]/extensions/MathZoom.js")} - }); - -})(MathJax.OutputJax.NativeMML, MathJax.Hub, MathJax.Ajax, MathJax.HTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/config.js b/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/config.js deleted file mode 100644 index 89843304..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/config.js +++ /dev/null @@ -1,49 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/PlainSource/config.js - * - * Initializes the PlainSource OutputJax (the main definition is in - * MathJax/jax/input/PlainSource/jax.js, which is loaded when needed). - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.OutputJax.PlainSource = MathJax.OutputJax({ - id: "PlainSource", - version: "2.7.5", - directory: MathJax.OutputJax.directory + "/PlainSource", - extensionDir: MathJax.OutputJax.extensionDir + "/PlainSource", - - config: { - styles: { - ".MathJax_PlainSource_Display": { - "text-align": "center", - margin: ".75em 0px", - "white-space":"pre" - }, - ".MathJax_PlainSource_Display > span": { - display: "inline-block", - "text-align": "left" - } - } - } -}); - -if (!MathJax.Hub.config.delayJaxRegistration) - MathJax.OutputJax.PlainSource.Register("jax/mml"); - -MathJax.OutputJax.PlainSource.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/jax.js deleted file mode 100644 index 5875036d..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/jax.js +++ /dev/null @@ -1,184 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/PlainSource/jax.js - * - * Implements the PlainSource OutputJax that displays whatever - * source there was, for assistive technology users who prefer this. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2015-2018 The MathJax Consortium - * - * 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. - */ - - -(function(AJAX, HUB, HTML, PlainSource) { - - var EVENT, TOUCH, HOVER; // filled in later - - PlainSource.Augment({ - settings: HUB.config.menuSettings, - - Config: function() { - if (!this.require) this.require = []; - this.SUPER(arguments).Config.call(this); - this.require.push(MathJax.OutputJax.extensionDir + "/MathEvents.js"); - }, - - Startup: function() { - // - // Set up event handling - // - EVENT = MathJax.Extension.MathEvents.Event; - TOUCH = MathJax.Extension.MathEvents.Touch; - HOVER = MathJax.Extension.MathEvents.Hover; - this.ContextMenu = EVENT.ContextMenu; - this.Mousedown = EVENT.AltContextMenu; - this.Mouseover = HOVER.Mouseover; - this.Mouseout = HOVER.Mouseout; - this.Mousemove = HOVER.Mousemove; - return AJAX.Styles(this.config.styles); - }, - - preTranslate: function(state) { - var scripts = state.jax[this.id], - i, m = scripts.length, - script, prev, span, div, jax; - // - // Loop through the scripts - // - for (i = 0; i < m; i++) { - script = scripts[i]; - if (!script.parentNode) continue; - // - // Remove any existing output - // - prev = script.previousSibling; - if (prev && String(prev.className).match(/^MathJax(_PlainSource)?(_Display)?( MathJax_Process(ing|ed))?$/)) { - prev.parentNode.removeChild(prev); - } - // - // Add the span, and a div if in display mode - // - jax = script.MathJax.elementJax; - if (!jax) continue; - jax.PlainSource = { - display: (jax.root.Get("display") === "block") - } - span = div = HTML.Element("span", { - className: "MathJax_PlainSource", - id: jax.inputID + "-Frame", - isMathJax: true, - jaxID: this.id, - oncontextmenu: EVENT.Menu, - onmousedown: EVENT.Mousedown, - onmouseover: EVENT.Mouseover, - onmouseout: EVENT.Mouseout, - onmousemove: EVENT.Mousemove, - onclick: EVENT.Click, - ondblclick: EVENT.DblClick, - // Added for keyboard accessible menu. - onkeydown: EVENT.Keydown, - tabIndex: HUB.getTabOrder(jax) - },[["span"]]); - if (HUB.Browser.noContextMenu) { - span.ontouchstart = TOUCH.start; - span.ontouchend = TOUCH.end; - } - if (jax.PlainSource.display) { - div = HTML.Element("div", { - className: "MathJax_PlainSource_Display" - }); - div.appendChild(span); - } - script.parentNode.insertBefore(div, script); - } - }, - - Translate: function(script, state) { - if (!script.parentNode) return; - - // - // Get the data about the math - // - var jax = script.MathJax.elementJax, - math = jax.root, - span = document.getElementById(jax.inputID + "-Frame"); - // - // Typeset the math - // - this.initPlainSource(math, span); - var source = jax.originalText; - if (jax.inputJax === "MathML") { - if ((jax.root.data[0].data.length > 0) && (jax.root.data[0].data[0].type === "semantics")) { - var annotations = jax.root.data[0].data[0].data; - for (var a = 0; a < annotations.length; a++){ - if (annotations[a].attr.encoding === "application/x-tex"){ - source = jax.root.data[0].data[0].data[a].data[0].data[0]; - break; - } - if (annotations[a].attr.encoding === "text/x-asciimath") { - source = jax.root.data[0].data[0].data[a].data[0].data[0]; - } - } - } - } - jax.PlainSource.source = source; - HTML.addText(span.firstChild,source); - }, - - postTranslate: function(state) {}, - - getJaxFromMath: function(math) { - if (math.parentNode.className.match(/MathJax_PlainSource_Display/)) math = math.parentNode; - do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); - return HUB.getJaxFor(math); - }, - - Zoom: function (jax,span,math,Mw,Mh) { - var pad = Math.round(span.parentNode.offsetWidth / 2); - span.style.whiteSpace = "pre"; - HTML.addText(span,jax.PlainSource.source); - var mW = math.offsetWidth, mH = math.offsetHeight, - zW = span.offsetWidth, zH = span.offsetHeight; - var Y = -Math.round((zH+mH)/2) - (jax.PlainSource.display ? 0 : pad); - return {mW:mW, mH:mH, zW:zW, zH:zH, Y:Y}; - }, - - initPlainSource: function(math, span) {}, - - Remove: function(jax) { - var span = document.getElementById(jax.inputID + "-Frame"); - if (span) { - if (jax.PlainSource.display) span = span.parentNode; - span.parentNode.removeChild(span); - } - delete jax.PlainSource; - } - - }); - - MathJax.Hub.Register.StartupHook("mml Jax Ready", function() { - MathJax.Hub.Register.StartupHook("onLoad", function() { - setTimeout(MathJax.Callback(["loadComplete", PlainSource, "jax.js"]), 0); - }); - }); - - MathJax.Hub.Register.StartupHook("End Cookie", function() { - if (HUB.config.menuSettings.zoom !== "None") { - AJAX.Require("[MathJax]/extensions/MathZoom.js") - } - }); - -})(MathJax.Ajax, MathJax.Hub, MathJax.HTML, MathJax.OutputJax.PlainSource); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/config.js b/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/config.js deleted file mode 100644 index 508d2c5f..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/config.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/PreviewHTML/config.js - * - * Initializes the PreviewHTML OutputJax (the main definition is in - * MathJax/jax/input/PreviewHTML/jax.js, which is loaded when needed). - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.OutputJax.PreviewHTML = MathJax.OutputJax({ - id: "PreviewHTML", - version: "2.7.5", - directory: MathJax.OutputJax.directory + "/PreviewHTML", - extensionDir: MathJax.OutputJax.extensionDir + "/PreviewHTML", - noFastPreview: true, // don't do fast preview for this output jax - - config: { - scale: 100, minScaleAdjust: 50, // global math scaling factor, and minimum adjusted scale factor - mtextFontInherit: false, // to make be in page font rather than MathJax font - - linebreaks: { - automatic: false, // when false, only process linebreak="newline", - // when true, insert line breaks automatically in long expressions. - - width: "container" // maximum width of a line for automatic line breaks (e.g. "30em"). - // use "container" to compute size from containing element, - // use "nn% container" for a portion of the container, - // use "nn%" for a portion of the window size - } - - } -}); - -if (!MathJax.Hub.config.delayJaxRegistration) {MathJax.OutputJax.PreviewHTML.Register("jax/mml")} - -MathJax.OutputJax.PreviewHTML.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/jax.js deleted file mode 100644 index 36750b5c..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/jax.js +++ /dev/null @@ -1,1096 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/PreviewHTML/jax.js - * - * Implements the PreviewHTML OutputJax that displays mathematics - * using HTML to position the characters from math fonts - * in their proper locations. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - - -(function (AJAX,HUB,HTML,PHTML) { - var MML; - - var EVENT, TOUCH, HOVER; // filled in later - - var FONTS = "'Times New Roman',Times,STIXGeneral,serif"; - var STYLES = { - ".MJXp-script": {"font-size":".8em"}, - - ".MJXp-right": { - "-webkit-transform-origin":"right", - "-moz-transform-origin":"right", - "-ms-transform-origin":"right", - "-o-transform-origin":"right", - "transform-origin":"right" - }, - - ".MJXp-bold": {"font-weight":"bold"}, - ".MJXp-italic": {"font-style":"italic"}, - ".MJXp-scr": {"font-family":"MathJax_Script,"+FONTS}, - ".MJXp-frak": {"font-family":"MathJax_Fraktur,"+FONTS}, - ".MJXp-sf": {"font-family":"MathJax_SansSerif,"+FONTS}, - ".MJXp-cal": {"font-family":"MathJax_Caligraphic,"+FONTS}, - ".MJXp-mono": {"font-family":"MathJax_Typewriter,"+FONTS}, - ".MJXp-largeop": {"font-size":"150%"}, - ".MJXp-largeop.MJXp-int": {"vertical-align":"-.2em"}, - - ".MJXp-math": { - "display": "inline-block", - "line-height": "1.2", - "text-indent": "0", - "font-family": FONTS, - "white-space":"nowrap", - "border-collapse":"collapse" - }, - ".MJXp-display": { - "display": "block", - "text-align": "center", - "margin": "1em 0" - }, - ".MJXp-math span": {"display": "inline-block"}, - ".MJXp-box": {"display":"block!important", "text-align": "center"}, - ".MJXp-box:after": {"content": '" "'}, // needed for when there is no DOCTYPE - ".MJXp-rule": {"display":"block!important", "margin-top":".1em"}, - ".MJXp-char": {"display":"block!important"}, - - ".MJXp-mo": {"margin": "0 .15em"}, - - ".MJXp-mfrac": {"margin": "0 .125em", "vertical-align":".25em"}, - ".MJXp-denom": {"display": "inline-table!important", "width":"100%"}, - ".MJXp-denom > *": {"display": "table-row!important"}, - - ".MJXp-surd": {"vertical-align":"top"}, - ".MJXp-surd > *": {"display":"block!important"}, - - ".MJXp-script-box > * ": {"display":"table!important", "height":"50%"}, - ".MJXp-script-box > * > *": {"display":"table-cell!important","vertical-align":"top"}, - ".MJXp-script-box > *:last-child > *": {"vertical-align":"bottom"}, - ".MJXp-script-box > * > * > *": {"display":"block!important"}, - - ".MJXp-mphantom": {"visibility": "hidden"}, - - ".MJXp-munderover, .MJXp-munder": {"display":"inline-table!important"}, - ".MJXp-over": {"display":"inline-block!important","text-align":"center"}, - ".MJXp-over > *": {"display":"block!important"}, - ".MJXp-munderover > *, .MJXp-munder > *": {"display":"table-row!important"}, - - ".MJXp-mtable": {"vertical-align":".25em", "margin":"0 .125em"}, - ".MJXp-mtable > *": {"display":"inline-table!important", "vertical-align":"middle"}, - ".MJXp-mtr": {"display":"table-row!important"}, - ".MJXp-mtd": {"display":"table-cell!important","text-align":"center","padding":".5em 0 0 .5em"}, - ".MJXp-mtr > .MJXp-mtd:first-child": {"padding-left":0}, - ".MJXp-mtr:first-child > .MJXp-mtd": {"padding-top":0}, - ".MJXp-mlabeledtr": {"display":"table-row!important"}, - ".MJXp-mlabeledtr > .MJXp-mtd:first-child": {"padding-left":0}, - ".MJXp-mlabeledtr:first-child > .MJXp-mtd": {"padding-top":0}, - - ".MJXp-merror": { - "background-color": "#FFFF88", - color: "#CC0000", - border: "1px solid #CC0000", - padding: "1px 3px", - "font-style": "normal", - "font-size": "90%" - } - }; - - (function () { - for (var i = 0; i < 10; i++) { - var scale = "scaleX(."+i+")"; - STYLES[".MJXp-scale"+i] = { - "-webkit-transform":scale, - "-moz-transform":scale, - "-ms-transform":scale, - "-o-transform":scale, - "transform":scale - } - } - })(); - - var BIGDIMEN = 1000000; - var V = "V", H = "H"; - - PHTML.Augment({ - settings: HUB.config.menuSettings, - config: {styles: STYLES}, - - hideProcessedMath: false, // use display:none until all math is processed - - maxStretchyParts: 1000, // limit the number of parts allowed for - // stretchy operators. See issue 366. - - Config: function () { - if (!this.require) {this.require = []} - this.SUPER(arguments).Config.call(this); var settings = this.settings; - if (settings.scale) {this.config.scale = settings.scale} - this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); - }, - - Startup: function () { - // - // Set up event handling - // - EVENT = MathJax.Extension.MathEvents.Event; - TOUCH = MathJax.Extension.MathEvents.Touch; - HOVER = MathJax.Extension.MathEvents.Hover; - this.ContextMenu = EVENT.ContextMenu; - this.Mousedown = EVENT.AltContextMenu; - this.Mouseover = HOVER.Mouseover; - this.Mouseout = HOVER.Mouseout; - this.Mousemove = HOVER.Mousemove; - - // - // Determine pixels per inch - // - var div = HTML.addElement(document.body,"div",{style:{width:"5in"}}); - this.pxPerInch = div.offsetWidth/5; div.parentNode.removeChild(div); - - // - // Set up styles and preload web fonts - // - return AJAX.Styles(this.config.styles,["InitializePHTML",this]); - }, - InitializePHTML: function () { - }, - - preTranslate: function (state) { - var scripts = state.jax[this.id], i, m = scripts.length, - script, prev, span, div, jax; - // - // Loop through the scripts - // - for (i = 0; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; - // - // Remove any existing output - // - prev = script.previousSibling; - if (prev && String(prev.className).match(/^MathJax(_PHTML)?(_Display)?( MathJax_Process(ing|ed))?$/)) - {prev.parentNode.removeChild(prev)} - // - // Add the span, and a div if in display mode, - // then mark it as being processed - // - jax = script.MathJax.elementJax; if (!jax) continue; - jax.PHTML = {display: (jax.root.Get("display") === "block")} - span = div = HTML.Element("span",{ - className:"MathJax_PHTML", id:jax.inputID+"-Frame", isMathJax:true, jaxID:this.id, - oncontextmenu:EVENT.Menu, onmousedown: EVENT.Mousedown, - onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove, - onclick:EVENT.Click, ondblclick:EVENT.DblClick, - // Added for keyboard accessible menu. - onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax) - }); - if (HUB.Browser.noContextMenu) { - span.ontouchstart = TOUCH.start; - span.ontouchend = TOUCH.end; - } - if (jax.PHTML.display) { - div = HTML.Element("div",{className:"MathJax_PHTML_Display"}); - div.appendChild(span); - } - // - div.className += " MathJax_Processing"; - script.parentNode.insertBefore(div,script); - } - }, - - Translate: function (script,state) { - if (!script.parentNode) return; - - // - // Get the data about the math - // - var jax = script.MathJax.elementJax, math = jax.root, - span = document.getElementById(jax.inputID+"-Frame"), - div = (jax.PHTML.display ? span.parentNode : span); - // - // Typeset the math - // - this.initPHTML(math,span); -// math.setTeXclass(); - try {math.toPreviewHTML(span)} catch (err) { - if (err.restart) {while (span.firstChild) {span.removeChild(span.firstChild)}} - throw err; - } - // - // Put it in place, and remove the processing marker - // - div.className = div.className.split(/ /)[0]; - // - // Check if we are hiding the math until more is processed - // - if (this.hideProcessedMath) { - // - // Hide the math and don't let its preview be removed - // - div.className += " MathJax_Processed"; - if (script.MathJax.preview) { - jax.PHTML.preview = script.MathJax.preview; - delete script.MathJax.preview; - } - } - }, - - postTranslate: function (state) { - var scripts = state.jax[this.id]; - if (!this.hideProcessedMath) return; - for (var i = 0, m = scripts.length; i < m; i++) { - var script = scripts[i]; - if (script && script.MathJax.elementJax) { - // - // Remove the processed marker - // - script.previousSibling.className = script.previousSibling.className.split(/ /)[0]; - var data = script.MathJax.elementJax.PHTML; - // - // Remove the preview, if any - // - if (data.preview) { - data.preview.innerHTML = ""; - script.MathJax.preview = data.preview; - delete data.preview; - } - } - } - }, - - getJaxFromMath: function (math) { - if (math.parentNode.className.match(/MathJax_PHTML_Display/)) {math = math.parentNode} - do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); - return HUB.getJaxFor(math); - }, - getHoverSpan: function (jax,math) {return jax.root.PHTMLspanElement()}, - getHoverBBox: function (jax,span,math) { - var bbox = jax.root.PHTML, em = jax.PHTML.outerEm; - var BBOX = {w:bbox.w*em, h:bbox.h*em, d:bbox.d*em}; - if (bbox.width) {BBOX.width = bbox.width} - return BBOX; - }, - - Zoom: function (jax,span,math,Mw,Mh) { - // - // Re-render at larger size - // - span.className = "MathJax"; - this.idPostfix = "-zoom"; jax.root.toPHTML(span,span); this.idPostfix = ""; - // - // Get height and width of zoomed math and original math - // - span.style.position = "absolute"; - if (!width) {math.style.position = "absolute"} - var zW = span.offsetWidth, zH = span.offsetHeight, - mH = math.offsetHeight, mW = math.offsetWidth; - if (mW === 0) {mW = math.parentNode.offsetWidth}; // IE7 gets mW == 0? - span.style.position = math.style.position = ""; - // - return {Y:-EVENT.getBBox(span).h, mW:mW, mH:mH, zW:zW, zH:zH}; - }, - - initPHTML: function (math,span) {}, - - Remove: function (jax) { - var span = document.getElementById(jax.inputID+"-Frame"); - if (span) { - if (jax.PHTML.display) {span = span.parentNode} - span.parentNode.removeChild(span); - } - delete jax.PHTML; - }, - - ID: 0, idPostfix: "", - GetID: function () {this.ID++; return this.ID}, - - VARIANT: { - "bold": "MJXp-bold", - "italic": "MJXp-italic", - "bold-italic": "MJXp-bold MJXp-italic", - "script": "MJXp-scr", - "bold-script": "MJXp-scr MJXp-bold", - "fraktur": "MJXp-frak", - "bold-fraktur": "MJXp-frak MJXp-bold", - "monospace": "MJXp-mono", - "sans-serif": "MJXp-sf", - "-tex-caligraphic": "MJXp-cal" - }, - MATHSPACE: { - veryverythinmathspace: 1/18, - verythinmathspace: 2/18, - thinmathspace: 3/18, - mediummathspace: 4/18, - thickmathspace: 5/18, - verythickmathspace: 6/18, - veryverythickmathspace: 7/18, - negativeveryverythinmathspace: -1/18, - negativeverythinmathspace: -2/18, - negativethinmathspace: -3/18, - negativemediummathspace: -4/18, - negativethickmathspace: -5/18, - negativeverythickmathspace: -6/18, - negativeveryverythickmathspace: -7/18, - - thin: .08, - medium: .1, - thick: .15, - - infinity: BIGDIMEN - }, - TeX: { - x_height: .430554 - }, - pxPerInch: 72, - em: 16, - - // ### FIXME: add more here - - DELIMITERS: { - "(": {dir:V}, - "{": {dir:V, w:.58}, - "[": {dir:V}, - "|": {dir:V, w:.275}, - ")": {dir:V}, - "}": {dir:V, w:.58}, - "]": {dir:V}, - "/": {dir:V}, - "\\": {dir:V}, - "\u2223": {dir:V, w:.275}, - "\u2225": {dir:V, w:.55}, - "\u230A": {dir:V, w:.5}, - "\u230B": {dir:V, w:.5}, - "\u2308": {dir:V, w:.5}, - "\u2309": {dir:V, w:.5}, - "\u27E8": {dir:V, w:.5}, - "\u27E9": {dir:V, w:.5}, - "\u2191": {dir:V, w:.65}, - "\u2193": {dir:V, w:.65}, - "\u21D1": {dir:V, w:.75}, - "\u21D3": {dir:V, w:.75}, - "\u2195": {dir:V, w:.65}, - "\u21D5": {dir:V, w:.75}, - "\u27EE": {dir:V, w:.275}, - "\u27EF": {dir:V, w:.275}, - "\u23B0": {dir:V, w:.6}, - "\u23B1": {dir:V, w:.6} - }, - - REMAPACCENT: { - "\u20D7":"\u2192", // vector arrow - "'": "\u02CB", - "`": "\u02CA", - ".": "\u02D9", - "^": "\u02C6", - "-": "\u02C9", - "~": "\u02DC", - "\u00AF": "\u02C9", // macron - "\u00B0": "\u02DA", // degree sign - "\u00B4": "\u02CA", // acute accent - "\u0300": "\u02CB", // combining grave - "\u0301": "\u02CA", // combining acute - "\u0302": "\u02C6", // combining circumflex - "\u0303": "\u02DC", // combinig tilde - "\u0304": "\u02C9", // combining macron - "\u0305": "\u02C9", // combining overline - "\u0306": "\u02D8", // combining breve - "\u0307": "\u02D9", // combining dot - "\u0308": "\u00A8", // combining double dot - "\u030C": "\u02C7" // combining caron - }, - REMAPACCENTUNDER: { - }, - - length2em: function (length,size) { - if (typeof(length) !== "string") {length = length.toString()} - if (length === "") {return ""} - if (length === MML.SIZE.NORMAL) {return 1} - if (length === MML.SIZE.BIG) {return 2} - if (length === MML.SIZE.SMALL) {return .71} - if (this.MATHSPACE[length]) {return this.MATHSPACE[length]} - var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/); - var m = parseFloat(match[1]||"1"), unit = match[2]; - if (size == null) {size = 1} - if (unit === "em") {return m} - if (unit === "ex") {return m * this.TeX.x_height} - if (unit === "%") {return m / 100 * size} - if (unit === "px") {return m / this.em} - if (unit === "pt") {return m / 10} // 10 pt to an em - if (unit === "pc") {return m * 1.2} // 12 pt to a pc - if (unit === "in") {return m * this.pxPerInch / this.em} - if (unit === "cm") {return m * this.pxPerInch / this.em / 2.54} // 2.54 cm to an inch - if (unit === "mm") {return m * this.pxPerInch / this.em / 25.4} // 10 mm to a cm - if (unit === "mu") {return m / 18} // 18mu to an em for the scriptlevel - return m*size; // relative to given size (or 1em as default) - }, - - Em: function (m) { - if (Math.abs(m) < .001) return "0em"; - return (m.toFixed(3).replace(/\.?0+$/,""))+"em"; - }, - - arrayEntry: function (a,i) {return a[Math.max(0,Math.min(i,a.length-1))]} - - }); - - MathJax.Hub.Register.StartupHook("mml Jax Ready",function () { - MML = MathJax.ElementJax.mml; - - MML.mbase.Augment({ - toPreviewHTML: function (span,options) { - return this.PHTMLdefaultSpan(span,options); - }, - - PHTMLdefaultSpan: function (span,options) { - if (!options) options = {}; - span = this.PHTMLcreateSpan(span); - this.PHTMLhandleStyle(span); - this.PHTMLhandleColor(span); - if (this.isToken) this.PHTMLhandleToken(span); - for (var i = 0, m = this.data.length; i < m; i++) this.PHTMLaddChild(span,i,options); - return span; - }, - PHTMLaddChild: function (span,i,options) { - var child = this.data[i]; - if (child) { - if (options.childSpans) - span = HTML.addElement(span,"span",{className:options.className}); - child.toPreviewHTML(span); - if (!options.noBBox) { - this.PHTML.w += child.PHTML.w + child.PHTML.l + child.PHTML.r; - if (child.PHTML.h > this.PHTML.h) this.PHTML.h = child.PHTML.h; - if (child.PHTML.d > this.PHTML.d) this.PHTML.d = child.PHTML.d; - if (child.PHTML.t > this.PHTML.t) this.PHTML.t = child.PHTML.t; - if (child.PHTML.b > this.PHTML.b) this.PHTML.b = child.PHTML.b; - } - } else if (options.forceChild) {HTML.addElement(span,"span")} - }, - PHTMLstretchChild: function (i,H,D) { - var data = this.data[i]; - if (data && data.PHTMLcanStretch("Vertical",H,D)) { - var bbox = this.PHTML, dbox = data.PHTML, w = dbox.w; - data.PHTMLstretchV(H,D); - bbox.w += dbox.w - w; - if (dbox.h > bbox.h) bbox.h = dbox.h; - if (dbox.d > bbox.d) bbox.d = dbox.d; - } - }, - - PHTMLcreateSpan: function (span) { - if (!this.PHTML) this.PHTML = {}; - this.PHTML = {w:0, h:0, d:0, l:0, r:0, t:0, b:0}; - if (this.inferred) return span; - // ### FIXME: This is a hack to handle the different spacing of the - // ### integral sign in Times compared to CM fonts - if (this.type === "mo" && this.data.join("") === "\u222B") {PHTML.lastIsInt = true} - else if (this.type !== "mspace" || this.width !== "negativethinmathspace") {PHTML.lastIsInt = false} - // ### - if (!this.PHTMLspanID) {this.PHTMLspanID = PHTML.GetID()}; - var id = (this.id || "MJXp-Span-"+this.PHTMLspanID); - return HTML.addElement(span,"span",{className:"MJXp-"+this.type, id:id}); - }, - PHTMLspanElement: function () { - if (!this.PHTMLspanID) {return null} - return document.getElementById(this.id||"MJXp-Span-"+this.PHTMLspanID); - }, - - PHTMLhandleToken: function (span) { - var values = this.getValues("mathvariant"); - if (values.mathvariant !== MML.VARIANT.NORMAL) { - span.className += " "+PHTML.VARIANT[values.mathvariant]; - } - }, - - PHTMLhandleStyle: function (span) { - if (this.style) span.style.cssText = this.style; - }, - - PHTMLhandleColor: function (span) { - if (this.mathcolor) {span.style.color = this.mathcolor} - if (this.mathbackground) {span.style.backgroundColor = this.mathbackground} - }, - - PHTMLhandleScriptlevel: function (span) { - // ### FIXME: Need to prevent getting too small - // ### and should keep track of scaling so it can be compensated for - var level = this.Get("scriptlevel"); - if (level) span.className += " MJXp-script"; - }, - - PHTMLhandleText: function (span,text) { - var c, n; - var H = 0, D = 0, W = 0; - for (var i = 0, m = text.length; i < m; i++) { - n = text.charCodeAt(i); c = text.charAt(i); - if (n >= 0xD800 && n < 0xDBFF) { - i++; n = (((n-0xD800)<<10)+(text.charCodeAt(i)-0xDC00))+0x10000; - } - var h = .7, d = .22, w = .5; - if (n < 127) { - if (c.match(/[A-Za-ehik-or-xz0-9]/)) d = 0; - if (c.match(/[A-HK-Z]/)) {w = .67} else if (c.match(/[IJ]/)) {w = .36} - if (c.match(/[acegm-su-z]/)) {h = .45} else if (c.match(/[ij]/)) {h = .75} - if (c.match(/[ijlt]/)) w = .28; - } - if (PHTML.DELIMITERS[c]) {w = PHTML.DELIMITERS[c].w || .4} - // ### FIXME: handle Greek - // ### Combining diacriticals (all sets), spacing modifiers - // ### arrows (all sets), widths of braces - if (h > H) H = h; if (d > D) D = d; W += w; - } - if (!this.CHML) this.PHTML = {}; - this.PHTML = {h:.9, d:.3, w:W, l:0, r:0, t:H, b:D}; - HTML.addText(span,text); - }, - - PHTMLbboxFor: function (n) { - if (this.data[n] && this.data[n].PHTML) return this.data[n].PHTML; - return {w:0, h:0, d:0, l:0, r:0, t:0, b:0}; - }, - - PHTMLcanStretch: function (direction,H,D) { - if (this.isEmbellished()) { - var core = this.Core(); - if (core && core !== this) {return core.PHTMLcanStretch(direction,H,D)} - } - return false; - }, - PHTMLstretchV: function (h,d) {}, - PHTMLstretchH: function (w) {}, - - CoreParent: function () { - var parent = this; - while (parent && parent.isEmbellished() && - parent.CoreMO() === this && !parent.isa(MML.math)) {parent = parent.Parent()} - return parent; - }, - CoreText: function (parent) { - if (!parent) {return ""} - if (parent.isEmbellished()) {return parent.CoreMO().data.join("")} - while ((parent.isa(MML.mrow) || parent.isa(MML.TeXAtom) || - parent.isa(MML.mstyle) || parent.isa(MML.mphantom)) && - parent.data.length === 1 && parent.data[0]) {parent = parent.data[0]} - if (!parent.isToken) {return ""} else {return parent.data.join("")} - } - - }); - - MML.chars.Augment({ - toPreviewHTML: function (span) { - var text = this.toString().replace(/[\u2061-\u2064]/g,""); - this.PHTMLhandleText(span,text); - } - }); - MML.entity.Augment({ - toPreviewHTML: function (span) { - var text = this.toString().replace(/[\u2061-\u2064]/g,""); - this.PHTMLhandleText(span,text); - } - }); - - MML.math.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span); - if (this.Get("display") === "block") {span.className += " MJXp-display"} - return span; - } - }); - - MML.mo.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span); - this.PHTMLadjustAccent(span); - var values = this.getValues("lspace","rspace","scriptlevel","displaystyle","largeop"); - if (values.scriptlevel === 0) { - this.PHTML.l = PHTML.length2em(values.lspace); - this.PHTML.r = PHTML.length2em(values.rspace); - span.style.marginLeft = PHTML.Em(this.PHTML.l); - span.style.marginRight = PHTML.Em(this.PHTML.r); - } else { - this.PHTML.l = .15; - this.PHTML.r = .1; - } - if (values.displaystyle && values.largeop) { - var box = HTML.Element("span",{className:"MJXp-largeop"}); - box.appendChild(span.firstChild); span.appendChild(box); - this.PHTML.h *= 1.2; this.PHTML.d *= 1.2; - if (this.data.join("") === "\u222B") box.className += " MJXp-int"; - } - // ### FIXME: Handle embellished op spacing - // ### FIXME: Remap minus signs - return span; - }, - PHTMLadjustAccent: function (span) { - var parent = this.CoreParent(); - if (parent && parent.isa(MML.munderover) && - this.CoreText(parent.data[parent.base]).length === 1) { - var over = parent.data[parent.over], under = parent.data[parent.under]; - var c = this.data.join(""), C; - if (over && this === over.CoreMO() && parent.Get("accent")) {C = PHTML.REMAPACCENT[c]} - else if (under && this === under.CoreMO() && parent.Get("accentunder")) {C = PHTML.REMAPACCENTUNDER[c]} - if (C) c = span.innerHTML = C; - if (c.match(/[\u02C6-\u02DC\u00A8]/)) {this.PHTML.acc = -.52} - else if (c === "\u2192") {this.PHTML.acc = -.15; this.PHTML.vec = true} - } - }, - PHTMLcanStretch: function (direction,H,D) { - if (!this.Get("stretchy")) {return false} - var c = this.data.join(""); - if (c.length > 1) {return false} - c = PHTML.DELIMITERS[c]; - var stretch = (c && c.dir === direction.substr(0,1)); - if (stretch) { - stretch = (this.PHTML.h !== H || this.PHTML.d !== D || - (this.Get("minsize",true) || this.Get("maxsize",true))); - } - return stretch; - }, - PHTMLstretchV: function (h,d) { - var span = this.PHTMLspanElement(), bbox = this.PHTML; //bbox.w = .4; // ## adjust width - var values = this.getValues("symmetric","maxsize","minsize"); - if (values.symmetric) {H = 2*Math.max(h-.25,d+.25)} else {H = h + d} - values.maxsize = PHTML.length2em(values.maxsize,bbox.h+bbox.d); - values.minsize = PHTML.length2em(values.minsize,bbox.h+bbox.d); - H = Math.max(values.minsize,Math.min(values.maxsize,H)); - var scale = H/(bbox.h+bbox.d-.3); // ### adjusted for extra tall bbox - var box = HTML.Element("span",{style:{"font-size":PHTML.Em(scale)}}); - if (scale > 1.25) { - var sX = Math.ceil(1.25/scale * 10); - box.className = "MJXp-right MJXp-scale"+sX; - box.style.marginLeft = PHTML.Em(bbox.w*(sX/10-1)+.07); - bbox.w *= scale*sX/10; - } - box.appendChild(span.firstChild); span.appendChild(box); - if (values.symmetric) span.style.verticalAlign = PHTML.Em(.25*(1-scale)); - } - }); - - MML.mspace.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span); - var values = this.getValues("height","depth","width"); - var w = PHTML.length2em(values.width), - h = PHTML.length2em(values.height), - d = PHTML.length2em(values.depth); - var bbox = this.PHTML; - bbox.w = w; bbox.h = h; bbox.d = d; - if (w < 0) { - // ### FIXME: lastIsInt hack - if (!PHTML.lastIsInt) span.style.marginLeft = PHTML.Em(w); - w = 0; - } - span.style.width = PHTML.Em(w); - span.style.height = PHTML.Em(h+d); - if (d) span.style.verticalAlign = PHTML.Em(-d); - return span; - } - }); - - MML.mpadded.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span,{ - childSpans:true, className:"MJXp-box", forceChild:true - }); - var child = span.firstChild; - var values = this.getValues("width","height","depth","lspace","voffset"); - var dimen = this.PHTMLdimen(values.lspace); - var T = 0, B = 0, L = dimen.len, R = -dimen.len, V = 0; - if (values.width !== "") { - dimen = this.PHTMLdimen(values.width,"w",0); - if (dimen.pm) {R += dimen.len} else {span.style.width = PHTML.Em(dimen.len)} - } - if (values.height !== "") { - dimen = this.PHTMLdimen(values.height,"h",0); - if (!dimen.pm) T += -this.PHTMLbboxFor(0).h; - T += dimen.len; - } - if (values.depth !== "") { - dimen = this.PHTMLdimen(values.depth,"d",0); - if (!dimen.pm) {B += -this.PHTMLbboxFor(0).d; V += -dimen.len} - B += dimen.len; - } - if (values.voffset !== "") { - dimen = this.PHTMLdimen(values.voffset); - T -= dimen.len; B += dimen.len; - V += dimen.len; - } - if (T) child.style.marginTop = PHTML.Em(T); - if (B) child.style.marginBottom = PHTML.Em(B); - if (L) child.style.marginLeft = PHTML.Em(L); - if (R) child.style.marginRight = PHTML.Em(R); - if (V) span.style.verticalAlign = PHTML.Em(V); - return span; - }, - PHTMLdimen: function (length,d,m) { - if (m == null) {m = -BIGDIMEN} - length = String(length); - var match = length.match(/width|height|depth/); - var size = (match ? this.PHTML[match[0].charAt(0)] : (d ? this.PHTML[d] : 0)); - return {len: PHTML.length2em(length,size)||0, pm: !!length.match(/^[-+]/)}; - } - }); - - MML.munderover.Augment({ - toPreviewHTML: function (span) { - var values = this.getValues("displaystyle","accent","accentunder","align"); - var base = this.data[this.base]; - if (!values.displaystyle && base != null && - (base.movablelimits || base.CoreMO().Get("movablelimits"))) { - span = MML.msubsup.prototype.toPreviewHTML.call(this,span); - // - // Change class to msubsup for CSS rules. - // ### FIXME: should this be handled via adding another class instead? - // - span.className = span.className.replace(/munderover/,"msubsup"); - return span; - } - span = this.PHTMLdefaultSpan(span,{childSpans:true, className:"", noBBox:true}); - var obox = this.PHTMLbboxFor(this.over), - ubox = this.PHTMLbboxFor(this.under), - bbox = this.PHTMLbboxFor(this.base), - BBOX = this.PHTML, acc = obox.acc; - if (this.data[this.over]) { - if (span.lastChild.firstChild){ - span.lastChild.firstChild.style.marginLeft = obox.l = - span.lastChild.firstChild.style.marginRight = obox.r = 0; - } - var over = HTML.Element("span",{},[["span",{className:"MJXp-over"}]]); - over.firstChild.appendChild(span.lastChild); - if (span.childNodes.length > (this.data[this.under] ? 1 : 0)) - over.firstChild.appendChild(span.firstChild); - this.data[this.over].PHTMLhandleScriptlevel(over.firstChild.firstChild); - if (acc != null) { - if (obox.vec) { - over.firstChild.firstChild.firstChild.style.fontSize = "60%"; - obox.h *= .6; obox.d *= .6; obox.w *= .6; - } - acc = acc - obox.d + .1; if (bbox.t != null) {acc += bbox.t - bbox.h} - over.firstChild.firstChild.style.marginBottom = PHTML.Em(acc); - } - if (span.firstChild) {span.insertBefore(over,span.firstChild)} - else {span.appendChild(over)} - } - if (this.data[this.under]) { - if (span.lastChild.firstChild) { - span.lastChild.firstChild.style.marginLeft = ubox.l = - span.lastChild.firstChild.marginRight = ubox.r = 0; - } - this.data[this.under].PHTMLhandleScriptlevel(span.lastChild); - } - BBOX.w = Math.max(.8*obox.w,.8*ubox.w,bbox.w); - BBOX.h = .8*(obox.h+obox.d+(acc||0)) + bbox.h; - BBOX.d = bbox.d + .8*(ubox.h+ubox.d); - return span; - } - }); - - MML.msubsup.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span,{noBBox:true}); - if (!this.data[this.base]) { - if (span.firstChild) {span.insertBefore(HTML.Element("span"),span.firstChild)} - else {span.appendChild(HTML.Element("span"))} - } - var base = this.data[this.base], sub = this.data[this.sub], sup = this.data[this.sup]; - if (!base) base = {bbox: {h:.8, d:.2}}; - span.firstChild.style.marginRight = ".05em"; - var h = Math.max(.4,base.PHTML.h-.4), - d = Math.max(.2,base.PHTML.d+.1); - var bbox = this.PHTML; - if (sup && sub) { - var box = HTML.Element("span",{className:"MJXp-script-box", style:{ - height: PHTML.Em(h+sup.PHTML.h*.8 + d+sub.PHTML.d*.8), - "vertical-align": PHTML.Em(-d-sub.PHTML.d*.8) - }},[ - ["span",{},[["span",{},[["span",{ - style:{"margin-bottom":PHTML.Em(-(sup.PHTML.d-.05))} - }]]]]], - ["span",{},[["span",{},[["span",{ - style:{"margin-top":PHTML.Em(-(sup.PHTML.h-.05))} - }]]]]] - ]); - sub.PHTMLhandleScriptlevel(box.firstChild); - sup.PHTMLhandleScriptlevel(box.lastChild); - box.firstChild.firstChild.firstChild.appendChild(span.lastChild); - box.lastChild.firstChild.firstChild.appendChild(span.lastChild); - span.appendChild(box); - bbox.h = Math.max(base.PHTML.h,sup.PHTML.h*.8+h); - bbox.d = Math.max(base.PHTML.d,sub.PHTML.d*.8+d); - bbox.w = base.PHTML.w + Math.max(sup.PHTML.w,sub.PHTML.w) + .07; - } else if (sup) { - span.lastChild.style.verticalAlign = PHTML.Em(h); - sup.PHTMLhandleScriptlevel(span.lastChild); - bbox.h = Math.max(base.PHTML.h,sup.PHTML.h*.8+h); - bbox.d = Math.max(base.PHTML.d,sup.PHTML.d*.8-h); - bbox.w = base.PHTML.w + sup.PHTML.w + .07; - } else if (sub) { - span.lastChild.style.verticalAlign = PHTML.Em(-d); - sub.PHTMLhandleScriptlevel(span.lastChild); - bbox.h = Math.max(base.PHTML.h,sub.PHTML.h*.8-d); - bbox.d = Math.max(base.PHTML.d,sub.PHTML.d*.8+d); - bbox.w = base.PHTML.w + sub.PHTML.w + .07; - } - return span; - } - }); - - MML.mfrac.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span,{ - childSpans:true, className:"MJXp-box", forceChild:true, noBBox:true - }); - var values = this.getValues("linethickness","displaystyle"); - if (!values.displaystyle) { - if (this.data[0]) this.data[0].PHTMLhandleScriptlevel(span.firstChild); - if (this.data[1]) this.data[1].PHTMLhandleScriptlevel(span.lastChild); - } - var denom = HTML.Element("span",{className:"MJXp-box"},[ - ["span",{className:"MJXp-denom"},[ // inline-table - ["span",{},[["span",{className:"MJXp-rule",style:{height:"1em"}}]]], - ["span"] // spans are table-row - ]] - ]); - denom.firstChild.lastChild.appendChild(span.lastChild); - span.appendChild(denom); - var nbox = this.PHTMLbboxFor(0), dbox = this.PHTMLbboxFor(1), bbox = this.PHTML; - bbox.w = Math.max(nbox.w,dbox.w) * .8; - bbox.h = nbox.h+nbox.d + .1 + .25; - bbox.d = dbox.h+dbox.d - .25; - bbox.l = bbox.r = .125; - values.linethickness = Math.max(0,PHTML.length2em(values.linethickness||"0",0)); - if (values.linethickness) { - var rule = denom.firstChild.firstChild.firstChild; - var t = PHTML.Em(values.linethickness); - rule.style.borderTop = "none"; - rule.style.borderBottom = (values.linethickness < .15 ? "1px" : t)+" solid"; - rule.style.margin = t+" 0"; - t = values.linethickness; - denom.style.marginTop = PHTML.Em(3*t-1.2); - span.style.verticalAlign = PHTML.Em(1.5*t + .1); - bbox.h += 1.5*t - .1; bbox.d += 1.5*t; - } else { - denom.style.marginTop = "-.7em"; - } - return span; - } - }); - - MML.msqrt.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span,{ - childSpans:true, className:"MJXp-box", forceChild:true, noBBox:true - }); - this.PHTMLlayoutRoot(span,span.firstChild); - return span; - }, - PHTMLlayoutRoot: function (span,base) { - var bbox = this.PHTMLbboxFor(0); - var scale = Math.ceil((bbox.h+bbox.d+.14)*100), t = PHTML.Em(14/scale); - var surd = HTML.Element("span",{className:"MJXp-surd"},[ - ["span",{style:{"font-size":scale+"%","margin-top":t}},["\u221A"]] - ]); - var root = HTML.Element("span",{className:"MJXp-root"},[ - ["span",{className:"MJXp-rule",style:{"border-top":".08em solid"}}] - ]); - var W = (1.2/2.2)*scale/100; // width-of-surd = (height/H-to-W-ratio) - if (scale > 150) { - var sX = Math.ceil(150/scale * 10); - surd.firstChild.className = "MJXp-right MJXp-scale"+sX; - surd.firstChild.style.marginLeft = PHTML.Em(W*(sX/10-1)/scale*100); - W = W*sX/10; - root.firstChild.style.borderTopWidth = PHTML.Em(.08/Math.sqrt(sX/10)); - } - root.appendChild(base); - span.appendChild(surd); - span.appendChild(root); - this.PHTML.h = bbox.h + .18; this.PHTML.d = bbox.d; - this.PHTML.w = bbox.w + W; - return span; - } - }); - - MML.mroot.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span,{ - childSpans:true, className:"MJXp-box", forceChild:true, noBBox:true - }); - var rbox = this.PHTMLbboxFor(1), root = span.removeChild(span.lastChild); - var sqrt = this.PHTMLlayoutRoot(HTML.Element("span"),span.firstChild); - root.className = "MJXp-script"; // ### FIXME: should be scriptscript - var scale = parseInt(sqrt.firstChild.firstChild.style.fontSize); - var v = .55*(scale/120) + rbox.d*.8, r = -.6*(scale/120); - if (scale > 150) {r *= .95*Math.ceil(150/scale*10)/10} - root.style.marginRight = PHTML.Em(r); root.style.verticalAlign = PHTML.Em(v); - if (-r > rbox.w*.8) root.style.marginLeft = PHTML.Em(-r-rbox.w*.8); // ### depends on rbox.w - span.appendChild(root); span.appendChild(sqrt); - this.PHTML.w += Math.max(0,rbox.w*.8+r); - this.PHTML.h = Math.max(this.PHTML.h,rbox.h*.8+v); - return span; - }, - PHTMLlayoutRoot: MML.msqrt.prototype.PHTMLlayoutRoot - }); - - MML.mfenced.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLcreateSpan(span); - this.PHTMLhandleStyle(span); - this.PHTMLhandleColor(span); - // - // Make row of open, data, sep, ... data, close - // - this.addFakeNodes(); - this.PHTMLaddChild(span,"open",{}); - for (var i = 0, m = this.data.length; i < m; i++) { - this.PHTMLaddChild(span,"sep"+i,{}); - this.PHTMLaddChild(span,i,{}); - } - this.PHTMLaddChild(span,"close",{}); - // - // Check for streching the elements - // - var H = this.PHTML.h, D = this.PHTML.d; - this.PHTMLstretchChild("open",H,D); - for (i = 0, m = this.data.length; i < m; i++) { - this.PHTMLstretchChild("sep"+i,H,D); - this.PHTMLstretchChild(i,H,D); - } - this.PHTMLstretchChild("close",H,D); - return span; - } - }); - - MML.mrow.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span); - var H = this.PHTML.h, D = this.PHTML.d; - for (var i = 0, m = this.data.length; i < m; i++) this.PHTMLstretchChild(i,H,D); - return span; - } - }); - - MML.mstyle.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span); - this.PHTMLhandleScriptlevel(span); - return span; - } - }); - - MML.TeXAtom.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span); - // ### FIXME: handle TeX class? - span.className = "MJXp-mrow"; - return span; - } - }); - - MML.mtable.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLdefaultSpan(span,{noBBox:true}); - var values = this.getValues("columnalign","rowalign","columnspacing","rowspacing", - "columnwidth","equalcolumns","equalrows", - "columnlines","rowlines","frame","framespacing", - "align","width"); - var SPLIT = MathJax.Hub.SplitList, i, m, j, n; - var CSPACE = SPLIT(values.columnspacing), - RSPACE = SPLIT(values.rowspacing), - CALIGN = SPLIT(values.columnalign), - RALIGN = SPLIT(values.rowalign); - for (i = 0, m = CSPACE.length; i < m; i++) {CSPACE[i] = PHTML.length2em(CSPACE[i])} - for (i = 0, m = RSPACE.length; i < m; i++) {RSPACE[i] = PHTML.length2em(RSPACE[i])} - - var table = HTML.Element("span"); - while (span.firstChild) table.appendChild(span.firstChild); - span.appendChild(table); - var H = 0, W = 0; - for (i = 0, m = this.data.length; i < m; i++) { - var row = this.data[i]; - if (row) { - var rspace = PHTML.arrayEntry(RSPACE,i-1), ralign = PHTML.arrayEntry(RALIGN,i); - var rbox = row.PHTML, rspan = row.PHTMLspanElement(); - rspan.style.verticalAlign = ralign; - var k = (row.type === "mlabeledtr" ? 1 : 0); - for (j = 0, n = row.data.length; j < n-k; j++) { - var cell = row.data[j+k]; - if (cell) { - var cspace = PHTML.arrayEntry(CSPACE,j-1), calign = PHTML.arrayEntry(CALIGN,j); - var cspan = cell.PHTMLspanElement(); - if (j) {rbox.w += cspace; cspan.style.paddingLeft = PHTML.Em(cspace)} - if (i) cspan.style.paddingTop = PHTML.Em(rspace); - cspan.style.textAlign = calign; - } - } - H += rbox.h + rbox.d; if (i) {H += rspace} - if (rbox.w > W) W = rbox.w; - } - } - var bbox = this.PHTML; - bbox.w = W; bbox.h = H/2 + .25; bbox.d = H/2 - .25; - bbox.l = bbox.r = .125; - return span; - } - }); - MML.mlabeledtr.Augment({ - PHTMLdefaultSpan: function (span,options) { - if (!options) options = {}; - span = this.PHTMLcreateSpan(span); - this.PHTMLhandleStyle(span); - this.PHTMLhandleColor(span); - if (this.isToken) this.PHTMLhandleToken(span); - // skip label for now - for (var i = 1, m = this.data.length; i < m; i++) this.PHTMLaddChild(span,i,options); - return span; - } - }); - - MML.semantics.Augment({ - toPreviewHTML: function (span) { - span = this.PHTMLcreateSpan(span); - if (this.data[0]) { - this.data[0].toPreviewHTML(span); - MathJax.Hub.Insert(this.data[0].PHTML||{},this.PHTML); - } - return span; - } - }); - MML.annotation.Augment({toPreviewHTML: function(span) {}}); - MML["annotation-xml"].Augment({toPreviewHTML: function(span) {}}); - - // - // Loading isn't complete until the element jax is modified, - // but can't call loadComplete within the callback for "mml Jax Ready" - // (it would call PreviewHTML's Require routine, asking for the mml jax again) - // so wait until after the mml jax has finished processing. - // - // We also need to wait for the onload handler to run, since the loadComplete - // will call Config and Startup, which need to modify the body. - // - MathJax.Hub.Register.StartupHook("onLoad",function () { - setTimeout(MathJax.Callback(["loadComplete",PHTML,"jax.js"]),0); - }); - }); - - MathJax.Hub.Register.StartupHook("End Cookie", function () { - if (HUB.config.menuSettings.zoom !== "None") - {AJAX.Require("[MathJax]/extensions/MathZoom.js")} - }); - -})(MathJax.Ajax,MathJax.Hub,MathJax.HTML,MathJax.OutputJax.PreviewHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/annotation-xml.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/annotation-xml.js deleted file mode 100644 index 58745898..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/annotation-xml.js +++ /dev/null @@ -1,92 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/autoload/annotation-xml.js - * - * Implements the SVG output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2013-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - SVG = MathJax.OutputJax.SVG; - var BBOX = SVG.BBOX; - - BBOX.FOREIGN = BBOX.Subclass({type: "foreignObject", removeable: false}); - - MML["annotation-xml"].Augment({ - toSVG: function () { - var svg = this.SVG(); this.SVGhandleSpace(svg); - var encoding = this.Get("encoding"); - for (var i = 0, m = this.data.length; i < m; i++) - {svg.Add(this.data[i].toSVG(encoding),svg.w,0)} - svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - } - }); - - MML.xml.Augment({ - toSVG: function (encoding) { - // - // Get size of xml content - // - var span = SVG.textSVG.parentNode; - SVG.mathDiv.style.width = "auto"; // Firefox returns offsetWidth = 0 without this - span.insertBefore(this.div,SVG.textSVG); - var w = this.div.offsetWidth, h = this.div.offsetHeight; - var strut = MathJax.HTML.addElement(this.div,"span",{ - style:{display:"inline-block", overflow:"hidden", height:h+"px", - width:"1px", marginRight:"-1px"} - }); - var d = this.div.offsetHeight - h; h -= d; - this.div.removeChild(strut); - span.removeChild(this.div); SVG.mathDiv.style.width = ""; - // - // Create foreignObject element for the content - // - var scale = 1000/SVG.em; - var svg = BBOX.FOREIGN({ - y:(-h)+"px", width:w+"px", height:(h+d)+"px", - transform:"scale("+scale+") matrix(1 0 0 -1 0 0)" - }); - // - // Add the children to the foreignObject - // - for (var i = 0, m = this.data.length; i < m; i++) - {svg.element.appendChild(this.data[i].cloneNode(true))} - // - // Set the scale and finish up - // - svg.w = w*scale; svg.h = h*scale; svg.d = d*scale; - svg.r = svg.w; svg.l = 0; - svg.Clean(); - this.SVGsaveData(svg); - return svg; - } - }); - - MathJax.Hub.Startup.signal.Post("SVG annotation-xml Ready"); - MathJax.Ajax.loadComplete(SVG.autoloadDir+"/annotation-xml.js"); - -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/maction.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/maction.js deleted file mode 100644 index bf49caf8..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/maction.js +++ /dev/null @@ -1,201 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/autoload/maction.js - * - * Implements the SVG output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - SVG = MathJax.OutputJax["SVG"]; - - var currentTip, hover, clear; - - // - // Add configuration for tooltips - // - var CONFIG = SVG.config.tooltip = MathJax.Hub.Insert({ - delayPost: 600, delayClear: 600, - offsetX: 10, offsetY: 5 - },SVG.config.tooltip||{}); - - - MML.maction.Augment({ - SVGtooltip: MathJax.HTML.addElement(document.body,"div",{id:"MathJax_SVG_Tooltip"}), - - toSVG: function (HW,D) { - this.SVGgetStyles(); - var svg = this.SVG(); - var selected = this.selected(); - if (selected.type == "null") {this.SVGsaveData(svg);return svg;} - svg.Add(this.SVGdataStretched(this.Get("selection")-1,HW,D)); - svg.removeable = false; - this.SVGhandleHitBox(svg); - this.SVGhandleSpace(svg); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - }, - SVGhandleHitBox: function (svg) { - var frame = SVG.Element("rect", - {width:svg.w, height:svg.h+svg.d, y:-svg.d, fill:"none", "pointer-events":"all"}); - svg.element.insertBefore(frame,svg.element.firstChild); - var type = this.Get("actiontype"); - if (this.SVGaction[type]) - {this.SVGaction[type].call(this,svg,svg.element,this.Get("selection"))} - }, - SVGstretchH: MML.mbase.prototype.SVGstretchH, - SVGstretchV: MML.mbase.prototype.SVGstretchV, - - // - // Implementations for the various actions - // - SVGaction: { - toggle: function (svg,frame,selection) { - this.selection = selection; - SVG.Element(frame,{cursor:"pointer"}); - frame.onclick = MathJax.Callback(["SVGclick",this]); - }, - - statusline: function (svg,frame,selection) { - frame.onmouseover = MathJax.Callback(["SVGsetStatus",this]), - frame.onmouseout = MathJax.Callback(["SVGclearStatus",this]); - frame.onmouseover.autoReset = frame.onmouseout.autoReset = true; - }, - - tooltip: function(svg,frame,selection) { - frame.onmouseover = MathJax.Callback(["SVGtooltipOver",this]), - frame.onmouseout = MathJax.Callback(["SVGtooltipOut",this]); - frame.onmouseover.autoReset = frame.onmouseout.autoReset = true; - } - }, - - // - // Handle a click on the maction element - // (remove the original rendering and rerender) - // - SVGclick: function (event) { - this.selection++; - if (this.selection > this.data.length) {this.selection = 1} - var math = this; while (math.type !== "math") {math = math.inherit} - var jax = MathJax.Hub.getJaxFor(math.inputID); //, hover = !!jax.hover; - jax.Update(); - /* - * if (hover) { - * var span = document.getElementById(jax.inputID+"-Span"); - * MathJax.Extension.MathEvents.Hover.Hover(jax,span); - * } - */ - return MathJax.Extension.MathEvents.Event.False(event); - }, - - // - // Set/Clear the window status message - // - SVGsetStatus: function (event) { - // FIXME: Do something better with non-token elements - this.messageID = MathJax.Message.Set - ((this.data[1] && this.data[1].isToken) ? - this.data[1].data.join("") : this.data[1].toString()); - }, - SVGclearStatus: function (event) { - if (this.messageID) {MathJax.Message.Clear(this.messageID,0)} - delete this.messageID; - }, - - // - // Handle tooltips - // - SVGtooltipOver: function (event) { - if (!event) {event = window.event} - if (clear) {clearTimeout(clear); clear = null} - if (hover) {clearTimeout(hover)} - var x = event.pageX; var y = event.pageY; - if (x == null) { - x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; - y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; - } - var callback = MathJax.Callback(["SVGtooltipPost",this,x+CONFIG.offsetX,y+CONFIG.offsetY]) - hover = setTimeout(callback,CONFIG.delayPost); - }, - SVGtooltipOut: function (event) { - if (hover) {clearTimeout(hover); hover = null} - if (clear) {clearTimeout(clear)} - var callback = MathJax.Callback(["SVGtooltipClear",this,80]); - clear = setTimeout(callback,CONFIG.delayClear); - }, - SVGtooltipPost: function (x,y) { - hover = null; if (clear) {clearTimeout(clear); clear = null} - - // - // Get the tip div and show it at the right location, then clear its contents - // - var tip = this.SVGtooltip; - tip.style.display = "block"; tip.style.opacity = ""; - if (this === currentTip) return; - tip.style.left = x+"px"; tip.style.top = y+"px"; - tip.innerHTML = ''; var span = MathJax.HTML.addElement(tip,"span"); - - // - // Get the sizes from the jax (FIXME: should calculate again?) - // - var math = this; while (math.type !== "math") {math = math.inherit} - var jax = MathJax.Hub.getJaxFor(math.inputID); - this.em = MML.mbase.prototype.em = jax.SVG.em; this.ex = jax.SVG.ex; - this.linebreakWidth = jax.SVG.lineWidth; this.cwidth = jax.SVG.cwidth; - - // - // Make a new math element and temporarily move the tooltip to it - // Display the math containing the tip, but check for errors - // Then put the tip back into the maction element - // - var mml = this.data[1]; - math = MML.math(mml); - try {math.toSVG(span,tip)} catch(err) { - this.SetData(1,mml); tip.style.display = "none"; - if (!err.restart) {throw err} - MathJax.Callback.After(["SVGtooltipPost",this,x,y],err.restart); - return; - } - this.SetData(1,mml); - - currentTip = this; - }, - SVGtooltipClear: function (n) { - var tip = this.SVGtooltip; - if (n <= 0) { - tip.style.display = "none"; - tip.style.opacity = ""; - clear = null; - } else { - tip.style.opacity = n/100; - clear = setTimeout(MathJax.Callback(["SVGtooltipClear",this,n-20]),50); - } - } - }); - - MathJax.Hub.Startup.signal.Post("SVG maction Ready"); - MathJax.Ajax.loadComplete(SVG.autoloadDir+"/maction.js"); - -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/menclose.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/menclose.js deleted file mode 100644 index ac0f2f98..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/menclose.js +++ /dev/null @@ -1,233 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/autoload/menclose.js - * - * Implements the SVG output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - SVG = MathJax.OutputJax.SVG, - BBOX = SVG.BBOX; - - BBOX.ELLIPSE = BBOX.Subclass({ - type: "ellipse", removeable: false, - Init: function (h,d,w,t,color,def) { - if (def == null) {def = {}}; def.fill = "none"; - if (color) {def.stroke = color} - def["stroke-width"] = t.toFixed(2).replace(/\.?0+$/,""); - def.cx = Math.floor(w/2); def.cy = Math.floor((h+d)/2-d); - def.rx = Math.floor((w-t)/2); def.ry = Math.floor((h+d-t)/2); - this.SUPER(arguments).Init.call(this,def); - this.w = this.r = w; this.h = this.H = h; - this.d = this.D = d; this.l = 0; - } - }); - - BBOX.DLINE = BBOX.Subclass({ - type: "line", removeable: false, - Init: function (h,d,w,t,color,updown,def) { - if (def == null) {def = {}}; def.fill = "none"; - if (color) {def.stroke = color} - def["stroke-width"] = t.toFixed(2).replace(/\.?0+$/,""); - if (updown == "up") { - def.x1 = Math.floor(t/2); def.y1 = Math.floor(t/2-d); - def.x2 = Math.floor(w-t/2); def.y2 = Math.floor(h-t/2); - } else { - def.x1 = Math.floor(t/2); def.y1 = Math.floor(h-t/2); - def.x2 = Math.floor(w-t/2); def.y2 = Math.floor(t/2-d); - } - this.SUPER(arguments).Init.call(this,def); - this.w = this.r = w; this.h = this.H = h; - this.d = this.D = d; this.l = 0; - } - }); - - BBOX.FPOLY = BBOX.Subclass({ - type: "polygon", removeable: false, - Init: function (points,color,def) { - if (def == null) {def = {}} - if (color) {def.fill = color} - var P = [], mx = 100000000, my = mx, Mx = -mx, My = Mx; - for (var i = 0, m = points.length; i < m; i++) { - var x = points[i][0], y = points[i][1]; - if (x > Mx) {Mx = x}; if (x < mx) {mx = x} - if (y > My) {My = y}; if (y < my) {my = y} - P.push(Math.floor(x)+","+Math.floor(y)); - } - def.points = P.join(" "); - this.SUPER(arguments).Init.call(this,def); - this.w = this.r = Mx; this.h = this.H = My; - this.d = this.D = -my; this.l = -mx; - } - }); - - BBOX.PPATH = BBOX.Subclass({ - type: "path", removeable: false, - Init: function (h,d,w,p,t,color,def) { - if (def == null) {def = {}}; def.fill = "none"; - if (color) {def.stroke = color} - def["stroke-width"] = t.toFixed(2).replace(/\.?0+$/,""); - def.d = p; - this.SUPER(arguments).Init.call(this,def); - this.w = this.r = w; this.h = this.H = h+d; - this.d = this.D = this.l = 0; this.y = -d; - } - }); - - MML.menclose.Augment({ - toSVG: function (HW,DD) { - this.SVGgetStyles(); - - var svg = this.SVG(), scale = this.SVGgetScale(svg); - this.SVGhandleSpace(svg); - var base = this.SVGdataStretched(0,HW,DD); - - var values = this.getValues("notation","thickness","padding","mathcolor","color"); - if (values.color && !this.mathcolor) {values.mathcolor = values.color} - if (values.thickness == null) {values.thickness = ".075em"} - if (values.padding == null) {values.padding = ".2em"} - var mu = this.SVGgetMu(svg); - var p = SVG.length2em(values.padding,mu,1/SVG.em) * scale; // padding for enclosure - var t = SVG.length2em(values.thickness,mu,1/SVG.em); // thickness of lines - t = Math.max(1/SVG.em,t); // see issue #414 - var H = base.h+p+t, D = base.d+p+t, W = base.w+2*(p+t); - var dx = 0, w, h, i, m, borders = [false,false,false,false]; - - // perform some reduction e.g. eliminate duplicate notations. - var nl = MathJax.Hub.SplitList(values.notation), notation = {}; - for (i = 0, m = nl.length; i < m; i++) notation[nl[i]] = true; - if (notation[MML.NOTATION.UPDIAGONALARROW]) notation[MML.NOTATION.UPDIAGONALSTRIKE] = false; - - for (var n in notation) { - if (!notation.hasOwnProperty(n) || !notation[n]) continue; - switch (n) { - case MML.NOTATION.BOX: - borders = [true,true,true,true]; - break; - - case MML.NOTATION.ROUNDEDBOX: - svg.Add(BBOX.FRAME(H,D,W,t,"solid",values.mathcolor, - {rx:Math.floor(Math.min(H+D-t,W-t)/4)})); - break; - - case MML.NOTATION.CIRCLE: - svg.Add(BBOX.ELLIPSE(H,D,W,t,values.mathcolor)); - break; - - case MML.NOTATION.ACTUARIAL: - borders[0] = true; - case MML.NOTATION.RIGHT: - borders[1] = true; - break; - - case MML.NOTATION.LEFT: - borders[3] = true; - break; - - case MML.NOTATION.TOP: - borders[0] = true; - break; - - case MML.NOTATION.BOTTOM: - borders[2] = true; - break; - - case MML.NOTATION.VERTICALSTRIKE: - svg.Add(BBOX.VLINE(H+D,t,"solid",values.mathcolor),(W-t)/2,-D); - break; - - case MML.NOTATION.HORIZONTALSTRIKE: - svg.Add(BBOX.HLINE(W,t,"solid",values.mathcolor),0,(H+D-t)/2-D); - break; - - case MML.NOTATION.UPDIAGONALSTRIKE: - svg.Add(BBOX.DLINE(H,D,W,t,values.mathcolor,"up")); - break; - - case MML.NOTATION.UPDIAGONALARROW: - var l = Math.sqrt(W*W + (H+D)*(H+D)), f = 1/l * 10/SVG.em * t/.075; - w = W * f; h = (H+D) * f; var x = .4*h; - svg.Add(BBOX.DLINE(H-.5*h,D,W-.5*w,t,values.mathcolor,"up")); - svg.Add(BBOX.FPOLY( - [[x+w,h], [x-.4*h,.4*w], [x+.3*w,.3*h], [x+.4*h,-.4*w], [x+w,h]], - values.mathcolor),W-w-x,H-h); - break; - - case MML.NOTATION.DOWNDIAGONALSTRIKE: - svg.Add(BBOX.DLINE(H,D,W,t,values.mathcolor,"down")); - break; - - case MML.NOTATION.PHASORANGLE: - borders[2] = true; W -= 2*p; p = (H+D)/2; W += p; - svg.Add(BBOX.DLINE(H,D,p,t,values.mathcolor,"up")); - break; - - case MML.NOTATION.MADRUWB: - borders[1] = borders[2] = true; - break; - - case MML.NOTATION.RADICAL: - svg.Add(BBOX.PPATH(H,D,W, - "M "+this.SVGxy(t/2,.4*(H+D)) + - " L "+this.SVGxy(p,t/2) + - " L "+this.SVGxy(2*p,H+D-t/2) + - " L "+this.SVGxy(W,H+D-t/2), - t,values.mathcolor),0,t); - dx = p; - break; - - case MML.NOTATION.LONGDIV: - svg.Add(BBOX.PPATH(H,D,W, - "M "+this.SVGxy(t/2,t/2) + - " a "+this.SVGxy(p,(H+D)/2-2*t) + " 0 0,1 " + this.SVGxy(t/2,H+D-t) + - " L "+this.SVGxy(W,H+D-t/2), - t,values.mathcolor),0,t/2); - dx = p; - break; - } - } - var sides = [["H",W,0,H-t],["V",H+D,W-t,-D],["H",W,0,-D],["V",H+D,0,-D]]; - for (i = 0; i < 4; i++) { - if (borders[i]) { - var side = sides[i]; - svg.Add(BBOX[side[0]+"LINE"](side[1],t,"solid",values.mathcolor),side[2],side[3]); - } - } - svg.Add(base,dx+p+t,0,false,true); - svg.Clean(); - this.SVGhandleSpace(svg); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - }, - - SVGxy: function (x,y) {return Math.floor(x)+","+Math.floor(y)} - - }); - - MathJax.Hub.Startup.signal.Post("SVG menclose Ready"); - MathJax.Ajax.loadComplete(SVG.autoloadDir+"/menclose.js"); - -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mglyph.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mglyph.js deleted file mode 100644 index f181cc7a..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mglyph.js +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/autoload/mglyph.js - * - * Implements the SVG output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - SVG = MathJax.OutputJax.SVG, - BBOX = SVG.BBOX, - LOCALE = MathJax.Localization; - - var XLINKNS = "http://www.w3.org/1999/xlink"; - - BBOX.MGLYPH = BBOX.Subclass({ - type: "image", removeable: false, - Init: function (img,w,h,align,mu,def) { - if (def == null) {def = {}} - var W = img.width*1000/SVG.em, H = img.height*1000/SVG.em; - var WW = W, HH = H, y = 0; - if (w !== "") {W = SVG.length2em(w,mu,WW); H = (WW ? W/WW * HH : 0)} - if (h !== "") {H = SVG.length2em(h,mu,HH); if (w === "") {W = (HH ? H/HH * WW : 0)}} - if (align !== "" && align.match(/\d/)) {y = SVG.length2em(align,mu); def.y = -y} - def.height = Math.floor(H); def.width = Math.floor(W); - def.transform = "translate(0,"+H+") matrix(1 0 0 -1 0 0)"; - def.preserveAspectRatio = "none"; - this.SUPER(arguments).Init.call(this,def); - this.element.setAttributeNS(XLINKNS,"href",img.SRC); - this.w = this.r = W; this.h = this.H = H + y; - this.d = this.D = -y; this.l = 0; - } - }); - - MML.mglyph.Augment({ - toSVG: function (variant,scale) { - this.SVGgetStyles(); var svg = this.SVG(), img, err; - this.SVGhandleSpace(svg); - var values = this.getValues("src","width","height","valign","alt"); - if (values.src === "") { - values = this.getValues("index","fontfamily"); - if (values.index) { - if (!scale) {scale = this.SVGgetScale()} - var def = {}; if (values.fontfamily) {def["font-family"] = values.fontfamily} - svg.Add(BBOX.TEXT(scale,String.fromCharCode(values.index),def)); - } - } else { - if (!this.img) {this.img = MML.mglyph.GLYPH[values.src]} - if (!this.img) { - this.img = MML.mglyph.GLYPH[values.src] = {img: new Image(), status: "pending"}; - img = this.img.img; - img.onload = MathJax.Callback(["SVGimgLoaded",this]); - img.onerror = MathJax.Callback(["SVGimgError",this]); - img.src = img.SRC = values.src; - MathJax.Hub.RestartAfter(img.onload); - } - if (this.img.status !== "OK") { - err = MML.Error( - LOCALE._(["MathML","BadMglyph"],"Bad mglyph: %1",values.src), - {mathsize:"75%"}); - this.Append(err); svg = err.toSVG(); this.data.pop(); - } else { - var mu = this.SVGgetMu(svg); - svg.Add(BBOX.MGLYPH(this.img.img,values.width,values.height,values.valign,mu, - {alt:values.alt, title:values.alt})); - } - } - svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - }, - SVGimgLoaded: function (event,status) { - if (typeof(event) === "string") {status = event} - this.img.status = (status || "OK") - }, - SVGimgError: function () {this.img.img.onload("error")} - },{ - GLYPH: {} // global list of all loaded glyphs - }); - - MathJax.Hub.Startup.signal.Post("SVG mglyph Ready"); - MathJax.Ajax.loadComplete(SVG.autoloadDir+"/mglyph.js"); - -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mmultiscripts.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mmultiscripts.js deleted file mode 100644 index 94de90fa..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mmultiscripts.js +++ /dev/null @@ -1,130 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/autoload/mmultiscripts.js - * - * Implements the SVG output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - SVG = MathJax.OutputJax.SVG; - - MML.mmultiscripts.Augment({ - toSVG: function (HW,D) { - this.SVGgetStyles(); - var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); - var base = (this.data[this.base] ? this.SVGdataStretched(this.base,HW,D) : SVG.BBOX.G().Clean()); - var x_height = SVG.TeX.x_height * scale, - s = SVG.TeX.scriptspace * scale * .75; // FIXME: .75 can be removed when IC is right? - - var BOX = this.SVGgetScripts(s); - var sub = BOX[0], sup = BOX[1], presub = BOX[2], presup = BOX[3]; - - var sscale = (this.data[1]||this).SVGgetScale(); - var q = SVG.TeX.sup_drop * sscale, r = SVG.TeX.sub_drop * sscale; - var u = base.h - q, v = base.d + r, delta = 0, p; - if (base.ic) {delta = base.ic} - if (this.data[this.base] && - (this.data[this.base].type === "mi" || this.data[this.base].type === "mo")) { - if (SVG.isChar(this.data[this.base].data.join("")) && base.scale === 1 && - !base.stretched && !this.data[this.base].Get("largeop")) {u = v = 0} - } - var min = this.getValues("subscriptshift","superscriptshift"), mu = this.SVGgetMu(svg); - min.subscriptshift = (min.subscriptshift === "" ? 0 : SVG.length2em(min.subscriptshift,mu)); - min.superscriptshift = (min.superscriptshift === "" ? 0 : SVG.length2em(min.superscriptshift,mu)); - - var dx = 0; - if (presub) {dx = presub.w+delta} else if (presup) {dx = presup.w-delta} - svg.Add(base,Math.max(0,dx),0); - - if (!sup && !presup) { - v = Math.max(v,SVG.TeX.sub1*scale,min.subscriptshift); - if (sub) {v = Math.max(v,sub.h-(4/5)*x_height)} - if (presub) {v = Math.max(v,presub.h-(4/5)*x_height)} - if (sub) {svg.Add(sub,dx+base.w+s-delta,-v)} - if (presub) {svg.Add(presub,0,-v)} - } else { - if (!sub && !presub) { - var values = this.getValues("displaystyle","texprimestyle"); - p = SVG.TeX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; - u = Math.max(u,p*scale,min.superscriptshift); - if (sup) {u = Math.max(u,sup.d+(1/4)*x_height)} - if (presup) {u = Math.max(u,presup.d+(1/4)*x_height)} - if (sup) {svg.Add(sup,dx+base.w+s,u)} - if (presup) {svg.Add(presup,0,u)} - } else { - v = Math.max(v,SVG.TeX.sub2*scale); - var t = SVG.TeX.rule_thickness * scale; - var h = (sub||presub).h, d = (sup||presup).d; - if (presub) {h = Math.max(h,presub.h)} - if (presup) {d = Math.max(d,presup.d)} - if ((u - d) - (h - v) < 3*t) { - v = 3*t - u + d + h; q = (4/5)*x_height - (u - d); - if (q > 0) {u += q; v -= q} - } - u = Math.max(u,min.superscriptshift); v = Math.max(v,min.subscriptshift); - if (sup) {svg.Add(sup,dx+base.w+s,u)} - if (presup) {svg.Add(presup,dx+delta-presup.w,u)} - if (sub) {svg.Add(sub,dx+base.w+s-delta,-v)} - if (presub) {svg.Add(presub,dx-presub.w,-v)} - } - } - svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - var data = this.SVGdata; - data.dx = dx; data.s = s; data.u = u, data.v = v; data.delta = delta; - return svg; - }, - SVGgetScripts: function (s) { - var sup, sub, BOX = []; - var i = 1, m = this.data.length, W = 0; - for (var k = 0; k < 4; k += 2) { - while (i < m && (this.data[i]||{}).type !== "mprescripts") { - var box = [null,null,null,null]; - for (var j = k; j < k+2; j++) { - if (this.data[i] && this.data[i].type !== "none" && this.data[i].type !== "mprescripts") { - if (!BOX[j]) {BOX[j] = SVG.BBOX.G()} - box[j] = this.data[i].toSVG(); - } - if ((this.data[i]||{}).type !== "mprescripts") i++; - } - var isPre = (k === 2); - if (isPre) W += Math.max((box[k]||{w:0}).w,(box[k+1]||{w:0}).w); - if (box[k]) BOX[k].Add(box[k].With({x:W-(isPre?box[k].w:0)})); - if (box[k+1]) BOX[k+1].Add(box[k+1].With({x:W-(isPre?box[k+1].w:0)})); - sub = BOX[k]||{w:0}; sup = BOX[k+1]||{w:0}; - sub.w = sup.w = W = Math.max(sub.w,sup.w); - } - i++; W = 0; - } - for (j = 0; j < 4; j++) {if (BOX[j]) {BOX[j].w += s; BOX[j].Clean()}} - return BOX; - } - }); - - MathJax.Hub.Startup.signal.Post("SVG mmultiscripts Ready"); - MathJax.Ajax.loadComplete(SVG.autoloadDir+"/mmultiscripts.js"); - -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/ms.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/ms.js deleted file mode 100644 index a14407cd..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/ms.js +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/autoload/ms.js - * - * Implements the SVG output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - SVG = MathJax.OutputJax.SVG; - - MML.ms.Augment({ - toSVG: function () { - this.SVGgetStyles(); - var svg = this.SVG(); this.SVGhandleSpace(svg); - var values = this.getValues("lquote","rquote","mathvariant"); - if (!this.hasValue("lquote") || values.lquote === '"') values.lquote = "\u201C"; - if (!this.hasValue("rquote") || values.rquote === '"') values.rquote = "\u201D"; - if (values.lquote === "\u201C" && values.mathvariant === "monospace") values.lquote = '"'; - if (values.rquote === "\u201D" && values.mathvariant === "monospace") values.rquote = '"'; - var variant = this.SVGgetVariant(), scale = this.SVGgetScale(); - var text = values.lquote+this.data.join("")+values.rquote; // FIXME: handle mglyph? - svg.Add(this.SVGhandleVariant(variant,scale,text)); - svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - } - }); - - MathJax.Hub.Startup.signal.Post("SVG ms Ready"); - MathJax.Ajax.loadComplete(SVG.autoloadDir+"/ms.js"); - -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mtable.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mtable.js deleted file mode 100644 index d1b3b3a7..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mtable.js +++ /dev/null @@ -1,389 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/autoload/mtable.js - * - * Implements the SVG output for elements. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - SVG = MathJax.OutputJax.SVG, - BBOX = SVG.BBOX; - - MML.mtable.Augment({ - toSVG: function (span) { - this.SVGgetStyles(); - var svg = this.SVG(), scale = this.SVGgetScale(svg); - if (this.data.length === 0) {this.SVGsaveData(svg);return svg} - var values = this.getValues("columnalign","rowalign","columnspacing","rowspacing", - "columnwidth","equalcolumns","equalrows", - "columnlines","rowlines","frame","framespacing", - "align","useHeight","width","side","minlabelspacing"); - // Handle relative width as fixed width in relation to container - if (values.width.match(/%$/)) - {svg.width = values.width = SVG.Em((SVG.cwidth/1000)*(parseFloat(values.width)/100))} - - var mu = this.SVGgetMu(svg); - var LABEL = -1; - - var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, - m, M, s, row, cell, mo, HD; - var LH = SVG.FONTDATA.lineH * scale * values.useHeight, - LD = SVG.FONTDATA.lineD * scale * values.useHeight; - - // - // Create cells and measure columns and rows - // - for (i = 0, m = this.data.length; i < m; i++) { - row = this.data[i]; s = (row.type === "mlabeledtr" ? LABEL : 0); - A[i] = []; H[i] = LH; D[i] = LD; - for (j = s, M = row.data.length + s; j < M; j++) { - if (W[j] == null) { - if (j > J) {J = j} - C[j] = BBOX.G(); - W[j] = -SVG.BIGDIMEN; - } - cell = row.data[j-s]; - A[i][j] = cell.toSVG(); -// if (row.data[j-s].isMultiline) {A[i][j].style.width = "100%"} - if (cell.isEmbellished()) { - mo = cell.CoreMO(); - var min = mo.Get("minsize",true); - if (min) { - if (mo.SVGcanStretch("Vertical")) { - HD = mo.SVGdata.h + mo.SVGdata.d; - if (HD) { - min = SVG.length2em(min,mu,HD); - if (min*mo.SVGdata.h/HD > H[i]) {H[i] = min*mo.SVGdata.h/HD} - if (min*mo.SVGdata.d/HD > D[i]) {D[i] = min*mo.SVGdata.d/HD} - } - } else if (mo.SVGcanStretch("Horizontal")) { - min = SVG.length2em(min,mu,mo.SVGdata.w); - if (min > W[j]) {W[j] = min} - } - } - } - if (A[i][j].h > H[i]) {H[i] = A[i][j].h} - if (A[i][j].d > D[i]) {D[i] = A[i][j].d} - if (A[i][j].w > W[j]) {W[j] = A[i][j].w} - } - } - - // - // Determine spacing and alignment - // - var SPLIT = MathJax.Hub.SplitList; - var CSPACE = SPLIT(values.columnspacing), - RSPACE = SPLIT(values.rowspacing), - CALIGN = SPLIT(values.columnalign), - RALIGN = SPLIT(values.rowalign), - CLINES = SPLIT(values.columnlines), - RLINES = SPLIT(values.rowlines), - CWIDTH = SPLIT(values.columnwidth), - RCALIGN = []; - for (i = 0, m = CSPACE.length; i < m; i++) {CSPACE[i] = SVG.length2em(CSPACE[i],mu)} - for (i = 0, m = RSPACE.length; i < m; i++) {RSPACE[i] = SVG.length2em(RSPACE[i],mu)} - while (CSPACE.length < J) {CSPACE.push(CSPACE[CSPACE.length-1])} - while (CALIGN.length <= J) {CALIGN.push(CALIGN[CALIGN.length-1])} - while (CLINES.length < J) {CLINES.push(CLINES[CLINES.length-1])} - while (CWIDTH.length <= J) {CWIDTH.push(CWIDTH[CWIDTH.length-1])} - while (RSPACE.length < A.length) {RSPACE.push(RSPACE[RSPACE.length-1])} - while (RALIGN.length <= A.length) {RALIGN.push(RALIGN[RALIGN.length-1])} - while (RLINES.length < A.length) {RLINES.push(RLINES[RLINES.length-1])} - if (C[LABEL]) { - CALIGN[LABEL] = (values.side.substr(0,1) === "l" ? "left" : "right"); - CSPACE[LABEL] = -W[LABEL]; - } - // - // Override row data - // - for (i = 0, m = A.length; i < m; i++) { - row = this.data[i]; RCALIGN[i] = []; - if (row.rowalign) {RALIGN[i] = row.rowalign} - if (row.columnalign) { - RCALIGN[i] = SPLIT(row.columnalign); - while (RCALIGN[i].length <= J) {RCALIGN[i].push(RCALIGN[i][RCALIGN[i].length-1])} - } - } - - // - // Handle equal heights - // - if (values.equalrows) { - // FIXME: should really be based on row align (below is for baseline) - var Hm = Math.max.apply(Math,H), Dm = Math.max.apply(Math,D); - for (i = 0, m = A.length; i < m; i++) - {s = ((Hm + Dm) - (H[i] + D[i])) / 2; H[i] += s; D[i] += s} - } - - // FIXME: do background colors for entire cell (include half the intercolumn space?) - - // - // Determine array total height - // - HD = H[0] + D[A.length-1]; - for (i = 0, m = A.length-1; i < m; i++) - {HD += Math.max(0,D[i]+H[i+1]+RSPACE[i])} - // - // Determine frame and line sizes - // - var fx = 0, fy = 0, fW, fH = HD; - if (values.frame !== "none" || - (values.columnlines+values.rowlines).match(/solid|dashed/)) { - var frameSpacing = SPLIT(values.framespacing); - if (frameSpacing.length != 2) { - // invalid attribute value: use the default. - frameSpacing = SPLIT(this.defaults.framespacing); - } - fx = SVG.length2em(frameSpacing[0],mu); - fy = SVG.length2em(frameSpacing[1],mu); - fH = HD + 2*fy; // fW waits until svg.w is determined - } - // - // Compute alignment - // - var Y, fY, n = ""; - if (typeof(values.align) !== "string") {values.align = String(values.align)} - if (values.align.match(/(top|bottom|center|baseline|axis)( +(-?\d+))?/)) - {n = RegExp.$3||""; values.align = RegExp.$1} else {values.align = this.defaults.align} - if (n !== "") { - // - // Find the height of the given row - // - n = parseInt(n); - if (n < 0) {n = A.length + 1 + n} - if (n < 1) {n = 1} else if (n > A.length) {n = A.length} - Y = 0; fY = -(HD + fy) + H[0]; - for (i = 0, m = n-1; i < m; i++) { - // FIXME: Should handle values.align for final row - var dY = Math.max(0,D[i]+H[i+1]+RSPACE[i]); - Y += dY; fY += dY; - } - } else { - Y = ({ - top: -(H[0] + fy), - bottom: HD + fy - H[0], - center: HD/2 - H[0], - baseline: HD/2 - H[0], - axis: HD/2 + SVG.TeX.axis_height*scale - H[0] - })[values.align]; - fY = ({ - top: -(HD + 2*fy), - bottom: 0, - center: -(HD/2 + fy), - baseline: -(HD/2 + fy), - axis: SVG.TeX.axis_height*scale - HD/2 - fy - })[values.align]; - } - - var WW, WP = 0, Wt = 0, Wp = 0, p = 0, f = 0, P = [], F = [], Wf = 1; - // - if (values.equalcolumns && values.width !== "auto") { - // - // Handle equalcolumns for percent-width and fixed-width tables - // - - // Get total width minus column spacing - WW = SVG.length2em(values.width,mu); - for (i = 0, m = Math.min(J,CSPACE.length); i < m; i++) {WW -= CSPACE[i]} - // Determine individual column widths - WW /= J; - for (i = 0, m = Math.min(J+1,CWIDTH.length); i < m; i++) {W[i] = WW} - } else { - // - // Get column widths for fit and percentage columns - // - // Calculate the natural widths and percentage widths, - // while keeping track of the fit and percentage columns - for(i = 0, m = Math.min(J+1,CWIDTH.length); i < m; i++) { - if (CWIDTH[i] === "auto") {Wt += W[i]} - else if (CWIDTH[i] === "fit") {F[f] = i; f++; Wt += W[i]} - else if (CWIDTH[i].match(/%$/)) - {P[p] = i; p++; Wp += W[i]; WP += SVG.length2em(CWIDTH[i],mu,1)} - else {W[i] = SVG.length2em(CWIDTH[i],mu); Wt += W[i]} - } - // Get the full width (excluding inter-column spacing) - if (values.width === "auto") { - if (WP > .98) {Wf = Wp/(Wt+Wp); WW = Wt + Wp} else {WW = Wt / (1-WP)} - } else { - WW = Math.max(Wt + Wp, SVG.length2em(values.width,mu)); - for (i = 0, m = Math.min(J,CSPACE.length); i < m; i++) {WW -= CSPACE[i]} - } - // Determine the relative column widths - for (i = 0, m = P.length; i < m; i++) { - W[P[i]] = SVG.length2em(CWIDTH[P[i]],mu,WW*Wf); Wt += W[P[i]]; - } - // Stretch fit columns, if any, otherwise stretch (or shrink) everything - if (Math.abs(WW - Wt) > .01) { - if (f && WW > Wt) { - WW = (WW - Wt) / f; for (i = 0, m = F.length; i < m; i++) {W[F[i]] += WW} - } else {WW = WW/Wt; for (j = 0; j <= J; j++) {W[j] *= WW}} - } - // - // Handle equal columns - // - if (values.equalcolumns) { - var Wm = Math.max.apply(Math,W); - for (j = 0; j <= J; j++) {W[j] = Wm} - } - } - - // - // Lay out array columns - // - var y = Y, dy, align; s = (C[LABEL] ? LABEL : 0); - for (j = s; j <= J; j++) { - C[j].w = W[j]; - for (i = 0, m = A.length; i < m; i++) { - if (A[i][j]) { - s = (this.data[i].type === "mlabeledtr" ? LABEL : 0); - cell = this.data[i].data[j-s]; - if (cell.SVGcanStretch("Horizontal")) { - A[i][j] = cell.SVGstretchH(W[j]); - } else if (cell.SVGcanStretch("Vertical")) { - mo = cell.CoreMO(); - var symmetric = mo.symmetric; mo.symmetric = false; - A[i][j] = cell.SVGstretchV(H[i],D[i]); - mo.symmetric = symmetric; - } - align = cell.rowalign||this.data[i].rowalign||RALIGN[i]; - dy = ({top: H[i] - A[i][j].h, - bottom: A[i][j].d - D[i], - center: ((H[i]-D[i]) - (A[i][j].h-A[i][j].d))/2, - baseline: 0, axis: 0})[align] || 0; // FIXME: handle axis better? - align = (cell.columnalign||RCALIGN[i][j]||CALIGN[j]) - C[j].Align(A[i][j],align,0,y+dy); - } - if (i < A.length-1) {y -= Math.max(0,D[i]+H[i+1]+RSPACE[i])} - } - y = Y; - } - - // - // Place the columns and add column lines - // - var lw = 1.5*SVG.em; - var x = fx - lw/2; - for (j = 0; j <= J; j++) { - svg.Add(C[j],x,0); x += W[j] + CSPACE[j]; - if (CLINES[j] !== "none" && j < J && j !== LABEL) - {svg.Add(BBOX.VLINE(fH,lw,CLINES[j]),x-CSPACE[j]/2,fY)} - } - svg.w += fx; svg.d = -fY; svg.h = fH+fY; - fW = svg.w; - - // - // Add frame - // - if (values.frame !== "none") { - svg.Add(BBOX.HLINE(fW,lw,values.frame),0,fY+fH-lw); - svg.Add(BBOX.HLINE(fW,lw,values.frame),0,fY); - svg.Add(BBOX.VLINE(fH,lw,values.frame),0,fY); - svg.Add(BBOX.VLINE(fH,lw,values.frame),fW-lw,fY); - } - - // - // Add row lines - // - y = Y - lw/2; - for (i = 0, m = A.length-1; i < m; i++) { - dy = Math.max(0,D[i]+H[i+1]+RSPACE[i]); - if (RLINES[i] !== MML.LINES.NONE && RLINES[i] !== "") - {svg.Add(BBOX.HLINE(fW,lw,RLINES[i]),0,y-D[i]-(dy-D[i]-H[i+1])/2)} - y -= dy; - } - - // - // Finish the table - // - svg.Clean(); - this.SVGhandleSpace(svg); - this.SVGhandleColor(svg); - - // - // Place the labels, if any - // - if (C[LABEL]) { - svg.tw = Math.max(svg.w,svg.r) - Math.min(0,svg.l); - var indent = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); - if (indent.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) {indent.indentalign = indent.indentalignfirst} - if (indent.indentalign === MML.INDENTALIGN.AUTO) {indent.indentalign = this.displayAlign} - if (indent.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) {indent.indentshift = indent.indentshiftfirst} - if (indent.indentshift === "auto" || indent.indentshift === "") {indent.indentshift = "0"} - var shift = SVG.length2em(indent.indentshift,mu,SVG.cwidth); - var labelspace = SVG.length2em(values.minlabelspacing,mu,SVG.cwidth); - var labelW = labelspace + C[LABEL].w, labelshift = 0, tw = svg.w; - var dIndent = SVG.length2em(this.displayIndent,mu,SVG.cwidth); - s = (CALIGN[LABEL] === MML.INDENTALIGN.RIGHT ? -1 : 1); - if (indent.indentalign === MML.INDENTALIGN.CENTER) { - var dx = (SVG.cwidth-tw)/2; shift += dIndent; - if (labelW + s*labelshift > dx + s*shift) { - indent.indentalign = CALIGN[LABEL]; - shift = s*(labelW + s*labelshift); tw += labelW + Math.max(0,shift); - } - } else if (CALIGN[LABEL] === indent.indentalign) { - if (dIndent < 0) {labelshift = s*dIndent; dIndent = 0} - shift += s*dIndent; if (labelW > s*shift) shift = s*labelW; shift += labelshift; - tw += s*shift; - } else { - shift -= s*dIndent; - if (tw - s*shift + labelW > SVG.cwidth) { - shift = s*(tw + labelW - SVG.cwidth); - if (s*shift > 0) {tw = SVG.cwidth + s*shift; shift = 0} - } - } - var eqn = svg; svg = this.SVG(); - svg.hasIndent = true; - svg.w = svg.r = Math.max(tw,SVG.cwidth); - svg.Align(C[LABEL],CALIGN[LABEL],0,0,labelshift); - svg.Align(eqn,indent.indentalign,0,0,shift); - svg.tw = tw; - } - - this.SVGsaveData(svg); - return svg; - }, - SVGhandleSpace: function (svg) { - if (!this.hasFrame && !svg.width) {svg.x = svg.X = 167} - this.SUPER(arguments).SVGhandleSpace.call(this,svg); - } - }); - - MML.mtd.Augment({ - toSVG: function (HW,D) { - var svg = this.svg = this.SVG(); - if (this.data[0]) { - svg.Add(this.SVGdataStretched(0,HW,D)); - svg.Clean(); - } - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - } - }); - - MathJax.Hub.Startup.signal.Post("SVG mtable Ready"); - MathJax.Ajax.loadComplete(SVG.autoloadDir+"/mtable.js"); - -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/multiline.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/multiline.js deleted file mode 100644 index c0040300..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/multiline.js +++ /dev/null @@ -1,732 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/autoload/multiline.js - * - * Implements the SVG output for 's that contain line breaks. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { - var VERSION = "2.7.5"; - var MML = MathJax.ElementJax.mml, - SVG = MathJax.OutputJax.SVG, - BBOX = SVG.BBOX; - // - // Fake node used for testing end-of-line potential breakpoint - // - var MO = MML.mo().With({SVGdata: {w: 0, x:0}}); - - // - // Penalties for the various line breaks - // - var PENALTY = { - newline: 0, - nobreak: 1000000, - goodbreak: [-200], - badbreak: [+200], - auto: [0], - - maxwidth: 1.33, // stop looking for breaks after this time the line-break width - toobig: 800, - nestfactor: 400, - spacefactor: -100, - spaceoffset: 2, - spacelimit: 1, // spaces larger than this get a penalty boost - fence: 500, - close: 500 - }; - - var ENDVALUES = {linebreakstyle: "after"}; - - - /**************************************************************************/ - - MML.mrow.Augment({ - // - // Handle breaking an mrow into separate lines - // - SVGmultiline: function (svg) { - - // - // Find the parent element and mark it as multiline - // - var parent = this; - while (parent.inferred || (parent.parent && parent.parent.type === "mrow" && - parent.isEmbellished())) {parent = parent.parent} - var isTop = ((parent.type === "math" && parent.Get("display") === "block") || - parent.type === "mtd"); - parent.isMultiline = true; - - // - // Default values for the line-breaking parameters - // - var VALUES = this.getValues( - "linebreak","linebreakstyle","lineleading","linebreakmultchar", - "indentalign","indentshift", - "indentalignfirst","indentshiftfirst", - "indentalignlast","indentshiftlast" - ); - if (VALUES.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) - {VALUES.linebreakstyle = this.Get("infixlinebreakstyle")} - VALUES.lineleading = SVG.length2em(VALUES.lineleading,1,0.5); - - // - // Start with a fresh SVG element - // and make it full width if we are breaking to a specific width - // in the top-level math element - // - svg = this.SVG(); - if (isTop && parent.type !== "mtd") { - if (SVG.linebreakWidth < SVG.BIGDIMEN) {svg.w = SVG.linebreakWidth} - else {svg.w = SVG.cwidth} - } - - var state = { - n: 0, Y: 0, - scale: this.scale || 1, - isTop: isTop, - values: {}, - VALUES: VALUES - }, - align = this.SVGgetAlign(state,{}), - shift = this.SVGgetShift(state,{},align), - start = [], - end = { - index:[], penalty:PENALTY.nobreak, - w:0, W:shift, shift:shift, scanW:shift, - nest: 0 - }, - broken = false; - - // - // Break the expression at its best line breaks - // - while (this.SVGbetterBreak(end,state,true) && - (end.scanW >= SVG.linebreakWidth || end.penalty === PENALTY.newline)) { - this.SVGaddLine(svg,start,end.index,state,end.values,broken); - start = end.index.slice(0); broken = true; - align = this.SVGgetAlign(state,end.values); - shift = this.SVGgetShift(state,end.values,align); - if (align === MML.INDENTALIGN.CENTER) {shift = 0} - end.W = end.shift = end.scanW = shift; end.penalty = PENALTY.nobreak; - } - state.isLast = true; - this.SVGaddLine(svg,start,[],state,ENDVALUES,broken); - - this.SVGhandleSpace(svg); - this.SVGhandleColor(svg); - svg.isMultiline = true; - - this.SVGsaveData(svg); - return svg; - } - }); - - /**************************************************************************/ - - MML.mbase.Augment({ - SVGlinebreakPenalty: PENALTY, - - /****************************************************************/ - // - // Locate the next linebreak that is better than the current one - // - SVGbetterBreak: function (info,state,toplevel) { - if (this.isToken) {return false} // FIXME: handle breaking of token elements - if (this.isEmbellished()) { - info.embellished = this; - return this.CoreMO().SVGbetterBreak(info,state); - } - if (this.linebreakContainer) {return false} - // - // Get the current breakpoint position and other data - // - var index = info.index.slice(0), i = info.index.shift(), - m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; - if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w; info.w = 0} - scanW = info.scanW = info.W; info.nest++; - // - // Look through the line for breakpoints, - // (as long as we are not too far past the breaking width) - // - while (i < m && (info.scanW < PENALTY.maxwidth*SVG.linebreakWidth || info.w === 0)) { - if (this.data[i]) { - if (this.data[i].SVGbetterBreak(info,state)) { - better = true; index = [i].concat(info.index); W = info.W; w = info.w; - if (info.penalty === PENALTY.newline) { - info.index = index; - if (info.nest) {info.nest--} - return true; - } - } - scanW = (broken ? info.scanW : this.SVGaddWidth(i,info,scanW)); - } - info.index = []; i++; broken = false; - } - // - // Check if end-of-line is a better breakpoint - // - if (toplevel && better) { - MO.parent = this.parent; MO.inherit = this.inherit; - if (MO.SVGbetterBreak(info,state)) {better = false; index = info.index} - } - if (info.nest) {info.nest--} - info.index = index; - if (better) {info.W = W} - return better; - }, - SVGaddWidth: function (i,info,scanW) { - if (this.data[i]) { - var svg = this.data[i].SVGdata; - scanW += svg.w + svg.x; if (svg.X) {scanW += svg.X} - info.W = info.scanW = scanW; info.w = 0; - } - return scanW; - }, - - /****************************************************************/ - // - // Create a new line and move the required elements into it - // Position it using proper alignment and indenting - // - SVGaddLine: function (svg,start,end,state,values,broken) { - // - // Create a box for the line, with empty BBox - // fill it with the proper elements, - // and clean up the bbox - // - var line = BBOX(); - state.first = broken; state.last = true; - this.SVGmoveLine(start,end,line,state,values); - line.Clean(); - // - // Get the alignment and shift values - // - var align = this.SVGgetAlign(state,values), - shift = this.SVGgetShift(state,values,align); - // - // Set the Y offset based on previous depth, leading, and current height - // - if (state.n > 0) { - var LHD = SVG.FONTDATA.baselineskip * state.scale; - var leading = (state.values.lineleading == null ? state.VALUES : state.values).lineleading * state.scale; - state.Y -= Math.max(LHD,state.d + line.h + leading); - } - // - // Place the new line - // - if (line.w + shift > svg.w) svg.w = line.w + shift; - svg.Align(line,align,0,state.Y,shift); - // - // Save the values needed for the future - // - state.d = line.d; state.values = values; state.n++; - }, - - /****************************************************************/ - // - // Get alignment and shift values from the given data - // - SVGgetAlign: function (state,values) { - var cur = values, prev = state.values, def = state.VALUES, align; - if (state.n === 0) {align = cur.indentalignfirst || prev.indentalignfirst || def.indentalignfirst} - else if (state.isLast) {align = prev.indentalignlast || def.indentalignlast} - else {align = prev.indentalign || def.indentalign} - if (align === MML.INDENTALIGN.INDENTALIGN) {align = prev.indentalign || def.indentalign} - if (align === MML.INDENTALIGN.AUTO) {align = (state.isTop ? this.displayAlign : MML.INDENTALIGN.LEFT)} - return align; - }, - SVGgetShift: function (state,values,align) { - var cur = values, prev = state.values, def = state.VALUES, shift; - if (state.n === 0) {shift = cur.indentshiftfirst || prev.indentshiftfirst || def.indentshiftfirst} - else if (state.isLast) {shift = prev.indentshiftlast || def.indentshiftlast} - else {shift = prev.indentshift || def.indentshift} - if (shift === MML.INDENTSHIFT.INDENTSHIFT) {shift = prev.indentshift || def.indentshift} - if (shift === "auto" || shift === "") {shift = "0"} - shift = SVG.length2em(shift,1,SVG.cwidth); - if (state.isTop && this.displayIndent !== "0") { - var indent = SVG.length2em(this.displayIndent,1,SVG.cwidth); - shift += (align === MML.INDENTALIGN.RIGHT ? -indent: indent); - } - return shift; - }, - - /****************************************************************/ - // - // Move the selected elements into the new line, - // moving whole items when possible, and parts of ones - // that are split by a line break. - // - SVGmoveLine: function (start,end,svg,state,values) { - var i = start[0], j = end[0]; - if (i == null) {i = -1}; if (j == null) {j = this.data.length-1} - if (i === j && start.length > 1) { - // - // If starting and ending in the same element move the subpiece to the new line - // - this.data[i].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); - } else { - // - // Otherwise, move the remainder of the initial item - // and any others up to the last one - // - var last = state.last; state.last = false; - while (i < j) { - if (this.data[i]) { - if (start.length <= 1) {this.data[i].SVGmove(svg,state,values)} - else {this.data[i].SVGmoveSlice(start.slice(1),[],svg,state,values,"paddingLeft")} - } - i++; state.first = false; start = []; - } - // - // If the last item is complete, move it, - // otherwise move the first part of it up to the split - // - state.last = last; - if (this.data[i]) { - if (end.length <= 1) {this.data[i].SVGmove(svg,state,values)} - else {this.data[i].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} - } - } - }, - - /****************************************************************/ - // - // Split an element and copy the selected items into the new part - // - SVGmoveSlice: function (start,end,svg,state,values,padding) { - // - // Create a new container for the slice of the element - // Move the selected portion into the slice - // - var slice = BBOX(); - this.SVGmoveLine(start,end,slice,state,values); - slice.Clean(); - if (this.href) {this.SVGaddHref(slice)} - this.SVGhandleColor(slice); - if (start.length == 0) this.SVGhandleSpace(slice); - svg.Add(slice,svg.w,0,true); - return slice; - }, - - /****************************************************************/ - // - // Move an element from its original position to its new location in - // a split element or the new line's position - // - SVGmove: function (line,state,values) { - // FIXME: handle linebreakstyle === "duplicate" - // FIXME: handle linebreakmultchar - if (!(state.first || state.last) || - (state.first && state.values.linebreakstyle === MML.LINEBREAKSTYLE.BEFORE) || - (state.last && values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER)) { - // - // Recreate output - // Remove padding (if first, remove at leftt, if last remove at right) - // Add to line - // - var svg = this.toSVG(this.SVGdata.HW,this.SVGdata.D); - if (state.first || state.nextIsFirst) {svg.x = 0} - if (state.last && svg.X) {svg.X = 0} - line.Add(svg,line.w,0,true); - } - if (state.first && svg && svg.w === 0) {state.nextIsFirst = true} - else {delete state.nextIsFirst} - } - }); - - /**************************************************************************/ - - MML.mfenced.Augment({ - SVGbetterBreak: function (info,state) { - // - // Get the current breakpoint position and other data - // - var index = info.index.slice(0), i = info.index.shift(), - m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; - if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w; info.w = 0} - scanW = info.scanW = info.W; info.nest++; - // - // Create indices that include the delimiters and separators - // - if (!this.dataI) { - this.dataI = []; - if (this.data.open) {this.dataI.push("open")} - if (m) {this.dataI.push(0)} - for (var j = 1; j < m; j++) { - if (this.data["sep"+j]) {this.dataI.push("sep"+j)} - this.dataI.push(j); - } - if (this.data.close) {this.dataI.push("close")} - } - m = this.dataI.length; - // - // Look through the line for breakpoints, including the open, close, and separators - // (as long as we are not too far past the breaking width) - // - while (i < m && (info.scanW < PENALTY.maxwidth*SVG.linebreakWidth || info.w === 0)) { - var k = this.dataI[i]; - if (this.data[k]) { - if (this.data[k].SVGbetterBreak(info,state)) { - better = true; index = [i].concat(info.index); W = info.W; w = info.w; - if (info.penalty === PENALTY.newline) { - info.index = index; - if (info.nest) {info.nest--} - return true; - } - } - scanW = (broken ? info.scanW : this.SVGaddWidth(i,info,scanW)); - } - info.index = []; i++; broken = false; - } - if (info.nest) {info.nest--} - info.index = index; - if (better) {info.W = W; info.w = w} - return better; - }, - - SVGmoveLine: function (start,end,svg,state,values) { - var i = start[0], j = end[0]; - if (i == null) {i = -1}; if (j == null) {j = this.dataI.length-1} - if (i === j && start.length > 1) { - // - // If starting and ending in the same element move the subpiece to the new line - // - this.data[this.dataI[i]].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); - } else { - // - // Otherwise, move the remainder of the initial item - // and any others (including open and separators) up to the last one - // - var last = state.last; state.last = false; var k = this.dataI[i]; - while (i < j) { - if (this.data[k]) { - if (start.length <= 1) {this.data[k].SVGmove(svg,state,values)} - else {this.data[k].SVGmoveSlice(start.slice(1),[],svg,state,values,"paddingLeft")} - } - i++; k = this.dataI[i]; state.first = false; start = []; - } - // - // If the last item is complete, move it - // - state.last = last; - if (this.data[k]) { - if (end.length <= 1) {this.data[k].SVGmove(svg,state,values)} - else {this.data[k].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} - } - } - } - - }); - - /**************************************************************************/ - - MML.msubsup.Augment({ - SVGbetterBreak: function (info,state) { - if (!this.data[this.base]) {return false} - // - // Get the current breakpoint position and other data - // - var index = info.index.slice(0), i = info.index.shift(), - W, w, scanW, broken = (info.index.length > 0), better = false; - if (!broken) {info.W += info.w; info.w = 0} - scanW = info.scanW = info.W; - // - // Record the width of the base and the super- and subscripts - // - if (i == null) {this.SVGdata.dw = this.SVGdata.w - this.data[this.base].SVGdata.w} - // - // Check if the base can be broken - // - if (this.data[this.base].SVGbetterBreak(info,state)) { - better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; - if (info.penalty === PENALTY.newline) {better = broken = true} - } - // - // Add in the base if it is unbroken, and add the scripts - // - if (!broken) {this.SVGaddWidth(this.base,info,scanW)} - info.scanW += this.SVGdata.dw; info.W = info.scanW; - info.index = []; if (better) {info.W = W; info.w = w; info.index = index} - return better; - }, - - SVGmoveLine: function (start,end,svg,state,values) { - // - // Move the proper part of the base - // - if (this.data[this.base]) { - if (start.length > 1) { - this.data[this.base].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); - } else { - if (end.length <= 1) {this.data[this.base].SVGmove(svg,state,values)} - else {this.data[this.base].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} - } - } - // - // If this is the end, check for super and subscripts, and move those - // by moving the stack that contains them, and shifting by the amount of the - // base that has been removed. Remove the empty base box from the stack. - // - if (end.length === 0) { - var sup = this.data[this.sup], sub = this.data[this.sub], w = svg.w, data; - if (sup) {data = sup.SVGdata||{}; svg.Add(sup.toSVG(),w+(data.dx||0),data.dy)} - if (sub) {data = sub.SVGdata||{}; svg.Add(sub.toSVG(),w+(data.dx||0),data.dy)} - } - } - - }); - - /**************************************************************************/ - - MML.mmultiscripts.Augment({ - SVGbetterBreak: function (info,state) { - if (!this.data[this.base]) {return false} - // - // Get the current breakpoint position and other data - // - var index = info.index.slice(0); info.index.shift(); - var W, w, scanW, broken = (info.index.length > 0), better = false; - if (!broken) {info.W += info.w; info.w = 0} - info.scanW = info.W; - // - // The width of the postscripts - // - var dw = this.SVGdata.w - this.data[this.base].SVGdata.w - this.SVGdata.dx; - // - // Add in the prescripts - // - info.scanW += this.SVGdata.dx; scanW = info.scanW; - // - // Check if the base can be broken (but don't break between prescripts and base) - // - if (this.data[this.base].SVGbetterBreak(info,state)) { - better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; - if (info.penalty === PENALTY.newline) {better = broken = true} - } - // - // Add in the base if it is unbroken, and add the postscripts - // - if (!broken) {this.SVGaddWidth(this.base,info,scanW)} - info.scanW += dw; info.W = info.scanW; - info.index = []; if (better) {info.W = W; info.w = w; info.index = index} - return better; - }, - - SVGmoveLine: function (start,end,svg,state,values) { - var dx, data = this.SVGdata; - // - // If this is the start, move the prescripts, if any. - // - if (start.length < 1) { - this.scriptBox = this.SVGgetScripts(this.SVGdata.s); - var presub = this.scriptBox[2], presup = this.scriptBox[3]; dx = svg.w + data.dx; - if (presup) {svg.Add(presup,dx+data.delta-presup.w,data.u)} - if (presub) {svg.Add(presub,dx-presub.w,-data.v)} - } - // - // Move the proper part of the base - // - if (this.data[this.base]) { - if (start.length > 1) { - this.data[this.base].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); - } else { - if (end.length <= 1) {this.data[this.base].SVGmove(svg,state,values)} - else {this.data[this.base].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} - } - } - // - // If this is the end, move the postscripts, if any. - // - if (end.length === 0) { - var sub = this.scriptBox[0], sup = this.scriptBox[1]; dx = svg.w + data.s; - if (sup) {svg.Add(sup,dx,data.u)} - if (sub) {svg.Add(sub,dx-data.delta,-data.v)} - delete this.scriptBox; - } - } - - }); - - /**************************************************************************/ - - MML.mo.Augment({ - // - // Override the method for checking line breaks to properly handle - // - SVGbetterBreak: function (info,state) { - if (info.values && info.values.last === this) {return false} - var values = this.getValues( - "linebreak","linebreakstyle","lineleading","linebreakmultchar", - "indentalign","indentshift", - "indentalignfirst","indentshiftfirst", - "indentalignlast","indentshiftlast", - "texClass", "fence" - ); - if (values.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) - {values.linebreakstyle = this.Get("infixlinebreakstyle")} - // - // Adjust nesting by TeX class (helps output that does not include - // mrows for nesting, but can leave these unbalanced. - // - if (values.texClass === MML.TEXCLASS.OPEN) {info.nest++} - if (values.texClass === MML.TEXCLASS.CLOSE && info.nest) {info.nest--} - // - // Get the default penalty for this location - // - var W = info.scanW, mo = info.embellished; delete info.embellished; - if (!mo || !mo.SVGdata) {mo = this} - var svg = mo.SVGdata, w = svg.w + svg.x; - if (values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER) {W += w; w = 0} - if (W - info.shift === 0 && values.linebreak !== MML.LINEBREAK.NEWLINE) - {return false} // don't break at zero width (FIXME?) - var offset = SVG.linebreakWidth - W; - // adjust offest for explicit first-line indent and align - if (state.n === 0 && (values.indentshiftfirst !== state.VALUES.indentshiftfirst || - values.indentalignfirst !== state.VALUES.indentalignfirst)) { - var align = this.SVGgetAlign(state,values), - shift = this.SVGgetShift(state,values,align); - offset += (info.shift - shift); - } - // - var penalty = Math.floor(offset / SVG.linebreakWidth * 1000); - if (penalty < 0) {penalty = PENALTY.toobig - 3*penalty} - if (values.fence) {penalty += PENALTY.fence} - if ((values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER && - values.texClass === MML.TEXCLASS.OPEN) || - values.texClass === MML.TEXCLASS.CLOSE) {penalty += PENALTY.close} - penalty += info.nest * PENALTY.nestfactor; - // - // Get the penalty for this type of break and - // use it to modify the default penalty - // - var linebreak = PENALTY[values.linebreak||MML.LINEBREAK.AUTO]||0; - if (!MathJax.Object.isArray(linebreak)) { - // for breaks past the width, keep original penalty for newline - if (linebreak || offset >= 0) {penalty = linebreak * info.nest} - } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} - // - // If the penalty is no better than the current one, return false - // Otherwise save the data for this breakpoint and return true - // - if (penalty >= info.penalty) {return false} - info.penalty = penalty; info.values = values; info.W = W; info.w = w; - values.lineleading = SVG.length2em(values.lineleading,1,state.VALUES.lineleading); - values.last = this; - return true; - } - }); - - /**************************************************************************/ - - MML.mspace.Augment({ - // - // Override the method for checking line breaks to properly handle - // - SVGbetterBreak: function (info,state) { - if (info.values && info.values.last === this) {return false} - var values = this.getValues("linebreak"); - var linebreakValue = values.linebreak; - if (!linebreakValue || this.hasDimAttr()) { - // The MathML spec says that the linebreak attribute should be ignored - // if any dimensional attribute is set. - linebreakValue = MML.LINEBREAK.AUTO; - } - // - // Get the default penalty for this location - // - var W = info.scanW, svg = this.SVGdata, w = svg.w + svg.x; - if (W - info.shift === 0) {return false} // don't break at zero width (FIXME?) - var offset = SVG.linebreakWidth - W; - // - var penalty = Math.floor(offset / SVG.linebreakWidth * 1000); - if (penalty < 0) {penalty = PENALTY.toobig - 3*penalty} - penalty += info.nest * PENALTY.nestfactor; - // - // Get the penalty for this type of break and - // use it to modify the default penalty - // - var linebreak = PENALTY[linebreakValue]||0; - if (linebreakValue === MML.LINEBREAK.AUTO && w >= PENALTY.spacelimit*1000 && - !this.mathbackground && !this.backrgound) - {linebreak = [(w/1000+PENALTY.spaceoffset)*PENALTY.spacefactor]} - if (!MathJax.Object.isArray(linebreak)) { - // for breaks past the width, keep original penalty for newline - if (linebreak || offset >= 0) {penalty = linebreak * info.nest} - } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} - // - // If the penalty is no better than the current one, return false - // Otherwise save the data for this breakpoint and return true - // - if (penalty >= info.penalty) {return false} - info.penalty = penalty; info.values = values; info.W = W; info.w = w; - values.lineleading = state.VALUES.lineleading; - values.linebreakstyle = "before"; values.last = this; - return true; - } - }); - - // - // Hook into the mathchoice extension - // - MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function () { - MML.TeXmathchoice.Augment({ - SVGbetterBreak: function (info,state) { - return this.Core().SVGbetterBreak(info,state); - }, - SVGmoveLine: function (start,end,svg,state,values) { - return this.Core().SVGmoveSlice(start,end,svg,state,values); - } - }); - }); - - // - // Have maction process only the selected item - // - MML.maction.Augment({ - SVGbetterBreak: function (info,state) { - return this.Core().SVGbetterBreak(info,state); - }, - SVGmoveLine: function (start,end,svg,state,values) { - return this.Core().SVGmoveSlice(start,end,svg,state,values); - }, - }); - - // - // Have semantics only do the first element - // (FIXME: do we need to do anything special about annotation-xml?) - // - MML.semantics.Augment({ - SVGbetterBreak: function (info,state) { - return (this.data[0] ? this.data[0].SVGbetterBreak(info,state) : false); - }, - SVGmoveLine: function (start,end,svg,state,values) { - return (this.data[0] ? this.data[0].SVGmoveSlice(start,end,svg,state,values) : null); - } - }); - - /**************************************************************************/ - - MathJax.Hub.Startup.signal.Post("SVG multiline Ready"); - MathJax.Ajax.loadComplete(SVG.autoloadDir+"/multiline.js"); - -}); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/config.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/config.js deleted file mode 100644 index db49139f..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/config.js +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/config.js - * - * Initializes the SVG OutputJax (the main definition is in - * MathJax/jax/input/SVG/jax.js, which is loaded when needed). - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -MathJax.OutputJax.SVG = MathJax.OutputJax({ - id: "SVG", - version: "2.7.5", - directory: MathJax.OutputJax.directory + "/SVG", - extensionDir: MathJax.OutputJax.extensionDir + "/SVG", - autoloadDir: MathJax.OutputJax.directory + "/SVG/autoload", - fontDir: MathJax.OutputJax.directory + "/SVG/fonts", // font name added later - - config: { - scale: 100, minScaleAdjust: 50, // global math scaling factor, and minimum adjusted scale factor - font: "TeX", // currently the only font available - blacker: 1, // stroke-width to make fonts blacker - mtextFontInherit: false, // to make be in page font rather than MathJax font - undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif", // fonts to use for missing characters - - addMMLclasses: false, // keep MathML structure and use CSS classes to mark elements - useFontCache: true, // use elements to re-use font paths rather than repeat paths every time - useGlobalCache: true, // store fonts in a global for use in all equations, or one in each equation - - EqnChunk: (MathJax.Hub.Browser.isMobile ? 10: 50), - // number of equations to process before showing them - EqnChunkFactor: 1.5, // chunk size is multiplied by this after each chunk - EqnChunkDelay: 100, // milliseconds to delay between chunks (to let browser - // respond to other events) - - linebreaks: { - automatic: false, // when false, only process linebreak="newline", - // when true, insert line breaks automatically in long expressions. - - width: "container" // maximum width of a line for automatic line breaks (e.g. "30em"). - // use "container" to compute size from containing element, - // use "nn% container" for a portion of the container, - // use "nn%" for a portion of the window size - }, - - merrorStyle: { - fontSize:"90%", color:"#C00", background:"#FF8", - border: "1px solid #C00", padding:"3px" - }, - - styles: { - ".MathJax_SVG_Display": { - "text-align": "center", - margin: "1em 0em" - }, - - // - // For mtextFontInherit version of \texttt{} - // - ".MathJax_SVG .MJX-monospace": { - "font-family": "monospace" - }, - - // - // For mtextFontInherit version of \textsf{} - // - ".MathJax_SVG .MJX-sans-serif": { - "font-family": "sans-serif" - }, - - // - // For tooltips - // - "#MathJax_SVG_Tooltip": { - "background-color": "InfoBackground", color: "InfoText", - border: "1px solid black", - "box-shadow": "2px 2px 5px #AAAAAA", // Opera 10.5 - "-webkit-box-shadow": "2px 2px 5px #AAAAAA", // Safari 3 and Chrome - "-moz-box-shadow": "2px 2px 5px #AAAAAA", // Forefox 3.5 - "-khtml-box-shadow": "2px 2px 5px #AAAAAA", // Konqueror - padding: "3px 4px", - "z-index": 401 - } - } - } -}); - -if (!MathJax.Hub.config.delayJaxRegistration) {MathJax.OutputJax.SVG.Register("jax/mml")} - -MathJax.OutputJax.SVG.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js deleted file mode 100644 index 79d3497a..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js +++ /dev/null @@ -1,140 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Arrows.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // LEFTWARDS ARROW - 0x2190: [437,-64,500,64,423,'292 419Q292 400 261 347T211 275H306Q319 275 338 275T364 276Q399 276 410 271T422 250T411 230T366 225H306H211Q214 222 232 197T271 136T292 82Q292 71 285 68T262 64H250H241Q221 64 216 67T205 83Q186 127 153 167T78 230Q64 238 64 250Q64 258 69 263T82 272T106 288T139 318Q162 342 177 365T198 402T209 425T223 436Q224 437 252 437H258Q292 437 292 419'], - - // RIGHTWARDS ARROW - 0x2192: [437,-64,500,58,417,'188 417Q188 437 221 437H233Q256 437 263 434T275 417Q294 373 327 333T402 270Q417 261 417 250Q417 241 410 236T382 217T341 182Q315 155 299 128T275 85T263 66Q259 64 231 64H219Q197 64 191 72T193 100Q202 124 215 147T239 185T257 210T267 223L269 225H174H116Q80 225 69 229T58 250T70 271T114 276Q121 276 140 276T174 275H269L267 277Q266 280 257 291T233 325T205 374Q188 408 188 417'], - - // LEFTWARDS ARROW WITH STROKE - 0x219A: [437,-60,1000,56,942,'942 250Q942 244 928 230H511L457 148Q440 124 420 93Q404 68 400 64T389 60Q381 60 375 66T368 81Q368 88 415 159L462 230H175L188 214Q210 188 235 145T264 85Q264 75 260 74T231 72L206 74L191 103Q169 142 164 150Q130 195 64 239Q56 244 56 250T64 261Q115 294 142 323T191 397L206 428H231Q255 428 259 426T264 414Q260 397 235 355T188 288L175 272L331 270Q488 270 491 272Q491 275 542 352T597 432Q602 437 609 437Q617 437 622 432T628 417T582 341L537 272L735 270H931Q942 257 942 250'], - - // RIGHTWARDS ARROW WITH STROKE - 0x219B: [437,-60,1000,54,942,'54 250Q54 258 66 270H277L488 272L542 350Q596 431 602 435Q604 437 609 437Q617 437 622 432T628 417T582 341L537 272L608 270H751L822 272L808 288Q786 313 761 355T733 414Q733 424 737 426T766 428H793L806 397Q829 354 864 314Q896 284 928 263Q942 257 942 250T928 237Q887 208 864 185Q829 147 806 103L793 74L766 72Q742 72 738 73T733 85Q735 102 756 137T797 198L817 225L822 230H511L457 148Q440 124 420 93Q404 68 400 64T389 60Q381 60 375 66T368 81Q368 88 415 159L462 230H264L66 232Q54 239 54 250'], - - // LEFTWARDS TWO HEADED ARROW - 0x219E: [417,-83,1000,56,944,'56 250Q103 277 142 322T199 417H221Q244 417 244 416Q244 414 237 397T208 344T158 278L151 270H276L285 277Q322 306 349 345T388 417H434Q434 413 424 392T393 338T349 279L340 270H634Q933 270 937 266L938 265Q944 259 944 250T938 235L937 234Q933 230 634 230H340L349 221Q372 196 393 163T424 108T434 83H388Q377 116 350 155T285 223L276 230H151L158 222Q186 191 207 156T236 104T244 84Q244 83 221 83H199Q181 133 142 178T56 250'], - - // RIGHTWARDS TWO HEADED ARROW - 0x21A0: [417,-83,1000,55,943,'943 250Q895 221 856 177T801 83H778Q755 83 755 84Q755 86 762 103T791 156T841 222L848 230H723L714 223Q677 194 650 155T611 83H565Q565 87 575 108T606 162T650 221L659 230H365Q66 230 62 234L61 235Q55 241 55 250T61 265L62 266Q66 270 365 270H659L650 279Q627 304 606 337T575 392T565 417H611Q622 384 649 345T714 277L723 270H848L841 278Q813 309 792 344T763 396T755 416Q755 417 778 417H801Q817 367 856 323T943 250'], - - // LEFTWARDS ARROW WITH TAIL - 0x21A2: [417,-83,1111,56,1031,'56 250Q103 277 142 322T199 417H221Q244 417 244 416Q244 414 237 397T208 344T158 278L151 270H873L882 277Q919 306 946 345T985 417H1031Q1031 413 1021 392T990 338T946 279L937 270V230L946 221Q969 196 990 163T1021 108T1031 83H985Q974 116 947 155T882 223L873 230H151L158 222Q186 191 207 156T236 104T244 84Q244 83 221 83H199Q181 133 142 178T56 250'], - - // RIGHTWARDS ARROW WITH TAIL - 0x21A3: [417,-83,1111,79,1054,'1054 250Q1006 221 967 177T912 83H889Q866 83 866 84Q866 86 873 103T902 156T952 222L959 230H237L228 223Q191 194 164 155T125 83H79Q79 87 89 108T120 162T164 221L173 230V270L164 279Q141 304 120 337T89 392T79 417H125Q136 384 163 345T228 277L237 270H959L952 278Q924 309 903 344T874 396T866 416Q866 417 889 417H912Q928 367 967 323T1054 250'], - - // LEFTWARDS ARROW WITH LOOP - 0x21AB: [576,41,1000,56,965,'56 250Q103 277 142 322T199 417H221Q244 417 244 416Q244 414 237 397T208 344T158 278L151 270H622V305Q622 356 624 388T635 460T661 521T709 559T785 575Q813 575 833 573T880 561T923 534T952 483T964 405Q964 374 959 350T942 307T918 276T884 255T847 242T804 235T760 231T713 230H662V-27Q654 -41 644 -41H642H640Q628 -41 622 -27V230H151L158 222Q186 191 207 156T236 104T244 84Q244 83 221 83H199Q181 133 142 178T56 250ZM924 403Q924 474 894 505T794 536Q758 536 734 526T696 500T675 453T665 395T662 319V270H699Q826 270 875 295T924 403'], - - // RIGHTWARDS ARROW WITH LOOP - 0x21AC: [575,41,1000,35,943,'35 405Q35 454 48 489T86 542T137 567T195 575Q229 575 251 571T301 554T345 510T370 429Q377 384 377 305V270H848L841 278Q813 309 792 344T763 396T755 416Q755 417 778 417H801Q817 367 856 323T943 250Q896 221 857 177T801 83H778Q755 83 755 84Q755 86 762 103T791 156T841 222L848 230H377V-27Q369 -41 359 -41H357Q342 -41 337 -25V230H286Q247 231 225 232T169 238T115 255T75 284T45 333T35 405ZM75 406Q75 322 123 296T300 270H337V319Q335 432 317 477T240 534Q232 535 197 535Q140 535 108 507T75 406'], - - // LEFT RIGHT WAVE ARROW - 0x21AD: [417,-83,1389,57,1331,'57 250Q159 311 200 417H246L242 407Q215 340 159 278L152 270H276L315 310Q354 349 358 351Q366 356 376 351Q378 350 455 273L530 196L606 273Q683 350 686 351Q694 354 703 351Q705 350 782 273L858 196L933 273Q1010 350 1012 351Q1022 356 1030 351Q1034 349 1073 310L1112 270H1236L1229 278Q1173 340 1146 407L1142 417H1188Q1233 306 1331 250Q1231 192 1188 83H1142L1146 93Q1173 160 1229 222L1236 230H1168Q1155 230 1139 230T1119 229Q1112 229 1108 229T1099 231T1092 233T1085 238T1078 245T1068 256T1056 269L1021 304L984 267Q948 230 910 191T867 149Q857 144 848 150Q844 151 770 227T694 304T618 228T540 150Q531 144 521 149Q517 152 479 191T404 267L367 304L332 269Q328 264 320 256T310 246T303 239T296 234T289 231T280 229T269 229Q265 229 249 229T220 230H152L159 222Q215 160 242 93L246 83H223L200 84L195 96Q152 190 57 250'], - - // LEFT RIGHT ARROW WITH STROKE - 0x21AE: [437,-60,1000,56,942,'491 272Q491 275 542 352T597 432Q602 437 609 437Q617 437 622 432T628 417T582 341L537 272L608 270H751L822 272L808 288Q786 313 761 355T733 414Q733 424 737 426T766 428H793L806 397Q829 354 864 314Q896 284 928 263Q942 257 942 250T928 237Q887 208 864 185Q829 147 806 103L793 74L766 72Q742 72 738 73T733 85Q735 102 756 137T797 198L817 225L822 230H511L457 148Q440 124 420 93Q404 68 400 64T389 60Q381 60 375 66T368 81Q368 88 415 159L462 230H175L188 214Q210 188 235 145T264 85Q264 75 260 74T231 72L206 74L191 103Q169 142 164 150Q130 195 64 239Q56 244 56 250T64 261Q115 294 142 323T191 397L206 428H231Q255 428 259 426T264 414Q260 397 235 355T188 288L175 272L331 270Q488 270 491 272'], - - // UPWARDS ARROW WITH TIP LEFTWARDS - 0x21B0: [722,0,500,56,444,'56 555Q74 567 79 570T107 592T141 625T170 667T198 722H221Q244 722 244 721Q244 718 236 699T207 647T161 587L151 576L291 575H292H293H294H296H297H298H299H300H301H302H304H305H306H307H308H309H310H311H312H314H315H316H317H318H319H320H321H322H323H324H325H327H328H329H330H331H332H333H334H335H336H337H338H339H340H341H342H343H345Q435 574 438 570L439 569L440 568Q444 564 444 287Q444 15 442 12Q436 0 424 0T406 12Q404 15 404 275V535H151L162 523Q187 495 207 462T236 410T244 389H198L193 402Q171 457 131 497T56 555'], - - // UPWARDS ARROW WITH TIP RIGHTWARDS - 0x21B1: [722,0,500,55,443,'301 722Q339 618 443 555L437 551Q431 547 422 541T401 526T377 504T352 477T327 443T306 402L301 389H255Q255 392 263 410T291 461T337 523L348 535H95V275Q95 15 93 12Q87 0 75 0T57 12Q55 15 55 287Q55 564 59 568L60 569Q64 573 76 573T208 575L348 576L338 587Q314 613 294 646T264 698T255 721Q255 722 278 722H301'], - - // ANTICLOCKWISE TOP SEMICIRCLE ARROW - 0x21B6: [461,1,1000,17,950,'361 210Q373 210 373 182V177Q373 155 370 151T348 139Q303 118 267 84T216 28T201 1Q197 -1 196 -1Q189 -1 184 8Q166 39 143 64T99 104T61 129T32 144T19 150Q17 152 17 179Q17 203 21 208Q28 210 39 206Q106 178 157 135L175 119V126Q179 130 179 155Q182 173 193 201Q228 305 312 374T510 459Q532 461 551 461H567Q678 461 784 386Q835 344 861 301Q902 245 926 173T950 32Q950 15 944 8Q930 -6 917 8Q910 12 910 43Q901 208 801 314T561 421Q453 421 359 359Q300 319 263 258T217 126L216 125Q216 124 216 123T217 122Q219 122 229 131T260 156T301 181Q314 189 336 199T361 210'], - - // CLOCKWISE TOP SEMICIRCLE ARROW - 0x21B7: [460,1,1000,46,982,'972 209Q980 209 981 204T982 179Q982 155 979 151T957 139Q915 121 878 86T815 8Q808 -1 803 -1Q801 -1 797 1Q797 6 783 28T732 84T650 139L628 150Q626 152 626 177Q626 201 630 206Q636 210 637 210Q650 210 697 181Q727 166 764 137L784 119L782 132Q767 239 689 318T499 417Q474 421 442 421Q343 421 261 369T130 219Q86 121 86 28Q86 15 79 8Q73 1 66 1T53 8Q46 15 46 30Q46 102 77 192T186 361Q274 443 386 459Q396 460 426 460Q515 460 588 431T703 361T773 271T812 187T822 132Q822 123 825 123Q936 209 972 209'], - - // ANTICLOCKWISE OPEN CIRCLE ARROW - 0x21BA: [650,83,778,56,722,'369 543T369 563T397 583Q408 583 440 579L454 577L464 581Q492 592 516 609T552 638T565 650Q604 638 607 637Q606 636 598 628T585 614T570 601T548 584T523 568L510 560L516 558Q522 555 527 553T541 546T559 536T580 523T603 506T626 485Q722 384 722 250Q722 106 622 12T387 -83Q253 -83 155 12T56 250Q56 357 110 433T235 545Q244 550 252 550Q270 550 270 531Q270 522 261 515T238 501T202 477T159 433Q95 352 95 250Q95 131 178 45T388 -42Q511 -42 596 43T682 250Q682 340 636 408T522 511Q495 526 488 526Q488 525 488 525T487 522T485 515L490 506Q505 481 516 451T531 404T535 384L532 385Q529 386 524 387T513 390L491 397L488 408Q472 483 413 542L399 543Q369 543 369 563'], - - // CLOCKWISE OPEN CIRCLE ARROW - 0x21BB: [650,83,778,56,721,'170 637L213 650Q270 597 313 581L323 577L337 579Q369 583 380 583Q408 583 408 563T380 543H378L364 542Q305 483 289 408L286 397L264 390Q259 389 254 388T245 385L242 384Q242 387 246 403T261 450T287 506L292 515Q291 519 291 521T290 524T289 526Q284 526 265 517T216 486T160 434T114 354T95 249Q95 132 178 45T388 -42Q513 -42 597 44T682 250Q682 337 638 404T532 506Q529 508 525 510T519 514T515 516T511 519T509 522T508 526T507 531Q507 550 525 550Q533 550 542 545Q569 532 596 511T653 454T702 366T721 250Q721 151 672 74T547 -43T388 -83Q254 -83 155 12T56 250Q56 385 151 485Q164 498 179 509T205 528T228 542T247 551T260 558L267 560L254 568Q215 590 170 637'], - - // UPWARDS HARPOON WITH BARB RIGHTWARDS - 0x21BE: [694,194,417,188,375,'188 258V694H208L215 682Q246 628 293 594T375 551V528Q375 505 374 505Q369 505 351 510T299 534T237 578L228 587V205Q228 -178 226 -182Q221 -194 208 -194T190 -182Q188 -178 188 258'], - - // UPWARDS HARPOON WITH BARB LEFTWARDS - 0x21BF: [694,194,417,41,228,'41 551Q76 559 123 592T201 682L208 694H228V258Q228 -178 226 -182Q221 -194 208 -194T190 -182Q188 -178 188 205V587L179 578Q151 552 117 534T65 511T42 505Q41 505 41 528V551'], - - // DOWNWARDS HARPOON WITH BARB RIGHTWARDS - 0x21C2: [694,194,417,188,375,'190 682Q195 694 208 694T226 683Q228 679 228 296V-87L237 -78Q265 -52 299 -34T351 -11T374 -5Q375 -5 375 -28V-51Q340 -60 293 -92T215 -182L208 -194H188V242Q188 678 190 682'], - - // DOWNWARDS HARPOON WITH BARB LEFTWARDS - 0x21C3: [694,194,417,41,228,'188 295V573Q188 657 189 672T200 692Q206 694 208 694Q221 694 226 683Q228 679 228 242V-194H208L201 -182Q170 -128 123 -94T41 -51V-28Q41 -5 42 -5Q47 -5 65 -10T117 -34T179 -78L188 -87V295'], - - // RIGHTWARDS ARROW OVER LEFTWARDS ARROW - 0x21C4: [667,0,1000,55,944,'943 500Q895 471 856 427T801 333H778Q755 333 755 334Q755 336 762 353T791 406T841 472L848 480H459Q70 480 67 482Q55 488 55 500T67 518Q70 520 459 520H848L841 528Q813 559 792 594T763 646T755 666Q755 667 778 667H801Q817 617 856 573T943 500ZM56 167Q102 194 141 238T198 333H221Q244 333 244 332Q221 265 161 198L151 187H539Q928 187 930 186Q944 182 944 167Q944 155 934 149Q930 147 541 147H151L160 137Q185 110 205 77T235 24T244 1Q244 0 221 0H199Q158 106 56 167'], - - // LEFTWARDS ARROW OVER RIGHTWARDS ARROW - 0x21C6: [667,0,1000,55,944,'56 500Q103 527 142 572T199 667H221Q244 667 244 666Q244 664 237 647T208 594T158 528L151 520H539Q928 520 932 518Q944 513 944 500T932 482Q928 480 539 480H151L158 472Q186 441 207 406T236 354T244 334Q244 333 221 333H199Q181 383 142 428T56 500ZM943 167Q835 101 801 0H778Q755 0 755 1T758 9T765 25T771 39Q800 94 839 137L848 147H458Q68 147 66 149Q55 154 55 167Q55 182 69 186Q71 187 460 187H848L838 198Q811 228 791 261T762 314L755 332Q755 333 778 333H801Q841 227 943 167'], - - // LEFTWARDS PAIRED ARROWS - 0x21C7: [583,83,1000,55,944,'930 437Q944 426 944 416T934 399Q930 397 540 397H150L159 387Q185 360 205 328T234 277T243 252Q243 237 217 191T159 113L150 103H540Q930 103 934 101Q944 94 944 84Q944 71 930 64L540 63H151Q180 34 203 -2T236 -61L244 -83H198Q178 -31 142 11T66 77L55 83L65 89Q157 145 197 246Q199 250 190 269Q150 359 65 411L55 417L66 423Q106 447 142 489T198 583H244Q202 488 151 437H930'], - - // UPWARDS PAIRED ARROWS - 0x21C8: [694,193,833,83,749,'83 551Q190 590 250 694Q251 689 263 671T307 621T380 567Q409 551 416 551Q422 551 447 563T511 608T577 684L582 694Q642 591 749 551V528Q749 505 748 505Q745 505 724 515T669 546T612 590L602 599V-181Q595 -193 585 -193H582H581Q568 -193 565 -183L563 -179L562 209V598L552 589Q517 556 473 531T414 506H412Q411 506 393 514T361 530T324 553T280 589L270 598V-179Q255 -192 250 -193H247Q237 -193 230 -181V599L220 590Q197 567 164 546T110 515T84 505Q83 505 83 528V551'], - - // RIGHTWARDS PAIRED ARROWS - 0x21C9: [583,83,1000,55,944,'55 416Q55 427 70 437H848Q819 466 796 502T764 561L755 583H801Q821 531 857 489T933 423L944 417L934 411Q843 355 802 254Q800 250 809 231Q849 141 934 89L944 83L933 77Q893 53 857 11T801 -83H755Q797 12 848 63H459L70 64Q55 70 55 84Q55 94 65 101Q69 103 459 103H849L840 113Q806 148 779 196T756 254Q756 255 760 264T770 286T786 315T809 351T840 387L849 397H459Q69 397 65 399Q55 406 55 416'], - - // DOWNWARDS PAIRED ARROWS - 0x21CA: [694,194,833,83,749,'230 681Q240 694 251 694Q260 693 270 680V-98L280 -89Q297 -73 314 -60T348 -38T374 -24T397 -13T412 -6H414Q428 -6 473 -32T552 -89L562 -98V291L563 680Q570 693 582 693Q593 694 602 681V-99L612 -90Q635 -68 668 -47T723 -15T748 -5Q749 -5 749 -28V-51Q642 -91 582 -194L577 -184Q551 -141 512 -108T447 -63T416 -51T385 -63T321 -108T255 -184L250 -194Q189 -89 83 -51V-28Q83 -5 84 -5Q88 -5 109 -15T164 -46T220 -90L230 -99V681'], - - // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON - 0x21CB: [514,14,1000,55,944,'195 504L198 514H221Q244 514 244 512Q244 508 239 490T215 437T171 376L162 367H545Q928 367 932 365Q944 360 944 347T932 329Q928 327 492 327H55V347L67 354Q113 379 146 420T195 504ZM67 171Q70 173 507 173H944V153L932 146Q839 95 804 -4L801 -14H778Q755 -14 755 -12Q768 59 828 124L837 133H454Q71 133 67 135Q55 140 55 153Q55 165 67 171'], - - // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON - 0x21CC: [514,14,1000,55,944,'755 512Q755 514 778 514H801L804 503Q805 501 812 486T824 462T839 437T862 408T892 381T932 354L944 347V327H507Q70 327 67 329Q55 335 55 347T67 365Q70 367 454 367H837L828 376Q803 403 785 437T761 489T755 512ZM55 153V173H492Q928 173 932 171Q944 166 944 153T932 135Q928 133 545 133H162L171 124Q198 95 216 61T239 8L244 -12Q244 -14 221 -14H198L195 -4Q160 95 67 146L55 153'], - - // LEFTWARDS DOUBLE ARROW WITH STROKE - 0x21CD: [535,35,1000,54,942,'397 525Q410 525 414 524T418 516Q418 506 394 467T331 381L319 367H473L624 369L657 445Q674 487 684 507T699 531T709 534Q717 534 722 528T728 516Q728 510 695 434Q689 418 683 402T672 377T668 367H928Q942 355 942 347Q942 341 928 327H791Q651 327 651 325Q649 324 620 251T586 174Q586 172 757 172H928Q942 158 942 152Q942 143 928 132H568L537 54Q510 -9 503 -22T486 -35Q479 -35 473 -29T466 -17T495 61L526 132H319L331 118Q364 81 391 37T418 -17Q418 -23 415 -24T401 -26Q398 -26 397 -26L384 -24L377 -13Q344 49 301 97T218 170T143 210T84 233T55 245Q54 253 59 256T86 267Q281 327 377 512L384 525H397ZM606 325Q606 327 439 327H275Q258 312 179 265L148 249Q228 206 262 181L275 172H544L575 247L606 325'], - - // LEFT RIGHT DOUBLE ARROW WITH STROKE - 0x21CE: [534,37,1000,32,965,'395 -24T395 -19T417 57T440 132H255L266 116Q308 64 340 -6Q342 -17 337 -21Q335 -26 320 -26T302 -19Q302 -15 294 4T265 54T217 117T145 182T49 236Q30 243 33 254Q40 261 49 263Q98 283 142 315T214 379T263 442T293 493T302 519Q305 525 320 525T337 521Q342 516 340 505Q308 435 266 383L255 370L384 367H515Q561 522 569 530Q574 534 580 534Q587 534 594 528T602 516Q602 512 580 441T557 367H651L742 370L731 383Q689 435 657 505Q655 516 660 521Q662 525 677 525T695 519Q695 515 703 496T732 446T780 383T853 317T949 263Q967 258 964 245Q959 240 949 236Q897 215 852 182T779 116T731 52T703 3T695 -19Q692 -26 677 -26T660 -21Q655 -17 657 -6Q670 21 682 42T702 77T717 99T728 114T735 122T739 126T740 130T613 132H482L460 54Q440 -9 433 -23T415 -37Q408 -37 402 -31ZM502 325Q502 327 360 327H217L195 310Q173 291 120 256L111 250Q114 248 143 229T195 190L217 172H335L453 174L502 325ZM886 250Q885 251 865 263T831 286T802 310L780 327H544L535 299Q531 283 511 223L495 174L637 172H780L802 190Q843 225 877 243L886 250'], - - // RIGHTWARDS DOUBLE ARROW WITH STROKE - 0x21CF: [534,36,1000,55,943,'346 174Q348 176 378 249T411 325Q411 327 239 327H68Q55 342 55 347Q55 354 68 367H428L459 445Q487 509 494 521T510 534Q517 534 524 527T531 516Q531 515 502 438L471 367H677L666 381Q631 421 605 463T578 516Q578 522 582 523T599 525H615L619 512Q659 437 714 383T812 309T896 272T942 254Q943 246 938 243T911 232Q718 172 619 -13L615 -24L599 -26Q578 -26 578 -17Q578 -11 587 6T617 53T666 118L677 132H373L339 54Q323 12 313 -8T298 -32T288 -35Q280 -35 275 -29T269 -17Q269 -14 298 57T328 132H68Q55 145 55 152Q55 156 56 158T62 165T68 172H206Q346 172 346 174ZM848 249Q763 297 735 318L722 327H455L422 252L391 174Q391 172 557 172H722L735 181Q773 210 819 234L848 249'], - - // LEFTWARDS TRIPLE ARROW - 0x21DA: [611,111,1000,76,945,'944 54Q942 44 929 36H372Q372 34 377 26T395 -4T422 -58Q442 -109 442 -110T408 -111H374L370 -100Q282 124 87 243L76 250L87 257Q284 377 370 600L374 611H408Q442 611 442 610Q423 550 381 480Q380 478 379 475T376 471T374 468T372 465V464H929Q942 456 944 446Q944 442 943 439T941 434T938 430T935 428T931 426T928 424H344L336 414Q277 336 200 277L191 270H560Q929 270 933 268Q944 262 944 250Q944 237 933 232Q929 230 560 230H191L200 223Q279 162 336 86L344 76H928Q929 76 931 75T934 73T938 70T941 66T943 61T944 54'], - - // RIGHTWARDS TRIPLE ARROW - 0x21DB: [611,111,1000,55,923,'56 250Q56 260 68 270H808L799 277Q720 338 663 414L655 424H363Q71 424 68 426Q55 432 55 444T68 462Q71 464 349 464H627Q627 466 622 474T604 504T577 558Q557 609 557 610T591 611H626L629 600Q717 376 912 257L923 250L912 243Q715 123 629 -100L626 -111H591Q557 -111 557 -110Q576 -50 618 20Q619 22 620 25T623 29T625 32T626 35L627 36H349Q71 36 68 38Q55 44 55 56T68 74Q71 76 363 76H655L663 86Q722 164 799 223L808 230H438L68 231Q56 236 56 250'], - - // RIGHTWARDS SQUIGGLE ARROW - 0x21DD: [417,-83,1000,56,943,'76 230Q68 230 62 237T56 250Q56 257 63 264T91 291Q102 300 108 306L159 351Q168 356 177 351L218 316L303 239L353 195Q376 214 403 239L488 316L529 351Q538 356 546 351Q548 350 594 310L638 270H848L841 278Q813 309 792 344T763 396T755 416Q755 417 778 417H801Q817 367 856 323T943 250Q895 221 856 177T801 83H778Q755 83 755 84Q755 86 762 103T791 156T841 222L848 230H737Q625 230 622 232Q620 233 599 251T558 288L537 306Q537 305 451 228T362 149Q353 146 345 149Q341 150 255 227T169 306Q167 306 129 270Q123 265 115 257T102 245T93 237T84 232T76 230'], - - // LEFTWARDS DASHED ARROW - 0x21E0: [437,-64,1334,64,1251,'292 419Q292 400 261 347T211 275H306H364Q400 275 411 271T422 250T411 230T366 225H306H211Q214 222 232 197T271 136T292 82Q292 71 285 68T262 64H250H241Q221 64 216 67T205 83Q186 127 153 167T78 230Q64 238 64 250Q64 258 69 263T82 272T106 288T139 318Q162 342 177 365T198 402T209 425T223 436Q224 437 252 437H258Q292 437 292 419ZM501 237T501 250T515 270H819Q834 262 834 250T819 230H515Q501 237 501 250ZM918 237T918 250T932 270H1236Q1251 262 1251 250T1236 230H932Q918 237 918 250'], - - // RIGHTWARDS DASHED ARROW - 0x21E2: [437,-64,1334,84,1251,'84 237T84 250T98 270H402Q417 262 417 250T402 230H98Q84 237 84 250ZM501 237T501 250T515 270H819Q834 262 834 250T819 230H515Q501 237 501 250ZM1022 417Q1022 437 1055 437H1067Q1090 437 1097 434T1109 417Q1128 373 1161 333T1236 270Q1251 261 1251 250Q1251 241 1244 236T1216 217T1175 182Q1149 155 1133 128T1109 85T1097 66Q1093 64 1065 64H1053Q1031 64 1025 72T1027 100Q1036 124 1049 147T1073 185T1091 210T1101 223L1103 225H1008H950Q914 225 903 229T892 250T903 270T948 275H1008H1103L1101 277Q1100 280 1091 291T1067 325T1039 374Q1022 408 1022 417'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Arrows.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js deleted file mode 100644 index e8243979..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js +++ /dev/null @@ -1,44 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/BoxDrawing.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // BOX DRAWINGS LIGHT DOWN AND RIGHT - 0x250C: [694,-306,500,55,444,'76 306Q62 306 59 319T55 386V500V596Q55 664 57 676T68 692Q71 694 250 694Q428 694 432 692Q444 685 444 674Q444 665 432 656Q428 654 261 654H95V487Q95 355 95 336T90 312Q84 306 76 306'], - - // BOX DRAWINGS LIGHT DOWN AND LEFT - 0x2510: [694,-306,500,55,445,'424 306Q418 306 413 310T406 318L404 321V654H238Q71 654 68 656Q55 662 55 674T68 692Q71 694 250 694H379Q432 694 438 688Q443 683 443 662T444 500T444 338T438 312Q432 306 424 306'], - - // BOX DRAWINGS LIGHT UP AND RIGHT - 0x2514: [366,22,500,55,444,'55 172V287Q55 341 58 353T76 366Q88 366 95 351V18H261Q428 18 432 16Q444 9 444 -2Q444 -11 432 -20Q428 -22 250 -22H120Q67 -22 61 -16Q56 -11 56 10T55 172'], - - // BOX DRAWINGS LIGHT UP AND LEFT - 0x2518: [366,22,500,55,444,'404 351Q410 366 424 366Q437 366 440 353T444 288V172V72Q444 8 443 -4T432 -20Q428 -22 250 -22Q71 -22 68 -20Q55 -14 55 -2T68 16Q71 18 238 18H404V351'], - - // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT - 0x2571: [694,195,889,0,860,'19 -195Q13 -195 7 -188T0 -176Q0 -169 18 -151L822 683Q835 694 840 694T852 688T860 674Q860 667 810 614T460 252Q57 -167 44 -179Q27 -195 19 -195'], - - // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT - 0x2572: [694,195,889,0,860,'0 675Q0 681 6 687T19 694Q27 694 44 678L460 247Q759 -62 809 -115T860 -175Q860 -183 852 -189T840 -195Q835 -195 822 -184L18 649Q0 667 0 675'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/BoxDrawing.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js deleted file mode 100644 index 7da40015..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/CombDiacritMarks.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // COMBINING CIRCUMFLEX ACCENT - 0x302: [845,-561,0,-2347,13,'-2332 561Q-2336 563 -2340 577T-2346 604L-2347 618Q-2347 625 -2340 628T-2310 635Q-2302 636 -2297 637Q-2270 641 -1712 745Q-1185 845 -1168 845Q-1166 845 -581 739L5 630Q13 630 13 618Q7 565 -1 561Q-4 561 -584 654Q-716 675 -867 699T-1092 736T-1166 748Q-1168 748 -1240 737T-1466 700T-1750 654Q-2330 561 -2332 561'], - - // COMBINING TILDE - 0x303: [899,-628,0,-2332,-3,'-1529 788Q-1616 788 -1727 772T-1936 732T-2120 685T-2258 645T-2315 628Q-2322 628 -2322 632Q-2325 637 -2329 668T-2331 704Q-2331 713 -2297 732Q-2278 739 -2091 795Q-1711 898 -1507 898Q-1440 898 -1386 895Q-1324 887 -1277 872T-1146 819Q-1047 776 -977 758T-806 739Q-719 739 -608 755T-399 795T-215 842T-77 882T-20 899Q-13 899 -13 895Q-10 890 -6 860T-4 824Q-4 818 -37 795Q-60 787 -244 732Q-523 657 -735 632Q-771 629 -841 629Q-944 629 -1013 644T-1189 708Q-1285 751 -1356 769T-1529 788'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js deleted file mode 100644 index c535ae80..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Dingbats.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // CHECK MARK - 0x2713: [706,34,833,84,749,'84 231Q84 244 114 264T170 285Q176 285 183 274T224 205Q267 129 268 129Q271 141 279 163T318 250T389 378T502 523T662 673Q702 706 732 706H734Q749 706 749 695Q749 682 730 666T660 607T559 505Q387 299 328 29Q324 0 295 -17T245 -34H241Q234 -34 225 -21T185 46Q166 79 154 101Q84 223 84 231'], - - // MALTESE CROSS - 0x2720: [716,22,833,48,786,'195 702T195 706T201 716H632Q638 710 638 706T636 700T621 690Q436 581 427 374V357H430Q554 357 645 421Q682 447 711 483T755 542T770 567Q775 572 786 563V131Q777 125 774 125T762 139Q709 228 642 274T482 333Q452 337 430 337H427V320Q430 279 437 247T462 170T521 82T621 4Q630 -2 633 -4T637 -7T638 -12Q638 -16 632 -22H201Q195 -16 195 -12T197 -6T212 4Q397 113 406 320V337H403Q279 337 188 273Q151 247 122 211T78 152T63 127Q58 122 48 131V563Q54 569 59 569Q62 569 71 555Q124 466 191 420T351 361Q381 357 403 357H406V374Q403 415 396 447T371 525T312 613T212 690Q199 697 197 699'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Dingbats.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js deleted file mode 100644 index c1d4ef11..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/EnclosedAlphanum.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // CIRCLED LATIN CAPITAL LETTER S - 0x24C8: [709,175,902,8,894,'451 -175Q328 -175 226 -115T66 47T8 267Q8 303 15 342T39 431T94 531T186 622Q239 663 307 686T424 709H440Q604 709 716 622Q757 592 788 555T838 482T869 414T886 350T892 301T894 267Q894 147 835 45T674 -116T451 -175ZM854 268Q854 375 802 467T657 614T450 670Q283 670 166 552T49 267Q49 99 167 -18T453 -136Q617 -136 735 -18T854 268ZM273 378Q273 430 309 474T409 527Q411 527 417 527T428 528Q498 528 549 484L567 505Q583 528 590 528H594Q600 528 606 522V350L600 344H586Q577 344 574 344T569 347T566 357Q542 491 432 491Q389 491 365 465T340 407Q340 391 344 378T358 356T377 340T400 328T421 321T443 316T459 313Q499 305 517 300T559 279T601 238Q629 195 629 148Q629 80 583 33T471 -14Q392 -14 330 30Q312 6 293 -13Q292 -14 285 -14Q279 -14 273 -8V77V138Q273 160 275 165T286 170H294H307Q313 164 313 158Q313 108 350 67T471 26Q512 26 537 54T562 119Q562 137 558 151T544 176T527 193T504 205T483 212T459 218T441 222Q391 232 368 241T318 273Q273 316 273 378'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/EnclosedAlphanum.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js deleted file mode 100644 index a70afb7b..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/GeneralPunctuation.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // REVERSED PRIME - 0x2035: [560,-43,275,12,244,'12 501Q12 527 31 542T63 558Q73 560 77 560Q114 560 128 528Q133 518 188 293T244 61Q244 56 223 50T195 43Q192 43 190 45T102 263T14 486Q12 496 12 501'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/GeneralPunctuation.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js deleted file mode 100644 index 0774cef4..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/GeometricShapes.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // BLACK SQUARE - 0x25A0: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71'], - - // WHITE SQUARE - 0x25A1: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM682 40V649H95V40H682'], - - // BLACK UP-POINTING TRIANGLE - 0x25B2: [575,20,722,84,637,'99 -20Q84 -11 84 0Q84 5 148 145T278 424L342 563Q347 575 360 575Q368 575 375 570Q376 569 441 430T571 148T637 0Q637 -11 622 -20H99'], - - // WHITE UP-POINTING TRIANGLE - 0x25B3: [575,20,722,84,637,'99 -20Q84 -11 84 0Q84 5 148 145T278 424L342 563Q347 575 360 575Q368 575 375 570Q376 569 441 430T571 148T637 0Q637 -11 622 -20H99ZM476 260L360 509L248 266Q137 24 135 22Q135 20 360 20Q586 20 586 21L476 260'], - - // BLACK RIGHT-POINTING TRIANGLE - 0x25B6: [540,41,778,83,694,'83 523Q83 524 85 527T92 535T103 539Q107 539 389 406T680 268Q694 260 694 249Q694 239 687 234Q685 232 395 95L107 -41H101Q90 -40 83 -26V523'], - - // BLACK DOWN-POINTING TRIANGLE - 0x25BC: [576,19,722,84,637,'84 556Q84 567 99 576H622Q637 567 637 556Q637 551 572 409T441 127T375 -14Q368 -19 360 -19H358Q349 -19 342 -7T296 92Q249 193 211 275Q84 550 84 556'], - - // WHITE DOWN-POINTING TRIANGLE - 0x25BD: [576,19,722,84,637,'84 556Q84 567 99 576H622Q637 567 637 556Q637 551 572 409T441 127T375 -14Q368 -19 360 -19H358Q349 -19 342 -7T296 92Q249 193 211 275Q84 550 84 556ZM586 534Q586 536 361 536Q135 536 135 535L358 52L361 47L473 290Q584 532 586 534'], - - // BLACK LEFT-POINTING TRIANGLE - 0x25C0: [539,41,778,83,694,'694 -26Q686 -40 676 -41H670L382 95Q92 232 90 234Q83 239 83 249Q83 262 96 267Q101 270 379 401T665 537Q671 539 674 539Q686 539 694 524V-26'], - - // LOZENGE - 0x25CA: [716,132,667,56,611,'318 709Q325 716 332 716Q340 716 344 713T474 511Q611 298 611 292Q611 285 526 152Q494 103 474 72Q347 -128 344 -130Q340 -132 333 -132T322 -130Q319 -128 257 -31T131 169T60 278Q56 285 56 292Q56 298 60 305Q73 326 194 516T318 709ZM567 290T567 291T451 475T333 658L100 293Q100 288 215 108L333 -74Q334 -74 450 108'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/GeometricShapes.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js deleted file mode 100644 index 9fb01f27..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/GreekAndCoptic.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // GREEK SMALL LETTER DIGAMMA - 0x3DD: [605,85,778,55,719,'477 261Q477 257 473 256T455 253T417 251T348 250H235L155 -77L146 -82Q137 -85 109 -85Q55 -85 55 -77L139 261Q224 596 226 598Q229 603 239 603Q240 603 254 603T290 603T341 604T405 605T477 605Q656 603 687 602T719 596Q719 589 692 588T513 585H319L282 427L242 272Q242 270 351 270Q388 270 410 270T444 269T460 267T469 265T477 261'], - - // GREEK KAPPA SYMBOL - 0x3F0: [434,6,667,37,734,'228 325Q170 322 156 316T127 309Q108 309 104 314Q99 319 99 322T108 341Q125 376 171 400T268 425H271Q302 425 319 396Q328 377 328 358Q328 332 324 314Q311 270 286 221Q274 194 274 192H275Q339 234 484 325T639 421Q669 434 691 434T723 425T734 406Q734 394 719 381Q715 376 644 330L575 287L566 267Q543 233 526 176Q520 160 515 143T508 115T506 105Q506 103 533 103Q585 103 607 110T641 118Q670 118 670 107Q670 100 661 85Q643 50 598 27T504 3Q465 3 450 36Q441 51 441 73Q441 84 444 96Q452 146 484 205L497 236L324 125Q143 12 135 10Q103 -6 77 -6Q61 -6 49 2T37 21Q37 36 49 46T124 96L195 141L204 156Q219 179 243 248T264 323Q264 325 228 325'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js deleted file mode 100644 index 3c379b89..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Latin1Supplement.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // YEN SIGN - 0xA5: [683,0,750,11,738,'515 0Q494 3 374 3Q256 3 235 0H224V46H257Q316 47 324 58Q327 62 327 137V213H133Q121 213 113 213T97 213T86 213T78 213T73 214T70 215T69 216T68 218T67 220Q64 225 66 231T73 240Q76 242 202 242H327V273L247 407H115Q81 407 75 408T67 414Q64 419 66 425T73 434Q76 436 153 436Q228 436 228 437Q227 440 173 530T115 623Q101 637 31 637H11V683H20Q66 681 153 681Q169 681 202 681T262 682L288 683H298V637H280Q230 636 230 621Q230 619 250 584Q255 576 264 561T286 526T305 494L340 437L403 436H467L513 514Q564 596 564 605Q564 608 560 616Q550 634 517 637H508V683H516Q531 680 633 680Q722 680 731 683H738V637H723Q644 632 617 595Q614 591 568 515T521 437T597 436T676 434Q681 432 683 426T682 414T671 409T589 407H503L422 273V242H547Q673 242 676 240Q681 238 683 232T682 220Q682 219 682 218T681 217T679 216T677 215T672 214T664 213T652 213T637 213T616 213H422V139V87Q422 64 425 58T441 49Q456 46 503 46H525V0H515ZM449 406Q449 407 403 407Q358 407 358 406L370 387Q381 368 392 350L404 331Q447 404 449 406'], - - // REGISTERED SIGN - 0xAE: [709,176,947,32,915,'915 266Q915 140 852 38T689 -120T474 -175Q312 -175 188 -71T38 190Q32 220 32 266V287Q32 345 57 416T129 545Q192 624 282 666T464 709Q513 709 522 708Q599 698 665 666T776 590T853 493T900 387T915 287V266ZM875 285Q875 339 853 399T789 517T676 616T519 668Q510 669 465 669Q380 669 299 630T155 514T77 336Q72 312 72 285V266V256Q72 123 163 11Q290 -135 474 -135Q614 -135 727 -46Q875 81 875 266V285ZM276 457Q275 458 274 460T272 463T270 465T267 467T264 469T258 471T252 472T243 473T232 474T218 474H204V514H335Q477 514 499 510Q560 502 610 467T661 375Q661 362 658 350T648 327T635 308T618 292T601 280T583 269T568 262T554 256L547 253Q548 252 556 247T570 237T586 223T602 202T614 174Q616 169 626 123T638 72Q652 23 683 23Q715 23 720 68Q721 78 724 81T740 84T756 82T760 70Q760 47 747 25T715 -7Q700 -14 673 -14Q672 -14 662 -14T643 -12T619 -7T593 2T568 16T547 37T534 67Q531 80 531 97Q531 103 531 116T532 136Q532 218 472 236Q466 238 413 239H360V148L361 58Q366 47 375 44T418 40H432V0H424Q409 3 318 3T212 0H204V40H218Q242 40 253 42T268 47T276 58V457ZM376 473Q365 471 363 464T360 430V366V276H416Q421 276 434 276T453 276T469 277T486 279T501 282T517 287T529 294T542 305Q561 324 561 375Q561 424 545 444T482 472Q478 473 427 474Q415 474 403 474T384 474L376 473'], - - // LATIN SMALL LETTER ETH - 0xF0: [749,21,556,42,509,'75 566V604Q75 624 79 629T102 635Q124 635 127 629T131 588L133 550L191 588L249 628L231 635Q176 654 124 657Q116 657 106 658L95 659Q94 661 94 687T95 715Q99 717 113 717Q195 717 282 679L309 668L331 681Q351 697 391 721Q428 748 435 748Q437 749 446 749Q470 749 473 746Q478 744 478 681V621Q466 615 456 615Q435 615 424 624L422 661V699L382 675L344 648Q353 639 366 630Q480 538 504 413Q509 393 509 333V313Q509 284 507 257T495 184T466 102T413 33T329 -16Q311 -21 275 -21Q226 -21 195 -10Q150 7 110 50T53 141Q42 179 42 227Q42 332 101 403T245 474Q282 474 314 461T359 436T380 415Q386 405 389 408Q389 426 378 475Q368 505 355 529T329 567T306 590T288 603L282 606L120 501Q116 500 102 500Q84 500 75 506V566ZM388 225Q388 376 309 410Q299 416 273 419Q216 419 191 390Q174 371 168 342T162 218Q162 112 184 79Q212 39 273 39Q312 39 342 62T380 121Q388 159 388 225'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Latin1Supplement.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js deleted file mode 100644 index f2f39e91..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/LatinExtendedA.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // LATIN SMALL LETTER H WITH STROKE - 0x127: [695,13,540,42,562,'182 599Q182 611 174 615T133 619Q118 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 295 644T282 597Q282 592 360 592H399Q430 592 445 587T460 563Q460 552 451 541L442 535H266L251 468Q247 453 243 436T236 409T233 399Q233 395 244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26L166 530Q166 534 161 534T129 535Q127 535 122 535T112 534Q74 534 74 562Q74 570 77 576T84 585T96 589T109 591T124 592T138 592L182 595V599'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js deleted file mode 100644 index 3a58a35f..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js +++ /dev/null @@ -1,47 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/LetterlikeSymbols.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // stix-/hbar - Planck's over 2pi - 0x210F: [695,13,540,42,562,'150 475Q147 475 118 466T82 457Q73 457 64 467T54 487Q54 490 55 492Q63 506 64 506Q67 512 118 526Q162 541 169 546Q173 559 175 575Q181 596 181 604Q181 613 166 617Q164 617 153 618T135 619Q119 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 291 628L278 577L386 612Q466 635 476 635T492 627T499 607Q499 593 489 586Q485 583 373 546L262 512Q262 511 248 455T233 397T236 397T244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26Q42 45 98 257L151 475H150'], - - // INVERTED OHM SIGN - 0x2127: [685,22,722,44,675,'126 584Q119 584 110 539T97 493Q95 490 73 490Q44 490 44 501Q44 515 62 590Q75 672 82 679Q84 684 177 684Q193 684 214 684T241 685Q265 685 271 682T277 664V648Q271 572 229 434T186 231Q186 173 203 132T247 70T302 42T360 33Q391 33 419 42T474 72T517 133T533 231Q533 297 491 437T442 648Q442 675 446 679Q448 684 542 684Q635 684 637 681Q640 678 657 594T675 501Q675 490 646 490Q624 490 622 493Q620 493 609 538T593 584Q591 585 585 585T569 586T551 588H513Q514 586 518 573T538 531T582 453Q647 340 660 277Q663 259 663 232Q663 194 657 177Q652 151 629 112T560 39Q495 -5 424 -19Q403 -22 360 -22Q318 -22 297 -19Q239 -8 193 18T120 74T80 131T62 177Q56 194 56 229Q56 281 74 328T137 453Q160 491 174 518T193 555T201 575T206 588H168Q160 587 150 587T134 586T126 584'], - - // TURNED CAPITAL F - 0x2132: [695,1,556,55,497,'457 681Q471 695 477 695Q485 695 497 681V12L484 -1H68Q55 14 55 19T68 39H457V328H215L211 335Q198 346 211 359L217 368H457V681'], - - // BET SYMBOL - 0x2136: [763,21,667,-22,687,'56 706V726Q56 763 76 763Q83 763 87 759T98 741Q108 726 116 721L127 717L340 715Q547 712 564 709Q575 705 587 692Q599 680 605 663L609 650V137H676Q687 124 687 115Q687 110 678 100T622 43L558 -21H-9Q-22 -6 -22 -1T-13 14T42 72L107 137H569V339Q569 541 567 546Q558 555 554 557L545 563H329Q118 566 101 569Q90 573 78 586Q54 610 54 661Q54 670 56 706'], - - // GIMEL SYMBOL - 0x2137: [764,43,444,-22,421,'56 750Q68 764 76 764Q88 764 97 743T125 717Q131 715 240 715T358 713Q421 691 421 640Q421 608 399 588T358 566Q353 566 352 565T351 557L356 526Q356 488 379 346T402 97Q400 21 385 -12Q366 -43 351 -43Q335 -43 329 -10Q316 40 316 64Q316 67 315 67Q313 67 269 26L222 -21H-9Q-22 -7 -22 -1Q-22 4 -14 14T42 73L107 137H311V564H211H164Q115 564 93 573T60 615Q56 630 56 690V750'], - - // DALET SYMBOL - 0x2138: [764,43,667,54,640,'62 757Q69 764 75 764Q87 764 97 741Q102 731 105 728T117 721L129 715H349Q569 715 580 710Q618 701 635 670Q640 661 640 639Q640 609 622 590Q617 583 604 575T580 566H573V553Q575 547 576 531T582 469T600 353Q624 205 624 104Q624 46 617 17T591 -32Q581 -43 573 -43Q550 -43 540 44Q535 73 533 319V564H322Q117 566 100 570Q90 573 77 586Q54 609 54 663Q54 689 55 706Q55 738 56 745T62 757'], - - // TURNED SANS-SERIF CAPITAL G - 0x2141: [705,23,639,37,577,'239 665Q194 665 154 653T90 629T66 617Q59 617 53 623T46 637Q46 652 66 659Q129 695 197 701Q218 705 248 705Q293 705 335 693Q371 684 435 644Q543 562 573 417Q577 393 577 341Q577 290 573 266Q531 83 384 10Q346 -9 315 -16T234 -23H206Q202 -23 183 -23T152 -21T120 -18T88 -10T63 3T44 24L37 35V297L50 310H235Q248 297 248 290Q248 285 235 270H77V103Q77 88 77 80T77 63T78 50T80 43T82 38T85 35T89 32T95 30Q126 20 206 17Q289 17 330 30Q407 55 460 120T533 275Q538 305 538 342Q538 486 452 575T239 665'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js deleted file mode 100644 index 836ff282..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js +++ /dev/null @@ -1,131 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'] = { - directory: 'AMS/Regular', - family: 'MathJax_AMS', - id: 'MJAMS', - Ranges: [ - [0x80,0xFF,"Latin1Supplement"], - [0x100,0x17F,"LatinExtendedA"], - [0x2B0,0x2FF,"SpacingModLetters"], - [0x300,0x36F,"CombDiacritMarks"], - [0x370,0x3FF,"GreekAndCoptic"], - [0x2000,0x206F,"GeneralPunctuation"], - [0x2100,0x214F,"LetterlikeSymbols"], - [0x2190,0x21FF,"Arrows"], - [0x2200,0x22FF,"MathOperators"], - [0x2300,0x23FF,"MiscTechnical"], - [0x2460,0x24FF,"EnclosedAlphanum"], - [0x2500,0x257F,"BoxDrawing"], - [0x25A0,0x25FF,"GeometricShapes"], - [0x2600,0x26FF,"MiscSymbols"], - [0x2700,0x27BF,"Dingbats"], - [0x2980,0x29FF,"MiscMathSymbolsB"], - [0x2A00,0x2AFF,"SuppMathOperators"], - [0xE000,0xF8FF,"PUA"] - ], - - // SPACE - 0x20: [0,0,250,0,0,''], - - // LATIN CAPITAL LETTER A - 0x41: [701,1,722,17,703,'130 -1H63Q34 -1 26 2T17 17Q17 24 22 29T35 35Q49 35 64 44T88 66Q101 93 210 383Q331 693 335 697T346 701T357 697Q358 696 493 399Q621 104 633 83Q656 35 686 35Q693 35 698 30T703 17Q703 5 693 2T643 -1H541Q388 -1 386 1Q378 6 378 16Q378 24 383 29T397 35Q412 35 434 45T456 65Q456 93 428 170L419 197H197L195 179Q184 134 184 97Q184 82 186 71T190 55T198 45T205 39T214 36L219 35Q241 31 241 17Q241 5 233 2T196 -1H130ZM493 68Q493 51 481 35H619Q604 56 515 256Q486 321 468 361L348 637Q347 637 330 592T313 543Q313 538 358 436T448 219T493 68ZM404 235Q404 239 355 355T295 488L275 430Q241 348 208 232H306Q404 232 404 235ZM155 48Q151 55 148 88V117L135 86Q118 47 117 46L110 37L135 35H159Q157 41 155 48'], - - // LATIN CAPITAL LETTER B - 0x42: [683,1,667,11,620,'11 665Q11 672 22 683H213Q407 681 431 677Q582 649 582 515Q582 488 573 468Q554 413 484 372L474 366H475Q620 317 620 178Q620 115 568 69T420 6Q393 1 207 -1H22Q11 10 11 18Q11 35 51 35Q79 37 88 39T102 52Q107 70 107 341T102 630Q97 640 88 643T51 648H46Q11 648 11 665ZM142 341Q142 129 141 88T134 37Q133 36 133 35H240L233 48L229 61V623L233 635L240 648H133L138 639Q142 621 142 341ZM284 370Q365 378 391 411T417 508Q417 551 406 581T378 624T347 643T320 648Q298 648 278 635Q267 628 266 611T264 492V370H284ZM546 515Q546 551 531 577T494 617T454 635T422 641L411 643L420 630Q439 604 445 579T452 510V504Q452 481 451 467T441 430T415 383Q420 383 439 391T483 413T527 455T546 515ZM585 185Q585 221 570 249T534 294T490 320T453 334T436 337L435 336L440 330Q445 325 452 315T467 288T479 246T484 188Q484 145 474 110T454 62T442 48Q442 47 444 47Q450 47 470 54T517 75T564 119T585 185ZM449 184Q449 316 358 332Q355 332 335 333T302 335H264V199Q266 68 270 57Q275 50 289 43Q300 37 324 37Q449 37 449 184'], - - // LATIN CAPITAL LETTER C - 0x43: [702,19,722,39,684,'684 131Q684 125 672 109T633 71T573 29T489 -5T386 -19Q330 -19 276 -3T174 46T91 134T44 261Q39 283 39 341T44 421Q66 538 143 611T341 699Q344 699 364 700T395 701Q449 698 503 677T585 655Q603 655 611 662T620 678T625 694T639 702Q650 702 657 690V481L653 474Q640 467 628 472Q624 476 618 496T595 541Q562 587 507 625T390 663H381Q337 663 299 625Q212 547 212 336Q212 249 233 179Q274 30 405 30Q533 30 641 130Q658 147 666 147Q671 147 677 143T684 131ZM250 625Q264 643 261 643Q238 635 214 620T161 579T110 510T79 414Q74 384 74 341T79 268Q89 213 113 169T164 101T217 61T260 39L277 34Q270 41 264 48Q199 111 181 254Q178 281 178 344T181 434Q200 559 250 625ZM621 565V625Q617 623 613 623Q603 619 590 619H575L588 605Q608 583 610 579L621 565'], - - // LATIN CAPITAL LETTER D - 0x44: [683,1,722,16,688,'16 666Q16 675 28 683H193Q329 683 364 682T430 672Q534 650 600 585T686 423Q688 406 688 352Q688 274 673 226Q641 130 565 72T381 1Q368 -1 195 -1H28Q16 5 16 16Q16 35 53 35Q68 36 75 37T87 42T95 52Q98 61 98 341T95 630Q91 640 83 643T53 648Q16 648 16 666ZM237 646Q237 648 184 648H128Q128 647 133 632Q136 620 136 341Q136 64 133 50L128 35H237L230 48L226 61V343Q228 620 231 633Q232 636 237 646ZM264 61Q278 40 310 35Q363 35 401 55T461 112T496 193T513 295Q515 333 515 349Q515 411 504 459Q481 598 373 641Q351 648 321 648Q304 648 292 643T277 635T264 621V61ZM461 628Q462 627 471 616T489 594T509 559T529 509T544 441T550 352Q550 165 479 75L468 59Q474 61 484 65T522 87T573 128T618 195T650 290Q654 322 654 354Q654 418 638 464T581 552Q559 576 529 595T480 621L461 628'], - - // LATIN CAPITAL LETTER E - 0x45: [683,1,667,12,640,'12 666Q12 675 24 683H582Q590 680 593 672V588Q593 514 591 502T575 490Q567 490 563 495T555 517Q552 556 517 590Q486 623 445 634T340 648H282Q266 636 264 620T260 492V370H277Q329 375 358 391T404 439Q420 480 420 506Q420 529 436 529Q445 529 451 521Q455 517 455 361Q455 333 455 298T456 253Q456 217 453 207T437 197Q420 196 420 217Q420 240 406 270Q377 328 284 335H260V201Q261 174 261 134Q262 73 264 61T278 38Q281 36 282 35H331Q400 35 449 50Q571 93 602 179Q605 203 622 203Q629 203 634 197T640 183Q638 181 624 95T604 3L600 -1H24Q12 5 12 16Q12 35 51 35Q92 38 97 52Q102 60 102 341T97 632Q91 645 51 648Q12 648 12 666ZM137 341Q137 131 136 89T130 37Q129 36 129 35H235Q233 41 231 48L226 61V623L231 635L235 648H129Q132 641 133 638T135 603T137 517T137 341ZM557 603V648H504Q504 646 515 639Q527 634 542 619L557 603ZM420 317V397L406 383Q394 370 380 363L366 355Q373 350 382 346Q400 333 409 328L420 317ZM582 61L586 88Q585 88 582 83Q557 61 526 46L511 37L542 35H577Q577 36 578 39T580 49T582 61'], - - // LATIN CAPITAL LETTER F - 0x46: [683,1,611,12,584,'584 499Q569 490 566 490Q558 490 552 497T546 515Q546 535 533 559Q526 574 506 593T469 621Q415 648 326 648Q293 648 287 647T275 641Q264 630 263 617Q262 609 260 492V370L275 372Q323 376 350 392T393 441Q409 473 409 506Q409 529 427 529Q437 529 442 519Q444 511 444 362Q444 212 442 206Q436 197 426 197Q409 197 409 217Q409 265 375 299Q346 328 280 335H260V206Q260 70 262 63Q265 46 276 41T326 35Q362 35 366 28Q377 17 366 3L360 -1H24Q12 5 12 16Q12 35 51 35Q92 38 97 52Q102 60 102 341T97 632Q91 645 51 648Q12 648 12 666Q12 675 24 683H573Q576 678 584 670V499ZM137 341Q137 131 136 89T130 37Q129 36 129 35H182Q233 35 233 39Q226 54 225 92T224 346L226 623L231 635L235 648H129Q132 641 133 638T135 603T137 517T137 341ZM549 603V648H495L506 641Q531 621 533 619L549 603ZM409 317V395L400 386Q390 376 375 366L357 355L373 346Q394 331 397 328L409 317'], - - // LATIN CAPITAL LETTER G - 0x47: [702,19,778,39,749,'737 285Q749 277 749 268Q749 260 744 255T730 250Q695 250 677 217Q666 195 666 119Q666 52 664 50Q656 36 555 3Q483 -16 415 -19Q364 -19 348 -17Q226 -3 146 70T44 261Q39 283 39 341T44 421Q66 538 143 611T341 699Q344 699 364 700T395 701Q449 698 503 677T585 655Q603 655 611 662T620 678T625 694T639 702Q650 702 657 690V481L653 474Q640 467 628 472Q624 476 618 496T595 541Q562 587 507 625T390 663H381Q337 663 299 625Q213 547 213 337Q213 75 341 23Q357 19 397 19Q440 19 462 22T492 30T513 45V119Q513 184 506 203Q491 237 435 250Q421 250 415 257Q404 267 415 281L421 285H737ZM250 43Q250 45 243 55T225 87T203 139T185 224T177 343V361Q184 533 250 625Q264 643 261 643Q238 635 214 620T161 579T110 510T79 414Q74 384 74 341T79 268Q106 117 230 52L250 43ZM621 565V625Q617 623 613 623Q603 619 590 619H575L588 605Q608 583 610 579L621 565ZM655 250H517L524 241Q548 213 548 149V114V39Q549 39 562 44T592 55T615 63L630 70V134Q632 190 634 204T648 237Q655 245 655 250'], - - // LATIN CAPITAL LETTER H - 0x48: [683,1,778,14,762,'14 666Q14 675 26 683H344L351 679Q361 665 351 655Q344 648 317 648Q287 645 282 641Q270 637 269 623T266 497V370H511V497Q511 519 510 553Q509 615 507 626T496 641H495Q489 645 459 648Q420 648 420 665Q420 672 426 679L433 683H751Q762 676 762 666Q762 648 724 648Q684 645 677 632Q675 626 675 341Q675 57 677 52Q684 38 724 35Q762 35 762 16Q762 6 751 -1H433L426 3Q420 10 420 17Q420 35 459 35Q501 38 506 52Q511 64 511 190V323H266V190Q266 60 271 52Q276 38 317 35Q342 35 351 28Q360 17 351 3L344 -1H26Q14 5 14 16Q14 35 53 35Q94 38 99 52Q104 60 104 341T99 632Q93 645 53 648Q14 648 14 666ZM233 341V553Q233 635 239 648H131Q134 641 135 638T137 603T139 517T139 341Q139 131 138 89T132 37Q131 36 131 35H239Q233 47 233 129V341ZM639 341V489Q639 548 639 576T640 620T642 639T646 648H537L542 639Q546 625 546 341Q546 130 545 88T538 37Q537 36 537 35H646Q643 41 643 42T641 55T639 84T639 140V341'], - - // LATIN CAPITAL LETTER I - 0x49: [683,1,389,20,369,'20 666Q20 676 31 683H358Q369 676 369 666Q369 648 331 648Q288 645 282 632Q278 626 278 341Q278 57 282 50Q286 42 295 40T331 35Q369 35 369 16Q369 6 358 -1H31Q20 4 20 16Q20 35 58 35Q84 37 93 39T107 50Q113 60 113 341Q113 623 107 632Q101 645 58 648Q20 648 20 666ZM249 35Q246 40 246 41T244 54T242 83T242 139V341Q242 632 244 639L249 648H140Q146 634 147 596T149 341Q149 124 148 86T140 35H249'], - - // LATIN CAPITAL LETTER J - 0x4A: [683,77,500,6,478,'79 103Q108 103 129 83T151 38Q151 9 130 -15Q116 -34 130 -37Q133 -39 157 -39Q208 -39 219 -8L226 3V305Q226 612 224 621Q220 636 211 641T166 647Q137 647 128 654Q119 665 128 679L135 683H466Q478 677 478 666Q478 647 439 647Q399 644 393 632Q388 620 388 347Q386 69 384 59Q364 -6 316 -39T184 -77H172Q102 -77 56 -48T6 30Q6 62 26 82T79 103ZM353 354Q353 556 354 596T361 645Q362 646 362 647H253Q257 639 258 628T261 547T262 312V-4L255 -17Q248 -29 250 -29Q253 -29 258 -28T277 -20T302 -5T327 22T348 65Q350 74 353 354ZM115 36Q115 47 105 57T79 67Q73 67 67 66T52 56T44 34Q44 9 62 -8Q66 -11 71 -15T81 -22T86 -24L90 -13Q100 3 102 5Q115 22 115 36'], - - // LATIN CAPITAL LETTER K - 0x4B: [683,1,778,22,768,'22 666Q22 676 33 683H351L358 679Q368 665 358 655Q351 648 324 648Q288 645 280 637Q275 631 274 605T273 477L275 343L382 446Q473 530 492 553T512 599Q512 617 502 631T475 648Q455 651 455 666Q455 677 465 680T510 683H593H720Q732 676 732 666Q732 659 727 654T713 648Q670 648 589 581Q567 562 490 489T413 415Q413 413 554 245T711 61Q737 35 751 35Q758 35 763 29T768 15Q768 6 758 -1H624Q491 -1 486 3Q480 10 480 17Q480 25 487 30T506 35Q518 36 520 38T520 48L400 195L302 310L286 297L273 283V170Q275 65 277 57Q280 41 300 38Q302 37 324 35Q349 35 358 28Q367 17 358 3L351 -1H33Q22 4 22 16Q22 35 60 35Q101 38 106 52Q111 60 111 341T106 632Q100 645 60 648Q22 648 22 666ZM240 341V553Q240 635 246 648H138Q141 641 142 638T144 603T146 517T146 341Q146 131 145 89T139 37Q138 36 138 35H246Q240 47 240 129V341ZM595 632L615 648H535L542 637Q542 636 544 625T549 610V595L562 606Q565 608 577 618T595 632ZM524 226L386 388Q386 389 378 382T358 361Q330 338 330 333Q330 332 330 332L331 330L533 90Q558 55 558 41V35H684L671 50Q667 54 524 226'], - - // LATIN CAPITAL LETTER L - 0x4C: [683,1,667,12,640,'12 666Q12 675 24 683H333L340 679Q350 665 340 655Q333 648 309 648Q287 646 279 643T266 630Q264 623 264 346Q264 68 266 57Q274 40 284 35H340Q413 37 460 55Q514 78 553 117T602 197Q605 221 622 221Q629 221 634 215T640 201Q638 194 625 105T611 12Q611 6 600 -1H24Q12 5 12 16Q12 35 51 35Q92 38 97 52Q102 60 102 341T97 632Q91 645 51 648Q12 648 12 666ZM137 341Q137 131 136 89T130 37Q129 36 129 35H237Q235 41 233 48L229 61L226 339Q226 621 229 628Q230 630 231 636T233 643V648H129Q132 641 133 638T135 603T137 517T137 341ZM580 48Q580 59 583 74T586 97Q586 98 585 97T579 92T571 86Q549 64 513 43L500 35H577L580 48'], - - // LATIN CAPITAL LETTER M - 0x4D: [683,1,944,17,926,'18 666Q18 677 27 680T73 683H146Q261 683 266 679L465 215Q469 215 566 443Q663 676 668 681Q673 683 790 683H908L915 679Q924 664 915 655Q912 648 897 648Q851 639 835 606L833 346Q833 86 835 79Q838 69 849 58T873 41Q877 40 887 38T901 35Q926 35 926 16Q926 6 915 -1H604L597 3Q588 19 597 28Q600 35 615 35Q660 42 673 68L679 79V339Q679 409 679 443T679 520T679 580T677 597Q646 521 584 375T473 117T424 3Q416 -1 410 -1T401 1Q399 3 273 301L148 599L146 343Q146 86 148 79Q152 69 163 58T186 41Q190 40 200 38T215 35Q226 35 235 28Q244 17 235 3L228 -1H28Q17 4 17 17Q17 35 39 35Q84 42 97 68L104 79V639L88 641Q72 644 53 648Q34 648 26 651T18 666ZM457 166Q451 169 449 171T435 198T404 268T344 412L244 648H157L166 637Q169 633 293 346L413 66Q424 88 435 117L457 166ZM817 646Q817 648 766 648H715V72L708 57Q701 45 697 41L695 37Q695 35 757 35H819L813 46Q802 61 800 76Q797 105 797 346L799 612L804 626Q812 638 815 641L817 646ZM124 42Q119 42 119 38Q119 35 128 35Q132 35 132 36Q125 42 124 42'], - - // LATIN CAPITAL LETTER N - 0x4E: [683,20,722,20,702,'20 664Q20 666 31 683H142Q256 683 258 681Q259 680 279 653T342 572T422 468L582 259V425Q582 451 582 490T583 541Q583 611 573 628T522 648Q500 648 493 654Q484 665 493 679L500 683H691Q702 676 702 666Q702 657 698 652Q688 648 680 648Q633 648 627 612Q624 601 624 294V-8Q616 -20 607 -20Q601 -20 596 -15Q593 -13 371 270L156 548L153 319Q153 284 153 234T152 167Q152 103 156 78T172 44T213 34Q236 34 242 28Q253 17 242 3L236 -1H36Q24 6 24 16Q24 34 56 34Q58 35 69 36T86 40T100 50T109 72Q111 83 111 345V603L96 619Q72 643 44 648Q20 648 20 664ZM413 419L240 648H120L136 628Q137 626 361 341T587 54L589 68Q589 78 589 121V192L413 419'], - - // LATIN CAPITAL LETTER O - 0x4F: [701,19,778,34,742,'131 601Q180 652 249 676T387 701Q485 701 562 661Q628 629 671 575T731 448Q742 410 742 341T731 234Q707 140 646 81Q549 -19 389 -19Q228 -19 131 81Q57 155 37 274Q34 292 34 341Q34 392 37 410Q58 528 131 601ZM568 341Q568 613 437 659Q406 664 395 665Q329 665 286 625Q232 571 213 439Q210 408 210 341Q210 275 213 245Q232 111 286 57Q309 37 342 23Q357 19 389 19Q420 19 437 23Q469 38 491 57Q568 132 568 341ZM174 341Q174 403 177 441T197 535T249 639Q246 639 224 627T193 608Q189 606 183 601T169 589T155 577Q69 488 69 344Q69 133 231 52Q244 45 246 45Q248 45 246 48Q231 69 222 85T200 141T177 239Q174 269 174 341ZM708 341Q708 415 684 475T635 563T582 610Q578 612 565 619T546 630Q533 637 531 637Q530 637 530 636V635L531 634Q562 591 577 543Q602 471 602 341V316Q602 264 599 230T580 144T531 48L530 47V46Q530 45 531 45Q533 45 547 52T583 75T622 105Q708 195 708 341'], - - // LATIN CAPITAL LETTER P - 0x50: [683,1,611,16,597,'16 666Q16 675 28 683H195Q334 683 370 682T437 672Q511 657 554 611T597 495Q597 343 404 309Q402 308 401 308Q381 303 319 303H261V181Q261 157 262 120Q262 60 267 50T304 36Q310 35 313 35Q352 35 352 17Q352 10 346 3L339 -1H28Q16 5 16 16Q16 35 53 35Q68 36 75 37T87 42T95 52Q98 61 98 341T95 630Q91 640 83 643T53 648Q16 648 16 666ZM235 35Q228 46 227 84Q226 129 226 337V621L230 635L237 648H128Q128 647 133 632Q136 620 136 341Q136 64 133 50L128 35H235ZM301 341H313Q339 341 354 344T389 362T417 410T426 498Q426 586 401 616T322 647Q301 647 293 643Q271 637 264 621Q261 617 261 479V341H301ZM429 350Q431 350 443 353T476 367T515 391T548 432T562 490Q562 550 524 592Q507 607 484 619Q481 621 448 635L433 639L439 621Q462 578 462 506Q462 448 454 413T437 366T428 350H429'], - - // LATIN CAPITAL LETTER Q - 0x51: [701,181,778,34,742,'480 -10Q480 -13 486 -24T507 -50T541 -80T588 -104T648 -114Q666 -114 688 -110T714 -106Q724 -106 728 -114T729 -130Q723 -145 663 -163T548 -181Q503 -181 463 -169T395 -139T343 -97T307 -56T284 -19L280 -3L262 1Q188 24 131 81Q57 155 37 275Q34 292 34 342T37 410Q58 528 131 601Q179 652 248 676T388 701Q485 701 562 661Q698 595 731 448Q742 410 742 341T731 235Q707 141 646 81Q616 50 575 27T493 -5L480 -10ZM568 342Q568 613 437 659L395 666Q329 666 286 626Q232 570 213 439Q210 408 210 342T213 246Q231 113 286 57Q309 37 342 23Q357 19 389 19Q420 19 437 23Q469 38 491 57Q568 134 568 342ZM174 341V354Q174 393 175 419T183 484T205 561T246 635L249 639Q246 639 224 627T193 608Q189 606 183 601T169 589T155 577Q69 491 69 344Q69 133 231 52Q247 42 247 46Q247 46 246 48Q231 69 222 85T200 141T177 239Q174 269 174 341ZM708 341Q708 410 689 467T640 556T588 606T546 630Q532 638 531 638Q530 638 531 635Q563 590 577 543Q602 472 602 341V316Q602 264 599 230T580 144T531 48Q529 44 532 45T546 52Q575 68 596 84T642 128T683 200T706 299Q708 327 708 341ZM391 -17H333Q329 -15 326 -15Q324 -15 324 -17Q324 -21 362 -68Q424 -130 506 -143Q518 -144 544 -144Q569 -144 577 -143L589 -141L575 -139Q544 -127 509 -101T453 -37L442 -19L391 -17'], - - // LATIN CAPITAL LETTER R - 0x52: [683,1,722,16,705,'17 665Q17 672 28 683H221Q415 681 439 677Q461 673 481 667T516 654T544 639T566 623T584 607T597 592T607 578T614 565T618 554L621 548Q626 530 626 497Q626 447 613 419Q578 348 473 326L455 321Q462 310 473 292T517 226T578 141T637 72T686 35Q705 30 705 16Q705 7 693 -1H510Q503 6 404 159L306 310H268V183Q270 67 271 59Q274 42 291 38Q295 37 319 35Q344 35 353 28Q362 17 353 3L346 -1H28Q16 5 16 16Q16 35 55 35Q96 38 101 52Q106 60 106 341T101 632Q95 645 55 648Q17 648 17 665ZM241 35Q238 42 237 45T235 78T233 163T233 337V621L237 635L244 648H133Q136 641 137 638T139 603T141 517T141 341Q141 131 140 89T134 37Q133 36 133 35H241ZM457 496Q457 540 449 570T425 615T400 634T377 643Q374 643 339 648Q300 648 281 635Q271 628 270 610T268 481V346H284Q327 346 375 352Q421 364 439 392T457 496ZM492 537T492 496T488 427T478 389T469 371T464 361Q464 360 465 360Q469 360 497 370Q593 400 593 495Q593 592 477 630L457 637L461 626Q474 611 488 561Q492 537 492 496ZM464 243Q411 317 410 317Q404 317 401 315Q384 315 370 312H346L526 35H619L606 50Q553 109 464 243'], - - // LATIN CAPITAL LETTER S - 0x53: [702,12,556,28,528,'54 238Q72 238 72 212Q72 174 106 121Q113 110 132 90T166 59Q221 23 264 23Q315 23 348 41Q368 50 384 79Q393 102 393 129Q393 181 356 219T221 299Q120 343 74 390T28 501Q28 561 55 610Q98 682 212 699Q214 699 231 700T261 701Q309 698 340 687T408 675Q431 678 445 690T465 702Q474 702 481 690V497L477 490Q464 481 450 490Q446 500 446 501Q446 546 386 606T260 666Q215 666 182 639T148 565Q148 528 186 496T319 428Q352 414 370 405T418 379T468 338T506 284Q528 239 528 191Q528 102 456 46T266 -10Q211 -10 176 2T110 15Q86 9 73 -1T53 -12Q44 -12 37 -1V112V182Q37 214 40 226T54 238ZM446 619Q446 648 444 648Q439 646 435 644Q425 644 415 639H404L417 624Q435 606 439 601L446 592V619ZM124 619L128 635Q126 635 108 617Q64 576 64 502Q64 489 65 479T76 449T102 414T150 376T228 335Q335 291 381 245T427 128Q427 94 419 75L415 61Q421 61 448 88Q490 127 490 190Q490 233 475 264Q456 299 430 321Q402 349 369 367T287 404T204 441Q138 481 119 526Q113 544 113 565Q113 596 124 619ZM75 43Q76 43 90 46T110 50H119L106 64L74 101Q72 101 72 72T75 43'], - - // LATIN CAPITAL LETTER T - 0x54: [683,1,667,33,635,'33 672Q36 680 44 683H624Q632 680 635 672V490L631 483Q621 479 617 479Q611 479 606 485T600 499Q600 525 584 552Q577 567 558 588T524 617Q479 642 426 646L415 648V355Q415 62 422 52Q425 42 434 40T473 35Q500 35 509 28Q518 17 509 3L502 -1H166L160 3Q149 17 160 28Q167 35 195 35Q224 37 234 39T249 52Q253 66 253 355V648L242 646Q192 642 144 617Q129 609 110 588T84 552Q69 527 69 499Q69 490 64 484T50 478Q39 478 33 490V672ZM113 639L126 648H69V597L84 612Q93 623 113 639ZM389 35Q382 46 381 86Q380 134 380 350V648H289V350Q289 199 288 131T286 53T280 35H389ZM600 597V648H542L555 639Q575 623 584 612L600 597'], - - // LATIN CAPITAL LETTER U - 0x55: [683,19,722,16,709,'16 666Q16 677 28 683H341L348 679Q359 665 348 654Q342 648 315 648Q270 644 266 632Q262 627 262 598T261 399Q261 372 261 325T260 260Q260 149 274 99T339 30Q355 25 393 25Q430 25 457 33T494 49T519 72Q562 115 575 205Q576 219 576 379Q576 538 575 550Q568 597 550 622T506 648Q498 648 493 654T487 667T499 683H697Q709 675 709 667T704 654T690 648Q653 648 633 597Q624 573 622 546T619 377Q617 193 613 174Q596 95 544 41Q477 -19 355 -19H344Q275 -16 226 5T153 57T120 110T106 154Q101 172 99 399Q99 618 95 632Q88 644 53 648Q16 648 16 666ZM228 639L233 648H128Q128 647 133 632Q135 621 135 412Q135 197 137 185Q148 115 181 79Q209 51 235 41Q242 36 258 31T277 25Q276 27 268 38T254 59T241 92T228 145Q226 161 226 399Q226 632 228 639ZM604 621Q606 626 619 648H577L586 634Q587 632 591 625T595 614L597 608L604 621'], - - // LATIN CAPITAL LETTER V - 0x56: [683,20,722,0,719,'316 683Q327 676 327 666Q327 648 302 648Q272 642 258 628Q249 621 249 608Q252 589 263 556T289 485T322 406T357 325T388 256T411 205L420 185Q423 185 473 317Q547 497 547 590Q547 621 541 632T516 648Q501 648 498 654Q488 664 498 679L504 683H607H660Q695 683 707 680T719 667Q719 660 714 654T700 648Q678 648 658 628L642 614L513 301Q484 231 449 148T397 25T380 -15Q373 -20 368 -20Q361 -20 358 -15Q354 -13 287 135T149 438T67 610Q45 648 18 648Q11 648 6 653T0 666Q0 677 9 680T59 683H164H316ZM216 614Q216 620 216 622T216 628T216 633T217 635T218 638T219 640T221 644T224 648H84L96 632Q118 592 236 330L367 43L387 88L404 132L380 185Q250 468 222 568Q216 590 216 614ZM576 645Q584 628 584 597L587 568L598 597Q609 624 618 637L624 648H600Q576 648 576 645'], - - // LATIN CAPITAL LETTER W - 0x57: [683,19,1000,5,994,'785 664Q785 670 795 683H982Q994 675 994 665Q994 650 975 648Q953 643 939 619Q931 593 823 292T710 -15Q706 -19 699 -19T688 -15Q682 -6 639 107T555 328T513 437Q513 438 500 409T462 325T413 212Q315 -14 310 -17Q308 -19 302 -19T288 -15L57 619Q45 643 24 648Q5 650 5 665Q5 677 17 683H146H200Q256 683 270 681T285 666Q285 659 280 654T268 648Q253 648 239 634Q230 630 230 619Q230 598 264 481L362 192Q363 193 428 341T493 492Q493 496 473 546T446 608Q426 648 399 648Q392 648 387 653T382 667Q382 678 393 683H679Q690 670 690 665Q690 662 685 655T673 648Q653 648 633 632L622 625V610Q626 576 657 479T719 300T751 218Q754 218 779 294Q847 492 847 581Q847 648 802 648Q796 648 791 652T785 664ZM194 623Q194 630 199 648H82L90 632Q99 616 199 332L302 50Q303 50 322 94T342 141Q342 142 305 245T231 467T194 623ZM585 620Q585 634 593 648H530Q466 648 466 645Q479 632 595 323L699 54Q701 56 718 103T735 154L702 245Q585 562 585 620ZM884 572L890 587Q896 602 903 620T915 645Q915 648 893 648H868L875 634Q883 598 883 576Q883 572 884 572'], - - // LATIN CAPITAL LETTER X - 0x58: [683,1,722,16,705,'22 666Q22 677 31 680T80 683H184H335Q346 675 346 667Q346 660 341 655Q335 648 315 648Q280 644 273 637Q273 630 300 583T356 492T386 448Q430 504 450 535T474 577T478 601Q478 620 469 634T444 648Q428 648 428 666Q428 678 436 680T488 683H559H630Q673 683 681 681T690 666Q690 648 673 648Q652 648 619 637Q571 615 517 550Q490 517 450 464T410 408Q415 399 501 273T617 106Q648 61 661 48T688 35Q705 35 705 16Q705 5 695 -1H539Q384 -1 379 3Q373 10 373 17Q373 27 380 31T408 35Q459 40 459 49Q459 59 418 129T335 259Q334 260 332 260Q328 260 273 197Q210 127 208 117Q199 104 199 82Q199 57 213 46T239 35Q247 35 252 29T257 15Q257 10 256 7T253 3T248 0L246 -1H28Q16 7 16 15T21 29T35 35Q61 35 117 88Q289 279 304 297Q307 303 255 377Q117 586 79 626Q60 648 39 648Q32 648 27 653T22 666ZM237 639V648H173Q113 647 113 646Q113 642 137 612Q186 546 302 373T453 139Q497 63 497 43Q497 39 495 35H559Q622 35 622 37Q622 38 583 94T486 233T373 399T277 552T237 639ZM553 637L566 648H504L508 637Q510 630 515 615V603L528 615Q529 616 539 625T553 637ZM170 46Q169 49 167 58T164 70V83L137 59L113 35H175Q175 38 170 46'], - - // LATIN CAPITAL LETTER Y - 0x59: [683,1,722,16,704,'16 659T16 667T28 683H295Q306 676 306 666Q306 648 284 648Q258 648 255 641Q255 634 265 615T339 479Q418 339 421 339L455 394Q489 448 523 502L557 557Q560 566 560 582Q560 637 504 648Q489 648 486 655Q475 664 486 679L493 683H693Q704 675 704 667Q704 650 684 648Q672 645 653 623Q633 604 614 576T517 426L439 301V183Q442 62 444 59Q449 35 504 35Q521 35 528 30Q538 16 528 3L521 -1H195L188 3Q178 16 188 30Q195 35 213 35Q266 35 273 59Q274 61 277 163V261L75 621Q64 638 58 643T37 648Q28 648 22 653ZM219 637V648H101Q110 634 215 446L313 270V166Q310 59 306 48L301 35H415L410 48Q404 65 404 175V290L317 443Q230 601 226 612Q219 625 219 637ZM608 630L624 648H575Q584 632 588 623L595 610L608 630'], - - // LATIN CAPITAL LETTER Z - 0x5A: [683,1,667,29,635,'39 -1Q29 9 29 12Q29 23 60 77T219 337L410 648H364Q261 648 210 628Q168 612 142 588T109 545T97 509T88 490Q85 489 80 489Q72 489 61 503L70 588Q72 607 75 628T79 662T81 675Q84 677 88 681Q90 683 341 683H592Q604 673 604 666Q604 662 412 348L221 37Q221 35 301 35Q406 35 446 48Q504 68 543 111T597 212Q602 239 617 239Q624 239 629 234T635 223Q635 215 621 113T604 8L597 1Q595 -1 317 -1H39ZM148 637L166 648H112V632Q111 629 110 622T108 612Q108 608 110 608T116 612T129 623T148 637ZM552 646Q552 648 504 648Q452 648 450 643Q448 639 266 343T77 37Q77 35 128 35H179L366 339L552 646ZM572 35Q581 89 581 97L561 77Q542 59 526 48L508 37L539 35H572'], - - // LATIN SMALL LETTER K - 0x6B: [683,1,556,17,534,'519 443Q519 426 497 426Q458 422 361 335Q328 308 315 295Q307 289 310 286T383 193T466 88Q507 35 517 35Q534 35 534 16Q534 5 524 -1H304L297 3Q288 19 297 28Q300 35 317 35Q320 36 324 36T330 37T333 39Q334 39 334 40Q334 47 304 86T244 162L215 199Q212 202 206 199Q201 195 201 137V121Q201 35 230 35Q238 35 243 29T248 15Q248 4 237 -1H28L21 3Q17 13 17 17Q17 24 22 29T35 35Q55 35 61 70Q63 78 63 341T61 612Q55 648 35 648Q27 648 22 654T17 668Q17 678 26 682Q27 683 28 683H108H147Q156 683 162 683T174 683T182 683T187 682T191 681T194 680T197 678T201 675V461L204 246L244 281Q254 291 272 307Q317 349 326 360T339 386Q340 390 340 398Q340 426 321 426Q314 426 309 431T304 445Q304 456 315 461H508Q519 448 519 443ZM166 359V648H126Q89 648 89 645Q89 644 89 644T90 643T91 640T93 634T95 626Q99 612 99 341T95 57Q94 53 93 49T91 43T90 39L89 37Q89 35 133 35Q176 35 176 37Q175 38 175 39Q175 42 170 57Q166 70 166 359ZM410 423Q412 425 407 426Q404 426 393 426Q373 426 373 423Q374 422 375 417T377 410Q377 399 379 399Q406 419 410 423ZM460 37Q460 41 368 152L281 263Q280 263 259 246L239 228Q298 157 355 79Q370 61 370 41V35H417Q460 35 460 37'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js deleted file mode 100644 index 53f4890b..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js +++ /dev/null @@ -1,359 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MathOperators.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // COMPLEMENT - 0x2201: [846,22,500,56,444,'404 269Q412 269 418 267T428 261T435 253T441 245L444 240V172Q444 103 443 96Q440 81 431 65T403 27T344 -7T250 -21T156 -8T97 27T69 65T58 96Q56 103 56 413Q56 722 58 729Q74 822 215 845Q221 846 229 846H243Q282 846 290 845Q422 826 443 729Q444 722 444 653V586L442 583Q441 580 440 578T436 573T430 567T423 562T415 558T404 556Q377 556 367 583Q364 590 364 654V719Q363 721 360 726T355 733Q326 766 250 766H249Q235 766 219 765T174 752T137 719V107Q145 83 178 71T251 58H254Q340 58 364 107V172Q364 176 364 187T363 204Q363 269 404 269'], - - // THERE DOES NOT EXIST - 0x2204: [860,166,556,55,497,'55 676Q55 688 66 694H199L333 696L351 772Q364 827 370 843T386 860Q393 860 399 854T406 841Q406 836 391 765L375 696Q375 694 431 694H484Q491 688 497 681V12L493 5L486 1L353 -1H219L202 -79Q184 -153 180 -159Q175 -166 165 -166Q146 -166 146 -148Q146 -141 161 -76T177 -4Q177 -1 122 -1H68Q55 12 55 20T66 39H126L186 41L219 181Q226 215 234 251T246 305T251 325Q251 328 166 328H79Q68 345 68 347Q68 352 75 359L82 368H262L291 505Q298 539 306 575T319 630T324 650V654H68Q55 669 55 676ZM457 368V654H411Q366 654 366 652Q365 651 361 634T349 580T333 514Q303 373 302 372V368H457ZM457 39V328H375Q293 328 293 325Q292 322 260 183T228 41T344 39H457'], - - // EMPTY SET - 0x2205: [587,3,778,55,720,'624 470Q624 468 639 446T668 382T683 291Q683 181 612 99T437 -1Q425 -2 387 -2T337 -1Q245 18 193 70L179 81L131 39Q96 8 89 3T75 -3Q55 -3 55 17Q55 24 61 30T111 73Q154 113 151 113Q151 114 140 130T115 177T95 241Q94 253 94 291T95 341Q112 431 173 495Q265 587 385 587Q410 587 437 581Q522 571 582 513L595 501L642 541Q689 586 695 586Q696 586 697 586T699 587Q706 587 713 583T720 568Q720 560 711 551T664 510Q651 499 642 490T628 475T624 470ZM564 477Q517 522 448 539Q428 546 375 546Q290 546 229 492T144 370Q133 332 133 279Q136 228 151 195Q157 179 168 160T184 141Q186 141 375 307T564 477ZM642 290Q642 318 637 343T625 386T611 416T598 436T593 444Q590 444 402 277T213 108Q213 104 231 89T293 55T392 37Q495 37 568 111T642 290'], - - // SMALL CONTAINS AS MEMBER - 0x220D: [440,1,429,102,456,'154 -1Q122 -1 112 3T102 26Q102 63 158 63H178Q192 64 206 65T228 66T240 68Q301 85 324 146L329 157H244Q158 157 153 161Q149 162 145 169T140 183Q140 201 158 215L167 221H256L344 223L349 237Q352 262 352 287Q352 308 351 315Q341 352 315 368T256 385Q231 385 206 376T166 356T149 346Q143 346 138 364T132 388Q132 396 147 406Q198 440 252 440Q291 440 318 435Q421 404 451 301Q456 288 456 248V234Q456 151 391 86Q330 25 240 3Q212 -1 154 -1'], - - // MINUS SIGN - 0x2212: [270,-230,500,84,417,'84 237T84 250T98 270H402Q417 262 417 250T402 230H98Q84 237 84 250'], - - // DOT PLUS - 0x2214: [766,93,778,57,722,'339 717Q339 739 354 752T388 766Q410 766 424 751T439 716T424 681T390 666Q369 666 354 681T339 717ZM57 237T57 250T71 270H369V425L370 581Q380 594 389 594Q402 594 409 579V270H707Q722 262 722 250T707 230H409V-79Q401 -93 391 -93H389H387Q375 -93 369 -79V230H71Q57 237 57 250'], - - // SET MINUS - 0x2216: [430,23,778,91,685,'91 404T91 410T97 423T111 430Q117 430 395 224Q676 13 678 10Q685 3 685 -3T678 -16T664 -23Q658 -23 380 184T98 397Q91 404 91 410'], - - // PROPORTIONAL TO - 0x221D: [472,-28,778,56,722,'56 250Q56 346 122 409T276 472Q349 472 407 430T486 326L489 316Q490 317 493 326T501 345T514 367T531 393Q557 425 602 448T698 472Q722 472 722 452Q722 437 702 435T642 421T571 377Q520 323 520 250Q520 179 568 126T693 68Q722 66 722 48Q722 28 698 28Q636 28 576 67T493 174L490 184Q489 181 483 167T475 150T468 136T458 120T447 107T432 90T412 73Q350 28 277 28Q188 28 122 91T56 250ZM199 68T278 68T408 122T459 250Q459 322 414 370T308 430Q302 431 273 431Q204 431 150 380T96 250Q96 176 147 122'], - - // ANGLE - 0x2220: [694,0,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q67 43 346 361Q397 420 474 508Q595 648 616 671T647 694T661 688T666 674Q666 668 663 663Q662 662 627 622T524 503T390 350L120 41L386 40H653Q666 30 666 20Q666 8 651 0H71'], - - // MEASURED ANGLE - 0x2221: [714,20,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q64 38 348 373T638 712Q644 714 646 714Q653 714 659 709T666 694V693Q666 687 633 647Q619 631 576 580Q528 524 495 485Q336 296 329 289Q328 288 348 264T395 182T433 54L434 40H651Q666 32 666 20T651 0H436Q431 -20 416 -20Q400 -20 396 -4V0H71ZM394 40Q394 51 389 76T366 149T319 234L302 256L119 41L256 40H394'], - - // SPHERICAL ANGLE - 0x2222: [551,51,722,55,666,'666 -32Q666 -51 646 -51Q639 -51 365 85L75 228Q55 238 55 250Q55 257 59 262T68 268L72 270L611 536Q642 551 647 551T659 547T666 532Q666 521 657 515L525 449Q525 448 535 424T556 352T566 250T556 148T536 77T525 51L657 -15Q666 -21 666 -32ZM526 250Q526 297 517 342T499 409T488 431Q487 431 304 341T121 250T304 159T488 69Q526 143 526 250'], - - // DIVIDES - 0x2223: [430,23,222,91,131,'91 417Q104 430 111 430T131 417V-10Q116 -23 111 -23T91 -10V417'], - - // DOES NOT DIVIDE - 0x2224: [750,252,278,-20,296,'118 737Q131 750 138 750L151 746L158 739V579L160 421L213 470Q269 519 276 519Q284 519 290 513T296 499V498Q296 493 291 488T244 445Q225 428 213 417L158 368V-239Q143 -252 136 -252L124 -248L120 -241L118 44V328L62 279Q4 231 0 230Q-8 230 -14 236T-20 250Q-20 257 -11 265T62 332L118 384V737'], - - // PARALLEL TO - 0x2225: [431,23,389,55,331,'55 417Q69 431 76 431T95 419V-12Q84 -23 76 -23Q72 -23 69 -22T62 -16T55 -10V417ZM293 419Q300 431 310 431L324 424L331 417V-10Q316 -23 309 -23L297 -19L293 -12V419'], - - // NOT PARALLEL TO - 0x2226: [751,250,500,-20,518,'131 737Q134 739 138 743T144 748T151 750T171 737V199L327 357V737Q340 750 347 750Q351 750 353 749T360 743T367 737V397L429 457Q493 518 498 519Q506 519 512 512T518 500Q518 489 442 417L367 339V-237Q352 -250 346 -250L333 -243L327 -237V301L171 143V-237Q156 -250 151 -250T131 -237V101L69 41Q24 -3 15 -12T0 -21Q-8 -21 -14 -14T-20 -2Q-20 5 -7 19T56 81L131 159V737'], - - // THEREFORE - 0x2234: [471,82,667,24,643,'273 411Q273 437 291 454T334 471Q358 471 375 454T393 411T376 368T333 351Q307 351 290 368T273 411ZM84 38Q110 38 126 21T143 -22Q143 -46 127 -64T83 -82Q57 -82 41 -65T24 -22Q24 4 41 21T84 38ZM524 -22Q524 4 541 21T584 38Q608 38 625 21T643 -22Q643 -45 627 -63T583 -82Q557 -82 541 -65T524 -22'], - - // BECAUSE - 0x2235: [471,82,667,23,644,'23 411Q23 437 41 454T84 471Q108 471 125 454T143 411T126 368T83 351Q57 351 40 368T23 411ZM523 411Q523 437 541 454T584 471Q608 471 625 454T643 411T626 368T583 351Q557 351 540 368T523 411ZM274 -22Q274 4 291 21T334 38Q356 38 374 22T392 -22T375 -65T333 -82Q307 -82 291 -65T274 -22'], - - // TILDE OPERATOR - 0x223C: [365,-132,778,55,719,'73 132Q55 132 55 172Q55 220 79 272Q95 301 111 319Q148 353 195 363Q199 364 212 364Q262 364 294 350T408 272Q472 222 522 212Q537 208 555 208Q606 208 646 243Q671 268 680 296T691 342T702 365Q713 365 716 354T719 314Q714 236 664 179L660 176Q657 173 654 170T644 163T631 154T615 146T596 139T574 134T549 132Q510 132 465 156T386 211T307 265T223 290Q162 290 124 249T86 165Q86 155 82 144T73 132'], - - // REVERSED TILDE - 0x223D: [367,-133,778,56,722,'222 133Q147 133 102 197T56 335Q56 362 66 365Q71 369 77 364Q83 356 84 335T90 298Q102 254 137 222T223 189Q258 189 292 206T355 250T413 301T477 346T550 367Q628 367 673 309T722 171Q722 133 708 133Q703 133 699 141T694 162Q694 220 655 265T555 311Q519 311 485 293T421 248T363 196T298 152T222 133'], - - // stix-not, vert, similar - 0x2241: [467,-32,778,55,719,'220 366Q258 366 297 347T361 308T391 288Q394 288 464 370Q494 407 510 425T535 454T546 465T552 467H553Q560 467 566 461T573 448Q573 439 499 350Q424 266 424 261Q424 259 442 247T492 222T554 209Q607 209 646 243Q671 268 680 295T690 341T702 366Q719 366 719 314Q716 265 695 226Q682 199 664 179Q614 132 555 132Q517 132 477 151T412 190T383 210T347 172T278 89T233 37Q228 32 220 32Q210 32 206 38T201 48Q201 57 266 137Q272 144 275 148Q351 231 351 237Q351 239 333 251T283 276T221 289Q159 289 123 248T86 166Q86 156 82 145T73 132Q55 132 55 172Q55 220 79 272Q95 301 111 319Q161 366 220 366'], - - // MINUS TILDE - 0x2242: [463,-34,778,55,720,'55 439T55 443T56 449T62 456T68 463H706Q720 449 720 443T706 423H68Q55 439 55 443ZM56 72Q56 112 73 152T130 225T224 257Q259 257 294 240T360 199T419 149T484 107T553 90Q603 90 643 125T691 223Q693 257 704 257Q717 257 717 221Q717 147 671 91T554 34Q517 34 481 51T414 93T355 142T291 184T222 201Q172 201 131 167T84 67Q81 34 71 34Q56 37 56 72'], - - // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO - 0x2246: [652,155,778,54,720,'55 417Q55 479 101 528T222 578Q259 578 294 564T393 507Q413 493 434 480T469 460T484 454L537 549Q587 639 595 647Q600 652 607 652Q615 652 621 647T628 634Q628 625 575 536Q524 446 524 443Q527 440 555 440Q603 440 644 469T691 547Q694 578 706 578T718 556Q718 555 718 551T717 545Q717 488 684 445T595 387Q582 384 558 384Q530 384 508 389L493 394L404 238L557 236H708Q720 224 720 217T706 196H379L291 43L499 41H708Q720 29 720 21T706 1H268L226 -71Q186 -143 179 -148Q173 -155 165 -155T152 -150T146 -137Q146 -133 184 -64L222 1H144L66 3L59 7Q54 14 54 20Q54 29 66 41H246L333 194Q333 196 202 196H68Q55 211 55 218T66 236H213L357 238L457 409L437 421Q432 423 393 450T307 500T222 523Q171 523 129 491T84 414Q82 383 70 383Q55 383 55 417'], - - // ALMOST EQUAL TO - 0x2248: [481,-49,778,55,719,'55 326Q55 394 101 437T226 481Q268 479 313 460T392 419T469 379T555 361Q622 361 662 401Q686 423 688 450Q693 479 702 479H705Q719 479 719 442Q719 367 670 327T554 286Q512 286 466 304T386 345T307 385T220 404Q184 404 157 394T120 374L111 363Q86 339 86 317Q86 288 71 288Q55 288 55 326ZM55 90Q55 164 105 205T226 246Q269 243 314 224T392 183T470 144T558 126Q622 126 662 166Q686 187 688 214Q693 244 704 244Q716 244 719 210Q719 165 702 132T658 82T605 58T552 50T498 58T447 77T384 110Q322 146 302 152Q263 168 220 168Q179 168 144 152Q128 147 107 125T86 81Q86 52 71 52Q55 52 55 90'], - - // ALMOST EQUAL OR EQUAL TO - 0x224A: [579,39,778,51,725,'220 523Q163 523 124 486T84 412Q81 383 69 383Q56 383 56 413Q56 441 67 470Q78 508 111 537T187 575Q203 579 219 579Q248 579 271 572Q304 565 393 508Q498 439 551 439Q620 439 662 486Q688 512 693 557Q693 565 697 572T707 579Q719 579 719 548Q719 483 673 434T550 384Q512 384 467 405T386 453T305 501T220 523ZM222 288Q164 288 124 251T84 177Q81 148 69 148Q56 148 56 178Q56 206 67 235Q78 274 111 302T187 339Q198 343 220 343Q244 343 259 341T308 322T393 272Q496 203 553 203Q612 203 651 241T691 312Q693 343 705 343Q719 343 719 313Q719 245 673 199Q626 148 552 148Q513 148 467 170T385 218T304 266T222 288ZM51 -19Q51 -6 62 -1H387Q713 -1 715 -3Q725 -10 725 -20Q725 -27 718 -34Q714 -38 672 -38T387 -39H62Q51 -25 51 -19'], - - // GEOMETRICALLY EQUIVALENT TO - 0x224E: [492,-8,778,56,723,'245 367Q251 415 288 453T392 492Q445 492 485 456T532 367H707Q722 359 722 347Q722 334 711 331T665 327H608H509Q500 332 498 336Q496 338 493 363T472 411Q443 451 389 451H387Q335 451 305 411Q290 392 287 374T282 344T268 327H72Q56 332 56 347Q56 360 70 367H245ZM56 153Q56 168 72 173H268Q277 168 279 164Q281 162 284 137T305 89Q334 49 389 49H391Q442 49 472 89Q487 108 490 126T495 156T509 173H608H666Q701 173 711 170T722 153T707 133H532Q526 81 486 45T389 8Q331 8 291 45T245 133H70Q56 140 56 153'], - - // DIFFERENCE BETWEEN - 0x224F: [492,-133,778,56,722,'245 367Q251 415 288 453T392 492Q445 492 485 456T532 367H707Q722 359 722 347Q722 334 711 331T665 327H608H509Q500 332 498 336Q496 338 493 363T472 411Q443 451 389 451H387Q335 451 305 411Q290 392 287 374T282 344T268 327H72Q56 332 56 347Q56 360 70 367H245ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], - - // GEOMETRICALLY EQUAL TO - 0x2251: [609,108,778,56,722,'421 474T389 474T339 493T321 541Q321 566 337 587T391 609Q456 602 456 541Q456 512 439 493ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM421 -108T389 -108T339 -89T321 -41Q321 -16 337 5T391 27Q456 20 456 -41Q456 -70 439 -89'], - - // APPROXIMATELY EQUAL TO OR THE IMAGE OF - 0x2252: [601,101,778,15,762,'15 541Q15 569 33 585T75 601T117 585T135 541Q135 514 118 498T75 481T32 498T15 541ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM642 -41Q642 -17 658 0T702 18Q726 18 744 3T762 -41Q762 -67 745 -84T702 -101Q676 -101 659 -85T642 -41'], - - // IMAGE OF OR APPROXIMATELY EQUAL TO - 0x2253: [601,102,778,14,762,'642 541Q642 569 660 585T702 601T744 585T762 541Q762 515 745 498T702 481Q676 481 659 497T642 541ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM14 -41Q14 -15 31 1T74 18Q101 18 118 0T135 -41Q135 -64 118 -83T75 -102Q51 -102 33 -85T14 -41'], - - // RING IN EQUAL TO - 0x2256: [367,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 334 711 331T658 327H586H465L472 318Q496 288 496 250T472 182L465 173H586H663Q700 173 711 170T722 153T707 133H70Q56 140 56 153Q56 168 72 173H312L305 182Q281 212 281 250T305 318L312 327H72Q56 332 56 347ZM473 250Q473 265 472 273T460 297T428 327H349Q328 313 318 298T306 273T304 250Q304 235 305 227T317 203T349 173H428Q449 187 459 202T471 227T473 250'], - - // RING EQUAL TO - 0x2257: [721,-133,778,56,722,'279 612Q279 656 310 688T388 721Q433 721 465 689T498 612Q498 573 470 538T389 503Q336 503 308 538T279 612ZM458 614Q458 637 452 651T433 672T411 679T383 680T352 675T333 664T324 647T321 629T320 611Q320 593 321 584T332 562T359 545Q366 543 389 543H391Q406 543 414 544T435 552T452 573T458 614ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], - - // DELTA EQUAL TO - 0x225C: [859,-133,778,56,723,'192 482H190Q187 483 185 484T181 488T177 493T175 501Q175 506 178 512Q184 523 278 687T375 853Q379 857 383 857Q385 857 387 858T390 859Q397 859 403 853Q405 851 499 687T600 512Q603 506 603 501Q603 488 587 482H192ZM548 523L389 798Q388 798 309 661T230 523T389 522T548 523ZM56 347Q56 360 70 367H708Q723 359 723 347Q723 336 709 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H709Q723 163 723 153Q723 140 708 133H70Q56 140 56 153'], - - // LESS-THAN OVER EQUAL TO - 0x2266: [753,175,778,83,694,'674 753Q682 753 688 747T694 732T687 718Q686 717 417 589L151 463L399 345Q687 209 691 204Q694 198 694 193Q694 175 676 173H670L382 309Q92 446 90 448Q83 453 83 465Q84 476 96 482Q104 486 382 617T665 751Q669 753 674 753ZM84 39Q84 49 99 59H678Q694 53 694 39Q694 26 679 19H98Q84 26 84 39ZM83 -157Q83 -153 84 -150T86 -145T89 -141T92 -139T96 -137T99 -135H678Q694 -146 694 -155Q694 -168 679 -175H98Q84 -168 83 -157'], - - // GREATER-THAN OVER EQUAL TO - 0x2267: [753,175,778,82,694,'83 733Q83 741 89 747T99 753Q107 753 253 685T543 548T687 478Q694 473 694 463T687 448Q685 446 395 309L107 173H101Q83 175 83 193Q83 194 83 196Q82 203 98 212Q117 222 248 284Q326 321 378 345L626 463L360 589Q291 622 200 665Q112 706 98 714T83 733ZM84 39Q84 49 99 59H678Q694 53 694 39Q694 26 679 19H98Q84 26 84 39ZM83 -157Q83 -153 84 -150T86 -145T89 -141T92 -139T96 -137T99 -135H678Q694 -146 694 -155Q694 -168 679 -175H98Q84 -168 83 -157'], - - // stix-less, vert, not double equals - 0x2268: [752,286,778,82,694,'86 472Q93 477 381 614T673 752Q680 752 686 746T693 732T689 721Q686 715 418 590L151 461L418 332Q684 207 689 201Q693 195 693 190Q693 183 687 177T675 170Q668 170 380 307T86 450Q82 454 82 461Q82 467 86 472ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], - - // stix-gt, vert, not double equals - 0x2269: [752,286,778,82,693,'89 745Q95 752 100 752Q106 752 394 615T689 472Q693 468 693 461T689 450Q684 445 396 308T100 170Q95 170 89 176T82 190Q82 195 86 201Q91 208 358 332L624 461L358 590Q90 715 86 721Q82 725 82 731Q82 739 89 745ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], - - // BETWEEN - 0x226C: [751,251,500,74,425,'104 730Q104 749 123 749Q130 749 138 745Q186 717 237 671L250 659L261 670Q297 703 332 726T375 750T389 744T395 730Q395 721 390 717T364 699T322 668Q290 641 283 632Q280 628 281 627T293 612Q425 454 425 250Q425 144 388 51T293 -112Q282 -125 281 -126T283 -132Q306 -162 379 -209Q395 -219 395 -230Q395 -238 389 -244T375 -250T335 -228T262 -171L250 -159L238 -170Q202 -203 167 -226T124 -250T110 -244T104 -230Q104 -219 121 -209Q199 -156 216 -132Q219 -128 218 -127T206 -112Q74 46 74 250T206 612Q217 625 218 626T216 632Q199 656 121 709Q104 719 104 730ZM249 -94Q364 61 364 250Q364 430 265 574Q253 590 249 594L242 583Q134 439 134 250Q134 114 192 -1Q212 -44 242 -83L249 -94'], - - // stix-not, vert, less-than - 0x226E: [709,209,778,82,693,'693 -14T693 -20T687 -33T675 -41Q667 -41 506 37L344 112Q342 112 262 -46Q184 -196 176 -205Q172 -209 168 -209T162 -208Q155 -208 151 -203T146 -190Q146 -178 171 -137Q193 -91 251 21L306 132L198 183Q142 208 118 220T88 238T82 249Q82 253 86 261Q92 267 278 357L464 443L529 572Q561 637 577 667T597 703T607 708Q615 708 622 702T629 688Q629 680 575 579L524 474Q524 473 545 482T598 508Q666 541 673 541T686 535T693 521Q693 512 679 504T589 459L493 414L360 150Q366 148 378 142T431 116T529 70Q686 -8 689 -10Q693 -14 693 -20ZM380 277L433 383Q432 385 292 319T151 250T237 209T324 170L380 277'], - - // stix-not, vert, greater-than - 0x226F: [708,209,778,82,693,'82 514T82 520T89 533T100 541Q106 541 271 463Q434 386 435 386L515 543Q593 699 600 706Q604 708 607 708Q615 708 622 702T629 688T549 526Q509 445 491 407T473 368Q522 343 580 317Q636 291 660 278T688 261T693 250V249Q693 241 681 234T580 184Q533 161 502 146Q317 59 315 59Q312 56 246 -74Q197 -170 186 -189T168 -209Q164 -209 162 -208Q155 -208 151 -203T146 -190Q146 -187 200 -79L253 28L218 11Q182 -6 144 -23T100 -41Q95 -41 89 -35T82 -21Q82 -12 96 -4T186 41L284 88L349 217Q377 273 395 311T413 350Q413 351 253 428Q101 498 86 510Q82 514 82 520ZM624 250Q461 330 455 330Q454 331 453 329T448 321T441 308T430 287T416 259T398 223L342 114L624 250'], - - // stix-not, vert, less-than-or-equal - 0x2270: [801,303,778,81,694,'82 -124Q82 -120 83 -117T89 -110T95 -103H220L284 50Q346 204 344 206L218 268Q153 297 123 313T87 333T82 344T86 355Q104 369 291 455Q491 552 491 553L542 673Q581 767 590 784T609 801Q616 801 622 795T629 781Q629 773 586 677Q546 581 546 577L609 606Q669 635 673 635Q680 635 686 629T693 615Q693 610 692 608T670 593T604 561L524 521L400 226L542 157Q617 123 649 107T687 85T694 72Q694 66 690 60T679 54Q664 54 526 121Q513 127 495 136T464 150T438 162T416 173T399 180T388 185L384 186Q383 186 322 41L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H146L93 -141Q82 -134 82 -124ZM418 370L466 495Q464 495 308 420T151 344T204 317T311 267T364 244Q364 247 418 370'], - - // stix-not, vert, greater-than-or-equal - 0x2271: [801,303,778,82,694,'97 54Q82 54 82 72Q82 79 86 84Q95 91 222 153L351 215L398 324L442 433L258 519Q95 597 87 604Q82 608 82 615T88 628T102 635Q107 635 424 484L458 468L524 630Q593 789 597 795Q601 801 609 801Q616 801 622 795T629 781L562 615L493 450L589 406Q665 371 679 362T694 344Q694 339 693 337T677 326T631 302T538 257Q504 241 465 223T406 195T386 186Q384 185 322 39L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H146L93 -141Q82 -134 82 -124Q82 -120 83 -117T89 -110T95 -103H220L273 26Q326 156 326 157L218 106Q109 54 97 54ZM553 379Q480 412 480 415Q479 415 460 372T423 285T406 241Q408 240 516 291T624 344L553 379'], - - // stix-less-than or (contour) similar - 0x2272: [732,228,778,56,722,'674 732Q682 732 688 726T694 711T687 697Q686 696 417 568L151 442L399 324Q687 188 691 183Q694 177 694 172Q694 154 676 152H670L382 288Q92 425 90 427Q83 432 83 444Q84 455 96 461Q104 465 382 596T665 730Q669 732 674 732ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], - - // stix-greater-than or (contour) similar - 0x2273: [732,228,778,56,722,'90 697Q83 704 83 712T88 726T99 732Q107 732 253 664T543 527T687 457Q694 452 694 442T687 427Q685 425 395 288L107 152H101Q83 154 83 172Q83 173 83 175Q82 182 98 191Q117 201 248 263Q326 300 378 324L626 442L360 568Q91 696 90 697ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], - - // LESS-THAN OR GREATER-THAN - 0x2276: [681,253,778,44,734,'734 181Q734 173 728 167T714 161Q711 161 386 280T54 404Q44 408 44 421Q44 432 52 437Q66 443 388 562T714 681Q721 681 727 675T734 661Q734 651 722 645Q711 639 462 546Q441 539 420 531L122 421L420 311L723 198Q734 192 734 181ZM44 247Q44 255 50 261T63 267Q66 267 391 148T723 24Q734 18 734 7T723 -10Q716 -14 391 -133T63 -253Q56 -253 50 -247T44 -233Q44 -223 55 -217Q67 -210 317 -118Q337 -110 357 -103L655 7L357 117L54 230Q44 236 44 247'], - - // GREATER-THAN OR LESS-THAN - 0x2277: [681,253,778,83,694,'83 661Q83 668 88 674T104 681Q111 679 396 560Q686 437 687 436Q694 431 694 421T687 406Q686 405 543 344T253 222T101 161Q83 163 83 180Q83 194 95 199Q96 199 130 213T232 257T361 311L621 421L357 532Q307 553 233 584Q121 631 102 640T83 661ZM673 267Q694 267 694 248Q694 237 687 232Q684 229 420 118L156 7L416 -103L683 -215Q694 -222 694 -233Q694 -251 676 -253Q670 -253 524 -192T235 -70T90 -8Q83 -1 83 7Q83 19 94 24Q97 25 378 144T667 266Q669 267 673 267'], - - // PRECEDES OR EQUAL TO - 0x227C: [580,153,778,83,694,'112 270Q83 270 83 290Q83 301 94 307Q98 310 118 310Q516 310 620 464Q635 486 642 510T651 548T657 571T675 580Q693 577 693 559V552Q684 472 628 410T465 314Q436 303 372 290Q373 290 388 287T425 278T465 266Q674 199 693 28L694 17Q688 5 683 3Q677 0 673 0Q656 0 653 24Q623 270 118 270H112ZM110 116Q83 116 83 136T110 156H113Q134 156 160 155T231 146T318 128T407 95T489 44T550 -30T583 -131Q583 -153 563 -153Q556 -153 553 -152T547 -145T542 -127Q531 -54 478 0Q425 53 333 83T123 116H110'], - - // SUCCEEDS OR EQUAL TO - 0x227D: [580,154,778,83,694,'668 310Q694 310 694 290Q694 285 691 279Q684 271 664 270Q550 268 464 257T301 220T179 146T124 27Q119 0 103 0T83 16Q83 21 83 31T92 68T113 121T157 177T229 231Q295 268 405 290Q404 290 389 293T352 302T312 314Q138 371 96 500Q83 541 83 562Q83 568 89 574T103 580Q115 580 120 570T126 542T138 497T173 442Q289 310 659 310H668ZM194 -131Q201 -60 241 -6T343 82T477 133T628 155Q632 155 644 155T661 156Q685 155 690 147Q694 143 694 136Q694 132 693 129T689 124T685 120T681 117L656 116Q596 114 543 106T436 79T342 35T272 -33T235 -127Q231 -154 212 -154Q203 -153 199 -147T194 -136V-131'], - - // PRECEDES OR EQUIVALENT TO - 0x227E: [732,228,778,56,722,'84 442Q84 455 91 459T117 463Q120 463 126 463T137 462Q388 466 512 526T653 705Q657 732 676 732Q685 731 689 725T694 714V708Q689 662 672 624T626 559T569 513T500 479T435 458T373 442Q379 441 404 435T440 426T477 414T533 392Q592 362 630 319T681 241T694 174Q694 153 674 153Q662 153 657 163T652 188T640 231T606 287Q500 416 137 422H114Q104 422 98 423T88 428T84 442ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], - - // SUCCEEDS OR EQUIVALENT TO - 0x227F: [732,228,778,56,722,'84 710Q84 732 102 732Q115 732 119 722T125 696T137 652T171 597Q277 468 640 462H661Q694 462 694 442T661 422H640Q578 421 526 417T415 403T309 376T222 333T156 268T124 179Q122 162 118 158T103 153Q100 153 98 153T95 154T93 155T90 158T85 163Q83 167 83 176Q88 222 105 260T151 325T208 371T277 405T342 426T404 442Q401 443 380 447T345 456T302 469T245 492Q125 551 92 661Q84 695 84 710ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], - - // DOES NOT PRECEDE - 0x2280: [705,208,778,82,693,'386 292Q388 292 439 393T543 598T598 703Q599 703 603 704T609 705Q616 705 622 699T629 685T533 494Q440 308 440 305Q451 310 462 312Q547 342 592 388T651 505Q654 525 658 532T673 539Q680 539 686 533T693 519Q693 495 678 450Q638 341 500 283Q433 259 418 259Q416 259 411 251T406 241T415 239Q482 224 544 190Q674 121 691 -10Q693 -28 691 -32Q684 -43 672 -43Q664 -43 658 -37Q656 -33 650 -6T634 47T589 109T500 168Q473 179 436 190T388 201H386L284 -1Q261 -45 232 -101T191 -181T178 -206Q176 -206 172 -207T166 -208Q160 -208 153 -202T146 -188Q146 -185 246 12Q344 206 344 210Q344 213 305 217T213 225T124 228H95Q82 241 82 248Q82 253 95 268H124Q172 268 236 273T343 283T386 292'], - - // stix-not (vert) succeeds - 0x2281: [705,208,778,82,693,'103 -43Q96 -43 89 -39T82 -26L84 -10Q105 141 275 212Q342 236 355 236Q360 236 364 245L369 256H360Q284 280 275 283Q115 351 86 490Q82 507 82 517Q82 526 88 532T103 538Q110 538 115 534Q119 531 122 517T128 486T143 444T174 397T231 351T320 310Q371 292 389 292L491 496Q595 701 598 703Q599 703 603 704T609 705Q616 705 622 699T629 685Q629 684 531 485Q431 296 431 288Q431 278 520 273T651 268H680Q693 253 693 248Q693 241 680 228H651Q591 228 491 218T386 201L284 -1Q261 -45 232 -101T191 -181T178 -206Q176 -206 172 -207T166 -208Q160 -208 153 -202T146 -188Q146 -182 302 125L335 190L324 185Q313 185 289 172Q241 153 208 128T159 78T135 31T124 -11T118 -37Q112 -43 103 -43'], - - // stix-/nsubseteq N: not (vert) subset, equals - 0x2288: [801,303,778,83,693,'146 -283Q146 -282 174 -213T202 -143H115Q102 -127 102 -123T115 -103H220L291 68L278 73Q203 101 153 157T86 288Q83 309 83 344Q83 380 86 399Q107 480 160 539Q222 601 298 621Q328 630 345 631T435 635L526 637L560 715Q587 778 593 789T609 801Q616 801 622 795T629 781Q629 780 625 771T614 742T600 706L571 637Q571 635 626 635H680Q693 620 693 613T689 601L682 597L618 595H553L449 346Q425 288 399 223T359 127T346 95H356Q365 95 381 95T417 94T463 93T515 93H682Q693 82 693 74T680 53H511Q420 55 335 55L329 57L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283ZM509 590Q509 595 438 595Q354 595 318 586Q246 567 195 516T126 395Q123 378 123 344T126 293Q141 229 184 181T291 110L306 104L406 346L509 590'], - - // stix-/nsupseteq N: not (vert) superset, equals - 0x2289: [801,303,778,82,691,'82 606T82 613T95 635H251H348Q408 635 435 632T502 615L515 608L520 617Q520 619 558 708Q584 774 591 787T609 801Q616 801 622 795T629 781Q629 775 562 615L551 590L569 577Q646 527 678 437Q691 398 691 344T678 250Q653 182 597 132T469 64Q427 53 366 53H326L295 -25L262 -103H660Q673 -118 673 -124Q673 -129 669 -136L662 -141L453 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H95Q82 -128 82 -123T95 -103H220L251 -25L284 53H189L93 55L86 59Q82 64 82 71T95 93H302L400 333Q498 569 498 573L444 590Q431 593 260 595L93 597L86 601Q82 606 82 613ZM652 344V354Q652 451 575 521Q571 526 557 538T537 551Q534 551 533 548Q533 543 438 319L344 95L371 93H386Q487 93 557 150T649 293Q652 309 652 344'], - - // stix-subset, not equals, variant - 0x228A: [635,241,778,84,693,'693 72Q693 68 692 66T686 59T680 52H524Q398 52 367 53T309 63Q236 82 180 132T98 250Q84 288 84 343Q84 397 98 437Q126 515 193 568T346 632Q347 632 373 633T440 634T520 635H680Q693 620 693 615Q693 608 680 595H526Q364 595 353 592Q279 582 221 539T138 430Q124 392 124 343Q124 296 138 257Q163 192 221 149T353 95Q364 92 526 92H680Q693 79 693 72ZM102 -132T102 -125T115 -103H382L420 -68Q429 -60 438 -52T452 -39T463 -28T472 -20T478 -14T483 -10T487 -7T490 -6T493 -5T496 -5Q502 -5 508 -12T515 -28Q515 -34 513 -37Q512 -38 507 -42T492 -55T475 -70L440 -101L562 -103H682Q693 -114 693 -122T680 -143H395L355 -179Q289 -241 280 -241Q273 -241 267 -235T260 -221T265 -208T300 -174L335 -143H224L113 -141L106 -137Q102 -132 102 -125'], - - // stix-superset, not equals, variant - 0x228B: [635,241,778,82,691,'82 615Q82 620 95 635H251Q378 635 409 634T469 623Q540 605 596 555T678 437Q691 397 691 343T678 250Q649 172 581 119T426 55Q415 52 251 52H95Q93 55 89 59T84 65T82 72Q82 79 95 92H249Q411 92 422 95Q496 105 554 148T638 257Q651 296 651 343Q651 391 638 430Q613 495 555 538T422 592Q411 595 249 595H95Q82 608 82 615ZM82 -132T82 -125T95 -103H380L420 -57Q452 -21 460 -14T474 -6Q482 -6 488 -12T495 -25T451 -81L433 -101L549 -103H662Q673 -114 673 -122T660 -143H395L355 -190Q311 -239 309 -239Q305 -241 302 -241Q294 -241 287 -235T280 -221T324 -163L342 -143H218L93 -141L86 -137Q82 -132 82 -125'], - - // SQUARE IMAGE OF - 0x228F: [539,41,778,83,694,'83 523Q87 535 99 539H679Q694 531 694 519Q694 506 679 499H123V-1H678Q694 -7 694 -21Q694 -34 679 -41H98Q93 -38 84 -28L83 247V523'], - - // SQUARE ORIGINAL OF - 0x2290: [539,41,778,64,714,'64 506T64 519T78 539H699Q706 536 714 526V-28Q706 -38 699 -41H78Q64 -34 64 -21Q64 -6 80 -1H674V499H78Q64 506 64 519'], - - // CIRCLED RING OPERATOR - 0x229A: [583,82,778,57,721,'57 250Q57 327 87 392T166 497T270 560T382 582H394Q512 582 610 500Q721 401 721 250Q721 112 626 15T389 -82Q251 -82 154 13T57 250ZM682 129T682 250T596 457T390 543Q269 543 183 457T96 250Q96 132 180 45T389 -43Q511 -43 596 43ZM250 250Q250 316 295 352T384 388Q451 388 489 347T528 250Q528 192 487 152T389 112Q331 112 291 152T250 250ZM488 250Q488 290 460 319T389 349Q348 349 319 320T290 250Q290 208 320 180T389 151Q431 151 459 181T488 250'], - - // CIRCLED ASTERISK OPERATOR - 0x229B: [583,82,778,57,721,'57 250Q57 327 87 392T166 497T270 560T382 582H394Q512 582 610 500Q721 401 721 250Q721 112 626 15T389 -82Q251 -82 154 13T57 250ZM682 129T682 250T596 457T390 543Q269 543 183 457T96 250Q96 132 180 45T389 -43Q511 -43 596 43ZM204 339Q204 357 215 366T238 375Q247 375 283 348Q300 336 311 328L368 286Q369 286 366 323T359 398T355 437Q357 456 379 465Q380 465 384 465T391 466Q403 465 412 457T423 437Q423 436 420 398T413 323T410 286L467 328Q476 334 486 341T501 353T513 361T523 368T529 372T535 374T541 375Q554 375 564 365T575 339Q575 325 566 318T519 292Q504 285 496 281L430 250L496 219Q552 192 559 188T572 175Q575 168 575 161Q575 148 566 137T541 126H538Q530 126 499 149Q480 163 467 172L410 214Q409 214 412 177T419 102T423 63Q423 59 421 54T411 43T389 36T368 42T357 54T355 63Q355 64 358 102T365 177T368 214L311 172Q302 165 293 159T279 148T268 140T260 134T254 131T250 128T246 127T242 126T238 126Q223 126 214 135T204 161T213 183T282 219L348 250L282 281Q226 308 219 312T206 325Q204 330 204 339'], - - // CIRCLED DASH - 0x229D: [583,82,778,57,721,'57 250Q57 327 87 392T166 497T270 560T382 582H394Q512 582 610 500Q721 401 721 250Q721 112 626 15T389 -82Q251 -82 154 13T57 250ZM682 129T682 250T596 457T390 543Q269 543 183 457T96 250Q96 132 180 45T389 -43Q511 -43 596 43ZM223 250Q223 263 233 267T280 271Q289 271 325 271T389 270H490Q535 270 545 267T555 250Q555 241 549 235Q544 231 527 231T389 230Q239 230 235 232Q223 236 223 250'], - - // SQUARED PLUS - 0x229E: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM369 365V649H95V365H369ZM682 365V649H409V365H682ZM369 40V325H95V40H369ZM682 40V325H409V40H682'], - - // SQUARED MINUS - 0x229F: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM682 365V649H95V365H682ZM682 40V325H95V40H682'], - - // SQUARED TIMES - 0x22A0: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H707Q714 686 722 676V13Q714 3 707 0H71ZM123 649Q147 625 214 555T335 430T389 374L654 649H123ZM95 70Q99 74 229 209T360 345L95 619V70ZM682 70V619L418 346Q417 344 549 207L682 70ZM654 41L400 304L388 315L123 41L256 40H522L654 41'], - - // SQUARED DOT OPERATOR - 0x22A1: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM682 40V649H95V40H682ZM330 345Q330 371 347 388T390 405Q412 405 430 389T448 345Q448 317 430 301T389 285T348 301T330 345'], - - // TRUE - 0x22A8: [695,0,611,55,556,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V464H540Q554 456 555 446Q555 442 554 439T552 434T549 430T546 428T542 426T539 424H95V270H539Q540 270 542 269T545 267T549 264T552 260T554 255T555 248Q554 238 540 230H95V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678'], - - // FORCES - 0x22A9: [695,0,722,55,666,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678ZM249 678Q249 679 250 681T252 684T255 688T259 691T264 693T271 694Q282 692 289 679V367H651Q666 359 666 347Q666 334 651 327H289V15Q282 2 271 0Q267 0 264 1T259 3T255 6T253 9T251 13T249 16V678'], - - // TRIPLE VERTICAL BAR RIGHT TURNSTILE - 0x22AA: [695,0,889,55,833,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678ZM237 678Q237 679 238 681T240 684T243 688T247 691T252 693T259 694Q270 692 277 679V15Q270 2 259 0Q255 0 252 1T247 3T243 6T241 9T239 13T237 16V678ZM419 678Q419 679 420 681T422 684T425 688T429 691T434 693T441 694Q452 692 459 679V367H818Q833 359 833 347Q833 334 818 327H459V15Q452 2 441 0Q437 0 434 1T429 3T425 6T423 9T421 13T419 16V678'], - - // DOES NOT PROVE - 0x22AC: [696,1,611,-55,554,'56 681Q70 695 76 695T96 681V368H243L381 530Q521 692 525 692Q537 700 547 688Q554 682 554 674Q554 671 553 669T548 661T539 649T522 631T499 604T465 565T421 512Q296 373 296 368H416H476Q525 368 539 365T554 348Q554 334 543 328H261L96 141V12Q81 -1 75 -1Q65 -1 58 10L56 50V92L18 48Q7 37 -1 28T-13 14T-19 6T-23 1T-27 0T-33 -1Q-42 -1 -48 4T-55 19Q-55 24 -47 34T12 103L56 155V681ZM205 326Q205 328 152 328H96V263Q96 203 98 203Q99 203 123 231T174 290T205 326'], - - // NOT TRUE - 0x22AD: [695,1,611,-55,554,'56 681Q70 695 76 695T96 681V466H327L425 579Q522 692 527 692Q529 693 534 693Q542 693 547 688T553 674Q553 668 549 663Q549 662 538 650T504 611T463 563L381 468L461 466H543Q554 453 554 446T541 426H345L209 272L376 270H543Q554 257 554 251T541 230H174L96 141V12Q81 -1 75 -1Q65 -1 58 10L56 50V92L18 48Q7 37 -1 28T-13 14T-19 6T-23 1T-27 0T-33 -1Q-42 -1 -48 4T-55 19Q-55 24 -47 34T12 103L56 155V681ZM267 399L292 426H96V270H158L201 321Q256 382 267 399ZM118 228L119 229Q119 230 109 230H96V201L107 212Q118 227 118 228'], - - // DOES NOT FORCE - 0x22AE: [695,1,722,-55,665,'56 681Q70 695 77 695T96 683V428L98 175L252 323V681Q264 695 272 695Q278 695 292 681V526Q292 368 296 368Q298 368 447 510Q638 695 642 695H645Q651 695 658 688T665 673Q665 666 661 661Q659 660 639 641T578 582T505 512L356 370L505 368H654Q665 357 665 349Q665 343 652 328H314L303 317L292 308V12Q289 10 285 6T279 1T272 -1Q265 -1 252 12V139Q252 266 249 266L96 119V12Q80 -1 76 -1T70 0T63 6T56 12V79L29 55Q-26 -1 -35 -1Q-42 -1 -48 5T-55 19Q-55 25 -51 30T-15 66Q5 86 18 99L56 135V681'], - - // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE - 0x22AF: [695,1,722,-55,665,'56 681Q70 695 77 695T96 683V428L98 175L252 323V681Q264 695 272 695Q278 695 292 681V466H401L503 563L621 679Q637 695 645 695Q652 695 658 688T665 673Q665 670 663 666Q663 665 651 652T611 612T561 563L458 468L556 466H654Q665 455 665 447T652 426H416L294 308L292 288V270H652Q665 255 665 250T652 230H292V12Q289 10 285 6T279 1T272 -1Q265 -1 252 12V139Q252 266 249 266L96 119V12Q80 -1 76 -1T70 0T63 6T56 12V79L29 55Q-26 -1 -35 -1Q-42 -1 -48 5T-55 19Q-55 25 -51 30T-15 66Q5 86 18 99L56 135V681ZM358 426H292V361L325 392L358 426'], - - // NORMAL SUBGROUP OF - 0x22B2: [539,41,778,83,694,'694 -26Q686 -40 676 -41H670L382 95Q92 232 90 234Q83 239 83 249Q83 262 96 267Q101 270 379 401T665 537Q671 539 674 539Q686 539 694 524V-26ZM654 11T654 249T653 487T402 369T151 249L275 190Q399 131 524 72T652 11Q654 11 654 249'], - - // CONTAINS AS NORMAL SUBGROUP - 0x22B3: [540,41,778,83,694,'83 523Q83 524 85 527T92 535T103 539Q107 539 389 406T680 268Q694 260 694 249Q694 239 687 234Q685 232 395 95L107 -41H101Q90 -40 83 -26V523ZM376 368Q323 393 254 425T155 472L125 487Q123 487 123 249T125 11Q127 12 252 71T502 190L626 249L376 368'], - - // NORMAL SUBGROUP OF OR EQUAL TO - 0x22B4: [636,138,778,83,695,'694 71Q686 58 676 56H670L382 192Q92 329 90 331Q83 336 83 346Q83 359 96 364Q101 367 379 498T665 634Q671 636 674 636Q686 636 694 621V71ZM654 108T654 346T653 584T402 466T151 346L275 287Q399 228 524 169T652 108Q654 108 654 346ZM83 -120Q83 -116 84 -113T86 -108T89 -104T92 -102T96 -100T99 -98H678Q679 -98 681 -99T684 -101T688 -104T691 -108T693 -113T694 -120Q692 -130 679 -138H98Q84 -130 83 -120'], - - // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO - 0x22B5: [637,138,778,83,695,'83 620Q83 621 85 624T92 632T103 636Q107 636 389 503T680 365Q694 357 694 346Q694 336 687 331Q685 329 395 192L107 56H101Q90 58 83 71V620ZM376 465Q323 490 254 522T155 570L125 584Q123 584 123 346T125 108Q127 109 252 168T502 287L626 346L376 465ZM83 -120Q83 -116 84 -113T86 -108T89 -104T92 -102T96 -100T99 -98H678Q679 -98 681 -99T684 -101T688 -104T691 -108T693 -113T694 -120Q692 -130 679 -138H98Q84 -130 83 -120'], - - // MULTIMAP - 0x22B8: [408,-92,1111,55,1055,'1055 250Q1055 190 1012 141T896 92Q858 92 828 106T781 140T755 180T741 214L738 228V230H405Q71 230 68 232Q55 238 55 250T68 268Q71 270 405 270H738V272L740 280Q742 287 745 297T754 321T771 348T796 374T832 396T881 408H891Q969 408 1012 360T1055 250ZM896 132Q948 132 981 166T1014 250Q1014 301 985 330T920 367Q914 368 891 368Q853 368 816 338T778 250Q778 198 812 165T896 132'], - - // INTERCALATE - 0x22BA: [431,212,556,57,501,'318 -182Q302 -212 280 -212H278H275Q249 -212 239 -182L238 84V351H162L87 352Q57 362 57 391T84 429Q89 431 280 431H470L474 429Q477 427 479 426T484 423T490 417T495 410T499 402T500 391Q500 365 470 352L394 351H318V-182'], - - // XOR - 0x22BB: [716,0,611,55,555,'56 697Q56 706 62 711T75 716Q86 716 90 709Q91 708 104 680T147 592T199 483L305 261L411 483Q443 548 481 629Q512 694 518 705T535 716Q543 716 549 710T555 700Q555 693 501 577T388 340T325 210Q316 194 305 194Q292 194 285 210Q282 219 224 339T111 574T56 697ZM55 14T55 20T59 31T66 38T71 40H540Q555 32 555 20T540 0H71Q70 0 67 2T59 9'], - - // NAND - 0x22BC: [716,0,611,54,555,'55 698Q56 708 70 716H540Q554 708 555 698Q555 694 554 691T552 686T549 682T546 680T542 678T539 676H71Q70 676 68 677T65 679T61 682T58 686T56 691T55 698ZM555 18Q554 12 549 6T536 0H535Q525 0 515 17T459 132Q430 194 410 235L305 455L199 233Q176 185 147 125T105 36T90 7Q85 0 75 0Q63 0 58 11Q55 15 55 21Q58 31 170 266T285 507Q295 522 305 522T320 515Q322 513 439 268L555 24V18'], - - // DOT OPERATOR - 0x22C5: [189,0,278,55,222,'71 0Q59 4 55 16V96L56 176Q59 180 66 187L70 189H209Q219 181 222 174V15Q219 10 209 1L140 0H71'], - - // DIVISION TIMES - 0x22C7: [545,44,778,55,720,'366 543Q374 545 382 545Q405 545 419 538Q429 534 443 521T462 496Q466 478 466 467Q466 438 444 412Q422 390 388 390Q352 390 331 412Q311 434 311 467Q311 499 331 518Q345 533 366 543ZM146 472Q146 479 153 485T166 492Q171 492 187 476T279 385L386 278L495 385Q600 492 608 492Q615 492 621 486T628 472Q628 467 614 452T531 367L435 270H706Q720 256 720 250Q720 241 706 230H435L531 132Q600 63 614 48T628 27Q628 20 622 14T608 7Q600 7 495 114L386 221L279 114Q204 39 188 23T166 7Q159 7 153 13T146 27Q146 32 160 47T244 132L339 230H68Q55 243 55 250Q55 255 68 270H339L244 367Q175 436 161 451T146 472ZM466 34Q466 4 447 -20T388 -44Q353 -44 331 -22Q311 1 311 34Q311 66 331 85Q347 101 366 110Q374 112 382 112Q405 112 419 105Q429 100 443 87T462 63Q466 45 466 34'], - - // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT - 0x22C9: [492,-8,778,146,628,'146 479Q159 492 166 492Q171 492 189 475T279 386L386 279L495 386Q598 492 608 492Q615 492 621 486T628 472Q628 464 522 357L415 250L522 144Q628 37 628 28Q628 21 622 15T608 8Q599 8 495 115L386 221L279 115Q204 40 188 24T166 8Q162 8 160 9T153 15T146 21V479ZM186 77L359 250L186 424V77'], - - // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT - 0x22CA: [492,-8,778,146,628,'146 472Q146 479 152 485T166 492Q171 492 189 475T279 386L386 279L495 386Q598 492 608 492Q615 492 628 479V21Q615 8 608 8Q599 8 495 115L386 221L279 115Q204 40 188 24T166 8Q159 8 153 14T146 28Q146 37 253 144L359 250L253 357Q146 464 146 472ZM588 77V424L499 337L415 250L588 77'], - - // LEFT SEMIDIRECT PRODUCT - 0x22CB: [694,23,778,55,722,'55 674Q55 682 62 688T76 694H77Q83 694 100 677T208 561Q320 440 410 342Q462 286 541 201Q677 55 699 30T722 -2Q722 -9 716 -15T701 -22T688 -17Q687 -15 542 141T394 301L388 306L240 146Q119 15 101 -3T75 -22T61 -16T55 -2Q55 4 67 19T158 117Q190 151 209 172L361 336L209 500Q62 657 57 667Q55 671 55 674'], - - // RIGHT SEMIDIRECT PRODUCT - 0x22CC: [694,22,778,55,722,'84 -22T76 -22T62 -16T55 -2Q55 4 78 30T249 215Q321 293 367 342Q672 672 683 682Q695 694 702 694Q710 694 716 688T722 674Q722 668 710 653T619 555Q587 521 568 500L416 336L568 172Q715 15 720 5Q722 1 722 -2Q722 -9 716 -15T702 -22H700Q693 -22 671 1T537 146L389 306Q387 304 340 253T237 143T135 33L89 -17Q84 -22 76 -22'], - - // REVERSED TILDE EQUALS - 0x22CD: [464,-36,778,56,722,'56 433Q56 464 71 464Q74 464 77 461Q82 454 82 438T91 397T123 347Q166 307 222 307Q264 307 308 331T386 385T465 438T556 463Q631 463 676 408T722 283Q722 250 708 250Q704 250 699 257Q695 265 693 286T682 330Q670 350 655 367Q612 407 556 407Q514 407 470 383T393 329T314 276T222 251Q148 251 102 306T56 433ZM57 56Q57 71 73 76H706Q722 70 722 56Q722 44 707 36H71Q57 43 57 56'], - - // CURLY LOGICAL OR - 0x22CE: [578,21,760,83,676,'83 558Q83 566 89 572T104 578Q108 578 116 577T146 570T190 555T239 526T286 480Q308 453 325 420T351 358T367 304T376 265T380 251T381 253Q381 262 395 312Q428 434 492 499T642 576Q654 578 655 578Q664 578 670 572T676 558Q676 543 657 540T599 524T525 476Q406 362 400 29V8Q400 -21 380 -21Q369 -21 362 -11Q360 -7 360 12Q360 115 348 200T308 360T231 480T111 537Q83 540 83 558'], - - // CURLY LOGICAL AND - 0x22CF: [578,22,760,83,676,'104 -22Q95 -22 89 -16T83 -2Q83 11 98 16T135 23T192 46T256 103Q360 233 360 549Q360 554 360 557T361 563T362 567T364 569T367 572T371 576Q377 578 380 578Q401 578 401 547Q401 543 401 537T400 527Q409 53 648 19Q676 16 676 -2Q676 -10 670 -16T655 -22Q654 -22 642 -20Q556 -9 492 56T395 244Q381 294 381 303Q381 305 380 305T374 275T352 201T310 110T234 27T117 -20Q105 -22 104 -22'], - - // DOUBLE SUBSET - 0x22D0: [541,41,778,84,694,'84 250Q84 372 166 450T360 539Q361 539 370 539T395 539T430 540T475 540T524 540H679Q694 532 694 520Q694 511 681 501L522 500H470H441Q366 500 338 496T266 472Q244 461 224 446T179 404T139 337T124 250V245Q124 157 185 89Q244 25 328 7Q348 2 366 2T522 0H681Q694 -10 694 -20Q694 -32 679 -40H526Q510 -40 480 -40T434 -41Q350 -41 289 -25T172 45Q84 127 84 250ZM694 134Q694 123 679 114H425H384Q350 114 326 121T277 154Q238 193 238 251Q238 322 295 361Q318 378 339 382T412 387Q423 387 459 387T520 386H679Q694 377 694 366Q694 354 679 346H519Q493 346 458 346T411 347Q360 347 341 342T303 315Q278 287 278 250Q278 210 301 187T351 156Q358 154 519 154H679Q694 146 694 134'], - - // DOUBLE SUPERSET - 0x22D1: [541,40,778,83,693,'83 520Q83 532 98 540H251Q267 540 297 540T343 541Q427 541 488 525T605 455Q693 374 693 250Q693 165 650 99T545 0T415 -39Q407 -40 251 -40H98Q83 -32 83 -20Q83 -10 96 0H255H308H337Q412 0 439 4T512 28Q533 39 553 54T599 96T639 163T654 250Q654 341 592 411Q557 449 512 472Q468 491 439 495T335 500H306H255L96 501Q83 511 83 520ZM83 366Q83 376 96 386H244Q280 386 317 386T378 386L402 387Q456 387 498 348T540 250Q540 203 512 168T446 120Q427 114 353 114H99Q84 120 84 134Q84 147 98 154H258Q284 154 319 154T366 153Q416 153 436 158T474 185Q500 214 500 250Q500 290 477 313T426 344Q419 346 258 346H98Q83 354 83 366'], - - // DOUBLE INTERSECTION - 0x22D2: [598,22,667,55,611,'88 -21T75 -21T55 -7V200Q55 231 55 280Q56 414 60 428Q61 430 61 431Q77 500 152 549T332 598Q443 598 522 544T610 405Q611 399 611 194V-7Q604 -22 591 -22Q582 -22 572 -9L570 405Q563 433 556 449T529 485Q498 519 445 538T334 558Q251 558 179 518T96 401Q95 396 95 193V-7Q88 -21 75 -21ZM229 -21H227Q215 -21 209 -7V166Q209 304 209 327T215 363Q226 398 259 421T333 444Q380 444 414 416T455 347Q457 339 457 166V-7Q449 -21 439 -21H437H435Q423 -21 417 -7V164Q417 303 417 325T411 358Q387 403 333 403T255 358Q250 347 250 325T249 164V-7Q241 -21 231 -21H229'], - - // DOUBLE UNION - 0x22D3: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598ZM437 598Q450 598 457 583V410Q457 237 455 229Q448 189 414 161T333 132Q291 132 255 157T211 230Q209 237 209 412L210 585Q220 598 229 598Q242 598 249 583V412Q249 273 249 251T255 218Q279 173 333 173T411 218Q416 229 416 251T417 412V583Q425 598 437 598'], - - // PITCHFORK - 0x22D4: [736,22,667,56,611,'76 -22Q64 -22 56 -7V176L57 360L59 370Q66 401 83 426T123 468T171 495T221 513T265 522T298 527L311 528H314V625L315 723Q325 736 334 736Q346 736 354 721V528H356L368 527Q380 526 399 523T441 515T490 498T537 472T578 433T606 379Q611 359 611 171V-7Q604 -21 591 -21T571 -7V170Q571 313 571 337T565 375Q555 408 526 432T461 467T402 482T365 487H354V-7Q347 -21 334 -21T314 -7V487H303Q251 484 207 467Q121 438 99 367L97 357L96 174V-9Q86 -22 76 -22'], - - // LESS-THAN WITH DOT - 0x22D6: [541,41,778,82,694,'86 261Q92 267 381 404T673 541Q680 541 686 535T693 521T689 510Q684 504 418 379L151 250L418 121Q686 -4 689 -10Q693 -14 693 -21T687 -34T675 -41Q668 -41 380 96T86 239Q82 244 82 250Q82 257 86 261ZM610 250Q610 224 592 198T531 172Q498 172 475 195Q453 214 453 250Q453 308 513 328Q515 330 535 330Q569 328 589 304T610 250'], - - // GREATER-THAN WITH DOT - 0x22D7: [541,41,778,82,693,'82 521Q82 529 89 535T100 541Q107 541 395 404T689 261Q693 257 693 250T689 239Q684 234 396 97T100 -41Q95 -41 89 -35T82 -21Q82 -12 96 -4Q118 9 358 121L624 250L358 379Q91 503 86 510Q82 514 82 521ZM165 250Q165 282 188 306T239 330Q262 330 275 323Q303 312 318 283Q322 272 322 250Q322 213 300 195Q277 172 246 172Q224 172 213 177Q165 200 165 250'], - - // VERY MUCH LESS-THAN - 0x22D8: [568,67,1333,56,1277,'639 -48Q639 -54 634 -60T619 -67H618Q612 -67 536 -26Q430 33 329 88Q61 235 59 239Q56 243 56 250T59 261Q62 266 336 415T615 567L619 568Q622 567 625 567Q639 562 639 548Q639 540 633 534Q632 532 374 391L117 250L374 109Q632 -32 633 -34Q639 -40 639 -48ZM958 -48Q958 -54 953 -60T938 -67H937Q931 -67 855 -26Q749 33 648 88Q380 235 378 239Q375 243 375 250T378 261Q381 266 655 415T934 567L938 568Q941 567 944 567Q958 562 958 548Q958 540 952 534Q951 532 693 391L436 250L693 109Q951 -32 952 -34Q958 -40 958 -48ZM1277 -48Q1277 -54 1272 -60T1257 -67H1256Q1250 -67 1174 -26Q1068 33 967 88Q699 235 697 239Q694 243 694 250T697 261Q700 266 974 415T1253 567L1257 568Q1260 567 1263 567Q1277 562 1277 548Q1277 540 1271 534Q1270 532 1012 391L755 250L1012 109Q1270 -32 1271 -34Q1277 -40 1277 -48'], - - // VERY MUCH GREATER-THAN - 0x22D9: [568,68,1333,55,1277,'75 -67Q65 -67 60 -61T55 -48Q55 -40 61 -34Q62 -32 329 109L595 250L329 391Q62 532 61 534Q55 540 55 548Q55 562 69 567H77Q81 567 222 493T506 342T653 264Q667 250 653 236Q649 234 504 157T220 7T77 -67H75ZM364 547Q364 563 381 567L384 568Q387 568 518 499T795 353T955 269Q967 261 967 250T955 231Q925 216 780 139T513 -3T383 -67Q373 -67 369 -60T364 -47Q364 -40 370 -34Q373 -31 639 109L904 250L639 391Q373 531 370 534Q364 540 364 547ZM674 538T674 548T681 562T693 567Q699 567 816 505Q915 453 993 412Q1050 382 1132 339Q1241 282 1259 271T1277 250Q1277 241 1263 232Q1246 221 985 84Q698 -67 692 -67Q674 -67 674 -47Q674 -38 680 -33Q683 -30 947 109L1213 250L947 391Q683 530 680 533Q674 538 674 548'], - - // stix-less, equal, slanted, greater - 0x22DA: [886,386,778,83,674,'674 445Q674 438 669 432T655 425T369 531T90 640Q83 645 83 655Q83 668 95 673Q644 886 654 886Q662 886 668 880T674 866Q674 856 663 850Q649 843 411 751L160 655L407 560Q474 534 561 501Q646 469 660 462T674 445ZM84 250Q84 260 99 270H658Q674 264 674 250Q674 238 659 230H98Q84 237 84 250ZM83 55Q83 68 94 73Q98 76 104 76Q108 75 383 -30T664 -138Q674 -144 674 -155Q674 -165 667 -170Q664 -173 385 -279T104 -386Q85 -386 83 -368Q83 -354 92 -349Q93 -349 347 -251L597 -155L346 -59Q296 -40 223 -12Q118 28 101 36T83 55'], - - // stix-greater, equal, slanted, less - 0x22DB: [886,386,778,83,674,'111 425T102 425T88 431T83 445V446Q83 455 96 461Q111 469 203 504Q287 536 350 560L597 655L346 751Q94 848 92 850Q83 856 83 866Q83 873 88 879T104 886Q109 885 386 779T667 670Q674 665 674 655T667 640Q665 638 388 532ZM84 250Q84 260 99 270H658Q674 264 674 250Q674 238 659 230H98Q84 237 84 250ZM653 76Q656 76 660 75T669 68T674 56Q674 46 665 40Q663 38 411 -59L160 -155L410 -251Q664 -349 665 -349Q674 -354 674 -368Q672 -386 654 -386Q650 -386 371 -279T90 -170Q83 -165 83 -155Q83 -144 93 -138Q645 76 653 76'], - - // EQUAL TO OR PRECEDES - 0x22DE: [734,0,778,83,694,'113 424Q83 424 83 444Q83 453 96 464H121Q181 466 234 474T341 501T435 545T505 613T542 707Q545 734 564 734Q583 731 583 714Q583 658 560 613T500 538T414 486T321 453T229 434T156 426T113 424ZM112 270Q83 270 83 290Q83 301 94 307Q98 310 118 310Q624 310 653 556Q657 580 675 580Q693 577 693 559V552Q684 472 628 410T465 314Q436 303 372 290Q373 290 388 287T425 278T465 266Q674 199 693 28L694 17L692 14Q691 11 689 8T683 3T673 0Q657 0 653 24Q623 270 118 270H112'], - - // EQUAL TO OR SUCCEEDS - 0x22DF: [734,0,778,83,694,'195 713Q195 725 201 729T214 734Q227 734 231 722T238 691T255 641T299 580Q405 474 656 464H681Q694 451 694 443Q694 424 670 424H664Q535 424 415 465T235 595Q195 657 195 713ZM668 310Q694 310 694 290Q694 285 691 279Q684 271 664 270Q550 268 464 257T301 220T179 146T124 27Q119 0 103 0T83 16Q83 21 83 31T92 68T113 121T157 177T229 231Q295 268 405 290Q404 290 389 293T352 302T312 314Q138 371 96 500Q83 541 83 562Q83 568 89 574T103 580Q115 580 120 570T126 542T138 497T173 442Q289 310 659 310H668'], - - // stix-not (vert) precedes or contour equals - 0x22E0: [801,303,778,82,693,'82 344Q82 349 95 364H124Q266 364 398 390L429 397L509 595Q519 619 536 659Q581 766 590 783T609 801Q616 801 622 795T629 781Q629 776 553 595Q533 548 516 506T489 439T480 415Q482 415 505 426T538 444Q632 498 651 601Q654 621 658 628T673 635Q680 635 686 629T693 615Q693 591 678 546Q636 433 484 375L458 364L451 348Q443 332 443 329T455 324Q480 316 503 307T560 277T619 233T664 170T691 86Q693 68 691 64Q684 53 672 53Q664 53 658 59Q657 60 650 97T617 174T538 244Q515 257 476 273T428 289Q425 289 412 256Q381 179 344 90L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H95Q82 -128 82 -123T95 -103H220L302 97Q384 288 384 299Q384 302 341 308T235 319T124 324H95Q82 337 82 344ZM399 338Q403 338 406 346L409 353L375 344Q375 343 384 341T399 338'], - - // stix-not (vert) succeeds or contour equals - 0x22E1: [801,303,778,82,694,'146 -283Q146 -282 174 -213T202 -143H95Q82 -127 82 -123T95 -103H220L300 93Q343 196 374 270Q385 294 386 299L373 295Q331 287 289 268Q241 249 208 224T159 174T135 127T124 85T118 59Q112 53 103 53Q91 53 84 64Q82 68 84 86Q96 185 174 248T375 337L400 344Q399 344 381 348T351 355T316 364T276 379T235 398T193 424T155 456T122 497T98 546Q82 587 82 615Q82 622 88 628T102 635Q112 635 116 628T124 601Q128 579 134 562T159 515T207 463T290 418T415 384L422 381L506 586Q571 744 584 772T609 801Q616 801 622 795T629 781T544 577Q525 529 504 478T473 402T462 375Q480 373 500 373Q579 364 651 364H680Q682 361 686 357T691 351T693 344Q693 337 680 324H651Q553 324 451 310L433 308L349 104L262 -101L473 -103H682Q694 -115 694 -123Q694 -133 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283'], - - // LESS-THAN BUT NOT EQUIVALENT TO - 0x22E6: [730,359,778,55,719,'86 450Q93 455 380 592T673 730Q680 730 686 724T693 710Q693 702 688 699Q686 693 417 568L151 439L417 310Q685 185 688 179Q693 176 693 168Q693 161 687 155T675 148Q668 148 380 285T86 428Q74 438 86 450ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], - - // GREATER-THAN BUT NOT EQUIVALENT TO - 0x22E7: [730,359,778,55,719,'88 723Q95 730 99 730Q106 730 394 593T688 450Q693 447 693 439T688 428Q683 423 395 286T99 148Q94 148 88 155T82 168Q82 175 86 179Q89 184 357 310L624 439L357 568Q88 694 86 699Q81 703 81 711T88 723ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], - - // PRECEDES BUT NOT EQUIVALENT TO - 0x22E8: [730,359,778,55,719,'95 419Q81 433 81 439T95 459H124Q318 459 455 501Q515 521 556 550T615 607T641 659T652 702T659 725Q667 730 673 730Q680 730 686 724T693 710Q693 682 677 641Q668 616 654 594T622 554T586 522T545 497T504 477T464 462T428 452T397 444T375 439Q379 437 410 430T476 411T551 379T625 321T677 237Q693 196 693 168Q693 161 687 155T673 148Q662 148 658 154T651 181Q638 253 591 300T455 377Q318 419 124 419H95ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], - - // SUCCEEDS BUT NOT EQUIVALENT TO - 0x22E9: [730,359,778,55,719,'679 459Q693 445 693 439Q693 430 679 419H651Q455 419 319 377Q231 347 184 300T124 181Q120 161 116 155T102 148Q95 148 89 154T82 168Q82 192 97 237Q111 275 137 306T188 355T249 391T307 414T361 429T399 439Q397 440 364 447T298 467T224 499T149 557T97 641Q82 686 82 710Q82 717 88 723T102 730L115 725Q118 722 124 697Q137 625 184 578T319 501Q456 459 651 459H679ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], - - // NOT NORMAL SUBGROUP OF - 0x22EA: [707,208,778,82,693,'693 -30Q686 -41 673 -41Q661 -41 506 34L346 110L280 -44Q228 -162 216 -185T193 -208Q177 -208 173 -192Q173 -186 242 -30T311 128Q271 145 184 186T86 236Q82 240 82 246Q82 251 86 259Q96 267 271 350L449 434L506 565Q537 635 551 664T571 700T582 706Q587 706 593 701T600 690Q600 679 553 572Q504 463 504 461L586 501Q672 539 673 539Q679 539 693 525V-30ZM653 10V488L566 445L480 405L422 276Q415 260 405 236T388 199T376 171T368 151T366 145Q368 143 510 77T653 10ZM422 374Q422 376 420 376T285 313T151 248Q315 168 326 163Q415 356 422 374'], - - // DOES NOT CONTAIN AS NORMAL SUBGROUP - 0x22EB: [706,208,778,82,693,'82 525Q96 539 102 539Q103 539 122 530T186 501T266 463L426 388Q428 388 495 541Q564 694 569 699Q573 706 581 706Q587 706 593 702T600 691Q600 676 533 528Q515 486 506 465T485 418T470 381T466 370Q466 369 575 316Q676 269 689 259Q693 253 693 248Q693 242 689 236Q688 235 506 145Q328 63 324 59Q324 50 266 -70Q224 -169 214 -188T193 -208Q177 -208 173 -192Q173 -183 222 -77Q244 -29 257 2T269 34L186 -6Q108 -43 99 -43Q93 -43 82 -30V525ZM271 416Q129 485 126 485H125Q122 485 122 250Q122 10 124 10L211 50L295 92L411 350Q411 351 271 416ZM624 248L449 332L440 319Q434 297 393 214Q353 121 353 119Q355 119 489 182T624 248'], - - // stix-not, vert, left triangle, equals - 0x22EC: [802,303,778,82,693,'82 -123Q82 -114 93 -103H166L238 -101L293 50Q349 200 349 204L220 266Q166 291 140 304T100 325T84 336T82 344Q82 353 94 360Q112 372 282 453L473 541L482 568Q487 578 529 693Q559 785 569 795Q573 802 581 802Q587 802 593 797T599 786Q599 775 564 675L526 570Q526 568 561 584T633 617T673 635Q679 635 693 621V66Q686 54 679 54Q665 54 526 119Q491 137 458 153T405 177T386 184Q385 182 334 42T282 -101T482 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L473 -143H266L238 -219Q217 -278 210 -290T193 -303Q178 -303 173 -287Q173 -279 198 -214L222 -145Q222 -143 158 -143L93 -141L86 -136Q82 -131 82 -123ZM653 106V584L506 513L453 370Q442 339 428 300T407 243T400 224Q403 222 527 164T653 106ZM453 486Q453 488 451 488T300 417T151 344L224 308Q247 298 285 279T331 257L364 241L453 486'], - - // stix-not, vert, right triangle, equals - 0x22ED: [801,303,778,82,693,'82 621Q96 635 102 635T249 568L420 486L449 473L469 533Q563 789 569 797Q573 801 581 801Q598 801 600 786Q602 781 544 617L484 455Q531 435 584 408Q677 364 689 355Q693 351 693 344Q693 339 692 337T676 325T631 302T538 257Q504 241 465 223T406 195T386 186Q384 184 333 44T282 -101Q282 -103 482 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L473 -143H266L238 -219Q217 -278 210 -290T193 -303Q178 -303 173 -287Q173 -279 198 -214L222 -145Q222 -143 158 -143L93 -141L86 -136Q82 -131 82 -123Q82 -114 93 -103H166L238 -101L333 159Q326 159 220 106Q110 54 97 54Q89 54 82 66V621ZM298 501Q155 567 142 575L122 584V344Q122 106 124 106Q125 106 180 132T291 185T351 213Q355 217 393 326L433 435Q433 436 298 501ZM549 381Q472 417 471 417L406 241Q408 240 516 291T624 344L549 381'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MathOperators.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js deleted file mode 100644 index 84e28579..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MiscMathSymbolsB.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // BLACK LOZENGE - 0x29EB: [716,132,667,56,611,'318 709Q325 716 332 716Q340 716 344 713T474 511Q611 298 611 292Q611 285 526 152Q494 103 474 72Q347 -128 344 -130Q340 -132 333 -132T322 -130Q319 -128 257 -31T131 169T60 278Q56 285 56 292Q56 298 60 305Q73 326 194 516T318 709'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MiscMathSymbolsB.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js deleted file mode 100644 index f866c55c..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MiscSymbols.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // BLACK STAR - 0x2605: [694,111,944,49,895,'367 395Q374 416 398 492T442 627T463 688Q463 692 467 692Q471 694 472 694Q478 694 484 680T523 562Q553 469 576 400L577 395H731H819Q872 395 883 394T895 384Q895 380 891 376T832 333Q794 305 767 285Q643 195 643 194L690 47Q737 -96 737 -103Q737 -111 727 -111Q721 -111 594 -18L472 71L350 -18Q223 -111 217 -111Q207 -111 207 -103Q207 -96 254 47L301 194Q301 195 241 239T118 328T51 378Q49 382 49 384Q49 392 58 393T110 395H213H367'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MiscSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js deleted file mode 100644 index 9a477e5f..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MiscTechnical.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // stix-small down curve - 0x2322: [378,-122,778,55,722,'77 122Q68 122 63 126T57 135T55 142Q55 151 68 176T111 235T177 302T271 356T388 378Q451 378 508 355T602 300T668 233T709 174T722 142Q722 124 704 122Q692 122 685 134T658 179T606 243Q511 338 390 338Q354 338 320 329Q251 312 193 263T97 141Q87 123 77 122'], - - // stix-small up curve - 0x2323: [378,-142,778,54,722,'389 143Q324 143 266 164T171 215T107 277T67 330T55 358T60 371T77 378Q85 377 92 367T116 331T158 280Q256 182 389 182Q475 182 552 227T675 351Q688 378 704 378Q722 376 722 358Q722 352 710 330T670 276T605 215T511 164T389 143'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MiscTechnical.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js deleted file mode 100644 index 76db5bbd..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js +++ /dev/null @@ -1,74 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/PUA.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // ?? - 0xE006: [430,23,222,-20,240,'91 417Q104 430 111 430T131 417V301L171 341Q201 373 207 378T220 384Q227 384 233 377T240 366Q240 357 187 299L131 244V-10Q116 -23 111 -23T91 -10V201L49 157Q20 127 14 121T0 115Q-8 115 -14 121T-20 132Q-20 139 17 178Q29 191 36 199L91 257V417'], - - // ?? - 0xE007: [431,24,389,-20,407,'56 417Q68 431 76 431L89 426L96 419V317L98 215L193 273L291 330V375L293 419Q301 431 311 431Q331 431 331 388L333 355L356 370Q381 384 388 384Q394 384 400 377T407 363Q407 354 367 328L331 308V-10Q316 -23 310 -23Q300 -23 293 -12L291 135V284L98 168L96 77V-12Q84 -24 76 -24L62 -19L58 -12L56 66V144L31 128Q5 114 -2 114Q-8 114 -14 121T-20 136Q-20 142 -14 147T20 170L56 190V417'], - - // ?? - 0xE008: [605,85,778,55,719,'477 261Q477 257 473 256T455 253T417 251T348 250H235L155 -77L146 -82Q137 -85 109 -85Q55 -85 55 -77L139 261Q224 596 226 598Q229 603 239 603Q240 603 254 603T290 603T341 604T405 605T477 605Q656 603 687 602T719 596Q719 589 692 588T513 585H319L282 427L242 272Q242 270 351 270Q388 270 410 270T444 269T460 267T469 265T477 261'], - - // ?? - 0xE009: [434,6,667,37,734,'228 325Q170 322 156 316T127 309Q108 309 104 314Q99 319 99 322T108 341Q125 376 171 400T268 425H271Q302 425 319 396Q328 377 328 358Q328 332 324 314Q311 270 286 221Q274 194 274 192H275Q339 234 484 325T639 421Q669 434 691 434T723 425T734 406Q734 394 719 381Q715 376 644 330L575 287L566 267Q543 233 526 176Q520 160 515 143T508 115T506 105Q506 103 533 103Q585 103 607 110T641 118Q670 118 670 107Q670 100 661 85Q643 50 598 27T504 3Q465 3 450 36Q441 51 441 73Q441 84 444 96Q452 146 484 205L497 236L324 125Q143 12 135 10Q103 -6 77 -6Q61 -6 49 2T37 21Q37 36 49 46T124 96L195 141L204 156Q219 179 243 248T264 323Q264 325 228 325'], - - // ?? - 0xE00C: [752,284,778,81,694,'86 472Q93 477 381 614T673 752Q680 752 686 746T693 732T689 721Q686 715 418 590L151 461L418 332Q684 207 689 201Q693 195 693 190Q693 183 687 177T675 170Q668 170 380 307T86 450Q82 454 82 461Q82 467 86 472ZM369 101V126Q369 156 382 156H384Q385 157 386 157Q409 157 409 115V98V54H680Q693 39 693 34T680 14H409V-142H680Q693 -155 693 -162Q693 -167 680 -182H409V-273Q396 -284 388 -284Q382 -284 369 -275V-182H95Q82 -167 82 -162Q82 -155 95 -142H369V14H95Q93 17 89 21T84 27T82 34T83 40T89 47T95 54H369V101'], - - // ?? - 0xE00D: [752,284,778,81,693,'89 745Q95 752 100 752Q106 752 394 615T689 472Q693 468 693 461T689 450Q684 445 396 308T100 170Q95 170 89 176T82 190Q82 195 86 201Q91 208 358 332L624 461L358 590Q90 715 86 721Q82 725 82 731Q82 739 89 745ZM369 101V126Q369 156 382 156H384Q385 157 386 157Q409 157 409 115V98V54H680Q693 39 693 34T680 14H409V-142H680Q693 -155 693 -162Q693 -167 680 -182H409V-273Q396 -284 388 -284Q382 -284 369 -275V-182H95Q82 -167 82 -162Q82 -155 95 -142H369V14H95Q93 17 89 21T84 27T82 34T83 40T89 47T95 54H369V101'], - - // stix-not greater, double equals - 0xE00E: [919,421,778,82,694,'97 172Q82 172 82 190Q82 197 86 201Q94 209 173 246T327 319T402 357Q405 360 434 448T462 539L278 628Q96 713 86 721Q82 725 82 732T88 745T102 752Q103 752 125 742T198 709T293 666Q342 642 385 622T453 590T478 579Q479 579 506 659T562 824T598 915Q602 919 609 919T622 913T629 901Q629 898 571 728Q546 656 531 608T518 559Q555 539 602 519Q664 488 679 479T694 461Q694 457 689 450Q680 443 616 413T494 356T435 326L389 190L342 57L513 55H682Q694 43 694 34Q694 28 689 21L682 17L506 15H329L322 -8Q320 -13 310 -41T295 -85L275 -141H680Q682 -143 684 -146T688 -151T691 -156T693 -162Q693 -172 682 -179L473 -181H262L220 -303Q192 -388 185 -404T166 -421Q160 -421 153 -415T146 -403Q146 -400 179 -302T220 -185Q220 -181 158 -181L93 -179L86 -174Q82 -169 82 -161Q82 -152 93 -141H164L233 -139L260 -63L286 15H189L93 17L86 21Q82 26 82 34Q82 44 93 55H198L300 57L342 179Q350 204 361 238T378 286T382 301L246 237Q111 172 97 172ZM624 461Q621 464 560 492Q512 518 503 518Q500 518 500 517Q499 513 488 479T465 413T453 379L624 461'], - - // stix-not greater-or-equal, slanted - 0xE00F: [801,303,778,82,694,'97 54Q82 54 82 72Q82 79 86 84Q95 91 222 153L351 215L398 324L442 433L258 519Q95 597 87 604Q82 608 82 615T88 628T102 635Q107 635 424 484L458 468L524 630Q593 789 597 795Q601 801 609 801Q616 801 622 795T629 781L562 615L493 450L589 406Q665 371 679 362T694 344Q694 339 693 337T677 326T631 302T538 257Q504 241 465 223T406 195T386 186Q383 185 344 92T306 -3L486 81Q662 168 673 168Q680 168 686 162T693 148T689 137Q688 136 482 35L280 -59L233 -176Q184 -291 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -279 185 -186T224 -90Q225 -88 223 -88Q219 -88 193 -101Q109 -143 98 -143Q82 -138 82 -122Q82 -116 85 -113T108 -98T171 -67L249 -30L289 61Q297 81 307 107T321 144T326 157L218 106Q109 54 97 54ZM553 379Q480 412 480 415Q479 415 460 372T423 285T406 241Q408 240 516 291T624 344L553 379'], - - // stix-not less-or-equal, slanted - 0xE010: [801,303,778,81,694,'102 168Q103 168 151 146T247 102T295 81Q299 85 322 144T344 206L218 268Q153 297 123 313T87 333T82 344T86 355Q104 369 291 455Q491 552 491 553L542 673Q581 767 590 784T609 801Q616 801 622 795T629 781Q629 773 586 677Q546 581 546 577L609 606Q669 635 673 635Q680 635 686 629T693 615Q693 610 692 608T670 593T604 561L524 521L400 226L542 157Q617 123 649 107T687 85T694 72Q694 66 690 60T679 54Q665 54 526 119Q394 186 386 186Q385 186 342 88L331 61L509 -23Q680 -105 688 -111Q693 -115 693 -122T688 -135T675 -141H673Q664 -141 491 -59Q320 21 316 21H315L249 -136Q183 -293 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 154 -261T181 -197T213 -119L280 41Q280 46 186 86Q157 101 121 119Q92 133 87 136T82 148Q82 155 88 161T102 168ZM418 370L466 495Q464 495 308 420T151 344T204 317T311 267T364 244Q364 247 418 370'], - - // stix-not less, double equals - 0xE011: [919,421,778,82,694,'82 34Q82 44 93 55H198L300 57L342 179Q351 207 362 238T378 286T384 303T238 377Q109 435 86 450Q82 454 82 460T86 472Q90 476 302 579L511 679Q512 679 553 795Q569 842 577 866T592 903T600 917T608 919Q615 919 622 912T629 901Q629 899 595 799Q589 777 581 753T569 717T564 703L618 728Q666 752 673 752T686 746T693 732Q693 723 683 717T615 683L546 650L491 488Q464 410 450 368T438 326Q493 297 562 266Q660 219 677 209T694 190Q694 183 690 177T678 171Q664 171 546 228L424 286Q422 286 382 172L342 57L513 55H682Q694 43 694 34Q694 28 689 21L682 17L506 15H329L322 -8Q320 -13 310 -41T295 -85L275 -141H680Q682 -143 684 -146T688 -151T691 -156T693 -162Q693 -172 682 -179L473 -181H262L220 -303Q192 -388 185 -404T166 -421Q160 -421 153 -415T146 -403Q146 -400 179 -302T220 -185Q220 -181 158 -181L93 -179L86 -174Q82 -169 82 -161Q82 -152 93 -141H164L233 -139L260 -63L286 15H189L93 17L86 21Q82 26 82 34ZM495 623Q495 626 493 626T321 544T151 461L398 343Q399 343 405 360T423 415T446 483Q457 513 469 551T488 606T495 623'], - - // stix-not subset, double equals - 0xE016: [828,330,778,82,694,'82 -6Q82 1 95 14H262L295 94Q331 171 331 174Q324 175 312 178T267 194T206 227T146 283T98 368Q84 406 84 461T98 554Q126 632 194 685T349 750Q360 752 480 752H591L604 783Q620 819 624 821Q631 828 640 828Q653 825 658 810Q658 808 646 781L635 754Q635 752 658 752Q680 752 686 746Q693 739 693 732Q693 728 692 726T686 719T680 712H615L506 466Q479 407 451 344T408 248T393 214Q393 210 535 210H680Q693 194 693 190T680 170H373L340 92L304 14H680Q693 1 693 -6Q693 -11 680 -26H286L253 -103L218 -179L451 -181H682Q694 -193 694 -201Q694 -212 682 -219L440 -221H200L178 -270Q160 -309 154 -319T139 -330Q122 -330 118 -312L155 -223Q155 -221 126 -221H95Q82 -206 82 -201T95 -181H175L206 -108Q237 -35 242 -30Q242 -26 169 -26H95Q82 -11 82 -6ZM571 710Q571 712 469 712Q443 712 416 712T371 711T351 710Q279 700 221 656T138 548Q124 508 124 461T138 374Q186 245 351 212L460 459Q571 709 571 710'], - - // ?? - 0xE017: [752,332,778,81,694,'82 -14T82 -7T95 15H431L529 170H435Q341 170 333 175Q149 218 98 368Q84 406 84 461Q84 515 98 555Q126 633 193 686T346 750Q347 750 373 750T440 751T520 752H680Q693 739 693 732Q693 727 680 712H526Q364 712 353 710Q268 700 207 646T126 512Q123 496 123 461T126 410Q141 350 180 304T280 232Q312 217 344 214T464 210H555L589 261Q613 301 620 311T635 321Q644 321 650 315T657 301Q657 296 651 286T630 252T604 212Q604 210 642 210H680Q693 197 693 190Q693 186 692 184T686 177T680 170H578L526 92L478 17L580 15H682Q693 4 693 -4T680 -25H451L353 -179L518 -181H682Q694 -193 694 -201Q694 -211 682 -219L504 -221H326L293 -272Q257 -332 246 -332Q238 -332 232 -326T225 -313Q225 -310 226 -308Q226 -305 251 -265T278 -223Q278 -221 186 -221H95Q93 -218 89 -214T84 -208T82 -201T95 -181H306L404 -25H249L93 -23L86 -19Q82 -14 82 -7'], - - // stix-not superset, double equals - 0xE018: [828,330,778,82,694,'82 732Q82 739 95 752H251H348Q420 752 460 744T551 708Q566 697 566 701Q618 815 624 821Q631 828 640 828Q653 825 658 810L600 677Q600 671 615 656T653 605T689 517Q692 496 692 461T689 406Q668 325 615 266Q572 221 513 196T391 170H373L340 92L304 14H680Q693 1 693 -6Q693 -11 680 -26H286L253 -103L218 -179L451 -181H682Q694 -193 694 -201Q694 -212 682 -219L440 -221H200L178 -270Q160 -309 154 -319T139 -330Q122 -330 118 -312L155 -223Q155 -221 126 -221H95Q82 -206 82 -201T95 -181H175L206 -108Q237 -35 242 -30Q242 -26 169 -26H95Q82 -11 82 -6Q82 1 95 14H262L295 92L331 170H95Q93 172 91 175T87 180T84 185T82 191Q82 199 93 210H220L349 212L549 659Q507 692 462 702T338 712H249H95Q82 727 82 732ZM652 473Q652 513 636 552T603 611T582 632Q581 632 487 422T393 210Q424 210 460 220T535 253T605 316T649 410Q652 427 652 461V473'], - - // ?? - 0xE019: [752,333,778,82,693,'82 732Q82 739 95 752H251Q415 752 426 750Q539 736 615 657Q667 599 689 517Q692 496 692 461T689 406Q668 325 615 266Q522 170 382 170H355L326 95Q319 80 311 59T298 28T293 17Q293 15 486 15H680Q693 0 693 -6T680 -25H275L213 -179L449 -181H682Q693 -192 693 -199T680 -221H198L178 -270Q153 -333 139 -333Q132 -333 126 -327T119 -314T135 -266T153 -223Q153 -221 124 -221H95Q82 -207 82 -201T95 -181H171L233 -25H162L93 -23L86 -19Q82 -14 82 -7T95 15H251L313 170H202L93 172L86 177Q82 182 82 190Q82 199 93 210H211L329 212L349 261Q366 301 372 311T386 321Q392 321 399 315T407 302Q407 295 390 254T373 210Q374 209 377 209Q412 209 444 217Q512 231 564 273T638 377Q651 414 651 461Q651 509 638 548Q613 613 555 656T422 710Q411 712 249 712H95Q82 727 82 732'], - - // ?? - 0xE01A: [634,255,778,84,694,'693 -115T693 -122T680 -144H315L269 -199Q221 -255 213 -255H212Q203 -255 197 -248T193 -231Q195 -225 229 -184L262 -144H186L113 -142L106 -137Q102 -130 102 -125Q102 -119 115 -104H298L426 52H386Q342 54 309 63Q236 79 180 129T98 249Q84 289 84 343Q84 398 98 436Q126 514 193 567T346 632Q347 632 373 632T440 633T520 634H680Q682 631 686 627T691 621T693 614T680 594H526Q364 594 353 592Q268 581 207 528T126 394Q123 378 123 343T126 292Q141 231 181 185T280 114Q329 92 415 92H462L506 147Q554 203 562 203H563Q572 203 578 196T582 178Q579 173 546 132L513 94L598 92H682Q693 81 693 73T680 52H480L349 -102L515 -104H682Q693 -115 693 -122'], - - // ?? - 0xE01B: [634,254,778,82,691,'82 610T82 614T83 620T89 627T95 634H251Q378 634 409 633T469 623Q540 604 596 554T678 436Q691 397 691 343T678 249Q653 181 597 131T469 63Q427 52 362 52H315L213 -102L438 -104H662Q673 -115 673 -123Q673 -129 660 -144H186L151 -197Q114 -250 109 -253Q106 -254 104 -254Q100 -254 98 -253Q91 -253 87 -248T82 -235Q82 -230 109 -186L138 -144H115Q82 -144 82 -125Q82 -119 95 -104H166L266 49Q266 52 182 52H95Q82 65 82 72Q82 76 83 78T89 85T95 92H295L329 143Q365 195 369 198Q372 203 380 203Q385 203 391 197T398 185Q398 184 398 184L399 182Q399 175 369 129L344 94Q344 92 376 92Q402 92 422 94Q496 104 554 147T638 256Q651 295 651 343Q651 390 638 429Q613 494 555 537T422 592Q411 594 249 594H95Q82 610 82 614'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/PUA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js deleted file mode 100644 index 377e489b..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/SpacingModLetters.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2C6: [845,-561,2333,-14,2346,'1 561Q-3 563 -6 577T-12 604L-14 618Q-14 625 -7 628T23 635Q31 636 36 637Q63 641 621 745Q1148 845 1165 845Q1167 845 1752 739L2338 630Q2346 630 2346 618Q2340 565 2332 561Q2329 561 1749 654Q1617 675 1466 699T1241 736T1167 748Q1165 748 1093 737T867 700T583 654Q3 561 1 561'], - - // SMALL TILDE - 0x2DC: [899,-628,2333,1,2330,'804 788Q717 788 606 772T397 732T213 685T75 645T18 628Q11 628 11 632Q8 637 4 668T2 704Q2 713 36 732Q55 739 242 795Q622 898 826 898Q893 898 947 895Q1009 887 1056 872T1187 819Q1286 776 1356 758T1527 739Q1614 739 1725 755T1934 795T2118 842T2256 882T2313 899Q2320 899 2320 895Q2323 890 2327 860T2329 824Q2329 818 2296 795Q2273 787 2089 732Q1810 657 1598 632Q1562 629 1492 629Q1389 629 1320 644T1144 708Q1048 751 977 769T804 788'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/SpacingModLetters.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js deleted file mode 100644 index f00135fc..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js +++ /dev/null @@ -1,95 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/SuppMathOperators.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], - { - // LOGICAL AND WITH DOUBLE OVERBAR - 0x2A5E: [813,97,611,54,555,'55 795Q56 806 70 813H540Q554 806 555 795Q555 791 554 788T552 783T549 779T546 777T542 775T539 773H71Q70 773 68 774T65 776T61 779T58 783T56 788T55 795ZM55 601Q56 612 70 619H540Q554 612 555 601Q555 597 554 594T552 589T549 585T546 583T542 581T539 579H71Q70 579 68 580T65 582T61 585T58 589T56 594T55 601ZM75 -97Q67 -97 61 -91T55 -81Q55 -71 169 166T285 410Q295 425 305 425Q311 425 316 422T323 414L325 410Q327 404 441 167T555 -81Q555 -85 549 -91T535 -97T520 -90Q519 -89 506 -61T463 27T411 136L305 358L199 136Q167 71 129 -10Q98 -75 92 -86T75 -97'], - - // LESS-THAN OR SLANTED EQUAL TO - 0x2A7D: [636,138,778,83,694,'674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM94 170Q102 172 104 172Q110 171 254 103T535 -30T678 -98Q694 -106 694 -118Q694 -136 676 -138H670L382 -2Q92 135 90 137Q83 142 83 154Q84 164 94 170'], - - // GREATER-THAN OR SLANTED EQUAL TO - 0x2A7E: [636,138,778,82,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 356 694 346T687 331Q685 329 395 192L107 56H101Q83 58 83 76Q83 77 83 79Q82 86 98 95Q117 105 248 167Q326 204 378 228L626 346L360 472Q291 505 200 548Q112 589 98 597T83 616ZM674 172Q692 172 694 154Q694 142 687 137Q685 135 395 -2L107 -138H101Q83 -136 83 -118Q83 -106 96 -100Q100 -98 380 35T665 170T674 172'], - - // LESS-THAN OR APPROXIMATE - 0x2A85: [762,290,778,55,722,'667 761Q669 762 673 762Q682 762 688 756T694 741Q694 731 687 727Q684 724 420 613L156 502L416 392Q476 367 544 338T647 295T682 280Q694 274 694 262Q694 244 676 242Q670 242 524 303T235 425T90 487Q83 493 83 501Q83 514 94 519Q97 520 378 639T667 761ZM55 -23Q55 43 103 90T223 138Q265 138 316 114Q342 100 393 68L443 36Q502 0 554 0Q609 0 650 32T694 109Q694 138 708 138Q710 138 713 136T719 127T722 108Q722 37 673 -9T557 -56Q514 -56 468 -35T387 13T308 60T223 82Q167 82 127 50T83 -27Q81 -56 69 -56Q55 -56 55 -23ZM55 -257Q55 -191 103 -144T223 -96Q265 -96 316 -120Q342 -134 393 -166L443 -198Q502 -234 554 -234Q609 -234 650 -202T694 -125Q694 -96 708 -96Q710 -96 713 -98T719 -107T722 -126Q722 -197 673 -243T557 -290Q514 -290 468 -269T387 -221T308 -174T223 -152Q167 -152 127 -184T83 -261Q80 -290 69 -290Q55 -290 55 -257'], - - // GREATER-THAN OR APPROXIMATE - 0x2A86: [762,290,778,55,722,'90 727Q83 734 83 743Q83 751 89 756T104 762Q111 760 396 641Q686 518 687 517Q694 512 694 502T687 487Q686 486 543 425T253 303T101 242Q83 244 83 262Q83 274 95 280Q96 280 130 294T232 338T361 392L621 502L357 613Q93 724 90 727ZM55 -23Q55 43 103 90T223 138Q265 138 316 114Q342 100 393 68L443 36Q502 0 554 0Q609 0 650 32T694 109Q694 138 708 138Q710 138 713 136T719 127T722 108Q722 37 673 -9T557 -56Q514 -56 468 -35T387 13T308 60T223 82Q167 82 127 50T83 -27Q81 -56 69 -56Q55 -56 55 -23ZM55 -257Q55 -191 103 -144T223 -96Q265 -96 316 -120Q342 -134 393 -166L443 -198Q502 -234 554 -234Q609 -234 650 -202T694 -125Q694 -96 708 -96Q710 -96 713 -98T719 -107T722 -126Q722 -197 673 -243T557 -290Q514 -290 468 -269T387 -221T308 -174T223 -152Q167 -152 127 -184T83 -261Q80 -290 69 -290Q55 -290 55 -257'], - - // LESS-THAN AND SINGLE-LINE NOT EQUAL TO - 0x2A87: [636,241,778,82,694,'380 497Q445 528 522 564T636 618T673 635Q680 635 686 628T693 615T689 603Q686 599 418 472L151 343L418 215Q686 88 689 83Q693 79 693 72T687 59T675 52Q669 52 381 189T86 332Q82 337 82 344Q82 350 86 355Q91 359 380 497ZM82 -130T82 -124T95 -103H380L431 -54Q476 -6 486 -6Q491 -6 498 -12T505 -27Q505 -28 505 -29T504 -32Q503 -33 498 -38T485 -53T469 -70L438 -103H680Q682 -106 686 -110T691 -116T693 -123Q693 -130 680 -143H398L346 -192Q300 -241 291 -241Q271 -241 271 -221Q271 -209 306 -179L340 -143H95Q82 -130 82 -124'], - - // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO - 0x2A88: [635,241,778,82,693,'82 614Q82 620 86 625T94 632T100 635Q106 635 394 498T689 355Q693 349 693 343Q693 338 689 332Q683 327 395 190T100 52Q95 52 89 58T82 72Q82 80 95 88Q114 99 358 215L624 343L358 472Q89 599 86 603Q82 607 82 614ZM82 -130T82 -124T95 -103H380L431 -54Q476 -6 486 -6Q491 -6 498 -12T505 -27Q505 -28 505 -29T504 -32Q503 -33 498 -38T485 -53T469 -70L438 -103H680Q682 -106 686 -110T691 -116T693 -123Q693 -130 680 -143H398L346 -192Q300 -241 291 -241Q271 -241 271 -221Q271 -209 306 -179L340 -143H95Q82 -130 82 -124'], - - // LESS-THAN AND NOT APPROXIMATE - 0x2A89: [761,387,778,57,718,'86 512Q93 518 381 639T673 761Q680 761 686 755T693 741Q693 733 688 730Q685 723 419 612L155 501L419 390Q685 277 688 272Q693 269 693 261Q693 254 687 248T675 241Q669 241 381 362T86 490Q74 500 86 512ZM70 -59Q57 -59 57 -24Q57 40 104 87Q116 102 146 118Q186 136 231 136Q232 136 242 135T258 133T276 128T302 118T334 101T377 74Q386 69 396 63T411 53T417 50Q435 87 453 134Q491 223 495 227Q498 230 505 230Q513 230 519 225T526 212Q526 203 491 118T453 30Q453 22 489 10T553 -3Q589 -3 622 14Q653 28 669 50T688 90T694 122T706 136Q718 136 718 114Q718 113 718 109T717 103Q717 31 668 -14T554 -60Q529 -60 499 -50T451 -32T433 -24Q431 -24 404 -90T375 -157Q375 -159 402 -178T473 -218T553 -239Q599 -239 641 -211T691 -130Q694 -99 706 -99T718 -122Q718 -123 718 -127T717 -133Q717 -204 668 -249T559 -295Q512 -295 470 -275T355 -206L322 -290Q313 -310 304 -332T289 -367T282 -382Q277 -387 270 -387Q262 -387 255 -382T248 -368Q248 -361 322 -186Q311 -177 280 -166T222 -155Q189 -155 153 -173Q122 -186 106 -208T87 -248T82 -280T71 -294Q57 -294 57 -259Q57 -195 104 -148Q122 -126 155 -113T220 -99Q245 -99 276 -109T324 -127T342 -135Q397 -2 397 1Q386 10 367 23T302 58T222 80Q175 80 132 52T84 -28Q82 -59 70 -59'], - - // GREATER-THAN AND NOT APPROXIMATE - 0x2A8A: [761,387,778,57,718,'86 730Q81 734 81 740Q81 747 88 754T99 761Q103 761 392 640T688 512Q693 509 693 501T688 490Q682 484 394 363T99 241Q94 241 88 248T82 261Q82 268 86 272Q89 277 355 390L619 501L355 612Q89 723 86 730ZM70 -59Q57 -59 57 -24Q57 40 104 87Q116 102 146 118Q186 136 231 136Q232 136 242 135T258 133T276 128T302 118T334 101T377 74Q386 69 396 63T411 53T417 50Q435 87 453 134Q491 223 495 227Q498 230 505 230Q513 230 519 225T526 212Q526 203 491 118T453 30Q453 22 489 10T553 -3Q589 -3 622 14Q653 28 669 50T688 90T694 122T706 136Q718 136 718 114Q718 113 718 109T717 103Q717 31 668 -14T554 -60Q529 -60 499 -50T451 -32T433 -24Q431 -24 404 -90T375 -157Q375 -159 402 -178T473 -218T553 -239Q599 -239 641 -211T691 -130Q694 -99 706 -99T718 -122Q718 -123 718 -127T717 -133Q717 -204 668 -249T559 -295Q512 -295 470 -275T355 -206L322 -290Q313 -310 304 -332T289 -367T282 -382Q277 -387 270 -387Q262 -387 255 -382T248 -368Q248 -361 322 -186Q311 -177 280 -166T222 -155Q189 -155 153 -173Q122 -186 106 -208T87 -248T82 -280T71 -294Q57 -294 57 -259Q57 -195 104 -148Q122 -126 155 -113T220 -99Q245 -99 276 -109T324 -127T342 -135Q397 -2 397 1Q386 10 367 23T302 58T222 80Q175 80 132 52T84 -28Q82 -59 70 -59'], - - // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN - 0x2A8B: [1003,463,778,83,694,'674 1003Q681 1003 687 999T694 983Q694 973 683 967Q669 959 420 868L162 772L422 676Q683 579 685 577Q694 571 694 560Q694 550 687 546T673 541Q669 542 384 647T93 755Q83 760 83 772Q83 783 91 788Q98 791 383 897T674 1003ZM84 354T84 367T98 387H679Q694 379 694 367Q694 354 679 347H98Q84 354 84 367ZM84 160T84 173T98 193H679Q694 185 694 173Q694 160 679 153H98Q84 160 84 173ZM94 -3Q102 -1 104 -1Q107 -2 392 -107T684 -215Q694 -219 694 -232Q694 -241 687 -247Q686 -248 395 -357Q106 -463 101 -463Q83 -461 83 -443Q83 -431 94 -426Q97 -423 357 -328L615 -232L355 -136Q94 -39 92 -37Q83 -31 83 -21Q83 -9 94 -3'], - - // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN - 0x2A8C: [1003,463,778,83,694,'104 541Q98 541 91 545T83 560Q83 571 92 577Q94 579 355 676L615 772L357 868Q108 959 94 967Q83 973 83 983Q83 989 87 996T104 1003Q109 1002 396 896T687 787Q694 781 694 772Q694 759 684 755Q678 752 393 647T104 541ZM84 367Q84 380 98 387H679Q694 379 694 367Q694 356 680 348L390 347H100Q84 352 84 367ZM84 173Q84 188 100 193H680Q694 183 694 173Q694 160 679 153H98Q84 160 84 173ZM674 -1Q682 -1 688 -6T694 -20Q694 -31 685 -37Q683 -39 422 -136L162 -232L420 -328Q680 -423 683 -426Q694 -431 694 -443Q694 -461 676 -463Q671 -463 382 -357Q91 -248 90 -247Q83 -242 83 -232Q83 -220 93 -215Q667 -1 674 -1'], - - // SLANTED EQUAL TO OR LESS-THAN - 0x2A95: [636,138,778,83,694,'674 636Q682 636 688 631T694 616Q694 605 687 601Q685 599 395 462L107 326H101Q83 328 83 345Q83 358 96 365Q102 367 382 500T665 634Q671 636 674 636ZM674 442Q692 442 694 424Q694 412 687 407Q686 406 417 278L151 152L399 34Q687 -102 691 -107Q694 -113 694 -118Q694 -136 676 -138H670L382 -2Q92 135 90 137Q83 142 83 154Q84 165 96 171Q104 175 382 306T665 440Q669 442 674 442'], - - // SLANTED EQUAL TO OR GREATER-THAN - 0x2A96: [636,138,778,83,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 354 694 346Q694 328 676 326H670L382 462Q317 493 226 535Q119 585 101 595T83 616ZM94 440Q102 442 104 442Q110 441 254 373T535 240T678 172Q679 172 680 171Q694 164 694 153T687 137Q685 135 395 -2L107 -138H101Q83 -136 83 -118Q83 -106 93 -101L128 -84Q163 -68 230 -36T361 26L626 152L360 278Q91 406 90 407Q83 412 83 424Q84 434 94 440'], - - // PRECEDES ABOVE NOT EQUAL TO - 0x2AB5: [752,286,778,82,693,'653 734Q653 738 660 745T673 752T686 745T693 723Q672 555 466 485Q390 463 378 463Q373 463 373 461Q373 458 378 458Q390 458 466 436Q562 404 620 350Q682 283 693 198Q693 183 686 176Q681 170 674 170T660 176T653 187Q653 192 652 200T646 228T631 265T602 307T555 350Q435 431 151 441H95Q82 454 82 460T95 481H151Q165 482 197 483T238 485Q427 500 528 554T649 707Q653 729 653 734ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], - - // SUCCEEDS ABOVE NOT EQUAL TO - 0x2AB6: [752,286,778,82,693,'693 466T693 460T680 441H624Q608 439 577 438T538 436Q349 421 248 367T126 214Q122 192 122 187Q122 183 116 177T102 170Q95 170 89 176Q82 183 82 198Q93 283 155 350Q213 404 309 436Q385 458 398 458Q402 458 402 461Q402 463 398 463Q385 463 309 485Q103 555 82 723Q82 738 89 745T102 752T115 745T122 734Q122 721 126 701T155 640T220 572Q340 490 624 481H680Q693 466 693 460ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], - - // PRECEDES ABOVE ALMOST EQUAL TO - 0x2AB7: [761,294,778,57,717,'82 494T82 501T95 521H171Q405 527 511 569Q630 618 651 732Q652 734 653 740T655 748T658 754T663 759T672 761L686 754Q693 747 693 734Q684 668 648 623Q627 591 573 557T442 507L417 501Q428 496 442 494Q520 478 573 444T648 378Q684 333 693 267Q693 254 686 247Q673 234 659 245Q657 247 651 269Q630 383 511 432Q406 474 171 481H95Q82 494 82 501ZM70 -59Q57 -59 57 -26Q57 30 90 73T177 132Q191 136 226 136Q228 136 239 136T253 135T267 132T287 125T311 113T346 95T391 67Q462 20 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 704 136Q717 136 717 115V105Q717 39 671 -9T554 -58Q518 -58 481 -43T382 14Q302 63 273 74Q255 78 222 78Q188 78 173 74Q90 46 84 -28Q82 -59 70 -59ZM71 -294Q57 -294 57 -262Q57 -205 90 -162T177 -104Q191 -99 226 -99Q266 -103 277 -106Q310 -119 391 -168Q455 -212 502 -231Q519 -235 553 -235Q586 -235 602 -231Q640 -218 661 -195T686 -151T693 -115T704 -99Q717 -99 717 -121V-131Q717 -198 671 -246T556 -294Q519 -294 482 -279T382 -222Q307 -175 273 -162Q255 -157 222 -157Q188 -157 173 -162Q133 -175 110 -201T84 -264Q82 -294 71 -294'], - - // SUCCEEDS ABOVE ALMOST EQUAL TO - 0x2AB8: [761,294,778,57,717,'693 501Q693 493 679 481H604Q369 474 264 432Q143 382 124 269Q116 246 115 245Q101 234 88 247Q82 254 82 267Q89 329 126 378Q147 410 201 444T333 494L357 501Q354 502 340 505T318 510T295 516T269 525T243 535T215 548T188 565Q142 599 126 623Q89 672 82 734Q82 761 102 761L115 756Q116 755 124 732Q143 619 264 569Q371 527 604 521H679Q693 507 693 501ZM70 -59Q57 -59 57 -26Q57 30 90 73T177 132Q191 136 226 136Q228 136 239 136T253 135T267 132T287 125T311 113T346 95T391 67Q462 20 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 704 136Q717 136 717 115V105Q717 39 671 -9T554 -58Q518 -58 481 -43T382 14Q302 63 273 74Q255 78 222 78Q188 78 173 74Q90 46 84 -28Q82 -59 70 -59ZM71 -294Q57 -294 57 -262Q57 -205 90 -162T177 -104Q191 -99 226 -99Q266 -103 277 -106Q310 -119 391 -168Q455 -212 502 -231Q519 -235 553 -235Q586 -235 602 -231Q640 -218 661 -195T686 -151T693 -115T704 -99Q717 -99 717 -121V-131Q717 -198 671 -246T556 -294Q519 -294 482 -279T382 -222Q307 -175 273 -162Q255 -157 222 -157Q188 -157 173 -162Q133 -175 110 -201T84 -264Q82 -294 71 -294'], - - // PRECEDES ABOVE NOT ALMOST EQUAL TO - 0x2AB9: [761,337,778,57,718,'82 494T82 501T95 521H171Q256 523 317 528T441 548T543 584T613 644T651 732Q652 734 653 740T655 748T658 754T663 759T672 761L686 754Q693 747 693 734Q686 686 664 647T615 586T548 545T482 518T417 501Q419 500 451 493T517 471T590 434T657 367T693 267Q693 241 673 241Q664 241 659 245Q656 249 650 273T635 323T593 380T511 432Q406 474 171 481H95Q82 494 82 501ZM57 -26Q57 39 101 87T219 136Q254 136 277 130Q320 114 382 72Q419 50 424 45Q426 45 459 110Q496 178 497 179Q500 180 504 180Q509 180 517 175T526 161Q526 158 495 90L462 25Q462 21 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 706 136T718 115Q718 114 718 111T717 105Q717 39 671 -9T554 -58L459 -33Q450 -29 444 -27T437 -26L371 -155L391 -168Q485 -235 538 -235H553Q586 -235 602 -230Q683 -204 691 -128Q694 -99 706 -99T718 -120Q718 -121 718 -124T717 -130Q717 -199 670 -246T557 -294T393 -228Q353 -205 351 -201Q348 -201 315 -266Q294 -310 285 -323T268 -337Q259 -337 254 -331T248 -317Q248 -305 282 -246L313 -181Q313 -177 273 -161Q255 -157 222 -157Q188 -157 173 -161Q134 -174 113 -198T88 -242T82 -278T71 -294Q57 -294 57 -261Q57 -204 91 -161T179 -104Q195 -99 228 -99Q274 -102 315 -124Q337 -132 337 -130L404 -1L384 12Q319 58 273 74Q255 79 222 79Q188 79 173 74Q133 61 112 37T88 -7T82 -43T70 -59Q57 -59 57 -26'], - - // SUCCEEDS ABOVE NOT ALMOST EQUAL TO - 0x2ABA: [761,337,778,57,718,'693 501Q693 493 679 481H604Q548 479 509 477T418 469T331 454T257 429T194 392T150 340T124 270Q117 247 115 245Q101 236 88 247Q82 254 82 267Q89 330 126 379Q147 411 202 444T333 494L357 501Q239 531 188 565Q142 599 126 623Q89 672 82 734Q82 761 102 761L115 756Q116 755 124 732Q133 678 166 640T241 579T349 544T470 527T604 521H679Q693 507 693 501ZM57 -26Q57 39 101 87T219 136Q254 136 277 130Q320 114 382 72Q419 50 424 45Q426 45 459 110Q496 178 497 179Q500 180 504 180Q509 180 517 175T526 161Q526 158 495 90L462 25Q462 21 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 706 136T718 115Q718 114 718 111T717 105Q717 39 671 -9T554 -58L459 -33Q450 -29 444 -27T437 -26L371 -155L391 -168Q485 -235 538 -235H553Q586 -235 602 -230Q683 -204 691 -128Q694 -99 706 -99T718 -120Q718 -121 718 -124T717 -130Q717 -199 670 -246T557 -294T393 -228Q353 -205 351 -201Q348 -201 315 -266Q294 -310 285 -323T268 -337Q259 -337 254 -331T248 -317Q248 -305 282 -246L313 -181Q313 -177 273 -161Q255 -157 222 -157Q188 -157 173 -161Q134 -174 113 -198T88 -242T82 -278T71 -294Q57 -294 57 -261Q57 -204 91 -161T179 -104Q195 -99 228 -99Q274 -102 315 -124Q337 -132 337 -130L404 -1L384 12Q319 58 273 74Q255 79 222 79Q188 79 173 74Q133 61 112 37T88 -7T82 -43T70 -59Q57 -59 57 -26'], - - // SUBSET OF ABOVE EQUALS SIGN - 0x2AC5: [754,215,778,84,694,'84 463Q84 585 166 663T360 752Q361 752 370 752T395 752T430 752T475 753T524 753H679Q694 746 694 733Q694 724 681 714L522 713H470H441Q366 713 338 709T266 685Q244 674 224 659T179 617T139 550T124 463V458Q124 370 185 302Q244 238 328 220Q348 215 366 215T522 213H681Q694 203 694 193Q694 180 679 173H526Q510 173 480 173T434 172Q350 172 289 188T172 258Q84 340 84 463ZM84 -14T84 -1T98 19H679Q694 11 694 -1Q694 -14 679 -21H98Q84 -14 84 -1ZM84 -208T84 -195T98 -175H679Q694 -183 694 -195Q694 -208 679 -215H98Q84 -208 84 -195'], - - // SUPERSET OF ABOVE EQUALS SIGN - 0x2AC6: [754,215,778,83,694,'83 733Q83 746 98 753H251Q267 753 297 753T343 754Q427 754 488 738T605 668Q693 587 693 463Q693 378 650 312T545 213T415 174Q407 173 251 173H98Q83 180 83 193Q83 203 96 213H255H308H337Q412 213 439 217T512 241Q533 252 553 267T599 309T639 376T654 463Q654 554 592 624Q557 662 512 685Q468 704 439 708T335 713H306H255L96 714Q83 724 83 733ZM84 -14T84 -1T98 19H679Q694 11 694 -1Q694 -14 679 -21H98Q84 -14 84 -1ZM84 -208T84 -195T98 -175H679Q694 -183 694 -195Q694 -208 679 -215H98Q84 -208 84 -195'], - - // stix-subset not double equals, variant - 0x2ACB: [783,385,778,82,694,'693 221Q693 214 680 201H524Q398 201 367 202T309 212Q236 230 180 280T98 398Q84 438 84 492T98 585Q126 663 193 716T346 781Q347 781 373 781T440 782T520 783H680Q682 780 686 776T691 770T693 763T680 743H526Q364 743 353 741Q279 730 221 687T138 578Q124 540 124 492T138 405Q163 340 221 297T353 243Q364 241 526 241H680Q682 238 686 234T691 228T693 221ZM82 -48T82 -41T95 -19H462L513 41L569 105Q574 110 582 110T596 104T602 90Q602 87 600 83Q600 77 555 30L515 -17L600 -19H682Q693 -30 693 -38T680 -59H480L415 -137L349 -213L515 -215H682Q693 -226 693 -233T680 -255H313L260 -317Q224 -360 212 -372T192 -385Q184 -385 179 -377T173 -362Q174 -361 218 -306L260 -255H178L93 -253L86 -248Q82 -243 82 -235Q82 -226 93 -215H195L295 -213L362 -137L426 -59H260L93 -57L86 -53Q82 -48 82 -41'], - - // SUPERSET OF ABOVE NOT EQUAL TO - 0x2ACC: [783,385,778,82,693,'82 759T82 763T83 769T89 776T95 783H251Q378 783 409 782T469 772Q540 753 596 703T678 585Q691 546 691 492T678 398Q649 320 581 267T426 203Q415 201 251 201H95Q82 214 82 221Q82 225 83 227T89 234T95 241H249Q411 241 422 243Q496 253 554 296T638 405Q651 444 651 492Q651 539 638 578Q613 643 555 686T422 741Q411 743 249 743H95Q82 759 82 763ZM82 -48T82 -41T95 -19H462L513 41L569 105Q574 110 582 110T596 104T602 90Q602 87 600 83Q600 77 555 30L515 -17L600 -19H682Q693 -30 693 -38T680 -59H480L415 -137L349 -213L515 -215H682Q693 -226 693 -233T680 -255H313L260 -317Q224 -360 212 -372T192 -385Q184 -385 179 -377T173 -362Q174 -361 218 -306L260 -255H178L93 -253L86 -248Q82 -243 82 -235Q82 -226 93 -215H195L295 -213L362 -137L426 -59H260L93 -57L86 -53Q82 -48 82 -41'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/SuppMathOperators.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js deleted file mode 100644 index 6b0c89c4..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js +++ /dev/null @@ -1,167 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Caligraphic/Bold/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Caligraphic-bold'] = { - directory: 'Caligraphic/Bold', - family: 'MathJax_Caligraphic', - id: 'MJCALB', - weight: 'bold', - skew: { - 0x41: 0.224, - 0x42: 0.16, - 0x43: 0.16, - 0x44: 0.0958, - 0x45: 0.128, - 0x46: 0.128, - 0x47: 0.128, - 0x48: 0.128, - 0x49: 0.0319, - 0x4A: 0.192, - 0x4B: 0.0639, - 0x4C: 0.16, - 0x4D: 0.16, - 0x4E: 0.0958, - 0x4F: 0.128, - 0x50: 0.0958, - 0x51: 0.128, - 0x52: 0.0958, - 0x53: 0.16, - 0x54: 0.0319, - 0x55: 0.0958, - 0x56: 0.0319, - 0x57: 0.0958, - 0x58: 0.16, - 0x59: 0.0958, - 0x5A: 0.16 - }, - - // SPACE - 0x20: [0,0,250,0,0,''], - - // DIGIT ZERO - 0x30: [460,17,575,46,528,'259 460H279Q352 460 403 444T491 378Q528 320 528 219Q528 100 475 45Q417 -17 287 -17Q152 -17 99 44T46 219Q46 246 47 265T57 318T82 376T131 422T210 454Q234 460 259 460ZM389 229V271Q389 351 371 380T280 409Q232 409 208 385Q194 371 190 345T185 229V210Q185 108 194 83Q208 35 287 35Q317 35 336 42Q372 55 380 85T389 204V229'], - - // DIGIT ONE - 0x31: [461,0,575,80,494,'119 417Q191 417 240 428T310 450T338 461Q353 461 357 452T361 400Q361 389 361 342T360 254V62H420H456Q483 62 488 58T494 35V29Q494 13 491 7T473 0Q468 0 424 1T295 2T167 1T117 0Q114 0 111 0T107 1Q96 8 96 27V35Q96 54 102 58T140 62H170H229V213Q229 363 228 363Q220 360 196 358T150 356L130 355H93Q84 360 82 365T80 386Q80 404 81 407T95 417H119'], - - // DIGIT TWO - 0x32: [460,0,575,51,517,'214 399Q202 399 191 398T175 395T170 392L171 390Q172 389 174 386T178 379T181 369T182 355Q182 328 165 312T123 296Q99 296 82 312T64 356Q64 397 105 428T253 460Q301 460 337 456T411 441T476 403T514 338Q516 328 516 310V304Q516 257 470 227Q456 217 427 205T376 184L354 176Q350 174 325 162T277 139L254 128Q414 129 428 130H439Q450 148 453 166T460 188T486 193H493Q515 193 517 178Q517 171 502 94T484 11Q481 3 472 2T410 0H269Q65 0 62 2Q55 5 53 10T51 32Q51 54 56 58Q60 62 173 131Q296 207 318 224Q368 264 368 308Q368 342 342 363T283 392T214 399'], - - // DIGIT THREE - 0x33: [461,212,575,48,526,'80 309Q80 367 131 414T276 461Q388 461 441 417T494 313Q494 265 463 223T373 155L361 151L376 147Q436 132 480 92T525 -15T487 -127T393 -192T274 -211Q179 -211 114 -167T48 -53Q48 -18 69 5T128 29Q168 29 188 5T208 -50Q208 -59 207 -67T203 -81T197 -92T190 -101T183 -109T177 -114T170 -118L167 -121Q160 -125 164 -127Q167 -129 176 -133Q215 -152 268 -152H273Q337 -152 356 -92Q364 -69 364 -14Q364 45 352 74T303 120Q287 125 240 125H230Q201 125 196 127T191 146V152Q192 170 196 173T233 178Q234 178 241 178T252 179T262 181T274 183T285 188T297 195T308 205T319 218T328 235T337 257Q345 280 345 320V330Q345 345 343 355T335 379T312 399T270 407Q226 407 177 377Q226 356 226 310Q226 270 204 253T153 235Q123 235 102 253T80 309'], - - // DIGIT FOUR - 0x34: [469,194,575,32,542,'180 0Q155 0 124 0T84 -1Q48 -1 40 3T32 27V37Q32 59 34 63T204 265T377 465Q380 468 383 468H387Q391 468 398 468T411 469Q432 469 438 468T449 459Q451 455 451 258V62H489H498Q531 62 536 58T542 31Q542 9 537 5T504 0H489H451V-132H489H498Q530 -132 536 -136T542 -163Q542 -181 538 -187T522 -194Q518 -194 483 -193T378 -192Q281 -192 256 -193L217 -194Q203 -189 203 -169V-163V-158Q203 -140 209 -136T246 -132H265H314V0H180ZM325 62V320L105 63L215 62H325'], - - // DIGIT FIVE - 0x35: [461,211,575,57,517,'131 29Q159 26 175 12T194 -13T197 -35V-41Q197 -58 195 -66Q191 -76 185 -84T173 -97T161 -105T152 -109L148 -110Q148 -112 158 -121T195 -141T252 -152Q274 -152 280 -151Q335 -137 349 -104T363 9Q363 85 356 114T322 157Q305 166 286 166Q251 166 223 154T182 131T162 109Q154 98 150 96T130 93Q107 93 102 104Q100 107 100 279V371V424Q100 461 110 461Q114 461 123 458T149 450T183 441Q234 429 286 429Q313 429 340 432T387 440T422 449T447 457T458 461Q472 461 472 435Q472 420 470 418Q464 405 438 379T352 325T226 297Q189 297 171 301H168V182Q169 182 174 185T190 194T213 205T248 213T292 217Q391 217 454 159T517 5Q517 -92 444 -151T255 -211Q167 -211 112 -160T57 -44Q57 -12 76 8T131 29'], - - // DIGIT SIX - 0x36: [660,17,575,48,526,'48 316Q48 398 70 462T124 562T198 621T274 652T339 660Q377 660 384 659Q497 632 497 532Q497 507 482 487T431 466Q397 466 381 486T365 530Q365 569 405 593Q382 603 381 603Q361 607 350 607Q316 607 279 589T221 533Q199 489 196 385L195 370Q196 371 203 379T217 395T237 410T263 424Q283 431 313 431Q409 431 468 368Q526 310 526 208Q526 131 492 81T405 5Q359 -17 289 -17Q256 -17 227 -11T163 17T105 73T65 170T48 316ZM293 380Q244 380 220 331T196 212Q196 104 216 80Q240 41 292 41Q295 41 301 41T309 42Q338 46 355 62Q372 81 375 108T379 230Q378 314 372 333Q358 375 299 380H293'], - - // DIGIT SEVEN - 0x37: [476,211,575,64,558,'95 210H88Q66 210 64 225Q64 229 82 345T102 465Q106 476 125 476H131Q162 476 162 458Q162 451 213 448Q221 448 238 447T260 446Q261 446 410 444Q436 444 468 444T509 445Q544 445 551 440T558 413V404Q558 395 547 380T478 301L392 202Q354 150 339 81T321 -104V-132Q321 -187 286 -203Q273 -211 255 -211Q236 -211 217 -199T190 -160Q189 -153 189 -130Q194 17 282 156Q309 200 370 270Q404 307 400 307H293Q151 306 146 303Q140 300 132 259T120 215Q115 210 95 210'], - - // DIGIT EIGHT - 0x38: [661,17,575,48,526,'48 164Q48 199 59 228T92 277T128 307T163 329Q159 332 155 336Q135 346 110 382Q80 427 80 477Q80 564 147 620Q202 660 264 660Q266 660 275 660T290 661Q384 661 439 619T494 506Q494 486 489 468T477 437T459 413T440 395T421 380T406 370L410 368Q414 365 421 361T437 351T456 335T476 316T495 291T511 262T522 228T526 189Q526 93 460 38T282 -17Q242 -17 205 -9T130 19T71 75T48 164ZM406 506Q406 545 379 576T283 607Q218 606 193 585T168 536Q168 522 172 513T195 490T224 471T275 443L346 403Q406 446 406 506ZM291 42Q365 42 395 70T425 134V141Q425 170 401 190T319 242Q308 248 302 251Q286 260 266 271T235 288L225 294Q222 292 217 289T198 274T175 249T157 212T148 163Q148 116 179 79T291 42'], - - // DIGIT NINE - 0x39: [461,210,575,48,526,'175 -140Q198 -152 236 -152Q294 -152 332 -116Q356 -91 366 -54T379 62V78L376 74Q372 70 366 64T352 50T333 35T308 23Q289 17 262 17Q168 17 108 77T48 235Q48 273 59 317Q81 381 141 421T276 461Q279 461 285 461T295 460Q326 460 354 454T415 426T471 371T510 277T526 136Q526 42 501 -28T432 -136T341 -192T240 -210Q199 -210 169 -201T121 -178T94 -146T80 -112T77 -82Q77 -51 95 -33T143 -15Q170 -15 189 -33T209 -81Q209 -116 175 -140ZM377 244V274Q377 300 376 316T368 352T348 384T312 405Q307 406 283 406Q257 406 238 396T213 376T205 361Q196 341 196 259V233V181Q196 122 211 96T278 69H298Q330 82 345 104Q367 134 376 190Q377 200 377 244'], - - // LATIN CAPITAL LETTER A - 0x41: [751,49,921,39,989,'761 751Q784 751 784 728V711Q784 570 795 417T820 191Q844 76 865 76Q868 76 902 93T962 112H973Q989 104 989 94Q989 92 987 86Q978 47 846 -11Q812 -25 779 -26Q722 -26 708 9Q688 47 669 161H524L379 162L359 136Q286 43 234 -3T142 -49T71 -19T39 55Q39 92 60 131T103 174Q113 174 117 167T124 149T136 128T166 110Q183 105 190 105Q230 105 341 246Q401 322 453 397T531 514T582 601T611 651H640V663Q640 692 676 718T745 750Q747 750 752 750T761 751ZM658 266Q653 312 649 377T644 489T641 541V556L557 415Q500 325 448 253Q467 261 524 261H568H658V266'], - - // LATIN CAPITAL LETTER B - 0x42: [706,17,748,40,739,'441 83Q571 83 571 195Q571 246 538 279T466 322T386 333Q378 333 357 330T329 327Q307 327 307 345Q307 354 313 365T347 396T419 430Q546 472 581 498Q594 508 594 535Q594 574 567 589T508 604Q469 604 442 583Q390 546 342 457T265 256Q237 148 186 60Q167 29 144 13Q105 -15 68 -17H65Q40 -17 40 1Q40 7 53 29T87 100T124 210Q162 373 190 575Q188 575 174 567T138 550T98 542Q75 542 75 560Q75 588 123 618Q135 625 203 659T281 696Q299 703 316 703Q339 703 339 685Q339 656 328 583L333 588Q338 592 346 599T367 615T394 634T428 654T467 674T511 690T559 701T611 705Q651 704 681 689Q739 659 739 598Q739 507 595 427L584 421Q585 420 595 416T610 410T626 402T644 392T660 380T677 365T691 347T703 325T710 299T715 268Q717 193 665 130Q622 73 531 28T348 -17Q275 -17 225 10Q206 19 200 24T193 36Q193 57 231 86T311 119H322Q386 83 441 83'], - - // LATIN CAPITAL LETTER C - 0x43: [704,20,613,20,599,'243 -20Q135 -20 78 48T20 218Q20 280 39 344T98 470T193 580T324 661T488 702H490Q491 702 493 702T498 703T507 703T518 702H526Q599 702 599 631Q599 597 577 550T541 486Q523 463 490 447T431 430Q423 430 419 433Q409 437 409 450Q410 456 432 499T454 567Q454 586 446 594T415 603Q316 603 254 532Q216 487 190 421T164 284Q164 228 181 186T226 122T282 90T340 80Q377 80 405 96T449 131T492 167T553 187H555Q580 187 580 168Q580 153 551 123T476 60T367 4T243 -20'], - - // LATIN CAPITAL LETTER D - 0x44: [686,0,892,20,885,'107 0Q92 5 92 18Q92 33 113 53T160 86Q170 91 182 94T197 100L206 120Q248 226 273 337T304 501T309 585Q278 585 234 577T179 557Q172 550 166 532T156 509Q140 484 105 466T44 447Q20 447 20 465Q20 482 34 510T76 565Q122 608 173 632Q281 686 447 686H480H517Q692 686 784 631Q885 571 885 450Q885 339 805 239T586 75T286 1Q276 0 187 0H107ZM741 391Q741 424 731 452T694 510T613 558T481 584Q476 584 468 584T457 585L449 586V579Q441 501 425 424T391 292T357 193T330 125T319 100H324Q511 100 628 175Q688 215 714 275T741 391'], - - // LATIN CAPITAL LETTER E - 0x45: [703,16,607,37,627,'495 516Q485 516 478 520T470 532Q470 537 476 550T482 570Q482 589 465 596T401 603Q344 603 319 582Q295 558 295 519Q295 493 312 474T355 445T407 432T455 427Q477 427 477 409Q477 395 453 371T389 333Q380 330 345 327T279 312T223 272Q181 223 181 176Q181 131 225 107T324 83Q366 83 395 98T448 136T487 167Q517 185 547 187H551Q574 187 574 170Q574 151 535 113T421 36T271 -15Q260 -16 226 -16Q181 -16 152 -9Q104 4 71 33T37 111Q37 140 50 176T106 263T216 356Q215 357 207 362T190 374T172 392T156 419T150 456Q150 521 208 580T341 670T474 702Q475 703 499 703Q528 703 547 701T586 693T615 673T627 637Q627 584 581 550T495 516'], - - // LATIN CAPITAL LETTER F - 0x46: [686,30,814,17,930,'812 567Q804 567 795 570T786 579Q786 586 647 586H559L558 582Q558 575 539 510T506 407L498 384H775Q788 378 790 368Q790 328 746 298T665 268Q646 268 642 284H457L447 261Q396 150 360 94Q329 46 270 8T149 -30Q123 -30 100 -24T63 -10T37 9T22 26T17 36Q17 59 56 88T135 119Q145 119 149 117T165 104Q187 78 227 72Q232 72 234 76Q245 93 273 145T350 323T424 570L428 586H276Q265 575 239 563T190 551Q180 551 174 556T167 569Q167 580 179 597T213 634T278 668T371 685Q374 686 624 686Q863 685 888 682Q917 678 927 663Q930 658 930 650Q930 624 888 596T812 567'], - - // LATIN CAPITAL LETTER G - 0x47: [703,114,682,50,671,'50 279Q50 361 88 438T190 570T335 661T503 702H514Q524 703 532 703Q671 703 671 626Q671 580 614 514T495 447Q472 447 472 465Q472 477 499 511T527 562Q527 582 507 592T433 602Q351 602 302 569Q252 535 223 469T194 344Q194 266 237 217T352 168Q401 168 442 205T505 316Q515 345 551 368T622 393H625Q649 393 649 376Q649 371 635 318T612 237Q580 129 540 62T442 -49Q353 -114 264 -114Q259 -114 252 -114L246 -113Q190 -113 142 -107T81 -96Q71 -90 71 -81Q71 -57 110 -30T187 2Q196 2 236 -4T338 -14Q371 -14 377 -9Q410 24 446 113L451 127Q353 68 253 68Q157 68 104 129T50 279'], - - // LATIN CAPITAL LETTER H - 0x48: [686,48,987,20,946,'42 447Q20 447 20 465Q20 481 47 515T119 589T239 657T392 686Q443 686 463 664T484 616Q484 570 473 506T452 401L441 360Q441 359 550 359H660L663 370Q684 435 716 522T758 624Q771 646 806 666T870 686Q894 686 894 668Q894 667 867 597T804 416T752 218Q737 135 737 93Q737 77 746 65T778 53Q799 53 803 54T814 63Q831 86 864 103T924 120Q946 120 946 100Q945 85 931 63T888 16T806 -27T684 -48H681Q625 -48 603 -10Q593 4 593 29Q593 71 603 131T624 230L634 269Q632 269 624 266Q610 261 600 261T507 259H411L399 222Q344 62 322 21Q301 -7 268 -24T209 -41H207Q187 -41 185 -25Q185 -17 192 2T220 71T261 184Q284 256 284 258Q284 259 227 259H170Q169 259 166 261T162 264T158 266T156 271T155 277Q155 296 184 320T250 356Q259 358 286 359Q312 359 312 360Q314 372 318 385Q332 450 339 526Q339 530 339 535T340 543Q340 586 296 586Q255 586 227 576T188 553T165 523T146 497Q127 476 97 462T42 447'], - - // LATIN CAPITAL LETTER I - 0x49: [687,0,642,-27,746,'56 499Q32 499 32 516Q32 540 64 580T165 649Q241 682 365 685Q366 685 376 685T405 685T445 686T496 686T553 686H732Q746 677 746 668Q746 646 711 620T642 587L572 586H503Q479 546 458 479T424 352T383 224T318 111L309 101L412 100H514L523 109Q567 150 618 153Q644 153 644 135Q644 132 642 124Q629 86 581 52T476 6Q454 2 433 2T216 0Q-11 0 -15 2Q-27 6 -27 18Q-27 37 2 61T59 93Q77 100 142 100H198Q255 177 299 369Q337 513 382 574L391 586H348Q261 586 176 576Q163 543 124 521T56 499'], - - // LATIN CAPITAL LETTER J - 0x4A: [687,114,779,53,937,'286 390Q263 390 263 407Q263 432 293 481T367 566Q511 687 724 687Q738 687 761 687T793 686H923Q937 677 937 668Q937 648 905 623T842 589Q829 587 817 586T802 585T795 583T788 578Q709 506 632 189Q622 153 615 134T588 81T537 17Q482 -39 404 -76T247 -114Q192 -114 158 -100Q53 -61 53 32Q53 59 58 73T79 102Q126 147 177 147Q200 147 200 128Q200 123 198 112T196 96Q196 47 238 17T345 -13Q362 -13 377 -9T404 0T426 16T444 34T459 55T470 76T478 97T483 116T488 132L490 141Q511 222 520 257T554 364T608 486T675 576L685 586H634H612Q532 586 484 564Q453 549 436 526T409 478T395 447Q378 424 345 407T286 390'], - - // LATIN CAPITAL LETTER K - 0x4B: [703,17,871,40,834,'98 542Q75 542 75 560Q75 588 123 618Q132 624 199 657T275 694Q291 703 315 703Q327 703 332 699T338 690T339 670Q339 596 323 505T283 337T237 194T198 90L181 53Q170 31 136 8T68 -17H65Q40 -17 40 0L76 92Q112 185 150 322T194 564V578L168 565Q125 542 98 542ZM834 142Q834 125 819 100T774 48T692 3T576 -16H560Q540 -16 508 6Q469 33 422 108T342 267T309 398Q309 411 310 417T320 442T347 482Q401 542 517 615T710 702Q712 702 721 702T735 703Q772 703 791 690Q819 674 819 646T792 597T733 574H722Q704 584 704 599Q706 607 700 610T672 617L660 613Q609 595 524 538T423 450V440Q423 376 488 247T604 83Q621 70 640 70Q677 70 701 82Q713 87 718 101T737 132T783 160Q792 163 807 163Q834 163 834 142'], - - // LATIN CAPITAL LETTER L - 0x4C: [703,17,788,41,751,'63 -17Q41 -17 41 0Q41 22 85 54Q101 68 113 92T133 141T154 219T182 315Q230 462 306 553Q345 599 391 632T478 678T543 697T582 703Q584 703 589 703T598 702Q643 702 666 676T689 613Q689 588 683 575Q674 551 632 524T552 496Q530 496 530 512Q530 517 531 525T533 538Q533 559 522 577T480 596H476Q462 596 451 588T415 544Q350 447 310 281Q284 181 261 136L255 124H285Q342 123 441 107T583 90L596 89Q603 116 647 144T729 173Q751 173 751 157Q751 118 685 60T523 -15Q514 -16 479 -16Q421 -16 320 0T171 18H155L142 10Q98 -17 63 -17'], - - // LATIN CAPITAL LETTER M - 0x4D: [703,49,1378,38,1353,'38 20Q38 59 60 99T104 139Q106 139 126 125T176 106H181Q200 106 221 139T286 281Q322 370 342 451T368 581T376 634Q384 657 420 680T487 703Q502 703 507 696T522 649Q538 589 554 537Q579 453 609 372T660 248T686 202Q687 201 739 244T830 322L1166 642Q1225 700 1230 701Q1230 701 1237 703Q1258 703 1258 667L1253 637Q1248 607 1241 558T1227 451T1214 326T1209 202Q1209 77 1232 77Q1237 77 1269 94T1326 112H1329Q1353 112 1353 94Q1353 81 1334 60Q1311 37 1248 7T1150 -24H1141H1135Q1085 -24 1074 26Q1064 75 1064 134Q1064 239 1086 426Q1087 430 1087 434L1061 410Q871 227 783 149L694 76Q653 44 647 40T631 34Q620 34 616 37T594 63Q546 125 514 198Q467 307 423 449L418 466L412 444Q376 310 306 153Q278 88 251 45T201 -18T163 -43T131 -49Q102 -48 70 -31T38 20'], - - // LATIN CAPITAL LETTER N - 0x4E: [840,49,937,-24,1105,'47 139Q81 105 122 105Q137 105 147 117Q159 134 182 199T234 381T274 610Q275 634 284 647Q297 666 327 684T389 703Q403 703 408 695T428 645Q480 490 567 298Q628 163 673 103Q674 102 674 102T675 106Q732 331 803 551Q842 674 875 725Q908 775 966 807T1081 840H1084Q1105 840 1105 803Q1105 768 1088 733T1051 689Q1045 686 1032 686Q986 683 948 663T901 624Q881 579 837 430T760 154L726 28Q725 28 725 28T723 25Q716 0 682 -24T611 -48Q600 -48 595 -45T576 -23Q522 44 480 124Q417 243 332 463L328 473L325 457Q291 293 227 124Q159 -49 72 -49Q38 -49 5 -28Q-24 -8 -24 21Q-24 58 -3 98T41 139H47'], - - // LATIN CAPITAL LETTER O - 0x4F: [704,17,906,63,882,'433 703Q456 703 456 685Q456 672 441 655T407 627Q402 623 378 611T328 579T276 524Q207 434 207 324Q207 222 270 153T441 84Q566 84 651 177T737 400V405Q737 496 693 549T576 603Q542 603 510 560Q490 537 472 502T442 454Q397 412 346 409Q320 409 320 427Q320 430 322 436Q331 465 360 507T433 594T542 671T677 703Q776 703 829 636T882 468Q882 369 831 277T702 122T528 21T343 -17Q214 -17 139 61T63 257Q63 336 94 409T173 534T272 625T367 684T432 703H433'], - - // LATIN CAPITAL LETTER P - 0x50: [686,67,810,20,846,'170 -67Q147 -67 147 -49Q147 -42 162 -8T204 99T253 254Q274 332 288 415T305 542L308 585Q277 585 234 577T179 557Q172 550 166 532T156 509Q140 484 105 466T44 447Q20 447 20 465Q20 482 34 510T76 565Q122 608 173 632Q279 686 448 686H495H537Q622 686 678 677T784 637Q846 598 846 533Q846 452 776 375T597 252T378 206H366L358 181Q341 130 316 68T282 -7Q262 -33 230 -50T170 -67ZM701 468Q701 512 661 540T570 577T461 586H448V582Q446 576 443 545T428 447T395 301L389 280Q390 280 398 284T419 295T441 303Q443 304 484 306T572 321T651 359Q701 402 701 468'], - - // LATIN CAPITAL LETTER Q - 0x51: [703,146,939,120,905,'874 453Q874 372 836 298T750 177T638 89T543 33T486 8L483 7Q485 5 523 -7T622 -32T726 -46Q741 -46 746 -45T755 -41T762 -27Q770 -1 806 23T878 50H890Q905 42 905 33Q905 -8 838 -68T670 -145Q662 -146 628 -146Q538 -146 389 -100T164 -50Q132 -50 132 -32T162 11T227 47Q231 48 286 51T394 62T518 100T641 180Q730 271 730 387Q730 478 673 540T520 602Q410 602 337 525T264 355Q264 284 310 244T420 203Q476 203 568 222Q594 222 594 204Q594 184 565 161T508 128Q433 103 316 103Q227 103 174 157T120 290Q120 382 182 471T343 620T548 697Q578 703 601 703Q604 703 611 703T623 702Q663 702 687 696Q760 679 817 618T874 453'], - - // LATIN CAPITAL LETTER R - 0x52: [686,17,990,20,981,'159 0Q159 5 172 34T205 114T245 229T284 386T309 575V585H304Q303 585 295 585T282 584Q233 579 207 570T175 553T165 531T156 509Q140 484 105 466T44 447Q20 447 20 465Q20 482 34 510T76 565Q122 608 173 632Q279 686 448 686H505H582Q683 686 745 672T834 611Q842 594 842 565Q842 523 824 484T780 419T722 370T669 336T632 318L619 312L626 302Q640 279 667 227T696 172Q717 133 735 112T762 88T784 84Q824 84 872 118T957 153Q981 153 981 136Q981 114 937 78T820 13T684 -17Q646 -17 616 8T569 66T526 151T477 234Q461 256 446 265Q437 272 421 274Q400 274 400 291Q400 311 430 336T495 371Q496 371 543 374T627 392T681 436Q699 467 699 503Q699 550 644 568T471 586H449V582Q449 581 447 559T438 499T422 413T393 298T348 165Q313 73 296 45Q282 24 249 4T185 -17Q159 -17 159 0'], - - // LATIN CAPITAL LETTER S - 0x53: [703,16,696,25,722,'204 476Q204 525 248 577T372 666T539 703T674 683T721 612Q721 588 714 569Q704 547 669 524T601 499Q573 499 573 516Q573 521 575 527T577 543Q577 563 568 574T548 588L539 590Q490 603 444 603Q418 603 394 597T364 583Q348 567 348 533Q348 493 382 466T459 425T555 387T633 330Q662 292 662 249Q662 153 544 69T257 -16Q218 -16 208 -15Q118 1 64 46Q25 76 25 126Q25 185 82 235T203 290H207Q229 290 231 274Q231 243 180 213Q173 209 172 206T170 189T171 170T183 150T216 121Q273 83 356 83Q412 83 459 100Q493 111 507 141Q518 165 518 185Q518 208 506 228T478 262T437 288T398 306T360 320Q316 335 285 352T239 384T215 416T205 443T204 467V476'], - - // LATIN CAPITAL LETTER T - 0x54: [720,69,644,38,947,'61 462H59Q38 462 38 479Q38 528 109 594T289 683L304 685L837 687L846 693Q889 720 923 720Q947 720 947 702Q945 671 892 631T776 583Q774 583 772 583T769 582T766 582L764 581H758Q753 581 744 581T722 580T693 580T662 580H563L514 385Q507 355 493 299T475 225T460 172T443 119T426 76T402 24Q386 -11 355 -33T304 -61T266 -69Q242 -69 242 -50Q243 -45 253 -25T278 32T307 115L364 340Q405 511 413 538T436 580H207Q202 572 200 568T197 561T195 552T190 537Q176 511 135 487T61 462'], - - // LATIN CAPITAL LETTER U - 0x55: [686,24,715,-10,771,'124 586Q107 586 74 569T15 552H13Q-10 552 -10 570Q-10 605 70 645T222 686Q283 686 283 631Q283 590 246 504T172 326T135 181Q135 130 157 107T205 83Q221 83 259 106Q347 165 453 301T604 548Q607 557 612 569T619 587T624 600T628 612T632 621T637 628T641 634T647 640T654 645T662 652Q706 686 748 686Q771 686 771 669Q771 656 754 614T700 467T630 229Q615 168 610 105Q610 88 617 78L641 90Q681 111 706 112Q733 112 733 95Q733 82 714 60Q694 40 633 10Q567 -23 532 -24Q507 -24 495 -17Q466 -4 466 32Q466 96 500 225Q277 -17 102 -17Q56 -17 23 17T-10 118Q-10 164 13 234T64 363T115 481T139 567Q139 586 124 586'], - - // LATIN CAPITAL LETTER V - 0x56: [686,77,737,25,774,'25 608Q25 628 60 657T148 686Q184 683 213 671T273 625T327 538T363 394T380 184L381 134L399 148Q503 226 574 302T667 415T689 467Q688 474 684 482T672 502T645 521T600 532Q576 532 576 567Q576 604 597 644T641 685H649Q701 685 737 648T774 545Q774 457 703 333T461 66Q397 13 332 -32T255 -77Q237 -77 237 -30V-23Q241 20 241 109Q241 483 115 569Q91 586 50 589Q25 589 25 608'], - - // LATIN CAPITAL LETTER W - 0x57: [686,77,1169,25,1206,'25 607Q25 629 62 657T142 686Q205 686 248 647T312 541T339 411T347 275Q347 249 345 203V189Q375 219 449 316T587 516Q629 584 629 587Q629 589 626 597T622 607Q622 629 658 656T732 686H744Q755 680 757 678Q757 677 769 649T799 577T835 475T874 339T904 183Q908 157 910 151L925 169Q997 252 1059 343T1121 474Q1120 498 1103 513T1059 532Q1036 532 1036 568Q1036 600 1053 636T1090 683L1097 686H1109Q1147 684 1176 652T1206 551Q1206 460 1131 320T897 7Q859 -33 840 -52T816 -74T804 -77Q788 -77 784 -32Q783 -28 783 -26Q774 108 744 239T691 436T665 501Q664 501 649 475T602 400T528 289T420 146T280 -15Q243 -56 231 -66T210 -77Q191 -77 191 -40Q191 -38 195 -4T204 91T209 217Q209 290 202 351T177 469T126 557T45 589Q25 589 25 607'], - - // LATIN CAPITAL LETTER X - 0x58: [687,-1,817,56,906,'762 562Q762 579 737 584T711 604Q711 630 753 658T834 686Q864 686 885 669T906 627Q906 580 834 522T614 379L584 362V357Q585 354 589 315T597 233T603 183Q610 132 627 116T671 100Q678 100 704 113T754 126T778 107Q776 79 733 45T626 2Q615 1 578 1Q542 1 535 3Q521 7 510 15T491 31T477 54T467 78T460 108T456 137T452 170T449 201Q447 220 445 240T442 270L441 281Q435 281 357 233Q240 165 206 135Q200 128 200 124Q200 113 208 108T226 101T244 96T252 82Q252 61 214 31T129 1H120Q97 1 77 16T56 60Q56 105 133 168T414 345Q428 352 431 354T433 359Q422 493 414 522Q407 551 395 566T373 583T350 586H341L332 580Q290 560 265 560Q243 560 243 577Q243 585 248 596T269 624T306 653T365 676T447 686H456Q472 686 484 683T514 671T543 637T562 576Q565 557 570 501L577 437Q577 436 613 457T694 506T756 551Q762 558 762 562'], - - // LATIN CAPITAL LETTER Y - 0x59: [686,164,759,36,797,'73 555Q49 555 49 573Q49 602 110 644T239 686Q319 686 376 624Q416 584 444 511T483 361T499 240T503 173Q503 165 504 165Q506 165 524 184T556 218Q631 297 674 377T718 485Q718 505 699 526Q673 552 628 552Q619 552 613 562T607 590Q607 617 621 645T658 685Q661 686 671 686Q718 686 757 652T797 545Q797 476 749 369T602 146Q500 29 371 -67T176 -164Q112 -164 74 -120T36 -29Q36 5 55 36T95 67Q104 67 108 59T115 39T128 12T154 -12Q183 -30 216 -30Q239 -30 305 7L361 44L367 49V54Q367 95 364 143T351 273T312 429T243 546Q206 581 156 588L146 581Q108 555 73 555'], - - // LATIN CAPITAL LETTER Z - 0x5A: [686,0,818,46,853,'622 574Q522 579 420 579H396Q373 579 364 574T351 550Q339 516 297 490T218 462Q195 462 195 479Q195 487 197 492Q218 565 313 625T509 685Q564 685 650 683T755 680Q787 680 807 683T831 686Q853 686 853 669Q853 657 826 626Q742 532 641 437L619 415L622 414Q626 414 631 414T642 414Q697 411 697 388Q697 367 670 345T607 323Q605 323 592 325T546 329H522L490 302Q457 274 400 226T289 136L260 113L318 112Q345 111 452 109T587 106H627Q650 143 656 170Q666 197 710 225T788 253Q811 253 811 237Q811 211 781 160T710 77Q619 0 515 0Q507 0 497 0T484 1Q434 1 319 3T177 6Q123 6 95 2Q83 2 71 0H68Q46 0 46 17Q46 28 58 44Q68 56 100 80T210 165T383 307L408 329H361L314 330Q297 338 297 350Q297 368 320 388T368 413Q375 415 441 415H506L647 555L664 574H622'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Caligraphic/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js deleted file mode 100644 index b303fca4..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js +++ /dev/null @@ -1,166 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Caligraphic/Regular/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Caligraphic'] = { - directory: 'Caligraphic/Regular', - family: 'MathJax_Caligraphic', - id: 'MJCAL', - skew: { - 0x41: 0.194, - 0x42: 0.139, - 0x43: 0.139, - 0x44: 0.0833, - 0x45: 0.111, - 0x46: 0.111, - 0x47: 0.111, - 0x48: 0.111, - 0x49: 0.0278, - 0x4A: 0.167, - 0x4B: 0.0556, - 0x4C: 0.139, - 0x4D: 0.139, - 0x4E: 0.0833, - 0x4F: 0.111, - 0x50: 0.0833, - 0x51: 0.111, - 0x52: 0.0833, - 0x53: 0.139, - 0x54: 0.0278, - 0x55: 0.0833, - 0x56: 0.0278, - 0x57: 0.0833, - 0x58: 0.139, - 0x59: 0.0833, - 0x5A: 0.139 - }, - - // SPACE - 0x20: [0,0,250,0,0,''], - - // DIGIT ZERO - 0x30: [452,22,500,39,460,'39 213Q39 274 53 319T89 389T139 429T192 448T242 452Q347 452 400 400Q460 335 460 213Q460 -22 250 -22Q39 -22 39 213ZM364 242Q364 279 363 301T355 348T338 385T306 406T254 415Q250 415 245 415T238 416Q217 416 190 404T150 368Q136 339 136 221Q136 114 146 78T200 23Q219 16 250 16Q280 16 299 23Q341 41 352 77T364 221V242'], - - // DIGIT ONE - 0x31: [453,0,500,86,426,'116 410Q176 412 215 423T269 443T288 453H291Q293 453 301 447V254Q301 62 303 60Q307 52 322 49T394 46Q418 46 422 43T426 23Q426 8 424 4T411 0Q407 0 369 1T258 2T148 1T106 0Q96 0 94 4T91 23Q91 40 95 43T123 46Q180 46 195 49T215 61Q216 63 216 220V376Q192 367 119 364H93L86 371V403L92 410H116'], - - // DIGIT TWO - 0x32: [453,0,500,44,449,'55 334Q55 386 105 419T236 453Q333 453 390 413T448 307Q448 278 437 256T406 218T365 193T318 172T277 151L248 134Q219 118 191 102T163 84T267 83L382 85H391Q399 99 406 126Q410 143 413 145T429 148Q440 148 442 147T449 139Q449 137 435 73T420 7Q420 6 414 0H233Q94 0 71 0T46 5Q46 5 46 6Q44 8 44 24Q44 39 46 41Q47 44 98 78T212 155T294 212Q347 257 347 304Q347 354 306 380T203 407Q150 407 120 377Q118 375 123 373Q146 362 146 332Q146 315 133 302T101 288Q85 288 70 298T55 334'], - - // DIGIT THREE - 0x33: [452,216,500,42,457,'69 312Q69 377 122 414T233 452Q333 452 381 409T430 313Q430 268 402 223T311 149L301 144Q307 143 317 140T355 123T402 92T439 44T456 -25Q456 -101 396 -158T241 -216Q154 -216 98 -173T42 -68Q42 -58 44 -50T50 -35T57 -25T66 -17T75 -13T82 -10L87 -8Q92 -7 102 -7Q132 -7 147 -25T162 -66Q162 -112 118 -125L113 -126Q113 -129 127 -140T173 -162T239 -173Q268 -173 292 -158Q345 -124 345 -24Q345 33 329 67Q298 125 229 125H210H172Q166 131 166 142Q166 159 172 161Q178 161 208 164T244 169Q251 169 263 176T291 199T316 245T327 314Q327 413 238 413Q182 413 130 369Q177 350 181 312Q181 289 166 273T125 257Q102 257 86 272T69 312'], - - // DIGIT FOUR - 0x34: [464,194,500,28,471,'163 0Q139 0 109 0T71 -1Q43 -1 36 2T28 15V27V46L190 270Q325 457 330 462Q333 464 352 464H371L377 458V46H464L471 40V6L464 0H377V-65V-108Q377 -131 379 -137T391 -144Q409 -148 446 -148H464Q468 -151 471 -155V-187L464 -194H453Q395 -192 325 -192Q222 -192 210 -194H199L193 -188V-154L199 -148H228Q241 -148 250 -148T265 -146T275 -145T281 -143T284 -141T286 -138T289 -134V0H163ZM295 46V350L75 46H295'], - - // DIGIT FIVE - 0x35: [453,216,500,50,448,'159 -44Q159 -66 145 -80T109 -96H102L107 -105Q148 -173 228 -173Q255 -173 280 -162Q351 -128 351 -6V8Q351 67 344 98T316 151Q288 176 255 176Q175 176 136 109Q129 100 114 100Q97 100 95 106Q93 110 93 277V403Q93 451 98 451Q100 452 103 452Q105 452 124 445T177 431T251 423Q294 423 328 430T380 445T401 453Q410 453 410 435V422Q332 331 203 331Q152 331 140 339Q139 339 139 254V168Q194 214 256 214Q332 214 390 154T448 0Q448 -95 381 -155T229 -216Q153 -216 104 -166T50 -49Q50 -15 66 -1T105 13Q128 13 143 -3T159 -44'], - - // DIGIT SIX - 0x36: [665,22,500,41,456,'42 313Q42 401 68 472T133 583T215 644T296 665H304Q317 665 329 664T360 657T393 640T418 608T432 557Q432 533 422 519T401 502T380 498Q358 498 343 512T328 550Q328 591 367 601L372 602Q372 604 365 609T341 620T307 626Q260 626 226 600T174 537Q147 483 143 376V356Q192 434 266 434Q317 434 357 409Q406 375 435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM251 396Q211 396 178 354T145 217Q145 159 152 122T166 73T187 47Q216 21 252 21Q294 21 321 47Q342 68 349 99T356 203V232Q356 264 354 285T345 331T322 373T280 395Q274 396 251 396'], - - // DIGIT SEVEN - 0x37: [463,216,500,55,485,'75 246Q64 246 62 247T55 255Q55 259 72 357T90 458L94 462H99Q104 463 109 463H121Q128 460 128 452Q128 445 134 441T165 435T233 432T356 431H478L485 425V392L414 298Q408 290 385 260T358 223T337 191T317 154T302 116T289 68T282 14T275 -55T274 -137Q274 -173 272 -177Q262 -216 223 -216Q170 -216 170 -157V-148Q172 -78 189 -12T237 109T288 196T338 266Q345 275 348 279Q395 340 395 342Q396 343 376 343T274 343Q122 342 117 339T103 294T90 248Q88 246 75 246'], - - // DIGIT EIGHT - 0x38: [666,22,500,43,456,'69 496Q69 570 124 618T247 666Q321 666 375 624T429 515Q429 468 405 433T320 361L346 344Q385 320 403 301T439 250Q456 212 456 181V172V160Q456 141 449 119T426 71T386 26T326 -8T246 -21Q160 -21 102 30T43 155Q43 265 167 332L176 337L161 347Q105 384 87 423Q69 458 69 496ZM371 513Q371 567 334 596T249 626Q198 626 163 598T127 532Q127 521 129 511T138 492T150 476T167 460T185 447T207 433T228 420L284 384L294 391Q346 424 363 469Q371 486 371 513ZM190 21T250 21T351 56T393 140Q393 180 362 213Q354 221 317 246T246 292L212 313Q210 313 200 307T173 287T142 256T117 212T106 157Q106 100 148 61'], - - // DIGIT NINE - 0x39: [453,216,500,42,457,'171 -101Q171 -118 163 -130T146 -146T134 -151Q132 -151 132 -152Q132 -154 140 -159T167 -168T206 -173Q274 -173 317 -108Q356 -50 356 79V86L350 77Q308 9 231 9Q150 9 92 81Q42 141 42 228Q42 289 64 333Q93 390 142 421T235 452Q237 452 244 452T255 453Q289 453 321 439T386 391T437 290T457 128Q457 -29 381 -122T206 -216Q148 -216 108 -187T67 -104Q67 -75 84 -62T119 -49Q141 -49 156 -63T171 -101ZM242 46Q293 46 324 94T355 223Q355 323 337 356Q316 401 275 410Q267 412 248 412Q206 412 179 386Q155 360 149 328T143 224Q143 120 163 88Q192 46 242 46'], - - // LATIN CAPITAL LETTER A - 0x41: [728,51,798,30,819,'576 668Q576 688 606 708T660 728Q676 728 675 712V571Q675 409 688 252Q696 122 720 57Q722 53 723 50T728 46T732 43T737 41T743 39L754 45Q788 61 803 61Q819 61 819 47Q818 43 814 35Q799 15 755 -7T675 -30Q659 -30 648 -25T630 -8T621 11T614 34Q603 77 599 106T594 146T591 160V163H460L329 164L316 145Q241 35 196 -7T119 -50T59 -24T30 43Q30 75 46 100T74 125Q81 125 83 120T88 104T96 84Q118 57 151 57Q189 57 277 182Q432 400 542 625L559 659H567Q574 659 575 660T576 668ZM584 249Q579 333 577 386T575 473T574 520V581L563 560Q497 426 412 290L372 228L370 224H371L383 228L393 232H586L584 249'], - - // LATIN CAPITAL LETTER B - 0x42: [705,23,657,32,664,'304 342Q292 342 292 353Q292 372 323 391Q331 396 417 428T533 487Q563 512 563 555V562Q563 575 557 589T530 618T475 636Q429 636 396 613T330 539Q263 446 210 238Q196 183 173 120Q135 31 121 16Q108 1 85 -10T47 -22T32 -10Q32 -5 44 18T77 93T112 206Q135 296 154 395T182 550T191 615Q191 616 190 616Q188 616 179 611T157 601T131 594Q113 594 113 605Q113 623 144 644Q154 650 205 676T267 703Q277 705 279 705Q295 705 295 693Q295 686 288 635T278 575Q278 572 287 582Q336 635 402 669T540 704Q603 704 633 673T664 599Q664 559 638 523T580 462Q553 440 504 413L491 407L504 402Q566 381 596 338T627 244Q627 172 575 110T444 13T284 -22Q208 -22 158 28Q144 42 146 50Q150 67 178 85T230 103Q236 103 246 95T267 75T302 56T357 47Q436 47 486 93Q526 136 526 198V210Q526 228 518 249T491 292T436 330T350 345Q335 345 321 344T304 342'], - - // LATIN CAPITAL LETTER C - 0x43: [705,25,527,12,533,'201 -25Q167 -25 136 -14T75 23T29 94T12 202Q12 290 50 394T161 574Q227 642 303 673T433 704Q435 705 457 705Q533 701 533 640Q533 606 507 548T464 474Q431 444 396 444Q381 444 381 453Q381 459 388 473T407 513T428 563Q433 580 433 594Q433 636 381 636Q314 636 260 594T175 489T128 363T112 247Q112 157 153 101T273 44Q347 44 398 121Q413 144 437 157T481 171Q496 171 496 160Q496 150 476 123Q426 56 350 16T201 -25'], - - // LATIN CAPITAL LETTER D - 0x44: [683,1,771,19,766,'37 475Q19 475 19 487Q19 536 103 604T327 682H356Q386 683 408 683H419Q475 683 506 681T582 668T667 633Q766 571 766 450Q766 365 723 287T611 152T455 57T279 6Q248 1 160 0Q148 0 131 0T108 -1Q72 -1 72 11Q72 24 90 40T133 64L144 68L152 88Q247 328 272 587Q275 613 272 613Q272 613 269 613Q225 610 195 602T149 579T129 556T119 532Q118 530 116 525T113 518Q102 502 80 490T37 475ZM665 407Q665 596 412 613Q403 614 383 614Q370 614 370 612Q370 598 363 542T323 357T242 103L228 69H265Q391 73 481 119Q536 148 575 188T633 268T658 338T665 392V407'], - - // LATIN CAPITAL LETTER E - 0x45: [705,22,528,30,564,'144 470Q144 556 240 630T451 705Q564 705 564 637Q564 611 540 573Q529 559 505 547T464 534Q448 534 448 545Q448 552 455 562Q463 577 463 591Q463 600 462 604T456 616T436 627T400 635Q396 635 390 635T380 636Q291 636 258 568Q245 544 245 516Q245 463 290 438T391 410Q415 410 415 398Q415 392 407 380T376 356T326 341Q288 340 260 327Q218 311 187 276T143 208T130 151Q130 113 156 88T211 55T268 47Q349 47 403 125Q415 144 439 157T483 171Q499 171 499 160Q499 148 475 120T413 59T315 3T197 -22Q124 -22 77 14T30 105Q30 126 39 154T66 216T122 288T209 354L223 362Q144 400 144 470'], - - // LATIN CAPITAL LETTER F - 0x46: [684,32,719,18,829,'199 579Q181 579 181 590Q181 598 188 611T212 639T260 666T335 682Q336 682 349 682T383 682T431 682T493 683T561 683Q776 682 784 681Q826 673 829 647Q829 620 797 600T744 580Q728 580 728 595Q729 607 713 610Q698 613 598 614H500L499 610Q499 598 467 486T428 367Q428 365 551 365H674Q683 360 684 355Q687 346 677 329Q666 312 642 299T598 285Q586 285 582 296H402L394 277Q386 258 373 229T346 167T315 102T286 51Q265 22 225 -5T133 -32Q108 -32 87 -25T54 -7T33 15T21 35T18 47Q18 60 44 80T98 103Q108 103 111 101T119 88Q130 66 150 54T179 39T195 37Q199 37 203 43Q217 67 245 125T318 300T391 532Q393 543 398 564T406 598T409 613T339 614H269Q229 579 199 579'], - - // LATIN CAPITAL LETTER G - 0x47: [704,119,595,43,599,'216 68Q155 68 115 100T59 177T44 273Q44 299 50 333T73 421T133 533T239 632Q346 704 466 704Q508 704 515 703Q555 696 577 681T599 635Q599 605 570 560T523 496Q490 466 455 466Q440 466 440 475T469 526T499 589Q499 605 489 617Q460 636 403 636Q343 636 295 611T220 548T174 464T150 382T144 318Q144 241 180 189T287 137Q325 137 359 160Q428 205 466 322Q472 342 501 359T551 376Q557 376 560 373T564 368L565 365Q560 341 551 302T512 173T451 31Q359 -119 204 -119Q163 -118 127 -109T74 -91T53 -77Q52 -75 52 -71Q52 -54 79 -35T132 -14H140L151 -19Q210 -49 281 -49H289Q312 -49 329 -31Q351 -7 372 36T405 109T416 142L408 136Q401 131 392 125T369 111T338 96T303 82T261 72T216 68'], - - // LATIN CAPITAL LETTER H - 0x48: [683,48,845,18,803,'18 487Q18 496 29 517T67 566T127 621T216 665T330 683Q359 683 376 669T397 643T400 622Q400 584 382 488T348 343Q348 342 467 342H587L594 366Q615 440 648 534T690 641Q701 656 723 669T764 683Q783 683 783 672L750 578Q716 485 677 346T625 101Q624 92 623 82T622 65T621 56Q621 20 658 20Q666 20 701 25Q709 52 736 69T785 87Q803 87 803 75T791 44T754 3T685 -33T588 -48Q568 -48 562 -46Q522 -31 522 13V23Q531 129 562 250L569 281L565 280Q561 278 556 277T549 274L438 273H328L321 249Q307 202 275 107T232 0Q219 -16 196 -28T155 -41Q149 -41 145 -39T140 -34T139 -29Q139 -24 148 -3T181 86T233 247Q240 270 240 272Q240 273 194 273H169Q139 273 139 285Q139 295 153 308T187 332Q206 341 236 342L260 343L264 359Q278 414 289 482T300 578Q300 613 260 613H254Q198 613 169 592Q148 578 127 544T104 508Q72 478 37 475Q18 475 18 487'], - - // LATIN CAPITAL LETTER I - 0x49: [683,0,545,-30,642,'174 0H31Q-13 0 -21 2T-30 12Q-30 23 -17 36Q9 60 42 68L155 70Q187 102 214 179T257 333T302 491T366 610L369 614H305Q221 611 188 607T145 596T128 569Q119 543 94 529T47 512Q28 512 28 524Q28 527 32 539Q56 614 159 654Q218 678 312 682Q314 682 339 682T404 682T481 683H632Q642 678 642 671Q642 657 621 641T577 617Q570 615 507 614H444Q427 592 406 542Q382 478 355 366T310 209Q280 123 238 78L230 69H330Q442 70 442 74Q443 74 443 77T447 87T460 105Q490 134 527 137Q545 137 545 125Q545 120 542 112Q531 78 491 49T399 7Q379 2 360 2T174 0'], - - // LATIN CAPITAL LETTER J - 0x4A: [683,119,678,47,839,'148 78Q148 16 189 -17T286 -50Q319 -50 348 -33T396 10T426 59T444 101L471 204Q498 306 521 372Q575 532 649 605L659 614H591Q517 613 494 607Q433 591 400 550T360 477Q353 454 325 437T275 419Q256 419 260 435Q280 523 376 597T583 681Q603 683 713 683H830Q839 674 839 671Q839 654 810 634T754 614Q735 614 721 601Q688 571 654 495T600 351T561 209T541 132Q507 29 412 -45T213 -119Q141 -119 94 -77T47 33Q47 55 50 69T58 90T71 103Q105 131 135 131Q152 131 152 120Q152 119 151 114T149 99T148 78'], - - // LATIN CAPITAL LETTER K - 0x4B: [705,22,762,32,732,'194 618Q193 618 182 613T156 601T131 594Q113 594 113 605Q113 623 144 644Q154 650 205 676T267 703Q277 705 279 705Q295 705 295 691Q295 569 250 397Q225 306 197 217T151 81T128 25Q120 8 94 -7T47 -22Q32 -22 32 -10L64 76Q95 163 133 295T185 530Q198 611 194 618ZM331 429Q331 383 364 290T449 117T542 36Q574 36 607 51T652 103Q660 124 677 133T709 143Q727 143 727 128Q727 119 723 111Q704 56 639 17T497 -22H493Q463 -22 425 16Q401 40 382 71Q335 138 296 243T256 399Q256 434 288 473Q342 540 471 622T670 705Q691 704 703 696Q732 678 732 644Q732 613 714 600T677 586Q671 586 667 587T660 592T657 604V619Q657 647 629 647Q623 647 620 646Q576 635 495 583T365 482Q331 448 331 429'], - - // LATIN CAPITAL LETTER L - 0x4C: [705,22,690,32,656,'62 -22T47 -22T32 -11Q32 -1 56 24T83 55Q113 96 138 172T180 320T234 473T323 609Q364 649 419 677T531 705Q559 705 578 696T604 671T615 645T618 623V611Q618 582 615 571T598 548Q581 531 558 520T518 509Q503 509 503 520Q503 523 505 536T507 560Q507 590 494 610T452 630Q423 630 410 617Q367 578 333 492T271 301T233 170Q211 123 204 112L198 103L224 102Q281 102 369 79T509 52H523Q535 64 544 87T579 128Q616 152 641 152Q656 152 656 142Q656 101 588 40T433 -22Q381 -22 289 1T156 28L141 29L131 20Q111 0 87 -11'], - - // LATIN CAPITAL LETTER M - 0x4D: [705,50,1201,28,1137,'28 9Q28 37 43 63T73 90Q77 90 83 84T103 70T141 57H146Q162 57 178 79T222 167Q266 279 295 371T334 513T349 598T358 651T371 677Q397 705 432 705Q442 705 445 699T452 666Q453 661 453 659Q475 538 509 405T568 207L574 192Q581 178 587 164T594 150Q596 150 635 189T693 248Q765 324 863 438T1024 626T1089 701Q1093 705 1100 705Q1111 705 1111 682Q1111 675 1108 660T1099 611T1086 540Q1041 277 1041 144Q1041 98 1044 75T1050 48T1059 42Q1064 41 1075 46Q1102 61 1121 61Q1137 61 1137 50Q1137 28 1087 0T1000 -29Q983 -29 972 -23T955 -9T945 16T942 45T941 83V96Q941 158 952 256T974 422L985 489Q984 489 939 436T821 300T698 164Q665 128 620 85T568 37Q564 34 558 34Q550 34 546 37T535 54Q512 91 496 127T450 259T389 498L384 518Q349 367 294 223T198 15Q155 -50 117 -50Q87 -50 61 -35T30 -6Q28 2 28 9'], - - // LATIN CAPITAL LETTER N - 0x4E: [789,51,820,-27,979,'343 705Q358 705 358 698Q360 696 370 658T411 524T484 319Q536 174 590 82L595 73L615 152Q646 274 683 407Q729 571 752 637T799 727Q852 780 937 788Q939 788 947 788T958 789H962Q979 789 979 765Q979 722 951 692Q942 683 924 683Q888 681 859 672T818 654T803 639Q784 608 708 322T631 15Q631 14 630 15Q630 17 629 15Q628 14 628 12Q621 -4 601 -17T560 -31Q550 -31 546 -28T530 -7Q484 67 458 123T398 272Q352 392 314 514L306 535V534Q306 533 296 488T272 379T234 239T185 100T127 -7T61 -50Q34 -50 4 -34T-27 8Q-27 33 -12 61T18 90Q21 90 36 77T87 57H92Q109 57 123 78T162 173Q206 299 232 417T265 599T276 667Q284 681 304 693T343 705'], - - // LATIN CAPITAL LETTER O - 0x4F: [705,22,796,58,777,'308 428Q289 428 289 438Q289 457 318 508T378 593Q417 638 475 671T599 705Q688 705 732 643T777 483Q777 380 733 285T620 123T464 18T293 -22Q188 -22 123 51T58 245Q58 327 87 403T159 533T249 626T333 685T388 705Q404 705 404 693Q404 674 363 649Q333 632 304 606T239 537T181 429T158 290Q158 179 214 114T364 48Q489 48 583 165T677 438Q677 473 670 505T648 568T601 617T528 636Q518 636 513 635Q486 629 460 600T419 544T392 490Q383 470 372 459Q341 430 308 428'], - - // LATIN CAPITAL LETTER P - 0x50: [683,57,696,19,733,'37 475Q19 475 19 487Q19 536 103 604T327 682Q329 682 344 682T380 682T421 683H463Q625 683 695 615Q718 591 726 564Q733 547 733 525Q733 412 607 312T321 205H312Q293 205 293 217Q293 224 302 236T333 260T385 274Q558 287 614 407Q633 445 633 477Q633 515 612 543T556 585T481 607T399 614H370L368 603Q352 463 312 312T242 82T202 -13Q190 -33 164 -45T121 -57Q108 -57 108 -45Q108 -40 120 -10T151 73T192 190T233 349T266 539Q267 546 269 565T272 598T274 613H270Q209 613 163 588Q131 572 113 518Q102 502 80 490T37 475'], - - // LATIN CAPITAL LETTER Q - 0x51: [705,131,817,114,787,'114 286Q114 358 151 433T249 569T392 667T558 705Q653 705 713 641T774 460Q774 389 750 322T687 206T600 114T504 46T412 4L399 -2Q542 -62 636 -62Q660 -62 670 -54T686 -27T700 0Q734 34 770 34Q787 34 787 23Q787 -18 720 -74T563 -131Q485 -131 350 -83T145 -34Q127 -34 127 -22Q127 -12 144 5T190 31L200 34L237 35Q386 38 467 79Q550 120 612 210T675 416Q675 510 625 573T484 636Q410 636 346 587T248 469T214 333Q214 306 221 281T243 229T288 188T360 172Q403 172 441 188T490 205Q510 205 510 192Q505 162 432 132T287 102Q206 102 160 155T114 286'], - - // LATIN CAPITAL LETTER R - 0x52: [683,22,848,19,837,'37 475Q19 475 19 487Q19 503 35 530T83 589T180 647T327 682H374Q387 682 417 682T464 683Q519 683 559 679T642 663T708 625T731 557Q731 481 668 411T504 300Q506 296 512 286T528 257T553 202Q594 105 611 82Q635 47 665 47Q708 47 742 93Q758 113 786 128Q804 136 819 137Q837 137 837 125Q837 115 818 92T767 43T687 -2T589 -22Q549 -22 517 22T467 120T422 221T362 273Q346 273 346 287Q348 301 373 320T436 342Q437 342 446 343T462 345T481 348T504 353T527 362T553 375T577 393Q598 412 614 443T630 511Q630 545 613 566T541 600T393 614Q370 614 370 613L366 584Q349 446 311 307T243 96L213 25Q205 8 179 -7T132 -22Q125 -22 120 -18T117 -8Q117 -5 130 26T163 113T205 239T246 408T274 606V614Q273 614 259 613T231 609T198 602T163 588Q131 572 113 518Q102 502 80 490T37 475'], - - // LATIN CAPITAL LETTER S - 0x53: [705,22,606,18,642,'554 512Q536 512 536 522Q536 525 539 539T542 564Q542 588 528 604Q515 616 482 625T410 635Q374 635 349 624T312 594T295 561T290 532Q290 505 303 482T342 442T378 419T409 404Q435 391 451 383T494 357T535 323T562 282T574 231Q574 133 464 56T220 -22Q138 -22 78 21T18 123Q18 184 61 227T156 274Q178 274 178 263Q178 260 177 258Q172 247 164 239T151 227T136 218L127 213L124 202Q118 186 118 163Q120 124 165 86T292 48Q374 48 423 86T473 186V193Q473 267 347 327Q268 364 239 389Q191 431 191 486Q191 547 242 600T356 679T470 705Q472 705 478 705T489 704Q551 704 596 682T642 610Q642 566 621 545Q592 516 554 512'], - - // LATIN CAPITAL LETTER T - 0x54: [717,68,545,34,833,'49 475Q34 475 34 490Q34 552 106 611T261 681Q272 683 507 683H742Q790 717 816 717Q833 717 833 708Q833 682 795 653T714 615Q691 610 588 609Q490 609 490 607L483 580Q476 554 462 496T435 392Q410 289 395 231T363 116T335 34T309 -15T279 -47T242 -64Q231 -68 218 -68Q203 -68 203 -57Q203 -52 211 -38Q224 -7 234 20T251 66T268 123T283 179T304 261T328 360Q342 415 360 488Q380 567 384 582T397 605Q400 607 401 609H302H244Q200 609 188 607T167 596Q145 572 145 541Q145 520 109 498T49 475'], - - // LATIN CAPITAL LETTER U - 0x55: [683,28,626,-17,687,'8 592Q8 616 70 649T193 683Q246 683 246 631Q246 587 205 492T124 297T83 143Q83 101 100 75T154 48Q202 48 287 135T450 342T560 553Q589 635 593 640Q603 656 626 668T669 683H670Q687 683 687 672T670 616T617 463T547 220Q525 137 521 68Q521 54 522 50T533 42L543 47Q573 61 588 61Q604 61 604 47Q599 16 506 -22Q486 -28 468 -28T436 -18T421 18Q421 92 468 258Q468 259 467 257T459 248Q426 206 391 167T303 81T194 6T83 -22Q66 -22 58 -20Q25 -11 4 19T-17 99Q-17 146 8 220T64 358T120 488T146 586Q146 604 141 608T123 613H120Q99 613 72 597T25 580Q8 580 8 592'], - - // LATIN CAPITAL LETTER V - 0x56: [683,52,613,25,658,'25 633Q25 647 47 665T100 683Q291 683 291 306Q291 264 288 213T282 132L279 102Q281 102 308 126T378 191T464 279T545 381T596 479Q600 490 600 502Q600 527 581 550T523 577Q505 577 505 601Q505 622 516 647T542 681Q546 683 558 683Q605 679 631 645T658 559Q658 423 487 215Q409 126 308 37T190 -52Q177 -52 177 -28Q177 -26 183 15T196 127T203 270Q203 356 192 421T165 523T126 583T83 613T41 620Q25 620 25 633'], - - // LATIN CAPITAL LETTER W - 0x57: [683,54,988,25,1035,'25 633Q25 647 46 665T103 683Q168 683 207 632Q228 608 243 568Q269 485 269 374Q269 324 265 271T256 184L251 150L252 152Q254 153 257 157T264 167T274 180T286 197Q359 293 424 398T519 558T549 616Q549 618 547 624T545 638Q550 654 572 668T615 683Q626 683 632 672T657 595Q726 370 741 128L742 110Q752 122 767 142T823 217T894 321T950 424T976 511Q976 544 958 560T918 577Q906 577 906 602Q906 629 918 651T942 681Q948 683 954 683Q983 683 1008 658T1034 569T999 421T915 257T813 109T724 -3T681 -49Q666 -59 660 -45Q659 -41 657 35T639 233T591 477Q573 551 570 551Q569 551 554 523T507 439T433 315T323 155T182 -25Q160 -52 151 -53Q137 -53 137 -30Q137 -29 148 25T170 168T181 338Q181 424 168 483T131 571T87 609T40 620Q25 620 25 633'], - - // LATIN CAPITAL LETTER X - 0x58: [683,0,713,52,807,'324 614Q291 576 250 573Q231 573 231 584Q231 589 232 592Q235 601 244 614T271 643T324 671T400 683H403Q462 683 481 610Q485 594 490 545T498 454L501 413Q504 413 551 442T648 509T705 561Q707 565 707 578Q707 610 682 614Q667 614 667 626Q667 641 695 662T755 683Q765 683 775 680T796 662T807 623Q807 596 792 572T713 499T530 376L505 361V356Q508 346 511 278T524 148T557 75Q569 69 580 69Q585 69 593 77Q624 108 660 110Q667 110 670 110T676 106T678 94Q668 59 624 30T510 0Q487 0 471 9T445 32T430 71T422 117T417 173Q416 183 416 188Q413 214 411 244T407 286T405 299Q403 299 344 263T223 182T154 122Q152 118 152 105Q152 69 180 69Q183 69 187 66T191 60L192 58V56Q192 41 163 21T105 0Q94 0 84 3T63 21T52 60Q52 77 56 90T85 131T155 191Q197 223 259 263T362 327T402 352L391 489Q391 492 390 505T387 526T384 547T379 568T372 586T361 602T348 611Q346 612 341 613T333 614H324'], - - // LATIN CAPITAL LETTER Y - 0x59: [683,143,668,31,714,'65 599Q65 618 107 650T204 683Q267 683 312 643T380 533T414 385T424 217Q424 186 423 160T422 123Q426 123 468 170T567 304T650 469Q661 503 661 519Q661 546 639 570Q615 591 583 591Q569 591 569 616Q569 640 582 661T613 683Q624 683 638 679T671 664T702 625T714 558Q714 472 639 329T426 45Q361 -21 282 -82T154 -143Q97 -143 64 -104T31 -20Q31 4 44 25T70 46Q78 46 81 39T87 16T97 -9Q127 -51 182 -51Q184 -51 187 -50H190Q233 -41 314 25Q330 36 330 40Q336 79 336 178Q336 508 223 594Q199 614 158 619L148 620L139 611Q111 586 83 586Q65 586 65 599'], - - // LATIN CAPITAL LETTER Z - 0x5A: [683,0,725,37,767,'694 220Q708 220 708 210Q708 195 695 167T658 105T593 42T502 3Q492 1 458 1Q400 1 293 11T150 22Q116 22 92 11T51 0Q37 0 37 10Q37 21 63 44T179 146T367 319L391 343H343L296 344Q285 350 285 358Q285 365 289 372T300 383T313 392T324 398L329 400H450L561 518Q597 558 607 571L621 587H596Q553 589 484 599T383 609Q342 609 326 596T301 555Q294 533 263 514T208 492Q189 492 189 503Q189 510 197 528T215 559Q249 607 318 645T466 683Q504 683 573 673T669 662L690 661Q734 682 748 683Q767 683 767 673Q767 666 746 640Q655 531 555 428L529 400Q529 399 543 399Q604 397 604 366Q604 350 587 337T551 322Q541 322 539 323Q529 328 529 334Q529 339 487 342L470 343L446 320Q272 153 200 96L235 95Q297 95 392 86T533 74H554Q586 116 597 159Q604 179 635 199T694 220'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Caligraphic/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js deleted file mode 100644 index 1acdb717..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js +++ /dev/null @@ -1,272 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/BasicLatin.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'], - { - // SPACE - 0x20: [0,0,250,0,0,''], - - // EXCLAMATION MARK - 0x21: [689,12,349,107,241,'121 621Q121 657 132 673T177 689Q223 689 223 644V635Q223 604 222 595Q221 590 210 490T187 292T175 190V186L166 185L156 184Q156 185 139 393T121 621ZM107 47Q107 70 127 87T174 104Q201 104 221 89T241 48Q241 24 222 6T174 -12Q147 -12 127 6T107 47'], - - // QUOTATION MARK - 0x22: [695,-432,254,10,231,'53 695Q74 695 90 679V622L65 433L52 432H39L27 516Q10 626 10 655Q10 680 26 688Q33 693 39 693Q49 695 53 695ZM151 668Q151 691 191 691Q217 691 224 685T231 661V652Q230 634 219 531L207 433L195 432Q183 432 183 433L168 541Q151 664 151 668'], - - // AMPERSAND - 0x26: [696,17,871,44,839,'290 -14Q186 -14 115 41T44 185Q44 222 54 249T88 300T131 336T189 371Q216 387 216 388Q185 459 185 510Q185 563 206 601T263 659T334 687T405 696Q476 696 503 668T531 603Q531 565 513 536T450 476Q423 459 370 432L334 413L354 384Q474 212 560 139L563 137Q611 185 611 250Q611 295 577 329Q549 356 496 357Q439 357 433 354Q432 354 432 379V403L437 402Q443 402 479 401T557 400Q653 400 735 403T831 407H836Q833 352 833 351L821 352Q809 352 792 352T756 352T720 353T696 354Q680 354 680 353L681 346Q682 339 683 327T685 306Q685 283 681 260T669 218T653 182T635 152T619 129T606 114L602 109Q604 107 618 99T659 81T707 71Q742 71 767 99T804 155L815 183Q815 184 821 183T833 180T839 177Q837 169 834 156T816 110T782 52T727 5T648 -16Q569 -16 499 35H498Q496 35 466 23T387 -1T290 -14ZM418 592Q418 617 398 639T352 661T302 642T278 574Q278 545 288 514T306 465T319 444Q342 456 353 463T382 488T409 529T418 584V592ZM159 239Q159 158 222 98T364 38Q386 38 447 57L469 63L434 98Q349 185 286 275Q258 316 238 345Q233 353 232 353Q159 316 159 239'], - - // APOSTROPHE - 0x27: [695,-436,250,80,158,'80 645T80 662T93 687T123 695Q158 695 158 659Q158 649 157 643L123 437Q123 436 114 436H104Q104 442 92 538Q80 645 80 662'], - - // LEFT PARENTHESIS - 0x28: [737,186,459,134,347,'347 719Q325 708 311 698T272 656T233 580T207 455T195 267Q195 30 247 -79Q261 -110 291 -136Q320 -163 347 -172V-179Q347 -186 344 -186Q338 -186 328 -184T287 -165T230 -123Q134 -25 134 271Q134 417 158 514T226 662T335 734L346 737Q347 737 347 728V719'], - - // RIGHT PARENTHESIS - 0x29: [735,187,459,105,326,'264 262Q264 366 253 446T226 572T186 649T145 692T105 714V725Q105 735 107 735Q108 734 121 731T154 719T196 692T242 641T284 560T314 437T326 268Q326 112 299 7Q279 -78 239 -124T116 -185L105 -187V-179L106 -171L109 -169Q130 -161 138 -158T165 -146T190 -127T210 -101T229 -64T243 -12T255 58T261 148T264 262'], - - // ASTERISK - 0x2A: [692,-449,328,40,277,'40 516L62 529Q85 542 110 556T140 574L126 582Q112 591 104 595T80 607T40 629Q53 642 57 645L65 652L78 642Q106 620 132 603L152 589V595Q152 630 149 681V692H179V689Q178 681 174 638T171 593Q173 593 240 639L258 652Q260 652 267 643L276 633L260 625Q190 587 175 576Q173 575 180 570Q183 569 186 567Q213 549 256 527L277 515L256 495Q246 501 228 515T194 539T170 554V543Q170 486 178 449H148V456Q152 492 152 550L151 562Q150 562 102 528L53 495Q40 514 40 516'], - - // PLUS SIGN - 0x2B: [598,82,893,56,837,'422 584L471 598Q472 598 472 440V282H837Q833 273 829 263L821 244L647 243H472V-63L448 -73L423 -82Q422 -82 422 81V243H239Q56 243 56 244Q60 253 65 263L73 282H422V584'], - - // COMMA - 0x2C: [107,191,328,118,253,'118 61Q118 80 135 93T169 107Q190 107 221 65T253 -23Q253 -39 251 -49T237 -80T198 -133Q148 -191 144 -191Q142 -191 137 -182T132 -172Q143 -161 160 -131T183 -83Q185 -77 185 -62Q185 -54 184 -48T182 -38T177 -28T171 -19T162 -8T150 6Q130 28 124 38T118 61'], - - // HYPHEN-MINUS - 0x2D: [275,-236,893,54,833,'54 236L73 275H453Q833 275 833 274Q830 265 825 255L818 236H54'], - - // FULL STOP - 0x2E: [102,15,328,103,237,'103 23T103 44T120 83T170 102Q200 102 218 84T237 44Q237 20 216 3T168 -15Q138 -15 121 4'], - - // SOLIDUS - 0x2F: [721,182,593,41,550,'272 270Q503 721 506 721L509 720Q512 720 518 719T529 717L550 713L91 -181L66 -182Q41 -182 41 -181L272 270'], - - // DIGIT ZERO - 0x30: [501,12,593,42,533,'238 -12Q162 -12 102 42T42 185Q42 303 130 393Q163 425 208 452T284 490L313 501Q323 499 339 495T395 472T464 426Q533 357 533 273Q533 201 483 133T364 27T238 -12ZM428 208Q428 255 402 297T342 365T280 404T241 419Q214 419 178 374T142 259Q142 206 168 164T225 99Q259 74 310 74Q326 74 337 75T366 82T396 103T417 141Q428 171 428 208'], - - // DIGIT ONE - 0x31: [489,0,593,54,548,'95 481Q102 481 217 485T383 489Q384 489 384 485Q367 397 367 165Q367 58 369 54Q374 46 380 44T410 42H466H546V40Q547 38 547 19L548 0H54V23Q54 29 54 34T54 44L55 47Q79 47 134 46T202 45Q226 45 234 52Q240 57 241 64T245 105Q254 236 254 320V347Q254 369 252 382T240 409T211 431L97 450L96 465Q95 480 95 481'], - - // DIGIT TWO - 0x32: [491,-2,593,44,563,'307 335Q307 374 283 397T224 421Q187 421 112 387Q105 384 100 382T95 381Q90 387 86 394L77 407L86 413Q219 491 298 491Q370 491 399 460T428 388Q428 373 424 358T409 326T391 297T363 264T335 235T301 202T269 171L199 104Q194 99 205 97Q209 96 214 96Q527 105 544 105Q553 107 563 102Q563 100 557 79T545 34T537 2H377Q338 2 247 2T130 4H44V26L104 77Q185 145 212 172T267 235Q307 291 307 335'], - - // DIGIT THREE - 0x33: [487,193,593,31,523,'102 402L108 408Q115 413 122 418T141 431T165 447T194 461T227 474T263 483T302 487H307Q413 487 452 420Q465 400 465 371Q465 334 445 303T396 253T347 225T317 213Q314 213 314 211Q316 209 316 205Q317 201 320 201Q337 201 359 198T411 184T465 156T506 109T523 39Q523 -62 436 -127T229 -193Q179 -193 130 -178T56 -150T31 -133Q31 -132 41 -122L52 -112L63 -117Q128 -148 201 -148Q282 -148 331 -104T381 20Q381 71 363 100T304 145Q243 166 149 166H137V204H146Q179 204 211 210T275 229T326 268T346 329Q346 372 314 401Q292 423 245 423Q188 423 125 383L102 402'], - - // DIGIT FOUR - 0x34: [495,196,593,13,565,'346 -196Q344 -196 335 -187L336 -148Q337 -127 337 -55V0H13V29L187 253Q362 477 362 479L368 480Q375 481 387 483T411 487T434 491T452 494L459 495Q460 495 470 482V453Q470 389 466 230T461 62Q461 61 513 61T565 60L555 29L546 -1H461V-15Q461 -48 463 -100T465 -154L457 -157Q449 -160 434 -165T405 -175Q347 -196 346 -196ZM339 265V341Q339 362 335 362Q327 362 219 217T110 65V61H337V117Q338 133 338 187T339 265'], - - // DIGIT FIVE - 0x35: [481,190,593,18,519,'232 192Q176 192 122 152L95 162V481H306Q516 481 516 479Q514 477 501 433L486 389L319 388H152V386V382Q152 379 152 374T151 365Q147 329 146 260V218H149Q211 242 284 242Q353 242 402 224T474 176T508 117T518 55Q518 -62 432 -126T220 -190Q184 -190 151 -185T96 -172T57 -157T31 -145T20 -139T19 -138Q19 -136 27 -125L35 -112L51 -120Q114 -152 174 -152Q257 -152 314 -100T371 46Q371 107 340 149T232 192'], - - // DIGIT SIX - 0x36: [704,12,593,48,547,'48 251Q48 330 76 403T150 529T253 623T370 683T485 704Q494 704 520 701T547 695Q547 692 542 659T536 625Q531 624 524 624L512 623L502 628Q489 635 468 640Q452 645 423 645Q403 645 379 640T320 617T255 568T201 481T171 348Q170 341 170 330V325L183 333Q275 385 357 385H361Q464 385 514 312Q546 267 546 217Q546 127 457 58T262 -12Q225 -12 189 3T120 49T68 132T48 251ZM448 165Q448 228 406 274T289 320Q264 320 236 312T190 295T173 284Q173 266 176 241T189 178T214 112T259 61T326 39Q372 39 410 75T448 165'], - - // DIGIT SEVEN - 0x37: [479,197,593,54,591,'57 376L87 479H591V455L584 446Q544 399 491 328T349 117T185 -169L171 -196H159Q152 -197 102 -197Q58 -197 58 -196T56 -185L54 -175L299 158L443 359Q446 367 444 370H254L71 365L57 376'], - - // DIGIT EIGHT - 0x38: [714,5,593,45,542,'88 533Q88 573 120 610T194 668T268 701T307 714Q324 714 352 711T422 695T486 659Q518 625 518 585Q518 536 479 489T384 406L371 398L385 390Q387 389 400 382T420 370T442 356T466 339T489 319T510 295T526 269T538 238T542 204Q542 125 463 60T256 -5Q145 -5 92 52Q45 97 45 165Q45 204 64 237T109 290T163 324T209 345T228 353L214 364Q199 375 179 392T138 431T103 480T88 533ZM405 557Q405 568 402 581T387 612T350 644T286 663Q283 663 280 663T274 664H272Q256 664 228 636T199 572Q199 547 238 507Q268 475 320 437L334 427Q345 433 358 443T388 483T405 549V557ZM304 42Q366 42 398 76T431 155Q431 178 420 200T396 238T359 270T321 296T283 318L263 328Q262 328 230 312Q190 290 175 266T160 198Q160 132 202 87T304 42'], - - // DIGIT NINE - 0x39: [487,195,593,29,549,'549 220Q549 23 429 -82T105 -195H84V-189Q84 -179 85 -174V-164H93Q184 -156 238 -132T334 -56Q361 -23 376 16T394 78L397 100L363 88Q329 75 291 61T244 45Q237 44 218 44Q154 44 94 97Q29 152 29 240Q29 350 108 404Q145 429 257 480Q270 487 279 487Q403 487 470 421Q549 347 549 220ZM408 217Q408 276 390 320T346 385T297 415T259 424Q218 424 185 393T151 286Q151 216 213 154Q252 115 321 115Q368 115 388 134T408 217'], - - // COLON - 0x3A: [457,12,255,57,197,'57 398Q57 419 72 438T117 457Q154 457 174 439T194 398Q194 379 176 361T119 343Q85 343 71 362T57 398ZM62 19T62 43T77 85T115 104Q153 104 175 86T197 42Q197 14 171 1T119 -12Q96 -12 79 3'], - - // SEMICOLON - 0x3B: [458,190,255,56,211,'56 399Q56 424 73 440T104 456Q114 458 120 458Q149 458 170 440T192 399Q192 380 174 362T120 344Q85 344 71 362T56 399ZM78 53Q78 67 84 76T90 86Q90 88 98 92T116 98Q117 98 121 98T128 99Q152 97 181 58T211 -24Q211 -77 128 -165Q124 -170 121 -173T116 -178T113 -181T110 -185T106 -190L97 -184L88 -177L95 -168Q143 -104 143 -65Q143 -51 137 -40T113 -7T81 35Q78 41 78 53'], - - // EQUALS SIGN - 0x3D: [343,-168,582,22,559,'559 342L549 304H22L27 319Q29 328 30 333T33 343H296Q559 343 559 342ZM559 206L549 168H22L27 183Q29 192 30 197T33 207H296Q559 207 559 206'], - - // QUESTION MARK - 0x3F: [697,14,428,40,422,'121 590Q121 575 128 562T144 542T152 533T115 512L78 491Q55 499 47 516Q40 530 40 553Q40 601 77 632Q155 697 257 697H268Q316 697 355 679Q422 646 422 576Q422 518 388 476Q383 468 376 461T358 444T340 428T316 410T290 390L230 344Q180 307 180 275Q180 261 187 248T202 227L209 219Q209 215 176 193L142 170Q114 177 100 194T84 226V239Q84 259 93 276T113 302T150 331T192 362Q203 370 219 382T247 403T267 422Q312 471 312 546Q312 593 282 623T207 653Q170 653 146 636T121 590ZM95 23T95 49T117 94T173 113Q204 113 223 96T242 54Q242 27 221 7T167 -14Q136 -14 116 4'], - - // LATIN CAPITAL LETTER A - 0x41: [686,31,847,29,827,'821 97Q822 97 824 88T827 77L793 53Q676 -25 670 -28Q669 -29 656 -27L583 123Q583 124 467 46L352 -31L341 -20Q305 18 264 47T192 77Q161 77 60 32L49 40Q37 47 38 49Q39 49 93 83T212 160T297 219Q411 312 411 452Q411 519 360 571T233 624Q180 624 157 601T133 548Q133 524 160 496T214 441T241 393Q241 356 199 321T100 256L86 249L77 256Q68 263 67 263L84 274Q101 286 118 304T135 339T109 384T56 446T29 504Q29 566 118 624Q207 686 309 686Q349 686 360 685Q405 678 439 661T491 625T520 583T534 543T537 511Q537 436 491 344L478 318L455 299Q420 272 308 179L284 160L294 158Q348 154 426 89L437 79Q513 110 579 153V175Q579 183 579 227T580 330T581 446T582 542L583 582L664 630Q681 640 703 653T734 673L744 679Q750 678 756 676L767 674L716 623V585Q716 568 712 463T708 289V250Q708 237 709 218T710 195L711 180L739 130Q768 79 771 79Q775 79 796 88T821 97'], - - // LATIN CAPITAL LETTER B - 0x42: [684,31,1044,56,965,'160 345Q160 357 144 376T109 413T73 458T57 509Q57 544 95 584Q142 631 205 657T331 684Q382 684 427 658T500 585L505 577L521 588Q537 599 562 614T616 646T679 673T738 684Q790 684 807 666T840 587Q850 552 863 532T888 508Q894 505 906 505Q917 505 930 507T953 512T963 514L964 504Q965 495 965 494T914 467T808 413T745 384H751Q782 380 802 377T854 362T904 334T937 287T951 217Q951 178 937 143T908 91Q903 86 820 34L734 -21L718 -24Q679 -31 639 -31Q561 -31 451 4T271 40Q190 40 119 -2L99 -13L91 1L84 15L86 16Q88 18 132 42T233 100T315 152Q377 199 386 233Q388 240 393 297T399 363Q399 487 353 551Q337 573 306 597T238 622Q201 622 179 602T157 557T214 476T272 396Q272 371 229 334T143 272T96 246Q95 246 85 252T74 259T95 273T138 306T160 345ZM529 443Q529 409 528 385T526 353L525 346Q526 346 649 390T773 435Q749 451 742 464T727 518Q727 519 725 532T721 548T717 562T712 577T706 589T698 601T688 608T675 614T658 616Q626 616 576 582T525 528Q525 527 526 518T528 489T529 443ZM772 57Q774 57 778 58T792 64T808 77T821 103T827 144Q827 222 784 266T660 322Q652 323 611 323H596Q577 323 535 316L523 314Q520 291 505 255L500 241L356 138L366 137Q443 131 518 110T650 72T748 54Q763 54 772 57'], - - // LATIN CAPITAL LETTER C - 0x43: [676,32,723,71,726,'460 -32Q373 -32 305 -11T193 45T122 124T83 214T72 303Q72 395 114 476L119 486L313 592L338 568L359 580Q418 615 479 638T568 668T606 675Q607 675 608 676H610Q612 676 615 661T630 621T660 578Q673 568 694 568Q717 568 721 570H726Q724 565 722 559L717 549L706 545Q608 513 583 513Q568 517 559 522T533 546T493 603L490 609Q452 599 452 558Q452 537 469 481T486 393Q486 353 474 331T422 285T296 231L272 223L262 230L253 237Q279 246 314 274T351 338Q351 376 334 442T316 532Q316 546 319 552Q319 554 316 554Q304 554 288 547T250 523T214 466T199 371Q199 218 299 133T541 47Q571 47 585 51T652 81L712 108Q716 104 716 81L706 74Q695 68 673 54T633 29L550 -22L540 -24Q492 -32 460 -32'], - - // LATIN CAPITAL LETTER D - 0x44: [683,29,982,31,896,'380 596Q307 596 250 582T158 546T100 493T67 433T56 373V361Q55 361 43 366L31 372V384Q31 455 69 523T173 627Q213 650 284 666T444 683H452Q629 683 735 629Q896 548 896 369Q896 263 839 163Q835 155 818 140Q746 82 662 27T563 -29Q525 -29 386 16T183 62Q147 62 127 52T63 1L48 -14L40 -4L31 5Q83 73 172 149L186 161H199Q291 161 329 181Q357 199 357 231Q357 258 301 316T245 396Q245 423 282 458T349 512T403 543L413 548L425 545L438 541Q373 491 373 462Q373 446 399 415T453 349T480 288Q480 251 433 212Q394 180 348 156L334 148L353 145Q408 134 513 105T654 76Q711 76 745 132T780 277Q780 434 676 517Q637 549 562 572T380 596'], - - // LATIN CAPITAL LETTER E - 0x45: [686,29,783,74,728,'527 55Q574 55 619 69T691 97L717 111V85L562 -18Q520 -29 443 -29Q379 -29 325 -15T235 21T180 61T146 98Q74 186 74 307Q74 395 109 472Q113 482 123 489T190 533Q251 568 295 591L308 598L350 580L361 586Q403 612 464 636T564 673T609 686Q610 686 610 685Q612 683 616 670T627 636T646 601Q666 572 686 572H692Q713 572 726 576H728L725 565L723 554L692 544Q660 535 629 526T595 516Q585 514 574 519Q563 527 543 552T507 597T490 617Q467 604 456 579V564Q456 535 473 471T492 393L494 381L613 460L622 446Q630 433 650 411T696 371L703 365L614 312H596L580 322Q568 329 553 340T528 355T510 360Q496 358 491 354T484 345T471 326T435 297Q408 278 370 261T307 235T277 227Q273 227 266 234L256 240L267 245Q280 251 294 258T330 288T353 336Q353 373 335 444T316 530V537Q316 549 322 567Q270 554 233 499T196 370Q196 253 287 157Q392 55 527 55'], - - // LATIN CAPITAL LETTER F - 0x46: [684,146,722,17,727,'424 522Q265 596 208 596Q193 596 180 593T150 579T116 542T89 474Q86 465 86 463L59 481L63 494Q87 578 137 627Q191 684 285 684Q334 684 406 658T538 607T621 581Q644 581 706 629L721 640Q722 640 725 630L727 620Q701 592 654 548T582 486L569 487Q533 490 485 504L468 508Q449 503 429 495T387 466T365 422Q365 373 439 299L453 310Q473 325 528 370L588 418Q614 398 642 368T668 331Q667 331 628 296L590 262L582 274Q557 311 526 311Q511 311 487 297T462 278Q462 277 492 244T551 166T581 88Q581 54 570 25T536 -27T505 -56T478 -76Q376 -146 274 -146H270Q199 -146 162 -118T124 -15Q124 12 128 30T132 96V107Q132 144 117 157Q102 169 85 169Q74 169 59 165T32 156T20 151Q20 152 19 158T17 167Q17 168 17 168T17 169T19 170T22 172T27 175T35 179Q131 230 195 230Q231 230 259 202Q270 190 270 171Q269 150 253 87T236 -16Q236 -67 261 -87T322 -107Q380 -107 428 -68Q467 -35 467 30Q467 60 447 91T383 171T316 251Q290 286 278 308T263 339T261 359Q261 384 284 418Q322 469 424 522'], - - // LATIN CAPITAL LETTER G - 0x47: [687,29,927,74,844,'742 611Q784 611 812 631V611Q807 607 783 591T718 544T629 476L606 458Q608 458 628 457T667 453T713 443T762 423T804 388T836 335Q844 313 844 289Q844 231 814 182T746 103Q720 82 655 48T546 -18L520 -21Q456 -29 432 -29Q313 -29 223 33Q204 45 183 65T135 119T91 207T74 320Q74 428 109 480Q116 491 127 497T215 546L308 595L343 583L355 591Q387 613 433 636T488 660H489L491 659Q493 658 495 657T500 655L509 650L500 645Q479 635 460 612T441 552Q441 535 447 498T459 433T466 405L625 513L643 526Q620 530 585 546T535 586Q535 587 532 592T527 602T525 610Q525 613 577 649L630 687Q632 687 638 675T653 649T686 623T742 611ZM349 313Q349 328 327 413T305 510V516Q305 531 308 542T314 559T317 566T315 567Q297 567 270 548Q233 524 212 490T191 392Q191 337 206 288T244 207T284 156T316 128Q410 51 535 51Q632 51 675 102T718 217Q718 269 690 314T599 375Q574 381 535 381Q501 381 477 377L466 376Q469 364 469 349Q469 314 457 295T408 258Q366 236 308 219L288 213L279 220L270 227Q284 232 294 236T309 243T320 252T326 260T331 270T336 281Q349 310 349 313'], - - // LATIN CAPITAL LETTER H - 0x48: [683,126,851,6,752,'288 139Q288 172 255 224T189 335T156 442Q156 495 242 579Q289 625 361 668Q364 671 368 673T376 678T380 681L384 683L392 676Q401 670 414 661T443 642T477 626T509 619Q543 619 618 668Q625 672 628 674T631 675Q632 673 633 663T633 651L564 595Q556 589 545 580T528 566T516 556T505 548T497 543T488 539T481 537T472 535T463 534T451 534H442Q385 534 304 581L291 589Q290 588 285 583T277 575T269 566T262 555T257 543T255 529V522Q255 507 260 487T276 446T293 409T311 376L321 359Q321 358 322 358T324 359T327 361T333 366Q386 409 481 460L503 472L543 471Q586 471 599 470Q692 459 714 430Q725 416 738 360T752 245Q752 184 742 127T725 51T703 -8Q700 -13 619 -64T518 -123Q508 -126 493 -126Q438 -126 398 -86L427 -52Q456 -17 457 -17Q460 -17 465 -16H473Q474 -21 481 -32T504 -56T539 -69Q572 -69 599 -34Q625 4 625 158Q625 264 609 311T532 378Q508 386 484 386Q455 386 419 372T360 345T337 330L346 313Q375 263 386 227Q389 215 389 202Q389 192 388 184T384 168T376 152T365 138T350 121T331 103T307 81T278 54L194 -24Q130 30 99 30Q85 30 64 20T31 1T16 -10Q15 -11 13 -7Q12 -6 11 -3Q8 4 6 8L32 35Q88 88 117 107T169 126Q177 126 182 125Q218 118 252 84L263 73Q288 113 288 139'], - - // LATIN CAPITAL LETTER I - 0x49: [681,25,655,32,623,'500 615Q523 615 550 628T595 655T614 668L623 654L607 642Q512 569 440 534L427 527L413 529Q384 535 340 547T265 565T209 572Q173 572 145 556T101 522T60 465Q58 460 54 460T41 468L32 477L37 487Q96 599 139 640Q187 681 247 681Q275 681 283 680Q313 674 398 645T500 615ZM418 170Q418 186 410 260T401 382Q403 418 403 424L405 433L415 444Q482 515 571 571L582 578Q591 573 607 568L597 560Q522 504 522 450Q522 427 533 357T545 241V228Q545 190 536 159T508 106T478 73T446 48Q343 -25 238 -25Q179 -25 118 15L107 22L79 5Q51 -12 51 -12L38 2L55 18Q106 67 175 122L192 136Q202 130 206 123Q223 91 252 61Q263 50 266 48T278 39T297 32T320 30Q357 30 389 68Q415 102 418 170'], - - // LATIN CAPITAL LETTER J - 0x4A: [681,141,652,-8,616,'65 510Q68 517 74 528T101 569T144 620T202 661T274 680Q308 680 389 628T503 576Q530 576 596 600Q615 607 616 607Q616 602 615 596V585Q605 581 576 568T531 548T485 531T418 509L400 503L358 522Q347 527 327 537T299 550T277 560T257 568T239 573T220 577T201 578H196Q181 578 169 575T135 554T88 502L83 496Q82 496 74 502T65 510ZM424 4Q424 50 395 151T365 313V320Q365 352 369 361T405 403Q431 432 465 462T521 508T547 525L549 524Q551 524 554 523T560 521L571 517L552 498Q515 461 499 430Q485 399 485 366Q485 326 512 231T539 84Q539 -14 460 -77T273 -141Q248 -141 234 -140T198 -131T160 -106T134 -59Q128 -40 124 -16T117 22T108 49T91 69T59 75T15 65L1 59Q-8 76 -7 77Q4 85 22 97T88 129T170 149Q218 149 234 125Q242 112 242 43V21Q242 -17 248 -41T274 -85T322 -105H325H330Q363 -105 396 -75Q424 -47 424 4'], - - // LATIN CAPITAL LETTER K - 0x4B: [681,27,789,20,806,'234 109Q234 144 194 245T153 404Q153 445 180 490Q232 572 325 626T517 681H524Q612 681 661 658Q683 647 699 632T717 604Q717 600 708 545L699 490L690 489Q681 488 679 488Q675 488 669 504T640 546T577 592Q520 620 446 620Q415 620 386 614T327 594T280 553T262 487Q262 468 265 447T271 413T279 384T285 362L295 371Q320 396 352 421T439 474T538 502Q577 502 596 484T627 428Q642 386 651 373T677 360H682Q698 360 727 369L724 357Q724 354 724 351T722 346V344Q559 289 539 283Q582 272 589 271L615 265L637 189Q662 109 663 108Q668 97 682 84Q698 68 722 68H730H738Q762 68 799 91L803 80L806 70Q795 59 770 40T703 -3T631 -26Q598 -26 578 -8Q548 24 536 92Q524 154 509 183T477 218T428 224Q409 224 385 220T346 212L331 207Q330 205 330 201T331 189T332 178Q332 158 325 116L305 96Q269 60 240 38Q171 -21 123 -21Q72 -21 33 18L20 32L62 74Q96 107 102 112T116 118Q120 118 122 113T131 95T150 69Q171 48 190 48Q198 48 206 51T224 69T234 109ZM519 367Q497 432 450 432Q379 432 313 333L300 314L304 299Q306 294 309 280T315 260L321 235L542 313Q530 325 519 367'], - - // LATIN CAPITAL LETTER L - 0x4C: [683,28,786,30,764,'277 226Q277 248 253 286T203 369T178 449Q178 490 212 533T284 607Q380 683 532 683Q610 683 639 660T668 583Q668 568 666 546T663 509Q663 478 683 460Q691 452 719 452L738 450Q732 437 729 437Q728 437 652 416T573 394Q554 394 541 409T527 444Q527 449 532 487T538 542Q536 584 501 606T418 628Q389 628 364 620T317 587T295 523Q295 478 333 401T372 276Q372 269 371 267Q371 264 318 206L264 149Q284 141 317 130T433 101T577 82Q619 82 652 95T701 127T728 164T742 196L744 209Q744 210 749 208T759 203T764 199T760 185T751 154T744 129Q714 42 680 13Q628 -28 566 -28Q490 -28 403 -5T249 42T153 66T106 53T70 15T47 -16Q46 -17 30 -5L39 13Q85 100 138 148L147 156L161 157Q218 165 246 179T277 226'], - - // LATIN CAPITAL LETTER M - 0x4D: [683,32,1239,27,1232,'134 338Q134 357 81 417T27 504Q27 516 34 530Q55 568 110 615Q190 683 305 683H314Q445 683 495 580L501 569L512 577Q608 646 681 646Q759 646 801 585L808 576L816 583Q860 619 921 650T1041 682Q1063 682 1077 675T1096 660T1112 631T1132 596Q1160 555 1188 555Q1204 555 1228 564Q1230 565 1231 562Q1231 560 1232 554V547L1215 538Q1179 521 1114 475Q1112 474 1106 470T1099 464T1093 459T1088 452T1085 441T1082 425T1081 404T1079 376T1079 339Q1079 282 1084 236T1098 160T1117 112T1138 85T1159 77Q1166 77 1180 81T1207 90L1219 94Q1220 94 1221 86T1222 76L1045 -32Q1044 -32 1004 15L964 64V167Q965 334 970 372V378L994 402Q1032 440 1057 460Q1061 463 1066 467Q1070 469 1070 470T1068 471T1060 474T1050 481Q1040 488 1021 531T996 583Q979 609 947 609Q922 609 887 592T820 537L821 524Q825 484 825 448Q825 268 768 155L759 137L589 -28L579 -20Q533 17 507 17Q475 17 449 -7L436 -18L424 2L441 20Q446 25 456 36T471 52T484 65T497 79T509 90T522 99T534 106T548 112T561 115T576 117Q602 117 639 86Q648 81 648 81Q650 82 657 94T668 112Q711 202 711 373Q711 484 677 533T600 583Q592 583 583 581T569 577T554 568T542 560T528 549T516 539L519 523Q527 485 527 461Q527 444 522 407Q506 266 447 150L437 130L217 -25L208 -15Q165 28 126 28Q89 28 62 1Q47 -14 43 -14Q42 -14 36 -8L28 0L44 17Q96 73 120 92T166 117Q182 123 204 123Q239 123 284 78L295 67Q307 72 337 102Q400 178 400 346Q400 508 325 571Q270 618 208 618Q180 618 168 614T140 594Q124 578 124 564Q124 540 182 480T240 396Q240 359 197 321Q154 285 94 252L80 245L76 248L67 257L61 262L71 268Q82 275 94 284T120 309T134 338'], - - // LATIN CAPITAL LETTER N - 0x4E: [679,30,983,25,973,'522 492Q521 492 517 502T512 513Q542 444 542 333Q542 226 503 137L498 125L396 53Q308 -8 292 -17T260 -27Q226 -27 191 -9T136 29L145 39Q162 56 192 89L230 129L235 128H241Q276 57 332 57Q358 57 391 80Q403 89 409 100T422 143T428 227Q428 329 406 408T347 530T272 594T196 615Q152 615 135 596T118 558Q118 535 146 502T203 438T232 385Q232 357 195 322T122 265T83 243Q82 242 72 249T61 258L66 262Q72 265 82 273T103 292Q125 314 125 333Q125 351 101 376T51 432T26 492Q26 549 108 614T290 679Q326 679 335 678Q353 675 370 670T400 658T425 642T445 625T463 606T477 588T487 571T495 556T500 543L504 535L523 553Q553 581 569 595T619 632T686 667T757 678Q778 678 793 675T819 664T833 651T844 633T852 617Q884 548 910 548H916Q938 548 962 556L967 542Q967 540 947 531Q909 509 883 492T847 467T838 458Q825 419 825 328Q825 234 833 191T858 121Q875 94 892 77Q898 71 907 71Q912 71 928 76T957 87T971 91L972 88Q972 84 972 81L973 73L957 63Q891 21 806 -23L794 -30L783 -14Q766 13 728 60L713 79V372L724 384Q743 406 765 427T800 460L813 471Q809 472 806 472Q783 479 766 503T741 551T715 594T672 614Q644 614 622 595Q597 576 572 550T534 508L522 492'], - - // LATIN CAPITAL LETTER O - 0x4F: [726,30,976,12,881,'254 595Q269 583 269 581L262 577Q256 573 247 566T228 549T212 527T205 502Q205 480 266 386T328 277Q328 234 239 150L221 134L231 133Q264 131 376 99T516 62Q567 50 604 50Q614 50 626 52Q643 57 662 71T703 115T739 198T753 323Q753 454 692 517Q652 555 584 565T382 577Q365 577 357 577H308L300 591L292 606Q292 608 342 665L392 724L403 725Q406 725 411 726H416L417 725L412 715Q408 705 408 698Q408 684 423 679Q431 677 516 672T663 655Q757 634 806 593T873 463Q881 421 881 380Q881 340 874 306Q859 223 809 147Q801 134 789 124Q595 -30 456 -30Q395 -30 289 3T147 36Q134 36 121 33T98 26T76 15T59 4T44 -8T32 -17L22 -7L12 4L56 59L100 114L116 118Q217 142 217 199Q217 230 185 276T120 365T87 430Q87 435 109 464T172 534T254 595'], - - // LATIN CAPITAL LETTER P - 0x50: [688,223,977,33,943,'247 398Q247 372 206 334T126 272T83 247Q82 247 72 253T61 261Q60 261 61 262T66 265Q127 306 127 343Q127 364 63 430Q42 451 38 458T33 480V490V497Q33 526 63 567Q112 632 170 660T282 688Q341 688 384 667Q454 633 482 566Q483 565 484 566T496 574Q562 623 630 653Q699 681 751 681Q778 681 797 673Q818 662 830 609Q835 580 843 564Q863 524 895 524H901Q917 524 932 528Q936 522 938 518T942 513T942 511Q873 480 836 454Q789 423 789 395Q789 362 834 298T880 200Q880 170 867 145T820 81Q733 -20 647 -20Q581 -20 499 21V9Q499 -16 502 -53T509 -116L512 -141L370 -223L357 -216Q344 -209 344 -208L348 -196Q370 -113 370 33V52L355 58Q307 76 284 76Q258 76 228 60T183 29T141 -11Q137 -7 133 -2L126 7L134 18Q181 89 210 121T278 170Q304 179 328 179Q336 179 358 177L370 175Q368 268 367 359Q367 416 363 434Q362 438 362 441Q348 527 302 574T203 621Q169 621 148 599T127 557Q127 535 187 476T247 398ZM673 315Q673 357 786 442Q786 443 776 444T750 449T727 462Q719 471 716 484V496Q715 507 715 515Q715 571 698 588Q680 611 643 611Q592 611 547 571Q534 558 511 522L499 505V139L543 123Q702 64 744 64Q770 64 781 79T793 112Q793 143 733 217T673 315'], - - // LATIN CAPITAL LETTER Q - 0x51: [726,83,976,12,918,'254 595Q269 583 269 581L262 577Q256 573 247 566T228 549T212 527T205 502Q205 480 266 386T328 277Q328 234 239 150L221 134L231 133Q264 131 376 99T516 62Q567 50 604 50Q614 50 626 52Q643 57 662 71T703 115T739 198T753 323Q753 454 692 517Q652 555 584 565T382 577Q365 577 357 577H308L300 591L292 606Q292 608 342 665L392 724L403 725Q406 725 411 726H416L417 725L412 715Q408 705 408 698Q408 684 423 679Q431 677 516 672T663 655Q757 634 806 593T873 463Q881 421 881 380Q881 340 874 306Q864 250 838 196T791 126Q748 93 733 82L715 69Q714 68 723 60T748 40T774 23Q806 2 832 2Q849 2 870 6T904 14L917 17Q917 12 918 6V-3L882 -22Q806 -60 778 -73L755 -83Q640 -36 596 -7L586 0L576 -4Q513 -30 457 -30Q394 -30 289 2T149 35Q119 35 93 22T52 -4T36 -17T24 -7T12 4L56 59L100 114L116 118Q217 142 217 199Q217 230 185 276T120 365T87 430Q87 435 109 464T172 534T254 595'], - - // LATIN CAPITAL LETTER R - 0x52: [688,28,978,31,978,'31 498Q34 541 76 586T176 659T279 688H290Q377 688 429 653T506 569L511 558L526 572Q620 663 707 682Q722 685 737 685Q781 685 804 665T830 619T838 565T854 525Q866 511 897 511Q917 511 925 513L937 515Q938 515 941 509T944 501T925 493T870 470T803 438Q735 406 735 401Q735 400 741 399T767 390T814 374L828 367L829 307Q829 233 833 202T852 144Q873 109 896 90Q906 82 928 82T976 95V92Q976 88 978 72L807 -28Q768 39 733 87L718 108V149Q718 230 714 257T693 298Q654 333 580 333Q524 333 520 329Q520 300 489 224T443 133Q441 131 333 53T223 -27Q221 -26 204 -11T169 16T136 28Q110 28 66 -8L56 -16Q52 -13 40 -1L48 7Q165 124 211 124Q232 124 287 77L298 67Q309 73 337 97Q397 150 397 347Q397 419 379 474T330 560T269 604T207 619Q177 619 152 601T126 563Q126 540 185 479T244 387Q240 336 160 289Q144 278 98 255L80 246L62 261L79 272Q96 283 113 301T130 337Q130 353 115 373T81 410T47 451T31 498ZM524 358Q537 358 657 405T777 457Q777 459 768 459Q749 462 738 474T723 499T714 539Q706 585 697 599Q681 618 657 618Q632 618 597 595T532 515L525 502L524 441Q524 375 523 369Q523 358 524 358'], - - // LATIN CAPITAL LETTER S - 0x53: [685,31,978,82,905,'457 -31Q356 -31 272 6T135 120T82 304Q82 372 106 430T170 527T241 588T305 626Q341 643 386 657T460 678T495 685T554 660T674 609T778 584Q800 584 818 591T848 610T866 633T878 651T883 659L893 649L901 639Q879 574 803 532T666 490Q661 490 657 490T650 491T641 492T633 495T622 500T610 505T595 513T577 522T554 533T527 547Q436 594 415 602Q393 608 374 608Q303 608 253 545T202 386Q202 229 307 135T568 41Q674 41 748 85T822 198Q822 244 779 283T639 322Q595 322 499 303T383 283Q358 283 335 290T291 318T270 374Q270 418 313 460T424 510H431L435 505L440 500Q425 496 403 475T380 427Q380 382 431 373Q437 372 475 372Q543 372 626 388T742 404Q831 404 868 362T905 260Q905 182 831 108Q692 -31 457 -31'], - - // LATIN CAPITAL LETTER T - 0x54: [686,30,790,30,802,'666 641Q737 641 794 686L802 662Q790 648 734 596L677 541L664 538Q630 528 583 528Q540 528 482 537L461 541Q402 512 402 456Q402 427 439 387T512 311T549 253Q549 220 455 139L440 126Q541 75 586 75Q600 75 619 80T654 94T685 110T709 124T719 130Q722 125 725 119L730 108Q700 72 568 -18Q551 -30 542 -30Q495 -30 404 6T270 42H263Q213 42 142 -11L131 -19L129 -8Q126 1 126 4Q218 84 301 126L316 134H406L413 142Q436 165 436 189Q436 202 421 221T364 281Q336 307 318 328T296 356T283 381L290 394Q338 478 410 540Q419 549 417 549Q415 550 369 558T268 575T195 584Q153 584 127 567T100 523Q100 499 116 479T151 447T170 433Q170 429 171 428Q171 427 131 394T88 359Q82 363 73 370T47 403T31 457Q31 513 79 565T197 648T332 679Q369 679 490 660T666 641'], - - // LATIN CAPITAL LETTER U - 0x55: [688,39,851,18,871,'273 244Q273 281 244 331T186 428T155 502Q155 524 165 536Q239 634 333 688Q338 684 345 680L356 672L344 664Q310 642 295 624T280 582Q280 550 303 505T348 407T371 300Q371 270 362 248L247 123L358 92Q452 64 484 64Q507 64 523 72Q553 87 573 109Q583 121 586 146T593 283Q594 303 594 344Q594 401 591 461T584 558L581 595Q598 600 623 611T672 634T719 659T754 678L768 686Q770 686 784 673L782 670Q781 668 777 664T768 655Q747 635 738 616T721 535T714 359Q714 205 723 176Q727 164 744 133T771 89Q780 75 804 75Q814 75 853 87L867 92L871 73L671 -39L654 -10Q636 20 619 50T600 83Q600 84 589 75T539 34Q478 -16 475 -19Q469 -22 449 -28T414 -34Q410 -34 394 -32Q356 -28 282 -2L237 15Q169 38 126 38Q106 38 85 27T51 4T37 -8T27 -1T18 8Q18 10 70 63T124 116Q154 123 176 131T223 154T260 191T273 244'], - - // LATIN CAPITAL LETTER V - 0x56: [685,29,982,25,966,'133 343Q133 360 79 416T25 496Q25 523 58 563T118 624Q197 685 293 685Q331 685 339 684Q453 665 489 558L493 546Q521 570 553 596T640 653T725 684Q753 684 783 672T844 641T889 618Q895 616 912 616Q924 616 936 617T956 620T965 622T966 612V604L952 595Q924 576 895 549Q864 517 856 496T847 448V434Q847 395 848 388L859 323Q874 241 874 212Q874 142 830 96Q796 62 724 14Q661 -29 603 -29Q555 -29 421 28T242 86Q182 86 110 31Q105 28 102 26T99 25Q88 36 88 42Q95 54 222 142Q252 163 262 165Q319 183 344 218Q378 266 378 377Q378 444 362 494T319 571T266 610T212 623Q181 623 156 603T131 562Q131 539 154 512T206 458T243 416Q246 409 246 399Q246 387 242 377T225 351T178 311T94 259L79 251Q72 256 68 261T62 268L61 270L70 277Q131 318 133 343ZM822 526Q778 531 719 564T628 597Q611 597 579 574Q543 543 513 506L505 495L506 473Q506 469 506 461T507 449Q507 348 467 271L462 261L404 218L348 174Q349 173 356 173Q384 169 450 144L546 105Q665 56 708 56Q737 56 746 72T756 118Q756 129 755 135L741 219Q725 314 725 334V344Q725 416 736 431Q748 450 815 510L832 526H822'], - - // LATIN CAPITAL LETTER W - 0x57: [683,30,1235,26,1240,'133 317T133 338T80 413T26 496Q26 532 83 591Q100 608 111 616T151 644T219 672T304 682Q381 682 434 646T506 564L510 557Q513 557 534 573L677 665L707 683L790 561L803 572Q933 682 1001 682Q1037 682 1098 650T1193 616Q1208 616 1222 619L1235 622Q1239 622 1239 616Q1239 611 1240 609Q1240 608 1206 577T1138 503T1104 430Q1104 409 1123 330T1142 208Q1142 183 1136 147Q1127 118 1117 106Q1114 103 1031 48T935 -14Q930 -18 908 -22T862 -27Q826 -27 759 -6T647 26Q597 38 578 38Q573 38 561 33T533 20T505 4T480 -10L469 -16L452 -26L439 -28Q423 -30 411 -30Q358 -30 279 7T169 45Q125 45 58 -5L47 -14L41 -4L35 8Q35 11 56 29T113 75T181 125L200 139H217Q279 143 320 180T377 270T394 393Q394 453 378 498T334 568T277 605T213 617Q177 617 155 607Q140 600 130 587T119 560Q119 545 137 522T177 479T217 434T236 393Q236 324 98 251L89 246L76 253L63 261Q91 275 112 296ZM1088 526Q1066 526 1004 556T909 586Q863 586 816 539L802 526L804 514Q814 461 814 411Q814 319 781 238Q772 214 760 198T730 165T702 136L715 133Q759 122 848 90T973 57Q1003 57 1017 80Q1022 93 1022 116Q1022 152 1003 241T983 377V391Q983 405 985 409T1002 429Q1019 450 1045 475T1090 514L1107 528Q1104 527 1102 527T1096 527T1088 526ZM699 358Q699 391 696 419T688 467T675 503T660 530T642 550T626 563T608 574T593 582Q581 575 559 554T524 512Q523 510 523 477Q523 315 444 218L435 207L368 169Q301 132 301 131Q307 128 315 125L377 99Q476 57 515 57Q534 57 608 94L627 102L636 111Q699 187 699 358'], - - // LATIN CAPITAL LETTER X - 0x58: [681,35,849,32,835,'273 679Q354 674 408 633T477 525L484 533Q496 548 524 574T571 615Q594 633 625 649T675 673T699 681Q724 632 747 607Q754 601 756 599T765 594T777 591T794 590Q818 590 834 594V585L835 577L704 513L693 518Q657 534 631 560T597 599Q596 601 581 584Q495 490 489 379V366H562L681 369Q682 369 679 366T668 355T651 341L620 314H485V295Q490 190 543 125T686 60Q720 60 789 88L801 93V89Q798 83 798 66Q781 59 685 -10L665 -25L634 -30Q596 -35 594 -35Q570 -35 536 -23T477 19Q461 37 445 67T418 118L409 138Q401 131 388 120T340 79T273 28T206 -12T151 -31Q129 -31 90 -12T32 22L113 101Q114 101 120 96T136 84T160 69T189 56T221 51Q256 51 305 90Q376 149 376 301V315H293Q276 315 251 315T210 314T190 313L168 312Q168 313 200 340L231 368L238 367Q275 367 311 366H378V387Q376 470 355 512T291 572Q274 579 252 579Q223 579 197 568T156 544T131 519T117 508Q112 512 108 518L99 527L117 545Q177 604 255 665L273 679'], - - // LATIN CAPITAL LETTER Y - 0x59: [688,214,984,34,878,'34 496Q34 518 53 549T107 610T195 661T310 682Q357 682 398 663T460 611Q467 600 475 583T489 554T495 542Q495 544 531 570T617 629T700 676L724 688Q742 670 756 657T784 635T806 621T830 606T856 592Q878 416 878 340Q878 154 805 -3L798 -20L779 -40Q706 -113 613 -163T421 -214Q359 -214 317 -196T256 -160L306 -63L313 -64L320 -66L326 -79Q337 -104 349 -120T392 -151T470 -166Q576 -166 644 -101Q750 7 750 292Q750 426 721 495T617 565H611Q563 565 513 509L506 501L508 493Q508 490 509 475T510 445Q510 319 458 236L451 225L436 216Q406 198 365 169T318 134L332 127Q336 126 397 103T489 80H493Q527 80 593 129L604 137L607 127Q610 119 610 116Q610 114 592 95T543 46T484 -4Q450 -27 446 -27Q441 -27 402 -18Q365 -9 290 20T188 50Q135 50 64 -7L52 -17L43 -7L34 2L51 19Q118 87 177 132L192 143H215Q259 145 289 155T335 184T355 214T366 245Q382 306 382 388Q382 426 381 436Q368 520 318 570T214 621Q184 621 165 608T142 583T137 562Q137 541 163 508L201 469Q245 425 251 408Q253 403 253 398Q253 383 240 366T212 335T161 295Q128 271 99 253L89 247L77 256L65 266L76 273Q125 301 134 329Q136 334 136 342Q136 357 124 372T88 410T49 455Q34 479 34 496'], - - // LATIN CAPITAL LETTER Z - 0x5A: [677,148,711,-5,624,'278 601Q242 601 212 591T167 570T121 533Q114 528 111 525L93 550Q223 661 244 667Q299 677 356 677Q415 677 456 666T515 634T541 596T549 555Q549 513 529 478T480 421T424 388T377 372Q365 370 365 367Q365 365 389 365T450 358T523 337T588 282T623 183Q624 177 624 161Q624 20 524 -60Q415 -148 285 -148Q242 -148 213 -139Q181 -131 159 -109Q136 -87 127 -56T114 6T104 49Q94 69 57 69Q38 69 13 58L1 53Q1 55 0 59T-3 68T-4 76Q78 130 138 142Q150 144 162 144Q213 144 227 120T242 31Q242 -30 263 -66T345 -102Q397 -102 444 -52T491 107Q491 172 471 211T428 265Q392 288 306 288Q269 288 233 284L218 282Q208 289 208 291L229 324L251 359Q250 360 248 360Q239 360 248 371L256 381H273Q344 385 378 409T413 495Q413 537 384 569T278 601'], - - // LEFT SQUARE BRACKET - 0x5B: [740,130,257,36,226,'226 711T225 711T86 699V-93H89Q94 -93 157 -96T223 -100H226V-119H223Q134 -119 42 -130H36V740H42Q61 738 156 736H226V723Q226 711 225 711'], - - // RIGHT SQUARE BRACKET - 0x5D: [738,132,257,14,208,'69 732Q116 733 146 734T184 736T197 737T206 738H208V-132Q190 -129 160 -127T99 -125T66 -124H14V-103H19Q20 -103 84 -98T152 -92H158V699H151Q148 700 85 703T18 708H14V732H69'], - - // CIRCUMFLEX ACCENT - 0x5E: [734,-452,590,1,584,'1 463T1 464T148 599T296 734Q584 486 584 485L561 472Q538 459 537 461Q296 672 293 672L161 563Q133 539 97 509T44 466L28 452Q27 452 14 457'], - - // LATIN SMALL LETTER A - 0x61: [472,32,603,80,586,'80 129V151Q80 241 99 363Q99 367 111 372T172 401T285 465L297 472Q340 455 405 443L423 440L455 453Q486 467 489 467L497 461L494 451Q480 390 480 292V283Q480 207 483 155L484 143L535 80L558 90L582 99Q586 95 586 83Q586 81 513 25L443 -29Q410 16 386 40L371 55V61Q371 63 371 67T370 74V80L278 25Q186 -29 184 -31Q182 -32 160 -12T112 35T80 75V129ZM359 366Q334 366 300 371T243 382L221 388Q218 388 212 375T200 323T194 228Q194 191 197 152L198 139L217 120Q245 92 269 74L279 66L304 78Q338 95 349 100L369 110V152Q368 164 368 210T367 275Q367 358 366 361V366H359'], - - // LATIN SMALL LETTER B - 0x62: [690,32,590,86,504,'99 398Q99 610 86 662Q86 665 95 669T106 674L108 669Q109 664 112 654T119 635Q122 626 125 616T130 601L131 596Q214 649 273 678Q295 690 298 690Q299 690 304 688T313 682L317 679Q275 653 240 612Q210 569 210 469V459Q210 450 210 432T211 406L212 378L285 425Q301 435 321 447T350 466L360 472Q360 473 361 473T368 471T401 456T465 429L501 414V408Q504 386 504 309Q504 255 500 203T491 125T485 97Q485 95 445 74T343 23T237 -24L214 -32Q197 -22 165 3T109 49T87 73Q99 169 99 398ZM386 251Q386 320 380 347V350L305 374L282 382L214 348L213 274Q213 184 214 165V131L230 119Q288 76 349 54Q386 137 386 251'], - - // LATIN SMALL LETTER C - 0x63: [473,26,464,87,424,'227 393Q215 393 210 351T205 269Q205 161 213 153Q220 145 244 125T290 88L312 72L365 92Q414 113 418 113V93L365 60Q255 -9 221 -26L211 -18Q158 21 91 88L90 107Q87 167 87 225Q87 267 90 302T96 351T100 366L295 473L311 470Q340 464 368 454T410 437T424 429L347 334L342 333H337L325 342Q299 363 271 378T228 393H227'], - - // LATIN SMALL LETTER D - 0x64: [632,28,589,-1,511,'88 117Q88 177 91 231T97 310T102 341Q102 343 118 357T168 397T239 447L257 459L268 454L278 449Q242 416 238 412L219 394Q219 391 216 378T211 349T206 307T203 249Q203 211 206 166L208 148Q224 132 261 108T333 70Q341 66 342 67T350 79Q393 157 393 302Q393 368 388 406V411L371 424Q199 558 101 558Q69 558 28 545L18 542L8 549L-1 557L24 569Q61 587 147 621L177 632Q179 631 194 627T216 621T240 613T269 602T302 589T340 571T382 549T431 522T484 488Q504 475 504 472Q511 449 511 365Q511 248 474 129L468 108L451 96Q427 77 347 28T254 -28Q235 -20 174 21T89 86L88 117'], - - // LATIN SMALL LETTER E - 0x65: [471,27,472,81,428,'309 69Q391 98 416 108Q418 106 422 100T425 92Q419 86 326 30T229 -27Q228 -27 207 -13T154 27T97 76L85 87L84 106Q81 152 81 194Q81 295 93 359L95 369L286 471L313 449Q376 397 414 372L428 362Q428 360 375 318L188 181V170Q188 156 189 153V148L203 138Q228 119 266 94T309 69ZM209 389Q208 388 204 366T194 307T187 244Q187 225 188 225T201 233L245 261Q283 284 291 291Q324 313 324 316L296 334Q280 343 259 357T224 380L210 390Q209 390 209 389'], - - // LATIN SMALL LETTER F - 0x66: [687,222,388,35,372,'128 400Q127 401 121 422T108 478T99 540V555L111 569Q135 597 165 626T214 671T235 687L249 678Q263 668 282 659T315 650Q335 650 362 666L372 654L286 569H271Q205 576 173 586V583Q173 558 208 492T252 401Q253 399 310 399T367 398L332 355H254V311Q251 160 235 16Q230 -28 226 -36Q225 -38 221 -45Q171 -140 121 -211L113 -222H104Q94 -222 94 -220Q94 -215 105 -187L121 -145Q139 -80 139 35V93Q139 222 135 314L134 354Q134 355 84 355H35L84 399H106Q128 399 128 400'], - - // LATIN SMALL LETTER G - 0x67: [472,208,595,17,541,'92 71Q92 74 91 88T88 128T86 183Q86 230 91 275T102 342T109 366Q115 372 207 422T305 472Q407 426 431 426Q435 426 476 445L519 465L525 463L532 461Q497 392 497 268Q496 255 496 233Q496 179 516 92T539 -10L541 -22L526 -38Q441 -126 355 -194L339 -206L327 -207Q324 -207 319 -207T310 -208Q242 -208 171 -179T73 -131L56 -141Q40 -150 38 -150Q17 -140 17 -137Q17 -136 18 -136T98 -79L176 -23Q174 -21 134 24T92 71ZM226 393Q224 393 221 372T214 312T210 235Q210 182 214 144L215 132L230 118Q281 70 301 66Q304 66 331 80T373 105L384 112L383 165Q383 224 387 309Q387 314 387 319T387 329T388 336T388 341V343Q388 344 381 344T339 354T249 384Q246 385 243 386T236 389T231 391T228 392L226 393ZM414 -80Q414 -64 411 -43T403 -1T394 37T386 66T382 79Q381 79 286 15T189 -52Q312 -125 365 -125Q397 -125 405 -115T414 -80'], - - // LATIN SMALL LETTER H - 0x68: [687,207,615,89,507,'95 661Q95 662 103 667T113 672L126 634L137 596L147 602Q235 656 275 677L292 687L303 680Q305 679 307 677T312 674L313 672L310 670Q307 669 301 667T289 660T274 649T259 634Q250 622 244 611T233 585T226 560T222 528T221 497T220 456T219 413V377L232 384Q244 391 271 409T339 455L362 471L383 461Q425 440 491 415L504 410V406Q507 399 507 269Q507 76 486 -21Q485 -30 483 -33T461 -57Q382 -139 299 -207L281 -197L263 -186L266 -185Q268 -184 280 -177T312 -155Q344 -130 353 -116Q394 -59 394 117Q394 162 391 216T386 301T382 335Q382 338 365 346T323 364T281 376L250 362Q220 347 219 347Q213 336 213 232Q213 177 217 144L218 128L224 119Q244 92 263 71L272 60Q206 21 157 -24Q156 -24 151 -16T132 11T98 52L89 62L91 103Q104 289 104 436Q104 471 103 506T101 568T99 616T96 649L95 661'], - - // LATIN SMALL LETTER I - 0x69: [686,25,331,3,327,'73 613L164 686L184 666Q200 650 214 637T235 620T242 614T203 577T162 540Q158 540 122 570T73 613ZM92 58Q92 63 94 83T98 142T101 234Q101 318 97 358V366L59 387L40 379L21 371Q20 371 12 376T3 382L38 406Q78 431 125 466L138 477Q149 468 186 444L219 422V389Q215 324 215 247Q215 136 222 123Q226 113 238 98T258 83Q263 83 292 94L322 104Q322 103 324 97T327 89Q327 88 317 82T272 52T190 -7Q166 -25 164 -25L112 35Q92 55 92 58'], - - // LATIN SMALL LETTER J - 0x6A: [682,203,332,-19,238,'74 611L155 682Q172 666 186 655T208 636L235 614Q227 606 191 574L154 540L135 556Q101 582 84 601L74 611ZM10 377L144 477Q145 476 184 453T229 428L233 425V416Q238 346 238 252Q238 93 215 -16L213 -30L185 -57Q29 -203 19 -203Q17 -203 -19 -189L-9 -183Q52 -146 78 -116T114 -37Q120 31 120 192V237Q120 327 113 351T72 380L53 372Q34 362 32 364L10 377'], - - // LATIN SMALL LETTER K - 0x6B: [682,25,464,34,432,'106 72Q110 105 111 193T114 294V308H74L34 309L83 346H115V430Q114 591 106 652Q105 662 107 665T114 668T123 672Q125 672 139 635L152 597L154 598Q156 600 160 602T167 607Q193 625 226 644T279 672T302 682L312 676L321 670L312 665Q281 649 263 626T241 587T233 547Q232 541 231 530T230 510T230 501Q231 501 265 522T334 564T369 583L380 570Q428 509 428 481Q428 475 427 470T423 459T416 448T404 434T389 418T369 397T344 371L321 347L365 346H409L372 308H227V294Q227 272 230 208T234 138Q234 136 256 119T302 84L324 68L372 88Q421 108 422 108T432 90L421 83Q373 53 270 -5L234 -25L204 -1Q172 25 124 60L106 72ZM336 434Q336 452 327 472T308 503T297 514Q296 514 290 510T275 499T264 490Q230 458 230 358V346H247Q268 346 276 350T302 372Q328 398 335 423Q335 424 335 428T336 434'], - - // LATIN SMALL LETTER L - 0x6C: [681,24,337,100,312,'111 275Q111 406 108 518T104 650V657Q105 657 109 660T117 665T122 666L133 629L144 594L161 606Q218 642 272 670L294 681Q295 681 300 677T306 672L302 669Q298 666 292 662T278 651T263 637T251 621Q232 587 227 530T222 343Q222 226 230 125L231 112L244 98L258 83Q271 87 285 92L312 102V84Q297 72 231 24T163 -23L100 55Q110 141 111 275'], - - // LATIN SMALL LETTER M - 0x6D: [476,31,921,16,900,'115 203Q115 257 114 291T112 338T111 355Q111 357 93 370L75 384L54 375Q32 366 31 365Q27 365 16 378Q25 383 89 430L152 476Q175 453 228 420Q229 420 229 418T229 410T227 394L225 369Q279 400 315 425T363 461T376 471Q480 424 514 416V412Q514 411 514 404T513 392L511 376L520 382Q529 387 548 399T584 422Q599 432 618 444T648 463L657 469H658Q661 469 681 461T735 440T796 420Q803 418 803 416Q801 414 798 390T791 325T788 247Q788 220 790 172T794 123Q799 115 814 97T835 78H838Q841 78 867 89L895 101Q896 101 896 100T897 92T900 78L873 62Q810 23 761 -12L736 -30Q735 -30 729 -22T707 7T671 48L661 59Q674 93 674 207V219Q674 341 670 344Q655 353 591 372L576 376L544 364Q511 351 510 351Q507 349 507 224V132L535 95Q541 87 548 78T560 63L563 58Q563 57 504 15T444 -28L385 53L387 67Q396 114 396 206Q396 289 393 334Q393 346 390 348Q369 358 306 373Q301 373 265 361L228 349V335Q227 322 227 284Q227 206 231 157Q231 151 231 144T232 133V129Q232 125 259 90Q286 56 286 53Q287 53 284 51T273 43T258 31L173 -31L166 -20Q160 -11 145 7T119 38T108 59Q108 62 110 81T113 133T115 203'], - - // LATIN SMALL LETTER N - 0x6E: [473,28,654,5,608,'608 88Q572 65 535 37T477 -8T455 -25Q432 7 389 53L375 68L378 82Q386 160 386 195V221Q386 284 385 307L384 344Q352 359 306 373L286 379L213 353V273Q214 229 214 161V129L275 62L163 -28L150 -14Q136 0 121 16T91 44Q86 48 86 50Q95 83 96 148Q96 224 89 340L88 366L79 374Q69 384 67 385L64 388L55 383Q52 382 44 378T33 373L21 367L13 374Q5 379 5 381Q5 384 69 428L133 473Q135 473 147 464T179 443T215 424L214 400V376Q271 404 342 457L363 472Q363 473 364 473Q366 473 375 469T418 449T502 414L512 411V407Q502 330 502 217V197V132L523 109Q527 104 533 97T543 87T547 83L550 80L578 92Q603 103 604 103Q606 103 608 88'], - - // LATIN SMALL LETTER O - 0x6F: [482,35,609,107,515,'107 102Q107 178 112 242T123 334T129 362Q129 363 140 368T199 400T315 469L336 482L346 476Q409 439 498 414L514 410L515 389Q515 208 502 141Q494 101 491 94Q490 89 478 81Q430 51 375 23T288 -20T254 -34Q250 -34 200 -1T119 56L108 65L107 76V102ZM389 355Q367 358 346 363T309 372T282 381T264 388L257 390H256Q254 390 249 381T238 348T227 293Q226 280 226 237Q226 183 231 146L232 131L244 122Q285 91 323 74T374 57H377L380 68Q405 154 405 267Q405 315 401 349V354L389 355'], - - // LATIN SMALL LETTER P - 0x70: [557,207,604,-1,519,'66 435Q66 445 117 501T173 557Q174 557 183 555T193 551Q174 526 174 509Q174 496 190 472T233 428V386L377 482L399 471Q450 445 509 425Q519 421 519 420L518 419Q518 418 518 416T517 410Q517 405 518 381T519 335Q519 222 501 137Q492 84 489 84L473 75Q457 66 423 44T354 -6L338 -19L329 -13Q320 -8 313 -4T297 4T284 10T270 14T258 17T245 20T233 22V12L241 -161L214 -172Q187 -184 160 -195T131 -207Q127 -207 112 -202L113 -188Q113 -182 115 -77T118 31Q118 32 109 32Q63 27 23 0L10 -9Q5 -4 -1 8Q1 13 52 57T114 101H115L117 123Q117 141 117 230V359L110 367Q85 394 71 421Q66 433 66 435ZM384 83Q386 83 389 110T396 180T400 254Q400 294 395 339L394 349L379 355Q308 383 294 383Q290 383 263 372L234 360L233 245V130Q270 125 305 113T361 92T384 83'], - - // LATIN SMALL LETTER Q - 0x71: [485,211,596,87,515,'362 -196Q375 -92 375 47V78L282 24Q189 -29 188 -30Q187 -30 139 21T90 75Q87 84 87 158Q88 206 94 259T107 342L113 372L308 478L322 473Q374 452 421 444L433 442L503 485Q515 479 515 477Q485 378 485 56Q485 -100 494 -164V-171L381 -211L371 -207L362 -202V-196ZM280 72Q301 77 323 86T358 101T372 110Q372 268 377 346L378 358H374Q368 360 358 360T323 365T257 380L234 386Q231 386 229 379Q215 353 211 310T207 180Q207 152 208 150Q210 142 235 114T280 72'], - - // LATIN SMALL LETTER R - 0x72: [472,26,460,13,453,'23 367Q21 370 18 374T14 380L13 382L151 472L236 411L238 381L290 426Q298 432 307 439T322 452T333 461T342 467L344 469Q382 410 404 399Q410 397 416 397Q423 397 432 399T446 403L451 405Q453 405 453 399V393Q430 374 404 356T364 328T350 318L349 317Q321 320 276 356Q257 371 256 371Q253 374 249 366T242 351Q232 321 232 236Q232 214 232 205T232 182T233 162T235 148T238 137T242 129T249 120T257 114T268 105T281 95Q313 70 314 70L358 85Q377 92 389 96T402 100V90L403 80L229 -26L221 -18Q195 6 166 29T121 63T105 76T106 82T110 97T114 121T117 158T119 208Q119 269 114 329L113 341L103 350Q90 362 67 380L45 374L23 367'], - - // LATIN SMALL LETTER S - 0x73: [479,34,523,-24,481,'189 331Q190 304 196 282T207 252T214 244Q239 244 348 292L371 302L382 297Q398 290 415 279T433 265Q442 238 442 166Q442 103 423 45Q416 42 380 29T310 3T244 -26L227 -34Q139 40 73 40Q61 40 48 37T24 30T6 22T-8 14L-13 11Q-14 11 -18 18T-23 26T38 75T102 125Q107 128 146 131H153Q192 131 296 56Q318 40 318 43Q323 48 323 114Q323 157 321 177L319 194Q308 208 291 216T261 225Q239 225 160 185L123 167Q85 205 79 227Q78 230 78 304V377L171 428Q264 479 265 478Q268 478 287 465T334 440T384 427Q423 427 475 463L478 453Q481 446 481 442Q481 439 410 391L339 342H331Q309 345 277 361T222 391T198 406T195 399T191 372T189 331'], - - // LATIN SMALL LETTER T - 0x74: [648,27,393,43,406,'328 69Q401 102 403 102Q404 102 405 94T406 84Q406 83 318 28L230 -27Q223 -21 206 -5T171 25T132 54L124 60V71Q129 154 129 297V359H43L44 363Q44 365 44 367L45 369L48 372Q51 374 57 378T68 387L90 405H129V553L285 648Q304 641 306 640L260 598V592Q259 589 255 505T249 413V405H353V402Q353 399 328 379L303 360H245V319Q245 150 253 125Q257 115 276 101T311 78T328 69'], - - // LATIN SMALL LETTER U - 0x75: [472,32,589,9,603,'444 -31Q444 -29 384 66Q382 66 364 58T309 30T231 -17Q214 -29 212 -29L197 -20Q172 -4 140 11T88 34L68 42Q68 43 73 49T85 67T100 98T113 149T118 221Q118 272 105 332L100 356L58 383L23 365L9 379L76 425Q141 472 144 472Q144 471 183 443L221 414V404Q224 365 224 275V253Q224 159 196 113Q191 104 193 104Q203 104 285 72L308 62L374 89L375 106Q375 266 373 340Q373 364 371 396V424L430 445L491 467Q493 467 499 463T505 457Q505 456 503 442Q488 335 488 187V158L529 81L534 80Q541 80 568 90L598 101Q605 94 602 87L524 27Q445 -32 444 -31'], - - // LATIN SMALL LETTER V - 0x76: [546,27,604,56,507,'95 67Q104 80 104 193Q104 261 100 321L98 355L91 363Q56 402 56 421Q56 441 82 472T132 524T159 546Q174 542 175 542Q159 520 159 501Q159 481 205 432L221 415L220 401Q219 394 219 387L288 429Q309 441 325 451T347 465T358 472T365 476L504 415V409Q504 408 505 374T507 318Q507 155 474 91L469 80L343 26Q314 14 281 0T232 -20L216 -27L202 -15Q192 -5 152 28Q141 35 126 45T103 60T95 67ZM386 349Q302 389 287 389Q271 383 253 375L220 361V136Q226 120 256 100T312 68T342 56Q355 56 360 68Q389 134 389 258Q389 310 386 341V349'], - - // LATIN SMALL LETTER W - 0x77: [549,32,918,55,815,'90 58T90 59T92 64T97 78T102 105T107 150T109 218Q109 290 103 350V356L83 377Q55 407 55 425Q55 445 138 528Q158 549 162 549L164 548Q165 548 167 548T170 547L175 546L172 540Q168 533 165 523T161 502Q161 479 216 430L229 419V382Q232 382 366 471Q407 445 500 408L511 404V387L512 370L595 420Q678 469 679 469L693 462Q756 431 795 417L815 409L814 380Q812 187 782 96Q774 71 766 62T744 48T684 25T577 -23L557 -32L546 -26Q536 -19 519 -10T481 10T436 31T393 47Q384 50 380 50Q380 52 381 58T384 77T387 104Q391 174 391 256V292L390 333L377 340Q350 357 304 373L294 376L227 355V348Q224 322 224 243Q228 117 232 112L235 108Q238 103 245 95T257 80L281 50Q281 49 227 10T172 -29L159 -13Q133 19 116 36T94 56ZM652 64Q658 64 667 84T685 162T697 303V336L686 341Q653 356 619 367L591 376Q590 376 553 361T514 344T512 324T510 275T508 221Q508 167 510 152T521 126Q537 112 590 88T652 64'], - - // LATIN SMALL LETTER X - 0x78: [471,188,459,8,441,'8 -90Q8 -68 13 -63Q13 -56 53 -8T120 63L128 71L129 85Q133 120 134 182Q134 308 131 331T106 365Q100 367 97 369L75 381L35 365L20 377Q20 378 47 397T110 440T161 471L253 413V396Q253 378 254 378L309 422Q364 466 365 466Q365 467 366 466T370 461T376 454Q403 419 426 396L441 380L438 377Q438 376 433 372T420 359T404 344L372 314Q351 320 338 327T310 344T277 364Q261 364 252 316Q251 306 251 235Q251 136 255 129Q257 127 258 124T268 113T298 92Q334 68 335 68Q340 70 349 73T377 84T408 95T421 99Q422 99 422 90L423 82L334 26Q246 -28 243 -28L200 8Q156 43 148 43Q144 43 130 36T99 9T83 -36Q83 -67 121 -89T198 -118L237 -124V-129L238 -133L193 -160Q183 -166 171 -173T152 -184L146 -188Q140 -187 131 -185T98 -173T56 -154T23 -127T8 -90'], - - // LATIN SMALL LETTER Y - 0x79: [557,221,589,60,512,'280 53Q272 47 246 27T199 -10T176 -27L167 -18Q137 17 107 44L90 60L93 71Q108 130 109 290V331Q109 339 109 344T108 353T107 359T105 364T102 369T97 374T91 381Q60 412 60 432Q60 448 86 479T138 534L164 557Q168 553 180 553Q163 532 163 511Q165 491 186 468Q206 443 231 423V404L232 385L371 477L389 468Q439 441 498 418L512 412V386Q512 360 507 190T500 14Q488 -26 445 -67Q401 -111 355 -148T282 -203T249 -221Q247 -220 230 -210T213 -199T229 -191T269 -172T306 -151Q361 -120 379 14Q391 92 391 182Q391 218 386 305Q384 339 380 341Q363 353 330 366T288 379Q282 379 258 368L230 356V181V141Q230 127 232 120T236 108T251 89T275 59L280 53'], - - // LATIN SMALL LETTER Z - 0x7A: [471,214,461,-7,378,'153 371Q141 371 126 365T100 354T78 340L65 331L57 338L50 346L62 356Q133 419 222 471Q274 453 306 422T338 366Q338 356 329 346T283 301L243 264L262 257Q298 246 361 214Q378 154 378 73Q378 33 371 -9T356 -74T345 -104Q340 -106 267 -160L191 -214H177Q60 -214 13 -150Q-7 -122 -7 -115Q-7 -112 19 -77T106 25T241 149Q241 152 227 158T181 173T109 185V190L108 194L158 229Q212 267 223 278T234 306Q234 329 208 350T153 371ZM258 1Q258 42 257 68T254 105T252 118Q235 105 210 85T144 22T102 -45Q102 -79 146 -106T234 -133H238Q248 -128 254 -80Q258 -58 258 1'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js deleted file mode 100644 index 9fbcf234..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'] = { - directory: 'Fraktur/Bold', - family: 'MathJax_Fraktur', - id: 'MJFRAKB', - weight: 'bold', - Ranges: [ - [0x0,0x7F,"BasicLatin"], - [0x80,0xDFFF,"Other"], - [0xE300,0xE310,"PUA"] - ] - - -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js deleted file mode 100644 index e05afc3e..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/Other.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'], - { - // LEFT SINGLE QUOTATION MARK - 0x2018: [708,-411,254,53,187,'187 456Q187 437 169 424T138 411Q114 411 84 454T53 538Q53 565 75 597Q109 648 155 697L166 708L181 694L173 681Q124 610 124 577Q124 549 155 511T187 456'], - - // RIGHT SINGLE QUOTATION MARK - 0x2019: [692,-394,254,58,193,'125 524Q125 545 92 588T58 651Q58 661 61 667Q65 674 80 683T107 692Q131 692 162 645T193 564Q193 540 176 509T144 460T87 394L78 400L68 406L79 421Q125 489 125 524'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js deleted file mode 100644 index 08d395ff..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js +++ /dev/null @@ -1,47 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/PUA.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'], - { - // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED - 0xE301: [630,27,587,64,512,'388 427Q320 485 242 524T128 563H116Q95 563 87 561L77 559Q72 563 69 566T65 570T65 572L75 576Q106 592 154 611T212 630Q230 630 262 622T358 581T492 498L508 486Q512 463 512 396Q512 246 469 112L465 102Q453 94 341 25Q252 -27 247 -27Q243 -27 174 24T97 84Q90 100 90 214Q90 285 98 345Q100 360 102 363T118 377Q175 422 262 465Q264 463 270 460L277 456Q277 455 267 447T244 428T228 414Q206 382 206 269Q206 187 214 164T259 110Q286 89 342 58Q391 131 391 313Q391 355 388 412V427'], - - // stix-capital Delta, Greek slashed - 0xE302: [693,212,394,37,408,'39 362L37 366L38 368L82 405H133V474Q135 563 143 589T198 658Q210 669 224 676T247 687L255 690H253Q241 690 253 692Q254 692 256 692T260 693Q263 693 262 691L261 690Q300 690 361 662L373 656L388 666Q404 675 405 675L406 674Q406 672 406 670T406 664L408 655L301 555Q300 555 287 564T254 584T221 597Q190 597 176 583T161 550Q161 525 184 495T232 440T261 405H387V399Q377 389 364 379L340 359H258V315Q258 52 228 -18L172 -120L121 -211H109Q102 -212 96 -212L109 -174Q131 -108 135 -80T139 53V76V157V362H39'], - - // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED - 0xE303: [681,219,387,36,384,'41 352Q40 354 39 355T37 358L36 360H37Q48 370 61 380L84 400H108Q131 400 131 402Q121 424 104 501L100 519Q109 560 134 602T196 664Q230 681 271 681Q291 681 316 669T358 644L373 631Q373 630 304 553Q299 548 294 547Q292 547 290 546H287Q286 546 274 562T243 593T205 609Q180 609 165 596T150 562Q150 526 191 488L217 462Q248 431 253 405V400H381L384 394L349 352H251V332Q249 271 231 17L227 -37L120 -217L109 -218Q103 -219 97 -219Q97 -218 101 -206T110 -177T118 -151Q126 -129 128 -120T136 -46T141 127Q141 250 136 340V352H41'], - - // stix-capital Epsilon, Greek slashed - 0xE304: [474,212,593,67,531,'107 370Q127 384 172 409T255 454T294 473L306 468Q356 446 425 431L435 429L524 468Q528 465 531 461Q499 395 499 271V263Q499 146 509 71T519 -8Q519 -28 512 -45Q510 -50 435 -123T355 -197Q296 -212 257 -212Q209 -212 164 -196T98 -167T67 -143L133 -44H144Q167 -88 216 -111T320 -134Q371 -134 390 -118T410 -69Q410 -52 404 -12T392 60T385 92L193 -29L158 5Q124 39 110 51L96 63V71Q94 79 94 121Q94 130 94 148T93 174Q93 230 96 275T103 344T107 370ZM221 397Q200 334 200 254Q200 170 210 140Q216 126 234 109T268 81L283 71L383 119V127Q384 132 384 241L385 347L368 349Q325 357 290 369T240 389T221 397'], - - // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED - 0xE305: [684,27,393,33,387,'103 453Q103 631 95 661Q95 663 102 667T110 672L114 664Q117 655 123 641T131 621L140 597L154 606Q208 641 275 673L297 684Q300 683 302 682T307 679T310 678L314 676Q283 658 256 625Q238 601 231 579T223 515L224 512L282 548Q339 583 341 583T365 548T386 509Q326 443 318 443L316 446Q314 448 311 452T304 460T294 470T283 480T272 488T260 494T248 497Q231 497 223 474Q220 468 218 440T215 407V401H345L309 360H218V314Q218 181 221 139V129L253 108Q306 73 310 73Q315 73 343 83L373 92L374 87Q375 82 375 79T375 74T360 65T308 36T229 -13L208 -27L192 -13Q149 24 90 61Q89 61 89 62L90 68Q91 73 93 87T97 125T100 191T103 291V360H33V366L34 371L85 405H94L103 404V453'], - - // stix-capital Eta, Greek slashed - 0xE308: [679,220,981,31,875,'602 575Q505 508 505 489Q505 488 505 482T506 463T507 432Q507 314 456 237L449 226L434 216Q420 208 325 143L316 137Q453 82 488 82Q527 82 585 127L596 136Q597 136 599 126L602 115Q578 85 511 27T428 -31Q400 -31 308 10T170 51Q143 51 123 43T92 24T54 -15L34 6L41 14Q65 41 170 129L188 144L204 145Q254 147 293 164T350 208Q378 249 378 344Q378 422 362 478T320 563T268 605T213 618Q177 618 156 600T134 561Q134 539 162 508T217 446T245 394Q245 368 213 337T85 250L62 262Q73 269 86 279T116 308T133 338T108 378T57 439T32 499Q32 556 117 617T291 679Q350 679 393 658Q415 647 433 631T462 600T480 572T490 550T494 541T499 544T516 556T547 578T603 613T689 662L720 679L730 670Q742 659 756 649T785 629T810 615T836 601T855 590Q855 587 860 536T870 419T875 312Q875 114 800 -25Q794 -35 781 -47Q584 -220 398 -220Q322 -220 278 -190Q253 -173 239 -155L244 -150Q248 -145 255 -138T271 -120T290 -100T310 -80T328 -63T341 -51T349 -46Q350 -46 351 -46T354 -47Q357 -47 357 -52Q359 -68 364 -83T383 -118T424 -151T491 -166Q559 -166 613 -129Q629 -118 641 -108T674 -68T710 1T735 107T746 260Q746 433 727 507Q727 512 685 535T615 570L602 575'], - - // stix-MATHEMATICAL BOLD CAPITAL ETA SLASHED - 0xE309: [717,137,727,17,633,'351 571Q317 571 247 563T171 555Q153 555 133 563T107 584Q94 605 98 609Q101 615 138 658T190 717H207Q204 710 204 699Q204 673 231 666Q235 665 264 665Q296 665 345 667T426 669Q474 669 501 660T545 626Q553 612 553 594Q553 531 498 474T379 384Q371 379 371 378Q371 376 390 376H411H434Q520 376 602 318Q621 303 627 288T633 234Q633 59 540 -34Q465 -109 348 -130Q308 -137 235 -137Q159 -136 143 -129Q132 -125 132 -118V-53Q118 -24 90 -24Q69 -24 37 -39L27 -44L25 -42Q23 -39 21 -35T17 -30Q17 -28 40 -14T103 19T177 44Q183 45 205 45Q219 45 227 44T245 37T259 20T264 -12Q264 -33 262 -48T259 -80Q259 -93 260 -95Q271 -110 305 -110Q343 -110 383 -86T443 -33Q491 34 491 154Q491 223 467 249Q428 288 334 288H322Q288 288 237 276L222 273L206 286L262 367Q279 369 303 377T358 403T410 452T431 524Q431 531 431 533T427 545T416 558T392 566T351 571'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/PUA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js deleted file mode 100644 index ad246da8..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js +++ /dev/null @@ -1,272 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/BasicLatin.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'], - { - // SPACE - 0x20: [0,0,250,0,0,''], - - // EXCLAMATION MARK - 0x21: [689,12,296,91,204,'102 582T102 620T112 673T152 689Q190 689 190 638Q190 605 167 373L148 187L133 184Q102 582 102 620ZM91 24T91 48T107 88T148 104Q171 104 187 87T204 48Q204 22 188 5T149 -12Q124 -12 108 6'], - - // QUOTATION MARK - 0x22: [695,-432,215,8,196,'33 436Q8 603 8 648Q8 663 9 671T19 687T43 695Q63 695 74 681Q76 678 76 650V623L66 532Q57 443 55 436V432H33V436ZM128 666Q128 691 162 691T196 668Q196 634 186 531Q176 441 176 432H166Q155 432 155 434L142 545Q135 603 130 647Q128 664 128 666'], - - // AMPERSAND - 0x26: [698,11,738,49,733,'181 520Q181 604 231 650T328 697L330 698Q333 698 335 698Q336 698 340 698T346 697Q390 697 418 670T446 604Q446 554 414 511Q384 467 300 417L283 406Q281 405 296 374T347 286T425 182Q466 135 469 135Q470 135 473 140T480 152T486 165Q509 210 509 263Q509 282 507 292Q498 317 488 332T465 352T443 359T418 361Q388 361 357 358L346 356L347 374Q347 394 348 396V399H355Q366 396 535 396Q663 396 689 398L703 399Q703 398 702 375T700 351L688 353Q655 356 601 357Q553 357 553 355Q562 332 562 294Q562 280 561 267T555 241T548 218T539 195T529 175T518 156T508 141T497 126L489 115L496 107Q549 54 596 54Q623 54 644 67T677 101T697 140T708 174L710 187Q710 188 710 188L711 190Q714 190 723 187T733 183Q733 179 732 172T726 145T714 107T694 66T665 27T623 0T569 -11Q500 -11 443 41L434 49L425 42Q348 -9 275 -9Q251 -9 233 -6Q187 -1 152 18T98 60T67 111T52 159T49 195Q49 231 60 261T96 315T141 354T197 390L208 397Q181 459 181 520ZM374 577Q374 607 356 629T311 651Q289 651 271 636Q242 614 242 559Q242 533 249 502T262 453T270 435T279 440T298 453T314 464Q374 503 374 577ZM127 217Q127 145 173 89T291 32Q318 32 347 42T393 63T409 75Q384 100 325 184T227 351Q223 366 220 366Q215 366 178 338Q127 298 127 217'], - - // APOSTROPHE - 0x27: [695,-436,212,69,134,'69 666Q69 680 79 687T104 695Q112 695 117 694T128 684T134 659L104 438Q104 436 96 436T88 438Q88 447 79 540T69 655V666'], - - // LEFT PARENTHESIS - 0x28: [737,186,389,114,293,'293 737V719Q291 718 285 714T276 708T268 702T258 695T250 686T241 674Q164 570 164 282Q164 -37 230 -119Q273 -171 292 -171Q293 -171 293 -179V-186H289Q270 -180 259 -175Q175 -132 145 -23T114 275Q114 491 157 598T293 737'], - - // RIGHT PARENTHESIS - 0x29: [735,187,389,89,276,'223 259Q223 386 212 474T178 609T136 677T89 714V735Q121 726 139 713Q276 622 276 273Q276 98 246 -23Q225 -106 189 -139T89 -187V-170L101 -165Q148 -146 172 -110T210 13T223 259'], - - // ASTERISK - 0x2A: [692,-449,278,34,234,'118 573Q118 575 76 602L34 629L50 647L55 652L66 642Q76 633 91 620T117 598L128 590Q128 663 125 687V692H151V689V687Q151 685 151 683T150 678T150 672Q145 628 144 605V592L219 652L232 634Q232 632 220 624Q195 610 155 582L146 575L158 567Q178 552 197 540T225 523T233 516Q233 515 226 506T217 495L152 549L143 555V530Q144 509 145 492T148 466T149 454Q149 449 142 449H125V462Q128 522 128 549V562L115 552Q88 531 59 506L45 495Q44 495 39 505T34 516L118 573'], - - // PLUS SIGN - 0x2B: [598,82,756,47,709,'357 584L399 598V282H709L702 263L696 243H399V-64L379 -73L358 -82Q357 -82 357 81V243H47L51 253Q52 256 54 263T58 272L62 282H357V584'], - - // COMMA - 0x2C: [107,191,278,99,213,'99 62Q99 82 114 94T144 107Q159 107 178 77T205 26Q213 5 213 -23Q213 -49 207 -65T181 -113Q128 -189 122 -191Q121 -191 116 -184T111 -174Q111 -173 122 -155T145 -111T156 -62Q156 -44 152 -34T127 4L104 37Q99 49 99 62'], - - // HYPHEN-MINUS - 0x2D: [275,-236,756,46,706,'46 236L62 274Q62 275 384 275H706L699 255L693 236H46'], - - // FULL STOP - 0x2E: [102,15,278,87,200,'87 43Q87 69 104 85T142 102Q164 102 182 86T200 44Q200 20 183 3T141 -15Q118 -15 103 2T87 43'], - - // SOLIDUS - 0x2F: [721,182,502,34,466,'230 270Q426 721 428 721Q437 719 447 717L466 713L448 672Q78 -180 77 -181Q77 -182 55 -182L34 -181L230 270'], - - // DIGIT ZERO - 0x30: [492,13,502,42,456,'212 -13Q184 -13 156 -2T101 32T59 97T42 195Q42 311 132 396Q170 433 211 462T262 492Q272 492 301 477T366 434T429 360T456 258Q456 161 378 74T212 -13ZM381 209Q381 257 365 295T328 355T282 390T243 408T223 413Q220 413 204 403T167 376T137 341Q119 305 119 250Q119 168 159 114T263 59Q308 59 344 93T381 209'], - - // DIGIT ONE - 0x31: [468,2,502,47,460,'123 459Q145 459 170 460T217 462T256 464T284 466L295 467Q296 467 296 467T297 468Q299 468 302 466T307 462L309 459Q307 454 304 424T299 341T297 235Q297 139 298 101T302 55T313 44Q316 43 367 43L460 46Q460 35 459 22V-1H450Q402 2 281 6Q222 6 171 4T91 1T56 -1L47 -2V43H121H170Q195 43 201 45T209 56Q212 69 212 214Q212 333 209 365T194 409Q183 417 161 423T121 430L104 432Q103 432 103 446V459H123'], - - // DIGIT TWO - 0x32: [474,-1,502,60,484,'104 384Q115 394 133 409T199 449T281 474Q321 474 351 447T385 378Q385 328 333 255T228 127T176 72Q176 67 183 65Q184 65 203 65T260 67T331 69L475 73L484 67Q484 64 472 33L460 1H60V17L107 61Q210 159 249 208Q309 283 309 331Q309 363 285 389T228 415Q212 415 184 403T134 379L114 367L104 384'], - - // DIGIT THREE - 0x33: [473,182,502,39,429,'305 328Q305 372 279 396T214 421H211Q172 421 128 384L107 398L116 405Q151 437 191 455T251 473H260Q314 473 341 455T382 394Q384 386 384 367T382 338Q362 263 271 217L256 210L257 206L259 202Q260 202 272 201T296 198T324 192T355 179T384 157T410 123T427 75Q429 64 429 41Q429 -59 353 -120T183 -182L88 -164Q81 -162 69 -157T48 -147T39 -141Q39 -139 46 -127L53 -114L69 -122Q129 -149 171 -149Q218 -149 253 -131T305 -83T330 -26T338 29Q338 41 336 55T328 89T308 127T273 153Q228 171 162 171Q158 171 152 171T142 170H127V204H134Q232 214 275 257Q305 292 305 328'], - - // DIGIT FOUR - 0x34: [476,191,502,10,481,'299 -179Q306 -156 306 -48V0H11V7Q10 10 10 18Q10 23 154 236L298 449Q298 450 339 463L379 476Q385 473 384 470V466Q384 463 384 457T384 444T383 427T383 408Q381 328 381 248Q381 46 384 40H387Q422 40 460 44Q465 44 470 44T478 44L481 45Q481 43 478 24T473 1Q473 -1 464 -1Q462 -1 451 -1T430 0H387V-76L389 -156V-161L311 -191Q299 -181 299 -179ZM299 364H287L277 352Q234 297 186 224T112 104T79 43Q79 42 192 42H306V115Q306 300 299 359V364'], - - // DIGIT FIVE - 0x35: [458,185,502,47,441,'334 25Q334 99 296 134T207 169Q154 169 107 123L98 114L89 120L80 125V458H420Q420 456 409 418L397 379Q397 378 264 378H131Q130 377 128 376T125 374T124 371T122 368T122 363T121 356T121 345V279V190L130 186L140 190Q196 214 260 214Q311 214 348 197T404 153T431 99T440 42T433 -16T406 -76T356 -130T276 -169T163 -184H156Q110 -184 57 -163L47 -159L53 -147L58 -134Q61 -134 74 -139T110 -148T156 -153Q206 -153 243 -135T299 -87T326 -30T334 25'], - - // DIGIT SIX - 0x36: [700,13,502,45,471,'45 240Q45 328 73 406T143 536T235 626T327 681T399 699Q400 699 404 699T411 700Q424 700 441 696T459 689Q459 671 451 637Q451 633 447 632L444 629L434 633Q413 640 384 640H377Q299 640 222 565Q182 531 156 463T129 315V306H136L149 315Q229 376 316 376H318Q393 376 432 326T471 213Q471 129 402 58T237 -13T93 59T45 240ZM391 172Q391 231 354 272T258 314Q230 314 200 302T154 279T133 262L134 249Q154 32 266 32Q315 32 353 64T391 172'], - - // DIGIT SEVEN - 0x37: [468,181,502,37,498,'395 377L391 382H225Q59 382 59 383L74 423Q89 464 89 465Q90 468 94 468Q146 460 350 458H498V442L473 406Q241 75 125 -156L113 -181H40L37 -168L57 -140Q115 -58 199 70T339 287T395 377'], - - // DIGIT EIGHT - 0x38: [705,10,502,40,461,'220 -10Q168 -10 131 6T75 50T48 103T40 157Q40 223 77 266Q103 295 156 328T225 375Q247 393 247 394L206 361Q205 361 193 368T164 391T131 426T102 474T90 531Q90 580 114 615Q146 660 238 698L254 705L262 704Q288 704 332 693T402 656Q434 620 434 568Q434 518 401 475T321 402L305 391L336 368Q339 366 353 356T372 343T389 330T406 316T420 301T434 283T445 265T454 244T458 222T461 195Q461 106 389 48T220 -10ZM350 545Q350 578 337 601T304 634T266 649T234 653L224 654L204 639Q196 634 191 629T182 621T176 614T173 609T170 603T168 597Q165 585 165 567Q165 497 261 424L273 415Q350 467 350 545ZM261 405L263 407Q262 407 261 405ZM258 403Q257 403 255 401L254 399L256 400Q258 402 258 403ZM252 398Q251 398 249 396L248 394L250 395Q252 397 252 398ZM245 36Q276 36 300 45T338 69T360 102T371 136T374 168Q374 211 341 255Q324 275 305 289T235 332Q231 330 215 321T193 307T173 292T153 271T138 247T127 216T123 177Q123 146 132 117T170 62T245 36'], - - // DIGIT NINE - 0x39: [469,182,502,28,466,'353 93T352 93T320 79T251 49T201 34Q127 37 87 79Q28 138 28 234Q28 273 37 304T60 355T101 396T152 429T218 462L234 469H243Q348 461 395 417Q466 348 466 201Q466 72 397 -29T211 -163Q155 -179 91 -182H72V-154H80Q144 -154 202 -131T297 -60Q318 -31 333 7T352 68L357 92Q353 93 352 93ZM369 208Q369 240 362 272T339 339T290 394T214 415Q171 415 144 372T116 266Q116 193 154 144T238 95H249Q369 95 369 208'], - - // COLON - 0x3A: [457,12,216,50,168,'50 377T50 400T64 440T99 457Q128 457 146 440T165 399Q165 375 146 359T102 342T64 359ZM53 19T53 43T66 86T103 105Q129 105 148 87T168 41Q168 17 147 3T102 -12Q80 -12 67 3'], - - // SEMICOLON - 0x3B: [458,189,216,47,179,'47 399Q47 424 62 441T101 458T143 442T162 400T144 359T101 343Q78 343 63 360T47 399ZM76 86Q76 88 80 91T91 96T106 99Q119 99 131 86Q179 35 179 -25Q179 -64 146 -115T89 -189Q86 -187 83 -185T79 -182T76 -180T75 -177T77 -173T80 -168Q121 -108 121 -64Q121 -44 94 -5T66 52Q66 66 71 75T76 86'], - - // EQUALS SIGN - 0x3D: [368,-132,756,54,725,'725 366Q724 365 721 349T716 331V329H385Q54 329 54 331Q55 332 59 349T63 368H394Q725 368 725 366ZM725 169Q724 168 721 152T716 134V132H385Q54 132 54 134Q55 135 59 152T63 171H394Q725 171 725 169'], - - // QUESTION MARK - 0x3F: [693,11,362,46,357,'46 557Q46 613 103 653T227 693Q287 693 322 659T357 564Q357 517 326 469T259 390T191 326T160 272Q160 240 187 221Q193 217 193 216Q182 209 170 200L147 184Q127 192 113 209T98 250Q98 290 193 376Q287 454 287 542Q287 581 262 616T188 652Q143 652 126 631T108 588Q108 559 140 527L79 490Q46 515 46 557ZM108 47Q108 68 123 85T160 103Q179 103 198 90T217 46Q215 24 201 7T164 -11Q142 -11 125 6T108 47'], - - // LATIN CAPITAL LETTER A - 0x41: [696,26,718,22,707,'22 505Q22 563 94 624T271 685H280Q416 685 443 560Q447 535 447 504Q444 414 405 330L399 319L229 155Q233 154 241 153T253 150T265 145T281 135T301 119T328 93L357 64L402 92Q438 116 473 137L500 154V339Q500 528 495 593V601L559 649Q621 696 624 696L638 686L629 677Q599 650 593 638Q582 614 581 504Q580 490 580 443Q580 314 584 238Q584 235 584 224T584 210T585 199T586 187T588 176T591 164T595 152T601 137T609 121Q630 77 640 77Q661 77 703 101Q704 95 706 90L707 86V84L636 29Q618 15 601 2T574 -19T564 -25L500 121Q499 121 399 48L299 -26Q298 -26 291 -15T272 11T245 42T209 69T165 80Q120 80 58 43L48 37L40 42L32 48L122 117Q196 173 241 211Q319 280 343 327T368 447Q368 535 317 582Q264 633 199 633Q155 633 122 605T86 542Q86 518 133 467T181 387Q181 348 140 309Q113 281 73 260L64 255L50 265L59 273Q112 307 112 345Q112 363 90 387T45 441T22 505'], - - // LATIN CAPITAL LETTER B - 0x42: [691,27,884,48,820,'48 506Q48 568 120 629T268 691Q362 691 425 594L431 585L441 594Q478 628 528 657T629 686Q665 686 687 670Q703 658 718 584T753 506Q756 505 763 505Q778 505 804 512L815 516L820 496Q820 494 808 490T774 476T732 454Q720 445 708 437L675 415L640 394L625 383Q626 382 635 382Q652 382 670 379T712 364T754 336T784 289T797 220Q797 172 776 122Q769 106 766 102T745 84Q654 11 619 -8T538 -27Q483 -27 387 10T249 47Q218 47 186 34T133 8T112 -5T104 7T97 21L196 82Q259 120 284 140Q333 181 351 214Q368 251 368 353Q368 588 228 620Q222 621 205 621Q160 621 139 596Q117 569 117 548Q117 526 162 470T208 387Q208 352 179 320T104 264Q88 256 86 256Q83 256 70 266L82 274Q134 309 134 343Q134 352 130 359Q118 377 100 401T72 439T56 470T48 506ZM453 528Q457 496 457 419L458 357L488 367Q554 390 622 425Q673 449 673 453L671 454Q669 456 665 460T657 473T648 498T639 541Q629 597 616 613Q599 633 567 633Q534 633 493 599Q471 577 457 540L453 528ZM713 176Q713 252 661 295T528 339Q512 339 494 336T466 330T455 325Q454 325 452 311T444 270T425 217L420 207L304 118L319 116Q381 111 475 74T602 37Q655 37 684 79T713 176'], - - // LATIN CAPITAL LETTER C - 0x43: [685,24,613,59,607,'299 585Q333 609 384 634T470 672L505 685Q506 685 513 662T531 613T548 580Q553 576 563 576Q575 576 605 585Q607 585 607 575V564Q537 532 496 527Q475 542 456 567T427 610T415 627Q410 627 398 618T382 603Q373 588 373 558T386 475T400 399Q400 337 366 303Q343 281 309 266T254 247T226 242L214 257Q214 258 223 260T251 272T287 299Q304 316 304 360Q304 396 289 451T274 532Q274 553 277 561V564H269Q205 558 172 501T139 358Q139 207 226 127T443 46Q448 46 457 46T470 47L485 48L601 106Q602 106 602 93V80Q551 48 517 25T474 -4T460 -13T443 -19Q409 -24 367 -24Q360 -24 351 -24T335 -23T326 -22Q190 -2 125 87T59 319V328Q62 412 96 487L101 500L118 512Q189 563 245 591L266 601L299 585'], - - // LATIN CAPITAL LETTER D - 0x44: [685,27,832,27,745,'346 611Q300 611 261 604T194 584T144 555T107 519T82 481T65 443T55 410T50 383T48 367L37 372L27 378V393Q33 524 115 603Q160 648 230 666T365 685Q423 685 434 684Q745 653 745 405Q745 281 694 151L687 133L657 103Q524 -27 470 -27Q456 -27 331 18T157 64Q122 64 84 28Q67 9 57 -6L50 -16L43 -8L35 0Q35 3 46 22T83 74T141 133H154Q208 136 253 161T299 230Q299 259 277 290T232 348T209 392Q209 434 254 479T358 556L368 561L382 550Q382 549 381 548T377 545T371 541Q353 527 326 496T298 444Q298 430 343 365T389 277Q389 240 353 202T267 136L252 127Q304 118 400 83T513 47Q548 47 582 79T635 145Q671 208 671 323Q671 390 651 441T599 524T523 576T436 603T346 611'], - - // LATIN CAPITAL LETTER E - 0x45: [685,24,663,86,634,'301 564Q240 564 203 507T165 361Q165 280 190 218T260 119T358 64T474 46Q491 46 499 47L511 48L628 106V80L499 -5Q498 -6 497 -7T494 -10T490 -12T485 -15T478 -17T468 -19T456 -21T439 -22T418 -23T392 -24Q252 -20 169 67T86 315Q86 409 124 491Q128 500 139 508Q211 560 272 591L293 601L325 585L338 594Q374 617 422 639T502 674L532 685Q533 685 540 663T557 614T574 581Q580 575 591 575Q600 575 616 580T634 585V564L623 559Q572 535 532 529L522 527Q491 547 442 627Q442 628 440 627T435 624T428 620Q410 610 405 597T399 559V553Q399 534 409 487Q419 431 427 369L476 400Q526 431 526 432Q531 426 537 420Q565 382 602 359Q611 353 610 352Q609 351 575 332T537 312Q536 312 505 335T463 358Q451 358 439 352T425 337Q394 243 263 223L251 221L243 229L235 236L245 239Q274 247 303 266Q320 277 325 290T330 336Q330 394 315 451T300 531Q300 549 303 561Q303 564 301 564'], - - // LATIN CAPITAL LETTER F - 0x46: [686,153,611,11,612,'198 617Q177 617 159 609T128 587T106 557T91 524T82 494T76 472L75 463Q74 463 67 468T59 474Q59 488 63 510T80 564T114 622T170 667T253 686Q272 686 295 680Q330 672 384 645T468 598Q498 580 524 580Q549 580 595 626L612 643V616L599 599Q522 500 482 500Q466 500 435 514L420 521Q388 516 349 486T309 415Q309 396 323 366T352 315T367 294Q367 293 375 301T398 322T429 352L490 410Q537 355 542 332Q542 330 531 315T510 286L499 273Q479 313 449 313Q437 313 419 303T390 282L378 271L394 250Q444 183 470 129Q484 96 484 71Q484 -19 402 -86T223 -153H220Q175 -153 137 -120Q103 -89 103 -8Q103 12 106 40T109 96Q109 132 103 146T72 161Q46 161 16 143L14 154L11 165Q88 219 143 219Q163 219 177 197T192 127Q192 102 186 65T179 4Q179 -60 210 -88T272 -117Q319 -117 362 -75T405 33Q405 72 363 139T278 271T235 368Q235 385 243 404T264 439T292 472T324 500T353 522T374 538L382 543Q382 544 351 562T274 598T198 617'], - - // LATIN CAPITAL LETTER G - 0x47: [690,26,785,66,710,'373 560Q373 543 378 509T388 448T394 421Q396 421 416 433T474 474T548 537L538 543Q481 570 452 628L487 659Q521 690 522 690L526 684Q529 677 535 667T551 646T575 625T607 608Q617 606 621 606Q644 606 660 622L664 600L497 455Q495 453 527 453H546Q628 453 665 407L666 406Q710 357 710 297Q710 196 631 109L621 98L577 69Q471 -7 452 -15Q413 -26 370 -26Q239 -26 155 59Q66 148 66 319Q66 442 113 505L191 552Q269 600 270 600H271Q273 600 280 596T293 589T299 586Q300 586 357 623Q413 659 415 659L426 649Q373 604 373 560ZM219 228Q305 262 305 329V343Q305 384 294 434T282 519Q282 562 287 567Q287 569 286 569Q222 556 191 520Q144 464 144 362Q144 213 228 128T420 42Q514 42 568 103T622 255V260Q622 320 578 357Q526 400 453 400Q434 400 410 396L399 394L400 378V372Q400 330 388 301T348 254T305 232T252 217Q245 215 242 214L234 213L226 220L219 228'], - - // LATIN CAPITAL LETTER H - 0x48: [666,133,720,1,644,'11 -16L1 0Q7 6 25 27T57 62T91 88T128 101Q159 99 195 66L203 59L211 67Q239 95 239 133Q239 158 210 213T152 330T123 430Q123 477 173 536T269 630T320 666Q376 610 440 606H443Q457 606 466 611T519 647L542 664Q543 664 543 654V643L522 622Q434 537 403 537Q388 537 366 543T329 555T293 570T270 580L261 585L253 574Q206 517 206 475Q206 452 218 416T242 356L255 331Q256 331 270 345T324 391T421 459L437 468H453Q545 463 608 421L618 415L623 392Q644 307 644 233Q644 97 612 9Q604 -10 601 -15T581 -35Q505 -104 467 -124Q446 -133 431 -133Q414 -132 399 -126T376 -115T368 -107Q368 -106 392 -75L415 -43Q432 -67 444 -73T472 -79H474Q479 -79 484 -78T501 -69T521 -50T538 -13T551 46Q558 97 558 180Q558 232 557 245Q553 277 547 300T528 349T488 389T424 404Q344 404 276 295Q272 288 273 285Q300 216 300 168Q300 161 300 156T298 145T297 137T293 129T289 123T283 116T277 107Q212 23 178 -13L166 -26L149 -9Q108 32 81 32Q63 32 21 -7L11 -16'], - - // LATIN CAPITAL LETTER I - 0x49: [686,26,554,30,532,'190 601Q161 601 137 587T97 553T71 512T55 477T48 463Q44 465 39 468L30 473L35 488Q73 594 106 636T199 685Q200 686 211 686Q250 686 326 652T417 617Q435 617 455 626T497 652T522 670Q532 660 532 654Q469 591 390 550L378 543L343 556Q223 601 190 601ZM378 208Q378 249 369 318T360 424Q360 430 360 439T361 451L362 462Q416 526 482 571L495 580L503 577L511 575L499 562Q442 502 442 465Q442 436 452 368T462 246Q462 169 442 128T385 56Q292 -26 195 -26Q150 -26 104 14L96 21L43 -16Q43 -15 43 -14T41 -10T38 0L48 13Q76 50 123 97L150 125Q154 131 159 131Q166 131 171 116T182 81T193 53Q199 43 216 33T261 22Q307 22 344 68Q378 113 378 208'], - - // LATIN CAPITAL LETTER J - 0x4A: [686,139,552,-10,522,'194 601Q175 601 155 590T121 564T95 533T76 506L69 495Q55 503 55 507Q55 509 60 521Q87 586 132 636T222 686Q251 686 289 660T363 607T422 580Q442 580 466 588T506 604L522 612V591L487 574Q371 517 359 517H357Q332 522 280 561T194 601ZM383 39Q383 96 356 203T329 361Q329 364 329 370T330 378L331 388L339 399Q362 429 394 462T446 513T469 531Q470 531 477 527T484 521L474 509Q411 434 411 379Q411 341 434 223T458 82Q458 1 390 -69T239 -139Q191 -139 162 -123T123 -83T108 -30T101 23T88 64T52 80Q27 80 -4 64L-10 80Q-5 85 13 98T63 128T118 144Q149 144 163 129T179 93T182 38T187 -19Q199 -96 278 -96Q294 -96 309 -91T343 -73T372 -31T383 39'], - - // LATIN CAPITAL LETTER K - 0x4B: [680,27,668,17,682,'154 37Q219 41 219 142Q219 203 190 302T160 434Q160 445 172 472T209 534T269 602T354 657T460 680H472Q576 680 618 617V599Q618 578 615 555T608 517T602 501Q596 495 587 495Q586 495 586 499Q586 500 586 505T585 513Q567 628 415 628Q384 628 356 621T302 596T260 546T244 466Q244 416 258 377L261 367L276 382Q294 401 317 422T386 471T468 500Q500 500 518 477T544 422T554 386Q555 382 560 376T576 364T601 357Q612 357 623 361Q623 360 621 351T617 340L541 305L465 272Q469 271 476 270T488 266T502 260L512 255L519 242Q533 211 546 157T564 93Q584 53 617 53Q649 53 682 74V54L675 46Q646 17 612 -5T554 -27Q546 -27 538 -23T517 -9T494 28T478 91Q465 172 448 200T378 228Q337 228 289 207L288 196Q288 160 284 138Q283 125 262 98Q185 1 112 -24L102 -27L91 -25Q47 -13 17 31Q17 33 49 69L80 106Q111 37 154 37ZM421 434Q411 436 405 436Q370 436 336 407T275 337L267 325L271 313Q288 257 288 234Q289 234 395 276T502 319Q501 320 499 323T493 330T485 345T475 371Q473 378 468 388T449 416T421 434'], - - // LATIN CAPITAL LETTER L - 0x4C: [686,26,666,33,644,'251 231Q251 254 206 341T160 468Q160 529 238 605Q313 677 425 685L432 686Q440 686 445 686Q520 686 545 657T571 576Q571 548 568 517T564 480Q564 466 572 460T608 452H623V431L619 430Q618 430 611 428T591 423T566 417L516 404Q497 415 491 419T480 433T475 461Q475 470 477 498T480 546Q480 561 480 569T474 592T459 615T429 631T379 638Q322 638 283 606T239 526Q237 480 280 394Q319 310 320 268V250Q308 235 244 169L203 128H210Q215 128 256 112T357 80T466 64Q526 64 564 88T625 186L629 196Q643 187 644 186Q618 70 604 41Q577 -15 513 -24Q496 -26 476 -26Q418 -26 344 -3T211 45T133 69Q115 69 97 50T65 7T49 -20L45 -16Q41 -11 37 -6T33 0Q33 8 66 69T111 134Q251 156 251 231'], - - // LATIN CAPITAL LETTER M - 0x4D: [692,27,1050,27,1048,'687 578Q690 586 719 612T794 665T877 692Q909 692 926 670T953 614T973 570Q983 561 1000 560Q1023 560 1048 569V553L1034 546Q1003 528 972 504T933 466Q905 403 905 264Q905 205 909 172T920 126T940 91Q951 74 959 74T997 87L1027 100V79L956 27Q940 15 922 2T894 -19L885 -26Q883 -26 854 27L825 80V192Q826 314 830 341Q831 345 833 356Q840 398 844 404Q871 444 920 489L917 491Q914 493 911 495T903 501T898 508Q893 516 877 562T852 616Q840 628 818 628Q751 628 702 541L697 532L700 515Q708 467 708 419Q706 348 690 276T662 169T643 126L634 116Q626 105 611 87T581 51L522 -22L514 -15Q470 21 452 21Q431 21 394 -16L384 5L386 9L426 60Q449 87 460 95T486 104Q487 104 491 104T497 103Q514 99 541 81L559 69Q595 96 606 169T618 350Q618 486 598 543T517 601Q484 601 458 570T432 523Q432 516 434 492T436 443Q436 250 369 133L363 122L280 50Q207 -16 192 -27L182 -18Q136 26 106 26Q83 26 62 9T37 -16L27 0L33 10Q41 22 54 39T94 81T143 106Q178 106 225 62L235 53Q283 82 307 117Q352 190 352 359Q352 408 345 451T320 534T267 597T183 621Q159 621 147 617T120 598Q97 574 96 556Q96 528 143 469T191 377T161 311T102 262T70 245Q69 245 59 252T49 260L56 264Q63 268 73 275T94 291T111 312T118 338Q118 355 95 384T50 446T27 506Q31 567 101 626T255 686Q297 686 330 671T382 632T409 595T421 572V571L430 580Q454 610 496 634T588 659H590Q655 659 683 585L687 578'], - - // LATIN CAPITAL LETTER N - 0x4E: [686,25,832,27,825,'112 334Q112 356 70 410T27 497Q27 553 94 619T229 685Q230 685 236 685T246 686Q303 686 349 654Q373 636 392 607T419 558L426 538L454 576Q474 604 486 618T520 651T569 678T633 686Q668 684 687 673T713 651T730 609Q730 608 732 600T736 588T741 578T747 568T754 561T765 555T779 553Q789 553 817 562Q819 557 819 555V547L790 526Q743 492 730 479T712 447Q697 369 697 281Q697 166 726 108Q741 76 755 68Q759 66 767 66Q789 66 825 93V82Q825 71 822 70Q821 69 763 27T701 -18L692 -25L668 15Q662 25 650 45T635 70L627 85V107Q627 122 626 162T624 285Q624 381 632 398Q638 409 651 425T675 454T696 477T707 489H696Q683 490 679 492T669 507T653 551Q642 588 627 608T584 628Q572 628 560 625T538 616T519 602T502 586T486 568T473 549T463 532T454 517T448 504L445 497Q437 480 437 474Q437 472 439 461T444 421T446 348Q446 205 405 124Q396 105 392 100T368 78Q312 32 278 9T235 -18T214 -22Q191 -22 170 -10T139 12T129 25T160 66T192 105Q193 102 194 98T200 83T213 64T233 49T261 42Q303 42 339 90Q373 134 373 268Q373 397 339 493T235 618Q215 628 191 628Q155 628 126 604T97 548Q97 524 120 493T168 431T192 381Q192 346 164 318T86 260L70 250L54 266L63 272Q112 300 112 334'], - - // LATIN CAPITAL LETTER O - 0x4F: [729,27,827,12,744,'428 596Q412 596 386 595T350 593Q289 593 270 625Q267 632 267 640Q267 656 280 672T312 705T336 729H343Q351 729 351 728Q342 710 342 703Q342 683 382 676T493 662T604 643Q648 627 677 599T720 535T739 466T744 392Q744 317 732 260T696 166T659 116T621 83Q617 80 615 78Q485 -27 377 -27Q320 -25 272 -9T187 21T122 36H116Q65 36 29 -13L27 -15L12 0Q12 1 32 26T76 78T109 109Q145 123 166 150T187 207Q187 244 134 318T80 412Q80 454 112 498T176 566T213 590Q216 590 224 585L234 580L225 573Q216 566 207 557T188 536T172 511T165 484Q165 448 213 368T261 259Q261 241 252 219T228 179T200 146T176 122L167 112Q170 111 174 111Q188 110 233 91T339 55T453 37Q508 37 556 68T626 152Q655 219 655 328Q655 543 532 582Q484 596 428 596'], - - // LATIN CAPITAL LETTER P - 0x50: [692,218,828,28,804,'112 339Q112 354 91 380T49 438T28 497Q28 565 95 628T242 692Q261 692 277 689T307 682T331 670T351 655T367 637T379 619T388 600T395 582T401 565T405 550Q409 554 422 570T453 603T500 641Q573 692 637 692Q656 692 670 686T692 672T705 647T713 618T718 584Q720 568 721 562T728 546T742 534T768 530Q776 531 782 532T791 535T796 536Q799 536 804 521Q801 519 789 513T764 499T738 480Q697 447 680 414Q677 407 677 396Q677 370 713 312T750 210Q750 125 686 57T560 -11Q540 -11 475 13L410 37V31Q410 -9 412 -50T417 -118T420 -150Q419 -150 373 -184T326 -218L305 -208Q305 -207 307 -196T314 -165T322 -116T328 -46T331 43V63L318 66Q270 80 250 80Q233 80 213 70Q183 57 138 -3L128 -16L118 5L125 20Q193 154 282 154Q309 154 331 146V287Q331 444 327 469Q321 522 301 560Q284 590 251 611T184 633Q146 633 119 607T92 550Q92 539 94 534Q100 516 143 460T186 386Q186 366 170 336T119 281Q102 264 70 250L49 260L56 266Q64 271 72 278T90 296T106 317T112 339ZM602 345Q602 357 608 371T622 397T642 421T661 441T678 456L686 462Q663 473 652 486T639 512T634 553Q631 594 624 608T593 631Q587 632 567 632Q539 632 497 600T416 497L410 484V122L467 103Q481 99 502 92T533 82T557 75T578 69T594 66T610 64Q647 64 672 87T697 144Q697 180 650 250T602 345'], - - // LATIN CAPITAL LETTER Q - 0x51: [729,69,827,11,782,'428 596Q412 596 386 595T350 593Q313 593 291 605T268 638Q268 644 269 648T274 658T284 669T301 689T326 718L336 729H343Q351 729 351 728Q342 710 342 703Q342 683 382 676T493 662T604 643Q744 592 744 398Q744 299 708 213T646 104L603 68L614 55Q670 -5 710 -5Q726 -5 744 1T772 14L781 20Q782 20 782 7V-6L771 -13Q673 -69 665 -69L647 -63Q552 -30 514 8H512Q509 8 500 3T471 -9T428 -23Q405 -27 377 -27Q305 -24 228 6T124 36Q69 36 27 -16Q23 -13 19 -8L11 0L27 20Q93 102 109 109Q145 123 166 150T187 207Q187 244 134 318T80 412Q80 454 112 498T176 566T213 590Q216 590 224 585L234 580L225 573Q216 566 207 557T188 536T172 511T165 484Q165 448 213 368T261 259Q261 241 252 219T228 179T200 146T176 122L167 112Q170 111 174 111Q188 110 233 91T339 55T453 37Q508 37 556 68T626 152Q655 219 655 328Q655 543 532 582Q484 596 428 596'], - - // LATIN CAPITAL LETTER R - 0x52: [686,26,828,27,824,'27 496Q31 569 102 627T234 685Q236 685 241 685T251 686Q287 686 318 672T367 638T399 598T418 564L423 550Q424 554 434 567T463 601T505 639T561 671T626 685Q672 685 688 659T710 572Q713 533 721 523T766 513Q781 513 787 514T794 516Q796 512 798 509T801 504T802 501T787 493Q702 461 624 401L607 389Q655 383 688 358L697 352V342Q699 330 699 297Q704 209 710 173T734 103Q751 69 765 69Q769 69 806 83L824 90V74Q823 73 759 24T693 -26Q692 -26 660 32L628 90L629 111Q631 159 631 177Q631 278 614 300Q584 340 523 340Q500 340 467 333T431 325Q429 325 429 322Q428 321 426 308T420 275T410 230T392 178T366 125L358 112L342 99Q306 70 269 38T213 -10T193 -26Q192 -26 163 0T116 26Q82 26 50 -8L42 -16L35 -8L27 0L35 10Q43 21 58 38T104 80T158 106Q179 106 218 65L235 48Q238 48 255 60T295 99T329 158Q352 231 352 359Q352 555 242 614Q210 628 187 628Q140 628 116 600T91 548Q91 522 138 464T185 382V376Q185 345 158 313T103 263L76 246Q74 244 64 253L54 260L65 267Q91 285 100 302Q111 318 111 337Q111 355 69 410T27 496ZM562 628Q504 628 443 507L435 491L436 479Q437 471 437 446Q437 396 432 351L529 389L602 426Q673 462 673 463H672Q644 470 637 483T622 553Q608 628 562 628'], - - // LATIN CAPITAL LETTER S - 0x53: [692,27,829,66,756,'750 276Q750 141 645 57T378 -27Q224 -27 146 67Q66 163 66 307Q66 361 80 412T127 515T217 609T356 676L388 684L420 692L442 681Q545 625 586 608T654 591Q688 591 710 609T737 646L742 665Q742 665 756 654L752 642Q736 594 706 566T621 515L607 510Q580 513 528 542T421 599T335 627Q272 627 214 569Q139 500 139 373Q139 308 159 247T217 136T316 56T455 26Q520 26 566 43T634 90T666 148T676 207Q676 264 649 297T580 338Q574 339 552 339Q516 339 442 325T327 310H324Q303 310 290 312T259 328T232 369Q230 375 230 390Q230 426 259 461Q286 488 338 507Q351 498 351 495L346 492Q342 490 339 488T330 482T320 473T312 462T305 447T303 428Q303 368 366 368Q393 368 487 388T613 409Q656 409 696 385T748 306Q750 294 750 276'], - - // LATIN CAPITAL LETTER T - 0x54: [701,27,669,34,676,'289 686Q338 686 439 668T565 649Q606 649 641 672Q656 683 664 690T674 700L675 701Q676 698 676 692V681L641 636Q608 591 602 588Q577 575 528 575Q490 575 438 583L426 585L416 578Q335 520 335 465Q335 437 393 366T452 259Q452 226 406 171Q387 146 351 115L341 106L358 97Q438 58 475 58Q525 58 598 124L608 133Q617 119 617 118Q617 114 606 103Q513 0 448 -27L438 -25Q401 -19 337 14T234 48Q186 48 122 -3L112 -11L106 -3L101 5L110 15Q160 63 209 105L224 117H310Q384 163 384 210Q384 238 329 303T263 398Q262 400 262 404Q262 427 290 476T368 580Q383 596 381 596Q315 622 228 622Q159 622 118 593T76 516Q76 482 96 461T139 431L107 399L75 367Q34 403 34 472Q34 525 64 572T148 652Q207 686 289 686'], - - // LATIN CAPITAL LETTER U - 0x55: [697,27,646,-25,665,'160 247Q160 291 110 382T59 505Q59 542 106 597T207 690L218 697L229 682Q229 680 216 669T187 644T158 604T144 552Q144 526 165 482T207 387T228 291Q228 277 228 267T224 247T219 232T210 217T199 202T184 184T166 163L118 107Q124 105 132 105T160 98T220 77Q298 47 317 47Q354 47 409 105Q444 142 451 161T458 244V277Q458 339 455 457T447 596L575 686L591 676L583 668Q550 632 541 587T532 449V372V298Q532 198 550 147Q572 79 605 79Q617 79 631 84T656 95L665 100V79L595 27Q578 15 560 2T532 -19L523 -26Q522 -26 490 42L458 111L397 50Q389 42 374 27T355 8T340 -5T325 -16T311 -22T294 -26T274 -27Q232 -25 152 6T35 37Q28 36 19 30T4 18T-8 4T-16 -5Q-25 10 -25 11T-20 18Q-5 34 15 57L54 101Q70 103 86 116Q94 121 113 140T137 166Q160 201 160 247'], - - // LATIN CAPITAL LETTER V - 0x56: [687,26,831,26,825,'54 266Q118 307 118 339Q118 360 74 413T27 493Q26 530 59 578T133 651Q187 686 256 686Q299 686 332 673T382 640T409 600T424 567T429 553Q431 553 463 586T542 653T624 686Q663 686 715 652T798 617Q812 617 825 622V606L815 599Q785 576 762 546Q724 495 724 432Q724 397 737 317T750 217Q750 148 711 96Q697 75 639 34T578 -10Q563 -21 555 -23T522 -26Q458 -26 363 29Q253 89 211 89Q192 89 173 83T139 67T114 49T96 34L90 27L80 43L95 59Q121 87 148 110T191 143T213 154Q261 154 300 195Q328 222 340 267T352 406Q352 562 255 611Q222 627 187 627H182Q143 627 115 598Q96 579 96 559Q96 528 144 470T192 381Q192 348 156 314T80 256L70 250L54 266ZM727 548Q701 550 650 583T567 617Q560 617 554 615Q532 610 501 580T445 501L437 485V465Q432 326 378 223L294 150Q321 143 421 87T560 31Q608 31 634 64Q660 102 660 198Q660 226 655 292T650 387Q650 418 658 452L660 462L735 548H727ZM264 150Q265 151 263 151H261Q261 150 264 150ZM280 150H276V149Q280 149 280 150'], - - // LATIN CAPITAL LETTER W - 0x57: [686,27,1046,32,1054,'32 501Q35 564 103 625T264 686Q326 686 365 652Q402 618 420 564L441 585Q486 630 539 670L559 686L572 672Q637 606 665 559L682 576Q787 686 845 686Q877 686 929 656T992 623Q999 621 1016 621Q1041 621 1054 628L1051 617L1047 606Q1042 602 1037 597Q983 557 969 522T954 434Q954 394 961 336T968 221Q968 201 966 184T963 155T956 131T948 113T936 96T923 82T906 66T887 50L816 -2Q815 -3 810 -6T801 -11T791 -16T777 -20T759 -23T735 -25Q691 -25 619 4T505 37H496L463 21Q420 0 389 -20L378 -27H362Q316 -27 275 -9T202 28T150 46H146Q114 46 59 -5L48 -16L41 -6Q40 -4 38 -2T34 2L33 4Q33 8 77 54Q111 87 142 112L154 122H166Q239 127 288 182Q346 244 346 406Q346 489 326 537T259 610Q227 628 195 628Q155 628 128 606T101 549Q101 517 146 465T192 382Q192 348 156 310T85 254L75 250L64 258L55 266Q56 267 74 276T105 301T118 339Q118 362 75 413T32 501ZM952 547Q927 555 877 586T796 617Q744 617 682 525L676 516L677 498Q678 486 678 425Q678 301 652 206Q649 195 613 151T577 102Q577 100 582 100Q618 100 720 51Q761 32 790 32H794Q843 32 869 83Q884 110 884 189Q884 233 879 294T873 400Q874 433 879 451T889 478T915 507T952 547ZM241 105Q249 98 263 88T317 60T393 42Q478 42 547 109Q607 171 607 358Q607 371 607 380T604 417T595 467T577 517T546 566T500 601L479 580Q449 550 433 526L426 516V503Q426 311 357 200L352 191L296 149Q241 107 241 105'], - - // LATIN CAPITAL LETTER X - 0x58: [688,27,719,28,709,'96 511L78 527L149 603Q207 666 227 686L237 685Q278 680 306 667T351 631T376 588T395 533L400 516L406 527Q439 600 523 653Q538 664 587 688Q589 688 596 672T613 635T629 606Q643 588 665 588Q677 588 693 596L709 603V585L607 526Q583 536 554 564T512 614Q461 571 435 507T405 381V367H581L563 347Q561 344 558 341T553 335T549 330T546 326L545 325H541Q537 325 488 329T411 334H405V325Q405 198 454 123Q497 54 568 54Q594 54 619 64T660 84L676 95V74L565 -16L553 -20Q528 -27 512 -27Q492 -27 475 -21T444 -5T418 19T398 47T382 77T371 105T363 128T358 145L357 151Q354 151 339 136T294 91T232 37Q152 -22 113 -22Q90 -22 69 -9T38 17T28 32Q28 33 58 68L86 101Q94 81 115 64T165 47Q206 47 249 84Q302 128 325 222Q334 263 336 312V334H312Q198 334 163 324H161Q162 326 182 348L198 367H336V398Q333 508 308 550Q295 570 274 585T227 601Q204 601 181 589T145 565T115 533T96 511'], - - // LATIN CAPITAL LETTER Y - 0x59: [686,218,833,27,740,'123 345Q123 358 75 415T27 496Q27 533 63 578T121 639Q181 685 256 685Q305 685 332 676T384 635Q419 588 425 542Q468 585 526 628T618 686Q632 667 658 645T704 609T724 594Q740 512 740 385V375V361Q740 128 682 -3Q656 -64 554 -141T361 -218Q319 -218 287 -203T243 -173T230 -150Q230 -148 267 -109L304 -69Q311 -115 341 -142T411 -170Q474 -170 534 -119T624 11Q660 111 660 312Q660 447 633 528L612 549Q578 583 552 596L543 601L528 592Q501 574 483 558Q454 528 436 494L431 484V473Q431 330 376 230Q366 213 359 206T306 159L250 112Q278 105 327 82T399 58Q421 58 440 69T471 92T484 104H485L493 90L480 73Q453 39 429 13Q393 -22 372 -22Q342 -22 260 15T153 53Q97 53 48 -16L38 5Q46 22 74 54T128 108L143 122H155Q226 127 275 168Q352 236 352 399Q352 501 309 564T197 628Q156 628 129 607T102 553Q102 517 147 463T192 383Q192 323 75 250L59 266Q123 314 123 345'], - - // LATIN CAPITAL LETTER Z - 0x5A: [729,139,602,11,532,'148 590Q95 592 91 627V633L160 729H176Q169 713 169 705Q169 670 244 670Q269 670 305 672T357 675Q405 675 432 661T468 609Q469 605 469 596Q469 572 460 540Q433 463 301 372Q325 378 359 378Q431 378 472 350T519 297Q532 249 532 198Q532 115 500 40T442 -57Q335 -139 202 -139Q165 -139 125 -131L112 -129V-100Q112 -49 106 -33T75 -17Q55 -17 31 -35L22 -42L11 -26L22 -18Q94 36 151 36H160Q171 36 178 33T188 27T194 13T196 -5T197 -32Q198 -79 206 -90Q217 -107 251 -107Q336 -107 389 -33T442 155Q442 240 407 274Q362 319 285 319Q236 319 192 298Q188 298 181 309L224 372Q227 373 234 374T246 376T257 379T271 384T285 391T302 402T321 417Q384 471 384 540Q384 562 366 581T306 600Q292 600 233 595T148 590'], - - // LEFT SQUARE BRACKET - 0x5B: [740,130,278,117,278,'262 -119Q224 -120 191 -123T141 -128T118 -130Q117 -130 117 305V740H122Q141 737 219 736H278V723Q278 711 277 711L159 699V-93H162Q167 -93 220 -96T276 -100Q278 -100 278 -109V-119H262'], - - // RIGHT SQUARE BRACKET - 0x5D: [739,131,278,-4,160,'64 733Q89 733 110 734T143 737T158 738H160V-131H154Q101 -125 40 -124H-4V-103H1Q3 -102 57 -98T113 -92H118V700L64 703Q7 707 3 708H-4V732H21Q34 733 64 733'], - - // CIRCUMFLEX ACCENT - 0x5E: [734,-452,500,0,495,'0 464L250 734L262 722Q274 712 384 598L495 486Q483 478 467 467L456 459L248 672L154 580L23 452Q17 454 10 458T0 464'], - - // LATIN SMALL LETTER A - 0x61: [470,35,500,66,497,'86 363Q86 365 128 391T212 444L255 470Q256 470 263 465T283 453T308 442Q338 431 346 431Q350 431 358 436L414 465L421 459L418 434Q404 339 404 262Q404 147 408 119L425 97Q443 74 444 74L467 86L491 97Q492 97 497 83L436 28Q377 -26 374 -26L331 46L329 91L155 -35Q152 -35 114 10T68 65L67 86Q66 100 66 156Q66 177 66 198T68 236T71 268T74 296T77 320T80 338T83 351T86 360V363ZM314 365Q285 367 255 374T206 386L187 392Q181 392 172 376T154 311T145 197Q145 124 151 118Q156 110 187 78L208 56H214Q221 57 253 76L308 109L329 123V136Q328 143 328 257V365H314'], - - // LATIN SMALL LETTER B - 0x62: [685,31,513,87,442,'177 427Q177 364 181 364Q184 364 192 370T223 395T271 433Q317 469 323 469Q325 469 338 462T377 440T432 413L440 409L441 396Q441 394 441 372T442 334Q442 203 425 108L423 97L400 83Q347 49 296 21T222 -19T196 -31Q192 -29 149 12T87 71L89 89Q100 155 100 319Q100 500 94 627Q94 632 94 638T94 648T94 656T93 662V664Q93 668 97 669T106 670H110Q114 653 118 633L127 596Q127 595 132 597Q136 599 195 642L255 685L272 673Q269 670 256 659T233 637T211 609T190 565T179 508Q177 494 177 427ZM295 377L274 385Q273 385 264 381T242 370T223 361Q213 355 188 340L178 333V123L198 103Q259 42 285 42Q299 42 314 55T339 85Q363 132 363 232Q363 310 358 343V349L345 355Q330 363 295 377'], - - // LATIN SMALL LETTER C - 0x63: [466,29,389,72,358,'72 208Q72 323 84 361Q84 363 167 414Q248 466 250 466Q255 465 260 465Q283 460 307 450T344 430L357 422L306 343L301 342L296 340Q267 362 247 372T216 384T177 390Q154 349 154 238Q154 220 156 158V145L168 132Q179 121 208 93T244 59Q245 58 246 58Q255 58 302 83T350 108L352 104Q355 100 356 96L358 92Q358 91 274 32T187 -29L177 -20Q160 -6 120 36T77 84Q77 87 75 118T72 208'], - - // LATIN SMALL LETTER D - 0x64: [609,33,499,13,428,'13 542Q13 544 77 576T147 609Q154 609 185 598T283 551T414 464L427 454V440Q427 436 427 412T428 372Q428 315 426 270T418 197T409 152T400 121T394 103L304 35Q285 21 261 2T225 -25L214 -33Q149 7 97 59L76 80L75 91V171Q75 221 76 254T79 299T80 313Q80 315 78 321Q78 323 78 326L77 330Q79 336 132 384T211 447L219 445Q221 445 224 444L228 443Q229 443 228 441T221 432T206 415L191 395Q175 378 162 339Q152 306 152 250Q152 217 159 140V134L171 121Q194 99 235 74T284 48Q296 48 310 75T337 156T349 267Q349 346 336 400L315 420Q246 489 176 525Q127 545 94 545H73L27 527L13 542'], - - // LATIN SMALL LETTER E - 0x65: [467,30,401,70,364,'353 103Q353 97 358 87L337 71Q293 38 247 6Q191 -30 189 -30Q188 -30 173 -16T130 26T76 85L74 99Q70 139 70 190Q70 228 73 271T79 338T84 365L94 372Q105 378 126 392T166 417L246 467Q283 417 349 369L364 358L355 349Q249 249 169 180L151 166L152 152V139L165 126Q186 105 215 84T260 62Q267 62 309 82L353 103ZM267 323Q246 337 230 350T204 371T189 385T179 394T174 397Q149 381 149 219V211Q151 211 171 223T220 258T268 299L282 313L267 323'], - - // LATIN SMALL LETTER F - 0x66: [681,221,326,30,323,'128 387Q128 391 112 456T92 546V555L101 568Q133 617 183 670L193 681L204 673Q238 648 262 648Q276 648 292 656L302 661L308 653Q308 652 278 618L249 585H234Q194 587 159 595Q158 595 156 596H153L150 597Q151 593 152 581T154 564T157 547T164 524T176 494Q199 436 203 400V392H207L323 386Q323 384 309 368L296 351H203V176Q201 -9 198 -32Q194 -61 166 -114Q158 -129 153 -138Q114 -214 110 -221Q105 -221 98 -220L87 -219V-216Q88 -215 106 -150T124 -82Q128 -73 129 155V351H30L64 386H96Q128 386 128 387'], - - // LATIN SMALL LETTER G - 0x67: [470,209,504,17,455,'27 -144L17 -131L82 -75L146 -20L126 6Q99 37 92 48L78 65L77 79Q75 103 75 158Q75 217 78 268T86 343T91 368Q92 370 109 382T157 413T222 452Q240 465 249 469L251 470Q296 443 350 428L365 424L437 465L442 459Q442 456 441 453T437 444T432 424T427 385T423 317T421 215V133L423 119Q423 111 455 -17Q455 -21 380 -108T290 -201Q290 -202 284 -204T269 -207T252 -209Q172 -209 75 -135L62 -126Q60 -126 44 -135L27 -144ZM349 351Q267 359 178 389Q177 387 173 376T166 358T161 337T157 303T155 259Q155 195 159 135L160 124L170 112Q180 101 204 77T230 53Q231 53 286 88L340 123V141Q340 235 348 329Q348 334 348 339T348 348L349 351ZM364 -59Q364 -37 358 -1T347 64T341 93Q336 93 252 28T149 -57Q226 -134 293 -134Q325 -134 344 -118T364 -69V-59'], - - // LATIN SMALL LETTER H - 0x68: [688,205,521,77,434,'88 427Q88 486 87 545T84 634T81 667Q81 673 82 673T89 676H94L117 600L200 661Q208 667 218 674T233 684L238 688L254 678Q222 646 216 637Q164 572 164 483V442V371Q187 390 244 431T312 478Q344 446 411 423L428 417L429 396Q434 297 434 218Q430 8 406 -34Q346 -111 262 -195L251 -205L249 -203Q248 -203 244 -199T236 -193Q226 -183 227 -182Q228 -182 244 -169T278 -140T301 -121Q330 -89 340 -22Q355 60 355 171Q355 200 353 244T348 321T344 354Q333 363 307 376T260 390Q241 390 179 350L164 341V121Q180 96 201 66L213 50Q210 46 172 11T131 -24Q130 -24 123 -11T102 25T77 65V78Q80 104 84 227T88 427'], - - // LATIN SMALL LETTER I - 0x69: [673,20,279,14,267,'72 617Q72 618 102 645T133 673H134Q134 668 175 627L187 615L130 555L116 568Q72 615 72 617ZM27 369Q21 376 14 382L26 392Q83 440 119 474Q158 435 169 427L179 420L176 395Q166 302 166 227Q166 171 174 139Q178 119 186 103T202 81L208 75Q255 100 261 100Q262 100 264 92T267 83Q267 80 208 30T145 -20Q143 -20 118 17L91 55Q98 117 98 193Q98 339 88 369Q71 390 68 390Q63 390 39 376L27 369'], - - // LATIN SMALL LETTER J - 0x6A: [672,208,281,-9,196,'101 644L132 672L145 657Q155 642 169 628L182 614L169 600Q148 579 140 570L125 555L112 568Q109 570 91 592T72 615Q72 617 101 644ZM19 -208Q-9 -185 -9 -183Q57 -134 80 -106Q103 -81 110 -19T118 179Q118 294 113 329T86 383Q78 389 76 389Q73 389 57 379L39 367Q26 380 26 381L33 387Q40 393 53 405T79 428L130 474Q147 457 186 428L195 422L196 376Q196 130 192 58T174 -35Q172 -39 104 -114T19 -208'], - - // LATIN SMALL LETTER K - 0x6B: [689,25,389,24,362,'93 348Q93 379 90 503T87 658V670Q87 671 94 671L100 672L112 636Q124 603 124 600L144 616Q196 659 234 682L246 689Q252 686 256 685T268 680L254 667Q225 641 211 626T184 579T168 505V497L178 504Q203 523 237 544L300 584L310 573Q359 522 359 481Q359 476 359 472T358 464T355 456T351 448T346 440T340 433T332 424T323 414T312 402T299 389L255 343L300 342H346L320 309H177V128L193 113Q214 92 244 68L254 60L303 84Q351 108 352 108L362 96Q355 85 277 30T194 -25L170 -4Q146 18 120 41T89 68Q94 85 94 168Q94 184 94 218T93 268V309H58L24 310L51 342H93V348ZM172 342Q217 342 252 374T287 445Q287 472 255 504Q242 517 241 517Q202 498 187 468T168 365V342H172'], - - // LATIN SMALL LETTER L - 0x6C: [685,20,280,98,277,'221 76L267 99Q268 98 269 96T271 88T270 82L262 76Q255 69 241 57T214 34L148 -20L98 56L99 89Q107 247 107 373Q107 494 101 621Q101 653 99 659V665L106 668L113 672L118 655Q122 642 131 617L138 597Q140 597 157 611L240 670L264 685Q265 685 270 680T276 674T269 667T247 647T219 617Q197 587 186 551T173 493T171 438Q171 376 175 282T179 147V117Q184 109 201 93T221 76'], - - // LATIN SMALL LETTER M - 0x6D: [475,26,767,8,753,'20 367L8 379Q9 380 63 425T118 471Q130 460 143 446L168 421V398L169 376L295 475Q362 433 415 418V399Q415 380 416 380T437 394T484 428T529 462L544 474L556 467Q590 449 614 438T646 424L653 421L665 417L664 412Q664 411 664 407T664 397T663 384Q660 342 660 335Q658 303 658 245Q658 186 660 152L661 126L669 115Q680 96 697 79L707 83Q716 87 723 90T735 96T741 100T746 102L747 103V102L750 95Q753 88 753 87L631 -18Q630 -17 622 -3T589 43L576 60L579 72Q592 146 592 218Q592 265 584 321Q581 345 578 350T560 363Q535 376 496 386L481 390Q475 387 425 358L415 351V238V157Q415 142 415 135T417 120T421 110T430 98T441 81L465 47Q462 44 458 41T443 28T420 8L380 -26L333 47L336 62Q339 77 342 109T345 184Q345 223 341 285T333 348Q322 364 258 382L240 388L169 347L168 240Q168 118 171 110L174 106Q178 101 183 93T195 78L217 48Q217 47 196 30T154 -5T133 -21L130 -16Q127 -10 122 0T111 19Q89 56 89 60Q95 76 95 153Q95 239 88 337V365L62 391L20 367'], - - // LATIN SMALL LETTER N - 0x6E: [475,22,527,20,514,'31 368Q20 379 20 380T72 427L121 470L129 463Q137 455 155 441T176 425V367L320 475L329 469Q351 454 385 437T434 417L432 402Q429 362 429 231V128L439 111Q442 107 445 102T449 95T453 90T456 86T459 84T463 82T467 82Q468 82 489 93T511 105T514 95V88L395 -18L340 65L341 77Q347 111 348 178Q348 343 343 353V358L332 363Q298 377 264 382Q260 382 254 382L249 383Q247 383 211 362L176 341V229V147Q176 134 176 127T177 115T179 106T183 99T189 91T197 81Q201 76 206 69T214 57L217 53Q217 52 175 15T132 -22Q132 -20 114 5T88 41Q84 45 84 50Q94 116 94 203Q94 227 93 263T92 324L90 364L67 388L50 378Q32 368 31 368'], - - // LATIN SMALL LETTER O - 0x6F: [480,28,489,67,412,'67 121Q70 265 84 359V364L97 371Q137 394 177 421T238 464T260 480L278 468Q295 457 327 442T394 418L406 414Q412 388 412 300Q412 263 410 228T405 170T399 130T393 103T391 92L381 86Q274 19 165 -28L161 -24Q157 -21 151 -15T136 -2T118 14T101 30T86 46T74 60L67 68V121ZM335 278Q335 286 335 303T334 335L333 349V356H326Q288 360 208 388L183 397Q178 393 172 383T154 333T142 239Q142 192 151 134Q152 124 155 120T175 99Q197 77 219 64T251 47T267 44T281 52T302 80T320 124Q335 182 335 278'], - - // LATIN SMALL LETTER P - 0x70: [541,212,500,12,430,'23 25Q15 33 12 38L35 59Q82 102 87 105V351L68 378Q42 414 42 422Q42 437 67 472T114 530L125 541Q126 541 132 537T138 532Q121 507 121 488Q121 453 160 413L167 405L166 390L165 372Q169 372 233 421T305 478Q307 479 315 472Q395 421 423 415Q424 415 424 415T425 414L426 410Q426 407 426 401T426 388Q430 335 430 272Q430 139 408 80Q407 78 340 22L273 -33Q200 23 165 23Q164 23 164 -32Q165 -89 168 -155V-170L93 -212L78 -203Q85 -48 87 16V47H79Q53 44 23 25ZM319 41Q346 94 349 212Q349 278 343 343V351L330 357Q318 363 270 381L255 387L245 383Q212 370 178 345L166 336V287Q165 260 165 166V94H175Q219 90 299 51L319 41ZM132 57L129 60Q130 58 132 57ZM158 29Q159 29 155 34T145 45T138 50Q155 29 158 29'], - - // LATIN SMALL LETTER Q - 0x71: [479,219,489,60,419,'399 19Q399 -123 407 -174V-179L332 -219L322 -210L312 -202L314 -185Q320 -83 323 54V95L311 85Q255 40 162 -19Q146 -29 145 -27Q140 -22 103 20L63 65V73Q61 83 61 115Q61 122 61 135T60 154Q60 263 79 353L83 368L94 375Q123 391 147 405T186 429T212 446T229 458T238 466T243 470T247 471L260 464Q274 457 295 448T330 434L341 432L410 479L412 478Q414 476 416 475T419 473L417 461Q399 358 399 19ZM316 367Q287 370 252 377T196 391L176 397H175Q173 397 166 382T149 314T139 187V158Q139 138 141 132T155 114Q158 111 160 109Q210 58 211 58L218 62Q226 67 240 75T266 91L319 124V196Q319 334 325 361V367H316'], - - // LATIN SMALL LETTER R - 0x72: [474,21,389,17,387,'357 398Q364 398 375 403L386 408Q386 404 387 400V393L369 377Q361 370 350 360T336 347T327 340T316 336T303 335Q270 335 234 371L224 379Q220 375 214 370T198 355L182 340V243Q182 164 183 152T189 129Q195 117 211 100T239 72T254 60T298 81Q342 101 343 101Q344 100 345 92T346 82L200 -21Q174 -5 117 55L97 75L99 92Q106 147 106 196Q106 216 104 282T97 355Q95 359 95 361Q95 364 77 378L65 387L48 380Q30 372 29 372Q28 371 23 375T17 380Q17 384 50 415T107 467L115 474L128 461Q171 421 182 414V382L235 425Q247 435 261 446T283 462L290 468L295 460Q335 398 357 398'], - - // LATIN SMALL LETTER S - 0x73: [478,29,443,-18,406,'272 33Q284 33 290 70T296 138Q296 181 290 198T262 230Q257 232 246 232Q231 232 218 227T156 194L108 167L101 176Q90 192 75 219L69 230V284Q69 346 70 357V377L146 427Q181 450 202 464T223 477L225 476Q227 475 229 474Q231 472 242 466T270 450T296 431Q309 418 326 418Q342 418 361 429T392 450T403 459Q406 445 406 442Q406 440 384 421T338 382L316 363Q315 362 310 362Q292 362 251 371T173 396Q156 403 155 403Q143 386 143 342Q143 305 150 278T168 244Q171 242 181 242L190 243L315 300Q330 295 357 274Q358 273 362 270T366 266T369 261T372 253T373 239T374 217T374 185Q374 157 372 133T368 98T363 71T358 50L336 40Q288 20 255 2T211 -22T198 -29L190 -22Q181 -14 168 -3T138 19T104 38T70 46Q50 46 32 37T3 20T-9 11L-18 23L-1 41Q46 89 62 99T112 110Q141 110 157 103T225 62Q268 33 272 33'], - - // LATIN SMALL LETTER T - 0x74: [640,20,333,27,348,'228 640L242 627L227 613Q213 599 211 593T203 553Q197 500 196 435V389H301L272 353H195V274Q195 178 196 159L197 123Q249 71 273 68H280L312 83Q344 99 345 99Q348 99 348 78Q348 76 314 52T246 4L212 -20Q211 -20 164 19T112 62Q112 122 113 196Q113 228 113 262T114 318T114 341V353H27L62 389H116L117 431V558L228 640'], - - // LATIN SMALL LETTER U - 0x75: [474,23,517,9,513,'171 315Q171 252 165 199T153 124L147 103Q147 102 196 80L244 57L335 107V116Q339 161 339 268Q339 315 338 351T337 412V424L420 468Q424 465 427 461L424 435Q412 331 412 226Q412 170 415 145T434 96Q442 84 452 83Q461 83 492 96L506 102Q507 102 510 96T513 88L493 71Q445 32 401 -9Q392 -18 388 -17L384 -16Q358 39 355 44Q336 77 333 77Q261 45 203 -9Q186 -23 181 -23Q177 -23 162 -11T121 18T69 44L57 48L61 54Q65 60 71 73T82 102Q100 156 100 262Q100 305 93 335T80 373T62 396L23 376Q18 377 9 386L119 474Q149 437 171 421V339V315'], - - // LATIN SMALL LETTER V - 0x76: [530,28,512,55,434,'55 418Q55 443 100 503Q121 530 123 530Q125 528 127 528T131 528T134 528T135 524T131 516Q123 499 123 486Q123 457 159 416L169 405L170 388L171 372Q171 371 244 424L317 477L334 466Q394 428 432 416L433 402Q433 400 433 377T434 336V305Q434 195 420 131Q413 94 406 87Q403 84 298 29L192 -28L172 -8Q139 25 106 52L92 64V70Q95 97 95 198Q95 293 94 318L92 355L84 367Q55 406 55 418ZM174 306Q174 297 173 255T171 184Q171 153 175 136T198 100Q207 94 224 80T255 57T282 49Q304 49 328 80Q359 129 359 243Q359 284 352 345Q351 358 348 360Q333 373 304 384T265 396L251 390Q215 372 186 351L175 344V337Q175 319 174 306'], - - // LATIN SMALL LETTER W - 0x77: [532,28,774,45,688,'45 425Q45 439 82 485T126 532Q127 532 128 532T131 531T137 529L132 519Q121 499 121 483Q121 473 131 454T156 419L167 408L169 376L185 388Q237 425 291 473L301 466Q337 443 394 416L419 405L418 387V369Q419 369 487 418T560 471L581 459Q597 450 621 437T664 415T684 406Q688 406 688 323Q688 254 679 193T662 103T648 71Q647 70 554 20L464 -28L443 -15Q416 1 386 17T343 40T331 49Q331 52 333 73T337 133T339 216Q339 309 334 339Q333 341 316 353T277 377T246 389Q235 389 201 369T166 346Q166 345 164 247Q164 232 164 210T163 179Q163 139 170 116T205 57L212 48L136 -27Q115 16 87 44L78 53L80 67Q88 124 88 211Q88 282 87 315T83 356T74 371Q45 410 45 425ZM591 352Q580 359 565 365T540 374T517 381T504 385L418 342L417 318V220Q417 212 417 194T417 170T418 152T420 134T424 120T431 106T440 95T454 83Q508 44 544 44Q566 44 583 77Q603 120 605 235Q605 289 600 322Q598 343 597 345T591 352'], - - // LATIN SMALL LETTER X - 0x78: [472,188,389,10,363,'14 377Q63 428 117 472Q130 462 144 449L193 408V392V376L247 420Q300 464 301 464L310 451Q331 417 363 390L333 365Q303 340 301 340Q293 343 277 364T250 386Q241 386 215 361L195 341Q194 333 193 327T191 318T190 304T188 269Q188 220 192 148Q193 122 195 118T210 101Q255 60 271 60Q276 60 278 61L318 82Q327 86 336 91T351 98L356 101Q359 82 356 79Q354 77 283 27T210 -24L192 -7Q160 23 137 40L126 49L116 40Q66 -13 66 -54Q66 -117 167 -140L179 -142V-147L180 -152L123 -188L112 -185Q58 -170 31 -145Q10 -122 10 -96Q10 -80 22 -53Q44 -10 95 49Q97 51 100 54T104 59T107 64T109 71T111 81T112 97T113 119T114 149T114 188Q114 284 108 347V354L96 365Q76 385 67 385Q62 385 45 377L27 368L14 377'], - - // LATIN SMALL LETTER Y - 0x79: [528,218,499,45,431,'74 58Q89 124 89 241Q89 265 89 278T89 305T88 324T87 336T84 346T81 352T77 359T71 368Q57 388 52 398L45 409Q62 454 98 507L113 528Q128 528 128 524Q128 523 125 518T120 503T117 483V471Q123 456 130 445Q135 438 140 432T148 422T153 415T157 409T160 405T162 402T163 399T163 395V384V365Q165 365 237 419L311 473Q383 430 420 416Q426 414 426 411V404Q426 398 426 388T427 367Q431 233 431 201Q431 -3 391 -52Q387 -58 305 -138T221 -218L218 -217Q216 -216 211 -214T202 -210L184 -202L199 -194Q259 -162 288 -127T334 -19T350 184Q350 257 342 328L340 356Q282 390 262 390Q248 390 178 346L163 336V111L216 45L131 -26L124 -15Q114 3 85 44L74 58'], - - // LATIN SMALL LETTER Z - 0x7A: [471,214,391,-7,314,'47 335L36 347L52 362Q112 421 167 461L181 471L192 465Q236 444 260 417T284 369Q284 355 276 343T233 291Q195 246 195 245T205 242T241 228T300 198L302 187Q314 138 314 74Q314 -24 291 -95Q290 -100 222 -157L154 -214H145Q102 -214 53 -189T-7 -117Q41 -21 183 122L207 147Q205 149 186 157T140 172T100 180H97V192L140 231Q192 280 199 293Q205 303 205 315Q205 339 185 363T137 388Q119 388 63 347L47 335ZM179 -153Q212 -153 226 -113T240 14Q240 67 233 98T223 132T211 143L222 130Q216 125 206 116T170 82T124 33T88 -20T72 -70Q72 -99 105 -126T179 -153'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js deleted file mode 100644 index e1338ef5..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'] = { - directory: 'Fraktur/Regular', - family: 'MathJax_Fraktur', - id: 'MJFRAK', - Ranges: [ - [0x0,0x7F,"BasicLatin"], - [0x80,0xDFFF,"Other"], - [0xE300,0xE310,"PUA"] - ] - - -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js deleted file mode 100644 index 6e773842..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/Other.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'], - { - // LEFT SINGLE QUOTATION MARK - 0x2018: [708,-410,215,45,158,'117 410Q97 410 71 455T45 539Q45 588 129 694L140 708Q142 708 153 694L147 682Q106 609 106 582V577V571Q106 548 132 511T158 455Q158 434 143 422T117 410'], - - // RIGHT SINGLE QUOTATION MARK - 0x2019: [692,-395,215,49,163,'105 529Q105 546 77 588T49 651Q49 658 51 666Q53 672 67 682T92 692Q111 692 137 644T163 563Q163 534 143 497T99 428T74 395Q72 395 65 400T58 407Q105 476 105 523V529'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js deleted file mode 100644 index e39184ea..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js +++ /dev/null @@ -1,50 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/PUA.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'], - { - // stix-capital Gamma, Greek slashed - 0xE300: [683,32,497,75,431,'427 436Q427 434 427 425T429 398T430 362Q430 222 396 109L393 99L305 33Q218 -32 216 -32Q208 -29 142 22L91 68L78 81L77 94Q75 130 75 173Q75 245 87 347L135 385Q178 418 184 424L177 428Q174 429 170 431Q116 454 96 473T75 534Q79 608 154 683Q164 677 164 673Q164 670 157 662T144 637T137 598Q137 552 182 518T280 470T380 447T427 436ZM342 371L275 394L208 417Q203 417 192 399T168 334T156 229Q153 187 153 157Q153 141 156 135Q158 125 208 88T280 51Q306 51 326 120T346 297Q346 339 344 354T342 371'], - - // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED - 0xE301: [616,30,498,35,432,'39 551L35 569L52 577Q72 586 98 595T140 610T158 616Q174 612 200 604T293 560T412 477Q414 475 417 472Q428 462 430 450T432 376Q432 223 401 124Q395 106 393 103T382 92Q351 68 281 20T206 -29Q201 -31 137 26L100 60L78 83L77 112Q76 132 76 170Q76 259 86 342L88 360L101 371Q116 386 163 422T215 459Q216 459 224 455T233 450L229 446Q225 442 218 434T203 419Q179 394 175 389T168 372Q156 334 156 262Q156 167 164 137Q168 125 196 102T252 62L278 45Q279 45 285 52T302 78T322 126T339 205T346 316Q346 367 344 389L343 406L326 423Q228 520 113 559L100 564L70 557L39 551'], - - // stix-capital Delta, Greek slashed - 0xE302: [680,215,333,29,339,'123 386L120 431Q116 476 116 511V520Q116 593 174 649Q207 680 236 680Q258 680 284 664T312 648Q318 648 327 656Q328 657 330 659Q337 664 337 661Q337 660 338 657Q338 652 339 648L268 566L260 574Q234 600 206 600Q182 600 164 585T145 541Q145 492 211 386L267 385H324L299 354H214V312Q214 86 193 -58L192 -69L116 -215H108Q92 -215 92 -212Q93 -211 100 -189T116 -135T128 -80Q134 -41 134 22Q134 54 130 185T125 349V354H29L59 385H91Q123 385 123 386'], - - // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED - 0xE303: [679,224,329,28,318,'91 530Q91 564 116 600T164 656T194 678Q195 678 200 678T209 679Q268 679 316 639L293 593Q267 547 263 546H262Q260 546 256 553Q222 613 180 613Q160 613 146 599T132 564T170 474T210 388H318L296 356H206V322Q204 284 204 255Q202 221 202 161V99Q202 28 194 -22T160 -124Q148 -146 116 -199L101 -224L91 -220Q85 -218 84 -217T83 -215L101 -161Q116 -114 119 -73T122 108Q119 334 117 352V356H72L28 357L66 388H92Q118 388 118 389L109 433Q91 514 91 530'], - - // stix-capital Epsilon, Greek slashed - 0xE304: [471,214,503,52,449,'254 -150Q293 -150 328 -126T363 -54Q363 -38 352 29T339 98L250 34Q160 -30 159 -30L77 64V71Q74 95 74 174Q74 212 75 243T79 294T83 328T87 352T90 366L117 384Q206 446 238 464L250 471Q277 455 306 443T350 427L365 423Q367 423 405 443T443 465L449 455Q431 414 426 362T418 201Q418 135 420 121Q438 -4 438 -19Q438 -26 438 -31T434 -42T429 -51T420 -63T408 -77T391 -95T370 -119T346 -147T325 -170T309 -187T291 -200T274 -207T252 -213T225 -214Q175 -214 132 -196T70 -160L52 -143Q52 -138 90 -48Q90 -47 95 -47H101Q108 -81 146 -115T254 -150ZM341 136Q341 157 344 242T347 348V355L334 356Q299 359 262 367T203 383T179 391Q177 391 173 377T163 323T158 227Q158 164 161 128V121L174 106Q203 75 223 59L341 127V136'], - - // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED - 0xE305: [686,20,333,26,315,'92 446Q92 603 82 664Q94 670 95 670L96 666Q98 661 101 651T108 633Q121 598 121 597L141 612Q247 686 250 686Q251 686 266 679Q261 674 243 659T213 632T190 597T173 546Q172 541 171 530T170 511T170 502Q171 502 222 542L273 582Q308 522 315 504L279 449L269 462Q231 506 215 506Q202 506 190 490Q164 458 164 395V390H279L266 373L254 355H167V306Q169 252 169 217Q170 195 170 147V117L200 92Q234 64 237 64Q243 64 277 81L311 99V75Q310 75 242 27L174 -20L156 -3Q88 60 81 60L79 62Q80 60 82 62Q87 67 87 290V355H57L26 356L73 390H92V446'], - - // stix-capital Zeta, Greek slashed - 0xE306: [577,21,334,29,347,'117 531Q117 533 137 544T178 566L198 577Q200 577 204 575T208 572V570Q208 568 208 566T207 560Q197 496 197 397V392H321L295 353H199V260Q199 157 200 145V122L269 68Q271 67 274 67Q282 67 310 83T342 100Q343 100 345 92T346 83L211 -21L172 12Q117 59 117 63Q117 65 117 87T119 150T120 238V353H75L29 354L65 391H118V460Q117 498 117 531'], - - // stix-MATHEMATICAL BOLD CAPITAL ZETA SLASHED - 0xE307: [475,22,501,10,514,'337 91V78L324 71Q288 53 256 29T206 -8T180 -22Q174 -22 158 -9Q82 46 60 46H59L63 51Q67 56 73 68T85 96Q101 158 101 254Q101 300 95 330T83 370T66 394L53 388Q48 385 41 382T24 374Q22 376 20 378T16 381T13 383T10 385V386L119 475Q150 439 160 430L171 422V409Q173 377 173 300Q173 228 166 183T152 122T145 102Q207 81 242 58L337 104V111Q340 146 340 227Q340 320 339 351T338 408V423L422 469Q425 465 429 462L426 438Q413 354 413 251Q413 152 423 119Q426 110 435 96T452 82Q454 82 509 103Q514 98 514 89Q514 87 507 81T472 51T409 -7L395 -20Q393 -18 390 -17Q386 -14 382 -6Q380 -2 379 1Q369 24 361 40T348 62T341 73T338 84L337 91'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/PUA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js deleted file mode 100644 index 8643a452..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/Arrows.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // LEFTWARDS ARROW - 0x2190: [518,17,1150,64,1084,'1063 281Q1084 268 1084 251Q1084 231 1063 221L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1063'], - - // UPWARDS ARROW - 0x2191: [694,193,575,14,561,'33 396Q14 396 14 423Q14 445 18 449T41 459Q72 466 99 478T147 505T185 537T215 571T238 604T254 635T264 661T270 678L272 685Q276 694 288 694Q298 692 300 689T307 672Q331 592 392 535T535 459Q553 454 557 450T561 423Q561 396 542 396Q531 396 501 405T418 443T329 517L319 529L318 179V-171Q307 -193 288 -193Q265 -193 258 -171L257 179V529L247 517Q209 473 158 444T76 405T33 396'], - - // RIGHTWARDS ARROW - 0x2192: [518,17,1150,65,1085,'65 251Q65 270 87 281H500L914 282Q881 304 842 357T785 482Q781 500 781 501Q781 512 792 517Q794 518 812 518H817Q832 518 835 515T844 495Q864 412 923 351T1065 270Q1085 263 1085 251Q1085 240 1077 236T1044 225T995 204Q937 173 898 122T844 6Q840 -10 836 -13T816 -17H811Q786 -16 782 -9Q781 -6 781 -2Q781 1 785 17Q813 138 914 220H500L87 221Q65 228 65 251'], - - // DOWNWARDS ARROW - 0x2193: [694,194,575,14,561,'14 77Q14 104 33 104Q44 104 74 96T156 57T247 -17L257 -29V321Q257 669 259 675Q268 694 289 694Q295 693 300 691T307 686T313 679T318 672V321L319 -29L329 -17Q366 26 417 55T499 94T542 104Q561 104 561 77Q561 56 557 51T535 41Q481 28 438 0T370 -58T330 -119T308 -167T302 -187Q297 -194 288 -194Q278 -194 273 -186T265 -165T251 -127T220 -77Q151 15 41 41Q22 46 18 50T14 77'], - - // LEFT RIGHT ARROW - 0x2194: [518,17,1150,64,1085,'305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L404 281H744L914 282Q880 305 839 362T785 484Q781 500 781 503Q781 517 806 518Q809 518 811 518H817Q832 518 835 515T844 495Q864 412 923 351T1065 270Q1085 263 1085 251Q1085 240 1077 236T1044 225T995 204Q937 173 898 122T844 6Q840 -10 836 -13T816 -17H811Q786 -16 782 -9Q781 -6 781 -2Q781 1 785 17Q813 138 914 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495'], - - // UP DOWN ARROW - 0x2195: [767,267,575,14,561,'33 469Q14 469 14 496Q14 518 18 522T41 532Q121 551 182 608T268 745Q275 767 288 767Q299 767 303 755T320 713T355 650Q424 558 535 532Q553 527 557 523T561 496Q561 469 542 469Q531 469 501 478T418 516T329 590L319 602L318 426V74L319 -102L329 -90Q366 -47 417 -18T499 21T542 31Q561 31 561 4Q561 -17 557 -22T535 -32Q454 -51 393 -108T307 -245Q300 -267 288 -267Q279 -267 274 -259T266 -238T250 -200T220 -150Q151 -58 41 -32Q22 -27 18 -23T14 4Q14 31 33 31Q44 31 74 23T156 -16T247 -90L257 -102V602L247 590Q209 546 158 517T76 478T33 469'], - - // NORTH WEST ARROW - 0x2196: [724,194,1150,63,1084,'429 724Q438 724 452 711T466 690Q466 681 452 671Q361 602 242 599H218L756 135Q832 69 913 -1T1036 -108L1077 -143Q1084 -151 1084 -163Q1084 -180 1074 -187T1054 -194H1052Q1043 -194 939 -105Q866 -42 812 5Q180 549 178 549V546Q179 542 179 539Q183 520 183 483Q183 435 172 390T149 323T130 296Q121 292 115 295Q85 312 85 328Q85 331 95 350T115 406T125 486Q125 540 110 583T79 648T64 675Q64 681 68 687T81 693Q87 693 94 690Q162 657 232 657Q296 657 349 681T420 722Q422 724 429 724'], - - // NORTH EAST ARROW - 0x2197: [724,193,1150,64,1085,'1069 693Q1076 693 1080 687T1085 675Q1085 671 1076 656T1055 621T1034 565T1024 486Q1024 442 1034 406T1054 351T1064 328Q1064 321 1057 313T1042 300L1034 295Q1030 293 1027 293Q1023 293 1020 295T1014 301T1009 308T1005 316T1001 324Q980 368 971 419Q966 442 966 484V492Q966 528 972 553Q971 553 757 368T328 -3T107 -191Q103 -193 94 -193Q78 -193 71 -184T64 -164Q64 -153 72 -143Q79 -136 382 124L934 599H909Q837 599 760 634T683 690Q683 697 696 710T722 724Q726 724 742 714T779 691T838 668T920 657Q959 657 991 666T1043 684T1069 693'], - - // SOUTH EAST ARROW - 0x2198: [694,224,1150,65,1085,'65 663Q65 680 74 687T93 694H96Q104 694 118 683T204 610Q280 545 338 495Q969 -49 971 -49L970 -46Q970 -42 970 -39Q966 -20 966 18Q966 65 977 110T1001 177T1019 204Q1028 208 1034 205Q1064 188 1064 172Q1064 169 1054 150T1034 94T1024 14Q1024 -28 1033 -64T1054 -120T1075 -155T1085 -175Q1085 -181 1081 -187T1068 -193Q1062 -193 1055 -190Q987 -157 919 -157Q817 -157 739 -215Q727 -224 720 -224Q712 -224 697 -210Q683 -199 683 -190T697 -171Q788 -102 907 -99H931L393 365Q317 431 236 501T114 608L72 643Q65 651 65 663'], - - // SOUTH WEST ARROW - 0x2199: [694,224,1150,64,1085,'80 -193Q73 -193 69 -187T64 -175Q64 -172 79 -150T109 -84T125 14Q125 58 115 94T95 149T85 172Q85 179 92 187T108 200L115 205Q119 207 122 207Q126 207 129 205T135 199T140 192T144 184T148 176Q169 132 178 81Q183 58 183 17Q183 -7 182 -24T178 -48L177 -53Q178 -53 389 129T816 498T1043 692Q1049 694 1054 694Q1070 694 1077 684T1085 664Q1085 653 1077 643Q1070 636 767 376L215 -98L240 -99Q312 -99 389 -134T466 -190Q466 -197 452 -210T429 -224Q422 -224 411 -215Q330 -157 229 -157Q190 -157 158 -166T106 -184T80 -193'], - - // RIGHTWARDS ARROW FROM BAR - 0x21A6: [518,17,1150,65,1085,'65 426Q74 448 95 448Q112 448 125 426V281H500L914 282Q881 304 842 357T785 482Q781 500 781 501Q781 512 792 517Q794 518 812 518H817Q832 518 835 515T844 495Q864 412 923 351T1065 270Q1085 263 1085 251Q1085 240 1077 236T1044 225T995 204Q937 173 898 122T844 6Q840 -10 836 -13T816 -17H811Q786 -16 782 -9Q781 -6 781 -2Q781 1 785 17Q813 138 914 220H500L135 221Q134 221 133 221T130 220H125V76Q115 54 95 54Q73 54 65 76V426'], - - // LEFTWARDS ARROW WITH HOOK - 0x21A9: [518,17,1282,64,1218,'1029 475Q1029 505 1068 505Q1129 501 1173 463T1218 363Q1218 296 1170 259T1066 221H1063L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1063Q1105 284 1131 305T1158 361Q1158 385 1146 401Q1122 441 1063 444Q1029 446 1029 475'], - - // RIGHTWARDS ARROW WITH HOOK - 0x21AA: [518,17,1282,65,1217,'225 221H218Q159 221 112 260T65 363Q65 431 116 468T221 505Q254 503 254 474Q254 456 245 450T216 443T188 438Q152 427 137 401Q125 385 125 362Q125 334 147 310Q171 288 221 281H632L1046 282Q1013 304 974 357T917 482Q913 500 913 501Q913 512 924 517Q926 518 944 518H949Q964 518 967 515T976 495Q996 412 1055 351T1197 270Q1217 263 1217 251Q1217 240 1209 236T1176 225T1127 204Q1069 173 1030 122T976 6Q972 -10 968 -13T948 -17H943Q918 -16 914 -9Q913 -6 913 -2Q913 1 917 17Q945 138 1046 220H632L225 221'], - - // LEFTWARDS HARPOON WITH BARB UPWARDS - 0x21BC: [518,-220,1150,64,1084,'1063 281Q1084 268 1084 251Q1084 231 1063 221L572 220Q79 220 77 221Q64 225 64 244Q64 250 64 254T67 261T71 265T78 268T85 272Q142 302 189 345T258 421T296 484T315 516Q319 518 337 518Q358 518 363 512Q370 504 367 496Q360 469 319 404T219 290L209 282L636 281H1063'], - - // LEFTWARDS HARPOON WITH BARB DOWNWARDS - 0x21BD: [281,17,1150,64,1084,'1063 281Q1084 268 1084 251Q1084 231 1063 221L636 220H209L219 212Q278 162 319 97T367 5Q370 -3 363 -11Q358 -17 337 -17H332Q318 -17 314 -14T302 7Q278 55 246 95T185 160T130 202T88 228L70 237Q64 243 64 257Q64 274 75 279Q78 281 571 281H1063'], - - // RIGHTWARDS HARPOON WITH BARB UPWARDS - 0x21C0: [518,-220,1150,65,1085,'65 251Q65 270 87 281H513L940 282L930 290Q871 338 830 403T782 496Q779 510 791 517Q794 518 812 518H817Q831 518 835 515T847 494Q871 445 903 404T966 338T1022 298T1064 272T1083 259Q1085 255 1085 245Q1085 225 1072 221Q1070 220 578 220L87 221Q65 228 65 251'], - - // RIGHTWARDS HARPOON WITH BARB DOWNWARDS - 0x21C1: [281,17,1150,64,1085,'84 279Q89 281 580 281Q1070 281 1074 279Q1085 275 1085 256Q1085 245 1083 241T1066 230Q919 153 847 7Q839 -11 835 -14T817 -17H812Q791 -17 786 -11Q779 -3 782 5Q789 31 830 96T930 212L940 220H513L87 221Q64 229 64 250Q64 272 84 279'], - - // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON - 0x21CC: [718,17,1150,64,1085,'65 451Q65 470 87 481H513L940 482L930 490Q871 538 830 603T782 696Q779 710 791 717Q794 718 812 718H817Q831 718 835 715T847 694Q871 645 903 604T966 538T1022 498T1064 472T1083 459Q1085 455 1085 445Q1085 425 1072 421Q1070 420 578 420L87 421Q65 428 65 451ZM1063 281Q1084 268 1084 251Q1084 231 1063 221L636 220H209L219 212Q278 162 319 97T367 5Q370 -3 363 -11Q358 -17 337 -17H332Q318 -17 314 -14T302 7Q278 55 246 95T185 160T130 202T88 228L70 237Q64 243 64 257Q64 274 75 279Q78 281 571 281H1063'], - - // LEFTWARDS DOUBLE ARROW - 0x21D0: [547,46,1150,64,1086,'1063 169L1068 166Q1072 163 1074 162T1079 157T1083 149T1085 139Q1085 118 1063 109L733 108H404L412 99Q455 50 488 -10Q498 -27 493 -37Q487 -46 465 -46H460Q446 -46 439 -39T426 -18T399 25T344 89Q239 194 99 229Q96 230 92 231T85 232T79 234T73 235T69 237T66 240T65 244T64 250Q64 267 90 271Q197 295 286 361T430 525Q439 542 442 544T460 547H465Q487 547 492 539Q496 531 496 530Q496 521 471 482T414 405L404 394L733 393H1063Q1064 392 1069 389T1076 384T1082 375T1085 362Q1085 344 1063 333L700 332H338L324 321Q283 290 230 264L205 250Q266 224 323 180L338 170L700 169H1063'], - - // UPWARDS DOUBLE ARROW - 0x21D1: [694,193,703,30,672,'672 343Q672 326 670 320T657 313Q644 313 602 335Q577 349 557 361T527 381T509 395T499 403T495 406T494 118Q494 -166 492 -174Q484 -193 465 -193H463Q456 -193 453 -192T444 -186T433 -170V465L423 477Q407 495 394 514T367 554T351 579Q349 576 339 560T313 520T279 477L269 465V-22V-102Q269 -132 269 -145T268 -169T266 -180T260 -185T253 -191Q248 -193 239 -193H237Q218 -193 210 -174Q208 -166 208 118Q208 406 207 406L199 399Q191 392 165 374T100 335Q58 313 45 313Q35 313 33 319T30 343V349Q30 359 30 362T35 369T45 374T66 383T100 401Q267 499 333 680Q339 694 351 694Q361 694 365 687T380 652T407 597Q442 536 489 489T573 420T638 383T670 365Q672 361 672 343'], - - // RIGHTWARDS DOUBLE ARROW - 0x21D2: [547,46,1150,64,1084,'64 362Q64 380 87 393H416L745 394L735 405Q708 436 681 477T654 531Q654 547 679 547H684H689Q703 547 710 540T723 519T750 475T806 411Q914 303 1059 271Q1060 271 1063 270T1068 269T1072 268T1076 266T1079 264T1082 260T1083 256T1084 250Q1084 242 1080 238T1063 231T1035 225T992 211T934 185Q797 112 719 -24Q710 -40 706 -43T689 -46H684Q653 -46 653 -31Q653 -24 661 -10Q694 50 737 99L745 108H416L87 109Q64 117 64 139Q64 156 87 169H449L812 170L826 180Q842 193 860 204T892 223T918 237T937 246L944 250L919 264Q866 290 825 321L811 332H449L87 333Q64 343 64 362'], - - // DOWNWARDS DOUBLE ARROW - 0x21D3: [694,194,703,30,672,'30 157Q30 174 32 180T46 187Q59 187 104 163Q154 136 198 101L207 94Q208 94 208 382Q208 666 210 674Q219 694 241 694Q254 692 262 683Q266 679 267 674Q269 658 269 522V35L279 23Q295 5 308 -14T335 -54T351 -79Q353 -76 363 -60T389 -20T423 23L433 35V671Q439 682 444 686T452 692T463 693H465Q484 693 492 674Q494 666 494 382Q494 94 495 94L504 101Q547 135 593 160T652 187Q665 191 671 177Q672 175 672 157Q672 137 669 134T636 116Q606 101 578 83T528 47T486 9T452 -30T424 -68T403 -103T387 -134T377 -159T370 -176L367 -184Q360 -194 351 -194Q345 -194 342 -192T334 -182T327 -166T315 -137T295 -97Q260 -36 213 11T129 80T63 117T32 136Q30 139 30 157'], - - // LEFT RIGHT DOUBLE ARROW - 0x21D4: [547,46,1150,47,1102,'336 497Q358 541 363 544Q367 547 379 547H384Q401 547 405 545Q418 538 414 525T389 474T346 408L335 393H814L803 408Q781 436 760 474T735 525T744 545Q748 547 765 547Q771 547 774 547T780 546T786 544T790 541T794 535T799 527T805 514T813 497Q841 446 877 406T950 340T1014 301T1068 276L1096 265Q1102 259 1102 251Q1102 240 1085 232Q981 195 902 121Q835 56 798 -25Q791 -40 787 -43T765 -46T744 -44Q735 -40 735 -30Q735 -15 760 28T806 98L814 108H335L343 98Q361 75 378 46T404 -1T414 -24Q418 -37 405 -44Q401 -46 384 -46T363 -43T351 -25Q314 56 247 121Q216 150 182 173T125 206T79 226T53 237Q47 243 47 251Q47 254 47 256T49 261T52 264T57 267T61 268T66 270T71 272Q246 335 336 497ZM985 251Q932 280 882 323L871 332H278Q264 321 253 311T237 297T214 282T164 251L176 244Q221 218 278 169H871Q928 218 973 244L985 251'], - - // UP DOWN DOUBLE ARROW - 0x21D5: [767,267,703,30,672,'49 441Q30 441 30 464V471V480Q30 498 44 502Q237 573 331 750Q337 767 351 767Q360 767 368 753T400 702T460 629Q504 584 552 554T632 511T666 497Q672 493 672 471Q672 454 670 449Q664 441 653 441Q639 443 591 465T508 513L495 522L494 386V114L495 -22L508 -13Q543 12 591 34T653 59Q672 59 672 36V29V20Q672 2 658 -2Q465 -71 367 -257Q360 -267 351 -267Q343 -267 336 -257T320 -231T292 -187T242 -129Q198 -84 150 -54T70 -11T36 3Q30 7 30 29Q30 46 32 51Q38 59 49 59Q63 57 111 35T194 -13L208 -22V522L194 513Q159 488 111 466T49 441ZM422 584Q411 594 400 606T383 626T366 648T351 667Q349 665 339 652T314 620T280 584L269 573V-73L280 -84Q305 -108 351 -166Q353 -164 363 -151T389 -119T422 -84L433 -73V573L422 584'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/Arrows.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js deleted file mode 100644 index 60957cde..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js +++ /dev/null @@ -1,149 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/BasicLatin.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // SPACE - 0x20: [0,0,250,0,0,''], - - // EXCLAMATION MARK - 0x21: [705,-1,350,89,260,'89 629Q89 663 116 684T171 705Q215 705 237 681T260 634Q260 619 233 434T204 244Q201 237 175 237Q150 237 146 244Q144 248 117 433T89 629ZM90 86Q90 125 116 148T177 171Q211 169 235 146T259 86Q259 48 235 25T175 1Q138 1 114 24T90 86'], - - // QUOTATION MARK - 0x22: [694,-328,603,38,492,'38 572T38 608T61 669T121 694Q167 694 196 657T225 559Q225 520 214 482T186 418T151 370T119 339T99 329T82 340T70 360Q70 365 74 369T92 385T122 414Q142 441 154 471T170 518L172 535L166 532Q160 530 148 527T122 523Q85 523 62 547ZM305 572T305 608T328 669T388 694Q434 694 463 657T492 559Q492 520 481 482T453 418T418 370T386 339T366 329T349 340T337 360Q337 365 341 369T359 385T389 414Q409 441 421 471T436 518L439 535L433 532Q427 530 415 527T389 523Q352 523 329 547'], - - // NUMBER SIGN - 0x23: [694,193,958,64,893,'64 362Q64 380 87 393H363L366 404Q379 443 390 480T409 542T424 590T435 628T443 655T451 674T458 686T467 692T478 694Q490 694 499 686T509 662Q505 643 427 395Q427 393 523 393H620L623 404Q630 426 652 498T691 624T711 681Q718 694 735 694Q748 694 757 685T766 662Q762 643 684 395Q684 393 777 393H871Q872 392 875 390T881 386T887 381T891 374T893 363Q893 345 871 333L767 332H664L660 319Q660 318 638 245T614 171Q614 169 742 169H871L877 165Q883 161 885 159T890 151T893 138Q893 120 871 109L732 108H594L590 95Q587 84 546 -46Q508 -175 505 -178Q498 -193 478 -193Q462 -193 455 -183T448 -164Q448 -156 530 106Q530 108 434 108H337L333 95Q330 84 289 -46Q251 -175 248 -178Q240 -193 222 -193Q206 -193 199 -183T191 -164Q191 -154 273 106Q273 108 180 108L87 109Q64 117 64 139Q64 156 87 169H293L321 262Q326 277 331 294T340 321L343 330Q343 332 215 332L87 333Q64 343 64 362ZM600 330Q600 332 504 332H407L403 319Q403 318 381 245T357 171Q357 169 453 169H550L578 262Q583 277 588 294T597 321L600 330'], - - // DOLLAR SIGN - 0x24: [750,56,575,64,510,'64 494Q64 541 80 579T120 638T171 674T219 693T253 698H256V750H318V699H323Q355 694 380 686T433 663T480 620T506 556Q510 539 510 520Q510 480 488 463T440 445L422 447Q407 451 398 459Q370 478 370 515Q370 542 384 559T412 580L427 584Q424 589 418 596T386 617T324 636H318V434Q411 419 460 355T510 217Q510 196 507 175T492 122T461 67T404 23T318 -4V-56H256V-5H254Q252 -3 240 -3Q194 4 160 23T108 64T80 112T67 156T64 190Q64 218 81 240T134 262Q171 262 187 240T204 193T190 150T153 125Q146 125 144 123Q142 123 149 113T174 89T218 66Q247 58 255 58Q256 58 256 173V287L239 291Q160 308 112 365T64 494ZM255 636Q246 635 236 632T206 620T173 591T160 543Q160 472 256 448V542Q256 636 255 636ZM320 59Q324 59 333 61T356 70T384 89T406 120T415 167Q415 200 395 225T356 260T318 274V59H320'], - - // PERCENT SIGN - 0x25: [751,56,958,65,893,'65 549Q65 609 84 652T132 714T187 742T236 750Q265 750 296 734T355 697T431 661T541 644Q662 644 736 730Q751 749 767 749T790 739T797 719Q797 710 768 672T504 329Q212 -47 211 -48Q203 -55 191 -55Q161 -55 161 -25Q161 -17 163 -12L642 609Q608 595 542 595Q515 595 488 599T441 608T405 619T381 628L373 632Q373 630 375 619T380 589T383 548Q383 455 343 401T235 347Q217 347 198 351T154 368T110 403T78 462T65 549ZM320 549Q320 633 295 665T235 698H234Q214 698 196 674Q182 650 182 549Q182 509 183 486T190 441T207 409T238 399Q269 399 294 431T320 549ZM745 -56Q727 -56 708 -52T664 -35T620 0T588 59T575 146T588 232T620 291T663 325T708 343T747 347Q810 347 851 294T893 146Q893 89 879 48T841 -15T794 -46T745 -56ZM830 146Q830 230 805 262T745 295H744Q724 295 706 271Q692 247 692 146Q692 106 693 83T700 38T717 6T748 -4Q779 -4 804 28T830 146'], - - // AMPERSAND - 0x26: [705,11,894,48,836,'255 -11Q209 -11 164 4T84 56T48 146Q48 159 50 171Q57 197 72 218T99 249T152 292Q204 333 204 334L194 356Q185 379 176 421T166 511Q166 538 168 551Q182 613 226 654T332 704Q334 704 343 704T358 705Q412 702 444 661T476 565V559Q476 489 334 371L330 368L335 357Q382 272 485 165L496 154L506 163Q543 200 597 273L671 382H601V444H610L732 441Q821 441 830 444H836V382H741L709 335Q702 324 687 302T665 270T646 244T625 216T605 191T581 162T553 132L537 116Q544 109 557 98T605 69T673 51Q711 51 739 70T767 115V118H829V114Q829 70 786 30T668 -11Q570 -11 474 37L451 49L441 43Q352 -11 255 -11ZM415 564Q415 596 400 625T356 654Q329 654 310 634T285 588Q283 580 283 554Q283 475 309 417L325 431Q415 512 415 564ZM192 182Q192 126 213 89T279 51Q348 51 400 83L389 91Q362 112 338 137T295 186T264 229T240 265T227 286Q226 285 222 280T217 272T211 263T205 251T200 238T196 222T193 204T192 182'], - - // APOSTROPHE - 0x27: [694,-329,319,74,261,'74 572T74 608T97 669T157 694Q203 694 232 657T261 559Q261 520 250 482T222 418T187 370T155 339T135 329Q128 329 117 340T106 359Q106 365 117 375T144 399T176 440T203 505Q204 511 205 518T208 530V535L202 532Q196 530 184 527T158 523Q121 523 98 547'], - - // ASTERISK - 0x2A: [750,-306,575,72,502,'235 706Q235 724 251 737T287 750Q306 750 322 738T339 706Q339 685 318 580V579Q429 663 436 666Q441 668 449 668Q471 668 486 650T501 612Q501 582 478 572Q476 570 414 549L354 528L414 507Q420 505 430 502T445 497T458 492T470 488T479 483T487 478T493 471T497 463T500 454T501 443Q501 423 486 406T449 388H446Q435 388 370 437Q339 461 318 477V476Q339 371 339 350Q339 332 323 319T287 306T251 319T235 350Q235 371 256 476V477Q145 393 138 390Q133 388 125 388Q103 388 88 406T73 444Q73 474 96 484Q98 486 160 507L220 528L160 549Q154 551 144 554T129 559T116 564T104 568T95 573T87 578T81 585T77 593T74 602T73 613Q73 633 88 650T125 668H128Q139 668 204 619Q235 595 256 579V580Q235 685 235 706'], - - // HYPHEN-MINUS - 0x2D: [278,-166,383,13,318,'13 166V278H318V166H13'], - - // QUESTION MARK - 0x3F: [700,-1,543,65,478,'65 570Q65 628 119 664T259 700Q326 700 372 688T440 654T469 613T478 569Q478 505 412 465Q287 391 287 294V283Q287 250 284 244T263 237H256H249Q232 237 229 242T225 272V287Q227 364 253 418Q274 463 311 504Q335 530 335 575Q335 622 323 635T259 648Q231 648 209 644T179 636T170 630L172 628Q174 627 177 625T183 620T190 611T197 601T202 587T204 570Q204 539 185 519T134 499Q105 499 85 517T65 570ZM171 86Q171 125 197 148T258 171Q292 169 316 146T340 86Q340 48 316 25T256 1Q218 1 195 24T171 86'], - - // COMMERCIAL AT - 0x40: [699,6,894,64,829,'64 347Q64 511 171 605T434 699Q487 699 500 698Q624 684 703 621T811 464Q828 414 828 344Q828 232 788 179T691 125Q673 125 657 127T628 132T606 140T588 148T576 156T568 162L566 164Q565 164 549 154T504 135T444 125Q349 125 284 183T218 347Q218 455 284 512T448 569Q554 569 610 479H638Q670 479 674 471Q676 468 676 340V258Q676 213 679 199T694 178Q701 174 713 177Q767 187 767 340Q767 489 678 569T446 649Q299 649 213 566T126 346Q126 307 134 269T166 189T225 116T320 65T455 45H463Q606 51 721 91L746 99H782H801Q829 99 829 85Q829 78 825 75T804 65Q800 63 797 62Q625 -6 451 -6Q271 -6 168 91T64 347ZM547 468Q526 493 504 505T444 517T377 476T346 347Q346 306 354 271T386 206T448 177Q505 177 547 226V468'], - - // LATIN CAPITAL LETTER A - 0x41: [698,0,869,40,828,'296 0Q278 3 164 3Q58 3 49 0H40V62H92Q144 62 144 64Q388 682 397 689Q403 698 434 698Q463 698 471 689Q475 686 538 530T663 218L724 64Q724 62 776 62H828V0H817Q796 3 658 3Q509 3 485 0H472V62H517Q561 62 561 63L517 175H262L240 120Q218 65 217 64Q217 62 261 62H306V0H296ZM390 237L492 238L440 365Q390 491 388 491Q287 239 287 237H390'], - - // LATIN CAPITAL LETTER B - 0x42: [686,0,818,39,752,'720 510Q720 476 704 448T665 404T619 377T580 362L564 359L583 356Q602 353 632 342T690 312Q712 292 725 276Q752 235 752 189V183Q752 160 741 125Q698 18 547 2Q543 1 288 0H39V62H147V624H39V686H264H409Q502 686 542 681T624 655Q720 607 720 510ZM563 513Q563 553 548 578T518 611T486 622Q479 624 385 624H293V382H375Q458 383 467 385Q563 405 563 513ZM590 192Q590 307 505 329Q504 330 503 330L398 331H293V62H391H400H444Q496 62 528 75T580 131Q590 155 590 192'], - - // LATIN CAPITAL LETTER C - 0x43: [697,11,831,64,766,'64 343Q64 502 174 599T468 697Q502 697 533 691T586 674T623 655T647 639T657 632L694 663Q703 670 711 677T723 687T730 692T735 695T740 696T746 697Q759 697 762 692T766 668V627V489V449Q766 428 762 424T742 419H732H720Q699 419 697 436Q690 498 657 545Q611 618 532 632Q522 634 496 634Q356 634 286 553Q232 488 232 343T286 133Q355 52 497 52Q597 52 650 112T704 237Q704 248 709 251T729 254H735Q750 254 755 253T763 248T766 234Q766 136 680 63T469 -11Q285 -11 175 86T64 343'], - - // LATIN CAPITAL LETTER D - 0x44: [686,0,882,39,817,'39 624V686H270H310H408Q500 686 545 680T638 649Q768 584 805 438Q817 388 817 338Q817 171 702 75Q628 17 515 2Q504 1 270 0H39V62H147V624H39ZM655 337Q655 370 655 390T650 442T639 494T616 540T580 580T526 607T451 623Q443 624 368 624H298V62H377H387H407Q445 62 472 65T540 83T606 129Q629 156 640 195T653 262T655 337'], - - // LATIN CAPITAL LETTER E - 0x45: [680,0,756,39,723,'723 286Q721 284 700 145T677 3V0H39V62H147V618H39V680H660V676Q662 670 675 552T691 428V424H629V428Q629 429 627 448T618 494T601 541Q574 593 527 605T382 618H374H304V384H336Q338 384 347 384T361 384T376 386T392 390T407 397T421 407T432 423Q442 444 443 482V501H505V205H443V224Q442 258 435 278T411 307T380 318T336 322H304V62H375H394Q429 62 449 62T497 66T541 76T577 95T609 126T632 170T651 232Q661 287 661 289H723V286'], - - // LATIN CAPITAL LETTER F - 0x46: [680,0,724,39,675,'425 0L228 3Q63 3 51 0H39V62H147V618H39V680H644V676Q647 670 659 552T675 428V424H613Q613 433 605 477Q599 511 589 535T562 574T530 599T488 612T441 617T387 618H368H304V371H333Q389 373 411 390T437 468V488H499V192H437V212Q436 244 430 263T408 292T378 305T333 309H304V62H439V0H425'], - - // LATIN CAPITAL LETTER G - 0x47: [697,10,904,64,845,'465 -10Q281 -10 173 88T64 343Q64 413 85 471T143 568T217 631T298 670Q371 697 449 697Q452 697 459 697T470 696Q502 696 531 690T582 675T618 658T644 641T656 632L732 695Q734 697 745 697Q758 697 761 692T765 668V627V489V449Q765 428 761 424T741 419H731H724Q705 419 702 422T695 444Q683 520 631 577T495 635Q364 635 295 563Q261 528 247 477T232 343Q232 296 236 260T256 185T296 120T366 76T472 52Q481 51 498 51Q544 51 573 67T607 108Q608 111 608 164V214H464V276H479Q506 273 680 273Q816 273 834 276H845V214H765V113V51Q765 16 763 8T750 0Q742 2 709 16T658 40L648 46Q592 -10 465 -10'], - - // LATIN CAPITAL LETTER H - 0x48: [686,0,900,39,860,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V624H39V686H51Q75 683 226 683Q376 683 400 686H412V624H304V388H595V624H487V686H499Q523 683 673 683Q824 683 848 686H860V624H752V62H860V0H848Q824 3 674 3Q523 3 499 0H487V62H595V326H304V62H412V0H400'], - - // LATIN CAPITAL LETTER I - 0x49: [686,0,436,25,410,'397 0Q370 3 218 3Q65 3 38 0H25V62H139V624H25V686H38Q65 683 218 683Q370 683 397 686H410V624H296V62H410V0H397'], - - // LATIN CAPITAL LETTER J - 0x4A: [686,11,594,8,527,'174 114Q174 96 169 82T159 63T144 47L155 45Q183 40 203 40Q271 40 290 104Q294 118 294 150T295 380V624H154V686H169Q196 683 365 683Q499 683 517 686H527V624H446V379Q446 183 446 153T441 108Q413 32 315 2Q266 -11 208 -11Q160 -11 118 -2T42 37T8 114V122Q8 150 30 174T91 198T152 174T174 122V114'], - - // LATIN CAPITAL LETTER K - 0x4B: [686,0,901,39,852,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V624H39V686H51Q75 683 226 683Q376 683 400 686H412V624H304V338L472 483L634 624H565V686H576Q597 683 728 683Q814 683 829 686H836V624H730L614 524Q507 432 497 422Q496 422 498 418T514 395T553 342T627 241L759 63L805 62H852V0H842Q830 3 701 3Q550 3 526 0H513V62H549Q584 62 584 63Q583 65 486 196T388 328L304 256V62H412V0H400'], - - // LATIN CAPITAL LETTER L - 0x4C: [686,0,692,39,643,'643 285Q641 280 629 148T612 4V0H39V62H147V624H39V686H51Q75 683 228 683Q415 685 425 686H439V624H304V62H352H378Q492 62 539 138Q551 156 558 178T569 214T576 255T581 289H643V285'], - - // LATIN CAPITAL LETTER M - 0x4D: [686,0,1092,39,1052,'314 0Q296 3 181 3T48 0H39V62H147V624H39V686H305Q316 679 323 667Q330 653 434 414L546 157L658 414Q766 662 773 674Q778 681 788 686H1052V624H944V62H1052V0H1040Q1016 3 874 3T708 0H696V62H804V341L803 618L786 580Q770 543 735 462T671 315Q540 13 536 9Q528 1 507 1Q485 1 477 9Q472 14 408 162T281 457T217 603Q215 603 215 334V62H323V0H314'], - - // LATIN CAPITAL LETTER N - 0x4E: [686,0,900,39,860,'314 0Q296 3 181 3T48 0H39V62H147V624H39V686H171H265Q288 686 297 686T309 684T315 679Q317 676 500 455T684 233V624H576V686H585Q603 683 718 683T851 686H860V624H752V319Q752 15 750 11Q747 4 742 2T718 0H712Q708 0 706 0T700 0T696 1T693 2T690 4T687 7T684 11T679 16T674 23Q671 27 437 311L215 579V62H323V0H314'], - - // LATIN CAPITAL LETTER O - 0x4F: [696,10,864,64,798,'64 339Q64 431 96 502T182 614T295 675T420 696Q469 696 481 695Q620 680 709 589T798 339Q798 173 697 82T432 -10Q262 -10 163 85T64 339ZM625 454Q618 502 600 538T562 593T515 624T469 639T431 642Q331 642 276 563Q232 493 232 353Q232 315 234 285T244 216T267 148T308 94T372 56Q405 46 432 46Q517 46 567 106T627 267Q631 299 631 353Q631 418 625 454'], - - // LATIN CAPITAL LETTER P - 0x50: [686,0,786,39,722,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V624H39V686H253Q435 686 470 685T536 678Q585 668 621 648T675 605T705 557T718 514T721 483T718 451T704 409T673 362T616 322T530 293Q500 288 399 287H304V62H412V0H400ZM553 475Q553 554 537 582T459 622Q451 623 373 624H298V343H372Q457 344 480 350Q527 362 540 390T553 475'], - - // LATIN CAPITAL LETTER Q - 0x51: [696,193,864,64,805,'64 339Q64 431 96 502T182 614T295 675T420 696Q469 696 481 695Q620 680 709 589T798 339Q798 255 768 184Q720 77 611 26L600 21Q635 -26 682 -26H696Q769 -26 769 0Q769 7 774 12T787 18Q805 18 805 -7V-13Q803 -64 785 -106T737 -171Q720 -183 697 -191Q687 -193 668 -193Q636 -193 613 -182T575 -144T552 -94T532 -27Q531 -23 530 -16T528 -6T526 -3L512 -5Q499 -7 477 -8T431 -10Q393 -10 382 -9Q238 8 151 97T64 339ZM326 80Q326 113 356 138T430 163Q492 163 542 100L553 86Q554 85 561 91T578 108Q637 179 637 330Q637 430 619 498T548 604Q500 641 425 641Q408 641 390 637T347 623T299 590T259 535Q226 469 226 338Q226 244 246 180T318 79L325 74Q326 74 326 80ZM506 58Q480 112 433 112Q412 112 395 104T378 77Q378 44 431 44Q480 44 506 58'], - - // LATIN CAPITAL LETTER R - 0x52: [687,11,862,39,858,'394 0Q370 3 222 3Q75 3 51 0H39V62H147V624H39V686H234Q256 686 299 686T362 687Q479 687 554 669T681 593Q716 550 716 497Q716 390 568 338Q569 337 572 336T577 332Q605 317 623 300T650 258T662 218T668 172Q678 98 689 76Q707 40 748 40Q770 40 780 54T795 88T801 111Q805 117 827 117H831Q846 117 852 113T858 92Q857 78 852 63T834 30T797 1T739 -11Q630 -11 580 12T511 87Q506 104 506 168Q506 170 506 178T507 194Q507 289 438 313Q424 318 356 318H298V62H406V0H394ZM366 369Q459 370 490 381Q548 402 548 476V498V517Q548 578 513 600Q479 624 392 624H358H298V369H366'], - - // LATIN CAPITAL LETTER S - 0x53: [698,12,639,63,574,'64 493Q64 582 120 636T264 696H272Q280 697 285 697Q380 697 454 645L480 669Q484 672 488 676T495 683T500 688T504 691T508 693T511 695T514 696T517 697T522 697Q536 697 539 691T542 652V577Q542 557 542 532T543 500Q543 472 540 465T524 458H511H505Q489 458 485 461T479 478Q472 529 449 564T393 614T336 634T287 639Q228 639 203 610T177 544Q177 517 195 493T247 457Q253 454 343 436T475 391Q574 326 574 207V200Q574 163 559 120Q517 12 389 -9Q380 -10 346 -10Q308 -10 275 -5T221 7T184 22T160 35T151 40L126 17Q122 14 118 10T111 3T106 -2T102 -5T98 -7T95 -9T92 -10T89 -11T84 -11Q70 -11 67 -4T64 35V108Q64 128 64 153T63 185Q63 203 63 211T69 223T77 227T94 228H100Q118 228 122 225T126 205Q130 125 193 88T345 51Q408 51 434 82T460 157Q460 196 439 221T388 257Q384 259 305 276T221 295Q155 313 110 366T64 493'], - - // LATIN CAPITAL LETTER T - 0x54: [675,0,800,41,758,'41 425Q41 426 51 545T62 669V675H737V669Q738 665 748 546T758 425V419H696V425Q687 517 669 555T595 607Q578 612 522 613H478V62H631V0H615Q585 3 399 3Q214 3 184 0H168V62H321V613H277H263Q164 613 134 561Q113 527 103 425V419H41V425'], - - // LATIN CAPITAL LETTER U - 0x55: [686,11,885,39,845,'570 686Q588 683 703 683T836 686H845V624H737V420Q737 390 737 345T738 284Q738 205 729 164T689 83Q614 -11 465 -11Q321 -11 240 51T148 207Q147 214 147 421V624H39V686H51Q75 683 226 683Q376 683 400 686H412V624H304V405V370V268Q304 181 311 146T346 87Q387 52 466 52Q642 52 667 195Q668 204 669 415V624H561V686H570'], - - // LATIN CAPITAL LETTER V - 0x56: [686,7,869,25,843,'592 686H604Q615 685 631 685T666 684T700 684T724 683Q829 683 835 686H843V624H744L611 315Q584 254 546 165Q492 40 482 19T461 -6L460 -7H409Q398 -4 391 9Q385 20 257 315L124 624H25V686H36Q57 683 190 683Q340 683 364 686H377V624H289L384 403L480 185L492 212Q504 240 529 298T575 405L670 624H582V686H592'], - - // LATIN CAPITAL LETTER W - 0x57: [686,7,1189,24,1164,'915 686L1052 683Q1142 683 1157 686H1164V624H1073L957 320Q930 249 900 170T855 52T839 10Q834 0 826 -5Q821 -7 799 -7H792Q777 -7 772 -5T759 10Q759 11 748 39T716 122T676 228L594 442L512 228Q486 159 455 78Q433 19 428 9T416 -5Q411 -7 389 -7H379Q356 -7 349 10Q349 12 334 51T288 170T231 320L116 624H24V686H35Q44 683 183 683Q331 683 355 686H368V624H323Q278 624 278 623L437 207L499 369L561 531L526 624H434V686H445Q454 683 593 683Q741 683 765 686H778V624H733Q688 624 688 623L847 207Q848 207 927 415T1006 624H905V686H915'], - - // LATIN CAPITAL LETTER X - 0x58: [686,0,869,33,835,'327 0Q306 3 174 3Q52 3 43 0H33V62H98L162 63L360 333L157 624H48V686H59Q80 683 217 683Q368 683 395 686H408V624H335L393 540L452 458L573 623Q573 624 528 624H483V686H494Q515 683 646 683Q769 683 778 686H787V624H658L575 511Q493 398 493 397L508 376Q522 356 553 312T611 229L727 62H835V0H824Q803 3 667 3Q516 3 489 0H476V62H513L549 63L401 274L247 63Q247 62 292 62H338V0H327'], - - // LATIN CAPITAL LETTER Y - 0x59: [686,0,869,19,849,'605 0Q581 3 434 3Q286 3 262 0H250V62H358V275L126 624H19V686H30Q54 683 189 683Q361 685 370 686H383V624H308L319 608Q330 591 353 556T396 491L484 359L660 623Q660 624 623 624H585V686H595Q613 683 728 683Q832 683 841 686H849V624H742L509 274V62H618V0H605'], - - // LATIN CAPITAL LETTER Z - 0x5A: [686,0,703,64,645,'80 430L92 686H358Q624 686 628 684Q638 679 638 656Q638 640 637 639Q637 638 445 353Q401 288 351 214T277 103L253 67L256 66Q258 66 265 66T279 66T298 66H343Q380 66 406 68T464 81T518 110T557 164T579 250Q583 278 583 298Q583 299 614 299H645V291Q643 281 636 150T627 8V0H353Q79 0 75 2Q64 7 64 31Q64 48 66 52L259 340L451 623Q451 624 384 624Q294 623 259 612Q155 581 143 446Q142 440 142 432V430H80'], - - // LOW LINE - 0x5F: [-10,61,575,0,574,'0 -61V-10H574V-61H0'], - - // GRAVE ACCENT - 0x60: [706,-503,575,113,338,'114 634Q114 663 136 684T183 706Q191 706 196 705T208 700T219 693T232 681T245 666T262 645T282 620Q332 558 337 553Q338 552 318 527L299 503L223 543Q215 547 202 553T183 563T167 571T153 580T141 587T131 595T124 603T118 612T115 622T114 634'], - - // TILDE - 0x7E: [344,-202,575,96,478,'343 202Q320 202 278 225T215 249Q181 249 146 214L134 202L115 219Q111 222 106 226T98 234L96 236Q158 306 165 313Q199 344 230 344Q239 344 244 343Q262 339 300 318T359 297Q393 297 428 332L440 344L459 327Q463 324 468 320T476 312L478 310Q416 240 409 233Q375 202 343 202'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js deleted file mode 100644 index 580ae187..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js +++ /dev/null @@ -1,62 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/CombDiacritMarks.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // COMBINING GRAVE ACCENT - 0x300: [706,-503,0,-462,-237,'-461 634Q-461 663 -439 684T-392 706Q-384 706 -379 705T-367 700T-356 693T-343 681T-330 666T-313 645T-293 620Q-243 558 -238 553Q-237 552 -257 527L-276 503L-352 543Q-360 547 -373 553T-392 563T-408 571T-422 580T-434 587T-444 595T-451 603T-457 612T-460 622T-461 634'], - - // COMBINING ACUTE ACCENT - 0x301: [706,-503,0,-339,-115,'-184 706Q-156 706 -136 683T-115 634Q-115 608 -134 593T-209 550Q-219 545 -224 543L-300 503L-319 527Q-339 552 -338 553Q-333 558 -283 620Q-276 629 -266 641T-251 659T-239 673T-229 685T-221 693T-212 699T-204 703T-195 705T-184 706'], - - // COMBINING CIRCUMFLEX ACCENT - 0x302: [694,-520,0,-449,-126,'-368 632L-288 694Q-286 693 -207 632T-127 570T-144 545T-162 520Q-165 520 -225 559L-288 597L-351 559Q-411 520 -414 520Q-415 520 -432 544T-449 570T-368 632'], - - // COMBINING TILDE - 0x303: [694,-552,0,-479,-97,'-232 552Q-255 552 -297 575T-360 599Q-394 599 -429 564L-441 552L-460 569Q-464 572 -469 576T-476 584L-479 586Q-417 656 -410 663Q-376 694 -345 694Q-336 694 -331 693Q-313 689 -275 668T-216 647Q-182 647 -147 682L-135 694L-116 677Q-112 674 -107 670T-100 662L-97 660Q-159 590 -166 583Q-200 552 -232 552'], - - // COMBINING MACRON - 0x304: [607,-540,0,-495,-81,'-495 540V607H-81V540H-495'], - - // COMBINING BREVE - 0x306: [694,-500,0,-473,-103,'-288 500Q-367 500 -420 558T-473 689V694H-422V685Q-422 681 -421 674T-411 648T-389 615T-349 590T-288 578Q-228 578 -193 611T-154 685V694H-103V689Q-103 623 -153 562T-288 500'], - - // COMBINING DOT ABOVE - 0x307: [695,-525,0,-373,-203,'-373 610Q-373 647 -348 671T-292 695Q-251 695 -227 669T-203 610T-225 551T-288 525Q-327 525 -350 551T-373 610'], - - // COMBINING DIAERESIS - 0x308: [695,-535,0,-479,-97,'-479 615Q-479 650 -456 672T-397 695Q-361 693 -341 669T-320 615Q-320 583 -343 559T-399 535Q-428 535 -453 556T-479 615ZM-256 615Q-256 651 -232 673T-176 695Q-149 695 -123 675T-97 615Q-97 578 -121 557T-180 535Q-211 537 -233 559T-256 615'], - - // COMBINING RING ABOVE - 0x30A: [702,-535,0,-415,-161,'-415 618Q-415 653 -382 677T-296 702H-291Q-194 702 -168 647Q-161 634 -161 618Q-161 607 -165 596T-180 570T-220 546T-288 536T-355 545T-394 568T-410 594T-415 618ZM-223 618Q-223 645 -234 652T-274 659H-283Q-289 659 -297 659T-307 660Q-328 660 -339 653T-351 638T-353 619Q-353 591 -341 585T-288 578Q-260 578 -249 580T-230 590T-223 618'], - - // COMBINING DOUBLE ACUTE ACCENT - 0x30B: [714,-511,0,-442,-82,'-389 511L-442 543Q-442 544 -424 606T-404 674Q-390 705 -361 713Q-360 713 -356 713T-349 714Q-340 714 -330 712Q-273 690 -273 644Q-273 621 -290 604L-342 554L-389 511ZM-198 511L-251 543Q-251 544 -233 606T-213 674Q-199 705 -170 713Q-169 713 -165 713T-158 714Q-127 714 -105 693T-82 647Q-82 638 -84 631T-89 618T-99 604T-112 590T-130 574T-151 554L-198 511'], - - // COMBINING CARON - 0x30C: [660,-515,0,-445,-132,'-444 603Q-445 604 -439 618T-425 646T-417 659L-352 635L-288 611L-224 635L-159 659Q-158 660 -151 647T-138 619T-132 603Q-135 601 -211 558T-288 515T-365 558T-444 603'], - - // COMBINING LONG SOLIDUS OVERLAY - 0x338: [711,210,0,-734,-161,'-705 -210Q-715 -210 -724 -203T-734 -179Q-734 -171 -732 -166Q-730 -163 -474 266T-215 698Q-208 711 -190 711Q-180 711 -171 704T-161 681Q-161 672 -164 667Q-171 654 -425 228T-683 -201Q-692 -210 -705 -210'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js deleted file mode 100644 index 57b60dbd..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/CombDiactForSymbols.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // COMBINING RIGHT ARROW ABOVE - 0x20D7: [723,-513,0,-542,-33,'-169 694Q-169 707 -160 715T-142 723Q-127 723 -119 716T-107 698T-90 673T-53 648Q-33 637 -33 619Q-33 602 -45 595T-87 573T-144 532Q-165 513 -176 513Q-189 513 -197 522T-206 543Q-206 556 -188 574L-175 588H-347L-519 589Q-542 597 -542 618Q-542 623 -541 627T-537 635T-532 640T-527 644T-522 648L-519 649H-149Q-169 676 -169 694'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/CombDiactForSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js deleted file mode 100644 index bb62d6a3..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js +++ /dev/null @@ -1,56 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/GeneralPunctuation.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // EN DASH - 0x2013: [300,-249,575,0,574,'0 249V300H574V249H0'], - - // EM DASH - 0x2014: [300,-249,1150,0,1149,'0 249V300H1149V249H0'], - - // LEFT SINGLE QUOTATION MARK - 0x2018: [695,-329,319,58,246,'58 461Q58 503 70 542T99 607T134 654T165 684T184 694T201 683T213 664Q213 658 202 648T175 624T143 583T116 518Q115 512 114 505T112 493L111 488Q132 500 161 500Q198 500 221 475T245 414T222 354T161 329Q112 329 85 369T58 461'], - - // RIGHT SINGLE QUOTATION MARK - 0x2019: [694,-329,319,74,261,'74 572T74 608T97 669T157 694Q203 694 232 657T261 559Q261 520 250 482T222 418T187 370T155 339T135 329Q128 329 117 340T106 359Q106 365 117 375T144 399T176 440T203 505Q204 511 205 518T208 530V535L202 532Q196 530 184 527T158 523Q121 523 98 547'], - - // LEFT DOUBLE QUOTATION MARK - 0x201C: [694,-329,603,110,564,'110 461Q110 502 121 541T150 606T185 653T217 684T235 694Q242 694 254 682T266 664Q266 659 254 648T226 623T193 578T167 511Q164 500 164 494T164 487Q188 500 212 500Q251 500 274 475T297 414Q297 378 274 354T212 329Q167 329 139 367T110 461ZM377 461Q377 502 388 541T417 606T452 653T484 684T502 694Q509 694 521 682T533 664Q533 659 521 648T493 623T460 578T434 511Q431 500 431 494T431 487Q455 500 479 500Q518 500 541 475T564 414Q564 378 541 354T479 329Q434 329 406 367T377 461'], - - // RIGHT DOUBLE QUOTATION MARK - 0x201D: [694,-328,603,38,492,'38 572T38 608T61 669T121 694Q167 694 196 657T225 559Q225 520 214 482T186 418T151 370T119 339T99 329T82 340T70 360Q70 365 74 369T92 385T122 414Q142 441 154 471T170 518L172 535L166 532Q160 530 148 527T122 523Q85 523 62 547ZM305 572T305 608T328 669T388 694Q434 694 463 657T492 559Q492 520 481 482T453 418T418 370T386 339T366 329T349 340T337 360Q337 365 341 369T359 385T389 414Q409 441 421 471T436 518L439 535L433 532Q427 530 415 527T389 523Q352 523 329 547'], - - // DAGGER - 0x2020: [702,211,511,64,446,'231 470Q232 471 232 473Q232 477 213 540T193 636Q192 642 192 651T204 677T239 700Q249 702 255 702Q300 702 315 660Q317 653 317 636Q317 603 298 539T279 472V470Q280 470 318 488T383 506Q408 506 423 493T442 467T446 444T443 421T424 396T383 382Q355 382 318 400T279 418Q278 416 285 392T303 334T316 284Q318 268 318 234Q318 149 311 45T296 -127T284 -203Q279 -211 255 -211Q237 -211 233 -210T226 -203Q222 -195 214 -129T199 41T192 234V245Q192 286 212 349Q233 413 231 418Q229 418 192 400T128 382Q102 382 86 396T67 421T64 444T67 466T86 492T128 506Q155 506 192 488T231 470'], - - // DOUBLE DAGGER - 0x2021: [703,202,511,64,446,'193 637Q193 663 206 679T231 698T255 702T279 699T304 679T317 637Q317 605 299 557T280 504Q280 503 281 503T320 521T382 539Q410 539 428 521T446 476Q446 454 432 434T383 414H377Q358 414 320 431T281 449L280 448Q280 444 298 396T317 316Q318 310 318 301T306 275T271 252Q261 250 255 250Q210 250 195 292Q193 299 193 316Q193 347 211 395T230 448Q230 449 229 449Q227 449 196 434Q151 414 133 414H127Q102 414 87 427T68 452T64 477Q64 503 81 521T127 539Q143 539 164 532T204 515T226 504Q230 502 230 504Q230 508 212 556T193 637ZM193 184Q193 210 206 226T231 245T255 249T279 246T304 226T317 184Q317 153 299 106T280 53Q280 51 282 51T322 68T383 86Q411 86 428 69T445 24T428 -21T382 -39Q358 -39 322 -22T282 -4Q280 -3 280 -3T280 -6Q281 -13 299 -59T317 -136Q318 -142 318 -151T306 -177T271 -200Q261 -202 255 -202Q210 -202 195 -160Q193 -153 193 -136Q193 -106 211 -60T230 -6Q230 -4 228 -4T188 -21T128 -39Q100 -39 83 -22T65 24Q65 53 82 69T127 86Q150 86 187 69T228 51Q230 50 230 50T230 53Q229 58 211 105T193 184'], - - // HORIZONTAL ELLIPSIS - 0x2026: [171,-1,1295,74,1221,'74 85Q74 121 99 146T156 171Q200 171 222 143T245 85Q245 56 224 29T160 1Q118 1 96 27T74 85ZM562 85Q562 121 587 146T644 171Q688 171 710 143T733 85Q733 56 712 29T648 1Q606 1 584 27T562 85ZM1050 85Q1050 121 1075 146T1132 171Q1176 171 1198 143T1221 85Q1221 56 1200 29T1136 1Q1094 1 1072 27T1050 85'], - - // PRIME - 0x2032: [563,-33,344,35,331,'240 563Q278 563 304 539T331 480V473Q331 462 316 431T217 236Q199 200 174 151T136 78T123 50Q113 33 105 33Q101 33 72 45T38 60Q35 63 35 65Q35 77 101 293T171 517Q182 542 202 552T240 563'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/GeneralPunctuation.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js deleted file mode 100644 index 4d32d92f..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js +++ /dev/null @@ -1,41 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/GeometricShapes.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // WHITE UP-POINTING TRIANGLE - 0x25B3: [711,-1,1022,69,953,'91 1Q69 10 69 31Q69 39 81 59T168 197Q327 447 485 697Q493 711 510 711Q523 711 532 702Q536 697 743 371T951 41Q953 35 953 31Q953 12 931 1H91ZM690 340Q651 401 604 476T534 586L512 621Q511 622 507 616Q498 604 332 342L154 62L333 61H689L867 62L690 340'], - - // WHITE RIGHT-POINTING SMALL TRIANGLE - 0x25B9: [540,39,575,33,542,'33 518Q45 540 63 540H65Q72 540 174 481Q247 439 302 407Q529 276 533 272Q542 263 542 250Q542 238 533 229Q528 224 304 95T71 -38Q69 -39 63 -39Q42 -39 33 -16V518ZM449 251L94 456Q93 456 93 251Q93 45 94 45L106 52Q119 59 139 71T186 98T242 131T301 165T357 197T404 225T437 244L449 251'], - - // WHITE DOWN-POINTING TRIANGLE - 0x25BD: [500,210,1022,68,953,'68 470Q68 481 75 489T91 499H93Q296 500 512 500H931Q932 499 937 496T945 490T950 482T953 469Q953 465 951 459Q950 455 743 129T532 -202Q524 -210 511 -210Q497 -210 489 -202Q486 -199 281 124T71 456Q68 462 68 470ZM154 439Q155 437 332 158T510 -122Q510 -123 533 -87T600 18T688 157Q866 437 866 438Q867 439 805 439T511 439H154'], - - // WHITE LEFT-POINTING SMALL TRIANGLE - 0x25C3: [539,38,575,33,542,'542 -14Q533 -38 514 -38H512Q503 -38 498 -35Q494 -34 270 95T42 229Q33 238 33 251Q33 259 35 264Q36 265 38 268T42 272Q48 278 271 407T504 539H508Q533 539 542 515V-14ZM481 251Q481 456 480 456Q125 252 124 251Q124 250 301 148T480 45T481 251'], - - // LARGE CIRCLE - 0x25EF: [711,212,1150,65,1084,'65 42T65 250T204 584T574 711Q795 711 935 594Q955 577 974 555T1022 490T1067 385T1084 250Q1084 42 945 -84T574 -211T204 -85ZM1024 250Q1024 431 903 540T578 650Q482 650 404 627T274 565T189 474T140 366T125 250Q125 123 186 31T347 -106T573 -150Q772 -150 898 -45T1024 250'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/GeometricShapes.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js deleted file mode 100644 index 914eea9f..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/GreekAndCoptic.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // GREEK CAPITAL LETTER GAMMA - 0x393: [680,0,692,39,643,'425 0L228 3Q63 3 51 0H39V62H147V618H39V680H612V676Q614 670 627 552T643 428V424H581V428Q580 430 576 461T562 524T532 576Q512 596 481 605T426 616T357 618H304V62H439V0H425'], - - // GREEK CAPITAL LETTER DELTA - 0x394: [698,0,958,56,901,'901 12Q901 7 892 0H479Q65 0 62 2Q56 6 56 11Q56 14 242 347T433 685Q438 694 450 696Q454 698 480 698H506L523 687Q526 683 711 354T899 17Q901 13 901 12ZM653 137L427 538L202 137L315 136H540L653 137'], - - // GREEK CAPITAL LETTER THETA - 0x398: [696,10,894,64,830,'629 -10T446 -10T164 89T64 340Q64 380 71 420T102 510T163 596T266 662T418 696H438Q488 696 499 695Q582 686 644 655T741 584T796 495T823 409T829 338Q829 188 729 89ZM439 645Q416 645 390 638T333 615T275 564T236 480Q221 423 221 341Q221 272 230 228Q247 144 301 94T447 43T592 93T663 228Q672 272 672 341Q672 645 439 645ZM286 242V446H348V412H545V446H607V242H545V276H348V242H286'], - - // GREEK CAPITAL LETTER LAMDA - 0x39B: [698,0,806,40,765,'285 0Q267 3 154 3Q56 3 47 0H40V62H131Q131 63 167 160T244 369T321 578T359 678Q366 698 393 698H404H413Q437 698 446 678Q448 672 560 369T674 62H765V0H754Q733 3 604 3Q453 3 429 0H416V62H461L507 63L355 470Q353 468 279 265L203 63L249 62H294V0H285'], - - // GREEK CAPITAL LETTER XI - 0x39E: [675,0,767,48,718,'54 465L63 674Q63 675 383 675T703 674L712 465Q712 464 681 464H650V467Q650 490 646 516T632 545Q612 550 383 550H283Q169 550 149 548T124 531Q123 530 123 529Q116 506 116 467V464H85Q54 464 54 465ZM160 256V447H222V414H544V447H606V256H544V289H222V256H160ZM57 0L48 222H110V219Q110 147 125 133Q127 130 130 129T160 127T235 126T383 126Q482 126 530 126T604 127T635 129T641 133Q656 146 656 219V222H718L709 0H57'], - - // GREEK CAPITAL LETTER PI - 0x3A0: [680,0,900,39,860,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V618H39V680H860V618H752V62H860V0H848Q824 3 674 3Q523 3 499 0H487V62H595V618H304V62H412V0H400'], - - // GREEK CAPITAL LETTER SIGMA - 0x3A3: [686,0,831,64,766,'766 271Q764 266 750 137T735 4V0H407Q74 0 71 4L70 5Q64 9 64 18Q64 24 82 41T213 158L359 288Q360 288 320 336T214 460Q67 633 66 635Q64 638 64 655Q64 679 75 684Q78 686 407 686H735V682Q738 676 751 558T766 434V430H735Q704 430 704 431Q704 434 703 444T696 477T681 520T654 563T613 598Q578 615 527 619T371 624H281L396 489Q506 358 513 351Q517 342 512 334Q503 325 371 208Q338 179 303 147T249 99L231 83L243 81Q258 81 364 81Q382 81 418 81T470 82T513 83T554 88T587 96T619 109T645 129Q689 173 702 260L704 274Q704 275 735 275H766V271'], - - // GREEK CAPITAL LETTER UPSILON - 0x3A5: [698,0,894,64,829,'64 556Q69 619 114 658T224 697Q271 697 310 677T375 622T417 554T444 484L447 477V479Q456 516 473 551T516 620T582 676T670 697Q735 697 780 656T829 556Q829 539 818 532H772Q761 539 761 548Q761 571 681 571Q664 571 653 570T623 562T587 537T555 490Q536 448 531 410T525 300V210V62H660V0H646L447 3Q257 1 247 0H233V62H368V210V301Q368 373 363 410T338 490Q324 518 307 536T270 561T240 569T212 571Q132 571 132 548Q132 539 121 532H75Q64 538 64 556'], - - // GREEK CAPITAL LETTER PHI - 0x3A6: [686,0,831,64,766,'609 0Q582 3 415 3T221 0H207V62H342V168L328 169Q193 180 117 241Q64 286 64 343T117 445Q193 506 328 517L342 518V624H207V686H221Q248 683 415 683T609 686H623V624H488V518L502 517Q637 506 713 445Q766 400 766 343T713 241Q637 180 502 169L488 168V62H623V0H609ZM342 219T342 343T340 467Q328 467 304 459Q277 451 261 439T237 409T228 378T226 343Q226 314 229 296T250 259T301 228Q331 219 341 219Q342 219 342 343ZM604 343Q604 365 602 379T591 413T560 446T503 464L489 467Q488 467 488 343T489 219Q499 219 529 228Q554 236 570 248T593 277T602 308T604 343'], - - // GREEK CAPITAL LETTER PSI - 0x3A8: [686,0,894,64,829,'64 515Q64 532 71 536T104 540H139Q200 540 207 538Q225 533 236 521T253 489T260 454T264 414Q264 340 287 296T347 237Q369 226 373 226Q374 226 374 425V624H239V686H253Q280 683 447 683T641 686H655V624H520V226L522 227Q525 228 531 229T552 240T580 261T606 298T624 354Q627 368 628 394T631 440T637 482T654 518T686 538Q693 540 754 540H794Q817 540 823 536T829 515Q829 500 824 495T811 489T796 483T782 461T775 408Q767 212 568 175Q526 168 521 168Q520 168 520 115V62H655V0H641Q614 3 447 3T253 0H239V62H374V168L364 169Q290 178 243 203Q126 261 118 409Q117 443 111 461T98 484T83 489T70 495T64 515'], - - // GREEK CAPITAL LETTER OMEGA - 0x3A9: [696,1,831,51,779,'598 645T415 645T232 458Q232 385 275 239T318 26Q318 8 311 4T272 -1Q265 -1 240 -1T196 0H88V3Q86 5 70 108Q52 211 51 212V215H113V212Q123 149 132 133Q136 124 149 122T202 118Q241 118 241 119Q241 132 132 277Q64 378 64 457Q64 564 158 630T403 696Q487 696 543 685T661 638Q722 599 744 549T766 458Q766 434 761 410T749 368T729 327T709 293T684 258T663 229Q632 187 614 160T592 126L589 119Q589 118 628 118Q667 119 680 121T698 133Q702 140 706 160T714 196L717 212V215H779V212Q778 211 760 108Q744 5 742 3V0H634H562Q528 0 520 4T512 26Q512 92 555 238T598 458Q598 645 415 645'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js deleted file mode 100644 index c36b40ee..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js +++ /dev/null @@ -1,50 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/Latin1Supplement.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // DIAERESIS - 0xA8: [695,-535,575,96,478,'96 615Q96 650 120 672T178 695Q214 693 234 669T255 615Q255 583 232 559T176 535Q147 535 122 556T96 615ZM319 615Q319 651 343 673T399 695Q426 695 452 675T478 615Q478 578 454 557T395 535Q364 537 342 559T319 615'], - - // NOT SIGN - 0xAC: [371,-61,767,64,703,'680 371Q683 369 688 366T695 361T698 356T701 346T701 332T702 308V216Q702 196 702 168T703 130Q703 90 697 76T671 61Q650 61 643 81Q641 86 641 198V310H364L87 311Q64 319 64 341Q64 362 84 369Q89 371 385 371H680'], - - // MACRON - 0xAF: [607,-540,575,80,494,'80 540V607H494V540H80'], - - // DEGREE SIGN - 0xB0: [702,-535,575,160,414,'160 618Q160 653 193 677T279 702H284Q381 702 407 647Q414 634 414 618Q414 607 410 596T395 570T355 546T287 536T220 545T181 568T165 594T160 618ZM352 618Q352 645 341 652T301 659H292Q286 659 278 659T268 660Q247 660 236 653T224 638T222 619Q222 591 234 585T287 578Q315 578 326 580T345 590T352 618'], - - // PLUS-MINUS SIGN - 0xB1: [728,35,894,64,829,'64 328T64 346T87 377H416V542L417 707Q431 728 443 728Q467 728 475 709Q477 704 477 540V377H807Q808 376 811 374T817 370T823 365T827 358T829 347Q829 326 807 317L642 316H477V25H807Q808 24 811 22T817 18T823 13T827 6T829 -5Q829 -26 807 -35H87Q64 -24 64 -6T87 25H416V316H251L87 317Q64 328 64 346'], - - // ACUTE ACCENT - 0xB4: [706,-503,575,236,460,'391 706Q419 706 439 683T460 634Q460 608 441 593T366 550Q356 545 351 543L275 503L256 527Q236 552 237 553Q242 558 292 620Q299 629 309 641T324 659T336 673T346 685T354 693T363 699T371 703T380 705T391 706'], - - // MULTIPLICATION SIGN - 0xD7: [530,28,894,168,726,'168 500Q168 515 178 522T195 530H198Q207 530 218 521T282 458Q312 428 331 409L447 294L563 409Q674 520 682 525Q687 529 695 529Q711 529 718 520T726 499V498Q726 489 720 481T666 427Q631 392 606 367L490 251L606 135Q717 23 721 17T726 2Q726 -9 719 -18T695 -28H692Q685 -28 674 -18T608 47Q581 74 563 92L447 207L331 91Q217 -22 208 -27Q206 -28 203 -28H197Q168 -28 168 2Q168 13 178 24T288 135L404 250L288 366Q177 479 173 485T168 500'], - - // DIVISION SIGN - 0xF7: [597,96,894,64,828,'344 495Q344 535 372 566T447 597Q490 597 519 566T548 495Q548 452 518 423T446 393Q404 393 374 423T344 495ZM87 221Q64 230 64 251T84 279Q89 281 448 281H806Q807 280 810 278T816 274T822 269T826 262T828 251Q828 230 806 221H87ZM344 -36T344 6T373 78T446 108Q487 108 517 79T548 6Q548 -35 519 -65T446 -96Q406 -96 375 -66'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/Latin1Supplement.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js deleted file mode 100644 index 13b8d006..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/LatinExtendedA.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // LATIN SMALL LETTER DOTLESS I - 0x131: [452,8,394,24,367,'24 296Q24 305 34 328T63 380T115 430T187 452Q205 452 223 448T262 435T295 406T308 360Q308 345 287 290T240 170T207 87Q202 67 202 57Q202 42 215 42Q235 42 257 64Q288 92 302 140Q307 156 310 159T330 162H336H347Q367 162 367 148Q367 140 357 117T329 65T276 14T201 -8Q158 -8 121 15T83 84Q83 104 133 229T184 358Q189 376 189 388Q189 402 177 402Q156 402 134 380Q103 352 89 304Q84 288 81 285T61 282H55H44Q24 282 24 296'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js deleted file mode 100644 index f6ec6bea..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/LatinExtendedB.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // LATIN SMALL LETTER DOTLESS J - 0x237: [451,201,439,-12,420,'297 360T297 373T294 392T288 400T278 401H276Q237 398 200 363Q181 343 170 325T156 299T149 287T129 282H123H116Q102 282 97 284T92 298Q93 303 98 315T118 349T151 390T201 427T267 451H279Q357 451 388 422T420 354V339L370 138Q321 -60 317 -69Q287 -157 163 -194Q133 -201 99 -201Q39 -201 14 -178T-12 -125Q-12 -94 11 -69T68 -43Q93 -43 108 -57T123 -95Q123 -121 100 -151H104Q131 -151 155 -125T193 -60Q195 -54 244 141T294 345Q297 360 297 373'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/LatinExtendedB.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js deleted file mode 100644 index b34e1382..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js +++ /dev/null @@ -1,44 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/LetterlikeSymbols.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // stix-/hbar - Planck's over 2pi - 0x210F: [694,8,668,45,642,'477 56Q477 48 479 46T490 43Q522 45 544 75T577 140Q582 156 585 159T605 162H611H622Q642 162 642 148Q642 138 632 114T602 62T550 13T478 -8Q429 -8 394 17T358 83Q358 95 395 199T433 350Q433 400 394 400H388H383Q335 400 291 363Q256 332 236 298Q233 293 202 170T169 40Q160 18 141 5T99 -8Q70 -8 58 9T45 39Q45 51 116 336L167 540H80V607H184L188 622H184Q183 622 179 622T169 623T157 624T146 624T136 624T131 625Q119 628 119 642Q119 647 123 661T129 679Q133 684 142 685T220 690Q293 694 307 694Q324 694 328 679Q328 673 311 607H494V540H294Q286 507 278 473T264 420L260 403Q260 400 269 408Q327 451 393 451H401H410Q425 451 439 450T476 442T515 424T544 391T556 337Q556 286 517 179T477 56'], - - // BLACK-LETTER CAPITAL I - 0x2111: [702,8,831,64,798,'65 502Q65 564 99 611T174 680T250 701Q251 701 257 701T269 702Q319 702 374 680T466 633T542 578T592 542L602 538L621 537Q669 537 695 542T725 550T730 560Q732 570 736 572T756 575H764H777Q798 575 798 559Q798 535 780 519Q762 500 727 493T622 486Q532 486 483 504T386 572Q382 576 371 588T355 603T341 616T327 628T313 637T298 645T282 649T264 651Q215 651 174 609T132 501Q132 434 184 393T312 347Q327 346 330 343T333 322T330 301T312 296Q276 296 236 307T157 341T91 406T65 502ZM406 314Q406 351 427 378T480 418T541 437T598 443Q645 443 655 442Q722 435 760 407T798 338Q798 326 794 324T772 321H764Q739 321 734 325T729 341T717 365Q690 392 618 392H611Q586 392 572 366Q561 345 561 315Q561 291 577 275Q595 260 643 241T706 211Q747 186 747 140Q747 78 696 39Q667 15 617 1Q578 -8 480 -8H439Q379 -8 345 5T228 74Q182 105 152 119T86 137Q71 138 68 142T64 164Q64 175 64 177T68 184T78 188T99 188H151L226 187L238 185Q275 176 305 158T376 106T443 54Q478 31 489 31H490Q494 32 500 34T524 43T554 62T579 92T593 135Q593 162 575 179T533 204T479 225T432 255Q406 278 406 314'], - - // SCRIPT SMALL L - 0x2113: [702,19,474,-1,446,'245 -19Q228 -19 212 -16T184 -6T162 9T143 27T129 46T118 66T111 84T106 99T102 111L101 116L69 89L36 62Q31 60 24 62Q-1 88 -1 98Q-1 101 1 105Q1 106 73 170L95 189V197Q95 242 112 317T159 476T241 624T353 701Q357 702 367 702Q428 702 444 641Q446 630 446 606Q446 454 241 246L215 220L212 203Q203 150 203 114Q203 113 203 106T204 95T205 82T209 67T214 54T223 43T236 35T253 32Q277 32 305 44T352 70T389 98T407 112Q409 113 412 113Q420 113 432 95Q445 77 443 70Q440 64 416 44T342 3T245 -19ZM387 615Q387 651 366 651Q342 651 321 604T276 470L241 331Q246 331 280 373T350 486T387 615'], - - // SCRIPT CAPITAL P - 0x2118: [461,210,740,72,726,'399 159Q410 159 421 151T433 126Q433 104 410 85Q408 84 410 78Q411 72 414 66T428 51T455 43Q483 43 506 55T543 83T568 125T584 166T594 206Q595 211 596 214Q610 273 610 301Q610 365 542 365H538Q483 365 429 344T337 292T269 229T225 175T210 150L255 99Q261 92 274 78T292 58T305 41T316 22T321 3T324 -23Q324 -87 283 -148T174 -210H171Q161 -210 152 -209T128 -201T101 -180T81 -141T72 -78Q72 -72 72 -60T73 -45Q79 4 102 65L108 81Q84 117 84 167Q84 273 140 367T269 461Q285 461 285 447Q285 440 282 431Q278 418 276 415T264 410Q228 404 201 336T174 219Q174 218 176 202L184 214Q252 303 348 360T549 417Q614 417 658 391T719 317Q726 292 726 260Q726 148 646 70T451 -8Q407 -8 377 17T346 92Q346 159 396 159H399ZM178 -160Q200 -160 216 -132T232 -75Q232 -63 228 -56T203 -26Q196 -18 192 -14Q185 -5 176 5T161 20T156 27L153 28Q151 28 146 8T137 -42T132 -89Q132 -160 178 -160'], - - // BLACK-LETTER CAPITAL R - 0x211C: [711,16,831,42,824,'133 87Q166 34 218 34Q232 34 238 47T247 99Q248 105 248 127Q248 135 248 144T247 169T245 239T243 382Q242 534 241 565T234 612Q219 651 190 651Q168 651 151 630T134 580Q134 565 148 548T178 516T209 468T223 394Q218 243 131 243Q102 243 84 266T64 319Q64 334 69 337T95 340Q117 340 121 337T126 317Q127 294 133 294Q140 294 146 318Q150 339 150 382L151 413Q141 437 103 485T64 572Q64 623 100 662T197 702Q235 702 273 684T339 634Q407 702 610 710Q615 710 630 710T651 711Q673 711 677 709Q682 706 753 578T824 444Q824 437 817 432Q799 420 758 399T686 361T654 344T657 289T665 177T670 115Q676 78 708 46L735 69Q762 93 769 93L807 73Q812 68 812 62Q812 57 805 51T759 18L710 -16H680H669Q617 -16 573 17Q527 52 515 114Q514 118 508 218T501 326V330H397V281Q397 197 384 135T327 28Q281 -16 223 -16H220Q180 -16 151 -7T107 18T86 46T78 68L74 67Q64 67 53 78T42 97Q42 106 51 109T60 114V119Q60 120 60 122L59 124Q59 129 64 135T78 149T91 160Q102 163 109 155Q115 133 119 133Q124 133 137 123T150 102Q150 98 146 94Q144 90 133 87ZM664 419L540 644H535Q517 644 487 637Q396 621 371 582L376 571Q396 512 397 435V392H494Q598 393 610 396Q611 397 615 398Q626 401 645 409T664 419'], - - // ALEF SYMBOL - 0x2135: [694,0,703,64,638,'590 427Q581 427 579 433T575 450T568 470V468L532 288L541 281Q620 220 634 165L637 154V124Q637 74 628 46Q623 32 612 16T592 0Q580 0 578 19T569 69T538 121Q532 126 385 240T236 355Q234 355 231 338T225 291T222 237Q222 222 223 213T225 201T228 195T231 190Q238 179 261 160T300 119T316 73Q316 41 291 23T231 1Q226 0 149 0H98Q73 0 69 3T64 24Q64 43 67 47T85 51H89Q119 51 134 55T152 64T154 76Q154 95 125 141T96 220Q96 243 104 270T123 319T145 360T164 391T172 404T150 421T102 468T68 529L65 541V570Q65 620 74 648Q79 664 91 679T111 694Q122 694 123 675T132 625T164 573Q168 569 319 452T471 335Q471 337 486 409T502 488Q502 489 491 493T467 511T448 546V573Q448 602 452 624T462 659T474 680T486 691T493 694Q499 694 502 691T507 682T513 673Q517 667 534 651T557 630Q558 629 590 616T631 587Q638 577 638 543Q637 489 622 458T590 427'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Main.js deleted file mode 100644 index 9a74211d..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Main.js +++ /dev/null @@ -1,217 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'] = { - directory: 'Main/Bold', - family: 'MathJax_Main', - id: 'MJMAINB', - weight: 'bold', - skew: { - 0x131: 0.0319, - 0x237: 0.0958, - 0x210F: -0.0319, - 0x2113: 0.128, - 0x2202: 0.0958 - }, - Ranges: [ - [0x20,0x7F,"BasicLatin"], - [0xA0,0xFF,"Latin1Supplement"], - [0x100,0x17F,"LatinExtendedA"], - [0x180,0x24F,"LatinExtendedB"], - [0x2B0,0x2FF,"SpacingModLetters"], - [0x300,0x36F,"CombDiacritMarks"], - [0x370,0x3FF,"GreekAndCoptic"], - [0x2000,0x206F,"GeneralPunctuation"], - [0x20D0,0x20FF,"CombDiactForSymbols"], - [0x2100,0x214F,"LetterlikeSymbols"], - [0x2190,0x21FF,"Arrows"], - [0x2200,0x22FF,"MathOperators"], - [0x2300,0x23FF,"MiscTechnical"], - [0x25A0,0x25FF,"GeometricShapes"], - [0x2600,0x26FF,"MiscSymbols"], - [0x27C0,0x27EF,"MiscMathSymbolsA"], - [0x27F0,0x27FF,"SupplementalArrowsA"], - [0x2A00,0x2AFF,"SuppMathOperators"] - ], - - // LEFT PARENTHESIS - 0x28: [750,249,447,103,382,'103 166T103 251T121 412T165 541T225 639T287 708T341 750H356H361Q382 750 382 736Q382 732 365 714T323 661T274 576T232 439T214 250Q214 -62 381 -229Q382 -231 382 -234Q382 -249 360 -249H356H341Q314 -231 287 -207T226 -138T165 -41T121 89'], - - // RIGHT PARENTHESIS - 0x29: [751,249,447,64,344,'231 251Q231 354 214 439T173 575T123 661T81 714T64 735Q64 744 73 749H75Q77 749 79 749T84 750T90 750H105Q132 732 159 708T220 639T281 542T325 413T343 251T325 89T281 -40T221 -138T159 -207T105 -249H90Q80 -249 76 -249T68 -245T64 -234Q64 -230 81 -212T123 -160T172 -75T214 61T231 251'], - - // PLUS SIGN - 0x2B: [633,131,894,64,829,'64 232T64 250T87 281H416V444Q416 608 418 612Q426 633 446 633T475 613Q477 608 477 444V281H807Q808 280 811 278T817 274T823 269T827 262T829 251Q829 230 807 221L642 220H477V57Q477 -107 475 -112Q468 -131 446 -131Q425 -131 418 -112Q416 -107 416 57V220H251L87 221Q64 232 64 250'], - - // COMMA - 0x2C: [171,194,319,74,258,'74 85Q74 120 97 145T159 171Q200 171 226 138Q258 101 258 37Q258 -5 246 -44T218 -109T183 -155T152 -184T135 -194Q129 -194 118 -183T106 -164Q106 -157 115 -149Q121 -145 130 -137T161 -100T195 -35Q197 -28 200 -17T204 3T205 11T199 9T183 3T159 0Q120 0 97 26T74 85'], - - // FULL STOP - 0x2E: [171,-1,319,74,245,'74 85Q74 121 99 146T156 171Q200 171 222 143T245 85Q245 56 224 29T160 1Q118 1 96 27T74 85'], - - // SOLIDUS - 0x2F: [750,250,575,64,510,'451 730Q460 750 479 750Q492 750 501 740T510 718Q508 708 318 244L122 -232Q112 -250 95 -250Q82 -250 73 -241T64 -218Q66 -205 258 261T451 730'], - - // DIGIT ZERO - 0x30: [654,10,575,45,529,'266 654H280H282Q500 654 524 418Q529 370 529 320Q529 125 456 52Q397 -10 287 -10Q110 -10 63 154Q45 212 45 316Q45 504 113 585Q140 618 185 636T266 654ZM374 548Q347 604 286 604Q247 604 218 575Q197 552 193 511T188 311Q188 159 196 116Q202 87 225 64T287 41Q339 41 367 87Q379 107 382 152T386 329Q386 518 374 548'], - - // DIGIT ONE - 0x31: [655,0,575,80,494,'481 0L294 3Q136 3 109 0H96V62H227V304Q227 546 225 546Q169 529 97 529H80V591H97Q231 591 308 647L319 655H333Q355 655 359 644Q361 640 361 351V62H494V0H481'], - - // DIGIT TWO - 0x32: [654,0,575,57,517,'175 580Q175 578 185 572T205 551T215 510Q215 467 191 449T137 430Q107 430 83 448T58 511Q58 558 91 592T168 640T259 654Q328 654 383 637Q451 610 484 563T517 459Q517 401 482 360T368 262Q340 243 265 184L210 140H274Q416 140 429 145Q439 148 447 186T455 237H517V233Q516 230 501 119Q489 9 486 4V0H57V25Q57 51 58 54Q60 57 109 106T215 214T288 291Q364 377 364 458Q364 515 328 553T231 592Q214 592 201 589T181 584T175 580'], - - // DIGIT THREE - 0x33: [655,11,575,47,526,'80 503Q80 565 133 610T274 655Q366 655 421 623T491 538Q493 528 493 510Q493 446 453 407T361 348L376 344Q452 324 489 281T526 184Q526 152 514 121T474 58T392 8T265 -11Q175 -11 111 34T48 152Q50 187 72 209T132 232Q171 232 193 208T216 147Q216 136 214 126T207 108T197 94T187 84T178 77T170 72L168 71Q168 70 179 65T215 54T266 48H270Q331 48 350 105Q358 128 358 185Q358 239 348 268T309 313Q292 321 242 322Q205 322 198 324T191 341V348Q191 366 196 369T232 375Q239 375 247 376T260 377T268 378Q284 383 297 393T326 436T341 517Q341 536 339 547T331 573T308 593T266 600Q248 600 241 599Q214 593 183 576Q234 556 234 503Q234 462 210 444T157 426Q126 426 103 446T80 503'], - - // DIGIT FOUR - 0x34: [656,0,575,32,542,'531 0Q510 3 381 3Q238 3 214 0H201V62H313V155H32V217L205 434Q342 606 362 630T387 655L391 656Q395 656 401 656T414 656H427Q447 656 451 645Q453 641 453 429V217H542V155H453V62H542V0H531ZM324 217V494L103 218L213 217H324'], - - // DIGIT FIVE - 0x35: [655,11,575,57,517,'100 565V605Q100 637 102 646T113 655Q116 655 139 647T202 631T286 623Q332 623 372 631T434 647T459 655Q466 655 469 651T472 643T472 629Q472 613 463 601Q370 487 219 487Q195 487 183 488T169 490T168 433V376Q169 376 174 379T188 387T211 397T244 405T288 409Q390 409 453 352T517 201Q517 106 445 48T253 -11Q169 -11 113 37T57 154Q57 187 79 208T131 229T183 209T206 154Q206 99 155 83Q152 82 157 78Q196 47 253 47Q347 47 358 135Q358 137 358 138Q360 158 360 209Q360 277 355 301T337 338Q315 358 282 358Q202 358 160 303Q153 294 149 292T130 290Q107 290 102 301Q100 304 100 474V565'], - - // DIGIT SIX - 0x36: [655,11,575,48,526,'48 318Q48 395 68 456T120 553T193 613T273 646T350 655Q425 655 461 616T497 524Q497 485 475 468T428 451Q399 451 378 470T357 521Q357 565 403 588Q375 601 351 601Q313 601 282 584Q242 565 222 526Q199 473 199 367Q201 369 210 380T227 396T246 410T275 422T312 426Q438 426 494 332Q526 285 526 208V199Q526 112 465 53Q428 17 388 3T285 -11Q236 -11 195 7T135 43T104 80Q48 165 48 318ZM375 231V244V268Q375 295 373 310T364 342T341 366T299 374H297Q231 374 208 287Q200 257 200 196Q201 120 209 100Q231 47 288 47Q351 47 368 90Q375 112 375 231'], - - // DIGIT SEVEN - 0x37: [676,11,575,64,558,'256 -11Q231 -11 208 5T185 65Q185 105 193 146T212 220T241 289T275 349T312 402T346 445T377 479T397 502L400 504H301Q156 503 150 497Q142 491 134 456T126 407H64V411Q65 414 82 544T99 675T130 676H161V673Q161 669 162 666T167 661T173 657T181 654T190 652T200 651T210 650T220 649T229 648Q237 648 254 647T276 646Q277 646 426 644H558V620V607Q558 596 551 586T509 537Q489 515 476 500Q390 401 384 393Q349 339 337 259T324 113T322 38Q307 -11 256 -11'], - - // DIGIT EIGHT - 0x38: [654,11,575,48,526,'80 474Q80 561 139 607T278 654Q357 654 411 632Q490 593 494 509Q494 424 416 376L407 371L418 364Q432 356 447 345T481 312T513 260T526 192Q526 100 461 45T285 -11Q184 -11 116 32T48 164Q48 181 50 196T58 225T69 249T84 270T100 286T117 300T134 311T149 321T162 329L152 336Q120 360 100 397T80 474ZM347 404Q404 446 404 503Q404 579 317 599Q309 600 276 600Q178 600 170 538Q170 532 171 527T173 518T178 509T184 501T194 492T205 484T219 476T235 467T254 456T275 445L347 404ZM289 47Q323 47 351 54T402 82T425 137Q425 147 421 161Q411 183 391 197T303 249Q224 293 223 293Q220 291 215 288T197 273T175 248T157 213T149 167Q149 109 188 78T289 47'], - - // DIGIT NINE - 0x39: [654,11,575,48,526,'178 59Q206 48 238 48Q311 48 345 102Q370 138 375 259V278Q374 278 369 271T350 252T322 232Q297 220 258 220Q172 220 110 275T48 438V446Q54 561 146 618Q199 654 278 654Q321 654 329 653Q526 621 526 330Q526 252 507 190T457 92T388 31T312 -2T240 -11Q165 -11 121 25T77 120Q77 159 99 176T147 193T194 177T217 122Q217 113 216 106T211 92T205 82T198 73T191 67T184 62T178 59ZM374 446V465Q374 523 364 552T315 598Q309 600 293 601Q227 601 210 562Q199 539 199 433Q199 343 204 319T235 279Q250 272 274 271H282Q293 271 303 274T327 288T353 323T371 385Q374 403 374 446'], - - // COLON - 0x3A: [444,-1,319,74,245,'74 359Q74 394 98 419T158 444Q200 444 222 417T245 358Q245 329 224 302T160 274Q116 274 95 301T74 359ZM74 85Q74 121 99 146T156 171Q200 171 222 143T245 85Q245 56 224 29T160 1Q118 1 96 27T74 85'], - - // SEMICOLON - 0x3B: [444,194,319,74,248,'74 359Q74 394 98 419T158 444Q200 444 222 417T245 358Q245 329 224 302T160 274Q116 274 95 301T74 359ZM74 50T74 86T97 146T158 171Q204 171 226 132T248 38Q248 -23 223 -80T171 -165T135 -194Q129 -194 118 -183T106 -164Q106 -163 106 -160L107 -158Q108 -155 121 -142T150 -107T177 -58Q189 -32 194 3Q195 6 193 6Q172 0 158 0Q121 0 98 25'], - - // LESS-THAN SIGN - 0x3C: [587,85,894,96,797,'797 -56Q797 -68 790 -76T767 -85H759L434 70Q108 226 105 229Q96 238 96 250Q96 263 105 272Q109 276 271 354T595 508T757 585Q763 587 766 587Q780 587 788 578T797 556Q797 544 788 535Q784 531 490 391L197 251Q213 242 359 173T644 37T788 -34Q797 -43 797 -56'], - - // EQUALS SIGN - 0x3D: [393,-109,894,64,829,'87 333Q64 343 64 362Q64 383 84 391Q89 393 448 393H807Q808 392 811 390T817 386T823 381T827 374T829 363Q829 345 807 333H87ZM87 109Q64 118 64 139Q64 159 86 168Q89 169 448 169H807L812 166Q816 163 818 162T823 157T827 149T829 139Q829 118 807 109H87'], - - // GREATER-THAN SIGN - 0x3E: [587,85,894,96,797,'127 -85Q110 -85 103 -75T96 -55Q96 -41 106 -34Q119 -24 308 65Q361 90 411 114L696 250L427 379Q106 533 103 537Q96 545 96 557Q96 568 104 577T128 587Q137 586 460 431T788 272Q797 263 797 250Q797 238 788 229Q785 226 459 70L135 -85H127'], - - // LEFT SQUARE BRACKET - 0x5B: [750,250,319,128,293,'128 -250V750H293V689H189V-189H293V-250H128'], - - // REVERSE SOLIDUS - 0x5C: [750,250,575,63,511,'64 718Q63 731 72 740T94 750Q106 750 113 743Q118 741 122 732L318 256Q508 -208 510 -218Q511 -231 502 -240T480 -250Q460 -250 451 -230Q451 -229 259 238T64 718'], - - // RIGHT SQUARE BRACKET - 0x5D: [750,250,319,25,190,'25 689V750H190V-250H25V-189H129V689H25'], - - // CIRCUMFLEX ACCENT - 0x5E: [694,-520,575,126,449,'207 632L287 694Q289 693 368 632T448 570T431 545T413 520Q410 520 350 559L287 597L224 559Q164 520 161 520Q160 520 143 544T126 570T207 632'], - - // LATIN SMALL LETTER A - 0x61: [453,6,559,32,558,'64 349Q64 399 107 426T255 453Q346 453 402 423T473 341Q478 327 478 310T479 196V77Q493 63 529 62Q549 62 553 57T558 31Q558 9 552 5T514 0H497H481Q375 0 367 56L356 46Q300 -6 210 -6Q130 -6 81 30T32 121Q32 188 111 226T332 272H350V292Q350 313 348 327T337 361T306 391T248 402T194 399H189Q204 376 204 354Q204 327 187 306T134 284Q97 284 81 305T64 349ZM164 121Q164 89 186 67T238 45Q274 45 307 63T346 108L350 117V226H347Q248 218 206 189T164 121'], - - // LATIN SMALL LETTER B - 0x62: [694,6,639,29,600,'32 686L123 690Q214 694 215 694H221V409Q289 450 378 450Q479 450 539 387T600 221Q600 122 535 58T358 -6H355Q272 -6 203 53L160 1L129 0H98V301Q98 362 98 435T99 525Q99 591 97 604T83 620Q69 624 42 624H29V686H32ZM227 105L232 99Q237 93 242 87T258 73T280 59T306 49T339 45Q380 45 411 66T451 131Q457 160 457 230Q457 264 456 284T448 329T430 367T396 389T343 398Q282 398 235 355L227 348V105'], - - // LATIN SMALL LETTER C - 0x63: [453,6,511,39,478,'447 131H458Q478 131 478 117Q478 112 471 95T439 51T377 9Q330 -6 286 -6Q196 -6 135 35Q39 96 39 222Q39 324 101 384Q169 453 286 453Q359 453 411 431T464 353Q464 319 445 302T395 284Q360 284 343 305T325 353Q325 380 338 396H333Q317 398 295 398H292Q280 398 271 397T245 390T218 373T197 338T183 283Q182 275 182 231Q182 199 184 180T193 132T220 85T270 57Q289 50 317 50H326Q385 50 414 115Q419 127 423 129T447 131'], - - // LATIN SMALL LETTER D - 0x64: [694,6,639,38,609,'351 686L442 690Q533 694 534 694H540V389Q540 327 540 253T539 163Q539 97 541 83T555 66Q569 62 596 62H609V31Q609 0 608 0Q588 0 510 -3T412 -6Q411 -6 411 16V38L401 31Q337 -6 265 -6Q159 -6 99 58T38 224Q38 265 51 303T92 375T165 429T272 449Q359 449 417 412V507V555Q417 597 415 607T402 620Q388 624 361 624H348V686H351ZM411 350Q362 399 291 399Q278 399 256 392T218 371Q195 351 189 320T182 238V221Q182 179 183 159T191 115T212 74Q241 46 288 46Q358 46 404 100L411 109V350'], - - // LATIN SMALL LETTER E - 0x65: [452,6,527,32,494,'32 225Q32 332 102 392T272 452H283Q382 452 436 401Q494 343 494 243Q494 226 486 222T440 217Q431 217 394 217T327 218H175V209Q175 177 179 154T196 107T236 69T306 50Q312 49 323 49Q376 49 410 85Q421 99 427 111T434 127T442 133T463 135H468Q494 135 494 117Q494 110 489 97T468 66T431 32T373 5T292 -6Q181 -6 107 55T32 225ZM383 276Q377 346 348 374T280 402Q253 402 230 390T195 357Q179 331 176 279V266H383V276'], - - // LATIN SMALL LETTER F - 0x66: [700,0,351,40,453,'308 0Q290 3 172 3Q58 3 49 0H40V62H109V382H42V444H109V503L110 562L112 572Q127 625 178 658T316 699Q318 699 330 699T348 700Q381 698 404 687T436 658T449 629T452 606Q452 576 432 557T383 537Q355 537 335 555T314 605Q314 635 328 649H325Q311 649 293 644T253 618T227 560Q226 555 226 498V444H340V382H232V62H318V0H308'], - - // LATIN SMALL LETTER G - 0x67: [455,201,575,30,559,'50 300Q50 368 105 409T255 450Q328 450 376 426L388 420Q435 455 489 455Q517 455 533 441T554 414T558 389Q558 367 544 353T508 339Q484 339 471 354T458 387Q458 397 462 400Q464 401 461 400Q459 400 454 399Q429 392 427 390Q454 353 459 328Q461 315 461 300Q461 240 419 202Q364 149 248 149Q185 149 136 172Q129 158 129 148Q129 105 170 93Q176 91 263 91Q273 91 298 91T334 91T366 89T400 85T432 77T466 64Q544 22 544 -69Q544 -114 506 -145Q438 -201 287 -201Q149 -201 90 -161T30 -70Q30 -58 33 -47T42 -27T54 -13T69 -1T82 6T94 12T101 15Q66 57 66 106Q66 151 90 187L97 197L89 204Q50 243 50 300ZM485 403H492Q491 404 488 404L485 403V403ZM255 200Q279 200 295 206T319 219T331 242T335 268T336 300Q336 337 333 352T317 380Q298 399 255 399Q228 399 211 392T187 371T178 345T176 312V300V289Q176 235 194 219Q215 200 255 200ZM287 -150Q357 -150 400 -128T443 -71Q443 -65 442 -61T436 -50T420 -37T389 -27T339 -21L308 -20Q276 -20 253 -20Q190 -20 180 -20T156 -26Q130 -38 130 -69Q130 -105 173 -127T287 -150'], - - // LATIN SMALL LETTER H - 0x68: [694,0,639,37,623,'40 686L131 690Q222 694 223 694H229V533L230 372L238 381Q248 394 264 407T317 435T398 450Q428 450 448 447T491 434T529 402T551 346Q553 335 554 198V62H623V0H614Q596 3 489 3Q374 3 365 0H356V62H425V194V275Q425 348 416 373T371 399Q326 399 288 370T238 290Q236 281 235 171V62H304V0H295Q277 3 171 3Q64 3 46 0H37V62H106V332Q106 387 106 453T107 534Q107 593 105 605T91 620Q77 624 50 624H37V686H40'], - - // LATIN SMALL LETTER I - 0x69: [695,0,319,40,294,'72 610Q72 649 98 672T159 695Q193 693 217 670T241 610Q241 572 217 549T157 525Q120 525 96 548T72 610ZM46 442L136 446L226 450H232V62H294V0H286Q271 3 171 3Q67 3 49 0H40V62H109V209Q109 358 108 362Q103 380 55 380H43V442H46'], - - // LATIN SMALL LETTER J - 0x6A: [695,200,351,-71,274,'104 610Q104 649 130 672T191 695Q225 693 249 670T273 610Q273 572 249 549T189 525Q152 525 128 548T104 610ZM78 442L173 446L268 450H274V196Q274 -5 274 -37T269 -83Q256 -132 201 -166T71 -200Q10 -200 -30 -173T-71 -102Q-71 -70 -51 -51T-1 -31Q27 -31 48 -49T69 -100Q69 -121 53 -147H56Q66 -149 77 -149H80Q90 -149 100 -146T127 -125T149 -73Q151 -55 151 149V362Q150 364 148 366T145 370T142 373T138 375T133 377T124 378T113 379T97 380H75V442H78'], - - // LATIN SMALL LETTER K - 0x6B: [694,0,607,29,587,'32 686L123 690Q214 694 215 694H221V255L377 382H346V444H355Q370 441 476 441Q544 441 556 444H562V382H476L347 277L515 62H587V0H579Q564 3 476 3Q370 3 352 0H343V62H358L373 63L260 206L237 189L216 172V62H285V0H277Q259 3 157 3Q46 3 37 0H29V62H98V332Q98 387 98 453T99 534Q99 593 97 605T83 620Q69 624 42 624H29V686H32'], - - // LATIN SMALL LETTER L - 0x6C: [694,0,319,40,301,'43 686L134 690Q225 694 226 694H232V62H301V0H292Q274 3 170 3Q67 3 49 0H40V62H109V332Q109 387 109 453T110 534Q110 593 108 605T94 620Q80 624 53 624H40V686H43'], - - // LATIN SMALL LETTER M - 0x6D: [450,0,958,37,942,'40 442Q217 450 218 450H224V365Q226 367 235 378T254 397T278 416T314 435T362 448Q376 450 400 450H406Q503 450 534 393Q545 376 545 370Q545 368 555 379Q611 450 716 450Q774 450 809 434Q850 414 861 379T873 276V213V198V62H942V0H933Q915 3 809 3Q702 3 684 0H675V62H744V194V275Q744 348 735 373T690 399Q645 399 607 370T557 290Q555 281 554 171V62H623V0H614Q596 3 489 3Q374 3 365 0H356V62H425V194V275Q425 348 416 373T371 399Q326 399 288 370T238 290Q236 281 235 171V62H304V0H295Q277 3 171 3Q64 3 46 0H37V62H106V210V303Q106 353 104 363T91 376Q77 380 50 380H37V442H40'], - - // LATIN SMALL LETTER N - 0x6E: [450,0,639,37,623,'40 442Q217 450 218 450H224V407L225 365Q233 378 245 391T289 422T362 448Q374 450 398 450Q428 450 448 447T491 434T529 402T551 346Q553 335 554 198V62H623V0H614Q596 3 489 3Q374 3 365 0H356V62H425V194V275Q425 348 416 373T371 399Q326 399 288 370T238 290Q236 281 235 171V62H304V0H295Q277 3 171 3Q64 3 46 0H37V62H106V210V303Q106 353 104 363T91 376Q77 380 50 380H37V442H40'], - - // LATIN SMALL LETTER O - 0x6F: [453,5,575,32,542,'287 -5Q228 -5 182 10T109 48T63 102T39 161T32 219Q32 272 50 314T94 382T154 423T214 446T265 452H279Q319 452 326 451Q428 439 485 376T542 221Q542 156 514 108T442 33Q384 -5 287 -5ZM399 230V250Q399 280 398 298T391 338T372 372T338 392T282 401Q241 401 212 380Q190 363 183 334T175 230Q175 202 175 189T177 153T183 118T195 91T215 68T245 56T287 50Q348 50 374 84Q388 101 393 132T399 230'], - - // LATIN SMALL LETTER P - 0x70: [450,194,639,29,600,'32 442L123 446Q214 450 215 450H221V409Q222 409 229 413T251 423T284 436T328 446T382 450Q480 450 540 388T600 223Q600 128 539 61T361 -6H354Q292 -6 236 28L227 34V-132H296V-194H287Q269 -191 163 -191Q56 -191 38 -194H29V-132H98V113V284Q98 330 97 348T93 370T83 376Q69 380 42 380H29V442H32ZM457 224Q457 303 427 349T350 395Q282 395 235 352L227 345V104L233 97Q274 45 337 45Q383 45 420 86T457 224'], - - // LATIN SMALL LETTER Q - 0x71: [450,194,607,38,609,'38 220Q38 273 54 314T95 380T152 421T211 443T264 449Q368 449 429 386L438 377L484 450H540V-132H609V-194H600Q582 -191 475 -191Q360 -191 351 -194H342V-132H411V42Q409 41 399 34T383 25T367 16T347 7T324 1T296 -4T264 -6Q162 -6 100 56T38 220ZM287 46Q368 46 417 127V301L412 312Q398 347 369 371T302 395Q282 395 263 388T225 362T194 308T182 221Q182 126 214 86T287 46'], - - // LATIN SMALL LETTER R - 0x72: [450,0,474,29,442,'405 293T374 293T324 312T305 361Q305 378 312 394Q315 397 315 399Q305 399 294 394T266 375T238 329T222 249Q221 241 221 149V62H308V0H298Q280 3 161 3Q47 3 38 0H29V62H98V210V303Q98 353 96 363T83 376Q69 380 42 380H29V442H32L118 446Q204 450 205 450H210V414L211 378Q247 449 315 449H321Q384 449 413 422T442 360Q442 332 424 313'], - - // LATIN SMALL LETTER S - 0x73: [453,6,454,37,414,'38 315Q38 339 45 360T70 404T127 440T223 453Q273 453 320 436L338 445L357 453H366Q380 453 383 447T386 403V387V355Q386 331 383 326T365 321H355H349Q333 321 329 324T324 341Q317 406 224 406H216Q123 406 123 353Q123 334 143 321T188 304T244 294T285 286Q305 281 325 273T373 237T412 172Q414 162 414 142Q414 -6 230 -6Q154 -6 117 22L68 -6H58Q44 -6 41 0T38 42V73Q38 85 38 101T37 122Q37 144 42 148T68 153H75Q87 153 91 151T97 147T103 132Q131 46 220 46H230Q257 46 265 47Q330 58 330 108Q330 127 316 142Q300 156 284 162Q271 168 212 178T122 202Q38 243 38 315'], - - // LATIN SMALL LETTER T - 0x74: [635,5,447,21,382,'272 49Q320 49 320 136V145V177H382V143Q382 106 380 99Q374 62 349 36T285 -2L272 -5H247Q173 -5 134 27Q109 46 102 74T94 160Q94 171 94 199T95 245V382H21V433H25Q58 433 90 456Q121 479 140 523T162 621V635H224V444H363V382H224V239V207V149Q224 98 228 81T249 55Q261 49 272 49'], - - // LATIN SMALL LETTER U - 0x75: [450,6,639,37,623,'40 442L134 446Q228 450 229 450H235V273V165Q235 90 238 74T254 52Q268 46 304 46H319Q352 46 380 67T419 121L420 123Q424 135 425 199Q425 201 425 207Q425 233 425 249V316Q425 354 423 363T410 376Q396 380 369 380H356V442L554 450V267Q554 84 556 79Q561 62 610 62H623V31Q623 0 622 0Q603 0 527 -3T432 -6Q431 -6 431 25V56L420 45Q373 6 332 -1Q313 -6 281 -6Q208 -6 165 14T109 87L107 98L106 230Q106 358 104 366Q96 380 50 380H37V442H40'], - - // LATIN SMALL LETTER V - 0x76: [444,4,607,26,580,'401 444Q413 441 495 441Q568 441 574 444H580V382H510L409 156Q348 18 339 6Q331 -4 320 -4Q318 -4 313 -4T303 -3H288Q273 -3 264 12T221 102Q206 135 197 156L96 382H26V444H34Q49 441 145 441Q252 441 270 444H279V382H231L284 264Q335 149 338 149Q338 150 389 264T442 381Q442 382 418 382H394V444H401'], - - // LATIN SMALL LETTER W - 0x77: [444,4,831,25,805,'624 444Q636 441 722 441Q797 441 800 444H805V382H741L593 11Q592 10 590 8T586 4T584 2T581 0T579 -2T575 -3T571 -3T567 -4T561 -4T553 -4H542Q525 -4 518 6T490 70Q474 110 463 137L415 257L367 137Q357 111 341 72Q320 17 313 7T289 -4H277Q259 -4 253 -2T238 11L90 382H25V444H32Q47 441 140 441Q243 441 261 444H270V382H222L310 164L382 342L366 382H303V444H310Q322 441 407 441Q508 441 523 444H531V382H506Q481 382 481 380Q482 376 529 259T577 142L674 382H617V444H624'], - - // LATIN SMALL LETTER X - 0x78: [444,0,607,21,586,'227 0Q212 3 121 3Q40 3 28 0H21V62H117L245 213L109 382H26V444H34Q49 441 143 441Q247 441 265 444H274V382H246L281 339Q315 297 316 297Q320 297 354 341L389 382H352V444H360Q375 441 466 441Q547 441 559 444H566V382H471L355 246L504 63L545 62H586V0H578Q563 3 469 3Q365 3 347 0H338V62H366Q366 63 326 112T285 163L198 63L217 62H235V0H227'], - - // LATIN SMALL LETTER Y - 0x79: [444,200,607,23,580,'84 -102Q84 -110 87 -119T102 -138T133 -149Q148 -148 162 -143T186 -131T206 -114T222 -95T234 -76T243 -59T249 -45T252 -37L269 0L96 382H26V444H34Q49 441 146 441Q252 441 270 444H279V382H255Q232 382 232 380L337 151L442 382H394V444H401Q413 441 495 441Q568 441 574 444H580V382H510L406 152Q298 -84 297 -87Q269 -139 225 -169T131 -200Q85 -200 54 -172T23 -100Q23 -64 44 -50T87 -35Q111 -35 130 -50T152 -92V-100H84V-102'], - - // LATIN SMALL LETTER Z - 0x7A: [445,0,511,32,462,'48 262Q48 264 54 349T60 436V444H252Q289 444 336 444T394 445Q441 445 450 441T459 418Q459 406 458 404Q456 399 327 229T194 55H237Q260 56 268 56T297 58T325 65T348 77T370 98T384 128T395 170Q400 197 400 216Q400 217 431 217H462V211Q461 208 453 108T444 6V0H245Q46 0 43 2Q32 7 32 28V33Q32 41 40 52T84 112Q129 170 164 217L298 393H256Q189 392 165 380Q124 360 115 303Q110 280 110 256Q110 254 79 254H48V262'], - - // LEFT CURLY BRACKET - 0x7B: [750,250,575,69,505,'504 -207T504 -225T500 -246T476 -250H469Q257 -250 227 -145L225 -135L224 0Q224 15 224 30T224 59T224 84T224 106T223 122T223 133V137Q222 138 221 144T213 162T195 185Q171 206 141 215Q123 222 107 223T84 225T74 229T70 250T73 270T83 276T106 276T141 285Q171 294 195 315Q201 321 206 328T214 341T219 352T222 360L223 363V367Q223 371 223 378T223 394T224 415T224 441T224 470T224 501L225 636Q249 739 426 749Q428 749 443 749T466 750H473Q495 750 499 747T504 725T501 704T480 699Q381 693 357 645Q352 634 351 617T350 497V412Q350 350 338 329Q325 303 298 284T251 258T227 251Q226 251 226 250L227 249Q231 248 238 246T265 236T299 217T329 184T349 137Q350 131 350 3T352 -130Q358 -160 392 -178T480 -199Q497 -200 500 -203'], - - // VERTICAL LINE - 0x7C: [750,249,319,129,190,'160 -249Q138 -249 129 -225V250Q129 725 131 729Q139 750 159 750T190 725V-225Q181 -249 160 -249'], - - // RIGHT CURLY BRACKET - 0x7D: [750,250,575,70,505,'70 726Q71 744 74 747T99 750H106Q323 750 349 636L350 501Q350 486 350 470T350 441T350 416T350 394T351 378T351 367V363Q352 362 353 356T361 338T379 315Q403 294 433 285Q451 278 467 277T490 275T500 271T504 250T501 230T491 224T468 224T433 215Q403 206 379 185Q373 179 368 172T360 159T355 148T352 140L351 137V133Q351 129 351 122T351 106T350 85T350 59T350 31T350 0L349 -135L347 -145Q317 -250 106 -250H99Q79 -250 75 -247T70 -226Q70 -208 73 -204T95 -199Q193 -193 217 -145Q222 -134 223 -117T224 3Q224 20 224 48T223 86Q223 145 237 175T301 232Q335 249 347 249Q348 249 348 250L347 251Q343 252 336 254T309 264T275 284T245 316T225 363Q224 369 224 497T222 631Q216 660 182 678T95 699Q77 700 74 704T70 726'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js deleted file mode 100644 index 08c6a6e3..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js +++ /dev/null @@ -1,227 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MathOperators.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // FOR ALL - 0x2200: [694,16,639,0,640,'1 664Q-2 685 23 693H27Q46 693 54 680T102 578L148 475H492L533 570Q541 586 548 603T560 630T569 650T576 667T582 678T588 686T594 691T600 693T609 694Q622 694 631 684T639 662Q637 653 492 325T341 -8Q333 -16 320 -16Q306 -16 298 -8Q294 -4 147 326L1 656V664ZM464 414H319Q175 414 175 413L319 88L464 414'], - - // PARTIAL DIFFERENTIAL - 0x2202: [710,17,628,60,657,'230 475Q202 475 189 492T175 526T186 570T221 631T288 687T389 710Q430 710 438 709Q495 701 537 679T601 629T637 568T653 509T657 459Q657 409 640 341Q617 248 581 180T507 75T424 16T348 -11T282 -17Q171 -17 113 37Q60 88 60 159Q60 192 71 231Q96 336 184 402Q264 462 366 462Q407 462 439 448T497 389L502 380Q503 381 508 403T519 463T525 531Q523 580 499 610T447 648T387 657Q324 657 283 616Q271 604 276 604Q279 604 286 600T302 583T311 555Q311 523 287 499T230 475ZM196 110Q196 41 287 41Q351 41 398 88Q422 111 437 151Q473 243 473 298Q473 386 409 409Q408 409 383 411Q316 411 278 373Q265 360 259 351T241 311T217 226Q196 143 196 110'], - - // THERE EXISTS - 0x2203: [694,-1,639,64,574,'81 347Q81 359 84 363T104 378H513V633H300L87 634Q64 642 64 664Q64 685 84 692Q89 694 321 694H552Q571 681 574 669V25Q567 7 552 1H87Q64 12 64 30T87 61H513V317H308Q103 317 99 319Q81 328 81 347'], - - // EMPTY SET - 0x2205: [767,73,575,46,528,'285 711Q307 711 326 708T357 701T370 698Q371 698 375 710T383 735T389 750Q395 767 415 767Q431 767 438 757T446 738T436 701T426 670Q426 668 433 664Q468 633 489 588Q511 542 519 488T528 344Q528 286 524 243T508 150T466 63T394 6Q345 -17 287 -17Q265 -17 246 -14T216 -7T203 -4Q191 -47 183 -60T159 -73Q146 -73 137 -63T128 -44Q128 -38 138 -7L148 24L141 30Q134 35 120 49Q94 77 78 113T56 194T48 268T46 344Q46 388 47 416T56 494T78 577T122 644T194 694Q239 711 285 711ZM351 639Q350 639 346 642T337 648T325 654T306 658T283 660Q254 660 221 638T181 567Q171 513 171 375Q171 164 182 129L351 639ZM402 356Q402 516 395 555Q395 557 395 559T394 563T394 566L393 568L223 57Q252 34 286 34H288Q318 34 346 53T387 109Q402 152 402 329V356'], - - // NABLA - 0x2207: [686,24,958,56,901,'56 673Q56 679 65 686H892Q901 679 901 673Q901 668 714 331T521 -15Q518 -18 506 -24H452Q440 -19 436 -15Q431 -8 337 162T150 501L57 669Q57 670 56 672V673ZM528 136L758 553H297Q298 551 414 341L528 136'], - - // ELEMENT OF - 0x2208: [587,86,767,97,671,'97 251Q97 393 194 484T417 586Q418 586 436 586T482 586T538 587H648Q649 586 652 584T658 580T664 575T668 568T670 557Q670 536 648 527L534 526Q515 526 491 526T457 526T435 526T417 525T404 523T390 521T374 517Q298 498 243 447T167 324Q159 295 159 283Q159 281 403 281H648Q649 280 652 278T658 274T664 269T668 262T670 251Q670 230 648 221L403 220Q159 220 159 218Q159 206 166 182T190 122T247 50T341 -6Q380 -20 405 -22T534 -25H648Q649 -26 654 -29T661 -34T667 -43T670 -56Q670 -74 648 -85L541 -86Q419 -86 396 -82Q276 -65 187 24T97 251'], - - // stix-negated (vert) set membership, variant - 0x2209: [711,210,767,97,671,'126 -210Q116 -210 107 -203T97 -179Q97 -171 99 -166Q99 -165 111 -145T150 -80T203 8Q97 104 97 251Q97 393 194 484T417 586Q418 586 436 586T482 586T538 587H549Q565 614 582 643T608 685L616 698Q623 711 641 711Q651 711 660 704T670 681Q670 672 667 667Q666 666 661 657T644 627T620 587H648Q649 586 652 584T658 580T664 575T668 568T670 557Q670 536 648 527L584 526L437 281H648Q649 280 652 278T658 274T664 269T668 262T670 251Q670 230 648 221L403 220H401L283 23Q311 5 341 -6Q380 -20 405 -22T534 -25H648Q649 -26 654 -29T661 -34T667 -43T670 -56Q670 -74 648 -85L541 -86Q419 -86 396 -82Q320 -71 252 -29Q152 -197 148 -201Q139 -210 126 -210ZM235 62L330 220Q159 219 159 218Q159 196 176 150T235 62ZM366 281L513 526Q503 526 487 526T465 526T448 525T433 525T422 525T412 524T403 523T394 521T385 519T374 517Q298 498 243 447T167 324Q159 295 159 283Q159 281 366 281'], - - // CONTAINS AS MEMBER - 0x220B: [588,86,767,96,670,'96 251Q96 268 119 281H363Q607 281 607 283Q607 295 600 319T576 379T519 451T425 507Q386 521 361 523T233 526L119 527Q96 535 96 557Q96 578 116 585Q121 587 229 587Q238 587 257 587T288 588Q366 588 435 568T568 488Q670 388 670 251Q670 155 621 78T499 -39T345 -85Q336 -86 225 -86L119 -85Q96 -77 96 -55Q96 -38 119 -25H233Q356 -24 371 -21Q373 -21 393 -16Q468 3 523 55T599 177Q607 206 607 218Q607 220 363 220L119 221Q96 229 96 251'], - - // MINUS SIGN - 0x2212: [281,-221,894,96,797,'119 221Q96 230 96 251T116 279Q121 281 448 281H775Q776 280 779 278T785 274T791 269T795 262T797 251Q797 230 775 221H119'], - - // MINUS-OR-PLUS SIGN - 0x2213: [537,227,894,64,829,'64 155Q64 172 87 185H416V476H251L87 477Q64 485 64 507Q64 528 84 535Q89 537 448 537H807Q808 536 811 534T817 530T823 525T827 518T829 507Q829 486 807 477L642 476H477V185H807Q808 184 811 182T817 178T823 173T827 166T829 155Q829 134 807 125L642 124H477V-39Q477 -203 475 -208Q466 -227 446 -227Q427 -227 417 -205L416 -41V124H251L87 125Q64 133 64 155'], - - // DIVISION SLASH - 0x2215: [750,250,575,64,510,'451 730Q460 750 479 750Q492 750 501 740T510 718Q508 708 318 244L122 -232Q112 -250 95 -250Q82 -250 73 -241T64 -218Q66 -205 258 261T451 730'], - - // SET MINUS - 0x2216: [750,250,575,63,511,'64 718Q63 731 72 740T94 750Q106 750 113 743Q118 741 122 732L318 256Q508 -208 510 -218Q511 -231 502 -240T480 -250Q460 -250 451 -230Q451 -229 259 238T64 718'], - - // ASTERISK OPERATOR - 0x2217: [473,-28,575,72,502,'236 431Q237 447 251 459T287 472T323 459T338 431Q338 423 328 363L317 300Q318 300 340 317T392 356T435 387Q442 390 450 390Q470 390 485 374T501 335Q501 326 500 320T494 309T486 300T473 293T458 287T438 280T414 272L353 250L414 228Q422 225 436 221T457 214T472 208T485 201T493 192T499 181T501 166Q501 141 484 126T450 111Q447 111 445 111T441 111T437 112T433 114T428 117T422 121T414 127T404 135T391 145T374 158L317 200L328 137Q338 77 338 69Q336 52 321 40T287 28T253 40T236 69Q236 77 246 137L257 200Q256 200 234 183T182 144T139 113Q132 110 124 110Q104 110 89 126T73 165Q73 174 74 180T80 191T88 200T101 207T116 213T136 220T160 228L221 250L160 272Q152 275 138 279T117 286T102 292T89 299T81 308T75 319T73 334Q73 359 90 374T124 389Q127 389 129 389T133 389T137 388T141 386T146 383T152 379T160 373T170 365T183 355T200 342L257 300L246 363Q236 423 236 431'], - - // RING OPERATOR - 0x2218: [475,-27,575,64,510,'64 251Q64 303 80 344T121 409T175 448T230 469T275 474Q277 474 283 474T292 473Q385 473 447 415T510 251Q510 149 449 89T287 28T126 88T64 251ZM448 251Q448 325 405 369T286 413Q215 413 171 371T126 251Q126 177 168 133T287 89Q361 89 404 132T448 251'], - - // BULLET OPERATOR - 0x2219: [475,-27,575,64,510,'64 251Q64 303 80 344T121 409T175 448T230 469T275 474Q277 474 283 474T292 473Q385 473 447 415T510 251Q510 149 449 89T287 28T126 88T64 251'], - - // SQUARE ROOT - 0x221A: [820,180,958,78,988,'107 178Q100 178 89 188T78 207Q78 216 84 220Q85 221 124 248T207 304T260 338Q269 340 275 335Q276 334 370 156L463 -20L698 393Q928 800 935 811Q944 820 954 820Q972 820 980 811T988 789Q988 781 858 553Q776 409 718 306Q452 -166 447 -171Q439 -179 422 -180Q405 -180 400 -175Q399 -174 346 -73T241 128T187 229L151 205Q111 178 107 178'], - - // PROPORTIONAL TO - 0x221D: [451,8,894,65,830,'65 222Q65 282 88 329T144 401T208 438T261 451H273Q312 451 320 450Q456 431 526 330L537 316Q638 451 778 451Q813 451 830 445V388Q821 391 799 391Q758 391 721 377T660 342T618 301T592 266L584 251Q648 152 697 114Q748 74 804 74H806Q823 74 829 77Q830 77 830 38V-1L820 -3Q801 -7 786 -7H771Q699 -7 632 25T527 114L516 128Q414 -8 276 -8Q192 -8 129 56T65 222ZM256 53Q296 53 332 67T392 102T434 143T461 178L469 193Q405 292 356 330Q308 369 251 369H243Q196 369 156 328T116 221Q116 191 124 161T158 99T225 55Q234 53 256 53'], - - // INFINITY - 0x221E: [452,8,1150,65,1084,'65 219Q65 318 132 385T302 452Q473 452 573 331L589 312L596 320Q710 452 857 452Q948 452 1016 386T1084 225Q1084 125 1017 59T848 -8Q679 -8 576 113L560 132L553 124Q439 -8 292 -8Q200 -8 133 58T65 219ZM1033 224Q1033 291 987 340T875 389Q748 389 648 261Q641 253 642 251Q717 163 748 137Q813 81 880 81Q941 81 987 120T1033 224ZM275 56Q315 56 353 70T418 104T466 144T497 178L507 192Q507 193 474 230T441 269Q355 362 267 362Q210 362 163 324T116 221Q116 150 162 103T275 56'], - - // ANGLE - 0x2220: [714,0,722,55,676,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 21 56 23V25Q55 27 55 30Q55 31 56 33V35Q55 37 55 40Q55 42 57 48Q67 63 346 381Q421 467 518 578Q607 680 623 697T647 714Q656 714 661 708T666 694V692Q676 687 676 674Q676 668 673 663Q672 662 637 622T534 503T400 350L147 61L386 60H653Q666 50 666 40V38Q676 31 676 20Q676 8 661 0H71'], - - // DIVIDES - 0x2223: [750,249,319,129,190,'160 -249Q138 -249 129 -225V250Q129 725 131 729Q139 750 159 750T190 725V-225Q181 -249 160 -249'], - - // PARALLEL TO - 0x2225: [751,248,575,145,430,'205 -225Q201 -234 199 -237T191 -244T175 -248T161 -246Q151 -240 146 -229Q145 -224 145 251Q145 725 146 730Q156 750 176 750Q193 748 205 727V-225ZM369 727L372 732Q375 737 377 740T385 747T398 750Q406 750 413 747Q423 740 428 730Q430 720 430 251Q430 -219 428 -229Q423 -240 413 -246Q408 -248 400 -248Q393 -248 388 -247T379 -242T375 -236T371 -230L369 -225V727'], - - // LOGICAL AND - 0x2227: [604,17,767,64,702,'95 -16Q78 -16 71 -6T64 14Q64 20 65 22L212 308Q359 593 361 595Q370 604 385 604Q398 602 405 595Q407 593 554 308L701 22Q702 20 702 15Q702 1 693 -8T671 -17Q661 -17 651 -9Q647 -5 515 251L383 506L251 251Q119 -5 116 -8Q108 -16 95 -16'], - - // LOGICAL OR - 0x2228: [605,16,767,64,702,'64 572Q64 585 72 594T94 604T116 595Q119 592 251 336L383 81L515 336Q647 592 651 596Q661 604 671 604Q684 604 693 595T702 572Q702 567 701 565L554 279Q407 -6 405 -8Q404 -9 401 -11T397 -14Q392 -16 383 -16H380Q369 -16 361 -8Q359 -6 212 279L65 565Q65 566 65 568T64 572'], - - // stix-intersection, serifs - 0x2229: [603,16,767,64,702,'94 -16Q73 -16 64 8V209Q64 239 64 287Q65 418 69 432Q70 434 70 435Q84 487 125 523T216 575T299 597T354 603H372Q444 603 501 590T591 558T648 515T681 471T696 435Q696 434 697 432Q701 417 702 309Q702 303 702 287Q702 239 702 209V8Q693 -16 672 -16Q650 -16 643 3Q641 8 641 201Q641 397 640 403Q631 472 558 507T383 542Q339 542 298 535T219 511T156 468T126 403Q125 397 125 201Q125 8 123 3Q116 -16 94 -16'], - - // stix-union, serifs - 0x222A: [604,16,767,64,702,'672 603Q693 603 702 579V378Q702 348 702 300Q701 169 697 155Q696 153 696 152Q676 78 593 31T383 -16Q265 -16 179 28T70 152Q70 153 69 155Q65 170 64 278Q64 285 64 300Q64 348 64 378Q64 579 65 583Q74 604 94 604T123 584Q125 579 125 386Q125 190 126 184Q135 115 210 80T383 44Q426 44 467 51T546 75T609 119T640 184Q641 190 641 386Q641 579 643 584Q650 603 672 603'], - - // INTEGRAL - 0x222B: [711,211,569,64,632,'204 -71Q204 -108 181 -124T137 -141Q132 -141 132 -142Q142 -161 154 -161Q164 -161 186 -152Q200 -145 210 -135T228 -107T241 -77T249 -38T254 -2T258 38T262 74Q282 265 334 489Q334 490 337 503T341 523T347 544T355 569T365 594T379 620T397 643T420 666T447 685T481 700Q511 711 539 711T587 696T616 656T628 612T632 573Q632 536 610 519T562 501Q534 501 513 519T492 571Q492 608 515 624T559 641Q564 641 564 642Q554 661 542 661Q532 661 510 652Q496 645 486 635T468 607T455 577T447 538T442 502T438 462T434 426Q414 235 362 11Q352 -35 347 -54T328 -101T291 -152Q235 -208 162 -211Q147 -211 136 -208T109 -196T83 -165T67 -108Q64 -94 64 -73Q64 -37 86 -19T134 -1Q162 -1 183 -19T204 -71'], - - // TILDE OPERATOR - 0x223C: [392,-109,894,64,828,'64 155Q64 210 84 262T150 353T257 391Q300 391 341 371T417 321T484 264T557 215T637 194Q702 194 745 244T788 367Q796 391 808 391Q815 391 821 381T828 353V342Q828 252 776 181T637 109Q594 109 552 129T476 179T409 236T336 285T256 306Q193 306 149 258T105 132Q98 109 86 109Q76 109 70 122T64 155'], - - // WREATH PRODUCT - 0x2240: [583,82,319,64,254,'64 561Q64 570 76 576T108 583Q174 583 214 535T254 407Q254 368 238 324T202 248T166 173T149 92Q149 43 169 2T217 -39Q231 -40 242 -46T254 -60Q254 -69 241 -75T210 -82Q145 -82 105 -34T64 93Q64 133 80 177T116 253T152 328T169 408Q169 461 148 500T105 540Q92 540 78 545T64 561'], - - // ASYMPTOTICALLY EQUAL TO - 0x2243: [502,3,894,64,829,'64 295Q64 378 117 440T257 502Q298 502 339 485T416 443T486 394T560 352T637 335Q693 335 740 373T788 478Q796 502 808 502Q815 502 821 492T828 465V455Q828 365 771 308T640 250Q603 250 562 265T501 294T439 336L370 382Q308 417 256 417Q205 417 164 388T110 317Q110 316 109 304T107 286T103 270T97 255T86 250Q76 250 70 263T64 295ZM64 6T64 27T87 56H93Q99 56 110 56T137 56T173 56T217 56T267 57T323 57T383 57T448 57H807Q808 56 811 54T815 52T819 49T823 45T826 40T828 34T829 27Q829 7 807 -3H87Q64 6 64 27'], - - // APPROXIMATELY EQUAL TO - 0x2245: [639,27,1000,64,829,'64 402Q64 457 84 509T150 600T257 638Q300 638 341 618T417 569T484 511T557 462T637 441Q702 441 745 491T788 614Q796 638 808 638Q815 638 821 628T828 600V589Q828 499 776 428T637 356Q594 356 552 376T476 425T409 483T336 532T256 553Q193 553 149 505T105 379Q98 356 86 356Q76 356 70 369T64 402ZM87 197Q64 207 64 226Q64 247 84 255Q89 257 448 257H807Q808 256 811 254T817 250T823 245T827 238T829 227Q829 209 807 197H87ZM87 -27Q64 -18 64 3Q64 23 86 32Q89 33 448 33H807L812 30Q816 27 818 26T823 21T827 13T829 3Q829 -18 807 -27H87'], - - // ALMOST EQUAL TO - 0x2248: [524,-31,894,64,829,'64 345Q64 423 119 473T250 524Q301 524 356 503T451 455T542 407T636 385Q700 385 743 417T786 481Q786 493 791 508T807 524Q817 524 823 512T829 479Q829 404 776 352T638 300Q590 300 537 321T443 369T352 417T256 439Q207 439 166 417T110 359Q109 357 107 341T100 312T85 300Q77 300 71 313T64 345ZM64 77Q64 155 119 205T250 256Q302 256 357 235T451 187T541 139T636 117Q699 117 742 148T786 213Q786 231 792 243T808 256T823 242T829 208Q829 134 776 83T640 32Q591 32 537 53T443 101T352 149T256 171Q206 171 165 148T110 91Q109 89 107 73T100 44T85 32Q77 32 71 45T64 77'], - - // EQUIVALENT TO - 0x224D: [533,32,894,64,830,'798 533Q812 533 820 524T829 502T819 480T769 440Q655 355 537 330Q492 322 447 322Q401 322 356 330Q289 344 219 381T118 443T73 481Q64 490 64 503Q64 517 72 525T94 533Q99 533 102 532Q107 531 138 507T209 456T314 405T446 382Q604 382 765 515Q788 533 798 533ZM95 -32Q81 -32 73 -23T64 -1Q64 10 74 21T124 61Q213 127 293 153T421 179L422 180Q424 180 426 180T432 180T441 180T452 179Q612 179 769 61Q811 29 820 19T829 -1Q829 -14 821 -23T798 -32Q788 -32 765 -14Q608 118 446 118Q287 118 128 -14Q105 -32 95 -32'], - - // APPROACHES THE LIMIT - 0x2250: [721,-109,894,64,829,'87 333Q64 343 64 362Q64 383 84 391Q89 393 448 393H807Q808 392 811 390T817 386T823 381T827 374T829 363Q829 345 807 333H87ZM87 109Q64 118 64 139Q64 159 86 168Q89 169 448 169H807L812 166Q816 163 818 162T823 157T827 149T829 139Q829 118 807 109H87ZM362 635Q362 671 387 696T444 721Q488 721 510 693T533 635Q533 606 512 579T448 551Q406 551 384 577T362 635'], - - // stix-not (vert) equals - 0x2260: [711,210,894,64,829,'189 -210Q179 -210 170 -203T160 -179Q160 -171 162 -166Q165 -163 327 109H87Q64 118 64 139Q64 159 86 168Q89 169 363 169L461 333H87Q64 343 64 362Q64 383 84 391Q89 393 448 393H496Q533 455 583 539T656 660T679 698Q686 711 704 711Q714 711 723 704T733 681Q733 672 730 667Q729 664 709 631T645 523T567 393H807Q808 392 811 390T817 386T823 381T827 374T829 363Q829 345 807 333H532L433 169H807L812 166Q816 163 818 162T823 157T827 149T829 139Q829 118 807 109H398Q217 -195 211 -201Q202 -210 189 -210'], - - // IDENTICAL TO - 0x2261: [505,3,894,64,829,'87 445Q64 454 64 475Q64 497 84 503Q89 505 448 505H807Q808 504 812 502T818 497T823 492T827 484T829 474Q829 456 807 445H87ZM87 221Q64 230 64 251T84 279Q89 281 448 281H807Q808 280 811 278T817 274T823 269T827 262T829 251Q829 230 807 221H87ZM64 6T64 27T87 56H93Q99 56 110 56T137 56T173 56T217 56T267 57T323 57T383 57T448 57H807Q808 56 811 54T815 52T819 49T823 45T826 40T828 34T829 27Q829 7 807 -3H87Q64 6 64 27'], - - // LESS-THAN OR EQUAL TO - 0x2264: [697,199,894,96,797,'797 55Q797 45 790 35T767 25H759L434 180Q108 336 105 339Q96 348 96 360Q96 378 114 388Q126 394 439 544T757 695Q763 697 766 697Q780 697 788 688T797 666Q797 654 788 645Q784 641 507 509T197 361L466 232Q785 80 790 74Q797 66 797 55ZM119 -199Q96 -191 96 -169Q96 -160 102 -152T119 -140H124Q130 -140 140 -140T164 -140T197 -140T237 -140T283 -139T334 -139T389 -139T448 -139H775Q797 -153 797 -169Q797 -187 775 -199H119'], - - // GREATER-THAN OR EQUAL TO - 0x2265: [697,199,894,96,797,'127 25Q110 25 103 34T96 54Q96 66 105 75Q109 80 439 238L696 361Q113 637 105 645Q96 654 96 667Q96 679 104 688T128 697Q137 696 460 541T788 382Q797 373 797 360Q797 348 788 339Q785 336 459 180L135 25H127ZM119 -199Q96 -191 96 -169Q96 -160 102 -152T119 -140H124Q130 -140 140 -140T164 -140T197 -140T237 -140T283 -139T334 -139T389 -139T448 -139H775Q797 -153 797 -169Q797 -187 775 -199H119'], - - // MUCH LESS-THAN - 0x226A: [617,116,1150,64,1085,'734 -74T734 -86T727 -107T704 -116H702Q694 -116 584 -55Q473 7 380 58Q87 219 73 229Q64 238 64 250Q64 263 73 272Q87 282 380 443Q695 616 699 617H700Q718 617 726 607T734 588Q734 568 717 560Q705 554 435 404L157 250L439 94Q721 -61 726 -66Q734 -74 734 -86ZM1085 -74T1085 -86T1078 -107T1055 -116H1053Q1045 -116 935 -55Q824 7 731 58Q438 219 424 229Q415 238 415 250Q415 263 424 272Q438 282 731 443Q1046 616 1050 617H1051Q1069 617 1077 607T1085 588Q1085 568 1068 560Q1056 554 786 404L508 250L790 94Q1072 -61 1077 -66Q1085 -74 1085 -86'], - - // MUCH GREATER-THAN - 0x226B: [618,116,1150,64,1085,'64 588Q64 600 72 609T94 618H95Q103 618 209 559Q322 496 419 443Q712 282 725 272Q734 263 734 250Q734 238 725 229Q714 220 415 55T110 -113Q103 -116 95 -116Q78 -116 71 -106T64 -86Q64 -74 72 -66Q77 -61 359 94L641 250L363 404Q277 452 173 509Q95 552 82 560T66 576V577Q64 585 64 588ZM415 588Q415 600 423 609T445 618H446Q454 618 560 559Q673 496 770 443Q1063 282 1076 272Q1085 263 1085 250Q1085 238 1076 229Q1065 220 766 55T461 -113Q454 -116 446 -116Q429 -116 422 -106T415 -86Q415 -74 423 -66Q428 -61 710 94L992 250L714 404Q628 452 524 509Q446 552 433 560T417 576V577Q415 585 415 588'], - - // PRECEDES - 0x227A: [585,86,894,96,797,'797 -57Q797 -65 790 -75T766 -86Q748 -86 741 -74T733 -43T719 8T681 72Q647 112 588 141T475 185T343 207T230 216T136 219Q96 219 96 250Q96 280 132 280H136Q193 281 239 283T347 292T457 310T556 342T643 391T703 460T735 553Q741 585 763 585Q781 585 789 575T797 556Q797 540 792 513T758 434T682 345Q605 285 481 254L462 249Q483 246 526 233T633 185T733 104Q767 63 782 15T797 -57'], - - // SUCCEEDS - 0x227B: [586,86,894,96,797,'96 556Q96 568 104 577T126 586Q152 586 158 553Q164 503 188 462T247 394T331 345T429 313T539 294T649 284T758 280H760Q797 280 797 250Q797 219 760 219H758Q627 217 529 204T347 160T216 77T158 -54Q152 -86 126 -86Q110 -86 103 -76T96 -57Q96 -41 101 -14T135 65T211 154Q288 214 412 245L431 250Q410 252 367 265T259 314T160 395Q127 435 112 483T96 556'], - - // SUBSET OF - 0x2282: [588,85,894,96,798,'96 251Q96 389 191 482T417 586Q418 586 428 586T456 586T496 586T546 587T601 587H775Q776 586 779 584T785 580T791 575T795 568T797 557Q797 536 775 527L597 526Q411 525 395 522Q390 521 370 516Q285 494 222 424T158 251Q158 131 246 53Q313 -9 408 -23Q417 -24 597 -25H775Q776 -26 781 -29T788 -34T794 -43T797 -56Q797 -74 775 -85H493Q407 -85 376 -79Q257 -55 177 35T96 251'], - - // SUPERSET OF - 0x2283: [587,86,894,96,796,'96 -55Q96 -38 119 -25H296Q482 -24 498 -21Q503 -20 523 -15Q609 7 672 77T735 251T665 431T485 524Q476 525 296 526L119 527Q96 535 96 557Q96 578 116 585Q121 587 300 587Q451 586 476 585T522 579Q632 556 714 468T796 251Q796 112 695 13Q612 -65 497 -82Q473 -86 289 -86L119 -85Q96 -77 96 -55'], - - // SUBSET OF OR EQUAL TO - 0x2286: [698,199,894,96,798,'96 361Q96 499 191 592T417 696Q418 696 428 696T456 696T496 696T546 697T601 697H775Q776 696 779 694T785 690T791 685T795 678T797 667Q797 646 775 637L597 636Q411 635 395 632Q390 631 370 626Q285 604 222 534T158 361Q158 241 246 163Q313 101 408 87Q417 86 597 85H775Q776 84 781 81T788 76T794 67T797 54Q797 36 775 25H493Q407 25 376 31Q257 55 177 145T96 361ZM149 -199Q127 -191 127 -169T149 -140H154Q160 -140 169 -140T192 -140T224 -140T262 -140T306 -139T354 -139T407 -139T463 -139H775Q776 -140 779 -142T785 -146T791 -151T795 -158T797 -169Q797 -190 775 -199H149'], - - // SUPERSET OF OR EQUAL TO - 0x2287: [697,199,894,96,796,'96 55Q96 72 119 85H296Q482 86 498 89Q503 90 523 95Q609 117 672 187T735 361T665 541T485 634Q476 635 296 636L119 637Q96 645 96 667Q96 688 116 695Q121 697 300 697Q451 696 476 695T522 689Q632 666 714 578T796 361Q796 222 695 123Q612 45 497 28Q473 24 289 24L119 25Q96 33 96 55ZM119 -199Q96 -190 96 -169T116 -141Q121 -139 433 -139H745Q766 -152 766 -170Q766 -190 745 -199H119'], - - // MULTISET UNION - 0x228E: [604,16,767,64,702,'672 603Q693 603 702 579V378Q702 348 702 300Q701 169 697 155Q696 153 696 152Q676 78 593 31T383 -16Q265 -16 179 28T70 152Q70 153 69 155Q65 170 64 278Q64 285 64 300Q64 348 64 378Q64 579 65 583Q74 604 94 604T123 584Q125 579 125 386Q125 190 126 184Q135 115 210 80T383 44Q426 44 467 51T546 75T609 119T640 184Q641 190 641 386Q641 579 643 584Q650 603 672 603ZM353 412Q353 420 353 435T352 456Q352 483 358 495T385 507Q403 506 409 494T415 457Q415 451 415 436T414 411V341H558Q579 329 579 311Q579 289 558 281L486 280H414V136Q400 114 384 114Q363 114 354 136L353 208V280H281L209 281Q187 289 187 310Q187 328 209 341H353V412'], - - // SQUARE IMAGE OF OR EQUAL TO - 0x2291: [698,199,894,96,828,'127 25Q111 29 104 49V362L105 675Q114 693 127 696H132Q138 696 149 696T174 696T208 696T249 696T297 697T350 697T407 697T468 697H806Q828 683 828 666Q828 646 806 637L485 636H165V85H805Q806 84 809 82T813 80T817 77T821 73T824 68T826 62T827 55Q827 34 806 25H127ZM96 -190T96 -169T119 -140H125Q131 -140 141 -140T167 -140T201 -140T242 -140T290 -139T344 -139T402 -139T463 -139H805Q806 -140 809 -142T813 -144T817 -147T821 -151T824 -156T826 -162T827 -169Q827 -190 806 -199H119Q96 -190 96 -169'], - - // SQUARE ORIGINAL OF OR EQUAL TO - 0x2292: [698,199,894,66,797,'66 55Q66 74 89 85H728V636H408L88 637Q66 645 66 667T88 696H94Q99 696 110 696T135 696T169 696T210 696T258 697T311 697T368 697T429 697H767Q786 684 789 672V49Q782 31 767 25H88Q66 32 66 55ZM88 -199Q66 -191 66 -169Q66 -148 87 -140Q91 -139 433 -139H775Q776 -140 779 -142T783 -144T787 -147T791 -151T794 -156T796 -162T797 -169Q797 -189 775 -199H88'], - - // stix-square intersection, serifs - 0x2293: [604,-1,767,70,696,'131 25Q121 1 100 1Q81 1 71 23L70 301Q70 579 72 583Q77 598 90 602Q95 604 385 604H674Q693 591 696 579V25Q686 1 665 1Q646 1 636 23L635 283V543H131V25'], - - // stix-square union, serifs - 0x2294: [604,-1,767,70,696,'696 25Q689 7 674 1H93Q77 7 71 23L70 301Q70 579 72 583Q80 604 100 604T131 579V61H635V579Q644 603 666 603Q687 603 696 579V25'], - - // stix-circled plus (with rim) - 0x2295: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM416 282V570H414Q341 564 285 535T202 475T156 397T134 332T128 287Q127 283 127 282H416ZM765 288Q760 344 743 389T700 462T647 512T589 543T538 560T499 568L483 570H478V282H766L765 288ZM416 -69V220H127Q130 195 131 189T138 155T150 115T168 76T196 35T234 0T286 -35Q337 -61 410 -69H416ZM483 -69Q554 -60 607 -33T687 21T733 93T756 156T764 209Q766 217 766 220H478V-69H483'], - - // CIRCLED MINUS - 0x2296: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM765 288Q753 424 666 497T446 571T227 498T128 288L127 282H766L765 288ZM446 -70Q578 -70 666 4T765 213L766 220H127Q130 195 131 189T138 155T150 115T168 76T196 35T234 0T286 -35Q353 -70 446 -70'], - - // stix-circled times (with rim) - 0x2297: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM647 512Q567 571 447 571Q340 571 262 523Q237 507 237 505L342 399L447 295L657 505L647 512ZM298 356L192 461Q180 445 161 411Q126 341 126 251Q126 128 192 40L403 250L298 356ZM701 41Q704 41 719 63T750 138T767 250Q767 310 750 362T719 437T701 460L491 250L701 41ZM238 -5Q238 -8 261 -22T336 -53T447 -70Q567 -70 647 -11L657 -4L447 206L342 101Q238 -1 238 -5'], - - // CIRCLED DIVISION SLASH - 0x2298: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM657 505Q656 506 650 510T638 518T623 527T604 537T581 547T553 556T522 563T486 569T446 571Q305 571 216 487T126 251Q126 128 192 40L657 505ZM447 -70Q591 -70 679 16T767 250Q767 308 751 360T719 436T701 460L469 228Q238 -1 238 -5Q238 -8 261 -22T336 -53T447 -70'], - - // CIRCLED DOT OPERATOR - 0x2299: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM767 252Q767 395 681 483T446 571Q303 571 215 486T126 249Q126 107 212 19T446 -70Q596 -70 681 18T767 252ZM335 251Q335 297 368 329T441 361Q498 361 527 327T557 250Q557 202 525 171T446 140Q397 140 366 173T335 251'], - - // RIGHT TACK - 0x22A2: [693,-1,703,65,637,'65 672Q76 693 91 693Q115 693 123 674Q125 669 125 523V378H615Q618 376 622 373T628 369T632 366T635 362T636 356T637 347Q637 328 619 319Q615 317 370 317H125V171Q125 25 123 20Q114 1 94 1Q73 1 65 23V672'], - - // LEFT TACK - 0x22A3: [693,-1,703,64,638,'64 327T64 347T89 378H577V525L578 672Q592 693 604 693Q629 693 638 669V25Q628 1 607 1Q588 1 578 23L577 170V317H88Q64 327 64 347'], - - // DOWN TACK - 0x22A4: [695,-1,894,64,829,'64 664Q64 675 71 683T87 693H93Q99 693 110 693T137 693T173 693T217 694T267 694T323 694T383 694T448 694H807Q808 693 811 691T817 687T823 682T827 675T829 664Q829 643 807 634L642 633H477V25Q467 1 446 1Q427 1 417 23L416 328V633H251L87 634Q64 643 64 664'], - - // UP TACK - 0x22A5: [693,-1,894,65,829,'65 31Q65 38 66 41T71 50T87 61H416V366L417 672Q431 693 443 693Q468 693 477 669V61H807Q808 60 811 58T817 54T823 49T827 42T829 31Q829 10 807 1H87Q65 10 65 31'], - - // TRUE - 0x22A8: [750,249,974,129,918,'160 -249Q138 -249 129 -225V250Q129 725 131 729Q139 750 159 750T190 725V392Q219 393 537 393H896Q897 392 900 390T906 386T912 381T916 374T918 363Q918 345 896 333H190V169H896L900 166Q905 163 907 162T912 157T916 149T918 139Q918 118 896 109H190V-225Q181 -249 160 -249'], - - // DIAMOND OPERATOR - 0x22C4: [523,21,575,15,560,'280 522Q281 523 285 523H289Q301 523 366 457Q404 420 431 393Q533 291 546 277T560 250Q560 239 548 226T431 108Q313 -10 304 -16Q297 -21 287 -21Q278 -21 275 -19Q270 -17 146 107T18 238Q15 242 15 251Q15 258 18 263Q20 268 145 392T274 519L280 522ZM388 350L288 449L188 350L89 250L288 52L487 250L388 350'], - - // DOT OPERATOR - 0x22C5: [336,-165,319,74,245,'74 251Q74 286 99 311T156 336Q200 336 222 308T245 250Q245 221 224 194T160 166T96 193T74 251'], - - // STAR OPERATOR - 0x22C6: [502,0,575,24,550,'270 491Q274 502 287 502Q298 502 304 491Q304 486 323 396T342 303L438 314Q520 324 534 324Q540 324 545 320T550 307Q550 298 539 290T456 243Q377 198 377 197L416 111Q456 26 456 22Q457 21 457 18Q457 11 451 6T438 0H437Q432 0 415 16Q387 42 358 68L287 133L216 68Q193 47 167 23Q142 0 136 0Q129 0 123 5T117 18Q117 21 118 22Q118 26 158 111L197 197Q197 198 156 221T72 269T26 298Q24 304 24 307Q24 315 29 319T40 324Q53 324 136 314L232 303Q232 306 251 396T270 491'], - - // BOWTIE - 0x22C8: [540,39,1000,33,967,'906 251Q906 456 905 456Q550 252 549 251Q549 250 726 148T905 45T906 251ZM967 -14Q958 -38 939 -38H937Q928 -38 923 -35Q919 -34 748 64T500 209L71 -38Q69 -39 63 -39Q42 -39 33 -16V518Q45 540 63 540H65Q72 540 174 481Q247 439 302 407L500 292Q578 339 750 438T929 539H933Q958 539 967 515V-14ZM449 251L94 456Q93 456 93 251Q93 45 94 45L106 52Q119 59 139 71T186 98T242 131T301 165T357 197T404 225T437 244L449 251'], - - // VERTICAL ELLIPSIS - 0x22EE: [951,29,319,74,245,'74 55Q74 91 99 116T156 141Q200 141 222 113T245 55Q245 26 224 -1T160 -29Q118 -29 96 -3T74 55ZM74 465Q74 501 99 526T156 551Q200 551 222 523T245 465Q245 436 224 409T160 381Q118 381 96 407T74 465ZM74 865Q74 901 99 926T156 951Q200 951 222 923T245 865Q245 836 224 809T160 781Q118 781 96 807T74 865'], - - // MIDLINE HORIZONTAL ELLIPSIS - 0x22EF: [336,-165,1295,74,1221,'74 251Q74 286 99 311T156 336Q200 336 222 308T245 250Q245 221 224 194T160 166T96 193T74 251ZM562 251Q562 286 587 311T644 336Q688 336 710 308T733 250Q733 221 712 194T648 166T584 193T562 251ZM1050 251Q1050 286 1075 311T1132 336Q1176 336 1198 308T1221 250Q1221 221 1200 194T1136 166T1072 193T1050 251'], - - // DOWN RIGHT DIAGONAL ELLIPSIS - 0x22F1: [871,-101,1323,129,1194,'129 785Q129 821 154 846T211 871Q255 871 277 843T300 785Q300 756 279 729T215 701Q173 701 151 727T129 785ZM576 485Q576 521 601 546T658 571Q702 571 724 543T747 485Q747 456 726 429T662 401Q620 401 598 427T576 485ZM1023 185Q1023 221 1048 246T1105 271Q1149 271 1171 243T1194 185Q1194 156 1173 129T1109 101Q1067 101 1045 127T1023 185'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MathOperators.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js deleted file mode 100644 index 0af6626e..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MiscMathSymbolsA.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E8: [750,249,447,127,382,'127 243V259L223 491Q251 557 286 642Q318 719 324 732T340 748H341Q347 750 351 750Q365 750 373 740T382 723Q382 713 286 482L190 251Q190 249 286 20T382 -219Q382 -232 373 -240T352 -249Q332 -249 323 -229Q320 -220 223 10L127 243'], - - // MATHEMATICAL RIGHT ANGLE BRACKET - 0x27E9: [750,249,447,64,319,'64 720Q64 732 72 741T94 750Q106 750 113 743Q118 741 122 732L319 259V243L122 -231Q112 -249 95 -249Q83 -249 74 -240T64 -218Q64 -210 160 20L256 251L160 482Q64 715 64 720'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MiscMathSymbolsA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js deleted file mode 100644 index f47a434f..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js +++ /dev/null @@ -1,47 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MiscSymbols.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // BLACK SPADE SUIT - 0x2660: [719,130,894,64,829,'675 -18Q536 -18 527 62V70H477V55Q479 14 487 -21T502 -75T509 -101Q509 -120 491 -127Q487 -129 447 -129Q446 -129 439 -129T427 -130Q384 -130 384 -101Q384 -95 391 -76T406 -21T416 55V70H366Q364 52 360 40T342 14T300 -8T230 -17H218Q110 -17 75 117Q64 163 64 209Q64 290 116 357T261 495Q363 574 414 690Q425 719 445 719Q467 719 478 693Q507 627 547 578T623 503T702 438T777 357Q829 285 829 202V197Q826 128 808 81T762 15T714 -11T675 -18'], - - // WHITE HEART SUIT - 0x2661: [711,24,894,65,828,'65 491Q65 602 121 656T246 710Q375 710 440 624L447 615Q519 711 638 711Q723 711 775 652T828 491Q828 390 770 313T581 129Q539 95 514 63T483 14T469 -13T446 -24Q434 -24 427 -17T416 0T400 32T371 74Q352 97 310 131T229 199T151 276T89 374T65 491ZM249 649Q188 649 157 603T125 489Q125 409 181 338T352 176Q408 131 437 87L446 73L456 87Q479 121 507 147T579 207T659 278Q768 387 768 489Q768 506 766 524T756 566T731 611T687 642Q668 649 638 649Q609 649 593 644Q547 633 516 604T478 534Q473 505 447 505H445Q420 505 416 534Q407 577 372 608T285 648Q277 649 249 649'], - - // WHITE DIAMOND SUIT - 0x2662: [719,154,894,64,828,'409 686Q410 688 412 691T415 696T418 701T421 706T424 709T427 713T431 715T435 717T440 718T446 719Q455 719 460 717T472 704T488 679T516 633T563 567Q624 485 687 422T787 330T826 296T828 282Q828 270 825 265T801 245Q696 161 612 59T477 -133Q465 -154 447 -154Q439 -154 434 -152T425 -146T414 -130T399 -104T372 -62T330 -3Q270 78 207 142T107 234T70 265Q64 274 64 282Q64 296 90 317Q284 472 409 686ZM749 282Q745 286 721 307T681 343T635 388T581 446T525 516T465 601Q462 606 457 613T450 624L447 627V628Q446 628 436 611T402 561T348 489T266 396T155 292L145 282Q147 280 185 245T257 177T343 79T442 -57Q446 -64 447 -64V-63Q450 -59 475 -22T530 56T619 160T749 282'], - - // BLACK CLUB SUIT - 0x2663: [719,130,894,32,861,'240 527Q240 611 301 665T446 719T590 665T652 527Q652 431 571 373Q578 363 584 352T593 335T597 329L604 335Q611 341 617 345T637 356T667 366Q672 366 680 367T694 368Q767 368 814 310T861 177Q861 109 819 57T713 -12Q690 -17 656 -17Q535 -13 527 62V70H477V55Q479 14 487 -21T502 -75T509 -101Q509 -120 491 -127Q487 -129 447 -129Q446 -129 439 -129T427 -130Q384 -130 384 -101Q384 -95 391 -76T406 -21T416 55V70H366V62Q356 -12 237 -17Q130 -17 71 60Q32 111 32 178Q32 251 78 309T198 368Q217 368 233 364T260 354T279 343T291 333T296 329L300 336Q304 343 310 354T322 373Q240 432 240 527'], - - // MUSIC FLAT SIGN - 0x266D: [750,17,447,64,381,'230 480Q293 480 337 440T381 330V322Q381 240 323 161Q258 71 123 -11L114 -16L97 -17Q70 -17 66 -7Q64 -3 64 366V641Q64 717 65 731T75 748Q78 750 95 750Q117 750 122 742T127 694Q127 685 127 653T126 595V454Q183 480 230 480ZM242 333Q242 405 212 405H207Q147 405 130 370L127 364L126 219Q126 77 128 77Q133 82 140 90T167 127T202 183T229 253T242 333'], - - // MUSIC NATURAL SIGN - 0x266E: [741,223,447,57,389,'345 -223Q333 -223 330 -214T327 -178V-116Q327 -23 326 -23L203 -82Q90 -134 77 -140Q65 -142 59 -130Q57 -126 57 295V595Q57 643 57 667T58 704T60 719T63 724Q93 741 101 741Q113 741 116 732T119 680V597Q119 467 120 467Q121 468 180 495T301 552T369 584Q381 586 387 574Q389 570 389 187V-88Q389 -132 389 -154T388 -188T386 -202T383 -206Q353 -223 345 -223ZM327 271Q327 421 326 421L120 323L119 173V23Q120 23 223 72L327 121V271'], - - // MUSIC SHARP SIGN - 0x266F: [724,224,447,64,382,'140 628Q151 628 154 620T158 591V549V484L166 488Q175 492 192 500T223 516L288 548V622V674Q288 681 288 685T289 693T289 699T291 703T295 707T298 709T304 712T311 716Q326 724 332 724Q343 724 346 715T350 685V644V579Q358 583 364 583Q376 583 380 574Q382 570 382 514V481Q382 459 380 454T363 441L350 435V135Q358 139 364 139Q376 139 380 130Q382 126 382 70V37Q382 15 380 10T363 -3L350 -9V-76Q350 -102 348 -106T328 -119Q312 -128 306 -128Q288 -128 288 -99V-77V-40L280 -44Q271 -48 254 -56T223 -72L158 -104V-150V-180Q158 -198 155 -202T135 -216Q119 -224 114 -224Q96 -224 96 -192V-172V-135Q86 -140 81 -140Q70 -140 66 -129Q64 -126 64 -70V-54Q64 -18 66 -12T83 3L96 9V309Q86 304 81 304Q70 304 66 315Q64 318 64 374V407Q64 429 66 434T83 447L96 453V602Q99 609 100 610T118 619Q134 628 140 628ZM288 254Q288 404 287 404L158 340V40L166 44Q175 48 192 56T223 72L288 104V254'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MiscSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js deleted file mode 100644 index 1ccb0006..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js +++ /dev/null @@ -1,44 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MiscTechnical.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // LEFT CEILING - 0x2308: [751,248,511,194,494,'194 728Q199 743 216 749H220Q223 749 229 749T245 749T265 750T289 750T316 750T345 750H471Q472 749 477 746T484 741T490 732T493 719Q493 701 471 690L362 689H254V-224Q244 -248 223 -248T194 -226V728'], - - // RIGHT CEILING - 0x2309: [750,248,511,17,317,'317 -224Q307 -248 286 -248Q267 -248 257 -226L256 231V689H148L40 690Q17 698 17 720Q17 741 37 748Q42 750 169 750H295Q314 737 317 725V-224'], - - // LEFT FLOOR - 0x230A: [749,248,511,194,494,'194 728Q204 749 220 749Q245 749 254 725V-188H471Q472 -189 477 -192T484 -197T490 -206T493 -219Q493 -237 471 -248H216Q200 -242 194 -226V728'], - - // RIGHT FLOOR - 0x230B: [749,248,511,17,317,'17 -219Q17 -201 40 -188H256V270L257 728Q271 749 283 749Q308 749 317 725V-224Q310 -242 295 -248H40L38 -247Q35 -246 34 -245T30 -243T25 -239T21 -234T18 -227T17 -219'], - - // stix-small down curve - 0x2322: [405,-107,1150,65,1084,'95 108Q85 108 75 114T65 139Q65 159 129 227Q316 405 573 405Q654 405 729 387T854 344T950 286T1015 232T1053 191Q1078 160 1083 152Q1084 148 1084 139Q1084 121 1074 115T1054 108Q1040 108 1029 122T990 167T922 223Q819 291 680 309Q641 315 575 315Q508 315 469 309Q303 288 197 201Q168 179 148 155T118 119T95 108'], - - // stix-small up curve - 0x2323: [393,-126,1150,64,1085,'1054 392Q1067 392 1076 384T1085 362Q1085 351 1079 342T1050 310Q983 243 901 200Q753 126 575 126Q494 126 420 141T298 176T205 225T140 272T100 310Q64 346 64 362Q64 370 67 374Q75 393 93 393Q107 393 124 375Q272 214 575 214Q877 214 1025 375Q1039 392 1054 392'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MiscTechnical.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js deleted file mode 100644 index 7099b284..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/SpacingModLetters.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2C6: [694,-520,575,126,449,'207 632L287 694Q289 693 368 632T448 570T431 545T413 520Q410 520 350 559L287 597L224 559Q164 520 161 520Q160 520 143 544T126 570T207 632'], - - // CARON - 0x2C7: [660,-515,575,130,443,'131 603Q130 604 136 618T150 646T158 659L223 635L287 611L351 635L416 659Q417 660 424 647T437 619T443 603Q440 601 364 558T287 515T210 558T131 603'], - - // MODIFIER LETTER MACRON - 0x2C9: [607,-540,575,80,494,'80 540V607H494V540H80'], - - // MODIFIER LETTER ACUTE ACCENT - 0x2CA: [706,-503,575,236,460,'391 706Q419 706 439 683T460 634Q460 608 441 593T366 550Q356 545 351 543L275 503L256 527Q236 552 237 553Q242 558 292 620Q299 629 309 641T324 659T336 673T346 685T354 693T363 699T371 703T380 705T391 706'], - - // MODIFIER LETTER GRAVE ACCENT - 0x2CB: [706,-503,575,113,338,'114 634Q114 663 136 684T183 706Q191 706 196 705T208 700T219 693T232 681T245 666T262 645T282 620Q332 558 337 553Q338 552 318 527L299 503L223 543Q215 547 202 553T183 563T167 571T153 580T141 587T131 595T124 603T118 612T115 622T114 634'], - - // BREVE - 0x2D8: [694,-500,575,102,472,'287 500Q208 500 155 558T102 689V694H153V685Q153 681 154 674T164 648T186 615T226 590T287 578Q347 578 382 611T421 685V694H472V689Q472 623 422 562T287 500'], - - // DOT ABOVE - 0x2D9: [695,-525,575,202,372,'202 610Q202 647 227 671T283 695Q324 695 348 669T372 610T350 551T287 525Q248 525 225 551T202 610'], - - // RING ABOVE - 0x2DA: [702,-535,575,160,414,'160 618Q160 653 193 677T279 702H284Q381 702 407 647Q414 634 414 618Q414 607 410 596T395 570T355 546T287 536T220 545T181 568T165 594T160 618ZM352 618Q352 645 341 652T301 659H292Q286 659 278 659T268 660Q247 660 236 653T224 638T222 619Q222 591 234 585T287 578Q315 578 326 580T345 590T352 618'], - - // SMALL TILDE - 0x2DC: [694,-552,575,96,478,'343 552Q320 552 278 575T215 599Q181 599 146 564L134 552L115 569Q111 572 106 576T98 584L96 586Q158 656 165 663Q199 694 230 694Q239 694 244 693Q262 689 300 668T359 647Q393 647 428 682L440 694L459 677Q463 674 468 670T476 662L478 660Q416 590 409 583Q375 552 343 552'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/SpacingModLetters.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js deleted file mode 100644 index e1d70e3c..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/SuppMathOperators.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // AMALGAMATION OR COPRODUCT - 0x2A3F: [686,0,900,39,860,'39 655Q39 675 43 680T69 686Q110 684 225 684Q267 684 303 684T360 685T385 686Q401 686 405 680T409 651Q409 632 403 628T367 624H348H301V62H598V624H551H532Q502 624 496 628T490 651Q490 673 494 679T514 686Q518 686 558 685T675 684T792 685T836 686Q852 686 856 680T860 651Q860 632 854 628T818 624H799H752V62H799H809Q846 62 853 59T860 36V31V21Q860 6 850 2Q846 0 450 0H156Q75 0 60 1T40 11V18Q39 26 39 31Q39 54 44 58T82 63Q84 63 90 63T100 62H147V624H100H90Q53 624 46 627T39 650V655'], - - // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN - 0x2AAF: [696,199,894,96,797,'796 54Q796 40 788 32T767 24Q741 24 735 57Q729 107 705 148T646 216T563 264T465 297T356 316T245 326T136 330H134Q96 330 96 360Q96 391 134 391H136Q193 392 239 394T347 403T457 421T556 453T643 502T703 571T735 664Q741 696 763 696Q781 696 789 686T797 667Q797 651 792 624T758 545T682 456Q605 396 481 365L462 360Q483 357 526 344T633 296T733 215Q767 173 781 128T796 54ZM119 -199Q96 -190 96 -169T116 -141Q121 -139 448 -139H775Q776 -140 779 -142T785 -146T791 -151T795 -158T797 -169Q797 -190 775 -199H119'], - - // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN - 0x2AB0: [697,199,894,96,797,'127 24Q115 24 106 32T97 55Q97 95 124 156T211 265Q288 325 412 356L431 361Q410 363 367 376T259 425T160 506Q127 546 112 594T96 667Q96 679 104 688T126 697Q152 697 158 664Q164 614 188 573T247 505T331 456T429 424T539 405T649 395T758 391Q797 391 797 360Q797 330 761 330H758Q701 329 655 327T547 318T437 300T337 268T251 219T190 150T158 57Q151 24 127 24ZM119 -199Q96 -190 96 -169T116 -141Q121 -139 448 -139H775Q776 -140 779 -142T785 -146T791 -151T795 -158T797 -169Q797 -190 775 -199H119'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/SuppMathOperators.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js deleted file mode 100644 index fc91f222..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js +++ /dev/null @@ -1,47 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/SupplementalArrowsA.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], - { - // LONG LEFTWARDS ARROW - 0x27F5: [518,17,1805,64,1741,'1063 221L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1063L1065 280Q1079 281 1392 281H1719Q1720 280 1723 278T1729 274T1735 269T1739 262T1741 251Q1741 230 1719 221H1063'], - - // LONG RIGHTWARDS ARROW - 0x27F6: [518,17,1833,96,1773,'119 221Q96 230 96 251T116 279Q121 281 448 281H1188L1602 282Q1569 304 1530 357T1473 482Q1469 500 1469 501Q1469 512 1480 517Q1482 518 1500 518H1505Q1520 518 1523 515T1532 495Q1552 412 1611 351T1753 270Q1773 263 1773 251Q1773 240 1765 236T1732 225T1683 204Q1625 173 1586 122T1532 6Q1528 -10 1524 -13T1504 -17H1499Q1474 -16 1470 -9Q1469 -6 1469 -2Q1469 1 1473 17Q1501 138 1602 220H1188L775 221H119'], - - // LONG LEFT RIGHT ARROW - 0x27F7: [518,17,2126,64,2061,'1063 221L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1476L1890 282Q1857 304 1818 357T1761 482Q1757 500 1757 501Q1757 512 1768 517Q1770 518 1788 518H1793Q1808 518 1811 515T1820 495Q1840 412 1899 351T2041 270Q2061 263 2061 251Q2061 240 2053 236T2020 225T1971 204Q1913 173 1874 122T1820 6Q1816 -10 1812 -13T1792 -17H1787Q1762 -16 1758 -9Q1757 -6 1757 -2Q1757 1 1761 17Q1789 138 1890 220H1476L1063 221'], - - // LONG LEFTWARDS DOUBLE ARROW - 0x27F8: [547,46,1868,64,1804,'1063 333L700 332H338L324 321Q283 290 230 264L205 250Q266 224 323 180L338 170L700 169H1063L1064 168Q1080 169 1423 169H1782L1786 166Q1791 163 1793 162T1798 157T1802 149T1804 139Q1804 118 1782 109H1063L733 108H404L412 99Q455 50 488 -10Q498 -27 493 -37Q487 -46 465 -46H460Q446 -46 439 -39T426 -18T399 25T344 89Q239 194 99 229Q96 230 92 231T85 232T79 234T73 235T69 237T66 240T65 244T64 250Q64 267 90 271Q197 295 286 361T430 525Q439 542 442 544T460 547H465Q487 547 492 539Q496 531 496 530Q496 521 471 482T414 405L404 394L733 393H1063Q1064 392 1065 392Q1081 393 1423 393H1782Q1783 392 1786 390T1792 386T1798 381T1802 374T1804 363Q1804 345 1782 333H1063'], - - // LONG RIGHTWARDS DOUBLE ARROW - 0x27F9: [547,46,1870,64,1804,'87 109Q64 118 64 139Q64 159 86 168Q89 169 448 169H1169L1532 170L1546 180Q1562 193 1580 204T1612 223T1638 237T1657 246L1664 250L1639 264Q1586 290 1545 321L1531 332H1169L807 333H87Q64 343 64 362Q64 383 84 391Q89 393 448 393H1136L1465 394L1455 405Q1428 436 1401 477T1374 531Q1374 547 1399 547H1404H1409Q1423 547 1430 540T1443 519T1470 475T1526 411Q1634 303 1779 271Q1780 271 1783 270T1788 269T1792 268T1796 266T1799 264T1802 260T1803 256T1804 250Q1804 242 1800 238T1783 231T1755 225T1712 211T1654 185Q1517 112 1439 -24Q1430 -40 1426 -43T1409 -46H1404Q1373 -46 1373 -31Q1373 -24 1381 -10Q1414 50 1457 99L1465 108H1136L807 109H87'], - - // LONG LEFT RIGHT DOUBLE ARROW - 0x27FA: [547,46,2126,64,2060,'1063 333L700 332H338L324 321Q283 290 230 264L205 250Q266 224 323 180L338 170L700 169H1425L1788 170L1802 180Q1818 193 1836 204T1868 223T1894 237T1913 246L1920 250L1895 264Q1842 290 1801 321L1787 332H1425L1063 333ZM733 393H1392L1721 394L1711 405Q1684 436 1657 477T1630 531Q1630 547 1655 547H1660H1665Q1679 547 1686 540T1699 519T1726 475T1782 411Q1890 303 2035 271Q2036 271 2039 270T2044 269T2048 268T2052 266T2055 264T2058 260T2059 256T2060 250Q2060 242 2056 238T2039 231T2011 225T1968 211T1910 185Q1773 112 1695 -24Q1686 -40 1682 -43T1665 -46H1660Q1629 -46 1629 -31Q1629 -24 1637 -10Q1670 50 1713 99L1721 108H1392L1063 109L733 108H404L412 99Q455 50 488 -10Q498 -27 493 -37Q487 -46 465 -46H460Q446 -46 439 -39T426 -18T399 25T344 89Q239 194 99 229Q96 230 92 231T85 232T79 234T73 235T69 237T66 240T65 244T64 250Q64 267 90 271Q197 295 286 361T430 525Q439 542 442 544T460 547H465Q487 547 492 539Q496 531 496 530Q496 521 471 482T414 405L404 394L733 393'], - - // LONG RIGHTWARDS ARROW FROM BAR - 0x27FC: [518,17,1833,65,1773,'65 426Q74 448 95 448Q112 448 125 426V281H130L132 280H134Q162 281 448 281H1188L1602 282Q1569 304 1530 357T1473 482Q1469 500 1469 501Q1469 512 1480 517Q1482 518 1500 518H1505Q1520 518 1523 515T1532 495Q1552 412 1611 351T1753 270Q1773 263 1773 251Q1773 240 1765 236T1732 225T1683 204Q1625 173 1586 122T1532 6Q1528 -10 1524 -13T1504 -17H1499Q1474 -16 1470 -9Q1469 -6 1469 -2Q1469 1 1473 17Q1501 138 1602 220H1188L775 221H135Q133 220 130 220H125V76Q115 54 95 54Q73 54 65 76V426'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/SupplementalArrowsA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js deleted file mode 100644 index 6552bc4b..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js +++ /dev/null @@ -1,287 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/BasicLatin.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], - { - // SPACE - 0x20: [0,0,250,0,0,''], - - // EXCLAMATION MARK - 0x21: [716,0,307,107,380,'330 716Q351 716 365 703T380 670V659L304 433Q230 207 227 204Q225 198 205 198Q184 198 184 207T220 439T260 669Q270 694 297 708Q300 709 304 710T311 713T316 714Q324 716 330 716ZM107 51Q110 83 133 102T179 121Q207 121 219 105T231 72Q231 45 209 23T156 0Q138 0 123 11T107 51'], - - // QUOTATION MARK - 0x22: [694,-379,514,176,538,'214 620Q214 647 236 670T289 694Q312 694 326 677T341 633V624Q341 588 327 550T294 482T253 428T216 392T196 379Q191 379 184 388T176 401Q176 404 195 421T243 472T287 547Q299 576 299 582L295 580Q291 578 282 576T264 573Q241 573 228 585T214 620ZM411 620Q411 647 433 670T486 694Q509 694 523 677T538 633V624Q538 588 524 550T491 482T450 428T413 392T393 379Q388 379 381 388T373 401Q373 404 392 421T440 472T484 547Q496 576 496 582L492 580Q488 578 479 576T461 573Q438 573 425 585T411 620'], - - // NUMBER SIGN - 0x23: [694,194,818,115,828,'281 327H228Q186 327 175 330T164 347Q164 359 176 365Q179 367 292 367H404L563 688Q569 694 578 694T593 686T597 670Q597 667 531 535L448 367H614L773 688Q779 694 787 694Q796 694 802 688T808 674V672L807 670Q807 667 732 517L658 368L736 367H814Q828 357 828 347Q828 336 812 327H637L599 250Q561 174 561 173H662H724Q760 173 769 170T779 153T770 136T729 132Q721 132 696 132T651 133H540L380 -188Q374 -194 366 -194Q357 -194 351 -188T345 -174L346 -172V-170Q346 -167 412 -35L495 133H330L170 -188Q164 -194 156 -194Q147 -194 141 -188T135 -174L136 -172V-170Q136 -167 211 -17L285 133H207L130 134Q115 140 115 153Q115 164 131 173H306L344 250Q382 326 382 327H281ZM592 327H427L389 250Q351 174 351 173H516L554 250Q592 326 592 327'], - - // PERCENT SIGN - 0x25: [750,56,818,145,847,'301 348Q257 348 231 383T205 480Q205 553 244 629T346 736Q370 750 394 750Q416 750 429 742T458 714Q512 644 606 644Q722 644 802 732Q817 750 827 750Q835 750 841 744T847 730Q847 725 827 700T689 540Q586 421 512 335Q180 -50 176 -52Q172 -56 165 -56Q157 -56 151 -50T145 -35Q145 -29 162 -9T330 186Q392 258 430 302Q711 627 711 628L701 624Q652 607 604 607Q551 607 494 634L479 642V624Q479 544 439 467Q414 416 377 382T301 348ZM270 443Q270 385 303 385H306H308Q326 385 348 407Q384 441 409 504T434 627Q434 713 390 713Q358 713 328 663Q307 631 289 556T270 451V443ZM608 -56Q573 -56 543 -23T513 76Q513 129 536 190T604 296L627 318Q670 347 704 347Q747 347 767 310T788 222Q788 126 732 35T608 -56ZM742 222Q742 310 699 310Q677 310 655 285T620 227Q608 197 593 138T578 42V36Q578 -18 613 -18Q657 -18 699 64T742 222'], - - // AMPERSAND - 0x26: [716,23,767,127,802,'209 444Q209 546 278 631T424 716Q473 716 501 683T530 601Q530 554 511 535T467 515Q446 515 437 527T427 553Q427 578 446 594T481 610H483V617Q480 641 464 660T419 679Q367 679 328 603Q316 578 305 538T288 470L282 443L295 449Q308 455 330 462T371 469Q397 469 413 450T430 404Q430 363 400 329T331 295Q291 295 256 322Q255 322 246 293T227 223T217 158Q217 117 232 88T273 43T327 22T387 15Q457 15 512 37T599 93T652 169T680 248T688 317T678 380T659 423T647 437Q643 435 637 431T613 416T581 392T554 364T538 332Q540 310 541 310Q554 335 587 335Q601 335 613 327T626 300Q626 290 622 279T603 255T563 242Q532 245 512 263T491 320Q494 351 511 377T547 418T600 456T652 494Q676 512 697 539T728 582T738 601Q738 602 736 602Q732 602 726 604T714 616T707 638Q707 661 724 677T764 694Q799 694 802 660Q802 625 767 562T688 467L694 458Q700 449 702 444T711 428T720 408T727 385T733 358T735 327Q735 281 724 235T685 141T617 59T515 1T375 -22Q270 -22 199 34T127 181Q127 216 147 270T207 374L216 386Q209 421 209 444ZM386 412Q386 432 366 432Q345 432 325 418T294 390T284 375Q284 371 289 362T306 343T335 332Q355 332 367 350T383 384T386 412'], - - // APOSTROPHE - 0x27: [694,-378,307,212,377,'250 620Q250 647 272 670T325 694Q348 694 362 677T377 633V624Q377 566 343 506T275 412T231 379Q226 379 220 388T213 401T232 421T279 472T323 547Q335 573 335 582L331 580Q327 578 318 576T300 573Q277 573 264 585T250 620'], - - // LEFT PARENTHESIS - 0x28: [750,250,409,144,517,'241 -250Q203 -212 174 -140T144 39Q144 158 180 288T296 544T481 746L487 750H499Q517 750 517 740Q517 736 495 716Q399 630 331 491T236 228T208 3Q208 -73 224 -130T255 -214T271 -244Q271 -250 252 -250H241'], - - // RIGHT PARENTHESIS - 0x29: [750,250,409,17,390,'326 497Q326 546 320 588T304 655T285 699T269 728T262 740Q262 746 267 749L272 750Q276 750 281 750H293Q331 712 360 640T390 461Q390 332 339 171T188 -116Q161 -150 121 -188T47 -250H35Q17 -250 17 -240Q17 -236 39 -216Q135 -130 203 9T298 272T326 497'], - - // ASTERISK - 0x2A: [750,-320,511,195,584,'560 658Q569 658 576 649T584 631Q584 625 583 620T577 611T569 603T556 595T540 587T519 578T494 566L428 536Q427 535 433 531T479 502Q525 475 532 469T539 450Q538 435 525 424T497 412Q489 412 482 418T442 456Q400 497 400 494L387 420Q376 353 373 343T352 323Q345 320 336 320H331Q322 320 316 327T309 343Q309 347 334 420L359 496Q358 496 297 456T234 414Q228 411 221 411Q212 411 204 417T195 439Q198 458 209 465T283 502L353 534L300 566Q255 593 247 599T239 616Q239 631 252 644T282 658Q290 658 295 654T335 615L378 573L391 647Q393 657 395 671T398 691T400 706T404 720T408 730T414 739T423 744T434 749Q435 749 439 749T445 750Q467 748 469 728Q469 723 457 685T432 610L420 573L481 613Q548 658 560 658'], - - // PLUS SIGN - 0x2B: [557,57,767,139,753,'139 237T139 250T151 266T198 270H293H431L465 407Q469 424 476 452Q494 528 500 542T519 557Q526 557 532 552T538 538Q538 536 507 409T472 272Q472 270 604 270Q737 270 741 268Q753 261 753 250Q753 237 742 233T696 229Q687 229 655 229T599 230H462L461 226Q461 224 427 91T392 -47Q387 -57 374 -57Q367 -57 361 -51T355 -37Q355 -31 388 99L421 230H288Q267 230 238 230T199 229Q163 229 151 233'], - - // COMMA - 0x2C: [121,194,307,69,232,'106 46Q106 68 121 90T167 120Q168 120 173 120T180 121Q232 121 232 59V54Q232 18 219 -20T186 -88T145 -143T109 -181T88 -194Q84 -194 77 -185T69 -171Q69 -168 70 -166T76 -161T85 -154T101 -139T124 -114Q146 -88 162 -58T183 -12T188 7Q187 7 183 5T172 2T156 0Q129 0 118 14T106 46'], - - // HYPHEN-MINUS - 0x2D: [251,-180,358,84,341,'205 180H131Q102 180 93 181T84 190Q90 238 103 251H334Q341 244 341 241Q341 236 336 214T327 186Q325 181 312 181T205 180'], - - // FULL STOP - 0x2E: [121,0,307,107,231,'107 50Q107 76 129 98T181 121Q203 121 217 108T231 72Q231 47 210 24T156 0Q135 0 121 13T107 50'], - - // SOLIDUS - 0x2F: [750,250,511,19,617,'596 750Q604 750 610 744T617 730L616 728Q616 727 616 726Q615 723 337 244T55 -242Q49 -250 40 -250Q30 -250 25 -243Q18 -238 20 -226Q21 -223 299 256T581 742Q589 750 596 750'], - - // DIGIT ZERO - 0x30: [665,21,511,110,562,'414 665Q562 665 562 490Q562 426 534 318Q451 -21 251 -21Q222 -21 202 -15Q155 2 134 40T110 144Q110 201 127 286T187 470T287 614Q348 665 414 665ZM187 98Q187 59 208 37T260 15Q320 15 365 83Q394 128 440 312T487 547Q487 580 471 600T433 627Q428 628 408 628Q381 628 353 609T311 569Q279 526 239 364T190 143Q187 120 187 98'], - - // DIGIT ONE - 0x31: [666,0,511,110,468,'248 491Q228 491 228 502Q228 516 236 532Q237 536 246 537T275 541T314 552Q350 567 382 595T430 644L446 664Q450 666 454 666Q468 666 468 658Q468 647 395 359Q321 63 321 59Q321 52 334 50T388 46H422Q428 37 428 35Q428 19 421 5Q416 0 405 0Q400 0 361 1T263 2Q215 2 185 2T142 1T127 0Q110 0 110 11Q110 13 113 25T118 40Q120 46 146 46Q196 46 212 49T235 61Q238 66 295 295L353 526L340 519Q328 512 302 503T248 491'], - - // DIGIT TWO - 0x32: [666,22,511,76,551,'159 404Q159 433 176 476T222 562T297 635T395 666Q466 666 508 617T551 497Q551 473 545 446Q534 388 482 333Q441 292 355 240T264 184Q216 151 179 101L171 91Q171 90 177 90Q206 90 269 77T366 64Q385 64 390 65Q418 73 441 98T475 156Q479 168 481 170T495 173H518Q524 167 524 166T521 152Q502 86 459 32T353 -22Q315 -22 259 15T172 53Q156 53 143 36T126 1L121 -16Q119 -22 98 -22H82Q76 -16 76 -13T80 5T98 50T132 111T189 178T274 242Q327 273 364 305T420 370T447 427T460 483Q466 514 466 538Q466 586 443 607T389 629Q338 629 293 584T226 487T204 399Q204 390 204 386T209 378T222 373Q258 376 282 422T307 493Q307 506 302 517T297 531Q297 537 308 546T327 551Q329 550 333 543T340 523T344 497Q344 450 306 393T216 336Q186 336 173 355T159 396V404'], - - // DIGIT THREE - 0x33: [666,22,511,96,562,'296 531Q296 536 307 544T322 553Q330 553 338 534T346 501Q346 468 319 440T258 412Q232 412 216 430T200 478Q200 552 281 618Q345 666 416 666Q489 666 525 625T562 530Q562 473 525 419T430 335L416 329Q479 288 479 206Q479 142 440 89T344 7T229 -22Q173 -22 135 12T96 106Q96 192 157 192Q192 192 197 157Q197 134 184 117T142 96Q153 47 180 29Q201 15 232 15Q249 15 275 22Q307 34 331 57Q363 90 379 153T396 246Q396 261 393 272T384 290T371 301T355 308T341 311T326 312H316H307Q287 312 282 313T276 320Q276 323 279 337T283 352Q284 356 290 357T325 358Q364 359 368 360Q386 365 400 372T433 397T464 448T485 527Q487 535 487 556Q487 629 414 629Q350 629 298 580T245 476Q245 450 263 450H264Q280 450 294 463T308 496Q308 508 302 518T296 531'], - - // DIGIT FOUR - 0x34: [666,195,511,46,478,'448 34Q453 34 463 22T473 5Q473 -2 457 -7Q417 -22 383 -23H366L350 -91Q348 -98 345 -111T340 -130T335 -146T330 -161T325 -172T318 -182T310 -188T299 -193T286 -194Q256 -194 253 -165Q253 -159 271 -83T292 -5Q231 29 169 29Q114 29 91 14Q72 -2 65 1Q46 20 46 28Q46 35 55 43T77 60T96 74Q306 257 396 623Q410 666 444 666Q459 666 468 657T478 634Q478 627 470 595T440 504T387 381T303 239T187 99L164 75H178Q217 75 260 59L304 43Q304 48 325 127Q342 195 346 207T358 228Q372 242 391 242Q403 242 413 235T423 214Q423 205 402 116T378 25Q378 23 387 23Q405 23 418 25T439 31T448 34'], - - // DIGIT FIVE - 0x35: [667,22,511,106,567,'196 304Q189 309 189 314Q189 317 231 487T275 660Q278 666 283 666Q287 666 302 658T346 643T413 635Q447 635 481 642T537 658T559 666Q561 666 564 663T567 658Q565 637 557 629Q528 600 474 573T359 545Q342 545 327 546T304 550T294 552L291 540Q288 529 283 507T273 465L251 379Q307 420 364 420Q415 420 456 382T497 261Q497 165 429 82T262 -20Q256 -20 247 -21T233 -22Q176 -22 141 15T106 112Q106 208 173 208Q192 208 203 197T214 169Q214 143 195 125T156 107H153V100Q155 73 174 47T239 21Q245 21 259 23Q355 46 392 200Q393 205 394 207Q412 276 412 312Q412 352 396 367T358 383Q288 383 233 314Q226 306 224 305T209 304H196'], - - // DIGIT SIX - 0x36: [665,22,511,120,565,'377 434Q425 434 457 404T499 341T509 278Q509 243 496 194T456 105T383 27Q322 -22 256 -22Q142 -22 122 114Q120 130 120 159Q120 221 135 292T195 452T310 599Q390 665 465 665Q565 665 565 583V574Q565 543 546 524Q528 506 504 506Q491 506 478 514T465 543Q465 585 515 602Q505 626 466 626Q419 626 372 587Q334 557 305 503T266 409L255 370Q287 410 339 429Q361 434 377 434ZM424 333Q424 359 411 378T365 397Q318 397 282 356T230 257T205 157T197 94Q197 67 211 45T260 22Q313 22 341 57T386 151Q424 283 424 333'], - - // DIGIT SEVEN - 0x37: [666,22,511,136,634,'466 519Q448 519 435 528T416 550T400 571T376 581Q324 581 271 540T186 437Q185 435 183 432T181 428T179 426T177 424T174 423T171 422T165 422H159Q141 422 141 423Q136 423 136 431Q136 433 190 548T247 665Q249 666 266 666H282Q288 660 288 657Q288 655 284 646T276 628L273 620Q337 666 390 666Q413 666 425 652T438 620T444 584T457 559Q460 557 470 557Q497 557 524 582T571 635T594 665Q595 666 612 666H628Q634 660 634 657Q634 653 618 629T572 556T510 441T437 269T367 43Q356 -22 304 -22Q291 -22 278 -14T263 14Q263 36 281 95T354 269T486 507Q497 524 495 524Q482 519 466 519'], - - // DIGIT EIGHT - 0x38: [666,21,511,99,553,'209 449Q209 545 278 605T416 666Q482 666 517 631T553 546Q553 513 539 482T504 430T463 394T426 370L410 360L430 343Q471 309 483 278T495 211Q495 141 441 75Q363 -21 253 -21Q182 -21 141 18T99 117Q99 161 119 201T170 268T222 308T259 331L272 338L259 349Q212 389 209 449ZM492 542Q492 586 469 605T415 625Q360 625 320 587T279 505Q279 495 281 487T286 474T295 460T306 449T321 436T337 422Q379 386 380 386Q389 386 420 412T472 471Q492 513 492 542ZM163 118Q163 76 189 49T258 21Q316 21 368 64T420 170Q420 193 412 208T395 233T350 271L302 312Q298 312 284 303T249 276T209 235T177 181T163 118'], - - // DIGIT NINE - 0x39: [666,22,511,107,554,'297 211Q258 211 230 228T189 273T169 323T163 367Q163 411 183 472T254 585Q327 656 401 665Q403 665 412 665T427 666Q458 664 481 652T518 622T539 580T550 535T553 491Q553 448 544 395T515 277T454 148T358 37Q282 -22 213 -22Q166 -22 137 -1T107 55V64Q107 88 114 104T134 127T154 136T169 138Q185 138 196 128T207 101Q207 82 196 68T172 48L161 43Q161 40 167 36T187 26T219 21Q286 21 344 99Q364 126 382 169T408 241T417 275L412 269Q406 263 395 253T370 234T337 218T297 211ZM476 552Q476 626 417 626Q368 626 330 584Q312 563 300 533T270 433Q248 341 248 312Q248 286 262 267T310 248Q353 248 387 287T440 380T467 480T476 552'], - - // COLON - 0x3A: [431,0,307,107,308,'184 358Q184 385 206 408T258 431Q279 431 293 418T308 383Q308 354 284 332T233 310Q212 310 198 324T184 358ZM107 50Q107 76 129 98T181 121Q203 121 217 108T231 72Q231 47 210 24T156 0Q135 0 121 13T107 50'], - - // SEMICOLON - 0x3B: [431,195,307,70,308,'184 358Q184 385 206 408T258 431Q279 431 293 418T308 383Q308 354 284 332T233 310Q212 310 198 324T184 358ZM107 47Q107 77 130 99T180 121Q226 121 226 61Q226 25 214 -14T182 -84T144 -140T109 -180T88 -194T77 -185T70 -172Q70 -169 84 -155T121 -112T161 -48Q180 -10 180 3Q180 4 174 2Q172 2 166 1T156 0Q135 0 121 13T107 47'], - - // EQUALS SIGN - 0x3D: [367,-133,767,116,776,'776 357T776 347T761 327H470Q180 327 176 329Q164 334 164 347Q164 359 176 365Q179 367 470 367H761Q776 357 776 347ZM116 143T116 153T131 173H422Q713 173 717 171Q728 166 728 153T717 135Q713 133 422 133H131Q116 143 116 153'], - - // QUESTION MARK - 0x3F: [716,0,511,195,551,'235 431Q217 431 206 442T195 468Q195 490 215 537T280 638T380 707Q403 716 423 716Q425 716 429 716T436 715Q485 715 518 681T551 590Q551 543 530 503T482 439Q471 428 400 375T318 310Q300 287 300 259Q300 236 315 236Q333 236 352 251T384 300Q386 306 407 306H423Q429 300 429 297Q429 272 393 235T308 198Q287 198 269 215T251 270Q251 330 293 374L374 436Q377 438 401 456T432 480T457 503T481 531T494 561T501 598Q501 614 499 626Q482 678 430 678H426Q392 678 362 660T311 615T280 571T264 540L259 528Q259 527 266 526T283 516T294 492Q294 466 276 449T235 431ZM209 51Q212 83 235 102T281 121Q309 121 321 105T333 72Q333 45 311 23T258 0Q240 0 225 11T209 51'], - - // COMMERCIAL AT - 0x40: [705,12,767,152,789,'198 250Q198 155 248 91T394 26Q514 26 640 80L650 84H675H683Q709 84 709 76Q709 73 708 71Q706 64 660 45T534 8T383 -11T260 24T181 115Q152 168 152 248Q152 410 268 552Q303 590 324 608Q439 705 551 705Q611 705 658 683T733 623T775 543T789 454Q789 380 766 304T720 192Q677 125 617 125Q591 125 573 137T548 160T541 176Q541 178 540 178L534 173Q527 168 515 160T488 144T454 131T417 125Q361 125 320 166T279 284Q279 393 356 481T523 569Q570 569 603 537Q623 515 632 490L637 480L657 479Q684 479 684 470Q684 465 650 333L617 199V185Q616 162 628 162Q677 162 712 278Q743 381 743 442Q743 555 687 611T553 668Q467 668 385 608T250 450T198 250ZM598 445Q598 453 594 470T569 510T518 532Q463 532 410 448T356 271Q356 220 374 191T423 162Q482 162 552 255L575 348Q598 440 598 445'], - - // LATIN CAPITAL LETTER A - 0x41: [716,0,743,58,696,'85 46Q112 48 132 56T161 73T176 92T185 104Q185 106 353 407T524 709Q527 716 551 716Q568 716 572 712Q573 711 574 710Q576 708 594 384Q613 54 617 52H618Q626 46 672 46H689Q696 41 696 36Q696 13 683 0H670Q639 2 557 2Q526 2 500 2T459 2T441 1Q425 1 425 10Q425 12 427 24Q428 27 429 31T430 36T432 40T434 43T437 45T443 46T450 46Q514 46 514 69Q514 74 511 136L506 209H292L260 152Q222 84 222 74Q222 48 264 46Q280 46 280 35Q280 33 278 21Q275 7 272 4T259 0Q256 0 232 1T159 2Q135 2 109 1T78 0Q58 0 58 10Q58 14 61 26T66 40Q68 46 85 46ZM504 260Q503 263 496 407T486 553L466 520Q446 486 402 406L318 256Q318 255 411 255H504V260'], - - // LATIN CAPITAL LETTER B - 0x42: [683,0,704,57,732,'57 11Q57 38 69 45L74 46Q78 46 85 46T99 46Q134 47 145 50T162 62Q164 66 233 344T303 626Q303 627 302 629V631Q296 637 241 637H223Q217 642 217 645T219 664Q223 677 229 683H411L593 682L605 680Q616 678 628 675T660 662T694 639T720 601T732 547Q732 519 726 503Q710 452 662 414T556 360L545 357L556 355Q604 346 641 312T678 221Q678 155 622 92T482 8Q459 2 439 2T256 0H154H105Q74 0 66 2T57 11ZM629 549Q628 550 629 557T627 576T619 600T601 622T570 636Q564 637 490 637Q472 637 454 637T424 636T411 636Q399 635 395 622T364 500Q333 377 332 376Q332 374 408 374L485 375L495 377Q547 390 588 437T629 549ZM504 336Q500 337 410 337Q323 337 322 336Q322 334 305 263T270 122T252 51Q252 47 337 46Q346 46 361 46T384 45Q425 45 455 55T515 95Q574 156 574 235Q574 276 555 304T504 336'], - - // LATIN CAPITAL LETTER C - 0x43: [705,21,716,150,812,'395 -21Q279 -21 215 56T150 244Q150 402 265 543Q339 630 421 667T562 704Q596 704 604 703Q627 698 647 689T679 669T699 649T711 633T716 627L753 665Q790 704 792 704Q793 705 798 705Q812 705 812 698Q812 694 780 561Q744 422 744 421Q742 416 739 415T721 413H705Q699 419 699 426Q701 432 701 444Q705 464 705 493Q705 524 700 551T681 604T643 644T583 659Q480 659 387 570Q321 502 287 397T252 213Q252 123 297 74Q347 24 421 24Q500 24 564 89T653 240Q656 253 659 255T677 257Q700 257 700 248Q700 242 694 222Q681 183 656 143T593 65T504 3T395 -21'], - - // LATIN CAPITAL LETTER D - 0x44: [683,0,755,56,775,'56 11Q56 38 68 45L72 46Q77 46 84 46T98 46Q133 47 144 50T161 62Q163 66 232 344T302 626Q302 627 302 629L301 631Q295 637 240 637H222Q216 642 216 645T218 664Q222 677 228 683H403Q582 683 589 682Q672 674 723 608T775 440Q775 312 709 209T562 54Q502 14 432 2Q423 1 243 0H148H102Q72 0 64 2T56 11ZM254 51Q254 46 348 46Q395 46 422 50T484 71Q585 121 633 255Q679 396 679 477Q679 522 665 554T629 603T587 626T548 636Q547 636 536 636T510 636T480 637Q420 637 411 636T398 627Q396 623 325 339T254 51'], - - // LATIN CAPITAL LETTER E - 0x45: [680,0,678,54,743,'248 634Q216 634 214 638Q213 641 213 646Q213 674 224 678Q226 680 481 680H736Q743 676 743 669Q743 665 729 557T713 447Q711 440 690 440H675Q667 445 667 454Q667 455 671 481T675 536Q675 583 658 604T592 632Q574 634 475 634Q439 634 424 633T405 631T399 625Q397 622 367 501T336 377Q336 376 367 376H388Q451 376 477 389Q493 399 503 419T520 462T528 489Q531 493 549 493Q557 493 561 492T566 491T569 488T572 483L539 351Q507 221 503 216Q503 216 500 213H484Q468 213 465 216Q461 219 461 225Q461 228 466 250T472 290Q472 317 452 323T368 330H324Q323 326 289 191T255 51T331 46H360Q413 46 444 49T511 67T570 113Q589 137 608 175T638 242T652 272Q656 274 670 274Q693 274 693 262L648 148Q590 4 588 2Q585 0 323 0H61Q54 4 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623Q299 630 292 631T248 634'], - - // LATIN CAPITAL LETTER F - 0x46: [680,-1,653,54,731,'299 623Q299 630 292 631T247 634H219Q213 640 213 642T215 661Q218 673 225 680H724Q731 676 731 669Q731 665 717 557T701 447Q699 440 678 440H663Q656 444 656 452Q656 457 659 485T663 538Q663 586 644 607T566 633Q564 633 535 633T486 634H458Q404 634 399 625Q396 620 364 492L332 363H380Q446 365 464 373Q496 389 514 458Q518 477 523 479Q527 480 541 480H556Q563 475 563 470Q563 467 532 339T498 207Q496 200 475 200H460Q453 207 453 212Q454 213 456 225T461 254T464 278Q464 304 445 310T369 317H321L289 190Q257 66 257 59Q257 54 261 52T283 48T337 46Q348 46 352 46T360 45T366 42T368 37Q368 32 365 23Q360 4 355 2Q352 1 342 1Q336 1 297 1T199 2Q138 2 106 2T71 1H68Q54 1 54 11Q54 38 66 45L70 46Q75 46 82 46T96 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623'], - - // LATIN CAPITAL LETTER G - 0x47: [705,22,774,150,812,'632 -1Q629 -1 622 5T604 25T583 53Q508 -22 394 -22Q287 -22 219 52T150 244Q150 402 265 543Q339 630 421 667T562 704Q596 704 604 703Q627 698 647 689T679 669T699 649T711 633T716 627L753 665Q790 704 792 704Q793 705 798 705Q812 705 812 698Q812 694 780 561Q744 422 744 421Q742 416 739 415T721 413H705Q699 419 699 426Q701 432 701 444Q705 464 705 493Q705 524 700 551T681 604T643 644T583 659Q480 659 387 570Q319 501 286 394T252 208Q252 156 269 118T314 61T369 33T425 24Q470 24 509 46T566 104Q571 116 583 162T595 214Q595 222 583 223Q561 227 517 227H495Q488 230 488 238Q488 254 495 268Q500 273 511 273Q515 273 532 273T581 272T649 271Q731 271 752 273H761Q767 267 767 264T765 246Q761 233 755 227H742Q698 227 693 213L639 4Q636 -1 632 -1'], - - // LATIN CAPITAL LETTER H - 0x48: [683,0,743,54,860,'61 0Q54 7 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62Q161 66 230 344T300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H239Q307 681 372 681Q480 681 486 683H496Q502 677 502 674T500 656Q496 643 490 637H472Q418 637 406 630Q400 627 396 612T367 500Q360 474 352 442T340 395L336 380Q336 378 466 378H596Q657 622 657 626Q657 627 656 629V631Q650 637 595 637H577Q571 642 571 645T573 664Q577 677 583 683H596Q664 681 729 681Q837 681 843 683H853Q860 676 860 672Q858 647 848 637H819Q783 636 772 634T756 623Q753 618 684 340T614 57Q614 50 621 49T666 46Q697 46 699 40Q701 37 698 21Q693 3 689 1Q686 0 677 0Q673 0 657 0T611 1T546 2Q453 2 428 0H418Q411 7 411 11Q411 27 418 41Q422 46 452 46Q488 47 499 50T516 62Q517 64 550 196T584 331Q584 332 454 332H324L291 197Q257 64 257 56Q257 50 265 49T309 46Q340 46 342 40Q344 37 341 21Q336 3 332 1Q329 0 320 0Q316 0 300 0T254 1T189 2Q96 2 71 0H61'], - - // LATIN CAPITAL LETTER I - 0x49: [683,0,386,49,508,'235 637Q217 637 213 638T209 649Q209 673 220 682Q222 683 237 683Q278 681 369 681Q404 681 441 682T483 683Q499 683 503 681T508 672Q508 670 505 658T500 643Q498 637 464 637Q425 635 415 633T398 621Q396 618 327 340T257 58T260 52T278 48T322 46Q349 46 349 36Q349 31 346 22Q342 4 337 1Q336 1 334 1T329 0Q325 0 307 0T258 1T190 2Q95 2 67 0H56Q49 7 49 11Q51 38 62 46H91Q129 47 141 50T159 62Q161 66 230 344T300 625Q300 637 235 637'], - - // LATIN CAPITAL LETTER J - 0x4A: [683,22,525,78,622,'361 637Q333 637 331 641Q330 644 330 649Q330 673 341 682Q343 683 360 683Q405 681 500 681Q551 681 577 681T607 682Q622 682 622 673Q622 665 616 647Q614 640 610 639T587 637Q547 636 541 624Q538 618 477 374T413 124Q391 64 333 22T207 -21T109 12T78 86Q78 130 101 150T149 170Q193 170 196 129Q196 100 178 80T137 58L132 57Q134 52 138 46T160 28T205 16Q242 16 273 48T319 122Q322 129 383 371T444 627Q444 637 361 637'], - - // LATIN CAPITAL LETTER K - 0x4B: [683,0,769,54,859,'668 621Q668 635 645 637Q629 637 629 648Q629 650 632 662T637 677Q640 682 653 682Q657 682 688 681T764 680Q786 680 810 681T839 682Q859 682 859 672Q859 655 852 643Q849 637 839 637Q804 637 768 621T717 595T697 578Q696 578 600 497L505 417L508 408Q543 311 574 227T618 106T632 69Q645 47 688 46H707Q713 38 713 37T710 19Q706 6 700 0H688Q659 2 587 2Q557 2 532 2T492 2T474 1Q458 1 458 10Q458 13 460 23Q464 39 466 42T480 46Q526 46 526 72Q526 75 476 213L427 350Q426 350 396 325T334 272T302 242Q302 241 299 230T290 194T279 150Q257 61 257 55Q257 50 265 49T309 46H337Q343 40 343 38T341 19Q337 6 331 0H316Q280 2 190 2Q158 2 131 2T89 2T70 1Q54 1 54 11Q54 38 66 45L70 46Q75 46 82 46T96 46Q131 47 142 50T159 62Q161 66 230 344T300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H239Q307 681 372 681Q386 681 414 681T464 682L487 683H496Q502 677 502 674T500 656Q495 641 491 637H462Q426 636 415 634T399 623Q396 618 358 467L320 314Q321 314 484 452Q510 474 552 509Q625 570 646 590T668 621'], - - // LATIN CAPITAL LETTER L - 0x4C: [683,0,627,54,628,'61 0Q54 4 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62Q161 66 230 344T300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H240Q275 681 371 681Q407 681 438 681T487 682T509 682Q527 682 527 674Q527 670 524 659Q523 657 523 654T522 649T520 645T519 642T517 640T515 639T512 638T507 637T502 637T494 637H478Q433 636 417 633T396 617Q395 614 325 334T255 51Q255 47 319 47Q387 47 410 52Q459 65 494 98T543 163T570 229T589 273H622Q628 264 628 262Q628 259 584 133T539 5Q537 1 511 1Q482 0 296 0H61'], - - // LATIN CAPITAL LETTER M - 0x4D: [683,0,897,58,1010,'72 1Q58 1 58 11Q58 33 66 41Q68 46 87 46Q150 50 168 84Q172 91 238 356T304 626Q304 627 304 629L303 631Q297 637 242 637H224Q218 642 218 645T220 664Q224 677 230 683H326H394Q417 683 422 682T429 676L480 127L502 163Q523 199 560 262T642 400Q801 668 805 676L817 683H1003Q1010 678 1010 672Q1010 650 997 637H979Q915 637 906 623Q903 618 834 340T764 57Q764 50 771 49T817 46H845Q851 38 851 37T848 19Q845 7 838 0H824Q789 2 701 2Q670 2 644 2T603 2T584 1Q569 1 569 11Q569 13 571 25Q576 42 581 45L586 46Q590 46 597 46T611 46Q646 47 657 50T674 62L813 616L634 313Q453 7 452 7Q446 0 428 0Q409 0 407 6Q405 10 379 304T351 604L285 348Q220 83 220 82Q220 65 233 57T279 46H295Q301 38 301 37T298 19Q295 7 288 0H275Q244 2 171 2Q145 2 123 2T88 2T72 1'], - - // LATIN CAPITAL LETTER N - 0x4E: [683,1,743,54,860,'633 637Q624 637 621 639T617 650Q617 670 630 683H641Q682 680 736 680Q836 680 845 683H853Q860 676 860 672Q858 647 848 637H832Q764 633 750 598Q746 590 673 300Q656 230 638 156T610 44L600 7Q598 0 576 0H559Q553 6 448 297L342 588Q341 588 279 336T216 81Q216 49 274 46Q293 46 295 40Q297 37 294 21Q293 19 292 16T291 11T290 7T289 4T287 2T284 1T280 1T275 0T263 0T229 1T167 2Q91 2 70 0H61Q54 7 54 11T57 27Q61 41 64 43T83 46Q146 50 164 84Q167 90 235 362L303 634Q300 635 253 637H220Q214 643 214 645T216 664Q220 677 226 683H314Q386 683 397 683T410 677Q412 675 501 428L591 179Q591 178 592 180T595 189T600 209T610 246T624 303T645 385Q698 595 698 606Q698 618 683 627T633 637'], - - // LATIN CAPITAL LETTER O - 0x4F: [704,22,767,149,788,'149 237Q149 326 186 413T282 563T412 665T552 704Q619 704 667 678T741 611T777 528T788 444Q788 328 728 219T572 44T377 -22Q275 -22 212 50T149 237ZM688 487Q688 570 650 617T548 665Q467 665 398 592T291 413T253 203Q253 119 290 70T387 20Q440 20 489 52T573 135T635 249T675 373T688 487'], - - // LATIN CAPITAL LETTER P - 0x50: [683,0,678,55,729,'62 0Q55 7 55 11Q55 27 62 41Q66 46 96 46Q132 47 143 50T160 62Q162 66 231 344T301 626Q301 627 300 629V631Q294 637 239 637H221Q215 642 215 645T217 664Q221 677 227 683H404H431H502Q578 683 615 675T684 636Q729 595 729 531Q729 462 671 396T524 308Q499 302 404 301H318L288 182Q258 63 258 55T310 46Q341 46 343 40Q345 37 342 21Q337 3 333 1Q330 0 321 0Q317 0 301 0T255 1T190 2Q97 2 72 0H62ZM626 555V562Q626 620 552 635Q546 636 481 637Q466 637 450 637T423 636T412 636Q401 635 398 627Q396 622 361 484Q353 452 344 416T330 362L325 344Q325 342 390 342H427Q523 342 567 386Q596 415 611 473T626 555'], - - // LATIN CAPITAL LETTER Q - 0x51: [704,195,767,149,788,'460 -107Q460 -72 464 -42T468 -7L457 -10Q446 -14 424 -18T379 -22Q276 -22 213 50T149 237Q149 326 186 413T282 563T412 665T552 704Q664 704 726 631T788 442Q788 305 703 180Q627 64 517 13L506 8Q506 7 508 -12T513 -38T522 -59T538 -79T565 -85Q604 -85 634 -59T672 0Q676 11 684 11Q693 11 695 2Q695 -1 690 -20T673 -69T644 -126T599 -174T538 -194Q464 -194 460 -110Q460 -108 460 -107ZM689 481Q689 578 646 621T551 665Q468 665 391 586Q321 512 285 399T249 202Q249 106 295 58Q310 41 314 41Q315 41 315 46Q315 83 344 118T420 154Q450 154 473 135Q493 114 500 69L502 58L512 65Q571 110 613 192T672 348T689 481ZM472 49Q472 118 415 118Q393 118 373 98T353 51Q353 18 386 18H387Q424 18 472 40V49'], - - // LATIN CAPITAL LETTER R - 0x52: [683,22,729,55,723,'62 0Q55 7 55 11Q55 27 62 41Q66 46 96 46Q132 47 143 50T160 62Q162 66 231 344T301 626Q301 627 300 629V631Q294 637 239 637H221Q215 642 215 645T217 664Q221 677 227 683H386Q554 682 569 679Q571 678 580 676Q643 662 680 623T717 533Q717 473 667 420T528 337L538 330Q563 314 578 286T594 228Q594 212 588 147T581 65Q581 36 589 26T616 16H618Q637 16 652 37Q668 57 677 94Q679 105 701 105T723 95Q723 89 717 72T698 33T662 -5T610 -22Q555 -22 513 3T471 88Q471 107 486 168T502 244Q502 303 452 320Q445 322 382 323H320L288 192Q255 63 255 55T307 46Q338 46 340 40Q342 37 339 21Q335 3 330 1Q326 0 320 0Q317 0 306 0T265 1T190 2Q99 2 73 0H62ZM612 558Q612 566 612 568T610 581T603 597T590 611T567 625T532 635Q526 636 470 637Q458 637 445 637T422 636T412 636Q402 635 397 627L390 598Q383 570 373 532T354 455T337 389T330 361Q356 360 384 360H415Q483 360 527 382Q557 399 574 424T604 498Q612 533 612 558'], - - // LATIN CAPITAL LETTER S - 0x53: [706,22,562,74,633,'198 460Q198 551 269 628T432 705Q516 705 557 644L583 673Q589 679 593 684T600 693T605 698T609 702T611 704T614 705T618 705H620Q633 705 633 698T605 577T573 459L570 456H554Q546 456 543 456T536 457T532 460T531 466Q531 469 533 489T536 532Q536 573 525 600T496 640T462 657T427 662Q369 662 325 612T281 503Q281 475 290 458T318 430T356 415T407 401T463 383Q506 360 522 323T538 258V244Q538 141 465 60T300 -22Q198 -22 152 41L143 31Q137 25 126 12T106 -10T95 -21L92 -22Q88 -22 86 -22Q81 -22 78 -20T74 -16V-14Q74 -11 132 221Q134 227 155 227H171Q177 221 177 215Q177 212 175 205T171 182T169 147Q171 99 195 70T246 33T306 25Q358 25 400 70T453 169Q455 180 455 203V210Q455 263 414 285Q409 288 347 305Q271 328 254 339Q239 350 224 371Q198 409 198 460'], - - // LATIN CAPITAL LETTER T - 0x54: [677,0,716,171,806,'178 437Q173 442 171 446Q171 451 238 654Q243 670 250 677H681H762Q792 677 799 676T806 667Q806 661 788 553T768 444Q768 437 746 437Q727 437 723 445Q723 450 729 492T736 562Q736 589 728 602T693 624Q675 630 622 630H595Q575 630 571 629T564 623Q562 621 492 342T422 59Q422 48 502 46H542Q548 38 548 37T545 19Q541 6 535 0H517Q475 2 357 2Q315 2 279 2T223 2T198 1Q179 1 179 9Q179 14 182 24Q187 42 190 44Q194 46 206 46H232Q289 47 301 49T326 65L395 344Q465 619 465 626Q465 629 462 629Q456 631 411 631Q364 631 336 625T288 597T255 549T224 467Q215 442 210 437H178'], - - // LATIN CAPITAL LETTER U - 0x55: [683,22,743,194,860,'636 637Q627 637 624 639T620 650Q620 670 633 683H644Q702 681 753 681Q760 681 772 681T796 681T820 682T838 683H845H853Q860 676 860 672Q858 647 848 637H832Q764 633 750 598Q745 588 698 400T648 204Q627 140 584 86Q484 -22 378 -22Q300 -22 247 31T194 167Q194 176 194 182T196 198T200 218T207 248T217 288T231 346T250 422Q300 618 300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H239Q307 681 372 681Q480 681 486 683H496Q502 677 502 674T500 656Q496 643 490 637H472Q418 637 406 630Q400 627 394 603T344 410Q299 232 292 198T284 135Q284 102 294 78T322 44T355 29T387 24Q455 24 515 74T604 211Q605 215 653 404T701 607Q701 618 686 627T636 637'], - - // LATIN CAPITAL LETTER V - 0x56: [683,22,743,205,868,'667 637Q657 637 654 639T650 650Q650 670 663 683H675Q704 681 772 681Q793 681 818 682T847 683Q868 683 868 672Q868 670 865 658T860 643Q857 637 848 637Q785 637 749 587L394 -15Q387 -22 366 -22Q346 -22 342 -16Q341 -13 313 303Q285 622 285 623Q283 631 273 634T229 637Q205 637 205 648Q205 654 208 666T217 682Q219 683 230 683Q276 680 329 680Q444 680 456 683H466Q472 677 472 674T470 656Q466 643 460 637H448Q384 637 384 615Q385 612 406 371T427 126Q427 125 495 240T632 473T704 596Q707 604 707 609Q707 633 667 637'], - - // LATIN CAPITAL LETTER W - 0x57: [683,22,999,205,1124,'234 637H226Q205 637 205 648Q205 673 216 682Q218 683 231 683Q265 681 340 681Q371 681 404 682T443 683Q458 683 462 681T467 672Q467 670 464 658T459 643Q457 637 434 637Q407 636 394 632T378 623T376 613Q376 589 385 377T394 149L511 361Q542 419 596 519L613 551L612 585Q610 621 610 624Q608 637 559 637H555Q537 637 537 647Q537 654 540 664Q544 677 550 683H561Q600 680 656 680Q771 680 783 683H792Q798 677 798 675T796 658Q792 643 790 640T778 637H774Q721 637 708 620L717 385Q726 150 727 149Q727 148 752 193T812 303T882 433T942 546T969 596Q970 600 970 606Q970 610 969 613T966 620T961 625T955 628T949 631T941 633T934 634T927 636T920 637Q903 637 903 648Q903 650 905 664Q909 677 915 683H928Q960 681 1031 681Q1050 681 1073 681T1101 682Q1124 682 1124 672Q1124 655 1117 643Q1114 637 1104 637Q1085 637 1069 632T1043 618T1026 603T1014 588L1009 580L687 -16Q681 -22 660 -22Q643 -22 637 -16Q635 -14 627 223Q617 441 617 464L602 441Q578 397 487 228Q456 171 423 110T372 17T355 -15Q348 -22 328 -22Q312 -22 308 -20T303 -9Q303 -5 291 310T277 627Q273 636 234 637'], - - // LATIN CAPITAL LETTER X - 0x58: [683,0,743,50,825,'684 0Q670 0 634 1T569 2Q512 2 482 2T449 1Q433 1 433 10Q433 11 435 25Q437 34 438 37T442 43T448 45T459 46T476 49Q506 58 506 64Q506 65 467 179T426 295L382 244Q339 194 295 142T249 86Q245 79 245 72Q245 48 279 46Q293 46 293 32Q293 13 280 0H268Q206 2 151 2Q70 2 64 0Q50 0 50 11Q50 15 53 27Q57 41 60 43T78 46Q154 49 205 100Q207 103 312 225L411 341L407 353Q404 360 381 428T336 560T310 627Q301 636 255 637H229Q223 643 223 645T225 664Q229 677 235 683H246Q288 680 346 680Q462 680 477 683H487Q493 677 493 674T491 656Q488 644 485 641T471 637Q461 635 454 635Q419 626 421 619Q421 617 453 524T486 430T554 509T624 593Q631 604 631 611Q631 622 621 629T598 637Q583 637 583 648Q583 650 585 660Q589 676 591 679T602 683Q606 683 637 682T715 680Q742 680 771 681T804 682Q825 682 825 672Q825 650 817 642Q814 637 797 637Q739 634 700 608Q684 597 659 569T505 389L501 384L557 222Q612 61 616 57Q625 47 671 46Q691 46 697 45T704 36Q704 35 702 23Q701 19 700 14T699 7T696 3T692 1T684 0'], - - // LATIN CAPITAL LETTER Y - 0x59: [683,0,743,198,875,'232 637Q198 637 198 647Q198 651 201 664T210 682Q212 683 223 683Q269 680 325 680Q443 680 455 683H465Q472 676 472 672Q472 656 465 642Q460 637 441 637Q395 634 395 623Q395 621 438 478T482 334T583 460T688 591Q688 593 694 601T700 617Q700 637 668 637H666Q655 637 655 648Q655 654 658 664Q660 672 660 673T663 678T668 682T677 683Q680 683 704 682T776 680Q801 680 828 681T858 682Q875 682 875 673Q875 669 872 657T867 643Q865 637 848 637Q788 634 749 597Q733 581 608 424L487 273L461 170Q454 145 448 118T438 76T434 60Q434 54 436 52T452 48T496 46H514Q520 41 520 38T518 19Q514 6 508 0H495Q427 2 364 2Q350 2 323 2T272 0H250H241Q234 7 234 11Q234 27 241 41Q245 46 275 46Q312 47 323 50T340 64Q340 65 344 79T355 120T368 171L393 274L341 448Q288 622 286 626Q278 636 232 637'], - - // LATIN CAPITAL LETTER Z - 0x5A: [683,1,613,80,704,'203 452Q203 455 236 565T270 677Q270 681 274 681Q276 683 488 683H699Q704 678 704 675Q704 663 697 649Q697 647 449 348L201 50L266 49H301Q442 49 495 116Q525 155 556 251Q563 274 565 278T579 282H585Q609 285 609 271Q609 270 570 142T528 8T518 1T466 0H303Q253 0 197 0T131 -1Q112 -1 102 -1T87 1T81 3T80 8Q80 30 89 39Q90 41 204 178T446 470T575 626L584 637H512H504H475Q446 637 426 635T378 624T330 597T289 546T254 467Q247 446 243 444Q239 442 226 442Q203 442 203 452'], - - // LEFT SQUARE BRACKET - 0x5B: [750,250,307,73,446,'205 -221Q205 -239 194 -250H137H106Q73 -250 73 -242Q73 -232 194 255T321 747L324 750H381H417Q435 750 440 748T446 739Q446 730 443 723T437 712L434 710H350L349 706Q349 704 235 249T120 -208Q120 -210 159 -210Q166 -210 175 -210T187 -209Q205 -209 205 -221'], - - // RIGHT SQUARE BRACKET - 0x5D: [750,250,307,-14,359,'227 721Q227 739 238 750H295H326Q359 750 359 742Q359 732 238 245T111 -247L108 -250H51H15Q-3 -250 -8 -248T-14 -239Q-14 -230 -11 -223T-5 -212L-2 -210H82L83 -206Q83 -204 197 251T312 708Q312 710 273 710Q266 710 257 710T245 709Q227 709 227 721'], - - // CIRCUMFLEX ACCENT - 0x5E: [694,-527,511,260,528,'528 555Q528 549 514 538T496 527Q491 527 470 554Q458 569 449 580L414 625L353 578Q339 567 323 555T298 536L290 529Q286 527 285 527Q279 527 273 533T264 546L260 553Q260 559 263 562Q265 564 342 628T421 693T425 694Q430 694 433 691Q528 563 528 555'], - - // LOW LINE - 0x5F: [-25,62,511,91,554,'98 -62Q91 -58 91 -51Q91 -31 100 -26Q102 -25 324 -25H442H500Q536 -25 545 -27T554 -36Q554 -50 548 -56Q546 -60 538 -61Q520 -62 319 -62H98'], - - // LATIN SMALL LETTER A - 0x61: [442,11,511,101,543,'418 53Q418 26 438 26Q466 26 494 131Q500 151 504 152Q507 153 516 153H521Q531 153 534 153T540 150T543 144Q543 141 540 126T529 88T509 43T477 5T434 -11Q404 -11 383 3T354 30T347 48H346Q345 47 342 45T337 40Q282 -11 228 -11Q172 -11 137 34T101 146Q101 260 177 351T333 442Q343 442 352 441T369 437T382 431T393 425T402 417T409 410T414 402T419 396Q423 406 436 414T461 422Q475 422 484 413T494 395Q494 384 459 244T420 88Q418 80 418 58V53ZM397 323Q397 344 382 374T333 405Q302 405 271 372Q249 349 235 316T203 215Q184 135 184 108V100V94Q184 54 207 35Q218 26 235 26Q279 26 330 91Q343 109 346 118T372 217Q397 317 397 323'], - - // LATIN SMALL LETTER B - 0x62: [694,11,460,108,467,'158 683Q163 683 223 688T300 694Q312 694 312 685T279 544Q243 405 243 403L256 412Q268 422 292 432T338 442Q395 442 431 398T467 284Q467 175 393 82T229 -11Q175 -11 142 32T108 142Q108 176 115 207T166 412Q177 458 190 510T209 588T216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683ZM178 109Q178 27 234 27Q247 27 254 29Q295 44 323 94Q343 129 363 208T384 332Q384 354 382 361Q369 405 332 405Q282 405 228 326L222 317L205 250Q178 142 178 109'], - - // LATIN SMALL LETTER C - 0x63: [441,10,460,103,469,'257 -10Q183 -10 143 37T103 155Q103 257 173 341T337 440Q341 441 348 441H358Q421 441 445 415T469 356Q469 320 450 305T410 289Q392 289 381 299T370 325Q370 362 404 378L414 383Q392 402 365 405Q322 405 285 375T227 294Q217 271 202 213T187 119Q187 27 263 27Q299 27 330 40Q361 51 386 71T424 106T440 121Q444 121 455 110T466 96Q466 92 458 81T432 54T390 24T331 0T257 -10'], - - // LATIN SMALL LETTER D - 0x64: [694,11,511,101,567,'418 54Q418 26 438 26Q466 26 494 131Q500 151 504 152Q507 153 516 153H521H526Q543 153 543 144Q543 143 541 129Q531 91 521 65T487 14T434 -11T383 3T354 30T347 48H346Q345 47 342 45T337 40Q282 -11 228 -11Q172 -11 137 34T101 146Q101 255 174 348T337 441Q354 441 368 437T390 427T404 414T413 404T417 400L471 616Q471 629 464 632T425 637H404Q398 643 398 645T400 664Q405 683 413 683Q418 683 478 688T555 694Q567 694 567 686Q567 676 495 389L419 86Q418 80 418 61V54ZM397 323Q397 329 394 340T385 367T365 394T333 405Q302 405 271 372Q249 349 235 316T203 215Q184 135 184 108V100Q184 71 191 56Q204 26 235 26Q267 26 300 57T344 112Q347 117 372 217T397 323'], - - // LATIN SMALL LETTER E - 0x65: [442,10,460,107,470,'107 166Q107 230 131 283T193 369T270 420T345 441Q346 441 352 441T361 442H364Q409 442 439 418T470 355Q470 270 366 239Q308 223 218 223H205Q189 164 189 125Q189 83 206 55T261 27Q309 27 353 50T426 109Q436 121 440 121T453 111T466 97Q469 92 455 77Q424 41 372 16T258 -10Q184 -10 146 41T107 166ZM416 333T416 354T401 390T360 405Q322 405 292 384T246 336T223 288T215 261Q215 260 240 260Q262 261 276 262T314 266T353 275T384 291T408 317'], - - // LATIN SMALL LETTER F - 0x66: [705,204,307,-23,450,'351 608Q351 642 389 661Q368 668 365 668Q358 668 352 664Q349 663 347 661T342 654T337 647T333 637T330 627T327 614T324 601T321 587T318 571L291 432Q291 431 343 431H394Q400 426 400 423T398 404Q394 390 389 386L335 385H282L255 246Q212 20 189 -51Q136 -199 58 -204Q22 -204 0 -185T-23 -134Q-23 -100 -3 -85T37 -69Q54 -69 65 -80T76 -108Q76 -115 75 -119Q70 -134 61 -144T46 -158L39 -161Q39 -162 42 -163T50 -166T61 -168Q77 -168 91 -145Q98 -128 105 -95L125 -1Q145 90 146 98Q149 109 163 180T189 317T202 384T158 385H114Q108 390 108 393T110 412Q113 424 120 431H165Q211 431 211 433Q213 435 219 473T237 561T266 639Q282 667 310 686T367 705Q402 705 426 686T450 635Q450 600 430 585T390 569Q373 569 362 580T351 608'], - - // LATIN SMALL LETTER G - 0x67: [442,205,460,46,494,'103 163Q106 263 173 347T320 441Q322 441 329 441T341 442Q387 439 419 398Q420 399 420 400Q421 402 425 406T440 416T464 422Q476 421 485 413T494 396Q494 386 465 268T407 38T377 -77Q365 -123 310 -164T179 -205Q46 -205 46 -139Q46 -114 64 -97T106 -79Q127 -79 136 -91T146 -115Q146 -127 141 -138T130 -155T124 -162T125 -163Q133 -166 170 -168Q200 -168 217 -162Q242 -153 264 -130T297 -78Q298 -74 305 -46T320 10T327 38Q326 38 317 31T291 15T256 2Q249 1 231 1Q182 1 143 38T103 163ZM398 324Q398 330 395 346T375 383T332 405Q330 405 326 405T320 404Q291 396 263 365Q230 324 208 239T185 115Q185 38 238 38Q258 38 279 50T312 77T336 106L348 122Q349 125 373 223T398 324'], - - // LATIN SMALL LETTER H - 0x68: [694,11,511,69,545,'398 44Q398 26 414 26Q431 26 451 43Q477 71 496 136Q499 148 501 150T515 153H521Q531 153 534 153T541 150T544 143Q544 133 534 105T496 41T432 -8Q424 -10 408 -10Q370 -10 348 12T326 72Q326 93 342 135Q397 288 397 349Q397 367 396 372Q386 405 357 405Q283 405 228 310Q217 290 212 274T180 152Q153 42 148 26T135 3Q121 -11 102 -11Q89 -11 80 -3T69 19L216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683Q163 683 223 688T300 694Q312 694 312 685Q312 674 277 539Q241 395 241 393Q242 394 249 399T259 407T271 415T285 424T300 431T318 437T338 440T362 442Q423 442 449 410T475 338Q475 290 437 178T398 44'], - - // LATIN SMALL LETTER I - 0x69: [656,10,307,75,341,'234 599Q234 620 251 638T292 656Q306 656 319 647T332 617Q332 594 313 577T273 560Q260 560 247 569T234 599ZM75 287Q75 292 82 313T103 362T142 413T196 441H214Q248 441 270 419T293 357Q292 338 289 330T245 208Q193 72 193 46Q193 26 209 26Q228 26 247 43Q273 71 292 136Q295 148 297 150T311 153H317Q327 153 330 153T337 150T340 143Q340 133 330 105T292 41T228 -8Q220 -10 204 -10Q160 -10 141 15T122 71Q122 98 171 227T221 384Q221 396 218 400T203 405Q175 403 156 374T128 312T116 279Q115 278 97 278H81Q75 284 75 287'], - - // LATIN SMALL LETTER J - 0x6A: [656,204,307,-32,364,'266 600Q266 622 283 639T322 656Q340 656 352 645T364 616Q364 596 347 578T305 560Q291 560 279 569T266 600ZM75 287Q75 293 86 316T117 369T168 420T236 442Q282 442 304 415T327 358V332L278 134Q269 98 260 60T246 3T236 -36T227 -66T220 -85T213 -101T204 -114Q181 -150 139 -177T46 -204Q8 -204 -12 -186T-32 -140Q-32 -112 -14 -96T27 -79Q48 -79 57 -91T67 -114Q67 -146 38 -166Q42 -168 49 -168Q75 -168 98 -147T130 -108T146 -71Q150 -59 199 138T250 346Q253 359 253 373Q253 405 230 405Q206 405 184 386T149 345T126 301L117 280Q115 278 98 278H81Q75 284 75 287'], - - // LATIN SMALL LETTER K - 0x6B: [694,11,460,69,498,'158 683Q163 683 223 688T300 694Q312 694 312 686Q312 679 262 478L211 273Q212 272 219 276T248 299T296 349Q317 371 328 382T360 410T399 434T439 442Q462 442 480 427T498 373Q498 329 479 313T437 296Q420 296 409 305T398 331Q398 357 413 372T445 391Q454 392 448 399Q445 405 431 405Q408 405 377 385Q351 368 314 327T250 261Q243 257 243 254Q249 254 279 243T328 220Q366 192 366 146Q366 131 361 109T355 62V54Q355 26 376 26Q379 26 387 28Q420 36 443 130Q449 151 454 152Q457 153 465 153H470Q484 153 488 152T492 144Q492 141 489 126T476 88T454 42T420 5T372 -11Q331 -11 306 17T280 88Q280 100 283 119T287 146Q287 172 265 190T221 215T198 220Q197 220 173 121Q152 37 148 24T135 3Q121 -11 102 -11Q89 -11 80 -3T69 19L216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683'], - - // LATIN SMALL LETTER L - 0x6C: [694,11,256,87,312,'162 61Q162 26 183 26Q211 26 239 131Q245 151 249 152Q252 153 261 153H266H271Q288 153 288 144Q288 143 286 129Q276 91 266 65T232 14T179 -11Q144 -11 116 12T87 81Q87 96 88 102L216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683Q163 683 223 688T300 694Q312 694 312 686Q312 676 240 389L164 86Q162 74 162 61'], - - // LATIN SMALL LETTER M - 0x6D: [442,11,818,75,852,'81 278Q75 284 75 289Q77 299 89 338Q101 373 114 396T142 428T166 439T186 442H189Q225 440 251 417Q266 401 271 384L275 374L286 386Q342 442 414 442Q428 442 440 440T461 435T479 427T493 418T503 407T511 397T516 387T520 378T523 370L524 366Q546 395 583 418T667 442Q729 442 755 411T782 338Q782 290 743 178T704 45Q704 26 720 26Q773 26 802 136Q805 148 807 150T822 153H828Q838 153 841 153T848 150T851 143Q851 137 843 115T821 63T778 12T715 -10Q671 -10 652 16T632 71Q632 88 668 191T704 349Q704 367 703 372Q693 405 664 405Q637 405 613 393T571 360T547 329T534 309Q523 290 518 274T487 151Q455 24 452 16Q438 -11 408 -11T376 18Q376 26 411 167T447 314Q449 325 449 346Q449 372 444 384Q431 405 408 405Q334 405 276 305Q266 289 262 273T231 151Q199 24 196 16Q182 -11 152 -11T120 18Q120 26 159 182T200 347Q202 361 202 372Q202 405 181 405Q168 405 159 391Q145 374 132 328T117 280T98 278H81'], - - // LATIN SMALL LETTER N - 0x6E: [443,11,562,75,596,'449 44Q449 26 465 26Q482 26 502 43Q528 71 547 136Q550 148 552 150T566 153H572Q582 153 585 153T592 150T595 143Q595 133 585 105T547 41T483 -8Q475 -10 459 -10Q421 -10 399 12T377 72Q377 93 393 135Q448 288 448 349Q448 367 447 372Q437 405 408 405Q381 405 357 393T315 360T291 329T278 309Q267 290 262 274T231 151Q199 24 196 16Q182 -11 152 -11T120 18Q120 23 159 181Q199 343 199 346Q202 360 202 372Q202 406 183 406Q163 406 148 374Q142 360 135 338T124 299T117 280T98 278H81Q75 284 75 287Q76 293 78 303T90 341T110 388T141 425T184 442Q195 442 204 441T221 436T235 429T247 421T256 412T262 403T267 394T271 387T273 381L274 378V374L287 387Q342 442 414 442Q474 442 500 410T526 338Q526 290 488 178T449 44'], - - // LATIN SMALL LETTER O - 0x6F: [442,11,511,103,517,'103 155Q103 266 185 354T366 442Q435 442 476 394T517 275Q517 169 436 79T255 -11Q194 -11 149 32T103 155ZM187 119Q187 67 209 47T260 26Q290 26 321 47Q354 68 380 113T426 260Q432 291 432 315Q432 361 408 385Q388 405 358 405Q319 405 283 374T227 294Q217 271 202 213T187 119'], - - // LATIN SMALL LETTER P - 0x70: [442,194,511,6,518,'81 278Q75 284 75 287Q93 379 131 417Q154 442 189 442Q222 440 243 423T272 382L280 390Q335 442 389 442Q446 442 482 398T518 284Q518 212 480 137T375 19Q321 -10 291 -10H282H278Q237 -10 204 28L202 32L181 -51Q160 -135 160 -139Q160 -147 205 -148H230Q236 -155 236 -157T233 -175Q230 -187 227 -190T214 -194Q211 -194 202 -194T169 -193T108 -192Q40 -192 21 -194H13Q6 -187 6 -183T9 -167Q13 -153 16 -151T39 -148Q73 -147 78 -136Q82 -128 139 104Q199 337 199 347Q202 362 202 372Q202 406 182 406Q169 406 159 391Q145 374 132 328T117 280T98 278H81ZM221 111Q234 26 286 26Q307 26 336 47T385 116Q398 147 416 217T435 332Q435 354 433 361Q420 405 383 405Q333 405 279 326L273 317L221 111'], - - // LATIN SMALL LETTER Q - 0x71: [442,194,460,101,504,'228 -11Q172 -11 137 33T101 147Q101 205 125 266T201 377T318 441Q322 442 333 442Q388 442 420 394L429 403Q439 413 455 423T481 437T494 442Q498 442 501 439T504 434Q504 425 435 149Q364 -135 364 -139Q364 -147 409 -148H434Q440 -155 440 -157T437 -175Q433 -191 429 -193Q425 -194 418 -194Q416 -194 406 -194T372 -193T309 -192Q259 -192 233 -192T204 -193Q190 -193 190 -184Q190 -181 192 -169Q196 -153 199 -151T219 -148Q266 -148 277 -141Q283 -137 305 -51L325 29L316 22Q270 -11 228 -11ZM397 323Q397 329 394 340T385 367T365 394T333 405Q302 405 271 372Q249 349 235 316T203 215Q184 135 184 108V100Q184 71 191 56Q204 26 235 26Q267 26 300 57T344 112Q347 117 372 217T397 323'], - - // LATIN SMALL LETTER R - 0x72: [442,11,422,75,484,'81 278Q75 284 75 289Q77 301 89 339Q122 442 183 442Q219 442 241 425T271 384L283 396Q327 442 384 442Q424 442 454 421T484 362Q484 327 464 312T424 296Q407 296 396 305T385 331Q385 352 394 365T414 384T424 390Q409 405 378 405Q322 405 276 315L268 300L234 161Q200 25 196 16Q182 -11 152 -11T120 18Q120 23 159 181Q199 343 199 346Q202 360 202 372Q202 405 182 405Q164 405 150 377T128 316T117 280Q115 278 98 278H81'], - - // LATIN SMALL LETTER S - 0x73: [442,11,409,76,418,'153 285Q153 349 197 395T311 442Q355 442 386 420T418 356Q418 321 401 308T365 294Q336 294 331 326Q331 336 334 345T343 359T353 368T362 374L366 376Q365 379 362 383T344 396T308 404Q265 404 246 377T226 325T244 289T287 275T339 258T383 212Q395 188 395 163Q395 132 379 95T333 32Q279 -11 207 -11Q154 -11 115 13T76 86Q76 108 83 123T102 145T121 153T135 156Q154 156 164 145T175 117Q175 82 142 66L132 62Q131 62 131 61Q131 57 139 49T166 34T210 26Q250 26 277 44T312 83T321 123Q321 153 301 166T248 185T204 198Q176 211 162 241Q153 258 153 285'], - - // LATIN SMALL LETTER T - 0x74: [626,11,332,87,373,'94 385Q87 392 87 395Q87 399 90 411T95 425Q97 430 103 430T149 431H196L215 511Q218 521 222 539T228 565T234 585T242 603T251 615T264 623T281 626Q311 626 315 597Q315 591 296 513T275 433Q275 431 320 431H366Q373 424 373 420Q373 398 360 385H263L189 86Q188 80 188 61V54Q188 29 201 27Q213 23 229 30Q253 37 276 66T316 138Q321 149 324 151T342 153H347Q364 153 364 146T360 130Q331 63 290 26T202 -11Q158 -11 135 18T111 81Q111 93 129 168T166 314L184 383Q184 385 139 385H94'], - - // LATIN SMALL LETTER U - 0x75: [441,11,537,75,570,'75 287Q75 299 89 333T135 404T205 441Q246 441 269 420T293 357Q292 338 259 245T225 95Q225 26 274 26Q301 26 324 43T358 77T369 99Q369 102 406 249T446 404Q460 431 490 431T522 402Q522 394 485 245T446 89Q443 74 443 56Q443 28 461 26Q487 26 507 86Q524 130 524 146Q524 147 530 153H547Q570 153 570 144Q570 138 561 109T544 62Q530 29 512 12Q492 -11 454 -11Q429 -9 410 2T385 23T376 41L363 28Q350 16 325 3T269 -10Q204 -10 176 25T148 108Q148 161 184 262T221 383Q221 405 206 405Q178 405 158 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287'], - - // LATIN SMALL LETTER V - 0x76: [443,10,460,75,492,'387 386Q387 407 406 425T445 443Q466 443 479 423T492 371Q492 330 473 253Q411 18 307 -8Q298 -10 279 -10Q208 -10 179 26T149 114Q149 162 185 261T221 384Q221 405 206 405Q177 405 157 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287T79 304T93 342T119 388T158 425T210 441H218Q243 441 268 421T293 357Q292 337 259 245T226 102Q226 26 285 26Q328 26 360 72T422 237Q429 265 429 290Q428 324 408 349T387 386'], - - // LATIN SMALL LETTER W - 0x77: [443,11,664,75,696,'591 386Q591 407 610 425T649 443Q670 443 683 423T696 371Q696 327 672 232T621 85Q575 -11 493 -11Q469 -11 449 -6T418 8T398 24T386 38L382 43Q347 -10 293 -10H286Q221 -10 186 21T150 115Q150 164 185 262T221 384Q221 405 206 405Q177 405 157 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287T79 304T93 342T119 388T158 425T210 441H218Q243 441 268 421T293 357Q292 336 260 246T227 108Q227 26 292 26H295Q332 26 361 93L366 103V119Q366 122 367 133T369 150Q372 167 401 282T433 404Q446 431 477 431Q507 431 509 402Q509 396 500 358T474 254T446 140Q444 126 444 104V92Q444 66 459 46T502 26H505Q527 28 545 43T577 88T602 149T623 226Q633 265 633 290Q632 324 612 349T591 386'], - - // LATIN SMALL LETTER X - 0x78: [442,11,464,58,513,'275 356Q275 383 262 394T233 405Q196 405 166 371T121 289Q119 280 116 279T98 278H81Q77 282 76 283T75 288T78 300Q88 332 109 363T153 411Q195 442 235 442Q306 442 333 386Q373 442 427 442Q461 442 487 421T513 364T494 312T453 296Q436 296 425 305T414 331Q414 352 424 366T446 386L456 390Q448 404 421 404H418Q382 404 358 341Q355 332 328 227T298 105Q295 90 295 75Q295 26 339 26Q365 26 388 43T424 82T444 123T451 146L457 153H474Q490 153 493 152T496 144Q496 133 486 110T456 58T404 10T333 -11Q276 -11 237 45Q197 -11 146 -11Q108 -11 83 10T58 67Q58 99 76 117T119 135Q136 135 147 124T158 96Q158 89 157 85Q149 57 125 45L115 41Q125 26 151 26Q171 26 187 45T214 93Q217 102 244 210T273 330Q275 339 275 356'], - - // LATIN SMALL LETTER Y - 0x79: [441,205,486,75,522,'75 287Q75 299 89 333T135 404T205 441Q246 441 269 420T293 357Q292 338 259 245T225 95Q225 26 274 26Q325 26 367 93L405 245Q442 393 446 404Q460 431 490 431T522 402Q522 400 416 -24Q389 -102 327 -153T196 -205Q152 -205 122 -181T91 -119Q91 -84 110 -67T152 -49Q170 -49 180 -60T191 -87Q191 -108 174 -128Q167 -134 157 -138T146 -144Q155 -153 159 -156T173 -163T199 -167Q229 -167 255 -149T297 -105T325 -52T342 -6T347 15Q315 -10 269 -10Q204 -10 176 25T148 108Q148 161 184 262T221 383Q221 405 206 405Q178 405 158 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287'], - - // LATIN SMALL LETTER Z - 0x7A: [442,11,409,54,466,'160 317Q158 317 155 317Q136 317 136 324Q136 351 171 396T260 442Q292 442 321 410T365 375H369Q384 375 404 408L425 441Q427 442 444 442H460Q466 436 466 434Q466 419 426 367Q387 314 294 222T178 105L170 95L181 94Q198 93 236 81T295 68Q328 68 356 89T395 141Q398 150 401 151T419 153Q441 153 441 144Q441 110 394 50T282 -11Q251 -11 221 23T171 57Q157 57 143 47T121 26T104 3T95 -10Q93 -11 76 -11H60Q54 -5 54 -2Q54 3 61 14Q103 88 233 215Q349 329 349 338L302 351Q269 362 247 362Q227 362 212 356T192 342T183 327T178 320Q175 317 160 317'], - - // TILDE - 0x7E: [318,-208,511,247,571,'266 208Q262 208 255 215T247 228Q247 233 250 236T274 259Q335 318 369 318Q394 318 420 292T464 265Q485 265 516 291T550 318Q554 318 562 311T571 297Q570 293 551 273T502 231T451 209H447Q421 209 396 235T355 261Q334 261 301 235T266 208'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js deleted file mode 100644 index 170a8e72..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/CombDiacritMarks.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], - { - // COMBINING GRAVE ACCENT - 0x300: [697,-500,0,-222,-74,'-222 651Q-222 668 -206 682T-174 697Q-155 697 -145 680Q-140 671 -107 599T-74 526Q-74 522 -88 511T-107 500Q-109 500 -113 502T-167 568T-219 637Q-222 643 -222 651'], - - // COMBINING ACUTE ACCENT - 0x301: [697,-500,0,-173,39,'-148 500Q-154 500 -163 511T-173 528Q-173 529 -172 530V532Q-170 534 -97 610T-21 688Q-8 697 4 697Q19 697 29 688T39 663T30 638Q26 631 -50 573L-135 507Q-144 500 -148 500'], - - // COMBINING CIRCUMFLEX ACCENT - 0x302: [694,-527,0,-251,17,'17 555Q17 549 3 538T-15 527Q-20 527 -41 554Q-53 569 -62 580L-97 625L-158 578Q-172 567 -188 555T-212 536L-221 529Q-225 527 -226 527Q-232 527 -238 533T-248 546L-251 553Q-251 559 -248 562Q-246 564 -169 628T-90 693T-86 694Q-81 694 -78 691Q17 563 17 555'], - - // COMBINING TILDE - 0x303: [668,-558,0,-264,60,'-245 558Q-249 558 -256 565T-264 578Q-264 583 -261 586T-237 609Q-176 668 -142 668Q-117 668 -91 642T-47 615Q-26 615 5 641T39 668Q43 668 51 661T60 647Q59 643 40 623T-9 581T-60 559H-64Q-90 559 -115 585T-156 611Q-177 611 -210 585T-245 558'], - - // COMBINING MACRON - 0x304: [589,-544,0,-282,54,'-275 544Q-282 548 -282 554Q-282 561 -279 573T-271 588Q-269 589 -111 589H-27H12Q38 589 46 587T54 578Q54 574 51 563T47 550Q45 546 32 545Q15 544 -118 544H-275'], - - // COMBINING BREVE - 0x306: [694,-515,0,-237,62,'-237 641Q-237 694 -218 694H-213Q-195 694 -195 684Q-195 683 -195 679T-197 667T-198 650Q-198 611 -176 589T-117 566Q-74 566 -34 597T23 678Q27 689 30 691T43 694Q62 694 62 684Q62 671 49 645T14 589T-46 537T-123 515Q-175 515 -206 550T-237 641'], - - // COMBINING DOT ABOVE - 0x307: [669,-548,0,-165,-41,'-165 599Q-162 631 -139 650T-93 669Q-65 669 -53 653T-41 620Q-41 593 -63 571T-116 548Q-134 548 -149 559T-165 599'], - - // COMBINING DIAERESIS - 0x308: [669,-554,0,-251,45,'-251 601Q-251 626 -230 647T-180 669Q-139 669 -133 625Q-133 595 -155 575T-203 554Q-223 554 -237 567T-251 601ZM-72 599Q-72 632 -48 650T-2 669Q18 669 31 657T45 623Q45 592 22 573T-25 554Q-68 554 -72 599'], - - // COMBINING RING ABOVE - 0x30A: [716,-542,0,-199,3,'-199 610Q-199 654 -161 685T-79 716Q-39 716 -16 693Q3 674 3 647Q3 607 -34 575T-118 542Q-199 542 -199 610ZM-41 631T-41 655T-83 679H-89Q-129 679 -142 656Q-146 650 -151 632T-156 604Q-156 578 -113 578H-108Q-94 578 -86 579T-69 586T-52 605Q-41 631 -41 655'], - - // COMBINING DOUBLE ACUTE ACCENT - 0x30B: [697,-503,0,-248,65,'-217 503Q-221 503 -234 510T-248 523Q-248 528 -205 602Q-200 610 -192 623T-180 644T-170 661T-159 676T-151 686T-142 694T-134 696Q-132 697 -121 697Q-88 694 -88 664Q-88 652 -97 640T-152 574Q-214 504 -217 503ZM-64 503Q-68 503 -81 510T-95 523Q-95 528 -52 602Q-47 610 -39 623T-27 644T-17 661T-6 676T2 686T11 694T19 696Q21 697 32 697Q65 694 65 664Q65 652 56 640T1 574Q-61 504 -64 503'], - - // COMBINING CARON - 0x30C: [638,-502,0,-236,29,'11 637Q16 637 22 624T29 607Q29 606 27 602Q26 600 -47 552T-125 502H-127Q-133 502 -184 553Q-236 602 -236 608Q-236 612 -224 625T-206 638L-202 637L-196 632Q-190 628 -179 620T-158 603L-116 570Q-109 572 -52 604T11 637'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js deleted file mode 100644 index 936bd411..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js +++ /dev/null @@ -1,44 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/GeneralPunctuation.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], - { - // EN DASH - 0x2013: [285,-248,511,91,554,'98 248Q91 252 91 259Q91 279 100 284Q102 285 324 285H442H500Q536 285 545 283T554 274Q554 260 548 254Q546 250 538 249Q520 248 319 248H98'], - - // EM DASH - 0x2014: [285,-248,1022,117,1038,'124 248Q117 252 117 259Q117 279 126 284Q128 285 579 285T1033 284Q1037 280 1037 278Q1038 276 1038 274Q1038 253 1029 250Q1026 248 575 248H124'], - - // LEFT SINGLE QUOTATION MARK - 0x2018: [694,-379,307,197,362,'249 379Q228 379 213 396T197 448Q197 533 271 627L278 635Q286 643 295 652T314 671T332 687T344 694Q349 694 355 685T362 671Q362 668 345 654T301 608T256 537Q238 493 240 491Q241 491 245 493T258 498T275 500Q296 500 311 488T326 454Q326 426 304 403T249 379'], - - // RIGHT SINGLE QUOTATION MARK - 0x2019: [694,-378,307,212,377,'250 620Q250 647 272 670T325 694Q348 694 362 677T377 633V624Q377 566 343 506T275 412T231 379Q226 379 220 388T213 401T232 421T279 472T323 547Q335 573 335 582L331 580Q327 578 318 576T300 573Q277 573 264 585T250 620'], - - // LEFT DOUBLE QUOTATION MARK - 0x201C: [694,-379,514,243,606,'295 379Q274 379 259 396T243 448Q243 533 317 627Q326 638 354 666T391 694Q395 694 402 686T409 673Q409 668 392 654T348 608T302 537Q284 493 286 491Q287 491 291 493T304 498T321 500Q342 500 357 488T372 454Q372 426 350 403T295 379ZM492 379Q471 379 456 396T440 448Q440 533 514 627Q523 638 551 666T588 694Q592 694 599 685T606 672T589 654T544 608T499 537Q481 493 483 491Q484 491 488 493T501 498T518 500Q539 500 554 488T569 454Q569 426 547 403T492 379'], - - // RIGHT DOUBLE QUOTATION MARK - 0x201D: [694,-379,514,176,538,'214 620Q214 647 236 670T289 694Q312 694 326 677T341 633V624Q341 588 327 550T294 482T253 428T216 392T196 379Q191 379 184 388T176 401Q176 404 195 421T243 472T287 547Q299 576 299 582L295 580Q291 578 282 576T264 573Q241 573 228 585T214 620ZM411 620Q411 647 433 670T486 694Q509 694 523 677T538 633V624Q538 588 524 550T491 482T450 428T413 392T393 379Q388 379 381 388T373 401Q373 404 392 421T440 472T484 547Q496 576 496 582L492 580Q488 578 479 576T461 573Q438 573 425 585T411 620'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/GeneralPunctuation.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js deleted file mode 100644 index 10826c5e..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/GreekAndCoptic.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], - { - // GREEK CAPITAL LETTER GAMMA - 0x393: [680,0,627,54,705,'337 46Q339 46 342 46Q360 46 363 45T367 34Q367 13 359 5Q356 0 343 0Q339 0 320 0T268 1T196 2Q98 2 72 0H61Q54 7 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623Q299 630 292 631T248 634Q216 634 214 638Q213 641 213 646Q213 674 224 678Q226 680 462 680H698Q705 676 705 669Q705 665 691 557T675 447Q673 440 652 440H637Q630 445 630 451Q630 452 632 467T636 504T638 543Q638 569 632 586T615 613T586 627T549 633T500 634Q491 634 487 634Q426 634 414 633T399 625Q397 621 327 342T257 59Q257 54 261 52T283 48T337 46'], - - // GREEK CAPITAL LETTER DELTA - 0x394: [716,0,818,70,751,'409 0H145Q117 0 103 0T81 1T72 3T70 6Q70 9 310 354T557 707Q559 711 565 713Q570 716 587 716Q608 716 613 710Q616 704 683 358Q752 9 750 6Q750 2 747 2Q745 0 409 0ZM581 342L531 597Q530 597 352 342T174 85T403 84T632 86Q632 87 581 342'], - - // GREEK CAPITAL LETTER THETA - 0x398: [704,22,767,149,788,'149 237Q149 326 186 413T282 563T412 665T552 704Q619 704 667 678T741 611T777 528T788 444Q788 328 728 219T572 44T377 -22Q275 -22 212 50T149 237ZM691 480Q691 569 652 618T551 668Q458 668 367 562Q307 485 277 382T246 202Q246 147 260 108T298 51T343 24T387 16Q408 16 433 22T494 51T562 109T626 211T677 363Q691 423 691 480ZM302 275Q302 281 317 346T338 415L341 418H356Q380 418 380 408Q380 405 378 398T375 385Q375 384 480 384H585L588 398Q592 412 598 418H613Q636 418 636 409Q636 406 621 340Q617 326 612 306Q603 272 598 267L597 266H582Q558 266 558 276Q558 279 560 286T563 299Q563 300 458 300H353L350 286Q346 272 340 266H325Q302 266 302 275'], - - // GREEK CAPITAL LETTER LAMDA - 0x39B: [716,0,692,58,646,'71 0Q58 0 58 11Q58 33 68 43Q71 46 77 46Q106 46 128 59T156 79T173 104Q174 106 255 256T416 556T497 707Q502 716 519 716H525Q543 716 547 711Q550 707 561 398T572 65Q573 57 574 54T587 49T623 46Q646 46 646 36Q646 35 643 23Q642 21 641 17T640 12T639 8T638 5T636 3T633 1T629 1T624 0Q622 0 612 0T578 1T514 2Q466 2 434 2T398 1Q381 1 381 11Q381 13 383 23Q387 40 390 43T406 46Q460 46 472 63L464 298Q457 533 455 536V537Q452 537 335 317T214 90Q211 80 211 75Q211 53 244 47Q246 47 251 47T258 46Q270 46 270 34Q270 33 268 19Q264 6 258 0H247Q185 2 143 2Q77 2 71 0'], - - // GREEK CAPITAL LETTER XI - 0x39E: [678,0,664,74,755,'243 668Q243 670 250 677H640Q661 677 687 677T719 678Q741 678 747 676T754 667T740 595T726 522Q725 521 724 520T723 517T720 516T714 515T704 514Q690 514 685 515T680 525Q680 531 683 543Q690 578 690 590V597H686Q670 600 468 600Q282 599 275 596Q267 591 251 539Q246 521 243 518T228 514H224Q200 511 200 525Q200 526 220 594T243 668ZM535 277Q535 282 538 296T543 312Q543 314 411 314H278L277 310Q277 309 272 291T266 272Q264 267 245 267Q237 267 233 268T228 269T225 272T222 277L241 354Q245 368 250 389Q261 432 266 437L267 438H299Q306 431 306 428Q306 426 306 424T304 417T302 409L297 391H430L562 392L567 412Q572 431 579 438H611Q615 434 616 432L618 430Q618 423 599 352Q581 275 577 270Q574 267 568 267H558Q535 267 535 277ZM81 0Q74 4 74 11Q74 14 89 89T106 168Q112 174 127 174Q138 174 142 174T148 171T151 164Q151 163 147 143Q140 101 139 92Q139 81 140 81Q143 78 265 78H349H484Q518 78 532 78T555 80T566 83T570 91Q575 103 589 145Q595 166 598 170T611 174H617H622Q641 174 641 163Q641 162 619 86T595 7Q593 2 584 1T530 0H334H81'], - - // GREEK CAPITAL LETTER PI - 0x3A0: [680,0,743,54,859,'248 634Q216 634 214 638Q213 641 213 646Q213 674 224 678Q226 680 539 680H852Q859 676 859 669Q859 653 852 639Q848 634 818 634Q782 633 771 630T754 618L719 480Q684 343 649 203T614 57Q614 50 621 49T666 46Q697 46 699 40Q701 37 698 21Q693 3 689 1Q686 0 677 0Q673 0 657 0T611 1T546 2Q453 2 428 0H418Q411 7 411 11Q411 27 418 41Q422 46 452 46Q488 47 499 50T516 62Q518 67 553 209T624 491T660 632Q660 634 530 634H400L399 630Q399 629 390 593T363 484T328 344Q257 60 257 57Q257 50 264 49T309 46Q340 46 342 40Q344 37 341 21Q336 3 332 1Q329 0 320 0Q316 0 300 0T254 1T189 2Q96 2 71 0H61Q54 7 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623Q299 630 292 631T248 634'], - - // GREEK CAPITAL LETTER SIGMA - 0x3A3: [683,1,716,80,782,'87 0Q80 7 80 11Q80 14 81 15Q81 16 231 161Q381 304 381 305L310 475Q239 646 239 648T242 662T247 677Q247 681 251 681Q253 683 514 683H775Q780 678 782 674Q782 668 767 559T751 448Q747 443 729 443Q715 443 711 444T707 453Q707 454 710 479T713 529Q713 555 709 573T691 604T663 622T619 632T564 636T492 637H457Q356 637 356 635Q358 634 417 489T478 343Q478 340 474 335T436 297T330 196L185 57L294 56H339Q450 56 499 65T581 109Q603 131 620 164T646 221T657 248Q660 250 675 250Q699 253 699 239L681 188Q663 138 643 81T617 9Q614 2 605 1T552 -1Q541 -1 475 -1T348 0H87'], - - // GREEK CAPITAL LETTER UPSILON - 0x3A5: [706,0,767,213,832,'213 543Q213 576 262 640T379 705Q507 705 507 531Q507 514 505 492L504 482L514 505Q524 528 543 561T587 626T653 682T738 705Q783 705 807 675T832 594Q832 535 808 535H802Q780 535 780 542Q780 543 781 550T783 563Q783 589 765 606T716 623Q588 623 521 354Q521 353 485 208T448 59Q448 46 529 46Q559 46 559 36Q559 31 556 22Q552 4 547 1Q546 1 544 1T538 0Q534 0 514 0T458 1T380 2Q271 2 241 0H228Q222 6 222 9T224 27Q228 40 234 46H257Q322 46 336 52Q346 54 349 62Q351 64 372 145T416 324T445 461Q446 471 446 506Q446 528 445 541T436 577T410 610T361 622Q319 622 295 600T261 552Q257 539 249 536Q245 535 233 535T218 536L214 540V541Q213 542 213 543'], - - // GREEK CAPITAL LETTER PHI - 0x3A6: [683,0,716,159,729,'467 624Q467 631 454 633T400 637Q361 637 359 643Q358 644 358 649Q358 673 369 682Q371 683 387 683Q430 681 532 681Q569 681 600 681T650 682T672 683Q689 683 689 672Q689 670 686 658T681 643Q679 637 640 637Q595 636 579 633T558 617Q556 613 547 575T538 533Q538 532 541 532Q555 532 582 524T643 500T703 450T728 374Q728 311 673 256Q621 203 550 177T445 151Q443 151 441 149Q440 146 430 104T419 59Q419 46 500 46Q530 46 530 36Q530 31 527 22Q523 4 518 1Q517 1 515 1T510 0Q505 0 486 0T431 1T355 2Q248 2 218 0H205Q199 6 199 9T201 27Q205 40 211 46H234Q300 46 313 52Q323 54 326 62Q328 64 334 86T344 129L349 150Q349 151 346 151Q333 151 307 158T245 182T185 231T159 309V314Q159 325 162 338T174 374T207 421T264 468Q334 518 435 531L446 533L457 577Q467 620 467 624ZM436 494Q429 494 417 492T373 477T319 442Q288 408 274 362T260 284Q260 257 269 239T298 210T328 196T359 188L436 494ZM626 398Q626 438 605 460T539 493L528 495Q527 495 489 342T451 188Q455 188 462 189T490 197T528 212T566 241T598 285Q626 341 626 398'], - - // GREEK CAPITAL LETTER PSI - 0x3A8: [683,0,767,207,824,'494 626Q493 627 493 628T491 629T489 631T484 632T477 634T465 635T449 636T426 637Q387 637 385 643Q384 644 384 649Q384 673 395 682Q397 683 413 683Q456 681 558 681Q595 681 626 681T676 682T698 683Q715 683 715 672Q715 670 712 658T707 643Q705 637 666 637Q621 636 605 633T584 617L478 193Q486 195 498 199T542 229T597 291Q626 335 646 415Q669 500 694 523T759 546H777H801Q824 546 824 536Q822 509 809 509Q762 509 735 406Q707 300 642 234T481 153L467 151L456 106Q445 62 445 59Q445 46 526 46Q556 46 556 36Q556 31 553 22Q549 4 544 1Q543 1 541 1T536 0Q531 0 512 0T457 1T381 2Q274 2 244 0H231Q225 6 225 9T227 27Q231 40 237 46H260Q326 46 339 52Q349 54 352 62Q354 64 365 106T376 151Q374 152 371 152Q360 153 347 156T310 172T270 201T239 250T225 323Q225 359 235 405T245 470T239 498T226 507T213 510T207 520Q207 528 209 534T215 544L218 546H257Q305 546 314 540Q338 530 338 485Q338 455 326 402T313 312Q313 218 379 193Q386 192 387 192Q387 196 441 408Q494 621 494 626'], - - // GREEK CAPITAL LETTER OMEGA - 0x3A9: [705,0,716,100,759,'183 393Q183 451 206 502T267 590T348 652T435 691T510 704Q513 705 525 705Q631 705 695 650T759 505Q759 454 732 397T672 299T593 203T527 117Q503 81 503 76Q503 75 521 75Q576 75 588 77Q589 77 592 78T595 79T598 80T602 82T605 86T609 92T614 101T620 112T627 127T636 147Q646 169 649 170Q651 172 667 172H682Q689 167 689 162Q689 158 654 81T617 2Q614 0 530 0H447Q441 5 441 9T444 28Q461 85 498 158T569 285T628 408T654 534Q654 592 621 630T527 668Q488 668 448 649T371 593T310 487T286 330Q286 302 290 247T294 137Q294 34 280 6Q278 1 268 1T190 0H107Q100 5 100 12Q100 24 103 94T108 165Q110 172 131 172H146Q150 169 153 165L152 141V116Q152 84 153 82Q156 75 217 75H252V84Q252 126 218 231T183 393'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js deleted file mode 100644 index 218d57fd..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/LatinExtendedA.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], - { - // LATIN SMALL LETTER DOTLESS I - 0x131: [441,10,307,75,341,'75 287Q75 292 82 313T103 362T142 413T196 441H214Q248 441 270 419T293 357Q292 338 289 330T245 208Q193 72 193 46Q193 26 209 26Q228 26 247 43Q273 71 292 136Q295 148 297 150T311 153H317Q327 153 330 153T337 150T340 143Q340 133 330 105T292 41T228 -8Q220 -10 204 -10Q160 -10 141 15T122 71Q122 98 171 227T221 384Q221 396 218 400T203 405Q175 403 156 374T128 312T116 279Q115 278 97 278H81Q75 284 75 287'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js deleted file mode 100644 index f9e0b34a..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/LatinExtendedB.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], - { - // LATIN SMALL LETTER DOTLESS J - 0x237: [442,204,332,-32,327,'75 284T75 287T81 305T101 343T133 389T180 426T240 442Q273 440 300 420T327 350V332L278 134Q267 92 253 37T233 -45T225 -73Q208 -123 162 -163T54 -204Q8 -204 -15 -181Q-32 -164 -32 -140Q-32 -112 -14 -96T27 -79Q48 -79 57 -91T67 -114Q67 -146 39 -166L44 -167H59H60Q112 -167 145 -74Q148 -65 198 134T251 347Q252 353 252 370Q252 382 251 388T245 399T230 405Q204 405 175 378Q157 360 145 337T126 298T117 280T98 278H81Q75 284 75 287'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/LatinExtendedB.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js deleted file mode 100644 index 83167adf..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/LetterlikeSymbols.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], - { - // stix-/hbar - Planck's over 2pi - 0x210F: [695,13,540,42,562,'150 475Q147 475 118 466T82 457Q73 457 64 467T54 487Q54 490 55 492Q63 506 64 506Q67 512 118 526Q162 541 169 546Q173 559 175 575Q181 596 181 604Q181 613 166 617Q164 617 153 618T135 619Q119 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 291 628L278 577L386 612Q466 635 476 635T492 627T499 607Q499 593 489 586Q485 583 373 546L262 512Q262 511 248 455T233 397T236 397T244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26Q42 45 98 257L151 475H150'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/Main.js deleted file mode 100644 index 8d7d43ae..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/Main.js +++ /dev/null @@ -1,40 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'] = { - directory: 'Main/Italic', - family: 'MathJax_Main', - id: 'MJMAINI', - style: 'italic', - Ranges: [ - [0x20,0x7F,"BasicLatin"], - [0x100,0x17F,"LatinExtendedA"], - [0x180,0x24F,"LatinExtendedB"], - [0x300,0x36F,"CombDiacritMarks"], - [0x370,0x3FF,"GreekAndCoptic"], - [0x2000,0x206F,"GeneralPunctuation"], - [0x2100,0x214F,"LetterlikeSymbols"] - ], - - // POUND SIGN - 0xA3: [714,11,769,88,699,'699 578Q699 473 635 473Q597 473 595 508Q595 559 654 569V576Q654 619 637 648T581 677Q545 677 513 647T463 561Q460 554 437 464T414 371Q414 370 458 370H502Q508 364 508 362Q505 334 495 324H402L382 241Q377 224 373 206T366 180T361 163T358 151T354 142T350 133T344 120Q340 112 338 107T336 101L354 90Q398 63 422 54T476 44Q515 44 539 73T574 133Q578 144 580 146T598 148Q622 148 622 139Q622 138 620 130Q602 74 555 32T447 -11Q395 -11 317 38L294 51Q271 28 233 9T155 -10Q117 -10 103 5T88 39Q88 73 126 106T224 139Q236 139 247 138T266 134L273 132Q275 132 302 239L323 324H259Q253 330 253 332Q253 350 265 370H300L334 371L355 453Q356 457 360 477T366 501T372 522T379 545T387 565T397 587T409 606T425 627Q453 664 497 689T583 714Q640 714 669 676T699 578ZM245 76Q211 85 195 85Q173 85 158 71T142 42Q142 26 160 26H163Q211 30 245 76'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js deleted file mode 100644 index 10479251..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js +++ /dev/null @@ -1,146 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/BasicLatin.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], - { - // EXCLAMATION MARK - 0x21: [716,-1,278,78,199,'78 661Q78 682 96 699T138 716T180 700T199 661Q199 654 179 432T158 206Q156 198 139 198Q121 198 119 206Q118 209 98 431T78 661ZM79 61Q79 89 97 105T141 121Q164 119 181 104T198 61Q198 31 181 16T139 1Q114 1 97 16T79 61'], - - // QUOTATION MARK - 0x22: [694,-379,500,34,372,'34 634Q34 659 50 676T93 694Q121 694 144 668T168 579Q168 525 146 476T101 403T73 379Q69 379 60 388T50 401Q50 404 62 417T88 448T116 500T131 572Q131 584 130 584T125 581T112 576T94 573Q69 573 52 590T34 634ZM238 634Q238 659 254 676T297 694Q325 694 348 668T372 579Q372 525 350 476T305 403T277 379Q273 379 264 388T254 401Q254 404 266 417T292 448T320 500T335 572Q335 584 334 584T329 581T316 576T298 573Q273 573 256 590T238 634'], - - // NUMBER SIGN - 0x23: [694,194,833,56,778,'56 347Q56 360 70 367H313L355 524Q394 676 401 686Q406 694 416 694Q434 694 436 676Q436 672 396 522Q355 374 355 369L354 367H543L585 524Q626 679 630 685Q636 694 646 694Q653 694 659 689T665 678Q665 668 626 522Q585 374 585 369L584 367H762Q777 359 777 347Q777 334 767 331T722 327H667H572L552 251L531 174Q531 173 647 173H720Q756 173 766 170T777 153T762 133H519L477 -24Q436 -179 432 -185Q426 -194 416 -194Q409 -194 403 -189T397 -177Q397 -167 436 -21Q477 125 477 131L478 133H289L247 -24Q206 -179 202 -185Q196 -194 186 -194Q179 -194 173 -189T167 -177Q167 -167 206 -21Q247 125 247 131L248 133H70Q56 140 56 153Q56 168 72 173H260L280 249L301 326Q301 327 186 327H72Q56 332 56 347ZM531 326Q531 327 437 327H342L322 251L301 174Q301 173 395 173H490L510 249L531 326'], - - // DOLLAR SIGN - 0x24: [750,56,500,55,444,'162 187Q162 164 146 149T109 133H103V130Q108 115 115 105Q122 92 131 82T150 64T170 52T190 44T206 40T220 37L227 36V313Q190 320 162 335Q116 358 86 404T55 508Q55 567 85 614T165 685Q186 696 225 704H227V750H273V704L286 703Q369 690 413 631Q441 588 444 531Q444 514 443 509Q439 490 425 479T391 468Q368 468 353 483T337 522Q337 546 353 560T390 575L394 576V578Q386 599 372 614T342 637T314 649T288 656L273 658V408L288 405Q329 394 355 376Q396 348 420 300T444 199Q444 130 408 76T313 1Q286 -9 276 -9H273V-56H227V-10H221Q202 -6 193 -4T155 11T108 41T74 94T55 176V182Q55 227 95 238Q103 240 108 240Q129 240 145 226T162 187ZM225 657Q219 657 204 651T169 632T135 594T121 538Q121 512 131 491T156 457T187 435T213 423T227 420V539Q227 657 225 657ZM378 169Q378 230 339 265T274 301Q273 301 273 169V37Q324 50 351 87T378 169'], - - // PERCENT SIGN - 0x25: [750,56,833,56,777,'465 605Q428 605 394 614T340 632T319 641Q332 608 332 548Q332 458 293 403T202 347Q145 347 101 402T56 548Q56 637 101 693T202 750Q241 750 272 719Q359 642 464 642Q580 642 650 732Q662 748 668 749Q670 750 673 750Q682 750 688 743T693 726Q178 -47 170 -52Q166 -56 160 -56Q147 -56 142 -45Q137 -36 142 -27Q143 -24 363 304Q469 462 525 546T581 630Q528 605 465 605ZM207 385Q235 385 263 427T292 548Q292 617 267 664T200 712Q193 712 186 709T167 698T147 668T134 615Q132 595 132 548V527Q132 436 165 403Q183 385 203 385H207ZM500 146Q500 234 544 290T647 347Q699 347 737 292T776 146T737 0T646 -56Q590 -56 545 0T500 146ZM651 -18Q679 -18 707 24T736 146Q736 215 711 262T644 309Q637 309 630 306T611 295T591 265T578 212Q577 200 577 146V124Q577 -18 647 -18H651'], - - // AMPERSAND - 0x26: [716,22,778,42,727,'156 540Q156 620 201 668T302 716Q354 716 377 671T401 578Q401 505 287 386L274 373Q309 285 416 148L429 132L437 142Q474 191 543 309L562 341V349Q562 368 541 376T498 385H493V431H502L626 428Q709 428 721 431H727V385H712Q688 384 669 379T639 369T618 354T603 337T591 316T578 295Q537 223 506 176T464 117T454 104Q454 102 471 85T497 62Q543 24 585 24Q618 24 648 48T682 113V121H722V112Q721 94 714 75T692 32T646 -7T574 -22Q491 -19 414 42L402 51L391 42Q312 -22 224 -22Q144 -22 93 25T42 135Q42 153 46 169T55 197T74 225T96 249T125 278T156 308L195 347L190 360Q185 372 182 382T174 411T165 448T159 491T156 540ZM361 576Q361 613 348 646T305 679Q272 679 252 649T232 572Q232 497 255 426L259 411L267 420Q361 519 361 576ZM140 164Q140 103 167 64T240 24Q271 24 304 36T356 61T374 77Q295 156 235 262L220 292L210 310L193 293Q177 277 169 268T151 229T140 164'], - - // APOSTROPHE - 0x27: [694,-379,278,78,212,'78 634Q78 659 95 676T138 694Q166 694 189 668T212 579Q212 525 190 476T146 403T118 379Q114 379 105 388T95 401Q95 404 107 417T133 448T161 500T176 572Q176 584 175 584T170 581T157 576T139 573Q114 573 96 590T78 634'], - - // ASTERISK - 0x2A: [750,-320,500,64,436,'215 721Q216 732 225 741T248 750Q263 750 273 742T284 721L270 571L327 613Q383 654 388 657T399 660Q412 660 423 650T435 624T424 600T376 575Q363 569 355 566L289 534L355 504L424 470Q435 462 435 447Q435 431 424 420T399 409Q393 409 388 412T327 456L270 498L277 423L284 348Q280 320 250 320T215 348L229 498L172 456Q116 415 111 412T100 409Q87 409 76 420T64 447Q64 461 75 470L144 504L210 534L144 566Q136 570 122 576Q83 593 74 600T64 624Q64 639 75 649T100 660Q106 660 111 657T172 613L229 571Q229 578 222 643T215 721'], - - // HYPHEN-MINUS - 0x2D: [252,-179,333,11,277,'11 179V252H277V179H11'], - - // QUESTION MARK - 0x3F: [705,-1,472,55,417,'226 668Q190 668 162 656T124 632L114 621Q116 621 119 620T130 616T145 607T157 591T162 567Q162 544 147 529T109 514T71 528T55 566Q55 625 100 661T199 704Q201 704 210 704T224 705H228Q281 705 320 692T378 656T407 612T416 567Q416 503 361 462Q267 395 247 303Q242 279 242 241V224Q242 205 239 202T222 198T205 201T202 218V249Q204 320 220 371T255 445T292 491T315 537Q317 546 317 574V587Q317 604 315 615T304 640T277 661T226 668ZM162 61Q162 89 180 105T224 121Q247 119 264 104T281 61Q281 31 264 16T222 1Q197 1 180 16T162 61'], - - // COMMERCIAL AT - 0x40: [705,11,778,56,722,'56 347Q56 429 86 498T164 612T270 680T386 705Q522 705 622 603T722 349Q722 126 608 126Q541 126 513 176Q512 177 512 179T510 182L509 183Q508 183 503 177T487 163T464 146T429 132T385 126Q311 126 251 186T190 347Q190 448 251 508T385 568Q426 568 460 548T509 511T531 479H555Q580 479 582 478Q586 477 587 468Q588 454 588 338V260Q588 200 593 182T619 163Q641 163 655 178T674 223T680 273T682 325V330Q682 426 647 500Q611 569 544 618T388 668Q271 668 184 577T96 347Q96 216 180 121T396 26Q421 26 446 28T493 34T535 43T573 52T605 63T629 72T647 80T657 84H716Q722 78 722 74Q722 65 675 45T547 7T392 -11Q255 -11 156 90T56 347ZM274 347Q274 266 308 214T390 162Q420 162 449 182T498 235L504 245V449L498 459Q453 532 387 532Q347 532 311 483T274 347'], - - // LATIN CAPITAL LETTER A - 0x41: [716,0,750,32,717,'255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447'], - - // LATIN CAPITAL LETTER B - 0x42: [683,0,708,28,651,'131 622Q124 629 120 631T104 634T61 637H28V683H229H267H346Q423 683 459 678T531 651Q574 627 599 590T624 512Q624 461 583 419T476 360L466 357Q539 348 595 302T651 187Q651 119 600 67T469 3Q456 1 242 0H28V46H61Q103 47 112 49T131 61V622ZM511 513Q511 560 485 594T416 636Q415 636 403 636T371 636T333 637Q266 637 251 636T232 628Q229 624 229 499V374H312L396 375L406 377Q410 378 417 380T442 393T474 417T499 456T511 513ZM537 188Q537 239 509 282T430 336L329 337H229V200V116Q229 57 234 52Q240 47 334 47H383Q425 47 443 53Q486 67 511 104T537 188'], - - // LATIN CAPITAL LETTER C - 0x43: [705,21,722,56,666,'56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q322 658 252 588Q173 509 173 342Q173 221 211 151Q232 111 263 84T328 45T384 29T428 24Q517 24 571 93T626 244Q626 251 632 257H660L666 251V236Q661 133 590 56T403 -21Q262 -21 159 83T56 342'], - - // LATIN CAPITAL LETTER D - 0x44: [683,0,764,27,708,'130 622Q123 629 119 631T103 634T60 637H27V683H228Q399 682 419 682T461 676Q504 667 546 641T626 573T685 470T708 336Q708 210 634 116T442 3Q429 1 228 0H27V46H60Q102 47 111 49T130 61V622ZM593 338Q593 439 571 501T493 602Q439 637 355 637H322H294Q238 637 234 628Q231 624 231 344Q231 62 232 59Q233 49 248 48T339 46H350Q456 46 515 95Q561 133 577 191T593 338'], - - // LATIN CAPITAL LETTER E - 0x45: [680,0,681,25,652,'128 619Q121 626 117 628T101 631T58 634H25V680H597V676Q599 670 611 560T625 444V440H585V444Q584 447 582 465Q578 500 570 526T553 571T528 601T498 619T457 629T411 633T353 634Q266 634 251 633T233 622Q233 622 233 621Q232 619 232 497V376H286Q359 378 377 385Q413 401 416 469Q416 471 416 473V493H456V213H416V233Q415 268 408 288T383 317T349 328T297 330Q290 330 286 330H232V196V114Q232 57 237 52Q243 47 289 47H340H391Q428 47 452 50T505 62T552 92T584 146Q594 172 599 200T607 247T612 270V273H652V270Q651 267 632 137T610 3V0H25V46H58Q100 47 109 49T128 61V619'], - - // LATIN CAPITAL LETTER F - 0x46: [680,0,653,25,610,'128 619Q121 626 117 628T101 631T58 634H25V680H582V676Q584 670 596 560T610 444V440H570V444Q563 493 561 501Q555 538 543 563T516 601T477 622T431 631T374 633H334H286Q252 633 244 631T233 621Q232 619 232 490V363H284Q287 363 303 363T327 364T349 367T372 373T389 385Q407 403 410 459V480H450V200H410V221Q407 276 389 296Q381 303 371 307T348 313T327 316T303 317T284 317H232V189L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619'], - - // LATIN CAPITAL LETTER G - 0x47: [705,22,785,56,735,'56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q401 658 376 654T316 633T254 592T205 519T177 411Q173 369 173 335Q173 259 192 201T238 111T302 58T370 31T431 24Q478 24 513 45T559 100Q562 110 562 160V212Q561 213 557 216T551 220T542 223T526 225T502 226T463 227H437V273H449L609 270Q715 270 727 273H735V227H721Q674 227 668 215Q666 211 666 108V6Q660 0 657 0Q653 0 639 10Q617 25 600 42L587 54Q571 27 524 3T406 -22Q317 -22 238 22T108 151T56 342'], - - // LATIN CAPITAL LETTER H - 0x48: [683,0,750,25,724,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q57 680 180 680Q315 680 324 683H335V637H302Q262 636 251 634T233 622L232 500V378H517V622Q510 629 506 631T490 634T447 637H414V683H425Q446 680 569 680Q704 680 713 683H724V637H691Q651 636 640 634T622 622V61Q628 51 639 49T691 46H724V0H713Q692 3 569 3Q434 3 425 0H414V46H447Q489 47 498 49T517 61V332H232V197L233 61Q239 51 250 49T302 46H335V0H324Q303 3 180 3Q45 3 36 0H25V46H58Q100 47 109 49T128 61V622'], - - // LATIN CAPITAL LETTER I - 0x49: [683,0,361,21,339,'328 0Q307 3 180 3T32 0H21V46H43Q92 46 106 49T126 60Q128 63 128 342Q128 620 126 623Q122 628 118 630T96 635T43 637H21V683H32Q53 680 180 680T328 683H339V637H317Q268 637 254 634T234 623Q232 620 232 342Q232 63 234 60Q238 55 242 53T264 48T317 46H339V0H328'], - - // LATIN CAPITAL LETTER J - 0x4A: [683,22,514,25,465,'89 177Q115 177 133 160T152 112Q152 88 137 72T102 52Q99 51 101 49Q106 43 129 29Q159 15 190 15Q232 15 256 48T286 126Q286 127 286 142T286 183T286 238T287 306T287 378Q287 403 287 429T287 479T287 524T286 563T286 593T286 614V621Q281 630 263 633T182 637H154V683H166Q187 680 332 680Q439 680 457 683H465V637H449Q422 637 401 634Q393 631 389 623Q388 621 388 376T387 123Q377 61 322 20T194 -22Q188 -22 177 -21T160 -20Q96 -9 61 29T25 110Q25 144 44 160T89 177'], - - // LATIN CAPITAL LETTER K - 0x4B: [683,0,778,25,736,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q57 680 180 680Q315 680 324 683H335V637H313Q235 637 233 620Q232 618 232 462L233 307L379 449Q425 494 479 546Q518 584 524 591T531 607V608Q531 630 503 636Q501 636 498 636T493 637H489V683H499Q517 680 630 680Q704 680 716 683H722V637H708Q633 633 589 597Q584 592 495 506T406 419T515 254T631 80Q644 60 662 54T715 46H736V0H728Q719 3 615 3Q493 3 472 0H461V46H469Q515 46 515 72Q515 78 512 84L336 351Q332 348 278 296L232 251V156Q232 62 235 58Q243 47 302 46H335V0H324Q303 3 180 3Q45 3 36 0H25V46H58Q100 47 109 49T128 61V622'], - - // LATIN CAPITAL LETTER L - 0x4C: [683,0,625,25,582,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q48 680 182 680Q324 680 348 683H360V637H333Q273 637 258 635T233 622L232 342V129Q232 57 237 52Q243 47 313 47Q384 47 410 53Q470 70 498 110T536 221Q536 226 537 238T540 261T542 272T562 273H582V268Q580 265 568 137T554 5V0H25V46H58Q100 47 109 49T128 61V622'], - - // LATIN CAPITAL LETTER M - 0x4D: [683,0,917,29,887,'132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622'], - - // LATIN CAPITAL LETTER N - 0x4E: [683,0,750,25,724,'42 46Q74 48 94 56T118 69T128 86V634H124Q114 637 52 637H25V683H232L235 680Q237 679 322 554T493 303L578 178V598Q572 608 568 613T544 627T492 637H475V683H483Q498 680 600 680Q706 680 715 683H724V637H707Q634 633 622 598L621 302V6L614 0H600Q585 0 582 3T481 150T282 443T171 605V345L172 86Q183 50 257 46H274V0H265Q250 3 150 3Q48 3 33 0H25V46H42'], - - // LATIN CAPITAL LETTER O - 0x4F: [705,23,778,56,722,'56 340Q56 423 86 494T164 610T270 680T388 705Q521 705 621 601T722 341Q722 260 693 191T617 75T510 4T388 -22T267 3T160 74T85 189T56 340ZM467 647Q426 665 388 665Q360 665 331 654T269 620T213 549T179 439Q174 411 174 354Q174 144 277 61Q327 20 385 20H389H391Q474 20 537 99Q603 188 603 354Q603 411 598 439Q577 592 467 647'], - - // LATIN CAPITAL LETTER P - 0x50: [684,0,681,27,624,'130 622Q123 629 119 631T103 634T60 637H27V683H214Q237 683 276 683T331 684Q419 684 471 671T567 616Q624 563 624 489Q624 421 573 372T451 307Q429 302 328 301H234V181Q234 62 237 58Q245 47 304 46H337V0H326Q305 3 182 3Q47 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM507 488Q507 514 506 528T500 564T483 597T450 620T397 635Q385 637 307 637H286Q237 637 234 628Q231 624 231 483V342H302H339Q390 342 423 349T481 382Q507 411 507 488'], - - // LATIN CAPITAL LETTER Q - 0x51: [705,193,778,56,728,'56 341Q56 499 157 602T388 705Q521 705 621 601T722 341Q722 275 703 218T660 127T603 63T555 25T525 9Q524 8 524 8H523Q524 5 526 -1T537 -21T555 -47T581 -67T615 -76Q653 -76 678 -56T706 -3Q707 10 716 10Q721 10 728 5L727 -13Q727 -88 697 -140T606 -193Q563 -193 538 -166T498 -83Q483 -23 483 -8L471 -11Q459 -14 435 -18T388 -22Q254 -22 155 81T56 341ZM607 339Q607 429 586 496T531 598T461 649T390 665T318 649T248 598T192 496T170 339Q170 143 277 57Q301 39 305 39L304 42Q304 44 304 46Q301 53 301 68Q301 101 325 128T391 155Q454 155 495 70L501 58Q549 91 578 164Q607 234 607 339ZM385 18Q404 18 425 23T459 33T472 40Q471 47 468 57T449 88T412 115Q398 117 386 117Q367 117 353 102T338 67Q338 48 351 33T385 18'], - - // LATIN CAPITAL LETTER R - 0x52: [683,22,736,27,732,'130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499'], - - // LATIN CAPITAL LETTER S - 0x53: [705,22,556,55,500,'55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507'], - - // LATIN CAPITAL LETTER T - 0x54: [677,0,722,36,685,'36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443'], - - // LATIN CAPITAL LETTER U - 0x55: [683,22,750,25,724,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q57 680 180 680Q315 680 324 683H335V637H302Q262 636 251 634T233 622L232 418V291Q232 189 240 145T280 67Q325 24 389 24Q454 24 506 64T571 183Q575 206 575 410V598Q569 608 565 613T541 627T489 637H472V683H481Q496 680 598 680T715 683H724V637H707Q634 633 622 598L621 399Q620 194 617 180Q617 179 615 171Q595 83 531 31T389 -22Q304 -22 226 33T130 192Q129 201 128 412V622'], - - // LATIN CAPITAL LETTER V - 0x56: [683,22,750,19,730,'114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620'], - - // LATIN CAPITAL LETTER W - 0x57: [683,22,1028,18,1009,'792 683Q810 680 914 680Q991 680 1003 683H1009V637H996Q931 633 915 598Q912 591 863 438T766 135T716 -17Q711 -22 694 -22Q676 -22 673 -15Q671 -13 593 231L514 477L435 234Q416 174 391 92T358 -6T341 -22H331Q314 -21 310 -15Q309 -14 208 302T104 622Q98 632 87 633Q73 637 35 637H18V683H27Q69 681 154 681Q164 681 181 681T216 681T249 682T276 683H287H298V637H285Q213 637 213 620Q213 616 289 381L364 144L427 339Q490 535 492 546Q487 560 482 578T475 602T468 618T461 628T449 633T433 636T408 637H380V683H388Q397 680 508 680Q629 680 650 683H660V637H647Q576 637 576 619L727 146Q869 580 869 600Q869 605 863 612T839 627T794 637H783V683H792'], - - // LATIN CAPITAL LETTER X - 0x58: [683,0,750,23,726,'270 0Q252 3 141 3Q46 3 31 0H23V46H40Q129 50 161 88Q165 94 244 216T324 339Q324 341 235 480T143 622Q133 631 119 634T57 637H37V683H46Q64 680 172 680Q297 680 318 683H329V637H324Q307 637 286 632T263 621Q263 618 322 525T384 431Q385 431 437 511T489 593Q490 595 490 599Q490 611 477 622T436 637H428V683H437Q455 680 566 680Q661 680 676 683H684V637H667Q585 634 551 599Q548 596 478 491Q412 388 412 387Q412 385 514 225T620 62Q628 53 642 50T695 46H726V0H717Q699 3 591 3Q466 3 445 0H434V46H440Q454 46 476 51T499 64Q499 67 463 124T390 238L353 295L350 292Q348 290 343 283T331 265T312 236T286 195Q219 88 218 84Q218 70 234 59T272 46H280V0H270'], - - // LATIN CAPITAL LETTER Y - 0x59: [683,0,750,11,738,'518 0Q497 3 374 3Q253 3 232 0H221V46H254Q313 47 321 58Q324 62 324 167V273L221 446Q117 620 114 623Q106 631 91 634T31 637H11V683H20Q29 680 148 680Q273 680 294 683H305V637H287Q239 636 236 621Q236 619 321 475L407 332L483 460Q502 492 527 534Q563 594 563 604Q563 632 517 637H508V683H517H525Q533 683 545 683T571 682T600 681T626 681Q695 681 731 683H738V637H723Q640 633 613 588Q612 587 517 427L425 273V169V95Q425 66 428 59T444 49Q459 46 506 46H528V0H518'], - - // LATIN CAPITAL LETTER Z - 0x5A: [683,0,611,55,560,'69 443Q69 452 74 554T80 683H549Q555 677 555 664Q555 649 554 648Q552 645 366 348T179 50T192 49T263 49H275H302Q333 49 353 50T401 59T447 78T482 115T507 173Q513 200 520 273V282H560V274Q560 272 552 143T543 8V0H302L61 1L58 3Q55 8 55 21V35Q59 43 153 193T340 489T432 637H343Q259 637 214 625T141 573Q109 523 109 445Q109 443 89 443H69'], - - // LOW LINE - 0x5F: [-25,62,500,0,499,'0 -62V-25H499V-62H0'], - - // GRAVE ACCENT - 0x60: [699,-505,500,106,296,'106 655Q106 671 119 685T150 699Q166 699 177 688Q190 671 222 629T275 561T295 533T282 519L267 505L196 563Q119 626 113 634Q106 643 106 655'], - - // TILDE - 0x7E: [318,-215,500,83,416,'179 251Q164 251 151 245T131 234T111 215L97 227L83 238Q83 239 95 253T121 283T142 304Q165 318 187 318T253 300T320 282Q335 282 348 288T368 299T388 318L402 306L416 295Q375 236 344 222Q330 215 313 215Q292 215 248 233T179 251'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js deleted file mode 100644 index a3aa2df2..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js +++ /dev/null @@ -1,62 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/CombDiacritMarks.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], - { - // COMBINING GRAVE ACCENT - 0x300: [699,-505,0,-394,-204,'-394 655Q-394 671 -381 685T-350 699Q-334 699 -323 688Q-310 671 -278 629T-225 561T-205 533T-218 519L-233 505L-304 563Q-381 626 -387 634Q-394 643 -394 655'], - - // COMBINING ACUTE ACCENT - 0x301: [699,-505,0,-297,-107,'-151 699Q-133 699 -120 686T-107 656Q-107 651 -108 647T-113 637T-120 627T-133 616T-149 602T-170 585T-197 563L-268 505L-283 519Q-297 533 -296 533Q-296 534 -271 567T-218 636T-187 678L-184 681Q-182 684 -179 686T-172 692T-163 697T-151 699'], - - // COMBINING CIRCUMFLEX ACCENT - 0x302: [694,-531,0,-388,-113,'-388 560L-251 694L-243 686Q-113 562 -113 560L-139 531Q-141 532 -197 581L-250 627L-305 580Q-318 569 -331 557T-352 538L-360 532Q-362 530 -375 546L-388 560'], - - // COMBINING TILDE - 0x303: [668,-565,0,-417,-84,'-321 601Q-336 601 -349 595T-369 584T-389 565L-403 577L-417 588Q-417 589 -405 603T-379 633T-358 654Q-335 668 -313 668T-247 650T-180 632Q-165 632 -152 638T-132 649T-112 668L-98 656L-84 645Q-125 586 -156 572Q-170 565 -187 565Q-208 565 -252 583T-321 601'], - - // COMBINING MACRON - 0x304: [590,-544,0,-431,-70,'-431 544V590H-70V544H-431'], - - // COMBINING BREVE - 0x306: [694,-515,0,-408,-93,'-250 515Q-321 515 -362 565T-408 683V694H-371V689Q-371 688 -371 683T-370 675Q-363 631 -331 599T-252 567Q-196 567 -163 608T-130 689V694H-93V683Q-97 617 -139 566T-250 515'], - - // COMBINING DOT ABOVE - 0x307: [669,-549,0,-310,-191,'-310 609Q-310 637 -292 653T-248 669Q-225 667 -208 652T-191 609Q-191 579 -208 564T-250 549Q-275 549 -292 564T-310 609'], - - // COMBINING DIAERESIS - 0x308: [669,-554,0,-405,-95,'-405 612Q-405 633 -388 651T-347 669T-307 652T-290 612Q-290 588 -306 571T-348 554L-373 560Q-405 577 -405 612ZM-211 611Q-211 634 -196 649T-165 668Q-164 668 -160 668T-154 669Q-131 669 -114 652T-96 612T-113 572T-154 554Q-177 554 -194 570T-211 611'], - - // COMBINING RING ABOVE - 0x30A: [715,-542,0,-353,-148,'-353 628Q-353 669 -321 692T-256 715Q-202 715 -175 689T-148 629Q-148 592 -177 567T-251 542Q-298 542 -325 567T-353 628ZM-187 628Q-187 660 -200 669T-241 678H-247Q-252 678 -258 678T-266 679Q-283 679 -293 674T-308 659T-312 644T-313 629Q-313 600 -302 590Q-290 579 -250 579H-235Q-221 579 -212 581T-195 595T-187 628'], - - // COMBINING DOUBLE ACUTE ACCENT - 0x30B: [701,-510,0,-378,-80,'-292 701Q-278 701 -262 690T-246 658Q-246 649 -250 641Q-252 637 -297 574T-344 510L-378 528Q-378 530 -355 598T-327 676Q-316 701 -292 701ZM-126 701Q-112 701 -96 690T-80 658Q-80 649 -84 641Q-86 637 -131 574T-178 510L-212 528Q-212 530 -189 598T-161 676Q-150 701 -126 701'], - - // COMBINING CARON - 0x30C: [644,-513,0,-386,-115,'-386 611L-373 630L-364 644Q-362 644 -307 612Q-252 581 -250 581L-194 612Q-139 644 -137 644L-115 611L-182 562L-251 513L-386 611'], - - // COMBINING LONG SOLIDUS OVERLAY - 0x338: [716,215,0,-639,-140,'-612 -215T-619 -215T-631 -212T-637 -204T-639 -197Q-639 -190 -634 -183Q-621 -157 -400 274T-176 707Q-173 716 -160 716Q-153 716 -148 712T-142 703T-140 696Q-140 691 -372 241T-608 -212Q-612 -215 -619 -215'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js deleted file mode 100644 index 3eccba2b..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js +++ /dev/null @@ -1,41 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/GeometricShapes.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], - { - // WHITE UP-POINTING TRIANGLE - 0x25B3: [716,0,889,59,828,'75 0L72 2Q69 3 67 5T62 11T59 20Q59 24 62 30Q65 37 245 370T428 707Q428 708 430 710T436 714T444 716Q451 716 455 712Q459 710 644 368L828 27V20Q828 7 814 0H75ZM610 347L444 653Q443 653 278 347T113 40H775Q775 42 610 347'], - - // WHITE RIGHT-POINTING SMALL TRIANGLE - 0x25B9: [505,5,500,26,473,'26 489Q33 505 43 505Q51 505 260 385Q464 266 471 259Q473 257 473 250Q473 242 469 239Q459 231 260 115Q51 -5 43 -5Q39 -5 35 -1T28 7L26 11V489ZM412 250L67 450Q66 450 66 250T67 50Q69 51 240 150T412 250'], - - // WHITE DOWN-POINTING TRIANGLE - 0x25BD: [500,215,889,59,828,'59 480Q59 485 61 489T66 495T72 498L75 500H814Q828 493 828 480V474L644 132Q458 -210 455 -212Q451 -215 444 -215T433 -212Q429 -210 342 -49T164 282T64 466Q59 478 59 480ZM775 460H113Q113 459 278 153T444 -153T610 153T775 460'], - - // WHITE LEFT-POINTING SMALL TRIANGLE - 0x25C3: [505,5,500,26,473,'473 10Q466 -5 454 -5Q451 -5 445 -3Q444 -3 343 56T140 173T35 234Q26 239 26 250T35 266Q40 269 240 384T445 503Q451 505 453 505Q466 505 473 490V10ZM433 50T433 250T432 450T259 351T87 250T258 150T432 50Q433 50 433 250'], - - // LARGE CIRCLE - 0x25EF: [715,215,1000,56,944,'56 250Q56 353 95 442T196 589T335 681T491 715Q573 715 635 693Q694 673 747 635T846 543T917 412T944 250Q944 58 815 -78T500 -215Q457 -215 429 -210Q274 -183 165 -56T56 250ZM500 -176Q664 -176 784 -54T904 250Q904 418 799 536T543 674Q534 675 493 675Q425 675 357 647T229 567T133 432T96 250Q96 160 129 80T217 -56T346 -144T500 -176'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/GeometricShapes.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js deleted file mode 100644 index 60597195..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/GreekAndCoptic.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], - { - // GREEK CAPITAL LETTER GAMMA - 0x393: [680,0,625,25,582,'128 619Q121 626 117 628T101 631T58 634H25V680H554V676Q556 670 568 560T582 444V440H542V444Q542 445 538 478T523 545T492 598Q454 634 349 634H334Q264 634 249 633T233 621Q232 618 232 339L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619'], - - // GREEK CAPITAL LETTER DELTA - 0x394: [716,0,833,46,786,'51 0Q46 4 46 7Q46 9 215 357T388 709Q391 716 416 716Q439 716 444 709Q447 705 616 357T786 7Q786 4 781 0H51ZM507 344L384 596L137 92L383 91H630Q630 93 507 344'], - - // GREEK CAPITAL LETTER THETA - 0x398: [705,23,778,56,722,'56 340Q56 423 86 494T164 610T270 680T388 705Q521 705 621 601T722 341Q722 260 693 191T617 75T510 4T388 -22T267 3T160 74T85 189T56 340ZM610 339Q610 428 590 495T535 598T463 651T384 668Q332 668 289 638T221 566Q168 485 168 339Q168 274 176 235Q189 158 228 105T324 28Q356 16 388 16Q415 16 442 24T501 54T555 111T594 205T610 339ZM223 263V422H263V388H514V422H554V263H514V297H263V263H223'], - - // GREEK CAPITAL LETTER LAMDA - 0x39B: [716,0,694,32,661,'320 708Q326 716 340 716H348H355Q367 716 372 708Q374 706 423 547T523 226T575 62Q581 52 591 50T634 46H661V0H653Q644 3 532 3Q411 3 390 0H379V46H392Q464 46 464 65Q463 70 390 305T316 539L246 316Q177 95 177 84Q177 72 198 59T248 46H253V0H245Q230 3 130 3Q47 3 38 0H32V46H45Q112 51 127 91Q128 92 224 399T320 708'], - - // GREEK CAPITAL LETTER XI - 0x39E: [677,0,667,42,624,'47 509L55 676Q55 677 333 677T611 676L619 509Q619 508 599 508T579 510Q579 529 575 557T564 589Q550 594 333 594T102 589Q95 586 91 558T87 510Q87 508 67 508T47 509ZM139 260V445H179V394H487V445H527V260H487V311H179V260H139ZM50 0L42 180H62Q82 180 82 178Q82 133 89 105Q92 93 95 90T108 86Q137 83 333 83Q530 83 558 86Q568 87 571 90T577 105Q584 133 584 178Q584 180 604 180H624L616 0H50'], - - // GREEK CAPITAL LETTER PI - 0x3A0: [680,0,750,25,724,'128 619Q121 626 117 628T101 631T58 634H25V680H724V634H691Q651 633 640 631T622 619V61Q628 51 639 49T691 46H724V0H713Q692 3 569 3Q434 3 425 0H414V46H447Q489 47 498 49T517 61V634H232V348L233 61Q239 51 250 49T302 46H335V0H324Q303 3 180 3Q45 3 36 0H25V46H58Q100 47 109 49T128 61V619'], - - // GREEK CAPITAL LETTER SIGMA - 0x3A3: [683,0,722,55,666,'666 247Q664 244 652 126T638 4V0H351Q131 0 95 0T57 5V6Q54 12 57 17L73 36Q89 54 121 90T182 159L305 299L56 644L55 658Q55 677 60 681Q63 683 351 683H638V679Q640 674 652 564T666 447V443H626V447Q618 505 604 543T559 605Q529 626 478 631T333 637H294H189L293 494Q314 465 345 422Q400 346 400 340Q400 338 399 337L154 57Q407 57 428 58Q476 60 508 68T551 83T575 103Q595 125 608 162T624 225L626 251H666V247'], - - // GREEK CAPITAL LETTER UPSILON - 0x3A5: [705,0,778,55,722,'55 551Q55 604 91 654T194 705Q240 705 277 681T334 624T367 556T385 498L389 474L392 488Q394 501 400 521T414 566T438 615T473 659T521 692T584 705Q620 705 648 689T691 647T714 597T722 551Q722 540 719 538T699 536Q680 536 677 541Q677 542 677 544T676 548Q676 576 650 596T588 616H582Q538 616 505 582Q466 543 454 477T441 318Q441 301 441 269T442 222V61Q448 55 452 53T478 48T542 46H569V0H557Q533 3 389 3T221 0H209V46H236Q256 46 270 46T295 47T311 48T322 51T328 54T332 57T337 61V209Q337 383 333 415Q313 616 189 616Q154 616 128 597T101 548Q101 540 97 538T78 536Q63 536 59 538T55 551'], - - // GREEK CAPITAL LETTER PHI - 0x3A6: [683,0,722,55,665,'312 622Q310 623 307 625T303 629T297 631T286 634T270 635T246 636T211 637H184V683H196Q220 680 361 680T526 683H538V637H511Q468 637 447 635T422 631T411 622V533L425 531Q525 519 595 466T665 342Q665 301 642 267T583 209T506 172T425 152L411 150V61Q417 55 421 53T447 48T511 46H538V0H526Q502 3 361 3T196 0H184V46H211Q231 46 245 46T270 47T286 48T297 51T303 54T307 57T312 61V150H310Q309 151 289 153T232 166T160 195Q149 201 136 210T103 238T69 284T56 342Q56 414 128 467T294 530Q309 532 310 533H312V622ZM170 342Q170 207 307 188H312V495H309Q301 495 282 491T231 469T186 423Q170 389 170 342ZM415 188Q487 199 519 236T551 342Q551 384 539 414T507 459T470 481T434 491T415 495H410V188H415'], - - // GREEK CAPITAL LETTER PSI - 0x3A8: [683,0,778,55,722,'340 622Q338 623 335 625T331 629T325 631T314 634T298 635T274 636T239 637H212V683H224Q248 680 389 680T554 683H566V637H539Q479 637 464 635T439 622L438 407Q438 192 439 192Q443 193 449 195T474 207T507 232T536 276T557 344Q560 365 562 417T573 493Q587 536 620 544Q627 546 671 546H715L722 540V515Q714 509 708 509Q680 505 671 476T658 392T644 307Q599 177 451 153L438 151V106L439 61Q446 54 451 52T476 48T539 46H566V0H554Q530 3 389 3T224 0H212V46H239Q259 46 273 46T298 47T314 48T325 51T331 54T335 57T340 61V151Q126 178 117 406Q115 503 69 509Q55 509 55 526Q55 541 59 543T86 546H107H120Q150 546 161 543T184 528Q198 514 204 493Q212 472 213 420T226 316T272 230Q287 216 303 207T330 194L339 192Q340 192 340 407V622'], - - // GREEK CAPITAL LETTER OMEGA - 0x3A9: [705,0,722,44,677,'55 454Q55 503 75 546T127 617T197 665T272 695T337 704H352Q396 704 404 703Q527 687 596 615T666 454Q666 392 635 330T559 200T499 83V80H543Q589 81 600 83T617 93Q622 102 629 135T636 172L637 177H677V175L660 89Q645 3 644 2V0H552H488Q461 0 456 3T451 20Q451 89 499 235T548 455Q548 512 530 555T483 622T424 656T361 668Q332 668 303 658T243 626T193 560T174 456Q174 380 222 233T270 20Q270 7 263 0H77V2Q76 3 61 89L44 175V177H84L85 172Q85 171 88 155T96 119T104 93Q109 86 120 84T178 80H222V83Q206 132 162 199T87 329T55 454'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js deleted file mode 100644 index 813897cf..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/LatinExtendedA.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], - { - // LATIN SMALL LETTER DOTLESS I - 0x131: [443,0,278,26,255,'247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js deleted file mode 100644 index 7347482c..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/LatinExtendedB.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], - { - // LATIN SMALL LETTER DOTLESS J - 0x237: [443,205,306,-55,218,'28 -163Q58 -168 64 -168Q124 -168 135 -77Q137 -65 137 141T136 353Q132 371 120 377T72 385H52V408Q52 431 54 431L58 432Q62 432 70 432T87 433T108 434T133 436Q151 437 171 438T202 441T214 442H218V184Q217 -36 217 -59T211 -98Q195 -145 153 -175T58 -205Q9 -205 -23 -179T-55 -117Q-55 -94 -40 -79T-2 -64T36 -79T52 -118Q52 -143 28 -163'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/LatinExtendedB.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js deleted file mode 100644 index 4314983d..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js +++ /dev/null @@ -1,44 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/LetterlikeSymbols.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], - { - // stix-/hbar - Planck's over 2pi - 0x210F: [695,13,540,42,562,'182 599Q182 611 174 615T133 619Q118 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 295 644T282 597Q282 592 360 592H399Q430 592 445 587T460 563Q460 552 451 541L442 535H266L251 468Q247 453 243 436T236 409T233 399Q233 395 244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26L166 530Q166 534 161 534T129 535Q127 535 122 535T112 534Q74 534 74 562Q74 570 77 576T84 585T96 589T109 591T124 592T138 592L182 595V599'], - - // BLACK-LETTER CAPITAL I - 0x2111: [705,10,722,55,693,'55 507Q55 589 116 647T260 705Q395 705 526 541Q542 522 549 517T567 512Q595 512 621 521T647 550Q647 553 647 555T650 558T653 560T657 561T661 561T665 561T670 561Q681 561 685 561T691 558T693 548Q693 515 657 495T565 475Q518 475 481 495T418 543T371 599T320 647T259 667Q194 667 148 622T102 508Q102 468 119 436T164 385T220 357T273 347Q282 347 284 344T287 329Q287 317 285 314T272 310Q193 310 124 364T55 507ZM420 312Q420 367 464 399T564 431Q613 431 651 406T693 336Q693 325 689 323T667 320Q654 320 651 322T647 335Q645 360 622 376T566 393H563Q557 393 551 391T537 381T523 356T517 312Q517 287 535 265T574 229T613 190T631 132Q628 74 586 37T487 -9Q478 -10 417 -10H387Q344 -10 310 4T215 69Q130 142 71 146Q59 146 57 149T55 163Q55 177 58 180T75 183H108Q177 183 207 170T306 93Q346 56 368 40T420 13Q474 25 503 60T533 136Q533 160 516 182T477 219T438 257T420 304V312'], - - // SCRIPT SMALL L - 0x2113: [706,20,417,7,397,'345 104T349 104T361 95T369 80T352 59Q268 -20 206 -20Q170 -20 146 3T113 53T99 104L94 129Q94 130 79 116T48 86T28 70Q22 70 15 79T7 94Q7 98 12 103T58 147L91 179V185Q91 186 91 191T92 200Q92 282 128 400T223 612T336 705Q397 705 397 636V627Q397 453 194 233Q185 223 180 218T174 211T171 208T165 201L163 186Q159 142 159 123Q159 17 208 17Q228 17 253 30T293 56T335 94Q345 104 349 104ZM360 634Q360 655 354 661T336 668Q328 668 322 666T302 645T272 592Q252 547 229 467T192 330L179 273Q179 272 186 280T204 300T221 322Q327 453 355 590Q360 612 360 634'], - - // SCRIPT CAPITAL P - 0x2118: [453,216,636,67,625,'300 74Q300 133 338 133Q350 133 356 126T363 109Q363 88 340 76Q340 71 342 62T358 39T393 26Q435 26 474 67T532 182T551 290Q551 325 535 349T484 373Q430 373 378 348T291 289T228 218T187 157T174 130Q254 30 265 10Q276 -15 276 -41Q276 -101 235 -158T142 -216Q112 -216 90 -195T67 -118Q67 -40 104 64L110 81Q81 118 81 174Q81 268 134 360T247 453Q252 453 255 451T258 447L259 445Q259 432 253 420Q251 416 242 416Q209 411 176 341T142 203Q142 193 143 184T146 170T149 165L158 180Q215 280 303 345T485 410Q548 410 586 368T625 255Q625 157 553 74T389 -10H383Q349 -10 325 14Q302 37 300 74ZM105 -123Q105 -134 106 -141T110 -158T122 -173T145 -178Q155 -178 160 -176Q184 -163 199 -132T214 -73Q214 -69 214 -66T213 -59T212 -53T209 -47T205 -41T199 -33T193 -25T184 -14T174 -1L165 10Q156 22 148 32L139 43Q138 43 130 15T113 -54T105 -123'], - - // BLACK-LETTER CAPITAL R - 0x211C: [716,22,722,40,715,'300 614L306 620Q311 626 316 631T332 646T356 663T386 679T425 695T473 707T531 715Q534 715 543 715T557 716Q570 716 572 714Q574 713 644 580T715 444Q715 441 713 439Q712 438 677 419T602 379T549 354L550 348Q550 337 555 238T561 128Q561 122 560 115T559 101Q559 63 591 25L599 18L631 51Q665 85 671 85Q674 85 687 78T702 68Q704 63 702 59Q702 58 659 20T613 -21Q612 -22 598 -22Q556 -22 526 -8T484 27T466 66T461 101Q461 110 462 116T463 129Q463 135 458 232T452 331V338H343V280Q342 195 333 157Q316 64 267 12Q233 -22 193 -22Q155 -22 122 2T72 74Q72 76 70 76T67 74T60 74T48 82Q40 91 40 95Q40 100 42 102T57 109V113Q57 118 66 127T81 137Q88 137 93 123Q105 127 108 126Q111 124 118 117T127 107Q127 101 123 98T113 93T107 90Q107 86 115 71T143 37T189 15H192Q230 15 239 96Q244 135 244 334Q244 510 242 542Q236 584 233 596Q223 630 205 649T166 668Q136 668 118 642T100 584Q100 567 110 554T137 522T166 486Q194 446 194 401V389Q189 243 114 243Q91 243 77 260T59 294T55 322Q55 331 59 333T75 336T91 334T95 322Q95 280 113 280Q134 280 140 305T147 375V391Q147 417 139 435T101 487Q56 540 56 572V580Q56 630 86 667T169 704Q214 704 247 676T300 614ZM324 562Q326 555 330 539T336 515T340 484T343 427V384H424L505 385Q537 396 584 422L609 435Q610 435 594 465T550 550Q536 575 520 605T496 650L488 664L476 662Q348 633 324 562'], - - // ALEF SYMBOL - 0x2135: [694,0,611,55,555,'55 613Q55 643 61 663T74 688T85 694Q94 694 94 681Q98 632 134 588L412 285Q416 311 430 397T447 509V519L438 526Q407 554 398 571T388 617T394 664T407 688T418 694Q425 694 427 684Q429 675 454 635T488 586Q490 584 496 579T513 563T537 540Q555 516 555 487Q555 460 549 441T537 416T528 409Q519 409 517 415T513 435T503 463Q492 481 490 481Q454 264 454 246Q454 237 479 212T529 152T555 79Q555 32 538 9Q531 1 524 1Q516 1 516 13Q512 62 476 106Q468 115 337 258T195 412L193 406Q191 401 189 394T183 377T176 352T171 322T167 284T165 240Q165 224 166 220Q171 199 211 152T252 70Q252 45 235 29T203 8T175 1Q170 0 115 0H79Q60 0 58 3T55 20Q55 31 58 34Q60 37 76 37Q112 39 126 46T140 70Q140 96 112 148T83 236Q83 281 102 334T140 419T159 452Q55 556 55 613'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/Main.js deleted file mode 100644 index b3fc7a65..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/Main.js +++ /dev/null @@ -1,628 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'] = { - directory: 'Main/Regular', - family: 'MathJax_Main', - id: 'MJMAIN', - skew: { - 0x131: 0.0278, - 0x237: 0.0833, - 0x2113: 0.111, - 0x2118: 0.111, - 0x2202: 0.0833 - }, - Ranges: [ - [0x20,0x7F,"BasicLatin"], - [0x100,0x17F,"LatinExtendedA"], - [0x180,0x24F,"LatinExtendedB"], - [0x2B0,0x2FF,"SpacingModLetters"], - [0x300,0x36F,"CombDiacritMarks"], - [0x370,0x3FF,"GreekAndCoptic"], - [0x2100,0x214F,"LetterlikeSymbols"] - [0x25A0,0x25FF,"GeometricShapes"], - [0x2600,0x26FF,"MiscSymbols"], - [0x2A00,0x2AFF,"SuppMathOperators"] - ], - - // SPACE - 0x20: [0,0,250,0,0,''], - - // LEFT PARENTHESIS - 0x28: [750,250,389,94,333,'94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250'], - - // RIGHT PARENTHESIS - 0x29: [750,250,389,55,294,'60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749'], - - // PLUS SIGN - 0x2B: [583,82,778,56,722,'56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250'], - - // COMMA - 0x2C: [121,195,278,78,210,'78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17'], - - // FULL STOP - 0x2E: [120,0,278,78,199,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], - - // SOLIDUS - 0x2F: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], - - // DIGIT ZERO - 0x30: [666,22,500,39,460,'96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597'], - - // DIGIT ONE - 0x31: [666,0,500,83,427,'213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578'], - - // DIGIT TWO - 0x32: [666,0,500,50,449,'109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429'], - - // DIGIT THREE - 0x33: [665,22,500,42,457,'127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463'], - - // DIGIT FOUR - 0x34: [677,0,500,28,471,'462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293'], - - // DIGIT FIVE - 0x35: [666,22,500,50,449,'164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157'], - - // DIGIT SIX - 0x36: [666,22,500,41,456,'42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397'], - - // DIGIT SEVEN - 0x37: [676,22,500,55,485,'55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458'], - - // DIGIT EIGHT - 0x38: [666,22,500,43,457,'70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21'], - - // DIGIT NINE - 0x39: [666,22,500,42,456,'352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248'], - - // COLON - 0x3A: [430,0,278,78,199,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], - - // SEMICOLON - 0x3B: [430,194,278,78,202,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 85 94 103T137 121Q202 121 202 8Q202 -44 183 -94T144 -169T118 -194Q115 -194 106 -186T95 -174Q94 -171 107 -155T137 -107T160 -38Q161 -32 162 -22T165 -4T165 4Q165 5 161 4T142 0Q110 0 94 18T78 60'], - - // LESS-THAN SIGN - 0x3C: [540,40,778,83,695,'694 -11T694 -19T688 -33T678 -40Q671 -40 524 29T234 166L90 235Q83 240 83 250Q83 261 91 266Q664 540 678 540Q681 540 687 534T694 519T687 505Q686 504 417 376L151 250L417 124Q686 -4 687 -5Q694 -11 694 -19'], - - // EQUALS SIGN - 0x3D: [367,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], - - // GREATER-THAN SIGN - 0x3E: [540,40,778,82,694,'84 520Q84 528 88 533T96 539L99 540Q106 540 253 471T544 334L687 265Q694 260 694 250T687 235Q685 233 395 96L107 -40H101Q83 -38 83 -20Q83 -19 83 -17Q82 -10 98 -1Q117 9 248 71Q326 108 378 132L626 250L378 368Q90 504 86 509Q84 513 84 520'], - - // LEFT SQUARE BRACKET - 0x5B: [750,250,278,118,255,'118 -250V750H255V710H158V-210H255V-250H118'], - - // REVERSE SOLIDUS - 0x5C: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], - - // RIGHT SQUARE BRACKET - 0x5D: [750,250,278,22,159,'22 710V750H159V-250H22V-210H119V710H22'], - - // CIRCUMFLEX ACCENT - 0x5E: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], - - // LATIN SMALL LETTER A - 0x61: [448,11,500,34,493,'137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106'], - - // LATIN SMALL LETTER B - 0x62: [695,11,556,20,522,'307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98'], - - // LATIN SMALL LETTER C - 0x63: [448,12,444,34,415,'370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320'], - - // LATIN SMALL LETTER D - 0x64: [695,11,556,34,535,'376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342'], - - // LATIN SMALL LETTER E - 0x65: [448,11,444,28,415,'28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275'], - - // LATIN SMALL LETTER F - 0x66: [705,0,306,26,372,'273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273'], - - // LATIN SMALL LETTER G - 0x67: [453,206,500,29,485,'329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75'], - - // LATIN SMALL LETTER H - 0x68: [695,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], - - // LATIN SMALL LETTER I - 0x69: [669,0,278,26,255,'69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247'], - - // LATIN SMALL LETTER J - 0x6A: [669,205,306,-55,218,'98 609Q98 637 116 653T160 669Q183 667 200 652T217 609Q217 579 200 564T158 549Q133 549 116 564T98 609ZM28 -163Q58 -168 64 -168Q124 -168 135 -77Q137 -65 137 141T136 353Q132 371 120 377T72 385H52V408Q52 431 54 431L58 432Q62 432 70 432T87 433T108 434T133 436Q151 437 171 438T202 441T214 442H218V184Q217 -36 217 -59T211 -98Q195 -145 153 -175T58 -205Q9 -205 -23 -179T-55 -117Q-55 -94 -40 -79T-2 -64T36 -79T52 -118Q52 -143 28 -163'], - - // LATIN SMALL LETTER K - 0x6B: [695,0,528,20,511,'36 46H50Q89 46 97 60V68Q97 77 97 91T97 124T98 167T98 217T98 272T98 329Q98 366 98 407T98 482T98 542T97 586T97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V463L180 233L240 287Q300 341 304 347Q310 356 310 364Q310 383 289 385H284V431H293Q308 428 412 428Q475 428 484 431H489V385H476Q407 380 360 341Q286 278 286 274Q286 273 349 181T420 79Q434 60 451 53T500 46H511V0H505Q496 3 418 3Q322 3 307 0H299V46H306Q330 48 330 65Q330 72 326 79Q323 84 276 153T228 222L176 176V120V84Q176 65 178 59T189 49Q210 46 238 46H254V0H246Q231 3 137 3T28 0H20V46H36'], - - // LATIN SMALL LETTER L - 0x6C: [695,0,278,26,263,'42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42'], - - // LATIN SMALL LETTER M - 0x6D: [443,0,833,25,819,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], - - // LATIN SMALL LETTER N - 0x6E: [443,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], - - // LATIN SMALL LETTER O - 0x6F: [448,10,500,28,471,'28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30'], - - // LATIN SMALL LETTER P - 0x70: [443,194,556,20,522,'36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218'], - - // LATIN SMALL LETTER Q - 0x71: [442,194,528,33,535,'33 218Q33 308 95 374T236 441H246Q330 441 381 372L387 364Q388 364 404 403L420 442H457V156Q457 -132 458 -134Q462 -142 470 -145Q491 -148 519 -148H535V-194H527L504 -193Q480 -192 453 -192T415 -191Q312 -191 303 -194H295V-148H311Q339 -148 360 -145Q369 -141 371 -135T373 -106V-41V49Q313 -11 236 -11Q154 -11 94 53T33 218ZM376 300Q346 389 278 401Q275 401 269 401T261 402Q211 400 171 350T131 214Q131 137 165 82T253 27Q296 27 328 54T376 118V300'], - - // LATIN SMALL LETTER R - 0x72: [443,0,392,20,364,'36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36'], - - // LATIN SMALL LETTER S - 0x73: [448,11,394,33,359,'295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316'], - - // LATIN SMALL LETTER T - 0x74: [615,10,389,18,333,'27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27'], - - // LATIN SMALL LETTER U - 0x75: [443,11,556,25,542,'383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58'], - - // LATIN SMALL LETTER V - 0x76: [431,11,528,19,508,'338 431Q344 429 422 429Q479 429 503 431H508V385H497Q439 381 423 345Q421 341 356 172T288 -2Q283 -11 263 -11Q244 -11 239 -2Q99 359 98 364Q93 378 82 381T43 385H19V431H25L33 430Q41 430 53 430T79 430T104 429T122 428Q217 428 232 431H240V385H226Q187 384 184 370Q184 366 235 234L286 102L377 341V349Q377 363 367 372T349 383T335 385H331V431H338'], - - // LATIN SMALL LETTER W - 0x77: [431,11,722,18,703,'90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368'], - - // LATIN SMALL LETTER X - 0x78: [431,0,528,11,516,'201 0Q189 3 102 3Q26 3 17 0H11V46H25Q48 47 67 52T96 61T121 78T139 96T160 122T180 150L226 210L168 288Q159 301 149 315T133 336T122 351T113 363T107 370T100 376T94 379T88 381T80 383Q74 383 44 385H16V431H23Q59 429 126 429Q219 429 229 431H237V385Q201 381 201 369Q201 367 211 353T239 315T268 274L272 270L297 304Q329 345 329 358Q329 364 327 369T322 376T317 380T310 384L307 385H302V431H309Q324 428 408 428Q487 428 493 431H499V385H492Q443 385 411 368Q394 360 377 341T312 257L296 236L358 151Q424 61 429 57T446 50Q464 46 499 46H516V0H510H502Q494 1 482 1T457 2T432 2T414 3Q403 3 377 3T327 1L304 0H295V46H298Q309 46 320 51T331 63Q331 65 291 120L250 175Q249 174 219 133T185 88Q181 83 181 74Q181 63 188 55T206 46Q208 46 208 23V0H201'], - - // LATIN SMALL LETTER Y - 0x79: [431,204,528,19,508,'69 -66Q91 -66 104 -80T118 -116Q118 -134 109 -145T91 -160Q84 -163 97 -166Q104 -168 111 -168Q131 -168 148 -159T175 -138T197 -106T213 -75T225 -43L242 0L170 183Q150 233 125 297Q101 358 96 368T80 381Q79 382 78 382Q66 385 34 385H19V431H26L46 430Q65 430 88 429T122 428Q129 428 142 428T171 429T200 430T224 430L233 431H241V385H232Q183 385 185 366L286 112Q286 113 332 227L376 341V350Q376 365 366 373T348 383T334 385H331V431H337H344Q351 431 361 431T382 430T405 429T422 429Q477 429 503 431H508V385H497Q441 380 422 345Q420 343 378 235T289 9T227 -131Q180 -204 113 -204Q69 -204 44 -177T19 -116Q19 -89 35 -78T69 -66'], - - // LATIN SMALL LETTER Z - 0x7A: [431,0,444,28,401,'42 263Q44 270 48 345T53 423V431H393Q399 425 399 415Q399 403 398 402L381 378Q364 355 331 309T265 220L134 41L182 40H206Q254 40 283 46T331 77Q352 105 359 185L361 201Q361 202 381 202H401V196Q401 195 393 103T384 6V0H209L34 1L31 3Q28 8 28 17Q28 30 29 31T160 210T294 394H236Q169 393 152 388Q127 382 113 367Q89 344 82 264V255H42V263'], - - // LEFT CURLY BRACKET - 0x7B: [750,250,500,65,434,'434 -231Q434 -244 428 -250H410Q281 -250 230 -184Q225 -177 222 -172T217 -161T213 -148T211 -133T210 -111T209 -84T209 -47T209 0Q209 21 209 53Q208 142 204 153Q203 154 203 155Q189 191 153 211T82 231Q71 231 68 234T65 250T68 266T82 269Q116 269 152 289T203 345Q208 356 208 377T209 529V579Q209 634 215 656T244 698Q270 724 324 740Q361 748 377 749Q379 749 390 749T408 750H428Q434 744 434 732Q434 719 431 716Q429 713 415 713Q362 710 332 689T296 647Q291 634 291 499V417Q291 370 288 353T271 314Q240 271 184 255L170 250L184 245Q202 239 220 230T262 196T290 137Q291 131 291 1Q291 -134 296 -147Q306 -174 339 -192T415 -213Q429 -213 431 -216Q434 -219 434 -231'], - - // VERTICAL LINE - 0x7C: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], - - // RIGHT CURLY BRACKET - 0x7D: [750,250,500,65,434,'65 731Q65 745 68 747T88 750Q171 750 216 725T279 670Q288 649 289 635T291 501Q292 362 293 357Q306 312 345 291T417 269Q428 269 431 266T434 250T431 234T417 231Q380 231 345 210T298 157Q293 143 292 121T291 -28V-79Q291 -134 285 -156T256 -198Q202 -250 89 -250Q71 -250 68 -247T65 -230Q65 -224 65 -223T66 -218T69 -214T77 -213Q91 -213 108 -210T146 -200T183 -177T207 -139Q208 -134 209 3L210 139Q223 196 280 230Q315 247 330 250Q305 257 280 270Q225 304 212 352L210 362L209 498Q208 635 207 640Q195 680 154 696T77 713Q68 713 67 716T65 731'], - - // DIAERESIS - 0xA8: [669,-554,500,95,405,'95 612Q95 633 112 651T153 669T193 652T210 612Q210 588 194 571T152 554L127 560Q95 577 95 612ZM289 611Q289 634 304 649T335 668Q336 668 340 668T346 669Q369 669 386 652T404 612T387 572T346 554Q323 554 306 570T289 611'], - - // NOT SIGN - 0xAC: [356,-89,667,56,611,'56 323T56 336T70 356H596Q603 353 611 343V102Q598 89 591 89Q587 89 584 90T579 94T575 98T572 102L571 209V316H70Q56 323 56 336'], - - // MACRON - 0xAF: [590,-544,500,69,430,'69 544V590H430V544H69'], - - // DEGREE SIGN - 0xB0: [715,-542,500,147,352,'147 628Q147 669 179 692T244 715Q298 715 325 689T352 629Q352 592 323 567T249 542Q202 542 175 567T147 628ZM313 628Q313 660 300 669T259 678H253Q248 678 242 678T234 679Q217 679 207 674T192 659T188 644T187 629Q187 600 198 590Q210 579 250 579H265Q279 579 288 581T305 595T313 628'], - - // PLUS-MINUS SIGN - 0xB1: [666,0,778,56,722,'56 320T56 333T70 353H369V502Q369 651 371 655Q376 666 388 666Q402 666 405 654T409 596V500V353H707Q722 345 722 333Q722 320 707 313H409V40H707Q722 32 722 20T707 0H70Q56 7 56 20T70 40H369V313H70Q56 320 56 333'], - - // ACUTE ACCENT - 0xB4: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], - - // MULTIPLICATION SIGN - 0xD7: [491,-9,778,147,630,'630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29'], - - // DIVISION SIGN - 0xF7: [537,36,778,56,721,'318 466Q318 500 339 518T386 537Q418 537 438 517T458 466Q458 438 440 417T388 396Q355 396 337 417T318 466ZM56 237T56 250T70 270H706Q721 262 721 250T706 230H70Q56 237 56 250ZM318 34Q318 68 339 86T386 105Q418 105 438 85T458 34Q458 6 440 -15T388 -36Q355 -36 337 -15T318 34'], - - // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2C6: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], - - // CARON - 0x2C7: [644,-513,500,114,385,'114 611L127 630L136 644Q138 644 193 612Q248 581 250 581L306 612Q361 644 363 644L385 611L318 562L249 513L114 611'], - - // MODIFIER LETTER MACRON - 0x2C9: [590,-544,500,69,430,'69 544V590H430V544H69'], - - // MODIFIER LETTER ACUTE ACCENT - 0x2CA: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], - - // MODIFIER LETTER GRAVE ACCENT - 0x2CB: [699,-505,500,106,296,'106 655Q106 671 119 685T150 699Q166 699 177 688Q190 671 222 629T275 561T295 533T282 519L267 505L196 563Q119 626 113 634Q106 643 106 655'], - - // BREVE - 0x2D8: [694,-515,500,92,407,'250 515Q179 515 138 565T92 683V694H129V689Q129 688 129 683T130 675Q137 631 169 599T248 567Q304 567 337 608T370 689V694H407V683Q403 617 361 566T250 515'], - - // DOT ABOVE - 0x2D9: [669,-549,500,190,309,'190 609Q190 637 208 653T252 669Q275 667 292 652T309 609Q309 579 292 564T250 549Q225 549 208 564T190 609'], - - // SMALL TILDE - 0x2DC: [668,-565,500,83,416,'179 601Q164 601 151 595T131 584T111 565L97 577L83 588Q83 589 95 603T121 633T142 654Q165 668 187 668T253 650T320 632Q335 632 348 638T368 649T388 668L402 656L416 645Q375 586 344 572Q330 565 313 565Q292 565 248 583T179 601'], - - // EN DASH - 0x2013: [285,-248,500,0,499,'0 248V285H499V248H0'], - - // EM DASH - 0x2014: [285,-248,1000,0,999,'0 248V285H999V248H0'], - - // LEFT SINGLE QUOTATION MARK - 0x2018: [694,-379,278,64,199,'64 494Q64 548 86 597T131 670T160 694Q163 694 172 685T182 672Q182 669 170 656T144 625T116 573T101 501Q101 489 102 489T107 491T120 497T138 500Q163 500 180 483T198 440T181 397T139 379Q110 379 87 405T64 494'], - - // RIGHT SINGLE QUOTATION MARK - 0x2019: [694,-379,278,78,212,'78 634Q78 659 95 676T138 694Q166 694 189 668T212 579Q212 525 190 476T146 403T118 379Q114 379 105 388T95 401Q95 404 107 417T133 448T161 500T176 572Q176 584 175 584T170 581T157 576T139 573Q114 573 96 590T78 634'], - - // LEFT DOUBLE QUOTATION MARK - 0x201C: [694,-379,500,128,466,'128 494Q128 528 137 560T158 616T185 658T209 685T223 694T236 685T245 670Q244 668 231 654T204 622T178 571T164 501Q164 489 165 489T170 491T183 497T201 500Q226 500 244 483T262 440T245 397T202 379Q173 379 151 405T128 494ZM332 494Q332 528 341 560T362 616T389 658T413 685T427 694T439 685T449 672Q449 669 437 656T411 625T383 573T368 501Q368 489 369 489T374 491T387 497T405 500Q430 500 448 483T466 440T449 397T406 379Q377 379 355 405T332 494'], - - // RIGHT DOUBLE QUOTATION MARK - 0x201D: [694,-379,500,34,372,'34 634Q34 659 50 676T93 694Q121 694 144 668T168 579Q168 525 146 476T101 403T73 379Q69 379 60 388T50 401Q50 404 62 417T88 448T116 500T131 572Q131 584 130 584T125 581T112 576T94 573Q69 573 52 590T34 634ZM238 634Q238 659 254 676T297 694Q325 694 348 668T372 579Q372 525 350 476T305 403T277 379Q273 379 264 388T254 401Q254 404 266 417T292 448T320 500T335 572Q335 584 334 584T329 581T316 576T298 573Q273 573 256 590T238 634'], - - // DAGGER - 0x2020: [705,216,444,54,389,'182 675Q195 705 222 705Q234 705 243 700T253 691T263 675L262 655Q262 620 252 549T240 454V449Q250 451 288 461T346 472T377 461T389 431Q389 417 379 404T346 390Q327 390 288 401T243 412H240V405Q245 367 250 339T258 301T261 274T263 225Q263 124 255 -41T239 -213Q236 -216 222 -216H217Q206 -216 204 -212T200 -186Q199 -175 199 -168Q181 38 181 225Q181 265 182 280T191 327T204 405V412H201Q196 412 157 401T98 390Q76 390 66 403T55 431T65 458T98 472Q116 472 155 462T205 449Q204 452 204 460T201 490T193 547Q182 619 182 655V675'], - - // DOUBLE DAGGER - 0x2021: [705,205,444,54,389,'181 658Q181 705 222 705T263 658Q263 633 252 572T240 497Q240 496 241 496Q243 496 285 507T345 519Q365 519 376 508T388 478Q388 466 384 458T375 447T361 438H344Q318 438 282 448T241 459Q240 458 240 456Q240 449 251 384T263 297Q263 278 255 267T238 253T222 250T206 252T190 266T181 297Q181 323 192 383T204 458Q204 459 203 459Q198 459 162 449T101 438H84Q74 443 70 446T61 457T56 478Q56 497 67 508T99 519Q117 519 159 508T203 496Q204 496 204 499Q204 507 193 572T181 658ZM181 202Q181 249 222 249T263 202Q263 185 259 161T249 103T240 48V41H243Q248 41 287 52T346 63T377 52T389 22Q389 8 379 -5T346 -19Q327 -19 288 -8T243 3H240V-4Q243 -24 249 -58T259 -117T263 -158Q263 -177 255 -188T238 -202T222 -205T206 -203T190 -189T181 -158Q181 -141 185 -117T195 -59T204 -4V3H201Q196 3 157 -8T98 -19Q76 -19 66 -6T55 22T65 49T98 63Q117 63 156 52T201 41H204V48Q201 68 195 102T185 161T181 202'], - - // HORIZONTAL ELLIPSIS - 0x2026: [120,0,1172,78,1093,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60ZM525 60Q525 84 542 102T585 120Q609 120 627 104T646 61Q646 36 629 18T586 0T543 17T525 60ZM972 60Q972 84 989 102T1032 120Q1056 120 1074 104T1093 61Q1093 36 1076 18T1033 0T990 17T972 60'], - - // PRIME - 0x2032: [560,-43,275,30,262,'79 43Q73 43 52 49T30 61Q30 68 85 293T146 528Q161 560 198 560Q218 560 240 545T262 501Q262 496 260 486Q259 479 173 263T84 45T79 43'], - - // COMBINING RIGHT ARROW ABOVE - 0x20D7: [714,-516,0,-471,-29,'-123 694Q-123 702 -118 708T-103 714Q-93 714 -88 706T-80 687T-67 660T-40 633Q-29 626 -29 615Q-29 606 -36 600T-53 590T-83 571T-121 531Q-135 516 -143 516T-157 522T-163 536T-152 559T-129 584T-116 595H-287L-458 596Q-459 597 -461 599T-466 602T-469 607T-471 615Q-471 622 -458 635H-99Q-123 673 -123 694'], - - // LEFTWARDS ARROW - 0x2190: [511,11,1000,55,944,'944 261T944 250T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H929Q944 261 944 250'], - - // UPWARDS ARROW - 0x2191: [694,193,500,17,483,'27 414Q17 414 17 433Q17 437 17 439T17 444T19 447T20 450T22 452T26 453T30 454T36 456Q80 467 120 494T180 549Q227 607 238 678Q240 694 251 694Q259 694 261 684Q261 677 265 659T284 608T320 549Q340 525 363 507T405 479T440 463T467 455T479 451Q483 447 483 433Q483 413 472 413Q467 413 458 416Q342 448 277 545L270 555V-179Q262 -193 252 -193H250H248Q236 -193 230 -179V555L223 545Q192 499 146 467T70 424T27 414'], - - // RIGHTWARDS ARROW - 0x2192: [511,11,1000,56,944,'56 237T56 250T70 270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H70Q56 237 56 250'], - - // DOWNWARDS ARROW - 0x2193: [694,194,500,17,483,'473 86Q483 86 483 67Q483 63 483 61T483 56T481 53T480 50T478 48T474 47T470 46T464 44Q428 35 391 14T316 -55T264 -168Q264 -170 263 -173T262 -180T261 -184Q259 -194 251 -194Q242 -194 238 -176T221 -121T180 -49Q169 -34 155 -21T125 2T95 20T67 33T44 42T27 47L21 49Q17 53 17 67Q17 87 28 87Q33 87 42 84Q158 52 223 -45L230 -55V312Q230 391 230 482T229 591Q229 662 231 676T243 693Q244 694 251 694Q264 692 270 679V-55L277 -45Q307 1 353 33T430 76T473 86'], - - // LEFT RIGHT ARROW - 0x2194: [511,11,1000,55,944,'263 479Q267 501 271 506T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H835Q729 349 696 475Q691 493 691 500Q691 511 711 511Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q144 292 194 349T263 479'], - - // UP DOWN ARROW - 0x2195: [772,272,500,17,483,'27 492Q17 492 17 511Q17 515 17 517T17 522T19 525T20 528T22 530T26 531T30 532T36 534Q80 545 120 572T180 627Q210 664 223 701T238 755T250 772T261 762Q261 757 264 741T282 691T319 628Q352 589 390 566T454 536L479 529Q483 525 483 511Q483 491 472 491Q467 491 458 494Q342 526 277 623L270 633V-133L277 -123Q307 -77 353 -45T430 -2T473 8Q483 8 483 -11Q483 -15 483 -17T483 -22T481 -25T480 -28T478 -30T474 -31T470 -32T464 -34Q407 -49 364 -84T300 -157T270 -223T261 -262Q259 -272 250 -272Q242 -272 239 -255T223 -201T180 -127Q169 -112 155 -99T125 -76T95 -58T67 -45T44 -36T27 -31L21 -29Q17 -25 17 -11Q17 9 28 9Q33 9 42 6Q158 -26 223 -123L230 -133V633L223 623Q192 577 146 545T70 502T27 492'], - - // NORTH WEST ARROW - 0x2196: [720,195,1000,29,944,'204 662Q257 662 301 676T369 705T394 720Q398 720 407 711T417 697Q417 688 389 671T310 639T212 623Q176 623 153 628Q151 628 221 557T546 232Q942 -164 943 -168Q944 -170 944 -174Q944 -182 938 -188T924 -195Q922 -195 916 -193Q912 -191 517 204Q440 281 326 394T166 553L121 598Q126 589 126 541Q126 438 70 349Q59 332 52 332Q48 332 39 341T29 355Q29 358 38 372T57 407T77 464T86 545Q86 583 78 614T63 663T55 683Q55 693 65 693Q73 693 82 688Q136 662 204 662'], - - // NORTH EAST ARROW - 0x2197: [720,195,1000,55,971,'582 697Q582 701 591 710T605 720Q607 720 630 706T697 677T795 662Q830 662 863 670T914 686T934 694Q942 694 944 685Q944 680 936 663T921 615T913 545Q913 490 927 446T956 379T970 355Q970 351 961 342T947 332Q940 332 929 349Q874 436 874 541Q874 590 878 598L832 553Q787 508 673 395T482 204Q87 -191 83 -193Q77 -195 75 -195Q67 -195 61 -189T55 -174Q55 -170 56 -168Q58 -164 453 232Q707 487 777 557T847 628Q824 623 787 623Q689 623 599 679Q582 690 582 697'], - - // SOUTH EAST ARROW - 0x2198: [695,220,1000,55,970,'55 675Q55 683 60 689T75 695Q77 695 83 693Q87 691 482 296Q532 246 605 174T717 62T799 -20T859 -80T878 -97Q874 -93 874 -41Q874 64 929 151Q940 168 947 168Q951 168 960 159T970 145Q970 143 956 121T928 54T913 -45Q913 -83 920 -114T936 -163T944 -185Q942 -194 934 -194Q932 -194 914 -186T864 -170T795 -162Q743 -162 698 -176T630 -205T605 -220Q601 -220 592 -211T582 -197Q582 -187 611 -170T691 -138T787 -123Q824 -123 847 -128Q848 -128 778 -57T453 268Q58 664 56 668Q55 670 55 675'], - - // SOUTH WEST ARROW - 0x2199: [695,220,1000,29,944,'126 -41Q126 -92 121 -97Q121 -98 139 -80T200 -20T281 61T394 173T517 296Q909 690 916 693Q922 695 924 695Q932 695 938 689T944 674Q944 670 943 668Q942 664 546 268Q292 13 222 -57T153 -128Q176 -123 212 -123Q310 -123 400 -179Q417 -190 417 -197Q417 -201 408 -210T394 -220Q392 -220 369 -206T302 -177T204 -162Q131 -162 67 -194Q63 -195 59 -192T55 -183Q55 -180 62 -163T78 -115T86 -45Q86 10 72 54T44 120T29 145Q29 149 38 158T52 168Q59 168 70 151Q126 62 126 -41'], - - // RIGHTWARDS ARROW FROM BAR - 0x21A6: [511,11,1000,54,944,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H95V155'], - - // LEFTWARDS ARROW WITH HOOK - 0x21A9: [511,11,1126,55,1070,'903 424T903 444T929 464Q976 464 1023 434T1070 347Q1070 316 1055 292T1016 256T971 237T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H926Q929 270 941 271T960 275T978 280T998 290T1015 307Q1030 325 1030 347Q1030 355 1027 364T1014 387T983 411T929 424H928Q903 424 903 444'], - - // RIGHTWARDS ARROW WITH HOOK - 0x21AA: [511,11,1126,55,1070,'55 347Q55 380 72 404T113 441T159 458T197 464Q222 464 222 444Q222 429 204 426T157 417T110 387Q95 369 95 347Q95 339 98 330T111 307T142 283T196 270H961Q845 357 818 493Q818 494 818 496T817 499Q817 511 834 511H837Q846 511 849 510T855 506T858 497T861 481T869 456Q891 389 942 336T1061 261Q1070 258 1070 250Q1070 244 1065 241T1041 231T1003 212Q962 186 932 152T887 85T866 35T858 4Q856 -6 853 -8T837 -11Q817 -11 817 0Q817 7 822 25Q854 151 961 230H196Q149 230 102 260T55 347'], - - // LEFTWARDS HARPOON WITH BARB UPWARDS - 0x21BC: [511,-230,1000,55,944,'62 230Q56 236 55 244Q55 252 57 255T69 265Q114 292 151 326T208 391T243 448T265 491T273 509Q276 511 288 511Q304 511 306 505Q309 501 303 484Q293 456 279 430T251 383T223 344T196 313T173 291T156 276L148 270H929Q944 261 944 250T929 230H62'], - - // LEFTWARDS HARPOON WITH BARB DOWNWARDS - 0x21BD: [270,11,1000,55,944,'55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], - - // RIGHTWARDS HARPOON WITH BARB UPWARDS - 0x21C0: [511,-230,1000,56,945,'691 500Q691 511 711 511Q720 511 723 510T730 504T735 490T746 464T768 425Q796 378 835 339T897 285T933 263Q941 258 942 256T944 245T937 230H70Q56 237 56 250T70 270H852Q802 308 762 364T707 455T691 500'], - - // RIGHTWARDS HARPOON WITH BARB DOWNWARDS - 0x21C1: [270,11,1000,56,944,'56 237T56 250T70 270H937Q944 263 944 256Q944 251 944 250T943 246T940 242T933 238Q794 153 734 7Q729 -7 726 -9T711 -11Q695 -11 693 -5Q690 -1 696 16Q721 84 763 139T852 230H70Q56 237 56 250'], - - // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON - 0x21CC: [671,11,1000,55,945,'691 660Q691 671 711 671Q720 671 723 670T730 664T735 650T746 624T768 585Q797 538 836 499T897 445T933 423Q941 418 942 416T944 405T937 390H70Q56 397 56 410T70 430H852Q802 468 762 524T707 615T691 660ZM55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], - - // LEFTWARDS DOUBLE ARROW - 0x21D0: [525,24,1000,56,945,'944 153Q944 140 929 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H929Q944 359 944 347Q944 336 930 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173H930Q931 172 933 171T936 169T938 167T941 164T942 162T943 158T944 153'], - - // UPWARDS DOUBLE ARROW - 0x21D1: [694,194,611,31,579,'228 -179Q227 -180 226 -182T223 -186T221 -189T218 -192T214 -193T208 -194Q196 -194 189 -181L188 125V430L176 419Q122 369 59 338Q46 330 40 330Q38 330 31 337V350Q31 362 33 365T46 374Q60 381 77 390T128 426T190 484T247 567T292 677Q295 688 298 692Q302 694 305 694Q313 694 318 677Q334 619 363 568T420 485T481 427T532 391T564 374Q575 368 577 365T579 350V337Q572 330 570 330Q564 330 551 338Q487 370 435 419L423 430L422 125V-181Q409 -194 401 -194Q397 -194 394 -193T388 -189T385 -184T382 -180V-177V475L373 487Q331 541 305 602Q304 601 300 591T290 571T278 548T260 519T238 488L229 476L228 148V-179'], - - // RIGHTWARDS DOUBLE ARROW - 0x21D2: [525,24,1000,56,944,'580 514Q580 525 596 525Q601 525 604 525T609 525T613 524T615 523T617 520T619 517T622 512Q659 438 720 381T831 300T927 263Q944 258 944 250T935 239T898 228T840 204Q696 134 622 -12Q618 -21 615 -22T600 -24Q580 -24 580 -17Q580 -13 585 0Q620 69 671 123L681 133H70Q56 140 56 153Q56 168 72 173H725L735 181Q774 211 852 250Q851 251 834 259T789 283T735 319L725 327H72Q56 332 56 347Q56 360 70 367H681L671 377Q638 412 609 458T580 514'], - - // DOWNWARDS DOUBLE ARROW - 0x21D3: [694,194,611,31,579,'401 694Q412 694 422 681V375L423 70L435 81Q487 130 551 162Q564 170 570 170Q572 170 579 163V150Q579 138 577 135T564 126Q541 114 518 99T453 48T374 -46T318 -177Q313 -194 305 -194T293 -178T272 -119T225 -31Q158 70 46 126Q35 132 33 135T31 150V163Q38 170 40 170Q46 170 59 162Q122 131 176 81L188 70V375L189 681Q199 694 208 694Q219 694 228 680V352L229 25L238 12Q279 -42 305 -102Q344 -23 373 13L382 25V678Q387 692 401 694'], - - // LEFT RIGHT DOUBLE ARROW - 0x21D4: [526,25,1000,33,966,'308 524Q318 526 323 526Q340 526 340 514Q340 507 336 499Q326 476 314 454T292 417T274 391T260 374L255 368Q255 367 500 367Q744 367 744 368L739 374Q734 379 726 390T707 416T685 453T663 499Q658 511 658 515Q658 525 680 525Q687 524 690 523T695 519T701 507Q766 359 902 287Q921 276 939 269T961 259T966 250Q966 246 965 244T960 240T949 236T930 228T902 213Q763 137 701 -7Q697 -16 695 -19T690 -23T680 -25Q658 -25 658 -15Q658 -11 663 1Q673 24 685 46T707 83T725 109T739 126L744 132Q744 133 500 133Q255 133 255 132L260 126Q265 121 273 110T292 84T314 47T336 1Q341 -11 341 -15Q341 -25 319 -25Q312 -24 309 -23T304 -19T298 -7Q233 141 97 213Q83 221 70 227T51 235T41 239T35 243T34 250T35 256T40 261T51 265T70 273T97 287Q235 363 299 509Q305 522 308 524ZM792 319L783 327H216Q183 294 120 256L110 250L120 244Q173 212 207 181L216 173H783L792 181Q826 212 879 244L889 250L879 256Q826 288 792 319'], - - // UP DOWN DOUBLE ARROW - 0x21D5: [772,272,611,31,579,'290 755Q298 772 305 772T318 757T343 706T393 633Q431 588 473 558T545 515T579 497V484Q579 464 570 464Q564 464 550 470Q485 497 423 550L422 400V100L423 -50Q485 3 550 30Q565 36 570 36Q579 36 579 16V3Q575 -1 549 -12T480 -53T393 -132Q361 -172 342 -208T318 -258T305 -272T293 -258T268 -208T217 -132Q170 -80 128 -51T61 -12T31 3V16Q31 36 40 36Q46 36 61 30Q86 19 109 6T146 -18T173 -38T188 -50V550Q186 549 173 539T147 519T110 495T61 470Q46 464 40 464Q31 464 31 484V497Q34 500 63 513T135 557T217 633Q267 692 290 755ZM374 598Q363 610 351 625T332 651T316 676T305 695L294 676Q282 657 267 636T236 598L228 589V-89L236 -98Q247 -110 259 -125T278 -151T294 -176T305 -195L316 -176Q328 -157 343 -136T374 -98L382 -89V589L374 598'], - - // FOR ALL - 0x2200: [694,22,556,0,556,'0 673Q0 684 7 689T20 694Q32 694 38 680T82 567L126 451H430L473 566Q483 593 494 622T512 668T519 685Q524 694 538 694Q556 692 556 674Q556 670 426 329T293 -15Q288 -22 278 -22T263 -15Q260 -11 131 328T0 673ZM414 410Q414 411 278 411T142 410L278 55L414 410'], - - // PARTIAL DIFFERENTIAL - 0x2202: [715,22,531,42,567,'202 508Q179 508 169 520T158 547Q158 557 164 577T185 624T230 675T301 710L333 715H345Q378 715 384 714Q447 703 489 661T549 568T566 457Q566 362 519 240T402 53Q321 -22 223 -22Q123 -22 73 56Q42 102 42 148V159Q42 276 129 370T322 465Q383 465 414 434T455 367L458 378Q478 461 478 515Q478 603 437 639T344 676Q266 676 223 612Q264 606 264 572Q264 547 246 528T202 508ZM430 306Q430 372 401 400T333 428Q270 428 222 382Q197 354 183 323T150 221Q132 149 132 116Q132 21 232 21Q244 21 250 22Q327 35 374 112Q389 137 409 196T430 306'], - - // THERE EXISTS - 0x2203: [694,0,556,56,500,'56 661T56 674T70 694H487Q497 686 500 679V15Q497 10 487 1L279 0H70Q56 7 56 20T70 40H460V327H84Q70 334 70 347T84 367H460V654H70Q56 661 56 674'], - - // EMPTY SET - 0x2205: [772,78,500,39,460,'331 696Q335 708 339 722T345 744T350 759T357 769T367 772Q374 772 381 767T388 754Q388 746 377 712L366 673L378 661Q460 575 460 344Q460 281 456 234T432 126T373 27Q319 -22 250 -22Q214 -22 180 -7Q168 -3 168 -4L159 -33Q148 -71 142 -75Q138 -78 132 -78Q124 -78 118 -72T111 -60Q111 -52 122 -18L133 21L125 29Q39 111 39 344Q39 596 137 675Q187 716 251 716Q265 716 278 714T296 710T315 703T331 696ZM276 676Q264 679 246 679Q196 679 159 631Q134 597 128 536T121 356Q121 234 127 174T151 80L234 366Q253 430 275 506T308 618L318 654Q318 656 294 669L276 676ZM181 42Q207 16 250 16Q291 16 324 47Q354 78 366 136T378 356Q378 470 372 528T349 616L348 613Q348 611 264 326L181 42'], - - // NABLA - 0x2207: [683,33,833,46,786,'46 676Q46 679 51 683H781Q786 679 786 676Q786 674 617 326T444 -26Q439 -33 416 -33T388 -26Q385 -22 216 326T46 676ZM697 596Q697 597 445 597T193 596Q195 591 319 336T445 80L697 596'], - - // ELEMENT OF - 0x2208: [541,41,667,84,583,'84 250Q84 372 166 450T360 539Q361 539 377 539T419 540T469 540H568Q583 532 583 520Q583 511 570 501L466 500Q355 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H568Q583 262 583 250T568 230H124V228Q124 207 134 177T167 112T231 48T328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 446 -40T417 -41Q262 -41 172 45Q84 127 84 250'], - - // stix-negated (vert) set membership, variant - 0x2209: [716,215,667,84,584,'196 25Q84 109 84 250Q84 372 166 450T360 539Q361 539 375 539T413 540T460 540L547 707Q550 716 563 716Q570 716 575 712T581 703T583 696T505 540H568Q583 532 583 520Q583 511 570 501L484 500L366 270H568Q583 262 583 250T568 230H346L247 38Q284 16 328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 447 -40T419 -41Q304 -41 228 3Q117 -211 115 -212Q111 -215 104 -215T92 -212T86 -204T84 -197Q84 -190 89 -183L196 25ZM214 61L301 230H124V228Q124 196 147 147T214 61ZM321 270L440 500Q353 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H321'], - - // CONTAINS AS MEMBER - 0x220B: [541,40,667,83,582,'83 520Q83 532 98 540H195Q202 540 220 540T249 541Q404 541 494 455Q582 374 582 250Q582 165 539 99T434 0T304 -39Q297 -40 195 -40H98Q83 -32 83 -20Q83 -10 96 0H200Q311 1 337 6Q369 14 401 28Q422 39 445 55Q484 85 508 127T537 191T542 228V230H98Q84 237 84 250T98 270H542V272Q542 280 539 295T527 336T497 391T445 445Q422 461 401 472Q386 479 374 483T347 491T325 495T298 498T273 499T239 500T200 500L96 501Q83 511 83 520'], - - // MINUS SIGN - 0x2212: [270,-230,778,84,694,'84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250'], - - // MINUS-OR-PLUS SIGN - 0x2213: [500,166,778,56,722,'56 467T56 480T70 500H707Q722 492 722 480T707 460H409V187H707Q722 179 722 167Q722 154 707 147H409V0V-93Q409 -144 406 -155T389 -166Q376 -166 372 -155T368 -105Q368 -96 368 -62T369 -2V147H70Q56 154 56 167T70 187H369V460H70Q56 467 56 480'], - - // DIVISION SLASH - 0x2215: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], - - // SET MINUS - 0x2216: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], - - // ASTERISK OPERATOR - 0x2217: [465,-35,500,64,435,'229 286Q216 420 216 436Q216 454 240 464Q241 464 245 464T251 465Q263 464 273 456T283 436Q283 419 277 356T270 286L328 328Q384 369 389 372T399 375Q412 375 423 365T435 338Q435 325 425 315Q420 312 357 282T289 250L355 219L425 184Q434 175 434 161Q434 146 425 136T401 125Q393 125 383 131T328 171L270 213Q283 79 283 63Q283 53 276 44T250 35Q231 35 224 44T216 63Q216 80 222 143T229 213L171 171Q115 130 110 127Q106 124 100 124Q87 124 76 134T64 161Q64 166 64 169T67 175T72 181T81 188T94 195T113 204T138 215T170 230T210 250L74 315Q65 324 65 338Q65 353 74 363T98 374Q106 374 116 368T171 328L229 286'], - - // RING OPERATOR - 0x2218: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251ZM245 403Q188 403 142 361T96 250Q96 183 141 140T250 96Q284 96 313 109T354 135T375 160Q403 197 403 250Q403 313 360 358T245 403'], - - // BULLET OPERATOR - 0x2219: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251'], - - // SQUARE ROOT - 0x221A: [800,200,833,71,853,'95 178Q89 178 81 186T72 200T103 230T169 280T207 309Q209 311 212 311H213Q219 311 227 294T281 177Q300 134 312 108L397 -77Q398 -77 501 136T707 565T814 786Q820 800 834 800Q841 800 846 794T853 782V776L620 293L385 -193Q381 -200 366 -200Q357 -200 354 -197Q352 -195 256 15L160 225L144 214Q129 202 113 190T95 178'], - - // PROPORTIONAL TO - 0x221D: [442,11,778,56,722,'56 124T56 216T107 375T238 442Q260 442 280 438T319 425T352 407T382 385T406 361T427 336T442 315T455 297T462 285L469 297Q555 442 679 442Q687 442 722 437V398H718Q710 400 694 400Q657 400 623 383T567 343T527 294T503 253T495 235Q495 231 520 192T554 143Q625 44 696 44Q717 44 719 46H722V-5Q695 -11 678 -11Q552 -11 457 141Q455 145 454 146L447 134Q362 -11 235 -11Q157 -11 107 56ZM93 213Q93 143 126 87T220 31Q258 31 292 48T349 88T389 137T413 178T421 196Q421 200 396 239T362 288Q322 345 288 366T213 387Q163 387 128 337T93 213'], - - // INFINITY - 0x221E: [442,11,1000,55,944,'55 217Q55 305 111 373T254 442Q342 442 419 381Q457 350 493 303L507 284L514 294Q618 442 747 442Q833 442 888 374T944 214Q944 128 889 59T743 -11Q657 -11 580 50Q542 81 506 128L492 147L485 137Q381 -11 252 -11Q166 -11 111 57T55 217ZM907 217Q907 285 869 341T761 397Q740 397 720 392T682 378T648 359T619 335T594 310T574 285T559 263T548 246L543 238L574 198Q605 158 622 138T664 94T714 61T765 51Q827 51 867 100T907 217ZM92 214Q92 145 131 89T239 33Q357 33 456 193L425 233Q364 312 334 337Q285 380 233 380Q171 380 132 331T92 214'], - - // ANGLE - 0x2220: [694,0,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q67 43 346 361Q397 420 474 508Q595 648 616 671T647 694T661 688T666 674Q666 668 663 663Q662 662 627 622T524 503T390 350L120 41L386 40H653Q666 30 666 20Q666 8 651 0H71'], - - // DIVIDES - 0x2223: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], - - // PARALLEL TO - 0x2225: [750,250,500,132,368,'133 736Q138 750 153 750Q164 750 170 739Q172 735 172 250T170 -239Q164 -250 152 -250Q144 -250 138 -244L137 -243Q133 -241 133 -179T132 250Q132 731 133 736ZM329 739Q334 750 346 750Q353 750 361 744L362 743Q366 741 366 679T367 250T367 -178T362 -243L361 -244Q355 -250 347 -250Q335 -250 329 -239Q327 -235 327 250T329 739'], - - // LOGICAL AND - 0x2227: [598,22,667,55,611,'318 591Q325 598 333 598Q344 598 348 591Q349 590 414 445T545 151T611 -4Q609 -22 591 -22Q588 -22 586 -21T581 -20T577 -17T575 -13T572 -9T570 -4L333 528L96 -4Q87 -20 80 -21Q78 -22 75 -22Q57 -22 55 -4Q55 2 120 150T251 444T318 591'], - - // LOGICAL OR - 0x2228: [598,22,667,55,611,'55 580Q56 587 61 592T75 598Q86 598 96 580L333 48L570 580Q579 596 586 597Q588 598 591 598Q609 598 611 580Q611 574 546 426T415 132T348 -15Q343 -22 333 -22T318 -15Q317 -14 252 131T121 425T55 580'], - - // stix-intersection, serifs - 0x2229: [598,22,667,55,611,'88 -21T75 -21T55 -7V200Q55 231 55 280Q56 414 60 428Q61 430 61 431Q77 500 152 549T332 598Q443 598 522 544T610 405Q611 399 611 194V-7Q604 -22 591 -22Q582 -22 572 -9L570 405Q563 433 556 449T529 485Q498 519 445 538T334 558Q251 558 179 518T96 401Q95 396 95 193V-7Q88 -21 75 -21'], - - // stix-union, serifs - 0x222A: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598'], - - // INTEGRAL - 0x222B: [716,216,417,55,472,'151 -112Q151 -150 106 -161Q106 -165 114 -172T134 -179Q155 -179 170 -146Q181 -120 188 -64T206 101T232 310Q256 472 277 567Q308 716 392 716Q434 716 453 681T472 613Q472 590 458 577T424 564Q404 564 390 578T376 612Q376 650 421 661Q421 663 418 667T407 675T393 679Q387 679 380 675Q360 665 350 619T326 438Q302 190 253 -57Q235 -147 201 -186Q174 -213 138 -216Q93 -216 74 -181T55 -113Q55 -91 69 -78T103 -64Q123 -64 137 -78T151 -112'], - - // TILDE OPERATOR - 0x223C: [367,-133,778,55,722,'55 166Q55 241 101 304T222 367Q260 367 296 349T362 304T421 252T484 208T554 189Q616 189 655 236T694 338Q694 350 698 358T708 367Q722 367 722 334Q722 260 677 197T562 134H554Q517 134 481 152T414 196T355 248T292 293T223 311Q179 311 145 286Q109 257 96 218T80 156T69 133Q55 133 55 166'], - - // WREATH PRODUCT - 0x2240: [583,83,278,55,222,'55 569Q55 583 83 583Q122 583 151 565T194 519T215 464T222 411Q222 360 194 304T139 193T111 89Q111 38 134 -7T195 -55Q222 -57 222 -69Q222 -83 189 -83Q130 -83 93 -33T55 90Q55 130 72 174T110 252T148 328T166 411Q166 462 144 507T83 555Q55 556 55 569'], - - // ASYMPTOTICALLY EQUAL TO - 0x2243: [464,-36,778,55,722,'55 283Q55 356 103 409T217 463Q262 463 297 447T395 382Q431 355 446 344T493 320T554 307H558Q613 307 652 344T694 433Q694 464 708 464T722 432Q722 356 673 304T564 251H554Q510 251 465 275T387 329T310 382T223 407H219Q164 407 122 367Q91 333 85 295T76 253T69 250Q55 250 55 283ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], - - // APPROXIMATELY EQUAL TO - 0x2245: [589,-22,1000,55,722,'55 388Q55 463 101 526T222 589Q260 589 296 571T362 526T421 474T484 430T554 411Q616 411 655 458T694 560Q694 572 698 580T708 589Q722 589 722 556Q722 482 677 419T562 356H554Q517 356 481 374T414 418T355 471T292 515T223 533Q179 533 145 508Q109 479 96 440T80 378T69 355Q55 355 55 388ZM56 236Q56 249 70 256H707Q722 248 722 236Q722 225 708 217L390 216H72Q56 221 56 236ZM56 42Q56 57 72 62H708Q722 52 722 42Q722 30 707 22H70Q56 29 56 42'], - - // ALMOST EQUAL TO - 0x2248: [483,-55,778,55,722,'55 319Q55 360 72 393T114 444T163 472T205 482Q207 482 213 482T223 483Q262 483 296 468T393 413L443 381Q502 346 553 346Q609 346 649 375T694 454Q694 465 698 474T708 483Q722 483 722 452Q722 386 675 338T555 289Q514 289 468 310T388 357T308 404T224 426Q164 426 125 393T83 318Q81 289 69 289Q55 289 55 319ZM55 85Q55 126 72 159T114 210T163 238T205 248Q207 248 213 248T223 249Q262 249 296 234T393 179L443 147Q502 112 553 112Q609 112 649 141T694 220Q694 249 708 249T722 217Q722 153 675 104T555 55Q514 55 468 76T388 123T308 170T224 192Q164 192 125 159T83 84Q80 55 69 55Q55 55 55 85'], - - // EQUIVALENT TO - 0x224D: [484,-16,778,55,722,'55 464Q55 471 60 477T74 484Q80 484 108 464T172 420T268 376T389 356Q436 356 483 368T566 399T630 436T675 467T695 482Q701 484 703 484Q711 484 716 478T722 464Q722 454 707 442Q550 316 389 316Q338 316 286 329T195 362T124 402T76 437T57 456Q55 462 55 464ZM57 45Q66 58 109 88T230 151T381 183Q438 183 494 168T587 135T658 94T703 61T720 45Q722 39 722 36Q722 28 717 22T703 16Q697 16 669 36T606 80T510 124T389 144Q341 144 294 132T211 101T147 64T102 33T82 18Q76 16 74 16Q66 16 61 22T55 36Q55 39 57 45'], - - // APPROACHES THE LIMIT - 0x2250: [670,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM329 610Q329 634 346 652T389 670Q413 670 431 654T450 611Q450 586 433 568T390 550T347 567T329 610'], - - // stix-not (vert) equals - 0x2260: [716,215,778,56,722,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183L306 133H70Q56 140 56 153Q56 168 72 173H327L406 327H72Q56 332 56 347Q56 360 70 367H426Q597 702 602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 692 471 367H707Q722 359 722 347Q722 336 708 328L451 327L371 173H708Q722 163 722 153Q722 140 707 133H351Q175 -210 170 -212Q166 -215 159 -215'], - - // IDENTICAL TO - 0x2261: [464,-36,778,56,722,'56 444Q56 457 70 464H707Q722 456 722 444Q722 430 706 424H72Q56 429 56 444ZM56 237T56 250T70 270H707Q722 262 722 250T707 230H70Q56 237 56 250ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], - - // LESS-THAN OR EQUAL TO - 0x2264: [636,138,778,83,694,'674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], - - // GREATER-THAN OR EQUAL TO - 0x2265: [636,138,778,82,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 356 694 346T687 331Q685 329 395 192L107 56H101Q83 58 83 76Q83 77 83 79Q82 86 98 95Q117 105 248 167Q326 204 378 228L626 346L360 472Q291 505 200 548Q112 589 98 597T83 616ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], - - // MUCH LESS-THAN - 0x226A: [568,67,1000,56,944,'639 -48Q639 -54 634 -60T619 -67H618Q612 -67 536 -26Q430 33 329 88Q61 235 59 239Q56 243 56 250T59 261Q62 266 336 415T615 567L619 568Q622 567 625 567Q639 562 639 548Q639 540 633 534Q632 532 374 391L117 250L374 109Q632 -32 633 -34Q639 -40 639 -48ZM944 -48Q944 -54 939 -60T924 -67H923Q917 -67 841 -26Q735 33 634 88Q366 235 364 239Q361 243 361 250T364 261Q367 266 641 415T920 567L924 568Q927 567 930 567Q944 562 944 548Q944 540 938 534Q937 532 679 391L422 250L679 109Q937 -32 938 -34Q944 -40 944 -48'], - - // MUCH GREATER-THAN - 0x226B: [567,67,1000,55,944,'55 539T55 547T60 561T74 567Q81 567 207 498Q297 449 365 412Q633 265 636 261Q639 255 639 250Q639 241 626 232Q614 224 365 88Q83 -65 79 -66Q76 -67 73 -67Q65 -67 60 -61T55 -47Q55 -39 61 -33Q62 -33 95 -15T193 39T320 109L321 110H322L323 111H324L325 112L326 113H327L329 114H330L331 115H332L333 116L334 117H335L336 118H337L338 119H339L340 120L341 121H342L343 122H344L345 123H346L347 124L348 125H349L351 126H352L353 127H354L355 128L356 129H357L358 130H359L360 131H361L362 132L363 133H364L365 134H366L367 135H368L369 136H370L371 137L372 138H373L374 139H375L376 140L378 141L576 251Q63 530 62 533Q55 539 55 547ZM360 539T360 547T365 561T379 567Q386 567 512 498Q602 449 670 412Q938 265 941 261Q944 255 944 250Q944 241 931 232Q919 224 670 88Q388 -65 384 -66Q381 -67 378 -67Q370 -67 365 -61T360 -47Q360 -39 366 -33Q367 -33 400 -15T498 39T625 109L626 110H627L628 111H629L630 112L631 113H632L634 114H635L636 115H637L638 116L639 117H640L641 118H642L643 119H644L645 120L646 121H647L648 122H649L650 123H651L652 124L653 125H654L656 126H657L658 127H659L660 128L661 129H662L663 130H664L665 131H666L667 132L668 133H669L670 134H671L672 135H673L674 136H675L676 137L677 138H678L679 139H680L681 140L683 141L881 251Q368 530 367 533Q360 539 360 547'], - - // PRECEDES - 0x227A: [539,41,778,84,694,'84 249Q84 262 91 266T117 270Q120 270 126 270T137 269Q388 273 512 333T653 512Q657 539 676 539Q685 538 689 532T694 520V515Q689 469 672 431T626 366T569 320T500 286T435 265T373 249Q379 248 404 242T440 233T477 221T533 199Q681 124 694 -17Q694 -41 674 -41Q658 -41 653 -17Q646 41 613 84T533 154T418 197T284 220T137 229H114Q104 229 98 230T88 235T84 249'], - - // SUCCEEDS - 0x227B: [539,41,778,83,694,'84 517Q84 539 102 539Q115 539 119 529T125 503T137 459T171 404Q277 275 640 269H661Q694 269 694 249T661 229H640Q526 227 439 214T283 173T173 98T124 -17Q118 -41 103 -41Q83 -41 83 -17Q88 29 105 67T151 132T208 178T277 212T342 233T404 249Q401 250 380 254T345 263T302 276T245 299Q125 358 92 468Q84 502 84 517'], - - // SUBSET OF - 0x2282: [541,41,778,84,694,'84 250Q84 372 166 450T360 539Q361 539 370 539T395 539T430 540T475 540T524 540H679Q694 532 694 520Q694 511 681 501L522 500H470H441Q366 500 338 496T266 472Q244 461 224 446T179 404T139 337T124 250V245Q124 157 185 89Q244 25 328 7Q348 2 366 2T522 0H681Q694 -10 694 -20Q694 -32 679 -40H526Q510 -40 480 -40T434 -41Q350 -41 289 -25T172 45Q84 127 84 250'], - - // SUPERSET OF - 0x2283: [541,40,778,83,693,'83 520Q83 532 98 540H251Q267 540 297 540T343 541Q427 541 488 525T605 455Q693 374 693 250Q693 165 650 99T545 0T415 -39Q407 -40 251 -40H98Q83 -32 83 -20Q83 -10 96 0H255H308H337Q412 0 439 4T512 28Q533 39 553 54T599 96T639 163T654 250Q654 341 592 411Q557 449 512 472Q468 491 439 495T335 500H306H255L96 501Q83 511 83 520'], - - // SUBSET OF OR EQUAL TO - 0x2286: [637,138,778,84,694,'84 346Q84 468 166 546T360 635Q361 635 370 635T395 635T430 636T475 636T524 636H679Q694 628 694 616Q694 607 681 597L522 596H470H441Q366 596 338 592T266 568Q244 557 224 542T179 500T139 433T124 346V341Q124 253 185 185Q244 121 328 103Q348 98 366 98T522 96H681Q694 86 694 76Q694 64 679 56H526Q510 56 480 56T434 55Q350 55 289 71T172 141Q84 223 84 346ZM104 -131T104 -118T118 -98H679Q694 -106 694 -118T679 -138H118Q104 -131 104 -118'], - - // SUPERSET OF OR EQUAL TO - 0x2287: [637,138,778,83,693,'83 616Q83 628 98 636H251Q267 636 297 636T343 637Q427 637 488 621T605 551Q693 470 693 346Q693 261 650 195T545 96T415 57Q407 56 251 56H98Q83 64 83 76Q83 86 96 96H255H308H337Q412 96 439 100T512 124Q533 135 553 150T599 192T639 259T654 346Q654 437 592 507Q557 545 512 568Q468 587 439 591T335 596H306H255L96 597Q83 607 83 616ZM84 -131T84 -118T98 -98H659Q674 -106 674 -118T659 -138H98Q84 -131 84 -118'], - - // MULTISET UNION - 0x228E: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598ZM313 406Q313 417 313 435T312 459Q312 483 316 493T333 503T349 494T353 461V406V325H515Q516 325 519 323T527 316T531 305T527 294T520 287T515 285H353V204V152Q353 127 350 117T333 107T316 117T312 152Q312 158 312 175T313 204V285H151Q150 285 147 287T139 294T135 305T139 316T146 323T151 325H313V406'], - - // SQUARE IMAGE OF OR EQUAL TO - 0x2291: [636,138,778,84,714,'94 620Q98 632 110 636H699Q714 628 714 616T699 596H134V96H698Q714 90 714 76Q714 64 699 56H109Q104 59 95 69L94 344V620ZM84 -118Q84 -103 100 -98H698Q714 -104 714 -118Q714 -130 699 -138H98Q84 -131 84 -118'], - - // SQUARE ORIGINAL OF OR EQUAL TO - 0x2292: [636,138,778,64,694,'64 603T64 616T78 636H668Q675 633 683 623V69Q675 59 668 56H78Q64 63 64 76Q64 91 80 96H643V596H78Q64 603 64 616ZM64 -118Q64 -108 79 -98H678Q694 -104 694 -118Q694 -130 679 -138H78Q64 -131 64 -118'], - - // stix-square intersection, serifs - 0x2293: [598,0,667,61,605,'83 0Q79 0 76 1T71 3T67 6T65 9T63 13T61 16V301L62 585Q70 595 76 598H592Q602 590 605 583V15Q598 2 587 0Q583 0 580 1T575 3T571 6T569 9T567 13T565 16V558H101V15Q94 2 83 0'], - - // stix-square union, serifs - 0x2294: [598,0,667,61,605,'77 0Q65 4 61 16V301L62 585Q72 598 81 598Q94 598 101 583V40H565V583Q573 598 585 598Q598 598 605 583V15Q602 10 592 1L335 0H77'], - - // stix-circled plus (with rim) - 0x2295: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM364 542Q308 539 251 509T148 418T96 278V270H369V542H364ZM681 278Q675 338 650 386T592 462T522 509T458 535T412 542H409V270H681V278ZM96 222Q104 150 139 95T219 12T302 -29T366 -42H369V230H96V222ZM681 222V230H409V-42H412Q429 -42 456 -36T521 -10T590 37T649 113T681 222'], - - // CIRCLED MINUS - 0x2296: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM681 278Q669 385 591 463T381 542Q283 542 196 471T96 278V270H681V278ZM275 -42T388 -42T585 32T681 222V230H96V222Q108 107 191 33'], - - // stix-circled times (with rim) - 0x2297: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q531 510 496 523Q446 542 381 542Q324 542 272 519T196 471L389 278L485 375L582 471ZM167 442Q95 362 95 250Q95 137 167 58L359 250L167 442ZM610 58Q682 138 682 250Q682 363 610 442L418 250L610 58ZM196 29Q209 16 230 2T295 -27T388 -42Q409 -42 429 -40T465 -33T496 -23T522 -11T544 1T561 13T574 22T582 29L388 222L196 29'], - - // CIRCLED DIVISION SLASH - 0x2298: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q581 472 571 480T556 491T539 502T517 514T491 525T460 534T424 539T381 542Q272 542 184 460T95 251Q95 198 113 150T149 80L167 58L582 471ZM388 -42Q513 -42 597 44T682 250Q682 363 610 442L196 29Q209 16 229 2T295 -27T388 -42'], - - // CIRCLED DOT OPERATOR - 0x2299: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM682 250Q682 322 649 387T546 497T381 542Q272 542 184 459T95 250Q95 132 178 45T389 -42Q515 -42 598 45T682 250ZM311 250Q311 285 332 304T375 328Q376 328 382 328T392 329Q424 326 445 305T466 250Q466 217 445 195T389 172Q354 172 333 195T311 250'], - - // RIGHT TACK - 0x22A2: [695,0,611,55,555,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V367H540Q555 359 555 347Q555 334 540 327H95V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678'], - - // LEFT TACK - 0x22A3: [695,0,611,54,555,'515 678Q515 679 516 681T518 684T521 688T525 691T530 693T537 694Q548 692 555 679V15Q548 2 537 0Q533 0 530 1T525 3T521 6T519 9T517 13T515 16V327H71Q70 327 67 329T59 336T55 347T59 358T66 365T71 367H515V678'], - - // DOWN TACK - 0x22A4: [668,0,778,55,723,'55 642T55 648T59 659T66 666T71 668H708Q723 660 723 648T708 628H409V15Q402 2 391 0Q387 0 384 1T379 3T375 6T373 9T371 13T369 16V628H71Q70 628 67 630T59 637'], - - // UP TACK - 0x22A5: [669,0,778,54,723,'369 652Q369 653 370 655T372 658T375 662T379 665T384 667T391 668Q402 666 409 653V40H708Q723 32 723 20T708 0H71Q70 0 67 2T59 9T55 20T59 31T66 38T71 40H369V652'], - - // TRUE - 0x22A8: [750,249,867,119,812,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V367H796Q811 359 811 347Q811 336 797 328L479 327H161L159 328V172L161 173H797Q798 172 800 171T803 169T805 167T808 164T809 162T810 158T811 153Q811 140 796 133H159V-235Q151 -249 141 -249H139'], - - // DIAMOND OPERATOR - 0x22C4: [488,-12,500,12,488,'242 486Q245 488 250 488Q256 488 258 486Q262 484 373 373T486 258T488 250T486 242T373 127T258 14Q256 12 250 12Q245 12 242 14Q237 16 127 126T14 242Q12 245 12 250T14 258Q16 263 126 373T242 486ZM439 250L250 439L61 250L250 61L439 250'], - - // DOT OPERATOR - 0x22C5: [310,-190,278,78,199,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250'], - - // STAR OPERATOR - 0x22C6: [486,-16,500,3,497,'210 282Q210 284 225 381T241 480Q241 484 245 484Q249 486 251 486Q258 486 260 477T272 406Q275 390 276 380Q290 286 290 282L388 299Q484 314 487 314H488Q497 314 497 302Q497 297 434 266Q416 257 404 251L315 206L361 118Q372 98 383 75T401 40L407 28Q407 16 395 16Q394 16 392 16L390 17L250 159L110 17L108 16Q106 16 105 16Q93 16 93 28L99 40Q105 52 116 75T139 118L185 206L96 251Q6 296 4 300Q3 301 3 302Q3 314 12 314H13Q16 314 112 299L210 282'], - - // BOWTIE - 0x22C8: [505,5,900,26,873,'833 50T833 250T832 450T659 351T487 250T658 150T832 50Q833 50 833 250ZM873 10Q866 -5 854 -5Q851 -5 845 -3L449 226L260 115Q51 -5 43 -5Q39 -5 35 -1T28 7L26 11V489Q33 505 43 505Q51 505 260 385L449 274L845 503Q851 505 853 505Q866 505 873 490V10ZM412 250L67 450Q66 450 66 250T67 50Q69 51 240 150T412 250'], - - // VERTICAL ELLIPSIS - 0x22EE: [900,30,278,78,199,'78 30Q78 54 95 72T138 90Q162 90 180 74T199 31Q199 6 182 -12T139 -30T96 -13T78 30ZM78 440Q78 464 95 482T138 500Q162 500 180 484T199 441Q199 416 182 398T139 380T96 397T78 440ZM78 840Q78 864 95 882T138 900Q162 900 180 884T199 841Q199 816 182 798T139 780T96 797T78 840'], - - // MIDLINE HORIZONTAL ELLIPSIS - 0x22EF: [310,-190,1172,78,1093,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250ZM525 250Q525 274 542 292T585 310Q609 310 627 294T646 251Q646 226 629 208T586 190T543 207T525 250ZM972 250Q972 274 989 292T1032 310Q1056 310 1074 294T1093 251Q1093 226 1076 208T1033 190T990 207T972 250'], - - // DOWN RIGHT DIAGONAL ELLIPSIS - 0x22F1: [820,-100,1282,133,1148,'133 760Q133 784 150 802T193 820Q217 820 235 804T254 761Q254 736 237 718T194 700T151 717T133 760ZM580 460Q580 484 597 502T640 520Q664 520 682 504T701 461Q701 436 684 418T641 400T598 417T580 460ZM1027 160Q1027 184 1044 202T1087 220Q1111 220 1129 204T1148 161Q1148 136 1131 118T1088 100T1045 117T1027 160'], - - // LEFT CEILING - 0x2308: [750,250,444,174,422,'174 734Q178 746 190 750H298H369Q400 750 411 747T422 730T411 713T372 709Q365 709 345 709T310 710H214V-235Q206 -248 196 -250Q192 -250 189 -249T184 -247T180 -244T178 -241T176 -237T174 -234V734'], - - // RIGHT CEILING - 0x2309: [750,250,444,21,269,'21 717T21 730T32 746T75 750H147H256Q266 742 269 735V-235Q262 -248 251 -250Q247 -250 244 -249T239 -247T235 -244T233 -241T231 -237T229 -234V710H133Q119 710 99 710T71 709Q43 709 32 713'], - - // LEFT FLOOR - 0x230A: [751,251,444,174,423,'174 734Q174 735 175 737T177 740T180 744T184 747T189 749T196 750Q206 748 214 735V-210H310H373Q401 -210 411 -213T422 -230T411 -247T369 -251Q362 -251 338 -251T298 -250H190Q178 -246 174 -234V734'], - - // RIGHT FLOOR - 0x230B: [751,250,444,21,269,'229 734Q229 735 230 737T232 740T235 744T239 747T244 749T251 750Q262 748 269 735V-235Q266 -240 256 -249L147 -250H77Q43 -250 32 -247T21 -230T32 -213T72 -209Q79 -209 99 -209T133 -210H229V734'], - - // stix-small down curve - 0x2322: [388,-122,1000,55,944,'55 141Q55 149 72 174T125 234T209 303T329 360T478 388H526Q649 383 765 319Q814 291 858 250T923 179T944 141Q944 133 938 128T924 122Q914 124 912 125T902 139Q766 328 500 328Q415 328 342 308T225 258T150 199T102 148T84 124Q81 122 75 122Q55 127 55 141'], - - // stix-small up curve - 0x2323: [378,-134,1000,55,944,'923 378Q944 378 944 358Q944 345 912 311T859 259Q710 134 500 134Q288 134 140 259Q55 336 55 358Q55 366 61 372T75 378Q78 378 84 376Q86 376 101 356T147 310T221 257T339 212T500 193Q628 193 734 236Q841 282 903 363Q914 378 923 378'], - - // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION - 0x23B0: [744,244,412,56,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 454T239 315T239 247Q240 235 240 124V40Q240 -17 233 -53T201 -130Q155 -206 78 -244H69H64Q58 -244 57 -243T56 -234Q56 -232 56 -231V-225Q56 -218 63 -215Q153 -153 170 -39Q172 -25 173 119V219Q173 245 174 249Q173 258 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], - - // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION - 0x23B1: [744,244,412,55,357,'78 744Q153 706 196 640T239 492V376Q239 341 239 314T238 271T238 253Q239 251 239 223V119V49Q239 -39 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 258 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], - - // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E8: [750,250,389,109,333,'333 -232Q332 -239 327 -244T313 -250Q303 -250 296 -240Q293 -233 202 6T110 250T201 494T296 740Q299 745 306 749L309 750Q312 750 313 750Q331 750 333 732Q333 727 243 489Q152 252 152 250T243 11Q333 -227 333 -232'], - - // MATHEMATICAL RIGHT ANGLE BRACKET - 0x27E9: [750,250,389,55,279,'55 732Q56 739 61 744T75 750Q85 750 92 740Q95 733 186 494T278 250T187 6T92 -240Q85 -250 75 -250Q67 -250 62 -245T55 -232Q55 -227 145 11Q236 248 236 250T145 489Q55 727 55 732'], - - // MATHEMATICAL LEFT FLATTENED PARENTHESIS - 0x27EE: [744,244,412,173,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 394V331Q240 259 239 250Q240 242 240 119V49Q240 -42 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 260 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], - - // MATHEMATICAL RIGHT FLATTENED PARENTHESIS - 0x27EF: [744,244,412,55,240,'78 744Q153 706 196 640T239 492V376Q239 339 239 311T238 269T238 252Q240 236 240 124V40Q240 -18 233 -53T202 -130Q156 -206 79 -244H70H65Q58 -244 57 -242T56 -231T57 -220T64 -215Q153 -154 170 -39Q173 -18 174 119V247Q173 249 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], - - // LONG LEFTWARDS ARROW - 0x27F5: [511,11,1609,55,1525,'165 270H1510Q1525 262 1525 250T1510 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], - - // LONG RIGHTWARDS ARROW - 0x27F6: [511,11,1638,84,1553,'84 237T84 250T98 270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H98Q84 237 84 250'], - - // LONG LEFT RIGHT ARROW - 0x27F7: [511,11,1859,55,1803,'165 270H1694Q1578 357 1551 493Q1551 494 1551 496T1550 499Q1550 511 1567 511H1570Q1579 511 1582 510T1588 506T1591 497T1594 481T1602 456Q1624 389 1675 336T1794 261Q1803 258 1803 250Q1803 244 1798 241T1774 231T1736 212Q1695 186 1665 152T1620 85T1599 35T1591 4Q1589 -6 1586 -8T1570 -11Q1550 -11 1550 0Q1550 7 1555 25Q1587 151 1694 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], - - // LONG LEFTWARDS DOUBLE ARROW - 0x27F8: [525,24,1609,56,1554,'274 173H1539Q1540 172 1542 171T1545 169T1547 167T1550 164T1551 162T1552 158T1553 153Q1553 140 1538 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1538Q1553 359 1553 347Q1553 336 1539 328L1221 327H903L900 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], - - // LONG RIGHTWARDS DOUBLE ARROW - 0x27F9: [525,24,1638,56,1582,'1218 514Q1218 525 1234 525Q1239 525 1242 525T1247 525T1251 524T1253 523T1255 520T1257 517T1260 512Q1297 438 1358 381T1469 300T1565 263Q1582 258 1582 250T1573 239T1536 228T1478 204Q1334 134 1260 -12Q1256 -21 1253 -22T1238 -24Q1218 -24 1218 -17Q1218 -13 1223 0Q1258 69 1309 123L1319 133H70Q56 140 56 153Q56 168 72 173H1363L1373 181Q1412 211 1490 250Q1489 251 1472 259T1427 283T1373 319L1363 327H710L707 328L390 327H72Q56 332 56 347Q56 360 70 367H1319L1309 377Q1276 412 1247 458T1218 514'], - - // LONG LEFT RIGHT DOUBLE ARROW - 0x27FA: [525,24,1858,56,1802,'1438 514Q1438 525 1454 525Q1459 525 1462 525T1467 525T1471 524T1473 523T1475 520T1477 517T1480 512Q1517 438 1578 381T1689 300T1785 263Q1802 258 1802 250T1793 239T1756 228T1698 204Q1554 134 1480 -12Q1476 -21 1473 -22T1458 -24Q1438 -24 1438 -17Q1438 -13 1443 0Q1478 69 1529 123L1539 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1539L1529 377Q1496 412 1467 458T1438 514ZM274 173H1583L1593 181Q1632 211 1710 250Q1709 251 1692 259T1647 283T1593 319L1583 327H930L927 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], - - // LONG RIGHTWARDS ARROW FROM BAR - 0x27FC: [511,11,1638,54,1553,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H95V155'], - - // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN - 0x2AAF: [636,138,778,84,694,'84 346Q84 359 91 363T117 367Q120 367 126 367T137 366Q388 370 512 430T653 609Q657 636 676 636Q685 635 689 629T694 618V612Q689 566 672 528T626 463T569 417T500 383T435 362T373 346Q379 345 404 339T440 330T477 318T533 296Q592 266 630 223T681 145T694 78Q694 57 674 57Q662 57 657 67T652 92T640 135T606 191Q500 320 137 326H114Q104 326 98 327T88 332T84 346ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'], - - // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN - 0x2AB0: [636,138,778,83,694,'84 614Q84 636 102 636Q115 636 119 626T125 600T137 556T171 501Q277 372 640 366H661Q694 366 694 346T661 326H640Q578 325 526 321T415 307T309 280T222 237T156 172T124 83Q122 66 118 62T103 57Q100 57 98 57T95 58T93 59T90 62T85 67Q83 71 83 80Q88 126 105 164T151 229T208 275T277 309T342 330T404 346Q401 347 380 351T345 360T302 373T245 396Q125 455 92 565Q84 599 84 614ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js deleted file mode 100644 index 8e2731ea..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js +++ /dev/null @@ -1,47 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/MiscSymbols.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], - { - // BLACK SPADE SUIT - 0x2660: [727,131,778,55,723,'181 -21Q134 -21 96 27T55 193Q55 224 58 247T82 317T143 410Q172 443 234 498Q282 543 314 598T360 687T380 725Q386 727 389 727Q395 727 398 725T406 716T413 702T423 677T439 641Q481 556 544 498Q633 420 678 353T723 204Q723 142 711 94T669 12T590 -21Q520 -21 490 8T459 66V70H409V62Q409 22 416 -17T430 -82T437 -112Q437 -131 407 -131Q403 -131 397 -131T389 -130T382 -130T372 -131Q341 -131 341 -111Q341 -107 348 -82T362 -18T369 62V70H319V66Q319 57 314 44T297 16T257 -10T191 -21H181'], - - // WHITE HEART SUIT - 0x2661: [716,33,778,55,723,'55 490Q55 557 71 604T114 674T167 706T222 716Q279 716 322 684T389 605Q391 610 395 617T414 643T447 677T494 704T555 716Q642 716 682 652T723 490Q723 455 718 426T684 342T602 227Q573 196 537 161T485 110T449 63T412 -8Q408 -22 404 -27T389 -33Q382 -33 379 -31T372 -23T366 -8T355 18T335 54Q319 81 298 104T239 163T176 227Q102 310 79 371T55 490ZM198 674Q143 664 119 613T95 491Q95 415 137 346Q174 282 265 194T384 48L389 39Q391 42 397 54T406 71T415 86T427 104T442 122T464 146T491 172Q571 249 613 303Q683 396 683 487Q683 581 649 631Q613 676 556 676Q495 676 457 634T410 538Q407 514 390 514Q386 514 380 517Q372 520 369 536T355 581T319 635Q277 675 223 675H217H208L204 674Q200 674 198 674'], - - // WHITE DIAMOND SUIT - 0x2662: [727,162,778,55,723,'370 714Q370 717 375 722T388 727Q398 727 403 721T417 697Q420 692 421 689Q536 465 709 304Q723 291 723 282T709 260Q529 93 406 -153Q402 -162 390 -162H389Q379 -162 376 -158T357 -125Q247 89 89 241L64 265Q55 272 55 282Q55 287 57 290T64 300T77 312T98 331T127 361Q197 435 258 523T344 663L370 714ZM655 299Q568 384 508 470T389 662L376 638Q362 613 341 577T289 497T215 399T123 299L105 282L123 265Q210 180 270 94T389 -98L402 -74Q416 -49 437 -13T489 67T563 165T655 265L673 282L655 299'], - - // BLACK CLUB SUIT - 0x2663: [726,131,778,28,750,'213 532Q213 615 265 670T389 726Q461 726 513 671T565 532Q565 511 562 492T553 458T541 432T526 409T512 393T498 379L490 371L511 326Q512 326 516 330T528 341T546 353T572 363T606 368Q664 368 707 315T750 174Q750 87 699 33T579 -22Q567 -22 553 -20T517 -10T479 16T459 63V70H409V62Q409 22 416 -17T430 -82T437 -112Q437 -131 407 -131Q403 -131 397 -131T389 -130T382 -130T372 -131Q341 -131 341 -111Q341 -107 348 -82T362 -18T369 62V70H319V63Q315 25 281 2T197 -22Q132 -22 80 32T28 174Q28 255 69 311T175 368Q192 368 207 364T232 353T250 341T262 331T267 326L288 371L280 378Q272 385 267 391T253 407T238 430T226 457T217 492T213 532'], - - // MUSIC FLAT SIGN - 0x266D: [750,22,389,55,332,'200 467Q254 467 293 428T332 321Q332 147 104 -11L88 -22H75Q62 -22 56 -16L55 362V647Q55 743 60 748Q63 750 76 750H83Q87 750 95 744V434L104 440Q144 467 200 467ZM237 322Q237 360 225 388T183 417Q158 417 134 407T101 378Q96 370 96 349T95 197V34Q152 91 194 167T237 322'], - - // MUSIC NATURAL SIGN - 0x266E: [734,223,389,65,324,'65 721Q78 734 94 734Q100 734 104 727V444L116 449Q129 454 157 465T208 486Q313 527 314 527Q318 527 324 521V-210Q306 -223 294 -223Q289 -223 284 -216V-13L270 -18Q257 -24 231 -34T180 -54Q77 -96 74 -96T65 -90V721ZM104 13Q282 84 283 85Q284 85 284 252Q284 418 283 418L230 396L140 360L104 346V13'], - - // MUSIC SHARP SIGN - 0x266F: [723,223,389,55,333,'101 -223Q94 -223 93 -217T91 -188V-151Q91 -88 90 -88Q87 -88 80 -92T68 -96Q62 -96 56 -90L55 -50V-22Q55 -8 58 -4T78 5L91 10V177Q91 343 90 343Q87 343 80 339T68 335Q62 335 56 341L55 381V409Q55 423 58 427T78 436L91 441V543V616Q91 643 93 648T106 656Q119 662 126 659Q130 657 130 645T131 554V456L257 503V607L258 710L260 712Q261 715 272 719T286 723Q293 723 295 715T297 671V617Q297 519 298 519Q301 519 307 522T319 526Q327 526 333 521V437L330 435Q328 432 312 427L297 421V254Q297 88 298 88Q301 88 307 91T319 95Q327 95 333 90V6L330 4Q328 1 312 -4L297 -10V-78V-122Q297 -145 295 -149T282 -156Q274 -160 268 -160Q257 -160 257 -130V-89V-25L131 -72V-210Q123 -215 116 -218T104 -222L101 -223ZM257 72V406L131 359V25L257 72'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/MiscSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js deleted file mode 100644 index 7d6088df..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/SpacingModLetters.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], - { - // RING ABOVE - 0x2DA: [715,-542,500,147,352,'147 628Q147 669 179 692T244 715Q298 715 325 689T352 629Q352 592 323 567T249 542Q202 542 175 567T147 628ZM313 628Q313 660 300 669T259 678H253Q248 678 242 678T234 679Q217 679 207 674T192 659T188 644T187 629Q187 600 198 590Q210 579 250 579H265Q279 579 288 581T305 595T313 628'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/SpacingModLetters.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js deleted file mode 100644 index e2a4b82a..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/SuppMathOperators.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], - { - // AMALGAMATION OR COPRODUCT - 0x2A3F: [683,0,750,28,721,'28 660Q28 676 31 679T46 683H50Q87 681 182 681Q217 681 247 681T294 682T315 682Q321 682 323 682T328 679T331 673T332 660Q332 643 328 640T304 637Q239 637 231 626Q229 620 229 334V46H520V334Q520 620 518 626Q510 637 445 637Q426 637 422 640T417 660Q417 675 420 678T432 682H435Q437 682 467 682T569 681T671 681T703 682Q714 682 717 679T721 660Q721 643 717 640T693 637Q628 637 620 626Q619 623 619 342Q619 60 620 57Q628 46 693 46Q714 46 717 43T721 23Q721 5 715 1Q713 0 374 0Q36 0 34 1Q28 5 28 23Q28 40 31 43T56 46Q121 46 129 57Q131 63 131 342Q131 620 129 626Q121 637 56 637Q35 637 32 640T28 660'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/SuppMathOperators.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js deleted file mode 100644 index beecee87..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js +++ /dev/null @@ -1,392 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Math/BoldItalic/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Math-bold-italic'] = { - directory: 'Math/BoldItalic', - family: 'MathJax_Math', - id: 'MJMATHBI', - weight: 'bold', - style: 'italic', - skew: { - 0x41: 0.16, - 0x42: 0.0958, - 0x43: 0.0958, - 0x44: 0.0639, - 0x45: 0.0958, - 0x46: 0.0958, - 0x47: 0.0958, - 0x48: 0.0639, - 0x49: 0.128, - 0x4A: 0.192, - 0x4B: 0.0639, - 0x4C: 0.0319, - 0x4D: 0.0958, - 0x4E: 0.0958, - 0x4F: 0.0958, - 0x50: 0.0958, - 0x51: 0.0958, - 0x52: 0.0958, - 0x53: 0.0958, - 0x54: 0.0958, - 0x55: 0.0319, - 0x58: 0.0958, - 0x5A: 0.0958, - 0x63: 0.0639, - 0x64: 0.192, - 0x65: 0.0639, - 0x66: 0.192, - 0x67: 0.0319, - 0x68: -0.0319, - 0x6C: 0.0958, - 0x6F: 0.0639, - 0x70: 0.0958, - 0x71: 0.0958, - 0x72: 0.0639, - 0x73: 0.0639, - 0x74: 0.0958, - 0x75: 0.0319, - 0x76: 0.0319, - 0x77: 0.0958, - 0x78: 0.0319, - 0x79: 0.0639, - 0x7A: 0.0639, - 0x393: 0.0958, - 0x394: 0.192, - 0x398: 0.0958, - 0x39B: 0.192, - 0x39E: 0.0958, - 0x3A0: 0.0639, - 0x3A3: 0.0958, - 0x3A5: 0.0639, - 0x3A6: 0.0958, - 0x3A8: 0.0639, - 0x3A9: 0.0958, - 0x3B1: 0.0319, - 0x3B2: 0.0958, - 0x3B4: 0.0639, - 0x3B5: 0.0958, - 0x3B6: 0.0958, - 0x3B7: 0.0639, - 0x3B8: 0.0958, - 0x3B9: 0.0639, - 0x3BC: 0.0319, - 0x3BD: 0.0319, - 0x3BE: 0.128, - 0x3BF: 0.0639, - 0x3C1: 0.0958, - 0x3C2: 0.0958, - 0x3C4: 0.0319, - 0x3C5: 0.0319, - 0x3C6: 0.0958, - 0x3C7: 0.0639, - 0x3C8: 0.128, - 0x3D1: 0.0958, - 0x3D5: 0.0958, - 0x3F1: 0.0958, - 0x3F5: 0.0639 - }, - - // SPACE - 0x20: [0,0,250,0,0,''], - - // SOLIDUS - 0x2F: [711,210,894,160,733,'189 -210Q179 -210 170 -203T160 -179Q160 -171 162 -166Q164 -163 420 266T679 698Q686 711 704 711Q714 711 723 704T733 681Q733 672 730 667Q723 654 469 228T211 -201Q202 -210 189 -210'], - - // LATIN CAPITAL LETTER A - 0x41: [711,0,869,45,839,'65 0Q45 0 45 18Q48 52 61 60Q65 62 81 62Q155 62 165 74Q166 74 265 228T465 539T569 699Q576 707 583 709T611 711T637 710T649 700Q650 697 695 380L741 63L784 62H827Q839 50 839 45L835 29Q831 9 827 5T806 0Q803 0 790 0T743 1T657 2Q585 2 547 1T504 0Q481 0 481 17Q484 54 497 60Q501 62 541 62Q580 62 580 63Q580 68 573 121T564 179V181H308L271 124Q236 69 236 67T283 62H287Q316 62 316 46Q316 26 307 8Q302 3 295 0L262 1Q242 2 168 2Q119 2 93 1T65 0ZM537 372Q533 402 528 435T521 486T518 504V505Q517 505 433 375L348 244L451 243Q555 243 555 244L537 372'], - - // LATIN CAPITAL LETTER B - 0x42: [686,0,866,43,853,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 449 686H477H586Q684 686 733 677T817 634Q853 598 853 547Q853 499 826 460T761 401T695 371T654 360H653L662 358Q670 357 683 354T712 344T744 327T774 303T795 269T804 224Q804 148 732 79T533 1Q524 0 288 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624ZM703 550Q703 571 695 586T675 609T656 619T643 623L545 624H447L417 504Q386 384 386 383T470 382Q554 383 565 385Q632 397 667 447T703 550ZM651 240Q651 265 645 282T626 309T608 322T592 329Q587 330 479 331H373L340 198Q307 65 306 64Q306 62 406 62L507 63L519 65Q565 76 596 107T639 171T651 240'], - - // LATIN CAPITAL LETTER C - 0x43: [704,17,817,55,855,'380 -17Q335 -17 293 -10T207 16T130 65T76 144T55 256Q55 306 70 361T122 476T211 582T345 663T525 702H545Q673 702 731 634L777 668Q783 672 789 677T800 685T808 691T814 695T818 698T822 700T825 702T828 703T830 703T833 703Q855 703 855 690Q855 686 823 558T789 426Q786 421 782 420T756 419Q734 420 729 421T724 432Q724 434 725 447T726 472Q726 552 678 604Q640 640 586 640H574Q533 640 494 632T409 604T324 541T260 437Q243 397 227 333T210 219Q210 152 237 117Q255 90 299 68T420 46H429Q506 46 580 100T678 234Q683 249 687 251T712 254H723Q743 254 743 240Q743 232 736 213T710 162T663 100T586 40T477 -5Q433 -17 380 -17'], - - // LATIN CAPITAL LETTER D - 0x44: [686,0,938,43,914,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 437 686Q659 686 668 685Q727 680 772 662T842 621T883 568T905 517T913 475Q914 466 914 434Q914 373 892 307T828 179T712 69T548 7Q517 2 494 2T279 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624ZM768 475Q768 515 753 544T718 588T666 611T613 622T563 624H538H532H452L382 344Q311 64 311 63T363 62H405Q490 62 545 76T656 142Q696 185 724 265T760 399T768 475'], - - // LATIN CAPITAL LETTER E - 0x45: [680,0,810,43,825,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H811Q817 677 820 673T824 666L825 664Q825 659 814 549T799 433Q793 424 771 424Q752 424 746 427T740 441Q740 445 742 466T744 505Q744 561 722 585T646 616Q639 617 545 618H456Q456 617 427 502T398 385Q398 384 435 384Q461 385 471 385T499 391T526 405T545 433T562 478Q566 494 571 497T595 501H604Q622 501 626 486Q626 482 593 349T557 213Q552 205 530 205Q499 205 499 219Q499 222 503 242T508 281Q508 308 491 314T429 322Q425 322 423 322H382L317 64Q317 62 390 62Q460 62 493 64T569 80T640 124Q665 149 686 187T719 253T733 283Q739 289 760 289Q791 289 791 274Q791 267 763 201T706 71L678 8Q676 4 667 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], - - // LATIN CAPITAL LETTER F - 0x46: [680,0,689,43,809,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H795Q801 677 804 673T808 666L809 664Q809 659 798 549T783 433Q777 424 755 424Q736 424 730 427T724 444Q724 448 725 468T727 507V524Q727 541 724 554T713 577T698 594T676 605T653 612T625 616T597 617T566 618T538 618H456L455 614Q455 611 424 491L394 371H429Q454 372 463 372T491 378T517 392T536 419T552 464Q556 481 561 484T586 488Q603 488 607 486Q616 482 616 473Q616 467 584 337T549 201Q542 192 521 192Q503 192 497 195T490 209Q490 212 492 224Q499 251 499 269Q499 288 489 296T465 306T417 308L379 309L348 188Q341 161 334 129T322 80L318 65L317 62H375H409Q430 62 438 59T447 45Q444 8 431 2L426 0L377 1Q347 2 231 2Q152 2 111 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], - - // LATIN CAPITAL LETTER G - 0x47: [704,16,887,56,854,'379 -16Q233 -16 145 52T56 255Q56 310 73 368T127 483T216 586T347 663T518 702H540Q562 702 582 700T616 696T644 689T667 681T686 670T702 659T717 647T731 635L776 668Q782 672 788 677T799 685T807 691T813 695T817 698T821 700T824 702T827 703T829 703T832 703Q854 703 854 690Q854 686 822 558T788 426Q785 421 781 420T755 419Q734 420 729 422T723 432Q723 434 724 446T725 469Q725 531 702 571T642 628Q616 640 575 640Q468 640 390 593T272 464Q247 415 229 340T210 214Q210 166 228 132T277 79T343 54T419 46Q445 46 465 50T500 59T526 76T544 96T557 123T566 150T574 182T581 214H519Q511 214 498 214T479 213Q443 213 443 230Q443 250 452 268Q457 273 464 276L514 275Q546 274 657 274Q735 274 768 275T803 276Q826 276 826 258Q823 224 810 216Q806 214 771 214H736Q736 211 710 109T683 5Q678 0 671 0Q666 0 637 14T597 36Q593 38 590 40T585 44T582 44T576 40Q511 -16 379 -16'], - - // LATIN CAPITAL LETTER H - 0x48: [686,0,982,43,1027,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 239 686Q290 684 403 684Q475 684 512 685T553 686Q576 686 576 668Q572 632 560 626Q555 624 506 624H457L399 389Q399 388 547 388H695L753 623Q753 624 709 624H686Q665 624 660 626T650 639Q653 678 668 684Q672 686 681 686Q685 686 726 685T847 684Q902 684 937 684T986 685T1004 686Q1027 686 1027 668Q1023 632 1011 626Q1006 624 957 624H908L839 344Q768 64 768 63T812 62H839Q871 62 871 44Q867 6 854 2L850 0L808 1Q782 2 675 2Q600 2 560 1T516 0Q499 0 494 15Q498 54 511 60Q515 62 564 62H613L614 66L679 324Q679 326 531 326H383L382 322L317 64Q317 62 361 62H388Q420 62 420 44Q416 6 403 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624'], - - // LATIN CAPITAL LETTER I - 0x49: [686,0,511,30,573,'247 624Q242 624 233 624T220 623Q186 623 186 640Q186 647 190 664T202 684Q206 686 226 686Q277 684 393 684Q435 684 471 684T528 685T553 686Q573 686 573 670Q573 650 564 632Q556 624 537 624H501H449L380 344Q309 64 309 63T356 62Q361 62 370 62T384 63Q417 63 417 46Q417 26 408 8Q403 3 396 0L352 1Q325 2 216 2T82 1L45 0Q30 7 30 16Q33 51 46 60Q51 62 102 62H154L294 623Q294 624 247 624'], - - // LATIN CAPITAL LETTER J - 0x4A: [686,17,631,42,694,'205 131Q205 105 192 84T165 54L152 45Q152 44 160 42T182 37T213 35H216Q255 35 289 65Q314 90 329 129Q331 136 392 378T453 623Q453 624 393 624H332Q318 631 318 640Q318 647 322 664T334 684Q338 686 359 686Q413 684 533 684Q566 684 605 685T652 686Q677 686 685 683T694 669Q694 664 691 652Q686 631 681 628T647 624H602L542 380Q531 336 518 285T500 212T487 161T475 122T463 97T448 74T429 55Q351 -17 213 -17Q142 -17 99 7T43 70Q42 75 42 93Q42 143 73 168T139 194Q168 194 186 177T205 131'], - - // LATIN CAPITAL LETTER K - 0x4B: [686,1,971,43,1003,'536 0Q522 6 522 18Q522 35 533 57Q539 62 557 62Q595 62 601 65L472 330L365 255L342 160Q318 65 317 64Q317 62 361 62H388Q420 62 420 44Q416 6 403 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 239 686Q290 684 403 684Q475 684 512 685T553 686Q576 686 576 668Q572 632 560 626Q555 624 506 624H457L422 481Q386 339 386 337L785 621Q779 624 749 624Q726 624 726 641Q726 645 730 659Q734 675 736 679T747 686L786 685Q812 684 888 684Q908 684 934 685T968 686Q1003 686 1003 669Q1003 646 991 629Q985 624 967 624Q918 624 888 617Q884 617 874 613L865 609Q864 608 732 515T599 420Q599 418 686 242T775 65Q784 62 829 62Q847 62 850 61T860 54Q862 52 862 43Q862 10 845 1Q844 1 842 1T836 0T797 1T694 2Q599 2 573 1L536 0'], - - // LATIN CAPITAL LETTER L - 0x4C: [686,0,756,43,711,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 239 686Q290 684 409 684Q454 684 492 684T552 685T579 686Q603 686 603 668Q599 632 587 626Q583 624 520 624H457L388 344Q317 64 317 63T353 62H390Q418 62 440 64T493 78T548 110T598 169T643 261Q651 282 655 285T680 289Q696 289 700 288T709 279Q711 274 711 269Q710 265 663 138T613 8Q611 4 602 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624'], - - // LATIN CAPITAL LETTER M - 0x4D: [686,0,1142,43,1219,'258 624H231Q214 624 208 626T199 639Q203 678 216 684Q220 686 347 686H473Q474 685 478 682T484 677Q487 673 535 413L584 153L608 187Q631 221 672 281T761 410Q935 663 943 671Q949 678 962 686H1082H1166Q1201 686 1210 683T1219 668Q1215 632 1203 626Q1199 624 1149 624H1100L1031 344Q960 64 960 63T1004 62H1031Q1063 62 1063 44Q1060 7 1046 2Q1042 0 1034 0Q1030 0 990 1T875 2Q804 2 767 1T725 0H723Q707 0 703 15Q707 54 720 60Q724 62 773 62H822Q961 618 961 619L754 318Q546 15 543 12Q531 0 510 0Q500 0 495 0T484 5T477 19Q477 20 421 315L367 604L299 335Q234 72 234 68Q234 62 302 62Q334 62 334 46Q332 8 317 2Q313 0 306 0Q301 0 267 1T181 2Q125 2 96 1T63 0Q48 0 43 15Q43 19 47 35Q52 55 57 58T94 62Q147 64 164 69L233 345Q302 619 302 622Q302 624 258 624'], - - // LATIN CAPITAL LETTER N - 0x4E: [686,0,950,43,1027,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 344 686H434Q464 686 477 680Q480 677 607 454Q738 227 739 227Q742 227 789 418T836 618Q836 620 835 620L821 622Q811 622 779 624Q755 624 749 625T740 632Q737 635 737 644Q737 656 742 669T754 685Q755 685 757 685T763 686Q768 686 803 685T890 684Q925 684 951 684T990 685T1006 686Q1014 686 1016 684Q1027 679 1027 668Q1023 632 1011 626Q1007 624 978 624Q912 622 907 617Q907 616 831 314T753 8Q749 0 723 0H712Q699 0 692 7Q692 8 671 44T607 155T526 296L361 580L296 323Q234 74 234 68T302 62H307Q334 62 334 44Q330 6 317 2L313 0L280 1Q260 2 181 2Q125 2 96 1T63 0Q48 0 43 15Q43 19 47 35Q52 55 57 58T94 62Q147 64 164 69L233 345Q302 619 302 622Q302 624 258 624'], - - // LATIN CAPITAL LETTER O - 0x4F: [703,17,837,53,815,'53 245Q53 297 70 356T125 478T216 590T349 671T523 703Q656 703 735 637T815 445Q815 378 791 307Q727 104 527 17Q437 -17 344 -17Q289 -17 242 -5T150 35T79 116T53 245ZM664 489Q664 575 618 611T511 648Q463 648 416 627T334 570Q297 531 270 472T230 355T213 261T208 206Q208 177 215 151T237 98T284 56T358 40Q440 40 510 98T618 270Q664 400 664 489'], - - // LATIN CAPITAL LETTER P - 0x50: [686,0,723,43,847,'162 62L302 623Q302 624 258 624H234Q214 624 209 626T200 638Q200 677 217 684Q220 686 439 686Q667 685 684 682Q686 681 693 680Q713 677 733 671T782 649T829 602T847 528Q847 450 784 382T604 293Q571 288 469 287H373L346 176Q340 151 333 122T321 78L317 64Q317 62 361 62H387Q420 62 420 44Q417 10 404 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q43 0 43 17Q43 21 47 33Q52 54 57 58T89 62H113H162ZM692 558Q692 611 617 622Q610 623 529 624H452L381 343H458H492Q604 343 641 389Q662 414 677 471T692 558'], - - // LATIN CAPITAL LETTER Q - 0x51: [703,194,869,52,815,'53 245Q53 297 70 356T125 478T216 590T349 671T523 703Q656 703 735 637T815 445Q815 410 808 370T781 277T729 178T643 87T519 14L525 4Q540 -19 553 -25T592 -32Q632 -32 654 -24T680 -7T689 10T704 18Q713 18 717 12T722 0Q722 -8 711 -36T681 -101T624 -166T541 -194Q513 -194 494 -183T465 -157T450 -118T444 -79T443 -41V-7L433 -9Q391 -17 344 -17Q301 -17 263 -10T185 15T118 62T71 138T53 245ZM666 482Q666 529 652 563T614 615T565 640T512 648Q412 648 335 573Q268 506 235 389T201 202Q201 164 210 136T230 95T259 66L262 76Q269 109 302 135T382 162Q401 162 415 159T449 140T484 92L491 78L496 82Q502 86 505 88T515 97T528 107T541 120T555 137T570 156T585 179T599 205T612 235Q629 278 647 351T666 482ZM439 56Q439 58 439 62T435 75T426 92T410 106T383 112Q353 112 332 96T311 63Q311 38 355 38H366Q391 39 415 45T439 56'], - - // LATIN CAPITAL LETTER R - 0x52: [686,17,872,43,881,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 422 686H446H525Q634 686 698 674T806 620Q843 583 843 535Q843 505 833 478T805 432T768 396T728 370T690 352T662 342L651 338L654 336Q658 334 667 327T688 310Q719 278 719 237Q719 222 710 165T701 94Q701 35 748 35Q775 35 793 57T819 101Q822 112 826 114T843 117H849Q881 117 881 99Q881 78 852 39T781 -11Q765 -17 728 -17Q537 -13 537 94Q537 110 552 169T567 243Q567 292 529 309Q517 316 508 316T441 318H375L374 314Q374 312 343 189T311 64Q311 62 355 62H382Q414 62 414 44Q410 6 397 2L393 0L351 1Q325 2 221 2Q147 2 108 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624ZM687 555Q687 617 589 623Q581 624 513 624H451L420 498Q413 468 405 436T392 388L388 371Q388 369 458 369Q464 369 485 369T515 369T541 372T570 377T596 386T624 400Q649 417 664 457T683 522T687 555'], - - // LATIN CAPITAL LETTER S - 0x53: [703,17,693,63,714,'354 45Q429 45 467 91T506 184Q506 225 477 250Q461 262 384 279T294 300Q238 318 210 362T182 452Q182 493 202 540T257 623Q338 702 449 702Q491 702 501 701Q571 690 610 654Q614 649 617 650Q618 650 650 675T683 702Q685 703 692 703Q714 703 714 690Q714 686 687 578T658 466Q653 458 629 458Q606 458 602 463Q600 465 599 466Q599 467 599 469T598 473Q598 475 599 487T600 511Q600 584 557 614T454 645Q386 645 347 606T308 520Q308 506 311 496T323 477T338 464T360 454T384 446T413 439T441 433Q523 416 549 401Q581 384 602 352Q631 309 631 254Q631 214 615 170T567 83T478 12T347 -16Q322 -16 300 -14T261 -8T230 0T205 10T187 20T172 30L162 37L130 11Q124 7 119 3T110 -4T104 -9T100 -13T96 -15T93 -16T91 -17T88 -17H82Q76 -17 73 -16T69 -14T66 -10T63 -5L90 107Q97 133 106 170Q116 211 120 219T136 228H148Q167 228 173 227T179 218Q179 216 176 200T173 168Q173 102 227 74T354 45'], - - // LATIN CAPITAL LETTER T - 0x54: [675,0,637,22,772,'498 62Q511 58 511 43Q511 10 494 1L490 0Q487 0 482 0T424 1T271 2Q201 2 157 2T94 1T72 0H70Q46 0 46 17Q49 54 62 60L66 62H137Q208 62 209 63L218 98Q227 134 244 203T278 339L347 613H300Q262 612 246 611T198 599T146 564Q128 545 114 512T91 454T79 425Q73 419 52 419Q22 419 22 434Q22 440 41 498T80 611L100 666Q105 673 111 675H434Q758 675 762 673Q772 668 772 657Q772 655 756 549T738 434Q735 419 711 419H707Q690 419 686 421Q677 425 677 434Q676 436 678 449T683 485T686 529Q686 553 679 569T662 594T631 607T593 612T544 613H502L433 340Q418 279 400 207T374 100L365 65L364 62H498'], - - // LATIN CAPITAL LETTER U - 0x55: [686,16,800,63,877,'856 686Q877 686 877 668Q877 663 873 649T867 631Q861 624 828 624Q762 622 757 617Q757 613 705 409T651 200Q620 112 540 48T328 -16Q251 -16 196 2T113 51T75 112T63 176Q63 202 70 232T117 422Q129 469 141 520T160 598L167 623Q167 624 123 624H96Q79 624 73 626T64 639Q68 678 81 684Q85 686 104 686Q155 684 268 684Q340 684 377 685T418 686Q441 686 441 668Q437 632 425 626Q421 624 371 624H322L270 415Q224 232 217 198T209 141Q209 45 336 45Q372 45 406 52T475 77T540 128T585 211L590 229Q594 247 601 274T617 336T636 409T654 482T670 547T681 595T686 618Q686 620 685 620H683Q681 621 678 621T671 622Q660 622 630 624Q616 624 610 624T598 626T589 630T587 640Q587 647 590 659Q594 677 598 681T613 686Q618 686 653 685T740 684Q775 684 801 684T840 685T856 686'], - - // LATIN CAPITAL LETTER V - 0x56: [686,16,678,62,886,'401 686Q415 680 415 668Q415 651 404 629Q398 624 356 624Q318 624 318 623Q318 620 337 508T377 284L397 174L472 285Q548 396 623 507T699 620Q698 621 652 624Q634 624 627 627T619 641Q619 648 622 658Q627 677 631 681T650 686Q654 686 686 685T766 684Q794 684 823 684T858 685Q874 685 878 683T886 671Q886 667 882 651Q877 632 873 628T850 624Q800 624 779 617Q774 617 770 613Q767 610 560 304T350 -5Q346 -9 332 -16H306H291Q270 -16 267 -2Q267 -1 260 37T238 161T210 313L156 624H116H94Q62 624 62 642Q66 678 78 684Q82 686 99 686Q144 684 246 684Q330 684 368 685L401 686'], - - // LATIN CAPITAL LETTER W - 0x57: [686,17,1093,61,1207,'111 624Q109 624 102 624T91 623Q61 623 61 640Q61 660 70 678Q78 686 98 686Q140 684 239 684Q277 684 309 684T360 685T383 686H385Q407 686 407 668Q404 634 391 626Q387 624 348 624Q307 624 307 622Q307 618 332 409Q359 198 359 195L570 532L564 576L558 622V624H522H504Q472 624 472 641Q475 678 488 684L493 686L529 685Q551 684 645 684Q716 684 753 685T795 686Q818 686 818 669Q815 632 802 626Q798 624 759 624Q718 624 718 622Q718 615 743 410Q770 199 770 196Q770 195 806 253T903 406Q1035 618 1035 619Q1025 624 968 624Q943 624 943 641Q943 648 946 659Q950 675 952 679T963 686L998 685Q1020 684 1093 684Q1113 684 1139 685T1173 686Q1207 686 1207 669Q1207 664 1204 652Q1199 631 1194 628T1164 624Q1113 622 1101 615Q1098 612 905 305Q715 -1 709 -7Q699 -17 673 -17Q645 -17 639 -8L581 441Q581 444 442 221Q331 44 314 18T288 -14Q279 -17 263 -17H254Q229 -17 227 -5Q225 2 186 311L147 620V624H111'], - - // LATIN CAPITAL LETTER X - 0x58: [686,0,947,38,953,'931 686Q953 686 953 670Q953 650 944 632Q936 624 924 624H914Q823 624 803 611Q800 609 696 503T591 396Q591 394 667 229L743 62H787H814Q846 62 846 44Q843 7 829 2Q825 0 817 0Q813 0 775 1T664 2Q590 2 551 1T508 0H507Q484 0 484 18Q484 19 488 37Q492 56 497 58T534 62L566 63Q567 64 520 169T471 274Q469 274 369 172T268 67L315 62Q320 62 328 62L335 61Q347 58 347 44Q344 10 331 2L326 0L287 1Q263 2 177 2Q95 2 78 1L53 0Q38 6 38 17Q38 40 50 57Q56 62 78 62Q169 62 188 75Q194 77 435 324L444 334L439 347Q437 351 373 492L313 624H268H246Q220 624 212 632Q210 636 210 642Q210 655 215 669T227 684Q230 686 247 686Q295 684 398 684Q438 684 472 684T527 685T551 686Q567 686 572 671Q572 667 568 651Q563 631 558 628T523 624T492 623H488L526 540Q563 457 564 457Q564 456 574 466T604 496T645 537L724 619Q716 622 677 624H673Q645 624 645 640Q645 660 654 678Q659 683 666 686L704 685Q728 684 813 684Q847 684 873 684T913 685T931 686'], - - // LATIN CAPITAL LETTER Y - 0x59: [686,0,675,40,876,'97 624H73Q40 624 40 640Q40 660 49 678Q57 686 77 686Q122 684 228 684Q269 684 304 684T360 685T385 686Q406 686 406 668Q406 662 403 653Q398 631 393 628T361 624H353Q321 624 321 623T376 491T432 360L448 377Q465 394 493 424T553 490L673 620Q662 624 630 624Q606 624 606 640Q608 678 623 684Q627 686 634 686Q638 686 671 685T755 684Q777 684 805 685T841 686Q861 686 868 683T876 669Q876 664 873 652Q868 631 863 628T829 624Q764 622 747 611Q727 590 590 441L437 275L411 170Q385 65 384 64Q384 62 429 62H453Q473 62 478 60T487 48Q488 44 484 29Q479 6 473 3Q468 0 454 0Q450 0 436 0T386 1T294 2Q220 2 181 1T138 0Q121 0 116 15Q120 54 133 60Q137 62 187 62H236L289 275L142 624H97'], - - // LATIN CAPITAL LETTER Z - 0x5A: [686,1,773,68,805,'223 430Q192 430 192 448Q192 450 225 561T261 677Q265 683 270 684Q273 686 534 686Q796 686 797 685Q805 682 805 673Q805 668 804 661T800 648T798 641Q796 637 531 352L266 67L329 66H364Q412 66 446 70T523 96T596 157Q617 186 630 220T649 273T663 297Q667 299 684 299H688Q715 299 715 281Q715 278 673 145T628 8Q626 4 617 0H348Q289 0 221 0T139 -1Q112 -1 99 -1T78 1T69 5T68 12Q68 16 71 31T77 49L84 57Q91 65 104 79T133 110T170 151T213 196L610 624H540Q533 624 514 624T488 624T467 623T443 620T422 616T398 609T373 600Q292 560 255 449Q251 436 246 433T223 430'], - - // LATIN SMALL LETTER A - 0x61: [452,9,633,38,607,'222 -8Q140 -8 89 34T38 158Q38 191 48 227Q72 329 151 390T327 452Q361 452 385 443T421 425T433 416H434L441 421Q448 426 460 430T486 435Q509 435 523 422T538 386Q538 380 522 315T488 179T467 93Q466 87 466 72Q466 42 483 42Q505 42 521 75Q531 94 541 134Q546 155 550 158T571 162H576H587Q607 162 607 148Q606 142 604 132T590 94T566 47T528 9T474 -8Q396 -8 358 40Q295 -8 222 -8ZM404 351Q383 401 324 401Q300 401 270 385T221 330Q206 296 186 220Q166 136 166 106Q166 72 184 58T228 43Q256 43 284 57T328 84T343 103Q343 106 374 228L404 351'], - - // LATIN SMALL LETTER B - 0x62: [694,8,521,45,513,'220 -8Q142 -8 94 35T45 155V167Q45 187 52 218T104 426L153 622H149Q148 622 144 622T134 623T122 624T111 624T101 624T96 625Q84 628 84 642Q84 647 88 661T94 679Q98 684 109 685T185 690Q258 694 272 694Q289 694 293 679Q293 676 263 553L232 429L244 434Q256 440 281 446T331 452Q417 452 465 407T513 285Q513 235 494 184T439 90T346 20T220 -8ZM385 337Q385 400 318 400Q269 400 226 360Q214 349 211 341T191 268Q162 149 162 113Q162 44 226 44Q269 44 299 76T339 135T362 215Q364 222 365 226Q385 303 385 337'], - - // LATIN SMALL LETTER C - 0x63: [451,8,513,40,509,'362 325Q362 344 371 361T390 386L399 394Q390 401 355 401Q276 401 231 338Q207 301 189 230T170 122Q170 43 264 43Q392 43 457 105Q472 120 480 117Q486 114 497 102T509 83Q509 79 502 70T477 47T432 21T360 1T259 -8Q194 -8 148 9T80 54T49 109T40 167Q40 280 129 365T352 451Q390 451 396 450Q448 442 473 416T499 358T477 302T421 274H417Q393 274 378 288T362 325'], - - // LATIN SMALL LETTER D - 0x64: [694,9,610,38,612,'222 -8Q140 -8 89 34T38 158Q38 220 68 285T151 391Q230 452 329 452Q382 452 416 428L422 424Q423 424 447 523L472 622H468Q467 622 463 622T453 623T441 624T430 624T420 624T415 625Q403 628 403 642Q403 647 407 661T413 679Q417 684 428 685T504 690Q577 694 591 694Q608 694 612 679L467 91Q466 87 466 72Q466 43 483 43Q518 43 541 134Q546 155 550 158T571 162H576H587Q607 162 607 148Q606 142 604 132T590 94T566 47T528 9T474 -8Q396 -8 358 40Q295 -8 222 -8ZM404 351Q383 401 324 401Q300 401 270 385T221 330Q206 296 186 220Q166 136 166 106Q166 72 184 58T228 43Q256 43 284 57T328 84T343 103Q343 106 374 228L404 351'], - - // LATIN SMALL LETTER E - 0x65: [452,8,554,42,509,'260 -8Q196 -8 151 9T83 54T52 111T42 169Q42 188 44 210Q50 240 58 266Q127 434 335 451L338 452Q342 452 345 452Q347 452 353 452T363 451Q426 451 464 424T502 352Q502 289 442 250Q381 211 222 211H184Q184 210 181 196T175 162T171 126Q171 43 264 43Q391 43 457 105Q472 120 480 117Q486 114 497 102T509 83Q509 79 502 70T477 47T432 21T360 1T260 -8ZM237 262Q427 266 427 349Q427 368 409 384T354 401Q316 401 287 388T242 354T216 314T202 278L197 263Q197 262 237 262'], - - // LATIN SMALL LETTER F - 0x66: [701,201,568,63,624,'584 444Q597 439 597 426Q597 409 586 387Q580 382 505 382H434V380Q432 378 421 314T395 162T368 30Q324 -164 203 -199Q194 -201 175 -201Q123 -201 94 -177T64 -117T88 -58T145 -33Q169 -33 184 -47T200 -84Q200 -122 166 -150L174 -151H185Q202 -148 217 -112Q222 -94 240 9Q246 40 262 132T293 303T307 382H247H210Q190 382 182 385T173 400Q177 436 189 442Q193 444 256 444H318L319 446Q337 565 355 602Q373 640 404 664T458 694T503 701Q569 701 596 676T624 617Q624 581 599 557T544 533Q520 533 504 547T488 585Q488 596 491 606T499 624T508 637T516 646L520 650Q515 650 509 651Q459 651 459 561V554L458 518L452 484Q446 448 445 447V444H584'], - - // LATIN SMALL LETTER G - 0x67: [452,202,545,0,540,'227 0Q142 0 93 43T43 166Q43 207 58 252T104 341T188 414T310 451L313 452Q316 452 319 452Q321 452 326 452T335 451Q367 451 390 443T425 425L436 416L443 421Q450 426 462 430T488 435Q511 435 525 422T540 386Q540 378 483 151T424 -82Q401 -139 335 -170T167 -202Q72 -202 36 -183T0 -125Q0 -90 24 -67T81 -43Q103 -43 119 -56T136 -99Q133 -124 114 -149L123 -150H183Q222 -150 254 -127T299 -74Q300 -71 306 -47T318 -1T324 23Q323 23 310 18T274 6T227 0ZM407 353Q406 354 404 358T400 365T395 371T388 379T381 385T371 391T360 396T346 400T329 401Q300 401 277 389T240 355T219 317T205 280Q171 148 171 109Q171 77 190 64T235 51T296 67Q322 82 337 98L345 106L407 353'], - - // LATIN SMALL LETTER H - 0x68: [694,8,668,45,642,'477 56Q477 48 479 46T490 43Q522 45 544 75T577 140Q582 156 585 159T605 162H611H622Q642 162 642 148Q642 138 632 114T602 62T550 13T478 -8Q429 -8 394 17T358 83Q358 95 395 199T433 350Q433 400 394 400H388H383Q335 400 291 363Q256 332 236 298Q233 293 202 170T169 40Q160 18 141 5T99 -8Q70 -8 58 9T45 39Q45 51 116 336L188 622H184Q183 622 179 622T169 623T157 624T146 624T136 624T131 625Q119 628 119 642Q119 647 123 661T129 679Q133 684 144 685T220 690Q293 694 307 694Q324 694 328 679Q328 672 294 540Q286 507 278 473T264 420L260 403Q260 400 269 408Q327 451 393 451H401H410Q425 451 439 450T476 442T515 424T544 391T556 337Q556 286 517 179T477 56'], - - // LATIN SMALL LETTER I - 0x69: [694,8,405,24,367,'205 615Q205 646 229 670T283 694Q310 694 324 679T339 641Q339 610 315 586T258 562Q235 562 220 577T205 615ZM24 296Q24 305 34 328T63 380T115 430T187 452Q205 452 223 448T262 435T295 406T308 360Q308 345 287 290T240 170T207 87Q202 67 202 57Q202 42 215 42Q235 42 257 64Q288 92 302 140Q307 156 310 159T330 162H336H347Q367 162 367 148Q367 140 357 117T329 65T276 14T201 -8Q158 -8 121 15T83 84Q83 104 133 229T184 358Q189 376 189 388Q189 402 177 402Q156 402 134 380Q103 352 89 304Q84 288 81 285T61 282H55H44Q24 282 24 296'], - - // LATIN SMALL LETTER J - 0x6A: [694,202,471,-12,456,'321 616Q321 648 346 671T400 694Q425 694 440 680T456 640Q456 609 431 586T376 562Q353 562 337 577T321 616ZM297 360T297 373T294 392T288 400T278 401H276Q241 399 210 372T158 303Q151 287 148 285T129 282H123H116Q102 282 97 284T92 298Q96 331 153 391T279 451Q357 451 388 422T420 354V339L371 142Q363 111 353 71T339 13T329 -30T318 -64T308 -88T296 -109T283 -125T264 -142Q190 -202 88 -202Q44 -202 16 -181T-12 -125Q-12 -93 11 -68T68 -43Q92 -43 108 -58T124 -93Q124 -121 106 -144Q101 -150 103 -150Q120 -150 147 -128T191 -64Q194 -57 242 136T294 345Q297 360 297 373'], - - // LATIN SMALL LETTER K - 0x6B: [694,8,604,45,578,'99 -8Q71 -8 58 9T45 39Q45 51 116 336L188 622H184Q183 622 179 622T169 623T157 624T146 624T136 624T131 625Q119 628 119 642Q119 647 123 661T129 679Q133 684 144 685T220 690Q293 694 307 694Q324 694 328 679Q328 674 280 482Q231 290 231 287Q231 285 234 286Q259 302 294 334T356 390T420 433T493 452Q528 452 546 427T564 364Q564 308 538 282T480 256Q456 256 441 269T425 308Q425 339 444 359T483 384L502 389Q502 395 496 398Q493 400 483 400Q465 400 449 395T409 374T373 347T323 305T268 257Q274 256 282 256Q312 251 329 247T371 232T411 202Q431 181 431 146Q431 132 427 110T422 73Q422 44 440 44H442Q462 44 478 64T502 102T514 141Q518 157 522 159T547 162H558Q578 162 578 148Q578 118 537 56T440 -7H432Q374 -7 337 21T299 94Q299 103 301 116T304 139Q304 164 281 181T235 202L212 206H211Q176 47 160 24Q137 -8 99 -8'], - - // LATIN SMALL LETTER L - 0x6C: [694,9,348,26,296,'157 -8Q138 -8 118 -4T77 11T41 42T27 91V106L156 622H152Q151 622 147 622T137 623T125 624T114 624T104 624T99 625Q87 628 87 642Q87 647 91 661T97 679Q101 684 112 685T188 690Q261 694 275 694Q292 694 296 679L151 91Q150 85 150 71Q150 42 167 42Q186 42 205 75Q216 96 225 134Q230 155 234 158T255 162H260H271Q291 162 291 148Q290 145 289 140T283 118T271 87T254 54T229 23T197 1T157 -8'], - - // LATIN SMALL LETTER M - 0x6D: [453,8,1032,24,1006,'24 296Q25 302 27 312T41 350T65 397T104 435T159 452Q203 452 234 435Q268 419 285 384L295 392Q305 401 317 410T349 429T389 445Q411 451 446 451Q560 451 592 383Q593 380 594 379L595 375L604 384Q675 452 762 452Q893 452 916 367Q918 356 918 334Q918 285 881 183T841 66Q838 43 849 43Q876 43 901 69T940 138Q945 156 949 159T969 162H975H986Q1006 162 1006 148Q1006 138 996 115T966 63T914 13T841 -8Q794 -8 758 16T721 82Q721 96 758 199T796 351Q796 401 753 401Q702 401 662 369T599 298Q597 294 567 172T533 40Q525 22 506 7T462 -8Q435 -8 422 8T409 39Q409 48 425 114T458 248T476 320Q478 330 478 348T474 377T462 393T449 399T433 400H428Q380 400 336 363Q301 332 281 298Q278 293 247 170T214 40Q206 22 187 7T143 -8T104 7T90 39Q90 47 108 124T146 274L164 347Q166 355 166 372Q166 401 149 401Q129 401 115 379T89 306Q84 288 80 285T55 282H44Q24 282 24 296'], - - // LATIN SMALL LETTER N - 0x6E: [453,8,713,24,687,'24 296Q25 302 27 312T41 350T65 397T104 435T159 452Q203 452 234 435Q268 419 285 384L293 391Q363 452 454 452Q575 446 597 367Q599 356 599 334Q599 285 562 183T522 66Q519 43 530 43Q557 43 582 69T621 138Q626 156 630 159T650 162H656H667Q687 162 687 148Q687 138 677 115T647 63T595 13T522 -8Q475 -8 439 16T402 82Q402 96 439 199T477 351Q477 401 434 401Q421 401 409 398Q341 388 285 305L278 295L247 170Q216 46 214 40Q206 22 187 7T143 -8T104 7T90 39Q90 47 108 124T146 274L164 347Q166 355 166 372Q166 401 149 401Q129 401 115 379T89 306Q84 288 80 285T55 282H44Q24 282 24 296'], - - // LATIN SMALL LETTER O - 0x6F: [452,8,585,39,576,'254 -8Q191 -8 146 9T80 54T49 111T39 169Q39 206 53 247T96 329T176 402T292 446Q317 451 336 451L344 452Q353 452 359 452Q457 452 516 408T576 279Q576 169 488 81T254 -8ZM349 400Q321 400 287 385T231 338Q206 301 188 228T170 126Q170 99 178 83Q198 44 260 44Q367 44 409 157Q419 185 432 238T445 317Q445 336 443 348Q435 372 416 384T384 398T349 400'], - - // LATIN SMALL LETTER P - 0x70: [453,194,601,-23,594,'24 296Q25 302 27 312T41 350T65 397T103 435T157 452Q235 452 273 404Q336 452 409 452Q434 452 458 448T507 432T550 402T581 354T593 285Q593 221 564 159T480 53Q401 -8 302 -8Q290 -8 279 -7T259 -3T242 3T228 9T218 14T212 18L209 20Q208 19 190 -55T171 -131T198 -132H213Q240 -132 240 -150Q237 -187 223 -192Q219 -194 212 -194Q208 -194 176 -193T95 -192Q48 -192 24 -193T-3 -194Q-11 -194 -16 -190T-22 -182T-23 -176Q-20 -142 -7 -134Q-3 -132 20 -132H44L164 354Q165 357 165 372Q165 401 148 401Q113 401 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296ZM465 339Q465 373 447 387T403 401Q375 401 347 387T303 360T288 341Q288 338 257 216L227 93Q248 43 306 43Q332 43 361 59T410 115Q425 147 445 224Q465 309 465 339'], - - // LATIN SMALL LETTER Q - 0x71: [452,194,542,38,550,'38 159Q38 209 58 260T113 355T205 425T327 452Q338 452 348 451T366 449T382 444T394 440T405 434T414 429T422 423T429 418Q440 429 481 440T533 452Q540 452 545 447T550 437Q550 432 481 152Q410 -130 410 -131T437 -132H452Q479 -132 479 -150Q476 -187 462 -192Q458 -194 451 -194Q447 -194 414 -193T330 -192Q277 -192 249 -193T217 -194Q202 -194 197 -179Q197 -175 201 -159Q206 -139 211 -136T243 -132H283L319 15L307 10Q295 4 270 -2T220 -8Q134 -8 86 37T38 159ZM402 353Q402 358 395 368T369 390T324 401Q301 401 282 394T249 369T226 338T208 297T196 258T186 218Q166 141 166 107Q166 44 229 44Q265 44 294 61T337 95Q341 100 371 222T402 353'], - - // LATIN SMALL LETTER R - 0x72: [452,8,529,24,500,'24 296Q24 298 28 313T42 352T67 398T104 436T154 452Q198 452 230 437T273 404L282 411Q334 452 393 452Q441 452 470 423T500 350Q500 301 473 279T418 256Q395 256 379 270T363 308Q363 366 424 386Q424 388 420 391T405 398T385 401Q363 401 343 390Q321 380 289 341L252 192Q214 42 212 39Q190 -8 142 -8Q117 -8 103 7T89 39Q89 52 127 202T165 369Q165 402 148 402Q139 402 128 393T110 369Q100 348 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296'], - - // LATIN SMALL LETTER S - 0x73: [451,8,531,57,476,'140 290Q140 311 148 336T176 388T235 433T326 451H336Q355 451 373 449T418 439T460 412T476 363Q476 333 456 311T406 289Q384 289 371 302T357 335Q357 351 364 364T379 384L386 391Q386 392 381 394T362 398T330 400Q299 400 278 393T247 373T235 352T232 335Q232 322 242 312Q258 299 315 290T403 260Q457 224 457 167Q457 152 453 134T435 90T397 43T330 7T229 -8Q133 -8 95 22T57 91Q57 127 81 152T139 177Q161 177 177 164T194 121Q189 80 153 56Q179 43 236 43Q275 43 303 52T343 75T361 101T366 124Q366 148 338 161T272 180T232 186Q187 198 164 227T140 290'], - - // LATIN SMALL LETTER T - 0x74: [643,8,415,21,387,'82 382H55Q21 382 21 399Q21 422 33 439Q39 444 93 444H144L162 517Q163 522 167 541T174 567T181 589T192 611T206 627T226 639T253 643Q276 643 291 630T306 594Q306 586 288 514Q284 499 280 481T273 454L271 445Q271 444 317 444Q322 444 331 444T345 445Q377 445 377 428Q377 408 368 390Q360 382 341 382H306H255Q182 86 182 75Q182 43 201 43H204Q242 46 279 81Q298 101 309 119T323 145T330 157T350 162H356H363Q377 162 382 160T387 146Q385 136 372 114T337 64T275 14T192 -7Q131 -7 95 19T59 90V105L128 381Q128 382 82 382'], - - // LATIN SMALL LETTER U - 0x75: [452,9,681,24,655,'189 389Q189 397 187 399T176 401Q150 399 126 372T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 307 35 331T65 383T117 431T187 452Q237 452 272 427T308 362Q308 347 273 254T238 111Q238 43 291 43Q319 43 344 58T380 86T391 103T426 247T464 396Q472 414 491 429T535 444T574 429T588 397Q588 390 570 315T534 168L516 97Q514 89 514 72Q514 42 531 42Q544 42 556 56Q574 76 589 134Q594 155 598 158T619 162H624H635Q655 162 655 148Q654 142 652 132T638 94T614 47T575 9T520 -8Q509 -8 498 -7T478 -3T461 2T446 8T434 16T424 23T416 29T410 35T406 39L405 41L397 34Q347 -7 288 -7H281Q148 -7 122 78Q116 95 116 125V136Q116 174 152 273T189 389'], - - // LATIN SMALL LETTER V - 0x76: [453,8,567,24,540,'380 367Q380 397 406 425T465 453Q493 453 516 430T540 357Q540 314 524 250T467 115T373 13Q338 -8 292 -8Q218 -8 167 23T116 129Q116 178 152 275T189 388Q189 396 187 398T176 401Q148 398 125 372T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 330T64 382T116 431T189 452Q231 452 269 429T308 362Q308 346 273 255T238 114Q238 43 306 43Q336 43 363 65T407 118T437 182T456 239T462 268Q462 290 417 315Q380 335 380 367'], - - // LATIN SMALL LETTER W - 0x77: [453,8,831,24,796,'636 367Q636 400 664 426T719 453Q748 453 772 431T796 357Q796 321 782 256T727 112T633 6Q604 -8 567 -8Q466 -8 415 43Q414 42 410 38T403 31T396 25T388 18T378 11T367 5T355 0T340 -4T324 -7T306 -8Q249 -8 209 5T151 40T125 84T117 129Q117 176 153 274T190 388Q190 408 158 396Q112 376 90 306Q85 288 81 285T61 282H55H44Q24 282 24 296Q24 305 34 328T63 380T114 430T187 452Q240 452 274 427T309 362Q309 346 275 255T240 117Q240 43 317 43Q325 43 333 45T347 50T359 57T369 66T377 75T383 83T388 90L390 95Q390 99 389 110T387 129Q387 139 391 167Q393 177 419 282T448 396Q456 414 475 429T519 444Q546 444 559 428T572 397Q572 384 542 265T511 114Q511 43 579 43Q608 43 633 66T673 122T699 188T714 244L718 267Q718 291 673 315Q636 335 636 367'], - - // LATIN SMALL LETTER X - 0x78: [452,9,659,43,599,'74 282H63Q43 282 43 296Q43 298 45 307T56 332T76 365T110 401T159 433Q200 451 233 451H236Q273 451 282 450Q358 437 382 400L392 410Q434 452 483 452Q538 452 568 421T599 346Q599 303 573 280T517 256Q494 256 478 270T462 308Q462 343 488 367Q501 377 520 385Q520 386 516 389T502 396T480 400T462 398Q429 383 415 341Q354 116 354 80T405 44Q449 44 485 74T535 142Q539 156 542 159T562 162H568H579Q599 162 599 148Q599 135 586 111T550 60T485 12T397 -8Q313 -8 266 35L258 44Q215 -7 161 -7H156Q99 -7 71 25T43 95Q43 143 70 165T125 188Q148 188 164 174T180 136Q180 101 154 77Q141 67 122 59Q124 54 136 49T161 43Q183 43 200 61T226 103Q287 328 287 364T236 400Q200 400 164 377T107 302Q103 288 100 285T80 282H74'], - - // LATIN SMALL LETTER Y - 0x79: [452,202,590,24,587,'206 -150Q240 -150 268 -134T314 -95T344 -48T362 -7T367 14Q339 -7 280 -7Q230 -7 195 5T144 39T122 79T115 122Q115 175 152 274T189 388Q189 396 187 398T176 401Q148 398 125 372T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 329T64 381T116 431T188 452Q239 452 273 427T308 361Q308 347 273 253T237 109Q237 43 291 43T388 98Q388 99 425 246T463 396Q471 414 490 429T534 444T573 430T587 399Q587 386 537 186T483 -25Q461 -84 410 -126T296 -188Q248 -202 204 -202Q127 -202 96 -175T64 -114Q64 -82 86 -57T144 -31Q169 -31 184 -45T199 -83Q199 -89 198 -94T196 -104T193 -113T189 -120T184 -128T179 -134T173 -141T168 -147Q189 -150 206 -150'], - - // LATIN SMALL LETTER Z - 0x7A: [452,8,555,34,539,'66 -8H60Q34 -8 34 5Q34 9 42 22T70 59T115 110Q162 156 255 229T381 332L389 339H381Q348 332 298 329T212 325T172 321Q168 318 151 318H146Q116 318 116 332Q116 334 118 342Q128 374 154 402Q205 452 265 452Q304 452 352 422T426 392Q441 392 462 421T485 451T508 452H518Q539 452 539 438Q539 431 516 401T458 334Q412 289 312 210Q229 146 191 111L183 103H195Q203 103 213 104T240 107T268 110Q301 114 337 116T391 119T428 123T455 134T469 157Q473 166 495 166Q521 166 525 161Q532 156 528 141Q510 81 456 37T337 -7Q297 -7 251 22T177 52Q154 52 134 38T100 8L88 -7Q86 -8 66 -8'], - - // GREEK CAPITAL LETTER GAMMA - 0x393: [680,0,657,43,777,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H763Q769 677 772 673T776 666L777 664Q777 659 766 549T751 433Q745 424 723 424Q704 424 699 427T693 441Q693 444 695 467T697 513Q697 543 689 563T670 594T636 610T592 617T534 618H516H456L455 614Q455 613 387 339T317 64Q317 62 375 62H411Q430 62 438 59T447 44Q444 7 430 2Q426 0 416 0Q409 0 359 1T231 2Q152 2 111 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], - - // GREEK CAPITAL LETTER DELTA - 0x394: [711,0,958,59,904,'65 0Q59 6 59 9T61 16Q64 20 334 357T608 698Q616 706 629 710Q630 710 634 710T644 710T656 711Q686 711 694 703Q698 699 700 693Q706 674 805 345T904 14Q904 7 894 1L479 0H65ZM630 342L567 551L232 134L462 133H693Q693 137 630 342'], - - // GREEK CAPITAL LETTER THETA - 0x398: [702,17,867,54,844,'358 -17Q218 -17 136 49T54 243Q54 298 70 356T123 474T211 582T338 663T504 702H527Q578 702 590 701Q709 688 776 622T844 441Q844 379 825 315T765 192T668 86T532 11T358 -17ZM700 474Q700 525 685 561T642 616T587 643T528 652Q390 652 301 534Q252 472 225 373T198 210Q198 160 214 125T256 71T311 44T372 36Q484 36 571 119Q639 189 669 299T700 474ZM366 428Q366 425 364 419T362 411H466L570 412L573 422Q576 437 581 441T604 445Q620 445 623 444Q636 440 636 429Q636 423 616 340T593 253Q586 243 572 243H566Q545 243 539 249Q536 251 535 253T534 258T534 263T535 270T537 277H329L326 266Q323 251 318 247T295 243Q279 243 276 244Q263 248 263 259Q263 265 283 346Q288 366 295 394Q304 431 308 438T326 445H334H338Q366 445 366 428'], - - // GREEK CAPITAL LETTER LAMDA - 0x39B: [711,0,806,44,776,'439 0Q425 6 425 18Q425 35 436 57Q442 62 485 62Q525 62 525 64L478 483Q478 484 465 463T422 394T350 277Q222 69 222 68Q223 67 224 67Q229 64 271 62Q290 62 297 59T305 45Q305 38 302 28Q297 9 293 5T274 0Q270 0 238 1T159 2Q133 2 105 2T72 1Q56 1 52 3T44 15Q44 19 48 35Q53 55 58 58T89 62Q142 64 151 73Q154 76 345 387T538 699Q550 711 570 711H580H592Q613 711 618 695Q619 692 654 379T690 63Q690 62 726 62H746Q776 62 776 44Q773 7 759 2Q755 0 747 0Q743 0 707 1T600 2Q502 2 476 1L439 0'], - - // GREEK CAPITAL LETTER XI - 0x39E: [675,0,841,62,867,'206 466Q175 466 175 484Q175 487 201 574T230 666Q235 673 241 675H547Q853 675 857 673Q867 668 867 657Q867 655 850 569T832 478Q827 466 808 466H802H795Q773 466 771 481Q771 486 775 508T779 541V549H774Q755 552 505 552Q281 551 267 548Q262 548 255 533T242 496T233 472Q228 466 206 466ZM259 255H252Q231 255 228 270Q228 275 248 355T270 439Q277 448 288 448H298Q321 448 326 440Q331 434 326 414Q326 413 486 413H647L650 424Q654 441 658 444T678 448H683H693Q702 448 705 446T714 432L694 348Q674 267 669 261Q664 255 652 255H643Q622 255 617 261Q613 265 613 272T613 283T616 289Q616 290 456 290H295L294 285Q293 280 292 275T288 265T281 257Q278 255 259 255ZM150 131Q150 124 281 123Q346 123 390 123Q640 123 664 126Q668 127 675 127Q686 131 704 198Q708 213 713 216T733 220H738Q755 220 759 218Q768 213 768 203Q768 198 741 105T710 8Q708 4 699 0H388Q77 0 73 2Q62 7 62 18Q62 27 81 115Q99 206 102 212Q106 220 120 220H129Q140 220 145 220T155 215T160 202Q160 196 159 192Q150 145 150 131'], - - // GREEK CAPITAL LETTER PI - 0x3A0: [680,0,982,43,1026,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H1011Q1022 675 1026 665Q1022 626 1009 620Q1005 618 956 618H907L906 614Q906 613 838 339T768 64Q768 62 812 62H839Q871 62 871 44Q867 6 854 2L850 0L808 1Q782 2 675 2Q600 2 560 1T516 0Q499 0 494 15Q498 54 511 60Q515 62 564 62H613L614 66Q614 67 682 341T752 616Q752 618 604 618H456L455 614Q455 613 387 339T317 64Q317 62 361 62H388Q420 62 420 44Q416 6 403 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], - - // GREEK CAPITAL LETTER SIGMA - 0x3A3: [686,0,885,69,902,'847 430Q828 430 823 434T817 450Q817 454 817 466T818 487Q818 526 809 551T784 591T737 613T675 622T590 624H528H430L513 487Q594 351 596 345Q596 335 590 330Q583 323 418 204L250 81L363 80Q533 80 591 89T694 142Q739 185 765 252Q772 268 776 271T799 274Q816 274 820 272Q832 266 830 254Q829 250 784 130T736 7Q732 3 725 0H405Q84 0 80 2Q69 7 69 18Q69 26 75 32Q76 32 98 48T168 100T255 164L432 293Q429 300 329 465T225 637Q223 675 245 686H888Q900 680 902 671Q902 667 890 556T876 441Q871 430 847 430'], - - // GREEK CAPITAL LETTER UPSILON - 0x3A5: [703,0,671,32,802,'32 544Q32 586 91 644T229 703Q277 703 311 683T363 628T389 560T397 491V478L404 491Q455 589 526 646T677 703Q730 703 766 671T802 584Q802 551 793 541T766 531H757L736 532L732 535L729 539V549Q731 569 715 575T658 581H650Q545 581 477 443Q453 392 443 351Q441 345 424 273T389 133T371 64Q371 62 428 62H461Q483 62 492 59T501 44Q498 10 485 2L480 0L431 1Q401 2 278 2T127 1L85 0Q71 5 71 17Q71 24 74 33Q77 46 78 49T84 57T95 61T118 62H154H216Q232 126 249 193T273 287T287 345T296 388T299 416T300 452Q294 581 198 581Q154 581 132 575T106 562T99 546T86 533Q82 531 60 531L39 532Q32 537 32 544'], - - // GREEK CAPITAL LETTER PHI - 0x3A6: [686,0,767,29,737,'323 624H293Q267 624 261 626T251 639Q255 678 268 684Q272 686 293 686Q348 684 475 684Q557 684 600 685T647 686H648Q671 686 671 668Q667 632 655 626Q650 624 588 624H525L500 520Q500 519 520 518T579 507T656 480Q737 440 737 372Q737 294 648 237Q562 180 426 169L412 168L399 118Q386 66 386 65L385 62H443H479Q498 62 506 59T515 44Q511 8 499 2L494 0L447 1Q417 2 298 2Q212 2 167 1T118 0Q100 0 95 15Q99 54 112 60Q116 62 179 62H241Q242 64 254 114T266 167Q266 168 262 168Q256 168 237 170T180 181T110 205T54 249T29 316Q29 391 112 446T327 516Q345 518 349 518Q351 518 353 518L355 519Q356 520 368 570T381 623Q381 624 323 624ZM342 466Q341 467 339 467Q320 467 283 455T225 420Q181 361 181 296Q181 273 193 257T222 233T254 222T277 219L280 220Q281 220 311 342T342 466ZM583 389Q583 409 576 423T557 444T533 456T509 463T492 467H486L455 343Q444 300 437 271T428 231T426 219Q430 219 445 222T483 232T521 250Q551 269 567 310T583 389'], - - // GREEK CAPITAL LETTER PSI - 0x3A8: [686,0,714,22,790,'205 471Q205 445 196 403T186 333Q186 303 194 281T218 248T240 233T262 224L361 623Q361 624 303 624Q296 624 284 624T266 623Q232 623 232 641Q232 648 235 657Q240 678 244 682T268 686H273Q329 684 457 684Q502 684 540 684T599 685T626 686H628Q651 686 651 668Q649 633 631 624H505L407 227Q410 228 416 229T439 239T472 259T507 294T539 345Q549 365 563 416T597 498T649 538Q657 540 717 540Q725 540 737 540T755 541Q790 541 790 524Q790 512 784 497Q780 491 767 490T742 477Q736 471 731 463T722 449T715 433T710 419T705 403T701 389Q686 340 658 302T599 240T530 201T463 179T404 169L391 168L379 116Q365 67 365 63Q365 62 422 62H455Q477 62 486 59T495 44Q492 10 479 2L474 0L427 1Q397 2 278 2T131 1L90 0Q76 5 76 17Q76 24 79 33Q82 46 83 49T89 57T100 61T123 62H159H221Q247 162 247 168H244Q241 169 239 169Q202 176 178 182T123 207T74 252Q46 291 46 351Q46 375 52 404T59 454Q59 489 40 489Q32 489 27 494T22 507Q22 535 37 538Q40 540 99 540H128Q168 540 186 528T205 471'], - - // GREEK CAPITAL LETTER OMEGA - 0x3A9: [703,0,879,93,887,'162 119Q181 115 235 115L273 116Q273 133 231 222T180 345Q173 368 173 391V406V414Q173 477 214 540Q255 600 315 635Q353 661 423 682T585 703Q656 703 711 690T799 656T851 608T879 555T886 503Q886 449 860 401Q840 359 810 322T725 230T643 146Q619 117 619 116T650 115Q707 115 722 120Q730 123 750 165T775 210Q779 212 796 212Q828 212 828 196Q828 191 807 144T764 52L743 7Q740 4 740 4T733 2T717 0T686 0H632H573Q535 0 526 3T517 17Q517 44 544 103T617 243T671 341Q729 454 729 535Q729 599 686 625T583 652Q549 652 517 645T450 616T388 561T344 470T327 340Q327 304 331 237T336 135Q336 93 330 50T313 2Q308 0 208 0H142Q107 0 100 4T93 25Q93 28 93 41T95 77T96 118L100 199Q105 208 109 210T131 212Q147 212 151 210T161 199V160Q161 131 162 125V119'], - - // GREEK SMALL LETTER ALPHA - 0x3B1: [452,8,761,39,712,'39 166Q39 213 59 261T117 353T219 424T362 452Q420 452 466 433T536 384T573 325T586 269V265Q593 272 609 308T636 381Q640 397 644 399T669 402H680Q700 402 700 388Q700 379 691 351T659 276T604 188L593 173L595 153Q600 79 612 43H618Q634 45 642 51T653 64T658 71Q661 73 684 73Q712 73 712 59Q712 39 685 16T603 -7Q588 -7 575 -5T551 2T532 12T516 24T503 37T494 49T487 60T481 69L469 61Q362 -8 251 -8Q159 -8 99 36T39 166ZM260 43Q310 43 361 63T438 101T465 124Q458 240 453 277Q435 401 354 401Q291 401 245 355Q230 337 217 313Q201 279 186 216T170 126Q170 72 208 54Q230 43 260 43'], - - // GREEK SMALL LETTER BETA - 0x3B2: [701,194,660,28,638,'59 -194H49Q31 -194 28 -182Q28 -178 107 139T192 473Q212 533 248 580T324 652T395 689T450 701H461Q514 701 551 688T605 652T630 607T637 561Q637 546 634 526T611 465T556 393Q572 382 590 347T608 262Q608 146 522 69T299 -8Q279 -8 261 -6T228 2T204 13T183 26T169 37T157 48L150 56L120 -64Q113 -90 104 -128Q93 -175 89 -184T73 -194H59ZM531 592Q531 651 463 651Q399 651 341 600T253 466Q250 458 217 327T182 185Q180 176 180 159Q180 108 212 76T301 44Q330 44 354 51T393 65T423 91T444 118T459 151T468 179T475 206Q490 264 491 296Q491 313 489 326T484 345L482 350Q481 350 477 348T464 344T444 340T413 335T372 333T334 334T301 340T274 355T265 380Q265 444 397 444Q425 444 445 441T476 436L485 433Q489 433 499 458Q509 482 520 527T531 592ZM424 390Q424 393 389 393Q383 393 374 393T362 392Q348 392 333 388Q345 384 379 384Q424 384 424 390'], - - // GREEK SMALL LETTER GAMMA - 0x3B3: [451,211,590,5,617,'5 269Q5 285 19 312T57 368T124 421T215 451H241Q274 451 303 439T353 406T389 361T416 311T432 266T442 232L444 220L446 216L450 226Q473 278 513 357T561 441Q566 444 584 444H594Q617 444 617 430Q617 426 596 389T536 273T462 110L452 84L451 70Q447 12 427 -76T388 -192Q375 -211 355 -211Q339 -211 332 -198T325 -171Q325 -114 386 64L393 84V98Q393 181 371 241Q360 280 319 303T210 327Q158 327 126 317T84 296T68 272T59 258Q55 256 36 256Q23 256 18 256T9 260T5 269'], - - // GREEK SMALL LETTER DELTA - 0x3B4: [726,8,522,39,513,'216 610Q216 640 229 664T262 700T299 719T327 725Q330 725 406 709T487 690Q513 681 513 651Q513 627 494 607T450 587Q417 587 378 631Q346 663 314 663Q286 663 272 639Q271 637 271 634Q271 609 344 536L397 484Q438 448 458 410T478 313Q478 234 443 147T338 18Q298 -8 249 -8Q214 -8 180 0T113 26T60 81T39 168Q39 200 50 237T87 316T160 391T272 442L260 465Q216 553 216 610ZM348 235Q348 274 336 313T310 372L298 392Q295 391 290 390T269 380T241 359T212 323T185 267Q157 168 157 130Q157 83 186 63T255 43Q280 43 300 67Q317 89 332 138T348 235'], - - // GREEK SMALL LETTER EPSILON - 0x3B5: [461,18,529,36,481,'224 -17Q126 -17 81 22T36 112Q36 178 84 226L93 236L88 246Q79 264 79 289Q79 341 124 388Q201 461 333 461Q402 461 455 425Q480 409 481 390Q481 365 464 350T428 334Q415 334 387 352T313 370Q141 370 141 293Q141 275 146 270Q147 270 148 270T155 272Q202 291 263 291H270Q349 291 349 244Q349 195 281 183Q274 182 239 182Q201 182 184 185T137 200Q123 188 112 168T100 129T112 98T148 81T189 75T237 74H243H251Q288 74 310 75T359 86T398 112Q405 124 417 124Q426 124 432 117T439 100Q439 88 427 70T390 32T322 -3T224 -17ZM286 238Q286 240 253 240Q245 240 234 239T216 237T209 235Q209 232 250 232Q286 232 286 238'], - - // GREEK SMALL LETTER ZETA - 0x3B6: [711,202,508,48,521,'361 711Q373 711 381 703T389 683Q389 681 388 676T383 656T376 618V612H379Q385 618 429 618Q521 618 521 572Q521 551 506 534Q483 510 415 507Q385 507 371 511T336 536L326 528Q254 472 204 381T154 209Q154 190 157 177Q159 165 162 154T170 135T182 119T195 106T212 95T229 86T249 78T269 72T290 66T311 60Q385 37 388 36Q437 14 454 -36Q456 -46 456 -64Q456 -83 455 -90Q445 -132 413 -167T333 -202Q300 -202 257 -191T206 -169Q203 -164 203 -158Q203 -148 210 -140T231 -130Q239 -130 263 -139T326 -151H329Q337 -151 342 -150T352 -143T357 -123Q356 -117 355 -113T350 -104T344 -96T335 -90T324 -85T310 -80T294 -74T275 -68T254 -62Q253 -62 231 -56T205 -48T179 -39T150 -26T125 -10T100 11T80 37T62 70T53 109T48 157Q48 281 123 396T317 586V612Q319 638 320 649T325 678T338 703T361 711ZM454 564Q445 567 424 567Q407 567 398 565T387 563Q387 558 411 558Q434 558 450 562L454 564'], - - // GREEK SMALL LETTER ETA - 0x3B7: [453,211,600,24,600,'24 296Q25 302 27 312T41 350T65 397T103 435T157 452Q202 452 233 435Q267 419 284 384L294 392Q304 401 316 410T348 429T388 445Q410 451 445 451H453Q468 451 482 450T519 443T558 425T587 391T600 337V327Q600 311 538 64Q484 -158 478 -168Q457 -211 409 -211Q386 -211 372 -197T357 -161Q357 -158 415 80Q476 330 477 348Q477 366 473 377T461 393T448 399T432 400H427Q379 400 335 363Q300 332 280 298Q277 293 246 170T213 40Q205 22 186 7T142 -8T103 7T89 39Q89 49 106 117T142 260T164 351Q166 363 166 372Q166 402 148 402Q126 402 110 369Q100 350 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296'], - - // GREEK SMALL LETTER THETA - 0x3B8: [702,8,562,40,554,'213 -8Q130 -8 85 50T40 200V207Q40 303 83 428Q122 535 189 608Q279 702 381 702Q410 702 437 693T492 661T537 593T554 486Q554 428 539 362T495 230T425 111T330 25T213 -8ZM433 562Q433 600 419 625T377 651Q363 651 348 644T311 619T268 557T229 453Q225 441 217 411T208 378H401Q433 500 433 562ZM161 140Q161 43 217 43Q249 43 280 74Q310 103 332 150T378 287Q385 313 385 315Q385 316 289 316H192Q191 308 183 275T169 205T161 140'], - - // GREEK SMALL LETTER IOTA - 0x3B9: [452,8,412,38,386,'161 -8Q111 -8 75 16T38 85Q38 95 48 121T80 214T123 368L124 374Q126 381 127 386T132 399T139 414T149 428T162 440T180 448T203 452Q226 452 241 439T257 404Q257 386 230 290T171 111Q157 73 157 57Q157 43 166 43Q209 43 258 69T322 144Q326 157 330 159T348 162H355H366Q386 162 386 148Q386 143 383 132T367 100T335 61Q301 27 253 10T161 -8'], - - // GREEK SMALL LETTER KAPPA - 0x3BA: [452,8,668,45,642,'258 405Q258 394 251 364T237 308T230 281T238 284T270 306T330 349Q365 377 389 394T450 427T519 444Q545 444 559 430T574 391Q574 360 551 336T491 312Q469 312 454 326T439 364Q439 372 438 372Q433 372 395 344T320 289T283 260H285Q287 260 290 260T297 259Q495 248 495 146Q495 132 491 110T486 74Q486 43 505 43Q520 43 531 53Q559 72 578 141Q582 157 586 159T611 162H622Q642 162 642 148T627 100T578 29T504 -7H495Q435 -7 399 22T363 96Q363 111 366 122T369 142Q369 155 364 165T347 182T326 193T298 200T269 204T238 207T212 210L211 206L190 123L169 40Q161 22 142 7T98 -8T59 7T45 39Q45 48 67 139T112 317L134 404Q142 424 161 438T204 452Q226 452 242 440T258 405'], - - // GREEK SMALL LETTER LAMDA - 0x3BB: [694,13,671,40,652,'95 -13Q70 -13 55 4T40 41Q40 65 61 88Q65 92 210 207T357 322L235 602Q217 640 185 643Q182 643 178 644T173 645Q161 651 161 666Q161 677 167 684T181 692Q189 694 212 694Q335 694 358 660Q362 653 500 340T647 18Q652 10 652 6Q652 -8 622 -8H589H538L526 -5Q506 1 500 8Q494 16 444 128Q442 133 440 138L387 259L265 134Q156 20 137 4T95 -13'], - - // GREEK SMALL LETTER MU - 0x3BC: [452,211,708,34,682,'294 -8Q265 -8 244 -5T213 1T201 4Q200 4 192 -32T172 -111T155 -168Q134 -211 86 -211Q62 -211 48 -196T34 -158Q37 -144 103 123T174 404Q182 424 201 438T244 452Q271 452 284 436T298 404Q298 392 267 269T235 114Q235 43 305 43Q342 43 375 68T418 110Q420 112 455 253T492 397Q514 444 562 444Q587 444 601 429T615 397Q615 387 599 320T563 178T542 93Q540 81 540 72Q540 42 558 42Q580 42 596 75Q606 94 616 134Q621 155 624 158T646 162H651H662Q682 162 682 148Q681 142 679 132T665 94T641 47T602 9T548 -8Q523 -8 502 -3T468 11T446 27T432 40L429 46Q367 -8 294 -8'], - - // GREEK SMALL LETTER NU - 0x3BD: [452,2,577,38,608,'88 382Q70 382 65 385T59 402T64 427T78 443Q79 444 157 448T247 452Q256 452 261 448T266 440L267 437Q267 432 223 252L177 71L192 77Q293 117 371 199T480 388Q489 424 511 438T556 452Q579 452 593 438T608 402Q608 378 593 340T540 251T446 152T299 62T96 -1Q91 -2 78 -2Q38 -2 38 15Q38 22 82 198L127 379Q124 382 88 382'], - - // GREEK SMALL LETTER XI - 0x3BE: [711,201,508,23,490,'287 648Q291 671 293 680T305 700T329 711Q339 711 347 705T356 687Q356 680 351 653T345 619Q345 615 346 615Q358 618 398 618Q490 618 490 572Q490 553 476 536T434 512Q411 508 378 508H366Q332 508 306 534L298 525Q271 496 254 456T237 375Q237 336 244 336Q272 346 319 346H325Q354 346 372 344T406 331T422 300Q422 252 350 238Q332 236 303 236Q286 236 269 238T240 242T218 247T202 252L196 254Q191 254 174 237T141 191T124 139Q124 108 151 92T267 46Q285 40 295 37Q308 33 332 25T366 13T392 3T415 -8T432 -20T445 -36T451 -55T454 -80Q454 -118 427 -153T358 -199Q349 -201 327 -201Q313 -201 298 -200T271 -196T246 -191T226 -185T210 -180T200 -176L196 -174Q187 -170 187 -158T196 -138T216 -130Q217 -130 254 -140T329 -151Q349 -151 349 -135Q349 -127 340 -122T293 -104Q260 -93 238 -85Q130 -48 115 -41Q71 -19 47 15T23 88Q23 126 48 179T130 277L144 288L136 297Q99 336 99 390Q99 456 148 514T285 602V619Q285 624 286 635T287 648ZM355 563Q362 560 376 558Q424 558 423 564Q405 567 390 567Q369 567 355 563ZM279 292Q297 287 315 287Q355 287 355 293Q355 296 321 296Q316 296 308 296L301 295Q295 295 289 294L279 292'], - - // GREEK SMALL LETTER OMICRON - 0x3BF: [452,8,585,39,576,'254 -8Q191 -8 146 9T80 54T49 111T39 169Q39 206 53 247T96 329T176 402T292 446Q317 451 336 451L344 452Q353 452 359 452Q457 452 516 408T576 279Q576 169 488 81T254 -8ZM349 400Q321 400 287 385T231 338Q206 301 188 228T170 126Q170 99 178 83Q198 44 260 44Q367 44 409 157Q419 185 432 238T445 317Q445 336 443 348Q435 372 416 384T384 398T349 400'], - - // GREEK SMALL LETTER PI - 0x3C0: [444,8,682,23,674,'55 289H43Q23 289 23 303Q23 308 33 322Q116 434 199 443Q200 444 418 444Q591 444 617 444T652 439Q674 426 674 400Q674 378 661 360T625 335Q621 334 549 333H479L477 321Q476 312 476 279Q476 219 491 174T521 104T536 65Q536 38 511 15T457 -8Q403 -8 386 94Q384 110 384 139Q384 181 391 229T406 304L413 331Q413 333 365 333H316L315 329Q315 328 312 314T301 272T288 220Q274 167 258 103Q244 49 240 38T228 18Q225 16 224 14Q200 -8 172 -8Q146 -8 132 7T118 44Q118 54 121 61Q122 65 142 102T190 195T235 293Q250 329 250 333Q177 333 166 332Q115 328 88 301L77 290L55 289'], - - // GREEK SMALL LETTER RHO - 0x3C1: [451,211,612,34,603,'307 -8Q277 -8 251 0T215 14L205 20Q203 18 193 -25T171 -114T155 -168Q134 -211 87 -211Q64 -211 49 -198T34 -162Q34 -158 137 254Q153 299 179 334T232 390T277 419T311 434Q357 451 403 451Q435 451 455 449T506 435T560 400Q603 357 603 285Q603 172 520 82T307 -8ZM474 343Q474 364 458 382T409 400H406Q339 400 299 341Q281 313 264 257Q261 248 242 170T222 89Q222 84 230 74T260 54T308 43Q334 43 365 57T417 110Q437 145 456 228Q474 298 474 332V343'], - - // GREEK SMALL LETTER FINAL SIGMA - 0x3C2: [451,105,424,33,457,'33 209Q33 277 80 334T195 421T330 451H344Q410 451 439 429Q457 417 457 402Q457 386 445 375T420 363Q415 363 406 368T383 383T354 398Q347 400 330 400Q256 400 196 361T135 265V257Q135 242 147 225T174 199L358 107Q400 77 400 28T362 -63T271 -105Q254 -105 229 -99T195 -86Q188 -82 188 -71Q188 -56 197 -50T216 -44Q225 -44 237 -48T270 -53H282Q293 -44 293 -31Q293 -19 283 -10Q278 -4 200 33T115 76Q77 98 55 133T33 209'], - - // GREEK SMALL LETTER SIGMA - 0x3C3: [445,8,686,35,677,'35 151Q35 190 51 236T99 327T184 404T306 443Q307 443 316 443T342 443T378 444T425 444T476 444Q606 444 626 444T655 439Q677 426 677 400Q677 358 639 340Q625 333 563 333Q510 333 510 331Q518 319 518 272Q518 155 437 74T226 -8Q123 -8 79 41T35 151ZM396 278Q396 314 375 323T305 332Q249 332 222 310T180 243Q171 219 162 178T153 116V110Q153 43 234 43Q347 43 382 199Q383 203 383 204Q396 255 396 278'], - - // GREEK SMALL LETTER TAU - 0x3C4: [444,13,521,23,610,'55 289H43Q23 289 23 303Q23 308 33 322Q116 434 199 443Q200 444 386 444Q571 444 577 442Q588 441 599 432T610 402Q610 359 572 340Q561 335 547 334T452 333H353V331Q352 330 342 261T320 119T306 40Q300 18 281 3Q257 -13 233 -13Q210 -13 196 0T181 35Q181 44 182 48Q183 53 229 187T279 331Q279 333 228 333H209Q163 333 136 328T88 301L77 290L55 289'], - - // GREEK SMALL LETTER UPSILON - 0x3C5: [453,9,631,24,604,'189 388Q189 396 187 398T176 401Q144 399 122 369T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 330T64 382T116 431T188 452Q232 452 270 430T308 361Q308 345 275 258T241 123Q241 44 336 44H344Q380 44 415 73T474 140T511 214T526 267Q526 280 513 292Q505 301 486 311T456 333T444 367Q444 400 471 426T529 453Q555 453 579 431T604 358Q604 327 592 271T557 172Q550 157 541 142T510 97T464 47T404 9T328 -8Q264 -8 219 5T154 41T125 85T117 131Q117 182 153 277T189 388'], - - // GREEK SMALL LETTER PHI - 0x3C6: [452,216,747,52,703,'238 4Q230 5 218 8T174 26T118 58T73 112T53 190Q53 219 60 246Q77 313 103 362T143 426T163 443Q165 444 186 444Q217 444 217 432Q217 425 188 392Q157 351 137 291T116 206Q116 127 263 109L276 107L288 139Q347 304 414 378T566 452Q621 449 662 412T703 286Q698 167 598 82T357 -8H332V-11Q332 -12 327 -46T317 -116T310 -157Q306 -180 286 -198T234 -216Q211 -216 197 -203T183 -168Q183 -160 184 -155Q184 -152 198 -112T225 -34T238 4ZM637 260Q637 303 607 322T541 341Q502 341 466 319T405 264Q368 218 356 159Q348 111 348 104Q348 103 361 103Q502 103 569 152T637 260'], - - // GREEK SMALL LETTER CHI - 0x3C7: [452,201,718,32,685,'58 -194Q32 -194 32 -164Q32 -153 46 -139L175 -13Q296 104 296 106Q271 232 226 308Q165 401 141 401Q128 401 117 390T100 365Q94 350 91 349T69 346H45Q35 348 35 359Q35 380 62 411T133 450Q143 452 165 452Q286 452 329 402Q347 379 366 333T394 254T404 215Q404 213 405 213Q405 212 420 227T463 268T520 324Q637 437 640 438Q647 444 661 444Q667 444 676 438T685 419Q685 405 670 389T549 271L420 145Q433 85 444 53Q466 -25 509 -88T575 -151Q590 -151 600 -140T617 -114T626 -98Q629 -96 650 -96H655Q681 -96 681 -108Q681 -114 679 -119Q670 -148 646 -169T591 -199Q581 -201 550 -201Q422 -201 381 -143Q345 -88 316 20L311 39L230 -40Q144 -126 114 -153Q85 -182 77 -188T58 -194'], - - // GREEK SMALL LETTER PSI - 0x3C8: [695,202,758,24,732,'244 141Q244 117 254 98T277 70T305 55T329 48T342 47L344 48L424 366Q501 678 505 686Q508 691 512 692T533 694T555 693T562 688T565 683Q565 678 486 362T406 45Q406 43 415 43Q467 49 514 78T590 143T636 213T653 266Q653 282 641 293T613 311T585 332T572 367Q572 397 598 425T657 453Q684 453 708 430T732 358Q732 330 723 287T706 225Q671 124 578 58T401 -8H393L370 -101Q346 -196 345 -197Q340 -202 316 -202H306Q286 -202 286 -188Q286 -187 296 -144T318 -57T331 -8Q331 -6 328 -6Q290 -6 233 11T148 62Q119 97 119 146Q119 181 154 275T190 388Q190 401 181 401Q154 401 129 375T90 306Q85 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 329T64 381T116 431T189 452Q237 452 273 428T309 362Q309 343 277 260T244 141'], - - // GREEK SMALL LETTER OMEGA - 0x3C9: [453,8,718,24,691,'532 367Q532 399 559 426T618 453Q645 453 668 430T691 357Q691 319 677 261T649 171Q640 149 626 125T586 68T521 14T438 -7Q401 -7 372 7T333 30T311 57Q246 -8 165 -8Q119 -8 82 19T30 102Q24 126 24 163V178Q24 210 37 255Q61 346 118 424Q141 451 161 451Q174 451 184 443T194 419Q194 402 179 387Q91 273 91 206Q91 159 122 138T189 117T281 145V173Q283 223 294 253Q304 276 323 289T364 303Q386 303 400 287T415 250Q415 219 385 157L378 144Q378 142 388 136T419 124T462 117Q522 117 566 165T610 255Q610 288 561 320Q532 337 532 367'], - - // GREEK THETA SYMBOL - 0x3D1: [701,8,692,24,656,'114 132Q114 153 140 253T166 372Q166 402 148 402Q126 402 110 369Q100 350 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296Q25 302 27 312T41 350T65 397T104 435T158 452Q184 452 211 445T263 414T288 354V339L265 245Q237 134 237 118V107V102Q237 87 239 77T257 56T300 43Q395 43 455 254Q479 346 479 347L460 354Q294 408 294 528Q294 606 350 653T464 701Q536 701 579 659Q634 601 634 491Q634 468 630 438T623 388L620 370Q624 370 631 369T647 364T656 352Q656 347 653 335Q647 317 642 316Q640 315 637 315Q635 315 619 317Q606 319 605 316Q605 315 603 308Q587 248 550 177T457 57Q379 -8 293 -8Q192 -8 153 23T114 116V132ZM519 566Q519 600 507 625T464 651Q425 651 391 617T356 529Q356 501 370 478T404 441T443 417T477 404L491 400Q493 400 499 428T512 497T519 566'], - - // GREEK PHI SYMBOL - 0x3D5: [694,202,712,50,693,'274 -7Q232 -4 195 7T125 38T71 94T51 176V190Q51 213 60 242T95 307T156 373T255 425T393 451L397 452L427 568Q434 597 443 636Q452 677 456 685T472 694H486H495Q517 694 517 680L514 665Q510 650 503 621T489 564L460 451H469Q527 447 574 430T657 370T693 266Q693 163 599 82T350 -7H346L322 -100Q301 -190 295 -197Q291 -202 283 -202H269H258Q238 -202 238 -188Q238 -186 260 -96L283 -7H274ZM449 400Q448 400 404 225T359 47T366 45Q464 55 516 119Q542 149 558 199T575 295Q575 387 462 398L449 400ZM384 398Q384 399 381 399Q350 399 298 378T214 308Q168 236 168 149Q168 68 259 49Q282 44 294 44H295L384 398'], - - // GREEK PI SYMBOL - 0x3D6: [444,8,975,23,961,'55 289H43Q23 289 23 303Q23 308 33 322Q116 434 199 443Q200 444 562 444Q922 444 928 442Q961 434 961 400Q961 376 944 355T886 333H870Q872 322 872 295V279Q872 230 842 165T751 46T618 -8Q581 -8 554 6T513 45T494 84T484 119Q484 121 478 114Q477 113 476 111Q384 -7 268 -7H265Q251 -7 237 -4T199 11T162 54T147 132Q147 149 149 166T155 198T165 229T176 256T189 281T200 301T211 319T220 333H199Q120 333 88 301L77 290L55 289ZM639 103Q674 103 712 122T780 188T811 295Q811 318 808 330V333H289Q274 318 244 263T214 169Q214 133 236 118T288 103Q351 103 412 153T494 278Q497 290 502 292T529 295Q546 295 551 293T556 283Q556 281 553 260T550 218Q550 153 576 128T639 103'], - - // GREEK RHO SYMBOL - 0x3F1: [451,194,612,75,603,'371 -168Q357 -168 323 -171T245 -175Q143 -175 109 -150T75 -66Q75 -5 100 108T137 254Q153 299 179 334T232 390T277 419T311 434Q357 451 403 451Q435 451 455 449T506 435T560 400Q603 357 603 282Q603 213 569 148T465 38T304 -8Q273 -8 247 -2T204 14T176 31T159 46T152 53Q152 52 148 27T144 -16Q144 -36 150 -44T189 -58T293 -64Q405 -65 432 -75Q466 -88 466 -127Q466 -140 459 -172Q455 -188 451 -191T426 -194H420Q405 -194 400 -191T395 -176Q396 -170 394 -169T378 -168Q373 -168 371 -168ZM236 116Q236 77 258 60T311 43Q369 43 407 94Q429 123 451 206T474 331Q474 400 409 400H406Q339 400 299 341Q276 305 256 227T236 116'], - - // GREEK LUNATE EPSILON SYMBOL - 0x3F5: [444,7,483,44,450,'415 89Q423 89 429 74T436 46Q436 43 434 39Q432 36 420 29T380 11T322 -5Q311 -7 281 -7Q216 -7 168 10T94 54T56 110T44 167V181Q44 262 94 329Q104 343 119 357T162 391T234 425T327 443Q328 443 348 443T383 444Q434 444 442 438Q450 430 450 416Q446 392 424 383L376 382Q306 381 278 369Q230 349 208 294Q199 274 199 268Q199 267 291 267Q305 267 325 267T353 268Q383 268 394 263T406 241Q406 214 380 206Q375 205 279 205T183 203Q174 176 174 140Q174 87 208 65T292 43Q295 43 300 43T307 44Q337 49 372 69T415 89'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Math/BoldItalic/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/Italic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/Italic/Main.js deleted file mode 100644 index 6b2c3570..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/Italic/Main.js +++ /dev/null @@ -1,391 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Math/Italic/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Math-italic'] = { - directory: 'Math/Italic', - family: 'MathJax_Math', - id: 'MJMATHI', - style: 'italic', - skew: { - 0x41: 0.139, - 0x42: 0.0833, - 0x43: 0.0833, - 0x44: 0.0556, - 0x45: 0.0833, - 0x46: 0.0833, - 0x47: 0.0833, - 0x48: 0.0556, - 0x49: 0.111, - 0x4A: 0.167, - 0x4B: 0.0556, - 0x4C: 0.0278, - 0x4D: 0.0833, - 0x4E: 0.0833, - 0x4F: 0.0833, - 0x50: 0.0833, - 0x51: 0.0833, - 0x52: 0.0833, - 0x53: 0.0833, - 0x54: 0.0833, - 0x55: 0.0278, - 0x58: 0.0833, - 0x5A: 0.0833, - 0x63: 0.0556, - 0x64: 0.167, - 0x65: 0.0556, - 0x66: 0.167, - 0x67: 0.0278, - 0x68: -0.0278, - 0x6C: 0.0833, - 0x6F: 0.0556, - 0x70: 0.0833, - 0x71: 0.0833, - 0x72: 0.0556, - 0x73: 0.0556, - 0x74: 0.0833, - 0x75: 0.0278, - 0x76: 0.0278, - 0x77: 0.0833, - 0x78: 0.0278, - 0x79: 0.0556, - 0x7A: 0.0556, - 0x393: 0.0833, - 0x394: 0.167, - 0x398: 0.0833, - 0x39B: 0.167, - 0x39E: 0.0833, - 0x3A0: 0.0556, - 0x3A3: 0.0833, - 0x3A5: 0.0556, - 0x3A6: 0.0833, - 0x3A8: 0.0556, - 0x3A9: 0.0833, - 0x3B1: 0.0278, - 0x3B2: 0.0833, - 0x3B4: 0.0556, - 0x3B5: 0.0833, - 0x3B6: 0.0833, - 0x3B7: 0.0556, - 0x3B8: 0.0833, - 0x3B9: 0.0556, - 0x3BC: 0.0278, - 0x3BD: 0.0278, - 0x3BE: 0.111, - 0x3BF: 0.0556, - 0x3C1: 0.0833, - 0x3C2: 0.0833, - 0x3C4: 0.0278, - 0x3C5: 0.0278, - 0x3C6: 0.0833, - 0x3C7: 0.0556, - 0x3C8: 0.111, - 0x3D1: 0.0833, - 0x3D5: 0.0833, - 0x3F1: 0.0833, - 0x3F5: 0.0556 - }, - - // SPACE - 0x20: [0,0,250,0,0,''], - - // SOLIDUS - 0x2F: [716,215,778,139,638,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183Q157 -157 378 274T602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 691 406 241T170 -212Q166 -215 159 -215'], - - // LATIN CAPITAL LETTER A - 0x41: [716,0,750,35,726,'208 74Q208 50 254 46Q272 46 272 35Q272 34 270 22Q267 8 264 4T251 0Q249 0 239 0T205 1T141 2Q70 2 50 0H42Q35 7 35 11Q37 38 48 46H62Q132 49 164 96Q170 102 345 401T523 704Q530 716 547 716H555H572Q578 707 578 706L606 383Q634 60 636 57Q641 46 701 46Q726 46 726 36Q726 34 723 22Q720 7 718 4T704 0Q701 0 690 0T651 1T578 2Q484 2 455 0H443Q437 6 437 9T439 27Q443 40 445 43L449 46H469Q523 49 533 63L521 213H283L249 155Q208 86 208 74ZM516 260Q516 271 504 416T490 562L463 519Q447 492 400 412L310 260L413 259Q516 259 516 260'], - - // LATIN CAPITAL LETTER B - 0x42: [683,0,759,35,756,'231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229'], - - // LATIN CAPITAL LETTER C - 0x43: [705,22,715,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252'], - - // LATIN CAPITAL LETTER D - 0x44: [683,0,828,33,803,'287 628Q287 635 230 637Q207 637 200 638T193 647Q193 655 197 667T204 682Q206 683 403 683Q570 682 590 682T630 676Q702 659 752 597T803 431Q803 275 696 151T444 3L430 1L236 0H125H72Q48 0 41 2T33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM703 469Q703 507 692 537T666 584T629 613T590 629T555 636Q553 636 541 636T512 636T479 637H436Q392 637 386 627Q384 623 313 339T242 52Q242 48 253 48T330 47Q335 47 349 47T373 46Q499 46 581 128Q617 164 640 212T683 339T703 469'], - - // LATIN CAPITAL LETTER E - 0x45: [680,0,738,31,764,'492 213Q472 213 472 226Q472 230 477 250T482 285Q482 316 461 323T364 330H312Q311 328 277 192T243 52Q243 48 254 48T334 46Q428 46 458 48T518 61Q567 77 599 117T670 248Q680 270 683 272Q690 274 698 274Q718 274 718 261Q613 7 608 2Q605 0 322 0H133Q31 0 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H757Q764 676 764 669Q764 664 751 557T737 447Q735 440 717 440H705Q698 445 698 453L701 476Q704 500 704 528Q704 558 697 578T678 609T643 625T596 632T532 634H485Q397 633 392 631Q388 629 386 622Q385 619 355 499T324 377Q347 376 372 376H398Q464 376 489 391T534 472Q538 488 540 490T557 493Q562 493 565 493T570 492T572 491T574 487T577 483L544 351Q511 218 508 216Q505 213 492 213'], - - // LATIN CAPITAL LETTER F - 0x46: [680,0,643,31,749,'48 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H742Q749 676 749 669Q749 664 736 557T722 447Q720 440 702 440H690Q683 445 683 453Q683 454 686 477T689 530Q689 560 682 579T663 610T626 626T575 633T503 634H480Q398 633 393 631Q388 629 386 623Q385 622 352 492L320 363H375Q378 363 398 363T426 364T448 367T472 374T489 386Q502 398 511 419T524 457T529 475Q532 480 548 480H560Q567 475 567 470Q567 467 536 339T502 207Q500 200 482 200H470Q463 206 463 212Q463 215 468 234T473 274Q473 303 453 310T364 317H309L277 190Q245 66 245 60Q245 46 334 46H359Q365 40 365 39T363 19Q359 6 353 0H336Q295 2 185 2Q120 2 86 2T48 1'], - - // LATIN CAPITAL LETTER G - 0x47: [705,22,786,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q492 659 471 656T418 643T357 615T294 567T236 496T189 394T158 260Q156 242 156 221Q156 173 170 136T206 79T256 45T308 28T353 24Q407 24 452 47T514 106Q517 114 529 161T541 214Q541 222 528 224T468 227H431Q425 233 425 235T427 254Q431 267 437 273H454Q494 271 594 271Q634 271 659 271T695 272T707 272Q721 272 721 263Q721 261 719 249Q714 230 709 228Q706 227 694 227Q674 227 653 224Q646 221 643 215T629 164Q620 131 614 108Q589 6 586 3Q584 1 581 1Q571 1 553 21T530 52Q530 53 528 52T522 47Q448 -22 322 -22Q201 -22 126 55T50 252'], - - // LATIN CAPITAL LETTER H - 0x48: [683,0,831,31,888,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 219 683Q260 681 355 681Q389 681 418 681T463 682T483 682Q499 682 499 672Q499 670 497 658Q492 641 487 638H485Q483 638 480 638T473 638T464 637T455 637Q416 636 405 634T387 623Q384 619 355 500Q348 474 340 442T328 395L324 380Q324 378 469 378H614L615 381Q615 384 646 504Q674 619 674 627T617 637Q594 637 587 639T580 648Q580 650 582 660Q586 677 588 679T604 682Q609 682 646 681T740 680Q802 680 835 681T871 682Q888 682 888 672Q888 645 876 638H874Q872 638 869 638T862 638T853 637T844 637Q805 636 794 634T776 623Q773 618 704 340T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q520 50 522 50T528 55T534 64T540 82T547 110T558 153Q565 181 569 198Q602 330 602 331T457 332H312L279 197Q245 63 245 58Q245 51 253 49T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], - - // LATIN CAPITAL LETTER I - 0x49: [683,0,440,26,504,'43 1Q26 1 26 10Q26 12 29 24Q34 43 39 45Q42 46 54 46H60Q120 46 136 53Q137 53 138 54Q143 56 149 77T198 273Q210 318 216 344Q286 624 286 626Q284 630 284 631Q274 637 213 637H193Q184 643 189 662Q193 677 195 680T209 683H213Q285 681 359 681Q481 681 487 683H497Q504 676 504 672T501 655T494 639Q491 637 471 637Q440 637 407 634Q393 631 388 623Q381 609 337 432Q326 385 315 341Q245 65 245 59Q245 52 255 50T307 46H339Q345 38 345 37T342 19Q338 6 332 0H316Q279 2 179 2Q143 2 113 2T65 2T43 1'], - - // LATIN CAPITAL LETTER J - 0x4A: [683,22,555,57,633,'447 625Q447 637 354 637H329Q323 642 323 645T325 664Q329 677 335 683H352Q393 681 498 681Q541 681 568 681T605 682T619 682Q633 682 633 672Q633 670 630 658Q626 642 623 640T604 637Q552 637 545 623Q541 610 483 376Q420 128 419 127Q397 64 333 21T195 -22Q137 -22 97 8T57 88Q57 130 80 152T132 174Q177 174 182 130Q182 98 164 80T123 56Q115 54 115 53T122 44Q148 15 197 15Q235 15 271 47T324 130Q328 142 387 380T447 625'], - - // LATIN CAPITAL LETTER K - 0x4B: [683,0,849,31,889,'285 628Q285 635 228 637Q205 637 198 638T191 647Q191 649 193 661Q199 681 203 682Q205 683 214 683H219Q260 681 355 681Q389 681 418 681T463 682T483 682Q500 682 500 674Q500 669 497 660Q496 658 496 654T495 648T493 644T490 641T486 639T479 638T470 637T456 637Q416 636 405 634T387 623L306 305Q307 305 490 449T678 597Q692 611 692 620Q692 635 667 637Q651 637 651 648Q651 650 654 662T659 677Q662 682 676 682Q680 682 711 681T791 680Q814 680 839 681T869 682Q889 682 889 672Q889 650 881 642Q878 637 862 637Q787 632 726 586Q710 576 656 534T556 455L509 418L518 396Q527 374 546 329T581 244Q656 67 661 61Q663 59 666 57Q680 47 717 46H738Q744 38 744 37T741 19Q737 6 731 0H720Q680 3 625 3Q503 3 488 0H478Q472 6 472 9T474 27Q478 40 480 43T491 46H494Q544 46 544 71Q544 75 517 141T485 216L427 354L359 301L291 248L268 155Q245 63 245 58Q245 51 253 49T303 46H334Q340 37 340 35Q340 19 333 5Q328 0 317 0Q314 0 280 1T180 2Q118 2 85 2T49 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628'], - - // LATIN CAPITAL LETTER L - 0x4C: [683,2,681,32,647,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 217 683Q271 680 344 680Q485 680 506 683H518Q524 677 524 674T522 656Q517 641 513 637H475Q406 636 394 628Q387 624 380 600T313 336Q297 271 279 198T252 88L243 52Q243 48 252 48T311 46H328Q360 46 379 47T428 54T478 72T522 106T564 161Q580 191 594 228T611 270Q616 273 628 273H641Q647 264 647 262T627 203T583 83T557 9Q555 4 553 3T537 0T494 -1Q483 -1 418 -1T294 0H116Q32 0 32 10Q32 17 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], - - // LATIN CAPITAL LETTER M - 0x4D: [684,0,970,35,1051,'289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629'], - - // LATIN CAPITAL LETTER N - 0x4E: [683,0,803,31,888,'234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637'], - - // LATIN CAPITAL LETTER O - 0x4F: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM637 476Q637 565 591 615T476 665Q396 665 322 605Q242 542 200 428T157 216Q157 126 200 73T314 19Q404 19 485 98T608 313Q637 408 637 476'], - - // LATIN CAPITAL LETTER P - 0x50: [683,0,642,33,751,'287 628Q287 635 230 637Q206 637 199 638T192 648Q192 649 194 659Q200 679 203 681T397 683Q587 682 600 680Q664 669 707 631T751 530Q751 453 685 389Q616 321 507 303Q500 302 402 301H307L277 182Q247 66 247 59Q247 55 248 54T255 50T272 48T305 46H336Q342 37 342 35Q342 19 335 5Q330 0 319 0Q316 0 282 1T182 2Q120 2 87 2T51 1Q33 1 33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM645 554Q645 567 643 575T634 597T609 619T560 635Q553 636 480 637Q463 637 445 637T416 636T404 636Q391 635 386 627Q384 621 367 550T332 412T314 344Q314 342 395 342H407H430Q542 342 590 392Q617 419 631 471T645 554'], - - // LATIN CAPITAL LETTER Q - 0x51: [704,194,791,50,740,'399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18'], - - // LATIN CAPITAL LETTER R - 0x52: [683,21,759,33,755,'230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554'], - - // LATIN CAPITAL LETTER S - 0x53: [705,22,613,52,645,'308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24'], - - // LATIN CAPITAL LETTER T - 0x54: [677,0,584,21,704,'40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40'], - - // LATIN CAPITAL LETTER U - 0x55: [683,22,683,60,767,'107 637Q73 637 71 641Q70 643 70 649Q70 673 81 682Q83 683 98 683Q139 681 234 681Q268 681 297 681T342 682T362 682Q378 682 378 672Q378 670 376 658Q371 641 366 638H364Q362 638 359 638T352 638T343 637T334 637Q295 636 284 634T266 623Q265 621 238 518T184 302T154 169Q152 155 152 140Q152 86 183 55T269 24Q336 24 403 69T501 205L552 406Q599 598 599 606Q599 633 535 637Q511 637 511 648Q511 650 513 660Q517 676 519 679T529 683Q532 683 561 682T645 680Q696 680 723 681T752 682Q767 682 767 672Q767 650 759 642Q756 637 737 637Q666 633 648 597Q646 592 598 404Q557 235 548 205Q515 105 433 42T263 -22Q171 -22 116 34T60 167V183Q60 201 115 421Q164 622 164 628Q164 635 107 637'], - - // LATIN CAPITAL LETTER V - 0x56: [683,22,583,52,769,'52 648Q52 670 65 683H76Q118 680 181 680Q299 680 320 683H330Q336 677 336 674T334 656Q329 641 325 637H304Q282 635 274 635Q245 630 242 620Q242 618 271 369T301 118L374 235Q447 352 520 471T595 594Q599 601 599 609Q599 633 555 637Q537 637 537 648Q537 649 539 661Q542 675 545 679T558 683Q560 683 570 683T604 682T668 681Q737 681 755 683H762Q769 676 769 672Q769 655 760 640Q757 637 743 637Q730 636 719 635T698 630T682 623T670 615T660 608T652 599T645 592L452 282Q272 -9 266 -16Q263 -18 259 -21L241 -22H234Q216 -22 216 -15Q213 -9 177 305Q139 623 138 626Q133 637 76 637H59Q52 642 52 648'], - - // LATIN CAPITAL LETTER W - 0x57: [683,22,944,51,1048,'436 683Q450 683 486 682T553 680Q604 680 638 681T677 682Q695 682 695 674Q695 670 692 659Q687 641 683 639T661 637Q636 636 621 632T600 624T597 615Q597 603 613 377T629 138L631 141Q633 144 637 151T649 170T666 200T690 241T720 295T759 362Q863 546 877 572T892 604Q892 619 873 628T831 637Q817 637 817 647Q817 650 819 660Q823 676 825 679T839 682Q842 682 856 682T895 682T949 681Q1015 681 1034 683Q1048 683 1048 672Q1048 666 1045 655T1038 640T1028 637Q1006 637 988 631T958 617T939 600T927 584L923 578L754 282Q586 -14 585 -15Q579 -22 561 -22Q546 -22 542 -17Q539 -14 523 229T506 480L494 462Q472 425 366 239Q222 -13 220 -15T215 -19Q210 -22 197 -22Q178 -22 176 -15Q176 -12 154 304T131 622Q129 631 121 633T82 637H58Q51 644 51 648Q52 671 64 683H76Q118 680 176 680Q301 680 313 683H323Q329 677 329 674T327 656Q322 641 318 637H297Q236 634 232 620Q262 160 266 136L501 550L499 587Q496 629 489 632Q483 636 447 637Q428 637 422 639T416 648Q416 650 418 660Q419 664 420 669T421 676T424 680T428 682T436 683'], - - // LATIN CAPITAL LETTER X - 0x58: [683,0,828,26,852,'42 0H40Q26 0 26 11Q26 15 29 27Q33 41 36 43T55 46Q141 49 190 98Q200 108 306 224T411 342Q302 620 297 625Q288 636 234 637H206Q200 643 200 645T202 664Q206 677 212 683H226Q260 681 347 681Q380 681 408 681T453 682T473 682Q490 682 490 671Q490 670 488 658Q484 643 481 640T465 637Q434 634 411 620L488 426L541 485Q646 598 646 610Q646 628 622 635Q617 635 609 637Q594 637 594 648Q594 650 596 664Q600 677 606 683H618Q619 683 643 683T697 681T738 680Q828 680 837 683H845Q852 676 852 672Q850 647 840 637H824Q790 636 763 628T722 611T698 593L687 584Q687 585 592 480L505 384Q505 383 536 304T601 142T638 56Q648 47 699 46Q734 46 734 37Q734 35 732 23Q728 7 725 4T711 1Q708 1 678 1T589 2Q528 2 496 2T461 1Q444 1 444 10Q444 11 446 25Q448 35 450 39T455 44T464 46T480 47T506 54Q523 62 523 64Q522 64 476 181L429 299Q241 95 236 84Q232 76 232 72Q232 53 261 47Q262 47 267 47T273 46Q276 46 277 46T280 45T283 42T284 35Q284 26 282 19Q279 6 276 4T261 1Q258 1 243 1T201 2T142 2Q64 2 42 0'], - - // LATIN CAPITAL LETTER Y - 0x59: [683,-1,581,30,763,'66 637Q54 637 49 637T39 638T32 641T30 647T33 664T42 682Q44 683 56 683Q104 680 165 680Q288 680 306 683H316Q322 677 322 674T320 656Q316 643 310 637H298Q242 637 242 624Q242 619 292 477T343 333L346 336Q350 340 358 349T379 373T411 410T454 461Q546 568 561 587T577 618Q577 634 545 637Q528 637 528 647Q528 649 530 661Q533 676 535 679T549 683Q551 683 578 682T657 680Q684 680 713 681T746 682Q763 682 763 673Q763 669 760 657T755 643Q753 637 734 637Q662 632 617 587Q608 578 477 424L348 273L322 169Q295 62 295 57Q295 46 363 46Q379 46 384 45T390 35Q390 33 388 23Q384 6 382 4T366 1Q361 1 324 1T232 2Q170 2 138 2T102 1Q84 1 84 9Q84 14 87 24Q88 27 89 30T90 35T91 39T93 42T96 44T101 45T107 45T116 46T129 46Q168 47 180 50T198 63Q201 68 227 171L252 274L129 623Q128 624 127 625T125 627T122 629T118 631T113 633T105 634T96 635T83 636T66 637'], - - // LATIN CAPITAL LETTER Z - 0x5A: [683,0,683,58,723,'58 8Q58 23 64 35Q64 36 329 334T596 635L586 637Q575 637 512 637H500H476Q442 637 420 635T365 624T311 598T266 548T228 469Q227 466 226 463T224 458T223 453T222 450L221 448Q218 443 202 443Q185 443 182 453L214 561Q228 606 241 651Q249 679 253 681Q256 683 487 683H718Q723 678 723 675Q723 673 717 649Q189 54 188 52L185 49H274Q369 50 377 51Q452 60 500 100T579 247Q587 272 590 277T603 282H607Q628 282 628 271Q547 5 541 2Q538 0 300 0H124Q58 0 58 8'], - - // LATIN SMALL LETTER A - 0x61: [441,10,529,33,506,'33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328'], - - // LATIN SMALL LETTER B - 0x62: [694,11,429,40,422,'73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325'], - - // LATIN SMALL LETTER C - 0x63: [442,12,433,34,430,'34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159'], - - // LATIN SMALL LETTER D - 0x64: [694,10,520,33,523,'366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], - - // LATIN SMALL LETTER E - 0x65: [443,11,466,39,430,'39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353'], - - // LATIN SMALL LETTER F - 0x66: [705,205,490,55,550,'118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162'], - - // LATIN SMALL LETTER G - 0x67: [442,205,477,10,480,'311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328'], - - // LATIN SMALL LETTER H - 0x68: [694,11,576,48,555,'137 683Q138 683 209 688T282 694Q294 694 294 685Q294 674 258 534Q220 386 220 383Q220 381 227 388Q288 442 357 442Q411 442 444 415T478 336Q478 285 440 178T402 50Q403 36 407 31T422 26Q450 26 474 56T513 138Q516 149 519 151T535 153Q555 153 555 145Q555 144 551 130Q535 71 500 33Q466 -10 419 -10H414Q367 -10 346 17T325 74Q325 90 361 192T398 345Q398 404 354 404H349Q266 404 205 306L198 293L164 158Q132 28 127 16Q114 -11 83 -11Q69 -11 59 -2T48 16Q48 30 121 320L195 616Q195 629 188 632T149 637H128Q122 643 122 645T124 664Q129 683 137 683'], - - // LATIN SMALL LETTER I - 0x69: [661,11,345,21,302,'184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER J - 0x6A: [661,204,412,-12,403,'297 596Q297 627 318 644T361 661Q378 661 389 651T403 623Q403 595 384 576T340 557Q322 557 310 567T297 596ZM288 376Q288 405 262 405Q240 405 220 393T185 362T161 325T144 293L137 279Q135 278 121 278H107Q101 284 101 286T105 299Q126 348 164 391T252 441Q253 441 260 441T272 442Q296 441 316 432Q341 418 354 401T367 348V332L318 133Q267 -67 264 -75Q246 -125 194 -164T75 -204Q25 -204 7 -183T-12 -137Q-12 -110 7 -91T53 -71Q70 -71 82 -81T95 -112Q95 -148 63 -167Q69 -168 77 -168Q111 -168 139 -140T182 -74L193 -32Q204 11 219 72T251 197T278 308T289 365Q289 372 288 376'], - - // LATIN SMALL LETTER K - 0x6B: [694,11,521,48,503,'121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647'], - - // LATIN SMALL LETTER L - 0x6C: [695,12,298,38,266,'117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59'], - - // LATIN SMALL LETTER M - 0x6D: [443,11,878,21,857,'21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER N - 0x6E: [443,11,600,21,580,'21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER O - 0x6F: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], - - // LATIN SMALL LETTER P - 0x70: [443,194,503,-39,497,'23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102'], - - // LATIN SMALL LETTER Q - 0x71: [442,194,446,33,460,'33 157Q33 258 109 349T280 441Q340 441 372 389Q373 390 377 395T388 406T404 418Q438 442 450 442Q454 442 457 439T460 434Q460 425 391 149Q320 -135 320 -139Q320 -147 365 -148H390Q396 -156 396 -157T393 -175Q389 -188 383 -194H370Q339 -192 262 -192Q234 -192 211 -192T174 -192T157 -193Q143 -193 143 -185Q143 -182 145 -170Q149 -154 152 -151T172 -148Q220 -148 230 -141Q238 -136 258 -53T279 32Q279 33 272 29Q224 -10 172 -10Q117 -10 75 30T33 157ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], - - // LATIN SMALL LETTER R - 0x72: [443,11,451,21,430,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q161 442 183 430T214 408T225 388Q227 382 228 382T236 389Q284 441 347 441H350Q398 441 422 400Q430 381 430 363Q430 333 417 315T391 292T366 288Q346 288 334 299T322 328Q322 376 378 392Q356 405 342 405Q286 405 239 331Q229 315 224 298T190 165Q156 25 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER S - 0x73: [443,10,469,53,419,'131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289'], - - // LATIN SMALL LETTER T - 0x74: [626,11,361,19,330,'26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26'], - - // LATIN SMALL LETTER U - 0x75: [442,11,572,21,551,'21 287Q21 295 30 318T55 370T99 420T158 442Q204 442 227 417T250 358Q250 340 216 246T182 105Q182 62 196 45T238 27T291 44T328 78L339 95Q341 99 377 247Q407 367 413 387T427 416Q444 431 463 431Q480 431 488 421T496 402L420 84Q419 79 419 68Q419 43 426 35T447 26Q469 29 482 57T512 145Q514 153 532 153Q551 153 551 144Q550 139 549 130T540 98T523 55T498 17T462 -8Q454 -10 438 -10Q372 -10 347 46Q345 45 336 36T318 21T296 6T267 -6T233 -11Q189 -11 155 7Q103 38 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER V - 0x76: [443,11,485,21,467,'173 380Q173 405 154 405Q130 405 104 376T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Q21 294 29 316T53 368T97 419T160 441Q202 441 225 417T249 361Q249 344 246 335Q246 329 231 291T200 202T182 113Q182 86 187 69Q200 26 250 26Q287 26 319 60T369 139T398 222T409 277Q409 300 401 317T383 343T365 361T357 383Q357 405 376 424T417 443Q436 443 451 425T467 367Q467 340 455 284T418 159T347 40T241 -11Q177 -11 139 22Q102 54 102 117Q102 148 110 181T151 298Q173 362 173 380'], - - // LATIN SMALL LETTER W - 0x77: [443,11,716,21,690,'580 385Q580 406 599 424T641 443Q659 443 674 425T690 368Q690 339 671 253Q656 197 644 161T609 80T554 12T482 -11Q438 -11 404 5T355 48Q354 47 352 44Q311 -11 252 -11Q226 -11 202 -5T155 14T118 53T104 116Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 293 29 315T52 366T96 418T161 441Q204 441 227 416T250 358Q250 340 217 250T184 111Q184 65 205 46T258 26Q301 26 334 87L339 96V119Q339 122 339 128T340 136T341 143T342 152T345 165T348 182T354 206T362 238T373 281Q402 395 406 404Q419 431 449 431Q468 431 475 421T483 402Q483 389 454 274T422 142Q420 131 420 107V100Q420 85 423 71T442 42T487 26Q558 26 600 148Q609 171 620 213T632 273Q632 306 619 325T593 357T580 385'], - - // LATIN SMALL LETTER X - 0x78: [442,11,572,35,522,'52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289'], - - // LATIN SMALL LETTER Y - 0x79: [443,205,490,21,497,'21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER Z - 0x7A: [442,11,465,35,468,'347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338'], - - // GREEK CAPITAL LETTER GAMMA - 0x393: [680,-1,615,31,721,'49 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H714Q721 676 721 669Q721 664 708 557T694 447Q692 440 674 440H662Q655 445 655 454Q655 455 658 480T661 534Q661 572 652 592Q638 619 603 626T501 634H471Q398 633 393 630Q389 628 386 622Q385 619 315 341T245 60Q245 46 333 46H345Q366 46 366 35Q366 33 363 21T358 6Q356 1 339 1Q334 1 292 1T187 2Q122 2 88 2T49 1'], - - // GREEK CAPITAL LETTER DELTA - 0x394: [716,0,833,48,788,'574 715L582 716Q589 716 595 716Q612 716 616 714Q621 712 621 709Q622 707 705 359T788 8Q786 5 785 3L781 0H416Q52 0 50 2T48 6Q48 9 305 358T567 711Q572 712 574 715ZM599 346L538 602L442 474Q347 345 252 217T157 87T409 86T661 88L654 120Q646 151 629 220T599 346'], - - // GREEK CAPITAL LETTER THETA - 0x398: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM640 466Q640 523 625 565T583 628T532 658T479 668Q370 668 273 559T151 255Q150 245 150 213Q150 156 165 116T207 55T259 26T313 17Q385 17 451 63T561 184Q590 234 615 312T640 466ZM510 276Q510 278 512 288L515 298Q515 299 384 299H253L250 285Q246 271 244 268T231 265H227Q216 265 214 266T207 274Q207 278 223 345T244 416Q247 419 260 419H263Q280 419 280 408Q280 406 278 396L275 386Q275 385 406 385H537L540 399Q544 413 546 416T559 419H563Q574 419 576 418T583 410Q583 403 566 339Q549 271 544 267Q542 265 538 265H530H527Q510 265 510 276'], - - // GREEK CAPITAL LETTER LAMDA - 0x39B: [716,0,694,35,670,'135 2Q114 2 90 2T60 1Q35 1 35 11Q35 28 42 40Q45 46 55 46Q119 46 151 94Q153 97 325 402T498 709Q505 716 526 716Q543 716 549 710Q550 709 560 548T580 224T591 57Q594 52 595 52Q603 47 638 46H663Q670 39 670 35Q669 12 657 0H644Q613 2 530 2Q497 2 469 2T424 2T405 1Q388 1 388 10Q388 15 391 24Q392 27 393 32T395 38T397 41T401 44T406 45T415 46Q473 46 487 64L472 306Q468 365 465 426T459 518L457 550Q456 550 328 322T198 88Q196 80 196 77Q196 49 243 46Q261 46 261 35Q261 34 259 22Q256 7 254 4T240 0Q237 0 211 1T135 2'], - - // GREEK CAPITAL LETTER XI - 0x39E: [678,0,742,53,777,'222 668Q222 670 229 677H654Q677 677 705 677T740 678Q764 678 770 676T777 667Q777 662 764 594Q761 579 757 559T751 528L749 519Q747 512 729 512H717Q710 519 710 525Q712 532 715 559T719 591Q718 595 711 595Q682 598 486 598Q252 598 246 592Q239 587 228 552L216 517Q214 512 197 512H185Q178 517 178 522Q178 524 198 591T222 668ZM227 262Q218 262 215 262T209 266L207 270L227 356Q247 435 250 439Q253 443 260 443H267H280Q287 438 287 433Q287 430 285 420T280 402L278 393Q278 392 431 392H585L590 415Q595 436 598 439T612 443H628Q635 438 635 433Q635 431 615 351T594 268Q592 262 575 262H572Q556 262 556 272Q556 280 560 293L565 313H258L252 292Q248 271 245 267T230 262H227ZM60 0Q53 4 53 11Q53 14 68 89T84 169Q88 176 98 176H104H116Q123 169 123 163Q122 160 117 127T112 88Q112 80 243 80H351H454Q554 80 574 81T597 88V89Q603 100 610 121T622 157T630 174Q633 176 646 176H658Q665 171 665 166Q665 164 643 89T618 7Q616 2 607 1T548 0H335H60'], - - // GREEK CAPITAL LETTER PI - 0x3A0: [681,0,831,31,887,'48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H541Q621 680 709 680T812 681Q841 681 855 681T877 679T886 676T887 670Q887 663 885 656Q880 637 875 635Q871 634 860 634H854Q827 634 794 631Q780 628 775 619Q773 614 704 338T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q528 52 533 61Q536 67 572 209T642 491T678 632Q678 634 533 634H388Q387 631 316 347T245 59Q245 55 246 54T253 50T270 48T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1'], - - // GREEK CAPITAL LETTER SIGMA - 0x3A3: [683,0,780,58,806,'65 0Q58 4 58 11Q58 16 114 67Q173 119 222 164L377 304Q378 305 340 386T261 552T218 644Q217 648 219 660Q224 678 228 681Q231 683 515 683H799Q804 678 806 674Q806 667 793 559T778 448Q774 443 759 443Q747 443 743 445T739 456Q739 458 741 477T743 516Q743 552 734 574T710 609T663 627T596 635T502 637Q480 637 469 637H339Q344 627 411 486T478 341V339Q477 337 477 336L457 318Q437 300 398 265T322 196L168 57Q167 56 188 56T258 56H359Q426 56 463 58T537 69T596 97T639 146T680 225Q686 243 689 246T702 250H705Q726 250 726 239Q726 238 683 123T639 5Q637 1 610 1Q577 0 348 0H65'], - - // GREEK CAPITAL LETTER UPSILON - 0x3A5: [706,0,583,28,700,'45 535Q34 535 31 536T28 544Q28 554 39 578T70 631T126 683T206 705Q230 705 251 698T295 671T330 612T344 514Q344 477 342 473V472Q343 472 347 480T361 509T380 547Q471 704 596 704Q615 704 625 702Q659 692 679 663T700 595Q700 565 696 552T687 537T670 535Q656 535 653 536T649 543Q649 544 649 550T650 562Q650 589 629 605T575 621Q502 621 448 547T365 361Q290 70 290 60Q290 46 379 46H404Q410 40 410 39T408 19Q404 6 398 0H381Q340 2 225 2Q184 2 149 2T94 2T69 1Q61 1 58 1T53 4T51 10Q51 11 53 23Q54 25 55 30T56 36T58 40T60 43T62 44T67 46T73 46T82 46H89Q144 46 163 49T190 62L198 93Q206 124 217 169T241 262T262 350T274 404Q281 445 281 486V494Q281 621 185 621Q147 621 116 601T74 550Q71 539 66 537T45 535'], - - // GREEK CAPITAL LETTER PHI - 0x3A6: [683,0,667,24,642,'356 624Q356 637 267 637H243Q237 642 237 645T239 664Q243 677 249 683H264Q342 681 429 681Q565 681 571 683H583Q589 677 589 674T587 656Q582 641 578 637H540Q516 637 504 637T479 633T463 630T454 623T448 613T443 597T438 576Q436 566 434 556T430 539L428 533Q442 533 472 526T543 502T613 451T642 373Q642 301 567 241T386 158L336 150Q332 150 331 146Q310 66 310 60Q310 46 399 46H424Q430 40 430 39T428 19Q424 6 418 0H401Q360 2 247 2Q207 2 173 2T119 2T95 1Q87 1 84 1T79 4T77 10Q77 11 79 23Q80 25 81 30T82 36T84 40T86 43T88 44T93 46T99 46T108 46H115Q170 46 189 49T216 62Q220 74 228 107L239 150L223 152Q139 164 82 205T24 311Q24 396 125 462Q207 517 335 533L346 578Q356 619 356 624ZM130 291Q130 203 241 188H249Q249 190 287 342L325 495H324Q313 495 291 491T229 466T168 414Q130 357 130 291ZM536 393Q536 440 507 463T418 496L341 187L351 189Q443 201 487 255Q536 314 536 393'], - - // GREEK CAPITAL LETTER PSI - 0x3A8: [683,0,612,21,692,'216 151Q48 174 48 329Q48 361 56 403T65 458Q65 482 58 494T43 507T28 510T21 520Q21 528 23 534T29 544L32 546H72H94Q110 546 119 544T139 536T154 514T159 476V465Q159 445 149 399T138 314Q142 229 197 201Q223 187 226 190L233 218Q240 246 253 300T280 407Q333 619 333 625Q333 637 244 637H220Q214 642 214 645T216 664Q220 677 226 683H241Q321 681 405 681Q543 681 549 683H560Q566 677 566 674T564 656Q559 641 555 637H517Q448 636 436 628Q429 623 423 600T373 404L320 192Q370 201 419 248Q451 281 469 317T500 400T518 457Q529 486 542 505T569 532T594 543T621 546H644H669Q692 546 692 536Q691 509 676 509Q623 509 593 399Q587 377 579 355T552 301T509 244T446 195T359 159Q324 151 314 151Q311 151 310 150T298 106T287 60Q287 46 376 46H401Q407 40 407 39T405 19Q401 6 395 0H378Q337 2 224 2Q184 2 150 2T96 2T72 1Q64 1 61 1T56 4T54 10Q54 11 56 23Q57 25 58 30T59 36T61 40T63 43T65 44T70 46T76 46T85 46H92Q147 46 166 49T193 62L204 106Q216 149 216 151'], - - // GREEK CAPITAL LETTER OMEGA - 0x3A9: [704,0,772,80,786,'125 84Q127 78 194 76H243V78Q243 122 208 215T165 350Q164 359 162 389Q162 522 272 610Q328 656 396 680T525 704Q628 704 698 661Q734 637 755 601T781 544T786 504Q786 439 747 374T635 226T537 109Q518 81 518 77Q537 76 557 76Q608 76 620 78T640 92Q646 100 656 119T673 155T683 172Q690 173 698 173Q718 173 718 162Q718 161 681 82T642 2Q639 0 550 0H461Q455 5 455 9T458 28Q472 78 510 149T584 276T648 402T677 525Q677 594 636 631T530 668Q476 668 423 641T335 568Q284 499 271 400Q270 388 270 348Q270 298 277 228T285 115Q285 82 280 49T271 6Q269 1 258 1T175 0H87Q83 3 80 7V18Q80 22 82 98Q84 156 85 163T91 172Q94 173 104 173T119 172Q124 169 124 126Q125 104 125 84'], - - // GREEK SMALL LETTER ALPHA - 0x3B1: [442,11,640,34,603,'34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26'], - - // GREEK SMALL LETTER BETA - 0x3B2: [705,194,566,23,573,'29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431'], - - // GREEK SMALL LETTER GAMMA - 0x3B3: [441,216,518,11,543,'31 249Q11 249 11 258Q11 275 26 304T66 365T129 418T206 441Q233 441 239 440Q287 429 318 386T371 255Q385 195 385 170Q385 166 386 166L398 193Q418 244 443 300T486 391T508 430Q510 431 524 431H537Q543 425 543 422Q543 418 522 378T463 251T391 71Q385 55 378 6T357 -100Q341 -165 330 -190T303 -216Q286 -216 286 -188Q286 -138 340 32L346 51L347 69Q348 79 348 100Q348 257 291 317Q251 355 196 355Q148 355 108 329T51 260Q49 251 47 251Q45 249 31 249'], - - // GREEK SMALL LETTER DELTA - 0x3B4: [717,10,444,36,451,'195 609Q195 656 227 686T302 717Q319 716 351 709T407 697T433 690Q451 682 451 662Q451 644 438 628T403 612Q382 612 348 641T288 671T249 657T235 628Q235 584 334 463Q401 379 401 292Q401 169 340 80T205 -10H198Q127 -10 83 36T36 153Q36 286 151 382Q191 413 252 434Q252 435 245 449T230 481T214 521T201 566T195 609ZM112 130Q112 83 136 55T204 27Q233 27 256 51T291 111T309 178T316 232Q316 267 309 298T295 344T269 400L259 396Q215 381 183 342T137 256T118 179T112 130'], - - // GREEK SMALL LETTER EPSILON - 0x3B5: [452,23,466,27,428,'190 -22Q124 -22 76 11T27 107Q27 174 97 232L107 239L99 248Q76 273 76 304Q76 364 144 408T290 452H302Q360 452 405 421Q428 405 428 392Q428 381 417 369T391 356Q382 356 371 365T338 383T283 392Q217 392 167 368T116 308Q116 289 133 272Q142 263 145 262T157 264Q188 278 238 278H243Q308 278 308 247Q308 206 223 206Q177 206 142 219L132 212Q68 169 68 112Q68 39 201 39Q253 39 286 49T328 72T345 94T362 105Q376 103 376 88Q376 79 365 62T334 26T275 -8T190 -22'], - - // GREEK SMALL LETTER ZETA - 0x3B6: [704,204,438,44,471,'296 643Q298 704 324 704Q342 704 342 687Q342 682 339 664T336 633Q336 623 337 618T338 611Q339 612 341 612Q343 614 354 616T374 618L384 619H394Q471 619 471 586Q467 548 386 546H372Q338 546 320 564L311 558Q235 506 175 398T114 190Q114 171 116 155T125 127T137 104T153 86T171 72T192 61T213 53T235 46T256 39L322 16Q389 -10 389 -80Q389 -119 364 -154T300 -202Q292 -204 274 -204Q247 -204 225 -196Q210 -192 193 -182T172 -167Q167 -159 173 -148Q180 -139 191 -139Q195 -139 221 -153T283 -168Q298 -166 310 -152T322 -117Q322 -91 302 -75T250 -51T183 -29T116 4T65 62T44 160Q44 287 121 410T293 590L302 595Q296 613 296 643'], - - // GREEK SMALL LETTER ETA - 0x3B7: [443,216,497,21,503,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q156 442 175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336V326Q503 302 439 53Q381 -182 377 -189Q364 -216 332 -216Q319 -216 310 -208T299 -186Q299 -177 358 57L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], - - // GREEK SMALL LETTER THETA - 0x3B8: [705,10,469,35,462,'35 200Q35 302 74 415T180 610T319 704Q320 704 327 704T339 705Q393 701 423 656Q462 596 462 495Q462 380 417 261T302 66T168 -10H161Q125 -10 99 10T60 63T41 130T35 200ZM383 566Q383 668 330 668Q294 668 260 623T204 521T170 421T157 371Q206 370 254 370L351 371Q352 372 359 404T375 484T383 566ZM113 132Q113 26 166 26Q181 26 198 36T239 74T287 161T335 307L340 324H145Q145 321 136 286T120 208T113 132'], - - // GREEK SMALL LETTER IOTA - 0x3B9: [442,10,354,48,333,'139 -10Q111 -10 92 0T64 25T52 52T48 74Q48 89 55 109T85 199T135 375L137 384Q139 394 140 397T145 409T151 422T160 431T173 439T190 442Q202 442 213 435T225 410Q225 404 214 358T181 238T137 107Q126 74 126 54Q126 43 126 39T130 31T142 27H147Q206 27 255 78Q272 98 281 114T290 138T295 149T313 153Q321 153 324 153T329 152T332 149T332 143Q332 106 276 48T145 -10H139'], - - // GREEK SMALL LETTER KAPPA - 0x3BA: [442,11,576,48,554,'83 -11Q70 -11 62 -4T51 8T49 17Q49 30 96 217T147 414Q160 442 193 442Q205 441 213 435T223 422T225 412Q225 401 208 337L192 270Q193 269 208 277T235 292Q252 304 306 349T396 412T467 431Q489 431 500 420T512 391Q512 366 494 347T449 327Q430 327 418 338T405 368Q405 370 407 380L397 375Q368 360 315 315L253 266L240 257H245Q262 257 300 251T366 230Q422 203 422 150Q422 140 417 114T411 67Q411 26 437 26Q484 26 513 137Q516 149 519 151T535 153Q554 153 554 144Q554 121 527 64T457 -7Q447 -10 431 -10Q386 -10 360 17T333 90Q333 108 336 122T339 146Q339 170 320 186T271 209T222 218T185 221H180L155 122Q129 22 126 16Q113 -11 83 -11'], - - // GREEK SMALL LETTER LAMDA - 0x3BB: [694,12,583,47,557,'166 673Q166 685 183 694H202Q292 691 316 644Q322 629 373 486T474 207T524 67Q531 47 537 34T546 15T551 6T555 2T556 -2T550 -11H482Q457 3 450 18T399 152L354 277L340 262Q327 246 293 207T236 141Q211 112 174 69Q123 9 111 -1T83 -12Q47 -12 47 20Q47 37 61 52T199 187Q229 216 266 252T321 306L338 322Q338 323 288 462T234 612Q214 657 183 657Q166 657 166 673'], - - // GREEK SMALL LETTER MU - 0x3BC: [442,216,603,23,580,'58 -216Q44 -216 34 -208T23 -186Q23 -176 96 116T173 414Q186 442 219 442Q231 441 239 435T249 423T251 413Q251 401 220 279T187 142Q185 131 185 107V99Q185 26 252 26Q261 26 270 27T287 31T302 38T315 45T327 55T338 65T348 77T356 88T365 100L372 110L408 253Q444 395 448 404Q461 431 491 431Q504 431 512 424T523 412T525 402L449 84Q448 79 448 68Q448 43 455 35T476 26Q485 27 496 35Q517 55 537 131Q543 151 547 152Q549 153 557 153H561Q580 153 580 144Q580 138 575 117T555 63T523 13Q510 0 491 -8Q483 -10 467 -10Q446 -10 429 -4T402 11T385 29T376 44T374 51L368 45Q362 39 350 30T324 12T288 -4T246 -11Q199 -11 153 12L129 -85Q108 -167 104 -180T92 -202Q76 -216 58 -216'], - - // GREEK SMALL LETTER NU - 0x3BD: [442,2,494,45,530,'74 431Q75 431 146 436T219 442Q231 442 231 434Q231 428 185 241L137 51H140L150 55Q161 59 177 67T214 86T261 119T312 165Q410 264 445 394Q458 442 496 442Q509 442 519 434T530 411Q530 390 516 352T469 262T388 162T267 70T106 5Q81 -2 71 -2Q66 -2 59 -1T51 1Q45 5 45 11Q45 13 88 188L132 364Q133 377 125 380T86 385H65Q59 391 59 393T61 412Q65 431 74 431'], - - // GREEK SMALL LETTER XI - 0x3BE: [704,205,438,21,443,'268 632Q268 704 296 704Q314 704 314 687Q314 682 311 664T308 635T309 620V616H315Q342 619 360 619Q443 619 443 586Q439 548 358 546H344Q326 546 317 549T290 566Q257 550 226 505T195 405Q195 381 201 364T211 342T218 337Q266 347 298 347Q375 347 375 314Q374 297 359 288T327 277T280 275Q234 275 208 283L195 286Q149 260 119 214T88 130Q88 116 90 108Q101 79 129 63T229 20Q238 17 243 15Q337 -21 354 -33Q383 -53 383 -94Q383 -137 351 -171T273 -205Q240 -205 202 -190T158 -167Q156 -163 156 -159Q156 -151 161 -146T176 -140Q182 -140 189 -143Q232 -168 274 -168Q286 -168 292 -165Q313 -151 313 -129Q313 -112 301 -104T232 -75Q214 -68 204 -64Q198 -62 171 -52T136 -38T107 -24T78 -8T56 12T36 37T26 66T21 103Q21 149 55 206T145 301L154 307L148 313Q141 319 136 323T124 338T111 358T103 382T99 413Q99 471 143 524T259 602L271 607Q268 618 268 632'], - - // GREEK SMALL LETTER OMICRON - 0x3BF: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], - - // GREEK SMALL LETTER PI - 0x3C0: [431,11,570,19,573,'132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11'], - - // GREEK SMALL LETTER RHO - 0x3C1: [442,216,517,23,510,'58 -216Q25 -216 23 -186Q23 -176 73 26T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 219 486 165T425 74T345 13T266 -10H255H248Q197 -10 165 35L160 41L133 -71Q108 -168 104 -181T92 -202Q76 -216 58 -216ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q217 269 193 170L176 102Q193 26 260 26Q298 26 334 62Q367 92 389 158T418 266T424 322'], - - // GREEK SMALL LETTER FINAL SIGMA - 0x3C2: [442,107,363,30,405,'31 207Q31 306 115 374T302 442Q341 442 373 430T405 400Q405 392 399 383T379 374Q373 375 348 390T296 405Q222 405 160 357T98 249Q98 232 103 218T112 195T132 175T154 159T186 141T219 122Q234 114 255 102T286 85T299 78L302 74Q306 71 308 69T315 61T322 51T328 40T332 25T334 8Q334 -31 305 -69T224 -107Q194 -107 163 -92Q156 -88 156 -80Q156 -73 162 -67T178 -61Q186 -61 190 -63Q209 -71 224 -71Q244 -71 253 -59T263 -30Q263 -25 263 -21T260 -12T255 -4T248 3T239 9T227 17T213 25T195 34T174 46Q170 48 150 58T122 74T97 90T70 112T51 137T36 169T31 207'], - - // GREEK SMALL LETTER SIGMA - 0x3C3: [431,11,571,31,572,'184 -11Q116 -11 74 34T31 147Q31 247 104 333T274 430Q275 431 414 431H552Q553 430 555 429T559 427T562 425T565 422T567 420T569 416T570 412T571 407T572 401Q572 357 507 357Q500 357 490 357T476 358H416L421 348Q439 310 439 263Q439 153 359 71T184 -11ZM361 278Q361 358 276 358Q152 358 115 184Q114 180 114 178Q106 141 106 117Q106 67 131 47T188 26Q242 26 287 73Q316 103 334 153T356 233T361 278'], - - // GREEK SMALL LETTER TAU - 0x3C4: [431,13,437,18,517,'39 284Q18 284 18 294Q18 301 45 338T99 398Q134 425 164 429Q170 431 332 431Q492 431 497 429Q517 424 517 402Q517 388 508 376T485 360Q479 358 389 358T299 356Q298 355 283 274T251 109T233 20Q228 5 215 -4T186 -13Q153 -13 153 20V30L203 192Q214 228 227 272T248 336L254 357Q254 358 208 358Q206 358 197 358T183 359Q105 359 61 295Q56 287 53 286T39 284'], - - // GREEK SMALL LETTER UPSILON - 0x3C5: [443,10,540,21,523,'413 384Q413 406 432 424T473 443Q492 443 507 425T523 367Q523 334 508 270T468 153Q424 63 373 27T282 -10H268Q220 -10 186 2T135 36T111 78T104 121Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441Q200 441 225 419T250 355Q248 336 247 334Q247 331 232 291T201 199T185 118Q185 68 211 47T275 26Q317 26 355 57T416 132T452 216T465 277Q465 301 457 318T439 343T421 361T413 384'], - - // GREEK SMALL LETTER PHI - 0x3C6: [442,218,654,50,618,'92 210Q92 176 106 149T142 108T185 85T220 72L235 70L237 71L250 112Q268 170 283 211T322 299T370 375T429 423T502 442Q547 442 582 410T618 302Q618 224 575 152T457 35T299 -10Q273 -10 273 -12L266 -48Q260 -83 252 -125T241 -179Q236 -203 215 -212Q204 -218 190 -218Q159 -215 159 -185Q159 -175 214 -2L209 0Q204 2 195 5T173 14T147 28T120 46T94 71T71 103T56 142T50 190Q50 238 76 311T149 431H162Q183 431 183 423Q183 417 175 409Q134 361 114 300T92 210ZM574 278Q574 320 550 344T486 369Q437 369 394 329T323 218Q309 184 295 109L286 64Q304 62 306 62Q423 62 498 131T574 278'], - - // GREEK SMALL LETTER CHI - 0x3C7: [443,204,626,24,600,'576 -125Q576 -147 547 -175T487 -204H476Q394 -204 363 -157Q334 -114 293 26L284 59Q283 58 248 19T170 -66T92 -151T53 -191Q49 -194 43 -194Q36 -194 31 -189T25 -177T38 -154T151 -30L272 102L265 131Q189 405 135 405Q104 405 87 358Q86 351 68 351Q48 351 48 361Q48 369 56 386T89 423T148 442Q224 442 258 400Q276 375 297 320T330 222L341 180Q344 180 455 303T573 429Q579 431 582 431Q600 431 600 414Q600 407 587 392T477 270Q356 138 353 134L362 102Q392 -10 428 -89T490 -168Q504 -168 517 -156T536 -126Q539 -116 543 -115T557 -114T571 -115Q576 -118 576 -125'], - - // GREEK SMALL LETTER PSI - 0x3C8: [694,205,651,21,634,'161 441Q202 441 226 417T250 358Q250 338 218 252T187 127Q190 85 214 61Q235 43 257 37Q275 29 288 29H289L371 360Q455 691 456 692Q459 694 472 694Q492 694 492 687Q492 678 411 356Q329 28 329 27T335 26Q421 26 498 114T576 278Q576 302 568 319T550 343T532 361T524 384Q524 405 541 424T583 443Q602 443 618 425T634 366Q634 337 623 288T605 220Q573 125 492 57T329 -11H319L296 -104Q272 -198 272 -199Q270 -205 252 -205H239Q233 -199 233 -197Q233 -192 256 -102T279 -9Q272 -8 265 -8Q106 14 106 139Q106 174 139 264T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441'], - - // GREEK SMALL LETTER OMEGA - 0x3C9: [443,12,622,15,604,'495 384Q495 406 514 424T555 443Q574 443 589 425T604 364Q604 334 592 278T555 155T483 38T377 -11Q297 -11 267 66Q266 68 260 61Q201 -11 125 -11Q15 -11 15 139Q15 230 56 325T123 434Q135 441 147 436Q160 429 160 418Q160 406 140 379T94 306T62 208Q61 202 61 187Q61 124 85 100T143 76Q201 76 245 129L253 137V156Q258 297 317 297Q348 297 348 261Q348 243 338 213T318 158L308 135Q309 133 310 129T318 115T334 97T358 83T393 76Q456 76 501 148T546 274Q546 305 533 325T508 357T495 384'], - - // GREEK THETA SYMBOL - 0x3D1: [705,11,591,21,563,'537 500Q537 474 533 439T524 383L521 362Q558 355 561 351Q563 349 563 345Q563 321 552 318Q542 318 521 323L510 326Q496 261 459 187T362 51T241 -11Q100 -11 100 105Q100 139 127 242T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287Q21 291 27 313T47 368T79 418Q103 442 134 442Q169 442 201 419T233 344Q232 330 206 228T180 98Q180 26 247 26Q292 26 332 90T404 260L427 349Q422 349 398 359T339 392T289 440Q265 476 265 520Q265 590 312 647T417 705Q463 705 491 670T528 592T537 500ZM464 564Q464 668 413 668Q373 668 339 622T304 522Q304 494 317 470T349 431T388 406T421 391T435 387H436L443 415Q450 443 457 485T464 564'], - - // GREEK PHI SYMBOL - 0x3D5: [694,205,596,42,579,'409 688Q413 694 421 694H429H442Q448 688 448 686Q448 679 418 563Q411 535 404 504T392 458L388 442Q388 441 397 441T429 435T477 418Q521 397 550 357T579 260T548 151T471 65T374 11T279 -10H275L251 -105Q245 -128 238 -160Q230 -192 227 -198T215 -205H209Q189 -205 189 -198Q189 -193 211 -103L234 -11Q234 -10 226 -10Q221 -10 206 -8T161 6T107 36T62 89T43 171Q43 231 76 284T157 370T254 422T342 441Q347 441 348 445L378 567Q409 686 409 688ZM122 150Q122 116 134 91T167 53T203 35T237 27H244L337 404Q333 404 326 403T297 395T255 379T211 350T170 304Q152 276 137 237Q122 191 122 150ZM500 282Q500 320 484 347T444 385T405 400T381 404H378L332 217L284 29Q284 27 285 27Q293 27 317 33T357 47Q400 66 431 100T475 170T494 234T500 282'], - - // GREEK PI SYMBOL - 0x3D6: [431,10,828,19,823,'206 -10Q158 -10 136 24T114 110Q114 233 199 349L205 358H184Q144 358 121 347Q108 340 95 330T75 312T61 295T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 532 431Q799 431 803 430Q823 423 823 402Q823 377 801 364Q790 358 766 358Q748 358 748 357Q748 355 749 348T752 327T754 297Q754 258 738 207T693 107T618 24T520 -10Q488 -10 466 2T432 36T416 77T411 120Q411 128 410 128T404 122Q373 71 323 31T206 -10ZM714 296Q714 316 707 358H251Q250 357 244 348T230 328T212 301T193 267T176 229T164 187T159 144Q159 62 222 62Q290 62 349 127T432 285Q433 286 434 288T435 291T437 293T440 294T444 294T452 294H466Q472 288 472 286Q472 285 464 244T456 170Q456 62 534 62Q604 62 659 139T714 296'], - - // GREEK RHO SYMBOL - 0x3F1: [442,194,517,67,510,'205 -174Q136 -174 102 -153T67 -76Q67 -25 91 85T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 169 431 80T253 -10Q226 -10 204 -2T169 19T146 44T132 64L128 73Q128 72 124 53T116 5T112 -44Q112 -68 117 -78T150 -95T236 -102Q327 -102 356 -111T386 -154Q386 -166 384 -178Q381 -190 378 -192T361 -194H348Q342 -188 342 -179Q342 -169 315 -169Q294 -169 264 -171T205 -174ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q221 276 204 217Q188 152 188 116Q188 68 210 47T259 26Q297 26 334 62Q367 92 389 158T418 266T424 322'], - - // GREEK LUNATE EPSILON SYMBOL - 0x3F5: [431,11,406,40,382,'227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Math/Italic/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js deleted file mode 100644 index c809a643..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js +++ /dev/null @@ -1,290 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/BasicLatin.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'], - { - // SPACE - 0x20: [0,0,250,0,0,''], - - // EXCLAMATION MARK - 0x21: [694,0,367,110,256,'111 669Q111 680 111 682T113 689T121 693T137 694H184H249Q255 686 256 681Q244 220 239 213Q236 208 229 208T183 207T137 207T127 213T118 431T111 669ZM110 71V95Q110 137 136 144Q140 146 183 146H200Q246 146 254 121Q256 115 256 73V51Q256 9 230 2Q225 0 181 0L138 1Q121 7 113 21L111 28L110 71'], - - // QUOTATION MARK - 0x22: [694,-442,558,37,420,'38 687Q42 693 45 693Q46 694 111 694H176Q179 690 183 687V556L144 501Q139 494 134 486T126 474T120 465T114 457T110 451T106 447T102 445T98 443T94 443T89 442H73H62Q37 442 37 453Q37 458 55 501T74 546Q74 548 59 548L44 549L38 555V687ZM275 687Q279 693 282 693Q283 694 348 694H413Q416 690 420 687V556L381 501Q376 494 371 486T363 474T357 465T351 457T347 451T343 447T339 445T335 443T331 443T326 442H310H299Q274 442 274 453Q274 458 292 501T311 546Q311 548 296 548L281 549L275 555V687'], - - // NUMBER SIGN - 0x23: [694,193,917,61,855,'61 365Q61 370 62 375T65 383T69 390T74 395T80 399T85 403T90 406L94 407H344L381 536Q418 668 426 680Q431 687 445 692Q451 694 457 694Q477 694 488 682T500 651Q500 645 466 528T431 409Q431 407 504 407H577L609 521Q651 668 656 675Q669 693 691 693Q710 693 721 680T733 651Q733 645 699 528T664 409Q664 407 743 407H823L827 405Q831 403 834 402T841 397T848 389T853 379T855 365Q855 337 823 324L731 323H639L619 253Q599 181 598 180V177H823L827 175Q831 173 834 172T841 167T848 159T853 149T855 135Q855 107 823 94L698 93H573L540 -21Q498 -168 493 -175Q480 -193 458 -193Q439 -193 428 -180T416 -151Q416 -144 450 -27T485 91Q485 93 412 93H340L307 -21Q265 -168 260 -175Q247 -193 225 -193Q206 -193 195 -180T183 -151Q183 -144 217 -27T252 91Q252 93 173 93L94 94Q61 105 61 135Q61 140 62 145T65 153T69 160T74 165T80 169T85 173T90 176L94 177H185L277 178L297 248L318 320V323H206L94 324Q61 335 61 365ZM551 320V323H479Q406 323 405 322Q404 319 385 249T365 178T438 177L510 178L530 248L551 320'], - - // DOLLAR SIGN - 0x24: [750,56,550,49,488,'231 712L232 716Q232 719 232 722T234 729T239 736T246 743T256 748T271 750Q318 750 318 711V703Q393 692 451 656Q469 645 470 640Q470 635 461 587L453 537Q445 529 442 529Q438 529 424 540T384 565T330 585Q328 585 325 585T320 586L318 587V434Q322 433 333 429T350 424T365 418T382 409T399 397T419 380Q488 313 488 213Q488 24 334 -5L318 -8V-17Q318 -56 279 -56H272Q253 -56 243 -46T232 -30T231 -18V-8H224Q170 2 127 20T68 50T49 67Q49 71 58 122T68 176Q71 182 79 182Q83 182 98 169T145 138T216 110Q228 108 229 108H231V288Q167 299 114 356T61 496Q61 537 70 570T94 624T126 661T162 684T195 696T219 701L228 702H231V712ZM231 521Q231 583 230 583Q226 582 220 579T204 561T193 521Q193 491 212 472Q226 458 230 458Q231 458 231 521ZM318 112Q356 131 356 187Q356 237 318 263V112'], - - // PERCENT SIGN - 0x25: [750,57,1029,61,966,'61 549Q61 733 218 749Q220 749 228 749T241 750Q286 750 321 735T369 708T389 683Q422 634 422 548V538Q422 519 420 501T408 453T381 401T328 364T243 347Q61 347 61 549ZM292 549Q292 663 242 663Q221 663 211 648T198 615T196 566V548Q196 471 206 454Q218 434 242 434Q292 434 292 549ZM243 -55Q223 -55 212 -42T201 -13Q201 -2 207 7Q209 11 480 371T758 738Q770 750 788 750Q805 750 817 738T830 709Q830 694 820 681L544 315Q273 -43 269 -47Q258 -55 243 -55ZM606 146Q606 330 763 346Q764 346 773 346T786 347Q831 347 866 332T914 305T934 280Q966 233 966 146V135Q966 115 964 97T952 49T925 -2T872 -40T788 -56Q606 -56 606 146ZM742 146V132Q742 107 743 93T748 62T762 39T787 31Q819 31 832 79Q837 97 837 146Q837 260 787 260Q767 260 757 246T744 214T742 169V146'], - - // AMPERSAND - 0x26: [716,23,831,47,769,'757 117Q762 117 769 110V3Q759 -7 718 -14T641 -22T571 -15T518 1T477 19T453 31L437 23Q350 -19 257 -22Q158 -22 103 30T47 155Q47 188 57 216T87 263T119 292T151 313L182 333L187 336L181 349Q150 431 150 506Q150 605 211 660T347 716Q417 716 471 668T526 543Q526 517 518 495T471 432T360 343L342 330Q342 327 358 306T402 250T458 189L467 181Q518 225 556 289T607 395L620 437Q622 443 630 443Q631 443 679 430Q718 420 725 418T733 409Q733 402 722 365T670 255T573 123Q562 111 563 111Q589 94 644 94Q678 94 703 100T740 111T757 117ZM397 544Q397 573 384 601T346 629Q320 629 299 607T277 538Q277 484 295 429Q301 413 301 412Q302 409 309 415Q397 476 397 544ZM227 258Q197 228 197 177Q197 150 207 126T234 95Q242 93 251 93Q288 93 337 107L349 110L328 131Q266 196 234 248L227 258'], - - // APOSTROPHE - 0x27: [694,-442,306,80,226,'81 687Q85 693 88 693Q89 694 154 694H219Q222 690 226 687V556L187 501Q182 494 177 486T169 474T163 465T157 457T153 451T149 447T145 445T141 443T137 443T132 442H116H105Q80 442 80 453Q80 458 98 501T117 546Q117 548 102 548L87 549L81 555V687'], - - // LEFT PARENTHESIS - 0x28: [750,249,428,79,366,'79 250Q79 352 100 441T152 585T213 678T266 733L287 749Q288 750 324 750H359Q366 741 366 738Q366 734 356 721T329 682T296 623T262 531T238 407Q230 346 230 250Q230 142 244 55T278 -82T318 -165T352 -215T366 -238Q366 -242 359 -249H286L277 -242Q79 -74 79 250'], - - // RIGHT PARENTHESIS - 0x29: [750,250,428,61,348,'61 737Q61 750 85 750H106H141L150 742Q348 574 348 250T150 -242L141 -249L106 -250H87Q61 -250 61 -238Q61 -233 74 -216Q157 -113 183 51Q197 130 197 250T183 449Q174 505 158 554T126 634T95 687T71 722T61 737'], - - // ASTERISK - 0x2A: [750,-293,550,67,482,'241 579Q241 582 228 639T215 702Q215 722 233 736T271 750Q296 750 315 736T334 702V697Q334 693 328 664T314 607L308 579L352 620Q389 654 397 660T417 668Q447 668 464 647T482 602Q482 591 479 583T472 569T459 559T443 552T421 546T397 538L342 521L397 504Q405 501 420 497T442 490T458 483T472 473T479 460T482 440Q482 416 465 395T417 374Q406 375 398 381T352 422L308 463L314 435Q321 407 327 378T334 345Q336 333 327 319T296 295Q288 293 275 293Q241 293 227 311T215 345Q215 349 221 378T234 435L241 463L197 422Q160 388 152 382T132 374Q102 374 85 395T67 440Q67 451 70 459T77 473T90 483T106 490T128 496T152 504L207 521L152 538Q144 541 129 545T107 552T91 559T77 569T70 582T67 602Q67 626 84 647T132 668Q143 667 151 661T197 620L241 579'], - - // PLUS SIGN - 0x2B: [617,116,856,61,794,'61 250Q61 276 94 292H386V436V535Q386 577 388 589T401 607Q411 617 427 617Q458 617 468 587Q470 581 470 436V292H762L766 290Q770 288 773 287T780 282T787 274T792 264T794 250Q794 222 762 209L616 208H470V64Q470 -81 468 -87Q458 -116 428 -116T388 -87Q386 -81 386 64V208H240L94 209Q61 220 61 250'], - - // COMMA - 0x2C: [146,106,306,80,226,'81 139Q85 145 88 145Q89 146 154 146H219Q222 142 226 139V8L187 -47Q182 -54 177 -62T169 -74T163 -83T157 -91T153 -97T149 -101T145 -103T141 -105T137 -105T132 -106H116H105Q80 -106 80 -95Q80 -90 98 -47T117 -2Q117 0 102 0L87 1L81 7V139'], - - // HYPHEN-MINUS - 0x2D: [274,-185,367,12,306,'12 230Q12 257 26 265T80 274Q88 274 114 274T158 273T201 273T235 274Q276 274 290 266T305 230T291 194T235 185Q226 185 201 185T159 186Q143 186 119 186T85 185Q43 185 28 193T12 230'], - - // FULL STOP - 0x2E: [146,0,306,80,226,'219 146Q222 142 226 139V7L222 4L219 1L154 0Q102 0 94 0T82 6Q80 9 80 74L81 139Q85 145 88 145Q89 146 154 146H219'], - - // SOLIDUS - 0x2F: [750,249,550,61,488,'103 -249Q81 -249 71 -235T61 -207Q61 -201 62 -198Q64 -192 235 265T409 727Q418 750 445 750Q464 750 476 737T488 707Q488 701 313 234Q143 -225 137 -232Q126 -249 103 -249'], - - // DIGIT ZERO - 0x30: [715,22,550,43,507,'274 -22Q227 -22 190 -9T128 24T87 76T62 135T49 204T44 271T43 336V343V362Q43 407 45 440T56 524T86 613T141 677Q197 715 264 715Q314 715 353 702T418 669T460 616T487 555T500 483T505 413T506 343Q506 310 506 293T503 241T498 185T486 133T467 83T437 42T397 8T343 -13T274 -22ZM355 355V401Q355 448 354 476T349 537T336 587T311 617T272 629Q270 629 266 629T261 628Q219 618 207 568T194 419V355Q194 203 200 156T231 85Q250 66 275 66Q299 66 318 85Q342 109 348 156T355 355'], - - // DIGIT ONE - 0x31: [716,-1,550,76,473,'118 560H116Q107 560 100 561T85 572T76 600Q76 612 77 618T83 632T99 644Q102 645 135 646T207 660T275 700Q292 716 310 716Q353 716 360 691Q362 685 362 386V87H446Q464 76 468 69T473 44Q473 12 446 1H118Q105 7 100 13T94 25T93 44V62Q100 79 119 87H210V329Q210 571 208 571Q182 560 118 560'], - - // DIGIT TWO - 0x32: [716,0,550,46,494,'339 477Q339 505 332 531T301 579T242 601Q165 601 136 503Q133 493 130 490T121 486Q116 486 94 514Q86 523 82 528Q46 572 46 577Q46 591 77 632T147 691Q192 716 257 716Q305 716 351 700Q416 674 455 615T494 481Q494 421 463 376T356 266Q326 240 287 205T224 146T199 122H331Q359 122 392 122T431 123H445Q485 123 492 98Q494 92 494 62V47Q494 9 468 2Q463 0 272 0L83 1Q63 7 56 28L55 57V89Q59 97 215 261Q255 303 275 327T317 394T339 477'], - - // DIGIT THREE - 0x33: [716,22,550,46,503,'61 624Q62 630 83 650T153 693T262 716Q328 716 373 698T438 650T465 593T473 536Q473 438 375 376L387 371Q450 350 476 305T503 208Q503 164 492 126T456 53T380 -2T261 -22Q224 -22 189 -15T130 2T86 24T57 43T46 53Q46 56 53 99T62 145Q65 152 71 152Q76 152 90 143T123 121T175 99T248 87Q302 87 321 113T341 202Q341 264 329 292T279 329L232 331L190 332L184 338V411Q190 417 192 417Q193 418 205 419T232 421T252 424Q280 430 299 461T318 539V551Q318 599 283 609Q276 611 257 611Q225 611 199 601T159 577T136 554T120 543T102 560T76 597T62 618T61 624'], - - // DIGIT FOUR - 0x34: [695,0,550,31,518,'278 693H282Q285 693 291 693T305 694T322 694T342 694H377Q402 694 411 691T430 677Q434 670 434 646T435 456V249H461H472Q509 249 516 224Q518 219 518 194Q518 178 518 171T511 155T492 142Q488 140 461 140H435V86V53Q435 9 409 2Q405 0 366 0H351Q306 0 298 25Q296 31 296 86V140H179H123Q99 140 80 129T50 106T37 95Q31 95 31 163V208Q31 246 33 251Q251 673 262 684Q268 691 278 693ZM302 249V416L301 576Q301 536 165 276L151 250L226 249H302'], - - // DIGIT FIVE - 0x35: [694,22,550,36,494,'109 282Q87 290 83 310V666Q83 667 84 670T87 676T91 682T98 688T108 693Q112 694 269 694T431 692Q457 686 457 648V637V624Q457 588 431 581Q426 579 326 579H227V510Q227 442 229 442Q243 450 288 450Q377 450 435 399T494 222Q494 -22 241 -22Q202 -22 167 -11T109 16T69 49T45 79T37 94T69 151Q91 185 97 185Q105 185 112 170Q127 135 160 111T240 87Q266 87 284 94T311 111T325 142T331 179T332 226Q332 307 324 335T281 363Q228 363 197 306Q189 289 172 282H109'], - - // DIGIT SIX - 0x36: [716,22,550,46,503,'414 589Q410 589 389 600T334 612Q275 612 243 575Q209 538 202 433V422L209 431Q243 487 317 487Q392 487 440 442Q478 402 490 357T503 236Q503 113 454 54Q421 13 381 -4T279 -22Q263 -22 250 -21T214 -15T173 1T133 30T96 77T68 146T50 242Q46 278 46 336Q46 406 52 447Q84 698 312 715L315 716Q318 716 321 716Q323 716 328 716T337 715Q398 715 425 688V596Q419 591 414 589ZM282 87Q324 89 336 117T348 231Q348 310 343 343T324 388T277 399Q249 399 231 373T208 317T202 253Q202 201 207 168T224 117T249 93T282 87'], - - // DIGIT SEVEN - 0x37: [695,11,550,46,503,'135 38Q135 190 198 335T353 572H215Q185 572 151 572T110 571H96Q55 571 48 596Q46 602 46 633V648Q46 686 72 693Q76 695 124 695Q134 695 183 695T274 694Q472 694 477 692Q503 686 503 648V637Q503 612 502 605T491 588Q300 349 292 46V36Q292 -4 266 -9Q262 -11 214 -11H192Q160 -11 148 -3T135 38'], - - // DIGIT EIGHT - 0x38: [715,22,550,46,503,'61 518Q61 574 79 614T128 676T192 706T263 715H270Q298 715 318 714T373 701T430 671T470 612T488 517Q488 459 458 423T390 376Q388 375 393 373Q395 372 398 371Q503 330 503 204Q503 -22 275 -22Q209 -22 163 -3T92 49T57 120T46 204Q46 230 50 252T61 289T77 318T96 339T116 353T134 363T148 369T158 373T160 376Q118 389 90 424T61 518ZM344 538Q344 563 340 578T326 600T307 609T279 612Q232 612 218 594T204 518Q204 459 216 439T275 418Q328 418 338 450Q344 464 344 515V538ZM248 88T274 88T315 94T338 117T346 149T349 197Q349 269 342 290Q338 309 320 320T274 331Q246 331 229 320T207 290Q200 269 200 197Q201 163 202 149T210 118T232 94'], - - // DIGIT NINE - 0x39: [716,22,550,46,503,'347 272Q346 272 342 266T330 250T309 230T276 214T230 207Q185 207 150 223Q116 240 90 276T54 357Q46 393 46 468Q46 469 46 484T47 502T48 520T51 540T55 559T61 579T69 599T81 620T96 640T115 661Q174 716 276 716Q299 716 317 714T369 698T426 658T471 580T499 456Q503 402 503 342Q503 115 392 29Q322 -22 231 -22Q163 -22 115 7L82 31Q76 38 81 46Q116 112 127 123Q130 126 134 126T148 116T179 97T226 87Q287 87 318 132Q323 139 326 146T332 165T337 182T340 204T342 225T345 249T347 272ZM201 547T201 454T211 329T262 294Q276 294 285 296T310 312T335 355Q347 391 347 447Q347 520 340 550T317 595Q300 612 277 612Q226 612 214 580'], - - // COLON - 0x3A: [458,0,306,80,226,'226 319L219 313H87L81 319L80 384Q80 437 80 445T86 456Q89 458 154 458H219Q222 454 226 451V319ZM219 146Q222 142 226 139V7L222 4L219 1L154 0Q102 0 94 0T82 6Q80 9 80 74L81 139Q85 145 88 145Q89 146 154 146H219'], - - // SEMICOLON - 0x3B: [458,106,306,80,226,'226 319L219 313H87L81 319L80 384Q80 437 80 445T86 456Q89 458 154 458H219Q222 454 226 451V319ZM81 139Q85 145 88 145Q89 146 154 146H219Q222 142 226 139V8L187 -47Q182 -54 177 -62T169 -74T163 -83T157 -91T153 -97T149 -101T145 -103T141 -105T137 -105T132 -106H116H105Q80 -106 80 -95Q80 -90 98 -47T117 -2Q117 0 102 0L87 1L81 7V139'], - - // EQUALS SIGN - 0x3D: [407,-94,856,61,795,'94 324Q61 335 61 366Q61 396 91 405Q96 407 429 407H762Q763 406 767 404T774 400T781 395T787 387T792 378T794 365Q794 338 762 324H94ZM94 94Q61 105 61 135Q61 149 69 160T92 175Q97 177 430 177H762L766 175Q770 173 773 172T780 167T787 159T792 149T794 135Q794 107 762 94H94'], - - // QUESTION MARK - 0x3F: [706,0,519,61,457,'61 644Q61 652 87 666T157 693T244 705Q344 705 400 671T457 551Q457 516 446 490T422 451T387 421T356 391Q330 361 318 332T305 292T303 252Q303 218 300 213T290 208T244 207H220Q194 207 188 213Q187 214 186 215V255Q187 282 188 296T198 345T229 417T288 496Q306 515 306 559Q306 596 296 607T253 618Q214 618 185 607T143 583T120 558T103 547Q99 547 95 551Q93 553 77 597T61 644ZM171 71V95Q171 137 197 144Q201 146 244 146H261Q307 146 315 121Q317 115 317 73V51Q317 9 291 2Q286 0 242 0L199 1Q182 7 174 21L172 28L171 71'], - - // COMMERCIAL AT - 0x40: [704,11,733,61,671,'61 264T61 347T82 494T136 596T217 660T311 694T410 704Q460 704 471 703Q534 694 577 666Q633 623 651 552T670 370V342Q670 249 633 195Q583 116 454 116Q238 116 238 347Q238 443 276 499Q328 578 456 578Q488 578 494 577L504 575Q475 617 430 617H421Q196 617 196 347Q196 215 253 143Q310 76 427 76Q499 76 561 102L575 107H664Q671 97 671 94V89L663 81Q566 -11 422 -11Q365 -11 316 -2T219 33T137 97T82 200ZM469 490Q459 492 453 492Q429 492 405 472Q374 439 374 347Q374 233 423 210Q436 202 454 202L486 210Q536 228 536 347Q536 461 486 484Q476 490 469 490'], - - // LATIN CAPITAL LETTER A - 0x41: [694,1,733,42,690,'110 0H86Q42 0 42 27Q42 37 148 350T258 667Q269 687 291 692Q295 694 366 694H399Q432 694 448 689T474 667Q477 663 583 350T690 27Q690 0 642 0H617H592Q582 0 575 1T561 2T549 6T541 11T533 18T527 26T522 37T517 49T512 64T506 81L490 130H225Q225 128 208 79T189 27Q185 19 180 14T170 7T156 3T143 1T127 0T110 0ZM439 279Q359 524 359 547L357 555L355 543Q347 503 270 263L259 231H357Q455 231 455 232L439 279'], - - // LATIN CAPITAL LETTER B - 0x42: [694,-1,733,92,671,'119 1Q98 5 92 28V667Q98 686 118 693Q121 694 272 694H289H346Q439 694 500 681T600 625Q640 580 640 513Q640 451 601 414T504 364L518 361Q568 351 602 329T649 280T666 235T671 197Q671 172 665 147T642 91T586 37T488 5Q456 1 282 1H119ZM489 509Q489 532 479 548T450 573T421 585T394 591Q387 592 315 593H247V404H298H325Q432 404 466 444Q489 470 489 509ZM517 194Q517 235 502 261T458 299T407 313T353 317H329H322H247V101H319H357Q387 101 407 103T452 111T492 133T514 171Q516 176 517 194'], - - // LATIN CAPITAL LETTER C - 0x43: [704,11,703,61,647,'423 -11Q339 -11 275 9T171 62T106 143T71 240T61 347Q61 450 93 527Q157 664 313 694Q357 704 416 704Q479 704 517 699T608 676Q634 667 635 660Q635 653 624 592L612 528L609 524Q604 521 601 521Q595 521 583 531T555 555T505 578T428 589H424Q298 589 250 494Q224 438 224 347Q224 292 233 251T265 175T329 122T432 104Q488 104 524 115T604 158Q607 160 610 162T615 165T619 168L621 170Q625 172 630 170T637 163Q638 160 642 109T647 54Q646 49 625 37T568 11T499 -7Q463 -11 423 -11'], - - // LATIN CAPITAL LETTER D - 0x44: [695,0,794,92,732,'119 1Q98 5 92 28V667Q98 686 118 693H124Q131 693 142 693T168 694T200 694T237 694H296Q416 694 450 692T525 677Q732 617 732 342Q732 169 644 81Q593 32 528 16T372 0Q356 0 324 0T276 1H119ZM573 349Q573 387 571 413T559 473T532 527T482 567T403 591Q395 592 320 593H250V101H321Q418 102 456 114Q553 144 569 263Q573 303 573 349'], - - // LATIN CAPITAL LETTER E - 0x45: [691,0,642,92,595,'277 122Q280 122 380 123T544 125Q552 125 557 125T565 124T569 124Q595 115 595 75V62V47Q595 9 569 2Q564 0 341 0L119 1Q99 7 92 28V664Q98 683 118 690Q121 691 335 691T554 689Q580 682 580 644V632V618Q580 582 554 573Q553 573 551 573T542 572T527 572Q464 572 364 573T260 575H253V412H385H459Q524 412 536 404T549 357Q549 341 549 334T542 318T523 305Q518 303 385 303H253V122H277'], - - // LATIN CAPITAL LETTER F - 0x46: [691,0,611,92,564,'512 572Q451 572 356 573T258 575H253V400H370H431Q494 400 506 392T518 345Q518 307 507 299T437 291H370H253V161Q253 141 253 113T254 75Q254 23 245 12T195 0H170L119 1Q99 7 92 28V664Q98 683 118 690Q121 691 327 691T538 689Q564 682 564 644V632V618Q564 582 538 573Q537 573 535 573T526 572T512 572'], - - // LATIN CAPITAL LETTER G - 0x47: [705,11,733,60,659,'61 347Q61 405 70 454T105 550T171 631T276 685T426 705Q483 705 537 693T620 668T650 646Q650 645 649 637T645 612T639 578L627 514L624 510Q620 507 615 507T597 520T566 548T512 577T430 590Q223 590 223 347T431 104Q478 104 506 112Q508 112 508 164V215H471L434 216L428 222L427 268Q427 315 429 318Q432 323 444 323T544 324H652Q655 320 659 317V45L656 43Q654 39 624 27T536 2T424 -11Q366 -11 317 -2T219 33T137 97T82 200T61 347'], - - // LATIN CAPITAL LETTER H - 0x48: [694,0,794,92,702,'92 667Q101 694 143 694H172H198Q244 694 251 669Q253 663 253 539V415H540V539Q540 558 540 585T539 621Q539 673 550 683T611 694H621H646Q671 694 683 690T700 669Q702 663 702 347T700 25Q696 9 684 5T646 0H621H606Q560 0 550 11T539 76Q539 85 539 116T540 169V306H253V169Q253 147 253 116T254 75Q254 23 245 12T194 0H170L119 1Q99 7 92 28V667'], - - // LATIN CAPITAL LETTER I - 0x49: [694,0,331,85,246,'85 667Q94 694 136 694H165H191Q237 694 244 669Q246 663 246 347T244 25Q235 0 192 0H163L112 1Q92 7 85 28V667'], - - // LATIN CAPITAL LETTER J - 0x4A: [694,22,519,46,427,'236 -22Q190 -22 144 -11T72 12T46 29Q63 147 69 153Q80 164 92 146Q124 91 191 91Q222 91 242 102T267 134Q268 139 268 402Q268 663 270 669Q275 687 294 692Q298 694 347 694H367Q393 694 406 690T425 669Q427 663 427 399Q427 132 426 125Q421 87 404 58T366 15T318 -9T273 -20T236 -22'], - - // LATIN CAPITAL LETTER K - 0x4B: [694,0,764,92,701,'92 667Q101 694 139 694H163H186Q225 694 234 671Q236 663 236 529L237 392L533 682Q550 694 590 694H623H681Q695 680 695 672Q695 670 693 664Q688 657 561 533L431 405L698 33Q701 28 701 23Q701 7 683 0H626H604Q571 0 564 2T545 13Q544 14 530 33T489 90T437 162L332 307Q331 307 284 260L236 214V122V65Q236 32 231 19T210 2Q205 0 161 0L119 1Q99 7 92 28V667'], - - // LATIN CAPITAL LETTER L - 0x4C: [694,0,581,92,534,'92 667Q98 684 109 689T142 694H172H198Q244 694 251 669Q253 663 253 389V116L278 117Q410 119 490 119H495Q511 119 517 115T534 93V63V48Q534 9 508 2Q503 0 310 0L119 1Q99 7 92 28V667'], - - // LATIN CAPITAL LETTER M - 0x4D: [695,0,978,92,886,'92 667Q98 684 109 689T146 695Q152 695 167 695T192 694Q200 694 214 694T234 695Q291 695 305 664Q313 651 400 419T487 165Q487 162 488 162T489 165Q489 187 574 413T671 664Q679 680 695 688Q708 694 785 694H828Q855 694 867 689T884 669Q886 663 886 347T884 25Q876 0 832 0H817H802Q758 0 750 25Q748 31 748 293V555L746 544Q737 509 692 386T606 160T564 52Q548 22 502 22H487H472Q423 22 410 52Q407 59 367 160T283 385T231 546L230 548Q229 548 229 293Q229 31 227 25Q222 9 211 5T176 0H158L119 1Q99 7 92 28V667'], - - // LATIN CAPITAL LETTER N - 0x4E: [694,0,794,92,702,'92 667Q98 684 109 689T146 694H185Q273 694 279 692Q301 689 315 669Q322 660 419 453L554 163L562 143Q564 143 564 401Q564 663 566 669Q574 694 618 694H633H648Q692 694 700 669Q702 663 702 347T700 25Q696 10 683 5T642 0H596H551Q520 0 505 4T478 25Q471 34 374 241L239 532Q231 550 231 552L229 479Q229 440 229 293Q229 31 227 25Q222 9 211 5T176 0H158L119 1Q99 7 92 28V667'], - - // LATIN CAPITAL LETTER O - 0x4F: [716,22,794,62,731,'362 715Q364 715 376 715T394 716H400Q542 716 626 643T727 426Q731 395 731 342Q731 271 722 225Q674 -22 396 -22Q320 -22 259 -3T148 68T77 201Q62 257 62 342Q62 447 86 522T173 649Q245 707 362 715ZM568 433Q551 623 396 623Q383 623 370 622T333 612T292 591T257 550T233 485Q223 442 223 350Q223 276 232 227T267 137Q309 74 397 74Q433 74 461 85T507 113T537 156T556 205T566 260T569 310T570 357Q570 409 568 433'], - - // LATIN CAPITAL LETTER P - 0x50: [694,0,703,92,641,'641 470Q641 426 630 391T603 334T561 295T513 271T459 259T408 254T361 253H350H337H253V142Q253 125 253 100T254 67Q254 32 249 19T227 2Q222 0 170 0L119 1Q99 7 92 28V667Q98 686 118 693Q121 694 271 694Q428 693 462 688Q641 656 641 470ZM487 467Q487 495 485 510T474 546T442 578T382 592Q375 593 310 593H250V347H309H339Q364 347 380 348T418 354T451 368T474 395T486 438Q487 444 487 467'], - - // LATIN CAPITAL LETTER Q - 0x51: [716,106,794,62,732,'450 -20Q444 -20 429 -21T396 -22Q320 -22 259 -3T148 68T77 201Q62 257 62 342Q62 447 86 522T173 649Q245 707 362 715Q364 715 376 715T394 716Q732 716 732 340Q732 268 719 210T686 120T647 68T615 39T601 29T638 -22T676 -73Q679 -78 679 -83Q679 -98 661 -106H593Q526 -106 521 -104Q514 -103 507 -97T496 -84T477 -55L454 -19L450 -20ZM554 509Q516 622 391 622Q294 622 250 535Q220 475 220 345Q220 299 222 266T234 198T258 140T299 99T363 74Q378 71 393 71H395L381 92Q367 114 353 136T338 161Q336 165 336 170Q336 186 352 193L361 194Q370 194 384 194T412 194H452Q457 194 460 194T466 194T471 192T476 191T480 188T483 185T487 180T492 174T497 167T504 158L526 129Q532 127 552 175Q573 231 573 348Q573 455 554 509'], - - // LATIN CAPITAL LETTER R - 0x52: [695,0,703,92,654,'654 24Q654 9 644 5T612 0H577L521 1Q509 5 503 13Q498 20 421 160L343 304H250V168Q250 147 250 118T251 78Q251 24 242 12T192 0H168L119 1Q99 7 92 28V667Q98 686 118 693H124Q131 693 141 693T165 694T195 694T229 694T280 694T332 695Q389 695 428 691T510 675T582 637T627 569Q641 532 641 493Q641 377 537 331L497 317L493 316L571 177Q653 28 654 24ZM487 472T487 492T485 525T476 553T450 577T404 591Q398 592 322 593H250V391H321Q327 391 353 391T385 392T412 395T438 401T457 412T474 430T483 456'], - - // LATIN CAPITAL LETTER S - 0x53: [716,22,611,49,549,'61 503Q61 547 72 583T110 650T186 698T305 716Q405 716 496 671Q513 664 514 657Q514 656 513 648T509 623T503 589L491 525L488 521Q484 518 479 518H475L461 532Q430 565 395 581T305 598Q201 598 201 523Q201 480 240 462T345 431T443 394Q549 324 549 204Q549 160 538 123T502 51T427 -2T308 -22Q180 -22 69 41Q50 52 49 57Q49 58 50 66T54 91T60 125L72 189L75 193Q80 196 84 196Q87 196 104 182T145 149T212 117T304 102Q408 102 408 188Q408 215 396 234T362 263T319 278T267 290T219 302Q149 324 105 380T61 503'], - - // LATIN CAPITAL LETTER T - 0x54: [688,0,733,40,692,'67 687Q70 688 366 688Q661 688 666 686Q692 680 692 641V629V615Q692 579 666 570H660Q655 569 648 569Q645 569 624 569T581 570Q505 570 475 572H447V302Q447 31 445 25Q436 0 393 0H364L313 1Q293 7 286 28L285 300V572H257Q227 570 151 570Q130 570 109 570T84 569Q77 569 72 570H66Q48 577 44 588T40 631L41 661Q47 680 67 687'], - - // LATIN CAPITAL LETTER U - 0x55: [694,22,764,92,672,'92 667Q101 694 143 694H172H200Q242 694 251 671Q253 663 253 430Q254 189 255 185Q262 134 288 107T384 79Q498 79 516 168Q520 191 521 431Q521 663 523 671Q532 694 572 694H596H618Q639 694 648 692T665 679Q671 672 671 653Q672 632 672 555V432Q671 200 670 190Q652 79 581 29T383 -22Q137 -22 98 166Q92 195 92 303V667'], - - // LATIN CAPITAL LETTER V - 0x56: [694,-1,733,27,705,'27 667Q27 683 39 688T75 694H101Q155 694 159 692Q182 687 194 665Q202 652 283 419T374 142Q376 165 473 445Q552 664 553 666Q568 694 618 694H639H658Q681 694 693 689T705 667Q705 660 592 347Q481 32 477 28Q466 7 441 1H292Q266 7 255 28Q251 32 140 347Q27 660 27 667'], - - // LATIN CAPITAL LETTER W - 0x57: [694,0,1039,24,1014,'994 694Q1012 683 1014 668Q1014 661 977 519T896 217T845 26Q831 0 783 0H747H711Q685 0 672 5T649 26Q644 36 583 272T517 548Q516 552 516 551Q503 479 437 227Q389 37 383 26Q367 0 323 0H288H254Q207 0 193 26Q191 32 108 346T24 665Q24 685 44 693Q47 694 98 694H115Q152 694 168 668Q174 657 235 417T297 144Q297 134 300 153Q307 204 362 421T427 668Q441 694 488 694H523Q586 694 597 688Q612 683 620 661T651 549Q664 496 673 462Q744 194 750 146V140Q767 223 800 354T857 576T883 668Q897 694 938 694H958H994'], - - // LATIN CAPITAL LETTER X - 0x58: [695,0,733,37,694,'52 1Q37 11 37 23Q37 26 39 32Q39 34 158 202L275 369Q275 370 221 441T112 586T55 663Q53 669 53 672Q53 687 68 693H72Q77 693 84 693T99 694T118 694T139 694H176Q203 694 212 692T230 682Q231 681 239 669T265 634T296 591L358 504L418 591Q481 682 486 686Q491 691 499 692Q505 694 569 694H632Q650 685 650 672Q650 667 646 660Q643 654 592 582T491 440T441 369T566 201T693 29Q694 27 694 23Q694 11 677 0H607L537 1Q523 6 519 10T437 131Q422 153 411 170T390 200T375 222T365 237T359 245L357 247L348 232Q339 218 319 188T283 131Q222 37 211 22T186 1H52'], - - // LATIN CAPITAL LETTER Y - 0x59: [694,0,733,24,708,'635 694H668Q688 694 698 690T708 670Q708 664 704 658L446 278L445 152V27Q442 20 440 17T433 9T419 1L368 0H339Q316 0 305 5T288 26Q286 31 286 154V278L157 468Q135 500 101 550Q43 635 34 650T24 671Q24 686 39 693Q42 694 105 694H122H132Q163 694 180 689T214 666Q225 654 336 485Q373 425 373 420L374 418Q375 419 375 421Q378 432 418 493T496 609T536 667Q543 676 551 681T572 689T591 693T615 694T635 694'], - - // LATIN CAPITAL LETTER Z - 0x5A: [694,0,672,61,616,'411 584Q243 581 131 581Q122 581 116 581T106 582T102 582Q84 589 80 600T76 640L77 667Q83 686 103 693Q106 694 343 694Q579 694 584 692Q592 691 599 684T609 668Q610 665 610 646Q610 614 608 608Q605 603 434 361L261 116Q340 117 402 118T490 119T533 120T560 120H572Q605 120 614 95Q616 89 616 60V46Q616 9 590 2Q585 0 339 0Q92 0 87 2Q79 3 72 10T62 26Q61 29 61 49Q61 84 63 90Q65 94 152 217T325 461T411 584'], - - // LEFT SQUARE BRACKET - 0x5B: [751,251,343,79,318,'318 -206Q318 -235 305 -243T255 -251Q248 -251 229 -251T198 -250H143Q112 -250 99 -246T81 -225Q79 -219 79 250T81 725Q85 741 98 745T143 750H198Q210 750 229 750T255 751Q291 751 304 743T318 707Q318 680 301 668Q293 663 255 663H224V-163H255Q293 -163 301 -168Q318 -180 318 -206'], - - // RIGHT SQUARE BRACKET - 0x5D: [751,251,343,24,263,'24 706Q24 734 39 742T90 751Q97 751 114 751T143 750H198Q230 750 243 746T261 725Q263 719 263 250T261 -225Q257 -241 244 -245T198 -250H143Q131 -250 112 -250T86 -251Q50 -251 37 -243T24 -207Q24 -180 41 -168Q49 -163 87 -163H118V663H87H71Q24 663 24 706'], - - // CIRCUMFLEX ACCENT - 0x5E: [694,-537,550,108,441,'108 550Q108 554 135 589T190 658T219 692Q221 694 275 694Q328 694 330 693Q331 692 381 629T438 557Q441 553 441 549T434 538L399 537Q363 537 362 538Q361 538 318 575L275 611Q274 611 231 575Q188 538 187 538Q186 537 150 537L115 538Q108 545 108 550'], - - // LOW LINE - 0x5F: [-23,110,550,0,549,'0 -66Q0 -32 26 -25Q30 -23 274 -23Q469 -23 497 -23T532 -28Q549 -40 549 -67Q549 -93 532 -105Q525 -109 498 -109T275 -110Q31 -110 26 -108Q0 -101 0 -66'], - - // LATIN SMALL LETTER A - 0x61: [475,11,525,31,473,'255 394Q218 394 186 383T138 358T109 333T94 321H91Q88 321 86 322T83 325T80 331T79 339T78 349T77 362T75 377Q72 410 72 420Q72 423 72 425T73 429T74 431T77 433T80 435T85 437Q166 475 262 475Q360 475 413 440Q462 406 471 341Q472 332 472 181Q472 155 472 119T473 73Q473 20 462 10T398 0H380Q349 0 337 8T324 48V65Q298 30 257 10T172 -11Q109 -11 70 37T31 145Q31 276 307 289H321V309Q321 337 318 352T300 381T255 394ZM176 146Q176 116 190 97T231 77Q251 77 266 85Q322 110 322 185Q322 189 322 192T322 198L321 201V234L308 232Q176 220 176 146'], - - // LATIN SMALL LETTER B - 0x62: [694,10,561,54,523,'54 667Q63 694 102 694H127H151Q190 694 199 671Q201 663 201 544L202 422L211 428Q270 468 355 468Q523 468 523 231Q523 -10 321 -10Q286 -10 261 -2T204 33Q197 11 187 6T142 0H126L81 1Q61 7 54 28V667ZM372 230Q372 317 355 349T280 382Q251 382 204 356V107Q235 76 274 76Q301 76 320 84T349 105T364 139T371 180T372 230'], - - // LATIN SMALL LETTER C - 0x63: [475,12,489,37,457,'188 233Q188 199 190 177T200 131T225 95T271 83H281Q356 83 421 130Q433 138 434 139Q446 141 448 131Q449 128 453 84T457 36Q455 30 432 20T364 -1T273 -11Q37 -11 37 232Q37 456 244 474Q246 474 257 474T276 475Q349 475 400 455Q443 436 448 431L451 425Q451 419 443 377Q442 372 441 366T439 356T438 348T436 340T435 334T433 330T431 327T429 325T426 324Q420 324 406 336Q376 362 350 372T281 382Q254 382 236 373T208 352T194 317T189 278T188 233'], - - // LATIN SMALL LETTER D - 0x64: [694,11,561,37,507,'225 -11Q192 -11 164 -3T104 29T55 102T37 227Q37 321 63 376Q111 469 223 469Q292 469 349 433L359 426V546Q359 564 359 589T358 623Q358 675 369 684T433 694H451Q497 694 505 669Q507 663 507 347T505 25Q500 9 487 5T450 0H432H413Q356 0 356 36V40Q298 -11 225 -11ZM356 359Q326 382 286 382Q239 382 215 358Q189 330 189 256V229V203V195Q189 102 231 86Q251 76 274 76Q318 76 356 114V359'], - - // LATIN SMALL LETTER E - 0x65: [475,10,511,30,481,'30 231Q30 301 51 351T107 426T181 463T262 474H268Q293 474 312 472T366 459T422 427T462 363T480 260Q480 230 466 222T405 213Q395 213 364 213T311 214H173V211Q173 183 183 148T216 96Q244 76 287 76Q319 76 350 85T399 104T433 125T451 136Q463 138 465 128Q466 125 469 84T473 39Q471 29 423 13T330 -9Q321 -10 286 -10Q213 -10 161 11T81 68T42 144T30 231ZM353 292Q350 324 342 344T320 373T294 384T264 387Q191 387 175 286V282H353V292'], - - // LATIN SMALL LETTER F - 0x66: [706,0,336,29,381,'67 458H78V502V509Q78 538 79 556T90 604T117 651T169 685T253 704Q254 704 258 704T265 705T275 705T287 704Q364 704 381 687V638V607Q381 591 378 585T366 579Q362 581 351 591T323 610T282 618Q238 618 226 587Q224 581 223 519V458H253Q288 458 298 453Q315 441 315 415Q315 399 312 390T299 377T282 372T259 371H255H226V201Q226 31 224 25Q215 0 174 0H150L106 1Q86 7 79 28L78 199V371H69Q29 371 29 412Q29 425 30 431T40 447T67 458'], - - // LATIN SMALL LETTER G - 0x67: [469,206,550,17,534,'63 108Q63 142 83 176L76 184Q35 227 35 300Q35 469 243 469Q330 469 385 437L397 443Q451 469 508 469Q515 468 517 466T522 456T528 425Q534 392 534 386Q532 379 523 377Q520 377 509 381T477 390T431 398L425 399Q453 362 453 297Q453 268 445 242T417 189T351 146T242 130Q169 130 119 153Q117 141 117 136Q117 95 155 83Q161 81 252 81Q354 80 362 79Q437 71 475 48T526 -24Q532 -42 532 -65Q532 -116 489 -156T341 -204Q323 -206 274 -206H256Q39 -206 18 -84Q17 -79 17 -68Q17 15 82 42L76 53Q63 79 63 108ZM310 300Q310 359 298 377T238 396Q217 396 204 390T186 368T179 339T178 300Q178 245 189 224T244 203T299 224T310 300ZM414 -66Q414 -55 411 -47T401 -32T387 -21T368 -14T346 -10T322 -7T297 -6T271 -6T246 -6H193Q163 -6 154 -10T140 -30Q135 -45 135 -62Q135 -134 274 -134Q414 -134 414 -66'], - - // LATIN SMALL LETTER H - 0x68: [694,0,561,53,508,'53 667Q62 694 101 694H126H148Q191 694 198 669Q200 663 200 526V390Q263 469 361 469Q390 469 412 465T456 449T491 413T507 351Q508 342 508 185Q508 31 506 25Q498 0 450 0H432H413Q368 0 359 23Q357 31 357 186Q356 345 355 350Q349 369 336 376Q324 381 301 381H298Q269 381 242 362Q217 342 210 316T202 239Q202 229 202 202T203 157V82Q203 24 195 12T146 0H125L80 1Q60 7 53 28V667'], - - // LATIN SMALL LETTER I - 0x69: [695,0,256,46,208,'72 574Q55 583 51 591T46 619V636L47 670L48 673Q50 676 52 678T56 684T63 690T73 694H81Q89 694 102 694T129 695H181Q193 687 196 685T203 676T207 661T208 634Q208 603 204 593T181 574H72ZM54 431Q63 458 102 458H127H149Q192 458 199 433Q201 427 201 229T199 25Q190 0 149 0H125L81 1Q61 7 54 28V431'], - - // LATIN SMALL LETTER J - 0x6A: [695,205,286,-71,232,'70 634V648Q70 686 96 693Q100 695 151 695H176Q201 695 213 691T230 670Q232 665 232 634V620Q232 582 206 575Q202 573 151 573H126Q101 573 89 577T72 598Q70 603 70 634ZM-41 -84Q-1 -105 28 -105Q67 -105 78 -85Q83 -77 83 -48T84 180Q84 427 86 433Q93 458 136 458H158H180Q201 458 209 456T225 443Q230 436 231 418Q232 397 232 313V183V124V40Q232 -55 228 -87T203 -147Q166 -205 78 -205Q31 -205 -20 -189T-71 -159Q-71 -156 -62 -124T-52 -89Q-49 -84 -41 -84'], - - // LATIN SMALL LETTER K - 0x6B: [694,0,531,63,496,'496 23Q496 9 487 5T457 0H427H398Q367 0 354 11Q352 12 288 99L226 183L191 150V90V54Q191 30 186 18T165 2Q160 0 124 0L90 1Q70 7 63 28V667Q72 694 108 694H128H146Q183 694 192 671Q194 663 194 496L195 325L254 383Q266 394 281 409T301 429T316 441T329 450T341 455T357 458T376 458H409H436Q461 458 470 454T480 437Q480 430 477 427T445 395Q417 368 396 347L319 271Q319 270 358 217T442 103T494 32Q496 30 496 23'], - - // LATIN SMALL LETTER L - 0x6C: [694,0,256,54,201,'54 667Q63 694 102 694H127H149Q192 694 199 669Q201 663 201 347T199 25Q190 0 149 0H125L81 1Q61 7 54 28V667'], - - // LATIN SMALL LETTER M - 0x6D: [469,0,867,53,815,'197 386Q256 468 366 468Q404 468 430 461T471 438T491 413T503 385Q563 469 666 469Q731 469 769 446T814 350Q815 343 815 185Q815 31 813 25Q808 9 796 5T758 0H737L692 1Q672 7 665 28L664 186V206V290Q664 349 655 365T610 381Q581 381 560 370T529 341T515 311T510 291Q509 286 509 157V82Q509 24 501 12T452 0H431L386 1Q366 7 359 28L358 186V206V290Q358 349 349 365T304 381Q275 381 254 370T223 341T209 311T204 291Q203 286 203 157V82Q203 24 195 12T146 0H125L80 1Q60 7 53 28V437Q58 453 80 464H122H142Q167 464 178 460T195 439Q197 434 197 409V386'], - - // LATIN SMALL LETTER N - 0x6E: [468,0,561,53,508,'197 386Q264 468 350 468Q375 468 390 467T429 460T466 443T492 408T507 351Q508 342 508 185Q508 31 506 25Q498 0 450 0H432H413Q368 0 359 23Q357 31 357 186Q356 345 355 350Q349 369 336 376Q324 381 301 381H298Q269 381 242 362Q217 342 210 316T202 239Q202 229 202 202T203 157V82Q203 24 195 12T146 0H125L80 1Q60 7 53 28V437Q58 453 80 464H122H142Q167 464 178 460T195 439Q197 434 197 409V386'], - - // LATIN SMALL LETTER O - 0x6F: [474,11,550,32,518,'274 -11Q32 -11 32 225Q32 346 85 406T249 474H266H271Q302 474 325 471T385 458T451 419T498 346Q518 300 518 225Q518 -11 274 -11ZM367 233Q367 322 350 354T270 387Q240 387 222 377T195 344T184 298T182 233Q182 151 198 117T275 83H282Q318 83 339 104Q355 119 361 146T367 233'], - - // LATIN SMALL LETTER P - 0x70: [469,194,561,54,523,'125 458H139Q174 458 185 452T202 420L211 426Q245 448 288 458T354 469Q356 469 361 469T369 468Q443 468 481 412Q523 355 523 223Q523 164 509 120T473 51T423 12T371 -7T323 -11Q260 -11 204 33V-65Q204 -80 204 -102T205 -131Q205 -162 200 -175T178 -192Q173 -194 126 -194L81 -193Q61 -187 54 -166V431Q58 447 81 458H125ZM372 230Q372 376 282 376Q247 376 204 352V107L208 103Q213 99 218 95T232 87T251 79T274 76Q323 76 349 116Q372 153 372 230'], - - // LATIN SMALL LETTER Q - 0x71: [470,194,561,37,507,'226 -11Q37 -11 37 236Q37 294 51 338T86 407T135 445T186 464T233 469H235Q300 469 349 422L359 413V425Q359 452 376 464Q384 469 433 469H455Q498 469 505 444Q507 438 507 137Q507 -163 505 -169Q500 -185 487 -189T450 -194H432H413Q367 -194 358 -171Q356 -163 356 -63V40L348 33Q296 -11 231 -11H226ZM281 375Q188 375 188 228Q188 77 275 77Q322 77 359 120V328Q338 357 324 366T281 375'], - - // LATIN SMALL LETTER R - 0x72: [469,0,372,54,356,'54 437Q58 453 81 464H122H147Q186 464 194 439Q196 434 196 405V377L203 387Q245 456 324 468Q325 468 331 468T340 469Q347 469 356 462V360Q350 355 346 354T339 353T326 353T300 347Q260 337 234 311T202 252Q201 247 201 138Q201 122 201 98T202 66Q202 33 197 20T175 2Q170 0 125 0L81 1Q61 7 54 28V437'], - - // LATIN SMALL LETTER S - 0x73: [474,10,422,30,396,'37 328Q37 392 75 433T203 474Q254 474 265 473Q319 465 370 442Q378 439 380 432Q380 426 372 384Q364 336 359 333Q358 331 355 331Q348 331 337 341Q282 388 216 388H208Q190 388 180 387T161 377T151 351Q151 333 164 323T224 306L267 297Q314 285 355 246T396 144Q396 17 282 -5Q260 -10 218 -10Q170 -10 124 2T55 26T30 44Q30 48 39 99T49 153Q52 159 60 159Q66 159 70 153Q100 120 133 101T218 82Q231 82 238 83T258 87T277 101T283 126Q283 149 260 160T200 176T153 186Q109 201 73 236T37 328'], - - // LATIN SMALL LETTER T - 0x74: [589,10,404,20,373,'225 267Q225 202 226 169T232 115T244 88T265 82Q295 84 318 100T345 116Q352 116 354 110T364 77Q373 46 373 43Q373 28 312 9T190 -10Q160 -10 139 1T107 29T89 77T82 136T80 210V258V371H66H59Q39 371 27 386Q20 394 20 417Q21 432 23 437Q35 458 60 458H65H83V510L84 562Q93 589 131 589H154H174Q216 589 223 564Q225 558 225 508V458H274Q330 458 338 453Q355 441 355 415Q355 388 338 376Q330 371 274 371H225V267'], - - // LATIN SMALL LETTER U - 0x75: [459,11,561,52,508,'53 431Q62 459 100 459Q105 459 114 459T127 458H152Q192 458 201 435Q203 427 203 262Q204 86 208 77Q209 74 216 71Q227 66 258 66H264Q334 66 354 140L356 150L357 290Q357 427 359 435Q365 449 377 453T412 458H432H450Q498 458 506 433Q508 427 508 229T506 25Q498 0 451 0H434H418Q386 0 374 7T360 43V58L352 49Q298 -11 199 -11Q135 -9 101 11T56 80Q52 100 52 273L53 431'], - - // LATIN SMALL LETTER V - 0x76: [458,0,500,26,473,'26 429T26 435T32 448T44 456Q48 458 85 458H99Q145 458 161 431Q162 429 207 285L251 145L294 284Q333 410 341 430Q351 451 374 456Q379 458 420 458H430Q450 458 457 456T471 443Q473 437 473 435Q473 426 443 325T381 126L350 28Q339 7 316 2Q312 0 250 0Q187 0 183 2Q160 7 149 28L136 68Q124 109 106 166T70 283T39 385'], - - // LATIN SMALL LETTER W - 0x77: [458,0,744,24,719,'699 458Q717 447 719 432Q719 426 666 230T610 27Q602 10 588 5T548 0H512H482Q431 0 420 17T384 135Q356 241 352 298V308L351 295Q348 251 322 145T290 28Q279 0 233 0H212H191Q146 0 133 27Q130 33 77 229T24 430Q24 449 44 457Q47 458 79 458Q122 458 126 456Q154 450 163 419L233 153Q241 187 272 304T307 431Q318 458 368 458Q394 458 398 456Q421 451 430 431Q434 423 509 147L547 286Q582 416 588 429Q600 454 624 457Q632 458 647 458H663H699'], - - // LATIN SMALL LETTER X - 0x78: [460,1,500,24,475,'92 0Q87 0 77 0T62 -1Q24 -1 24 22Q24 29 33 41T106 136Q185 237 184 238Q184 239 147 284T73 376T33 427Q31 430 31 436Q31 451 45 457Q48 458 96 458H122Q152 458 163 450T208 394L247 345L282 394Q288 403 297 416T309 434T319 444T328 452T338 455T352 458T372 458H393H440Q457 449 457 435Q457 428 450 419T379 328Q308 239 308 237L389 137Q409 112 436 79Q475 31 475 23Q475 -1 436 -1Q432 -1 422 -1T407 0Q360 0 352 3Q343 6 336 16T291 83L247 151L245 148Q243 145 239 139T229 124T218 106T204 84Q167 24 160 15T141 1L92 0'], - - // LATIN SMALL LETTER Y - 0x79: [458,205,500,29,473,'454 458Q473 446 473 430Q473 426 394 184L311 -68Q291 -119 245 -162T123 -205Q51 -205 46 -190Q44 -187 40 -142T36 -92Q36 -90 36 -88L37 -87Q41 -80 46 -80Q48 -80 73 -92T126 -105Q146 -105 161 -98T185 -76T197 -53T206 -28L215 0L122 212Q29 427 29 435Q29 448 46 457Q49 458 91 458Q93 458 106 458T125 457T140 454T157 446T170 431Q183 410 224 305T266 158Q266 152 266 151Q267 151 268 163Q271 206 302 310T342 432Q354 458 398 458H418H454'], - - // LATIN SMALL LETTER Z - 0x7A: [458,0,476,31,442,'268 376Q250 376 180 375T92 374Q69 374 63 380Q46 390 46 419Q46 428 49 437Q57 451 73 457Q76 458 242 458T413 456Q420 455 427 448Q439 438 439 413Q439 392 433 385Q432 383 318 236T204 88Q235 88 306 89T395 90H399Q408 90 414 89T427 84T438 70T442 45Q442 9 416 2Q411 0 236 0H136Q73 0 62 1T41 12Q31 23 31 47Q31 68 36 77Q37 78 51 97T96 155T153 228L268 376'], - - // TILDE - 0x7E: [344,-198,550,92,457,'92 215Q92 259 122 301T204 344Q238 344 264 329T310 300T343 285Q356 285 361 295T369 322T377 344H450Q457 334 457 330Q457 281 427 240T344 198Q312 198 285 213T239 242T206 257Q188 257 182 230T172 199L137 198H120Q102 198 97 200T92 215'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js deleted file mode 100644 index eb3795cb..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/CombDiacritMarks.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'], - { - // COMBINING GRAVE ACCENT - 0x300: [694,-537,0,-458,-218,'-458 682Q-458 690 -452 692T-426 694H-381H-314L-312 691Q-311 691 -305 682T-287 655T-263 622L-218 555V549Q-218 544 -224 538L-259 537Q-295 537 -296 538Q-298 539 -376 606T-456 676Q-458 680 -458 682'], - - // COMBINING ACUTE ACCENT - 0x301: [694,-537,0,-334,-93,'-290 537H-310Q-334 537 -334 549Q-334 553 -311 588T-264 656L-241 690Q-240 690 -239 691T-236 693Q-235 694 -167 694H-100Q-93 684 -93 681T-94 677Q-95 675 -173 607T-255 538Q-256 537 -290 537'], - - // COMBINING CIRCUMFLEX ACCENT - 0x302: [694,-537,0,-442,-109,'-442 550Q-442 554 -415 589T-360 658T-331 692Q-329 694 -275 694Q-222 694 -220 693Q-219 692 -169 629T-112 557Q-109 552 -109 549Q-109 545 -116 538L-151 537Q-187 537 -188 538Q-189 538 -232 575L-275 611Q-276 611 -319 575Q-362 538 -363 538Q-364 537 -400 537L-435 538Q-442 545 -442 550'], - - // COMBINING TILDE - 0x303: [694,-548,0,-458,-93,'-458 565Q-458 609 -428 651T-346 694Q-312 694 -286 679T-240 650T-207 635Q-194 635 -189 645T-181 672T-173 694H-100Q-93 684 -93 680Q-93 631 -123 590T-206 548Q-238 548 -265 563T-311 592T-344 607Q-362 607 -368 580T-378 549L-413 548H-430Q-448 548 -453 550T-458 565'], - - // COMBINING MACRON - 0x304: [660,-560,0,-474,-77,'-84 660Q-81 656 -77 653V567L-81 564L-84 561L-274 560H-383Q-469 560 -471 565L-472 566Q-474 569 -474 611L-473 653Q-469 659 -466 659Q-465 660 -274 660H-84'], - - // COMBINING BREVE - 0x306: [694,-552,0,-470,-80,'-123 694Q-80 694 -80 657Q-80 626 -99 601T-161 563Q-199 552 -275 552Q-352 552 -389 563Q-470 586 -470 655Q-470 667 -468 673Q-457 694 -435 694H-431Q-408 694 -396 685Q-387 676 -387 671Q-384 661 -275 661Q-167 661 -164 671Q-164 674 -163 677T-151 687T-123 694'], - - // COMBINING DOT ABOVE - 0x307: [695,-596,0,-356,-194,'-329 596Q-346 602 -351 611T-356 638V646Q-356 653 -356 654T-356 661T-355 668T-353 673T-351 679T-347 684T-341 689T-332 693T-274 695H-221Q-202 683 -198 676T-194 645Q-194 632 -195 625T-202 610T-221 596H-329'], - - // COMBINING DIAERESIS - 0x308: [696,-595,0,-459,-91,'-331 695Q-312 683 -308 676T-304 645Q-304 632 -304 626T-311 610T-331 596L-380 595H-408Q-448 595 -457 617Q-459 621 -459 645T-457 673Q-448 696 -409 696Q-405 696 -396 696T-380 695H-331ZM-247 644Q-247 658 -246 665T-239 680T-221 694Q-217 695 -169 695H-143Q-102 695 -93 672Q-91 664 -91 645V635Q-91 613 -106 602Q-113 597 -121 596T-171 595L-219 596Q-232 600 -238 608T-246 622T-247 644'], - - // COMBINING RING ABOVE - 0x30A: [694,-538,0,-365,-119,'-365 616Q-365 658 -331 676T-256 694Q-253 694 -247 694T-236 693Q-166 693 -139 666Q-119 644 -119 616T-139 565Q-166 538 -237 538H-242Q-365 538 -365 616ZM-181 616Q-181 641 -195 647T-242 654Q-258 654 -266 654T-284 650T-298 638T-303 616Q-303 592 -289 585T-242 577Q-209 577 -195 584T-181 616'], - - // COMBINING DOUBLE ACUTE ACCENT - 0x30B: [694,-537,0,-440,-94,'-426 686Q-424 694 -394 694H-350H-283Q-277 686 -277 682Q-277 673 -317 608T-361 538L-396 537H-420Q-432 537 -436 539T-440 548Q-440 560 -434 616Q-432 633 -430 650T-427 677L-426 686ZM-243 686Q-241 694 -211 694H-167H-100Q-94 686 -94 682Q-94 673 -134 608T-178 538L-213 537H-237Q-249 537 -253 539T-257 548Q-257 560 -251 616Q-249 633 -247 650T-244 677L-243 686'], - - // COMBINING CARON - 0x30C: [657,-500,0,-442,-109,'-442 645Q-442 657 -418 657H-398Q-393 657 -388 657T-379 657T-371 656T-365 656H-363L-319 620L-276 583Q-275 583 -232 619Q-189 656 -188 656Q-187 657 -151 657H-116Q-109 649 -109 645Q-109 642 -112 637Q-118 629 -168 566T-220 501Q-222 500 -275 500Q-329 500 -331 501Q-442 634 -442 645'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js deleted file mode 100644 index 2d4d8ab8..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'] = { - directory: 'SansSerif/Bold', - family: 'MathJax_SansSerif', - id: 'MJSSB', - weight: 'bold', - Ranges: [ - [0x0,0x7F,"BasicLatin"], - [0x80,0xFFFF,"Other"], - [0x300,0x36F,"CombDiacritMarks"] - ] - - -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js deleted file mode 100644 index a635fc7c..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js +++ /dev/null @@ -1,83 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/Other.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'], - { - // LATIN SMALL LETTER DOTLESS I - 0x131: [458,0,256,54,201,'54 431Q63 458 102 458H127H149Q192 458 199 433Q201 427 201 229T199 25Q190 0 149 0H125L81 1Q61 7 54 28V431'], - - // LATIN SMALL LETTER DOTLESS J - 0x237: [458,205,286,-71,232,'-38 -84Q-36 -84 -14 -95T33 -106H38Q70 -103 78 -86Q83 -78 83 -49T84 180Q84 427 86 433Q93 458 136 458H158H180Q201 458 209 456T225 443Q230 436 231 418Q232 397 232 313V183V124V40Q232 -55 228 -87T203 -147Q166 -205 78 -205Q31 -205 -20 -189T-71 -159Q-71 -156 -59 -123Q-50 -96 -47 -91T-38 -84'], - - // GREEK CAPITAL LETTER GAMMA - 0x393: [691,0,581,92,534,'92 664Q98 683 118 690Q121 691 312 691T508 689Q534 682 534 644V632V618Q534 582 508 573L502 572Q496 572 489 572Q486 572 463 572T416 573Q333 573 291 575H253V303Q253 31 251 25Q242 0 199 0H170L119 1Q99 7 92 28V664'], - - // GREEK CAPITAL LETTER DELTA - 0x394: [694,0,917,60,856,'381 692Q386 694 458 694Q516 694 527 693T549 687Q564 680 575 663Q576 658 715 349T856 27Q856 6 838 1H826Q815 1 795 1T747 1T686 1T616 0T539 0T458 0T378 0T300 0T230 0T169 1T122 1T90 1H78Q60 6 60 27Q62 38 201 349T341 663Q356 687 381 692ZM627 148Q626 149 581 250T492 453L447 554Q447 553 446 552Q444 546 326 278L268 148Q268 147 448 147Q627 147 627 148'], - - // GREEK CAPITAL LETTER THETA - 0x398: [716,22,856,62,793,'62 340Q62 716 425 716Q511 716 576 696T681 642T747 559T783 458T793 341Q793 264 777 203T721 89T608 7T428 -22Q62 -22 62 340ZM638 333Q638 365 637 387T632 441T621 495T600 542T567 583T518 611T451 628Q443 629 427 629Q402 629 378 624T327 608T276 571T240 511Q217 453 217 345Q217 254 231 204T279 120Q333 69 428 69Q522 69 576 120Q638 183 638 333ZM279 349V373Q279 413 305 420Q309 422 427 422H487Q550 422 563 414T576 369V349Q576 345 576 337T577 324Q577 284 550 277Q545 275 428 275H369Q306 275 293 283T279 329V349'], - - // GREEK CAPITAL LETTER LAMDA - 0x39B: [694,0,672,41,630,'106 0H83Q41 0 41 28Q41 39 133 349T229 667Q242 694 296 694H335H375Q403 694 418 689T442 667Q445 660 537 350T630 28Q630 11 619 6T584 0H555H526Q478 0 465 27Q462 32 431 136T366 372T325 555V546Q320 503 287 376T222 141T186 27Q184 22 177 15T165 6Q154 0 106 0'], - - // GREEK CAPITAL LETTER XI - 0x39E: [688,0,733,46,686,'627 553Q609 553 512 554T366 555Q316 555 220 554T105 553Q96 553 90 553T82 554T78 554Q61 560 57 571T52 605V623L53 661Q59 680 79 687Q82 688 366 688Q649 688 654 686Q680 679 680 639V621V603Q680 563 654 554Q653 554 651 554T642 554T627 553ZM149 423Q152 424 366 424Q579 424 584 422Q610 415 610 376V358V340Q610 300 584 293Q579 291 366 291H232Q162 291 150 293T129 306Q122 315 122 360L123 397Q129 416 149 423ZM108 135Q143 135 226 134T363 133Q407 133 507 134T632 135H645Q675 135 684 110Q686 104 686 68V49Q686 9 660 2Q655 0 364 0L74 1Q57 7 49 21L47 28L46 65V83Q46 126 72 133Q80 135 108 135'], - - // GREEK CAPITAL LETTER PI - 0x3A0: [691,0,794,92,702,'92 664Q98 683 118 690Q121 691 396 691T676 689Q695 684 700 666Q702 660 702 345Q702 31 700 25Q696 9 684 5T646 0H621H596Q571 0 559 4T542 25Q540 31 540 307V582H253V307Q253 31 251 25Q242 0 199 0H170L119 1Q99 7 92 28V664'], - - // GREEK CAPITAL LETTER SIGMA - 0x3A3: [694,0,794,61,732,'322 124Q326 124 457 125T672 127H689Q721 127 730 102Q732 96 732 64V48Q732 9 706 2Q701 0 394 0L89 1Q76 5 69 13T62 29V36Q62 37 62 38Q62 47 70 58T126 126Q161 167 185 196Q302 335 302 336L187 463Q74 584 68 594Q61 603 61 639L62 667Q68 686 88 693Q91 694 396 694T706 692Q732 686 732 647V635V621Q732 585 706 576Q705 576 702 576T691 576T670 575L302 578Q302 577 394 475T490 371Q498 362 498 347Q498 336 488 323T408 226L322 124'], - - // GREEK CAPITAL LETTER UPSILON - 0x3A5: [715,0,856,62,793,'62 560Q62 607 94 644T169 698T253 715Q273 715 286 713T322 704T363 677T398 625Q413 597 423 556L428 540Q429 541 436 566T454 620T494 677T561 713Q570 715 593 715Q682 715 737 668T793 560Q793 549 793 545T786 533T767 520H670Q646 532 644 551T632 579Q618 594 591 594Q539 594 524 530T509 321V216Q509 31 507 25Q498 0 455 0H426L375 1Q355 7 348 28L347 232Q346 344 346 441Q346 442 343 468T335 521T312 571T266 594Q252 594 247 593Q228 586 220 576T212 557T209 539T191 523L185 520H88Q75 527 69 534T63 545T62 560'], - - // GREEK CAPITAL LETTER PHI - 0x3A6: [694,0,794,62,732,'62 292T62 347T80 445T124 511T183 552T243 574T292 584L315 587H319V627L320 667Q329 694 370 694H397H422Q466 694 473 669Q475 663 475 625V587H478Q479 587 500 584T548 575T608 553T668 513T713 446T732 347Q732 253 674 187Q655 167 628 152T576 128T530 116T493 109L478 107H475V69V50Q475 9 449 2Q444 0 395 0L347 1Q327 7 320 28L319 67V107H315L292 110Q269 114 243 119T184 142T124 182T80 249ZM319 197T319 347T318 497Q316 497 307 494T284 485T262 471Q220 438 220 347Q220 285 239 249Q248 234 261 223T286 208T308 200L317 197Q319 197 319 347ZM572 347V357Q572 387 569 407T548 452T496 491Q495 491 494 491T487 493T475 497V197Q518 210 541 232T571 303Q572 312 572 347'], - - // GREEK CAPITAL LETTER PSI - 0x3A8: [694,0,856,61,794,'61 585Q62 594 62 597T64 606T73 616T89 626H138Q196 626 208 620Q243 602 253 546T261 431T271 309T325 219Q342 205 349 205Q350 205 350 436L351 667Q360 694 401 694H428H454Q495 694 504 671Q506 663 506 436L507 205Q542 222 561 251T586 318T593 392T595 472T602 546Q614 614 661 625Q665 626 708 626H730Q766 626 780 618T794 582Q794 548 768 540Q755 538 754 501T750 410T736 298T680 191T560 120Q550 116 512 109H506V70V50Q506 9 480 2Q475 0 426 0L378 1Q358 7 351 28L350 68V109L335 111Q298 117 267 129T214 156T175 191T146 229T127 272T115 314T109 357T106 395T105 429Q104 537 87 540Q66 548 63 565Q61 570 61 585'], - - // GREEK CAPITAL LETTER OMEGA - 0x3A9: [716,1,794,49,744,'241 122Q225 154 191 199T131 278T83 363T61 464Q61 497 68 527T94 591T145 650T228 693T349 715Q354 715 370 715T396 716Q539 716 622 668Q658 647 682 617T715 556T728 505T732 465Q732 415 711 365T663 280T602 200T552 122H632Q649 122 669 122T693 123H697Q736 123 742 98Q744 92 744 62V47Q744 9 718 2Q713 0 591 0L471 1Q454 7 446 21Q444 27 444 45Q444 96 463 154T506 257T549 360T569 469Q569 504 563 530T538 580T485 616T396 629Q313 629 268 594T223 468Q223 419 243 361T286 258T330 152T350 41Q350 14 335 7T276 -1Q267 -1 241 -1T197 0L77 1Q57 7 50 28L49 59V74Q49 114 75 121Q81 123 100 123Q104 123 124 123T161 122H241'], - - // EN DASH - 0x2013: [327,-240,550,0,549,'0 284Q0 318 26 325Q30 327 274 327Q469 327 497 327T532 322Q549 310 549 283Q549 257 532 245Q525 241 498 241T275 240Q31 240 26 242Q0 249 0 284'], - - // EM DASH - 0x2014: [327,-240,1100,0,1099,'0 284Q0 318 26 325Q30 327 549 327T1073 325Q1099 318 1099 284Q1099 249 1073 242Q1068 240 549 240Q31 240 26 242Q0 249 0 284'], - - // LEFT SINGLE QUOTATION MARK - 0x2018: [694,-443,306,81,226,'87 443L81 449V581L119 636Q125 644 131 653T141 667T148 677T154 685T158 689T163 692T167 693T173 694H190H201Q226 694 226 683Q226 678 208 635T189 590Q189 588 204 588H219Q222 584 226 581V449L219 443H87'], - - // RIGHT SINGLE QUOTATION MARK - 0x2019: [694,-442,306,80,226,'81 687Q85 693 88 693Q89 694 154 694H219Q222 690 226 687V556L187 501Q182 494 177 486T169 474T163 465T157 457T153 451T149 447T145 445T141 443T137 443T132 442H116H105Q80 442 80 453Q80 458 98 501T117 546Q117 548 102 548L87 549L81 555V687'], - - // LEFT DOUBLE QUOTATION MARK - 0x201C: [694,-443,558,138,520,'144 443L138 449V581L176 636Q182 644 188 653T198 667T205 677T211 685T215 689T220 692T224 693T230 694H247H258Q283 694 283 683Q283 678 265 635T246 590Q246 588 261 588H276Q279 584 283 581V449L276 443H144ZM381 443L375 449V581L413 636Q419 644 425 653T435 667T442 677T448 685T452 689T457 692T461 693T467 694H484H495Q520 694 520 683Q520 678 502 635T483 590Q483 588 498 588H513Q516 584 520 581V449L513 443H381'], - - // RIGHT DOUBLE QUOTATION MARK - 0x201D: [694,-442,558,37,420,'38 687Q42 693 45 693Q46 694 111 694H176Q179 690 183 687V556L144 501Q139 494 134 486T126 474T120 465T114 457T110 451T106 447T102 445T98 443T94 443T89 442H73H62Q37 442 37 453Q37 458 55 501T74 546Q74 548 59 548L44 549L38 555V687ZM275 687Q279 693 282 693Q283 694 348 694H413Q416 690 420 687V556L381 501Q376 494 371 486T363 474T357 465T351 457T347 451T343 447T339 445T335 443T331 443T326 442H310H299Q274 442 274 453Q274 458 292 501T311 546Q311 548 296 548L281 549L275 555V687'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js deleted file mode 100644 index aa98cefc..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js +++ /dev/null @@ -1,290 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/BasicLatin.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'], - { - // SPACE - 0x20: [0,0,250,0,0,''], - - // EXCLAMATION MARK - 0x21: [694,0,319,110,355,'160 187L257 694H306Q355 694 355 693L238 186H199Q160 186 160 187ZM110 2Q111 3 120 49T131 96Q131 98 180 98T229 96L219 50Q209 3 208 2V0H110V2'], - - // QUOTATION MARK - 0x22: [694,-471,500,133,472,'171 647L180 694H229Q278 694 278 693L276 686Q275 680 273 668T268 644L258 597L182 471H157Q133 471 133 472L189 595Q189 596 174 596H160V598Q160 601 171 647ZM365 647L374 694H423Q472 694 472 693L470 686Q469 680 467 668T462 644L452 597L376 471H351Q327 471 327 472L383 595Q383 596 368 596H354V598Q354 601 365 647'], - - // NUMBER SIGN - 0x23: [694,194,833,87,851,'793 170Q809 162 809 149Q809 145 807 141T802 135T796 132L793 130H547L472 -27Q397 -184 394 -187Q389 -194 379 -194Q367 -194 362 -183Q359 -179 359 -173Q360 -168 431 -20L503 129Q503 130 410 130H317L242 -27Q167 -184 164 -187Q159 -194 149 -194Q137 -194 132 -183Q129 -179 129 -173Q130 -168 201 -19L273 130H187L100 131Q87 141 87 150Q87 162 102 170H294L331 248Q339 265 349 286T365 318L370 328Q370 330 258 330Q145 330 142 332Q129 338 129 351Q129 362 140 368Q146 370 267 370L391 371L467 527Q542 684 544 686Q544 688 549 691T560 694H562Q565 693 567 692T571 690T575 686T578 681T579 672Q577 665 507 520T436 373L435 370H528L621 371L692 518Q767 675 769 677Q775 694 789 694Q798 694 804 688T809 672Q806 664 737 519L665 371L751 370Q835 370 841 368Q851 362 851 350Q851 337 841 334T799 330H765H741H645L606 250L568 170H793ZM600 328Q600 330 508 330H415Q412 326 338 171Q338 170 431 170H524L561 248Q569 265 579 286T595 318L600 328'], - - // DOLLAR SIGN - 0x24: [750,56,500,56,565,'228 70Q233 92 246 155T270 266T280 316Q271 318 265 320T237 333T200 360T172 403T159 468Q159 537 205 600T325 691Q352 701 360 701Q361 701 361 701T362 703T364 711T368 727L372 750H409Q445 750 445 749L436 705Q436 703 450 702T494 691T554 657L565 649Q562 642 548 604L534 568Q511 591 484 605T440 621L424 623L419 624L372 405Q399 400 424 384Q490 338 490 247V240Q490 156 430 85Q374 13 294 -5L284 -7L280 -30Q279 -35 278 -41T275 -52L274 -55Q274 -56 237 -56Q201 -56 201 -54Q202 -53 205 -34T211 -11Q211 -9 206 -9Q154 -2 115 19Q80 35 56 59L88 141L99 131Q109 121 119 113T141 99T160 89T180 82T197 77T214 73T228 70ZM303 426Q304 427 313 471T332 564T345 620L335 616Q287 596 263 549Q252 525 252 499Q252 470 267 451T298 426Q303 424 303 426ZM302 75Q305 75 315 80T340 98T367 125T390 164T399 214Q399 247 384 268T349 297Q338 247 326 186L302 75'], - - // PERCENT SIGN - 0x25: [750,56,833,165,815,'268 347Q224 347 195 386T165 488Q165 517 173 552Q191 637 246 693T349 749Q389 749 414 725T448 673T456 614Q456 506 396 427T268 347ZM372 604Q372 674 339 674Q311 674 290 633T261 549T253 482V474Q253 438 272 426Q277 424 286 424Q319 424 345 485T372 604ZM189 -56Q179 -56 173 -49T167 -37Q167 -30 347 198Q425 296 475 360Q780 745 785 747Q790 750 796 750Q814 748 814 730Q814 725 811 719L204 -49Q198 -56 189 -56ZM523 87Q523 184 583 265T713 347Q758 347 786 308T815 207Q815 110 757 28T629 -55Q576 -55 550 -12T523 87ZM729 200Q729 271 696 271Q675 271 658 247T631 189T616 125T611 76Q611 21 644 21H647Q672 21 700 77T729 200'], - - // AMPERSAND - 0x26: [716,22,758,71,747,'219 -22Q158 -22 117 13T71 111Q71 131 74 150T84 185T98 215T118 241T137 262T159 281T179 295T199 308L214 318L258 348L256 362Q254 373 254 413V435Q254 483 271 537T325 641T411 708Q427 715 441 715Q446 716 455 716Q504 716 534 681T565 590Q565 522 519 468T377 347L358 334Q359 333 363 320T374 290T387 262Q404 227 428 187T460 139Q521 183 574 251T651 362T674 409L710 398Q746 388 747 388Q747 381 720 333T635 213T517 94L510 87Q542 57 598 57Q649 57 708 72Q716 75 718 75L709 34L701 -7Q636 -22 578 -22Q531 -22 498 -8T428 34L408 25Q314 -22 219 -22ZM480 579Q480 640 436 640Q410 640 385 615T351 554Q340 513 340 457Q340 413 343 410Q343 406 360 419Q431 471 455 505T480 579ZM245 57Q279 59 311 67T359 81T375 89T358 113T318 178T281 260L274 277L245 257Q167 205 167 135Q167 110 174 93T194 69T217 60T237 57H245'], - - // APOSTROPHE - 0x27: [694,-471,278,190,335,'228 647L237 694H286Q335 694 335 693L334 686Q332 680 330 668T325 644L315 597L239 471H214Q190 471 190 472L246 595Q246 596 231 596H217V598Q217 601 228 647'], - - // LEFT PARENTHESIS - 0x28: [750,250,389,104,491,'195 37Q195 -7 200 -47T213 -113T231 -166T250 -204T268 -232T280 -250H204L194 -238Q104 -124 104 55Q104 238 181 432T405 740L417 750H454Q491 750 491 749L468 729Q446 709 411 667T337 565T262 405T208 188Q195 110 195 37'], - - // RIGHT PARENTHESIS - 0x29: [750,250,389,2,390,'300 463Q300 634 222 740L214 750H290L299 740Q300 738 309 726T323 707T337 682T353 651T367 613T379 566T387 510T390 444Q390 314 344 156T203 -125Q179 -155 145 -191Q111 -224 89 -241L78 -250H2Q4 -248 27 -227T65 -189T107 -140T155 -71T200 16T244 129T278 266Q300 372 300 463'], - - // ASTERISK - 0x2A: [750,-306,500,156,568,'193 608Q193 628 210 644T246 660Q250 660 252 660T257 658T264 654T272 648T284 638T302 623Q340 590 340 593Q341 594 345 623T354 682T360 715Q365 729 378 739T407 750Q424 750 433 740T443 720Q443 712 427 652L410 591L462 623Q505 650 514 655T534 660Q549 660 558 650T568 625Q568 617 567 611T560 599T551 590T536 580T519 571T496 561T470 548L429 528L474 500Q482 495 492 489T506 481T516 475T523 469T527 464T529 458T530 450Q530 430 514 414T479 397H475Q468 397 460 402T423 433Q414 440 404 448T388 461L383 465L365 344Q348 306 314 306Q302 306 292 313T281 338Q281 347 297 404L313 464L260 433Q201 397 195 397H189Q173 397 165 407T156 432Q156 438 157 443T161 452T166 460T175 468T185 475T198 482T212 489T230 497T250 506L295 528L250 556Q203 582 202 585Q193 591 193 608'], - - // PLUS SIGN - 0x2B: [583,83,778,108,775,'108 244T108 250T112 261T119 268T124 270H426V272Q428 274 457 419Q489 565 492 573Q497 583 508 583Q516 583 522 577T528 565Q528 553 498 417Q491 384 483 346T471 288L467 270H760Q775 262 775 250T760 230H458Q456 221 426 77T394 -71Q389 -83 375 -83Q367 -83 362 -78T356 -64Q356 -58 387 84Q394 118 401 155T413 210L417 229Q417 230 271 230H124Q123 230 120 232T112 239'], - - // COMMA - 0x2C: [98,125,278,63,209,'90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2Q188 0 149 -63L112 -125H63L120 0H105Q90 0 90 2'], - - // HYPHEN-MINUS - 0x2D: [259,-186,333,51,332,'66 257V259H332V257L324 220L317 186H184Q51 186 51 187T58 220T66 257'], - - // FULL STOP - 0x2E: [98,0,278,90,209,'90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2V0H90V2'], - - // SOLIDUS - 0x2F: [750,250,500,6,600,'564 744L568 747Q573 750 579 750Q588 750 594 744T599 729Q597 721 321 241T41 -243Q37 -250 27 -250Q6 -250 6 -230Q6 -228 8 -222Q9 -219 285 261T564 744'], - - // DIGIT ZERO - 0x30: [678,22,500,87,549,'245 -22Q209 -22 181 -11T135 20T107 65T92 116T88 171Q88 235 114 354T194 557Q226 606 269 635T340 671T392 678H395Q422 678 446 670T495 643T534 582T549 481Q549 430 534 350T499 213Q459 89 379 25Q315 -22 247 -22H245ZM430 582Q408 601 378 601Q313 601 269 534Q234 475 205 341Q181 232 181 174Q181 104 209 76Q231 54 260 54T318 73T368 125Q410 194 447 375Q460 445 460 487Q460 555 430 582'], - - // DIGIT ONE - 0x31: [678,0,500,88,451,'234 613Q277 613 331 628T428 678H439Q451 678 451 676Q450 671 387 373T323 74T384 73H445L430 0H259L88 1L104 73H229L332 560Q278 541 198 539Q198 540 198 541T199 546T200 554T202 564T205 576L213 612H219Q221 612 226 612T234 613'], - - // DIGIT TWO - 0x32: [678,0,500,50,551,'190 460Q189 460 181 475T164 507T155 527Q155 535 182 571Q259 678 380 678Q462 678 506 630T551 513V507Q551 418 487 349Q469 329 441 305T391 265T344 232T316 212Q158 87 158 86T188 85Q194 85 234 85T311 86Q467 86 467 85Q451 9 449 2V0H50Q54 18 58 40L67 79L133 133Q246 226 269 243Q369 318 410 373T452 492Q452 535 433 560T393 592T350 599Q311 599 279 578T231 532T203 484T190 460'], - - // DIGIT THREE - 0x33: [678,23,500,56,544,'446 542Q446 576 424 590T372 605Q330 605 288 583T216 524Q209 515 208 516Q207 517 192 549L178 580L187 589Q224 627 276 652T386 678Q456 678 500 642T544 550Q544 515 530 482T495 427T453 387T418 362L403 353L413 348Q440 335 462 313Q500 271 500 217Q500 135 423 57T236 -22T63 59L56 68L85 141Q106 112 125 98Q177 54 254 54Q315 54 355 105T396 218Q396 242 393 254Q380 301 335 313Q327 315 280 316Q233 316 233 318L249 392Q298 392 322 399Q373 408 409 453T446 542'], - - // DIGIT FOUR - 0x34: [656,0,500,62,521,'78 235L411 656H465Q519 656 519 655T475 447T430 237V235H521V233L505 160Q505 159 459 159H414L380 0H286L320 159H62L63 164Q64 169 66 179T70 198L78 235ZM342 235L421 607Q420 607 419 604Q409 535 197 267Q173 236 173 235H342'], - - // DIGIT FIVE - 0x35: [656,22,500,49,555,'330 350Q263 350 214 272H133V275Q134 276 174 467L214 655Q214 656 385 656H555V653Q555 652 554 647T550 631T546 613L539 577H284L265 486Q261 464 256 441T248 406L246 395L250 398Q255 401 264 406T286 415T315 423T350 427Q412 427 455 381T498 256Q498 150 415 64T222 -22Q186 -22 155 -12T105 12T74 41T55 65T50 77L51 79Q61 89 78 112L104 145L107 138Q110 130 114 123T125 106T142 88T165 72T196 60T236 55Q282 55 316 79T366 140T389 208T396 267Q396 310 378 330T337 350H330'], - - // DIGIT SIX - 0x36: [678,22,500,94,548,'437 605Q397 605 361 585T301 536T261 477T236 426T228 401L236 408Q244 414 260 424T296 445T345 462T402 469H404Q422 469 434 467T465 446T498 394Q515 351 515 307Q515 254 497 193T439 85Q352 -22 246 -22Q220 -22 196 -14T148 15T109 78T94 179Q94 272 123 373Q163 505 257 591T450 678Q474 678 498 674T535 664T548 656L540 621L532 586L520 590Q509 594 485 599T437 605ZM339 392Q281 392 233 334T185 163V158Q185 87 230 61Q244 54 262 54Q325 54 371 122Q395 158 407 217T419 298Q419 337 401 364T339 392'], - - // DIGIT SEVEN - 0x37: [656,11,500,143,596,'173 614L181 656H389Q596 656 596 655L595 650Q594 645 592 635T588 616L580 578L554 551Q313 307 245 4L242 -11H192Q143 -11 143 -10Q144 0 148 17T169 89T212 198T285 327T393 470Q423 504 472 550Q479 555 485 561T496 571L329 570Q163 570 163 571L164 577Q166 583 168 593T173 614'], - - // DIGIT EIGHT - 0x38: [678,22,500,77,554,'159 470Q159 547 229 612T394 678Q467 678 510 636T554 533Q554 512 549 493T535 458T515 429T492 405T467 386T443 372T423 362T409 356L404 354Q404 353 405 353Q411 353 432 341T476 295T500 218Q500 134 424 56T246 -22Q175 -22 126 22T77 143Q77 204 110 251T188 327L202 334Q216 340 229 346T243 353T235 358T214 372T189 393T168 426T159 470ZM467 527Q467 605 375 605Q317 605 281 566T244 472Q244 429 271 411T334 392Q392 392 429 430T467 527ZM405 228Q405 262 384 289T315 316Q257 316 216 266T174 144Q174 95 199 75T262 54Q329 54 367 109T405 228'], - - // DIGIT NINE - 0x39: [677,22,500,77,545,'220 594Q303 677 389 677Q545 677 545 479Q545 413 526 327Q493 175 398 77T202 -22Q124 -22 77 25L130 91L137 83Q169 54 218 54Q255 54 290 76T347 129Q364 151 380 182T403 232T411 256Q410 255 390 241T353 217T303 197T236 187Q195 187 173 209Q155 226 140 263T124 352Q124 392 135 435Q154 527 220 594ZM455 497Q455 605 383 605Q340 605 305 577T246 492Q220 411 220 360Q220 278 279 264Q280 264 287 264T299 263Q347 263 387 302Q455 375 455 497'], - - // COLON - 0x3A: [444,0,278,90,282,'174 396L184 444H233Q282 444 282 443Q277 421 272 394L262 346H213Q164 346 164 347Q169 369 174 396ZM90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2V0H90V2'], - - // SEMICOLON - 0x3B: [444,125,278,63,282,'174 396L184 444H233Q282 444 282 443Q277 421 272 394L262 346H213Q164 346 164 347Q169 369 174 396ZM90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2Q188 0 149 -63L112 -125H63L120 0H105Q90 0 90 2'], - - // EQUALS SIGN - 0x3D: [370,-130,778,88,796,'142 368Q145 370 463 370Q780 370 784 368Q796 364 796 350T784 332Q780 330 463 330Q145 330 142 332Q129 338 129 351Q129 362 142 368ZM88 137T88 150T102 170H738Q739 170 742 168T750 161T754 150T750 139T743 132T738 130H102Q88 137 88 150'], - - // QUESTION MARK - 0x3F: [704,0,472,173,536,'194 652Q194 654 218 666T284 691T362 704Q444 704 490 678T536 583Q536 541 516 500T459 433Q415 400 387 371T343 313T321 266T307 216L301 186H262Q223 186 223 187Q224 199 228 218T250 288T294 377Q317 413 344 440T391 481T414 499Q442 527 442 574Q442 584 441 590T433 607T409 623T362 629Q335 629 310 624T267 610T235 595T214 582T205 576L200 614Q194 651 194 652ZM173 2Q174 3 183 49T194 96Q194 98 243 98T292 96L282 50Q272 3 271 2V0H173V2'], - - // COMMERCIAL AT - 0x40: [705,10,667,120,707,'120 267Q120 377 179 478T336 642T538 705Q610 705 658 662T707 513Q707 425 681 331Q658 241 590 179T447 117Q386 117 343 163T300 288Q300 397 374 486T544 576Q575 576 608 562Q590 628 517 628Q406 628 309 522T212 278Q212 179 267 122T404 65T550 91H631Q513 -10 390 -10Q265 -10 193 70T120 267ZM600 397Q600 441 581 471T530 501Q476 501 433 436T390 298Q390 254 409 224T462 193Q512 193 556 257T600 397'], - - // LATIN CAPITAL LETTER A - 0x41: [694,0,667,28,638,'28 0L429 694H533L585 350Q596 275 610 182T632 46L638 3V0H530L528 18Q527 25 515 103T503 183H223L135 29L118 1L73 0H28ZM492 254Q492 256 473 398T454 589V610Q433 552 290 301L264 255L378 254H492'], - - // LATIN CAPITAL LETTER B - 0x42: [694,0,667,90,696,'501 363Q557 355 605 316T653 222Q653 148 586 85T403 2Q394 1 240 0Q90 0 90 1L100 46Q109 90 128 177T164 348L238 694H375Q518 693 546 688Q614 674 655 635T696 544Q696 490 648 441T516 368L501 363ZM601 530Q601 568 566 590T479 621Q472 622 394 623H320L297 513Q292 489 286 459T276 415L273 401V399H339H372Q504 399 571 466Q601 498 601 530ZM257 322Q256 320 230 197T203 73Q203 71 289 71Q379 72 387 73Q459 84 507 122T556 210Q556 255 519 283T428 320Q415 322 336 323Q257 323 257 322'], - - // LATIN CAPITAL LETTER C - 0x43: [705,10,639,124,719,'124 266Q124 372 179 473T333 639T544 705Q592 705 635 697T698 679L718 670Q719 669 701 621T681 572L676 576Q670 580 661 586T641 598T614 611T583 620Q558 625 526 625Q406 625 318 516T230 276Q230 238 236 212Q251 148 294 108T412 68Q469 68 508 80T598 123Q608 129 608 128Q606 109 603 87L598 45L573 33Q521 7 486 -1T394 -10Q358 -10 346 -8Q260 5 202 62Q124 145 124 266'], - - // LATIN CAPITAL LETTER D - 0x44: [694,0,722,88,747,'162 348L236 694H385Q535 693 543 692Q600 682 641 654T705 586T737 506T747 425Q747 296 672 187Q625 114 548 62T384 1Q376 0 262 0Q88 0 88 1L98 46Q107 90 126 177T162 348ZM622 533Q575 624 443 624Q434 624 419 624T399 623H321L263 348Q249 283 234 213T212 107L204 72Q204 71 289 71Q374 72 386 74Q501 94 573 193T646 422Q646 487 622 533'], - - // LATIN CAPITAL LETTER E - 0x45: [691,0,597,86,688,'86 2Q88 4 160 346T233 689Q233 691 461 691Q688 691 688 689Q685 686 671 611H495L320 612L319 609Q319 607 297 501L274 397H436Q597 397 597 396L596 391Q595 386 593 376T589 358L581 322L420 321Q258 321 258 320Q209 89 208 87Q208 85 390 85Q417 85 460 85T518 86L572 85Q556 8 554 2V0H86V2'], - - // LATIN CAPITAL LETTER F - 0x46: [691,0,569,86,673,'86 2Q88 4 160 346T233 689Q233 691 453 691T673 689Q670 686 656 611H488L320 612Q314 579 302 523T281 427T272 385Q272 384 419 384H567L551 308H255L223 156Q216 124 207 82T194 20L190 2Q190 0 138 0H86V2'], - - // LATIN CAPITAL LETTER G - 0x47: [705,11,667,125,730,'125 267Q125 375 182 476T337 641T544 705Q598 705 644 693T710 669T730 655L712 609L693 560L692 557L681 567Q618 626 526 626Q447 626 378 573T269 440T229 277Q229 185 276 127T406 68Q422 68 451 71T502 78T524 84L526 93Q528 102 532 119T539 153L553 222Q553 223 495 223Q436 223 436 224Q436 230 444 262L452 299H662V296Q661 290 635 166T607 40Q606 37 576 25T492 1T391 -11Q272 -11 199 66T125 267'], - - // LATIN CAPITAL LETTER H - 0x48: [694,0,708,86,768,'517 2Q518 3 551 161T585 322Q586 323 557 323T422 323H259L190 0H138Q86 0 86 1L96 46Q105 90 124 177T160 348L234 694H337V691Q336 690 306 545T275 399H602L603 403Q603 407 634 551L665 694H768V691Q768 690 695 348T621 2V0H517V2'], - - // LATIN CAPITAL LETTER I - 0x49: [694,0,278,87,338,'161 348L235 694H338V691Q338 690 265 348T191 2V0H139Q87 0 87 1L96 46Q106 90 125 177T161 348'], - - // LATIN CAPITAL LETTER J - 0x4A: [694,22,472,46,535,'377 424L435 694H535V691Q534 685 476 412T416 135Q401 74 350 26T210 -22Q165 -22 124 -11T65 9T46 21L54 41Q62 61 70 83T81 109Q82 111 85 106Q86 105 87 103Q93 94 103 84T135 64T185 53Q238 53 272 76T317 142Q317 145 325 182T348 289T377 424'], - - // LATIN CAPITAL LETTER K - 0x4B: [694,0,694,88,784,'236 223Q235 222 213 113T188 2V0H138Q88 0 88 1L98 46Q107 90 126 177T162 348L236 694H285Q335 694 335 693L330 671Q326 649 316 603T298 518Q289 477 280 433T266 366L261 343L672 694H729L784 693L465 420L651 0H596L541 1L384 350Q383 351 310 288T236 223'], - - // LATIN CAPITAL LETTER L - 0x4C: [694,0,542,87,516,'161 348L235 694H338V691Q338 690 273 385T208 79Q278 80 362 80H516Q502 11 499 2V0H293Q87 0 87 1L96 46Q106 90 125 177T161 348'], - - // LATIN CAPITAL LETTER M - 0x4D: [694,0,875,92,929,'375 691Q456 215 459 124V106Q488 177 762 641L793 694H929V691Q929 690 856 348T782 2V0H689V2Q691 4 753 304Q817 604 818 606Q819 611 817 608Q817 607 815 603Q798 559 540 117L484 22H440L397 23L393 42Q393 47 373 169T334 422T315 594V609L250 306Q186 3 185 2Q185 0 138 0Q92 0 92 1L102 46Q111 90 130 177T166 348L240 694H375V691'], - - // LATIN CAPITAL LETTER N - 0x4E: [694,0,708,88,766,'311 609Q310 608 246 306T181 2V0H134Q88 0 88 1L98 46Q107 90 126 177T162 348L236 694H382L383 691Q383 688 418 561T493 286T541 97L544 84L545 89Q545 90 553 128T578 246T610 394L674 694H766V691Q766 690 693 348T619 2V0H472L469 13Q468 17 393 293T312 605L311 609'], - - // LATIN CAPITAL LETTER O - 0x4F: [716,23,736,118,763,'118 254Q118 366 174 473T324 648T517 716Q627 716 695 638T763 435Q763 321 706 215T555 43T362 -22Q256 -22 187 56T118 254ZM380 58Q452 58 518 116T622 263T661 442Q661 496 646 535T608 594T567 622T534 634Q516 636 496 636Q400 636 313 528T225 264Q225 172 267 115T380 58'], - - // LATIN CAPITAL LETTER P - 0x50: [694,0,639,88,690,'162 348L236 694H378Q522 693 530 692Q604 680 647 635T690 524Q690 474 665 430T612 359Q550 299 465 280Q443 275 343 274H250V271Q250 269 235 201T206 68T192 2V0H140Q88 0 88 1L98 46Q107 90 126 177T162 348ZM594 513Q594 560 562 588T477 622Q470 623 394 623H321L293 487L263 349V347H342H347H375Q530 347 578 449Q594 483 594 513'], - - // LATIN CAPITAL LETTER Q - 0x51: [716,125,736,118,763,'118 254Q118 366 174 473T324 648T517 716Q627 716 695 638T763 435Q763 305 693 194T543 36Q547 29 586 -47T625 -125H504L450 -8Q406 -22 363 -22Q256 -22 187 56T118 254ZM661 437Q661 532 616 584T506 636Q428 636 361 578T257 433T220 258Q220 167 264 113T380 58Q390 58 397 58T408 59T413 60T417 61Q417 63 387 127T356 193Q356 194 409 194H462L485 150L508 105Q509 103 532 125T567 161Q661 278 661 437'], - - // LATIN CAPITAL LETTER R - 0x52: [694,0,646,88,698,'162 348L236 694H375H414H445Q507 694 538 690T606 668Q698 623 698 534V528Q698 447 608 377Q582 358 555 345T512 326L497 321L617 0H565L513 1L402 309H255L189 0H138Q88 0 88 1L98 46Q107 90 126 177T162 348ZM603 525Q603 603 499 620Q486 622 403 623H321L297 506Q292 482 285 449T274 402L271 387V385H346Q350 385 363 385T386 384Q548 384 592 479Q603 503 603 525'], - - // LATIN CAPITAL LETTER S - 0x53: [716,22,556,54,609,'161 478Q161 568 242 642T435 716Q527 716 599 673L609 667Q595 633 589 615L571 568Q570 568 564 575T546 592T518 611T475 628T417 635Q351 635 305 596T259 507Q259 465 290 444T372 411T432 396Q473 385 509 343T545 236Q545 140 464 59T270 -22Q155 -22 54 48L92 146Q93 146 101 138T124 117T161 92T216 72T288 63Q360 63 403 109T447 204Q447 220 444 233T435 256T421 273T404 285T385 295T366 301T347 306T331 310T315 314T292 321T265 331T235 346T207 367T183 395T168 431T161 478'], - - // LATIN CAPITAL LETTER T - 0x54: [688,0,681,165,790,'165 608L182 687Q182 688 486 688H790L789 685L781 645L773 609H521L457 306Q393 3 392 2Q392 0 340 0H288V2Q289 5 353 304T417 605V609L291 608H165'], - - // LATIN CAPITAL LETTER U - 0x55: [694,22,688,131,747,'340 -22Q251 -22 191 33T131 177V187Q131 192 131 195T132 205T133 215T136 231T141 253T147 285T156 328T168 384T184 457L235 694H338V691Q338 690 288 451T236 210Q234 194 234 177Q234 138 247 111T280 72T319 54T357 49Q408 49 449 74T510 128Q516 136 521 143T530 158T538 175T545 194T553 220T560 250T569 289T579 336T591 395T606 464L655 694H747V691Q651 243 645 213Q623 149 587 102Q482 -22 340 -22'], - - // LATIN CAPITAL LETTER V - 0x56: [694,0,667,161,799,'220 348L161 694H216Q270 694 270 693L283 613Q334 313 346 215Q359 102 359 96Q359 87 358 84Q388 162 684 657L706 694H753Q799 694 799 693L387 0H333Q279 0 279 1L272 45Q264 89 249 177T220 348'], - - // LATIN CAPITAL LETTER W - 0x57: [694,0,944,161,1076,'596 540Q596 562 597 585T599 609Q599 588 436 255Q402 185 362 104L310 0H213V3Q213 6 188 347T161 694H263L265 664Q290 327 293 184Q293 112 289 85Q290 85 290 87Q290 95 301 123T332 194T373 282T419 380T463 469T498 541T517 579L574 694H671V689L674 646Q678 603 682 538T691 401T699 263T703 160Q703 102 700 87Q719 154 930 576L989 694H1076Q1076 693 903 347L730 0H628V4L626 26Q624 48 622 85T616 168T609 267T603 369T598 464T596 540'], - - // LATIN CAPITAL LETTER X - 0x58: [694,0,667,14,758,'14 0Q17 3 184 184T352 367L265 529Q244 567 222 609T188 672L176 692Q176 694 236 694H297L338 612Q387 515 400 489L421 448L645 694H758L708 640Q481 393 456 368Q455 366 500 281T596 104T652 0H531L388 293L128 0H14'], - - // LATIN CAPITAL LETTER Y - 0x59: [694,0,667,151,809,'151 692Q151 694 212 694H272L418 362L696 683L705 694H758L809 693Q809 692 630 490T444 280Q442 275 413 139L383 1L333 0Q282 0 282 2Q283 3 312 141L341 278L246 484L151 692'], - - // LATIN CAPITAL LETTER Z - 0x5A: [694,0,611,55,702,'67 54Q551 615 551 617Q543 618 517 618Q510 618 463 618T376 617Q200 617 200 618T209 657L216 694H459Q702 694 702 692Q702 689 697 667L692 643L207 80H392Q493 81 577 81Q577 70 560 2V0H55V2L67 54'], - - // LEFT SQUARE BRACKET - 0x5B: [750,250,289,41,425,'148 252L253 750H339Q425 750 425 749L424 744Q423 739 421 729T417 711L409 675L367 674H325L235 252Q145 -167 145 -172Q145 -174 187 -174H229V-176Q213 -240 213 -250H127Q41 -250 41 -248Q41 -245 148 252'], - - // RIGHT SQUARE BRACKET - 0x5D: [750,250,289,-31,353,'353 749Q353 746 303 512T200 27T141 -250H-31Q-31 -240 -15 -176V-174H70L250 674H208L165 675L181 750H267Q353 750 353 749'], - - // CIRCUMFLEX ACCENT - 0x5E: [694,-527,500,190,533,'190 527L360 694H434L484 611Q533 528 533 527H457L390 632L385 639L266 527H190'], - - // LOW LINE - 0x5F: [-38,114,500,50,565,'59 -75L66 -38H316Q565 -38 565 -39T558 -75T549 -112Q549 -114 299 -114Q50 -114 50 -113L52 -108Q53 -103 55 -93T59 -75'], - - // LATIN SMALL LETTER A - 0x61: [461,10,481,61,473,'313 386Q286 386 260 381T217 369T186 355T164 342T155 337Q154 338 159 377T165 418Q251 461 320 461Q322 461 328 461T337 460Q397 460 435 424T473 329Q473 325 473 318T472 308Q432 110 407 2V0H317V2L325 38Q295 21 269 10Q215 -10 156 -10H149Q76 -10 62 69Q61 75 61 90Q61 127 73 150T116 194Q146 215 207 231T348 252H368L373 277Q378 302 378 318Q378 367 339 384Q332 386 313 386ZM150 116Q150 93 171 79T223 65Q259 65 293 85T341 135Q343 140 348 160T353 184Q353 186 342 186Q298 186 231 174T153 134Q150 127 150 116'], - - // LATIN SMALL LETTER B - 0x62: [694,11,517,75,539,'302 -11Q266 -11 235 1T190 26L176 38Q170 8 168 2V0H121Q75 0 75 1L84 46Q94 90 113 177T149 348L223 694H267Q312 694 312 693T282 551T251 407Q251 406 256 408T271 415Q347 454 430 454H438Q501 454 528 374Q539 339 539 299Q539 179 466 84T302 -11ZM443 275Q443 317 421 348T346 379Q318 379 296 369Q269 359 238 332L193 118L198 109Q220 65 269 65Q350 65 396 130T443 275'], - - // LATIN SMALL LETTER C - 0x63: [460,11,444,74,499,'75 164Q75 226 100 282T165 377T252 437T342 460H347Q447 460 499 417L483 378Q468 339 468 338Q466 338 455 347T424 366T385 378Q355 382 334 382Q262 382 215 318T168 177Q168 120 196 95T259 69H269Q345 69 420 108Q432 114 432 113T427 72L422 32L402 22Q382 12 344 2T259 -11Q214 -11 180 2T126 36T95 81T79 126T75 164'], - - // LATIN SMALL LETTER D - 0x64: [694,10,517,73,588,'73 156Q73 224 102 293T184 408T294 455Q375 455 432 413Q438 407 438 410T469 553L499 694H588V691Q588 690 515 348T441 2V0H348V2Q357 29 357 43L352 41Q332 24 288 7T196 -10H190Q178 -10 166 -7T134 8T98 46T75 113Q73 129 73 156ZM419 335Q419 339 412 348T386 368T342 379Q284 379 243 343T184 261T167 168Q167 122 191 94T263 66Q321 66 367 116L374 124L397 229Q419 333 419 335'], - - // LATIN SMALL LETTER E - 0x65: [460,11,444,71,472,'248 -11Q170 -11 121 41T71 173Q71 265 133 349T285 454Q305 460 318 460H328Q368 460 399 448Q472 414 472 309Q472 274 464 234L462 219H159Q156 198 156 185Q156 137 179 107T237 68Q246 66 268 66Q345 66 427 113V109Q426 108 422 73T417 37Q417 34 409 29Q329 -11 248 -11ZM401 299Q399 337 376 361T316 385Q291 385 266 371Q220 350 184 289H401V299'], - - // LATIN SMALL LETTER F - 0x66: [705,0,306,94,494,'381 443Q381 440 374 407T366 371H315Q263 371 263 369Q262 368 224 186Q215 145 205 97T189 25L184 2V0H94V2L99 25Q104 48 114 96T134 186Q172 368 173 369Q173 371 139 371H106V373L114 410L121 444H155L188 445L191 455L212 551Q232 612 288 658T415 705Q438 705 464 701T494 694Q478 614 477 614L467 618Q457 621 440 624T406 629H400Q333 629 306 579Q301 568 289 507L275 444H328Q381 444 381 443'], - - // LATIN SMALL LETTER G - 0x67: [455,206,500,12,568,'113 252Q113 334 177 394T311 454Q332 454 350 451T379 442T398 432T410 424L413 421Q412 423 411 424L409 426Q409 429 434 436T496 449T560 455H568V451Q568 447 567 429T566 394L565 377L553 379Q522 385 479 385Q463 385 456 384L443 383L436 392Q454 357 454 324Q454 243 390 182T249 120Q233 120 219 122T195 128T178 136T167 142L163 145Q149 131 149 105Q149 78 171 72L242 71Q246 71 269 71T303 71T336 68T372 62T403 51T432 32Q461 8 461 -40Q461 -112 383 -159T211 -206Q123 -206 68 -172T12 -86Q12 -55 31 -23T82 32Q90 38 89 39Q89 40 87 44T82 59T80 82Q80 134 126 189Q113 228 113 252ZM369 319Q369 354 350 368T304 383Q274 383 252 369T218 333T202 291T197 255Q197 221 217 206T263 191Q317 191 343 233T369 319ZM373 -59Q373 -41 362 -30T330 -13T291 -7T247 -5H216Q167 -5 158 -6T139 -12Q123 -20 110 -38T97 -76Q97 -102 133 -118T221 -134Q242 -134 267 -130T316 -118T357 -94T373 -59'], - - // LATIN SMALL LETTER H - 0x68: [694,0,517,73,513,'416 321Q416 379 336 379Q276 379 237 302Q226 276 209 202T180 66T166 2V0H119Q73 0 73 1L82 46Q92 90 111 177T147 348L221 694H265Q310 694 310 693T279 544L247 395Q325 455 403 455Q513 455 513 358Q513 334 508 309Q507 304 476 156T443 2V0H350V2L357 34Q364 65 373 110T392 200T409 281T416 321'], - - // LATIN SMALL LETTER I - 0x69: [680,0,239,74,315,'189 578Q190 579 199 627T211 678V680H315V678Q313 675 304 627T293 578V576H189V578ZM168 442T168 443T213 444T258 443T212 225T164 2V0H74V2Q75 7 121 224'], - - // LATIN SMALL LETTER J - 0x6A: [680,204,267,-96,336,'211 577L233 680H284Q336 680 336 679L315 576H263Q211 576 211 577ZM19 -204Q-12 -204 -40 -196T-82 -179T-96 -170Q-96 -168 -78 -132L-61 -95L-54 -103Q-32 -126 3 -126Q26 -126 50 -116Q76 -101 83 -85Q84 -79 140 180T196 443Q196 444 241 444T286 443Q286 441 232 186T175 -75Q163 -120 122 -162T19 -204'], - - // LATIN SMALL LETTER K - 0x6B: [694,0,489,76,542,'150 348L224 694H310V691Q218 259 218 258L232 270Q245 281 274 306T327 351L435 444H489L542 443Q542 442 443 357L344 272L471 1L422 0H372L366 14Q359 27 347 54T323 105L273 210Q271 210 231 174L190 139L160 0H118Q76 0 76 1L86 46Q95 90 114 177T150 348'], - - // LATIN SMALL LETTER L - 0x6C: [694,0,239,74,311,'148 348L222 694H311V691Q311 690 238 348T164 2V0H119Q74 0 74 1L84 46Q93 90 112 177T148 348'], - - // LATIN SMALL LETTER M - 0x6D: [455,0,794,73,790,'416 321Q416 379 336 379Q276 379 237 302Q226 276 209 202T180 66T166 2V0H119Q73 0 73 2L121 226L169 449Q169 450 213 450H256L249 421Q248 417 247 412T246 404T245 398T244 394T244 392Q250 398 261 407T307 433T379 454H392H400Q451 454 472 439Q482 434 489 427T500 412T506 399T510 388L511 384Q511 384 517 388Q563 431 620 446Q648 455 680 455Q790 455 790 358Q790 334 785 309Q784 304 753 156T720 2V0H627V2L634 34Q641 65 650 110T669 200T686 281T693 321Q693 379 613 379Q553 379 514 302Q503 276 486 202T457 66T443 2V0H350V2L357 34Q364 65 373 110T392 200T409 281T416 321'], - - // LATIN SMALL LETTER N - 0x6E: [454,0,517,73,514,'416 321Q416 379 336 379Q276 379 237 302Q226 276 209 202T180 66T166 2V0H119Q73 0 73 2L121 226L169 449Q169 450 213 450H256L249 421Q248 417 247 412T246 404T245 398T244 394T244 392Q250 398 261 407T307 433T379 454H392Q416 454 433 452T470 440T502 411T513 358Q513 334 508 309Q507 304 476 156T443 2V0H350V2L357 34Q364 65 373 110T392 200T409 281T416 321'], - - // LATIN SMALL LETTER O - 0x6F: [461,11,500,69,523,'69 169Q69 238 107 306T211 417T348 461Q419 461 471 412T523 271Q523 161 438 75T247 -11Q170 -11 120 39T69 169ZM432 279Q432 338 401 361T333 385Q280 385 240 352T182 273T164 178Q164 119 195 94T265 68Q306 68 344 94Q380 115 406 169T432 279'], - - // LATIN SMALL LETTER P - 0x70: [455,194,517,34,538,'259 443Q251 405 251 404L260 409Q269 414 286 421T324 436T375 449T434 455Q482 455 510 417T538 303Q538 169 463 79T302 -11Q226 -11 176 39V36Q175 35 151 -80L127 -193Q127 -194 80 -194H34V-191L102 127L169 443Q169 444 214 444T259 443ZM269 65Q332 65 386 124T441 262Q441 304 422 334T370 373Q356 375 339 375Q293 375 238 331L193 118Q200 103 206 94T229 75T269 65'], - - // LATIN SMALL LETTER Q - 0x71: [455,194,517,72,538,'72 149Q72 272 146 363T304 455Q340 455 371 442T409 423T436 398Q438 411 442 427L448 455H538L400 -193Q400 -194 354 -194Q307 -194 307 -193L356 37V41Q355 41 350 38T332 27T302 13Q247 -10 191 -10H179Q138 -10 105 32T72 149ZM414 298Q402 376 341 376Q277 376 223 317T169 182Q169 121 198 93T265 65Q319 65 365 111L377 123L414 298'], - - // LATIN SMALL LETTER R - 0x72: [455,0,342,74,424,'240 377L244 380Q248 384 255 390T272 404T296 419T325 434T361 446T401 454Q403 454 408 454T416 455H424L421 442Q419 435 413 405T406 373Q351 373 294 336T216 237Q213 231 201 173T178 60T164 2V0H119Q74 0 74 2L122 226L170 449Q170 450 213 450H255L247 414Q246 409 245 403T243 393T241 385T240 379T240 377'], - - // LATIN SMALL LETTER S - 0x73: [461,11,383,35,436,'99 299Q99 318 106 341T133 393T195 441T298 461Q336 461 370 453T420 437L436 429Q436 428 421 389T405 350Q356 386 273 386H265Q248 386 237 384T211 371T191 337Q189 329 189 326Q189 320 190 315T194 306T200 299T209 293T218 289T228 285T239 283T251 281T263 278L270 276Q278 275 283 274T298 270T316 264T333 255T351 243T367 228T380 209T388 186T391 157Q391 96 341 43T193 -11Q171 -11 150 -8T114 -1T84 9T61 19T45 28T35 33Q35 36 67 116L76 109Q132 67 211 67Q258 67 279 88T301 135Q301 159 280 170T224 187T180 197Q141 212 120 239T99 299'], - - // LATIN SMALL LETTER T - 0x74: [571,11,361,97,410,'245 68Q267 68 289 75T322 90L334 98Q338 94 338 28V24L324 19Q268 -4 218 -8Q198 -11 177 -11Q118 -11 118 75Q118 98 123 127Q125 137 149 251T174 369Q174 371 135 371H97V373L105 410L112 444H152L192 445L200 478Q208 512 213 541L219 571H261Q303 571 303 570T290 506L276 444H343Q410 444 410 443Q410 440 403 407T395 371H328Q261 371 261 369Q211 152 211 118Q211 68 245 68'], - - // LATIN SMALL LETTER U - 0x75: [444,10,517,90,537,'166 -10H160Q146 -10 137 -8T115 0T97 22T90 63Q90 79 130 268L167 443Q167 444 214 444Q260 444 260 443L224 273Q187 97 187 86Q187 70 202 65T250 59Q303 59 336 83T379 139Q380 143 412 292T444 443Q444 444 491 444Q537 444 537 443T491 225T443 2V0H353V2L361 38L352 34Q344 29 326 22T286 7T232 -5T166 -10'], - - // LATIN SMALL LETTER V - 0x76: [444,0,461,108,540,'177 6L108 442V444H201V442Q202 441 213 371T235 213T246 90V65Q259 117 429 406L450 444H495Q540 444 540 443Q539 442 411 221L282 1L230 0H178L177 6'], - - // LATIN SMALL LETTER W - 0x77: [444,0,683,108,762,'148 5Q147 8 128 222T109 440L108 444H199V442Q200 441 204 385T214 253T219 140Q219 108 215 76Q215 72 214 67V65L215 66Q219 95 278 221L390 444H475V437Q497 203 497 121Q497 90 494 70Q494 67 494 67L496 73Q520 143 654 405L674 444H718Q762 444 762 443L534 1L483 0H432V5Q429 28 422 126T413 283Q413 343 416 370L417 378Q416 377 416 376Q401 303 248 12L242 0H148V5'], - - // LATIN SMALL LETTER X - 0x78: [444,0,461,1,537,'317 229Q453 9 460 0H409L359 1L312 88Q266 176 265 176Q265 177 254 165T223 132T182 88L100 0H1L15 14Q29 28 61 59T118 115L236 229L226 244Q108 433 100 444H201L290 294L438 444H537L528 435Q526 432 512 418T468 376T418 327L317 229'], - - // LATIN SMALL LETTER Y - 0x79: [444,205,461,1,540,'11 -117L20 -120Q28 -124 46 -128T84 -132H100Q124 -122 149 -85Q200 -6 200 1Q200 17 155 204T109 442Q109 444 156 444H203Q203 443 208 419T221 357T235 277T248 190T254 114Q254 81 250 67V65Q251 65 251 67Q256 94 297 177Q339 259 422 397L450 444H540Q540 443 386 186T219 -90Q179 -153 145 -179T73 -205Q52 -205 34 -202Q29 -202 21 -201T7 -198L1 -197Q1 -196 6 -157T11 -117'], - - // LATIN SMALL LETTER Z - 0x7A: [444,0,435,28,494,'129 408L136 444H315Q494 444 494 443Q494 441 489 419L484 396L164 76L291 77Q418 77 418 76T411 41T402 2V0H215Q28 0 28 2L34 27L38 50L360 371L240 370Q121 370 121 371Q124 388 129 408'], - - // TILDE - 0x7E: [327,-193,500,199,560,'330 327Q356 326 388 298T446 269Q470 269 484 327H522Q560 327 560 325L557 316Q554 306 549 292T535 263T512 232T480 208Q453 193 429 193T370 222T315 251Q285 251 275 193H199V197Q214 257 251 292T330 327'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js deleted file mode 100644 index 01cea2bd..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/CombDiacritMarks.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'], - { - // COMBINING GRAVE ACCENT - 0x300: [694,-527,0,-270,-87,'-262 681L-270 694H-177L-132 612Q-89 530 -87 528Q-87 527 -125 527H-163L-208 598Q-254 670 -262 681'], - - // COMBINING ACUTE ACCENT - 0x301: [694,-527,0,-190,63,'-96 625L-29 694H63Q42 673 -31 605L-114 527H-190L-176 541Q-160 559 -96 625'], - - // COMBINING CIRCUMFLEX ACCENT - 0x302: [694,-527,0,-310,33,'-310 527L-140 694H-66L-16 611Q33 528 33 527H-43L-110 632L-115 639L-234 527H-310'], - - // COMBINING TILDE - 0x303: [677,-543,0,-301,60,'-170 677Q-144 676 -112 648T-54 619Q-30 619 -16 677H22Q60 677 60 675L57 666Q54 656 49 642T35 613T12 582T-20 558Q-47 543 -71 543T-130 572T-185 601Q-215 601 -225 543H-301V547Q-286 607 -249 642T-170 677'], - - // COMBINING MACRON - 0x304: [631,-552,0,-314,64,'-314 553L-297 631H-116Q64 631 64 630Q60 612 56 591L47 553L-133 552Q-314 552 -314 553'], - - // COMBINING BREVE - 0x306: [694,-508,0,-284,73,'-142 508Q-205 508 -244 548T-284 652Q-284 666 -281 683L-280 694H-204Q-205 689 -205 677Q-205 650 -196 631T-173 604T-147 593T-125 590Q-85 590 -50 618T-5 686L-2 694H73V690Q53 610 -10 559T-142 508'], - - // COMBINING DOT ABOVE - 0x307: [680,-576,0,-180,-54,'-180 578Q-179 579 -170 627T-158 678V680H-54V678Q-56 675 -65 627T-76 578V576H-180V578'], - - // COMBINING DIAERESIS - 0x308: [680,-582,0,-273,40,'-273 584Q-272 585 -262 632L-252 678V680H-154V678L-164 632Q-174 585 -175 584Q-175 582 -224 582T-273 584ZM-78 586Q-78 587 -69 632T-58 678V680H40L39 677Q39 676 38 670T34 651T29 628L19 583L-30 582H-79L-78 586'], - - // COMBINING RING ABOVE - 0x30A: [693,-527,0,-227,-2,'-227 597Q-227 639 -186 666T-102 693H-97Q-29 693 -8 649Q-2 637 -2 623Q-2 582 -43 555T-132 527Q-171 527 -199 546T-227 597ZM-59 619Q-59 635 -68 643T-104 652Q-142 652 -156 636T-171 602Q-171 569 -123 569Q-119 569 -111 570T-99 571Q-59 582 -59 619'], - - // COMBINING DOUBLE ACUTE ACCENT - 0x30B: [694,-527,0,-287,63,'-236 619L-195 694H-149Q-103 694 -103 693L-211 527H-287L-282 536Q-281 539 -236 619ZM-70 619L-29 694H17Q63 694 63 693L-45 527H-121L-116 536Q-115 539 -70 619'], - - // COMBINING CARON - 0x30C: [654,-487,0,-283,60,'-283 654H-207L-140 549L-135 542L-16 654H60L-109 487H-147L-184 488L-234 570Q-283 653 -283 654'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js deleted file mode 100644 index 775d01a9..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'] = { - directory: 'SansSerif/Italic', - family: 'MathJax_SansSerif', - id: 'MJSSI', - style: 'italic', - Ranges: [ - [0x0,0x7F,"BasicLatin"], - [0x80,0xFFFF,"Other"], - [0x300,0x36F,"CombDiacritMarks"] - ] - - -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js deleted file mode 100644 index 61ae0c3e..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js +++ /dev/null @@ -1,83 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/Other.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'], - { - // LATIN SMALL LETTER DOTLESS I - 0x131: [444,0,239,74,258,'168 442T168 443T213 444T258 443T212 225T164 2V0H74V2Q75 7 121 224'], - - // LATIN SMALL LETTER DOTLESS J - 0x237: [444,204,267,-97,286,'-54 -96L-48 -104Q-41 -111 -27 -118T7 -126Q60 -126 82 -87Q85 -81 140 181L196 443Q196 444 241 444T286 443Q286 441 232 186T175 -75Q163 -120 122 -162T19 -204Q-13 -204 -41 -196T-83 -180T-96 -170Q-55 -96 -54 -96'], - - // GREEK CAPITAL LETTER GAMMA - 0x393: [691,0,542,87,646,'87 2Q88 4 160 346T234 689Q234 691 440 691T646 689Q643 686 629 611H475L321 612Q193 4 191 2V0H87V2'], - - // GREEK CAPITAL LETTER DELTA - 0x394: [694,0,833,42,790,'273 343L510 694H617Q790 2 790 0H416L42 1L273 343ZM539 576Q536 597 536 600Q536 602 535 605Q534 607 534 607Q527 580 222 130L201 98H651L648 110Q645 123 639 149T627 198Q554 489 539 576'], - - // GREEK CAPITAL LETTER THETA - 0x398: [715,22,778,119,804,'119 260Q119 348 157 433T254 579T387 677T533 715Q701 715 772 574Q804 511 804 431Q804 315 744 209T586 41T384 -22Q262 -22 191 59T119 260ZM706 426Q706 524 655 582T525 640Q454 640 395 600T293 502Q256 447 237 383T218 266Q218 168 269 112T401 55Q518 55 612 166T706 426ZM283 349L293 397H473Q652 397 652 396Q647 374 642 347L632 299H452Q273 299 273 300Q278 322 283 349'], - - // GREEK CAPITAL LETTER LAMDA - 0x39B: [694,0,611,28,582,'28 0L401 694H504V690Q505 686 543 345T582 1Q582 0 528 0H473V3Q472 6 460 113T435 359T422 558Q422 593 424 603L425 610L424 608Q414 572 343 431Q287 316 143 49L117 1L73 0H28'], - - // GREEK CAPITAL LETTER XI - 0x39E: [688,0,667,42,765,'193 687Q193 688 479 688H765V686Q764 685 755 642L747 600H461L175 601Q175 602 184 645L193 687ZM196 400Q196 401 418 401T640 400L622 315Q622 314 400 314T178 315L196 400ZM42 2Q43 3 51 44T60 87H64Q68 87 75 87T93 87T119 87T151 88T190 88T237 88T291 88T352 88H643Q638 66 634 44T627 13T624 2V0H42V2'], - - // GREEK CAPITAL LETTER PI - 0x3A0: [691,0,708,86,768,'86 2Q88 4 160 346T233 689Q233 691 501 691Q768 691 768 689Q766 688 694 346T621 2V0H517V2Q518 3 582 304T646 609L648 615H321L190 0H86V2'], - - // GREEK CAPITAL LETTER SIGMA - 0x3A3: [694,0,722,55,813,'194 655L202 694H508Q813 694 813 693Q809 675 805 653L797 614H559L321 615Q327 606 405 478L485 347Q449 311 348 203T247 86Q247 84 294 84Q303 84 359 84T465 85H684Q684 84 675 42L666 0H360L55 1L195 154Q346 319 347 320L359 333L273 473Q187 614 186 614L187 620Q188 625 190 635T194 655'], - - // GREEK CAPITAL LETTER UPSILON - 0x3A5: [716,0,778,173,843,'357 637Q320 637 297 612T266 555H173Q178 576 188 598Q214 651 265 683T373 716Q497 716 497 542V509L504 526Q579 715 711 715Q773 715 808 677T843 589Q843 576 840 555H747L748 557Q748 559 748 563T749 574V580Q749 604 731 622Q715 638 693 638Q591 638 543 465Q531 425 506 309T462 98T441 2V0H337V2Q425 401 436 486Q438 504 438 526Q438 637 364 637H357'], - - // GREEK CAPITAL LETTER PHI - 0x3A6: [694,0,722,124,743,'124 308Q124 399 208 481T433 587Q437 587 437 589Q438 590 449 643L459 694H508Q557 694 557 693Q557 691 546 641T535 587Q543 587 562 583T614 565T674 531T722 472T743 387Q743 288 656 209T449 110L433 106Q411 3 410 2Q410 0 361 0H312L313 3Q313 5 324 56L335 107H331L321 108Q311 110 297 114T266 124T228 141T190 168Q124 225 124 308ZM227 315Q227 282 239 257T270 218T306 197T338 186L350 184H351L386 346Q420 507 420 509H419Q411 509 393 505T342 485T284 444Q227 387 227 315ZM642 381Q642 413 629 437T599 475T563 496T533 507T519 510Q518 510 484 348T450 184Q544 201 593 258T642 381'], - - // GREEK CAPITAL LETTER PSI - 0x3A8: [694,0,778,171,854,'325 556Q325 524 310 447T294 330Q294 289 304 260Q314 234 333 216T364 192T380 187L488 694H585V691Q584 689 531 438L478 188H479Q485 188 503 195T555 231T613 305Q637 352 654 435Q662 470 669 496T681 538T690 562T698 578T704 587Q719 609 733 615T772 621H802H854V619L838 546Q838 545 832 545Q775 539 749 418Q716 274 638 196Q616 173 590 156T543 131T503 117T473 110T460 106Q460 105 450 54T438 2V0H340V2Q341 3 351 54T362 106Q363 107 358 108T344 111T322 117T295 128T267 145T239 171T216 207T200 256T194 319Q194 356 203 408T213 483Q213 517 203 530T182 544T171 546Q184 609 187 619V621H239Q286 621 294 620T309 612Q325 596 325 556'], - - // GREEK CAPITAL LETTER OMEGA - 0x3A9: [716,0,722,44,769,'148 407Q148 475 182 534T269 633T386 694T511 716Q622 716 695 658T769 507Q769 461 747 409T699 321T628 225T562 136Q533 90 533 86Q542 85 557 85Q564 85 583 85T614 86Q695 86 695 85Q679 9 677 2V0H425Q426 3 433 30T447 72T480 131T549 241L554 248Q558 254 563 261T576 281T592 306T609 335T625 366T640 400T653 434T661 466T664 498Q664 562 618 601T497 640Q416 640 351 596T262 482Q250 441 250 392T276 237T302 70V56Q302 28 296 2V0H44V2L62 85Q62 86 143 86L225 85V88Q224 89 224 89T224 91T224 95T223 101T222 110T220 123T216 140T209 163T200 191T188 227Q148 344 148 407'], - - // EN DASH - 0x2013: [312,-236,500,50,565,'59 275L66 312H316Q565 312 565 311T558 275T549 238Q549 236 299 236Q50 236 50 237L52 242Q53 247 55 257T59 275'], - - // EM DASH - 0x2014: [312,-236,1000,50,1065,'59 275L66 312H566Q1065 312 1065 311T1058 275T1049 238Q1049 236 549 236Q50 236 50 237L52 242Q53 247 55 257T59 275'], - - // LEFT SINGLE QUOTATION MARK - 0x2018: [694,-471,278,190,335,'309 567L299 520Q289 474 288 473Q288 471 239 471T190 473L192 480Q193 486 196 499T201 522L211 569L287 694H312L335 693L332 685Q328 677 321 661T307 630L279 570L294 569Q309 569 309 567'], - - // RIGHT SINGLE QUOTATION MARK - 0x2019: [694,-471,278,190,335,'228 647L237 694H286Q335 694 335 693L334 686Q332 680 330 668T325 644L315 597L239 471H214Q190 471 190 472L246 595Q246 596 231 596H217V598Q217 601 228 647'], - - // LEFT DOUBLE QUOTATION MARK - 0x201C: [694,-471,500,274,613,'393 567L383 520Q373 474 372 473Q372 471 323 471T274 473L276 480Q277 486 280 499T285 522L295 569L371 694H396L419 693L416 685Q412 677 405 661T391 630L363 570L378 569Q393 569 393 567ZM587 567L577 520Q567 474 566 473Q566 471 517 471T468 473L470 480Q471 486 474 499T479 522L489 569L565 694H590L613 693L610 685Q606 677 599 661T585 630L557 570L572 569Q587 569 587 567'], - - // RIGHT DOUBLE QUOTATION MARK - 0x201D: [694,-471,500,133,472,'171 647L180 694H229Q278 694 278 693L276 686Q275 680 273 668T268 644L258 597L182 471H157Q133 471 133 472L189 595Q189 596 174 596H160V598Q160 601 171 647ZM365 647L374 694H423Q472 694 472 693L470 686Q469 680 467 668T462 644L452 597L376 471H351Q327 471 327 472L383 595Q383 596 368 596H354V598Q354 601 365 647'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js deleted file mode 100644 index 64233f32..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js +++ /dev/null @@ -1,290 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/BasicLatin.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'], - { - // SPACE - 0x20: [0,0,250,0,0,''], - - // EXCLAMATION MARK - 0x21: [694,0,319,110,208,'120 187Q120 225 115 440T110 693Q110 694 159 694T208 693Q208 655 203 440T198 187Q198 186 159 186T120 187ZM110 0V98H208V0H110'], - - // QUOTATION MARK - 0x22: [694,-471,500,32,325,'33 596V694H131V597L82 471H32L47 532Q62 593 63 594Q63 596 48 596H33ZM227 596V694H325V597L276 471H226L241 532Q256 593 257 594Q257 596 242 596H227'], - - // NUMBER SIGN - 0x23: [694,194,833,56,777,'56 350Q56 363 70 370H192Q314 370 314 371L356 526Q396 676 401 685Q406 694 416 694Q423 694 429 689T436 677Q436 673 396 523T355 371Q355 370 449 370Q544 370 544 371L586 526Q628 682 630 685Q636 694 646 694Q653 694 659 689T665 678Q665 670 645 593T605 444L585 371Q585 370 673 370H762Q777 362 777 350Q777 337 767 334T723 330H668H573L567 305Q560 282 545 226L530 171L646 170H721Q756 170 766 167T777 150Q777 138 762 130H640Q518 130 518 129L476 -26Q434 -182 432 -185Q426 -194 416 -194Q409 -194 403 -189T397 -178Q397 -170 417 -93T457 56L477 129Q477 130 383 130Q288 130 288 129L246 -26Q204 -182 202 -185Q196 -194 186 -194Q179 -194 173 -189T167 -178Q167 -170 187 -94T227 56L247 129Q247 130 159 130H70Q56 137 56 150Q56 165 72 170H259L265 195Q273 222 287 275L302 330H186L70 331Q63 334 58 339Q56 343 56 350ZM489 170L532 330H343L337 305Q330 282 315 226L300 171L394 170H489'], - - // DOLLAR SIGN - 0x24: [750,56,500,43,444,'55 509Q55 585 103 638T213 701V750H286V703H289Q312 703 354 689Q372 682 399 666T427 646L413 569Q413 568 403 575Q352 615 291 624H286V405Q357 389 400 331T444 199Q444 128 402 69T286 -7V-56H213V-9Q167 -3 125 14T63 44T44 60Q44 61 52 101L59 140L69 132Q78 125 87 119T107 107T124 97T141 90T157 84T173 80T187 76T201 73T213 70V317L202 319Q141 335 98 386T55 509ZM213 424V620L203 615Q143 587 143 522Q143 455 213 424ZM356 187Q356 208 350 227T334 258T315 280T298 293T287 297Q286 297 286 186V75Q356 110 356 187'], - - // PERCENT SIGN - 0x25: [750,56,833,56,776,'56 549Q56 639 98 694T195 750Q248 750 290 694T332 548Q332 455 290 401T195 347Q141 347 99 403T56 549ZM248 549Q248 602 234 638T195 674Q145 674 145 549Q145 423 195 423Q219 423 233 459T248 549ZM197 -56Q187 -56 182 -49T176 -35Q176 -33 178 -27Q179 -25 399 356T623 741Q626 750 639 750Q648 750 654 744T659 729Q657 721 435 336T207 -52Q203 -56 197 -56ZM500 146Q500 235 542 291T639 347Q692 347 734 293T776 146Q776 53 733 -1T639 -56Q587 -56 544 -2T500 146ZM692 146Q692 199 678 235T639 271Q589 271 589 146Q589 20 639 20Q663 20 677 56T692 146'], - - // AMPERSAND - 0x26: [716,22,758,42,702,'156 502Q156 600 198 658T302 716Q367 716 405 665T444 549Q444 531 442 523Q426 446 304 348L287 334Q305 297 340 249T402 170T430 139T443 149T472 181T509 231T549 303T583 394Q584 398 586 404Q587 408 587 409Q588 409 626 399T665 388Q663 381 660 369T644 322T614 253T567 176T502 98L491 87Q534 57 584 57Q653 57 700 75Q702 75 702 34T700 -7Q652 -22 586 -22H580Q505 -22 434 26L421 34Q419 33 405 25T374 11T336 -4T285 -17T226 -22Q143 -22 93 31T42 152Q42 184 51 211T81 260T111 291T144 317L184 348L178 365Q156 430 156 502ZM359 552Q359 588 345 614T302 640Q292 640 282 636T260 622T241 590T233 535Q236 474 253 417L257 407L271 419Q312 454 330 479Q359 514 359 552ZM345 102Q262 190 216 277Q215 277 204 267T180 247T165 236Q135 208 135 159Q135 123 152 97T198 61Q207 58 227 58Q286 58 357 89L345 102'], - - // APOSTROPHE - 0x27: [694,-471,278,89,188,'90 596V694H188V597L139 471H89L104 532Q119 593 120 594Q120 596 105 596H90'], - - // LEFT PARENTHESIS - 0x28: [750,250,389,74,333,'74 250Q74 564 240 733L257 750H333L323 739Q167 573 167 250T323 -239L333 -250H257L240 -233Q74 -63 74 250'], - - // RIGHT PARENTHESIS - 0x29: [750,250,389,55,314,'221 -73T221 250T65 739L55 750H131L148 733Q314 567 314 250T148 -233L131 -250H55L65 -239Q221 -73 221 250'], - - // ASTERISK - 0x2A: [750,-306,500,63,436,'208 717Q211 731 222 740T250 750Q265 750 277 741T291 717Q291 706 290 675T286 617L285 591L329 622Q369 651 376 655T393 659Q411 659 423 647T436 616Q436 609 434 603T429 594T419 585T407 577T389 567T368 556L316 528L368 500Q421 472 429 464Q436 455 436 440Q436 422 423 409T393 396Q390 396 388 396T384 397T380 398T375 401T367 406T358 413T346 422T329 434L285 465Q284 465 285 438T289 381T291 347Q291 327 278 317T250 306Q234 306 222 315T208 339Q208 350 209 381T212 439L214 465L170 434Q130 405 123 401T106 397Q88 397 76 409T63 440Q63 447 65 453T70 462T80 471T92 479T110 489T131 500L183 528L131 556Q78 584 70 592Q63 601 63 616Q63 634 76 647T106 660Q109 660 111 660T115 659T119 658T124 655T132 650T141 643T153 634T170 622L214 591L212 617Q211 643 210 674T208 717'], - - // PLUS SIGN - 0x2B: [583,82,778,56,722,'56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250'], - - // COMMA - 0x2C: [98,125,278,89,188,'90 0V98H188V1L139 -125H89L104 -64Q119 -3 120 -2Q120 0 105 0H90'], - - // HYPHEN-MINUS - 0x2D: [259,-186,333,11,277,'11 186V259H277V186H11'], - - // FULL STOP - 0x2E: [98,0,278,90,188,'90 0V98H188V0H90'], - - // SOLIDUS - 0x2F: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], - - // DIGIT ZERO - 0x30: [678,22,500,39,460,'117 621Q174 678 247 678Q305 678 351 647Q396 617 424 557Q460 472 460 328Q460 271 455 224Q448 154 427 104T376 27T314 -10T249 -22Q201 -22 160 1T91 67Q39 154 39 316Q39 541 117 621ZM250 55Q274 55 293 66T324 93T344 136T357 185T364 240T366 291T367 340Q367 373 367 393T363 449T352 507T332 553T299 589T250 601Q217 601 194 584T159 542T141 479T133 411T132 340V331Q132 299 133 277T137 219T147 157T167 107T201 68T250 55'], - - // DIGIT ONE - 0x31: [678,0,500,83,430,'94 612Q172 616 211 632T284 678H307V73H430V0H88V73H213V317Q213 560 212 560Q210 558 197 554T155 546T96 540L83 539V612H94'], - - // DIGIT TWO - 0x32: [677,0,500,42,449,'222 599Q190 599 166 585T128 550T108 509T97 474T93 459L67 492L42 526L47 539Q72 608 120 642T225 677Q304 677 355 644Q449 579 449 454Q449 373 361 290Q351 280 315 250T199 144Q156 103 137 85L293 86H449V0H50V79L216 242Q284 302 317 349T351 456Q351 517 315 558T222 599'], - - // DIGIT THREE - 0x33: [678,22,500,42,457,'333 521Q333 554 313 579T243 604Q154 604 99 514L78 546Q56 577 56 579Q56 580 62 589T82 611T114 637T162 662T222 677Q224 677 231 677T242 678H245Q318 678 374 634T430 520Q430 483 417 452T382 398T351 369T329 354L328 353Q369 333 373 330Q408 306 432 268T457 184Q457 103 397 41T242 -22Q131 -22 51 58L42 68L49 105L55 142L58 138Q62 134 66 130T77 120T91 108T108 96T129 83T152 72T179 63T209 57T242 54Q285 54 319 86T353 184Q353 231 331 267T260 315L213 316H166V354Q166 392 167 392Q233 395 257 405Q290 418 311 450T333 521'], - - // DIGIT FOUR - 0x34: [656,0,500,28,471,'271 654L272 656H380V235H471V159H380V0H286V159H28V235L149 443Q269 652 271 654ZM292 235V607Q292 604 290 591T286 571T280 548T269 517T252 476T226 422T189 354T140 267Q136 260 132 253T126 240L123 236Q123 235 207 235H292'], - - // DIGIT FIVE - 0x35: [656,21,500,33,449,'257 350Q236 350 218 342T189 323T171 301T160 281L157 273Q157 272 116 272H75V656H416V577H162V486Q162 396 163 396T174 403T207 418T258 426Q339 426 394 360T449 203Q449 113 386 46T226 -21H223Q188 -21 156 -11T102 13T64 42T41 66T33 77Q34 78 44 95T64 128L73 144Q93 112 117 93Q165 54 223 54Q270 54 306 86T345 197Q345 350 257 350'], - - // DIGIT SIX - 0x36: [678,22,500,42,457,'42 318Q42 396 61 460T109 564T173 629T237 666T289 677H301H317Q359 677 408 658V621Q408 585 407 585H406Q359 605 308 605Q246 605 203 556T146 421Q143 403 144 403Q145 402 152 409Q216 469 299 469Q333 469 357 457T407 405Q457 330 457 226Q457 126 402 57Q340 -22 251 -22Q216 -22 183 -7T116 43T63 149T42 318ZM260 393Q216 393 188 365T150 306T141 243Q141 153 172 104Q192 68 230 56Q238 54 251 54Q311 54 342 116Q360 152 360 226Q360 297 344 332Q320 382 277 392Q275 392 270 392T260 393'], - - // DIGIT SEVEN - 0x37: [656,11,500,42,457,'42 570V656H457V577L447 564Q345 439 295 289T244 0V-11H145V12Q160 330 356 550Q360 556 365 561T374 571L208 570H42'], - - // DIGIT EIGHT - 0x38: [678,23,500,43,456,'55 500Q55 568 109 623T250 678Q327 678 385 627T444 501Q444 445 410 410T336 357L329 353H330Q378 335 417 293T456 184Q456 93 393 36T249 -22T106 35T43 184Q43 251 82 293T169 353Q171 354 166 356Q165 356 163 357Q113 378 84 416T55 500ZM358 496Q358 557 325 581T250 605Q206 605 174 580T141 496Q141 446 171 420T250 393Q298 393 328 419T358 496ZM245 316Q205 316 172 285T139 185V179Q139 79 222 57Q231 55 250 55H254Q295 55 327 84Q360 120 360 188Q360 254 326 285Q295 316 245 316'], - - // DIGIT NINE - 0x39: [677,22,500,42,457,'44 476Q57 561 116 619T245 677H255Q308 677 349 647Q392 619 424 545T457 334Q457 178 382 78T205 -22Q168 -22 135 -10T86 14L72 25Q73 25 91 58L110 91Q127 78 136 72T163 60T203 54Q238 54 265 71T308 110T335 164T350 214T357 253V257L347 248Q284 187 200 187Q165 187 140 201T87 258Q42 332 42 430Q42 458 44 476ZM269 604Q265 605 254 605Q222 605 199 591T164 554T148 517T141 487Q140 478 140 430T141 373Q146 335 164 307T207 269Q223 263 247 263Q299 266 328 308T358 417Q358 435 356 456T346 511T318 570T269 604'], - - // COLON - 0x3A: [444,0,278,90,188,'90 346V444H188V346H90ZM90 0V98H188V0H90'], - - // SEMICOLON - 0x3B: [444,125,278,89,188,'90 346V444H188V346H90ZM90 0V98H188V1L139 -125H89L104 -64Q119 -3 120 -2Q120 0 105 0H90'], - - // EQUALS SIGN - 0x3D: [370,-130,778,56,722,'56 350Q56 363 70 370H707Q722 362 722 350Q722 339 708 331L390 330H72Q56 335 56 350ZM56 150Q56 165 72 170H708Q722 160 722 150Q722 138 707 130H70Q56 137 56 150'], - - // QUESTION MARK - 0x3F: [704,0,472,55,416,'55 652Q63 658 77 666T132 689T214 704T265 703Q303 698 332 684T376 653T401 615T413 578T416 546Q416 475 360 426Q325 396 303 365T273 303T263 256T261 216V186H183V225Q184 281 194 322Q206 368 232 409T276 469T306 495Q323 517 323 550Q323 596 297 612T223 629Q187 629 157 618Q122 607 91 583L83 576L55 652ZM173 0V98H271V0H173'], - - // COMMERCIAL AT - 0x40: [704,11,667,56,612,'422 576Q440 576 456 573T480 566L488 563Q488 565 484 571T472 588T452 607T424 622T387 629Q294 629 220 550T146 347Q146 233 210 155T365 66Q376 65 400 65Q465 68 517 86L532 91H612L598 76Q511 -11 388 -11Q250 -11 153 93T56 347Q56 454 107 538T231 663T378 704Q446 704 492 680T564 608T599 506T611 376Q611 320 607 299Q595 227 546 173T422 118Q343 118 288 185T232 347Q232 444 287 510T422 576ZM520 347Q520 429 487 465T421 501Q385 501 354 461T323 347Q323 270 355 232T422 193Q454 193 487 229T520 347'], - - // LATIN CAPITAL LETTER A - 0x41: [694,0,667,28,638,'183 181Q183 179 152 91T118 0H28L154 346L280 693Q281 694 333 694H385L511 349Q636 4 638 2Q638 0 584 0H530L464 183H184L183 181ZM324 606Q319 578 292 492T238 332T210 256Q210 254 324 254T438 255L429 281L419 308Q409 336 395 378T365 465T339 551T324 611V606'], - - // LATIN CAPITAL LETTER B - 0x42: [694,0,667,90,610,'425 363Q438 363 465 353T526 324T585 270T610 192Q610 132 561 78T426 7Q404 2 387 2T240 0H90V694H227Q373 693 396 689Q484 673 533 623T583 517Q583 494 574 473T551 437T520 409T487 388T456 374T433 366L425 363ZM490 516Q490 527 485 539T467 568T423 599T347 621Q340 622 262 623H188V399H261H286Q432 399 478 475Q490 496 490 516ZM514 190Q514 245 462 280T343 322Q336 323 259 323H188V71H274Q365 72 388 77Q445 88 479 121T514 190'], - - // LATIN CAPITAL LETTER C - 0x43: [706,12,639,58,587,'59 347Q59 440 100 521T218 654T392 705Q473 705 550 680Q577 670 577 667Q576 666 572 642T564 595T559 571Q515 601 479 613T392 626Q300 626 232 549T164 347Q164 231 229 150T397 68Q453 68 489 80T568 120L581 129L582 110Q584 91 585 71T587 46Q580 40 566 31T502 5T396 -11Q296 -11 218 41T99 174T59 347'], - - // LATIN CAPITAL LETTER D - 0x44: [694,0,722,88,666,'88 0V694H237H258H316Q383 694 425 686T511 648Q578 604 622 525T666 343Q666 190 564 86Q494 18 400 3Q387 1 237 0H88ZM565 341Q565 409 546 463T495 550T429 600T359 621Q348 623 267 623H189V71H267Q272 71 286 71T310 70Q461 70 527 184Q565 251 565 341'], - - // LATIN CAPITAL LETTER E - 0x45: [691,0,597,86,554,'86 0V691H541V611H366L190 612V397H513V321H190V85H372L554 86V0H86'], - - // LATIN CAPITAL LETTER F - 0x46: [691,0,569,86,526,'86 0V691H526V611H358L190 612V384H485V308H190V0H86'], - - // LATIN CAPITAL LETTER G - 0x47: [704,11,667,58,599,'59 346Q59 499 157 601T384 704Q436 704 466 700T541 679Q551 674 560 670T575 664T583 660T588 658T590 656Q590 652 582 605T573 557L564 564Q489 626 392 626Q301 626 233 549T164 347T233 145T392 68Q441 68 506 84V223H388V299H599V38L588 33Q494 -11 393 -11Q296 -11 219 40T100 172T59 346'], - - // LATIN CAPITAL LETTER H - 0x48: [694,0,708,86,621,'86 0V694H190V399H517V694H621V0H517V323H190V0H86'], - - // LATIN CAPITAL LETTER I - 0x49: [694,0,278,87,191,'87 0V694H191V0H87'], - - // LATIN CAPITAL LETTER J - 0x4A: [694,22,472,43,388,'181 53Q200 53 215 56T241 66T259 79T272 95T280 109T285 122L287 129V694H388V415V229Q388 135 385 112T369 63Q364 51 355 39T328 12T280 -12T212 -22Q172 -22 130 -12T66 8T43 20L46 42Q50 65 54 88L58 110Q58 111 65 104Q107 53 181 53'], - - // LATIN CAPITAL LETTER K - 0x4B: [694,0,694,88,651,'88 0V694H188V519L189 343L525 694H638L375 419L651 0H541L309 351L188 225V0H88'], - - // LATIN CAPITAL LETTER L - 0x4C: [694,0,542,87,499,'87 0V694H191V79L297 80H451L499 81V0H87'], - - // LATIN CAPITAL LETTER M - 0x4D: [694,0,875,92,782,'92 0V694H228L233 680Q236 675 284 547T382 275T436 106Q446 149 497 292T594 558L640 680L645 694H782V0H689V305L688 606Q688 577 500 78L479 23H392L364 96Q364 97 342 156T296 280T246 418T203 544T186 609V588Q185 568 185 517T185 427T185 305V0H92'], - - // LATIN CAPITAL LETTER N - 0x4E: [694,0,708,88,619,'88 0V694H235L252 659Q261 639 364 428T526 84V694H619V0H472L455 35Q453 39 330 294T185 601L181 611V0H88'], - - // LATIN CAPITAL LETTER O - 0x4F: [715,22,736,55,680,'55 345Q55 504 149 609T361 715Q386 715 406 713Q521 696 600 592T680 344Q680 193 590 86T368 -22Q239 -22 147 84T55 345ZM276 59T368 59T518 146T576 360Q576 473 525 545T401 634Q371 637 362 637Q284 637 222 562T159 360T217 147'], - - // LATIN CAPITAL LETTER P - 0x50: [694,0,639,88,583,'88 0V694H230Q347 693 370 692T410 686Q487 667 535 611T583 485Q583 409 527 348T379 276Q369 274 279 274H192V0H88ZM486 485Q486 523 471 551T432 593T391 612T357 621Q350 622 268 623H189V347H268Q350 348 357 349Q370 351 383 354T416 368T450 391T475 429T486 485'], - - // LATIN CAPITAL LETTER Q - 0x51: [715,125,736,55,680,'55 345Q55 504 149 609T361 715Q386 715 406 713Q521 696 600 592T680 344Q680 284 665 231T629 143T587 85T551 48L536 35L648 -120L652 -125H531L452 -8L440 -12Q407 -22 369 -22Q239 -22 147 85T55 345ZM579 345Q579 473 517 555T369 637Q279 637 218 554T156 345Q156 223 215 141T368 58Q376 58 382 58T392 58T397 59T401 60T403 61H404Q404 63 360 128T315 194H421L453 150Q485 105 486 105Q490 108 496 113T517 138T545 182T567 247T579 334V345'], - - // LATIN CAPITAL LETTER R - 0x52: [694,0,646,88,617,'88 0V694H227H259H302Q365 694 399 689T474 663Q528 637 558 595T589 504Q589 482 584 462T569 426T547 396T522 372T495 353T470 338T449 328T434 322L429 320L440 300Q452 280 477 238T523 160L617 1L565 0Q513 0 512 1Q512 2 424 156L337 309H189V0H88ZM492 504Q492 600 367 620Q354 622 271 623H189V385H271Q363 386 388 392Q432 402 462 430T492 504'], - - // LATIN CAPITAL LETTER S - 0x53: [716,22,556,43,500,'55 514Q55 589 115 652T283 716Q315 716 345 711T396 699T432 685T457 672T467 667Q467 666 459 618T449 568Q383 634 282 634Q214 634 182 600T150 525Q150 507 155 492T172 465T194 446T222 432T247 423T272 416T289 412Q353 396 378 384Q432 358 466 307T500 194Q500 110 438 44T272 -22Q215 -22 159 -5T73 28T44 50Q45 51 49 75T57 122T62 146L65 143Q68 140 74 136T88 125T107 111T131 98T160 85T194 74T232 66T274 63H286Q327 63 366 96T406 182Q406 245 352 280Q329 296 265 310T173 339Q124 363 90 409T55 514'], - - // LATIN CAPITAL LETTER T - 0x54: [688,0,681,36,644,'36 608V688H644V608H518L392 609V0H288V609L162 608H36'], - - // LATIN CAPITAL LETTER U - 0x55: [694,22,688,87,600,'87 450V694H191V449Q192 203 193 194Q200 148 220 117T266 72T311 54T347 49Q404 49 446 84T501 178Q505 195 505 218T507 449V694H600V450Q600 414 600 356Q599 198 595 181Q594 178 594 177Q575 89 505 34T345 -22Q258 -22 184 34T89 196Q88 205 87 450'], - - // LATIN CAPITAL LETTER V - 0x56: [694,0,667,14,652,'14 692Q14 694 68 694H122L146 633Q325 165 339 90Q340 87 341 87Q341 124 530 619L558 694H605Q652 694 652 692Q650 690 523 354T390 10L387 0H279L276 10Q271 18 144 354T14 692'], - - // LATIN CAPITAL LETTER W - 0x57: [694,0,944,14,929,'115 694Q115 693 156 550T233 266T270 90L271 85Q272 86 272 92Q272 153 405 616L427 694H524L553 590Q672 174 681 95L682 84L684 95Q689 138 728 287T803 563T841 692Q841 694 885 694T929 693Q929 691 829 346L730 0H679L628 1L606 75Q478 524 470 600L469 611L467 600Q458 518 338 101L310 0H213L114 346Q14 691 14 693Q14 694 64 694H115'], - - // LATIN CAPITAL LETTER X - 0x58: [694,0,667,14,652,'14 0Q16 5 144 184T275 367L153 528Q121 571 88 615T42 674T28 694H150L228 584Q315 463 316 461L326 448L497 694H610L609 692Q606 689 492 528Q440 454 409 410T378 366Q378 365 515 182L652 0H531L326 292Q326 293 299 254T226 146L128 0H14'], - - // LATIN CAPITAL LETTER Y - 0x59: [694,0,667,4,663,'4 693L64 694H125L174 621Q335 378 340 364L341 362Q361 398 395 450L558 694H663L383 277V0H282V278L143 485Q112 531 75 586T21 668L4 693'], - - // LATIN CAPITAL LETTER Z - 0x5A: [694,0,611,55,560,'69 617V694H555V643L373 362Q190 81 190 79H234Q244 79 272 79T344 80T419 81H560V0H55V53L237 334Q420 615 420 617Q413 618 387 618Q380 618 334 618T245 617H69'], - - // LEFT SQUARE BRACKET - 0x5B: [750,250,289,94,266,'94 -250V750H266V674H181V-174H266V-250H94'], - - // RIGHT SQUARE BRACKET - 0x5D: [750,250,289,22,194,'22 674V750H194V-250H22V-174H107V674H22'], - - // CIRCUMFLEX ACCENT - 0x5E: [694,-527,500,79,421,'146 612L212 694H287L353 612Q417 532 420 529Q421 528 418 527Q414 527 383 527H345L250 639Q244 633 199 580L154 527H116Q79 528 79 529Q82 532 146 612'], - - // LOW LINE - 0x5F: [-38,114,500,0,499,'0 -114V-38H499V-114H0'], - - // LATIN SMALL LETTER A - 0x61: [460,10,481,38,408,'236 387Q209 387 184 382T141 370T111 355T91 342T83 337L82 355Q80 373 79 393T77 417Q77 419 81 421Q86 423 91 426Q155 460 227 460H238Q319 460 368 400Q393 371 400 341T408 252Q408 240 408 207T407 152V0H317V39L306 32Q244 -10 159 -10H152Q109 -10 77 22Q38 61 38 126Q38 142 39 146Q55 199 130 223T295 252H314V277Q314 305 313 310Q308 342 287 364T236 387ZM303 186Q124 180 124 126Q124 105 144 86T208 66Q284 66 309 124Q314 137 314 166V186H303'], - - // LATIN SMALL LETTER B - 0x62: [694,11,517,75,482,'303 -11Q280 -11 259 -6T222 6T194 21T176 33T168 38V0H75V694H165V550L166 405Q247 455 336 455Q397 455 439 389T482 226Q482 115 428 52T303 -11ZM390 221Q390 283 361 331T265 379Q214 379 177 342L168 334V118Q203 66 258 66Q316 66 353 106T390 221'], - - // LATIN SMALL LETTER C - 0x63: [460,10,444,34,414,'34 223Q34 327 99 393T245 460Q290 460 301 459Q328 455 354 445T395 427T410 415L396 338L386 344Q377 349 362 357T335 370Q305 381 258 381H252Q182 381 146 315Q126 275 126 224Q126 158 159 113T255 68Q329 68 394 106L408 114L410 93Q411 72 412 52L414 32Q407 27 394 20T338 2T252 -10Q156 -10 95 58T34 223'], - - // LATIN SMALL LETTER D - 0x64: [694,10,517,33,441,'33 224Q33 321 81 388T197 455Q277 455 342 414L351 408V694H441V0H348V44L338 37Q278 -10 198 -10Q177 -10 168 -8Q99 11 62 90Q33 148 33 224ZM348 337Q307 378 263 378Q260 378 256 378T251 379Q239 379 223 374T182 355T142 305T126 220Q126 90 225 67Q231 66 250 66H255Q306 66 342 115L348 124V337'], - - // LATIN SMALL LETTER E - 0x65: [461,10,444,28,415,'28 226Q28 329 91 395T235 461Q258 461 279 456T325 436T368 397T399 332T415 238V219H113V215Q113 163 151 114T248 65Q273 65 298 70T341 82T373 96T396 108L403 113Q403 106 406 76T409 38Q409 34 408 33T393 24Q325 -10 252 -10Q155 -10 92 59T28 226ZM340 289L338 297Q335 305 333 310T327 326T317 343T304 358T286 372T263 381T233 385Q212 385 193 376T162 353T140 325T127 301T123 289H340'], - - // LATIN SMALL LETTER F - 0x66: [705,0,306,27,347,'262 705H267Q300 705 347 694V612L336 616Q303 628 274 628H266Q224 628 199 605Q187 590 184 579T181 541V507V444H287V371H184V0H94V371H27V444H94V492Q94 544 95 550Q102 617 151 661T262 705'], - - // LATIN SMALL LETTER G - 0x67: [456,206,500,28,485,'55 286Q55 357 105 406T224 455Q280 455 323 421L322 423L318 427Q318 428 339 434T396 448T465 455H471L478 416L485 377Q484 377 474 379T445 383T401 385Q397 385 391 385T381 384L362 383L357 387Q358 386 364 375T375 354T384 325T389 287Q389 217 340 168T221 119Q178 119 138 142Q133 145 131 143Q125 131 125 117Q125 82 155 72L227 71Q230 71 251 71T280 71T310 69T343 65T373 57T403 46T428 30T449 7Q471 -26 471 -62V-71Q471 -136 384 -178Q326 -206 250 -206Q159 -206 102 -172T30 -92Q28 -84 28 -68T31 -37T40 -12T52 7T64 21T75 31T82 38Q60 68 60 106Q60 145 80 180L86 189L80 199Q55 240 55 286ZM304 233T304 287T279 362T220 383Q189 383 165 361T140 287Q140 243 161 217T220 191Q253 191 278 212ZM250 -134Q298 -134 331 -122T375 -96T387 -69Q387 -21 306 -7Q288 -5 216 -5Q161 -5 153 -7Q146 -9 139 -13T122 -31T113 -66Q113 -75 113 -80T127 -97T166 -121Q203 -134 250 -134'], - - // LATIN SMALL LETTER H - 0x68: [694,0,517,73,443,'163 395Q223 455 307 455Q417 455 438 354Q442 331 443 164V0H350V157Q349 315 348 320Q334 378 259 378H253Q224 378 204 358Q180 334 173 301T165 209Q165 198 165 172T166 129V0H73V694H163V395'], - - // LATIN SMALL LETTER I - 0x69: [680,0,239,67,171,'67 576V680H171V576H67ZM74 0V444H164V0H74'], - - // LATIN SMALL LETTER J - 0x6A: [680,205,267,-60,192,'88 576V680H192V576H88ZM31 -126Q40 -126 48 -125T62 -122T73 -117T82 -111T89 -105T94 -99T98 -92L102 -86V444H192V180Q191 -45 191 -70T184 -113Q171 -152 140 -178T63 -205Q34 -205 4 -197T-43 -181T-59 -171T-51 -133T-41 -96L-38 -99Q-34 -102 -28 -106T-13 -115T7 -123T31 -126'], - - // LATIN SMALL LETTER K - 0x6B: [694,0,489,76,471,'76 0V694H163V257L340 444H449L286 272L292 263Q296 259 378 138T463 12L471 0H372L309 92Q294 114 277 139T250 179T237 198L228 211L160 139V0H76'], - - // LATIN SMALL LETTER L - 0x6C: [694,0,239,74,164,'74 0V694H164V0H74'], - - // LATIN SMALL LETTER M - 0x6D: [455,0,794,73,720,'160 392Q223 455 304 455Q359 455 386 436T430 383L437 391Q495 455 584 455Q694 455 715 354Q719 331 720 164V0H627V157Q626 315 625 320Q611 378 536 378H530Q501 378 481 358Q457 334 450 301T442 209Q442 198 442 172T443 129V0H350V157Q349 315 348 320Q334 378 259 378H253Q224 378 204 358Q180 334 173 301T165 209Q165 198 165 172T166 129V0H73V450H160V392'], - - // LATIN SMALL LETTER N - 0x6E: [455,0,517,73,443,'160 392Q214 446 283 454Q285 454 292 454T303 455H306Q417 455 438 354Q442 331 443 164V0H350V157Q349 315 348 320Q334 378 259 378H253Q224 378 204 358Q180 334 173 301T165 209Q165 198 165 172T166 129V0H73V450H160V392'], - - // LATIN SMALL LETTER O - 0x6F: [460,10,500,28,471,'28 222Q28 323 95 391T244 460Q275 460 281 459Q364 445 417 377T471 219Q471 124 408 57T250 -10Q158 -10 93 57T28 222ZM377 230Q377 277 364 310T328 358T287 379T248 385Q233 385 219 382T186 369T155 342T132 297T122 230Q122 146 159 108T250 69H253Q263 69 274 70T305 81T339 106T365 154T377 230'], - - // LATIN SMALL LETTER P - 0x70: [455,194,517,75,483,'166 404Q194 424 241 439T337 455H341Q410 455 451 370Q483 307 483 222Q483 128 433 59T306 -10Q282 -10 260 -5T222 7T194 21T176 33T168 38V-194H75V444H165V424L166 404ZM390 222Q390 287 354 331T266 376T177 340L168 332V118Q200 66 257 66Q313 66 351 112T390 222'], - - // LATIN SMALL LETTER Q - 0x71: [455,194,517,33,441,'33 220Q33 325 87 389T206 454Q286 454 341 406L351 398V455H441V-194H348V41L338 35Q276 -8 198 -11Q171 -11 154 -5Q102 12 68 74T33 220ZM126 220Q126 160 161 113T251 65Q305 65 351 123V298L350 301Q349 304 347 308T342 319T336 331T327 343T315 355T300 365T283 373Q273 375 256 375Q208 375 167 332T126 220'], - - // LATIN SMALL LETTER R - 0x72: [455,0,342,74,327,'171 389Q237 455 320 455H327V373H317Q262 369 220 336T167 248Q165 239 164 119V0H74V450H159V377L171 389'], - - // LATIN SMALL LETTER S - 0x73: [460,10,383,28,360,'33 326Q33 376 60 408T117 450T175 460H190Q245 460 272 454T345 429Q345 428 338 388L331 349Q278 386 188 386H183Q119 386 119 336Q119 307 142 295T210 276T278 256Q360 213 360 130Q360 108 354 88T332 43T281 5T195 -10Q152 -10 111 1T49 22T28 35Q29 36 32 56T39 95T43 115T51 110T72 99T102 85T143 73T193 68Q274 68 274 123Q274 152 248 167Q234 178 187 186T115 207Q66 229 46 273Q33 298 33 326'], - - // LATIN SMALL LETTER T - 0x74: [571,10,361,18,333,'333 27Q333 24 314 16T257 -1T184 -10H172Q146 -10 128 14T105 58T99 91Q95 113 95 251V371H18V444H98V571H182V444H316V371H182V253Q183 128 189 104Q199 68 234 68Q277 72 314 98Q315 93 323 61T333 27'], - - // LATIN SMALL LETTER U - 0x75: [444,11,517,73,443,'353 39Q352 38 344 34T331 27T315 19T295 11T270 3T241 -3T207 -8T168 -10H162Q148 -10 137 -8T111 2T87 30T74 81Q73 89 73 268V444H166V268L167 92Q171 79 174 74T192 64T238 59Q317 59 344 116Q349 128 349 148T350 291V444H443V0H353V39'], - - // LATIN SMALL LETTER V - 0x76: [444,0,461,14,446,'178 0Q15 441 14 442Q14 444 60 444Q107 444 107 442Q108 441 136 364T196 194T232 67Q233 98 280 234T356 442Q356 444 401 444T446 442L282 0H178'], - - // LATIN SMALL LETTER W - 0x77: [444,0,683,14,668,'14 444H105L108 434Q192 160 200 74V65L201 75Q206 144 282 399L296 444H381L399 381Q480 112 480 69L481 70Q481 113 562 386L580 444H668L534 1L483 0H432L429 10Q343 294 338 367L337 377Q336 375 336 370Q336 340 313 250T269 88T245 11L242 0H195L148 1L14 444'], - - // LATIN SMALL LETTER X - 0x78: [444,0,461,0,460,'187 229L6 444H107L227 294L344 444H393L442 443Q439 437 299 268L267 229L460 0H359L294 88Q280 107 262 131T236 166L227 177L100 0H0Q1 1 47 58T140 171T187 229'], - - // LATIN SMALL LETTER Y - 0x79: [444,204,461,14,446,'113 -204Q83 -204 63 -200L43 -197Q43 -196 40 -157T36 -117L48 -121Q79 -133 114 -133Q124 -133 130 -132T145 -121T163 -94Q169 -82 184 -42T200 1L188 29Q176 57 152 115T107 223T62 330T26 416L14 443Q14 444 61 444H109L122 411Q230 155 236 75L237 65V74Q245 161 348 424L356 444H401Q446 444 446 443L396 313Q345 183 293 49T236 -93Q191 -204 123 -204H113'], - - // LATIN SMALL LETTER Z - 0x7A: [444,0,435,28,402,'42 370V444H400V395L156 76L279 77H402V0H28V51L273 371L157 370H42'], - - // TILDE - 0x7E: [327,-193,500,83,416,'83 204Q86 254 113 290T186 327Q211 327 251 299T312 270Q337 270 340 315V327H416V316Q413 258 382 226T315 193Q289 193 249 221T187 250Q162 250 159 205V193H83V204'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js deleted file mode 100644 index 371b6b48..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/CombDiacritMarks.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'], - { - // COMBINING GRAVE ACCENT - 0x300: [694,-527,0,-417,-200,'-415 692L-417 694H-324L-262 612Q-249 594 -233 572T-208 539L-200 528L-237 527H-275L-344 608Q-359 625 -378 647T-406 680T-415 692'], - - // COMBINING ACUTE ACCENT - 0x301: [694,-527,0,-301,-84,'-239 612L-177 694H-84L-86 692Q-86 691 -95 681T-123 648T-157 608L-226 527H-264L-301 528L-293 539Q-285 550 -269 572T-239 612'], - - // COMBINING CIRCUMFLEX ACCENT - 0x302: [694,-527,0,-421,-79,'-354 612L-288 694H-213L-147 612Q-83 532 -80 529Q-79 528 -82 527Q-86 527 -117 527H-155L-250 639Q-256 633 -301 580L-346 527H-384Q-421 528 -421 529Q-418 532 -354 612'], - - // COMBINING TILDE - 0x303: [677,-543,0,-417,-84,'-417 554Q-414 604 -387 640T-314 677Q-289 677 -249 649T-188 620Q-163 620 -160 665V677H-84V666Q-87 608 -118 576T-185 543Q-211 543 -251 571T-313 600Q-338 600 -341 555V543H-417V554'], - - // COMBINING MACRON - 0x304: [631,-552,0,-431,-70,'-431 552V631H-70V552H-431'], - - // COMBINING BREVE - 0x306: [694,-508,0,-427,-74,'-250 508Q-331 508 -379 567T-427 689V694H-351V685Q-348 649 -321 620T-250 591Q-206 591 -180 619T-150 685V694H-74V689Q-74 624 -122 566T-250 508'], - - // COMBINING DOT ABOVE - 0x307: [680,-576,0,-302,-198,'-302 576V680H-198V576H-302'], - - // COMBINING DIAERESIS - 0x308: [680,-582,0,-397,-104,'-397 582V680H-299V582H-397ZM-202 582V680H-104V582H-202'], - - // COMBINING RING ABOVE - 0x30A: [694,-526,0,-319,-99,'-319 611Q-319 649 -285 671T-211 694Q-164 694 -132 671T-99 611Q-99 572 -133 550T-209 527T-285 549T-319 611ZM-155 610Q-155 635 -171 643T-215 651Q-263 651 -263 610Q-263 570 -211 570H-209H-207Q-155 570 -155 610'], - - // COMBINING DOUBLE ACUTE ACCENT - 0x30B: [694,-527,0,-399,-84,'-250 693Q-317 544 -323 527H-399L-343 694H-296Q-250 694 -250 693ZM-84 693Q-151 544 -157 527H-233L-177 694H-130Q-84 694 -84 693'], - - // COMBINING CARON - 0x30C: [654,-487,0,-422,-80,'-421 652Q-422 653 -419 654Q-415 654 -384 654H-346L-301 601Q-287 585 -275 571T-258 551T-250 542L-155 654H-117Q-80 653 -80 652Q-83 649 -147 569L-213 487H-288L-354 569Q-418 649 -421 652'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js deleted file mode 100644 index 92521b0a..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'] = { - directory: 'SansSerif/Regular', - family: 'MathJax_SansSerif', - id: 'MJSS', - Ranges: [ - [0x0,0x7F,"BasicLatin"], - [0x80,0xFFFF,"Other"], - [0x300,0x36F,"CombDiacritMarks"] - ] - - -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js deleted file mode 100644 index 4076c343..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js +++ /dev/null @@ -1,83 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/Other.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'], - { - // LATIN SMALL LETTER DOTLESS I - 0x131: [444,0,239,74,164,'74 0V444H164V0H74'], - - // LATIN SMALL LETTER DOTLESS J - 0x237: [444,205,267,-60,192,'-35 -95Q-4 -126 34 -126Q58 -126 76 -116T100 -88Q102 -82 102 181V444H192V180Q191 -45 191 -70T184 -113Q171 -152 140 -178T63 -205Q34 -205 4 -197T-43 -181T-59 -171L-47 -133L-35 -95'], - - // GREEK CAPITAL LETTER GAMMA - 0x393: [691,0,542,87,499,'87 0V691H499V611H345L191 612V0H87'], - - // GREEK CAPITAL LETTER DELTA - 0x394: [694,0,833,42,790,'203 348L362 694H470L629 348Q789 2 790 1Q790 0 416 0T42 1Q43 2 203 348ZM630 98Q630 100 584 198T481 422T407 603L405 610L403 600Q388 544 191 122L180 99L405 98H630'], - - // GREEK CAPITAL LETTER THETA - 0x398: [716,21,778,56,722,'56 344Q56 430 86 502T164 619T271 690T388 716Q448 716 506 691T613 619T692 501T722 344Q722 188 624 84T389 -21Q252 -21 154 83T56 344ZM624 345Q624 423 597 488T513 596T380 639Q343 639 305 621T232 568T175 475T153 344Q153 216 222 136T388 56Q487 56 555 138T624 345ZM209 299V397H568V299H209'], - - // GREEK CAPITAL LETTER LAMDA - 0x39B: [694,0,611,28,582,'294 606Q294 574 252 430T163 144T117 0H72Q28 0 28 1T141 348L254 694H357L469 348Q582 2 582 1T527 0L473 1L469 11Q469 13 427 141T343 411T296 599L294 610V606'], - - // GREEK CAPITAL LETTER XI - 0x39E: [688,0,667,42,624,'47 600V688H619V600H47ZM111 314V401H555V314H111ZM42 0V88H624V0H42'], - - // GREEK CAPITAL LETTER PI - 0x3A0: [691,0,708,86,621,'86 0V691H621V0H517V615H190V0H86'], - - // GREEK CAPITAL LETTER SIGMA - 0x3A3: [694,0,722,55,666,'55 0Q56 3 171 167T288 332Q288 334 172 474L55 615V694H666V614H428L190 615L412 347L322 218Q236 97 228 84L447 85H666V0H55'], - - // GREEK CAPITAL LETTER UPSILON - 0x3A5: [716,0,778,55,722,'55 565Q59 625 105 670T219 716H222Q310 716 353 627Q376 583 386 524L389 510L393 532Q397 555 407 584T433 644T482 695T557 716Q621 716 669 673T722 565V555H629V563Q627 592 607 615T557 638Q530 638 511 629T479 598T459 553T447 488T442 411T441 319V202V0H337V202Q337 453 331 497Q313 634 226 638Q185 638 167 612T148 563V555H55V565'], - - // GREEK CAPITAL LETTER PHI - 0x3A6: [694,0,722,55,666,'666 347Q666 326 661 302T638 247T594 190T520 140T413 107H410V0H312V54Q312 107 311 107Q286 107 229 128T125 192Q55 260 55 347Q55 396 77 438T131 507T200 552T265 579T311 587Q312 587 312 641V694H410V587H413Q476 576 524 552T598 502T640 444T661 390T666 347ZM310 510Q305 510 291 507T252 492T208 464T172 416T157 347T171 279T204 233T247 205T286 190T310 184H312V347Q312 510 310 510ZM564 347Q564 385 549 416T514 463T470 491T433 505T414 509L410 510V184Q413 184 426 187T464 200T510 227T548 275T564 347'], - - // GREEK CAPITAL LETTER PSI - 0x3A8: [694,0,778,55,722,'340 187V694H438V187Q481 206 495 219Q518 239 533 267T553 332T560 386T562 435Q562 576 593 608Q608 621 637 621H670H722V545H719Q718 545 715 545T710 544Q679 536 666 487Q664 474 662 429T654 344T633 259T580 175T486 119Q450 109 438 108V0H340V108L326 110Q122 149 117 415Q116 460 111 487Q98 536 67 544Q65 544 62 544T58 545H55V621H107Q160 621 163 620Q191 613 202 573Q213 536 213 473T220 351T256 249Q262 239 270 230T285 216T301 205T316 197T329 192T340 187'], - - // GREEK CAPITAL LETTER OMEGA - 0x3A9: [716,0,722,44,677,'55 462Q55 561 141 638T359 716Q492 716 579 640T666 462Q666 407 642 347T579 222T529 126Q515 91 515 86Q517 85 528 85Q530 85 552 85T596 86H677V0H425V14Q429 79 465 168L492 228Q494 232 504 254T516 283T527 310T539 340T548 368T556 399T560 428T562 460Q562 531 510 585T361 639Q263 639 211 585T159 460Q159 422 170 378T192 309T229 228L256 168Q292 79 296 14V0H44V86H125Q146 86 168 86T193 85L206 86Q206 103 183 148T131 241T79 352T55 462'], - - // EN DASH - 0x2013: [312,-236,500,0,499,'0 236V312H499V236H0'], - - // EM DASH - 0x2014: [312,-236,1000,0,999,'0 236V312H999V236H0'], - - // LEFT SINGLE QUOTATION MARK - 0x2018: [694,-471,278,90,189,'90 568L140 694H189L174 633Q159 572 158 571Q158 569 173 569H188V471H90V568'], - - // RIGHT SINGLE QUOTATION MARK - 0x2019: [694,-471,278,89,188,'90 596V694H188V597L139 471H89L104 532Q119 593 120 594Q120 596 105 596H90'], - - // LEFT DOUBLE QUOTATION MARK - 0x201C: [694,-471,500,174,467,'174 568L224 694H273L258 633Q243 572 242 571Q242 569 257 569H272V471H174V568ZM368 568L418 694H467L452 633Q437 572 436 571Q436 569 451 569H466V471H368V568'], - - // RIGHT DOUBLE QUOTATION MARK - 0x201D: [694,-471,500,32,325,'33 596V694H131V597L82 471H32L47 532Q62 593 63 594Q63 596 48 596H33ZM227 596V694H325V597L276 471H226L241 532Q256 593 257 594Q257 596 242 596H227'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js deleted file mode 100644 index 3d08202f..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js +++ /dev/null @@ -1,107 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Script/Regular/BasicLatin.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Script'], - { - // SPACE - 0x20: [0,0,250,0,0,''], - - // LATIN CAPITAL LETTER A - 0x41: [718,8,803,35,1016,'76 60Q83 29 135 29Q190 29 264 81Q280 93 280 95T277 99T265 106T248 118Q189 166 189 237Q189 307 245 388Q267 421 299 436Q336 455 386 455Q488 455 550 403L559 395L571 405Q727 544 944 679L957 687L966 701Q968 704 970 707T973 712T975 714T978 716T982 717T989 717H995Q1004 717 1007 717T1013 714T1016 708Q1016 705 829 403L636 92L630 83Q659 93 685 110T728 143L745 158Q758 158 752 138L748 127L740 119Q676 58 605 42L593 22Q590 17 587 12T583 6T579 2T573 0T564 0H530H484Q480 3 480 8Q480 15 489 26T498 39T497 40Q477 40 423 49T327 74L316 78L302 68Q200 -8 121 -8Q85 -8 60 7T35 53T60 113T123 144Q144 144 153 132T162 106Q162 89 143 75T99 61Q90 61 76 65V60ZM904 614L905 615Q901 615 840 573T700 469T581 369L587 359Q600 340 608 315T618 273T622 238T624 216L764 414Q904 612 904 614ZM525 363Q493 405 379 418H375Q342 418 309 378Q251 300 251 234Q251 174 306 137Q318 128 322 131Q323 132 329 139Q351 161 362 180Q430 273 509 348L525 363ZM579 205Q579 245 571 278T556 323T546 337L521 311Q461 248 422 196T362 121L353 111Q427 85 499 79Q517 77 520 77L525 76L549 111Q551 114 556 121T563 131T568 138T573 147T575 157T577 169T578 185T579 205'], - - // LATIN CAPITAL LETTER B - 0x42: [708,28,908,31,928,'256 262Q161 262 161 351Q161 408 203 471T289 570Q380 645 475 676T617 707L627 708Q637 708 644 708Q759 708 831 675L844 669L857 677Q892 700 896 700Q902 700 907 685Q907 683 907 681T908 678T909 676T909 673Q909 671 909 670T906 667T903 664T897 660T889 655L878 647L889 636Q928 598 928 548Q928 529 923 510T907 474T886 442T861 412T837 388T815 368T800 355Q847 323 847 270V263Q847 205 806 145Q766 82 695 37T564 -8Q527 -8 506 10T484 58Q484 85 501 117T543 172Q607 226 685 228Q695 228 698 226Q703 220 692 206Q684 194 682 193T665 191Q625 189 595 172T550 133T529 93T522 66Q522 29 576 29Q642 29 705 109Q785 211 785 270Q785 287 779 300T769 316T755 327L740 319Q682 290 634 290Q611 290 592 294H588L565 261Q559 252 544 231T522 201T504 178T481 151T455 123Q394 63 314 18T159 -28Q103 -28 67 -6T31 54Q31 88 57 123T123 158Q144 158 154 146T164 119Q164 102 142 89T100 75Q94 75 87 77T76 80L72 81Q69 78 69 65Q69 35 102 22T175 9Q184 9 198 11Q248 23 300 70T403 187T508 331T636 489T789 629L801 639Q796 642 786 647T732 661T633 670Q592 670 558 665Q481 651 409 613T286 520Q274 507 258 485T222 424T202 354Q202 299 269 299Q282 299 295 301T318 307T339 317T358 329T376 345T391 362T406 380T420 398T433 417T445 435Q496 512 496 547Q496 559 497 560T516 569Q526 574 530 574Q538 574 538 540Q538 414 427 325Q342 262 256 262ZM689 382Q708 382 753 375L765 387Q860 482 860 555Q860 594 839 610L822 592Q794 563 752 511T680 420T651 380Q655 381 660 381Q664 382 689 382ZM697 344Q692 345 681 345H675Q671 345 665 345T655 344T650 344L648 342Q646 339 645 338Q643 333 639 327H653Q670 329 676 330Q706 342 706 343Q702 344 697 344'], - - // LATIN CAPITAL LETTER C - 0x43: [728,26,666,26,819,'367 89Q367 84 353 77T334 70Q325 70 312 83T298 120Q298 169 364 233T496 298Q538 298 563 275T588 220V213Q588 132 501 53T306 -26Q251 -26 211 6T170 114Q171 148 181 184T205 248T232 298T255 334T265 349T246 350Q127 350 77 390T26 480Q26 533 71 581T178 656T295 683Q312 683 312 676Q312 674 311 672L302 660Q294 648 292 647L286 646Q280 646 276 646Q197 641 145 583T93 476Q93 387 265 387Q271 387 277 387T287 388T292 388T313 414T373 483T451 562Q618 712 732 727Q733 727 740 727T753 728Q790 727 804 708T819 665Q819 643 810 617T773 553T699 481T572 414T385 361Q381 361 367 341Q247 172 247 86Q247 11 325 11Q404 11 465 95Q518 165 528 208Q529 212 529 220Q529 237 518 249T480 261Q431 261 387 209T343 126Q343 111 355 101T367 89ZM777 658Q777 691 738 691Q704 691 658 662T570 590T491 504T432 432T410 400H411Q416 400 440 405T505 423T589 455T675 506T743 576Q777 627 777 658'], - - // LATIN CAPITAL LETTER D - 0x44: [708,31,774,68,855,'251 272Q199 272 168 298T136 374Q136 432 175 496T267 603Q321 645 395 676T552 708Q610 708 655 694T724 659T763 618T784 584L790 569Q792 569 800 572T819 576T840 578Q855 578 855 571Q855 566 846 554T829 541Q824 541 817 539T804 533T799 529Q802 517 802 483Q802 376 742 256T585 53T392 -31Q353 -31 300 -7L289 -2L277 -6Q242 -17 192 -17Q141 -17 113 -13T77 -3T68 14Q68 20 73 28T93 45T131 58Q152 62 197 62Q241 62 272 48L282 44Q308 65 334 93Q380 145 467 266T622 454Q644 476 664 493T694 517T720 534T740 547Q699 671 540 671Q461 671 385 625T276 534Q265 520 251 499T219 438T202 368Q202 309 267 309Q325 309 396 383T491 545Q492 548 493 552Q494 558 496 559T511 564Q513 565 514 565Q523 568 527 568Q534 568 534 560Q534 554 529 537Q507 442 420 357T251 272ZM332 20Q332 19 341 15T368 6T400 2Q425 2 457 13T531 49T614 125T690 248Q750 376 750 476V490L738 479Q698 436 646 366T554 239T455 121T332 20ZM226 20Q226 25 186 25Q181 25 174 24H166Q161 24 158 23H152Q170 21 197 21Q205 21 213 21T223 20H226'], - - // LATIN CAPITAL LETTER E - 0x45: [707,8,562,46,718,'280 398L279 400Q278 402 277 405T275 413T272 426T271 443Q271 494 302 544T379 629T472 685T553 707H565H573Q630 707 664 689Q718 661 718 604Q718 548 662 492T553 436Q525 436 508 451T490 492Q490 534 531 579T619 630Q632 630 632 623Q632 619 624 606Q614 593 602 592T578 580Q566 568 549 541T532 497Q532 474 565 474Q577 474 587 476Q600 481 611 489Q630 503 651 535T672 596Q672 660 553 660H548Q494 660 450 616Q421 587 384 531T343 439Q341 420 344 415H345Q346 415 352 415T369 417T391 418Q421 418 440 412T466 398T473 382Q473 367 452 353T398 339Q370 339 348 345T315 359L304 366Q297 365 284 360T234 321T163 234Q120 160 120 117Q120 83 149 57T252 30Q311 30 357 60Q386 79 414 114T452 179Q454 186 454 200Q454 230 415 242Q401 246 373 246Q353 246 347 244Q328 236 313 219T288 184T274 149T265 121T261 109Q260 107 247 102T230 97Q223 97 223 105Q223 148 271 216T386 284Q446 284 483 260T520 195Q520 121 427 57T239 -8Q192 -8 152 2T79 46T46 133Q46 212 107 285T269 394L280 398ZM427 376Q427 377 402 380Q386 380 386 379L425 375L427 376'], - - // LATIN CAPITAL LETTER F - 0x46: [735,37,895,39,990,'258 428Q258 489 322 562T482 685T661 735Q726 735 824 693T977 651Q990 651 990 644Q990 639 971 612T948 581Q947 580 938 580Q878 580 784 621T617 663Q544 663 480 635T379 568T320 492T299 431Q299 387 362 387Q404 387 438 402T493 438T527 486T546 531T551 563Q551 569 550 575T549 584T549 590Q551 593 563 602T579 611Q584 611 592 605T608 584T616 548Q616 513 595 477T554 423Q518 392 464 372T349 351Q258 351 258 428ZM324 187T305 187T286 196Q286 202 301 217Q327 242 383 262T484 290L527 297L567 356Q624 441 643 467T688 521Q715 550 752 581T795 613T804 603T808 587T778 547T702 444T626 300H637Q663 302 685 306L697 308L703 317Q745 376 792 400Q806 406 818 406Q849 406 849 375Q847 355 831 338T797 312T763 296L747 290Q744 289 735 266T724 241Q722 240 702 232T664 217T645 210Q638 210 638 218Q638 224 653 246T669 270Q669 271 668 271Q663 270 624 264L607 263Q570 199 529 152Q513 133 484 106T409 45T305 -13T193 -36Q109 -36 74 -10T39 50Q39 86 64 121T128 158Q171 158 171 121Q171 97 141 83Q125 75 107 75Q93 75 80 83Q76 71 76 62Q76 29 117 15T207 0Q324 0 494 248L501 258H495Q368 239 330 195Q324 187 305 187ZM775 335Q806 358 806 368Q805 369 804 369Q800 369 791 360Q774 336 775 335'], - - // LATIN CAPITAL LETTER G - 0x47: [717,37,610,12,739,'206 318L249 320Q249 327 259 352T282 399Q312 447 366 510T465 610Q588 717 661 717Q695 717 716 701T738 653T704 577Q663 522 610 474T512 397T424 346T359 315T333 306Q331 304 327 290T323 267Q323 229 368 229Q402 229 439 254T505 312T571 382T638 435Q642 437 644 437Q658 437 658 409Q655 403 647 399T624 379T595 326Q583 296 564 267T523 179Q504 126 483 91T423 27Q335 -37 231 -37Q191 -37 157 -30T95 -2T67 53Q67 89 94 123T159 158Q180 158 190 146T200 119Q200 102 178 89T136 75Q128 75 120 78T110 81Q105 81 105 62Q105 38 129 24T180 5T238 1H244Q282 1 319 32Q349 55 371 85T436 190L465 239Q413 192 354 192Q300 192 274 217T245 276Q245 284 242 284Q220 280 187 280Q106 280 59 315T12 409Q12 457 43 508T118 597T210 659T295 683Q308 683 308 675Q308 670 299 658T282 646Q266 646 240 633Q182 606 118 511Q76 448 76 400Q76 368 105 343T206 318ZM677 660Q677 680 646 680Q616 680 565 629Q537 601 514 571Q493 544 455 492T389 398T360 355Q366 357 386 367Q463 406 534 473T641 591T677 660'], - - // LATIN CAPITAL LETTER H - 0x48: [718,36,969,29,1241,'331 505Q331 519 382 574T472 629H480Q512 629 529 614T547 576Q547 555 534 532T520 504Q520 493 549 493Q590 493 623 506T668 533L681 546Q731 600 772 641T832 700T852 717Q857 717 860 711T865 697L866 690Q866 688 813 617T708 475T656 403Q682 403 714 404H771L780 416Q1004 707 1167 707Q1209 707 1225 689T1241 646Q1241 604 1209 547T1118 447Q1081 422 1034 405T952 382T888 374T857 370H852L826 334Q733 204 708 144Q691 104 691 76Q691 29 748 29Q768 31 791 48T831 83T862 122T881 146Q883 148 900 148H917Q921 143 921 140T914 127Q810 -8 723 -8Q611 -4 611 100Q611 142 631 191T676 275T721 337T742 367Q716 367 685 366H628L620 355Q618 352 558 268Q486 168 461 141Q405 79 339 34T215 -28Q188 -36 153 -36Q86 -36 58 -11T29 46Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q67 82 67 60Q67 28 99 14T170 0Q214 0 272 47T419 224L505 340L518 357Q513 357 504 356T467 347T415 330T360 300T308 253Q296 238 295 237H278H274Q256 237 256 243Q256 248 263 256Q291 294 330 321T407 362T476 382T530 393T552 398Q556 402 573 423T600 454Q602 457 604 460T608 465L610 467Q565 455 532 455Q465 455 449 483Q447 487 447 498Q447 513 463 538T479 579Q479 593 463 593Q436 593 385 519Q374 504 371 502T360 499H353H349Q331 499 331 505ZM1195 634Q1195 643 1195 648T1185 662T1157 671Q1130 671 1092 644T1019 579T952 502T901 436L882 409L891 410Q900 411 913 412T934 415Q1081 439 1144 520Q1195 590 1195 634'], - - // LATIN CAPITAL LETTER I - 0x49: [717,17,809,59,946,'487 225Q398 255 398 342Q398 410 455 492Q491 545 552 582T669 636T800 673T918 712Q930 717 933 717Q939 717 942 706T946 689Q946 686 915 664T830 591T729 480Q691 429 657 351T615 260Q628 260 663 279T733 339T769 426Q769 442 767 459T764 479Q764 484 766 486Q769 488 781 493T797 498Q802 498 803 494T808 472Q813 442 813 425Q813 369 761 315Q692 246 605 224L592 220L584 209Q547 155 487 106T358 25Q270 -17 191 -17Q143 -17 101 1T59 59Q59 96 85 127T148 158Q169 158 179 146T189 119Q189 102 167 89T125 75Q116 75 109 77T101 81T97 80Q96 77 96 72Q96 50 123 36T204 21H216Q249 21 302 49T411 134Q439 161 459 187Q487 220 487 225ZM460 334Q460 308 472 290T498 268L510 263Q515 263 545 313T626 438T723 561Q751 589 775 609T808 636T817 644H816Q813 644 732 618Q681 601 645 584T585 548T549 514T518 476Q460 390 460 334'], - - // LATIN CAPITAL LETTER J - 0x4A: [717,314,1052,92,1133,'829 148Q845 148 845 143T841 130T823 109T788 83T730 54T644 22Q637 20 634 19T627 16T622 13T618 10T612 3T604 -6Q510 -112 396 -203T201 -312Q190 -314 171 -314H166Q156 -314 147 -312T123 -304T101 -283T92 -245Q92 -203 117 -160T175 -93Q214 -65 280 -41T390 -6T509 22L532 27L547 47Q673 219 673 225L665 228Q657 231 648 235T627 249T606 270T591 300T584 341Q584 389 614 447T686 544Q735 588 799 615T959 667T1108 713Q1118 717 1119 717Q1125 717 1129 705T1133 689Q1133 686 1115 673Q1051 627 1001 579T918 481T867 403T828 328T805 277Q802 271 801 267T798 261T798 259Q849 270 900 317Q956 371 956 421Q956 438 953 457T950 480Q950 481 950 482L951 484Q953 487 966 492T985 498Q989 498 994 473Q1000 441 1000 423Q1000 362 934 302T790 223L775 220L767 207Q757 191 731 158T685 98T662 63Q662 61 690 70T755 99T811 142L816 148H829ZM646 332Q646 308 659 291T685 268L698 263L735 320Q828 465 865 511Q923 582 1003 643L1005 645Q1004 645 924 620Q775 572 716 492Q646 401 646 332ZM184 -278Q233 -278 311 -212T444 -80L498 -15H496Q468 -20 424 -30T293 -70T174 -133Q167 -140 158 -153T138 -190T127 -232Q127 -278 184 -278'], - - // LATIN CAPITAL LETTER K - 0x4B: [717,37,914,29,1204,'521 506Q521 493 549 493Q608 493 660 527Q667 531 690 555L736 604Q750 619 777 646T825 694T848 716T852 717Q857 717 860 711T865 697L866 690Q866 687 812 615Q654 404 654 401Q655 401 656 401T659 402T665 403T680 404Q718 404 734 374Q735 370 743 376Q745 377 752 382Q806 416 852 466T933 563T982 623Q1028 666 1075 686T1155 706Q1165 706 1173 705T1186 703T1194 699T1199 695T1201 692T1202 688V687L1204 677Q1204 667 1191 670Q1189 670 1183 670T1174 671Q1137 671 1086 643T1001 564Q970 517 899 449T749 339L739 333L736 322Q730 295 703 253T652 165T628 77Q628 21 681 21Q692 21 698 23Q751 46 817 134L827 148H844Q861 148 864 146Q869 140 859 127Q818 75 761 29T665 -17Q649 -17 633 -12T598 4T569 40T558 100Q558 128 563 152T585 205T609 245T643 294Q647 300 645 300Q633 297 615 297Q607 297 600 298T589 300T584 301Q581 301 569 284T536 236T488 171T418 97T331 28Q233 -37 155 -37Q104 -37 68 -17T29 44Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q68 82 68 59Q68 37 85 23T123 5T167 0Q203 0 238 21T311 85T382 174T468 288T563 410Q576 426 588 440T607 462T615 472L605 468Q568 456 533 456H527Q490 456 463 483Q451 496 451 508T468 545T486 581Q486 593 465 593Q448 593 425 568T384 518T364 493Q364 492 347 492Q326 492 326 499T351 537T414 599T477 630Q509 630 528 615T547 576Q547 556 534 533T521 506ZM675 357Q675 368 665 368Q656 368 644 363Q631 355 616 333H628Q640 334 672 341Q675 354 675 357'], - - // LATIN CAPITAL LETTER L - 0x4C: [717,17,874,14,1035,'572 704Q607 704 607 693Q607 681 590 664H588Q586 664 584 664T578 663Q504 658 434 592T363 457Q363 426 386 401Q417 371 481 361Q490 360 527 360H562Q565 363 595 404T666 494T755 596T854 682T945 717Q986 717 1010 696T1035 637Q1035 593 996 531T873 414Q809 378 753 360T674 338T651 333Q650 333 633 308T588 245T544 185Q498 126 426 78L413 68H414Q498 47 575 47Q626 47 676 74T755 139L762 148H779H783Q802 148 802 142Q802 137 795 129Q760 81 691 33T544 -16Q470 -16 366 20L341 29L331 24Q239 -17 155 -17H141Q90 -17 61 -12T23 1T14 22Q14 44 39 65T103 95Q126 101 180 101Q224 101 258 98T309 90T330 86Q332 86 353 103T389 135Q401 146 412 158T431 179T450 203T466 225T485 252T505 280L535 322H509Q391 322 340 362T289 452Q289 495 321 547T396 630Q438 665 486 684T572 704ZM978 635Q978 644 977 650T973 661T968 668T961 673T954 676T946 678T938 680Q929 680 925 677Q893 659 795 531T682 377Q683 377 711 385T755 401T801 421T856 453T906 495Q927 516 952 557T978 635ZM274 50Q274 51 258 54T216 61T166 65Q160 65 151 65T140 64Q115 58 102 48T88 31Q88 20 159 20Q191 20 219 27T261 42L274 50'], - - // LATIN CAPITAL LETTER M - 0x4D: [721,51,1080,30,1216,'112 -7Q86 -7 58 6T30 48T54 103T113 130Q129 130 141 121T153 94Q153 71 132 59T90 47H80Q95 30 133 30Q180 30 228 63T311 137T402 249T500 361Q566 425 703 529T910 693Q942 721 945 721T958 716T970 709Q974 704 964 691Q961 688 905 622T847 554L595 181Q553 121 527 77T496 19L492 5Q497 5 531 46Q579 98 685 224T850 409L972 524Q994 543 1004 556Q1012 567 1097 643T1186 720Q1194 720 1206 715T1215 703Q1215 701 1191 671T1133 599T1080 530Q1036 461 983 357T862 152Q802 64 799 17Q799 7 800 5T811 2Q836 2 882 37T969 126Q972 130 974 134T978 138T983 139T996 140H1012Q1018 134 1018 132Q1018 122 981 83T889 4T795 -35Q761 -35 745 -12T728 48Q728 122 781 190Q833 269 890 370L927 434L914 422Q848 360 752 245Q643 117 582 51T498 -33T461 -50Q424 -48 424 -4Q424 84 481 172L714 495Q591 406 523 333Q507 316 430 226T313 95Q263 48 221 24T162 -4T120 -7H112'], - - // LATIN CAPITAL LETTER N - 0x4E: [726,36,902,29,1208,'764 513Q764 482 772 423T780 330Q780 304 778 285T775 256T773 245Q778 252 826 328T932 484T1042 617Q1077 652 1114 678T1173 715T1200 726Q1208 726 1208 717Q1208 711 1206 695L1203 679L1199 675Q1197 675 1187 670T1161 657T1133 639Q1050 583 959 456Q906 381 858 307T779 179T725 83T691 18T679 -6Q677 -8 660 -8H656Q639 -8 639 -1Q639 4 646 17Q685 93 685 173V196Q685 233 681 288T676 380Q676 438 687 487L664 454Q505 230 454 170Q366 64 290 14T163 -36H152Q87 -36 58 -11T29 46Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q67 82 67 59Q67 37 89 19T167 1Q187 1 197 3Q221 9 246 22T292 52T336 91T375 132T411 174T440 212T463 245T478 266Q779 695 784 698Q786 700 802 700H818Q824 694 824 692T809 668T779 604T764 513'], - - // LATIN CAPITAL LETTER O - 0x4F: [707,8,738,96,805,'259 -8Q230 -7 205 0T153 24T112 74T96 153Q96 254 174 379T374 599T607 707H621Q732 707 778 661Q805 634 805 598Q805 558 775 517T696 452L684 447V441Q684 378 626 273T484 97Q379 7 288 -7Q279 -8 259 -8ZM760 594Q760 670 608 670Q562 670 493 622T347 472Q174 240 174 131Q174 76 205 53T279 29Q294 29 306 32Q405 60 507 205Q592 325 616 401Q625 426 625 435Q625 436 621 436T603 440T569 449Q524 466 515 475Q513 477 513 481T525 496T541 508L548 504Q555 501 565 497T587 488T609 480T625 476Q627 476 626 481Q626 486 623 494T613 513T589 533T548 541Q495 541 413 454T286 281Q265 241 254 201T240 141T235 120Q234 118 217 111T197 104Q195 104 192 107T189 112Q190 125 193 147T220 231T280 348Q335 428 407 493T539 576Q548 578 563 578Q594 578 617 568T653 546T672 518T681 494T683 482Q683 481 684 481Q690 481 707 495T742 538T760 594'], - - // LATIN CAPITAL LETTER P - 0x50: [716,37,1013,90,1031,'571 345Q571 384 612 418T687 452Q698 452 698 445Q698 436 679 417Q677 415 670 415Q650 412 633 389T615 350Q615 340 621 331T634 319T643 315L663 342Q751 462 817 536Q873 595 896 614L907 625Q843 680 701 680Q594 680 499 632T344 516Q317 486 296 449T267 384Q262 366 262 354Q262 332 276 316T326 299H327Q374 299 426 338Q481 376 537 456T597 598Q597 616 599 617Q601 619 614 624T630 630Q639 630 639 604V587V581Q639 519 597 456Q544 377 462 320T318 262Q278 262 250 282T222 350Q222 418 285 504Q360 597 480 656T702 716Q773 716 825 707T898 688T951 660Q962 670 985 685T1012 700Q1018 700 1022 690T1026 673Q1026 670 1019 664Q988 633 988 631Q988 630 999 618T1020 580T1031 522Q1031 471 1003 419T928 330Q854 275 765 264Q757 262 733 262H714L701 245Q615 121 473 42T218 -37Q159 -37 125 -15T90 46Q90 82 116 120T185 158Q203 158 213 147T224 121Q224 110 219 102Q198 75 159 75Q154 75 149 76T143 77T140 77Q137 72 137 53Q138 37 149 26T177 9T205 2T228 0Q313 0 419 74T602 257L620 281L614 285Q607 289 601 294T587 306T576 323T571 345ZM950 529Q950 576 943 576Q940 576 840 439T741 299H751Q804 300 845 334T924 438Q949 490 950 529'], - - // LATIN CAPITAL LETTER Q - 0x51: [717,17,883,54,885,'330 387Q330 331 402 331Q463 331 514 371T589 459T613 542Q613 559 608 570T598 588T593 596Q593 601 617 610Q632 617 636 616Q675 585 675 527Q675 464 629 409T516 324T387 294Q271 294 271 394V402Q271 438 292 478Q344 582 457 649T672 717Q765 717 825 675T885 548Q885 433 771 298T498 76Q493 73 491 72T486 69T484 67T485 66Q539 41 607 41Q655 41 703 71T780 139L787 148H804Q806 148 809 148Q826 149 826 140Q826 128 786 91T687 19T589 -16H576Q503 -16 414 20L396 27Q279 -17 192 -17Q130 -17 92 2T54 53Q54 92 107 123T222 155Q303 155 401 106L431 91L441 97Q476 118 527 157Q622 236 711 361T801 573Q801 591 795 607T775 641T732 668T660 679Q592 679 528 644T422 560T355 464T330 387ZM201 20Q232 20 267 27T322 40T342 49Q342 52 315 60T243 77T160 86Q150 88 144 88Q130 88 122 79T112 62L111 53Q111 20 201 20'], - - // LATIN CAPITAL LETTER R - 0x52: [717,17,850,-2,887,'224 266Q185 266 156 286T127 354Q127 419 176 487T282 594Q346 642 433 679T615 717Q732 717 802 680L815 673Q824 680 840 690T860 700Q864 700 867 693T872 680L873 673Q873 668 858 659L845 651L853 642Q887 605 887 561Q887 500 840 439Q790 379 681 336Q693 312 693 292Q692 276 689 263T672 229T653 198T620 152L575 87Q557 57 557 33Q557 24 560 17T566 8L569 5Q546 5 508 25T470 76Q470 83 473 92T545 198T616 310Q616 317 615 318T612 319Q603 319 575 315H560L545 291Q492 201 429 135T277 23Q202 -17 142 -17H130Q50 -17 16 17Q-2 35 -2 57Q-2 95 24 126T88 158Q106 158 116 147T127 121Q127 110 122 102Q116 93 99 84T63 75Q58 75 53 76T47 77T45 75T44 67Q45 52 57 42T88 27T120 21T144 19Q174 19 208 36T267 76T324 134T369 189T406 239Q462 319 504 374T616 503T755 631L770 644Q767 647 753 654T697 670T602 680Q493 680 399 631T247 516Q218 485 193 440T168 359Q168 328 188 316T234 303Q255 303 273 315T304 340T343 389T390 448Q428 490 441 510T456 548Q456 557 458 559Q459 560 476 567T496 575Q505 575 505 558Q505 511 434 412Q429 406 427 403Q397 360 378 343Q342 308 300 287T224 266ZM819 564Q819 595 800 619L784 606Q729 557 692 512T605 387L591 365L610 364Q622 364 631 363T641 361Q643 361 651 363Q725 388 772 449T819 564ZM794 141Q794 123 725 63T612 3Q609 3 612 5Q612 5 615 7Q639 19 678 57T742 131L755 148H772H780Q794 148 794 141ZM588 -3Q590 0 593 0H594L593 -1Q592 -1 590 -2L588 -3'], - - // LATIN CAPITAL LETTER S - 0x53: [708,36,868,29,1016,'346 463Q346 419 406 386T576 352H588L613 384L681 476Q767 594 842 651T973 708Q1016 708 1016 661Q1016 621 987 562T894 449Q802 375 696 338L682 334L665 312Q638 279 605 233T547 158T482 97Q418 46 332 5T158 -36Q87 -36 58 -11T29 48Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q67 82 67 59Q67 28 98 14T166 0Q232 0 320 55T491 226Q530 279 551 305L558 314Q558 315 543 315Q417 321 353 365T289 460Q289 566 488 632Q578 662 660 665H679Q685 660 685 657T676 642Q670 633 666 629L664 628Q663 628 661 628T655 628Q606 628 546 615T426 568T350 486Q346 475 346 463ZM976 653Q976 671 959 671Q938 671 919 661T883 629T858 593T835 554Q832 548 830 545Q802 495 775 455T734 400T721 382L736 388Q876 449 946 568Q948 572 949 573Q976 622 976 653'], - - // LATIN CAPITAL LETTER T - 0x54: [735,37,747,92,996,'354 350Q264 350 264 426Q264 442 265 448Q279 514 347 582T503 692T662 735Q719 735 774 714T882 672T983 651Q996 651 996 644Q996 639 977 612T954 581Q953 580 938 580Q909 582 884 587L869 591L870 587Q870 583 849 557T796 491T748 422Q729 391 692 313T620 188Q555 105 454 34T253 -37Q214 -37 181 -30T120 -2T92 53Q92 89 119 123T184 158Q205 158 215 146T225 119Q225 102 203 89T161 75Q153 75 145 78T135 81Q130 81 130 62Q130 39 153 24T204 5T267 0Q311 0 358 29T454 117T539 226T629 358T710 476Q726 496 744 516T778 551T807 577T828 595L836 601L785 623Q743 642 713 651T668 661T626 663Q564 663 509 644T418 596T356 535T317 475T305 431Q305 416 312 408Q323 388 369 388Q429 388 465 411T530 480Q557 526 557 565Q557 573 556 579T555 587T555 590Q555 591 568 600T584 611Q588 612 600 603Q622 581 622 549Q622 516 600 475T536 405Q454 350 354 350'], - - // LATIN CAPITAL LETTER U - 0x55: [717,17,800,55,960,'55 377Q55 443 122 523T290 660T478 717Q533 717 575 689T618 594Q618 565 611 538T585 477T552 422T506 355T458 288L357 146Q307 68 307 31Q307 20 318 20Q326 20 331 21Q367 27 411 57T490 128L767 500L861 617H908H939Q953 617 956 616T960 609Q960 605 928 566T816 423T648 198Q587 113 571 86Q540 34 540 21Q540 20 545 20Q580 25 623 55T696 124Q702 132 704 133T722 134H739Q744 130 744 127T735 113Q713 80 655 38T548 -14Q527 -17 524 -17Q475 -17 473 47V63L462 55Q364 -17 302 -17Q235 -17 235 69Q235 88 239 105T248 135T268 171T292 205T328 251T369 304Q376 313 395 338T423 374T450 408T476 445T499 479T519 514T534 546T545 579T548 608Q548 647 522 663T460 680Q355 680 243 591T99 406Q97 399 97 383V377Q97 339 153 339Q169 339 175 340Q215 350 241 373T298 444Q333 496 349 535T367 588T374 603Q402 616 408 616Q416 616 416 608Q416 563 393 492T320 378Q233 302 140 302H132Q75 302 57 353Q55 361 55 377'], - - // LATIN CAPITAL LETTER V - 0x56: [717,17,622,56,850,'540 717Q542 717 545 717Q562 717 562 710Q562 708 557 702T541 678T517 632T485 544T448 407Q447 405 443 388T438 366T433 345T427 321T420 299T411 274T400 250T387 223T372 197Q363 181 364 181L388 203Q476 284 527 354T620 490T718 612Q754 647 790 673T835 700Q839 700 842 691T848 672L850 662Q850 657 842 653Q803 630 768 600T699 527T653 467T610 405Q554 322 518 282T368 138Q307 84 273 51T231 9T218 -5L207 -17H175Q169 -11 169 -9Q169 -4 183 10Q227 56 258 120T302 234T330 350T356 445Q357 450 360 458L362 464Q317 434 276 434Q221 437 221 479Q221 498 240 521T259 552Q259 565 235 565Q209 565 174 546T105 482Q103 480 102 478T99 474T97 472T95 470T93 468T90 467T86 467T81 467H75Q56 467 56 475Q56 482 82 511T156 570T253 601Q289 601 311 590T334 557Q334 543 312 517T289 478Q289 471 297 471Q327 471 378 514Q384 519 390 531T412 571T451 632Q482 675 524 717H540'], - - // LATIN CAPITAL LETTER W - 0x57: [717,17,805,46,1026,'232 504Q232 492 263 492Q304 492 356 515L367 520L379 537Q443 632 515 705L527 717H543H552Q564 717 564 709Q564 705 562 703T554 694T540 677T518 643T488 589T448 504T398 385Q368 309 353 281L349 270L523 472L669 634Q726 695 737 706T757 717H765Q786 717 786 710Q786 704 776 691T738 627T675 497Q630 394 609 354T541 244Q456 120 449 111L447 107L448 108Q630 240 700 327Q734 368 788 463Q821 520 841 550T898 619T980 683Q1010 700 1018 700Q1020 700 1023 697T1026 692Q1026 688 1024 671T1020 652Q1018 650 1007 645T988 635Q940 609 902 565T842 477T781 374T699 272Q653 226 535 133Q423 47 373 -2L358 -17H342Q320 -17 320 -11Q320 -7 328 5T354 46T390 112Q416 161 439 217T488 326T564 453L589 490Q587 490 523 414T352 217T166 14Q138 -16 137 -16Q136 -17 120 -17Q106 -17 103 -16T99 -9Q99 -5 100 -3T106 3T116 14T132 35T154 72T184 129T222 212T270 327Q310 426 337 471L326 467Q278 455 243 455Q209 455 188 462T161 478T155 496Q155 508 176 533T198 576Q198 579 198 581T192 588T178 593Q151 593 100 519Q89 504 86 502T75 499H68Q46 499 46 506Q46 510 63 534T112 587T170 627Q178 629 195 629Q235 629 252 613T270 577Q270 556 251 532T232 504'], - - // LATIN CAPITAL LETTER X - 0x58: [717,17,944,103,1131,'351 351Q308 351 290 373T272 426Q272 487 329 566T478 688Q538 717 584 717Q635 717 681 696T745 620Q752 598 752 564T745 498L741 485Q742 486 769 516T825 573T889 634T962 689T1027 716Q1035 717 1060 717Q1083 716 1096 714T1120 705T1131 686Q1131 668 1109 647T1055 626Q1035 626 1026 638T1016 663Q1016 667 1020 679H1015Q971 671 886 589T728 413L688 360Q688 359 725 359H750Q762 359 766 357T770 348Q769 345 761 335T750 322Q748 321 704 321H660Q651 311 632 282T589 199T565 107Q565 25 653 20Q684 20 720 44T779 95T826 152T850 183L856 184Q861 184 865 184Q888 184 888 173Q883 163 845 117Q770 37 723 10T638 -17Q584 -14 554 17T523 101Q523 147 534 167L532 166Q530 164 526 160T518 153Q378 15 256 -15Q250 -16 226 -16Q161 -16 132 7T103 59Q103 93 129 125T194 158Q232 158 232 121Q233 118 233 113T221 96T188 77Q182 75 168 75T150 78V70Q150 43 178 32T241 20Q340 20 527 286L552 321H524Q489 321 489 330Q489 333 497 344T509 358Q511 359 545 359H579Q580 362 597 389T631 445T661 514T675 586Q675 637 645 658T572 680Q506 680 444 632T348 527T314 434Q314 388 361 388H364H366Q380 388 389 390T416 408T457 454Q487 497 505 536T526 594L529 613Q531 615 545 622T560 630Q568 630 573 613T578 577Q578 518 532 455Q504 413 453 382T351 351'], - - // LATIN CAPITAL LETTER Y - 0x59: [716,17,710,57,959,'155 280Q116 280 87 300T57 368Q57 409 87 466T192 589Q269 653 345 684T472 716Q572 716 613 675Q644 644 644 599Q644 585 643 574T637 550T629 529T616 505T600 481T578 450T554 416Q494 330 493 328L480 306Q466 278 466 256Q466 227 492 227H496Q514 227 534 234Q541 237 544 241T571 279L762 559Q777 579 792 595Q818 620 856 646T919 686T946 700Q951 700 955 692T959 677Q959 673 947 665T911 639T866 595Q816 538 749 408T640 225Q574 138 464 61T248 -17Q190 -17 144 1T98 62Q98 81 109 102T131 135Q156 156 183 158Q226 158 226 121Q226 111 224 107Q215 93 196 84T162 74Q154 74 147 77H144V70Q146 41 185 31T263 20Q363 20 493 175L507 192H504Q500 191 498 191Q484 189 476 189Q430 189 405 219T379 287Q379 294 379 299T382 311T385 322T391 335T398 347T408 363T420 379T434 399T450 422Q455 429 469 449T488 475T504 499T520 523T533 543T544 565T552 583T557 603T559 620Q559 680 467 680Q402 680 333 646T213 563T131 462T98 373Q98 343 119 330T169 317Q187 317 212 333Q242 354 291 423T352 555Q354 562 355 588Q355 612 356 612Q357 614 371 622T387 630Q391 630 397 623T409 597T415 556Q415 507 380 448T294 344Q216 280 155 280'], - - // LATIN CAPITAL LETTER Z - 0x5A: [717,16,821,82,1032,'221 428Q221 487 280 555T425 670T583 717H587Q641 717 665 695T689 646Q689 625 674 600T658 564Q658 550 671 541T695 530T710 528L718 539Q779 613 821 646Q894 707 964 707H970Q1010 707 1025 675Q1032 661 1032 645Q1032 626 1022 607Q1008 579 980 560T897 522Q867 512 836 505T788 496L771 493Q768 493 760 477T736 429T702 370Q700 367 698 363Q696 360 696 359H805Q809 355 809 350Q809 340 791 322Q789 321 728 321H668Q562 179 433 88L419 78L434 73Q505 54 554 54Q609 54 654 82T720 140H752Q758 134 758 132Q758 128 747 113Q711 67 657 32T552 -14Q540 -16 517 -16T480 -15T439 -3T375 27L354 38L338 30Q257 -8 191 -8H184Q154 -8 133 -5T103 1T88 10T83 19T83 29Q83 35 86 44T100 65T127 88T173 105T241 112Q286 112 342 99L360 95L372 105Q434 157 523 270L560 320Q560 321 533 321L507 322Q502 325 502 330Q502 339 521 358Q523 359 556 359H588L669 474L682 491Q676 492 665 494T647 498T632 503T614 510T596 521Q556 547 556 570Q556 585 579 618T603 663Q603 679 568 679Q510 679 452 650T354 581T288 500T262 431Q262 407 280 397T321 387Q331 387 341 390T360 398T376 409T390 423T400 435T409 447L414 454Q457 514 460 562Q460 575 461 576Q461 577 475 586T492 595Q496 595 503 588T514 572Q520 559 520 539Q520 473 452 412T308 351Q269 351 245 370T221 428ZM989 642Q989 667 953 671Q905 671 871 644Q853 632 832 604T799 554T787 531H788Q801 531 842 539T916 561Q989 592 989 642ZM198 29Q230 29 257 36T295 52L306 59Q306 63 259 73Q251 74 209 74Q177 74 158 66T134 48L130 40Q130 29 198 29'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Script/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/Main.js deleted file mode 100644 index 068c2d1e..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/Main.js +++ /dev/null @@ -1,60 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Script/Regular/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Script'] = { - directory: 'Script/Regular', - family: 'MathJax_Script', - id: 'MJSCR', - skew: { - 0x41: 0.389, - 0x42: 0.194, - 0x43: 0.278, - 0x44: 0.111, - 0x45: 0.139, - 0x46: 0.222, - 0x47: 0.25, - 0x48: 0.333, - 0x49: 0.333, - 0x4A: 0.417, - 0x4B: 0.361, - 0x4C: 0.306, - 0x4D: 0.444, - 0x4E: 0.389, - 0x4F: 0.167, - 0x50: 0.222, - 0x51: 0.278, - 0x52: 0.194, - 0x53: 0.333, - 0x54: 0.222, - 0x55: 0.25, - 0x56: 0.222, - 0x57: 0.25, - 0x58: 0.278, - 0x59: 0.194, - 0x5A: 0.306 - }, - Ranges: [ - [0x0,0x7F,"BasicLatin"] - ] - - -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Script/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js deleted file mode 100644 index d8be6b2a..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js +++ /dev/null @@ -1,159 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Size1/Regular/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size1'] = { - directory: 'Size1/Regular', - family: 'MathJax_Size1', - id: 'MJSZ1', - - // SPACE - 0x20: [0,0,250,0,0,''], - - // LEFT PARENTHESIS - 0x28: [850,349,458,152,422,'152 251Q152 646 388 850H416Q422 844 422 841Q422 837 403 816T357 753T302 649T255 482T236 250Q236 124 255 19T301 -147T356 -251T403 -315T422 -340Q422 -343 416 -349H388Q359 -325 332 -296T271 -213T212 -97T170 56T152 251'], - - // RIGHT PARENTHESIS - 0x29: [850,349,458,35,305,'305 251Q305 -145 69 -349H56Q43 -349 39 -347T35 -338Q37 -333 60 -307T108 -239T160 -136T204 27T221 250T204 473T160 636T108 740T60 807T35 839Q35 850 50 850H56H69Q197 743 256 566Q305 425 305 251'], - - // SOLIDUS - 0x2F: [850,349,578,55,522,'481 838Q489 850 500 850Q508 850 515 844T522 827Q521 824 311 248T96 -337Q90 -349 77 -349Q68 -349 62 -343T55 -326Q56 -323 266 253T481 838'], - - // LEFT SQUARE BRACKET - 0x5B: [850,349,417,202,394,'202 -349V850H394V810H242V-309H394V-349H202'], - - // REVERSE SOLIDUS - 0x5C: [850,349,578,54,522,'522 -326Q522 -337 515 -343T500 -349Q487 -349 481 -337Q477 -328 267 248T55 827Q54 835 60 842T76 850Q89 850 96 838Q100 829 310 253T522 -326'], - - // RIGHT SQUARE BRACKET - 0x5D: [850,349,417,22,214,'22 810V850H214V-349H22V-309H174V810H22'], - - // LEFT CURLY BRACKET - 0x7B: [851,349,583,105,477,'477 -343L471 -349H458Q432 -349 367 -325T273 -263Q258 -245 250 -212L249 -51Q249 -27 249 12Q248 118 244 128Q243 129 243 130Q220 189 121 228Q109 232 107 235T105 250Q105 256 105 257T105 261T107 265T111 268T118 272T128 276T142 283T162 291Q224 324 243 371Q243 372 244 373Q248 384 249 469Q249 475 249 489Q249 528 249 552L250 714Q253 728 256 736T271 761T299 789T347 816T422 843Q440 849 441 849H443Q445 849 447 849T452 850T457 850H471L477 844V830Q477 820 476 817T470 811T459 807T437 801T404 785Q353 760 338 724Q333 710 333 550Q333 526 333 492T334 447Q334 393 327 368T295 318Q257 280 181 255L169 251L184 245Q318 198 332 112Q333 106 333 -49Q333 -209 338 -223Q351 -255 391 -277T469 -309Q477 -311 477 -329V-343'], - - // RIGHT CURLY BRACKET - 0x7D: [850,349,583,105,477,'110 849L115 850Q120 850 125 850Q151 850 215 826T309 764Q324 747 332 714L333 552Q333 528 333 489Q334 383 338 373Q339 372 339 371Q353 336 391 310T469 271Q477 268 477 251Q477 241 476 237T472 232T456 225T428 214Q357 179 339 130Q339 129 338 128Q334 117 333 32Q333 26 333 12Q333 -27 333 -51L332 -212Q328 -228 323 -240T302 -271T255 -307T175 -338Q139 -349 125 -349T108 -346T105 -329Q105 -314 107 -312T130 -304Q233 -271 248 -209Q249 -203 249 -49V57Q249 106 253 125T273 167Q307 213 398 245L413 251L401 255Q265 300 250 389Q249 395 249 550Q249 710 244 724Q224 774 112 811Q105 813 105 830Q105 845 110 849'], - - // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2C6: [744,-551,556,-8,564,'279 669Q273 669 142 610T9 551L0 569Q-8 585 -8 587Q-8 588 -7 588L12 598Q30 608 66 628T136 666L277 744L564 587L555 569Q549 556 547 554T544 552Q539 555 410 612T279 669'], - - // SMALL TILDE - 0x2DC: [722,-597,556,1,554,'374 597Q337 597 269 627T160 658Q101 658 34 606L24 597L12 611Q1 624 1 626Q1 627 27 648T55 671Q120 722 182 722Q219 722 286 692T395 661Q454 661 521 713L531 722L543 708Q554 695 554 693Q554 692 528 671T500 648Q434 597 374 597'], - - // COMBINING CIRCUMFLEX ACCENT - 0x302: [744,-551,0,-564,8,'-277 669Q-283 669 -414 610T-547 551L-556 569Q-564 585 -564 587Q-564 588 -563 588L-544 598Q-526 608 -490 628T-420 666L-279 744L8 587L-1 569Q-7 556 -9 554T-12 552Q-17 555 -146 612T-277 669'], - - // COMBINING TILDE - 0x303: [722,-597,0,-555,-2,'-182 597Q-219 597 -287 627T-396 658Q-455 658 -522 606L-532 597L-544 611Q-555 624 -555 626Q-555 627 -529 648T-501 671Q-436 722 -374 722Q-337 722 -270 692T-161 661Q-102 661 -35 713L-25 722L-13 708Q-2 695 -2 693Q-2 692 -28 671T-56 648Q-122 597 -182 597'], - - // DOUBLE VERTICAL LINE - 0x2016: [602,0,778,257,521,'257 0V602H300V0H257ZM478 0V602H521V0H478'], - - // UPWARDS ARROW - 0x2191: [600,0,667,112,555,'112 421L120 424Q127 427 136 430T161 441T191 458T224 481T260 510T295 546T328 591L333 600L340 589Q380 527 431 489T555 421V377L543 381Q445 418 368 492L355 504V0H312V504L299 492Q222 418 124 381L112 377V421'], - - // DOWNWARDS ARROW - 0x2193: [600,0,667,112,555,'312 96V600H355V96L368 108Q445 182 543 219L555 223V179L546 176Q538 173 529 169T505 158T475 141T442 119T407 90T372 53T339 9L334 0L327 11Q287 73 236 111T112 179V223L124 219Q222 182 299 108L312 96'], - - // UPWARDS DOUBLE ARROW - 0x21D1: [599,0,778,57,721,'142 329Q300 419 389 599Q389 598 399 579T420 541T452 494T497 438T558 383T636 329T708 294L721 289V246Q718 246 694 256T623 293T532 356L522 364L521 182V0H478V405L466 417Q436 450 389 516Q388 515 378 500T352 463T312 417L300 405V0H257V364L247 356Q202 320 155 293T82 256L57 246V289L70 294Q101 305 142 329'], - - // DOWNWARDS DOUBLE ARROW - 0x21D3: [600,-1,778,57,721,'257 236V600H300V195L312 183Q342 150 389 84Q390 85 400 100T426 137T466 183L478 195V600H521V418L522 236L532 244Q576 280 623 307T696 344L721 354V311L708 306Q677 295 636 271Q478 181 389 1Q389 2 379 21T358 59T326 106T281 162T220 217T142 271T70 306L57 311V354Q60 354 83 345T154 308T247 244L257 236'], - - // N-ARY PRODUCT - 0x220F: [750,250,944,55,888,'158 656Q147 684 131 694Q110 707 69 710H55V750H888V710H874Q840 708 820 698T795 678T786 656V-155Q798 -206 874 -210H888V-250H570V-210H584Q618 -208 638 -197T663 -178T673 -155V710H270V277L271 -155Q283 -206 359 -210H373V-250H55V-210H69Q103 -208 123 -197T148 -178T158 -155V656'], - - // N-ARY COPRODUCT - 0x2210: [750,250,944,55,888,'158 656Q147 684 131 694Q110 707 69 710H55V750H373V710H359Q325 708 305 698T280 678T271 656L270 223V-210H673V656Q666 672 663 679T639 697T584 710H570V750H888V710H874Q840 708 820 698T795 678T786 656V-155Q798 -206 874 -210H888V-250H55V-210H69Q103 -208 123 -197T148 -178T158 -155V656'], - - // N-ARY SUMMATION - 0x2211: [750,250,1056,56,999,'61 748Q64 750 489 750H913L954 640Q965 609 976 579T993 533T999 516H979L959 517Q936 579 886 621T777 682Q724 700 655 705T436 710H319Q183 710 183 709Q186 706 348 484T511 259Q517 250 513 244L490 216Q466 188 420 134T330 27L149 -187Q149 -188 362 -188Q388 -188 436 -188T506 -189Q679 -189 778 -162T936 -43Q946 -27 959 6H999L913 -249L489 -250Q65 -250 62 -248Q56 -246 56 -239Q56 -234 118 -161Q186 -81 245 -11L428 206Q428 207 242 462L57 717L56 728Q56 744 61 748'], - - // SQUARE ROOT - 0x221A: [850,350,1000,111,1020,'263 249Q264 249 315 130T417 -108T470 -228L725 302Q981 837 982 839Q989 850 1001 850Q1008 850 1013 844T1020 832V826L741 243Q645 43 540 -176Q479 -303 469 -324T453 -348Q449 -350 436 -350L424 -349L315 -96Q206 156 205 156L171 130Q138 104 137 104L111 130L263 249'], - - // DIVIDES - 0x2223: [627,15,333,144,188,'146 612Q151 627 166 627Q182 627 187 612Q188 610 188 306T187 0Q184 -15 166 -15Q149 -15 146 0V10Q146 19 146 35T146 73T146 122T145 179T145 241T145 306T145 370T145 433T145 489T146 538T146 576T146 602V612'], - - // PARALLEL TO - 0x2225: [627,15,556,144,410,'146 612Q151 627 166 627Q182 627 187 612Q188 610 188 306T187 0Q184 -15 166 -15Q149 -15 146 0V10Q146 19 146 35T146 73T146 122T145 179T145 241T145 306T145 370T145 433T145 489T146 538T146 576T146 602V612ZM368 612Q373 627 388 627Q404 627 409 612Q410 610 410 306T409 0Q406 -15 389 -15Q371 -15 368 0V10Q368 19 368 35T368 73T368 122T367 179T367 241T367 306T367 370T367 433T367 489T368 538T368 576T368 602V612'], - - // INTEGRAL - 0x222B: [805,306,472,55,610,'113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q220 -247 232 -218T251 -133T262 -15T276 155T297 367Q300 390 305 438T314 512T325 580T340 647T361 703T390 751T428 784T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q475 768 460 756T434 716T418 652T407 559T398 444T387 300T369 133Q349 -38 337 -102T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244'], - - // DOUBLE INTEGRAL - 0x222C: [805,306,819,55,957,'113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q220 -247 232 -218T251 -133T262 -15T276 155T297 367Q300 390 305 438T314 512T325 580T340 647T361 703T390 751T428 784T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q475 768 460 756T434 716T418 652T407 559T398 444T387 300T369 133Q349 -38 337 -102T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244ZM460 -244Q460 -246 466 -251T486 -263T514 -269Q532 -269 546 -260Q567 -247 579 -218T598 -133T609 -15T623 155T644 367Q647 390 652 438T661 512T672 580T687 647T708 703T737 751T775 784T826 804Q828 804 835 804T848 805Q899 802 928 769T957 695Q957 669 941 657T908 645Q889 645 874 658T859 694Q859 705 863 714T873 729T885 737T895 742L899 743Q899 745 892 751T872 762T845 768Q822 768 807 756T781 716T765 652T754 559T745 444T734 300T716 133Q696 -38 684 -102T650 -207Q603 -306 516 -306Q466 -306 434 -272T402 -196Q402 -170 418 -158T451 -146Q470 -146 485 -159T500 -195Q500 -206 496 -215T486 -230T474 -238T464 -242L460 -244'], - - // TRIPLE INTEGRAL - 0x222D: [805,306,1166,55,1304,'113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q220 -247 232 -218T251 -133T262 -15T276 155T297 367Q300 390 305 438T314 512T325 580T340 647T361 703T390 751T428 784T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q475 768 460 756T434 716T418 652T407 559T398 444T387 300T369 133Q349 -38 337 -102T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244ZM460 -244Q460 -246 466 -251T486 -263T514 -269Q532 -269 546 -260Q567 -247 579 -218T598 -133T609 -15T623 155T644 367Q647 390 652 438T661 512T672 580T687 647T708 703T737 751T775 784T826 804Q828 804 835 804T848 805Q899 802 928 769T957 695Q957 669 941 657T908 645Q889 645 874 658T859 694Q859 705 863 714T873 729T885 737T895 742L899 743Q899 745 892 751T872 762T845 768Q822 768 807 756T781 716T765 652T754 559T745 444T734 300T716 133Q696 -38 684 -102T650 -207Q603 -306 516 -306Q466 -306 434 -272T402 -196Q402 -170 418 -158T451 -146Q470 -146 485 -159T500 -195Q500 -206 496 -215T486 -230T474 -238T464 -242L460 -244ZM807 -244Q807 -246 813 -251T833 -263T861 -269Q880 -269 893 -260Q914 -247 926 -218T945 -133T956 -15T970 155T991 367Q994 390 999 438T1008 512T1019 580T1034 647T1055 703T1084 751T1122 784T1173 804Q1175 804 1182 804T1195 805Q1246 802 1275 769T1304 695Q1304 669 1288 657T1255 645Q1236 645 1221 658T1206 694Q1206 705 1210 714T1220 729T1232 737T1242 742L1246 743Q1246 745 1239 751T1219 762T1192 768Q1169 768 1154 756T1128 716T1112 652T1101 559T1092 444T1081 300T1063 133Q1043 -38 1031 -102T997 -207Q950 -306 863 -306Q813 -306 781 -272T749 -196Q749 -170 765 -158T798 -146Q817 -146 832 -159T847 -195Q847 -206 843 -215T833 -230T821 -238T811 -242L807 -244'], - - // CONTOUR INTEGRAL - 0x222E: [805,306,472,55,610,'269 74L256 80Q244 85 227 97T191 128T161 179T148 250Q148 332 199 379T302 433L306 434L307 444Q309 456 313 495T321 553T331 607T345 664T365 712T393 756T431 785T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q471 768 454 752T427 693T414 626T406 536Q405 530 405 527L397 425L404 422Q410 419 421 413T445 399T470 376T494 345T511 303T518 250Q518 205 502 169T460 112T410 80T364 66L360 65L359 55Q357 38 353 4T346 -43T340 -81T333 -118T326 -148T316 -179T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q231 -241 242 -183T266 33L269 74ZM272 122Q272 156 300 391Q300 392 299 392Q287 392 263 379T213 331T187 249Q187 211 205 180T239 137T272 116V122ZM366 107Q378 107 402 119T453 167T479 249Q479 340 394 383V377Q394 375 394 374T393 371T393 366T392 357T391 342T389 321T386 291T382 251T377 199T369 133Q366 112 366 107'], - - // N-ARY LOGICAL AND - 0x22C0: [750,249,833,55,777,'119 -249T97 -249T65 -235T55 -207Q55 -201 56 -198Q58 -190 218 268T380 729Q392 750 416 750Q438 750 451 732Q453 728 534 498T695 36L775 -194Q777 -204 777 -208Q777 -222 767 -235T735 -249Q713 -249 700 -231Q696 -225 557 177L416 579L276 177Q136 -226 132 -231Q119 -249 97 -249'], - - // N-ARY LOGICAL OR - 0x22C1: [750,249,833,55,777,'55 708Q55 729 68 739T96 750Q119 750 132 731Q136 726 276 323L416 -79L557 323Q696 725 700 731Q713 749 735 749Q756 749 766 736T777 708Q777 700 696 466T533 1T451 -232Q436 -249 416 -249Q402 -249 391 -241Q384 -236 380 -226Q368 -198 219 230Q55 697 55 708'], - - // N-ARY INTERSECTION - 0x22C2: [750,249,833,54,777,'139 -217Q127 -241 114 -246Q106 -249 97 -249Q67 -249 57 -220Q55 -214 55 102Q55 152 55 221T54 312Q54 422 60 464T91 554Q120 612 165 654T257 714T337 741T392 749Q393 750 402 750Q414 750 422 749Q557 749 660 659T776 430Q777 422 777 102Q777 -214 775 -220Q765 -249 735 -249Q716 -249 708 -241T694 -217L692 428L690 441Q674 540 597 603T416 666H409Q388 666 364 662T294 638T212 581Q156 523 142 441L140 428L139 105V-217'], - - // N-ARY UNION - 0x22C3: [750,249,833,55,777,'96 750Q103 750 109 748T120 744T127 737T133 730T137 723T139 718V395L140 73L142 60Q159 -43 237 -104T416 -166Q521 -166 597 -103T690 60L692 73L694 718Q708 749 735 749Q765 749 775 720Q777 714 777 398Q777 78 776 71Q766 -51 680 -140Q571 -249 416 -249H411Q261 -249 152 -140Q66 -51 56 71Q55 78 55 398Q55 714 57 720Q60 734 70 740Q80 750 96 750'], - - // LEFT CEILING - 0x2308: [850,349,472,202,449,'202 -349V850H449V810H242V-349H202'], - - // RIGHT CEILING - 0x2309: [850,349,472,22,269,'22 810V850H269V-349H229V810H22'], - - // LEFT FLOOR - 0x230A: [850,349,472,202,449,'202 -349V850H242V-309H449V-349H202'], - - // RIGHT FLOOR - 0x230B: [850,349,472,22,269,'229 -309V850H269V-349H22V-309H229'], - - // VERTICAL LINE EXTENSION (used to extend arrows) - 0x23D0: [602,0,667,312,355,'312 0V602H355V0H312'], - - // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E8: [850,350,472,96,394,'373 850Q392 850 394 832Q394 825 267 538L139 250L267 -38Q394 -325 394 -332Q392 -350 375 -350Q361 -350 356 -338Q354 -331 289 -186T161 103T97 250T160 397T289 685T356 838Q362 850 373 850'], - - // MATHEMATICAL RIGHT ANGLE BRACKET - 0x27E9: [850,350,472,77,375,'77 832Q77 837 82 843T98 850Q110 849 115 838Q117 831 182 686T310 397T374 250T311 103T182 -185T115 -338Q110 -350 96 -350Q79 -350 77 -332Q77 -325 204 -38L332 250L204 538Q77 825 77 832'], - - // N-ARY CIRCLED DOT OPERATOR - 0x2A00: [750,250,1111,56,1054,'555 -250Q420 -250 306 -185T124 -4T56 250Q56 453 193 595T526 749Q528 750 539 750Q554 750 562 749Q688 749 800 687T983 508T1054 250Q1054 112 987 -3T806 -184T555 -250ZM555 -165Q672 -165 767 -108T916 44T970 250Q970 418 861 532T600 664Q591 665 548 665Q446 665 353 614T200 466T140 250V243Q140 88 248 -30Q262 -46 280 -62T338 -105T434 -148T555 -165ZM478 250Q478 288 503 307T551 326Q586 326 609 305T632 250Q632 217 610 196T555 174T500 196T478 250'], - - // N-ARY CIRCLED PLUS OPERATOR - 0x2A01: [750,250,1111,56,1054,'555 -250Q420 -250 306 -185T124 -4T56 250Q56 453 193 595T526 749Q528 750 539 750Q554 750 562 749Q688 749 800 687T983 508T1054 250Q1054 112 987 -3T806 -184T555 -250ZM513 478Q513 664 512 664Q504 664 481 660T406 637T313 588Q281 564 255 537T211 483T181 431T161 382T150 342T144 310T141 292H513V478ZM798 588Q758 616 711 634T639 658T602 663L597 664V292H969Q969 293 967 309T960 341T949 381T930 430T900 482T856 537T798 588ZM513 -164V208H141Q142 205 144 189T149 160T158 125T173 83T196 39T229 -9Q249 -34 273 -55T318 -92T363 -119T405 -138T444 -150T475 -158T499 -162T513 -164ZM775 -103Q801 -87 823 -68T863 -30T894 10T919 49T937 88T950 123T959 154T964 180T968 198L969 208H597V-164Q599 -163 616 -161T647 -155T683 -145T728 -128T775 -103'], - - // N-ARY CIRCLED TIMES OPERATOR - 0x2A02: [750,250,1111,56,1054,'555 -250Q420 -250 306 -185T124 -4T56 250Q56 453 193 595T526 749Q528 750 539 750Q554 750 562 749Q688 749 800 687T983 508T1054 250Q1054 112 987 -3T806 -184T555 -250ZM600 664Q591 665 548 665Q414 665 306 583L292 573L423 441L555 310L687 441L818 573L804 583Q714 650 600 664ZM364 118L495 250L364 382L232 513L223 500Q140 391 140 250Q140 107 223 0L232 -13L364 118ZM970 250Q970 389 887 501L878 512Q878 513 861 496T812 447T746 381L615 250L746 118L878 -13L887 0Q970 109 970 250ZM687 59L555 190L423 59L292 -73L306 -83Q416 -166 555 -166T804 -83L818 -73L687 59'], - - // N-ARY UNION OPERATOR WITH PLUS - 0x2A04: [750,249,833,55,777,'96 750Q103 750 109 748T120 744T127 737T133 730T137 723T139 718V395L140 73L142 60Q159 -43 237 -104T416 -166Q521 -166 597 -103T690 60L692 73L694 718Q708 749 735 749Q765 749 775 720Q777 714 777 398Q777 78 776 71Q766 -51 680 -140Q571 -249 416 -249H411Q261 -249 152 -140Q66 -51 56 71Q55 78 55 398Q55 714 57 720Q60 734 70 740Q80 750 96 750ZM223 276Q223 282 224 287T227 296T232 302T238 308T243 313T250 316L254 319H374V376V406Q374 438 382 454T418 470Q443 467 450 453T458 410V376V319H579Q580 319 583 317T589 313T594 308T600 302T604 295T608 287T609 276Q609 253 587 241Q577 235 513 235H458V178Q458 176 458 166T459 148Q459 84 415 84Q401 84 390 93T375 117Q374 120 374 178V235H319Q317 235 307 235T290 234Q223 234 223 276'], - - // N-ARY SQUARE UNION OPERATOR - 0x2A06: [750,249,833,55,777,'777 -217Q766 -244 745 -249H88Q64 -242 57 -220Q55 -214 55 250T57 720Q60 734 70 740Q80 750 96 750Q127 750 137 720Q139 714 139 274V-166H693V274Q693 714 695 720Q705 749 735 749Q766 749 775 719Q777 713 777 248V-217'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size1/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js deleted file mode 100644 index 7231c53e..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js +++ /dev/null @@ -1,135 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Size2/Regular/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size2'] = { - directory: 'Size2/Regular', - family: 'MathJax_Size2', - id: 'MJSZ2', - - // SPACE - 0x20: [0,0,250,0,0,''], - - // LEFT PARENTHESIS - 0x28: [1150,649,597,180,561,'180 96T180 250T205 541T266 770T353 944T444 1069T527 1150H555Q561 1144 561 1141Q561 1137 545 1120T504 1072T447 995T386 878T330 721T288 513T272 251Q272 133 280 56Q293 -87 326 -209T399 -405T475 -531T536 -609T561 -640Q561 -643 555 -649H527Q483 -612 443 -568T353 -443T266 -270T205 -41'], - - // RIGHT PARENTHESIS - 0x29: [1150,649,597,35,417,'35 1138Q35 1150 51 1150H56H69Q113 1113 153 1069T243 944T330 771T391 541T416 250T391 -40T330 -270T243 -443T152 -568T69 -649H56Q43 -649 39 -647T35 -637Q65 -607 110 -548Q283 -316 316 56Q324 133 324 251Q324 368 316 445Q278 877 48 1123Q36 1137 35 1138'], - - // SOLIDUS - 0x2F: [1150,649,811,56,754,'78 -649Q56 -646 56 -625Q56 -614 382 261T712 1140Q716 1150 732 1150Q754 1147 754 1126Q754 1116 428 240T98 -639Q94 -649 78 -649'], - - // LEFT SQUARE BRACKET - 0x5B: [1150,649,472,224,455,'224 -649V1150H455V1099H275V-598H455V-649H224'], - - // REVERSE SOLIDUS - 0x5C: [1150,649,811,54,754,'754 -625Q754 -649 731 -649Q715 -649 712 -639Q709 -635 383 242T55 1124Q54 1135 61 1142T80 1150Q92 1150 98 1140Q101 1137 427 262T754 -625'], - - // RIGHT SQUARE BRACKET - 0x5D: [1150,649,472,16,247,'16 1099V1150H247V-649H16V-598H196V1099H16'], - - // LEFT CURLY BRACKET - 0x7B: [1150,649,667,119,547,'547 -643L541 -649H528Q515 -649 503 -645Q324 -582 293 -466Q289 -449 289 -428T287 -200L286 42L284 53Q274 98 248 135T196 190T146 222L121 235Q119 239 119 250Q119 262 121 266T133 273Q262 336 284 449L286 460L287 701Q287 737 287 794Q288 949 292 963Q293 966 293 967Q325 1080 508 1148Q516 1150 527 1150H541L547 1144V1130Q547 1117 546 1115T536 1109Q480 1086 437 1046T381 950L379 940L378 699Q378 657 378 594Q377 452 374 438Q373 437 373 436Q350 348 243 282Q192 257 186 254L176 251L188 245Q211 236 234 223T287 189T340 135T373 65Q373 64 374 63Q377 49 378 -93Q378 -156 378 -198L379 -438L381 -449Q393 -504 436 -544T536 -608Q544 -611 545 -613T547 -629V-643'], - - // RIGHT CURLY BRACKET - 0x7D: [1150,649,667,119,547,'119 1130Q119 1144 121 1147T135 1150H139Q151 1150 182 1138T252 1105T326 1046T373 964Q378 942 378 702Q378 469 379 462Q386 394 439 339Q482 296 535 272Q544 268 545 266T547 251Q547 241 547 238T542 231T531 227T510 217T477 194Q390 129 379 39Q378 32 378 -201Q378 -441 373 -463Q342 -580 165 -644Q152 -649 139 -649Q125 -649 122 -646T119 -629Q119 -622 119 -619T121 -614T124 -610T132 -607T143 -602Q195 -579 235 -539T285 -447Q286 -435 287 -199T289 51Q294 74 300 91T329 138T390 197Q412 213 436 226T475 244L489 250L472 258Q455 265 430 279T377 313T327 366T293 434Q289 451 289 472T287 699Q286 941 285 948Q279 978 262 1005T227 1048T184 1080T151 1100T129 1109L127 1110Q119 1113 119 1130'], - - // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2C6: [772,-565,1000,-5,1004,'1004 603Q1004 600 999 583T991 565L960 574Q929 582 866 599T745 631L500 698Q497 698 254 631Q197 616 134 599T39 574L8 565Q5 565 0 582T-5 603L26 614Q58 624 124 646T248 687L499 772Q999 604 1004 603'], - - // SMALL TILDE - 0x2DC: [750,-611,1000,0,999,'296 691Q258 691 216 683T140 663T79 639T34 619T16 611Q13 619 8 628L0 644L36 662Q206 749 321 749Q410 749 517 710T703 670Q741 670 783 678T859 698T920 722T965 742T983 750Q986 742 991 733L999 717L963 699Q787 611 664 611Q594 611 484 651T296 691'], - - // COMBINING CIRCUMFLEX ACCENT - 0x302: [772,-565,0,-1005,4,'4 603Q4 600 -1 583T-9 565L-40 574Q-71 582 -134 599T-255 631L-500 698Q-503 698 -746 631Q-803 616 -866 599T-961 574L-992 565Q-995 565 -1000 582T-1005 603L-974 614Q-942 624 -876 646T-752 687L-501 772Q-1 604 4 603'], - - // COMBINING TILDE - 0x303: [750,-611,0,-1000,-1,'-704 691Q-742 691 -784 683T-860 663T-921 639T-966 619T-984 611Q-987 619 -992 628L-1000 644L-964 662Q-794 749 -679 749Q-590 749 -483 710T-297 670Q-259 670 -217 678T-141 698T-80 722T-35 742T-17 750Q-14 742 -9 733L-1 717L-37 699Q-213 611 -336 611Q-405 611 -515 651T-704 691'], - - // N-ARY PRODUCT - 0x220F: [950,450,1278,56,1221,'220 812Q220 813 218 819T214 829T208 840T199 853T185 866T166 878T140 887T107 893T66 896H56V950H1221V896H1211Q1080 896 1058 812V-311Q1076 -396 1211 -396H1221V-450H725V-396H735Q864 -396 888 -314Q889 -312 889 -311V896H388V292L389 -311Q405 -396 542 -396H552V-450H56V-396H66Q195 -396 219 -314Q220 -312 220 -311V812'], - - // N-ARY COPRODUCT - 0x2210: [950,450,1278,56,1221,'220 812Q220 813 218 819T214 829T208 840T199 853T185 866T166 878T140 887T107 893T66 896H56V950H552V896H542Q411 896 389 812L388 208V-396H889V812Q889 813 887 819T883 829T877 840T868 853T854 866T835 878T809 887T776 893T735 896H725V950H1221V896H1211Q1080 896 1058 812V-311Q1076 -396 1211 -396H1221V-450H56V-396H66Q195 -396 219 -314Q220 -312 220 -311V812'], - - // N-ARY SUMMATION - 0x2211: [950,450,1444,55,1388,'60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948'], - - // SQUARE ROOT - 0x221A: [1150,650,1000,111,1020,'1001 1150Q1017 1150 1020 1132Q1020 1127 741 244L460 -643Q453 -650 436 -650H424Q423 -647 423 -645T421 -640T419 -631T415 -617T408 -594T399 -560T385 -512T367 -448T343 -364T312 -259L203 119L138 41L111 67L212 188L264 248L472 -474L983 1140Q988 1150 1001 1150'], - - // INTEGRAL - 0x222B: [1361,862,556,55,944,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q439 292 523 655T645 1127Q651 1145 655 1157T672 1201T699 1257T733 1306T777 1346T828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q819 1323 807 1311T775 1255T736 1139T689 936T633 628Q574 293 510 -5T410 -437T355 -629Q278 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798'], - - // DOUBLE INTEGRAL - 0x222C: [1361,862,1084,55,1472,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q439 292 523 655T645 1127Q651 1145 655 1157T672 1201T699 1257T733 1306T777 1346T828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q819 1323 807 1311T775 1255T736 1139T689 936T633 628Q574 293 510 -5T410 -437T355 -629Q278 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798ZM642 -798Q660 -824 693 -824H695Q723 -824 751 -764T803 -600T848 -391T890 -164Q893 -143 895 -133Q967 292 1051 655T1173 1127Q1179 1145 1183 1157T1200 1201T1227 1257T1261 1306T1305 1346T1356 1360Q1412 1360 1440 1325T1472 1245Q1472 1220 1460 1205T1437 1186T1415 1183Q1394 1183 1377 1198T1360 1239Q1360 1287 1413 1296L1410 1300Q1407 1303 1402 1307T1394 1313Q1379 1323 1361 1323Q1347 1323 1335 1311T1303 1255T1264 1139T1217 936T1161 628Q1102 293 1038 -5T938 -437T883 -629Q806 -862 693 -862Q653 -862 620 -831T583 -746Q583 -711 602 -698T640 -685Q661 -685 678 -700T695 -741Q695 -789 642 -798'], - - // TRIPLE INTEGRAL - 0x222D: [1361,862,1592,55,1980,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q439 292 523 655T645 1127Q651 1145 655 1157T672 1201T699 1257T733 1306T777 1346T828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q819 1323 807 1311T775 1255T736 1139T689 936T633 628Q574 293 510 -5T410 -437T355 -629Q278 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798ZM642 -798Q660 -824 693 -824H695Q723 -824 751 -764T803 -600T848 -391T890 -164Q893 -143 895 -133Q967 292 1051 655T1173 1127Q1179 1145 1183 1157T1200 1201T1227 1257T1261 1306T1305 1346T1356 1360Q1412 1360 1440 1325T1472 1245Q1472 1220 1460 1205T1437 1186T1415 1183Q1394 1183 1377 1198T1360 1239Q1360 1287 1413 1296L1410 1300Q1407 1303 1402 1307T1394 1313Q1379 1323 1361 1323Q1347 1323 1335 1311T1303 1255T1264 1139T1217 936T1161 628Q1102 293 1038 -5T938 -437T883 -629Q806 -862 693 -862Q653 -862 620 -831T583 -746Q583 -711 602 -698T640 -685Q661 -685 678 -700T695 -741Q695 -789 642 -798ZM1150 -798Q1168 -824 1201 -824H1203Q1231 -824 1259 -764T1311 -600T1356 -391T1398 -164Q1401 -143 1403 -133Q1475 292 1559 655T1681 1127Q1687 1145 1691 1157T1708 1201T1735 1257T1769 1306T1813 1346T1864 1360Q1920 1360 1948 1325T1980 1245Q1980 1220 1968 1205T1945 1186T1923 1183Q1902 1183 1885 1198T1868 1239Q1868 1287 1921 1296L1918 1300Q1915 1303 1910 1307T1902 1313Q1887 1323 1869 1323Q1855 1323 1843 1311T1811 1255T1772 1139T1725 936T1669 628Q1610 293 1546 -5T1446 -437T1391 -629Q1314 -862 1201 -862Q1161 -862 1128 -831T1091 -746Q1091 -711 1110 -698T1148 -685Q1169 -685 1186 -700T1203 -741Q1203 -789 1150 -798'], - - // CONTOUR INTEGRAL - 0x222E: [1360,862,556,55,944,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q382 -52 390 2Q314 40 276 99Q230 167 230 249Q230 363 305 436T484 519H494L503 563Q587 939 632 1087T727 1298Q774 1360 828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q766 1323 688 929Q662 811 610 496Q770 416 770 249Q770 147 701 68T516 -21H506L497 -65Q407 -464 357 -623T237 -837Q203 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798ZM480 478Q460 478 435 470T380 444T327 401T287 335T271 249Q271 124 375 56L397 43L431 223L485 478H480ZM519 20Q545 20 578 33T647 72T706 144T730 249Q730 383 603 455Q603 454 597 421T582 343T569 276Q516 22 515 20H519'], - - // N-ARY LOGICAL AND - 0x22C0: [950,450,1111,55,1055,'1055 -401Q1055 -419 1042 -434T1007 -450Q977 -450 963 -423Q959 -417 757 167L555 750L353 167Q151 -417 147 -423Q134 -450 104 -450Q84 -450 70 -436T55 -401Q55 -394 56 -390Q59 -381 284 270T512 925Q525 950 555 950Q583 950 597 926Q599 923 825 270T1054 -391Q1055 -394 1055 -401'], - - // N-ARY LOGICAL OR - 0x22C1: [950,450,1111,55,1055,'55 900Q55 919 69 934T103 950Q134 950 147 924Q152 913 353 333L555 -250L757 333Q958 913 963 924Q978 950 1007 950Q1028 950 1041 935T1055 901Q1055 894 1054 891Q1052 884 826 231T597 -426Q583 -450 556 -450Q527 -450 512 -424Q510 -421 285 229T56 890Q55 893 55 900'], - - // N-ARY INTERSECTION - 0x22C2: [949,451,1111,55,1055,'57 516Q68 602 104 675T190 797T301 882T423 933T542 949Q594 949 606 948Q780 928 901 815T1048 545Q1053 516 1053 475T1055 49Q1055 -406 1054 -410Q1051 -427 1037 -438T1006 -450T976 -439T958 -411Q957 -407 957 37Q957 484 956 494Q945 643 831 747T554 852Q481 852 411 826Q301 786 232 696T154 494Q153 484 153 37Q153 -407 152 -411Q148 -428 135 -439T104 -450T73 -439T56 -410Q55 -406 55 49Q56 505 57 516'], - - // N-ARY UNION - 0x22C3: [950,449,1111,55,1055,'56 911Q58 926 71 938T103 950Q120 950 134 939T152 911Q153 907 153 463Q153 16 154 6Q165 -143 279 -247T556 -352Q716 -352 830 -248T956 6Q957 16 957 463Q957 907 958 911Q962 928 975 939T1006 950T1037 939T1054 911Q1055 906 1055 451Q1054 -5 1053 -16Q1029 -207 889 -328T555 -449Q363 -449 226 -331T62 -45Q57 -16 57 25T55 451Q55 906 56 911'], - - // LEFT CEILING - 0x2308: [1150,649,528,224,511,'224 -649V1150H511V1099H275V-649H224'], - - // RIGHT CEILING - 0x2309: [1150,649,528,16,303,'16 1099V1150H303V-649H252V1099H16'], - - // LEFT FLOOR - 0x230A: [1150,649,528,224,511,'224 -649V1150H275V-598H511V-649H224'], - - // RIGHT FLOOR - 0x230B: [1150,649,528,16,303,'252 -598V1150H303V-649H16V-598H252'], - - // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E8: [1150,649,611,112,524,'112 244V258L473 1130Q482 1150 498 1150Q511 1150 517 1142T523 1125V1118L344 685Q304 587 257 473T187 305L165 251L344 -184L523 -616V-623Q524 -634 517 -641T499 -649Q484 -649 473 -629L112 244'], - - // MATHEMATICAL RIGHT ANGLE BRACKET - 0x27E9: [1150,649,611,85,498,'112 -649Q103 -649 95 -642T87 -623V-616L266 -184L445 251Q445 252 356 466T178 898T86 1123Q85 1134 93 1142T110 1150Q126 1150 133 1137Q134 1136 317 695L498 258V244L317 -194Q134 -635 133 -636Q126 -649 112 -649'], - - // N-ARY CIRCLED DOT OPERATOR - 0x2A00: [949,449,1511,56,1454,'668 944Q697 949 744 949Q803 949 814 948Q916 937 1006 902T1154 826T1262 730T1336 638T1380 563Q1454 415 1454 250Q1454 113 1402 -14T1258 -238T1036 -391T755 -449Q608 -449 477 -392T255 -240T110 -16T56 250Q56 387 105 510T239 723T434 871T668 944ZM755 -352Q922 -352 1061 -269T1278 -48T1356 250Q1356 479 1202 652T809 850Q798 851 747 851Q634 851 527 806T337 682T204 491T154 251Q154 128 201 17T329 -176T521 -304T755 -352ZM665 250Q665 290 692 315T758 341Q792 339 818 315T845 250Q845 211 819 186T755 160Q716 160 691 186T665 250'], - - // N-ARY CIRCLED PLUS OPERATOR - 0x2A01: [949,449,1511,56,1454,'668 944Q697 949 744 949Q803 949 814 948Q916 937 1006 902T1154 826T1262 730T1336 638T1380 563Q1454 415 1454 250Q1454 113 1402 -14T1258 -238T1036 -391T755 -449Q608 -449 477 -392T255 -240T110 -16T56 250Q56 387 105 510T239 723T434 871T668 944ZM706 299V850H704Q519 832 386 725T198 476Q181 433 169 379T156 300Q156 299 431 299H706ZM1116 732Q1054 778 982 807T871 842T810 849L804 850V299H1079Q1354 299 1354 300Q1354 311 1352 329T1336 402T1299 506T1228 620T1116 732ZM706 -350V201H431Q156 201 156 200Q156 189 158 171T174 98T211 -6T282 -120T395 -232Q428 -257 464 -277T527 -308T587 -328T636 -339T678 -346T706 -350ZM1354 200Q1354 201 1079 201H804V-350Q808 -349 838 -345T887 -338T940 -323T1010 -295Q1038 -282 1067 -265T1144 -208T1229 -121T1301 0T1349 158Q1354 188 1354 200'], - - // N-ARY CIRCLED TIMES OPERATOR - 0x2A02: [949,449,1511,56,1454,'668 944Q697 949 744 949Q803 949 814 948Q916 937 1006 902T1154 826T1262 730T1336 638T1380 563Q1454 415 1454 250Q1454 113 1402 -14T1258 -238T1036 -391T755 -449Q608 -449 477 -392T255 -240T110 -16T56 250Q56 387 105 510T239 723T434 871T668 944ZM1143 709Q1138 714 1129 722T1086 752T1017 791T925 826T809 850Q798 851 747 851H728Q659 851 571 823T408 741Q367 713 367 709L755 320L1143 709ZM297 639Q296 639 282 622T247 570T205 491T169 382T154 250T168 118T204 9T247 -70T282 -122L297 -139L685 250L297 639ZM1213 -139Q1214 -139 1228 -122T1263 -70T1305 9T1341 118T1356 250T1342 382T1306 491T1263 570T1228 622L1213 639L825 250L1213 -139ZM367 -209Q373 -215 384 -224T434 -258T514 -302T622 -336T755 -352T887 -338T996 -302T1075 -259T1126 -224L1143 -209L755 180Q754 180 561 -14T367 -209'], - - // N-ARY UNION OPERATOR WITH PLUS - 0x2A04: [950,449,1111,55,1055,'56 911Q58 926 71 938T103 950Q120 950 134 939T152 911Q153 907 153 463Q153 16 154 6Q165 -143 279 -247T556 -352Q716 -352 830 -248T956 6Q957 16 957 463Q957 907 958 911Q962 928 975 939T1006 950T1037 939T1054 911Q1055 906 1055 451Q1054 -5 1053 -16Q1029 -207 889 -328T555 -449Q363 -449 226 -331T62 -45Q57 -16 57 25T55 451Q55 906 56 911ZM507 554Q511 570 523 581T554 593Q571 593 585 582T603 554Q604 551 604 443V338H709Q817 338 820 337Q835 334 847 321T859 290Q859 254 819 241Q816 240 709 240H604V134Q604 48 604 34T598 11Q583 -15 555 -15Q526 -15 512 11Q507 20 507 34T506 134V240H401H344Q292 240 278 246Q251 259 251 290Q251 309 264 321T290 337Q293 338 401 338H506V443Q506 551 507 554'], - - // N-ARY SQUARE UNION OPERATOR - 0x2A06: [950,450,1111,54,1056,'56 911Q60 927 72 938T103 950Q120 950 134 939T152 911Q153 907 153 277V-352H957V277Q957 907 958 911Q962 928 975 939T1006 950T1036 939T1054 911V891Q1054 871 1054 836T1054 754T1054 647T1055 525T1055 390T1055 250T1055 111T1055 -24T1055 -147T1054 -253T1054 -335T1054 -391V-411Q1047 -442 1016 -449Q1011 -450 552 -450L94 -449Q63 -439 56 -411V-391Q56 -371 56 -336T56 -254T56 -147T55 -25T55 110T55 250T55 389T55 524T55 647T56 753T56 835T56 891V911'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size2/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js deleted file mode 100644 index 1df91b6a..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js +++ /dev/null @@ -1,87 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Size3/Regular/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size3'] = { - directory: 'Size3/Regular', - family: 'MathJax_Size3', - id: 'MJSZ3', - - // SPACE - 0x20: [0,0,250,0,0,''], - - // LEFT PARENTHESIS - 0x28: [1450,949,736,208,701,'701 -940Q701 -943 695 -949H664Q662 -947 636 -922T591 -879T537 -818T475 -737T412 -636T350 -511T295 -362T250 -186T221 17T209 251Q209 962 573 1361Q596 1386 616 1405T649 1437T664 1450H695Q701 1444 701 1441Q701 1436 681 1415T629 1356T557 1261T476 1118T400 927T340 675T308 359Q306 321 306 250Q306 -139 400 -430T690 -924Q701 -936 701 -940'], - - // RIGHT PARENTHESIS - 0x29: [1450,949,736,34,527,'34 1438Q34 1446 37 1448T50 1450H56H71Q73 1448 99 1423T144 1380T198 1319T260 1238T323 1137T385 1013T440 864T485 688T514 485T526 251Q526 134 519 53Q472 -519 162 -860Q139 -885 119 -904T86 -936T71 -949H56Q43 -949 39 -947T34 -937Q88 -883 140 -813Q428 -430 428 251Q428 453 402 628T338 922T245 1146T145 1309T46 1425Q44 1427 42 1429T39 1433T36 1436L34 1438'], - - // SOLIDUS - 0x2F: [1450,949,1044,55,988,'81 -949Q71 -949 63 -941T55 -921Q55 -917 56 -915Q59 -906 498 264T939 1438Q945 1450 960 1450Q972 1450 980 1441T988 1421Q982 1403 839 1020L398 -155Q107 -934 103 -938Q96 -949 81 -949'], - - // LEFT SQUARE BRACKET - 0x5B: [1450,949,528,247,516,'247 -949V1450H516V1388H309V-887H516V-949H247'], - - // REVERSE SOLIDUS - 0x5C: [1450,949,1044,56,988,'988 -922Q988 -933 980 -941T962 -949Q947 -949 940 -938Q936 -934 645 -155L204 1020Q56 1416 56 1424Q56 1433 62 1441T84 1450Q97 1448 103 1439Q107 1435 398 656L839 -519Q988 -918 988 -922'], - - // RIGHT SQUARE BRACKET - 0x5D: [1450,949,528,11,280,'11 1388V1450H280V-949H11V-887H218V1388H11'], - - // LEFT CURLY BRACKET - 0x7B: [1450,949,750,130,618,'618 -943L612 -949H582L568 -943Q472 -903 411 -841T332 -703Q327 -682 327 -653T325 -350Q324 -28 323 -18Q317 24 301 61T264 124T221 171T179 205T147 225T132 234Q130 238 130 250Q130 255 130 258T131 264T132 267T134 269T139 272T144 275Q207 308 256 367Q310 436 323 519Q324 529 325 851Q326 1124 326 1154T332 1205Q369 1358 566 1443L582 1450H612L618 1444V1429Q618 1413 616 1411L608 1406Q599 1402 585 1393T552 1372T515 1343T479 1305T449 1257T429 1200Q425 1180 425 1152T423 851Q422 579 422 549T416 498Q407 459 388 424T346 364T297 318T250 284T214 264T197 254L188 251L205 242Q290 200 345 138T416 3Q421 -18 421 -48T423 -349Q423 -397 423 -472Q424 -677 428 -694Q429 -697 429 -699Q434 -722 443 -743T465 -782T491 -816T519 -845T548 -868T574 -886T595 -899T610 -908L616 -910Q618 -912 618 -928V-943'], - - // RIGHT CURLY BRACKET - 0x7D: [1450,949,750,131,618,'131 1414T131 1429T133 1447T148 1450H153H167L182 1444Q276 1404 336 1343T415 1207Q421 1184 421 1154T423 851L424 531L426 517Q434 462 460 415T518 339T571 296T608 274Q615 270 616 267T618 251Q618 241 618 238T615 232T608 227Q542 194 491 132T426 -15L424 -29L423 -350Q422 -622 422 -652T415 -706Q397 -780 337 -841T182 -943L167 -949H153Q137 -949 134 -946T131 -928Q131 -914 132 -911T144 -904Q146 -903 148 -902Q299 -820 323 -680Q324 -663 325 -349T327 -19Q355 145 541 241L561 250L541 260Q356 355 327 520Q326 537 325 850T323 1181Q315 1227 293 1267T244 1332T193 1374T151 1401T132 1413Q131 1414 131 1429'], - - // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2C6: [772,-564,1444,-4,1447,'1439 564Q1434 564 1080 631T722 698Q719 698 362 631Q7 564 4 564L0 583Q-4 602 -4 603L720 772L1083 688Q1446 603 1447 603Q1447 602 1443 583L1439 564'], - - // SMALL TILDE - 0x2DC: [749,-609,1444,1,1442,'1 643Q1 646 76 671T271 722T476 749Q555 749 626 736T742 706T856 676T999 662Q1088 662 1192 684T1363 727T1432 749Q1432 745 1437 731T1442 716Q1442 714 1381 693T1212 645T1012 611Q1000 610 955 610Q851 610 701 653T444 697Q355 697 251 676T80 632T11 610Q11 614 6 628T1 643'], - - // COMBINING CIRCUMFLEX ACCENT - 0x302: [772,-564,0,-1448,3,'-5 564Q-9 564 -363 631T-722 698Q-725 698 -1082 631Q-1437 564 -1440 564L-1444 583Q-1448 602 -1448 603L-724 772L-361 688Q2 603 3 603Q3 602 -1 583L-5 564'], - - // COMBINING TILDE - 0x303: [749,-609,0,-1443,-2,'-1443 643Q-1443 646 -1368 671T-1173 722T-968 749Q-889 749 -818 736T-702 706T-588 676T-445 662Q-356 662 -252 684T-81 727T-12 749Q-12 745 -7 731T-2 716Q-2 714 -63 693T-232 645T-432 611Q-444 610 -489 610Q-593 610 -743 653T-1000 697Q-1089 697 -1193 676T-1364 632T-1433 610Q-1433 614 -1438 628T-1443 643'], - - // SQUARE ROOT - 0x221A: [1450,950,1000,111,1020,'424 -948Q422 -947 313 -434T202 80L170 31Q165 24 157 10Q137 -21 137 -21Q131 -16 124 -8L111 5L264 248L473 -720Q473 -717 727 359T983 1440Q989 1450 1001 1450Q1007 1450 1013 1445T1020 1433Q1020 1425 742 244T460 -941Q458 -950 439 -950H436Q424 -950 424 -948'], - - // LEFT CEILING - 0x2308: [1450,949,583,246,571,'246 -949V1450H571V1388H308V-949H246'], - - // RIGHT CEILING - 0x2309: [1450,949,583,11,336,'11 1388V1450H336V-949H274V1388H11'], - - // LEFT FLOOR - 0x230A: [1450,949,583,246,571,'246 -949V1450H308V-887H571V-949H246'], - - // RIGHT FLOOR - 0x230B: [1450,949,583,11,336,'274 -887V1450H336V-949H11V-887H274'], - - // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E8: [1450,950,750,126,654,'126 242V259L361 845Q595 1431 597 1435Q610 1450 624 1450Q634 1450 644 1443T654 1419V1411L422 831Q190 253 190 250T422 -331L654 -910V-919Q654 -936 644 -943T624 -950Q612 -950 597 -935Q595 -931 361 -345L126 242'], - - // MATHEMATICAL RIGHT ANGLE BRACKET - 0x27E9: [1450,949,750,94,623,'94 1424Q94 1426 97 1432T107 1444T124 1450Q141 1450 152 1435Q154 1431 388 845L623 259V242L388 -345Q153 -933 152 -934Q142 -949 127 -949H125Q95 -949 95 -919V-910L327 -331Q559 247 559 250T327 831Q94 1411 94 1424'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size3/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js deleted file mode 100644 index 0ac01c0b..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js +++ /dev/null @@ -1,168 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Size4/Regular/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size4'] = { - directory: 'Size4/Regular', - family: 'MathJax_Size4', - id: 'MJSZ4', - - // SPACE - 0x20: [0,0,250,0,0,''], - - // LEFT PARENTHESIS - 0x28: [1750,1249,792,237,758,'758 -1237T758 -1240T752 -1249H736Q718 -1249 717 -1248Q711 -1245 672 -1199Q237 -706 237 251T672 1700Q697 1730 716 1749Q718 1750 735 1750H752Q758 1744 758 1741Q758 1737 740 1713T689 1644T619 1537T540 1380T463 1176Q348 802 348 251Q348 -242 441 -599T744 -1218Q758 -1237 758 -1240'], - - // RIGHT PARENTHESIS - 0x29: [1750,1250,792,33,554,'33 1741Q33 1750 51 1750H60H65Q73 1750 81 1743T119 1700Q554 1207 554 251Q554 -707 119 -1199Q76 -1250 66 -1250Q65 -1250 62 -1250T56 -1249Q55 -1249 53 -1249T49 -1250Q33 -1250 33 -1239Q33 -1236 50 -1214T98 -1150T163 -1052T238 -910T311 -727Q443 -335 443 251Q443 402 436 532T405 831T339 1142T224 1438T50 1716Q33 1737 33 1741'], - - // SOLIDUS - 0x2F: [1750,1249,1278,56,1221,'1166 1738Q1176 1750 1189 1750T1211 1742T1221 1721Q1221 1720 1221 1718T1220 1715Q1219 1708 666 238T111 -1237Q102 -1249 86 -1249Q74 -1249 65 -1240T56 -1220Q56 -1219 56 -1217T57 -1214Q58 -1207 611 263T1166 1738'], - - // LEFT SQUARE BRACKET - 0x5B: [1750,1249,583,269,577,'269 -1249V1750H577V1677H342V-1176H577V-1249H269'], - - // REVERSE SOLIDUS - 0x5C: [1750,1249,1278,56,1221,'56 1720Q56 1732 64 1741T85 1750Q104 1750 111 1738Q113 1734 666 264T1220 -1214Q1220 -1215 1220 -1217T1221 -1220Q1221 -1231 1212 -1240T1191 -1249Q1175 -1249 1166 -1237Q1164 -1233 611 237T57 1715Q57 1716 56 1718V1720'], - - // RIGHT SQUARE BRACKET - 0x5D: [1750,1249,583,5,313,'5 1677V1750H313V-1249H5V-1176H240V1677H5'], - - // LEFT CURLY BRACKET - 0x7B: [1750,1249,806,144,661,'661 -1243L655 -1249H622L604 -1240Q503 -1190 434 -1107T348 -909Q346 -897 346 -499L345 -98L343 -82Q335 3 287 87T157 223Q146 232 145 236Q144 240 144 250Q144 265 145 268T157 278Q242 333 288 417T343 583L345 600L346 1001Q346 1398 348 1410Q379 1622 600 1739L622 1750H655L661 1744V1727V1721Q661 1712 661 1710T657 1705T648 1700T630 1690T602 1668Q589 1659 574 1643T531 1593T484 1508T459 1398Q458 1389 458 1001Q458 614 457 605Q441 435 301 316Q254 277 202 251L250 222Q260 216 301 185Q443 66 457 -104Q458 -113 458 -501Q458 -888 459 -897Q463 -944 478 -988T509 -1060T548 -1114T580 -1149T602 -1167Q620 -1183 634 -1192T653 -1202T659 -1207T661 -1220V-1226V-1243'], - - // RIGHT CURLY BRACKET - 0x7D: [1750,1249,806,144,661,'144 1727Q144 1743 146 1746T162 1750H167H183L203 1740Q274 1705 325 1658T403 1562T440 1478T456 1410Q458 1398 458 1001Q459 661 459 624T465 558Q470 526 480 496T502 441T529 395T559 356T588 325T615 301T637 284T654 273L660 269V266Q660 263 660 259T661 250V239Q661 236 661 234T660 232T656 229T649 224Q577 179 528 105T465 -57Q460 -86 460 -123T458 -499V-661Q458 -857 457 -893T447 -955Q425 -1048 359 -1120T203 -1239L183 -1249H168Q150 -1249 147 -1246T144 -1226Q144 -1213 145 -1210T153 -1202Q169 -1193 186 -1181T232 -1140T282 -1081T322 -1000T345 -897Q346 -888 346 -501Q346 -113 347 -104Q359 58 503 184Q554 226 603 250Q504 299 430 393T347 605Q346 614 346 1002Q346 1389 345 1398Q338 1493 288 1573T153 1703Q146 1707 145 1710T144 1727'], - - // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2C6: [845,-561,1889,-14,1902,'5 561Q-4 561 -9 582T-14 618Q-14 623 -13 625Q-11 628 461 736T943 845Q945 845 1417 738T1896 628Q1902 628 1902 618Q1902 607 1897 584T1883 561Q1881 561 1412 654L945 750L476 654Q6 561 5 561'], - - // SMALL TILDE - 0x2DC: [823,-582,1889,0,1885,'1212 583Q1124 583 1048 603T923 647T799 691T635 711Q524 711 375 679T120 615L16 583Q14 584 12 587T9 592Q-2 650 2 659Q2 669 38 687Q54 696 146 723T309 767Q527 823 666 823Q759 823 837 803T964 759T1088 715T1252 695Q1363 695 1512 727T1764 791T1871 823Q1872 822 1874 819T1878 814Q1885 783 1885 753Q1885 748 1884 747Q1884 738 1849 719Q1836 712 1740 682T1484 617T1212 583'], - - // COMBINING CIRCUMFLEX ACCENT - 0x302: [845,-561,0,-1903,13,'-1884 561Q-1893 561 -1898 582T-1903 618Q-1903 623 -1902 625Q-1900 628 -1428 736T-946 845Q-944 845 -472 738T7 628Q13 628 13 618Q13 607 8 584T-6 561Q-8 561 -477 654L-944 750L-1413 654Q-1883 561 -1884 561'], - - // COMBINING TILDE - 0x303: [823,-582,0,-1889,-4,'-677 583Q-765 583 -841 603T-966 647T-1090 691T-1254 711Q-1365 711 -1514 679T-1768 615L-1873 583Q-1875 584 -1877 587T-1880 592Q-1891 650 -1887 659Q-1887 669 -1851 687Q-1835 696 -1743 723T-1580 767Q-1362 823 -1223 823Q-1130 823 -1052 803T-925 759T-801 715T-637 695Q-526 695 -377 727T-125 791T-18 823Q-17 822 -15 819T-11 814Q-4 782 -4 753Q-4 748 -5 747Q-5 738 -40 719Q-53 712 -149 682T-405 617T-677 583'], - - // SQUARE ROOT - 0x221A: [1750,1250,1000,111,1020,'983 1739Q988 1750 1001 1750Q1008 1750 1013 1745T1020 1733Q1020 1726 742 244T460 -1241Q458 -1250 439 -1250H436Q424 -1250 424 -1248L410 -1166Q395 -1083 367 -920T312 -601L201 44L137 -83L111 -57L187 96L264 247Q265 246 369 -357Q470 -958 473 -963L727 384Q979 1729 983 1739'], - - // LEFT CEILING - 0x2308: [1750,1249,639,269,633,'269 -1249V1750H633V1677H342V-1249H269'], - - // RIGHT CEILING - 0x2309: [1750,1249,639,5,369,'5 1677V1750H369V-1249H296V1677H5'], - - // LEFT FLOOR - 0x230A: [1750,1249,639,269,633,'269 -1249V1750H342V-1176H633V-1249H269'], - - // RIGHT FLOOR - 0x230B: [1750,1249,639,5,369,'296 -1176V1750H369V-1249H5V-1176H296'], - - // LEFT PARENTHESIS UPPER HOOK - 0x239B: [1155,655,875,291,843,'837 1154Q843 1148 843 1145Q843 1141 818 1106T753 1002T667 841T574 604T494 299Q417 -84 417 -609Q417 -641 416 -647T411 -654Q409 -655 366 -655Q299 -655 297 -654Q292 -652 292 -643T291 -583Q293 -400 304 -242T347 110T432 470T574 813T785 1136Q787 1139 790 1142T794 1147T796 1150T799 1152T802 1153T807 1154T813 1154H819H837'], - - // LEFT PARENTHESIS EXTENSION - 0x239C: [610,11,875,291,417,'413 -9Q412 -9 407 -9T388 -10T354 -10Q300 -10 297 -9Q294 -8 293 -5Q291 5 291 127V300Q291 602 292 605L296 609Q298 610 366 610Q382 610 392 610T407 610T412 609Q416 609 416 592T417 473V127Q417 -9 413 -9'], - - // LEFT PARENTHESIS LOWER HOOK - 0x239D: [1165,644,875,291,843,'843 -635Q843 -638 837 -644H820Q801 -644 800 -643Q792 -635 785 -626Q684 -503 605 -363T473 -75T385 216T330 518T302 809T291 1093Q291 1144 291 1153T296 1164Q298 1165 366 1165Q409 1165 411 1164Q415 1163 416 1157T417 1119Q417 529 517 109T833 -617Q843 -631 843 -635'], - - // RIGHT PARENTHESIS UPPER HOOK - 0x239E: [1154,655,875,31,583,'31 1143Q31 1154 49 1154H59Q72 1154 75 1152T89 1136Q190 1013 269 873T401 585T489 294T544 -8T572 -299T583 -583Q583 -634 583 -643T577 -654Q575 -655 508 -655Q465 -655 463 -654Q459 -653 458 -647T457 -609Q457 -58 371 340T100 1037Q87 1059 61 1098T31 1143'], - - // RIGHT PARENTHESIS EXTENSION - 0x239F: [610,11,875,457,583,'579 -9Q578 -9 573 -9T554 -10T520 -10Q466 -10 463 -9Q460 -8 459 -5Q457 5 457 127V300Q457 602 458 605L462 609Q464 610 532 610Q548 610 558 610T573 610T578 609Q582 609 582 592T583 473V127Q583 -9 579 -9'], - - // RIGHT PARENTHESIS LOWER HOOK - 0x23A0: [1165,644,875,31,583,'56 -644H50Q31 -644 31 -635Q31 -632 37 -622Q69 -579 100 -527Q286 -228 371 170T457 1119Q457 1161 462 1164Q464 1165 520 1165Q575 1165 577 1164Q582 1162 582 1153T583 1093Q581 910 570 752T527 400T442 40T300 -303T89 -626Q78 -640 75 -642T61 -644H56'], - - // LEFT SQUARE BRACKET UPPER CORNER - 0x23A1: [1154,645,667,319,666,'319 -645V1154H666V1070H403V-645H319'], - - // LEFT SQUARE BRACKET EXTENSION - 0x23A2: [602,0,667,319,403,'319 0V602H403V0H319'], - - // LEFT SQUARE BRACKET LOWER CORNER - 0x23A3: [1155,644,667,319,666,'319 -644V1155H403V-560H666V-644H319'], - - // RIGHT SQUARE BRACKET UPPER CORNER - 0x23A4: [1154,645,667,0,347,'0 1070V1154H347V-645H263V1070H0'], - - // RIGHT SQUARE BRACKET EXTENSION - 0x23A5: [602,0,667,263,347,'263 0V602H347V0H263'], - - // RIGHT SQUARE BRACKET LOWER CORNER - 0x23A6: [1155,644,667,0,347,'263 -560V1155H347V-644H0V-560H263'], - - // LEFT CURLY BRACKET UPPER HOOK - 0x23A7: [899,10,889,383,718,'712 899L718 893V876V865Q718 854 704 846Q627 793 577 710T510 525Q510 524 509 521Q505 493 504 349Q504 345 504 334Q504 277 504 240Q504 -2 503 -4Q502 -8 494 -9T444 -10Q392 -10 390 -9Q387 -8 386 -5Q384 5 384 230Q384 262 384 312T383 382Q383 481 392 535T434 656Q510 806 664 892L677 899H712'], - - // LEFT CURLY BRACKET MIDDLE PIECE - 0x23A8: [1160,660,889,170,504,'389 1159Q391 1160 455 1160Q496 1160 498 1159Q501 1158 502 1155Q504 1145 504 924Q504 691 503 682Q494 549 425 439T243 259L229 250L243 241Q349 175 421 66T503 -182Q504 -191 504 -424Q504 -600 504 -629T499 -659H498Q496 -660 444 -660T390 -659Q387 -658 386 -655Q384 -645 384 -425V-282Q384 -176 377 -116T342 10Q325 54 301 92T255 155T214 196T183 222T171 232Q170 233 170 250T171 268Q171 269 191 284T240 331T300 407T354 524T383 679Q384 691 384 925Q384 1152 385 1155L389 1159'], - - // LEFT CURLY BRACKET LOWER HOOK - 0x23A9: [10,899,889,384,718,'718 -893L712 -899H677L666 -893Q542 -825 468 -714T385 -476Q384 -466 384 -282Q384 3 385 5L389 9Q392 10 444 10Q486 10 494 9T503 4Q504 2 504 -239V-310V-366Q504 -470 508 -513T530 -609Q546 -657 569 -698T617 -767T661 -812T699 -843T717 -856T718 -876V-893'], - - // CURLY BRACKET EXTENSION - 0x23AA: [310,10,889,384,504,'384 150V266Q384 304 389 309Q391 310 455 310Q496 310 498 309Q502 308 503 298Q504 283 504 150Q504 32 504 12T499 -9H498Q496 -10 444 -10T390 -9Q386 -8 385 2Q384 17 384 150'], - - // RIGHT CURLY BRACKET UPPER HOOK - 0x23AB: [899,10,889,170,504,'170 875Q170 892 172 895T189 899H194H211L222 893Q345 826 420 715T503 476Q504 467 504 230Q504 51 504 21T499 -9H498Q496 -10 444 -10Q402 -10 394 -9T385 -4Q384 -2 384 240V311V366Q384 469 380 513T358 609Q342 657 319 698T271 767T227 812T189 843T171 856T170 875'], - - // RIGHT CURLY BRACKET MIDDLE PIECE - 0x23AC: [1160,660,889,384,718,'389 1159Q391 1160 455 1160Q496 1160 498 1159Q501 1158 502 1155Q504 1145 504 925V782Q504 676 511 616T546 490Q563 446 587 408T633 345T674 304T705 278T717 268Q718 267 718 250T717 232Q717 231 697 216T648 169T588 93T534 -24T505 -179Q504 -191 504 -425Q504 -600 504 -629T499 -659H498Q496 -660 444 -660T390 -659Q387 -658 386 -655Q384 -645 384 -424Q384 -191 385 -182Q394 -49 463 61T645 241L659 250L645 259Q539 325 467 434T385 682Q384 692 384 873Q384 1153 385 1155L389 1159'], - - // RIGHT CURLY BRACKET LOWER HOOK - 0x23AD: [10,899,889,170,505,'384 -239V-57Q384 4 389 9Q391 10 455 10Q496 10 498 9Q501 8 502 5Q504 -5 504 -230Q504 -261 504 -311T505 -381Q505 -486 492 -551T435 -691Q357 -820 222 -893L211 -899H195Q176 -899 173 -896T170 -874Q170 -858 171 -855T184 -846Q262 -793 312 -709T378 -525Q378 -524 379 -522Q383 -493 384 -351Q384 -345 384 -334Q384 -276 384 -239'], - - // RADICAL SYMBOL BOTTOM - 0x23B7: [935,885,1056,111,742,'742 -871Q740 -873 737 -876T733 -880T730 -882T724 -884T714 -885H702L222 569L180 484Q138 399 137 399Q131 404 124 412L111 425L265 736L702 -586V168L703 922Q713 935 722 935Q734 935 742 920V-871'], - - // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E8: [1750,1248,806,140,703,'140 242V260L386 994Q633 1729 635 1732Q643 1745 657 1749Q658 1749 662 1749T668 1750Q682 1749 692 1740T702 1714V1705L214 251L703 -1204L702 -1213Q702 -1230 692 -1239T667 -1248H664Q647 -1248 635 -1231Q633 -1228 386 -493L140 242'], - - // MATHEMATICAL RIGHT ANGLE BRACKET - 0x27E9: [1750,1248,806,103,665,'103 1714Q103 1732 114 1741T137 1750Q157 1750 170 1732Q172 1729 419 994L665 260V242L419 -493Q172 -1228 170 -1231Q158 -1248 141 -1248H138Q123 -1248 113 -1239T103 -1213V-1204L591 251L103 1705V1714'], - - // stix-radical symbol vertical extender - 0xE000: [625,14,1056,702,742,'722 -14H720Q708 -14 702 0V306L703 612Q713 625 722 625Q734 625 742 610V0Q734 -14 724 -14H722'], - - // stix-radical symbol top corner piece - 0xE001: [605,14,1056,702,1076,'702 589Q706 601 718 605H1061Q1076 597 1076 585Q1076 572 1061 565H742V0Q734 -14 724 -14H722H720Q708 -14 702 0V589'], - - // stix-horizontal brace, down left piece - 0xE150: [120,213,450,-24,460,'-18 -213L-24 -207V-172L-16 -158Q75 2 260 84Q334 113 415 119Q418 119 427 119T440 120Q454 120 457 117T460 98V60V25Q460 7 457 4T441 0Q308 0 193 -55T25 -205Q21 -211 18 -212T-1 -213H-18'], - - // stix-horizontal brace, down right piece - 0xE151: [120,213,450,-10,474,'-10 60Q-10 104 -10 111T-5 118Q-1 120 10 120Q96 120 190 84Q375 2 466 -158L474 -172V-207L468 -213H451H447Q437 -213 434 -213T428 -209T423 -202T414 -187T396 -163Q331 -82 224 -41T9 0Q-4 0 -7 3T-10 25V60'], - - // stix-horizontal brace, upper left piece - 0xE152: [333,0,450,-24,460,'-24 327L-18 333H-1Q11 333 15 333T22 329T27 322T35 308T54 284Q115 203 225 162T441 120Q454 120 457 117T460 95V60V28Q460 8 457 4T442 0Q355 0 260 36Q75 118 -16 278L-24 292V327'], - - // stix-horizontal brace, upper right piece - 0xE153: [333,0,450,-10,474,'-10 60V95Q-10 113 -7 116T9 120Q151 120 250 171T396 284Q404 293 412 305T424 324T431 331Q433 333 451 333H468L474 327V292L466 278Q375 118 190 36Q95 0 8 0Q-5 0 -7 3T-10 24V60'], - - // stix-oblique open face capital letter A - 0xE154: [120,0,400,-10,410,'-10 0V120H410V0H-10'] -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size4/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js deleted file mode 100644 index 35345abf..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js +++ /dev/null @@ -1,314 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/BasicLatin.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'], - { - // SPACE - 0x20: [0,0,250,0,0,''], - - // EXCLAMATION MARK - 0x21: [622,0,525,206,320,'206 565Q206 590 222 606T265 622Q287 621 303 606T319 565T314 392L308 216Q299 194 273 194H262Q247 194 241 195T228 200T217 216L211 392Q206 539 206 565ZM206 56Q206 83 223 99T265 115Q288 113 304 99T320 58Q320 33 303 17T262 0Q237 0 222 17T206 56'], - - // QUOTATION MARK - 0x22: [623,-333,525,122,402,'122 575Q122 593 137 608T173 623Q196 623 210 608T225 575Q225 562 218 464Q212 373 211 361T201 341Q193 333 173 333Q154 333 146 341Q138 348 137 360T129 464Q122 561 122 575ZM299 575Q299 593 314 608T350 623Q373 623 387 608T402 575Q402 562 395 464Q389 373 388 361T378 341Q370 333 350 333Q331 333 323 341Q315 348 314 360T306 464Q299 561 299 575'], - - // NUMBER SIGN - 0x23: [612,0,525,36,489,'93 163Q74 163 65 164T46 173T36 198Q36 210 40 215T61 233H131V236Q132 239 140 307T149 377Q149 379 105 379L61 380Q36 392 36 414Q36 450 86 450Q91 450 99 450T112 449H159Q163 480 167 517Q168 524 170 545T174 573T180 591T191 607T210 611Q223 611 232 604T243 588L245 580Q245 565 238 511T230 451Q230 449 282 449H333Q337 480 341 517Q342 524 343 537T345 556T348 573T352 589T359 600T370 608T384 611Q395 611 406 602T419 580Q419 565 412 511T404 451Q404 449 431 449H442Q477 449 485 429Q489 421 489 414Q489 392 463 380L428 379H394V376Q393 373 385 305T376 235Q376 233 419 233H463L468 230Q472 227 473 227T477 223T482 218T486 213T488 206T489 198Q489 162 436 162Q430 162 422 162T412 163H366V161Q364 159 357 92Q356 85 355 73T353 54T350 37T346 22T339 11T328 3T314 0Q303 0 292 9T279 31Q279 37 287 96T295 162Q295 163 244 163H192V161Q190 159 183 92Q182 85 181 73T179 54T176 37T172 22T165 11T154 3T140 0Q129 0 118 9T105 31Q105 37 113 96T121 162Q121 163 93 163ZM323 377Q323 379 272 379H220V376Q219 373 211 305T202 235Q202 233 253 233H305V236Q306 239 314 307T323 377'], - - // DOLLAR SIGN - 0x24: [694,82,525,58,466,'415 397Q392 397 377 411T362 448Q362 464 376 485Q369 498 362 506T346 520T332 528T315 533T300 538V445L301 353L311 350Q382 334 424 284T466 174Q466 115 425 65T303 -2L300 -3V-30Q300 -64 291 -74Q283 -82 262 -82H255Q234 -82 225 -60L224 -32V-4L213 -2Q152 6 106 51T59 170V180Q59 197 74 213Q89 227 110 227T146 213T162 174Q162 156 147 137Q153 123 161 112T176 95T191 85T205 79T216 76T224 74V283L213 285Q147 298 103 343T58 449Q58 516 108 560T224 614V643V654Q224 666 226 673T237 687T264 694Q289 693 294 683T300 642V615H303Q355 607 390 587T440 540T460 493T466 453Q466 425 451 411T415 397ZM137 452Q137 425 158 404T198 376T223 369Q224 369 224 453T223 537Q198 532 168 509T137 452ZM301 75Q307 75 325 83T365 116T387 171Q387 238 300 267V171Q300 75 301 75'], - - // PERCENT SIGN - 0x25: [694,83,525,35,489,'35 560Q35 607 54 645T110 693Q111 693 116 693T125 694Q165 692 187 651T210 560Q210 506 186 467T123 428Q84 428 60 466T35 560ZM139 560Q139 574 136 587T130 608T124 615Q122 617 120 614Q106 595 106 561Q106 516 121 506Q123 504 125 507Q139 526 139 560ZM123 -83Q107 -83 98 -73T88 -48Q88 -43 89 -41Q90 -37 229 316T370 675Q381 694 400 694Q416 694 426 684T436 659Q436 654 435 652Q434 647 295 294T153 -65Q144 -83 123 -83ZM314 50Q314 104 338 143T400 183Q439 183 464 144T489 50T465 -43T402 -82Q358 -82 336 -41T314 50ZM417 50Q417 71 413 85T405 102L401 106Q386 95 386 50Q386 29 390 15T398 -2L402 -6Q417 5 417 50'], - - // AMPERSAND - 0x26: [622,11,525,28,490,'96 462Q96 546 132 584T211 622Q255 622 284 583T314 474Q314 395 224 305L208 288Q213 275 226 251L265 185L269 179Q273 184 299 246L332 333L342 363Q342 364 341 365Q334 365 334 393Q334 406 334 410T340 420T356 431H412H440Q467 431 478 424T490 393Q490 376 484 367T470 357T448 355H441H415L399 312Q349 176 322 127L315 115L323 106Q360 65 393 65Q405 65 410 80T416 109Q416 140 452 140Q487 140 487 105Q487 56 460 23T391 -11L286 41L273 53L262 42Q212 -11 151 -11Q97 -11 63 33T28 143Q28 161 30 176T38 205T47 227T60 247T72 261T84 274T94 283L122 311L119 323Q96 392 96 462ZM243 474Q243 533 218 545L215 546Q212 546 210 546Q182 546 169 501Q167 492 167 466Q167 419 179 368L188 377Q234 425 242 461Q243 465 243 474ZM217 129Q185 174 154 235Q121 214 115 176Q113 168 113 143Q113 83 139 67Q141 66 152 66Q191 66 228 112L217 129'], - - // APOSTROPHE - 0x27: [611,-287,525,175,349,'205 554Q205 577 221 594T263 611Q302 611 325 577T349 490Q349 409 298 347Q285 330 258 309T214 287Q203 289 189 302T175 327Q175 341 185 349T213 369T245 402Q269 437 273 483V497Q264 496 263 496Q240 496 223 513T205 554'], - - // LEFT PARENTHESIS - 0x28: [694,82,525,166,437,'437 -53Q437 -82 399 -82H394Q377 -82 342 -55Q259 7 213 102T166 306Q166 412 211 507T342 667Q377 694 393 694H399Q437 694 437 665Q437 654 426 643T397 620T356 584T311 525Q301 511 290 488T264 412T250 306Q250 191 300 105T422 -27Q437 -37 437 -53'], - - // RIGHT PARENTHESIS - 0x29: [694,82,525,87,358,'87 664Q87 694 126 694Q138 694 147 690T183 667Q266 605 312 510T358 306Q358 193 307 93T161 -70Q142 -82 126 -82Q105 -82 96 -73T87 -53Q87 -47 88 -44Q92 -36 116 -19T173 34T230 119Q273 206 273 306Q273 408 231 494T109 635Q87 649 87 664'], - - // ASTERISK - 0x2A: [520,-89,525,68,456,'222 487Q224 501 235 510T262 520Q279 520 289 510T302 487Q302 458 301 429Q301 421 301 413T301 398T300 386T300 377V374Q300 373 301 373Q304 373 353 403T416 434Q432 434 444 423T456 393Q456 389 456 386T454 379T451 373T448 368T442 363T436 358T427 353T417 348T405 342T391 334Q345 309 339 305L388 279Q400 273 412 266T432 255T441 250Q456 238 456 218Q456 200 445 189T417 177Q403 177 354 207T301 238Q300 238 300 237V234Q300 231 300 226T300 214T301 199T301 182Q302 153 302 124Q300 109 289 100T262 90T235 100T222 124Q222 153 223 182Q223 190 223 198T223 213T224 225T224 234V237Q224 238 223 238Q220 238 171 208T108 177Q92 177 80 188T68 218Q68 237 79 246T134 277Q180 303 185 306L136 332Q124 338 112 345T92 356T83 361Q68 373 68 393Q68 411 79 422T107 434Q121 434 170 404T223 373Q224 373 224 374V377Q224 380 224 385T224 397T223 412T223 429Q222 458 222 487'], - - // PLUS SIGN - 0x2B: [531,-81,525,38,487,'147 271Q138 271 122 271T98 270Q68 270 53 277T38 306T53 335T98 342Q105 342 121 342T147 341H227V423L228 505Q241 531 262 531Q268 531 273 530T282 525T287 519T293 511L297 505V341H377H430Q457 341 467 338T483 321Q487 313 487 306Q487 295 480 286T463 273Q457 271 377 271H297V107Q281 81 262 81Q250 81 242 87T230 100L228 107L227 189V271H147'], - - // COMMA - 0x2C: [140,139,525,173,353,'193 37T193 70T213 121T260 140Q302 140 327 108T353 36Q353 -7 336 -43T294 -98T249 -128T215 -139Q204 -139 189 -125Q177 -111 174 -101Q172 -84 183 -77T217 -61T253 -33Q261 -24 272 1L265 0Q234 0 214 18'], - - // HYPHEN-MINUS - 0x2D: [341,-271,525,57,468,'57 306Q57 333 86 341H438Q468 332 468 306T438 271H86Q57 280 57 306'], - - // FULL STOP - 0x2E: [140,-1,525,193,332,'193 70Q193 105 214 122T258 140Q291 140 311 120T332 70Q332 44 314 23T262 1Q234 1 214 18T193 70'], - - // SOLIDUS - 0x2F: [694,83,525,58,466,'94 -83Q78 -83 68 -73T58 -48Q58 -44 60 -36Q62 -31 227 314T399 673Q410 694 431 694Q445 694 455 684T466 659Q466 656 464 648Q463 643 298 298T125 -62Q114 -83 94 -83'], - - // DIGIT ZERO - 0x30: [621,10,525,42,482,'42 305Q42 450 111 535T257 621Q335 621 390 562Q482 468 482 306Q482 174 418 82T262 -10T106 82T42 305ZM257 545Q209 545 168 481T126 320Q126 220 162 147Q204 65 262 65Q318 65 358 139T398 320V328Q395 411 364 470T284 543Q270 545 257 545'], - - // DIGIT ONE - 0x31: [622,-1,525,99,450,'99 461Q99 470 99 474T104 487T120 498T151 502Q213 517 251 596Q264 622 283 622Q308 622 319 597V76H373H401Q428 76 439 69T450 38Q450 11 428 1H127Q104 10 104 38Q104 62 115 69T153 76H181H235V269Q235 461 234 461Q184 426 137 424H133Q124 424 119 425T109 431T99 447V461'], - - // DIGIT TWO - 0x32: [622,-1,525,52,472,'52 462Q52 528 110 575T247 622H250Q343 622 407 565T472 421Q472 371 446 324T390 248T308 178Q307 177 275 151T214 101L185 77Q185 76 286 76H388V87Q388 105 397 114T430 123T463 114Q470 107 471 100T472 61V42Q472 24 468 16T450 1H75Q53 10 53 32V38V48Q53 57 63 67T127 122Q153 144 169 157L289 256Q388 345 388 419Q388 473 346 509T231 545H224Q176 545 146 499L144 494Q155 476 155 459Q154 459 155 455T154 444T148 430T136 417T114 408Q113 408 110 408T104 407Q80 407 66 422T52 462'], - - // DIGIT THREE - 0x33: [622,11,525,44,479,'260 546Q233 546 211 541T180 531T171 524L174 514Q177 505 177 497Q177 476 162 461T125 446Q106 446 90 459T73 504Q76 540 98 565T150 601T203 616T239 621Q241 622 265 622Q322 620 362 602T420 558T444 513T451 478Q451 386 369 329L375 326Q381 323 386 320T401 311T419 298T436 283T452 263T466 240T475 212T479 180Q479 99 416 44T259 -11T105 28T44 130Q44 154 59 168T95 183Q117 183 132 169T148 131Q148 119 139 101Q175 65 260 65Q316 65 355 97T395 179Q395 211 375 240Q336 292 253 292H234H215Q194 292 185 299T175 330Q175 350 184 359Q192 368 238 370T309 384Q336 398 351 423T367 474Q367 496 350 513Q321 546 260 546'], - - // DIGIT FOUR - 0x34: [623,-1,525,29,495,'235 1Q213 10 213 32V38V46Q213 65 230 73Q236 76 274 76H314V168H183L52 169Q37 175 33 182T29 205V218L30 244Q53 283 155 443T264 613Q276 623 298 623H323H363Q378 616 385 601V244H429H450Q474 244 484 237T495 206Q495 179 477 171Q471 168 429 168H385V76H425H442Q466 76 476 69T487 38Q487 10 465 1H235ZM314 244V554L117 245L215 244H314'], - - // DIGIT FIVE - 0x35: [612,10,525,52,472,'387 189Q387 244 354 278T273 313Q230 313 205 301T163 271T138 249H120Q102 249 97 251Q85 258 83 266T80 311Q80 320 80 359T81 430Q81 587 82 591Q88 605 103 610H108Q112 610 120 610T138 610T163 610T192 611T225 611T260 611H415Q416 610 421 607T428 602T432 596T436 587T437 573Q437 567 437 562T434 554T431 548T427 543T423 540T418 538L415 536L289 535H164V363L170 366Q175 368 184 372T207 380T238 386T276 389Q357 389 414 331T472 187Q472 116 412 53T245 -10Q218 -10 209 -9Q126 5 89 48T52 137Q52 164 68 177T104 191Q130 191 143 175T156 141Q156 132 154 125T149 113T146 107Q146 104 155 95T188 76T245 65Q298 65 342 98T387 189'], - - // DIGIT SIX - 0x36: [622,11,525,44,479,'357 536Q357 546 318 546Q258 546 205 497T133 357V353L144 361Q210 402 285 402Q362 402 414 350Q479 285 479 193Q479 111 418 50T263 -11Q234 -11 207 -3T149 26T97 81T60 171T45 301Q45 444 129 533T319 622Q388 622 421 589T454 510Q454 491 442 475T402 458Q373 458 362 475T350 510Q350 520 354 528L357 536ZM319 326T269 326T179 298T136 223Q136 202 143 174T176 112T237 68Q246 66 265 66Q319 66 360 107Q395 146 395 197Q395 250 356 289Q319 326 269 326'], - - // DIGIT SEVEN - 0x37: [627,10,525,44,480,'204 -10Q162 -10 162 40Q162 146 198 261T310 477Q311 478 321 491T342 517T358 535H128V524Q128 506 119 497Q111 489 86 489H78Q55 489 46 508Q44 513 44 557V580Q44 605 52 616T88 627H93Q114 627 125 611H458Q474 598 477 593T480 573Q480 559 478 553T469 543T446 521T408 477Q252 290 246 49Q246 43 246 37T246 27T245 22Q243 11 233 1T204 -10'], - - // DIGIT EIGHT - 0x38: [621,10,525,45,480,'58 460Q58 523 117 572T254 621Q290 621 298 620Q376 607 421 560T466 460Q466 441 460 424T443 393T421 370T397 352T374 340T357 332L350 330L356 328Q363 325 371 321T392 310T415 295T439 274T459 249T473 217T479 179Q479 102 418 46T262 -10T106 46T45 179Q45 202 52 222T70 257T96 284T123 305T148 319T167 328L174 330L170 332Q166 333 159 336T145 343Q104 362 81 393T58 460ZM382 458Q382 491 349 518T263 546Q215 546 179 521T142 458Q142 421 178 395T262 368Q315 368 348 396T382 458ZM396 178Q396 223 358 257T263 292Q206 292 167 258T128 178Q128 137 163 102T262 66Q324 66 360 101T396 178'], - - // DIGIT NINE - 0x39: [622,11,525,46,479,'392 259Q333 210 236 210H233Q163 210 109 262Q46 325 46 411T99 550Q164 622 264 622Q293 622 319 615T376 587T428 532T464 440T479 304Q479 167 400 78T217 -11Q140 -11 105 22T70 101Q70 124 84 138T122 153Q150 153 162 137T174 101Q174 91 168 76Q179 65 216 65Q267 65 300 93Q322 109 339 130T366 173T380 210T388 242T392 259ZM388 389Q388 438 357 492T268 546T185 520Q129 479 129 415Q129 384 138 363Q145 349 156 334T195 302T255 285Q305 285 345 313T388 389'], - - // COLON - 0x3A: [431,-1,525,193,332,'193 361Q193 396 214 413T258 431Q291 431 311 411T332 361Q332 335 314 314T262 292Q234 292 214 309T193 361ZM193 70Q193 105 214 122T258 140Q291 140 311 120T332 70Q332 44 314 23T262 1Q234 1 214 18T193 70'], - - // SEMICOLON - 0x3B: [431,139,525,175,337,'193 361Q193 396 214 413T258 431Q291 431 311 411T332 361Q332 335 314 314T262 292Q234 292 214 309T193 361ZM193 70Q193 105 214 122T259 140Q301 140 319 108T337 33Q337 -38 291 -88T214 -139Q203 -139 189 -126T175 -97Q175 -85 182 -78T200 -66T225 -50T249 -17Q256 -3 256 0Q252 1 248 1Q242 2 235 5T218 15T200 36T193 70'], - - // LESS-THAN SIGN - 0x3C: [557,-55,525,57,469,'468 90Q468 76 458 66T433 55Q426 55 419 58Q413 61 243 168T68 280Q57 291 57 306T68 332Q72 335 241 442T416 553Q424 557 432 557Q447 557 457 547T468 522T456 496Q454 494 305 399L158 306L305 213Q341 190 390 159Q443 125 452 119T464 106V105Q468 97 468 90'], - - // EQUALS SIGN - 0x3D: [417,-195,525,38,487,'38 382Q38 409 67 417H457Q487 408 487 382Q487 358 461 348H64Q51 352 45 360T38 376V382ZM67 195Q38 204 38 230Q38 255 62 264Q66 265 264 265H461L464 264Q467 262 469 261T475 256T481 249T485 240T487 230Q487 204 457 195H67'], - - // GREATER-THAN SIGN - 0x3E: [557,-55,525,57,468,'57 522Q57 539 67 548T90 557Q98 557 105 554Q111 551 281 444T456 332Q468 320 468 306T456 280Q452 276 282 169T105 58Q98 55 91 55Q79 55 68 63T57 90Q57 105 68 116Q70 118 219 213L366 306L219 399Q75 491 71 494Q57 507 57 522'], - - // QUESTION MARK - 0x3F: [617,1,525,62,462,'62 493Q62 540 107 578T253 617Q366 617 414 578T462 490Q462 459 445 434T411 400L394 390Q315 347 296 287Q294 278 293 247V217Q285 201 278 198T246 194T216 197T201 215V245V253Q201 379 351 456Q366 464 375 477Q377 482 377 490Q377 517 339 528T251 540Q182 540 159 517Q166 503 166 490Q166 468 151 453T114 438Q96 438 79 451T62 493ZM190 58Q190 85 208 100T249 115Q272 113 288 99T304 58Q304 33 287 17T246 0T206 16T190 58'], - - // COMMERCIAL AT - 0x40: [617,6,525,44,481,'44 306Q44 445 125 531T302 617Q332 617 358 607T411 574T456 502T479 387Q481 361 481 321Q481 203 421 143Q381 103 332 103Q266 103 225 165T183 307Q183 390 227 449T332 508Q358 508 378 498Q350 541 304 541Q229 541 172 473T115 305Q115 208 171 140T306 71H310Q358 71 397 105Q409 115 436 115Q458 115 462 113Q481 106 481 86Q481 73 468 61Q401 -6 305 -6Q262 -6 217 14T133 71T69 170T44 306ZM410 306Q410 361 386 396T333 431Q300 431 277 394T254 305Q254 256 276 218T332 180Q364 180 387 217T410 306'], - - // LATIN CAPITAL LETTER A - 0x41: [623,-1,525,28,496,'191 76Q212 75 220 68T229 38Q229 10 208 1H129H80Q48 1 38 7T28 38Q28 51 29 57T40 69T70 76Q89 76 89 78Q90 79 117 205T173 461T205 599Q212 623 250 623H262H273Q312 623 319 599Q322 591 350 461T406 205T435 78Q435 76 454 76H458Q484 76 493 59Q496 53 496 38Q496 11 478 3Q474 1 395 1H317Q295 8 295 38Q295 65 311 73Q316 75 333 76L348 77V78Q348 80 341 112L334 143H190L183 112Q176 80 176 78Q175 76 178 76Q180 76 191 76ZM318 221Q313 238 288 366T263 519Q263 526 262 527Q261 527 261 520Q261 493 236 365T206 221Q206 219 262 219T318 221'], - - // LATIN CAPITAL LETTER B - 0x42: [611,-1,525,17,482,'39 1Q17 10 17 32V38V46Q17 65 34 73Q40 76 61 76H84V535H61H54Q27 535 19 553Q17 557 17 573Q17 583 17 587T23 599T39 610Q40 611 179 611Q320 610 332 607Q332 607 339 605Q394 591 427 547T461 454Q461 413 436 378T369 325L358 320Q405 311 443 270T482 169Q482 112 445 64T345 3L334 1H39ZM309 533Q302 535 234 535H168V356H230Q284 357 296 358T323 368Q346 380 361 402T377 452Q377 482 358 505T309 533ZM398 176Q396 218 371 246T315 279Q310 280 237 280H168V76H239Q316 77 327 81Q329 82 334 84Q398 107 398 176'], - - // LATIN CAPITAL LETTER C - 0x43: [622,11,525,40,485,'40 305Q40 437 110 529T281 622Q315 622 343 611T387 589T404 578Q409 585 415 596T425 611T435 618T452 622Q472 622 478 609T485 566Q485 559 485 540T484 508V460Q484 413 478 403T442 393Q417 393 409 402Q400 409 400 420Q400 428 395 445T380 487T347 528T295 546Q235 546 180 483T124 306Q124 245 141 197T186 121T241 80T296 66Q346 66 373 103T400 178Q400 209 435 209H442H450Q484 209 484 172Q480 96 421 43T281 -11Q177 -11 109 84T40 305'], - - // LATIN CAPITAL LETTER D - 0x44: [612,-1,525,16,485,'38 1Q16 8 16 38Q16 62 32 73Q39 76 58 76H78V535H58Q40 535 32 538Q16 548 16 573Q16 587 17 591Q23 604 34 607T83 611H166H176Q188 611 209 611T239 612Q299 612 337 597T415 530Q485 438 485 300Q485 180 431 100T301 3L291 1H38ZM400 301Q400 363 385 410T346 482T303 519T267 534Q261 535 210 535H162V76H214L267 77Q323 89 361 148T400 301'], - - // LATIN CAPITAL LETTER E - 0x45: [612,-1,525,18,502,'374 271Q374 241 367 232T332 223Q307 223 299 231Q290 240 290 263V279H173V76H418V118V144Q418 167 426 176T460 186Q491 186 500 166Q502 161 502 93V52Q502 25 499 17T480 1H41Q19 9 19 32V38Q19 63 36 73Q42 76 65 76H89V535H65H55Q44 535 38 537T25 548T19 573Q19 602 41 610H47Q53 610 63 610T88 610T121 610T160 611T204 611T251 611H458Q460 609 465 606T471 602T475 598T478 593T479 586T480 576T480 562V526V488Q480 452 462 444Q458 442 438 442Q413 442 405 450Q398 457 397 463T396 501V535H173V355H290V371Q290 394 299 403T332 412Q363 412 372 392Q374 387 374 317V271'], - - // LATIN CAPITAL LETTER F - 0x46: [612,-1,525,22,490,'384 260Q384 230 377 221T342 212Q317 212 309 220Q300 229 300 252V268H179V76H249Q264 67 267 61T271 38Q271 10 249 1H44Q22 9 22 32V38Q22 63 39 73Q45 76 69 76H95V535H69H59Q42 535 32 542T22 573Q22 602 44 610H50Q56 610 66 610T91 610T125 610T164 611T208 611T257 611H468Q470 609 475 606T481 602T485 598T488 593T489 586T490 576T490 562V526V488Q490 452 472 444Q468 442 448 442Q423 442 415 450Q408 457 407 463T406 501V535H179V344H300V360Q300 383 309 392T342 401Q373 401 382 381Q384 376 384 306V260'], - - // LATIN CAPITAL LETTER G - 0x47: [623,11,525,38,496,'38 306Q38 447 105 534T261 622Q280 622 298 618T329 608T350 596T366 585L371 581Q373 581 377 591T390 612T417 622Q437 622 443 609T450 566Q450 559 450 540T449 508V460Q449 413 443 403T407 393Q392 393 386 394T373 402T364 426Q360 472 335 509T271 546Q214 546 168 477T121 308Q121 210 164 138T271 65Q293 65 310 78T337 109T352 147T360 180T362 195Q362 196 333 196L304 197Q282 204 282 227V234Q282 247 282 251T288 261T304 272H474Q488 263 492 256T496 234Q496 211 479 199Q475 197 461 196H449V21Q441 6 434 3T412 -1H407H402Q385 -1 379 3T364 28Q350 14 322 2T260 -11Q173 -11 106 76T38 306'], - - // LATIN CAPITAL LETTER H - 0x48: [611,-1,525,16,508,'16 571Q16 597 27 604T74 611H125H208Q223 602 226 596T230 573Q230 559 227 551T217 540T204 536T186 535H165V356H359V535H338H333Q306 535 297 552Q295 556 295 573Q295 586 295 590T301 600T317 611H486Q501 602 504 596T508 573Q508 559 505 551T495 540T482 536T464 535H443V76H464H470Q482 76 489 75T502 64T508 38Q508 10 486 1H317Q306 5 301 11T296 21T295 38V44Q295 66 311 73Q318 76 338 76H359V280H165V76H186H192Q204 76 211 75T224 64T230 38Q230 10 208 1H39Q28 5 23 11T18 21T17 38V44Q17 66 33 73Q40 76 60 76H81V535H60Q45 535 38 536T24 545T16 571'], - - // LATIN CAPITAL LETTER I - 0x49: [611,-1,525,72,452,'400 76Q431 76 441 69T452 38Q452 29 452 26T450 18T443 9T430 1H95Q84 6 79 12T73 23T72 38Q72 65 90 73Q96 76 157 76H220V535H157H124Q93 535 83 542T72 573Q72 603 93 610Q97 611 264 611H430Q432 609 436 607T444 602T449 594Q452 588 452 573Q452 546 434 538Q428 535 367 535H304V76H367H400'], - - // LATIN CAPITAL LETTER J - 0x4A: [612,11,525,57,479,'202 543T202 573T224 610H228Q231 610 237 610T251 610T269 610T291 611T315 611T342 611H457Q471 602 475 595T479 573Q479 549 462 538Q454 535 432 535H408V328Q408 159 408 133T402 93Q386 48 340 19T229 -11Q158 -11 108 16T57 100Q57 129 73 141T108 154Q128 154 143 140T159 102Q159 93 155 79Q188 65 228 65H230Q290 65 318 106Q323 115 323 139T324 329V535H274L224 536Q202 543 202 573'], - - // LATIN CAPITAL LETTER K - 0x4B: [611,-1,525,18,495,'18 549T18 573T29 604T70 611H118H193Q207 603 210 596T214 573Q214 549 198 538Q191 535 172 535H152V421Q152 344 152 326T153 309L242 422L329 534Q327 535 322 536T314 538T308 542T303 548T300 558T298 573Q298 600 316 608Q322 611 392 611H463Q477 602 481 595T485 573Q485 535 446 535H441H420L281 357L436 77L454 76Q473 75 478 73Q495 62 495 38Q495 10 473 1H345Q334 5 329 11T324 21T323 38Q323 51 324 56T332 68T355 77L233 296L152 192V76H172Q191 76 198 73Q214 63 214 38Q214 9 193 1H41Q18 8 18 38Q18 61 35 73Q42 76 61 76H81V535H61Q42 535 35 538Q18 549 18 573'], - - // LATIN CAPITAL LETTER L - 0x4C: [611,0,525,25,488,'27 594Q34 605 43 608T84 611H154H213Q258 611 269 605T281 573Q281 546 263 538Q257 535 222 535H185V76H404V118V145Q404 168 411 177T446 186H453Q478 186 486 167Q488 161 488 93V50Q488 24 485 17T466 1L258 0H147H99Q47 0 36 6T25 38Q25 59 35 69Q44 76 76 76H101V535H76H64Q36 535 27 552Q25 557 25 573T27 594'], - - // LATIN CAPITAL LETTER M - 0x4D: [611,-1,525,11,512,'50 535Q37 536 31 537T18 547T12 573Q12 598 22 604T62 611H91H121Q147 611 158 607T178 587Q183 579 222 446T261 293Q261 289 262 288Q263 288 263 292Q263 311 298 434T346 588Q353 603 365 607T402 611H435H450Q488 611 500 605T512 573Q512 556 506 547T493 537T474 535H459V76H474Q487 75 493 74T505 64T512 38Q512 11 494 3Q490 1 424 1H386Q355 1 345 7T335 38Q335 55 341 64T354 74T373 76H388V302Q388 512 387 519Q382 482 346 359T304 228Q292 204 262 204T220 228Q215 237 179 359T137 519Q136 512 136 302V76H151Q164 75 170 74T182 64T189 38Q189 11 171 3Q167 1 101 1H63Q32 1 22 7T12 38Q12 55 18 64T31 74T50 76H65V535H50'], - - // LATIN CAPITAL LETTER N - 0x4E: [611,0,525,20,504,'20 571Q20 598 30 604T73 611H105H136Q152 611 160 611T177 607T189 601T198 587T206 568T217 537T231 497Q354 142 365 95L368 84V535H347H342Q314 535 306 552Q304 556 304 573Q304 586 304 590T310 600T326 611H482Q497 602 500 596T504 573Q504 559 501 551T491 540T478 536T460 535H439V25Q432 7 424 4T389 0H374Q334 0 322 31L293 115Q171 468 159 517L156 528V76H177H183Q195 76 202 75T215 64T221 38Q221 10 199 1H43Q32 5 27 11T22 21T21 38V44Q21 66 37 73Q44 76 64 76H85V535H64Q49 535 42 536T28 545T20 571'], - - // LATIN CAPITAL LETTER O - 0x4F: [621,10,525,56,468,'102 588Q140 621 240 621Q323 621 335 620Q393 613 422 588Q450 560 459 493T468 306Q468 185 460 118T422 23Q382 -10 289 -10H262H235Q142 -10 102 23Q74 50 65 118T56 306Q56 427 64 494T102 588ZM363 513Q357 523 347 530T324 540T302 544T280 546H268Q192 546 167 521Q150 501 145 452T140 300Q140 235 142 197T151 130T172 89T207 71T262 65Q317 65 341 81T374 144T384 300Q384 474 363 513'], - - // LATIN CAPITAL LETTER P - 0x50: [612,-1,525,19,480,'41 1Q19 9 19 32V38Q19 63 36 73Q42 76 65 76H89V535H65H55Q38 535 29 543T19 576Q19 603 41 610H49Q57 610 70 610T100 610T136 611T175 611Q190 611 216 611T255 612Q321 612 363 598T441 537Q480 486 480 427V421Q480 354 447 311T378 251Q339 230 275 230H239H173V76H197Q220 76 227 73Q244 62 244 38Q244 10 222 1H41ZM396 421Q396 461 369 491T300 533Q294 534 233 535H173V306H233Q294 307 300 308Q345 319 370 352T396 421'], - - // LATIN CAPITAL LETTER Q - 0x51: [622,138,525,56,468,'56 306Q56 380 58 426T68 510T87 568T120 600T170 617T240 621Q323 621 335 620Q393 613 422 588Q450 560 459 493T468 306Q468 124 447 66Q433 23 394 6L424 -53Q454 -112 454 -118Q454 -128 441 -138H377Q367 -135 363 -129T333 -69L304 -11H254Q205 -10 180 -8T128 6T91 36T70 92T58 178T56 306ZM227 151Q227 171 262 171H276H281Q292 171 296 171T305 170T313 165T317 158T323 145T332 127L353 88Q356 88 361 95T372 131T382 202Q384 228 384 306Q384 452 371 492T304 544Q296 545 251 545Q230 545 215 543T188 534T169 520T155 497T147 466T143 423T141 371T140 306Q140 248 141 217T146 154T157 109T178 83T212 68T262 65H266L264 70Q261 75 256 85T247 105Q227 145 227 151'], - - // LATIN CAPITAL LETTER R - 0x52: [612,11,525,16,522,'16 571Q16 598 27 605T76 612Q84 612 108 612T148 611Q268 611 294 605Q346 592 389 550T432 440Q432 394 410 359Q393 329 366 310L358 303Q387 273 399 239Q405 219 405 178T408 106T421 68Q426 65 428 65Q433 65 435 74T438 96T441 112Q450 130 480 130H485Q519 130 522 100Q522 79 516 56T488 11T434 -11Q421 -11 408 -8T377 5T344 37T324 93Q322 101 322 154L321 209Q304 257 257 267Q252 268 207 268H165V76H186H192Q204 76 211 75T224 64T230 38Q230 10 208 1H39Q28 5 23 11T18 21T17 38V44Q17 66 33 73Q40 76 60 76H81V535H60Q45 535 38 536T24 545T16 571ZM348 440Q348 478 321 502T260 532Q252 534 208 535H165V344H208Q212 344 223 344T239 345T252 346T266 348T278 351T293 358Q348 387 348 440'], - - // LATIN CAPITAL LETTER S - 0x53: [622,11,525,51,472,'52 454Q52 524 107 572T229 621Q266 621 274 620Q326 610 360 588L371 581Q377 594 379 598T386 610T397 619T412 622Q433 622 439 610T446 570Q446 563 446 545T445 515V479Q445 441 444 432T436 417Q428 408 403 408T370 417Q361 424 361 434Q361 439 360 448T351 476T331 509T295 535T238 546Q194 546 163 522T132 458Q132 435 148 412Q155 401 166 393T192 380T218 371T247 364T270 359Q341 342 349 339Q389 325 418 296T461 229Q472 201 472 164Q469 92 417 41T287 -11Q240 -11 200 -1T143 19L126 29Q117 6 109 -2Q100 -11 84 -11Q64 -11 58 1T51 42Q51 49 51 66T52 95V135Q52 173 53 180T61 194Q70 203 95 203Q119 203 127 194Q136 186 136 168Q143 66 284 66H290Q325 66 350 85Q391 115 391 165Q391 204 369 228T322 260Q320 260 255 275T185 293Q123 309 88 355T52 454'], - - // LATIN CAPITAL LETTER T - 0x54: [612,-1,525,26,498,'129 38Q129 51 129 55T135 65T151 76H220V535H110V501Q110 470 109 464T101 450Q93 442 68 442H60Q37 442 28 461Q26 466 26 527L27 589Q36 607 49 610H55Q61 610 72 610T97 610T131 610T170 611T215 611T264 611H476Q478 609 483 606T489 602T493 598T496 593T497 586T498 576T498 562V526V488Q498 452 480 444Q476 442 456 442Q431 442 423 450Q416 457 415 463T414 501V535H304V76H374Q389 67 392 61T396 38Q396 10 374 1H151Q140 5 135 11T130 21T129 38'], - - // LATIN CAPITAL LETTER U - 0x55: [612,11,525,-4,528,'-3 573Q-3 597 8 604T50 612Q57 612 77 612T111 611H200Q214 602 218 595T222 573Q222 549 205 538Q198 535 175 535H151V359Q151 333 151 291Q152 177 156 162Q157 160 157 159Q165 123 193 95T262 66Q303 66 330 94T367 159Q371 175 371 191T373 359V535H349H339Q328 535 322 537T309 548T303 573T306 595T325 611H506Q520 602 524 595T528 573Q528 549 511 538Q504 535 481 535H457V364Q457 189 456 182Q448 101 394 45T262 -11Q189 -11 132 43T68 182Q67 189 67 364V535H43H33Q22 535 16 537T3 548T-3 573'], - - // LATIN CAPITAL LETTER V - 0x56: [613,7,525,19,505,'19 578Q19 585 20 590T23 598T29 604T38 608T48 610T62 611T78 612T97 611T119 611H195Q210 602 213 596T217 573Q217 561 216 555T206 542T179 535H164Q166 529 188 435T235 231T261 94L262 84V88Q263 91 263 94Q265 121 289 231T336 438L360 535H345Q308 535 308 566V573Q308 586 308 590T314 600T330 611H484Q499 602 502 595T505 573Q505 560 504 554T493 541T465 535H447L384 278Q321 19 319 14Q309 -7 278 -7H262H246Q215 -7 205 14Q203 19 140 278L78 535H59Q45 535 38 536T25 547T19 573V578'], - - // LATIN CAPITAL LETTER W - 0x57: [611,7,525,12,512,'459 611Q491 611 501 605T512 573Q512 538 482 535H474L439 276Q406 26 402 11Q398 2 389 -3Q387 -3 386 -4L380 -7H359H349Q324 -7 313 13Q307 29 285 139T263 275Q263 283 262 283Q261 282 261 274Q261 248 239 137T211 13Q200 -7 175 -7H165H144Q136 -3 127 3Q121 10 117 36T85 276L50 535H42Q26 536 19 545T12 564V573Q12 603 33 610Q37 611 101 611H134Q165 611 175 604T186 573Q186 563 186 559T182 547T169 538T143 535H122V531Q124 517 133 446T155 266T172 96V84L173 102Q176 157 192 243T215 346Q227 367 259 367H262H265Q297 367 309 346Q316 329 332 243T351 102L352 84V96Q356 161 368 266T390 444T402 531V535H381Q366 535 359 536T345 547T338 573Q338 600 356 608Q362 611 425 611H459'], - - // LATIN CAPITAL LETTER X - 0x58: [611,-1,525,28,495,'39 571Q39 597 49 604T93 611H141H218Q233 602 236 595T239 573Q239 538 210 535Q202 535 202 534T215 507T243 454L257 428L307 535H298Q266 538 266 573Q266 584 267 588T273 598T289 611H366H401Q442 611 454 605T466 573Q466 546 448 538Q442 535 421 535H398L299 327Q299 323 362 201L426 77L449 76Q467 76 475 75T489 65T495 38Q495 11 477 3Q473 1 395 1H317Q295 8 295 38Q295 73 325 76L334 77Q333 78 314 117T276 196L257 235L239 196Q221 157 204 118T186 77Q190 76 196 76Q211 74 218 67T227 55T228 38Q228 28 227 24T221 13T206 1H50Q28 9 28 32V38Q28 63 45 73Q51 76 73 76H96L214 324Q215 327 162 431L108 535H85H79Q67 535 60 536T46 546T39 571'], - - // LATIN CAPITAL LETTER Y - 0x59: [611,-1,525,20,505,'20 573Q20 597 30 604T72 611H121H198Q212 602 216 595T220 573Q220 568 219 563T217 555T214 549T211 544T207 541T203 538T198 537T194 536T190 536L188 535Q179 535 179 534L188 516Q196 497 208 470T232 415T252 363T261 332Q261 329 262 329T263 332Q263 354 333 508L345 534Q345 535 336 535Q305 538 305 567V573Q305 589 308 595T327 611H483Q505 598 505 573Q505 549 488 538Q481 535 460 535H438L304 245V76H325H331Q343 76 350 75T363 64T369 38Q369 10 347 1H178Q167 5 162 11T157 21T156 38V44Q156 66 172 73Q180 76 199 76H220V245L86 535H64Q44 535 36 538Q20 548 20 573'], - - // LATIN CAPITAL LETTER Z - 0x5A: [612,-1,525,48,481,'71 1Q60 5 55 11T49 23T48 39V46Q48 56 58 73T131 183Q171 242 197 282L366 535H144V501Q144 470 143 464T135 450Q127 442 102 442H94Q71 442 62 461Q60 466 60 527L61 589Q70 607 83 610H88Q93 610 102 610T124 610T154 610T188 611T227 611T270 611H454Q456 609 461 606T467 601T471 597T474 591T475 584T476 572V565Q476 555 466 538T393 428Q353 369 327 329L158 76H397V120V146Q397 169 405 179T439 189Q470 189 479 169Q481 164 481 95V48Q481 24 478 16T459 1H71'], - - // LEFT SQUARE BRACKET - 0x5B: [694,82,525,214,484,'237 -82Q221 -78 214 -58V305Q214 669 216 673Q220 687 231 690T278 694H350H461Q462 693 467 690T474 685T478 679T482 670T483 656Q483 632 471 625T428 617Q422 617 406 617T379 618H298V-7H379H420Q459 -7 471 -13T483 -45Q483 -55 483 -59T477 -70T461 -82H237'], - - // REVERSE SOLIDUS - 0x5C: [694,83,525,58,466,'58 659Q58 673 68 683T93 694Q114 694 125 673Q132 659 297 314T464 -36Q466 -44 466 -48Q466 -66 454 -74T431 -83Q410 -83 399 -62Q391 -47 226 298T60 648Q58 656 58 659'], - - // RIGHT SQUARE BRACKET - 0x5D: [695,82,525,41,310,'41 656Q41 681 53 688T99 695Q107 695 133 695T177 694H288Q307 681 310 669V-58Q303 -76 288 -82H64Q41 -73 41 -45Q41 -21 53 -14T96 -6Q102 -6 118 -6T145 -7H226V618H145H100Q67 618 54 625T41 656'], - - // CIRCUMFLEX ACCENT - 0x5E: [611,-460,525,96,428,'138 460Q121 460 109 479T96 512Q96 527 106 534Q109 536 178 571T253 609Q256 611 264 611Q272 610 343 574Q357 567 369 561T389 550T402 543T411 538T416 535T420 532T422 529T425 525Q428 518 428 512Q428 498 416 479T386 460H384Q377 460 316 496L262 526L208 496Q147 460 138 460'], - - // LOW LINE - 0x5F: [-25,95,525,57,468,'57 -60Q57 -33 86 -25H438Q468 -34 468 -60T438 -95H86Q57 -86 57 -60'], - - // GRAVE ACCENT - 0x60: [681,-357,525,176,350,'176 479Q176 563 227 622T310 681Q324 680 337 667T350 641Q350 627 340 619T312 599T280 566Q256 531 252 485V471Q261 472 262 472Q285 472 302 455T320 414Q320 389 303 373T261 357Q223 357 200 391T176 479'], - - // LATIN SMALL LETTER A - 0x61: [439,6,525,48,524,'126 306Q105 306 90 321T74 359Q74 439 211 439Q268 439 276 438Q343 426 383 390T430 306Q431 301 431 190V81Q446 79 465 78T492 76T509 72T521 60T524 38Q524 11 506 3Q502 1 466 1Q426 1 406 5T379 14T355 36L345 30Q284 -6 205 -6Q135 -6 92 39T48 141Q48 182 79 212T158 256T252 278T342 285H347V290Q347 315 325 335T267 362Q258 363 224 363Q189 363 185 362H179L178 358Q178 353 178 352T176 345T174 337T170 330T165 322T158 316T150 311T139 308T126 306ZM132 140Q132 115 157 93T224 70Q269 70 302 87T344 133Q346 139 347 175V211H339Q256 209 194 190T132 140'], - - // LATIN SMALL LETTER B - 0x62: [611,6,525,4,492,'4 573Q4 596 15 603T52 611H90H124Q146 611 155 608T171 591Q173 586 173 491V396L182 402Q217 424 256 431Q280 437 309 437Q376 437 434 379T492 217Q492 162 473 118T422 47T358 8T293 -6Q229 -6 174 38Q171 13 163 7T135 1H131H122Q99 1 90 23L89 279V535H58L27 536Q4 543 4 573ZM409 215Q409 269 377 315T283 361Q255 361 224 344T177 297L173 290V167Q189 124 213 97T278 70Q330 70 369 111T409 215'], - - // LATIN SMALL LETTER C - 0x63: [440,6,525,66,466,'291 -6Q196 -6 131 60T66 216Q66 296 119 361Q154 403 200 421T273 439Q275 440 293 440H313Q400 440 433 409Q454 388 454 359Q454 335 439 321T402 306Q380 306 365 321T350 357V362L340 363Q339 363 326 363T303 364Q280 364 266 362Q217 352 184 313T151 215Q151 153 199 112T313 70Q341 70 357 85T381 118T394 140Q402 146 424 146Q443 146 447 144Q466 137 466 117Q466 106 457 88T429 47T374 10T291 -6'], - - // LATIN SMALL LETTER D - 0x64: [611,6,525,31,520,'266 573Q266 596 277 603T314 611H352H385Q411 611 419 607T435 586V76H498Q512 67 516 60T520 38Q520 9 498 1H436Q429 1 417 1T398 0Q375 0 363 7T351 34V43L342 36Q288 -6 223 -6Q143 -6 87 58T31 216Q31 307 88 372T230 437Q292 437 342 405L351 399V535H320L289 536Q266 543 266 573ZM351 290Q347 302 337 316T302 346T244 361Q193 361 154 319T115 215Q115 152 152 111T235 70Q314 70 351 170V290'], - - // LATIN SMALL LETTER E - 0x65: [440,6,525,48,465,'48 217Q48 295 100 361T248 439L258 440Q268 440 274 440Q329 438 369 416T428 359T456 292T464 228Q464 215 461 208T454 198T442 190L288 189H135L138 179Q153 132 199 102T303 71Q336 71 353 86T380 120T398 143Q404 146 422 146Q453 146 462 126Q464 120 464 116Q464 84 416 39T285 -6Q187 -6 118 59T48 217ZM377 264Q371 291 365 306T341 338T294 362Q288 363 264 363Q225 363 190 336T139 264H377'], - - // LATIN SMALL LETTER F - 0x66: [617,-1,525,35,437,'43 395Q44 405 44 408T47 416T53 423T66 431H176V461Q176 500 182 518Q201 570 252 593T353 617Q399 614 418 593T437 548Q437 528 424 514T387 499Q365 499 353 511T338 537V541H328Q275 536 261 494Q260 490 260 460V431H327Q334 431 346 431T364 432Q392 432 404 425T416 393T405 362T365 355H327H260V76H319Q375 76 388 71T401 38Q401 27 400 23T395 12T379 1H58Q47 6 42 12T36 23T35 38Q35 65 53 73Q59 76 117 76H176V355H121H93Q64 355 54 362T43 395'], - - // LATIN SMALL LETTER G - 0x67: [442,229,525,28,510,'60 274Q60 337 107 386T233 436Q278 436 316 417L329 410L338 416Q384 442 427 442T489 423T509 381T494 345T460 332Q449 332 440 338Q432 341 427 348T419 360T415 365Q414 364 410 364L383 355Q406 320 406 274Q406 211 358 162T233 112Q189 112 155 128L146 133Q142 125 142 115Q142 99 150 85T175 71Q182 72 187 70Q188 70 195 70T218 70T254 69Q259 69 275 69T297 69T318 68T340 66T361 62T384 57T405 49T428 38Q495 -1 495 -76Q495 -143 427 -186T262 -229Q161 -229 94 -185T29 -73Q30 -60 33 -48T39 -26T47 -8T57 8T67 20T77 30T86 38L91 43Q91 44 86 53T75 80T70 117Q70 142 89 183L83 194Q60 232 60 274ZM321 274Q321 312 296 337T230 362Q197 362 171 338T145 274Q145 235 170 211T233 187Q273 187 297 212T321 274ZM422 -78Q422 -54 408 -38T366 -15T315 -6T255 -4H200Q198 -4 193 -4T183 -3Q148 -3 125 -26T102 -78Q102 -110 151 -132T261 -154Q321 -154 371 -132T422 -78'], - - // LATIN SMALL LETTER H - 0x68: [611,-1,525,4,520,'4 573Q4 596 15 603T52 611H90H124Q146 611 155 608T171 591Q173 586 173 489Q173 394 175 394L186 402Q197 410 219 420T269 434Q278 436 306 436Q343 436 371 423Q411 402 423 365T436 265Q436 257 436 239T435 211V198V76H498Q512 67 516 60T520 38Q520 9 498 1H308Q286 10 286 32V38V46Q286 65 303 73Q309 76 329 76H351V188Q351 204 351 230T352 266Q352 321 341 341T288 361Q253 361 222 341T176 274L174 264L173 170V76H236Q250 67 254 60T258 38Q258 9 236 1H27Q4 8 4 38Q4 53 8 60T27 76H89V535H58L27 536Q4 543 4 573'], - - // LATIN SMALL LETTER I - 0x69: [612,-1,525,72,462,'202 538T202 559T218 596T260 612Q283 612 300 597T317 560Q317 538 300 523T260 507Q235 507 219 522ZM411 76Q441 76 451 69T462 38Q462 29 462 26T460 18T453 9T440 1H94Q72 8 72 33V38Q72 46 72 49T74 58T81 68T94 76H233V355H167L102 356Q80 363 80 393Q80 418 91 425T138 432Q145 432 165 432T200 431H295Q297 429 303 425T310 420T314 415T317 404T317 389T318 363Q318 354 318 314T317 241V76H378H411'], - - // LATIN SMALL LETTER J - 0x6A: [612,228,525,48,377,'261 559Q261 580 277 596T319 612Q342 612 359 597T376 560T360 523T320 507Q296 507 279 523T261 559ZM75 -91T100 -91T138 -107T152 -144V-150L160 -151H193H203Q241 -151 267 -121Q284 -97 288 -73T292 23V151V355H218L145 356Q123 365 123 387V393Q123 422 145 430H148Q151 430 156 430T169 430T185 430T205 431T227 431T251 431H354Q356 430 360 427T365 424T369 420T372 416T373 410T375 402T376 391T377 376T377 356Q377 345 377 286T376 176Q376 -67 371 -88Q362 -123 342 -151T299 -194Q254 -228 180 -228Q84 -226 56 -177Q49 -162 48 -148Q48 -122 61 -107'], - - // LATIN SMALL LETTER K - 0x6B: [611,0,525,13,507,'13 42Q13 63 23 69T69 76H102V535H69H54Q34 535 24 542T13 573Q13 588 15 593Q22 605 29 608T56 611H95Q113 611 122 611T140 610T152 609T159 607T163 603T167 597T173 589V413L174 237L295 355H275Q260 355 253 356T239 367T232 393Q232 419 243 425T304 431H359H464Q479 422 482 415T485 393Q485 364 464 356L431 355H398L293 254L427 76H486Q501 67 504 60T507 38Q507 28 507 24T501 12T486 1H314Q292 8 292 38Q292 62 308 73Q312 75 326 76L338 77L290 140Q279 154 267 171T248 196L242 204L207 171L173 139V76H206H221Q241 76 251 69T262 38Q262 11 244 3Q240 1 138 1Q123 1 100 1T70 0Q32 0 23 7T13 42'], - - // LATIN SMALL LETTER L - 0x6C: [612,-1,525,51,474,'51 573Q51 602 73 610H76Q79 610 84 610T97 610T113 610T133 611T155 611T179 611H282Q301 598 304 586V76H452Q466 67 470 60T474 38Q474 10 452 1H73Q51 9 51 32V38Q51 54 54 60T73 76H220V535H146L73 536Q51 545 51 567V573'], - - // LATIN SMALL LETTER M - 0x6D: [437,-1,525,-12,536,'133 76Q156 74 164 67T172 38Q172 9 151 1H11Q-12 8 -12 38Q-12 61 5 73Q10 75 28 76H45V355H28Q10 356 5 358Q-12 370 -12 393Q-12 419 11 431H52H70Q91 431 100 427T116 405Q163 436 200 436Q255 436 281 390L285 394Q289 398 292 400T301 407T314 415T329 423T346 429T366 434T389 436H392Q425 436 448 411Q469 390 474 360T480 268V232V203V76H497Q520 74 528 67T536 38Q536 9 515 1H396Q374 9 374 32V38Q374 73 402 76H409V191V242Q409 317 404 339T375 361Q343 361 323 332T299 264Q298 258 298 165V76H315Q338 74 346 67T354 38Q354 9 333 1H214Q192 9 192 32V38Q192 73 220 76H227V191V242Q227 317 222 339T193 361Q161 361 141 332T117 264Q116 258 116 165V76H133'], - - // LATIN SMALL LETTER N - 0x6E: [436,-1,525,4,520,'89 431Q94 431 105 431T122 432Q173 432 173 399Q173 394 175 394Q176 394 190 404T233 425T298 436Q343 436 371 423Q411 402 423 365T436 265Q436 257 436 239T435 211V198V76H498Q512 67 516 60T520 38Q520 9 498 1H308Q286 9 286 32V38V45Q286 65 303 73Q309 76 329 76H351V188Q351 204 351 230T352 266Q352 321 341 341T288 361Q253 361 222 341T176 274L174 264L173 170V76H236Q250 67 254 60T258 38Q258 9 236 1H27Q4 8 4 38Q4 53 8 60T27 76H89V355H58L27 356Q4 363 4 393Q4 408 8 415T27 431H89'], - - // LATIN SMALL LETTER O - 0x6F: [440,6,525,52,472,'52 216Q52 318 118 379T261 440Q343 440 407 378T472 216Q472 121 410 58T262 -6Q176 -6 114 58T52 216ZM388 225Q388 281 351 322T261 364Q213 364 175 325T136 225Q136 158 174 114T262 70T350 114T388 225'], - - // LATIN SMALL LETTER P - 0x70: [437,221,525,4,492,'89 431Q93 431 104 431T121 432Q173 432 173 401V396L182 402Q237 437 305 437Q376 437 434 378T492 217Q492 146 459 93T382 17T291 -6Q261 -6 232 5T188 26L174 37Q173 37 173 -54V-146H236Q250 -155 254 -162T258 -184Q258 -213 236 -221H27Q4 -214 4 -184Q4 -169 8 -162T27 -146H89V355H58L27 356Q4 363 4 393Q4 408 8 415T27 431H89ZM409 215Q409 269 377 315T283 361Q255 361 224 344T177 297L173 290V167Q189 124 213 97T278 70Q330 70 369 111T409 215'], - - // LATIN SMALL LETTER Q - 0x71: [437,222,525,34,545,'34 215Q34 309 91 368T222 436Q224 436 231 436T242 437Q309 437 372 390V401Q372 419 381 428T414 437Q426 437 432 436T444 430T456 412V-146H489H504Q524 -146 534 -153T545 -184Q545 -211 527 -219Q523 -221 414 -221Q398 -221 374 -221T342 -222Q304 -222 294 -216T283 -184Q283 -157 301 -149Q307 -146 339 -146H372V-51Q372 43 371 43L364 38Q357 33 345 26T318 12T280 -1T236 -6Q155 -6 95 55T34 215ZM117 215Q117 152 157 111T250 70Q289 70 318 92T363 146Q372 163 372 192V215L371 263Q339 360 254 360Q206 360 162 321T117 215'], - - // LATIN SMALL LETTER R - 0x72: [437,-1,525,24,487,'327 76Q359 76 369 70T380 38Q380 10 359 1H47Q24 8 24 38Q24 54 28 61T47 76H145V355H96L47 356Q24 363 24 393Q24 409 28 416T47 431H207Q223 419 226 414T229 393V387V369Q297 437 394 437Q436 437 461 417T487 368Q487 347 473 332T438 317Q428 317 420 320T407 327T398 337T393 347T390 356L388 361Q348 356 324 345Q228 299 228 170Q228 161 228 151T229 138V76H293H327'], - - // LATIN SMALL LETTER S - 0x73: [440,6,525,71,458,'72 317Q72 361 108 396T229 439Q231 439 245 439T268 440Q303 439 324 435T353 427T363 423L372 432Q380 440 397 440Q430 440 430 395Q430 390 430 380T429 366V335Q429 311 422 302T387 293Q364 293 355 300T346 316T343 336T325 353Q306 364 257 364Q209 364 178 351T147 317Q147 284 231 272Q327 256 357 247Q458 210 458 129V121Q458 74 413 34T271 -6Q246 -6 224 -3T189 5T165 14T150 22T144 26Q142 23 139 18T135 11T132 6T128 1T124 -2T119 -4T113 -5T104 -6Q84 -6 78 6T71 43Q71 48 71 60T72 79Q72 132 73 141T81 157Q90 166 115 166Q135 166 142 162T157 140Q168 108 191 90T260 70Q297 70 323 76T361 91T379 110T384 129Q384 157 346 171T247 195T165 212Q119 228 96 256T72 317'], - - // LATIN SMALL LETTER T - 0x74: [554,6,525,25,448,'25 395Q26 405 26 408T29 416T35 423T48 431H145V481L146 532Q154 547 161 550T184 554H189Q218 554 227 534Q229 529 229 480V431H405Q406 430 411 427T418 422T422 416T426 407T427 393Q427 387 427 382T424 374T421 368T417 363T413 360T408 358L405 356L317 355H229V249Q229 237 229 214T228 179Q228 126 241 98T295 70Q354 70 365 149Q366 167 375 174Q383 182 407 182H415Q438 182 446 166Q448 161 448 148Q448 84 398 39T282 -6Q226 -6 189 29T146 128Q145 134 145 247V355H96H72Q45 355 35 362T25 395'], - - // LATIN SMALL LETTER U - 0x75: [431,5,525,4,520,'4 393Q4 416 15 423T52 431H90Q141 431 151 429T168 417Q171 412 173 409V254L174 100Q182 70 244 70Q320 70 344 119Q349 130 350 144T351 248V355H320L289 356Q266 363 266 393Q266 408 270 415T289 431H351H386Q409 431 418 428T433 411Q435 406 435 241V76H498Q512 67 516 60T520 38Q520 9 498 1H436H394Q372 1 364 5T351 26L342 21Q293 -5 227 -5Q118 -5 96 67Q91 82 90 101T89 227V355H58L27 356Q4 363 4 393'], - - // LATIN SMALL LETTER V - 0x76: [432,4,525,24,500,'24 392Q24 417 36 424T79 432Q85 432 103 432T132 431H215Q229 422 233 415T237 393Q237 355 198 355H193H172L262 77L352 355H331H323Q288 355 288 393Q288 409 291 415T310 431H478Q491 423 495 416T500 393Q500 364 478 356L452 355H426L374 190Q320 24 318 20Q307 -4 273 -4H262H251Q217 -4 206 20Q204 24 150 190L98 355H72L47 356Q24 363 24 392'], - - // LATIN SMALL LETTER W - 0x77: [431,4,525,16,508,'54 355Q16 355 16 388V393Q16 423 37 430Q41 431 125 431H162Q206 431 218 425T230 393Q230 366 212 358Q206 355 174 355Q141 355 141 354L150 296Q181 110 181 89V84Q182 85 183 96Q185 118 199 173T218 237Q223 247 245 259H264H268Q294 259 309 240Q315 229 329 174T343 92Q343 84 344 84V86Q344 88 344 91T345 97Q347 125 356 187T374 301T383 354Q383 355 350 355H333Q314 355 304 362T294 393Q294 420 312 428Q318 431 401 431H440Q485 431 496 425T508 393Q508 382 508 377T498 363T470 355L455 354Q455 353 441 271T413 104T396 16Q384 -4 355 -4H351Q315 -4 305 9T280 79Q278 90 276 96Q265 149 265 169Q265 176 264 169Q263 166 263 162Q261 130 248 79T230 18Q220 -4 183 -4H175L151 -3Q134 5 127 17L112 102Q97 188 83 270T69 354Q62 355 54 355'], - - // LATIN SMALL LETTER X - 0x78: [432,-1,525,29,495,'35 393Q35 417 46 424T89 432Q95 432 112 432T141 431H223Q238 422 241 415T244 393Q244 389 244 383T237 367T216 355Q209 355 209 354L234 319Q259 286 260 286L308 354Q308 355 301 355Q285 356 278 365T270 384L271 393Q271 420 289 428Q295 431 376 431H459Q460 430 465 427T472 422T476 416T480 407T481 393Q481 368 470 362T434 355H425H392L344 290Q295 225 295 223Q294 223 309 203T350 149L405 77L439 76H453Q474 76 484 69T495 38Q495 10 473 1H303Q281 9 281 32V38Q281 49 282 54T290 67T313 76Q324 76 324 77L259 173L197 77Q202 76 209 76Q225 75 233 68T241 55T242 38Q242 28 242 24T236 12T221 1H51Q29 9 29 32V38Q29 48 29 51T31 59T38 67T51 76H117L171 149Q224 222 224 223L124 355H90H78Q54 355 45 361T35 393'], - - // LATIN SMALL LETTER Y - 0x79: [431,228,525,26,501,'26 393Q26 417 37 424T80 431H134H217Q232 422 235 416T239 393Q239 379 236 371T226 360T214 356T197 355L179 354V353L188 330Q197 306 209 272T235 201T259 133T271 89V84L274 95Q279 122 298 185T335 300T352 354Q352 355 331 355Q312 355 304 358Q288 368 288 393Q288 408 291 415T310 431H478Q479 430 484 427T491 422T495 416T499 407T500 393Q500 376 493 367T479 357T458 355H452Q426 355 425 353Q420 337 351 124T280 -94Q240 -195 168 -220Q147 -228 125 -228Q89 -228 66 -201T42 -139Q42 -116 56 -102T93 -87Q117 -87 130 -102T144 -135V-138H126Q121 -148 121 -150T130 -152Q182 -147 207 -87Q211 -78 223 -40T236 1Q230 10 102 355H75L49 356Q26 363 26 393'], - - // LATIN SMALL LETTER Z - 0x7A: [432,-1,525,34,475,'56 1Q40 7 37 14T34 41Q34 59 36 64Q39 67 43 73Q65 95 191 213T341 355H133V334Q133 306 124 297Q116 289 91 289H83Q60 289 51 308Q49 313 49 361L50 409Q59 427 72 430H78Q83 430 92 430T115 430T144 430T179 431T219 431T262 431H450Q452 430 455 428T459 424T463 422T466 419T468 416T469 413T470 409T471 404T472 398T472 391Q472 374 469 368L462 358Q453 349 315 218Q210 122 164 76H391V103Q391 136 400 146Q409 155 433 155Q464 155 473 135Q475 130 475 78V46Q475 24 472 16T453 1H56'], - - // LEFT CURLY BRACKET - 0x7B: [694,83,525,50,475,'430 -7H436Q449 -7 456 -8T469 -19T475 -45Q475 -69 466 -76T434 -83H419Q386 -82 363 -80T308 -69T253 -41T223 7L221 17L220 118V220L218 224Q215 229 214 230T210 235T204 241T195 246T184 252T170 257T151 262T127 265Q118 267 100 267T69 270T52 283Q50 288 50 306V314Q50 335 67 341Q68 342 102 343T172 355T217 386L220 392V493L221 595Q225 611 230 621T251 650T304 679T395 693L406 694Q418 694 426 694Q458 694 466 685Q475 676 475 656T466 627Q458 618 430 618Q319 618 305 587L304 486Q304 476 304 458T305 431Q305 385 295 358T251 311L243 306Q243 305 254 298T281 274T302 231Q304 223 304 125L305 25Q309 16 316 10T352 -1T430 -7'], - - // VERTICAL LINE - 0x7C: [694,82,525,228,297,'228 668Q241 694 262 694Q268 694 273 693T282 688T287 682T293 674L297 668V-57Q282 -82 262 -82Q239 -82 228 -57V668'], - - // RIGHT CURLY BRACKET - 0x7D: [694,83,525,49,475,'49 655Q49 674 56 682T73 692T106 694Q141 693 167 690T224 677T275 647T303 595L305 392Q313 367 347 356T417 344T457 341Q475 335 475 306Q475 292 473 285T464 273T451 269T430 267Q352 262 327 246Q311 236 305 220L303 17L301 7Q294 -16 277 -33T242 -60T196 -74T150 -80T106 -83Q78 -83 72 -82T58 -74Q49 -65 49 -44Q49 -24 58 -16Q66 -7 94 -7Q143 -7 171 -1T207 10T220 25V125Q220 223 222 231Q228 257 243 274T270 299L281 306Q234 329 222 381Q220 387 220 486V587Q212 597 207 601T173 612T94 618Q66 618 58 627Q49 635 49 655'], - - // TILDE - 0x7E: [611,-466,525,87,437,'125 467Q113 467 100 480T87 509Q88 520 111 543Q172 602 209 609Q219 611 224 611Q246 611 263 596T290 566T304 551Q319 551 367 594Q383 610 396 610H400Q411 610 424 597T437 568Q436 557 413 534Q348 469 305 466Q278 466 260 481T234 511T220 526Q205 526 157 483Q141 467 129 467H125'], - - // ?? - 0x7F: [612,-519,525,104,421,'104 565Q104 590 120 600T155 611Q175 611 180 610Q217 599 217 565Q217 545 202 532T166 519H159H155Q120 519 107 547Q104 553 104 565ZM307 565Q307 580 317 593T346 610Q348 610 350 610T354 611Q355 612 367 612Q395 611 408 597T421 565T409 534T365 519H358Q336 519 322 532T307 565'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js deleted file mode 100644 index b7a01916..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/CombDiacritMarks.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'], - { - // COMBINING GRAVE ACCENT - 0x300: [611,-485,0,-409,-195,'-409 569Q-409 586 -399 596T-377 610Q-376 610 -372 610T-365 611Q-355 610 -284 588T-210 563Q-195 556 -195 537Q-195 533 -197 522T-208 498T-229 485Q-238 485 -312 508T-388 533Q-400 538 -405 552Q-409 559 -409 569'], - - // COMBINING ACUTE ACCENT - 0x301: [611,-485,0,-331,-117,'-297 485Q-315 485 -323 505T-331 537Q-331 556 -316 563Q-307 569 -170 610Q-169 610 -165 610T-157 611Q-141 609 -131 600T-119 584T-117 569Q-117 555 -124 545T-138 533Q-140 531 -214 508T-297 485'], - - // COMBINING CIRCUMFLEX ACCENT - 0x302: [611,-460,0,-429,-97,'-387 460Q-404 460 -416 479T-429 512Q-429 527 -419 534Q-416 536 -347 571T-272 609Q-269 611 -261 611Q-254 610 -182 574Q-168 567 -156 561T-136 550T-123 543T-114 538T-109 535T-105 532T-103 529T-100 525Q-97 518 -97 512Q-97 498 -109 479T-139 460H-141Q-148 460 -209 496L-263 526L-317 496Q-378 460 -387 460'], - - // COMBINING TILDE - 0x303: [611,-466,0,-438,-88,'-400 467Q-412 467 -425 480T-438 509Q-437 520 -414 543Q-353 602 -316 609Q-306 611 -301 611Q-279 611 -262 596T-235 566T-221 551Q-206 551 -158 594Q-142 610 -129 610H-125Q-114 610 -101 597T-88 568Q-89 557 -112 534Q-177 469 -220 466Q-247 466 -265 481T-291 511T-305 526Q-320 526 -368 483Q-384 467 -396 467H-400'], - - // COMBINING MACRON - 0x304: [578,-500,0,-452,-74,'-429 500Q-440 504 -445 511T-450 522T-452 536Q-452 552 -451 556Q-445 571 -434 574T-379 578Q-369 578 -330 578T-261 577H-96Q-94 575 -90 573T-85 569T-81 564T-77 558T-75 550T-74 538Q-74 522 -78 515T-96 500H-429'], - - // COMBINING BREVE - 0x306: [611,-504,0,-447,-79,'-446 579Q-446 611 -412 611H-407Q-383 609 -378 599T-358 587Q-340 583 -263 583H-235Q-159 583 -152 593Q-145 611 -120 611H-117H-115Q-79 611 -79 577Q-80 552 -95 536T-140 514T-191 506T-251 504H-263H-274Q-311 504 -334 505T-386 513T-431 536T-446 579'], - - // COMBINING DIAERESIS - 0x308: [612,-519,0,-421,-104,'-421 565Q-421 590 -405 600T-370 611Q-350 611 -345 610Q-308 599 -308 565Q-308 545 -323 532T-359 519H-366H-370Q-405 519 -418 547Q-421 553 -421 565ZM-218 565Q-218 580 -208 593T-179 610Q-177 610 -175 610T-171 611Q-170 612 -158 612Q-130 611 -117 597T-104 565T-116 534T-160 519H-167Q-189 519 -203 532T-218 565'], - - // COMBINING RING ABOVE - 0x30A: [619,-499,0,-344,-182,'-344 558Q-344 583 -321 601T-262 619Q-225 619 -204 600T-182 560Q-182 536 -205 518T-264 499Q-301 499 -322 519T-344 558ZM-223 559Q-223 570 -234 579T-261 588T-289 580T-303 559Q-303 549 -293 540T-263 530T-234 539T-223 559'], - - // COMBINING CARON - 0x30C: [577,-449,0,-427,-99,'-427 525Q-427 542 -417 559T-392 577Q-385 577 -323 553L-263 530L-203 553Q-143 576 -136 576Q-118 576 -109 559T-99 525Q-99 508 -107 502T-161 481Q-177 475 -186 472Q-256 449 -263 449Q-272 449 -339 472T-412 498Q-420 501 -423 508T-427 520V525'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js deleted file mode 100644 index adff7e74..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/Main.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'] = { - directory: 'Typewriter/Regular', - family: 'MathJax_Typewriter', - id: 'MJTT', - Ranges: [ - [0x0,0x7F,"BasicLatin"], - [0x80,0xFFFF,"Other"], - [0x300,0x36F,"CombDiacritMarks"] - ] - - -}; - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js deleted file mode 100644 index 3be25ad6..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js +++ /dev/null @@ -1,74 +0,0 @@ -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/Other.js - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - * - */ - -MathJax.Hub.Insert( - MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'], - { - // LATIN SMALL LETTER DOTLESS I - 0x131: [432,-1,525,72,462,'411 76Q441 76 451 69T462 38Q462 29 462 26T460 18T453 9T440 1H94Q72 8 72 33V38Q72 46 72 49T74 58T81 68T94 76H233V355H167L102 356Q80 363 80 393Q80 418 91 425T138 432Q145 432 165 432T200 431H295Q297 429 303 425T310 420T314 415T317 404T317 389T318 363Q318 354 318 314T317 241V76H378H411'], - - // LATIN SMALL LETTER DOTLESS J - 0x237: [432,228,525,48,377,'75 -91T100 -91T138 -107T152 -144V-150L160 -151H193H203Q241 -151 267 -121Q284 -97 288 -73T292 23V151V355H218L145 356Q123 365 123 387V393Q123 422 145 430H148Q151 430 156 430T169 430T185 430T205 431T227 431T251 431H354Q356 430 360 427T365 424T369 420T372 416T373 410T375 402T376 391T377 376T377 356Q377 345 377 286T376 176Q376 -67 371 -88Q362 -123 342 -151T299 -194Q254 -228 180 -228Q84 -226 56 -177Q49 -162 48 -148Q48 -122 61 -107'], - - // GREEK CAPITAL LETTER GAMMA - 0x393: [611,0,525,25,488,'466 611Q468 609 473 606T479 602T483 598T486 593T487 586T488 576T488 562V526V488Q488 452 470 444Q466 442 446 442Q421 442 413 450Q406 457 405 463T404 501V535H185V76H222H239Q260 76 270 69T281 38Q281 12 270 6T209 0H155H104Q48 0 37 5T25 38Q25 59 35 69Q44 76 76 76H101V535H76H64Q36 535 27 552Q25 557 25 573T27 594Q33 606 43 608T106 611H258H466'], - - // GREEK CAPITAL LETTER DELTA - 0x394: [623,0,525,35,489,'232 622H237Q242 622 249 622T264 623H293Q295 622 300 619T308 613T314 608T319 601Q322 597 405 316T489 19Q489 9 473 1Q471 0 262 0T51 1Q35 9 35 19Q35 34 118 315T205 601Q214 616 232 622ZM267 501Q266 504 265 510T263 521T261 526V523Q261 508 211 332Q142 91 138 82H386Q385 84 345 224Q281 439 267 501'], - - // GREEK CAPITAL LETTER THETA - 0x398: [621,10,525,56,468,'102 588Q140 621 240 621Q323 621 335 620Q393 613 422 588Q450 560 459 493T468 306Q468 185 460 118T422 23Q382 -10 289 -10H262H235Q142 -10 102 23Q74 50 65 118T56 306Q56 427 64 494T102 588ZM262 66Q285 66 300 67T329 74T351 86T366 108T376 138T381 181T383 235T384 306Q384 452 371 492T304 544Q296 545 251 545Q230 545 215 543T188 534T169 520T155 497T147 466T143 423T141 371T140 306Q140 247 141 215T146 151T158 107T179 82T212 69T262 66ZM179 356Q187 378 219 378H223Q240 377 249 372T260 360L261 355Q261 353 262 353T263 355Q263 362 272 369Q280 377 304 377H310Q325 377 331 374T346 356V256Q338 241 331 238T309 234H304Q280 234 272 242Q263 249 263 256Q263 258 262 258T261 256Q261 249 252 242Q244 234 220 234H216Q186 234 179 256V356'], - - // GREEK CAPITAL LETTER LAMDA - 0x39B: [623,-1,525,30,495,'30 38Q30 57 38 66T70 76Q88 76 88 78Q89 79 117 207T173 466T205 602Q213 617 231 622H236Q241 622 249 622T264 623H294Q315 609 319 602Q321 598 350 468T407 208T435 78Q436 76 454 76Q470 76 478 73Q495 62 495 38Q495 10 473 1H313Q290 10 290 38Q290 56 297 65T310 74T331 76Q350 76 350 78Q349 80 328 176T285 383T263 520Q263 526 262 527Q261 527 261 521Q261 497 240 388T198 181T174 78Q174 76 193 76Q220 75 227 65Q234 56 234 38Q234 28 234 24T228 13T212 1H52Q30 9 30 32V38'], - - // GREEK CAPITAL LETTER XI - 0x39E: [612,-1,525,33,491,'37 555V569Q37 605 60 610H66Q71 610 81 610T105 610T137 610T175 611T217 611T264 611H465Q467 609 471 606T477 602T481 599T484 594T485 588T487 580T487 570T487 554Q487 526 486 520T478 506Q470 498 445 498T412 506Q403 515 403 531V539H121V531Q121 498 86 498H79H71Q48 498 39 517Q37 522 37 555ZM109 318V346Q109 366 113 374T132 389H170Q193 379 193 359V354H331V359Q331 379 354 389H392Q407 381 411 373T415 342V318V290Q415 270 411 262T392 247H354Q331 257 331 277V282H193V277Q193 257 170 247H132Q117 255 113 263T109 294V318ZM56 1Q41 7 37 15T33 42V58V80Q33 101 41 110T77 119Q87 118 91 118T103 114T114 103T117 83V72H407V83Q407 101 416 110T449 119T482 110Q489 103 490 97T491 59V41Q491 24 487 16T469 1H56'], - - // GREEK CAPITAL LETTER PI - 0x3A0: [611,-1,525,16,508,'60 535Q45 535 38 536T24 545T16 571Q16 603 36 609Q41 611 264 611H486Q501 602 504 596T508 573Q508 559 505 551T495 540T482 536T464 535H443V76H464H470Q482 76 489 75T502 64T508 38Q508 10 486 1H317Q306 5 301 11T296 21T295 38V44Q295 66 311 73Q318 76 338 76H359V535H165V76H186H192Q204 76 211 75T224 64T230 38Q230 10 208 1H39Q28 5 23 11T18 21T17 38V44Q17 66 33 73Q40 76 60 76H81V535H60'], - - // GREEK CAPITAL LETTER SIGMA - 0x3A3: [612,-1,525,39,484,'40 575Q40 576 40 579T41 583T41 588T43 593T46 597T50 602T55 606T63 610H68Q74 610 84 610T108 610T139 610T176 611T219 611T264 611H462Q464 609 469 606T475 602T479 598T482 593T483 586T484 576T484 562V526V488Q484 452 466 444Q462 442 442 442Q417 442 409 450Q402 457 401 463T400 501V535H153Q153 533 218 430Q233 405 250 378T276 336T286 319Q290 311 290 307Q290 296 239 211Q229 194 223 184L161 78H400V112Q400 142 401 149T409 163Q418 172 442 172Q473 172 482 152Q484 147 484 86V49Q484 25 481 17T462 1H63Q41 10 41 31Q41 39 43 44Q43 45 81 109T157 238L195 303Q195 307 119 430T41 557T40 575'], - - // GREEK CAPITAL LETTER UPSILON - 0x3A5: [623,-1,525,38,486,'38 494Q38 549 74 585T152 621Q168 621 179 619T209 606T241 566T262 492Q262 494 265 507T270 526T276 547T285 569T298 589T315 606T337 617T365 622Q416 622 451 584T486 494Q486 470 469 461Q464 459 445 459H437Q416 459 406 476Q404 479 403 502T393 541T365 558Q350 558 340 548T323 519T312 475T307 419T305 354T304 282Q304 254 304 239V76H358Q372 67 376 60T380 38Q380 10 358 1H167Q145 9 145 32V38Q145 54 148 60T167 76H220V239Q220 256 220 289T220 338T219 383T217 426T214 463T209 497T201 522T189 543T174 555Q168 558 159 558Q139 558 131 541T121 502T118 476Q108 459 84 459H79H71Q38 459 38 494'], - - // GREEK CAPITAL LETTER PHI - 0x3A6: [612,-1,525,41,483,'139 573V578Q139 603 161 610H166Q172 610 182 610T204 610T232 611T264 611H364Q379 602 382 595T385 573Q385 544 364 536L334 535H304V441H306Q313 440 325 438T367 426T421 403T464 364T483 306Q483 251 430 216T317 172Q315 172 313 172T308 170H306H304V76H364Q379 67 382 60T385 38Q385 28 385 24T379 12T364 1H161Q139 8 139 33V38Q139 46 139 49T141 58T148 68T161 76H220V170H218Q211 171 199 173T157 185T103 208T60 248T41 306Q41 361 94 396T208 439Q210 439 212 439T216 440L218 441H220V535H190L161 536Q139 543 139 573ZM124 306Q124 286 147 271T194 252L218 247Q220 247 220 306V364H218Q212 364 192 359T148 340T124 306ZM400 305Q400 325 377 340T330 360L306 364Q304 364 304 306Q304 247 306 247Q312 247 332 252T376 271T400 305'], - - // GREEK CAPITAL LETTER PSI - 0x3A8: [611,-1,525,37,487,'37 439Q38 451 40 457T52 469T77 475H79Q96 475 107 473T132 456T152 411Q152 409 153 396T154 372V365Q154 291 198 261Q215 251 219 251Q220 251 220 393V535H193L167 536Q145 545 145 567V573Q145 602 167 610Q168 611 264 611H358Q372 602 376 595T380 573Q380 545 358 536L331 535H304V393Q304 251 305 251Q307 251 310 252T323 259T339 272T355 295T367 331Q368 337 370 372Q370 382 371 395T372 411Q376 434 384 448T404 467T425 474T447 475Q461 474 467 473T480 463T487 437Q487 419 481 412Q476 403 459 398Q457 390 453 344T431 263Q415 228 383 205T332 177T306 172H304V76H358Q372 67 376 60T380 38Q380 10 358 1H167Q145 9 145 32V38Q145 54 148 60T167 76H220V172H218Q211 172 192 177T141 205T93 263Q74 298 71 343T67 391L66 398Q47 403 42 411T37 433V439'], - - // GREEK CAPITAL LETTER OMEGA - 0x3A9: [622,-1,525,32,492,'40 404Q40 498 106 560T258 622Q357 622 420 558T484 406Q484 359 469 311T428 205T392 117Q382 84 382 78Q382 76 402 76H421V87Q421 110 431 116T457 123Q474 123 483 114Q490 107 491 100T492 61V42Q492 11 474 3Q470 1 397 1H324Q302 9 302 32V39Q302 104 351 225T400 405Q400 462 361 504T262 546Q200 546 162 504T124 405Q124 346 171 230T223 42V36Q223 11 205 3Q201 1 128 1H55Q39 7 33 23L32 60V80Q32 94 34 102T44 116T68 123Q103 123 103 87V76H123Q142 76 142 78Q142 100 117 156T66 282T40 404'], - - // ?? - 0x7E2: [611,-287,525,175,349,'205 554Q205 577 221 594T263 611Q302 611 325 577T349 490Q349 409 298 347Q285 330 258 309T214 287Q203 289 189 302T175 327Q175 341 185 349T213 369T245 402Q269 437 273 483V497Q264 496 263 496Q240 496 223 513T205 554'], - - // ?? - 0x7E3: [681,-357,525,176,350,'176 479Q176 563 227 622T310 681Q324 680 337 667T350 641Q350 627 340 619T312 599T280 566Q256 531 252 485V471Q261 472 262 472Q285 472 302 455T320 414Q320 389 303 373T261 357Q223 357 200 391T176 479'], - - // PRIME - 0x2032: [623,-334,525,211,313,'211 572Q211 593 226 608T262 623Q281 623 297 610T313 573Q313 561 307 465Q301 370 299 357T284 336Q279 334 262 334Q240 334 231 343Q226 350 225 362T217 465Q211 549 211 572'] - } -); - -MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata-extra.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata-extra.js deleted file mode 100644 index 10629f46..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata-extra.js +++ /dev/null @@ -1,241 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/fontdata-extra.js - * - * Adds extra stretchy characters to the TeX font data. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -(function (SVG) { - var VERSION = "2.7.5"; - - var DELIMITERS = SVG.FONTDATA.DELIMITERS; - - var MAIN = "MathJax_Main", - BOLD = "MathJax_Main-bold", - AMS = "MathJax_AMS", - SIZE1 = "MathJax_Size1", - SIZE4 = "MathJax_Size4"; - var H = "H", V = "V"; - var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // add depth for arrow extender - var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender - - var delim = { - 0x003D: // equal sign - { - dir: H, HW: [[767,MAIN]], stretch: {rep:[0x003D,MAIN]} - }, - 0x219E: // left two-headed arrow - { - dir: H, HW: [[1000,AMS]], stretch: {left:[0x219E,AMS], rep:ARROWREP} - }, - 0x21A0: // right two-headed arrow - { - dir: H, HW: [[1000,AMS]], stretch: {right:[0x21A0,AMS], rep:ARROWREP} - }, - 0x21A4: // left arrow from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x2190,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} - }, - 0x21A5: // up arrow from bar - { - dir: V, HW: [], - stretch: {min:.6, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x2191,SIZE1]} - }, - 0x21A6: // right arrow from bar - { - dir: H, HW: [[1000,MAIN]], - stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:ARROWREP, right:[0x2192,MAIN]} - }, - 0x21A7: // down arrow from bar - { - dir: V, HW: [], - stretch: {min:.6, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} - }, - 0x21B0: // up arrow with top leftwards - { - dir: V, HW: [[722,AMS]], - stretch: {top:[0x21B0,AMS], ext:[0x23D0,SIZE1,.097]} - }, - 0x21B1: // up arrow with top right - { - dir: V, HW: [[722,AMS]], - stretch: {top:[0x21B1,AMS,.27], ext:[0x23D0,SIZE1]} - }, - 0x21BC: // left harpoon with barb up - { - dir: H, HW: [[1000,MAIN]], - stretch: {left:[0x21BC,MAIN], rep:ARROWREP} - }, - 0x21BD: // left harpoon with barb down - { - dir: H, HW: [[1000,MAIN]], - stretch: {left:[0x21BD,MAIN], rep:ARROWREP} - }, - 0x21BE: // up harpoon with barb right - { - dir: V, HW: [[888,AMS]], - stretch: {top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} - }, - 0x21BF: // up harpoon with barb left - { - dir: V, HW: [[888,AMS]], - stretch: {top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} - }, - 0x21C0: // right harpoon with barb up - { - dir: H, HW: [[1000,MAIN]], - stretch: {right:[0x21C0,MAIN], rep:ARROWREP} - }, - 0x21C1: // right harpoon with barb down - { - dir: H, HW: [[1000,MAIN]], - stretch: {right:[0x21C1,MAIN], rep:ARROWREP} - }, - 0x21C2: // down harpoon with barb right - { - dir: V, HW: [[888,AMS]], - stretch: {bot:[0x21C2,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} - }, - 0x21C3: // down harpoon with barb left - { - dir: V, HW: [[888,AMS]], - stretch: {bot:[0x21C3,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} - }, - 0x21DA: // left triple arrow - { - dir: H, HW: [[1000,AMS]], - stretch: {left:[0x21DA,AMS], rep:[0x2261,MAIN]} - }, - 0x21DB: // right triple arrow - { - dir: H, HW: [[1000,AMS]], - stretch: {right:[0x21DB,AMS], rep:[0x2261,MAIN]} - }, - 0x23B4: // top square bracket - { - dir: H, HW: [], - stretch: {min:.5, left:[0x250C,AMS,0,-.1], rep:[0x2212,MAIN,0,.325], right:[0x2510,AMS,0,-.1]} - }, - 0x23B5: // bottom square bracket - { - dir: H, HW: [], - stretch: {min:.5, left:[0x2514,AMS,0,.26], rep:[0x2212,MAIN,0,0,0,.25], right:[0x2518,AMS,0,.26]} - }, - 0x23DC: // top paren - { - dir: H, HW: [[778,AMS,0,0x2322],[100,MAIN,0,0x2322]], - stretch: {left:[0xE150,SIZE4], rep:[0xE154,SIZE4], right:[0xE151,SIZE4]} - }, - 0x23DD: // bottom paren - { - dir: H, HW: [[778,AMS,0,0x2323],[100,MAIN,0,0x2323]], - stretch: {left:[0xE152,SIZE4], rep:[0xE154,SIZE4], right:[0xE153,SIZE4]} - }, - 0x23E0: // top tortoise shell - { - dir: H, HW: [], - stretch: {min:1.25, left:[0x2CA,MAIN,-.1], rep:[0x2C9,MAIN,-.05,.13], right:[0x2CB,MAIN], fullExtenders:true} - }, - 0x23E1: // bottom tortoise shell - { - dir: H, HW: [], - stretch: {min:1.5, left:[0x2CB,MAIN,-.1,.1], rep:[0x2C9,MAIN,-.1], right:[0x2CA,MAIN,-.1,.1], fullExtenders:true} - }, - 0x2906: // leftwards double arrow from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x21D0,MAIN], rep:DARROWREP, right:[0x2223,SIZE1,0,-.1]} - }, - 0x2907: // rightwards double arrow from bar - { - dir: H, HW: [], - stretch: {min:.7, left:[0x22A8,AMS,0,-.12], rep:DARROWREP, right:[0x21D2,MAIN]} - }, - 0x294E: // left barb up right barb up harpoon - { - dir: H, HW: [], - stretch: {min:.5, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x21C0,MAIN]} - }, - 0x294F: // up barb right down barb right harpoon - { - dir: V, HW: [], - stretch: {min:.5, top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} - }, - 0x2950: // left barb dow right barb down harpoon - { - dir: H, HW: [], - stretch: {min:.5, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x21C1,MAIN]} - }, - 0x2951: // up barb left down barb left harpoon - { - dir: V, HW: [], - stretch: {min:.5, top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} - }, - 0x295A: // leftwards harpoon with barb up from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} - }, - 0x295B: // rightwards harpoon with barb up from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C0,MAIN]} - }, - 0x295C: // up harpoon with barb right from bar - { - dir: V, HW: [], - stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BE,AMS,.12,0,1.1]} - }, - 0x295D: // down harpoon with barb right from bar - { - dir: V, HW: [], - stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} - }, - 0x295E: // leftwards harpoon with barb down from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} - }, - 0x295F: // rightwards harpoon with barb down from bar - { - dir: H, HW: [], - stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C1,MAIN]} - }, - 0x2960: // up harpoon with barb left from bar - { - dir: V, HW: [], - stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BF,AMS,.12,0,1.1]} - }, - 0x2961: // down harpoon with barb left from bar - { - dir: V, HW: [], - stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} - } - }; - - for (var id in delim) {if (delim.hasOwnProperty(id)) {DELIMITERS[id] = delim[id]}}; - - MathJax.Ajax.loadComplete(SVG.fontDir + "/fontdata-extra.js"); - -})(MathJax.OutputJax.SVG); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata.js deleted file mode 100644 index fa5e1548..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata.js +++ /dev/null @@ -1,1613 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/fonts/TeX/fontdata.js - * - * Initializes the SVG OutputJax to use the MathJax TeX fonts - * for displaying mathematics. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - -(function (SVG,MML,AJAX,HUB) { - var VERSION = "2.7.5"; - - var MAIN = "MathJax_Main", - BOLD = "MathJax_Main-bold", - ITALIC = "MathJax_Math-italic", - AMS = "MathJax_AMS", - SIZE1 = "MathJax_Size1", - SIZE2 = "MathJax_Size2", - SIZE3 = "MathJax_Size3", - SIZE4 = "MathJax_Size4"; - var H = "H", V = "V", EXTRAH = {load:"extra", dir:H}, EXTRAV = {load:"extra", dir:V}; - var STDHW = [[1000,MAIN],[1200,SIZE1],[1800,SIZE2],[2400,SIZE3],[3000,SIZE4]]; - var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // add depth for arrow extender - var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender - - SVG.Augment({ - FONTDATA: { - version: VERSION, - - baselineskip: 1200, - lineH: 800, lineD: 200, - - FONTS: { - "MathJax_Main": "Main/Regular/Main.js", - "MathJax_Main-bold": "Main/Bold/Main.js", - "MathJax_Main-italic": "Main/Italic/Main.js", - "MathJax_Math-italic": "Math/Italic/Main.js", - "MathJax_Math-bold-italic": "Math/BoldItalic/Main.js", - "MathJax_Caligraphic": "Caligraphic/Regular/Main.js", - "MathJax_Size1": "Size1/Regular/Main.js", - "MathJax_Size2": "Size2/Regular/Main.js", - "MathJax_Size3": "Size3/Regular/Main.js", - "MathJax_Size4": "Size4/Regular/Main.js", - "MathJax_AMS": "AMS/Regular/Main.js", - "MathJax_Fraktur": "Fraktur/Regular/Main.js", - "MathJax_Fraktur-bold": "Fraktur/Bold/Main.js", - "MathJax_SansSerif": "SansSerif/Regular/Main.js", - "MathJax_SansSerif-bold": "SansSerif/Bold/Main.js", - "MathJax_SansSerif-italic": "SansSerif/Italic/Main.js", - "MathJax_Script": "Script/Regular/Main.js", - "MathJax_Typewriter": "Typewriter/Regular/Main.js", - "MathJax_Caligraphic-bold": "Caligraphic/Bold/Main.js" - }, - - VARIANT: { - "normal": {fonts:[MAIN,SIZE1,AMS], - offsetG: 0x03B1, variantG: "italic", - remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, - 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, - 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, - 0x2016:0x2225, - 0x2216:[0x2216,"-TeX-variant"], // \smallsetminus - 0x210F:[0x210F,"-TeX-variant"], // \hbar - 0x2032:[0x27,"sans-serif-italic"], // HACK: a smaller prime - 0x29F8:[0x002F,MML.VARIANT.ITALIC]}}, - "bold": {fonts:[BOLD,SIZE1,AMS], bold:true, - offsetG: 0x03B1, variantG: "bold-italic", - remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, - 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, - 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, 0x29F8:[0x002F,"bold-italic"], - 0x2016:0x2225, - 0x219A:"\u2190\u0338", 0x219B:"\u2192\u0338", 0x21AE:"\u2194\u0338", - 0x21CD:"\u21D0\u0338", 0x21CE:"\u21D4\u0338", 0x21CF:"\u21D2\u0338", - 0x2204:"\u2203\u0338", 0x2224:"\u2223\u0338", 0x2226:"\u2225\u0338", - 0x2241:"\u223C\u0338", 0x2247:"\u2245\u0338", - 0x226E:"<\u0338", 0x226F:">\u0338", - 0x2270:"\u2264\u0338", 0x2271:"\u2265\u0338", - 0x2280:"\u227A\u0338", 0x2281:"\u227B\u0338", - 0x2288:"\u2286\u0338", 0x2289:"\u2287\u0338", - 0x22AC:"\u22A2\u0338", 0x22AD:"\u22A8\u0338", -// 0x22AE:"\u22A9\u0338", 0x22AF:"\u22AB\u0338", - 0x22E0:"\u227C\u0338", 0x22E1:"\u227D\u0338"//, -// 0x22EA:"\u22B2\u0338", 0x22EB:"\u22B3\u0338", -// 0x22EC:"\u22B4\u0338", 0x22ED:"\u22B5\u0338" - }}, - "italic": {fonts:[ITALIC,"MathJax_Main-italic",MAIN,SIZE1,AMS], italic:true, - remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, - 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, - 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, - "bold-italic": {fonts:["MathJax_Math-bold-italic",BOLD,SIZE1,AMS], bold:true, italic:true, - remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, - 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, - 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, - "double-struck": {fonts:[AMS, MAIN]}, - "fraktur": {fonts:["MathJax_Fraktur",MAIN,SIZE1,AMS]}, - "bold-fraktur": {fonts:["MathJax_Fraktur-bold",BOLD,SIZE1,AMS], bold:true}, - "script": {fonts:["MathJax_Script",MAIN,SIZE1,AMS]}, - "bold-script": {fonts:["MathJax_Script",BOLD,SIZE1,AMS], bold:true}, - "sans-serif": {fonts:["MathJax_SansSerif",MAIN,SIZE1,AMS]}, - "bold-sans-serif": {fonts:["MathJax_SansSerif-bold",BOLD,SIZE1,AMS], bold:true}, - "sans-serif-italic": {fonts:["MathJax_SansSerif-italic","MathJax_Main-italic",SIZE1,AMS], italic:true}, - "sans-serif-bold-italic": {fonts:["MathJax_SansSerif-italic","MathJax_Main-italic",SIZE1,AMS], bold:true, italic:true}, - "monospace": {fonts:["MathJax_Typewriter",MAIN,SIZE1,AMS]}, - "-tex-caligraphic": {fonts:["MathJax_Caligraphic",MAIN], offsetA: 0x41, variantA: "italic"}, - "-tex-oldstyle": {fonts:["MathJax_Caligraphic",MAIN]}, - "-tex-mathit": {fonts:["MathJax_Main-italic",ITALIC,MAIN,SIZE1,AMS], italic:true, noIC: true, - remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, - 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, - 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, - "-TeX-variant": {fonts:[AMS,MAIN,SIZE1], // HACK: to get larger prime for \prime - remap: { - 0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E, - 0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007, - 0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B, - 0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009, - 0x2216:[0x2216,MML.VARIANT.NORMAL], // \setminus - 0x210F:[0x210F,MML.VARIANT.NORMAL] // \hslash - }}, - "-largeOp": {fonts:[SIZE2,SIZE1,MAIN]}, - "-smallOp": {fonts:[SIZE1,MAIN]}, - "-tex-caligraphic-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"], bold:true, - offsetA: 0x41, variantA: "bold-italic"}, - "-tex-oldstyle-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"], bold:true} - }, - - RANGES: [ - {name: "alpha", low: 0x61, high: 0x7A, offset: "A", add: 32}, - {name: "number", low: 0x30, high: 0x39, offset: "N"}, - {name: "greek", low: 0x03B1, high: 0x03F6, offset: "G"} - ], - - RULECHAR: 0x2212, - - REMAP: { - 0xA: 0x20, // newline - 0x00A0: 0x20, // non-breaking space - 0x203E: 0x2C9, // overline - 0x20D0: 0x21BC, 0x20D1: 0x21C0, // combining left and right harpoons - 0x20D6: 0x2190, 0x20E1: 0x2194, // combining left arrow and lef-right arrow - 0x20EC: 0x21C1, 0x20ED: 0x21BD, // combining low right and left harpoons - 0x20EE: 0x2190, 0x20EF: 0x2192, // combining low left and right arrows - 0x20F0: 0x2A, // combining asterisk - 0xFE37: 0x23DE, 0xFE38: 0x23DF, // OverBrace, UnderBrace - - 0xB7: 0x22C5, // center dot - 0x2B9: 0x2032, // prime, - 0x3D2: 0x3A5, // Upsilon - 0x2206: 0x394, // increment - 0x2015: 0x2014, 0x2017: 0x5F, // horizontal bars - 0x2022: 0x2219, 0x2044: 0x2F, // bullet, fraction slash - 0x2305: 0x22BC, 0x2306: 0x2A5E, // barwedge, doublebarwedge - 0x25AA: 0x25A0, 0x25B4: 0x25B2, // blacksquare, blacktriangle - 0x25B5: 0x25B3, 0x25B8: 0x25B6, // triangle, blacktriangleright - 0x25BE: 0x25BC, 0x25BF: 0x25BD, // blacktriangledown, triangledown - 0x25C2: 0x25C0, // blacktriangleleft - 0x2329: 0x27E8, 0x232A: 0x27E9, // langle, rangle - 0x3008: 0x27E8, 0x3009: 0x27E9, // langle, rangle - 0x2758: 0x2223, // VerticalSeparator - 0x2A2F: 0xD7, // cross product - - 0x25FB: 0x25A1, 0x25FC: 0x25A0, // square, blacksquare - - // - // Letter-like symbols (that appear elsewhere) - // - 0x2102: [0x0043,MML.VARIANT.DOUBLESTRUCK], -// 0x210A: [0x0067,MML.VARIANT.SCRIPT], - 0x210B: [0x0048,MML.VARIANT.SCRIPT], - 0x210C: [0x0048,MML.VARIANT.FRAKTUR], - 0x210D: [0x0048,MML.VARIANT.DOUBLESTRUCK], - 0x210E: [0x0068,MML.VARIANT.ITALIC], - 0x2110: [0x004A,MML.VARIANT.SCRIPT], - 0x2111: [0x0049,MML.VARIANT.FRAKTUR], - 0x2112: [0x004C,MML.VARIANT.SCRIPT], - 0x2115: [0x004E,MML.VARIANT.DOUBLESTRUCK], - 0x2119: [0x0050,MML.VARIANT.DOUBLESTRUCK], - 0x211A: [0x0051,MML.VARIANT.DOUBLESTRUCK], - 0x211B: [0x0052,MML.VARIANT.SCRIPT], - 0x211C: [0x0052,MML.VARIANT.FRAKTUR], - 0x211D: [0x0052,MML.VARIANT.DOUBLESTRUCK], - 0x2124: [0x005A,MML.VARIANT.DOUBLESTRUCK], - 0x2126: [0x03A9,MML.VARIANT.NORMAL], - 0x2128: [0x005A,MML.VARIANT.FRAKTUR], - 0x212C: [0x0042,MML.VARIANT.SCRIPT], - 0x212D: [0x0043,MML.VARIANT.FRAKTUR], -// 0x212F: [0x0065,MML.VARIANT.SCRIPT], - 0x2130: [0x0045,MML.VARIANT.SCRIPT], - 0x2131: [0x0046,MML.VARIANT.SCRIPT], - 0x2133: [0x004D,MML.VARIANT.SCRIPT], -// 0x2134: [0x006F,MML.VARIANT.SCRIPT], - - 0x2247: 0x2246, // wrong placement of this character - 0x231C: 0x250C, 0x231D:0x2510, // wrong placement of \ulcorner, \urcorner - 0x231E: 0x2514, 0x231F:0x2518, // wrong placement of \llcorner, \lrcorner - - // - // compound symbols not in these fonts - // - 0x2204: "\u2203\u0338", // \not\exists - 0x220C: "\u220B\u0338", // \not\ni - 0x2244: "\u2243\u0338", // \not\simeq - 0x2249: "\u2248\u0338", // \not\approx - 0x2262: "\u2261\u0338", // \not\equiv - 0x226D: "\u224D\u0338", // \not\asymp - 0x2274: "\u2272\u0338", // \not\lesssim - 0x2275: "\u2273\u0338", // \not\gtrsim - 0x2278: "\u2276\u0338", // \not\lessgtr - 0x2279: "\u2277\u0338", // \not\gtrless - 0x2284: "\u2282\u0338", // \not\subset - 0x2285: "\u2283\u0338", // \not\supset - 0x22E2: "\u2291\u0338", // \not\sqsubseteq - 0x22E3: "\u2292\u0338", // \not\sqsupseteq - - 0x2A0C: "\u222C\u222C", // quadruple integral - - 0x2033: "\u2032\u2032", // double prime - 0x2034: "\u2032\u2032\u2032", // triple prime - 0x2036: "\u2035\u2035", // double back prime - 0x2037: "\u2035\u2035\u2035", // trile back prime - 0x2057: "\u2032\u2032\u2032\u2032", // quadruple prime - 0x20DB: "...", // combining three dots above (only works with mover/under) - 0x20DC: "...." // combining four dots above (only works with mover/under) - }, - - REMAPACCENT: { - "\u2192":"\u20D7", - "\u2032":"'", - "\u2035":"`" - }, - REMAPACCENTUNDER: { - }, - - PLANE1MAP: [ - [0x1D400,0x1D419, 0x41, MML.VARIANT.BOLD], - [0x1D41A,0x1D433, 0x61, MML.VARIANT.BOLD], - [0x1D434,0x1D44D, 0x41, MML.VARIANT.ITALIC], - [0x1D44E,0x1D467, 0x61, MML.VARIANT.ITALIC], - [0x1D468,0x1D481, 0x41, MML.VARIANT.BOLDITALIC], - [0x1D482,0x1D49B, 0x61, MML.VARIANT.BOLDITALIC], - [0x1D49C,0x1D4B5, 0x41, MML.VARIANT.SCRIPT], -// [0x1D4B6,0x1D4CF, 0x61, MML.VARIANT.SCRIPT], -// [0x1D4D0,0x1D4E9, 0x41, MML.VARIANT.BOLDSCRIPT], -// [0x1D4EA,0x1D503, 0x61, MML.VARIANT.BOLDSCRIPT], - [0x1D504,0x1D51D, 0x41, MML.VARIANT.FRAKTUR], - [0x1D51E,0x1D537, 0x61, MML.VARIANT.FRAKTUR], - [0x1D538,0x1D551, 0x41, MML.VARIANT.DOUBLESTRUCK], -// [0x1D552,0x1D56B, 0x61, MML.VARIANT.DOUBLESTRUCK], - [0x1D56C,0x1D585, 0x41, MML.VARIANT.BOLDFRAKTUR], - [0x1D586,0x1D59F, 0x61, MML.VARIANT.BOLDFRAKTUR], - [0x1D5A0,0x1D5B9, 0x41, MML.VARIANT.SANSSERIF], - [0x1D5BA,0x1D5D3, 0x61, MML.VARIANT.SANSSERIF], - [0x1D5D4,0x1D5ED, 0x41, MML.VARIANT.BOLDSANSSERIF], - [0x1D5EE,0x1D607, 0x61, MML.VARIANT.BOLDSANSSERIF], - [0x1D608,0x1D621, 0x41, MML.VARIANT.SANSSERIFITALIC], - [0x1D622,0x1D63B, 0x61, MML.VARIANT.SANSSERIFITALIC], -// [0x1D63C,0x1D655, 0x41, MML.VARIANT.SANSSERIFBOLDITALIC], -// [0x1D656,0x1D66F, 0x61, MML.VARIANT.SANSSERIFBOLDITALIC], - [0x1D670,0x1D689, 0x41, MML.VARIANT.MONOSPACE], - [0x1D68A,0x1D6A3, 0x61, MML.VARIANT.MONOSPACE], - - [0x1D6A8,0x1D6C1, 0x391, MML.VARIANT.BOLD], -// [0x1D6C2,0x1D6E1, 0x3B1, MML.VARIANT.BOLD], - [0x1D6E2,0x1D6FA, 0x391, MML.VARIANT.ITALIC], - [0x1D6FC,0x1D71B, 0x3B1, MML.VARIANT.ITALIC], - [0x1D71C,0x1D734, 0x391, MML.VARIANT.BOLDITALIC], - [0x1D736,0x1D755, 0x3B1, MML.VARIANT.BOLDITALIC], - [0x1D756,0x1D76E, 0x391, MML.VARIANT.BOLDSANSSERIF], -// [0x1D770,0x1D78F, 0x3B1, MML.VARIANT.BOLDSANSSERIF], - [0x1D790,0x1D7A8, 0x391, MML.VARIANT.SANSSERIFBOLDITALIC], -// [0x1D7AA,0x1D7C9, 0x3B1, MML.VARIANT.SANSSERIFBOLDITALIC], - - [0x1D7CE,0x1D7D7, 0x30, MML.VARIANT.BOLD], -// [0x1D7D8,0x1D7E1, 0x30, MML.VARIANT.DOUBLESTRUCK], - [0x1D7E2,0x1D7EB, 0x30, MML.VARIANT.SANSSERIF], - [0x1D7EC,0x1D7F5, 0x30, MML.VARIANT.BOLDSANSSERIF], - [0x1D7F6,0x1D7FF, 0x30, MML.VARIANT.MONOSPACE] - ], - - REMAPGREEK: { - 0x391: 0x41, 0x392: 0x42, 0x395: 0x45, 0x396: 0x5A, - 0x397: 0x48, 0x399: 0x49, 0x39A: 0x4B, 0x39C: 0x4D, - 0x39D: 0x4E, 0x39F: 0x4F, 0x3A1: 0x50, 0x3A2: 0x398, - 0x3A4: 0x54, 0x3A7: 0x58, 0x3AA: 0x2207, - 0x3CA: 0x2202, 0x3CB: 0x3F5, 0x3CC: 0x3D1, 0x3CD: 0x3F0, - 0x3CE: 0x3D5, 0x3CF: 0x3F1, 0x3D0: 0x3D6 - }, - - RemapPlane1: function (n,variant) { - for (var i = 0, m = this.PLANE1MAP.length; i < m; i++) { - if (n < this.PLANE1MAP[i][0]) break; - if (n <= this.PLANE1MAP[i][1]) { - n = n - this.PLANE1MAP[i][0] + this.PLANE1MAP[i][2]; - if (this.REMAPGREEK[n]) {n = this.REMAPGREEK[n]} - variant = this.VARIANT[this.PLANE1MAP[i][3]]; - break; - } - } - return {n: n, variant: variant}; - }, - - DELIMITERS: { - 0x0028: // ( - { - dir: V, HW: STDHW, - stretch: {top: [0x239B,SIZE4], ext: [0x239C,SIZE4], bot: [0x239D,SIZE4]} - }, - 0x0029: // ) - { - dir: V, HW: STDHW, - stretch: {top:[0x239E,SIZE4], ext:[0x239F,SIZE4], bot:[0x23A0,SIZE4]} - }, - 0x002F: // / - { - dir: V, HW: STDHW - }, - 0x005B: // [ - { - dir: V, HW: STDHW, - stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} - }, - 0x005C: // \ - { - dir: V, HW: STDHW - }, - 0x005D: // ] - { - dir: V, HW: STDHW, - stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} - }, - 0x007B: // { - { - dir: V, HW: STDHW, - stretch: {top:[0x23A7,SIZE4], mid:[0x23A8,SIZE4], bot:[0x23A9,SIZE4], ext:[0x23AA,SIZE4]} - }, - 0x007C: // | - { - dir: V, HW: [[1000,MAIN]], stretch: {ext:[0x2223,MAIN]} - }, - 0x007D: // } - { - dir: V, HW: STDHW, - stretch: {top: [0x23AB,SIZE4], mid:[0x23AC,SIZE4], bot: [0x23AD,SIZE4], ext: [0x23AA,SIZE4]} - }, - 0x00AF: // macron - { - dir: H, HW: [[.59,MAIN]], stretch: {rep:[0xAF,MAIN]} - }, - 0x02C6: // wide hat - { - dir: H, HW: [[267+250,MAIN],[567+250,SIZE1],[1005+330,SIZE2],[1447+330,SIZE3],[1909,SIZE4]] - }, - 0x02DC: // wide tilde - { - dir: H, HW: [[333+250,MAIN],[555+250,SIZE1],[1000+330,SIZE2],[1443+330,SIZE3],[1887,SIZE4]] - }, - 0x2013: // en-dash - { - dir: H, HW: [[500,MAIN]], stretch: {rep:[0x2013,MAIN]} - }, - 0x2016: // vertical arrow extension - { - dir: V, HW: [[602,SIZE1],[1000,MAIN,null,0x2225]], stretch: {ext:[0x2225,MAIN]} - }, - 0x2190: // left arrow - { - dir: H, HW: [[1000,MAIN]], stretch: {left:[0x2190,MAIN], rep:ARROWREP, fuzz:300} - }, - 0x2191: // \uparrow - { - dir: V, HW: [[888,MAIN]], stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1]} - }, - 0x2192: // right arrow - { - dir: H, HW: [[1000,MAIN]], stretch: {rep:ARROWREP, right:[0x2192,MAIN], fuzz:300} - }, - 0x2193: // \downarrow - { - dir: V, HW: [[888,MAIN]], stretch: {ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} - }, - 0x2194: // left-right arrow - { - dir: H, HW: [[1000,MAIN]], - stretch: {left:[0x2190,MAIN], rep:ARROWREP, right:[0x2192,MAIN], fuzz:300} - }, - 0x2195: // \updownarrow - { - dir: V, HW: [[1044,MAIN]], - stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} - }, - 0x21D0: // left double arrow - { - dir: H, HW: [[1000,MAIN]], stretch: {left:[0x21D0,MAIN], rep:DARROWREP, fuzz:300} - }, - 0x21D1: // \Uparrow - { - dir: V, HW: [[888,MAIN]], stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1]} - }, - 0x21D2: // right double arrow - { - dir: H, HW: [[1000,MAIN]], stretch: {rep:DARROWREP, right:[0x21D2,MAIN], fuzz:300} - }, - 0x21D3: // \Downarrow - { - dir: V, HW: [[888,MAIN]], stretch: {ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} - }, - 0x21D4: // left-right double arrow - { - dir: H, HW: [[1000,MAIN]], - stretch: {left:[0x21D0,MAIN], rep:DARROWREP, right:[0x21D2,MAIN], fuzz:300} - }, - 0x21D5: // \Updownarrow - { - dir: V, HW: [[1044,MAIN]], - stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} - }, - 0x2212: // horizontal line - { - dir: H, HW: [[.5,MAIN,0,0x2013]], stretch: {rep:ARROWREP, fuzz:300} - }, - 0x221A: // \surd - { - dir: V, HW: STDHW, - stretch: {top:[0xE001,SIZE4], ext:[0xE000,SIZE4], bot:[0x23B7,SIZE4], fullExtenders:true} - }, - 0x2223: // \vert - { - dir: V, HW: [[1000,MAIN]], stretch: {ext:[0x2223,MAIN]} - }, - 0x2225: // \Vert - { - dir: V, HW: [[1000,MAIN]], stretch: {ext:[0x2225,MAIN]} - }, - 0x2308: // \lceil - { - dir: V, HW: STDHW, stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4]} - }, - 0x2309: // \rceil - { - dir: V, HW: STDHW, stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4]} - }, - 0x230A: // \lfloor - { - dir: V, HW: STDHW, stretch: {ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} - }, - 0x230B: // \rfloor - { - dir: V, HW: STDHW, stretch: {ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} - }, - 0x23AA: // \bracevert - { - dir: V, HW: [[320,SIZE4]], - stretch: {top:[0x23AA,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AA,SIZE4]} - }, - 0x23B0: // \lmoustache - { - dir: V, HW: [[989,MAIN]], - stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} - }, - 0x23B1: // \rmoustache - { - dir: V, HW: [[989,MAIN]], - stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} - }, - 0x23D0: // vertical line extension - { - dir: V, HW: [[602,SIZE1],[1000,MAIN,null,0x2223]], stretch: {ext:[0x2223,MAIN]} - }, - 0x23DE: // horizontal brace down - { - dir: H, HW: [], - stretch: {min:.9, left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]} - }, - 0x23DF: // horizontal brace up - { - dir: H, HW: [], - stretch: {min:.9, left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]} - }, - 0x27E8: // \langle - { - dir: V, HW: STDHW - }, - 0x27E9: // \rangle - { - dir: V, HW: STDHW - }, - 0x27EE: // \lgroup - { - dir: V, HW: [[989,MAIN]], - stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} - }, - 0x27EF: // \rgroup - { - dir: V, HW: [[989,MAIN]], - stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} - }, - 0x002D: {alias: 0x2212, dir:H}, // minus - 0x005E: {alias: 0x02C6, dir:H}, // wide hat - 0x005F: {alias: 0x2013, dir:H}, // low line - 0x007E: {alias: 0x02DC, dir:H}, // wide tilde - 0x02C9: {alias: 0x00AF, dir:H}, // macron - 0x0302: {alias: 0x02C6, dir:H}, // wide hat - 0x0303: {alias: 0x02DC, dir:H}, // wide tilde - 0x030C: {alias: 0x02C7, dir:H}, // wide caron - 0x0332: {alias: 0x2013, dir:H}, // combining low line - 0x2014: {alias: 0x2013, dir:H}, // em-dash - 0x2015: {alias: 0x2013, dir:H}, // horizontal line - 0x2017: {alias: 0x2013, dir:H}, // horizontal line - 0x203E: {alias: 0x00AF, dir:H}, // over line - 0x20D7: {alias: 0x2192, dir:H}, // combining over right arrow (vector arrow) - 0x2215: {alias: 0x002F, dir:V}, // division slash - 0x2329: {alias: 0x27E8, dir:V}, // langle - 0x232A: {alias: 0x27E9, dir:V}, // rangle - 0x23AF: {alias: 0x2013, dir:H}, // horizontal line extension - 0x2500: {alias: 0x2013, dir:H}, // horizontal line - 0x2758: {alias: 0x2223, dir:V}, // vertical separator - 0x3008: {alias: 0x27E8, dir:V}, // langle - 0x3009: {alias: 0x27E9, dir:V}, // rangle - 0xFE37: {alias: 0x23DE, dir:H}, // horizontal brace down - 0xFE38: {alias: 0x23DF, dir:H}, // horizontal brace up - - 0x003D: EXTRAH, // equal sign - 0x219E: EXTRAH, // left two-headed arrow - 0x21A0: EXTRAH, // right two-headed arrow - 0x21A4: EXTRAH, // left arrow from bar - 0x21A5: EXTRAV, // up arrow from bar - 0x21A6: EXTRAH, // right arrow from bar - 0x21A7: EXTRAV, // down arrow from bar - 0x21B0: EXTRAV, // up arrow with top leftwards - 0x21B1: EXTRAV, // up arrow with top right - 0x21BC: EXTRAH, // left harpoon with barb up - 0x21BD: EXTRAH, // left harpoon with barb down - 0x21BE: EXTRAV, // up harpoon with barb right - 0x21BF: EXTRAV, // up harpoon with barb left - 0x21C0: EXTRAH, // right harpoon with barb up - 0x21C1: EXTRAH, // right harpoon with barb down - 0x21C2: EXTRAV, // down harpoon with barb right - 0x21C3: EXTRAV, // down harpoon with barb left - 0x21DA: EXTRAH, // left triple arrow - 0x21DB: EXTRAH, // right triple arrow - 0x23B4: EXTRAH, // top square bracket - 0x23B5: EXTRAH, // bottom square bracket - 0x23DC: EXTRAH, // top paren - 0x23DD: EXTRAH, // bottom paren - 0x23E0: EXTRAH, // top tortoise shell - 0x23E1: EXTRAH, // bottom tortoise shell - 0x2906: EXTRAH, // leftwards double arrow from bar - 0x2907: EXTRAH, // rightwards double arrow from bar - 0x294E: EXTRAH, // left barb up right barb up harpoon - 0x294F: EXTRAV, // up barb right down barb right harpoon - 0x2950: EXTRAH, // left barb dow right barb down harpoon - 0x2951: EXTRAV, // up barb left down barb left harpoon - 0x295A: EXTRAH, // leftwards harpoon with barb up from bar - 0x295B: EXTRAH, // rightwards harpoon with barb up from bar - 0x295C: EXTRAV, // up harpoon with barb right from bar - 0x295D: EXTRAV, // down harpoon with barb right from bar - 0x295E: EXTRAH, // leftwards harpoon with barb down from bar - 0x295F: EXTRAH, // rightwards harpoon with barb down from bar - 0x2960: EXTRAV, // up harpoon with barb left from bar - 0x2961: EXTRAV, // down harpoon with barb left from bar - 0x2312: {alias: 0x23DC, dir:H}, // arc - 0x2322: {alias: 0x23DC, dir:H}, // frown - 0x2323: {alias: 0x23DD, dir:H}, // smile - 0x27F5: {alias: 0x2190, dir:H}, // long left arrow - 0x27F6: {alias: 0x2192, dir:H}, // long right arrow - 0x27F7: {alias: 0x2194, dir:H}, // long left-right arrow - 0x27F8: {alias: 0x21D0, dir:H}, // long left double arrow - 0x27F9: {alias: 0x21D2, dir:H}, // long right double arrow - 0x27FA: {alias: 0x21D4, dir:H}, // long left-right double arrow - 0x27FB: {alias: 0x21A4, dir:H}, // long left arrow from bar - 0x27FC: {alias: 0x21A6, dir:H}, // long right arrow from bar - 0x27FD: {alias: 0x2906, dir:H}, // long left double arrow from bar - 0x27FE: {alias: 0x2907, dir:H} // long right double arrow from bar - } - } - }); - - - SVG.FONTDATA.FONTS['MathJax_Main'] = { - directory: 'Main/Regular', - family: 'MathJax_Main', - id: 'MJMAIN', - skew: { - 0x131: 0.0278, - 0x237: 0.0833, - 0x2113: 0.111, - 0x2118: 0.111, - 0x2202: 0.0833 - }, - Ranges: [ - [0x20,0x7F,"BasicLatin"], - [0x100,0x17F,"LatinExtendedA"], - [0x180,0x24F,"LatinExtendedB"], - [0x2B0,0x2FF,"SpacingModLetters"], - [0x300,0x36F,"CombDiacritMarks"], - [0x370,0x3FF,"GreekAndCoptic"], - [0x2100,0x214F,"LetterlikeSymbols"], - [0x25A0,0x25FF,"GeometricShapes"], - [0x2600,0x26FF,"MiscSymbols"], - [0x2A00,0x2AFF,"SuppMathOperators"] - ], - - // SPACE - 0x20: [0,0,250,0,0,''], - - // LEFT PARENTHESIS - 0x28: [750,250,389,94,333,'94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250'], - - // RIGHT PARENTHESIS - 0x29: [750,250,389,55,294,'60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749'], - - // PLUS SIGN - 0x2B: [583,82,778,56,722,'56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250'], - - // COMMA - 0x2C: [121,195,278,78,210,'78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17'], - - // FULL STOP - 0x2E: [120,0,278,78,199,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], - - // SOLIDUS - 0x2F: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], - - // DIGIT ZERO - 0x30: [666,22,500,39,460,'96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597'], - - // DIGIT ONE - 0x31: [666,0,500,83,427,'213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578'], - - // DIGIT TWO - 0x32: [666,0,500,50,449,'109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429'], - - // DIGIT THREE - 0x33: [665,22,500,42,457,'127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463'], - - // DIGIT FOUR - 0x34: [677,0,500,28,471,'462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293'], - - // DIGIT FIVE - 0x35: [666,22,500,50,449,'164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157'], - - // DIGIT SIX - 0x36: [666,22,500,41,456,'42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397'], - - // DIGIT SEVEN - 0x37: [676,22,500,55,485,'55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458'], - - // DIGIT EIGHT - 0x38: [666,22,500,43,457,'70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21'], - - // DIGIT NINE - 0x39: [666,22,500,42,456,'352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248'], - - // COLON - 0x3A: [430,0,278,78,199,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], - - // SEMICOLON - 0x3B: [430,194,278,78,202,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 85 94 103T137 121Q202 121 202 8Q202 -44 183 -94T144 -169T118 -194Q115 -194 106 -186T95 -174Q94 -171 107 -155T137 -107T160 -38Q161 -32 162 -22T165 -4T165 4Q165 5 161 4T142 0Q110 0 94 18T78 60'], - - // LESS-THAN SIGN - 0x3C: [540,40,778,83,695,'694 -11T694 -19T688 -33T678 -40Q671 -40 524 29T234 166L90 235Q83 240 83 250Q83 261 91 266Q664 540 678 540Q681 540 687 534T694 519T687 505Q686 504 417 376L151 250L417 124Q686 -4 687 -5Q694 -11 694 -19'], - - // EQUALS SIGN - 0x3D: [367,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], - - // GREATER-THAN SIGN - 0x3E: [540,40,778,82,694,'84 520Q84 528 88 533T96 539L99 540Q106 540 253 471T544 334L687 265Q694 260 694 250T687 235Q685 233 395 96L107 -40H101Q83 -38 83 -20Q83 -19 83 -17Q82 -10 98 -1Q117 9 248 71Q326 108 378 132L626 250L378 368Q90 504 86 509Q84 513 84 520'], - - // LEFT SQUARE BRACKET - 0x5B: [750,250,278,118,255,'118 -250V750H255V710H158V-210H255V-250H118'], - - // REVERSE SOLIDUS - 0x5C: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], - - // RIGHT SQUARE BRACKET - 0x5D: [750,250,278,22,159,'22 710V750H159V-250H22V-210H119V710H22'], - - // CIRCUMFLEX ACCENT - 0x5E: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], - - // LATIN SMALL LETTER A - 0x61: [448,11,500,34,493,'137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106'], - - // LATIN SMALL LETTER B - 0x62: [695,11,556,20,522,'307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98'], - - // LATIN SMALL LETTER C - 0x63: [448,12,444,34,415,'370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320'], - - // LATIN SMALL LETTER D - 0x64: [695,11,556,34,535,'376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342'], - - // LATIN SMALL LETTER E - 0x65: [448,11,444,28,415,'28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275'], - - // LATIN SMALL LETTER F - 0x66: [705,0,306,26,372,'273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273'], - - // LATIN SMALL LETTER G - 0x67: [453,206,500,29,485,'329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75'], - - // LATIN SMALL LETTER H - 0x68: [695,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], - - // LATIN SMALL LETTER I - 0x69: [669,0,278,26,255,'69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247'], - - // LATIN SMALL LETTER J - 0x6A: [669,205,306,-55,218,'98 609Q98 637 116 653T160 669Q183 667 200 652T217 609Q217 579 200 564T158 549Q133 549 116 564T98 609ZM28 -163Q58 -168 64 -168Q124 -168 135 -77Q137 -65 137 141T136 353Q132 371 120 377T72 385H52V408Q52 431 54 431L58 432Q62 432 70 432T87 433T108 434T133 436Q151 437 171 438T202 441T214 442H218V184Q217 -36 217 -59T211 -98Q195 -145 153 -175T58 -205Q9 -205 -23 -179T-55 -117Q-55 -94 -40 -79T-2 -64T36 -79T52 -118Q52 -143 28 -163'], - - // LATIN SMALL LETTER K - 0x6B: [695,0,528,20,511,'36 46H50Q89 46 97 60V68Q97 77 97 91T97 124T98 167T98 217T98 272T98 329Q98 366 98 407T98 482T98 542T97 586T97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V463L180 233L240 287Q300 341 304 347Q310 356 310 364Q310 383 289 385H284V431H293Q308 428 412 428Q475 428 484 431H489V385H476Q407 380 360 341Q286 278 286 274Q286 273 349 181T420 79Q434 60 451 53T500 46H511V0H505Q496 3 418 3Q322 3 307 0H299V46H306Q330 48 330 65Q330 72 326 79Q323 84 276 153T228 222L176 176V120V84Q176 65 178 59T189 49Q210 46 238 46H254V0H246Q231 3 137 3T28 0H20V46H36'], - - // LATIN SMALL LETTER L - 0x6C: [695,0,278,26,263,'42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42'], - - // LATIN SMALL LETTER M - 0x6D: [443,0,833,25,819,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], - - // LATIN SMALL LETTER N - 0x6E: [443,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], - - // LATIN SMALL LETTER O - 0x6F: [448,10,500,28,471,'28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30'], - - // LATIN SMALL LETTER P - 0x70: [443,194,556,20,522,'36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218'], - - // LATIN SMALL LETTER Q - 0x71: [442,194,528,33,535,'33 218Q33 308 95 374T236 441H246Q330 441 381 372L387 364Q388 364 404 403L420 442H457V156Q457 -132 458 -134Q462 -142 470 -145Q491 -148 519 -148H535V-194H527L504 -193Q480 -192 453 -192T415 -191Q312 -191 303 -194H295V-148H311Q339 -148 360 -145Q369 -141 371 -135T373 -106V-41V49Q313 -11 236 -11Q154 -11 94 53T33 218ZM376 300Q346 389 278 401Q275 401 269 401T261 402Q211 400 171 350T131 214Q131 137 165 82T253 27Q296 27 328 54T376 118V300'], - - // LATIN SMALL LETTER R - 0x72: [443,0,392,20,364,'36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36'], - - // LATIN SMALL LETTER S - 0x73: [448,11,394,33,359,'295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316'], - - // LATIN SMALL LETTER T - 0x74: [615,10,389,18,333,'27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27'], - - // LATIN SMALL LETTER U - 0x75: [443,11,556,25,542,'383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58'], - - // LATIN SMALL LETTER V - 0x76: [431,11,528,19,508,'338 431Q344 429 422 429Q479 429 503 431H508V385H497Q439 381 423 345Q421 341 356 172T288 -2Q283 -11 263 -11Q244 -11 239 -2Q99 359 98 364Q93 378 82 381T43 385H19V431H25L33 430Q41 430 53 430T79 430T104 429T122 428Q217 428 232 431H240V385H226Q187 384 184 370Q184 366 235 234L286 102L377 341V349Q377 363 367 372T349 383T335 385H331V431H338'], - - // LATIN SMALL LETTER W - 0x77: [431,11,722,18,703,'90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368'], - - // LATIN SMALL LETTER X - 0x78: [431,0,528,11,516,'201 0Q189 3 102 3Q26 3 17 0H11V46H25Q48 47 67 52T96 61T121 78T139 96T160 122T180 150L226 210L168 288Q159 301 149 315T133 336T122 351T113 363T107 370T100 376T94 379T88 381T80 383Q74 383 44 385H16V431H23Q59 429 126 429Q219 429 229 431H237V385Q201 381 201 369Q201 367 211 353T239 315T268 274L272 270L297 304Q329 345 329 358Q329 364 327 369T322 376T317 380T310 384L307 385H302V431H309Q324 428 408 428Q487 428 493 431H499V385H492Q443 385 411 368Q394 360 377 341T312 257L296 236L358 151Q424 61 429 57T446 50Q464 46 499 46H516V0H510H502Q494 1 482 1T457 2T432 2T414 3Q403 3 377 3T327 1L304 0H295V46H298Q309 46 320 51T331 63Q331 65 291 120L250 175Q249 174 219 133T185 88Q181 83 181 74Q181 63 188 55T206 46Q208 46 208 23V0H201'], - - // LATIN SMALL LETTER Y - 0x79: [431,204,528,19,508,'69 -66Q91 -66 104 -80T118 -116Q118 -134 109 -145T91 -160Q84 -163 97 -166Q104 -168 111 -168Q131 -168 148 -159T175 -138T197 -106T213 -75T225 -43L242 0L170 183Q150 233 125 297Q101 358 96 368T80 381Q79 382 78 382Q66 385 34 385H19V431H26L46 430Q65 430 88 429T122 428Q129 428 142 428T171 429T200 430T224 430L233 431H241V385H232Q183 385 185 366L286 112Q286 113 332 227L376 341V350Q376 365 366 373T348 383T334 385H331V431H337H344Q351 431 361 431T382 430T405 429T422 429Q477 429 503 431H508V385H497Q441 380 422 345Q420 343 378 235T289 9T227 -131Q180 -204 113 -204Q69 -204 44 -177T19 -116Q19 -89 35 -78T69 -66'], - - // LATIN SMALL LETTER Z - 0x7A: [431,0,444,28,401,'42 263Q44 270 48 345T53 423V431H393Q399 425 399 415Q399 403 398 402L381 378Q364 355 331 309T265 220L134 41L182 40H206Q254 40 283 46T331 77Q352 105 359 185L361 201Q361 202 381 202H401V196Q401 195 393 103T384 6V0H209L34 1L31 3Q28 8 28 17Q28 30 29 31T160 210T294 394H236Q169 393 152 388Q127 382 113 367Q89 344 82 264V255H42V263'], - - // LEFT CURLY BRACKET - 0x7B: [750,250,500,65,434,'434 -231Q434 -244 428 -250H410Q281 -250 230 -184Q225 -177 222 -172T217 -161T213 -148T211 -133T210 -111T209 -84T209 -47T209 0Q209 21 209 53Q208 142 204 153Q203 154 203 155Q189 191 153 211T82 231Q71 231 68 234T65 250T68 266T82 269Q116 269 152 289T203 345Q208 356 208 377T209 529V579Q209 634 215 656T244 698Q270 724 324 740Q361 748 377 749Q379 749 390 749T408 750H428Q434 744 434 732Q434 719 431 716Q429 713 415 713Q362 710 332 689T296 647Q291 634 291 499V417Q291 370 288 353T271 314Q240 271 184 255L170 250L184 245Q202 239 220 230T262 196T290 137Q291 131 291 1Q291 -134 296 -147Q306 -174 339 -192T415 -213Q429 -213 431 -216Q434 -219 434 -231'], - - // VERTICAL LINE - 0x7C: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], - - // RIGHT CURLY BRACKET - 0x7D: [750,250,500,65,434,'65 731Q65 745 68 747T88 750Q171 750 216 725T279 670Q288 649 289 635T291 501Q292 362 293 357Q306 312 345 291T417 269Q428 269 431 266T434 250T431 234T417 231Q380 231 345 210T298 157Q293 143 292 121T291 -28V-79Q291 -134 285 -156T256 -198Q202 -250 89 -250Q71 -250 68 -247T65 -230Q65 -224 65 -223T66 -218T69 -214T77 -213Q91 -213 108 -210T146 -200T183 -177T207 -139Q208 -134 209 3L210 139Q223 196 280 230Q315 247 330 250Q305 257 280 270Q225 304 212 352L210 362L209 498Q208 635 207 640Q195 680 154 696T77 713Q68 713 67 716T65 731'], - - // DIAERESIS - 0xA8: [669,-554,500,95,405,'95 612Q95 633 112 651T153 669T193 652T210 612Q210 588 194 571T152 554L127 560Q95 577 95 612ZM289 611Q289 634 304 649T335 668Q336 668 340 668T346 669Q369 669 386 652T404 612T387 572T346 554Q323 554 306 570T289 611'], - - // NOT SIGN - 0xAC: [356,-89,667,56,611,'56 323T56 336T70 356H596Q603 353 611 343V102Q598 89 591 89Q587 89 584 90T579 94T575 98T572 102L571 209V316H70Q56 323 56 336'], - - // MACRON - 0xAF: [590,-544,500,69,430,'69 544V590H430V544H69'], - - // DEGREE SIGN - 0xB0: [715,-542,500,147,352,'147 628Q147 669 179 692T244 715Q298 715 325 689T352 629Q352 592 323 567T249 542Q202 542 175 567T147 628ZM313 628Q313 660 300 669T259 678H253Q248 678 242 678T234 679Q217 679 207 674T192 659T188 644T187 629Q187 600 198 590Q210 579 250 579H265Q279 579 288 581T305 595T313 628'], - - // PLUS-MINUS SIGN - 0xB1: [666,0,778,56,722,'56 320T56 333T70 353H369V502Q369 651 371 655Q376 666 388 666Q402 666 405 654T409 596V500V353H707Q722 345 722 333Q722 320 707 313H409V40H707Q722 32 722 20T707 0H70Q56 7 56 20T70 40H369V313H70Q56 320 56 333'], - - // ACUTE ACCENT - 0xB4: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], - - // MULTIPLICATION SIGN - 0xD7: [491,-9,778,147,630,'630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29'], - - // DIVISION SIGN - 0xF7: [537,36,778,56,721,'318 466Q318 500 339 518T386 537Q418 537 438 517T458 466Q458 438 440 417T388 396Q355 396 337 417T318 466ZM56 237T56 250T70 270H706Q721 262 721 250T706 230H70Q56 237 56 250ZM318 34Q318 68 339 86T386 105Q418 105 438 85T458 34Q458 6 440 -15T388 -36Q355 -36 337 -15T318 34'], - - // MODIFIER LETTER CIRCUMFLEX ACCENT - 0x2C6: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], - - // CARON - 0x2C7: [644,-513,500,114,385,'114 611L127 630L136 644Q138 644 193 612Q248 581 250 581L306 612Q361 644 363 644L385 611L318 562L249 513L114 611'], - - // MODIFIER LETTER MACRON - 0x2C9: [590,-544,500,69,430,'69 544V590H430V544H69'], - - // MODIFIER LETTER ACUTE ACCENT - 0x2CA: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], - - // MODIFIER LETTER GRAVE ACCENT - 0x2CB: [699,-505,500,106,296,'106 655Q106 671 119 685T150 699Q166 699 177 688Q190 671 222 629T275 561T295 533T282 519L267 505L196 563Q119 626 113 634Q106 643 106 655'], - - // BREVE - 0x2D8: [694,-515,500,92,407,'250 515Q179 515 138 565T92 683V694H129V689Q129 688 129 683T130 675Q137 631 169 599T248 567Q304 567 337 608T370 689V694H407V683Q403 617 361 566T250 515'], - - // DOT ABOVE - 0x2D9: [669,-549,500,190,309,'190 609Q190 637 208 653T252 669Q275 667 292 652T309 609Q309 579 292 564T250 549Q225 549 208 564T190 609'], - - // SMALL TILDE - 0x2DC: [668,-565,500,83,416,'179 601Q164 601 151 595T131 584T111 565L97 577L83 588Q83 589 95 603T121 633T142 654Q165 668 187 668T253 650T320 632Q335 632 348 638T368 649T388 668L402 656L416 645Q375 586 344 572Q330 565 313 565Q292 565 248 583T179 601'], - - // EN DASH - 0x2013: [285,-248,500,0,499,'0 248V285H499V248H0'], - - // EM DASH - 0x2014: [285,-248,1000,0,999,'0 248V285H999V248H0'], - - // LEFT SINGLE QUOTATION MARK - 0x2018: [694,-379,278,64,199,'64 494Q64 548 86 597T131 670T160 694Q163 694 172 685T182 672Q182 669 170 656T144 625T116 573T101 501Q101 489 102 489T107 491T120 497T138 500Q163 500 180 483T198 440T181 397T139 379Q110 379 87 405T64 494'], - - // RIGHT SINGLE QUOTATION MARK - 0x2019: [694,-379,278,78,212,'78 634Q78 659 95 676T138 694Q166 694 189 668T212 579Q212 525 190 476T146 403T118 379Q114 379 105 388T95 401Q95 404 107 417T133 448T161 500T176 572Q176 584 175 584T170 581T157 576T139 573Q114 573 96 590T78 634'], - - // LEFT DOUBLE QUOTATION MARK - 0x201C: [694,-379,500,128,466,'128 494Q128 528 137 560T158 616T185 658T209 685T223 694T236 685T245 670Q244 668 231 654T204 622T178 571T164 501Q164 489 165 489T170 491T183 497T201 500Q226 500 244 483T262 440T245 397T202 379Q173 379 151 405T128 494ZM332 494Q332 528 341 560T362 616T389 658T413 685T427 694T439 685T449 672Q449 669 437 656T411 625T383 573T368 501Q368 489 369 489T374 491T387 497T405 500Q430 500 448 483T466 440T449 397T406 379Q377 379 355 405T332 494'], - - // RIGHT DOUBLE QUOTATION MARK - 0x201D: [694,-379,500,34,372,'34 634Q34 659 50 676T93 694Q121 694 144 668T168 579Q168 525 146 476T101 403T73 379Q69 379 60 388T50 401Q50 404 62 417T88 448T116 500T131 572Q131 584 130 584T125 581T112 576T94 573Q69 573 52 590T34 634ZM238 634Q238 659 254 676T297 694Q325 694 348 668T372 579Q372 525 350 476T305 403T277 379Q273 379 264 388T254 401Q254 404 266 417T292 448T320 500T335 572Q335 584 334 584T329 581T316 576T298 573Q273 573 256 590T238 634'], - - // DAGGER - 0x2020: [705,216,444,54,389,'182 675Q195 705 222 705Q234 705 243 700T253 691T263 675L262 655Q262 620 252 549T240 454V449Q250 451 288 461T346 472T377 461T389 431Q389 417 379 404T346 390Q327 390 288 401T243 412H240V405Q245 367 250 339T258 301T261 274T263 225Q263 124 255 -41T239 -213Q236 -216 222 -216H217Q206 -216 204 -212T200 -186Q199 -175 199 -168Q181 38 181 225Q181 265 182 280T191 327T204 405V412H201Q196 412 157 401T98 390Q76 390 66 403T55 431T65 458T98 472Q116 472 155 462T205 449Q204 452 204 460T201 490T193 547Q182 619 182 655V675'], - - // DOUBLE DAGGER - 0x2021: [705,205,444,54,389,'181 658Q181 705 222 705T263 658Q263 633 252 572T240 497Q240 496 241 496Q243 496 285 507T345 519Q365 519 376 508T388 478Q388 466 384 458T375 447T361 438H344Q318 438 282 448T241 459Q240 458 240 456Q240 449 251 384T263 297Q263 278 255 267T238 253T222 250T206 252T190 266T181 297Q181 323 192 383T204 458Q204 459 203 459Q198 459 162 449T101 438H84Q74 443 70 446T61 457T56 478Q56 497 67 508T99 519Q117 519 159 508T203 496Q204 496 204 499Q204 507 193 572T181 658ZM181 202Q181 249 222 249T263 202Q263 185 259 161T249 103T240 48V41H243Q248 41 287 52T346 63T377 52T389 22Q389 8 379 -5T346 -19Q327 -19 288 -8T243 3H240V-4Q243 -24 249 -58T259 -117T263 -158Q263 -177 255 -188T238 -202T222 -205T206 -203T190 -189T181 -158Q181 -141 185 -117T195 -59T204 -4V3H201Q196 3 157 -8T98 -19Q76 -19 66 -6T55 22T65 49T98 63Q117 63 156 52T201 41H204V48Q201 68 195 102T185 161T181 202'], - - // HORIZONTAL ELLIPSIS - 0x2026: [120,0,1172,78,1093,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60ZM525 60Q525 84 542 102T585 120Q609 120 627 104T646 61Q646 36 629 18T586 0T543 17T525 60ZM972 60Q972 84 989 102T1032 120Q1056 120 1074 104T1093 61Q1093 36 1076 18T1033 0T990 17T972 60'], - - // PRIME - 0x2032: [560,-43,275,30,262,'79 43Q73 43 52 49T30 61Q30 68 85 293T146 528Q161 560 198 560Q218 560 240 545T262 501Q262 496 260 486Q259 479 173 263T84 45T79 43'], - - // COMBINING RIGHT ARROW ABOVE - 0x20D7: [714,-516,0,-471,-29,'-123 694Q-123 702 -118 708T-103 714Q-93 714 -88 706T-80 687T-67 660T-40 633Q-29 626 -29 615Q-29 606 -36 600T-53 590T-83 571T-121 531Q-135 516 -143 516T-157 522T-163 536T-152 559T-129 584T-116 595H-287L-458 596Q-459 597 -461 599T-466 602T-469 607T-471 615Q-471 622 -458 635H-99Q-123 673 -123 694'], - - // LEFTWARDS ARROW - 0x2190: [511,11,1000,55,944,'944 261T944 250T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H929Q944 261 944 250'], - - // UPWARDS ARROW - 0x2191: [694,193,500,17,483,'27 414Q17 414 17 433Q17 437 17 439T17 444T19 447T20 450T22 452T26 453T30 454T36 456Q80 467 120 494T180 549Q227 607 238 678Q240 694 251 694Q259 694 261 684Q261 677 265 659T284 608T320 549Q340 525 363 507T405 479T440 463T467 455T479 451Q483 447 483 433Q483 413 472 413Q467 413 458 416Q342 448 277 545L270 555V-179Q262 -193 252 -193H250H248Q236 -193 230 -179V555L223 545Q192 499 146 467T70 424T27 414'], - - // RIGHTWARDS ARROW - 0x2192: [511,11,1000,56,944,'56 237T56 250T70 270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H70Q56 237 56 250'], - - // DOWNWARDS ARROW - 0x2193: [694,194,500,17,483,'473 86Q483 86 483 67Q483 63 483 61T483 56T481 53T480 50T478 48T474 47T470 46T464 44Q428 35 391 14T316 -55T264 -168Q264 -170 263 -173T262 -180T261 -184Q259 -194 251 -194Q242 -194 238 -176T221 -121T180 -49Q169 -34 155 -21T125 2T95 20T67 33T44 42T27 47L21 49Q17 53 17 67Q17 87 28 87Q33 87 42 84Q158 52 223 -45L230 -55V312Q230 391 230 482T229 591Q229 662 231 676T243 693Q244 694 251 694Q264 692 270 679V-55L277 -45Q307 1 353 33T430 76T473 86'], - - // LEFT RIGHT ARROW - 0x2194: [511,11,1000,55,944,'263 479Q267 501 271 506T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H835Q729 349 696 475Q691 493 691 500Q691 511 711 511Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q144 292 194 349T263 479'], - - // UP DOWN ARROW - 0x2195: [772,272,500,17,483,'27 492Q17 492 17 511Q17 515 17 517T17 522T19 525T20 528T22 530T26 531T30 532T36 534Q80 545 120 572T180 627Q210 664 223 701T238 755T250 772T261 762Q261 757 264 741T282 691T319 628Q352 589 390 566T454 536L479 529Q483 525 483 511Q483 491 472 491Q467 491 458 494Q342 526 277 623L270 633V-133L277 -123Q307 -77 353 -45T430 -2T473 8Q483 8 483 -11Q483 -15 483 -17T483 -22T481 -25T480 -28T478 -30T474 -31T470 -32T464 -34Q407 -49 364 -84T300 -157T270 -223T261 -262Q259 -272 250 -272Q242 -272 239 -255T223 -201T180 -127Q169 -112 155 -99T125 -76T95 -58T67 -45T44 -36T27 -31L21 -29Q17 -25 17 -11Q17 9 28 9Q33 9 42 6Q158 -26 223 -123L230 -133V633L223 623Q192 577 146 545T70 502T27 492'], - - // NORTH WEST ARROW - 0x2196: [720,195,1000,29,944,'204 662Q257 662 301 676T369 705T394 720Q398 720 407 711T417 697Q417 688 389 671T310 639T212 623Q176 623 153 628Q151 628 221 557T546 232Q942 -164 943 -168Q944 -170 944 -174Q944 -182 938 -188T924 -195Q922 -195 916 -193Q912 -191 517 204Q440 281 326 394T166 553L121 598Q126 589 126 541Q126 438 70 349Q59 332 52 332Q48 332 39 341T29 355Q29 358 38 372T57 407T77 464T86 545Q86 583 78 614T63 663T55 683Q55 693 65 693Q73 693 82 688Q136 662 204 662'], - - // NORTH EAST ARROW - 0x2197: [720,195,1000,55,971,'582 697Q582 701 591 710T605 720Q607 720 630 706T697 677T795 662Q830 662 863 670T914 686T934 694Q942 694 944 685Q944 680 936 663T921 615T913 545Q913 490 927 446T956 379T970 355Q970 351 961 342T947 332Q940 332 929 349Q874 436 874 541Q874 590 878 598L832 553Q787 508 673 395T482 204Q87 -191 83 -193Q77 -195 75 -195Q67 -195 61 -189T55 -174Q55 -170 56 -168Q58 -164 453 232Q707 487 777 557T847 628Q824 623 787 623Q689 623 599 679Q582 690 582 697'], - - // SOUTH EAST ARROW - 0x2198: [695,220,1000,55,970,'55 675Q55 683 60 689T75 695Q77 695 83 693Q87 691 482 296Q532 246 605 174T717 62T799 -20T859 -80T878 -97Q874 -93 874 -41Q874 64 929 151Q940 168 947 168Q951 168 960 159T970 145Q970 143 956 121T928 54T913 -45Q913 -83 920 -114T936 -163T944 -185Q942 -194 934 -194Q932 -194 914 -186T864 -170T795 -162Q743 -162 698 -176T630 -205T605 -220Q601 -220 592 -211T582 -197Q582 -187 611 -170T691 -138T787 -123Q824 -123 847 -128Q848 -128 778 -57T453 268Q58 664 56 668Q55 670 55 675'], - - // SOUTH WEST ARROW - 0x2199: [695,220,1000,29,944,'126 -41Q126 -92 121 -97Q121 -98 139 -80T200 -20T281 61T394 173T517 296Q909 690 916 693Q922 695 924 695Q932 695 938 689T944 674Q944 670 943 668Q942 664 546 268Q292 13 222 -57T153 -128Q176 -123 212 -123Q310 -123 400 -179Q417 -190 417 -197Q417 -201 408 -210T394 -220Q392 -220 369 -206T302 -177T204 -162Q131 -162 67 -194Q63 -195 59 -192T55 -183Q55 -180 62 -163T78 -115T86 -45Q86 10 72 54T44 120T29 145Q29 149 38 158T52 168Q59 168 70 151Q126 62 126 -41'], - - // RIGHTWARDS ARROW FROM BAR - 0x21A6: [511,11,1000,54,944,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H95V155'], - - // LEFTWARDS ARROW WITH HOOK - 0x21A9: [511,11,1126,55,1070,'903 424T903 444T929 464Q976 464 1023 434T1070 347Q1070 316 1055 292T1016 256T971 237T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H926Q929 270 941 271T960 275T978 280T998 290T1015 307Q1030 325 1030 347Q1030 355 1027 364T1014 387T983 411T929 424H928Q903 424 903 444'], - - // RIGHTWARDS ARROW WITH HOOK - 0x21AA: [511,11,1126,55,1070,'55 347Q55 380 72 404T113 441T159 458T197 464Q222 464 222 444Q222 429 204 426T157 417T110 387Q95 369 95 347Q95 339 98 330T111 307T142 283T196 270H961Q845 357 818 493Q818 494 818 496T817 499Q817 511 834 511H837Q846 511 849 510T855 506T858 497T861 481T869 456Q891 389 942 336T1061 261Q1070 258 1070 250Q1070 244 1065 241T1041 231T1003 212Q962 186 932 152T887 85T866 35T858 4Q856 -6 853 -8T837 -11Q817 -11 817 0Q817 7 822 25Q854 151 961 230H196Q149 230 102 260T55 347'], - - // LEFTWARDS HARPOON WITH BARB UPWARDS - 0x21BC: [511,-230,1000,55,944,'62 230Q56 236 55 244Q55 252 57 255T69 265Q114 292 151 326T208 391T243 448T265 491T273 509Q276 511 288 511Q304 511 306 505Q309 501 303 484Q293 456 279 430T251 383T223 344T196 313T173 291T156 276L148 270H929Q944 261 944 250T929 230H62'], - - // LEFTWARDS HARPOON WITH BARB DOWNWARDS - 0x21BD: [270,11,1000,55,944,'55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], - - // RIGHTWARDS HARPOON WITH BARB UPWARDS - 0x21C0: [511,-230,1000,56,945,'691 500Q691 511 711 511Q720 511 723 510T730 504T735 490T746 464T768 425Q796 378 835 339T897 285T933 263Q941 258 942 256T944 245T937 230H70Q56 237 56 250T70 270H852Q802 308 762 364T707 455T691 500'], - - // RIGHTWARDS HARPOON WITH BARB DOWNWARDS - 0x21C1: [270,11,1000,56,944,'56 237T56 250T70 270H937Q944 263 944 256Q944 251 944 250T943 246T940 242T933 238Q794 153 734 7Q729 -7 726 -9T711 -11Q695 -11 693 -5Q690 -1 696 16Q721 84 763 139T852 230H70Q56 237 56 250'], - - // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON - 0x21CC: [671,11,1000,55,945,'691 660Q691 671 711 671Q720 671 723 670T730 664T735 650T746 624T768 585Q797 538 836 499T897 445T933 423Q941 418 942 416T944 405T937 390H70Q56 397 56 410T70 430H852Q802 468 762 524T707 615T691 660ZM55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], - - // LEFTWARDS DOUBLE ARROW - 0x21D0: [525,24,1000,56,945,'944 153Q944 140 929 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H929Q944 359 944 347Q944 336 930 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173H930Q931 172 933 171T936 169T938 167T941 164T942 162T943 158T944 153'], - - // UPWARDS DOUBLE ARROW - 0x21D1: [694,194,611,31,579,'228 -179Q227 -180 226 -182T223 -186T221 -189T218 -192T214 -193T208 -194Q196 -194 189 -181L188 125V430L176 419Q122 369 59 338Q46 330 40 330Q38 330 31 337V350Q31 362 33 365T46 374Q60 381 77 390T128 426T190 484T247 567T292 677Q295 688 298 692Q302 694 305 694Q313 694 318 677Q334 619 363 568T420 485T481 427T532 391T564 374Q575 368 577 365T579 350V337Q572 330 570 330Q564 330 551 338Q487 370 435 419L423 430L422 125V-181Q409 -194 401 -194Q397 -194 394 -193T388 -189T385 -184T382 -180V-177V475L373 487Q331 541 305 602Q304 601 300 591T290 571T278 548T260 519T238 488L229 476L228 148V-179'], - - // RIGHTWARDS DOUBLE ARROW - 0x21D2: [525,24,1000,56,944,'580 514Q580 525 596 525Q601 525 604 525T609 525T613 524T615 523T617 520T619 517T622 512Q659 438 720 381T831 300T927 263Q944 258 944 250T935 239T898 228T840 204Q696 134 622 -12Q618 -21 615 -22T600 -24Q580 -24 580 -17Q580 -13 585 0Q620 69 671 123L681 133H70Q56 140 56 153Q56 168 72 173H725L735 181Q774 211 852 250Q851 251 834 259T789 283T735 319L725 327H72Q56 332 56 347Q56 360 70 367H681L671 377Q638 412 609 458T580 514'], - - // DOWNWARDS DOUBLE ARROW - 0x21D3: [694,194,611,31,579,'401 694Q412 694 422 681V375L423 70L435 81Q487 130 551 162Q564 170 570 170Q572 170 579 163V150Q579 138 577 135T564 126Q541 114 518 99T453 48T374 -46T318 -177Q313 -194 305 -194T293 -178T272 -119T225 -31Q158 70 46 126Q35 132 33 135T31 150V163Q38 170 40 170Q46 170 59 162Q122 131 176 81L188 70V375L189 681Q199 694 208 694Q219 694 228 680V352L229 25L238 12Q279 -42 305 -102Q344 -23 373 13L382 25V678Q387 692 401 694'], - - // LEFT RIGHT DOUBLE ARROW - 0x21D4: [526,25,1000,33,966,'308 524Q318 526 323 526Q340 526 340 514Q340 507 336 499Q326 476 314 454T292 417T274 391T260 374L255 368Q255 367 500 367Q744 367 744 368L739 374Q734 379 726 390T707 416T685 453T663 499Q658 511 658 515Q658 525 680 525Q687 524 690 523T695 519T701 507Q766 359 902 287Q921 276 939 269T961 259T966 250Q966 246 965 244T960 240T949 236T930 228T902 213Q763 137 701 -7Q697 -16 695 -19T690 -23T680 -25Q658 -25 658 -15Q658 -11 663 1Q673 24 685 46T707 83T725 109T739 126L744 132Q744 133 500 133Q255 133 255 132L260 126Q265 121 273 110T292 84T314 47T336 1Q341 -11 341 -15Q341 -25 319 -25Q312 -24 309 -23T304 -19T298 -7Q233 141 97 213Q83 221 70 227T51 235T41 239T35 243T34 250T35 256T40 261T51 265T70 273T97 287Q235 363 299 509Q305 522 308 524ZM792 319L783 327H216Q183 294 120 256L110 250L120 244Q173 212 207 181L216 173H783L792 181Q826 212 879 244L889 250L879 256Q826 288 792 319'], - - // UP DOWN DOUBLE ARROW - 0x21D5: [772,272,611,31,579,'290 755Q298 772 305 772T318 757T343 706T393 633Q431 588 473 558T545 515T579 497V484Q579 464 570 464Q564 464 550 470Q485 497 423 550L422 400V100L423 -50Q485 3 550 30Q565 36 570 36Q579 36 579 16V3Q575 -1 549 -12T480 -53T393 -132Q361 -172 342 -208T318 -258T305 -272T293 -258T268 -208T217 -132Q170 -80 128 -51T61 -12T31 3V16Q31 36 40 36Q46 36 61 30Q86 19 109 6T146 -18T173 -38T188 -50V550Q186 549 173 539T147 519T110 495T61 470Q46 464 40 464Q31 464 31 484V497Q34 500 63 513T135 557T217 633Q267 692 290 755ZM374 598Q363 610 351 625T332 651T316 676T305 695L294 676Q282 657 267 636T236 598L228 589V-89L236 -98Q247 -110 259 -125T278 -151T294 -176T305 -195L316 -176Q328 -157 343 -136T374 -98L382 -89V589L374 598'], - - // FOR ALL - 0x2200: [694,22,556,0,556,'0 673Q0 684 7 689T20 694Q32 694 38 680T82 567L126 451H430L473 566Q483 593 494 622T512 668T519 685Q524 694 538 694Q556 692 556 674Q556 670 426 329T293 -15Q288 -22 278 -22T263 -15Q260 -11 131 328T0 673ZM414 410Q414 411 278 411T142 410L278 55L414 410'], - - // PARTIAL DIFFERENTIAL - 0x2202: [715,22,531,42,567,'202 508Q179 508 169 520T158 547Q158 557 164 577T185 624T230 675T301 710L333 715H345Q378 715 384 714Q447 703 489 661T549 568T566 457Q566 362 519 240T402 53Q321 -22 223 -22Q123 -22 73 56Q42 102 42 148V159Q42 276 129 370T322 465Q383 465 414 434T455 367L458 378Q478 461 478 515Q478 603 437 639T344 676Q266 676 223 612Q264 606 264 572Q264 547 246 528T202 508ZM430 306Q430 372 401 400T333 428Q270 428 222 382Q197 354 183 323T150 221Q132 149 132 116Q132 21 232 21Q244 21 250 22Q327 35 374 112Q389 137 409 196T430 306'], - - // THERE EXISTS - 0x2203: [694,0,556,56,500,'56 661T56 674T70 694H487Q497 686 500 679V15Q497 10 487 1L279 0H70Q56 7 56 20T70 40H460V327H84Q70 334 70 347T84 367H460V654H70Q56 661 56 674'], - - // EMPTY SET - 0x2205: [772,78,500,39,460,'331 696Q335 708 339 722T345 744T350 759T357 769T367 772Q374 772 381 767T388 754Q388 746 377 712L366 673L378 661Q460 575 460 344Q460 281 456 234T432 126T373 27Q319 -22 250 -22Q214 -22 180 -7Q168 -3 168 -4L159 -33Q148 -71 142 -75Q138 -78 132 -78Q124 -78 118 -72T111 -60Q111 -52 122 -18L133 21L125 29Q39 111 39 344Q39 596 137 675Q187 716 251 716Q265 716 278 714T296 710T315 703T331 696ZM276 676Q264 679 246 679Q196 679 159 631Q134 597 128 536T121 356Q121 234 127 174T151 80L234 366Q253 430 275 506T308 618L318 654Q318 656 294 669L276 676ZM181 42Q207 16 250 16Q291 16 324 47Q354 78 366 136T378 356Q378 470 372 528T349 616L348 613Q348 611 264 326L181 42'], - - // NABLA - 0x2207: [683,33,833,46,786,'46 676Q46 679 51 683H781Q786 679 786 676Q786 674 617 326T444 -26Q439 -33 416 -33T388 -26Q385 -22 216 326T46 676ZM697 596Q697 597 445 597T193 596Q195 591 319 336T445 80L697 596'], - - // ELEMENT OF - 0x2208: [541,41,667,84,583,'84 250Q84 372 166 450T360 539Q361 539 377 539T419 540T469 540H568Q583 532 583 520Q583 511 570 501L466 500Q355 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H568Q583 262 583 250T568 230H124V228Q124 207 134 177T167 112T231 48T328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 446 -40T417 -41Q262 -41 172 45Q84 127 84 250'], - - // stix-negated (vert) set membership, variant - 0x2209: [716,215,667,84,584,'196 25Q84 109 84 250Q84 372 166 450T360 539Q361 539 375 539T413 540T460 540L547 707Q550 716 563 716Q570 716 575 712T581 703T583 696T505 540H568Q583 532 583 520Q583 511 570 501L484 500L366 270H568Q583 262 583 250T568 230H346L247 38Q284 16 328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 447 -40T419 -41Q304 -41 228 3Q117 -211 115 -212Q111 -215 104 -215T92 -212T86 -204T84 -197Q84 -190 89 -183L196 25ZM214 61L301 230H124V228Q124 196 147 147T214 61ZM321 270L440 500Q353 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H321'], - - // CONTAINS AS MEMBER - 0x220B: [541,40,667,83,582,'83 520Q83 532 98 540H195Q202 540 220 540T249 541Q404 541 494 455Q582 374 582 250Q582 165 539 99T434 0T304 -39Q297 -40 195 -40H98Q83 -32 83 -20Q83 -10 96 0H200Q311 1 337 6Q369 14 401 28Q422 39 445 55Q484 85 508 127T537 191T542 228V230H98Q84 237 84 250T98 270H542V272Q542 280 539 295T527 336T497 391T445 445Q422 461 401 472Q386 479 374 483T347 491T325 495T298 498T273 499T239 500T200 500L96 501Q83 511 83 520'], - - // MINUS SIGN - 0x2212: [270,-230,778,84,694,'84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250'], - - // MINUS-OR-PLUS SIGN - 0x2213: [500,166,778,56,722,'56 467T56 480T70 500H707Q722 492 722 480T707 460H409V187H707Q722 179 722 167Q722 154 707 147H409V0V-93Q409 -144 406 -155T389 -166Q376 -166 372 -155T368 -105Q368 -96 368 -62T369 -2V147H70Q56 154 56 167T70 187H369V460H70Q56 467 56 480'], - - // DIVISION SLASH - 0x2215: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], - - // SET MINUS - 0x2216: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], - - // ASTERISK OPERATOR - 0x2217: [465,-35,500,64,435,'229 286Q216 420 216 436Q216 454 240 464Q241 464 245 464T251 465Q263 464 273 456T283 436Q283 419 277 356T270 286L328 328Q384 369 389 372T399 375Q412 375 423 365T435 338Q435 325 425 315Q420 312 357 282T289 250L355 219L425 184Q434 175 434 161Q434 146 425 136T401 125Q393 125 383 131T328 171L270 213Q283 79 283 63Q283 53 276 44T250 35Q231 35 224 44T216 63Q216 80 222 143T229 213L171 171Q115 130 110 127Q106 124 100 124Q87 124 76 134T64 161Q64 166 64 169T67 175T72 181T81 188T94 195T113 204T138 215T170 230T210 250L74 315Q65 324 65 338Q65 353 74 363T98 374Q106 374 116 368T171 328L229 286'], - - // RING OPERATOR - 0x2218: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251ZM245 403Q188 403 142 361T96 250Q96 183 141 140T250 96Q284 96 313 109T354 135T375 160Q403 197 403 250Q403 313 360 358T245 403'], - - // BULLET OPERATOR - 0x2219: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251'], - - // SQUARE ROOT - 0x221A: [800,200,833,71,853,'95 178Q89 178 81 186T72 200T103 230T169 280T207 309Q209 311 212 311H213Q219 311 227 294T281 177Q300 134 312 108L397 -77Q398 -77 501 136T707 565T814 786Q820 800 834 800Q841 800 846 794T853 782V776L620 293L385 -193Q381 -200 366 -200Q357 -200 354 -197Q352 -195 256 15L160 225L144 214Q129 202 113 190T95 178'], - - // PROPORTIONAL TO - 0x221D: [442,11,778,56,722,'56 124T56 216T107 375T238 442Q260 442 280 438T319 425T352 407T382 385T406 361T427 336T442 315T455 297T462 285L469 297Q555 442 679 442Q687 442 722 437V398H718Q710 400 694 400Q657 400 623 383T567 343T527 294T503 253T495 235Q495 231 520 192T554 143Q625 44 696 44Q717 44 719 46H722V-5Q695 -11 678 -11Q552 -11 457 141Q455 145 454 146L447 134Q362 -11 235 -11Q157 -11 107 56ZM93 213Q93 143 126 87T220 31Q258 31 292 48T349 88T389 137T413 178T421 196Q421 200 396 239T362 288Q322 345 288 366T213 387Q163 387 128 337T93 213'], - - // INFINITY - 0x221E: [442,11,1000,55,944,'55 217Q55 305 111 373T254 442Q342 442 419 381Q457 350 493 303L507 284L514 294Q618 442 747 442Q833 442 888 374T944 214Q944 128 889 59T743 -11Q657 -11 580 50Q542 81 506 128L492 147L485 137Q381 -11 252 -11Q166 -11 111 57T55 217ZM907 217Q907 285 869 341T761 397Q740 397 720 392T682 378T648 359T619 335T594 310T574 285T559 263T548 246L543 238L574 198Q605 158 622 138T664 94T714 61T765 51Q827 51 867 100T907 217ZM92 214Q92 145 131 89T239 33Q357 33 456 193L425 233Q364 312 334 337Q285 380 233 380Q171 380 132 331T92 214'], - - // ANGLE - 0x2220: [694,0,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q67 43 346 361Q397 420 474 508Q595 648 616 671T647 694T661 688T666 674Q666 668 663 663Q662 662 627 622T524 503T390 350L120 41L386 40H653Q666 30 666 20Q666 8 651 0H71'], - - // DIVIDES - 0x2223: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], - - // PARALLEL TO - 0x2225: [750,250,500,132,368,'133 736Q138 750 153 750Q164 750 170 739Q172 735 172 250T170 -239Q164 -250 152 -250Q144 -250 138 -244L137 -243Q133 -241 133 -179T132 250Q132 731 133 736ZM329 739Q334 750 346 750Q353 750 361 744L362 743Q366 741 366 679T367 250T367 -178T362 -243L361 -244Q355 -250 347 -250Q335 -250 329 -239Q327 -235 327 250T329 739'], - - // LOGICAL AND - 0x2227: [598,22,667,55,611,'318 591Q325 598 333 598Q344 598 348 591Q349 590 414 445T545 151T611 -4Q609 -22 591 -22Q588 -22 586 -21T581 -20T577 -17T575 -13T572 -9T570 -4L333 528L96 -4Q87 -20 80 -21Q78 -22 75 -22Q57 -22 55 -4Q55 2 120 150T251 444T318 591'], - - // LOGICAL OR - 0x2228: [598,22,667,55,611,'55 580Q56 587 61 592T75 598Q86 598 96 580L333 48L570 580Q579 596 586 597Q588 598 591 598Q609 598 611 580Q611 574 546 426T415 132T348 -15Q343 -22 333 -22T318 -15Q317 -14 252 131T121 425T55 580'], - - // stix-intersection, serifs - 0x2229: [598,22,667,55,611,'88 -21T75 -21T55 -7V200Q55 231 55 280Q56 414 60 428Q61 430 61 431Q77 500 152 549T332 598Q443 598 522 544T610 405Q611 399 611 194V-7Q604 -22 591 -22Q582 -22 572 -9L570 405Q563 433 556 449T529 485Q498 519 445 538T334 558Q251 558 179 518T96 401Q95 396 95 193V-7Q88 -21 75 -21'], - - // stix-union, serifs - 0x222A: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598'], - - // INTEGRAL - 0x222B: [716,216,417,55,472,'151 -112Q151 -150 106 -161Q106 -165 114 -172T134 -179Q155 -179 170 -146Q181 -120 188 -64T206 101T232 310Q256 472 277 567Q308 716 392 716Q434 716 453 681T472 613Q472 590 458 577T424 564Q404 564 390 578T376 612Q376 650 421 661Q421 663 418 667T407 675T393 679Q387 679 380 675Q360 665 350 619T326 438Q302 190 253 -57Q235 -147 201 -186Q174 -213 138 -216Q93 -216 74 -181T55 -113Q55 -91 69 -78T103 -64Q123 -64 137 -78T151 -112'], - - // TILDE OPERATOR - 0x223C: [367,-133,778,55,722,'55 166Q55 241 101 304T222 367Q260 367 296 349T362 304T421 252T484 208T554 189Q616 189 655 236T694 338Q694 350 698 358T708 367Q722 367 722 334Q722 260 677 197T562 134H554Q517 134 481 152T414 196T355 248T292 293T223 311Q179 311 145 286Q109 257 96 218T80 156T69 133Q55 133 55 166'], - - // WREATH PRODUCT - 0x2240: [583,83,278,55,222,'55 569Q55 583 83 583Q122 583 151 565T194 519T215 464T222 411Q222 360 194 304T139 193T111 89Q111 38 134 -7T195 -55Q222 -57 222 -69Q222 -83 189 -83Q130 -83 93 -33T55 90Q55 130 72 174T110 252T148 328T166 411Q166 462 144 507T83 555Q55 556 55 569'], - - // ASYMPTOTICALLY EQUAL TO - 0x2243: [464,-36,778,55,722,'55 283Q55 356 103 409T217 463Q262 463 297 447T395 382Q431 355 446 344T493 320T554 307H558Q613 307 652 344T694 433Q694 464 708 464T722 432Q722 356 673 304T564 251H554Q510 251 465 275T387 329T310 382T223 407H219Q164 407 122 367Q91 333 85 295T76 253T69 250Q55 250 55 283ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], - - // APPROXIMATELY EQUAL TO - 0x2245: [589,-22,1000,55,722,'55 388Q55 463 101 526T222 589Q260 589 296 571T362 526T421 474T484 430T554 411Q616 411 655 458T694 560Q694 572 698 580T708 589Q722 589 722 556Q722 482 677 419T562 356H554Q517 356 481 374T414 418T355 471T292 515T223 533Q179 533 145 508Q109 479 96 440T80 378T69 355Q55 355 55 388ZM56 236Q56 249 70 256H707Q722 248 722 236Q722 225 708 217L390 216H72Q56 221 56 236ZM56 42Q56 57 72 62H708Q722 52 722 42Q722 30 707 22H70Q56 29 56 42'], - - // ALMOST EQUAL TO - 0x2248: [483,-55,778,55,722,'55 319Q55 360 72 393T114 444T163 472T205 482Q207 482 213 482T223 483Q262 483 296 468T393 413L443 381Q502 346 553 346Q609 346 649 375T694 454Q694 465 698 474T708 483Q722 483 722 452Q722 386 675 338T555 289Q514 289 468 310T388 357T308 404T224 426Q164 426 125 393T83 318Q81 289 69 289Q55 289 55 319ZM55 85Q55 126 72 159T114 210T163 238T205 248Q207 248 213 248T223 249Q262 249 296 234T393 179L443 147Q502 112 553 112Q609 112 649 141T694 220Q694 249 708 249T722 217Q722 153 675 104T555 55Q514 55 468 76T388 123T308 170T224 192Q164 192 125 159T83 84Q80 55 69 55Q55 55 55 85'], - - // EQUIVALENT TO - 0x224D: [484,-16,778,55,722,'55 464Q55 471 60 477T74 484Q80 484 108 464T172 420T268 376T389 356Q436 356 483 368T566 399T630 436T675 467T695 482Q701 484 703 484Q711 484 716 478T722 464Q722 454 707 442Q550 316 389 316Q338 316 286 329T195 362T124 402T76 437T57 456Q55 462 55 464ZM57 45Q66 58 109 88T230 151T381 183Q438 183 494 168T587 135T658 94T703 61T720 45Q722 39 722 36Q722 28 717 22T703 16Q697 16 669 36T606 80T510 124T389 144Q341 144 294 132T211 101T147 64T102 33T82 18Q76 16 74 16Q66 16 61 22T55 36Q55 39 57 45'], - - // APPROACHES THE LIMIT - 0x2250: [670,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM329 610Q329 634 346 652T389 670Q413 670 431 654T450 611Q450 586 433 568T390 550T347 567T329 610'], - - // stix-not (vert) equals - 0x2260: [716,215,778,56,722,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183L306 133H70Q56 140 56 153Q56 168 72 173H327L406 327H72Q56 332 56 347Q56 360 70 367H426Q597 702 602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 692 471 367H707Q722 359 722 347Q722 336 708 328L451 327L371 173H708Q722 163 722 153Q722 140 707 133H351Q175 -210 170 -212Q166 -215 159 -215'], - - // IDENTICAL TO - 0x2261: [464,-36,778,56,722,'56 444Q56 457 70 464H707Q722 456 722 444Q722 430 706 424H72Q56 429 56 444ZM56 237T56 250T70 270H707Q722 262 722 250T707 230H70Q56 237 56 250ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], - - // LESS-THAN OR EQUAL TO - 0x2264: [636,138,778,83,694,'674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], - - // GREATER-THAN OR EQUAL TO - 0x2265: [636,138,778,82,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 356 694 346T687 331Q685 329 395 192L107 56H101Q83 58 83 76Q83 77 83 79Q82 86 98 95Q117 105 248 167Q326 204 378 228L626 346L360 472Q291 505 200 548Q112 589 98 597T83 616ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], - - // MUCH LESS-THAN - 0x226A: [568,67,1000,56,944,'639 -48Q639 -54 634 -60T619 -67H618Q612 -67 536 -26Q430 33 329 88Q61 235 59 239Q56 243 56 250T59 261Q62 266 336 415T615 567L619 568Q622 567 625 567Q639 562 639 548Q639 540 633 534Q632 532 374 391L117 250L374 109Q632 -32 633 -34Q639 -40 639 -48ZM944 -48Q944 -54 939 -60T924 -67H923Q917 -67 841 -26Q735 33 634 88Q366 235 364 239Q361 243 361 250T364 261Q367 266 641 415T920 567L924 568Q927 567 930 567Q944 562 944 548Q944 540 938 534Q937 532 679 391L422 250L679 109Q937 -32 938 -34Q944 -40 944 -48'], - - // MUCH GREATER-THAN - 0x226B: [567,67,1000,55,944,'55 539T55 547T60 561T74 567Q81 567 207 498Q297 449 365 412Q633 265 636 261Q639 255 639 250Q639 241 626 232Q614 224 365 88Q83 -65 79 -66Q76 -67 73 -67Q65 -67 60 -61T55 -47Q55 -39 61 -33Q62 -33 95 -15T193 39T320 109L321 110H322L323 111H324L325 112L326 113H327L329 114H330L331 115H332L333 116L334 117H335L336 118H337L338 119H339L340 120L341 121H342L343 122H344L345 123H346L347 124L348 125H349L351 126H352L353 127H354L355 128L356 129H357L358 130H359L360 131H361L362 132L363 133H364L365 134H366L367 135H368L369 136H370L371 137L372 138H373L374 139H375L376 140L378 141L576 251Q63 530 62 533Q55 539 55 547ZM360 539T360 547T365 561T379 567Q386 567 512 498Q602 449 670 412Q938 265 941 261Q944 255 944 250Q944 241 931 232Q919 224 670 88Q388 -65 384 -66Q381 -67 378 -67Q370 -67 365 -61T360 -47Q360 -39 366 -33Q367 -33 400 -15T498 39T625 109L626 110H627L628 111H629L630 112L631 113H632L634 114H635L636 115H637L638 116L639 117H640L641 118H642L643 119H644L645 120L646 121H647L648 122H649L650 123H651L652 124L653 125H654L656 126H657L658 127H659L660 128L661 129H662L663 130H664L665 131H666L667 132L668 133H669L670 134H671L672 135H673L674 136H675L676 137L677 138H678L679 139H680L681 140L683 141L881 251Q368 530 367 533Q360 539 360 547'], - - // PRECEDES - 0x227A: [539,41,778,84,694,'84 249Q84 262 91 266T117 270Q120 270 126 270T137 269Q388 273 512 333T653 512Q657 539 676 539Q685 538 689 532T694 520V515Q689 469 672 431T626 366T569 320T500 286T435 265T373 249Q379 248 404 242T440 233T477 221T533 199Q681 124 694 -17Q694 -41 674 -41Q658 -41 653 -17Q646 41 613 84T533 154T418 197T284 220T137 229H114Q104 229 98 230T88 235T84 249'], - - // SUCCEEDS - 0x227B: [539,41,778,83,694,'84 517Q84 539 102 539Q115 539 119 529T125 503T137 459T171 404Q277 275 640 269H661Q694 269 694 249T661 229H640Q526 227 439 214T283 173T173 98T124 -17Q118 -41 103 -41Q83 -41 83 -17Q88 29 105 67T151 132T208 178T277 212T342 233T404 249Q401 250 380 254T345 263T302 276T245 299Q125 358 92 468Q84 502 84 517'], - - // SUBSET OF - 0x2282: [541,41,778,84,694,'84 250Q84 372 166 450T360 539Q361 539 370 539T395 539T430 540T475 540T524 540H679Q694 532 694 520Q694 511 681 501L522 500H470H441Q366 500 338 496T266 472Q244 461 224 446T179 404T139 337T124 250V245Q124 157 185 89Q244 25 328 7Q348 2 366 2T522 0H681Q694 -10 694 -20Q694 -32 679 -40H526Q510 -40 480 -40T434 -41Q350 -41 289 -25T172 45Q84 127 84 250'], - - // SUPERSET OF - 0x2283: [541,40,778,83,693,'83 520Q83 532 98 540H251Q267 540 297 540T343 541Q427 541 488 525T605 455Q693 374 693 250Q693 165 650 99T545 0T415 -39Q407 -40 251 -40H98Q83 -32 83 -20Q83 -10 96 0H255H308H337Q412 0 439 4T512 28Q533 39 553 54T599 96T639 163T654 250Q654 341 592 411Q557 449 512 472Q468 491 439 495T335 500H306H255L96 501Q83 511 83 520'], - - // SUBSET OF OR EQUAL TO - 0x2286: [637,138,778,84,694,'84 346Q84 468 166 546T360 635Q361 635 370 635T395 635T430 636T475 636T524 636H679Q694 628 694 616Q694 607 681 597L522 596H470H441Q366 596 338 592T266 568Q244 557 224 542T179 500T139 433T124 346V341Q124 253 185 185Q244 121 328 103Q348 98 366 98T522 96H681Q694 86 694 76Q694 64 679 56H526Q510 56 480 56T434 55Q350 55 289 71T172 141Q84 223 84 346ZM104 -131T104 -118T118 -98H679Q694 -106 694 -118T679 -138H118Q104 -131 104 -118'], - - // SUPERSET OF OR EQUAL TO - 0x2287: [637,138,778,83,693,'83 616Q83 628 98 636H251Q267 636 297 636T343 637Q427 637 488 621T605 551Q693 470 693 346Q693 261 650 195T545 96T415 57Q407 56 251 56H98Q83 64 83 76Q83 86 96 96H255H308H337Q412 96 439 100T512 124Q533 135 553 150T599 192T639 259T654 346Q654 437 592 507Q557 545 512 568Q468 587 439 591T335 596H306H255L96 597Q83 607 83 616ZM84 -131T84 -118T98 -98H659Q674 -106 674 -118T659 -138H98Q84 -131 84 -118'], - - // MULTISET UNION - 0x228E: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598ZM313 406Q313 417 313 435T312 459Q312 483 316 493T333 503T349 494T353 461V406V325H515Q516 325 519 323T527 316T531 305T527 294T520 287T515 285H353V204V152Q353 127 350 117T333 107T316 117T312 152Q312 158 312 175T313 204V285H151Q150 285 147 287T139 294T135 305T139 316T146 323T151 325H313V406'], - - // SQUARE IMAGE OF OR EQUAL TO - 0x2291: [636,138,778,84,714,'94 620Q98 632 110 636H699Q714 628 714 616T699 596H134V96H698Q714 90 714 76Q714 64 699 56H109Q104 59 95 69L94 344V620ZM84 -118Q84 -103 100 -98H698Q714 -104 714 -118Q714 -130 699 -138H98Q84 -131 84 -118'], - - // SQUARE ORIGINAL OF OR EQUAL TO - 0x2292: [636,138,778,64,694,'64 603T64 616T78 636H668Q675 633 683 623V69Q675 59 668 56H78Q64 63 64 76Q64 91 80 96H643V596H78Q64 603 64 616ZM64 -118Q64 -108 79 -98H678Q694 -104 694 -118Q694 -130 679 -138H78Q64 -131 64 -118'], - - // stix-square intersection, serifs - 0x2293: [598,0,667,61,605,'83 0Q79 0 76 1T71 3T67 6T65 9T63 13T61 16V301L62 585Q70 595 76 598H592Q602 590 605 583V15Q598 2 587 0Q583 0 580 1T575 3T571 6T569 9T567 13T565 16V558H101V15Q94 2 83 0'], - - // stix-square union, serifs - 0x2294: [598,0,667,61,605,'77 0Q65 4 61 16V301L62 585Q72 598 81 598Q94 598 101 583V40H565V583Q573 598 585 598Q598 598 605 583V15Q602 10 592 1L335 0H77'], - - // stix-circled plus (with rim) - 0x2295: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM364 542Q308 539 251 509T148 418T96 278V270H369V542H364ZM681 278Q675 338 650 386T592 462T522 509T458 535T412 542H409V270H681V278ZM96 222Q104 150 139 95T219 12T302 -29T366 -42H369V230H96V222ZM681 222V230H409V-42H412Q429 -42 456 -36T521 -10T590 37T649 113T681 222'], - - // CIRCLED MINUS - 0x2296: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM681 278Q669 385 591 463T381 542Q283 542 196 471T96 278V270H681V278ZM275 -42T388 -42T585 32T681 222V230H96V222Q108 107 191 33'], - - // stix-circled times (with rim) - 0x2297: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q531 510 496 523Q446 542 381 542Q324 542 272 519T196 471L389 278L485 375L582 471ZM167 442Q95 362 95 250Q95 137 167 58L359 250L167 442ZM610 58Q682 138 682 250Q682 363 610 442L418 250L610 58ZM196 29Q209 16 230 2T295 -27T388 -42Q409 -42 429 -40T465 -33T496 -23T522 -11T544 1T561 13T574 22T582 29L388 222L196 29'], - - // CIRCLED DIVISION SLASH - 0x2298: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q581 472 571 480T556 491T539 502T517 514T491 525T460 534T424 539T381 542Q272 542 184 460T95 251Q95 198 113 150T149 80L167 58L582 471ZM388 -42Q513 -42 597 44T682 250Q682 363 610 442L196 29Q209 16 229 2T295 -27T388 -42'], - - // CIRCLED DOT OPERATOR - 0x2299: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM682 250Q682 322 649 387T546 497T381 542Q272 542 184 459T95 250Q95 132 178 45T389 -42Q515 -42 598 45T682 250ZM311 250Q311 285 332 304T375 328Q376 328 382 328T392 329Q424 326 445 305T466 250Q466 217 445 195T389 172Q354 172 333 195T311 250'], - - // RIGHT TACK - 0x22A2: [695,0,611,55,555,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V367H540Q555 359 555 347Q555 334 540 327H95V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678'], - - // LEFT TACK - 0x22A3: [695,0,611,54,555,'515 678Q515 679 516 681T518 684T521 688T525 691T530 693T537 694Q548 692 555 679V15Q548 2 537 0Q533 0 530 1T525 3T521 6T519 9T517 13T515 16V327H71Q70 327 67 329T59 336T55 347T59 358T66 365T71 367H515V678'], - - // DOWN TACK - 0x22A4: [668,0,778,55,723,'55 642T55 648T59 659T66 666T71 668H708Q723 660 723 648T708 628H409V15Q402 2 391 0Q387 0 384 1T379 3T375 6T373 9T371 13T369 16V628H71Q70 628 67 630T59 637'], - - // UP TACK - 0x22A5: [669,0,778,54,723,'369 652Q369 653 370 655T372 658T375 662T379 665T384 667T391 668Q402 666 409 653V40H708Q723 32 723 20T708 0H71Q70 0 67 2T59 9T55 20T59 31T66 38T71 40H369V652'], - - // TRUE - 0x22A8: [750,249,867,119,812,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V367H796Q811 359 811 347Q811 336 797 328L479 327H161L159 328V172L161 173H797Q798 172 800 171T803 169T805 167T808 164T809 162T810 158T811 153Q811 140 796 133H159V-235Q151 -249 141 -249H139'], - - // DIAMOND OPERATOR - 0x22C4: [488,-12,500,12,488,'242 486Q245 488 250 488Q256 488 258 486Q262 484 373 373T486 258T488 250T486 242T373 127T258 14Q256 12 250 12Q245 12 242 14Q237 16 127 126T14 242Q12 245 12 250T14 258Q16 263 126 373T242 486ZM439 250L250 439L61 250L250 61L439 250'], - - // DOT OPERATOR - 0x22C5: [310,-190,278,78,199,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250'], - - // STAR OPERATOR - 0x22C6: [486,-16,500,3,497,'210 282Q210 284 225 381T241 480Q241 484 245 484Q249 486 251 486Q258 486 260 477T272 406Q275 390 276 380Q290 286 290 282L388 299Q484 314 487 314H488Q497 314 497 302Q497 297 434 266Q416 257 404 251L315 206L361 118Q372 98 383 75T401 40L407 28Q407 16 395 16Q394 16 392 16L390 17L250 159L110 17L108 16Q106 16 105 16Q93 16 93 28L99 40Q105 52 116 75T139 118L185 206L96 251Q6 296 4 300Q3 301 3 302Q3 314 12 314H13Q16 314 112 299L210 282'], - - // BOWTIE - 0x22C8: [505,5,900,26,873,'833 50T833 250T832 450T659 351T487 250T658 150T832 50Q833 50 833 250ZM873 10Q866 -5 854 -5Q851 -5 845 -3L449 226L260 115Q51 -5 43 -5Q39 -5 35 -1T28 7L26 11V489Q33 505 43 505Q51 505 260 385L449 274L845 503Q851 505 853 505Q866 505 873 490V10ZM412 250L67 450Q66 450 66 250T67 50Q69 51 240 150T412 250'], - - // VERTICAL ELLIPSIS - 0x22EE: [900,30,278,78,199,'78 30Q78 54 95 72T138 90Q162 90 180 74T199 31Q199 6 182 -12T139 -30T96 -13T78 30ZM78 440Q78 464 95 482T138 500Q162 500 180 484T199 441Q199 416 182 398T139 380T96 397T78 440ZM78 840Q78 864 95 882T138 900Q162 900 180 884T199 841Q199 816 182 798T139 780T96 797T78 840'], - - // MIDLINE HORIZONTAL ELLIPSIS - 0x22EF: [310,-190,1172,78,1093,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250ZM525 250Q525 274 542 292T585 310Q609 310 627 294T646 251Q646 226 629 208T586 190T543 207T525 250ZM972 250Q972 274 989 292T1032 310Q1056 310 1074 294T1093 251Q1093 226 1076 208T1033 190T990 207T972 250'], - - // DOWN RIGHT DIAGONAL ELLIPSIS - 0x22F1: [820,-100,1282,133,1148,'133 760Q133 784 150 802T193 820Q217 820 235 804T254 761Q254 736 237 718T194 700T151 717T133 760ZM580 460Q580 484 597 502T640 520Q664 520 682 504T701 461Q701 436 684 418T641 400T598 417T580 460ZM1027 160Q1027 184 1044 202T1087 220Q1111 220 1129 204T1148 161Q1148 136 1131 118T1088 100T1045 117T1027 160'], - - // LEFT CEILING - 0x2308: [750,250,444,174,422,'174 734Q178 746 190 750H298H369Q400 750 411 747T422 730T411 713T372 709Q365 709 345 709T310 710H214V-235Q206 -248 196 -250Q192 -250 189 -249T184 -247T180 -244T178 -241T176 -237T174 -234V734'], - - // RIGHT CEILING - 0x2309: [750,250,444,21,269,'21 717T21 730T32 746T75 750H147H256Q266 742 269 735V-235Q262 -248 251 -250Q247 -250 244 -249T239 -247T235 -244T233 -241T231 -237T229 -234V710H133Q119 710 99 710T71 709Q43 709 32 713'], - - // LEFT FLOOR - 0x230A: [751,251,444,174,423,'174 734Q174 735 175 737T177 740T180 744T184 747T189 749T196 750Q206 748 214 735V-210H310H373Q401 -210 411 -213T422 -230T411 -247T369 -251Q362 -251 338 -251T298 -250H190Q178 -246 174 -234V734'], - - // RIGHT FLOOR - 0x230B: [751,250,444,21,269,'229 734Q229 735 230 737T232 740T235 744T239 747T244 749T251 750Q262 748 269 735V-235Q266 -240 256 -249L147 -250H77Q43 -250 32 -247T21 -230T32 -213T72 -209Q79 -209 99 -209T133 -210H229V734'], - - // stix-small down curve - 0x2322: [388,-122,1000,55,944,'55 141Q55 149 72 174T125 234T209 303T329 360T478 388H526Q649 383 765 319Q814 291 858 250T923 179T944 141Q944 133 938 128T924 122Q914 124 912 125T902 139Q766 328 500 328Q415 328 342 308T225 258T150 199T102 148T84 124Q81 122 75 122Q55 127 55 141'], - - // stix-small up curve - 0x2323: [378,-134,1000,55,944,'923 378Q944 378 944 358Q944 345 912 311T859 259Q710 134 500 134Q288 134 140 259Q55 336 55 358Q55 366 61 372T75 378Q78 378 84 376Q86 376 101 356T147 310T221 257T339 212T500 193Q628 193 734 236Q841 282 903 363Q914 378 923 378'], - - // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION - 0x23B0: [744,244,412,56,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 454T239 315T239 247Q240 235 240 124V40Q240 -17 233 -53T201 -130Q155 -206 78 -244H69H64Q58 -244 57 -243T56 -234Q56 -232 56 -231V-225Q56 -218 63 -215Q153 -153 170 -39Q172 -25 173 119V219Q173 245 174 249Q173 258 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], - - // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION - 0x23B1: [744,244,412,55,357,'78 744Q153 706 196 640T239 492V376Q239 341 239 314T238 271T238 253Q239 251 239 223V119V49Q239 -39 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 258 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], - - // MATHEMATICAL LEFT ANGLE BRACKET - 0x27E8: [750,250,389,109,333,'333 -232Q332 -239 327 -244T313 -250Q303 -250 296 -240Q293 -233 202 6T110 250T201 494T296 740Q299 745 306 749L309 750Q312 750 313 750Q331 750 333 732Q333 727 243 489Q152 252 152 250T243 11Q333 -227 333 -232'], - - // MATHEMATICAL RIGHT ANGLE BRACKET - 0x27E9: [750,250,389,55,279,'55 732Q56 739 61 744T75 750Q85 750 92 740Q95 733 186 494T278 250T187 6T92 -240Q85 -250 75 -250Q67 -250 62 -245T55 -232Q55 -227 145 11Q236 248 236 250T145 489Q55 727 55 732'], - - // MATHEMATICAL LEFT FLATTENED PARENTHESIS - 0x27EE: [744,244,412,173,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 394V331Q240 259 239 250Q240 242 240 119V49Q240 -42 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 260 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], - - // MATHEMATICAL RIGHT FLATTENED PARENTHESIS - 0x27EF: [744,244,412,55,240,'78 744Q153 706 196 640T239 492V376Q239 339 239 311T238 269T238 252Q240 236 240 124V40Q240 -18 233 -53T202 -130Q156 -206 79 -244H70H65Q58 -244 57 -242T56 -231T57 -220T64 -215Q153 -154 170 -39Q173 -18 174 119V247Q173 249 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], - - // LONG LEFTWARDS ARROW - 0x27F5: [511,11,1609,55,1525,'165 270H1510Q1525 262 1525 250T1510 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], - - // LONG RIGHTWARDS ARROW - 0x27F6: [511,11,1638,84,1553,'84 237T84 250T98 270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H98Q84 237 84 250'], - - // LONG LEFT RIGHT ARROW - 0x27F7: [511,11,1859,55,1803,'165 270H1694Q1578 357 1551 493Q1551 494 1551 496T1550 499Q1550 511 1567 511H1570Q1579 511 1582 510T1588 506T1591 497T1594 481T1602 456Q1624 389 1675 336T1794 261Q1803 258 1803 250Q1803 244 1798 241T1774 231T1736 212Q1695 186 1665 152T1620 85T1599 35T1591 4Q1589 -6 1586 -8T1570 -11Q1550 -11 1550 0Q1550 7 1555 25Q1587 151 1694 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], - - // LONG LEFTWARDS DOUBLE ARROW - 0x27F8: [525,24,1609,56,1554,'274 173H1539Q1540 172 1542 171T1545 169T1547 167T1550 164T1551 162T1552 158T1553 153Q1553 140 1538 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1538Q1553 359 1553 347Q1553 336 1539 328L1221 327H903L900 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], - - // LONG RIGHTWARDS DOUBLE ARROW - 0x27F9: [525,24,1638,56,1582,'1218 514Q1218 525 1234 525Q1239 525 1242 525T1247 525T1251 524T1253 523T1255 520T1257 517T1260 512Q1297 438 1358 381T1469 300T1565 263Q1582 258 1582 250T1573 239T1536 228T1478 204Q1334 134 1260 -12Q1256 -21 1253 -22T1238 -24Q1218 -24 1218 -17Q1218 -13 1223 0Q1258 69 1309 123L1319 133H70Q56 140 56 153Q56 168 72 173H1363L1373 181Q1412 211 1490 250Q1489 251 1472 259T1427 283T1373 319L1363 327H710L707 328L390 327H72Q56 332 56 347Q56 360 70 367H1319L1309 377Q1276 412 1247 458T1218 514'], - - // LONG LEFT RIGHT DOUBLE ARROW - 0x27FA: [525,24,1858,56,1802,'1438 514Q1438 525 1454 525Q1459 525 1462 525T1467 525T1471 524T1473 523T1475 520T1477 517T1480 512Q1517 438 1578 381T1689 300T1785 263Q1802 258 1802 250T1793 239T1756 228T1698 204Q1554 134 1480 -12Q1476 -21 1473 -22T1458 -24Q1438 -24 1438 -17Q1438 -13 1443 0Q1478 69 1529 123L1539 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1539L1529 377Q1496 412 1467 458T1438 514ZM274 173H1583L1593 181Q1632 211 1710 250Q1709 251 1692 259T1647 283T1593 319L1583 327H930L927 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], - - // LONG RIGHTWARDS ARROW FROM BAR - 0x27FC: [511,11,1638,54,1553,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H95V155'], - - // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN - 0x2AAF: [636,138,778,84,694,'84 346Q84 359 91 363T117 367Q120 367 126 367T137 366Q388 370 512 430T653 609Q657 636 676 636Q685 635 689 629T694 618V612Q689 566 672 528T626 463T569 417T500 383T435 362T373 346Q379 345 404 339T440 330T477 318T533 296Q592 266 630 223T681 145T694 78Q694 57 674 57Q662 57 657 67T652 92T640 135T606 191Q500 320 137 326H114Q104 326 98 327T88 332T84 346ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'], - - // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN - 0x2AB0: [636,138,778,83,694,'84 614Q84 636 102 636Q115 636 119 626T125 600T137 556T171 501Q277 372 640 366H661Q694 366 694 346T661 326H640Q578 325 526 321T415 307T309 280T222 237T156 172T124 83Q122 66 118 62T103 57Q100 57 98 57T95 58T93 59T90 62T85 67Q83 71 83 80Q88 126 105 164T151 229T208 275T277 309T342 330T404 346Q401 347 380 351T345 360T302 373T245 396Q125 455 92 565Q84 599 84 614ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'] - }; - - SVG.FONTDATA.FONTS['MathJax_Math-italic'] = { - directory: 'Math/Italic', - family: 'MathJax_Math', - id: 'MJMATHI', - style: 'italic', - skew: { - 0x41: 0.139, - 0x42: 0.0833, - 0x43: 0.0833, - 0x44: 0.0556, - 0x45: 0.0833, - 0x46: 0.0833, - 0x47: 0.0833, - 0x48: 0.0556, - 0x49: 0.111, - 0x4A: 0.167, - 0x4B: 0.0556, - 0x4C: 0.0278, - 0x4D: 0.0833, - 0x4E: 0.0833, - 0x4F: 0.0833, - 0x50: 0.0833, - 0x51: 0.0833, - 0x52: 0.0833, - 0x53: 0.0833, - 0x54: 0.0833, - 0x55: 0.0278, - 0x58: 0.0833, - 0x5A: 0.0833, - 0x63: 0.0556, - 0x64: 0.167, - 0x65: 0.0556, - 0x66: 0.167, - 0x67: 0.0278, - 0x68: -0.0278, - 0x6C: 0.0833, - 0x6F: 0.0556, - 0x70: 0.0833, - 0x71: 0.0833, - 0x72: 0.0556, - 0x73: 0.0556, - 0x74: 0.0833, - 0x75: 0.0278, - 0x76: 0.0278, - 0x77: 0.0833, - 0x78: 0.0278, - 0x79: 0.0556, - 0x7A: 0.0556, - 0x393: 0.0833, - 0x394: 0.167, - 0x398: 0.0833, - 0x39B: 0.167, - 0x39E: 0.0833, - 0x3A0: 0.0556, - 0x3A3: 0.0833, - 0x3A5: 0.0556, - 0x3A6: 0.0833, - 0x3A8: 0.0556, - 0x3A9: 0.0833, - 0x3B1: 0.0278, - 0x3B2: 0.0833, - 0x3B4: 0.0556, - 0x3B5: 0.0833, - 0x3B6: 0.0833, - 0x3B7: 0.0556, - 0x3B8: 0.0833, - 0x3B9: 0.0556, - 0x3BC: 0.0278, - 0x3BD: 0.0278, - 0x3BE: 0.111, - 0x3BF: 0.0556, - 0x3C1: 0.0833, - 0x3C2: 0.0833, - 0x3C4: 0.0278, - 0x3C5: 0.0278, - 0x3C6: 0.0833, - 0x3C7: 0.0556, - 0x3C8: 0.111, - 0x3D1: 0.0833, - 0x3D5: 0.0833, - 0x3F1: 0.0833, - 0x3F5: 0.0556 - }, - - // SPACE - 0x20: [0,0,250,0,0,''], - - // SOLIDUS - 0x2F: [716,215,778,139,638,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183Q157 -157 378 274T602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 691 406 241T170 -212Q166 -215 159 -215'], - - // LATIN CAPITAL LETTER A - 0x41: [716,0,750,35,726,'208 74Q208 50 254 46Q272 46 272 35Q272 34 270 22Q267 8 264 4T251 0Q249 0 239 0T205 1T141 2Q70 2 50 0H42Q35 7 35 11Q37 38 48 46H62Q132 49 164 96Q170 102 345 401T523 704Q530 716 547 716H555H572Q578 707 578 706L606 383Q634 60 636 57Q641 46 701 46Q726 46 726 36Q726 34 723 22Q720 7 718 4T704 0Q701 0 690 0T651 1T578 2Q484 2 455 0H443Q437 6 437 9T439 27Q443 40 445 43L449 46H469Q523 49 533 63L521 213H283L249 155Q208 86 208 74ZM516 260Q516 271 504 416T490 562L463 519Q447 492 400 412L310 260L413 259Q516 259 516 260'], - - // LATIN CAPITAL LETTER B - 0x42: [683,0,759,35,756,'231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229'], - - // LATIN CAPITAL LETTER C - 0x43: [705,22,715,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252'], - - // LATIN CAPITAL LETTER D - 0x44: [683,0,828,33,803,'287 628Q287 635 230 637Q207 637 200 638T193 647Q193 655 197 667T204 682Q206 683 403 683Q570 682 590 682T630 676Q702 659 752 597T803 431Q803 275 696 151T444 3L430 1L236 0H125H72Q48 0 41 2T33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM703 469Q703 507 692 537T666 584T629 613T590 629T555 636Q553 636 541 636T512 636T479 637H436Q392 637 386 627Q384 623 313 339T242 52Q242 48 253 48T330 47Q335 47 349 47T373 46Q499 46 581 128Q617 164 640 212T683 339T703 469'], - - // LATIN CAPITAL LETTER E - 0x45: [680,0,738,31,764,'492 213Q472 213 472 226Q472 230 477 250T482 285Q482 316 461 323T364 330H312Q311 328 277 192T243 52Q243 48 254 48T334 46Q428 46 458 48T518 61Q567 77 599 117T670 248Q680 270 683 272Q690 274 698 274Q718 274 718 261Q613 7 608 2Q605 0 322 0H133Q31 0 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H757Q764 676 764 669Q764 664 751 557T737 447Q735 440 717 440H705Q698 445 698 453L701 476Q704 500 704 528Q704 558 697 578T678 609T643 625T596 632T532 634H485Q397 633 392 631Q388 629 386 622Q385 619 355 499T324 377Q347 376 372 376H398Q464 376 489 391T534 472Q538 488 540 490T557 493Q562 493 565 493T570 492T572 491T574 487T577 483L544 351Q511 218 508 216Q505 213 492 213'], - - // LATIN CAPITAL LETTER F - 0x46: [680,0,643,31,749,'48 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H742Q749 676 749 669Q749 664 736 557T722 447Q720 440 702 440H690Q683 445 683 453Q683 454 686 477T689 530Q689 560 682 579T663 610T626 626T575 633T503 634H480Q398 633 393 631Q388 629 386 623Q385 622 352 492L320 363H375Q378 363 398 363T426 364T448 367T472 374T489 386Q502 398 511 419T524 457T529 475Q532 480 548 480H560Q567 475 567 470Q567 467 536 339T502 207Q500 200 482 200H470Q463 206 463 212Q463 215 468 234T473 274Q473 303 453 310T364 317H309L277 190Q245 66 245 60Q245 46 334 46H359Q365 40 365 39T363 19Q359 6 353 0H336Q295 2 185 2Q120 2 86 2T48 1'], - - // LATIN CAPITAL LETTER G - 0x47: [705,22,786,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q492 659 471 656T418 643T357 615T294 567T236 496T189 394T158 260Q156 242 156 221Q156 173 170 136T206 79T256 45T308 28T353 24Q407 24 452 47T514 106Q517 114 529 161T541 214Q541 222 528 224T468 227H431Q425 233 425 235T427 254Q431 267 437 273H454Q494 271 594 271Q634 271 659 271T695 272T707 272Q721 272 721 263Q721 261 719 249Q714 230 709 228Q706 227 694 227Q674 227 653 224Q646 221 643 215T629 164Q620 131 614 108Q589 6 586 3Q584 1 581 1Q571 1 553 21T530 52Q530 53 528 52T522 47Q448 -22 322 -22Q201 -22 126 55T50 252'], - - // LATIN CAPITAL LETTER H - 0x48: [683,0,831,31,888,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 219 683Q260 681 355 681Q389 681 418 681T463 682T483 682Q499 682 499 672Q499 670 497 658Q492 641 487 638H485Q483 638 480 638T473 638T464 637T455 637Q416 636 405 634T387 623Q384 619 355 500Q348 474 340 442T328 395L324 380Q324 378 469 378H614L615 381Q615 384 646 504Q674 619 674 627T617 637Q594 637 587 639T580 648Q580 650 582 660Q586 677 588 679T604 682Q609 682 646 681T740 680Q802 680 835 681T871 682Q888 682 888 672Q888 645 876 638H874Q872 638 869 638T862 638T853 637T844 637Q805 636 794 634T776 623Q773 618 704 340T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q520 50 522 50T528 55T534 64T540 82T547 110T558 153Q565 181 569 198Q602 330 602 331T457 332H312L279 197Q245 63 245 58Q245 51 253 49T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], - - // LATIN CAPITAL LETTER I - 0x49: [683,0,440,26,504,'43 1Q26 1 26 10Q26 12 29 24Q34 43 39 45Q42 46 54 46H60Q120 46 136 53Q137 53 138 54Q143 56 149 77T198 273Q210 318 216 344Q286 624 286 626Q284 630 284 631Q274 637 213 637H193Q184 643 189 662Q193 677 195 680T209 683H213Q285 681 359 681Q481 681 487 683H497Q504 676 504 672T501 655T494 639Q491 637 471 637Q440 637 407 634Q393 631 388 623Q381 609 337 432Q326 385 315 341Q245 65 245 59Q245 52 255 50T307 46H339Q345 38 345 37T342 19Q338 6 332 0H316Q279 2 179 2Q143 2 113 2T65 2T43 1'], - - // LATIN CAPITAL LETTER J - 0x4A: [683,22,555,57,633,'447 625Q447 637 354 637H329Q323 642 323 645T325 664Q329 677 335 683H352Q393 681 498 681Q541 681 568 681T605 682T619 682Q633 682 633 672Q633 670 630 658Q626 642 623 640T604 637Q552 637 545 623Q541 610 483 376Q420 128 419 127Q397 64 333 21T195 -22Q137 -22 97 8T57 88Q57 130 80 152T132 174Q177 174 182 130Q182 98 164 80T123 56Q115 54 115 53T122 44Q148 15 197 15Q235 15 271 47T324 130Q328 142 387 380T447 625'], - - // LATIN CAPITAL LETTER K - 0x4B: [683,0,849,31,889,'285 628Q285 635 228 637Q205 637 198 638T191 647Q191 649 193 661Q199 681 203 682Q205 683 214 683H219Q260 681 355 681Q389 681 418 681T463 682T483 682Q500 682 500 674Q500 669 497 660Q496 658 496 654T495 648T493 644T490 641T486 639T479 638T470 637T456 637Q416 636 405 634T387 623L306 305Q307 305 490 449T678 597Q692 611 692 620Q692 635 667 637Q651 637 651 648Q651 650 654 662T659 677Q662 682 676 682Q680 682 711 681T791 680Q814 680 839 681T869 682Q889 682 889 672Q889 650 881 642Q878 637 862 637Q787 632 726 586Q710 576 656 534T556 455L509 418L518 396Q527 374 546 329T581 244Q656 67 661 61Q663 59 666 57Q680 47 717 46H738Q744 38 744 37T741 19Q737 6 731 0H720Q680 3 625 3Q503 3 488 0H478Q472 6 472 9T474 27Q478 40 480 43T491 46H494Q544 46 544 71Q544 75 517 141T485 216L427 354L359 301L291 248L268 155Q245 63 245 58Q245 51 253 49T303 46H334Q340 37 340 35Q340 19 333 5Q328 0 317 0Q314 0 280 1T180 2Q118 2 85 2T49 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628'], - - // LATIN CAPITAL LETTER L - 0x4C: [683,2,681,32,647,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 217 683Q271 680 344 680Q485 680 506 683H518Q524 677 524 674T522 656Q517 641 513 637H475Q406 636 394 628Q387 624 380 600T313 336Q297 271 279 198T252 88L243 52Q243 48 252 48T311 46H328Q360 46 379 47T428 54T478 72T522 106T564 161Q580 191 594 228T611 270Q616 273 628 273H641Q647 264 647 262T627 203T583 83T557 9Q555 4 553 3T537 0T494 -1Q483 -1 418 -1T294 0H116Q32 0 32 10Q32 17 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], - - // LATIN CAPITAL LETTER M - 0x4D: [684,0,970,35,1051,'289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629'], - - // LATIN CAPITAL LETTER N - 0x4E: [683,0,803,31,888,'234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637'], - - // LATIN CAPITAL LETTER O - 0x4F: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM637 476Q637 565 591 615T476 665Q396 665 322 605Q242 542 200 428T157 216Q157 126 200 73T314 19Q404 19 485 98T608 313Q637 408 637 476'], - - // LATIN CAPITAL LETTER P - 0x50: [683,0,642,33,751,'287 628Q287 635 230 637Q206 637 199 638T192 648Q192 649 194 659Q200 679 203 681T397 683Q587 682 600 680Q664 669 707 631T751 530Q751 453 685 389Q616 321 507 303Q500 302 402 301H307L277 182Q247 66 247 59Q247 55 248 54T255 50T272 48T305 46H336Q342 37 342 35Q342 19 335 5Q330 0 319 0Q316 0 282 1T182 2Q120 2 87 2T51 1Q33 1 33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM645 554Q645 567 643 575T634 597T609 619T560 635Q553 636 480 637Q463 637 445 637T416 636T404 636Q391 635 386 627Q384 621 367 550T332 412T314 344Q314 342 395 342H407H430Q542 342 590 392Q617 419 631 471T645 554'], - - // LATIN CAPITAL LETTER Q - 0x51: [704,194,791,50,740,'399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18'], - - // LATIN CAPITAL LETTER R - 0x52: [683,21,759,33,755,'230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554'], - - // LATIN CAPITAL LETTER S - 0x53: [705,22,613,52,645,'308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24'], - - // LATIN CAPITAL LETTER T - 0x54: [677,0,584,21,704,'40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40'], - - // LATIN CAPITAL LETTER U - 0x55: [683,22,683,60,767,'107 637Q73 637 71 641Q70 643 70 649Q70 673 81 682Q83 683 98 683Q139 681 234 681Q268 681 297 681T342 682T362 682Q378 682 378 672Q378 670 376 658Q371 641 366 638H364Q362 638 359 638T352 638T343 637T334 637Q295 636 284 634T266 623Q265 621 238 518T184 302T154 169Q152 155 152 140Q152 86 183 55T269 24Q336 24 403 69T501 205L552 406Q599 598 599 606Q599 633 535 637Q511 637 511 648Q511 650 513 660Q517 676 519 679T529 683Q532 683 561 682T645 680Q696 680 723 681T752 682Q767 682 767 672Q767 650 759 642Q756 637 737 637Q666 633 648 597Q646 592 598 404Q557 235 548 205Q515 105 433 42T263 -22Q171 -22 116 34T60 167V183Q60 201 115 421Q164 622 164 628Q164 635 107 637'], - - // LATIN CAPITAL LETTER V - 0x56: [683,22,583,52,769,'52 648Q52 670 65 683H76Q118 680 181 680Q299 680 320 683H330Q336 677 336 674T334 656Q329 641 325 637H304Q282 635 274 635Q245 630 242 620Q242 618 271 369T301 118L374 235Q447 352 520 471T595 594Q599 601 599 609Q599 633 555 637Q537 637 537 648Q537 649 539 661Q542 675 545 679T558 683Q560 683 570 683T604 682T668 681Q737 681 755 683H762Q769 676 769 672Q769 655 760 640Q757 637 743 637Q730 636 719 635T698 630T682 623T670 615T660 608T652 599T645 592L452 282Q272 -9 266 -16Q263 -18 259 -21L241 -22H234Q216 -22 216 -15Q213 -9 177 305Q139 623 138 626Q133 637 76 637H59Q52 642 52 648'], - - // LATIN CAPITAL LETTER W - 0x57: [683,22,944,51,1048,'436 683Q450 683 486 682T553 680Q604 680 638 681T677 682Q695 682 695 674Q695 670 692 659Q687 641 683 639T661 637Q636 636 621 632T600 624T597 615Q597 603 613 377T629 138L631 141Q633 144 637 151T649 170T666 200T690 241T720 295T759 362Q863 546 877 572T892 604Q892 619 873 628T831 637Q817 637 817 647Q817 650 819 660Q823 676 825 679T839 682Q842 682 856 682T895 682T949 681Q1015 681 1034 683Q1048 683 1048 672Q1048 666 1045 655T1038 640T1028 637Q1006 637 988 631T958 617T939 600T927 584L923 578L754 282Q586 -14 585 -15Q579 -22 561 -22Q546 -22 542 -17Q539 -14 523 229T506 480L494 462Q472 425 366 239Q222 -13 220 -15T215 -19Q210 -22 197 -22Q178 -22 176 -15Q176 -12 154 304T131 622Q129 631 121 633T82 637H58Q51 644 51 648Q52 671 64 683H76Q118 680 176 680Q301 680 313 683H323Q329 677 329 674T327 656Q322 641 318 637H297Q236 634 232 620Q262 160 266 136L501 550L499 587Q496 629 489 632Q483 636 447 637Q428 637 422 639T416 648Q416 650 418 660Q419 664 420 669T421 676T424 680T428 682T436 683'], - - // LATIN CAPITAL LETTER X - 0x58: [683,0,828,26,852,'42 0H40Q26 0 26 11Q26 15 29 27Q33 41 36 43T55 46Q141 49 190 98Q200 108 306 224T411 342Q302 620 297 625Q288 636 234 637H206Q200 643 200 645T202 664Q206 677 212 683H226Q260 681 347 681Q380 681 408 681T453 682T473 682Q490 682 490 671Q490 670 488 658Q484 643 481 640T465 637Q434 634 411 620L488 426L541 485Q646 598 646 610Q646 628 622 635Q617 635 609 637Q594 637 594 648Q594 650 596 664Q600 677 606 683H618Q619 683 643 683T697 681T738 680Q828 680 837 683H845Q852 676 852 672Q850 647 840 637H824Q790 636 763 628T722 611T698 593L687 584Q687 585 592 480L505 384Q505 383 536 304T601 142T638 56Q648 47 699 46Q734 46 734 37Q734 35 732 23Q728 7 725 4T711 1Q708 1 678 1T589 2Q528 2 496 2T461 1Q444 1 444 10Q444 11 446 25Q448 35 450 39T455 44T464 46T480 47T506 54Q523 62 523 64Q522 64 476 181L429 299Q241 95 236 84Q232 76 232 72Q232 53 261 47Q262 47 267 47T273 46Q276 46 277 46T280 45T283 42T284 35Q284 26 282 19Q279 6 276 4T261 1Q258 1 243 1T201 2T142 2Q64 2 42 0'], - - // LATIN CAPITAL LETTER Y - 0x59: [683,-1,581,30,763,'66 637Q54 637 49 637T39 638T32 641T30 647T33 664T42 682Q44 683 56 683Q104 680 165 680Q288 680 306 683H316Q322 677 322 674T320 656Q316 643 310 637H298Q242 637 242 624Q242 619 292 477T343 333L346 336Q350 340 358 349T379 373T411 410T454 461Q546 568 561 587T577 618Q577 634 545 637Q528 637 528 647Q528 649 530 661Q533 676 535 679T549 683Q551 683 578 682T657 680Q684 680 713 681T746 682Q763 682 763 673Q763 669 760 657T755 643Q753 637 734 637Q662 632 617 587Q608 578 477 424L348 273L322 169Q295 62 295 57Q295 46 363 46Q379 46 384 45T390 35Q390 33 388 23Q384 6 382 4T366 1Q361 1 324 1T232 2Q170 2 138 2T102 1Q84 1 84 9Q84 14 87 24Q88 27 89 30T90 35T91 39T93 42T96 44T101 45T107 45T116 46T129 46Q168 47 180 50T198 63Q201 68 227 171L252 274L129 623Q128 624 127 625T125 627T122 629T118 631T113 633T105 634T96 635T83 636T66 637'], - - // LATIN CAPITAL LETTER Z - 0x5A: [683,0,683,58,723,'58 8Q58 23 64 35Q64 36 329 334T596 635L586 637Q575 637 512 637H500H476Q442 637 420 635T365 624T311 598T266 548T228 469Q227 466 226 463T224 458T223 453T222 450L221 448Q218 443 202 443Q185 443 182 453L214 561Q228 606 241 651Q249 679 253 681Q256 683 487 683H718Q723 678 723 675Q723 673 717 649Q189 54 188 52L185 49H274Q369 50 377 51Q452 60 500 100T579 247Q587 272 590 277T603 282H607Q628 282 628 271Q547 5 541 2Q538 0 300 0H124Q58 0 58 8'], - - // LATIN SMALL LETTER A - 0x61: [441,10,529,33,506,'33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328'], - - // LATIN SMALL LETTER B - 0x62: [694,11,429,40,422,'73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325'], - - // LATIN SMALL LETTER C - 0x63: [442,12,433,34,430,'34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159'], - - // LATIN SMALL LETTER D - 0x64: [694,10,520,33,523,'366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], - - // LATIN SMALL LETTER E - 0x65: [443,11,466,39,430,'39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353'], - - // LATIN SMALL LETTER F - 0x66: [705,205,490,55,550,'118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162'], - - // LATIN SMALL LETTER G - 0x67: [442,205,477,10,480,'311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328'], - - // LATIN SMALL LETTER H - 0x68: [694,11,576,48,555,'137 683Q138 683 209 688T282 694Q294 694 294 685Q294 674 258 534Q220 386 220 383Q220 381 227 388Q288 442 357 442Q411 442 444 415T478 336Q478 285 440 178T402 50Q403 36 407 31T422 26Q450 26 474 56T513 138Q516 149 519 151T535 153Q555 153 555 145Q555 144 551 130Q535 71 500 33Q466 -10 419 -10H414Q367 -10 346 17T325 74Q325 90 361 192T398 345Q398 404 354 404H349Q266 404 205 306L198 293L164 158Q132 28 127 16Q114 -11 83 -11Q69 -11 59 -2T48 16Q48 30 121 320L195 616Q195 629 188 632T149 637H128Q122 643 122 645T124 664Q129 683 137 683'], - - // LATIN SMALL LETTER I - 0x69: [661,11,345,21,302,'184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER J - 0x6A: [661,204,412,-12,403,'297 596Q297 627 318 644T361 661Q378 661 389 651T403 623Q403 595 384 576T340 557Q322 557 310 567T297 596ZM288 376Q288 405 262 405Q240 405 220 393T185 362T161 325T144 293L137 279Q135 278 121 278H107Q101 284 101 286T105 299Q126 348 164 391T252 441Q253 441 260 441T272 442Q296 441 316 432Q341 418 354 401T367 348V332L318 133Q267 -67 264 -75Q246 -125 194 -164T75 -204Q25 -204 7 -183T-12 -137Q-12 -110 7 -91T53 -71Q70 -71 82 -81T95 -112Q95 -148 63 -167Q69 -168 77 -168Q111 -168 139 -140T182 -74L193 -32Q204 11 219 72T251 197T278 308T289 365Q289 372 288 376'], - - // LATIN SMALL LETTER K - 0x6B: [694,11,521,48,503,'121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647'], - - // LATIN SMALL LETTER L - 0x6C: [695,12,298,38,266,'117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59'], - - // LATIN SMALL LETTER M - 0x6D: [443,11,878,21,857,'21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER N - 0x6E: [443,11,600,21,580,'21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER O - 0x6F: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], - - // LATIN SMALL LETTER P - 0x70: [443,194,503,-39,497,'23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102'], - - // LATIN SMALL LETTER Q - 0x71: [442,194,446,33,460,'33 157Q33 258 109 349T280 441Q340 441 372 389Q373 390 377 395T388 406T404 418Q438 442 450 442Q454 442 457 439T460 434Q460 425 391 149Q320 -135 320 -139Q320 -147 365 -148H390Q396 -156 396 -157T393 -175Q389 -188 383 -194H370Q339 -192 262 -192Q234 -192 211 -192T174 -192T157 -193Q143 -193 143 -185Q143 -182 145 -170Q149 -154 152 -151T172 -148Q220 -148 230 -141Q238 -136 258 -53T279 32Q279 33 272 29Q224 -10 172 -10Q117 -10 75 30T33 157ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], - - // LATIN SMALL LETTER R - 0x72: [443,11,451,21,430,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q161 442 183 430T214 408T225 388Q227 382 228 382T236 389Q284 441 347 441H350Q398 441 422 400Q430 381 430 363Q430 333 417 315T391 292T366 288Q346 288 334 299T322 328Q322 376 378 392Q356 405 342 405Q286 405 239 331Q229 315 224 298T190 165Q156 25 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER S - 0x73: [443,10,469,53,419,'131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289'], - - // LATIN SMALL LETTER T - 0x74: [626,11,361,19,330,'26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26'], - - // LATIN SMALL LETTER U - 0x75: [442,11,572,21,551,'21 287Q21 295 30 318T55 370T99 420T158 442Q204 442 227 417T250 358Q250 340 216 246T182 105Q182 62 196 45T238 27T291 44T328 78L339 95Q341 99 377 247Q407 367 413 387T427 416Q444 431 463 431Q480 431 488 421T496 402L420 84Q419 79 419 68Q419 43 426 35T447 26Q469 29 482 57T512 145Q514 153 532 153Q551 153 551 144Q550 139 549 130T540 98T523 55T498 17T462 -8Q454 -10 438 -10Q372 -10 347 46Q345 45 336 36T318 21T296 6T267 -6T233 -11Q189 -11 155 7Q103 38 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER V - 0x76: [443,11,485,21,467,'173 380Q173 405 154 405Q130 405 104 376T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Q21 294 29 316T53 368T97 419T160 441Q202 441 225 417T249 361Q249 344 246 335Q246 329 231 291T200 202T182 113Q182 86 187 69Q200 26 250 26Q287 26 319 60T369 139T398 222T409 277Q409 300 401 317T383 343T365 361T357 383Q357 405 376 424T417 443Q436 443 451 425T467 367Q467 340 455 284T418 159T347 40T241 -11Q177 -11 139 22Q102 54 102 117Q102 148 110 181T151 298Q173 362 173 380'], - - // LATIN SMALL LETTER W - 0x77: [443,11,716,21,690,'580 385Q580 406 599 424T641 443Q659 443 674 425T690 368Q690 339 671 253Q656 197 644 161T609 80T554 12T482 -11Q438 -11 404 5T355 48Q354 47 352 44Q311 -11 252 -11Q226 -11 202 -5T155 14T118 53T104 116Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 293 29 315T52 366T96 418T161 441Q204 441 227 416T250 358Q250 340 217 250T184 111Q184 65 205 46T258 26Q301 26 334 87L339 96V119Q339 122 339 128T340 136T341 143T342 152T345 165T348 182T354 206T362 238T373 281Q402 395 406 404Q419 431 449 431Q468 431 475 421T483 402Q483 389 454 274T422 142Q420 131 420 107V100Q420 85 423 71T442 42T487 26Q558 26 600 148Q609 171 620 213T632 273Q632 306 619 325T593 357T580 385'], - - // LATIN SMALL LETTER X - 0x78: [442,11,572,35,522,'52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289'], - - // LATIN SMALL LETTER Y - 0x79: [443,205,490,21,497,'21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], - - // LATIN SMALL LETTER Z - 0x7A: [442,11,465,35,468,'347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338'], - - // GREEK CAPITAL LETTER GAMMA - 0x393: [680,-1,615,31,721,'49 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H714Q721 676 721 669Q721 664 708 557T694 447Q692 440 674 440H662Q655 445 655 454Q655 455 658 480T661 534Q661 572 652 592Q638 619 603 626T501 634H471Q398 633 393 630Q389 628 386 622Q385 619 315 341T245 60Q245 46 333 46H345Q366 46 366 35Q366 33 363 21T358 6Q356 1 339 1Q334 1 292 1T187 2Q122 2 88 2T49 1'], - - // GREEK CAPITAL LETTER THETA - 0x398: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM640 466Q640 523 625 565T583 628T532 658T479 668Q370 668 273 559T151 255Q150 245 150 213Q150 156 165 116T207 55T259 26T313 17Q385 17 451 63T561 184Q590 234 615 312T640 466ZM510 276Q510 278 512 288L515 298Q515 299 384 299H253L250 285Q246 271 244 268T231 265H227Q216 265 214 266T207 274Q207 278 223 345T244 416Q247 419 260 419H263Q280 419 280 408Q280 406 278 396L275 386Q275 385 406 385H537L540 399Q544 413 546 416T559 419H563Q574 419 576 418T583 410Q583 403 566 339Q549 271 544 267Q542 265 538 265H530H527Q510 265 510 276'], - - // GREEK CAPITAL LETTER LAMDA - 0x39B: [716,0,694,35,670,'135 2Q114 2 90 2T60 1Q35 1 35 11Q35 28 42 40Q45 46 55 46Q119 46 151 94Q153 97 325 402T498 709Q505 716 526 716Q543 716 549 710Q550 709 560 548T580 224T591 57Q594 52 595 52Q603 47 638 46H663Q670 39 670 35Q669 12 657 0H644Q613 2 530 2Q497 2 469 2T424 2T405 1Q388 1 388 10Q388 15 391 24Q392 27 393 32T395 38T397 41T401 44T406 45T415 46Q473 46 487 64L472 306Q468 365 465 426T459 518L457 550Q456 550 328 322T198 88Q196 80 196 77Q196 49 243 46Q261 46 261 35Q261 34 259 22Q256 7 254 4T240 0Q237 0 211 1T135 2'], - - // GREEK CAPITAL LETTER XI - 0x39E: [678,0,742,53,777,'222 668Q222 670 229 677H654Q677 677 705 677T740 678Q764 678 770 676T777 667Q777 662 764 594Q761 579 757 559T751 528L749 519Q747 512 729 512H717Q710 519 710 525Q712 532 715 559T719 591Q718 595 711 595Q682 598 486 598Q252 598 246 592Q239 587 228 552L216 517Q214 512 197 512H185Q178 517 178 522Q178 524 198 591T222 668ZM227 262Q218 262 215 262T209 266L207 270L227 356Q247 435 250 439Q253 443 260 443H267H280Q287 438 287 433Q287 430 285 420T280 402L278 393Q278 392 431 392H585L590 415Q595 436 598 439T612 443H628Q635 438 635 433Q635 431 615 351T594 268Q592 262 575 262H572Q556 262 556 272Q556 280 560 293L565 313H258L252 292Q248 271 245 267T230 262H227ZM60 0Q53 4 53 11Q53 14 68 89T84 169Q88 176 98 176H104H116Q123 169 123 163Q122 160 117 127T112 88Q112 80 243 80H351H454Q554 80 574 81T597 88V89Q603 100 610 121T622 157T630 174Q633 176 646 176H658Q665 171 665 166Q665 164 643 89T618 7Q616 2 607 1T548 0H335H60'], - - // GREEK CAPITAL LETTER PI - 0x3A0: [681,0,831,31,887,'48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H541Q621 680 709 680T812 681Q841 681 855 681T877 679T886 676T887 670Q887 663 885 656Q880 637 875 635Q871 634 860 634H854Q827 634 794 631Q780 628 775 619Q773 614 704 338T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q528 52 533 61Q536 67 572 209T642 491T678 632Q678 634 533 634H388Q387 631 316 347T245 59Q245 55 246 54T253 50T270 48T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1'], - - // GREEK CAPITAL LETTER SIGMA - 0x3A3: [683,0,780,58,806,'65 0Q58 4 58 11Q58 16 114 67Q173 119 222 164L377 304Q378 305 340 386T261 552T218 644Q217 648 219 660Q224 678 228 681Q231 683 515 683H799Q804 678 806 674Q806 667 793 559T778 448Q774 443 759 443Q747 443 743 445T739 456Q739 458 741 477T743 516Q743 552 734 574T710 609T663 627T596 635T502 637Q480 637 469 637H339Q344 627 411 486T478 341V339Q477 337 477 336L457 318Q437 300 398 265T322 196L168 57Q167 56 188 56T258 56H359Q426 56 463 58T537 69T596 97T639 146T680 225Q686 243 689 246T702 250H705Q726 250 726 239Q726 238 683 123T639 5Q637 1 610 1Q577 0 348 0H65'], - - // GREEK CAPITAL LETTER UPSILON - 0x3A5: [706,0,583,28,700,'45 535Q34 535 31 536T28 544Q28 554 39 578T70 631T126 683T206 705Q230 705 251 698T295 671T330 612T344 514Q344 477 342 473V472Q343 472 347 480T361 509T380 547Q471 704 596 704Q615 704 625 702Q659 692 679 663T700 595Q700 565 696 552T687 537T670 535Q656 535 653 536T649 543Q649 544 649 550T650 562Q650 589 629 605T575 621Q502 621 448 547T365 361Q290 70 290 60Q290 46 379 46H404Q410 40 410 39T408 19Q404 6 398 0H381Q340 2 225 2Q184 2 149 2T94 2T69 1Q61 1 58 1T53 4T51 10Q51 11 53 23Q54 25 55 30T56 36T58 40T60 43T62 44T67 46T73 46T82 46H89Q144 46 163 49T190 62L198 93Q206 124 217 169T241 262T262 350T274 404Q281 445 281 486V494Q281 621 185 621Q147 621 116 601T74 550Q71 539 66 537T45 535'], - - // GREEK CAPITAL LETTER PHI - 0x3A6: [683,0,667,24,642,'356 624Q356 637 267 637H243Q237 642 237 645T239 664Q243 677 249 683H264Q342 681 429 681Q565 681 571 683H583Q589 677 589 674T587 656Q582 641 578 637H540Q516 637 504 637T479 633T463 630T454 623T448 613T443 597T438 576Q436 566 434 556T430 539L428 533Q442 533 472 526T543 502T613 451T642 373Q642 301 567 241T386 158L336 150Q332 150 331 146Q310 66 310 60Q310 46 399 46H424Q430 40 430 39T428 19Q424 6 418 0H401Q360 2 247 2Q207 2 173 2T119 2T95 1Q87 1 84 1T79 4T77 10Q77 11 79 23Q80 25 81 30T82 36T84 40T86 43T88 44T93 46T99 46T108 46H115Q170 46 189 49T216 62Q220 74 228 107L239 150L223 152Q139 164 82 205T24 311Q24 396 125 462Q207 517 335 533L346 578Q356 619 356 624ZM130 291Q130 203 241 188H249Q249 190 287 342L325 495H324Q313 495 291 491T229 466T168 414Q130 357 130 291ZM536 393Q536 440 507 463T418 496L341 187L351 189Q443 201 487 255Q536 314 536 393'], - - // GREEK CAPITAL LETTER PSI - 0x3A8: [683,0,612,21,692,'216 151Q48 174 48 329Q48 361 56 403T65 458Q65 482 58 494T43 507T28 510T21 520Q21 528 23 534T29 544L32 546H72H94Q110 546 119 544T139 536T154 514T159 476V465Q159 445 149 399T138 314Q142 229 197 201Q223 187 226 190L233 218Q240 246 253 300T280 407Q333 619 333 625Q333 637 244 637H220Q214 642 214 645T216 664Q220 677 226 683H241Q321 681 405 681Q543 681 549 683H560Q566 677 566 674T564 656Q559 641 555 637H517Q448 636 436 628Q429 623 423 600T373 404L320 192Q370 201 419 248Q451 281 469 317T500 400T518 457Q529 486 542 505T569 532T594 543T621 546H644H669Q692 546 692 536Q691 509 676 509Q623 509 593 399Q587 377 579 355T552 301T509 244T446 195T359 159Q324 151 314 151Q311 151 310 150T298 106T287 60Q287 46 376 46H401Q407 40 407 39T405 19Q401 6 395 0H378Q337 2 224 2Q184 2 150 2T96 2T72 1Q64 1 61 1T56 4T54 10Q54 11 56 23Q57 25 58 30T59 36T61 40T63 43T65 44T70 46T76 46T85 46H92Q147 46 166 49T193 62L204 106Q216 149 216 151'], - - // GREEK CAPITAL LETTER OMEGA - 0x3A9: [704,0,772,80,786,'125 84Q127 78 194 76H243V78Q243 122 208 215T165 350Q164 359 162 389Q162 522 272 610Q328 656 396 680T525 704Q628 704 698 661Q734 637 755 601T781 544T786 504Q786 439 747 374T635 226T537 109Q518 81 518 77Q537 76 557 76Q608 76 620 78T640 92Q646 100 656 119T673 155T683 172Q690 173 698 173Q718 173 718 162Q718 161 681 82T642 2Q639 0 550 0H461Q455 5 455 9T458 28Q472 78 510 149T584 276T648 402T677 525Q677 594 636 631T530 668Q476 668 423 641T335 568Q284 499 271 400Q270 388 270 348Q270 298 277 228T285 115Q285 82 280 49T271 6Q269 1 258 1T175 0H87Q83 3 80 7V18Q80 22 82 98Q84 156 85 163T91 172Q94 173 104 173T119 172Q124 169 124 126Q125 104 125 84'], - - // GREEK SMALL LETTER ALPHA - 0x3B1: [442,11,640,34,603,'34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26'], - - // GREEK SMALL LETTER BETA - 0x3B2: [705,194,566,23,573,'29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431'], - - // GREEK SMALL LETTER GAMMA - 0x3B3: [441,216,518,11,543,'31 249Q11 249 11 258Q11 275 26 304T66 365T129 418T206 441Q233 441 239 440Q287 429 318 386T371 255Q385 195 385 170Q385 166 386 166L398 193Q418 244 443 300T486 391T508 430Q510 431 524 431H537Q543 425 543 422Q543 418 522 378T463 251T391 71Q385 55 378 6T357 -100Q341 -165 330 -190T303 -216Q286 -216 286 -188Q286 -138 340 32L346 51L347 69Q348 79 348 100Q348 257 291 317Q251 355 196 355Q148 355 108 329T51 260Q49 251 47 251Q45 249 31 249'], - - // GREEK SMALL LETTER DELTA - 0x3B4: [717,10,444,36,451,'195 609Q195 656 227 686T302 717Q319 716 351 709T407 697T433 690Q451 682 451 662Q451 644 438 628T403 612Q382 612 348 641T288 671T249 657T235 628Q235 584 334 463Q401 379 401 292Q401 169 340 80T205 -10H198Q127 -10 83 36T36 153Q36 286 151 382Q191 413 252 434Q252 435 245 449T230 481T214 521T201 566T195 609ZM112 130Q112 83 136 55T204 27Q233 27 256 51T291 111T309 178T316 232Q316 267 309 298T295 344T269 400L259 396Q215 381 183 342T137 256T118 179T112 130'], - - // GREEK SMALL LETTER EPSILON - 0x3B5: [452,23,466,27,428,'190 -22Q124 -22 76 11T27 107Q27 174 97 232L107 239L99 248Q76 273 76 304Q76 364 144 408T290 452H302Q360 452 405 421Q428 405 428 392Q428 381 417 369T391 356Q382 356 371 365T338 383T283 392Q217 392 167 368T116 308Q116 289 133 272Q142 263 145 262T157 264Q188 278 238 278H243Q308 278 308 247Q308 206 223 206Q177 206 142 219L132 212Q68 169 68 112Q68 39 201 39Q253 39 286 49T328 72T345 94T362 105Q376 103 376 88Q376 79 365 62T334 26T275 -8T190 -22'], - - // GREEK SMALL LETTER ZETA - 0x3B6: [704,204,438,44,471,'296 643Q298 704 324 704Q342 704 342 687Q342 682 339 664T336 633Q336 623 337 618T338 611Q339 612 341 612Q343 614 354 616T374 618L384 619H394Q471 619 471 586Q467 548 386 546H372Q338 546 320 564L311 558Q235 506 175 398T114 190Q114 171 116 155T125 127T137 104T153 86T171 72T192 61T213 53T235 46T256 39L322 16Q389 -10 389 -80Q389 -119 364 -154T300 -202Q292 -204 274 -204Q247 -204 225 -196Q210 -192 193 -182T172 -167Q167 -159 173 -148Q180 -139 191 -139Q195 -139 221 -153T283 -168Q298 -166 310 -152T322 -117Q322 -91 302 -75T250 -51T183 -29T116 4T65 62T44 160Q44 287 121 410T293 590L302 595Q296 613 296 643'], - - // GREEK SMALL LETTER ETA - 0x3B7: [443,216,497,21,503,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q156 442 175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336V326Q503 302 439 53Q381 -182 377 -189Q364 -216 332 -216Q319 -216 310 -208T299 -186Q299 -177 358 57L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], - - // GREEK SMALL LETTER THETA - 0x3B8: [705,10,469,35,462,'35 200Q35 302 74 415T180 610T319 704Q320 704 327 704T339 705Q393 701 423 656Q462 596 462 495Q462 380 417 261T302 66T168 -10H161Q125 -10 99 10T60 63T41 130T35 200ZM383 566Q383 668 330 668Q294 668 260 623T204 521T170 421T157 371Q206 370 254 370L351 371Q352 372 359 404T375 484T383 566ZM113 132Q113 26 166 26Q181 26 198 36T239 74T287 161T335 307L340 324H145Q145 321 136 286T120 208T113 132'], - - // GREEK SMALL LETTER IOTA - 0x3B9: [442,10,354,48,333,'139 -10Q111 -10 92 0T64 25T52 52T48 74Q48 89 55 109T85 199T135 375L137 384Q139 394 140 397T145 409T151 422T160 431T173 439T190 442Q202 442 213 435T225 410Q225 404 214 358T181 238T137 107Q126 74 126 54Q126 43 126 39T130 31T142 27H147Q206 27 255 78Q272 98 281 114T290 138T295 149T313 153Q321 153 324 153T329 152T332 149T332 143Q332 106 276 48T145 -10H139'], - - // GREEK SMALL LETTER KAPPA - 0x3BA: [442,11,576,48,554,'83 -11Q70 -11 62 -4T51 8T49 17Q49 30 96 217T147 414Q160 442 193 442Q205 441 213 435T223 422T225 412Q225 401 208 337L192 270Q193 269 208 277T235 292Q252 304 306 349T396 412T467 431Q489 431 500 420T512 391Q512 366 494 347T449 327Q430 327 418 338T405 368Q405 370 407 380L397 375Q368 360 315 315L253 266L240 257H245Q262 257 300 251T366 230Q422 203 422 150Q422 140 417 114T411 67Q411 26 437 26Q484 26 513 137Q516 149 519 151T535 153Q554 153 554 144Q554 121 527 64T457 -7Q447 -10 431 -10Q386 -10 360 17T333 90Q333 108 336 122T339 146Q339 170 320 186T271 209T222 218T185 221H180L155 122Q129 22 126 16Q113 -11 83 -11'], - - // GREEK SMALL LETTER LAMDA - 0x3BB: [694,12,583,47,557,'166 673Q166 685 183 694H202Q292 691 316 644Q322 629 373 486T474 207T524 67Q531 47 537 34T546 15T551 6T555 2T556 -2T550 -11H482Q457 3 450 18T399 152L354 277L340 262Q327 246 293 207T236 141Q211 112 174 69Q123 9 111 -1T83 -12Q47 -12 47 20Q47 37 61 52T199 187Q229 216 266 252T321 306L338 322Q338 323 288 462T234 612Q214 657 183 657Q166 657 166 673'], - - // GREEK SMALL LETTER MU - 0x3BC: [442,216,603,23,580,'58 -216Q44 -216 34 -208T23 -186Q23 -176 96 116T173 414Q186 442 219 442Q231 441 239 435T249 423T251 413Q251 401 220 279T187 142Q185 131 185 107V99Q185 26 252 26Q261 26 270 27T287 31T302 38T315 45T327 55T338 65T348 77T356 88T365 100L372 110L408 253Q444 395 448 404Q461 431 491 431Q504 431 512 424T523 412T525 402L449 84Q448 79 448 68Q448 43 455 35T476 26Q485 27 496 35Q517 55 537 131Q543 151 547 152Q549 153 557 153H561Q580 153 580 144Q580 138 575 117T555 63T523 13Q510 0 491 -8Q483 -10 467 -10Q446 -10 429 -4T402 11T385 29T376 44T374 51L368 45Q362 39 350 30T324 12T288 -4T246 -11Q199 -11 153 12L129 -85Q108 -167 104 -180T92 -202Q76 -216 58 -216'], - - // GREEK SMALL LETTER NU - 0x3BD: [442,2,494,45,530,'74 431Q75 431 146 436T219 442Q231 442 231 434Q231 428 185 241L137 51H140L150 55Q161 59 177 67T214 86T261 119T312 165Q410 264 445 394Q458 442 496 442Q509 442 519 434T530 411Q530 390 516 352T469 262T388 162T267 70T106 5Q81 -2 71 -2Q66 -2 59 -1T51 1Q45 5 45 11Q45 13 88 188L132 364Q133 377 125 380T86 385H65Q59 391 59 393T61 412Q65 431 74 431'], - - // GREEK SMALL LETTER XI - 0x3BE: [704,205,438,21,443,'268 632Q268 704 296 704Q314 704 314 687Q314 682 311 664T308 635T309 620V616H315Q342 619 360 619Q443 619 443 586Q439 548 358 546H344Q326 546 317 549T290 566Q257 550 226 505T195 405Q195 381 201 364T211 342T218 337Q266 347 298 347Q375 347 375 314Q374 297 359 288T327 277T280 275Q234 275 208 283L195 286Q149 260 119 214T88 130Q88 116 90 108Q101 79 129 63T229 20Q238 17 243 15Q337 -21 354 -33Q383 -53 383 -94Q383 -137 351 -171T273 -205Q240 -205 202 -190T158 -167Q156 -163 156 -159Q156 -151 161 -146T176 -140Q182 -140 189 -143Q232 -168 274 -168Q286 -168 292 -165Q313 -151 313 -129Q313 -112 301 -104T232 -75Q214 -68 204 -64Q198 -62 171 -52T136 -38T107 -24T78 -8T56 12T36 37T26 66T21 103Q21 149 55 206T145 301L154 307L148 313Q141 319 136 323T124 338T111 358T103 382T99 413Q99 471 143 524T259 602L271 607Q268 618 268 632'], - - // GREEK SMALL LETTER OMICRON - 0x3BF: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], - - // GREEK SMALL LETTER PI - 0x3C0: [431,11,570,19,573,'132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11'], - - // GREEK SMALL LETTER RHO - 0x3C1: [442,216,517,23,510,'58 -216Q25 -216 23 -186Q23 -176 73 26T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 219 486 165T425 74T345 13T266 -10H255H248Q197 -10 165 35L160 41L133 -71Q108 -168 104 -181T92 -202Q76 -216 58 -216ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q217 269 193 170L176 102Q193 26 260 26Q298 26 334 62Q367 92 389 158T418 266T424 322'], - - // GREEK SMALL LETTER FINAL SIGMA - 0x3C2: [442,107,363,30,405,'31 207Q31 306 115 374T302 442Q341 442 373 430T405 400Q405 392 399 383T379 374Q373 375 348 390T296 405Q222 405 160 357T98 249Q98 232 103 218T112 195T132 175T154 159T186 141T219 122Q234 114 255 102T286 85T299 78L302 74Q306 71 308 69T315 61T322 51T328 40T332 25T334 8Q334 -31 305 -69T224 -107Q194 -107 163 -92Q156 -88 156 -80Q156 -73 162 -67T178 -61Q186 -61 190 -63Q209 -71 224 -71Q244 -71 253 -59T263 -30Q263 -25 263 -21T260 -12T255 -4T248 3T239 9T227 17T213 25T195 34T174 46Q170 48 150 58T122 74T97 90T70 112T51 137T36 169T31 207'], - - // GREEK SMALL LETTER SIGMA - 0x3C3: [431,11,571,31,572,'184 -11Q116 -11 74 34T31 147Q31 247 104 333T274 430Q275 431 414 431H552Q553 430 555 429T559 427T562 425T565 422T567 420T569 416T570 412T571 407T572 401Q572 357 507 357Q500 357 490 357T476 358H416L421 348Q439 310 439 263Q439 153 359 71T184 -11ZM361 278Q361 358 276 358Q152 358 115 184Q114 180 114 178Q106 141 106 117Q106 67 131 47T188 26Q242 26 287 73Q316 103 334 153T356 233T361 278'], - - // GREEK SMALL LETTER TAU - 0x3C4: [431,13,437,18,517,'39 284Q18 284 18 294Q18 301 45 338T99 398Q134 425 164 429Q170 431 332 431Q492 431 497 429Q517 424 517 402Q517 388 508 376T485 360Q479 358 389 358T299 356Q298 355 283 274T251 109T233 20Q228 5 215 -4T186 -13Q153 -13 153 20V30L203 192Q214 228 227 272T248 336L254 357Q254 358 208 358Q206 358 197 358T183 359Q105 359 61 295Q56 287 53 286T39 284'], - - // GREEK SMALL LETTER UPSILON - 0x3C5: [443,10,540,21,523,'413 384Q413 406 432 424T473 443Q492 443 507 425T523 367Q523 334 508 270T468 153Q424 63 373 27T282 -10H268Q220 -10 186 2T135 36T111 78T104 121Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441Q200 441 225 419T250 355Q248 336 247 334Q247 331 232 291T201 199T185 118Q185 68 211 47T275 26Q317 26 355 57T416 132T452 216T465 277Q465 301 457 318T439 343T421 361T413 384'], - - // GREEK SMALL LETTER PHI - 0x3C6: [442,218,654,50,618,'92 210Q92 176 106 149T142 108T185 85T220 72L235 70L237 71L250 112Q268 170 283 211T322 299T370 375T429 423T502 442Q547 442 582 410T618 302Q618 224 575 152T457 35T299 -10Q273 -10 273 -12L266 -48Q260 -83 252 -125T241 -179Q236 -203 215 -212Q204 -218 190 -218Q159 -215 159 -185Q159 -175 214 -2L209 0Q204 2 195 5T173 14T147 28T120 46T94 71T71 103T56 142T50 190Q50 238 76 311T149 431H162Q183 431 183 423Q183 417 175 409Q134 361 114 300T92 210ZM574 278Q574 320 550 344T486 369Q437 369 394 329T323 218Q309 184 295 109L286 64Q304 62 306 62Q423 62 498 131T574 278'], - - // GREEK SMALL LETTER CHI - 0x3C7: [443,204,626,24,600,'576 -125Q576 -147 547 -175T487 -204H476Q394 -204 363 -157Q334 -114 293 26L284 59Q283 58 248 19T170 -66T92 -151T53 -191Q49 -194 43 -194Q36 -194 31 -189T25 -177T38 -154T151 -30L272 102L265 131Q189 405 135 405Q104 405 87 358Q86 351 68 351Q48 351 48 361Q48 369 56 386T89 423T148 442Q224 442 258 400Q276 375 297 320T330 222L341 180Q344 180 455 303T573 429Q579 431 582 431Q600 431 600 414Q600 407 587 392T477 270Q356 138 353 134L362 102Q392 -10 428 -89T490 -168Q504 -168 517 -156T536 -126Q539 -116 543 -115T557 -114T571 -115Q576 -118 576 -125'], - - // GREEK SMALL LETTER PSI - 0x3C8: [694,205,651,21,634,'161 441Q202 441 226 417T250 358Q250 338 218 252T187 127Q190 85 214 61Q235 43 257 37Q275 29 288 29H289L371 360Q455 691 456 692Q459 694 472 694Q492 694 492 687Q492 678 411 356Q329 28 329 27T335 26Q421 26 498 114T576 278Q576 302 568 319T550 343T532 361T524 384Q524 405 541 424T583 443Q602 443 618 425T634 366Q634 337 623 288T605 220Q573 125 492 57T329 -11H319L296 -104Q272 -198 272 -199Q270 -205 252 -205H239Q233 -199 233 -197Q233 -192 256 -102T279 -9Q272 -8 265 -8Q106 14 106 139Q106 174 139 264T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441'], - - // GREEK SMALL LETTER OMEGA - 0x3C9: [443,12,622,15,604,'495 384Q495 406 514 424T555 443Q574 443 589 425T604 364Q604 334 592 278T555 155T483 38T377 -11Q297 -11 267 66Q266 68 260 61Q201 -11 125 -11Q15 -11 15 139Q15 230 56 325T123 434Q135 441 147 436Q160 429 160 418Q160 406 140 379T94 306T62 208Q61 202 61 187Q61 124 85 100T143 76Q201 76 245 129L253 137V156Q258 297 317 297Q348 297 348 261Q348 243 338 213T318 158L308 135Q309 133 310 129T318 115T334 97T358 83T393 76Q456 76 501 148T546 274Q546 305 533 325T508 357T495 384'], - - // GREEK THETA SYMBOL - 0x3D1: [705,11,591,21,563,'537 500Q537 474 533 439T524 383L521 362Q558 355 561 351Q563 349 563 345Q563 321 552 318Q542 318 521 323L510 326Q496 261 459 187T362 51T241 -11Q100 -11 100 105Q100 139 127 242T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287Q21 291 27 313T47 368T79 418Q103 442 134 442Q169 442 201 419T233 344Q232 330 206 228T180 98Q180 26 247 26Q292 26 332 90T404 260L427 349Q422 349 398 359T339 392T289 440Q265 476 265 520Q265 590 312 647T417 705Q463 705 491 670T528 592T537 500ZM464 564Q464 668 413 668Q373 668 339 622T304 522Q304 494 317 470T349 431T388 406T421 391T435 387H436L443 415Q450 443 457 485T464 564'], - - // GREEK PHI SYMBOL - 0x3D5: [694,205,596,42,579,'409 688Q413 694 421 694H429H442Q448 688 448 686Q448 679 418 563Q411 535 404 504T392 458L388 442Q388 441 397 441T429 435T477 418Q521 397 550 357T579 260T548 151T471 65T374 11T279 -10H275L251 -105Q245 -128 238 -160Q230 -192 227 -198T215 -205H209Q189 -205 189 -198Q189 -193 211 -103L234 -11Q234 -10 226 -10Q221 -10 206 -8T161 6T107 36T62 89T43 171Q43 231 76 284T157 370T254 422T342 441Q347 441 348 445L378 567Q409 686 409 688ZM122 150Q122 116 134 91T167 53T203 35T237 27H244L337 404Q333 404 326 403T297 395T255 379T211 350T170 304Q152 276 137 237Q122 191 122 150ZM500 282Q500 320 484 347T444 385T405 400T381 404H378L332 217L284 29Q284 27 285 27Q293 27 317 33T357 47Q400 66 431 100T475 170T494 234T500 282'], - - // GREEK PI SYMBOL - 0x3D6: [431,10,828,19,823,'206 -10Q158 -10 136 24T114 110Q114 233 199 349L205 358H184Q144 358 121 347Q108 340 95 330T75 312T61 295T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 532 431Q799 431 803 430Q823 423 823 402Q823 377 801 364Q790 358 766 358Q748 358 748 357Q748 355 749 348T752 327T754 297Q754 258 738 207T693 107T618 24T520 -10Q488 -10 466 2T432 36T416 77T411 120Q411 128 410 128T404 122Q373 71 323 31T206 -10ZM714 296Q714 316 707 358H251Q250 357 244 348T230 328T212 301T193 267T176 229T164 187T159 144Q159 62 222 62Q290 62 349 127T432 285Q433 286 434 288T435 291T437 293T440 294T444 294T452 294H466Q472 288 472 286Q472 285 464 244T456 170Q456 62 534 62Q604 62 659 139T714 296'], - - // GREEK RHO SYMBOL - 0x3F1: [442,194,517,67,510,'205 -174Q136 -174 102 -153T67 -76Q67 -25 91 85T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 169 431 80T253 -10Q226 -10 204 -2T169 19T146 44T132 64L128 73Q128 72 124 53T116 5T112 -44Q112 -68 117 -78T150 -95T236 -102Q327 -102 356 -111T386 -154Q386 -166 384 -178Q381 -190 378 -192T361 -194H348Q342 -188 342 -179Q342 -169 315 -169Q294 -169 264 -171T205 -174ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q221 276 204 217Q188 152 188 116Q188 68 210 47T259 26Q297 26 334 62Q367 92 389 158T418 266T424 322'], - - // GREEK LUNATE EPSILON SYMBOL - 0x3F5: [431,11,406,40,382,'227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11'] - }; - - SVG.FONTDATA.FONTS[MAIN][0x2212][0] = SVG.FONTDATA.FONTS[MAIN][0x002B][0]; // minus is size - SVG.FONTDATA.FONTS[MAIN][0x2212][1] = SVG.FONTDATA.FONTS[MAIN][0x002B][1]; // minus is size - SVG.FONTDATA.FONTS[MAIN][0x22EE][0] += 400; // adjust height for \vdots - SVG.FONTDATA.FONTS[MAIN][0x22F1][0] += 700; // adjust height for \ddots - - // - // Add some spacing characters (more will come later) - // - MathJax.Hub.Insert(SVG.FONTDATA.FONTS[MAIN],{ - 0x2000: [0,0,500,0,0,{space:1}], // en quad - 0x2001: [0,0,1000,0,0,{space:1}], // em quad - 0x2002: [0,0,500,0,0,{space:1}], // en space - 0x2003: [0,0,1000,0,0,{space:1}], // em space - 0x2004: [0,0,333,0,0,{space:1}], // 3-per-em space - 0x2005: [0,0,250,0,0,{space:1}], // 4-per-em space - 0x2006: [0,0,167,0,0,{space:1}], // 6-per-em space - 0x2009: [0,0,167,0,0,{space:1}], // thin space - 0x200A: [0,0,83,0,0,{space:1}], // hair space - 0x200B: [0,0,0,0,0,{space:1}], // zero-width space - 0xEEE0: [0,0,-575,0,0,{space:1}], - 0xEEE1: [0,0,-300,0,0,{space:1}], - 0xEEE8: [0,0,25,0,0,{space:1}] - }); - - HUB.Register.StartupHook("SVG Jax Require",function () { - HUB.Register.LoadHook(SVG.fontDir+"/Size4/Regular/Main.js",function () { - SVG.FONTDATA.FONTS[SIZE4][0xE154][0] += 200; // adjust height for brace extender - SVG.FONTDATA.FONTS[SIZE4][0xE154][1] += 200; // adjust depth for brace extender - }); - - SVG.FONTDATA.FONTS[MAIN][0x2245][2] -= 222; // fix incorrect right bearing in font - HUB.Register.LoadHook(SVG.fontDir+"/Main/Bold/MathOperators.js",function () { - SVG.FONTDATA.FONTS[BOLD][0x2245][2] -= 106; // fix incorrect right bearing in font - }); - - HUB.Register.LoadHook(SVG.fontDir+"/Typewriter/Regular/BasicLatin.js",function () { - SVG.FONTDATA.FONTS['MathJax_Typewriter'][0x20][2] += 275; // fix incorrect width - }); - - AJAX.loadComplete(SVG.fontDir + "/fontdata.js"); - }); - -})(MathJax.OutputJax.SVG,MathJax.ElementJax.mml,MathJax.Ajax,MathJax.Hub); - diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/jax.js deleted file mode 100644 index 5f5af6d0..00000000 --- a/src/py/kaleido/vendor/mathjax/jax/output/SVG/jax.js +++ /dev/null @@ -1,2333 +0,0 @@ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ - -/************************************************************* - * - * MathJax/jax/output/SVG/jax.js - * - * Implements the SVG OutputJax that displays mathematics using - * SVG (or VML in IE) to position the characters from math fonts - * in their proper locations. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2011-2018 The MathJax Consortium - * - * 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. - */ - - -(function (AJAX,HUB,HTML,SVG) { - var MML; - var isArray = MathJax.Object.isArray; - - var SVGNS = "http://www.w3.org/2000/svg"; - var XLINKNS = "http://www.w3.org/1999/xlink"; - - var EVENT, TOUCH, HOVER; // filled in later - - // - // Get the URL of the page (for use with xlink:href) when there - // is a element on the page. - // - var SVGURL = (document.getElementsByTagName("base").length === 0) ? "" : - String(document.location).replace(/#.*$/,""); - - SVG.Augment({ - HFUZZ: 2, // adjustments for height and depth of final svg element - DFUZZ: 2, // to get baselines right (fragile). - - config: { - styles: { - ".MathJax_SVG": { - "display": "inline", - "font-style": "normal", - "font-weight": "normal", - "line-height": "normal", - "font-size": "100%", - "font-size-adjust":"none", - "text-indent": 0, - "text-align": "left", - "text-transform": "none", - "letter-spacing": "normal", - "word-spacing": "normal", - "word-wrap": "normal", - "white-space": "nowrap", - "float": "none", - "direction": "ltr", - "max-width": "none", "max-height": "none", - "min-width": 0, "min-height": 0, - border: 0, padding: 0, margin: 0 - }, - - ".MathJax_SVG_Display": { - position: "relative", - display: "block!important", - "text-indent": 0, - "max-width": "none", "max-height": "none", - "min-width": 0, "min-height": 0, - width: "100%" - }, - - ".MathJax_SVG *": { - transition: "none", - "-webkit-transition": "none", - "-moz-transition": "none", - "-ms-transition": "none", - "-o-transition": "none" - }, - - ".MathJax_SVG > div": { - display: "inline-block" - }, - - ".mjx-svg-href": { - fill: "blue", stroke: "blue" - }, - - ".MathJax_SVG_Processing": { - visibility: "hidden", position:"absolute", top:0, left:0, - width:0, height: 0, overflow:"hidden", display:"block!important" - }, - ".MathJax_SVG_Processed": {display:"none!important"}, - - ".MathJax_SVG_test": { - "font-style": "normal", - "font-weight": "normal", - "font-size": "100%", - "font-size-adjust":"none", - "text-indent": 0, - "text-transform": "none", - "letter-spacing": "normal", - "word-spacing": "normal", - overflow: "hidden", - height: "1px" - }, - ".MathJax_SVG_test.mjx-test-display": { - display: "table!important" - }, - ".MathJax_SVG_test.mjx-test-inline": { - display: "inline!important", - "margin-right": "-1px" - }, - ".MathJax_SVG_test.mjx-test-default": { - display: "block!important", - clear: "both" - }, - ".MathJax_SVG_ex_box": { - display: "inline-block!important", - position: "absolute", - overflow: "hidden", - "min-height": 0, "max-height":"none", - padding:0, border: 0, margin: 0, - width:"1px", height:"60ex" - }, - ".mjx-test-inline .MathJax_SVG_left_box": { - display: "inline-block", - width: 0, - "float":"left" - }, - ".mjx-test-inline .MathJax_SVG_right_box": { - display: "inline-block", - width: 0, - "float":"right" - }, - ".mjx-test-display .MathJax_SVG_right_box": { - display: "table-cell!important", - width: "10000em!important", - "min-width":0, "max-width":"none", - padding:0, border:0, margin:0 - }, - - "#MathJax_SVG_Tooltip": { - position: "absolute", left: 0, top: 0, - width: "auto", height: "auto", - display: "none" - } - } - }, - - hideProcessedMath: true, // use display:none until all math is processed - - fontNames: ["TeX","STIX","STIX-Web","Asana-Math", - "Gyre-Termes","Gyre-Pagella","Latin-Modern","Neo-Euler"], - - - Config: function () { - this.SUPER(arguments).Config.apply(this,arguments); - var settings = HUB.config.menuSettings, config = this.config, font = settings.font; - if (settings.scale) {config.scale = settings.scale} - if (font && font !== "Auto") { - font = font.replace(/(Local|Web|Image)$/i,""); - font = font.replace(/([a-z])([A-Z])/,"$1-$2"); - this.fontInUse = font; - } else { - this.fontInUse = config.font || "TeX"; - } - if (this.fontNames.indexOf(this.fontInUse) < 0) {this.fontInUse = "TeX"} - this.fontDir += "/" + this.fontInUse; - if (!this.require) {this.require = []} - this.require.push(this.fontDir+"/fontdata.js"); - this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); - }, - - Startup: function () { - // Set up event handling - EVENT = MathJax.Extension.MathEvents.Event; - TOUCH = MathJax.Extension.MathEvents.Touch; - HOVER = MathJax.Extension.MathEvents.Hover; - this.ContextMenu = EVENT.ContextMenu; - this.Mousedown = EVENT.AltContextMenu; - this.Mouseover = HOVER.Mouseover; - this.Mouseout = HOVER.Mouseout; - this.Mousemove = HOVER.Mousemove; - - // Make hidden div for doing tests and storing global SVG - this.hiddenDiv = HTML.Element("div",{ - style:{visibility:"hidden", overflow:"hidden", position:"absolute", top:0, - height:"1px", width: "auto", padding:0, border:0, margin:0, - textAlign:"left", textIndent:0, textTransform:"none", - lineHeight:"normal", letterSpacing:"normal", wordSpacing:"normal"} - }); - if (!document.body.firstChild) {document.body.appendChild(this.hiddenDiv)} - else {document.body.insertBefore(this.hiddenDiv,document.body.firstChild)} - this.hiddenDiv = HTML.addElement(this.hiddenDiv,"div",{id:"MathJax_SVG_Hidden"}); - - // Determine pixels-per-inch and em-size - var div = HTML.addElement(this.hiddenDiv,"div",{style:{width:"5in"}}); - this.pxPerInch = div.offsetWidth/5; this.hiddenDiv.removeChild(div); - - // Used for measuring text sizes - this.textSVG = this.Element("svg"); - - // Global defs for font glyphs - BBOX.GLYPH.defs = this.addElement(this.addElement(this.hiddenDiv.parentNode,"svg"), - "defs",{id:"MathJax_SVG_glyphs"}); - - // Used in preTranslate to get scaling factors - this.TestSpan = HTML.Element("span",{className:"MathJax_SVG_test"},[ - ["span",{className:"MathJax_SVG_left_box"}], - ["span",{className:"MathJax_SVG_ex_box"}], - ["span",{className:"MathJax_SVG_right_box"}] - ]); - - // Set up styles - return AJAX.Styles(this.config.styles,["InitializeSVG",this]); - }, - - // - // Handle initialization that requires styles to be set up - // - InitializeSVG: function () { - // - // Get the default sizes (need styles in place to do this) - // - var test = document.body.appendChild(this.TestSpan.cloneNode(true)); - test.className += " mjx-test-inline mjx-test-default"; - this.defaultEx = test.childNodes[1].offsetHeight/60; - this.defaultWidth = Math.max(0,test.lastChild.offsetLeft - test.firstChild.offsetLeft - 2); - document.body.removeChild(test); - }, - - preTranslate: function (state) { - var scripts = state.jax[this.id], i, m = scripts.length, n, - script, prev, span, div, test, jax, ex, em, maxwidth, relwidth = false, cwidth, - linebreak = this.config.linebreaks.automatic, width = this.config.linebreaks.width; - if (linebreak) { - relwidth = (width.match(/^\s*(\d+(\.\d*)?%\s*)?container\s*$/) != null); - if (relwidth) {width = width.replace(/\s*container\s*/,"")} - else {maxwidth = this.defaultWidth} - if (width === "") {width = "100%"} - } else {maxwidth = 100000} // a big width, so no implicit line breaks - // - // Loop through the scripts - // - for (i = 0; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; - // - // Remove any existing output - // - prev = script.previousSibling; - if (prev && String(prev.className).match(/^MathJax(_SVG)?(_Display)?( MathJax(_SVG)?_Process(ing|ed))?$/)) - {prev.parentNode.removeChild(prev)} - if (script.MathJax.preview) script.MathJax.preview.style.display = "none"; - // - // Add the span, and a div if in display mode, - // then set the role and mark it as being processed - // - jax = script.MathJax.elementJax; if (!jax) continue; - jax.SVG = { - display: (jax.root.Get("display") === "block"), - preview: (jax.SVG||{}).preview // in case typeset calls are interleaved - }; - span = div = HTML.Element("span",{ - style: {"font-size": this.config.scale+"%", display:"inline-block"}, - className:"MathJax_SVG", id:jax.inputID+"-Frame", isMathJax:true, jaxID:this.id, - oncontextmenu:EVENT.Menu, onmousedown: EVENT.Mousedown, - onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove, - onclick:EVENT.Click, ondblclick:EVENT.DblClick, - // Added for keyboard accessible menu. - onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax) - }); - if (HUB.Browser.noContextMenu) { - span.ontouchstart = TOUCH.start; - span.ontouchend = TOUCH.end; - } - if (jax.SVG.display) { - div = HTML.Element("div",{className:"MathJax_SVG_Display"}); - div.appendChild(span); - } - div.className += " MathJax_SVG_Processing"; - script.parentNode.insertBefore(div,script); - // - // Add the test span for determining scales and linebreak widths - // - test = this.TestSpan.cloneNode(true); - test.className += " mjx-test-" + (jax.SVG.display ? "display" : "inline"); - script.parentNode.insertBefore(test,script); - } - // - // Determine the scaling factors for each script - // (this only requires one reflow rather than a reflow for each equation) - // - var hidden = []; - for (i = 0; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; - test = script.previousSibling; div = test.previousSibling; - jax = script.MathJax.elementJax; if (!jax) continue; - ex = test.childNodes[1].offsetHeight/60; - cwidth = Math.max(0, jax.SVG.display ? test.lastChild.offsetWidth - 1: - test.lastChild.offsetLeft - test.firstChild.offsetLeft - 2) / this.config.scale * 100; - if (ex === 0 || ex === "NaN") { - // can't read width, so move to hidden div for processing - hidden.push(div); - jax.SVG.isHidden = true; - ex = this.defaultEx; cwidth = this.defaultWidth; - } - if (cwidth === 0 && !jax.SVG.display) cwidth = this.defaultWidth; - if (relwidth) {maxwidth = cwidth} - jax.SVG.ex = ex; - jax.SVG.em = em = ex / SVG.TeX.x_height * 1000; // scale ex to x_height - jax.SVG.cwidth = cwidth/em * 1000; - jax.SVG.lineWidth = (linebreak ? this.length2em(width,1,maxwidth/em*1000) : SVG.BIGDIMEN); - } - for (i = 0, n = hidden.length; i < n; i++) { - this.hiddenDiv.appendChild(hidden[i]); - this.addElement(this.hiddenDiv,"br"); - } - // - // Remove the test spans used for determining scales and linebreak widths - // - for (i = 0; i < m; i++) { - script = scripts[i]; if (!script.parentNode) continue; - jax = script.MathJax.elementJax; if (!jax) continue; - script.parentNode.removeChild(script.previousSibling); - if (script.MathJax.preview) script.MathJax.preview.style.display = ""; - } - // - // Set state variables used for displaying equations in chunks - // - state.SVGeqn = state.SVGlast = 0; state.SVGi = -1; - state.SVGchunk = this.config.EqnChunk; - state.SVGdelay = false; - }, - - Translate: function (script,state) { - if (!script.parentNode) return; - - // - // If we are supposed to do a chunk delay, do it - // - if (state.SVGdelay) { - state.SVGdelay = false; - HUB.RestartAfter(MathJax.Callback.Delay(this.config.EqnChunkDelay)); - } - - // - // Get the data about the math - // - var jax = script.MathJax.elementJax, math = jax.root, div, span, - localCache = (SVG.config.useFontCache && !SVG.config.useGlobalCache); - if (jax.SVG.isHidden) { - span = document.getElementById(jax.inputID+"-Frame"); - div = (jax.SVG.display ? span.parentElement : span); - } else { - div = script.previousSibling; - span = (jax.SVG.display ? (div||{}).firstChild||div : div); - } - if (!div) return; - // - // Set the font metrics - // - this.em = MML.mbase.prototype.em = jax.SVG.em; this.ex = jax.SVG.ex; - this.linebreakWidth = jax.SVG.lineWidth; this.cwidth = jax.SVG.cwidth; - // - // Typeset the math - // - this.mathDiv = div; - span.appendChild(this.textSVG); - if (localCache) {SVG.resetGlyphs()} - this.initSVG(math,span); - math.setTeXclass(); - try {math.toSVG(span,div)} catch (err) { - if (err.restart) {while (span.firstChild) {span.removeChild(span.firstChild)}} - if (localCache) {BBOX.GLYPH.n--} - throw err; - } - span.removeChild(this.textSVG); - // - // Put it in place, and remove the processing marker - // - if (jax.SVG.isHidden) {script.parentNode.insertBefore(div,script)} - div.className = div.className.split(/ /)[0]; - // - // Check if we are hiding the math until more is processed - // - if (this.hideProcessedMath) { - // - // Hide the math and don't let its preview be removed - // - div.className += " MathJax_SVG_Processed"; - if (script.MathJax.preview) { - jax.SVG.preview = script.MathJax.preview; - delete script.MathJax.preview; - } - // - // Check if we should show this chunk of equations - // - state.SVGeqn += (state.i - state.SVGi); state.SVGi = state.i; - if (state.SVGeqn >= state.SVGlast + state.SVGchunk) { - this.postTranslate(state,true); - state.SVGchunk = Math.floor(state.SVGchunk*this.config.EqnChunkFactor); - state.SVGdelay = true; // delay if there are more scripts - } - } - }, - - postTranslate: function (state,partial) { - var scripts = state.jax[this.id]; - if (!this.hideProcessedMath) return; - // - // Reveal this chunk of math - // - for (var i = state.SVGlast, m = state.SVGeqn; i < m; i++) { - var script = scripts[i]; - if (script && script.MathJax.elementJax) { - // - // Remove the processed marker - // - script.previousSibling.className = script.previousSibling.className.split(/ /)[0]; - var data = script.MathJax.elementJax.SVG; - // - // Remove the preview, if any - // - if (data.preview) { - data.preview.innerHTML = ""; - script.MathJax.preview = data.preview; - delete data.preview; - } - } - } - // - // Save our place so we know what is revealed - // - state.SVGlast = state.SVGeqn; - }, - - resetGlyphs: function (reset) { - if (this.config.useFontCache) { - var GLYPH = BBOX.GLYPH; - if (this.config.useGlobalCache) { - GLYPH.defs = document.getElementById("MathJax_SVG_glyphs"); - GLYPH.defs.innerHTML = ""; - } else { - GLYPH.defs = this.Element("defs"); - GLYPH.n++; - } - GLYPH.glyphs = {}; - if (reset) {GLYPH.n = 0} - } - }, - - // - // Return the containing HTML element rather than the SVG element, since - // most browsers can't position to an SVG element properly. - // - hashCheck: function (target) { - if (target && target.nodeName.toLowerCase() === "g") - {do {target = target.parentNode} while (target && target.firstChild.nodeName !== "svg")} - return target; - }, - - getJaxFromMath: function (math) { - if (math.parentNode.className.match(/MathJax_SVG_Display/)) {math = math.parentNode} - do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); - return HUB.getJaxFor(math); - }, - getHoverSpan: function (jax,math) { - math.style.position = "relative"; // make sure inline containers have position set - return math.firstChild; - }, - getHoverBBox: function (jax,span,math) { - var bbox = EVENT.getBBox(span.parentNode); - bbox.h += 2; bbox.d -= 2; // bbox seems to be a bit off, so compensate (FIXME) - return bbox; - }, - - Zoom: function (jax,span,math,Mw,Mh) { - // - // Re-render at larger size - // - span.className = "MathJax_SVG"; - - // - // get em size (taken from this.preTranslate) - // - var emex = span.appendChild(this.TestSpan.cloneNode(true)); - var ex = emex.childNodes[1].offsetHeight/60; - this.em = MML.mbase.prototype.em = ex / SVG.TeX.x_height * 1000; this.ex = ex; - this.linebreakWidth = jax.SVG.lineWidth; this.cwidth = jax.SVG.cwidth; - emex.parentNode.removeChild(emex); - - span.appendChild(this.textSVG); - this.mathDIV = span; this.zoomScale = parseInt(HUB.config.menuSettings.zscale) / 100; - var tw = jax.root.data[0].SVGdata.tw; if (tw && tw < this.cwidth) this.cwidth = tw; - this.idPostfix = "-zoom"; jax.root.toSVG(span,span); this.idPostfix = ""; - this.zoomScale = 1; - span.removeChild(this.textSVG); - - // - // Don't allow overlaps on any edge - // - var svg = span.getElementsByTagName("svg")[0].style; - svg.marginTop = svg.marginRight = svg.marginLeft = 0; - if (svg.marginBottom.charAt(0) === "-") - span.style.marginBottom = svg.marginBottom.substr(1); - - if (this.operaZoomRefresh) - {setTimeout(function () {span.firstChild.style.border="1px solid transparent"},1)} - // - // WebKit bug (issue #749) - // - if (span.offsetWidth < span.firstChild.offsetWidth) { - span.style.minWidth = span.firstChild.offsetWidth + "px"; - math.style.minWidth = math.firstChild.offsetWidth + "px"; - } - // - // Get height and width of zoomed math and original math - // - span.style.position = math.style.position = "absolute"; - var zW = span.offsetWidth, zH = span.offsetHeight, - mH = math.offsetHeight, mW = math.offsetWidth; - span.style.position = math.style.position = ""; - // - return {Y:-EVENT.getBBox(span).h, mW:mW, mH:mH, zW:zW, zH:zH}; - }, - - initSVG: function (math,span) {}, - - Remove: function (jax) { - var span = document.getElementById(jax.inputID+"-Frame"); - if (span) { - if (jax.SVG.display) {span = span.parentNode} - span.parentNode.removeChild(span); - } - delete jax.SVG; - }, - - Em: function (m) { - if (Math.abs(m) < .0006) return "0"; - return m.toFixed(3).replace(/\.?0+$/,"") + "em"; - }, - Ex: function (m) { - m = m / this.TeX.x_height; - if (Math.abs(m) < .0006) return "0"; - return m.toFixed(3).replace(/\.?0+$/,"") + "ex"; - }, - Percent: function (m) { - return (100*m).toFixed(1).replace(/\.?0+$/,"") + "%"; - }, - Fixed: function (m,n) { - if (Math.abs(m) < .0006) return "0"; - return m.toFixed(n||3).replace(/\.?0+$/,""); - }, - length2em: function (length,mu,size) { - if (typeof(length) !== "string") {length = length.toString()} - if (length === "") {return ""} - if (length === MML.SIZE.NORMAL) {return 1000} - if (length === MML.SIZE.BIG) {return 2000} - if (length === MML.SIZE.SMALL) {return 710} - if (length === "infinity") {return SVG.BIGDIMEN} - if (length.match(/mathspace$/)) {return 1000*SVG.MATHSPACE[length]} - var emFactor = (this.zoomScale || 1) / SVG.em; - var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/); - var m = parseFloat(match[1]||"1") * 1000, unit = match[2]; - if (size == null) {size = 1000}; if (mu == null) {mu = 1} - if (unit === "em") {return m} - if (unit === "ex") {return m * SVG.TeX.x_height/1000} - if (unit === "%") {return m / 100 * size / 1000} - if (unit === "px") {return m * emFactor} - if (unit === "pt") {return m / 10} // 10 pt to an em - if (unit === "pc") {return m * 1.2} // 12 pt to a pc - if (unit === "in") {return m * this.pxPerInch * emFactor} - if (unit === "cm") {return m * this.pxPerInch * emFactor / 2.54} // 2.54 cm to an inch - if (unit === "mm") {return m * this.pxPerInch * emFactor / 25.4} // 10 mm to a cm - if (unit === "mu") {return m / 18 * mu} - return m*size / 1000; // relative to given size (or 1em as default) - }, - thickness2em: function (length,mu) { - var thick = SVG.TeX.rule_thickness; - if (length === MML.LINETHICKNESS.MEDIUM) {return thick} - if (length === MML.LINETHICKNESS.THIN) {return .67*thick} - if (length === MML.LINETHICKNESS.THICK) {return 1.67*thick} - return this.length2em(length,mu,thick); - }, - border2em: function (length,mu) { - if (length === MML.LINETHICKNESS.THIN) {length = "1px"} - if (length === MML.LINETHICKNESS.MEDIUM) {length = "3px"} - if (length === MML.LINETHICKNESS.THICK) {length = "5px"} - return this.length2em(length,mu); - }, - - getPadding: function (styles) { - var padding = {top:0, right:0, bottom:0, left:0}, has = false; - for (var id in padding) {if (padding.hasOwnProperty(id)) { - var pad = styles["padding"+id.charAt(0).toUpperCase()+id.substr(1)]; - if (pad) {padding[id] = this.length2em(pad); has = true;} - }} - return (has ? padding : false); - }, - getBorders: function (styles) { - var border = {top:0, right:0, bottom:0, left:0}, has = false; - for (var id in border) {if (border.hasOwnProperty(id)) { - var ID = "border"+id.charAt(0).toUpperCase()+id.substr(1); - var style = styles[ID+"Style"]; - if (style && style !== "none") { - has = true; - border[id] = this.border2em(styles[ID+"Width"] || MML.LINETHICKNESS.MEDIUM); - border[id+"Style"] = styles[ID+"Style"]; - border[id+"Color"] = styles[ID+"Color"]; - if (border[id+"Color"] === "initial") {border[id+"Color"] = ""} - } else {delete border[id]} - }} - return (has ? border : false); - }, - - Element: function (type,def) { - var obj = (typeof(type) === "string" ? document.createElementNS(SVGNS,type) : type); - obj.isMathJax = true; - if (def) {for (var id in def) {if (def.hasOwnProperty(id)) {obj.setAttribute(id,def[id].toString())}}} - return obj; - }, - addElement: function (parent,type,def) {return parent.appendChild(this.Element(type,def))}, - TextNode: HTML.TextNode, - addText: HTML.addText, - ucMatch: HTML.ucMatch, - - HandleVariant: function (variant,scale,text) { - var svg = BBOX.G(); - var n, N, c, font, VARIANT, i, m, id, M, RANGES; - if (!variant) {variant = this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]} - if (variant.forceFamily) { - text = BBOX.TEXT(scale,text,variant.font); - if (variant.h != null) {text.h = variant.h}; if (variant.d != null) {text.d = variant.d} - svg.Add(text); text = ""; - } - VARIANT = variant; - for (i = 0, m = text.length; i < m; i++) { - variant = VARIANT; - n = text.charCodeAt(i); c = text.charAt(i); - if (n >= 0xD800 && n < 0xDBFF) { - i++; n = (((n-0xD800)<<10)+(text.charCodeAt(i)-0xDC00))+0x10000; - if (this.FONTDATA.RemapPlane1) { - var nv = this.FONTDATA.RemapPlane1(n,variant); - n = nv.n; variant = nv.variant; - } - } else { - RANGES = this.FONTDATA.RANGES; - for (id = 0, M = RANGES.length; id < M; id++) { - if (RANGES[id].name === "alpha" && variant.noLowerCase) continue; - N = variant["offset"+RANGES[id].offset]; - if (N && n >= RANGES[id].low && n <= RANGES[id].high) { - if (RANGES[id].remap && RANGES[id].remap[n]) { - n = N + RANGES[id].remap[n]; - } else { - if (RANGES[id].remapOnly) break; - n = n - RANGES[id].low + N; - if (RANGES[id].add) {n += RANGES[id].add} - } - if (variant["variant"+RANGES[id].offset]) - {variant = this.FONTDATA.VARIANT[variant["variant"+RANGES[id].offset]]} - break; - } - } - } - if (variant.remap && variant.remap[n]) { - n = variant.remap[n]; - if (variant.remap.variant) {variant = this.FONTDATA.VARIANT[variant.remap.variant]} - } else if (this.FONTDATA.REMAP[n] && !variant.noRemap) { - n = this.FONTDATA.REMAP[n]; - } - if (isArray(n)) {variant = this.FONTDATA.VARIANT[n[1]]; n = n[0]} - if (typeof(n) === "string") { - text = n+text.substr(i+1); - m = text.length; i = -1; - continue; - } - font = this.lookupChar(variant,n); c = font[n]; - if (c) { - if ((c[5] && c[5].space) || (c[5] === "" && c[0]+c[1] === 0)) {svg.w += c[2]} else { - c = [scale,font.id+"-"+n.toString(16).toUpperCase()].concat(c); - svg.Add(BBOX.GLYPH.apply(BBOX,c),svg.w,0); - } - } else if (this.FONTDATA.DELIMITERS[n]) { - c = this.createDelimiter(n,0,1,font); - svg.Add(c,svg.w,(this.FONTDATA.DELIMITERS[n].dir === "V" ? c.d: 0)); - } else { - if (n <= 0xFFFF) {c = String.fromCharCode(n)} else { - N = n - 0x10000; - c = String.fromCharCode((N>>10)+0xD800) - + String.fromCharCode((N&0x3FF)+0xDC00); - } - var box = BBOX.TEXT(scale*100/SVG.config.scale,c,{ - "font-family":variant.defaultFamily||SVG.config.undefinedFamily, - "font-style":(variant.italic?"italic":""), - "font-weight":(variant.bold?"bold":"") - }) - if (variant.h != null) {box.h = variant.h}; if (variant.d != null) {box.d = variant.d} - c = BBOX.G(); c.Add(box); svg.Add(c,svg.w,0); - HUB.signal.Post(["SVG Jax - unknown char",n,variant]); - } - } - if (SVG.isChar(text) && font.skew && font.skew[n]) {svg.skew = font.skew[n]*1000} - if (svg.element.childNodes.length === 1 && !svg.element.firstChild.getAttribute("x")) { - svg.element = svg.element.firstChild; - svg.removeable = false; svg.scale = scale; - } - return svg; - }, - - lookupChar: function (variant,n) { - var i, m; - if (!variant.FONTS) { - var FONTS = this.FONTDATA.FONTS; - var fonts = (variant.fonts || this.FONTDATA.VARIANT.normal.fonts); - if (!(fonts instanceof Array)) {fonts = [fonts]} - if (variant.fonts != fonts) {variant.fonts = fonts} - variant.FONTS = []; - for (i = 0, m = fonts.length; i < m; i++) { - if (FONTS[fonts[i]]) {variant.FONTS.push(FONTS[fonts[i]])} - } - } - for (i = 0, m = variant.FONTS.length; i < m; i++) { - var font = variant.FONTS[i]; - if (typeof(font) === "string") {delete variant.FONTS; this.loadFont(font)} - if (font[n]) {return font} else {this.findBlock(font,n)} - } - return {id:"unknown"}; - }, - - isChar: function (text) { - if (text.length === 1) return true; - if (text.length !== 2) return false; - var n = text.charCodeAt(0); - return (n >= 0xD800 && n < 0xDBFF); - }, - - findBlock: function (font,c) { - if (font.Ranges) { - // FIXME: do binary search? - for (var i = 0, m = font.Ranges.length; i < m; i++) { - if (c < font.Ranges[i][0]) return; - if (c <= font.Ranges[i][1]) { - var file = font.Ranges[i][2]; - for (var j = font.Ranges.length-1; j >= 0; j--) - {if (font.Ranges[j][2] == file) {font.Ranges.splice(j,1)}} - this.loadFont(font.directory+"/"+file+".js"); - } - } - } - }, - - loadFont: function (file) { - HUB.RestartAfter(AJAX.Require(this.fontDir+"/"+file)); - }, - - createDelimiter: function (code,HW,scale,font) { - if (!scale) {scale = 1}; - var svg = BBOX.G(); - if (!code) { - svg.Clean(); delete svg.element; - svg.w = svg.r = this.TeX.nulldelimiterspace * scale; - return svg; - } - if (!(HW instanceof Array)) {HW = [HW,HW]} - var hw = HW[1]; HW = HW[0]; - var delim = {alias: code}; - while (delim.alias) { - code = delim.alias; delim = this.FONTDATA.DELIMITERS[code]; - if (!delim) {delim = {HW: [0,this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]]}} - } - if (delim.load) {HUB.RestartAfter(AJAX.Require(this.fontDir+"/fontdata-"+delim.load+".js"))} - for (var i = 0, m = delim.HW.length; i < m; i++) { - if (delim.HW[i][0]*scale >= HW-10-SVG.config.blacker || (i == m-1 && !delim.stretch)) { - if (delim.HW[i][2]) {scale *= delim.HW[i][2]} - if (delim.HW[i][3]) {code = delim.HW[i][3]} - return this.createChar(scale,[code,delim.HW[i][1]],font).With({stretched: true}); - } - } - if (delim.stretch) {this["extendDelimiter"+delim.dir](svg,hw,delim.stretch,scale,font)} - return svg; - }, - createChar: function (scale,data,font) { - var text = "", variant = {fonts: [data[1]], noRemap:true}; - if (font && font === MML.VARIANT.BOLD) {variant.fonts = [data[1]+"-bold",data[1]]} - if (typeof(data[1]) !== "string") {variant = data[1]} - if (data[0] instanceof Array) { - for (var i = 0, m = data[0].length; i < m; i++) {text += String.fromCharCode(data[0][i])} - } else {text = String.fromCharCode(data[0])} - if (data[4]) {scale = scale*data[4]} - var svg = this.HandleVariant(variant,scale,text); - if (data[2]) {svg.x = data[2]*1000} - if (data[3]) {svg.y = data[3]*1000} - if (data[5]) {svg.h += data[5]*1000} - if (data[6]) {svg.d += data[6]*1000} - return svg; - }, - extendDelimiterV: function (svg,H,delim,scale,font) { - var top = this.createChar(scale,(delim.top||delim.ext),font); - var bot = this.createChar(scale,(delim.bot||delim.ext),font); - var h = top.h + top.d + bot.h + bot.d; - var y = -top.h; svg.Add(top,0,y); y -= top.d; - if (delim.mid) {var mid = this.createChar(scale,delim.mid,font); h += mid.h + mid.d} - if (delim.min && H < h*delim.min) {H = h*delim.min} - if (H > h) { - var ext = this.createChar(scale,delim.ext,font); - var k = (delim.mid ? 2 : 1), eH = (H-h) / k, s = (eH+100) / (ext.h+ext.d); - while (k-- > 0) { - var g = SVG.Element("g",{transform:"translate("+ext.y+","+(y-s*ext.h+50+ext.y)+") scale(1,"+s+")"}); - g.appendChild(ext.element.cloneNode(false)); svg.element.appendChild(g); y -= eH; - if (delim.mid && k) {svg.Add(mid,0,y-mid.h); y -= (mid.h+mid.d)} - } - } else if (delim.mid) { - y += (h - H)/2; svg.Add(mid,0,y-mid.h); y += -(mid.h + mid.d) + (h - H)/2; - } else { - y += (h - H); - } - svg.Add(bot,0,y-bot.h); svg.Clean(); - svg.scale = scale; - svg.isMultiChar = true; - }, - extendDelimiterH: function (svg,W,delim,scale,font) { - var left = this.createChar(scale,(delim.left||delim.rep),font); - var right = this.createChar(scale,(delim.right||delim.rep),font); - svg.Add(left,-left.l,0); - var w = (left.r - left.l) + (right.r - right.l), x = left.r - left.l; - if (delim.mid) {var mid = this.createChar(scale,delim.mid,font); w += mid.w} - if (delim.min && W < w*delim.min) {W = w*delim.min} - if (W > w) { - var rep = this.createChar(scale,delim.rep,font), fuzz = delim.fuzz || 0; - var k = (delim.mid ? 2 : 1), rW = (W-w) / k, s = (rW+fuzz) / (rep.r-rep.l); - while (k-- > 0) { - var g = SVG.Element("g",{transform:"translate("+(x-fuzz/2-s*rep.l+rep.x)+","+rep.y+") scale("+s+",1)"}); - g.appendChild(rep.element.cloneNode(false)); svg.element.appendChild(g); x += rW; - if (delim.mid && k) {svg.Add(mid,x,0); x += mid.w} - } - } else if (delim.mid) { - x -= (w - W)/2; svg.Add(mid,x,0); x += mid.w - (w - W)/2; - } else { - x -= (w - W); - } - svg.Add(right,x-right.l,0); svg.Clean(); - svg.scale = scale; - svg.isMultiChar = true; - }, - - - MATHSPACE: { - veryverythinmathspace: 1/18, - verythinmathspace: 2/18, - thinmathspace: 3/18, - mediummathspace: 4/18, - thickmathspace: 5/18, - verythickmathspace: 6/18, - veryverythickmathspace: 7/18, - negativeveryverythinmathspace: -1/18, - negativeverythinmathspace: -2/18, - negativethinmathspace: -3/18, - negativemediummathspace: -4/18, - negativethickmathspace: -5/18, - negativeverythickmathspace: -6/18, - negativeveryverythickmathspace: -7/18 - }, - - // - // Units are em/1000 so quad is 1em - // - TeX: { - x_height: 430.554, - quad: 1000, - num1: 676.508, - num2: 393.732, - num3: 443.73, - denom1: 685.951, - denom2: 344.841, - sup1: 412.892, - sup2: 362.892, - sup3: 288.888, - sub1: 150, - sub2: 247.217, - sup_drop: 386.108, - sub_drop: 50, - delim1: 2390, - delim2: 1000, - axis_height: 250, - rule_thickness: 60, - big_op_spacing1: 111.111, - big_op_spacing2: 166.666, - big_op_spacing3: 200, - big_op_spacing4: 600, - big_op_spacing5: 100, - - scriptspace: 100, - nulldelimiterspace: 120, - delimiterfactor: 901, - delimitershortfall: 300, - - min_rule_thickness: 1.25, // in pixels - min_root_space: 1.5 // in pixels - }, - - BIGDIMEN: 10000000, - NBSP: "\u00A0" - }); - - var BBOX = SVG.BBOX = MathJax.Object.Subclass({ - type: "g", removeable: true, - Init: function (def) { - this.h = this.d = -SVG.BIGDIMEN; this.H = this.D = 0; - this.w = this.r = 0; this.l = SVG.BIGDIMEN; - this.x = this.y = 0; this.scale = 1; this.n = 0; - if (this.type) {this.element = SVG.Element(this.type,def)} - }, - With: function (def) {return HUB.Insert(this,def)}, - Add: function (svg,dx,dy,forcew,infront) { - if (dx) {svg.x += dx}; if (dy) {svg.y += dy}; - if (svg.element) { - if (svg.removeable && svg.element.childNodes.length === 1 && svg.n === 1) { - var child = svg.element.firstChild, nodeName = child.nodeName.toLowerCase(); - if (nodeName === "use" || nodeName === "rect") { - svg.element = child; svg.scale = svg.childScale; - var x = svg.childX, y = svg.childY; - svg.x += x; svg.y += y; - svg.h -= y; svg.d += y; svg.H -= y; svg.D +=y; - svg.w -= x; svg.r -= x; svg.l += x; - svg.removeable = false; - child.setAttribute("x",Math.floor(svg.x/svg.scale)); - child.setAttribute("y",Math.floor(svg.y/svg.scale)); - } - } - if (Math.abs(svg.x) < 1 && Math.abs(svg.y) < 1) { - svg.remove = svg.removeable; - } else { - nodeName = svg.element.nodeName.toLowerCase(); - if (nodeName === "g") { - if (!svg.element.firstChild) {svg.remove = svg.removeable} - else {svg.element.setAttribute("transform","translate("+Math.floor(svg.x)+","+Math.floor(svg.y)+")")} - } else if (nodeName === "line" || nodeName === "polygon" || - nodeName === "path" || nodeName === "a") { - var transform = svg.element.getAttribute("transform") || ""; - if (transform) transform = " "+transform; - transform = "translate("+Math.floor(svg.x)+","+Math.floor(svg.y)+")"+transform; - svg.element.setAttribute("transform",transform); - } else { - svg.element.setAttribute("x",Math.floor(svg.x/svg.scale)); - svg.element.setAttribute("y",Math.floor(svg.y/svg.scale)); - } - } - if (svg.remove) { - this.n += svg.n; - while (svg.element.firstChild) { - if (infront && this.element.firstChild) { - this.element.insertBefore(svg.element.firstChild,this.element.firstChild); - } else { - this.element.appendChild(svg.element.firstChild); - } - } - } else { - if (infront) {this.element.insertBefore(svg.element,this.element.firstChild)} - else {this.element.appendChild(svg.element)} - } - delete svg.element; - } - if (svg.hasIndent) {this.hasIndent = svg.hasIndent} - if (svg.tw != null) {this.tw = svg.tw} - if (svg.d - svg.y > this.d) {this.d = svg.d - svg.y; if (this.d > this.D) {this.D = this.d}} - if (svg.y + svg.h > this.h) {this.h = svg.y + svg.h; if (this.h > this.H) {this.H = this.h}} - if (svg.D - svg.y > this.D) {this.D = svg.D - svg.y} - if (svg.y + svg.H > this.H) {this.H = svg.y + svg.H} - if (svg.x + svg.l < this.l) {this.l = svg.x + svg.l} - if (svg.x + svg.r > this.r) {this.r = svg.x + svg.r} - if (forcew || svg.x + svg.w + (svg.X||0) > this.w) {this.w = svg.x + svg.w + (svg.X||0)} - this.childScale = svg.scale; this.childX = svg.x; this.childY = svg.y; this.n++; - return svg; - }, - Align: function (svg,align,dx,dy,shift) { - dx = ({left: dx, center: (this.w - svg.w)/2, right: this.w - svg.w - dx})[align] || 0; - var w = this.w; this.Add(svg,dx+(shift||0),dy); this.w = w; - }, - Clean: function () { - if (this.h === -SVG.BIGDIMEN) {this.h = this.d = this.l = 0} - return this; - } - }); - - BBOX.ROW = BBOX.Subclass({ - Init: function () { - this.SUPER(arguments).Init.call(this); - this.svg = []; this.sh = this.sd = 0; - }, - Check: function (data) { - var svg = data.toSVG(); this.svg.push(svg); - if (data.SVGcanStretch("Vertical")) {svg.mml = data} - if (svg.h + svg.y > this.sh) {this.sh = svg.h + svg.y} - if (svg.d - svg.y > this.sd) {this.sd = svg.d - svg.y} - }, - Stretch: function () { - for (var i = 0, m = this.svg.length; i < m; i++) - { - var svg = this.svg[i], mml = svg.mml; - if (mml) { - if (mml.forceStretch || mml.SVGdata.h !== this.sh || mml.SVGdata.d !== this.sd) { - svg = mml.SVGstretchV(this.sh,this.sd); - } - mml.SVGdata.HW = this.sh; mml.SVGdata.D = this.sd; - } - if (svg.ic) {this.ic = svg.ic} else {delete this.ic} - this.Add(svg,this.w,0,true); - } - delete this.svg; - } - }); - - BBOX.RECT = BBOX.Subclass({ - type: "rect", removeable: false, - Init: function (h,d,w,def) { - if (def == null) {def = {stroke:"none"}} - def.width = Math.floor(w); def.height = Math.floor(h+d); - this.SUPER(arguments).Init.call(this,def); - this.w = this.r = w; this.h = this.H = h+d; this.d = this.D = this.l = 0; this.y = -d; - } - }); - - BBOX.FRAME = BBOX.Subclass({ - type: "rect", removeable: false, - Init: function (h,d,w,t,dash,color,def) { - if (def == null) {def = {}}; def.fill = "none"; - def["stroke-width"] = SVG.Fixed(t,2); - def.width = Math.floor(w-t); def.height = Math.floor(h+d-t); - def.transform = "translate("+Math.floor(t/2)+","+Math.floor(-d+t/2)+")"; - if (dash === "dashed") - {def["stroke-dasharray"] = [Math.floor(6*SVG.em),Math.floor(6*SVG.em)].join(" ")} - this.SUPER(arguments).Init.call(this,def); - this.w = this.r = w; this.h = this.H = h; - this.d = this.D = d; this.l = 0; - } - }); - - BBOX.HLINE = BBOX.Subclass({ - type: "line", removeable: false, - Init: function (w,t,dash,color,def) { - if (def == null) {def = {"stroke-linecap":"square"}} - if (color && color !== "") {def.stroke = color} - def["stroke-width"] = SVG.Fixed(t,2); - def.x1 = def.y1 = def.y2 = Math.floor(t/2); def.x2 = Math.floor(w-t/2); - if (dash === "dashed") { - var n = Math.floor(Math.max(0,w-t)/(6*t)), m = Math.floor(Math.max(0,w-t)/(2*n+1)); - def["stroke-dasharray"] = m+" "+m; - } - if (dash === "dotted") { - def["stroke-dasharray"] = [1,Math.max(150,Math.floor(2*t))].join(" "); - def["stroke-linecap"] = "round"; - } - this.SUPER(arguments).Init.call(this,def); - this.w = this.r = w; this.l = 0; this.h = this.H = t; this.d = this.D = 0; - } - }); - - BBOX.VLINE = BBOX.Subclass({ - type: "line", removeable: false, - Init: function (h,t,dash,color,def) { - if (def == null) {def = {"stroke-linecap":"square"}} - if (color && color !== "") {def.stroke = color} - def["stroke-width"] = SVG.Fixed(t,2); - def.x1 = def.x2 = def.y1 = Math.floor(t/2); def.y2 = Math.floor(h-t/2); - if (dash === "dashed") { - var n = Math.floor(Math.max(0,h-t)/(6*t)), m = Math.floor(Math.max(0,h-t)/(2*n+1)); - def["stroke-dasharray"] = m+" "+m; - } - if (dash === "dotted") { - def["stroke-dasharray"] = [1,Math.max(150,Math.floor(2*t))].join(" "); - def["stroke-linecap"] = "round"; - } - this.SUPER(arguments).Init.call(this,def); - this.w = this.r = t; this.l = 0; this.h = this.H = h; this.d = this.D = 0; - } - }); - - BBOX.TEXT = BBOX.Subclass({ - type: "text", removeable: false, - Init: function (scale,text,def) { - if (!def) {def = {}}; def.stroke = "none"; - if (def["font-style"] === "") delete def["font-style"]; - if (def["font-weight"] === "") delete def["font-weight"]; - this.SUPER(arguments).Init.call(this,def); - SVG.addText(this.element,text); - SVG.textSVG.appendChild(this.element); - var bbox = this.element.getBBox(); - SVG.textSVG.removeChild(this.element); - scale *= 1000/SVG.em; - this.element.setAttribute("transform","scale("+SVG.Fixed(scale)+") matrix(1 0 0 -1 0 0)"); - this.w = this.r = bbox.width*scale; this.l = 0; - this.h = this.H = -bbox.y*scale; - this.d = this.D = (bbox.height + bbox.y)*scale; - } - }); - - BBOX.G = BBOX; - - BBOX.NULL = BBOX.Subclass({ - Init: function () { - this.SUPER(arguments).Init.apply(this,arguments); - this.Clean(); - } - }); - - BBOX.GLYPH = BBOX.Subclass({ - type: "path", removeable: false, - Init: function (scale,id,h,d,w,l,r,p) { - var def, t = SVG.config.blacker, GLYPH = BBOX.GLYPH; - var cache = SVG.config.useFontCache; - var transform = (scale === 1 ? null : "scale("+SVG.Fixed(scale)+")"); - if (cache && !SVG.config.useGlobalCache) {id = "E"+GLYPH.n+"-"+id} - if (!cache || !GLYPH.glyphs[id]) { - def = {"stroke-width":t}; - if (cache) {def.id = id} else if (transform) {def.transform = transform} - def.d = (p ? "M"+p+"Z" : ""); - this.SUPER(arguments).Init.call(this,def); - if (cache) {GLYPH.defs.appendChild(this.element); GLYPH.glyphs[id] = true;} - } - if (cache) { - def = {}; if (transform) {def.transform = transform} - this.element = SVG.Element("use",def); - this.element.setAttributeNS(XLINKNS,"href",SVGURL+"#"+id); - } - this.h = (h+t) * scale; this.d = (d+t) * scale; this.w = (w+t/2) *scale; - this.l = (l+t/2) * scale; this.r = (r+t/2) * scale; - this.H = Math.max(0,this.h); this.D = Math.max(0,this.d); - this.x = this.y = 0; this.scale = scale; - } - },{ - glyphs: {}, // which glpyhs have been used - defs: null, // the SVG element where glyphs are stored - n: 0 // the ID for local for self-contained SVG elements - }); - - HUB.Register.StartupHook("mml Jax Ready",function () { - - MML = MathJax.ElementJax.mml; - - MML.mbase.Augment({ - SVG: BBOX, - toSVG: function () { - this.SVGgetStyles(); - var variant = this.SVGgetVariant(); - var svg = this.SVG(); this.SVGgetScale(svg); - this.SVGhandleSpace(svg); - for (var i = 0, m = this.data.length; i < m; i++) { - if (this.data[i]) { - var child = svg.Add(this.data[i].toSVG(variant,svg.scale),svg.w,0,true); - if (child.skew) {svg.skew = child.skew} - } - } - svg.Clean(); var text = this.data.join(""); - if (svg.skew && !SVG.isChar(text)) {delete svg.skew} - if (svg.r > svg.w && SVG.isChar(text) && !variant.noIC) - {svg.ic = svg.r - svg.w; svg.w = svg.r} - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - }, - - SVGchildSVG: function (i) { - return (this.data[i] ? this.data[i].toSVG() : BBOX()); - }, - - SVGdataStretched: function (i,HW,D) { - this.SVGdata = {HW:HW, D:D}; - if (!this.data[i]) {return BBOX()} - if (D != null) {return this.data[i].SVGstretchV(HW,D)} - if (HW != null) {return this.data[i].SVGstretchH(HW)} - return this.data[i].toSVG(); - }, - - SVGsaveData: function (svg) { - if (!this.SVGdata) {this.SVGdata = {}} - this.SVGdata.w = svg.w, this.SVGdata.x = svg.x; - this.SVGdata.h = svg.h, this.SVGdata.d = svg.d; - if (svg.y) {this.SVGdata.h += svg.y; this.SVGdata.d -= svg.y} - if (svg.X != null) {this.SVGdata.X = svg.X} - if (svg.tw != null) {this.SVGdata.tw = svg.tw} - if (svg.skew) {this.SVGdata.skew = svg.skew} - if (svg.ic) {this.SVGdata.ic = svg.ic} - if (this["class"]) {svg.removeable = false; SVG.Element(svg.element,{"class":this["class"]})} - // FIXME: if an element is split by linebreaking, the ID will be the same on both parts - // FIXME: if an element has an id, its zoomed copy will have the same ID - if (this.id) {svg.removeable = false; SVG.Element(svg.element,{"id":this.id})} - if (this.href) {this.SVGaddHref(svg)} - if (SVG.config.addMMLclasses) { - this.SVGaddClass(svg.element,"mjx-svg-"+this.type); - svg.removeable = false; - } - var style = this.style; - if (style && svg.element) { - svg.element.style.cssText = style; - if (svg.element.style.fontSize) {svg.element.style.fontSize = ""} // handled by scale - svg.element.style.border = svg.element.style.padding = ""; - if (svg.removeable) {svg.removeable = (svg.element.style.cssText === "")} - } - this.SVGaddAttributes(svg); - }, - SVGaddClass: function (node,name) { - var classes = node.getAttribute("class"); - node.setAttribute("class",(classes ? classes+" " : "")+name); - }, - SVGaddAttributes: function (svg) { - // - // Copy RDFa, aria, and other tags from the MathML to the HTML-CSS - // output spans Don't copy those in the MML.nocopyAttributes list, - // the ignoreMMLattributes configuration list, or anything tha - // already exists as a property of the span (e.g., no "onlick", etc.) - // If a name in the ignoreMMLattributes object is set to false, then - // the attribute WILL be copied. - // - if (this.attrNames) { - var copy = this.attrNames, skip = MML.nocopyAttributes, ignore = HUB.config.ignoreMMLattributes; - var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); - for (var i = 0, m = copy.length; i < m; i++) { - var id = copy[i]; - if (ignore[id] == false || (!skip[id] && !ignore[id] && - defaults[id] == null && typeof(svg.element[id]) === "undefined")) { - svg.element.setAttribute(id,this.attr[id]); - svg.removeable = false; - } - } - } - }, - SVGaddHref: function (svg) { - var a = SVG.Element("a",{"class":"mjx-svg-href"}); - a.setAttributeNS(XLINKNS,"href",this.href); - a.onclick = this.SVGlink; - SVG.addElement(a,"rect",{width:svg.w, height:svg.h+svg.d, y:-svg.d, - fill:"none", stroke:"none", "pointer-events":"all"}); - if (svg.type === "svg") { - // for svg element, put inside the main element - var g = svg.element.firstChild; - while (g.firstChild) {a.appendChild(g.firstChild)} - g.appendChild(a); - } else { - a.appendChild(svg.element); svg.element = a; - } - svg.removeable = false; - }, - // - // WebKit currently scrolls to the BOTTOM of an svg element if it contains the - // target of the link, so implement link by hand, to the containing span element. - // - SVGlink: function () { - var href = this.href.animVal; - if (href.charAt(0) === "#") { - var target = SVG.hashCheck(document.getElementById(href.substr(1))); - if (target && target.scrollIntoView) - {setTimeout(function () {target.parentNode.scrollIntoView(true)},1)} - } - document.location = href; - }, - - SVGgetStyles: function () { - if (this.style) { - var span = HTML.Element("span"); - span.style.cssText = this.style; - this.styles = this.SVGprocessStyles(span.style); - } - }, - SVGprocessStyles: function (style) { - var styles = {border:SVG.getBorders(style), padding:SVG.getPadding(style)}; - if (!styles.border) {delete styles.border} - if (!styles.padding) {delete styles.padding} - if (style.fontSize) {styles.fontSize = style.fontSize} - if (style.color) {styles.color = style.color} - if (style.backgroundColor) {styles.background = style.backgroundColor} - if (style.fontStyle) {styles.fontStyle = style.fontStyle} - if (style.fontWeight) {styles.fontWeight = style.fontWeight} - if (style.fontFamily) {styles.fontFamily = style.fontFamily} - if (styles.fontWeight && styles.fontWeight.match(/^\d+$/)) - {styles.fontWeight = (parseInt(styles.fontWeight) > 600 ? "bold" : "normal")} - return styles; - }, - - SVGhandleSpace: function (svg) { - if (this.hasMMLspacing()) { - if (this.type !== "mo") return; - var values = this.getValues("scriptlevel","lspace","rspace"); - if (values.scriptlevel <= 0 || this.hasValue("lspace") || this.hasValue("rspace")) { - var mu = this.SVGgetMu(svg); - values.lspace = Math.max(0,SVG.length2em(values.lspace,mu)); - values.rspace = Math.max(0,SVG.length2em(values.rspace,mu)); - var core = this, parent = this.Parent(); - while (parent && parent.isEmbellished() && parent.Core() === core) - {core = parent; parent = parent.Parent()} - if (values.lspace) {svg.x += values.lspace} - if (values.rspace) {svg.X = values.rspace} - } - } else { - var space = this.texSpacing(); - this.SVGgetScale(); - if (space !== "") {svg.x += SVG.length2em(space,this.scale)*this.mscale} - } - }, - - SVGhandleColor: function (svg) { - var values = this.getValues("mathcolor","color"); - if (this.styles && this.styles.color && !values.color) {values.color = this.styles.color} - if (values.color && !this.mathcolor) {values.mathcolor = values.color} - if (values.mathcolor) { - SVG.Element(svg.element,{fill:values.mathcolor,stroke:values.mathcolor}) - svg.removeable = false; - } - var borders = (this.styles||{}).border, padding = (this.styles||{}).padding, - bleft = ((borders||{}).left||0), pleft = ((padding||{}).left||0), id; - values.background = (this.mathbackground || this.background || - (this.styles||{}).background || MML.COLOR.TRANSPARENT); - if (bleft + pleft) { - // - // Make a box and move the contents of svg to it, - // then add it back into svg, but offset by the left amount - // - var dup = BBOX(); for (id in svg) {if (svg.hasOwnProperty(id)) {dup[id] = svg[id]}} - dup.x = 0; dup.y = 0; - svg.element = SVG.Element("g"); svg.removeable = true; - svg.Add(dup,bleft+pleft,0); - } - // - // Adjust size by padding and dashed borders (left is taken care of above) - // - if (padding) {svg.w += padding.right||0; svg.h += padding.top||0; svg.d += padding.bottom||0} - if (borders) {svg.w += borders.right||0; svg.h += borders.top||0; svg.d += borders.bottom||0} - // - // Add background color - // - if (values.background !== MML.COLOR.TRANSPARENT) { - var nodeName = svg.element.nodeName.toLowerCase(); - if (nodeName !== "g" && nodeName !== "svg") { - var g = SVG.Element("g"); g.appendChild(svg.element); - svg.element = g; svg.removeable = true; - } - svg.Add(BBOX.RECT(svg.h,svg.d,svg.w,{fill:values.background,stroke:"none"}),0,0,false,true) - } - // - // Add borders - // - if (borders) { - var dd = 5; // fuzz factor to avoid anti-alias problems at edges - var sides = { - left: ["V",svg.h+svg.d,-dd,-svg.d], - right: ["V",svg.h+svg.d,svg.w-borders.right+dd,-svg.d], - top: ["H",svg.w,0,svg.h-borders.top+dd], - bottom:["H",svg.w,0,-svg.d-dd] - } - for (id in sides) {if (sides.hasOwnProperty(id)) { - if (borders[id]) { - var side = sides[id], box = BBOX[side[0]+"LINE"]; - svg.Add(box(side[1],borders[id],borders[id+"Style"],borders[id+"Color"]),side[2],side[3]); - } - }} - } - }, - - SVGhandleVariant: function (variant,scale,text) { - return SVG.HandleVariant(variant,scale,text); - }, - - SVGgetVariant: function () { - var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle"); - var variant = values.mathvariant; - if (this.variantForm) variant = "-"+SVG.fontInUse+"-variant"; - values.hasVariant = this.Get("mathvariant",true); // null if not explicitly specified - if (!values.hasVariant) { - values.family = values.fontfamily; - values.weight = values.fontweight; - values.style = values.fontstyle; - } - if (this.styles) { - if (!values.style && this.styles.fontStyle) {values.style = this.styles.fontStyle} - if (!values.weight && this.styles.fontWeight) {values.weight = this.styles.fontWeight} - if (!values.family && this.styles.fontFamily) {values.family = this.styles.fontFamily} - } - if (values.family && !values.hasVariant) { - if (!values.weight && values.mathvariant.match(/bold/)) {values.weight = "bold"} - if (!values.style && values.mathvariant.match(/italic/)) {values.style = "italic"} - variant = {forceFamily: true, font: {"font-family":values.family}}; - if (values.style) {variant.font["font-style"] = values.style} - if (values.weight) {variant.font["font-weight"] = values.weight} - return variant; - } - if (values.weight === "bold") { - variant = { - normal:MML.VARIANT.BOLD, italic:MML.VARIANT.BOLDITALIC, - fraktur:MML.VARIANT.BOLDFRAKTUR, script:MML.VARIANT.BOLDSCRIPT, - "sans-serif":MML.VARIANT.BOLDSANSSERIF, - "sans-serif-italic":MML.VARIANT.SANSSERIFBOLDITALIC - }[variant]||variant; - } else if (values.weight === "normal") { - variant = { - bold:MML.VARIANT.normal, "bold-italic":MML.VARIANT.ITALIC, - "bold-fraktur":MML.VARIANT.FRAKTUR, "bold-script":MML.VARIANT.SCRIPT, - "bold-sans-serif":MML.VARIANT.SANSSERIF, - "sans-serif-bold-italic":MML.VARIANT.SANSSERIFITALIC - }[variant]||variant; - } - if (values.style === "italic") { - variant = { - normal:MML.VARIANT.ITALIC, bold:MML.VARIANT.BOLDITALIC, - "sans-serif":MML.VARIANT.SANSSERIFITALIC, - "bold-sans-serif":MML.VARIANT.SANSSERIFBOLDITALIC - }[variant]||variant; - } else if (values.style === "normal") { - variant = { - italic:MML.VARIANT.NORMAL, "bold-italic":MML.VARIANT.BOLD, - "sans-serif-italic":MML.VARIANT.SANSSERIF, - "sans-serif-bold-italic":MML.VARIANT.BOLDSANSSERIF - }[variant]||variant; - } - if (!(variant in SVG.FONTDATA.VARIANT)) { - // If the mathvariant value is invalid or not supported by this - // font, fallback to normal. See issue 363. - variant = "normal"; - } - return SVG.FONTDATA.VARIANT[variant]; - }, - - SVGgetScale: function (svg) { - var scale = 1; - if (this.mscale) { - scale = this.scale; - } else { - var values = this.getValues("scriptlevel","fontsize"); - values.mathsize = (this.isToken ? this : this.Parent()).Get("mathsize"); - if ((this.styles||{}).fontSize && !values.fontsize) {values.fontsize = this.styles.fontSize} - if (values.fontsize && !this.mathsize) {values.mathsize = values.fontsize} - if (values.scriptlevel !== 0) { - if (values.scriptlevel > 2) {values.scriptlevel = 2} - scale = Math.pow(this.Get("scriptsizemultiplier"),values.scriptlevel); - values.scriptminsize = SVG.length2em(this.Get("scriptminsize"))/1000; - if (scale < values.scriptminsize) {scale = values.scriptminsize} - } - this.scale = scale; this.mscale = SVG.length2em(values.mathsize)/1000; - } - if (svg) {svg.scale = scale; if (this.isToken) {svg.scale *= this.mscale}} - return scale * this.mscale; - }, - SVGgetMu: function (svg) { - var mu = 1, values = this.getValues("scriptlevel","scriptsizemultiplier"); - if (svg.scale && svg.scale !== 1) {mu = 1/svg.scale} - if (values.scriptlevel !== 0) { - if (values.scriptlevel > 2) {values.scriptlevel = 2} - mu = Math.sqrt(Math.pow(values.scriptsizemultiplier,values.scriptlevel)); - } - return mu; - }, - - SVGnotEmpty: function (data) { - while (data) { - if ((data.type !== "mrow" && data.type !== "texatom") || - data.data.length > 1) {return true} - data = data.data[0]; - } - return false; - }, - - SVGcanStretch: function (direction) { - var can = false; - if (this.isEmbellished()) { - var core = this.Core(); - if (core && core !== this) { - can = core.SVGcanStretch(direction); - if (can && core.forceStretch) {this.forceStretch = true} - } - } - return can; - }, - SVGstretchV: function (h,d) {return this.toSVG(h,d)}, - SVGstretchH: function (w) {return this.toSVG(w)}, - - SVGlineBreaks: function () {return false} - - },{ - SVGemptySVG: function () { - var svg = this.SVG(); - svg.Clean(); - this.SVGsaveData(svg); - return svg; - }, - SVGautoload: function () { - this.constructor.Augment({toSVG: MML.mbase.SVGautoloadFail}); - var file = SVG.autoloadDir+"/"+this.type+".js"; - HUB.RestartAfter(AJAX.Require(file)); - }, - SVGautoloadFail: function () { - throw Error("SVG can't autoload '"+ this.type + "'"); - }, - SVGautoloadList: {}, - SVGautoloadFile: function (name) { - if (MML.mbase.SVGautoloadList.hasOwnProperty(name)) { - throw Error("SVG can't autoload file '"+name+"'"); - } - MML.mbase.SVGautoloadList[name] = true; - var file = SVG.autoloadDir+"/"+name+".js"; - HUB.RestartAfter(AJAX.Require(file)); - } - }); - - MML.chars.Augment({ - toSVG: function (variant,scale,remap,chars) { - var text = this.data.join("").replace(/[\u2061-\u2064]/g,""); // remove invisibles - if (remap) {text = remap(text,chars)} - return this.SVGhandleVariant(variant,scale,text); - } - }); - MML.entity.Augment({ - toSVG: function (variant,scale,remap,chars) { - var text = this.toString().replace(/[\u2061-\u2064]/g,""); // remove invisibles - if (remap) {text = remap(text,chars)} - return this.SVGhandleVariant(variant,scale,text); - } - }); - - MML.mo.Augment({ - toSVG: function (HW,D) { - this.SVGgetStyles(); - var svg = this.svg = this.SVG(); - var scale = this.SVGgetScale(svg); - this.SVGhandleSpace(svg); - if (this.data.length == 0) {svg.Clean(); this.SVGsaveData(svg); return svg} - // - // Stretch the operator, if that is requested - // - if (D != null) {return this.SVGstretchV(HW,D)} - else if (HW != null) {return this.SVG.strechH(HW)} - // - // Get the variant, and check for operator size - // - var variant = this.SVGgetVariant(); - var values = this.getValues("largeop","displaystyle"); - if (values.largeop) - {variant = SVG.FONTDATA.VARIANT[values.displaystyle ? "-largeOp" : "-smallOp"]} - // - // Get character translation for superscript and accents - // - var parent = this.CoreParent(), - isScript = (parent && parent.isa(MML.msubsup) && this !== parent.data[0]), - mapchars = (isScript?this.remapChars:null); - if (SVG.isChar(this.data.join("")) && parent && parent.isa(MML.munderover) && - SVG.isChar(this.CoreText(parent.data[parent.base]))) { - var over = parent.data[parent.over], under = parent.data[parent.under]; - if (over && this === over.CoreMO() && parent.Get("accent")) {mapchars = SVG.FONTDATA.REMAPACCENT} - else if (under && this === under.CoreMO() && parent.Get("accentunder")) {mapchars = SVG.FONTDATA.REMAPACCENTUNDER} - } - // - // Primes must come from another font - // - if (isScript && this.data.join("").match(/['`"\u00B4\u2032-\u2037\u2057]/)) - {variant = SVG.FONTDATA.VARIANT["-"+SVG.fontInUse+"-variant"]} - // - // Typeset contents - // - for (var i = 0, m = this.data.length; i < m; i++) { - if (this.data[i]) { - var text = this.data[i].toSVG(variant,scale,this.remap,mapchars), x = svg.w; - if (x === 0 && -text.l > 10*text.w) {x += -text.l} // initial combining character doesn't combine - svg.Add(text,x,0,true); - if (text.skew) {svg.skew = text.skew} - } - } - svg.Clean(); - if (!SVG.isChar(this.data.join(""))) {delete svg.skew} - // - // Handle large operator centering - // - if (values.largeop) { - svg.y = SVG.TeX.axis_height - (svg.h - svg.d)/2/scale; - if (svg.r > svg.w) {svg.ic = svg.r - svg.w; svg.w = svg.r} - } - // - // Finish up - // - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - }, - SVGcanStretch: function (direction) { - if (!this.Get("stretchy")) {return false} - var c = this.data.join(""); - if (c.length > 1) {return false} - var parent = this.CoreParent(); - if (parent && parent.isa(MML.munderover) && - SVG.isChar(this.CoreText(parent.data[parent.base]))) { - var over = parent.data[parent.over], under = parent.data[parent.under]; - if (over && this === over.CoreMO() && parent.Get("accent")) {c = SVG.FONTDATA.REMAPACCENT[c]||c} - else if (under && this === under.CoreMO() && parent.Get("accentunder")) {c = SVG.FONTDATA.REMAPACCENTUNDER[c]||c} - } - c = SVG.FONTDATA.DELIMITERS[c.charCodeAt(0)]; - var can = (c && c.dir == direction.substr(0,1)); - if (!can) {delete this.svg} - this.forceStretch = can && (this.Get("minsize",true) || this.Get("maxsize",true)); - return can; - }, - SVGstretchV: function (h,d) { - var svg = this.svg || this.toSVG(); - var values = this.getValues("symmetric","maxsize","minsize"); - var axis = SVG.TeX.axis_height*svg.scale, mu = this.SVGgetMu(svg), H; - if (values.symmetric) {H = 2*Math.max(h-axis,d+axis)} else {H = h + d} - values.maxsize = SVG.length2em(values.maxsize,mu,svg.h+svg.d); - values.minsize = SVG.length2em(values.minsize,mu,svg.h+svg.d); - H = Math.max(values.minsize,Math.min(values.maxsize,H)); - if (H != values.minsize) - {H = [Math.max(H*SVG.TeX.delimiterfactor/1000,H-SVG.TeX.delimitershortfall),H]} - svg = SVG.createDelimiter(this.data.join("").charCodeAt(0),H,svg.scale); - if (values.symmetric) {H = (svg.h + svg.d)/2 + axis} - else {H = (svg.h + svg.d) * h/(h + d)} - svg.y = H - svg.h; - this.SVGhandleSpace(svg); - this.SVGhandleColor(svg); - delete this.svg.element; - this.SVGsaveData(svg); - svg.stretched = true; - return svg; - }, - SVGstretchH: function (w) { - var svg = this.svg || this.toSVG(), mu = this.SVGgetMu(svg); - var values = this.getValues("maxsize","minsize","mathvariant","fontweight"); - // FIXME: should take style="font-weight:bold" into account as well - if ((values.fontweight === "bold" || parseInt(values.fontweight) >= 600) && - !this.Get("mathvariant",true)) {values.mathvariant = MML.VARIANT.BOLD} - values.maxsize = SVG.length2em(values.maxsize,mu,svg.w); - values.minsize = SVG.length2em(values.minsize,mu,svg.w); - w = Math.max(values.minsize,Math.min(values.maxsize,w)); - svg = SVG.createDelimiter(this.data.join("").charCodeAt(0),w,svg.scale,values.mathvariant); - this.SVGhandleSpace(svg); - this.SVGhandleColor(svg); - delete this.svg.element; - this.SVGsaveData(svg); - svg.stretched = true; - return svg; - } - }); - - MML.mn.Augment({ - SVGremapMinus: function (text) {return text.replace(/^-/,"\u2212")}, - toSVG: function () { - this.SVGgetStyles(); - var variant = this.SVGgetVariant(); - var svg = this.SVG(); this.SVGgetScale(svg); - this.SVGhandleSpace(svg); - var remap = this.SVGremapMinus; - for (var i = 0, m = this.data.length; i < m; i++) { - if (this.data[i]) { - var child = svg.Add(this.data[i].toSVG(variant,svg.scale,remap),svg.w,0,true); - if (child.skew) {svg.skew = child.skew} - remap = null; - } - } - svg.Clean(); var text = this.data.join(""); - if (svg.skew && !SVG.isChar(text)) {delete svg.skew} - if (svg.r > svg.w && SVG.isChar(text) && !variant.noIC) - {svg.ic = svg.r - svg.w; svg.w = svg.r} - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - }, - }), - - MML.mtext.Augment({ - toSVG: function () { - if (SVG.config.mtextFontInherit || this.Parent().type === "merror") { - this.SVGgetStyles(); - var svg = this.SVG(), scale = this.SVGgetScale(svg); - this.SVGhandleSpace(svg); - var variant = this.SVGgetVariant(), def = {direction:this.Get("dir")}; - if (variant.bold) {def["font-weight"] = "bold"} - if (variant.italic) {def["font-style"] = "italic"} - variant = this.Get("mathvariant"); - if (variant === "monospace") {def["class"] = "MJX-monospace"} - else if (variant.match(/sans-serif/)) {def["class"] = "MJX-sans-serif"} - svg.Add(BBOX.TEXT(scale*100/SVG.config.scale,this.data.join(""),def)); svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - } else { - return this.SUPER(arguments).toSVG.call(this); - } - } - }); - - MML.merror.Augment({ - toSVG: function (HW,D) { - this.SVGgetStyles(); - var svg = this.SVG(), scale = SVG.length2em(this.styles.fontSize||1)/1000; - this.SVGhandleSpace(svg); - var def = (scale !== 1 ? {transform:"scale("+SVG.Fixed(scale)+")"} : {}); - var bbox = BBOX(def); - bbox.Add(this.SVGchildSVG(0)); bbox.Clean(); - if (scale !== 1) { - bbox.removeable = false; - var adjust = ["w","h","d","l","r","D","H"]; - for (var i = 0, m = adjust.length; i < m; i++) {bbox[adjust[i]] *= scale} - } - svg.Add(bbox); svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - }, - SVGgetStyles: function () { - var span = HTML.Element("span",{style: SVG.config.merrorStyle}); - this.styles = this.SVGprocessStyles(span.style); - if (this.style) { - span.style.cssText = this.style; - HUB.Insert(this.styles,this.SVGprocessStyles(span.style)); - } - } - }); - - MML.ms.Augment({toSVG: MML.mbase.SVGautoload}); - - MML.mglyph.Augment({toSVG: MML.mbase.SVGautoload}); - - MML.mspace.Augment({ - toSVG: function () { - this.SVGgetStyles(); - var values = this.getValues("height","depth","width"); - values.mathbackground = this.mathbackground; - if (this.background && !this.mathbackground) {values.mathbackground = this.background} - var svg = this.SVG(); this.SVGgetScale(svg); - var scale = this.mscale, mu = this.SVGgetMu(svg); - svg.h = SVG.length2em(values.height,mu) * scale; - svg.d = SVG.length2em(values.depth,mu) * scale; - svg.w = svg.r = SVG.length2em(values.width,mu) * scale; - if (svg.w < 0) {svg.x = svg.w; svg.w = svg.r = 0} - if (svg.h < -svg.d) {svg.d = -svg.h} - svg.l = 0; svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - } - }); - - MML.mphantom.Augment({ - toSVG: function (HW,D) { - this.SVGgetStyles(); - var svg = this.SVG(); this.SVGgetScale(svg); - if (this.data[0] != null) { - this.SVGhandleSpace(svg); svg.Add(this.SVGdataStretched(0,HW,D)); svg.Clean(); - while (svg.element.firstChild) {svg.element.removeChild(svg.element.firstChild)} - } - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - if (svg.removeable && !svg.element.firstChild) {delete svg.element} - return svg; - } - }); - - MML.mpadded.Augment({ - toSVG: function (HW,D) { - this.SVGgetStyles(); - var svg = this.SVG(); - if (this.data[0] != null) { - this.SVGgetScale(svg); this.SVGhandleSpace(svg); - var pad = this.SVGdataStretched(0,HW,D), mu = this.SVGgetMu(svg); - var values = this.getValues("height","depth","width","lspace","voffset"), X = 0, Y = 0; - if (values.lspace) {X = this.SVGlength2em(pad,values.lspace,mu)} - if (values.voffset) {Y = this.SVGlength2em(pad,values.voffset,mu)} - var h = pad.h, d = pad.d, w = pad.w, y = pad.y; // these can change during the Add() - svg.Add(pad,X,Y); svg.Clean(); - svg.h = h+y; svg.d = d-y; svg.w = w; svg.removeable = false; - if (values.height !== "") {svg.h = this.SVGlength2em(svg,values.height,mu,"h",0)} - if (values.depth !== "") {svg.d = this.SVGlength2em(svg,values.depth,mu,"d",0)} - if (values.width !== "") {svg.w = this.SVGlength2em(svg,values.width,mu,"w",0)} - if (svg.h > svg.H) {svg.H = svg.h}; if (svg.d > svg.D) {svg.D = svg.d} - } - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - }, - SVGlength2em: function (svg,length,mu,d,m) { - if (m == null) {m = -SVG.BIGDIMEN} - var match = String(length).match(/width|height|depth/); - var size = (match ? svg[match[0].charAt(0)] : (d ? svg[d] : 0)); - var v = SVG.length2em(length,mu,size/this.mscale)*this.mscale; - if (d && String(length).match(/^\s*[-+]/)) - {return Math.max(m,svg[d]+v)} else {return v} - } - }); - - MML.mrow.Augment({ - SVG: BBOX.ROW, - toSVG: function (h,d) { - this.SVGgetStyles(); - var svg = this.SVG(); - this.SVGhandleSpace(svg); - if (d != null) {svg.sh = h; svg.sd = d} - for (var i = 0, m = this.data.length; i < m; i++) - {if (this.data[i]) {svg.Check(this.data[i])}} - svg.Stretch(); svg.Clean(); - if (this.data.length === 1 && this.data[0]) { - var data = this.data[0].SVGdata; - if (data.skew) {svg.skew = data.skew} - } - if (this.SVGlineBreaks(svg)) {svg = this.SVGmultiline(svg)} - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - }, - SVGlineBreaks: function (svg) { - if (!this.parent.linebreakContainer) {return false} - return (SVG.config.linebreaks.automatic && - svg.w > SVG.linebreakWidth) || this.hasNewline(); - }, - SVGmultiline: function (span) {MML.mbase.SVGautoloadFile("multiline")}, - SVGstretchH: function (w) { - var svg = this.SVG(); - this.SVGhandleSpace(svg); - for (var i = 0, m = this.data.length; i < m; i++) - {svg.Add(this.SVGdataStretched(i,w),svg.w,0)} - svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - } - }); - - MML.mstyle.Augment({ - toSVG: function () { - this.SVGgetStyles(); - var svg = this.SVG(); - if (this.data[0] != null) { - this.SVGhandleSpace(svg); - var math = svg.Add(this.data[0].toSVG()); svg.Clean(); - if (math.ic) {svg.ic = math.ic} - this.SVGhandleColor(svg); - } - this.SVGsaveData(svg); - return svg; - }, - SVGstretchH: function (w) { - return (this.data[0] != null ? this.data[0].SVGstretchH(w) : BBOX.NULL()); - }, - SVGstretchV: function (h,d) { - return (this.data[0] != null ? this.data[0].SVGstretchV(h,d) : BBOX.NULL()); - } - }); - - MML.mfrac.Augment({ - toSVG: function () { - this.SVGgetStyles(); - var svg = this.SVG(), scale = this.SVGgetScale(svg); - var frac = BBOX(); frac.scale = svg.scale; this.SVGhandleSpace(frac); - var num = this.SVGchildSVG(0), den = this.SVGchildSVG(1); - var values = this.getValues("displaystyle","linethickness","numalign","denomalign","bevelled"); - var isDisplay = values.displaystyle; - var a = SVG.TeX.axis_height * scale; - if (values.bevelled) { - var delta = (isDisplay ? 400 : 150); - var H = Math.max(num.h+num.d,den.h+den.d)+2*delta; - var bevel = SVG.createDelimiter(0x2F,H); - frac.Add(num,0,(num.d-num.h)/2+a+delta); - frac.Add(bevel,num.w-delta/2,(bevel.d-bevel.h)/2+a); - frac.Add(den,num.w+bevel.w-delta,(den.d-den.h)/2+a-delta); - } else { - var W = Math.max(num.w,den.w); - var t = SVG.thickness2em(values.linethickness,this.scale)*this.mscale, p,q, u,v; - var mt = SVG.TeX.min_rule_thickness/SVG.em * 1000; - if (isDisplay) {u = SVG.TeX.num1; v = SVG.TeX.denom1} - else {u = (t === 0 ? SVG.TeX.num3 : SVG.TeX.num2); v = SVG.TeX.denom2} - u *= scale; v *= scale; - if (t === 0) {// \atop - p = Math.max((isDisplay ? 7 : 3) * SVG.TeX.rule_thickness, 2*mt); // force to at least 2 px - q = (u - num.d) - (den.h - v); - if (q < p) {u += (p - q)/2; v += (p - q)/2} - frac.w = W; t = 0; - } else {// \over - p = Math.max((isDisplay ? 2 : 0) * mt + t, t/2 + 1.5*mt); // force to be at least 1.5px - q = (u - num.d) - (a + t/2); if (q < p) {u += p - q} - q = (a - t/2) - (den.h - v); if (q < p) {v += p - q} - frac.Add(BBOX.RECT(t/2,t/2,W+2*t),0,a); - } - frac.Align(num,values.numalign,t,u); - frac.Align(den,values.denomalign,t,-v); - } - frac.Clean(); svg.Add(frac,0,0); svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - }, - SVGcanStretch: function (direction) {return false}, - SVGhandleSpace: function (svg) { - if (!this.texWithDelims) { - // - // Add nulldelimiterspace around the fraction - // (TeXBook pg 150 and Appendix G rule 15e) - // - svg.x = svg.X = SVG.TeX.nulldelimiterspace * this.mscale; - } - this.SUPER(arguments).SVGhandleSpace.call(this,svg); - } - }); - - MML.msqrt.Augment({ - toSVG: function () { - this.SVGgetStyles(); - var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); - var base = this.SVGchildSVG(0), rule, surd; - var t = SVG.TeX.rule_thickness * scale, p,q, H, x = 0; - if (this.Get("displaystyle")) {p = SVG.TeX.x_height * scale} else {p = t} - q = Math.max(t + p/4,1000*SVG.TeX.min_root_space/SVG.em); - H = base.h + base.d + q + t; - surd = SVG.createDelimiter(0x221A,H,scale); - if (surd.h + surd.d > H) {q = ((surd.h+surd.d) - (H-t)) / 2} - rule = BBOX.RECT(t,0,base.w); - H = base.h + q + t; - x = this.SVGaddRoot(svg,surd,x,surd.h+surd.d-H,scale); - svg.Add(surd,x,H-surd.h); - svg.Add(rule,x+surd.w,H-rule.h); - svg.Add(base,x+surd.w,0); - svg.Clean(); - svg.h += t; svg.H += t; - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - }, - SVGaddRoot: function (svg,surd,x,d,scale) {return x} - }); - - MML.mroot.Augment({ - toSVG: MML.msqrt.prototype.toSVG, - SVGaddRoot: function (svg,surd,x,d,scale) { - var dx = (surd.isMultiChar ? .55 : .65) * surd.w; - if (this.data[1]) { - var root = this.data[1].toSVG(); root.x = 0; - var h = this.SVGrootHeight(surd.h+surd.d,scale,root)-d; - var w = Math.min(root.w,root.r); // remove extra right-hand padding, if any - x = Math.max(w,dx); - svg.Add(root,x-w,h); - } else {dx = x} - return x - dx; - }, - SVGrootHeight: function (d,scale,root) { - return .45*(d-900*scale) + 600*scale + Math.max(0,root.d-75); - } - }); - - MML.mfenced.Augment({ - SVG: BBOX.ROW, - toSVG: function () { - this.SVGgetStyles(); - var svg = this.SVG(); - this.SVGhandleSpace(svg); - if (this.data.open) {svg.Check(this.data.open)} - if (this.data[0] != null) {svg.Check(this.data[0])} - for (var i = 1, m = this.data.length; i < m; i++) { - if (this.data[i]) { - if (this.data["sep"+i]) {svg.Check(this.data["sep"+i])} - svg.Check(this.data[i]); - } - } - if (this.data.close) {svg.Check(this.data.close)} - svg.Stretch(); svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - } - }); - - MML.menclose.Augment({toSVG: MML.mbase.SVGautoload}); - MML.maction.Augment({toSVG: MML.mbase.SVGautoload}); - - MML.semantics.Augment({ - toSVG: function () { - this.SVGgetStyles(); - var svg = this.SVG(); - if (this.data[0] != null) { - this.SVGhandleSpace(svg); - svg.Add(this.data[0].toSVG()); svg.Clean(); - } else {svg.Clean()} - this.SVGsaveData(svg); - return svg; - }, - SVGstretchH: function (w) { - return (this.data[0] != null ? this.data[0].SVGstretchH(w) : BBOX.NULL()); - }, - SVGstretchV: function (h,d) { - return (this.data[0] != null ? this.data[0].SVGstretchV(h,d) : BBOX.NULL()); - } - }); - - MML.munderover.Augment({ - toSVG: function (HW,D) { - this.SVGgetStyles(); - var values = this.getValues("displaystyle","accent","accentunder","align"); - var base = this.data[this.base]; - if (!values.displaystyle && base != null && - (base.movablelimits || base.CoreMO().Get("movablelimits"))) - {return MML.msubsup.prototype.toSVG.call(this)} - var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); - var boxes = [], stretch = [], box, i, m, W = -SVG.BIGDIMEN, WW = W, ww; - for (i = 0, m = this.data.length; i < m; i++) { - if (this.data[i] != null) { - if (i == this.base) { - box = boxes[i] = this.SVGdataStretched(i,HW,D); - stretch[i] = (D != null || HW == null) && this.data[i].SVGcanStretch("Horizontal"); - if (this.data[this.over] && values.accent) { - box.h = Math.max(box.h,scale*SVG.TeX.x_height); // min height of 1ex (#1706) - } - } else { - box = boxes[i] = this.data[i].toSVG(); box.x = 0; delete box.X; - stretch[i] = this.data[i].SVGcanStretch("Horizontal"); - } - ww = box.w + box.x + (box.X || 0); - if (ww > WW) {WW = ww} - if (!stretch[i] && WW > W) {W = WW} - } - } - if (D == null && HW != null) {W = HW} else if (W == -SVG.BIGDIMEN) {W = WW} - for (i = WW = 0, m = this.data.length; i < m; i++) {if (this.data[i]) { - box = boxes[i]; - if (stretch[i]) { - box = boxes[i] = this.data[i].SVGstretchH(W); - if (i !== this.base) {box.x = 0; delete box.X} - } - ww = box.w + box.x + (box.X || 0); - if (ww > WW) {WW = ww} - }} - var t = SVG.TeX.rule_thickness * this.mscale; - var x, y, z1, z2, z3, dw, k, delta = 0; - base = boxes[this.base] || {w:0, h:0, d:0, H:0, D:0, l:0, r:0, y:0, scale:scale}; - if (base.ic) {delta = 1.3*base.ic + .05} // adjust faked IC to be more in line with expeted results - for (i = 0, m = this.data.length; i < m; i++) { - if (this.data[i] != null) { - box = boxes[i]; - z3 = SVG.TeX.big_op_spacing5 * scale; - var accent = (i != this.base && values[this.ACCENTS[i]]); - if (accent && box.w <= 1) { - box.x = -box.l; - boxes[i] = BBOX.G().With({removeable: false}); - boxes[i].Add(box); boxes[i].Clean(); - boxes[i].w = -box.l; box = boxes[i]; - } - ww = box.w + box.x + (box.X || 0); - dw = {left:0, center:(WW-ww)/2, right:WW-ww}[values.align]; - x = dw; y = 0; - if (i == this.over) { - if (accent) { - k = t * scale; z3 = 0; - if (base.skew) { - x += base.skew; svg.skew = base.skew; - if (x+ww > WW) {svg.skew += (WW-ww-x)/2} - } - } else { - z1 = SVG.TeX.big_op_spacing1 * scale; - z2 = SVG.TeX.big_op_spacing3 * scale; - k = Math.max(z1,z2-Math.max(0,box.d)); - } - k = Math.max(k,1500/SVG.em); - x += delta/2; y = base.y + base.h + box.d + k; - box.h += z3; if (box.h > box.H) {box.H = box.h} - } else if (i == this.under) { - if (accent) { - k = 3*t * scale; z3 = 0; - } else { - z1 = SVG.TeX.big_op_spacing2 * scale; - z2 = SVG.TeX.big_op_spacing4 * scale; - k = Math.max(z1,z2-box.h); - } - k = Math.max(k,1500/SVG.em); - x -= delta/2; y = base.y -(base.d + box.h + k); - box.d += z3; if (box.d > box.D) {box.D = box.d} - } - svg.Add(box,x,y); - } - } - svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - } - }); - - MML.msubsup.Augment({ - toSVG: function (HW,D) { - this.SVGgetStyles(); - var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); - var mu = this.SVGgetMu(svg); - var base = svg.Add(this.SVGdataStretched(this.base,HW,D)); - var sscale = (this.data[this.sup] || this.data[this.sub] || this).SVGgetScale(); - var x_height = SVG.TeX.x_height * scale, s = SVG.TeX.scriptspace * scale; - var sup, sub; - if (this.SVGnotEmpty(this.data[this.sup])) { - sup = this.data[this.sup].toSVG(); - sup.w += s; sup.r = Math.max(sup.w,sup.r); - } - if (this.SVGnotEmpty(this.data[this.sub])) { - sub = this.data[this.sub].toSVG(); - sub.w += s; sub.r = Math.max(sub.w,sub.r); - } - var q = SVG.TeX.sup_drop * sscale, r = SVG.TeX.sub_drop * sscale; - var u = base.h+(base.y||0) - q, v = base.d-(base.y||0) + r, delta = 0, p; - if (base.ic) { - base.w -= base.ic; // remove IC (added by mo and mi) - delta = 1.3*base.ic+.05; // adjust faked IC to be more in line with expeted results - } - if (this.data[this.base] && - (this.data[this.base].type === "mi" || this.data[this.base].type === "mo")) { - if (SVG.isChar(this.data[this.base].data.join("")) && base.scale === 1 && - !base.stretched && !this.data[this.base].Get("largeop")) {u = v = 0} - } - var min = this.getValues("subscriptshift","superscriptshift"); - min.subscriptshift = (min.subscriptshift === "" ? 0 : SVG.length2em(min.subscriptshift,mu)); - min.superscriptshift = (min.superscriptshift === "" ? 0 : SVG.length2em(min.superscriptshift,mu)); - var x = base.w + base.x; - if (!sup) { - if (sub) { - v = Math.max(v,SVG.TeX.sub1*scale,sub.h-(4/5)*x_height,min.subscriptshift); - svg.Add(sub,x,-v); this.data[this.sub].SVGdata.dy = -v; - } - } else { - if (!sub) { - var values = this.getValues("displaystyle","texprimestyle"); - p = SVG.TeX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; - u = Math.max(u,p*scale,sup.d+(1/4)*x_height,min.superscriptshift); - svg.Add(sup,x+delta,u); - this.data[this.sup].SVGdata.dx = delta; - this.data[this.sup].SVGdata.dy = u; - } else { - v = Math.max(v,SVG.TeX.sub2*scale); - var t = SVG.TeX.rule_thickness * scale; - if ((u - sup.d) - (sub.h - v) < 3*t) { - v = 3*t - u + sup.d + sub.h; - q = (4/5)*x_height - (u - sup.d); - if (q > 0) {u += q; v -= q} - } - svg.Add(sup,x+delta,Math.max(u,min.superscriptshift)); - svg.Add(sub,x,-Math.max(v,min.subscriptshift)); - this.data[this.sup].SVGdata.dx = delta; - this.data[this.sup].SVGdata.dy = Math.max(u,min.superscriptshift); - this.data[this.sub].SVGdata.dy = -Math.max(v,min.subscriptshift); - } - } - svg.Clean(); - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - } - }); - - MML.mmultiscripts.Augment({toSVG: MML.mbase.SVGautoload}); - MML.mtable.Augment({toSVG: MML.mbase.SVGautoload}); - MML["annotation-xml"].Augment({toSVG: MML.mbase.SVGautoload}); - - MML.math.Augment({ - SVG: BBOX.Subclass({type:"svg", removeable: false}), - toSVG: function (span,div) { - var CONFIG = SVG.config; - // - // All the data should be in an inferrerd row - // - if (this.data[0]) { - this.SVGgetStyles(); - MML.mbase.prototype.displayAlign = HUB.config.displayAlign; - MML.mbase.prototype.displayIndent = HUB.config.displayIndent; - if (String(HUB.config.displayIndent).match(/^0($|[a-z%])/i)) - MML.mbase.prototype.displayIndent = "0"; - // - // Put content in a with defaults and matrix that flips y axis. - // Put that in an with xlink defined. - // - var box = BBOX.G(); box.Add(this.data[0].toSVG(),0,0,true); box.Clean(); - this.SVGhandleColor(box); - SVG.Element(box.element,{ - stroke:"currentColor", fill:"currentColor", "stroke-width":0, - transform: "matrix(1 0 0 -1 0 0)" - }); - box.removeable = false; - var svg = this.SVG(); - svg.element.setAttribute("xmlns:xlink",XLINKNS); - if (CONFIG.useFontCache && !CONFIG.useGlobalCache) - {svg.element.appendChild(BBOX.GLYPH.defs)} - svg.Add(box); svg.Clean(); - this.SVGsaveData(svg); - // - // If this element is not the top-level math element - // remove the transform and return the svg object - // (issue #614). - // - if (!span) { - svg.element = svg.element.firstChild; // remove element - svg.element.removeAttribute("transform"); - svg.removable = true; - return svg; - } - // - // Style the to get the right size and placement - // - var l = Math.max(-svg.l,0), r = Math.max(svg.r-svg.w,0); - var style = svg.element.style, px = SVG.TeX.x_height/SVG.ex; - var H = (Math.ceil(svg.H/px)+1)*px+SVG.HFUZZ, // round to pixels and add padding - D = (Math.ceil(svg.D/px)+1)*px+SVG.DFUZZ; - var w = l + svg.w + r; - svg.element.setAttribute("width",SVG.Ex(w)); - svg.element.setAttribute("height",SVG.Ex(H+D)); - style.verticalAlign = SVG.Ex(-D); - if (l) style.marginLeft = SVG.Ex(-l); - if (r) style.marginRight = SVG.Ex(-r); - svg.element.setAttribute("viewBox",SVG.Fixed(-l,1)+" "+SVG.Fixed(-H,1)+" "+ - SVG.Fixed(w,1)+" "+SVG.Fixed(H+D,1)); - // - // If there is extra height or depth, hide that - // - if (svg.H > svg.h) style.marginTop = SVG.Ex(svg.h-H); - if (svg.D > svg.d) { - style.marginBottom = SVG.Ex(svg.d-D); - style.verticalAlign = SVG.Ex(-svg.d); - } - // - // The approximate ex can cause full-width equations to be too wide, - // so if they are close to full width, make sure they aren't too big. - // - if (Math.abs(w-SVG.cwidth) < 10) - style.maxWidth = SVG.Fixed(SVG.cwidth*SVG.em/1000*SVG.config.scale) + "px"; - // - // Add it to the MathJax span - // - var alttext = this.Get("alttext"); - if (alttext && !svg.element.getAttribute("aria-label")) svg.element.setAttribute("aria-label",alttext); - if (!svg.element.getAttribute("role")) svg.element.setAttribute("role","img"); - svg.element.setAttribute("focusable","false"); - span.appendChild(svg.element); - svg.element = null; - // - // Handle indentalign and indentshift for single-line displays - // - if (!this.isMultiline && this.Get("display") === "block" && !svg.hasIndent) { - var values = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); - if (values.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) {values.indentalign = values.indentalignfirst} - if (values.indentalign === MML.INDENTALIGN.AUTO) {values.indentalign = this.displayAlign} - if (values.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) {values.indentshift = values.indentshiftfirst} - if (values.indentshift === "auto") {values.indentshift = "0"} - var shift = SVG.length2em(values.indentshift,1,SVG.cwidth); - if (this.displayIndent !== "0") { - var indent = SVG.length2em(this.displayIndent,1,SVG.cwidth); - shift += (values.indentalign === MML.INDENTALIGN.RIGHT ? -indent : indent); - } - div.style.textAlign = values.indentalign; - if (shift) { - HUB.Insert(style,({ - left: {marginLeft: SVG.Ex(shift)}, - right: {marginRight: SVG.Ex(-shift), marginLeft: SVG.Ex(Math.max(0,shift-w))}, - center: {marginLeft: SVG.Ex(shift), marginRight: SVG.Ex(-shift)} - })[values.indentalign]); - } - } - } - return span; - } - }); - - MML.TeXAtom.Augment({ - toSVG: function (HW,D) { - this.SVGgetStyles(); - var svg = this.SVG(); - this.SVGhandleSpace(svg); - if (this.data[0] != null) { - var box = this.SVGdataStretched(0,HW,D), y = 0; - if (this.texClass === MML.TEXCLASS.VCENTER) - {y = SVG.TeX.axis_height - (box.h+box.d)/2 + box.d} - svg.Add(box,0,y); - svg.ic = box.ic; svg.skew = box.skew; - } - this.SVGhandleColor(svg); - this.SVGsaveData(svg); - return svg; - } - }); - - // - // Make sure these don't generate output - // - MML.maligngroup.Augment({toSVG: MML.mbase.SVGemptySVG}); - MML.malignmark.Augment({toSVG: MML.mbase.SVGemptySVG}); - MML.mprescripts.Augment({toSVG: MML.mbase.SVGemptySVG}); - MML.none.Augment({toSVG: MML.mbase.SVGemptySVG}); - - // - // Loading isn't complete until the element jax is modified, - // but can't call loadComplete within the callback for "mml Jax Ready" - // (it would call SVG's Require routine, asking for the mml jax again) - // so wait until after the mml jax has finished processing. - // - // We also need to wait for the onload handler to run, since the loadComplete - // will call Config and Startup, which need to modify the body. - // - HUB.Register.StartupHook("onLoad",function () { - setTimeout(MathJax.Callback(["loadComplete",SVG,"jax.js"]),0); - }); - }); - - HUB.Browser.Select({ - Opera: function (browser) { - SVG.Augment({ - operaZoomRefresh: true // Opera needs a kick to redraw zoomed equations - }); - } - }); - - HUB.Register.StartupHook("End Cookie", function () { - if (HUB.config.menuSettings.zoom !== "None") - {AJAX.Require("[MathJax]/extensions/MathZoom.js")} - }); - - if (!document.createElementNS) { - // - // Try to handle SVG in IE8 and below, but fail - // (but don't crash on loading the file, so no delay for loadComplete) - // - if (!document.namespaces.svg) {document.namespaces.add("svg",SVGNS)} - SVG.Augment({ - Element: function (type,def) { - var obj = (typeof(type) === "string" ? document.createElement("svg:"+type) : type); - obj.isMathJax = true; - if (def) {for (var id in def) {if (def.hasOwnProperty(id)) {obj.setAttribute(id,def[id].toString())}}} - return obj; - } - }); - } - -})(MathJax.Ajax, MathJax.Hub, MathJax.HTML, MathJax.OutputJax.SVG); diff --git a/src/py/kaleido/vendor/mathjax/latest.js b/src/py/kaleido/vendor/mathjax/latest.js deleted file mode 100644 index 1de3f28d..00000000 --- a/src/py/kaleido/vendor/mathjax/latest.js +++ /dev/null @@ -1,159 +0,0 @@ -/************************************************************* - * - * latest.js - * - * Replacement for cdn.mathjax.org/mathjax/latest that loads the - * latest (2.x) version of MathJax from cdnjs, rawgit.com, or jsdelivr - * depending on where it was loaded from. - * - * --------------------------------------------------------------------- - * - * Copyright (c) 2017-2018 The MathJax Consortium - * - * 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. - */ - -(function () { - - var CDN = { - 'cdnjs.cloudflare.com': { - api: 'https://api.cdnjs.com/libraries/mathjax?fields=version', - version: 'version', - mathjax: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/' - }, - - 'cdn.rawgit.com': { - api: 'https://api.github.com/repos/mathjax/mathjax/releases/latest', - version: 'tag_name', - mathjax: 'https://cdn.rawgit.com/mathjax/MathJax/' - }, - - 'cdn.jsdelivr.net': { - api: 'https://api.jsdelivr.com/v1/jsdelivr/libraries?name=mathjax&lastversion=*', - version: 'lastversion', - mathjax: 'https://cdn.jsdelivr.net/mathjax/' - } - }; - - function Error(message) { - if (console && console.log) console.log(message); - } - - function getScript() { - if (document.currentScript) return document.currentScript; - var scripts = document.getElementsByTagName("script"); - for (var i = 0, m = scripts.length; i < m; i++) { - var script = scripts[i]; - for (var cdn in CDN) {if (CDN.hasOwnProperty(cdn)) { - var url = CDN[cdn].mathjax; - if (script.src && script.src.substr(0,url.length) === url) return script; - }} - } - } - - function getCDN(script) { - if (!script) return; - var cdn = script.src.replace(/https:\/\//,'').replace(/[\/\?].*/,''); - return CDN[cdn]; - } - - var cookiePattern = /(?:^|;\s*)mjx\.latest=([^;]*)(?:;|$)/; - function getVersion() { - var match; - try {match = cookiePattern.exec(document.cookie)} catch (err) {} - if (match && match[1] !== '') return match[1]; - } - function setVersion(version) { - cookie = 'mjx.latest=' + version; - var time = new Date(); - time.setDate(time.getDate() + 7); - cookie += '; expires=' + time.toGMTString(); - cookie += '; path=/'; - try {document.cookie = cookie} catch (err) {} - } - - function getXMLHttpRequest() { - if (window.XMLHttpRequest) return new XMLHttpRequest(); - if (window.ActiveXObject) { - try {return new ActiveXObject("Msxml2.XMLHTTP")} catch (err) {} - try {return new ActiveXObject("Microsoft.XMLHTTP")} catch (err) {} - } - } - - function loadMathJax(url) { - var script = document.createElement('script'); - script.type = 'text/javascript'; - script.async = true; - script.src = url; - var head = document.head || document.getElementsByTagName('head')[0] || document.body; - if (head) { - head.appendChild(script); - } else { - Error("Can't find the document element"); - } - } - - function loadDefaultMathJax() { - var script = getScript(); - if (script) { - loadMathJax(script.src.replace(/\/latest\.js/, "/MathJax.js")); - } else { - Error("Can't determine the URL for loading MathJax"); - } - } - - function getLatestMathJax(cdn,config,unpacked) { - var request = getXMLHttpRequest(); - if (request) { - request.onreadystatechange = function() { - if (request.readyState === 4) { - if (request.status === 200) { - var json = JSON.parse(request.responseText); - if (json instanceof Array) json = json[0]; - var version = json[cdn.version]; - if (version.substr(0,2) === '2.') { - setVersion(version); - loadMathJax(cdn.mathjax + json[cdn.version] + unpacked + '/MathJax.js' + config); - return; - } - } else { - Error("Problem acquiring MathJax version: status = " + request.status); - } - loadDefaultMathJax(); - } - } - request.open('GET', cdn.api, true); - request.send(null); - } else { - Error("Can't create XMLHttpRequest object"); - loadDefaultMathJax(); - } - } - - var script = getScript(); - var cdn = getCDN(script); - if (cdn) { - var config = script.src.replace(/.*?(\?|$)/, "$1"); - config += (config ? '&' : '?') + 'latest'; - var unpacked = (script.src.match(/\/unpacked\/latest\.js/) ? "/unpacked" : ""); - var version = getVersion(); - if (version) { - loadMathJax(cdn.mathjax + version + unpacked + '/MathJax.js' + config); - } else { - getLatestMathJax(cdn, config, unpacked); - } - } else { - loadDefaultMathJax(); - } - -})(); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ar/FontWarnings.js deleted file mode 100644 index 199b8799..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ar/FontWarnings.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ar/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ar","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "\u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u064A\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u062E\u0637\u0648\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A \u0644\u0639\u0631\u0636 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0639\u0644\u0649 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629\u060C \u0647\u0630\u0647 \u062A\u0633\u062A\u063A\u0631\u0642 \u0648\u0642\u062A\u0627 \u0637\u0648\u064A\u0644\u0627 \u0644\u062A\u062D\u0645\u064A\u0644\u060C \u0648\u0628\u0627\u0644\u062A\u0627\u0644\u064A \u0641\u0625\u0646 \u0627\u0644\u0635\u0641\u062D\u0629 \u062A\u0638\u0647\u0631 \u0628\u0634\u0643\u0644 \u0623\u0633\u0631\u0639 \u0625\u0630\u0627 \u0642\u0645\u062A \u0628\u062A\u062B\u0628\u064A\u062A \u062E\u0637\u0648\u0637 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u064A \u0645\u062C\u0644\u062F \u0627\u0644\u062E\u0637 \u0641\u064A \u0646\u0638\u0627\u0645\u0643.", - webFonts: "\u062A\u0633\u0645\u062D \u0645\u0639\u0638\u0645 \u0627\u0644\u0645\u062A\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062D\u062F\u064A\u062B\u0629 \u0644\u0644\u062E\u0637\u0648\u0637 \u0628\u0623\u0646 \u064A\u062A\u0645 \u062A\u062D\u0645\u064A\u0644\u0647\u0627 \u0639\u0628\u0631 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A. \u064A\u0645\u0643\u0646 \u0644\u0644\u062A\u062D\u062F\u064A\u062B \u0625\u0644\u0649 \u0646\u0633\u062E\u0629 \u0623\u062D\u062F\u062B \u0645\u0646 \u0645\u062A\u0635\u0641\u062D\u0643 (\u0623\u0648 \u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u0645\u062A\u0635\u0641\u062D\u0627\u062A) \u062A\u062D\u0633\u064A\u0646 \u0646\u0648\u0639\u064A\u0629 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0639\u0644\u0649 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629.", - fonts: "\u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u064A\u0645\u0643\u0646\u0647 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0625\u0645\u0627 [\u062E\u0637\u0648\u0637 STIX] (%1) \u0623\u0648 [\u062E\u0637\u0648\u0637 MathJax TeX ] (%2). \u062D\u0645\u0650\u0651\u0644 \u0648\u062B\u0628\u0650\u0651\u062A \u0623\u062D\u062F \u062A\u0644\u0643 \u0627\u0644\u062E\u0637\u0648\u0637 \u0644\u062A\u062D\u0633\u064A\u0646 \u062A\u062C\u0631\u0628\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643.", - STIXPage: "\u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629 \u0645\u062E\u0635\u0635\u0629 \u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645 [\u062E\u0637\u0648\u0637 STIX] (%1). \u062D\u0645\u0650\u0651\u0644 \u0648\u062B\u0628\u0650\u0651\u062A \u062A\u0644\u0643 \u0627\u0644\u062E\u0637\u0648\u0637 \u0644\u062A\u062D\u0633\u064A\u0646 \u062A\u062C\u0631\u0628\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643.", - TeXPage: "\u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629 \u0645\u062E\u0635\u0635\u0629 \u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645 [\u062E\u0637\u0648\u0637 [MathJax TeX] (%1). \u062D\u0645\u0650\u0651\u0644 \u0648\u062B\u0628\u0650\u0651\u062A \u062A\u0644\u0643 \u0627\u0644\u062E\u0637\u0648\u0637 \u0644\u062A\u062D\u0633\u064A\u0646 \u062A\u062C\u0631\u0628\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ar/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ar/HTML-CSS.js deleted file mode 100644 index 9103d0da..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ar/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ar/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ar","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u062A\u062D\u0645\u064A\u0644 \u062E\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A %1", - CantLoadWebFont: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u062A\u062D\u0645\u064A\u0644 \u062E\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A %1", - FirefoxCantLoadWebFont: "\u0641\u0627\u064A\u0631\u0641\u0648\u0643\u0633 \u0644\u0627 \u064A\u0645\u0643\u0646\u0647 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u062E\u0637\u0648\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A \u0645\u0646 \u0645\u0636\u064A\u0641 \u0628\u0639\u064A\u062F", - CantFindFontUsing: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u062E\u0637 \u0635\u0627\u0644\u062D \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 %1", - WebFontsNotAvailable: "\u062E\u0637\u0648\u0637 \u0627\u0644\u0648\u064A\u0628 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631\u0629. \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u062E\u0637\u0648\u0637 \u0627\u0644\u0635\u0648\u0631\u0629 \u0628\u062F\u0644\u0627 \u0645\u0646 \u0630\u0644\u0643" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ar/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ar/HelpDialog.js deleted file mode 100644 index efcb0f1d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ar/HelpDialog.js +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ar/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ar","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "\u0645\u0633\u0627\u0639\u062F\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", - Browsers: "*\u0645\u062A\u0635\u0641\u062D\u0627\u062A*: \u064A\u0639\u0645\u0644 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0645\u0639 \u062C\u0645\u064A\u0639 \u0627\u0644\u0645\u062A\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062D\u062F\u064A\u062B\u0629 \u0628\u0645\u0627 \u0641\u064A \u0630\u0644\u0643 IE6+\u060C \u0648\u0641\u0627\u064A\u0631\u0641\u0648\u0643\u0633 3+\u060C \u0648\u0643\u0631\u0648\u0645 0.2+\u060C \u0648\u0633\u0641\u0627\u0631\u064A2+\u060C \u0648\u0623\u0648\u0628\u0631\u0627 9.6+ \u0648\u0645\u0639\u0638\u0645 \u0645\u062A\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062C\u0648\u0627\u0644.", - ShowMath: "* \u0645\u0634\u0627\u0647\u062F\u0629 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0643 * \u064A\u0633\u0645\u062D \u0644\u0643 \u0628\u0639\u0631\u0636 \u0645\u0635\u062F\u0631 \u0627\u0644\u0635\u064A\u063A \u0644\u0644\u0646\u0633\u062E \u0648\u0627\u0644\u0644\u0635\u0642 (\u0643 MathML \u0623\u0648 \u0628\u0634\u0643\u0644\u0647 \u0627\u0644\u0623\u0635\u0644\u064A).", - Settings: "* \u0636\u0628\u0637 * \u064A\u0645\u0646\u062D\u0643 \u0627\u0644\u0633\u064A\u0637\u0631\u0629 \u0639\u0644\u0649 \u0645\u064A\u0632\u0627\u062A \u0645\u0627\u062B \u062C\u0627\u0643\u0633\u060C \u0645\u062B\u0644 \u062D\u062C\u0645 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A\u060C \u0648\u0622\u0644\u064A\u0629 \u0627\u0633\u062A\u062E\u062F\u0627\u0645\u0647\u0627 \u0644\u0639\u0631\u0636 \u0627\u0644\u0645\u0639\u0627\u062F\u0644\u0627\u062A.", - Language: "* \u0627\u0644\u0644\u063A\u0629 * \u064A\u062A\u064A\u062D \u0644\u0643 \u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0644\u063A\u0629 \u0627\u0644\u062A\u064A \u064A\u0633\u062A\u062E\u062F\u0645\u0647\u0627 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0644\u0644\u0642\u0648\u0627\u0626\u0645 \u0648\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u062A\u062D\u0630\u064A\u0631.", - Zoom: "* \u062A\u0643\u0628\u064A\u0631 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A *: \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u0648\u0627\u062C\u0647 \u0635\u0639\u0648\u0628\u0629 \u0641\u064A \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0639\u0627\u062F\u0644\u0629\u060C \u064A\u0645\u0643\u0650\u0651\u0646 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u062A\u0643\u0628\u064A\u0631\u0647\u0627 \u0644\u0645\u0633\u0627\u0639\u062F\u062A\u0643 \u0639\u0644\u0649 \u0645\u0639\u0631\u0641\u0629 \u0623\u0641\u0636\u0644.", - Accessibilty: "* \u0627\u0644\u0648\u0635\u0648\u0644 *: \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u064A\u0639\u0645\u0644 \u062A\u0644\u0642\u0627\u0626\u064A\u0627 \u0645\u0639 \u0642\u0627\u0631\u0626\u0627\u062A \u0627\u0644\u0634\u0627\u0634\u0629 \u0644\u062C\u0639\u0644 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0641\u064A \u0645\u062A\u0646\u0627\u0648\u0644 \u0636\u0639\u0627\u0641 \u0627\u0644\u0628\u0635\u0631.", - Fonts: "* \u0627\u0644\u062E\u0637\u0648\u0637 *: \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0633\u064A\u0633\u062A\u062E\u062F\u0645 \u062E\u0637\u0648\u0637 \u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0645\u0639\u064A\u0646\u0629 \u0625\u0630\u0627 \u0643\u0627\u0646\u062A \u0645\u062B\u0628\u062A\u0629 \u0639\u0644\u0649 \u062C\u0647\u0627\u0632 \u0627\u0644\u0643\u0645\u0628\u064A\u0648\u062A\u0631 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643\u060C \u062E\u0644\u0627\u0641 \u0630\u0644\u0643\u060C \u0641\u0625\u0646\u0647 \u0633\u064A\u062A\u0645 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u062E\u0637\u0648\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A. \u0639\u0644\u0649 \u0627\u0644\u0631\u063A\u0645 \u0645\u0646 \u0623\u0646 \u0630\u0644\u0643 \u0644\u064A\u0633 \u0645\u0637\u0644\u0648\u0628\u0627\u060C \u0648\u0627\u0644\u062E\u0637\u0648\u0637 \u0627\u0644\u0645\u062B\u0628\u062A\u0629 \u0645\u062D\u0644\u064A\u0627 \u062A\u0633\u0631\u0639 \u0635\u0641 \u0627\u0644\u062D\u0631\u0648\u0641. \u0646\u0642\u062A\u0631\u062D \u062A\u062B\u0628\u064A\u062A [\u062E\u0637\u0648\u0637 STIX] (%1)." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ar/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ar/MathML.js deleted file mode 100644 index 1e6ec1f5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ar/MathML.js +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ar/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ar","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "mglyph \u0633\u064A\u0626\u0629: %1", - BadMglyphFont: "\u062E\u0637 \u0633\u064A\u0621: %1", - UnknownNodeType: "\u0646\u0648\u0639 \u0639\u0642\u062F\u0647 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641: %1", - UnexpectedTextNode: "\u0639\u0642\u062F\u0647 \u063A\u064A\u0631 \u0645\u062A\u0648\u0642\u0639\u0629: %1", - ErrorParsingMathML: "\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u062A\u062D\u0644\u064A\u0644 MathML", - ParsingError: "\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u062A\u062D\u0644\u064A\u0644 MathML: %1", - MathMLSingleElement: "MathML \u064A\u062C\u0628 \u0623\u0646 \u062A\u062A\u0643\u0648\u0646 \u0645\u0646 \u0639\u0646\u0635\u0631 \u0648\u0627\u062D\u062F", - MathMLRootElement: "MathML \u064A\u062C\u0628 \u0623\u0646 \u062A\u062A\u0643\u0648\u0646 \u0645\u0646 \u003Cmath\u003E\u0639\u0646\u0635\u0631\u060C \u0644\u0627 %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ar/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ar/MathMenu.js deleted file mode 100644 index fad31aef..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ar/MathMenu.js +++ /dev/null @@ -1,85 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ar/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ar","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u062A\u0638\u0647\u0631 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0643", - MathMLcode: "\u0643\u0648\u062F MathML", - OriginalMathML: "MathML \u0627\u0644\u0623\u0635\u0644\u064A\u0629", - TeXCommands: "\u0623\u0648\u0627\u0645\u0631 TeX", - AsciiMathInput: "\u0625\u062F\u062E\u0627\u0644 AsciiMathML", - Original: "\u0627\u0644\u0646\u0645\u0648\u0630\u062C \u0627\u0644\u0623\u0635\u0644\u064A", - ErrorMessage: "\u0631\u0633\u0627\u0644\u0629 \u062E\u0637\u0623", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "\u0645\u062D\u062A\u0648\u0649 MathML", - OpenMath: "OpenMath", - texHints: "\u0623\u0638\u0647\u0631 \u062A\u0644\u0645\u064A\u062D\u0627\u062A TeX \u0641\u064A MathML", - Settings: "\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A", - ZoomTrigger: "\u0645\u0634\u063A\u0644 \u0627\u0644\u062A\u0643\u0628\u064A\u0631", - Click: "\u0627\u0636\u063A\u0637", - DoubleClick: "\u0627\u0636\u063A\u0637 \u0645\u0631\u062A\u064A\u0646", - NoZoom: "\u0644\u0627 \u062A\u0643\u0628\u064A\u0631", - Option: "\u062E\u064A\u0627\u0631", - Alt: "Alt", - Control: "\u062A\u062D\u0643\u0645", - Shift: "Shift", - ZoomFactor: "\u0639\u0627\u0645\u0644 \u0627\u0644\u062A\u0643\u0628\u064A\u0631", - Renderer: "\u0639\u0627\u0631\u0636 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A", - MPHandles: "\u0627\u0644\u0633\u0645\u0627\u062D \u0628\u0645\u0639\u0627\u0644\u062C\u0629 MathPlayer:", - MenuEvents: "\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0623\u062D\u062F\u0627\u062B", - MouseEvents: "\u0623\u062D\u062F\u0627\u062B \u0627\u0644\u0641\u0623\u0631\u0629", - MenuAndMouse: "\u0623\u062D\u062F\u0627\u062B \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0648\u0627\u0644\u0641\u0623\u0631\u0629", - FontPrefs: "\u062A\u0641\u0636\u064A\u0644\u0627\u062A \u0627\u0644\u062E\u0637", - ForHTMLCSS: "\u0644HTML-CSS:", - ContextMenu: "\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062D\u062A\u0648\u064A\u0627\u062A", - Browser: "\u0645\u062A\u0635\u0641\u062D", - Scale: "\u062D\u062C\u0645 \u0643\u0644 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A...", - Locale: "\u0644\u063A\u0629", - LoadLocale: "\u0627\u0644\u062A\u062D\u0645\u064A\u0644 \u0645\u0646 \u0631\u0627\u0628\u0637", - About: "\u062D\u0648\u0644 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", - Help: "\u0645\u0633\u0627\u0639\u062F\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", - wofforotffonts: "\u062E\u0637\u0648\u0637 WOFF \u0623\u0648 OTF", - eotffonts: "\u062E\u0637\u0648\u0637 EOT", - svgfonts: "\u062E\u0637\u0648\u0637 SVG", - WebkitNativeMMLWarning: "\u064A\u0628\u062F\u0648 \u0623\u0646 \u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u062F\u0639\u0645 MathML \u0623\u0635\u0644\u0627; \u0625\u0630\u0627 \u0642\u0645\u062A \u0628\u0627\u0644\u062A\u063A\u064A\u064A\u0631 \u0625\u0644\u0649 \u0639\u0631\u0636 MathML \u064A\u0645\u0643\u0646 \u0623\u0646 \u062A\u062A\u0639\u0630\u0631 \u0642\u0631\u0627\u0621\u0629 \u0635\u064A\u063A \u0627\u0644\u0635\u0641\u062D\u0629 \u0628\u0634\u0643\u0644 \u0635\u062D\u064A\u062D", - MSIENativeMMLWarning: "\u064A\u062A\u0637\u0644\u0628 \u0625\u0646\u062A\u0631\u0646\u062A \u0625\u0643\u0633\u0644\u0648\u0631\u0631 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644\u0645\u0633\u0627\u0639\u062F MathPlayer \u0644\u0639\u0645\u0644\u064A\u0629 \u0646\u062A\u064A\u062C\u0629 MathML", - OperaNativeMMLWarning: "\u062F\u0639\u0645 \u0623\u0648\u0628\u0631\u0627 MathML \u0645\u062D\u062F\u0648\u062F\u061B \u0625\u0630\u0627 \u0642\u0645\u062A \u0628\u0627\u0644\u062A\u063A\u064A\u064A\u0631 \u0625\u0644\u0649 \u0639\u0631\u0636 MathML \u064A\u0645\u0643\u0646 \u0623\u0644\u0627 \u062A\u064F\u0639\u0631\u0636 \u0628\u0639\u0636 \u0627\u0644\u062A\u0639\u0628\u064A\u0631\u0627\u062A \u0628\u0634\u0643\u0644 \u0635\u062D\u064A\u062D.", - SafariNativeMMLWarning: "MathML \u0627\u0644\u0623\u0635\u0644\u064A \u0641\u064A \u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u0646\u0641\u0630 \u0643\u0627\u0641\u0629 \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u0633\u062A\u062E\u062F\u0645\u0647\u0627 \u0645\u0627\u062B \u062C\u0627\u0643\u0633; \u0644\u0630\u0644\u0643 \u0628\u0639\u0636 \u0627\u0644\u062A\u0639\u0627\u0628\u064A\u0631 \u0642\u062F \u0644\u0627 \u062A\u0643\u0648\u0646 \u0635\u062D\u064A\u062D\u0629.", - FirefoxNativeMMLWarning: "MathML \u0627\u0644\u0623\u0635\u0644\u064A \u0641\u064A \u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u0646\u0641\u0630 \u0643\u0627\u0641\u0629 \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u0633\u062A\u062E\u062F\u0645\u0647\u0627 \u0645\u0627\u062B \u062C\u0627\u0643\u0633; \u0644\u0630\u0644\u0643 \u0628\u0639\u0636 \u0627\u0644\u062A\u0639\u0627\u0628\u064A\u0631 \u0642\u062F \u0644\u0627 \u062A\u0643\u0648\u0646 \u0635\u062D\u064A\u062D\u0629.", - MSIESVGWarning: "\u0644\u0645 \u064A\u062A\u0645 \u062A\u0646\u0641\u064A\u0630 SVG \u0641\u064A \u0625\u0646\u062A\u0631\u0646\u062A \u0625\u0643\u0633\u0644\u0648\u0631\u0631 \u0642\u0628\u0644 IE9 \u0623\u0648 \u0639\u0646\u062F\u0645\u0627 \u062A\u0643\u0648\u0646 \u0645\u062D\u0627\u0643\u0627\u0629 IE8 \u0623\u0648 \u0623\u0642\u0644. \u0627\u0644\u062A\u062D\u0648\u0644 \u0625\u0644\u0649 \u0645\u062E\u0631\u062C\u0627\u062A SVG \u064A\u062A\u0633\u0628\u0628 \u0641\u064A \u0639\u062F\u0645 \u0639\u0631\u0636 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0628\u0634\u0643\u0644 \u0635\u062D\u064A\u062D.", - LoadURL: "\u062A\u062D\u0645\u064A\u0644 \u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062A\u0631\u062C\u0645\u0629 \u0645\u0646 \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637:", - BadURL: "\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0639\u0646\u0648\u0627\u0646 URL \u0644\u0645\u0644\u0641 \u062C\u0627\u0641\u0627 \u0633\u0643\u0631\u064A\u0628\u062A \u0627\u0644\u0630\u064A \u064A\u062D\u062F\u062F \u0628\u064A\u0627\u0646\u0627\u062A \u062A\u0631\u062C\u0645\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633. \u064A\u062C\u0628 \u0623\u0646 \u062A\u0646\u062A\u0647\u064A \u0623\u0633\u0645\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u062C\u0627\u0641\u0627 \u0633\u0643\u0631\u064A\u0628\u062A \u0628'.js", - BadData: "\u0641\u0634\u0644 \u062A\u062D\u0645\u064A\u0644 \u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062A\u0631\u062C\u0645\u0629 \u0645\u0646 %1", - SwitchAnyway: "\u062A\u0628\u062F\u064A\u0644 \u0627\u0644\u0639\u0627\u0631\u0636 \u0639\u0644\u0649 \u0623\u064A \u062D\u0627\u0644\u061F (\u0627\u0636\u063A\u0637 \u0645\u0648\u0627\u0641\u0642\u0629 \u0644\u0644\u062A\u0628\u062F\u064A\u0644\u060C \u0648\u0625\u0644\u063A\u0627\u0621 \u0644\u0644\u0645\u0648\u0627\u0635\u0644\u0629 \u0628\u0627\u0644\u0639\u0627\u0631\u0636 \u0627\u0644\u062D\u0627\u0644\u064A)", - ScaleMath: "\u062D\u062C\u0645 \u0643\u0644 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A (\u0628\u0627\u0644\u0645\u0642\u0627\u0631\u0646\u0629 \u0645\u0639 \u0627\u0644\u0646\u0635 \u0627\u0644\u0645\u062D\u064A\u0637) \u0628\u0648\u0627\u0633\u0637\u0629", - NonZeroScale: "\u0627\u0644\u0642\u064A\u0627\u0633 \u0644\u0627 \u064A\u0645\u0643\u0646 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0635\u0641\u0631", - PercentScale: "\u0627\u0644\u0642\u064A\u0627\u0633 \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0646\u0633\u0628\u0629 \u0645\u0626\u0648\u064A\u0629 (\u0639\u0644\u0649 \u0633\u0628\u064A\u0644 \u0627\u0644\u0645\u062B\u0627\u0644 120%%)", - IE8warning: "\u0633\u064A\u0624\u062F\u064A \u0630\u0644\u0643 \u0625\u0644\u0649 \u062A\u0639\u0637\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u0648\u0645\u0632\u0627\u064A\u0627 \u062A\u0642\u0631\u064A\u0628 \u0645\u0627\u062B \u062C\u0627\u0643\u0633\u060C \u0648\u0644\u0643\u0646 \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0636\u063A\u0637 \u0639\u0644\u0649 Alt \u0644\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0628\u062F\u0644\u0627 \u0645\u0646 \u0630\u0644\u0643. \u0647\u0644 \u062A\u0631\u064A\u062F \u062D\u0642\u0627 \u062A\u063A\u064A\u064A\u0631 \u0625\u0639\u062F\u0627\u062F\u0627\u062A MathPlayer\u061F", - IE9warning: "\u0642\u0627\u0626\u0645\u0629 \u0645\u062D\u062A\u0648\u064A\u0627\u062A \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0633\u0648\u0641 \u064A\u062A\u0645 \u062A\u0639\u0637\u064A\u0644\u0647\u0627\u060C \u0648\u0644\u0643\u0646 \u064A\u0645\u0643\u0646\u0643 \u0627\u0627\u0644\u0636\u063A\u0637 \u0639\u0644\u0649 Alt \u0644\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0628\u062F\u0644\u0627 \u0645\u0646 \u0630\u0644\u0643.", - NoOriginalForm: "\u0644\u0627 \u064A\u0648\u062C\u062F \u0646\u0645\u0648\u0630\u062C \u0623\u0635\u0644\u064A \u0645\u062A\u0627\u062D", - EqSource: "\u0645\u0639\u0627\u062F\u0644\u0629 \u0645\u0635\u062F\u0631 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", - FastPreview: "\u0645\u0639\u0627\u064A\u0646\u0629 \u0633\u0631\u064A\u0639\u0629" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ar/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ar/TeX.js deleted file mode 100644 index 4d0640db..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ar/TeX.js +++ /dev/null @@ -1,78 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ar/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ar","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u0642\u0648\u0633 \u0645\u0641\u062A\u0648\u062D \u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u063A\u0644\u0642 \u0642\u0648\u0633 \u0645\u0641\u0642\u0648\u062F", - ExtraCloseMissingOpen: "\u0642\u0648\u0633 \u0645\u063A\u0644\u0642 \u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u0641\u062A\u062D \u0642\u0648\u0633 \u0645\u0641\u0642\u0648\u062F", - MissingLeftExtraRight: "\u064A\u0633\u0627\u0631 /\u0645\u0641\u0642\u0648\u062F \u0623\u0648 \u064A\u0645\u064A\u0646 /\u0625\u0636\u0627\u0641\u064A", - ExtraLeftMissingRight: "\u064A\u0633\u0627\u0631 /\u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u064A\u0645\u064A\u0646 /\u0645\u0641\u0642\u0648\u062F", - Misplaced: "%1 \u0641\u064A \u063A\u064A\u0631 \u0645\u062D\u0644\u0647", - AmbiguousUseOf: "\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u063A\u0627\u0645\u0636 \u0644%1", - EnvBadEnd: "\\\u0628\u062F\u0627\u064A\u0629{%1} \u064A\u0646\u062A\u0647\u064A \u0628 \\\u0646\u0647\u0627\u064A\u0629{%2}", - EnvMissingEnd: "\u0646\u0647\u0627\u064A\u0629\\\u0645\u0641\u0642\u0648\u062F\u0629{%1}", - MissingBoxFor: "\u0635\u0646\u062F\u0648\u0642 \u0645\u0641\u0642\u0648\u062F \u0644 %1", - UndefinedControlSequence: "%1 \u062A\u0633\u0644\u0633\u0644 \u0645\u0631\u0627\u0642\u0628\u0629 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641", - DoubleExponent: "\u0623\u0633 \u0645\u0632\u062F\u0648\u062C: \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0642\u0648\u0627\u0633 \u0644\u0644\u062A\u0648\u0636\u064A\u062D", - DoubleSubscripts: "\u0627\u0644\u062D\u0631\u0648\u0641 \u0627\u0644\u0633\u0641\u0644\u064A\u0629 \u0645\u0632\u062F\u0648\u062C\u0629: \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0642\u0648\u0627\u0633 \u0644\u0644\u062A\u0648\u0636\u064A\u062D", - DoubleExponentPrime: "\u0639\u062F\u062F \u0623\u0648\u0644\u064A \u064A\u0633\u0628\u0628 \u0623\u0633 \u0645\u0632\u062F\u0648\u062C: \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0642\u0648\u0627\u0633 \u0644\u0644\u062A\u0648\u0636\u064A\u062D", - CantUseHash1: "\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 '\u0627\u0644\u062D\u0631\u0641 \u0627\u0644\u0645\u0639\u0644\u0645 \u0627\u0644\u0643\u0644\u064A#' \u0641\u064A \u0648\u0636\u0639 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A", - MisplacedMiddle: "%1 \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0636\u0645\u0646 \\\u064A\u0633\u0627\u0631 \u0648\\\u064A\u0645\u064A\u0646", - MisplacedLimits: "%1 \u0645\u0633\u0645\u0648\u062D \u0641\u0642\u0637 \u0639\u0644\u0649 \u0627\u0644\u0645\u0634\u063A\u0644\u064A\u0646", - MisplacedMoveRoot: "%1 \u064A\u0645\u0643\u0646 \u0623\u0646 \u062A\u0638\u0647\u0631 \u0641\u0642\u0637 \u0641\u064A \u0627\u0644\u062C\u0630\u0631", - MultipleCommand: "%1 \u0645\u062A\u0639\u062F\u062F", - NotMathMLToken: "%1 \u0644\u064A\u0633 \u0639\u0646\u0635\u0631\u064B\u0627 \u0631\u0645\u0632\u064A\u064B\u0627", - UnknownAttrForElement: "%1 \u0644\u064A\u0633\u062A \u0633\u0645\u0629 \u0645\u0639\u062A\u0631\u0641 \u0628\u0647\u0627 \u0644%2", - ExtraAlignTab: "\u0645\u062D\u0627\u0630\u0627\u0629 \u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u062A\u0628\u0648\u064A\u0628 \u0625\u0636\u0627\u0641\u064A\u0629 \u0641\u064A \\\u062D\u0627\u0644\u0627\u062A \u0627\u0644\u0646\u0635\u0648\u0635", - InvalidEnv: "\u0627\u0633\u0645 \u0628\u064A\u0626\u0629 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D '%1'", - UnknownEnv: "\u0628\u064A\u0626\u0629 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641\u0629 '%1'", - ExtraCloseLooking: "\u063A\u0644\u0642 \u0642\u0648\u0633 \u0625\u0636\u0627\u0641\u064A \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u0628\u062D\u062B \u0639\u0646 %1", - MissingOrUnrecognizedDelim: "\u0645\u062D\u062F\u062F \u0645\u0641\u0642\u0648\u062F \u0623\u0648 \u063A\u064A\u0631 \u0645\u0639\u062A\u0631\u0641 \u0628\u0647 \u0644 %1", - MissingDimOrUnits: "\u0628\u0639\u062F (\u0623\u0648 \u0648\u062D\u062F\u0627\u062A\u0647) \u0645\u0641\u0642\u0648\u062F \u0644 %1", - TokenNotFoundForCommand: "\u0644\u0645 \u064A\u062A\u0645 \u0627\u064A\u062C\u0627\u062F %1 \u0625\u0644\u064A %2", - MathNotTerminated: "\u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0644\u0627 \u062A\u0646\u062A\u0647\u064A \u0641\u064A \u0645\u0631\u0628\u0639 \u0627\u0644\u0646\u0635", - IllegalMacroParam: "\u0645\u0631\u062C\u0639 \u0645\u0639\u0644\u0645 \u0643\u0644\u064A \u063A\u064A\u0631 \u0642\u0627\u0646\u0648\u0646\u064A", - MaxBufferSize: "\u062A\u0645 \u062A\u062C\u0627\u0648\u0632 \u062D\u062C\u0645 \u0627\u0644\u0645\u062E\u0632\u0646 \u0627\u0644\u0645\u0624\u0642\u062A \u0627\u0644\u062F\u0627\u062E\u0644\u064A \u0644\u0645\u0627\u062B \u062C\u0627\u0643\u0633. \u0647\u0644 \u0647\u0646\u0627\u0643 \u0627\u0633\u062A\u062F\u0639\u0627\u0621 \u0645\u0627\u0643\u0631\u0648 \u0645\u0643\u0631\u0631\u061F", - CommandNotAllowedInEnv: "%1 \u063A\u064A\u0631 \u0645\u0633\u0645\u0648\u062D \u0641\u064A \u0628\u064A\u0626\u0629 %2", - MultipleLabel: "\u062A\u062D\u062F\u064A\u062F \u0645\u0636\u0627\u0639\u0641 \u0644\u062A\u0633\u0645\u064A\u0629 '%1'", - CommandAtTheBeginingOfLine: "\u064A\u062C\u0628 \u0623\u0646 \u064A\u0623\u062A\u064A \u0641\u064A \u0628\u062F\u0627\u064A\u0629 \u0627\u0644\u0633\u0637\u0631 %1", - IllegalAlign: "\u0645\u062D\u0627\u0630\u0627\u0629 \u063A\u064A\u0631 \u0642\u0627\u0646\u0648\u0646\u064A\u0629 \u0645\u062D\u062F\u062F\u0629 \u0641\u064A %1", - BadMathStyleFor: "\u0646\u0645\u0637 \u0631\u064A\u0627\u0636\u064A \u0633\u064A\u0621 \u0644 %1", - MultlineRowsOneCol: "\u0627\u0644\u0635\u0641\u0648\u0641 \u0636\u0645\u0646 \u0628\u064A\u0626\u0629 %1 \u064A\u062C\u0628 \u0623\u0646 \u062A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0639\u0645\u0648\u062F \u0648\u0627\u062D\u062F \u0628\u0627\u0644\u0636\u0628\u0637", - MultipleBBoxProperty: "%1 \u0645\u062D\u062F\u062F \u0645\u0631\u062A\u064A\u0646 \u0641\u064A %2", - ExtraEndMissingBegin: "%1 \u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u0645\u0641\u0642\u0648\u062F \\begingroup", - GlobalNotFollowedBy: "%1 \u0644\u0645 \u064A\u062A\u0645 \u062A\u062A\u0628\u0639\u0647 \\let, \\def, \u0623\u0648 \\newcommand", - UndefinedColorModel: "\u0646\u0645\u0648\u0630\u062C \u0627\u0644\u0644\u0648\u0646 '%1' \u063A\u064A\u0631 \u0645\u0639\u0631\u0641", - ModelArg1: "\u0642\u064A\u0645 \u0627\u0644\u0644\u0648\u0646 \u0644\u0644\u0646\u0645\u0648\u0630\u062C %1 \u062A\u062A\u0637\u0644\u0628 3 \u0623\u0631\u0642\u0627\u0645", - InvalidDecimalNumber: "\u0639\u062F\u062F \u0639\u0634\u0631\u064A \u063A\u064A\u0631 \u0635\u0627\u0644\u062D", - ModelArg2: "\u064A\u062C\u0628 \u0623\u0646 \u062A\u0643\u0648\u0646 \u0642\u064A\u0645 \u0627\u0644\u0644\u0648\u0646 \u0644\u0644\u0646\u0645\u0648\u0630\u062C %1 \u0628\u064A\u0646 %2 \u0648%3", - InvalidNumber: "\u0639\u062F\u062F \u063A\u064A\u0631 \u0635\u0627\u0644\u062D", - NoClosingChar: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0625\u063A\u0644\u0627\u0642 %1", - IllegalParamNumber: "\u0639\u062F\u062F \u063A\u064A\u0631 \u0645\u0634\u0631\u0648\u0639 \u0644\u0644\u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u0645\u062D\u062F\u062F\u0629 \u0641\u064A %1", - CantUseHash2: "\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u063A\u064A\u0631 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0644# \u0641\u064A \u0642\u0627\u0644\u0628 \u0644%1", - SequentialParam: "\u0645\u0639\u0644\u0645\u0627\u062A %1 \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0645 \u062A\u0631\u0642\u064A\u0645\u0647\u0627 \u0628\u0627\u0644\u062A\u0633\u0644\u0633\u0644", - MissingReplacementString: "\u0633\u0644\u0633\u0644\u0629 \u0628\u062F\u064A\u0644\u0629 \u0644\u062A\u0639\u0631\u064A\u0641 %1 \u0645\u0641\u0642\u0648\u062F\u0629", - MismatchUseDef: "\u0627\u0633\u062A\u062E\u062F\u0627\u0645 %1 \u0644\u0627 \u064A\u062A\u0637\u0627\u0628\u0642 \u0645\u0639 \u062A\u0639\u0631\u064A\u0641\u0647", - NoClosingDelim: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0625\u063A\u0644\u0627\u0642 \u0645\u062D\u062F\u062F \u0644%1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ar/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/ar.js b/src/py/kaleido/vendor/mathjax/localization/ar/ar.js deleted file mode 100644 index f3ba5715..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ar/ar.js +++ /dev/null @@ -1,62 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ar/ar.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ar",null,{ - menuTitle: "\u0627\u0644\u0639\u0631\u0628\u064A\u0629", - fontDirection: "rtl", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "\u062E\u0637\u0623 \u0645\u0639\u0627\u0644\u062C\u0629 \u0631\u064A\u0627\u0636\u064A\u0629", - MathError: "\u062E\u0637\u0623 \u0631\u064A\u0627\u0636\u064A", - LoadFile: "\u062A\u062D\u0645\u064A\u0644 %1", - Loading: "\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644", - LoadFailed: "\u0641\u0634\u0644 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0644\u0641: %1", - ProcessMath: "\u0639\u0645\u0644\u064A\u0629 \u0631\u064A\u0627\u0636\u064A\u0629: %1%%", - Processing: "\u0645\u0639\u0627\u0644\u062C\u0629", - TypesetMath: "\u062A\u0646\u0636\u064A\u062F \u0631\u064A\u0627\u0636\u064A: %1%%", - Typesetting: "\u062A\u0646\u0636\u064A\u062F", - MathJaxNotSupported: "\u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u062F\u0639\u0645 \u0645\u0627\u062B\u062C\u0627\u0643\u0633" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 0) return 1; // zero - if (n === 1) return 2; // one - if (n === 2) return 3; // two - if (3 <= n % 100 && n % 100 <= 10) return 4; // few - if (11 <= n % 100 && n % 100 <= 99) return 5; // many - return 6; // other - }, - number: function (n) { - return String(n).replace("/([0-9])/g", "\\U066$1").replace(".", "\\U066B"); - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ar/ar.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ast/FontWarnings.js deleted file mode 100644 index 6c2983aa..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ast/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ast/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ast","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax ta usando fontes basaes en web p'amosar les matem\u00E1tiques d'esta p\u00E1xina. Lleva un tiempu descargales, de manera que la p\u00E1xina apaecer\u00E1 m\u00E1s r\u00E1pidamente si instala direutamente les fontes matem\u00E1tiques na carpeta de fontes del so sistema.", - imageFonts: "MathJaz ta usando les sos fontes d'imaxe en cuenta de fontes llocales o basaes en web. Esto fai que la composici\u00F3n seya m\u00E1s lenta de lo normal, y les matem\u00E1tiques podr\u00EDen nun imprimise a la resoluci\u00F3n completa de la impresora.", - noFonts: "MathJax nun pue alcontrar una tipograf\u00EDa que pueda usar p'amosar les espresiones matem\u00E1tiques, y nun hai disponibles fontes d'imaxe, de mou que va volver a car\u00E1uteres Unicode xen\u00E9ricos esperando que'l so restolador pueda amosalos. Algunos car\u00E1uteres podr\u00EDen nun vese correutamente o, seique, podrien nun vese n'absoluto.", - webFonts: "La mayor\u00EDa de restoladores modernos permiten que les fontes se descarguen de la web. Si anueva a una versi\u00F3n m\u00E1s moderna del restolador (o si cambia de restolador) podr\u00EDa ameyorar la calid\u00E1 de les espresiones matem\u00E1tiques d'esta p\u00E1xina.", - fonts: "MathJax pue usar tanto la [tipograf\u00EDa STIX](%1) como la [tipograf\u00EDa TeX MathJax](%2). Descargue y instale una d'estes tipograf\u00EDes p'ameyorar la so esperiencia con MathJax.", - STIXPage: "Esta p\u00E0xina ta dise\u00F1ada pa usar la [tipograf\u00EDa STIX](%1). Descargue ya instale esta tipograf\u00EDa p'ameyorar la so esperiencia con MathJax.", - TeXPage: "Esta p\u00E0xina ta dise\u00F1ada pa usar la [tipograf\u00EDa TeX MathJax](%1). Descargue ya instale esta tipograf\u00EDa p'ameyorar la so esperiencia con MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ast/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ast/HTML-CSS.js deleted file mode 100644 index 35c65c25..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ast/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ast/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ast","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Cargando la tipograf\u00EDa web %1", - CantLoadWebFont: "Non pue cargase la tipograf\u00EDa web %1", - FirefoxCantLoadWebFont: "Firefox nun pue cargar les tipograf\u00EDes web dende un sirvidor remotu", - CantFindFontUsing: "Nun se pue atopar una tipograf\u00EDa v\u00E1lida usando %1", - WebFontsNotAvailable: "Les tipograf\u00EDes web nun tan disponibles. Usando les tipograf\u00EDes d'imaxe nel so llugar" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ast/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ast/HelpDialog.js deleted file mode 100644 index 8fd1b95f..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ast/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ast/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ast","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Ayuda de MathJax", - MathJax: "*MathJax* ye una biblioteca JavaScript que permite a los autores de p\u00E1xines incluir espresiones matem\u00E1tiques nes sos p\u00E1xines web. Como llector, nun necesita facer nada pa qu'esto asoceda.", - Browsers: "*Navegadores*: MathJax funciona con tolos navegadores modernos, incluyendo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ y la mayor\u00EDa de los navegadores pa m\u00F3viles.", - Menu: "*Men\u00FA matem\u00E1tiques*: MathJax amiesta un men\u00FA de contestu a les ecuaciones. Faiga clic col bot\u00F3n drechu, o Ctrl-clic, en cualquier espresi\u00F3n matem\u00E1tica pa ver el men\u00FA.", - ShowMath: "*Ver f\u00F3rmula como* permite ver el c\u00F3digu de marques de la f\u00F3rmula pa que pueda copiase y apegase (como MathML o nel so formatu orixinal).", - Settings: "*Configuraci\u00F3n* permite controlar diverses carauter\u00EDstiques de MathJax, como'l tama\u00F1u de les f\u00F3rmules, ya'l mecanismu que s'usa pa ver les ecuaciones.", - Language: "*Llingua* permite seleicionar la llingua qu'usa MathJax pa los men\u00FAs y mensaxes d'avisu.", - Zoom: "*Zoom de f\u00F3rmula*: Si tien dificultaes pa lleer una ecuaci\u00F3n, MathJax pue ampliala p'ayuda-y a que la vea meyor.", - Accessibilty: "*Accesibilid\u00E1*: MathJax funciona autom\u00E1ticamente con llectores de pantalla pa facer les espresiones matem\u00E1tiques accesibles a les persones con problemes de visi\u00F3n.", - Fonts: "*Tipograf\u00EDa*: MathJax usa ciertes fontes matem\u00E1tiques si tan instalaes nel ordenador; d'otra manera, usar\u00E1 fontes basaes na web. Anque nun ye necesario, si tien les fontes instalaes de mou llocal ayudar\u00E1 a componer la p\u00E1xina m\u00E1s r\u00E1pidamente. Suxerimos qu'instale les [fontes STIX](%1).", - CloseDialog: "Zarrar el di\u00E1logu d'ayuda" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ast/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ast/MathML.js deleted file mode 100644 index 687a7c90..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ast/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ast/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ast","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "Mglyph incorreutu: %1", - BadMglyphFont: "Tipograf\u00EDa incorreuta: %1", - MathPlayer: "MathJax nun pudo configurar MathPlayer.\n\nSi MathPlayer nun ta instal\u00E1u, necesitar\u00E1 instalalu primero. D'otra manera, la so configuraci\u00F3n de segurid\u00E1 pue torgar la execuci\u00F3n de controles ActiveX. Use l'elementu Opciones d'Internet baxo'l men\u00FA Ferramientes y seleicione la lling\u00FCeta Segurid\u00E1, darr\u00E9u calque nel bot\u00F3n Nivel Personaliz\u00E1u. Compruebe que les preferencies pa 'Executar controles ActiveX' y 'Comportamientos de binariu y script' tan activaes.\n\nAngua\u00F1o ver\u00E1 mensaxes d'error en llugar de f\u00F3rmules matem\u00E1tiques.", - CantCreateXMLParser: "MathJax nun pue crear un analizador XML pa MathML. Compruebe que\nla configuraci\u00F3n de segurid\u00E1 \u00ABControles de script ActiveX marcaos como seguros pa scripting\u00BB\nta activada (use l'elementu Opciones d'Internet del men\u00FA Ferramientes,\ny seleicione'l panel Segurid\u00E1, y darr\u00E9u calque nel bot\u00F3n Nivel personaliz\u00E1u pa comprobalo).\n\nMathJax nun podr\u00E1 procesar les ecuaciones MathML", - UnknownNodeType: "Tipu de nuedu desconoc\u00EDu: %1", - UnexpectedTextNode: "Nuedu de testu inesper\u00E1u: %1", - ErrorParsingMathML: "Error al analizar MathML", - ParsingError: "Error al analizar MathML: %1", - MathMLSingleElement: "MathML tien de tar form\u00E1u por un \u00FAnicu elementu", - MathMLRootElement: "MathML tien de tar form\u00E1u por un elementu \u003Cmath\u003E, non por %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ast/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ast/MathMenu.js deleted file mode 100644 index 7f5b78a6..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ast/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ast/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ast","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Ver les f\u00F3rmules como", - MathMLcode: "C\u00F3digu MathML", - OriginalMathML: "MathML orixinal", - TeXCommands: "Comandos de TeX", - AsciiMathInput: "Entrada AsciiMathML", - Original: "Forma orixinal", - ErrorMessage: "Mensaxe d'error", - Annotation: "Anotaci\u00F3n", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Conten\u00EDu MathML", - OpenMath: "OpenMath", - texHints: "Amosar gabitos TeX en MathML", - Settings: "Configuraci\u00F3n de matem\u00E1tiques", - ZoomTrigger: "Disparador del zoom", - Hover: "Al pasar el mur", - Click: "Al facer clic", - DoubleClick: "Con doble clic", - NoZoom: "Ensin zoom", - TriggerRequires: "El disparador requier:", - Option: "Opci\u00F3n", - Alt: "Alt", - Command: "Comandu", - Control: "Control", - Shift: "May\u00FAs", - ZoomFactor: "Factor d'ampliaci\u00F3n", - Renderer: "Renderizador de matem\u00E1tiques", - MPHandles: "Permitir que MathPlayer alministre:", - MenuEvents: "Socesos de men\u00FA", - MouseEvents: "Socesos del mur", - MenuAndMouse: "Socesos del mur y del men\u00FA", - FontPrefs: "Preferencies de tipograf\u00EDa", - ForHTMLCSS: "Pa HTML-CSS:", - Auto: "Auto", - TeXLocal: "TeX (llocal)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (imaxe)", - STIXLocal: "STIX (llocal)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Llat\u00EDn modernu (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Men\u00FA contestual", - Browser: "Navegador", - Scale: "Escalar toles f\u00F3rmules...", - Discoverable: "Illuminar al pasar el mur", - Locale: "Llingua", - LoadLocale: "Cargar d'una URL...", - About: "Tocante a MathJax", - Help: "Ayuda de MathJax", - localTeXfonts: "usando tipograf\u00EDa TeX llocal", - webTeXfonts: "usando tipograf\u00EDa TeX de la web", - imagefonts: "usando tipograf\u00EDa d'imaxe", - localSTIXfonts: "usando tipograf\u00EDa STIX llocal", - webSVGfonts: "usando tipograf\u00EDa SVG de la web", - genericfonts: "usando tipograf\u00EDa Unicode xen\u00E9rica", - wofforotffonts: "tipograf\u00EDa WOFF u OTF", - eotffonts: "tipograf\u00EDa EOT", - svgfonts: "tipograf\u00EDa SVG", - WebkitNativeMMLWarning: "Paez que'l so restolador nun tien sofitu pa MathML de mou nativu, de mou que cambiar la salida a MathML pue facer que les f\u00F3rmules de la p\u00E1xina nun puedan lleese", - MSIENativeMMLWarning: "Internet Explorer requier el complementu MathPlayer pa procesar la salida de MathML", - OperaNativeMMLWarning: "El sofitu d'Opera pa MathML ye parcial, de mou que cambiar la salida a MathML pue facer que delles espresiones nun se vean bien.", - SafariNativeMMLWarning: "El MathML nativu del so navegador nun cuenta con toles carauter\u00EDstiques qu'usa MathJax, de mou que delles espresiones podr\u00EDen nun representase correutamente.", - FirefoxNativeMMLWarning: "El MathML nativu del so navegador nun cuenta con toles carauter\u00EDstiques qu'usa MathJax, de mou que delles espresiones podr\u00EDen nun representase correutamente.", - MSIESVGWarning: "SVG nun ta implement\u00E1u n'Internet Explorer anterior a IE9 o cuando ta emulando IE8 o anterior. Si cambia a la salida SVG, les f\u00F3rmules nun se ver\u00E1n correutamente.", - LoadURL: "Cargar los datos de traducci\u00F3n d'esta URL:", - BadURL: "La URL tendr\u00EDa de ser pa un ficheru JavaScript que define los datos de traducci\u00F3n de MathJax. Los nomes de los ficheros JavaScript tendr\u00EDen d'acabar en '.js'", - BadData: "Nun pudieron cargase los datos de traducci\u00F3n de %1", - SwitchAnyway: "\u00BFCambiar la representaci\u00F3n de toles maneres?\n\n(Calque Aceutar pa cambiar, Encaboxar pa siguir cola representaci\u00F3n actual)", - ScaleMath: "Ampliar toles f\u00F3rmules (en comparancia col testu d'alredor) nun", - NonZeroScale: "La escala nun tien de ser cero", - PercentScale: "La escala tien de ser un porcentaxe (por exemplu 120%%)", - IE8warning: "Esto desactivar\u00E1 les funciones de men\u00FA y zoom de MathJax, pero pue facer Alt-Clic nuna espresi\u00F3n pa ver el men\u00FA de MathJax.\n\n\u00BFRealmente quier cambiar la configuraci\u00F3n de MathPlayer?", - IE9warning: "El men\u00FA contestual de MathJax tar\u00E1 desactiv\u00E1u, pero pue facer Alt-Clic nuna espresi\u00F3n pa ver el men\u00FA MathJax.", - NoOriginalForm: "Nun ta disponible denguna forma orixinal", - Close: "Zarrar", - EqSource: "C\u00F3digu fonte d'ecuaci\u00F3n MathJax", - CloseAboutDialog: "Zarrar el di\u00E1logu de tocante a MathJax", - FastPreview: "Vista previa r\u00E1pida", - AssistiveMML: "Asistencia MathML", - InTabOrder: "Incluir nel orde de lling\u00FCetes" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ast/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ast/TeX.js deleted file mode 100644 index f071defe..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ast/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ast/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ast","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Hai una llave d'apertura de m\u00E1s o falta una llave de zarramientu", - ExtraCloseMissingOpen: "Hai una llave de zarramientu de m\u00E1s o falta una llave d'apertura", - MissingLeftExtraRight: "Falta un \\left o sobra un \\right", - MissingScript: "Falta un argumentu de super\u00EDndiz o sub\u00EDndiz", - ExtraLeftMissingRight: "Sobra un \\left o falta un \\right", - Misplaced: "%1 ta mal coloc\u00E1u", - MissingOpenForSub: "Falta una llave d'apertura pal sub\u00EDndiz", - MissingOpenForSup: "Falta una llave d'apertura pal super\u00EDndiz", - AmbiguousUseOf: "Usu ambiguu de %1", - EnvBadEnd: "\\begin{%1} acab\u00E1u con \\end{%2}", - EnvMissingEnd: "Falta \\end{%1}", - MissingBoxFor: "Falta un cuadru pa %1", - MissingCloseBrace: "Falta la llave de zarramientu", - UndefinedControlSequence: "Secuencia de control indefinida %1", - DoubleExponent: "Doble esponente: use llaves p'aclarar", - DoubleSubscripts: "Doble sub\u00EDndiz: usu llaves p'aclarar", - DoubleExponentPrime: "La prima causa un doble esponente: use llaves p'aclarar", - CantUseHash1: "Nun pue usar el \u00ABcar\u00E1uter # de par\u00E1metru de macro\u00BB en mou matem\u00E1ticu", - MisplacedMiddle: "%1 tien de tar ente \\left y \\right", - MisplacedLimits: "%1 s\u00F3lo ta permit\u00EDu pa operadores", - MisplacedMoveRoot: "%1 s\u00F3lo pue apaecer dientro d'una ra\u00EDz", - MultipleCommand: "M\u00FAltiples %1", - IntegerArg: "L'argumentu de %1 tien de ser un enteru", - NotMathMLToken: "%1 nun ye un elementu de \u00ABtoken\u00BB", - InvalidMathMLAttr: "Atributu de MathML inv\u00E1lidu: %1", - UnknownAttrForElement: "%1 nun ye un atributu reconoc\u00EDu pa %2", - MaxMacroSub1: "Se sobrepas\u00F3'l n\u00FAmberu m\u00E1ximu de sustituciones de macro de MathJax; \u00BFhai ha una llamada de macro recursiva?", - MaxMacroSub2: "Pas\u00F3se'l n\u00FAmberu m\u00E1ximu de sustituciones de MathJax; \u00BFhai un entornu de LaTeX recursivu?", - MissingArgFor: "Falta l'argumentu pa %1", - ExtraAlignTab: "Tabulador d'alliniamientu estra en testu \\cases", - BracketMustBeDimension: "L'argumentu de corchete pa %1 tien de ser una dimensi\u00F3n", - InvalidEnv: "Nome d'entornu \u00AB%1\u00BB inv\u00E1lidu", - UnknownEnv: "Entornu desconoc\u00EDu \u00AB%1\u00BB", - ExtraCloseLooking: "Llave de zarramientu estra cuando se buscaba %1", - MissingCloseBracket: "Nun pudo alcontrase'l \u00AB]\u00BB de zarramientu pal argumentu de %1", - MissingOrUnrecognizedDelim: "El delimitador pa %1 falta o nun ta reconoc\u00EDu", - MissingDimOrUnits: "Falta la dimensi\u00F3n o les unidaes pa %1", - TokenNotFoundForCommand: "Nun pudo alcontrase %1 pa %2", - MathNotTerminated: "Espresi\u00F3n matem\u00E1tica inacabada nel cuadru de testu", - IllegalMacroParam: "Referencia illegal a par\u00E1metru de macro", - MaxBufferSize: "Se sobrepas\u00F3 el tama\u00F1u del almacenamientu intermediu internu de MathJax; \u00BFhai ha una llamada a una macro recursiva?", - CommandNotAllowedInEnv: "%1 nun se permite nel entornu %2", - MultipleLabel: "La etiqueta '%1' tien definiciones m\u00FAltiples", - CommandAtTheBeginingOfLine: "%1 tien d'apaecer al principiu de la llinia", - IllegalAlign: "Alliniaci\u00F3n illegal especificada en %1", - BadMathStyleFor: "Estilu de matem\u00E1tiques incorreutu pa %1", - PositiveIntegerArg: "L'argumentu de %1 tien de ser un enteru positivu", - ErroneousNestingEq: "A\u00F1eramientu incorreutu d'estructures d'ecuaci\u00F3n", - MultlineRowsOneCol: "Les fileres dientro del entornu %1 han de tener exactamente una columna", - MultipleBBoxProperty: "Propied\u00E1 %1 especificada dos veces en %2", - InvalidBBoxProperty: "'%1' nun paez un color, una distancia de separaci\u00F3n o un estilu", - ExtraEndMissingBegin: "Sobra un %1 o falta un \\begingroup", - GlobalNotFollowedBy: "%1 nun ta sigu\u00EDu por \\let, \\def o \\newcommand", - UndefinedColorModel: "El modelu de color '%1' nun ta defin\u00EDu", - ModelArg1: "Los valores de color pal modelu %1 requieren 3 n\u00FAmberos", - InvalidDecimalNumber: "N\u00FAmberu decimal inv\u00E1lidu", - ModelArg2: "Los valores de color pal modelu %1 tienen de tar ente %2 y %3", - InvalidNumber: "N\u00FAmberu inv\u00E1lidu", - NewextarrowArg1: "El primer argumentu pa %1 tien de ser un nome de secuencia de control", - NewextarrowArg2: "El segundu argumentu pa %1 tienen de ser dos enteros separaos por una coma", - NewextarrowArg3: "El tercer argumentu pa %1 tien de ser un n\u00FAmberu de car\u00E1uter Unicode", - NoClosingChar: "Nun pue alcontrase'l %1 de zarru", - IllegalControlSequenceName: "Nome incorreutu de secuencia de control pa %1", - IllegalParamNumber: "N\u00FAmberu par\u00E1metros illegal especific\u00E1u en %1", - MissingCS: "%1 tien de tar sigu\u00EDu por una secuencia de control", - CantUseHash2: "Usu illegal de # nuna plant\u00EDa pa %1", - SequentialParam: "Los par\u00E1metros pa %1 tienen de numberase de mou secuencial", - MissingReplacementString: "Falta la cadena de sustituci\u00F3n pa la definici\u00F3n de %1", - MismatchUseDef: "L'usu de %1 nun casa cola so definici\u00F3n", - RunawayArgument: "\u00BFArgumentu descontrol\u00E1u pa %1?", - NoClosingDelim: "Nun s'alcontr\u00F3 el delimitador de zarru pa %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ast/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/ast.js b/src/py/kaleido/vendor/mathjax/localization/ast/ast.js deleted file mode 100644 index 9cf17efb..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ast/ast.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ast/ast.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ast",null,{ - menuTitle: "asturianu", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax alcontr\u00F3 una cookie de configuraci\u00F3n d'usuariu qu'incluye c\u00F3digu a executar. \u00BFQuier executar esi c\u00F3digu?\n\n(Tendr\u00EDa de calcar \u00ABEncaboxar\u00BB a menos que creara la cookie vust\u00E9 mesmu.)", - MathProcessingError: "Error de procesamientu matem\u00E1ticu", - MathError: "Error matem\u00E1ticu", - LoadFile: "Cargando %1", - Loading: "Cargando", - LoadFailed: "Fall\u00F3 la carga del ficheru: %1", - ProcessMath: "Procesando matem\u00E1tiques: %1%%", - Processing: "Procesando", - TypesetMath: "Escribiendo matem\u00E1tiques: %1%%", - Typesetting: "Componiendo", - MathJaxNotSupported: "El so navegador nun tien sofitu pa MathJax", - ErrorTips: "Conseyos de depuraci\u00F3n: usa %%1, inspect %%2 na consola del restolador" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ast/ast.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/bcc/FontWarnings.js deleted file mode 100644 index 0745f6d4..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bcc/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bcc/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bcc","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/bcc/HTML-CSS.js deleted file mode 100644 index 750c7191..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bcc/HTML-CSS.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bcc/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bcc","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/bcc/HelpDialog.js deleted file mode 100644 index eb5e00e1..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bcc/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bcc/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bcc","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/MathML.js b/src/py/kaleido/vendor/mathjax/localization/bcc/MathML.js deleted file mode 100644 index faa29436..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bcc/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bcc/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bcc","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/bcc/MathMenu.js deleted file mode 100644 index de6bbeb2..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bcc/MathMenu.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bcc/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bcc","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/TeX.js b/src/py/kaleido/vendor/mathjax/localization/bcc/TeX.js deleted file mode 100644 index ebee389b..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bcc/TeX.js +++ /dev/null @@ -1,94 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bcc/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bcc","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647", - ExtraCloseMissingOpen: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u0647 \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632", - MissingLeftExtraRight: "\u0641\u0642\u062F\u0627\u0646 \u200E\\left \u06CC\u0627 \u200E\\right \u0627\u0636\u0627\u0641\u06CC", - MissingScript: "\u0641\u0642\u062F\u0627\u0646 \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0627\u0644\u0627\u0645\u062A\u0646 \u06CC\u0627 \u0632\u06CC\u0631\u0645\u062A\u0646", - ExtraLeftMissingRight: "\u200E\\left \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u200E\\right", - Misplaced: "%1 \u0646\u0627\u0628\u062C\u0627", - MissingOpenForSub: "\u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0628\u0631\u0627\u06CC \u0632\u06CC\u0631\u0645\u062A\u0646", - MissingOpenForSup: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0628\u0627\u0644\u0627\u0645\u062A\u0646", - AmbiguousUseOf: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0645\u0628\u0647\u0645 \u0627\u0632 \u200E%1", - EnvBadEnd: "\u200E\\begin{%1}\u200E \u067E\u0627\u06CC\u0627\u0646\u200C\u06CC\u0627\u0641\u062A\u0647 \u0628\u0627 \u200E\\end{%2}\u200E", - EnvMissingEnd: "\u200E\\end{%1}\u200E \u06AF\u0645\u200C\u0634\u062F\u0647", - MissingBoxFor: "\u062C\u0639\u0628\u0647\u0654 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", - MissingCloseBrace: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0645\u0641\u0642\u0648\u062F", - UndefinedControlSequence: "\u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644 \u062A\u0639\u0631\u06CC\u0641\u200C\u0646\u0634\u062F\u0647\u0654 %1", - DoubleExponent: "\u062A\u0648\u0627\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - DoubleSubscripts: "\u0632\u06CC\u0631\u0645\u062A\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - DoubleExponentPrime: "\u062A\u0648\u0627\u0646 \u062F\u0648 \u0645\u0648\u062C\u0628 \u062A\u0648\u0627\u0646 \u0645\u0636\u0627\u0639\u0641 \u0634\u062F: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - CantUseHash1: "\u0634\u0645\u0627 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u00AB\u0645\u0627\u06A9\u0631\u0648 \u0646\u0648\u06CC\u0633\u0647\u0654 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 #\u00BB \u062F\u0631 \u062D\u0627\u0644\u062A \u0631\u06CC\u0627\u0636\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - MisplacedMiddle: "\u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0631\u0648\u0646 \u200E\\left \u0648 \u200E\\right \u0646\u0648\u0634\u062A\u0647\u200C\u0634\u0648\u062F", - MisplacedLimits: "\u200E%1 \u0641\u0642\u0637 \u062F\u0631 \u0639\u0645\u0644\u06AF\u0631\u0647\u0627 \u0645\u062C\u0627\u0632 \u0627\u0633\u062A", - MisplacedMoveRoot: "\u200E%1 \u062A\u0646\u0647\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062F\u0631\u0648\u0646 \u06CC\u06A9 \u0631\u06CC\u0634\u0647 \u0638\u0627\u0647\u0631 \u0634\u0648\u062F", - MultipleCommand: "\u200E%1 \u0686\u0646\u062F\u06AF\u0627\u0646\u0647", - IntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u0628\u0627\u0634\u062F", - NotMathMLToken: "%1 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0646\u0634\u0627\u0646 \u0646\u06CC\u0633\u062A", - InvalidMathMLAttr: "\u0648\u06CC\u0698\u06AF\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 MathML: %1", - UnknownAttrForElement: "%1 \u06CC\u06A9 \u0648\u06CC\u0698\u06AF\u06CC \u0634\u0646\u0627\u062E\u062A\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %2 \u0646\u06CC\u0633\u062A", - MaxMacroSub1: "\u0627\u0632 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u0634\u0645\u0627\u0631 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u0647\u0627\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", - MaxMacroSub2: "\u0627\u0632 \u0634\u0645\u0627\u0631 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u062A\u0639\u062F\u0627\u062F \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0645\u062D\u06CC\u0637 \u0644\u06CC\u062A\u06A9 \u0628\u0627\u0632\u0634\u062A\u06AF\u06CC \u0645\u0648\u062C\u0648\u062F \u0627\u0633\u062A\u061F", - MissingArgFor: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", - ExtraAlignTab: "\u0628\u0631\u06AF\u0647\u0654 \u0686\u06CC\u0646\u0634 \u0627\u0636\u0627\u0641\u06CC \u062F\u0631 \u0645\u062A\u0646 \u200E\\cases", - BracketMustBeDimension: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0628\u0639\u062F \u0628\u0627\u0634\u062F", - InvalidEnv: " \u0646\u0627\u0645 \u0645\u062D\u06CC\u0637 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u00AB%1\u00BB", - UnknownEnv: "\u0645\u062D\u06CC\u0637 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u00AB%1\u00BB", - ExtraCloseLooking: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u06CC \u0647\u0646\u06AF\u0627\u0645 \u062C\u0633\u062A\u062C\u0648\u06CC %1", - MissingCloseBracket: "\u00AB]\u00BB \u0628\u0633\u062A\u0647 \u0628\u0631\u0627\u06CC \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", - MissingOrUnrecognizedDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647 \u06AF\u0645\u200C\u0634\u062F\u0647 \u06CC\u0627 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u0628\u0631\u0627\u06CC \u200E%1", - MissingDimOrUnits: "\u0627\u0628\u0639\u0627\u062F \u06CC\u0627 \u0648\u0627\u062D\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u200E%1", - TokenNotFoundForCommand: "%1 \u0628\u0631\u0627\u06CC %2 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", - MathNotTerminated: "\u0631\u06CC\u0627\u0636\u06CC \u062F\u0631 \u062C\u0639\u0628\u0647\u0654 \u0645\u062A\u0646 \u067E\u0627\u06CC\u0627\u0646 \u0646\u06CC\u0627\u0641\u062A\u0647\u200C\u0627\u0633\u062A", - IllegalMacroParam: "\u0627\u0631\u062C\u0627\u0639 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u0645\u0627\u06A9\u0631\u0648\u06CC \u0646\u0627\u0645\u062C\u0627\u0632", - MaxBufferSize: "\u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u06CC\u0627\u0646\u06AF\u06CC\u0631 \u062F\u0627\u062E\u0644\u06CC MathJax \u06AF\u0630\u0634\u062A\u0647 \u0634\u062F\u0647\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", - CommandNotAllowedInEnv: "\u200E%1 \u062F\u0631 \u0645\u062D\u06CC\u0637 \u200E%2 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A", - MultipleLabel: "\u0628\u0631\u0686\u0633\u067E \u00AB%1\u00BB \u0686\u0646\u062F\u0628\u0627\u0631 \u062A\u0639\u0631\u06CC\u0641\u200C\u0634\u062F\u0647", - CommandAtTheBeginingOfLine: "%1 \u0628\u0627\u06CC\u062F \u062F\u0631 \u0634\u0631\u0648\u0639 \u062E\u0637 \u0628\u06CC\u0627\u06CC\u062F", - IllegalAlign: "\u0686\u06CC\u0646\u0634 \u0645\u0634\u062E\u0635\u200C\u0634\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u062F\u0631 \u200E%1", - BadMathStyleFor: "\u0633\u0628\u06A9 \u0628\u062F \u0631\u06CC\u0627\u0636\u06CC \u0628\u0631\u0627\u06CC \u200E%1", - PositiveIntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0647 \u200E%1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u0639\u062F\u062F \u0645\u062B\u0628\u062A \u0628\u0627\u0634\u062F", - ErroneousNestingEq: "\u0633\u0627\u062E\u062A\u0627\u0631\u0647\u0627\u06CC \u0627\u0634\u062A\u0628\u0627\u0647 \u062A\u0648\u062F\u0631\u062A\u0648\u06CC \u0645\u0639\u0627\u062F\u0644\u0647", - MultlineRowsOneCol: "\u0633\u0637\u0631 \u062F\u0631\u0648\u0646 \u0645\u062D\u06CC\u0637 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0642\u06CC\u0642\u0627\u064B \u06CC\u06A9 \u0633\u062A\u0648\u0646 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F", - MultipleBBoxProperty: "%1 \u062F\u0648\u0628\u0627\u0631 \u062F\u0631 \u200E%2 \u062A\u0639\u0631\u06CC\u0641 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", - InvalidBBoxProperty: "'%1' \u0628\u0647 \u0646\u0638\u0631 \u06CC\u06A9 \u0631\u0646\u06AF\u060C \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0628\u0627\u0644\u0634\u062A\u06A9 \u06CC\u0627 \u0633\u0628\u06A9 \u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06CC\u200C\u0631\u0633\u062F", - ExtraEndMissingBegin: "\u200E%1 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \\begingroup \u06AF\u0645\u200C\u0634\u062F\u0647", - GlobalNotFollowedBy: "\u200E%1 \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u200E\\let\u060C \u200E\\def \u06CC\u0627 \u200E\\newcommand \u0646\u06CC\u0627\u0645\u062F\u0647\u200C\u0627\u0633\u062A", - UndefinedColorModel: "\u0645\u062F\u0644 \u0631\u0646\u06AF\u06CC '%1' \u062A\u0639\u0631\u06CC\u0641 \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A", - ModelArg1: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u06F3 \u0639\u062F\u062F \u0627\u0633\u062A", - InvalidDecimalNumber: "\u0639\u062F\u062F \u0627\u0639\u0634\u0627\u0631\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631", - ModelArg2: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u0628\u06CC\u0646 %2 \u0648 %3 \u0628\u0627\u0634\u062F", - InvalidNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631", - NewextarrowArg1: "\u0646\u0634\u0627\u0648\u0646\u062F \u0627\u0648\u0644 \u0628\u0647 \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0646\u0627\u0645 \u06A9\u0646\u062A\u0631\u0644\u06CC \u062F\u0646\u0628\u0627\u0644\u0647 \u0628\u0627\u0634\u062F", - NewextarrowArg2: "\u0646\u0634\u0646\u0627\u0648\u0646\u062F \u062F\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u062F\u0648 \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u062C\u062F\u0627 \u0634\u062F\u0647 \u0628\u0627 \u06CC\u06A9 \u06A9\u0627\u0645\u0627 \u0628\u0627\u0634\u062F", - NewextarrowArg3: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0633\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u06CC\u06A9 \u0646\u0648\u06CC\u0633\u0647\u0654 \u06CC\u0648\u0646\u06CC\u06A9\u062F \u0628\u0627\u0634\u062F", - NoClosingChar: "%1 \u0628\u0633\u062A\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", - IllegalControlSequenceName: "\u0646\u0627\u0645 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u0631\u0627\u06CC \u200E%1 \u0646\u0627\u0645\u062C\u0627\u0632", - IllegalParamNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u062C\u0627\u0632 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u062F\u0631 \u200E%1 \u0645\u0634\u062E\u0635 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", - MissingCS: "\u200E%1 \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u06CC\u0627\u06CC\u062F", - CantUseHash2: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u0627\u0632 # \u062F\u0631 \u0627\u0644\u06AF\u0648 \u0628\u0631\u0627\u06CC %1", - SequentialParam: "\u067E\u0627\u0631\u0627\u0645\u062A\u0631\u0647\u0627 \u0628\u0631\u0627\u06CC %1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u0639\u062F\u062F\u06CC \u0628\u0627\u0634\u062F" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/bcc.js b/src/py/kaleido/vendor/mathjax/localization/bcc/bcc.js deleted file mode 100644 index 2c1bd8a2..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bcc/bcc.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bcc/bcc.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bcc",null,{ - menuTitle: "\u0628\u0644\u0648\u0686\u06CC", - fontDirection: "rtl", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "\u062E\u0637\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC", - MathError: "\u062D\u0637\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC", - LoadFile: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC %1", - Loading: "\u0644\u0648\u062F\u0628\u06CC\u062A...", - LoadFailed: "\u062E\u0637\u0627 \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u067E\u0631\u0648\u0646\u062F\u0647: %1", - ProcessMath: "\u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", - Processing: "\u067E\u0631\u062F\u0627\u0632\u0634", - TypesetMath: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", - Typesetting: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC", - MathJaxNotSupported: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathJax \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/bcc.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/bg/FontWarnings.js deleted file mode 100644 index d96a4f67..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bg/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bg/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bg","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bg/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/bg/HTML-CSS.js deleted file mode 100644 index d9d0a456..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bg/HTML-CSS.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bg/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bg","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bg/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/bg/HelpDialog.js deleted file mode 100644 index 51ae54e2..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bg/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bg/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bg","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bg/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/MathML.js b/src/py/kaleido/vendor/mathjax/localization/bg/MathML.js deleted file mode 100644 index 60bc90bb..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bg/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bg/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bg","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bg/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/bg/MathMenu.js deleted file mode 100644 index fd5fe2ee..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bg/MathMenu.js +++ /dev/null @@ -1,56 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bg/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bg","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u041F\u043E\u043A\u0430\u0436\u0438 \u043A\u0430\u0442\u043E", - MathMLcode: "MathML \u043A\u043E\u0434", - OriginalMathML: "\u041E\u0440\u0438\u0433\u0438\u043D\u0430\u043B\u043D\u0438\u044F\u0442 MathML \u043A\u043E\u0434", - TeXCommands: "TeX \u043A\u043E\u043C\u0430\u043D\u0434\u0438", - AsciiMathInput: "AsciiMathML \u043A\u043E\u0434", - ErrorMessage: "\u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0437\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", - Annotation: "\u0410\u043D\u043E\u0442\u0430\u0446\u0438\u044F", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - OpenMath: "OpenMath", - Settings: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", - ZoomTrigger: "\u0423\u0432\u0435\u043B\u0438\u0447\u0430\u0432\u0430\u0439 \u0447\u0440\u0435\u0437", - Hover: "\u041F\u043E\u0441\u043E\u0447\u0432\u0430\u043D\u0435", - Click: "\u041A\u043B\u0438\u043A", - DoubleClick: "\u0414\u0432\u043E\u0435\u043D \u043A\u043B\u0438\u043A", - NoZoom: "\u0418\u0437\u043A\u043B\u044E\u0447\u0435\u043D\u043E", - TriggerRequires: "\u0418\u0437\u0438\u0441\u043A\u0432\u0430\u0439 \u043D\u0430\u0442\u0438\u0441\u043D\u0430\u0442:", - Option: "Option", - Alt: "Alt", - Command: "Command", - Control: "Ctrl", - Shift: "Shift", - ZoomFactor: "\u0423\u0432\u0435\u043B\u0438\u0447\u0438 \u043D\u0430", - Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E", - Browser: "\u0411\u0440\u0430\u0443\u0437\u044A\u0440", - Locale: "\u0415\u0437\u0438\u043A", - About: "\u0417\u0430 MathJax", - Close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bg/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/TeX.js b/src/py/kaleido/vendor/mathjax/localization/bg/TeX.js deleted file mode 100644 index ade9f717..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bg/TeX.js +++ /dev/null @@ -1,68 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bg/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bg","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u0418\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u043D\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0438\u043B\u0438 \u043B\u0438\u043F\u0441\u0432\u0430\u0449\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430", - ExtraCloseMissingOpen: "\u0418\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u043D\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0438\u043B\u0438 \u043B\u0438\u043F\u0441\u0432\u0430\u0449\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430", - MissingLeftExtraRight: "\u041B\u0438\u043F\u0441\u0432\u0430 \\left \u0438\u043B\u0438 \u0438\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u0435\u043D \\right", - MissingScript: "\u041B\u0438\u043F\u0441\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u043F\u0440\u0438 \u0441\u0442\u0435\u043F\u0435\u043D \u0438\u043B\u0438 \u0438\u043D\u0434\u0435\u043A\u0441", - ExtraLeftMissingRight: "\u0418\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u0435\u043D \\left \u0438\u043B\u0438 \u043B\u0438\u043F\u0441\u0432\u0430 \\right", - Misplaced: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u043D\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D %1", - MissingOpenForSub: "\u041B\u0438\u043F\u0441\u0432\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 \u0437\u0430 \u0438\u043D\u0434\u0435\u043A\u0441", - MissingOpenForSup: "\u041B\u0438\u043F\u0441\u0432\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 \u0437\u0430 \u0441\u0442\u0435\u043F\u0435\u043D", - AmbiguousUseOf: "\u0414\u0432\u0443\u0441\u043C\u0438\u0441\u043B\u0435\u043D\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 %1", - EnvBadEnd: "\\begin{%1} \u0435 \u0437\u0430\u0442\u0432\u043E\u0440\u0435\u043D \u0441 \\end{%2}", - EnvMissingEnd: "\u041B\u0438\u043F\u0441\u0432\u0430 \\end{%1}", - MissingBoxFor: "\u041B\u0438\u043F\u0441\u0432\u0430\u0449 box \u0437\u0430 %1", - MissingCloseBrace: "\u041B\u0438\u043F\u0441\u0432\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430", - UndefinedControlSequence: "\u041D\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u043D\u043E\u0441\u0442 %1", - DoubleExponent: "\u0414\u0432\u043E\u0439\u043D\u0430 \u0435\u043A\u0441\u043F\u043E\u043C\u0435\u043D\u0442\u0430: \u0443\u0442\u043E\u0447\u043D\u0435\u0442\u0435 \u0441\u044A\u0441 \u0441\u043A\u043E\u0431\u0438", - DoubleSubscripts: "\u0414\u0432\u043E\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441: \u0443\u0442\u043E\u0447\u043D\u0435\u0442\u0435 \u0441\u044A\u0441 \u0441\u043A\u043E\u0431\u0438", - DoubleExponentPrime: "\u0414\u0432\u0443\u0441\u043C\u0438\u0441\u043B\u0435\u043D\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 \u043F\u0440\u0438\u043C ('): \u0443\u0442\u043E\u0447\u043D\u0435\u0442\u0435 \u0441\u044A\u0441 \u0441\u043A\u043E\u0431\u0438", - CantUseHash1: "\u041D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 '\u043C\u0430\u043A\u0440\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u044A\u0440 #' \u0432 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0440\u0435\u0436\u0438\u043C", - MisplacedMiddle: "%1 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u043C\u0435\u0436\u0434\u0443 \\left \u0438 \\right", - MisplacedLimits: "%1 \u0435 \u043F\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E \u0441\u0430\u043C\u043E \u043F\u0440\u0438 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0438", - MisplacedMoveRoot: "%1 \u0441\u0435 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430 \u0441\u0430\u043C\u043E \u0432 \u043A\u043E\u0440\u0435\u043D", - MultipleCommand: "\u041C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u043E %1", - IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u044A\u0442 \u0437\u0430 %1 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u0446\u044F\u043B\u043E \u0447\u0438\u0441\u043B\u043E", - NotMathMLToken: "%1 - \u043D\u0435 \u0435 \u0437\u0430 MathML", - InvalidMathMLAttr: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D MathML \u0430\u0442\u0440\u0438\u0431\u0443\u0442: %1", - UnknownAttrForElement: "%1 \u043D\u0435 \u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043D\u0430 MathML \u0442\u0430\u0433 %2", - MaxMacroSub1: "\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0438\u044F\u0442 \u0431\u0440\u043E\u0439 \u0437\u0430\u043C\u0435\u0441\u0442\u0432\u0430\u043D\u0438\u044F \u0441 \u043C\u0430\u043A\u0440\u043E\u0441\u0438 \u0435 \u043F\u0440\u0435\u0432\u0438\u0448\u0435\u043D. \u0418\u043C\u0430 \u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u043E \u0438\u0437\u0432\u0438\u043A\u0432\u0430\u043D\u0435?", - MaxMacroSub2: "\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0438\u044F\u0442 \u0431\u0440\u043E\u0439 \u043D\u0430 \u0437\u0430\u043C\u0435\u0441\u0442\u0432\u0430\u043D\u0438\u044F \u0435 \u043F\u0440\u0435\u0432\u0438\u0448\u0435\u043D. \u0418\u043C\u0430 \u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u044F?", - MissingArgFor: "\u041B\u0438\u043F\u0441\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1", - ExtraAlignTab: "\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u043D\u043E\u0433\u043E \u043A\u043E\u043B\u043E\u043D\u0438 \u0432 \\cases", - BracketMustBeDimension: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u044A\u0442 \u043D\u0430 %1 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u0440\u0430\u0437\u043C\u0435\u0440\u043D\u043E\u0441\u0442", - InvalidEnv: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0438\u043C\u0435 '%1'", - UnknownEnv: "\u041D\u0435\u043F\u043E\u0437\u043D\u0430\u0442\u0430 \u0441\u0440\u0435\u0434\u0430 '%1'", - ExtraCloseLooking: "\u0418\u0437\u043B\u0438\u0448\u043D\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 \u043F\u0440\u0438 \u0442\u044A\u0440\u0441\u0435\u043D\u0435 \u043D\u0430 %1", - MissingCloseBracket: "\u041D\u044F\u043C\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 ']' \u0437\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u043D\u0430 %1", - MissingOrUnrecognizedDelim: "\u041B\u0438\u043F\u0441\u0432\u0430\u0449 \u0438\u043B\u0438 \u043D\u0435\u043F\u043E\u0437\u043D\u0430\u0442 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B \u043D\u0430 %1", - MissingDimOrUnits: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0440\u0430\u0437\u043C\u0435\u0440\u043D\u043E\u0441\u0442 \u0438\u043B\u0438 \u043D\u0435\u0439\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 %1", - TokenNotFoundForCommand: "\u041D\u0435 \u0441\u0435 \u043D\u0430\u043C\u0438\u0440\u0430 %1 \u0437\u0430 %2", - CommandNotAllowedInEnv: "%1 \u043D\u0435 \u0435 \u043F\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E \u0432 %2 \u0441\u0440\u0435\u0434\u0430", - MultipleLabel: "\u0415\u0442\u0438\u043A\u0435\u0442 \"%1\" \u0435 \u0434\u0443\u0431\u043B\u0438\u0440\u0430\u043D", - InvalidNumber: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bg/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/bg.js b/src/py/kaleido/vendor/mathjax/localization/bg/bg.js deleted file mode 100644 index f029d542..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/bg/bg.js +++ /dev/null @@ -1,55 +0,0 @@ -/************************************************************* - * - * MathJax/localization/bg/bg.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("bg",null,{ - menuTitle: " \u0431\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "\u0413\u0440\u0435\u0448\u043A\u0430 \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430\u0442\u0430", - MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", - LoadFile: "\u0417\u0430\u0440\u0435\u0436\u0434\u0430\u043D\u0435 \u043D\u0430 %1", - Loading: "\u0417\u0430\u0440\u0435\u0436\u0434\u0430\u043D\u0435", - LoadFailed: "\u041D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0437\u0430\u0440\u0435\u0434\u0438: %1", - ProcessMath: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u043D\u0430 \u043A\u043E\u0434\u0430: %1%%", - Processing: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430", - TypesetMath: "\u041E\u0444\u043E\u0440\u043C\u044F\u043D\u0435: %1%%", - Typesetting: "\u041E\u0444\u043E\u0440\u043C\u044F\u043D\u0435", - MathJaxNotSupported: "\u0411\u0440\u0430\u0443\u0437\u044A\u0440\u044A\u0442 \u0412\u0438 \u043D\u0435 \u043F\u043E\u0434\u0434\u044A\u0440\u0436\u0430 MathJax" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: undefined -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/bg/bg.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/br/FontWarnings.js deleted file mode 100644 index 06c565fd..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/br/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/br/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("br","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax a implij ar fonto\u00F9 web evit diskwel ar jedado\u00F9 war ar bajenn-ma\u00F1. Pell eo ar re-se o pellgarga\u00F1 ha diskwelet e vefe buanoc'h ma stailhfec'h fonto\u00F9 jedoniezh war-eeun e teuliad fonto\u00F9 ho reizhiad.", - noFonts: "N'hall ket MathJax lec'hia\u00F1 ur polis evit diskwel e jedado\u00F9, ha dihegerz eo ar fonto\u00F9 skeudenn. Ret eo implijout arouezenno\u00F9 Unicode neuze. Emicha\u00F1s e c'hallo ho merdeer diskwel anezho. Ne c'hallo ket arouezenno\u00F9 zo beza\u00F1 diskwelet mat, tamm ebet zoken.", - webFonts: "GAnt an darn vrasa\u00F1 eus ar merdeerio\u00F9 arnevez e c'haller pellgarga\u00F1 fonto\u00F9 adalek ar web. Hizivaat ho merdeer (pe che\u00F1ch merdeer) a c'hallfe gwellaat kalite ar jedado\u00F9 war ar bajenn-ma\u00F1.", - fonts: "Gallout a ra MathJax implijout pe ar fonto\u00F9 [STIX](%1) pe ar fonto\u00F9 [MathJax TeX](%2); Pellgargit ha stailhit unan eus fonto\u00F9-se evit gwellaat ho skiant-prenet gant MathJax.", - STIXPage: "Krouet eo bet ar bajenn-ma\u00F1 evit implijout ar fonto\u00F9 [STIX ](%1). Pellgargit ha stailhit ar fonto\u00F9-se evit gwellaat ho skiant-penet gant MathJax.", - TeXPage: "Krouet eo bet ar bajenn-ma\u00F1 evit implijout ar fonto\u00F9 [MathJax TeX](%1). Pellgargit ha stailhit ar fonto\u00F9-se evit gwellaat ho skiant-prenet gant MathJax.", - imageFonts: "Ober a ra MathJax gant skeudenno\u00F9 font kentoc'h eget gant fonto\u00F9 web pe fonto\u00F9 lec'hel. Gant se e teu an trao\u00F9 gorrekoc'h war-wel ha marteze ne vo ket ar jedado\u00F9 evit beza\u00F1 moullet diouzh pizhder kloka\u00F1 ho moullerez." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/br/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/br/HTML-CSS.js deleted file mode 100644 index ecb851ce..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/br/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/br/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("br","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "O karga\u00F1 ar font web %1", - CantLoadWebFont: "Ne c'haller ket karga\u00F1 ar font web %1", - CantFindFontUsing: "Ne c'haller ket kavout ur font dereat e-touez %1", - FirefoxCantLoadWebFont: "Ne c'hall ket Firefox karga\u00F1 ar fonto\u00F9 adalek un ostiz a-bell", - WebFontsNotAvailable: "N'haller ket kaout ar Fonto\u00F9 web. Ar fonto\u00F9 skeudenn a vo implijet en o flas" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/br/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/br/HelpDialog.js deleted file mode 100644 index c043a3d8..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/br/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/br/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("br","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Sikour MathJax", - MathJax: "*MathJax* zo ul levraoueg JavaSkript. Ganta\u00F1 e c'hall aozerien ar pajenno\u00F9 enderc'hel jedado\u00F9 en o fajenno\u00F9 Web. Evel lenner n'ho po ket ezhomm d'ober netra evit ma'z aio en-dro.", - Browsers: "\"Merdeerien\": Mont a ra Mathjax en-dro gant an holl verdeerien modern, en ur gonta\u00F1 Explorer 6, Firefox 3, Chrome 0.2, Safari 2, Opera 9.6 hag o stummo\u00F9 kre\u00F1voc'h, hag ivez an darn vrasa\u00F1 eus ar merdeerio\u00F9 evit hezougello\u00F9 ha tablezenno\u00F9.", - Menu: "\"La\u00F1ser Math\" : Ouzhpenna\u00F1 a ra MathJax ul la\u00F1ser kemperzhel d'ar c'hevatalenno\u00F9. Klikit war bouton deho\u00F9 al logodenn pe klikit war war ne vern peseurt formulenn jedoniezh o terc'hel da boueza\u00F1 war Ktrl evit monet d'al la\u00F1ser.", - ShowMath: "Gant \"Diskwel ar matematiko\u00F9 evel\" e c'hallot diskwel balizenna\u00F1 tarzh ar jedad evit eila\u00F1-pega\u00F1 (evel MathML pe en e furmad orin).", - Settings: "Gant *Arventenno\u00F9\" e c'hallit kontrolla\u00F1 arc'hwelio\u00F9 MathJax, evel ment ar jedado\u00F9, hag ar gwikefre implijet evit diskwel ar c'hevatalenno\u00F9.", - Language: "\"Yezh\" a lez ac'hanoc'h da zibab ar yezh implijet gant MathJax evit e la\u00F1serio\u00F9 hag e gemennadurio\u00F9.", - Zoom: "*Math zoom*: M'eo diaes deoc'h lenn ur gevatalenn e c'hall MathJax brasaat anezhi evit skoazella\u00F1 ac'hanoc'h da welet anezhi gwelloc'h.", - Accessibilty: "*Monedusted*:Mathjad a labouro ent emgefreek gant lennerio\u00F9 skramm evit ma vo aesoc'h d'an dud fall o gweled pledi\u00F1 gant ar jedoniezh.", - Fonts: "\"Fonto\u00F9*: gant Mathjax e vo implijet ar fonto\u00F9 jedoniel zo ma vezont staliet en hoc'h urzhiataer ; anez e vo implijet ar fonto\u00F9 kavet war ar Web. Daoust ma n'eo ret, gant ar fonto\u00F9 staliet ent lec'hel e vo buanaet ar c'henaozadur. Alia\u00F1 a reomp ac'hanoc'h da stalia\u00F1 ar [fonto\u00F9 STIX](%1).", - CloseDialog: "Serri\u00F1 ar voest kendivizout skoazell" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/br/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/MathML.js b/src/py/kaleido/vendor/mathjax/localization/br/MathML.js deleted file mode 100644 index e922ecfc..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/br/MathML.js +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************* - * - * MathJax/localization/br/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("br","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "mglyph fall : %1", - BadMglyphFont: "Font fall : %1", - UnknownNodeType: "Seurt skoulm dianav : %1", - UnexpectedTextNode: "Skoulm testenn dic'hortoz : %1", - ErrorParsingMathML: "Fazi o tielfenna\u00F1 MathML", - ParsingError: "Fazi o ielfenna\u00F1 MathML : %1", - MathMLSingleElement: "MathML a rank beza\u00F1 stummet gant un elfenn hepken", - MathMLRootElement: "Gant un elfenn \u003Cmath\u003E e rank beza\u00F1 stummet MathML, ha ket gant %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/br/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/br/MathMenu.js deleted file mode 100644 index 0409a11e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/br/MathMenu.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/br/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("br","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Diskouez ar formulenn evel", - MathMLcode: "Kod MathML", - OriginalMathML: "MathML orin", - TeXCommands: "Urzhio\u00F9 TeX", - Original: "Furmskrid orin", - ErrorMessage: "Kemennadenn fazi", - Annotation: "Notenn", - TeX: "TeX", - StarMath: "StarMath", - OpenMath: "OpenMath", - Settings: "Arventenno\u00F9 ar matematiko\u00F9", - Click: "Klika\u00F1", - DoubleClick: "Daouglika\u00F1", - NoZoom: "Zoum ebet", - Option: "Dibarzh", - Command: "Urzhiad", - Control: "Kontroll", - ZoomFactor: "Feur zoum", - ForHTMLCSS: "Evit HTML-CSS :", - Auto: "Emgefre", - TeXLocal: "TeX (lec'hel)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (skeudenn)", - STIXLocal: "STIX (lec'hel)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "La\u00F1ser kemperzhel", - Browser: "Merdeer", - Locale: "Yezh", - LoadLocale: "Karga\u00F1 diwar an URL ...", - About: "Diwar-benn MathJax", - Help: "Sikour MathJax", - wofforotffonts: "fonto\u00F9 woff pe otf", - eotffonts: "fonto\u00F9 eot", - svgfonts: "Fonto\u00F9 svg", - LoadURL: "Karga\u00F1 roadenno\u00F9 trei\u00F1 eus an URL-ma\u00F1 :", - Close: "Serri\u00F1", - EqSource: "Tarzh kevatalenn MathJax", - AsciiMathInput: "Moned AsciiMathML", - Maple: "Maple", - ContentMathML: "Endalc'h MathML", - texHints: "Diskwel ar skoazello\u00F9 Tex e MathML", - ZoomTrigger: "Distegner Zoum", - TriggerRequires: "An distegner en deus ezhomm :", - Alt: "Erl", - Shift: "Pennlizherenn", - MPHandles: "Lezel MathPlayer da vera\u00F1 :", - MenuEvents: "Darvoudo\u00F9 la\u00F1ser", - MouseEvents: "Darvoudo\u00F9 logodenn", - MenuAndMouse: "Darvoudo\u00F9 logodenn ha la\u00F1serio\u00F9", - FontPrefs: "Penndibabo\u00F9 font", - Scale: "Lakaat an holl jedado\u00F9 hervez ar skeuliad...", - localTeXfonts: "Implijout ar fonto\u00F9 TeX lec'hel", - webTeXfonts: "Implijout fonto\u00F9 TeX ar web", - imagefonts: "Implijout ar fonto\u00F9 Skeudenn", - localSTIXfonts: "Implijout ar fonto\u00F9 STIX lec'hel", - webSVGfonts: "Implijout fonto\u00F9 SVG ar web", - genericfonts: "Implijout ar fonto\u00F9 Unicode generek", - BadData: "C'hwitet eo pellgardadur ar roadenno\u00F9 trei\u00F1 adalek %1", - NonZeroScale: "Ne zlefe ket ar skeuliad beza\u00F1 par da zero", - PercentScale: "Ar skeuliad a zlefe beza\u00F1 un dregantad (da skouer, 120 %%)", - IE8warning: "Se a ziweredekay al la\u00F1ser hag ar arc'hwelio\u00F9 zouma\u00F1. En o flas avat e c'halli klika\u00F1 war ur bomm en ur boueza\u00F1 war ar bouton Alt\n evit kaout al la\u00F1ser MathjAX.", - IE9warning: "Diweredekaet e vo al la\u00F1ser kemperzhel MathJax, met en e flas e c'hallot klika\u00F1 war ur bomm o terc'hel da boueza\u00F1 war ar bouton Alt evit kaout al la\u00F1ser MathJax.", - NoOriginalForm: "N'haller kaout furmad orin ebet", - CloseAboutDialog: "Serri\u00F1 ar voest kendivizout A-zivout MathJax", - FastPreview: "Dalberzh prim", - InTabOrder: "Enlakaat an urzh an ivinello\u00F9" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/br/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/TeX.js b/src/py/kaleido/vendor/mathjax/localization/br/TeX.js deleted file mode 100644 index 1bdfd9d4..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/br/TeX.js +++ /dev/null @@ -1,94 +0,0 @@ -/************************************************************* - * - * MathJax/localization/br/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("br","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Briataenn digeri\u00F1 a re pe briataenn serri\u00F1 diank", - ExtraCloseMissingOpen: "Briataenn serri\u00F1 a re pe briataenn digeri\u00F1 diank", - MissingLeftExtraRight: "\\left diank pe \\right a re", - ExtraLeftMissingRight: "\\left a re pe \\right diank", - Misplaced: "%1 lec'hiet fall", - AmbiguousUseOf: "Implij forc'hellek eus %1", - EnvBadEnd: "\\begin{%1} zo echuet gant \\end{%2}", - EnvMissingEnd: "\\end{%1} a vank", - MissingBoxFor: "Ar voest a vank evit %1", - MissingCloseBrace: "Ar vriataenn serri\u00F1 a vank", - MisplacedMiddle: "%1 a rank beza\u00F1 e-barzh \\left ha \\right", - MisplacedMoveRoot: "%1 ne c'hall beza\u00F1 nemet e-barzh ur wrizienn", - MultipleCommand: "Meur a %1", - IntegerArg: "Arguzenn %1 a rank beza\u00F1 un niver anterin", - InvalidMathMLAttr: "Doareenn MathML direizh : %1", - MissingArgFor: "Arguzenn diank evit %1", - InvalidEnv: "Anv endro \"%1\" direizh", - UnknownEnv: "endro dianav \"%1\"", - TokenNotFoundForCommand: "N'eus ket bet gallet kavout %1 evit %2", - MathNotTerminated: "Formulenn diechu er voest testenn", - CommandNotAllowedInEnv: "%1 n'eo ket aotreet en endro %2", - MultipleLabel: "Label '%1' termenet meur a wech", - CommandAtTheBeginingOfLine: "%1 a rank beza\u00F1 e dero\u00F9 al linenn", - BadMathStyleFor: "Stil matematikel direizh evit %1", - PositiveIntegerArg: "Arguzenn %1 a rank beza\u00F1 un niver pozitivel anterin", - MultlineRowsOneCol: "Ar renko\u00F9 e-barzh an endro %1 a rank kaout ur bann dres", - MultipleBBoxProperty: "%1 diferet div wech e-barzh %2", - ExtraEndMissingBegin: "%1 a re pe \\begingroup diank", - GlobalNotFollowedBy: "%1 n'eo ket heuliet gant \\let, \\def, pe \\newcommand", - UndefinedColorModel: "N'eo ket termenet patrom liv \"%1\"", - InvalidDecimalNumber: "Niver degel direizh", - InvalidNumber: "Niver direizh", - NewextarrowArg2: "Eil arguzenn %1 a rank beza\u00F1 daou niver anterin dispartiet gant ur virgulenn", - NewextarrowArg3: "Trede arguzenn %1 a rank beza\u00F1 un niverenn arouezenn unicode", - NoClosingChar: "Ne c'haller ket kavout an %1 serri\u00F1", - CantUseHash2: "Implij direizh eus # er patrom evit %1", - MismatchUseDef: "An implij eus %1 ne glot ket gant an termenadur anezha\u00F1", - RunawayArgument: "Arguzenn diechu evit %1 ?", - NoClosingDelim: "Ne c'haller ket kavout ur bevenner serri\u00F1 evit %1", - MissingScript: "Arguzenn en usskrid pe en isskrid a vank", - MissingOpenForSub: "Briataenn digeri\u00F1 a vank evit ar skrid en isskrid", - MissingOpenForSup: "Briataenn digeri\u00F1 a vank evit ar skrid en usskrid", - UndefinedControlSequence: "An urzh kontrolla\u00F1 %1 n'eo ket termenet", - DoubleExponent: "Usskrid doubl : implijit briataenno\u00F9 evit sklaeraat", - DoubleSubscripts: "Isskrid double : implijit briataenno\u00F9 evit sklaeraat", - CantUseHash1: "Ne c'hallit ket implijout an arouezenn # er mod jedoniezh", - MisplacedLimits: "N'eo aotreet an urzh %1 nemet gant an oberataerio\u00F9", - NotMathMLToken: "N'eo ket an elfenn %1 un elfenn MathML elfennel", - UnknownAttrForElement: "Dianav eo an doareenn %1 d'an elfenn %2", - ExtraAlignTab: "Arouezenn steuda\u00F1 '\u0026' dic'hortoz evit testenn an urzh /cases", - BracketMustBeDimension: "An argutezenn etre krochedo\u00F9 an urzh %1 a rank beza\u00F1 ur vent", - ExtraCloseLooking: "Briataenn serri\u00F1 dic'hortoz pa'z eo bet enklasket %1", - MissingCloseBracket: "Ne c'haller ket kavout ']' evit arguzenn an urzh %1", - MissingOrUnrecognizedDelim: "Ar bevenner a vank pe n'eo ket anavezet gant an urzh %1", - MissingDimOrUnits: "Ar Vent pe an unvez a vank evit an urzh %1", - IllegalMacroParam: "N'eo ket aotreet an arventenn dave makro", - IllegalAlign: "N'eo ket aotreet ar steudad evit an urzh %1", - ErroneousNestingEq: "Empradur direizh ar frammo\u00F9 kevatalenno\u00F9", - InvalidBBoxProperty: "Seblantout a ra n'eo ket an talvoud '%1' ul liv, ur ment marz bihanoc'h pe ur stil.", - ModelArg1: "An talvoudo\u00F9 livio\u00F9 evit ar patrom %1 o deus ezhomm eus 3 niverenn", - ModelArg2: "An talvoudo\u00F9 livio\u00F9 evit ar patrom %1 a rank beza\u00F1 etre %2 ha %3", - NewextarrowArg1: "Arguzenn genta\u00F1 an urzhiad %1 a rank beza\u00F1 anv ur seka\u00F1s kontrolla\u00F1", - IllegalControlSequenceName: "N'eo ket aotreet anv ar c'hontroll seka\u00F1s evit an urzh %1", - IllegalParamNumber: "Niver direizh a arventenno\u00F9 evit an urzh %1", - MissingCS: "%1 a rank beza\u00F1 heuliet gant ur seka\u00F1s kontrolla\u00F1", - MissingReplacementString: "Ar chadennad arouezenno\u00F9 erlec'hia\u00F1 a vank evit an termenadur %1.", - DoubleExponentPrime: "Un ask a zegas un usskrid doubl : implijit briataenno\u00F9 evit sklaeraat" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/br/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/br.js b/src/py/kaleido/vendor/mathjax/localization/br/br.js deleted file mode 100644 index 121e6e5a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/br/br.js +++ /dev/null @@ -1,66 +0,0 @@ -/************************************************************* - * - * MathJax/localization/br/br.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("br",null,{ - menuTitle: "brezhoneg", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "Fazi o treta\u00F1 ar formulenn", - MathError: "Fazi er formulenn", - LoadFile: "O karga\u00F1 %1", - Loading: "O karga\u00F1", - LoadFailed: "N'eus ket bet gallet karga\u00F1 %1", - ProcessMath: "Treta\u00F1 ar formulenno\u00F9 : %1%%", - Processing: "O treta\u00F1", - TypesetMath: "Aoza\u00F1 formulenno\u00F9 : %1%%", - Typesetting: "Aoza\u00F1", - MathJaxNotSupported: "Ne c'hall ket ho merdeer ober gant MathJax", - ErrorTips: "Alio\u00F9 dizreina\u00F1 : implijout %%1, ensellet %%2, e letrin ar merdeer" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n % 10 === 1 && !(n % 100 === 11 || n % 100 === 71 || - n % 100 === 91)) {return 1} // one - if (n % 10 === 2 && !(n % 100 === 12 || n % 100 === 72 || - n % 100 === 92)) {return 2} // two - if ((n % 10 === 3 || n % 10 === 4 || n % 10 === 9) && - !(10 <= n % 100 && n % 100 <= 19 || - 70 <= n % 100 && n % 100 <= 79 || - 90 <= n % 100 && n % 100 <= 99)) {return 3} // few - if (n !== 0 && n % 1000000 === 0) {return 4} // other - return 5; - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/br/br.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ca/FontWarnings.js deleted file mode 100644 index fed5c770..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ca/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ca/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ca","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax est\u00E0 utilitzant fonts basades en web per mostrar les expressions matem\u00E0tiques d'aquesta p\u00E0gina. Aix\u00F2 porta un temps per descarregar, de tal manera que la p\u00E0gina es mostrar\u00E0 m\u00E9s r\u00E0pidament si instal\u00B7leu les fonts matem\u00E0tiques directament a la vostra carpeta de sistema de fonts.", - imageFonts: "MathJaz est\u00E0 utilitzant les seves fonts d'imatge en comptes de fonts locals o basades en web. Aix\u00F2 pot fer que la composici\u00F3 de la p\u00E0gina sigui m\u00E9s lenta que l'habitual, i les expressions matem\u00E0tiques poden no imprimir-se a resoluci\u00F3 completa en la vostra impressora.", - noFonts: "MathJax no pot localitzar una font per a utilitzar-la a l'hora de mostrar les expressions matem\u00E0tiques, de tal manera que es recolza en car\u00E0cters Unicode gen\u00E8rics, amb el sup\u00F2sit que el vostre navegador ser\u00E0 capa\u00E7 de mostrar-les. Alguns car\u00E0cters poden no mostrar-se correctament, o fins i tot poden no mostrar-se en absolut.", - webFonts: "La majoria de navegadors moderns permeten la desc\u00E0rrega de les fonts. Si actualitzeu a una versi\u00F3 m\u00E9s nova del vostre navegador (o si canvieu de navegador) podreu millorar la qualitat de les expressions matem\u00E0tiques d'aquesta p\u00E0gina.", - fonts: "MathJax pot utilitzar tant les [fonts STIX](%1) com les [fonts TeX MathJax](%2). Descarregueu i instal\u00B7leu una d'aquestes fonts per millorar la vostra experi\u00E8ncia MathJax.", - STIXPage: "Aquesta p\u00E0gina est\u00E0 dissenyada per usar les [fonts STIX](%1). Descarregueu i instal\u00B7leu aquestes fonts per millorar la vostra experi\u00E8ncia MathJax.", - TeXPage: "Aquesta p\u00E0gina est\u00E0 dissenyada per usar les [fonts TeX MathJax](%1). Descarregueu i instal\u00B7leu aquestes fonts per millorar la vostra experi\u00E8ncia MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ca/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ca/HTML-CSS.js deleted file mode 100644 index 4c7573bf..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ca/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ca/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ca","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Carregant font web %1", - CantLoadWebFont: "No es pot carregar la font web %1", - FirefoxCantLoadWebFont: "Firefox no pot carregar fonts web des d'un servidor remot", - CantFindFontUsing: "No es pot trobar una font v\u00E0lida usant %1", - WebFontsNotAvailable: "Fonts web no disponibles. S'estan usant fonts d'imatge" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ca/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ca/HelpDialog.js deleted file mode 100644 index de5555a7..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ca/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ca/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ca","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Ajuda MathJax", - MathJax: "*MathJax* \u00E9s una llibreria JavaScript que permet als autors de p\u00E0gines incloure expressions matem\u00E0tiques a les seves p\u00E0gines web. Com a lector, no necessiteu res perqu\u00E8 pugueu visualitzar la p\u00E0gina.", - Browsers: "*Navegadors*: MathJax funciona amb tots els navegadors moderns, incloent IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ i la majoria de navegadors m\u00F2bils.", - Menu: "*Men\u00FA matem\u00E0tiques*: MathJax afegeix un men\u00FA contextual a les equacions. Feu clic amb el bot\u00F3 dret, o Ctrl-clic, sobre qualsevol f\u00F3rmula per accedir al men\u00FA.", - ShowMath: "*Mostra f\u00F3rmula com a* us permet visualitzar el codi font de la f\u00F3rmula, per tal que pugueu copiar i enganxar (en format MathML o en el seu format original).", - Settings: "*Configuraci\u00F3* us permet controlar diverses caracter\u00EDstiques de MathJax, com la mida de les f\u00F3rmules, i el mecanisme emprat per visualitzar les equacions.", - Language: "*Idioma* us permet seleccionar l'idioma emprat per MathJax en els seus men\u00FAs i missatges d'advert\u00E8ncia.", - Zoom: "*Zoom*: Si teniu dificultats a l'hora de llegir una equaci\u00F3, MathJax pot ampliar-la per ajudar-vos a veure-la millor.", - Accessibilty: "*Accessibilitat*: MathJax funciona autom\u00E0ticament amb lectors de pantalla, per a fer les expressions matem\u00E0tiques accessibles a aquells que tenen dificultats de visi\u00F3.", - Fonts: "*Fonts*: MathJax usa algunes fonts matem\u00E0tiques si estan instal\u00B7lades al vostre ordinador; si no les hi troba, usar\u00E0 fonts basades en la web. Encara que no \u00E9s necessari, si instal\u00B7leu les fonts localment, aix\u00F2i ajudar\u00E0 a qu\u00E8 la composici\u00F3 de la p\u00E0gina sigui m\u00E9s r\u00E0pida. Us suggerim que instal\u00B7leu les [fonts STIX](%1).", - CloseDialog: "Tanca el di\u00E0leg d'ajuda" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ca/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ca/MathML.js deleted file mode 100644 index ca2086e8..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ca/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ca/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ca","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "Mglyph incorrecte: %1", - BadMglyphFont: "Font incorrecta: %1", - MathPlayer: "MathJax no ha pogut configurar MathPlayer.\n\nSi MathPlayer no est\u00E0 instal\u00B7lat, necessiteu instal\u00B7lar-lo pr\u00E8viament. Altrament, pot ser que la vostra configuraci\u00F3 de seguretat estigui blocant l'execuci\u00F3 de controls ActiveX. Useu el men\u00FA Opcions d'Internet dins el men\u00FA Eines i seleccioneu la pestanya Seguretat, i llavors premeu el bot\u00F3 Nivell Personalitzat. Assegureu-vos que les configuracions per 'Executar Controls ActiveX' i 'Comportaments binari i script' estan activades.\n\nDe moment veureu missatges d'error en comptes de f\u00F3rmules matem\u00E0tiques.", - CantCreateXMLParser: "MathJax no pot crear un analitzador XML per MathML. Comproveu que la configuraci\u00F3 de seguretat 'Controls de script ActiveX marcats segurs per scripting' est\u00E0 marcada (aneu a l'opci\u00F3 Opcions d'Internet dins el men\u00FA Eines, i seleccioneu el panell de Seguretat; despr\u00E9s, cliqueu el bot\u00F3 Nivell Personalitzat per activar aquesta configuraci\u00F3).\n\nLes equacions MathML no podran ser processades per MathJax", - UnknownNodeType: "Tipus de node desconegut: %1", - UnexpectedTextNode: "Node de text inesperat: %1", - ErrorParsingMathML: "Error d'an\u00E0lisi MathML", - ParsingError: "Error d'an\u00E0lisi MathML: %1", - MathMLSingleElement: "MathML ha d'estar format per un sol element", - MathMLRootElement: "MathML ha d'estar format per un element \u003Cmath\u003E, no per %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ca/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ca/MathMenu.js deleted file mode 100644 index c52b15bd..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ca/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ca/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ca","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Mostra f\u00F3rmules com a", - MathMLcode: "Codi MathML", - OriginalMathML: "MathML original", - TeXCommands: "Comands TeX", - AsciiMathInput: "Entrada de AsciiMathML", - Original: "Forma original", - ErrorMessage: "Missatge d'error", - Annotation: "Anotaci\u00F3", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Contingut MathML", - OpenMath: "OpenMath", - texHints: "Mostra ajudes TeX en MathML", - Settings: "Configuraci\u00F3 de MathML", - ZoomTrigger: "Control de zoom", - Hover: "Passar el ratol\u00ED per sobre", - Click: "Clic", - DoubleClick: "Doble-clic", - NoZoom: "Sense zoom", - TriggerRequires: "El control requereix:", - Option: "Opci\u00F3", - Alt: "Alt", - Command: "Comand", - Control: "Control", - Shift: "Maj\u00FAscules", - ZoomFactor: "Factor de zoom", - Renderer: "Processador de f\u00F3rmules", - MPHandles: "Permetre que MathPlayer controli:", - MenuEvents: "Events de men\u00FA", - MouseEvents: "Events de ratol\u00ED", - MenuAndMouse: "Events de ratol\u00ED i de men\u00FA", - FontPrefs: "Prefer\u00E8ncies de font", - ForHTMLCSS: "Per HTML-CSS:", - Auto: "Auto", - TeXLocal: "TeX (local)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (imatge)", - STIXLocal: "STIX (local)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Men\u00FA contextual", - Browser: "Navegador", - Scale: "Escalar totes les f\u00F3mules...", - Discoverable: "Iluminar quan el ratol\u00ED passi per sobre", - Locale: "Idioma", - LoadLocale: "Carrega des de l'URL...", - About: "Sobre MathJax", - Help: "Ajuda de MathJax", - localTeXfonts: "usar fonts TeX locals", - webTeXfonts: "usar font web TeX", - imagefonts: "usar fonts d'imatge", - localSTIXfonts: "usar fonts STIX locals", - webSVGfonts: "usar fonts SVG web", - genericfonts: "usar fonts gen\u00E8riques Unicode", - wofforotffonts: "fonts WOFF o OTF", - eotffonts: "fonts EOT", - svgfonts: "fonts SVG", - WebkitNativeMMLWarning: "Sembla que el vostre navegador no permet MathML de forma nativa; si canvieu a la visualitzaci\u00F3 MathML pot ser que les f\u00F3rmules de la p\u00E0gina no es puguin llegir correctament", - MSIENativeMMLWarning: "Internet Explorer requereix el plugin MathPlayer per processar el resultat de MathML", - OperaNativeMMLWarning: "El suport d'Opera per MathML \u00E9s limitat; si canvieu a la visualitzaci\u00F3 MathML pot ser que algunes expressions no es visualitzin correctament.", - SafariNativeMMLWarning: "El MathML del vostre navegador no implementa totes les caracter\u00EDstiques usades per MathJax; algunes expressions poden no visualitzar-se correctament.", - FirefoxNativeMMLWarning: "El MathML del vostre navegador no implementa totes les caracter\u00EDstiques usades per MathJax; algunes expressions poden no visualitzar-se correctament.", - MSIESVGWarning: "SVG no est\u00E0 implementat en Internet Explorer anterior a IE9 o quan est\u00E0 emulant IE8 o anterior. Si canvieu a visualitzaci\u00F3 SVG, les f\u00F3rmules no es visualitzaran correctament.", - LoadURL: "Carregar les dades de traducci\u00F3 d'aquesta URL:", - BadURL: "La URL ha de ser per un arxiu JavaScript que defineixi les dades de traducci\u00F3 per MathJax. Els noms d'arxius JavaScript han de finalitzar amb '.js'", - BadData: "No s'han pogut carregar les dades de traducci\u00F3 des de %1", - SwitchAnyway: "Canviar la visualitzaci\u00F3 de totes maneres?\n\n(Premeu Acceptar per canviar, Cancel\u00B7lar per continuar amb la visualitzaci\u00F3 actual)", - ScaleMath: "Escalar totes les f\u00F3rmules (en comparaci\u00F3 amb el text adjacent) per", - NonZeroScale: "L'escalat no pot ser zero", - PercentScale: "L'escalat ha de ser un percentatge (per exemple 120%%)", - IE8warning: "Aix\u00F2 desactivar\u00E0 les caracter\u00EDstiques de men\u00FA i zoom de MathJax, per\u00F2 podeu fer Alt-clic sobre una expressi\u00F3 per mostrar el men\u00FA MathJax.\n\nRealment voleu canviar la configuraci\u00F3 de MathPlayer?", - IE9warning: "El men\u00FA contextual de MathJax es desactivar\u00E0, per\u00F2 podeu fer Alt-clic sobre una expressi\u00F3 per mostrar el men\u00FA MathJax.", - NoOriginalForm: "No s'ha trobat cap forma original", - Close: "Tanca", - EqSource: "Codi font d'equaci\u00F3 MathJax", - CloseAboutDialog: "Tanca el di\u00E0leg de quant al MathJax", - FastPreview: "Vista pr\u00E8via r\u00E0pida", - AssistiveMML: "MathML auxiliar", - InTabOrder: "Inclou en l'ordre de pestanyes" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ca/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ca/TeX.js deleted file mode 100644 index 7df70ada..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ca/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ca/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ca","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Sobra una clau d'apertura o falta una clau de tancament", - ExtraCloseMissingOpen: "Sobra una clau de tancament o falta una clau d'abertura", - MissingLeftExtraRight: "Falta \\left o sobra \\right", - MissingScript: "Falta argument de super\u00EDdex o sub\u00EDndex", - ExtraLeftMissingRight: "Sobra \\left o falta \\right", - Misplaced: "%1 col\u00B7locat err\u00F2niament", - MissingOpenForSub: "Falta clau d'abertura per sub\u00EDndex", - MissingOpenForSup: "Falta clau d'abertura per super\u00EDndex", - AmbiguousUseOf: "\u00DAs ambigu de %1", - EnvBadEnd: "\\begin{%1} finalitzat amb \\end{%2}", - EnvMissingEnd: "Falta \\end{%1}", - MissingBoxFor: "Falta caixa per %1", - MissingCloseBrace: "Falta clau de tancament", - UndefinedControlSequence: "Seq\u00FC\u00E8ncia de control no definida %1", - DoubleExponent: "Doble exponent: useu claus per aclarir", - DoubleSubscripts: "Dobre sub\u00EDndex: useu claus per aclarir", - DoubleExponentPrime: "El s\u00EDmbol \"prima\" causa doble exponent: useu claus per aclarir", - CantUseHash1: "No podeu fer servir 'el car\u00E0cter # com a par\u00E0metre de macro' en mode matem\u00E0tic", - MisplacedMiddle: "%1 ha d'estar entre \\left i \\right", - MisplacedLimits: "%1 nom\u00E9s es permet en operadors", - MisplacedMoveRoot: "%1 nom\u00E9s pot apar\u00E8ixer a dins d'una arrel", - MultipleCommand: "%1 m\u00FAltiples", - IntegerArg: "L'argument de %1 ha de ser enter", - NotMathMLToken: "%1 no \u00E9s un element de token", - InvalidMathMLAttr: "Atribut MathML inv\u00E0lid: %1", - UnknownAttrForElement: "%1 no \u00E9s un atribut v\u00E0lid per %2", - MaxMacroSub1: "S'ha sobrepassat el nombre m\u00E0xim de substitucions en una macro MathJax; hi ha una crida de macro recursiva?", - MaxMacroSub2: "El comptador m\u00E0xim de substitucions de MathJax s'ha sobrepassat; hi ha un entorn de LaTeX recursiu?", - MissingArgFor: "Falta argument per %1", - ExtraAlignTab: "Marca d'alineaci\u00F3 extra en text \\cases", - BracketMustBeDimension: "Argument de claud\u00E0tor per %1 ha de ser una dimensi\u00F3", - InvalidEnv: "Nom d'entorn inv\u00E0lid '%1'", - UnknownEnv: "Entorn desconegut '%1'", - ExtraCloseLooking: "Clau de tancament extra mentre es buscava %1", - MissingCloseBracket: "No s'ha pogut trobar ']' de tancament per argument de %1", - MissingOrUnrecognizedDelim: "Falta delimitador o delimitador no reconegut per %1", - MissingDimOrUnits: "Falta dimensi\u00F3 o unitats per %1", - TokenNotFoundForCommand: "No s'ha pogut trobar %1 per %2", - MathNotTerminated: "Expressi\u00F3 matem\u00E0tica no finalitzada en quadre de text", - IllegalMacroParam: "Refer\u00E8ncia il\u00B7legal a par\u00E0metre de macro", - MaxBufferSize: "S'ha sobrepassat la mida de la mem\u00F2ria interm\u00E8dia interna de MathJax; hi ha una crida de macro recursiva?", - CommandNotAllowedInEnv: "%1 no perm\u00E8s en entorn %2", - MultipleLabel: "Etiqueta '%1' definida m\u00E9s d'una veegada", - CommandAtTheBeginingOfLine: "%1 ha d'apar\u00E8ixer a l'inici de la l\u00EDnia", - IllegalAlign: "Alineaci\u00F3 especificiada no \u00E9s v\u00E0lida a %1", - BadMathStyleFor: "Estil de matem\u00E0tiques incorrecte per %1", - PositiveIntegerArg: "L'argument de %1 ha de ser un enter positiu", - ErroneousNestingEq: "Nidificaci\u00F3 incorrecta d'estructures d'equaci\u00F3", - MultlineRowsOneCol: "Les files dins l'entorn %1 han de tenir exactament una columna", - MultipleBBoxProperty: "%1 s'ha especificat dues vegades dins %2", - InvalidBBoxProperty: "'%1' no \u00E9s un color, una dimensi\u00F3 o un estil", - ExtraEndMissingBegin: "Sobra %1 o falta \\begingroup", - GlobalNotFollowedBy: "%1 no est\u00E0 seguit per \\let, \\def o \\newcommand", - UndefinedColorModel: "Model de color '%1' no definit", - ModelArg1: "Valors de color pel model %1 requereixen 3 n\u00FAmeros", - InvalidDecimalNumber: "N\u00FAmero decimal incorrecte", - ModelArg2: "Valors de color pel model %1 han d'estar entre %2 i %3", - InvalidNumber: "N\u00FAmero inv\u00E0lid", - NewextarrowArg1: "El primer argument per %1 ha de ser un nom de seq\u00FC\u00E8ncia de control", - NewextarrowArg2: "El segon argument per %1 ha de ser dos enters separats per una coma", - NewextarrowArg3: "El tercer argument per %1 ha de ser un n\u00FAmero de car\u00E0cter Unicode", - NoClosingChar: "No s'ha trobat el %1 de tancament", - IllegalControlSequenceName: "Nom de seq\u00FC\u00E8ncia de control incorrecta per %1", - IllegalParamNumber: "S'ha especificat un nombre incorrecte de par\u00E0metres dins %1", - MissingCS: "%1 ha de ser seguit per una seq\u00FC\u00E8ncia de control", - CantUseHash2: "\u00DAs incorrecte de # en plantilla per %1", - SequentialParam: "Els par\u00E0metres per %1 s'han de numerar seq\u00FCencialment", - MissingReplacementString: "Falta cadena de substituci\u00F3 a la definici\u00F3 de %1", - MismatchUseDef: "L'\u00FAs de %1 no concorda amb la seva definici\u00F3", - RunawayArgument: "Argument fora de control per %1?", - NoClosingDelim: "No s'ha trobar el delimitador de tancament per %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ca/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/ca.js b/src/py/kaleido/vendor/mathjax/localization/ca/ca.js deleted file mode 100644 index a05ab99d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ca/ca.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ca/ca.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ca",null,{ - menuTitle: "catal\u00E0", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax ha trobat una galeta de configuraci\u00F3 d'usuari que inclou codi que s'ha d'executar. Voleu executar-lo?", - MathProcessingError: "Error en processament d'expressi\u00F3 matem\u00E0tica", - MathError: "Error d'expressi\u00F3 matem\u00E0tica", - LoadFile: "Carregant %1", - Loading: "Carregant", - LoadFailed: "No s'ha pogut carregar el fitxer: %1", - ProcessMath: "Processant expressi\u00F3: %1%%", - Processing: "Processant", - TypesetMath: "Formatejant expressi\u00F3: %1%%", - Typesetting: "Formatejant", - MathJaxNotSupported: "El vostre navegador no suporta MathJax", - ErrorTips: "Consells de depuraci\u00F3: utilitzeu %%1, inspeccioneu %%2 a la consola del navegador" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return String(n).replace(".", ","); // replace dot by comma - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ca/ca.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/cdo/FontWarnings.js deleted file mode 100644 index 8bf7f22a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cdo/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cdo/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cdo","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/cdo/HTML-CSS.js deleted file mode 100644 index 8a6b9c3f..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cdo/HTML-CSS.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cdo/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cdo","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/cdo/HelpDialog.js deleted file mode 100644 index 628b0b11..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cdo/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cdo/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cdo","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/MathML.js b/src/py/kaleido/vendor/mathjax/localization/cdo/MathML.js deleted file mode 100644 index 24031546..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cdo/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cdo/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cdo","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/cdo/MathMenu.js deleted file mode 100644 index 627e456c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cdo/MathMenu.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cdo/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cdo","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/TeX.js b/src/py/kaleido/vendor/mathjax/localization/cdo/TeX.js deleted file mode 100644 index a09d6130..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cdo/TeX.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cdo/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cdo","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/cdo.js b/src/py/kaleido/vendor/mathjax/localization/cdo/cdo.js deleted file mode 100644 index cb20c708..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cdo/cdo.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cdo/cdo.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cdo",null,{ - menuTitle: "M\u00ECng-d\u0115\u0324ng-ng\u1E73\u0304", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax\u5DF2\u7D93\u8A0E\u8457\u5305\u62EC\u6703\u904B\u884C\u5176\u4EE3\u78BC\u5176\u7528\u6236\u914D\u7F6Ecookie\u3002\u6C5D\u6709\u60F3\u904B\u884C\u7121\uFF1F\n\n\uFF08\u9664\u958B\u9019\u78BA\u5BE6\u662F\u6C5D\u81EA\u5BB6\u7279\u610F\u8A2D\u5176cookie\uFF0C\u82E5\u7121\u6C5D\u8457\u9EDE\u53D6\u6D88\u3002\uFF09", - MathProcessingError: "\u6578\u5B78\u8655\u7406\u932F\u8AA4", - MathError: "\u6578\u5B78\u932F\u8AA4", - LoadFile: "\u8F09\u5165%1", - Loading: "\u8F09\u5165", - LoadFailed: "\u6587\u4EF6\u8F09\u5165\u5931\u6557\uFF1A%1", - ProcessMath: "\u8655\u7406\u6578\u5B78\uFF1A%1%%", - Processing: "\u6546\uD844\uDD4F\u8655\u7406", - TypesetMath: "\u6392\u7248\u6578\u5B78\uFF1A%1%%", - Typesetting: "\u6546\uD844\uDD4F\u6392\u7248", - MathJaxNotSupported: "\u6C5D\u5176\u700F\u89BD\u5668\uD84C\uDF50\u652F\u6301MathJax" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/cdo.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ce/FontWarnings.js deleted file mode 100644 index adc4fb26..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ce/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ce/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ce","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ce/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ce/HTML-CSS.js deleted file mode 100644 index fd0bd822..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ce/HTML-CSS.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ce/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ce","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ce/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ce/HelpDialog.js deleted file mode 100644 index 7c0b6c0c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ce/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ce/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ce","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ce/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ce/MathML.js deleted file mode 100644 index faf7d3a7..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ce/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ce/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ce","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ce/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ce/MathMenu.js deleted file mode 100644 index 98c70e8e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ce/MathMenu.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ce/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ce","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ce/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ce/TeX.js deleted file mode 100644 index 82ce4dc3..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ce/TeX.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ce/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ce","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ce/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/ce.js b/src/py/kaleido/vendor/mathjax/localization/ce/ce.js deleted file mode 100644 index 64d91785..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ce/ce.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ce/ce.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ce",null,{ - menuTitle: "\u041D\u043E\u0445\u0447\u0438\u0439\u043D \u043C\u043E\u0442\u0442", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438\u043D \u043A\u0435\u0447\u0434\u0430\u0440\u0430\u043D \u0433\u04C0\u0430\u043B\u0430\u0442", - MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438\u043D \u0433\u04C0\u0430\u043B\u0430\u0442", - LoadFile: "\u0427\u0443\u0439\u043E\u043B\u0443\u0448 %1", - Loading: "\u0427\u0443\u0439\u043E\u043B\u0443\u0448", - LoadFailed: "\u0427\u0443\u044F\u043A\u043A\u0445\u0430 \u0446\u0430\u0435\u043B\u0438\u0440\u0430: %1", - ProcessMath: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 \u043A\u0435\u0447\u044F\u0440: %1%%", - Processing: "\u041A\u0435\u0447\u0434\u0430\u0440" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n % 10 === 1 && n % 100 !== 11) return 1; // one - if (2 <= n % 10 && n % 10 <= 4 && 12 <= n % 100 && n % 100 <= 14) return 2; // few - if (n % 10 === 0 || (5 <= n % 10 && n % 10 <= 9) || - (11 <= n % 100 && n % 100 <= 14)) return 2; // many - return 3; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ce/ce.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/cs/FontWarnings.js deleted file mode 100644 index 25876646..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cs/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cs/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cs","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax pou\u017E\u00EDv\u00E1 k zobrazen\u00ED matematiky na t\u00E9to str\u00E1nce webov\u00E1 p\u00EDsma. T\u011Bm trv\u00E1 sta\u017Een\u00ED n\u011Bjakou dobu, tak\u017Ee str\u00E1nka by se vykreslila rychleji, pokud byste si tato matematick\u00E1 p\u00EDsma nainstalovali p\u0159\u00EDmo do syst\u00E9mov\u00E9 slo\u017Eky p\u00EDsem.", - imageFonts: "MathJax pou\u017E\u00EDv\u00E1 m\u00EDsto m\u00EDstn\u00EDch nebo webov\u00FDch p\u00EDsem obr\u00E1zkov\u00E9 p\u00EDsmo. Proto bude vykreslov\u00E1n\u00ED pomalej\u0161\u00ED, ne\u017E je obvykl\u00E9, a p\u0159i tisku na Va\u0161\u00ED tisk\u00E1rn\u011B mo\u017En\u00E1 nebude matematika vykreslena na nejlep\u0161\u00ED rozli\u0161en\u00ED.", - noFonts: "MathJax nedok\u00E1\u017Ee naj\u00EDt p\u00EDsmo, kter\u00FDm by vykreslil matematiku, a obr\u00E1zkov\u00E1 p\u00EDsma nejsou k dispozici, tak\u017Ee se uch\u00FDl\u00ED k b\u011B\u017En\u00FDm znak\u016Fm Unicode v nad\u011Bji, \u017Ee je v\u00E1\u0161 prohl\u00ED\u017Ee\u010D dok\u00E1\u017Ee zobrazit. N\u011Bkter\u00E9 znaky se mo\u017En\u00E1 nezobraz\u00ED spr\u00E1vn\u011B, nebo dokonce v\u016Fbec.", - webFonts: "V\u011Bt\u0161ina modern\u00EDch prohl\u00ED\u017Ee\u010D\u016F umo\u017E\u0148uje sta\u017Een\u00ED p\u00EDsem p\u0159es web. Aktualizace na nov\u011Bj\u0161\u00ED verzi prohl\u00ED\u017Ee\u010De (nebo zm\u011Bna prohl\u00ED\u017Ee\u010De) by mohla zlep\u0161it zobrazen\u00ED matematiky na t\u00E9to str\u00E1nce.", - fonts: "MathJax m\u016F\u017Ee pou\u017E\u00EDvat bu\u010F [p\u00EDsma STIX](%1) nebo [MathJaxov\u00E1 TeXov\u00E1 p\u00EDsma](%2). St\u00E1hn\u011Bte a nainstalujte si jedny z nich, abyste si MathJax u\u017Eili l\u00E9pe.", - STIXPage: "Tato str\u00E1nka je vytvo\u0159ena pro pou\u017Eit\u00ED s [p\u00EDsmy STIX](%1). St\u00E1hn\u011Bte a nainstalujte si tato p\u00EDsma, abyste si l\u00E9pe u\u017Eili MathJax.", - TeXPage: "Tato str\u00E1nka je vytvo\u0159ena pro pou\u017Eit\u00ED s [MathJaxov\u00FDmi TeXov\u00FDmi p\u00EDsmy](%1). Pro lep\u0161\u00ED vyu\u017E\u00EDv\u00E1n\u00ED MathJaxu si st\u00E1hn\u011Bte a nainstalujte tato p\u00EDsma." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cs/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/cs/HTML-CSS.js deleted file mode 100644 index acf7bf50..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cs/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cs/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cs","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Na\u010D\u00EDt\u00E1 se web-font %1", - CantLoadWebFont: "Nelze na\u010D\u00EDst web-font %1", - FirefoxCantLoadWebFont: "Firefox nem\u016F\u017Ee na\u010D\u00EDtat web-fonty ze vzd\u00E1len\u00E9ho hostitele", - CantFindFontUsing: "Nelze naj\u00EDt platn\u00FD font pomoc\u00ED %1", - WebFontsNotAvailable: "Webov\u00E9 fonty nejsou k dispozici. M\u00EDsto toho jsou pou\u017Eity obr\u00E1zkov\u00E9 fonty." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cs/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/cs/HelpDialog.js deleted file mode 100644 index 5b3d75f6..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cs/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cs/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cs","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "N\u00E1pov\u011Bda k MathJaxu", - MathJax: "*MathJax* je JavaScriptov\u00E1 knihovna, kter\u00E1 autor\u016Fm str\u00E1nek umo\u017E\u0148uje zahrnout do str\u00E1nek matematiku. Jako \u010Dten\u00E1\u0159 se nemus\u00EDte o nic starat.", - Browsers: "*Prohl\u00ED\u017Ee\u010De*: MathJax pracuje na v\u0161ech modern\u00EDch prohl\u00ED\u017Ee\u010D\u00EDch v\u010Detn\u011B IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ a v\u011Bt\u0161in\u011B mobiln\u00EDch prohl\u00ED\u017Ee\u010D\u016F.", - Menu: "*Matematick\u00E9 menu*: MathJax p\u0159id\u00E1v\u00E1 k rovnic\u00EDm kontextov\u00E9 menu. Pro zobrazen\u00ED menu klikn\u011Bte prav\u00FDm tla\u010D\u00EDtkem my\u0161i nebo s podr\u017Een\u00EDm kl\u00E1vesy Ctrl na jakoukoli matematiku.", - ShowMath: "*Zobrazit matematiku jako* v\u00E1m umo\u017En\u00ED prohl\u00E9dnout si zdrojov\u00FD k\u00F3d vzorce pro okop\u00EDrov\u00E1n\u00ED (jako MathML nebo v p\u016Fvodn\u00EDm form\u00E1tu).", - Settings: "*Nastaven\u00ED* v\u00E1m umo\u017E\u0148uj\u00ED p\u0159izp\u016Fsobit si n\u011Bkter\u00E9 funkce MathJaxu, jako jsou velikost matematiky \u010Di mechanismy pou\u017E\u00EDvan\u00E9 k zobrazov\u00E1n\u00ED rovnic.", - Language: "*Jazyk* v\u00E1m umo\u017En\u00ED zvolit si jazyk pou\u017E\u00EDvan\u00FD MathJaxem pro menu a chybov\u00E1 hl\u00E1\u0161en\u00ED.", - Zoom: "*Matematick\u00FD zoom*: Pokud v\u00E1m d\u011Bl\u00E1 probl\u00E9my \u010Dten\u00ED rovnice, Mathjax v\u00E1m umo\u017En\u00ED ji zv\u011Bt\u0161it, abyste ji l\u00E9pe vid\u011Bli.", - Accessibilty: "*P\u0159\u00EDstupnost*: MathJax automaticky funguje s \u010Dte\u010Dkami obrazovky, aby matematiku zp\u0159\u00EDstupnil zrakov\u011B posti\u017Een\u00FDm.", - Fonts: "*P\u00EDsma*: MathJax bude pou\u017E\u00EDvat jist\u00E1 matematick\u00E1 p\u00EDsma, pokud je m\u00E1te na po\u010D\u00EDta\u010Di nainstalovan\u00E9; v opa\u010Dn\u00E9m p\u0159\u00EDpad\u011B pou\u017Eije p\u00EDsma webov\u00E1. P\u0159esto\u017Ee to nen\u00ED nutn\u00E9, lok\u00E1ln\u011B nainstalovan\u00E1 p\u00EDsma urychl\u00ED sazbu. Doporu\u010Dujeme nainstalovat [p\u00EDsma STIX](%1).", - CloseDialog: "Zav\u0159\u00EDt okno s n\u00E1pov\u011Bdou" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cs/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/MathML.js b/src/py/kaleido/vendor/mathjax/localization/cs/MathML.js deleted file mode 100644 index 53eb8a15..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cs/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cs/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cs","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "Chybn\u00FD mglyph: %1", - BadMglyphFont: "\u0160patn\u00E9 p\u00EDsmo: %1", - MathPlayer: "MathJax nedok\u00E1zal spustit MathPlayer.\n\nPokud nen\u00ED MathPlayer nainstalov\u00E1n, budete ho muset nejprve nainstalovat.\nJinak mo\u017En\u00E1 spu\u0161t\u011Bn\u00ED ovl\u00E1dac\u00EDch prvk\u016F ActiveX br\u00E1n\u00ED va\u0161e bezpe\u010Dnostn\u00ED\nnastaven\u00ED. Klikn\u011Bte v nab\u00EDdce N\u00E1stroje na polo\u017Eku Mo\u017Enosti Internetu,\nvyberte z\u00E1lo\u017Eku Zabezpe\u010Den\u00ED a klikn\u011Bte na tla\u010D\u00EDtko Vlastn\u00ED \u00FArove\u0148.\nZkontrolujte, \u017Ee jsou povolen\u00E9 mo\u017Enosti \u201ESpou\u0161t\u011Bt ovl\u00E1dac\u00ED prvky ActiveX\u201C\na \u201EChov\u00E1n\u00ED skript\u016F a bin\u00E1rn\u00EDch soubor\u016F\u201C.\n\nMoment\u00E1ln\u011B uvid\u00EDte m\u00EDsto vys\u00E1zen\u00E9 matematiky chybov\u00E1 hl\u00E1\u0161en\u00ED.", - CantCreateXMLParser: "MathJax nem\u016F\u017Ee vytvo\u0159it syntaktick\u00FD analyz\u00E1tor XML pro MathML.\nZkontrolujte,\u017Ee m\u00E1te povolen\u00E9 nastaven\u00ED \u201ESkriptovat ovl\u00E1dac\u00ED\nprvky ActiveX ozna\u010Den\u00E9 jako bezpe\u010Dn\u00E9\u201C (v nab\u00EDdce N\u00E1stroje\nklikn\u011Bte na polo\u017Eku Mo\u017Enosti Internetu, vyberte z\u00E1lo\u017Eku\nZabezpe\u010Den\u00ED a klikn\u011Bte na tla\u010D\u00EDtko Vlastn\u00ED \u00FArove\u0148).\n\nMathJax nebude moci zpracov\u00E1vat rovnice v MathML", - UnknownNodeType: "Nezn\u00E1m\u00FD typ uzlu: %1", - UnexpectedTextNode: "Neo\u010Dek\u00E1van\u00FD textov\u00FD uzel: %1", - ErrorParsingMathML: "Chyba p\u0159i anal\u00FDze MathML", - ParsingError: "Chyba p\u0159i anal\u00FDze MathML: %1", - MathMLSingleElement: "MathML mus\u00ED b\u00FDt tvo\u0159eno jedin\u00FDm elementem", - MathMLRootElement: "MathML mus\u00ED b\u00FDt tvo\u0159eno elementem \u003Cmath\u003E, nikoli %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cs/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/cs/MathMenu.js deleted file mode 100644 index 7f5c999d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cs/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cs/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cs","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Zobrazit matematiku jako", - MathMLcode: "K\u00F3d MathML", - OriginalMathML: "P\u016Fvodn\u00ED MathML", - TeXCommands: "P\u0159\u00EDkazy TeXu", - AsciiMathInput: "Vstup AsciiMathML", - Original: "P\u016Fvodn\u00ED podoba", - ErrorMessage: "Chybov\u00E9 hl\u00E1\u0161en\u00ED", - Annotation: "Anotace", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "V\u00FDznamov\u00E9 MathML", - OpenMath: "OpenMath", - texHints: "Zobrazovat v MathML n\u00E1pov\u011Bdy TeXu", - Settings: "Nastaven\u00ED matematiky", - ZoomTrigger: "Aktivace zoomu", - Hover: "Najet\u00EDm my\u0161\u00ED", - Click: "Kliknut\u00EDm", - DoubleClick: "Dvojklikem", - NoZoom: "Bez zoomu", - TriggerRequires: "Aktivace vy\u017Eaduje:", - Option: "Option", - Alt: "Alt", - Command: "Command", - Control: "Control", - Shift: "Shift", - ZoomFactor: "M\u00EDra zoomu", - Renderer: "Vykreslov\u00E1n\u00ED matematiky", - MPHandles: "MathPlayer m\u00E1 zpracov\u00E1vat:", - MenuEvents: "Ud\u00E1losti menu", - MouseEvents: "Ud\u00E1losti my\u0161i", - MenuAndMouse: "Ud\u00E1losti my\u0161i a menu", - FontPrefs: "Nastaven\u00ED p\u00EDsem", - ForHTMLCSS: "U HTML-CSS:", - Auto: "Automaticky", - TeXLocal: "TeX (lok\u00E1ln\u00ED)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (obr\u00E1zek)", - STIXLocal: "STIX (lok\u00E1ln\u00ED)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Kontextov\u00E9 menu", - Browser: "Prohl\u00ED\u017Ee\u010D", - Scale: "M\u011B\u0159\u00EDtko pro ve\u0161kerou matematiku\u2026", - Discoverable: "Zv\u00FDraznit p\u0159i najet\u00ED my\u0161\u00ED", - Locale: "Jazyk", - LoadLocale: "Na\u010D\u00EDst z URL\u2026", - About: "O MathJaxu", - Help: "N\u00E1pov\u011Bda k MathJaxu", - localTeXfonts: "pou\u017E\u00EDvaj\u00ED se lok\u00E1ln\u00ED p\u00EDsma TeXu", - webTeXfonts: "pou\u017E\u00EDvaj\u00ED se webov\u00E1 p\u00EDsma TeXu", - imagefonts: "pou\u017E\u00EDvaj\u00ED se obr\u00E1zkov\u00E1 p\u00EDsma", - localSTIXfonts: "pou\u017E\u00EDvaj\u00ED se lok\u00E1ln\u00ED p\u00EDsma STIX", - webSVGfonts: "pou\u017E\u00EDvaj\u00ED se webov\u00E1 SVG p\u00EDsma", - genericfonts: "pou\u017E\u00EDvaj\u00ED se generick\u00E1 unicodov\u00E1 p\u00EDsma", - wofforotffonts: "p\u00EDsma woff nebo otf", - eotffonts: "p\u00EDsma eot", - svgfonts: "p\u00EDsma svg", - WebkitNativeMMLWarning: "V\u00E1\u0161 prohl\u00ED\u017Ee\u010D patrn\u011B nepodporuje MathML, tak\u017Ee p\u0159epnut\u00ED na MathML v\u00FDstup m\u016F\u017Ee zp\u016Fsobit, \u017Ee bude matematika na t\u00E9to str\u00E1nce ne\u010Diteln\u00E1.", - MSIENativeMMLWarning: "Ke zpracov\u00E1n\u00ED MathML v\u00FDstupu pot\u0159ebuje Internet Explorer z\u00E1suvn\u00FD modul MathPlayer.", - OperaNativeMMLWarning: "Podpora MathML v Ope\u0159e je omezen\u00E1, tak\u017Ee p\u0159epnut\u00ED na MathML v\u00FDstup m\u016F\u017Ee zp\u016Fsobit, \u017Ee se n\u011Bkter\u00E9 v\u00FDrazy budou vykreslovat \u0161patn\u011B.", - SafariNativeMMLWarning: "Vestav\u011Bn\u00E1 podpora MathML ve va\u0161em prohl\u00ED\u017Ee\u010Di neobsahuje v\u0161echny funkce pou\u017E\u00EDvan\u00E9 MathJaxem, tak\u017Ee se n\u011Bkter\u00E9 v\u00FDrazy mohou vykreslit chybn\u011B.", - FirefoxNativeMMLWarning: "Vestav\u011Bn\u00E1 podpora MathML ve va\u0161em prohl\u00ED\u017Ee\u010Di neobsahuje v\u0161echny funkce pou\u017E\u00EDvan\u00E9 MathJaxem, tak\u017Ee se n\u011Bkter\u00E9 v\u00FDrazy mohou vykreslit chybn\u011B.", - MSIESVGWarning: "Internet Explorer ve verzi star\u0161\u00ED ne\u017E IE9 nebo v re\u017Eimu emulace IE8 a star\u0161\u00ED nepodporuje SVG. P\u0159epnut\u00ED na SVG v\u00FDstup zp\u016Fsob\u00ED, \u017Ee se matematika nebude zobrazovat spr\u00E1vn\u011B.", - LoadURL: "Na\u010D\u00EDst p\u0159eklad z URL:", - BadURL: "URL by m\u011Blo v\u00E9st na JavaScriptov\u00FD soubor, kter\u00FD definuje data p\u0159ekladu MathJaxu. N\u00E1zvy JavaScriptov\u00FDch soubor\u016F by m\u011Bly kon\u010Dit \u201E.js\u201C.", - BadData: "Nepoda\u0159ilo se na\u010D\u00EDst data p\u0159ekladu z %1", - SwitchAnyway: "Chcete p\u0159esto p\u0159epnout vykreslov\u00E1n\u00ED?\n\n(Stiskn\u011Bte OK pro p\u0159epnut\u00ED, STORNO pro pokra\u010Dov\u00E1n\u00ED se st\u00E1vaj\u00EDc\u00EDm vykreslov\u00E1n\u00EDm.)", - ScaleMath: "Ve\u0161kerou matematiku zobrazovat v m\u011B\u0159\u00EDtku (v porovn\u00E1n\u00ED s okoln\u00EDm textem)", - NonZeroScale: "M\u011B\u0159\u00EDtko nem\u016F\u017Ee b\u00FDt nulov\u00E9", - PercentScale: "M\u011B\u0159\u00EDtko by m\u011Blo b\u00FDt v procentech (nap\u0159\u00EDklad 120 %%)", - IE8warning: "T\u00EDmto vypnete funkce MathJaxu pro zobrazen\u00ED menu a zv\u011Bt\u0161ov\u00E1n\u00ED, ale menu MathJaxu si budete moci zobrazit pomoc\u00ED Alt+kliknut\u00ED na rovnici.\n\nOpravdu zm\u011Bnit nastaven\u00ED MathPlayeru?", - IE9warning: "T\u00EDmto vypnete kontextov\u00E9 menu MathJaxu, ale budete si ho moci zobrazit pomoc\u00ED Alt+kliknut\u00ED na rovnici.", - NoOriginalForm: "P\u016Fvodn\u00ED podoba nen\u00ED dostupn\u00E1", - Close: "Zav\u0159\u00EDt", - EqSource: "Zdroj rovnice MathJax", - CloseAboutDialog: "Zav\u0159\u00EDt okno o MathJaxu", - FastPreview: "Rychl\u00FD n\u00E1hled", - AssistiveMML: "Asistivn\u00ED MathML", - InTabOrder: "Za\u0159adit do posloupnosti tabul\u00E1toru" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cs/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/TeX.js b/src/py/kaleido/vendor/mathjax/localization/cs/TeX.js deleted file mode 100644 index eb19ac1e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cs/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cs/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cs","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "P\u0159eb\u00FDvaj\u00EDc\u00ED otv\u00EDrac\u00ED nebo chyb\u011Bj\u00EDc\u00ED zav\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", - ExtraCloseMissingOpen: "P\u0159eb\u00FDvaj\u00EDc\u00ED zav\u00EDrac\u00ED nebo chyb\u011Bj\u00EDc\u00ED otv\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", - MissingLeftExtraRight: "Chyb\u011Bj\u00EDc\u00ED \\left nebo p\u0159eb\u00FDvaj\u00EDc\u00ED \\right", - MissingScript: "Chyb\u00ED argument horn\u00EDho nebo doln\u00EDho indexu", - ExtraLeftMissingRight: "P\u0159eb\u00FDvaj\u00EDc\u00ED \\left nebo chyb\u011Bj\u00EDc\u00ED \\right", - Misplaced: "Chybn\u011B um\u00EDst\u011Bn\u00FD %1", - MissingOpenForSub: "U doln\u00EDho indexu chyb\u00ED otv\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", - MissingOpenForSup: "U horn\u00EDho indexu chyb\u00ED otv\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", - AmbiguousUseOf: "Nejednozna\u010Dn\u00E9 u\u017Eit\u00ED %1", - EnvBadEnd: "\\begin{%1} bylo uzav\u0159eno \\end{%2}", - EnvMissingEnd: "Chyb\u011Bj\u00EDc\u00ED \\end{%1}", - MissingBoxFor: "Chyb\u00ED box pro %1", - MissingCloseBrace: "Chyb\u00ED zav\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", - UndefinedControlSequence: "Nedefinovan\u00E1 \u0159\u00EDdic\u00ED sekvence %1", - DoubleExponent: "Dvojit\u00FD exponent: pro vyjasn\u011Bn\u00ED pou\u017Eijte slo\u017Een\u00E9 z\u00E1vorky", - DoubleSubscripts: "Dvojit\u00FD doln\u00ED index: pro vyjasn\u011Bn\u00ED pou\u017Eijte slo\u017Een\u00E9 z\u00E1vorky", - DoubleExponentPrime: "Symbol \u010D\u00E1rky zp\u016Fsobil dvojit\u00FD exponent: pro vyjasn\u011Bn\u00ED pou\u017Eijte slo\u017Een\u00E9 z\u00E1vorky", - CantUseHash1: "V matematick\u00E9m re\u017Eimu nem\u016F\u017Eete pou\u017E\u00EDt znak \u201E#\u201C pro parametry maker", - MisplacedMiddle: "%1 mus\u00ED b\u00FDt uvnit\u0159 \\left a \\right", - MisplacedLimits: "%1 je dovoleno pouze u oper\u00E1tor\u016F", - MisplacedMoveRoot: "%1 se m\u016F\u017Ee vyskytnout pouze v ko\u0159eni", - MultipleCommand: "V\u00EDcen\u00E1sobn\u00FD %1", - IntegerArg: "Argumentem %1 mus\u00ED b\u00FDt cel\u00E9 \u010D\u00EDslo", - NotMathMLToken: "%1 nen\u00ED primitivn\u00ED element", - InvalidMathMLAttr: "Neplatn\u00FD atribut MathML: %1", - UnknownAttrForElement: "%1 nen\u00ED zn\u00E1m\u00FD atribut %2", - MaxMacroSub1: "P\u0159ekro\u010Den maxim\u00E1ln\u00ED po\u010Det substituc\u00ED makra MathJaxu; nen\u00ED tam rekurzivn\u00ED vol\u00E1n\u00ED makra?", - MaxMacroSub2: "P\u0159ekro\u010Den maxim\u00E1ln\u00ED po\u010Det substituc\u00ED MathJaxu; nen\u00ED tam rekurzivn\u00ED LaTexov\u00E9 prost\u0159ed\u00ED?", - MissingArgFor: "Chyb\u00ED argument pro %1", - ExtraAlignTab: "P\u0159ebyte\u010Dn\u00FD zarovn\u00E1vac\u00ED tabul\u00E1tor v textu \\cases", - BracketMustBeDimension: "Z\u00E1vorkov\u00FD argument u %1 mus\u00ED b\u00FDt rozm\u011Br", - InvalidEnv: "Neplatn\u00E9 jm\u00E9no prost\u0159ed\u00ED \u201E%1\u201C", - UnknownEnv: "Nezn\u00E1m\u00E9 prost\u0159ed\u00ED \u201E%1\u201C", - ExtraCloseLooking: "P\u0159ebyte\u010Dn\u00E1 zav\u00EDrac\u00ED hranat\u00E1 z\u00E1vorka, zat\u00EDmco bylo o\u010Dek\u00E1v\u00E1no %1", - MissingCloseBracket: "U argumentu %1 nebyla nalezena zav\u00EDrac\u00ED \u201E]\u201C", - MissingOrUnrecognizedDelim: "Chyb\u011Bj\u00EDc\u00ED nebo nerozpoznan\u00FD odd\u011Blova\u010D u %1", - MissingDimOrUnits: "U %1 chyb\u00ED rozm\u011Br nebo jeho jednotka", - TokenNotFoundForCommand: "Nenalezeno %1 k %2", - MathNotTerminated: "V textov\u00E9m boxu nen\u00ED ukon\u010Dena matematika", - IllegalMacroParam: "Neplatn\u00FD odkaz na parametr makra", - MaxBufferSize: "P\u0159ekro\u010Dena velikost intern\u00ED pam\u011Bti MathJaxu; nen\u00ED tam rekurzivn\u00ED vol\u00E1n\u00ED makra?", - CommandNotAllowedInEnv: "V prost\u0159ed\u00ED %2 nen\u00ED dovolen %1", - MultipleLabel: "V\u00EDcen\u00E1sobn\u00E1 definice n\u00E1v\u011Bst\u00ED %1", - CommandAtTheBeginingOfLine: "%1 mus\u00ED b\u00FDt um\u00EDst\u011Bno na za\u010D\u00E1tku \u0159\u00E1dky", - IllegalAlign: "U %1 uvedeno neplatn\u00E9 zarovn\u00E1n\u00ED", - BadMathStyleFor: "Chybn\u00FD styl matematiky u %1", - PositiveIntegerArg: "Argumentem %1 mus\u00ED b\u00FDt kladn\u00E9 cel\u00E9 \u010D\u00EDslo", - ErroneousNestingEq: "Chybn\u00E9 zano\u0159ov\u00E1n\u00ED struktury rovnic", - MultlineRowsOneCol: "\u0158\u00E1dky v prost\u0159ed\u00ED %1 mus\u00ED m\u00EDt pr\u00E1v\u011B jeden sloupec", - MultipleBBoxProperty: "U %2 je %1 uvedeno dvakr\u00E1t", - InvalidBBoxProperty: "\u201E%1\u201C nevypad\u00E1 jako barva, rozm\u011Br paddingu nebo styl", - ExtraEndMissingBegin: "P\u0159eb\u00FDvaj\u00EDc\u00ED %1 nebo chyb\u011Bj\u00EDc\u00ED \\begingroup", - GlobalNotFollowedBy: "Za %1 chyb\u00ED \\let, \\def nebo \\newcommand", - UndefinedColorModel: "Barevn\u00FD model \u201E%1\u201C nen\u00ED definov\u00E1n", - ModelArg1: "Barevn\u00E9 hodnoty modelu %1 vy\u017Eaduj\u00ED t\u0159i \u010D\u00EDsla", - InvalidDecimalNumber: "Neplatn\u00E9 desetinn\u00E9 \u010D\u00EDslo", - ModelArg2: "Barevn\u00E9 hodnoty modelu %1 mus\u00ED le\u017Eet mezi %2 a %3", - InvalidNumber: "Neplatn\u00E9 \u010D\u00EDslo", - NewextarrowArg1: "Prvn\u00EDm argumentem %1 mus\u00ED b\u00FDt n\u00E1zev \u0159\u00EDdic\u00ED sekvence", - NewextarrowArg2: "Druh\u00FDm argumentem %1 mus\u00ED b\u00FDt dv\u011B cel\u00E1 \u010D\u00EDsla odd\u011Blen\u00E1 \u010D\u00E1rkou", - NewextarrowArg3: "T\u0159et\u00EDm argumentem %1 mus\u00ED b\u00FDt \u010D\u00EDslo znaku Unicode", - NoClosingChar: "Nelze naj\u00EDt zav\u00EDrac\u00ED %1", - IllegalControlSequenceName: "Neplatn\u00FD n\u00E1zev \u0159\u00EDdic\u00ED sekvence u %1", - IllegalParamNumber: "U %1 uveden neplatn\u00FD po\u010Det parametr\u016F", - MissingCS: "Za %1 mus\u00ED b\u00FDt \u0159\u00EDdic\u00ED sekvence", - CantUseHash2: "Chybn\u00E9 u\u017Eit\u00ED # v \u0161ablon\u011B pro %1", - SequentialParam: "Parametry %1 mus\u00ED b\u00FDt \u010D\u00EDslov\u00E1ny postupn\u011B", - MissingReplacementString: "V definici %1 chyb\u00ED nahrazuj\u00EDc\u00ED \u0159et\u011Bzec", - MismatchUseDef: "Pou\u017Eit\u00ED %1 neodpov\u00EDd\u00E1 jeho definici", - RunawayArgument: "Zbloudil\u00FD argument u %1?", - NoClosingDelim: "Nenalezen ukon\u010Dovac\u00ED znak u %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cs/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/cs.js b/src/py/kaleido/vendor/mathjax/localization/cs/cs.js deleted file mode 100644 index 96b838a8..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cs/cs.js +++ /dev/null @@ -1,60 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cs/cs.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cs",null,{ - menuTitle: "\u010De\u0161tina", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax nalezl cookie u\u017Eivatelsk\u00E9 konfigurace obsahuj\u00EDc\u00ED spustiteln\u00FD k\u00F3d. Chcete ho spustit?\n\n(Pokud jste cookie nenastavili sami, m\u011Bli byste stisknout Storno.)", - MathProcessingError: "Chyba zpracov\u00E1n\u00ED matematiky", - MathError: "Chyba matematiky", - LoadFile: "Na\u010D\u00EDt\u00E1 se %1", - Loading: "Na\u010D\u00EDt\u00E1 se", - LoadFailed: "Nepoda\u0159ilo se na\u010D\u00EDst soubor: %1", - ProcessMath: "Zpracov\u00E1v\u00E1 se matematika: %1 %%", - Processing: "Zpracov\u00E1v\u00E1 se", - TypesetMath: "S\u00E1z\u00ED se matematika: %1 %%", - Typesetting: "S\u00E1z\u00ED se", - MathJaxNotSupported: "V\u00E1\u0161 prohl\u00ED\u017Ee\u010D nepodporuje MathJax", - ErrorTips: "Tipy pro lad\u011Bn\u00ED: pou\u017Eijte %%1, prozkoumejte %%2 v konzoli prohl\u00ED\u017Ee\u010De" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - if (n === 2 || n === 3 || n === 4) {return 2} // two--four - return 3; // other - }, - number: function (n) { - return String(n).replace(".", ","); // replace dot by comma - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cs/cs.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/cy/FontWarnings.js deleted file mode 100644 index 61f83696..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cy/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cy/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cy","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cy/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/cy/HTML-CSS.js deleted file mode 100644 index 5d4b4c4a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cy/HTML-CSS.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cy/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cy","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cy/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/cy/HelpDialog.js deleted file mode 100644 index 2b4a6264..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cy/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cy/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cy","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cy/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/MathML.js b/src/py/kaleido/vendor/mathjax/localization/cy/MathML.js deleted file mode 100644 index cacd64dd..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cy/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cy/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cy","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cy/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/cy/MathMenu.js deleted file mode 100644 index 0395f54e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cy/MathMenu.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cy/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cy","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cy/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/TeX.js b/src/py/kaleido/vendor/mathjax/localization/cy/TeX.js deleted file mode 100644 index 28b5820c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cy/TeX.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cy/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cy","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cy/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/cy.js b/src/py/kaleido/vendor/mathjax/localization/cy/cy.js deleted file mode 100644 index 4fc5c705..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/cy/cy.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/cy/cy.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("cy",null,{ - menuTitle: "Cymraeg", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "Gwall prosesu mathemateg", - MathError: "Gwall mathemategol", - LoadFile: "Yn llwytho %1", - Loading: "Yn llwytho", - LoadFailed: "Methwyd llwytho'r ffeil: %1", - ProcessMath: "Prosesu'r math'g: %1%%", - Processing: "Yn prosesu", - TypesetMath: "Yn gosod fformat i'r math'g: %1%%", - Typesetting: "Yn gosod fformat", - MathJaxNotSupported: "'Dyw eich porwr ddim yn cynnal MathJax" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one // needs check - return 2; // other // needs check - }, - number: function (n) { - return n; // needs check - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/cy/cy.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/da/FontWarnings.js deleted file mode 100644 index 1fcf1667..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/da/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/da/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("da","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax bruger web-baserede skrifttyper til at vise det matematiske p\u00E5 denne side. Dette tager tid at hente, s\u00E5 siden ville blive hurtigere, hvis du installerede matematiske skrifttyper direkte i dit systems skrifttypemappe.", - imageFonts: "MathJax bruger sine billedeskrifttyper snarere end lokale eller web-baserede skrifttyper. Dette vil g\u00F8re visningen langsommere end s\u00E6dvanligt, og matematik kan ikke udskrives med printerens fulde opl\u00F8sning.", - noFonts: "MathJax er ikke i stand til at finde en skrifttype, som kan bruges til at vise matematikken, og billedeskrifttyper er ikke tilg\u00E6ngelige, s\u00E5 der faldes tilbage p\u00E5 generiske Unicode-tegn i h\u00E5b om, at din browser vil v\u00E6re i stand til at vise dem. Nogle tegn kan m\u00E5ske ikke vises korrekt, eller muligvis slet ikke.", - webFonts: "De fleste moderne browsere giver mulighed for at hente skrifttyper over nettet. At opdatere til en nyere version af din browser (eller skifte browser) kunne forbedre kvaliteten af matematik p\u00E5 denne side.", - fonts: "MathJax kan bruge enten [STIX fonts](%1) eller [MathJax TeX fonts](%2). Hent og installer en af disse skrifttyper for at forbedre din MathJax oplevelse.", - STIXPage: "Denne side er designet til at bruge [STIX fonts](%1). Hent og install\u00E9r disse skrifttyper for at forbedre oplevelsen med MathJax.", - TeXPage: "Denne side er designet til at bruge [MathJax TeX fonts](%1). Hent og install\u00E9r disse skrifttyper for at forbedre oplevelsen med MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/da/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/da/HTML-CSS.js deleted file mode 100644 index 4b547f5f..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/da/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/da/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("da","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Indl\u00E6ser webskrifftype %1", - CantLoadWebFont: "Kan ikke indl\u00E6se webskrifttype %1", - FirefoxCantLoadWebFont: "Firefox kan ikke indl\u00E6se webskrifttyper fra en fjernstyret v\u00E6rt", - CantFindFontUsing: "Kunne ikke finde en gyldig skrifttype ved hj\u00E6lp af %1", - WebFontsNotAvailable: "Webskrifttyper er ikke tilg\u00E6ngelig. Brug billede skrifttyper i stedet" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/da/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/da/HelpDialog.js deleted file mode 100644 index fd876c66..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/da/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/da/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("da","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax hj\u00E6lp", - MathJax: "*MathJax* er et JavaScript-bibliotek, der giver mulighed for forfattere af sider kan inkludere matematik i deres websider. Som l\u00E6ser beh\u00F8ver du ikke at g\u00F8re noget for at f\u00E5 det til at virke.", - Browsers: "*Browsere*: MathJax virker p\u00E5 alle moderne browsere inklusiv IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ og de fleste mobile browsere.", - Menu: "*Matematikmenu*: MathJax tilf\u00F8jer en genvejsmenu til ligninger. H\u00F8jreklik eller Ctrl-klik p\u00E5 matematikken for at f\u00E5 adgang til menuen.", - ShowMath: "*Vis matematik som* giver dig mulighed for at se formelens kilde markup s\u00E5 du kan kopierer og inds\u00E6tte andre steder (som MathML eller i dens oprindelige format).", - Settings: "*Indstillinger* giver dig kontrol over funktioner i MathJax, s\u00E5som st\u00F8rrelsen af matematikken, og den mekanisme, der bruges til at vise ligninger.", - Language: "*Sprog* lader dig v\u00E6lge det sprog MathJax bruger i sine menuer og advarselsmeddelelser.", - Zoom: "*Matematik zoom*: Hvis du har sv\u00E6rt ved at l\u00E6se en ligning, kan MathJax forst\u00F8rre den for at hj\u00E6lpe dig med at se den bedre.", - Accessibilty: "*Tilg\u00E6ngelighed*: MathJax vil automatisk arbejde med sk\u00E6rml\u00E6sere for at g\u00F8re matematik tilg\u00E6ngeligt for synsh\u00E6mmede.", - Fonts: "*Skrifttyper*: MathJax vil bruge visse matematiske skrifttyper, hvis de er installeret p\u00E5 computeren. ellers vil det bruge web-baserede skrifttyper. Selvom det ikke er p\u00E5kr\u00E6vet, vil lokalt installerede skrifttyper fremskynde ops\u00E6tningen. Vi foresl\u00E5r at installere [STIX fonts](%1).", - CloseDialog: "Luk hj\u00E6lpedialogen" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/da/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/MathML.js b/src/py/kaleido/vendor/mathjax/localization/da/MathML.js deleted file mode 100644 index 73f7daa5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/da/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/da/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("da","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "D\u00E5rlig mglyph: %1", - BadMglyphFont: "D\u00E5rlig skrifttype: %1", - MathPlayer: "MathJax var ikke i stand til at konfigurere MathPlayer.\n\nHvis MathPlayer ikke er installeret, skal du installere det f\u00F8rst.\nEllers, kan dine sikkerhedsindstillinger forhindrer ActiveX\nkontrolelementer i at k\u00F8re. Bruge dine Internetindstillinger under\ni menuen Funktioner og v\u00E6lg fanen Sikkerhed, og tryk derefter p\u00E5\nknappen Brugerdefineret niveau. Kontroller, at indstillingerne for\n'K\u00F8r ActiveX-objekter' og 'bin\u00E6r- og script-opf\u00F8rsel' er aktiveret.\n\nI \u00F8jeblikket vil du se fejlmeddelelser i stedet for\nformateret matematik", - CantCreateXMLParser: "MathJax kan ikke oprette en XML-parser til MathML. Kontroller, at\n'Script ActiveX-objekter markeret sikre til scripting' sikkerhed\ner aktiveret (bruge elementet Internetindstillinger i menuen \nv\u00E6rkt\u00F8jer, og v\u00E6lg sikkerhedspanel, tryk derefter p\u00E5 \nBrugerdefineret niveau knappen for at unders\u00F8ge det).\n\nMathML ligninger vil ikke kunne behandles af MathJax", - UnknownNodeType: "Ukendt nodetype: %1", - UnexpectedTextNode: "Uventet tekst node: %1", - ErrorParsingMathML: "Fejl under parsing af MathML", - ParsingError: "Fejl under parsing af MathML: %1", - MathMLSingleElement: "MathML skal v\u00E6re dannet af en enkelt element", - MathMLRootElement: "MathML skal v\u00E6re dannet af et \u003Cmath\u003E element, ikke %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/da/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/da/MathMenu.js deleted file mode 100644 index 176252aa..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/da/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/da/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("da","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Vis matematik som", - MathMLcode: "MathML-kode", - OriginalMathML: "Oprindelig MathML", - TeXCommands: "TeX-kommandoer", - AsciiMathInput: "AsciiMathML-input", - Original: "Oprindeligt format", - ErrorMessage: "Fejlmeddelelse", - Annotation: "Note", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Content MathML", - OpenMath: "OpenMath", - texHints: "Vis TeX-tips i MathML", - Settings: "Matematikindstillinger", - ZoomTrigger: "Zoomudl\u00F8ser", - Hover: "Holde musen over", - Click: "Klik", - DoubleClick: "Dobbeltklik", - NoZoom: "Ingen zoom", - TriggerRequires: "Udl\u00F8ser kr\u00E6ver:", - Option: "Alternativ (\u2325)", - Alt: "Alt", - Command: "Kommando (\u2318)", - Control: "Ctrl", - Shift: "Skift", - ZoomFactor: "Zoomfaktor", - Renderer: "Matematik-visningsmetode", - MPHandles: "Lad MathPlayer h\u00E5ndtere:", - MenuEvents: "Menuh\u00E6ndelser", - MouseEvents: "Museh\u00E6ndelser", - MenuAndMouse: "Muse- og menuh\u00E6ndelser", - FontPrefs: "Skrifttype-indstillinger", - ForHTMLCSS: "For HTML-CSS:", - Auto: "Automatisk", - TeXLocal: "TeX (lokal)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (billede)", - STIXLocal: "STIX (lokal)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Kontekstmenu", - Browser: "Browser", - Scale: "Skaler al matematik...", - Discoverable: "Fremh\u00E6v n\u00E5r musen holdes over", - Locale: "Sprog", - LoadLocale: "Indl\u00E6s fra URL ...", - About: "Om MathJax", - Help: "MathJax-hj\u00E6lp", - localTeXfonts: "bruger lokale TeX-skrifttyper", - webTeXfonts: "bruger web-TeX-skrifttype", - imagefonts: "bruger billedskrifttyper", - localSTIXfonts: "bruger lokale STIX-skrifttyper", - webSVGfonts: "bruger web-SVG-skrifttyper", - genericfonts: "bruger generiske Unicode-skrifttyper", - wofforotffonts: "WOFF- eller OTF-skrifttyper", - eotffonts: "EOT-skrifttyper", - svgfonts: "SVG-skrifttyper", - WebkitNativeMMLWarning: "Din browser har tilsyneladende ikke indbygget MathML-underst\u00F8ttelse, s\u00E5 et skift til MathML-output kan g\u00F8re matematikken p\u00E5 siden ul\u00E6selig", - MSIENativeMMLWarning: "Internet Explorer kr\u00E6ver MathPlayer-pluginnet for at kunne behandle MathML-output.", - OperaNativeMMLWarning: "Operas underst\u00F8ttelse af MathML er begr\u00E6nset, s\u00E5 et skift til MathML-output kan for\u00E5rsage at nogle udtryk bliver vist d\u00E5rligt.", - SafariNativeMMLWarning: "Din browsers indbyggede MathML underst\u00F8tter ikke alle de funktioner, der anvendes af MathJax, s\u00E5 nogle udtryk gengives muligvis ikke korrekt.", - FirefoxNativeMMLWarning: "Din browsers indbyggede MathML underst\u00F8tter ikke al den funktionalitet, der anvendes af MathJax, s\u00E5 nogle udtryk gengives muligvis ikke korrekt.", - MSIESVGWarning: "SVG er ikke implementeret i Internet Explorer f\u00F8r IE9 eller n\u00E5r den emulerer IE8 eller tidligere versioner. Et skift til SVG-output vil for\u00E5rsage at matematikken ikke vises korrekt.", - LoadURL: "Indl\u00E6s overs\u00E6ttelsesdata fra denne URL:", - BadURL: "URL-adressen skal v\u00E6re for en JavaScript-fil, der definerer MathJax-overs\u00E6ttelsesdata. JavaScript-filnavne b\u00F8r slutte p\u00E5 '.js'", - BadData: "Kunne ikke indl\u00E6se overs\u00E6ttelsesdata fra %1", - SwitchAnyway: "Skift visningsmetode alligevel?\n\n(Tryk p\u00E5 OK for at skifte, ANNULLER for at forts\u00E6tte med den nuv\u00E6rende visningsmetode)", - ScaleMath: "Skal\u00E9r al matematik (i forhold til omgivende tekst) med", - NonZeroScale: "Skaleringen m\u00E5 ikke v\u00E6re nul", - PercentScale: "Skaleringen skal v\u00E6re en procentsats (for eksempel 120\u00A0%%)", - IE8warning: "Dette vil deaktivere menu- og zoom-funktionaliteterne i MathJax, men du kan i stedet Alt-klikke p\u00E5 et udtryk for at f\u00E5 MathJax-menuen.\n\nVil du virkelig \u00E6ndre indstillingerne for MathPlayer?", - IE9warning: "MathJax-kontekstmenuen vil blive deaktiveret, men du kan i stedet Alt-klikke p\u00E5 et udtryk for at f\u00E5 MathJax-menuen.", - NoOriginalForm: "Intet oprindeligt format til r\u00E5dighed", - Close: "Luk", - EqSource: "MathJax-ligningskilde", - CloseAboutDialog: "Luk dialogen \"Om MathJax\"", - FastPreview: "Hurtig forh\u00E5ndsvisning", - AssistiveMML: "Sk\u00E6rml\u00E6serunderst\u00F8ttelse for MathML", - InTabOrder: "Medtag i tabulatorr\u00E6kkef\u00F8lge" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/da/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/TeX.js b/src/py/kaleido/vendor/mathjax/localization/da/TeX.js deleted file mode 100644 index f309364f..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/da/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/da/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("da","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Ekstra venstreklammeparentes eller manglende h\u00F8jreklammeparentes", - ExtraCloseMissingOpen: "Ekstra h\u00F8jreklammeparentes eller manglende venstreklammeparentes", - MissingLeftExtraRight: "Manglende \\left eller ekstra \\right", - MissingScript: "Manglende h\u00E6vet skrift eller s\u00E6nket skrift argument", - ExtraLeftMissingRight: "Ekstra \\left eller manglende \\right", - Misplaced: "Malplaceret %1", - MissingOpenForSub: "Manglende venstreklammeparentes til s\u00E6nket skrift", - MissingOpenForSup: "Manglende venstreklammeparentes til h\u00E6vet skrift", - AmbiguousUseOf: "Flertydig brug af %1", - EnvBadEnd: "\\begin{%1} sluttede med \\end{%2}", - EnvMissingEnd: "Manglende \\end{%1}", - MissingBoxFor: "Manglende boks for %1", - MissingCloseBrace: "Manglende h\u00F8jreklammeparentes", - UndefinedControlSequence: "Udefineret kontrolsekvens %1", - DoubleExponent: "Dobbelt eksponent: brug klammeparenteser til at tydeligg\u00F8re", - DoubleSubscripts: "Dobbelt s\u00E6nket skrift: brug klammeparenteser til at tydeligg\u00F8re", - DoubleExponentPrime: "M\u00E6rke for\u00E5rsager dobbelt eksponent: bruge klammeparenteser til at tydeligg\u00F8re", - CantUseHash1: "Du kan ikke bruge 'makro parameter tegnet #' i matematik tilstand", - MisplacedMiddle: "%1 skal v\u00E6re inden for \\left og \\right", - MisplacedLimits: "%1 er kun tilladt p\u00E5 operatorer", - MisplacedMoveRoot: "%1 kan kun v\u00E6re indenfor en root", - MultipleCommand: "For mange %1", - IntegerArg: "Argumentet til %1 skal v\u00E6re et heltal", - NotMathMLToken: "%1 er ikke et token element", - InvalidMathMLAttr: "Ugyldig MathML attribut: %1", - UnknownAttrForElement: "%1 er ikke en genkendt attribut for %2", - MaxMacroSub1: "Det maksimale antal makro substitutioner i MathJax er overskredet; er der et rekursivt makrokald?", - MaxMacroSub2: "Det maksimale antal substitutioner i MathJax er overskredet; er der et rekursivt LaTeX milj\u00F8?", - MissingArgFor: "Manglende argument til %1", - ExtraAlignTab: "For mange \u0026 i \\cases tekst", - BracketMustBeDimension: "Klammeargument til %1 skal v\u00E6re en dimension", - InvalidEnv: "Ugyldigt navn '%1'", - UnknownEnv: "Ukendt navn '%1'", - ExtraCloseLooking: "Ekstra h\u00F8jreklammeparentes under s\u00F8gning efter %1", - MissingCloseBracket: "Kunne ikke finde det afsluttende ']' argument til %1", - MissingOrUnrecognizedDelim: "Manglende eller ukendt skilletegn for %1", - MissingDimOrUnits: "Manglende dimension eller enheder for %1", - TokenNotFoundForCommand: "Kunne ikke finde %1 for %2", - MathNotTerminated: "Matematik ikke afsluttet i tekstfeltet", - IllegalMacroParam: "Ulovlig makro parameter reference", - MaxBufferSize: "Intern bufferst\u00F8rrelse for MathJax er overskredet; er der et rekursivt makrokald?", - CommandNotAllowedInEnv: "%1 er ikke tilladt i milj\u00F8et %2", - MultipleLabel: "Etiketten '%1' er defineret flere gange", - CommandAtTheBeginingOfLine: "%1 skal v\u00E6re i begyndelsen af linjen", - IllegalAlign: "Ulovlig justering angivet i %1", - BadMathStyleFor: "D\u00E5rlig matematik stil for %1", - PositiveIntegerArg: "Argumentet til %1 skal v\u00E6re et positivt heltal", - ErroneousNestingEq: "Fejlagtig indlejring af ligningsstrukturer", - MultlineRowsOneCol: "R\u00E6kker indenfor milj\u00F8et %1 skal have pr\u00E6cis \u00E9n kolonne", - MultipleBBoxProperty: "%1 angivet to gange i %2", - InvalidBBoxProperty: "'%1' ligner ikke en farve, en padding dimension eller en stil", - ExtraEndMissingBegin: "Ekstra %1 eller manglende \\begingroup", - GlobalNotFollowedBy: "%1 ikke efterfulgt af \\let, \\def eller \\newcommand", - UndefinedColorModel: "Farvemodel '%1' ikke defineret", - ModelArg1: "Farvev\u00E6rdier for modellen %1 kr\u00E6ver 3 tal", - InvalidDecimalNumber: "Ugyldigt decimaltal", - ModelArg2: "Farvev\u00E6rdier for modellen %1 skal v\u00E6re mellem %2 og %3", - InvalidNumber: "Ugyldigt tal", - NewextarrowArg1: "F\u00F8rste argument til %1 skal v\u00E6re navnet p\u00E5 en kontrol sekvens", - NewextarrowArg2: "Andet argument til %1 skal v\u00E6re to heltal adskilt af et komma", - NewextarrowArg3: "Tredje argument til %1 skal v\u00E6re nummeret p\u00E5 et Unicode-tegn", - NoClosingChar: "Kan ikke finde den afsluttende %1", - IllegalControlSequenceName: "Ulovligt kontrol sekvens navn for %1", - IllegalParamNumber: "Ulovligt antal parametre angivet i %1", - MissingCS: "%1 skal efterf\u00F8lges af en kontrolsekvens", - CantUseHash2: "Ulovlig brug af # i skabelon for %1", - SequentialParam: "Parametre for %1 skal v\u00E6re nummereret fortl\u00F8bende", - MissingReplacementString: "Manglende erstatningsstreng til definition af %1", - MismatchUseDef: "Brug af %1 stemmer ikke overens med dens definition", - RunawayArgument: "L\u00F8bsk argument for %1?", - NoClosingDelim: "Kan ikke finde afsluttende skilletegn for %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/da/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/da.js b/src/py/kaleido/vendor/mathjax/localization/da/da.js deleted file mode 100644 index 18d41e03..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/da/da.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/da/da.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("da",null,{ - menuTitle: "dansk", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax har fundet en cookie med brugerkonfiguration, der indeholder kode til at k\u00F8re. Vil du k\u00F8re det?\n\n(Du b\u00F8r trykke p\u00E5 Annuller, medmindre du oprettede cookien selv.)", - MathProcessingError: "Fejl under bearbejdning af matematik", - MathError: "Matematikfejl", - LoadFile: "Indl\u00E6ser %1", - Loading: "Indl\u00E6ser", - LoadFailed: "Kunne ikke indl\u00E6se filen: %1", - ProcessMath: "Bearbejder matematik: %1%%", - Processing: "Bearbejder", - TypesetMath: "Ops\u00E6tter matematik: %1%%", - Typesetting: "Ops\u00E6tter", - MathJaxNotSupported: "Din browser underst\u00F8tter ikke MathJax", - ErrorTips: "Tips til fejls\u00F8gning: brug %%1, inspicer %%2 i browserkonsollen" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) return 1; // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/da/da.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/de/FontWarnings.js deleted file mode 100644 index facaebe4..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/de/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/de/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("de","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax nutz web-basierte Fonts zur Darstellung der Mathematik auf dieser Seite. Da diese heruntergeladen werden m\u00FCssen, l\u00E4dt die Seite schneller, wenn Mathe-Fonts auf dem System installiert sind.", - imageFonts: "MathJax verwendet die Bildschriften anstatt der lokalen oder webbasierten Schriften. Das Rendern dauert l\u00E4nger als gew\u00F6hnlich und die Inhalte werden m\u00F6glicherweise nicht mit der vollen Aufl\u00F6sung deines Druckers ausgedruckt.", - noFonts: "MathJax konnte keine Schriftart zur Anzeige der Inhalte finden und Bildschriften sind nicht verf\u00FCgbar. Es wird auf allgemeine Unicode-Zeichen zur\u00FCckgegriffen in der Hoffnung, dass dein Browser in der Lage ist, sie darzustellen. Einige Zeichen werden m\u00F6glicherweise nicht richtig oder gar nicht angezeigt.", - webFonts: "Die meisten modernen Browser erlauben den Download von Schriften \u00FCber das Web. Eine Aktualisierung auf eine aktuellere Version deines Browsers (oder dessen Wechsel) kann die Qualit\u00E4t der Inhalte auf dieser Seite verbessern.", - fonts: "MathJax kann entweder die [STIX-](%1) oder [MathJax-TeX-Schriften](%2) verwenden. Lade eine dieser Schriften herunter und installiere sie, um dein MathJax-Erlebnis zu steigern.", - STIXPage: "Diese Seite wurde konzipiert, um die [STIX-Schriften](%1) zu verwenden. Lade sie herunter und installiere sie, um dein MathJax-Erlebnis zu steigern.", - TeXPage: "Diese Seite wurde konzipiert, um die [MathJax-TeX-Schriften](%1) zu verwenden. Lade sie herunter und installiere sie, um dein MathJax-Erlebnis zu steigern." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/de/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/de/HTML-CSS.js deleted file mode 100644 index 9d7a7bc4..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/de/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/de/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("de","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Lade Webfont %1", - CantLoadWebFont: "Webschriftart %1 konnte nicht geladen werden", - FirefoxCantLoadWebFont: "Firefox kann keine Webschriften von einem entfernten Rechner laden", - CantFindFontUsing: "Es konnte keine g\u00FCltige Schriftart in %1 gefunden werden", - WebFontsNotAvailable: "Webschriften sind nicht verf\u00FCgbar. Verwende stattdessen Bildschriften." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/de/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/de/HelpDialog.js deleted file mode 100644 index 4bf26ee2..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/de/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/de/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("de","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax Hilfe", - MathJax: "*MathJax* ist eine JavaScript-Bibliothek, die es Seitenautoren erm\u00F6glicht, mathematische Inhalte in ihre Webseiten einzubinden. Als Leser muss du nichts unternehmen, um das zu erreichen.", - Browsers: "*Browser*: MathJax funktioniert mit allen modernen Browsern inklusive Internet Explorer 6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ und den meisten mobilen Browsern.", - Menu: "*Men\u00FC*: MathJax f\u00FCgt bei Gleichungen ein Kontextmen\u00FC hinzu. Um das Men\u00FC anzuzeigen, klicke mit der rechten Maustaste oder halte beim Klicken die Strg-Taste gedr\u00FCckt.", - ShowMath: "*Inhalt zeigen als* erlaubt dir, das Formelquellenmarkup f\u00FCr Kopieren \u0026 Einf\u00FCgen anzusehen (als MathML oder im Originalformat).", - Settings: "*Einstellungen* gibt dir die Kontrolle \u00FCber MathJax-Funktionen, wie die Inhaltsgr\u00F6\u00DFe und den verwendeten Mechanismus zum Anzeigen von Gleichungen.", - Language: "*Sprache* l\u00E4sst dir die Sprache ausw\u00E4hlen, die von MathJax f\u00FCr die Men\u00FCs und Warnmeldungen verwendet wird.", - Zoom: "*Zoom*: Wenn du beim Lesen einer Gleichung Schwierigkeiten hast, kann MathJax sie vergr\u00F6\u00DFern, damit du sie besser sehen kannst.", - Accessibilty: "*Barrierefreiheit*: MathJax funktioniert automatisch mit Screenreadern, um die Inhalte f\u00FCr Sehbehinderte verf\u00FCgbar zu machen.", - Fonts: "*Schriftarten*: MathJax verwendet bestimmte Schriften, wenn sie auf deinem Computer installiert sind. Anderenfalls werden webbasierte Schriften verwendet. Obwohl das nicht erforderlich ist, beschleunigen lokal installierte Schriften die Schriftsetzung. Wir empfehlen die Installation der [STIX-Schriften](%1).", - CloseDialog: "Hilfedialog schlie\u00DFen" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/de/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/MathML.js b/src/py/kaleido/vendor/mathjax/localization/de/MathML.js deleted file mode 100644 index 73b65326..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/de/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/de/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("de","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "ung\u00FCltige mglyph: %1", - BadMglyphFont: "Ung\u00FCltige Schriftart: %1", - MathPlayer: "MathJax konnte MathPlayer nicht einrichten.\n\nFalls MathPlayer nicht installiert ist, musst du ihn zuerst installieren.\nAnderenfalls verhindern deine Sicherheitseinstellungen, dass\nActiveX-Steuerelemente ausgef\u00FChrt werden k\u00F6nnen. Verwende die\nInternetoptionen unter dem Werkzeugmen\u00FC und w\u00E4hle die Registerkarte\n\u201ESicherheit\u201C. Klicke dann auf \u201EStufe anpassen\u201C. \u00DCberpr\u00FCfe, ob die\nEinstellungen f\u00FCr \u201EActiveX-Steuerelemente ausf\u00FChren\u201C und \u201EBin\u00E4r- und\nSkriptverhalten\u201C aktiviert sind.\n\nDerzeit wirst du Fehlermeldungen sehen anstatt gesetzte Inhalte.", - CantCreateXMLParser: "MathJax konnte keinen XML-Parser f\u00FCr MathML erstellen.\n\u00DCberpr\u00FCfe, ob die Sicherheitseinstellung\n\u201EActiveX-Steuerelemente ausf\u00FChren, die f\u00FCr Skripting\nsicher sind\u201C aktiviert ist (verwende zur \u00DCberpr\u00FCfung\ndie Internetoptionen im Werkzeugmen\u00FC, w\u00E4hle die\nRegisterkarte \u201ESicherheit\u201C und klicke auf \u201EStufe\nanpassen\u201C).\n\nMathML-Gleichungen k\u00F6nnen von MathJax nicht\nverarbeitet werden.", - UnknownNodeType: "Unbekannter Knotentyp: %1", - UnexpectedTextNode: "Unerwarteter Textknoten: %1", - ErrorParsingMathML: "Fehler beim Verarbeiten von MathML", - ParsingError: "Fehler beim Parsen von MathML: %1", - MathMLSingleElement: "MathML muss von einem einzelnen Element gebildet werden", - MathMLRootElement: "MathML muss von einem \u003Cmath\u003E-Element gebildet werden, nicht %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/de/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/de/MathMenu.js deleted file mode 100644 index 35e17c65..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/de/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/de/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("de","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Zeige mathematischen Ausdruck als", - MathMLcode: "MathML-Code", - OriginalMathML: "Original-MathML", - TeXCommands: "TeX-Befehle", - AsciiMathInput: "AsciiMathML-Eingabe", - Original: "Originalformel", - ErrorMessage: "Fehlermeldung", - Annotation: "Anmerkung", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Content MathML", - OpenMath: "OpenMath", - texHints: "TeX-Hinweise in MathML anzeigen", - Settings: "Math-Einstellungen", - ZoomTrigger: "Zoomausl\u00F6ser", - Hover: "\u00DCberfahren", - Click: "Klick", - DoubleClick: "Doppelklick", - NoZoom: "Kein Zoom", - TriggerRequires: "Ausl\u00F6ser ben\u00F6tigt:", - Option: "Option", - Alt: "Alt", - Command: "\u2318", - Control: "Strg", - Shift: "Umschalt", - ZoomFactor: "Vergr\u00F6\u00DFerungsfaktor", - Renderer: "Math-Renderer", - MPHandles: "MathPlayer darf verwalten:", - MenuEvents: "Men\u00FCereignisse", - MouseEvents: "Mausereignisse", - MenuAndMouse: "Maus- und Men\u00FCereignisse", - FontPrefs: "Schriftarteinstellungen", - ForHTMLCSS: "F\u00FCr HTML-CSS:", - Auto: "Automatisch", - TeXLocal: "TeX (Lokal)", - TeXWeb: "TeX (Web)", - TeXImage: "TeX (Bild)", - STIXLocal: "STIX (Lokal)", - STIXWeb: "STIX (Web)", - AsanaMathWeb: "Asana Math (Web)", - GyrePagellaWeb: "Gyre Pagella (Web)", - GyreTermesWeb: "Gyre Termes (Web)", - LatinModernWeb: "Latin Modern (Web)", - NeoEulerWeb: "Neo Euler (Web)", - ContextMenu: "Kontextmen\u00FC", - Browser: "Browser", - Scale: "Alle Inhalte skalieren \u2026", - Discoverable: "Beim \u00DCberfahren hervorheben", - Locale: "Sprache", - LoadLocale: "Lade von URL \u2026", - About: "\u00DCber MathJax", - Help: "MathJax-Hilfe", - localTeXfonts: "Lokale TeX-Schriften verwenden", - webTeXfonts: "Web-TeX-Schriftart verwenden", - imagefonts: "Bildschriften verwenden", - localSTIXfonts: "Lokale STIX-Schriften verwenden", - webSVGfonts: "Web-SVG-Schriften verwenden", - genericfonts: "Allgemeine Unicode-Schriften verwenden", - wofforotffonts: "WOFF- oder OTF-Schriften", - eotffonts: "EOT-Schriften", - svgfonts: "SVG-Schriften", - WebkitNativeMMLWarning: "Ihr Browser scheint kein natives MathML zu unterst\u00FCtzen. Ein Wechsel auf MathML-Ausgabe kann dazu f\u00FChren, dass die Inhalte auf der Seite unlesbar werden.", - MSIENativeMMLWarning: "Um die MathML-Ausgabe verarbeiten zu k\u00F6nnen, ben\u00F6tigt der Internet Explorer das MathPlayer-Plugin.", - OperaNativeMMLWarning: "Die Unterst\u00FCtzung f\u00FCr MathML bei Opera ist beschr\u00E4nkt. Deshalb kann ein Wechsel auf MathML-Ausgabe verursachen, dass einige Ausdr\u00FCcke nur schlecht gerendert werden k\u00F6nnen.", - SafariNativeMMLWarning: "Das native MathML Ihres Browsers unterst\u00FCtzt nicht alle Funktionen, die von MathJax verwendet werden. Deshalb k\u00F6nnen einige Ausdr\u00FCcke nicht richtig gerendert werden.", - FirefoxNativeMMLWarning: "Das native MathML Ihres Browsers unterst\u00FCtzt nicht alle Funktionen, die von MathJax verwendet werden. Deshalb k\u00F6nnen einige Ausdr\u00FCcke nicht richtig gerendert werden.", - MSIESVGWarning: "SVG wird nicht vom Internet Explorer \u00E4lter als IE9 unterst\u00FCtzt oder wenn IE8 und niedriger emuliert werden. Der Wechsel auf SVG-Ausgabe hat zur Folge, dass die Inhalte nicht richtig dargestellt werden.", - LoadURL: "\u00DCbersetzungsdaten von dieser URL laden:", - BadURL: "Die URL sollte f\u00FCr eine JavaScript-Datei sein, die MathJax-\u00DCbersetzungsdaten definiert. JavaScript-Dateinamen sollten enden mit \u201E.js\u201C.", - BadData: "\u00DCbersetzungsdaten konnten nicht von %1 geladen werden", - SwitchAnyway: "Den Renderer trotzdem wechseln?\n\n(OK w\u00E4hlen zum Wechseln, ABBRECHEN w\u00E4hlen, um mit dem gegenw\u00E4rtigen Renderer fortzufahren)", - ScaleMath: "Alle Inhalte skalieren (verglichen mit dem umflie\u00DFenden Text) um", - NonZeroScale: "Der Wert sollte nicht null sein", - PercentScale: "Der Wert sollte ein Prozentsatz sein (z.\u0026nbsp;B. 120%%)", - IE8warning: "Dies deaktiviert das MathJax-Men\u00FC und die Zoomfunktionen, aber du kannst bei einem Ausdruck w\u00E4hrend des Mausklicks die Alt-Taste gedr\u00FCckt halten, um stattdessen das MathJax-Men\u00FC zu erhalten.\n\nMathPlayer-Einstellungen wirklich \u00E4ndern?", - IE9warning: "Das MathJax-Kontextmen\u00FC wird deaktiviert, aber du kannst bei einem Ausdruck w\u00E4hrend des Mausklicks die Alt-Taste gedr\u00FCckt halten, um stattdessen das MathJax-Men\u00FC zu erhalten.", - NoOriginalForm: "Keine Originalformel verf\u00FCgbar", - Close: "Schlie\u00DFen", - EqSource: "MathJax-Gleichungsquelle", - CloseAboutDialog: "Dialog \u201E\u00DCber MathJax\u201C schlie\u00DFen", - FastPreview: "Schnelle Vorschau", - AssistiveMML: "Assistives MathML", - InTabOrder: "In Reiterreihenfolge einschlie\u00DFen" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/de/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/TeX.js b/src/py/kaleido/vendor/mathjax/localization/de/TeX.js deleted file mode 100644 index a46bff04..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/de/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/de/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("de","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Zus\u00E4tzliche \u00F6ffnende, oder fehlende schlie\u00DFende Klammer", - ExtraCloseMissingOpen: "Zus\u00E4tzliche schlie\u00DFende, oder fehlende \u00F6ffnende Klammer", - MissingLeftExtraRight: "Fehlendes '\\left' oder zus\u00E4tzliches '\\right'", - MissingScript: "Fehlendes Argument im Hoch- oder Tiefstellen", - ExtraLeftMissingRight: "Zus\u00E4tzliches '\\left' oder fehlendes '\\right'", - Misplaced: "%1 falsch gesetzt", - MissingOpenForSub: "Fehlende \u00F6ffnende Klammer beim Tiefstellen", - MissingOpenForSup: "Fehlende \u00F6ffnende Klammer beim Hochstellen", - AmbiguousUseOf: "Mehrdeutige Verwendung von %1", - EnvBadEnd: "\\begin{%1} endet mit \\end{%2}", - EnvMissingEnd: "\\end{%1} fehlt", - MissingBoxFor: "Fehlender Rahmen f\u00FCr: %1", - MissingCloseBrace: "Fehlende schlie\u00DFende Klammer", - UndefinedControlSequence: "Nicht definierter Befehl: %1", - DoubleExponent: "Doppeltes Hochstellen: Klammern f\u00FCr eine eindeutige Zuordnung verwenden", - DoubleSubscripts: "Doppeltes Tiefstellen: Klammern f\u00FCr eine eindeutige Zuordnung verwenden", - DoubleExponentPrime: "Prime f\u00FChrt zu doppeltem Hochstellen: Klammern f\u00FCr eine eindeutige Zuordnung verwenden", - CantUseHash1: "Das Zeichen '#' ist ein Makroparameter und kann nicht im Mathematikmodus verwendet werden.", - MisplacedMiddle: "%1 muss zwischen '\\left' und '\\right' stehen", - MisplacedLimits: "%1 ist nur bei Operatoren erlaubt", - MisplacedMoveRoot: "%1 muss innerhalb einer Wurzel stehen", - MultipleCommand: "Zu viele %1", - IntegerArg: "Das Argument in %1 muss ganzzahlig sein", - NotMathMLToken: "%1 ist kein Token-Element", - InvalidMathMLAttr: "Unzul\u00E4ssiges MathML-Attribut: %1", - UnknownAttrForElement: "%1 ist kein zul\u00E4ssiges Attribut f\u00FCr %2", - MaxMacroSub1: "Maximale Anzahl an Makro-Ersetzungen ist erreicht; wird ein rekursiver Makroaufruf verwendet?", - MaxMacroSub2: "Maximale Anzahl an Ersetzungen ist erreicht; wird eine rekursive LaTeX-Umgebung verwendet?", - MissingArgFor: "Fehlendes Argument in %1", - ExtraAlignTab: "Zus\u00E4tzlicher Ausrichtungstabulator im '\\cases' Text", - BracketMustBeDimension: "Das Klammer-Argument f\u00FCr %1 muss eine Dimension sein", - InvalidEnv: "Ung\u00FCltiger Umgebungsname: \u201E%1\u201C", - UnknownEnv: "Ung\u00FCltige Umgebung: \u201E%1\u201C", - ExtraCloseLooking: "Zus\u00E4tzliche schlie\u00DFende Klammer w\u00E4hrend der Suche nach %1", - MissingCloseBracket: "Argument zu %1 wurde nicht mit ']' geschlossen", - MissingOrUnrecognizedDelim: "Fehlendes oder nicht erkanntes Begrenzungszeichen bei %1", - MissingDimOrUnits: "Fehlende Dimension oder Einheiten bei %1", - TokenNotFoundForCommand: "Konnte %1 nicht f\u00FCr %2 finden", - MathNotTerminated: "Mathematischer Ausdruck im Textfeld nicht abgeschlossen", - IllegalMacroParam: "Ung\u00FCltiger Makroparameterbezug", - MaxBufferSize: "Interne Puffergr\u00F6\u00DFe \u00FCberschritten; wird ein rekursiver Makroaufruf verwendet?", - CommandNotAllowedInEnv: "%1 ist in der Umgebung %2 nicht erlaubt", - MultipleLabel: "Bezeichner '%1' mehrfach definiert", - CommandAtTheBeginingOfLine: "%1 muss am Zeilenanfang stehen", - IllegalAlign: "Ung\u00FCltige Ausrichtung in %1", - BadMathStyleFor: "Falsches \u201Emath style\u201C-Argument: %1", - PositiveIntegerArg: "Das Argument zu %1 muss eine positive Ganzzahl sein", - ErroneousNestingEq: "Fehlerhafte Verschachtelung von Gleichungen", - MultlineRowsOneCol: "Zeilen in der %1-Umgebung m\u00FCssen genau eine Spalte haben", - MultipleBBoxProperty: "%1 wurde zweimal in %2 angegeben", - InvalidBBoxProperty: "'%1' scheint keine Farbe, Abstands-Dimension oder Stil zu sein", - ExtraEndMissingBegin: "Zus\u00E4tzliches %1 oder fehlendes \\begingroup", - GlobalNotFollowedBy: "'%1' nicht von '\\let', '\\def' oder '\\newcommand' gefolgt", - UndefinedColorModel: "Farbmodell '%1' nicht definiert", - ModelArg1: "Farbwerte f\u00FCr Farbmodell '%1' ben\u00F6tigen 3 Werte", - InvalidDecimalNumber: "Ung\u00FCltige Dezimalzahl", - ModelArg2: "Farbwerte f\u00FCr Farbmodell '%1' m\u00FCssen zwischen %2 und %3 liegen", - InvalidNumber: "Ung\u00FCltige Zahl", - NewextarrowArg1: "Das erste Argument von %1 muss Name einer Befehlsfolge sein", - NewextarrowArg2: "Zweites Argument von %1 m\u00FCssen zwei ganze Zahlen sein, durch Komma getrennt", - NewextarrowArg3: "Das dritte Argument von %1 muss die Nummer eines Unicode-Zeichens sein", - NoClosingChar: "Kann schlie\u00DFende %1 nicht finden", - IllegalControlSequenceName: "Ung\u00FCltige Befehlsfolge f\u00FCr %1", - IllegalParamNumber: "Ung\u00FCltige Anzahl von Parametern in %1", - MissingCS: "%1 muss von Befehlsfolge gefolgt werden", - CantUseHash2: "Ung\u00FCltige Verwendung von # in Definition von %1", - SequentialParam: "Parameter von %1 m\u00FCssen fortlaufend nummeriert sein", - MissingReplacementString: "Ersetzende Zeichenkette f\u00FCr Definition von %1 fehlt", - MismatchUseDef: "Verwendung von %1 passt nicht zur Definition", - RunawayArgument: "Nichtgeschlossenes Argument f\u00FCr %1?", - NoClosingDelim: "Kein schlie\u00DFendes Begrenzungszeichen f\u00FCr %1 gefunden" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/de/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/de.js b/src/py/kaleido/vendor/mathjax/localization/de/de.js deleted file mode 100644 index c77366fa..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/de/de.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/de/de.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("de",null,{ - menuTitle: "Deutsch", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax hat eine Cookie mit ausf\u00FChrbaren Code gefunden. Soll dieser Code ausgef\u00FChrt werden?\n\n(Klicken Sie 'Abbrechen' falls Sie das Cookie nicht selber akzeptiert haben.)", - MathProcessingError: "Fehler bei der Verarbeitung des mathematischen Ausdrucks", - MathError: "Fehler im mathematischen Ausdruck", - LoadFile: "Lade %1", - Loading: "Lade", - LoadFailed: "Datei konnte nicht geladen werden: %1", - ProcessMath: "Verarbeite mathematischen Ausdruck: %1%%", - Processing: "Verarbeite", - TypesetMath: "mathematischer Ausdruck wird gesetzt: %1%%", - Typesetting: "Formelsatz", - MathJaxNotSupported: "Ihr Webbrowser unterst\u00FCtzt MathJax nicht", - ErrorTips: "Fehlerbehebungs-Tipps: Verwende %%1, pr\u00FCfe %%2 in der Browserkonsole" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return String(n).replace(".", ","); // replace dot by comma - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/de/de.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/diq/FontWarnings.js deleted file mode 100644 index 73862326..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/diq/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/diq/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("diq","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/diq/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/diq/HTML-CSS.js deleted file mode 100644 index 163f33a8..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/diq/HTML-CSS.js +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************* - * - * MathJax/localization/diq/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("diq","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Web font %1 bar beno", - CantLoadWebFont: "Font\u00EA web\u00EA %1'i bar n\u00EAb\u0131" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/diq/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/diq/HelpDialog.js deleted file mode 100644 index e4a28739..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/diq/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/diq/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("diq","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/diq/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/MathML.js b/src/py/kaleido/vendor/mathjax/localization/diq/MathML.js deleted file mode 100644 index 2e480851..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/diq/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/diq/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("diq","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/diq/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/diq/MathMenu.js deleted file mode 100644 index 97feb036..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/diq/MathMenu.js +++ /dev/null @@ -1,89 +0,0 @@ -/************************************************************* - * - * MathJax/localization/diq/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("diq","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Zey tebir\u00EA matematik\u00EAni b\u0131mocne", - MathMLcode: "MathML kod", - OriginalMathML: "Original MathML", - TeXCommands: "Direktif\u00EA TeXi", - AsciiMathInput: "Dekerd\u0131\u015F\u00EA AsciiMathML", - Original: "Formo oricinal", - ErrorMessage: "Mesac\u00EA x\u0131rabi", - Annotation: "Not", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Zerreka MathML", - OpenMath: "OpenMath", - texHints: "MathML' de sopan\u00EA TeX'i b\u0131vin", - Settings: "Saz\u00EA Math", - ZoomTrigger: "Zoom trigger", - Hover: "V\u0131rderiyen", - Click: "T\u0131knay\u0131\u015F", - DoubleClick: "D\u0131rey-t\u0131knay\u0131\u015F", - NoZoom: "Zoom mek", - TriggerRequires: "\u0130cab\u00EA Triggeri:", - Option: "We\u00E7inegi", - Alt: "B\u0131n", - Command: "Komuta", - Control: "Qontrol", - Shift: "Shift", - ZoomFactor: "Faktora zoomi", - Renderer: "Matematik v\u0131ra\u015Fto\u011F", - MenuEvents: "Hedisey\u00EA menuyi", - MouseEvents: "Faaliyet\u00EA meriy", - MenuAndMouse: "Faaliyet\u00EA meriy u menuy", - FontPrefs: "Tercih\u00E9 qelem", - ForHTMLCSS: "Qand\u00E9 HTML-CSS:", - Auto: "Otomatik", - TeXLocal: "TeX (Lokal)", - TeXWeb: "TeX (Web)", - TeXImage: "TeX (res\u0131m)", - STIXLocal: "STIX (Lokal)", - STIXWeb: "STIX (Web)", - AsanaMathWeb: "Asana Math (Web)", - GyrePagellaWeb: "Gyre Pagella (Web)", - GyreTermesWeb: "Gyre Termes (Web)", - LatinModernWeb: "Latin Modern (Web)", - NeoEulerWeb: "Neo Euler (Web)", - ContextMenu: "Kontextmen\u00FC", - Browser: "Browser", - Locale: "Z\u0131wan", - LoadLocale: "URL ra bar beno...", - About: "Heqd\u00E9 MathJax", - Help: "Pe\u015Ftia MathJaxi", - localTeXfonts: "Lokal font\u00EA TeXi b\u0131karne", - webTeXfonts: "Web font\u00EA TeXi b\u0131karn\u00EA", - imagefonts: "Font\u00EA resimi b\u0131karne", - localSTIXfonts: "Lokal font\u00EA STIXi b\u0131karne", - webSVGfonts: "Web font\u00EA SVGy b\u0131karne", - genericfonts: "Generik font\u00EA Unicodi b\u0131karne", - wofforotffonts: "Font\u00EA WOFF yana OTF", - eotffonts: "EOT fonti", - svgfonts: "SVG fonti", - NoOriginalForm: "Original form mewcud niyo", - Close: "Racn\u00EA", - EqSource: "Denklema \u00E7\u0131me ya MathJax'i" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/diq/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/TeX.js b/src/py/kaleido/vendor/mathjax/localization/diq/TeX.js deleted file mode 100644 index 9e012995..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/diq/TeX.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/diq/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("diq","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/diq/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/diq.js b/src/py/kaleido/vendor/mathjax/localization/diq/diq.js deleted file mode 100644 index c6d7be61..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/diq/diq.js +++ /dev/null @@ -1,56 +0,0 @@ -/************************************************************* - * - * MathJax/localization/diq/diq.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("diq",null,{ - menuTitle: "Zazaki", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "X\u0131raba kar\u00EA matematiki", - MathError: "Xetay matematiki", - LoadFile: "%1 Bar keri", - Loading: "Bar beno", - LoadFailed: "Dosyay bar nebi: %1", - ProcessMath: "Matematik neq\u0131\u015F kerden: %1%%", - Processing: "Kar\u00EAno...", - TypesetMath: "Tewr\u00EA eyar\u00EA matematiki:%1", - Typesetting: "Eyar\u00EA tewri", - MathJaxNotSupported: "Rov\u0131tera \u015F\u0131ma MathJax'i n\u00EAgurweyne na" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/diq/diq.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/en/FontWarnings.js deleted file mode 100644 index bd67d2ff..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/en/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/en/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("en","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax is using web-based fonts to display the mathematics on this page. These take time to download, so the page would render faster if you installed math fonts directly in your system's font folder.", - imageFonts: "MathJax is using its image fonts rather than local or web-based fonts. This will render slower than usual, and the mathematics may not print at the full resolution of your printer.", - noFonts: "MathJax is unable to locate a font to use to display its mathematics, and image fonts are not available, so it is falling back on generic Unicode characters in hopes that your browser will be able to display them. Some characters may not show up properly, or possibly not at all.", - webFonts: "Most modern browsers allow for fonts to be downloaded over the web. Updating to a more recent version of your browser (or changing browsers) could improve the quality of the mathematics on this page.", - fonts: "MathJax can use either the [STIX fonts](%1) or the [MathJax TeX fonts](%2). Download and install one of those fonts to improve your MathJax experience.", - STIXPage: "This page is designed to use the [STIX fonts](%1). Download and install those fonts to improve your MathJax experience.", - TeXPage: "This page is designed to use the [MathJax TeX fonts](%1). Download and install those fonts to improve your MathJax experience." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/en/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/en/HTML-CSS.js deleted file mode 100644 index 9cfee5d9..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/en/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/en/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("en","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Loading web font %1", - CantLoadWebFont: "Cannot load web font %1", - FirefoxCantLoadWebFont: "Firefox cannot load web fonts from a remote host", - CantFindFontUsing: "Cannot find a valid font using %1", - WebFontsNotAvailable: "Web fonts not available. Using image fonts instead" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/en/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/en/HelpDialog.js deleted file mode 100644 index 0cfe9138..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/en/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/en/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("en","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax Help", - MathJax: "*MathJax* is a JavaScript library that allows page authors to include mathematics within their web pages. As a reader, you do not need to do anything to make that happen.", - Browsers: "*Browsers*: MathJax works with all modern browsers including IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ and most mobile browsers.", - Menu: "*Math menu*: MathJax adds a contextual menu to equations. Right-click or Ctrl-click on any mathematics to access the menu.", - ShowMath: "*Show math as* allows you to view the formula's source markup for copy \u0026 paste (as MathML or in its original format).", - Settings: "*Settings* gives you control over features of MathJax, such as the size of the mathematics, and the mechanism used to display equations.", - Language: "*Language* lets you select the language used by MathJax for its menus and warning messages.", - Zoom: "*Math zoom*: If you are having difficulty reading an equation, MathJax can enlarge it to help you see it better.", - Accessibilty: "*Accessibility*: MathJax will automatically work with screen readers to make mathematics accessible to the visually impaired.", - Fonts: "*Fonts*: MathJax will use certain math fonts if they are installed on your computer; otherwise, it will use web-based fonts. Although not required, locally installed fonts will speed up typesetting. We suggest installing the [STIX fonts](%1).", - CloseDialog: "Close help dialog" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/en/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/MathML.js b/src/py/kaleido/vendor/mathjax/localization/en/MathML.js deleted file mode 100644 index 7310e1df..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/en/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/en/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("en","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "Bad mglyph: %1", - BadMglyphFont: "Bad font: %1", - MathPlayer: "MathJax was not able to set up MathPlayer.\n\nIf MathPlayer is not installed, you need to install it first.\nOtherwise, your security settings may be preventing ActiveX\ncontrols from running. Use the Internet Options item under\nthe Tools menu and select the Security tab, then press the\nCustom Level button. Check that the settings for\n'Run ActiveX Controls', and 'Binary and script behaviors'\nare enabled.\n\nCurrently you will see error messages rather than\ntypeset mathematics", - CantCreateXMLParser: "MathJax cannot create an XML parser for MathML. Check that\nthe 'Script ActiveX controls marked safe for scripting' security\nsetting is enabled (use the Internet Options item in the Tools\nmenu, and select the Security panel, then press the Custom Level\nbutton to check this).\n\nMathML equations will not be able to be processed by MathJax", - UnknownNodeType: "Unknown node type: %1", - UnexpectedTextNode: "Unexpected text node: %1", - ErrorParsingMathML: "Error parsing MathML", - ParsingError: "Error parsing MathML: %1", - MathMLSingleElement: "MathML must be formed by a single element", - MathMLRootElement: "MathML must be formed by a \u003Cmath\u003E element, not %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/en/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/en/MathMenu.js deleted file mode 100644 index be2123ea..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/en/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/en/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("en","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Show math as", - MathMLcode: "MathML code", - OriginalMathML: "Original MathML", - TeXCommands: "TeX commands", - AsciiMathInput: "AsciiMathML input", - Original: "Original form", - ErrorMessage: "Error message", - Annotation: "Annotation", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Content MathML", - OpenMath: "OpenMath", - texHints: "Show TeX hints in MathML", - Settings: "Math settings", - ZoomTrigger: "Zoom trigger", - Hover: "Hover", - Click: "Click", - DoubleClick: "Double-click", - NoZoom: "No zoom", - TriggerRequires: "Trigger requires:", - Option: "Option", - Alt: "Alt", - Command: "Command", - Control: "Control", - Shift: "Shift", - ZoomFactor: "Zoom factor", - Renderer: "Math renderer", - MPHandles: "Let MathPlayer handle:", - MenuEvents: "Menu events", - MouseEvents: "Mouse events", - MenuAndMouse: "Mouse and menu events", - FontPrefs: "Font preferences", - ForHTMLCSS: "For HTML-CSS:", - Auto: "Auto", - TeXLocal: "TeX (local)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (image)", - STIXLocal: "STIX (local)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Contextual menu", - Browser: "Browser", - Scale: "Scale all math ...", - Discoverable: "Highlight on hover", - Locale: "Language", - LoadLocale: "Load from URL ...", - About: "About MathJax", - Help: "MathJax help", - localTeXfonts: "using local TeX fonts", - webTeXfonts: "using web TeX font", - imagefonts: "using Image fonts", - localSTIXfonts: "using local STIX fonts", - webSVGfonts: "using web SVG fonts", - genericfonts: "using generic Unicode fonts", - wofforotffonts: "WOFF or OTF fonts", - eotffonts: "EOT fonts", - svgfonts: "SVG fonts", - WebkitNativeMMLWarning: "Your browser does not seem to support MathML natively, so switching to MathML output may cause the mathematics on the page to become unreadable", - MSIENativeMMLWarning: "Internet Explorer requires the MathPlayer plugin in order to process MathML output.", - OperaNativeMMLWarning: "Opera's support for MathML is limited, so switching to MathML output may cause some expressions to render poorly.", - SafariNativeMMLWarning: "Your browser's native MathML does not implement all the features used by MathJax, so some expressions may not render properly.", - FirefoxNativeMMLWarning: "Your browser's native MathML does not implement all the features used by MathJax, so some expressions may not render properly.", - MSIESVGWarning: "SVG is not implemented in Internet Explorer prior to IE9 or when it is emulating IE8 or below. Switching to SVG output will cause the mathematics to not display properly.", - LoadURL: "Load translation data from this URL:", - BadURL: "The URL should be for a JavaScript file that defines MathJax translation data. JavaScript file names should end with '.js'", - BadData: "Failed to load translation data from %1", - SwitchAnyway: "Switch the renderer anyway?\n\n(Press OK to switch, CANCEL to continue with the current renderer)", - ScaleMath: "Scale all mathematics (compared to surrounding text) by", - NonZeroScale: "The scale should not be zero", - PercentScale: "The scale should be a percentage (for example 120%%)", - IE8warning: "This will disable the MathJax menu and zoom features, but you can Alt-Click on an expression to obtain the MathJax menu instead.\n\nReally change the MathPlayer settings?", - IE9warning: "The MathJax contextual menu will be disabled, but you can Alt-Click on an expression to obtain the MathJax menu instead.", - NoOriginalForm: "No original form available", - Close: "Close", - EqSource: "MathJax Equation Source", - CloseAboutDialog: "Close about MathJax dialog", - FastPreview: "Fast Preview", - AssistiveMML: "Assistive MathML", - InTabOrder: "Include in Tab Order" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/en/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/TeX.js b/src/py/kaleido/vendor/mathjax/localization/en/TeX.js deleted file mode 100644 index dd7daeb2..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/en/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/en/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("en","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Extra open brace or missing close brace", - ExtraCloseMissingOpen: "Extra close brace or missing open brace", - MissingLeftExtraRight: "Missing \\left or extra \\right", - MissingScript: "Missing superscript or subscript argument", - ExtraLeftMissingRight: "Extra \\left or missing \\right", - Misplaced: "Misplaced %1", - MissingOpenForSub: "Missing open brace for subscript", - MissingOpenForSup: "Missing open brace for superscript", - AmbiguousUseOf: "Ambiguous use of %1", - EnvBadEnd: "\\begin{%1} ended with \\end{%2}", - EnvMissingEnd: "Missing \\end{%1}", - MissingBoxFor: "Missing box for %1", - MissingCloseBrace: "Missing close brace", - UndefinedControlSequence: "Undefined control sequence %1", - DoubleExponent: "Double exponent: use braces to clarify", - DoubleSubscripts: "Double subscripts: use braces to clarify", - DoubleExponentPrime: "Prime causes double exponent: Use braces to clarify", - CantUseHash1: "You cannot use 'macro parameter character #' in math mode", - MisplacedMiddle: "%1 must be within \\left and \\right", - MisplacedLimits: "%1 is allowed only on operators", - MisplacedMoveRoot: "%1 can appear only within a root", - MultipleCommand: "Multiple %1", - IntegerArg: "The argument to %1 must be an integer", - NotMathMLToken: "%1 is not a token element", - InvalidMathMLAttr: "Invalid MathML attribute: %1", - UnknownAttrForElement: "%1 is not a recognized attribute for %2", - MaxMacroSub1: "MathJax maximum macro substitution count exceeded; is there a recursive macro call?", - MaxMacroSub2: "MathJax maximum substitution count exceeded; is there a recursive LaTeX environment?", - MissingArgFor: "Missing argument for %1", - ExtraAlignTab: "Extra alignment tab in \\cases text", - BracketMustBeDimension: "Bracket argument to %1 must be a dimension", - InvalidEnv: "Invalid environment name '%1'", - UnknownEnv: "Unknown environment '%1'", - ExtraCloseLooking: "Extra close brace while looking for %1", - MissingCloseBracket: "Could not find closing ']' for argument to %1", - MissingOrUnrecognizedDelim: "Missing or unrecognized delimiter for %1", - MissingDimOrUnits: "Missing dimension or its units for %1", - TokenNotFoundForCommand: "Could not find %1 for %2", - MathNotTerminated: "Math not terminated in text box", - IllegalMacroParam: "Illegal macro parameter reference", - MaxBufferSize: "MathJax internal buffer size exceeded; is there a recursive macro call?", - CommandNotAllowedInEnv: "%1 not allowed in %2 environment", - MultipleLabel: "Label '%1' multiply defined", - CommandAtTheBeginingOfLine: "%1 must come at the beginning of the line", - IllegalAlign: "Illegal alignment specified in %1", - BadMathStyleFor: "Bad math style for %1", - PositiveIntegerArg: "Argument to %1 must be a positive integer", - ErroneousNestingEq: "Erroneous nesting of equation structures", - MultlineRowsOneCol: "The rows within the %1 environment must have exactly one column", - MultipleBBoxProperty: "%1 specified twice in %2", - InvalidBBoxProperty: "'%1' does not look like a color, a padding dimension, or a style", - ExtraEndMissingBegin: "Extra %1 or missing \\begingroup", - GlobalNotFollowedBy: "%1 not followed by \\let, \\def, or \\newcommand", - UndefinedColorModel: "Color model '%1' not defined", - ModelArg1: "Color values for the %1 model require 3 numbers", - InvalidDecimalNumber: "Invalid decimal number", - ModelArg2: "Color values for the %1 model must be between %2 and %3", - InvalidNumber: "Invalid number", - NewextarrowArg1: "First argument to %1 must be a control sequence name", - NewextarrowArg2: "Second argument to %1 must be two integers separated by a comma", - NewextarrowArg3: "Third argument to %1 must be a Unicode character number", - NoClosingChar: "Cannot find closing %1", - IllegalControlSequenceName: "Illegal control sequence name for %1", - IllegalParamNumber: "Illegal number of parameters specified in %1", - MissingCS: "%1 must be followed by a control sequence", - CantUseHash2: "Illegal use of # in template for %1", - SequentialParam: "Parameters for %1 must be numbered sequentially", - MissingReplacementString: "Missing replacement string for definition of %1", - MismatchUseDef: "Use of %1 does not match its definition", - RunawayArgument: "Runaway argument for %1?", - NoClosingDelim: "Cannot find closing delimiter for %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/en/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/en.js b/src/py/kaleido/vendor/mathjax/localization/en/en.js deleted file mode 100644 index 28e127a3..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/en/en.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/en/en.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("en",null,{ - menuTitle: "English", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax has found a user-configuration cookie that includes code to be run. Do you want to run it?\n\n(You should press Cancel unless you set up the cookie yourself.)", - MathProcessingError: "Math processing error", - MathError: "Math error", - LoadFile: "Loading %1", - Loading: "Loading", - LoadFailed: "File failed to load: %1", - ProcessMath: "Processing math: %1%%", - Processing: "Processing", - TypesetMath: "Typesetting math: %1%%", - Typesetting: "Typesetting", - MathJaxNotSupported: "Your browser does not support MathJax", - ErrorTips: "Debugging tips: use %%1, inspect %%2 in the browser console" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/en/en.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/eo/FontWarnings.js deleted file mode 100644 index deeca606..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/eo/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/eo/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("eo","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/eo/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/eo/HTML-CSS.js deleted file mode 100644 index e760ca98..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/eo/HTML-CSS.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/eo/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("eo","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/eo/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/eo/HelpDialog.js deleted file mode 100644 index ae826ec2..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/eo/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/eo/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("eo","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/eo/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/MathML.js b/src/py/kaleido/vendor/mathjax/localization/eo/MathML.js deleted file mode 100644 index ab8e209c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/eo/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/eo/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("eo","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/eo/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/eo/MathMenu.js deleted file mode 100644 index 479bde55..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/eo/MathMenu.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/eo/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("eo","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/eo/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/TeX.js b/src/py/kaleido/vendor/mathjax/localization/eo/TeX.js deleted file mode 100644 index d8fc69df..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/eo/TeX.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/eo/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("eo","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/eo/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/eo.js b/src/py/kaleido/vendor/mathjax/localization/eo/eo.js deleted file mode 100644 index 5f977b11..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/eo/eo.js +++ /dev/null @@ -1,54 +0,0 @@ -/************************************************************* - * - * MathJax/localization/eo/eo.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("eo",null,{ - menuTitle: "Esperanto", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - Loading: "\u015Cargado", - LoadFailed: "\u015Cargado de dosiero malsukcesis: %1", - ProcessMath: "Prilaborado de formulo: %1 %%", - Processing: "Prilaborado", - TypesetMath: "Kompostado de formulo: %1 %%", - Typesetting: "Kompostado", - MathJaxNotSupported: "Via krozilo ne subtenas Mathjax." - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) return 1; // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/eo/eo.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/es/FontWarnings.js deleted file mode 100644 index 660353c3..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/es/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/es/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("es","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax utiliza tipos de letra web para mostrar la notaci\u00F3n matem\u00E1tica de esta p\u00E1gina. Estos tardan un poco en descargarse, por lo que instalarlos en el equipo acelerar\u00E1 la renderizaci\u00F3n de la p\u00E1gina.", - imageFonts: "MathJax est\u00E1 utilizando sus fuentes de imagen en lugar de las fuentes locales o basadas en web. Esto renderizar\u00E1 m\u00E1s lento que de costumbre, y las matem\u00E1ticas no podr\u00E1n imprimir a la resoluci\u00F3n completa de la impresora.", - noFonts: "MathJax es incapaz de encontrar una fuente para mostrar sus matem\u00E1ticas y las fuentes de imagen no est\u00E1n disponibles, as\u00ED que usar\u00E1 caracteres Unicode gen\u00E9ricos con la esperanza de que el navegador ser\u00E1 capaz de mostrarlas. Es posible que algunos caracteres no se muestren correctamente, o no en absoluto.", - webFonts: "La mayor\u00EDa de los navegadores modernos permiten fuentes para ser descargadas a trav\u00E9s de la web. Actualizar a una versi\u00F3n m\u00E1s reciente de tu navegador (o cambiar de navegador) podr\u00EDa mejorar la calidad de las matem\u00E1ticas en esta p\u00E1gina.", - fonts: "MathJax puede utilizar las [fuentes STIX](%1) o las [fuentes TeX MathJax](%2). Descarga e instala una de esas fuentes para mejorar tu experiencia en MathJax.", - STIXPage: "Esta p\u00E1gina est\u00E1 dise\u00F1ada para usar las [fuentes STIX](%1). Descarga e instala esas fuentes para mejorar tu experiencia en MathJax.", - TeXPage: "Esta p\u00E1gina est\u00E1 dise\u00F1ada para usar las [fuentes MathJax TeX](%1). Descarga e instala esas fuentes para mejorar tu experiencia en MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/es/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/es/HTML-CSS.js deleted file mode 100644 index fe9b5b22..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/es/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/es/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("es","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Cargando el tipo de letra web %1", - CantLoadWebFont: "No se pudo cargar la fuente web %1", - FirefoxCantLoadWebFont: "Firefox no puede cargar tipos de letra web desde un equipo remoto", - CantFindFontUsing: "No se puede encontrar un tipo de letra v\u00E1lido mediante %1", - WebFontsNotAvailable: "No hay fuentes web disponibles. Usando fuentes de imagen en su lugar" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/es/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/es/HelpDialog.js deleted file mode 100644 index c220a7cb..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/es/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/es/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("es","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Ayuda de MathJax", - MathJax: "*MathJax* es una biblioteca en JavaScript que permite a los autores de p\u00E1ginas web incrustar notaci\u00F3n matem\u00E1tica. Como lector, no necesitas hacer nada para que eso suceda.", - Browsers: "*Navegadores*: MathJax funciona con todos los navegadores modernos, incluyendo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ y la mayor\u00EDa de los navegadores para m\u00F3vil.", - Menu: "*Men\u00FA Math*: MathJax a\u00F1ade un men\u00FA contextual para las ecuaciones. Haz clic derecho o Ctrl-clic en cualquier notaci\u00F3n matem\u00E1tica para acceder al men\u00FA.", - ShowMath: "*Mostrar la matem\u00E1tica como* permite ver el formato del c\u00F3digo fuente de la f\u00F3rmula para copiar y pegar (como MathML o en su formato original).", - Settings: "*Ajustes* te da el control sobre las funciones de MathJax, tales como el tama\u00F1o de las notaciones matem\u00E1ticas y el mecanismo que se utiliza para mostrar las ecuaciones.", - Language: "*Idioma* permite seleccionar el idioma utilizado por MathJax para sus men\u00FAs y mensajes de advertencia.", - Zoom: "*Zoom*: Si est\u00E1s teniendo dificultad para leer una ecuaci\u00F3n, MathJax puede ampliarla para ayudarte a verla mejor.", - Accessibilty: "*Accesibilidad*: MathJax funcionar\u00E1 autom\u00E1ticamente con los lectores de pantalla para hacer accesible a las personas con discapacidad visual.", - Fonts: "*Tipos de letra*: MathJax utiliza determinados tipos de letra matem\u00E1ticas si est\u00E1n instalados en tu ordenador. De lo contrario, utilizar\u00E1 tipos de letra en web. Aunque no es necesario, los tipos de letra instalados localmente aumentar\u00E1 la velocidad de composici\u00F3n tipogr\u00E1fica. Sugerimos instalar los tipos de letra [STIX](%1).", - CloseDialog: "Cerrar el di\u00E1logo de ayuda" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/es/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/MathML.js b/src/py/kaleido/vendor/mathjax/localization/es/MathML.js deleted file mode 100644 index 09002e69..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/es/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/es/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("es","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "\u00ABmglyph\u00BB da\u00F1ado: %1", - BadMglyphFont: "Tipo de letra da\u00F1ado: %1", - MathPlayer: "MathJax no fue capaz de configurar MathPlayer.\n\nSi no est\u00E1 instalado MathPlayer, tienes que instalarlo primero.\nDe lo contrario, la configuraci\u00F3n de seguridad puede impedir que los controles de ActiveX\nfuncionen. Utiliza el elemento en opciones de Internet en el men\u00FA Herramientas y selecciona la ficha Seguridad, luego presiona el\nbot\u00F3n de nivel personalizado. Comprueba que la configuraci\u00F3n de\n\"Ejecutar controles ActiveX\" y \"comportamientos binarios y script\"\nest\u00E1n activados.\n\nActualmente ver\u00E1s los mensajes de error en lugar de la\ntipograf\u00EDa matem\u00E1tica", - CantCreateXMLParser: "MathJax no puede crear un analizador de XML para MathML. Comprueba que la configuraci\u00F3n de seguridad \"controles de secuencia de comandos ActiveX marcados como seguros para scripts\" est\u00E1 habilitada (utiliza el elemento en opciones de Internet en el men\u00FA Herramientas y selecciona el panel de seguridad, luego presiona el bot\u00F3n de nivel personalizado para comprobarlo).\n\nLas ecuaciones MathML no podr\u00E1n ser procesadas por MathJax", - UnknownNodeType: "Tipo de nodo desconocido: %1", - UnexpectedTextNode: "Nodo de texto inesperado: %1", - ErrorParsingMathML: "Error al analizar MathML", - ParsingError: "Error al analizar MathML: %1", - MathMLSingleElement: "MathML debe estar formado por un solo elemento", - MathMLRootElement: "MathML debe estar formado por un elemento \u003Cmath\u003E, no %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/es/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/es/MathMenu.js deleted file mode 100644 index 0c28ef4e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/es/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/es/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("es","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Mostrar las f\u00F3rmulas como", - MathMLcode: "C\u00F3digo de MathML", - OriginalMathML: "MathML original", - TeXCommands: "\u00D3rdenes de TeX", - AsciiMathInput: "Entrada AsciiMathML", - Original: "Forma original", - ErrorMessage: "Mensaje de error", - Annotation: "Anotaci\u00F3n", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Contenido MathML", - OpenMath: "OpenMath", - texHints: "Mostrar sugerencias TeX en MathML", - Settings: "Configuraci\u00F3n matem\u00E1tica", - ZoomTrigger: "Activar zoom", - Hover: "Apuntar con el rat\u00F3n", - Click: "Pulsaci\u00F3n del rat\u00F3n", - DoubleClick: "Pulsaci\u00F3n doble del rat\u00F3n", - NoZoom: "Sin ampliaci\u00F3n", - TriggerRequires: "La activaci\u00F3n requiere:", - Option: "Opci\u00F3n", - Alt: "Alt", - Command: "Orden", - Control: "Control", - Shift: "May\u00FAs", - ZoomFactor: "Factor de ampliaci\u00F3n", - Renderer: "Renderizador matem\u00E1tico", - MPHandles: "Permitir que MathPlayer gestione:", - MenuEvents: "Eventos del men\u00FA", - MouseEvents: "Eventos del rat\u00F3n", - MenuAndMouse: "Eventos del men\u00FA y del rat\u00F3n", - FontPrefs: "Preferencias tipogr\u00E1ficas", - ForHTMLCSS: "Para HTML-CSS:", - Auto: "Autom\u00E1tico", - TeXLocal: "TeX (local)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (imagen)", - STIXLocal: "STIX (local)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Men\u00FA contextual", - Browser: "Navegador", - Scale: "Escalar todas las f\u00F3rmulas\u2026", - Discoverable: "Resaltar al apuntar con el rat\u00F3n", - Locale: "Idioma", - LoadLocale: "Cargar a partir de URL\u2026", - About: "Acerca de MathJax", - Help: "Ayuda de MathJax", - localTeXfonts: "usando tipos de letra locales TeX", - webTeXfonts: "usando tipo de letra web TeX", - imagefonts: "usando tipos de letra de imagen", - localSTIXfonts: "usando tipos de letra locales STIX", - webSVGfonts: "usando tipos de letra web SVG", - genericfonts: "usando tipos de letra Unicode gen\u00E9ricas", - wofforotffonts: "Tipos de letra WOFF u OTF", - eotffonts: "Tipos de letra EOT", - svgfonts: "Tipos de letra SVG", - WebkitNativeMMLWarning: "Parece que tu navegador no admite MathML de manera nativa; si cambias a la salida MathML es posible que la notaci\u00F3n matem\u00E1tica de la p\u00E1gina se vuelva ilegible", - MSIENativeMMLWarning: "Internet Explorer necesita el complemento MathPlayer para procesar la salida de MathML.", - OperaNativeMMLWarning: "La compatibilidad de Opera con MathML es limitada, por lo que cambiar a la salida de MathML puede causar que algunas expresiones no se visualicen bien.", - SafariNativeMMLWarning: "El MathML nativo de tu navegador no implementa todas las funciones utilizadas por MathJax, por lo que algunas expresiones pueden no visualizarse correctamente.", - FirefoxNativeMMLWarning: "El MathML nativo de tu navegador no implementa todas las funciones utilizadas por MathJax, por lo que algunas expresiones pueden no visualizarse correctamente.", - MSIESVGWarning: "SVG no est\u00E1 implementado en Internet Explorer anterior a IE9 o cuando se est\u00E1 emulando IE8 o anteriores. Cambiar a la salida SVG har\u00E1 que la notaci\u00F3n matem\u00E1tica no se visualice correctamente.", - LoadURL: "Cargar datos de traducci\u00F3n desde esta direcci\u00F3n URL:", - BadURL: "La direcci\u00F3n URL debe ser para un archivo JavaScript que define los datos de traducci\u00F3n de MathJax. Los nombres de los archivos de JavaScript deben terminar con \".js\"", - BadData: "No se pudieron cargar los datos de traducci\u00F3n de %1", - SwitchAnyway: "\u00BFCambiar al renderizador de todos modos?\n\n(Presiona OK para cambiar, CANCELAR para continuar con el renderizador actual)", - ScaleMath: "Escalar toda la matem\u00E1tica (comparado con el texto circundante) por", - NonZeroScale: "La escala no debe ser cero", - PercentScale: "La escala debe ser un porcentaje (p. ej.: 120 %%)", - IE8warning: "Esto deshabilitar\u00E1 las funciones de men\u00FA y zoom de MathJax, pero puedes pulsar Alt-Clic en una expresi\u00F3n para obtener el men\u00FA MathJax en su lugar.\n\n\u00BFRealmente quieres cambiar la configuraci\u00F3n de MathPlayer?", - IE9warning: "El men\u00FA contextual de MathJax ser\u00E1 desactivado, pero puedes pulsar Alt-Clic en una expresi\u00F3n para obtener el men\u00FA MathJax en su lugar.", - NoOriginalForm: "La forma original no est\u00E1 disponible", - Close: "Cerrar", - EqSource: "C\u00F3digo de la ecuaci\u00F3n de MathJax", - CloseAboutDialog: "Cerrar el di\u00E1logo de acerca de MathJax", - FastPreview: "Vista previa r\u00E1pida", - AssistiveMML: "Asistente MathML", - InTabOrder: "Incluir en el Orden de Pesta\u00F1as" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/es/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/TeX.js b/src/py/kaleido/vendor/mathjax/localization/es/TeX.js deleted file mode 100644 index 0655e680..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/es/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/es/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("es","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Llave de apertura adicional o falta la llave de cierre", - ExtraCloseMissingOpen: "Llave de cierre adicional o falta la llave de apertura", - MissingLeftExtraRight: "Falta \\left o \\right adicional", - MissingScript: "Falta argumento super\u00EDndice o sub\u00EDndice", - ExtraLeftMissingRight: "\\left adicional o falta \\right", - Misplaced: "%1 ubicado incorrectamente", - MissingOpenForSub: "Falta la llave de apertura para el sub\u00EDndice", - MissingOpenForSup: "Falta la llave de apertura para super\u00EDndice", - AmbiguousUseOf: "Uso ambiguo de %1", - EnvBadEnd: "\\begin{%1} termina con \\end{%2}", - EnvMissingEnd: "Falta \\end{%1}", - MissingBoxFor: "Falta la caja para %1", - MissingCloseBrace: "Falta la llave de cierre", - UndefinedControlSequence: "Secuencia de control indefinida %1", - DoubleExponent: "Doble exponente: utiliza llaves para aclarar", - DoubleSubscripts: "Doble sub\u00EDndices: utiliza llaves para aclarar", - DoubleExponentPrime: "El s\u00EDmbolo \u00ABprima\u00BB causa un exponente doble, utiliza llaves para aclarar", - CantUseHash1: "No puedes utilizar \"n\u00FAmero de car\u00E1cter de par\u00E1metro de macro\" en modo matem\u00E1tico", - MisplacedMiddle: "%1 debe estar dentro de \\left y \\right", - MisplacedLimits: "%1 est\u00E1 permitido solo en operadores", - MisplacedMoveRoot: "%1 solo puede aparecer dentro de una ra\u00EDz", - MultipleCommand: "M\u00FAltiples %1", - IntegerArg: "El argumento para %1 debe ser un entero", - NotMathMLToken: "%1 no es un elemento", - InvalidMathMLAttr: "El atributo MathML no es v\u00E1lido: %1", - UnknownAttrForElement: "%1 no es un atributo reconocido para %2", - MaxMacroSub1: "Conteo m\u00E1ximo de sustituci\u00F3n de macro MathJax superado, \u00BFhay una llamada recursiva de macro?", - MaxMacroSub2: "Se excedi\u00F3 el conteo m\u00E1ximo de sustituci\u00F3n MathJax, \u00BFhay un ambiente recursivo de LaTeX?", - MissingArgFor: "Falta el argumento para %1", - ExtraAlignTab: "Ficha de alineaci\u00F3n adicional en texto \\cases", - BracketMustBeDimension: "El argumento de par\u00E9ntesis %1 debe ser una dimensi\u00F3n", - InvalidEnv: "Nombre de entorno \u00AB%1\u00BB no v\u00E1lido", - UnknownEnv: "Entorno desconocido \u00AB%1\u00BB", - ExtraCloseLooking: "Llave de cierre adicional al buscar %1", - MissingCloseBracket: "No se pudo encontrar \"]\" de cierre para el argumento %1", - MissingOrUnrecognizedDelim: "Delimitador no reconocido o faltante para %1", - MissingDimOrUnits: "Falta la dimensi\u00F3n o sus unidades para %1", - TokenNotFoundForCommand: "No se pudo encontrar %1 para %2", - MathNotTerminated: "La notaci\u00F3n matem\u00E1tica no termina en el cuadro de texto", - IllegalMacroParam: "Referencia de par\u00E1metro de macro ilegal", - MaxBufferSize: "Tama\u00F1o del b\u00FAfer interno de MathJax excedido. \u00BFHay una llamada macro recursiva?", - CommandNotAllowedInEnv: "%1 no permitido en el entorno %2", - MultipleLabel: "Se defini\u00F3 la etiqueta \u00AB%1\u00BB varias veces", - CommandAtTheBeginingOfLine: "%1 debe aparecer al principio de la l\u00EDnea", - IllegalAlign: "Se especific\u00F3 un alineamiento incorrecto en %1", - BadMathStyleFor: "Estilo matem\u00E1tico err\u00F3neo para %1", - PositiveIntegerArg: "El argumento de %1 debe ser un entero positivo", - ErroneousNestingEq: "Anidaci\u00F3n err\u00F3nea de estructuras de ecuaciones", - MultlineRowsOneCol: "Las filas dentro del entorno %1 deben tener exactamente una columna", - MultipleBBoxProperty: "Se ha especificado %1 dos veces en %2", - InvalidBBoxProperty: "\"%1\" no parece ser un color, una dimensi\u00F3n de relleno o un estilo", - ExtraEndMissingBegin: "%1 adicional o falta \\begingroup", - GlobalNotFollowedBy: "%1 no va seguido de \\let, \\def o \\newcommand", - UndefinedColorModel: "El modelo de color \u00AB%1\u00BB no est\u00E1 definido", - ModelArg1: "Los valores de color para el modelo %1 requieren 3 n\u00FAmeros", - InvalidDecimalNumber: "El n\u00FAmero decimal no es v\u00E1lido", - ModelArg2: "Los valores de color para el modelo %1 deben estar entre %2 y %3", - InvalidNumber: "El n\u00FAmero no es v\u00E1lido", - NewextarrowArg1: "El primer argumento de %1 debe ser un nombre de secuencia de control", - NewextarrowArg2: "El segundo argumento de %1 debe ser dos n\u00FAmeros enteros separados por una coma", - NewextarrowArg3: "El tercer argumento de %1 debe ser un n\u00FAmero de caracteres Unicode", - NoClosingChar: "No se puede encontrar el %1 de cierre", - IllegalControlSequenceName: "El nombre de la secuencia de control para %1 es incorrecto", - IllegalParamNumber: "Se especific\u00F3 una cantidad incorrecta de par\u00E1metros en %1", - MissingCS: "A %1 ha de a\u00F1ad\u00EDrsele una secuencia de control", - CantUseHash2: "Uso incorrecto de \u00AB#\u00BB en la plantilla para %1", - SequentialParam: "Los par\u00E1metros para %1 deben ser numerados de forma secuencial", - MissingReplacementString: "Falta la cadena de sustituci\u00F3n para la definici\u00F3n de %1", - MismatchUseDef: "El uso de %1 no coincide con su definici\u00F3n", - RunawayArgument: "\u00BFArgumento de escape para %1?", - NoClosingDelim: "No se puede encontrar el delimitador de cierre para %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/es/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/es.js b/src/py/kaleido/vendor/mathjax/localization/es/es.js deleted file mode 100644 index 419a1eab..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/es/es.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/es/es.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("es",null,{ - menuTitle: "espa\u00F1ol", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax ha encontrado una cookie de configuraci\u00F3n de usuario que incluye c\u00F3digo para ser ejecutado.\u00BFQuieres ejecutarlo?\n\\n\n(Pulse Cancelar al menos que configure la cookie).", - MathProcessingError: "Error de procesamiento de matem\u00E1ticas", - MathError: "Error de matem\u00E1ticas", - LoadFile: "Cargando %1", - Loading: "Cargando", - LoadFailed: "Fall\u00F3 la carga del archivo: %1", - ProcessMath: "Procesando notaci\u00F3n matem\u00E1tica: %1\u00A0%%", - Processing: "Procesando", - TypesetMath: "Composici\u00F3n tipogr\u00E1fica en curso: %1 %%", - Typesetting: "Composici\u00F3n tipogr\u00E1fica", - MathJaxNotSupported: "El navegador no admite MathJax", - ErrorTips: "Consejos de depuraci\u00F3n: utilice %%1, inspeccione %%2 en la consola del navegador" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) return 1; // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/es/es.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/fa/FontWarnings.js deleted file mode 100644 index a1833b7c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fa/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fa/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fa","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0632\u0645\u0627\u0646\u06CC \u062C\u0647\u062A \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0628\u06AF\u06CC\u0631\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0631\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u0633\u062A\u0642\u06CC\u0645 \u062F\u0631 \u067E\u0648\u0634\u0647\u0654 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0633\u06CC\u0633\u062A\u0645\u200C\u0639\u0627\u0645\u0644 \u062E\u0648\u062F \u0642\u0631\u0627\u0631 \u062F\u0647\u06CC\u062F \u0646\u0645\u0627\u06CC\u0634 \u0635\u0641\u062D\u0627\u062A \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u0646\u062F \u0634\u062F.", - imageFonts: "MathJax \u0628\u0647 \u062C\u0627\u06CC \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u062D\u0644\u06CC \u06CC\u0627 \u0648\u0628\u06CC \u0627\u0632 \u062A\u0635\u0627\u0648\u06CC\u0631 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0627\u0632 \u062D\u0627\u0644\u062A \u0639\u0627\u062F\u06CC \u06A9\u0646\u062F\u062A\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u062F\u0631 \u062C\u0632\u0626\u06CC\u0627\u062A \u06A9\u0627\u0645\u0644 \u0686\u0627\u067E\u06AF\u0631 \u0634\u0645\u0627 \u0686\u0627\u067E \u0646\u0634\u0648\u0646\u062F.", - noFonts: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A \u0642\u0644\u0645\u06CC \u06A9\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F \u0631\u0627 \u0628\u06CC\u0627\u0628\u062F \u0648 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0647 \u0627\u06CC\u0646 \u0627\u0645\u06CC\u062F \u06A9\u0647 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u062A\u0648\u0627\u0646\u062F \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0639\u0645\u0648\u0645\u06CC \u0631\u0627 \u0686\u0627\u067E \u06A9\u0646\u062F \u0628\u0647 \u0622\u0646\u200C\u0647\u0627 \u0628\u0627\u0632\u0645\u06CC\u200C\u06AF\u0631\u062F\u062F. \u0628\u0639\u0636\u06CC \u0627\u0632 \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u06CC\u0627 \u0627\u0635\u0644\u0627\u064B \u0628\u0647 \u06A9\u0644 \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", - webFonts: "\u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC \u062F\u0647\u0646\u062F \u06A9\u0647 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0632 \u0637\u0631\u06CC\u0642 \u0648\u0628 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0634\u0648\u0646\u062F. \u0628\u0647\u200C\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC\u200C\u06A9\u0631\u062F\u0646 \u0628\u0647 \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u062E\u0631\u06CC\u0646 \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0645\u0631\u0648\u0631\u06AF\u0631\u062A\u0627\u0646 (\u06CC\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631) \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u06A9\u06CC\u0641\u06CC\u062A \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", - fonts: "MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u06CC\u0627 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%2) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u0646\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", - STIXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC\u200C\u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0628\u0647\u0628\u0648\u062F \u06CC\u0627\u0628\u062F.", - TeXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC \u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u06A9\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u0645\u06CC\u200C\u0628\u062E\u0634\u062F." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fa/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/fa/HTML-CSS.js deleted file mode 100644 index 9711f61e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fa/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fa/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fa","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0642\u0644\u0645 \u0648\u0628\u06CC %1", - CantLoadWebFont: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u0642\u0644\u0645 \u0648\u0628\u06CC %1 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0631\u062F", - FirefoxCantLoadWebFont: "\u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0631\u0627 \u0627\u0632 \u06CC\u06A9 \u0645\u06CC\u0632\u0627\u0646 \u0627\u0632 \u0631\u0627\u0647 \u062F\u0648\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F", - CantFindFontUsing: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u06CC\u06A9 \u0642\u0644\u0645 \u0645\u0639\u062A\u0628\u0631 \u0628\u0627\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 %1 \u06CC\u0627\u0641\u062A", - WebFontsNotAvailable: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0646\u0627\u0645\u0648\u062C\u0648\u062F\u0646\u062F -- \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0628\u0647 \u062C\u0627\u06CC \u0622\u0646" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fa/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/fa/HelpDialog.js deleted file mode 100644 index dde9c05d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fa/HelpDialog.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fa/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fa","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", - MathJax: "*MathJax* \u06CC\u06A9 \u06A9\u062A\u0627\u0628\u062E\u0627\u0646\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0646\u0648\u06CC\u0633\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u0635\u0641\u062D\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u062F\u0631\u0648\u0646 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC \u0642\u0631\u0627\u0631 \u062F\u0647\u0646\u062F. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062E\u0648\u0627\u0646\u0646\u062F\u0647\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u0646\u062F\u0627\u0631\u06CC\u062F \u06A9\u0627\u0631\u06CC \u0627\u0646\u062C\u0627\u0645 \u062F\u0647\u06CC\u062F \u06A9\u0647 \u0627\u06CC\u0646 \u0627\u062A\u0641\u0627\u0642 \u0628\u06CC\u0641\u062A\u062F.", - Browsers: "*\u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627*: MathJax \u0628\u0627 \u0647\u0645\u0647\u0654 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0634\u0627\u0645\u0644 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u06F3 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u06A9\u0631\u0648\u0645 \u06F0.\u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0633\u0627\u0641\u0627\u0631\u0633\u06CC \u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0627\u067E\u0631\u0627\u06CC \u06F9.\u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627 \u0648 \u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u062A\u0644\u0641\u0646 \u0647\u0645\u0631\u0627\u0647 \u06A9\u0627\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F.", - Menu: "*\u0645\u0646\u0648\u06CC \u0631\u06CC\u0627\u0636\u06CC*: MathJax \u06CC\u06A9 \u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC \u0628\u0647 \u0645\u0639\u0627\u062F\u0644\u0627\u062A \u0645\u06CC\u200C\u0627\u0641\u0632\u0627\u06CC\u062F. \u0628\u0627 \u06A9\u0644\u06CC\u06A9 \u0631\u0627\u0633\u062A \u06CC\u0627 \u06A9\u0644\u06CC\u06A9 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u0647\u0627\u0631 (CTRL) \u062F\u0631 \u0647\u0631 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0627\u06CC \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0647 \u0627\u06CC\u0646 \u0645\u0646\u0648 \u062F\u0633\u062A \u0628\u06CC\u0627\u0628\u06CC\u062F.", - ShowMath: "*\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC \u0628\u0647 \u0639\u0646\u0648\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0634\u0645\u0627 \u0645\u0646\u0628\u0639 \u0646\u0634\u0627\u0646\u0647\u200C\u06AF\u0630\u0627\u0631\u06CC \u0641\u0631\u0645\u0648\u0644 \u0631\u0627 \u0628\u0631\u0627\u06CC \u0631\u0648\u0646\u0648\u0634\u062A \u0648 \u0686\u0633\u067E\u0627\u0646\u062F\u0646 \u0628\u0628\u06CC\u0646\u06CC\u062F (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 MathML \u06CC\u0627 \u062F\u0631 \u0642\u0627\u0644\u0628 \u0627\u0635\u0644\u06CC \u0622\u0646).", - Settings: "*\u062A\u0646\u0638\u06CC\u0645\u0627\u062A* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0628\u0647 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC MathJax \u0627\u0632 \u062C\u0645\u0644\u0647\u0654 \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0648 \u0645\u06A9\u0627\u0646\u06CC\u0632\u0645 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u06A9\u0646\u062A\u0631\u0644 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F.", - Language: "*\u0632\u0628\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0634\u0645\u0627 \u0632\u0628\u0627\u0646 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0628\u0631\u0627\u06CC \u0645\u0646\u0648\u0647\u0627 \u0648 \u067E\u06CC\u063A\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627 \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F.", - Zoom: "*\u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u06CC\u0627\u0636\u06CC*: \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0627 \u062E\u0648\u0627\u0646\u062F\u0646 \u06CC\u06A9 \u0645\u0639\u0627\u062F\u0644\u0647 \u0645\u0634\u06A9\u0644\u06CC \u062F\u0627\u0631\u06CC\u062F\u060C MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 \u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0628\u0647 \u062F\u06CC\u062F\u0646 \u0634\u0645\u0627 \u06A9\u0645\u06A9 \u06A9\u0646\u062F.", - Accessibilty: "*\u062F\u0633\u062A\u06CC\u0627\u0628\u06CC\u200C\u067E\u0630\u06CC\u0631\u06CC*: MathJax \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u062E\u0648\u062F\u06A9\u0627\u0631 \u0628\u0627 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u0628\u0631\u0627\u06CC \u0642\u0627\u0628\u0644 \u062F\u0633\u062A\u0631\u0633 \u0628\u0631\u0627\u06CC \u06A9\u0633\u0627\u0646\u06CC \u06A9\u0647 \u0645\u0634\u06A9\u0644 \u0628\u06CC\u0646\u0627\u06CC\u06CC \u062F\u0627\u0631\u0646\u062F \u0639\u0645\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F.", - Fonts: "*\u0642\u0644\u0645\u200C\u0647\u0627*: MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u0634\u062E\u0635\u06CC \u0627\u06AF\u0631 \u0628\u0631 \u0631\u0648\u06CC \u0631\u0627\u06CC\u0627\u0646\u0647\u0654 \u0634\u0645\u0627 \u0646\u0635\u0628 \u0628\u0627\u0634\u0646\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F\u061B \u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0628\u0631 \u067E\u0627\u06CC\u0647\u0654 \u0648\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0627\u06AF\u0631\u0686\u0647 \u0646\u06CC\u0627\u0632\u06CC \u0646\u06CC\u0633\u062A\u060C \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0646\u0635\u0628\u200C\u0634\u062F\u0647 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0645\u0627 \u0646\u0635\u0628 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0631\u0627 \u067E\u06CC\u0634\u0646\u0647\u0627\u062F \u0645\u06CC\u200C\u06A9\u0646\u06CC\u0645." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fa/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/MathML.js b/src/py/kaleido/vendor/mathjax/localization/fa/MathML.js deleted file mode 100644 index 31367689..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fa/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fa/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fa","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "mglyph \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", - BadMglyphFont: "\u0642\u0644\u0645 \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", - MathPlayer: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A MathPlayer \u0631\u0627 \u0631\u0627\u0647\u200C\u0627\u0646\u062F\u0627\u0632\u06CC \u06A9\u0646\u062F.\n\n\u0627\u06AF\u0631 MathPlayer \u0646\u0635\u0628 \u0646\u06CC\u0633\u062A\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u062F\u0627\u0631\u06CC\u062F \u06A9\u0647 \u0627\u0628\u062A\u062F\u0627 \u0622\u0646 \u0631\u0627 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F.\n\u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A\u060C \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u0634\u0645\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 \u0627\u062C\u0631\u0627\u06CC\n\u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633 \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F. \u0627\u0632 \u06AF\u0632\u06CC\u0646\u0647\u200C\u0647\u0627\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0645\u0648\u062C\u0648\u062F \u0632\u06CC\u0631\n\u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u0628\u0631\u06AF\u0647\u0654 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F\u060C \u0633\u067E\u0633 \u062F\u06A9\u0645\u0647\u0654\n\u0645\u0631\u062C\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u0631\u0627 \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F. \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u062C\u0631\u0627\u06CC\n\u00AB\u0627\u062C\u0631\u0627\u06CC \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\u00BB \u0648 \u00AB\u0631\u0641\u062A\u0627\u0631\u0647\u0627\u06CC \u062F\u0648\u062F\u0648\u06CC\u06CC \u0648 \u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u00BB \u0641\u0639\u0627\u0644\n\u0647\u0633\u062A\u0646\u062F.\n\n\u062F\u0631 \u062D\u0627\u0644 \u062D\u0627\u0636\u0631 \u0634\u0645\u0627 \u0628\u0647 \u062C\u0627\u06CC \u062D\u0631\u0648\u0641 \u0631\u06CC\u0627\u0636\u06CC \u067E\u06CC\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627\u06CC \u062E\u0648\u0627\u0647\u06CC\u062F \u062F\u06CC\u062F.", - CantCreateXMLParser: "MathJax \u0646\u062A\u0648\u0627\u0633\u062A \u06CC\u06A9 \u062A\u062C\u0632\u06CC\u0647\u200C\u06AF\u0631 \u0627\u06A9\u0633\u200C\u0627\u0645\u200C\u0627\u0644 \u0628\u0631\u0627\u06CC MathML \u0627\u06CC\u062C\u0627\u062F \u06A9\u0646\u062F.\n\u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u00AB\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\n\u0639\u0644\u0627\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC\u200C\u0634\u062F\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u0645\u0646 \u0628\u0631\u0627\u06CC \u06A9\u062F\u0632\u0646\u06CC\u00BB \u0641\u0639\u0627\u0644 \u0627\u0633\u062A (\u0627\u0632\n\u06AF\u0632\u06CC\u0646\u0647\u0654 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u06AF\u0632\u06CC\u0646\u0647 \u062F\u0631 \u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u067E\u0646\u0644 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628\n\u06A9\u0646\u06CC\u062F \u0648 \u062F\u06A9\u0645\u0647\u0654 \u0645\u0631\u062D\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u062A\u0627 \u0627\u06CC\u0646 \u0631\u0627 \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F).\n\n\u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC MathML \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u0646\u062F \u062A\u0648\u0633\u0637 MathJax \u067E\u0631\u062F\u0627\u0632\u0634 \u06AF\u0631\u062F\u0646\u062F.", - UnknownNodeType: "\u0646\u0648\u0639 \u06AF\u0631\u0647\u0654 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647: %1", - UnexpectedTextNode: "\u06AF\u0631\u0647\u0654 \u0645\u062A\u0646\u06CC \u063A\u06CC\u0631\u0645\u0646\u062A\u0638\u0631\u0647:\u200C %1", - ErrorParsingMathML: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML", - ParsingError: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML\u200F: %1", - MathMLSingleElement: "MathML \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0648\u0627\u062D\u062F \u0628\u06CC\u0627\u06CC\u062F", - MathMLRootElement: "MathML \u0628\u0627\u06CC\u062F \u062A\u0648\u0633\u0637 \u0639\u0646\u0635\u0631 \u003Cmath\u003E \u062A\u0634\u06A9\u06CC\u0644 \u0634\u062F\u0647 \u0628\u0627\u0634\u062F \u0646\u0647 %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fa/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/fa/MathMenu.js deleted file mode 100644 index 2a444a5c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fa/MathMenu.js +++ /dev/null @@ -1,107 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fa/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fa","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u0639\u0646\u0648\u0627\u0646", - MathMLcode: "\u06A9\u062F MathML", - OriginalMathML: "MathML \u0627\u0635\u0644\u06CC", - TeXCommands: "\u062F\u0633\u062A\u0648\u0631\u0627\u062A \u062A\u06A9", - AsciiMathInput: "\u0648\u0631\u0648\u062F\u06CC AsciiMathML", - Original: "\u062D\u0627\u0644\u062A \u0627\u0635\u0644\u06CC", - ErrorMessage: "\u067E\u06CC\u0627\u0645 \u062E\u0637\u0627", - Annotation: "\u06CC\u0627\u062F\u062F\u0627\u0634\u062A", - TeX: "\u062A\u06A9", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "MathML \u0645\u062D\u062A\u0648\u0627", - OpenMath: "OpenMath", - texHints: "\u0646\u0645\u0627\u06CC\u0634 \u0646\u06A9\u062A\u0647\u200C\u0647\u0627\u06CC \u062A\u06A9 \u062F\u0631 MathML", - Settings: "\u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A", - ZoomTrigger: "\u0645\u0627\u0634\u0647\u0654 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", - Hover: "\u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC \u0622\u0646", - Click: "\u06A9\u0644\u06CC\u06A9", - DoubleClick: "\u062F\u0648\u0628\u0627\u0631 \u06A9\u0644\u06CC\u06A9", - NoZoom: "\u0628\u062F\u0648\u0646 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", - TriggerRequires: "\u062A\u063A\u06CC\u06CC\u0631 \u062D\u0627\u0644\u062A \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A \u0628\u0647:", - Option: "\u06AF\u0632\u06CC\u0646\u0647", - Alt: "\u062F\u06AF\u0631\u0633\u0627\u0632", - Command: "\u062F\u0633\u062A\u0648\u0631", - Control: "\u0645\u0647\u0627\u0631", - Shift: "\u062A\u0628\u062F\u06CC\u0644", - ZoomFactor: "\u0636\u0631\u06CC\u0628 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", - Renderer: "\u0627\u0631\u0627\u0626\u0647\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC", - MPHandles: "\u0627\u062C\u0627\u0632\u0647\u200C\u0628\u062F\u0647 MathPlayer \u0645\u062F\u06CC\u0631\u06CC\u062A \u06A9\u0646\u062F:", - MenuEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0646\u0648", - MouseEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647", - MenuAndMouse: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0648 \u0645\u0646\u0648", - FontPrefs: "\u062A\u0631\u062C\u06CC\u062D\u0627\u062A \u0642\u0644\u0645", - ForHTMLCSS: "\u0628\u0631\u0627\u06CC \u0627\u0686\u200C\u062A\u06CC\u200C\u0627\u0645\u200C\u0627\u0644-\u0633\u06CC\u200C\u0627\u0633\u200C\u0627\u0633:", - Auto: "\u062E\u0648\u062F\u06A9\u0627\u0631", - TeXLocal: "\u062A\u06A9 (\u0645\u062D\u0644\u06CC)", - TeXWeb: "\u062A\u06A9 (\u0648\u0628)", - TeXImage: "\u062A\u06A9 (\u0646\u06AF\u0627\u0631\u0647)", - STIXLocal: "STIX (\u0645\u062D\u0644\u06CC)", - STIXWeb: "STIX (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - AsanaMathWeb: "\u0631\u06CC\u0627\u0636\u06CC \u0622\u0633\u0627\u0646\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - GyrePagellaWeb: "\u06AF\u0631\u06CC \u067E\u0627\u06AF\u0644\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - GyreTermesWeb: "\u06AF\u06CC\u0631 \u062A\u0631\u0645\u0632 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - LatinModernWeb: "\u0644\u0627\u062A\u06CC\u0646 \u0645\u062F\u0631\u0646 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - NeoEulerWeb: "\u0646\u0626\u0648 \u0627\u0648\u06CC\u0644\u0631 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - ContextMenu: "\u0645\u0646\u0648 \u0645\u062A\u0646\u06CC", - Browser: "\u0645\u0631\u0648\u0631\u06AF\u0631", - Scale: "\u0645\u0642\u06CC\u0627\u0633\u200C\u062F\u0647\u06CC \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A ...", - Discoverable: "\u0628\u0631\u062C\u0633\u062A\u0647\u200C\u0634\u062F\u0646 \u0628\u0627 \u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC\u0634", - Locale: "\u0632\u0628\u0627\u0646", - LoadLocale: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC ...", - About: "\u062F\u0631\u0628\u0627\u0631\u0647\u0654 MathJax", - Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", - localTeXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 \u0645\u062D\u0644\u06CC", - webTeXfonts: "\u0628\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645 \u0648\u0628\u06CC \u062A\u06A9", - imagefonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC", - localSTIXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX \u0645\u062D\u0644\u06CC", - webSVGfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC SVG", - genericfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0639\u0645\u0648\u0645\u06CC \u06CC\u0648\u0646\u06CC\u06A9\u062F", - wofforotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC woff \u06CC\u0627 otf", - eotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC eot", - svgfonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC svg", - WebkitNativeMMLWarning: "\u0628\u0647 \u0646\u0638\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathML \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F\u060C \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0631\u0641\u062A\u0646 \u0628\u0647 \u062D\u0627\u0644\u062A \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0635\u0641\u062D\u0647 \u063A\u06CC\u0631\u0642\u0627\u0628\u0644 \u062E\u0648\u0627\u0646\u062F\u0646 \u0634\u0648\u0646\u062F.", - MSIENativeMMLWarning: "\u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0628\u0647 \u0627\u0641\u0632\u0627\u06CC\u0647\u0654 MathPlayer \u0628\u0631\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u062E\u0631\u0648\u062C\u06CC MathML \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A.", - OperaNativeMMLWarning: "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0627\u067E\u0631\u0627 \u0627\u0632 MathML \u0645\u062D\u062F\u0648\u062F \u0627\u0633\u062A \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0646\u0645\u0627\u06CC\u0634 \u0636\u0639\u06CC\u0641 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0634\u0648\u062F.", - SafariNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u0627\u062A \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0646\u062F.", - FirefoxNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647\u0654 MathML \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u062F\u06CC\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", - MSIESVGWarning: "SVG \u062F\u0631 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0642\u0628\u0644 \u0627\u0632 \u0646\u0633\u062E\u0647\u0654 \u06F9 \u0622\u0646 \u06CC\u0627 \u0648\u0642\u062A\u06CC \u06A9\u0647 \u0634\u0628\u06CC\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0642\u0628\u0644\u06CC \u0631\u0627 \u0645\u06CC\u200C\u06A9\u0646\u062F \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A. \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC SVG \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0634\u0648\u062F \u06A9\u0647 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", - LoadURL: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647 \u0627\u0632 \u0627\u06CC\u0646 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC:", - BadURL: "\u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0628\u0631\u0627\u06CC \u067E\u0631\u0648\u0646\u062F\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC MathJax \u0631\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u067E\u0631\u0648\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u0628\u0627 \u067E\u0633\u0648\u0646\u062F '.js' \u062A\u0645\u0627\u0645 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F.", - BadData: "\u0634\u06A9\u0633\u062A \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC \u0627\u0632 %1", - SwitchAnyway: "(\u0628\u0631 \u00AB\u0628\u0627\u0634\u062F\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u0648\u062F \u0648 \u0628\u0631 \u00AB\u0644\u063A\u0648\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0646\u0645\u0627\u06CC\u0634\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0641\u0639\u0644\u06CC \u0627\u062F\u0627\u0645\u0647 \u06CC\u0627\u0628\u062F)", - ScaleMath: "\u0645\u0642\u06CC\u0627\u0633 \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A (\u062F\u0631 \u0645\u0642\u0627\u06CC\u0633\u0647 \u0628\u0627 \u0645\u062A\u0646 \u0627\u0637\u0631\u0627\u0641) \u062A\u0648\u0633\u0637", - NonZeroScale: "\u0645\u0642\u06CC\u0627\u0633 \u0646\u0628\u0627\u06CC\u062F \u0635\u0641\u0631 \u0628\u0627\u0634\u062F", - PercentScale: "\u0645\u0642\u06CC\u0627\u0633 \u0628\u0627\u06CC\u062F \u062F\u0631\u0635\u062F\u06CC \u0628\u0627\u0634\u062F (\u0628\u0631\u0627\u06CC \u0646\u0645\u0648\u0646\u0647 \u06F1\u06F2\u06F0\u066A)", - IE8warning: "\u0627\u06CC\u0646 \u0645\u0646\u0648\u06CC MathJax \u0648 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u0627 \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0622\u0648\u0631\u06CC\u062F.\n\n\u0648\u0627\u0642\u0639\u0627\u064B \u0645\u06CC\u200C\u062E\u0648\u0627\u0647\u06CC\u062F \u062A\u0646\u0638\u06CC\u0645\u0627\u062A MathPlayer \u0631\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u062F\u0647\u06CC\u062F\u061F", - IE9warning: "\u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC MathJax \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u062E\u0648\u0627\u0647\u062F \u0634\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0628\u06CC\u0627\u0648\u0631\u06CC\u062F.", - NoOriginalForm: "\u062D\u0627\u0644\u062A \u0627\u0648\u0644\u0628\u0647 \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A", - Close: "\u0628\u0633\u062A\u0646", - EqSource: "\u0645\u0646\u0628\u0639 \u0645\u0639\u0627\u062F\u0644\u0647\u0654 MathJax" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fa/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/TeX.js b/src/py/kaleido/vendor/mathjax/localization/fa/TeX.js deleted file mode 100644 index 321aa2e9..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fa/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fa/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fa","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647", - ExtraCloseMissingOpen: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u0647 \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632", - MissingLeftExtraRight: "\u0641\u0642\u062F\u0627\u0646 \u200E\\left \u06CC\u0627 \u200E\\right \u0627\u0636\u0627\u0641\u06CC", - MissingScript: "\u0641\u0642\u062F\u0627\u0646 \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0627\u0644\u0627\u0645\u062A\u0646 \u06CC\u0627 \u0632\u06CC\u0631\u0645\u062A\u0646", - ExtraLeftMissingRight: "\u200E\\left \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u200E\\right", - Misplaced: "%1 \u0646\u0627\u0628\u062C\u0627", - MissingOpenForSub: "\u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0628\u0631\u0627\u06CC \u0632\u06CC\u0631\u0645\u062A\u0646", - MissingOpenForSup: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0628\u0627\u0644\u0627\u0645\u062A\u0646", - AmbiguousUseOf: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0645\u0628\u0647\u0645 \u0627\u0632 \u200E%1", - EnvBadEnd: "\u200E\\begin{%1}\u200E \u067E\u0627\u06CC\u0627\u0646\u200C\u06CC\u0627\u0641\u062A\u0647 \u0628\u0627 \u200E\\end{%2}\u200E", - EnvMissingEnd: "\u200E\\end{%1}\u200E \u06AF\u0645\u200C\u0634\u062F\u0647", - MissingBoxFor: "\u062C\u0639\u0628\u0647\u0654 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", - MissingCloseBrace: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0645\u0641\u0642\u0648\u062F", - UndefinedControlSequence: "\u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644 \u062A\u0639\u0631\u06CC\u0641\u200C\u0646\u0634\u062F\u0647\u0654 %1", - DoubleExponent: "\u062A\u0648\u0627\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - DoubleSubscripts: "\u0632\u06CC\u0631\u0645\u062A\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - DoubleExponentPrime: "\u062A\u0648\u0627\u0646 \u062F\u0648 \u0645\u0648\u062C\u0628 \u062A\u0648\u0627\u0646 \u0645\u0636\u0627\u0639\u0641 \u0634\u062F: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - CantUseHash1: "\u0634\u0645\u0627 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u00AB\u0645\u0627\u06A9\u0631\u0648 \u0646\u0648\u06CC\u0633\u0647\u0654 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 #\u00BB \u062F\u0631 \u062D\u0627\u0644\u062A \u0631\u06CC\u0627\u0636\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - MisplacedMiddle: "\u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0631\u0648\u0646 \u200E\\left \u0648 \u200E\\right \u0646\u0648\u0634\u062A\u0647\u200C\u0634\u0648\u062F", - MisplacedLimits: "\u200E%1 \u0641\u0642\u0637 \u062F\u0631 \u0639\u0645\u0644\u06AF\u0631\u0647\u0627 \u0645\u062C\u0627\u0632 \u0627\u0633\u062A", - MisplacedMoveRoot: "\u200E%1 \u062A\u0646\u0647\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062F\u0631\u0648\u0646 \u06CC\u06A9 \u0631\u06CC\u0634\u0647 \u0638\u0627\u0647\u0631 \u0634\u0648\u062F", - MultipleCommand: "\u200E%1 \u0686\u0646\u062F\u06AF\u0627\u0646\u0647", - IntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u0628\u0627\u0634\u062F", - NotMathMLToken: "%1 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0646\u0634\u0627\u0646 \u0646\u06CC\u0633\u062A", - InvalidMathMLAttr: "\u0648\u06CC\u0698\u06AF\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 MathML: %1", - UnknownAttrForElement: "%1 \u06CC\u06A9 \u0648\u06CC\u0698\u06AF\u06CC \u0634\u0646\u0627\u062E\u062A\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %2 \u0646\u06CC\u0633\u062A", - MaxMacroSub1: "\u0627\u0632 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u0634\u0645\u0627\u0631 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u0647\u0627\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", - MaxMacroSub2: "\u0627\u0632 \u0634\u0645\u0627\u0631 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u062A\u0639\u062F\u0627\u062F \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0645\u062D\u06CC\u0637 \u0644\u06CC\u062A\u06A9 \u0628\u0627\u0632\u0634\u062A\u06AF\u06CC \u0645\u0648\u062C\u0648\u062F \u0627\u0633\u062A\u061F", - MissingArgFor: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", - ExtraAlignTab: "\u0628\u0631\u06AF\u0647\u0654 \u0686\u06CC\u0646\u0634 \u0627\u0636\u0627\u0641\u06CC \u062F\u0631 \u0645\u062A\u0646 \u200E\\cases", - BracketMustBeDimension: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0628\u0639\u062F \u0628\u0627\u0634\u062F", - InvalidEnv: " \u0646\u0627\u0645 \u0645\u062D\u06CC\u0637 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u00AB%1\u00BB", - UnknownEnv: "\u0645\u062D\u06CC\u0637 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u00AB%1\u00BB", - ExtraCloseLooking: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u06CC \u0647\u0646\u06AF\u0627\u0645 \u062C\u0633\u062A\u062C\u0648\u06CC %1", - MissingCloseBracket: "\u00AB]\u00BB \u0628\u0633\u062A\u0647 \u0628\u0631\u0627\u06CC \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", - MissingOrUnrecognizedDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647 \u06AF\u0645\u200C\u0634\u062F\u0647 \u06CC\u0627 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u0628\u0631\u0627\u06CC \u200E%1", - MissingDimOrUnits: "\u0627\u0628\u0639\u0627\u062F \u06CC\u0627 \u0648\u0627\u062D\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u200E%1", - TokenNotFoundForCommand: "%1 \u0628\u0631\u0627\u06CC %2 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", - MathNotTerminated: "\u0631\u06CC\u0627\u0636\u06CC \u062F\u0631 \u062C\u0639\u0628\u0647\u0654 \u0645\u062A\u0646 \u067E\u0627\u06CC\u0627\u0646 \u0646\u06CC\u0627\u0641\u062A\u0647\u200C\u0627\u0633\u062A", - IllegalMacroParam: "\u0627\u0631\u062C\u0627\u0639 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u0645\u0627\u06A9\u0631\u0648\u06CC \u0646\u0627\u0645\u062C\u0627\u0632", - MaxBufferSize: "\u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u06CC\u0627\u0646\u06AF\u06CC\u0631 \u062F\u0627\u062E\u0644\u06CC MathJax \u06AF\u0630\u0634\u062A\u0647 \u0634\u062F\u0647\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", - CommandNotAllowedInEnv: "\u200E%1 \u062F\u0631 \u0645\u062D\u06CC\u0637 \u200E%2 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A", - MultipleLabel: "\u0628\u0631\u0686\u0633\u067E \u00AB%1\u00BB \u0686\u0646\u062F\u0628\u0627\u0631 \u062A\u0639\u0631\u06CC\u0641\u200C\u0634\u062F\u0647", - CommandAtTheBeginingOfLine: "%1 \u0628\u0627\u06CC\u062F \u062F\u0631 \u0634\u0631\u0648\u0639 \u062E\u0637 \u0628\u06CC\u0627\u06CC\u062F", - IllegalAlign: "\u0686\u06CC\u0646\u0634 \u0645\u0634\u062E\u0635\u200C\u0634\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u062F\u0631 \u200E%1", - BadMathStyleFor: "\u0633\u0628\u06A9 \u0628\u062F \u0631\u06CC\u0627\u0636\u06CC \u0628\u0631\u0627\u06CC \u200E%1", - PositiveIntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0647 \u200E%1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u0639\u062F\u062F \u0645\u062B\u0628\u062A \u0628\u0627\u0634\u062F", - ErroneousNestingEq: "\u0633\u0627\u062E\u062A\u0627\u0631\u0647\u0627\u06CC \u0627\u0634\u062A\u0628\u0627\u0647 \u062A\u0648\u062F\u0631\u062A\u0648\u06CC \u0645\u0639\u0627\u062F\u0644\u0647", - MultlineRowsOneCol: "\u0633\u0637\u0631 \u062F\u0631\u0648\u0646 \u0645\u062D\u06CC\u0637 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0642\u06CC\u0642\u0627\u064B \u06CC\u06A9 \u0633\u062A\u0648\u0646 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F", - MultipleBBoxProperty: "%1 \u062F\u0648\u0628\u0627\u0631 \u062F\u0631 \u200E%2 \u062A\u0639\u0631\u06CC\u0641 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", - InvalidBBoxProperty: "'%1' \u0628\u0647 \u0646\u0638\u0631 \u06CC\u06A9 \u0631\u0646\u06AF\u060C \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0628\u0627\u0644\u0634\u062A\u06A9 \u06CC\u0627 \u0633\u0628\u06A9 \u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06CC\u200C\u0631\u0633\u062F", - ExtraEndMissingBegin: "\u200E%1 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \\begingroup \u06AF\u0645\u200C\u0634\u062F\u0647", - GlobalNotFollowedBy: "\u200E%1 \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u200E\\let\u060C \u200E\\def \u06CC\u0627 \u200E\\newcommand \u0646\u06CC\u0627\u0645\u062F\u0647\u200C\u0627\u0633\u062A", - UndefinedColorModel: "\u0645\u062F\u0644 \u0631\u0646\u06AF\u06CC '%1' \u062A\u0639\u0631\u06CC\u0641 \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A", - ModelArg1: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u06F3 \u0639\u062F\u062F \u0627\u0633\u062A", - InvalidDecimalNumber: "\u0639\u062F\u062F \u0627\u0639\u0634\u0627\u0631\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631", - ModelArg2: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u0628\u06CC\u0646 %2 \u0648 %3 \u0628\u0627\u0634\u062F", - InvalidNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631", - NewextarrowArg1: "\u0646\u0634\u0627\u0648\u0646\u062F \u0627\u0648\u0644 \u0628\u0647 \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0646\u0627\u0645 \u06A9\u0646\u062A\u0631\u0644\u06CC \u062F\u0646\u0628\u0627\u0644\u0647 \u0628\u0627\u0634\u062F", - NewextarrowArg2: "\u0646\u0634\u0646\u0627\u0648\u0646\u062F \u062F\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u062F\u0648 \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u062C\u062F\u0627 \u0634\u062F\u0647 \u0628\u0627 \u06CC\u06A9 \u06A9\u0627\u0645\u0627 \u0628\u0627\u0634\u062F", - NewextarrowArg3: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0633\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u06CC\u06A9 \u0646\u0648\u06CC\u0633\u0647\u0654 \u06CC\u0648\u0646\u06CC\u06A9\u062F \u0628\u0627\u0634\u062F", - NoClosingChar: "%1 \u0628\u0633\u062A\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", - IllegalControlSequenceName: "\u0646\u0627\u0645 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u0631\u0627\u06CC \u200E%1 \u0646\u0627\u0645\u062C\u0627\u0632", - IllegalParamNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u062C\u0627\u0632 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u062F\u0631 \u200E%1 \u0645\u0634\u062E\u0635 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", - MissingCS: "\u200E%1 \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u06CC\u0627\u06CC\u062F", - CantUseHash2: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u0627\u0632 # \u062F\u0631 \u0627\u0644\u06AF\u0648 \u0628\u0631\u0627\u06CC %1", - SequentialParam: "\u067E\u0627\u0631\u0627\u0645\u062A\u0631\u0647\u0627 \u0628\u0631\u0627\u06CC %1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u0639\u062F\u062F\u06CC \u0628\u0627\u0634\u062F", - MissingReplacementString: "\u0631\u0634\u062A\u0647\u0654 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u06CC\u0641 \u200E%1", - MismatchUseDef: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u200E%1 \u0628\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0622\u0646 \u062A\u0637\u0628\u06CC\u0642 \u0646\u062F\u0627\u0631\u062F", - RunawayArgument: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0641\u0631\u0627\u0631 \u0628\u0631\u0627\u06CC \u200E%1\u061F", - NoClosingDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647\u0654 \u0628\u0633\u062A\u0646 \u0628\u0631\u0627\u06CC \u200E%1 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fa/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/fa.js b/src/py/kaleido/vendor/mathjax/localization/fa/fa.js deleted file mode 100644 index 025a4157..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fa/fa.js +++ /dev/null @@ -1,58 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fa/fa.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fa",null,{ - menuTitle: "\u0641\u0627\u0631\u0633\u06CC", - fontDirection: "rtl", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax \u06CC\u06A9 \u06A9\u0644\u0648\u0686\u06A9 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u06A9\u0627\u0631\u0628\u0631\u06CC \u06CC\u0627\u0641\u062A \u06A9\u0647 \u0634\u0627\u0645\u0644 \u06A9\u062F \u0627\u062C\u0631\u0627\u06CC\u06CC \u0627\u0633\u062A. \u0622\u06CC\u0627 \u0645\u06CC\u200C\u062E\u0648\u0627\u0647\u06CC\u062F \u0622\u0646 \u0631\u0627 \u0627\u062C\u0631\u0627 \u06A9\u0646\u06CC\u062F\u061F\n\n(\u0628\u0647\u062A\u0631 \u0627\u0633\u062A \u0628\u0631 \u0644\u063A\u0648 \u0628\u0641\u0634\u0627\u0631\u06CC\u062F \u0645\u06AF\u0631 \u0627\u06CC\u0646\u06A9\u0647 \u062E\u0648\u062F\u062A\u0627\u0646 \u06A9\u0644\u0648\u0686\u06A9 \u0631\u0627 \u062A\u0646\u0638\u06CC\u0645\u200C\u06A9\u0631\u062F\u0647\u200C\u0627\u06CC\u062F.)", - MathProcessingError: "\u062E\u0637\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC", - MathError: "\u062D\u0637\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC", - LoadFile: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC %1", - Loading: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC", - LoadFailed: "\u062E\u0637\u0627 \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u067E\u0631\u0648\u0646\u062F\u0647: %1", - ProcessMath: "\u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", - Processing: "\u067E\u0631\u062F\u0627\u0632\u0634", - TypesetMath: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", - Typesetting: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC", - MathJaxNotSupported: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathJax \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fa/fa.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/fi/FontWarnings.js deleted file mode 100644 index b61ac4cc..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fi/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fi/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fi","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fi/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/fi/HTML-CSS.js deleted file mode 100644 index c77b2ebb..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fi/HTML-CSS.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fi/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fi","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fi/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/fi/HelpDialog.js deleted file mode 100644 index 03d0d520..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fi/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fi/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fi","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fi/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/MathML.js b/src/py/kaleido/vendor/mathjax/localization/fi/MathML.js deleted file mode 100644 index cdfee6dc..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fi/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fi/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fi","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fi/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/fi/MathMenu.js deleted file mode 100644 index a0e70ea0..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fi/MathMenu.js +++ /dev/null @@ -1,82 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fi/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fi","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - MathMLcode: "MathML-koodi", - OriginalMathML: "Alkuper\u00E4inen MathML", - TeXCommands: "TeX-komennot", - AsciiMathInput: "AsciiMathML-sy\u00F6te", - Original: "Alkuper\u00E4inen muoto", - ErrorMessage: "Virheviesti", - Annotation: "Huomautus", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Content MathML", - OpenMath: "OpenMath", - texHints: "N\u00E4yt\u00E4 TeX-vihjeet MathML:ss\u00E4", - Settings: "Matematiikan asetukset", - ZoomTrigger: "Loitonnustapa", - Hover: "Kursorin vienti ylle", - Click: "Napsautus", - DoubleClick: "Kaksoisnapsautus", - NoZoom: "Ei loitonnustapaa", - TriggerRequires: "Tapa vaatii:", - Option: "Option", - Alt: "Alt", - Command: "Command", - Control: "Control", - Shift: "Shift", - ZoomFactor: "Loitonnuskerroin", - MPHandles: "Anna MathPlayerin k\u00E4sitell\u00E4", - MenuEvents: "Valikkotapahtumat", - MouseEvents: "Hiiritapahtumat", - MenuAndMouse: "Hiiri- ja valikkotapahtumat", - FontPrefs: "Kirjasinasetukset", - ForHTMLCSS: "HTML-CSS:lle:", - Auto: "Automaattinen", - TeXLocal: "TeX (paikallinen)", - TeXWeb: "TeX (verkko)", - TeXImage: "TeX (kuva)", - STIXLocal: "STIX (paikallinen)", - ContextMenu: "Ponnahdusvalikko", - Browser: "Selain", - Scale: "Skaalaa kaikki matematiikka...", - Discoverable: "Korosta kun kursori tuodaan ylle", - Locale: "Kieli", - LoadLocale: "Lataa osoitteesta...", - About: "Tietoja MathJaxista", - Help: "MathJaxin ohje", - localTeXfonts: "k\u00E4ytt\u00E4en paikallisia TeX-kirjasimia", - webTeXfonts: "k\u00E4ytt\u00E4en verkon TeX-kirjasimia", - imagefonts: "K\u00E4ytt\u00E4en kuvakirjasimia", - localSTIXfonts: "k\u00E4ytt\u00E4en paikallisia STIX-kirjasimia", - webSVGfonts: "k\u00E4ytt\u00E4en verkon SVG-kirjasimia", - genericfonts: "k\u00E4ytt\u00E4en geneerisi\u00E4 unicode-kirjasimia", - wofforotffonts: "woff- tai otf-kirjasimia", - eotffonts: "eot-kirjasimia", - svgfonts: "svg-kirjasimia", - Close: "Sulje" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fi/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/TeX.js b/src/py/kaleido/vendor/mathjax/localization/fi/TeX.js deleted file mode 100644 index 2fcddbfb..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fi/TeX.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fi/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fi","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fi/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/fi.js b/src/py/kaleido/vendor/mathjax/localization/fi/fi.js deleted file mode 100644 index 43a8c129..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fi/fi.js +++ /dev/null @@ -1,58 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fi/fi.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fi",null,{ - menuTitle: "suomi", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax on l\u00F6yt\u00E4nyt ev\u00E4steen, joka sis\u00E4lt\u00E4\u00E4 asetuksia ja ohjelmakoodia. Haluatko ajaa sen?\n\n(Peru, ellet ole luonut ev\u00E4stett\u00E4 itse.)", - MathProcessingError: "Matematiikan k\u00E4sittely ep\u00E4onnistui", - MathError: "Matematiikkavirhe", - LoadFile: "Ladataan tiedostoa %1", - Loading: "Ladataan", - LoadFailed: "Tiedoston %1 lataaminen ep\u00E4onnistui", - ProcessMath: "K\u00E4sitell\u00E4\u00E4n matematiikkaa: %1%%", - Processing: "K\u00E4sitell\u00E4\u00E4n", - TypesetMath: "Ladotaan matematiikkaa: %1%%", - Typesetting: "Ladotaan", - MathJaxNotSupported: "Selaimesi ei tue MathJaxia" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fi/fi.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/fr/FontWarnings.js deleted file mode 100644 index 7c097073..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fr/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fr/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fr","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax utilise les polices web pour afficher les expressions math\u00E9matiques sur cette page. Celles-ci mettent du temps \u00E0 \u00EAtre t\u00E9l\u00E9charg\u00E9es et la page serait affich\u00E9e plus rapidement si vous installiez les polices math\u00E9matiques directement dans le dossier des polices de votre syst\u00E8me.", - imageFonts: "MathJax utilise des images de caract\u00E8res plut\u00F4t que les polices web ou locales. Ceci rend le rendu plus lent que la normale et les expressions math\u00E9matiques peuvent ne pas s'imprimer \u00E0 la r\u00E9solution maximale de votre imprimante", - noFonts: "MathJax est incapable de localiser une police \u00E0 utiliser pour afficher ses math\u00E9matiques, et les polices image ne sont pas disponibles, donc il doit se rabattre sur les caract\u00E8res unicode en esp\u00E9rant que votre navigateur pourra les afficher. Certains caract\u00E8res peuvent ne pas s\u2019afficher correctement, voire m\u00EAme pas du tout.", - webFonts: "La plupart des navigateurs modernes permettent de t\u00E9l\u00E9charger des polices depuis le web. Mettre \u00E0 jour votre navigateur (ou changer de navigateur) pourrait am\u00E9liorer la qualit\u00E9 des math\u00E9matiques sur cette page.", - fonts: "MathJax peut utiliser soit les [polices STIX](%1) soit les [polices TeX MathJax](%2). T\u00E9l\u00E9chargez et installez une de ces polices pour am\u00E9liorer votre exp\u00E9rience avec MathJax.", - STIXPage: "Cette page est con\u00E7ue pour utiliser les [polices STIX](%1). T\u00E9l\u00E9chargez et installez ces polices pour am\u00E9liorer votre exp\u00E9rience avec MathJax.", - TeXPage: "Cette page est con\u00E7ue pour utiliser les [polices TeX MathJax](%1). T\u00E9l\u00E9chargez et installez ces polices pour am\u00E9liorer votre exp\u00E9rience avec MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fr/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/fr/HTML-CSS.js deleted file mode 100644 index db2fb60e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fr/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fr/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fr","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "T\u00E9l\u00E9chargement de la police web %1", - CantLoadWebFont: "Impossible de t\u00E9l\u00E9charger la police web %1", - FirefoxCantLoadWebFont: "Firefox ne peut pas charger les polices web depuis un h\u00F4te distant", - CantFindFontUsing: "Impossible de trouver une police valide en utilisant %1", - WebFontsNotAvailable: "Polices web non disponibles. Les polices image seront utilis\u00E9es \u00E0 la place" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fr/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/fr/HelpDialog.js deleted file mode 100644 index 82f65070..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fr/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fr/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fr","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Aide MathJax", - MathJax: "*MathJax* est une biblioth\u00E8que JavaScript qui permet aux auteurs de pages d\u2019inclure des math\u00E9matiques dans leurs pages web. En tant que lecteur, vous n\u2019avez rien besoin de faire pour que cela fonctionne.", - Browsers: "*Navigateurs*: MathJax fonctionne avec tous les navigateurs modernes y compris Internet Explorer 6, Firefox 3, Chrome 0.2, Safari 2, Opera 9.6 et leurs versions sup\u00E9rieures ainsi que la plupart des navigateurs pour mobiles et tablettes.", - Menu: "*Menu math*: MathJax ajoute un menu contextuel aux \u00E9quations. Cliquez-droit ou Ctrl-cliquez sur n\u2019importe quelle formule math\u00E9matique pour acc\u00E9der au menu.", - ShowMath: "*Afficher les maths comme* vous permet d\u2019afficher le balisage source de la formule pour copier-coller (comme MathML ou dans son format d\u2019origine).", - Settings: "*Param\u00E8tres* vous donne le contr\u00F4le sur les fonctionnalit\u00E9s de MathJax, comme la taille des math\u00E9matiques, et le m\u00E9canisme utilis\u00E9 pour afficher les \u00E9quations.", - Language: "*Langue* vous laisse s\u00E9lectionner la langue utilis\u00E9e par MathJax pour ses menus et ses messages d\u2019avertissement.", - Zoom: "*Zoom des maths*: Si vous avez des difficult\u00E9s \u00E0 lire une \u00E9quation, MathJax peut l\u2019agrandir pour vous aider \u00E0 mieux la voir.", - Accessibilty: "*Accessibilit\u00E9*: MathJax travaillera automatiquement avec les lecteurs d\u2019\u00E9cran pour rendre les math\u00E9matiques accessibles aux malvoyants.", - Fonts: "*Polices*: MathJax utilisera certaines polices math\u00E9matiques si elles sont install\u00E9es sur votre ordinateur\u202F; sinon, il utilisera les polices trouv\u00E9es sur le web. Bien que ce ne soit pas obligatoire, des polices install\u00E9es localement acc\u00E9l\u00E9reront la composition. Nous vous sugg\u00E9rons d\u2019installer les [polices STIX](%1).", - CloseDialog: "Fermer la bo\u00EEte de dialogue d\u2019aide" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fr/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/MathML.js b/src/py/kaleido/vendor/mathjax/localization/fr/MathML.js deleted file mode 100644 index 04090bd6..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fr/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fr/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fr","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "\u00C9lement mglyph incorrect: %1", - BadMglyphFont: "Police non valide : %1", - MathPlayer: "MathJax n\u2019a pas pu configurer MathPlayer.\n\nSi MathPlayer n\u2019est pas install\u00E9, vous devez d\u2019abord le faire.\nSinon, il se peut que vos param\u00E8tres de s\u00E9curit\u00E9 emp\u00EAchent l\u2019ex\u00E9cution des contr\u00F4les ActiveX. Utilisez l\u2019entr\u00E9e Options Internet sous le menu Outils et s\u00E9lectionnez l\u2019onglet S\u00E9curit\u00E9, puis cliquez le bouton \u00AB Personnaliser le niveau \u00BB. V\u00E9rifiez que les param\u00E8tres pour 'Ex\u00E9cuter les contr\u00F4les ActiveX', et 'Comportement de fichiers binaires et des scripts' sont activ\u00E9s.\n\nPour le moment, vous verrez des messages d\u2019erreur au lieu de textes math\u00E9matiques.", - CantCreateXMLParser: "MathJax ne peut pas cr\u00E9er un analyseur XML pour MathML. V\u00E9rifiez que l\u2019option de s\u00E9curit\u00E9 'Contr\u00F4les ActiveX reconnus s\u00FBrs pour l\u2019\u00E9criture de scripts' est activ\u00E9e (utilisez l\u2019entr\u00E9e Options Internet dans le menu Outils, et s\u00E9lectionnez l\u2019onglet S\u00E9curit\u00E9, puis appuyez sur le bouton Personnaliser le niveau, pour le v\u00E9rifier).", - UnknownNodeType: "Type de n\u0153ud inconnu : %1", - UnexpectedTextNode: "N\u0153ud de texte inattendu : %1", - ErrorParsingMathML: "Erreur lors de l\u2019analyse de MathML", - ParsingError: "Erreur d\u2019analyse de MathML : %1", - MathMLSingleElement: "MathML doit \u00EAtre form\u00E9 d\u2019un unique \u00E9l\u00E9ment", - MathMLRootElement: "MathML doit \u00EAtre form\u00E9 d\u2019un \u00E9l\u00E9ment \u003Cmath\u003E, et pas %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fr/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/fr/MathMenu.js deleted file mode 100644 index adc0eea0..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fr/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fr/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fr","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Afficher sous forme", - MathMLcode: "Code MathML", - OriginalMathML: "MathML d\u2019origine", - TeXCommands: "Commandes TeX", - AsciiMathInput: "Entr\u00E9e AsciiMathML", - Original: "Format d\u2019origine", - ErrorMessage: "Message d\u2019erreur", - Annotation: "Annotation", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "MathML de contenu", - OpenMath: "OpenMath", - texHints: "Afficher les aides TeX en MathML", - Settings: "Param\u00E9trages des maths", - ZoomTrigger: "D\u00E9clencheur de zoom", - Hover: "Survol", - Click: "Clic", - DoubleClick: "Double-clic", - NoZoom: "Pas de zoom", - TriggerRequires: "Le d\u00E9clencheur n\u00E9cessite :", - Option: "Option", - Alt: "Alt", - Command: "Commande", - Control: "Contr\u00F4le", - Shift: "Maj", - ZoomFactor: "Facteur de grossissement d'\u00E9chelle", - Renderer: "Outil de rendu math\u00E9matique", - MPHandles: "Laisser MathPlayer g\u00E9rer :", - MenuEvents: "\u00C9v\u00E9nements de menu", - MouseEvents: "\u00C9v\u00E9nements de souris", - MenuAndMouse: "\u00C9v\u00E9nements de souris et de menu", - FontPrefs: "Pr\u00E9f\u00E9rences de police", - ForHTMLCSS: "Pour HTML-CSS :", - Auto: "Auto", - TeXLocal: "TeX (local)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (image)", - STIXLocal: "STIX (local)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Menu contextuel", - Browser: "Navigateur", - Scale: "Mettre tous les maths \u00E0 l\u2019\u00E9chelle\u2026", - Discoverable: "Surligner au survol", - Locale: "Langue", - LoadLocale: "Charger depuis l\u2019URL\u2026", - About: "\u00C0 propos de MathJax", - Help: "Aide de MathJax", - localTeXfonts: "utiliser les polices TeX locales", - webTeXfonts: "utiliser les polices TeX du web", - imagefonts: "utiliser les polices Image", - localSTIXfonts: "utiliser les polices STIX locales", - webSVGfonts: "utiliser les polices SVG du web", - genericfonts: "utiliser les polices Unicode g\u00E9n\u00E9riques", - wofforotffonts: "polices WOFF ou OTF", - eotffonts: "polices EOT", - svgfonts: "polices SVG", - WebkitNativeMMLWarning: "Votre navigateur ne semble pas prendre en charge MathML en natif, donc basculer sur MathML en sortie pourrait rendre les math\u00E9matiques illisibles sur cette page.", - MSIENativeMMLWarning: "Internet Explorer n\u00E9cessite le module MathPlayer pour traiter les sorties MathML.", - OperaNativeMMLWarning: "La prise en charge de MathML par Opera est limit\u00E9e, donc passer sur du MathML en sortie pourrait rendre certaines expressions peu lisibles.", - SafariNativeMMLWarning: "Le MathML natif de votre navigateur n\u2019impl\u00E9mente pas toutes les fonctionnalit\u00E9s utilis\u00E9s par MathJax, donc certaines expressions pourraient ne pas \u00EAtre affich\u00E9es correctement.", - FirefoxNativeMMLWarning: "Le MathML natif de votre navigateur n\u2019impl\u00E9mente pas toutes les fonctionnalit\u00E9s de MathJax, donc certaines expressions pourraient \u00EAtre mal affich\u00E9es.", - MSIESVGWarning: "SVG n\u2019est pas pris en charge par Internet Explorer avant la version 9 (ni dans l\u2019\u00E9mulation de IE8 ou inf\u00E9rieur, par cons\u00E9quent). Basculer sur SVG en sortie pourrait faire que les math\u00E9matiques s\u2019affichent mal.", - LoadURL: "Charger les donn\u00E9es de traduction depuis cette URL :", - BadURL: "L\u2019URL devrait \u00EAtre un fichier JavaScript qui d\u00E9finit les donn\u00E9es de traduction de MathJax. Les noms de fichier JavaScript devraient se terminer par '.js'", - BadData: "\u00C9chec du chargement des donn\u00E9es de traduction depuis %1", - SwitchAnyway: "Basculer tout de m\u00EAme le rendu\u202F?\n\n(Cliquez OK pour basculer, ANNULER pour continuer avec le rendu actuel)", - ScaleMath: "Mettre \u00E0 l\u2019\u00E9chelle toutes les math\u00E9matiques (par rapport au texte environnant) de", - NonZeroScale: "L\u2019\u00E9chelle ne devrait pas \u00EAtre z\u00E9ro", - PercentScale: "L\u2019\u00E9chelle devrait \u00EAtre un pourcentage (par exemple, 120%%)", - IE8warning: "Cela d\u00E9sactivera le menu MathJax et les fonctionnalit\u00E9s de zoom, mais \u00E0 la place, vous pouvez Alt-cliquer sur une expression pour obtenir le menu MathJax.", - IE9warning: "Le menu contextuel MathJax sera d\u00E9sactiv\u00E9, mais \u00E0 la place, vous pouvez Alt-cliquer sur une expression pour obtenir le menu MathJax.", - NoOriginalForm: "Aucun format d\u2019origine disponible", - Close: "Fermer", - EqSource: "Source de l\u2019\u00E9quation MathJax", - CloseAboutDialog: "Fermer la bo\u00EEte de dialogue \u00C0 propos de MathJax", - FastPreview: "Aper\u00E7u rapide", - AssistiveMML: "MathML auxiliaire", - InTabOrder: "Inclure dans l\u2019ordre des onglets" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fr/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/TeX.js b/src/py/kaleido/vendor/mathjax/localization/fr/TeX.js deleted file mode 100644 index cb700996..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fr/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fr/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fr","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Accolade ouvrante superflue ou accolade fermante manquante", - ExtraCloseMissingOpen: "Accolade fermante superflue ou accolade ouvrante manquante", - MissingLeftExtraRight: "Commande \\left manquante ou commande \\right superflue", - MissingScript: "Argument en exposant ou en indice manquant", - ExtraLeftMissingRight: "Commande \\left superflue ou commande \\right manquante", - Misplaced: "Mauvaise position pour la commande %1", - MissingOpenForSub: "Accolade ouvrante manquante pour le script en indice", - MissingOpenForSup: "Accolade ouvrante manquante pour le script en exposant", - AmbiguousUseOf: "Usage ambigu de la commande %1", - EnvBadEnd: "\\begin{%1} s'est termin\u00E9 par un \\end{%2}", - EnvMissingEnd: "\\end{%1} manquant", - MissingBoxFor: "Boite manquante pour la commande %1", - MissingCloseBrace: "Accolade fermante manquante", - UndefinedControlSequence: "S\u00E9quence de contr\u00F4le %1 non d\u00E9finie", - DoubleExponent: "Double exposant : utilisez des accolades pour clarifier", - DoubleSubscripts: "Double indice : utilisez des accolades pour clarifier", - DoubleExponentPrime: "Un prime entra\u00EEne un double exposant : utilisez des accolades pour clarifier", - CantUseHash1: "Vous ne pouvez pas utilisez le caract\u00E8re #, indiquant un param\u00E8tre de macro, dans le mode math\u00E9matique", - MisplacedMiddle: "La commande %1 doit \u00EAtre plac\u00E9e \u00E0 l\u2019int\u00E9rieur d\u2019une section \\left ... \\right", - MisplacedLimits: "La commande %1 n'est autoris\u00E9e que sur les op\u00E9rateurs", - MisplacedMoveRoot: "La commande %1 n'est autoris\u00E9e qu'\u00E0 l'int\u00E9rieur d'une racine", - MultipleCommand: "Usage multiple de la commande %1", - IntegerArg: "L\u2019argument de la commande %1 doit \u00EAtre un entier", - NotMathMLToken: "L'\u00E9l\u00E9ment %1 n'est pas un \u00E9l\u00E9ment MathML \u00E9l\u00E9mentaire", - InvalidMathMLAttr: "Attribut MathML non valide: %1", - UnknownAttrForElement: "Attribut %1 inconnu pour l'\u00E9l\u00E9ment %2", - MaxMacroSub1: "Le nombre maximal de substitutions de macro autoris\u00E9 par MathJax a \u00E9t\u00E9 d\u00E9pass\u00E9. Y a-t-il un appel de macro r\u00E9cursif?", - MaxMacroSub2: "Le nombre maximal de substitutions de macros autoris\u00E9 par MathJax a \u00E9t\u00E9 d\u00E9pass\u00E9. Y a-t-il un environnement LaTeX r\u00E9cursif\u202F?", - MissingArgFor: "Argument manquant pour la commande %1", - ExtraAlignTab: "Caract\u00E8re d'alignement '\u0026' inattendu pour le texte de la commande \\cases", - BracketMustBeDimension: "L'argument entre crochets de la commande %1 doit \u00EAtre une dimension", - InvalidEnv: "Nom d'environnement '%1' non valide", - UnknownEnv: "Environnement '%1' inconnu", - ExtraCloseLooking: "Accolade fermante superflue lors de la recherche de %1", - MissingCloseBracket: "Impossible de trouver ']' pour l'argument de la commande %1", - MissingOrUnrecognizedDelim: "D\u00E9limiteur manquant ou non reconnu pour la commande %1", - MissingDimOrUnits: "Dimension ou unit\u00E9s manquantes pour la commande %1", - TokenNotFoundForCommand: "Impossible de trouver %1 pour la commande %2", - MathNotTerminated: "Expression math\u00E9matique non termin\u00E9e \u00E0 l'int\u00E9rieur de la boite de texte", - IllegalMacroParam: "Param\u00E8tre de r\u00E9f\u00E9rence de macro non autoris\u00E9", - MaxBufferSize: "Taille maximale du tampon interne de MathJax d\u00E9pass\u00E9e; y a-t-il un appel de macro r\u00E9cursif ?", - CommandNotAllowedInEnv: "La commande %1 n'est pas autoris\u00E9e \u00E0 l'int\u00E9rieur de l'environnement %2", - MultipleLabel: "Multiple d\u00E9finition de l'\u00E9tiquette '%1'", - CommandAtTheBeginingOfLine: "La commande %1 doit \u00EAtre plac\u00E9e en d\u00E9but de ligne", - IllegalAlign: "Alignement non autoris\u00E9 pour la commande %1", - BadMathStyleFor: "Style math\u00E9matique non valide pour la commande %1", - PositiveIntegerArg: "L'argument de la commande %1 doit \u00EAtre un entier positif", - ErroneousNestingEq: "Embrication incorrecte des structures d'\u00E9quations", - MultlineRowsOneCol: "Les rang\u00E9es au sein de l\u2019environnement %1 doivent avoir exactement une colonne", - MultipleBBoxProperty: "La propri\u00E9t\u00E9 %1 est sp\u00E9cifi\u00E9e deux fois dans la commande %2", - InvalidBBoxProperty: "La valeur '%1' ne semble pas \u00EAtre une couleur, une dimension de marge int\u00E9rieure ou un style.", - ExtraEndMissingBegin: "Commande %1 non attendue ou commande \\begingroup manquante", - GlobalNotFollowedBy: "Commande %1 non suivie d\u2019une commande \\let, \\def ou \\newcommand", - UndefinedColorModel: "Le mod\u00E8le de couleur '%1' n'est pas d\u00E9fini", - ModelArg1: "Les valeurs de couleurs pour le mod\u00E8le %1 n\u00E9cessitent 3 nombres", - InvalidDecimalNumber: "Nombre d\u00E9cimal non valide", - ModelArg2: "Les valeurs de couleurs pour le mod\u00E8le %1 doivent \u00EAtre comprises entre %2 et %3", - InvalidNumber: "Nombre non valide", - NewextarrowArg1: "Le premier argument de la commande %1 doit \u00EAtre le nom d'une s\u00E9quence de contr\u00F4le", - NewextarrowArg2: "Le second argument de la commande %1 doit \u00EAtre deux entiers s\u00E9par\u00E9s par une virgule", - NewextarrowArg3: "Le troisi\u00E8me argument de la commande %1 doit \u00EAtre la valeur d\u2019un caract\u00E8re unicode", - NoClosingChar: "Impossible de trouver le d\u00E9limiteur '%1' fermant", - IllegalControlSequenceName: "Nom de contr\u00F4le de s\u00E9quence non autoris\u00E9 pour la commande %1", - IllegalParamNumber: "Nombre de param\u00E8tres incorrect pour la commande %1", - MissingCS: "%1 doit \u00EAtre suivi d'une s\u00E9quence de contr\u00F4le", - CantUseHash2: "Usage du caract\u00E8re # non autoris\u00E9 dans le mod\u00E8le pour la s\u00E9quence de contr\u00F4le %1", - SequentialParam: "Les param\u00E8tres de la s\u00E9quence de contr\u00F4le %1 doivent \u00EAtre \u00E9num\u00E9r\u00E9s de fa\u00E7on s\u00E9quentielle", - MissingReplacementString: "Texte de remplacement manquant pour la d\u00E9finition %1", - MismatchUseDef: "L\u2019utilisation de la commande %1 ne correspond pas \u00E0 sa d\u00E9finition", - RunawayArgument: "Argument non termin\u00E9 pour la commande %1?", - NoClosingDelim: "Impossible de trouver le d\u00E9limiteur fermant pour la commande %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fr/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/fr.js b/src/py/kaleido/vendor/mathjax/localization/fr/fr.js deleted file mode 100644 index 1a37790e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/fr/fr.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/fr/fr.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("fr",null,{ - menuTitle: "fran\u00E7ais", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax a trouv\u00E9 un t\u00E9moin (cookie) de configuration utilisateur qui inclut du code ex\u00E9cutable. Souhaitez vous l\u2019ex\u00E9cuter ?\n\n(Choisissez Annuler sauf si vous avez cr\u00E9\u00E9 ce t\u00E9moin vous-m\u00EAme.)", - MathProcessingError: "Erreur de traitement de la formule math\u00E9matique", - MathError: "Erreur dans la formule math\u00E9matique", - LoadFile: "Chargement de %1", - Loading: "Chargement", - LoadFailed: "\u00C9chec du chargement de %1", - ProcessMath: "Traitement des formules : %1 %%", - Processing: "Traitement en cours", - TypesetMath: "Composition des formules: %1%%", - Typesetting: "Composition", - MathJaxNotSupported: "Votre navigateur ne prend pas en charge MathJax", - ErrorTips: "Conseils de d\u00E9bogage : utiliser %%1, inspecter %%2 dans la console du navigateur" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (0 <= n && n < 2) {return 1} // one - return 2; // other - }, - number: function (n) { - return String(n).replace(".", ","); // replace dot by comma - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/fr/fr.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/gl/FontWarnings.js deleted file mode 100644 index e63c69c1..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/gl/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/gl/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("gl","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/gl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/gl/HTML-CSS.js deleted file mode 100644 index b07b8fa5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/gl/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/gl/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("gl","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Cargando o tipo de letra web %1", - CantLoadWebFont: "Non se pode cargar o tipo de letra web %1", - FirefoxCantLoadWebFont: "Firefox non pode cargar os tipos de letra web desde un servidor remoto", - CantFindFontUsing: "Non se pode atopar un tipo de letra v\u00E1lido utilizando %1", - WebFontsNotAvailable: "Os tipos de letra web non est\u00E1n dispo\u00F1ibles; use os tipos de letra de imaxe no seu lugar" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/gl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/gl/HelpDialog.js deleted file mode 100644 index 393882db..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/gl/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/gl/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("gl","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/gl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/gl/MathML.js deleted file mode 100644 index 2662a08d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/gl/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/gl/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("gl","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/gl/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/gl/MathMenu.js deleted file mode 100644 index 98940f3d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/gl/MathMenu.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/gl/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("gl","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/gl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/gl/TeX.js deleted file mode 100644 index 0c7e4bae..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/gl/TeX.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/gl/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("gl","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/gl/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/gl.js b/src/py/kaleido/vendor/mathjax/localization/gl/gl.js deleted file mode 100644 index 426e726e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/gl/gl.js +++ /dev/null @@ -1,58 +0,0 @@ -/************************************************************* - * - * MathJax/localization/gl/gl.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("gl",null,{ - menuTitle: "galego", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax atopou unha cookie de configuraci\u00F3n de usuario que incl\u00FAe c\u00F3digo executable. Quere executar ese c\u00F3digo?\n\n(Deber\u00EDa premer en \"Cancelar\", a menos que vostede crease a cookie.)", - MathProcessingError: "Erro de procesamento da f\u00F3rmula matem\u00E1tica", - MathError: "Erro na f\u00F3rmula matem\u00E1tica", - LoadFile: "Cargando \"%1\"", - Loading: "Cargando", - LoadFailed: "Erro ao cargar o ficheiro: %1", - ProcessMath: "Procesando as f\u00F3rmulas: %1%%", - Processing: "Procesando", - TypesetMath: "Compo\u00F1endo as f\u00F3rmulas: %1%%", - Typesetting: "Compo\u00F1endo", - MathJaxNotSupported: "O seu navegador non soporta MathJax" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) return 1; // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/gl/gl.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/he/FontWarnings.js deleted file mode 100644 index 965cff9c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/he/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/he/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("he","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA \u05DB\u05D3\u05D9 \u05DC\u05D4\u05E6\u05D9\u05D2 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4 \u05D1\u05D3\u05DA \u05D4\u05D6\u05D4. \u05D6\u05D4 \u05D3\u05D5\u05E8\u05E9 \u05D6\u05DE\u05DF \u05DC\u05D4\u05D5\u05E8\u05D3\u05D4, \u05D5\u05D4\u05D3\u05E3 \u05D9\u05D5\u05E6\u05D2 \u05DE\u05D4\u05E8 \u05D9\u05D5\u05EA\u05E8 \u05D0\u05DD \u05D9\u05D5\u05EA\u05E7\u05E0\u05D5 \u05D2\u05D5\u05E4\u05E0\u05D9 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4 \u05D1\u05DE\u05E2\u05E8\u05DB\u05EA \u05E9\u05DC\u05DA.", - imageFonts: "MathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4 \u05D1\u05DE\u05E7\u05D5\u05DD \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA. \u05D6\u05D4 \u05E2\u05D5\u05D1\u05D3 \u05DC\u05D0\u05D8 \u05DE\u05D4\u05E8\u05D2\u05D9\u05DC, \u05D5\u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DC\u05D0 \u05D9\u05D5\u05D3\u05E4\u05E1\u05D5 \u05D1\u05D2\u05D5\u05D3\u05DC \u05D4\u05E8\u05E6\u05D5\u05D9 \u05D1\u05DE\u05D3\u05E4\u05E1\u05EA \u05E9\u05DC\u05DA.", - noFonts: "MathJax \u05D0\u05D9\u05E0\u05D5 \u05DE\u05E6\u05DC\u05D9\u05D7 \u05DC\u05DE\u05E6\u05D5\u05D0 \u05D2\u05D5\u05E4\u05DF \u05DC\u05D4\u05E6\u05D2\u05EA \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA, \u05D5\u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4 \u05D0\u05D9\u05E0\u05DD \u05D6\u05DE\u05D9\u05E0\u05D9\u05DD, \u05D0\u05D6 \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05E0\u05E1\u05D9\u05DD \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05EA\u05D5\u05D5\u05D9 \u05D9\u05D5\u05E0\u05D9\u05E7\u05D5\u05D3 \u05DB\u05DC\u05DC\u05D9\u05D9\u05DD \u05D1\u05EA\u05E7\u05D5\u05D5\u05D4 \u05E9\u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D9\u05E6\u05DC\u05D9\u05D7 \u05DC\u05D4\u05E6\u05D9\u05D2 \u05D0\u05D5\u05EA\u05DD \u05E0\u05DB\u05D5\u05DF. \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D7\u05DC\u05E7 \u05DE\u05D4\u05EA\u05D5\u05D5\u05D9\u05DD \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05DB\u05E8\u05D0\u05D5\u05D9 \u05D0\u05D5 \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05D1\u05DB\u05DC\u05DC.", - webFonts: "\u05E8\u05D5\u05D1 \u05D4\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD \u05D4\u05DE\u05D5\u05D3\u05E8\u05E0\u05D9\u05D9\u05DD \u05DE\u05D0\u05E4\u05E9\u05E8\u05D9\u05DD \u05D4\u05D5\u05E8\u05D3\u05EA \u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05DE\u05D4\u05E8\u05E9\u05EA. \u05E2\u05D3\u05DB\u05D5\u05DF \u05DC\u05D2\u05E8\u05E1\u05D4 \u05D7\u05D3\u05E9\u05D4 \u05D9\u05D5\u05EA\u05E8 \u05E9\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D0\u05D5 \u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1\u05D3\u05E4\u05D3\u05E4\u05DF \u05D0\u05D7\u05E8 \u05D9\u05DB\u05D5\u05DC\u05D9\u05DD \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D0\u05D9\u05DB\u05D5\u05EA \u05D4\u05E6\u05D2\u05EA \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D1\u05D3\u05E3 \u05D4\u05D6\u05D4.", - fonts: "MathJax \u05D9\u05DB\u05D5\u05DC \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 STIX](%1) \u05D0\u05D5 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05E9\u05DC MathJax](%2). \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05DE\u05DC\u05D9\u05E6\u05D9\u05DD \u05DC\u05D4\u05D5\u05E8\u05D9\u05D3 \u05D0\u05D7\u05D3 \u05DE\u05D4\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05D4\u05D0\u05DC\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D7\u05D5\u05D5\u05D9\u05D9\u05EA \u05D4\u05BEMathJax \u05E9\u05DC\u05DA.", - STIXPage: "\u05D4\u05D3\u05E3 \u05D4\u05D6\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DD \u05DC\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 STIX](%1). \u05DE\u05D5\u05DE\u05DC\u05E5 \u05DC\u05D4\u05D5\u05E8\u05D9\u05D3 \u05D5\u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05EA \u05D4\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05D4\u05D0\u05DC\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D7\u05D5\u05D5\u05D9\u05D9\u05EA \u05D4\u05BEMathJax \u05E9\u05DC\u05DA.", - TeXPage: "\u05D4\u05D3\u05E3 \u05D4\u05D6\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DD \u05DC\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05E9\u05DC MathJax](%1). \u05DE\u05D5\u05DE\u05DC\u05E5 \u05DC\u05D4\u05D5\u05E8\u05D9\u05D3 \u05D5\u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05EA \u05D4\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05D4\u05D0\u05DC\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D7\u05D5\u05D5\u05D9\u05D9\u05EA \u05D4\u05BEMathJax \u05E9\u05DC\u05DA." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/he/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/he/HTML-CSS.js deleted file mode 100644 index 09576aa7..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/he/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/he/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("he","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u05D8\u05E2\u05D9\u05E0\u05EA \u05D2\u05D5\u05E4\u05DF \u05D4\u05E8\u05E9\u05EA %1", - CantLoadWebFont: "\u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D8\u05E2\u05D5\u05DF \u05D0\u05EA \u05D2\u05D5\u05E4\u05DF \u05D4\u05E8\u05E9\u05EA %1", - FirefoxCantLoadWebFont: "\u05E4\u05D9\u05D9\u05E8\u05E4\u05D5\u05E7\u05E1 \u05D0\u05D9\u05E0\u05D5 \u05D9\u05DB\u05D5\u05DC \u05DC\u05D8\u05E2\u05D5\u05DF \u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA \u05DE\u05E9\u05E8\u05EA \u05DE\u05E8\u05D5\u05D7\u05E7", - CantFindFontUsing: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 \u05D2\u05D5\u05E4\u05DF \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05DE\u05E6\u05E2\u05D5\u05EA %1", - WebFontsNotAvailable: "\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA \u05D0\u05D9\u05E0\u05DD \u05D6\u05DE\u05D9\u05E0\u05D9\u05DD \u2013 \u05D1\u05DE\u05E7\u05D5\u05DE\u05DD \u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/he/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/he/HelpDialog.js deleted file mode 100644 index 59c6c224..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/he/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/he/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("he","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "\u05E2\u05D6\u05E8\u05D4 \u05E9\u05DC MathJax", - MathJax: "*MathJax* \u05D4\u05D9\u05D0 \u05E1\u05E4\u05E8\u05D9\u05D9\u05EA \u05D2'\u05D0\u05D5\u05D4 \u05E1\u05E7\u05E8\u05D9\u05E4\u05D8 \u05E9\u05DE\u05D0\u05E4\u05E9\u05E8\u05EA \u05DC\u05DB\u05D5\u05EA\u05D1\u05D9 \u05D0\u05EA\u05E8\u05D9\u05DD \u05DC\u05DB\u05DC\u05D5\u05DC \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DE\u05EA\u05DE\u05D8\u05D9\u05D5\u05EA \u05D1\u05D3\u05E4\u05D9\u05DD. \u05D4\u05E7\u05D5\u05E8\u05D0\u05D9\u05DD \u05D0\u05D9\u05E0\u05DD \u05E6\u05E8\u05D9\u05DB\u05D9\u05DD \u05DC\u05E2\u05E9\u05D5\u05EA \u05D3\u05D1\u05E8 \u05DB\u05D3\u05D9 \u05E9\u05D6\u05D4 \u05D9\u05E7\u05E8\u05D4.", - Browsers: "*\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD*: MathJax \u05E2\u05D5\u05D1\u05D3 \u05E2\u05DD \u05DB\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD \u05D4\u05DE\u05D5\u05D3\u05E8\u05E0\u05D9\u05D9\u05DD, \u05DB\u05D5\u05DC\u05DC \u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D0\u05E7\u05E1\u05E4\u05DC\u05D5\u05E8\u05E8 \u05DE\u05D2\u05E8\u05E1\u05D4 6 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05E4\u05D9\u05D9\u05E8\u05E4\u05D5\u05E7\u05E1 \u05DE\u05D2\u05E8\u05E1\u05D4 3 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05DB\u05E8\u05D5\u05DD \u05DE\u05D2\u05E8\u05E1\u05D4 0.2 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05E1\u05E4\u05D0\u05E8\u05D9 \u05DE\u05D2\u05E8\u05E1\u05D4 2 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05D0\u05D5\u05E4\u05E8\u05D4 \u05DE\u05D2\u05E8\u05E1\u05D4 9.6 \u05D5\u05DE\u05E2\u05DC\u05D4 \u05D5\u05E8\u05D5\u05D1 \u05D4\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD \u05DC\u05DE\u05DB\u05E9\u05D9\u05E8\u05D9\u05DD \u05E0\u05D9\u05D9\u05D3\u05D9\u05DD.", - Menu: "*\u05EA\u05E4\u05E8\u05D9\u05D8 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4*: MathJax \u05DE\u05D5\u05E1\u05D9\u05E3 \u05EA\u05E4\u05E8\u05D9\u05D8 \u05D4\u05E7\u05E9\u05E8 \u05DC\u05DE\u05E9\u05D5\u05D5\u05D0\u05D5\u05EA. \u05D9\u05E9 \u05DC\u05E2\u05E9\u05D5\u05EA \u05DC\u05D7\u05D9\u05E6\u05D4 \u05D9\u05DE\u05E0\u05D9\u05EA \u05D0\u05D5 \u05DC\u05D7\u05D9\u05E6\u05D4 \u05E2\u05DD Ctrl \u05D1\u05DB\u05DC \u05E0\u05D5\u05E1\u05D7\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05D9\u05DB\u05E0\u05E1 \u05DC\u05EA\u05E4\u05E8\u05D9\u05D8.", - ShowMath: "*\u05DC\u05D4\u05E6\u05D9\u05D2 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D1\u05EA\u05D5\u05E8* \u05DE\u05D0\u05E4\u05E9\u05E8 \u05DC\u05DA \u05DC\u05E8\u05D0\u05D5\u05EA \u05D0\u05EA \u05E7\u05D5\u05D3 \u05D4\u05DE\u05E7\u05D5\u05E8 \u05E9\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D4 \u05DC\u05D4\u05E2\u05EA\u05E7\u05D4 \u05D5\u05D4\u05D3\u05D1\u05E7\u05D4 (\u05D1\u05EA\u05D5\u05E8 MathML \u05D0\u05D5 \u05D1\u05E6\u05D5\u05E8\u05D4 \u05D4\u05DE\u05E7\u05D5\u05E8\u05D9\u05EA).", - Settings: "*\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA* \u05E0\u05D5\u05EA\u05E0\u05D5\u05EA \u05DC\u05DA \u05E9\u05DC\u05D9\u05D8\u05D4 \u05E2\u05DC \u05D9\u05DB\u05D5\u05DC\u05D5\u05EA \u05E9\u05DC MathJax, \u05DB\u05D2\u05D5\u05DF \u05D4\u05D2\u05D5\u05D3\u05DC \u05E9\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D5\u05D4\u05E9\u05D9\u05D8\u05D4 \u05DC\u05D4\u05E6\u05D2\u05EA \u05D4\u05DE\u05E9\u05D5\u05D5\u05D0\u05D5\u05EA.", - Language: "*\u05E9\u05E4\u05D4* \u2013 \u05DB\u05D0\u05DF \u05D0\u05E4\u05E9\u05E8 \u05DC\u05D1\u05D7\u05D5\u05E8 \u05D0\u05EA \u05D4\u05E9\u05E4\u05D4 \u05E9\u05BEMathJax \u05DE\u05E6\u05D9\u05D2\u05D4 \u05D1\u05EA\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD \u05D5\u05D1\u05D4\u05D5\u05D3\u05E2\u05D5\u05EA \u05D4\u05D0\u05D6\u05D4\u05E8\u05D4", - Zoom: "*\u05E7\u05D9\u05E8\u05D5\u05D1 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4*: \u05D0\u05DD \u05E7\u05E9\u05D4 \u05DC\u05DA \u05DC\u05E7\u05E8\u05D5\u05D0 \u05DE\u05E9\u05D5\u05D5\u05D0\u05D4, MathJax \u05D9\u05DB\u05D5\u05DC \u05DC\u05D4\u05D2\u05D3\u05D9\u05DC \u05D0\u05D5\u05EA\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E2\u05D6\u05D5\u05E8 \u05DC\u05DA \u05DC\u05E8\u05D0\u05D5\u05EA \u05D0\u05D5\u05EA\u05D4 \u05D8\u05D5\u05D1 \u05D9\u05D5\u05EA\u05E8.", - Accessibilty: "*\u05E0\u05D2\u05D9\u05E9\u05D5\u05EA*: MathJax \u05E2\u05D5\u05D1\u05D3 \u05D0\u05D5\u05D8\u05D5\u05DE\u05D8\u05D9\u05EA \u05E2\u05DD \u05E7\u05D5\u05E8\u05D0\u05D9 \u05DE\u05E1\u05DA \u05DB\u05D3\u05D9 \u05DC\u05D5\u05D5\u05D3\u05D0 \u05E9\u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05E0\u05D2\u05D9\u05E9\u05D5\u05EA \u05DC\u05DB\u05D1\u05D3\u05D9 \u05E8\u05D0\u05D9\u05D9\u05D4.", - Fonts: "*\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD*: MathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05DE\u05EA\u05DE\u05D8\u05D9\u05D9\u05DD \u05DE\u05E1\u05D5\u05D9\u05DE\u05D9\u05DD \u05D0\u05DD \u05D4\u05DD \u05DE\u05D5\u05EA\u05E7\u05E0\u05D9\u05DD \u05D1\u05DE\u05D7\u05E9\u05D1 \u05E9\u05DC\u05DA; \u05D0\u05D7\u05E8\u05EA, \u05D4\u05D5\u05D0 \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA. \u05D0\u05E3 \u05E9\u05D6\u05D4 \u05D0\u05D9\u05E0\u05D5 \u05E0\u05D7\u05D5\u05E5, \u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05DE\u05D5\u05EA\u05E7\u05E0\u05D9\u05DD \u05DE\u05E7\u05D5\u05DE\u05D9\u05EA \u05D9\u05DB\u05D5\u05DC \u05DC\u05D6\u05E8\u05D6 \u05D0\u05EA \u05D4\u05E1\u05D3\u05B7\u05E8. \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05DE\u05DC\u05D9\u05E6\u05D9\u05DD \u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05EA [\u05D2\u05D5\u05E4\u05E0\u05D9 STIX](%1).", - CloseDialog: "\u05E1\u05D2\u05D9\u05E8\u05EA \u05D7\u05DC\u05D5\u05DF \u05D3\u05D5\u05BE\u05E9\u05D9\u05D7 \u05E2\u05D6\u05E8\u05D4" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/he/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/MathML.js b/src/py/kaleido/vendor/mathjax/localization/he/MathML.js deleted file mode 100644 index f8cb3faf..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/he/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/he/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("he","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "\u05E8\u05DB\u05D9\u05D1 mglyph \u05D2\u05E8\u05D5\u05E2: %1", - BadMglyphFont: "\u05D2\u05D5\u05E4\u05DF \u05D2\u05E8\u05D5\u05E2: %1", - MathPlayer: "MathJax \u05DC\u05D0 \u05D4\u05E6\u05DC\u05D9\u05D7 \u05DC\u05D4\u05D2\u05D3\u05D9\u05E8 \u05D0\u05EA MathPlayer.\n\n\u05D0\u05DD MathPlayer th\u05E0\u05D5 \u05DE\u05D5\u05EA\u05E7\u05DF, \u05D9\u05E9 \u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05D5\u05EA\u05D5 \u05EA\u05D7\u05D9\u05DC\u05D4.\n\u05D0\u05D7\u05E8\u05EA, \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05D4\u05D0\u05D1\u05D8\u05D7\u05D4 \u05E9\u05DC\u05DA \u05DC\u05D0 \u05D9\u05D0\u05E4\u05E9\u05E8\u05D5 \u05DC\u05E8\u05DB\u05D9\u05D1\u05D9 ActiveX\n\u05DC\u05E8\u05D5\u05E5. \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05EA\u05D7\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 \u05DB\u05DC\u05D9\u05DD, \u05DC\u05D1\u05D7\u05D5\u05E8 \u05D1\u05DC\u05E9\u05D5\u05E0\u05D9\u05EA \"\u05D0\u05D1\u05D8\u05D7\u05D4\", \u05D5\u05DC\u05DC\u05D7\u05D5\u05E5 \u05E2\u05DC \"\u05E8\u05DE\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DE\u05EA \u05D0\u05D9\u05E9\u05D9\u05EA\". \u05E9\u05DD \u05D9\u05E9 \u05DC\u05D1\u05D3\u05D5\u05E7 \u05E9\u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA\n\"\u05D4\u05E8\u05E6\u05E5 \u05D1\u05E7\u05E8\u05D9 ActiveX\" \u05D5\"\u05D4\u05EA\u05E0\u05D4\u05D2\u05D5\u05D9\u05D5\u05EA \u05D1\u05D9\u05E0\u05D0\u05E8\u05D9\u05D5\u05EA \u05D5\u05E1\u05E7\u05E8\u05D9\u05E4\u05D8\u05D9\u05DD\" \u05DE\u05D5\u05E4\u05E2\u05DC\u05D5\u05EA.\n\n\u05D1\u05DE\u05E6\u05D1 \u05D4\u05E0\u05D5\u05DB\u05D7\u05D9 \u05D9\u05D5\u05E4\u05D9\u05E2\u05D5 \u05D4\u05D5\u05D3\u05E2\u05D5\u05EA \u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05DE\u05E7\u05D5\u05DD \n\u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4 \u05DE\u05E2\u05D5\u05E6\u05D1\u05EA.", - CantCreateXMLParser: "MathJax \u05D0\u05D9\u05E0\u05D5 \u05D9\u05DB\u05D5\u05DC \u05DC\u05D9\u05E6\u05D5\u05E8 \u05DE\u05E4\u05E2\u05E0\u05D7 XML \u05E2\u05D1\u05D5\u05E8 MathML. \u05E0\u05D0 \u05DC\u05D1\u05D3\u05D5\u05E7\n\u05E9\u05D4\u05D2\u05D3\u05E8\u05EA \u05D4\u05D0\u05D1\u05D8\u05D7\u05D4 '\u05D1\u05E7\u05E8\u05D9 ActiveX \u05E9\u05DE\u05E1\u05D5\u05DE\u05E0\u05D9\u05DD \u05D1\u05EA\u05D5\u05E8 \u05D1\u05D8\u05D5\u05D7\u05D9\u05DD' \u05DE\u05D5\u05E4\u05E2\u05DC\u05EA\n(\u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D1\u05EA\u05E4\u05E8\u05D9\u05D8 \u05DB\u05DC\u05D9\u05DD, \u05DC\u05E4\u05EA\u05D5\u05D7 \u05D0\u05EA \u05DC\u05E9\u05D5\u05E0\u05D9\u05EA \"\u05D0\u05D1\u05D8\u05D7\u05D4\",\n\u05D5\u05D0\u05D6 \u05DC\u05DC\u05D7\u05D5\u05E5 \u05E2\u05DC \"\u05E8\u05DE\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DE\u05EA \u05D0\u05D9\u05E9\u05D9\u05EA\" \u05DB\u05D3\u05D9 \u05DC\u05D1\u05D3\u05D5\u05E7 \u05D0\u05EA \u05D6\u05D4).\n\n\u05DE\u05E9\u05D5\u05D5\u05D0\u05D5\u05EA MathML \u05DC\u05D0 \u05D9\u05E2\u05D5\u05D1\u05D3\u05D5 \u05E2\u05DC\u05BE\u05D9\u05D3\u05D9 MathJax.", - UnknownNodeType: "\u05E1\u05D5\u05D2 \u05E6\u05D5\u05DE\u05EA \u05D1\u05DC\u05EA\u05D9\u05BE\u05D9\u05D5\u05D3\u05E2: %1", - UnexpectedTextNode: "\u05E1\u05D5\u05D2 \u05E6\u05D5\u05DE\u05EA \u05D1\u05DC\u05EA\u05D9\u05BE\u05E6\u05E4\u05D5\u05D9: %1", - ErrorParsingMathML: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E4\u05E2\u05E0\u05D5\u05D7 MathML", - ParsingError: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E4\u05E2\u05E0\u05D5\u05D7 MathML\u200F: %1", - MathMLSingleElement: "MathML \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DB\u05EA\u05D5\u05D1 \u05D1\u05D0\u05DC\u05DE\u05E0\u05D8 \u05D0\u05D7\u05D3", - MathMLRootElement: "MathML \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05DB\u05EA\u05D1 \u05D1\u05D0\u05DC\u05DE\u05E0\u05D8 \u003Cmath\u003E, \u05DC\u05D0 %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/he/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/he/MathMenu.js deleted file mode 100644 index 015ca929..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/he/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/he/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("he","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u05DC\u05D4\u05E6\u05D9\u05D2 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D1\u05EA\u05D5\u05E8", - MathMLcode: "\u05E7\u05D5\u05D3 MathML", - OriginalMathML: "MathML \u05DE\u05E7\u05D5\u05E8\u05D9", - TeXCommands: "\u05E4\u05E7\u05D5\u05D3\u05D5\u05EA TeX", - AsciiMathInput: "\u05E7\u05DC\u05D8 AsciiMathML", - Original: "\u05D4\u05E6\u05D5\u05E8\u05D4 \u05D4\u05DE\u05E7\u05D5\u05E8\u05D9\u05EA", - ErrorMessage: "\u05D4\u05D5\u05D3\u05E2\u05EA \u05E9\u05D2\u05D9\u05D0\u05D4", - Annotation: "\u05E4\u05D9\u05E8\u05D5\u05E9", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Content MathML", - OpenMath: "OpenMath", - texHints: "\u05DC\u05D4\u05E6\u05D9\u05D2 \u05E8\u05DE\u05D6\u05D9\u05DD \u05E9\u05DC TeX \u05D1\u05BEMathML", - Settings: "\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4", - ZoomTrigger: "\u05DE\u05D4 \u05D2\u05D5\u05E8\u05DD \u05DC\u05E7\u05D9\u05E8\u05D5\u05D1", - Hover: "\u05DE\u05E2\u05D1\u05E8 \u05E2\u05DB\u05D1\u05E8", - Click: "\u05DC\u05D7\u05D9\u05E6\u05D4", - DoubleClick: "\u05DC\u05D7\u05D9\u05E6\u05D4 \u05DB\u05E4\u05D5\u05DC\u05D4", - NoZoom: "\u05DC\u05DC\u05D0 \u05E7\u05D9\u05E8\u05D5\u05D1", - TriggerRequires: "\u05D4\u05E4\u05E2\u05DC\u05EA \u05D4\u05E7\u05D9\u05E8\u05D5\u05D1 \u05D3\u05D5\u05E8\u05E9\u05EA:", - Option: "Option", - Alt: "Alt", - Command: "Command", - Control: "Ctrl", - Shift: "Shift", - ZoomFactor: "\u05E8\u05DE\u05EA \u05E7\u05D9\u05E8\u05D5\u05D1", - Renderer: "\u05DE\u05E6\u05D9\u05D2 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA", - MPHandles: "\u05DC\u05D0\u05E4\u05E9\u05E8 \u05DC\u05BEMathPlayer \u05DC\u05D8\u05E4\u05DC \u05D1\u05BE:", - MenuEvents: "\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05EA\u05E4\u05E8\u05D9\u05D8", - MouseEvents: "\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05E2\u05DB\u05D1\u05E8", - MenuAndMouse: "\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05E2\u05DB\u05D1\u05E8 \u05D5\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05EA\u05E4\u05E8\u05D9\u05D8", - FontPrefs: "\u05D4\u05E2\u05D3\u05E4\u05D5\u05EA \u05D2\u05D5\u05E4\u05E0\u05D9\u05DD", - ForHTMLCSS: "\u05E2\u05D1\u05D5\u05E8 HTML-CSS:", - Auto: "\u05D0\u05D5\u05D8\u05D5\u05DE\u05D8\u05D9", - TeXLocal: "TeX (\u05DE\u05E7\u05D5\u05DE\u05D9)", - TeXWeb: "TeX (\u05D1\u05E8\u05E9\u05EA)", - TeXImage: "TeX (\u05EA\u05DE\u05D5\u05E0\u05D4)", - STIXLocal: "STIX (\u05DE\u05E7\u05D5\u05DE\u05D9)", - STIXWeb: "STIX (\u05D1\u05E8\u05E9\u05EA)", - AsanaMathWeb: "Asana Math (\u05D1\u05E8\u05E9\u05EA)", - GyrePagellaWeb: "Gyre Pagella (\u05D1\u05E8\u05E9\u05EA)", - GyreTermesWeb: "Gyre Termes (\u05D1\u05E8\u05E9\u05EA)", - LatinModernWeb: "Latin Modern (\u05D1\u05E8\u05E9\u05EA)", - NeoEulerWeb: "Neo Euler (\u05D1\u05E8\u05E9\u05EA)", - ContextMenu: "\u05EA\u05E4\u05E8\u05D9\u05D8 \u05D4\u05B6\u05E7\u05E9\u05E8", - Browser: "\u05D3\u05E4\u05D3\u05E4\u05DF", - Scale: "\u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05D0\u05EA \u05D4\u05D2\u05D5\u05D3\u05DC \u05E9\u05DC \u05DB\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA...", - Discoverable: "\u05DC\u05D4\u05D0\u05D9\u05E8 \u05D1\u05DE\u05E2\u05D1\u05E8 \u05E2\u05DB\u05D1\u05E8", - Locale: "\u05E9\u05E4\u05D4", - LoadLocale: "\u05DC\u05D8\u05E2\u05D5\u05DF \u05DE\u05DB\u05EA\u05D5\u05D1\u05EA...", - About: "\u05D0\u05D5\u05D3\u05D5\u05EA MathJax", - Help: "\u05E2\u05D6\u05E8\u05D4 \u05E9\u05DC MathJax", - localTeXfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05DE\u05E7\u05D5\u05DE\u05D9\u05D9\u05DD", - webTeXfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05DE\u05D4\u05E8\u05E9\u05EA", - imagefonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4", - localSTIXfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 STIX \u05DE\u05E7\u05D5\u05DE\u05D9\u05D9\u05DD", - webSVGfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 SVG \u05DE\u05D4\u05E8\u05E9\u05EA", - genericfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 \u05D9\u05D5\u05E0\u05D9\u05E7\u05D5\u05D3 \u05DB\u05DC\u05DC\u05D9\u05D9\u05DD", - wofforotffonts: "\u05D2\u05D5\u05E4\u05E0\u05D9 woff \u05D0\u05D5 otf", - eotffonts: "\u05D2\u05D5\u05E4\u05E0\u05D9 eot", - svgfonts: "\u05D2\u05D5\u05E4\u05E0\u05D9 svg", - WebkitNativeMMLWarning: "\u05D1\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D0\u05D9\u05DF \u05EA\u05DE\u05D9\u05DB\u05D4 \u05DE\u05D5\u05D1\u05E0\u05D9\u05EA \u05D1\u05BEMathML, \u05D0\u05D6 \u05DE\u05E2\u05D1\u05E8 \u05DC\u05E4\u05DC\u05D8 MathML \u05E2\u05DC\u05D5\u05DC \u05DC\u05D4\u05E4\u05D5\u05DA \u05D0\u05EA \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DC\u05D1\u05DC\u05EA\u05D9\u05BE\u05E7\u05E8\u05D9\u05D0\u05D5\u05EA", - MSIENativeMMLWarning: "\u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D0\u05E7\u05E1\u05E4\u05DC\u05D5\u05E8\u05E8 \u05D3\u05D5\u05E8\u05E9 \u05EA\u05D5\u05E1\u05E3 MathPlayer \u05DB\u05D3\u05D9 \u05DC\u05E2\u05D1\u05D3 \u05E4\u05DC\u05D8 MathML.", - OperaNativeMMLWarning: "\u05D4\u05EA\u05DE\u05D9\u05DB\u05D4 \u05E9\u05DC \u05D0\u05D5\u05E4\u05E8\u05D4 \u05D1\u05BEMathML \u05DE\u05D5\u05D2\u05D1\u05DC\u05EA, \u05D0\u05D6 \u05DE\u05E2\u05D1\u05E8 \u05DC\u05BEMathML \u05E2\u05DC\u05D5\u05DC \u05DC\u05D2\u05E8\u05D5\u05DD \u05DC\u05D7\u05DC\u05E7 \u05DE\u05D4\u05D1\u05D9\u05D8\u05D5\u05D9\u05D9\u05DD \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05D5\u05E6\u05D2\u05D9\u05DD \u05D1\u05D0\u05D5\u05E4\u05DF \u05D2\u05E8\u05D5\u05E2.", - SafariNativeMMLWarning: "\u05D4\u05EA\u05DE\u05D9\u05DB\u05D4 \u05D4\u05DE\u05D5\u05D1\u05E0\u05D9\u05EA \u05E9\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D1\u05BEMathML \u05D0\u05D9\u05E0\u05D4 \u05DE\u05DE\u05DE\u05E9\u05EA \u05D0\u05EA \u05DB\u05DC \u05D4\u05D9\u05DB\u05D5\u05DC\u05D5\u05EA \u05E9\u05BEMathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D4\u05DF, \u05D0\u05D6 \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D1\u05D9\u05D8\u05D5\u05D9\u05D9\u05DD \u05D0\u05D7\u05D3\u05D9\u05DD \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05DB\u05E8\u05D0\u05D5\u05D9.", - FirefoxNativeMMLWarning: "\u05D4\u05EA\u05DE\u05D9\u05DB\u05D4 \u05D4\u05DE\u05D5\u05D1\u05E0\u05D9\u05EA \u05E9\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D1\u05BEMathML \u05D0\u05D9\u05E0\u05D4 \u05DE\u05DE\u05DE\u05E9\u05EA \u05D0\u05EA \u05DB\u05DC \u05D4\u05D9\u05DB\u05D5\u05DC\u05D5\u05EA \u05E9\u05BEMathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D4\u05DF, \u05D0\u05D6 \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D1\u05D9\u05D8\u05D5\u05D9\u05D9\u05DD \u05D0\u05D7\u05D3\u05D9\u05DD \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05DB\u05E8\u05D0\u05D5\u05D9.", - MSIESVGWarning: "\u05EA\u05DE\u05D9\u05DB\u05D4 \u05D1\u05BESVG \u05D0\u05D9\u05E0\u05D4 \u05DE\u05DE\u05D5\u05DE\u05E9\u05EA \u05D1\u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D0\u05E7\u05E1\u05E4\u05DC\u05D5\u05E8\u05E8 \u05DC\u05E4\u05E0\u05D9 \u05D2\u05E8\u05E1\u05D4 9 \u05D0\u05D5 \u05DB\u05D0\u05E9\u05E8 \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E4\u05D5\u05E2\u05DC \u05D1\u05DE\u05E6\u05D1 \u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05DC\u05D2\u05E8\u05E1\u05D4 8 \u05D5\u05DE\u05D8\u05D4. \u05DE\u05E2\u05D1\u05E8 \u05DC\u05E4\u05DC\u05D8 \u05D1\u05BESVG \u05D9\u05D2\u05E8\u05D5\u05DD \u05DC\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DE\u05EA\u05DE\u05D8\u05D9\u05D5\u05EA \u05DC\u05D0 \u05D4\u05D9\u05D5\u05EA \u05DE\u05D5\u05E6\u05D2\u05D5\u05EA \u05DB\u05E8\u05D0\u05D5\u05D9.", - LoadURL: "\u05D8\u05E2\u05D9\u05E0\u05EA \u05E0\u05EA\u05D5\u05E0\u05D9 \u05EA\u05E8\u05D2\u05D5\u05DD \u05DE\u05D4\u05DB\u05EA\u05D5\u05D1\u05EA \u05D4\u05D1\u05D0\u05D4:", - BadURL: "\u05D4\u05DB\u05EA\u05D5\u05D1\u05EA \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05DB\u05E4\u05E0\u05D5\u05EA \u05DC\u05E7\u05D5\u05D1\u05E5 \u05D2'\u05D0\u05D5\u05D5\u05D4 \u05E1\u05E7\u05E8\u05D9\u05E4\u05D8 \u05E9\u05DE\u05D2\u05D3\u05D9\u05E8 \u05E0\u05EA\u05D5\u05E0\u05D9 \u05EA\u05E8\u05D2\u05D5\u05DD \u05E9\u05DC MathJax. \u05E7\u05D5\u05D1\u05E5 \u05D4\u05D2'\u05D0\u05D5\u05D5\u05E1 \u05E1\u05E7\u05E8\u05D9\u05E4\u05D8 \u05D0\u05DE\u05D5\u05E8 \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1\u05BEjs.", - BadData: "\u05E0\u05DB\u05E9\u05DC\u05D4 \u05D8\u05E2\u05D9\u05E0\u05EA \u05E0\u05EA\u05D5\u05E0\u05D9 \u05EA\u05E8\u05D2\u05D5\u05DD \u05DE\u05BE%1", - SwitchAnyway: "\u05DC\u05E9\u05E0\u05D5\u05EA \u05D0\u05EA \u05D4\u05DE\u05E6\u05D9\u05D2 \u05D1\u05DB\u05DC \u05D6\u05D0\u05EA?\n\n(\u05D9\u05E9 \u05DC\u05DC\u05D7\u05D5\u05E5 \u05D0\u05D9\u05E9\u05D5\u05E8 \u05DC\u05DE\u05E2\u05D1\u05E8 \u05D0\u05D5 \u05D1\u05D9\u05D8\u05D5\u05DC \u05DC\u05D4\u05DE\u05E9\u05DA \u05E2\u05DD \u05D4\u05E6\u05D9\u05D2 \u05D4\u05E0\u05D5\u05DB\u05D7\u05D9)", - ScaleMath: "\u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05D0\u05EA \u05D4\u05D2\u05D5\u05D3\u05DC \u05E9\u05DC \u05DB\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA (\u05D9\u05D7\u05E1\u05D9\u05EA \u05DC\u05D8\u05E7\u05E1\u05D8 \u05D4\u05E1\u05DE\u05D5\u05DA) \u05D1\u05BE:", - NonZeroScale: "\u05D4\u05D2\u05D5\u05D3\u05DC \u05DC\u05D0 \u05D9\u05DB\u05D5\u05DC \u05DC\u05D4\u05D9\u05D5 \u05D0\u05E4\u05E1", - PercentScale: "\u05D4\u05D2\u05D5\u05D3\u05DC \u05D0\u05DE\u05D5\u05E8 \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05D0\u05D7\u05D5\u05D6\u05D9\u05DD (\u05DC\u05DE\u05E9\u05DC 120%%)", - IE8warning: "\u05D6\u05D4 \u05D9\u05DB\u05D1\u05D4 \u05D0\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 MathJax \u05D5\u05D0\u05EA \u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05E7\u05D9\u05E8\u05D5\u05D1, \u05D0\u05D1\u05DC \u05D0\u05E4\u05E9\u05E8 \u05DC\u05E2\u05E9\u05D5\u05EA \u05DC\u05D7\u05D9\u05E6\u05D4 \u05E2\u05DD Alt \u05E2\u05DC \u05D1\u05D9\u05D8\u05D5\u05D9 \u05DB\u05D3\u05D9 \u05DC\u05E7\u05D1\u05DC \u05D8\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 M\uFFFDathJax \u05D1\u05DE\u05E7\u05D5\u05DD \u05D6\u05D4.\n\n\u05D4\u05D0\u05DD \u05D1\u05D0\u05DE\u05EA \u05DC\u05E9\u05E0\u05D5\u05EA \u05D0\u05EA \u05D4\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05E9\u05DC MathJax?", - IE9warning: "\u05EA\u05E4\u05E8\u05D9\u05D8 \u05D4\u05D4\u05E7\u05E9\u05E8 \u05E9\u05DC MathJax \u05D9\u05DB\u05D5\u05D1\u05D4, \u05D0\u05D1\u05DC \u05D0\u05E4\u05E9\u05E8 \u05DC\u05E2\u05E9\u05D5\u05EA \u05DC\u05D7\u05D9\u05E6\u05D4 \u05E2\u05DD Alt \u05E2\u05DC \u05D1\u05D9\u05D8\u05D5\u05D7 \u05DB\u05D3\u05D9 \u05DC\u05E7\u05D1\u05DC \u05D0\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 MathJax.", - NoOriginalForm: "\u05D4\u05E6\u05D5\u05E8\u05D4 \u05D4\u05DE\u05E7\u05D5\u05E8\u05D9\u05EA \u05D0\u05D9\u05E0\u05D4 \u05D6\u05DE\u05D9\u05E0\u05D4", - Close: "\u05E1\u05D2\u05D9\u05E8\u05D4", - EqSource: "\u05DE\u05E7\u05D5\u05E8 \u05D4\u05DE\u05E9\u05D5\u05D5\u05D0\u05D4 \u05E9\u05DC MathJax", - CloseAboutDialog: "\u05E1\u05D2\u05D9\u05E8\u05EA \u05D7\u05DC\u05D5\u05DF \u05D3\u05D5\u05BE\u05E9\u05D9\u05D7 \u05D0\u05D5\u05D3\u05D5\u05EA MathJax", - FastPreview: "\u05EA\u05E6\u05D5\u05D2\u05D4 \u05DE\u05E7\u05D3\u05D9\u05DE\u05D4 \u05DE\u05D4\u05D9\u05E8\u05D4", - AssistiveMML: "MathML \u05E0\u05D2\u05D9\u05E9", - InTabOrder: "\u05DC\u05DB\u05DC\u05D5\u05DC \u05D1\u05E1\u05D3\u05E8 \u05D4\u05D8\u05D0\u05D1\u05D9\u05DD" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/he/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/TeX.js b/src/py/kaleido/vendor/mathjax/localization/he/TeX.js deleted file mode 100644 index 98fbc6e6..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/he/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/he/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("he","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05D7\u05E1\u05E8", - ExtraCloseMissingOpen: "\u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05D7\u05E1\u05E8", - MissingLeftExtraRight: "\u05D7\u05D5\u05E7 \u200E\\left \u05D7\u05E1\u05E8 \u05D0\u05D5 \u05D7\u05D5\u05E7 \u200E\\right \u05DE\u05D9\u05D5\u05EA\u05E8", - MissingScript: "\u05D7\u05E1\u05E8 \u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DB\u05EA\u05D1 \u05E2\u05D9\u05DC\u05D9 \u05D0\u05D5 \u05DB\u05EA\u05D1 \u05EA\u05D7\u05EA\u05D9", - ExtraLeftMissingRight: "\u200E\\left \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u05D7\u05D5\u05E7 \u200E\\right \u05D7\u05E1\u05E8", - Misplaced: "%1 \u05D1\u05DE\u05E7\u05D5\u05DD \u05E9\u05D2\u05D5\u05D9", - MissingOpenForSub: "\u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05D7\u05E1\u05E8 \u05DC\u05DB\u05EA\u05D1 \u05EA\u05D7\u05EA\u05D9", - MissingOpenForSup: "\u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05D7\u05E1\u05E8 \u05DC\u05DB\u05EA\u05D1 \u05E2\u05D9\u05DC\u05D9", - AmbiguousUseOf: "\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D3\u05D5\u05BE\u05DE\u05E9\u05DE\u05E2\u05D9 \u05D1\u05BE\u200E%1", - EnvBadEnd: "\u200E\\begin{%1}\u200E \u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1\u05BE\u200E\\end{%2}\u200E", - EnvMissingEnd: "\u200E\\end{%1}\u200E \u05D7\u05E1\u05E8", - MissingBoxFor: "\u05D7\u05E1\u05E8\u05D4 \u05EA\u05D9\u05D1\u05D4 \u05E2\u05D1\u05D5\u05E8 %1", - MissingCloseBrace: "\u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05D7\u05E1\u05E8", - UndefinedControlSequence: "\u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05DE\u05D5\u05D2\u05D3\u05E8 %1", - DoubleExponent: "\u05DE\u05E2\u05E8\u05D9\u05DA \u05DB\u05E4\u05D5\u05DC: \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05DC\u05D4\u05D1\u05D4\u05E8\u05D4", - DoubleSubscripts: "\u05DB\u05EA\u05D1 \u05EA\u05D7\u05EA\u05D9 \u05DB\u05E4\u05D5\u05DC: \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05DC\u05D4\u05D1\u05D4\u05E8\u05D4", - DoubleExponentPrime: "\u05EA\u05D2 \u05D2\u05D5\u05E8\u05DD \u05DC\u05DE\u05E2\u05E8\u05D9\u05DA \u05DB\u05E4\u05D5\u05DC; \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05DC\u05D4\u05D1\u05D4\u05E8\u05D4", - CantUseHash1: "\u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\"\u05EA\u05D5 \u05DE\u05E7\u05E8\u05D5 \u05E4\u05E8\u05DE\u05D8\u05E8 #\" \u05D1\u05DE\u05E6\u05D1 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4", - MisplacedMiddle: "\u05E2\u05DC \u200E%1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05D9\u05DF \u200E\\left \u05DC\u05BE\u200E\\right", - MisplacedLimits: "\u05DE\u05D5\u05EA\u05E8 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05BE\u200E%1 \u05E8\u05E7 \u05D1\u05D0\u05D5\u05E4\u05E8\u05D8\u05D5\u05E8\u05D9\u05DD", - MisplacedMoveRoot: "\u05E2\u05DC \u200E%1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05EA\u05D5\u05DA \u05E9\u05D5\u05E8\u05E9", - MultipleCommand: "\u05DE\u05E1\u05E4\u05E8 \u05DE\u05E8\u05D5\u05D1\u05D4 \u05E9\u05DC \u200E%1", - IntegerArg: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05E1\u05E4\u05E8 \u05E9\u05DC\u05DD", - NotMathMLToken: "%1 \u05D0\u05D9\u05E0\u05D5 \u05D0\u05DC\u05DE\u05E0\u05D8 token \u05EA\u05E7\u05D9\u05DF", - InvalidMathMLAttr: "\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF MathML \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF: %1", - UnknownAttrForElement: "\u05D4\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF %1 \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05BC\u05DB\u05E8 \u05D1\u05EA\u05D5\u05E8 \u05DE\u05D0\u05E4\u05D9\u05D9\u05DF \u05E9\u05DC %2", - MaxMacroSub1: "\u05DE\u05E1\u05E4\u05E8 \u05E8\u05D1 \u05DE\u05D3\u05D9 \u05E9\u05DC \u05D4\u05D7\u05DC\u05E4\u05D5\u05EA \u05D4\u05DE\u05E7\u05E8\u05D5 \u05D1\u05BEMathJax; \u05D4\u05D0\u05DD \u05D9\u05E9 \u05E7\u05E8\u05D9\u05D0\u05D4 \u05E8\u05E7\u05D5\u05E8\u05E1\u05D9\u05D1\u05D9\u05EA \u05DC\u05DE\u05E7\u05E8\u05D5?", - MaxMacroSub2: "\u05DE\u05E1\u05E4\u05E8 \u05E8\u05D1 \u05DE\u05D3\u05D9 \u05E9\u05DC \u05D4\u05D4\u05D7\u05DC\u05E4\u05D5\u05EA \u05D1\u05BEMathJax; \u05D4\u05D0\u05DD \u05D9\u05E9 \u05E1\u05D1\u05D9\u05D1\u05EA LaTeX \u05E8\u05E7\u05D5\u05E8\u05E1\u05D9\u05D1\u05D9\u05EA?", - MissingArgFor: "\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D7\u05E1\u05E8 \u05E2\u05D1\u05D5\u05E8 \u05C2%1", - ExtraAlignTab: "\u05D8\u05D0\u05D1 \u05D9\u05D9\u05E9\u05D5\u05E8 \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D1\u05D8\u05E7\u05E1\u05D8 \u05D1\u05BE\u200E\\cases", - BracketMustBeDimension: "\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05D1\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DE\u05D3", - InvalidEnv: "\u05E9\u05DD \u05E1\u05D1\u05D9\u05D1\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF '%1'", - UnknownEnv: "\u05E1\u05D1\u05D9\u05D1\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05D9\u05D3\u05D5\u05E2\u05D4 '%1'", - ExtraCloseLooking: "\u05E0\u05DE\u05E6\u05D0 \u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D1\u05E2\u05EA \u05D7\u05D9\u05E4\u05D5\u05E9 \u05D0\u05D7\u05E8 %1", - MissingCloseBracket: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 '\u202A]\u202C' \u05DE\u05E1\u05D9\u05D9\u05DD \u05E2\u05D1\u05D5\u05E8 \u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DC\u05BE\u200E%1", - MissingOrUnrecognizedDelim: "\u05EA\u05D5\u05D7\u05DD \u05D7\u05E1\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05DE\u05D5\u05BC\u05DB\u05E8 \u05E2\u05D1\u05D5\u05E8 \u200E%1", - MissingDimOrUnits: "\u05D7\u05E1\u05E8 \u05DE\u05DE\u05D3 \u05D0\u05D5 \u05D9\u05D7\u05D9\u05D3\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 \u200E%1", - TokenNotFoundForCommand: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 %1 \u05E2\u05D1\u05D5\u05E8 %2", - MathNotTerminated: "\u05E0\u05D5\u05E1\u05D7\u05D4 \u05DE\u05EA\u05DE\u05D8\u05D9\u05EA \u05DC\u05D0 \u05D2\u05DE\u05D5\u05E8\u05D4 \u05D1\u05EA\u05D9\u05D1\u05EA \u05D4\u05D8\u05E7\u05E1\u05D8", - IllegalMacroParam: "\u05D4\u05E4\u05E0\u05D9\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05E0\u05D4 \u05DC\u05E4\u05E8\u05DE\u05D8\u05E8 \u05E9\u05DC \u05DE\u05E7\u05E8\u05D5", - MaxBufferSize: "\u05DE\u05D0\u05D2\u05E8 MathJax \u05E4\u05E0\u05D9\u05DE\u05D9 \u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9; \u05D4\u05D0\u05DD \u05D9\u05E9 \u05DB\u05D0\u05DF \u05E7\u05E8\u05D9\u05D0\u05EA \u05DE\u05E7\u05E8\u05D5 \u05E8\u05E7\u05D5\u05E8\u05E1\u05D9\u05D1\u05D9\u05EA?", - CommandNotAllowedInEnv: "\u200E%1 \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05E8\u05E9\u05D4 \u05D1\u05E1\u05D1\u05D9\u05D1\u05D4 %2", - MultipleLabel: "\u05D4\u05EA\u05D5\u05D5\u05D9\u05EA '%1' \u05DE\u05D5\u05D2\u05D3\u05E8\u05EA \u05DE\u05E1\u05E4\u05E8 \u05E4\u05E2\u05DE\u05D9\u05DD", - CommandAtTheBeginingOfLine: "\u05D4\u05DE\u05E7\u05E8\u05D5 %1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05DB\u05EA\u05D1 \u05D1\u05EA\u05D7\u05D9\u05DC\u05EA \u05D4\u05E9\u05D5\u05E8\u05D4", - IllegalAlign: "\u05D9\u05D9\u05E9\u05D5\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05D4\u05D5\u05D2\u05D3\u05E8 \u05D1\u05BE\u200E%1", - BadMathStyleFor: "\u05E1\u05D2\u05E0\u05D5\u05DF \u05E0\u05D5\u05E1\u05D7\u05D4 \u05D2\u05E8\u05D5\u05E2 \u05E2\u05D1\u05D5\u05E8 \u200E%1", - PositiveIntegerArg: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05E9\u05DC\u05DD \u05D7\u05D9\u05D5\u05D1\u05D9", - ErroneousNestingEq: "\u05E7\u05D9\u05E0\u05D5\u05DF \u05E9\u05D2\u05D5\u05D9 \u05E9\u05DC \u05DE\u05D1\u05E0\u05D9 \u05DE\u05E9\u05D5\u05D5\u05D0\u05D4", - MultlineRowsOneCol: "\u05DC\u05E9\u05D5\u05E8\u05D5\u05EA \u05D1\u05EA\u05D5\u05DA \u05D4\u05E1\u05D1\u05D9\u05D1\u05D4 %1 \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA \u05E8\u05E7 \u05E2\u05DE\u05D5\u05D3\u05D4 \u05D0\u05D7\u05EA", - MultipleBBoxProperty: "\u05D4\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF %1 \u05D4\u05D5\u05D2\u05D3\u05E8 \u05E4\u05E2\u05DE\u05D9\u05D9\u05DD \u05D1\u05BE\u200E%2", - InvalidBBoxProperty: "\u05D4\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF '%1' \u05D0\u05D9\u05E0\u05D5 \u05E0\u05E8\u05D0\u05D4 \u05DB\u05DE\u05D5 \u05E6\u05D1\u05E2, \u05DE\u05DE\u05D3 \u05D3\u05D9\u05E4\u05D5\u05DF \u05D0\u05D5 \u05E1\u05D2\u05E0\u05D5\u05DF", - ExtraEndMissingBegin: "\u05E0\u05DE\u05E6\u05D0 \u200E%1 \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u200E\\begingroup \u05D7\u05E1\u05E8", - GlobalNotFollowedBy: "\u200E%1 \u05E9\u05D0\u05D9\u05DF \u05D0\u05D7\u05E8\u05D9\u05D5 \u200E\\let\u200F, \u200E\\def \u05D0\u05D5 \u200E\\newcommand", - UndefinedColorModel: "\u05D3\u05D2\u05DD \u05D4\u05E6\u05D1\u05E2 '%1' \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05D2\u05D3\u05E8", - ModelArg1: "\u05E2\u05E8\u05DB\u05D9 \u05E6\u05D1\u05E2 \u05E2\u05D1\u05D5\u05E8 \u05D4\u05D3\u05D2\u05DD %1 \u05D3\u05D5\u05E8\u05E9\u05D9\u05DD 3 \u05DE\u05E1\u05E4\u05E8\u05D9\u05DD", - InvalidDecimalNumber: "\u05DE\u05E1\u05E4\u05E8 \u05E2\u05E9\u05E8\u05D5\u05E0\u05D9 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF", - ModelArg2: "\u05E2\u05E8\u05DB\u05D9 \u05E6\u05D1\u05E2 \u05E2\u05D1\u05D5\u05E8 \u05D3\u05D2\u05DD %1 \u05E6\u05E8\u05D9\u05DB\u05D9\u05DD \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05D9\u05DF %2 \u05DC\u05D1\u05D9\u05DF %3", - InvalidNumber: "\u05DE\u05E1\u05E4\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF", - NewextarrowArg1: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D4\u05E8\u05D0\u05E9\u05D5\u05DF \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05E9\u05DD \u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4", - NewextarrowArg2: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D4\u05E9\u05E0\u05D9 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05E9\u05E0\u05D9 \u05DE\u05E1\u05E4\u05E8\u05D9\u05DD \u05E9\u05DC\u05DE\u05D9\u05DD \u05DE\u05D5\u05E4\u05E8\u05D3\u05D9\u05DD \u05D1\u05E4\u05E1\u05D9\u05E7", - NewextarrowArg3: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D4\u05E9\u05DC\u05D9\u05E9\u05D9 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05E1\u05E4\u05E8 \u05EA\u05D5 \u05D9\u05D5\u05E0\u05D9\u05E7\u05D5\u05D3", - NoClosingChar: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 %1 \u05DE\u05E1\u05D9\u05D9\u05DD", - IllegalControlSequenceName: "\u05E9\u05DD \u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05E2\u05D1\u05D5\u05E8 \u200E%1", - IllegalParamNumber: "\u05DE\u05E1\u05E4\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05E9\u05DC \u05E4\u05E8\u05DE\u05D8\u05E8\u05D9\u05DD \u05D4\u05D5\u05D2\u05D3\u05E8 \u05D1\u05BE\u200E%1", - MissingCS: "\u05D0\u05D7\u05E8\u05D9 \u200E%1 \u05D9\u05E9 \u05DC\u05DB\u05EA\u05D5\u05D1 \u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4", - CantUseHash2: "\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05D1\u05BE# \u05D1\u05EA\u05D1\u05E0\u05D9\u05EA \u05E2\u05D1\u05D5\u05E8 %1", - SequentialParam: "\u05D4\u05E4\u05E8\u05DE\u05D8\u05E8\u05D9\u05DD \u05E2\u05D1\u05D5\u05E8 %1 \u05E6\u05E8\u05D9\u05DB\u05D9\u05DD \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DE\u05D5\u05E1\u05E4\u05E8\u05D9\u05DD \u05D1\u05E8\u05E6\u05E3", - MissingReplacementString: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D4\u05D7\u05DC\u05E4\u05D4 \u05D7\u05E1\u05E8\u05D4 \u05E2\u05D1\u05D5\u05E8 \u05D4\u05D4\u05D2\u05D3\u05E8\u05D4 \u05E9\u05DC \u200E%1", - MismatchUseDef: "\u05D4\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1\u05BE\u200E%1 \u05D0\u05D9\u05E0\u05D5 \u05EA\u05D5\u05D0\u05DD \u05DC\u05D4\u05D2\u05D3\u05E8\u05D4 \u05E9\u05DC\u05D5", - RunawayArgument: "\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D1\u05E8\u05D7 \u05DE\u05BE\u200E%1?", - NoClosingDelim: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 \u05EA\u05D5\u05D7\u05DD \u05DE\u05E1\u05D9\u05D9\u05DD \u05E2\u05D1\u05D5\u05E8 \u200E%1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/he/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/he.js b/src/py/kaleido/vendor/mathjax/localization/he/he.js deleted file mode 100644 index 8878647e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/he/he.js +++ /dev/null @@ -1,62 +0,0 @@ -/************************************************************* - * - * MathJax/localization/he/he.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("he",null,{ - menuTitle: "\u05E2\u05D1\u05E8\u05D9\u05EA", - fontDirection: "rtl", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax \u05DE\u05E6\u05D0 \u05E2\u05D5\u05D2\u05D9\u05D9\u05EA \u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05DE\u05E9\u05EA\u05DE\u05E9 \u05E9\u05DB\u05D5\u05DC\u05DC\u05EA \u05E7\u05D5\u05D3 \u05DC\u05D4\u05E8\u05E6\u05D4. \u05D4\u05D0\u05DD \u05DC\u05D4\u05E8\u05D9\u05E5 \u05D0\u05D5\u05EA\u05D5?\n\n(\u05D9\u05E9 \u05DC\u05DC\u05D7\u05D5\u05E5 \"\u05D1\u05D9\u05D8\u05D5\u05DC\" \u05D0\u05DC\u05D0 \u05D0\u05DD \u05D4\u05D2\u05D3\u05E8\u05EA \u05D0\u05EA \u05D4\u05E2\u05D5\u05D2\u05D9\u05D9\u05D4 \u05D1\u05E2\u05E6\u05DE\u05DA.)", - MathProcessingError: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E2\u05D9\u05D1\u05D5\u05D3 \u05E0\u05D5\u05E1\u05D7\u05D4", - MathError: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E0\u05D5\u05E1\u05D7\u05D4", - LoadFile: "\u05D8\u05E2\u05D9\u05E0\u05EA %1", - Loading: "\u05D8\u05E2\u05D9\u05E0\u05D4", - LoadFailed: "\u05D4\u05E7\u05D5\u05D1\u05E5 \u05DC\u05D0 \u05E0\u05D8\u05E2\u05DF: %1", - ProcessMath: "\u05E2\u05D9\u05D1\u05D5\u05D3 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA: %1%%", - Processing: "\u05E2\u05D9\u05D1\u05D5\u05D3", - TypesetMath: "\u05E1\u05D3\u05B7\u05E8 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA: %1%%", - Typesetting: "\u05E1\u05D3\u05B7\u05E8", - MathJaxNotSupported: "\u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D0\u05D9\u05E0\u05D5 \u05EA\u05D5\u05DE\u05DA \u05D1\u05BEMathJax", - ErrorTips: "\u05E2\u05E6\u05D5\u05EA \u05DC\u05EA\u05D9\u05E7\u05D5\u05DF \u05E9\u05D2\u05D9\u05D0\u05D5\u05EA: \u05D4\u05E9\u05EA\u05DE\u05E9\u05D5 \u05D1\u05BE%%1, \u05D1\u05D3\u05E7\u05D5 \u05D0\u05EA %%2 \u05D1\u05DE\u05E1\u05D5\u05E3 \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - if (n === 2) {return 2} // two - if (n !== 0 && n % 10 !== 0) {return 3} // many - return 4; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/he/he.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ia/FontWarnings.js deleted file mode 100644 index 9f80c16e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ia/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ia/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ia","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax utilisa typos de litteras discargate del web pro presentar le formulas mathematic in iste pagina. Istes require tempore pro esser discargate; le pagina apparerea plus rapidemente si vos installa le typos de characteres mathematic directemente in le dossier de typos de litteras de vostre computator.", - imageFonts: "MathJax presenta le characteres mathematic per medio de imagines e non usa typos de litteras web o local. Isto rende le presentation plus lente e vostre impressor pote imprimer le formulas a un resolution basse.", - noFonts: "MathJax non ha potite localisar un typo de litteras pro presentar su formulas mathematic, e le characteres in imagines non es disponibile, dunque illo debe usar le characteres Unicode generic in le sperantia que vostre navigator sape monstrar los correctemente. Alcun characteres pote apparer de modo erronee o esser absente.", - webFonts: "Le major parte del navigatores moderne permitte le discargamento de typos de litteras per le web. Si vos actualisa le version de vostre navigator (o cambia de navigator) le qualitate graphic del formulas mathematic in iste pagina poterea meliorar se.", - fonts: "MathJax pote usar le [typos de litteras STIX](%1) o le [typos de litteras TeX de MathJax](%2). Discarga e installa un de istes pro meliorar vostre expreientia de MathJax.", - STIXPage: "Iste pagina ha essite concipite pro usar le [typos de litteras STIX](%1). Discarga e installa istes pro meliorar vostre experientia con MathJax.", - TeXPage: "Iste pagina ha essite concipite pro usar le [typos de litteras TeX de MathJax](%1). Discarga e installa istes pro meliorar vostre experientia con MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ia/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ia/HTML-CSS.js deleted file mode 100644 index ef42bbec..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ia/HTML-CSS.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ia/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ia","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ia/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ia/HelpDialog.js deleted file mode 100644 index f287ac02..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ia/HelpDialog.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ia/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ia","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Adjuta de MathJax", - MathJax: "*MathJax* es un bibliotheca in JavaScript que permitte al autores includer formulas mathematic in lor paginas web. Nulle action del lector es necessari pro facer isto functionar.", - Browsers: "*Navigatores*: MathJax functiona con tote le navigatores web moderne como IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e le major parte del navigatores in apparatos mobile.", - Menu: "*Menu mathematic*: MathJax adde un menu contextual al equationes. Pro acceder a iste menu, clicca sur un formula premente le button dextre del mus o le clave CTRL.", - ShowMath: "*Monstrar formula como* permitte revelar le codice-fonte del formula pro copiar e collar (in formato MathML or in su formato original).", - Settings: "*Configuration* te da le controlo sur le functionalitate de MathJax, como le dimension del formulas, e le mechanismo usate pro presentar equationes.", - Language: "*Lingua* permitte seliger le lingua usate per MathJax pro su menus e messages de aviso.", - Zoom: "*Math Zoom*: Si vos ha difficultate a leger un equation, MathJax pote aggrandir lo pro facilitar le lectura.", - Accessibilty: "*Accessibilitate*: MathJax functiona automaticamente con lectores de schermo pro render le formulas accessibile al personas qui vide mal.", - Fonts: "*Typos de litteras*: MathJax usa certe typos de litteras mathematic si illos es installate in vostre computator; si non, illo usa typos de litteras obtenite per le web. Ben que non obligatori, le typos de litteras installate localmente rendera le composition plus rapide. Nos suggere installar le [typos de litteras STIX](%1)." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ia/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ia/MathML.js deleted file mode 100644 index 3c6a5e5a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ia/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ia/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ia","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ia/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ia/MathMenu.js deleted file mode 100644 index 8a9764d4..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ia/MathMenu.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ia/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ia","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ia/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ia/TeX.js deleted file mode 100644 index 072f4b43..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ia/TeX.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ia/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ia","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ia/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/ia.js b/src/py/kaleido/vendor/mathjax/localization/ia/ia.js deleted file mode 100644 index 36763c96..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ia/ia.js +++ /dev/null @@ -1,58 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ia/ia.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ia",null,{ - menuTitle: "interlingua", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax ha trovate un cookie con un configuration de usator que include codice executabile. Executar iste codice?\n\n(Preme Cancellar si vos mesme non ha installate iste cookie.)", - MathProcessingError: "Error de tractamento de formula mathematic", - MathError: "Error in formula", - LoadFile: "Carga %1", - Loading: "Cargamento", - LoadFailed: "Cargamento del file fallite: %1", - ProcessMath: "Tracta formulas: %1%%", - Processing: "Tractamento", - TypesetMath: "Compone formulas: %1%%", - Typesetting: "Composition", - MathJaxNotSupported: "Vostre navigator non supporta MathJax" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ia/ia.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/it/FontWarnings.js deleted file mode 100644 index 0c406620..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/it/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/it/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("it","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax sta usando dei web font per visualizzare le formule di questa pagina. Tali font richiedono tempo per essere scaricati, perci\u00F2 la pagina sarebbe resa pi\u00F9 velocemente se tu installassi dei font matematici direttamente nella cartella dei font di sistema.", - imageFonts: "MathJax sta usando dei font immagine invece di quelli locali o dei web font. Questo rallenta la resa oltremodo e le formule potrebbero non essere stampate alla massima risoluzione dalla tua stampante.", - noFonts: "MathJax non \u00E8 in grado di trovare un font adatto a visualizzare le formule e i font immagini non sono disponibili; perci\u00F2 utilizzer\u00E1 dei generici caratteri unicode sperando che il tuo browser sia in grado di visualizzarli. Alcuni caratteri potrebbero non essere mostrati correttamente o mancare del tutto.", - webFonts: "I browser attuali permettono di scaricare i font dal web. Aggiornando il tuo browser a una versione pi\u00F9 recente (o cambiando del tutto browser) la qualit\u00E1 delle formule di questa pagina potrebbe migliorare.", - fonts: "MathJax pu\u00F2 usare sia gli [STIX font](%1) che i [MathJax TeX font](%2). Scarica e installa uno di questi font per avere una resa migliore da MathJax.", - STIXPage: "Questa pagina richiede l'uso degli [STIX font](%1). Scarica e installa i suddetti font per avere una resa migliore da MathJax.", - TeXPage: "Questa pagina richiede l'uso dei [MathJax TeX font](%1). Scarica e installa i suddetti font per avere una resa migliore da MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/it/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/it/HTML-CSS.js deleted file mode 100644 index 178d4a9c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/it/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/it/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("it","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Caricamento web-font %1", - CantLoadWebFont: "Impossibile caricare il web font %1", - FirefoxCantLoadWebFont: "Firefox non pu\u00F2 scaricare i web font dal server remoto", - CantFindFontUsing: "Impossibile trovare un font valido tra %1", - WebFontsNotAvailable: "Web font non disponibili -- font immagini in uso" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/it/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/it/HelpDialog.js deleted file mode 100644 index b0c1c9dc..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/it/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/it/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("it","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Aiuto su MathJax", - MathJax: "*MathJax* \u00E8 una libreria JavaScript che permette agli autori di includere formule matematiche nelle loro pagine web. Come lettore, non devi far nulla perch\u00E9 questo accada.", - Browsers: "*Browser*: MathJax funziona con tutti i moderni browser inclusi IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e gran parte di quelli per cellulare.", - Menu: "*Menu Formule*: MathJax aggiunge un menu contestuale alle equazioni. Fai click col tasto destro del mouse oppure CTRL-click su una qualsiasi formula per accedere a tale menu.", - ShowMath: "*Mostra formula come* ti permette di visualizzare il codice sorgente per il copia e incolla (in formato MathML o in quello originale).", - Settings: "*Impostazioni* permette di controllare le caratteristiche di MathJax, come la grandezza delle formule e il meccanismo usato per mostrare le equazioni.", - Language: "*Lingua* ti permette di selezionare la lingua usata da MathJax nei propri menu e nei messaggi d'avviso.", - Zoom: "*Zoom formula*: se hai difficolt\u00E1 nella lettura di un'equazione, MathJax pu\u00F2 ingrandirla per permetterti di vederla meglio.", - Accessibilty: "*Accessibilit\u00E1*: MathJax funzioner\u00E1 automaticamente con gli screen reader per rendere le formule accessibili a chi ha problemi di vista.", - Fonts: "*Font*: MathJax user\u00E1 certi tipi di font se presenti sul tuo computer; altrimenti usera i web font. Sebbene non sia richiesto, font installati sul proprio computer velocizzeranno l'esecuzione di MathJax. Ti suggeriamo di installare se puoi gli [STIX font](%1).", - CloseDialog: "Chiudi finestra di aiuto" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/it/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/MathML.js b/src/py/kaleido/vendor/mathjax/localization/it/MathML.js deleted file mode 100644 index cc18aff9..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/it/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/it/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("it","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "mglyph errato: %1", - BadMglyphFont: "Font errato: %1", - MathPlayer: "MathJax non \u00E8 stato in grado di avviare MathPlayer.\n\nSe MathPlayer non \u00E8 installato, devi prima installarlo.\nPu\u00F2 darsi anche che le tue impostazioni di sicurezza stiano impedendo\nl'esecuzione dei controlli ActiveX. Controlla la voce Opzioni Internet\ndel menu Strumenti e seleziona il pannello Protezione, quindi premi\nil pulsante 'Livello personalizzato...'. Verifica che siano abilitati\n'Esegui controlli ActiveX e plug-in' e 'Comportamento file binari e script'\n\nOra come ora vedrai dei messaggi d'errore al posto delle formule.", - CantCreateXMLParser: "MathJax non \u00E8 in grado di creare un parser XML per MathML. Verifica che\nl'impostazione 'Esegui script controlli ActiveX contrassegnati come sicuri'\nsia abilitata (usa la voce Opzioni Internet nel menu Strumenti,\ne seleziona il pannello Sicurezza, quindi premi il pulsante\n'Livello personalizzato...' per far questo).\n\nLe equazioni in MathML non potranno essere elaborate da MathJax.", - UnknownNodeType: "Tipo di nodo sconosciuto: %1", - UnexpectedTextNode: "Nodo di testo non previsto: %1", - ErrorParsingMathML: "Errore nell'analisi di MathML", - ParsingError: "Errore nell'analisi di MathML: %1", - MathMLSingleElement: "MathML deve essere formato da un singolo elemento", - MathMLRootElement: "MathML deve essere formato da un elemento \u003Cmath\u003E, non %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/it/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/it/MathMenu.js deleted file mode 100644 index 3d27878a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/it/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/it/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("it","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Mostra formula come", - MathMLcode: "Codice MathML", - OriginalMathML: "MathML originale", - TeXCommands: "Comandi TeX", - AsciiMathInput: "Input AsciiMathML", - Original: "Modulo originale", - ErrorMessage: "Messaggio d'errore", - Annotation: "Annotation", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Content MathML", - OpenMath: "OpenMath", - texHints: "Aggiungi suggerimenti Tex a MathML", - Settings: "Impostazioni formule", - ZoomTrigger: "Attivazione zoom", - Hover: "Sopra", - Click: "Click", - DoubleClick: "Doppio-Click", - NoZoom: "Niente zoom", - TriggerRequires: "L'attivazione richiede:", - Option: "Option", - Alt: "Alt", - Command: "Command", - Control: "Control", - Shift: "Shift", - ZoomFactor: "Fattore di zoom", - Renderer: "Processore per le formule", - MPHandles: "Affida a MathPlayer", - MenuEvents: "Eventi menu", - MouseEvents: "Eventi mouse", - MenuAndMouse: "Eventi mouse e menu", - FontPrefs: "Preferenze font", - ForHTMLCSS: "Per HTML-CSS:", - Auto: "Auto", - TeXLocal: "TeX (locale)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (immagini)", - STIXLocal: "STIX (locale)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Menu contestuale", - Browser: "Browser", - Scale: "Scala tutte le formule...", - Discoverable: "Evidenzia al passaggio", - Locale: "Lingua", - LoadLocale: "Scarica dall'URL ...", - About: "Informazioni su MathJax", - Help: "Aiuto di MathJax", - localTeXfonts: "usare font TeX locale", - webTeXfonts: "usare font Tex dal web", - imagefonts: "usare font immagine", - localSTIXfonts: "usare font STIX locale", - webSVGfonts: "usare font SVG dal web", - genericfonts: "usare generici font unicode", - wofforotffonts: "font woff oppure otf", - eotffonts: "font eot", - svgfonts: "font svg", - WebkitNativeMMLWarning: "Il tuo browser non sembra supportare MathML nativamente, perci\u00F2 il passaggio ora all'output MathML potrebbe rendere illegibili le formule della pagina.", - MSIENativeMMLWarning: "Internet Explorer richiede il plugin MathPlayer per processare output MathML.", - OperaNativeMMLWarning: "Il supporto di Opera a MathML \u00E8 limitato, perci\u00F2 passando ora all'output MathML potrebbe succedere che alcune espressioni siano rese in modo scadente.", - SafariNativeMMLWarning: "L'implementazione di MathML del tuo browser non comprende tutte le caratteristiche usate da MathJax, perci\u00F2 alcune espressioni potrebbero non essere visualizzate perfettamente.", - FirefoxNativeMMLWarning: "L'implementazione di MathML del tuo browser non comprende tutte le caratteristiche usate da MathJax, perci\u00F2 alcune espressioni potrebbero non essere visualizzate perfettamente.", - MSIESVGWarning: "SVG non \u00E8 implementato nelle versioni precedenti IE9 oppure quando si sta emulando IE8 o precedenti. Passando all'output SVG le formule non saranno visualizzate correttamente.", - LoadURL: "Scaricamento traduzione da questo indirizzo:", - BadURL: "L'indirizzo dovrebbe puntare a un file Javascript con una traduzione di MathJax. I nomi di file Javascript dovrebbero avere estensione '.js'", - BadData: "Impossibile scaricare la traduzione da %1", - SwitchAnyway: "Passare comunque a questo interprete?\n\n(Premi OK per cambiare, ANNULLA per continuare con la modalit\u00E1 corrente", - ScaleMath: "Scala tutte le formule (comparate al testo circostante) del", - NonZeroScale: "Il fattore di scala non deve essere zero", - PercentScale: "Il fattore di scala deve essere in percentuale (es. 120%%)", - IE8warning: "Questo disabiliter\u00E1 il menu di MathJax e la possibilit\u00E1 di zoom, puoi per\u00F2 accedere lo stesso al menu con Alt-Click su una formula.\n\nCambiare davvero le impostazioni di MathPlayer?", - IE9warning: "Il menu contestuale di MathJax verr\u00E1 disabilitato, ma puoi sempre premere Alt-Click sopra una formula per accedervi comunque.", - NoOriginalForm: "Modulo originale non disponibile", - Close: "Chiudi", - EqSource: "Codice sorgente formula MathJax", - CloseAboutDialog: "Chiudi finestra di informazioni su MathJax", - FastPreview: "Anteprima veloce", - AssistiveMML: "MathML ausiliario", - InTabOrder: "Includi nell'ordine di tabulazione" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/it/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/TeX.js b/src/py/kaleido/vendor/mathjax/localization/it/TeX.js deleted file mode 100644 index 7b7eba7e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/it/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/it/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("it","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Graffa d'apertura in pi\u00F9 o di chiusura mancante", - ExtraCloseMissingOpen: "Graffa di chiusura in pi\u00F9 o d'apertura mancante", - MissingLeftExtraRight: "Comando \\left mancante oppure \\right extra", - MissingScript: "Argomento per l'esponente o per l'indice mancante", - ExtraLeftMissingRight: "Comando \\left extra oppure \\right mancante", - Misplaced: "%1 mal posizionato", - MissingOpenForSub: "Graffa d'apertura per l'indice mancante", - MissingOpenForSup: "Graffa d'apertura per l'esponente mancante", - AmbiguousUseOf: "Uso ambiguo di %1", - EnvBadEnd: "\\begin{%1} terminato con \\end{%2}", - EnvMissingEnd: "\\end{%1} mancante", - MissingBoxFor: "Box per %1 mancante", - MissingCloseBrace: "Graffa di chiusura mancante", - UndefinedControlSequence: "Sequenza di controllo %1 indefinita", - DoubleExponent: "Esponente doppio: usa le parentesi per distinguerli", - DoubleSubscripts: "Doppio indice: usa le parentesi per distinguerli", - DoubleExponentPrime: "Simbolo di primo visto come secondo esponente: usa le parentesi per chiarire", - CantUseHash1: "Non puoi usare il carattere # come parametro delle macro in modalit\u00E1 matematica", - MisplacedMiddle: "%1 deve trovarsi tra \\left e \\right", - MisplacedLimits: "%1 \u00E8 consentito solo con operatori", - MisplacedMoveRoot: "%1 pu\u00F2 appare solo sotto radice", - MultipleCommand: "%1 multipli", - IntegerArg: "L'argomento di %1 deve essere un intero", - NotMathMLToken: "%1 non \u00E8 un token", - InvalidMathMLAttr: "Attributo MathML non valido: %1", - UnknownAttrForElement: "%1 non \u00E8 un attributo riconosciuto per %2", - MaxMacroSub1: "Numero massimo per le sostituzioni di macro superato da MathJax; forse una chiamata di macro ricorsiva?", - MaxMacroSub2: "Numero massimo per le sostituzioni superato da MathJax; forse un'ambiente LaTeX ricorsivo?", - MissingArgFor: "Argomento di %1 mancante", - ExtraAlignTab: "Tabulazione d'allineamento extra nel testo di \\cases", - BracketMustBeDimension: "L'argomento tra parentesi per %1 deve essere una dimensione", - InvalidEnv: "Nome d'ambiente non valido '%1'", - UnknownEnv: "Ambiente sconosciuto '%1'", - ExtraCloseLooking: "Graffa di chiusura extra durante la ricerca di %1", - MissingCloseBracket: "Parentesi ] per l'argomento di %1 non trovata", - MissingOrUnrecognizedDelim: "Delimitatore per %1 mancante o non riconosciuto", - MissingDimOrUnits: "Dimensione o sue unit\u00E1 mancanti per %1", - TokenNotFoundForCommand: "Impossibile trovare %1 per %2", - MathNotTerminated: "Formula non terminata in box di testo", - IllegalMacroParam: "Riferimento a un parametro di macro illegale", - MaxBufferSize: "Dimensione del buffer interno di MathJax superato; chiamata di macro ricorsiva?", - CommandNotAllowedInEnv: "%1 non \u00E8 consentito nell'ambiente %2", - MultipleLabel: "Etichetta '%1' definita pi\u00F9 volte", - CommandAtTheBeginingOfLine: "%1 deve trovarsi all'inizio della riga", - IllegalAlign: "Allineamento specificato in %1 illegale", - BadMathStyleFor: "Stile math inadatto a %1", - PositiveIntegerArg: "L'argomento di %1 deve essere un intero positivo", - ErroneousNestingEq: "Annidamento di strutture di equazioni errato", - MultlineRowsOneCol: "Le righe nell'ambiente %1 devono avere esattamente una colonna", - MultipleBBoxProperty: "%1 specificato due volte in %2", - InvalidBBoxProperty: "'%1' non sembra un colore, una spaziatura o uno stile", - ExtraEndMissingBegin: "%1 extra oppure \\begingroup mancante", - GlobalNotFollowedBy: "%1 non seguito da \\let, \\def o \\newcommand", - UndefinedColorModel: "Modello colore '%1' non definito", - ModelArg1: "I valori di colore per il modello %1 richiedono tre numeri", - InvalidDecimalNumber: "Numero decimale non valido", - ModelArg2: "I valori di colore per il modello %1 devono essere compresi tra %2 e %3", - InvalidNumber: "Numero non valido", - NewextarrowArg1: "Il primo argomento di %1 deve essere il nome di una sequenza di controllo", - NewextarrowArg2: "Il secondo argomento di %1 devono essere due numeri separati da una virgola", - NewextarrowArg3: "Il terzo argomento di %1 deve essere un codice di un carattere unicode", - NoClosingChar: "Impossibile trovare la parentesi di chiusura %1", - IllegalControlSequenceName: "Nome sequenza di controllo illegale per %1", - IllegalParamNumber: "Numero di parametri specificato in %1 illegale", - MissingCS: "%1 deve essere seguito da una sequenza di controllo", - CantUseHash2: "Uso di # non consentito nel modello di %1", - SequentialParam: "I parametri per %1 devono essere numerati consecutivamente", - MissingReplacementString: "Stringa di sostituzione per la definizione di %1 mancante", - MismatchUseDef: "L'uso di %1 non combacia con la sua definizione", - RunawayArgument: "Perso un argomento per %1?", - NoClosingDelim: "Impossibile trovare delimitatore di chiusura per %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/it/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/it.js b/src/py/kaleido/vendor/mathjax/localization/it/it.js deleted file mode 100644 index 988b9939..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/it/it.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/it/it.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("it",null,{ - menuTitle: "italiano", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax ha trovato un cookie di configurazione utente che include del codice eseguibile. Vuoi eseguirlo?\n\n(Premi Annulla a meno che non l'abbia effettivamente impostato tu.)", - MathProcessingError: "Errore elaborazione della formula", - MathError: "Errore nella formula", - LoadFile: "Caricamento %1", - Loading: "Caricamento", - LoadFailed: "Caricamento del file fallito: %1", - ProcessMath: "Elaborazione formula: %1%%", - Processing: "Elaborazione in corso", - TypesetMath: "Composizione della formula: %1%%", - Typesetting: "Composizione", - MathJaxNotSupported: "Il tuo browser non supporta MathJax", - ErrorTips: "Suggerimenti per il debug: utilizza %%1, ispeziona %%2 nella console del browser" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/it/it.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ja/FontWarnings.js deleted file mode 100644 index 1c1d612a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ja/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ja/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ja","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax \u306F\u3053\u306E\u30DA\u30FC\u30B8\u3067\u3001\u6570\u5F0F\u3092\u8868\u793A\u3059\u308B\u305F\u3081\u306B\u30A6\u30A7\u30D6 \u30D9\u30FC\u30B9\u306E\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002\u30D5\u30A9\u30F3\u30C8\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u306B\u6642\u9593\u304C\u304B\u304B\u308B\u305F\u3081\u3001\u3042\u306A\u305F\u306E\u30B7\u30B9\u30C6\u30E0\u306E\u30D5\u30A9\u30F3\u30C8 \u30D5\u30A9\u30EB\u30C0\u30FC\u306B\u6570\u5F0F\u30D5\u30A9\u30F3\u30C8\u3092\u76F4\u63A5\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u3053\u3068\u3067\u30DA\u30FC\u30B8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u304C\u3088\u308A\u901F\u304F\u306A\u308A\u307E\u3059\u3002", - imageFonts: "MathJax \u306F\u30ED\u30FC\u30AB\u30EB \u30D5\u30A9\u30F3\u30C8\u3084 Web \u30D5\u30A9\u30F3\u30C8\u3067\u306F\u306A\u304F\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002\u63CF\u753B\u304C\u901A\u5E38\u3088\u308A\u9045\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u3001\u30D7\u30EA\u30F3\u30BF\u30FC\u3067\u306E\u9AD8\u89E3\u50CF\u5EA6\u306E\u5370\u5237\u306B\u5411\u304B\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", - noFonts: "MathJax \u304C\u6570\u5F0F\u306E\u8868\u793A\u306B\u4F7F\u7528\u3059\u308B\u30D5\u30A9\u30F3\u30C8\u3092\u898B\u3064\u3051\u3089\u308C\u305A\u3001\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3082\u5229\u7528\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u4EE3\u308F\u308A\u306B\u6C4E\u7528\u306E Unicode \u6587\u5B57\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u304C\u8868\u793A\u3067\u304D\u308B\u3082\u306E\u3068\u671F\u5F85\u3057\u3066\u3044\u307E\u3059\u304C\u3001\u4E00\u90E8\u306E\u6587\u5B57\u304C\u9069\u5207\u306B\u8868\u793A\u3055\u308C\u306A\u3044\u3001\u307E\u305F\u306F\u5168\u304F\u8868\u793A\u3055\u308C\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", - webFonts: "\u591A\u304F\u306E\u30A6\u30A7\u30D6 \u30D6\u30E9\u30A6\u30B6\u30FC\u306F\u30A6\u30A7\u30D6\u304B\u3089\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3067\u304D\u307E\u3059\u3002\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u3092\u3088\u308A\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u66F4\u65B0\u3059\u308B (\u307E\u305F\u306F\u5225\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306B\u5909\u66F4\u3059\u308B) \u3053\u3068\u3067\u3001\u3053\u306E\u30DA\u30FC\u30B8\u306E\u6570\u5F0F\u306E\u54C1\u8CEA\u304C\u5411\u4E0A\u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002", - fonts: "MathJax \u3067\u306F [STIX \u30D5\u30A9\u30F3\u30C8](%1)\u3084 [MathJax Tex \u30D5\u30A9\u30F3\u30C8](%2)\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002MathJax \u4F53\u9A13\u3092\u6539\u5584\u3059\u308B\u305F\u3081\u306B\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304A\u3088\u3073\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002", - STIXPage: "\u3053\u306E\u30DA\u30FC\u30B8\u306F [STIX \u30D5\u30A9\u30F3\u30C8](%1)\u3092\u4F7F\u7528\u3059\u308B\u3088\u3046\u306B\u8A2D\u8A08\u3055\u308C\u3066\u3044\u307E\u3059\u3002MathJax \u4F53\u9A13\u3092\u6539\u5584\u3059\u308B\u305F\u3081\u306B\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304A\u3088\u3073\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002", - TeXPage: "\u3053\u306E\u30DA\u30FC\u30B8\u306F [MathJax TeX \u30D5\u30A9\u30F3\u30C8](%1)\u3092\u4F7F\u7528\u3059\u308B\u3088\u3046\u306B\u8A2D\u8A08\u3055\u308C\u3066\u3044\u307E\u3059\u3002MathJax \u4F53\u9A13\u3092\u6539\u5584\u3059\u308B\u305F\u3081\u306B\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304A\u3088\u3073\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ja/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ja/HTML-CSS.js deleted file mode 100644 index 2c0acf23..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ja/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ja/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ja","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Web \u30D5\u30A9\u30F3\u30C8 %1 \u3092\u8AAD\u307F\u8FBC\u307F\u4E2D", - CantLoadWebFont: "Web \u30D5\u30A9\u30F3\u30C8 %1 \u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093", - FirefoxCantLoadWebFont: "Firefox \u306F\u3001\u30EA\u30E2\u30FC\u30C8 \u30DB\u30B9\u30C8\u306E Web \u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093", - CantFindFontUsing: "%1 \u3067\u6709\u52B9\u306A\u30D5\u30A9\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093", - WebFontsNotAvailable: "Web \u30D5\u30A9\u30F3\u30C8\u3092\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u4EE3\u308F\u308A\u306B\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u307E\u3059" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ja/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ja/HelpDialog.js deleted file mode 100644 index e1d8871d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ja/HelpDialog.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ja/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ja","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax \u30D8\u30EB\u30D7", - MathJax: "*MathJax* \u306F\u30A6\u30A7\u30D6 \u30DA\u30FC\u30B8\u306E\u88FD\u4F5C\u8005\u304C\u30DA\u30FC\u30B8\u306B\u6570\u5F0F\u3092\u57CB\u3081\u8FBC\u3081\u308B\u3088\u3046\u306B\u3059\u308B JavaScript \u30E9\u30A4\u30D6\u30E9\u30EA\u3067\u3059\u3002\u95B2\u89A7\u8005\u5074\u3067\u306F\u6570\u5F0F\u3092\u95B2\u89A7\u3059\u308B\u306E\u306B\u4F55\u3082\u5FC5\u8981\u3068\u3057\u307E\u305B\u3093\u3002", - Browsers: "*\u30D6\u30E9\u30A6\u30B6\u30FC*: MathJax \u306F\u3001IE6 \u4EE5\u964D\u3001Chrome 0.2 \u4EE5\u964D\u3001Safari 2 \u4EE5\u964D\u3001Opera 9.6 \u4EE5\u964D\u3001\u307B\u3068\u3093\u3069\u306E\u30E2\u30D0\u30A4\u30EB \u30D6\u30E9\u30A6\u30B6\u30FC\u3092\u542B\u3080\u3001\u30E2\u30C0\u30F3 \u30D6\u30E9\u30A6\u30B6\u30FC\u3067\u52D5\u4F5C\u3057\u307E\u3059\u3002", - Menu: "*\u6570\u5F0F\u30E1\u30CB\u30E5\u30FC*: MathJax \u306F\u6570\u5F0F\u306B\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \u30E1\u30CB\u30E5\u30FC\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\u4EFB\u610F\u306E\u6570\u5F0F\u3092\u53F3\u30AF\u30EA\u30C3\u30AF\u307E\u305F\u306F Ctrl+\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u30E1\u30CB\u30E5\u30FC\u304C\u958B\u304D\u307E\u3059\u3002", - ShowMath: "*\u6570\u5F0F\u3092\u8868\u793A*\u3067\u306F\u3001\u6570\u5F0F\u306E\u30BD\u30FC\u30B9 \u30DE\u30FC\u30AF\u30A2\u30C3\u30D7\u3092\u8868\u793A\u3057\u3066\u30B3\u30D4\u30FC \u0026 \u30DA\u30FC\u30B9\u30C8\u3067\u304D\u307E\u3059 (MathML \u3084\u5143\u306E\u5F62\u5F0F\u3067)\u3002", - Settings: "*\u8A2D\u5B9A*\u3067\u306F\u3001MathJax \u306E\u6A5F\u80FD\u3092\u5236\u5FA1\u3067\u304D\u307E\u3059\u3002\u6570\u5F0F\u306E\u30B5\u30A4\u30BA\u3001\u6570\u5F0F\u306E\u8868\u793A\u306B\u4F7F\u7528\u3059\u308B\u30E1\u30AB\u30CB\u30BA\u30E0\u306A\u3069\u3002", - Language: "*\u8A00\u8A9E*\u3067\u306F\u3001MathJax \u304C\u30E1\u30CB\u30E5\u30FC\u3084\u8B66\u544A\u30E1\u30C3\u30BB\u30FC\u30B8\u306B\u4F7F\u7528\u3059\u308B\u8A00\u8A9E\u3092\u9078\u629E\u3067\u304D\u307E\u3059\u3002", - Zoom: "*\u6570\u5F0F\u306E\u30BA\u30FC\u30E0*: \u6570\u5F0F\u3092\u8AAD\u307F\u53D6\u308B\u306E\u304C\u56F0\u96E3\u306A\u5834\u5408\u306F\u3001MathJax \u304C\u62E1\u5927\u3057\u3066\u8AAD\u307F\u3084\u3059\u304F\u3067\u304D\u307E\u3059\u3002", - Accessibilty: "*\u30A2\u30AF\u30BB\u30B7\u30D3\u30EA\u30C6\u30A3*: MathJax \u306F\u81EA\u52D5\u7684\u306B\u30C6\u30AD\u30B9\u30C8 \u30EA\u30FC\u30C0\u30FC\u3067\u6570\u5F0F\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u308B\u3088\u3046\u306B\u3057\u307E\u3059 (\u8996\u899A\u969C\u5BB3\u8005\u5411\u3051)\u3002", - Fonts: "*\u30D5\u30A9\u30F3\u30C8*: MathJax \u306F\u3001\u7279\u5B9A\u306E\u6570\u5F0F\u30D5\u30A9\u30F3\u30C8\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u305D\u308C\u3092\u4F7F\u7528\u3057\u3001\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u306F Web \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u5FC5\u9808\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30ED\u30FC\u30AB\u30EB\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u3053\u3068\u3067\u7D44\u7248\u304C\u9AD8\u901F\u5316\u3055\u308C\u307E\u3059\u3002[STIX \u30D5\u30A9\u30F3\u30C8](%1)\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u3053\u3068\u3092\u304A\u52E7\u3081\u3057\u307E\u3059\u3002" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ja/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ja/MathML.js deleted file mode 100644 index 28b4aeb5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ja/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ja/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ja","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "\u8AA4\u3063\u305F mglyph: %1", - BadMglyphFont: "\u8AA4\u3063\u305F\u30D5\u30A9\u30F3\u30C8: %1", - MathPlayer: "MathJax \u306F MathPlayer \u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n\nMathPlayer \u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u3044\u306A\u3044\u5834\u5408\u306F\u3001\n\u307E\u305A\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u8A2D\u5B9A\u3067 ActiveX\n\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u306E\u5B9F\u884C\u3092\u62D2\u5426\u3057\u3066\u3044\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\n[\u30C4\u30FC\u30EB] \u30E1\u30CB\u30E5\u30FC\u306E [\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8 \u30AA\u30D7\u30B7\u30E7\u30F3] \u3067\u3001\n[\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3] \u30BF\u30D6\u306E [\u30EC\u30D9\u30EB\u306E\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA] \u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n[Active \u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u306E\u5B9F\u884C] \u3068 [\u30D0\u30A4\u30CA\u30EA \u30D3\u30D8\u30A4\u30D3\u30A2\u30FC\u3068\u30B9\u30AF\u30EA\u30D7\u30C8\n\u30D3\u30D8\u30A4\u30D3\u30A2\u30FC] \u304C\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\n\u73FE\u6642\u70B9\u3067\u306F\u3001\u6570\u5F0F\u304C\u7D44\u7248\u3055\u308C\u305A\u3001\u30A8\u30E9\u30FC \u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002", - CantCreateXMLParser: "MathJax \u306F MathML \u7528\u306E XML \u30D1\u30FC\u30B5\u30FC\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n\u300C\u30B9\u30AF\u30EA\u30D7\u30C8\u3092\u5B9F\u884C\u3057\u3066\u3082\u5B89\u5168\u3060\u3068\u30DE\u30FC\u30AF\u3055\u308C\u3066\u3044\u308B ActiveX\n\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u306E\u30B9\u30AF\u30EA\u30D7\u30C8\u306E\u5B9F\u884C\u300D\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u308B\u304B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\n([\u30C4\u30FC\u30EB] \u30E1\u30CB\u30E5\u30FC\u306E [\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8 \u30AA\u30D7\u30B7\u30E7\u30F3] \u3092\u9078\u629E\u3057\u3001\n[\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3] \u30BF\u30D6\u306E [\u30EC\u30D9\u30EB\u306E\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA] \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059)\u3002\n\nMathML \u306E\u6570\u5F0F\u3092 MathML \u304C\u51E6\u7406\u3067\u304D\u306A\u304F\u306A\u308A\u307E\u3059\u3002", - UnknownNodeType: "\u4E0D\u660E\u306A\u7A2E\u985E\u306E\u30CE\u30FC\u30C9: %1", - UnexpectedTextNode: "\u4E88\u671F\u3057\u306A\u3044\u30C6\u30AD\u30B9\u30C8 \u30CE\u30FC\u30C9: %1", - ErrorParsingMathML: "MathML \u306E\u69CB\u6587\u89E3\u6790\u30A8\u30E9\u30FC", - ParsingError: "MathML \u306E\u69CB\u6587\u89E3\u6790\u30A8\u30E9\u30FC: %1", - MathMLSingleElement: "MathML \u306F\u5358\u4E00\u306E\u8981\u7D20\u3067\u69CB\u6210\u3057\u3066\u304F\u3060\u3055\u3044", - MathMLRootElement: "MathML \u306F %1 \u3067\u306F\u306A\u304F \u003Cmath\u003E \u8981\u7D20\u3067\u69CB\u6210\u3057\u3066\u304F\u3060\u3055\u3044" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ja/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ja/MathMenu.js deleted file mode 100644 index b8fb679c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ja/MathMenu.js +++ /dev/null @@ -1,107 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ja/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ja","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u6570\u5F0F\u3092\u6B21\u306E\u5F62\u5F0F\u3067\u8868\u793A", - MathMLcode: "MathML \u30B3\u30FC\u30C9", - OriginalMathML: "\u5143\u306E MathML", - TeXCommands: "TeX \u30B3\u30DE\u30F3\u30C9", - AsciiMathInput: "AsciiMathML \u5165\u529B", - Original: "\u5143\u306E\u5F62\u5F0F", - ErrorMessage: "\u30A8\u30E9\u30FC \u30E1\u30C3\u30BB\u30FC\u30B8", - Annotation: "\u6CE8\u91C8", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Content MathML", - OpenMath: "OpenMath", - texHints: "MathML \u3067 TeX \u306E\u30D2\u30F3\u30C8\u3092\u8868\u793A", - Settings: "\u6570\u5F0F\u306E\u8A2D\u5B9A", - ZoomTrigger: "\u30BA\u30FC\u30E0\u306E\u958B\u59CB\u64CD\u4F5C", - Hover: "\u30DB\u30D0\u30FC", - Click: "\u30AF\u30EA\u30C3\u30AF", - DoubleClick: "\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF", - NoZoom: "\u30BA\u30FC\u30E0\u306A\u3057", - TriggerRequires: "\u5FC5\u8981\u306A\u30AD\u30FC:", - Option: "Option", - Alt: "Alt", - Command: "Command", - Control: "Ctrl", - Shift: "Shift", - ZoomFactor: "\u30BA\u30FC\u30E0\u306E\u500D\u7387", - Renderer: "\u6570\u5F0F\u30EC\u30F3\u30C0\u30E9\u30FC", - MPHandles: "\u6570\u5F0F\u30D7\u30EC\u30FC\u30E4\u30FC\u306B\u51E6\u7406\u3055\u305B\u308B\u30A4\u30D9\u30F3\u30C8:", - MenuEvents: "\u30E1\u30CB\u30E5\u30FC \u30A4\u30D9\u30F3\u30C8", - MouseEvents: "\u30DE\u30A6\u30B9 \u30A4\u30D9\u30F3\u30C8", - MenuAndMouse: "\u30DE\u30A6\u30B9\u3068\u30E1\u30CB\u30E5\u30FC\u306E\u30A4\u30D9\u30F3\u30C8", - FontPrefs: "\u30D5\u30A9\u30F3\u30C8\u306E\u8A2D\u5B9A", - ForHTMLCSS: "HTML-CSS:", - Auto: "\u81EA\u52D5", - TeXLocal: "TeX (\u30ED\u30FC\u30AB\u30EB)", - TeXWeb: "TeX (Web)", - TeXImage: "TeX (\u753B\u50CF)", - STIXLocal: "STIX (\u30ED\u30FC\u30AB\u30EB)", - STIXWeb: "STIX (Web)", - AsanaMathWeb: "Asana Math (Web)", - GyrePagellaWeb: "Gyre Pagella (Web)", - GyreTermesWeb: "Gyre Termes (Web)", - LatinModernWeb: "Latin Modern (Web)", - NeoEulerWeb: "Neo Euler (Web)", - ContextMenu: "\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \u30E1\u30CB\u30E5\u30FC", - Browser: "\u30D6\u30E9\u30A6\u30B6\u30FC", - Scale: "\u3059\u3079\u3066\u306E\u6570\u5F0F\u306E\u500D\u7387\u3092\u5909\u66F4...", - Discoverable: "\u30DB\u30D0\u30FC\u6642\u306B\u5F37\u8ABF", - Locale: "\u8A00\u8A9E", - LoadLocale: "URL \u304B\u3089\u8AAD\u307F\u8FBC\u3080...", - About: "MathJax \u306B\u3064\u3044\u3066", - Help: "MathJax \u30D8\u30EB\u30D7", - localTeXfonts: "\u30ED\u30FC\u30AB\u30EB TeX \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", - webTeXfonts: "Web TeX \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", - imagefonts: "\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", - localSTIXfonts: "\u30ED\u30FC\u30AB\u30EB STIX \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", - webSVGfonts: "Web SVG \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", - genericfonts: "\u6C4E\u7528 Unicode \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", - wofforotffonts: "WOFF \u30D5\u30A9\u30F3\u30C8\u307E\u305F\u306F OTF \u30D5\u30A9\u30F3\u30C8", - eotffonts: "EOT \u30D5\u30A9\u30F3\u30C8", - svgfonts: "SVG \u30D5\u30A9\u30F3\u30C8", - WebkitNativeMMLWarning: "\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306F MathML \u306B\u30CD\u30A4\u30C6\u30A3\u30D6\u5BFE\u5FDC\u3057\u3066\u3044\u306A\u3044\u3068\u601D\u308F\u308C\u308B\u305F\u3081\u3001MathML \u51FA\u529B\u306B\u5207\u308A\u66FF\u3048\u308B\u3068\u30DA\u30FC\u30B8\u5185\u306E\u6570\u5F0F\u304C\u5224\u8AAD\u4E0D\u80FD\u306B\u306A\u308B\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", - MSIENativeMMLWarning: "Internet Explorer \u3067\u306F\u3001MathML \u51FA\u529B\u3092\u51E6\u7406\u3059\u308B\u305F\u3081\u306B MathPlayer \u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u5FC5\u8981\u3067\u3059\u3002", - OperaNativeMMLWarning: "Opera \u306F MathML \u306B\u5B8C\u5168\u306B\u306F\u5BFE\u5FDC\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001MathML \u51FA\u529B\u306B\u5207\u308A\u66FF\u3048\u308B\u3068\u6570\u5F0F\u306E\u63CF\u753B\u304C\u4E0D\u5B8C\u5168\u306B\u306A\u308B\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", - SafariNativeMMLWarning: "\u3042\u306A\u305F\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306E\u30CD\u30A4\u30C6\u30A3\u30D6 MathML \u306F\u3001MathJax \u304C\u4F7F\u7528\u3059\u308B\u6A5F\u80FD\u3092\u3059\u3079\u3066\u306F\u5B9F\u88C5\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u6570\u5F0F\u306E\u4E00\u90E8\u304C\u9069\u5207\u306B\u63CF\u753B\u3055\u308C\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", - FirefoxNativeMMLWarning: "\u3042\u306A\u305F\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306E\u30CD\u30A4\u30C6\u30A3\u30D6 MathML \u306F\u3001MathJax \u304C\u4F7F\u7528\u3059\u308B\u6A5F\u80FD\u3092\u3059\u3079\u3066\u306F\u5B9F\u88C5\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u6570\u5F0F\u306E\u4E00\u90E8\u304C\u9069\u5207\u306B\u63CF\u753B\u3055\u308C\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", - MSIESVGWarning: "IE9 \u3088\u308A\u524D\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306E\u5834\u5408\u3001\u307E\u305F\u306F IE8 \u4EE5\u524D\u3092\u30A8\u30DF\u30E5\u30EC\u30FC\u30C8\u3057\u3066\u3044\u308B\u5834\u5408\u3001Internet Explorer \u306B\u306F SVG \u304C\u5B9F\u88C5\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002SVG \u306B\u5207\u308A\u66FF\u3048\u308B\u3068\u3001\u6570\u5F0F\u304C\u9069\u5207\u306B\u8868\u793A\u3055\u308C\u306A\u304F\u306A\u308A\u307E\u3059\u3002", - LoadURL: "\u7FFB\u8A33\u30C7\u30FC\u30BF\u3092\u8AAD\u307F\u8FBC\u3080 URL:", - BadURL: "MathJax \u7FFB\u8A33\u30C7\u30FC\u30BF\u3092\u5B9A\u7FA9\u3059\u308B JavaScript \u30D5\u30A1\u30A4\u30EB\u306E URL \u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u3001JavaScript \u306E\u30D5\u30A1\u30A4\u30EB\u540D\u306E\u672B\u5C3E\u306F\u300C.js\u300D\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002", - BadData: "%1 \u304B\u3089\u7FFB\u8A33\u30C7\u30FC\u30BF\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F", - SwitchAnyway: "\u30EC\u30F3\u30C0\u30E9\u30FC\u3092\u672C\u5F53\u306B\u5207\u308A\u66FF\u3048\u307E\u3059\u304B?\n\n(\u5207\u308A\u66FF\u3048\u308B\u306B\u306F OK \u3092\u3001\u73FE\u5728\u306E\u30EC\u30F3\u30C0\u30E9\u30FC\u306E\u307E\u307E\u306B\u3059\u308B\u306B\u306F\u30AD\u30E3\u30F3\u30BB\u30EB\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044)", - ScaleMath: "\u3059\u3079\u3066\u306E\u6570\u5F0F\u306E\u500D\u7387 (\u5468\u56F2\u306E\u30C6\u30AD\u30B9\u30C8\u3068\u306E\u6BD4)", - NonZeroScale: "\u500D\u7387\u306B 0 \u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093", - PercentScale: "\u500D\u7387\u306F\u767E\u5206\u7387\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093 (\u4F8B: 120%%)", - IE8warning: "MathJax \u306E\u30E1\u30CB\u30E5\u30FC\u3068\u30BA\u30FC\u30E0\u6A5F\u80FD\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u304C\u3001\u4EE3\u308F\u308A\u306B\u6570\u5F0F\u3092 Alt+\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068 MathJax \u306E\u30E1\u30CB\u30E5\u30FC\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\n\nMathPlayer \u306E\u8A2D\u5B9A\u3092\u672C\u5F53\u306B\u5909\u66F4\u3057\u307E\u3059\u304B?", - IE9warning: "MathJax \u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \u30E1\u30CB\u30E5\u30FC\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u304C\u3001\u4EE3\u308F\u308A\u306B\u6570\u5F0F\u3092 Alt+\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068 MathJax \u306E\u30E1\u30CB\u30E5\u30FC\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002", - NoOriginalForm: "\u5143\u306E\u5F62\u5F0F\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093", - Close: "\u9589\u3058\u308B", - EqSource: "MathJax \u6570\u5F0F\u306E\u30BD\u30FC\u30B9" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ja/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ja/TeX.js deleted file mode 100644 index 48be6a96..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ja/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ja/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ja","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u4F59\u5206\u3001\u307E\u305F\u306F\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", - ExtraCloseMissingOpen: "\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u4F59\u5206\u3001\u307E\u305F\u306F\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", - MissingLeftExtraRight: "\\left \u304C\u4E0D\u8DB3\u3001\u307E\u305F\u306F \\right \u304C\u4F59\u5206\u3067\u3059", - MissingScript: "\u4E0A\u4ED8\u304D\u307E\u305F\u306F\u4E0B\u4ED8\u304D\u306E\u5F15\u6570\u304C\u3042\u308A\u307E\u305B\u3093", - ExtraLeftMissingRight: "\\left \u304C\u4F59\u5206\u3001\u307E\u305F\u306F \\right \u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", - Misplaced: "%1 \u306E\u4F4D\u7F6E\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093", - MissingOpenForSub: "\u4E0B\u4ED8\u304D\u306E\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u3042\u308A\u307E\u305B\u3093", - MissingOpenForSup: "\u4E0A\u4ED8\u304D\u306E\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u3042\u308A\u307E\u305B\u3093", - AmbiguousUseOf: "%1 \u306E\u8A18\u8FF0\u304C\u66D6\u6627\u3067\u3059", - EnvBadEnd: "\\begin{%1} \u304C \\end{%2} \u3067\u7D42\u4E86\u3057\u3066\u3044\u307E\u3059", - EnvMissingEnd: "\\end{%1} \u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", - MissingBoxFor: "%1 \u306E\u30DC\u30C3\u30AF\u30B9\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", - MissingCloseBrace: "\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", - UndefinedControlSequence: "\u672A\u5B9A\u7FA9\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9 %1", - DoubleExponent: "\u4E8C\u91CD\u306E\u4E0A\u4ED8\u304D: \u4E2D\u62EC\u5F27\u3092\u4F7F\u7528\u3057\u3066\u660E\u78BA\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - DoubleSubscripts: "\u4E8C\u91CD\u306E\u4E0B\u4ED8\u304D: \u4E2D\u62EC\u5F27\u3092\u4F7F\u7528\u3057\u3066\u660E\u78BA\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - DoubleExponentPrime: "\u30D7\u30E9\u30A4\u30E0\u8A18\u53F7\u306B\u3088\u308B\u4E8C\u91CD\u306E\u4E0A\u4ED8\u304D: \u4E2D\u62EC\u5F27\u3092\u4F7F\u7528\u3057\u3066\u660E\u78BA\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - CantUseHash1: "\u6570\u5F0F\u30E2\u30FC\u30C9\u3067\u306F\u300C\u30DE\u30AF\u30ED \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u6587\u5B57 #\u300D\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093", - MisplacedMiddle: "%1 \u306F \\left \u3068 \\right \u306E\u9593\u306B\u914D\u7F6E\u3057\u3066\u304F\u3060\u3055\u3044", - MisplacedLimits: "%1 \u306F\u6F14\u7B97\u5B50\u306E\u307F\u306B\u4F7F\u7528\u3067\u304D\u307E\u3059", - MisplacedMoveRoot: "%1 \u306F\u30EB\u30FC\u30C8\u5185\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059", - MultipleCommand: "%1 \u304C\u8907\u6570\u3042\u308A\u307E\u3059", - IntegerArg: "%1 \u306E\u5F15\u6570\u306F\u6574\u6570\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - NotMathMLToken: "%1 \u306F\u30C8\u30FC\u30AF\u30F3\u8981\u7D20\u3067\u306F\u3042\u308A\u307E\u305B\u3093", - InvalidMathMLAttr: "\u7121\u52B9\u306A MathML \u5C5E\u6027: %1", - UnknownAttrForElement: "%1 \u3092 %2 \u306E\u5C5E\u6027\u3068\u3057\u3066\u8A8D\u8B58\u3067\u304D\u307E\u305B\u3093", - MaxMacroSub1: "MathJax \u306E\u30DE\u30AF\u30ED\u5C55\u958B\u56DE\u6570\u306E\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u3002\u30DE\u30AF\u30ED\u3092\u518D\u5E30\u547C\u3073\u51FA\u3057\u3057\u3066\u3057\u307E\u3063\u3066\u3044\u307E\u305B\u3093\u304B?", - MaxMacroSub2: "MathJax \u306E\u5C55\u958B\u56DE\u6570\u306E\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u3002LaTeX \u74B0\u5883\u3092\u518D\u5E30\u547C\u3073\u51FA\u3057\u3057\u3066\u3057\u307E\u3063\u3066\u3044\u307E\u305B\u3093\u304B?", - MissingArgFor: "%1 \u306E\u5F15\u6570\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", - ExtraAlignTab: "\\case \u306E\u30C6\u30AD\u30B9\u30C8\u5185\u3067\u3001\u914D\u7F6E\u7528\u30BF\u30D6\u304C\u4F59\u5206\u3067\u3059", - BracketMustBeDimension: "%1 \u306E\u4E2D\u62EC\u5F27\u5F15\u6570\u306F\u5BF8\u6CD5\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - InvalidEnv: "\u74B0\u5883\u540D\u300C%1\u300D\u306F\u7121\u52B9\u3067\u3059", - UnknownEnv: "\u74B0\u5883\u300C%1\u300D\u306F\u4E0D\u660E\u3067\u3059", - ExtraCloseLooking: "%1 \u3092\u63A2\u7D22\u3059\u308B\u969B\u306B\u4F59\u5206\u306A\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F", - MissingCloseBracket: "%1 \u306E\u5F15\u6570\u306E\u9589\u3058\u62EC\u5F27\u300C]\u300D\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F", - MissingOrUnrecognizedDelim: "%1 \u306E\u533A\u5207\u308A\u304C\u4E0D\u8DB3\u307E\u305F\u306F\u672A\u5206\u985E\u3067\u3059", - MissingDimOrUnits: "%1 \u3067\u3001\u5BF8\u6CD5\u307E\u305F\u306F\u305D\u306E\u5358\u4F4D\u304C\u3042\u308A\u307E\u305B\u3093", - TokenNotFoundForCommand: "%2 \u306B\u5BFE\u5FDC\u3059\u308B %1 \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F", - MathNotTerminated: "\u6570\u5F0F\u304C\u30C6\u30AD\u30B9\u30C8 \u30DC\u30C3\u30AF\u30B9\u5185\u3067\u7D42\u4E86\u3057\u3066\u3044\u307E\u305B\u3093", - IllegalMacroParam: "\u30DE\u30AF\u30ED \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u53C2\u7167\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", - MaxBufferSize: "MathJax \u306E\u5185\u90E8\u30D0\u30C3\u30D5\u30A1\u30FC \u30B5\u30A4\u30BA\u306E\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u3002\u30DE\u30AF\u30ED\u3092\u518D\u5E30\u547C\u3073\u51FA\u3057\u3057\u3066\u3057\u307E\u3063\u3066\u3044\u307E\u305B\u3093\u304B?", - CommandNotAllowedInEnv: "%1 \u306F %2 \u74B0\u5883\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093", - MultipleLabel: "\u30E9\u30D9\u30EB\u300C%1\u300D\u304C\u8907\u6570\u56DE\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059", - CommandAtTheBeginingOfLine: "%1 \u306F\u884C\u982D\u306B\u914D\u7F6E\u3057\u3066\u304F\u3060\u3055\u3044", - IllegalAlign: "%1 \u306B\u6307\u5B9A\u3057\u305F\u5F15\u6570\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", - BadMathStyleFor: "%1 \u306E\u6570\u5F0F\u306E\u30B9\u30BF\u30A4\u30EB\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", - PositiveIntegerArg: "%1 \u306E\u5F15\u6570\u306F\u6B63\u306E\u6574\u6570\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - ErroneousNestingEq: "\u6570\u5F0F\u306E\u5165\u308C\u5B50\u69CB\u9020\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", - MultlineRowsOneCol: "%1 \u74B0\u5883\u5185\u306E\u5404\u884C\u306F 1 \u5217\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - MultipleBBoxProperty: "%1 \u304C %2 \u5185\u3067 2 \u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059", - InvalidBBoxProperty: "\u300C%1\u300D\u306F\u3001\u8272\u3001\u30D1\u30C7\u30A3\u30F3\u30B0\u3001\u30B9\u30BF\u30A4\u30EB\u306E\u3044\u305A\u308C\u3067\u3082\u306A\u3044\u3088\u3046\u3067\u3059", - ExtraEndMissingBegin: "%1 \u304C\u4F59\u5206\u3001\u307E\u305F\u306F \\begingroup \u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", - GlobalNotFollowedBy: "%1 \u306E\u5F8C\u306B \\let\u3001\\def\u3001\\newcommand \u306E\u3044\u305A\u308C\u3082\u3042\u308A\u307E\u305B\u3093", - UndefinedColorModel: "\u8272\u30E2\u30C7\u30EB\u300C%1\u300D\u306F\u672A\u5B9A\u7FA9\u3067\u3059", - ModelArg1: "\u8272\u30E2\u30C7\u30EB %1 \u306B\u306F\u5024\u304C 3 \u3064\u5FC5\u8981\u3067\u3059", - InvalidDecimalNumber: "\u7121\u52B9\u306A 10 \u9032\u6570\u3067\u3059", - ModelArg2: "\u8272\u30E2\u30C7\u30EB %1 \u306E\u5024\u306F %2 \u3068 %3 \u306E\u9593\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - InvalidNumber: "\u7121\u52B9\u306A\u6570\u5024\u3067\u3059", - NewextarrowArg1: "%1 \u306E\u7B2C 1 \u5F15\u6570\u306F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9\u540D\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - NewextarrowArg2: "%1 \u306E\u7B2C 2 \u5F15\u6570\u306F\u3001\u30AB\u30F3\u30DE\u3067\u533A\u5207\u3063\u305F 2 \u3064\u306E\u6574\u6570\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - NewextarrowArg3: "%1 \u306E\u7B2C 3 \u5F15\u6570\u306F Unicode \u306E\u6587\u5B57\u756A\u53F7\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - NoClosingChar: "\u9589\u3058\u62EC\u5F27 %1 \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093", - IllegalControlSequenceName: "%1 \u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u8AA4\u3063\u305F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9\u540D\u3067\u3059", - IllegalParamNumber: "%1 \u306B\u6307\u5B9A\u3057\u305F\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306E\u500B\u6570\u304C\u8AA4\u3063\u3066\u3044\u307E\u3059", - MissingCS: "%1 \u306E\u5F8C\u306F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - CantUseHash2: "%1 \u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u5185\u3067 # \u306E\u4F7F\u7528\u6CD5\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", - SequentialParam: "%1 \u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306F\u9023\u756A\u306B\u3057\u3066\u304F\u3060\u3055\u3044", - MissingReplacementString: "%1 \u306E\u5B9A\u7FA9\u3067\u7F6E\u63DB\u6587\u5B57\u5217\u304C\u3042\u308A\u307E\u305B\u3093", - MismatchUseDef: "%1 \u306E\u5B9A\u7FA9\u3068\u4E00\u81F4\u3057\u3066\u3044\u306A\u3044\u4F7F\u7528\u6CD5\u3067\u3059", - RunawayArgument: "%1 \u306E\u5F15\u6570\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u308B\u3088\u3046\u3067\u3059", - NoClosingDelim: "%1 \u306E\u7D42\u4E86\u533A\u5207\u308A\u6587\u5B57\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ja/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/ja.js b/src/py/kaleido/vendor/mathjax/localization/ja/ja.js deleted file mode 100644 index c154a413..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ja/ja.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ja/ja.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ja",null,{ - menuTitle: "\u65E5\u672C\u8A9E", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax \u306F\u3001\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A\u306E Cookie \u3067\u5B9F\u884C\u3059\u3079\u304D\u30B3\u30FC\u30C9\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\u3002\u5B9F\u884C\u3057\u307E\u3059\u304B?\n\n(Cookie \u3092\u81EA\u5206\u3067\u8A2D\u5B9A\u3057\u3066\u3044\u306A\u3044\u5834\u5408\u306F\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002)", - MathProcessingError: "\u6570\u5F0F\u51E6\u7406\u30A8\u30E9\u30FC", - MathError: "\u6570\u5F0F\u30A8\u30E9\u30FC", - LoadFile: "%1 \u3092\u8AAD\u307F\u8FBC\u307F\u4E2D", - Loading: "\u8AAD\u307F\u8FBC\u307F\u4E2D", - LoadFailed: "\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F: %1", - ProcessMath: "\u6570\u5F0F\u3092\u51E6\u7406\u4E2D: %1%%", - Processing: "\u51E6\u7406\u4E2D", - TypesetMath: "\u6570\u5F0F\u3092\u7D44\u7248\u4E2D: %1%%", - Typesetting: "\u7D44\u7248\u4E2D", - MathJaxNotSupported: "\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306F MathJax \u306B\u5BFE\u5FDC\u3057\u3066\u3044\u307E\u305B\u3093" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ja/ja.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/kn/FontWarnings.js deleted file mode 100644 index 07047a78..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/kn/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/kn/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("kn","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9D\u0C95\u0CCD\u0CB7\u0CCD \u0C88 \u0CAA\u0CC1\u0C9F\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CB8\u0CB2\u0CC1 \u0CB5\u0CC6\u0CAC\u0CCD \u0C86\u0CA7\u0CBE\u0CB0\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CAC\u0CB3\u0CB8\u0CBF \u0C87\u0CA6\u0CC6. \u0C88 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CB8\u0CAE\u0CAF \u0CA4\u0CC6\u0C97\u0CC6\u0CA6\u0CC1\u0C95\u0CCA\u0CB3\u0CCD\u0CB3\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1, \u0C86\u0CA6\u0CCD\u0CA6\u0CB0\u0CBF\u0C82\u0CA6 \u0CA8\u0CC0\u0CB5\u0CC1 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0C97\u0CA3\u0C95\u0CA6 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CAB\u0CCB\u0CB2\u0CCD\u0CA1\u0CB0\u0CCD\u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0CA8\u0CC7\u0CB0\u0CB5\u0CBE\u0C97\u0CBF \u0C97\u0CA3\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CB5\u0CC7\u0CB3\u0CC6 \u0CAA\u0CC1\u0C9F \u0CB5\u0CC7\u0C97\u0CB5\u0CBE\u0C97\u0CBF \u0CA8\u0CBF\u0CB0\u0CC2\u0CAA\u0CBF\u0CB8\u0CB2\u0CC1 \u0C8E\u0C82\u0CA6\u0CC1.", - noFonts: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA6\u0CB0 \u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CB8\u0CB2\u0CC1 \u0CAC\u0CB3\u0CB8\u0CB2\u0CC1 \u0C92\u0C82\u0CA6\u0CC1 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CAA\u0CA4\u0CCD\u0CA4\u0CC6 \u0CAE\u0CBE\u0CA1\u0CB2\u0CC1 \u0CB8\u0CBE\u0CA7\u0CCD\u0CAF\u0CB5\u0CBE\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2, \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0CB2\u0CAD\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2, \u0C86\u0CA6\u0CCD\u0CA6\u0CB0\u0CBF\u0C82\u0CA6 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C85\u0CB5\u0CC1\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CB8\u0CB2\u0CC1 \u0CB8\u0CBE\u0CA7\u0CCD\u0CAF\u0CB5\u0CBE\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6 \u0C8E\u0C82\u0CA6\u0CC1 \u0CAD\u0CB0\u0CB5\u0CB8\u0CC6\u0CAF\u0CB2\u0CCD\u0CB2\u0CBF \u0CB8\u0CBE\u0CB0\u0CCD\u0CB5\u0CA4\u0CCD\u0CB0\u0CBF\u0C95 \u0CAF\u0CC1\u0CA8\u0CBF\u0C95\u0CCB\u0CA1\u0CCD \u0CAA\u0CBE\u0CA4\u0CCD\u0CB0\u0C97\u0CB3\u0CC1 \u0CB9\u0CBF\u0C82\u0CA6\u0CC6 \u0CAC\u0CC0\u0CB3\u0CC1\u0CB5 \u0C87\u0CA6\u0CC6. \u0C95\u0CC6\u0CB2\u0CB5\u0CC1 \u0CAA\u0CBE\u0CA4\u0CCD\u0CB0\u0C97\u0CB3\u0CC1 \u0CB8\u0CB0\u0CBF\u0CAF\u0CBE\u0C97\u0CBF, \u0C85\u0CA5\u0CB5\u0CBE \u0CAC\u0CB9\u0CC1\u0CB6\u0C83 \u0C8E\u0CB2\u0CCD\u0CB2\u0CBE \u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0CA4\u0CCB\u0CB0\u0CBF\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CB5\u0CC6 \u0C87\u0CB0\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", - webFonts: "\u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0CB5\u0CC6\u0CAC\u0CCD \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CC1 \u0C85\u0CA4\u0CCD\u0CAF\u0C82\u0CA4 \u0C86\u0CA7\u0CC1\u0CA8\u0CBF\u0C95 \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD\u0C97\u0CB3\u0CC1 \u0C85\u0CB5\u0C95\u0CBE\u0CB6. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD (\u0C85\u0CA5\u0CB5\u0CBE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0CAC\u0CA6\u0CB2\u0CBE\u0CB5\u0CA3\u0CC6) \u0C87\u0CA4\u0CCD\u0CA4\u0CC0\u0C9A\u0CBF\u0CA8 \u0C86\u0CB5\u0CC3\u0CA4\u0CCD\u0CA4\u0CBF\u0C97\u0CC6 \u0C85\u0CAA\u0CCD\u0CA1\u0CC7\u0C9F\u0CCD \u0C88 \u0CAA\u0CC1\u0C9F\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C97\u0CA3\u0CBF\u0CA4 \u0C97\u0CC1\u0CA3\u0CAE\u0C9F\u0CCD\u0C9F\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CC1\u0CA7\u0CBE\u0CB0\u0CBF\u0CB8\u0CB2\u0CC1 \u0CB8\u0CBE\u0CA7\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2.", - fonts: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C92\u0C82\u0CA6\u0CCB [\u0CB7\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1](%1) \u0C85\u0CA5\u0CB5 [\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1](%2) \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAE\u0CBE\u0CA4 \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA8\u0CC1\u0CAD\u0CB5 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB5\u0CB3\u0CCD\u0CB2\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C87\u0CA6\u0CB0\u0CB2\u0CCD\u0CB2\u0CBF \u0CAF\u0CBE\u0CB5\u0CA6\u0CBE\u0CA6\u0CB0\u0CC1 \u0C92\u0C82\u0CA6\u0CA8\u0CCD\u0CA8 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA6\u0CBF\u0C95\u0CCA\u0CB2\u0CCD\u0CB2\u0CBF.", - STIXPage: "\u0C88 \u0CAA\u0CC1\u0C9F [\u0CB8\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CCD\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 ](%1) \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CB5\u0CBF\u0CA8\u0CCD\u0CAF\u0CBE\u0CB8 \u0C86\u0C97\u0CBF\u0CA6\u0CC6. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA8\u0CC1\u0CAD\u0CB5 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CC1\u0CA7\u0CBE\u0CB0\u0CBF\u0CB8\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C88 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF.", - TeXPage: "\u0C88 \u0CAA\u0CC1\u0C9F [\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CCD\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 ](%1) \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CB5\u0CBF\u0CA8\u0CCD\u0CAF\u0CBE\u0CB8 \u0C86\u0C97\u0CBF\u0CA6\u0CC6. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA8\u0CC1\u0CAD\u0CB5 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CC1\u0CA7\u0CBE\u0CB0\u0CBF\u0CB8\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C88 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF.", - imageFonts: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9D\u0C95\u0CCD\u0CB7\u0CCD \u0CA4\u0CA8\u0CCD\u0CA8 \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u200C\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CCD\u0CA5\u0CB3\u0CC0\u0CAF \u0C85\u0CA5\u0CB5\u0CBE \u0CB5\u0CC6\u0CAC\u0CCD-\u0C86\u0CA7\u0CBE\u0CB0\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u200C\u0C9F\u0CCD\u200C\u0C97\u0CB3 \u0CAC\u0CA6\u0CB2\u0CBF\u0C97\u0CC6 \u0CAC\u0CB3\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6. \u0C88 \u0CB8\u0CBE\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0C95\u0CCD\u0C95\u0CBF\u0C82\u0CA4 \u0CA8\u0CBF\u0CA7\u0CBE\u0CA8\u0CB5\u0CBE\u0C97\u0CBF \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CA4\u0CB5\u0CBE\u0C97\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1, \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CC2\u0CB0\u0CCD\u0CA3 \u0CB0\u0CC6\u0CB8\u0CB2\u0CCD\u0CAF\u0CC2\u0CB7\u0CA8\u0CCD\u200C\u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAA\u0CCD\u0CB0\u0CBF\u0C82\u0C9F\u0CB0\u0CCD \u0CAE\u0CC2\u0CB2\u0C95 \u0CAE\u0CC1\u0CA6\u0CCD\u0CB0\u0CBF\u0CA4\u0CB5\u0CBE\u0C97\u0CA6\u0CBF\u0CB0\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/kn/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/kn/HTML-CSS.js deleted file mode 100644 index cddd7353..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/kn/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/kn/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("kn","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD %1 \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", - CantLoadWebFont: " \u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD %1 \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA6\u0CC1 \u0C87\u0CB2\u0CCD\u0CB2", - FirefoxCantLoadWebFont: "\u0CAB\u0CC8\u0CB0\u0CCD\u0CAB\u0CBE\u0C95\u0CCD\u0CB8\u0CCD \u0C87\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CA6\u0CC2\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0CB9\u0CCB\u0CB8\u0CCD\u0C9F\u0CCD \u0C87\u0C82\u0CA6 \u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2.", - CantFindFontUsing: "%1 \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CB8\u0CB0\u0CBF\u0CAF\u0CBE\u0CA6 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CB8\u0CBF\u0C97\u0CC1\u0CA4 \u0C87\u0CB2\u0CCD\u0CB2", - WebFontsNotAvailable: "\u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1 \u0CB8\u0CBF\u0C97\u0CC1\u0CA4 \u0C87\u0CB2\u0CCD\u0CB2, \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CBF." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/kn/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/kn/HelpDialog.js deleted file mode 100644 index 5a3ba41d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/kn/HelpDialog.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/kn/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("kn","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CB8\u0CB9\u0CAF\u0CA4\u0CC6", - MathJax: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CAA\u0CC1\u0C9F \u0CB2\u0CC7\u0C96\u0C95\u0CB0\u0CC1 \u0CA4\u0CAE\u0CCD\u0CAE \u0CB5\u0CC6\u0CAC\u0CCD \u0CAA\u0CC1\u0C9F\u0C97\u0CB3 \u0C92\u0CB3\u0C97\u0CC6 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CC7\u0CB0\u0CBF\u0CB8\u0CB2\u0CC1 \u0C85\u0CA8\u0CC1\u0CAE\u0CA4\u0CBF\u0CB8\u0CC1\u0CB5 \u0C92\u0C82\u0CA6\u0CC1 \u0C9C\u0CBE\u0CB5\u0CBE\u0CB8\u0CCD\u0C95\u0CCD\u0CB0\u0CBF\u0CAA\u0CCD\u0C9F\u0CCD \u0C97\u0CCD\u0CB0\u0C82\u0CA5\u0CBE\u0CB2\u0CAF. \u0C92\u0C82\u0CA6\u0CC1 \u0CB0\u0CC0\u0CA1\u0CB0\u0CCD, \u0CA8\u0CC0\u0CB5\u0CC1 \u0C89\u0C82\u0C9F\u0CBE\u0C97\u0CC1\u0CB5 \u0CAE\u0CBE\u0CA1\u0CB2\u0CC1 \u0C8F\u0CA8\u0CC1 \u0C85\u0C97\u0CA4\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2.", - Browsers: "*\u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD\u0C97\u0CB3\u0CC1*: \u0CAE\u0CA0 Jax \u0C87\u0C82\u0C9F\u0CB0\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD \u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u0CAA\u0CCD\u0CB2\u0CCB\u0CB0\u0CB0\u0CCD 6 +, \u0CAB\u0CC8\u0CB0\u0CCD\u0CAB\u0CBE\u0C95\u0CCD\u0CB8\u0CCD 3 + \u0C95\u0CCD\u0CB0\u0CCB\u0CAE\u0CCD 0.2 +, \u0CB8\u0CAB\u0CBE\u0CB0\u0CBF 2 + \u0C92\u0CAA\u0CC6\u0CB0\u0CBE 9.6 + \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0C85\u0CA4\u0CCD\u0CAF\u0C82\u0CA4 \u0CAE\u0CCA\u0CAC\u0CC8\u0CB2\u0CCD \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0CB8\u0CC7\u0CB0\u0CBF\u0CA6\u0C82\u0CA4\u0CC6 \u0C8E\u0CB2\u0CCD\u0CB2 \u0C86\u0CA7\u0CC1\u0CA8\u0CBF\u0C95 \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD\u0C97\u0CB3\u0CC1 \u0C95\u0CC6\u0CB2\u0CB8 \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6.", - Zoom: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0CC2\u0CAE\u0CCD: \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0C95\u0CCD\u0CB7 \u0C92\u0C82\u0CA6\u0CC1 \u0C8E\u0C95\u0CBC\u0CC1\u0C85\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA8\u0CCB\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CA8\u0CBF\u0CAE\u0C97\u0CC6 \u0C89\u0CAA\u0CCD\u0CAA\u0CA6\u0CCD\u0CA6\u0CB0 \u0C86\u0C97\u0CC1\u0CA4 \u0C87\u0CA6\u0CCD\u0CA6\u0CBE\u0CB0\u0CC6, \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA6\u0CCD\u0CA6\u0CA8\u0CC1 \u0CA8\u0CBF\u0CAE\u0C97\u0CC6 \u0CB8\u0CB0\u0CBF \u0CA8\u0CCB\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CB8\u0CB9\u0CAF\u0CA4\u0CC6 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C85\u0CA6\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CA6\u0CC6.", - Fonts: "* \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 *: \u0C85\u0CB5\u0CB0\u0CC1 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0C95\u0C82\u0CAA\u0CCD\u0CAF\u0CC2\u0C9F\u0CB0\u0CCD\u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CB5\u0CC7\u0CB3\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C95\u0CC6\u0CB2\u0CB5\u0CC1 \u0C97\u0CA3\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CB3\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6; \u0C87\u0CB2\u0CCD\u0CB2\u0CA6\u0CBF\u0CA6\u0CCD\u0CA6\u0CB0\u0CC6, \u0C87\u0CA6\u0CC1 \u0CB5\u0CC6\u0CAC\u0CCD \u0C86\u0CA7\u0CBE\u0CB0\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CB3\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6. \u0C85\u0C97\u0CA4\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2 \u0C86\u0CA6\u0CB0\u0CC2, \u0CB8\u0CCD\u0CA5\u0CB3\u0CC0\u0CAF\u0CB5\u0CBE\u0C97\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0C9F\u0CC8\u0CAA\u0CCD\u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD \u0CB5\u0CC7\u0C97\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1. \u0CA8\u0CBE\u0CB5\u0CC1 [\u0CB8\u0CCD\u0C9F\u0CBF\u0C95\u0CCD\u0CB8\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1](%1) \u0C85\u0CA8\u0CC1\u0CB8\u0CCD\u0CA5\u0CBE\u0CAA\u0CBF\u0CB8\u0CC1\u0CB5\u0CBE\u0C97 \u0CB8\u0CC2\u0C9A\u0CBF\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/kn/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/MathML.js b/src/py/kaleido/vendor/mathjax/localization/kn/MathML.js deleted file mode 100644 index 3552c811..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/kn/MathML.js +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************* - * - * MathJax/localization/kn/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("kn","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "\u0C95\u0CC6\u0C9F\u0CCD\u0C9F mglyph: %1", - BadMglyphFont: "\u0C95\u0CC6\u0C9F\u0CCD\u0C9F \u0CA4\u0CC8\u0CB2\u0CA6\u0CBE\u0CA8\u0CBF: %1", - UnknownNodeType: "\u0C97\u0CCA\u0CA4\u0CCD\u0CA4\u0CC1 \u0C87\u0CB0\u0CB2\u0CC7 \u0C87\u0CA6\u0CCD\u0CA6 \u0CA8\u0CCB\u0CA1\u0CCD \u0C9F\u0CC8\u0CAA\u0CCD: %1", - UnexpectedTextNode: "\u0C8E\u0CA6\u0CB0\u0CC1 \u0CA8\u0CCB\u0CA6\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2\u0CA6\u0CCD\u0CA6 \u0CA8\u0CCB\u0CA1\u0CCD \u0C9F\u0CC8\u0CAA\u0CCD : %1", - ErrorParsingMathML: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAA\u0CBE\u0CB0\u0CCD\u0CB8\u0CC6 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0CBE\u0C97 \u0CA4\u0CCD\u0CB0\u0CC1\u0C9F\u0CBF", - ParsingError: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAA\u0CBE\u0CB0\u0CCD\u0CB8\u0CC6 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0CBE\u0C97 \u0CA4\u0CCD\u0CB0\u0CC1\u0C9F\u0CBF: %1", - MathMLSingleElement: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0C8E\u0CB2\u0CBF\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C87\u0C82\u0CA6 \u0CAE\u0CBE\u0CA1 \u0CAC\u0CC6\u0C95\u0CC1.", - MathMLRootElement: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u003Cmath\u003E \u0C9F\u0CCD\u0CAF\u0CBE\u0C97\u0CCD \u0C87\u0C82\u0CA6 \u0CB6\u0CC1\u0CB0\u0CC1 \u0C86\u0C97\u0CAC\u0CC7\u0C95\u0CC1, %1 \u0C87\u0C82\u0CA6 \u0C85\u0CB2\u0CCD\u0CB2" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/kn/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/kn/MathMenu.js deleted file mode 100644 index b70ae987..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/kn/MathMenu.js +++ /dev/null @@ -1,105 +0,0 @@ -/************************************************************* - * - * MathJax/localization/kn/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("kn","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB9\u0CC7\u0C97\u0CC6 \u0CA4\u0CCB\u0CB0\u0CBF\u0CB8\u0CB2\u0CBF?", - MathMLcode: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CB8\u0CE6\u0C95\u0CC7\u0CA4", - OriginalMathML: "\u0CAE\u0CC2\u0CB2 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD", - TeXCommands: "\u0C9F\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CAA\u0CCD\u0CAA\u0CA3\u0CC6\u0C97\u0CB3\u0CC1", - AsciiMathInput: "\u0C86\u0CB8\u0CCD\u0C9A\u0CC0 \u0CAE\u0CBE\u0CA4 \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD", - Original: "\u0CAE\u0CC2\u0CB2 \u0CB0\u0CC2\u0CAA", - ErrorMessage: "\u0CA4\u0CCD\u0CB0\u0CC1\u0C9F\u0CBF \u0CAA\u0CA4\u0CCD\u0CB0", - Annotation: "\u0C9F\u0CBF\u0CAA\u0CCD\u0CAA\u0CA3\u0CBF", - TeX: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD", - StarMath: "\u0CB8\u0CCD\u0C9F\u0CBE\u0CB0\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD", - Maple: "\u0CAE\u0CC7\u0CAA\u0CB2\u0CCD", - ContentMathML: "\u0CB5\u0CBF\u0CB7\u0CAF \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD", - OpenMath: "\u0C93\u0CAA\u0CA8\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD", - texHints: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CB8\u0CC2\u0C9A\u0CCD\u0CAF\u0CB5\u0CBE\u0C97\u0CBF\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC2 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CA4\u0CCB\u0CB0\u0CBF\u0CB8\u0CBF", - Settings: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD\u0C97\u0CB3\u0CC1", - ZoomTrigger: "\u0C9C\u0CC2\u0CAE\u0CCD \u0C9F\u0CCD\u0CB0\u0CBF\u0C97\u0CB0\u0CCD", - Hover: "\u0CB9\u0CCA\u0CB5\u0CC6\u0CB0\u0CCD", - Click: "\u0C95\u0CCD\u0CB2\u0CBF\u0C95\u0CCD", - DoubleClick: "\u0C8E\u0CB0\u0CA1\u0CC1 \u0C95\u0CCD\u0CB2\u0CBF\u0C95\u0CCD", - NoZoom: "\u0C9C\u0CCB\u0CAE \u0C87\u0CB2\u0CCD\u0CB2", - TriggerRequires: "\u0C9F\u0CCD\u0CB0\u0CBF\u0C97\u0CB0\u0CCD \u0C87\u0C97\u0CC6 \u0CAC\u0CC6\u0C95\u0C97\u0CC1\u0CA4\u0CA6\u0CC6:", - Option: "\u0C86\u0CAF\u0CCD\u0C95\u0CC6", - Alt: "Alt", - Command: "Command", - Control: "Control", - Shift: "Shift", - ZoomFactor: "\u0C9C\u0CCB\u0CAE \u0C85\u0CAA\u0CB5\u0CB0\u0CCD\u0CA4\u0CA8", - Renderer: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0CA4\u0CBF\u0CAF\u0CBE\u0C97\u0CBF \u0C95\u0CCA\u0CA1\u0CC1\u0CB5\u0CB5", - MPHandles: "\u0CAE\u0CA4\u0CCD \u0CAA\u0CCD\u0CB2\u0CC7\u0CAF\u0CB0\u0CCD \u0C8E\u0C82\u0CA4 \u0CA8\u0CBF\u0CB0\u0CCD\u0CB5\u0CB9\u0CBF\u0CB8\u0CB2\u0CC1 \u0CAE\u0CBE\u0CA1 \u0CAC\u0CC7\u0C95\u0CC1?", - MenuEvents: "\u0CAE\u0CC6\u0CA8\u0CC1 \u0C98\u0C9F\u0CA8\u0CC6\u0C97\u0CB3\u0CC1", - MouseEvents: "\u0CAE\u0CCC\u0CB8\u0CCD \u0C98\u0C9F\u0CA8\u0CC6\u0C97\u0CB3\u0CC1", - MenuAndMouse: "\u0CAE\u0CCC\u0CB8\u0CCD \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0CAE\u0CC6\u0CA8\u0CC1 \u0C98\u0C9F\u0CA8\u0CC6\u0C97\u0CB3\u0CC1", - FontPrefs: "\u0CA4\u0CC8\u0CB2\u0CA6\u0CBE\u0CA8\u0CBF \u0C86\u0CAF\u0CBF\u0C95\u0CC6\u0C97\u0CB3\u0CC1", - ForHTMLCSS: "\u0C8E\u0C9A\u0CCD \u0CA4\u0CC0 \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD / \u0CB8\u0CC0 \u0C8E\u0CB8\u0CCD\u0CB8\u0CCD \u0C8E\u0CB8\u0CCD\u0CB8\u0CCD \u0C87\u0C97\u0CC6", - Auto: "\u0CB8\u0CCD\u0CB5\u0CAF\u0C82\u0C9A\u0CB2\u0CBF", - TeXLocal: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD (\u0CB2\u0CCB\u0C95\u0CB2\u0CCD)", - TeXWeb: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", - TeXImage: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD (\u0C87\u0CAE\u0CC7\u0C9C\u0CCD)", - STIXLocal: "\u0CB7\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD (\u0CB2\u0CCB\u0C95\u0CB2\u0CCD)", - STIXWeb: "\u0CB7\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", - AsanaMathWeb: "\u0C86\u0CB8\u0CA8 \u0CAE\u0CBE\u0CA4 (\u0CB5\u0CC6\u0CAC\u0CCD)", - GyrePagellaWeb: "\u0C97\u0CCD\u0CAF\u0CCD\u0CB0\u0CC6 \u0CAA\u0C97\u0CC6\u0CB2\u0CCD\u0CB2 (\u0CB5\u0CC6\u0CAC\u0CCD)", - GyreTermesWeb: "\u0C97\u0CCD\u0CAF\u0CCD\u0CB0\u0CC6 \u0C9F\u0CB0\u0CCD\u0CAE\u0CCD\u0CB8\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", - LatinModernWeb: "\u0CB9\u0CCA\u0CB8 \u0CB2\u0CCD\u0CAF\u0CBE\u0C9F\u0CBF\u0CA8\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", - NeoEulerWeb: "\u0CA8\u0CBF\u0CAF\u0CCB \u0C92\u0C87\u0CB2\u0CC6\u0CB0\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", - ContextMenu: "\u0CB8\u0C82\u0CA6\u0CB0\u0CCD\u0CAD\u0CCB\u0C9A\u0CBF\u0CA4 \u0CAE\u0CC6\u0CA8\u0CC1", - Browser: "\u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD", - Scale: "\u0C8E\u0CB2\u0CCD\u0CB2 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0C88 \u0C85\u0CAA\u0CB5\u0CB0\u0CCD\u0CA4\u0CA8 \u0CA6\u0CBF\u0C82\u0CA6 \u0CAA\u0CCD\u0CB0\u0CAE\u0CBE\u0CA3\u0CA6 \u0CAE\u0CBE\u0CA1\u0CBF :", - Discoverable: "\u0CB9\u0CCA\u0CB5\u0CC6\u0CB0\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF\u0CA6\u0CBE\u0C97 \u0CB9\u0CC8\u0CB2\u0CC8\u0C9F\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF", - Locale: "\u0CAD\u0CBE\u0CB7\u0CC6", - LoadLocale: "\u0CAF\u0CC2 \u0C86\u0CB0\u0CCD \u0C8E\u0CB2\u0CCD\u0CB2 \u0C87\u0C82\u0CA6 \u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF", - About: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CAC\u0C97\u0CCD\u0C97\u0CC6", - Help: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CB8\u0CB9\u0CAF\u0CA4\u0CC6", - localTeXfonts: "\u0CB2\u0CCB\u0C95\u0CB2\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", - webTeXfonts: "\u0CB5\u0CC6\u0CAC\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD\u0C9F\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", - imagefonts: "\u0C87\u0CAE\u0CC7\u0C9C\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", - localSTIXfonts: "\u0CB2\u0CCB\u0C95\u0CB2\u0CCD \u0CB8\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", - webSVGfonts: "\u0CB5\u0CC6\u0CAC\u0CCD \u0C8E\u0CB8 \u0CB5\u0CC7 \u0C9C\u0CC0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", - genericfonts: "\u0C9C\u0CBE\u0CA4\u0CBF\u0CB5\u0CBF\u0CB6\u0CBF\u0CB8\u0CCD\u0CA4\u0CB5\u0CBE\u0CA6 \u0CAF\u0CC1\u0CA8\u0CBF\u0C95\u0CCB\u0CA1\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", - wofforotffonts: "\u0CB5\u0CCA\u0CAB\u0CCD\u0CAB\u0CCD \u0C85\u0CA5\u0CB5 \u0C92\u0CA4\u0CCD\u0CAB\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1", - eotffonts: "\u0C8E\u0C92\u0CA4\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1", - svgfonts: "\u0C8E\u0CB8 \u0CB5\u0CC7 \u0C9C\u0CC0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1", - WebkitNativeMMLWarning: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C85\u0CA6\u0CB0 \u0C85\u0CB7\u0CCD\u0C9F\u0C95\u0CCD\u0C95\u0CC7 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA5\u0CCA\u0CB0\u0CBF\u0CB8\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2. \u0C85\u0CA1\u0CCD\u0CA1\u0C95\u0CCD\u0C95\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C94\u0C9F\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD \u0C87\u0C97\u0CC6 \u0CB8\u0CCD\u0CB5\u0CBF\u0C9A\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF\u0CA6\u0CB0\u0CC6, \u0C88 \u0CAA\u0CC1\u0C9F\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CA6\u0CCD\u0CA6 \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0C93\u0CA6\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CA6\u0CC6 \u0C87\u0CB0\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", - MSIENativeMMLWarning: "\u0C87\u0C82\u0C9F\u0CB0\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD \u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u0CAA\u0CCD\u0CB2\u0CCB\u0CB0\u0CB0\u0CCD \u0C87\u0C97\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C94\u0C9F\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0CAA\u0CCD\u0CB2\u0CC7\u0CAF\u0CB0\u0CCD \u0CAA\u0CCD\u0CB2\u0C97\u0CCD-\u0C87\u0CA8\u0CCD \u0CAC\u0CC6\u0C95\u0CC1.", - OperaNativeMMLWarning: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C87\u0C97\u0CC6 \u0C92\u0CAA\u0CC6\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0CAC\u0CC6\u0C82\u0CAC\u0CB2 \u0C89\u0C82\u0C9F\u0CC1, \u0C85\u0CA6\u0C95\u0CCD\u0C95\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C94\u0C9F\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD \u0C87\u0C97\u0CC6 \u0CB8\u0CCD\u0CB5\u0CBF\u0C9A\u0CCD \u0CAE\u0CBE\u0CA6\u0CC1\u0CA6\u0CB0\u0CBF\u0C82\u0CA6 \u0C95\u0CC6\u0CB2\u0CCD\u0CB2\u0CB5 \u0CB5\u0CBF\u0CB7\u0CAF \u0C97\u0CB3\u0CC1 \u0C95\u0CC6\u0C9F\u0CCD\u0C9F \u0CB0\u0CC0\u0CA4\u0CBF\u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CB0\u0CC6\u0CA8\u0CCD\u0CA6\u0CC6\u0CB0\u0CCD \u0C86\u0C97 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", - SafariNativeMMLWarning: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C87\u0CA8 \u0C85\u0CA6\u0CB0\u0CA6\u0CCD\u0CA6\u0CC7 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0C82\u0CA4 \u0C8E\u0CB2\u0CCD\u0CB2 \u0CAB\u0CC0\u0C9A\u0CB0\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CAC\u0CBF\u0CA6\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2. \u0C85\u0CA1\u0CCD\u0CA1\u0C95\u0CCD\u0C95\u0CC6, \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CB0\u0CBF \u0C86\u0C97\u0CBF \u0C95\u0CBE\u0CA3\u0CA6\u0CC6 \u0C87\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", - FirefoxNativeMMLWarning: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C87\u0CA8 \u0C85\u0CA6\u0CB0\u0CA6\u0CCD\u0CA6\u0CC7 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0C82\u0CA4 \u0C8E\u0CB2\u0CCD\u0CB2 \u0CAB\u0CC0\u0C9A\u0CB0\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CAC\u0CBF\u0CA6\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2. \u0C85\u0CA1\u0CCD\u0CA1\u0C95\u0CCD\u0C95\u0CC6, \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CB0\u0CBF \u0C86\u0C97\u0CBF \u0C95\u0CBE\u0CA3\u0CA6\u0CC6 \u0C87\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", - MSIESVGWarning: "\u0C8E\u0CB8\u0CCD \u0CB5\u0CBF \u0C9C\u0CBF \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC2 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD (\u0C87\u0C82\u0C9F\u0CB0\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD \u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u0CAA\u0CCD\u0CB2\u0CCB\u0CB0\u0CB0\u0CCD) \u0CAC\u0CB0\u0CBF \u0C90\u0C88\u0CEF \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CAE\u0CBE\u0CA4\u0CCD\u0CB0 \u0CB8\u0CAA\u0CCB\u0CB0\u0CCD\u0C9F\u0CCD \u0C86\u0C97\u0CC1\u0CA4\u0CA6\u0CC6. \u0C90\u0C88\u0CEF \u0C95\u0CBF\u0C82\u0CA4 \u0C95\u0CAE\u0CCD\u0CAE\u0CBF \u0CB5\u0CB0\u0CCD\u0CB7\u0CA8\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CB8\u0CBF\u0CAE\u0CC1\u0CB3\u0CC6\u0C9F\u0CCD \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0CBE\u0C97 \u0CB8\u0CB9 \u0CB9\u0CBE\u0C97\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CA6\u0CC6. \u0C85\u0CA6\u0C95\u0CCD\u0C95\u0CC6 \u0C8E\u0CB8 \u0CB5\u0CBF \u0C9C\u0CC0 \u0C87\u0C97\u0CC6 \u0CAC\u0CA6\u0CB2\u0CBF\u0CB8\u0CBF\u0CA6\u0CB0\u0CC6 \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CB0\u0CBF \u0C86\u0C97\u0CBF \u0C95\u0CBE\u0CA3\u0CA6\u0CC6 \u0C87\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", - LoadURL: "\u0C88 \u0CAF\u0CC1 \u0C86\u0CB0\u0CCD \u0C8E\u0CB2\u0CCD \u0C87\u0C82\u0CA6 \u0CA1\u0CBE\u0C9F\u0CBE \u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", - BadURL: "\u0C88 \u0CAF\u0CC1\u0C86\u0CB0\u0CCD\u0C8E\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0C9C\u0CBE\u0CB5\u0CBE\u0CB8\u0CCD\u0C95\u0CCD\u0CB0\u0CBF\u0CAA\u0CCD\u0C9F\u0CCD \u0CAB\u0CC8\u0CB2\u0CCD \u0C87\u0C97\u0CC6 \u0CB9\u0CCB\u0C97\u0CAC\u0CC7\u0C95\u0CC1 \u0CAF\u0CBE\u0CB5\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C87\u0CA8 \u0C9F\u0CCD\u0CB0\u0CBE\u0CA8\u0CCD\u0CB8\u0CCD\u0CB2\u0CC7\u0CB7\u0CA8\u0CCD \u0CA1\u0CC7\u0C9F\u0CBE\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB9\u0CBF\u0CA1\u0CC1\u0C95\u0CCA\u0CB3\u0CCD\u0CB3\u0CC1\u0CA4\u0CA6\u0CC6. \u0C85\u0C82\u0CA4 \u0CAB\u0CC8\u0CB2\u0CCD \u0C87\u0CA8 \u0CB9\u0CC6\u0CB8\u0CB0\u0CC1 \u0C92\u0C82\u0CA6\u0CC1 \".js\" \u0C8E\u0C95\u0CCD\u0CB8\u0C9F\u0CC6\u0CA8\u0CCD\u0CB6\u0CA8\u0CCD \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CAE\u0CC1\u0C97\u0CBF\u0CA4\u0CA6\u0CC6,", - BadData: "%1 \u0C87\u0C82\u0CA6 \u0C85\u0CA8\u0CC1\u0CB5\u0CBE\u0CA7 \u0CA1\u0CBE\u0C9F\u0CBE \u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", - SwitchAnyway: "\u0C86\u0CA6\u0CB0\u0CC1\u0CB8\u0CB9 \u0CB0\u0CC6\u0CA8\u0CCD\u0CA6\u0CC6\u0CB0\u0CC6\u0CB0\u0CCD \u0CAC\u0CA6\u0CB2\u0CBE\u0CAF\u0CBF\u0CB8 \u0CAC\u0CC6\u0C95?", - ScaleMath: "\u0CAF\u0CB2\u0CCD\u0CB2 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CBE\u0C95\u0CBF \u0CAA\u0CA5\u0CCD\u0CAF\u0C95\u0CCD\u0C95\u0CC6 \u0CB9\u0CCB\u0CB2\u0CBF\u0C95\u0CC6\u0CAF\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CB7\u0CCD\u0C9F\u0CC1 \u0C85\u0CAA\u0CB5\u0CB0\u0CCD\u0CA4\u0CA8\u0CA6\u0CBF\u0C82\u0CA6 \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1 \u0C85\u0CA5\u0CB5\u0CBE \u0CB8\u0CC7\u0CA8\u0CCD\u0CA8\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA6\u0CBF.", - NonZeroScale: "\u0CB8\u0CCD\u0C95\u0CC7\u0CB2\u0CCD \u0CB8\u0CCA\u0CA8\u0CCD\u0CA8\u0CC6 \u0C87\u0CB0 \u0CAC\u0CBE\u0CB0\u0CA6\u0CC1", - PercentScale: "\u0CB8\u0CCD\u0C95\u0CC7\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CB0\u0CCD\u0CB8\u0C82\u0C9F\u0CC7\u0C9C\u0CCD \u0C87\u0CB0\u0CAC\u0CC7\u0C95\u0CC1 (\u0C89\u0CA6\u0CBE\u0CB9\u0CB0\u0CA3: \u0CE7\u0CE8\u0CE6%%)", - NoOriginalForm: "\u0CAE\u0CC2\u0CB2 \u0CB0\u0CC2\u0CAA \u0CB2\u0CAD\u0CCD\u0CAF\u0CB5\u0CBF\u0CB0\u0CB5 \u0C87\u0CB2\u0CCD\u0CB2", - Close: "\u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CBF", - EqSource: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C8E\u0C95\u0CBC\u0CC1\u0C85\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0CB8\u0CCA\u0CB0\u0CCD\u0CB8\u0CCD" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/kn/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/TeX.js b/src/py/kaleido/vendor/mathjax/localization/kn/TeX.js deleted file mode 100644 index 06a2b2eb..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/kn/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/kn/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("kn","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD \u0C85\u0CA5\u0CB5 \u0C95\u0CA1\u0CBF\u0CAE\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", - ExtraCloseMissingOpen: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD \u0C85\u0CA5\u0CB5 \u0C95\u0CA1\u0CBF\u0CAE\u0CC6 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", - MissingLeftExtraRight: "\u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\left \u0C85\u0CA5\u0CB5 \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \\right", - MissingScript: "\u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0 \u0C85\u0CA5\u0CB5 \u0CA8\u0CBF\u0CAE\u0CCD\u0CA8\u0CBE\u0C95\u0CCD\u0CB7\u0CB0", - ExtraLeftMissingRight: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \\left \u0C85\u0CA5\u0CB5 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\right", - Misplaced: "\u0CA4\u0CAA\u0CCD\u0CAA \u0CB8\u0CCD\u0CA5\u0CB3\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0C9F\u0CCD\u0C9F\u0CBF\u0CA6\u0CCD\u0CA6\u0CC1 %1", - MissingOpenForSub: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CA8\u0CBE\u0C95\u0CCD\u0CB7\u0CB0\u0C95\u0CCD\u0C95\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97", - MissingOpenForSup: "\u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0\u0C95\u0CCD\u0C95\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97", - AmbiguousUseOf: "%1 \u0C87\u0CA8 \u0C85\u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0C89\u0CAA\u0CAF\u0CCB\u0C97", - EnvBadEnd: "\\begin{%1} \u0C87\u0CA8 \u0C85\u0C82\u0CA4 \\end{%2} \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CAE\u0CBE\u0CA6\u0CBF\u0CB9\u0CCB\u0C97\u0CBF\u0CA6\u0CC6", - EnvMissingEnd: "\u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\end{%1}", - MissingBoxFor: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CB8\u0C82\u0CA6\u0CC2\u0C95", - MissingCloseBrace: "\u0C95\u0CA1\u0CBF\u0CAE\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", - UndefinedControlSequence: "\u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F\u0CC0\u0C95\u0CB0\u0CBF\u0CB8\u0CA6 \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C85\u0CA8\u0CC1\u0C95\u0CCD\u0CB0\u0CAE %1", - DoubleExponent: "\u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CCD\u0CA5\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0; \u0CAC\u0CCD\u0CB0\u0CB8\u0CC6\u0CB8\u0CCD \u0C87\u0CA8 \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0CAE\u0CBE\u0CA1\u0CC1", - DoubleSubscripts: "\u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CCD\u0CA5\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0CA8\u0CBF\u0CAE\u0CCD\u0CA8\u0CBE\u0C95\u0CCD\u0CB7\u0CB0; \u0CAC\u0CCD\u0CB0\u0CB8\u0CC6\u0CB8\u0CCD \u0C87\u0CA8 \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0CAE\u0CBE\u0CA1\u0CC1", - DoubleExponentPrime: "\u0CAA\u0CCD\u0CB0\u0CC8\u0CAE\u0CCD \u0C87\u0C82\u0CA6 \u0C86\u0C97\u0CBF \u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CCD\u0CA4\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB9\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CB8\u0CBF\u0CA4\u0CC1\u0CA6\u0CC6. \u0CAC\u0CCD\u0CB0\u0CB8\u0CC6\u0CB8\u0CCD \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0CAE\u0CBE\u0CA6\u0CBF.", - CantUseHash1: "'macro \u0CAA\u0CCD\u0CAF\u0CBE\u0CB0\u0CBE\u0CAE\u0CC0\u0C9F\u0CB0\u0CCD \u0C95\u0CCD\u0CAF\u0CBE\u0CB0\u0CC6\u0C95\u0CCD\u0C9F\u0CB0\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAE\u0CBE\u0CA4\u0CCD \u0CAE\u0CCB\u0CA1\u0CCD \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2.", - MisplacedMiddle: "%1 \\left \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \\right \u0C87\u0CA8 \u0CAE\u0CA7\u0CCD\u0CAF\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", - MisplacedLimits: "%1 \u0CAC\u0CB0\u0CBF \u0C86\u0CAA\u0CB0\u0CC7\u0C9F\u0CB0\u0CCD\u0CB8\u0CCD \u0C87\u0C97\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD\u0CB0 \u0CB9\u0CBE\u0C95\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", - MisplacedMoveRoot: "%1 \u0CAC\u0CB0\u0CBF root \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CAE\u0CBE\u0CA4\u0CCD\u0CB0 \u0CAC\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", - MultipleCommand: " \u0C85\u0CA8\u0CC7\u0C95 %1.", - IntegerArg: "%1 \u0C87\u0C97\u0CC6 \u0CAC\u0C82\u0CA1 \u0C86\u0CB0\u0CCD\u0C97\u0CCD\u0CAF\u0CC1\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CB0\u0CCD\u0CA8\u0CBE\u0CA8\u0CCD\u0C95\u0CB5\u0CC7 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", - NotMathMLToken: "%1 \u0C9F\u0CCB\u0C95\u0CA8\u0CCD \u0C8E\u0CB2\u0CBF\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C85\u0CB2\u0CCD\u0CB2.", - InvalidMathMLAttr: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CAE\u0CBE\u0CA4 \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C97\u0CC1\u0CA3 : %1", - UnknownAttrForElement: "%1 %2 \u0C87\u0C97\u0CC6 \u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CA4\u0CC6 \u0C97\u0CC1\u0CA3 \u0C85\u0CB2\u0CCD\u0CB2", - MaxMacroSub1: "\u0CAE\u0CA5\u0CCD\u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C97\u0CB0\u0CBF\u0CB7\u0CCD\u0CA0 \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CAF \u0CAE\u0CC0\u0CB0\u0CBF\u0CA6\u0CC6 \u0CAE\u0CCD\u0CAF\u0CBE\u0C97\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD; \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CA8\u0CB0\u0CBE\u0CB5\u0CB0\u0CCD\u0CA4\u0CBF\u0CA4 \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0C95\u0CB0\u0CC6 \u0C87\u0CB2\u0CCD\u0CB2?", - MaxMacroSub2: "\u0C97\u0CB0\u0CBF\u0CB7\u0CCD\u0CA0 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CAF \u0CAE\u0CC0\u0CB0\u0CBF\u0CA6\u0CC6 \u0CAE\u0CCD\u0CAF\u0CBE\u0C97\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD; \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CA8\u0CB0\u0CBE\u0CB5\u0CB0\u0CCD\u0CA4\u0CBF\u0CA4 \u0CB2\u0CCD\u0CAF\u0CBE\u0C9F\u0CC6\u0C95\u0CCD\u0CB8\u0CCD \u0CAA\u0CB0\u0CBF\u0CB8\u0CB0\u0C95\u0CCD\u0C95\u0CC6 \u0C87\u0CB2\u0CCD\u0CB2?", - MissingArgFor: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6", - ExtraAlignTab: "\\cases \u0CAA\u0CA0\u0CCD\u0CAF\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0C85\u0CB2\u0CC8\u0CA8\u0CCD\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C9F\u0CCD\u0CAF\u0CBE\u0CAC\u0CCD.", - BracketMustBeDimension: "%1 \u0C87\u0C97\u0CC6 \u0C87\u0CA6\u0CCD\u0CA6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0C85\u0CB3\u0CA4\u0CC6\u0CB5\u0CC6 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", - InvalidEnv: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3 \u0CB9\u0CC6\u0CB8\u0CB0\u0CC1: %1", - UnknownEnv: "\u0C85\u0C9C\u0CCD\u0C9E\u0CBE\u0CA4 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3 '%1'", - ExtraCloseLooking: "%1 \u0CB9\u0CC1\u0CA1\u0CC1\u0C95\u0CC1\u0CB5\u0CBE\u0C97 \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CBF\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", - MissingCloseBracket: "%1 \u0C87\u0C97\u0CC6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6\u0C97\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CC6\u0CA6\u0CC6 ']' \u0CB8\u0CBF\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", - MissingOrUnrecognizedDelim: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0C85\u0CA5\u0CB5 \u0C85\u0CB0\u0CCD\u0CA5 \u0C86\u0C97\u0CA6 \u0C87\u0CA6\u0CCD\u0CA6 \u0CAC\u0CCD\u0CB0\u0C9A\u0CCD\u0C95\u0CC6\u0CA4\u0CCD.", - MissingDimOrUnits: "%1 \u0C87\u0C97\u0CC6 \u0CB8\u0CBF\u0C97\u0CA6\u0CC7 \u0C87\u0CA6\u0CCD\u0CA6 \u0C85\u0CB2\u0CBF\u0CA4\u0CC6 \u0C85\u0CA5\u0CB5 \u0C85\u0CA6\u0CB0 \u0C98\u0C9F\u0C95\u0C97\u0CB3\u0CC1.", - TokenNotFoundForCommand: "%1 \u0C87\u0C97\u0CC6 %2 \u0CB8\u0CBF\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2.", - MathNotTerminated: "\u0C97\u0CA3\u0CBF\u0CA4\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAA\u0CA5\u0CCD\u0CAF \u0CB8\u0C82\u0CA6\u0CC2\u0C95 \u0CB5\u0CB3\u0C97\u0CC6 \u0CAE\u0CC1\u0C97\u0CBF\u0CB8\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", - IllegalMacroParam: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0CAA\u0CCD\u0CAF\u0CBE\u0CB0\u0CBE\u0CAE\u0CC0\u0C9F\u0CB0\u0CCD \u0C87\u0C97\u0CC6 \u0C89\u0CB2\u0CCD\u0CB2\u0CC7\u0C96", - MaxBufferSize: "\u0CAE\u0CBE\u0CA4 \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C86\u0C82\u0CA4\u0CB0\u0CBF\u0C95 \u0CAC\u0CAB\u0CB0\u0CCD \u0C97\u0CBE\u0CA4\u0CCD\u0CB0\u0CA6 \u0CAE\u0CC0\u0CB0\u0CBF\u0CA6\u0CC6; \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CA8\u0CB0\u0CBE\u0CB5\u0CB0\u0CCD\u0CA4\u0CBF\u0CA4 \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0C95\u0CB0\u0CC6 \u0C87\u0CB2\u0CCD\u0CB2?", - CommandNotAllowedInEnv: "%2 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF %1 \u0C85\u0CB5\u0C95\u0CBE\u0CB6 \u0C85\u0CB2\u0CCD\u0CB2", - MultipleLabel: "%1 \u0C85\u0CA8\u0CC7\u0C95 \u0CB8\u0CB2 \u0CB5\u0CCD\u0CAF\u0CBE\u0C96\u0CCD\u0CAF\u0CBE\u0CA8\u0CBF\u0CB8\u0CB2\u0CC1 \u0C86\u0C97\u0CBF\u0C95\u0CCA\u0C82\u0CA1\u0CC1 \u0C89\u0C82\u0C9F\u0CC1", - CommandAtTheBeginingOfLine: "%1 \u0CAA\u0C82\u0C95\u0CCD\u0CA4\u0CBF\u0CA6 \u0CAE\u0CCA\u0CA6\u0CB2\u0CC1 \u0CAC\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", - IllegalAlign: "%1 \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CB8\u0CBE\u0CB2\u0CC1\u0C97\u0CC2\u0CA1\u0CBF\u0C95\u0CC6 \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCB\u0C97\u0CBF\u0CA6\u0CC6", - BadMathStyleFor: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CC6\u0C9F\u0CCD\u0C9F \u0C97\u0CA3\u0CBF\u0CA4\u0CA6\u0CCD\u0CA6\u0CC1 \u0CB6\u0CC8\u0CB2\u0CBF \u0C89\u0C82\u0C9F\u0CC1", - PositiveIntegerArg: "%1 \u0C87\u0C97\u0CC6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0CA7\u0CA8\u0CBE\u0CA4\u0CCD\u0CAE\u0C95 \u0CAA\u0CC2\u0CB0\u0CCD\u0CA3\u0CBE\u0C82\u0C95 \u0C87\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", - ErroneousNestingEq: "\u0C8E\u0C95\u0CBC\u0CC1\u0C85\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0CB0\u0C9A\u0CA8\u0CC6\u0C97\u0CB3 \u0CA4\u0CC3\u0CA4\u0CBF\u0CB5\u0CBE\u0CA6 \u0CA8\u0CC6\u0CB8\u0CCD\u0CA4\u0CBF\u0C82\u0C97\u0CCD", - MultlineRowsOneCol: "%1 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3\u0CA6 \u0CB5\u0CB3\u0C97\u0CC6 \u0C87\u0CA6\u0CCD\u0CA6 \u0CB8\u0CBE\u0CB2\u0CC1\u0C97\u0CB3\u0CBF\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC7 \u0CB8\u0CCD\u0CA4\u0C82\u0CAD \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", - MultipleBBoxProperty: "%2 \u0C87\u0CA8 \u0CB5\u0CB3\u0C97\u0CC6 %1 \u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CB2 \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCA\u0C97\u0CBF\u0CA6\u0CC6.", - InvalidBBoxProperty: "'%1' \u0C92\u0C82\u0CA6\u0CC1 \u0CAC\u0CA3\u0CCD\u0CA3, \u0C89\u0CAC\u0CCD\u0CAC\u0CBF\u0CB8\u0CB5 \u0C85\u0CB2\u0CBF\u0CA4\u0CC6, \u0C85\u0CA5\u0CB5\u0CBE \u0CB6\u0CC8\u0CB2\u0CBF \u0CB9\u0CBE\u0C97\u0CC6 \u0C95\u0CBE\u0CA8\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2.", - ExtraEndMissingBegin: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 %1 \u0C85\u0CA5\u0CB5 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\begingroup", - GlobalNotFollowedBy: "%1 \u0C87\u0CA8 \u0CAE\u0CC1\u0C82\u0CA6\u0CC6 \\let, \\def, \\def, \u0C85\u0CA5\u0CB5 \\newcommand \u0CAC\u0CB0\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2.", - UndefinedColorModel: "\u0CAC\u0CA3\u0CCD\u0CA3\u0CA6 \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF '%1' \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCB\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2.", - ModelArg1: "%1 \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF\u0C97\u0CC6 \u0CAC\u0CA3\u0CCD\u0CA3\u0CA6 \u0CE9 (3) \u0C85\u0C82\u0C95\u0C97\u0CB3\u0CC1 \u0CAC\u0CC6\u0C95\u0C97\u0CC1\u0CA4\u0CA6\u0CC6.", - InvalidDecimalNumber: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CA6\u0CB6\u0CAE\u0CB3\u0CA8\u0CCD\u0CB6", - ModelArg2: "%1 \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF\u0C97\u0CC6 \u0CAC\u0CA3\u0CCD\u0CA3\u0CA6 \u0C85\u0CA8\u0CCD\u0C96\u0C97\u0CB3\u0CC1 %2 \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 %3 \u0C87\u0CA8 \u0CAE\u0CA7\u0CCD\u0CAF \u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", - InvalidNumber: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0C85\u0C82\u0C95.", - NewextarrowArg1: "%1 \u0C87\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CA8\u0CC7 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C85\u0CA8\u0CC1\u0C95\u0CCD\u0CB0\u0CAE \u0C87\u0CB0 \u0CAC\u0CC6\u0C95\u0CC1.", - NewextarrowArg2: "%1 \u0C87\u0C97\u0CC6 \u0C8E\u0CB0\u0CA1\u0CA8\u0CC7 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0C95\u0CC6\u0CAE\u0CCD\u0CAE \u0CA6\u0CBF\u0C82\u0CA6 \u0CAC\u0CC7\u0CB0\u0CC6 \u0C86\u0CA6 \u0C8E\u0CB0\u0CA1\u0CC1 \u0CAA\u0CC2\u0CB0\u0CCD\u0CA3\u0CBE\u0C82\u0C95 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", - NewextarrowArg3: "%1 \u0C87\u0C97\u0CC6 \u0CAE\u0CC2\u0CB0\u0CA8\u0CC7 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CAF\u0CC1\u0CA8\u0CBF\u0C95\u0CCB\u0CA1\u0CCD \u0CB8\u0CE6\u0C95\u0CC7\u0CA4 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", - NoClosingChar: "\u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CC1\u0CB5 %1 \u0CB8\u0CBF\u0C97\u0CC1\u0CA4 \u0C87\u0CB2\u0CCD\u0CB2.", - IllegalControlSequenceName: "%1 \u0C87\u0C97\u0CC6 \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C85\u0CA8\u0CC1\u0C95\u0CCD\u0CB0\u0CAE", - IllegalParamNumber: "%1 \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CA8\u0CBF\u0CAF\u0CA4\u0CBE\u0C82\u0C95\u0C97\u0CB3 \u0C92\u0C82\u0CA6\u0CC1 \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CBE \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCB\u0C97\u0CBF\u0CA6\u0CCD\u0CA6\u0CC6", - MissingCS: "%1 \u0C86\u0CA6\u0CAE\u0CC7\u0CB2\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C95\u0CCD\u0CB0\u0CAE \u0CAC\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", - CantUseHash2: "%1 \u0C87\u0C97\u0CC6 \u0C9F\u0CC6\u0C82\u0CAA\u0CCD\u0CB2\u0CC6\u0C9F\u0CCD \u0C85\u0CB2\u0CCD\u0CB2\u0CBF # \u0C87\u0CA8 \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0C89\u0CAA\u0CAF\u0CCB\u0C97", - SequentialParam: " %1 \u0C87\u0C97\u0CC6 \u0CA8\u0CBF\u0CAF\u0CA4\u0CBE\u0C82\u0C95 \u0C92\u0C82\u0CA6\u0CC1 \u0C95\u0CCD\u0CB0\u0CAE \u0CAA\u0CCD\u0CB0\u0C95\u0CBE\u0CB0 \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CBE \u0CA4\u0CC6\u0C95\u0CCA\u0CB3\u0CC1\u0CAC\u0CC7\u0C95\u0CC1", - MissingReplacementString: "%1 \u0C87\u0CA8 \u0CB5\u0CCD\u0CAF\u0CBE\u0C96\u0CCD\u0CAF\u0CBE\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CAC\u0CA6\u0CB2\u0CBF \u0CB9\u0C97\u0CCD\u0C97", - MismatchUseDef: "%1 \u0C87\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0C85\u0CA6\u0CB0 \u0CB5\u0CCD\u0CAF\u0CBE\u0C96\u0CCD\u0CAF\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CB0\u0CBF\u0C9C\u0CC7\u0CA1\u0CBF \u0C86\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2", - RunawayArgument: "%1 \u0C87\u0C97\u0CC6 \u0C93\u0CA6\u0CC1 \u0CB9\u0CCB\u0C97\u0CC1\u0CB5 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 ?", - NoClosingDelim: "%1 \u0C87\u0C97\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CB5 \u0CAC\u0CCD\u0CB0\u0CBE\u0C95\u0CC6\u0C9F\u0CCD \u0CB8\u0CBF\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/kn/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/kn.js b/src/py/kaleido/vendor/mathjax/localization/kn/kn.js deleted file mode 100644 index 56f93514..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/kn/kn.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/kn/kn.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("kn",null,{ - menuTitle: "\u0C95\u0CA8\u0CCD\u0CA8\u0CA1", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "\u0CAE\u0CA5\u0CCD\u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C87\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CB8\u0CA6\u0CB8\u0CCD\u0CAF \u0C9A\u0CCA\u0CA8\u0CCD\u0CAB\u0CBC\u0CBF\u0C97\u0CC1\u0CB0\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0C95\u0CC1\u0C95\u0CC0 \u0CB8\u0CBF\u0C95\u0CCD\u0C95\u0CBF\u0CA6\u0CC6. \u0C85\u0CA6\u0CCD\u0CA6\u0CA8\u0CCD\u0CA8 \u0CB0\u0CA8\u0CCD \u0CAE\u0CBE\u0CA1\u0CAC\u0CC7\u0C95? \n\n(\u0CA8\u0CC0\u0CB5\u0CC7 \u0C85\u0CA6\u0CA8\u0CCD\u0CA8 \u0CB8\u0CC6\u0C9F\u0CCD \u0C85\u0CAA\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF\u0CA6\u0CC1 \u0C85\u0CB2\u0CCD\u0CB2 \u0C86\u0CA6\u0CB0\u0CC6 \"Cancel\" \u0C85\u0CA5\u0CB5\u0CBE \"\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1\" \u0CB5\u0CA4\u0CCD\u0CA4\u0CBF.)", - MathProcessingError: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF\u0CC6\u0CAF\u0CB2\u0CCD\u0CB2\u0CBF \u0CA6\u0CCB\u0CB7", - MathError: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CA6\u0CCB\u0CB7", - LoadFile: "%1 \u0CB2\u0CCB\u0CA1\u0CCD \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6", - Loading: "\u0CB2\u0CCB\u0CA1\u0CCD \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6", - LoadFailed: "%1 \u0CAB\u0CC8\u0CB2\u0CCD \u0CB2\u0CCB\u0CA1\u0CCD \u0C86\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", - ProcessMath: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6: %1%%", - Processing: "\u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6", - TypesetMath: "\u0C97\u0CA3\u0CBF\u0CA4 \u0C9F\u0CC8\u0CAA\u0CCD\u200D\u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD: %1%%", - Typesetting: "\u0C9F\u0CC8\u0CAA\u0CCD\u200D\u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD", - MathJaxNotSupported: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD MathJax\u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CC6\u0C82\u0CAC\u0CB2\u0CBF\u0CB8\u0CC1\u0CB5\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/kn/kn.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ko/FontWarnings.js deleted file mode 100644 index 179c0496..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ko/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ko/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ko","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax\uB294 \uBB38\uC11C\uC758 \uC218\uC2DD\uC744 \uD45C\uD604\uD558\uAE30 \uC704\uD574 \uC6F9 \uAE30\uBC18 \uD3F0\uD2B8\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB294\uB370 \uC2DC\uAC04\uC774 \uAC78\uB9AC\uC9C0\uB9CC, \uC2DC\uC2A4\uD15C \uD3F0\uD2B8 \uD3F4\uB354\uC5D0 \uC218\uC2DD \uD3F0\uD2B8\uAC00 \uC124\uCE58\uB418\uC5B4 \uC788\uB2E4\uBA74 \uBB38\uC11C\uAC00 \uB354 \uBE68\uB9AC \uD45C\uC2DC\uB420 \uAC83\uC785\uB2C8\uB2E4.", - imageFonts: "MathJax\uB294 \uB85C\uCEEC \uB610\uB294 \uC6F9 \uAE30\uBC18 \uAE00\uAF34\uC774 \uC544\uB2CC, \uADF8\uB9BC \uAE00\uAF34\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uD3C9\uC18C\uBCF4\uB2E4 \uB290\uB9AC\uAC8C \uD45C\uD604\uB420 \uC218 \uC788\uC73C\uBA70 \uC218\uD559 \uAE30\uD638\uAC00 \uD504\uB9B0\uD130\uC758 \uCD5C\uB300 \uD574\uC0C1\uB3C4\uB85C \uC778\uC1C4\uB418\uC9C0 \uBABB\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - webFonts: "\uD604\uB300\uC758 \uB300\uBD80\uBD84\uC758 \uBE0C\uB77C\uC6B0\uC800\uB4E4\uC740 \uC6F9\uC744 \uD1B5\uD574 \uD3F0\uD2B8\uB97C \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB294 \uAC83\uC774 \uAC00\uB2A5\uD569\uB2C8\uB2E4. \uCD5C\uC2E0 \uBC84\uC804\uC758 \uBE0C\uB77C\uC6B0\uC800\uB85C \uC5C5\uB370\uC774\uD2B8(\uB610\uB294 \uBE0C\uB77C\uC6B0\uC800 \uBCC0\uACBD)\uD558\uBA74 \uC774 \uBB38\uC11C\uC758 \uC218\uC2DD\uC758 \uD488\uC9C8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - noFonts: "MathJax\uB294 \uC218\uC2DD\uC744 \uD45C\uC2DC\uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uB294 \uAE00\uAF34\uC744 \uC704\uCE58\uC2DC\uD0AC \uC218 \uC5C6\uACE0 \uADF8\uB9BC \uAE00\uAF34\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uAE30 \uB54C\uBB38\uC5D0 \uBE0C\uB77C\uC6B0\uC800\uAC00 \uD45C\uC2DC\uD560 \uC218 \uC788\uC744 \uAC83\uC774\uB77C \uAE30\uB300\uD558\uBA74\uC11C \uC77C\uBC18 \uC720\uB2C8\uCF54\uB4DC \uBB38\uC790\uB85C \uB300\uC2E0 \uBCF4\uC5EC\uC8FC\uACE0 \uC788\uC2B5\uB2C8\uB2E4. \uC77C\uBD80 \uBB38\uC790\uAC00 \uC62C\uBC14\uB974\uAC8C \uBCF4\uC774\uC9C0 \uC54A\uC744 \uC218 \uC788\uC73C\uBA70 \uC544\uC608 \uBCF4\uC774\uC9C0 \uC54A\uC744 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4.", - fonts: "MathJax\uB294 [STIX \uAE00\uAF34](%1)\uC774\uB098 [MathJax TeX \uAE00\uAF34](%2) \uC911 \uD558\uB098\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC774 \uAE00\uAF34\uB4E4 \uAC00\uC6B4\uB370 \uD558\uB098\uB97C \uB2E4\uC6B4\uB85C\uB4DC\uD558\uACE0 \uC124\uCE58\uD558\uBA74 \uB2F9\uC2E0\uC758 MathJax \uACBD\uD5D8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - STIXPage: "\uC774 \uBB38\uC11C\uB294 [STIX \uAE00\uAF34](%1)\uC744 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uACC4\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uD574\uB2F9 \uAE00\uAF34\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uC5EC \uC124\uCE58\uD558\uBA74 \uB2F9\uC2E0\uC758 MathJax \uACBD\uD5D8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - TeXPage: "\uC774 \uBB38\uC11C\uB294 [MathJax TeX \uAE00\uAF34](%1)\uC744 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uACC4\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uD574\uB2F9 \uAE00\uAF34\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uC5EC \uC124\uCE58\uD558\uBA74 \uB2F9\uC2E0\uC758 MathJax \uACBD\uD5D8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ko/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ko/HTML-CSS.js deleted file mode 100644 index eb53c85e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ko/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ko/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ko","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "%1 \uC6F9\uD3F0\uD2B8\uB97C \uBD88\uB7EC\uC624\uACE0 \uC788\uC2B5\uB2C8\uB2E4...", - CantLoadWebFont: "%1 \uC6F9\uD3F0\uD2B8\uB97C \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", - FirefoxCantLoadWebFont: "\uD30C\uC774\uC5B4\uD3ED\uC2A4\uB294 \uC6D0\uACA9 \uD638\uC2A4\uD2B8\uB85C\uBD80\uD130 \uC6F9 \uD3F0\uD2B8\uB97C \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", - CantFindFontUsing: "%1\uB97C \uC0AC\uC6A9\uD55C \uC720\uD6A8\uD55C \uD3F0\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", - WebFontsNotAvailable: "\uC6F9 \uD3F0\uD2B8 \uC0AC\uC6A9\uC774 \uBD88\uAC00\uD569\uB2C8\uB2E4. \uC774\uBBF8\uC9C0 \uD3F0\uD2B8\uB97C \uB300\uC2E0 \uC0AC\uC6A9\uD569\uB2C8\uB2E4." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ko/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ko/HelpDialog.js deleted file mode 100644 index c2c0adf7..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ko/HelpDialog.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ko/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ko","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax \uB3C4\uC6C0\uB9D0", - Browsers: "*\uBE0C\uB77C\uC6B0\uC800*: MathJax\uB294 IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+\uB97C \uD3EC\uD568\uD558\uB294 \uBAA8\uB4E0 \uCD5C\uC2E0 \uBE0C\uB77C\uC6B0\uC800\uC640 \uB300\uBD80\uBD84\uC758 \uBAA8\uBC14\uC77C \uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C \uC791\uB3D9\uD569\uB2C8\uB2E4.", - Menu: "*\uC218\uC2DD \uBA54\uB274*: MathJax\uB294 \uBC29\uC815\uC2DD\uC5D0 \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274\uB97C \uB367\uBD99\uC785\uB2C8\uB2E4. \uBA54\uB274\uC5D0 \uC811\uADFC\uD558\uB824\uBA74 \uC544\uBB34 \uC218\uC2DD\uC744 \uC67C\uCABD \uD074\uB9AD\uD558\uAC70\uB098 \uC624\uB978\uCABD \uD074\uB9AD\uD558\uC138\uC694.", - Zoom: "*\uC218\uC2DD \uD655\uB300*: \uBC29\uC815\uC2DD\uC744 \uC77D\uB294 \uB370 \uC5B4\uB824\uC6C0\uC774 \uC788\uB2E4\uBA74, MathJax\uC5D0\uC11C \uBC29\uC815\uC2DD\uC744 \uB354 \uC798 \uBCFC \uC218 \uC788\uB3C4\uB85D \uC2DD\uC744 \uD06C\uAC8C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - MathJax: "*MathJax*\uB294 \uBB38\uC11C \uC791\uC131\uC790\uAC00 \uC6F9 \uD398\uC774\uC9C0\uC5D0 \uC218\uD559\uC744 \uD3EC\uD568\uD560 \uC218 \uC788\uB3C4\uB85D \uD574\uC8FC\uB294 JavaScript \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC785\uB2C8\uB2E4. \uBB38\uC11C\uB97C \uC77D\uAE30 \uC704\uD574 \uB3C5\uC790\uAC00 \uB530\uB85C \uD574\uC57C \uD558\uB294 \uAC83\uC740 \uC5C6\uC2B5\uB2C8\uB2E4.", - Language: "*Language* \uBA54\uB274\uC5D0\uC11C MathJax\uAC00 \uBA54\uB274\uC640 \uACBD\uACE0 \uBA54\uC2DC\uC9C0\uB85C\uC368 \uC0AC\uC6A9\uD558\uB294 \uC5B8\uC5B4\uB97C \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - CloseDialog: "\uB3C4\uC6C0\uB9D0 \uB300\uD654 \uC0C1\uC790 \uB2EB\uAE30" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ko/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ko/MathML.js deleted file mode 100644 index fc7fb389..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ko/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ko/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ko","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ko/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ko/MathMenu.js deleted file mode 100644 index 1a265875..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ko/MathMenu.js +++ /dev/null @@ -1,106 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ko/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ko","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\uC218\uC2DD \uBCF4\uAE30", - MathMLcode: "MathML \uCF54\uB4DC", - OriginalMathML: "\uC6D0\uB798 MathML", - TeXCommands: "TeX \uBA85\uB839", - AsciiMathInput: "AsciiMathML \uC785\uB825", - Original: "\uC6D0\uB798 \uC591\uC2DD", - ErrorMessage: "\uC624\uB958 \uBA54\uC2DC\uC9C0", - Annotation: "\uC8FC\uC11D", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Content MathML", - OpenMath: "OpenMath", - texHints: "MathML\uC5D0 TeX \uD78C\uD2B8 \uBCF4\uC774\uAE30", - Settings: "\uC218\uC2DD \uC124\uC815", - ZoomTrigger: "\uD2B8\uB9AC\uAC70 \uD655\uB300", - Hover: "\uAC00\uB9AC\uD0A4\uAE30", - Click: "\uD074\uB9AD", - DoubleClick: "\uB354\uBE14 \uD074\uB9AD", - NoZoom: "\uD655\uB300 \uC5C6\uC74C", - TriggerRequires: "\uD544\uC694\uD55C \uD2B8\uB9AC\uAC70:", - Option: "\uC120\uD0DD \uC0AC\uD56D", - Alt: "Alt", - Command: "\uCEE4\uB9E8\uB4DC", - Control: "\uCEE8\uD2B8\uB864", - Shift: "\uC2DC\uD504\uD2B8", - ZoomFactor: "\uD655\uB300 \uBC30\uC728", - Renderer: "\uC218\uC2DD \uB80C\uB354\uB7EC", - MPHandles: "MathPlayer\uC5D0 \uCC98\uB9AC\uD560 \uC774\uBCA4\uD2B8:", - MenuEvents: "\uBA54\uB274 \uC774\uBCA4\uD2B8", - MouseEvents: "\uB9C8\uC6B0\uC2A4 \uC774\uBCA4\uD2B8", - MenuAndMouse: "\uB9C8\uC6B0\uC2A4\uC640 \uBA54\uB274 \uC774\uBCA4\uD2B8", - FontPrefs: "\uAE00\uAF34 \uD658\uACBD \uC124\uC815", - ForHTMLCSS: "HTML-CSS:", - Auto: "\uC790\uB3D9", - TeXLocal: "TeX (\uB85C\uCEEC)", - TeXWeb: "TeX (\uC6F9)", - TeXImage: "TeX (\uADF8\uB9BC)", - STIXLocal: "STIX (\uB85C\uCEEC)", - ContextMenu: "\uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274", - Browser: "\uD0D0\uC0C9\uAE30", - Scale: "\uBAA8\uB4E0 \uC218\uC2DD \uBC30\uC728 ...", - Discoverable: "\uAC00\uB9AC\uD0A4\uBA74 \uAC15\uC870", - Locale: "\uC5B8\uC5B4", - LoadLocale: "URL\uC5D0\uC11C \uC5F4\uAE30 ...", - About: "MathJax \uC815\uBCF4", - Help: "MathJax \uB3C4\uC6C0\uB9D0", - localTeXfonts: "\uB85C\uCEEC TeX \uAE00\uAF34 \uC0AC\uC6A9", - webTeXfonts: "\uC6F9 TeX \uAE00\uAF34 \uC0AC\uC6A9", - imagefonts: "\uADF8\uB9BC \uAE00\uAF34 \uC0AC\uC6A9", - localSTIXfonts: "\uB85C\uCEEC STIX \uAE00\uAF34 \uC0AC\uC6A9", - webSVGfonts: "\uC6F9 SVG \uAE00\uAF34 \uC0AC\uC6A9", - genericfonts: "\uC77C\uBC18 \uC720\uB2C8\uCF54\uB4DC \uAE00\uAF34 \uC0AC\uC6A9", - wofforotffonts: "woff \uB610\uB294 otf \uAE00\uAF34", - eotffonts: "eot \uAE00\uAF34", - svgfonts: "svg \uAE00\uAF34", - WebkitNativeMMLWarning: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uAC00 \uAE30\uBCF8\uC801\uC73C\uB85C MathML\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAC83 \uAC19\uAE30 \uB54C\uBB38\uC5D0 MathML \uCD9C\uB825\uC73C\uB85C \uC804\uD658\uD558\uBA74 \uBB38\uC11C\uC5D0 \uC788\uB294 \uC218\uC2DD\uC744 \uC77D\uC744 \uC218 \uC5C6\uAC8C \uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - MSIENativeMMLWarning: "Internet Explorer\uB294 MathML \uCD9C\uB825\uC744 \uCC98\uB9AC\uD558\uAE30 \uC704\uD574 MathPlayer \uD50C\uB7EC\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.", - OperaNativeMMLWarning: "\uC624\uD398\uB77C\uC758 MathML \uC9C0\uC6D0\uC740 \uC81C\uD55C\uC801\uC774\uBBC0\uB85C MathML \uCD9C\uB825\uC73C\uB85C \uC804\uD658\uD558\uBA74 \uC77C\uBD80 \uD45C\uD604\uC774 \uBD88\uC644\uC804\uD558\uAC8C \uB80C\uB354\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - SafariNativeMMLWarning: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uC758 \uAE30\uBCF8 MathML\uC740 MathJax\uC5D0\uC11C \uC0AC\uC6A9\uD558\uB294 \uBAA8\uB4E0 \uAE30\uB2A5\uC744 \uAD6C\uD604\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uC77C\uBD80 \uD45C\uD604\uC774 \uC81C\uB300\uB85C \uB80C\uB354\uB418\uC9C0 \uC54A\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - FirefoxNativeMMLWarning: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uC758 \uAE30\uBCF8 MathML\uC740 MathJax\uC5D0\uC11C \uC0AC\uC6A9\uD558\uB294 \uBAA8\uB4E0 \uAE30\uB2A5\uC744 \uAD6C\uD604\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uC77C\uBD80 \uD45C\uD604\uC774 \uC81C\uB300\uB85C \uB80C\uB354\uB418\uC9C0 \uC54A\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - LoadURL: "\uC774 URL\uC5D0\uC11C \uBC88\uC5ED \uB370\uC774\uD130 \uC5F4\uAE30:", - BadData: "%1\uC5D0\uC11C \uBC88\uC5ED \uB370\uC774\uD130\uB97C \uC5F4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", - NonZeroScale: "\uBC30\uC728\uC740 0\uC774 \uC544\uB2C8\uC5B4\uC57C \uD569\uB2C8\uB2E4", - PercentScale: "\uBC30\uC728\uC740 \uBC31\uBD84\uC728\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4 (\uC608, 120%%)", - IE9warning: "MathJax \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274\uAC00 \uBE44\uD65C\uC131\uD654\uB418\uC9C0\uB9CC, \uB300\uC2E0 MathJax \uBA54\uB274\uB97C \uC5BB\uC73C\uB824\uBA74 Alt-\uD074\uB9AD\uC744 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - NoOriginalForm: "\uC6D0\uB798 \uC591\uC2DD\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", - Close: "\uB2EB\uAE30", - EqSource: "MathJax \uC218\uC2DD \uC790\uB8CC", - MSIESVGWarning: "SVG\uB294 Internet Explorer 9 \uC774\uD558\uB098 IE8 \uC774\uD558\uB97C \uC5D0\uBBAC\uB808\uC774\uD2B8\uB97C \uD560 \uB54C \uAD6C\uD604\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. SVG \uCD9C\uB825\uC73C\uB85C \uC804\uD658\uD558\uB294 \uAC83\uC740 \uC218\uC2DD\uC774 \uC798 \uD45C\uC2DC\uB418\uC9C0 \uC54A\uAC8C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", - STIXWeb: "STIX (\uC6F9)", - AsanaMathWeb: "Asana Math (\uC6F9)", - GyrePagellaWeb: "Gyre Pagella (\uC6F9)", - GyreTermesWeb: "Gyre Termes (\uC6F9)", - LatinModernWeb: "Latin Modern (\uC6F9)", - NeoEulerWeb: "Neo Euler (\uC6F9)", - SwitchAnyway: "\uC5B4\uCA0C\uB4E0 \uB80C\uB354\uB7EC\uB97C \uC804\uD658\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?\n\n(\uC804\uD658\uD558\uB824\uBA74 \uD655\uC778\uC744, \uD604\uC7AC \uB80C\uB354\uB7EC\uB85C \uACC4\uC18D\uD558\uB824\uBA74 \uCDE8\uC18C\uB97C \uB204\uB974\uC138\uC694)", - CloseAboutDialog: "MathJax \uC815\uBCF4 \uB300\uD654 \uC0C1\uC790 \uB2EB\uAE30", - FastPreview: "\uACE0\uC18D \uBBF8\uB9AC \uBCF4\uAE30" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ko/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ko/TeX.js deleted file mode 100644 index 5585f7d8..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ko/TeX.js +++ /dev/null @@ -1,66 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ko/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ko","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\uB2EB\uD788\uC9C0 \uC54A\uC740 \uC5EC\uB294 \uAD04\uD638\uAC00 \uC788\uC2B5\uB2C8\uB2E4.", - ExtraCloseMissingOpen: "\uB2EB\uB294 \uAD04\uD638\uAC00 \uCD94\uAC00\uB85C \uB0A8\uC544\uC788\uC2B5\uB2C8\uB2E4.", - MissingLeftExtraRight: "\\left\uAC00 \uC5C6\uAC70\uB098 \\right\uAC00 \uCD94\uAC00\uB85C \uC788\uC2B5\uB2C8\uB2E4", - ExtraLeftMissingRight: "\\left\uAC00 \uCD94\uAC00\uB85C \uC788\uAC70\uB098 \\right\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", - Misplaced: "%1\uC758 \uC704\uCE58\uAC00 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", - MissingOpenForSub: "\uC544\uB798 \uCCA8\uC790\uC758 \uC5EC\uB294 \uAD04\uD638\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", - MissingOpenForSup: "\uC704 \uCCA8\uC790\uC758 \uC5EC\uB294 \uAD04\uD638\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", - EnvBadEnd: "\\begin{%1}\uC774 \\end{%2}(\uC73C)\uB85C \uB05D\uB0A9\uB2C8\uB2E4", - EnvMissingEnd: "\\end{%1}\uC774 \uBE60\uC84C\uC2B5\uB2C8\uB2E4", - MissingBoxFor: "%1 \uBC15\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", - MissingCloseBrace: "\uB2EB\uB294 \uAD04\uD638\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", - DoubleExponent: "\uC774\uC911 \uC9C0\uC218: \uBA85\uD655\uC131\uC744 \uC704\uD574 \uAD04\uD638\uB97C \uC0AC\uC6A9\uD558\uC138\uC694", - DoubleSubscripts: "\uC774\uC911 \uC544\uB798 \uCCA8\uC790: \uBA85\uD655\uC131\uC744 \uC704\uD574 \uAD04\uD638\uB97C \uC0AC\uC6A9\uD558\uC138\uC694", - MisplacedMiddle: "%1\uC740 \\left\uC640 \\right \uC0AC\uC774\uC5D0 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4", - MisplacedLimits: "%1\uC740 \uC5F0\uC0B0\uC790\uB9CC \uD5C8\uC6A9\uB429\uB2C8\uB2E4.", - MisplacedMoveRoot: "%1\uC740 \uB8E8\uD2B8 \uC548\uC5D0\uC11C\uB9CC \uB098\uD0C0\uB0A9\uB2C8\uB2E4.", - MultipleCommand: "%1\uC774 \uC911\uBCF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4", - IntegerArg: "%1\uC5D0 \uB300\uD55C \uC778\uC790\uB294 \uC815\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4.", - MissingArgFor: "%1 \uC778\uC790\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", - InvalidEnv: "\uC62C\uBC14\uB974\uC9C0 \uC54A\uC740 \uD658\uACBD \uC774\uB984 '%1'", - UnknownEnv: "\uC54C \uC218 \uC5C6\uB294 \uD658\uACBD '%1'", - ExtraCloseLooking: "%1\uC744 \uCC3E\uB294 \uB3C4\uC911\uC5D0 \uC5EC\uBD84\uC758 \uB2EB\uB294 \uC911\uAD04\uD638\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", - MissingCloseBracket: "%1\uC758 \uC778\uC790\uC5D0 \uB300\uD574 \uB2EB\uB294 ']' \uAE30\uD638\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", - CommandNotAllowedInEnv: "%1\uC740 %2 \uD658\uACBD\uC5D0\uC11C \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4", - MultipleLabel: "'%1' label\uC774 \uC911\uBCF5\uC73C\uB85C \uC815\uC758\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", - CommandAtTheBeginingOfLine: "%1\uC740 \uC904\uC758 \uCC98\uC74C\uC5D0 \uC640\uC57C \uD569\uB2C8\uB2E4.", - IllegalAlign: "%1\uC5D0 \uC9C0\uC815\uB41C \uC778\uC218\uB294 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", - UndefinedColorModel: "'%1' \uC0C9\uC0C1 \uBAA8\uB378\uC774 \uC815\uC758\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.", - ModelArg1: "%1 \uBAA8\uB378\uC5D0 \uB300\uD55C \uC0C9\uC0C1 \uAC12\uC740 3\uAC1C\uC758 \uC218\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.", - InvalidDecimalNumber: "\uC62C\uBC14\uB974\uC9C0 \uC54A\uC740 \uC2ED\uC9C4\uC218", - InvalidNumber: "\uC798\uBABB\uB41C \uC22B\uC790\uC785\uB2C8\uB2E4", - NoClosingChar: "\uB2EB\uB294 \uAD04\uD638 %1\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", - IllegalControlSequenceName: "%1\uC5D0 \uB300\uD55C \uC81C\uC5B4 \uC2DC\uD000\uC2A4 \uC774\uB984\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", - IllegalParamNumber: "%1\uC5D0 \uC9C0\uC815\uB41C \uBCC0\uC218 \uC218\uAC00 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", - CantUseHash2: "%1\uC5D0 \uB300\uD55C \uD15C\uD50C\uB9BF\uC5D0 #\uC758 \uC0AC\uC6A9\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", - UndefinedControlSequence: "\uC815\uC758\uB418\uC9C0 \uC54A\uC740 \uCEE8\uD2B8\uB864 \uC2DC\uD000\uC2A4 %1", - MathNotTerminated: "\uD14D\uC2A4\uD2B8 \uC0C1\uC790\uC5D0\uC11C \uC218\uC2DD\uC774 \uC644\uC131\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4", - MissingCS: "%1 \uC55E\uC5D0 \uCEE8\uD2B8\uB864 \uC2DC\uD000\uC2A4\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4", - MismatchUseDef: "%1\uC758 \uC0AC\uC6A9\uC774 \uADF8\uAC83\uC758 \uC815\uC758\uC640 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ko/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/ko.js b/src/py/kaleido/vendor/mathjax/localization/ko/ko.js deleted file mode 100644 index f3456ea4..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ko/ko.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ko/ko.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ko",null,{ - menuTitle: "\uD55C\uAD6D\uC5B4", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax\uAC00 \uC2E4\uD589\uD560 \uCF54\uB4DC\uB97C \uD3EC\uD568\uD558\uB294 \uC0AC\uC6A9\uC790-\uC124\uC815 \uCFE0\uD0A4\uB97C \uCC3E\uC558\uC2B5\uB2C8\uB2E4. \uC2E4\uD589\uD558\uACA0\uC2B5\uB2C8\uAE4C?\n\n(\uCFE0\uD0A4\uB97C \uC2A4\uC2A4\uB85C \uC124\uC815\uD558\uC9C0 \uC54A\uC73C\uBA74 \uCDE8\uC18C\uB97C \uB20C\uB7EC\uC57C \uD569\uB2C8\uB2E4.)", - MathProcessingError: "\uC218\uC2DD \uCC98\uB9AC \uC624\uB958", - MathError: "\uC218\uC2DD \uC624\uB958", - LoadFile: "%1\uC744(\uB97C) \uBD88\uB7EC\uC624\uB294 \uC911", - Loading: "\uBD88\uB7EC\uC624\uB294 \uC911", - LoadFailed: "\uD30C\uC77C\uC744 \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: %1", - ProcessMath: "\uC218\uC2DD \uCC98\uB9AC \uC911: %1%%", - Processing: "\uCC98\uB9AC \uC911", - TypesetMath: "\uC218\uC2DD \uC870\uD310 \uC911: %1%%", - Typesetting: "\uC870\uD310 \uC911", - MathJaxNotSupported: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uB294 MathJax\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ko/ko.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/lb/FontWarnings.js deleted file mode 100644 index 6109607b..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lb/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lb/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lb","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lb/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/lb/HTML-CSS.js deleted file mode 100644 index d88d5dff..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lb/HTML-CSS.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lb/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lb","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lb/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/lb/HelpDialog.js deleted file mode 100644 index ce86b83c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lb/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lb/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lb","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lb/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/MathML.js b/src/py/kaleido/vendor/mathjax/localization/lb/MathML.js deleted file mode 100644 index b47efc1c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lb/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lb/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lb","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lb/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/lb/MathMenu.js deleted file mode 100644 index 0b39dc23..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lb/MathMenu.js +++ /dev/null @@ -1,55 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lb/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lb","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - MathMLcode: "MathML Code", - OriginalMathML: "Original MathML", - Original: "Original Formulaire", - ErrorMessage: "Feelermessage", - Annotation: "Notiz", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - OpenMath: "OpenMath", - Settings: "Math Astellungen", - Hover: "Driwwerfueren", - Click: "Klicken", - DoubleClick: "Duebel-Klick", - NoZoom: "Kee Zoom", - Option: "Optioun", - Alt: "Alt", - Control: "Ctrl", - Auto: "Automatesch", - TeXImage: "TeX (Bild)", - STIXLocal: "STIX (lokal)", - ContextMenu: "kontextuelle Men\u00FC", - Browser: "Browser", - Locale: "Sprooch", - LoadLocale: "Luede vun der URL ...", - About: "Iwwer MathJax", - Help: "MathJax H\u00EBllef", - LoadURL: "Iwwersetzungsdonn\u00E9e\u00EB vun d\u00EBser URL lueden:", - Close: "Zoumaachen" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lb/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/TeX.js b/src/py/kaleido/vendor/mathjax/localization/lb/TeX.js deleted file mode 100644 index 3414b561..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lb/TeX.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lb/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lb","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lb/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/lb.js b/src/py/kaleido/vendor/mathjax/localization/lb/lb.js deleted file mode 100644 index 77aca3ac..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lb/lb.js +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lb/lb.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lb",null,{ - menuTitle: "L\u00EBtzebuergesch", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathError: "Math Feeler", - LoadFile: "%1 lueden", - Loading: "Lueden", - LoadFailed: "De Fichier konnt net geluede ginn: %1", - Processing: "Verschaffen", - MathJaxNotSupported: "\u00C4re browser \u00EBnnerst\u00EBtzt MathJax net" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) return 1; // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lb/lb.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/lki/FontWarnings.js deleted file mode 100644 index 85395668..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lki/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lki/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lki","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0632\u0645\u0627\u0646\u06CC \u062C\u0647\u062A \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0628\u06AF\u06CC\u0631\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0631\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u0633\u062A\u0642\u06CC\u0645 \u062F\u0631 \u067E\u0648\u0634\u0647\u0654 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0633\u06CC\u0633\u062A\u0645\u200C\u0639\u0627\u0645\u0644 \u062E\u0648\u062F \u0642\u0631\u0627\u0631 \u062F\u0647\u06CC\u062F \u0646\u0645\u0627\u06CC\u0634 \u0635\u0641\u062D\u0627\u062A \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u0646\u062F \u0634\u062F.", - imageFonts: "MathJax \u0628\u0647 \u062C\u0627\u06CC \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u062D\u0644\u06CC \u06CC\u0627 \u0648\u0628\u06CC \u0627\u0632 \u062A\u0635\u0627\u0648\u06CC\u0631 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0627\u0632 \u062D\u0627\u0644\u062A \u0639\u0627\u062F\u06CC \u06A9\u0646\u062F\u062A\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u062F\u0631 \u062C\u0632\u0626\u06CC\u0627\u062A \u06A9\u0627\u0645\u0644 \u0686\u0627\u067E\u06AF\u0631 \u0634\u0645\u0627 \u0686\u0627\u067E \u0646\u0634\u0648\u0646\u062F.", - noFonts: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A \u0642\u0644\u0645\u06CC \u06A9\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F \u0631\u0627 \u0628\u06CC\u0627\u0628\u062F \u0648 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0647 \u0627\u06CC\u0646 \u0627\u0645\u06CC\u062F \u06A9\u0647 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u062A\u0648\u0627\u0646\u062F \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0639\u0645\u0648\u0645\u06CC \u0631\u0627 \u0686\u0627\u067E \u06A9\u0646\u062F \u0628\u0647 \u0622\u0646\u200C\u0647\u0627 \u0628\u0627\u0632\u0645\u06CC\u200C\u06AF\u0631\u062F\u062F. \u0628\u0639\u0636\u06CC \u0627\u0632 \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u06CC\u0627 \u0627\u0635\u0644\u0627\u064B \u0628\u0647 \u06A9\u0644 \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", - webFonts: "\u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC \u062F\u0647\u0646\u062F \u06A9\u0647 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0632 \u0637\u0631\u06CC\u0642 \u0648\u0628 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0634\u0648\u0646\u062F. \u0628\u0647\u200C\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC\u200C\u06A9\u0631\u062F\u0646 \u0628\u0647 \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u062E\u0631\u06CC\u0646 \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0645\u0631\u0648\u0631\u06AF\u0631\u062A\u0627\u0646 (\u06CC\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631) \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u06A9\u06CC\u0641\u06CC\u062A \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", - fonts: "MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u06CC\u0627 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%2) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u0646\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", - STIXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC\u200C\u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0628\u0647\u0628\u0648\u062F \u06CC\u0627\u0628\u062F.", - TeXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC \u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u06A9\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u0645\u06CC\u200C\u0628\u062E\u0634\u062F." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lki/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/lki/HTML-CSS.js deleted file mode 100644 index cf8b31be..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lki/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lki/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lki","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0642\u0644\u0645 \u0648\u0628\u06CC %1", - CantLoadWebFont: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u0642\u0644\u0645 \u0648\u0628\u06CC %1 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0631\u062F", - FirefoxCantLoadWebFont: "\u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0631\u0627 \u0627\u0632 \u06CC\u06A9 \u0645\u06CC\u0632\u0627\u0646 \u0627\u0632 \u0631\u0627\u0647 \u062F\u0648\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F", - CantFindFontUsing: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u06CC\u06A9 \u0642\u0644\u0645 \u0645\u0639\u062A\u0628\u0631 \u0628\u0627\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 %1 \u06CC\u0627\u0641\u062A", - WebFontsNotAvailable: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0646\u0627\u0645\u0648\u062C\u0648\u062F\u0646\u062F -- \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0628\u0647 \u062C\u0627\u06CC \u0622\u0646" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lki/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/lki/HelpDialog.js deleted file mode 100644 index 34b2d63a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lki/HelpDialog.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lki/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lki","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", - MathJax: "*MathJax* \u06CC\u06A9 \u06A9\u062A\u0627\u0628\u062E\u0627\u0646\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0646\u0648\u06CC\u0633\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u0635\u0641\u062D\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u062F\u0631\u0648\u0646 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC \u0642\u0631\u0627\u0631 \u062F\u0647\u0646\u062F. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062E\u0648\u0627\u0646\u0646\u062F\u0647\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u0646\u062F\u0627\u0631\u06CC\u062F \u06A9\u0627\u0631\u06CC \u0627\u0646\u062C\u0627\u0645 \u062F\u0647\u06CC\u062F \u06A9\u0647 \u0627\u06CC\u0646 \u0627\u062A\u0641\u0627\u0642 \u0628\u06CC\u0641\u062A\u062F.", - Browsers: "*\u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627*: MathJax \u0628\u0627 \u0647\u0645\u0647\u0654 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0634\u0627\u0645\u0644 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u06F3 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u06A9\u0631\u0648\u0645 \u06F0.\u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0633\u0627\u0641\u0627\u0631\u0633\u06CC \u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0627\u067E\u0631\u0627\u06CC \u06F9.\u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627 \u0648 \u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u062A\u0644\u0641\u0646 \u0647\u0645\u0631\u0627\u0647 \u06A9\u0627\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F.", - Menu: "*\u0645\u0646\u0648\u06CC \u0631\u06CC\u0627\u0636\u06CC*: MathJax \u06CC\u06A9 \u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC \u0628\u0647 \u0645\u0639\u0627\u062F\u0644\u0627\u062A \u0645\u06CC\u200C\u0627\u0641\u0632\u0627\u06CC\u062F. \u0628\u0627 \u06A9\u0644\u06CC\u06A9 \u0631\u0627\u0633\u062A \u06CC\u0627 \u06A9\u0644\u06CC\u06A9 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u0647\u0627\u0631 (CTRL) \u062F\u0631 \u0647\u0631 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0627\u06CC \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0647 \u0627\u06CC\u0646 \u0645\u0646\u0648 \u062F\u0633\u062A \u0628\u06CC\u0627\u0628\u06CC\u062F.", - ShowMath: "*\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC \u0628\u0647 \u0639\u0646\u0648\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0634\u0645\u0627 \u0645\u0646\u0628\u0639 \u0646\u0634\u0627\u0646\u0647\u200C\u06AF\u0630\u0627\u0631\u06CC \u0641\u0631\u0645\u0648\u0644 \u0631\u0627 \u0628\u0631\u0627\u06CC \u0631\u0648\u0646\u0648\u0634\u062A \u0648 \u0686\u0633\u067E\u0627\u0646\u062F\u0646 \u0628\u0628\u06CC\u0646\u06CC\u062F (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 MathML \u06CC\u0627 \u062F\u0631 \u0642\u0627\u0644\u0628 \u0627\u0635\u0644\u06CC \u0622\u0646).", - Settings: "*\u062A\u0646\u0638\u06CC\u0645\u0627\u062A* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0628\u0647 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC MathJax \u0627\u0632 \u062C\u0645\u0644\u0647\u0654 \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0648 \u0645\u06A9\u0627\u0646\u06CC\u0632\u0645 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u06A9\u0646\u062A\u0631\u0644 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F.", - Language: "*\u0632\u0628\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0634\u0645\u0627 \u0632\u0628\u0627\u0646 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0628\u0631\u0627\u06CC \u0645\u0646\u0648\u0647\u0627 \u0648 \u067E\u06CC\u063A\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627 \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F.", - Zoom: "*\u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u06CC\u0627\u0636\u06CC*: \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0627 \u062E\u0648\u0627\u0646\u062F\u0646 \u06CC\u06A9 \u0645\u0639\u0627\u062F\u0644\u0647 \u0645\u0634\u06A9\u0644\u06CC \u062F\u0627\u0631\u06CC\u062F\u060C MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 \u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0628\u0647 \u062F\u06CC\u062F\u0646 \u0634\u0645\u0627 \u06A9\u0645\u06A9 \u06A9\u0646\u062F.", - Accessibilty: "*\u062F\u0633\u062A\u06CC\u0627\u0628\u06CC\u200C\u067E\u0630\u06CC\u0631\u06CC*: MathJax \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u062E\u0648\u062F\u06A9\u0627\u0631 \u0628\u0627 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u0628\u0631\u0627\u06CC \u0642\u0627\u0628\u0644 \u062F\u0633\u062A\u0631\u0633 \u0628\u0631\u0627\u06CC \u06A9\u0633\u0627\u0646\u06CC \u06A9\u0647 \u0645\u0634\u06A9\u0644 \u0628\u06CC\u0646\u0627\u06CC\u06CC \u062F\u0627\u0631\u0646\u062F \u0639\u0645\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F.", - Fonts: "*\u0642\u0644\u0645\u200C\u0647\u0627*: MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u0634\u062E\u0635\u06CC \u0627\u06AF\u0631 \u0628\u0631 \u0631\u0648\u06CC \u0631\u0627\u06CC\u0627\u0646\u0647\u0654 \u0634\u0645\u0627 \u0646\u0635\u0628 \u0628\u0627\u0634\u0646\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F\u061B \u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0628\u0631 \u067E\u0627\u06CC\u0647\u0654 \u0648\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0627\u06AF\u0631\u0686\u0647 \u0646\u06CC\u0627\u0632\u06CC \u0646\u06CC\u0633\u062A\u060C \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0646\u0635\u0628\u200C\u0634\u062F\u0647 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0645\u0627 \u0646\u0635\u0628 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0631\u0627 \u067E\u06CC\u0634\u0646\u0647\u0627\u062F \u0645\u06CC\u200C\u06A9\u0646\u06CC\u0645." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lki/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/MathML.js b/src/py/kaleido/vendor/mathjax/localization/lki/MathML.js deleted file mode 100644 index 09236ea9..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lki/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lki/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lki","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "mglyph \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", - BadMglyphFont: "\u0642\u0644\u0645 \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", - MathPlayer: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A MathPlayer \u0631\u0627 \u0631\u0627\u0647\u200C\u0627\u0646\u062F\u0627\u0632\u06CC \u06A9\u0646\u062F.\n\n\u0627\u06AF\u0631 MathPlayer \u0646\u0635\u0628 \u0646\u06CC\u0633\u062A\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u062F\u0627\u0631\u06CC\u062F \u06A9\u0647 \u0627\u0628\u062A\u062F\u0627 \u0622\u0646 \u0631\u0627 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F.\n\u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A\u060C \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u0634\u0645\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 \u0627\u062C\u0631\u0627\u06CC\n\u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633 \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F. \u0627\u0632 \u06AF\u0632\u06CC\u0646\u0647\u200C\u0647\u0627\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0645\u0648\u062C\u0648\u062F \u0632\u06CC\u0631\n\u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u0628\u0631\u06AF\u0647\u0654 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F\u060C \u0633\u067E\u0633 \u062F\u06A9\u0645\u0647\u0654\n\u0645\u0631\u062C\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u0631\u0627 \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F. \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u062C\u0631\u0627\u06CC\n\u00AB\u0627\u062C\u0631\u0627\u06CC \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\u00BB \u0648 \u00AB\u0631\u0641\u062A\u0627\u0631\u0647\u0627\u06CC \u062F\u0648\u062F\u0648\u06CC\u06CC \u0648 \u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u00BB \u0641\u0639\u0627\u0644\n\u0647\u0633\u062A\u0646\u062F.\n\n\u062F\u0631 \u062D\u0627\u0644 \u062D\u0627\u0636\u0631 \u0634\u0645\u0627 \u0628\u0647 \u062C\u0627\u06CC \u062D\u0631\u0648\u0641 \u0631\u06CC\u0627\u0636\u06CC \u067E\u06CC\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627\u06CC \u062E\u0648\u0627\u0647\u06CC\u062F \u062F\u06CC\u062F.", - CantCreateXMLParser: "MathJax \u0646\u062A\u0648\u0627\u0633\u062A \u06CC\u06A9 \u062A\u062C\u0632\u06CC\u0647\u200C\u06AF\u0631 \u0627\u06A9\u0633\u200C\u0627\u0645\u200C\u0627\u0644 \u0628\u0631\u0627\u06CC MathML \u0627\u06CC\u062C\u0627\u062F \u06A9\u0646\u062F.\n\u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u00AB\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\n\u0639\u0644\u0627\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC\u200C\u0634\u062F\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u0645\u0646 \u0628\u0631\u0627\u06CC \u06A9\u062F\u0632\u0646\u06CC\u00BB \u0641\u0639\u0627\u0644 \u0627\u0633\u062A (\u0627\u0632\n\u06AF\u0632\u06CC\u0646\u0647\u0654 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u06AF\u0632\u06CC\u0646\u0647 \u062F\u0631 \u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u067E\u0646\u0644 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628\n\u06A9\u0646\u06CC\u062F \u0648 \u062F\u06A9\u0645\u0647\u0654 \u0645\u0631\u062D\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u062A\u0627 \u0627\u06CC\u0646 \u0631\u0627 \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F).\n\n\u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC MathML \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u0646\u062F \u062A\u0648\u0633\u0637 MathJax \u067E\u0631\u062F\u0627\u0632\u0634 \u06AF\u0631\u062F\u0646\u062F.", - UnknownNodeType: "\u0646\u0648\u0639 \u06AF\u0631\u0647\u0654 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647: %1", - UnexpectedTextNode: "\u06AF\u0631\u0647\u0654 \u0645\u062A\u0646\u06CC \u063A\u06CC\u0631\u0645\u0646\u062A\u0638\u0631\u0647:\u200C %1", - ErrorParsingMathML: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML", - ParsingError: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML\u200F: %1", - MathMLSingleElement: "MathML \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0648\u0627\u062D\u062F \u0628\u06CC\u0627\u06CC\u062F", - MathMLRootElement: "MathML \u0628\u0627\u06CC\u062F \u062A\u0648\u0633\u0637 \u0639\u0646\u0635\u0631 \u003Cmath\u003E \u062A\u0634\u06A9\u06CC\u0644 \u0634\u062F\u0647 \u0628\u0627\u0634\u062F \u0646\u0647 %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lki/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/lki/MathMenu.js deleted file mode 100644 index e29852b5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lki/MathMenu.js +++ /dev/null @@ -1,107 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lki/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lki","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u0639\u0646\u0648\u0627\u0646", - MathMLcode: "\u06A9\u062F MathML", - OriginalMathML: "MathML \u0627\u0635\u0644\u06CC", - TeXCommands: "\u062F\u0633\u062A\u0648\u0631\u0627\u062A \u062A\u06A9", - AsciiMathInput: "\u0648\u0631\u0648\u062F\u06CC AsciiMathML", - Original: "\u062D\u0627\u0644\u062A \u0627\u0635\u0644\u06CC", - ErrorMessage: "\u067E\u06CC\u063A\u0648\u0645 \u062E\u0637\u0627", - Annotation: "\u06CC\u0627\u062F\u062F\u0627\u0634\u062A/\u0648\u06CC\u0631\u0646\u06C6\u06CC\u0633\u0629", - TeX: "\u062A\u06A9", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "MathML \u0646\u06C6\u0645 \u062C\u0650\u06A9(\u0645\u062D\u062A\u0648\u0627)", - OpenMath: "OpenMath", - texHints: "\u0646\u0645\u0627\u06CC\u0634 \u0646\u06A9\u062A\u0647\u200C\u0647\u0627\u06CC \u062A\u06A9 \u062F\u0631 MathML", - Settings: "\u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A", - ZoomTrigger: "\u0645\u0627\u0634\u0647\u0654 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", - Hover: "\u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC \u0622\u0646", - Click: "\u06A9\u0650\u0644\u06CC\u06A9 \u06A9\u0629", - DoubleClick: "\u062F\u0648 \u06AF\u0650\u0644/\u0628\u0627\u0631 \u06A9\u0644\u06CC\u06A9", - NoZoom: "\u0628\u062F\u0648\u0646 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", - TriggerRequires: "\u062A\u063A\u06CC\u06CC\u0631 \u062D\u0627\u0644\u062A \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A \u0628\u0647:", - Option: "\u06AF\u0632\u06CC\u0646\u0647", - Alt: "\u062F\u06AF\u0631\u0633\u0627\u0632", - Command: "\u062F\u0633\u062A\u0648\u0631", - Control: "\u06A9\u0646\u062A\u0631\u0644", - Shift: "\u062A\u0628\u062F\u06CC\u0644", - ZoomFactor: "\u0636\u0631\u06CC\u0628 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", - Renderer: "\u0627\u0631\u0627\u0626\u0647\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC", - MPHandles: "\u0627\u062C\u0627\u0632\u0647\u200C\u0628\u062F\u0647 MathPlayer \u0645\u062F\u06CC\u0631\u06CC\u062A \u06A9\u0646\u062F:", - MenuEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0646\u0648", - MouseEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647", - MenuAndMouse: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0648 \u0645\u0646\u0648", - FontPrefs: "\u062A\u0645\u0627\u0631\u0632\u0648\u0648\u06D5\u0644(\u062A\u0631\u062C\u06CC\u062D\u0627\u062A)\u0641\u0648\u0648\u0646\u062A", - ForHTMLCSS: "\u0628\u0631\u0627\u06CC \u0627\u0686\u200C\u062A\u06CC\u200C\u0627\u0645\u200C\u0627\u0644-\u0633\u06CC\u200C\u0627\u0633\u200C\u0627\u0633:", - Auto: "\u062E\u0648\u062F\u06A9\u0627\u0631", - TeXLocal: "\u062A\u06A9 (\u0645\u062D\u0644\u06CC)", - TeXWeb: "\u062A\u06A9 (\u0648\u0628)", - TeXImage: "\u062A\u06A9 (\u0646\u06AF\u0627\u0631\u0647)", - STIXLocal: "STIX (\u0645\u062D\u0644\u06CC)", - STIXWeb: "STIX (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - AsanaMathWeb: "\u0631\u06CC\u0627\u0636\u06CC \u0622\u0633\u0627\u0646\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - GyrePagellaWeb: "\u06AF\u0631\u06CC \u067E\u0627\u06AF\u0644\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - GyreTermesWeb: "\u06AF\u06CC\u0631 \u062A\u0631\u0645\u0632 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - LatinModernWeb: "\u0644\u0627\u062A\u06CC\u0646 \u0645\u062F\u0631\u0646 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - NeoEulerWeb: "\u0646\u0626\u0648 \u0627\u0648\u06CC\u0644\u0631 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", - ContextMenu: "\u0645\u0646\u0648 \u0645\u062A\u0646\u06CC", - Browser: "\u0645\u0650\u0646\u0650\u06CC -\u06AF\u06C0\u0634\u062A\u0646", - Scale: "\u0645\u0642\u06CC\u0627\u0633\u200C\u062F\u0647\u06CC \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A ...", - Discoverable: "\u0628\u0631\u062C\u0633\u062A\u0647\u200C\u0634\u062F\u0646 \u0628\u0627 \u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC\u0634", - Locale: "\u0632\u0648\u0648\u0646", - LoadLocale: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC ...", - About: "\u062F\u0631\u0628\u0627\u0631\u0647\u0654 MathJax", - Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", - localTeXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 \u0645\u062D\u0644\u06CC", - webTeXfonts: "\u0628\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645 \u0648\u0628\u06CC \u062A\u06A9", - imagefonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC", - localSTIXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX \u0645\u062D\u0644\u06CC", - webSVGfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC SVG", - genericfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0639\u0645\u0648\u0645\u06CC \u06CC\u0648\u0646\u06CC\u06A9\u062F", - wofforotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC woff \u06CC\u0627 otf", - eotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC eot", - svgfonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC svg", - WebkitNativeMMLWarning: "\u0628\u0647 \u0646\u0638\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathML \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F\u060C \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0631\u0641\u062A\u0646 \u0628\u0647 \u062D\u0627\u0644\u062A \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0635\u0641\u062D\u0647 \u063A\u06CC\u0631\u0642\u0627\u0628\u0644 \u062E\u0648\u0627\u0646\u062F\u0646 \u0634\u0648\u0646\u062F.", - MSIENativeMMLWarning: "\u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0628\u0647 \u0627\u0641\u0632\u0627\u06CC\u0647\u0654 MathPlayer \u0628\u0631\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u062E\u0631\u0648\u062C\u06CC MathML \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A.", - OperaNativeMMLWarning: "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0627\u067E\u0631\u0627 \u0627\u0632 MathML \u0645\u062D\u062F\u0648\u062F \u0627\u0633\u062A \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0646\u0645\u0627\u06CC\u0634 \u0636\u0639\u06CC\u0641 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0634\u0648\u062F.", - SafariNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u0627\u062A \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0646\u062F.", - FirefoxNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647\u0654 MathML \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u062F\u06CC\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", - MSIESVGWarning: "SVG \u062F\u0631 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0642\u0628\u0644 \u0627\u0632 \u0646\u0633\u062E\u0647\u0654 \u06F9 \u0622\u0646 \u06CC\u0627 \u0648\u0642\u062A\u06CC \u06A9\u0647 \u0634\u0628\u06CC\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0642\u0628\u0644\u06CC \u0631\u0627 \u0645\u06CC\u200C\u06A9\u0646\u062F \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A. \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC SVG \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0634\u0648\u062F \u06A9\u0647 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", - LoadURL: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647 \u0627\u0632 \u0627\u06CC\u0646 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC:", - BadURL: "\u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0628\u0631\u0627\u06CC \u067E\u0631\u0648\u0646\u062F\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC MathJax \u0631\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u067E\u0631\u0648\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u0628\u0627 \u067E\u0633\u0648\u0646\u062F '.js' \u062A\u0645\u0627\u0645 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F.", - BadData: "\u0634\u06A9\u0633\u062A \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC \u0627\u0632 %1", - SwitchAnyway: "(\u0628\u0631 \u00AB\u0628\u0627\u0634\u062F\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u0648\u062F \u0648 \u0628\u0631 \u00AB\u0644\u063A\u0648\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0646\u0645\u0627\u06CC\u0634\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0641\u0639\u0644\u06CC \u0627\u062F\u0627\u0645\u0647 \u06CC\u0627\u0628\u062F)", - ScaleMath: "\u0645\u0642\u06CC\u0627\u0633 \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A (\u062F\u0631 \u0645\u0642\u0627\u06CC\u0633\u0647 \u0628\u0627 \u0645\u062A\u0646 \u0627\u0637\u0631\u0627\u0641) \u062A\u0648\u0633\u0637", - NonZeroScale: "\u0645\u0642\u06CC\u0627\u0633 \u0646\u0628\u0627\u06CC\u062F \u0635\u0641\u0631 \u0628\u0627\u0634\u062F", - PercentScale: "\u0645\u0642\u06CC\u0627\u0633 \u0628\u0627\u06CC\u062F \u062F\u0631\u0635\u062F\u06CC \u0628\u0627\u0634\u062F (\u0628\u0631\u0627\u06CC \u0646\u0645\u0648\u0646\u0647 \u06F1\u06F2\u06F0\u066A)", - IE8warning: "\u0627\u06CC\u0646 \u0645\u0646\u0648\u06CC MathJax \u0648 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u0627 \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0622\u0648\u0631\u06CC\u062F.\n\n\u0648\u0627\u0642\u0639\u0627\u064B \u0645\u06CC\u200C\u062E\u0648\u0627\u0647\u06CC\u062F \u062A\u0646\u0638\u06CC\u0645\u0627\u062A MathPlayer \u0631\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u062F\u0647\u06CC\u062F\u061F", - IE9warning: "\u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC MathJax \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u062E\u0648\u0627\u0647\u062F \u0634\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0628\u06CC\u0627\u0648\u0631\u06CC\u062F.", - NoOriginalForm: "\u062D\u0627\u0644\u062A \u0627\u0648\u0644\u0628\u0647 \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A", - Close: "\u0626\u0622\u0646\u06CC\u0627\u0626\u0646-\u0628\u0633\u062A\u0650\u0646", - EqSource: "\u0645\u0646\u0628\u0639 \u0645\u0639\u0627\u062F\u0644\u0647\u0654 MathJax" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lki/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/TeX.js b/src/py/kaleido/vendor/mathjax/localization/lki/TeX.js deleted file mode 100644 index 06e2b4d5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lki/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lki/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lki","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647", - ExtraCloseMissingOpen: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u0647 \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632", - MissingLeftExtraRight: "\u0641\u0642\u062F\u0627\u0646 \u200E\\left \u06CC\u0627 \u200E\\right \u0627\u0636\u0627\u0641\u06CC", - MissingScript: "\u0641\u0642\u062F\u0627\u0646 \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0627\u0644\u0627\u0645\u062A\u0646 \u06CC\u0627 \u0632\u06CC\u0631\u0645\u062A\u0646", - ExtraLeftMissingRight: "\u200E\\left \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u200E\\right", - Misplaced: "%1 \u0646\u0627\u0628\u062C\u0627", - MissingOpenForSub: "\u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0628\u0631\u0627\u06CC \u0632\u06CC\u0631\u0645\u062A\u0646", - MissingOpenForSup: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0628\u0627\u0644\u0627\u0645\u062A\u0646", - AmbiguousUseOf: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0645\u0628\u0647\u0645 \u0627\u0632 \u200E%1", - EnvBadEnd: "\u200E\\begin{%1}\u200E \u067E\u0627\u06CC\u0627\u0646\u200C\u06CC\u0627\u0641\u062A\u0647 \u0628\u0627 \u200E\\end{%2}\u200E", - EnvMissingEnd: "\u200E\\end{%1}\u200E \u06AF\u0645\u200C\u0634\u062F\u0647", - MissingBoxFor: "\u062C\u0639\u0628\u0647\u0654 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", - MissingCloseBrace: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0645\u0641\u0642\u0648\u062F", - UndefinedControlSequence: "\u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644 \u062A\u0639\u0631\u06CC\u0641\u200C\u0646\u0634\u062F\u0647\u0654 %1", - DoubleExponent: "\u062A\u0648\u0627\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - DoubleSubscripts: "\u0632\u06CC\u0631\u0645\u062A\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - DoubleExponentPrime: "\u062A\u0648\u0627\u0646 \u062F\u0648 \u0645\u0648\u062C\u0628 \u062A\u0648\u0627\u0646 \u0645\u0636\u0627\u0639\u0641 \u0634\u062F: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - CantUseHash1: "\u0634\u0645\u0627 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u00AB\u0645\u0627\u06A9\u0631\u0648 \u0646\u0648\u06CC\u0633\u0647\u0654 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 #\u00BB \u062F\u0631 \u062D\u0627\u0644\u062A \u0631\u06CC\u0627\u0636\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", - MisplacedMiddle: "\u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0631\u0648\u0646 \u200E\\left \u0648 \u200E\\right \u0646\u0648\u0634\u062A\u0647\u200C\u0634\u0648\u062F", - MisplacedLimits: "\u200E%1 \u0641\u0642\u0637 \u062F\u0631 \u0639\u0645\u0644\u06AF\u0631\u0647\u0627 \u0645\u062C\u0627\u0632 \u0627\u0633\u062A", - MisplacedMoveRoot: "\u200E%1 \u062A\u0646\u0647\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062F\u0631\u0648\u0646 \u06CC\u06A9 \u0631\u06CC\u0634\u0647 \u0638\u0627\u0647\u0631 \u0634\u0648\u062F", - MultipleCommand: "\u200E%1 \u0686\u0646\u062F\u06AF\u0627\u0646\u0647", - IntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u0628\u0627\u0634\u062F", - NotMathMLToken: "%1 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0646\u0634\u0627\u0646 \u0646\u06CC\u0633\u062A", - InvalidMathMLAttr: "\u0648\u06CC\u0698\u06AF\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 MathML: %1", - UnknownAttrForElement: "%1 \u06CC\u06A9 \u0648\u06CC\u0698\u06AF\u06CC \u0634\u0646\u0627\u062E\u062A\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %2 \u0646\u06CC\u0633\u062A", - MaxMacroSub1: "\u0627\u0632 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u0634\u0645\u0627\u0631 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u0647\u0627\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", - MaxMacroSub2: "\u0627\u0632 \u0634\u0645\u0627\u0631 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u062A\u0639\u062F\u0627\u062F \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0645\u062D\u06CC\u0637 \u0644\u06CC\u062A\u06A9 \u0628\u0627\u0632\u0634\u062A\u06AF\u06CC \u0645\u0648\u062C\u0648\u062F \u0627\u0633\u062A\u061F", - MissingArgFor: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", - ExtraAlignTab: "\u0628\u0631\u06AF\u0647\u0654 \u0686\u06CC\u0646\u0634 \u0627\u0636\u0627\u0641\u06CC \u062F\u0631 \u0645\u062A\u0646 \u200E\\cases", - BracketMustBeDimension: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0628\u0639\u062F \u0628\u0627\u0634\u062F", - InvalidEnv: " \u0646\u0627\u0645 \u0645\u062D\u06CC\u0637 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u00AB%1\u00BB", - UnknownEnv: "\u0645\u062D\u06CC\u0637 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u00AB%1\u00BB", - ExtraCloseLooking: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u06CC \u0647\u0646\u06AF\u0627\u0645 \u062C\u0633\u062A\u062C\u0648\u06CC %1", - MissingCloseBracket: "\u00AB]\u00BB \u0628\u0633\u062A\u0647 \u0628\u0631\u0627\u06CC \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", - MissingOrUnrecognizedDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647 \u06AF\u0645\u200C\u0634\u062F\u0647 \u06CC\u0627 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u0628\u0631\u0627\u06CC \u200E%1", - MissingDimOrUnits: "\u0627\u0628\u0639\u0627\u062F \u06CC\u0627 \u0648\u0627\u062D\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u200E%1", - TokenNotFoundForCommand: "%1 \u0628\u0631\u0627\u06CC %2 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", - MathNotTerminated: "\u0631\u06CC\u0627\u0636\u06CC \u062F\u0631 \u062C\u0639\u0628\u0647\u0654 \u0645\u062A\u0646 \u067E\u0627\u06CC\u0627\u0646 \u0646\u06CC\u0627\u0641\u062A\u0647\u200C\u0627\u0633\u062A", - IllegalMacroParam: "\u0627\u0631\u062C\u0627\u0639 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u0645\u0627\u06A9\u0631\u0648\u06CC \u0646\u0627\u0645\u062C\u0627\u0632", - MaxBufferSize: "\u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u06CC\u0627\u0646\u06AF\u06CC\u0631 \u062F\u0627\u062E\u0644\u06CC MathJax \u06AF\u0630\u0634\u062A\u0647 \u0634\u062F\u0647\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", - CommandNotAllowedInEnv: "\u200E%1 \u062F\u0631 \u0645\u062D\u06CC\u0637 \u200E%2 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A", - MultipleLabel: "\u0628\u0631\u0686\u0633\u067E \u00AB%1\u00BB \u0686\u0646\u062F\u0628\u0627\u0631 \u062A\u0639\u0631\u06CC\u0641\u200C\u0634\u062F\u0647", - CommandAtTheBeginingOfLine: "%1 \u0628\u0627\u06CC\u062F \u062F\u0631 \u0634\u0631\u0648\u0639 \u062E\u0637 \u0628\u06CC\u0627\u06CC\u062F", - IllegalAlign: "\u0686\u06CC\u0646\u0634 \u0645\u0634\u062E\u0635\u200C\u0634\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u062F\u0631 \u200E%1", - BadMathStyleFor: "\u0633\u0628\u06A9 \u0628\u062F \u0631\u06CC\u0627\u0636\u06CC \u0628\u0631\u0627\u06CC \u200E%1", - PositiveIntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0647 \u200E%1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u0639\u062F\u062F \u0645\u062B\u0628\u062A \u0628\u0627\u0634\u062F", - ErroneousNestingEq: "\u0633\u0627\u062E\u062A\u0627\u0631\u0647\u0627\u06CC \u0627\u0634\u062A\u0628\u0627\u0647 \u062A\u0648\u062F\u0631\u062A\u0648\u06CC \u0645\u0639\u0627\u062F\u0644\u0647", - MultlineRowsOneCol: "\u0633\u0637\u0631 \u062F\u0631\u0648\u0646 \u0645\u062D\u06CC\u0637 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0642\u06CC\u0642\u0627\u064B \u06CC\u06A9 \u0633\u062A\u0648\u0646 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F", - MultipleBBoxProperty: "%1 \u062F\u0648\u0628\u0627\u0631 \u062F\u0631 \u200E%2 \u062A\u0639\u0631\u06CC\u0641 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", - InvalidBBoxProperty: "'%1' \u0628\u0647 \u0646\u0638\u0631 \u06CC\u06A9 \u0631\u0646\u06AF\u060C \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0628\u0627\u0644\u0634\u062A\u06A9 \u06CC\u0627 \u0633\u0628\u06A9 \u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06CC\u200C\u0631\u0633\u062F", - ExtraEndMissingBegin: "\u200E%1 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \\begingroup \u06AF\u0645\u200C\u0634\u062F\u0647", - GlobalNotFollowedBy: "\u200E%1 \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u200E\\let\u060C \u200E\\def \u06CC\u0627 \u200E\\newcommand \u0646\u06CC\u0627\u0645\u062F\u0647\u200C\u0627\u0633\u062A", - UndefinedColorModel: "\u0645\u062F\u0644 \u0631\u0646\u06AF\u06CC '%1' \u062A\u0639\u0631\u06CC\u0641 \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A", - ModelArg1: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u06F3 \u0639\u062F\u062F \u0627\u0633\u062A", - InvalidDecimalNumber: "\u0639\u062F\u062F \u0627\u0639\u0634\u0627\u0631\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631", - ModelArg2: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u0628\u06CC\u0646 %2 \u0648 %3 \u0628\u0627\u0634\u062F", - InvalidNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631", - NewextarrowArg1: "\u0646\u0634\u0627\u0648\u0646\u062F \u0627\u0648\u0644 \u0628\u0647 \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0646\u0627\u0645 \u06A9\u0646\u062A\u0631\u0644\u06CC \u062F\u0646\u0628\u0627\u0644\u0647 \u0628\u0627\u0634\u062F", - NewextarrowArg2: "\u0646\u0634\u0646\u0627\u0648\u0646\u062F \u062F\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u062F\u0648 \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u062C\u062F\u0627 \u0634\u062F\u0647 \u0628\u0627 \u06CC\u06A9 \u06A9\u0627\u0645\u0627 \u0628\u0627\u0634\u062F", - NewextarrowArg3: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0633\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u06CC\u06A9 \u0646\u0648\u06CC\u0633\u0647\u0654 \u06CC\u0648\u0646\u06CC\u06A9\u062F \u0628\u0627\u0634\u062F", - NoClosingChar: "%1 \u0628\u0633\u062A\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", - IllegalControlSequenceName: "\u0646\u0627\u0645 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u0631\u0627\u06CC \u200E%1 \u0646\u0627\u0645\u062C\u0627\u0632", - IllegalParamNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u062C\u0627\u0632 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u062F\u0631 \u200E%1 \u0645\u0634\u062E\u0635 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", - MissingCS: "\u200E%1 \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u06CC\u0627\u06CC\u062F", - CantUseHash2: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u0627\u0632 # \u062F\u0631 \u0627\u0644\u06AF\u0648 \u0628\u0631\u0627\u06CC %1", - SequentialParam: "\u067E\u0627\u0631\u0627\u0645\u062A\u0631\u0647\u0627 \u0628\u0631\u0627\u06CC %1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u0639\u062F\u062F\u06CC \u0628\u0627\u0634\u062F", - MissingReplacementString: "\u0631\u0634\u062A\u0647\u0654 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u06CC\u0641 \u200E%1", - MismatchUseDef: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u200E%1 \u0628\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0622\u0646 \u062A\u0637\u0628\u06CC\u0642 \u0646\u062F\u0627\u0631\u062F", - RunawayArgument: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0641\u0631\u0627\u0631 \u0628\u0631\u0627\u06CC \u200E%1\u061F", - NoClosingDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647\u0654 \u0628\u0633\u062A\u0646 \u0628\u0631\u0627\u06CC \u200E%1 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lki/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/lki.js b/src/py/kaleido/vendor/mathjax/localization/lki/lki.js deleted file mode 100644 index b586ddab..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lki/lki.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lki/lki.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lki",null,{ - menuTitle: "\u0644\u06D5\u06A9\u06CC", - fontDirection: "rtl", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "\u062E\u0637\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC", - MathError: "\u062E\u0637\u0627 \u0631\u06CC\u0627\u0636\u06CC", - LoadFile: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC %1", - Loading: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC", - LoadFailed: "\u062E\u0637\u0627 \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u067E\u0631\u0648\u0646\u062F\u0647: %1", - ProcessMath: "\u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", - Processing: "\u067E\u0631\u062F\u0627\u0632\u0634", - TypesetMath: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", - Typesetting: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC", - MathJaxNotSupported: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathJax \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lki/lki.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/lt/FontWarnings.js deleted file mode 100644 index 8f9e6649..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lt/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lt/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lt","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "\u0160iame tinklalapyje matematikos tekst\u0105 \u201EMathJax\u201C rodo tinkle saugomais \u0161riftais, kuriems \u012Fkelti reikia laiko. Teksto rinkim\u0105 galima greitinti, matematikos \u0161riftus \u012Fdiegus naudotojo kompiuteryje.", - imageFonts: "\u201EMathJax\u201C taiko paveikslinius, o ne vietinius arba tinkle saugomus \u0161riftus. Matematikos tekstas vaizduojamas l\u0117\u010Diau, o spausdinant netenkama rai\u0161kos.", - noFonts: "Neradusi matematikos tekstui skirt\u0173 \u0161rift\u0173, \u201EMathJax\u201C taiko bendruosius unikodo ra\u0161menis. Kai kurie ra\u0161menys gali b\u016Bti darkomi arba visai nerodomi.", - webFonts: "Dauguma dabartini\u0173 nar\u0161ykli\u0173 leid\u017Eia gauti \u0161riftus i\u0161 tinklo. Tik\u0117tina, kad atnaujinus nar\u0161ykl\u0117s laid\u0105 arba esam\u0105 nar\u0161ykl\u0119 pakeitus kita, tinklalapyje ger\u0117t\u0173 matematikos teksto vaizdavimas.", - fonts: "\u201EMathJax\u201C gali taikyti [STIX fonts](%1) arba [MathJax TeX fonts](%2). \u012Ediegus vien\u0105 i\u0161 min\u0117t\u0173 alternatyv\u0173, ger\u0117s \u201EMathJax\u201C veikimas.", - STIXPage: "Tinklalapyje numatyti [STIX fonts](%1). \u012Ediegus min\u0117tus \u0161riftus, ger\u0117s \u201EMathJax\u201C veikimas.", - TeXPage: "Tinklalapyje numatyti [MathJax TeX fonts](%1). \u012Ediegus min\u0117tus \u0161riftus, ger\u0117s \u201EMathJax\u201C veikimas." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lt/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/lt/HTML-CSS.js deleted file mode 100644 index 9f7cbb57..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lt/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lt/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lt","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u012Ekeliamas tinklo \u0161riftas %1", - CantLoadWebFont: "Tinklo \u0161rifto %1 \u012Fkelti nepavyko", - FirefoxCantLoadWebFont: "\u201EFirefox\u201C nepavyksta \u012Fkelti tinklo \u0161rift\u0173 i\u0161 nutolusios prieglobos", - CantFindFontUsing: "Nepavyksta rasti tinkamo \u0161rifto naudojant %1", - WebFontsNotAvailable: "Naudojami paveiksliniai \u0161riftai, nes n\u0117ra tinklo \u0161rift\u0173." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lt/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/lt/HelpDialog.js deleted file mode 100644 index 05ef0794..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lt/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lt/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lt","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax Pagalba", - MathJax: "*\u201EMathJax\u201C* \u2013 tai \u201EJavaScript\u201C biblioteka, leid\u017Eianti autoriams tinklalapiuose ra\u0161yti matematikos tekst\u0105. Skaitytojams papildom\u0173 veiksm\u0173 atlikti nereikia.", - Browsers: "*Nar\u0161ykl\u0117s*: \u201EMathJax\u201C veikia visose dabartin\u0117se nar\u0161ykl\u0117je, \u012Fskaitant \u201EIE\u201C 6+, \u201EFirefox\u201C 3+, \u201EChrome\u201C 0.2+, \u201ESafari\u201C 2+, \u201EOpera\u201C 9.6+ ir daugum\u0105 mobili\u0173j\u0173 nar\u0161ykli\u0173.", - Menu: "*Matematikos meniu*: \u201EMathJax\u201C \u012Fdiegtas kontekstinis lyg\u010Di\u0173 meniu. Meniu atver\u010Diamas spustel\u0117jus de\u0161iniuoju pel\u0117s klavi\u0161u arba nuspaudus Vald ir spustel\u0117jus matematikos \u017Eenkl\u0105.", - ShowMath: "*Rodiniu* per\u017Ei\u016Brima ir kopijuojama formul\u0117s \u0161altinio \u017Eym\u0117jimo sintaks\u0117 (\u201EMathML\u201C arba pradiniu formatu).", - Settings: "*Nuostatomis* valdomos \u201EMathJax\u201C ypatyb\u0117s, pavyzd\u017Eiui, matematikos \u017Eenkl\u0173 dydis arba lyg\u010Di\u0173 vaizdavimo mechanizmas.", - Language: "*Kalba* nustatoma \u201EMathJax\u201C meniu ir \u012Fsp\u0117jam\u0173j\u0173 prane\u0161im\u0173 kalba.", - Zoom: "*Masteliu* didinamas lygties rodinys.", - Accessibilty: "*Pritaikymas ne\u012Fgaliesiems*: \u201EMathJax\u201C prisitaiko prie ekrano skaitykli\u0173, kad matematikos tekstas b\u016Bt\u0173 \u012Fskaitomas silpnaregiams.", - Fonts: "*\u0160riftai*: \u201EMathJax\u201C telkiasi naudotojo kompiuteryje \u012Fdiegtus \u0161riftus, jei \u0161ie yra tinkami; kitu atveju \u2013 tinkle saugomus \u0161riftus. Naudotojo kompiuteryje \u012Fdiegti \u0161riftai, nors ir neb\u016Btini, greitina \u017Eenkl\u0173 rinkim\u0105. Patariama \u012Fdiegti [\u201ESTIX\u201C \u0161riftus](%1).", - CloseDialog: "Nutraukti \u017Einyno dialog\u0105" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lt/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/MathML.js b/src/py/kaleido/vendor/mathjax/localization/lt/MathML.js deleted file mode 100644 index f226c26b..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lt/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lt/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lt","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "Netinkamas matematikos glifas: %1", - BadMglyphFont: "Netinkamas \u0161riftas: %1", - MathPlayer: "\u201EMathJax\u201C nepavyko nustatyti \u201EMathPlayer\u201C.\n\nJei \u201EMathPlayer\u201C dar ne\u012Fdiegtas, b\u016Btina tai padaryti. Kitaip saugumo nuostatos neleis veikti \u201EActiveX\u201C valdikliams. Adresu Priemoni\u0173 meniu \u003E Interneto nuostatos \u003E Saugumo kortel\u0117 paspaud\u0119 \u201ENaudotojo lyg\u012F\u201C, patikrinkite, ar \u012Fjungtos nuostatos \u201EPaleisti ActiveX valdikius\u201C bei \u201EDvejetain\u0117s ir scenarij\u0173 veiklos\u201C.\n\nPrie\u0161ingu atveju vietoj matematikos \u017Eenkl\u0173 bus rodomi klaid\u0173 prane\u0161imai.", - CantCreateXMLParser: "\u201EMathJax\u201C nepavyksta sukurti \u201EMathML\u201C XML analizatoriaus. Patikrinkite, ar \u012Fjungta saugumo nuostata \u201EScenarij\u0173 ActiveX valdikliai pa\u017Eym\u0117ti kaip saug\u016Bs scenarijams vykdyti\u201C (Priemoni\u0173 meniu \u003E Interneto nuostatos \u003E Naudotojo lygis).\n\n\u201EMathJax\u201C neapdoros \u201EMathML\u201C lyg\u010Di\u0173.", - UnknownNodeType: "Ne\u017Einoma mazgo atmaina: %1", - UnexpectedTextNode: "Netik\u0117tas teksto mazgas: %1", - ErrorParsingMathML: "Klaida nagrin\u0117jant \u201EMathML\u201C", - ParsingError: "Klaida nagrin\u0117jant \u201EMathML\u201C: %1", - MathMLSingleElement: "\u201EMathML\u201C formuotinas vienu d\u0117meniu", - MathMLRootElement: "\u201EMathML\u201C formuotinas \u003Cmath\u003E d\u0117meniu, o ne %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lt/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/lt/MathMenu.js deleted file mode 100644 index 854c8e8d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lt/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lt/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lt","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Rodyti", - MathMLcode: "\u201EMathML\u201C tekst\u0105", - OriginalMathML: "Pradinis \u201EMathML\u201C", - TeXCommands: "\u201ETeX\u201C komandas", - AsciiMathInput: "\u201EAsciiMathML\u201C \u012Fvestis", - Original: "Pradin\u0117 forma", - ErrorMessage: "Klaidos prane\u0161imas", - Annotation: "santrauk\u0105", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Content MathML", - OpenMath: "OpenMath", - texHints: "\u201ETeX\u201C u\u017Euominas \u201EMathML\u201C kalba", - Settings: "Nustatyti", - ZoomTrigger: "mastelio jungikl\u012F", - Hover: "u\u017Evedus", - Click: "spustel\u0117jus", - DoubleClick: "dukart spustel\u0117jus", - NoZoom: "Nekeisti", - TriggerRequires: "Kei\u010Diant spaud\u017Eiama:", - Option: "Nuostata", - Alt: "Alt", - Command: "Komanda", - Control: "Vald", - Shift: "Lyg 2", - ZoomFactor: "mastelio daugikl\u012F", - Renderer: "teikikl\u012F", - MPHandles: "Leisti \u201EMathPlayer\u201C vykdyti:", - MenuEvents: "Meniu \u012Fvykiai", - MouseEvents: "Pel\u0117s \u012Fvykiai", - MenuAndMouse: "Pel\u0117s ir meniu \u012Fvykiai", - FontPrefs: "\u0160rift\u0173 nuostatos", - ForHTMLCSS: "Skirta HTML-CSS:", - Auto: "Savaime", - TeXLocal: "TeX (vietinis)", - TeXWeb: "TeX (tinklas)", - TeXImage: "TeX (paveiksl\u0117lis)", - STIXLocal: "STIX (vietinis)", - STIXWeb: "STIX (tinklas)", - AsanaMathWeb: "Asana Math (tinklas)", - GyrePagellaWeb: "Gyre Pagella (tinklas)", - GyreTermesWeb: "Gyre Termes (tinklas)", - LatinModernWeb: "Latin Modern (tinklas)", - NeoEulerWeb: "Neo Euler (tinklas)", - ContextMenu: "Kontekstinis meniu", - Browser: "Nar\u0161ykl\u0117", - Scale: "bendr\u0105 mastel\u012F\u2026", - Discoverable: "Ry\u0161kinti u\u017Evedus", - Locale: "Kalba", - LoadLocale: "\u012Ekelti i\u0161 URL ...", - About: "Apie \u201EMathJax\u201C", - Help: "\u017Dinynas", - localTeXfonts: "vartojami vietiniai \u201ETeX\u201C \u0161riftai", - webTeXfonts: "Taikomas tinklinis \u201ETeX\u201C \u0161riftas", - imagefonts: "vartojami paveiksliniai \u0161riftai", - localSTIXfonts: "vartojami vietiniai \u201ESTIX\u201C \u0161riftai", - webSVGfonts: "vartojami tinkliniai SVG \u0161riftai", - genericfonts: "vartojami bendrieji unikodo \u0161riftai", - wofforotffonts: "WOFF arba OTF \u0161riftai", - eotffonts: "EOT \u0161riftai", - svgfonts: "SVG \u0161riftai", - WebkitNativeMMLWarning: "Tik\u0117tina, kad j\u016Bs\u0173 nar\u0161ykl\u0117je \u201EMathML\u201C vartojimas nenumatytas, tod\u0117l i\u0161vest\u012F perjungus \u012F \u201EMathML\u201C, tinklalapyje galima i\u0161darkyti matematikos \u017Eenklus.", - MSIENativeMMLWarning: "Norint \u201EMathML\u201C i\u0161vest\u012F apdoroti nar\u0161ykl\u0117je \u201EInternet Explorer\u201C, b\u016Btinas papildinys \u201EMathPlayer\u201C.", - OperaNativeMMLWarning: "Nar\u0161ykl\u0117je \u201EOpera\u201C \u201EMathML\u201C vartojimas yra ribotas, tod\u0117l i\u0161vest\u012F perjungus \u012F \u201EMathML\u201C kai kurie rei\u0161kiniai gali b\u016Bti vaizduojami nekokybi\u0161kai.", - SafariNativeMMLWarning: "J\u016Bs\u0173 nar\u0161ykl\u0117s \u201EMathML\u201C sande ne\u012Fdiegtos visos \u201EMathJax\u201C ypatyb\u0117s, tod\u0117l kai kurie rei\u0161kiniai gali b\u016Bti vaizduojami nekokybi\u0161kai.", - FirefoxNativeMMLWarning: "J\u016Bs\u0173 nar\u0161ykl\u0117s \u201EMathML\u201C sande ne\u012Fdiegtos visos \u201EMathJax\u201C ypatyb\u0117s, tod\u0117l kai kurie rei\u0161kiniai gali b\u016Bti vaizduojami nekokybi\u0161kai.", - MSIESVGWarning: "SVG nar\u0161ykl\u0117je \u201EInternet Explorer\u201C diegiama tik nuo IE9 laidos. IE8 ir ankstesn\u0117se laidose ji galima tik emuliuojant. I\u0161vest\u012F perjungus \u012F SVG, matematikos \u017Eenklai vaizduojami nekokybi\u0161kai.", - LoadURL: "Vertimo duomenis \u012Fkelti i\u0161 \u0161io URL:", - BadURL: "URL adresas turi b\u016Bti skirtas \u201EJavaScript\u201C bylai, apibr\u0117\u017Eian\u010Diai \u201EMathJax\u201C vertimo duomenis. \u201EJavaScript\u201C bylos prievardis turi b\u016Bti \u201E.js\u201C.", - BadData: "Vertimo duomen\u0173 i\u0161 %1 \u012Fkelti nepavyko.", - SwitchAnyway: "Ar vis tiek keisti vaizdavimo b\u016Bd\u0105?\n\n(Vaizdavimo b\u016Bdas kei\u010Diamas, spaud\u017Eiant \u201EVykdyti\u201C; paliekamas tas pats, spaud\u017Eiant \u201ENutraukti\u201C.)", - ScaleMath: "Bendrasis mastelis aplinkinio teksto at\u017Evilgiu:", - NonZeroScale: "Mastelio reik\u0161m\u0117 negali b\u016Bti 0", - PercentScale: "Mastelis \u017Eymimas procentais (pavyzd\u017Eiui, 120%%)", - IE8warning: "Ar tikrai keisti \u201EMathPlayer\u201C nuostatas?", - IE9warning: "I\u0161jungus kontekstin\u012F \u201EMathJax\u201C meniu, \u201EMathJax\u201C meniu atver\u010Diamas nuspaudus Alt ir spustel\u0117jus rei\u0161kin\u012F.", - NoOriginalForm: "Pradin\u0117s formos n\u0117ra", - Close: "U\u017Edaryti", - EqSource: "\u201EMathJax\u201C lygties \u0161altinis", - CloseAboutDialog: "Nutraukti dialog\u0105 apie \u201EMathJax\u201C", - FastPreview: "Spar\u010Dioji per\u017Ei\u016Bra", - AssistiveMML: "Pagalbinis \u201EMathML\u201C", - InTabOrder: "\u012Etraukti \u012F \u0105seli\u0173 eil\u0119" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lt/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/TeX.js b/src/py/kaleido/vendor/mathjax/localization/lt/TeX.js deleted file mode 100644 index 3c5bb4da..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lt/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lt/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lt","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Per daug atidarom\u0173j\u0173 arba per ma\u017Eai u\u017Edarom\u0173j\u0173 riestini\u0173 skliausteli\u0173", - ExtraCloseMissingOpen: "Per daug u\u017Edarom\u0173j\u0173 arba per ma\u017Eai atidarom\u0173j\u0173 riestini\u0173 skliausteli\u0173", - MissingLeftExtraRight: "Per ma\u017Eai \\left arba per daug \\right", - MissingScript: "N\u0117ra vir\u0161utinio arba apatinio indekso argumento", - ExtraLeftMissingRight: "Per daug \\left arba per ma\u017Eai \\right", - Misplaced: "Ne tinkamoje vietoje %1", - MissingOpenForSub: "N\u0117ra atidaromojo riestinio apatinio indekso skliaustelio", - MissingOpenForSup: "N\u0117ra atidaromojo riestinio vir\u0161utinio indekso skliaustelio", - AmbiguousUseOf: "Nevienareik\u0161m\u0117 %1 vartosena", - EnvBadEnd: "\\begin{%1} baig\u0117si \\end{%2}", - EnvMissingEnd: "N\u0117ra \\end{%1}", - MissingBoxFor: "N\u0117ra %1 langelio", - MissingCloseBrace: "N\u0117ra u\u017Edaromojo riestinio skliaustelio", - UndefinedControlSequence: "Neapibr\u0117\u017Eta valdymo seka %1", - DoubleExponent: "Kartojamas laipsnio rodiklis: tikslinti riestiniais skliausteliais", - DoubleSubscripts: "Kartojamas apatinis indeksas: tikslinti riestiniais skliausteliais", - DoubleExponentPrime: "Pirminis skai\u010Dius kartoja laipsnio rodikl\u012F: tikslinti riestiniais skliausteliais", - CantUseHash1: "Makrokomandos parametro ra\u0161mens \u201E#\u201C matematikos veiksenoje vartoti negalima", - MisplacedMiddle: "%1 privalo b\u016Bti \\left ir \\right viduje", - MisplacedLimits: "%1 taikomas tik operatoriams", - MisplacedMoveRoot: "%1 rodomas tik \u0161aknyje", - MultipleCommand: "Kartojamas %1", - IntegerArg: "%1 argumentas privalo b\u016Bti sveikasis skai\u010Dius", - NotMathMLToken: "%1 n\u0117ra leksema", - InvalidMathMLAttr: "Netinkamas \u201EMathML\u201C po\u017Eymis: %1", - UnknownAttrForElement: "%1 n\u0117ra atpa\u017E\u012Fstamas %2 po\u017Eymis", - MaxMacroSub1: "Vir\u0161ytas did\u017Eiausias leid\u017Eiamas \u201EMathJax\u201C makrokomand\u0173 pakait\u0173 skai\u010Dius; galb\u016Bt vykdomas rekursinis makrokomandos kreipinys?", - MaxMacroSub2: "Vir\u0161ytas did\u017Eiausias leid\u017Eiamas \u201EMathJax\u201C pakait\u0173 skai\u010Dius; galb\u016Bt vykdoma rekursin\u0117 \u201ELaTeX\u201C aplinka?", - MissingArgFor: "N\u0117ra %1 argumento", - ExtraAlignTab: "Per daug lygiavimo tabuliatori\u0173 \\cases tekste", - BracketMustBeDimension: "%1 argumentas riestiniuose skliausteliuose privalo b\u016Bti matmuo", - InvalidEnv: "Netinkamas aplinkos pavadinimas \u201E%1\u201C", - UnknownEnv: "Ne\u017Einoma aplinka '%1'", - ExtraCloseLooking: "Per daug riestini\u0173 skliausteli\u0173 ie\u0161kant %1", - MissingCloseBracket: "%1 argumente nepavyko rasti u\u017Edaromojo \u201E]\u201C", - MissingOrUnrecognizedDelim: "%1 neturi skirtuko arba \u0161is n\u0117ra atpa\u017E\u012Fstamas", - MissingDimOrUnits: "%1 neturi matmens arba \u0161iojo vienet\u0173", - TokenNotFoundForCommand: "%2 skirto %1 rasti nepavyko", - MathNotTerminated: "Teksto langelyje matematikos neaptikta", - IllegalMacroParam: "Netinkama makrokomandos parametro nuoroda", - MaxBufferSize: "Vir\u0161ytas vidinio \u201EMathJax\u201C buferio dydis; galb\u016Bt vykdomas rekursinis makrokomandos kreipinys?", - CommandNotAllowedInEnv: "%1 aplinkoje %2 neleid\u017Eiamas", - MultipleLabel: "Apibr\u0117\u017Etas \u017Eymenos \u201E%1\u201C kartojimas", - CommandAtTheBeginingOfLine: "%1 privalo b\u016Bti eilut\u0117s prad\u017Eioje", - IllegalAlign: "%1 nurodyta netinkama lygiuot\u0117", - BadMathStyleFor: "Netinkamas %1 matematikos stilius", - PositiveIntegerArg: "%1 argumentas privalo b\u016Bti teigiamas sveikasis skai\u010Dius", - ErroneousNestingEq: "Klaidingas lyg\u010Di\u0173 sandar\u0173 \u012Fd\u0117jimas", - MultlineRowsOneCol: "Eilut\u0117s %1 aplinkoje privalo apimti tiksliai vien\u0105 stulpel\u012F", - MultipleBBoxProperty: "%1 kartojamas %2", - InvalidBBoxProperty: "\u201E%1\u201C neatrodo kaip spalva, u\u017Epildymo matmuo arba stilius", - ExtraEndMissingBegin: "Per daug %1 arba per ma\u017Eai \\begingroup", - GlobalNotFollowedBy: "Po %1 neina \\let, \\def arba \\newcommand", - UndefinedColorModel: "Neapibr\u0117\u017Etas spalvos modelis \u201E%1\u201C", - ModelArg1: "Modelio \u201E%1\u201C spalv\u0173 reik\u0161m\u0117s ra\u0161omos trimis skaitmenimis", - InvalidDecimalNumber: "Netinkamas de\u0161imtainis skai\u010Dius", - ModelArg2: "Modelio \u201E%1\u201C spalv\u0173 reik\u0161m\u0117s privalo b\u016Bti tarp %2 ir %3", - InvalidNumber: "Neleistinas skai\u010Dius", - NewextarrowArg1: "Pirmasis %1 argumentas privalo b\u016Bti valdymo sekos pavadinimas", - NewextarrowArg2: "Antrasis %1 argumentas privalo b\u016Bti du kableliu skiriami sveikieji skai\u010Diai", - NewextarrowArg3: "Tre\u010Diasis %1 argumentas privalo b\u016Bti unikodo ra\u0161mens skai\u010Dius", - NoClosingChar: "Nepavyksta rasti u\u017Edaromojo %1", - IllegalControlSequenceName: "Netinkamas %1 valdymo sekos pavadinimas", - IllegalParamNumber: "%1 nurodytas netinkamas parametr\u0173 skai\u010Dius", - MissingCS: "Po %1 privalo eiti valdymo seka", - CantUseHash2: "Netinkama \u201E#\u201C vartosena %1 ruo\u0161inyje", - SequentialParam: "%1 parametrai numeruotini nuosekliai", - MissingReplacementString: "N\u0117ra %1 apibr\u0117\u017Eimo pakaitos eilut\u0117s", - MismatchUseDef: "%1 vartosena nesutampa su %1 apibr\u0117\u017Eimu", - RunawayArgument: "Nevaldomas %1 argumentas?", - NoClosingDelim: "Nepavyksta rasti u\u017Edaromojo %1 skirtuko" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lt/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/lt.js b/src/py/kaleido/vendor/mathjax/localization/lt/lt.js deleted file mode 100644 index af7519f1..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/lt/lt.js +++ /dev/null @@ -1,62 +0,0 @@ -/************************************************************* - * - * MathJax/localization/lt/lt.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("lt",null,{ - menuTitle: "lietuvi\u0173", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "Matematikos apdorojimo klaida", - MathError: "Matematikos klaida", - LoadFile: "\u012Ekeliama %1", - Loading: "\u012Ekeliama", - LoadFailed: "Nepavyko \u012Fkelti bylos: %1", - ProcessMath: "Apdorojama matematika: %1%%", - Processing: "Apdorojama", - TypesetMath: "Renkami matematikos \u017Eenklai: %1%%", - Typesetting: "\u017Denkl\u0173 rinkimas", - MathJaxNotSupported: "J\u016Bs\u0173 nar\u0161ykl\u0117 \u201EMathJax\u201C nenumato" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n % 10 === 1 && n % 100 !== 11) { - return 1; - } else if (n % 10 >=2 && n % 10 <= 9 && (n % 100 < 10 || n % 100 >= 20)) { - return 2; - } else { - return 3; - } - }, - number: function (n) { - return n; // needs check - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/lt/lt.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/mk/FontWarnings.js deleted file mode 100644 index ec3a2478..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/mk/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/mk/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("mk","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax \u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0437\u0430 \u0438\u0441\u043F\u0438\u0441 \u043D\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430. \u041D\u0430 \u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u0438\u043C \u0442\u0440\u0435\u0431\u0430 \u0432\u0440\u0435\u043C\u0435 \u0434\u0430 \u0441\u0435 \u0432\u0447\u0438\u0442\u0430\u0430\u0442, \u043F\u0430 \u0442\u0430\u043A\u0430, \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0442\u0430 \u0431\u0438 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0430\u043B\u0430 \u043F\u043E\u0431\u0440\u0433\u0443 \u0434\u043E\u043A\u043E\u043B\u043A\u0443 \u0433\u0438 \u043F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u043D\u0435\u043F\u043E\u0441\u0440\u0435\u0434\u043D\u043E \u0432\u043E \u0441\u0438\u0441\u0442\u0435\u043C\u0441\u043A\u0430\u0442\u0430 \u043F\u0430\u043F\u043A\u0430 \u0437\u0430 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043D\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u0441\u043C\u0435\u0442\u0430\u0447.", - imageFonts: "MathJax \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043D\u0435\u0433\u043E\u0432\u0438\u0442\u0435 \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043D\u0430\u043C\u0435\u0441\u0442\u043E \u043D\u0438\u0432\u043D\u0438\u0442\u0435 \u043C\u0435\u0441\u043D\u0438 \u0438\u043B\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 \u043F\u0430\u043D\u0434\u0430\u043D\u0438. \u041E\u0432\u0438\u0435 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430\u0430\u0442 \u043F\u043E\u0431\u0430\u0432\u043D\u043E \u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u043D\u0435 \u0441\u0435 \u043F\u043E\u0433\u043E\u0434\u043D\u0438 \u0437\u0430 \u043F\u0435\u0447\u0430\u0442\u0435\u045A\u0435 \u043F\u0440\u0438 \u043F\u043E\u043B\u043D\u0430 \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0430 \u043C\u043E\u045C \u043D\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0435\u0447\u0430\u0442\u0430\u0440.", - noFonts: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u043E \u043D\u0430\u0458\u0434\u0435 \u0444\u043E\u043D\u0442\u043E\u0442 \u0437\u0430 \u043F\u0440\u0438\u043A\u0430\u0437 \u043D\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438, \u0430 \u043D\u0435 \u043C\u0443 \u0441\u0435 \u0434\u043E\u0441\u0442\u0430\u043F\u043D\u0438 \u043D\u0438 \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438, \u0448\u0442\u043E \u0437\u043D\u0430\u0447\u0438 \u0434\u0435\u043A\u0430 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043F\u043E\u0442\u043F\u0440\u0435 \u043D\u0430 \u043E\u043F\u0448\u0442\u043E\u043D\u0430\u043C\u0435\u043D\u0441\u043A\u0438\u0442\u0435 \u0443\u043D\u0438\u043A\u043E\u0434\u043D\u0438 \u0437\u043D\u0430\u0446\u0438, \u0441\u043E \u043D\u0430\u0434\u0435\u0436 \u0434\u0435\u043A\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u045C\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u0438 \u043F\u0440\u0438\u043A\u0430\u0436\u0435. \u041D\u0435\u043A\u043E\u0438 \u0437\u043D\u0430\u0446\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u043D\u0435 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0430\u0442 \u043A\u0430\u043A\u043E \u0448\u0442\u043E \u0442\u0440\u0435\u0431\u0430 \u0438\u043B\u0438 \u043F\u0430\u043A \u0432\u043E\u043E\u043F\u0448\u0442\u043E \u043D\u0435\u043C\u0430 \u0434\u0430 \u0441\u0435 \u043F\u043E\u0458\u0430\u0432\u0430\u0442.", - webFonts: "\u041D\u0430\u0458\u0432\u0435\u045C\u0435\u0442\u043E \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438 \u043E\u0432\u043E\u0437\u043E\u043C\u043E\u0436\u0443\u0432\u0430\u0430\u0442 \u043F\u0440\u0435\u0437\u0435\u043C\u0430\u045A\u0435 \u043D\u0430 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043E\u0434 \u0441\u0435\u043C\u0440\u0435\u0436\u0458\u0435\u0442\u043E. \u041A\u0432\u0430\u043B\u0438\u0442\u0435\u0442\u043E\u0442 \u043D\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043F\u043E\u0434\u043E\u0431\u0440\u0438 \u0430\u043A\u043E \u043F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u043F\u043E\u043D\u043E\u0432\u0430 \u0432\u0435\u0440\u0437\u0438\u0458\u0430 \u043D\u0430 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043E\u0442 (\u0438\u043B\u0438 \u043F\u0430\u043A \u0433\u043E \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u0435 \u0441\u043E \u0434\u0440\u0443\u0433).", - fonts: "MathJax \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 STIX](%1) \u0438\u043B\u0438 [\u043E\u043D\u0438\u0435 \u043D\u0430 MathJax TeX](%2). \u041F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u0433\u0438 \u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0433\u0438 \u0437\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 MathJax \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438\u0442\u0435.", - STIXPage: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430 \u0435 \u043F\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043D\u0430 \u0434\u0430 \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 STIX](%1). \u041F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u0433\u0438 \u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0433\u0438 \u0437\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 MathJax \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438\u0442\u0435.", - TeXPage: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430 \u0435 \u043F\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043D\u0430 \u0434\u0430 \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 MathJax TeX](%1). \u041F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u0433\u0438 \u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0433\u0438 \u0437\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 MathJax \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438\u0442\u0435." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/mk/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/mk/HTML-CSS.js deleted file mode 100644 index 567c04ed..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/mk/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/mk/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("mk","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u0413\u043E \u0432\u0447\u0438\u0442\u0443\u0432\u0430\u043C \u043C\u0440\u0435\u0436\u043D\u0438\u043E\u0442 \u0444\u043E\u043D\u0442 %1", - CantLoadWebFont: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u0433\u043E \u0432\u0447\u0438\u0442\u0430\u043C \u043C\u0440\u0435\u0436\u043D\u0438\u043E\u0442 \u0444\u043E\u043D\u0442 %1", - FirefoxCantLoadWebFont: "Firefox \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0432\u0447\u0438\u0442\u0430 \u043C\u0440\u0435\u0436\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043E\u0434 \u0434\u0430\u043B\u0435\u0447\u0438\u043D\u0441\u043A\u0438 \u0434\u043E\u043C\u0430\u045C\u0438\u043D", - CantFindFontUsing: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u043D\u0430\u0458\u0434\u0430\u043C \u043F\u0440\u0438\u043A\u043B\u0430\u0434\u0435\u043D \u0444\u043E\u043D\u0442 \u0448\u0442\u043E \u043A\u043E\u0440\u0438\u0441\u0442\u0438 %1", - WebFontsNotAvailable: "\u041C\u0440\u0435\u0436\u043D\u0438\u0442\u0435 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0441\u0435 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u043F\u043D\u0438. \u040C\u0435 \u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043C \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/mk/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/mk/HelpDialog.js deleted file mode 100644 index ea8c960a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/mk/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/mk/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("mk","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "\u041F\u043E\u043C\u043E\u0448 \u0441\u043E MathJax", - MathJax: "*MathJax* \u0435 JavaScript-\u0431\u0438\u0431\u043B\u0438\u043E\u0442\u043A\u0430 \u0448\u0442\u043E \u0438\u043C \u043E\u0432\u043E\u0437\u043C\u043E\u0436\u0443\u0432\u0430 \u043D\u0430 \u0430\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u0434\u0430 \u0441\u0442\u0430\u0432\u0430\u0430\u0442 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043D\u0430 \u043D\u0438\u0432\u043D\u0438\u0442\u0435 \u0441\u0435\u043C\u0440\u0435\u0436\u043D\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438. \u041A\u0430\u043A\u043E \u0447\u0438\u0442\u0430\u0442\u0435\u043B \u043D\u0435 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u043F\u0440\u0430\u0432\u0438\u0442\u0435 \u043D\u0438\u0448\u0442\u043E, \u0431\u0438\u0434\u0435\u0458\u045C\u0438 \u0442\u0438\u0435 \u0441\u0430\u043C\u0438\u0442\u0435 \u045C\u0435 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430\u0430\u0442.", - Browsers: "*\u041F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438*: MathJax \u0440\u0430\u0431\u043E\u0442\u0438 \u043D\u0430 \u0441\u0438\u0442\u0435 \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438 \u043A\u0430\u043A\u043E IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ \u0438 \u043D\u0430\u0458\u0432\u0435\u045C\u0435\u0442\u043E \u043C\u043E\u0431\u0438\u043B\u043D\u0438 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438.", - Menu: "*\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u043E \u043C\u0435\u043D\u0438*: MathJax \u0441\u0442\u0430\u0432\u0430 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E \u043C\u0435\u043D\u0438 \u0432\u043E \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435. \u0414\u043E \u043D\u0435\u0433\u043E \u0441\u0435 \u0434\u043E\u0430\u0453\u0430 \u0441\u043E \u0434\u0435\u0441\u0435\u043D \u0441\u0442\u0438\u0441\u043E\u043A \u0441\u043E \u0433\u043B\u0443\u0448\u0435\u0446\u043E\u0442 (\u0438\u043B\u0438 Ctrl-\u0441\u0442\u0438\u0441\u043E\u043A) \u043D\u0430 \u0431\u0438\u043B\u043E \u043A\u043E\u0458\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430.", - ShowMath: "*\u041F\u041F\u0440\u0438\u043A\u0430\u0436\u0438 \u0458\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430\u0442\u0430 \u043A\u0430\u043A\u043E* \u0432\u0438 \u043E\u0432\u043E\u0437\u043C\u043E\u0436\u0443\u0432\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0433\u043B\u0435\u0434\u0430\u0442\u0435 \u0438\u0437\u0432\u043E\u0440\u043D\u0438\u043E\u0442 \u043A\u043E\u0434 \u043D\u0430 \u0444\u043E\u0440\u043C\u0443\u043B\u0430\u0442\u0430 \u0438 \u0434\u0430 \u0433\u043E \u043F\u0440\u0435\u043A\u043E\u043F\u0438\u0440\u0430\u0442\u0435 (\u043A\u0430\u043A\u043E MathML \u0438\u043B\u0438 \u0432\u043E \u0438\u0437\u0432\u043E\u0440\u0435\u043D \u0444\u043E\u0440\u043C\u0430\u0442).", - Settings: "*\u041F\u043E\u0441\u0442\u0430\u0432\u043A\u0438* \u0432\u0438 \u0434\u0430\u0432\u0430\u0430\u0442 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0430 \u0432\u0440\u0437 \u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u043D\u0430 MathJax \u043A\u0430\u043A\u043E \u0433\u043E\u043B\u0435\u043C\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u043E\u0442 \u0438\u0441\u043F\u0438\u0441 \u0438 \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C\u043E\u0442 \u0437\u0430 \u043F\u0440\u0438\u043A\u0430\u0437 (\u0438\u0441\u043F\u0438\u0441) \u043D\u0430 \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435.", - Language: "*\u0408\u0430\u0437\u0438\u043A* \u0432\u0438 \u0434\u0430\u0432\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0458\u0430\u0437\u0438\u043A \u043D\u0430 \u043C\u0435\u043D\u0438\u0442\u043E \u0438 \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0434\u0443\u0432\u0430\u0447\u043A\u0438\u0442\u0435 \u043F\u043E\u0440\u0430\u043A\u0438 \u043D\u0430 MathJax.", - Zoom: "*\u0417\u0433\u043E\u043B\u0435\u043C\u0443\u0432\u0430\u045A\u0435 \u043D\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442*: \u0410\u043A\u043E \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u0432\u0438 \u0435 \u0441\u0438\u0442\u0435\u043D \u0437\u0430 \u0447\u0438\u0442\u0430\u045A\u0435, MathJax \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u043E \u0437\u0433\u043E\u043B\u0435\u043C\u0438 \u0437\u0430 \u0434\u0430 \u0432\u0438 \u0431\u0438\u0434\u0435 \u043F\u043E\u0447\u0438\u0442\u043B\u0438\u0432.", - Accessibilty: "*\u041F\u043E\u0442\u0435\u0448\u043A\u043E\u0442\u0438\u0438 \u0441\u043E \u0432\u0438\u0434\u043E\u0442*: MathJax \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0441\u043A\u0438 \u0440\u0430\u0431\u043E\u0442\u0438 \u0441\u043E \u0435\u043A\u0440\u0430\u043D\u0441\u043A\u0438\u0442\u0435 \u0447\u0438\u0442\u0430\u0447\u0438 \u0437\u0430 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438\u0442\u0435 \u0434\u0430 \u0431\u0438\u0434\u0430\u0442 \u0458\u0430\u0441\u043D\u0438 \u0437\u0430 \u043B\u0438\u0446\u0430\u0442\u0430 \u0441\u043E \u0445\u0435\u043D\u0434\u0438\u043A\u0435\u043F\u0438\u0440\u0430\u043D \u0432\u0438\u0434.", - Fonts: "*\u0424\u043E\u043D\u0442\u043E\u0432\u0438*: MathJax \u045C\u0435 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u0438\u0437\u0432\u0435\u0441\u043D\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438, \u0434\u043E\u043A\u043E\u043B\u043A\u0443 \u0441\u0435 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D\u0438 \u043D\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u0441\u043C\u0435\u0442\u0430\u0447. \u0412\u043E \u0441\u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E \u045C\u0435 \u0441\u0435 \u043A\u043E\u0440\u0438\u0441\u0442\u0430\u0442 \u043C\u0440\u0435\u0436\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0437\u0430 \u0442\u0430\u0430 \u043D\u0430\u043C\u0435\u043D\u0430. \u0418\u0430\u043A\u043E \u043D\u0435 \u0441\u0435 \u0437\u0430\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u0438, \u043C\u0435\u0441\u043D\u043E \u0432\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0435\u043D\u0438\u0442\u0435 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0433\u043E \u0437\u0430\u0431\u0440\u0437\u0443\u0432\u0430\u0430\u0442 \u0438\u0441\u043F\u0438\u0441\u043E\u0442. \u0412\u0438 \u043F\u0440\u0435\u0434\u043B\u0430\u0433\u0430\u043C\u0435 \u0434\u0430 \u0433\u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 STIX](%1).", - CloseDialog: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438 \u0433\u043E \u043F\u043E\u043C\u043E\u0448\u043D\u0438\u043E\u0442 \u0434\u0438\u0458\u0430\u043B\u043E\u0433" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/mk/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/MathML.js b/src/py/kaleido/vendor/mathjax/localization/mk/MathML.js deleted file mode 100644 index 937ab4f0..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/mk/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/mk/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("mk","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "\u0413\u0440\u0435\u0448\u0435\u043D mglyph: %1", - BadMglyphFont: "\u0413\u0440\u0435\u0448\u0435\u043D \u0444\u043E\u043D\u0442: %1", - MathPlayer: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0438 MathPlayer.\n\n\u0414\u043E\u043A\u043E\u043B\u043A\u0443 \u043D\u0435 \u0432\u0438 \u0435 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D MathPlayer, \u045C\u0435 \u0442\u0440\u0435\u0431\u0430 \u043F\u0440\u0432\u043E \u0434\u0430 \u0433\u043E \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435.\n\u0412\u043E \u0441\u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E, \u043E\u0432\u0430 \u0437\u043D\u0430\u0447\u0438 \u0434\u0435\u043A\u0430 \u0432\u0430\u0448\u0438\u0442\u0435 \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u043E\u0441\u043D\u0438 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438 \u0458\u0430 \u0441\u043F\u0440\u0435\u0447\u0443\u0432\u0430\u0430\u0442 \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u0430 \u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438\u0442\u0435 \u0432\u043E ActiveX. \u041F\u043E\u0458\u0434\u0435\u0442\u0435 \u0432\u043E \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u043E\u0441\u043D\u0438\u0442\u0435 \u043D\u0430\u0433\u043E\u0434\u0443\u0432\u0430\u045A\u0430 \u043D\u0430 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043E\u0442 \u0438 \u0441\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u043D\u0430 \u043F\u0440\u0438\u043B\u0430\u0433\u043E\u0434\u043B\u0438\u0432\u043E (Custom Level). \u0422\u0430\u043C\u0443 \u043F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u043B\u0438 \u0432\u0438 \u0441\u0435 \u0432\u043A\u043B\u0443\u0447\u0435\u043D\u0438 \u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u0437\u0430 \u0440\u0430\u0431\u043E\u0442\u0430 \u0441\u043E ActiveX-\u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438 \u0438 \u0411\u0438\u043D\u0430\u0440\u043D\u0438 \u0438 \u0441\u043A\u0440\u0438\u043F\u0442\u043D\u0438 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0458\u0430.\n\n\u0417\u0430\u0441\u0435\u0433\u0430 \u045C\u0435 \u0433\u043B\u0435\u0434\u0430\u0442\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u0443\u0432\u0430\u045A\u0430 \u0437\u0430 \u0433\u0440\u0435\u0448\u043A\u0438 \u043D\u0430\u043C\u0435\u0441\u0442\u043E \u0438\u0441\u043F\u0438\u0448\u0430\u043D\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438.", - CantCreateXMLParser: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u043E\u0437\u0434\u0430\u0434\u0435 XML-\u043F\u0430\u0440\u0441\u0435\u0440 \u0437\u0430 MathML. \u041F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u043B\u0438 \u0435 \u0432\u043A\u043B\u0443\u0447\u0435\u043D\u0430 \u0441\u0438\u0433\u0443\u0440\u043D\u043E\u0441\u043D\u0430\u0442\u0430 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0430 ActiveX-\u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438 \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u0438 \u0437\u0430 \u0441\u043A\u0440\u0438\u043F\u0442\u0438\u0440\u0430\u045A\u0435 (\u0432\u043E \u043F\u0440\u0438\u043B\u0430\u0433\u043E\u0434\u043B\u0438\u0432\u0438\u043E\u0442 \u0434\u0435\u043B (Custom Level) \u043D\u0430 \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438 \u0432\u043E \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043E\u0442).\n\nMathJax \u043D\u0435\u043C\u0430 \u0434\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0438 \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435 \u043D\u0430 MathML.", - UnknownNodeType: "\u041D\u0435\u043F\u043E\u0437\u043D\u0430\u0442 \u0442\u0438\u043F \u043D\u0430 \u0458\u0430\u0437\u043E\u043B: %1", - UnexpectedTextNode: "\u041D\u0435\u043E\u0447\u0435\u043A\u0443\u0432\u0430\u043D \u0458\u0430\u0437\u043E\u043B \u0432\u043E \u0442\u0435\u043A\u0441\u0442\u043E\u0442: %1", - ErrorParsingMathML: "\u0413\u0440\u0435\u0448\u043A\u0430 \u043F\u0440\u0438 \u0440\u0430\u0441\u0447\u043B\u0435\u043D\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 MathML", - ParsingError: "\u0413\u0440\u0435\u0448\u043A\u0430 \u043F\u0440\u0438 \u0440\u0430\u0441\u0447\u043B\u0435\u043D\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 MathML: %1", - MathMLSingleElement: "MathML \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u043E\u0434 \u0435\u0434\u0435\u043D \u0435\u043B\u0435\u043C\u0435\u043D\u0442", - MathMLRootElement: "MathML \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0441\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442 \u003Cmath\u003E, \u0430 \u043D\u0435 %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/mk/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/mk/MathMenu.js deleted file mode 100644 index 62ec776f..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/mk/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/mk/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("mk","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u041F\u0440\u0438\u043A\u0430\u0436\u0438 \u0458\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430\u0442\u0430 \u043A\u0430\u043A\u043E", - MathMLcode: "MathML-\u043A\u043E\u0434", - OriginalMathML: "\u0418\u0437\u0432\u043E\u0440\u0435\u043D MathML", - TeXCommands: "TeX-\u043D\u0430\u0440\u0435\u0434\u0431\u0438", - AsciiMathInput: "AsciiMathML-\u0432\u043D\u043E\u0441", - Original: "\u0418\u0437\u0432\u043E\u0440\u0435\u043D \u043E\u0431\u043B\u0438\u043A", - ErrorMessage: "\u0418\u0437\u0432\u0435\u0441\u0442\u0443\u0432\u0430\u045A\u0435 \u0437\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", - Annotation: "\u041F\u0440\u0438\u0431\u0435\u043B\u0435\u0448\u043A\u0438", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "\u0421\u043E\u0434\u0440\u0436\u0438\u043D\u0441\u043A\u0438 MathML", - OpenMath: "OpenMath", - texHints: "\u041F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430\u0458 \u043F\u043E\u043C\u043E\u0448\u043D\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0437\u0438 \u043E\u0434 TeX \u0432\u043E MathML", - Settings: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438", - ZoomTrigger: "\u0417\u0433\u043E\u043B\u0435\u043C\u0443\u0432\u0430\u045A\u0435", - Hover: "\u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u0432\u0440\u0437 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430\u0442\u0430", - Click: "\u0421\u0442\u0438\u0441\u043E\u043A", - DoubleClick: "\u0414\u0432\u043E\u0435\u043D \u0441\u0442\u0438\u0441\u043E\u043A", - NoZoom: "\u0411\u0435\u0437 \u0437\u0433\u043E\u043B\u0435\u043C\u0443\u0432\u0430\u045A\u0435", - TriggerRequires: "\u0417\u0430 \u0434\u0430 \u0433\u043E \u0437\u0433\u043E\u043B\u0435\u043C\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442:", - Option: "\u041C\u043E\u0436\u043D\u043E\u0441\u0442", - Alt: "Alt", - Command: "\u2318", - Control: "Ctrl", - Shift: "Shift", - ZoomFactor: "\u0427\u0438\u043D\u0438\u0442\u0435\u043B \u2014 \u041F\u0440\u0438\u0431\u043B\u0438\u0436\u0443\u0432\u0430\u045A\u0435", - Renderer: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0438\u0441\u043F\u0438\u0448\u0443\u0432\u0430\u0447", - MPHandles: "\u041D\u0435\u043A\u0430 MathPlayer \u0440\u0430\u0431\u043E\u0442\u0438 \u0441\u043E:", - MenuEvents: "\u041F\u043E\u0441\u0442\u0430\u043F\u043A\u0438 \u0441\u043E \u043C\u0435\u043D\u0438\u0442\u043E", - MouseEvents: "\u041F\u043E\u0441\u0442\u0430\u043F\u043A\u0438 \u0441\u043E \u0433\u043B\u0443\u0448\u0435\u0446\u043E\u0442", - MenuAndMouse: "\u041F\u043E\u0441\u0442\u0430\u043F\u043A\u0438 \u0441\u043E \u043C\u0435\u043D\u0438\u0442\u043E \u0438 \u0433\u043B\u0443\u0448\u0435\u0446\u043E\u0442", - FontPrefs: "\u041D\u0430\u0433\u043E\u0434\u0443\u0432\u0430\u045A\u0430 \u043D\u0430 \u0444\u043E\u043D\u0442\u043E\u0442", - ForHTMLCSS: "\u0417\u0430 HTML-CSS:", - Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0441\u043A\u0438", - TeXLocal: "TeX (\u043C\u0435\u0441\u043D\u043E)", - TeXWeb: "TeX (\u043C\u0440\u0435\u0436\u043D\u043E)", - TeXImage: "TeX (\u0441\u043B\u0438\u043A\u0430)", - STIXLocal: "STIX (\u043C\u0435\u0441\u043D\u043E)", - STIXWeb: "STIX (\u043C\u0440\u0435\u0436\u043D\u043E)", - AsanaMathWeb: "Asana Math (\u043C\u0440\u0435\u0436\u043D\u043E)", - GyrePagellaWeb: "Gyre Pagella (\u043C\u0440\u0435\u0436\u043D\u043E)", - GyreTermesWeb: "Gyre Termes (\u043C\u0440\u0435\u0436\u043D\u043E)", - LatinModernWeb: "Latin Modern (\u043C\u0440\u0435\u0436\u043D\u043E)", - NeoEulerWeb: "Neo Euler (\u043C\u0440\u0435\u0436\u043D\u043E)", - ContextMenu: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E \u043C\u0435\u043D\u0438", - Browser: "\u041F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447", - Scale: "\u041F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430 \u0458\u0430 \u0441\u0435\u0442\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 \u0432\u043E \u0440\u0430\u0437\u043C\u0435\u0440...", - Discoverable: "\u0418\u0441\u0442\u0430\u043A\u043D\u0443\u0432\u0430\u0458 (\u043F\u043E\u0442\u0446\u0440\u0442\u0443\u0432\u0430\u0458) \u043F\u0440\u0438 \u043E\u0434\u0435\u045A\u0435 \u0441\u043E \u0441\u0442\u0440\u0435\u043B\u043A\u0430\u0442\u0430 \u0432\u0440\u0437 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430\u0442\u0430", - Locale: "\u0408\u0430\u0437\u0438\u043A", - LoadLocale: "\u0412\u0447\u0438\u0442\u0430\u0458 \u043E\u0434 URL ...", - About: "\u0417\u0430 MathJax", - Help: "\u041F\u043E\u043C\u043E\u0448 \u0441\u043E MathJax", - localTeXfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 TeX-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", - webTeXfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 TeX-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", - imagefonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438", - localSTIXfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0435\u0441\u043D\u0438 STIX-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", - webSVGfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 SVG-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", - genericfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043E\u043F\u0448\u0442\u043E\u043D\u0430\u043C\u0435\u043D\u0441\u043A\u0438 \u0443\u043D\u0438\u043A\u043E\u0434\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438", - wofforotffonts: "WOFF- \u0438\u043B\u0438 OTF-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", - eotffonts: "EOT-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", - svgfonts: "SVG-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", - WebkitNativeMMLWarning: "\u0412\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043D\u0435\u043C\u0430 \u0432\u0433\u0440\u0430\u0434\u0435\u043D\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML, \u043F\u0430 \u0437\u0430\u0442\u043E\u0430 \u0430\u043A\u043E \u0441\u0435 \u043F\u0440\u0435\u0444\u0440\u043B\u0438\u0442\u0435 \u043D\u0430 \u043D\u0435\u0433\u043E, \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043C\u043E\u0436\u0430\u0442 \u0434\u0430 \u0441\u0442\u0430\u043D\u0430\u0442 \u043D\u0435\u0447\u0438\u0442\u043B\u0438\u0432\u0438.", - MSIENativeMMLWarning: "Internet Explorer \u0433\u043E \u0431\u0430\u0440\u0430 \u0434\u043E\u0434\u0430\u0442\u043E\u043A\u043E\u0442 MathPlayer \u0437\u0430 \u0434\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0440\u0430\u0431\u043E\u0442\u0438 \u0441\u043E MathML.", - OperaNativeMMLWarning: "Opera \u0438\u043C\u0430 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML, \u0448\u0442\u043E \u0437\u043D\u0430\u0447\u0438 \u0434\u0435\u043A\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u043D\u0435\u043A\u043E\u0438 \u0438\u0437\u0440\u0435\u0437\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043B\u043E\u0448.", - SafariNativeMMLWarning: "\u0412\u0433\u0440\u0430\u0434\u0435\u043D\u0430\u0442\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML \u0432\u043E \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043D\u0435 \u0433\u0438 \u0438\u043C\u0430 \u0441\u0438\u0442\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438 \u043D\u0430 MathJax, \u043F\u0430 \u0437\u0430\u0442\u043E\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u043D\u0435\u043A\u043E\u0438 \u0438\u0437\u0440\u0435\u0437\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043B\u043E\u0448.", - FirefoxNativeMMLWarning: "\u0412\u0433\u0440\u0430\u0434\u0435\u043D\u0430\u0442\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML \u0432\u043E \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043D\u0435 \u0433\u0438 \u0438\u043C\u0430 \u0441\u0438\u0442\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438 \u043D\u0430 MathJax, \u043F\u0430 \u0437\u0430\u0442\u043E\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u043D\u0435\u043A\u043E\u0438 \u0438\u0437\u0440\u0435\u0437\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043B\u043E\u0448.", - MSIESVGWarning: "Internet Explorer \u043D\u0435\u043C\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 SVG \u0432\u043E \u0432\u0435\u0440\u0437\u0438\u0438\u0442\u0435 \u043F\u0440\u0435\u0434 IE9 \u0438\u043B\u0438 \u043A\u043E\u0433\u0430 \u0435\u043C\u0443\u043B\u0438\u0440\u0430 IE8 \u0438\u043B\u0438 \u043F\u043E\u0441\u0442\u0430\u0440\u0438 \u0432\u0435\u0440\u0437\u0438\u0438. \u0417\u0430\u0442\u043E\u0430, \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043D\u0435\u043C\u0430 \u0434\u0430 \u0441\u0435 \u0438\u0441\u043F\u0438\u0448\u0443\u0432\u0430\u0430\u0442 \u043F\u0440\u0430\u0432\u0438\u043B\u043D\u043E.", - LoadURL: "\u0412\u0447\u0438\u0442\u0430\u0458 \u0433\u0438 \u043F\u0440\u0435\u0432\u043E\u0434\u043D\u0438\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u043E\u0434 \u0441\u043B\u0435\u0434\u043D\u0430\u0432\u0430 URL:", - BadURL: "URL-\u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0430 \u0441\u043E JavaScript-\u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u0448\u0442\u043E \u0433\u0438 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0443\u0432\u0430\u0430\u0442 \u043F\u0440\u0435\u0432\u043E\u0434\u043D\u0438\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u0437\u0430 MathJax. JavaScript-\u043F\u043E\u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0438\u0442\u0435 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430\u0430\u0442 \u0441\u043E \u043D\u0430\u0441\u0442\u0430\u0432\u043A\u0430\u0442\u0430 \u201E.js\u201C", - BadData: "\u041D\u0435 \u0443\u0441\u043F\u0435\u0430\u0432 \u0434\u0430 \u0433\u0438 \u0432\u0447\u0438\u0442\u0430\u043C \u043F\u0440\u0435\u0432\u043E\u0434\u043D\u0438\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u043E\u0434 %1", - SwitchAnyway: "\u0421\u0435\u043F\u0430\u043A \u0434\u0430 \u0433\u043E \u0441\u043C\u0435\u043D\u0430\u043C \u0438\u0441\u043F\u0438\u0448\u0443\u0432\u0430\u0447\u043E\u0442?\n\n(\u041E\u041A \u0437\u0430 \u0434\u0430 \u0441\u0435 \u0441\u043C\u0435\u043D\u0438 \u0438\u043B\u0438 \u041E\u0422\u041A\u0410\u0416\u0418 \u0437\u0430 \u0434\u0430 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435 \u0441\u043E \u043F\u043E\u0441\u0442\u043E\u0435\u0447\u043A\u0438\u043E\u0442)", - ScaleMath: "\u0420\u0430\u0437\u043C\u0435\u0440 \u043D\u0430 \u0441\u0435\u0442\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 (\u0432\u043E \u043E\u0434\u043D\u043E\u0441 \u043D\u0430 \u043E\u043A\u043E\u043B\u043D\u0438\u043E\u0442 \u0442\u0435\u043A\u0441\u0442, \u043A\u0430\u043A\u043E \u043F\u043E\u0441\u0442\u043E\u0442\u043E\u043A):", - NonZeroScale: "\u0420\u0430\u0437\u043C\u0435\u0440\u043E\u0442 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043D\u0443\u043B\u0430", - PercentScale: "\u0420\u0430\u0437\u043C\u0435\u0440\u043E\u0442 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0435 \u0438\u0437\u0440\u0430\u0437\u0435\u043D \u0432\u043E \u043F\u043E\u0441\u0442\u043E\u0442\u043E\u043A (\u043D\u0430 \u043F\u0440. 120%%)", - IE8warning: "\u0421\u043E \u043E\u0432\u0430 \u045C\u0435 \u0433\u0438 \u0438\u0441\u043A\u043B\u0443\u0447\u0438\u0442\u0435 \u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u043E\u0434 \u043C\u0435\u043D\u0438\u0442\u043E \u0438 \u043C\u0435\u043D\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 \u0433\u043E\u043B\u0435\u043C\u0438\u043D\u0430\u0442\u0430 \u0432\u043E MathJax, \u043D\u043E \u043C\u0435\u043D\u0438\u0442\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u043E \u0434\u043E\u0431\u0438\u0435\u0442\u0435 \u0441\u043E Alt-\u0441\u0442\u0438\u0441\u043E\u043A \u043D\u0430 \u043D\u0435\u043A\u043E\u0458 \u0438\u0437\u0440\u0430\u0437.\n\n\u041D\u0430\u0432\u0438\u0441\u0442\u0438\u043D\u0430 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043C\u0435\u0430\u043C \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438\u0442\u0435 \u043D\u0430 MathPlayer?", - IE9warning: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0442\u043E \u043C\u0435\u043D\u0438 \u043D\u0430 MathJax \u045C\u0435 \u0431\u0438\u0434\u0435 \u0438\u0441\u043A\u043B\u0443\u0447\u0435\u043D\u043E, \u043D\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u0438\u0442\u0435 Alt-\u0441\u0442\u0438\u0441\u043E\u043A \u043D\u0430 \u0438\u0437\u0440\u0430\u0437\u043E\u0442 \u0437\u0430 \u0434\u0430 \u0433\u043E \u0434\u043E\u0431\u0438\u0435\u0442\u0435 \u043C\u0435\u043D\u0438\u0442\u043E.", - NoOriginalForm: "\u041D\u0435\u043C\u0430 \u0438\u0437\u0432\u043E\u0440\u0435\u043D \u043E\u0431\u043B\u0438\u043A \u043D\u0430 \u0440\u0430\u0441\u043F\u043E\u043B\u0430\u0433\u0430\u045A\u0435", - Close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438", - EqSource: "\u0418\u0437\u0432\u043E\u0440 \u043D\u0430 \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435 \u043D\u0430 MathJax", - CloseAboutDialog: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438 \u0433\u043E \u0434\u0438\u0458\u0430\u043B\u043E\u0433\u043E\u0442 \u0437\u0430 MathJax", - FastPreview: "\u0411\u0440\u0437 \u043F\u0440\u0435\u0433\u043B\u0435\u0434", - AssistiveMML: "\u041F\u043E\u043C\u043E\u0448\u0435\u043D MathML", - InTabOrder: "\u0412\u043A\u043B\u0443\u0447\u0438 \u0432\u043E \u0440\u0435\u0434\u043E\u0441\u043B\u0435\u0434\u043E\u0442 \u043D\u0430 \u0458\u0430\u0437\u0438\u0447\u0438\u045A\u0430" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/mk/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/TeX.js b/src/py/kaleido/vendor/mathjax/localization/mk/TeX.js deleted file mode 100644 index 7bb3e5c0..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/mk/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/mk/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("mk","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u0418\u043C\u0430\u0442\u0435 \u043D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0438\u043B\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430", - ExtraCloseMissingOpen: "\u0418\u043C\u0430\u0442\u0435 \u043D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0438\u043B\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430", - MissingLeftExtraRight: "\u041D\u0435\u043C\u0430\u0442\u0435 \u201E\\left\u201C \u0438\u043B\u0438 \u0438\u043C\u0430\u0442\u0435 \u0432\u0438\u0448\u043E\u043A \u201E\\right\u201C", - MissingScript: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 \u0433\u043E\u0440\u0435\u043D \u0438\u043B\u0438 \u0434\u043E\u043B\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441", - ExtraLeftMissingRight: "\u041D\u0435\u043C\u0430\u0442\u0435 \u201E\\right\u201C \u0438\u043B\u0438 \u0438\u043C\u0430\u0442\u0435 \u0432\u0438\u0448\u043E\u043A \u201E\\left\u201C", - Misplaced: "\u041F\u043E\u0433\u0440\u0435\u0448\u043D\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D %1", - MissingOpenForSub: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0437\u0430 \u0434\u043E\u043B\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441", - MissingOpenForSup: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0437\u0430 \u0433\u043E\u0440\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441", - AmbiguousUseOf: "\u041D\u0435\u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 %1", - EnvBadEnd: "\\begin{%1} \u0437\u0430\u0431\u0440\u0448\u0438 \u0441\u043E \\end{%2}", - EnvMissingEnd: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \\end{%1}", - MissingBoxFor: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043A\u0443\u0442\u0438\u0458\u043A\u0430 \u0437\u0430 %1", - MissingCloseBrace: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430", - UndefinedControlSequence: "\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043D\u0438\u0437\u0430 %1", - DoubleExponent: "\u0414\u0432\u043E\u0435\u043D \u0433\u043E\u0440\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441: \u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0435 \u0441\u043E \u0437\u0430\u0433\u0440\u0430\u0434\u0438", - DoubleSubscripts: "\u0414\u0432\u043E\u0435\u043D \u0434\u043E\u043B\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441: \u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0435 \u0441\u043E \u0437\u0430\u0433\u0440\u0430\u0434\u0438", - DoubleExponentPrime: "\u041F\u0440\u0438\u043C\u043E\u0442 \u043F\u0440\u0430\u0432\u0438 \u0434\u0432\u043E\u0435\u043D \u0433\u043E\u0440\u0435\u043D \u0438\u043D\u0434\u0435\u043B\u043A\u0441: \u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0435 \u0441\u043E \u0437\u0430\u0433\u0440\u0430\u0434\u0438", - CantUseHash1: "\u041D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u043E \u043A\u043E\u0440\u0438\u0441\u0442\u0438\u0442\u0435 \u043C\u0430\u043A\u0440\u043E\u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0430\u0440\u0441\u043A\u0438\u043E\u0442 \u0437\u043D\u0430\u043A \u201E#\u201C \u0432\u043E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0440\u0435\u0436\u0438\u043C", - MisplacedMiddle: "%1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u201E\\left\u201C \u0438\u043B\u0438 \u201E\\right\u201C", - MisplacedLimits: "%1 \u0441\u0435 \u0434\u043E\u043F\u0443\u0448\u0442\u0430 \u0441\u0430\u043C\u043E \u0437\u0430 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0438", - MisplacedMoveRoot: "%1 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0458\u0430\u0432\u0443\u0432\u0430 \u0441\u0430\u043C\u043E \u0432\u043E \u043A\u043E\u0440\u0435\u043D", - MultipleCommand: "%1 \u0441\u0435 \u0458\u0430\u0432\u0443\u0432\u0430 \u043F\u043E\u0432\u0435\u045C\u0435\u043F\u0430\u0442\u0438", - IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0446\u0435\u043B \u0431\u0440\u043E\u0458", - NotMathMLToken: "%1 \u043D\u0435 \u0435 \u0448\u0438\u0444\u0440\u0435\u043D \u0435\u043B\u0435\u043C\u0435\u043D\u0442", - InvalidMathMLAttr: "\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0438 MathML-\u0430\u0442\u0440\u0438\u0431\u0443\u0442: %1", - UnknownAttrForElement: "%1 \u043D\u0435 \u0435 \u043F\u0440\u0438\u0437\u043D\u0430\u0435\u043D \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0437\u0430 %2", - MaxMacroSub1: "\u041D\u0430\u0434\u043C\u0438\u043D\u0430\u0442 \u0435 \u043D\u0430\u0458\u0433\u043E\u043B\u0435\u043C\u0438\u043E\u0442 \u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D \u0431\u0440\u043E\u0458 \u043D\u0430 \u043C\u0430\u043A\u0440\u043E\u0437\u0430\u043C\u0435\u043D\u0438 \u0432\u043E MathJax. \u0414\u0430 \u043D\u0435 \u0438\u043C\u0430 \u0440\u0435\u043A\u0443\u0440\u0437\u0438\u0432\u043D\u043E \u043F\u043E\u0432\u0438\u043A\u0443\u0432\u0430\u045A\u0435 \u043D\u0430 \u043C\u0430\u043A\u0440\u043E\u0437\u0430\u043C\u0435\u043D\u0430\u0442\u0430?", - MaxMacroSub2: "\u041D\u0430\u0434\u043C\u0438\u043D\u0430\u0442 \u0435 \u043D\u0430\u0458\u0433\u043E\u043B\u0435\u043C\u0438\u043E\u0442 \u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D \u0431\u0440\u043E\u0458 \u043D\u0430 \u043C\u0430\u043A\u0440\u043E\u0437\u0430\u043C\u0435\u043D\u0438 \u0432\u043E MathJax. \u0414\u0430 \u043D\u0435 \u0438\u043C\u0430 \u0440\u0430\u043A\u0443\u0440\u0437\u0438\u0432\u043D\u0430 LaTeX-\u043E\u043A\u043E\u043B\u0438\u043D\u0430?", - MissingArgFor: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1", - ExtraAlignTab: "\u041D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u0435\u043D \u0437\u043D\u0430\u043A \u0437\u0430 \u043F\u043E\u0440\u0430\u043C\u043D\u0443\u0432\u0430\u045A\u0435 \u0432\u043E \u0442\u0435\u043A\u0441\u0442\u043E\u0442 \u043D\u0430 \u201E\\cases\u201C", - BracketMustBeDimension: "\u0417\u0430\u0433\u0440\u0430\u0434\u0435\u043D\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0438\u043C\u0435\u043D\u0437\u0438\u0458\u0430", - InvalidEnv: "\u041F\u043E\u0433\u0440\u0435\u0448\u043D\u043E \u0438\u043C\u0435 \u043D\u0430 \u043E\u043A\u043E\u043B\u0438\u043D\u0430\u0442\u0430 \u201E%1\u201C", - UnknownEnv: "\u041D\u0435\u043F\u043E\u0437\u043D\u0430\u0442\u0430 \u043E\u043A\u043E\u043B\u0438\u043D\u0430 \u201E%1\u201C", - ExtraCloseLooking: "\u041D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0432\u043E \u043F\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 %1", - MissingCloseBracket: "\u041D\u0435 \u043C\u043E\u0436\u0435\u0432 \u0434\u0430 \u043D\u0430\u0458\u0434\u0430\u043C \u0437\u0430\u0432\u0440\u0448\u043D\u043E ']' \u0437\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0442 \u0432\u043E %1", - MissingOrUnrecognizedDelim: "\u041E\u0442\u0441\u0443\u0442\u0435\u043D \u0438\u043B\u0438 \u043D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043E\u0434\u0434\u0435\u043B\u0443\u0432\u0430\u0447 \u0437\u0430 %1", - MissingDimOrUnits: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0434\u0438\u043C\u0435\u043D\u0437\u0438\u0458\u0430 \u0438\u043B\u0438 \u043D\u0435\u0458\u0437\u0438\u043D\u0438 \u0435\u0434\u0438\u043D\u0438\u0446\u0438 \u0437\u0430 %1", - TokenNotFoundForCommand: "\u041D\u0435 \u043C\u043E\u0436\u0435\u0432 \u0434\u0430 \u0433\u043E \u043D\u0430\u0458\u0434\u0430\u043C %1 \u0437\u0430 %2", - MathNotTerminated: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430\u0442\u0430 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430 \u043D\u0435 \u0435 \u0437\u0430\u0432\u0440\u0448\u0435\u043D\u0430 \u0432\u043E \u043F\u043E\u043B\u0435\u0442\u043E \u0437\u0430 \u0442\u0435\u043A\u0441\u0442", - IllegalMacroParam: "\u041D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u0435\u043D \u043C\u0430\u043A\u0440\u043E\u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0430\u0440", - MaxBufferSize: "\u041D\u0430\u0434\u043C\u0438\u043D\u0430\u0442\u0430 \u0435 \u0433\u043E\u043B\u0435\u043C\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 \u0432\u043D\u0430\u0442\u0440\u0435\u0448\u043D\u0438\u043E\u0442 \u043C\u0435\u0453\u0443\u0441\u043A\u043B\u0430\u0434 \u043D\u0430 MathJax. \u0414\u0430 \u043D\u0435 \u0438\u043C\u0430 \u0440\u0435\u043A\u0443\u0440\u0437\u0438\u0432\u043D\u043E \u043C\u0430\u043A\u0440\u043E\u043F\u043E\u0432\u0438\u043A\u0443\u0432\u0430\u045A\u0435?", - CommandNotAllowedInEnv: "%1 \u043D\u0435 \u0441\u0435 \u0434\u043E\u043F\u0443\u0448\u0442\u0430 \u0432\u043E \u043E\u043A\u043E\u043B\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 %2", - MultipleLabel: "\u041D\u0430\u0442\u043F\u0438\u0441\u043E\u0442 \u201E%1\u201C \u0435 \u0437\u0430\u0434\u0430\u0434\u0435\u043D \u043F\u043E\u0432\u0435\u045C\u0435\u043F\u0430\u0442\u0438", - CommandAtTheBeginingOfLine: "%1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0434\u043E\u0458\u0434\u0435 \u043D\u0430 \u043F\u043E\u0447\u0435\u0442\u043E\u043A\u043E\u0442 \u043E\u0434 \u0440\u0435\u0434\u043E\u0442", - IllegalAlign: "\u0423\u043A\u0430\u0436\u0430\u043D\u043E \u0435 \u043D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u0435\u043D\u043E \u043F\u043E\u0440\u0430\u043C\u043D\u0443\u0432\u0430\u045A\u0435 \u0432\u043E %1", - BadMathStyleFor: "\u041D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u0435\u043D \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0441\u0442\u0438\u043B \u0437\u0430 %1", - PositiveIntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043F\u043E\u0437\u0438\u0442\u0438\u0432\u0435\u043D \u0446\u0435\u043B \u0431\u0440\u043E\u0458", - ErroneousNestingEq: "\u041F\u043E\u0433\u0440\u0435\u0448\u043D\u043E \u0432\u043C\u0435\u0442\u043D\u0430\u0442\u0438 \u0440\u0430\u0432\u0435\u043D\u0441\u043A\u0438 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438", - MultlineRowsOneCol: "\u0420\u0435\u0434\u043E\u0432\u0438\u0442\u0435 \u0432\u043E \u0441\u043E\u0441\u0442\u0430\u0432 \u043D\u0430 \u043E\u043A\u043E\u043B\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0438\u043C\u0430\u0430\u0442 \u0442\u043E\u0447\u043D\u043E \u043F\u043E \u0435\u0434\u043D\u0430 \u043A\u043E\u043B\u043E\u043D\u0430", - MultipleBBoxProperty: "%1 \u0435 \u0443\u043A\u0430\u0436\u0430\u043D\u043E \u0434\u0432\u0430\u043F\u0430\u0442\u0438 \u0432\u043E %2", - InvalidBBoxProperty: "\u201E%1\u201C \u043D\u0435 \u0435 \u0431\u043E\u0458\u0430, \u0434\u0438\u043C\u0435\u043D\u0437\u0438\u0458\u0430 \u0437\u0430 \u0441\u043B\u043E\u0436\u0443\u0432\u0430\u045A\u0435 \u0438\u043B\u0438 \u0441\u0442\u0438\u043B", - ExtraEndMissingBegin: "\u041D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u043E %1 \u0438\u043B\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \\begingroup", - GlobalNotFollowedBy: "%1 \u043D\u0435 \u0435 \u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D\u043E \u043E\u0434 \u201E\\let\u201C, \u201E\\def\u201C \u0438\u043B\u0438 \u201E\\newcommand\u201C", - UndefinedColorModel: "\u0411\u043E\u0458\u043D\u0438\u043E\u0442 \u043C\u043E\u0434\u0435\u043B \u201E%1\u201C \u043D\u0435 \u0435 \u0437\u0430\u0434\u0430\u0434\u0435\u043D", - ModelArg1: "\u0411\u043E\u0458\u043D\u0438\u0442\u0435 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0438 \u0437\u0430 \u043C\u043E\u0434\u0435\u043B\u043E\u0442 %1 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0438\u043C\u0430\u0430\u0442 \u043F\u043E \u0442\u0440\u0438 \u0431\u0440\u043E\u0458\u043A\u0438", - InvalidDecimalNumber: "\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0438 \u0434\u0435\u0446\u0438\u043C\u0430\u043B\u0435\u043D \u0431\u0440\u043E\u0458", - ModelArg2: "\u0411\u043E\u0458\u043D\u0438\u0442\u0435 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0438 \u0437\u0430 \u043C\u043E\u0434\u0435\u043B\u043E\u0442 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0430\u0442 \u043F\u043E\u043C\u0435\u0453\u0443 %2 \u0438 %3", - InvalidNumber: "\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0438 \u0431\u0440\u043E\u0458", - NewextarrowArg1: "\u041F\u0440\u0432\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0438\u043C\u0435\u043D\u0443\u0432\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043D\u0438\u0437\u0430", - NewextarrowArg2: "\u0412\u0442\u043E\u0440\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u0441\u043E\u0441\u0442\u043E\u0438 \u043E\u0434 \u0434\u0432\u0430 \u0446\u0435\u043B\u0438 \u0431\u0440\u043E\u0458\u0430 \u043E\u0434\u0434\u0435\u043B\u0435\u043D\u0438 \u0441\u043E \u0437\u0430\u043F\u0438\u0440\u043A\u0430", - NewextarrowArg3: "\u0422\u0440\u0435\u0442\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0443\u043D\u0438\u043A\u043E\u0434\u0435\u043D \u0431\u0440\u043E\u0435\u043D \u0437\u043D\u0430\u043A", - NoClosingChar: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u043D\u0430\u0458\u0434\u0430\u043C \u0437\u0430\u0432\u0440\u0448\u043D\u043E %1", - IllegalControlSequenceName: "\u041D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u043D\u043E \u0438\u043C\u0435 \u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430\u0442\u0430 \u043D\u0438\u0437\u0430 \u0437\u0430 %1", - IllegalParamNumber: "\u041D\u0430 %1 \u043C\u0443 \u0435 \u0443\u043A\u0430\u0436\u0430\u043D \u043D\u0435\u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D \u0431\u0440\u043E\u0458 \u043D\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438", - MissingCS: "%1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0435 \u043F\u0440\u043E\u0441\u043B\u0435\u0434\u0435\u043D \u043E\u0434 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043D\u0438\u0437\u0430", - CantUseHash2: "\u041D\u0435\u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 \u201E#\u201C \u0432\u043E \u0448\u0430\u0431\u043B\u043E\u043D\u043E\u0442 \u0437\u0430 %1", - SequentialParam: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438\u0442\u0435 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043D\u0443\u043C\u0435\u0440\u0438\u0440\u0430\u043D\u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u043D\u043E", - MissingReplacementString: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0437\u0430\u043C\u0435\u043D\u0430 \u0437\u0430 \u043D\u0438\u0437\u0430\u0442\u0430 \u0432\u043E \u0437\u0430\u0434\u0430\u0434\u0435\u043D\u043E\u0442\u043E \u043D\u0430 %1", - MismatchUseDef: "\u0423\u043F\u043E\u0442\u0440\u0435\u0431\u0430\u0442\u0430 \u043D\u0430 %1 \u043D\u0435 \u043E\u0434\u0433\u043E\u0432\u0430\u0440\u0430 \u043D\u0430 \u0437\u0430\u0434\u0430\u0434\u0435\u043D\u043E\u0442\u043E", - RunawayArgument: "\u041D\u0435\u0441\u043A\u043B\u0430\u0434\u0435\u043D \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1?", - NoClosingDelim: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u0433\u043E \u043D\u0430\u0458\u0434\u0430\u043C \u0437\u0430\u0432\u0440\u0448\u043D\u0438\u043E\u0442 \u043E\u0434\u0434\u0435\u043B\u0443\u0432\u0430\u0447 \u0437\u0430 %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/mk/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/mk.js b/src/py/kaleido/vendor/mathjax/localization/mk/mk.js deleted file mode 100644 index 91eea748..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/mk/mk.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/mk/mk.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("mk",null,{ - menuTitle: "\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax \u043F\u0440\u043E\u043D\u0430\u0458\u0434\u0435 \u043A\u043E\u043B\u0430\u0447\u0435 \u0441\u043E \u043A\u043E\u0440\u0438\u0441\u043D\u0438\u0447\u043A\u0438 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438 \u043A\u043E\u0435 \u0441\u043E\u0434\u0440\u0436\u0438 \u043A\u043E\u0434 \u0448\u0442\u043E \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0441\u0435 \u043F\u0443\u0448\u0442\u0438. \u0421\u0430\u043A\u0430\u0442\u0435 \u0434\u0430 \u0433\u043E \u043F\u0443\u0448\u0442\u0438\u0442\u0435?\n\n(\u0421\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u043D\u0430 \u201E\u041E\u0442\u043A\u0430\u0436\u0438\u201C \u0434\u043E\u043A\u043E\u043B\u043A\u0443 \u043D\u0435 \u0441\u0442\u0435 \u0433\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u043B\u0435 \u043A\u043E\u043B\u0430\u0447\u0435\u0442\u043E \u0432\u0438\u0435 \u0441\u0430\u043C\u0438\u0442\u0435.)", - MathProcessingError: "\u0413\u0440\u0435\u0448\u043A\u0430 \u0432\u043E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430\u0442\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430", - MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", - LoadFile: "\u0413\u043E \u0432\u0447\u0438\u0442\u0443\u0432\u0430\u043C %1", - Loading: "\u0412\u0447\u0438\u0442\u0443\u0432\u0430\u043C", - LoadFailed: "\u041F\u043E\u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0430\u0442\u0430 \u043D\u0435 \u0441\u0435 \u0432\u0447\u0438\u0442\u0430: %1", - ProcessMath: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430: %1%%", - Processing: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0443\u0432\u0430\u043C", - TypesetMath: "\u0421\u043B\u043E\u0436\u0443\u0432\u0430\u045A\u0435 \u043D\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442: %1%%", - Typesetting: "\u0421\u043B\u043E\u0436\u0443\u0432\u0430\u043C \u0438\u0441\u043F\u0438\u0441", - MathJaxNotSupported: "\u0412\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430\u0447 \u043D\u0435 \u0433\u043E \u043F\u043E\u0434\u0434\u0440\u0436\u0443\u0432\u0430 MathJax", - ErrorTips: "\u0421\u043E\u0432\u0435\u0442\u0438 \u0437\u0430 \u0438\u0441\u043F\u0440\u0430\u0432\u0430\u045A\u0435 \u0433\u0440\u0435\u0448\u043A\u0438: \u043A\u043E\u0440\u0438\u0441\u0442\u0435\u0442\u0435 %%1, \u043F\u0440\u0435\u0433\u043B\u0435\u0434\u0430\u0458\u0442\u0435 \u0433\u043E %%2 \u0432\u043E \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043A\u0430\u0442\u0430 \u043A\u043E\u043D\u0437\u043E\u043B\u0430" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n % 10 === 1 && n !== 11) return 1; // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/mk/mk.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/nl/FontWarnings.js deleted file mode 100644 index 67415468..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/nl/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/nl/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("nl","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax gebruikt web-gebaseerde lettertypes om wiskunde weer te geven op deze pagina. Het kost tijd om deze te downloaden, dus de pagina zou sneller weergegeven worden als u de wiskunde lettertypes direct in de lettertype map van uw systeem zou plaatsen.", - imageFonts: "MathJax gebruikt zijn beeldlettertypes en niet zijn lokale of webgebaseerde lettertypes. Dit geeft een tragere weergave dan normaal en de wiskunde wordt wellicht niet op de hoogste resolutie van uw printer afgedrukt.", - noFonts: "MathJax is niet in staat een lettertype te vinden waarmee het zijn wiskunde kan weergeven, en beeld-lettertypes zijn niet beschikbaar, dus valt het nu terug op generieke Unicodetekens in de hoop dat uw browsers in staat is ze weer te geven. Sommige tekens worden wellicht niet goed weergegeven en mogelijkerwijs helemaal niet.", - webFonts: "De meeste moderne browsers kunnen lettertypes via het web downloaden. Updaten naar een recentere versie van uw browser (of een andere browser gaan gebruiken) zou de kwaliteit van de wiskunde op deze pagina kunnen verbeteren.", - fonts: "MathJax kan de [STIX fonts](%1) \u00F3f de [MathJax TeX fonts](%2) gebruiken. Download en installeer een van deze lettertypes om uw MathJax ervaring te verbeteren.", - STIXPage: "Deze pagina is ontworpen om de [STIX fonts](%1) te gebruiken. Download en installeer deze lettertypes om uw MathJax ervaring te verbeteren.", - TeXPage: "Deze pagina is ontworpen om de [MathJax TeX fonts](%1) te gebruiken. Download en installeer deze lettertypes om uw MathJax ervaring te verbeteren." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/nl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/nl/HTML-CSS.js deleted file mode 100644 index 8c6f8d7a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/nl/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/nl/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("nl","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Weblettertype %1 aan het laden", - CantLoadWebFont: "Het weblettertype %1 kan niet geladen worden.", - FirefoxCantLoadWebFont: "Firefox kan geen web-lettertypes laden van een externe host", - CantFindFontUsing: "Kan met gebruik van %1 geen geldig lettertype vinden", - WebFontsNotAvailable: "Weblettertypes zijn niet beschikbaar. In plaats daarvan worden afbeeldingslettertypes gebruikt" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/nl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/nl/HelpDialog.js deleted file mode 100644 index 4951979a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/nl/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/nl/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("nl","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax-hulp", - MathJax: "*MathJax* is een JavaScript bibliotheek die het mogelijk maakt dat auteurs wiskunde kunnen toevoegen aan hun web-pagina's. Als een lezer hoeft u niks te doen om dat mogelijk te maken.", - Browsers: "*Browsers*: MathJax werkt met alle moderne browsers, inclusief IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ en de meeste mobiele browsers.", - Menu: "*Math menu*:MathJax voegt een context menu toe aan vergelijkingen. Rechtsklik of Ctrl-klik op willekeurige wiskunde om het menu weer te geven.", - ShowMath: "*Wiskunde weergeven als* geeft de formule in bron opmaak weer voor knippen en plakken (als MathML of in de originele opmaak).", - Settings: "Via *Instellingen* kunt u de functionaliteit van MathJax beheersen, zoals de grootte van de wiskunde en het mechanisme dat gebruikt wordt om vergelijkingen weer te geven.", - Language: "Via *Taal* kunt u de taal kiezen die MathJax gebruikt voor de menu's en waarschuwingsboodschappen.", - Zoom: "*Wiskunde zoom*: Als u moeite heeft met het lezen van een vergelijking dan kan MathJax deze vergroten zodat u het beter kunt zien.", - Accessibilty: "*Toegankelijkheid*: MathJax werkt automatisch samen met schermlezers waardoor wiskunde toegankelijk wordt voor slechtzienden.", - Fonts: "*Lettertypes*: MathJax gebruikt bepaalde wiskunde lettertypes als die ge\u00EFnstalleerd zijn op uw computer; anders gebruikt het webgebaseerde lettertypes. Alhoewel het niet noodzakelijk is, versnellen lokaal ge\u00EFnstalleerde lettertypes het zetwerk. We raden aan om de [STIX fonts](%1) te installeren.", - CloseDialog: "Hulpvenster sluiten" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/nl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/nl/MathML.js deleted file mode 100644 index 5c2bf8b5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/nl/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/nl/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("nl","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "Onjuiste mglyph: %1", - BadMglyphFont: "Verkeerd lettertype: %1", - MathPlayer: "MathJax was niet in staat MathPlayer in te stellen.\n\nAls MathPlay niet ge\u00EFnstalleerd is, doe dat dan eerst.\nAnders kan het zijn dat beveiligingsinstellingen de uitvoering van ActiveX-besturingselementen verhinderen. Gebruik de keuze Internet Opties in het menu Extra en selecteer het tabblad Beveiligingsinstellingen en druk op de knop Aangepaste niveau.\nControleer dat de instellingen voor \"Uitvoeren van ActiveX-besturingselementen\" en \"Gedrag van binaire elementen en scripts\" ingeschakeld zijn.\n\nMomenteel zie u foutmeldingen in plaats van opgemaakte wiskunde.", - CantCreateXMLParser: "MathJax kan geen XML-verwerker cre\u00EBren voor MathML. Controleer of de beveiligingsinstelling \"ActiveX-besturingselementen die zijn gemarkeerd als veilig voor uitvoeren in scripts\" is ingeschakeld. Gebruik de keuze Internet Opties in het menu Extra en selecteer het paneel Beveiliging, druk dan op de knop Aangepast niveau om dit te controleren.\n\nMathML-vergelijkingen kunnen niet verwerkt worden door MathJax.", - UnknownNodeType: "Onbekend knooptype: %1", - UnexpectedTextNode: "Onverwachte tekstknoop: %1", - ErrorParsingMathML: "Fout tijdens verwerken MathML", - ParsingError: "Fout tijdens verwerken MathML: %1", - MathMLSingleElement: "MathML moet bestaan uit \u00E9\u00E9n element", - MathMLRootElement: "MathML moet bestaan uit een \u003Cmath\u003E element, niet %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/nl/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/nl/MathMenu.js deleted file mode 100644 index 0fb21d04..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/nl/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/nl/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("nl","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Wiskunde weergeven als", - MathMLcode: "MathML-code", - OriginalMathML: "Oorspronkelijke MathML", - TeXCommands: "TeX-commando's", - AsciiMathInput: "AsciiMathML-invoer", - Original: "Oorspronkelijke vorm", - ErrorMessage: "Foutmelding", - Annotation: "Annotatie", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Inhoud MathML", - OpenMath: "OpenMath", - texHints: "TeX-hints weergeven in MathML", - Settings: "Instellingen voor wiskundige formules", - ZoomTrigger: "Inzoomen als", - Hover: "Aanwijseffect", - Click: "Klik", - DoubleClick: "Dubbelklik", - NoZoom: "Niet zoomen", - TriggerRequires: "Trigger vereist:", - Option: "Optie", - Alt: "Alt", - Command: "Command", - Control: "Control", - Shift: "Shift", - ZoomFactor: "Zoomfactor", - Renderer: "Mathverwerking", - MPHandles: "MathPlayer de volgende gebeurtenissen laten afhandelen:", - MenuEvents: "Menugebeurtenissen", - MouseEvents: "Muisgebeurtenissen", - MenuAndMouse: "Muis- en menugebeurtenissen", - FontPrefs: "Lettertypevoorkeuren", - ForHTMLCSS: "Voor HTML-CSS:", - Auto: "Automatisch", - TeXLocal: "TeX (lokaal)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (afbeelding)", - STIXLocal: "STIX (lokaal)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Contextueel menu", - Browser: "Browser", - Scale: "Alle wiskunde schalen als ...", - Discoverable: "Uitlichten bij aanwijzen", - Locale: "Taal", - LoadLocale: "Laden van URL ...", - About: "Over MathJax", - Help: "MathJax-hulp", - localTeXfonts: "met behulp van lokale TeX-lettertypen", - webTeXfonts: "met behulp van weblettertype TeX", - imagefonts: "met behulp van afbeeldingslettertypes", - localSTIXfonts: "met behulp van lokale STIX-lettertypes", - webSVGfonts: "met behulp van SVG-weblettertypen", - genericfonts: "met behulp van standaard Unicodelettertypen", - wofforotffonts: "WOFF- of OTF-lettertypen", - eotffonts: "EOT-lettertypen", - svgfonts: "SVG-lettertypen", - WebkitNativeMMLWarning: "Uw browser lijkt MathML niet te ondersteunen. Door te kiezen voor MathML-uitvoer kunnen de wiskundige formules op de pagina onleesbaar worden.", - MSIENativeMMLWarning: "Internet Explorer vereist de MathPlayer plug-in om MathML-uitvoer te verwerken", - OperaNativeMMLWarning: "De ondersteuning voor MathML in Opera is beperkt, dus als u overschakelt naar weergave via MathML kunnen sommige expressies slecht worden weergegeven.", - SafariNativeMMLWarning: "De in uw browser ingebouwde MathML heeft niet alle mogelijkheden die door MathJax worden gebruikt, dus niet alle expressies kunnen correct worden weergegeven.", - FirefoxNativeMMLWarning: "De in uw browser ingebouwde MathML heeft niet alle mogelijkheden die door MathJax worden gebruikt, dus niet alle expressies kunnen correct worden weergegeven.", - MSIESVGWarning: "SVG is niet ge\u00EFmplementeerd in Internet Explorer versies v\u00F3\u00F3r IE9 en ook niet wanneer het IE8 of lager emuleert. Kiezen voor SVG-uitvoer veroorzaakt onjuiste weergave van de wiskundige formules.", - LoadURL: "Vertalingsdata van deze URL laden:", - BadURL: "De URL moet naar een JavaScriptbestand wijzen waarin vertaalgegevens voor MathJax staan. De naam van het JavaScriptbestand moet eindigen op \".js\".", - BadData: "Vertalingsdata laden van %1 niet gelukt", - SwitchAnyway: "Evengoed de weergever wijzigen?\n\nDruk op OK om te wijzigen, ANNULEREN om door te gaan met de huidige wijze van weergeven.", - ScaleMath: "Alle wiskundige formules schalen (in vergelijking tot de omliggende tekst) met", - NonZeroScale: "De schaal hoort geen nul te zijn", - PercentScale: "De schaal moet een percentage zijn (bijvoorbeeld 120%%)", - IE8warning: "Hierdoor wordt het MathJaxmenu en zoomfuncties uitgeschakeld, maar u kunt via Alt-klik op een expressie het MathJamenu weergeven.\n\nWilt u inderdaad de instellingen van MathPlayer wijzigen?", - IE9warning: "Het context menu van MathJax wordt uitgeschakeld, maar u kunt in plaats daarvan door Alt-klikken op een expressie het MathJax menu weergeven.", - NoOriginalForm: "Geen oorspronkelijke vorm beschikbaar", - Close: "Sluiten", - EqSource: "MathJax Vergelijking Bron", - CloseAboutDialog: "Over Mathjax sluiten", - FastPreview: "Snell voorvertoning", - AssistiveMML: "Assistieve MathML", - InTabOrder: "Opnemen in tabvolgorde" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/nl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/nl/TeX.js deleted file mode 100644 index 2d7d5640..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/nl/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/nl/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("nl","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Overtollige openende accolade of ontbrekende afsluitende accolade", - ExtraCloseMissingOpen: "Overtollige afsluitende accolade of ontbrekende openende accolade", - MissingLeftExtraRight: "Ontbrekende \\left of overtollige \\right", - MissingScript: "Ontbrekend superschrift- of subschriftargument", - ExtraLeftMissingRight: "Overtollige \\left of ontbrekende \\right", - Misplaced: "Onjuist geplaatste %1", - MissingOpenForSub: "Ontbrekende openende accolade voor subschrift", - MissingOpenForSup: "Ontbrekende openende accolade voor superschrift", - AmbiguousUseOf: "Dubbelzinnig gebruik van %1", - EnvBadEnd: "\\begin{%1} eindigde met \\end{%2}", - EnvMissingEnd: "Ontbrekende \\end{%1}", - MissingBoxFor: "Ontbrekende box voor %1", - MissingCloseBrace: "Ontbrekende afsluitende accolade", - UndefinedControlSequence: "Ongedefinieerde bewerkingsvolgorde %1", - DoubleExponent: "Dubbele exponent: gebruik accolades om te verduidelijken", - DoubleSubscripts: "Dubbele subschriften: gebruik accolades om te verduidelijken", - DoubleExponentPrime: "Priem veroorzaakt een dubbele exponent: Gebruik accolades om te verduidelijken.", - CantUseHash1: "U kunt 'macroparameterteken #' niet gebruiken in mathmodus", - MisplacedMiddle: "%1 moet zich tussen \\left en \\right bevinden", - MisplacedLimits: "%1 is alleen toegestaan op bewerkingstekens", - MisplacedMoveRoot: "%1 kan alleen voorkomen in een root", - MultipleCommand: "Meerdere %1", - IntegerArg: "Het argument voor %1 moet een geheel getal zijn", - NotMathMLToken: "%1 is geen symboolelement", - InvalidMathMLAttr: "Ongeldige MathML-eigenschap: %1", - UnknownAttrForElement: "%1 is geen bekende eigenschap voor %2", - MaxMacroSub1: "Het MathJax maximale aantal macrovervangingen is overschreden; is er een recursieve macro-aanroep?", - MaxMacroSub2: "Het MathJax maximale aantal macrovervangingen is overschreden; is er een recursieve LaTeX-omgeving?", - MissingArgFor: "Ontbrekend argument voor %1", - ExtraAlignTab: "Overtollige uitlijningtab in \\cases-tekst", - BracketMustBeDimension: "Rechte haak argument voor %1 moet een dimensie zijn", - InvalidEnv: "Ongeldige omgevingsnaam \"%1\"", - UnknownEnv: "Onbekende omgeving \"%1\"", - ExtraCloseLooking: "Overtollige afsluitende accolade terwijl gezocht wordt naar %1", - MissingCloseBracket: "Kon afsluitende ']' niet vinden als argument voor %1", - MissingOrUnrecognizedDelim: "Ontbrekend of onbekend scheidingsteken voor %1", - MissingDimOrUnits: "Ontbrekende dimensie of zijn eenheden voor %1", - TokenNotFoundForCommand: "Kon %1 niet vinden voor %2", - MathNotTerminated: "Math niet afgerond in een tekstblok", - IllegalMacroParam: "Niet toegestane macroparameterverwijzing", - MaxBufferSize: "MathJax interne bufferomvang overschreden; is er een recursieve macro-aanroep?", - CommandNotAllowedInEnv: "%1 niet toegestaan in de omgeving %2", - MultipleLabel: "Label \"%1\" meerdere keren gedefinieerd", - CommandAtTheBeginingOfLine: "%1 moet aan het begin van een regel staan", - IllegalAlign: "Niet toegestane uitlijning gespecificeerd in %1", - BadMathStyleFor: "Foute wiskundige stijl voor %1", - PositiveIntegerArg: "Het argument voor %1 moet een positief geheel getal zijn", - ErroneousNestingEq: "Foutief nesten van vergelijkingsstructuren", - MultlineRowsOneCol: "De regels in de omgeving %1 moeten precies \u00E9\u00E9n kolom bevatten", - MultipleBBoxProperty: "%1 twee keer gespecificeerd in %2", - InvalidBBoxProperty: "\"%1\" lijkt niet op een kleur, een opvuldimensie of een stijl", - ExtraEndMissingBegin: "Overtollige %1 of ontbrekende \\begingroup", - GlobalNotFollowedBy: "%1 niet gevolgd door \\let, \\def of \\newcommand", - UndefinedColorModel: "Kleurmodel \"%1\" niet gedefinieerd", - ModelArg1: "Kleurwaardes voor het %1 model hebben 3 getallen nodig", - InvalidDecimalNumber: "Ongeldig decimaal getal", - ModelArg2: "Kleurwaardes voor het model %1 moeten tussen %2 en %3 liggen", - InvalidNumber: "Ongeldig getal", - NewextarrowArg1: "Eerste argument voor %1 moet een bewerkingsvolgorde naam zijn.", - NewextarrowArg2: "Tweede argument voor %1 moet twee gehele getallen zijn, gescheiden door een komma", - NewextarrowArg3: "Derde argument voor %1 moet een Unicodekarakternummer zijn", - NoClosingChar: "Kan afsluitende %1 niet vinden", - IllegalControlSequenceName: "Niet toegestane bewerkingsvolgordenaam voor %1", - IllegalParamNumber: "Niet toegestane getallen of parameters gespecificeerd in %1", - MissingCS: "%1 moet gevolgd worden door een bewerkingsvolgorde", - CantUseHash2: "Niet toegestaan gebruik van # in een sjabloon voor %1", - SequentialParam: "Parameters voor %1 moeten opeenvolgend genummerd zijn", - MissingReplacementString: "Ontbrekende vervangende tekst voor definitie van %1", - MismatchUseDef: "Gebruik van %1 stemt niet overeen met zijn definitie", - RunawayArgument: "Ontsnapt argument voor %1?", - NoClosingDelim: "Kan afsluitende scheidingsteken voor %1 niet vinden" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/nl/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/nl.js b/src/py/kaleido/vendor/mathjax/localization/nl/nl.js deleted file mode 100644 index b30be144..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/nl/nl.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/nl/nl.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("nl",null,{ - menuTitle: "Nederlands", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax heeft een gebruikersconfiguratie cookie aangetroffen dat code bevat die uitgevoerd moet worden. Wilt u deze uitvoeren?\n\\n\n(U zou op annuleren moeten drukken tenzij u het cookie zelf ingesteld heeft.)", - MathProcessingError: "Mathverwerkingsfout", - MathError: "Mathfout", - LoadFile: "Bezig met laden van %1", - Loading: "Bezig met laden", - LoadFailed: "Het bestand kon niet geladen worden: %1", - ProcessMath: "Berekening aan het verwerken: %1%%", - Processing: "Bezig met verwerken", - TypesetMath: "Berekening aan het opmaken: %1%%", - Typesetting: "Opmaken", - MathJaxNotSupported: "Uw browser ondersteunt MathJax niet", - ErrorTips: "Debugtips: gebruik %%1, inspecteer %%2 in de console van de browser" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/nl/nl.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/oc/FontWarnings.js deleted file mode 100644 index 7188b597..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/oc/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/oc/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("oc","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/oc/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/oc/HTML-CSS.js deleted file mode 100644 index 36a7b9ec..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/oc/HTML-CSS.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/oc/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("oc","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/oc/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/oc/HelpDialog.js deleted file mode 100644 index 700242f5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/oc/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/oc/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("oc","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/oc/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/MathML.js b/src/py/kaleido/vendor/mathjax/localization/oc/MathML.js deleted file mode 100644 index 076af622..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/oc/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/oc/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("oc","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/oc/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/oc/MathMenu.js deleted file mode 100644 index 6b0c4f2a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/oc/MathMenu.js +++ /dev/null @@ -1,89 +0,0 @@ -/************************************************************* - * - * MathJax/localization/oc/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("oc","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Afichar jos la forma", - MathMLcode: "C\u00F2di MathML", - OriginalMathML: "MathML d\u2019origina", - TeXCommands: "Comandas TeX", - AsciiMathInput: "entrada AsciiMathML", - Original: "Format d'origina", - ErrorMessage: "Messatge d\u2019error", - Annotation: "Anotacion", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "MathML de contengut", - OpenMath: "OpenMath", - texHints: "Afichar las ajudas TeX en MathML", - Settings: "Parametratges dels maths", - ZoomTrigger: "Desenclavador de zoom", - Hover: "Susv\u00F2l", - Click: "Clic", - DoubleClick: "Clic doble", - NoZoom: "Pas de zoom", - TriggerRequires: "Lo desenclavador necessita :", - Option: "Opcion", - Alt: "Alt", - Command: "Comanda", - Control: "Contrar\u00F2tle", - Shift: "Shift", - ZoomFactor: "Factor de grossiment", - Renderer: "Rendut matematic", - MPHandles: "Daissar MathPlayer gerir :", - MenuEvents: "Eveniments de men\u00FA", - MouseEvents: "Eveniments de mirga", - FontPrefs: "Prefer\u00E9ncias de poli\u00E7a", - ForHTMLCSS: "Per HTML-CSS :", - Auto: "Auto", - TeXLocal: "TeX (local)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (imatge)", - STIXLocal: "STIX (local)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Men\u00FA contextual", - Browser: "Navigador", - Locale: "Lenga", - LoadLocale: "Cargar dempu\u00E8i l\u2019URL\u2026", - About: "A prepaus de MathJax", - Help: "Ajuda de MathJax", - localTeXfonts: "utilizar las poli\u00E7as TeX localas", - webTeXfonts: "utilizar las poli\u00E7as TeX del web", - imagefonts: "utilizar las poli\u00E7as Imatge", - localSTIXfonts: "utilizar las poli\u00E7as STIX localas", - webSVGfonts: "utilizar las poli\u00E7as SVG del web", - genericfonts: "utilizar las poli\u00E7as unicode genericas", - wofforotffonts: "poli\u00E7as woff o otf", - eotffonts: "poli\u00E7as eot", - svgfonts: "poli\u00E7as svg", - Close: "Tampar", - Scale: "Metre totes los maths a l\u2019escala\u2026", - CloseAboutDialog: "Tampar la b\u00F3stia de dial\u00F2g A prepaus de MathJax" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/oc/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/TeX.js b/src/py/kaleido/vendor/mathjax/localization/oc/TeX.js deleted file mode 100644 index 32a2b8a3..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/oc/TeX.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/oc/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("oc","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/oc/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/oc.js b/src/py/kaleido/vendor/mathjax/localization/oc/oc.js deleted file mode 100644 index 3d64aca3..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/oc/oc.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/oc/oc.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("oc",null,{ - menuTitle: "occitan", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "Error de tractament de la formula matematica", - MathError: "Error dins la formula matematica", - LoadFile: "Telecargament de %1", - Loading: "Cargament", - LoadFailed: "Frac\u00E0s del telecargament de %1", - ProcessMath: "Tractament de las formulas : %1%%", - Processing: "Tractament", - TypesetMath: "Composicion de las formulas : %1%%", - Typesetting: "Composicion", - MathJaxNotSupported: "V\u00F2stre navigador sup\u00F2rta pas MathJax" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) return 1; // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/oc/oc.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/pl/FontWarnings.js deleted file mode 100644 index bc2af541..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pl/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pl/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pl","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax u\u017Cywa czcionek Web, aby wy\u015Bwietli\u0107 wzory matematyczne na tej stronie. Pobranie czcionek z sieci zajmuje chwil\u0119. Strona ta mog\u0142aby za\u0142adowa\u0107 si\u0119 szybciej, je\u015Bli zainstalowa\u0142by\u015B czcionki lokalnie w swoim systemie.", - imageFonts: "MathJax u\u017Cywa czcionek obrazkowych zamiast lokalnych lub pobranych z sieci. To powoduje wolniejsze wy\u015Bwietlanie strony oraz uniemo\u017Cliwia wydruk w pe\u0142nej rozdzielczo\u015Bci Twojej drukarki.", - noFonts: "MathJax nie mo\u017Ce zlokalizowa\u0107 czcionek potrzebnych do wy\u015Bwietlenia wzor\u00F3w, a czcionki obrazkowe nie s\u0105 dost\u0119pne. U\u017Cywane s\u0105 wi\u0119c znaki Unicode z nadziej\u0105, \u017Ce Twoja przegl\u0105darka wy\u015Bwietli je poprawnie. Niekt\u00F3re znaki mog\u0105 jednak nie wygl\u0105da\u0107 prawid\u0142owo lub mog\u0105 nie by\u0107 w og\u00F3le wy\u015Bwietlane.", - webFonts: "Wi\u0119kszo\u015B\u0107 nowych przegl\u0105darek umo\u017Cliwia pobieranie czcionek z sieci Web. Aktualizacja Twojej przegl\u0105darki (lub wyb\u00F3r innej) mo\u017Ce polepszy\u0107 jako\u015B\u0107 wy\u015Bwietlanych wzor\u00F3w matematycznych na tej stronie.", - fonts: "MathJax mo\u017Ce u\u017Cy\u0107 albo [czcionek STIX](%1), albo [czcionek MathJax Tex](%2). Pobierz i zainstaluj te czcionki, aby ulepszy\u0107 dzia\u0142anie MathJax.", - STIXPage: "Ta strona wymaga [czcionek STIX](%1). Pobierz i zainstaluj te czcionki, aby ulepszy\u0107 dzia\u0142anie MathJax.", - TeXPage: "Ta strona wymaga [czcionek MathJax Tex](%1). Pobierz i zainstaluj te czcionki, aby ulepszy\u0107 dzia\u0142anie MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/pl/HTML-CSS.js deleted file mode 100644 index 5aced355..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pl/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pl/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pl","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u0141aduj\u0119 czcionk\u0119 %1", - CantLoadWebFont: "Nie mo\u017Cna za\u0142adowa\u0107 czcionki %1", - FirefoxCantLoadWebFont: "Firefox nie mo\u017Ce za\u0142adowa\u0107 czcionek ze zdalnego hosta", - CantFindFontUsing: "Nie mo\u017Cna znale\u017A\u0107 w\u0142a\u015Bciwej czcionki u\u017Cywaj\u0105c %1", - WebFontsNotAvailable: "Czcionki internetowe nie dost\u0119pne - zamiast tego u\u017Cywane s\u0105 czcionki obrazkowe" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/pl/HelpDialog.js deleted file mode 100644 index 6f6eec8e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pl/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pl/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pl","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Pomoc MathJax", - MathJax: "*MathJax* to biblioteka Javascript umo\u017Cliwiaj\u0105ca autorom stron Web na zapisywanie wzor\u00F3w matematycznych. Jako u\u017Cytkownik, nie musisz robi\u0107 nic dodatkowo, aby wzory by\u0142y poprawnie wy\u015Bwietlane.", - Browsers: "*Przegl\u0105darki*: MathJax dzia\u0142a z nowymi przegl\u0105darkami, m.in. IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ i wi\u0119kszo\u015Bci\u0105 przegl\u0105darek mobilnych.", - Menu: "*Menu*: MathJax dodaje menu kontekstowe do wzor\u00F3w matematycznych. Kliknij prawym klawiszem myszki (lub lewy klawisz i Ctrl), aby je otworzy\u0107.", - ShowMath: "Opcja *Poka\u017C wzory jako* pozwala zobaczy\u0107 \u017Ar\u00F3d\u0142ow\u0105 posta\u0107 wzor\u00F3w, aby mo\u017Cna by\u0142o je skopiowa\u0107 do schowka.", - Settings: "Opcja *Ustawienia* pozwala kontrolowa\u0107 MathJax, m.in. ustawia\u0107 wielko\u015B\u0107 wzor\u00F3w i zmienia\u0107 mechanizm ich wy\u015Bwietlania.", - Language: "*J\u0119zyk* pozwala wybra\u0107 j\u0119zyk, w jakim wy\u015Bwietlane jest menu oraz komunikaty o b\u0142\u0119dach.", - Zoom: "*Powi\u0119kszanie*: Je\u017Celi masz problem z odczytaniem wzoru, MathJax mo\u017Ce zwi\u0119kszy\u0107 wielko\u015B\u0107 liter, aby \u0142atwiej by\u0142o go odczyta\u0107.", - Accessibilty: "*Dost\u0119pno\u015B\u0107*: MathJax dzia\u0142a automatycznie z czytnikami ekranowymi, aby wzory matematyczne by\u0142y dost\u0119pne dla niedowidz\u0105cych.", - Fonts: "*Czcionki*: MathJax u\u017Cyje czcionek matematycznych zainstalowanych w Twoim systemie. Je\u017Celi ich nie masz, to u\u017Cyje czcionek Web. Nie jest to wymagane, ale lokalnie dost\u0119pne czcionki przyspiesz\u0105 dzia\u0142anie MathJax. Sugerujemy zainstalowanie czcionek [STIX](%1).", - CloseDialog: "Zamknij okno pomocy" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/pl/MathML.js deleted file mode 100644 index 81229ce5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pl/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pl/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pl","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "B\u0142\u0105d w elemencie mglyph: %1", - BadMglyphFont: "B\u0142\u0119dna czcionka: %1", - MathPlayer: "MathJax nie m\u00F3g\u0142 uruchomi\u0107 MathPlayer.\n\nJe\u015Bli MathPlayer nie jest zainstalowany, musisz go najpierw zainstalowa\u0107.\nW przeciwnym razie, twoje ustawienia bezpiecze\u0144stwa mog\u0105 blokowa\u0107 dzia\u0142anie\nformant\u00F3w ActiveX. W Opcjach internetowych, w menu Narz\u0119dzia wybierz zak\u0142adk\u0119\nZabezpieczenia i naci\u015Bnij przycisk Poziom niestandardowy. Upewnij si\u0119, \u017Ce ustawienia\ndotycz\u0105ce ActiveX oraz skrypt\u00F3w s\u0105 w\u0142\u0105czone.\n\nDo tego czasu b\u0119d\u0105 wy\u015Bwietlane b\u0142\u0119dy zamiast wzor\u00F3w matematycznych.", - CantCreateXMLParser: "MathJax nie mo\u017Ce utworzy\u0107 parsera XML dla MathML. Upewnij si\u0119, \u017Ce\nopcja 'Wykonywanie skrypt\u00F3w formant\u00F3w ActiveX' jest w\u0142\u0105czona\n(sprawd\u017A to w Opcjach internetowych w menu Narz\u0119dzia,\nw zak\u0142adce Zabezpieczenia kliknij na przycisk Poziom niestandardowy).\n\nDo tego czasu b\u0119d\u0105 wy\u015Bwietlane b\u0142\u0119dy zamiast wzor\u00F3w matematycznych.", - UnknownNodeType: "Nieznany typ elementu: %1", - UnexpectedTextNode: "Nieoczekiwany element tekstowy: %1", - ErrorParsingMathML: "B\u0142\u0105d podczas przetwarzania MathML", - ParsingError: "B\u0142\u0105d podczas przetwarzania MathML: %1", - MathMLSingleElement: "MathML musi by\u0107 zamkni\u0119ty w pojedynczym elemencie", - MathMLRootElement: "MathML musi by\u0107 zamkni\u0119ty w elemencie \u003Cmath\u003E, a nie %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pl/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/pl/MathMenu.js deleted file mode 100644 index 5ecaaed2..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pl/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pl/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pl","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Poka\u017C wzory jako", - MathMLcode: "Kod MathML", - OriginalMathML: "Oryginalny MathML", - TeXCommands: "Polecenia TeX", - AsciiMathInput: "Wej\u015Bcie AsciiMathML", - Original: "Oryginalny formularz", - ErrorMessage: "Komunikat o b\u0142\u0119dzie", - Annotation: "Adnotacja", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Zawarto\u015B\u0107 MathML", - OpenMath: "OpenMath", - texHints: "Poka\u017C wskaz\u00F3wki TeX w MathML", - Settings: "Ustawienia wzor\u00F3w", - ZoomTrigger: "Zwi\u0119kszanie zoomu", - Hover: "poprzez najechanie mysz\u0105", - Click: "poprzez klikni\u0119cie", - DoubleClick: "poprzez dwukrotnie klikni\u0119cie", - NoZoom: "Bez zoomu", - TriggerRequires: "Aktywacja wymaga:", - Option: "Option", - Alt: "Alt", - Command: "Command", - Control: "Ctrl", - Shift: "Shift", - ZoomFactor: "Wsp\u00F3\u0142czynnik powi\u0119kszenia", - Renderer: "Renderowanie wzor\u00F3w", - MPHandles: "Obs\u0142u\u017C MathPlayer", - MenuEvents: "Zdarzenia menu", - MouseEvents: "Zdarzenia myszy", - MenuAndMouse: "Zdarzenia myszy i menu", - FontPrefs: "Ustawienia czcionek", - ForHTMLCSS: "Dla HTML-CSS:", - Auto: "Automatycznie", - TeXLocal: "TeX (lokalny)", - TeXWeb: "TeX (www)", - TeXImage: "TeX (obraz)", - STIXLocal: "STIX (lokalny)", - ContextMenu: "Menu kontekstowe", - Browser: "Przegl\u0105darka", - Scale: "Skalowanie wszystkich wzor\u00F3w...", - Discoverable: "Podkre\u015Bl po najechaniu kursora", - Locale: "J\u0119zyk", - LoadLocale: "Pobierz z URL...", - About: "O MathJax", - Help: "Pomoc MathJax", - localTeXfonts: "U\u017Cyj lokalnej czcionki TeX", - webTeXfonts: "U\u017Cyj internetowej czcionki TeX", - imagefonts: "U\u017Cyj czcionki obrazkowej", - localSTIXfonts: "U\u017Cyj lokalnej czcionki STIX", - webSVGfonts: "U\u017Cyj internetowej czcionki SVG", - genericfonts: "U\u017Cyj generowanej czcionki unicode", - wofforotffonts: "czcionki WOFF lub OTF", - eotffonts: "czcionki EOT", - svgfonts: "czcionki SVG", - WebkitNativeMMLWarning: "Twoja przegl\u0105darka nie obs\u0142uguje MathML, wi\u0119c zmiana wyj\u015Bcia do MathML mo\u017Ce spowodowa\u0107, \u017Ce strona stanie si\u0119 niemo\u017Cliwa do odczytania.", - MSIENativeMMLWarning: "Program Internet Explorer wymaga wtyczki MathPlayer do procesu wy\u015Bwietlania MathML.", - OperaNativeMMLWarning: "Wsparcie dla MathML w Operze jest ograniczone. W zwi\u0105zku z tym zmiana wyj\u015Bcia na MathML mo\u017Ce spowodowa\u0107, \u017Ce niekt\u00F3re strony b\u0119d\u0105 niemo\u017Cliwe do odczytania.", - SafariNativeMMLWarning: "MathML zaimplementowany w twojej przegl\u0105darce nie obs\u0142uguje wszystkich mo\u017Cliwo\u015Bci MathJax, wi\u0119c cz\u0119\u015B\u0107 wyra\u017Cen mo\u017Ce nie renderowa\u0107 si\u0119 poprawnie.", - FirefoxNativeMMLWarning: "MathML zaimplementowany w twojej przegl\u0105darce nie obs\u0142uguje wszystkich mo\u017Cliwo\u015Bci MathJax, wi\u0119c cz\u0119\u015B\u0107 wyra\u017Ce\u0144 mo\u017Ce nie renderowa\u0107 si\u0119 poprawnie.", - MSIESVGWarning: "SVG nie jest zaimplementowane w Internet Explorerze do wersji 9 lub podczas emulowania IE8 lub poni\u017Cej, wi\u0119c zmiana wyj\u015Bcia do SVG mo\u017Ce spowodowa\u0107, \u017Ce strona stanie si\u0119 niemo\u017Cliwa do odczytania.", - LoadURL: "Za\u0142aduj t\u0142umaczenie z tego URL:", - BadURL: "Adres URL powinien by\u0107 dla pliku JavaScript, kt\u00F3ry definiuje dane t\u0142umaczenie MathJax. Pliki JavaScript powinny ko\u0144czy\u0107 si\u0119 \".js\"", - BadData: "Nie mo\u017Cna za\u0142adowa\u0107 danych t\u0142umacze\u0144 z %1", - SwitchAnyway: "Na pewno zmieni\u0107 renderer ?\n\n(Naci\u015Bnij OK a\u017Ceby zmieni\u0107, lub CANCEL aby kontynuowa\u0107 z aktualnym rendererem)", - ScaleMath: "Skaluj wszystkie wzory matematyczne (por\u00F3wnane do otaczaj\u0105cego tekstu) przez", - NonZeroScale: "Warto\u015B\u0107 nie powinna by\u0107 zerowa", - PercentScale: "Warto\u015B\u0107 powinna by\u0107 w procentach (na przyk\u0142ad 120%%)", - IE8warning: "Ta opcja wy\u0142\u0105czy obs\u0142ug\u0119 menu i powi\u0119kszania w MathJax, ale mo\u017Cesz klikn\u0105\u0107 z Altem na wz\u00F3r, aby otworzy\u0107 menu MathJax.\n\nCzy na pewno chcesz zmieni\u0107 ustawienia MathPlayer?", - IE9warning: "Menu kontekstowe MathJax zostanie wy\u0142\u0105czone, ale mo\u017Cesz klikn\u0105\u0107 z Altem na wz\u00F3r, aby otworzy\u0107 menu.", - NoOriginalForm: "Brak wzor\u00F3w w oryginalnej postaci", - Close: "Zamknij", - EqSource: "\u0179r\u00F3d\u0142o wzoru MathJax", - STIXWeb: "STIX (www)", - AsanaMathWeb: "Asana Math (www)", - GyrePagellaWeb: "Gyre Pagella (www)", - GyreTermesWeb: "Gyre Termes (www)", - LatinModernWeb: "Latin Modern (www)", - NeoEulerWeb: "Neo Euler (www)", - CloseAboutDialog: "Zamknij okno o MathJax", - FastPreview: "Szybki podgl\u0105d strony", - AssistiveMML: "Asystuj\u0105cy MathML", - InTabOrder: "Zawarty w kolejno\u015Bci stron" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/pl/TeX.js deleted file mode 100644 index 317427e5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pl/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pl/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pl","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Nadmiarowy nawias otwieraj\u0105cy lub brakuj\u0105cy nawias zamykaj\u0105cy", - ExtraCloseMissingOpen: "Nadmiarowy nawias zamykaj\u0105cy lub brakuj\u0105cy nawias otwieraj\u0105cy", - MissingLeftExtraRight: "Brakuj\u0105cy \\left lub nadmiarowy \\right", - MissingScript: "Brakuj\u0105cy argument dla indeksu dolnego lub g\u00F3rnego", - ExtraLeftMissingRight: "Nadmiarowy \\left lub brakuj\u0105cy \\right", - Misplaced: "\u0179le umiejscowiony %1", - MissingOpenForSub: "Brakuj\u0105cy nawias otwieraj\u0105cy dla indeksu dolnego", - MissingOpenForSup: "Brakuj\u0105cy nawias otwieraj\u0105cy dla indeksu g\u00F3rnego", - AmbiguousUseOf: "Niejednoznaczne u\u017Cycie %1", - EnvBadEnd: "\\begin{%1} zosta\u0142 zako\u0144czony \\end{%2}", - EnvMissingEnd: "Brakuj\u0105ce \\end{%1}", - MissingBoxFor: "Brakuj\u0105ce pude\u0142ko (box) dla %1", - MissingCloseBrace: "Brakuj\u0105cy nawias zamykaj\u0105cy", - UndefinedControlSequence: "Nieznana komenda steruj\u0105ca %1", - DoubleExponent: "Podw\u00F3jna pot\u0119ga: u\u017Cyj nawias\u00F3w, aby unikn\u0105\u0107 niejednoznaczno\u015Bci", - DoubleSubscripts: "Podw\u00F3jny indeks: u\u017Cyj nawias\u00F3w, aby unikn\u0105\u0107 niejednoznaczno\u015Bci", - DoubleExponentPrime: "Znak ' oznacza podw\u00F3jny wyk\u0142adnik: u\u017Cyj nawias\u00F3w, aby unikn\u0105\u0107 niejednoznaczno\u015Bci", - CantUseHash1: "Nie mo\u017Cesz u\u017Cywa\u0107 znaku parametru makra # w trybie matematycznym", - MisplacedMiddle: "%1 musi by\u0107 pomi\u0119dzy \\left i \\right", - MisplacedLimits: "%1 jest dozwolony tylko dla operator\u00F3w", - MisplacedMoveRoot: "%1 mo\u017Ce pojawi\u0107 si\u0119 tylko w ramach korzenia (root)", - MultipleCommand: "Wielokrotny %1", - IntegerArg: "Parametr dla %1 musi by\u0107 liczb\u0105 ca\u0142kowit\u0105", - NotMathMLToken: "%1 nie jest elementem typu token", - InvalidMathMLAttr: "Nieprawid\u0142owy atrybut MathML: %1", - UnknownAttrForElement: "%1 nie jest znanym atrybutem dla %2", - MaxMacroSub1: "Przekroczono maksymaln\u0105 liczb\u0119 wywo\u0142a\u0144 makra; czy wyst\u0119puje rekursywne makro?", - MaxMacroSub2: "Przekroczono maksymaln\u0105 liczb\u0119 zast\u0105pie\u0144 MathJax; czy wyst\u0119puje rekursywne \u015Brodowisko LaTeX?", - MissingArgFor: "Brakuje argumentu dla %1", - ExtraAlignTab: "Nadmiarowy tabulator w \\cases", - BracketMustBeDimension: "Argument w nawiasie dla %1 musi by\u0107 wymiarem", - InvalidEnv: "Nieznana nazwa \u015Brodowiska '%1'", - UnknownEnv: "Nieznane \u015Brodowisko '%1'", - ExtraCloseLooking: "Nadmiarowy nawias zamykaj\u0105cy napotkany w czasie poszukiwania %1", - MissingCloseBracket: "Nie odnaleziono zamykaj\u0105cego nawiasu ']' dla argumentu dla %1", - MissingOrUnrecognizedDelim: "Nieodnaleziony lub nierozpoznany separator dla %1", - MissingDimOrUnits: "Brakuje wymiaru lub jego jednostki dla %1", - TokenNotFoundForCommand: "Nie odnaleziono %1 dla %2", - MathNotTerminated: "Nie odnaleziono zako\u0144czenia w polu tekstowym", - IllegalMacroParam: "Nieprawid\u0142owa referencja do parametru makra", - MaxBufferSize: "Przekroczono rozmiar bufora MathJax, czy istnieje rekursywne wywo\u0142anie makra?", - CommandNotAllowedInEnv: "%1 nie jest dozwolony w \u015Brodowisku %2", - MultipleLabel: "Wielokrotna definicja etykiety '%1'", - CommandAtTheBeginingOfLine: "%1 musi znajdowa\u0107 si\u0119 na pocz\u0105tku linii", - IllegalAlign: "Nieprawid\u0142owy argument dla %1", - BadMathStyleFor: "B\u0142\u0119dny styl dla %1", - PositiveIntegerArg: "Argument dla %1 musi by\u0107 dodatni\u0105 liczb\u0105 ca\u0142kowit\u0105", - ErroneousNestingEq: "B\u0142\u0119dne zagnie\u017Cd\u017Cenie wyra\u017Ce\u0144", - MultlineRowsOneCol: "Wiersze w \u015Brodowisku %1 musz\u0105 mie\u0107 dok\u0142adnie jedn\u0105 kolumn\u0119", - MultipleBBoxProperty: "%1 okre\u015Blony dwa razy w %2", - InvalidBBoxProperty: "'%1' nie jest kolorem, wielko\u015Bci\u0105 odst\u0119pu, ani stylem", - ExtraEndMissingBegin: "Nadmiarowy %1 lub brakuj\u0105cy \\begingroup", - GlobalNotFollowedBy: "Po %1 nie wyst\u0119puje \\let, \\def, ani \\newcommand", - UndefinedColorModel: "Przestrze\u0144 barw '%1' nie jest zdefiniowana", - ModelArg1: "Warto\u015Bci kolor\u00F3w dla przestrzeni %1 wymagaj\u0105 3 liczb", - InvalidDecimalNumber: "Nieprawid\u0142owe liczba dziesi\u0119tna", - ModelArg2: "Warto\u015Bci kolor\u00F3w dla przestrzeni %1 musz\u0105 by\u0107 pomi\u0119dzy %2 i %3", - InvalidNumber: "B\u0142\u0119dna liczba", - NewextarrowArg1: "Pierwszy argument dla %1 musi by\u0107 nazw\u0105 sekwencji kontrolnej", - NewextarrowArg2: "Drugi argumentem dla %1 musz\u0105 by\u0107 dwie liczby ca\u0142kowite oddzielone przecinkiem", - NewextarrowArg3: "Trzeci argument dla %1 musi by\u0107 numerem znaku unicode", - NoClosingChar: "Nie mo\u017Cna odnale\u017A\u0107 zamykaj\u0105cego %1", - IllegalControlSequenceName: "Nieprawid\u0142owa nazwa sekwencji kontrolnej dla %1", - IllegalParamNumber: "Nieprawid\u0142owa liczba parametr\u00F3w dla %1", - MissingCS: "Po %1 musi wyst\u0105pi\u0107 sekwencja kontrolna", - CantUseHash2: "Nieprawid\u0142owe u\u017Cycie # w szablonie dla %1", - SequentialParam: "Parametry dla %1 musz\u0105 by\u0107 ponumerowane rosn\u0105co", - MissingReplacementString: "Brak \u0142a\u0144cucha zamiennego dla definicji %1", - MismatchUseDef: "U\u017Cycie %1 niezgodne z definicj\u0105", - RunawayArgument: "Zgin\u0105\u0142 argument dla %1?", - NoClosingDelim: "Nie mo\u017Cna znale\u017A\u0107\u00A0ko\u0144cz\u0105cego separatora dla %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pl/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/pl.js b/src/py/kaleido/vendor/mathjax/localization/pl/pl.js deleted file mode 100644 index fc8661d2..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pl/pl.js +++ /dev/null @@ -1,64 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pl/pl.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pl",null,{ - menuTitle: "polski", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax znalaz\u0142 konfiguracj\u0119 zapisan\u0105 w ciasteczku, kt\u00F3ra zawiera kod do uruchomienia. Czy chcesz go uruchomi\u0107?\n\n(Powiniene\u015B nacisn\u0105\u0107 Anuluj, je\u015Bli to nie Ty stworzy\u0142e\u015B t\u0119 konfiguracj\u0119.)", - MathProcessingError: "B\u0142\u0105d podczas przetwarzania wzor\u00F3w matematycznych", - MathError: "B\u0142\u0105d we wzorze matematycznym", - LoadFile: "\u0141aduj\u0119 %1", - Loading: "\u0141aduj\u0119", - LoadFailed: "Nie uda\u0142o si\u0119 za\u0142adowa\u0107 pliku: %1", - ProcessMath: "Przetwarzam wzory matematyczne: %1%%", - Processing: "Przetwarzam", - TypesetMath: "Przetwarzam wzory matematyczne: %1%%", - Typesetting: "Przetwarzam", - MathJaxNotSupported: "Twoja przegl\u0105darka nie obs\u0142uguje MathJax", - ErrorTips: "Porady debugowania: u\u017Cyj %%1, sprawd\u017A %%2 w konsoli przegl\u0105darki." - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n == 1) { - return 1; - } else if (n % 10 >=2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20)) { - return 2; - } else { - return 3; - } - }, - number: function (n) { - return String(n).replace(".", ","); // replace dot by comma - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pl/pl.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/FontWarnings.js deleted file mode 100644 index 1d624bf6..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt-br/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt-br/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt-br","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "O MathJax est\u00E1 utilizando fontes baseadas em web para exibir as f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina. O download delas leva algum tempo, ent\u00E3o a p\u00E1gina seria renderizada mais rapidamente se voc\u00EA instalasse as fontes para matem\u00E1tica diretamente na pasta de fontes do seu sistema.", - imageFonts: "O MathJax est\u00E1 utilizando fontes feitas com imagens em vez de fontes locais ou baseadas em web. Isso torna a renderiza\u00E7\u00E3o mais lenta do que o de costume, e as f\u00F3rmulas matem\u00E1ticas poder\u00E3o n\u00E3o ser impressas com a maior resolu\u00E7\u00E3o dispon\u00EDvel em sua impressora.", - noFonts: "O MathJax n\u00E3o foi capaz de localizar uma fonte para utilizar ao renderizar as f\u00F3rmulas matem\u00E1ticas, e n\u00E3o est\u00E3o dispon\u00EDveis fontes feitas com imagens, ent\u00E3o ser\u00E3o utilizados caracteres unicode gen\u00E9ricos com a esperan\u00E7a de que o seu navegador seja capaz de exib\u00ED-los. Alguns caracteres podem n\u00E3o aparecer como deveriam, ou simplesmente desaparecer.", - webFonts: "A maioria dos navegadores modernos permite que as fontes sejam baixadas a partir da web. Atualizar para uma vers\u00E3o mais recente do seu navegador (ou mudar de navegador) poderia melhorar a qualidade das f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina.", - fonts: "O MathJax pode usar tanto [fontes STIX](%1) ou as [fontes MathJax TeX](%2). Baixe e instale uma destas fontes para melhorar sua experi\u00EAncia com o MathJax.", - STIXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes STIX](%1). Baixe e instale estas fontes para melhorar sua experi\u00EAncia com o MathJax.", - TeXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes MathJax TeX](%1). Baixe e instale estas fontes para melhorar sua experi\u00EAncia com o MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/HTML-CSS.js deleted file mode 100644 index c6a8f01c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt-br/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt-br/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt-br","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Carregando fonte baseada em web %1", - CantLoadWebFont: "N\u00E3o foi poss\u00EDvel carregar a fonte baseada em web %1", - FirefoxCantLoadWebFont: "O Firefox N\u00E3o pode carregar fontes baseadas em web a partir de um host remoto", - CantFindFontUsing: "N\u00E3o \u00E9 poss\u00EDvel encontrar uma fonte v\u00E1lida usando %1", - WebFontsNotAvailable: "Fontes baseadas em web n\u00E3o est\u00E3o dispon\u00EDveis -- usando fontes feitas com imagens em vez disso" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/HelpDialog.js deleted file mode 100644 index 6fcd7a80..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt-br/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt-br/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt-br","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Ajuda do MathJax", - MathJax: "*MathJax* \u00E9 uma biblioteca em JavaScript que permite aos autores a inclus\u00E3o de conte\u00FAdo matem\u00E1tico em suas p\u00E1ginas web. Como um renderizador, voc\u00EA n\u00E3o precisa fazer nada para que isso ocorra.", - Browsers: "*Navegadores*: O MathJax funciona em todos os navegadores modernos incluindo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e a maioria dos navegadores para dispositivos m\u00F3veis.", - Menu: "*Menu de F\u00F3rmulas*: O MathJax acrescenta um menu de contexto \u00E0s equa\u00E7\u00F5es. Clique com o bot\u00E3o direito ou pressione CTRL ao clicar em qualquer f\u00F3rmula matem\u00E1tica para acessar o menu.", - ShowMath: "*Mostrar F\u00F3rmulas Como* permite que visualize o c\u00F3digo da f\u00F3rmula para copiar e colar (como MathML ou em seu formato original).", - Settings: "*Configura\u00E7\u00F5es* oferecem a voc\u00EA o controle sobre os recursos do MathJax, tais como o tamanho das f\u00F3rmulas, e o mecanismo utilizado para exibir equa\u00E7\u00F5es.", - Language: "*Idioma* permite que escolha o idioma que o MathJax utiliza em seus menus e mensagens de aviso.", - Zoom: "*Zoom nas F\u00F3rmulas*: Se voc\u00EA tem dificuldade para ler uma equa\u00E7\u00E3o, o MathJax pode ampli\u00E1-la para ajud\u00E1-lo a visualiz\u00E1-la melhor.", - Accessibilty: "*Acessibilidade*: O MathJax funcionar\u00E1 automaticamente em leitores de tela para tornar as f\u00F3rmulas matem\u00E1ticas acess\u00EDveis aos que possuem problemas de vis\u00E3o.", - Fonts: "*Fontes*: O MathJax utilizar\u00E1 certas fontes para f\u00F3rmulas matem\u00E1ticas se elas estiverem instaladas no seu computador; caso contr\u00E1rio, ele utilizar\u00E1 fontes baseadas em web. Embora n\u00E3o seja obrigat\u00F3rio, o uso de fontes instaladas localmente acelerar\u00E1 a diagrama\u00E7\u00E3o. Sugerimos que instale [fontes STIX](%1).", - CloseDialog: "Fechar caixa de ajuda" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/MathML.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/MathML.js deleted file mode 100644 index 9e36d9de..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt-br/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt-br/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt-br","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "Mglyph ruim: %1", - BadMglyphFont: "Fonte ruim: %1", - MathPlayer: "O MathJax n\u00E3o foi capaz de configurar o MathPlayer.\n\nSe o MathPlayer n\u00E3o estiver instalado, precisar\u00E1 instal\u00E1-lo primeiro.\nCaso contr\u00E1rio, suas configura\u00E7\u00F5es de seguran\u00E7a podem estar prevenindo a execu\u00E7\u00E3o\nde controles ActiveX. Use as Op\u00E7\u00F5es de Internet sob\no menu Ferramentas e selecione a aba de Seguran\u00E7a ent\u00E3o pressione o bot\u00E3o N\u00EDvel Personalizado. Confira se as configura\u00E7\u00F5es para 'Execu\u00E7\u00E3o de Controles ActiveX', e 'Comportamento de scripts e c\u00F3digos bin\u00E1rios'\nest\u00E3o ativadas.\n\nAtualmente voc\u00EA ver\u00E1 mensagens de erro em vez da \ndiagrama\u00E7\u00E3o das f\u00F3rmulas matem\u00E1ticas.", - CantCreateXMLParser: "O MathJax n\u00E3o pode criar um interpretador de XML para o MathML. Confira se\na configura\u00E7\u00E3o de seguran\u00E7a 'Controles de Script ActiveX marcados como seguros para scripting'\nest\u00E1 habilitado (use as Op\u00E7\u00F5es de Internet no menu \nFerramentas, e selecione o painel de Seguran\u00E7a, depois pressione o bot\u00E3o N\u00EDvel Personalizado\npara conferir isso).\n\nAs equa\u00E7\u00F5es em MathML n\u00E3o poder\u00E3o ser processadas pelo MathJax.", - UnknownNodeType: "Tipo de n\u00F3 desconhecido: %1", - UnexpectedTextNode: "N\u00F3 de texto inesperado: %1", - ErrorParsingMathML: "Erro ao interpretar MathML", - ParsingError: "Erro ao interpretar MathML: %1", - MathMLSingleElement: "MathML deve ser formado por um \u00FAnico elemento", - MathMLRootElement: "MathML deve ser formado por um elemento \u003Cmath\u003E, n\u00E3o %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/MathMenu.js deleted file mode 100644 index c026fbd9..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt-br/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt-br/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt-br","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Mostrar F\u00F3rmulas Como", - MathMLcode: "C\u00F3digo MathML", - OriginalMathML: "MathML original", - TeXCommands: "Comandos TeX", - AsciiMathInput: "Entrada AsciiMathML", - Original: "Formato original", - ErrorMessage: "Mensagem de erro", - Annotation: "Anota\u00E7\u00E3o", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "MathML do conte\u00FAdo", - OpenMath: "OpenMath", - texHints: "Mostrar dicas de TeX em MathML", - Settings: "Configura\u00E7\u00F5es das f\u00F3rmulas", - ZoomTrigger: "Disparador do zoom", - Hover: "Passar o mouse", - Click: "Clique", - DoubleClick: "Clique duplo", - NoZoom: "Sem zoom", - TriggerRequires: "O Disparador Requer:", - Option: "Op\u00E7\u00E3o", - Alt: "Alt", - Command: "Comando", - Control: "Control", - Shift: "Shift", - ZoomFactor: "Fator de zoom", - Renderer: "Renderizador das F\u00F3rmulas", - MPHandles: "Deixe que o MathPlayer resolva:", - MenuEvents: "Eventos de Menu", - MouseEvents: "Eventos de Mouse", - MenuAndMouse: "Eventos de Mouse e de Menu", - FontPrefs: "Prefer\u00EAncias de Fontes", - ForHTMLCSS: "Para HTML-CSS:", - Auto: "Autom\u00E1tico", - TeXLocal: "TeX (local)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (imagem)", - STIXLocal: "STIX (local)", - STIXWeb: "STIX (Web)", - AsanaMathWeb: "Asana Math (Web)", - GyrePagellaWeb: "Gyre Pagella (Web)", - GyreTermesWeb: "Gyre Termes (Web)", - LatinModernWeb: "Latim Moderno (Web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Menu de Contexto", - Browser: "Navegador", - Scale: "Redimensionar Todas as F\u00F3rmulas ...", - Discoverable: "Destacar ao Passar o Mouse", - Locale: "Idioma", - LoadLocale: "Carregar a partir de URL ...", - About: "Sobre o MathJax", - Help: "Ajuda do MathJax", - localTeXfonts: "usando fontes TeX locais", - webTeXfonts: "usando fontes TeX da web", - imagefonts: "usando fontes feitas com imagens", - localSTIXfonts: "usando fontes STIX locais", - webSVGfonts: "usando fontes SVG da web", - genericfonts: "usando fontes unicode gen\u00E9ricas", - wofforotffonts: "fontes WOFF ou OTF", - eotffonts: "fontes EOT", - svgfonts: "fontes SVG", - WebkitNativeMMLWarning: "Parece que seu navegador n\u00E3o oferece suporte nativo ao MathML, ent\u00E3o a mudan\u00E7a para a sa\u00EDda do MathML pode tornar ileg\u00EDveis as f\u00F3rmulas matem\u00E1ticas da p\u00E1gina.", - MSIENativeMMLWarning: "O Internet Explorer requer o plugin MathPlayer para processar MathML.", - OperaNativeMMLWarning: "O suporte ao MathML no Opera \u00E9 limitado, ent\u00E3o a mudan\u00E7a para MathML pode piorar a renderiza\u00E7\u00E3o de algumas express\u00F5es.", - SafariNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", - FirefoxNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", - MSIESVGWarning: "N\u00E3o h\u00E1 uma implementa\u00E7\u00E3o de SVG nas vers\u00F5es do Internet Explorer anteriores ao IE9 ou quando ele est\u00E1 emulando o IE8 ou as vers\u00F5es anteriores. A mudan\u00E7a para SVG far\u00E1 com que as f\u00F3rmulas n\u00E3o sejam exibidas adequadamente.", - LoadURL: "Carregar os dados de tradu\u00E7\u00E3o a partir desta URL:", - BadURL: "A URL deve ser para um um arquivo de javascript que defina os dados de tradu\u00E7\u00E3o do MathJax. Os nomes dos arquivos de Javascript devem terminar com '.js'", - BadData: "Falha ao carregar os dados de tradu\u00E7\u00E3o de %1", - SwitchAnyway: "Mudar para este renderizador mesmo assim?\n\n(Pressione OK para mudar, CANCELAR para continuar com o renderizador atual)", - ScaleMath: "Redimensionar todas as f\u00F3rmulas matem\u00E1ticas (em rela\u00E7\u00E3o ao texto \u00E0 sua volta) em", - NonZeroScale: "A escala n\u00E3o deve ser zero", - PercentScale: "A escala deve ser uma porcentagem (por exemplo, 120%%)", - IE8warning: "Isto desabilitar\u00E1 o menu MathJax e os recursos de zoom, mas voc\u00EA poder\u00E1 usar Alt-Clique em uma express\u00E3o para obter o menu MathJax em vez disso.\n\nRealmente alterar as configura\u00E7\u00F5es do MathPlayer?", - IE9warning: "O menu de contexto do MathJax ser\u00E1 desabilitado, mas voc\u00EA pode usar Alt-Clique em uma express\u00E3o para obter o menu MathJax em vez disso.", - NoOriginalForm: "Sem formulario original dispon\u00EDvel", - Close: "Fechar", - EqSource: "Fonte da Equa\u00E7\u00E3o do MathJax", - CloseAboutDialog: "Fechar caixa sobre MathJax", - FastPreview: "Pr\u00E9-visualiza\u00E7\u00E3o r\u00E1pida", - AssistiveMML: "MAthML assistiva", - InTabOrder: "Incluir na ordem da guia" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/TeX.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/TeX.js deleted file mode 100644 index 2839a8f4..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt-br/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt-br/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt-br","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Sobrou uma chave de abertura ou faltou uma de fechamento", - ExtraCloseMissingOpen: "Sobrou uma chave de fechamento ou faltou uma de abertura", - MissingLeftExtraRight: "Faltou um \\left ou sobrou um \\right", - MissingScript: "Faltou o argumento de um sobrescrito ou de um subscrito", - ExtraLeftMissingRight: "Sobrou um \\left ou faltou um \\right", - Misplaced: "%1 fora do lugar", - MissingOpenForSub: "Faltou uma chave de abertura para o subscrito", - MissingOpenForSup: "Faltou uma chave de abertura para o sobrescrito", - AmbiguousUseOf: "Uso amb\u00EDguo de %1", - EnvBadEnd: "\\begin{%1} foi terminado com \\end{%2}", - EnvMissingEnd: "Faltou \\end{%1}", - MissingBoxFor: "Faltou uma caixa para %1", - MissingCloseBrace: "Faltou uma chave de fechamento", - UndefinedControlSequence: "Sequ\u00EAncia de controle indefinida %1", - DoubleExponent: "Expoente duplo: utilize chaves para esclarecer", - DoubleSubscripts: "Subscrito duplo: utilize chaves para esclarecer", - DoubleExponentPrime: "Prime causa expoente duplo: utilize chaves para esclarecer", - CantUseHash1: "Voc\u00EA n\u00E3o pode usar o caractere # que indica um par\u00E2metro de macro no modo matem\u00E1tico", - MisplacedMiddle: "%1 deve estar entre \\left e \\right", - MisplacedLimits: "%1 s\u00F3 \u00E9 permitido nos operadores", - MisplacedMoveRoot: "%1 pode aparecer somente dentro de uma raiz", - MultipleCommand: "Repeti\u00E7\u00E3o de %1", - IntegerArg: "O argumento de %1 deve ser um inteiro", - NotMathMLToken: "%1 n\u00E3o \u00E9 um elemento de token", - InvalidMathMLAttr: "Atributo MathML inv\u00E1lido: %1", - UnknownAttrForElement: "%1 n\u00E3o \u00E9 um atributo reconhecido para %2", - MaxMacroSub1: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es de macros do MathJax; h\u00E1 alguma chamada a uma macro recursiva?", - MaxMacroSub2: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es do MathJax; h\u00E1 algum ambiente de LaTeX recursivo?", - MissingArgFor: "Faltou um argumento para %1", - ExtraAlignTab: "Sobrou um tab de alinhamento no texto de \\cases", - BracketMustBeDimension: "O argumento nos colchetes de %1 deve ser uma dimens\u00E3o", - InvalidEnv: "Nome de ambiente inv\u00E1lido '%1'", - UnknownEnv: "Ambiente desconhecido '%1'", - ExtraCloseLooking: "Sobrou uma chave de fechamento ao procurar por %1", - MissingCloseBracket: "N\u00E3o foi encontrado um ']' de fechamento para o argumento de %1", - MissingOrUnrecognizedDelim: "O delimitador para %1 est\u00E1 ausente ou n\u00E3o foi reconhecido", - MissingDimOrUnits: "Faltou a dimens\u00E3o ou a unidade de %1", - TokenNotFoundForCommand: "N\u00E3o foi encontrado %1 para %2", - MathNotTerminated: "A f\u00F3rmula n\u00E3o foi terminada na caixa de texto", - IllegalMacroParam: "Refer\u00EAncia inv\u00E1lida a um par\u00E2metro de macro", - MaxBufferSize: "O tamanho do buffer interno do MathJax foi excedido; h\u00E1 alguma chamada a uma macro recursiva?", - CommandNotAllowedInEnv: "%1 n\u00E3o \u00E9 permitido no ambiente %2", - MultipleLabel: "O r\u00F3tulo '%1' foi definido mais de uma vez", - CommandAtTheBeginingOfLine: "%1 deve vir no in\u00EDcio da linha", - IllegalAlign: "Foi especificado um alinhamento ilegal em %1", - BadMathStyleFor: "Estilo de f\u00F3rmulas matem\u00E1ticas ruim para %1", - PositiveIntegerArg: "O argumento para %1 deve ser um numero inteiro positivo", - ErroneousNestingEq: "Aninhamento incorreto de estruturas de equa\u00E7\u00F5es", - MultlineRowsOneCol: "As linhas do ambiente %1 devem ter apenas uma coluna", - MultipleBBoxProperty: "%1 foi especificado duas vezes em %2", - InvalidBBoxProperty: "'%1' n\u00E3o parece ser uma cor, uma dimens\u00E3o para padding, nem um estilo", - ExtraEndMissingBegin: "Sobrou um %1 ou faltou um \\begingroup", - GlobalNotFollowedBy: "%1 n\u00E3o foi seguido por um \\let, \\def, ou \\newcommand", - UndefinedColorModel: "O modelo de cores '%1' n\u00E3o foi definido", - ModelArg1: "Os valores de cor para o modelo %1 exigem 3 n\u00FAmeros", - InvalidDecimalNumber: "N\u00FAmero decimal inv\u00E1lido", - ModelArg2: "Os valores de cor para o modelo %1 devem estar entre %2 e %3", - InvalidNumber: "N\u00FAmero inv\u00E1lido", - NewextarrowArg1: "O primeiro argumento de %1 deve ser o nome de uma sequ\u00EAncia de controle", - NewextarrowArg2: "O segundo argumento de %1 deve ser composto de dois inteiros separados por uma v\u00EDrgula", - NewextarrowArg3: "O terceiro argumento de %1 deve ser o n\u00FAmero de um caractere unicode", - NoClosingChar: "N\u00E3o foi poss\u00EDvel encontrar um %1 de fechamento", - IllegalControlSequenceName: "Nome ilegal para uma sequ\u00EAncia de controle de %1", - IllegalParamNumber: "N\u00FAmero ilegal de par\u00E2metros especificado em %1", - MissingCS: "%1 deve ser seguido por uma sequ\u00EAncia de controle", - CantUseHash2: "Uso ilegal de # em um modelo para %1", - SequentialParam: "Os par\u00E2metros para %1 devem ser numerados sequencialmente", - MissingReplacementString: "Faltou a linha de substitui\u00E7\u00E3o para a defini\u00E7\u00E3o de %1", - MismatchUseDef: "O uso de %1 n\u00E3o est\u00E1 de acordo com sua defini\u00E7\u00E3o", - RunawayArgument: "Argumento extra para %1?", - NoClosingDelim: "N\u00E3o foi encontrado um delimitador de fechamento para %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/pt-br.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/pt-br.js deleted file mode 100644 index fd029bf4..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt-br/pt-br.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt-br/pt-br.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt-br",null,{ - menuTitle: "portugu\u00EAs do Brasil", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "O MathJax encontrou um cookie com configura\u00E7\u00F5es de usu\u00E1rio que inclui c\u00F3digo a ser executado. Deseja execut\u00E1-lo?\n\n(Voc\u00EA deve pressionar Cancelar a n\u00E3o ser que voc\u00EA mesmo tenha criado o cookie.)", - MathProcessingError: "Erro no processamento das f\u00F3rmulas", - MathError: "Erro na f\u00F3rmula matem\u00E1tica", - LoadFile: "Carregando %1", - Loading: "Carregando", - LoadFailed: "O arquivo n\u00E3o pode ser carregado: %1", - ProcessMath: "Processando f\u00F3rmula: %1%%", - Processing: "Processando", - TypesetMath: "Realizando a Diagrama\u00E7\u00E3o das F\u00F3rmulas: %1%%", - Typesetting: "Realizando a Diagrama\u00E7\u00E3o", - MathJaxNotSupported: "Seu navegador n\u00E3o suporta MathJax", - ErrorTips: "Dicas de depura\u00E7\u00E3o: use %%1, para inspecionar %%2 no console do navegador" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return String(n).replace(".", ","); // replace dot by comma - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/pt-br.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/pt/FontWarnings.js deleted file mode 100644 index 8a0c1bc6..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "O MathJax est\u00E1 a utilizar fontes baseadas em web para exibir as f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina. A sua descarga leva algum tempo, ent\u00E3o a p\u00E1gina seria renderizada mais rapidamente se instalasse as fontes para matem\u00E1tica diretamente no diret\u00F3rio de fontes do seu sistema.", - imageFonts: "O MathJax est\u00E1 a utilizar fontes feitas com imagens em vez de fontes locais ou baseadas em web. Isso torna a renderiza\u00E7\u00E3o mais lenta do que o de costume, e as f\u00F3rmulas matem\u00E1ticas poder\u00E3o n\u00E3o ser impressas com a maior resolu\u00E7\u00E3o dispon\u00EDvel na sua impressora.", - noFonts: "O MathJax n\u00E3o foi capaz de localizar uma fonte para utilizar ao renderizar as f\u00F3rmulas matem\u00E1ticas, e n\u00E3o est\u00E3o dispon\u00EDveis fontes feitas com imagens, ent\u00E3o ser\u00E3o utilizados caracteres Unicode gen\u00E9ricos com a esperan\u00E7a de que o seu navegador seja capaz de exibi-los. Alguns caracteres podem n\u00E3o aparecer como deveriam, ou simplesmente desaparecer.", - webFonts: "A maioria dos navegadores modernos permite que as fontes sejam descarregadas a partir da web. Atualizar para uma vers\u00E3o mais recente do seu navegador (ou mudar de navegador) poderia melhorar a qualidade das f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina.", - fonts: "O MathJax pode usar tanto [fontes STIX](%1) ou as [fontes MathJax TeX](%2). Descarregue e instale estas fontes para melhorar a sua experi\u00EAncia com o MathJax.", - STIXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes STIX](%1). Descarregue e instale estas fontes para melhorar a sua experi\u00EAncia com o MathJax.", - TeXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes MathJax TeX](%1). Descarregue e instale estas fontes para melhorar a sua experi\u00EAncia com o MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/pt/HTML-CSS.js deleted file mode 100644 index 7cf8a6a0..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "A carregar fonte baseada em web %1", - CantLoadWebFont: "N\u00E3o foi poss\u00EDvel carregar a fonte baseada em web %1", - FirefoxCantLoadWebFont: "O Firefox n\u00E3o pode carregar fontes baseadas em web a partir de um servidor remoto", - CantFindFontUsing: "N\u00E3o \u00E9 poss\u00EDvel encontrar uma fonte v\u00E1lida usando %1", - WebFontsNotAvailable: "Fontes baseadas em web n\u00E3o est\u00E3o dispon\u00EDveis -- a usar fontes feitas com imagens em vez disso" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/pt/HelpDialog.js deleted file mode 100644 index 10fdc48c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Ajuda do MathJax", - MathJax: "*MathJax* \u00E9 uma biblioteca em JavaScript que permite aos autores a inclus\u00E3o de conte\u00FAdo matem\u00E1tico em suas p\u00E1ginas web. Como um renderizador, voc\u00EA n\u00E3o precisa fazer qualquer coisa para que isso ocorra.", - Browsers: "*Navegadores*: O MathJax funciona em todos os navegadores modernos incluindo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e a maioria dos navegadores para dispositivos m\u00F3veis.", - Menu: "*Menu de F\u00F3rmulas*: O MathJax acrescenta um menu de contexto \u00E0s equa\u00E7\u00F5es. Clique com o bot\u00E3o direito ou pressione CTRL ao clicar em qualquer f\u00F3rmula matem\u00E1tica para aceder ao menu.", - ShowMath: "*Mostrar f\u00F3rmulas como* permite que visualize o c\u00F3digo da f\u00F3rmula para copiar e colar (como MathML ou no seu formato original).", - Settings: "*Configura\u00E7\u00F5es* oferecem o controle sobre os recursos do MathJax, tais como o tamanho das f\u00F3rmulas, e o mecanismo utilizado para exibir equa\u00E7\u00F5es.", - Language: "*Idioma* permite que escolha o idioma que o MathJax utiliza nos seus menus e mensagens de aviso.", - Zoom: "*Zoom nas F\u00F3rmulas*: Se voc\u00EA tem dificuldade para ler uma equa\u00E7\u00E3o, o MathJax pode ampli\u00E1-la para ajud\u00E1-lo a visualiz\u00E1-la melhor.", - Accessibilty: "*Acessibilidade*: O MathJax funcionar\u00E1 automaticamente em leitores de ecr\u00E3 para tornar as f\u00F3rmulas matem\u00E1ticas acess\u00EDveis aos que possuem problemas de vis\u00E3o.", - Fonts: "*Fontes*: O MathJax utilizar\u00E1 certas fontes para f\u00F3rmulas matem\u00E1ticas se elas estiverem instaladas no seu computador; caso contr\u00E1rio, ele utilizar\u00E1 fontes baseadas em web. Embora n\u00E3o seja obrigat\u00F3rio, o uso de fontes instaladas localmente acelerar\u00E1 a diagrama\u00E7\u00E3o. Sugerimos que instale [fontes STIX](%1).", - CloseDialog: "Fechar caixa de ajuda" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/MathML.js b/src/py/kaleido/vendor/mathjax/localization/pt/MathML.js deleted file mode 100644 index 96b2c71a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "Mglyph ruim: %1", - BadMglyphFont: "Fonte ruim: %1", - MathPlayer: "O MathJax n\u00E3o foi capaz de configurar o MathPlayer.\n\nSe o MathPlayer n\u00E3o estiver instalado, precisar\u00E1 instal\u00E1-lo primeiro.\nCaso contr\u00E1rio, suas configura\u00E7\u00F5es de seguran\u00E7a podem estar prevenindo a execu\u00E7\u00E3o\nde controles ActiveX. Use as Op\u00E7\u00F5es de Internet sob\no menu Ferramentas e selecione a aba de Seguran\u00E7a ent\u00E3o pressione o bot\u00E3o N\u00EDvel Personalizado. Confira se as configura\u00E7\u00F5es para 'Execu\u00E7\u00E3o de Controles ActiveX', e 'Comportamento de scripts e c\u00F3digos bin\u00E1rios'\nest\u00E3o ativadas.\n\nAtualmente, ver\u00E1 mensagens de erro em vez da \ndiagrama\u00E7\u00E3o das f\u00F3rmulas matem\u00E1ticas.", - CantCreateXMLParser: "O MathJax n\u00E3o pode criar um interpretador de XML para o MathML. Confira se\na configura\u00E7\u00E3o de seguran\u00E7a 'Controles de Script ActiveX marcados como seguros para scripting'\nest\u00E1 habilitado (use as Op\u00E7\u00F5es de Internet no menu \nFerramentas, e selecione o painel de Seguran\u00E7a, depois pressione o bot\u00E3o N\u00EDvel Personalizado\npara conferir isso).\n\nAs equa\u00E7\u00F5es em MathML n\u00E3o poder\u00E3o ser processadas pelo MathJax.", - UnknownNodeType: "Tipo de n\u00F3 desconhecido: %1", - UnexpectedTextNode: "N\u00F3 de texto inesperado: %1", - ErrorParsingMathML: "Erro ao processar MathML", - ParsingError: "Erro ao processar MathML: %1", - MathMLSingleElement: "MathML deve ser formado por um \u00FAnico elemento", - MathMLRootElement: "MathML deve ser formado por um elemento \u003Cmath\u003E, n\u00E3o %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/pt/MathMenu.js deleted file mode 100644 index 8b22c7aa..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Mostrar f\u00F3rmulas como", - MathMLcode: "C\u00F3digo MathML", - OriginalMathML: "MathML original", - TeXCommands: "Comandos TeX", - AsciiMathInput: "Entrada AsciiMathML", - Original: "Formato original", - ErrorMessage: "Mensagem de erro", - Annotation: "Anota\u00E7\u00E3o", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "MathML do conte\u00FAdo", - OpenMath: "OpenMath", - texHints: "Mostrar dicas de TeX em MathML", - Settings: "Configura\u00E7\u00F5es das f\u00F3rmulas", - ZoomTrigger: "Ativador do zoom", - Hover: "Passar o rato", - Click: "Clique", - DoubleClick: "Duplo clique", - NoZoom: "Sem zoom", - TriggerRequires: "O ativador requer:", - Option: "Op\u00E7\u00E3o", - Alt: "Alt", - Command: "Comando", - Control: "Control", - Shift: "Shift", - ZoomFactor: "Fator de zoom", - Renderer: "Renderizador matem\u00E1tico", - MPHandles: "Deixe que o MathPlayer resolva:", - MenuEvents: "Eventos de menu", - MouseEvents: "Eventos do rato", - MenuAndMouse: "Eventos do rato e de menu", - FontPrefs: "Prefer\u00EAncias de fontes", - ForHTMLCSS: "Para HTML-CSS:", - Auto: "Autom\u00E1tico", - TeXLocal: "TeX (local)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (imagem)", - STIXLocal: "STIX (local)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Menu de contexto", - Browser: "Navegador", - Scale: "Redimensionar todas as f\u00F3rmulas ...", - Discoverable: "Destacar ao passar com o rato", - Locale: "L\u00EDngua", - LoadLocale: "Carregar a partir de URL ...", - About: "Sobre o MathJax", - Help: "Ajuda do MathJax", - localTeXfonts: "a usar fontes TeX locais", - webTeXfonts: "a usar fontes TeX da web", - imagefonts: "a usar fontes feitas com imagens", - localSTIXfonts: "a usar fontes STIX", - webSVGfonts: "a usar fontes SVG da web", - genericfonts: "a usar fontes unicode gen\u00E9ricas", - wofforotffonts: "fontes WOFF ou OTF", - eotffonts: "fontes EOT", - svgfonts: "fontes SVG", - WebkitNativeMMLWarning: "N\u00E3o parece haver suporte nativo ao MathML no seu navegador, ent\u00E3o a mudan\u00E7a para MathML pode tornar ileg\u00EDveis as f\u00F3rmulas matem\u00E1ticas da p\u00E1gina.", - MSIENativeMMLWarning: "O Internet Explorer requer o plugin MathPlayer para processar MathML.", - OperaNativeMMLWarning: "O suporte ao MathML no Opera \u00E9 limitado, ent\u00E3o a mudan\u00E7a para MathML pode piorar a renderiza\u00E7\u00E3o de algumas express\u00F5es.", - SafariNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", - FirefoxNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", - MSIESVGWarning: "N\u00E3o h\u00E1 uma implementa\u00E7\u00E3o de SVG nas vers\u00F5es do Internet Explorer anteriores ao IE9 ou quando ele est\u00E1 emulando o IE8 ou as vers\u00F5es anteriores. A mudan\u00E7a para SVG far\u00E1 com que as f\u00F3rmulas n\u00E3o sejam exibidas adequadamente.", - LoadURL: "Carregar os dados de tradu\u00E7\u00E3o a partir desta URL:", - BadURL: "A URL deve ser para um um ficheiro de JavaScript que defina os dados de tradu\u00E7\u00E3o do MathJax. Os nomes dos ficheiros de Javascript devem terminar com '.js'", - BadData: "Falha ao carregar os dados de tradu\u00E7\u00E3o de %1", - SwitchAnyway: "Mudar para este renderizador mesmo assim?\n\n(Pressione OK para mudar, CANCELAR para continuar com o renderizador atual)", - ScaleMath: "Redimensionar todas as f\u00F3rmulas matem\u00E1ticas (em rela\u00E7\u00E3o ao texto \u00E0 sua volta) em", - NonZeroScale: "A escala n\u00E3o deve ser zero", - PercentScale: "A escala deve ser uma percentagem (por exemplo, 120%%)", - IE8warning: "Isto desabilitar\u00E1 o menu MathJax e os recursos de zoom, mas voc\u00EA poder\u00E1 usar Alt-Clique em uma express\u00E3o para obter o menu MathJax em vez disso.\n\nDeseja realmente alterar as configura\u00E7\u00F5es do MathPlayer?", - IE9warning: "O menu de contexto do MathJax ser\u00E1 desabilitado, mas pode usar Alt-Clique numa express\u00E3o para obter o menu MathJax em vez disso.", - NoOriginalForm: "Sem uma forma original dispon\u00EDvel", - Close: "Fechar", - EqSource: "C\u00F3digo de equa\u00E7\u00E3o MathJax", - CloseAboutDialog: "Fechar caixa sobre MathJax", - FastPreview: "Pr\u00E9-visualiza\u00E7\u00E3o r\u00E1pida", - AssistiveMML: "MAthML assistiva", - InTabOrder: "Incluir na ordem da guia" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/TeX.js b/src/py/kaleido/vendor/mathjax/localization/pt/TeX.js deleted file mode 100644 index a5943cf5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Chaveta de abertura a mais ou chaveta de fecho a menos", - ExtraCloseMissingOpen: "Chaveta de fecho a mais ou chaveta de abertura a menos", - MissingLeftExtraRight: "Falta um \\left ou h\u00E1 um \\right a mais", - MissingScript: "Falta o valor de um sobrescrito ou de um subscrito", - ExtraLeftMissingRight: "Falta um \\right ou h\u00E1 um \\left a mais", - Misplaced: "%1 fora do lugar", - MissingOpenForSub: "Falta a chaveta de abertura para o subscrito", - MissingOpenForSup: "Falta a chaveta de abertura para o sobrescrito", - AmbiguousUseOf: "Uso amb\u00EDguo de %1", - EnvBadEnd: "\\begin{%1} foi terminado com \\end{%2}", - EnvMissingEnd: "\\end{%1} em falta", - MissingBoxFor: "Falta uma caixa para %1", - MissingCloseBrace: "Falta chaveta de fecho", - UndefinedControlSequence: "Sequ\u00EAncia de controlo indefinida %1", - DoubleExponent: "Expoente duplo: use chavetas para clarificar", - DoubleSubscripts: "Subscrito duplo: use chavetas para clarificar", - DoubleExponentPrime: "\u00C9 amb\u00EDguo a que diz respeito a plica (\u2032): use chavetas para clarificar", - CantUseHash1: "N\u00E3o pode usar o car\u00E1cter # que indica um par\u00E2metro de macro no modo matem\u00E1tico", - MisplacedMiddle: "%1 deve estar entre \\left e \\right", - MisplacedLimits: "%1 s\u00F3 \u00E9 permitido em operadores", - MisplacedMoveRoot: "%1 s\u00F3 pode ser usado dentro de uma raiz", - MultipleCommand: "Repeti\u00E7\u00E3o de %1", - IntegerArg: "O argumento de %1 deve ser um inteiro", - NotMathMLToken: "%1 n\u00E3o \u00E9 um elemento de chave", - InvalidMathMLAttr: "Atributo MathML inv\u00E1lido: %1", - UnknownAttrForElement: "%1 n\u00E3o \u00E9 um atributo reconhecido para %2", - MaxMacroSub1: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es de macros do MathJax; h\u00E1 alguma chamada a uma macro recursiva?", - MaxMacroSub2: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es do MathJax; h\u00E1 algum ambiente LaTeX recursivo?", - MissingArgFor: "Falta um argumento para %1", - ExtraAlignTab: "H\u00E1 um tab de alinhamento a mais no texto de \\cases", - BracketMustBeDimension: "O argumento nos par\u00EAnteses retos de %1 deve ser uma dimens\u00E3o", - InvalidEnv: "Nome de ambiente inv\u00E1lido: '%1'", - UnknownEnv: "Ambiente desconhecido: '%1'", - ExtraCloseLooking: "Encontrada uma chaveta de fecho ao procurar por %1", - MissingCloseBracket: "N\u00E3o foi encontrado um ']' de fecho para o argumento de %1", - MissingOrUnrecognizedDelim: "O delimitador para %1 est\u00E1 em falta ou n\u00E3o foi reconhecido", - MissingDimOrUnits: "Falta a dimens\u00E3o ou a unidade de %1", - TokenNotFoundForCommand: "N\u00E3o foi encontrado %1 para %2", - MathNotTerminated: "A f\u00F3rmula n\u00E3o foi terminada na caixa de texto", - IllegalMacroParam: "Refer\u00EAncia inv\u00E1lida a um par\u00E2metro de macro", - MaxBufferSize: "O tamanho do buffer interno do MathJax foi excedido; h\u00E1 alguma chamada a uma macro recursiva?", - CommandNotAllowedInEnv: "%1 n\u00E3o \u00E9 permitido no ambiente %2", - MultipleLabel: "O r\u00F3tulo '%1' foi definido mais que uma vez", - CommandAtTheBeginingOfLine: "%1 deve vir no in\u00EDcio da linha", - IllegalAlign: "Foi especificado um alinhamento ilegal em %1", - BadMathStyleFor: "Estilo de f\u00F3rmula inv\u00E1lido para %1", - PositiveIntegerArg: "O argumento para %1 deve ser um inteiro positivo", - ErroneousNestingEq: "Aninhamento incorreto de estruturas de equa\u00E7\u00F5es", - MultlineRowsOneCol: "As linhas do ambiente %1 devem ter apenas uma coluna", - MultipleBBoxProperty: "%1 foi especificado duas vezes em %2", - InvalidBBoxProperty: "'%1' n\u00E3o parece ser uma cor, uma dimens\u00E3o de espa\u00E7amento, nem um estilo", - ExtraEndMissingBegin: "H\u00E1 um %1 a mais ou um \\begingroup a menos", - GlobalNotFollowedBy: "%1 n\u00E3o foi seguido por um \\let, \\def, ou \\newcommand", - UndefinedColorModel: "O modelo de cores '%1' n\u00E3o foi definido", - ModelArg1: "O modelo %1 requer 3 n\u00FAmeros para valores de cor", - InvalidDecimalNumber: "N\u00FAmero decimal inv\u00E1lido", - ModelArg2: "Os valores de cor para o modelo %1 devem estar entre %2 e %3", - InvalidNumber: "N\u00FAmero inv\u00E1lido", - NewextarrowArg1: "O primeiro argumento de %1 deve ser o nome de uma sequ\u00EAncia de controlo", - NewextarrowArg2: "O segundo argumento de %1 deve ser composto por dois inteiros separados por uma v\u00EDrgula", - NewextarrowArg3: "O terceiro argumento de %1 deve ser o c\u00F3digo Unicode de um caractere", - NoClosingChar: "N\u00E3o foi poss\u00EDvel encontrar um %1 de fecho", - IllegalControlSequenceName: "O nome da sequ\u00EAncia de controlo para %1 \u00E9 inv\u00E1lido", - IllegalParamNumber: "N\u00FAmero inv\u00E1lido de par\u00E2metros especificado em %1", - MissingCS: "%1 deve ser seguido por uma sequ\u00EAncia de controlo", - CantUseHash2: "Uso ilegal de # em modelo para %1", - SequentialParam: "Os par\u00E2metros para %1 devem ser numerados sequencialmente", - MissingReplacementString: "Falta a string de substitui\u00E7\u00E3o para a defini\u00E7\u00E3o de %1", - MismatchUseDef: "O uso de %1 n\u00E3o condiz com sua defini\u00E7\u00E3o", - RunawayArgument: "Argumento em excesso para %1?", - NoClosingDelim: "N\u00E3o foi encontrado um delimitador de fecho para %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/pt.js b/src/py/kaleido/vendor/mathjax/localization/pt/pt.js deleted file mode 100644 index d3cc769d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/pt/pt.js +++ /dev/null @@ -1,58 +0,0 @@ -/************************************************************* - * - * MathJax/localization/pt/pt.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("pt",null,{ - menuTitle: "portugu\u00EAs", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "Erro no processamento das f\u00F3rmulas", - MathError: "Erro de matem\u00E1tica", - LoadFile: "A carregar %1", - Loading: "A carregar", - LoadFailed: "O ficheiro n\u00E3o pode ser carregado: %1", - ProcessMath: "A processar f\u00F3rmula: %1%%", - Processing: "A processar", - TypesetMath: "A formatar f\u00F3rmulas: %1%%", - Typesetting: "A formatar", - MathJaxNotSupported: "O seu navegador n\u00E3o suporta MathJax", - ErrorTips: "Dicas de depura\u00E7\u00E3o: use %%1, para inspecionar %%2 no console do navegador" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return String(n).replace(".", ","); // replace dot by comma - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/pt/pt.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/qqq/FontWarnings.js deleted file mode 100644 index 342a665d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/qqq/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/qqq/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("qqq","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "This warning is displayed by the FontWarnings extension when web-based fonts are used.", - imageFonts: "This warning is displayed by the FontWarnings extension when image fonts are used.", - noFonts: "This warning is displayed by the FontWarnings extension when no fonts can be used.", - webFonts: "This warning is displayed by the FontWarnings extension when the browser do not support web fonts", - fonts: "{{doc-markdown}}\nThis warning is displayed by the FontWarnings extension when the HTML-CSS availableFonts list contains both STIX and TeX.\n\nParameters:\n* %1 - URL\n* %2 - URL\nSee also:\n* {{msg-mathjax|Fontwarnings-TeXPage}}", - STIXPage: "{{doc-markdown}}\nThis warning is displayed by the FontWarnings extension when the HTML-CSS availableFonts list contains only STIX.\n\nParameters:\n* %1 - URL", - TeXPage: "{{doc-markdown}}\nThis warning is displayed by the FontWarnings extension when the HTML-CSS availableFonts list contains only TeX.\n\nParameters:\n* %1 - URL\nSee also:\n* {{msg-mathjax|Fontwarnings-fonts}}" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/qqq/HTML-CSS.js deleted file mode 100644 index ad08fcbc..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/qqq/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/qqq/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("qqq","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "This is displayed in MathJax message box when the HTML-CSS output is loading a Web font.\n\nParameters:\n* %1 - the font name", - CantLoadWebFont: "This is displayed in MathJax message box when the HTML-CSS output fails to load a Web font. The first argument is the font name", - FirefoxCantLoadWebFont: "This is displayed in MathJax message box when the HTML-CSS output fails to load a Web font in Firefox", - CantFindFontUsing: "This is displayed in MathJax message box when the HTML-CSS output fails to load a Web font from a given list.\n\nParameters:\n* %1 - a list of fonts tried, comma-separated", - WebFontsNotAvailable: "This is displayed in MathJax message box when the HTML-CSS fails to load Web fonts" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/qqq/HelpDialog.js deleted file mode 100644 index 6131811e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/qqq/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/qqq/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("qqq","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "This is the title displayed at the top of the MathJax Help dialog.", - MathJax: "First paragraph of the MathJax Help dialog.\n\nStars around 'MathJax' is the Markdown syntax to put it in emphasis.", - Browsers: "Second paragraph of the MathJax Help dialog.\n\nStars around 'Browsers' is the Markdown syntax to put it in emphasis.", - Menu: "Third paragraph of the MathJax Help dialog.\n\nStars around 'Math Menu' the Markdown syntax to put it in emphasis.\n\n\"CTRL\" refers to \"Ctrl key\" (\"Control key\").", - ShowMath: "First item of the the 'Math Menu' paragraph.\n\nStars around 'Show math as' is the Markdown syntax to put it in emphasis.\n\n'Show Math as' should be consistent with {{msg-mathjax|Mathmenu-Show}}.", - Settings: "Second item of the the 'Math Menu' paragraph.\n\nStars around 'Settings' is the Markdown syntax to put it in emphasis.\n\n'Settings' should be consistent with {{msg-mathjax|Mathmenu-Settings}}.", - Language: "Third item of the the 'Math Menu' paragraph.\n\nStars around 'Language' is the Markdown syntax to put it in emphasis.\n\n'Language' should be consistent with {{msg-mathjax|Mathmenu-Locale}}.", - Zoom: "Fourth paragraph of the MathJax Help dialog.\n\nStars around 'Math Zoom' is the Markdown syntax to put it in emphasis.\n\n'Math Zoom' should be consistent with {{msg-mathjax|Mathmenu-ZoomTrigger}} and {{msg-mathjax|Mathmenu-ZoomFactor}}.", - Accessibilty: "Fifth paragraph of the MathJax Help dialog.\n\nStars around 'Accessibility' is the Markdown syntax to put it in emphasis.", - Fonts: "{{doc-markdown}}\nSixth paragraph of the MathJax Help dialog.\n\nStars around 'Fonts' is the Markdown syntax to put it in emphasis.\n\n\u003Ccode\u003E[STIX fonts](%1)\u003C/code\u003E is the Markdown syntax for links.\n\nParameters:\n* %1 - a URL the STIX fonts", - CloseDialog: "Text alternative for the closing button of the 'MathJax Help' pop-up." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/MathML.js b/src/py/kaleido/vendor/mathjax/localization/qqq/MathML.js deleted file mode 100644 index 714eb430..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/qqq/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/qqq/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("qqq","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "This error is displayed when processing a MathML mglyph element with a bad URL. Parameters:\n* %1 - the value of the src attribute", - BadMglyphFont: "Parameters:\n* %1 - font family", - MathPlayer: "This alert is displayed when the Native MathML output Jax fails to set up MathPlayer. The instructions are IE specific.\n\nThe new line character is used to force new lines in the alert box.", - CantCreateXMLParser: "This alert is displayed when the MathML input Jax fails to create an XML parser. The instructions are IE specific.\n\nThe new line character is used to force new lines in the alert box.", - UnknownNodeType: "Used as error message. Parameters:\n* %1 - node type", - UnexpectedTextNode: "Used as error message. Parameters:\n* %1 - text, enclosed in \"'\"", - ErrorParsingMathML: "This error is displayed when a MathML element fails to be parsed.\n\nIt can only be produced by old versions of Internet Explorer.", - ParsingError: "This error is displayed when an XML parsing error happens.\n\nThe argument is the error returned by the XML parser.", - MathMLSingleElement: "This error is displayed when a MathML input Jax contains more than one \u003Ccode\u003E\u003Cnowiki\u003E\u003Cmath\u003E\u003C/nowiki\u003E\u003C/code\u003E root.\n\nIt can only be produced by very old browsers.", - MathMLRootElement: "{{doc-important|Do not translate the \u003Ccode\u003E\u003Cnowiki\u003E\u003Cmath\u003E\u003C/nowiki\u003E\u003C/code\u003E tag! It is a MathML tag.}} \n\nThis error is displayed when a MathML input Jax contains a root other than \u003Ccode\u003E\u003Cnowiki\u003E\u003Cmath\u003E\u003C/nowiki\u003E\u003C/code\u003E.\n\nParameters:\n* %1 - the root name" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/qqq/MathMenu.js deleted file mode 100644 index 7824d256..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/qqq/MathMenu.js +++ /dev/null @@ -1,110 +0,0 @@ -/************************************************************* - * - * MathJax/localization/qqq/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("qqq","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "'Show math as' menu item. MathJax uses 'Math' as a distinct UI choice. Please translate it literally whenever possible.\n\nFollowed by the following menu subitems:\n* {{msg-mathjax|Mathmenu-MathMLcode}}\n* {{msg-mathjax|Mathmenu-Original}}\n* {{msg-mathjax|Mathmenu-Annotation}}\n* {{msg-mathjax|Mathmenu-texHints}} - checkbox label", - MathMLcode: "This menu item from 'Show math as' shows the MathML code that MathJax has produced internally (sanitized, indented etc.)\n\nThe parent menu item is {{msg-mathjax|Mathmenu-Show}}.", - OriginalMathML: "This menu item from 'Show math as' shows the MathML code as if that was originally in the page source", - TeXCommands: "This menu item from 'Show math as' shows the TeX code if that was originally in the page source", - AsciiMathInput: "This menu item from 'Show math as' shows the asciimath code if that was originally in the page source", - Original: "This menu item from 'Show math as' shows the code that was originally in the page source but has no registered type.\n\nThis can happen when extensions add new input formats but fail to provide an adequate format name.\n\nThe parent menu item is {{msg-mathjax|Mathmenu-Show}}.\n{{Identical|Original form}}", - ErrorMessage: "This menu item from 'Show math as' shows the error message if MathJax fails to process the source.\n{{Identical|Error message}}", - Annotation: "This menu item from 'Show math as' allows to access possible annotations attached to a MathML formula.\n{{Identical|Annotation}}", - TeX: "This is a menu item from the 'Annotation Menu' to show a TeX annotation.", - StarMath: "This is a menu item from the 'Annotation Menu' to show a StarMath annotation (StarOffice, OpenOffice, LibreOffice).\n\nProgramming language used in MathJax.", - Maple: "This is a menu item from the 'Annotation Menu' to show a Maple annotation.", - ContentMathML: "This is a menu item from the 'Annotation Menu' to show a Content MathML annotation.\n\nThe MathML specification defines two versions: 'presentation' MathML (used in MathJax) and 'content' MathML (describes the semantics of the formula).", - OpenMath: "This is a menu item from the 'Annotation Menu' to show the OpenMath annotation, an XML representation similar to Content MathML.", - texHints: "This menu option from 'Show math as' adds comments to the code produced by 'MathMLCode'.\n\nUsed as checkbox label in the menu.", - Settings: "'Math settings' menu item.", - ZoomTrigger: "This menu from 'Math Settings' determines how MathJax's zoom is triggered.\n\nFollowed by the following menu items:\n* {{msg-mathjax|Mathmenu-Hover}}\n* {{msg-mathjax|Mathmenu-Click}}\n* {{msg-mathjax|Mathmenu-DoubleClick}}\n* {{msg-mathjax|Mathmenu-NoZoom}}\n* {{msg-mathjax|Mathmenu-TriggerRequires}} - label for the following checkboxes\n* {{msg-mathjax|Mathmenu-Option}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Alt}} - checkbox label, for Windows\n* {{msg-mathjax|Mathmenu-Command}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Control}} - checkbox label, for non-mac\n* {{msg-mathjax|Mathmenu-Shift}} - checkbox label", - Hover: "This menu option from 'ZoomTrigger' indicates that the zoom is triggered when the mouse pass over a formula.", - Click: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the zoom is triggered when one clicks on a formula.\n{{Identical|Click}}", - DoubleClick: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the zoom is triggered when one double-clicks on a formula.", - NoZoom: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the zoom is never triggered.", - TriggerRequires: "This menu text from {{msg-mathjax|Mathmenu-ZoomTrigger}} describes if the ZoomTrigger requires additional keys.\n\nThe label is followed by the following menu items:\n* {{msg-mathjax|Mathmenu-Option}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Alt}} - checkbox label, for Windows\n* {{msg-mathjax|Mathmenu-Command}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Control}} - checkbox label, for non-Mac\n* {{msg-mathjax|Mathmenu-Shift}} - checkbox label", - Option: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the OPTION key is needed (Apple-style).\n{{Identical|Options}}", - Alt: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the ALT key is needed (Windows-style)", - Command: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the COMMAND key is needed (Apple-style).\n{{Identical|Command}}", - Control: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the CONTROL key is needed\n\n\"Control key\" is also known as \"Ctrl key\".", - Shift: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the SHIFT key is needed", - ZoomFactor: "Used as menu item which has the following sub menu items: 125%%, 133%%, 150%%, 175%%, 200%%, 250%%, 300%%, 400%%", - Renderer: "Used as menu item which has the following sub menu items:\n* HTML-CSS\n* MathML\n* SVG", - MPHandles: "Used as label in the menu.\n\nFollowed by the following menu items:\n* {{msg-mathjax|Mathmenu-MenuEvents}}\n* {{msg-mathjax|Mathmenu-MouseEvents}}\n* {{msg-mathjax|Mathmenu-MenuAndMouse}}", - MenuEvents: "Option to let MathPlayer handle the contextual menu selections", - MouseEvents: "Option to let MathPlayer handle the mouse clicks", - MenuAndMouse: "Option to let MathPlayer handle Mouse and Menu Events", - FontPrefs: "This menu item from 'Math Settings' allows selection of the font to use (and is mostly for development purposes) e.g. STIX", - ForHTMLCSS: "Used as label in the menu.\n\nFollowed by the following radio box label:\n* {{msg-mathjax|Mathmenu-Auto}}", - Auto: "{{Identical|Automatic}}", - TeXLocal: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", - TeXWeb: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", - TeXImage: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", - STIXLocal: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", - STIXWeb: "{{Related|Mathmenu-fonts}}", - AsanaMathWeb: "{{Related|Mathmenu-fonts}}", - GyrePagellaWeb: "{{Related|Mathmenu-fonts}}", - GyreTermesWeb: "{{Related|Mathmenu-fonts}}", - LatinModernWeb: "{{Related|Mathmenu-fonts}}", - NeoEulerWeb: "{{Related|Mathmenu-fonts}}", - ContextMenu: "Used as menu item.\n\nFollowed by the following sub menu items:\n* MathJax - radio box label\n* {{msg-mathjax|Mathmenu-Browser}} - radio box label", - Browser: "Used as menu item.\n\nThe parent menu item is {{msg-mathjax|Mathmenu-ContextMenu}}.\n{{Identical|Browser}}", - Scale: "This menu item from 'Math Settings' allows users to set a scaling factor for the MathJax output (relative to the surrounding content).", - Discoverable: "This menu option indicates whether the formulas should be highlighted when you pass the mouse over them.\n\nUsed as checkbox label in the menu.", - Locale: "This menu item from 'Math Settings' allows to select a language. The language names are specified by the 'menuTitle' properties.\n\nThis menu item has the following sub menu items:\n* en\n* {{msg-mathjax|Mathmenu-LoadLocale}}\n{{Identical|Language}}", - LoadLocale: "This allows the user to load the translation from a given URL.\n\nUsed as the menu item which has the parent menu item {{msg-mathjax|Mathmenu-Locale}}.", - About: "This opens the 'About MathJax' popup.\n\nUsed as menu item.", - Help: "This opens the 'MathJax Help' popup", - localTeXfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses local MathJax TeX fonts.\n{{Related|Mathmenu-using}}", - webTeXfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses Web versions of MathJax TeX fonts.\n{{Related|Mathmenu-using}}", - imagefonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses Image versions of MathJax TeX fonts.\n{{Related|Mathmenu-using}}", - localSTIXfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses local MathJax STIX fonts.\n{{Related|Mathmenu-using}}", - webSVGfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses SVG MathJax TeX fonts.\n{{Related|Mathmenu-using}}", - genericfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses local generic fonts.\n{{Related|Mathmenu-using}}", - wofforotffonts: "This is from the 'About MathJax' popup. woff/otf are names of font formats", - eotffonts: "This is from the 'About MathJax' popup. eot is a name of font format", - svgfonts: "This is from the 'About MathJax' popup. svg is a name of font format", - WebkitNativeMMLWarning: "This is the WebKit warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", - MSIENativeMMLWarning: "This is the IE warning displayed when a user changes the rendering output to native MathML via the MathJax menu and does not have MathPlayer installed.", - OperaNativeMMLWarning: "This is the Opera warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", - SafariNativeMMLWarning: "This is the Safari warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", - FirefoxNativeMMLWarning: "This is the Firefox warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", - MSIESVGWarning: "This is the IE warning displayed when a user changes the rendering output to SVG via the MathJax menu and uses an versions of IE.", - LoadURL: "This is the prompt message for the 'LoadLocale' menu entry", - BadURL: "This is the alert message when a bad URL is specified for 'LoadLocale'.", - BadData: "This is the alert message when the translation data specified 'LoadLocale' fails to be loaded. The argument is the URL specified.", - SwitchAnyway: "This is appended at the end of switch warnings.\n\nUsed for JavaScript \u003Ccode\u003Econfirm()\u003C/code\u003E.", - ScaleMath: "This is the prompt message for the 'Scale all math' menu entry.\n\nUsed for JavaScript \u003Ccode\u003Eprompt()\u003C/code\u003E.", - NonZeroScale: "This is the alert message when the scale specified to 'ScaleMath' is zero", - PercentScale: "This is the alert message when the scale specified to 'ScaleMath' is not a percentage", - IE8warning: "This this the confirm message displayed for when the user chooses to let MathPlayer control the contextual menu (IE8)", - IE9warning: "This this the alert message displayed for when the user chooses to let MathPlayer control the contextual menu (IE9)", - NoOriginalForm: "This is the alert box displayed when there are missing source formats for {{Msg-mathjax|Mathmenu-Show}}; see also {{Msg-mathjax|Mathmenu-Original}}.", - Close: "Closing button in the 'Show math as' window.\n{{Identical|Close}}", - EqSource: "This is the title of the 'Show math as' button.\n\nUsed in the \u003Ccode\u003E\u003Cnowiki\u003E\u003Ctitle\u003E\u003C/nowiki\u003E\u003C/code\u003E tag of the new window.", - FastPreview: "A checkbox activating two-passrendering with a faster, rougher preview being rendered by the PreviewHTML output.", - AssistiveMML: "A checkbox that activates an extension providing invisible but accessible MathML source alongside the rendering.", - InTabOrder: "A checkbox to indicate whether MathJax adds a tabindex attribute (with value '0') to its output." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/TeX.js b/src/py/kaleido/vendor/mathjax/localization/qqq/TeX.js deleted file mode 100644 index 7556d32a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/qqq/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/qqq/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("qqq","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "This appears in TeX expressions when open and close braces do not match e.g. \u003Ccode\u003E\\( { \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-ExtraCloseMissingOpen}}", - ExtraCloseMissingOpen: "This appears in TeX expressions when open and close braces do not match e.g. \u003Ccode\u003E\\( } \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-ExtraOpenMissingClose}}", - MissingLeftExtraRight: "{{doc-important|Do not translate \u003Ccode\u003E\\left\u003C/code\u003E and \u003Ccode\u003E\\right\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when \u003Ccode\u003Eleft\u003C/code\u003E/\u003Ccode\u003Eright\u003C/code\u003E commands do no match e.g. \u003Ccode\u003E\\( \\right) \\)\u003C/code\u003E", - MissingScript: "This appears in TeX expressions when a superscript or subscript is missing e.g. \u003Ccode\u003Ea^2\u003C/code\u003E or \u003Ccode\u003Ea_2\u003C/code\u003E.", - ExtraLeftMissingRight: "{{doc-important|Do not translate \u003Ccode\u003E\\left\u003C/code\u003E and \u003Ccode\u003E\\right\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when \u003Ccode\u003Eleft\u003C/code\u003E/\u003Ccode\u003Eright\u003C/code\u003E commands do no match e.g. \u003Ccode\u003E\\( \\left( \\)\u003C/code\u003E", - Misplaced: "This appears in TeX expressions when an item is misplaced e.g. \u003Ccode\u003E\\( \u0026 \\)\u003C/code\u003E since the ampersand is supposed to be used in tabular expressions.\n\nParameters:\n* %1 - the misplaced item", - MissingOpenForSub: "This appears in TeX expressions when a subscript is missing an open brace e.g. \u003Ccode\u003E\\( x__ \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-MissingOpenForSup}}", - MissingOpenForSup: "This appears in TeX expressions when a superscript is missing an open brace e.g. \u003Ccode\u003E\\( x^^ \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-MissingOpenForSub}}", - AmbiguousUseOf: "This appears in TeX expressions when a command is used in an ambiguous way e.g. \u003Ccode\u003E\\( x \\over y \\over z \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the name of the TeX command", - EnvBadEnd: "{{doc-important|Do not translate \u003Ccode\u003E\\begin\u003C/code\u003E and \u003Ccode\u003E\\end\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when environment names do not match e.g. \u003Ccode\u003E\\( \\begin{aligned} \\end{eqarray} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name used for \u003Ccode\u003E\\begin\u003C/code\u003E\n* %2 - the environment name used for \u003Ccode\u003E\\end\u003C/code\u003E", - EnvMissingEnd: "{{doc-important|Do not translate \u003Ccode\u003E\\end\u003C/code\u003E, it is a TeX command.}}\nThis appears in TeX expressions when an environment is not closed e.g. \u003Ccode\u003E\\( \\begin{aligned} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name e.g. \u003Ccode\u003Ealigned\u003C/code\u003E", - MissingBoxFor: "This appears in TeX expressions when a command is missing a TeX box e.g. \u003Ccode\u003E\\( \\raise 1pt \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name", - MissingCloseBrace: "This appears in TeX expressions when a close brace is missing e.g. \u003Ccode\u003E\\( \\array{ \\)\u003C/code\u003E", - UndefinedControlSequence: "This appears in TeX expressions when an undefined control sequence is used. Parameters:\n* %1 - the name of the TeX command", - DoubleExponent: "This appears in TeX expressions when an ambiguous double exponent is used e.g. \u003Ccode\u003Ex^3^2\u003C/code\u003E should be \u003Ccode\u003Ex^{3^2}\u003C/code\u003E or \u003Ccode\u003E{x^3}^2\u003C/code\u003E.\n\nSee also:\n* {{msg-mathjax|Tex-DoubleSubscripts}}", - DoubleSubscripts: "This appears in TeX expressions when an ambiguous double subscripts is used e.g. \u003Ccode\u003Ex_3_2\u003C/code\u003E should be \u003Ccode\u003Ex_{3_2}\u003C/code\u003E or \u003Ccode\u003E{x_3}_2\u003Ccode\u003E.\n\nSee also:\n* {{msg-mathjax|Tex-DoubleExponent}}", - DoubleExponentPrime: "This appears in TeX expressions when an ambiguous double exponent is caused by a prime e.g. \u003Ccode\u003Ex^a'\u003C/code\u003E should be \u003Ccode\u003E{x^a}'\u003C/code\u003E or \u003Ccode\u003Ex^{a'}\u003C/code\u003E", - CantUseHash1: "This appears in TeX expressions when the macro parameter character '#' is used in math mode e.g. \u003Ccode\u003E\\( # \\)\u003C/code\u003E", - MisplacedMiddle: "{{doc-important|Do not translate \u003Ccode\u003E\\left\u003C/code\u003E and \u003Ccode\u003E\\right\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when the \u003Ccode\u003Emiddle\u003C/code\u003E command is used outside \u003Ccode\u003E\\left ... \\right\u003C/code\u003E e.g. \u003Ccode\u003E\\( \\middle| \\)\u003C/code\u003E", - MisplacedLimits: "This appears in TeX expressions when the \u003Ccode\u003Elimits\u003C/code\u003E command is not used on an operator e.g. \u003Ccode\u003E\\( \\limits \\)\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\limits\u003C/code\u003E", - MisplacedMoveRoot: "This appears in TeX expressions when a move root command is used outside a root e.g. \u003Ccode\u003E\\( \\uproot \\)\u003C/code\u003E.\n\nParameters:\n* %1 - either \u003Ccode\u003E\\uproot\u003C/code\u003E or \u003Ccode\u003E\\leftroot\u003C/code\u003E", - MultipleCommand: "This happens when a command or token can only be present once, e.g. \u003Ccode\u003E\\tag{}\u003C/code\u003E. Parameters:\n* %1 - the name of the duplicated command", - IntegerArg: "This happens when an unexpected non-integer argument is passed to a command e.g. \u003Ccode\u003E\\uproot\u003C/code\u003E.\n\nParameters:\n* %1 - the name of the command", - NotMathMLToken: "MathJax has a non-standard \u003Ccode\u003E\\mmlToken\u003C/code\u003E command to insert MathML token elements.\n\nThis error happens when the tag name is unknown e.g. \u003Ccode\u003E\\mmlToken{INVALID}{x}\u003C/code\u003E", - InvalidMathMLAttr: "MathJax has non standard MathML and HTML related commands which can contain attributes.\n\nThis error happens when the parameter is not a valid attribute e.g. \u003Ccode\u003E\\( \\mmlToken{mi}[_INVALID_]{x} \\)\u003C/code\u003E where underscores are forbidden.", - UnknownAttrForElement: "MathJax has non standard MathML and HTML related commands which can contain attributes.\n\nThis error happens when the attribute is invalid for the given element e.g. \u003Ccode\u003E\\( \\mmlToken{mi}[INVALIDATTR=\u003Cnowiki\u003E''\u003C/nowiki\u003E]{x} \\)\u003C/code\u003E\n\nParameters:\n* %1 - attribute\n* %2 - ...", - MaxMacroSub1: "MathJax limits the number of macro substitutions to prevent infinite loops.\n\nFor example, this error may happen with \u003Ccode\u003E\\newcommand{\\a}{\\a} \\a\u003C/code\u003E", - MaxMacroSub2: "MathJax limits the number of nested environments to prevent infinite loops.\n\nFor example, this error may happen with \u003Ccode\u003E\\newenvironment{a}{\\begin{a}}{\\end{a}} \\begin{a}\\end{a}\u003C/code\u003E", - MissingArgFor: "This happens when an argument is missing e.g. \u003Ccode\u003E\\frac{a}\u003C/code\u003E. Parameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\frac\u003C/code\u003E", - ExtraAlignTab: "{{doc-important|Do not translate \u003Ccode\u003E\\cases\u003C/code\u003E; it is a TeX command.}}\nThis happens when \u003Ccode\u003E\\cases\u003C/code\u003E has two many columns e.g. \u003Ccode\u003E\\cases{a \u0026 b \u0026 c}\u003C/code\u003E", - BracketMustBeDimension: "This happens when a bracket argument of an item is not a dimension e.g. \u003Ccode\u003E\\begin{array} x \\\\[INVALID] y \\end{array}\u003C/code\u003E.\n\nParameters:\n* %1 - e.g. \u003Ccode\u003E\\\u003C/code\u003E", - InvalidEnv: "This happens with invalid environment name e.g. \u003Ccode\u003E\\begin{_INVALID_} \\end{_INVALID_}\u003C/code\u003E where underscores are forbidden.\n\nParameters:\n* %1 - the environment name e.g. \u003Ccode\u003E_INVALID_\u003C/code\u003E", - UnknownEnv: "This happens when an unknown environment is used e.g. \u003Ccode\u003E\\begin{UNKNOWN} \\end{UNKNOWN}\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name e.g. \u003Ccode\u003EUNKNOWN\u003C/code\u003E", - ExtraCloseLooking: "This happens in some situations when an extra close brace is found while looking for another character, for example \u003Ccode\u003E\\( \\sqrt['''{{red|\u003Cnowiki\u003E}\u003C/nowiki\u003E}}''']x \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the character searched e.g. \u003Ccode\u003E]\u003C/code\u003E", - MissingCloseBracket: "This error happens when a closing '\u003Ccode\u003E]\u003C/code\u003E' is missing e.g. \u003Ccode\u003E\\( \\sqrt[ \\)\u003C/code\u003E. Parameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\sqrt\u003C/code\u003E", - MissingOrUnrecognizedDelim: "This error happens when a delimiter is missing or unrecognized in a TeX expression e.g. \u003Ccode\u003E\\( \\left \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\left\u003C/code\u003E", - MissingDimOrUnits: "This error happens with some TeX commands that are expecting a unit e.g. \u003Ccode\u003E\\above\u003C/code\u003E. Parameters:\n* %1 - the command name", - TokenNotFoundForCommand: "This happens while processing a TeX command that is expected to contain a token e.g. \u003Ccode\u003E\\( \\root{x} \\)\u003C/code\u003E where '\u003Ccode\u003E\\of\u003C/code\u003E' should be used.\n\nParameters:\n* %1 - the token not found e.g. \u003Ccode\u003E\\of\u003C/code\u003E\n* %2 - the command being processed e.g. \u003Ccode\u003E\\root\u003C/code\u003E", - MathNotTerminated: "This happens when a math is not terminated in a text box e.g. \u003Ccode\u003E\\( \\text{$x} \\)\u003C/code\u003E where the closing dollar is missing.", - IllegalMacroParam: "This error happens when an invalid macro parameter reference is used e.g. \u003Ccode\u003E\\( \\def\\mymacro#1{#2} \\mymacro{x} \\)\u003C/code\u003E where '#2' is invalid since \u003Ccode\u003E\\mymacro\u003C/code\u003E has only one parameter.", - MaxBufferSize: "The buffer size refers to the memory used by the TeX input processor.\n\nThis error may happen with recursive calls e.g. \u003Ccode\u003E\\( \\newcommand{\\a}{\\a\\a} \\a \\)\u003C/code\u003E.\n\nNote that the number of a's is exponential with respect to the number of recursive calls.\n\nHence 'MaxBufferSize' is likely to happen before 'MaxMacroSub1'", - CommandNotAllowedInEnv: "This appears when the \u003Ccode\u003E\\tag\u003C/code\u003E command is used inside an environment that does not allow labelling e.g. \u003Ccode\u003E\\begin{split} x \\tag{x} \\end{split}\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\tag\u003C/code\u003E\n* %2 - the name of the environment", - MultipleLabel: "This happens when TeX labels are duplicated e.g. \u003Ccode\u003E\\( \\label{x} \\) \\( \\label{x} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - TeX label name", - CommandAtTheBeginingOfLine: "This happens when showleft/showright are misplaced. Parameters:\n* %1 - the macro name", - IllegalAlign: "This happens when an invalid alignment is specified in \u003Ccode\u003E\\cfrac\u003C/code\u003E e.g. \u003Ccode\u003E\\cfrac[INVALID]{a}{b}\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\cfrac\u003C/code\u003E", - BadMathStyleFor: "This happens when an invalid style is specified in \u003Ccode\u003E\\genfrac\u003C/code\u003E e.g. \u003Ccode\u003E\\genfrac{\\{}{\\}}{0pt}{INVALID}{a}{b}\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\genfrac\u003C/code\u003E", - PositiveIntegerArg: "This happens when an invalid alignment is specified in the \u003Ccode\u003Ealignedat\u003C/code\u003E environment e.g. \u003Ccode\u003E\\begin{alignedat}{INVALID}\\end{alignedat}\u003C/code\u003E.", - ErroneousNestingEq: "This happens when some equation structures are nested in a way forbidden by LaTeX e.g. two nested \u003Ccode\u003Emultline\u003C/code\u003E environment.", - MultlineRowsOneCol: "This happens when a row of the \u003Ccode\u003Emultline\u003C/code\u003E environment has more than one column e.g. \u003Ccode\u003E\\begin{multline} x \u0026 y \\end{multline}\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name \u003Ccode\u003Emultline\u003C/code\u003E", - MultipleBBoxProperty: "This appears with the TeX command \u003Ccode\u003E\\bbox\u003C/code\u003E when a property e.g. the background color is specified twice.\n\nParameters:\n* %1 - the name of the duplicate property\n* %2 - the command name \u003Ccode\u003E\\bbox\u003C/code\u003E", - InvalidBBoxProperty: "This appears with the TeX command \u003Ccode\u003E\\bbox\u003C/code\u003E when a property is not a color, a padding dimension, or a style.\n\n'padding' is a CSS property name for the 'inner margin' of a box. You may verify on MDN how it is translated in your language.\n\nParameters:\n* %1 - the name of the invalid property specified", - ExtraEndMissingBegin: "{{doc-important|Do not translate \u003Ccode\u003E\\begingroup\u003C/code\u003E.}}\nThis appears in TeX expressions when begingroup/endgroup do not match. Parameters:\n* %1 - the command name \u003Ccode\u003E\\endgroup\u003C/code\u003E", - GlobalNotFollowedBy: "{{doc-important|Do not translate \u003Ccode\u003E\\let\u003C/code\u003E, \u003Ccode\u003E\\def\u003C/code\u003E, or \u003Ccode\u003E\\newcommand\u003C/code\u003E; they are TeX expressions.}}\nThis appears in TeX expressions when \u003Ccode\u003E\\global\u003C/code\u003E is not followed by \u003Ccode\u003E\\let\u003C/code\u003E, \u003Ccode\u003E\\def\u003C/code\u003E, or \u003Ccode\u003E\\newcommand\u003C/code\u003E", - UndefinedColorModel: "An invalid color model is used for the \u003Ccode\u003E\\color\u003C/code\u003E command. Parameters:\n* %1 - the color model specified", - ModelArg1: "An invalid color value is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[RGB]{}{} \\)\u003C/code\u003E\n\nParameters:\n* %1 - color model name", - InvalidDecimalNumber: "An invalid decimal number is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[rgb]{,,}{} \\)\u003C/code\u003E.\n\nA valid decimal number is such as: 12, 12., 12.34, .34", - ModelArg2: "An out-of-range number is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[RGB]{256,,}{} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the color model e.g. \u003Ccode\u003ERGB\u003C/code\u003E\n* %2 - the lower bound of the valid interval e.g. 0 for the RGB color model\n* %3 - the upper bound of the valid interval e.g. 255 for the RGB color model", - InvalidNumber: "An invalid number is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[RGB]{,,}{} \\)\u003C/code\u003E.\n\nA valid number is such as: 123", - NewextarrowArg1: "Used when the first argument of \u003Ccode\u003E\\Newextarrow\u003C/code\u003E is invalid. Parameters:\n* %1 - the command name \u003Ccode\u003E\\Newextarrow\u003C/code\u003E", - NewextarrowArg2: "Used when the second argument of \u003Ccode\u003E\\Newextarrow\u003C/code\u003E is invalid. Parameters:\n* %1 - the command name \u003Ccode\u003E\\Newextarrow\u003C/code\u003E", - NewextarrowArg3: "Used when the third argument of \u003Ccode\u003E\\Newextarrow\u003C/code\u003E is invalid. Parameters:\n* %1 - the command name \u003Ccode\u003E\\Newextarrow\u003C/code\u003E", - NoClosingChar: "This is used in TeX mhchem expressions when a closing delimiters is missing e.g. \u003Ccode\u003E\\( \\ce{ -\u003E[ } \\)\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E)\u003C/code\u003E, \u003Ccode\u003E}\u003C/code\u003E, or \u003Ccode\u003E]\u003C/code\u003E", - IllegalControlSequenceName: "This appears when the \u003Ccode\u003E\\newcommand\u003C/code\u003E TeX command is given an illegal control sequence name.\n\nParameters:\n* %1 - \u003Ccode\u003E\\newcommand\u003C/code\u003E", - IllegalParamNumber: "This appears when the \u003Ccode\u003E\\newcommand\u003C/code\u003E TeX command is given an illegal number of parameters.\n\nParameters:\n* %1 - \u003Ccode\u003E\\newcommand\u003C/code\u003E", - MissingCS: "This appears when a TeX definitions is not followed by a control sequence e.g. \u003Ccode\u003E\\let INVALID\u003C/code\u003E.\n\nParameters:\n* %1 - may be commands like \u003Ccode\u003E\\let\u003C/code\u003E, \u003Ccode\u003E\\def\u003C/code\u003E, \u003Ccode\u003E\\newcommand\u003C/code\u003E, \u003Ccode\u003E\\global\u003C/code\u003E, etc.", - CantUseHash2: "This appears when the character '#' is incorrectly used in TeX definitions, e.g. \u003Ccode\u003E\\def\\mycommand{{red|#}}A\u003C/code\u003E.\n\nParameters:\n* %1 - the command used e.g. \u003Ccode\u003Emycommand\u003C/code\u003E", - SequentialParam: "This appears in TeX definitions when parameters are not numbered sequentially e.g. \u003Ccode\u003E\\def\\mycommand#2#1\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\def\u003C/code\u003E", - MissingReplacementString: "This appears in TeX definitions when you don't specify a replacement string e.g. \u003Ccode\u003E\\def\\mycommand\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\def\u003C/code\u003E", - MismatchUseDef: "This appears in TeX definitions when a TeX command does not match its definition e.g. \u003Ccode\u003E\\( \\def\\mycommand[#1]#2[#3]{#1+#2+#3} \\mycommand{a}{b}[c] \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\mycommand\u003C/code\u003E", - RunawayArgument: "This appears in TeX definitions when a TeX command does not match its definition e.g. \u003Ccode\u003E\\( \\def\\mycommand[#1][#2]#3{#1+#2+#3} \\mycommand[a]{b} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\mycommand\u003C/code\u003E", - NoClosingDelim: "This appears in TeX expressions when a \u003Ccode\u003E\\verb\u003C/code\u003E command is not closed e.g. \u003Ccode\u003E\\( \\verb?... \\)\u003C/code\u003E is missing a closing question mark.\n\nParameters:\n* %1 - the command name" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/qqq.js b/src/py/kaleido/vendor/mathjax/localization/qqq/qqq.js deleted file mode 100644 index 21ed79f3..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/qqq/qqq.js +++ /dev/null @@ -1,54 +0,0 @@ -/************************************************************* - * - * MathJax/localization/qqq/qqq.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("qqq",null,{ - menuTitle: "Message Documentation", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "This alert message is displayed when the MathJax cookie contains some data with URL or Config properties. These properties may be used to ask MathJax to perform actions during the Configuration phase: either loading a javascript file (URL property) or executing a configuration function (Config property). Note that the character '\\n' is used to specify new lines inside the alert box.", - MathProcessingError: "This message appears when a Javascript error happens during the processing of a mathematical element.", - MathError: "This message appears instead of 'Math Processing Error' when the obsolete Accessible configuration is used.", - LoadFile: "This appears in the MathJax message box when a file is loading. Parameters:\n* %1 - the file name\n{{Identical|Loading}}", - Loading: "This appears in the MathJax message box when a file is loading and the messageStyle configuration option is set to 'simple'.\n\nIt will be followed by growing sequence of dots to show the progress.\n{{Identical|Loading}}", - LoadFailed: "This appears in the MathJax message box when a file fails to load. Parameters:\n* %1 - the file name", - ProcessMath: "This appears in the MathJax message box during the conversion process from an input format (e.g., LaTeX, asciimath) to MathJax's internal format.\n\nParameters:\n* %1 - a percentage", - Processing: "This appears in the MathJax message box during the conversion process from an input format (e.g., LaTeX, asciimath) to MathJax's internal format when the messageStyle configuration option is set to 'simple'.\n\nIt will be followed by growing sequence of dots to show the progress.\n{{Identical|Processing}}", - TypesetMath: "This appears in the MathJax message box during the layout process of converting the internal format to the output format.\n\nParameters:\n* %1 - a percentage", - Typesetting: "This appears in the MathJax message box during the layout process of converting the internal format to the output format when the messageStyle configuration option is set to 'simple'.\n\nIt will be followed by growing sequence of dots to show the progress.", - MathJaxNotSupported: "This appears in the MathJax message box when MathJax determines the browser does not have adequate features.", - ErrorTips: "Debugging tips that appear in 'Show Math As' pop-ups if a rendering error occured." - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) {return 1}, - number: function (n) {return n} -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/qqq.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ru/FontWarnings.js deleted file mode 100644 index a9a0b1f8..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ru/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ru/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ru","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043D\u0430\u00A0\u044D\u0442\u043E\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435 \u0441\u00A0\u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0441\u0435\u0442\u0435\u0432\u044B\u0445 \u0448\u0440\u0438\u0444\u0442\u043E\u0432. \u0427\u0442\u043E\u0431\u044B\u00A0\u0443\u0441\u043A\u043E\u0440\u0438\u0442\u044C \u043F\u043E\u043A\u0430\u0437, \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0448\u0440\u0438\u0444\u0442\u044B \u043D\u0430\u00A0\u0412\u0430\u0448\u0435\u0439 \u043C\u0430\u0448\u0438\u043D\u0435.", - imageFonts: "MathJax \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0440\u0430\u0441\u0442\u0440\u043E\u0432\u044B\u0435 \u0448\u0440\u0438\u0444\u0442\u044B, \u0430\u00A0\u043D\u0435\u00A0\u0441\u0435\u0442\u0435\u0432\u044B\u0435 \u0438\u043B\u0438\u00A0\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435. \u042D\u0442\u043E \u0437\u0430\u043C\u0435\u0434\u043B\u044F\u0435\u0442 \u043F\u043E\u043A\u0430\u0437 \u0444\u043E\u0440\u043C\u0443\u043B, \u043A\u0440\u043E\u043C\u0435 \u0442\u043E\u0433\u043E, \u043E\u043D\u0438 \u043C\u043E\u0433\u0443\u0442 \u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C\u0441\u044F \u0441\u00A0\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u043C\u0435\u043D\u044C\u0448\u0438\u043C, \u0447\u0435\u043C\u00A0\u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u043F\u0440\u0438\u043D\u0442\u0435\u0440.", - noFonts: "MathJax \u043D\u0435\u00A0\u0441\u0443\u043C\u0435\u043B \u043F\u043E\u0434\u043E\u0431\u0440\u0430\u0442\u044C \u0448\u0440\u0438\u0444\u0442 \u0434\u043B\u044F\u00A0\u0432\u044B\u0432\u043E\u0434\u0430 \u0444\u043E\u0440\u043C\u0443\u043B, \u0430\u00A0\u0440\u0430\u0441\u0442\u0440\u043E\u0432\u044B\u0435 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u043E\u043D \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0441\u0438\u043C\u0432\u043E\u043B\u044B Unicode, \u0432\u00A0\u043D\u0430\u0434\u0435\u0436\u0434\u0435, \u0447\u0442\u043E\u00A0\u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0441\u043C\u043E\u0436\u0435\u0442 \u0438\u0445 \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C. \u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435, \u0438\u043B\u0438 \u0434\u0430\u0436\u0435 \u0432\u0441\u0435, \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043C\u043E\u0433\u0443\u0442 \u043D\u0435\u00A0\u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C\u0441\u044F.", - webFonts: "\u0411\u043E\u043B\u044C\u0448\u0430\u044F \u0447\u0430\u0441\u0442\u044C \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043E\u0432 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0441\u0435\u0442\u0435\u0432\u044B\u0435 \u0448\u0440\u0438\u0444\u0442\u044B. \u0415\u0441\u043B\u0438\u00A0\u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0438\u043B\u0438\u00A0\u0441\u043C\u0435\u043D\u0438\u0442\u044C \u0431\u0440\u0430\u0443\u0437\u0435\u0440, \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043C\u043E\u0433\u0443\u0442 \u0432\u044B\u0432\u043E\u0434\u0438\u0442\u044C\u0441\u044F \u043B\u0443\u0447\u0448\u0435.", - fonts: "MathJax \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0438\u043B\u0438 [STIX fonts](%1) \u0438\u043B\u0438 [MathJax TeX fonts](%2). \u0421\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u0438\u00A0\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u043E\u0434\u043D\u043E \u0438\u0437\u00A0\u0434\u0432\u0443\u0445, \u0447\u0442\u043E\u0431\u044B\u00A0\u0443\u043B\u0443\u0447\u0448\u0438\u0442\u044C \u0432\u044B\u0432\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B.", - STIXPage: "\u042D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F [STIX-\u0448\u0440\u0438\u0444\u0442\u043E\u0432](%1). \u0421\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0438 \u0448\u0440\u0438\u0444\u0442\u044B, \u0447\u0442\u043E\u0431\u044B \u0443\u043B\u0443\u0447\u0448\u0438\u0442\u044C \u0440\u0430\u0431\u043E\u0442\u0443 \u0441 MathJax.", - TeXPage: "\u042D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F [MathJax TeX-\u0448\u0440\u0438\u0444\u0442\u043E\u0432](%1). \u0421\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0438 \u0448\u0440\u0438\u0444\u0442\u044B, \u0447\u0442\u043E\u0431\u044B \u0443\u043B\u0443\u0447\u0448\u0438\u0442\u044C \u0440\u0430\u0431\u043E\u0442\u0443 \u0441 MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ru/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ru/HTML-CSS.js deleted file mode 100644 index d1604994..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ru/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ru/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ru","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0430 %1", - CantLoadWebFont: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442 %1", - FirefoxCantLoadWebFont: "Firefox \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u044B \u0441 \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u043E\u0433\u043E \u0445\u043E\u0441\u0442\u0430", - CantFindFontUsing: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0448\u0440\u0438\u0444\u0442 \u0441\u0440\u0435\u0434\u0438 %1", - WebFontsNotAvailable: "\u0412\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u044B \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B \u2014 \u0432\u043C\u0435\u0441\u0442\u043E \u043D\u0438\u0445 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C \u0448\u0440\u0438\u0444\u0442\u044B \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ru/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ru/HelpDialog.js deleted file mode 100644 index c3c8459f..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ru/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ru/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ru","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "\u041F\u043E\u043C\u043E\u0447\u044C \u043F\u043E MathJax", - MathJax: "*MathJax*\u00A0\u2014 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0430 \u043D\u0430\u00A0JavaScript, \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0449\u0430\u044F \u0432\u044B\u0432\u043E\u0434\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043D\u0430\u00A0\u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0445. \u0418\u0445\u00A0\u0447\u0438\u0442\u0430\u0442\u0435\u043B\u044F\u043C \u0434\u043B\u044F\u00A0\u044D\u0442\u043E\u0433\u043E \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435\u00A0\u043D\u0430\u0434\u043E \u0434\u0435\u043B\u0430\u0442\u044C.", - Browsers: "*\u0411\u0440\u0430\u0443\u0437\u0435\u0440\u044B*: MathJax \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0441\u043E\u00A0\u0432\u0441\u0435\u043C\u0438 \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u043C\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u043C\u0438, \u0432\u043A\u043B\u044E\u0447\u0430\u044F IE6+, Firefox 3+, Chrome 0.2+, Safari 2+. Opera 9.6+ \u0438\u00A0\u0431\u043E\u043B\u044C\u0448\u0438\u043D\u0441\u0442\u0432\u043E \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0445", - Menu: "*\u041C\u0435\u043D\u044E \u0444\u043E\u0440\u043C\u0443\u043B*: MathJax \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442 \u043A\u00A0\u0444\u043E\u0440\u043C\u0443\u043B\u0430\u043C \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E, \u0432\u044B\u0437\u044B\u0432\u0430\u0435\u043C\u043E\u0435 \u043F\u0440\u0430\u0432\u043E\u0439 \u043A\u043D\u043E\u043F\u043A\u043E\u0439 \u043C\u044B\u0448\u0438 \u0438\u043B\u0438\u00A0\u0449\u0435\u043B\u0447\u043A\u043E\u043C \u0441\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 Ctrl.", - ShowMath: "*\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u0443 \u043A\u0430\u043A* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0443\u0432\u0438\u0434\u0435\u0442\u044C \u0438\u00A0\u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u0432\u00A0\u0444\u043E\u0440\u043C\u0430\u0442\u0435 MathML \u0438\u043B\u0438\u00A0\u043F\u0435\u0440\u0432\u043E\u043D\u0430\u0447\u0430\u043B\u044C\u043D\u043E\u043C.", - Settings: "*\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442 \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044C \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438 MathJax, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0440\u0430\u0437\u043C\u0435\u0440 \u0444\u043E\u0440\u043C\u0443\u043B \u0438\u00A0\u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C \u0438\u0445\u00A0\u043F\u043E\u043A\u0430\u0437\u0430.", - Language: "*\u042F\u0437\u044B\u043A* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u044F\u0437\u044B\u043A \u043C\u0435\u043D\u044E \u0438\u00A0\u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 MathJax.", - Zoom: "*\u0423\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0435* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u0443.", - Accessibilty: "*\u0421\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438*: MathJax \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u044B \u0447\u0442\u0435\u043D\u0438\u044F, \u043E\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u044F \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u0434\u043B\u044F\u00A0\u0441\u043B\u0435\u043F\u044B\u0445 \u0438\u00A0\u0441\u043B\u0430\u0431\u043E\u0432\u0438\u0434\u044F\u0449\u0438\u0445.", - Fonts: "*\u0428\u0440\u0438\u0444\u0442\u044B*: MathJax \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u0435 \u0448\u0440\u0438\u0444\u0442\u044B, \u0435\u0441\u043B\u0438\u00A0\u043E\u043D\u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u044B \u043D\u0430\u00A0\u0412\u0430\u0448\u0435\u043C \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435, \u0432\u00A0\u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044E\u0442\u0441\u044F \u0441\u0435\u0442\u0435\u0432\u044B\u0435. \u041C\u044B \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C [STIX fonts](%1), \u0447\u0442\u043E\u0431\u044B\u00A0\u0443\u0441\u043A\u043E\u0440\u0438\u0442\u044C \u0432\u044B\u0432\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B.", - CloseDialog: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433 \u0441\u043F\u0440\u0430\u0432\u043A\u0438" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ru/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ru/MathML.js deleted file mode 100644 index c0e184ee..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ru/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ru/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ru","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 mglyph\u02D0 %1", - BadMglyphFont: "\u041F\u043B\u043E\u0445\u043E\u0439 \u0448\u0440\u0438\u0444\u0442: %1", - MathPlayer: "MathJax \u043D\u0435\u00A0\u0441\u043C\u043E\u0433 \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C MathPlayer.\n\n\u0415\u0441\u043B\u0438\u00A0MathPlayer \u043D\u0435\u00A0\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D, \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435. \u0415\u0441\u043B\u0438\u00A0\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D, \u0432\u0435\u0440\u043E\u044F\u0442\u043D\u043E, \u0412\u0430\u0448\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438 \u043D\u0435\u00A0\u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442 \u0437\u0430\u043F\u0443\u0441\u043A ActiveX. \u0412\u00A0\u043C\u0435\u043D\u044E \u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B|\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043E\u0431\u043E\u0437\u0440\u0435\u0432\u0430\u0442\u0435\u043B\u044F \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u043A\u043B\u0430\u0434\u043A\u0443 \u00AB\u0411\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C\u00BB, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443 \u00AB\u0414\u0440\u0443\u0433\u043E\u0439\u2026\u00BB \u0438\u00A0\u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E\u00A0\u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B ActiveX \u0438\u00A0\u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u0434\u0432\u043E\u0438\u0447\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430 \u0438\u00A0\u0441\u0446\u0435\u043D\u0430\u0440\u0438\u0435\u0432 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u044B.\n\n\u0421\u0435\u0439\u0447\u0430\u0441 \u0412\u044B \u0434\u043E\u043B\u0436\u043D\u044B \u0432\u0438\u0434\u0435\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043E\u0431\u00A0\u043E\u0448\u0438\u0431\u043A\u0430\u0445, \u0430\u00A0\u043D\u0435\u00A0\u0444\u043E\u0440\u043C\u0443\u043B\u044B.", - CantCreateXMLParser: "MathJax \u043D\u0435\u00A0\u0441\u043C\u043E\u0433 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0430\u0440\u0441\u0435\u0440 XML \u0434\u043B\u044F\u00A0MathML. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E\u00A0\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B ActiveX, \u043E\u0442\u043C\u0435\u0447\u0435\u043D\u043D\u044B\u0435 \u043A\u0430\u043A\u00A0\u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u044B\u0435 \u0434\u043B\u044F\u00A0\u0441\u043A\u0440\u0438\u043F\u0442\u043E\u0432, \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u044B (\u0412\u00A0\u043C\u0435\u043D\u044E \u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B|\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043E\u0431\u043E\u0437\u0440\u0435\u0432\u0430\u0442\u0435\u043B\u044F \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u043A\u043B\u0430\u0434\u043A\u0443 \u00AB\u0411\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C\u00BB, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443 \u00AB\u0414\u0440\u0443\u0433\u043E\u0439\u2026\u00BB).\n\nMathJax \u043D\u0435\u00A0\u0441\u043C\u043E\u0436\u0435\u0442 \u0432\u044B\u0432\u0435\u0441\u0442\u0438 \u0444\u043E\u0440\u043C\u0443\u043B\u044B MathML.", - UnknownNodeType: "\u041D\u0435\u0438\u0437\u043C\u0435\u0441\u0442\u043D\u044B\u0439 \u0442\u044D\u0433 %1", - UnexpectedTextNode: "\u0422\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u0439 \u0443\u0437\u0435\u043B %1 \u0432\u00A0\u044D\u0442\u043E\u043C \u043C\u0435\u0441\u0442\u0435 \u043D\u0435\u00A0\u043E\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044F", - ErrorParsingMathML: "\u041E\u0448\u0438\u0431\u043A\u0430 \u0440\u0430\u0437\u0431\u043E\u0440\u0430 MathML", - ParsingError: "\u041E\u0448\u0438\u0431\u043A\u0430 \u0440\u0430\u0437\u0431\u043E\u0440\u0430 MathML: %1", - MathMLSingleElement: "MathML \u0434\u043E\u043B\u0436\u0435\u043D \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u0438\u043D \u0442\u044D\u0433 \u003Cmath\u003E", - MathMLRootElement: "\u041A\u043E\u0440\u043D\u0435\u0432\u044B\u043C \u0443\u0437\u043B\u043E\u043C MathML \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u003Cmath\u003E, \u043D\u0435\u00A0%1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ru/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ru/MathMenu.js deleted file mode 100644 index a306352a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ru/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ru/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ru","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u0432\u00A0\u0432\u0438\u0434\u0435:", - MathMLcode: "\u041A\u043E\u0434 MathML", - OriginalMathML: "\u041E\u0440\u0438\u0433\u0438\u043D\u0430\u043B\u044C\u043D\u044B\u0439 MathML", - TeXCommands: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B TeX", - AsciiMathInput: "\u0412\u0432\u043E\u0434 AsciiMathML", - Original: "\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u0432\u0438\u0434", - ErrorMessage: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0435", - Annotation: "\u0410\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u044F", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "\u0421\u043C\u044B\u0441\u043B\u043E\u0432\u0430\u044F \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0430", - OpenMath: "OpenMath", - texHints: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0438 \u0438\u0437 TeX \u0432 MathML", - Settings: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 Math", - ZoomTrigger: "\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F", - Hover: "\u041F\u0440\u0438\u00A0\u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044F \u043C\u044B\u0448\u0438", - Click: "\u041F\u0440\u0438 \u0449\u0435\u043B\u0447\u043A\u0435 \u043C\u044B\u0448\u044C\u044E", - DoubleClick: "\u041F\u0440\u0438\u00A0\u0434\u0432\u043E\u0439\u043D\u043E\u043C \u0449\u0435\u043B\u0447\u043A\u0435 \u043C\u044B\u0448\u044C\u044E", - NoZoom: "\u0411\u0435\u0437 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F", - TriggerRequires: "\u041F\u0440\u0438\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 \u043A\u043B\u0430\u0432\u0438\u0448\u0435:", - Option: "Option", - Alt: "Alt", - Command: "Command", - Control: "Control", - Shift: "Shift", - ZoomFactor: "\u0423\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0435", - Renderer: "\u041E\u0442\u0440\u0438\u0441\u043E\u0432\u0449\u0438\u043A \u0444\u043E\u0440\u043C\u0443\u043B:", - MPHandles: "\u041F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u0449\u0435\u043B\u0447\u043A\u043E\u0432 \u043C\u044B\u0448\u044C\u044E MathPlayer", - MenuEvents: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0433\u043E \u043C\u0435\u043D\u044E", - MouseEvents: "\u0421\u043E\u0431\u044B\u0442\u0438\u044F \u043C\u044B\u0448\u0438", - MenuAndMouse: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0433\u043E \u043C\u0435\u043D\u044E \u0438 \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u043C\u044B\u0448\u0438", - FontPrefs: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0448\u0440\u0438\u0444\u0442\u043E\u0432", - ForHTMLCSS: "\u0414\u043B\u044F HTML-CSS:", - Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438", - TeXLocal: "TeX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435)", - TeXWeb: "TeX (\u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442)", - TeXImage: "TeX (\u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435)", - STIXLocal: "STIX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435)", - STIXWeb: "STIX (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", - AsanaMathWeb: "Asana Math (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", - GyrePagellaWeb: "Gyre Pagella (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", - GyreTermesWeb: "Gyre Termes (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", - LatinModernWeb: "Latin Modern (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", - NeoEulerWeb: "Neo Euler (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", - ContextMenu: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E", - Browser: "\u0411\u0440\u0430\u0443\u0437\u0435\u0440", - Scale: "\u0423\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C \u0432\u0441\u0435 \u0444\u043E\u0440\u043C\u0443\u043B\u044B\u2026", - Discoverable: "\u041F\u043E\u0434\u0441\u0432\u0435\u0442\u0438\u0442\u044C \u043F\u043E\u0434\u00A0\u043C\u044B\u0448\u044C\u044E", - Locale: "\u042F\u0437\u044B\u043A", - LoadLocale: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0441 URL-\u0430\u0434\u0440\u0435\u0441\u0430...", - About: "\u041E MathJax", - Help: "\u041F\u043E\u043C\u043E\u0449\u044C \u043F\u043E MathJax", - localTeXfonts: "\u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0445 \u0448\u0440\u0438\u0444\u0442\u043E\u0432 TeX", - webTeXfonts: "\u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u043E\u0432 TeX", - imagefonts: "\u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0448\u0440\u0438\u0444\u0442\u043E\u0432", - localSTIXfonts: "\u0441\u00A0\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u0432 STIX \u043D\u0430\u00A0\u044D\u0442\u043E\u0439 \u043C\u0430\u0448\u0438\u043D\u0435", - webSVGfonts: "\u0441\u00A0\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0441\u0435\u0442\u0435\u0432\u044B\u0445 SVG-\u0448\u0440\u0438\u0444\u0442\u043E\u0432", - genericfonts: "\u0441\u00A0\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C Unicod-\u0448\u0440\u0438\u0444\u0442\u043E\u0432 \u043F\u043E\u00A0\u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043D\u0430\u00A0\u044D\u0442\u043E\u0439 \u043C\u0430\u0448\u0438\u043D\u0435", - wofforotffonts: "\u0428\u0440\u0438\u0444\u0442\u044B WOFF \u0438\u043B\u0438\u00A0OTF", - eotffonts: "EOT-\u0448\u0440\u0438\u0444\u0442\u044B", - svgfonts: "SVG-\u0448\u0440\u0438\u0444\u0442\u044B", - WebkitNativeMMLWarning: "\u041F\u043E\u0445\u043E\u0436\u0435, \u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u0441\u043F\u043E\u0441\u043E\u0431\u0435\u043D \u0441\u0430\u043C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C MathML, \u043F\u043E\u044D\u0442\u043E\u043C\u0443\u00A0\u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0432\u00A0\u0440\u0435\u0436\u0438\u043C MathML \u043C\u043E\u0436\u0435\u0442 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043D\u0435\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u043C\u0438", - MSIENativeMMLWarning: "Internet Explorer \u043C\u043E\u0436\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C MathML \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u00A0\u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043F\u043B\u0430\u0433\u0438\u043D\u0430 MathPlayer.", - OperaNativeMMLWarning: "Opera \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u043D\u043E \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 MathML, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0432\u00A0\u0440\u0435\u0436\u0438\u043C\u0435 MathML \u0447\u0430\u0441\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u0432\u043E\u0434\u0438\u0442\u044C\u0441\u044F \u043F\u043B\u043E\u0445\u043E.", - SafariNativeMMLWarning: "\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C MathML \u0412\u0430\u0448\u0435\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043D\u0435\u00A0\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0441\u0435\u0445 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0445 MathJax \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0435\u0439, \u043F\u043E\u044D\u0442\u043E\u043C\u0443\u00A0\u0447\u0430\u0441\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C\u00A0\u0432\u044B\u0432\u0435\u0434\u0435\u043D\u0430 \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E.", - FirefoxNativeMMLWarning: "\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C MathML \u0412\u0430\u0448\u0435\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043D\u0435\u00A0\u0432\u0441\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0435 MathJax \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0447\u0430\u0441\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B \u043C\u043E\u0436\u0435\u0442 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E.", - MSIESVGWarning: "SVG \u043D\u0435\u00A0\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F Internet Explorer'\u043E\u043C \u0434\u043E\u00A0IE9 \u0438\u00A0\u0432\u00A0\u0440\u0435\u0436\u0438\u043C\u0435 \u044D\u043C\u0443\u043B\u044F\u0446\u0438\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 IE8 \u0438\u043B\u0438\u00A0\u043D\u0438\u0436\u0435. \u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0432\u00A0\u0440\u0435\u0436\u0438\u043C SVG \u043C\u043E\u0436\u0435\u0442 \u0432\u044B\u0437\u0432\u0430\u0442\u044C \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0444\u043E\u0440\u043C\u0443\u043B.", - LoadURL: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043D\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043F\u043E\u00A0\u0430\u0434\u0440\u0435\u0441\u0443:", - BadURL: "URL \u0434\u043E\u043B\u0436\u0435\u043D \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043D\u0430\u00A0\u0444\u0430\u0439\u043B JavaScript, \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u044E\u0449\u0438\u0439 \u043F\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043D\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F. \u0424\u0430\u0439\u043B\u044B JavaScript \u043E\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435\u043C \u00AB.js\u00BB", - BadData: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043D\u043D\u044B\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u043F\u043E\u00A0\u0430\u0434\u0440\u0435\u0441\u0443 %1 \u043D\u0435\u00A0\u0443\u0434\u0430\u043B\u0430\u0441\u044C", - SwitchAnyway: "\u0412\u0441\u0451 \u0440\u0430\u0432\u043D\u043E \u0441\u043C\u0435\u043D\u0438\u0442\u044C \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C \u043E\u0442\u0440\u0438\u0441\u043E\u0432\u043A\u0438 \u0444\u043E\u0440\u043C\u0443\u043B?\n\n(\u041D\u0430\u0436\u043C\u0438\u0442\u0435 OK \u0434\u043B\u044F\u00A0\u0441\u043C\u0435\u043D\u044B, \u041E\u0442\u043C\u0435\u043D\u0430, \u0447\u0442\u043E\u0431\u044B\u00A0\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0435\u0436\u043D\u0438\u0439)", - ScaleMath: "\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043C\u0430\u0441\u0448\u0442\u0430\u0431 \u0432\u0441\u0435\u0445 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0439 (\u043F\u043E \u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u044E \u0441 \u043E\u043A\u0440\u0443\u0436\u0430\u044E\u0449\u0438\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C) \u043D\u0430", - NonZeroScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0440\u0430\u0432\u0435\u043D \u043D\u0443\u043B\u044E", - PercentScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0432\u044B\u0440\u0430\u0436\u0435\u043D \u0432 \u043F\u0440\u043E\u0446\u0435\u043D\u0442\u0430\u0445 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 120%%)", - IE8warning: "\u042D\u0442\u043E \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E MathJax \u0438\u00A0\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F, \u043D\u043E\u00A0\u043C\u0435\u043D\u044E \u043F\u043E-\u043F\u0440\u0435\u0436\u043D\u0435\u043C\u0443 \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043F\u043E\u00A0\u0449\u0435\u043B\u0447\u043A\u0443 \u043C\u044B\u0448\u044C\u044E \u0441\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 Alt.\n\n\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 MathPlayer?", - IE9warning: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E MathJax \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u043D\u043E\u00A0\u043F\u043E \u0449\u0435\u043B\u0447\u043A\u0443 \u043C\u044B\u0448\u044C\u044E \u0441\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 Alt \u043E\u043D\u043E \u043F\u043E-\u043F\u0440\u0435\u0436\u043D\u0435\u043C\u0443 \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E.", - NoOriginalForm: "\u041D\u0435\u0442 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430", - Close: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", - EqSource: "\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u044B", - CloseAboutDialog: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433 \"\u041E \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0435\"", - FastPreview: "\u0411\u044B\u0441\u0442\u0440\u044B\u0439 \u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440", - AssistiveMML: "\u0412\u0441\u043F\u043E\u043C\u043E\u0433\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 MathML", - InTabOrder: "\u0412\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0432 \u043F\u043E\u0440\u044F\u0434\u043A\u0435 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ru/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ru/TeX.js deleted file mode 100644 index d8e50ccc..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ru/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ru/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ru","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u041B\u0438\u0448\u043D\u044F\u044F \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0430\u044F \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430", - ExtraCloseMissingOpen: "\u041B\u0438\u0448\u043D\u044F\u044F \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0430\u044F \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430", - MissingLeftExtraRight: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \\left \u0438\u043B\u0438 \u043B\u0438\u0448\u043D\u0438\u0439 \\right", - MissingScript: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430\u0434\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0439 \u0438\u043B\u0438 \u043F\u043E\u0434\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442", - ExtraLeftMissingRight: "\u041B\u0438\u0448\u043D\u0438\u0439 \\left \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \\right", - Misplaced: "%1 \u043D\u0435\u00A0\u043D\u0430\u00A0\u043C\u0435\u0441\u0442\u0435", - MissingOpenForSub: "\u041D\u0435\u0442\u00A0\u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0435\u0439 \u0441\u043A\u043E\u0431\u043A\u0438 \u0432\u00A0\u043D\u0438\u0436\u043D\u0435\u043C \u0438\u043D\u0434\u0435\u043A\u0441\u0435", - MissingOpenForSup: "\u041D\u0435\u0442\u00A0\u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0435\u0439 \u0441\u043A\u043E\u0431\u043A\u0438 \u0432\u00A0\u043D\u0438\u0436\u043D\u0435\u043C \u0438\u043D\u0434\u0435\u043A\u0441\u0435", - AmbiguousUseOf: "\u041D\u0435\u043E\u0434\u043D\u043E\u0437\u043D\u0430\u0447\u043D\u043E\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 %1", - EnvBadEnd: "\\begin{%1} \u0437\u0430\u043A\u0440\u044B\u0442\u043E \u0441\u00A0\u043F\u043E\u043C\u043E\u0449\u044C\u044E \\end{%2}", - EnvMissingEnd: "\u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D \\end{%1}", - MissingBoxFor: "\u0423\u00A0%1 \u043D\u0435\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E", - MissingCloseBrace: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430", - UndefinedControlSequence: "\u041D\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u0430\u044F \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0430\u044F \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C %1", - DoubleExponent: "\u0414\u0432\u043E\u0439\u043D\u0430\u044F \u044D\u043A\u0441\u043F\u043E\u043D\u0435\u043D\u0442\u0430: \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0441\u043A\u043E\u0431\u043A\u0438 \u0434\u043B\u044F \u0443\u0442\u043E\u0447\u043D\u0435\u043D\u0438\u044F", - DoubleSubscripts: "\u0414\u0432\u0430 \u043D\u0438\u0436\u043D\u0438\u0445 \u0438\u043D\u0434\u0435\u043A\u0441\u0430 \u043F\u043E\u0434\u0440\u044F\u0434: \u043F\u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0444\u0438\u0433\u0443\u0440\u043D\u044B\u0435 \u0441\u043A\u043E\u0431\u043A\u0438", - DoubleExponentPrime: "\u0428\u0442\u0440\u0438\u0445 \u043F\u043E\u0441\u043B\u0435\u00A0\u0432\u0435\u0440\u0445\u043D\u0435\u0433\u043E \u0438\u043D\u0434\u0435\u043A\u0441\u0430: \u0443\u0442\u043E\u0447\u043D\u0438\u0442\u0435, \u043A\u00A0\u0447\u0435\u043C\u0443 \u043E\u043D \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0441\u044F, \u0444\u0438\u0433\u0443\u0440\u043D\u044B\u043C\u0438 \u0441\u043A\u043E\u0431\u043A\u0430\u043C\u0438", - CantUseHash1: "\u0412\u00A0\u0440\u0435\u0436\u0438\u043C\u0435 \u00ABmath\u00BB \u043D\u0435\u043B\u044C\u0437\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0438\u043C\u0432\u043E\u043B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 \u043C\u0430\u043A\u0440\u043E\u0441\u0430 #", - MisplacedMiddle: "%1 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u043D\u0443\u0442\u0440\u0438 \\left \u0438\u00A0\\right", - MisplacedLimits: "%1 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u00A0\u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0430\u043C\u0438", - MisplacedMoveRoot: "%1 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u00A0\u043A\u043E\u0440\u043D\u044F\u0445", - MultipleCommand: "\u041D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E %1", - IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0446\u0435\u043B\u044B\u043C \u0447\u0438\u0441\u043B\u043E\u043C", - NotMathMLToken: "%1\u00A0\u2014 \u043D\u0435\u00A0\u0441\u0438\u043C\u0432\u043E\u043B MML", - InvalidMathMLAttr: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 MathML: %1", - UnknownAttrForElement: "%1\u00A0\u2014 \u043D\u0435\u00A0\u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0442\u0435\u0433\u0430 MML %2", - MaxMacroSub1: "\u041F\u0440\u0435\u0432\u044B\u0448\u0435\u043D\u043E \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u043E\u0434\u0441\u0442\u0430\u043D\u043E\u0432\u043E\u043A \u043C\u0430\u043A\u0440\u043E\u0441\u0430: \u043D\u0435\u00A0\u0440\u0435\u043A\u0443\u0440\u0441\u0438\u044F\u00A0\u043B\u0438 \u044D\u0442\u043E?", - MaxMacroSub2: "\u041F\u0440\u0435\u0432\u044B\u0448\u0435\u043D\u043E \u043F\u0440\u0435\u0434\u0435\u043B\u044C\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u043E\u0434\u0441\u0442\u0430\u043D\u043E\u0432\u043E\u043A MathJax. \u041D\u0435\u0442\u00A0\u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0438 \u0432\u00A0\u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0438 LaTeX?", - MissingArgFor: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1", - ExtraAlignTab: "\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u043D\u043E\u0433\u043E \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432 \u0432\u00A0\\cases", - BracketMustBeDimension: "\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C (?) %1 \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C", - InvalidEnv: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u044F \u00AB%1\u00BB", - UnknownEnv: "\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E\u0435 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0435 \u00AB%1\u00BB", - ExtraCloseLooking: "\u041B\u0438\u0448\u043D\u044F\u044F \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430, \u043A\u043E\u0433\u0434\u0430 \u043E\u0436\u0438\u0434\u0430\u043B\u0430\u0441\u044C %1", - MissingCloseBracket: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0443\u044E ']' \u0434\u043B\u044F \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0430 \u043A %1", - MissingOrUnrecognizedDelim: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043B\u0438 \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0434\u043B\u044F %1", - MissingDimOrUnits: "\u041D\u0435\u0442\u00A0\u0435\u0434\u0438\u043D\u0438\u0446\u044B \u0438\u0437\u043C\u0435\u0440\u0435\u043D\u0438\u044F \u0432\u00A0%1", - TokenNotFoundForCommand: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 %1 \u0434\u043B\u044F %2", - MathNotTerminated: "\u041D\u0435\u0437\u0430\u043A\u0440\u044B\u0442\u0430\u044F \u0444\u043E\u0440\u043C\u0443\u043B\u0430 \u0432\u00A0\\text{}", - IllegalMacroParam: "\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430\u00A0\u043D\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0439 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043C\u0430\u043A\u0440\u043E\u0441\u0430", - MaxBufferSize: "\u0418\u0441\u0447\u0435\u0440\u043F\u0430\u043D \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u0431\u0443\u0444\u0435\u0440 MathJax: \u043D\u0435\u0442\u00A0\u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u043E\u0433\u043E \u043C\u0430\u043A\u0440\u043E\u0441\u0430?", - CommandNotAllowedInEnv: "%1 \u043D\u0435\u00A0\u043F\u043E\u0437\u0432\u043E\u043B\u0435\u043D \u0432\u00A0\u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0438 %2", - MultipleLabel: "\u041C\u0435\u0442\u043A\u0430 \u00AB%1\u00BB \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0440\u0430\u0437", - CommandAtTheBeginingOfLine: "%1 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0432\u00A0\u043D\u0430\u0447\u0430\u043B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438", - IllegalAlign: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u0432\u00A0%1", - BadMathStyleFor: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0441\u0442\u0438\u043B\u044C \u0434\u043B\u044F\u00A0%1", - PositiveIntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0430\u0442\u0443\u0440\u0430\u043B\u044C\u043D\u044B\u043C \u0447\u0438\u0441\u043B\u043E\u043C", - ErroneousNestingEq: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440", - MultlineRowsOneCol: "\u0412 \u0441\u0442\u0440\u043E\u043A\u0430\u0445 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u044F %1 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043F\u043E\u00A0\u043E\u0434\u043D\u043E\u043C\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u0443", - MultipleBBoxProperty: "%1 \u0443\u043A\u0430\u0437\u0430\u043D\u043E \u0434\u0432\u0430\u0436\u0434\u044B \u0432 %2", - InvalidBBoxProperty: "'%1'\u00A0\u2014 \u043D\u0435\u00A0\u0446\u0432\u0435\u0442, \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u043E\u0442\u0441\u0442\u0443\u043F \u0438\u043B\u0438\u00A0\u0441\u0442\u0438\u043B\u044C", - ExtraEndMissingBegin: "\u041B\u0438\u0448\u043D\u0435\u0435 %1 \u0438\u043B\u0438\u00A0\u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E \\begingroup", - GlobalNotFollowedBy: "\u041F\u043E\u0441\u043B\u0435 %1 \u043D\u0435\u0442 \\let, \\def \u0438\u043B\u0438\u00A0\\newcommand", - UndefinedColorModel: "\u0426\u0432\u0435\u0442\u043E\u0432\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C \u00AB%1\u00BB \u043D\u0435\u00A0\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0430", - ModelArg1: "\u0426\u0432\u0435\u0442\u043E\u0432\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C %1 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u0440\u0451\u0445\u00A0\u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432", - InvalidDecimalNumber: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0434\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E", - ModelArg2: "\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432 \u0446\u0432\u0435\u0442\u0430 \u0432\u00A0\u043C\u043E\u0434\u0435\u043B\u0438 %1 \u0434\u043E\u043B\u0436\u043D\u044B \u0431\u044B\u0442\u044C \u043C\u0435\u0436\u0434\u0443 %2 \u0438 %3", - InvalidNumber: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0447\u0438\u0441\u043B\u043E", - NewextarrowArg1: "\u041F\u0435\u0440\u0432\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0430\u0431\u043E\u0440 \u043A\u043E\u043C\u0430\u043D\u0434", - NewextarrowArg2: "\u0412\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C %1 \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u043F\u0430\u0440\u0430 \u0446\u0435\u043B\u044B\u0445 \u0447\u0438\u0441\u0435\u043B, \u0440\u0430\u0437\u0434\u0435\u043B\u0451\u043D\u043D\u0430\u044F \u0437\u0430\u043F\u044F\u0442\u043E\u0439", - NewextarrowArg3: "\u0422\u0440\u0435\u0442\u044C\u0438\u043C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u043C %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043A\u043E\u0434 \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \u042E\u043D\u0438\u043A\u043E\u0434", - NoClosingChar: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0438\u0439 \u0441\u0438\u043C\u0432\u043E\u043B %1", - IllegalControlSequenceName: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B %1", - IllegalParamNumber: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 %1", - MissingCS: "\u041F\u043E\u0441\u043B\u0435 %1 \u0434\u043E\u043B\u0436\u043D\u044B \u0438\u0434\u0442\u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B", - CantUseHash2: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 # \u0432\u00A0\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0438 %1", - SequentialParam: "\u041D\u043E\u043C\u0435\u0440\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 %1 \u0434\u043E\u043B\u0436\u043D\u044B \u0431\u044B\u0442\u044C\u00A0\u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u044B", - MissingReplacementString: "\u041D\u0435\u0442\u00A0\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F %1", - MismatchUseDef: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0439 \u0432\u044B\u0437\u043E\u0432 %1", - RunawayArgument: "\u0412\u00A0\u0432\u044B\u0437\u043E\u0432\u0435 %1 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440?", - NoClosingDelim: "%1 \u043D\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ru/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/ru.js b/src/py/kaleido/vendor/mathjax/localization/ru/ru.js deleted file mode 100644 index b30c829a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/ru/ru.js +++ /dev/null @@ -1,62 +0,0 @@ -/************************************************************* - * - * MathJax/localization/ru/ru.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("ru",null,{ - menuTitle: "\u0440\u0443\u0441\u0441\u043A\u0438\u0439", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax \u043D\u0430\u0448\u043B\u0430 \u043A\u0443\u043A\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0439 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043A\u043E\u0434 \u0434\u043B\u044F \u0437\u0430\u043F\u0443\u0441\u043A\u0430. \u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0435\u0433\u043E?\n\n(\u0412\u044B \u0434\u043E\u043B\u0436\u043D\u044B \u043D\u0430\u0436\u0430\u0442\u044C \u041E\u0442\u043C\u0435\u043D\u0430, \u0435\u0441\u043B\u0438 \u0432\u044B \u0441\u0430\u043C\u043E\u0441\u0442\u043E\u044F\u0442\u0435\u043B\u044C\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u043B\u0438 \u0444\u0430\u0439\u043B \u043A\u0443\u043A\u0438).", - MathProcessingError: "\u041E\u0448\u0438\u0431\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438", - MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430", - LoadFile: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 %1", - Loading: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430", - LoadFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C: %1", - ProcessMath: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", - Processing: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430", - TypesetMath: "\u0412\u0451\u0440\u0441\u0442\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", - Typesetting: "\u0412\u0451\u0440\u0441\u0442\u043A\u0430", - MathJaxNotSupported: "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 MathJax", - ErrorTips: "\u0421\u043E\u0432\u0435\u0442\u044B \u043F\u043E \u043E\u0442\u043B\u0430\u0434\u043A\u0435: \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 %%1, \u0438\u0437\u0443\u0447\u0438\u0442\u0435 %%2 \u0432 \u043A\u043E\u043D\u0441\u043E\u043B\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n % 10 === 1 && n % 100 !== 11) return 1; // one - if (2 <= n % 10 && n % 10 <= 4 && 12 <= n % 100 && n % 100 <= 14) return 2; // few - if (n % 10 === 0 || (5 <= n % 10 && n % 10 <= 9) || - (11 <= n % 100 && n % 100 <= 14)) return 2; // many - return 3; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/ru/ru.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/scn/FontWarnings.js deleted file mode 100644 index 6061f211..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/scn/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/scn/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("scn","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax sta adupirannu tipi di car\u00E0ttiri scarricati di Internet p'ammmustrari la matim\u00E0tica nta sta p\u00E0ggina. Scarricari sti tipi si pigghia tempu, dunca sta p\u00E0ggina si purr\u00ECa mpagginari cchi\u00F9 viloci si li tipi di car\u00E0ttiri p\u00E2 matim\u00E0tica f\u00F9ssiru istallati direttamenti nt\u00E2 cartella d\u00EE car\u00E0ttiri d\u00FB t\u00F2 sistema.", - imageFonts: "MathJax sta adupirannu mm\u00E0ggini comu tipi di car\u00E0ttiri, mmeci di adupirari tipi di car\u00E0ttiri lucali o scarricati d'Internet. Stu fattu renni la mpagginazzioni cchi\u00F9 lenta d\u00FB s\u00F2litu, e quannu si stampa, la matim\u00E0tica purr\u00ECa nun aviri la risuluzzioni china cunzintuta d\u00E2 stampanti.", - noFonts: "MathJax nun potti attruvari nu tipu di car\u00E0ttiri bonu p'ammustrari la matim\u00E0tica, e mancu sunnu dispun\u00ECbbili mm\u00E0ggini fatti a tipi di car\u00E0ttiri; pi chistu sta ripiegannu a l'adupirari li car\u00E0ttiri Unicode, nt\u00E2 spiranza chi lu t\u00F2 browser \u00E8 capaci d'ammustr\u00E0rili. P\u00F2 \u00E8ssiri ca certi car\u00E0ttiri nun sp\u00F9ntanu boni, o nun sp\u00F9ntanu propia.", - webFonts: "Li cchi\u00F9 d\u00EE browser muderni pirm\u00E8ttinu di scarricari li tipi di car\u00E0ttiri d'Internet. Aggiurnannu lu t\u00F2 browser (o canci\u00E0nnulu) si purr\u00ECa migghiurari la qualit\u00E0 d\u00E2 matim\u00E0tica ca veni ammustrata nta sta p\u00E0ggina.", - fonts: "MathJax po fari usu o d\u00EE [tipi di car\u00E0ttiri STIX](%1) o d\u00EE [tipi di car\u00E0ttiri TeX MathJax](%2). Sc\u00E0rrica e istalla unu di sti tipi pi fari funziunari megghiu MathJax.", - STIXPage: "Sta p\u00E0ggina \u00E8 pruggittata pi fari usu d\u00EE [tipi di car\u00E0ttiri STIX](%1). Sc\u00E0rrica e istalla sti tipi pi fari funziunari megghiu MathJax.", - TeXPage: "Sta p\u00E0ggina \u00E8 pruggittata pi fari usu d\u00EE [tipi di car\u00E0ttiri TeX MathJax](%1). Sc\u00E0rrica e istalla sti tipi pi fari funziunari megghiu MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/scn/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/scn/HTML-CSS.js deleted file mode 100644 index c261e66c..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/scn/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/scn/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("scn","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Scarricamentu d\u00FB tipu di car\u00E0ttiri web %1", - CantLoadWebFont: "Nun si potti scarricari lu tipu di car\u00E0ttiri web %1", - FirefoxCantLoadWebFont: "Firefox nun p\u00F2 scarricari tipi di car\u00E0ttiri web di n'host rimotu", - CantFindFontUsing: "Nun si potti attruvari nu tipu di car\u00E0ttiri bonu tra %1", - WebFontsNotAvailable: "Li tipi di car\u00E0ttiri web nun sunnu dispun\u00ECbbili, \u00F4 s\u00F2 postu s'ad\u00F2piranu mm\u00E0ggini fatti a tipu di car\u00E0ttiri" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/scn/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/scn/HelpDialog.js deleted file mode 100644 index 87af24ff..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/scn/HelpDialog.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/scn/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("scn","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Guida di MathJax", - MathJax: "*MathJax* \u00E8 na libbrar\u00ECa JavaScript ca pirmetti a l'autura di m\u00E8ttiri f\u00F2rmuli matim\u00E0tichi nt\u00EA p\u00E0ggini web. Comu litturi, unu nun havi a fari nenti pi f\u00E0rilu funziunari.", - Browsers: "*Browser*: MathJax funziona cu tutti li browser muderni cumprisi IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e lu cchi\u00F9 d\u00EE browser purt\u00E0tili.", - Menu: "*Men\u00F9 d\u00EE f\u00F2rmuli*: MathJax agghiunci nu men\u00F9 cuntistuali nta tutti li f\u00F2rmuli matim\u00E0tichi. Si grapi cliccannu supra d\u00EE f\u00F2rmuli c\u00FB buttuni drittu o tinennu carcatu ctrl.", - ShowMath: "*Ammustra la f\u00F2rmula comu* pirmetti di taliari lu c\u00F2dici surgenti d\u00E2 f\u00F2rmula p\u00FB cupiari e ncuddari (sutta forma di MathML o nt\u00F4 s\u00F2 furmatu origginali).", - Settings: "*Mpustazzioni* duna cuntrollu supra d\u00EE carattir\u00ECstichi di MathJax, comu p'esempiu la grannizza d\u00EE f\u00F2rmuli e lu miccanismu adupiratu pi visualizz\u00E0rili.", - Language: "*Lingua* pirmetti di sc\u00E8gghiri la lingua adupirata di MathJax p\u00EE s\u00F2 men\u00F9 e p\u00EE s\u00F2 missagg\u00EE d'avvisu.", - Zoom: "*Zoom d\u00EE f\u00F2rmuli*: si veni diff\u00ECcili a l\u00E8ggiri na f\u00F2rmula, MathJax la p\u00F2 fari cchi\u00F9 granni pi f\u00E0rila v\u00ECdiri megghiu.", - Accessibilty: "*Accissibbilit\u00E0*: MathJax funziona autumaticamenti ch\u00EE littura di schermu pi r\u00E8nniri li f\u00F2rmuli matim\u00E0tichi acciss\u00ECbbili a cu havi prubblemi di vista.", - Fonts: "*Tipi di car\u00E0ttiri*: MathJax ad\u00F2pira certi tipi di car\u00E0ttiri matim\u00E0tici quannu l'attrova istallati nt\u00F4 computer; sinn\u00F2, ad\u00F2pira tipi di car\u00E0ttiri scarricati di Internet. Nun servi pi forza aviri li tipi di car\u00E0ttiri istallati lucalmenti, per\u00F2 renni la mpagginazzioni cchi\u00F9 viloci. Nui cunzigghiamu di istallari li [tipi di car\u00E0ttiri STIX](%1)." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/scn/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/MathML.js b/src/py/kaleido/vendor/mathjax/localization/scn/MathML.js deleted file mode 100644 index e4599e05..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/scn/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/scn/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("scn","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "mglyph sbagghiatu: %1", - BadMglyphFont: "Tipu di car\u00E0ttiri sbagghiatu: %1", - MathPlayer: "MathJax nun arrinisc\u00ECu a armari lu MathPlayer.\n\nSi lu MathPlayer nun \u00E8 istallatu, pi prima cosa s'havi a istallari.\nSinn\u00F2, li t\u00F2 mpustazzioni d\u00E2 sicurizza purr\u00ECanu nun pirm\u00E8ttiri lu funziunamentu\nd\u00EE cuntrolli ActiveX. Grapi la vuci \u00ABOpzioni Internet\u00BB nt\u00F4 men\u00F9 \u00ABStrummenti\u00BB e pigghia la linguetta \u00ABSicurizza\u00BB, e dd\u00E0 carca lu buttuni \u00ABLiveddu pirsunalizzatu...\u00BB. Cuntrolla ch\u00EE mpustazzioni \u00ABEsegui cuntrolli ActiveX e plug-in\u00BB e \u00ABCumpurtamentu file binari e script\u00BB sunnu attivati.\n\nComu a ora vidi missagg\u00EE d'erruri mmeci chi f\u00F2rmuli matim\u00E0tichi mpagginati", - CantCreateXMLParser: "MathJax nun p\u00F2 criari n'analizzaturi sint\u00E0tticu XML p\u00FB MathML. Cuntrolla chi \u00E8 attivata la mpustazzioni di sicurizza \u00ABEsegui script cuntrolli ActiveX contrassignati comu sicuri\u00BB (grapi la vuci \u00ABOpzioni Internet\u00BB nt\u00F4 men\u00F9 \u00ABStrummenti\u00BB, scegghi la linguetta \u00ABSicurizza\u00BB, e carca lu buttuni \u00ABLiveddu pirsunalizzatu...\u00BB p'attruvari sta mpustazzioni).\n\nL'equazzioni MathML nun ponnu \u00E8ssiri labburati di MathJax", - UnknownNodeType: "Tipu di gruppu scanusciutu: %1", - UnexpectedTextNode: "Gruppu di testu nun aspittatu: %1", - ErrorParsingMathML: "Erruri nta l'an\u00E0lisi d\u00FB MathML", - ParsingError: "Erruri nta l'an\u00E0lisi d\u00FB MathML: %1", - MathMLSingleElement: "Lu MathML havi a \u00E8ssiri furmatu di n'elimentu s\u00ECngulu", - MathMLRootElement: "Lu MathML havi a \u00E8ssiri furmatu di n'elimentu \u003Cmath\u003E, no %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/scn/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/scn/MathMenu.js deleted file mode 100644 index 6c97c9a2..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/scn/MathMenu.js +++ /dev/null @@ -1,107 +0,0 @@ -/************************************************************* - * - * MathJax/localization/scn/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("scn","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Ammustra la f\u00F2rmula sutta forma di", - MathMLcode: "C\u00F2dici MathML", - OriginalMathML: "MathML origginali", - TeXCommands: "Cumanni TeX", - AsciiMathInput: "Input AsciiMathML", - Original: "Forma origginali", - ErrorMessage: "Missaggiu d'erruri", - Annotation: "Annutazzioni", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "MathML d\u00FB cuntinutu", - OpenMath: "OpenMath", - texHints: "Ammustra suggirimenti TeX nt\u00F4 MathML", - Settings: "Mpustazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi", - ZoomTrigger: "Attivazzioni d\u00FB zoom", - Hover: "Passaggiu d\u00FB mouse", - Click: "Clic", - DoubleClick: "Duppiu clic", - NoZoom: "Zoom nenti", - TriggerRequires: "Pi l'attivazzioni ci voli:", - Option: "Opzioni", - Alt: "Alt", - Command: "Cumannu", - Control: "Ctrl", - Shift: "Mai\u00F9sc.", - ZoomFactor: "Fatturi di zoom", - Renderer: "Giniraturi d\u00E2 matim\u00E0tica", - MPHandles: "Lassa gistiri \u00F4 MathPlayer:", - MenuEvents: "L'eventi d\u00EE men\u00F9", - MouseEvents: "L'eventi d\u00FB mouse", - MenuAndMouse: "L'eventi d\u00FB mouse e d\u00EE men\u00F9", - FontPrefs: "Prifirenzi p\u00EE tipi di car\u00E0ttiri", - ForHTMLCSS: "Pi l'HTML-CSS:", - Auto: "Autum\u00E0ticu", - TeXLocal: "TeX (lucali)", - TeXWeb: "TeX (web)", - TeXImage: "TeX (mm\u00E0ggini)", - STIXLocal: "STIX (lucali)", - STIXWeb: "STIX (web)", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Men\u00F9 cuntistuali", - Browser: "Browser", - Scale: "Arridiminziona tutta la matim\u00E0tica...", - Discoverable: "Arrisaltari \u00F4 passaggiu d\u00FB mouse", - Locale: "Lingua", - LoadLocale: "Sc\u00E0rrica di l\u2019URL...", - About: "A prup\u00F2situ di MathJax", - Help: "Guida di MathJax", - localTeXfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri lucali TeX", - webTeXfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri web TeX", - imagefonts: "sta facennu usu d\u00EE mm\u00E0ggini fatti a tipi di car\u00E0ttiri", - localSTIXfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri lucali STIX", - webSVGfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri web SVG", - genericfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri Unicode gin\u00E8rici", - wofforotffonts: "Tipi di car\u00E0ttiri WOFF o OTF", - eotffonts: "Tipi di car\u00E0ttiri EOT", - svgfonts: "Tipi di car\u00E0ttiri SVG", - WebkitNativeMMLWarning: "Lu t\u00F2 browser nun pari ca supporta nativamenti lu MathML, dunca passannu a l'output MathML la matim\u00E0tica chi c'\u00E8 nt\u00E2 p\u00E0ggina purr\u00ECa addivintari nun ligg\u00ECbbili", - MSIENativeMMLWarning: "Internet Explorer havi bisognu d\u00FB plugin MathPlayer pi putiri labburari l'output MathML.", - OperaNativeMMLWarning: "Opera supporta lu MathML di manera limitata, dunca passannu a l'output MathML certi sprissioni matim\u00E0tichi ponnu cump\u00E0riri mali.", - SafariNativeMMLWarning: "Lu supportu d\u00FB t\u00F2 browser p\u00FB MathML nun mplimenta tutti li carattir\u00ECstichi d\u00EE quali MathJax fa usu, dunca certi sprissioni matim\u00E0tichi ponnu cump\u00E0riri mali.", - FirefoxNativeMMLWarning: "Lu supportu d\u00FB t\u00F2 browser p\u00FB MathML nun mplimenta tutti li carattir\u00ECstichi d\u00EE quali MathJax fa usu, dunca certi sprissioni matim\u00E0tichi ponnu cump\u00E0riri mali.", - MSIESVGWarning: "L'SVG nun \u00E8 mplimintatu nta Internet Explorer prima d\u00E2 virsioni 9, o quannu \u00E8mula la virsioni 8 e chiddi nfiriuri. Passannu a l'output SVG la matim\u00E0tica nun \u00E8 visualizzata bona.", - LoadURL: "Carricari li dati di traduzzioni di st'URL:", - BadURL: "L'URL avissi a cunt\u00E8niri nu file JavaScript ca difinisci li dati d\u00E2 traduzzioni di MathJax. \u003ELi noma d\u00EE file JavaScript av\u00ECssiru a finiri cu \u00AB.js\u00BB", - BadData: "Nun arrinisc\u00ECu lu scarricamentu d\u00EE dati d\u00E2 traduzzioni di %1", - SwitchAnyway: "Voi canciari lu giniraturi lu stissu?\n\n(Carca OK pi canciari, ANNULLA p'arristari c\u00FB giniraturi attuali)", - ScaleMath: "Arridiminziunari tutta la matim\u00E0tica (rispettu \u00F4 testu circustanti) di", - NonZeroScale: "Lu fatturi di scala nun havi a \u00E8ssiri zeru", - PercentScale: "Lu fatturi di scala havi a \u00E8ssiri na pircintuali (p'esempiu 120%%)", - IE8warning: "Sta cosa disattiva lu men\u00F9 di MathJax e li s\u00F2 funziunalit\u00E0 di zoom, pir\u00F2 si p\u00F2 sempri gr\u00E0piri lu men\u00F9 di MathJax cliccannu supra \u00EA sprissioni tinennu carcatu Alt.\n\nS\u00EE sicuru di vuliri canciari li mpustazzioni d\u00FB MathPlayer?", - IE9warning: "Veni disattivatu lu men\u00F9 cuntistuali di MathJax, chi pir\u00F2 si p\u00F2 sempri gr\u00E0piri cliccannu supra \u00EA sprissioni tinennu carcatu Alt.", - NoOriginalForm: "Nudda forma origginali \u00E8 dispun\u00ECbbili", - Close: "Chiudi", - EqSource: "Surgenti d\u00E2 f\u00F2rmula MathJax" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/scn/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/TeX.js b/src/py/kaleido/vendor/mathjax/localization/scn/TeX.js deleted file mode 100644 index bff12c28..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/scn/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/scn/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("scn","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Par\u00E8ntisi graffa graputa suverchia o par\u00E8ntisi graffa chiusa ammancanti", - ExtraCloseMissingOpen: "Par\u00E8ntisi graffa chiusa suverchia o par\u00E8ntisi graffa graputa ammancanti", - MissingLeftExtraRight: "Cumannu \\left ammancanti o cumannu \\right suverchiu", - MissingScript: "Argumentu ammancanti p\u00FB spunenti o p\u00FB dipunenti", - ExtraLeftMissingRight: "Cumannu \\left suverchiu o cumannu \\right ammancanti", - Misplaced: "%1 fora postu", - MissingOpenForSub: "Par\u00E8ntisi graffa graputa ammancanti p\u00FB dipunenti", - MissingOpenForSup: "Par\u00E8ntisi graffa graputa ammancanti p\u00F4 spunenti", - AmbiguousUseOf: "Cumannu %1 adupiratu di manera amb\u00ECgua", - EnvBadEnd: "Cumannu \\begin{%1} cunchiusu d\u00FB cumannu \\end{%2}", - EnvMissingEnd: "Cumannu \\end{%1} ammancanti", - MissingBoxFor: "Buatta ammancanti p\u00FB cumannu %1", - MissingCloseBrace: "Par\u00E8ntisi graffa chiusa ammancanti", - UndefinedControlSequence: "Siquenza di cuntrollu nun difinuta %1", - DoubleExponent: "Spunenti duppiu: adupirari li par\u00E8ntisi graffi pi chiariri", - DoubleSubscripts: "Dipunenti duppiu: adupirari li par\u00E8ntisi graffi pi chiariri", - DoubleExponentPrime: "Spunenti duppiu p\u00FB s\u00ECmmulu di primu: adupirari li par\u00E8ntisi graffi pi chiariri", - CantUseHash1: "Nun si p\u00F2 adupirari lu car\u00E0ttiri # comu par\u00E0mitru di macro nt\u00E2 mudalit\u00E0 matim\u00E0tica", - MisplacedMiddle: "Lu cumannu %1 s'havi a attruvari dintra d\u00EE cumanni \\left e \\right", - MisplacedLimits: "Lu cumannu %1 \u00E8 cunzintutu sulu nta l'opiratura", - MisplacedMoveRoot: "Lu cumannu %1 p\u00F2 cump\u00E0riri sulu sutta r\u00E0dici", - MultipleCommand: "%1 ripitutu", - IntegerArg: "L'argumentu d\u00FB cumannu %1 havi a \u00E8ssiri nu nteru", - NotMathMLToken: "%1 nun \u00E8 n'elimentu di token", - InvalidMathMLAttr: "Attribbutu MathML nun v\u00E0lidu: %1", - UnknownAttrForElement: "%1 nun \u00E8 n\u2019attribbutu ricanusciutu pi %2", - MaxMacroSub1: "Passatu lu n\u00F9mmiru m\u00E0ssimu di sustituzzioni di macro di MathJax; c'\u00E8 quarchi chiamata a macro ricursiva?", - MaxMacroSub2: "Passatu lu n\u00F9mmiru m\u00E0ssimu di sustituzzioni di MathJax; c'\u00E8 quarchi ambienti LaTeX ricursivu?", - MissingArgFor: "Argumentu d\u00FB cumannu %1 ammancanti", - ExtraAlignTab: "Tabbulazzioni d\u2019alliniamentu suverchia nt\u00F4 testu d\u00FB cumannu \\cases", - BracketMustBeDimension: "L'argumentu tra par\u00E8ntisi pi %1 havi a \u00E8ssiri na diminzioni", - InvalidEnv: "Nomu d'ambienti nun v\u00E0lidu \u00AB%1\u00BB", - UnknownEnv: "Ambienti scanusciutu \u00AB%1\u00BB", - ExtraCloseLooking: "Par\u00E8ntisi graffa chiusa suverchia quannu s'aspittava %1", - MissingCloseBracket: "Nun s'attrova la \u00AB]\u00BB chiusa pi l'argumentu di %1", - MissingOrUnrecognizedDelim: "Dilimitaturi pi %1 ammancanti o scanusciutu", - MissingDimOrUnits: "Diminzioni o s\u00F2 unit\u00E0 ammancanti p\u00FB cumannu %1", - TokenNotFoundForCommand: "Nun s'attrova lu s\u00ECmmulu %1 p\u00FB cumannu %2", - MathNotTerminated: "Matim\u00E0tica nun cunchiusa nt\u00E2 buatta di testu", - IllegalMacroParam: "Rifirimentu \u00F4n par\u00E0mitru di macro nun v\u00E0lidu", - MaxBufferSize: "Passatu lu l\u00ECmiti di grannizza d\u00FB buffer nternu di MathJax; c'\u00E8 quarchi chiamata a macro ricursiva?", - CommandNotAllowedInEnv: "Lu cumannu %1 nun \u00E8 cunzintutu nta l'ambienti %2", - MultipleLabel: "Etichetta \u00AB%1\u00BB difinuta cchi\u00F9 voti", - CommandAtTheBeginingOfLine: "%1 havi a stari \u00F4 principiu d\u00E2 riga", - IllegalAlign: "Alliniamentu nun v\u00E0lidu spicificatu nt\u00F4 cumannu %1", - BadMathStyleFor: "Stili matim\u00E0ticu nun v\u00E0lidu p\u00FB cumannu %1", - PositiveIntegerArg: "L'argumentu di %1 havi a \u00E8ssiri nu nteru pusitivu", - ErroneousNestingEq: "Annidamentu sbagghiatu d\u00EE strutturi d\u00E2 f\u00F2rmula", - MultlineRowsOneCol: "Nta l\u2019ambienti %1 li righi hannu a aviri na culonna e una sula", - MultipleBBoxProperty: "Prupit\u00E0 %1 spicificata dui voti nt\u00F4 cumannu %2", - InvalidBBoxProperty: "\u00AB%1\u00BB nun pari un culuri, na diminzioni di m\u00E0rgini nternu, o nu stili", - ExtraEndMissingBegin: "Cumannu %1 suverchiu o cumannu \\begingroup ammancanti", - GlobalNotFollowedBy: "Cumannu %1 nun siguitu d\u00FB cumannu \\let, \\def, o \\newcommand", - UndefinedColorModel: "Mudellu di culuri \u00AB%1\u00BB nun difinutu", - ModelArg1: "Li valura di culuri p\u00FB mudellu %1 sunnu fatti di 3 n\u00F9mmira", - InvalidDecimalNumber: "N\u00F9mmiru dicimali nun v\u00E0lidu", - ModelArg2: "Li valura di culuri p\u00FB mudellu %1 hannu a \u00E8ssiri tra %2 e %3", - InvalidNumber: "N\u00F9mmiru nun v\u00E0lidu", - NewextarrowArg1: "Lu primu argumentu d\u00FB cumannu %1 havi a \u00E8ssiri lu nomu di na siquenza di cuntrollu", - NewextarrowArg2: "Lu secunnu argumentu d\u00FB cumannu %1 hannu a \u00E8ssiri dui nteri spartuti di na v\u00ECrgula", - NewextarrowArg3: "Lu terzu argumentu d\u00FB cumannu %1 havi a \u00E8ssiri nu n\u00F9mmiru di car\u00E0ttiri Unicode", - NoClosingChar: "Ammanca la %1 di chiusura", - IllegalControlSequenceName: "Nomu di siquenza di cuntrollu nun v\u00E0lidu p\u00FB cumannu %1", - IllegalParamNumber: "N\u00F9mmiru di par\u00E0mitri nun v\u00E0lidu spicificatu nt\u00F4 cumannu %1", - MissingCS: "Lu cumannu %1 havi a \u00E8ssiri siguitu di na siquenza di cuntrollu", - CantUseHash2: "Usu nun cunzintutu d\u00FB car\u00E0ttiri # nt\u00F4 mudellu d\u00FB cumannu %1", - SequentialParam: "Li par\u00E0mitri d\u00FB cumannu %1 hannu a \u00E8ssiri nummirati n siquenza", - MissingReplacementString: "Stringa di rimpiazzu ammancanti nt\u00E2 difinizzioni d\u00FB cumannu %1", - MismatchUseDef: "L'usu d\u00FB cumannu %1 nun currispunni \u00E2 s\u00F2 difinizzioni", - RunawayArgument: "Argumentu d\u00FB cumannu %1 pirdutu?", - NoClosingDelim: "Nun s'attrova lu dilimitaturi di chiusura p\u00FB cumannu %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/scn/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/scn.js b/src/py/kaleido/vendor/mathjax/localization/scn/scn.js deleted file mode 100644 index 63680751..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/scn/scn.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/scn/scn.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("scn",null,{ - menuTitle: "sicilianu", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "Erruri nt\u00E2 labburazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi", - MathError: "Erruri nt\u00E2 matim\u00E0tica", - LoadFile: "Carricamentu di %1", - Loading: "Carricamentu", - LoadFailed: "Nun arrinisc\u00ECu lu carricamentu di: %1", - ProcessMath: "Labburazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi: %1%%", - Processing: "Labburazzioni", - TypesetMath: "Mpagginazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi: %1%%", - Typesetting: "Mpagginazzioni", - MathJaxNotSupported: "Lu t\u00F2 browser nun supporta MathJax" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return String(n).replace(".", ","); // replace dot by comma - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/scn/scn.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sco/FontWarnings.js deleted file mode 100644 index 38d18916..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sco/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sco/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sco","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax is uisin wab-based fonts tae displey the mathematics oan this page. Thir tak time tae doonlaid, sae the page wid render faster gif ye installed maths fonts directlie in yer system's font fauder.", - imageFonts: "MathJax is uisin its eemage fonts insteid o local or wab-based fonts. This will render slawer than uisual, n the mathematics micht no prent at the ful resolution o yer prenter.", - noFonts: "MathJax is onable tae locate ae font tae uise tae displey its mathematics, n eemage fonts ar no available, sae it is fallin back oan generic Unicode chairacters in hopes that yer brouser will be able tae displey thaim. Some chairacters michtna shaw up properlie, or possiblie no at aw.", - webFonts: "Maist modern brousers permit fonts tae be doonlaided ower the wab. Updatin til ae mair recent version o yer brouser (or chyngin brousers) coud impruiv the qualitie o the mathematics oan this page.", - fonts: "MathJax can uise either the [STIX fonts](%1) or the [MathJax TeX fonts](%2). Doonlaid n install yin o thae fonts tae impruiv yer MathJax experience.", - STIXPage: "This page is designed tae uise the [STIX fonts](%1). Doonlaid n install thae fonts tae impruiv yer MathJax experience.", - TeXPage: "This page is designed tae uise the [MathJax TeX fonts](%1). Doonlaid n install thae fonts tae impruiv yer MathJax experiance." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sco/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sco/HTML-CSS.js deleted file mode 100644 index 6b13e18e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sco/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sco/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sco","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Laidin wab font %1", - CantLoadWebFont: "Canna laid wab font %1", - FirefoxCantLoadWebFont: "Firefox canna laid wab fonts fae ae remote host", - CantFindFontUsing: "Canna fynd ae valid font uisin %1", - WebFontsNotAvailable: "Wab fonts no available. Uisin eimage fonts instead" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sco/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sco/HelpDialog.js deleted file mode 100644 index 0780e4ff..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sco/HelpDialog.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sco/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sco","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax Heelp", - MathJax: "*MathJax* is ae JavaScreept librairie that allous page authers tae incluid mathematics wiin thair wab pages. Aes ae reader, ye dinna need tae dae oniething tae mak that happen.", - Browsers: "*Brousers*: MathJax warks wi aw modern brousers incluidin IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ n maist mobile brousers.", - Menu: "*Maths menu*: MathJax adds ae contextual menu til equations. Richt-clap or Ctrl-clap oan onie mathematics tae access the menu.", - ShowMath: "*Shaw maths aes* Permits ye tae view the formula's soorce maurkup fer copie \u0026 paste (aes MathML or in its oreeginal format).", - Settings: "*Settins* gies ye control ower features o MathJax, lik the size o the mathematics, n the mechanism uised tae displey equations.", - Language: "*Leid* lets ye select the leid uised bi MathJax fer its menus n warnishment messages.", - Zoom: "*Maths zuim*: Gif ye'r haein difficultie readin aen equation, MathJax can mak it mair muckle tae heelp ye see it better.", - Accessibilty: "*Accessibeelitie*: MathJax will aut\u00E6maticlie wark wi screen readers tae mak mathematics accessible til the veesuallie impaired.", - Fonts: "*Fonts*: MathJax will uise certain maths fonts gif thay ar installed oan yer computer; itherwise, it will uise wab-based fonts. Awthough no needit, locallie installed fonts will speed up typesettin. We suggest installin the [STIX fonts](%1)." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sco/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sco/MathML.js deleted file mode 100644 index d85e8ea2..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sco/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sco/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sco","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "Bad mglyph: %1", - BadMglyphFont: "Bad font: %1", - MathPlayer: "MathJax wisna able tae set up MathPlayer.\n\nGif MathPlayer isna installed, than ye need tae install it first.\nItherwise, yer securitie settins micht be preventin ActiveX\ncontrols fae rinnin. Uise the Internet Opties eetem unner\nthe Tuilkist menu n select the Securitie tab, than press the\nCustom Level button. Check that the settins fer\n'Rin ActiveX Controls', n 'Binarie n screept behaviors'\nar enabled.\n\nOan the nou ye'll see mistak messages insteid o typeset mathematics", - CantCreateXMLParser: "MathJax canna creaut aen XML parser fer MathML. Check that\nthe 'Screept ActiveX controls maurkit safe fer screeptin' securitie\nsettin is enabled (uise the Internet Opties eetem in the Tuils menu, n select the Securitie panel, than press the Custom Level button tae check this).\n\nMathML equations will no be able tae be processed bi MathJax", - UnknownNodeType: "Onkent node type: %1", - UnexpectedTextNode: "Onexpected tex node: %1", - ErrorParsingMathML: "Mistak parsin MathML", - ParsingError: "Mistak parsin MathML: %1", - MathMLSingleElement: "MathML maun be formed bi ae single element", - MathMLRootElement: "MathML maun be formed bi ae \u003Cmath\u003E element, no %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sco/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sco/MathMenu.js deleted file mode 100644 index e79d9992..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sco/MathMenu.js +++ /dev/null @@ -1,107 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sco/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sco","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Shaw maths aes", - MathMLcode: "MathML code", - OriginalMathML: "Oreeginal MathML", - TeXCommands: "TeX commauns", - AsciiMathInput: "AsciiMathML input", - Original: "Oreeginal form", - ErrorMessage: "Mistak message", - Annotation: "Annotation", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "Content MathML", - OpenMath: "OpenMath", - texHints: "Shaw TeX hints in MathML", - Settings: "Maths settins", - ZoomTrigger: "Zuim trigger", - Hover: "Hover", - Click: "Clap", - DoubleClick: "Dooble-clap", - NoZoom: "Naw zuim", - TriggerRequires: "Trigger needs:", - Option: "Optie", - Alt: "Alt", - Command: "Commaun", - Control: "Control", - Shift: "Shift", - ZoomFactor: "Zuim facter", - Renderer: "Maths renderer", - MPHandles: "Let MathPlayer haunle:", - MenuEvents: "Menu events", - MouseEvents: "Moose events", - MenuAndMouse: "Moose n menu events", - FontPrefs: "Font preferences", - ForHTMLCSS: "Fer HTML-CSS:", - Auto: "Aut\u00E6", - TeXLocal: "TeX (local)", - TeXWeb: "TeX (wab)", - TeXImage: "TeX (eimage)", - STIXLocal: "STIX (local)", - STIXWeb: "STIX (wab)", - AsanaMathWeb: "Asana Math (wab)", - GyrePagellaWeb: "Gyre Pagella (wab)", - GyreTermesWeb: "Gyre Termes (wab)", - LatinModernWeb: "Latin Modern (wab)", - NeoEulerWeb: "Neo Euler (wab)", - ContextMenu: "Contextual menu", - Browser: "Brouser", - Scale: "Scale aw maths ...", - Discoverable: "Heilicht oan hover", - Locale: "Leid", - LoadLocale: "Laid fae URL ...", - About: "Aneat MathJax", - Help: "MathJax heelp", - localTeXfonts: "uisin local TeX fonts", - webTeXfonts: "uisin wab TeX font", - imagefonts: "uisin Eimage fonts", - localSTIXfonts: "uisin local STIX fonts", - webSVGfonts: "uisin wab SVG fonts", - genericfonts: "uisin generic Unicode fonts", - wofforotffonts: "WOFF or OTF fonts", - eotffonts: "EOT fonts", - svgfonts: "SVG fonts", - WebkitNativeMMLWarning: "Yer brouser disna seem tae support MathML nateevelie, sae switchin tae MathML ootput micht cause the mathematics oan the page tae become onreadable", - MSIENativeMMLWarning: "Internet Explorer needs the MathPlayer plug-in fer tae process MathML ootput.", - OperaNativeMMLWarning: "Opera's support fer MathML is leemitit, sae switchin tae MathML ootput micht cause some expressions tae render puirlie.", - SafariNativeMMLWarning: "Yer brouser's native MathML disna implement aw the features uised bi MathJax, sae some expressions michtna render properlie.", - FirefoxNativeMMLWarning: "Yer brouser's native MathML disna implement aw the features uised bi MathJax, sae some expressions michtna render properlie.", - MSIESVGWarning: "SVG isna implemented in Internet Explorer prior til IE9 or whan it's emulating IE8 or ablo. Switchin til SVG ootput will cause the mathematics tae no displey properlie.", - LoadURL: "Laid owersetin data fae this URL:", - BadURL: "The URL shid be fer ae JavaScript file that defines MathJax owersetin data. JavaScript file names shid end wi '.js'", - BadData: "Failed tae laid owersetin data fae %1", - SwitchAnyway: "Switch the renderer oniewas?\n\n(Press OK tae switch, CANCEL tae continue wi the current renderer)", - ScaleMath: "Scale aw mathematics (compared til surroondin tex) bi", - NonZeroScale: "The scale shidna be zero", - PercentScale: "The scale shid be ae percentage (fer example 120%%)", - IE8warning: "This will disable the MathJax menu n zuim features, but ye can Alt-Clap oan aen expression tae obtain the MathJax menu insteid.\n\nReallie want tae chynge the MathPlayer settins?", - IE9warning: "The MathJax contextual menu will be disabled, but ye can Alt-Clap oan aen expression tae obtain the MathJax menu insteid.", - NoOriginalForm: "Naw oreeginal form available", - Close: "Claise", - EqSource: "MathJax Equation Soorce" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sco/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sco/TeX.js deleted file mode 100644 index 0fdd6ed9..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sco/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sco/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sco","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Eixtra apen brace or missin claise bracket", - ExtraCloseMissingOpen: "Eixtra claise brace or missin apen bracket", - MissingLeftExtraRight: "Missin \\left or eixtra \\right", - MissingScript: "Missin superscreept or subscreept argument", - ExtraLeftMissingRight: "Eixtra \\left or missin \\right", - Misplaced: "Misplaced %1", - MissingOpenForSub: "Missin apen bracket fer subscreept", - MissingOpenForSup: "Missin apen bracket fer superscreept", - AmbiguousUseOf: "Ambeeguous uise o %1", - EnvBadEnd: "\\begin{%1} ended wi \\end{%2}", - EnvMissingEnd: "Missin \\end{%1}", - MissingBoxFor: "Missin kist fer %1", - MissingCloseBrace: "Missin claise bracket", - UndefinedControlSequence: "Ondefined control sequence %1", - DoubleExponent: "Dooble exponent: uise brackets tae clarifie", - DoubleSubscripts: "Dooble subscreepts: uise brackets tae clarifie", - DoubleExponentPrime: "Prime causes dooble exponent: Uise brackets tae clarifie", - CantUseHash1: "Ye canna uise 'macro parameter chairacter #' in maths mode", - MisplacedMiddle: "%1 mau be wiin \\left n \\right", - MisplacedLimits: "%1 is yinlie permited oan operaters", - MisplacedMoveRoot: "%1 can yinlie appear wiin ae ruit", - MultipleCommand: "Multiple %1", - IntegerArg: "The aurgument til %1 mau be aen integer", - NotMathMLToken: "%1 isna ae token element", - InvalidMathMLAttr: "Onvalid MathML attreebute: %1", - UnknownAttrForElement: "%1 isna ae recognized attribute fer %2", - MaxMacroSub1: "MathJax mucklest macro substitution coont exceeded; is thaur ae recursive macro caw?", - MaxMacroSub2: "MathJax mucklest substitution coont exceeded; is thaur ae recursive LaTeX environment?", - MissingArgFor: "Missin aurgument fer %1", - ExtraAlignTab: "Eixtra alignment tab in \\cases tex", - BracketMustBeDimension: "Bracket aurgument til %1 maun be ae dimension", - InvalidEnv: "Onvalid environment name '%1'", - UnknownEnv: "Onkent environment '%1'", - ExtraCloseLooking: "Eixtra claise bracket while luikin fer %1", - MissingCloseBracket: "Coudna fynd claisin ']' fer aurgument til %1", - MissingOrUnrecognizedDelim: "Missin or onrecognized delimiter fer %1", - MissingDimOrUnits: "Missin dimension or its units fer %1", - TokenNotFoundForCommand: "Coudna fynd %1 fer %2", - MathNotTerminated: "Maths no terminated in tex kist", - IllegalMacroParam: "Onlegal macro parameter reference", - MaxBufferSize: "MathJax internal buffer size exceeded; is thaur ae recursive macro caw?", - CommandNotAllowedInEnv: "%1 no permited in %2 environment", - MultipleLabel: "Label '%1' multiplie defined", - CommandAtTheBeginingOfLine: "%1 maun come at the beginnin o the line", - IllegalAlign: "Onlegal alignment speceefied in %1", - BadMathStyleFor: "Puir maths style fer %1", - PositiveIntegerArg: "Argument til %1 maun be ae positeeve integer", - ErroneousNestingEq: "Mistaken nestin o equation structures", - MultlineRowsOneCol: "The lines wiin the %1 environment maun hae exactlie yin column", - MultipleBBoxProperty: "%1 speceefied twice in %2", - InvalidBBoxProperty: "'%1' disna luik like ae colour, ae paddin dimension, or ae style", - ExtraEndMissingBegin: "Eixtra %1 or missin \\begingroup", - GlobalNotFollowedBy: "%1 isna follaed bi \\let, \\def, or \\newcommand", - UndefinedColorModel: "Colour model '%1' no defined", - ModelArg1: "Colour values fer the %1 model need 3 nummers", - InvalidDecimalNumber: "Onvalid decimal nummer", - ModelArg2: "Colour values fer the %1 model maun be atween %2 n %3", - InvalidNumber: "Onvalid nummer", - NewextarrowArg1: "Foremait argument til %1 maun be ae control sequence name", - NewextarrowArg2: "Seicont argument til %1 maun be twa integers separated bi ae comma", - NewextarrowArg3: "Third argument til %1 maun be ae Unicode chairacter nummer", - NoClosingChar: "Canna fynd claisin %1", - IllegalControlSequenceName: "Onlegal control sequence name fer %1", - IllegalParamNumber: "Onlegal nummer o parameters speceefied in %1", - MissingCS: "%1 maun be follaeed bi ae control sequence", - CantUseHash2: "Onlegal uiss o # in template fer %1", - SequentialParam: "Parameters fer %1 maun be nummer't sequentiallie", - MissingReplacementString: "Missin replacement string fer defineetion o %1", - MismatchUseDef: "Uiss o %1 disna match its defineetion", - RunawayArgument: "Rinawa argument fer %1?", - NoClosingDelim: "Canna fynd claisin delimiter fer %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sco/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/sco.js b/src/py/kaleido/vendor/mathjax/localization/sco/sco.js deleted file mode 100644 index d7b2b69b..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sco/sco.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sco/sco.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sco",null,{ - menuTitle: "scots", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "Maths processin mistak", - MathError: "Maths mistak", - LoadFile: "Laidin %1", - Loading: "Laidin", - LoadFailed: "File failed tae laid: %1", - ProcessMath: "Processin maths: %1%%", - Processing: "Processin", - TypesetMath: "Typesettin maths: %1%%", - Typesetting: "Typesettin", - MathJaxNotSupported: "Yer brouser disna support MathJax" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sco/sco.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sk/FontWarnings.js deleted file mode 100644 index 9565bf29..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sk/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sk/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sk","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax pou\u017E\u00EDva k zobrazeniu matematiky na tejto str\u00E1nke webov\u00E9 p\u00EDsma. T\u00FDm trv\u00E1 stiahnutie nejak\u00FA dobu, tak\u017Ee str\u00E1nka by sa vykreslila r\u00FDchlej\u0161ie, ak by ste si tieto matematick\u00E9 p\u00EDsma nain\u0161talovali priamo do syst\u00E9movej zlo\u017Eky p\u00EDsiem.", - imageFonts: "MathJax pou\u017E\u00EDva namiesto miestnych alebo webov\u00FDch p\u00EDsiem obr\u00E1zkov\u00E9 p\u00EDsmo. Preto bude vykres\u013Eovanie pomal\u0161ie ako je obvykl\u00E9 a pri tla\u010Di na Va\u0161ej tla\u010Diarni mo\u017Eno nebude matematika vykreslen\u00E1 v najlep\u0161om rozl\u00ED\u0161en\u00ED.", - noFonts: "MathJax nedok\u00E1\u017Ee n\u00E1js\u0165 p\u00EDsmo, ktor\u00FDm by vykreslil matematiku, a obr\u00E1zkov\u00E9 p\u00EDsma nie s\u00FA k dispoz\u00EDcii, tak\u017Ee sa bude pou\u017E\u00EDva\u0165 be\u017En\u00E9 znaky Unicode v n\u00E1deji, \u017Ee ich v\u00E1\u0161 prehliada\u010D dok\u00E1\u017Ee zobrazi\u0165. Niektor\u00E9 znaky sa mo\u017Eno nezobrazia spr\u00E1vne alebo dokonca v\u00F4bec.", - webFonts: "V\u00E4\u010D\u0161ina modern\u00FDch prehliada\u010Dov umo\u017E\u0148uje stiahnutie p\u00EDsiem cez web. Aktualiz\u00E1cia na nov\u0161iu verziu prehliada\u010Da (alebo zmena prehliada\u010Da) by mohla zlep\u0161i\u0165 zobrazenie matematiky na tejto str\u00E1nke.", - fonts: "MathJax m\u00F4\u017Ee pou\u017E\u00EDva\u0165 bu\u010F [p\u00EDsma STIX](%1) alebo [MathJaxov\u00E9 TeXov\u00E9 p\u00EDsma](%2). Stiahnite a nain\u0161talujte si jedny z nich, aby ste si MathJax u\u017Eili lep\u0161ie.", - STIXPage: "Tato str\u00E1nka je vytvoren\u00E1 na pou\u017Eitie s [p\u00EDsmami STIX](%1). Stiahnite a nain\u0161talujte si tieto p\u00EDsma, aby ste si lep\u0161ie u\u017Eili MathJax.", - TeXPage: "Tato str\u00E1nka je vytvoren\u00E1 na pou\u017Eitie s [MathJaxov\u00FDmi TeXov\u00FDmi p\u00EDsmy](%1). Pre lep\u0161ie vyu\u017E\u00EDvanie MathJaxu si stiahnite a nain\u0161talujte tieto p\u00EDsma." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sk/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sk/HTML-CSS.js deleted file mode 100644 index d71bae50..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sk/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sk/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sk","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Na\u010D\u00EDtava sa webov\u00FD font %1", - CantLoadWebFont: "Nepodarilo sa na\u010D\u00EDta\u0165 webov\u00FD font %1", - FirefoxCantLoadWebFont: "Firefox nedok\u00E1\u017Ee na\u010D\u00EDta\u0165 webov\u00E9 fonty zo vzdialen\u00E9ho hostite\u013Ea", - CantFindFontUsing: "Nepodarilo sa n\u00E1js\u0165 platn\u00FD font pomocou %1", - WebFontsNotAvailable: "Webov\u00E9 fonty nie s\u00FA k dispoz\u00EDcii. Namiesto toho s\u00FA pou\u017Eit\u00E9 obr\u00E1zkov\u00E9 fonty." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sk/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sk/HelpDialog.js deleted file mode 100644 index 380c1943..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sk/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sk/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sk","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Pomoc k MathJaxu", - MathJax: "*MathJax* je JavaScriptov\u00E1 kni\u017Enica, ktor\u00E1 autorom str\u00E1nok umo\u017E\u0148uje zahrn\u00FA\u0165 do str\u00E1nok matematiku. Ako \u010Ditate\u013E sa nemus\u00EDte o ni\u010D stara\u0165.", - Browsers: "*Prehliada\u010De*: MathJax pracuje vo v\u0161etk\u00FDch modern\u00FDch prehliada\u010Doch, vr\u00E1tane IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ a v\u00E4\u010D\u0161ine mobiln\u00FDch prehliada\u010Dov.", - Menu: "*Matematick\u00E9 menu*: MathJax prid\u00E1va k rovniciam kontextov\u00E9 menu. Pre zobrazenie menu kliknite prav\u00FDm tla\u010Didlom my\u0161i alebo s podr\u017Ean\u00EDm kl\u00E1vesy Ctrl na ktor\u00FAko\u013Evek matematiku.", - ShowMath: "*Zobrazi\u0165 matematiku ako* v\u00E1m umo\u017En\u00ED prehliadnu\u0165 si zdrojov\u00FD k\u00F3d vzorca pre skop\u00EDrovanie (ako MathML alebo v p\u00F4vodnom form\u00E1te).", - Settings: "*Nastavenia* v\u00E1m umo\u017E\u0148uj\u00FA prisp\u00F4sobi\u0165 si niektor\u00E9 funkcie MathJaxu, napr. ve\u013Ekos\u0165 matematiky alebo mechanizmy pou\u017E\u00EDvan\u00E9 k zobrazovaniu rovn\u00EDc.", - Language: "*Jazyk* v\u00E1m umo\u017En\u00ED zvoli\u0165 si jazyk pou\u017E\u00EDvan\u00FD MathJaxem pre menu a chybov\u00E9 hl\u00E1senia.", - Zoom: "*Matematick\u00FD zoom*: Ak v\u00E1m \u010D\u00EDtanie rovnice rob\u00ED probl\u00E9my, Mathjax V\u00E1m umo\u017En\u00ED ich zv\u00E4\u010D\u0161i\u0165, aby ste ju lep\u0161ie videli.", - Accessibilty: "*Dostupnos\u0165*: MathJax automaticky funguje s \u010D\u00EDta\u010Dkami obrazovky, aby matematiku spr\u00EDstupnil zrakovo postihnut\u00FDm.", - Fonts: "*P\u00EDsma*: MathJax bude pou\u017E\u00EDva\u0165 ist\u00E9 matematick\u00E9 p\u00EDsma, ak ich m\u00E1te v po\u010D\u00EDta\u010Di nain\u0161talovan\u00E9; v opa\u010Dnom pr\u00EDpade pou\u017Eije p\u00EDsma webov\u00E9. Napriek tomu, \u017Ee to nie je nutn\u00E9, lok\u00E1lne nain\u0161talovan\u00E9 p\u00EDsma ur\u00FDchlia s\u00E1dzanie. Odpor\u00FA\u010Dame nain\u0161talova\u0165 [p\u00EDsma STIX](%1).", - CloseDialog: "Zavri\u0165 okno s n\u00E1povedou" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sk/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sk/MathML.js deleted file mode 100644 index 491ea185..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sk/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sk/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sk","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "Chybn\u00FD mglyph: %1", - BadMglyphFont: "Nevhodn\u00E9 p\u00EDsmo: %1", - MathPlayer: "MathJax nedok\u00E1zal spusti\u0165 MathPlayer.\n\nAk nie je MathPlayer nain\u0161talovan\u00FD, budete si ho musie\u0165 najprv nain\u0161talova\u0165.\nInak mo\u017Eno spustenie ovl\u00E1dac\u00EDch prvkov ActiveX br\u00E1ni va\u0161e bezpe\u010Dnostn\u00E9\nnastavenie. Kliknite v ponuke N\u00E1stroje na polo\u017Eku Mo\u017Enosti Internetu,\nvyberte z\u00E1lo\u017Eku Zabezpe\u010Denie a kliknite na tla\u010Didlo Vlastn\u00E1 \u00FArove\u0148.\nSkontrolujte, \u010Di s\u00FA povolen\u00E9 mo\u017Enosti \u201ESp\u00FA\u0161\u0165a\u0165 ovl\u00E1dacie prvky ActiveX\u201C\na \u201EChovanie skriptov a bin\u00E1rnych s\u00FAborov\u201C.\n\nMoment\u00E1lne uvid\u00EDte miesto vys\u00E1dzanej matematiky chybov\u00E9 hl\u00E1senia.", - CantCreateXMLParser: "MathJax nem\u00F4\u017Ee vytvori\u0165 syntaktick\u00FD analyz\u00E1tor XML pre MathML.\nSkontrolujte, \u010Di m\u00E1te povolen\u00E9 nastavenie \u201ESkriptova\u0165 ovl\u00E1dacie\nprvky ActiveX ozna\u010Den\u00E9 ako bezpe\u010Dn\u00E9\u201C (v ponuke N\u00E1stroje\nkliknite na polo\u017Eku Mo\u017Enosti Internetu, vyberte z\u00E1lo\u017Eku\nZabezpe\u010Denie a kliknite na tla\u010Didlo Vlastn\u00E1 \u00FArove\u0148).\n\nMathJax nebude m\u00F4c\u0165 spracov\u00E1va\u0165 rovnice v MathML", - UnknownNodeType: "Nezn\u00E1my typ uzla: %1", - UnexpectedTextNode: "Neo\u010Dak\u00E1van\u00FD textov\u00FD uzol: %1", - ErrorParsingMathML: "Chyba pri anal\u00FDze MathML", - ParsingError: "Chyba pri anal\u00FDze MathML: %1", - MathMLSingleElement: "MathML mus\u00ED by\u0165 tvoren\u00E9 jedin\u00FDm elementom", - MathMLRootElement: "MathML mus\u00ED by\u0165 tvoren\u00E9 elementom \u003Cmath\u003E, nie %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sk/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sk/MathMenu.js deleted file mode 100644 index 9c37ad69..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sk/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sk/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sk","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Zobrazi\u0165 matematiku ako", - MathMLcode: "MathML k\u00F3d", - OriginalMathML: "P\u00F4vodn\u00FD MathML", - TeXCommands: "Pr\u00EDkazy TeXu", - AsciiMathInput: "Vstup AsciiMathML", - Original: "P\u00F4vodn\u00E1 forma", - ErrorMessage: "Chybov\u00E9 hl\u00E1senie", - Annotation: "Anot\u00E1cia", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Javor", - ContentMathML: "Obsah MathML", - OpenMath: "OpenMath", - texHints: "Zobrazi\u0165 TeX tipy v MathML", - Settings: "Nastavenia matematiky", - ZoomTrigger: "Aktiv\u00E1cia zoomu", - Hover: "Prejdenie my\u0161ou", - Click: "Kliknutie", - DoubleClick: "Dvojit\u00E9 kliknutie", - NoZoom: "Bez zoomu", - TriggerRequires: "Aktiv\u00E1cia vy\u017Eaduje:", - Option: "Mo\u017Enos\u0165", - Alt: "Alt", - Command: "Command", - Control: "Ctrl", - Shift: "Shift", - ZoomFactor: "Miera zoomu", - Renderer: "Vykres\u013Eovanie matematiky", - MPHandles: "Necha\u0165 MathPlayer spracov\u00E1va\u0165:", - MenuEvents: "Udalosti menu", - MouseEvents: "Udalosti my\u0161i", - MenuAndMouse: "Udalosti my\u0161i a menu", - FontPrefs: "Preferencia typu p\u00EDsma", - ForHTMLCSS: "Pre HTML-CSS", - Auto: "Automaticky", - TeXLocal: "TeX (lok\u00E1lny)", - TeXWeb: "TeX (webov\u00FD)", - TeXImage: "TeX (obr\u00E1zkov\u00FD)", - STIXLocal: "STIX (lok\u00E1lny)", - STIXWeb: "STIX (webov\u00FD)", - AsanaMathWeb: "Asana Math (webov\u00FD)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - LatinModernWeb: "Latin Modern (web)", - NeoEulerWeb: "Neo Euler (web)", - ContextMenu: "Kontextov\u00E9 menu", - Browser: "Prehliada\u010D", - Scale: "\u0160k\u00E1lova\u0165 v\u0161etku matematiku", - Discoverable: "Zv\u00FDraznit p\u0159i prejden\u00ED my\u0161ou", - Locale: "Jazyk", - LoadLocale: "Na\u010D\u00EDta\u0165 z URL\u2026", - About: "O MathJaxe", - Help: "N\u00E1poveda k MathJaxu", - localTeXfonts: "pou\u017E\u00EDvaj\u00FA se lok\u00E1lne p\u00EDsma TeXu", - webTeXfonts: "pou\u017E\u00EDvaj\u00FA se webov\u00E9 p\u00EDsma TeXu", - imagefonts: "pou\u017E\u00EDvaj\u00FA sa obr\u00E1zkov\u00E9 p\u00EDsma", - localSTIXfonts: "pou\u017E\u00EDvaj\u00FA se lok\u00E1lne p\u00EDsma STIX", - webSVGfonts: "pou\u017E\u00EDvaj\u00ED se webov\u00E9 SVG p\u00EDsma", - genericfonts: "pou\u017E\u00EDvaj\u00ED se generick\u00E1 p\u00EDsma sady Unicode", - wofforotffonts: "p\u00EDsma WOFF alebo OTF", - eotffonts: "p\u00EDsma EOT", - svgfonts: "p\u00EDsma SVG", - WebkitNativeMMLWarning: "V\u00E1\u0161 prehliada\u010D zjavne nepodporuje MathML, tak\u017Ee prepnutie na MathML v\u00FDstup m\u00F4\u017Ee zp\u00F4sobi\u0165, \u017Ee bude matematika na tejto str\u00E1nke ne\u010Ditate\u013En\u00E1.", - MSIENativeMMLWarning: "Internet Explorer vy\u017Eaduje plugin MathPlayer na spracovanie v\u00FDstupu MathML", - OperaNativeMMLWarning: "Podpora prehliada\u010Da Opera pre MathML je obmedzen\u00E1, \u010Di\u017Ee prechod k v\u00FDstupu MathML m\u00F4\u017Ee sp\u00F4sobi\u0165 chab\u00E9 vykres\u013Eovanie niektor\u00FDch v\u00FDrazov", - SafariNativeMMLWarning: "Vstavan\u00E1 podpora v\u00E1\u0161ho prehliada\u010Da pre MathML neimplementuje v\u0161etky vymo\u017Eenosti pou\u017E\u00EDvan\u00E9 MathJax-om, \u010Do m\u00F4\u017Ee sp\u00F4sobi\u0165 chab\u00E9 vykres\u013Eovanie ist\u00FDch v\u00FDrazov", - FirefoxNativeMMLWarning: "Vstavan\u00E1 podpora MathML v\u00E1\u0161ho prehliada\u010Da neimplementuje v\u0161etky vymo\u017Eenosti pou\u017E\u00EDvan\u00E9 MathJaxom, \u010Do znamen\u00E1, \u017Ee niektor\u00E9 v\u00FDrazy sa nebud\u00FA vykres\u013Eova\u0165 spr\u00E1vne.", - MSIESVGWarning: "SVG nie je implementovan\u00E9 v prehliada\u010Doch Internet Explorer pred verziou IE9 a v emul\u00E1ciach verzi\u00ED IE8 \u010Di ni\u017E\u0161\u00EDch. Prepnutie na v\u00FDstup SVG sp\u00F4sob\u00ED, \u017Ee sa matematika nebude zobrazova\u0165 spr\u00E1vne.", - LoadURL: "Na\u010D\u00EDta\u0165 d\u00E1ta prekladu z tejto adresy URL:", - BadURL: "Adresa URL mus\u00ED by\u0165 adresou s\u00FAboru p\u00EDsan\u00E9ho v JavaScripte, ktor\u00FD definuje d\u00E1ta prekladu pre MathJax. S\u00FAbory JavaScriptu maj\u00FA zvy\u010Dajne predponu '.js'.", - BadData: "Nepodarilo sa na\u010D\u00EDta\u0165 d\u00E1ta prekladu z %1", - SwitchAnyway: "Prajete si aj napriek tomu prepn\u00FA\u0165 vykres\u013Eovanie?\n\n(Stla\u010Dte OK pre prepnutie, ZRU\u0160I\u0164 pre zru\u0161enie s aktu\u00E1lnym vykres\u013Eovan\u00EDm)", - ScaleMath: "Na\u0161k\u00E1lova\u0165 v\u0161etku matematiku (v porovnan\u00ED s okolit\u00FDm textom) o", - NonZeroScale: "\u0160k\u00E1la nesmie by\u0165 nulov\u00E1", - PercentScale: "\u0160k\u00E1la mus\u00ED by\u0165 percentom (napr\u00EDklad 120%%)", - IE8warning: "T\u00FDmto deaktivujete menu MathJaxu a mo\u017Enosti zoomu, no pou\u017Eit\u00EDm kombin\u00E1cie Alt+Click na v\u00FDraz z\u00EDskate menu MathJaxu\n\nNaozaj si prajete zmeni\u0165 nastavenia MathPlayer-u?", - IE9warning: "Kontextov\u00E9 menu MathJaxu bude vypnut\u00E9, no pou\u017Eite kombin\u00E1ciu Alt+Click na v\u00FDraz pre z\u00EDskanie nov\u00E9ho menu", - NoOriginalForm: "P\u00F4vodn\u00E1 forma nie je dostupn\u00E1", - Close: "Zatvori\u0165", - EqSource: "Zdroj rovn\u00EDc pre MathJax", - CloseAboutDialog: "Zatvori\u0165 okno \"O MathJaxe\"", - FastPreview: "Rychl\u00FD n\u00E1h\u013Ead", - AssistiveMML: "Pomocn\u00E9 MathML", - InTabOrder: "Zaradit do postupnosti tabul\u00E1torov" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sk/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sk/TeX.js deleted file mode 100644 index ff84ac85..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sk/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sk/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sk","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Prebyto\u010Dn\u00E1 otv\u00E1raj\u00FAca alebo uzavieracia z\u00E1tvorka", - ExtraCloseMissingOpen: "Prebyto\u010Dn\u00E1 uzavieracia alebo otv\u00E1raj\u00FAca z\u00E1tvorka", - MissingLeftExtraRight: "Ch\u00FDbaj\u00FAci \\left alebo prebyto\u010Dn\u00FD \\right", - MissingScript: "Ch\u00FDba argument horn\u00E9ho alebo doln\u00E9ho indexu", - ExtraLeftMissingRight: "Prebyto\u010Dn\u00FD \\left alebo ch\u00FDbaj\u00FAci \\right", - Misplaced: "Chybne umiestnen\u00FD %1", - MissingOpenForSub: "Ch\u00FDbaj\u00FAca otv\u00E1racia zlo\u017Een\u00E1 z\u00E1tvorka pre doln\u00FD index", - MissingOpenForSup: "Ch\u00FDbaj\u00FAca otv\u00E1racia zlo\u017Een\u00E1 z\u00E1tvorka pre horn\u00FD index", - AmbiguousUseOf: "Nejednozna\u010Dn\u00E9 pou\u017Eitie %1", - EnvBadEnd: "\\begin{%1} bolo uzavret\u00E9 \\end{%2}", - EnvMissingEnd: "Ch\u00FDbaj\u00FAci \\end{%1}", - MissingBoxFor: "Ch\u00FDba box pre %1", - MissingCloseBrace: "Ch\u00FDba uzavieracia z\u00E1tvorka", - UndefinedControlSequence: "Nedefinovan\u00E1 riadiaca sekvencia %1", - DoubleExponent: "Dvojit\u00FD exponent: pre jednozna\u010Dnos\u0165 pou\u017Eite zlo\u017Een\u00E9 z\u00E1tvorky", - DoubleSubscripts: "Dvojit\u00FD doln\u00FD index: pre jednozna\u010Dnos\u0165 pou\u017Eite zlo\u017Een\u00E9 z\u00E1tvorky", - DoubleExponentPrime: "Symbol \u010Diarky sp\u00F4sobil dvojit\u00FD exponent: pre jednozna\u010Dnos\u0165 pou\u017Eite zlo\u017Een\u00E9 z\u00E1tvorky", - CantUseHash1: "V matematickom re\u017Eime nem\u00F4\u017Eete pou\u017Ei\u0165 znak \u201E#\u201C pre parametre makier", - MisplacedMiddle: "%1 mus\u00ED by\u0165 medzi \\left a \\right", - MisplacedLimits: "%1 je povolen\u00E9 len pri oper\u00E1toroch", - MisplacedMoveRoot: "%1 sa m\u00F4\u017Ee vyskytn\u00FA\u0165 len v koreni", - MultipleCommand: "Viacn\u00E1sobn\u00FD %1", - IntegerArg: "Argument pre %1 mus\u00ED by\u0165 cel\u00E9 \u010D\u00EDslo", - NotMathMLToken: "%1 nie je primit\u00EDvny element", - InvalidMathMLAttr: "Neplatn\u00FD atrib\u00FAt MathML: %1", - UnknownAttrForElement: "%1 nie je zn\u00E1mym atrib\u00FAtom pre %2", - MaxMacroSub1: "Prekro\u010Den\u00FD maxim\u00E1lny po\u010Det substit\u00FAci\u00ED makra MathJaxu; nejde o rekurz\u00EDvne volanie makra?", - MaxMacroSub2: "Prekro\u010Den\u00FD maxim\u00E1lny po\u010Det substit\u00FAci\u00ED MathJaxu; nejde o rekurz\u00EDvne LaTeXov\u00E9 prostredie?", - MissingArgFor: "Ch\u00FDba argument pre %1", - ExtraAlignTab: "Prebyto\u010Dn\u00FD vyrovn\u00E1vac\u00ED tabul\u00E1tor v texte \\cases", - BracketMustBeDimension: "Z\u00E1tvorkov\u00FD argument pre %1 mus\u00ED by\u0165 rozmer", - InvalidEnv: "Neplatn\u00E1 premenn\u00E1 prostredia \u201E%1\u201C", - UnknownEnv: "Nezn\u00E1me prostredie \u201E%1\u201C", - ExtraCloseLooking: "Prebyto\u010Dn\u00E1 uzavieracia z\u00E1tvorka, zatia\u013E \u010Do bolo o\u010Dak\u00E1van\u00E9 %1", - MissingCloseBracket: "Pri argumente pre %1 nebola n\u00E1jden\u00E1 uzavieracia \u201E]\u201C", - MissingOrUnrecognizedDelim: "Ch\u00FDbaj\u00FAci alebo nerozpoznan\u00FD odde\u013Eova\u010D pre %1", - MissingDimOrUnits: "Ch\u00FDbaj\u00FAci rozmer alebo jeho jednotka pre %1", - TokenNotFoundForCommand: "Nen\u00E1jden\u00E9 %1 pre %2", - MathNotTerminated: "V textovom boxe nie je ukon\u010Den\u00E1 matematika", - IllegalMacroParam: "Neplatn\u00FD odkaz na parameter makra", - MaxBufferSize: "Prekro\u010Den\u00E1 ve\u013Ekos\u0165 internej pam\u00E4te MathJaxu; nejde o rekurz\u00EDvne volanie makra?", - CommandNotAllowedInEnv: "V prostred\u00ED %2 nie je povolen\u00FD %1", - MultipleLabel: "Viacn\u00E1sobn\u00E1 defin\u00EDcia ozna\u010Denia %1", - CommandAtTheBeginingOfLine: "%1 mus\u00ED by\u0165 umiestnen\u00E9 na za\u010Diatku riadku", - IllegalAlign: "Pri %1 uveden\u00E9 neplatn\u00E9 zarovnanie", - BadMathStyleFor: "Chybn\u00FD \u0161t\u00FDl matematiky pri %1", - PositiveIntegerArg: "Argument %1 mus\u00ED by\u0165 kladn\u00E9 cel\u00E9 \u010D\u00EDslo", - ErroneousNestingEq: "Chybn\u00E9 zanorovanie \u0161trukt\u00FAry rovn\u00EDc", - MultlineRowsOneCol: "Riadky v prostred\u00ED %1 musia ma\u0165 pr\u00E1ve jeden st\u013Apec", - MultipleBBoxProperty: "Pri %2 je %1 uveden\u00E9 dvakr\u00E1t", - InvalidBBoxProperty: "\u201E%1\u201C nevyzer\u00E1 ako farba, rozmer paddingu alebo \u0161t\u00FDl", - ExtraEndMissingBegin: "Prebato\u010Dn\u00FD %1 alebo ch\u00FDbaj\u00FAci \\begingroup", - GlobalNotFollowedBy: "Za %1 ch\u00FDba \\let, \\def alebo \\newcommand", - UndefinedColorModel: "Farebn\u00FD model \u201E%1\u201C nie je definovan\u00FD", - ModelArg1: "Farebn\u00E9 hodnoty modelu %1 vy\u017Eaduj\u00FA tri \u010D\u00EDsla", - InvalidDecimalNumber: "Neplatn\u00E9 desatinn\u00E9 \u010D\u00EDslo", - ModelArg2: "Farebn\u00E9 hodnoty modelu %1 musia le\u017Ea\u0165 medzi %2 a %3", - InvalidNumber: "Neplatn\u00E9 \u010D\u00EDslo", - NewextarrowArg1: "Prv\u00FDm argumentom %1 mus\u00ED by\u0165 n\u00E1zov riadiacej sekvencie", - NewextarrowArg2: "Druh\u00FDm argumentom %1 musia by\u0165 dve cel\u00E9 \u010D\u00EDsla oddelen\u00E9 \u010Diarkou", - NewextarrowArg3: "Tret\u00EDm argumentom %1 mus\u00ED by\u0165 \u010D\u00EDslo znaku Unicode", - NoClosingChar: "Nen\u00E1jden\u00FD uzavierac\u00ED %1", - IllegalControlSequenceName: "Neplatn\u00FD n\u00E1zov riadiacej sekvencie pre %1", - IllegalParamNumber: "Pre %1 uveden\u00FD neplatn\u00FD po\u010Det parametrov", - MissingCS: "Za %1 mus\u00ED by\u0165 riadiaca sekvencia", - CantUseHash2: "Chybn\u00E9 pou\u017Eitie # v \u0161abl\u00F3ne pre %1", - SequentialParam: "Parametre pre %1 musia by\u0165 \u010D\u00EDslovan\u00E9 postupne", - MissingReplacementString: "V defin\u00EDcii %1 ch\u00FDba nahradzuj\u00FAci re\u0165azec", - MismatchUseDef: "Pou\u017Eitie %1 nezodpoved\u00E1 jeho defin\u00EDcii", - RunawayArgument: "Zbl\u00FAdil\u00FD argument pre %1?", - NoClosingDelim: "Nepodarilo sa n\u00E1js\u0165 ukon\u010Dovac\u00ED znak pre %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sk/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/sk.js b/src/py/kaleido/vendor/mathjax/localization/sk/sk.js deleted file mode 100644 index 49219045..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sk/sk.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sk/sk.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sk",null,{ - menuTitle: "sloven\u010Dina", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "Chyba spracovania matematiky", - MathError: "Chyba matematiky", - LoadFile: "Na\u010D\u00EDtava sa %1", - Loading: "Na\u010D\u00EDtavam", - LoadFailed: "Nepodarilo sa na\u010D\u00EDta\u0165 s\u00FAbor: %1", - ProcessMath: "Spracuje sa matematika: %1 %%", - Processing: "Sprac\u00FAvam", - TypesetMath: "S\u00E1dzanie matematiky: %1 %%", - Typesetting: "S\u00E1dzanie", - MathJaxNotSupported: "V\u00E1\u0161 prehliada\u010D nepodporuje MathJax", - ErrorTips: "Tipy k ladeniu: pou\u017Eite %%1, prehliadajte %%2 v konzole prehliada\u010Da" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) {return 1} // one - if (n === 2 || n === 3 || n === 4) {return 2} // two--four - return 3; // other - }, - number: function (n) { - return String(n).replace(".", ","); // replace dot by comma - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sk/sk.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sl/FontWarnings.js deleted file mode 100644 index cf81c125..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sl/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sl/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sl","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax za prikaza matematike na tej strani uporablja spletne pisave. Da se te nalo\u017Eijo, vzame nekaj \u010Dasa. Stran bi se hitreje izrisovala, \u010De bi bile matemati\u010Dne pisave name\u0161\u010Dene neposredno v mapi s pisavami va\u0161ega sistema.", - imageFonts: "MathJax ne uporablja lokalnih ali spletnih pisav, temve\u010D svoje slikovne pisave. Izrisovanje bo zato po\u010Dasnej\u0161e, matematika pa se morda ne bo natisnila v popolni lo\u010Dljivosti va\u0161ega tiskalnika.", - noFonts: "MathJax ne more najti pisave za prikaz matematike, slikovne pisave pa niso na razpolago, zato v upanju, da jih bo va\u0161 brskalnik lahko prikazal, uporablja generi\u010Dne unikodne znake. Nekateri znaki morda ne bodo prikazani pravilno ali pa sploh ne bodo prikazani.", - webFonts: "Ve\u010Dina sodobnih brskalnikov omogo\u010Da prenos pisav prek spleta. S posodobitvijo (ali zamenjavo) svojega brskalnika boste morda lahko izbolj\u0161ali kakovost matematike na tej strani.", - fonts: "MathJax lahko uporablja [fonte STIX](%1) ali [fonte MathJax TeX](%2). Za izbolj\u0161anje svoje uporabni\u0161ke izku\u0161nje prenesite in namestite te fonte.", - STIXPage: "Stran je oblikovana za uporabo [pisav STIX](%1). Za izbolj\u0161anje svoje uporabni\u0161ke izku\u0161nje prenesite in namestite te pisave.", - TeXPage: "Stran je oblikovana za uporabo [pisav MathJax Tex](%1). Za izbolj\u0161anje svoje izku\u0161nje z MathJax prenesite in namestite te pisave." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sl/HTML-CSS.js deleted file mode 100644 index b897330a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sl/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sl/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sl","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "Nalagam spletni font %1", - CantLoadWebFont: "Spletne pisave %1 ni mogo\u010De nalo\u017Eiti", - FirefoxCantLoadWebFont: "Firefox ne more nalo\u017Eiti spletnih pisav na oddaljenem gostitelju.", - CantFindFontUsing: "Z uporabo %1 ne morem najti veljavne pisave.", - WebFontsNotAvailable: "Web-Fonts niso na razpolago. Namesto njih uporabljam slikovne pisave." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sl/HelpDialog.js deleted file mode 100644 index 87ffa4ff..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sl/HelpDialog.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sl/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sl","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Pomo\u010D za MathJax", - MathJax: "*MathJax* je javaskriptna knji\u017Enica, ki ustvarjalcem spletnih strani omogo\u010Da vklju\u010Ditev matematike. Kot bralec ne potrebujete ni\u010Desar, da bi se to zgodilo.", - Browsers: "*Brskalniki*: MathJax deluje v vseh sodobnih brskalnikih, vklju\u010Dno z IE6+, Firefoxom 3+, Chromeom 0.2+, Safarijem 2+, Opero 9.6+, in v ve\u010Dini mobilnih brskalnikov.", - Menu: "*Meni ena\u010Db*: MathJax k ena\u010Dbam doda kontekstni meni. Za dostop do menija matematiko desno kliknite ali jo kliknite ob dr\u017Eanju tipke CTRL.", - ShowMath: "*Prika\u017Ei matematiko kot* vam omogo\u010Da prikaz izvornega ozna\u010Devanja formule za kopiranje in lepljenje (kot MathML ali v izvorni obliki).", - Settings: "*Nastavitve* vam dajo nadzor nad mo\u017Enostmi MathJaxa, kot so velikost matematike in mehanizem za prikaz ena\u010Db.", - Language: "*Jezik* vam omogo\u010Da izbrati jezik, ki naj ga MathJax uporablja za svoje menije in opozorilna sporo\u010Dila.", - Zoom: "*Math Zoom*: \u010De imate te\u017Eave pri branju ena\u010Dbe, jo lahko MathJax pove\u010Da, da jo boste bolje videli.", - Accessibilty: "*Dostopnost*: MathJax samodejno deluje z bralniki zaslona in omogo\u010Da dostop do matematike tudi slepim in slabovidnim.", - Fonts: "*Pisave*: MathJax bo uporabljal nekatere matemati\u010Dne pisave, \u010De so name\u0161\u010Dene na ra\u010Dunalniku, sicer pa pisave s spleta. \u010Ceprav niso nujne, bodo lokalno name\u0161\u010Dene pisave pospe\u0161ile prikaz. Predlagamo namestitev [pisav STIX](%1)." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sl/MathML.js deleted file mode 100644 index 057e5d66..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sl/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sl/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sl","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "Neveljaven mglyph: %1", - BadMglyphFont: "Neveljavna pisava: %1", - MathPlayer: "MathJax ni mogel nastaviti programa MathPlayer.\n\n\u010Ce MathPlayer ni name\u0161\u010Den, ga morate najprej namestiti. Sicer morda njegov zahon prepre\u010Dujejo va\u0161e varnostne nastavitve. Uporabite element Internetne mo\u017Enosti [Internet Options] pod menijem Orodja [Tools] in izberite zavihek Varnost [Security], nato pritisnite gumb Prilagojena raven [Custom Level]. Preverite, alo so nastavitve za 'Za\u017Eeni krmilne elemente ActiveX' in 'Binarna in skriptna vedenja' omogo\u010Dene.\n\nTrenutno boste namesto matematike videli sporo\u010Dila o napakah.", - CantCreateXMLParser: "MathJax ne more ustvariti raz\u010Dlenjevalnika XML za MathML. Preverite, ali je varnostna nastavitev 'Krmilni elementi Script ActiveX ozna\u010Deni kot varni za skriptiranje' omogo\u010Dena (da to preverite, v meniju Orodja [Tools] uporabite element Internetne mo\u017Enosti [Internet Options], nato izberite plo\u0161\u010Do Varnost [Security], nato pritisnite gumb Prilagojena raven [Custom Level]).", - UnknownNodeType: "Neznana vrsta vozli\u0161\u010Da: %1", - UnexpectedTextNode: "Nepri\u010Dakovano tekstovno vozli\u0161\u010De: %1", - ErrorParsingMathML: "Napaka pri raz\u010Dlenjevanju MathML", - ParsingError: "Napaka pri raz\u010Dlenjevanju MathML: %1", - MathMLSingleElement: "MathML mora biti oblikovan z enim samim elementom", - MathMLRootElement: "MathML mora biti oblikovan z elementom \u003Cmath\u003E, ne s korenom %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sl/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sl/MathMenu.js deleted file mode 100644 index 4283daf8..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sl/MathMenu.js +++ /dev/null @@ -1,108 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sl/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sl","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Prika\u017Ei matematiko kot", - MathMLcode: "Koda MathML", - OriginalMathML: "Izvorni MathML", - TeXCommands: "Ukazi TeX", - AsciiMathInput: "Vnos AsciiMathML", - Original: "Izvirna oblika", - ErrorMessage: "Sporo\u010Dilo o napaki", - Annotation: "Pripis", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "MathML vsebine", - OpenMath: "OpenMath", - texHints: "V MathML prika\u017Ei namige TeX", - Settings: "Nastavitve matematike", - ZoomTrigger: "Pro\u017Eilec zumiranja", - Hover: "Lebdenje", - Click: "Kliknite", - DoubleClick: "Dvokliknite", - NoZoom: "Brez pove\u010Dave", - TriggerRequires: "Pro\u017Eilec potrebuje:", - Option: "Mo\u017Enost", - Alt: "Alt", - Command: "Ukaz", - Control: "Kontrolnik", - Shift: "Preklop", - ZoomFactor: "Faktor zumiranja", - Renderer: "Matemati\u010Dni izrisovalnik", - MPHandles: "MathPlayer naj upravlja z:", - MenuEvents: "Dogodki menija", - MouseEvents: "Dogodki mi\u0161ke", - MenuAndMouse: "Dogodki mi\u0161ke in menija", - FontPrefs: "Nastavitve pisav", - ForHTMLCSS: "Za HTML-CSS:", - Auto: "Samodejno", - TeXLocal: "TeX (lokalno)", - TeXWeb: "TeX (splet)", - TeXImage: "TeX (slika)", - STIXLocal: "STIX (lokalno)", - STIXWeb: "STIX (splet)", - AsanaMathWeb: "Asana Math (splet)", - GyrePagellaWeb: "Gyre Pagella (splet)", - GyreTermesWeb: "Gyre Termes (splet)", - LatinModernWeb: "Latin Modern (splet)", - NeoEulerWeb: "Neo Euler (splet)", - ContextMenu: "Kontekstni meni", - Browser: "Brskalnik", - Scale: "Umeri vso matematiko ...", - Discoverable: "Ob lebdenju ozna\u010Di", - Locale: "Jezik", - LoadLocale: "Nalo\u017Ei iz spletnega naslova ...", - About: "O MathJax", - Help: "Pomo\u010D za MathJax", - localTeXfonts: "z uporabo lokalnih pisav TeX", - webTeXfonts: "z uporabo spletne pisave TeX", - imagefonts: "z uporabo slikovnih pisav", - localSTIXfonts: "z uporabo lokalnih pisav STIX", - webSVGfonts: "z uporabo spletnih pisav SVG", - genericfonts: "z uporabo generi\u010Dnih unikodnih pisav", - wofforotffonts: "pisave woff ali otf", - eotffonts: "pisave eot", - svgfonts: "pisave svg", - WebkitNativeMMLWarning: "Va\u0161 brskalnik ne podpira MathML sam po sebi, zato ob preklopu na MathML matematika morda ne bo berljiva.", - MSIENativeMMLWarning: "Internet Explorer potrebuje za obdelavo izhoda MathML vti\u010Dnik MathPlayer.", - OperaNativeMMLWarning: "Podpora Opere za MathML je omejena, zato se bodo ob preklopu na MathML nekateri izrazi morda slabo izrisali.", - SafariNativeMMLWarning: "MathML va\u0161ega brskalnika ne podpira vseh mo\u017Enosti MathJaxa, zato se nekateri izrazi morda ne bodo pravilno prikazali.", - FirefoxNativeMMLWarning: "MathML va\u0161ega brskalnika ne podpira vseh mo\u017Enosti MathJaxa, zato se nekateri izrazi morda ne bodo pravilno izrisali.", - MSIESVGWarning: "V Internet Explorerju pred IE9 in pri emulaciji IE8 ali manj SVG ni podprt. Ob preklopu na SVG se matematika ne bo prikazala pravilno.", - LoadURL: "Nalo\u017Ei podatke za prevajanje z naslednjega spletnega naslova:", - BadURL: "Spletni naslov mora biti za javaskriptno datoteko, ki opredeljuje podatke MathJax o prevajanju. Imena javaskriptnih datotek se morajo kon\u010Dati z '.js'", - BadData: "Nalaganje podatkov za prevajanje iz %1 ni uspelo", - SwitchAnyway: "Vseeno zamenjam izrisovalnik?", - ScaleMath: "Umeri vso matematiko (v primerjavi z okoli\u0161nim besedilom) z", - NonZeroScale: "Merilo ne sme biti ni\u010D", - PercentScale: "Merilo naj bo odstotek (npr. 120%%)", - IE8warning: "To onemogo\u010Di meni MathJax in mo\u017Enosti zumiranja, vendar pa lahko namesto tega kliknete izraz ob dr\u017Eanju tipke Alt, s \u010Dimer se prika\u017Ee meni MathJax.", - IE9warning: "Kontekstni meni MathJax bo izklopljen, namesto tega pa lahko s klikom izraza ob dr\u017Eanju tipke Alt prikli\u010Dete meni MathJax.", - NoOriginalForm: "Na razpolago ni nobena izvorna oblika", - Close: "Zapri", - EqSource: "Vir ena\u010Dbe MathJax", - FastPreview: "Hitri predogled" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sl/TeX.js deleted file mode 100644 index 1ee6a514..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sl/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sl/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sl","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Dodaten uklepaj ali manjkajo\u010D zaklepaj", - ExtraCloseMissingOpen: "Dodaten zaklepaj ali manjkajo\u010D uklepaj", - MissingLeftExtraRight: "Manjka \\left ali dodatni \\right", - MissingScript: "Manjka nadpisani ali podpisani argument", - ExtraLeftMissingRight: "Dodaten \\left ali manjkajo\u010D \\right", - Misplaced: "Narobe postavljen %1", - MissingOpenForSub: "Manjka uklepaj za nadpisano", - MissingOpenForSup: "Manjka uklepaj za nadpisano", - AmbiguousUseOf: "Dvoumna uporaba %1", - EnvBadEnd: "\\begin{%1} se je kon\u010Dal z \\end{%2}", - EnvMissingEnd: "Manjka \\end{%1}", - MissingBoxFor: "Manjka polje za %1", - MissingCloseBrace: "Manjka zaklepaj", - UndefinedControlSequence: "Nedefinirano kontrolno zaporedje %1", - DoubleExponent: "Dvojni eksponent: pojasnite z oklepaji", - DoubleSubscripts: "Dvojno podpisano: za pojasnitev uporabite oklepaje", - DoubleExponentPrime: "Pra\u0161tevilo povzro\u010Da dvojni eksponent: pojasnite z oklepaji", - CantUseHash1: "Znak # je makroparameter in ga v matemati\u010Dnem na\u010Dinu ne morete uporabljati", - MisplacedMiddle: "%1 mora biti znotraj \\left in \\right", - MisplacedLimits: "%1 je dovoljen samo pri operatorjih", - MisplacedMoveRoot: "%1 se lahko pojavi samo v korenu", - MultipleCommand: "Ve\u010Dkratni %1", - IntegerArg: "Argument za %1 mora biti celo \u0161tevilo", - NotMathMLToken: "%1 ni \u017Eetonski element", - InvalidMathMLAttr: "Neveljaven atribut MathML: %1", - UnknownAttrForElement: "%1 ni prepoznani atribut za %2", - MaxMacroSub1: "Prese\u017Eeno najve\u010Dje \u0161tevilo makrosubstitucij MathJax; ali obstaja rekurzivni makroklic?", - MaxMacroSub2: "Prese\u017Eeno najve\u010Dje \u0161tevilo substitucij MathJax; ali obstaja rekurzivno okolje LaTeX?", - MissingArgFor: "Manjka argument za %1", - ExtraAlignTab: "Dodatni zavihek za poravnavo v tekstu \\cases", - BracketMustBeDimension: "Argument v oklepaju za %1 mora biti velikost", - InvalidEnv: "Neveljavno ime okolja '%1'", - UnknownEnv: "Neznano okolje '%1'", - ExtraCloseLooking: "Dodatni zaklepaj pri iskanju %1", - MissingCloseBracket: "Za argument za %1 ni mogo\u010De najti zaklepaja ']'", - MissingOrUnrecognizedDelim: "Manjkajo\u010De ali neprepoznano lo\u010Dilo za %1", - MissingDimOrUnits: "Manjka velikost ali enote pri %1", - TokenNotFoundForCommand: "%1 za %2 ni bilo mogo\u010De najti", - MathNotTerminated: "Matematika v tekstovnem polju ni prekinjena", - IllegalMacroParam: "Nedovoljen makroparameter", - MaxBufferSize: "Prese\u017Eena velikost notranjega medpomnilnika MathJax; ali obstaja rekurzivni makroklic?", - CommandNotAllowedInEnv: "%1 v okolju %2 ni dovoljen", - MultipleLabel: "Ve\u010Dkratno definirana oznaka '%1'", - CommandAtTheBeginingOfLine: "%1 mora priti na za\u010Detek vrstice", - IllegalAlign: "V %1 je dolo\u010Dena nedovoljena poravnava.", - BadMathStyleFor: "Neveljaven matemati\u010Dni slog argumenta %1", - PositiveIntegerArg: "Argument za %1 mora biti pozitivno celo \u0161tevilo", - ErroneousNestingEq: "Napa\u010Dno gnezdenje struktur ena\u010Dbe", - MultlineRowsOneCol: "Vrstice v okolju %1 morajo imeti natan\u010Dno en stolpec", - MultipleBBoxProperty: "%1 je v %2 dolo\u010Den dvakrat", - InvalidBBoxProperty: "'%1' ne izgleda kot barva, velikost odmika ali slog", - ExtraEndMissingBegin: "Dodatni %1 ali manjkajo\u010D \\begingroup", - GlobalNotFollowedBy: "%1 ne sledijo \\let, \\def ali \\newcommand", - UndefinedColorModel: "Nedefiniran barvni model '%1'", - ModelArg1: "Barvne vrednosti modela %1 zahtevajo tri \u0161tevilke", - InvalidDecimalNumber: "Neveljavna decimalna \u0161tevilka", - ModelArg2: "Barvne vrednosti za model %1 morajo biti med %2 in %3", - InvalidNumber: "Neveljavna \u0161tevilka", - NewextarrowArg1: "Prvi argument za %1 mora biti ime kontrolnega zaporedja", - NewextarrowArg2: "Drugi argument za %1 morata biti dve celi \u0161tevili, lo\u010Deni z vejico", - NewextarrowArg3: "Tretji argument za %1 mora biti \u0161tevilka unikodnega znaka", - NoClosingChar: "Ni mogo\u010De najti zapiralnega %1", - IllegalControlSequenceName: "Nedovoljeno ime kontrolnega zaporedja za %1", - IllegalParamNumber: "Neveljavno \u0161tevilo parametrov v %1", - MissingCS: "%1 mora slediti kontrolno zaporedje", - CantUseHash2: "Nedovoljena uporaba znaka # v predlogi za %1", - SequentialParam: "Parametri za %1 morajo biti o\u0161tevil\u010Deni zaporedno", - MissingReplacementString: "Manjka nadomestni niz za definicijo %1", - MismatchUseDef: "Uporaba %1 se ne ujema z njegovo definicijo", - RunawayArgument: "Ube\u017Eni argument za %1?", - NoClosingDelim: "Ni mogo\u010De najti zaklju\u010Dnega lo\u010Dila za %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sl/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/sl.js b/src/py/kaleido/vendor/mathjax/localization/sl/sl.js deleted file mode 100644 index 2dd89f08..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sl/sl.js +++ /dev/null @@ -1,60 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sl/sl.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sl",null,{ - menuTitle: "sloven\u0161\u010Dina", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax je na\u0161el pi\u0161kotek za uporabni\u0161ko konfiguracijo, ki vklju\u010Duje kodo za zagon. Ali jo \u017Eelite zagnati?\n\n(Pritisnite Prekli\u010Di, razen \u010De ste pi\u0161kotek sami nastavili.)", - MathProcessingError: "Napaka pri obdelavi matematike", - MathError: "Napaka v matemati\u010Dni formuli", - LoadFile: "Nalagam %1", - Loading: "Nalagam", - LoadFailed: "Datoteka se ni nalo\u017Eila: %1", - ProcessMath: "Obdelava matematike: %1%%", - Processing: "Obdelujem", - TypesetMath: "Stavljenje matematike: %1%%", - Typesetting: "Stavljenje", - MathJaxNotSupported: "Va\u0161 brskalnik ne podpira MathJax" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n % 100 === 1) return 1; // one - if (n % 100 === 2) return 2; // two - if (3 <= n % 100 && n % 100 <= 4) return 3; - return 4; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sl/sl.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sv/FontWarnings.js deleted file mode 100644 index 51869889..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sv/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sv/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sv","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax anv\u00E4nder webb-baserade teckensnitt f\u00F6r att visa matematik p\u00E5 denna sida. Dessa tar tid att ladda ner, sidan skulle g\u00F6ra snabbare om du installerar matematik-typsnitt direkt i systemets teckensnittsmapp.", - imageFonts: "MathJax anv\u00E4nder sina bild-teckensnitt ist\u00E4llet f\u00F6r lokala eller webb-baserade typsnitt. Detta kommer att g\u00F6ra visningen saktare \u00E4n vanligt, matematik kan \u00E4ven komma att inte skrivas ut med din skrivares fulla uppl\u00F6sning.", - noFonts: "MathJax kan inte hitta ett typsnitt f\u00F6r att visa sin matematik, och bild-teckensnitt \u00E4r ej tillg\u00E4ngliga, s\u00E5 den faller tillbaka p\u00E5 generiska Unicode-tecken i hopp om att din webbl\u00E4sare kommer att kunna visa dem. Vissa tecken kan komma att visas inkorrekt, eller kanske inte alls.", - webFonts: "De flesta moderna webbl\u00E4sare till\u00E5ter teckensnitt att h\u00E4mtas via webben. Att uppdatera till en nyare version av din webbl\u00E4sare (eller byta webbl\u00E4sare) kan f\u00F6rb\u00E4ttra kvaliteten p\u00E5 matematik p\u00E5 denna sida.", - fonts: "MathJax kan antingen anv\u00E4nda [STIX-typsnitt](%1) eller [MathJax TeX-typsnitt](%2). Ladda ner och installera en av dessa typsnitt f\u00F6r att f\u00F6rb\u00E4ttra din MathJax-upplevelse.", - STIXPage: "Denna sida \u00E4r designad f\u00F6r att anv\u00E4nda [STIX-typsnitt](%1). Ladda ner och installera dessa typsnitt f\u00F6r att f\u00F6rb\u00E4ttra din MathJax-upplevelse.", - TeXPage: "Denna sida \u00E4r designad f\u00F6r att anv\u00E4nda [MathJax TeX-typsnitt](%1). Ladda ner och installera dessa typsnitt f\u00F6r att f\u00F6rb\u00E4ttra din MathJax-upplevelse." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sv/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sv/HTML-CSS.js deleted file mode 100644 index 179ab6ca..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sv/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sv/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sv","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "L\u00E4ser in webbtypsnittet %1", - CantLoadWebFont: "Kan inte l\u00E4sa in webbtypsnittet %1", - FirefoxCantLoadWebFont: "Firefox kan inte l\u00E4sa in webbteckensnitt fr\u00E5n en fj\u00E4rrv\u00E4rd", - CantFindFontUsing: "Kan inte hitta ett giltigt teckensnitt med hj\u00E4lp av %1", - WebFontsNotAvailable: "Webbtypsnitt \u00E4r inte tillg\u00E4ngliga. Anv\u00E4nder bildtypsnitt ist\u00E4llet" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sv/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sv/HelpDialog.js deleted file mode 100644 index 7c133f52..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sv/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sv/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sv","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax-hj\u00E4lp", - MathJax: "*MathJax* \u00E4r ett JavaScript-bibliotek som till\u00E5ter f\u00F6rfattare att inkludera matematik p\u00E5 sina webbsidor. Som l\u00E4sare beh\u00F6ver du inte g\u00F6ra n\u00E5got f\u00F6r att f\u00E5 det att h\u00E4nda.", - Browsers: "*Webbl\u00E4sare*: MathJax fungerar med alla moderna webbl\u00E4sare inklusive IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ och de flesta mobila webbl\u00E4sare.", - Menu: "*Matematik-menyn*: MathJax l\u00E4gger till en kontextuell meny till ekvationer. H\u00F6gerklicka eller Ctrl-klicka p\u00E5 n\u00E5gon matematik att komma \u00E5t menyn.", - ShowMath: "*Visa matematik som* g\u00F6r att du kan visa formelns k\u00E4llkod f\u00F6r att klipp \u0026 klistra in (som MathML eller i dess ursprungliga format).", - Settings: "*Inst\u00E4llninga * ger dig kontroll \u00F6ver funktionerna i MathJax, s\u00E5 som storleken p\u00E5 matematiken och den mekanism som anv\u00E4nds f\u00F6r att visa ekvationer.", - Language: "*Spr\u00E5k* l\u00E5ter dig v\u00E4lja spr\u00E5ket som MathJax ska anv\u00E4nda f\u00F6r sina menyer och varningsmeddelanden.", - Zoom: "*Matematik zoom*: Om du har sv\u00E5rt att l\u00E4sa en ekvation, kan MathJax f\u00F6rstora den f\u00F6r att hj\u00E4lpa dig se den b\u00E4ttre.", - Accessibilty: "*Tillg\u00E4nglighet*: MathJax fungerar automatiskt med sk\u00E4rml\u00E4sare f\u00F6r att g\u00F6ra matematik tillg\u00E4nglig f\u00F6r synskadade.", - Fonts: "*Typsnitt*: MathJax kommer att anv\u00E4nda vissa matematiska teckensnitt om de \u00E4r installerade p\u00E5 din dator; annars anv\u00E4nder den webb-baserade teckensnitt. \u00C4ven om det inte kr\u00E4vs, kommer lokalt installerade teckensnitt att p\u00E5skynda typs\u00E4ttningen. Vi f\u00F6resl\u00E5r installation av [STIX-typsnitt](%1).", - CloseDialog: "St\u00E4ng hj\u00E4lpdialogen" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sv/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sv/MathML.js deleted file mode 100644 index 11cbfc5d..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sv/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sv/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sv","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "D\u00E5lig mglyph: %1", - BadMglyphFont: "D\u00E5ligt typsnitt: %1", - MathPlayer: "MathJax kunde inte st\u00E4lla in MathPlayer.\n\nOm MathPlayer inte \u00E4r installerat, m\u00E5ste du installera \nden f\u00F6rst. Annars kan det h\u00E4nda att dina \ns\u00E4kerhetsinst\u00E4llningar f\u00F6rhindrar ActiveX-kontroller \nfr\u00E5n att k\u00F6ras. Anv\u00E4nd internetinst\u00E4llningar i \nverktygsmenyn, v\u00E4lj s\u00E4kerhetspanelen, klicka sedan \nanv\u00E4ndardefinierad niv\u00E5-knappen. Kontrollera att \ninst\u00E4llningarna f\u00F6r 'K\u00F6r ActiveX-kontroller' samt \n'Bin\u00E4r och skript-beteenden' \u00E4r aktiverade.\n\nF\u00F6r n\u00E4rvarande kommer du att se flemeddelande snarare \n\u00E4n typsatt matematik", - CantCreateXMLParser: "MathJax kunde inte skapa en XML-tolk f\u00F6r MathML. Kontrollera att \ns\u00E4kerhetsinst\u00E4llningen 'Script ActiveX X-kontroller som markerats \nsom s\u00E4kra f\u00F6r skript' \u00E4r aktiverad (anv\u00E4nd internetinst\u00E4llningar \ni verktygsmenyn, v\u00E4lj s\u00E4kerhetspanelen, klicka sedan \nanv\u00E4ndardefinierad niv\u00E5-knappen f\u00F6r att kontrollera detta).\n\nMathML-ekvationer kommer inte kunna hanteras av MathJax", - UnknownNodeType: "Ok\u00E4nd nodtyp: %1", - UnexpectedTextNode: "Ov\u00E4ntad textnod: %1", - ErrorParsingMathML: "Fel vid tolkning av MathML", - ParsingError: "Fel vid tolkning av MathML: %1", - MathMLSingleElement: "MathML m\u00E5ste bildas av ett enskilt element", - MathMLRootElement: "MathML m\u00E5ste bildas av ett \u003Cmath\u003E-element, inte %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sv/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sv/MathMenu.js deleted file mode 100644 index 6d5564fd..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sv/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sv/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sv","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - MathMLcode: "MathML-kod", - OriginalMathML: "Ursprunglig MathML", - TeXCommands: "TeX-kommandon", - AsciiMathInput: "AsciiMathML-indata", - Original: "Ursprungligt format", - ErrorMessage: "Felmeddelande", - TeX: "TeX", - StarMath: "StarMath", - OpenMath: "OpenMath", - Click: "Klick", - DoubleClick: "Dubbelklick", - NoZoom: "Ingen zoom", - Option: "Alternativ", - Alt: "Alt", - Command: "\u2318 (Cmd)", - Control: "Ctrl", - Shift: "Skift", - MenuEvents: "Menyh\u00E4ndelser", - MouseEvents: "Mush\u00E4ndelser", - MenuAndMouse: "Mus- och menyh\u00E4ndelser", - FontPrefs: "Teckensnittsinst\u00E4llningar", - ForHTMLCSS: "F\u00F6r HTML-CSS:", - Auto: "Auto", - TeXLocal: "TeX (lokal)", - TeXWeb: "TeX (webb)", - TeXImage: "TeX (bild)", - STIXLocal: "STIX (lokal)", - STIXWeb: "STIX (webb)", - AsanaMathWeb: "Asana Math (webb)", - GyrePagellaWeb: "Gyre Pagella (webb)", - GyreTermesWeb: "Gyre Termes (webb)", - LatinModernWeb: "Latin Modern (webb)", - NeoEulerWeb: "Neo Euler (webb)", - Browser: "Webbl\u00E4sare", - Discoverable: "Markera vid hovring", - Locale: "Spr\u00E5k", - LoadLocale: "L\u00E4s in fr\u00E5n URL ...", - About: "Om MathJax", - Help: "MathJax-hj\u00E4lp", - eotffonts: "EOT-teckensnitt", - svgfonts: "SVG-teckensnitt", - MSIENativeMMLWarning: "Internet Explorer kr\u00E4ver insticksmodulen MathPlayer f\u00F6r att kunna bearbeta MathML-utdata.", - NonZeroScale: "Skalan b\u00F6r inte vara noll", - PercentScale: "Skalan b\u00F6r vara en procentsats (t.ex. 120%%)", - Close: "St\u00E4ng", - Show: "Visa matematik som", - Annotation: "Anm\u00E4rkning", - Maple: "Maple", - ContentMathML: "Content MathML", - texHints: "Visa TeX tips i MathML", - Settings: "Matematikinst\u00E4llningar", - ZoomTrigger: "Zoomutl\u00F6sare", - Hover: "Hovra", - TriggerRequires: "Utl\u00F6sare kr\u00E4ver:", - ZoomFactor: "Zoom-faktor", - Renderer: "Matematik-renderare", - MPHandles: "L\u00E5t MathPlayer hantera:", - ContextMenu: "Kontextuell meny", - Scale: "Skala all matematik...", - localTeXfonts: "anv\u00E4nder lokala TeX-typsnitt", - webTeXfonts: "anv\u00E4nder webb-TeX-typsnitt", - imagefonts: "anv\u00E4nder bild-typsnitt", - localSTIXfonts: "anv\u00E4nder lokala STIX-typsnitt", - webSVGfonts: "anv\u00E4nder webb-SVG-typsnitt", - genericfonts: "anv\u00E4nder generiska Unicode-typsnitt", - wofforotffonts: "WOFF- eller OTF-typsnitt", - WebkitNativeMMLWarning: "Din webbl\u00E4sare verkar sakna inbyggt st\u00F6d f\u00F6r MathML, att byta till MathML-utdata kan d\u00E4rf\u00F6r g\u00F6ra att matematiken p\u00E5 sidan blir ol\u00E4sbar", - OperaNativeMMLWarning: "Operas st\u00F6d f\u00F6r MathML \u00E4r begr\u00E4nsad, att byta till MathML-utdata kan d\u00E4rf\u00F6r g\u00F6ra att vissa uttryck \u00E5terges d\u00E5ligt.", - SafariNativeMMLWarning: "Din webbl\u00E4sares inbyggda MathML implementerar inte alla de funktioner som anv\u00E4nds av MathJax, vissa uttryck kan d\u00E4rf\u00F6r \u00E5terges inkorrekt.", - FirefoxNativeMMLWarning: "Din webbl\u00E4sares inbyggda MathML implementerar inte alla de funktioner som anv\u00E4nds av MathJax, vissa uttryck kan d\u00E4rf\u00F6r \u00E5terges inkorrekt.", - MSIESVGWarning: "SVG implementeras inte i Internet Explorer f\u00F6re IE9 eller n\u00E4r den emulerar IE8 eller l\u00E4gre. Ett byte till SVG-utdata kommer att g\u00F6ra att matematiken inte visas korrekt.", - LoadURL: "Ladda \u00F6vers\u00E4ttningsdata fr\u00E5n denna URL:", - BadURL: "URL-adressen b\u00F6r g\u00E5 till en JavaScript-fil som definierar MathJax-\u00F6vers\u00E4ttningsdata. JavaScript-filnamn b\u00F6r avslutas med \".js\"", - BadData: "Misslyckades med att ladda \u00F6vers\u00E4ttningsdata fr\u00E5n %1", - SwitchAnyway: "Byt renderare \u00E4nd\u00E5?\n\n(Tryck p\u00E5 OK f\u00F6r att byta, AVBRYT f\u00F6r att forts\u00E4tta med nuvarande renderare)", - ScaleMath: "Skala alla matematik (j\u00E4mf\u00F6rt med omgivande text) med", - IE8warning: "Detta kommer att inaktivera MathJax-menyn och zoom-funktionen, men du kan Alt-klicka p\u00E5 ett uttryck att f\u00E5 MathJax-menyn ist\u00E4llet.\n\nVill du verkligen \u00E4ndra MathPlayer-inst\u00E4llningarna?", - IE9warning: "MathJax kontextuella meny kommer att vara inaktiverade, men du kan Alt-Klicka p\u00E5 ett uttryck f\u00F6r att f\u00E5 MathJax-menyn ist\u00E4llet.", - NoOriginalForm: "Inget ursprungligt format tillg\u00E4ngligt", - EqSource: "MathJax ekvationsk\u00E4lla", - CloseAboutDialog: "St\u00E4ng dialogen \"Om MathJax\"", - FastPreview: "Snabb f\u00F6rhandsvisning", - AssistiveMML: "Assisterande MathML", - InTabOrder: "Inkludera i flikordning" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sv/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sv/TeX.js deleted file mode 100644 index 7e7419a4..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sv/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sv/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sv","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "Extra v\u00E4nsterklammerparentes eller h\u00F6gerklammerparentes saknas", - ExtraCloseMissingOpen: "Extra h\u00F6gerklammerparentes eller v\u00E4nsterklammerparentes saknas", - MissingLeftExtraRight: "Saknad \\left eller en extra \\right", - ExtraLeftMissingRight: "Extra \\left eller en saknad \\right", - Misplaced: "Felplacerad %1", - MissingOpenForSub: "Saknad v\u00E4nsterklammerparentes f\u00F6r index", - MissingOpenForSup: "Saknad v\u00E4nsterklammerparentes f\u00F6r exponent", - AmbiguousUseOf: "Tvetydig anv\u00E4ndning av %1", - EnvBadEnd: "\\begin{%1} slutade med \\end{%2}", - EnvMissingEnd: "Saknad \\end{%1}", - MissingBoxFor: "Saknad l\u00E5da f\u00F6r %1", - MissingCloseBrace: "Saknad h\u00F6gerklammerparentes", - UndefinedControlSequence: "Odefinierad kontrollsekvens %1", - DoubleExponent: "Dubbel exponent: anv\u00E4nd klammerparenteser f\u00F6r att klarg\u00F6ra", - DoubleSubscripts: "Dubbla index: anv\u00E4nd klammerparenteser f\u00F6r att klarg\u00F6ra", - MisplacedMiddle: "%1 m\u00E5ste vara inom \\left och \\right", - MisplacedLimits: "%1 till\u00E5ts endast p\u00E5 operat\u00F6rer", - MisplacedMoveRoot: "%1 kan endast visas inom en rot", - MultipleCommand: "Flera %1", - IntegerArg: "Argumentet till %1 m\u00E5ste vara ett heltal", - NotMathMLToken: "%1 \u00E4r inte ett token-element", - InvalidMathMLAttr: "Ogiltigt MathML-attribut: %1", - UnknownAttrForElement: "%1 \u00E4r inte ett igenk\u00E4ndt attribut f\u00F6r %2", - MissingArgFor: "Saknat argument f\u00F6r %1", - InvalidEnv: "Ogiltigt milj\u00F6namn '%1'", - UnknownEnv: "Ok\u00E4nd milj\u00F6 '%1'", - ExtraCloseLooking: "Extra h\u00F6gerklammerparentes n\u00E4r %1 s\u00F6ktes", - MissingCloseBracket: "Kunde inte hitta avslutande ']' f\u00F6r argumentet till %1", - TokenNotFoundForCommand: "Kunde inte hitta %1 f\u00F6r %2", - CommandNotAllowedInEnv: "%1 till\u00E5ts inte i %2-milj\u00F6n", - MultipleLabel: "Etiketten '%1' definierades flera g\u00E5nger", - CommandAtTheBeginingOfLine: "%1 m\u00E5ste vara i b\u00F6rjan p\u00E5 raden", - IllegalAlign: "Ogiltig justering anges i %1", - MultipleBBoxProperty: "%1 anges tv\u00E5 g\u00E5nger i %2", - ExtraEndMissingBegin: "Extra %1 eller en saknad \\begingroup", - GlobalNotFollowedBy: "%1 f\u00F6ljs inte av \\let, \\def eller \\newcommand", - UndefinedColorModel: "F\u00E4rgmodellen '%1' \u00E4r inte definierad", - InvalidDecimalNumber: "Ogiltig decimaltal", - InvalidNumber: "Ogiltigt nummer", - NoClosingChar: "Kan inte hitta avslutande %1", - IllegalControlSequenceName: "Ogiltigt kontrollsekvensnamn f\u00F6r %1", - IllegalParamNumber: "Ogiltigt antal parametrar anges i %1", - MissingScript: "Saknat argument f\u00F6r exponent- eller indexl\u00E4ge", - DoubleExponentPrime: "Primtecken orsakar dubbla exponenter: Anv\u00E4nd klammerparenteser f\u00F6r att klarg\u00F6ra", - CantUseHash1: "Du kan inte anv\u00E4nda 'makroparameter-tecknet #' i matematikl\u00E4ge", - MaxMacroSub1: "MathJax maximala antal makro-substitutioner har \u00F6verskridits; finns det ett rekursivt makroanrop?", - MaxMacroSub2: "MathJax maximala antal substitutioner har \u00F6verskridits; finns det en rekursiv LaTeX-milj\u00F6?", - ExtraAlignTab: "Extra \u0026-tecken i \\cases-text", - BracketMustBeDimension: "Argumentet innanf\u00F6r klammerparenteser till %1 m\u00E5ste vara en dimension", - MissingOrUnrecognizedDelim: "Saknad eller \u00E4r ok\u00E4nd avgr\u00E4nsare f\u00F6r %1", - MissingDimOrUnits: "Saknar dimension eller dess enheter f\u00F6r %1", - MathNotTerminated: "Matematiskt uttryckt ej avslutat i textrutan", - IllegalMacroParam: "Ogiltig referens till makroparameter", - MaxBufferSize: "MathJax intern buffertstorlek har \u00F6verskridits; finns d\u00E4r ett rekursivt makroanrop?", - BadMathStyleFor: "D\u00E5lig matematikstil f\u00F6r %1", - PositiveIntegerArg: "Argumentet till %1 m\u00E5ste vara ett positivt heltal", - ErroneousNestingEq: "Felaktigt n\u00E4stling av ekvationsstrukturer", - MultlineRowsOneCol: "Raderna inom %1-milj\u00F6n m\u00E5ste ha exakt en kolumn", - InvalidBBoxProperty: "'%1' verkar inte vara en f\u00E4rg, en utfyllnadsdimension eller en stil", - ModelArg1: "F\u00E4rgv\u00E4rden f\u00F6r f\u00E4rgmodell %1 kr\u00E4ver 3 nummer", - ModelArg2: "F\u00E4rgv\u00E4rden f\u00F6r f\u00E4rgmodell %1 m\u00E5ste vara mellan %2 och %3", - NewextarrowArg1: "F\u00F6rsta argumentet till %1 m\u00E5ste vara namnet p\u00E5 en kontrollsekvens", - NewextarrowArg2: "Andra argumentet till %1 m\u00E5ste vara tv\u00E5 heltal separerade av ett komma", - NewextarrowArg3: "Tredje argumentet till %1 m\u00E5ste vara nummeret p\u00E5 ett Unicode-tecken", - MissingCS: "%1 m\u00E5ste f\u00F6ljas av en kontrollsekvens", - CantUseHash2: "Ogiltig anv\u00E4ndning av # i mallen f\u00F6r %1", - SequentialParam: "Parametrar f\u00F6r %1 m\u00E5ste numreras sekventiellt", - MissingReplacementString: "Saknar ers\u00E4ttningsstr\u00E4ngen f\u00F6r definition av %1", - MismatchUseDef: "Anv\u00E4ndning av %1 matchar inte dess definition", - RunawayArgument: "Skenande argument f\u00F6r %1?", - NoClosingDelim: "Kunde inte hitta avslutande avgr\u00E4nsare f\u00F6r %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sv/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/sv.js b/src/py/kaleido/vendor/mathjax/localization/sv/sv.js deleted file mode 100644 index b1deafcc..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/sv/sv.js +++ /dev/null @@ -1,59 +0,0 @@ -/************************************************************* - * - * MathJax/localization/sv/sv.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("sv",null,{ - menuTitle: "svenska", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax har hittat en anv\u00E4ndarkonfigurations-cookie som inneh\u00E5ller kod som kan k\u00F6ras. Vill du k\u00F6ra den?\n\n(Du b\u00F6r trycka p\u00E5 Avbryt om du inte sj\u00E4lv har lagt upp denna cookie.)", - MathProcessingError: "Matematikbearbetningsfel", - MathError: "Matematikfel", - LoadFile: "L\u00E4ser in %1", - Loading: "L\u00E4ser in", - LoadFailed: "Filen kunde inte l\u00E4sas in: %1", - ProcessMath: "Bearbetar matematik: %1%%", - Processing: "Bearbetar", - TypesetMath: "Typs\u00E4tter matematik: %1%%", - Typesetting: "Typs\u00E4ttning", - MathJaxNotSupported: "Din webbl\u00E4sare st\u00F6der inte MathJax", - ErrorTips: "Fels\u00F6kningstips: anv\u00E4nd %%1, inspektera %%2 i webbl\u00E4sarkonsolen" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n === 1) return 1; // one - return 2; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/sv/sv.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/th/FontWarnings.js deleted file mode 100644 index b2c4780b..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/th/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/th/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("th","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax \u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49 \u0E0B\u0E36\u0E48\u0E07\u0E08\u0E30\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E40\u0E27\u0E25\u0E32\u0E1A\u0E49\u0E32\u0E07\u0E43\u0E19\u0E01\u0E32\u0E23\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14 \u0E2B\u0E32\u0E01\u0E17\u0E48\u0E32\u0E19\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E42\u0E2B\u0E25\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E43\u0E2B\u0E49\u0E40\u0E23\u0E47\u0E27 \u0E04\u0E27\u0E23\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19", - imageFonts: "MathJax \u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E0A\u0E19\u0E34\u0E14\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E41\u0E17\u0E19\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A\u0E2B\u0E23\u0E37\u0E2D\u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A \u0E0B\u0E36\u0E48\u0E07\u0E08\u0E30\u0E48\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E20\u0E32\u0E1E (render) \u0E0A\u0E49\u0E32\u0E01\u0E27\u0E48\u0E32\u0E1B\u0E01\u0E15\u0E34 \u0E41\u0E25\u0E30\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E2D\u0E2D\u0E01\u0E17\u0E32\u0E07\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C \u0E08\u0E30\u0E44\u0E21\u0E48\u0E41\u0E2A\u0E14\u0E07\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E44\u0E14\u0E49\u0E40\u0E15\u0E47\u0E21\u0E17\u0E35\u0E48\u0E19\u0E31\u0E01", - noFonts: "MathJax \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E23\u0E30\u0E1A\u0E38\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E02\u0E2D\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C \u0E23\u0E27\u0E21\u0E16\u0E36\u0E07\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E44\u0E14\u0E49 \u0E08\u0E36\u0E07\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E22\u0E39\u0E19\u0E34\u0E42\u0E04\u0E49\u0E14\u0E41\u0E17\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E2B\u0E49\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E41\u0E2A\u0E14\u0E07\u0E2D\u0E2D\u0E01\u0E17\u0E32\u0E07\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E44\u0E14\u0E49 \u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E1A\u0E32\u0E07\u0E15\u0E31\u0E27\u0E2D\u0E32\u0E08\u0E41\u0E2A\u0E14\u0E07\u0E44\u0E21\u0E48\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E1B\u0E23\u0E32\u0E01\u0E0F\u0E40\u0E25\u0E22", - webFonts: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E23\u0E38\u0E48\u0E19\u0E43\u0E2B\u0E21\u0E48\u0E2A\u0E48\u0E27\u0E19\u0E21\u0E32\u0E01\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E1C\u0E48\u0E32\u0E19\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E14\u0E49 \u0E01\u0E32\u0E23\u0E1B\u0E23\u0E31\u0E1A\u0E23\u0E38\u0E48\u0E19\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E43\u0E2B\u0E49\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E38\u0E48\u0E19\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14 (\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C) \u0E2D\u0E32\u0E08\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E04\u0E38\u0E13\u0E20\u0E32\u0E1E\u0E02\u0E2D\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E41\u0E2A\u0E14\u0E07\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E44\u0E14\u0E49", - fonts: "MathJax \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX](%1) \u0E2B\u0E23\u0E37\u0E2D[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 MathJax](%2) \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E25\u0E30\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E41\u0E1A\u0E1A\u0E43\u0E14\u0E41\u0E1A\u0E1A\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax \u0E23\u0E32\u0E1A\u0E23\u0E37\u0E48\u0E19\u0E02\u0E36\u0E49\u0E19", - STIXPage: "\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E16\u0E39\u0E01\u0E2D\u0E2D\u0E01\u0E41\u0E1A\u0E1A\u0E21\u0E32\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX](%1) \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E25\u0E30\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E14\u0E31\u0E07\u0E01\u0E25\u0E48\u0E32\u0E27\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax \u0E23\u0E32\u0E1A\u0E23\u0E37\u0E48\u0E19\u0E02\u0E36\u0E49\u0E19", - TeXPage: "\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E16\u0E39\u0E01\u0E2D\u0E2D\u0E01\u0E41\u0E1A\u0E1A\u0E21\u0E32\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 MathJax TeX](%1) \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E25\u0E30\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E14\u0E31\u0E07\u0E01\u0E25\u0E48\u0E32\u0E27\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax \u0E23\u0E32\u0E1A\u0E23\u0E37\u0E48\u0E19\u0E02\u0E36\u0E49\u0E19" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/th/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/th/HTML-CSS.js deleted file mode 100644 index f2a74104..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/th/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/th/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("th","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A %1", - CantLoadWebFont: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A %1", - FirefoxCantLoadWebFont: "Firefox \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A\u0E08\u0E32\u0E01\u0E42\u0E2E\u0E2A\u0E15\u0E4C\u0E23\u0E30\u0E22\u0E30\u0E44\u0E01\u0E25\u0E44\u0E14\u0E49", - CantFindFontUsing: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E42\u0E14\u0E22\u0E43\u0E0A\u0E49 %1", - WebFontsNotAvailable: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A \u0E08\u0E30\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E41\u0E17\u0E19" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/th/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/th/HelpDialog.js deleted file mode 100644 index 42d25e37..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/th/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/th/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("th","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "\u0E04\u0E27\u0E32\u0E21\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D\u0E41\u0E25\u0E30\u0E27\u0E34\u0E18\u0E35\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax", - MathJax: "*MathJax* \u0E40\u0E1B\u0E47\u0E19\u0E04\u0E25\u0E31\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E08\u0E32\u0E27\u0E32\u0E2A\u0E04\u0E23\u0E34\u0E1B\u0E15\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E43\u0E2B\u0E49\u0E1C\u0E39\u0E49\u0E17\u0E33\u0E40\u0E27\u0E47\u0E1A\u0E43\u0E2A\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E44\u0E27\u0E49\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E02\u0E2D\u0E07\u0E15\u0E19\u0E44\u0E14\u0E49 \u0E42\u0E14\u0E22\u0E17\u0E48\u0E32\u0E19\u0E43\u0E19\u0E10\u0E32\u0E19\u0E30\u0E1C\u0E39\u0E49\u0E2D\u0E48\u0E32\u0E19\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E21\u0E48\u0E08\u0E33\u0E15\u0E49\u0E2D\u0E07\u0E17\u0E33\u0E2A\u0E34\u0E48\u0E07\u0E2D\u0E37\u0E48\u0E19\u0E43\u0E14\u0E40\u0E25\u0E22", - Browsers: "*\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C*: MathJax \u0E17\u0E33\u0E07\u0E32\u0E19\u0E23\u0E48\u0E27\u0E21\u0E01\u0E31\u0E1A\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E23\u0E38\u0E48\u0E19\u0E43\u0E2B\u0E21\u0E48 \u0E46 \u0E44\u0E14\u0E49 \u0E2D\u0E32\u0E17\u0E34 IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ \u0E41\u0E25\u0E30\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E21\u0E37\u0E2D\u0E16\u0E37\u0E2D\u0E2A\u0E48\u0E27\u0E19\u0E43\u0E2B\u0E0D\u0E48", - Menu: "*\u0E40\u0E21\u0E19\u0E39\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C*: MathJax \u0E08\u0E30\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E21\u0E19\u0E39\u0E01\u0E33\u0E01\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E25\u0E30\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E44\u0E27\u0E49 \u0E0B\u0E36\u0E48\u0E07\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E25\u0E34\u0E01\u0E02\u0E27\u0E32\u0E17\u0E35\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E43\u0E14 \u0E46 \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E44\u0E14\u0E49", - ShowMath: "*\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E23\u0E39\u0E1B* \u0E40\u0E1B\u0E47\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E0B\u0E36\u0E48\u0E07\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2D\u0E48\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E15\u0E49\u0E19\u0E09\u0E1A\u0E31\u0E1A\u0E02\u0E2D\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E19\u0E31\u0E49\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E44\u0E1B\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 (\u0E40\u0E0A\u0E48\u0E19 MathML \u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E40\u0E14\u0E34\u0E21\u0E02\u0E2D\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E19\u0E31\u0E49\u0E19)", - Settings: "*\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32* \u0E17\u0E33\u0E43\u0E2B\u0E49\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E15\u0E48\u0E32\u0E07 \u0E46 \u0E02\u0E2D\u0E07 MathJax \u0E2D\u0E32\u0E17\u0E34 \u0E02\u0E19\u0E32\u0E14\u0E2A\u0E21\u0E01\u0E32\u0E23 \u0E41\u0E25\u0E30\u0E27\u0E34\u0E18\u0E35\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48\u0E43\u0E0A\u0E49\u0E43\u0E19\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23", - Language: "*\u0E20\u0E32\u0E29\u0E32* \u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E20\u0E32\u0E29\u0E32\u0E17\u0E35\u0E48 MathJax \u0E41\u0E2A\u0E14\u0E07\u0E43\u0E19\u0E40\u0E21\u0E19\u0E39\u0E41\u0E25\u0E30\u0E04\u0E33\u0E40\u0E15\u0E37\u0E2D\u0E19\u0E15\u0E48\u0E32\u0E07 \u0E46 \u0E44\u0E14\u0E49", - Zoom: "*\u0E0B\u0E39\u0E21\u0E2A\u0E21\u0E01\u0E32\u0E23*: \u0E16\u0E49\u0E32\u0E17\u0E48\u0E32\u0E19\u0E21\u0E35\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E43\u0E19\u0E01\u0E32\u0E23\u0E2D\u0E48\u0E32\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48\u0E21\u0E35\u0E15\u0E31\u0E27\u0E2B\u0E19\u0E31\u0E07\u0E2A\u0E37\u0E2D\u0E40\u0E25\u0E47\u0E01 MathJax \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E02\u0E22\u0E32\u0E22\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E19\u0E31\u0E49\u0E19\u0E43\u0E2B\u0E49\u0E43\u0E2B\u0E0D\u0E48\u0E21\u0E2D\u0E07\u0E40\u0E2B\u0E47\u0E19\u0E07\u0E48\u0E32\u0E22\u0E02\u0E36\u0E49\u0E19", - Accessibilty: "*\u0E04\u0E27\u0E32\u0E21\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E44\u0E14\u0E49*: MathJax \u0E08\u0E30\u0E17\u0E33\u0E07\u0E32\u0E19\u0E01\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E2D\u0E48\u0E32\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E42\u0E14\u0E22\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34 \u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E2D\u0E48\u0E32\u0E19\u0E44\u0E14\u0E49\u0E07\u0E48\u0E32\u0E22 \u0E42\u0E14\u0E22\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E1C\u0E39\u0E49\u0E21\u0E35\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E17\u0E32\u0E07\u0E2A\u0E32\u0E22\u0E15\u0E32", - Fonts: "*\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23*: MathJax \u0E08\u0E30\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E21\u0E35\u0E1A\u0E19\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E41\u0E25\u0E49\u0E27 \u0E2B\u0E23\u0E37\u0E2D\u0E16\u0E49\u0E32\u0E44\u0E21\u0E48\u0E21\u0E35\u0E08\u0E30\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A \u0E2D\u0E22\u0E48\u0E32\u0E07\u0E44\u0E23\u0E01\u0E47\u0E15\u0E32\u0E21\u0E16\u0E49\u0E32\u0E21\u0E35\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E44\u0E27\u0E49\u0E1A\u0E19\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07 \u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E08\u0E30\u0E23\u0E27\u0E14\u0E40\u0E23\u0E47\u0E27 \u0E40\u0E23\u0E32\u0E02\u0E2D\u0E41\u0E19\u0E30\u0E19\u0E33\u0E43\u0E2B\u0E49\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX](%1)", - CloseDialog: "\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/th/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/MathML.js b/src/py/kaleido/vendor/mathjax/localization/th/MathML.js deleted file mode 100644 index 85ae2a74..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/th/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/th/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("th","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "mglyph \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14: %1", - BadMglyphFont: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14: %1", - MathPlayer: "MathJax \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 MathPlayer \u0E44\u0E14\u0E49\n\n\u0E16\u0E49\u0E32\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07 MathPlayer \u0E02\u0E2D\u0E43\u0E2B\u0E49\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E01\u0E48\u0E2D\u0E19\n\u0E21\u0E34\u0E09\u0E30\u0E19\u0E31\u0E49\u0E19\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E04\u0E27\u0E32\u0E21\u0E1B\u0E25\u0E2D\u0E14\u0E20\u0E31\u0E22\u0E08\u0E30\u0E01\u0E35\u0E14\u0E01\u0E31\u0E19\u0E21\u0E34\u0E43\u0E2B\u0E49\u0E15\u0E31\u0E27\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21 ActiveX\n\u0E17\u0E33\u0E07\u0E32\u0E19\u0E44\u0E14\u0E49 \u0E40\u0E02\u0E49\u0E32\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E40\u0E21\u0E19\u0E39 Tools \u0E41\u0E25\u0E49\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01 Internet Options \u0E08\u0E32\u0E01\u0E19\u0E31\u0E49\u0E19\u0E40\u0E25\u0E37\u0E2D\u0E01\n\u0E41\u0E17\u0E47\u0E1A Security \u0E41\u0E25\u0E49\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01 Custom Level \u0E01\u0E48\u0E2D\u0E19\u0E08\u0E30\u0E17\u0E33\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E16\u0E39\u0E01\u0E17\u0E35\u0E48\n'Run ActiveX Controls' \u0E41\u0E25\u0E30 'Binary and script behaviors'\n\n\u0E13 \u0E02\u0E13\u0E30\u0E19\u0E35\u0E49\u0E17\u0E48\u0E32\u0E19\u0E08\u0E30\u0E40\u0E2B\u0E47\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C", - CantCreateXMLParser: "MathJax \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E15\u0E31\u0E27\u0E41\u0E1A\u0E48\u0E07\u0E41\u0E25\u0E30\u0E2D\u0E48\u0E32\u0E19 XML \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E43\u0E0A\u0E49\u0E43\u0E19 MathML \u0E42\u0E1B\u0E23\u0E14\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E27\u0E48\u0E32\n\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E04\u0E27\u0E32\u0E21\u0E1B\u0E25\u0E2D\u0E14\u0E20\u0E31\u0E22 'Script ActiveX controls marked safe for scripting'\n\u0E16\u0E39\u0E01\u0E40\u0E1B\u0E34\u0E14\u0E2D\u0E22\u0E39\u0E48 (\u0E40\u0E02\u0E49\u0E32\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E40\u0E21\u0E19\u0E39 Tools \u0E40\u0E25\u0E37\u0E2D\u0E01 Internet Options \u0E08\u0E32\u0E01\u0E19\u0E31\u0E49\u0E19\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E41\u0E17\u0E47\u0E1A Security \n\u0E41\u0E25\u0E49\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01 Custom Level \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E44\u0E1B).\n\n\u0E2A\u0E21\u0E01\u0E32\u0E23 MathML \u0E08\u0E30\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E16\u0E39\u0E01\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E44\u0E14\u0E49\u0E42\u0E14\u0E22 MathJax", - UnknownNodeType: "\u0E0A\u0E19\u0E34\u0E14\u0E42\u0E2B\u0E19\u0E14\u0E44\u0E21\u0E48\u0E17\u0E23\u0E32\u0E1A: %1", - UnexpectedTextNode: "\u0E42\u0E2B\u0E19\u0E14\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: %1", - ErrorParsingMathML: "\u0E01\u0E32\u0E23\u0E41\u0E1A\u0E48\u0E07\u0E15\u0E2D\u0E19\u0E41\u0E25\u0E30\u0E2D\u0E48\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 (parsing) MathML \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", - ParsingError: "\u0E01\u0E32\u0E23\u0E41\u0E1A\u0E48\u0E07\u0E15\u0E2D\u0E19\u0E41\u0E25\u0E30\u0E2D\u0E48\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 MathML: %1 \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", - MathMLSingleElement: "MathML \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E20\u0E32\u0E22\u0E43\u0E15\u0E49 \u003Cmath\u003E \u0E40\u0E1E\u0E35\u0E22\u0E07\u0E2D\u0E31\u0E19\u0E40\u0E14\u0E35\u0E22\u0E27\u0E08\u0E30\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49", - MathMLRootElement: "MathML \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E20\u0E32\u0E22\u0E43\u0E15\u0E49 \u003Cmath\u003E \u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48 %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/th/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/th/MathMenu.js deleted file mode 100644 index af739943..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/th/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/th/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("th","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E23\u0E39\u0E1B", - MathMLcode: "\u0E23\u0E2B\u0E31\u0E2A MathML", - OriginalMathML: "MathML \u0E14\u0E31\u0E49\u0E07\u0E40\u0E14\u0E34\u0E21", - TeXCommands: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 TeX", - AsciiMathInput: "\u0E2D\u0E34\u0E19\u0E1E\u0E38\u0E15 AsciiMathML", - Original: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E40\u0E14\u0E34\u0E21", - ErrorMessage: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", - Annotation: "\u0E04\u0E33\u0E2D\u0E18\u0E34\u0E1A\u0E32\u0E22\u0E01\u0E33\u0E01\u0E31\u0E1A", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "\u0E40\u0E19\u0E37\u0E49\u0E2D\u0E2B\u0E32 MathML", - OpenMath: "OpenMath", - texHints: "\u0E41\u0E2A\u0E14\u0E07\u0E04\u0E33\u0E41\u0E19\u0E30\u0E19\u0E33 TeX \u0E43\u0E19 MathML", - Settings: "\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C", - ZoomTrigger: "\u0E01\u0E32\u0E23\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22", - Hover: "\u0E25\u0E32\u0E01\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E04\u0E49\u0E32\u0E07", - Click: "\u0E04\u0E25\u0E34\u0E01", - DoubleClick: "\u0E04\u0E25\u0E34\u0E01\u0E2A\u0E2D\u0E07\u0E04\u0E23\u0E31\u0E49\u0E07", - NoZoom: "\u0E02\u0E19\u0E32\u0E14\u0E40\u0E14\u0E34\u0E21", - TriggerRequires: "\u0E01\u0E32\u0E23\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35:", - Option: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01", - Alt: "Alt", - Command: "Command", - Control: "Control", - Shift: "Shift", - ZoomFactor: "\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22", - Renderer: "\u0E15\u0E31\u0E27\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C", - MPHandles: "\u0E43\u0E2B\u0E49 MathPlayer \u0E08\u0E31\u0E14\u0E01\u0E32\u0E23\u0E2A\u0E34\u0E48\u0E07\u0E15\u0E48\u0E2D\u0E44\u0E1B\u0E19\u0E35\u0E49:", - MenuEvents: "\u0E40\u0E2B\u0E15\u0E38\u0E01\u0E32\u0E23\u0E13\u0E4C\u0E40\u0E21\u0E19\u0E39", - MouseEvents: "\u0E40\u0E2B\u0E15\u0E38\u0E01\u0E32\u0E23\u0E13\u0E4C\u0E40\u0E21\u0E32\u0E2A\u0E4C", - MenuAndMouse: "\u0E40\u0E2B\u0E15\u0E38\u0E01\u0E32\u0E23\u0E13\u0E4C\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E41\u0E25\u0E30\u0E40\u0E21\u0E19\u0E39", - FontPrefs: "\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23", - ForHTMLCSS: "\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A HTML-CSS:", - Auto: "\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34", - TeXLocal: "TeX (\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A)", - TeXWeb: "TeX (\u0E40\u0E27\u0E47\u0E1A)", - TeXImage: "TeX (\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E)", - STIXLocal: "STIX (\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A)", - STIXWeb: "STIX (\u0E40\u0E27\u0E47\u0E1A)", - AsanaMathWeb: "Asana Math (\u0E40\u0E27\u0E47\u0E1A)", - GyrePagellaWeb: "Gyre Pagella (\u0E40\u0E27\u0E47\u0E1A)", - GyreTermesWeb: "Gyre Termes (\u0E40\u0E27\u0E47\u0E1A)", - LatinModernWeb: "Latin Modern (\u0E40\u0E27\u0E47\u0E1A)", - NeoEulerWeb: "Neo Euler (\u0E40\u0E27\u0E47\u0E1A)", - ContextMenu: "\u0E40\u0E21\u0E19\u0E39\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E04\u0E25\u0E34\u0E01\u0E02\u0E27\u0E32", - Browser: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C", - Scale: "\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14 ...", - Discoverable: "\u0E40\u0E19\u0E49\u0E19\u0E2A\u0E35\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E0A\u0E35\u0E49\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E04\u0E49\u0E32\u0E07\u0E44\u0E27\u0E49", - Locale: "\u0E20\u0E32\u0E29\u0E32", - LoadLocale: "\u0E42\u0E2B\u0E25\u0E14\u0E08\u0E32\u0E01\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 URL ...", - About: "\u0E40\u0E01\u0E35\u0E48\u0E22\u0E27\u0E01\u0E31\u0E1A MathJax", - Help: "\u0E04\u0E27\u0E32\u0E21\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D\u0E41\u0E25\u0E30\u0E27\u0E34\u0E18\u0E35\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax", - localTeXfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 TeX \u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A", - webTeXfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 TeX \u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A", - imagefonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E", - localSTIXfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX \u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A", - webSVGfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 SVG \u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A", - genericfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E22\u0E39\u0E19\u0E34\u0E42\u0E04\u0E49\u0E14\u0E17\u0E31\u0E48\u0E27\u0E44\u0E1B", - wofforotffonts: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 WOFF \u0E2B\u0E23\u0E37\u0E2D OTF", - eotffonts: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 EOT", - svgfonts: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 SVG", - WebkitNativeMMLWarning: "\u0E14\u0E39\u0E40\u0E2B\u0E21\u0E37\u0E2D\u0E19\u0E27\u0E48\u0E32\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A MathML \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19 \u0E01\u0E32\u0E23\u0E1B\u0E23\u0E31\u0E1A\u0E44\u0E1B\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25 MathML \u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E2D\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E2D\u0E2D\u0E01", - MSIENativeMMLWarning: "Internet Explorer \u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 MathPlayer \u0E43\u0E19\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25 MathML", - OperaNativeMMLWarning: "\u0E01\u0E32\u0E23\u0E2A\u0E19\u0E31\u0E1A\u0E2A\u0E19\u0E38\u0E19 MathML \u0E43\u0E19 Opera's \u0E21\u0E35\u0E08\u0E33\u0E01\u0E31\u0E14 \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E31\u0E1A\u0E44\u0E1B\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25 MathML \u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E1A\u0E32\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E44\u0E21\u0E48\u0E04\u0E21\u0E0A\u0E31\u0E14", - SafariNativeMMLWarning: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E14\u0E49\u0E27\u0E22 MathML \u0E41\u0E15\u0E48\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E17\u0E35\u0E48 MathJax \u0E43\u0E0A\u0E49\u0E44\u0E14\u0E49 \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E1A\u0E32\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E2D\u0E32\u0E08\u0E44\u0E21\u0E48\u0E04\u0E21\u0E0A\u0E31\u0E14", - FirefoxNativeMMLWarning: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E14\u0E49\u0E27\u0E22 MathML \u0E41\u0E15\u0E48\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E17\u0E35\u0E48 MathJax \u0E43\u0E0A\u0E49\u0E44\u0E14\u0E49 \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E1A\u0E32\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E2D\u0E32\u0E08\u0E44\u0E21\u0E48\u0E04\u0E21\u0E0A\u0E31\u0E14", - MSIESVGWarning: "SVG \u0E44\u0E21\u0E48\u0E21\u0E35\u0E43\u0E19 Internet Explorer \u0E23\u0E38\u0E48\u0E19\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32 IE9 \u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E42\u0E2B\u0E21\u0E14\u0E04\u0E27\u0E32\u0E21\u0E40\u0E02\u0E49\u0E32\u0E01\u0E31\u0E19\u0E44\u0E14\u0E49\u0E01\u0E31\u0E1A IE8 \u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E38\u0E48\u0E19\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32 \u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E44\u0E1B\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E40\u0E1B\u0E47\u0E19 SVG \u0E08\u0E30\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E41\u0E2A\u0E14\u0E07\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19", - LoadURL: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E08\u0E32\u0E01\u0E25\u0E34\u0E07\u0E01\u0E4C\u0E15\u0E48\u0E2D\u0E44\u0E1B\u0E19\u0E35\u0E49:", - BadURL: "\u0E25\u0E34\u0E07\u0E01\u0E4C\u0E04\u0E27\u0E23\u0E08\u0E30\u0E40\u0E1B\u0E47\u0E19\u0E41\u0E1F\u0E49\u0E21\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E08\u0E32\u0E27\u0E32\u0E2A\u0E04\u0E23\u0E34\u0E1B\u0E15\u0E4C\u0E0B\u0E36\u0E48\u0E07\u0E23\u0E30\u0E1A\u0E38\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25 MathJax \u0E17\u0E31\u0E49\u0E07\u0E19\u0E35\u0E49\u0E41\u0E1F\u0E49\u0E21\u0E08\u0E32\u0E27\u0E32\u0E2A\u0E04\u0E23\u0E34\u0E1B\u0E15\u0E4C\u0E04\u0E27\u0E23\u0E08\u0E30\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 '.js'", - BadData: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E08\u0E32\u0E01 %1", - SwitchAnyway: "\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E15\u0E31\u0E27\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E20\u0E32\u0E1E/\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E40\u0E14\u0E35\u0E4B\u0E22\u0E27\u0E19\u0E35\u0E49\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\n\n(\u0E01\u0E14 \u0E15\u0E01\u0E25\u0E07 \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19 \u0E2B\u0E23\u0E37\u0E2D\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01 \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E15\u0E31\u0E27\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E15\u0E31\u0E27\u0E40\u0E14\u0E34\u0E21)", - ScaleMath: "\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14 (\u0E40\u0E17\u0E35\u0E22\u0E1A\u0E01\u0E31\u0E1A\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E02\u0E49\u0E32\u0E07\u0E40\u0E04\u0E35\u0E22\u0E07) \u0E42\u0E14\u0E22\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19", - NonZeroScale: "\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19\u0E44\u0E21\u0E48\u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E28\u0E39\u0E19\u0E22\u0E4C", - PercentScale: "\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19\u0E04\u0E27\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E49\u0E2D\u0E22\u0E25\u0E30 (\u0E40\u0E0A\u0E48\u0E19 120%%)", - IE8warning: "\u0E01\u0E32\u0E23\u0E01\u0E23\u0E30\u0E17\u0E33\u0E19\u0E35\u0E49\u0E08\u0E30\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E40\u0E21\u0E19\u0E39 MathJax \u0E23\u0E27\u0E21\u0E16\u0E36\u0E07\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22\u0E2A\u0E21\u0E01\u0E32\u0E23 \u0E41\u0E15\u0E48\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E01\u0E14\u0E1B\u0E38\u0E48\u0E21 Alt \u0E41\u0E25\u0E49\u0E27\u0E04\u0E25\u0E34\u0E01\u0E17\u0E35\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E21\u0E19\u0E39\u0E44\u0E14\u0E49\n\n\u0E17\u0E48\u0E32\u0E19\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 MathPlayer \u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?", - IE9warning: "\u0E40\u0E21\u0E19\u0E39\u0E01\u0E33\u0E01\u0E31\u0E1A\u0E2A\u0E21\u0E01\u0E32\u0E23 MathJax \u0E08\u0E30\u0E16\u0E39\u0E01\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 \u0E41\u0E15\u0E48\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E01\u0E14\u0E1B\u0E38\u0E48\u0E21 Alt \u0E41\u0E25\u0E49\u0E27\u0E04\u0E25\u0E34\u0E01\u0E17\u0E35\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E21\u0E19\u0E39\u0E41\u0E17\u0E19\u0E44\u0E14\u0E49", - NoOriginalForm: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E14\u0E31\u0E49\u0E07\u0E40\u0E14\u0E34\u0E21", - Close: "\u0E1B\u0E34\u0E14", - EqSource: "\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E15\u0E49\u0E19\u0E09\u0E1A\u0E31\u0E1A MathJax", - CloseAboutDialog: "\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E40\u0E01\u0E35\u0E48\u0E22\u0E27\u0E01\u0E31\u0E1A MathJax", - FastPreview: "\u0E41\u0E2A\u0E14\u0E07\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E40\u0E23\u0E48\u0E07\u0E14\u0E48\u0E27\u0E19", - AssistiveMML: "MathML \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D", - InTabOrder: "\u0E23\u0E27\u0E21\u0E44\u0E27\u0E49\u0E43\u0E19\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E41\u0E17\u0E47\u0E1A" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/th/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/TeX.js b/src/py/kaleido/vendor/mathjax/localization/th/TeX.js deleted file mode 100644 index 28e9c04a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/th/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/th/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("th","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u0E21\u0E35\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E01\u0E34\u0E19\u0E21\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14", - ExtraCloseMissingOpen: "\u0E21\u0E35\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14\u0E40\u0E01\u0E34\u0E19\u0E21\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14", - MissingLeftExtraRight: "\u0E02\u0E32\u0E14 \\left \u0E2B\u0E23\u0E37\u0E2D\u0E21\u0E35 \\right \u0E40\u0E01\u0E34\u0E19\u0E21\u0E32", - MissingScript: "\u0E15\u0E31\u0E27\u0E22\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E15\u0E31\u0E27\u0E2B\u0E49\u0E2D\u0E22\u0E27\u0E48\u0E32\u0E07\u0E40\u0E1B\u0E25\u0E48\u0E32", - ExtraLeftMissingRight: "\u0E21\u0E35 \\left \u0E40\u0E01\u0E34\u0E19\u0E21\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14 \\right", - Misplaced: "\u0E27\u0E32\u0E07 %1 \u0E1C\u0E34\u0E14\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07", - MissingOpenForSub: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E2B\u0E49\u0E2D\u0E22", - MissingOpenForSup: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E22\u0E01", - AmbiguousUseOf: "\u0E1E\u0E1A\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19", - EnvBadEnd: "\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 \\begin{%1} \u0E41\u0E15\u0E48\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 \\end{%2}", - EnvMissingEnd: "\u0E25\u0E37\u0E21\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 \\end{%1}", - MissingBoxFor: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %1", - MissingCloseBrace: "\u0E02\u0E32\u0E14\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14", - UndefinedControlSequence: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E44\u0E21\u0E48\u0E17\u0E23\u0E32\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E21\u0E32\u0E22\u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E30\u0E1A\u0E38\u0E44\u0E21\u0E48\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19 %1", - DoubleExponent: "\u0E15\u0E31\u0E27\u0E22\u0E01\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19 \u0E42\u0E1B\u0E23\u0E14\u0E43\u0E0A\u0E49\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E49\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19", - DoubleSubscripts: "\u0E15\u0E31\u0E27\u0E2B\u0E49\u0E2D\u0E22\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19 \u0E42\u0E1B\u0E23\u0E14\u0E43\u0E0A\u0E49\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E49\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19", - DoubleExponentPrime: "\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E44\u0E1E\u0E23\u0E21\u0E4C (Prime) \u0E27\u0E32\u0E07\u0E44\u0E27\u0E49\u0E43\u0E19\u0E25\u0E31\u0E01\u0E29\u0E13\u0E30\u0E15\u0E31\u0E27\u0E22\u0E01\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19 \u0E42\u0E1B\u0E23\u0E14\u0E43\u0E0A\u0E49\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E49\u0E08\u0E31\u0E14\u0E40\u0E08\u0E19", - CantUseHash1: "\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49 '\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E1E\u0E32\u0E23\u0E32\u0E21\u0E34\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E21\u0E32\u0E42\u0E04\u0E23 #' \u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E44\u0E14\u0E49", - MisplacedMiddle: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04 %1 \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07 \\left \u0E41\u0E25\u0E30 \\right", - MisplacedLimits: "\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49 %1 \u0E01\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19", - MisplacedMoveRoot: "\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04 %1 \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2D\u0E22\u0E39\u0E48\u0E44\u0E14\u0E49\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E20\u0E32\u0E22\u0E43\u0E19\u0E23\u0E32\u0E01\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19", - MultipleCommand: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19", - IntegerArg: "\u0E2D\u0E32\u0E23\u0E4C\u0E01\u0E34\u0E27\u0E40\u0E21\u0E19\u0E15\u0E4C\u0E02\u0E2D\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21", - NotMathMLToken: "%1 \u0E44\u0E21\u0E48\u0E16\u0E37\u0E2D\u0E40\u0E1B\u0E47\u0E19 token element", - InvalidMathMLAttr: "\u0E41\u0E2D\u0E15\u0E17\u0E23\u0E34\u0E1A\u0E34\u0E27\u0E15\u0E4C MathML \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14: %1", - UnknownAttrForElement: "%1 \u0E44\u0E21\u0E48\u0E16\u0E37\u0E2D\u0E40\u0E1B\u0E47\u0E19\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E2D\u0E15\u0E17\u0E23\u0E34\u0E1A\u0E34\u0E27\u0E15\u0E4C\u0E17\u0E35\u0E48\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A %2 \u0E44\u0E14\u0E49", - MaxMacroSub1: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E01\u0E32\u0E23\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E21\u0E32\u0E42\u0E04\u0E23\u0E02\u0E2D\u0E07 MathJax \u0E40\u0E25\u0E22\u0E04\u0E48\u0E32\u0E2A\u0E39\u0E07\u0E2A\u0E38\u0E14 \u0E2D\u0E32\u0E08\u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E01\u0E43\u0E0A\u0E49\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E41\u0E1A\u0E1A\u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E1A?", - MaxMacroSub2: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E01\u0E32\u0E23\u0E41\u0E17\u0E19\u0E04\u0E48\u0E32 MathJax \u0E40\u0E25\u0E22\u0E04\u0E48\u0E32\u0E2A\u0E39\u0E07\u0E2A\u0E38\u0E14 \u0E2D\u0E32\u0E08\u0E08\u0E30\u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E01\u0E43\u0E0A\u0E49\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E41\u0E1A\u0E1A\u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E1A?", - MissingArgFor: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E21\u0E35\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E08\u0E33\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E21\u0E48\u0E04\u0E23\u0E1A\u0E16\u0E49\u0E27\u0E19", - ExtraAlignTab: "\u0E21\u0E35\u0E41\u0E17\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E27\u0E32\u0E07\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21 \\cases", - BracketMustBeDimension: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E19\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E02\u0E19\u0E32\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E21\u0E34\u0E15\u0E34", - InvalidEnv: "\u0E0A\u0E37\u0E48\u0E2D\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 '%1'\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", - UnknownEnv: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 (environment) \u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E17\u0E23\u0E32\u0E1A\u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E1B\u0E25\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E21\u0E32\u0E22\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49 '%1'", - ExtraCloseLooking: "\u0E21\u0E35\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14\u0E40\u0E01\u0E34\u0E19\u0E02\u0E13\u0E30\u0E17\u0E35\u0E48\u0E15\u0E23\u0E27\u0E08\u0E2B\u0E32 %1", - MissingCloseBracket: "\u0E44\u0E21\u0E48\u0E1E\u0E1A ']' \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", - MissingOrUnrecognizedDelim: "\u0E15\u0E31\u0E27\u0E04\u0E31\u0E48\u0E19\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A %1 \u0E2B\u0E32\u0E22\u0E44\u0E1B \u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01", - MissingDimOrUnits: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E19\u0E48\u0E27\u0E22\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", - TokenNotFoundForCommand: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E49\u0E19\u0E2B\u0E32 %1 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %2", - MathNotTerminated: "\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E43\u0E19\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1B\u0E34\u0E14\u0E44\u0E21\u0E48\u0E40\u0E23\u0E35\u0E22\u0E1A\u0E23\u0E49\u0E2D\u0E22", - IllegalMacroParam: "\u0E01\u0E32\u0E23\u0E2D\u0E49\u0E32\u0E07\u0E16\u0E36\u0E07\u0E1E\u0E32\u0E23\u0E32\u0E21\u0E34\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E21\u0E32\u0E42\u0E04\u0E23\u0E1C\u0E34\u0E14\u0E2B\u0E25\u0E31\u0E01\u0E40\u0E01\u0E13\u0E11\u0E4C", - MaxBufferSize: "\u0E1A\u0E31\u0E1F\u0E40\u0E1F\u0E2D\u0E23\u0E4C\u0E20\u0E32\u0E22\u0E43\u0E19\u0E02\u0E2D\u0E07 MathJax \u0E25\u0E49\u0E19\u0E40\u0E01\u0E34\u0E19\u0E02\u0E19\u0E32\u0E14 \u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E01\u0E21\u0E32\u0E42\u0E04\u0E23\u0E41\u0E1A\u0E1A\u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?", - CommandNotAllowedInEnv: "\u0E44\u0E21\u0E48\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E20\u0E32\u0E22\u0E43\u0E19\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %2", - MultipleLabel: "\u0E1B\u0E49\u0E32\u0E22\u0E23\u0E30\u0E1A\u0E38 '%1' \u0E21\u0E35\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19\u0E01\u0E31\u0E19", - CommandAtTheBeginingOfLine: "%1 \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E15\u0E49\u0E19\u0E1A\u0E23\u0E23\u0E17\u0E31\u0E14", - IllegalAlign: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E01\u0E32\u0E23\u0E08\u0E31\u0E14\u0E27\u0E32\u0E07\u0E43\u0E19 %1 \u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", - BadMathStyleFor: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %1 \u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", - PositiveIntegerArg: "\u0E2D\u0E32\u0E23\u0E4C\u0E01\u0E34\u0E27\u0E40\u0E21\u0E19\u0E15\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21\u0E1A\u0E27\u0E01", - ErroneousNestingEq: "\u0E01\u0E32\u0E23\u0E08\u0E31\u0E14\u0E40\u0E23\u0E35\u0E22\u0E07\u0E42\u0E04\u0E23\u0E07\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E0B\u0E49\u0E2D\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E21\u0E35\u0E04\u0E27\u0E32\u0E21\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", - MultlineRowsOneCol: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E41\u0E16\u0E27\u0E43\u0E19\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35\u0E08\u0E33\u0E19\u0E27\u0E19\u0E04\u0E2D\u0E25\u0E31\u0E21\u0E19\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E25\u0E31\u0E01\u0E40\u0E1E\u0E35\u0E22\u0E07\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19", - MultipleBBoxProperty: "\u0E23\u0E30\u0E1A\u0E38 %1 \u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E43\u0E19 %2", - InvalidBBoxProperty: "\u0E14\u0E39\u0E40\u0E2B\u0E21\u0E37\u0E2D\u0E19\u0E27\u0E48\u0E32 '%1' \u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48\u0E2A\u0E35 \u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E15\u0E34\u0E21 \u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A", - ExtraEndMissingBegin: "\u0E21\u0E35 %1 \u0E40\u0E01\u0E34\u0E19 \u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14 \\begingroup", - GlobalNotFollowedBy: "%1 \u0E44\u0E21\u0E48\u0E15\u0E32\u0E21\u0E14\u0E49\u0E27\u0E22 \\let, \\def, \u0E2B\u0E23\u0E37\u0E2D \\newcommand", - UndefinedColorModel: "\u0E41\u0E1A\u0E1A\u0E08\u0E33\u0E25\u0E2D\u0E07\u0E2A\u0E35 '%1' \u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E19\u0E34\u0E22\u0E32\u0E21", - ModelArg1: "\u0E04\u0E48\u0E32\u0E2A\u0E35\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E1A\u0E1A\u0E08\u0E33\u0E25\u0E2D\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02 3 \u0E15\u0E31\u0E27", - InvalidDecimalNumber: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E17\u0E28\u0E19\u0E34\u0E22\u0E21\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", - ModelArg2: "\u0E04\u0E48\u0E32\u0E2A\u0E35\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E1A\u0E1A\u0E08\u0E33\u0E25\u0E2D\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07 %2 \u0E41\u0E25\u0E30 %3", - InvalidNumber: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", - NewextarrowArg1: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E41\u0E23\u0E01\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E0A\u0E37\u0E48\u0E2D\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21", - NewextarrowArg2: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E2A\u0E2D\u0E07\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21\u0E2A\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E04\u0E31\u0E48\u0E19\u0E14\u0E49\u0E27\u0E22\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E08\u0E38\u0E25\u0E20\u0E32\u0E04", - NewextarrowArg3: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E2A\u0E32\u0E21\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E2B\u0E31\u0E2A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A\u0E22\u0E39\u0E19\u0E34\u0E42\u0E04\u0E49\u0E14", - NoClosingChar: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14 %1", - IllegalControlSequenceName: "\u0E0A\u0E37\u0E48\u0E2D\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E1C\u0E34\u0E14\u0E01\u0E0E\u0E40\u0E01\u0E13\u0E11\u0E4C", - IllegalParamNumber: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E23\u0E30\u0E1A\u0E38\u0E43\u0E19 %1 \u0E1C\u0E34\u0E14\u0E01\u0E0E\u0E40\u0E01\u0E13\u0E11\u0E4C (\u0E02\u0E32\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E01\u0E34\u0E19)", - MissingCS: "%1 \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E32\u0E21\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21", - CantUseHash2: "\u0E1E\u0E1A\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49 # \u0E0B\u0E36\u0E48\u0E07\u0E1C\u0E34\u0E14\u0E2B\u0E25\u0E31\u0E01\u0E40\u0E01\u0E13\u0E11\u0E4C\u0E43\u0E19\u0E41\u0E21\u0E48\u0E41\u0E1A\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", - SequentialParam: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E23\u0E35\u0E22\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E25\u0E33\u0E14\u0E31\u0E1A", - MissingReplacementString: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E15\u0E31\u0E27\u0E41\u0E17\u0E19\u0E2A\u0E32\u0E22\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E43\u0E19\u0E19\u0E34\u0E22\u0E32\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", - MismatchUseDef: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E19\u0E34\u0E22\u0E32\u0E21\u0E40\u0E14\u0E34\u0E21\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07", - RunawayArgument: "\u0E21\u0E35\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E25\u0E30\u0E40\u0E27\u0E49\u0E19\u0E44\u0E27\u0E49\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1?", - NoClosingDelim: "\u0E44\u0E21\u0E48\u0E1E\u0E1A closing delimiter \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/th/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/th.js b/src/py/kaleido/vendor/mathjax/localization/th/th.js deleted file mode 100644 index 60772ff5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/th/th.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/th/th.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("th",null,{ - menuTitle: "\u0E44\u0E17\u0E22", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", - MathError: "\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", - LoadFile: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14 %1", - Loading: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14", - LoadFailed: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1F\u0E49\u0E21\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25: %1", - ProcessMath: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C: %1%%", - Processing: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25", - TypesetMath: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E40\u0E23\u0E35\u0E22\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C: %1%%", - Typesetting: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E40\u0E23\u0E35\u0E22\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C", - MathJaxNotSupported: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E2A\u0E19\u0E31\u0E1A\u0E2A\u0E19\u0E38\u0E19 MathJax", - ErrorTips: "\u0E02\u0E49\u0E2D\u0E41\u0E19\u0E30\u0E19\u0E33\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02: \u0E43\u0E0A\u0E49 %%1 \u0E41\u0E25\u0E30\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A %%2 \u0E43\u0E19\u0E04\u0E2D\u0E19\u0E42\u0E0B\u0E25\u0E02\u0E2D\u0E07\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/th/th.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/tr/FontWarnings.js deleted file mode 100644 index 2f80b503..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/tr/FontWarnings.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/tr/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("tr","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/tr/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/tr/HTML-CSS.js deleted file mode 100644 index 5d9b1afa..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/tr/HTML-CSS.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/tr/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("tr","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/tr/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/tr/HelpDialog.js deleted file mode 100644 index 6a1a75fa..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/tr/HelpDialog.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/tr/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("tr","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/tr/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/MathML.js b/src/py/kaleido/vendor/mathjax/localization/tr/MathML.js deleted file mode 100644 index ee214517..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/tr/MathML.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/tr/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("tr","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/tr/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/tr/MathMenu.js deleted file mode 100644 index dd52d116..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/tr/MathMenu.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/tr/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("tr","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/tr/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/TeX.js b/src/py/kaleido/vendor/mathjax/localization/tr/TeX.js deleted file mode 100644 index b1197836..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/tr/TeX.js +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************* - * - * MathJax/localization/tr/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("tr","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/tr/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/tr.js b/src/py/kaleido/vendor/mathjax/localization/tr/tr.js deleted file mode 100644 index ff5c4ba1..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/tr/tr.js +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************************* - * - * MathJax/localization/tr/tr.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("tr",null,{ - menuTitle: "T\u00FCrk\u00E7e", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "Matematik i\u015Fleme hatas\u0131", - MathError: "Matematik hatas\u0131", - LoadFile: "%1 Y\u00FCkleniyor", - Loading: "Y\u00FCkleniyor", - LoadFailed: "Dosya y\u00FCklenemedi: %1", - ProcessMath: "Matematik i\u015Fleme: %%%1", - MathJaxNotSupported: "Taray\u0131c\u0131n\u0131z MathJax'i desteklemiyor" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/tr/tr.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/uk/FontWarnings.js deleted file mode 100644 index 19416c55..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/uk/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/uk/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("uk","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454 \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438 \u0434\u043B\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438 \u043D\u0430 \u0446\u0456\u0439 \u0441\u0442\u043E\u0440\u0456\u043D\u0446\u0456. \u041F\u043E\u0442\u0440\u0456\u0431\u0435\u043D \u0447\u0430\u0441, \u0449\u043E\u0431 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438, \u0431\u043E \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430 \u0431 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u043B\u0430\u0441\u044F \u0448\u0432\u0438\u0434\u0448\u0435, \u044F\u043A\u0431\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0456 \u0431\u0435\u0437\u043F\u043E\u0441\u0435\u0440\u0435\u0434\u043D\u044C\u043E \u0432 \u0442\u0435\u0446\u0456 \u0432\u0430\u0448\u043E\u0433\u043E \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u043E\u0433\u043E \u0448\u0440\u0438\u0444\u0442\u0443.", - imageFonts: "MathJax \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454 \u0432\u043B\u0430\u0441\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C, \u0430 \u043D\u0435 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0456 \u0430\u0431\u043E \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438. \u0426\u0435 \u0431\u0443\u0434\u0435 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u0432\u0456\u043B\u044C\u043D\u0456\u0448\u0435, \u043D\u0456\u0436 \u0437\u0432\u0438\u0447\u0430\u0439\u043D\u043E, \u0456 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0441\u0438\u043C\u0432\u043E\u043B\u0438 \u043D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043D\u0430\u0434\u0440\u0443\u043A\u0443\u0432\u0430\u0442\u0438 \u043D\u0430 \u043F\u0440\u0438\u043D\u0442\u0435\u0440\u0456 \u0437 \u0432\u0438\u0441\u043E\u043A\u043E\u044E \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044E.", - noFonts: "MathJax \u043D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \u0448\u0440\u0438\u0444\u0442, \u0449\u043E \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432, \u0448\u0440\u0438\u0444\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456, \u0442\u043E\u043C\u0443 \u043D\u0430\u043C \u0434\u043E\u0432\u0435\u043B\u043E\u0441\u044F \u043F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438\u0441\u044F \u043D\u0430 \u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0456 \u0441\u0438\u043C\u0432\u043E\u043B\u0438 Unicode \u0443 \u043D\u0430\u0434\u0456\u0457, \u0449\u043E \u0432\u0430\u0448 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447 \u0437\u043C\u043E\u0436\u0435 \u0457\u0445 \u0432\u0456\u0440\u043D\u043E \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u0438. \u0414\u0435\u044F\u043A\u0456 \u0441\u0438\u043C\u0432\u043E\u043B\u0438 \u043D\u0435 \u0431\u0443\u0434\u0443\u0442\u044C \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0456 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u0456 \u043F\u043E\u0432\u043D\u0456\u0441\u0442\u044E \u043D\u0435 \u0432 \u0437\u043C\u043E\u0437\u0456 \u0431\u0443\u0434\u0443\u0442\u044C \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u0438\u0441\u044F.", - webFonts: "\u0411\u0456\u043B\u044C\u0448\u0456\u0441\u0442\u044C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456\u0432 \u0432 \u0434\u0430\u043D\u0438\u0439 \u0447\u0430\u0441 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442\u044C \u0448\u0440\u0438\u0444\u0442\u0438, \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0443\u0432\u0430\u043D\u0456 \u0437 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443. \u041E\u043D\u043E\u0432\u0456\u0442\u044C \u0441\u0432\u0456\u0439 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447 \u0434\u043E \u043E\u0441\u0442\u0430\u043D\u043D\u044C\u043E\u0457 \u0432\u0435\u0440\u0441\u0456\u0457 (\u0430\u0431\u043E \u043F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u0432\u0430\u0448 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447) \u0434\u043B\u044F \u0442\u043E\u0433\u043E, \u0449\u043E\u0431 \u043F\u043E\u043B\u0456\u043F\u0448\u0438\u0442\u0438 \u044F\u043A\u0456\u0441\u0442\u044C \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432, \u044F\u043A\u0456 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u044C\u0441\u044F \u043D\u0430 \u0446\u0456\u0439 \u0441\u0442\u043E\u0440\u0456\u043D\u0446\u0456.", - fonts: "MathJax \u043C\u043E\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0443\u0434\u044C-\u044F\u043A\u0438\u0439 \u0437 [STIX \u0448\u0440\u0438\u0444\u0442\u0456\u0432](%1) \u0430\u0431\u043E [\u0448\u0440\u0438\u0444\u0442\u0456\u0432 MathJax-TeX](%2). \u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0456 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u043E\u0434\u0438\u043D \u0437 \u0446\u0438\u0445 \u0448\u0440\u0438\u0444\u0442\u0456\u0432, \u0430\u0431\u0438 \u043F\u043E\u043B\u0456\u043F\u0448\u0438\u0442\u0438 MathJax \u0440\u043E\u0431\u043E\u0442\u0443.", - STIXPage: "\u0426\u044F \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430 \u0431\u0443\u043B\u0430 \u0440\u043E\u0437\u0440\u043E\u0431\u043B\u0435\u043D\u0430, \u0449\u043E\u0431 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 [STIX \u0448\u0440\u0438\u0444\u0442\u0438](%1). \u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0442\u0430 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u0457\u0445, \u0430\u0431\u0438 \u043F\u043E\u043B\u0456\u043F\u0448\u0438\u0442\u0438 \u0432\u0430\u0448 \u0434\u043E\u0441\u0432\u0456\u0434 MathJax.", - TeXPage: "\u0426\u044F \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430 \u0431\u0443\u043B\u0430 \u0440\u043E\u0437\u0440\u043E\u0431\u043B\u0435\u043D\u0430, \u0449\u043E\u0431 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 [\u0448\u0440\u0438\u0444\u0442\u0438 MathJax TeX](%1). \u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0442\u0430 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u0457\u0445, \u0430\u0431\u0438 \u0437\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438 \u0432\u0430\u0448 \u0434\u043E\u0441\u0432\u0456\u0434 \u0437 MathJax." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/uk/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/uk/HTML-CSS.js deleted file mode 100644 index 572b8a95..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/uk/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/uk/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("uk","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F \u0432\u0435\u0431 \u0448\u0440\u0438\u0444\u0442\u0456\u0432 %1", - CantLoadWebFont: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0432\u0435\u0431 \u0448\u0440\u0438\u0444\u0442 %1", - FirefoxCantLoadWebFont: "Firefox \u043D\u0435 \u043C\u043E\u0436\u0435 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0432\u0435\u0431 \u0448\u0440\u0438\u0444\u0442\u0438 \u0437 \u0432\u0456\u0434\u0434\u0430\u043B\u0435\u043D\u043E\u0433\u043E \u0445\u043E\u0441\u0442\u0443", - CantFindFontUsing: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0448\u0440\u0438\u0444\u0442 \u0437\u0430 \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u043E\u044E %1", - WebFontsNotAvailable: "\u0412\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456. \u0421\u043B\u0456\u0434 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0448\u0440\u0438\u0444\u0442\u0438 -\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/uk/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/uk/HelpDialog.js deleted file mode 100644 index 5041c2f9..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/uk/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/uk/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("uk","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u0430", - MathJax: "*MathJax* - \u0446\u0435 \u0431\u0456\u0431\u043B\u0456\u043E\u0442\u0435\u043A\u0430 \u043D\u0430 JavaScript, \u044F\u043A\u0430 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0430\u0432\u0442\u043E\u0440\u0430\u043C \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0438 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u043D\u0430 \u0432\u0441\u0456\u0445 \u0441\u0432\u043E\u0457\u0445 \u0432\u0435\u0431-\u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430\u0445. \u042F\u043A \u0447\u0438\u0442\u0430\u0447, \u0432\u0430\u043C \u043D\u0435 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u043D\u0456\u0447\u043E\u0433\u043E \u0440\u043E\u0431\u0438\u0442\u0438, \u0449\u043E\u0431 \u0446\u0435 \u0432\u0456\u0434\u0431\u0443\u043B\u043E\u0441\u044F.", - Browsers: "*\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456*: MathJax \u043F\u0440\u0430\u0446\u044E\u0454 \u0437 \u0443\u0441\u0456\u043C\u0430 \u0441\u0443\u0447\u0430\u0441\u043D\u0438\u043C\u0438 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0430\u043C\u0438, \u0432\u043A\u043B\u044E\u0447\u0430\u044E\u0447\u0438 Internet Explorer 6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ \u0456 \u0431\u0456\u043B\u044C\u0448\u0456\u0441\u0442\u044C \u043C\u043E\u0431\u0456\u043B\u044C\u043D\u0438\u0445 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456\u0432.", - Menu: "*\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0435 \u043C\u0435\u043D\u044E*: MathJax \u0434\u043E\u0434\u0430\u0454 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u0435 \u043C\u0435\u043D\u044E \u0434\u043E \u0440\u0456\u0432\u043D\u044F\u043D\u044C. \u041A\u043B\u0430\u0446\u0430\u043D\u043D\u044F \u043F\u0440\u0430\u0432\u043E\u044E \u043A\u043D\u043E\u043F\u043A\u043E\u044E \u043C\u0438\u0448\u0456 \u0430\u0431\u043E CTRL+\u043A\u043B\u0430\u0446\u0430\u043D\u043D\u044F \u043B\u0456\u0432\u043E\u044E \u043D\u0430 \u0431\u0443\u0434\u044C-\u044F\u043A\u043E\u043C\u0443 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u043E\u043C\u0443 \u0432\u0438\u0440\u0430\u0437\u0456 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u0454 \u0434\u043E\u0441\u0442\u0443\u043F \u0434\u043E \u0446\u044C\u043E\u0433\u043E \u043C\u0435\u043D\u044E.", - ShowMath: "*\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u044F\u043A* \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0430\u043C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u043E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0438\u0439 \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u0438 \u0434\u043B\u044F \u043A\u043E\u043F\u0456\u044E\u0432\u0430\u043D\u043D\u044F \u0442\u0430 \u0432\u0441\u0442\u0430\u0432\u043A\u0438 (\u044F\u043A MathML \u0430\u0431\u043E \u0443 \u0457\u0457 \u0432\u043B\u0430\u0441\u043D\u043E\u043C\u0443 \u0444\u043E\u0440\u043C\u0430\u0442\u0456).", - Settings: "*\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F* \u0434\u0430\u044E\u0442\u044C \u0432\u0430\u043C \u043F\u043E\u0432\u043D\u0438\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u043D\u0430\u0434 \u0444\u0443\u043D\u043A\u0446\u0456\u044F\u043C\u0438 MathJax \u0442\u0430\u043A\u0438\u043C\u0438 \u044F\u043A \u0440\u043E\u0437\u043C\u0456\u0440 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0445 \u0432\u0438\u0440\u0430\u0437\u0456\u0432 \u0456 \u043C\u0435\u0445\u0430\u043D\u0456\u0437\u043C, \u044F\u043A\u0438\u0439 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0440\u0456\u0432\u043D\u044F\u043D\u044C.", - Language: "*\u041C\u043E\u0432\u0430* \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0430\u043C \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u043C\u043E\u0432\u0443 \u0434\u043B\u044F \u043C\u0435\u043D\u044E \u0442\u0430 \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u044C MathJax.", - Zoom: "*\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438*: \u044F\u043A\u0449\u043E \u0443 \u0432\u0430\u0441 \u0432\u0438\u043D\u0438\u043A\u043B\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0438 \u043F\u0440\u0438 \u0447\u0438\u0442\u0430\u043D\u043D\u0456 \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F, MathJax \u043C\u043E\u0436\u0435 \u0437\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438 \u0457\u0445, \u0449\u043E\u0431 \u0432\u0438 \u043C\u043E\u0433\u043B\u0438 \u043F\u043E\u0431\u0430\u0447\u0438\u0442\u0438 \u0457\u0445 \u043A\u0440\u0430\u0449\u0435.", - Accessibilty: "*\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0456\u0441\u0442\u044C*: MathJax \u0431\u0443\u0434\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u043F\u0440\u0430\u0446\u044E\u0432\u0430\u0442\u0438 \u0437 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0430\u043C\u0438 \u0447\u0438\u0442\u0430\u043D\u043D\u044F \u0435\u043A\u0440\u0430\u043D\u0443, \u0430\u0431\u0438 \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u044E \u0434\u043B\u044F \u043D\u0435\u0437\u0440\u044F\u0447\u0438\u0445.", - Fonts: "*\u0428\u0440\u0438\u0444\u0442\u0438*: MathJax \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438, \u044F\u043A\u0449\u043E \u0432\u043E\u043D\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0456 \u043D\u0430 \u0432\u0430\u0448\u043E\u043C\u0443 \u043A\u043E\u043C\u043F'\u044E\u0442\u0435\u0440\u0456. \u0412 \u0456\u043D\u0448\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438. \u0425\u043E\u0447\u0430 \u0446\u0435 \u0456 \u043D\u0435 \u0454 \u043E\u0431\u043E\u0432'\u044F\u0437\u043A\u043E\u0432\u0438\u043C, \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 \u043F\u0440\u0438\u0441\u043A\u043E\u0440\u044F\u0442\u044C \u0432\u0435\u0440\u0441\u0442\u043A\u0443. \u041C\u0438 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0454\u043C\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 [STIX-\u0448\u0440\u0438\u0444\u0442\u0438](%1).", - CloseDialog: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433 \u0434\u043E\u0432\u0456\u0434\u043A\u0438" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/uk/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/MathML.js b/src/py/kaleido/vendor/mathjax/localization/uk/MathML.js deleted file mode 100644 index 172a3ae8..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/uk/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/uk/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("uk","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 mglyph: %1", - BadMglyphFont: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0448\u0440\u0438\u0444\u0442:%1", - MathPlayer: "MathJax \u0431\u0443\u0432 \u043D\u0435 \u0443 \u0437\u043C\u043E\u0437\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 MathPlayer.\n\n\u042F\u043A\u0449\u043E MathPlayer \u043D\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E\u200B\u200B, \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0439\u043E\u0433\u043E. \u0412 \u0456\u043D\u0448\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443, \u0432\u0430\u0448\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0431\u0435\u0437\u043F\u0435\u043A\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0431\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438 \u0443\u043F\u0440\u0430\u0432\u043B\u0456\u043D\u043D\u044F ActiveX \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0443. \u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u043F\u0443\u043D\u043A\u0442 \u0412\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0456 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443 \u0443 \u043C\u0435\u043D\u044E \u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438 \u0456 \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0432\u043A\u043B\u0430\u0434\u043A\u0443 \u0411\u0435\u0437\u043F\u0435\u043A\u0430, \u0430 \u043F\u043E\u0442\u0456\u043C \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u043A\u043D\u043E\u043F\u043A\u0443 \u0412\u043B\u0430\u0441\u043D\u0438\u0439 \u0440\u0456\u0432\u0435\u043D\u044C. \u041F\u0435\u0440\u0435\u043A\u043E\u043D\u0430\u0439\u0442\u0435\u0441\u044F, \u0449\u043E \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0434\u043B\u044F \"\u0417\u0430\u043F\u0443\u0441\u043A \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 ActiveX\" \u0456 \"\u0414\u0432\u0456\u0439\u043A\u043E\u0432\u0456 \u043A\u043E\u0434\u0438 \u0456 \u0441\u0446\u0435\u043D\u0430\u0440\u0456\u0457 \u043F\u043E\u0432\u0435\u0434\u0456\u043D\u043A\u0438\"\n\u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0456.\n\n\u0412 \u0434\u0430\u043D\u0438\u0439 \u0447\u0430\u0441 \u0432\u0438 \u043F\u043E\u0431\u0430\u0447\u0438\u0442\u0435 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F \u043F\u0440\u043E \u043F\u043E\u043C\u0438\u043B\u043A\u0443, \u0430 \u043D\u0435\n\u043D\u0430\u0431\u0440\u0430\u043D\u0443 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443.", - CantCreateXMLParser: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0441\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u043D\u0438\u0439 \u0430\u043D\u0430\u043B\u0456\u0437\u0430\u0442\u043E\u0440 XML \u0434\u043B\u044F MathML. \u041F\u0435\u0440\u0435\u043A\u043E\u043D\u0430\u0439\u0442\u0435\u0441\u044F, \u0449\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u201E\u0421\u0446\u0435\u043D\u0430\u0440\u0456\u0457 ActiveX \u043F\u043E\u0437\u043D\u0430\u0447\u0435\u043D\u0456 \u044F\u043A \u0431\u0435\u0437\u043F\u0435\u0447\u043D\u0456 \u0434\u043B\u044F \u0432\u0438\u043A\u043E\u043D\u0430\u043D\u043D\u044F \u0441\u0446\u0435\u043D\u0430\u0440\u0456\u0457\u0432 \u0431\u0435\u0437\u043F\u0435\u043A\u0438\u201C\n \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u0438\u0439 (\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u043F\u0443\u043D\u043A\u0442 \u0412\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0456 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443 \u0432 \u043C\u0435\u043D\u044E \u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438 \u0456 \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0411\u0435\u0437\u043F\u0435\u043A\u0430, \u043F\u043E\u0442\u0456\u043C \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u043A\u043D\u043E\u043F\u043A\u0443 \u0412\u043B\u0430\u0441\u043D\u0438\u0439 \u0440\u0456\u0432\u0435\u043D\u044C, \u0449\u043E\u0431 \u0432\u0456\u0434\u043C\u0456\u0442\u0438\u0442\u0438 \u0446\u0435).\n\nMathML \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F \u043D\u0435 \u0437\u043C\u043E\u0436\u0443\u0442\u044C \u0431\u0443\u0442\u0438 \u043E\u0431\u0440\u043E\u0431\u043B\u0435\u043D\u0456 MathJax.", - UnknownNodeType: "\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0438\u0439 \u0442\u0438\u043F \u0432\u0443\u0437\u043B\u0430: %1", - UnexpectedTextNode: "\u041D\u0435\u043F\u0435\u0440\u0435\u0434\u0431\u0430\u0447\u0435\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u0438\u0439 \u0432\u0443\u0437\u043E\u043B: %1", - ErrorParsingMathML: "\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 MathML", - ParsingError: "\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 MathML: %1", - MathMLSingleElement: "MathML \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0441\u0444\u043E\u0440\u043C\u043E\u0432\u0430\u043D\u0438\u0439 \u043E\u0434\u043D\u0438\u043C \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u043C", - MathMLRootElement: "MathML \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0441\u0444\u043E\u0440\u043C\u043E\u0432\u0430\u043D\u0438\u0439 \u003Cmath\u003E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u043C, \u0430 \u043D\u0435 %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/uk/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/uk/MathMenu.js deleted file mode 100644 index 5d37fe9e..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/uk/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/uk/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("uk","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u044F\u043A", - MathMLcode: "\u041A\u043E\u0434 MathML", - OriginalMathML: "\u041E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0438\u0439 MathML", - TeXCommands: "\u041A\u043E\u043C\u0430\u043D\u0434\u0438 TeX", - AsciiMathInput: "\u0412\u0432\u0456\u0434 AsciiMathML", - Original: "\u041E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0430 \u0444\u043E\u0440\u043C\u0430", - ErrorMessage: "\u041F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F \u043F\u0440\u043E \u043F\u043E\u043C\u0438\u043B\u043A\u0443", - Annotation: "\u0410\u043D\u043E\u0442\u0430\u0446\u0456\u044F", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "\u0417\u043C\u0456\u0441\u0442 MathML", - OpenMath: "OpenMath", - texHints: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u043F\u043E\u0440\u0430\u0434\u0438 TeX \u0432 MathML", - Settings: "\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438", - ZoomTrigger: "\u041F\u0443\u0441\u043A \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443", - Hover: "\u041F\u0456\u0434\u043D\u0435\u0441\u0435\u043D\u043D\u044F \u043A\u0443\u0440\u0441\u043E\u0440\u0430", - Click: "\u041A\u043B\u0456\u043A", - DoubleClick: "\u041F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u043A\u043B\u0456\u043A", - NoZoom: "\u0411\u0435\u0437 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F", - TriggerRequires: "\u041D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u0456 \u043A\u043B\u044E\u0447\u0456:", - Option: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440", - Alt: "Alt", - Command: "\u041A\u043E\u043C\u0430\u043D\u0434\u0430", - Control: "\u041A\u0435\u0440\u0443\u0432\u0430\u043D\u043D\u044F", - Shift: "Shift", - ZoomFactor: "\u041C\u043D\u043E\u0436\u043D\u0438\u043A \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F", - Renderer: "\u0412\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438", - MPHandles: "MathPlayer \u043E\u043F\u0440\u0430\u0446\u044C\u043E\u0432\u0443\u0454:", - MenuEvents: "\u041F\u043E\u0434\u0456\u0457 \u043C\u0435\u043D\u044E", - MouseEvents: "\u041F\u043E\u0434\u0456\u0457 \u043C\u0438\u0448\u043A\u0438", - MenuAndMouse: "\u041F\u043E\u0434\u0456\u0457 \u043C\u0435\u043D\u044E \u0456 \u043C\u0438\u0448\u043A\u0438", - FontPrefs: "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u0448\u0442\u0440\u0438\u0444\u0442\u0443", - ForHTMLCSS: "\u0414\u043B\u044F HTML-CSS:", - Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E", - TeXLocal: "TeX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0438\u0439)", - TeXWeb: "TeX (\u0432\u0435\u0431)", - TeXImage: "TeX (\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F)", - STIXLocal: "STIX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0438\u0439)", - STIXWeb: "STIX (\u0432\u0435\u0431)", - AsanaMathWeb: "Asana Math (\u0432\u0435\u0431)", - GyrePagellaWeb: "Gyre Pagella (\u0432\u0435\u0431)", - GyreTermesWeb: "Gyre Termes (\u0432\u0435\u0431)", - LatinModernWeb: "Latin Modern (\u0432\u0435\u0431)", - NeoEulerWeb: "Neo Euler (\u0432\u0435\u0431)", - ContextMenu: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u0435 \u043C\u0435\u043D\u044E", - Browser: "\u041E\u0433\u043B\u044F\u0434", - Scale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u0443\u0441\u044E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443\u2026", - Discoverable: "\u041F\u0456\u0434\u0441\u0432\u0456\u0442\u043A\u0430 \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u043D\u0456", - Locale: "\u041C\u043E\u0432\u0430", - LoadLocale: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0437 URL...", - About: "\u041F\u0440\u043E MathJax", - Help: "\u0414\u043E\u043F\u043E\u043C\u043E\u0433\u0430 MathJax", - localTeXfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 TeX", - webTeXfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438 TeX", - imagefonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F \u0448\u0440\u0438\u0444\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C", - localSTIXfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0447\u0438 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0456 STIX-\u0448\u0440\u0438\u0444\u0442\u0438", - webSVGfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0447\u0438 SVG \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438", - genericfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0447\u0438 \u0437\u0433\u0435\u043D\u0435\u0440\u043E\u0432\u0430\u043D\u0456 \u044E\u043D\u0456\u043A\u043E\u0434\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438", - wofforotffonts: "\u0448\u0440\u0438\u0444\u0442\u0438 woff \u0430\u0431\u043E otf", - eotffonts: "\u0448\u0440\u0438\u0444\u0442\u0438 eot", - svgfonts: "\u0448\u0440\u0438\u0444\u0442\u0438 svg", - WebkitNativeMMLWarning: "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454 MathML, \u0442\u043E\u043C\u0443 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u043D\u043D\u044F \u0432\u0438\u0432\u043E\u0434\u0443 \u0434\u043E MathML \u043C\u043E\u0436\u0435 \u043F\u0440\u0438\u0437\u0432\u0435\u0441\u0442\u0438, \u0449\u043E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u043D\u0430 \u0446\u0456\u0439 \u0441\u0442\u043E\u0440\u0456\u043D\u0446\u0456 \u0441\u0442\u0430\u043D\u0435 \u043D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438.", - MSIENativeMMLWarning: "\u0412\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447 Internet Explorer \u043F\u043E\u0442\u0440\u0435\u0431\u0443\u0454 \u043C\u043E\u0434\u0443\u043B\u044C MathPlayer \u0434\u043B\u044F \u043E\u0431\u0440\u043E\u0431\u043A\u0438 \u0432\u0438\u0432\u043E\u0434\u0443 MathML.", - OperaNativeMMLWarning: "\u041E\u0431\u043C\u0435\u0436\u0435\u043D\u0430 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u043A\u0430 MathML \u0432 Opera, \u0442\u043E\u043C\u0443 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u043D\u043D\u044F \u0432\u0438\u0432\u043E\u0434\u0443 \u043D\u0430 MathML \u043C\u043E\u0436\u0443\u0442\u044C \u0432\u0438\u043A\u043B\u0438\u043A\u0430\u0442\u0438, \u0449\u043E \u0434\u0435\u044F\u043A\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u043F\u043E\u0433\u0430\u043D\u043E \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u0438\u043C\u0443\u0442\u044C\u0441\u044F.", - SafariNativeMMLWarning: "MathML \u0432\u0430\u0448\u043E\u0433\u043E \u0432\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0430 \u043D\u0435 \u0440\u0435\u0430\u043B\u0456\u0437\u0443\u0454 \u0432\u0441\u0456 \u0444\u0443\u043D\u043A\u0446\u0456\u0457, \u044F\u043A\u0456 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F MathJax. \u0422\u0430\u043A\u0438\u043C \u0447\u0438\u043D\u043E\u043C, \u0434\u0435\u044F\u043A\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438\u0441\u044F.", - FirefoxNativeMMLWarning: "MathML \u0432\u0430\u0448\u043E\u0433\u043E \u0432\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0430 \u043D\u0435 \u0440\u0435\u0430\u043B\u0456\u0437\u0443\u0454 \u0432\u0441\u0456 \u0444\u0443\u043D\u043A\u0446\u0456\u0457, \u044F\u043A\u0456 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F MathJax. \u0422\u0430\u043A\u0438\u043C \u0447\u0438\u043D\u043E\u043C, \u0434\u0435\u044F\u043A\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438\u0441\u044F.", - MSIESVGWarning: "SVG \u043D\u0435 \u0440\u0435\u0430\u043B\u0456\u0437\u043E\u0432\u0430\u043D\u043E \u0443 \u0432\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456 Internet Explorer \u0432\u0435\u0440\u0441\u0456\u0457 9 \u0430\u0431\u043E \u0435\u043C\u0443\u043B\u044E\u0454\u0442\u044C\u0441\u044F \u0432 IE8 \u0430\u0431\u043E \u043D\u0438\u0436\u0447\u0435, \u0442\u043E\u043C\u0443 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u043D\u043D\u044F \u043D\u0430 \u0432\u0438\u0432\u0456\u0434 SVG \u043C\u043E\u0436\u0435 \u043F\u0440\u0438\u0437\u0432\u0435\u0441\u0442\u0438, \u0449\u043E \u0446\u044E \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0443 \u0441\u0442\u0430\u043D\u0435 \u043D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438.", - LoadURL: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0434\u0430\u043D\u0456 \u043F\u0435\u0440\u0435\u043A\u043B\u0430\u0434\u0443 \u0437 \u0446\u044C\u043E\u0433\u043E URL:", - BadURL: "URL-\u0430\u0434\u0440\u0435\u0441\u0430 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0434\u043B\u044F JavaScript \u0444\u0430\u0439\u043B\u0443, \u044F\u043A\u0438\u0439 \u0432\u0438\u0437\u043D\u0430\u0447\u0430\u0454 MathJax \u0434\u0430\u043D\u0456 \u043F\u0435\u0440\u0435\u043A\u043B\u0430\u0434\u0443. \u0406\u043C'\u044F \u0444\u0430\u0439\u043B\u0443 JavaScript \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 \".js\"", - BadData: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u0435\u0440\u0435\u043A\u043B\u0430\u0434\u0438 \u0437 %1", - SwitchAnyway: "\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0442\u043E\u0440?\n\n(\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0413\u0430\u0440\u0430\u0437\u0434, \u0449\u043E\u0431 \u0437\u043C\u0456\u043D\u0438\u0442\u0438, \u0430\u0431\u043E \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u0432\u0436\u0435\u043D\u043D\u044F \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0442\u043E\u0440\u0430)", - ScaleMath: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 (\u0443 \u043F\u043E\u0440\u0456\u0432\u043D\u044F\u043D\u043D\u0456 \u0437 \u043E\u0442\u043E\u0447\u0443\u044E\u0447\u0438\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C)", - NonZeroScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u043D\u0435 \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u043D\u0443\u043B\u0435\u043C", - PercentScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0443 \u0432\u0456\u0434\u0441\u043E\u0442\u043A\u0430\u0445 (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, 120%%)", - IE8warning: "\u0426\u0435 \u0432\u0438\u043C\u0438\u043A\u0430\u0454 MathJax \u043C\u0435\u043D\u044E \u0442\u0430 \u0444\u0443\u043D\u043A\u0446\u0456\u0457 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F, \u0430\u043B\u0435 \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0442\u0440\u0438\u043C\u0443\u0432\u0430\u0442\u0438 ALT \u043F\u0456\u0434 \u0447\u0430\u0441 \u043A\u043B\u0456\u043A\u0456\u0432 \u043C\u0438\u0448\u0456 \u043D\u0430 \u0432\u0438\u0440\u0430\u0437\u0456 \u0434\u043B\u044F \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043D\u044F \u043D\u0430\u0442\u043E\u043C\u0456\u0441\u0442\u044C \u043C\u0435\u043D\u044E MathJax.\n\n\u0414\u0456\u0439\u0441\u043D\u043E \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F MathPlayer?", - IE9warning: "MathJax \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u0435 \u043C\u0435\u043D\u044E \u0432\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u0430\u043B\u0435 \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u043D\u0430\u0442\u0438\u0441\u043D\u0443\u0442\u0438 ALT \u043F\u0456\u0434 \u0447\u0430\u0441 \u043A\u043B\u0456\u043A\u0456\u0432 \u043C\u0438\u0448\u0456 \u0434\u043B\u044F \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u044F MathJax \u043C\u0435\u043D\u044E.", - NoOriginalForm: "\u041D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0430 \u0444\u043E\u0440\u043C\u0430", - Close: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438", - EqSource: "\u0414\u0436\u0435\u0440\u0435\u043B\u043E \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F MathJax", - CloseAboutDialog: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433 \u043F\u0440\u043E MathJax", - FastPreview: "\u0428\u0432\u0438\u0434\u043A\u0438\u0439 \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456\u0439 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434", - AssistiveMML: "\u0414\u043E\u043F\u043E\u043C\u0456\u0436\u043D\u0438\u0439 MathML", - InTabOrder: "\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u0438 \u0432 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0432\u043A\u043B\u0430\u0434\u043E\u043A" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/uk/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/TeX.js b/src/py/kaleido/vendor/mathjax/localization/uk/TeX.js deleted file mode 100644 index 47310bae..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/uk/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/uk/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("uk","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u0417\u0430\u0439\u0432\u0430 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430 \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u044F \u0437\u0430\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430", - ExtraCloseMissingOpen: "\u0417\u0430\u0439\u0432\u0430 \u0437\u0430\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430 \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430", - MissingLeftExtraRight: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \\left \u0430\u0431\u043E \u0437\u0430\u0439\u0432\u0438\u0439 \\right", - MissingScript: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0438 \u0432\u0435\u0440\u0445\u043D\u044C\u043E\u0433\u043E \u0456 \u043D\u0438\u0436\u043D\u044C\u043E\u0433\u043E \u0456\u043D\u0434\u0435\u043A\u0441\u0456\u0432", - ExtraLeftMissingRight: "\u0417\u0430\u0439\u0432\u0438\u0439 \\left \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \\right", - Misplaced: "\u041D\u0435\u0432\u0456\u0440\u043D\u0438\u0439 %1", - MissingOpenForSub: "\u0411\u0440\u0430\u043A\u0443\u0454 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0457 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u043D\u0438\u0436\u043D\u044C\u043E\u0433\u043E \u0456\u043D\u0434\u0435\u043A\u0441\u0443", - MissingOpenForSup: "\u0411\u0440\u0430\u043A\u0443\u0454 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0457 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u0432\u0435\u0440\u0445\u043D\u044C\u043E\u0433\u043E \u0456\u043D\u0434\u0435\u043A\u0441\u0443", - AmbiguousUseOf: "\u041D\u0435\u043E\u0434\u043D\u043E\u0437\u043D\u0430\u0447\u043D\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F %1", - EnvBadEnd: "\\begin{%1} \u0437\u0430\u043A\u0456\u043D\u0447\u0438\u0432\u0441\u044F \\end{%2}", - EnvMissingEnd: "\u0411\u0440\u0430\u043A\u0443\u0454 \\end{%1}", - MissingBoxFor: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0454 \u043F\u043E\u043B\u0435 \u0434\u043B\u044F %1", - MissingCloseBrace: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u044F \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u0430 \u0434\u0443\u0436\u043A\u0430", - UndefinedControlSequence: "\u041D\u0435\u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u043A\u043E\u043C\u0430\u043D\u0434\u0430 %1", - DoubleExponent: "\u041F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u0441\u0442\u0435\u043F\u0456\u043D\u044C: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u0443\u0442\u043E\u0447\u043D\u0435\u043D\u043D\u044F", - DoubleSubscripts: "\u041F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u043D\u0438\u0436\u043D\u0456\u0439 \u0456\u043D\u0434\u0435\u043A\u0441: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0434\u0443\u0436\u043A\u0438 \u0443\u0442\u043E\u0447\u0435\u043D\u043D\u044F", - DoubleExponentPrime: "\u0417\u043D\u0430\u043A \u0448\u0442\u0440\u0438\u0445\u0430 \u0441\u043F\u0440\u0438\u0447\u0438\u043D\u0438\u0432 \u043F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u0441\u0442\u0435\u043F\u0456\u043D\u044C: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u0439\u0442\u0435 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u0443\u0442\u043E\u0447\u043D\u0435\u043D\u043D\u044F", - CantUseHash1: "\u041D\u0435 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 \u043C\u0430\u043A\u0440\u043E\u0441\u0443 # \u0443 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u043E\u043C\u0443 \u0440\u0435\u0436\u0438\u043C\u0456", - MisplacedMiddle: "%1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0432 \u043C\u0435\u0436\u0430\u0445 \\left \u0456 \\right", - MisplacedLimits: "%1 \u0434\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E \u0442\u0456\u043B\u044C\u043A\u0438 \u043D\u0430 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0430\u0445", - MisplacedMoveRoot: "%1 \u043C\u043E\u0436\u0435 \u0437'\u044F\u0432\u0438\u0442\u0438\u0441\u044F \u043B\u0438\u0448\u0435 \u043F\u0456\u0434 \u043A\u043E\u0440\u0435\u043D\u0435\u043C", - MultipleCommand: "\u041A\u0456\u043B\u044C\u043A\u0430 %1", - IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0446\u0456\u043B\u0438\u043C \u0447\u0438\u0441\u043B\u043E\u043C", - NotMathMLToken: "%1 \u043D\u0435 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u043C \u043C\u0430\u0440\u043A\u0435\u0440\u0430", - InvalidMathMLAttr: "\u041D\u0435\u043F\u0440\u0438\u043F\u0443\u0441\u0442\u0438\u043C\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 MathML: %1", - UnknownAttrForElement: "%1 \u043D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0434\u043B\u044F %2", - MaxMacroSub1: "\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0443 \u043A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u0432\u0438\u043A\u043B\u0438\u043A\u0456\u0432 \u043C\u0430\u043A\u0440\u043E\u0441\u0456\u0432; \u0430\u0431\u043E \u0432\u0456\u0434\u0431\u0443\u0432\u0430\u0454\u0442\u044C\u0441\u044F \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u0438\u0439 \u0432\u0438\u043A\u043B\u0438\u043A \u043C\u0430\u043A\u0440\u043E\u0441\u0443?", - MaxMacroSub2: "\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0443 \u043A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u043F\u0456\u0434\u0441\u0442\u0430\u043D\u043E\u0432\u043E\u043A MathJax; \u041C\u043E\u0436\u043B\u0438\u0432\u043E, \u0440\u0435\u043A\u0443\u0440\u0441\u0456\u044F \u0432 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0456 LaTeX?", - MissingArgFor: "\u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1", - ExtraAlignTab: "\u0417\u0430\u0439\u0432\u0438\u0439 \u0442\u0430\u0431\u0443\u043B\u044F\u0442\u043E\u0440 \u0442\u0435\u043A\u0441\u0442\u0443 \u0443 \\cases", - BracketMustBeDimension: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0443 \u0434\u0443\u0436\u043A\u0430\u0445 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440\u043E\u043C", - InvalidEnv: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0456\u043C'\u044F \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0430 '%1'", - UnknownEnv: "\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0435 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0435 '%1'", - ExtraCloseLooking: "\u0417\u0430\u0439\u0432\u0430 \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u0430 \u0434\u0443\u0436\u043A\u0430 \u0432\u0438\u043D\u0438\u043A\u043B\u0430 \u043F\u0456\u0434 \u0447\u0430\u0441 \u043F\u043E\u0448\u0443\u043A\u0443 %1", - MissingCloseBracket: "\u041D\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u0443 ']' \u0434\u043B\u044F \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0443 \u0434\u043E %1", - MissingOrUnrecognizedDelim: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \u0430\u0431\u043E \u043D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0438\u043A \u0434\u043B\u044F %1", - MissingDimOrUnits: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \u0440\u043E\u0437\u043C\u0456\u0440 \u0430\u0431\u043E \u0439\u043E\u0433\u043E \u043E\u0434\u0438\u043D\u0438\u0446\u0456 \u0434\u043B\u044F %1", - TokenNotFoundForCommand: "\u041D\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u043D\u0430\u0439\u0442\u0438 %1 \u0434\u043B\u044F %2", - MathNotTerminated: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 \u043D\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0443\u0454\u0442\u044C\u0441\u044F \u0432 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u043E\u043C\u0443 \u043F\u043E\u043B\u0456", - IllegalMacroParam: "\u041D\u0435\u0437\u0430\u043A\u043E\u043D\u043D\u0435 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F \u043D\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043C\u0430\u043A\u0440\u043E\u0441\u0443", - MaxBufferSize: "\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u0440\u043E\u0437\u043C\u0456\u0440 \u0432\u043D\u0443\u0442\u0440\u0456\u0448\u043D\u044C\u043E\u0433\u043E \u0431\u0443\u0444\u0435\u0440\u0430 MathJax; \u0442\u0430\u043C \u0454 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u0438\u0439 \u0432\u0438\u043A\u043B\u0438\u043A \u043C\u0430\u043A\u0440\u043E\u0441\u0443?", - CommandNotAllowedInEnv: "%1 \u043D\u0435 \u0434\u043E\u043F\u0443\u0441\u043A\u0430\u0454\u0442\u044C\u0441\u044F \u0432 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0456 %2", - MultipleLabel: "\u041C\u0456\u0442\u043A\u0430 '%1' \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u043A\u0456\u043B\u044C\u043A\u0430 \u0440\u0430\u0437\u0456\u0432", - CommandAtTheBeginingOfLine: "%1 \u043C\u0430\u0454 \u0437\u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0438\u0441\u044F \u043D\u0430 \u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0440\u044F\u0434\u043A\u0430", - IllegalAlign: "\u041D\u0435\u0437\u0430\u043A\u043E\u043D\u043D\u0435 \u0432\u0438\u0440\u0456\u0432\u043D\u044E\u0432\u0430\u043D\u043D\u044F \u0432\u043A\u0430\u0437\u0430\u043D\u0435 \u0443 %1", - BadMathStyleFor: "\u041D\u0435\u0432\u0456\u0440\u043D\u0438\u0439 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u0434\u043B\u044F %1", - PositiveIntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043C \u0446\u0456\u043B\u0438\u043C \u0447\u0438\u0441\u043B\u043E\u043C", - ErroneousNestingEq: "\u041F\u043E\u043C\u0438\u043B\u043A\u043E\u0432\u0456 \u0432\u043A\u043B\u0430\u0434\u0435\u043D\u043E\u0441\u0442\u0456 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440 \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F", - MultlineRowsOneCol: "\u0420\u044F\u0434\u043A\u0438 \u0443 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0456 %1 \u043C\u0443\u0441\u044F\u0442\u044C \u043C\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u043E\u0434\u0438\u043D \u0441\u0442\u043E\u0432\u043F\u0435\u0446\u044C", - MultipleBBoxProperty: "%1 \u0432\u043A\u0430\u0437\u0430\u043D\u043E \u0434\u0432\u0456\u0447\u0456 \u0432 %2", - InvalidBBoxProperty: "'%1' \u0437\u043E\u0432\u0441\u0456\u043C \u043D\u0435 \u0441\u0445\u043E\u0436\u0438\u0439 \u043D\u0430 \u043A\u043E\u043B\u0456\u0440, \u0434\u043E\u0434\u0430\u0442\u043A\u043E\u0432\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440 \u0430\u0431\u043E \u0441\u0442\u0438\u043B\u044C", - ExtraEndMissingBegin: "\u0417\u0430\u0439\u0432\u0430 %1 \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u044F \\begingroup", - GlobalNotFollowedBy: "%1 \u043D\u0435 \u0441\u043B\u0456\u0434\u0443\u0454 \u043F\u0456\u0441\u043B\u044F \\let, \\def \u0430\u0431\u043E \\newcommand", - UndefinedColorModel: "\u041A\u043E\u043B\u0456\u0440\u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u044C '%1' \u043D\u0435 \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0430", - ModelArg1: "\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043A\u043E\u043B\u044C\u043E\u0440\u0443 \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0456 %1 \u0432\u0438\u043C\u0430\u0433\u0430\u044E\u0442\u044C 3 \u0446\u0438\u0444\u0440\u0438", - InvalidDecimalNumber: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0434\u0435\u0441\u044F\u0442\u043A\u043E\u0432\u0435 \u0447\u0438\u0441\u043B\u043E", - ModelArg2: "\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043A\u043E\u043B\u044C\u043E\u0440\u0443 \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0456 %1 \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043C\u0456\u0436 \u0442\u0435\u0433\u0430\u043C\u0438 %2 \u0456 %3", - InvalidNumber: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E", - NewextarrowArg1: "\u041F\u0435\u0440\u0448\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u043D\u0430\u0437\u0432\u043E\u044E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u043A\u0435\u0440\u0456\u0432\u043D\u043E\u0457 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u043E\u0441\u0442\u0456", - NewextarrowArg2: "\u0414\u0440\u0443\u0433\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0434\u0432\u043E\u043C\u0430 \u0446\u0456\u043B\u0438\u043C\u0438 \u0447\u0438\u0441\u043B\u0430\u043C\u0438, \u0440\u043E\u0437\u0434\u0456\u043B\u0435\u043D\u0438\u043C\u0438 \u043A\u043E\u043C\u0430\u043C\u0438", - NewextarrowArg3: "\u0422\u0440\u0435\u0442\u0456\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043B\u043E\u0432\u0438\u043C \u044E\u043D\u0456\u043A\u043E\u0434\u043D\u0438\u043C \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u043C", - NoClosingChar: "\u041D\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u043D\u0430\u0439\u0442\u0438 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0457 %1", - IllegalControlSequenceName: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0456\u043C'\u044F \u043A\u0435\u0440\u0456\u0432\u043D\u043E\u0457 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u043E\u0441\u0442\u0456 \u0434\u043B\u044F %1", - IllegalParamNumber: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0456\u0432, \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0445 \u0443 %1", - MissingCS: "\u041F\u0456\u0441\u043B\u044F %1 \u043C\u0443\u0441\u0438\u0442\u044C \u0441\u043B\u0456\u0434\u0443\u0432\u0430\u0442\u0438 \u043A\u0435\u0440\u0456\u0432\u043D\u0430 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u0456\u0441\u0442\u044C", - CantUseHash2: "\u041D\u0435\u0437\u0430\u043A\u043E\u043D\u043D\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F # \u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0456 \u0434\u043B\u044F %1", - SequentialParam: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438 \u0434\u043B\u044F %1 \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u0431\u0443\u0442\u0438 \u043F\u0440\u043E\u043D\u0443\u043C\u0435\u0440\u043E\u0432\u0430\u043D\u0456 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u043E", - MissingReplacementString: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \u0440\u044F\u0434\u043E\u043A \u0437\u0430\u043C\u0456\u043D\u0438 \u0434\u043B\u044F \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F %1", - MismatchUseDef: "\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F %1 \u043D\u0435 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0454 \u0439\u043E\u0433\u043E \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044E", - RunawayArgument: "\u0412\u0442\u0440\u0430\u0447\u0435\u043D\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1?", - NoClosingDelim: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0433\u043E \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0438\u043A\u0430 \u0434\u043B\u044F%1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/uk/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/uk.js b/src/py/kaleido/vendor/mathjax/localization/uk/uk.js deleted file mode 100644 index f8fbec44..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/uk/uk.js +++ /dev/null @@ -1,61 +0,0 @@ -/************************************************************* - * - * MathJax/localization/uk/uk.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("uk",null,{ - menuTitle: "\u0443\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax \u0437\u043D\u0430\u0439\u0448\u043B\u0430 \u043A\u0443\u043A\u0438 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u0457 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430, \u0449\u043E \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u043A\u043E\u0434 \u0434\u043B\u044F \u0437\u0430\u043F\u0443\u0441\u043A\u0443. \u0412\u0438 \u0445\u043E\u0447\u0435\u0442\u0435 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0438 \u0439\u043E\u0433\u043E?\n\n\n(\u0412\u0438 \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u043D\u0430\u0442\u0438\u0441\u043D\u0443\u0442\u0438 \"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438\", \u0430\u0431\u0438 \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043A\u0443\u043A \u0443 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432 \u043D\u0430\u0441\u0442\u0440\u043E\u044E\u0432\u0430\u043D\u043D\u044F cookie \u0441\u0435\u0431\u0435.)", - MathProcessingError: "\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043E\u0431\u0440\u043E\u0431\u043A\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438", - MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430", - LoadFile: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F %1", - Loading: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F", - LoadFailed: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043B: %1", - ProcessMath: "\u041E\u0431\u0440\u043E\u0431\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", - Processing: "\u041E\u0431\u0440\u043E\u0431\u043A\u0430...", - TypesetMath: "\u0412\u0435\u0440\u0441\u0442\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", - Typesetting: "\u0412\u0435\u0440\u0441\u0442\u043A\u0430", - MathJaxNotSupported: "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454 MathJax", - ErrorTips: "\u041F\u0456\u0434\u043A\u0430\u0437\u043A\u0438 \u0449\u043E\u0434\u043E \u0437\u043D\u0435\u0432\u0430\u0434\u0436\u0435\u043D\u043D\u044F: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 %%1, \u0434\u043E\u0441\u043B\u0456\u0434\u0456\u0442\u044C %%2 \u0443 \u043A\u043E\u043D\u0441\u043E\u043B\u0456 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - if (n % 10 === 1 && n % 100 != 11) return 1; // one - if (2 <= n % 10 && n % 10 <= 4 && !(12 <= n % 100 && n % 100 <= 14)) return 2; // few - if (n % 10 === 0 || (5 <= n % 10 && n % 10 <= 9) || (11 <= n % 100 && n % 100 <= 14)) return 3; // many - return 4; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/uk/uk.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/vi/FontWarnings.js deleted file mode 100644 index 33f56f54..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/vi/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/vi/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("vi","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax s\u1EED d\u1EE5ng c\u00E1c ph\u00F4ng ch\u1EEF tr\u00EAn Web \u0111\u1EC3 v\u1EBD k\u00FD hi\u1EC7u to\u00E1n h\u1ECDc tr\u00EAn trang n\u00E0y. Tr\u00ECnh duy\u1EC7t ph\u1EA3i t\u1EF1 \u0111\u1ED9ng t\u1EA3i v\u1EC1 c\u00E1c ph\u00F4ng ch\u1EEF n\u00E0y; \u0111\u1EC3 l\u00E0m cho trang hi\u1EC3n th\u1ECB nhanh h\u01A1n, b\u1EA1n c\u00F3 th\u1EC3 c\u00E0i \u0111\u1EB7t c\u00E1c ph\u00F4ng ch\u1EEF to\u00E1n h\u1ECDc tr\u1EF1c ti\u1EBFp v\u00E0o th\u01B0 m\u1EE5c ph\u00F4ng ch\u1EEF c\u1EE7a m\u00E1y.", - imageFonts: "MathJax s\u1EED d\u1EE5ng c\u00E1c ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh c\u1EE7a n\u00F3 thay v\u00EC c\u00E1c ph\u00F4ng ch\u1EEF tr\u00EAn m\u00E1y ho\u1EB7c tr\u00EAn Web. C\u00E1c bi\u1EC3u th\u1EE9c to\u00E1n h\u1ECDc n\u00E0y s\u1EBD hi\u1EC3n th\u1ECB ch\u1EADm h\u01A1n b\u00ECnh th\u01B0\u1EDDng v\u00E0 c\u00F3 th\u1EC3 in ra \u1EDF \u0111\u1ED9 ph\u00E2n gi\u1EA3i th\u1EA5p.", - noFonts: "MathJax kh\u00F4ng t\u00ECm th\u1EA5y ph\u00F4ng ch\u1EEF \u0111\u1EC3 hi\u1EC3n th\u1ECB to\u00E1n h\u1ECDc, v\u00E0 c\u00E1c ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh kh\u00F4ng c\u00F3 s\u1EB5n, n\u00EAn n\u00F3 s\u1EED d\u1EE5ng c\u00E1c k\u00FD t\u1EF1 Unicode b\u00ECnh th\u01B0\u1EDDng n\u1EBFu tr\u01B0\u1EDDng h\u1EE3p tr\u00ECnh duy\u1EC7t c\u00F3 kh\u1EA3 n\u0103ng hi\u1EC3n th\u1ECB ch\u00FAng. M\u1ED9t s\u1ED1 k\u00FD t\u1EF1 s\u1EBD kh\u00F4ng hi\u1EC3n th\u1ECB ho\u1EB7c kh\u00F4ng hi\u1EC3n th\u1ECB ch\u00EDnh x\u00E1c.", - webFonts: "H\u1EA7u h\u1EBFt c\u00E1c tr\u00ECnh duy\u1EC7t hi\u1EC7n \u0111\u1EA1i cho ph\u00E9p t\u1EA3i v\u1EC1 ph\u00F4ng ch\u1EEF t\u1EEB trang m\u1EA1ng. Vi\u1EC7c c\u1EADp nh\u1EADt \u0111\u1EBFn m\u1ED9t phi\u00EAn b\u1EA3n tr\u00ECnh duy\u1EC7t m\u1EDBi h\u01A1n (ho\u1EB7c \u0111\u1ED5i qua tr\u00ECnh duy\u1EC7t kh\u00E1c) c\u00F3 th\u1EC3 c\u1EA3i thi\u1EC7n ch\u1EA5t l\u01B0\u1EE3ng c\u1EE7a to\u00E1n tr\u00EAn trang n\u00E0y.", - fonts: "MathJax c\u00F3 th\u1EC3 s\u1EED d\u1EE5ng [c\u00E1c ph\u00F4ng ch\u1EEF STIX](%1) ho\u1EB7c [c\u00E1c ph\u00F4ng ch\u1EEF TeX MathJax](%2). H\u00E3y t\u1EA3i v\u1EC1 v\u00E0 c\u00E0i \u0111\u1EB7t m\u1ED9t trong nh\u1EEFng ph\u00F4ng ch\u1EEF n\u00E0y \u0111\u1EC3 c\u1EA3i thi\u1EC7n kinh nghi\u1EC7m MathJax c\u1EE7a b\u1EA1n.", - STIXPage: "Trang n\u00E0y \u0111\u01B0\u1EE3c thi\u1EBFt k\u1EBF \u0111\u1EC3 s\u1EED d\u1EE5ng [c\u00E1c ph\u00F4ng ch\u1EEF STIX](%1). H\u00E3y t\u1EA3i v\u1EC1 v\u00E0 c\u00E0i \u0111\u1EB7t nh\u1EEFng ph\u00F4ng ch\u1EEF n\u00E0y \u0111\u1EC3 c\u1EA3i thi\u1EC7n kinh nghi\u1EC7m MathJax c\u1EE7a b\u1EA1n.", - TeXPage: "Trang n\u00E0y \u0111\u01B0\u1EE3c thi\u1EBFt k\u1EBF \u0111\u1EC3 s\u1EED d\u1EE5ng [c\u00E1c ph\u00F4ng ch\u1EEF TeX MathJax](%1). H\u00E3y t\u1EA3i v\u1EC1 v\u00E0 c\u00E0i \u0111\u1EB7t nh\u1EEFng ph\u00F4ng ch\u1EEF n\u00E0y \u0111\u1EC3 c\u1EA3i thi\u1EC7n kinh nghi\u1EC7m MathJax c\u1EE7a b\u1EA1n." - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/vi/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/vi/HTML-CSS.js deleted file mode 100644 index 59c0fca6..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/vi/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/vi/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("vi","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u0110ang t\u1EA3i ph\u00F4ng ch\u1EEF Web %1", - CantLoadWebFont: "Kh\u00F4ng th\u1EC3 t\u1EA3i ph\u00F4ng ch\u1EEF Web %1", - FirefoxCantLoadWebFont: "Firefox kh\u00F4ng th\u1EC3 t\u1EA3i ph\u00F4ng ch\u1EEF Web t\u1EEB m\u1ED9t m\u00E1y ch\u1EE7 t\u1EEB xa", - CantFindFontUsing: "Kh\u00F4ng t\u00ECm th\u1EA5y ph\u00F4ng ch\u1EEF h\u1EE3p l\u1EC7 d\u00F9ng %1", - WebFontsNotAvailable: "Ph\u00F4ng ch\u1EEF Web kh\u00F4ng c\u00F3 s\u1EB5n; \u0111ang s\u1EED d\u1EE5ng ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh thay th\u1EBF" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/vi/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/vi/HelpDialog.js deleted file mode 100644 index a09e335a..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/vi/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/vi/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("vi","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "Tr\u1EE3 gi\u00FAp MathJax", - MathJax: "*MathJax* l\u00E0 m\u1ED9t th\u01B0 vi\u1EC7n JavaScript cho ph\u00E9p c\u00E1c t\u00E1c gi\u1EA3 nh\u00FAng c\u00F4ng th\u1EE9c to\u00E1n h\u1ECDc v\u00E0o trang Web. C\u00E1c \u0111\u1ED9c gi\u1EA3 nh\u01B0 b\u1EA1n kh\u00F4ng c\u1EA7n l\u00E0m th\u00EAm g\u00EC \u0111\u1EC3 hi\u1EC3n th\u1ECB to\u00E1n h\u1ECDc.", - Browsers: "*Tr\u00ECnh duy\u1EC7t*: MathJax t\u01B0\u01A1ng th\u00EDch v\u1EDBi t\u1EA5t c\u1EA3 c\u00E1c tr\u00ECnh duy\u1EC7t \u0111\u1EDDi m\u1EDBi, bao g\u1ED3m IE 6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+, v\u00E0 ph\u1EA7n nhi\u1EC1u tr\u00ECnh duy\u1EC7t di \u0111\u1ED9ng.", - Menu: "*Tr\u00ECnh \u0111\u01A1n To\u00E1n h\u1ECDc*: MathJax th\u00EAm m\u1ED9t tr\u00ECnh \u0111\u01A1n ng\u1EEF c\u1EA3nh v\u00E0o c\u00E1c ph\u01B0\u01A1ng tr\u00ECnh. Nh\u1EA5n chu\u1ED9t ph\u1EA3i ho\u1EB7c nh\u1EA5n gi\u1EEF Ctrl v\u00E0 nh\u1EA5n chu\u1ED9t tr\u00E1i \u0111\u1EC3 m\u1EDF tr\u00ECnh \u0111\u01A1n n\u00E0y.", - ShowMath: "*Xem To\u00E1n D\u01B0\u1EDBi d\u1EA1ng* cho ph\u00E9p xem v\u00E0 ch\u00E9p d\u00E1n m\u00E3 ngu\u1ED3n c\u1EE7a ph\u01B0\u01A1ng tr\u00ECnh (d\u01B0\u1EDBi d\u1EA1ng MathML ho\u1EB7c \u0111\u1ECBnh d\u1EA1ng g\u1ED1c).", - Settings: "*T\u00F9y ch\u1ECDn To\u00E1n* cho ph\u00E9p \u0111i\u1EC1u khi\u1EC3n c\u00E1c t\u00EDnh n\u0103ng c\u1EE7a MathJax, th\u00ED d\u1EE5 nh\u01B0 k\u00EDch th\u01B0\u1EDBc k\u00FD t\u1EF1 to\u00E1n h\u1ECDc, c\u0169ng nh\u01B0 ph\u01B0\u01A1ng ph\u00E1p hi\u1EC3n th\u1ECB c\u00E1c ph\u01B0\u01A1ng tr\u00ECnh.", - Language: "*Ng\u00F4n ng\u1EEF* cho ph\u00E9p l\u1EF1a ch\u1ECDn ng\u00F4n ng\u1EEF cho c\u00E1c tr\u00ECnh \u0111\u01A1n v\u00E0 th\u00F4ng \u0111i\u1EC7p trong MathJax.", - Zoom: "*Ph\u00F3ng to*: N\u1EBFu b\u1EA1n c\u1EA3m th\u1EA5y kh\u00F3 \u0111\u1ECDc m\u1ED9t ph\u01B0\u01A1ng tr\u00ECnh, MathJax c\u00F3 th\u1EC3 ph\u00F3ng to n\u00F3 \u0111\u1EC3 gi\u00FAp b\u1EA1n th\u1EA5y r\u00F5 h\u01A1n.", - Accessibilty: "*Tr\u1EE3 n\u0103ng*: MathJax t\u1EF1 \u0111\u1ED9ng t\u00E1c \u0111\u1ED9ng v\u1EDBi c\u00E1c tr\u00ECnh \u0111\u1ECDc m\u00E0n h\u00ECnh \u0111\u1EC3 gi\u00FAp ng\u01B0\u1EDDi m\u00F9 l\u00F2a truy c\u1EADp to\u00E1n h\u1ECDc.", - Fonts: "*Ph\u00F4ng ch\u1EEF*: MathJax s\u1EED d\u1EE5ng m\u1ED9t s\u1ED1 ph\u00F4ng ch\u1EEF to\u00E1n h\u1ECDc n\u1EBFu \u0111\u01B0\u1EE3c c\u00E0i \u0111\u1EB7t tr\u00EAn m\u00E1y c\u1EE7a b\u1EA1n; n\u1EBFu kh\u00F4ng, n\u00F3 t\u1EA3i c\u00E1c ph\u00F4ng ch\u1EEF Web. B\u1EA1n c\u00F3 th\u1EC3 (nh\u01B0ng kh\u00F4ng c\u1EA7n ph\u1EA3i) c\u00E0i \u0111\u1EB7t c\u00E1c ph\u00F4ng ch\u1EEF v\u00E0o m\u00E1y \u0111\u1EC3 t\u0103ng t\u1ED1c \u0111\u1ED9 s\u1EAFp ch\u1EEF. Ch\u00FAng t\u00F4i khuy\u1EBFn kh\u00EDch c\u00E0i \u0111\u1EB7t c\u00E1c [ph\u00F4ng ch\u1EEF STIX](%1).", - CloseDialog: "\u0110\u00F3ng h\u1ED9p tho\u1EA1i tr\u1EE3 gi\u00FAp" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/vi/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/MathML.js b/src/py/kaleido/vendor/mathjax/localization/vi/MathML.js deleted file mode 100644 index 01c25e05..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/vi/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/vi/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("vi","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "mglyph h\u1ECFng: %1", - BadMglyphFont: "Ph\u00F4ng ch\u1EEF h\u1ECFng: %1", - MathPlayer: "MathJax kh\u00F4ng th\u1EC3 thi\u1EBFt l\u1EADp MathPlayer.\n\nN\u1EBFu MathPlayer ch\u01B0a \u0111\u01B0\u1EE3c c\u00E0i \u0111\u1EB7t, b\u1EA1n c\u1EA7n ph\u1EA3i c\u00E0i \u0111\u1EB7t n\u00F3 tr\u01B0\u1EDBc ti\u00EAn.\nN\u1EBFu kh\u00F4ng, c\u00E1c t\u00F9y ch\u1ECDn b\u1EA3o m\u1EADt c\u1EE7a b\u1EA1n c\u00F3 th\u1EC3 ng\u0103n tr\u1EDF c\u00E1c \u0111i\u1EC1u khi\u1EC3n ActiveX. H\u00E3y ch\u1ECDn T\u00F9y ch\u1ECDn Internet trong tr\u00ECnh \u0111\u01A1n C\u00F4ng c\u1EE5, qua th\u1EBB B\u1EA3o m\u1EADt, v\u00E0 b\u1EA5m n\u00FAt M\u1EE9c t\u00F9y ch\u1EC9nh. Ki\u1EC3m c\u00E1c h\u1ED9p \u201CCh\u1EA1y \u0111i\u1EC1u khi\u1EC3n ActiveX\u201D v\u00E0 \u201CH\u00E0nh vi nh\u1ECB ph\u00E2n v\u00E0 k\u1ECBch b\u1EA3n\u201D.\n\nHi\u1EC7n t\u1EA1i b\u1EA1n s\u1EBD g\u1EB7p c\u00E1c th\u00F4ng b\u00E1o l\u1ED7i thay v\u00EC to\u00E1n h\u1ECDc \u0111\u01B0\u1EE3c k\u1EBFt xu\u1EA5t.", - CantCreateXMLParser: "MathJax kh\u00F4ng th\u1EC3 t\u1EA1o ra b\u1ED9 ph\u00E2n t\u00EDch XML cho MathML. H\u00E3y ch\u1ECDn T\u00F9y ch\u1ECDn Internet trong tr\u00ECnh \u0111\u01A1n C\u00F4ng c\u1EE5, qua th\u1EBB B\u1EA3o m\u1EADt, v\u00E0 b\u1EA5m n\u00FAt M\u1EE9c t\u00F9y ch\u1EC9nh. Ki\u1EC3m h\u1ED9p \u201CScript c\u00E1c \u0111i\u1EC1u khi\u1EC3n ActiveX \u0111\u01B0\u1EE3c \u0111\u00E1nh d\u1EA5u l\u00E0 an to\u00E0n\u201D.\n\nMathJax s\u1EBD kh\u00F4ng th\u1EC3 x\u1EED l\u00FD c\u00E1c ph\u01B0\u01A1ng tr\u00ECnh MathML.", - UnknownNodeType: "Ki\u1EC3u n\u00FAt kh\u00F4ng r\u00F5: %1", - UnexpectedTextNode: "N\u00FAt v\u0103n b\u1EA3n b\u1EA5t ng\u1EEB: %1", - ErrorParsingMathML: "L\u1ED7i khi ph\u00E2n t\u00EDch MathML", - ParsingError: "L\u1ED7i khi ph\u00E2n t\u00EDch MathML: %1", - MathMLSingleElement: "MathML ph\u1EA3i ch\u1EC9 c\u00F3 m\u1ED9t ph\u1EA7n t\u1EED g\u1ED1c", - MathMLRootElement: "Ph\u1EA7n t\u1EED g\u1ED1c c\u1EE7a MathML ph\u1EA3i l\u00E0 \u003Cmath\u003E, ch\u1EE9 kh\u00F4ng ph\u1EA3i %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/vi/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/vi/MathMenu.js deleted file mode 100644 index b2c84457..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/vi/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/vi/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("vi","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "Xem To\u00E1n D\u01B0\u1EDBi d\u1EA1ng", - MathMLcode: "M\u00E3 ngu\u1ED3n MathML", - OriginalMathML: "MathML G\u1ED1c", - TeXCommands: "L\u1EC7nh TeX", - AsciiMathInput: "\u0110\u1EA7u v\u00E0o AsciiMathML", - Original: "H\u00ECnh th\u1EE9c G\u1ED1c", - ErrorMessage: "Th\u00F4ng b\u00E1o L\u1ED7i", - Annotation: "Ch\u00FA th\u00EDch", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "MathML N\u1ED9i dung", - OpenMath: "OpenMath", - texHints: "Xem g\u1EE3i \u00FD TeX trong MathML", - Settings: "T\u00F9y ch\u1ECDn To\u00E1n", - ZoomTrigger: "H\u00E0nh \u0111\u1ED9ng Ph\u00F3ng to", - Hover: "R\u00EA chu\u1ED9t", - Click: "Nh\u1EA5n chu\u1ED9t", - DoubleClick: "Nh\u1EA5n \u0111\u00FAp chu\u1ED9t", - NoZoom: "Kh\u00F4ng ph\u00F3ng to", - TriggerRequires: "Ch\u1EC9 khi B\u1EA5m gi\u1EEF:", - Option: "Option", - Alt: "Alt", - Command: "Command", - Control: "Control", - Shift: "Shift", - ZoomFactor: "T\u1EF7 l\u1EC7 Ph\u00F3ng to", - Renderer: "Ki\u1EC3u K\u1EBFt xu\u1EA5t To\u00E1n", - MPHandles: "Cho ph\u00E9p MathPlayer X\u1EED l\u00FD:", - MenuEvents: "S\u1EF1 ki\u1EC7n Tr\u00ECnh \u0111\u01A1n", - MouseEvents: "S\u1EF1 ki\u1EC7n Chu\u1ED9t", - MenuAndMouse: "S\u1EF1 ki\u1EC7n Chu\u1ED9t v\u00E0 Tr\u00ECnh \u0111\u01A1n", - FontPrefs: "T\u00F9y ch\u1ECDn Ph\u00F4ng ch\u1EEF", - ForHTMLCSS: "Cho HTML+CSS:", - Auto: "T\u1EF1 \u0111\u1ED9ng", - TeXLocal: "TeX (tr\u00EAn m\u00E1y)", - TeXWeb: "TeX (tr\u00EAn Web)", - TeXImage: "TeX (h\u00ECnh \u1EA3nh)", - STIXLocal: "STIX (tr\u00EAn m\u00E1y)", - STIXWeb: "STIX (tr\u00EAn Web)", - AsanaMathWeb: "Asana Math (tr\u00EAn Web)", - GyrePagellaWeb: "Gyre Pagella (tr\u00EAn Web)", - GyreTermesWeb: "Gyre Termes (tr\u00EAn Web)", - LatinModernWeb: "Latinh Modern (tr\u00EAn Web)", - NeoEulerWeb: "Neo Euler (tr\u00EAn Web)", - ContextMenu: "Tr\u00ECnh \u0111\u01A1n Ng\u1EEF c\u1EA3nh", - Browser: "Tr\u00ECnh duy\u1EC7t", - Scale: "Ph\u00F3ng to T\u1EA5t c\u1EA3 To\u00E1n\u2026", - Discoverable: "T\u00F4 s\u00E1ng khi R\u00EA chu\u1ED9t", - Locale: "Ng\u00F4n ng\u1EEF", - LoadLocale: "T\u1EA3i t\u1EEB URL\u2026", - About: "Gi\u1EDBi thi\u1EC7u v\u1EC1 MathJax", - Help: "Tr\u1EE3 gi\u00FAp MathJax", - localTeXfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF TeX tr\u00EAn m\u00E1y", - webTeXfonts: "d\u00F9ng ph\u00F4ng ch\u1EEF TeX tr\u00EAn Web", - imagefonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh", - localSTIXfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF STIX tr\u00EAn m\u00E1y", - webSVGfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF SVG tr\u00EAn Web", - genericfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF Unicode chung", - wofforotffonts: "Ph\u00F4ng ch\u1EEF WOFF ho\u1EB7c OTF", - eotffonts: "Ph\u00F4ng ch\u1EEF EOT", - svgfonts: "Ph\u00F4ng ch\u1EEF SVG", - WebkitNativeMMLWarning: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n h\u00ECnh nh\u01B0 kh\u00F4ng h\u1ED7 tr\u1EE3 MathML l\u00E0 m\u1ED9t ng\u00F4n ng\u1EEF g\u1ED1c, n\u00EAn k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t MathML c\u00F3 th\u1EC3 l\u00E0m cho kh\u00F4ng \u0111\u1ECDc \u0111\u01B0\u1EE3c c\u00E1c to\u00E1n tr\u00EAn trang.", - MSIENativeMMLWarning: "Internet Explorer c\u1EA7n ph\u1EA7n b\u1ED5 sung MathPlayer \u0111\u1EC3 x\u1EED l\u00FD \u0111\u1EA7u ra MathML.", - OperaNativeMMLWarning: "Opera kh\u00F4ng h\u1ED7 tr\u1EE3 MathML \u0111\u1EA7y \u0111\u1EE7, n\u00EAn k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t MathML c\u00F3 th\u1EC3 l\u00E0m cho m\u1ED9t s\u1ED1 bi\u1EC3u th\u1EE9c hi\u1EC3n th\u1ECB m\u1ED9t c\u00E1ch kh\u00F4ng ch\u00EDnh x\u00E1c.", - SafariNativeMMLWarning: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n h\u1ED7 tr\u1EE3 MathML g\u1ED1c nh\u01B0ng kh\u00F4ng h\u1ED7 tr\u1EE3 t\u1EA5t c\u1EA3 nh\u1EEFng t\u00EDnh n\u0103ng m\u00E0 MathJax s\u1EED d\u1EE5ng, n\u00EAn m\u1ED9t s\u1ED1 bi\u1EC3u th\u1EE9c c\u00F3 th\u1EC3 hi\u1EC3n th\u1ECB kh\u00F4ng ch\u00EDnh x\u00E1c.", - FirefoxNativeMMLWarning: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n h\u1ED7 tr\u1EE3 MathML g\u1ED1c nh\u01B0ng kh\u00F4ng h\u1ED7 tr\u1EE3 t\u1EA5t c\u1EA3 nh\u1EEFng t\u00EDnh n\u0103ng m\u00E0 MathJax s\u1EED d\u1EE5ng, n\u00EAn m\u1ED9t s\u1ED1 bi\u1EC3u th\u1EE9c c\u00F3 th\u1EC3 hi\u1EC3n th\u1ECB kh\u00F4ng ch\u00EDnh x\u00E1c.", - MSIESVGWarning: "SVG kh\u00F4ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3 trong Internet Explorer tr\u01B0\u1EDBc IE9 ho\u1EB7c khi gi\u1EA3 l\u1EADp IE8 tr\u1EDF xu\u1ED1ng. Vi\u1EC7c k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 hi\u1EC3n th\u1ECB SVG s\u1EBD l\u00E0m cho c\u00E1c to\u00E1n hi\u1EC3n th\u1ECB kh\u00F4ng ch\u00EDnh x\u00E1c.", - LoadURL: "T\u1EA3i d\u1EEF li\u1EC7u bi\u00EAn d\u1ECBch t\u1EEB URL n\u00E0y:", - BadURL: "URL ph\u1EA3i d\u1EABn \u0111\u1EBFn m\u1ED9t t\u1EADp tin JavaScript \u0111\u1ECBnh r\u00F5 d\u1EEF li\u1EC7u bi\u00EAn d\u1ECBch MathJax. C\u00E1c t\u00EAn t\u1EADp tin JavaScript ph\u1EA3i c\u00F3 \u201C.js\u201D \u0111\u1EB1ng sau.", - BadData: "Th\u1EA5t b\u1EA1i khi t\u1EA3i d\u1EEF li\u1EC7u bi\u00EAn d\u1ECBch t\u1EEB %1", - SwitchAnyway: "C\u1EE9 k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t n\u00E0y?\n\n(B\u1EA5m OK \u0111\u1EC3 k\u00EDch ho\u1EA1t, ho\u1EB7c Cancel \u0111\u1EC3 ti\u1EBFp t\u1EE5c s\u1EED d\u1EE5ng ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t hi\u1EC7n t\u1EA1i.)", - ScaleMath: "Ph\u00F3ng to t\u1EA5t c\u1EA3 to\u00E1n (so v\u1EDBi v\u0103n b\u1EA3n n\u1EB1m chung quanh) b\u1EB1ng t\u1EF7 l\u1EC7:", - NonZeroScale: "T\u1EF7 l\u1EC7 ph\u1EA3i kh\u00F4ng 0", - PercentScale: "T\u1EF7 l\u1EC7 ph\u1EA3i l\u00E0 s\u1ED1 ph\u1EA7n tr\u0103m (th\u00ED d\u1EE5 120%%)", - IE8warning: "Tr\u00ECnh \u0111\u01A1n MathJax v\u00E0 t\u00EDnh n\u0103ng ph\u00F3ng to s\u1EBD kh\u00F4ng c\u00F2n ho\u1EA1t \u0111\u1ED9ng. B\u1EA1n v\u1EABn c\u00F3 th\u1EC3 b\u1EA5m gi\u1EEF Alt v\u00E0 nh\u1EA5n chu\u1ED9t v\u00E0o m\u1ED9t bi\u1EC3u th\u1EE9c \u0111\u1EC3 m\u1EDF tr\u00ECnh \u0111\u01A1n MathJax thay th\u1EBF.\n\nB\u1EA1n c\u00F3 ch\u1EAFc ch\u1EAFn mu\u1ED1n thay \u0111\u1ED5i t\u00F9y ch\u1ECDn MathPlayer?", - IE9warning: "Tr\u00ECnh \u0111\u01A1n ng\u1EEF c\u1EA3nh MathJax s\u1EBD b\u1ECB v\u00F4 hi\u1EC7u, nh\u01B0ng b\u1EA1n c\u00F3 th\u1EC3 b\u1EA5m gi\u1EEF Alt v\u00E0 nh\u1EA5n chu\u1ED9t v\u00E0o m\u1ED9t bi\u1EC3u th\u1EE9c \u0111\u1EC3 m\u1EDF tr\u00ECnh \u0111\u01A1n MathJax thay th\u1EBF.", - NoOriginalForm: "H\u00ECnh th\u1EE9c g\u1ED1c kh\u00F4ng c\u00F3 s\u1EB5n", - Close: "\u0110\u00F3ng", - EqSource: "M\u00E3 ngu\u1ED3n C\u00F4ng th\u1EE9c MathJax", - CloseAboutDialog: "\u0110\u00F3ng h\u1ED9p tho\u1EA1i gi\u1EDBi thi\u1EC7u v\u1EC1 MathJax", - FastPreview: "Xem tr\u01B0\u1EDBc nhanh", - AssistiveMML: "MathML tr\u1EE3 n\u0103ng", - InTabOrder: "Bao g\u1ED3m trong th\u1EE9 t\u1EF1 Tab" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/vi/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/TeX.js b/src/py/kaleido/vendor/mathjax/localization/vi/TeX.js deleted file mode 100644 index 2e389496..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/vi/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/vi/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("vi","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "D\u1EA5u ngo\u1EB7c m\u1EDF c\u00F2n d\u01B0 ho\u1EB7c d\u1EA5u ngo\u1EB7c \u0111\u00F3ng b\u1ECB thi\u1EBFu", - ExtraCloseMissingOpen: "D\u1EA5u ngo\u1EB7c \u0111\u00F3ng c\u00F2n d\u01B0 ho\u1EB7c d\u1EA5u ngo\u1EB7c m\u1EDF b\u1ECB thi\u1EBFu", - MissingLeftExtraRight: "Thi\u1EBFu \\left ho\u1EB7c d\u01B0 \\right", - MissingScript: "Thi\u1EBFu \u0111\u1ED1i s\u1ED1 ch\u1EC9 s\u1ED1", - ExtraLeftMissingRight: "D\u01B0 \\left ho\u1EB7c thi\u1EBFu \\right", - MissingOpenForSub: "Thi\u1EBFu d\u1EA5u ngo\u1EB7c \u0111\u01A1n m\u1EDF cho ch\u1EC9 s\u1ED1 d\u01B0\u1EDBi", - MissingOpenForSup: "Thi\u1EBFu d\u1EA5u ngo\u1EB7c \u0111\u01A1n m\u1EDF cho ch\u1EC9 s\u1ED1 tr\u00EAn", - AmbiguousUseOf: "%1 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng m\u1ED9t c\u00E1ch kh\u00F4ng r\u00F5 r\u00E0ng", - EnvBadEnd: "\\begin{%1} k\u1EBFt th\u00FAc v\u1EDBi \\end{%2}", - EnvMissingEnd: "Thi\u1EBFu \\end{%1}", - MissingBoxFor: "Thi\u1EBFu h\u1ED9p cho %1", - MissingCloseBrace: "Thi\u1EBFu d\u1EA5u ngo\u1EB7c \u0111\u00F3ng", - MisplacedMiddle: "%1 ph\u1EA3i n\u1EB1m gi\u1EEFa \\left v\u00E0 \\right", - MisplacedLimits: "%1 ch\u1EC9 \u0111\u01B0\u1EE3c cho ph\u00E9p \u0111\u1ED1i v\u1EDBi ph\u00E9p to\u00E1n", - MultipleCommand: "Nhi\u1EC1u %1", - InvalidMathMLAttr: "Thu\u1ED9c t\u00EDnh MathML kh\u00F4ng h\u1EE3p l\u1EC7: %1", - UnknownAttrForElement: "%1 kh\u00F4ng \u0111\u01B0\u1EE3c c\u00F4ng nh\u1EADn l\u00E0 thu\u1ED9c t\u00EDnh cho %2", - MissingArgFor: "Thi\u1EBFu \u0111\u1ED1i s\u1ED1 cho %1", - InvalidEnv: "T\u00EAn m\u00F4i tr\u01B0\u1EDDng \u201C%1\u201D kh\u00F4ng h\u1EE3p l\u1EC7", - UnknownEnv: "M\u00F4i tr\u01B0\u1EDDng kh\u00F4ng r\u00F5 \u201C%1\u201D", - TokenNotFoundForCommand: "Kh\u00F4ng t\u00ECm th\u1EA5y %1 cho %2", - CommandNotAllowedInEnv: "Kh\u00F4ng cho ph\u00E9p %1 trong m\u00F4i tr\u01B0\u1EDDng %2", - MultipleLabel: "Nh\u00E3n \u201C%1\u201D \u0111\u01B0\u1EE3c \u0111\u1ECBnh r\u00F5 nhi\u1EC1u l\u1EA7n", - CommandAtTheBeginingOfLine: "%1 ph\u1EA3i n\u1EB1m v\u00E0o \u0111\u1EA7u d\u00F2ng", - MultipleBBoxProperty: "%1 \u0111\u01B0\u1EE3c \u0111\u1ECBnh r\u00F5 hai l\u1EA7n trong %2", - InvalidDecimalNumber: "S\u1ED1 th\u1EADp ph\u00E2n kh\u00F4ng h\u1EE3p l\u1EC7", - InvalidNumber: "S\u1ED1 kh\u00F4ng h\u1EE3p l\u1EC7", - NoClosingChar: "Kh\u00F4ng t\u00ECm th\u1EA5y %1 \u0111\u00F3ng", - Misplaced: "\u0110\u00E3 \u0111\u1EB7t sai ch\u1ED7 %1", - UndefinedControlSequence: "Tr\u00ECnh t\u1EF1 ki\u1EC3m so\u00E1t kh\u00F4ng x\u00E1c \u0111\u1ECBnh %1", - DoubleExponent: "Ch\u1EC9 s\u1ED1 tr\u00EAn ch\u1EC9 s\u1ED1 tr\u00EAn: d\u00F9ng d\u1EA5u ngo\u1EB7c m\u00F3c \u0111\u1EC3 l\u00E0m r\u00F5", - DoubleSubscripts: "Ch\u1EC9 s\u1ED1 d\u01B0\u1EDBi ch\u1EC9 s\u1ED1 d\u01B0\u1EDBi: d\u00F9ng d\u1EA5u ngo\u1EB7c m\u00F3c \u0111\u1EC3 l\u00E0m r\u00F5", - DoubleExponentPrime: "D\u1EA5u ph\u1EA9y tr\u00EAn g\u00E2y ra ch\u1EC9 s\u1ED1 tr\u00EAn ch\u1EC9 s\u1ED1 tr\u00EAn: d\u00F9ng d\u1EA5u ngo\u1EB7c m\u00F3c \u0111\u1EC3 l\u00E0m r\u00F5", - CantUseHash1: "B\u1EA1n kh\u00F4ng th\u1EC3 s\u1EED d\u1EE5ng \u201Ck\u00FD t\u1EF1 tham bi\u1EBFn macro #\u201D trong ch\u1EBF \u0111\u1ED9 to\u00E1n", - MisplacedMoveRoot: "%1 ch\u1EC9 c\u00F3 th\u1EC3 xu\u1EA5t hi\u1EC7n trong ph\u00E9p c\u0103n", - IntegerArg: "\u0110\u1ED1i s\u1ED1 c\u1EE7a %1 ph\u1EA3i l\u00E0 s\u1ED1 nguy\u00EAn", - NotMathMLToken: "%1 kh\u00F4ng ph\u1EA3i l\u00E0 ph\u1EA7n t\u1EED d\u1EA5u hi\u1EC7u", - MaxMacroSub1: "\u0110\u00E3 v\u01B0\u1EE3t qu\u00E1 s\u1ED1 l\u1EA7n thay th\u1EBF macro t\u1ED1i \u0111a c\u1EE7a MathJax; c\u00F3 ph\u1EA3i g\u1ECDi macro \u0111\u1EC7 quy?", - MaxMacroSub2: "\u0110\u00E3 v\u01B0\u1EE3t qu\u00E1 s\u1ED1 l\u1EA7n thay th\u1EBF t\u1ED1i \u0111a c\u1EE7a MathJax; m\u00F4i tr\u01B0\u1EDDng LaTeX c\u00F3 ph\u1EA3i \u0111\u1EC7 quy?", - ExtraAlignTab: "Th\u1EBB c\u0103n ch\u1EC9nh d\u01B0 trong v\u0103n b\u1EA3n \\cases", - BracketMustBeDimension: "\u0110\u1ED1i s\u1ED1 trong d\u1EA5u ngo\u1EB7c c\u1EE7a %1 ph\u1EA3i l\u00E0 chi\u1EC1u", - ExtraCloseLooking: "D\u1EA5u \u0111\u00F3ng b\u1EA5t ng\u1EDD trong khi t\u00ECm ki\u1EBFm %1", - MissingCloseBracket: "Kh\u00F4ng t\u00ECm th\u1EA5y d\u1EA5u \u201C]\u201D \u0111\u00F3ng cho \u0111\u1ED1i s\u1ED1 c\u1EE7a %1", - MissingOrUnrecognizedDelim: "D\u1EA5u t\u00E1ch b\u1ECB thi\u1EBFu ho\u1EB7c kh\u00F4ng r\u00F5 cho %1", - MissingDimOrUnits: "Thi\u1EBFu chi\u1EC1u ho\u1EB7c \u0111\u01A1n v\u1ECB c\u1EE7a %1", - MathNotTerminated: "To\u00E1n kh\u00F4ng ch\u1EA5m d\u1EE9t trong h\u1ED9p v\u0103n b\u1EA3n", - IllegalMacroParam: "Tham chi\u1EBFu tham bi\u1EBFn macro kh\u00F4ng h\u1EE3p l\u1EC7", - MaxBufferSize: "\u0110\u00E3 v\u01B0\u1EE3t qu\u00E1 k\u00EDch th\u01B0\u1EDBc b\u1ED9 \u0111\u1EC7m n\u1ED9i b\u1ED9 c\u1EE7a MathJax; c\u00F3 ph\u1EA3i g\u1ECDi macro \u0111\u1EC7 quy?", - IllegalAlign: "\u0110\u00E3 x\u00E1c \u0111\u1ECBnh s\u1EF1 c\u0103n ch\u1EC9nh kh\u00F4ng h\u1EE3p l\u1EC7 trong %1", - BadMathStyleFor: "Ki\u1EC3u to\u00E1n h\u1ECFng v\u1EDBi %1", - PositiveIntegerArg: "\u0110\u1ED1i s\u1ED1 c\u1EE7a %1 ph\u1EA3i l\u00E0 s\u1ED1 nguy\u00EAn d\u01B0\u01A1ng", - ErroneousNestingEq: "C\u1EA5u tr\u00FAc \u0111\u1EB3ng th\u1EE9c b\u1ECB x\u1EBFp l\u1ED3ng sai l\u1EA7m", - MultlineRowsOneCol: "C\u00E1c h\u00E0ng trong m\u00F4i tr\u01B0\u1EDDng %1 ph\u1EA3i c\u00F3 \u0111\u00FAng m\u1ED9t c\u1ED9t", - InvalidBBoxProperty: "\u201C%1\u201D kh\u00F4ng tr\u00F4ng gi\u1ED1ng nh\u01B0 m\u00E0u, chi\u1EC1u l\u00F3t, ho\u1EB7c ki\u1EC3u", - ExtraEndMissingBegin: "D\u01B0 %1 ho\u1EB7c thi\u1EBFu \\begingroup", - GlobalNotFollowedBy: "%1 kh\u00F4ng c\u00F3 \\let, \\def, ho\u1EB7c \\newcommand ti\u1EBFp theo", - UndefinedColorModel: "M\u00F4 h\u00ECnh m\u00E0u \u201C%1\u201D kh\u00F4ng \u0111\u1ECBnh ngh\u0129a", - ModelArg1: "Gi\u00E1 tr\u1ECB m\u00E0u cho m\u00F4 h\u00ECnh %1 \u0111\u00F2i h\u1ECFi 3 s\u1ED1", - ModelArg2: "Gi\u00E1 tr\u1ECB m\u00E0u cho m\u00F4 h\u00ECnh %1 ph\u1EA3i \u1EDF gi\u1EEFa %2 v\u00E0 %3", - NewextarrowArg1: "\u0110\u1ED1i s\u1ED1 \u0111\u1EA7u ti\u00EAn c\u1EE7a %1 ph\u1EA3i l\u00E0 t\u00EAn tr\u00ECnh t\u1EF1 \u0111i\u1EC1u khi\u1EC3n", - NewextarrowArg2: "\u0110\u1ED1i s\u1ED1 th\u1EE9 hai c\u1EE7a %1 ph\u1EA3i l\u00E0 hai s\u1ED1 nguy\u00EAn ph\u00E2n t\u00E1ch b\u1EB1ng d\u1EA5u ph\u1EA9y", - NewextarrowArg3: "\u0110\u1ED1i s\u1ED1 th\u1EE9 ba c\u1EE7a %1 ph\u1EA3i l\u00E0 s\u1ED1 k\u00FD t\u1EF1 Unicode", - IllegalControlSequenceName: "T\u00EAn tr\u00ECnh t\u1EF1 \u0111i\u1EC1u khi\u1EC3n kh\u00F4ng h\u1EE3p l\u1EC7 cho %1", - IllegalParamNumber: "\u0110\u00E3 x\u00E1c \u0111\u1ECBnh s\u1ED1 tham bi\u1EBFn kh\u00F4ng h\u1EE3p l\u1EC7 cho %1", - MissingCS: "%1 ph\u1EA3i c\u00F3 tr\u00ECnh t\u1EF1 \u0111i\u1EC1u khi\u1EC3n ti\u1EBFp theo", - CantUseHash2: "\u0110\u00E3 s\u1EED d\u1EE5ng # m\u1ED9t c\u00E1ch kh\u00F4ng h\u1EE3p l\u1EC7 trong khu\u00F4n m\u1EABu c\u1EE7a %1", - SequentialParam: "Tham bi\u1EBFn c\u1EE7a %1 ph\u1EA3i \u0111\u01B0\u1EE3c \u0111\u00E1nh s\u1ED1 li\u00EAn t\u1EE5c", - MissingReplacementString: "Thi\u1EBFu chu\u1ED7i thay th\u1EBF khi \u0111\u1ECBnh ngh\u0129a %1", - MismatchUseDef: "\u0110\u00E3 s\u1EED d\u1EE5ng %1 m\u1ED9t c\u00E1ch kh\u00F4ng ph\u00F9 h\u1EE3p v\u1EDBi \u0111\u1ECBnh ngh\u0129a c\u1EE7a n\u00F3", - RunawayArgument: "\u0110\u1ED1i s\u1ED1 c\u1EE7a %1 kh\u00F4ng ng\u1EEBng?", - NoClosingDelim: "Kh\u00F4ng t\u00ECm th\u1EA5y d\u1EA5u k\u1EBFt th\u00FAc %1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/vi/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/vi.js b/src/py/kaleido/vendor/mathjax/localization/vi/vi.js deleted file mode 100644 index a73b9e79..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/vi/vi.js +++ /dev/null @@ -1,58 +0,0 @@ -/************************************************************* - * - * MathJax/localization/vi/vi.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("vi",null,{ - menuTitle: "Ti\u1EBFng Vi\u1EC7t", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax \u0111\u00E3 t\u00ECm th\u1EA5y m\u1ED9t cookie thi\u1EBFt l\u1EADp c\u1EE7a ng\u01B0\u1EDDi d\u00F9ng c\u00F3 m\u00E3 ngu\u1ED3n \u0111\u1EC3 ch\u1EA1y. B\u1EA1n c\u00F3 mu\u1ED1n ch\u1EA1y n\u00F3?\n\n(Khuy\u00EAn b\u1EA1n b\u1EA5m H\u1EE7y b\u1ECF tr\u1EEB khi b\u1EA1n l\u00E0 ng\u01B0\u1EDDi thi\u1EBFt l\u1EADp cookie.)", - MathProcessingError: "L\u1ED7i x\u1EED l\u00FD to\u00E1n", - MathError: "L\u1ED7i to\u00E1n", - LoadFile: "\u0110ang t\u1EA3i %1", - Loading: "\u0110ang t\u1EA3i", - LoadFailed: "Th\u1EA5t b\u1EA1i khi t\u1EA3i t\u1EADp tin: %1", - ProcessMath: "\u0110ang x\u1EED l\u00FD to\u00E1n: %1%%", - Processing: "\u0110ang x\u1EED l\u00FD", - TypesetMath: "\u0110ang x\u1EBFp ch\u1EEF to\u00E1n: %1%%", - Typesetting: "\u0110ang x\u1EBFp ch\u1EEF", - MathJaxNotSupported: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n kh\u00F4ng h\u1ED7 tr\u1EE3 MathJax", - ErrorTips: "M\u1EB9o v\u1EB7t g\u1EE1 l\u1ED7i: s\u1EED d\u1EE5ng %%1, ki\u1EC3m tra %%2 trong b\u1EA3ng \u0111i\u1EC1u khi\u1EC3n c\u1EE7a tr\u00ECnh duy\u1EC7t" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return String(n).replace(".", ","); // replace dot by comma - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/vi/vi.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/FontWarnings.js deleted file mode 100644 index dcf692ba..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hans/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hans/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hans","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax\u4F7F\u7528\u57FA\u4E8EWeb\u7684\u5B57\u4F53\u6765\u663E\u793A\u6B64\u9875\u4E0A\u663E\u793A\u6570\u5B66\u76F8\u5173\u5185\u5BB9\u3002\u8FD9\u5C06\u82B1\u8D39\u8F83\u957F\u65F6\u95F4\u4E0B\u8F7D\uFF0C\u6240\u4EE5\u6211\u4EEC\u5F3A\u70C8\u5EFA\u8BAE\u60A8\u76F4\u63A5\u5728\u60A8\u7684\u64CD\u4F5C\u7CFB\u7EDF\u7684\u5B57\u4F53\u6587\u4EF6\u5939\u4E2D\u5B89\u88C5\u6570\u5B66\u7B26\u53F7\u5B57\u4F53\u4EE5\u4FBF\u7ACB\u523B\u663E\u793A\u3002", - imageFonts: "MathJax\u4F7F\u7528\u56FE\u50CF\u5B57\u4F53\u800C\u4E0D\u662F\u672C\u5730\u6216\u57FA\u4E8EWeb\u7684\u5B57\u4F53\u3002\u8FD9\u5C06\u6BD4\u5E73\u5E38\u663E\u793A\u66F4\u6162\uFF0C\u4E14\u76F8\u5173\u6570\u5B66\u7B26\u53F7\u53EF\u80FD\u65E0\u6CD5\u5168\u606F\u7684\u88AB\u6253\u5370\u673A\u6253\u5370\u3002", - noFonts: "MathJax\u65E0\u6CD5\u5B9A\u4F4D\u60A8\u4F7F\u7528\u4E2D\u7684\u5B57\u4F53\u4EE5\u663E\u793A\u6570\u5B66\u7B26\u53F7\uFF0C\u56FE\u50CF\u5B57\u4F53\u4EA6\u65E0\u6CD5\u4F7F\u7528\uFF0C\u6240\u4EE5\u6211\u4EEC\u4E0D\u5F97\u4E0D\u8C03\u7528Unicode\u5B57\u7B26\u4EE5\u663E\u793A\u4E4B\u3002\u67D0\u4E9B\u5B57\u7B26\u5C06\u65E0\u6CD5\u6B63\u786E\u663E\u793A\uFF0C\u4E43\u81F3\u5F7B\u5E95\u65E0\u6CD5\u663E\u793A\u3002", - webFonts: "\u73B0\u65F6\u5927\u591A\u6570\u6D4F\u89C8\u5668\u5141\u8BB8\u901A\u8FC7\u4E92\u8054\u7F51\u4E0B\u8F7D\u5B57\u4F53\u3002\u66F4\u65B0\u60A8\u7684\u6D4F\u89C8\u5668\u81F3\u6700\u65B0\u7248\u672C\uFF08\u6216\u8005\u5E72\u8106\u66F4\u6362\u6D4F\u89C8\u5668\uFF09\u4EE5\u4FBF\u5728\u6B64\u9875\u9762\u63D0\u9AD8\u6570\u5B66\u7B26\u53F7\u7684\u663E\u793A\u8D28\u91CF\u3002", - fonts: "MathJax\u53EF\u4F7F\u7528[STIX fonts](%1)\u6216\u8005[MathJax TeX fonts](%2)\u3002\u4E0B\u8F7D\u5E76\u5B89\u88C5\u8FD9\u4E9B\u5B57\u4F53\u4EE5\u6539\u5584\u60A8\u7684MathJax\u4F53\u9A8C\u3002", - STIXPage: "\u6B64\u9875\u9762\u88AB\u8BBE\u8BA1\u4E3A\u4F7F\u7528[STIX fonts](%1)\u3002\u4E0B\u8F7D\u5E76\u5B89\u88C5\u5B83\u4EE5\u589E\u52A0\u60A8\u7684MathJax\u4F53\u9A8C\u3002", - TeXPage: "\u6B64\u9875\u9762\u88AB\u8BBE\u8BA1\u4E3A\u4F7F\u7528[MathJax TeX fonts](%1)\u3002\u4E0B\u8F7D\u5E76\u5B89\u88C5\u5B83\u4EE5\u589E\u52A0\u60A8\u7684MathJax\u4F53\u9A8C\u3002" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/HTML-CSS.js deleted file mode 100644 index 9f10f5da..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hans/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hans/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hans","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u52A0\u8F7Dweb\u5B57\u4F53%1", - CantLoadWebFont: "Web\u5B57\u4F53%1\u65E0\u6CD5\u52A0\u8F7D", - FirefoxCantLoadWebFont: "\u60A8\u5728\u4F7F\u7528\u706B\u72D0\u6D4F\u89C8\u5668\uFF0C\u5979\u4E0D\u652F\u6301\u4ECE\u8FDC\u7A0B\u4E3B\u673A\u4E0B\u8F7D\u4EFB\u4F55web\u5B57\u4F53", - CantFindFontUsing: "\u65E0\u6CD5\u627E\u5230\u4F7F\u7528%1\u7684\u6709\u6548\u5B57\u4F53", - WebFontsNotAvailable: "Web\u5B57\u4F53\u4E0D\u77E5\u4E3A\u4F55\u65E0\u6CD5\u4F7F\u7528\uFF1F\uFF01\u2014\u2014\u6211\u4EEC\u5C06\u4E3A\u9601\u4E0B\u8F6C\u6362\u4E3A\u56FE\u7247\u5B57\u4F53" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/HelpDialog.js deleted file mode 100644 index 25285410..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hans/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hans/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hans","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax\u5E2E\u52A9", - MathJax: "*MathJax*\u662F\u4E00\u79CD\u8BA9\u7F51\u9875\u5236\u4F5C\u8005\u5F80\u7F51\u9875\u4E2D\u52A0\u5165\u6570\u5B66\u5F0F\u7684JavaScript\u8FD0\u884C\u5E93\u3002\u4F5C\u4E3A\u8BFB\u8005\uFF0C\u60A8\u4E0D\u9700\u8981\u505A\u4EFB\u4F55\u4F7F\u5176\u51FA\u73B0\u7684\u4E8B\u60C5\u3002", - Browsers: "*\u6D4F\u89C8\u5668*\uFF1AMathJax\u53EF\u4EE5\u5728\u6240\u6709\u8F83\u65B0\u6D4F\u89C8\u5668\u4E0A\u5DE5\u4F5C\uFF0C\u5305\u62ECIE6+\u3001Firefox 3+\u3001Chrome 0.2+\u3001Safari 2+\u3001Opera 9.6+\u548C\u5927\u591A\u6570\u79FB\u52A8\u6D4F\u89C8\u5668\u3002", - Menu: "*\u6570\u5F0F\u83DC\u5355*\uFF1AMathJax\u7ED9\u6570\u5F0F\u6DFB\u52A0\u4E86\u5FEB\u6377\u83DC\u5355\u3002\u53F3\u952E\u6216\u6309Ctrl\u7136\u540E\u70B9\u51FB\u4EFB\u4F55\u6570\u5F0F\u5373\u53EF\u8FDB\u5165\u83DC\u5355\u3002", - ShowMath: "*\u6570\u5F0F\u663E\u793A\u5F62\u5F0F*\u5141\u8BB8\u60A8\u6D4F\u89C8\u516C\u5F0F\u7684\u6E90\u4EE3\u7801\u4EE5\u4FBF\u590D\u5236\u7C98\u8D34\uFF08\u4EE5\u539F\u59CB\u5F62\u5F0F\u6216MathML\uFF09\u3002", - Settings: "*\u6570\u5B66\u8BBE\u7F6E*\u91CC\u60A8\u60A8\u53EF\u4EE5\u8C03\u6574MathJax\u7684\u5404\u79CD\u529F\u80FD\uFF0C\u6BD4\u5982\u8BF4\u6570\u5F0F\u7684\u5927\u5C0F\uFF0C\u548C\u663E\u793A\u7B49\u5F0F\u7684\u673A\u7406\u3002", - Language: "*\u8BED\u8A00*\u7ED9\u60A8\u9009\u62E9MathJax\u7528\u4F5C\u83DC\u5355\u548C\u8B66\u544A\u4FE1\u606F\u7684\u8BED\u8A00\u3002", - Zoom: "*\u6570\u5F0F\u7F29\u653E*\uFF1A\u5982\u679C\u60A8\u6D4F\u89C8\u7B49\u5F0F\u65F6\u9047\u5230\u56F0\u96BE\uFF0CMathJax\u53EF\u4EE5\u5C06\u5176\u653E\u5927\u6765\u4F7F\u60A8\u83B7\u5F97\u66F4\u597D\u7684\u4F53\u9A8C\u3002", - Accessibilty: "*\u8F85\u52A9\u529F\u80FD*\uFF1AMathJax\u4F1A\u81EA\u52A8\u4E0E\u8BBF\u95EE\u8005\u4EA4\u4E92\u4F7F\u89C6\u89C9\u969C\u788D\u8005\u7406\u89E3\u6570\u5F0F\u66F4\u52A0\u5BB9\u6613\u3002", - Fonts: "*\u5B57\u4F53*\uFF1AMathJax\u5C06\u4F1A\u4F7F\u7528\u60A8\u7535\u8111\u4E0A\u5B89\u88C5\u7684\u67D0\u4E9B\u6570\u5F0F\u5B57\u4F53\u6765\u663E\u793A\u6570\u5F0F\uFF1B\u5982\u679C\u6CA1\u6709\u5B89\u88C5\u7684\u8BDD\uFF0C\u5B83\u5C06\u4F7F\u7528\u7F51\u7EDC\u4E0A\u7684\u5B57\u4F53\u3002\u867D\u7136\u5E76\u975E\u5FC5\u8981\uFF0C\u4F46\u662F\u5C06\u8FD9\u4E9B\u5B57\u4F53\u5B89\u88C5\u5230\u672C\u5730\u80FD\u52A0\u901F\u6570\u5F0F\u7684\u663E\u793A\u3002\u6211\u4EEC\u5EFA\u8BAE\u60A8\u5B89\u88C5[STIX fonts](%1)\u3002", - CloseDialog: "\u5173\u95ED\u5E2E\u52A9\u5BF9\u8BDD" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathML.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathML.js deleted file mode 100644 index d463da76..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hans/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hans","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "\u9519\u8BEF\u7684\u79FB\u52A8\u5B57\u5F62\uFF1A%1", - BadMglyphFont: "\u9519\u8BEF\u5B57\u4F53\uFF1A%1", - MathPlayer: "MathJax\u65E0\u6CD5\u542F\u7528MathPlayer\u3002\n\n\u5982\u679C\u8FD8\u6CA1\u6709\u5B89\u88C5MathPlayer\uFF0C\u60A8\u5FC5\u987B\u5148\u5B89\u88C5MathPlayer\u3002\u5982\u679C\u60A8\u7684\u5B89\u5168\u8BBE\u7F6E\u6709\u53EF\u80FD\u4F1A\u963B\u6B62ActiveX\u7684\u8FD0\u884C\uFF0C\u8BF7\u5728\u5DE5\u5177\u83DC\u5355\u4E0B\u7684Internet \u9009\u9879\u4E2D\u9009\u62E9\u5B89\u5168\u6807\u7B7E\u7136\u540E\u70B9\u51FB\u81EA\u5B9A\u4E49\u7EA7\u522B\uFF0C\u68C0\u67E5\u201C\u4E8C\u8FDB\u5236\u6587\u4EF6\u548C\u811A\u672C\u884C\u4E3A\u201D\u548C\u201C\u8FD0\u884C ActiveX \u63A7\u4EF6\u201D\u662F\u5426\u5DF2\u542F\u7528\u3002\n\n\u76EE\u524D\u60A8\u770B\u5230\u7684\u53EA\u80FD\u662F\u9519\u8BEF\u4FE1\u606F\u800C\u975E\u6392\u7248\u6570\u5F0F\u3002", - CantCreateXMLParser: "MathJax\u65E0\u6CD5\u4E3AMathML\u521B\u5EFAXML\u89E3\u6790\u5668\u3002\u8BF7\u68C0\u67E5\u5B89\u5168\u8BBE\u7F6E\n\u201C\u5BF9\u6807\u8BB0\u4E3A\u53EF\u5B89\u5168\u6267\u884C\u811A\u672C\u7684 Active \u63A7\u4EF6\u6267\u884C\u811A\u672C\u201D\n\u662F\u5426\u5DF2\u5F00\u542F\uFF08\u5728\u5DE5\u5177\u4E2D\u5F00\u542FInternet \u9009\u9879\u7136\u540E\u9009\u62E9\u5B89\u5168\n\u9762\u677F\uFF0C\u70B9\u81EA\u5B9A\u4E49\u7EA7\u522B\u6309\u94AE\u627E\u5230\u8FD9\u4E2A\u9009\u9879\u5E76\u5F00\u542F\uFF09\u3002\n\nMathJax\u5C06\u65E0\u6CD5\u5904\u7406MathML\u7B49\u5F0F", - UnknownNodeType: "\u672A\u77E5\u7684\u8282\u70B9\u7C7B\u578B\uFF1A%1", - UnexpectedTextNode: "\u610F\u5916\u7684\u6587\u672C\u8282\u70B9\uFF1A%1", - ErrorParsingMathML: "\u89E3\u6790MathML\u65F6\u51FA\u9519", - ParsingError: "\u89E3\u6790MathML\u65F6\u51FA\u9519\uFF1A%1", - MathMLSingleElement: "MathML\u5FC5\u987B\u7528\u5355\u4E2A\u5143\u7D20\u5EFA\u7ACB", - MathMLRootElement: "MathML\u5FC5\u987B\u7528\u003Cmath\u003E\u5143\u7D20\u5EFA\u7ACB\uFF0C\u800C\u4E0D\u662F%1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathMenu.js deleted file mode 100644 index 98d437f5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hans/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hans","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u6570\u5F0F\u663E\u793A\u5F62\u5F0F", - MathMLcode: "MathML\u4EE3\u7801", - OriginalMathML: "\u539F\u59CB\u7684MathML", - TeXCommands: "TeX\u547D\u4EE4", - AsciiMathInput: "AsciiMathML\u8F93\u5165", - Original: "\u539F\u59CB\u683C\u5F0F", - ErrorMessage: "\u9519\u8BEF\u4FE1\u606F", - Annotation: "\u6CE8\u91CA", - TeX: "TeX", - StarMath: "StarMath", - Maple: "\u67AB\u53F6", - ContentMathML: "MathML\u5185\u5BB9", - OpenMath: "OpenMath", - texHints: "\u5728MathML\u4E2D\u663E\u793ATeX\u63D0\u793A", - Settings: "\u6570\u5B66\u8BBE\u7F6E", - ZoomTrigger: "\u7F29\u653E\u89E6\u53D1", - Hover: "\u6307\u9488\u60AC\u505C", - Click: "\u70B9\u51FB", - DoubleClick: "\u53CC\u51FB", - NoZoom: "\u5E76\u65E0\u7F29\u653E", - TriggerRequires: "\u89E6\u53D1\u9700\u8981\uFF1A", - Option: "\u9009\u9879", - Alt: "Alt\u952E", - Command: "Command\u952E", - Control: "Ctrl\u952E", - Shift: "Shift\u952E", - ZoomFactor: "\u53D8\u7126\u500D\u7387", - Renderer: "\u6570\u5B66\u6E32\u67D3", - MPHandles: "\u5141\u8BB8MathPlayer\u5904\u7406\uFF1A", - MenuEvents: "\u83DC\u5355\u4E8B\u4EF6", - MouseEvents: "\u9F20\u6807\u4E8B\u4EF6", - MenuAndMouse: "\u9F20\u6807\u548C\u83DC\u5355\u4E8B\u4EF6", - FontPrefs: "\u5B57\u4F53\u8BBE\u7F6E", - ForHTMLCSS: "\u7528\u4E8EHTML-CSS\uFF1A", - Auto: "\u81EA\u52A8", - TeXLocal: "TeX\uFF08\u672C\u5730\uFF09", - TeXWeb: "TeX\uFF08\u7F51\u9875\uFF09", - TeXImage: "TeX\uFF08\u56FE\u7247\uFF09", - STIXLocal: "STIX\uFF08\u672C\u5730\uFF09", - STIXWeb: "STIX\uFF08web\uFF09", - LatinModernWeb: "\u62C9\u4E01\u6469\u767B\uFF08web\uFF09", - ContextMenu: "\u4E0A\u4E0B\u6587\u83DC\u5355", - Browser: "\u6D4F\u89C8\u5668", - Scale: "\u7F29\u653E\u6240\u6709\u6570\u5B66...", - Discoverable: "\u60AC\u505C\u4EAE\u70B9", - Locale: "\u8BED\u8A00", - LoadLocale: "\u4ECEURL\u8F7D\u5165...", - About: "\u5173\u4E8EMathJax", - Help: "MathJax\u5E2E\u52A9", - localTeXfonts: "\u4F7F\u7528\u672C\u5730TeX\u5B57\u4F53", - webTeXfonts: "\u4F7F\u7528\u7F51\u9875TeX\u5B57\u4F53", - imagefonts: "\u56FE\u50CF\u5B57\u4F53\u4F7F\u7528\u4E2D", - localSTIXfonts: "\u4F7F\u7528\u672C\u5730STIX\u5B57\u4F53", - webSVGfonts: "\u4F7F\u7528\u7F51\u9875SVG\u5B57\u4F53", - genericfonts: "\u4F7F\u7528\u901A\u7528Unicode\u5B57\u4F53", - wofforotffonts: "woff\u6216otf\u5B57\u4F53", - eotffonts: "eot\u5B57\u4F53", - svgfonts: "svg\u5B57\u4F53", - WebkitNativeMMLWarning: "\u60A8\u7684\u6D4F\u89C8\u5668\u636E\u4FE1\u65E0\u6CD5\u652F\u6301MathML\u672C\u8EAB\uFF0C\u56E0\u6B64\u5207\u6362\u5230MathML\u8F93\u51FA\u5C06\u53EF\u80FD\u5BFC\u81F4\u9875\u9762\u4E0A\u7684\u6570\u5B66\u516C\u5F0F\u4E0D\u53EF\u8BFB\u3002", - MSIENativeMMLWarning: "Internet Explorer\u9700\u8981MathPlayer\u63D2\u4EF6\u6765\u5904\u7406MathML\u8F93\u51FA\u3002", - OperaNativeMMLWarning: "Opera\u5BF9MathML\u7684\u652F\u6301\u5341\u5206\u6709\u9650\uFF0C\u56E0\u6B64\u8F6C\u6362\u81F3MathML\u8F93\u51FA\u53EF\u80FD\u4F1A\u5BFC\u81F4\u4E00\u4E9B\u8868\u8FBE\u5F0F\u65E0\u6CD5\u6B63\u5E38\u6E32\u67D3\u3002", - SafariNativeMMLWarning: "\u60A8\u7684\u6D4F\u89C8\u5668\u7684MathML\u4E0D\u652F\u6301\u6240\u6709MathJax\u7684\u529F\u80FD\uFF0C\u6709\u4E9B\u8868\u8FBE\u5F0F\u53EF\u80FD\u65E0\u6CD5\u6B63\u5E38\u5448\u73B0\u3002", - FirefoxNativeMMLWarning: "\u60A8\u7684\u6D4F\u89C8\u5668\u7684MathML\u4E0D\u652F\u6301\u6240\u6709MathJax\u7684\u529F\u80FD\uFF0C\u6709\u4E9B\u8868\u8FBE\u5F0F\u53EF\u80FD\u65E0\u6CD5\u6B63\u5E38\u5448\u73B0\u3002", - LoadURL: "\u4ECE\u6B64URL\u52A0\u8F7D\u7FFB\u8BD1\u6570\u636E\uFF1A", - BadURL: "URL\u5FC5\u987B\u94FE\u81F3\u5B9A\u4E49MathJax\u7FFB\u8BD1\u6570\u636E\u7684JavaScript\u6587\u4EF6\u3002JavaScript\u7684\u6587\u4EF6\u540D\u5E94\u4EE5\u201C.js\u201D\u7ED3\u5C3E", - BadData: "\u4ECE%1\u52A0\u8F7D\u7FFB\u8BD1\u6570\u636E\u5931\u8D25", - SwitchAnyway: "\u4E00\u5B9A\u8981\u66F4\u6539\u6E32\u67D3\u5668\uFF1F\n\n\uFF08\u70B9OK\u66F4\u6539\uFF0C\u70B9\u53D6\u6D88\u5373\u4EE5\u5F53\u524D\u6E32\u67D3\u5668\u7EE7\u7EED\uFF09", - ScaleMath: "\u6570\u5F0F\u7F29\u653E\u767E\u5206\u6BD4\uFF08\u5BF9\u6BD4\u4E8E\u65C1\u8FB9\u7684\u6587\u5B57\uFF09", - NonZeroScale: "\u500D\u7387\u4E0D\u5E94\u4E3A\u96F6", - PercentScale: "\u500D\u7387\u5E94\u8BE5\u662F\u4E00\u4E2A\u767E\u5206\u6BD4 \uFF08\u4F8B\u5982120%%\uFF09", - IE8warning: "\u8FD9\u5C06\u5173\u95EDMathJax\u83DC\u5355\u4E0E\u7F29\u653E\u529F\u80FD\uFF0C\u4F46\u60A8\u53EF\u4EE5\u70B9\u51FBAlt-Click\u6216\u70B9\u51FB\u4E00\u4E2A\u8868\u8FBE\u5F0F\u6765\u8FDB\u5165MathJax\u83DC\u5355\u3002\n\n\u786E\u5B9E\u8981\u66F4\u6539MathPlayer\u8BBE\u7F6E\u5417\uFF1F", - IE9warning: "MathJax\u5FEB\u6377\u83DC\u5355\u5C06\u5173\u95ED\uFF0C\u4F46\u60A8\u53EF\u4EE5\u6309Alt\u5E76\u70B9\u51FB\u8868\u8FBE\u5F0F\u6765\u547C\u51FA\u83DC\u5355\u3002", - NoOriginalForm: "\u6CA1\u6709\u53EF\u7528\u7684\u539F\u59CB\u5F62\u5F0F", - Close: "\u5173\u95ED", - EqSource: "MathJax \u65B9\u7A0B\u6E90", - AsanaMathWeb: "Asana Math (web)", - GyrePagellaWeb: "Gyre Pagella (web)", - GyreTermesWeb: "Gyre Termes (web)", - NeoEulerWeb: "Neo Euler (web)", - MSIESVGWarning: "SVG\u5728 IE9 \u4E4B\u524D\u7684 Internet Explorer \u6216\u4F7F\u7528 IE8 \u53CA\u4EE5\u4E0B\u67B6\u6784\u7684\u6D4F\u89C8\u5668\u4E2D\u4E0D\u6267\u884C\u3002\u8F6C\u6362SVG\u8F93\u51FA\u5C06\u5BFC\u81F4\u6570\u5B66\u516C\u5F0F\u4E0D\u80FD\u6B63\u5E38\u663E\u793A\u3002", - CloseAboutDialog: "\u5173\u95ED\u6709\u5173MathJax\u5BF9\u8BDD", - FastPreview: "\u5FEB\u901F\u9884\u89C8", - AssistiveMML: "\u8F85\u52A9MathML", - InTabOrder: "\u5305\u542B\u5728\u6807\u7B7E\u987A\u5E8F\u4E2D" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/TeX.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/TeX.js deleted file mode 100644 index 0b5b3d52..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hans/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hans/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hans","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u6709\u591A\u4F59\u7684\u5DE6\u62EC\u53F7\u6216\u7F3A\u5C11\u53F3\u62EC\u53F7", - ExtraCloseMissingOpen: "\u6709\u591A\u4F59\u7684\u53F3\u62EC\u53F7\u6216\u7F3A\u5C11\u5DE6\u62EC\u53F7", - MissingLeftExtraRight: "\u4E22\u5931\\left\u6216\u989D\u5916\u51FA\u73B0\\right", - MissingScript: "\u6709\u4E0A\u6807\u6216\u4E0B\u6807\u7F3A\u5C11\u53C2\u6570", - ExtraLeftMissingRight: "\u989D\u5916\u7684\\left\u6216\u8005\u4E22\u5931\\right", - Misplaced: "%1\u88AB\u653E\u7F6E\u4E8E\u9519\u8BEF\u7684\u5730\u65B9", - MissingOpenForSub: "\u7F3A\u5C11\u4E0B\u6807\u7684\u5DE6\u62EC\u53F7", - MissingOpenForSup: "\u7F3A\u5C11\u4E0A\u6807\u7684\u5DE6\u62EC\u53F7", - AmbiguousUseOf: "%1\u7684\u4F7F\u7528\u4E0D\u660E\u786E", - EnvBadEnd: "\\begin{%1}\u7531\\end{%2}\u7ED3\u675F\u4E4B", - EnvMissingEnd: "\\end{%1}\u4E22\u5931", - MissingBoxFor: "\u7F3A\u5C11\u7528\u4E8E%1\u7684\u6846", - MissingCloseBrace: "\u7F3A\u5C11\u53F3\u62EC\u53F7", - UndefinedControlSequence: "\u672A\u5B9A\u4E49\u7684\u63A7\u5236\u6570\u5217%1", - DoubleExponent: "\u4E24\u4E2A\u6307\u6570\uFF1A\u4F7F\u7528\u5927\u62EC\u53F7\u6765\u6F84\u6E05", - DoubleSubscripts: "\u53CC\u4E0B\u6807\uFF1A\u4F7F\u7528\u62EC\u53F7\u6765\u660E\u786E", - CantUseHash1: "\u60A8\u4E0D\u80FD\u5728\u6570\u5B66\u6A21\u5F0F\u4E2D\u4F7F\u7528\u201C\u5B8F\u53C2\u6570\u5B57\u7B26#\u201D", - MisplacedMiddle: "%1\u5FC5\u987B\u5728\\left\u548C\\right\u4E4B\u5185", - MisplacedLimits: "%1\u53EA\u5141\u8BB8\u5728\u8FD0\u7B97\u7B26\u4E0A", - MisplacedMoveRoot: "%1\u53EA\u80FD\u5728\u6839\u4E2D\u51FA\u73B0", - MultipleCommand: "\u591A\u79CD%1", - IntegerArg: "\u53C2\u6570%1\u5FC5\u987B\u662F\u6574\u6570", - NotMathMLToken: "%1\u4E0D\u662F\u6743\u6807\u5143\u7D20", - InvalidMathMLAttr: "\u65E0\u6548MathML\u5C5E\u6027\uFF1A%1", - UnknownAttrForElement: "%1\u4E0D\u662F%2\u7684\u5DF2\u8BC6\u522B\u5C5E\u6027", - MaxMacroSub1: "\u8D85\u51FAMathJax\u6700\u5927\u5B8F\u66FF\u4EE3\u6B21\u6570\uFF1B\u5B58\u5728\u9012\u5F52\u7684\u5B8F\u8C03\u7528\uFF1F", - MissingArgFor: "\u4E0E%1\u76F8\u5173\u7684\u53C2\u6570\u7F3A\u5931", - InvalidEnv: "\u65E0\u6548\u7684\u73AF\u5883\u540D\u79F0\u201C%1\u201D", - UnknownEnv: "\u672A\u77E5\u7684\u73AF\u5883\u53D8\u91CF'%1'", - MissingCloseBracket: "\u65E0\u6CD5\u627E\u5230%1\u7684\u53C2\u6570\u7684\u53F3\u201C]\u201D", - MissingOrUnrecognizedDelim: "\u627E\u4E0D\u5230\u6216\u65E0\u6CD5\u8BC6\u522B%1\u7684\u5206\u9694\u7B26", - MissingDimOrUnits: "\u7F3A\u5C11%1\u7684\u7EF4\u5EA6\u6216\u5176\u5355\u4F4D", - TokenNotFoundForCommand: "\u65E0\u6CD5\u627E\u5230\u7528\u4E8E%2\u7684%1", - MathNotTerminated: "\u6570\u5B66\u5F0F\u5728\u6587\u672C\u6846\u4E2D\u672A\u7ED3\u675F", - IllegalMacroParam: "\u975E\u6CD5\u5B8F\u53C2\u6570\u5F15\u7528", - MaxBufferSize: "MathJax\u5185\u90E8\u7F13\u51B2\u533A\u5927\u5C0F\u8D85\u9650\uFF1B\u5B58\u5728\u9012\u5F52\u7684\u5B8F\u8C03\u7528\uFF1F", - CommandNotAllowedInEnv: "%1\u5728%2\u73AF\u5883\u4E2D\u4E0D\u5141\u8BB8", - IllegalAlign: "\u6307\u5B9A\u7684\u5BF9\u9F50\u65B9\u5F0F%1\u4E0D\u7B26\u7F16\u8F91\u624B\u518C", - BadMathStyleFor: "%1\u7684\u6570\u5F0F\u6837\u5F0F\u65E0\u6548", - PositiveIntegerArg: "\u53C2\u6570%1\u5FC5\u987B\u662F\u6B63\u6574\u6570", - ErroneousNestingEq: "\u9519\u8BEF\u7684\u65B9\u7A0B\u5D4C\u5957\u7ED3\u6784", - MultipleBBoxProperty: "%1\u5728%2\u4E2D\u6307\u5B9A\u4E86\u4E24\u6B21", - ExtraEndMissingBegin: "\u6709\u591A\u4F59\u7684%1\u6216\u7F3A\u5C11\\begingroup", - UndefinedColorModel: "\u8272\u5F69\u6A21\u5757\u201C%1\u201D\u672A\u5B9A\u4E49", - ModelArg1: "%1\u6A21\u5757\u7684\u8272\u5F69\u503C\u9700\u8981\u4E09\u4E2A\u6570\u5B57", - InvalidDecimalNumber: "\u65E0\u6548\u5341\u8FDB\u5236\u6570", - ModelArg2: "%1\u6A21\u5757\u7684\u8272\u5F69\u503C\u5FC5\u987B\u5728%2\u548C%3\u4E4B\u95F4", - InvalidNumber: "\u4E0D\u5141\u8BB8\u7684\u6570\u5B57", - NewextarrowArg1: "%1\u7684\u7B2C\u4E00\u4E2A\u53C2\u6570\u5FC5\u987B\u662F\u4E00\u4E2A\u63A7\u5236\u6570\u5217\u540D\u79F0", - NewextarrowArg2: "%1\u7684\u7B2C\u4E8C\u4E2A\u53C2\u6570\u5FC5\u987B\u662F\u7531\u9017\u53F7\u5206\u5F00\u7684\u4E24\u4E2A\u6574\u6570", - NewextarrowArg3: "%1\u7684\u7B2C\u4E09\u4E2A\u53C2\u6570\u5FC5\u987B\u662FUnicode\u5B57\u7B26\u503C", - NoClosingChar: "\u672A\u80FD\u627E\u5230\u5173\u95ED\u7684%1", - IllegalControlSequenceName: "\u975E\u6CD5\u63A7\u5236\u5E8F\u5217\u540D\u79F0%1", - IllegalParamNumber: "%1\u6307\u5B9A\u7684\u53C2\u6570\u6570\u91CF\u975E\u6CD5", - MissingCS: "%1\u5FC5\u987B\u8DDF\u7740\u4E00\u4E2A\u63A7\u5236\u5E8F\u5217", - CantUseHash2: "%1\u7684\u6A21\u677F\u4E2D\u975E\u6CD5\u4F7F\u7528#", - SequentialParam: "%1\u7684\u53C2\u6570\u5FC5\u987B\u987A\u5E8F\u6807\u53F7", - MissingReplacementString: "%1\u7684\u5B9A\u4E49\u7F3A\u5C11\u66FF\u6362\u5B57\u7B26\u4E32", - MismatchUseDef: "%1\u7684\u4F7F\u7528\u4E0D\u7B26\u5408\u5176\u5B9A\u4E49", - NoClosingDelim: "\u65E0\u6CD5\u627E\u5230\u7528\u4E8E\u7ED3\u675F\u7684\u5206\u9694\u7B26%1", - MaxMacroSub2: "\u5DF2\u8D85\u51FAMathJax\u7684\u6700\u9AD8\u66FF\u4EE3\u6B21\u6570\uFF1B\u96BE\u9053\u5B58\u5728\u5FAA\u73AFLaTeX\u73AF\u5883\uFF1F", - MultipleLabel: "\u5DF2\u5B9A\u4E49\u6807\u7B7E\u201C%1\u201D\u4E58", - DoubleExponentPrime: "\u89D2\u5206\u7B26\u53F7\u5BFC\u81F4\u53CC\u91CD\u6307\u6570\uFF1A\u4F7F\u7528\u5927\u62EC\u53F7\u6F84\u6E05", - ExtraAlignTab: "\\cases \u6587\u672C\u4E2D\u6709\u989D\u5916\u7684\u53C2\u6570\u5236\u8868\u7B26", - BracketMustBeDimension: "%1\u7684\u62EC\u53F7\u53C2\u6570\u5FC5\u987B\u662F\u4E00\u4E2A\u5C3A\u5BF8", - ExtraCloseLooking: "\u5BFB\u627E %1 \u65F6\u53D1\u73B0\u4E00\u4E2A\u989D\u5916\u7684\u53F3\u5927\u62EC\u53F7", - CommandAtTheBeginingOfLine: "%1\u5FC5\u987B\u4F4D\u4E8E\u884C\u7684\u5F00\u5934", - MultlineRowsOneCol: "%1 \u73AF\u5883\u5185\u7684\u884C\u5FC5\u987B\u53EA\u6709\u4E00\u4E2A\u5217", - InvalidBBoxProperty: "\u201C%1\u201D\u597D\u50CF\u4E0D\u662F\u4E00\u4E2A\u989C\u8272\u3001\u586B\u5145\u5C3A\u5BF8\u6216\u6837\u5F0F", - GlobalNotFollowedBy: "%1\u4E0D\u88AB\\let\u3001\\def\u6216\\newcommand\u5141\u8BB8", - RunawayArgument: "%1\u7684\u53C2\u6570\u5931\u63A7\u4E86\u4E48\uFF1F" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/zh-hans.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/zh-hans.js deleted file mode 100644 index b28193d0..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hans/zh-hans.js +++ /dev/null @@ -1,58 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hans/zh-hans.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hans",null,{ - menuTitle: "\u4E2D\u6587\uFF08\u7B80\u4F53\uFF09", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - CookieConfig: "MathJax\u5DF2\u627E\u5230\u7528\u6237\u914D\u7F6E\uFF0C\u5176\u4E2D\u5305\u542B\u8981\u8FD0\u884C\u4EE3\u7801\u6240\u4F9D\u8D56\u7684cookie\u3002\u60A8\u60F3\u8FD0\u884C\u5B83\u4E48\uFF1F\n\n\uFF08\u60A8\u5E94\u8BE5\u81EA\u884C\u6309\u53D6\u6D88\u9664\u975E\u60A8\u8BBE\u7F6E\u4E86\u81EA\u5DF1\u7684cookie\u3002\uFF09", - MathProcessingError: "\u6570\u5B66\u5904\u7406\u9519\u8BEF", - MathError: "\u6570\u5B66\u9519\u8BEF", - LoadFile: "%1\u52A0\u8F7D\u4E2D", - Loading: "\u52A0\u8F7D\u4E2D", - LoadFailed: "\u65E0\u6CD5\u52A0\u8F7D\u6587\u4EF6\uFF1A%1", - ProcessMath: "\u6570\u5B66\u5904\u7406\uFF1A%1%%", - Processing: "\u5904\u7406\u4E2D", - TypesetMath: "\u6392\u7248\u6570\u5B66\uFF1A%1%%", - Typesetting: "\u6392\u7248", - MathJaxNotSupported: "\u60A8\u7684\u6D4F\u89C8\u5668\u6682\u4E0D\u652F\u6301MathJax", - ErrorTips: "\u8C03\u8BD5\u63D0\u793A\uFF1A\u4F7F\u7528%%1\uFF0C\u5728\u6D4F\u89C8\u5668\u63A7\u5236\u53F0\u4E2D\u68C0\u67E5%%2" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/zh-hans.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/FontWarnings.js deleted file mode 100644 index e1d982c1..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hant/FontWarnings.js +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hant/FontWarnings.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hant","FontWarnings",{ - version: "2.7.5", - isLoaded: true, - strings: { - webFont: "MathJax\u662F\u4F7F\u7528\u57FA\u65BC\u7DB2\u9801\u7684\u5B57\u578B\u4F86\u986F\u793A\u9801\u9762\u4E0A\u7684\u6578\u5B78\u76F8\u95DC\u5167\u5BB9\u3002\u56E0\u6B64\u6703\u82B1\u8CBB\u4E00\u4E9B\u6642\u9593\u4E0B\u8F09\u5B57\u578B\uFF0C\u82E5\u60F3\u8B93\u9801\u9762\u80FD\u8F03\u5FEB\u5448\u73FE\u51FA\u5167\u5BB9\uFF0C\u60A8\u53EF\u4EE5\u5C07\u6240\u4F7F\u7528\u5230\u7684\u6578\u5B78\u5B57\u578B\u4E0B\u8F09\u5B89\u88DD\u5230\u60A8\u96FB\u8166\u672C\u6A5F\u88E1\u7684\u7CFB\u7D71\u5B57\u578B\u8CC7\u6599\u593E\u3002", - imageFonts: "MathJax\u4F7F\u7528\u5716\u50CF\u5B57\u578B\u800C\u975E\u672C\u5730\u7AEF\u6216\u57FA\u65BC\u7DB2\u9801\u7684\u5B57\u578B\u3002\u8207\u4E00\u822C\u60C5\u6CC1\u76F8\u6BD4\u6703\u8F03\u6162\u5448\u73FE\u51FA\u5167\u5BB9\uFF0C\u800C\u6240\u5448\u73FE\u6578\u5B78\u516C\u5F0F\u5728\u60A8\u7684\u5370\u8868\u6A5F\u4E0A\u53EF\u80FD\u6C92\u8FA6\u6CD5\u5B8C\u6574\u8FA8\u8B58\u5730\u5370\u51FA\u3002", - noFonts: "\u56E0MathJax\u7121\u6CD5\u8A2D\u7F6E\u8981\u7528\u65BC\u986F\u793A\u6578\u5B78\u516C\u5F0F\u7684\u5B57\u578B\uFF0C\u800C\u4E14\u5716\u50CF\u5B57\u578B\u7121\u6CD5\u4F7F\u7528\uFF0C\u6240\u4EE5\u6539\u63A1\u901A\u7528\u842C\u570B\u78BC\u5B57\u5143\u4EE5\u5118\u91CF\u80FD\u8B93\u60A8\u7684\u700F\u89BD\u5668\u6B63\u78BA\u986F\u793A\u5167\u5BB9\u3002\u67D0\u4E9B\u3001\u6216\u751A\u81F3\u5168\u90E8\u5B57\u5143\u6709\u53EF\u80FD\u6703\u7121\u6CD5\u6B63\u78BA\u5730\u986F\u793A\u51FA\u3002", - webFonts: "\u73FE\u4ECA\u591A\u6578\u7684\u700F\u89BD\u5668\u5141\u8A31\u7D93\u7531\u7DB2\u969B\u7DB2\u8DEF\u4E0B\u8F09\u5B57\u578B\u3002\u5C07\u60A8\u7684\u700F\u89BD\u5668\u66F4\u65B0\u81F3\u6700\u65B0\u7248\u672C\uFF08\u6216\u662F\u66F4\u63DB\u700F\u89BD\u5668\uFF09\u4F86\u52A0\u5F37\u9801\u9762\u4E0A\u6578\u5B78\u516C\u5F0F\u7684\u986F\u793A\u8CEA\u611F\u3002", - fonts: "MathJax\u53EF\u4F7F\u7528[STIX fonts](%1)\u6216[MathJax TeX fonts](%2)\u3002\u4E0B\u8F09\u4F86\u5B89\u88DD\u9019\u4E9B\u5B57\u578B\u80FD\u6539\u5584\u60A8\u5728MathJax\u7684\u4F7F\u7528\u9AD4\u9A57\u3002", - STIXPage: "\u6B64\u9801\u9762\u662F\u8A2D\u8A08\u4F86\u4F7F\u7528[STIX fonts](%1)\u3002\u4E0B\u8F09\u5B89\u88DD\u6B64\u5B57\u578B\u4EE5\u6539\u5584\u60A8\u5728MathJax\u7684\u4F7F\u7528\u9AD4\u9A57\u3002", - TeXPage: "\u6B64\u9801\u9762\u662F\u8A2D\u8A08\u4F86\u4F7F\u7528[MathJax TeX fonts](%1)\u3002\u4E0B\u8F09\u5B89\u88DD\u6B64\u5B57\u578B\u4EE5\u6539\u5584\u60A8\u5728MathJax\u7684\u4F7F\u7528\u9AD4\u9A57\u3002" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/HTML-CSS.js deleted file mode 100644 index 4d6b1576..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hant/HTML-CSS.js +++ /dev/null @@ -1,32 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hant/HTML-CSS.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hant","HTML-CSS",{ - version: "2.7.5", - isLoaded: true, - strings: { - LoadWebFont: "\u7DB2\u9801\u5B57\u578B%1\u8F09\u5165\u4E2D", - CantLoadWebFont: "\u7121\u6CD5\u8F09\u5165\u7DB2\u9801\u5B57\u578B%1", - FirefoxCantLoadWebFont: "Firefox\u700F\u89BD\u5668\u7121\u6CD5\u5F9E\u9060\u7AEF\u4E3B\u6A5F\u8F09\u5165\u7DB2\u9801\u5B57\u578B", - CantFindFontUsing: "\u7121\u6CD5\u627E\u5230\u4F7F\u7528%1\u7684\u6709\u6548\u5B57\u578B", - WebFontsNotAvailable: "\u7DB2\u9801\u5B57\u578B\u7121\u6CD5\u4F7F\u7528\u3002\u6539\u7528\u5716\u50CF\u5B57\u578B\u53D6\u4EE3" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/HelpDialog.js deleted file mode 100644 index cf291662..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hant/HelpDialog.js +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hant/HelpDialog.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hant","HelpDialog",{ - version: "2.7.5", - isLoaded: true, - strings: { - Help: "MathJax \u8AAA\u660E", - MathJax: "*MathJax*\u662F\u4E00\u500B\u80FD\u8B93\u7DB2\u9801\u958B\u767C\u8005\u5728\u4ED6\u5011\u7DB2\u9801\u88E1\u986F\u793A\u51FA\u6578\u5B78\u516C\u5F0F\u7684JavaScript\u51FD\u5F0F\u5EAB\u3002\n\u4F5C\u70BA\u7DB2\u9801\u7684\u700F\u89BD\u8005\uFF0C\u60A8\u4E0D\u9700\u8981\u57F7\u884C\u4EFB\u4F55\u52D5\u4F5C\u4FBF\u53EF\u89C0\u770B\u8A72\u6548\u679C\u3002", - Browsers: "*\u700F\u89BD\u5668*\uFF1A MathJax \u5728\u6240\u6709\u8F03\u65B0\u578B\u7684\u700F\u89BD\u5668\u4E0A\u7686\u53EF\u6B63\u5E38\u904B\u4F5C\uFF0C\u5305\u62ECIE6\u4EE5\u4E0A\u3001Firefox 3\u4EE5\u4E0A\u3001Chrome 0.2\u4EE5\u4E0A\u3001Safari 2\u4EE5\u4E0A\u3001\u548COpera 9.6\u4EE5\u4E0A\u7248\u672C\u4EE5\u53CA\u591A\u6578\u884C\u52D5\u88DD\u7F6E\u700F\u89BD\u5668\u3002", - Menu: "*\u6578\u5B78\u9078\u55AE*: MathJax\u5728\u65B9\u7A0B\u5F0F\u88E1\u6DFB\u52A0\u5FEB\u6377\u9078\u55AE\u3002\u5728\u4EFB\u4F55\u6578\u5B78\u516C\u5F0F\u88E1\u6309\u4E0B\u6ED1\u9F20\u53F3\u9375\u6216\u540C\u6642\u6309\u4E0BCtrl\u9375\u8207\u6ED1\u9F20\u5DE6\u9375\u5373\u53EF\u9032\u5165\u9078\u55AE\u3002", - ShowMath: "*\u986F\u793A\u6578\u5B78\u5F62\u5F0F* \u5141\u8A31\u60A8\u67E5\u770B\u516C\u5F0F\u7684\u539F\u59CB\u78BC\u67B6\u69CB\u4EE5\u4FBF\u65BC\u57F7\u884C\u8907\u88FD\u8CBC\u4E0A\u52D5\u4F5C\uFF08\u4EE5MathML\u6216\u539F\u59CB\u683C\u5F0F\uFF09\u3002", - Settings: "*\u6578\u5B78\u8A2D\u5B9A* \u80FD\u8B93\u60A8\u8ABF\u6574MathJax\u88E1\u7684\u529F\u80FD\uFF0C\u50CF\u662F\u6578\u5B78\u7B97\u5F0F\u7684\u5927\u5C0F\uFF0C\u548C\u986F\u793A\u516C\u5F0F\u65B9\u9762\u7684\u6A5F\u5236\u3002", - Language: "*\u8A9E\u8A00* \u8B93\u60A8\u9078\u64C7\u7D66MathJax\u5728\u9078\u55AE\u548C\u8B66\u544A\u8A0A\u606F\u4E0A\u4F7F\u7528\u7684\u8A9E\u8A00\u3002", - Zoom: "*\u6578\u5B78\u516C\u5F0F\u7E2E\u653E*\uFF1A \u5982\u679C\u60A8\u95B1\u8B80\u65B9\u7A0B\u5F0F\u6642\u89BA\u5F97\u770B\u4E0D\u6E05\u695A\uFF0CMathJax\u53EF\u4EE5\u5C07\u6B64\u653E\u5927\u8B93\u60A8\u80FD\u66F4\u65B9\u4FBF\u700F\u89BD\u3002", - Accessibilty: "*\u8F14\u52A9\u529F\u80FD*\uFF1A MathJax\u6703\u81EA\u884C\u8207\u87A2\u5E55\u95B1\u8B80\u5668\u904B\u4F5C\u8B93\u8996\u89BA\u969C\u7919\u8005\u89C0\u770B\u6578\u5B78\u516C\u5F0F\u6642\u80FD\u66F4\u52A0\u5BB9\u6613\u3002", - Fonts: "*\u5B57\u578B*\uFF1A\u82E5\u60A8\u96FB\u8166\u4E0A\u6709\u5B89\u88DD\u67D0\u4E9B\u7528\u65BC\u6578\u5B78\u516C\u5F0F\u7684\u5B57\u578BMathJax\u5C07\u6703\u4F7F\u7528\u6B64\uFF0C\u5426\u5247\u5C07\u6703\u4F7F\u7528\u57FA\u65BC\u7DB2\u9801\u7684\u5B57\u578B\u3002\u96D6\u7136\u4E26\u4E0D\u5F37\u5236\u8981\u6C42\uFF0C\u4F46\u672C\u5730\u7AEF\u4E0A\u82E5\u6709\u5B89\u88DD\u76F8\u95DC\u5B57\u578B\u53EF\u52A0\u5FEB\u9801\u9762\u7684\u6392\u7248\u901F\u5EA6\uFF0C\u800C\u6211\u5011\u5EFA\u8B70\u5B89\u88DD[STIX fonts](%1)\u3002", - CloseDialog: "\u95DC\u9589\u8AAA\u660E\u5C0D\u8A71\u6846" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathML.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathML.js deleted file mode 100644 index a0b463b5..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathML.js +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hant/MathML.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hant","MathML",{ - version: "2.7.5", - isLoaded: true, - strings: { - BadMglyph: "\u4E0D\u6B63\u78BA\u7684mglyph\uFF1A%1", - BadMglyphFont: "\u932F\u8AA4\u5B57\u578B\uFF1A%1", - MathPlayer: "MathJax\u6C92\u6709\u8FA6\u6CD5\u8A2D\u7F6EMathPlayer\u3002\n\n\u5982\u679CMathPlayer\u672A\u88AB\u5B89\u88DD\uFF0C\u60A8\u9700\u8981\u5148\u5B89\u88DD\u6B64\u5957\u4EF6\u3002\n\u5426\u5247\u60A8\u7684\u5B89\u5168\u8A2D\u7F6E\u5167\u5BB9\u53EF\u80FD\u6703\u963B\u7919ActiveX\u63A7\u5236\u65B9\u9762\u7684\u904B\u4F5C\u3002\u82E5\u662FIE\u700F\u89BD\u5668\u9EDE\u9078\u9078\u55AE\u88E1\u7684\u300C\u5DE5\u5177\u300D\u4E2D\u7684\u300C\u7DB2\u969B\u7DB2\u8DEF\u9078\u9805\u300D\u5F8C\u518D\u9078\u64C7\u300C\u5B89\u5168\u6027\u300D\uFF0C\u7136\u5F8C\u6309\u4E0B\u300C\u81EA\u8A02\u5C64\u7D1A\u300D\u6309\u9375\u3002\u6AA2\u67E5\u95DC\u65BC\u300C\u57F7\u884CActiveX\u63A7\u5236\u9805\u300D\u548C\u300C\u4E8C\u9032\u4F4D\u548C\u6307\u4EE4\u78BC\u884C\u70BA\u300D\u7684\u8A2D\u5B9A\u662F\u5426\u958B\u555F\u3002\n\n\u76EE\u524D\u60A8\u6240\u770B\u5230\u7684\u662F\u932F\u8AA4\u8A0A\u606F\u800C\u975E\u6578\u5B78\u516C\u5F0F\u6392\u7248\u554F\u984C", - CantCreateXMLParser: "MathJax\u7121\u6CD5\u5EFA\u7ACB\u4E00\u500B\u7528\u65BCMathML\u7684XML\u89E3\u6790\u3002\n\n\u6AA2\u67E5\u300C\u4EE5Script\u7A0B\u5F0F\u64CD\u63A7\u5B89\u5168\u6A19\u793A\u7684ActiveX \u63A7\u5236\u9805\u300D\u8A2D\u5B9A\u662F\u5426\u958B\u555F\uFF08\u82E5\u662FIE\u700F\u89BD\u5668\u9EDE\u9078\u9078\u55AE\u88E1\u7684\u300C\u5DE5\u5177\u300D\u4E2D\u7684\u300C\u7DB2\u969B\u7DB2\u8DEF\u9078\u9805\u300D\u5F8C\u518D\u9078\u64C7\u300C\u5B89\u5168\u6027\u300D\uFF0C\u7136\u5F8C\u6309\u4E0B\u300C\u81EA\u8A02\u5C64\u7D1A\u300D\u6309\u9375\u4F86\u627E\u5C0B\uFF09\u3002", - UnknownNodeType: "\u4E0D\u660E\u7684\u7BC0\u9EDE\u985E\u578B\uFF1A%1", - UnexpectedTextNode: "\u975E\u9810\u671F\u7684\u6587\u5B57\u7BC0\u9EDE\uFF1A%1", - ErrorParsingMathML: "\u89E3\u6790MathML\u51FA\u932F", - ParsingError: "\u89E3\u6790MathML\u51FA\u932F\uFF1A %1", - MathMLSingleElement: "MathML\u5FC5\u9808\u4EE5\u55AE\u4E00\u5143\u7D20\u69CB\u6210", - MathMLRootElement: "MathML\u5FC5\u9808\u7531\u003Cmath\u003E\u5143\u7D20\u69CB\u6210\uFF0C\u800C\u975E%1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathMenu.js deleted file mode 100644 index 28699cf8..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathMenu.js +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hant/MathMenu.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hant","MathMenu",{ - version: "2.7.5", - isLoaded: true, - strings: { - Show: "\u986F\u793A\u6578\u5B78\u5F62\u5F0F", - MathMLcode: "MathML\u4EE3\u78BC", - OriginalMathML: "\u539F\u59CBMathML", - TeXCommands: "TeX\u547D\u4EE4", - AsciiMathInput: "AsciiMathML\u8F38\u5165", - Original: "\u539F\u59CB\u683C\u5F0F", - ErrorMessage: "\u932F\u8AA4\u8A0A\u606F", - Annotation: "\u8A3B\u91CB", - TeX: "TeX", - StarMath: "StarMath", - Maple: "Maple", - ContentMathML: "MathML\u5167\u5BB9", - OpenMath: "OpenMath", - texHints: "\u5728MathML\u986F\u793ATeX\u63D0\u793A", - Settings: "\u6578\u5B78\u8A2D\u5B9A", - ZoomTrigger: "\u7E2E\u653E\u89F8\u767C", - Hover: "\u6E38\u6A19\u8986\u84CB", - Click: "\u9EDE\u9078", - DoubleClick: "\u96D9\u64CA", - NoZoom: "\u95DC\u9589\u7E2E\u653E", - TriggerRequires: "\u89F8\u767C\u9700\u6C42\uFF1A", - Option: "\u9078\u9805", - Alt: "Alt\u9375", - Command: "Command\u9375", - Control: "Ctrl\u9375", - Shift: "Shift\u9375", - ZoomFactor: "\u7E2E\u653E\u500D\u7387", - Renderer: "\u5448\u73FE\u6578\u5B78\u65B9\u5F0F", - MPHandles: "\u7531MathPlayer\u8655\u7406\uFF1A", - MenuEvents: "\u9078\u55AE\u4E8B\u4EF6", - MouseEvents: "\u6E38\u6A19\u4E8B\u4EF6", - MenuAndMouse: "\u6E38\u6A19\u8207\u9078\u55AE\u4E8B\u4EF6", - FontPrefs: "\u5B57\u578B\u504F\u597D\u8A2D\u5B9A", - ForHTMLCSS: "\u7528\u65BCHTML-CSS\uFF1A", - Auto: "\u81EA\u52D5", - TeXLocal: "Tex\uFF08\u672C\u5730\uFF09", - TeXWeb: "Tex\uFF08\u7DB2\u9801\uFF09", - TeXImage: "Tex\uFF08\u5716\u50CF\uFF09", - STIXLocal: "STIX\uFF08\u672C\u5730\uFF09", - STIXWeb: "STIX\uFF08\u7DB2\u9801\uFF09", - AsanaMathWeb: "Asana Math\uFF08\u7DB2\u9801\uFF09", - GyrePagellaWeb: "Gyre Pagella\uFF08\u7DB2\u9801\uFF09", - GyreTermesWeb: "Gyre Termes\uFF08\u7DB2\u9801\uFF09", - LatinModernWeb: "Latin Modern\uFF08\u7DB2\u9801\uFF09", - NeoEulerWeb: "Neo Euler\uFF08\u7DB2\u9801\uFF09", - ContextMenu: "\u4E0A\u4E0B\u6587\u9078\u55AE", - Browser: "\u700F\u89BD\u5668", - Scale: "\u7E2E\u653E\u6240\u6709\u6578\u5B78\u516C\u5F0F\u2027\u2027\u2027", - Discoverable: "\u5728\u6E38\u6A19\u8986\u84CB\u6642\u5F37\u8ABF\u5167\u5BB9", - Locale: "\u8A9E\u8A00", - LoadLocale: "\u5F9EURL\u8F09\u5165...", - About: "\u95DC\u65BCMathJax", - Help: "MathJax\u8AAA\u660E", - localTeXfonts: "\u4F7F\u7528\u672C\u5730TeX\u5B57\u578B", - webTeXfonts: "\u4F7F\u7528\u7DB2\u9801TeX\u5B57\u578B", - imagefonts: "\u4F7F\u7528\u5716\u50CF\u5B57\u578B", - localSTIXfonts: "\u4F7F\u7528\u672C\u5730STIX\u5B57\u578B", - webSVGfonts: "\u4F7F\u7528\u7DB2\u9801SVG\u5B57\u578B", - genericfonts: "\u4F7F\u7528\u901A\u7528\u842C\u570B\u78BC\u5B57\u578B", - wofforotffonts: "WOFF\u6216OTF\u5B57\u578B", - eotffonts: "EOT\u5B57\u578B", - svgfonts: "SVG\u5B57\u578B", - WebkitNativeMMLWarning: "\u60A8\u7684\u700F\u89BD\u5668\u4E0D\u652F\u63F4MathML natively\uFF0C\u56E0\u6B64\u5207\u63DB\u81F3MathML\u8F38\u51FA\u53EF\u80FD\u6703\u5C0E\u81F4\u9801\u9762\u4E0A\u7684\u6578\u5B78\u516C\u5F0F\u7121\u6CD5\u8B80\u53D6\u3002", - MSIENativeMMLWarning: "IE\u700F\u89BD\u5668\u9700\u8981MathPlayer\u5916\u639B\u624D\u80FD\u8655\u7406MathML\u8F38\u51FA\u5167\u5BB9\u3002", - OperaNativeMMLWarning: "Opera\u700F\u89BD\u5668\u5728\u5C0D\u65BC\u652F\u63F4MathML\u65B9\u9762\u6709\u9650\uFF0C\u6240\u4EE5\u8F49\u63DB\u81F3MathML\u8F38\u51FA\u4E5F\u8A31\u6703\u9020\u6210\u4E00\u4E9B\u8868\u9054\u5F0F\u4E0D\u80FD\u6B63\u78BA\u5448\u73FE\u3002", - SafariNativeMMLWarning: "\u60A8\u7684\u700F\u89BD\u5668\u9644\u52A0\u5143\u4EF6native MathML\u4E0D\u652F\u63F4\u6240\u6709MathJax\u529F\u80FD\uFF0C\u6240\u4EE5\u8868\u9054\u5F0F\u53EF\u80FD\u7121\u6CD5\u6B63\u5E38\u5448\u73FE\u3002", - FirefoxNativeMMLWarning: "\u60A8\u7684\u700F\u89BD\u5668\u9644\u52A0\u5143\u4EF6native MathML\u4E0D\u652F\u63F4\u6240\u6709MathJax\u529F\u80FD\uFF0C\u6240\u4EE5\u8868\u9054\u5F0F\u53EF\u80FD\u7121\u6CD5\u6B63\u5E38\u5448\u73FE\u3002", - MSIESVGWarning: "SVG\u5728IE9\u4E4B\u524D\u7248\u672C\u7684IE\u700F\u89BD\u5668\u3001\u6216\u8B93IE9\u6A21\u64ECIE8\u4EE5\u4E0B\u67B6\u69CB\u904B\u4F5C\u6642\uFF0C\u5728\u8F49\u63DB\u81F3SVG\u8F38\u51FA\u6703\u5C0E\u81F4\u6578\u5B78\u516C\u5F0F\u7121\u6CD5\u6B63\u5E38\u986F\u793A\u3002", - LoadURL: "\u5F9E\u6B64URL\u8F09\u5165\u8F49\u63DB\u8CC7\u6599\uFF1A", - BadURL: "URL\u61C9\u8A72\u662F\u500B\u5B9A\u7FA9MathJax\u8F49\u63DB\u8CC7\u6599\u7684JavaScript\u6A94\u6848\u3002JavaScript\u6A94\u6848\u540D\u7A31\u7D50\u5C3E\u61C9\u70BA\u300C.js\u300D\u3002", - BadData: "\u5F9E%1\u8F09\u5165\u8F49\u63DB\u8CC7\u6599\u51FA\u932F", - SwitchAnyway: "\u4E00\u5B9A\u8981\u5207\u63DB\u5448\u73FE\u65B9\u5F0F\uFF1F\n\n\uFF08\u9EDE\u64CAOK\u9032\u884C\u5207\u63DB\uFF0C\u9EDE\u64CA\u53D6\u6D88\u7E7C\u7E8C\u4EE5\u76EE\u524D\u65B9\u5F0F\u5448\u73FE\uFF09", - ScaleMath: "\u7E2E\u653E\u6240\u6709\u6578\u5B78\u516C\u5F0F\uFF08\u8207\u570D\u7E5E\u7684\u6587\u5B57\u505A\u5C0D\u6BD4\uFF09\u4F9D", - NonZeroScale: "\u6BD4\u4F8B\u4E0D\u61C9\u70BA\u96F6", - PercentScale: "\u6BD4\u4F8B\u61C9\u70BA\u767E\u5206\u6BD4\u683C\u5F0F\uFF08\u4F8B\u5982120%%\uFF09", - IE8warning: "\u9019\u5C07\u6703\u95DC\u9589MathJax\u9078\u55AE\u4EE5\u53CA\u7E2E\u653E\u529F\u80FD\uFF0C\u4F46\u60A8\u53EF\u4EE5\u5728\u67D0\u4E00\u8868\u9054\u5F0F\u4E0A\u540C\u6642\u6309\u4E0BAlt\u9375\u548C\u6ED1\u9F20\u5DE6\u9375\u4F86\u9032\u5165MathJax\u9078\u55AE\u3002\n\n\u78BA\u5B9A\u8981\u66F4\u6539MathPlayer\u8A2D\u5B9A\uFF1F", - IE9warning: "MathJax\u5FEB\u6377\u9078\u55AE\u5C07\u6703\u88AB\u505C\u7528\uFF0C\u4F46\u60A8\u53EF\u4EE5\u5728\u67D0\u500B\u8868\u9054\u5F0F\u4E0A\u540C\u6642\u6309\u4E0BAlt\u9375\u548C\u6ED1\u9F20\u5DE6\u9375\u4F86\u547C\u53EB\u9078\u55AE\u3002", - NoOriginalForm: "\u6C92\u6709\u53EF\u7528\u7684\u539F\u59CB\u683C\u5F0F", - Close: "\u95DC\u9589", - EqSource: "MathJax\u65B9\u7A0B\u5F0F\u4F86\u6E90", - CloseAboutDialog: "\u95DC\u9589\u95DC\u65BCMathJax\u5C0D\u8A71\u6846", - FastPreview: "\u5FEB\u901F\u9810\u89BD", - AssistiveMML: "\u8F14\u52A9MathML", - InTabOrder: "\u5305\u542B\u5728\u6A19\u7C64\u9806\u5E8F\u88E1" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/TeX.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/TeX.js deleted file mode 100644 index 857d7564..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hant/TeX.js +++ /dev/null @@ -1,98 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hant/TeX.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hant","TeX",{ - version: "2.7.5", - isLoaded: true, - strings: { - ExtraOpenMissingClose: "\u591A\u9918\u7684\u5DE6\u62EC\u5F27\u6216\u7F3A\u5C11\u53F3\u62EC\u5F27", - ExtraCloseMissingOpen: "\u591A\u51FA\u7684\u53F3\u62EC\u865F\u6216\u907A\u5931\u5DE6\u62EC\u865F", - MissingLeftExtraRight: "\u907A\u5931 \\left \u6216\u591A\u9918 \\right", - MissingScript: "\u7F3A\u5C11\u4E0A\u6A19\u6216\u4E0B\u6A19\u53C3\u6578", - ExtraLeftMissingRight: "\u6709\u591A\u51FA\u4F86\u7684 \\left \u6216\u6C92\u88DC\u4E0A \\right", - Misplaced: "%1\u653E\u932F\u4F4D\u7F6E", - MissingOpenForSub: "\u7F3A\u5C11\u7528\u65BC\u4E0B\u6A19\u7684\u5DE6\u62EC\u865F", - MissingOpenForSup: "\u7F3A\u5C11\u7528\u65BC\u4E0A\u6A19\u7684\u5DE6\u62EC\u865F", - AmbiguousUseOf: "%1\u7684\u4F7F\u7528\u4E0D\u660E\u78BA", - EnvBadEnd: "\\begin{%1}\u4EE5\\end{%2}\u4F86\u7D50\u675F", - EnvMissingEnd: "\u7F3A\u5C11\\end{%1}", - MissingBoxFor: "\u7F3A\u5C11\u7528\u65BC%1\u7684\u6846", - MissingCloseBrace: "\u7F3A\u5C11\u53F3\u62EC\u865F", - UndefinedControlSequence: "\u672A\u5B9A\u7FA9\u7684\u63A7\u5236\u6578\u5217%1", - DoubleExponent: "\u51FA\u73FE\u5169\u500B\u6307\u6578\uFF1A\u4F7F\u7528\u5927\u62EC\u865F{}\u4F86\u5206\u6E05\u695A", - DoubleSubscripts: "\u51FA\u73FE\u5169\u500B\u5E95\u7DDA\uFF1A\u4F7F\u7528\u5927\u62EC\u865F{}\u4F86\u5206\u6E05\u695A", - DoubleExponentPrime: "\u89D2\u5206\u7B26\u865F\u5C0E\u81F4\u7522\u751F\u96D9\u91CD\u6307\u6578\uFF1A\u4F7F\u7528\u5927\u62EC\u865F\u4F86\u5340\u5206", - CantUseHash1: "\u5728\u6578\u5B78\u6A21\u5F0F\u88E1\u60A8\u4E0D\u80FD\u4F7F\u7528\u300C\u5DE8\u96C6\u53C3\u6578\u5B57\u5143 #\u300D", - MisplacedMiddle: "%1\u5FC5\u9808\u5728 \\left \u548C \\right \u4E4B\u9593", - MisplacedLimits: "%1\u50C5\u5141\u8A31\u7528\u5728\u904B\u7B97\u5F0F\u4E0A", - MisplacedMoveRoot: "%1\u50C5\u80FD\u5728\u5E36\u6709root\u5B57\u5143\u4E0B\u5448\u73FE", - MultipleCommand: "\u591A\u500B %1", - IntegerArg: "\u53C3\u6578%1\u5FC5\u9808\u662F\u500B\u6574\u6578", - NotMathMLToken: "%1\u4E0D\u662F\u4E00\u500B\u6A19\u793A\u5143\u7D20", - InvalidMathMLAttr: "\u7121\u6548MathML\u5C6C\u6027\uFF1A %1", - UnknownAttrForElement: "%1\u5728%2\u4E0D\u662F\u53EF\u8FA8\u8B58\u5C6C\u6027", - MaxMacroSub1: "\u8D85\u51FAMathJax\u5DE8\u96C6\u66FF\u4EE3\u6B21\u6578\u4E0A\u9650\uFF1B\u662F\u5426\u5B58\u5728\u905E\u8FF4\u5DE8\u96C6\u547C\u53EB\u5167\u5BB9\uFF1F", - MaxMacroSub2: "\u5DF2\u8D85\u51FAMathJax\u6700\u5927\u4EE3\u63DB\u6B21\u6578\uFF0C\u5728LaTeX\u74B0\u5883\u88E1\u662F\u5426\u5B58\u6709\u905E\u8FF4\u5167\u5BB9?", - MissingArgFor: "\u7F3A\u5C11\u7528\u65BC%1\u53C3\u6578", - ExtraAlignTab: "\u5728\\cases\u6587\u5B57\u5167\u5BB9\u88E1\u6709\u591A\u51FA\u7684\u5C0D\u61C9\u53C3\u6578", - BracketMustBeDimension: "\u7528\u65BC%1\u7684\u62EC\u865F\u53C3\u6578\u5FC5\u9808\u662F\u4E00\u500B\u7DAD\u5EA6", - InvalidEnv: "\u7121\u6548\u74B0\u5883\u540D\u7A31\u300C%1\u300D", - UnknownEnv: "\u4E0D\u660E\u74B0\u5883\u8B8A\u6578\u300C%1\u300D", - ExtraCloseLooking: "\u5728\u627E\u5C0B%1\u6642\u767C\u73FE\u6709\u591A\u51FA\u4F86\u7684\u53F3\u62EC\u865F", - MissingCloseBracket: "%1\u7684\u53C3\u6578\u7121\u6CD5\u627E\u5230\u53F3\u62EC\u865F\u300C]\u300D", - MissingOrUnrecognizedDelim: "\u7F3A\u5C11\u6216\u7121\u6CD5\u8FA8\u8B58\u7528\u65BC%1\u7684\u5206\u9694\u7B26\u865F", - MissingDimOrUnits: "\u7F3A\u5C11\u7528\u65BC%1\u7684\u7DAD\u5EA6\u6216\u55AE\u4F4D", - TokenNotFoundForCommand: "\u7121\u6CD5\u627E\u5230\u7528\u65BC%2\u7684%1", - MathNotTerminated: "\u6578\u5B78\u516C\u5F0F\u5728\u6587\u5B57\u6846\u88E1\u672A\u7D50\u675F", - IllegalMacroParam: "\u975E\u6CD5\u7684\u5DE8\u96C6\u53C3\u6578\u5F15\u7528", - MaxBufferSize: "\u8D85\u51FAMathJax\u5167\u90E8\u7DE9\u885D\u5927\u5C0F\uFF1B\u662F\u5426\u5B58\u5728\u905E\u8FF4\u5DE8\u96C6\u547C\u53EB\u5167\u5BB9\uFF1F", - CommandNotAllowedInEnv: "%1 \u4E0D\u88AB\u5141\u8A31\u5728 %2 \u74B0\u5883\u4E0B", - MultipleLabel: "\u6A19\u7C64\u300C%1\u300D\u88AB\u591A\u91CD\u5B9A\u7FA9", - CommandAtTheBeginingOfLine: "%1\u5FC5\u9808\u4F4D\u5728\u884C\u5217\u7684\u958B\u982D", - IllegalAlign: "\u5728%1\u6709\u4E0D\u6B63\u78BA\u6307\u5B9A\u8FA8\u8B58\u65B9\u5F0F", - BadMathStyleFor: "%1\u7684\u6578\u5B78\u8868\u793A\u5167\u5BB9\u932F\u8AA4", - PositiveIntegerArg: "\u53C3\u6578%1\u5FC5\u9808\u662F\u500B\u6B63\u6574\u6578", - ErroneousNestingEq: "\u932F\u8AA4\u7684\u65B9\u7A0B\u5F0F\u5D4C\u5957\u7D50\u69CB", - MultlineRowsOneCol: "\u5728%1\u74B0\u5883\u88E1\u7684\u884C\u5217\u5FC5\u9808\u53EA\u6709\u4E00\u6B04", - MultipleBBoxProperty: "%1\u5728%2\u88AB\u6307\u5B9A\u5169\u6B21", - InvalidBBoxProperty: "\u300C%1\u300D\u4E0D\u50CF\u662F\u4E00\u500B\u8272\u5F69\u3001\u5167\u908A\u7DAD\u5EA6\u3001\u6216\u6A23\u5F0F", - ExtraEndMissingBegin: "\u6709\u591A\u9918%1\u6216\u7F3A\u5C11\\begingroup", - GlobalNotFollowedBy: "%1\u4E0D\u88AB\\let\u3001\\def\u3001\u6216\\newcommand\u6240\u5141\u8A31", - UndefinedColorModel: "\u8272\u5F69\u6A21\u578B\u300C%1\u300D\u6C92\u6709\u5B9A\u7FA9", - ModelArg1: "\u7528\u65BC%1\u6A21\u578B\u7684\u8272\u5F69\u6578\u503C\u9700\u89813\u500B\u6578\u5B57", - InvalidDecimalNumber: "\u7121\u6548\u5341\u9032\u4F4D\u6578\u5B57", - ModelArg2: "\u7528\u65BC%1\u6A21\u578B\u7684\u8272\u5F69\u6578\u503C\u9700\u8981\u4ECB\u65BC%2\u548C%3\u4E4B\u9593", - InvalidNumber: "\u7121\u6548\u6578\u5B57", - NewextarrowArg1: "%1\u7684\u7B2C\u4E00\u500B\u53C3\u6578\u5FC5\u9808\u662F\u63A7\u5236\u5E8F\u5217\u540D\u7A31", - NewextarrowArg2: "%1\u7684\u7B2C\u4E8C\u500B\u53C3\u6578\u5FC5\u9808\u662F\u7531\u9017\u865F\u5206\u958B\u7684\u5169\u500B\u6574\u6578", - NewextarrowArg3: "%1\u7684\u7B2C\u4E09\u500B\u53C3\u6578\u5FC5\u9808\u662F\u842C\u570B\u78BC\u5B57\u5143\u6578\u5B57", - NoClosingChar: "\u6C92\u6709\u627E\u5230\u5C01\u9589\u7528\u5B57\u5143%1", - IllegalControlSequenceName: "\u4E0D\u9069\u5408\u7528\u5728%1\u7684\u63A7\u5236\u5E8F\u5217\u540D\u7A31", - IllegalParamNumber: "\u6307\u5B9A\u65BC%1\u7684\u4E0D\u9069\u7576\u6578\u5B57\u53C3\u6578", - MissingCS: "%1\u5FC5\u9808\u8DDF\u96A8\u4E00\u500B\u63A7\u5236\u5E8F\u5217", - CantUseHash2: "\u5728\u7528\u65BC%1\u7684\u6A21\u677F\u4E0A\u4E0D\u6B63\u78BA\u4F7F\u7528#\u5B57\u5143", - SequentialParam: "\u7528\u65BC%1\u7684\u53C3\u6578\u5FC5\u9808\u4F9D\u9806\u5E8F\u7DE8\u865F", - MissingReplacementString: "%1\u7684\u5B9A\u7FA9\u7F3A\u5C11\u66FF\u4EE3\u5B57\u4E32", - MismatchUseDef: "%1\u7684\u4F7F\u7528\u4E0D\u7B26\u5408\u5B9A\u7FA9", - RunawayArgument: "\u6709\u7528\u65BC%1\u7684\u53C3\u6578\u4E0D\u898B\u4E86\uFF1F", - NoClosingDelim: "\u5728%1\u7121\u6CD5\u627E\u5230\u7D50\u675F\u7B26\u865F" - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/zh-hant.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/zh-hant.js deleted file mode 100644 index b87e6c44..00000000 --- a/src/py/kaleido/vendor/mathjax/localization/zh-hant/zh-hant.js +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************* - * - * MathJax/localization/zh-hant/zh-hant.js - * - * Copyright (c) 2009-2018 The MathJax Consortium - * - * 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. - * - */ -MathJax.Localization.addTranslation("zh-hant",null,{ - menuTitle: "\u6C49\u8BED", - version: "2.7.5", - isLoaded: true, - domains: { - "_": { - version: "2.7.5", - isLoaded: true, - strings: { - MathProcessingError: "\u6578\u5B78\u8655\u7406\u932F\u8AA4", - MathError: "\u6578\u5B78\u932F\u8AA4", - LoadFile: "\u6B63\u5728\u8F09\u5165%1", - Loading: "\u8F09\u5165\u4E2D\u2026", - LoadFailed: "\u7121\u6CD5\u8F09\u5165\u6A94\u6848\uFF1A%1", - ProcessMath: "\u8655\u7406\u6578\u5B78\uFF1A%1%%", - Processing: "\u8655\u7406\u4E2D", - TypesetMath: "\u6392\u7248\u6578\u5B78\uFF1A%1%%", - Typesetting: "\u6392\u7248", - MathJaxNotSupported: "\u60A8\u7684\u700F\u89BD\u5668\u4E0D\u652F\u63F4MathJax", - ErrorTips: "\u9664\u932F\u63D0\u793A\uFF1A\u4F7F\u7528%%1\uFF0C\u5728\u700F\u89BD\u5668\u63A7\u5236\u53F0\u6AA2\u67E5%%2" - } - }, - "FontWarnings": {}, - "HTML-CSS": {}, - "HelpDialog": {}, - "MathML": {}, - "MathMenu": {}, - "TeX": {} - }, - plural: function (n) { - return 1; // other - }, - number: function (n) { - return n; - } -}); - -MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/zh-hant.js"); diff --git a/src/py/pyproject.toml b/src/py/pyproject.toml index 6a39eb4d..fd704181 100644 --- a/src/py/pyproject.toml +++ b/src/py/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" find = {namespaces = false} [tool.setuptools.package-data] -kaleido = ['vendor/**'] +kaleido = ['vendor/*',] [tool.setuptools-git-versioning] enabled = true From 97513dd506e9f2c84d34738887409ba135dcebc6 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 21 Oct 2024 15:45:26 -0400 Subject: [PATCH 475/510] Remove debug messages --- src/py/kaleido/scopes/plotly.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index 33bc6ff0..500db6dc 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -55,12 +55,10 @@ def _initialize_mathax(self, mathjax=None): 'vendor', 'MathJax.js' ) - print(f"Vendored mj path: {vendored_mathjax_path}") mathjax_path = None if os.path.exists(vendored_mathjax_path): # MathJax is vendored under kaleido/executable. # It was probably install as a PyPI wheel - print("Found") mathjax_path = vendored_mathjax_path if mathjax_path: From cd8060fe6ce060073b39a8b45ed500653c53a7df Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 22 Oct 2024 11:24:55 -0400 Subject: [PATCH 476/510] Fix vendor + tempfiles: Vendor needs to be done w/ whole folder (or parts, not sure which). Research could be done in bundled form of mathjax, since apparently it has deps. Tempfiles are a pain and lots of manual creating + deleting still needs to be done despite python's tempfile lib. --- src/py/kaleido/__init__.py | 12 +- src/py/kaleido/scopes/plotly.py | 71 +- src/py/kaleido/vendor/Mathjax-2.7.5.zip | Bin 0 -> 1931789 bytes src/py/kaleido/vendor/mathjax/LICENSE | 202 ++ .../kaleido/vendor/{ => mathjax}/MathJax.js | 0 src/py/kaleido/vendor/mathjax/README.md | 53 + .../vendor/mathjax/config/AM_CHTML-full.js | 21 + .../kaleido/vendor/mathjax/config/AM_CHTML.js | 21 + .../mathjax/config/AM_HTMLorMML-full.js | 22 + .../vendor/mathjax/config/AM_HTMLorMML.js | 22 + .../vendor/mathjax/config/AM_SVG-full.js | 21 + .../kaleido/vendor/mathjax/config/AM_SVG.js | 21 + .../vendor/mathjax/config/Accessible-full.js | 30 + .../vendor/mathjax/config/Accessible.js | 30 + .../vendor/mathjax/config/MML_CHTML-full.js | 21 + .../vendor/mathjax/config/MML_CHTML.js | 21 + .../mathjax/config/MML_HTMLorMML-full.js | 22 + .../vendor/mathjax/config/MML_HTMLorMML.js | 22 + .../vendor/mathjax/config/MML_SVG-full.js | 21 + .../kaleido/vendor/mathjax/config/MML_SVG.js | 21 + .../vendor/mathjax/config/MMLorHTML.js | 111 + src/py/kaleido/vendor/mathjax/config/Safe.js | 37 + .../config/TeX-AMS-MML_HTMLorMML-full.js | 22 + .../mathjax/config/TeX-AMS-MML_HTMLorMML.js | 22 + .../mathjax/config/TeX-AMS-MML_SVG-full.js | 21 + .../vendor/mathjax/config/TeX-AMS-MML_SVG.js | 21 + .../mathjax/config/TeX-AMS_CHTML-full.js | 21 + .../vendor/mathjax/config/TeX-AMS_CHTML.js | 21 + .../mathjax/config/TeX-AMS_HTML-full.js | 21 + .../vendor/mathjax/config/TeX-AMS_HTML.js | 21 + .../vendor/mathjax/config/TeX-AMS_SVG-full.js | 21 + .../vendor/mathjax/config/TeX-AMS_SVG.js | 21 + .../mathjax/config/TeX-MML-AM_CHTML-full.js | 21 + .../vendor/mathjax/config/TeX-MML-AM_CHTML.js | 21 + .../config/TeX-MML-AM_HTMLorMML-full.js | 22 + .../mathjax/config/TeX-MML-AM_HTMLorMML.js | 22 + .../mathjax/config/TeX-MML-AM_SVG-full.js | 21 + .../vendor/mathjax/config/TeX-MML-AM_SVG.js | 21 + .../kaleido/vendor/mathjax/config/default.js | 1104 +++++++ .../vendor/mathjax/config/local/local.js | 40 + .../vendor/mathjax/extensions/AssistiveMML.js | 161 + .../mathjax/extensions/CHTML-preview.js | 30 + .../vendor/mathjax/extensions/FontWarnings.js | 313 ++ .../extensions/HTML-CSS/handle-floats.js | 49 + .../vendor/mathjax/extensions/HelpDialog.js | 203 ++ .../mathjax/extensions/MatchWebFonts.js | 309 ++ .../vendor/mathjax/extensions/MathEvents.js | 619 ++++ .../extensions/MathML/content-mathml.js | 1743 ++++++++++ .../vendor/mathjax/extensions/MathML/mml3.js | 784 +++++ .../vendor/mathjax/extensions/MathMenu.js | 1664 ++++++++++ .../vendor/mathjax/extensions/MathZoom.js | 366 +++ .../kaleido/vendor/mathjax/extensions/Safe.js | 428 +++ .../vendor/mathjax/extensions/TeX/AMScd.js | 158 + .../vendor/mathjax/extensions/TeX/AMSmath.js | 658 ++++ .../mathjax/extensions/TeX/AMSsymbols.js | 349 ++ .../vendor/mathjax/extensions/TeX/HTML.js | 106 + .../vendor/mathjax/extensions/TeX/action.js | 83 + .../vendor/mathjax/extensions/TeX/autobold.js | 50 + .../mathjax/extensions/TeX/autoload-all.js | 83 + .../vendor/mathjax/extensions/TeX/bbox.js | 102 + .../mathjax/extensions/TeX/begingroup.js | 292 ++ .../mathjax/extensions/TeX/boldsymbol.js | 75 + .../vendor/mathjax/extensions/TeX/cancel.js | 110 + .../vendor/mathjax/extensions/TeX/color.js | 281 ++ .../vendor/mathjax/extensions/TeX/enclose.js | 91 + .../vendor/mathjax/extensions/TeX/extpfeil.js | 102 + .../mathjax/extensions/TeX/mathchoice.js | 107 + .../mathjax/extensions/TeX/mediawiki-texvc.js | 137 + .../vendor/mathjax/extensions/TeX/mhchem.js | 520 +++ .../mathjax/extensions/TeX/mhchem3/mhchem.js | 1770 ++++++++++ .../mathjax/extensions/TeX/newcommand.js | 270 ++ .../vendor/mathjax/extensions/TeX/noErrors.js | 405 +++ .../mathjax/extensions/TeX/noUndefined.js | 72 + .../vendor/mathjax/extensions/TeX/unicode.js | 170 + .../vendor/mathjax/extensions/TeX/verb.js | 61 + .../extensions/a11y/accessibility-menu.js | 1 + .../mathjax/extensions/a11y/auto-collapse.js | 1 + .../mathjax/extensions/a11y/collapsible.js | 1 + .../mathjax/extensions/a11y/explorer.js | 1 + .../extensions/a11y/invalid_keypress.mp3 | Bin 0 -> 9030 bytes .../extensions/a11y/invalid_keypress.ogg | Bin 0 -> 5353 bytes .../mathjax/extensions/a11y/mathjax-sre.js | 985 ++++++ .../a11y/mathmaps/en/functions/algebra.js | 1 + .../a11y/mathmaps/en/functions/elementary.js | 1 + .../a11y/mathmaps/en/functions/hyperbolic.js | 1 + .../mathmaps/en/functions/trigonometry.js | 1 + .../a11y/mathmaps/en/symbols/greek-capital.js | 1 + .../en/symbols/greek-mathfonts-bold.js | 1 + .../en/symbols/greek-mathfonts-italic.js | 1 + .../greek-mathfonts-sans-serif-bold.js | 1 + .../a11y/mathmaps/en/symbols/greek-scripts.js | 1 + .../a11y/mathmaps/en/symbols/greek-small.js | 1 + .../a11y/mathmaps/en/symbols/greek-symbols.js | 1 + .../mathmaps/en/symbols/hebrew_letters.js | 1 + .../en/symbols/latin-lower-double-accent.js | 1 + .../mathmaps/en/symbols/latin-lower-normal.js | 1 + .../en/symbols/latin-lower-phonetic.js | 1 + .../en/symbols/latin-lower-single-accent.js | 1 + .../symbols/latin-mathfonts-bold-fraktur.js | 1 + .../en/symbols/latin-mathfonts-bold-script.js | 1 + .../en/symbols/latin-mathfonts-bold.js | 1 + .../symbols/latin-mathfonts-double-struck.js | 1 + .../en/symbols/latin-mathfonts-fraktur.js | 1 + .../en/symbols/latin-mathfonts-italic.js | 1 + .../en/symbols/latin-mathfonts-monospace.js | 1 + .../latin-mathfonts-sans-serif-bold.js | 1 + .../latin-mathfonts-sans-serif-italic.js | 1 + .../en/symbols/latin-mathfonts-sans-serif.js | 1 + .../en/symbols/latin-mathfonts-script.js | 1 + .../a11y/mathmaps/en/symbols/latin-rest.js | 1 + .../en/symbols/latin-upper-double-accent.js | 1 + .../mathmaps/en/symbols/latin-upper-normal.js | 1 + .../en/symbols/latin-upper-single-accent.js | 1 + .../a11y/mathmaps/en/symbols/math_angles.js | 1 + .../a11y/mathmaps/en/symbols/math_arrows.js | 1 + .../mathmaps/en/symbols/math_characters.js | 1 + .../mathmaps/en/symbols/math_delimiters.js | 1 + .../a11y/mathmaps/en/symbols/math_digits.js | 1 + .../a11y/mathmaps/en/symbols/math_geometry.js | 1 + .../a11y/mathmaps/en/symbols/math_harpoons.js | 1 + .../en/symbols/math_non_characters.js | 1 + .../a11y/mathmaps/en/symbols/math_symbols.js | 1 + .../mathmaps/en/symbols/math_whitespace.js | 1 + .../a11y/mathmaps/en/symbols/other_stars.js | 1 + .../a11y/mathmaps/en/units/energy.js | 1 + .../a11y/mathmaps/en/units/length.js | 1 + .../a11y/mathmaps/en/units/memory.js | 1 + .../a11y/mathmaps/en/units/other.js | 1 + .../a11y/mathmaps/en/units/speed.js | 1 + .../a11y/mathmaps/en/units/temperature.js | 1 + .../extensions/a11y/mathmaps/en/units/time.js | 1 + .../a11y/mathmaps/en/units/volume.js | 1 + .../a11y/mathmaps/en/units/weight.js | 1 + .../a11y/mathmaps/es/functions/algebra.js | 1 + .../a11y/mathmaps/es/functions/elementary.js | 1 + .../a11y/mathmaps/es/functions/hyperbolic.js | 1 + .../mathmaps/es/functions/trigonometry.js | 1 + .../a11y/mathmaps/es/symbols/greek-capital.js | 1 + .../es/symbols/greek-mathfonts-bold.js | 1 + .../es/symbols/greek-mathfonts-italic.js | 1 + .../greek-mathfonts-sans-serif-bold.js | 1 + .../a11y/mathmaps/es/symbols/greek-scripts.js | 1 + .../a11y/mathmaps/es/symbols/greek-small.js | 1 + .../a11y/mathmaps/es/symbols/greek-symbols.js | 1 + .../mathmaps/es/symbols/hebrew_letters.js | 1 + .../es/symbols/latin-lower-double-accent.js | 1 + .../mathmaps/es/symbols/latin-lower-normal.js | 1 + .../es/symbols/latin-lower-phonetic.js | 1 + .../es/symbols/latin-lower-single-accent.js | 1 + .../symbols/latin-mathfonts-bold-fraktur.js | 1 + .../es/symbols/latin-mathfonts-bold-script.js | 1 + .../es/symbols/latin-mathfonts-bold.js | 1 + .../symbols/latin-mathfonts-double-struck.js | 1 + .../es/symbols/latin-mathfonts-fraktur.js | 1 + .../es/symbols/latin-mathfonts-italic.js | 1 + .../es/symbols/latin-mathfonts-monospace.js | 1 + .../latin-mathfonts-sans-serif-bold.js | 1 + .../latin-mathfonts-sans-serif-italic.js | 1 + .../es/symbols/latin-mathfonts-sans-serif.js | 1 + .../es/symbols/latin-mathfonts-script.js | 1 + .../a11y/mathmaps/es/symbols/latin-rest.js | 1 + .../es/symbols/latin-upper-double-accent.js | 1 + .../mathmaps/es/symbols/latin-upper-normal.js | 1 + .../es/symbols/latin-upper-single-accent.js | 1 + .../a11y/mathmaps/es/symbols/math_angles.js | 1 + .../a11y/mathmaps/es/symbols/math_arrows.js | 1 + .../mathmaps/es/symbols/math_characters.js | 1 + .../mathmaps/es/symbols/math_delimiters.js | 1 + .../a11y/mathmaps/es/symbols/math_digits.js | 1 + .../a11y/mathmaps/es/symbols/math_geometry.js | 1 + .../a11y/mathmaps/es/symbols/math_harpoons.js | 1 + .../es/symbols/math_non_characters.js | 1 + .../a11y/mathmaps/es/symbols/math_symbols.js | 1 + .../mathmaps/es/symbols/math_whitespace.js | 1 + .../a11y/mathmaps/es/symbols/other_stars.js | 1 + .../a11y/mathmaps/es/units/energy.js | 1 + .../a11y/mathmaps/es/units/length.js | 1 + .../a11y/mathmaps/es/units/memory.js | 1 + .../a11y/mathmaps/es/units/other.js | 1 + .../a11y/mathmaps/es/units/speed.js | 1 + .../a11y/mathmaps/es/units/temperature.js | 1 + .../extensions/a11y/mathmaps/es/units/time.js | 1 + .../a11y/mathmaps/es/units/volume.js | 1 + .../a11y/mathmaps/es/units/weight.js | 1 + .../extensions/a11y/mathmaps/mathmaps_ie.js | 308 ++ .../extensions/a11y/semantic-enrich.js | 1 + .../extensions/a11y/wgxpath.install.js | 77 + .../mathjax/extensions/asciimath2jax.js | 254 ++ .../vendor/mathjax/extensions/fast-preview.js | 155 + .../vendor/mathjax/extensions/jsMath2jax.js | 105 + .../vendor/mathjax/extensions/mml2jax.js | 263 ++ .../vendor/mathjax/extensions/tex2jax.js | 319 ++ .../vendor/mathjax/extensions/toMathML.js | 241 ++ .../vendor/mathjax/jax/element/mml/jax.js | 1813 +++++++++++ .../mathjax/jax/element/mml/optable/Arrows.js | 122 + .../jax/element/mml/optable/BasicLatin.js | 65 + .../element/mml/optable/CombDiacritMarks.js | 35 + .../mml/optable/CombDiactForSymbols.js | 36 + .../jax/element/mml/optable/Dingbats.js | 38 + .../element/mml/optable/GeneralPunctuation.js | 42 + .../element/mml/optable/GeometricShapes.js | 66 + .../jax/element/mml/optable/GreekAndCoptic.js | 35 + .../element/mml/optable/Latin1Supplement.js | 37 + .../element/mml/optable/LetterlikeSymbols.js | 36 + .../jax/element/mml/optable/MathOperators.js | 228 ++ .../element/mml/optable/MiscMathSymbolsA.js | 42 + .../element/mml/optable/MiscMathSymbolsB.js | 168 + .../mml/optable/MiscSymbolsAndArrows.js | 36 + .../jax/element/mml/optable/MiscTechnical.js | 40 + .../element/mml/optable/SpacingModLetters.js | 38 + .../element/mml/optable/SuppMathOperators.js | 289 ++ .../mml/optable/SupplementalArrowsA.js | 40 + .../mml/optable/SupplementalArrowsB.js | 162 + .../mathjax/jax/input/AsciiMath/config.js | 46 + .../vendor/mathjax/jax/input/AsciiMath/jax.js | 1540 +++++++++ .../vendor/mathjax/jax/input/MathML/config.js | 41 + .../mathjax/jax/input/MathML/entities/a.js | 90 + .../mathjax/jax/input/MathML/entities/b.js | 116 + .../mathjax/jax/input/MathML/entities/c.js | 114 + .../mathjax/jax/input/MathML/entities/d.js | 112 + .../mathjax/jax/input/MathML/entities/e.js | 92 + .../mathjax/jax/input/MathML/entities/f.js | 60 + .../mathjax/jax/input/MathML/entities/fr.js | 79 + .../mathjax/jax/input/MathML/entities/g.js | 83 + .../mathjax/jax/input/MathML/entities/h.js | 52 + .../mathjax/jax/input/MathML/entities/i.js | 86 + .../mathjax/jax/input/MathML/entities/j.js | 35 + .../mathjax/jax/input/MathML/entities/k.js | 37 + .../mathjax/jax/input/MathML/entities/l.js | 179 ++ .../mathjax/jax/input/MathML/entities/m.js | 61 + .../mathjax/jax/input/MathML/entities/n.js | 220 ++ .../mathjax/jax/input/MathML/entities/o.js | 90 + .../mathjax/jax/input/MathML/entities/opf.js | 79 + .../mathjax/jax/input/MathML/entities/p.js | 84 + .../mathjax/jax/input/MathML/entities/q.js | 35 + .../mathjax/jax/input/MathML/entities/r.js | 138 + .../mathjax/jax/input/MathML/entities/s.js | 170 + .../mathjax/jax/input/MathML/entities/scr.js | 79 + .../mathjax/jax/input/MathML/entities/t.js | 86 + .../mathjax/jax/input/MathML/entities/u.js | 92 + .../mathjax/jax/input/MathML/entities/v.js | 73 + .../mathjax/jax/input/MathML/entities/w.js | 35 + .../mathjax/jax/input/MathML/entities/x.js | 47 + .../mathjax/jax/input/MathML/entities/y.js | 41 + .../mathjax/jax/input/MathML/entities/z.js | 42 + .../vendor/mathjax/jax/input/MathML/jax.js | 781 +++++ .../vendor/mathjax/jax/input/TeX/config.js | 54 + .../vendor/mathjax/jax/input/TeX/jax.js | 2371 ++++++++++++++ .../CommonHTML/autoload/annotation-xml.js | 60 + .../jax/output/CommonHTML/autoload/maction.js | 178 ++ .../output/CommonHTML/autoload/menclose.js | 317 ++ .../jax/output/CommonHTML/autoload/mglyph.js | 94 + .../CommonHTML/autoload/mmultiscripts.js | 296 ++ .../jax/output/CommonHTML/autoload/ms.js | 73 + .../jax/output/CommonHTML/autoload/mtable.js | 602 ++++ .../output/CommonHTML/autoload/multiline.js | 793 +++++ .../mathjax/jax/output/CommonHTML/config.js | 64 + .../CommonHTML/fonts/TeX/AMS-Regular.js | 289 ++ .../CommonHTML/fonts/TeX/Caligraphic-Bold.js | 99 + .../CommonHTML/fonts/TeX/Fraktur-Bold.js | 125 + .../CommonHTML/fonts/TeX/Fraktur-Regular.js | 125 + .../output/CommonHTML/fonts/TeX/Main-Bold.js | 208 ++ .../CommonHTML/fonts/TeX/Math-BoldItalic.js | 208 ++ .../CommonHTML/fonts/TeX/SansSerif-Bold.js | 152 + .../CommonHTML/fonts/TeX/SansSerif-Italic.js | 152 + .../CommonHTML/fonts/TeX/SansSerif-Regular.js | 152 + .../CommonHTML/fonts/TeX/Script-Regular.js | 88 + .../fonts/TeX/Typewriter-Regular.js | 155 + .../CommonHTML/fonts/TeX/fontdata-extra.js | 240 ++ .../output/CommonHTML/fonts/TeX/fontdata.js | 1784 +++++++++++ .../mathjax/jax/output/CommonHTML/jax.js | 2841 +++++++++++++++++ .../mathjax/jax/output/NativeMML/config.js | 52 + .../mathjax/jax/output/NativeMML/jax.js | 1431 +++++++++ .../mathjax/jax/output/PlainSource/config.js | 49 + .../mathjax/jax/output/PlainSource/jax.js | 184 ++ .../mathjax/jax/output/PreviewHTML/config.js | 54 + .../mathjax/jax/output/PreviewHTML/jax.js | 1096 +++++++ .../jax/output/SVG/autoload/annotation-xml.js | 92 + .../jax/output/SVG/autoload/maction.js | 201 ++ .../jax/output/SVG/autoload/menclose.js | 233 ++ .../mathjax/jax/output/SVG/autoload/mglyph.js | 106 + .../jax/output/SVG/autoload/mmultiscripts.js | 130 + .../mathjax/jax/output/SVG/autoload/ms.js | 55 + .../mathjax/jax/output/SVG/autoload/mtable.js | 389 +++ .../jax/output/SVG/autoload/multiline.js | 732 +++++ .../vendor/mathjax/jax/output/SVG/config.js | 107 + .../SVG/fonts/TeX/AMS/Regular/Arrows.js | 140 + .../SVG/fonts/TeX/AMS/Regular/BoxDrawing.js | 44 + .../fonts/TeX/AMS/Regular/CombDiacritMarks.js | 32 + .../SVG/fonts/TeX/AMS/Regular/Dingbats.js | 32 + .../fonts/TeX/AMS/Regular/EnclosedAlphanum.js | 29 + .../TeX/AMS/Regular/GeneralPunctuation.js | 29 + .../fonts/TeX/AMS/Regular/GeometricShapes.js | 53 + .../fonts/TeX/AMS/Regular/GreekAndCoptic.js | 32 + .../fonts/TeX/AMS/Regular/Latin1Supplement.js | 35 + .../fonts/TeX/AMS/Regular/LatinExtendedA.js | 29 + .../TeX/AMS/Regular/LetterlikeSymbols.js | 47 + .../output/SVG/fonts/TeX/AMS/Regular/Main.js | 131 + .../fonts/TeX/AMS/Regular/MathOperators.js | 359 +++ .../fonts/TeX/AMS/Regular/MiscMathSymbolsB.js | 29 + .../SVG/fonts/TeX/AMS/Regular/MiscSymbols.js | 29 + .../fonts/TeX/AMS/Regular/MiscTechnical.js | 32 + .../output/SVG/fonts/TeX/AMS/Regular/PUA.js | 74 + .../TeX/AMS/Regular/SpacingModLetters.js | 32 + .../TeX/AMS/Regular/SuppMathOperators.js | 95 + .../SVG/fonts/TeX/Caligraphic/Bold/Main.js | 167 + .../SVG/fonts/TeX/Caligraphic/Regular/Main.js | 166 + .../SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js | 272 ++ .../output/SVG/fonts/TeX/Fraktur/Bold/Main.js | 35 + .../SVG/fonts/TeX/Fraktur/Bold/Other.js | 32 + .../output/SVG/fonts/TeX/Fraktur/Bold/PUA.js | 47 + .../fonts/TeX/Fraktur/Regular/BasicLatin.js | 272 ++ .../SVG/fonts/TeX/Fraktur/Regular/Main.js | 34 + .../SVG/fonts/TeX/Fraktur/Regular/Other.js | 32 + .../SVG/fonts/TeX/Fraktur/Regular/PUA.js | 50 + .../output/SVG/fonts/TeX/Main/Bold/Arrows.js | 98 + .../SVG/fonts/TeX/Main/Bold/BasicLatin.js | 149 + .../fonts/TeX/Main/Bold/CombDiacritMarks.js | 62 + .../TeX/Main/Bold/CombDiactForSymbols.js | 29 + .../fonts/TeX/Main/Bold/GeneralPunctuation.js | 56 + .../fonts/TeX/Main/Bold/GeometricShapes.js | 41 + .../SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js | 59 + .../fonts/TeX/Main/Bold/Latin1Supplement.js | 50 + .../SVG/fonts/TeX/Main/Bold/LatinExtendedA.js | 29 + .../SVG/fonts/TeX/Main/Bold/LatinExtendedB.js | 29 + .../fonts/TeX/Main/Bold/LetterlikeSymbols.js | 44 + .../output/SVG/fonts/TeX/Main/Bold/Main.js | 217 ++ .../SVG/fonts/TeX/Main/Bold/MathOperators.js | 227 ++ .../fonts/TeX/Main/Bold/MiscMathSymbolsA.js | 32 + .../SVG/fonts/TeX/Main/Bold/MiscSymbols.js | 47 + .../SVG/fonts/TeX/Main/Bold/MiscTechnical.js | 44 + .../fonts/TeX/Main/Bold/SpacingModLetters.js | 53 + .../fonts/TeX/Main/Bold/SuppMathOperators.js | 35 + .../TeX/Main/Bold/SupplementalArrowsA.js | 47 + .../SVG/fonts/TeX/Main/Italic/BasicLatin.js | 287 ++ .../fonts/TeX/Main/Italic/CombDiacritMarks.js | 59 + .../TeX/Main/Italic/GeneralPunctuation.js | 44 + .../fonts/TeX/Main/Italic/GreekAndCoptic.js | 59 + .../fonts/TeX/Main/Italic/LatinExtendedA.js | 29 + .../fonts/TeX/Main/Italic/LatinExtendedB.js | 29 + .../TeX/Main/Italic/LetterlikeSymbols.js | 29 + .../output/SVG/fonts/TeX/Main/Italic/Main.js | 40 + .../SVG/fonts/TeX/Main/Regular/BasicLatin.js | 146 + .../TeX/Main/Regular/CombDiacritMarks.js | 62 + .../fonts/TeX/Main/Regular/GeometricShapes.js | 41 + .../fonts/TeX/Main/Regular/GreekAndCoptic.js | 59 + .../fonts/TeX/Main/Regular/LatinExtendedA.js | 29 + .../fonts/TeX/Main/Regular/LatinExtendedB.js | 29 + .../TeX/Main/Regular/LetterlikeSymbols.js | 44 + .../output/SVG/fonts/TeX/Main/Regular/Main.js | 628 ++++ .../SVG/fonts/TeX/Main/Regular/MiscSymbols.js | 47 + .../TeX/Main/Regular/SpacingModLetters.js | 29 + .../TeX/Main/Regular/SuppMathOperators.js | 29 + .../SVG/fonts/TeX/Math/BoldItalic/Main.js | 392 +++ .../output/SVG/fonts/TeX/Math/Italic/Main.js | 391 +++ .../fonts/TeX/SansSerif/Bold/BasicLatin.js | 290 ++ .../TeX/SansSerif/Bold/CombDiacritMarks.js | 59 + .../SVG/fonts/TeX/SansSerif/Bold/Main.js | 35 + .../SVG/fonts/TeX/SansSerif/Bold/Other.js | 83 + .../fonts/TeX/SansSerif/Italic/BasicLatin.js | 290 ++ .../TeX/SansSerif/Italic/CombDiacritMarks.js | 59 + .../SVG/fonts/TeX/SansSerif/Italic/Main.js | 35 + .../SVG/fonts/TeX/SansSerif/Italic/Other.js | 83 + .../fonts/TeX/SansSerif/Regular/BasicLatin.js | 290 ++ .../TeX/SansSerif/Regular/CombDiacritMarks.js | 59 + .../SVG/fonts/TeX/SansSerif/Regular/Main.js | 34 + .../SVG/fonts/TeX/SansSerif/Regular/Other.js | 83 + .../fonts/TeX/Script/Regular/BasicLatin.js | 107 + .../SVG/fonts/TeX/Script/Regular/Main.js | 60 + .../SVG/fonts/TeX/Size1/Regular/Main.js | 159 + .../SVG/fonts/TeX/Size2/Regular/Main.js | 135 + .../SVG/fonts/TeX/Size3/Regular/Main.js | 87 + .../SVG/fonts/TeX/Size4/Regular/Main.js | 168 + .../TeX/Typewriter/Regular/BasicLatin.js | 314 ++ .../Typewriter/Regular/CombDiacritMarks.js | 53 + .../SVG/fonts/TeX/Typewriter/Regular/Main.js | 34 + .../SVG/fonts/TeX/Typewriter/Regular/Other.js | 74 + .../output/SVG/fonts/TeX/fontdata-extra.js | 241 ++ .../jax/output/SVG/fonts/TeX/fontdata.js | 1613 ++++++++++ .../vendor/mathjax/jax/output/SVG/jax.js | 2333 ++++++++++++++ src/py/kaleido/vendor/mathjax/latest.js | 159 + .../mathjax/localization/ar/FontWarnings.js | 32 + .../mathjax/localization/ar/HTML-CSS.js | 32 + .../mathjax/localization/ar/HelpDialog.js | 35 + .../vendor/mathjax/localization/ar/MathML.js | 35 + .../mathjax/localization/ar/MathMenu.js | 85 + .../vendor/mathjax/localization/ar/TeX.js | 78 + .../vendor/mathjax/localization/ar/ar.js | 62 + .../mathjax/localization/ast/FontWarnings.js | 34 + .../mathjax/localization/ast/HTML-CSS.js | 32 + .../mathjax/localization/ast/HelpDialog.js | 38 + .../vendor/mathjax/localization/ast/MathML.js | 37 + .../mathjax/localization/ast/MathMenu.js | 111 + .../vendor/mathjax/localization/ast/TeX.js | 98 + .../vendor/mathjax/localization/ast/ast.js | 59 + .../mathjax/localization/bcc/FontWarnings.js | 28 + .../mathjax/localization/bcc/HTML-CSS.js | 28 + .../mathjax/localization/bcc/HelpDialog.js | 28 + .../vendor/mathjax/localization/bcc/MathML.js | 28 + .../mathjax/localization/bcc/MathMenu.js | 28 + .../vendor/mathjax/localization/bcc/TeX.js | 94 + .../vendor/mathjax/localization/bcc/bcc.js | 57 + .../mathjax/localization/bg/FontWarnings.js | 28 + .../mathjax/localization/bg/HTML-CSS.js | 28 + .../mathjax/localization/bg/HelpDialog.js | 28 + .../vendor/mathjax/localization/bg/MathML.js | 28 + .../mathjax/localization/bg/MathMenu.js | 56 + .../vendor/mathjax/localization/bg/TeX.js | 68 + .../vendor/mathjax/localization/bg/bg.js | 55 + .../mathjax/localization/br/FontWarnings.js | 34 + .../mathjax/localization/br/HTML-CSS.js | 32 + .../mathjax/localization/br/HelpDialog.js | 38 + .../vendor/mathjax/localization/br/MathML.js | 35 + .../mathjax/localization/br/MathMenu.js | 98 + .../vendor/mathjax/localization/br/TeX.js | 94 + .../vendor/mathjax/localization/br/br.js | 66 + .../mathjax/localization/ca/FontWarnings.js | 34 + .../mathjax/localization/ca/HTML-CSS.js | 32 + .../mathjax/localization/ca/HelpDialog.js | 38 + .../vendor/mathjax/localization/ca/MathML.js | 37 + .../mathjax/localization/ca/MathMenu.js | 111 + .../vendor/mathjax/localization/ca/TeX.js | 98 + .../vendor/mathjax/localization/ca/ca.js | 59 + .../mathjax/localization/cdo/FontWarnings.js | 28 + .../mathjax/localization/cdo/HTML-CSS.js | 28 + .../mathjax/localization/cdo/HelpDialog.js | 28 + .../vendor/mathjax/localization/cdo/MathML.js | 28 + .../mathjax/localization/cdo/MathMenu.js | 28 + .../vendor/mathjax/localization/cdo/TeX.js | 28 + .../vendor/mathjax/localization/cdo/cdo.js | 57 + .../mathjax/localization/ce/FontWarnings.js | 28 + .../mathjax/localization/ce/HTML-CSS.js | 28 + .../mathjax/localization/ce/HelpDialog.js | 28 + .../vendor/mathjax/localization/ce/MathML.js | 28 + .../mathjax/localization/ce/MathMenu.js | 28 + .../vendor/mathjax/localization/ce/TeX.js | 28 + .../vendor/mathjax/localization/ce/ce.js | 57 + .../mathjax/localization/cs/FontWarnings.js | 34 + .../mathjax/localization/cs/HTML-CSS.js | 32 + .../mathjax/localization/cs/HelpDialog.js | 38 + .../vendor/mathjax/localization/cs/MathML.js | 37 + .../mathjax/localization/cs/MathMenu.js | 111 + .../vendor/mathjax/localization/cs/TeX.js | 98 + .../vendor/mathjax/localization/cs/cs.js | 60 + .../mathjax/localization/cy/FontWarnings.js | 28 + .../mathjax/localization/cy/HTML-CSS.js | 28 + .../mathjax/localization/cy/HelpDialog.js | 28 + .../vendor/mathjax/localization/cy/MathML.js | 28 + .../mathjax/localization/cy/MathMenu.js | 28 + .../vendor/mathjax/localization/cy/TeX.js | 28 + .../vendor/mathjax/localization/cy/cy.js | 57 + .../mathjax/localization/da/FontWarnings.js | 34 + .../mathjax/localization/da/HTML-CSS.js | 32 + .../mathjax/localization/da/HelpDialog.js | 38 + .../vendor/mathjax/localization/da/MathML.js | 37 + .../mathjax/localization/da/MathMenu.js | 111 + .../vendor/mathjax/localization/da/TeX.js | 98 + .../vendor/mathjax/localization/da/da.js | 59 + .../mathjax/localization/de/FontWarnings.js | 34 + .../mathjax/localization/de/HTML-CSS.js | 32 + .../mathjax/localization/de/HelpDialog.js | 38 + .../vendor/mathjax/localization/de/MathML.js | 37 + .../mathjax/localization/de/MathMenu.js | 111 + .../vendor/mathjax/localization/de/TeX.js | 98 + .../vendor/mathjax/localization/de/de.js | 59 + .../mathjax/localization/diq/FontWarnings.js | 28 + .../mathjax/localization/diq/HTML-CSS.js | 29 + .../mathjax/localization/diq/HelpDialog.js | 28 + .../vendor/mathjax/localization/diq/MathML.js | 28 + .../mathjax/localization/diq/MathMenu.js | 89 + .../vendor/mathjax/localization/diq/TeX.js | 28 + .../vendor/mathjax/localization/diq/diq.js | 56 + .../mathjax/localization/en/FontWarnings.js | 34 + .../mathjax/localization/en/HTML-CSS.js | 32 + .../mathjax/localization/en/HelpDialog.js | 38 + .../vendor/mathjax/localization/en/MathML.js | 37 + .../mathjax/localization/en/MathMenu.js | 111 + .../vendor/mathjax/localization/en/TeX.js | 98 + .../vendor/mathjax/localization/en/en.js | 59 + .../mathjax/localization/eo/FontWarnings.js | 28 + .../mathjax/localization/eo/HTML-CSS.js | 28 + .../mathjax/localization/eo/HelpDialog.js | 28 + .../vendor/mathjax/localization/eo/MathML.js | 28 + .../mathjax/localization/eo/MathMenu.js | 28 + .../vendor/mathjax/localization/eo/TeX.js | 28 + .../vendor/mathjax/localization/eo/eo.js | 54 + .../mathjax/localization/es/FontWarnings.js | 34 + .../mathjax/localization/es/HTML-CSS.js | 32 + .../mathjax/localization/es/HelpDialog.js | 38 + .../vendor/mathjax/localization/es/MathML.js | 37 + .../mathjax/localization/es/MathMenu.js | 111 + .../vendor/mathjax/localization/es/TeX.js | 98 + .../vendor/mathjax/localization/es/es.js | 59 + .../mathjax/localization/fa/FontWarnings.js | 34 + .../mathjax/localization/fa/HTML-CSS.js | 32 + .../mathjax/localization/fa/HelpDialog.js | 37 + .../vendor/mathjax/localization/fa/MathML.js | 37 + .../mathjax/localization/fa/MathMenu.js | 107 + .../vendor/mathjax/localization/fa/TeX.js | 98 + .../vendor/mathjax/localization/fa/fa.js | 58 + .../mathjax/localization/fi/FontWarnings.js | 28 + .../mathjax/localization/fi/HTML-CSS.js | 28 + .../mathjax/localization/fi/HelpDialog.js | 28 + .../vendor/mathjax/localization/fi/MathML.js | 28 + .../mathjax/localization/fi/MathMenu.js | 82 + .../vendor/mathjax/localization/fi/TeX.js | 28 + .../vendor/mathjax/localization/fi/fi.js | 58 + .../mathjax/localization/fr/FontWarnings.js | 34 + .../mathjax/localization/fr/HTML-CSS.js | 32 + .../mathjax/localization/fr/HelpDialog.js | 38 + .../vendor/mathjax/localization/fr/MathML.js | 37 + .../mathjax/localization/fr/MathMenu.js | 111 + .../vendor/mathjax/localization/fr/TeX.js | 98 + .../vendor/mathjax/localization/fr/fr.js | 59 + .../mathjax/localization/gl/FontWarnings.js | 28 + .../mathjax/localization/gl/HTML-CSS.js | 32 + .../mathjax/localization/gl/HelpDialog.js | 28 + .../vendor/mathjax/localization/gl/MathML.js | 28 + .../mathjax/localization/gl/MathMenu.js | 28 + .../vendor/mathjax/localization/gl/TeX.js | 28 + .../vendor/mathjax/localization/gl/gl.js | 58 + .../mathjax/localization/he/FontWarnings.js | 34 + .../mathjax/localization/he/HTML-CSS.js | 32 + .../mathjax/localization/he/HelpDialog.js | 38 + .../vendor/mathjax/localization/he/MathML.js | 37 + .../mathjax/localization/he/MathMenu.js | 111 + .../vendor/mathjax/localization/he/TeX.js | 98 + .../vendor/mathjax/localization/he/he.js | 62 + .../mathjax/localization/ia/FontWarnings.js | 34 + .../mathjax/localization/ia/HTML-CSS.js | 28 + .../mathjax/localization/ia/HelpDialog.js | 37 + .../vendor/mathjax/localization/ia/MathML.js | 28 + .../mathjax/localization/ia/MathMenu.js | 28 + .../vendor/mathjax/localization/ia/TeX.js | 28 + .../vendor/mathjax/localization/ia/ia.js | 58 + .../mathjax/localization/it/FontWarnings.js | 34 + .../mathjax/localization/it/HTML-CSS.js | 32 + .../mathjax/localization/it/HelpDialog.js | 38 + .../vendor/mathjax/localization/it/MathML.js | 37 + .../mathjax/localization/it/MathMenu.js | 111 + .../vendor/mathjax/localization/it/TeX.js | 98 + .../vendor/mathjax/localization/it/it.js | 59 + .../mathjax/localization/ja/FontWarnings.js | 34 + .../mathjax/localization/ja/HTML-CSS.js | 32 + .../mathjax/localization/ja/HelpDialog.js | 37 + .../vendor/mathjax/localization/ja/MathML.js | 37 + .../mathjax/localization/ja/MathMenu.js | 107 + .../vendor/mathjax/localization/ja/TeX.js | 98 + .../vendor/mathjax/localization/ja/ja.js | 57 + .../mathjax/localization/kn/FontWarnings.js | 34 + .../mathjax/localization/kn/HTML-CSS.js | 32 + .../mathjax/localization/kn/HelpDialog.js | 32 + .../vendor/mathjax/localization/kn/MathML.js | 35 + .../mathjax/localization/kn/MathMenu.js | 105 + .../vendor/mathjax/localization/kn/TeX.js | 98 + .../vendor/mathjax/localization/kn/kn.js | 57 + .../mathjax/localization/ko/FontWarnings.js | 34 + .../mathjax/localization/ko/HTML-CSS.js | 32 + .../mathjax/localization/ko/HelpDialog.js | 34 + .../vendor/mathjax/localization/ko/MathML.js | 28 + .../mathjax/localization/ko/MathMenu.js | 106 + .../vendor/mathjax/localization/ko/TeX.js | 66 + .../vendor/mathjax/localization/ko/ko.js | 57 + .../mathjax/localization/lb/FontWarnings.js | 28 + .../mathjax/localization/lb/HTML-CSS.js | 28 + .../mathjax/localization/lb/HelpDialog.js | 28 + .../vendor/mathjax/localization/lb/MathML.js | 28 + .../mathjax/localization/lb/MathMenu.js | 55 + .../vendor/mathjax/localization/lb/TeX.js | 28 + .../vendor/mathjax/localization/lb/lb.js | 53 + .../mathjax/localization/lki/FontWarnings.js | 34 + .../mathjax/localization/lki/HTML-CSS.js | 32 + .../mathjax/localization/lki/HelpDialog.js | 37 + .../vendor/mathjax/localization/lki/MathML.js | 37 + .../mathjax/localization/lki/MathMenu.js | 107 + .../vendor/mathjax/localization/lki/TeX.js | 98 + .../vendor/mathjax/localization/lki/lki.js | 57 + .../mathjax/localization/lt/FontWarnings.js | 34 + .../mathjax/localization/lt/HTML-CSS.js | 32 + .../mathjax/localization/lt/HelpDialog.js | 38 + .../vendor/mathjax/localization/lt/MathML.js | 37 + .../mathjax/localization/lt/MathMenu.js | 111 + .../vendor/mathjax/localization/lt/TeX.js | 98 + .../vendor/mathjax/localization/lt/lt.js | 62 + .../mathjax/localization/mk/FontWarnings.js | 34 + .../mathjax/localization/mk/HTML-CSS.js | 32 + .../mathjax/localization/mk/HelpDialog.js | 38 + .../vendor/mathjax/localization/mk/MathML.js | 37 + .../mathjax/localization/mk/MathMenu.js | 111 + .../vendor/mathjax/localization/mk/TeX.js | 98 + .../vendor/mathjax/localization/mk/mk.js | 59 + .../mathjax/localization/nl/FontWarnings.js | 34 + .../mathjax/localization/nl/HTML-CSS.js | 32 + .../mathjax/localization/nl/HelpDialog.js | 38 + .../vendor/mathjax/localization/nl/MathML.js | 37 + .../mathjax/localization/nl/MathMenu.js | 111 + .../vendor/mathjax/localization/nl/TeX.js | 98 + .../vendor/mathjax/localization/nl/nl.js | 59 + .../mathjax/localization/oc/FontWarnings.js | 28 + .../mathjax/localization/oc/HTML-CSS.js | 28 + .../mathjax/localization/oc/HelpDialog.js | 28 + .../vendor/mathjax/localization/oc/MathML.js | 28 + .../mathjax/localization/oc/MathMenu.js | 89 + .../vendor/mathjax/localization/oc/TeX.js | 28 + .../vendor/mathjax/localization/oc/oc.js | 57 + .../mathjax/localization/pl/FontWarnings.js | 34 + .../mathjax/localization/pl/HTML-CSS.js | 32 + .../mathjax/localization/pl/HelpDialog.js | 38 + .../vendor/mathjax/localization/pl/MathML.js | 37 + .../mathjax/localization/pl/MathMenu.js | 111 + .../vendor/mathjax/localization/pl/TeX.js | 98 + .../vendor/mathjax/localization/pl/pl.js | 64 + .../localization/pt-br/FontWarnings.js | 34 + .../mathjax/localization/pt-br/HTML-CSS.js | 32 + .../mathjax/localization/pt-br/HelpDialog.js | 38 + .../mathjax/localization/pt-br/MathML.js | 37 + .../mathjax/localization/pt-br/MathMenu.js | 111 + .../vendor/mathjax/localization/pt-br/TeX.js | 98 + .../mathjax/localization/pt-br/pt-br.js | 59 + .../mathjax/localization/pt/FontWarnings.js | 34 + .../mathjax/localization/pt/HTML-CSS.js | 32 + .../mathjax/localization/pt/HelpDialog.js | 38 + .../vendor/mathjax/localization/pt/MathML.js | 37 + .../mathjax/localization/pt/MathMenu.js | 111 + .../vendor/mathjax/localization/pt/TeX.js | 98 + .../vendor/mathjax/localization/pt/pt.js | 58 + .../mathjax/localization/qqq/FontWarnings.js | 34 + .../mathjax/localization/qqq/HTML-CSS.js | 32 + .../mathjax/localization/qqq/HelpDialog.js | 38 + .../vendor/mathjax/localization/qqq/MathML.js | 37 + .../mathjax/localization/qqq/MathMenu.js | 110 + .../vendor/mathjax/localization/qqq/TeX.js | 98 + .../vendor/mathjax/localization/qqq/qqq.js | 54 + .../mathjax/localization/ru/FontWarnings.js | 34 + .../mathjax/localization/ru/HTML-CSS.js | 32 + .../mathjax/localization/ru/HelpDialog.js | 38 + .../vendor/mathjax/localization/ru/MathML.js | 37 + .../mathjax/localization/ru/MathMenu.js | 111 + .../vendor/mathjax/localization/ru/TeX.js | 98 + .../vendor/mathjax/localization/ru/ru.js | 62 + .../mathjax/localization/scn/FontWarnings.js | 34 + .../mathjax/localization/scn/HTML-CSS.js | 32 + .../mathjax/localization/scn/HelpDialog.js | 37 + .../vendor/mathjax/localization/scn/MathML.js | 37 + .../mathjax/localization/scn/MathMenu.js | 107 + .../vendor/mathjax/localization/scn/TeX.js | 98 + .../vendor/mathjax/localization/scn/scn.js | 57 + .../mathjax/localization/sco/FontWarnings.js | 34 + .../mathjax/localization/sco/HTML-CSS.js | 32 + .../mathjax/localization/sco/HelpDialog.js | 37 + .../vendor/mathjax/localization/sco/MathML.js | 37 + .../mathjax/localization/sco/MathMenu.js | 107 + .../vendor/mathjax/localization/sco/TeX.js | 98 + .../vendor/mathjax/localization/sco/sco.js | 57 + .../mathjax/localization/sk/FontWarnings.js | 34 + .../mathjax/localization/sk/HTML-CSS.js | 32 + .../mathjax/localization/sk/HelpDialog.js | 38 + .../vendor/mathjax/localization/sk/MathML.js | 37 + .../mathjax/localization/sk/MathMenu.js | 111 + .../vendor/mathjax/localization/sk/TeX.js | 98 + .../vendor/mathjax/localization/sk/sk.js | 59 + .../mathjax/localization/sl/FontWarnings.js | 34 + .../mathjax/localization/sl/HTML-CSS.js | 32 + .../mathjax/localization/sl/HelpDialog.js | 37 + .../vendor/mathjax/localization/sl/MathML.js | 37 + .../mathjax/localization/sl/MathMenu.js | 108 + .../vendor/mathjax/localization/sl/TeX.js | 98 + .../vendor/mathjax/localization/sl/sl.js | 60 + .../mathjax/localization/sv/FontWarnings.js | 34 + .../mathjax/localization/sv/HTML-CSS.js | 32 + .../mathjax/localization/sv/HelpDialog.js | 38 + .../vendor/mathjax/localization/sv/MathML.js | 37 + .../mathjax/localization/sv/MathMenu.js | 111 + .../vendor/mathjax/localization/sv/TeX.js | 98 + .../vendor/mathjax/localization/sv/sv.js | 59 + .../mathjax/localization/th/FontWarnings.js | 34 + .../mathjax/localization/th/HTML-CSS.js | 32 + .../mathjax/localization/th/HelpDialog.js | 38 + .../vendor/mathjax/localization/th/MathML.js | 37 + .../mathjax/localization/th/MathMenu.js | 111 + .../vendor/mathjax/localization/th/TeX.js | 98 + .../vendor/mathjax/localization/th/th.js | 57 + .../mathjax/localization/tr/FontWarnings.js | 28 + .../mathjax/localization/tr/HTML-CSS.js | 28 + .../mathjax/localization/tr/HelpDialog.js | 28 + .../vendor/mathjax/localization/tr/MathML.js | 28 + .../mathjax/localization/tr/MathMenu.js | 28 + .../vendor/mathjax/localization/tr/TeX.js | 28 + .../vendor/mathjax/localization/tr/tr.js | 53 + .../mathjax/localization/uk/FontWarnings.js | 34 + .../mathjax/localization/uk/HTML-CSS.js | 32 + .../mathjax/localization/uk/HelpDialog.js | 38 + .../vendor/mathjax/localization/uk/MathML.js | 37 + .../mathjax/localization/uk/MathMenu.js | 111 + .../vendor/mathjax/localization/uk/TeX.js | 98 + .../vendor/mathjax/localization/uk/uk.js | 61 + .../mathjax/localization/vi/FontWarnings.js | 34 + .../mathjax/localization/vi/HTML-CSS.js | 32 + .../mathjax/localization/vi/HelpDialog.js | 38 + .../vendor/mathjax/localization/vi/MathML.js | 37 + .../mathjax/localization/vi/MathMenu.js | 111 + .../vendor/mathjax/localization/vi/TeX.js | 98 + .../vendor/mathjax/localization/vi/vi.js | 58 + .../localization/zh-hans/FontWarnings.js | 34 + .../mathjax/localization/zh-hans/HTML-CSS.js | 32 + .../localization/zh-hans/HelpDialog.js | 38 + .../mathjax/localization/zh-hans/MathML.js | 37 + .../mathjax/localization/zh-hans/MathMenu.js | 111 + .../mathjax/localization/zh-hans/TeX.js | 98 + .../mathjax/localization/zh-hans/zh-hans.js | 58 + .../localization/zh-hant/FontWarnings.js | 34 + .../mathjax/localization/zh-hant/HTML-CSS.js | 32 + .../localization/zh-hant/HelpDialog.js | 38 + .../mathjax/localization/zh-hant/MathML.js | 37 + .../mathjax/localization/zh-hant/MathMenu.js | 111 + .../mathjax/localization/zh-hant/TeX.js | 98 + .../mathjax/localization/zh-hant/zh-hant.js | 57 + 717 files changed, 73126 insertions(+), 9 deletions(-) create mode 100644 src/py/kaleido/vendor/Mathjax-2.7.5.zip create mode 100644 src/py/kaleido/vendor/mathjax/LICENSE rename src/py/kaleido/vendor/{ => mathjax}/MathJax.js (100%) create mode 100644 src/py/kaleido/vendor/mathjax/README.md create mode 100644 src/py/kaleido/vendor/mathjax/config/AM_CHTML-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/AM_CHTML.js create mode 100644 src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML.js create mode 100644 src/py/kaleido/vendor/mathjax/config/AM_SVG-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/AM_SVG.js create mode 100644 src/py/kaleido/vendor/mathjax/config/Accessible-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/Accessible.js create mode 100644 src/py/kaleido/vendor/mathjax/config/MML_CHTML-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/MML_CHTML.js create mode 100644 src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML.js create mode 100644 src/py/kaleido/vendor/mathjax/config/MML_SVG-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/MML_SVG.js create mode 100644 src/py/kaleido/vendor/mathjax/config/MMLorHTML.js create mode 100644 src/py/kaleido/vendor/mathjax/config/Safe.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG-full.js create mode 100644 src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG.js create mode 100644 src/py/kaleido/vendor/mathjax/config/default.js create mode 100644 src/py/kaleido/vendor/mathjax/config/local/local.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/AssistiveMML.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/CHTML-preview.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/HTML-CSS/handle-floats.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/MatchWebFonts.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/MathEvents.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/MathML/content-mathml.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/MathML/mml3.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/MathZoom.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/Safe.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/AMScd.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/AMSmath.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/AMSsymbols.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/HTML.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/action.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/autobold.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/autoload-all.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/bbox.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/begingroup.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/boldsymbol.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/cancel.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/color.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/enclose.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/extpfeil.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/mathchoice.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/mediawiki-texvc.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem3/mhchem.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/newcommand.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/noErrors.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/noUndefined.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/unicode.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/TeX/verb.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/accessibility-menu.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/auto-collapse.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/collapsible.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/explorer.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.mp3 create mode 100755 src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.ogg create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathjax-sre.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/algebra.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/elementary.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/hyperbolic.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/functions/trigonometry.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-capital.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-bold.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-italic.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-mathfonts-sans-serif-bold.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-scripts.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-small.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/greek-symbols.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/hebrew_letters.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-double-accent.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-normal.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-phonetic.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-lower-single-accent.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-fraktur.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold-script.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-bold.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-double-struck.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-fraktur.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-italic.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-monospace.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-bold.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif-italic.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-sans-serif.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-mathfonts-script.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-rest.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-double-accent.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-normal.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/latin-upper-single-accent.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_angles.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_arrows.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_characters.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_delimiters.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_digits.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_geometry.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_harpoons.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_non_characters.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_symbols.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/math_whitespace.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/symbols/other_stars.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/energy.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/length.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/memory.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/other.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/speed.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/temperature.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/time.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/volume.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/en/units/weight.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/algebra.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/elementary.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/hyperbolic.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/functions/trigonometry.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-capital.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-bold.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-italic.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-mathfonts-sans-serif-bold.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-scripts.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-small.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/greek-symbols.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/hebrew_letters.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-double-accent.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-normal.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-phonetic.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-lower-single-accent.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-fraktur.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold-script.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-bold.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-double-struck.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-fraktur.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-italic.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-monospace.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-bold.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif-italic.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-sans-serif.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-mathfonts-script.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-rest.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-double-accent.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-normal.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/latin-upper-single-accent.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_angles.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_arrows.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_characters.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_delimiters.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_digits.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_geometry.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_harpoons.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_non_characters.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_symbols.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/math_whitespace.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/symbols/other_stars.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/energy.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/length.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/memory.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/other.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/speed.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/temperature.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/time.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/volume.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/es/units/weight.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/mathmaps/mathmaps_ie.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/semantic-enrich.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/a11y/wgxpath.install.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/asciimath2jax.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/fast-preview.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/jsMath2jax.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/mml2jax.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/tex2jax.js create mode 100644 src/py/kaleido/vendor/mathjax/extensions/toMathML.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/jax.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Arrows.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/BasicLatin.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiactForSymbols.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Dingbats.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeneralPunctuation.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeometricShapes.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GreekAndCoptic.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Latin1Supplement.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/LetterlikeSymbols.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MathOperators.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsA.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsB.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscSymbolsAndArrows.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscTechnical.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SpacingModLetters.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SuppMathOperators.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsA.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsB.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/config.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/jax.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/config.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/a.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/b.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/c.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/d.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/e.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/f.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/fr.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/g.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/h.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/i.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/j.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/k.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/l.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/m.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/n.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/o.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/opf.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/p.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/q.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/r.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/s.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/scr.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/t.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/u.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/v.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/w.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/x.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/y.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/entities/z.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/MathML/jax.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/TeX/config.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/input/TeX/jax.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/annotation-xml.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/maction.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/menclose.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mglyph.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mmultiscripts.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/ms.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mtable.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/multiline.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/config.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/jax.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/NativeMML/config.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/NativeMML/jax.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/PlainSource/config.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/PlainSource/jax.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/config.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/jax.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/annotation-xml.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/maction.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/menclose.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mglyph.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mmultiscripts.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/ms.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mtable.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/multiline.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/config.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/Italic/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata-extra.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata.js create mode 100644 src/py/kaleido/vendor/mathjax/jax/output/SVG/jax.js create mode 100644 src/py/kaleido/vendor/mathjax/latest.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ar/ar.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ast/ast.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bcc/bcc.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/bg/bg.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/br/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/br/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/br/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/br/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/br/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/br/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/br/br.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ca/ca.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cdo/cdo.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ce/ce.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cs/cs.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/cy/cy.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/da/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/da/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/da/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/da/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/da/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/da/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/da/da.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/de/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/de/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/de/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/de/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/de/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/de/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/de/de.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/diq/diq.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/en/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/en/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/en/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/en/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/en/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/en/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/en/en.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/eo/eo.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/es/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/es/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/es/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/es/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/es/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/es/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/es/es.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fa/fa.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fi/fi.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/fr/fr.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/gl/gl.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/he/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/he/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/he/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/he/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/he/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/he/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/he/he.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ia/ia.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/it/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/it/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/it/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/it/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/it/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/it/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/it/it.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ja/ja.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/kn/kn.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ko/ko.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lb/lb.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lki/lki.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/lt/lt.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/mk/mk.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/nl/nl.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/oc/oc.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pl/pl.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt-br/pt-br.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/pt/pt.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/qqq/qqq.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/ru/ru.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/scn/scn.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sco/sco.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sk/sk.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sl/sl.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/sv/sv.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/th/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/th/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/th/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/th/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/th/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/th/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/th/th.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/tr/tr.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/uk/uk.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/vi/vi.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hans/zh-hans.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/FontWarnings.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/HTML-CSS.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/HelpDialog.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/MathML.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/MathMenu.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/TeX.js create mode 100644 src/py/kaleido/vendor/mathjax/localization/zh-hant/zh-hant.js diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 98ca5b4c..f7fb46ea 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -15,7 +15,7 @@ _scope_flags_ = ("plotlyjs", "mathjax", "topojson", "mapbox_access_token") -def to_image_block(spec, topojson=None, mapbox_token=None): +def to_image_block(spec, f=None, topojson=None, mapbox_token=None): loop = None try: loop = asyncio.get_running_loop() @@ -24,11 +24,13 @@ def to_image_block(spec, topojson=None, mapbox_token=None): if loop: raise RuntimeError("Kaleido doesn't support asyncio + the old kaleido API yet.") else: - return asyncio.run(to_image(spec, topojson, mapbox_token)) + return asyncio.run(to_image(spec, f, topojson, mapbox_token)) -async def to_image(spec, topojson=None, mapbox_token=None): - async with Browser(headless=True) as browser: - tab = await browser.create_tab(script_path.as_uri()) +async def to_image(spec, f=None, topojson=None, mapbox_token=None): + async with Browser(headless=False) as browser: + if not f: + f = script_path.absolute() + tab = await browser.create_tab(f.as_uri()) await tab.send_command("Page.enable") await tab.send_command("Runtime.enable") diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index 500db6dc..1ced49de 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -1,6 +1,7 @@ from __future__ import absolute_import import os from pathlib import Path +import tempfile from plotly.graph_objects import Figure @@ -37,7 +38,6 @@ def __init__(self, plotlyjs=None, mathjax=None, topojson=None, mapbox_access_tok self._initialize_mathax(mathjax) except: # noqa TODO what would the actual error be self._mathjax = None - print(f"Mathjax result: {self._mathjax}") # to_image-level default values self.default_format = "png" @@ -45,6 +45,17 @@ def __init__(self, plotlyjs=None, mathjax=None, topojson=None, mapbox_access_tok self.default_height = 500 self.default_scale = 1 + self._plotlyfier = os.path.join( + os.path.dirname(os.path.dirname(os.path.abspath(__file__))), + 'vendor', + 'kaleido_scopes.js' + ) + + self._tempdir = tempfile.TemporaryDirectory() + self._tempfile = open(f"{self._tempdir.name}/index.html", "w") + self._tempfile.write(self.make_page_string()) + self._tempfile.close() + def _initialize_mathax(self, mathjax=None): if mathjax is not None: self._mathjax = mathjax @@ -53,8 +64,10 @@ def _initialize_mathax(self, mathjax=None): vendored_mathjax_path = os.path.join( os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'vendor', + 'mathjax', 'MathJax.js' ) + # There is something wild going on w/ mathjax, I think plotly is injecting it? mathjax_path = None if os.path.exists(vendored_mathjax_path): # MathJax is vendored under kaleido/executable. @@ -67,6 +80,33 @@ def _initialize_mathax(self, mathjax=None): else: self._mathjax = None + def make_page_string(self): + page = \ +""" + + + Kaleido-fier + +""" + pjs = self._plotlyjs + if not pjs: + pjs = "https://cdn.plot.ly/plotly-2.35.2.min.js" + elif not pjs.startswith("http") and not pjs.startswith("file"): + pjs = Path(pjs).absolute().as_uri() + page += f" \n" + + if self._mathjax: + page += f" \n" + page+= \ +f""" + + + +""" + return page + @property def scope_name(self): # TODO: #2 This is deprecated @@ -154,7 +194,7 @@ def transform(self, figure, format=None, width=None, height=None, scale=None): # Write to process and read result within a lock so that can be # sure we're reading the response to our request with _proc_lock: - img = kaleido.to_image_block(spec, self._topojson, self._mapbox_access_token) + img = kaleido.to_image_block(spec, Path(self._tempfile.name).absolute(), self._topojson, self._mapbox_access_token) return img @@ -213,5 +253,28 @@ def mapbox_access_token(self, val): self._shutdown_kaleido() def _shutdown_kaleido(self): - pass - # TODO: #2 deprecate, but also used to reset HTML + self._tempfile = open(f"{self._tempdir.name}/index.html", "w") + self._tempfile.write(self.make_page_string()) + self._tempfile.close() + + def __del__(self): + try: + if os.path.exists(self._tempfile.name): + try: + os.remove(self._tempfile.name) + except Exception: + pass + except Exception: + pass + try: + if os.path.exists(self._tempdir.name): + try: + self._tempdir.cleanup() + except Exception: + pass + try: + os.rmdir(self._tempdir.name) + except Exception: + pass + except Exception: + pass diff --git a/src/py/kaleido/vendor/Mathjax-2.7.5.zip b/src/py/kaleido/vendor/Mathjax-2.7.5.zip new file mode 100644 index 0000000000000000000000000000000000000000..96576d23d384d25ccf1e351ed34ad28f9b38e794 GIT binary patch literal 1931789 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 z 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/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�|NOoGM(9{H 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�ga`&1nngLE^akL4c_2|c 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 g(r4{8b|9~IcwNXRFD@qU4TvQq8t_8B zj*Cd8kAI&B7K&_!R?0OdMM&&VBy__^(8 zvb`~oJQ-bP#-j6{8Q~Ia+nYr7f@>8#zKKnVzejVi8M(JeBaZono}^Hbr=tQPB`voG zfv7=zVE}L-kcO|Cp4JQnaw!bJ?n9uG zL>$0jeJF2E-d$vUJMeE82_%x@K}v7QhAYQ10z$42o8+_S{8(>iB>C_tnwCaN>|aan z4qAU=9UDJbjLmnJQO{TYmv5d|OS><`+?Q-Up#%AtMmrXV$QSD$gq!d7^TEZdhuQz+ ze`4DqQ6>K-I>Udp#{Xu#{vA*MPYgk`rp>SI^?zXq2B)TftLG+N0ZMaW@|FKBn2^m~ zK6!ra`2)E9m9@~H3X8JGzqUiTK?BK+aqC{(|hCuG>qT(L6G}{$HP)+ zf+MouD~Lztz?{pzJ8$8E3Z}?p?LEzw=rw-N2y6a;BR6Vppq=uv(INpZ=G1{WbTXuw zaI$Yz?{UF}v&d11tTBw7Av8nwF=;UMJs!{XDY^KU7RGfjaM4Ie7H)ZF#~w3w915+U zct{ei@-GviA=n~AfdKx9bGk6bAcrPRAw&2m%8DW1DYPUbEZtEeO2ThkA``!kJmqQ? zWj2^#_iUQ)fk$7DE%WlJ1JOPiTawFK%*bk`3-9rreem15~_Al^TAFm=o`WICeO{wi4_CZ)^4q~b#K=@ zkROa)-6ao(wFSXPqa*}YX1-1!Ne;wYSc;XjBtn5od%=MNc66%4y#>k)#cbRyV`Pd# zW5F5GEX0nvIZhz?(eAWKxl8qyr{%UQYisMb?fsb2o! z27G&?qi}&_?VPvOS-RMaXXum*gv{0v%Bd;q(BH$HZID(F0)X0=8R4g{v}+%3-KOio z&D2Ns-KFo@j=^evE3>}4r2FaFlaH9E=98N9ftEa}M4+4AFRTetyL)9_2yoAw6DG4g z%qaJzqn{O|6m3(o)rJrlfpiJi64`QVgKDW23u$+h0~ZY3zl%2k#~f8BA85l%xFYDo zX-2z4g)vg;6L@Wm3H#TSjDsFPMLX*gn*WCER!EZor5ITyiD8A3mClF&qGNsUv*!$mk(KKQbkz}Wuy*B z6|tZg6Cd*eL%a#Lyv4LUIGZ>(L1?4ClCld1xvM(m*j1$88K}t$NG*wAA*C zM}Ro4+nJ@~fq~0)>#>FmunP#0liF$kK(|=c>UG@b-CG*y=VbpT$57&)6*(T0_Bl`! z)!t%kiky)Jq`^XRTrIm6#z|8W?~c1k@{`WUgrN%8=)t3%9g~Sb5Lb!_1^YJ`BbRrw z%1?O}{yAxhiF_P;MuI}FS`3e?N^6OY$D?#}u(aFVhoXUE$Rt^spfxQ`a9HxI7Eiw} zgfnN6Uk-F?-y?_sx5BK_m#fNgYC@*O{UgjCM8*{gd1&^uS$T;ha)mIhkXj+!H~=Ee zy;srM!(gO-^8Fb*BQ|~0nhm;-TT02h_YDw(BvO6JQ@cY^TpK+OC{1};t&_*jMx_vc z6}xjp1-7|wjN@7)4n1iqXJ>HR+#lY;>sl}*%+f!TfT#UzASb3CYsbo z@6{-Qj}FtV)|){DSoJjya*Fhm?WJyRQKMe9C8*a|Rn+ms&rJ1zTm~T}Z(;u$+!ZcU zHjaHoUS*R^qs|0A2`lmT~=l%v${Ua_e>Q~uX7@oOfan*7PVJRb#PeypLc0y zn(p{wZ-*%ssN|fg-Pv0NO>sn6g)h!0AM7D!tKC6Rs=<|9ynWLZ4h#g!eE+Ve2?Prp z2(IX3KP;6zJo5}Sj*lXN;m)bxn=hVsi2nu+<~BKCF%yl6t(}EI+a+?$K7Ql6iD7tX z4tLwoRc@`Nv))4V({Cg3#5aFBs?Nu}|IJ3`>yIxV5njey#y@X(-mzVh`8ugbR(m-e zu)?av4-#Bg>*gYInSb82F?P)7vPp}Ce3m4zK4U$2yIlP@ww3ooz z1AItZA|0VDX>H9HH-{Xm-k|a3L({{E0rT_W{E9x)PS#5@QRym(yFoI661r3`e$ee+ ze%Rq!YQg&Acyo9@G5Lrb{+Z}0AW3_SWVc``Ep484yqf$*4;sE~|M`D=v;O}GgP8p% zG2>AGk6+Di#b4NO#ovD+X8d0J{~>0mZ8{RMBlx_iJIkt0>?~dRU;i<^<}pN5Uo)`B z>`IM%ATR^5ATH9>?c-?v$tlE)?zjGoyGoj5PKaKcnyyCBJ@Nzf63-)6SrA2L{6awU7+ZW7h_Z zwKsGT)I!;g^|vWE;NUxu7sGF9;7E~cX2t{xBDE%{_o`xGUt5l|6*UptaS8+%r^jWz z`pig+3n|v57Nf`zP+U zaW0zeBs7=Xz`k$q*l&47*I}1xleRaTysFc~IOf=fCqq!1D}zw4XEYJAvEz8jh1IQ! zapa#+YVtZ+o4JQ5LtOq%^LzBld~@VS&9w2$Q76TIjo%b*Li${7 zZ8?V~`r649Vqe6B-n=J%TZFetU%>D$;(zUTCUIyC3V!ym5Q2kH0Tp(Yont$FlZ2<& z1T~P(4$B;k$xZWSI%QmK(42X2^Q^^b@n8OURY6J+=P)15nI7{#n*XIo*E-(nCr7miPV*-R*$KrTV zaQsSsZK&#TnPVo98FBxIJ*mLgwhO~VTfpWh&AnLo+V~V zo73YMhv{~PLlS(Zh$BzzFD-4@?iyEyaJ7skQ`tWB{i?Y|DIsQetVFOK2Ee(zL%3A8 z-JWL+0WCojY&Os$)HJ2OiH?rxQ)URW0r)SVA#Uj&j-ltnOENV}NbPab?_Q zP`3sQbY|HSBEZRjLXA{2#ldK9M=Wj(GXPDY@m~U8m!eqRzwJwglTd`Qz(8ICcp=ro z=lz3i8I0>rASnZcFX#HX11daL4K~u+mpYvT(J`5Hi8X`s3+$w=&L;H?T3x~@>HGkfd9u8CuwBuctXG*&_iCc- zh(hNLg2te=F={90qZrM9`{JFnO{GIP7Kn~4L2A(F_j#5 z@&NinQZve6MZn>k^ojZM?fKSf_!{#3ANjXctU?Fc-y`qncUSdak`cd0p4tCGy!^k( zh@9VK#NGfV&N?H5vjaCwPGa5;j(PZ!*)S7KlXJ?tV$lRT_j%k;4>2jJV>T=>8Agl5 z4)4nrHSg!i&u^V6KY;p_t*_CGa6S{+EBY_yWw5zK{&T!Zh*_1_LhldFW1}%fte83Z z;r#h;j<*h!0P{BuzLi|P5@=2Vd$MN|gGB==Pn|L^@5JN}Uj~aA?7$P)gC3qyc=jsW z=dJ)J^$eh-X%7Y&jIH4m;QxZDhSnA=lbpOKV+O%(%iga5j0_$Z3mdMbDR%#tg-WZs zGokO#WM)ou^RfxY*0n1mbdqs#RDPN0v^`_4E=^(-a=|uLcPdacV013->e0gmpoVA@ zQwvc;;I)9IL5LVvfbea=qw))W%XUDUiWM#y=V01u@8 z*hP~Z7@&!39v`1pTm8G59)o`ChId+(f?+SI0w;PZRpPagdocmPT(6Nnq? zYafDwEpe0wE^o*Kyolxs$#f{@o)b(Da_CX0U?CetX-6okB~o_2)=-KQK=IpzO$CFK zx#l*wqua9bQulevv9x24igXqtnvZ!cap3b{j87L3g#u^FRv>Z#aG9O<`LhGoL$U&c zz7{%0F6`0TL%TsdcIaWpDRP5m;oii`1gSxpK42gbKauN7KfQsnT;ZbkJI;iV^T5~N z<~zqCG0lg-x{VpbqRK6{IljU%|7v|{QPqXnzy-!53DZl~Y&byx^Y*<^O=qmKv$7(l zeVU_~Bgb8QR;iOJ`hEi%~YEUk|ox|p=_-BsV%A8l!GHpL$7Vf4W1{T1*&4hVuBrWT9#1YU!LmW9m_f7 z#mn!>20aH-1%k4F*rO36`_03^>-2*Zr$5~QawnwmE-YFMJKPKAxOwA<54?=R1pdaA z(Gl6%xr#B9K)1iK?~zgLAS%gp8ZuPFgOL@1b?-=LuvW$pz2BWRts~3fQ?XcJGc#l5 zPTVRe>vHc*sjFd$ZgTuoxyON5ToyM(R8n;y3t{k4R3egW-WSwpMhHBJohUFOyN8Z7 zZFq$fR#Mi=)JZJ{LLUyMuD0ux56I_AE+VPabnl$|V-3htV5c0GDvf>eiWUpByOSaF zVtT>Y#Wp{kDM@-w4oEQj5;c9?EL0AU(?~u)E2x}iL8>~tb#tpn1>s_8Zg->j!A=&A zIFpu54uh=7nGrJjczm)*y<)u+yMORXxIabq>- zeXk3iPoQ4-)h$qv8OF^ER@EcX4Emyo1BZh-3ww>3rGk|`x#4XOlUCB=@Gjtfv&@v{ zo=Gd{zg8exK%TaqT)m|Jc)#`n{AcD{Blec!5)uF)_LpTw^8Y=D^?TaI%ZrnM6m zC)(HVKF^3+wBgtw^XlKx9bt$~!yw%VWso^ra}Iogwt*~GgoIUH;)LI>6RC?Zdo+II zq15mkE$;Sd`^!X_-wxRccY;Z1+YnEQuph*DxChmpE9%n~X^>YAO| zzw;m#?+9{2cUM3+;>kRJAVQ3gIkrMc~N^esnu z)6AIVKPp%1;NbgBXoLR&!n2zNIYebYjs)EWh`+foyuBS*4ftN`>OG4k3i?ga(XF2k zpZ#IL)cJdRO?(;6*XRc?W)3dXXT>40MF)EhAV{jIQq=ElOh_d(<%}>vCrV__6yR!= z^U!YK)Qu!2NZEp7Mo9a%A~dvgXyQni9m~*JsYQ-)f2;YobjF^Vh?_^2Jd`@~t(IPk zd6CP4@HaBCn_K_d2vz?W)7+7r%jIW>n`BpnYn2oEi0ed#o_T5_!Pgn$+yizYP7S@B8u+=7y~kl4rdOMpF-OJD6AQuMU#g?9@Yu zLJXv6eIe~F1e|`c)c(qSk}h<1$X4Yy(;;Mghs(?ZYHGN;1R3R@TS9h- z71*_hLo(2DV*F;z(?zjXI~nxbJxaUy=$)59x?C8owHBaFZJA@9)%Na&10%30YH7@| zFXNQRkH@RZWk~st$SP+aUR0;@9)AAs{y*9pqd3Ji9W${p?{@16*hf@VbSm#(9xvj! zj=T&fYp+1$KrIH2m`of)C)^hl!^{eUs6ai#QnSeVLM^N=cOF&TL@v(8q)$ zg3GtrG^uk)p09Uyn2-Sng&J6DfWm6=v(9j#H-q9(?Eqc328oC_8vjf}1wO&-wapq} z-^no92^0;n1P}uVp{~H#%vSKhX-U3Jjsll@h4kjcMX>G{tk=~8vvR&6BeRT%i5|^u z?P46(=pi&px+>NEH61(qhZG^hw6jz9qY#p?kJmQng5Ow?Rax@KVoa>6j5IxsQuQy?z4nVG(Gb4&>#;{q2wGqM+l}zQhwU zFwo__728lGci_u9qwnd13(~S{#J~>L-RJ`^FzTcR8uPvs1Ut7l@AM^J_cLJs+3UA#Q zTN_!GBtn(rvte%2cB!QG5068LmLxE-*Fz(rc$8*xdSK(nov^a5&}(Ri+Ow!ArDt8k zTS{5#czcGu6_;EkPg)CSH?)vPuiMYO7>E6-g8f5-sr|vq_0h(Y%K&4e%1q(Kn`qm^ zRtK^J*u8qa6JE<(NqON>pab3lGXq@Ro{70S?%sYyO7+2DK(EGv&YgpS;4aDnoBZl5C$jQP4O zxhek86AARhR~h3PAv9Y^-Z~FNuI?C@S35R=oHu*qyO_ZjLw-UPx9ZNOVW->n(q%T+ z2`=N)wK>*e30A!(*$K~s_hUo`T-KLm>09^^L)4t;2S!>+J+SwH zX-cvRc-pVzKRGV~n4JVp$6*sTIOOH}A~9pCdJ*XxnC+!mvPy(IBx8MrQYN+15%M9U zGkM?PXKcrCq#QrrruGb#DYxmSh)31H!HHFLs@y9XpOd*2j*MkNk!&W+LM4B3E3$s3 zJYAd^;g)GM*vNV}5t{C%^KGzU07YCHv#m=ebbX8e0^(*c3NFb1=HNzJp{x1<&!Xbs zn4>zr+*b_b^9eyHSh%Y$C8J`M{yK>{I|deflsLISDxK4Y;{m-xFIH_2-GmH}`RP)= z`Ye>6JmrmUFmG4k@dzJ+-(igzNW>D^Oz^N#bw;djDVeHORuI! zSxN58QkiF2Xm~1($8^yHWdDj^-asWHG(<%VoR6ubn}h z5w0;L*BCCdVAE2aCiS@-YU+{GD3y| z6y!6^xuTVRcux+I*4os|v2s8_a601@GIEUB60SG=Z16>}L?H^HPAUTQ#L!mTM20ZO zBfP}k538ijQ7FD-q8W*i=c0p1oZ9-lEtalW}4JMcZ&DK zYZMMSB8+x4kvK}zgd5|{N~hyP9-vs=bT_x3zH;bjT>L(H*1tsV+X7m-(IQ0_>HPv3 zhPZj2UUmOfL4YQq1+WYEMg)0A;c+C>o+Wy@xna_de;~5a)K9hSTURzyY)`FMtUd)p zHSOg{E4E8wTl&;*e7(M@DJx&kj|rIYPupv9HQ^hm@!Kec;=6P)0j<`~vkLO?-PM=1 zwjR`hCpEtF%Ld`q+|^8m(70E^>M5v%f#z9%)uKogTUEk4!Q-(pi2o?Q5vgSnky@-l zp-1u~j@re=3u~^pOZ!rOW}}i0to=BIdL9~8fEp&*xtU*jZnj=T>0!Bu6src?KvxDCtpJr@i3$XG&6!B3}a%LK*BZKpLy z*X!fm9Ykd5NC;owS59H79XbS)9 z0{buEyWgM1{{Y{0tLfTpiXnKv)M`LbP@yvwW6&aX%2yZ_TH&7if4j-{eDQ{(_(beR{dWTIuuAVjC-p{Q zsE7JzjL=;p3MbX9Slq9^oZJ=A(UDB1 zX|GIviytFiwrq*Hxc|1TXQ@<63XI?Lg8##3jtHzqdm8W`%9SG6h+@MkPF#c9Xy>_h zaW(oaEsPissNeb^ryEyiYr()zSAZnsNUlN3=u+Hw8xCA~FUH9y_veq}PE1|++M3YB z_18aAsp>2pSzUOuBdN$+*^Bn~0Xu)mYrTdPU_)MO*aCq4C-VLu+TJQC&vjYb#ogVV z-~@MfcXxO9puydp;4Z;kg9L&*!QF$q!~RIdSZmI)|Gn3&ziORQ^_@`tcHiB1KYdYR zN_J6QA%q3X<=Tw3>I~u?&rU~@&nQ)MWQ1C=B{$?XV<1JQl_Vv*Oj+G>Hqt^b@>@J7 z>Dp*Aqlz*z3oSCOxpBkJ9J)4*Egil%3yhg3%eYEqZ6BN7N|!Wi#@`A>21F`54P0%X z2`Z9t7X2U-vCa;Kk(kk1;ntLb`Yfkh8Hj5W*6SX-Mo%Of$M}^^Nvs^*&F?a>XA!z< zXo6q_hl+4hl$eguydr%W%r|QBV2U5Awp6Ehg(H*LE+o6uGvwcp&CJU1^ zIEU(xr&&ugfXby2BO|mhbb_hXrlqzi%D$qKbG_E|*&<$o?2YR#>E;rLl?Vk=g<)!I z!;0+z&95y7-K+L5s?khF!Egljy2XAcR)-5Kb21cJD`d=*I^14;n1}&7(iCPmyD%}v zZ3zAvqKcdwQX$WjB>(G`a6~x@{BYkIeTT!DKe4CffZ=@CVHCJGU)`Z0}c1{2X zp+#zCNW+L!W{E6m8(%faml}H6VR)A#bkEX{t6|DO2AREMc{Aa&)j4e;e00F zgun`Bds_|$#B<|N3Zo*3M$L@wV)p85OFN^41BI|VcPaH}+LtHm%*$O2%?g#M=6((v zl4_(~mY2~sLQ}+j?yivtq#(I}q-rSW+X{!yYw}`Ag@=Ihd0asGGCpwjcKUk0nlif>8YcfBlrT=EK&XW(`NTiWsez<*Q%uI(j4O~jgq(8URnDx7w`5DE7%+hpPp7R?g(qp(4>PW_*VYsKQm)Ih5KM$X0TKC?!ho>}VOK(?WPn_@zP3j|1 z!d$W`QWw<}HNe&f5_lM{7Aqo4Xq!?H_h+OEk{XR0x!jr($`c$aEIy6+`nEE8w~G_Tn3RLOjYKNuAYD3eS9d#pAoCKYF1FRz?+uHw5bXXVPpUee%8s%i1n1ulT4GApNW`aJ(#8NV&t_H(qB=OGa0$h!Q4?+NhJ!}CH+DMS5q;ylG zf#cp`p%ZzQJF^$177gX)HRYqSbL1aqmMplz1#B5_yha!G2neo2 zIQx}^+J5#d?%dM|EIHweLDIFyLqFL;ZFeWX|wV^=%L)8vH$ETIFl zxPx>c2S|O#A}|)A9f|u0G(ZZmx+u&LnNWz#m)i|QD?%3O{k=qGVQ%TBQQrtl<@ zs_MEG;D(CKhlHFg*N@+4_L!f6Iv~SayuuT!7?)PMX$faFiFGY{i+ms zT<%oq?=w?PtKAM+=vTYYP;^W2Bsgeq2%Oyxa)N}xfO1(H8o4wV>UWO#G2Ml_Y+aVQ z+RShC#SvS!JE*+=N`nKFr_6B#ULTyB1JsAu>VmLbZwY1iOso3CS62YcN(BCA)Q2%G_t0E64}fE@@nKE^!phu@CBQsj`@G zke>87+Ol5VR~s>HTFIaF&^C*W`e=M#VfhFqGIUGEBwN%NU|vPR9ysnH6UGrRb;RAF zo-{q4_2FBOI_uCq3JMcE_pR-?B>GN$8U_$9Bk#g#wb0rXP=ekt(YBcfx4c4B@G2-GEbAnwM@5?;F*Eh& zCvXfktBp_q>RlxbD2jbg-@$~QmV6|9rDF}s{)sncZ*eQ<)Xd<0=v}SF#w*nkL zw)FU7(e7LQ4n!GBSJrM=^x){rYHmpAt;*BV$@Wo{shIhaxae`v@S%Pob}N+Clrzy9 z=w^*GK1nuHVnc0Mumr5>C}@P!XrJABU<4ZEAWCs;3?{M<1Ad*9-~~x`Y=(InzTe|L z(`iZU*O=wt&&j5jB&VGTvrFg?92jiEhaJ74*#+#gc6xC%l->k4o^X9XET(CQ!*CW( zEtCRkk3`YIdXof@T>T{2MZ&83$Hq38?>gC$_$*=I8es{GTAeo7o`kXlGu{vOIKWQh1Z_ES=WvvG?HtrCq;jmjNuA{7fwNrSWr3K*SZ zEmEaZE%seIYr=IrNtBT7p^QzV=6!%K5F*CgVsv)V~(InO>>s;a_rg~wZz0cS-XaI5qF~dC8kYwwd)Ts)t;DMVWQ~UOWT0~J6 z5hEj{D(eRl;mpFEuhE)_@l=xoA2x<#pY4nl4!qrJV*pAcNM1-yS?a1Fu1I+oK^Y&g zHa9Nb%^Bd8LZOJDZ!ByCY*xhotPqEL9KoRQGkcYSdp81E9OcIgh-wTfDKn&?3FF3S z5lC;vSG4SDBhX{&&PyWJLQvR3;I_H^WfUuJi7R_;{gdT#DD{;KT||U2@+8#&;UKEr zc9-itAI@-_Lg^ISo0iR3qAq3z@F4rWKwmY!k;k5a=8v6zzKZ&@jC+!4*SNSZIG47H zbQxcH@zxOA+zr#)c*>m4@(tQ^zcbk9U2$_BA8*+Zw72gsx4yJgUNjg_7j0@nU>3Q> zXvq%mT3b?fZBBn>l16BJ)WyIE=mhdJ0(rc*>Mcg|@8qMl^xzbgN3O1+yMs_Eq*kh0k@S zG?+@hyE~)J_PjY{m$71owO5!RQK;&>o*3NTyfQ@+iz zuE(o%I{vRMi0G<`=Yw>G$I^D`g5@O{8tRSY3Y-)3Uj*<*yNAV347Wc^v^EF_NyzW~ z28BVYtzUT!`4x2}vw!uU!c7mWc!B8dTaNPx5C|R5^%VS|8@sTkdhVyxB9uS+k!d8O zMp7nwM^P)ozxw0CJ95vTT4eFws<(uc`HECupWHHrXrWqrNg-4OTdqQsI@9*J=8fm^ zYG=P-HOujd=CzQL2>(%1fWvX+-hJh1Li(HYWHtO7=)dL761MgrWaY`N!|o%E1fr|j-13A7>wJI)b=SasA*)Y zew~hBd2hUImwM9i0dTIX?`o!gbGyW)J%L+T!??p$u-~)!NGo~TLsO9@*#)h}V>S#W z)~#6HPilWNZ9IY)|0+O_d(P{ccCn>C-pWyY03t%KH|(-OK`UV;r4G6fF1g9B0i`&p zLD4W7uhA^RWXH$)`*>itr$0V?7seBfWDvgHvl=lAW?+w5J(Wm+jz%-yLB}j&6~*?* z;qfI}jr*519J)>lifBA^;YX`o**aO+~ePfL!1kJPZsft#lIT)H8%^$wYo zDDiQy#%>bXbH_pX`T;Xhz}<*3XN-DYd$W8QeHlh zvo51AV@JWR?5#Ux@tEzKBcp#UNn-6l)*QW!1*GCAW|}<1o_GoLz1K{kE51mp6lE&i z6ir%Ex;vfXGYV%qz>3*MQS#q*})Xtg`Zg z`|PqRznYywA70`^K_yblsy(g6nn$eAzL66B{6cjjIw!h%@0z{5icba$4v1r&*u z5slAMa+1Q%hjbE9&9K0|O2!4!Pf}&zQZ`cK4e|YgvlCgX9%N~K*%6Ie5kapz`HB8d zSzzYmEdqlt+Em(BiNi7E>srR&J~& zsEaiFL~z-zq?!E4d`iZaFXPx$LALgKpXHECkw{Jy9kKrc^`V?J>?{H#)Us@=r_b2t zhYwzq*!Cz{sF7D<*bfK5W=SM>R%bhin<81-w7DI0v($=+U7RN|CDpz?nEUa@M+eX= z#1xb_dfM&22w#l56?-gS9p7%4*D0U)KL#rjEE_3Eh!a?k)Z{Ec76DL_ZF34Sw4G;8 z)!;5@z&m3rb7k###xlKL2PvlCT~%bTctSs4Qt<5~p4~MeW!=^*$~yWe{J~ zkAUAj$(VXbDthEA;aSbMB-6!_i*zZ`Z;#)iqqa1v79=*~ z-7itQL%FD=gh}Pu_vsqB+;vu5>4ic-^6p&<@ep-4(b0tFs76-I!C0ggHO&g7ZE{*t zQ?$o?BAU#8&TG}A&s46!w8v` z@&0%zXtA2mTLPh>%>om1CzW34hBv=B$9&A9gIsi{^NZKKXR(E^2JBY}=sqVQ`NJ$x z9|;h&HCPoA2T)#VDGL3kx$Lsgn(3Q**=M=hCCyA=yfBQzs2aVZFF>;C=;1hg^rTf+W?Yvxjr-Awc(PLR)@659bf^C(zyDt>vKpKIW2?)lezogA zM85%k``?SK@8~xMG@rBTmP_T(x!O(dS`#DoI!hk`HJ={$D)qpxwjTFQ`jQ42h zbh|J;cyMNQ0FLS-K%(>lj_N1Q`5tIV`41aGBo9x1CUwwo67=)w57cH!p${(O_jd#} z@Cn!Tw&ILw3*hAsm`0$E6#0XGgY+)~EfYBK(UhnH6QWzK>MSj}&`x;D7O}^p;3-BvM{z zrLf=nPaGb$itx=m@8 z_4}y4_G)+?IZSJEK(X?te&-+^{(MCiv?Pn$X|}VU3E#i&Qtjxqv6hAbbr-*Sz2RTUpfeu=I1P2 zS-i2?R6Z2Mo1nZfzp~jmg+q;R3#wn9?@DIC?h*f8T{Ld<3I2!3DnJDNzmQd#nGv7g zDKXil+vN@P07?vwD(}}+#_V@w75V=GSrzm*vI?sCi44K8tcdb3)uB+8l5zB0+rb=i zR!3c2xE~NadVt{hicu_=v`Dp z92tWZkdCe$-Hs!Un6{8k4nXi&Mal?aG^vnm2pa8vMw95QmO_ytVcBt8737tjj9{jM;*U932=*yYd~(eWiQnA7)`)tKoRSome%Ut&_^|bZ5~sH0Ut9 zPo=>pX+m_#1MpVrmScFsv(FsGc;5`cUfTFgEg{xeJn%a%pPhq`l_K%3usM{sbM7kR z%WIfDu(H;9V+c4s&C#du*QHLgn~4FzbLOT0bP=0V9DQp4@4=J72KF26@gE?o0KxMQ z=MI3Zik)FV>bz5r^8S@?qeM-dn<>;x145phK|2TI=#XXkOBIlW78}0aeq(;1)^*(Y zj85*fH+JH4@f})h^o#Wtr0v{{k@I{O-`8 z_n8506#zon@hw|U?^~ctEGW7mz^@zn#o$6$B=849*^SIW+nOt`f3bm!BQ4%Hn*)GQ z)^vTZ;%mU8(CzWh5wL_z7A1+taH|vOF6f^2S0TF2qa{-Z$xE?YCzzeNryKH-&u@-F z%~lqdY+ofuX~A`wS>je756G>u&S_5YvAxVa$Ys+IyAsW$t&+T*bSZ&pz<_)GT9}vK zOtC>egyJo21gjUw*6kdq@*D4QIB1Ueb*(i6_nldl6~8>(d2Wj&*{2UO$XWF{7+M56 zF!r5)Hc}Tp4PaKGv2A+d4_G!x7`#I$yTYd}&}U9DdhZFkL@uHsC90dFssP_ zW>!(|$iZaD?V?X0JH3S2dgO{Y$2C1PrI4A?$rB?^H!9Zq#qPO_K@{-Gzh07L@J-as zI+#Yfahrjp|Df+1?kGXNKB|SCgIk#OJNjn0)=F}sbOl!rh^5V(yXXQDrofV^hgAS3 zhRGuZm2a{#_w-XDn+u28Z%oXKm~7fVR|YBe30Wcmr`r(#bRhi%>1vWT4&v}?w zH$ENLS0tO9EmvE@Pa<~HDIO6H7NnXnN-pY))JAzR_WyVxvMv%#IRn$KL}%H?aPfY- z?AV6HWYC|%0dj2_4KnI4Zpx@hbCN`*^bi84REcpy*{%Sr=S`?cxIp30hZd_jlv9Zm;i6VV498!Y0W-M+686X~K`!oy{OJ$R;g)5F8Wi7C#PP8b5JWF8_ zzinY@4Wh_uZ)06_*|l%mteuKAZ1+J;Ppe$Yo{1o;xPFRrx+;3@B1sB5;8l~spYfxc zfKwrQB6x!A5C#*l2|49>nas=@Ofi;zqoA2|BY6N$W{@QLLcYSprCQ?m4O{S0yv+>} zW~>Q357e=N`X<3oSQG1OonQKdUHk}T_qV6uPEQRT*zsfbx7(>=?1(bDLJ5D&7~)cz z!Q)T;&^f@0qnyDml1%TyE&?3UsZU56wH!^M9XPlzC!&F=I3`8M3k=ANfKT+aC0CMx zlN)A}Ne4;%k=JTU(kZ4YfBKzTB9&}N2Z>&p*@lbJb*V#Q=5`(aGyHCUW?9m0&qL*T zpF!!d;l7vZ=r72{K z5U^6Wf-^u4uMWTDSLFsJWU^@mWXx{UL;Kz>EY#Kf(AwKEr!X4chtOR`JPv1XVy78Sczlz+mwrB?U9a&mbdmXNI8Plo1)P@@ zis^uX=Wnp}4Qe|LTo7jnI_i7?hJ`E1W}baBWL?w$_N&9k8*MXQdikK0r12QD6`M-@NB#j|KH zD&fDK>_`Oc2h)9-(I2f*Y#pBwifcd|3Hb5Y;{U<^#GOog3u&C_eDm=U2gKtBX1Eq{ z-9m7(S6To)0B~j_JJg(|QHJ~c#kI(mev6y&ke z3NxrrwX*1!@#?vivl2h$>xtffY;@FyMQ^?%pZ)`I7~os}S8G&x%I*t5m`M!C)1HD5uUEs0v-Ac05MW{er+;co_B2QsOUq*s-Jc`cuZJf1(XV1Ii90|1|J{%F&x zGcAdK)20C6Qx5?66cZfIA7Th|hcST?WRD{ky6`|^{im*&DJM~@> z#PjF>st9A8C@n{>GfQ0Ra)JL{5jccwYr@Q~IMQP!+}2$xepiGlKt-5`{9O@b|4|VN zhk0u}x2^1Ic83aG#j0rT2AcKA;QbJY_FF(OJ|L09bp=T#dC-mMCh2{&S8jn-uV9cX z_yhnxjiy|vCW(!tx#<%}oo#xd>3{mXgM%ORG|j>sr?AKou{hNQb`c#G%@^^mP2>Ne zP2Hvez^6ajRIZK9>|L7{#P{TmB!1(FESjjNWz|{CUqwh4*aJ+}N4*FHnh9e4GeExF z6TTphas#l$7TJbu;O5lcKI<)IPTax!J%_6!8^M?F=&<*ipqU6jhneuVFID@!@X3b# z^96g8+K=@A5I_frqkpj%{{=wDS2WltOa>N|C>hC67=zZXg1%Lw`Tqx?>-!r(7qsk) z{8Tfmlyoi4F-@I>)wIuE`fH;HVY0OfAta(Qu(sp#p~>Z|6W6B~ggQC|mMFmbxcH6T zfmWOd02`+D8yi+0v;%-!_p!62R0mr!_&dU$KLW5}dD|QZIDfEVbnnzCuBuw{dxxW$_!}FBK9XQGW+XlJ`7dl(@+#I}*f24yV~^k1FtZe4Kv?u_(WdwhUX4PTj@WSn1bG)b*xXf)*ktt&<6N^1*}&!=+zEcwLHdS4#vFfU z)>lsZRh8hZo|yxeTL296Ijc|v@tLyKYwZI(eoW_?&&iK(d^v32|7NR$06_t<3SY^9 z%4d)MhXA_wZ1isf)c?*$7fEtxbrLg8*Wu*p!zsvAld5wKkUv(C)MNf7A5s5HKDz%a zA3-`V+uIOIjisZ-jzU)o#k>RPKBUcxI@o)is{ry5Ad-l`eZH``esJRPe1oo|yA=s~ ze~3`7yWWU|m)ws>om>DczENtDNub*wnqxtW54UXq)(5fSN`AIg{u@Ad{2M@r5?)h- zi~@XzCk-hCJm0PaQ_LYmx6;I0S^%w;&>kaFjZex`0O*y!IFm8V9~C#cR%Hem>dpgO zlS3|{<6+9(fx?hen0Dk=L+uS3s!`$f)OsFwJ;0!m2a-As1J8@|RN=OKqre$uorv0*nUYrU_-2^-K><+CPr+c*@MAGl`bPhT`c@=_n62UYr;MK9D5hYm%f(y%L{I-fL~R;C>jCZ2o|RC#g8yKWKPBag^%`<-0mbQyZ$OG@26)xNON~#6DE3uSkK# zJO8lAcCC{9oyR)Z>0&$hPSVW!1Bm8<{jYKula4WJtSgg##}eSn>*kmN{N?fN#r=0V zv;vevP(V54wC_-9{X3BrUuOjcAzo9Kdadoi;m0h-cHLgB=g6UM{6kgwYvf3Yf&u{% zLH>^&5+H)?jR74}5#Z41G8@wCJKPEh0Jj=qWUz6LL(DcV`16EQR2z=PHAPdQa5$A? z4e*4sKo6y4yat5aM44xe*ZuC?L(2C)dn)i8NQb%kC7PE^$@xS7Iv|Uoj2(vaFUwh$ zS9Bux{}jy0>9yc^-nC)jdBd)wa|0@T->tc?tJi{w88$-D160EJ%R-~fVmEW3vq=pn zr~(hDmt3Sq?Wsf2=-PP#sV2xGe2+*l5?Y%ek#5MCWYE0NM|BASR53NEcG}!lhFds0 zKCl2i70*W+8KL$?Sk|B_^2@-_R;x_1_EmZ_*TGsgQ4(C$FSM95i_}?JiVIm&+T>FJ zEObAtFlY5$H#JOTJu5iPB0>YO8df21iSPn9X{JIy5CEZx&#bZiJA$10nefO_b~5|I!9BTHq&p)F0k z#~OoHDfwPcMb;^Gq;*cT;^iucIR0l*@%41vcwgxA1V?nY%dA0fQL68qLNG5^MdFxB05MKbgBB-B;D7W zMk_C;S8r?N#paWjctX=~p!H0}3S|q9n6-zC*Dz2u_PTg~09PufzEspzUV1er(g905 zDy{+s6|ou_uux*sQsEgywK z>e^6ber+k>;OTsfC38_mFvWh={ODDAB<0z+gTWB;1s>b->og|I(2YIQ1-^(7%*i1n5bgENlV6cEKa!8 zDPQf^(!0O?*SP*~HQ~mdb^8o}B4+`<#Q))GBj79i-x`>fnx<_wZ;T_9wpPW2L;zCw zZ!LNYNZ}6uv$}@EL0Nn0Lf;h4*pPWG^kxt{>Pp&!K=J*K1M{w#Uqd z>-q521bUq`oztlKhD@~ITC-Sr@A!rx0L;$expR=ED&p=<1JI%&fE4~)i}L$su(kbD zi&DnHCA@3V|6pPYh@SubiRmOs%iOSSi=xu*Pk?vhT{V&z|F8z|Zh8RYcR${&4qwPa z0!ZpV{juRcy_?vstsX#U6BF`Z-i?n1r(9bAD8K(--p#Rz|7Y<(-i`2I-c1+pe|b0f zf4rM^=|A3$`~Qb`lL+W+#MX!1ranxZaVrF$o9hi~B` z#_1FUo@->7L7-6MiZdP^|0Zi6$|cb$4rZaTWDV0~lkPksFP{s9?-AKv+0sdlYGn%% z6j~RUy%CI^MZt;rWIykUviM}1mTeAWoVblP7!b6>(OhM}H#YPt%m&JDm2V-R_9Ggk z$CyXWHe`bR*4SfEhTyWr_T486%!fBLmz4S)N9MBA zlbdlb$5!87Z=P6)U;nXSlsI0(>;PCWqC@x}m$(6O^siGEby)xa5vlV@{rEtsq(GvI z+ZN@naM0$c=CV?SYvvNrpq^FvN*k;(8x0kmE zeBd|GG?->jn$yQ%IZpdi{Ahm`le{Hc`53fBiG760LGx-{B+zzq!$u;dU6Cf zwssi21tQw{tlqz5-7FSSHQCsO7JI)DxVtPJx;2TMxV&)&>@_0lJpLVVp2vgn)B$TVRB4QGQ@i?UBGY`RHS~gsi~eog%4xL zhl}^179(8;@H)l$xLdr%GcL)5BPVIGrHRMXt)xZK#?UFM6!Qt=aTAoV*gc8VHNl3X zhQO0gxh=prt9qc`V@sAEaa_88ESF#%Pv~%~Jwq=yD>-3E;O=No8eYuW!9;U*)Mn3v zR0*B_lI!d*mSt@y5}pJSfu2l*k&+Rsy$JQz{&P3eD7zq!eBVN`C|Dyh$|^GIO=b(q zZz#Ecv+RUx@@v?(K-S(zGiYAYp4O@|;FAdAnMgG>^Nf>=rscq8_Tsgm(*Zp>7GU>E zwKNpL((cW#=ocYK>T?9R5a3tIuT4(BB;N)fI-_uPJ*ZGugB)5?q=%&FHCz2ogI|RT z<(zr?KKqPEf4Gt+Q4Z=7JXPVl<@t(FfqLjiGd^=9&D3~a%ZWMr7{)o8cqFug=h|Yv#eOYsa&tkSA-j>7(4iLG#-WyiAT{sE z<1=k*nvo0>A-_%EcHmPDkqsJ=7dQM@g@7wGh1a?L6QJ9%&K~Q!a!L__D=-#j`Hg)S zg#1r+u899%lu)6X}q_c<_O zPbR8?CwU7|8YwKD@x#6lW1w%hQ1J&}04#7?*V2?F$u8L-x30eD$yr{l?{pbk_hUz8 zBg}kSAJcpE_4#gB)|#`RpKj)|f68m*bogDt!>oPdwD5_E&{BJJ1#e97ep{rs_>!0E zVm)ows)|-=N@YRh*Z`H&n@9w*=IY%V4uadLC8 zSUxzU)`Igpq{NY`*Iu@?;=!{aW)}m!chQSQ)-}%<6tY|e9zw#i;8|+H$7|qg2TX#M z>70NF>%knZgY%Xvanh%&Z(Zy6G{64Qhy){wdjE%G&G+*EzdY6)>$6VUm0>80+*rHa zC<6!pG=Ko`1>T-IxZ3r&enmCW2E6!q9}B3ocUcp2P)BmAP>X}cbSn;V@U}%D@=s}S zVGZ;^g}`?M{HK1^5ywgN;|1U(Hw8^H6hlK&GLTcw6oepZYZZQurz+8!KU&5ejUe@|ZhZDN5tqSy~6hZ@)(5Ij!2W0tuNv>~Xi#{{a3GV}P zW$51m0Px^yG2^?G8o+pm`OA3U45Idaw^_^pHcPOp*jJjn;lFK`G?0%{#B#j%C`FFH znrWLI-8wslHrTW(^T{Ijsc6+1bU)N{M5aOm1VGYC&mBkl!@t-pQydWwQ(b5m$$xAX zr&{F9Vr9{Oz)2_m+}|reZoR*4mX6(cBMKc{mM6D{4GR;FgG)5p@c`@^o(VW*wWj5~ zlGc5%kBT?XCBQC6n^?4$Jc?kC&Jy?9JAqEMM;Z_{4YK z!cK#i?l-msnaMwdzT7aj{+WOdhB?7Inz#XV72#7 z8Q-0+{OQ>lBa(|}S#MEP^!H6gZqSpZL&YK+I_y^!iNG{-Tog`=ej|vwGL1wwGK`Sg z{f3fGz*btLMZ%nOGe!ug90}m=)o&UBAnt z14p4VE=0tv&BArunFIf}f=yY!X+ro5H|eZR$j46p4oehLYmTrSr)^^(#Y5&{fQ!#~ z1svW=FS(d$%$drVuN)~vn}*@pFGfr`yl680xTK{Z10qMwd>Al(JTjTj6kk~&B|l{# zpBgWb5RN=tym?cI?6PFRCRGG@_=TrCZykBA2TnYr_&qWGkq9-)DwzsPidve1lio?v zNAt3Qrcn(X_?4=fCBh?WZPHCUSVMQ6-ht#dzo(GO63fNvRInz+;tUMXrJ=j@fYDn>%Ejp}YJd#n;OQJ|}B5ZkJJ;au(CCFm0yBVA*(? zJb7rq*5Gg`%$uD9p?HRx`!s{RSk@VbCzlL7D_=Q^yhHTOHBL_X!xUPWF6n!Pif?HO|CPEW4k_(sNA&m{&C&x@gr&?p$ z%g1e?6FEPly}5}L==SejU^Rw*pc#uPWz-_`flH2 z+9S9s7&v}l5GL-Pcll8Q!Ou6vm&$7`_)Xr$ov0;w6N2)5DfG>$fO(W!ipTy2ZL)(&xfxAB@OnOl>tE>}ybtP+mzAv7y z5Pr2|2yq_nO!A3;fmbSK=@Eg${tlnWvICMET1(`UT((pqh8&Y|4O2N&jq!V z#5VK*yGtQB|Km;BKS}hj(V!+^LjRj$B9c~ z{EB2{jMSZ{U5we*w@|+&&+T-2!l==dm`)kJ+RclLiR#cF6mKT=MWw+8v2{xvn&>xW zwK73%aMv3MtkUQqOq-5TRTBUl zJ|lMS`Tha9$XKaX1k;qhRSHa7y7?MYlrdCq@Jul*n>*$Ok3#CX$>P*xWzKWk{7~oN z_Q0Z3kIiBmWi1CG zD5;?p<00;gg&LAH4sw&|L`g82{9UOlJU(a?tM^i3^-CGTSPnH~P#5dT(Ze2k$1Ro= z<3kX|-Wu`X$KVQn8k})4YpH8}yV>oAJlrt&%z%&Qy=Hu2j^2AnhYN@3$Mx*!aNa_4 zqH(2CXrIoUyue36t7^7hSBW%0&o+MkMXA)9Nzl~1wFyM1#M2H*O4T1q>oVDZs@IG@ zsshejL*sm<-}Ngk7#q3}=jtRW%pFRBOPfXLd1YA1)={K(Z^2-#28Z7S9XVZ){!j76 z7oQkW6!Rn4i%|;qoI*<@lf}4PY<5j_l>ihD8Ka>7rd$(mjj_IhlHx==MUTqWhCIp2 z)%-liYB$qy)XRN?w;&RfG>a5fF^nx)VwZ_L(n|CaFc@=?&rtlzJc2>FQdm*pgnTsTkxH^XH~sS_rQ3&&YjcADP`g2;`L0cJIFDM*dK% zZ4)V}Jl{?A9UvyVQ2J7(X03Lj;lR%%XTT!G7{GSZv`Tp9AtUm(nyRNJ>5x6&`r#Hqhvxz*=^}7<7*W_You+Gi{bZ0xT$03x6@w_A|b|kJeiIB z3rH|ymGDoF4{C%AWdn2Los;GZCY3BOvbQc(&nekResQU-l*LL_qi2EB=>#piS@l^j z3TRZ2dqUh(oe$K&Q?KhNn-CXJ8hjMAnB6IAAT-24TN>Hh5cU`o}>f*^;74_2Nfa|&&gYmErTgsbfr=SX^M0COz`X-_uHcTAqy-n zgL%!!jP4P2)XJsMhphskCt2|klh%P?N4Z43m86J)Xo8@ms>;=3zPGv%eltG)fyVc) znM2P75##W%k&ssTFGexcg##?L={PtM3g76M%fViZ;9W?msrhKqv_BiZiU>$68~-yVya%;${SNioO9BhR|P!4%O?4V=8C z4aLOZLZlfs{J_lq4LVpRZKp!4sYA-YBa35-f$Uttd^Qgwf~$<2eH8-OEU1B3Km55? zmx1xY?VDCuQQno2VeiYr$F!KE8RC}EkA!LbL!KZ&0QBbQ&(%~0Z` zy+_O{*1WXXSMnb#ANnYZA?GH3$RMl8S=FrF?F+0f@-vIEXuoDVf_&hId9AzKoony> zfq7EEf1zK+IV|EIaQuCw=WT0=u>Fli#4q=O|KAN0`iCapNI;`X19(Zx@SilQ|M1@c z`{uv5DF6qt85jWD6pNCKE@OPHpL#lq#*x}bBB}^24v!h)B$5k{3x(gFvJ1$**$LFh zK_w{ctO5>VJB#0ZdrR35+X+3$fS zv886WekL+hVD&m}93qgN!aQ(>(DJdnl0B1gtu41Azp-tK3U>lq^@FiEaA;_e)J4hS z;ndkNPyUQ1Q*IUB0gHClc20h*xwc|n_RxYrvN^|8_8yn{R!P!`z>OFvXjwje$KqO&zqTxBWt!! z7SR90*gHj6!e;H-v2EM7?WAJcPAYa%vF(a&+eTGv+cql|?Nx7o{q64eAOG%NCplUN z8RJ1x!F8y9bE8pf9P6;Wm!xY$@IxA!WlX@lblP@h6 za{V4{LX@Abs2kLQMH#gx1aclzwBX90EfTd4OPVdh?B0kg5!~*{oqNBzvg68$t)X!7 zmc(q`AD?w`;r(%z5xS4~aBk_dN(x~EHKb6Sga@PwTbQ-@AeZJYH1QRF?0eQ(yL>{n zma27sQ{9)?z5GPI{O*M%P-BeugN_;Eib=wf)CIApI2?X*PMtGZ)l|7`7J;~NJIadY z`E%Rz=K0t2@C*yB^Rp}-i_!CgFnRm#!uJ?8Y>Q(w-Qmn<5t^*5`5(};krpVxc6Q4= z7K9&F5J8nH6@eK36peX9U{7o+Icg<*j>IjhG^Ik7IaUh<9q5DS8Z~83RWRsnWqRNv zU@0Ls;%4vG`7tslsVto=+(;%G(N6j_$}a^pP)o()x3V$EDaH6EcNa~8L?Kpv6KEtN zg7PUmD&P}}!X?FWg_B5$Vje^B`Zr%Cn1lF>;`8=r+Jy3yp|7HKaBp_oNf7g$@)POr zg#CcCp-Ml7i>8PbfJDA8FHy{O9x&<bDMw8#^5o zg1sF_jz-=u{8mKAQh5tJOToy|2`hPr6puGg?6GzVHxq)~O_{9J!#la0TWb0KWr`fq zpnNI7)!P)ud*p!UZo^uJxr;>Zvdmo-y@H~e;j1X;ffeULmr&KfD37X6cMx3D=QGI_ z)v|q=4U!o~X#f*^^aeAd3rrw%Dq!3u%=HVE35pTVg02Ml5;+<=PV)hH7k3rGVkq+I z7|xNj-8T`@hvZdgYH)fE>46!?NGFn#G85`cwFfb0{U7A79mF%km$RGJ?1N%s>{aY} z;E$ilEn3H{?-LZaEDCHUlFAUMkkO8ax(ZBF?4?S(60`POH;8kobWN^OPC0T=;S zs0%4J4P%B`w?~hT)wYK8Tz>u#`3QL;X>iWT4WBH_ZXW4`mYN`YEs{lfa17&da!*O8 zCvgg!*Ya^8E?joot!^r*myP?uTYm*kkZwJuM{q%11ldT#O3B9NM&l4(Q-I*M0!UcV8$d`Xws7is}XjsDi2 z*RZ%>)xoFLQ|3Yc1Q$TYO_hm|r_I?9Rw%Re&z3fs(71K$2s*whvP zB;!$*RHzcUr(f`>1LonY=~N zlx{-7KwZsRBtox~B_58pwOo$GWoQtvY-eFtv2;|fiP>{B%Xz3KmEMa(EpwLj-E`zDbbgzsswsr&n$xO0K0CUjK zF%MqVxf?GDta_;>UjRU|%cr4wdDq|a$7-dYm5`Tf7yRrH76(1f+dS{0!RPI!)FmcN z6$3v%GeaX~<93mQH@=i}Voet@fw3FO7)i*GjbcI&o8xGW0l}6rhiX_zx>_2hF)08K zTrWCseVfNSR+Oo}{4fsUCiAv!_$g>KJz_xH{!PnxHe^S!Dw$efPse4m{~RG#c+}DX zUC~ahPup5lfT1XXk!`X~D${y71IMjuOkg?}S~NkireI8M)@ps_Mr%sip!ln3?x_v< zsUnWwpvM**QcA{qde;e79>=BvPJ(h|Eac>b;mo47P94cOD#Rw9sjE{>od<50{gm}7 z-U;6W!3hOV+FWm8ZB~bX)fFC_$DWUkiQtFRcMi_AzYQqD5(N-(0Zx2aKw*aZzxiSO zRhsz|oCF;8dlG*Hc+3sKVl>A3@})N1;^>kn`1AoZPkLU~71s5Tji+AAt&H(aV}92c zYh)!wmti%19u^ikp1H-Jlb>3Y0QJQ(Kz(6|`0bDSf^fo#{56GN=kz!Bb|(M1s#;tI zCNAve1)4-qzq>_Y|Ba3mXImIC!C&?Z?{e;GMVyKLQ9O1{;~Z7G!rY@G$Xq2{W!ORw zAiZfMcFEb(SO42GyyOeyqJ|wf6e!NRBM@LhmMS_2=yV#|{`3hXw+*|%0tgBOA_E+x z=7wlMdsMYarVs2)Zcf6gcfNvh9&_Gp z<$i{bK0iq1NL6(8h-SZA9$TFVX|~qk29N;QoJnBj(qM!X zqjaa>$?ICb9bc$J)<-8NO%tXVP&K#uT-w{xiW?6D-87iAd;$n9qM`@@Ep4=2(c*4I zQ>tg=;VuM&Ko7$q?L~?IU;Tyb1ZeCId29Z}M7@n8{>X>4io$J|S}ODSy(+7f*os@B zVxE!$53!eD4p1_c-dJ@XvlzNsKJ7*}E*t|T8Y4I%8>_Au8qUfRxTJ02FTFR8nYMJ= zR1*P+N_;Pw8W|ciR){!wq<4%m2DP25ZEMU+-E<4q^B z%-SP&LEyI)CP-pwYCHph&%dfgl5$zBGtdDV7;lsz>O*J_3T4IheezXQj>6+@}s zQZcS`A?mw`@Isq`tEf}?VLww?rL@SHET?Pp_?ppxO<9XsYyw;KzYztRiFUZMHw zB+~0KHKg3)Ep269uw?nZ(JB#dMo|?FIX{wPk=L1DuwX{YW?uP?+g1T*F@@;o5Ej6O z;Y%f=ks~mT*;7KFm76;lAC6N!j}oddb3LCO0IwoS09bQ=;9Xo4dhH_bh$k_IC?z=f zLpZekEEf`v3qfU)-&@0M%h1HnYejL4$Sc{i_+}qJ_)aOGACMNfRs0eP$+HYH8Vx=# zw<9Ud>F znYH4B&}?IXB9$6jX^k08GCFppDg~S~k-SXKo;r7%++zj+C9(iOiAgIu08nD3iuvQ**LLI_g+HJ~rS=iKn0UpHc%an%$j3x% z+)1wsJr>+adH(O6vv2PYgISy8t*xV`0yq;Z52<6e0PHQLwI%XFdh=B>b=nkL_IIo?$Dbm4kA#Z#Q43;}6@ z{dk4_b5#ov3kJ}y6dD~{;g+RRr zNje;}$EBZN?YdV$S@n+zN6`V}N>AJL_K9w+2hKI%H?Dl$^^$an29uxOWTVE|CB=%5 zUnfnPu7?J_%d_~Qg5aRPN_$F88HOT^PX#*@XYDXFCs&T)tr-0Z>hrwOB!EyI+Ci+2 z;`XUWf#9ntqUY9)C<NwJwmRaDq`4K*>*i)#`~&w0dy~C*uZZ@omMsY&6P+lQc4P zA+S|YsJB^ilIDBgCe1|jJY!pR3b$oCI3QKC2j5NQ^zZ-^@|^C=AEdG4DqcDB!; zB_;#|FxhO|Mqfzdk=*8ALVv20nBv-sg$sS=eY*f3;w2-?byp?;2hEmKJ>ulCOh4%| zgfiK}swaDT(7?K`6DwvZ0!4;e=P}uu{<-|UF&$B15W72P*8AdU%<7Ky11;zL3*|g% z-OV8p5d`n8-gp$pXtpLBm`**{8UZ@+0AE1ScaoCyNy$!|llFUpH7HE*#Lg$Vh{MPv z3(yq5$DFIY_ruw6T&TojKE-*EN{yVn+`GXkadHPlh#iayyJ{Zpj$4;uA~UxWNAYwn>dTk_b+yEVi1B5 zY|e8*17YjuqyUZ7lbU-8X33~68#A+VR9BIITdiVhqa6;R1Jq10LbY)vS z(g@e=PWGn<*m3|F&)#6~>k!H&5nW6Pk0P}<9dU^7vsEtICd-t-$K6nRT(8S$cx6DX z)pNRxv~^4Ph{+FJ(Gcz)WyaZZ>sDK?1g?Vy=4s> zI>?yFf|%|spLE`!c`LtJraWfaYaZ>T>Sr7|9E9_DXt-8^kP34gZrH`U)h^&I2csgQm- zRvQ~aQG8@aegbcsE>YCM+>&lFx|n|NIF@BWOM{XlhL#%j-G02jbpP63+qUl;JhGgX zmEl_`UHALV430qObk4Pap!F>Q;LmJo0g9%0nh}ct+l5VA)Yf`?lm4bm$(amoSqzr> zfq|eTmZsvCF3SM9Jo;6$XjQYKLS5>oYfx8l64zDS9K>Z*Wz zpJOb=R}iFuRf*%+UZI0l38lv{rjAn_R4mXqAHvp7!xs|mTuQrOY2q19dK--__H!XMgu)QKY~oq^0v+Xp%I>r&AX5ZC8rG8K{5GD$NO|uu^IL0w9@Ds zo5Fb}HO~XP+TKSEOynCTLP+yam^pw73+~%N12%4ZYl)L z^F)h;z#Xmx{AO2`D@)|Ybhee7ax=q7^zJ?4v3+t*Vfy!b%Mv_idEx!j6?UhX4Ftsj zjKuTBD;S_~A0dll$f%kmQ9CQPZK?XlLC+KKDGn6wWI|VlWVR7o2a@mfpOP+-9R8}@ zteaf!##`S;F*H)=c}ESR#i=c8ybF!=s&v@L^{doq>>>KeU^G#|(Ee@bbq}wT!-JnM zB-%&#R--}B{;O~e_3;s|ci~~)-A`8DUvhV68xA#52UA}!rklL#%pmsJo-<-PX;$f` zv@eK*tS;Yyq*+wC1e1?0Y#$9d5J(wIqNZLf7=!;_KC|}AY@^IINsKaAo08`q&ih9s zjQzdd7vtXknC-dOGZ!Y!+GS|Tk%+ZnB751*9cv#qNB(v$h>OVrL^Fn|gp}Im`f$%D zAzfhgF;@RcPdV!dOm(JX_C9@`eYy6Nr1^G(#*`CE)+rs<%5Pz<@KRuZ%&u)kTb3gG z(s6(e`@XcG*9%w9hugi8454IeYvK9nFJlqTRu?ztZvr{7_BFR|(uL;=53j#|cPW4@ z)g^3ba0~(EQ83YHiEfJ(fg0DqQ)x(BA5nfdXupgN9zO09$Mpc!onCZNb#mSII`x}uT67o+OcID7XekJKbR+9aGjJ{ z3aVF}hQje^tSXkA=AhrI7n?z+iSKOmM@iZ+-Cblj*Hf8l$I(2)>%AwDC_cs{O=!?Y zWPGB9Gf{4181)4%=gF-tYn~tQ_8W^AMJ&^@cFYExTS5nJAl{g}<@E)~9iWV(wNX(P zH%UVS3(6Prx75>O9`pnZA{;l$QdZs&u>&6Rpw~YR3;58nq-~enzl} zpN`KX!n(udi_YJT6xMV=ffQ9DF2nk`E=y_})O?~=4=0>8v-iPke4CPhq)rUP2rX!FJ{dT{{0|ORSfXQw zv^H+-D(Gspa;;TGjEb&wM%oKo22OuMc&!Ro;OY7S5=(D`c-= z0R|){yt~*ofH8{3t9Cv;C67;YamnaLbNt&t#12)UN;E9PcVeRDh>?782@Dm67+AGK zIRe;<2(_!pi4{V#PSi=YbqZ0o{Rzu{J>Pt)$?wtGvRN^Nt%{tPEeq{ws#0`(_+16% zB7xClR)DOJYE+$>hw=%+YeUWmg5wNwQFx91F*c7Gsv$ymh}%*OQpM%+|(t^kGlrWVmFprAHh3!y`538n?H>A;{TCE1*jwcUrAIm zyT1+CQ}HLx6a$7b=l=6}G~l~tc7KgW8~v&B0czh^S|TLq%)sT=U(nRh!U6m!nqL_? zUTV!NCXLHx%bR+H`D!2D7E5j*zybZhn2SB^W;^>8caoBmaY<=JFH|*X1NfL~Qs{^O{ z^$cQs*ri8%nvwcq>9kw@1W)s=Ffr9>3r{E+O`V1VtqR4P2}8^%;i+r4?pfWdJW7Bo z>9xBK%Y)^#DLmnr`+!1u>Lqe;-;#VTlLNOoBd9|Ov@aYW{c?2YV&OLO@`$};g|=W9r`skvl< zgNY%H|4D1vx5H!l*x%e16@)$bdTk~sc0~7`V%7<|7(U8FyE}%R%_RCc*mCZmj(WM@PW9dSgmCR5Xd|FaNr%8a4Zx;qd zE0LiP+peNuXT}G}qsFasP{1l$XKmhi2sBcBmLT!YMFXo_Q6Q}K_;>WllI16r2;gm$ zi{bZugPyVU{1G~|B1<}7)-l>?#(kVMSo;<0%gu4!1)JpeNH6gi;#wCR?UGVPeH?|O zrr^v>Tr3pJSq=5U8*B(roU9cr_L~!)K0ZhT)cHlbpeKVBT*+^G>+U(HQI9NL6uBpe zHuhuN6b~y=zE)4Z-(FS53A_G2Kr8K-KFFkZqr%zo> zKtF}ijWig8r16cq(jc;6K@JYc$*Xu+8eC0aq6V;2Aw>9*DtLJ^Q zdrjBr^LdB7m=yP{`Lae#`K1D7;jJyVZ@-nhyp8go$p=m8L3VotA{lvFR9t!W2%IM1 zde#wd`PU{J((EEVICXnHdbm)oc7RP*?r_TCJn>*p0UnE67zzG6la_=7udaNmWB8q0 z!*8=5{r>e`W9F=Cihc44Os0%!eL3}{m*`ymL5C*--^>a9VgG0x!r-{#TXu(nInqc^ z&~21kx`=AK#0GM6CtB8;ShtiF;)@4RoV|iPF%_xv_U0^Of;}oNDNHf*UOIX!{|kdA zFPRd`0$H(~+GwK6fqk=Jv|%OEd8&_BkhSytgn4+eDVdz=0330oNFT%t4Nju3#u66e*B46Pl1_hGMcJc8Gy{)3_ z3?%IU32hf&y_~X)RRh1)?SnU_^b&M2Q=F*ZjFO5GcF{fp^OB=~J7r61&*IA54YAg6 z1Mjc-u3xq%QSczFpZ*8m4b!+^{I8YA+As>ypEGB{(<1pAp{u@vWH#n}hcBHo znnlV?9kC$ZjS=DJlN~v|4xh|OQaogzWC}A} zFb|le&8Ua=k|54t1tXW_5_fAm6#n38T@-Kf$tvv|iQni%&a5EHfdoXzpu77#=fDap zzG)y|sTR}C<%EPHMCFXtC6fSfo^WfcZRF{gK!X~T^K@XH@p_ZB3R}=3?_4gRZ=s>8 z!>_CUDMP1FMOsenslIPvMGv0uB}12Wm!T|LwfuESo#Ik0FRvWSBe7+Wqz-^#&3C&* zVXI_~-Gp1mm}1>oc2VdkNuP2Y#$!IYgn=CAmeKT{tF+l;9sxJ%8IU~I3({$Yiq!~u z#mq5bL{?zjUrX-GF=C!MoxP%1iqJSmy2z>jJmYK6WLOp1)g*S_)fQ&91uwjqH9CuW z;s@hM1L0^fh-jW!doPu;V#o5~yput6-)At#`?bp#moKR2v*-THF$+=f=KCHt-<`dU ziwE}m?A80r8zIss=MLe&m+}MnZZYWqd(I5Tf5bijZWsTP?bcLsCgDW!eXdnZaPs67 zzsabs-0&o9shiXvG3qkAIaHP;7>Wimvmhg}f-@ceeD6tRV*(9I>MYa^O<2h7(AhL- zJ-S=}Ja+zZ5?Akil`42QX;y-oGrHZLq^$?z%8mSa_GUe<*6P*F?o{t`A$OPRy50S{ z?!M`+;b)dqOod!0q4hP3?oQeIA4co^e;BPJ0g@xuuTKg_bZ(}bQ@l^17)^Vs=a-Oi z^^4%+FR1{@krB91k(qNkGzCY5<{!zCOV1b?KyqYrn(ABlM`$f5iNx=Wcg{_w?vbIP z!EzLkw@5^A+1b zxH@<`&-TZ%Ebb3X3BxHXWp4n}$9mRWeR?wkch^xFFeuwNu=u7<1HE4fyYs(3>rH^q z+Ht+`jVS)D;>pN`GYyVF!sGXlS7Gj|AVgs&2kH$D2TEoN zF>YQNSzIJrn?0SFTtqv9%xa3%fi6XzJUvVgl5Ku&h!Rs|b?|6$abvS0^CMUKMDabc zd7Ruin52Hru*Vr3E%NHF6%VuS>V#mA74)KYD^g+g(=scD;52b+jaKFQOV9mxb#G46 zOGQAadwC*V4&^N80iY|B)d5x%oMNL`nQ$1w>52~{r^{zI zYHRp9bO(eS?clD7UQV;(8-=4Th85X$z@uDR@Ji<_;hN26!8E0Rh|Ln&xADG`!gbUtw+S1w zF>)*=C{07n7v1m?r*8_JJzQTPDM|$MX*4p7`@kJECr*e2Qs#N_9v)z*rpuJKFeYAH zzOTfjK)SUeDmz6(G??yW3=33hCF&B??EQUKJlcfY9blHS$l87T#MU|Ya}OR{51AXi zTVck7Aw^2~a_Ynu&JJ}f>Z(Mj*f(~S%d_n^n?cC`eNu*Y2w7|pC_xU7dTf#&*(A}C z^mrX2+R<~!EzX$M#1Er%;jl4*dv&i@Yk(Nhjep_l6j8~(-AVHiv~`@ePpMwIjRtl} zdaX;fT6=~vxPu+u)N@s~d13&4>RqiPg( zt~vKeGmZyLVi02yAx!*@eI(Y@GE2m98WTU3Sm>%F;+hIG90dW^=p4PEbQd5zC@d2a zR7pAx#pyCeE2K+qNolm7npk3AkZ3O-^T!mrgIj>M-#-W2nAPhn{MM%qE9@*$-BRRm^IRr|zOnuM@@Fq9D3 z*KK4K7bd&$Jv-UeWywS^8t|J8YcNv$P35 zyMi_0qB{t@UUMFfi)%`rLWun@A(vA2p;aWyyiycPcZeQT*9E${PYAT!+mTO&@OiY| z=Hm=d9mgLr>Bp(@If}IvZLpJ2v&^IIn^YkcmOsI2tJ^z%z)<yZ5j za#EYRjbwOX9Y+0)v<;f~KC6{b`2)3AIPPUt@%v88?!?oFtIfui$N?MjQ9xN-s%n%X zaYU~}n?Z1Iyv176sAt>hB3It!_2jN?Y&lA{(<+q8%Ebzb%n}2UKpBPvW+l##ZC3vM zbjtX6FwXUF`V;$DdWYqUPG5b9hq@)^%TdnBhMvkxuqieRYsdNU&598DL$dPWGvx?sFRtd~@{f%6G9jLF%1Lq~f}ZFJ`tT8G!a{t-i`|Ni_#!#1XWm8O$KrFL zTQLS2As-8luQS=WmGh0x6EuU&xf_h|^=_nbUS*mEI(!uIeZdoLaSBC*$5GSls>i#U z{mDPvZoeYj|9pq}?VamCS5%5FQT}D8bBsK16#h3y@{vwefeKV>g!Zg}Z9XU@f$krF zvV%;Z?Sne%wm7iC+|x0JQsBUlV&|T@f!Rg_Huf?j^Wp=Kz^Dpmm7RE!$L9yd!ZF@5 z`m&|G10aM-(s6gmj(F~_4St@NvI%XrPT@=t(n~N)9rtciBm-*ltwEg3_^C8Rk zZ4Ib_N@NtpZ426K`bM=!Z-uqQV28JWUlsnKUeRZ=)yxV+29NuqMUVqhcXf_kd_#%1 z71V><+w*nT_Ia=7nfAjhBM8`$;^r=Msds;ak#dW5etqlj;M0ZX6;yD*D@Pm<9{3MR zWWa6X{}WTzv)|`H@|pglM7G9^&0aM94o!;6axy5d_-1E*{xzi?kvqx&ciJey4D>JJoQE!I@?x3vrh#w;cC z%lYRX#NN8arSeCL86w=dgNuu>`O($NYpeDIel+9gR)(^U3wOOrSsX^^3ONRRa4-eh zgxyLV>{-G&&!Q4(F9}ctsg7dPUnWBe|pr z($=agLt^-{IKo>lL~iI{d*E)Wztr#~5~29*bu*DF?r+Sy7it;S)TH9ztpQEu-CSb(aeku!I(B%j_{z^P}XD6&D&+c%y^1zVdNvrO8{u5 zI|~&Ek{yp^N^eF0A#!NqX`p#jux|!~d6be^doI0SPrJ_C`@@qPkHJ(8hKutTOwRl9 zRVO#rpS8QhwZHdX!qfTYULtL8GicOYcSjbr*Fyngqp1Ao;@xD9{7F;C{~F|PL@li z56{r9%c3?F&N39I?x(GzmaPSE&FJkD)6{L+SDzN*z)tesNCgr#T%d+tQKIi_&aRp~ zdeALy0Z`NM;yN_&agNgDd*pUB_ZtN#t1!QdhEN9?FbEw~ilceIny^{cBk#E(6#rP_ z3Ck{!54iz0s0hE$i$)Z&F+CQ;55cP$58P^KL^>F;uP=RD`{}yD=068YpC=I^rd!}w zE&)D+HB0V5l0jy>)8=7Yr;r1cPyo92RjlnpRMqR zZ+V{;Oj8iMPQ(SMyAOSg3sy95Axq|$F^+)MyHnB8LF`ske{)4 z0mWm<7%hAtXXy91>xz29Xnj20_>KlNQL8$q93Y;3*P7K+8%hl4pecE$vI@iZ5Pf$= z*LVo#-D)o-)bP zrI2m~2Uuw?V$Y|imXth)QE5$QzcmP+Vx3$XbH6si`*8j`Ta52ex%}E|LH#_QL~Q=t zP}$Qg!5h3oq+`7_-mU%(xc-0u>6liR_%@4&VqDBu5_+feVmyMf`@#C_+OhcSh4<8N z=cb-uM3~QM7k!lTPm^ZS$I}B;eJHo-&{OXXtoJ~|ca{<1IabeS`)js0^IOD!f4xL* zo4)%30>W>AJ>@^-AOZWyzomo!*Ax>OypYdu3a~Wrh1e~E=+V&QF9K9CNtp{O#*ph) z+A|-#%P%K95M74i5f^`m+?+rEq=T{izX92$t@;{!Gk#|te?c^FLnDB>_Hu3H$`wy| z%>y90Qz3^Ns{vCb5CB-z`-`d1ErPnvg%uQOlWM4jcy99!GfWJ$Dv2<7XrJ$>@o$#| zWFO&TE1k496D)22`H-weMEIY=>WX!sP*!&?PjE$vPD} zP`Rz)VR|)ml_oPm>k>_eZAFcp)q_;~SVGWP=f-N#Idx4*XIR+TRaS1uba96{Q#_Xd zun2TNn7k=w;8;RoB<`EpxIoK=x~ibX$2&W4o6n~uM2&tmuyLI<`oVESbUM+D$$rG^ zU1ucySfFy7CgiIxW;R6m8*XSxEr4h+D{{H5_$i7>&Rtpss@5<|u5TAhbkbfqMa7xXW5bp}z@ncdKMpV_!JgUM`bQl)2mO(!J)Pu<= z$6_YZ)mA>rZ!#lELAl*8eFL260~9*lU^I}fsxBVFh_=}?-)u_Uxc!Q)+*dhij>YV% ztXjIVtigZV)m6lWDyG+juN8tK@lh$@(D>U>h&iTHG`kS&jtH)4gfrPUJia+kfe-D^ z0R5J#bpCcrhZCPm7C#1B&};=>N?k{;Tw7X6Fhh^G|9T01iYH zzv)sUI64k)E+>w@-HubyT^{-UrTUiW7x!$kXNRaXm)P^od1_)0A2M8Gal;AUz5~J$U>yWBWzx z%VAG9;+oo;Edzan?pK+KCB;VJXty6;YIbL8CMf}Kbx6hf{^$h#?;_^E%FH|VBEo>Us&5>+;Jq=6uxDw=lq->mJLZ7E(PLsEjY@Bro zT*y9A@I?`frfAgzE@R(-atkSD&C82qgNe%PK_fyjwhC0N@t37n3oV_mRIU-Knt;`e z2}1#2iE%R32_s=hQ>ft>Ys_q)FC-UE=x!X#O}tIep>V2C(<;}SI`D*aDP1qeZ=Qdj zPA~Ii?9aCoJLY+jynB{^W-8oR83CuW3vMOvicR8p9NP@npzt_oUL`^F$~(?ekai!U z8JZg8Vuck_B?41Iwu~e$Y?>J4133?{_5{o67lbr#6xPe9!Y>-BPLDSH_MKXMT(X0T zp9B$U@@dGe+XAg{b(W3@0SWGd8pr-hL6DfXJX%Ul<2`#3(le*5i^$hQ zW@g@F?HN9TYTyfL8md8;IFmiJ!{Mo#z|}XtKfZ8ix5o|c&$dc)u)j=Tsnc=)Y*=LHnud1%M_*gK5JtErBx=7E8UnDJK3qnSP6$@htg zpop5Zn&>QXWW~6c)0D-BEhu^3CdF#19jwh#B*#b}w1r79o#3lTkD)&aNoY~ytP!S{ z{bne|fB>*lgVMG%{ir$cFxh$?`0M7@0O?r5F-xA6kSeJ`-}FrZh&vb}DE$dD1@F7R z^wt^BF)*@(_6;i2APXdJpAoKG;C*96fYg+66FhE?AT|+VVu+aa1T8oSW_Er2~lA` z>FcXAsvVuzl9@>s88KspW=W(|j49jnN6=LZ8}W^dWHCgX6U*_fC3wYeus9P)7cg_e z*!qiodLK`PyA=+ll_VWAX}`BCRSY~^;aZ^}H7&SWi24;()vrxojZ-~(aeJ#U1r)BY z$_g^4uC#X?g7M@n=%Jn)Du6Eo3%oxo-oQ+D!3hX{Oeew$1)D5>9p-B**TjmZrrE>q z3xzS%zyNQ7UF@c1tDSyUg@+9@^JysoC9MO=n>KVDH1nYlr3AXz^8Zvl8u7F$BMRDW z;5K{*)3nfzhrN5?Vl6E+iW(t}=BvC-#JY;ySSi#=^d!{77uPpt7Y_-l*B!-~SfnVt z<3{1KQm0aHxftKK-xQ`+HCkrRhIM77`{=U9%kHW;YG0GEZNn8eik^I~S1s3-sr={* zq|&QX>OSu;SfK3-wPqRPDk>$HGDw`0!Q{!ODHw##7+Ad2qt9nAiz$hAw+t>`efNWv z)(;WBqrnxAwubW0%wNv((l$yl62yVuR_U`__WwAv;z@ zCcJs6&~la2yAx7zb?q+Nx@mN?_)EjvX-yH%3HcwC= zrVZuv$l?R=8mpV6d;`pXN2ghCl4@Seykjo!;z+*>1W>)?B;^}Xj_wY3o>y|(?>Xlq z+9M*fkTM$kiGM#(ApbbYL|GnHW%4^h$ctP7{2NL0-}7ay&tw?dB`bPDyCmqXihmzC z52#ul-x^De*eUo&4sS$U_Q7OC^w|CGvC7(gzs1&1w{X10hz-T5kZ=8EFt$}^x4C1& ztLPeZ)OLu8B}^mO4h`A9dlZ~|YZ0J8U9tohOVhAh$|5G4#%(s#yjh*tuC>S)!dLUG zh|Gq4>~>mq?x|FF$mOc9YFdcuFs62z%Nr1BYqKfoMRBask^Z7SeTPy>zCa!eLvV%H z*PH$BcKf)x+oL!Ib_H2CL=5!a8b;z3|d(DN(3N%DcjY4Bs@g^v>M@>iSCgpN-NzJ3&zJR}yG=CrX+2^JMR zUV%P*)kF9myqe0gi9ZW^z`g5qtc#IBqOhWZ1er?mM+xbotZU)0k6W{@UN-Wj-K=Ew z40qkH>f}`8tpy^O0`w^O1hoPX6X7C^(`-)J&W5=!*$DmV)wRLH{z+2D)f>qlRQCAN zFdq&eX7ZLNavDqqk2{+#>;~|lWA8riA5Z%@SEYa!)1jAdbKp8}+9m_z@%hVTqQo+j zo^Rmx(fBwqkr{wy`E$StPE6HFg4t@WRfLbEo*kZA!;r3(rR2m#I}(kUowq3?Fc9P` z1AcBbX{2Ji~l z%@Nx3<=Ac4BIv(vS^BzuSVJw7{jT;5&OHGXFq2553!&lFjcKdEdb-J#pgd5sdyS=$ zitZm8jac2=exlhce%A{mF6{>vR1SufUm_sHeN`Oh&<5lY^I{;F4X z#Dk;t62P4(EmS_zA4eU_6bUj4*v?Qf*@viZ;Rx7{otV9qh;a?VDUAf1-l&cS*u%2@7MV|?M5#U=> zT$?3uPJ=*~Mro-{AHUc9{d>kZFDR56Er>!3R&DqgJLe#J zg%40y(v4;^C^wrGiod83b2ZLi2;uv_e<0QxteBTX50*G8vJ8}QFBe%+yq0e(^vqj~ z^pMK+&czjAuoU_n)8tkf^e-{ad1H zlTuvz1Aw|O0i>$_L)HTD-T#}l_z!m3r1ga)oBzr#TQt>%*4vJ%4ITpbugVet@7~c3 zcz*O?|Ip>`3ABh8PwF3N$=7@vY8F)t=Q7n;01bFB(c)oQgRf28BW`KOj_sbvoQp|qv@d99y z*gF>N3SzU#Z7QXasO)_0xZ2bplO!I00b<;;Cp>AGe3T%=E?LZ`f2URkE5p+nOh2(I z+Fq*afZYKI~5aBloRR>!FM zKUT-SEENk&K8JSOBSP{VL$O^DJ3jSW3_VeSB z^Z$DxTj1yu^uM$v0G7~yXG<`Orquqg^s@O2?eTxPyXgMamM{ibJpfbW=)omm_1wXm z^5S7(0l=iOX8_?%5x}5ev2fbgdIFEHsJa~G#168iYqaOkkiA9I&Xkgjvb zU*;|u!m6!~Kjto&hN+nnw`suQxw}ySzQ|JC5vLw1hrBLilYfsrq?i(@sbOu4SURT~ z-4lnYWS`LZWA3U9b|)l~vD>~ho<8lVKl$cl!O{FW1Vm?Q>KK*d6uoU-Y5kurDBKUH=t z7@cSETuL|DmkCiDq>*j-27y?3-}!TvRPwrtq+>tx;K~!1 z#f9ss=ee2i^Ox1y$p^&0mn}DS;e-B5TLNJ9{H+c0pZu~(R%a=IZRo%7%f|EUE5Gf@ zTcV?}{KJ+Yg8oli0`l-yKUZhq9}k?@9}nCdKZ5FCWb%r^nPxQX|Ha%Ijk0<@pd#(}W-v6mmtl%1=PpywY-A7bND zUZs{H*$Xj1L$P2F9ANLNheu4dMEGCI?H-XXE;~S0>}z4lbasEh$XIZC&!+&d0ifJ6 z(~{kJ<0x^bAneRSkF4gL;zq<0xTxSWGQoi=(^XNfL{e-+Gzl?LmD8u zw)!Kw?yi0RwQRo-{PH(OhBgHTX%nCX?gN+=`41&UJX|KaQ%yDagSZOyc^(l#q?8Z?pGn?QWV!neugLouMigzB+<@oC4X-H~4 z6tbAAl`$5|?5hcfiDT`+!qgT6Op9z7tjc$;rcn-SarwJ&IHK&NJ%70ya6Ca`@eXG3 zZzfLM9cewDF78-^btduM_ozX0&lIUbbIDHn5PRUy*aIp!eDV>9JB8DgV1%O?xycv% z67W%?RP&MXY)CRLWD7 zKn?NZ^;gfV4VySmA$tR7?UtyEX3NAePf3+oG#P2ueX~L4cyAq*a%wnrPl7sRtr#zD zp%{}MNNm(8K6WS@`9ps$lKhD!zR48hYREk1amB5;j=}X)#A!_frf%%0inw^&suXl4 z|M<5y>Yw^8iG9y-(BJ+wqVHkw@1*wslJERo`o38_P96m=S zNG1K!z2ZOd7fTP7);a>s6ki>6=A7V!3F?l4)y|J8#zz|)Ri9I>0AIk(`c6-Y+>U|b zDce~o2jWil{9Vs^rhNKJxJ*;dsOqLzU>%!JD*oDEoT?Yq1o+`h;u@Es!se3-@nDQL z41%zU-FdME_r)?C*U)ByXubHC{A0kmuViLA;F11z-#Z^s!yXJ`L@V7fP#~THRrPH| zd8K$i#uUQymW{wLvsAWdk7BX;L55z&+3&{5Eeuo_@jb*XCiYo5f7{~!Mqgw&3xP6k zyjXB)5zkRFw8^>Af?@(=^0HTs98CbKiWwDH2o6GhvvFi*xQtRJ=Q#|$?C^BSF| zn7}f_vC3WsSK^wPg=6oA079|j;3E)|Nf6%I#Ery$R&$LjTPI$rT+_97;ZZBsnF5Wu zqtl|rt(Y}xPG6!5hrwOXSfvZ+e_}giF}O2a2Sl)@0zIxsVT{ua;8LldQz*Z7i)a?AVY*8KAKGiMGM`wUUXfw=-WQEJl#Wc-PXUghfgl4@l* zkG6m`ekv>PWjVoHXj=?qj`wvy!t7h2#Y@5_0hDklu+pDEGVulXzDa=kO5h)e`e$(G>E-{MgBK_jg3efWP=T z_%T{nK4o#;r*FG*{1VFNZVHbht%CJ^%qK`fii{s$SjBPE>-p1C*UYEHzyJ5SeLsHw z4>`Ku4d8!l&i(^Ox8~=hVwzT6TP0HIC#U|QL;9$+RZx%&dRq=*pgIioTLy zo1!E#SWH>VF7){0WZP@uz$9pZ@4W*R#*MsePFwn>2ciZ^&4J{`VVfuf-9j|% z5N7K9Jb54)`+mzM{C&$!rNT_L^Y|32D$^`dDTjj91Il6Ur_NQJ4@MIyz3M&;GWY5Z zDMUL4EjIi^n+oOyueKNXZ~AHYH~o||v5oDmy?tVv<{wNzm4a%eZl`4BE|oTE`x}Uy z9h}bI{wTP?(lg<@N@0d?p!^vbs>qvsKN=y+E7>>BWiH4rQ#zr63_<+kkMNDGY|cuI z`w z!FQ~GoyG}nv2^|qffIixsDA}c^jM|weUpMHh11hReauVD&N7QLDC#SzF=ok1-BkO~ zW$HHz+9axx4z@UTZLpP23n)R<4=2`GqePw$|BLJ0X0ulH8&5m~QY@-BMp=*GFK{9} z;D2#+1qT*;=-U2rbZ@>ny5AtvZ;tLi6ugDXt5k)cZw_U`=!}oPjbdmx-Zw}0n>d9B z^S?Q|3jY8n`u_n=7$DYG6NLD@!AOATV3Dp$ zVkKV}E>o%(-7EV`oT5RiV~a?F-t_b}u?64S9T@*xN%-qY-yqXK`8~2jk$*s@e=8|5 zc_xSxeZ{WoElpn?)E}00~zrYC<(Wxix z+|w5s;N!(UdU>Sl!JfD6jH4_HgCq6*{|Dg2;Xl9$kGS>!22M;>KA!ypocQk`&c8y` z|3^{E#PHulDT|?GRF!XiUkBzt4m01MH8K1<%>3^#uZI2*#eQ@kDFKI42sRFNfzoaB zzgb@TwAIc=7nhY$)8E6)-UH?$z3G*M@_xDT(Lsu_QKF^y7xnjM*BgNKSA`d$%mo{y z*!U-DC`o%q?(>mXe8DW4Sd$;M3RLP2y#x2vZvL6$B!TM8Ea0h43dBIIqbai?!9lEW z^vxeA*Al=TXC7}L5D2Zhmux@SVnZE8oQA|Q}T}k#8j)3fjps1 zOMPr1;v6vO?=>RklM6<>cYj~55Ocr>cB4GB6Y z{k;+it+bLUE&OS5nT3Bod(0hG5|4kZgMpNMw}&bkS}kzAYn+A$Tj!|*@8!lfZ2RHj2eDo-^y`0$_&Jz z#nBdA5N9>*BjvHlK{x)=Irwv;=#eoB=XT+nV6D^D_U18G4&9d7;Ati|*OUNtG&q^q z?WONw7>ISTH5lw|WSQkxu&^e={On#CF)?>_LrF@S#-rNm32pK<1pe8bmUs%<9>CUE zeUO>%nTI|)N!h~gR2?JaigHFdpP28~!0_%oFvwkv*=&AO5Jr#NI;5*<;K+dIXnA)IjmR%mHr zQ7E^w@{#rnm;`7Ru8&VaZEqvS<|sdB?QhNb)iR(a9sy42ic2mVBaM~#Y^(_BF+}vp zNsEaMGUnFCLTi-bKi*I}0_}BqM`~4>(4Fb#?I5!v{~2 zW7yPIXWIc-=Tbpvfg7o^yH2KvkT@b3`F8=S7%FK2ruT>1wzM0&WnA7KsU2j=ibp|$ zCmHM4To!Vf3of-w$`a;DOUOKf#c|tRfw3{CZ$hs+W=dGpkvf@`g*V&g5$+^bG8r=~ z@Jd`jo9XwH0zYRMwX>XAOLjy&23$%bZo?Rq>QCOS9zWSUuBNQFzJUJq-!aIFk(T~j zTVO}}k7D_EU;1BS`Gl&a{pxqn;H6GYUW)Yj4+KQoLAI;_HW^d;N%VDMg{MBXbpDd) z_&GgE&X+6hjSStuYAJK)LSiB!E9<8f<1L5Mujkb7=JW+fQMAp?Jp8_Ohwlku|FO_JUY{tp`R8hNS zO59Mo%msXj%Yjh4!h6X+$?Iz?a`AQ){DM1GJ_Zr}>UMgVLDc*98(mEWbskt!Uabwu z?Ko%8iwII+hM+R@>nh=o9s?WZSZB2Dh|X?Wf4MF&$y!p_nxXh39?@*QNwPGv*TL`v zzV)A&iix%O?Qp;+T3i~l82)Ov-7Zuae(^U#$pdU(_%gD^JXtnk{^C0NuGxpE&$b?z>#JENfJQtkV-HvT*z1N4xU) zls@K?n9-*U$rmL}Ydph|AtBTxQ6x2aYu;5Y#GIj0T)V2i0m{$gX1*a0rxLJssltZ>(wSalvQk)obbT8~I7`cKeZ@|a zE4)|tMs~hIY<5FNnOqh(cSF@~;Q^+{OwSWDqv@xUR=<~dTV8dr)A^X(2TnU*0Ni=q z%|;b~)f(+DfI0r^=rFF^CQJ#y)nF`ND%(SR?8!t%B%(VBl0l;;v3OL5c_B_1=4PN* z=5tD?!icynp?1A#^ojsoZoF%aF;#P-G_Qd|F})1U&Ka|H0y4+a2Ls8tA_(fDM#DXr zbKVp{8Z*dM)gpDMFZ^i+XzF-%;!X%bU$ ztosRE-D2Cli4P#Mm5VDO-I@qXN=G>mnTd4%$lM^~+Le2@VgPFb57>1obx{!{+CA}8 zLR2|u3VFD`UoC0Ia^d#yay~DoinGlDJIIE<#z~}^GWt9A!k}*+?C+wk$~c}2sI!CT z_coBdRw8tb5(_d;{>Jl8e80N~P7@zfjZM169tE^aZ!@##gQb(4X%i5CFs&3exh9>JJH6uFE2xlAR-AM;FHNs$ss0H+M^GyBT@FRA$neG*;lw6tntII-l-$NjP33( zB*v_uBYQg@(ysImT(rDahZn?`I(ES;(yJJ)swVIHvqcijDX|(LJfuOU-(Iz3MzHUY zkovnh#P^~B=y>N;Hv!&%Sc{H%i9=r^hk45KoKJjGU6kCv=r#5NNlkopWJNK=fA^x@ z=rcV4`wia(P+{B(GUbFBZtvL$OphAhSrFBXt2GW+{YH2lro)SR2`Blogc2bfhiZM9 zO0PLsczH2v;ON5`F=k550DqZ&_L#nE?TdLM`q`H3fCok#DfjDB^!?A>`?KG5Y#eh> zRQfVN6?_DIrcgkaJ`;&M%F8&MaS>UeLSrw&$l}d=ve2h~FL4XXFT2AX02+4e+*C$^ z4>?%JbUAN_)QVes@AtWj5A=`o^$qqu+bx`&HO~1CoX6L_&x`0Ur-<~Os^hH>y(?q{ z8s<&}S8ZW(xO7?G1hN~un+S-QKgqM{#V%r`pYvHZm%VC!#vl{NNFf4~$m+2sJ3}Q_ z`qH^c6-dv}S%#>nW#t(Meq7!}=O-2bRJSnhn{2&$*alslWfNi-^@Eo6POlHJh`cf_ z)LJ>Io{Jpji_%Nh?=E~bBJGs@xd9fPGN2ffyOi~6AOue-LeEZOy=n2EHjA((lFzwt zVjU;yCv{8XnNE)rB%?f-D{~{-^>xOS?ku%S+-U74RzaaF9d4gMmRo%kw6kY96Ur~< zPl(sl$s=s=>-pgq27}ErWz{u;ibh5t(7+6a7&^|TzYxd&Fx%y-dywGfuLlSFL@iL2 z#hNE)fp=WApP67w5qgu)6|Ssxtc!|>QmhS3kRu6l@@Xs62w+XmPJC7Ai80Oq-b26^ zKgL3-Ue_Sls%5$-_gbx3Exa&v$IUyN|71tvh88U?KrdNS4p?0*A$tfg$Bc*_($CPy z+q}$yB139=rwo}(PWY8x=W=fhDYg5SyeBEQC6d+?o=Z$U0*p znspPSljA49WJ2oohF3rR502<21N`uRBVJ3Eg&I zuy;ZmgY`1_+!b&?qpiHZe7jJ?2zwPepQDL9;R;uZZP_j>iHUfJ;}r-AsqN5%gHD{K z8+U`U9z!|V7A;u`3;wj1KT&Ly6dI%qRXu2S#%5?wDV-##dAmwI{-w*HQTE_ySf?D8 z^5=l?0UhmP49l9%6W&+i?(uH)P4*j7ZUAV-^$XP;_De{9znClPW^?byH$fF!#$ z!{6(O-C{t8w7|0kVW6lZ4%G0_w_vbf)nvwfP9ZL)RbIox;lHGrC>u@Bp*!0+HazGC z;&22Q=}!cPNz5%p)zsm)UEbS<`N< z>QTi~cl_8j(zq@05DqM_B-$xWpT6p&CC~~a2gGJ<0aWv8-z@$$E$s@pb-`!gVM^yP zLf2$Lm2wn9%?aq$*%SBY*1+oG7C_IK&I?L%gQl%pos1g)CCDr|qT;6Gk4P@U9YO+k zk*F@6i1=B3&vFp*Wc;=+Ib9Ph`9&((he2%72lu|3SSfhOg#2wR9UD`({_U7=?^`}4 zxC=T+;1DjoEHy!ckm&17!x*T>s;mu=H)^D+9fzBpd)DB;>^=Yn0hvpt*%6QML%Lm)KaPP zrv2E4Jkl^srxf*slh+tet2K&dZjD@C9iDGqJ$KbHPxx@aq`;TV?t|zy?S5<(B=HiX zQxnA#BGbxdcWH_dE~R`eKY4bJsGWqAd%ad8#7K1pH~E+kVQ|C}6C^k8wFIAgQDC~N z#;c?udf%Z(k*(Vz(r;m|m4?*r^7%P zj24STNGcGoQXf~#P{`Ag#!Q|jo2fd22qDo9)_PC|em3Rq!x9G6Vy}`}aPG3w#BBQU z=q0iE9-tSouZ0I401JtZ*d5O5CTWGDAB)di+aReQd~)BQ{jAvArRjR+kN0Sk(%RVG zAAGE4<_dNX$}jB#b}kJla;H>~!Bf+w{GUItTX_+IxK22hIc2yw*vfiE&PnjGo@v5I zX++j~vz$P5+tw9rFSzT*jWOTGy$QYRP{Y>6>$4T=Hazo(FqMm`{SRrYqqZVa6_#dCQRUEB>CW4b$zR^=m|El>q|6s#cHbX^m zkr6|qh3?40GGd1qK}?EI$9n$SxtysiqE=!AclL6k`VI03KwF6yqcgM0KFEy#Cj}t8 zoHViKT;PK+T|6G+vv~+9+WQ1Cgi$7EE+#qAithDk${&1l?KK?`{v%DdLclhdTwx}) z>yADzQ$9Sq_=2OZw^!})j9qIqVLGV(P#US*ioS+l9Xwjz2Qej?$I<1au13r_HDFAw zIh$apngDed{IrSnnmqyI)%;Fv4)(YQ)F<Qmf6`s5*>cyL6 z*mR)BN$suTxfv23)CTAzcD6J@IK;7moApJBI{}wydXe0%foVM$AtC>bP z+=(35i#V5~-9_bpw53ClPz8f(C}cY`wjOjNCKse#q{bKs>rFk2W6qjcl*bg5U z;f(znZ+hZu?5)6PL7A)^!JUN}X2|m!oa_Dm63xT*(6`c0hLBN`|9 z5V(wg#$!Orb%F9iK>c+YQtR^*(`N32%bFCLAuFr=ZybUFT{&)%29Td>evq(6AF=O-3b<0-EQMyr>x)D~%YDU=Uy|#c$IDk< zh&9B>pRM|20ob}P>x>sr{eYFJ30T}|+>Xg@AtvDgM@|d|8X!1@xtH1mKvML}Bdx?O z^#d0{K6!aj0@6bM0#H&-&?us)MxX$tVa;`isy_GvS+#+{C0t_L5)2HLMD`M#U*e+? zz9liJffHBj0>d0`owNhB<0;kfX|?Z9sGRDRO#bNYE zJfKDgAJt%)!v}(N=9=D#45+_WT%;BMcnA(wQ zGf;k+c}@DtEgW$76NTsy!=T*GJ2p~fA3mVJ_0b<;eM42lSHW5Nx<>qLJII3V_UPy) zTBOcIt+VZs_?w|j`p&EtkqUy_Z|QSRX62ng+l!;@(kuIAM_1c%)UG$Pe zVs%$Bo?<%JvC$pUD5LL%nNE29SwE^giFBPS-*lstswvipVb)$Af;G$E z{eUUlXq{~izjx|=A+Dr&iDqlML{xvN5n=9C6#DJzX1bqJ;dnNYT?vxYJY9Ad*5d}g ze>U32>dT8=_>$icn){F#`%JLC=0)yALB@@~KG+{yNs9}{EAxxmRV^~WMeP!jmzJr3 zGyH`67*>CufBCml4w!2U{_}6kR^s>3=YOzleK*DbVcDusvixh=`hMZthBAdnGXZ{I zGiJ$aE3!bz3#urs@g(>Al<68bD(L=28c72QJ8TqE3k*JHWVv6qNSt?kBprd&;&sE$ zjKLY~4GTlYAKNub~F zh>K3lD!H2V3yh*f;2$6)WY4U~i2m^oEP%=?Rzyd|w1TBb@mEMrpL+t+r<7NXp|;5( zP(tQU_G1qtpOz9uf(;iWQx+SCfFmzY(N5(94L9e*g@UJ_1Nnf=6t!V);`Tj`W#y5m zh>JX`STavSAFYgrrk&JEV8wKL+spP2svi?{<|-8T&EJwIr9WCh74@qZU=XaOSM!hN zLygUq3JZT!XP9`-g%TfsNEJ1+AuOyns8hr{R*vo8w**&=w6S>y2=WD1@uGt%1v~I! z>&RS}+S%;tco>?~)USPgyP*S3$>a)8-_rxsppN$q0}TlX*aDh1RX9 z`F-dGUv7v-n%2#^6+W8?S)Ez+x~0)UufFj$BW=b!I3r3{risOt6gWG7wfnodi{1XT zRv{Q2+TI6fgf^q{9v)SM<))i9k@M8Xm#!FWU5%-ML&Hi?^)o<&v%5@yBvj1qRmwR)e!mjp{=|i6}%xUapD_fO~SJeHp#DZUt8CyMcz!hSayG zhrdyNBV#O5?@;k+gzwd&ILhnieEjU)J-1gx{BR$MEL$9dMRQjMKYW~oqz!j=!u6z_ zD0FOf{)U^nt~tF*0d<0|)sG)dN@pL%8Mm7{;o*EC1f#FDrEQQa&V}B!RC{_}RkZILvA*VY)Q9Rp*+u20w+^S%b~>By^oeNOY(*&(+}m@zjuY+YD>v`YU!RC}f_p<< zGe^)_G9_0ZX@j_MG`K5)9^QR^jt?5~KOCP=N$ydj=-D$eV}vUfJ-3P%I1O%x<>`J) z!r#z6E{-`YHn1A<_Zu1DjH`;>+p;^d1Z>;kVY3{1Kzal3=IzDO457*_G~u;)Tm6SKgv)|IUbUjo`7`Vo zAkEfjPUX}R;c|SMsMA>6G-f(>GZD>85Pzw81a=SF#IrjJVNG$vm??nKTK9IC3Vx9L z>AAyH11;leRfW=quK8oZ9^z8CB}pcIP3it*b$hhL(m{Vt6w2#NnuO1YjvzR=1LmEg zNH#_RZZWpVRSHa=nxVU8bnoTirMT=_T{vYipq`^IN7>Y9{guZnp&#e{C*K72K2)`b z0h4nUx(#0gP*kZWtc*o>8s>8^7QS1Tr| z`Joi~v2*Y5e89(jO((vbRioVgbf4uBrqC<)yRY7!%(G2-D!xSl-5k_p$ z$<@DAP%oVek&@ zFdHilYup_Lj&^Vfs7tknf77Ic-6RSmhXHI$@0@l;84QJWf6f`cr=AN(0Lr}IvTphO zMAsb^c)e=UKrNs?_f9}L#H>^O%+13StC?)pQ%I|9i2SEO7AOBH?Ve@F31n$kjoYVgPyDhAQk2ce5lbv z7K<_k;qV#xu`RDM0~s3_IpaS{y*Mb?BpM%`!3;mkaScmc+K~r9|3i5xqqjBk@<#SV!GD?Lu;{T@+=0GG-Fwi+U;+(sFU=d%_j(~ z#uzv@ymGWfN*w*j-sGSV&D=CtFRRQmdL;W_mUGoQqVc^VR+}m2J*={3sncAJmjauB z#PBMSvJIHB8*oCYs*L{J^KGQ(_Dt=RsrivB0w%te{^`OY8u8@^ zF+Qse)qNlf4MJ?TDzWuPqiDcF0@~rnyg7xIbk!jM%w`Ski%Y_xOq$UeC z;m7CohV29^^3hcV%*`!;41~*5X%e*x)J7Xf&2{K0|B?eA4LVTGI_JjIV*z6lS#4S4 ztbHkmGk%9_x`&Kb$0G)B)(1{IvVjjjvf2>UIIrVw>m$N_9~FpfeKvqD<;;f5s8LF=T3+@ZGo5QT+O?HTC$mqdOoMn&ms`0cEpp+g zzJX!}C+Bmj`DXDhe0}}uTOBfAwk6e?VB5dHKJ*D5YvSs5&EB*$JUd*kU>Q1ELt^Jx zWP(BSD{AhFdQo?AYKL23@oY>%XNt(Ufl!9|CC$!xJ+ zB&}NZ#GMw+#BsY_2Gh_UGjY*4#N7waYit~UEmOsHLUxU@8rw5fH3Vh!R{&$xP;DJg%EEoU)J;r~$uK)Wa`=1`r3N@{7rwg*@Q&n@HWKm-Pq+|y+8jq}T>wMpvf2ydr_3bN32S10I{iwJSka4LP`X)q z2ek>;kh$A^7I`S6dQmtMq`Vu1fbhBLpfUz1!o=>768iH@_zdZAA}EpAAlV;}*k8ME z<40$no%#b?xHcp&YUHe6RCN}PD`u7~Sbem=SauC&pay2^9l4!4(n6ks!nCYj;RC6p z$n~}s`FkBZy-B?X22x+1G?%BhWYeR&MA5Uxb~VqX5Dob2P2@3o4X}9iKr>vUjl^ua zCXw3`1ndrM0h`kC_7PP}Oxc<7v2lr&Jdo^W$C>cvmL z8N$!W*gup)l!;tmrk88+VQjR=0X_QBD87lOr5L@@6-XE|gUld>J5xt<{ZX^kF5H$> zYI!Tmfo6FxPmm*1&Is~J^VJcVGnPzEjQnmmZ}u!*`BZ9k8&56Vc|vYtoP@vFZKe07 z8de_8J+QTqr#^OD1P8{lU2Mm&0kqdZ_LwFQ_Si!@2FMyy{UVjZadhdHBQl8|S9rsy z2bP8C`yV$yo%n6$MbtWQU`MR0*Ocw-!fc!M_t^*PNKBBXZJ1I-IAGC!IR!Fh2f};L zuPs%^4+295JP%8&QIIw8yOPHN7NP~kV!d@M#o%?u_J%@U3Cy{;@VO(fY6qrYWYlNc zL=n$|L61eCZJUzAxwYz($+1fAN{uq&!*NcaU!RjxWa(JxVFPuBu?&PDgr5IaT-pu7 z;@X}M5@mX-)9tr4^=MEcgy$_5fz}! z7)P!e=#5My)G*c`3xDAW_r@?0gE#$%9wP0(A$mkTaP4C*fB z6fMD`s7^~Sjx84?$(=KEs>_(1UHTp7S;Ww%A)kFB3`J>-J=WirGXXf3kyYc(cws2^ z3GsJl4ld_o%Jp#)4Sb@U6eOW)nA2)@blIKGQ*Z&55!{q#n;{g#U4F zb#f&CG0s)Y5vn~P*H|XjxH#M805o9HZ9s+ftL(=F#}YV-1T`JIcB-N#9GS>U%%+^6 zgd9mKC>A_7RmVDqb&NIKl|^cPPT`9;IzqbEEM2ulJ=~`J@y{C?VZ1^S6>*)dga^qo zN7>_khRG-&vdw!L|0GOkW9Q`{rqABfojEo5QhuLk-H&&`4BW)6caw-6Kl8 z-sP;e7bV`YWz)U7^tanvTJ&#>*Z+Mb{{O=dZs+)Ke(($rF~Otn&B+wpfAoWYf7b4A z9$bTpx&1B+@<*nQ?HCN_G=Z+aDdMbT@DUX?K}I*r#)%UL6hy8TQCn?0@x@`6O5(l^ zPK=b(nj5;FgvwFo+ic#=MVIRj{5QaKB-cBl7R!JczkqXELbZM@LZz7icYhuLMf;5lC0BSOsV?_DRe4u>9%Rz&j&vQ{&uN*=- zs2sJY>{!V7bJ-HNQu@nWWS0FOF2n><#Xx$H<*K5-n=~d=zP75r(%1|FXvr*6+Gj$k zB(?n88}Mfuh{ZFDF=}4b^~CTQjw&*-$oHi4YBsFSekoLn{N8|wFqusbf9pH3a49x9 zirc)7CWVA}H69J9eR=&MT5du;+(3vGOZ^LISY4KxG%x&7nQr8{6-=x?R)es3P_6bC zlvBp2-!B=YRuU zW)yAVsX55TiN>=j7tXv7MHRWwJqv0IY$(|nmw3{kC!;ttv2qMSLcc?gvPDk$-dTJ( zd3j!xqKzSPzoLa|>;Q`#auViG11wTUKaxsQ$Gzb}--)7E5E6q7sw8`U7sS&kak2aY zOqssw$0xwiJt3o$WQD4x`J1*EixJU5M}8Uw@_ z5-lgb(0C*6F_XMo(i6Ty*z9`|a_@;uPxM3EnDIE!=qeY$S`oe+8s;#bM;aim#YhF*K=c($-WTu(akiuj;$s=t<#>(B+ugl zW!VSm0#_ajKdFJ!$8O8})8+Suo&2)qm|<6tO|^kdy)h$A(nXH$)QavlHZ4@!TG*~Z z-A+%&)9c0Na}!f&b35THU%G+FVEfm@yNBI!)&!I%Q#g2dzzpV-5g=z48~15<*xTW~ z%7?42(vTj7=(4ZUDB6lE21Wa;&7uM21Ek?KHybA>FrIb?(A`B3t6H#*QWJU#)Q?Yc zCd|`V{+W4F4{xIbXU4it{I~m=>fjiqDm*R#R_5zat0(*0?YW=D^;xqH@=AMT{*;|x zY86rQRuElvb(Y>^%PCrZPB(iehpC}I(@lQfDiC?wR8^M2u_j%*F9ev0oEW1iP?#3n zr{TPLesOcQU3>!nt1{eANn5Y;?N3ko-Z1}%FqiK>`M><>7phx-{pns$IyHTg#^3&Q z0SK)0pJIQ=sRuFq(+pC1(hC^LP-5LU{7lonI*R5XE7(MLZQoGO5q7Pty*=JGDy1{< zbZ*)Gck#A^t{0~EOOT2HL-M*HqGt2^STcUU8<}~GQ}WYJI8murvZaHg>82cBCm1?` zSF6s5heV6r#^0FKRVqv6`H-^1>cs`b1ETdx3j^I07_DAY8n)0uCF=FM5=_f0RD>8hpn>vN4(gUqW~QTL!wRiE3A_)ym<(V1G_#2~> zGA?YH4aBVXhsUt|4?i0w%AeWl0BdQ}zL24M2Z|{Zcy3|eKQwAq!?C>#AHUQH{rtjf z9plkjCIZ89=8;6s{z$|gxS0q;8XQU9j3g7vV-mxlg%i6{d1p2)7cN*OFj+Qy@c=)( zD9)Z>swdhS-fLWZNXE-3AkJQ6vaL9wpUmA*c7$dUzv4QsnvkCi!k zn&j~vNJ%=yLjo@xmVd-&rbW&hI3N589)GANL#(CV_la638{#%te2)IpMOe$juzR@# zvDa`-KIIl%=ni3i;1h_P6b(tkYtIaoyTrOZX4SP`M|4iEz$5$`UuY+UwnC;hjpgAU z8FYKPZK$=sfP#pFSK5cbyo-}Ankv6Tw1A3fE07x9MPz1&4jZlOFsWh-=Pq4HLyZ31Xe7lVjBgBkOi{QGU_fsE?syY!;5K zQwqzV$uUV*HIo8I#bi@N(H$X=0?OQqr7^sKJxq}t967X6c#{9Z6Icrr18hr#LK3Hi zp;cl6@Gd$4rAQ`P*7BAT7TI}=fGRzU0P!2~3}w>BW~V5Jyd$g%vG6Tcb*d5gy#>23 z;o=5&u4XitBnaXy8U5k}51duu9Qbv1Um5IICl{!2Z-?R*;dB)f;2w@By|p2^1)tcJ zf3>FmP->Ffvs8?tT2`urzutpUR@Qa;wd+H0RPp6fv`SR*;^nB*C})-+TrXT?vlmk( zw>S(AH@sA}#ZHnWrSt>x1m0$eM%uva)8DBA4hVrRjTU5B*c3YB1y*82`$(1Es>q&V! zUS@Jaa@L)V%8@iOOusdF^7C{!pxL zgpv-jq)Ff@vm__li`GKz*Dr|Sk&mUh@?hHXcNGi=+oZQHhO+eU_MW!Sbd^hQ4Q?CRR}c6aUm z0r!{t80%W=8gtBX;)+80aeZak#orvYyP2GXK-Bbr} z!oytL7Om6c+eH%Inw*M69=@6cqQg`%beoKTxrUhrUQ-jEYx93^Oo_{R-l+`J=a5Qf zBV^AE!y}9H$sq;W5+}yExdt5iin9lQ7kt+PZkwv*u{@OZK8f+}?#9W}$;`kyGGBNK zKK>2nR9(~lF8BF6{C!biYSHE^&R$`Sj5x&XjNqm&hye>D$FoPChH{RDM2OE&1S)^y zANgL!W4sX5fHDn{J}ZJ06iMEQKl>}@`|1$Ppcow4^^teHg(`J|vnKuRKJ0SI9^lM~ z0cTnyA@&g8$5DrHB1<}KaY58!3Tx;mCtACsALilBiCxF6=Elt);2<(%8?RVm{KG?J z+zxd&uLVAYn~Yds4LWh>#5KH0mhab}-6a9rabTRYr1ofbl%vf0*`?x{{}!L}sdw1( zwO%Itq1LIXNmq>`lN~?>3enNz-3DONM+K%{pl6p@SOER4nM8|W+4Q=DgQ;@D?pAnT}xkB5id+M~5%p;;j^s z%EvLg2UiRyrDe$8hz>T?_`_(>@0G=6C_vl3OdwcC2}x#@M_&+ah(&-Hb%58Ybg++f z3Jpb4#VH29%60Z0IontBAo%sFOZJ}m(U%p%UqVeFac}&rD0Qb5n!9h8;%*shLZePz1BGXM+?p|JI zf5qX)<<2akY=?`Es*2>k#+568yWBcN77fdnqHHhrhTc`X14&_fi3|-Y4~Bz?zX*6Y zj+1pYbd;b@=g5k4uq(|_*~Y7L9al1Uw3V>fDDeOc0JDO?n>bN{+#Yv?Cm?a?D?Rs^ zPLmIo6nKb{mE%beVS_7433k#6)gJQR*5b_$Oq(@$!L%^=B!CP7PBml8%@lBRlQXqd z`bF!r=N2WFma6#okj@loDkT(@^W9{iG2?Afv8`-n?T*``@2mHHbN!qS5VU+-S7se- z(Q*XJU9KBhP(aEl>oa|M6WQarK(|z}qwbifmF=c@vA8?{o3*wYu-YTXRH;&pbWHC@ zSt`Ouv$A@nuyld#Y1U)o8{E&gaxHTReYDey+(=1+fIL{#L{3&F%b^?B<9TTiP)~2( z@}rwG`Gi?!p`b*fc-FOF_1F1l#P`cZ7d^%di9O{V=0{437#tW}J!NNa?+Ibs<5v`XcG7z^^7Rf+#tuxUTw<0w&6Y-V2wpC6$vWycDY&$2xWG z`h;T>TmkoKk0ij1)<@BR)uN$!5wj+eewMb1|HcjjS|Kb~6f}!{j_`Fn_KaRmvusfp zhuY)|5+cbs4uMRI8woQe8No4kQ7WWeHCMUW&Mty|H>pVfNLl*eyQQHmEpK(j$wuj1r^n)wq`2;D3 zXzaEwxt!V}pl}$J1}_!g^_WBw6-uv*bn!R{@}ZXOB(y=mwr!>?kHCl>UjgAZ5;qpz z(sPwQ;)(mTQ1_A|2$MNY^TZRGA`uz0u`YnPwvuI8$%{aSGLvTY6A~ZHRnYsrwEQYf zN1OE;zR_ zW{Y@F(orK!GTM`R4$}Sk7HpGL-pukQ6>5xJn0&?vH`uk!y1(30i_sbX`FI5lY@{o1ef&?k`X_`|;9nN{3Ms*?EQiz^!^s{$=e z-2J?Qolz%8EMY@Qle|y#G)J-RY53zD)Bq~K9bu&}8d4%D0OxG;)1A#aFyImFT?K~6 zo0E$ax^-SaVz66~MT-`3TTrwjj5+5FC7L3_WCVaR(!D9Bw5qAnvI6FTbqiC|7T5vW zSsv#?6#2}D^INO_QsjeA=uk(l3|ig0|FjwHY>)bf& z9bk)VT1WS4>-+#3c63q)Z!WsOu9nE*7INgv-*>x!A{Y+hT$^Dg&NF!iP*>r^OkIQ+ zi1--0v58T)Icu!o5mjnf<>c+(DLYHC_u`jpP}Df4WF=PlrOig6VqUM>XmwE2rOv$; z>en=oFGJC*Z(@cv>qwCMqQHA)7pnp%G_=bNjiazwie;wkcL@|vfAULeL^0-5OEh_p zQ1ooc2nbVaZj=&_0aZK~qv|nsKhx4_hpdRf-uSWqr*LC;BpjNFdX2Dz*+~6k3)3K* zXJU%C)x&c%p0-I$@Lmn$J1xemL$SfhTecv03`et~_CtA%*%Rmkq9Vo5MQXm5xKf(6 zr(KFUH-4p}4ke?)H7(>m@sR2$T^zHH{=>M_Qp?}DL=r^^H3g8&L2g3H`xJfDIO;$h zmZN*F3gWHK)@?}wegP(t%FvIzjvQbHtzCYQq?*}smiV4nq!3O!$(^II$y$yDP8t>1 zZ?nc1(!0qU5(IXqV%ecKbk+y~N<$E%N$a{2)eD~~R$w^FM0sPYO^<25KP6?xra)Yi ztU@YHa+)sjZ13H*Cb^1nOm648yvOs~tK?DMlZ1AtILW}_Q+~jYHMgSTQZ9fTSS{LI zTs$$rD6rCFF3E&j2r1EbAtlwIbvS9n9`-FB*y@x%OD}i*V(!y+ViXcXRZe);JQI|5 zO{a*ctEoRv5iMKq4OwfiITm}__#R&aW9%V6@D|b1)E#ioNI?N^?vNRYm)h?<`n6aK zuuF?Eu`12F`XGh5OX6)T$C?#TgO$2SV~tuF-gR|fm4VZAQNRI_JijWA(>>4jWAWkUe~t(F{BJ!wZ|=nPf1H}KZ~t)@ z;OiFf@4EnMa({LKyr*lv5h#5j&4*a}M!5jNl2}NTw$roMJXU)7A3<1}CcjnzKEGB0 zFpbrIu!Sw8pk-n2ZDggrA7#+c~0TKf?t0Z!}B4QnN(sTqIyIZQ$u0dvvT+r zbix%TfJTdaCJ`@lC6aNJN`t3RIz81_cToX7Z2dy-RoF(sO(vPoX0-0qeHuJznmWU7 zIlvx8aFEb}#kl9QAPVeVWY@11V6ZAXO}elkd+`=fdxLGICzVYQDZfIRh@}Tfy%G-O zl|Cy4MIETtxLNrP(geks+6yH*5kunJOJSrSJjKo(q)y$=7Md$*EK^K|5AM99!-nOh z^N)zo*eY^u78QH*xlW7+@V(J(|Bx)Y-`}cD<9Q`Nf7Pd6z3gC&1cxva!E>&luJWM( zs|_W_6v?4I(i&3?w*iVZinf7rg-K|O7BbX>Y}U`lR3!u@X9(`CZhh<<4ya2(FrE}3OB1vn_R6S+4-Hu2c@ ztA~-}NV%3GU-VZMWGpol__Gq=>9S)lk&Kc&t3o*fjD=aF7JtC9LogMTg{sk@C`-f8 zVl0NAVG=I01e;$hba-bb*>6bFy<~CIyi}@Jzl7B0#E|D?YFqSN1{LXIlVd-r%$l6O$tqhJ_M=bJ8PSJ;j+Hm(a6?^* zYZ|!%?~`rK>}Xr7SZ^rcdZI-7thA$b8HBY-4}UYefIakZkps{I7Q_Rb;fX5-%MH3P z2!Qfu>7N$Bh@UQk#!fi;Rtt}SJn^gzR+qZrRu1Ia)$uf?aQ!F_Aj^;i|cns`x3UU%35>$CMC)knKZwq4N(YMpYz$04B^7$6?6NFCk#(2y%2_~pUw$4es1VNejY}{! z1vu);5?H17SldnrOfOlmMM6Qh1};+$xJGa#Fl6WbY)%V7MgrD+n}A76*r`tihaS;eH0q7_08i(l#(`Yq-t4~%jAJ4ImO<7dm%E$V%mRn< zbpgfXT$Gm+0*%UNcG2~(Mz|Sgl23tNoHuqS;I%+SmI=#>GHOr9fJ}T4_cBsb$WO|(13D$8JjlB_ zMNdaQ_j!@L);R}EBtkz)(pk8n4WAkluUF(NX_{CeV+8JzDK6MDZb-3NJ;wJ(~kcPP4Vs$uE?{Y7IW zN78<3Im&ns?IR?wU-oeHXtC94)i7v*MXoOdAKAHE-vo_W>2jw8?LkiAF8A)FeZAsN z#k#Z6xUfd|iCPnQpcu$nCtJXO_Drm@k-I$R!?CC~Z1K(`#Zl2Rg9y_xO4HPxNv z!?ynUvG(3iR}nh#x;lNvRP>;poiSbVv4#Ko@bPa@==6F!b z5VMwuYB#YYAhFN#G{MO;4}8?Qu~E#?gxCdbMDFQTd2A51H2u3S}SNx>`1Ra4&l$}(~q%NIs*ytowz32`MR6RhL{j_#__pvHoaBxkgeQTN&oJRU9F3AR_1jHplLyt-_@|XWpEy z8!K{KD{=+~4tN=_aSx;{U=zzTD+&hSWTei&s<2jHS61>gp7gg7hpa?eKd?xVp<%Rt zw-UK<9OD~!@Bqi`#h^xZ4W3M&xt8k&d*~5eW<%S-W%QvliAQB&zLrZwt$e0H7|>a| zfq%*#%nGSk4EyXNw%jOmJU2T01n$|IPUkY{G=*}kvL*Iu+CYxENK0{s!3{3@aaN1R zfbD`4Mn{eCHV)wW&8z0HPU78=`xkF%(ab1~p3z;srPJqda?||1Vj{^jM)_c~4m354ziaoON@ff}Eiq-2~g9sDt zUvWwL^d_1dxtEOL)vZY=Ul$+cr{m({+K}myq$=6!+TZ#S|1L6;l(PA`&y@`}`xE-@ z)3ppQsO099sl!`nKxxlHo^vfCS*DJsM`m<(KQ(pI_~@r4rWIp%2`I*+WU8RuX${(- zM#@KEFl1J|5?c|2*y_O4Tt+R=u5{KL|6U-h#Ds7Hwh{co&#JYXC-$fkQz5iXWXOWV zN~E#SXUMb{K$3eq{uGKE0md-2@!qF?ND>R4u4!;2LrnHK9niRA+J}`pTn~d$@5$|i zpAyjBt39twTHb72S~bhCbS7*F2C=%x;jjH!-hJ% zQ@yykZqy);6%K*r$BeUO02?e!6N{H6~kQyVJP^!&^@!XMFI`4QMOj4wYz%#+E z7LLRZLGz3*vFK4tJ8<~*T+eGxB5^i>q3@sk$dieZ$W4Z|;lLTzP6c_HE>Q0*U$h9y zUpoEt68YH!UM-6!I%%27danNd5}l(dyqPG?6U(GMJNY1)zQg&#%ObdvcvZk$aAUOC z7|G{s+4eF!8Z-Ik+RffF@wP&=P4MBLq*GrxNfObsF+Q#F;>OBzb=&e?UaI89)4FLb zQ{KCg$CttmtGhi@P(j_63V!NJqUIO9z@q@&c1!p&zJ+He8rxNXnS-%M#+kBr(c&yD zOY!HqPz30_ui&sQ{LF=o@u*;*b|M7(=+CDHz~CMGB(z3J{389aX_@4S4p-KkG^2eH zEcuxU7`kA=wWvMvZvEl`OWs&kSl)QN7g?O{NZql_e5vh%?T|$<84TV&OEq4CfRSGu z;gI}wkAPgr#}})?&CIeY(O(HYy+n6AQVr({Hl=$z3`4?^PjQ!24^gvJadoo5h4qp2 z8t`QX0_c%TUjXJH<&||&r3o3;@=72HOsLBUg%fXaJi0e}Deb{q4@v|6l5Nl2t|rK5 zyX;Y&(yXsuDJCg)b3182Kd2;@K7hB1Hn1$4MLj@s zQrA-Gh01*+p?6wF8Nw=H1ZBV&gssAvrvf+ys zJ{0&G4`v`y)q%LcLjh_8njxz2oP)1~xv7b-JB4rWYPEJY=~LP!o)-Waa4O{ry)2iq@! zLE*~Pse`^96XiO@y5e)&&UO_3EEp~JL9OGI(pLx%f}yt{e+$RY8102DdBOMjPJsaN zSi^Pz*l-=gkVT;+32ZXJIFkcKpJ`0;&pMireOUd;XO7__TcxG5qaN$0?rGmB377K zM!RX#9i=`=4X_tS4>zFArUhTA(A-s1CPU7)2$mqc7V;nCVnndX9J7zT@lH&H3rOSR zyD;4*v!wBLF#i2&YzTsDcN-WHGlG2++1FO99<5G_G8*$8Et%`w+YL!JJa-i~L(b5C z(Mlw$s~&E(yGFFC*`&4CHVn(*XK^85;{DVs^}mfEzehf&*s z{doJ%6s3~DLL;~k~TUukej%TfS@BUpRoTtP92_LIbivL z`6Cw}Uv-`}`CzuN^2@{N!~jqNaoWd{yd_>dZyCq}eMOie+DVWRuCA>|YG^G*YwZz9 zhw@@09*_p~)bjnj$-4q}Tm?}H*L{gLP{$%G0U4W&-SuwV{jN3Fu^8GndiBB|v z=p%qGep#^EC>aE_EWNOaS%^7~bR*xJCKnUZ1W{ze`4JjPA?Oha!V=x;_wAoQLfQ&d z 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­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�G?qg);bf{@{$Xk|*Rwh$rD{lsQdQ4XY7ps#$u$oa>pzjhjF9_8xfE zA=wIhPWZ3rX@?Ems@>?rznq-*nA7_|`bTDwm(3XS4kOTIldvZsTJKY*Zn8;OkHnRI z0)89zJLjf;QM>MR-5H>nXfyY>sagpVc#mia3TB(Lj$HD4WMRs8Cq3_(v*As#ZSUkd zNLjDkK(fFes>OrMMF=Bb%S#zk&BBsVd{SdaARII=$;~y-bl1}?_xrl;i)Y^nzM<;I%-7fzLQ;5Je9VSq0YVc;W|;5O zmDa~%+8BPN)NyuKgl_Vg;EE8mmhk)RK zw_nxXF!M=TIRH2>^c~ch1L^v!a`n*RccTZLd;?J&Z5sR&C=M`Hh%B`+Li8kMftEq7 z8h@r%n{P~3j{1Gu3J`(@oi-?Kv}zMM~2rdNA+R;?}sD{J7~ z!L7k$we8C4!^yjYgFAPB3xXB>YqWPaPSzEpf2lsPeU9esj}VE7QnB&t=wLI9-;71_ zwCHu2V;EbfjXPy}W$MrsyC@UEQ-uW^9I2_GIHZiHAOjoKmLCkUp>&iy522b-=XWG& zYSmfLy1EaIe=nYT=e9nV(JNmyleIi1Jjg$M@4vRzb+_Ye%-o3LTPD{9tg00Wod0gs z!$BINKW*KfX`N8j>z0^~v;CO0-0>_(49Wp-0prr+0z?Bd#f_QatJnRinaQLqwB>3r zmTQvqt8UK2)$DNcZ)9DoE3A_Y=0;(}XX(ttD%NgBELIF&|KVzRb;`8piN40x%wU^O zuS&2>o2|)y2N84_QTjS=tzjharu{Tl3GHaDHW1XL59i1UH-Q>M(MSKcnlHFkX$Sdf z8m8HG;}9I|J+N+{$O6oWwM`Oa*p|x!jpj?fQMwn)Es#3iTp!x?Z14eA?^qZG>fu*Y zGDT;E6(PD+c)e|#b6!dbSKBN~&?ysg*`n?fpeL`@nMmcWV^kShxy5_y@`n7sVHXC9-)x8Nlevp)7A0_&DBI960~4gvtan7NkEmY43f17 zG1&@{N*`V6`=BcbrfB@h%m9vl+2dgqi_slPJCg7&gLkopt3U*Y}QTBaSl86zb=08-C`=cj_MOzIzka!>=kJE`%W|v){CDlC?p?9xnl83N` zu`gK(maL*D^f!1+V*3QxV9NqL_?AI+Z_)@8p~wmK+06CCwTzp(0VHEDPxiXYCc*hM z5h+hw;WxU#?v!IN;wCc)JwrCx(UP43ntnjyXG!Bcw^7`0XrUGJ-V~4U)AU41h^_VV zFeQPimQF8%YxTfJ9O)|KuPPn0hWSQh+@1W5yf#mzr3dh$+lxX>Mjv0{Ab~j?)w)tr zkCOp6U z>M>x80hrwy=wsO-cC3hMl*Q<5V1rbN@!v_z^wS}H0J{aPkBWr#lWX+{<>&EhUv zjioaS=%usvWUIu*Sq#cce0lj3O)7U$;RmxF3Qc_>H}HyX&L%`!tLwDHC$#H{?TSy; z=3h>*PhP;5t9rJ~r3MN#_`(hV+DvA3#6?-9aOzA!qk0?NnO&k3P;HmN3&IW=Og{?C z#1ZzmmY+2DC{C#e;2yZJoA=DnK&7=8j;{7^?0;lWm~z_?prfmkU|wKpW_ugTbHD>c z#;Mb_1fHbZpp9RHi{a@-8ar(++sm&X#56+A1sIAhGxgm3Eg%vDtc5dMmd7DM%wzvha$#C6al z^EWF{4uA58*TV(aX2ajX2M{yCAD3x#{CXW?!zoDF>%k~>S0ggnPOC&m+dz@qBYqZI zdyW}r&?vW;PLv0hpC`yEWw0-#Hqc#Zmf}Z4?e{iRxzrHEm!q5!#?)>R^q*H_Ky^x( zwOH6YIoV6ORc;8DN3@+4+;{^-htZbA9_h*32L77g@S7;(b?6-?4 zBq4?QZnTNN&V8QEZjJMrJ*8p^6FWDvqZ>rLqX>qZ)>x>w*k8a*ivOUvgIp9aAgSg_ zCk?s0)+(EaQ2>CTB*VZ9DL;6&#R%eC$pG zrxH?fSq+8sx;&ktfhQTUz^g9)tpz0~nHOzAmnVFFk8MvtyoT~kE1$1$9ItjUu4yX) zcB$Okj9)_J&sc7EXf7q-rEcU5v!8!?l0-1-No>r-b6My1(>}I>6q?5zyY)~;!mfaS zTJR4Pk20Vbgr<^b@jDn!Q{?8jE1EEo+o^}_|aW}UEX zaYXzodq8p7zItzJ#j=ggYu8cjtCYravG(~}=`r6Ndp3+f&b#C>uxVckw@~Fhj_9HO zA|rYcZMqHxZ;fDQgf_<18FWw9@lxe`fxKHNu7nwyL!e1i#bFdQ!~ZksElC=DzvS!~ zpKrevcLpiYk-rDq+v;5@h>W_v-5MlkW2QguO~%#_JB&5>i0YHRR7`sf@-X{q`p?rQ zb@hW)#;`2pDtODX+qRCE=f~yHtLbhZu1?~v*(BysCVGv>SJ~yq=iryY>=)_#zon}C z6YR^We%}hwz88c4gD2(pt?>T?UtZbn3n6}N^%$T)Q3#hMPzmt8pu7sA|Dv!^7>BwX z7|v$PSn25AblyPO{F+{G%3|xv7X;2Puj**9-Rg8_e7K(Qy<;c*625P+tH2*xpkJsP zJ!ts$%*q=NVby38)lXC^i~iFL*Rwb@J?eB=ik~z8Vs^i|`f@VW!lY{t6O8e_7gs;I zuGzw1V$7bWKx#Eg=%y8h!JD4&<70f7h&fA?`0tyaj^iTd2an#llX%-o+&n;H0w^vy znZaL2#pdJA0Pi#QJ;}ls?nUvIO=pU0|DE;~Dr7-q@l+lBpHTNQ(b?i3&CfhRYX5 zsq+l$XHJuS+n?yL|2~I_7i7!=)jly@XWtP(s006VExHClzguLqUsI(JM&dcG46#g! zD8J?0te}dRd^x-aT?Q%pM8Y_`1WQgKfByp4BP6bBj~b*JLbffWn#rse1~cek*AraZ z1j-9D)SsQB*9fICIC?zde468k>wtoRFw+>-`93g!{q@|quIBWXdN~4ZQhi<;)J2(MGKR<-|$eBeM|JGhhI zO~X7ZpF^s2N&S?hMHu~rTOmQMI5X8@A3&w@YTSm=?*~I#6)5I!Bq~R;DshOd0HyCB zHB(;YGvgSz;SABzJ+(3F@@I+Wn@vZv+E3b`22#~DpkhFmQx113mhz6Hpkj$&Mb<;DGzNyRM>7&VD`tw7|S|0_p@&9ZfZg-v9!Jj^~T z!4plG#DDo(l3pZ#`&yo7vsU%5IiP?#Yrj?Iol|8&7^GMPm@{>!4xxMJchR*c{iApH zP*s~B8NpPNXi!LoRq8SSf}>s*`(1%^q2V}TyaiH_+-!n{of(B);jXYsy!l9C{yYGx z01&_K$H-p^wAIHM>H2Oqv$b#DwiVqB9Z$lM%IX5zg1 z5pS{heQ$7KM3lco8L}eRjdBw*D03;43a8M$O)O4uA94uNs*;z)f|gjMvf1eP&Q-Fs z1J$)(UzzO0pW24Pbkg8`Spd;|rJg`b7bi})UQXygbN4Lp=;FmSTlO$5MRF7Tn*2I= z&>`B8LjBga{g+U?Kd%-O+c5j6Ak|Y8uIST#nL|ZngK9*s*+>Qp~|ywm!$-{%rw@0VQA;cCez)RY|w`MEVmH)u@#56lyEkOP;E8Q4q^Ue z8ZR2o$RUa`&4?`WLK_B;^925RIHY8be4i+X7Q{eQHz7r3j*M)HdUTT;FHObpQe|X7 z&L5y-AR02~l%g;yHx}LF4!If{8Trjg#>*chJ2${+$G%4TT$M9oIHx0atlbZp-RiKt z605><$Yuvm5~vW7BdSa^)yj;f5m$mu7}R7zk55hqw=C2q1Bh~zUUn8q5STlZ1q5ES zfz@QN=FDP*Y!?yn*9*2zxE$P1qHRNThxhWleYf$VJhS33wjwKbciLGm;UF-ag*~q` zo;R?ya$o|M>=3z)0nUE85i}C!`rSzK(qUyZLARKs7UjrhrY3EfajC1Q>>x!#A~t1Q zZ+`>_nQrGS$^>8;eM>be=nsY}z6F|(tXiuvCR|SQPQXAz$XxWD2x@8c-B%~_;dVJ> zDMJ2D^~1~`UaaE`)WbKG;zS?BzQe{WQ_J+UFM?*N+}n-nzJ2}|FiFZkLN+2)0bNbo z`Wi-a*1UBT{@oZ%?n=a1MDB@k?P?Iavm80>mS}}b`vDTPP27gB5972c^ms;=dZ5kr zW?w2Pxfef+Qu$|$+<`7kfb)Mf)E@w#9fhKjoF}lXN7&D7kWj8^PdZo-BCH%Zu`GO|{_A(d(ZXH;(ey`yR3cPBkD z`csdd7fGYdccYm*U%6CJa+(+~#|nIH{3BvUgT?}8nFZopX=3@sNWh~`mZ_E+@()Br zz^|avx60U??%qbTT!WB>C_h2`M_6qUAm7EVr9Z#vAF`i?`3#HRIj(CPII4$h+Ch#i z#<}*d{GB@(ppvae0?lz2%`U@l$Td>3V4VLPpuOpPd%A+;IW1<6T{e1!+)|K7WdDZw zT>y0m9|u_*2;(n%K6;AtCYDf!9oAPKm>N+x9Qb<4Q6=2Aj(j}s8-vlgMi%WU@weEI zVB#ugE?D~tNBSj*2RL2JZ8}WQ&7THh@Y2Lrg=xKLeFZ6d#<=}UGZ3-gRMG{0!i!w6l$(g33jw+M#J;lcapq9rphc1 z&hq2Dn2RqzYA6yiVAjXO#R+1rF&T_mHq7A&^aGHaNs6Aoe}dX5irb5!A?7GZ z9Hm5qepabez$-%{fpc6Y)ZRow^Hs5z%n5NrW7b_6)1eip7JThaccG@)sJxXv`585e z>0Z7;K(vsvBu@~+*R-#2e8x|YPmU-!W}j6y<6)Z$?JS~+w}VE=gpKW`;aH`2y;v&R z##dBByxV#3qP4sY`Wz}{{vda;`PpyF{w%o4zSBd;rN|_ED3Ow1rLrNN#gvt;#B>yM;Q63SHy@pVzU%uZyF5Pk()c*bSC z)^1&7I?YK+zwiRvRa86Sjg-fyF8x#)v^6nCEUI(0=3fKP8R2+``V9@43Os8BImR9F z5Q)=buwrP=_JHf>S8ue8p$5s-8z^W@6^!V4CN1NDMG|rYF&FudXVbZOI~ztHC~-Jz zxrn9OZca)Q=ox3J&~&B#los5zA4_d*Y*?|H36GIN4R4%Jv7IaWwX^4-OwqB~MeJFo zY>*|W`K;@Fk{_6{R`O*_%4QK4uDSYqXEvXJ0g{gS|lxl1C zBky@TT<4hkdzeQH9byT!%f~a~T60HS5Rts`fqaY|n@h@bbwDX7lmy21Ly=B_=(NgR zh!@R_oaL|##|9ULQHl1l#V-ATDn!;emNXDO!dcoesp3fwzruU@dvjAE4Ik9pH;#&3 zB6GYyh-f|{e^5X_s7-$tnZnGSh(e-tW9qZ>*GBfx{I10a~i=$TP!n{FOzEU_NK`Sb&iIv^6bgG$F@fqZ7weX z!I(ZK=LRL;F|qmF7+$BYmz*Fv;*#{){F;4BP}Ik55z`TWC?%cTC9QB-_z#mDTae20 zoR@xPp`y_tN8He@xTR}bbX(fLp_uIsV51pceVX`)W-8MxJI|Sl(;OjYUw~bbEmsal zdQ=wN;I@IXJG8dgVY`@sf$^SQ+t`P=L=h7K8hN z5h{ovvLD&~dp#?dLRX?w*Nm_JiUN`4uh{a(qq~g{UQ;m3jur}H$4daOt`-9WT z(Z|zGZF*yX7Fs)52a%DDIWdNKI5Y$SJwO`pfpic=cc>sN#Ez-<>hGC&GsfI^W~=;O-q%}qf$yMO55b(Jm243+}~@bxWJDdbE1}PpttW;b9ldH@x+$= zk}9Bjv6kZR3Qe+qqi6NnbOF|;Jy157n#Ub)6;BYmvYG5dTbRG;NNb>@#G+|Ep#k~O zEm)BOc{=wtOu)9bH_pP;&Z~zVJ6?A5$=`ID8rp66k%0=ysA+S%m$XkDo$d>yKxV7K zr=}DPASIXrE$UP3-&cOA?WCo0j@2a`qE0SraYq+B2x{|W%BWd(a%6|=ikH+WidJLsYmfaIAN}jIps;WDR3S~+iGe5FF{+wEy zIJMf9@9YKT+dkiPU7MTk2H|BPhC4p1<*`#^E84cLEh0#@SBz8}g|5zfI+uvFEz2DX z$ws+ACQy+8$_~UFSq%$psl*hNgyt&F4;_JJK)FrffoG(dGDNRB#CU71{}dVqTep*2CJHD^c^yoPbjO(Mh)Lb^ zV@SfsS`ErBXQupC5>cIpmMLHjo#2n=BAA4xm}B&jf-aSM`B_2}>6Pc!?Kyr}>Qu#t zoXC3CWRPRkr*~qIR#-09#AJ&|{rY21xZOg2X#OKhFi%-!nK^k^6(c`Tu#K6BiH`f zIs_}vM!SF?kBnDZpa=%4R`y`2lGV2g>bSAK^1D&w-E*-DXI@CbvzvwQQGX(p6VyfN zRmQD|V=xqp_*W+ zai%n68^aL-Y+xU#G>g0?{tO`;Mw0Cxo#a5q2LQuB(TJEWmH7t=i4ihc-(s|MR@W!H z!HSfN%Av~oXB9jv5V!dqt&D`Gw|I_`;s30TtGAv@9RW+cFA|3OViFZKJ)W(&$9n{8 zZA}u$E0z}J^(gVB35^n}y`g>2Q#Ys#s9d|D&HA}nZ=7&mnT&ngBUd5D?2(Q`^6MAz z$C7e>HGbW>0h%rhK)_XmRSK_Us@_==-Q<-43*k#(EHJ0$t*4U>vFI#`@hfpyaUYm2 zhBfvD{un`mD2yP$JeO^K6~lM?4KPzQHOAgLG__O8nS?-WX4Z3O%>49lyzP0r^nm~0 z=+U=Y15{$Bq43Z5|9t)f=J;*K|F75*A)^F>;y+~?@jqfq-@pA|Y-vi>+V=lN9Rca~@;!Tk@ac*-iLrnt&VxO@u=i{Zu+uVTK-bI}UG%X5*JD z>k2_VhnW_FRx+wP0g{R#mu332+sXq*HDg8{zuqCIvEpaNDW+XkokTN~^JK6R2mXR| zi_SN3eXCnk>J{*Mt={qj$oNFNltP^6g+w|q5=^PPAqHtRmcv?^!7c`+zDAVMV`!2d zRM=(4jk>{-j#mjig9&WjCjsi2wTth|uR(+Z72VN=5*^L@06#{|@Qr6-*QQfaQ73iY zj&Ef=uy^++(D&SdqC>czLQ_x&C<7hmSculVCQ^uGwG+zNhx||F4zy`i9_C!Es~-lviO&iW3v&pkZrk(6s>y99du_63>G_ zfM=j4P<{~;>w+&f{Oe+~ zvORe{scIoqnE6St#3Z-5BFA*^L}pb4U{yx9-i?JY_9OBBTyUJFlP~k)hoacWS|-+w zwfP9ZMnz^vv1vHLnl8Qyood2gW0ko9V2YvsDD9Gf>o1(nEy#Gytj>%)&H@jcct%;U zrrmzQSxB{>EzIO@Tpf4>%lvA=X_2Y7eH!|U=tf+0Ro>Dgf-aBQ$oF_7gIoR&;Elk3 zk+wVtpsZ$S%&P>cG=YmB0&${567!y5g64EqmMfQkJV^q5DY_nH=4#9E@HbTZ*= zd9;$%JR?r?7=;Qvu7{4~5=sh7>CIqYkgvxtjtvrFP?=LpGMZDwhBODBrjw>N=}o91 zhI)XaaLu-fKp__C_ku^zT2n3JKG6mCT;pFca!KOgLVenu5t1#;v=SZfa%z{-a|`Nmsq}=OALkV-+#y?~smJm`b~4inE}=l7X7+Z`Ox{z>f{rwTI$3`JV;^r80&i{pyNW$8{$9fI zN}0T7tk%M7oj<&`WGDt*`5a<9Yj*YYE3a8X)O&)MLH&IN@oT1{YI59L zIL4^%%jTrv+*k7S(_S~wtHe|K3BT(1}J5oN#a(4wrQbBHH_!+g{Y&` z-|NkC{sFD)tr)rj3{{_3nyMYJWIvG2MX{SU^d{SKuCyZVdb$p;Kytr;T7wP;cy|`u zBTDF{KZA?|8t&+>y#hYHAB$pT!Q37)$s!jN;3d9o*aH-AbDj@S-eC^Gb|Iq};k*hF?gvG?WO;vM&9nkbKEpC- z1(fpzi7EKG#}oNw7n>;ukbo$5Y863E7DHAh+hH@#x|SlsaI{q?=a!G_&Wy0-sxAdyNaD>2b;^D*eR=_$-ajJn{O1 z-H8Ze4t^3^L8<;R{X^>@%uB_9@{vP!oJ2D-0C;ACc@n9BQ8I!-_Ohbhn3aM=UdP){ z4c;X8IJ(bn1EiZ34s7j@VmA9N8f`oTPAEx&1eUPn`)20 zFMLhEqF>k&B=LRYcp1FVY>)=ZRO`zyWK&S8A+1uKz=Bb>RJhA(egF(8+B4E2raW|| zT(=bT-}QhnHbbX*qqIco{s`-(=~luS-Y_=~YzicIaMK2H_y!_lTi(a+-YxT(L9?s- zbqIn_Ja=kszifMxoV2cm*Mve0eKx@c7`Y=~S2O8aWs7!x=RG z2pFNTE#>OdXIEui>>$@A0*28ghWwps2Ezf9r?E4BtM&sxp87qYc%cG!t^#wR0+o@2 zwqw7Ok9>aAoBaOmT-;^bfC&O5xVXZMLdf(Mdi6X0{eD^flKl0Ij7`Le@EUSTvUmti z7@P7{Tf)ZQW=)$Rpo0^jv}vLKXmhmxozIJ*I6hLaJR7%WvmU^;Z_8sSyolB=er~Xq zj^eKc=i$s14Bt?&zU@NLk}?TF*lB+u-(Gr7EZP*JWkbp?7_$o$?0SiN_X8&Hian)6Ws-cQqBW zIV#gd%zpXDlL7U_DYeFp0^xXX&bc0#uLL{3)${f6K3h3x7cpU6A%HVvuTf0DS^Q68 z%{zC^+qdWN=RE7EZZw7t@Tlw&q6ydSK^8UIDy;%Vec?_xL2budyfQ z!HkLGQI4bN+T5jrUX1s2d@VFuSnPGunfe(a3(djC=0Win&(vVlz7q;Kd1_V}WG&jE zg`kko;3Gpe>K{E}mGk8}cSd8I68Xt-;i-b$XgG0XitFbiE(5dr0_>l*OQa^C}FQ|!_W12#~| z4m9{E4rmbd7*gx27-(M2FS@W^wI(V*PA!gd;}%qqV_mz_=Z1msIEd=EuqCkKMMxv$IO0SjOFlrx&t@y(iW zn~zRT@1S#Fc@HTR#?N$C2 z(Bk;9;o3nQtk%kx))cAA* zc5Re4Mfa;ZOQW(DRN|MkLL_^Eo`pSK)6Qw~f+k<>3grvwtoCg9ZHykl0U zY%r`#_Kx}mVW}q9strYIE)>PEG<&CrKRvQOeHbZ30{9o5(@H30T+#7o0lxHuVG?yh@pgY3L?STfwDCI!DBszM+wkkxh4_n6b+z@%6~;3FSdOjtMn+V3Zx+=^b~ z6%om}u?5*MYBjy#EQkc%H71YQ6$=~xCC-416{D$=N7YD4qJ_m zHCvt~!O|2O=YnQP2ZGvatb5eH$z%QT?HFZyAd#5@r~Bi0suCIc%}QPwI_=WLj8@mg zjQdaxQilPP^-p$JLVc@@y-&C)@Ntpp%U;Y|Bg{ooa$VQ47DF{lYz#3 zlt1JfPb^$ICPcB;)cFosKfBO^k+_sD&D9)WDzf?qG`6?kkLr{I*2g$r3zC$kG#WhF z*DTJFeX?Hk#&SYM=((afRE>fXWaLq8n4VvI>)l9pB1gf0%l zm$@f<`VdQ~$+BIzi)T6y_X17HUDJY9(|Gp?zWRjTlPD%og!2}m$7VRL{gL-=iNS&2 zh@4ML0dynKZ*x#u9<3Q36;*dz?5CbX)6Pk1C$CkrDD$DYo|ZqsO~{Dt&NtMR$#ijh z40wxBKw;hwN^WL0HEq1@ICd6vcE%)ac?=s_;Q`&Ls}+)j&g(7rfj#rTBndDsmA*9= zyz<~h8x!GlI*WA0z!?7VeKeN9TmA^&4kmD^7i4`meEhD^F*Zw@JSS=&v$h3+Rze6L zn}f*73lMv?h*P>oQ_Xf*+%Jp!{I0T#B-SM(?G6{k<2zV9Kf@~5LUBfDQgMB2n(M&( z0m13*POCcAWoW#J1eTxMyk1}T3!$&e_FL!<;=f6zR^z2WNMBdpVxG^RaCwgkdCT7a zO;Tv3R^8(LmK3ml{zvBRyLJ6H=Iui5{|F19s1U=CYiAqehE_=|q{=(#*|bmk{=sZS zEXOIt=HJ4?n?VB%Vef;?$9%ro&z040CwO<4;k>u~mQGr~FQ9jch_{?EMc1V1QOeH* z6#H~1d@)vuguP@V@l5KwX+fO~h|^d0$do5ACQ}-ExB*W?EN<8YPmK-(7V&HoVJ)6N zCDnVF(heM<3~39n&?e_KV^JUFE^F7EQx0fYlYk%6HnXM8SXC|kBaRyV#O@&^G`W)$ zj>yNgVX7!63sKcDVLwxgV$PJM;xU7zwKgL8k}?2xx7`l$GBEw;P@HupS7_~|vH8PO zI#0rN-RCZ>8PcJUqghOvE~@iPS2}Qkc1-Zw^eYc}u455L>_+#Bn5NXnr;M@8fy~5; z;4Z=}u_k=Un8u#M)^`s|&Rl=CKG@p4&lzC=c3;5*&gS&kFm+;9Iw0TYJfDr(up0dt{-_bW zHcq?2!+xWVMULXzsq?sqkxBvM%T8!?dzcfn>fe8*ewt6Q09S4Cs$u5c+7axY*0cIh zj6Gpta*tFMarn88lE+^y^ZE1G7q9p@65a5YsbLWFM(lPq?28`STo3Q${Pv)bReR3T zxvk5=7iEbfCm$$b6@>?O(?s?*&_hr?!4fWDM@7l^>PA@dJ*xV_Z9-iL9^C@J8gFVI z*B6WXO9_a!VeN1t!OYvq4rIg7)z)lM8N!&FR=Q6#mR54EFj+6r%Kr6Uq+N(?w8;fN z0)0wXuvVaD!i!PkYHgzk*;u<{$mQlKRaPZA*t=9#Oe%U5wl-{dl=9w+pLRGI?su`| zR#tVEPfM>1)`FGIy*tkqs>2r@lxKWG2+{kny`Lg0s!(FBz$Y?E0Qpl6q=LyhFLOhx z3}`f!Y~#u-XvrlrEcRU7I4KOXIk2_aWdqCzIcgdG<}*xg|7`$@_lmE&-UUxB_RZ)e zO^UmZ+_8uLNB1N&ATG$dwP>M$jKNV<&>Y5HW0IF4;KXxcwJxB_cMQugVn{eI_zANy z?$%K92Q;`{uK0@5q(mS520Cg4Q*fKJHn(rDfj(X1Un%)tHAvgS$#Qw-ZB4Xsn`dQb z3ii${&BV&G^Ma(uv@SKkp-tB3M1Qaz|&InPDyO!8+Iaq;6lnYpTZVW^s*47G-JJG+fKPli7@B zG%Z)Ty`rKE=Vumx7(-G_(u(Dwe-u?dp=@;6iriJpsd@!wLO|POnrk}|qPmBz0pxnM z>|CoQ32@%TqT&5@8HHa_#~C%5HYUxW??CfJuo{JK(~AzPJI5$~TVl|{NpD}W3PRW) zyN*#EIT<-Z=u%;};axl?zdv31(cs+b+*M5pHVI%$$=+_Tz=yAQgW+4@`M}VG8?*h> z)A^`SRPFo-lDhS5lm)k>RX*IPi8=jYd)_9-6qdlj(V+%095S3SIpNYwvvmA~{s!(d z2d#_C__Z1#eX@)ywVC#H_Gr6ot=UY6uB%~7*Zg(;hG3;$_ca6Z=?za~)*!!px?e_D z{=6*g3-YfbLXhlE@9{U=7Xkhs*{1JG{D0WKD&_xX`>tx(gwut{(`Os`^kfMUqoV^B zXO)-QArdg`P``ZS`UX9+?&mj<4Bt8{M;SpN)faz= zav~@J0~aMo$s#-rDNA9MrlXk;J={dViW;V77H|V9i_)s`ok}#WQA7}fb-MZxEK;ME$Or(LwOnv^?TT!}O!P^bI z@6XVzWqTOdGGs7gE6t3?Ky#h`%*ylR$}d0Jl0VCLwi5)fp(b0=_IL>S9zHy`p%4<+ z-b7koyb(K#mr+sH2v!HHFzpze4itDg4Jz=FTj9~x>Xq_lRkq4PNzha?{Rkd!G@e$V zw&q{4HpFZuT#ObqC|k%9-v)@MTgh2AFl}p}Ix^&5k^}4v;9b4-PSY2FEQnoBta5|0 zve{j3{WkZk?Y0_@ z%!VDFy-SYS@g7_rgEeOhk!V|aV|8>yceq9AESWh;SIe5d@JByC5dQUTVZTJ^U;QQl zv%l>g{sRg7{kHrc67WJp)A6hs$>*u2*X(F=r7A{BzLNt1SI3aFJGv-gq3{xfhMz&! zOn{JL!iM~-3&xKGC}Q5;>vrCp8!sIcJ#t8=dlSt2F~#P-iKy>$uJmjOfI&}^i)tCjl<+Q2#1|JCaIuwdQ_I? zoHlK*vj?_z0Hc))9oFT{5X$?Ip?Lq3RzeN!R1gkVF@XQW!tNG#|3-r4gu-2zy==C4 zu$P2pj$w+vpU$zfS}whS-Ce`fJbvc)TJaLGW~m9Ik(5t$T5Krgk5^EW%3X5`#r#5x zgOHq&a*dpvEbEqa{eB_5cmwBT`}x~*2V|k;g%jeiO{v#J(^hJEf8X^&u=AH)R8mVs z%WN*cTJ?J2LcX!`-s@^2rE}{z74vQmVN!LK^}^n$86uhrBJUNYh%GEa{X2#qX0&5- zy&3sqPJUjt9BJ7Mv^nGrkr}d#_p2Qpch#l|W)U`*a(0fmGA0QbmTnPot{;rA_71q& zM6eox!PgV*xt>7$iska1JAX3_Dk1Agv`QVKk53u01}<-x$kg>4iDp_y^%c#cBTE_! zn`!t5!S)l1WX*>*DmOOQVySM=OCL*iiw=?pjOtQR#dS>1Z``g)F*D(@L~%1e-yoNG zXEySt=lJl~1Rd?xy2U3XEh3MQswU_({5=zehk}FANv?~7|Lp-kE|^nW>VAJ9U_Fu+>G2~LEK}tjwfP6 zwlc{w$V>(O79CEd(`Hm6o4nozxxEKn3z>r55!WD$TH)BwcJ6e@E>7Ge(Y2*aU4^H| zoQgB$R`*=bwh83%3%D%6{LD(wnp=@~%j0B_gJ z<-h(b%rA)(IGscX;fQF zr}jJruHybkxk^Kv>$m^Vq9F!S5wQY?u7JUMXHJO4q+4X8QjYcu?_r_s9gO7Ccb0X| zh_wRZIi&cpkEvmm|3yZ&9CYdM^|%sdUNJr3>@c#MNwpLO0tq(aEMkz3?%;Ba`?fqi zW~+2Or50K%hc=`Uw0Ox62a)YaNb+K8pB+=G-I?%F+xMt-i*znzXvUt73Ye zMra}cXi@%a?FID); z+G(ma2};J@>+@&Ab>+-!UK(%Vq>7cpSRLGJ&)j5cfHL ztp|y8Uzqe@YSij+odL5k>Ob2*~Obc8~<8{sebq8a-Zn-9G`mKM~=M+NLcY%#S zuRAStlH>#s=AZ8gzaL~#- zHO@jL(~@6^S1kCW1SJV)(RTKHv2>s2Y};_yq?1cygxOUC$>~^QST5fI=6N%mt4I}} zomFSQc%xM;%M8KYPI$)gZD{jU!ZB?_&^*k)$;Yq);To$m_rt}SMlw+-_9En#HNg#8 zw2ibew`ZmjMcAg5V86CatQGe)d0+ZRdbagFTOl-UxhPRa?^}N1SsmO8kgyt!Jvyk` zq^*DXcRma1PB~0XQ1cZ19FaGr6QA;fec3alhZ6dCM*`x{9nY$L`dhKhXt<&xBh=~? zn%tO$iz!TeTF5ce#|}9$38FPq6d41kXSJ74CdP37Q|v!7{l>x?1zZ) z-%*kS2hMn&!^g0X1!P6j+vW>1J)pU zlDZK=9YsamgxIireW8MtDUDwLfn8 zx2Ov9tusCo7gA4m5vvzm(Q1;BnU1dzzoyO3pXzFTAsX35Sx3 zvu~PxdVag?$9qIZp}${+BP$rpl?)BhWA6XEGKj;jS3F)rv!5CysO zOXzmRW1OO(PE40*gNwpU2z__;d3U~!(_4*a9tyzPjik`vt@%E^F6=&PIQAh`LeA{6 zgs8vAp$M`^Ax)ppPJ@N1(O;QH9eoAtK=`nhn6@`KfU5wapFyo52*^9etlZB&Y>-77 zV-GPHNAVwt9OME6zODqqT`t5r@}td>coprZ7@M4fcO-QWLtpPWpYLx>D%UfeyUdKCNG!L7qR?(>b&yeLyxh zdS0A4QYi}?>^#A{Gd;bu3vY#xC>0_8r;ZfPaAJvP5%aBNI|1{+NS5-k;|f@H%#n1Q z-D6`R{UTmP@rDYq3T?(|+Z!)6gO@Dk@Jqj6`eQmK+u#xx{*ABz$HgbS_Ot{Qn9JS zf^rNc8px5<&!Q|K(NKC{=E{oPGWsY77-bk91+OF(fu{{b-v%hM6Y16n6&ySjpX1lT z8tXXJf!WD>Y7=uCoj05b%GWVq-F5I1jr|*plwor>uF*N1v-6Dgob+O9b8ltzi4mPHRt$`ygZxc`upLuQ6@rz=OS=~=B zLR?Cr3t5LQ(9~Z;Wa-GDJV0Eq_O)5Jg#I#Gdu^|+Ow-msIqeP1wWhlQn>rlEY)bzU zWhh86SlB(3o(2(z8Mu!fANk*55xbSyFngVj2rZRO)r;W-XL?T-mg`vi zpPwjVNslkM;LQ^$i6%;2$g>%z%eR>}KcRq<2+G2r+ef9)w?;F;8i(c)HN!1f9jA-1 z&ZyigT>dGvcYckg2z-&+2ZNz;U|Ct(}GK~?7hty8H7t*?# z-A1-RD=H*O!ev>SweX*|EM_y#w7@HM-;CBke>A9mX1jSdy~>gyU4GVmJLE>NRPIbP z@yhr@oXy19{?|{5BCI~mf9fho5&uVX^nZjIV=Fr$bA2mY)Bk)@)HHuB!x+DfJoqp$ zVvH-v#PTVZ;_<|b+UWpI9o3fay`xc6e80|^a}&Xz4>6y3^0xSuJdxhfPA{$#FLZ@$ zov+Cgpm5%x?O2D8bgwKDbt$B0R&w=ZnViu_ROx3&k$5XccZ&2e{$}6lH51MJiC55h z<|*$oOGfaj=0^I#lS1L-l*)DH3L7=4g@9`Lq-ygR37)l$gw&r3(cx40bab!Zf1b&S zoFwWzZ!U7DF#4oYfb%|TzEVh;zYS3(S2S5psAt$ommoQxZQ}}AWIirD=O3|FH61i9N_riZ)Plt6){_03c>`Qzg3(T+_jEQo9Deu~MzZ0OMhF{owYmN;~a z$|HrOkxWj8SC#4{6E7Qa%~6fseOC|JflobVl%&L~auVcHa9SeSX1H_|cLI2&SpTS!J76rRI9OYS#1SO7q602_oh6ni}fb z<|J}y|2o+>GS>A2@TmTA#`CatsiZ>0LU9J?F#0vgS{5)LP2n-*pCsu4CY!0@Ng=dW|Z(c%+a| z*B|bD4vzX{t(3(A*2s_R)!mK|%I5 z1>x5ph(=W0?=0O`O!dg@AK8D+p00Y$)uEw z{hd2=OjPevdU`w~`udt3HFkw#)>>J-8~%eQldZv{@ad-80zF!m8quJF12j?jD~HhP z!|Vs*#O~uhGa$3&q={lwnpI1$-89ec7p(zA_#^4o80kE)dH&=T}7AMA9>A8*ox|bT7Ph}@kP5lyI1D;r?Sjz$+{Qn?7dBl7}N5wo>*xF3ejW(}%?Y-YPq7ReA;?IKYBePs{eErKJ2F2buvemG1Y>w-nlVa$>;ccH(9OXSs>F-4N?Ljs&%sv?QCe z?P4i2k0SS#bnPb7VC1V!WT@Xh%rzgPi<31 zITZZKwMv1M9i$uNi)mkPwWiSZz2n`Q+r>X8ujL#DAIQNTvw3nI7eo27mQ`AL+hdM1 zmnjs%Vh)~mi1{^g-Qa*rRyh#znt{$ZxO|1ORicMO+JPV%pS4B}FOKK-s!6vcw5&-e zCnq^jTPu1;jx6p@a^rJoeEsFXD0qR3w<|g1{zixW?Cy-LwzfA z4}B+dTN_#{OY{FWctz6prQZDARsMrAll{*R|1UH5klKY~h6uvXb&r84V^$q!1g>B9 zTTmU7GUWuOq)oc{`ySOa10)a>S^fIh&-MYX!5&}rg%pJ+!oH2G?}twH*MTLEY3vuU zR>I?*>HXsK0P|f}kJx!I|HjW{Q$z5D`-Nh@3x~c_Sl5&x)X4=j9Y@w2cEJKp|9Kn* zjg@R{kp1~pbA-ipm3gcjx{JT0q1c)UCxPWNv1mp0Ze3CfAE$N!oKwWZArW~{ITMpG_P2x{*T1kuONA$ z%N5{lNFwFdwG(>j0{f1xog2*{L7U*a;;YCiaZesclE|Y&*ubi=YoHtw$ic^%EOf@K z8+bkfFiYucOtqZLzft~H2II@~bb(#}x)z~Xq{aF}on#Hh-&%Fzhqu3Is8^-^jm8gP zCmo3VLb`(1>H$-p9h$8iXl_g^a%`?uZnwL;n$RoOj38NCb~mZ2O)A!=0>07%x?TZ# zCec)-b0;mN5WFMyrNF@!C#WQ}^}C6SKoQ{c0Fs29uDIPSi?wUl;$VZNUxSAM6`=^Q zY`cgato!lXGymOKcO{Cd=T|Hvg;?c`xmirfD>a8*R2v`>@%*@N>&dU1u?S_dr2FRh ze|jO_F@=Q8VKsV0AKMQ}9{;s3;|yWip8Iq+nbb>&`fCbgC%*Yx2_A-vSwP+6|F1)4 z=iF4)u=mFEh_ra@Ce-jXFA{{%W`Rx&Q&h(6wt`r#E5y?z$d!kEHnmP=EUeVphgYcc zBP=KSls#z;l@pqm4YQ+u(sev4iX3RH$>EQT)xX=~F#4)ZJtUT5xn913b>WO+j5<967t8^z+eb2wv&Z(~B` z4u}x9!onwq6p67_{P_c*Aq4rCSPd2>@C+eSLS7Zj))d_&o7|ytZBwNqSim82QLF(3 zGeD!0j`~XZI5Su}90STQSR=ViV1p&5zoPh#_Nk&J2fJ)#5$4*Ym@8l|8tk4H^o9We z{oYgLXc2(G6{G~1zvRzl$*Be2VYw?isOAOs0Y8mJav8njq= z>St=~Oq$~r>d0lJ5u1{h!q&|$mlF#eyPQQ%AxHN}!dXHjpm`qQ+KR+Z5erbJu+sy1 z$%IG{7PJKYt+Rwodv%CV#;E!p?dH@dFE9sC53{&w-kZ9Q3N-y@u>L!S{DsxZW)a zNQdGU>c+|p=kXPs$_GX3gcY3EDZz(~qDSAA9$LYu7lFWKp(cn%FN(ya7Ga#UlP`Ua ziZW#xJ$l7uCr}zoAMgV(aACIGt6`&wcHLie1v3Ll3(8lQK*_h?>;fXqDNe^|`Q)!8@+4J5!^#_gP>znp4Aq<%co=HOWuqYH&2w>xH$flC^Dh$HDc=)K$cO?w z?7JLj6eF7=|n6J8T$Z3uAGa5@Ju)!TvntS$%uqhjq=b+0pn!st{VE-jo06>3^ zesy#%P8wlec_2nUUI>?MNyLNPi{V*(e{VEU7?5XLlyK8m>5Cq^+#`s9IGPL-W{-&} z6iC^ilhQ2}S60XpSf|gTKA5;62@4LhlNTsNrea&Ov^Oa|FH47cSd?$8G1aBr&c=Z! zypp}#4;^%_Z!k%pe;B@TxcY~Dac2=V}0*`wwM3MR(_A25^<}*_xN1v2_T_uHt4H4_k0OGPLEvAak$=SpW4}~^}Oi14yWYqrNQ)4yuIvU?c za+X%UrG#$o6*v9nRGpL9@M|qUfgt`tXz!al;Juwln>k*6`R0Lj=!sST#I?w?MC>9;Nb%Dvy@OM&yM+D+E158rC^E#vy?cd`$JpT^XM{{cH#^IkB||YY z!fQO>D2)~ucBXnHaLxhdzoMynW$rGUQlND7@VvoiMCv#P9;xIp@ONBN5Kg z$=zki#s}v6T3d%BNyD98gw4(D?r$+ucC;<&=LQ6Og6=HuNJ0g&5SxV;!F@d(5>9Kb zP5_xbsF$Ju%3m}o2-NDaO-(n)Y8>rhH}Tnc?gT%FqSr5|pf%_A6j0Iwg)sn0Qmjffu z5$GCBmvGPUe0-9(ClK*=7+QHA2!VkVvfdU;0b3-{Q-|G#*js+ykrVXhEH93(!-gek zUd^*7nRj-9vl<(pGIPS)BZ42_2?-u>U?QJzY_gt(`k}DhXlNzHAQQ%~o&=snKsPaB z#i_#N@cySHB~vk;jjAlD7LFZ-Js3w}<+5F7b)m9lS8@D=^6Sj>k+!{)86MvnvW8Yd zg8l0wW^slr@a^_^kg*!4L$ppnzg9AT0D?t}K<4(@J=^uSqT-^SybWofqD5lx2EXMF zb*|oah~xEIgMC59;bs$o98r6>QW*Nvh*j zg{fqompaZu8oDL$`p450!;6a6*qC`t0cGWq2|I;qO}cOLSu5!jxtEDLYEyCv;uPg1 zDsRC!%N>g}siGO3)*>Um$P^FZN21D5O+i4jRK^cL*Wb!3v!op{7_Nd}-i0Y*dABwV*eKpP6j%ml;rMu!D4qDeia{T7R9(8FrANy?$U ziFA2^hD&_;)AK$vkXS2S0`BugfK7z-%1`dUT#o>40yr3ha?Y;HwMn?l47+^=j;X~H zas>6XX5YGb3F;Fiy_#|5B*5N~Bx5w|Z|!ctBu@Ho)N!7S$UnLuo_^+o4a>4@UX2Wl zR)7l^e&>Q(5+P$kOn;$DBy@OO-|afJ%B4J&sJ_7Xyot^FP{8(rY~~whUB@cFcxt1H z)xACWy3`wr#tO?45=u_Q-qh| z*UD4fk9UrVN0TSc%zv5KBx$HWEx?HD{@$0O+v}vj%^Lc0dg5E{=yIcfG>fJbC@bir zN8>?cY9}>9%C9g7l^T>G<0_{`ZWTCP#osQIbmm%M#%0wK>Bw1E7@reeo*i6JZFa*9 z%8QlPUGno6u%s=da_Vl{3~We$K^YX0Djil)O%eFj_A#l2i7E<7I58Mc^~$X4Gh}1z zbg2=^?L1kP{2+$2PSIGdAuGWZyOb5x(%37D(XHJSY%X{VT6d}@?f`G1$LPM?(<}z? z(lto17yh|tBd)s01LF&Y^f*1SSXv{c+GPtT=Fln2J?qce`_Luuqd)h)=&vjxK}f@#RI9D)To1WnHV)5WYGF@e8Uq-Npco#Dun5 zP$qQ3an?uTpvV%D<$`_j~=kZSV?v_HvOnQ}DZc$RncJv`) zo96OZM+wOMCe?g_^n=)-2tVB=EV1TC znXM`->0)>F?|ji^-LlE6vX(`%Y`v6CYW0oF&8ndntGc7fE`Kd}wJWdQ?+o|@$X)q` zbxw_HMdpYZhv5fVl^pV|kZW8*f(Nw(w8_jgl3GYzE(yeEGtHjG z-p5qbhL^{ zv&rNZXJfJ6*^K#$=PG3HoB1^aRc(z#k}#IX)6S5gyGA`pLLZdf9ZJP?Fx`lQ$Kv^( z`|xF&JUlT#qL9!+k&#Hii$i)U>@0-AqrgE!1Tx0wngKcASs-$0_MC~=%Y-2}=j{cOO}7IziU}uzTlND{UIWg6anf4>VUXX=`ka^e$i4 zCQAIO#1Xmz^nlkz6k93T3cE-lmU9`Tu5|f_Z~j%?MA|esvx;S7oZ6(m%;ZI@loLL3 zTLnX%VZwbT2Io1HO*}UT0Xg)>Z8O1@Wn_tnDTF0ERNx{Zg)%1tMy@=~2!3vv!mr9g zJI8&0)THCf{oEr1>CKR>S0}gb#|OV9Vi0Gvi4_?iIdn9`1`xvWK-;8tR1qfjX%LGH z?@e7fw*;on&?+I&qehV8N+QC9plQ-NMdx4JbSQf#1?ou>pvc%Bki)_lzU>iJJ<;-BD%sP@_l>aZ7L2Y?uYFEo>_ngzIp`EE zZr7wDg^?sY~y>y8v2{O8@tnVP(B)cy}lproo zi*sQsHR{I#5r}qH(k_hB+pJ4+5S?d~8;grGe}CbFs?gzjNP5vudS2Q&sQjvi+Ug9h z@1OgO!#+eUbDiDxir0}%@k|HfCo?VdOF+h!fQ497K#r>*b4FL}?5p9b7^bx2YJab; zmoZ?i`pVnnBe7N7%*(LRxT&rj7asZ~&~nU8;Rv2=OZvQ+TlvR}YyHzX{TA)}3iE*G z&~$u7^)~zZuk*!nEhmt~H}OsPzn;P2*=JZne^r`b?BC4&|5>H^Z~pi$b!*3c7KHC? z-MRrOQ?by%K@2O0oIh~IT8i_KS_>Ikykz)c)q08>f5bUob|^I&bkv{q!AYcs`;r?y zTwd1D_m*cyyr%KrfnTG8WbwuvEsv%~BfcaBj@zo1b}E@4H*d3FX&h7dA1q@hZ#*;5 zbEtC!N@u3~T3b)M7-?v%Q+eiu&~gsIvhnJ#IMkg7Ocr5J|1@7`z9Za^O@~ar^0LqS z@s{GywpXZ+d^C3168BpH`^Cys+)U9@M5Is?;$Ysb`ffp#+t!75&xbq=(um@QJPnudK%@p*SZDynl$n5s-lmRJAP?hX?=a`Xhu?#w^B8!6Bn zLMi+O;C#op>K!8b^Hbk-ilyRYjeQqwKB&sr?b2=KZuWR^qr%a&gRXe>8W)Wlp7C77 z(~p-+-Fv$l&jPr{CiUTQUmBahL3S<86iZh{=eS2i#yp&7ejr8>e0~)#leSsDA7?=T2f>X* z@>q{il%ynt#ST}7|2tVx-WX$Q=+ikpc5qjr#`t1-!V)GPCWlhMCYFk0g)#CeW zwW0JH4e!njDomdj8-6&8)TArGKY_LHDI&7vT;h|LuPGIZmL(ByvIY5r=g1_w~HhY&o!Z{l2m*x z7SRi)5zsT!TqC20EvhKQa_x_k4Qm*cEH} zskS8uWt8t3y@)8svXiY0g~I7G;&^|kd6%6x_r&7rEHAV37=w@2Dzw*WVjt(kPK3_w zUr#>BRd@pyB)4HUB6?~%m6q99&0(h=DLX}GzjO6LP>v802h&_jmV&vUwt&)`5$!^$ zIA+g|6|E<|F;XvP>q=%3XWbSywf=yGboLW;FM&uBSM=~8=%fELPO1dTlZBs<6&6{N zJ4Xpob@t5iMp5FmR=TqGlip0a^U`p0ax?R6i!d7b)eB7cp8_ z>ihp2!1Di9s7%=ATp|Di0ObC5#r^X7|C4I}zZva|RJ4CXbWyx-YFZife~tDTH6$<`Rn|c;bu}~GCx=9R9zV$k5b^N6sB;st zMux%tq<=qznUFW3eCaM6JeVz7vrV@v@|RKPRO*Km1gChxI@T_kFHJ6BiX}C6^?3cIZ3D}uQ9goSOY6z7|ME38m7Sr z0tiJq)4!nYcjkru_P0Y6P?&o>!ORO2jq-4Y#rUr5VX40rkRYx?ZY(t_Ky#qBT*(^0 zNe>z|D3-%)8oQw`Ly5aw@2Ax47rV1NCo zh=!P{k=8B8m<}R2$mmxr3Ctsq>57OmhCD`E0*E4N&~hDv0{7hL9${Wj-2`j0^Ecs2 zQW7%AH#t^TrrkI?Z}l8tuZ_HTGT}%Kxv>2hy8~wi?%Z+6+C!pGN#eu7h{lmb&12V2 zhLjwvQ59emGGnV!WgLs2i_+5KmgTca z9hJt4!~^swAXW7}G#KehM7GF&BYJ)D_f)6VUOAJYIWb4Zskbo<; znl``k*q9MKUT2CYu=^oxr;EOvDaB8G!(G@ zOT~h|;zB?pfnOK6&v1zC*r0AY7PdKh(IfSW2J2M0hJG`tz50cd$;S>+vNpYAD}URs zjZO~c2)pfbaJ#3u;r?!q*xcI`r7uU-ysf|ZejAEyZ}|Q<$5oz$ZYuY$Tp7pt|7%_S z@0NT`Yuf`Br0?#Y06IA)b|M$5iR1(yg+CScw6vkC%|Jr$PQ5(h-kD)0`A!gNLQ5~fC| zQ)U7T&$S(oC6_6!j(k4F;^WK2Di2|oNAOI8Rm0!#Lw{!OBDh{>h$0y4CCD>~#KyQF z$n#_s+b6{k;>VcImKw1ss}WQfd74WwO?e0vo8fyN!*b2KSB!}F{y7PLG`XnZ_Jl~-= z5cHMa4|?KAZpb#7PE;L8|L!z6QBMkHh_~b z*UB%mb!X-!H+gT)#NPAG_BUs9L-WOg0V`(gi5gQ&H!GT?;DYiwMRc=5ca&FD)f7C4 zp{y?Wbb(>aT`vf%P3SBt(pHL`zyQ}Vf1WrC>_Kn5H4=@|mw$}Fr%-$_l|V9`3&gy; zg`Ch{WfB<-o?m5`YDwMFfxnptf{U3JfF|SHibedB3^tPY1q-GmIxs}Y;$YVoFYML* zFpT3bY{eN_M_vDcq zIMd~UZIP++6t`r>0-V?Wl%$e!>l7;p70r_PFaS%W90)PkcNN`XcmT^>wn&5Om7@#cSEdUL?%Q&p9C ze>TrTc2jtUxtIEXYQYKe5d-X6C(uNjC);-b3{It7_-zFyLSig8K$z9(9=z)J%XR05 zA9hp-gfcE1c{#?k1$_vBRm~4ORmLN%00Wi97Uz?mwBe)#sg;jM&SXcpbcl|x1*dP6 zyCa*q`tcjxt4arKQcdU~f=`zD@DIlx$XRf$>iR=h5}Mvcv>CBQ;`hiFwvLngOA&v` zeVd6ljw@&0lxgL{rvTQ!H*b(3I8PWNMH$ Mbiw7dbaEBRJj<`n&{b0=000?YQP+ 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�s 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

        +zm^;usc4IvIq8`vH1LX@ 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∓)N=7I^UFmI;r_1G0$r3Gt^47?{l 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�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≀*Sy*zui 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 literal 0 HcmV?d00001 diff --git a/src/py/kaleido/vendor/mathjax/LICENSE b/src/py/kaleido/vendor/mathjax/LICENSE new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/LICENSE @@ -0,0 +1,202 @@ + + 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: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) 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 + + (d) 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/src/py/kaleido/vendor/MathJax.js b/src/py/kaleido/vendor/mathjax/MathJax.js similarity index 100% rename from src/py/kaleido/vendor/MathJax.js rename to src/py/kaleido/vendor/mathjax/MathJax.js diff --git a/src/py/kaleido/vendor/mathjax/README.md b/src/py/kaleido/vendor/mathjax/README.md new file mode 100644 index 00000000..7ca6f7e4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/README.md @@ -0,0 +1,53 @@ +# MathJax + +## Beautiful math in all browsers + +MathJax is an open-source JavaScript display engine for LaTeX, MathML, and +AsciiMath notation that works in all modern browsers. It was designed with +the goal of consolidating the recent advances in web technologies into a +single, definitive, math-on-the-web platform supporting the major browsers +and operating systems. It requires no setup on the part of the user (no +plugins to download or software to install), so the page author can write +web documents that include mathematics and be confident that users will be +able to view it naturally and easily. Simply include MathJax and some +mathematics in a web page, and MathJax does the rest. + +Some of the main features of MathJax include: + +- High-quality display of LaTeX, MathML, and AsciiMath notation in HTML pages + +- Supported in most browsers with no plug-ins, extra fonts, or special + setup for the reader + +- Easy for authors, flexible for publishers, extensible for developers + +- Supports math accessibility, cut-and-paste interoperability, and other + advanced functionality + +- Powerful API for integration with other web applications + +See for additional details. + + +## Installation and Usage + +The MathJax installation and usage documentation is available in a +separate GitHub repository at . +The HTML versions can now be viewed at , +where it is possible for you to submit corrections and modifications +directly to the documentation on line. + + +## Community + +The main MathJax website is , and it includes +announcements and other important information. MathJax is maintained and +distributed on GitHub at . A user forum +for asking questions and getting assistance is hosted at Google, and the +bug tracker is hosted at GitHub: + +Bug tracker: +MathJax-Users Group: + +Before reporting a bug, please check that it has not already been reported. +Also, please use the bug tracker for reporting bugs rather than the help forum. diff --git a/src/py/kaleido/vendor/mathjax/config/AM_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/AM_CHTML-full.js new file mode 100644 index 00000000..ab7e2bbb --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/AM_CHTML-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_CHTML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/AM_CHTML.js b/src/py/kaleido/vendor/mathjax/config/AM_CHTML.js new file mode 100644 index 00000000..5a4f72f3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/AM_CHTML.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_CHTML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_CHTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML-full.js new file mode 100644 index 00000000..216217f4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML-full.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_HTMLorMML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML.js new file mode 100644 index 00000000..6259a7d2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/AM_HTMLorMML.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_HTMLorMML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/AM_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/AM_SVG-full.js new file mode 100644 index 00000000..cb0635f1 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/AM_SVG-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_SVG-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_SVG-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/AM_SVG.js b/src/py/kaleido/vendor/mathjax/config/AM_SVG.js new file mode 100644 index 00000000..1ad6db95 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/AM_SVG.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/AM_SVG.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/AsciiMath","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/AM_SVG.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/Accessible-full.js b/src/py/kaleido/vendor/mathjax/config/Accessible-full.js new file mode 100644 index 00000000..9910e5bf --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/Accessible-full.js @@ -0,0 +1,30 @@ +/************************************************************* + * + * /MathJax/unpacked/config/Accessible-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"], + menuSettings: { + zoom: "Double-Click", + mpContext: true, + mpMouse: true + }, + errorSettings: { + message: ["[",["MathError","Math Error"],"]"] + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/Accessible-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/Accessible.js b/src/py/kaleido/vendor/mathjax/config/Accessible.js new file mode 100644 index 00000000..efba6db5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/Accessible.js @@ -0,0 +1,30 @@ +/************************************************************* + * + * /MathJax/unpacked/config/Accessible.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"], + menuSettings: { + zoom: "Double-Click", + mpContext: true, + mpMouse: true + }, + errorSettings: { + message: ["[",["MathError","Math Error"],"]"] + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/Accessible.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/MML_CHTML-full.js new file mode 100644 index 00000000..140d1990 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/MML_CHTML-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_CHTML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_CHTML.js b/src/py/kaleido/vendor/mathjax/config/MML_CHTML.js new file mode 100644 index 00000000..36e54337 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/MML_CHTML.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_CHTML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_CHTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML-full.js new file mode 100644 index 00000000..06ac2d28 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML-full.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_HTMLorMML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML.js new file mode 100644 index 00000000..d9721795 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/MML_HTMLorMML.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_HTMLorMML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/MML_SVG-full.js new file mode 100644 index 00000000..031c63af --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/MML_SVG-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_SVG-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_SVG-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MML_SVG.js b/src/py/kaleido/vendor/mathjax/config/MML_SVG.js new file mode 100644 index 00000000..ae1a02f9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/MML_SVG.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/MML_SVG.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/MathML","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_SVG.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/MMLorHTML.js b/src/py/kaleido/vendor/mathjax/config/MMLorHTML.js new file mode 100644 index 00000000..9d9b34a1 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/MMLorHTML.js @@ -0,0 +1,111 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/config/MMLorHTML.js + * + * Chooses between the NativeMML and HTML-CSS output jax depending + * on the capabilities of the browser and configuration settings + * of the page. + * + * This file should be added to the config array when configuring + * MathJax. Note that if you include this, you should NOT include + * an output jax in the jax array (it will be added for you by + * this file). + * + * You can specify the preferred output jax on a global or + * browser-by-browser basis. To specify it globally, use + * + * MathJax.Hub.Config({ + * MMLorHTML: {prefer: "MML"} // or "HTML" + * }); + * + * To specify on a browser-by-borwser basis, use + * + * MathJax.Hub.Config({ + * MMLorHTML: {prefer: { + * MSIE: "MML", + * Firefox: "MML", + * Opera: "HTML", + * other: "HTML" + * }} + * }); + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,BROWSER) { + var VERSION = "2.7.0"; + + var CONFIG = MathJax.Hub.CombineConfig("MMLorHTML",{ + prefer: { + MSIE:"MML", + Firefox:"HTML", + Opera:"HTML", + Chrome:"HTML", + Safari:"HTML", + other:"HTML" + } + }); + + var MINBROWSERVERSION = { + Firefox: 3.0, + Opera: 9.52, + MSIE: 6.0, + Chrome: 0.3, + Safari: 2.0, + Konqueror: 4.0 + }; + + var canUseHTML = (BROWSER.version === "0.0" || + BROWSER.versionAtLeast(MINBROWSERVERSION[BROWSER]||0.0)); + + var canUseMML = (BROWSER.isFirefox && BROWSER.versionAtLeast("1.5")) || + (BROWSER.isMSIE && BROWSER.hasMathPlayer) || + (BROWSER.isSafari && BROWSER.versionAtLeast("5.0")) || + (BROWSER.isOpera && BROWSER.versionAtLeast("9.52")); + + HUB.Register.StartupHook("End Config",function () { + var prefer = (CONFIG.prefer && typeof(CONFIG.prefer) === "object" ? + CONFIG.prefer[MathJax.Hub.Browser]||CONFIG.prefer.other||"HTML" : + CONFIG.prefer); + + if (canUseHTML || canUseMML) { + if (canUseMML && (prefer === "MML" || !canUseHTML)) { + if (MathJax.OutputJax.NativeMML) {MathJax.OutputJax.NativeMML.Register("jax/mml")} + else {HUB.config.jax.unshift("output/NativeMML")} + HUB.Startup.signal.Post("NativeMML output selected"); + } else { + if (MathJax.OutputJax["HTML-CSS"]) {MathJax.OutputJax["HTML-CSS"].Register("jax/mml")} + else {HUB.config.jax.unshift("output/HTML-CSS")} + HUB.Startup.signal.Post("HTML-CSS output selected"); + } + } else { + HUB.PreProcess.disabled = true; + HUB.prepareScripts.disabled = true; + MathJax.Message.Set( + ["MathJaxNotSupported","Your browser does not support MathJax"], + null,4000 + ); + HUB.Startup.signal.Post("MathJax not supported"); + } + }); + +})(MathJax.Hub,MathJax.Hub.Browser); + +MathJax.Ajax.loadComplete("[MathJax]/config/MMLorHTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/Safe.js b/src/py/kaleido/vendor/mathjax/config/Safe.js new file mode 100644 index 00000000..0bffafc4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/Safe.js @@ -0,0 +1,37 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/config/Safe.js + * + * Allows you to load the Safe extension as part of the config list + * when you load MathJax.js, e.g. + * + * + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("End Config", function () { + if (!MathJax.Hub.config.extensions) {MathJax.Hub.config.extensions = []} + MathJax.Hub.config.extensions.push("Safe.js"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/Safe.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML-full.js new file mode 100644 index 00000000..a3b69152 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML-full.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML.js new file mode 100644 index 00000000..475fbdf2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_HTMLorMML.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG-full.js new file mode 100644 index 00000000..2c2a6276 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS-MML_SVG-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_SVG-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG.js new file mode 100644 index 00000000..885f2461 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-AMS-MML_SVG.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS-MML_SVG.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_SVG.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML-full.js new file mode 100644 index 00000000..0b985a3b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_CHTML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML.js new file mode 100644 index 00000000..57d05497 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_CHTML.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_CHTML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_CHTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML-full.js new file mode 100644 index 00000000..851f5b58 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_HTML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/HTML-CSS","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_HTML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML.js new file mode 100644 index 00000000..80e00a29 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_HTML.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_HTML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/HTML-CSS","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_HTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG-full.js new file mode 100644 index 00000000..aeba7faf --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_SVG-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_SVG-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG.js b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG.js new file mode 100644 index 00000000..847e4da4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-AMS_SVG.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-AMS_SVG.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_SVG.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML-full.js new file mode 100644 index 00000000..f521b8e0 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_CHTML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_CHTML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML.js new file mode 100644 index 00000000..8361462f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_CHTML.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_CHTML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/CommonHTML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_CHTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML-full.js new file mode 100644 index 00000000..2c0293c5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML-full.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_HTMLorMML-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_HTMLorMML-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML.js new file mode 100644 index 00000000..f9b5e5f7 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_HTMLorMML.js @@ -0,0 +1,22 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_HTMLorMML.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS","output/NativeMML","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_HTMLorMML.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG-full.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG-full.js new file mode 100644 index 00000000..66d52050 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG-full.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_SVG-full.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_SVG-full.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG.js b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG.js new file mode 100644 index 00000000..83ed816d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/TeX-MML-AM_SVG.js @@ -0,0 +1,21 @@ +/************************************************************* + * + * /MathJax/unpacked/config/TeX-MML-AM_SVG.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathEvents.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js","fast-preview.js","AssistiveMML.js","[a11y]/accessibility-menu.js"], + jax: ["input/TeX","input/MathML","input/AsciiMath","output/SVG","output/PreviewHTML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-MML-AM_SVG.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/default.js b/src/py/kaleido/vendor/mathjax/config/default.js new file mode 100644 index 00000000..a4120d48 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/default.js @@ -0,0 +1,1104 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/config/default.js + * + * This configuration file is loaded when you load MathJax + * via + * + * Use it to customize the MathJax settings. See comments below. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + + +/* + * This file lists most, but not all, of the options that can be set for + * MathJax and its various components. Some additional options are + * available, however, and are listed in the various links at: + * + * http://www.mathjax.org/resources/docs/?configuration.html#configuration-options-by-component + * + * You can add these to the configuration object below if you + * want to change them from their default values. + */ + +MathJax.Hub.Config({ + + // + // A comma-separated list of configuration files to load + // when MathJax starts up. E.g., to define local macros, etc. + // The default directory is the MathJax/config directory. + // + // Example: config: ["local/local.js"], + // Example: config: ["local/local.js","MMLtoHTML.js"], + // + config: [], + + // + // A comma-separated list of CSS stylesheet files to be loaded + // when MathJax starts up. The default directory is the + // MathJax/config directory. + // + // Example: styleSheets: ["MathJax.css"], + // + styleSheets: [], + + // + // Styles to be defined dynamically at startup time. + // + // Example: + // styles: { + // ".MathJax_Preview": { + // color: "#888" + // } + // }, + // + styles: {}, + + // + // A comma-separated list of input and output jax to initialize at startup. + // Their main code is loaded only when they are actually used, so it is not + // inefficient to include jax that may not actually be used on the page. These + // are found in the MathJax/jax directory. The choices include + // + // input/TeX + // input/MathML + // input/AsciiMath + // + // output/HTML-CSS + // output/NativeMML + // output/SVG + // + // If you change the input jax, you may need to include the appropriate + // preprocessor in the extensions array below. + // + jax: ["input/TeX", "output/HTML-CSS"], + + // + // A comma-separated list of extensions to load at startup. The default + // directory is MathJax/extensions. + // + // Example: extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"], + // + // You may wish to include "mml2jax.js" if you are using "input/MathML" in the + // jax array above, and "asciimath2jax.js" if you using "input/AsciiMath". + // Include "jsmath2jax.js" if you are converting from using jsMath to MathJax. + // + extensions: ["tex2jax.js"], + + // + // Patterns to remove from before and after math script tags. If you are not + // using one of the preprocessors (e.g., tex2jax), you need to insert something + // extra into your HTML file in order to avoid a bug in Internet Explorer. IE + // removes spaces from the DOM that it thinks are redundent, and since a SCRIPT + // tag usually doesn't add content to the page, if there is a space before and after + // a MathJax SCRIPT tag, IE will remove the first space. When MathJax inserts + // the typeset mathematics, this means there will be no space before it and the + // preceding text. In order to avoid this, you should include some "guard characters" + // before or after the math SCRIPT tag; define the patterns you want to use below. + // Note that these are used as regular expressions, so you will need to quote + // special characters. Furthermore, since they are javascript strings, you must + // quote javascript special characters as well. So to obtain a backslash, you must + // use \\ (doubled for javascript). For example, "\\[" is the pattern \[ in the + // regular expression. That means that if you want an actual backslash in your + // guard characters, you need to use "\\\\" in order to get \\ in the regular + // expression, and \ in the actual text. If both preJax and postJax are defined, + // both must be present in order to be removed. + // + // See also the preRemoveClass comments below. + // + // Example: + // preJax: "\\\\\\\\", // makes a double backslash the preJax text + // or + // preJax: "\\[\\[", // jax scripts must be enclosed in double brackets + // postJax: "\\]\\]", + // + preJax: null, + postJax: null, + + // + // The CSS class for a math preview to be removed preceding a MathJax + // SCRIPT tag. If the tag just before the MathJax SCRIPT tag is of this + // class, its contents are removed when MathJax processes the SCRIPT + // tag. This allows you to include a math preview in a form that will + // be displayed prior to MathJax performing its typesetting. It also + // avoids the Internet Explorer space-removal bug, and can be used in + // place of preJax and postJax if that is more convenient. + // + // For example + // + // [math] + // + // would display "[math]" in place of the math until MathJax is able to typeset it. + // + preRemoveClass: "MathJax_Preview", + + // + // This value controls whether the "Processing Math: nn%" message are displayed + // in the lower left-hand corner. Set to "false" to prevent those messages (though + // file loading and other messages will still be shown). + // + showProcessingMessages: true, + + // + // This value controls the verbosity of the messages in the lower left-hand corner. + // Set it to "none" to eliminate all messages, or set it to "simple" to show + // "Loading..." and "Processing..." rather than showing the full file name and the + // percentage of the mathematics processed. + // + messageStyle: "normal", + + // + // These two parameters control the alignment and shifting of displayed equations. + // The first can be "left", "center", or "right", and determines the alignment of + // displayed equations. When the alignment is not "center", the second determines + // an indentation from the left or right side for the displayed equations. When + // the alignment is "center", the indent allows you to shift the center to the right + // or left (negative is left). + // + displayAlign: "center", + displayIndent: "0", + + // + // Normally MathJax will perform its starup commands (loading of + // configuration, styles, jax, and so on) as soon as it can. If you + // expect to be doing additional configuration on the page, however, you + // may want to have it wait until the page's onload hander is called. If so, + // set this to "onload". + // + delayStartupUntil: "none", + + // + // Normally MathJax will typeset the mathematics on the page as soon as + // the page is loaded. If you want to delay that process, in which case + // you will need to call MathJax.Hub.Typeset() yourself by hand, set + // this value to true. + // + skipStartupTypeset: false, + + // + // A list of element ID's that are the ones to process for mathematics + // when any of the Hub typesetting calls (Typeset, Process, Update, etc) + // are called with no element specified. This lets you restrict the + // processing to particular containers rather than scanning the entire + // document for mathematics. If none are supplied, the entire document + // is processed. + // + elements: [], + + // + // Since typesetting usually changes the vertical dimensions of the + // page, if the URL contains an anchor position you may no longer be + // positioned at the correct position on the page, so MathJax can + // reposition to that location after it completes its initial + // typesetting of the page. This value controls whether MathJax will + // reposition the browser to the #hash location from the page URL after + // typesetting for the page. + // + positionToHash: true, + + // + // These control whether to attach the MathJax contextual menu to the + // expressions typeset by MathJax. Since the code for handling + // MathPlayer in Internet Explorer is somewhat delicate, it is + // controlled separately via (showMathMenuMSIE). The latter is now + // deprecated in favor of the MathJax contextual menu settings for + // MathPlayer. + // + // These values used to be listed in the separate output jax, but + // have been moved to this more central location since they are shared + // by all output jax. + // + showMathMenu: true, + showMathMenuMSIE: true, + + + // + // The default settings for the MathJax contextual menu (overridden by + // the MathJax cookie when users change the menu settings). + // + menuSettings: { + zoom: "None", // when to do MathZoom + CTRL: false, // require CTRL for MathZoom? + ALT: false, // require Alt or Option? + CMD: false, // require CMD? + Shift: false, // require Shift? + discoverable: false, // make math menu discoverable on hover? + zscale: "200%", // the scaling factor for MathZoom + renderer: null, // set when Jax are loaded + font: "Auto", // what font HTML-CSS should use + context: "MathJax", // or "Browser" for pass-through to browser menu + locale: null, // the language to use for messages + mpContext: false, // true means pass menu events to MathPlayer in IE + mpMouse: false, // true means pass mouse events to MathPlayer in IE + texHints: true, // include class names for TeXAtom elements + FastPreview: null, // use PreviewHTML output as preview? + assistiveMML: null, // include hidden MathML for screen readers? + inTabOrder: true, // set to true if math elements should be included in the tabindex + semantics: false // add semantics tag with original form in MathML output + }, + + // + // The message and style for when there is a processing error handling + // the mathematics (something has gone wrong with the input or output + // jax that prevents it from operating properly). + // + errorSettings: { + message: ["[",["MathProcessingError","Math Processing Error"],"]"], + style: {color: "#CC0000", "font-style":"italic"} // style for message + }, + + + //============================================================================ + // + // These parameters control the tex2jax preprocessor (when you have included + // "tex2jax.js" in the extensions list above). + // + tex2jax: { + + // + // The delimiters that surround in-line math expressions. The first in each + // pair is the initial delimiter and the second is the terminal delimiter. + // Comment out any that you don't want, but be sure there is no extra + // comma at the end of the last item in the list -- some browsers won't + // be able to handle that. + // + inlineMath: [ +// ['$','$'], // uncomment this for standard TeX math delimiters + ['\\(','\\)'] + ], + + // + // The delimiters that surround displayed math expressions. The first in each + // pair is the initial delimiter and the second is the terminal delimiter. + // Comment out any that you don't want, but be sure there is no extra + // comma at the end of the last item in the list -- some browsers won't + // be able to handle that. + // + displayMath: [ + ['$$','$$'], + ['\\[','\\]'] + ], + + // + // This array lists the names of the tags whose contents should not be + // processed by tex2jax (other than to look for ignore/process classes + // as listed below). You can add to (or remove from) this list to prevent + // MathJax from processing mathematics in specific contexts. + // + skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], + + // + // This is the class name used to mark elements whose contents should + // not be processed by tex2jax (other than to look for the + // processClass pattern below). Note that this is a regular + // expression, and so you need to be sure to quote any regexp special + // characters. The pattern is automatically preceded by '(^| )(' and + // followed by ')( |$)', so your pattern will have to match full words + // in the class name. Assigning an element this class name will + // prevent `tex2jax` from processing its contents. + // + ignoreClass: "tex2jax_ignore", + + // + // This is the class name used to mark elements whose contents SHOULD + // be processed by tex2jax. This is used to turn on processing within + // tags that have been marked as ignored or skipped above. Note that + // this is a regular expression, and so you need to be sure to quote + // any regexp special characters. The pattern is automatically + // preceded by '(^| )(' and followed by ')( |$)', so your pattern + // will have to match full words in the class name. Use this to + // restart processing within an element that has been marked as + // ignored above. + // + processClass: "tex2jax_process", + + // + // Set to "true" to allow \$ to produce a dollar without starting in-line + // math mode. If you uncomment the ['$','$'] line above, you should change + // this to true so that you can insert plain dollar signs into your documents + // + processEscapes: false, + + // + // Controls whether tex2jax processes LaTeX environments outside of math + // mode. Set to "false" to prevent processing of environments except within + // math mode. + // + processEnvironments: true, + + // + // Controls whether tex2jax processes \ref{...} commands outside + // of math mode. Set to "false" to prevent processing of \ref + // except within math mode. + // + processRefs: true, + + // + // Controls whether tex2jax inserts MathJax_Preview spans to make a + // preview available, and what preview to use, when it locates in-line + // and display mathetics on the page. The default is "TeX", which + // means use the TeX code as the preview (until it is processed by + // MathJax). Set to "none" to prevent the previews from being + // inserted (the math will simply disappear until it is typeset). Set + // to an array containing the description of an HTML snippet in order + // to use the same preview for all equations on the page (e.g., you + // could have it say "[math]" or load an image). + // + // E.g., preview: ["[math]"], + // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] + // + preview: "TeX" + + }, + + //============================================================================ + // + // These parameters control the asciimath2jax preprocessor (when you have included + // "asciimath2jax.js" in the extensions list above). + // + asciimath2jax: { + + // + // The delimiters that surround asciimath expressions. The first in each + // pair is the initial delimiter and the second is the terminal delimiter. + // + delimiters: [ + ['`','`'] + ], + + // + // This array lists the names of the tags whose contents should not be + // processed by asciimath2jax (other than to look for ignore/process classes + // as listed below). You can add to (or remove from) this list to prevent + // MathJax from processing mathematics in specific contexts. + // + skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], + + // + // This is the class name used to mark elements whose contents should + // not be processed by asciimath2jax (other than to look for the + // processClass pattern below). Note that this is a regular + // expression, and so you need to be sure to quote any regexp special + // characters. The pattern is automatically preceded by '(^| )(' and + // followed by ')( |$)', so your pattern will have to match full words + // in the class name. Assigning an element this class name will + // prevent `asciimath2jax` from processing its contents. + // + ignoreClass: "asciimath2jax_ignore", + + // + // This is the class name used to mark elements whose contents SHOULD + // be processed by asciimath2jax. This is used to turn on processing + // within tags that have been marked as ignored or skipped above. + // Note that this is a regular expression, and so you need to be sure + // to quote any regexp special characters. The pattern is + // automatically preceded by '(^| )(' and followed by ')( |$)', so + // your pattern will have to match full words in the class name. Use + // this to restart processing within an element that has been marked + // as ignored above. + // + processClass: "asciimath2jax_process", + + // Controls whether asciimath2jax inserts MathJax_Preview spans to make a + // preview available, and what preview to use, when it locates in-line + // and display mathetics on the page. The default is "AsciiMath", which + // means use the AsciiMath code as the preview (until it is processed by + // MathJax). Set to "none" to prevent the previews from being + // inserted (the math will simply disappear until it is typeset). Set + // to an array containing the description of an HTML snippet in order + // to use the same preview for all equations on the page (e.g., you + // could have it say "[math]" or load an image). + // + // E.g., preview: ["[math]"], + // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] + // + preview: "AsciiMath" + + }, + + //============================================================================ + // + // These parameters control the mml2jax preprocessor (when you have included + // "mml2jax.js" in the extensions list above). + // + mml2jax: { + + // + // Controls whether mml2jax inserts MathJax_Preview spans to make a + // preview available, and what preview to use, when it locates + // mathematics on the page. The default is "mathml" which means use + // the tag as the preview (until it is processed by MathJax). + // Set to "alttext", to use the tag's alttext attribute as the + // preview, if the tag has one. Set to "none" to + // prevent the previews from being inserted (the math will simply + // disappear until it is typeset). Set to "altimg" to use an image + // described by the altimg* attributes of the element. + // Set to an array containing the + // description of an HTML snippet in order to use the same preview for + // all equations on the page (e.g., you could have it say "[math]" or + // load an image). + // + // E.g., preview: ["[math]"], + // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] + // + preview: "mathml" + + }, + + //============================================================================ + // + // These parameters control the jsMath2jax preprocessor (when you have included + // "jsMath2jax.js" in the extensions list above). + // + jsMath2jax: { + + // + // Controls whether jsMath2jax inserts MathJax_Preview spans to make a + // preview available, and what preview to use, when it locates + // mathematics on the page. The default is "TeX", which means use the + // TeX code as the preview (until it is processed by MathJax). Set to + // "none" to prevent the previews from being inserted (the math will + // simply disappear until it is typeset). Set to an array containing + // the description of an HTML snippet in order to use the same preview + // for all equations on the page (e.g., you could have it say "[math]" + // or load an image). + // + // E.g., preview: ["[math]"], + // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] + // + preview: "TeX" + + }, + + //============================================================================ + // + // These parameters control the TeX input jax. + // + TeX: { + + // + // This specifies the side on which \tag{} macros will place the tags. + // Set to "left" to place on the left-hand side. + // + TagSide: "right", + + // + // This is the amound of indentation (from right or left) for the tags. + // + TagIndent: "0.8em", + + // + // This is the width to use for the multline environment + // + MultLineWidth: "85%", + + // + // List of macros to define. These are of the form + // name: value + // where 'value' is the replacement text for the macro \name. + // The 'value' can also be [value,n] where 'value' is the replacement + // text and 'n' is the number of parameters for the macro. + // Note that backslashes must be doubled in the replacement string. + // + // E.g., + // + // Macros: { + // RR: '{\\bf R}', + // bold: ['{\\bf #1}', 1] + // } + // + Macros: {}, + + // + // Equation numbering parameters. + // + equationNumbers: { + autoNumber: "none", // "AMS" for standard AMS environment numbering, + // or "all" to number all displayed equations +// formatNumber: function (n) {return n}, // format for equation number n +// formatTag: function (n) {return '('+n+')'}, // format for \tag and \eqref +// formatID: function (n) {return 'mjx-eqn-'+String(n).replace(/\s/g,"_")}, +// // element ID to use for reference +// formatURL: function (id,base) {return base+'#'+encodeURIComponent(id)}, +// // URL to use for references + useLabelIds: true // make element ID's use \label name rather than equation number + }, + + // + // Controls the TeX/noErrors extension + // + noErrors: { + disabled: false, // set to true to return to original error messages + multiLine: true, // false to not include original line breaks + inlineDelimiters: ["",""], // or use ["$","$"] or ["\\(","\\)"] to put back delimiters + style: { + "font-size": "90%", + "text-align": "left", + "color": "black", + "padding": "1px 3px", + "border": "1px solid" + } + }, + + // + // Controls the TeX/noUndefined extension + // + noUndefined: { + disabled: false, // set to true to return to original error messages + attributes: { // attributes to set for the undefined control sequence + mathcolor: "red" + } + }, + + // + // Controls the TeX/unicode extension + unicode: { + fonts: "STIXGeneral,'Arial Unicode MS'" // the default font list for unknown characters + } + + }, + + //============================================================================ + // + // These parameters control the AsciiMath input jax. + // + AsciiMath: { + // + // Determines whether the unicode positions for phi and varphi are + // to be swapped or not. (Unicode originally had these reversed, and + // many fonts have them reversed as well.) When set to true, phi + // and varphi will correspond to the LaTeX macros of the same name. + // + fixphi: true, + + // + // Determines whether the MathML should be marked so that the HTML-CSS + // and SVG output jax will use MathML spacing rules rather than TeX + // spacing rules. Since AsciiMath was designed for MathML output, the + // MathML rules are used by default. + // + useMathMLspacing: true, + + // + // Determines whether limits are placed above and below operators, + // or next to them. (AsciiMath doesn't have separate in-line and + // display modes like TeX and MathML do, so this is the only control + // you have over its output) + // + displaystyle: true, + + // + // The character to use for decimal places when scanning for a number. + // If you change it to ",", beware of things like "(1,2)" which would need + // to be changed to "(1, 2)" to be parsed correctly. + // + decimal: "." + }, + + //============================================================================ + // + // These parameters control the MathML input jax. + // + MathML: { + // + // This specifies whether to use TeX spacing or MathML spacing when the + // HTML-CSS output jax is used. + // + useMathMLspacing: false + }, + + //============================================================================ + // + // These parameters control the HTML-CSS output jax. + // + "HTML-CSS": { + + // + // This controls the global scaling of mathematics as compared to the + // surrounding text. Values between 100 and 133 are usually good choices. + // + scale: 100, + + // + // Don't allow the matching of math text to surrounding text to use a scaling + // factor smaller than this. + // + minScaleAdjust: 50, + + // + // This is a list of the fonts to look for on a user's computer in + // preference to using MathJax's web-based fonts. These must + // correspond to directories available in the jax/output/HTML-CSS/fonts + // directory, where MathJax stores data about the characters available + // in the fonts. Set this to ["TeX"], for example, to prevent the + // use of the STIX fonts, or set it to an empty list, [], if + // you want to force MathJax to use web-based or image fonts. + // + availableFonts: ["STIX","TeX"], + + // + // This is the preferred font to use when more than one of those + // listed above is available. + // + preferredFont: "TeX", + + // + // This is the web-based font to use when none of the fonts listed + // above are available on the user's computer. Note that currently + // only the TeX font is available in a web-based form. Set this to + // + // webFont: null, + // + // if you want to prevent the use of web-based fonts. + // + webFont: "TeX", + + // + // This is the font to use for image fallback mode (when none of the + // fonts listed above are available and the browser doesn't support + // web-fonts via the @font-face CSS directive). Note that currently + // only the TeX font is available as an image font. Set this to + // + // imageFont: null, + // + // if you want to prevent the use of image fonts (e.g., you have not + // installed the image fonts on your server). In this case, only + // browsers that support web-based fonts will be able to view your pages + // without having the fonts installed on the client computer. The browsers + // that support web-based fonts include: IE6 and later, Chrome, Safari3.1 + // and above, Firefox3.5 and later, and Opera10 and later. Note that + // Firefox3.0 is NOT on this list, so without image fonts, FF3.0 users + // will be required to to download and install either the STIX fonts or the + // MathJax TeX fonts. + // + imageFont: "TeX", + + // + // This is the font-family CSS value used for characters that are not + // in the selected font (e.g., for web-based fonts, this is where to + // look for characters not included in the MathJax_* fonts). IE will + // stop looking after the first font that exists on the system (even + // if it doesn't contain the needed character), so order these carefully. + // + undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif", + + // + // This setting controls whether elements will be typeset + // using the math fonts or the font of the surrounding text. When + // false, the mathvariant="normal" font will be used; when true, + // the font will be inherited from the surrounding paragraph. + // + mtextFontInherit: false, + + // + // These values control how "chunky" the display of mathematical + // expressions will be. + // + // EqnChunk is the number of equations that will be typeset before + // they appear on screen. Larger values make for less visual flicker + // as the equations are drawn, but also mean longer delays before the + // reader sees anything. + // + // EqChunkFactor is the factor by which the EqnChunk will grow after each + // chunk is displayed. + // + // EqChunkDelay is the time (in milliseconds) to delay between chunks + // (to allow the browser to respond to other user interaction). + // + // Set EqnChunk to 1, EqnChunkFactor to 1, and EqnChunkDelay to 10 to get + // the behavior from MathJax v1.1 and below. + // + EqnChunk: 50, + EqnChunkFactor: 1.5, + EqnChunkDelay: 100, + + // + // This option indicates whether MathJax should try to correct the + // x-height of equations to match the size of the surrounding text. + // + matchFontHeight: true, + + // + // When true, MathJax will not measure the widths or heights of the + // subexpressions as it creates its output, but instead will rely on + // its internal calculations based on the bounding boxes of the + // characters it uses, and will only take measurements when it + // absolutely has to. Since measurements cause display reflows, they + // slows down MathJax considerably, so without them MathJax runs + // faster, but can produce slightly less accurate character placements, + // especially in width fractions or roots. + // + noReflows: true, + + + // + // These settings control automatic line breaking. It is off by + // default, so only explicit line breaks are performed (via + // linebreak="newline" attributes on and elements). To + // perform automatic line breaking on line expressions, set + // 'automatic' to 'true' below. The line breaks will be applied via a + // penalty-based heuristic, which does well, but isn't perfect. You + // might need to use linebreak="goodbreak" or linebreak="badbreak" by + // hand in order to get better effects. It is also possible to modify + // the penalty values; contact the MathJax user's forum for details. + // + linebreaks: { + + // + // This controls the automatic breaking of expressions: + // when false, only process linebreak="newline", + // when true, line breaks are inserted automatically in long expressions. + // + automatic: false, + + // + // This controls how wide the lines of mathematics can be + // + // Use an explicit width like "30em" for a fixed width. + // Use "container" to compute the size from the containing element. + // Use "nn% container" for a portion of the container. + // Use "nn%" for a portion of the window size. + // + // The container-based widths may be slower, and may not produce the + // expected results if the layout width changes due to the removal + // of previews or inclusion of mathematics during typesetting. + // + width: "container" + }, + + // + // This allows you to define or modify the styles used to display + // various math elements created by MathJax. + // + // Example: + // styles: { + // ".MathJax .merror": { + // color: "#CC0000", + // border: "1px solid #CC0000" + // } + // } + // + styles: {}, + + // + // Configuration for tooltips + // (see also the #MathJax_Tooltip CSS in MathJax/jax/output/HTML-CSS/config.js, + // which can be overridden using the styles values above). + // + tooltip: { + delayPost: 600, // milliseconds delay before tooltip is posted after mouseover + delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout + offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position + } + }, + + //============================================================================ + // + // These parameters control the NativeMML output jax. + // + NativeMML: { + + // + // This controls the global scaling of mathematics as compared to the + // surrounding text. Values between 100 and 133 are usually good choices. + // + scale: 100, + + // + // Don't allow the matching of math text to surrounding text to use a scaling + // factor smaller than this. + // + minScaleAdjust: 50, + + // This option indicates whether MathJax should try to correct the + // x-height of equations to match the size of the surrounding text. + matchFontHeight: true, + + // + // This allows you to define or modify the styles used to display + // various math elements created by MathJax. + // + // Example: + // styles: { + // ".MathJax_MathML": { + // color: "red" // MathML is in red + // } + // } + // + styles: {} + }, + + //============================================================================ + // + // These parameters control the SVG output jax. + // + "SVG": { + + // + // This controls the global scaling of mathematics as compared to the + // surrounding text. Values between 100 and 133 are usually good choices. + // + scale: 100, + + // + // Don't allow the matching of math text to surrounding text to use a scaling + // factor smaller than this. + // + minScaleAdjust: 50, + + // + // This specifies the font to use for SVG output (currently the only + // one available) + // + font: "TeX", + + // + // This is the stroke width to use for all character paths (1em = 1000 + // units). This is a cheap way of getting slightly lighter or darker + // characters + // + blacker: 10, + + // + // This is the font-family CSS value used for characters that are not + // in the selected font. IE will stop looking after the first font + // that exists on the system (even if it doesn't contain the needed + // character), so order these carefully. + // + undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif", + + // + // This setting controls whether elements will be typeset + // using the math fonts or the font of the surrounding text. When + // false, the mathvariant="normal" font will be used; when true, + // the font will be inherited from the surrounding paragraph. + // + mtextFontInherit: false, + + // + // This controls whether the MathML structure is retained and CSS + // classes are added to mark the original MathML elements (as in the + // HTML-CSS output). By default, the SVG output jax removes unneeded + // nesting in order to produce a more efficient markup, but if you + // want to use CSS to style the elements as if they were MathML, you + // might need to set this to true. + // + addMMLclasses: false, + + // + // These values control how "chunky" the display of mathematical + // expressions will be. + // + // EqnChunk is the number of equations that will be typeset before + // they appear on screen. Larger values make for less visual flicker + // as the equations are drawn, but also mean longer delays before the + // reader sees anything. + // + // EqChunkFactor is the factor by which the EqnChunk will grow after each + // chunk is displayed. + // + // EqChunkDelay is the time (in milliseconds) to delay between chunks + // (to allow the browser to respond to other user interaction). + // + // Set EqnChunk to 1, EqnChunkFactor to 1, and EwnChunkDelay to 10 to get + // the behavior from MathJax v1.1 and below. + // + EqnChunk: 50, + EqnChunkFactor: 1.5, + EqnChunkDelay: 100, + + // This option indicates whether MathJax should try to correct the + // x-height of equations to match the size of the surrounding text. + matchFontHeight: true, + + // + // These settings control automatic line breaking. It is off by + // default, so only explicit line breaks are performed (via + // linebreak="newline" attributes on and elements). To + // perform automatic line breaking on line expressions, set + // 'automatic' to 'true' below. The line breaks will be applied via a + // penalty-based heuristic, which does well, but isn't perfect. You + // might need to use linebreak="goodbreak" or linebreak="badbreak" by + // hand in order to get better effects. It is also possible to modify + // the penalty values; contact the MathJax user's forum for details. + // + linebreaks: { + + // + // This controls the automatic breaking of expressions: + // when false, only process linebreak="newline", + // when true, line breaks are inserted automatically in long expressions. + // + automatic: false, + + // + // This controls how wide the lines of mathematics can be + // + // Use an explicit width like "30em" for a fixed width. + // Use "container" to compute the size from the containing element. + // Use "nn% container" for a portion of the container. + // Use "nn%" for a portion of the window size. + // + // The container-based widths may be slower, and may not produce the + // expected results if the layout width changes due to the removal + // of previews or inclusion of mathematics during typesetting. + // + width: "container" + }, + + // + // These are the styles used for merror elements in SVG output. Note + // that only a limited number of style attributes are supported by + // SVG, but you can at least change the colors and borders. + // + // + merrorStyle: { + fontSize:"90%", color:"#C00", background:"#FF8", + border: "1px solid #C00", padding:"3px" + }, + + // + // This allows you to define or modify the styles used to display + // various math elements created by MathJax. + // + // Example: + // styles: { + // ".MathJax .merror": { + // color: "#CC0000", + // border: "1px solid #CC0000" + // } + // } + // + styles: {}, + + // + // Configuration for tooltips + // (see also the #MathJax_Tooltip CSS in MathJax/jax/output/SVG/config.js, + // which can be overridden using the styles values above). + // + tooltip: { + delayPost: 600, // milliseconds delay before tooltip is posted after mouseover + delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout + offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position + } + }, + + //============================================================================ + // + // These parameters control the contextual menus that are available on the + // mathematics within the page (provided the showMathMenu value is true above). + // + MathMenu: { + // + // This is the hover delay for the display of submenus in the + // contextual menu. When the mouse is still over a submenu label for + // this long, the menu will appear. (The menu also will appear if you + // click on the label.) It is in milliseconds. + // + delay: 150, + + // + // This is the URL for the MathJax Help menu item. + // + helpURL: "http://www.mathjax.org/help-v2/user/", + + // + // These control whether the "Math Renderer", "MathPlayer", "Font + // Preferences", "Contextual Menu", and "Discoverable" menu items will + // be displayed or not. + // + showRenderer: true, + showMathPlayer: true, + showFontMenu: false, + showContext: false, + showDiscoverable: false, + + // + // These are the settings for the Annotation menu. If the root has + // a child that contains one of the following annotation + // formats, the source will be available via the "Show Math As" menu. + // Each format has a list of possible encodings. + // + semanticsAnnotations: { + "TeX": ["TeX", "LaTeX", "application/x-tex"], + "StarMath": ["StarMath 5.0"], + "Maple": ["Maple"], + "ContentMathML": ["MathML-Content", "application/mathml-content+xml"], + "OpenMath": ["OpenMath"] + }, + + // + // These are the settings for the Show Source window. The initial + // width and height will be reset after the source is shown in an + // attempt to make the window fit the output better. + // + windowSettings: { + status: "no", toolbar: "no", locationbar: "no", menubar: "no", + directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes", + width: 100, height: 50 + }, + + // + // This allows you to change the CSS that controls the menu + // appearance. See the extensions/MathMenu.js file for details + // of the default settings. + // + styles: {} + + }, + + //============================================================================ + // + // These parameters control the contextual menus that are available on the + // mathematics within the page (provided the showMathMenu value is true above). + // + MathEvents: { + // + // This is the time required for the mouse to be held still over a + // typeset equation in order for it to count as a hover (used when the + // zoom trigger is "Hover"). It is in milliseconds. + // + hover: 500 + }, + + //============================================================================ + // + // These parameters control the MMLorHTML configuration file. + // NOTE: if you add MMLorHTML.js to the config array above, + // you must REMOVE the output jax from the jax array. + // + MMLorHTML: { + // + // The output jax that is to be preferred when both are possible + // (set to "MML" for native MathML, "HTML" for MathJax's HTML-CSS output jax). + // + prefer: { + MSIE: "MML", + Firefox: "HTML", + Opera: "HTML", + Safari: "HTML", + Chrome: "HTML", + other: "HTML" + } + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/default.js"); diff --git a/src/py/kaleido/vendor/mathjax/config/local/local.js b/src/py/kaleido/vendor/mathjax/config/local/local.js new file mode 100644 index 00000000..cf2c6780 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/config/local/local.js @@ -0,0 +1,40 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/config/local/local.js + * + * Include changes and configuration local to your installation + * in this file. For example, common macros can be defined here + * (see below). To use this file, add "local/local.js" to the + * config array in MathJax.js or your MathJax.Hub.Config() call. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX; + + // place macros here. E.g.: + // TEX.Macro("R","{\\bf R}"); + // TEX.Macro("op","\\mathop{\\rm #1}",1); // a macro with 1 parameter + +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/local/local.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/AssistiveMML.js b/src/py/kaleido/vendor/mathjax/extensions/AssistiveMML.js new file mode 100644 index 00000000..10b5af4e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/AssistiveMML.js @@ -0,0 +1,161 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/AssistiveMML.js + * + * Implements an extension that inserts hidden MathML into the + * page for screen readers or other asistive technology. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +(function (AJAX,CALLBACK,HUB,HTML) { + var SETTINGS = HUB.config.menuSettings; + + var AssistiveMML = MathJax.Extension["AssistiveMML"] = { + version: "2.7.5", + + config: HUB.CombineConfig("AssistiveMML",{ + disabled: false, + styles: { + ".MJX_Assistive_MathML": { + position:"absolute!important", + top: 0, left: 0, + clip: (HUB.Browser.isMSIE && (document.documentMode||0) < 8 ? + "rect(1px 1px 1px 1px)" : "rect(1px, 1px, 1px, 1px)"), + padding: "1px 0 0 0!important", + border: "0!important", + height: "1px!important", + width: "1px!important", + overflow: "hidden!important", + display:"block!important", + // + // Don't allow the assistive MathML become part of the selection + // + "-webkit-touch-callout": "none", + "-webkit-user-select": "none", + "-khtml-user-select": "none", + "-moz-user-select": "none", + "-ms-user-select": "none", + "user-select": "none" + }, + ".MJX_Assistive_MathML.MJX_Assistive_MathML_Block": { + width: "100%!important" + } + } + }), + + Config: function () { + if (!this.config.disabled && SETTINGS.assistiveMML == null) + HUB.Config({menuSettings:{assistiveMML:true}}); + AJAX.Styles(this.config.styles); + HUB.Register.MessageHook("End Math",function (msg) { + if (SETTINGS.assistiveMML) return AssistiveMML.AddAssistiveMathML(msg[1]) + }); + }, + + // + // This sets up a state object that lists the jax and index into the jax, + // and a dummy callback that is used to synchronizing with MathJax. + // It will be called when the jax are all processed, and that will + // let the MathJax queue continue (it will block until then). + // + AddAssistiveMathML: function (node) { + var state = { + jax: HUB.getAllJax(node), i: 0, + callback: MathJax.Callback({}) + }; + this.HandleMML(state); + return state.callback; + }, + + // + // This removes the data-mathml attribute and the assistive MathML from + // all the jax. + // + RemoveAssistiveMathML: function (node) { + var jax = HUB.getAllJax(node), frame; + for (var i = 0, m = jax.length; i < m; i++) { + frame = document.getElementById(jax[i].inputID+"-Frame"); + if (frame && frame.getAttribute("data-mathml")) { + frame.removeAttribute("data-mathml"); + if (frame.lastChild && frame.lastChild.className.match(/MJX_Assistive_MathML/)) + frame.removeChild(frame.lastChild); + } + } + }, + + // + // For each jax in the state, look up the frame. + // If the jax doesn't use NativeMML and hasn't already been handled: + // Get the MathML for the jax, taking resets into account. + // Add a data-mathml attribute to the frame, and + // Create a span that is not visible on screen and put the MathML in it, + // and add it to the frame. + // When all the jax are processed, call the callback. + // + HandleMML: function (state) { + var m = state.jax.length, jax, mml, frame, span; + while (state.i < m) { + jax = state.jax[state.i]; + frame = document.getElementById(jax.inputID+"-Frame"); + if (jax.outputJax !== "NativeMML" && jax.outputJax !== "PlainSource" && + frame && !frame.getAttribute("data-mathml")) { + try { + mml = jax.root.toMathML("").replace(/\n */g,"").replace(//g,""); + } catch (err) { + if (!err.restart) throw err; // an actual error + return MathJax.Callback.After(["HandleMML",this,state],err.restart); + } + frame.setAttribute("data-mathml",mml); + span = HTML.addElement(frame,"span",{ + isMathJax: true, unselectable: "on", + className: "MJX_Assistive_MathML" + + (jax.root.Get("display") === "block" ? " MJX_Assistive_MathML_Block" : "") + }); + try {span.innerHTML = mml} catch (err) {} + frame.style.position = "relative"; + frame.setAttribute("role","presentation"); + frame.firstChild.setAttribute("aria-hidden","true"); + span.setAttribute("role","presentation"); + } + state.i++; + } + state.callback(); + } + + }; + + HUB.Startup.signal.Post("AssistiveMML Ready"); + +})(MathJax.Ajax,MathJax.Callback,MathJax.Hub,MathJax.HTML); + +// +// Make sure the toMathML extension is loaded before we signal +// the load complete for this extension. Then wait for the end +// of the user configuration before configuring this extension. +// +MathJax.Callback.Queue( + ["Require",MathJax.Ajax,"[MathJax]/extensions/toMathML.js"], + ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/AssistiveMML.js"], + function () { + MathJax.Hub.Register.StartupHook("End Config",["Config",MathJax.Extension.AssistiveMML]); + } +); + diff --git a/src/py/kaleido/vendor/mathjax/extensions/CHTML-preview.js b/src/py/kaleido/vendor/mathjax/extensions/CHTML-preview.js new file mode 100644 index 00000000..f35a233e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/CHTML-preview.js @@ -0,0 +1,30 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/CHTML-preview.js + * + * Backward compatibility with old CHTML-preview extension. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2014-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Callback.Queue( + ["Require",MathJax.Ajax,"[MathJax]/extensions/fast-preview.js"], + ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/CHTML-preview.js"] +); diff --git a/src/py/kaleido/vendor/mathjax/extensions/FontWarnings.js b/src/py/kaleido/vendor/mathjax/extensions/FontWarnings.js new file mode 100644 index 00000000..99595293 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/FontWarnings.js @@ -0,0 +1,313 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/FontWarnings.js + * + * Implements a font warning message window that appears when + * the image fonts, no fonts, or web fonts are used, informing + * the user where to download the fonts, or to update to a more + * modern browser. The window will fade out automatically after + * a time, and the user can dismiss it by a close box. + * + * To include font warning messages, add "FontWarnings.js" to the + * extensions array in your MathJax configuration. + * + * You can customize the warning messages in a number of ways. Use the + * FontWarnings section of the configuration to specify any of the items + * shown in the CONFIG variable below. These include + * + * messageStyle the style to apply to the warning box that is + * displayed when MathJax uses one of its fallback + * methods. + * + * removeAfter the amount of time to show the warning message (in ms) + * fadeoutTime how long the message should take to fade out + * fadeoutSteps how many separate steps to use during the fade out + * (set to 0 to use no fadeout and simply remove the window) + * + * Messages stores the descriptions of the messages to use for the + * various warnings (webFonts, imageFonts, and noFonts). + * These are arrays of strings to be inserted into the window, + * or identifiers within brackets, which refer to the HTML + * snippets in the HTML section described below. To disable a + * specific message, set its value to null (see example below). + * + * HTML stores snippets of HTML descriptions for various + * common parts of the error messages. These include + * the closeBox, the message about web fonts being available + * in modern browser, and messages about downloadable fonts. + * The STIX and TeX font messages are used when only one + * of these is in the availableFonts list. The data for these + * are arrays of either strings to include or a description of + * an HTML item enclosed in square brackets. That description + * has (up to) three parts: the name of the tag to be included, + * a list (enclosed in braces) of attributes and their values + * to be set on the tag (optional), and an array of the contents + * of the tag (optional). See the definitions below for examples. + * + * For example, + * + * MathJax.Hub.Config({ + * ... + * extensions: ["FontWarnings.js"], + * FontWarnings: { + * removeAfter: 20*1000, // 20 seconds + * messageStyle: { + * border: "2px solid black", + * padding: "2em" + * }, + * Message: { + * webFont: null // no webfont messages (only image and no fonts) + * } + * } + * }); + * + * would extend the time the message is displayed from 12 seconds to 20, + * and changes the border to a solid black one, with 2em of padding + * rather than the default of 1em. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML) { + var VERSION = "2.7.5"; + + var STIXURL = "http://www.stixfonts.org/"; + var MATHJAXURL = "https://github.com/mathjax/MathJax/tree/master/fonts/HTML-CSS/TeX/otf"; + + var CONFIG = HUB.CombineConfig("FontWarnings",{ + // + // The CSS for the message window + // + messageStyle: { + position:"fixed", bottom:"4em", left:"3em", width:"40em", + border: "3px solid #880000", "background-color": "#E0E0E0", color: "black", + padding: "1em", "font-size":"small", "white-space":"normal", + + "border-radius": ".75em", // Opera 10.5 and IE9 + "-webkit-border-radius": ".75em", // Safari and Chrome + "-moz-border-radius": ".75em", // Firefox + "-khtml-border-radius": ".75em", // Konqueror + + "box-shadow": "4px 4px 10px #AAAAAA", // Opera 10.5 and IE9 + "-webkit-box-shadow": "4px 4px 10px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow": "4px 4px 10px #AAAAAA", // Forefox 3.5 + "-khtml-box-shadow": "4px 4px 10px #AAAAAA", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=3, OffY=3, Color='gray', Positive='true')" // IE + }, + + // + // The messages for the various situations + // + Message: { + + webFont: [ + ["closeBox"], + ["webFont", + "MathJax is using web-based fonts to display the mathematics "+ + "on this page. These take time to download, so the page would "+ + "render faster if you installed math fonts directly in your "+ + "system's font folder."], + ["fonts"] + ], + + imageFonts: [ + ["closeBox"], + ["imageFonts", + "MathJax is using its image fonts rather than local or web-based fonts. "+ + "This will render slower than usual, and the mathematics may not print "+ + "at the full resolution of your printer."], + ["fonts"], + ["webFonts"] + ], + + noFonts: [ + ["closeBox"], + ["noFonts", + "MathJax is unable to locate a font to use to display "+ + "its mathematics, and image fonts are not available, so it "+ + "is falling back on generic unicode characters in hopes that "+ + "your browser will be able to display them. Some characters "+ + "may not show up properly, or possibly not at all."], + ["fonts"], + ["webFonts"] + ] + }, + + // + // HTML objects that can be referred to in the message definitions + // + HTML: { + // + // The definition of the close box + // + closeBox: [[ + "div",{ + style: { + position:"absolute", overflow:"hidden", top:".1em", right:".1em", + border: "1px outset", width:"1em", height:"1em", + "text-align": "center", cursor: "pointer", + "background-color": "#EEEEEE", color:"#606060", + + "border-radius": ".5em", // Opera 10.5 + "-webkit-border-radius": ".5em", // Safari and Chrome + "-moz-border-radius": ".5em", // Firefox + "-khtml-border-radius": ".5em" // Konqueror + }, + onclick: function () { + if (DATA.div && DATA.fade === 0) + {if (DATA.timer) {clearTimeout(DATA.timer)}; DATA.div.style.display = "none"} + } + }, + [["span",{style:{position:"relative", bottom:".2em"}},["x"]]] + ]], + + webFonts: [ + ["p"], + ["webFonts", + "Most modern browsers allow for fonts to be downloaded over the web. "+ + "Updating to a more recent version of your browser (or changing "+ + "browsers) could improve the quality of the mathematics on this page." + ] + ], + + fonts: [ + ["p"], + ["fonts", + "MathJax can use either the [STIX fonts](%1) or the [MathJax TeX fonts](%2). " + + "Download and install one of those fonts to improve your MathJax experience.", + STIXURL,MATHJAXURL + ] + ], + + STIXfonts: [ + ["p"], + ["STIXPage", + "This page is designed to use the [STIX fonts](%1). " + + "Download and install those fonts to improve your MathJax experience.", + STIXURL + ] + ], + + TeXfonts: [ + ["p"], + ["TeXPage", + "This page is designed to use the [MathJax TeX fonts](%1). " + + "Download and install those fonts to improve your MathJax experience.", + MATHJAXURL + ] + ] + + }, + + removeAfter: 12*1000, // time to show message (in ms) + fadeoutSteps: 10, // fade-out steps + fadeoutTime: 1.5*1000 // fadeout over this amount of time (in ms) + + }); + if (MathJax.Hub.Browser.isIE9 && document.documentMode >= 9) + {delete CONFIG.messageStyle.filter} + + // + // Data for the window + // + var DATA = { + div: null, // the message window, when displayed + fade: 0 // number of fade-out steps so far + }; + + // + // Create the message window and start the fade-out timer + // + var CREATEMESSAGE = function (data) { + if (DATA.div) return; + var HTMLCSS = MathJax.OutputJax["HTML-CSS"], frame = document.body; + if (HUB.Browser.isMSIE) { + if (CONFIG.messageStyle.position === "fixed") { + MathJax.Message.Init(); // make sure MathJax_MSIE_frame exists + frame = document.getElementById("MathJax_MSIE_Frame") || frame; + if (frame !== document.body) {CONFIG.messageStyle.position = "absolute"} + } + } else {delete CONFIG.messageStyle.filter} + CONFIG.messageStyle.maxWidth = (document.body.clientWidth-75) + "px"; + var i = 0; while (i < data.length) { + if (MathJax.Object.isArray(data[i])) { + if (data[i].length === 1 && CONFIG.HTML[data[i][0]]) { + data.splice.apply(data,[i,1].concat(CONFIG.HTML[data[i][0]])); + } else if (typeof data[i][1] === "string") { + var message = MathJax.Localization.lookupPhrase(["FontWarnings",data[i][0]],data[i][1]); + message = MathJax.Localization.processMarkdown(message,data[i].slice(2),"FontWarnings"); + data.splice.apply(data,[i,1].concat(message)); + i += message.length; + } else {i++} + } else {i++} + } + DATA.div = HTMLCSS.addElement(frame,"div", + {id:"MathJax_FontWarning",style:CONFIG.messageStyle},data); + MathJax.Localization.setCSS(DATA.div); + if (CONFIG.removeAfter) { + HUB.Register.StartupHook("End",function () + {DATA.timer = setTimeout(FADEOUT,CONFIG.removeAfter)}); + } + HTML.Cookie.Set("fontWarn",{warned:true}); + }; + + // + // Set the opacity based on the number of steps taken so far + // and remove the window when it gets to 0 + // + var FADEOUT = function () { + DATA.fade++; if (DATA.timer) {delete DATA.timer} + if (DATA.fade < CONFIG.fadeoutSteps) { + var opacity = 1 - DATA.fade/CONFIG.fadeoutSteps; + DATA.div.style.opacity = opacity; + DATA.div.style.filter = "alpha(opacity="+Math.floor(100*opacity)+")"; + setTimeout(FADEOUT,CONFIG.fadeoutTime/CONFIG.fadeoutSteps); + } else { + DATA.div.style.display = "none"; + } + }; + + // + // Check that we haven't already issued a warning + // + if (!HTML.Cookie.Get("fontWarn").warned) { + // + // Hook into the Startup signal and look for font warning messages. + // When one comes, issue the correct message. + // + HUB.Startup.signal.Interest(function (message) { + if (message.match(/HTML-CSS Jax - /) && !DATA.div) { + var HTMLCSS = MathJax.OutputJax["HTML-CSS"], FONTS = HTMLCSS.config.availableFonts, MSG; + var localFonts = (FONTS && FONTS.length); + if (!localFonts) {CONFIG.HTML.fonts = [""]} + else if (FONTS.length === 1) {CONFIG.HTML.fonts = CONFIG.HTML[FONTS[0]+"fonts"]} + if (HTMLCSS.allowWebFonts) {CONFIG.HTML.webfonts = [""]} + if (message.match(/- Web-Font/)) {if (localFonts) {MSG = "webFont"}} + else if (message.match(/- using image fonts/)) {MSG = "imageFonts"} + else if (message.match(/- no valid font/)) {MSG = "noFonts"} + if (MSG && CONFIG.Message[MSG]) + {MathJax.Localization.loadDomain("FontWarnings",[CREATEMESSAGE,CONFIG.Message[MSG]])} + } + }); + } + +})(MathJax.Hub,MathJax.HTML); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/HTML-CSS/handle-floats.js b/src/py/kaleido/vendor/mathjax/extensions/HTML-CSS/handle-floats.js new file mode 100644 index 00000000..01fdcec3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/HTML-CSS/handle-floats.js @@ -0,0 +1,49 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/HTML-CSS/handle-floats.js + * + * This extension allows HTML-CSS output to deal with floating elements + * better. In particular, when there are tags or equation numbers, these + * would overlap floating elements, but with this extension, the width of + * the line should properly correspond to the amount of space remaining. + * + * To load it, include + * + * "HTML-CSS": { + * extensions: ["handle-floats.js"] + * } + * + * in your configuration. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2012-2018 The MathJax Consortium + * + * 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. + */ + + +MathJax.Extension["HTML-CSS/handle-floats"] = { + version: "2.7.5" +}; + +// +// This file is now obsolete, since the HTML-CSS output already handles +// floating elements properly. +// + +MathJax.Hub.Startup.signal.Post("HTML-CSS handle-floats Ready"); +MathJax.Ajax.loadComplete("[MathJax]/extensions/HTML-CSS/handle-floats.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/HelpDialog.js b/src/py/kaleido/vendor/mathjax/extensions/HelpDialog.js new file mode 100644 index 00000000..4c6120ad --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/HelpDialog.js @@ -0,0 +1,203 @@ +/************************************************************* + * + * MathJax/extensions/HelpDialog.js + * + * Implements the MathJax Help dialog box. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML,AJAX,OUTPUT,LOCALE) { + + var HELP = MathJax.Extension.Help = { + version: "2.7.5" + }; + + var STIXURL = "http://www.stixfonts.org/"; + var MENU = MathJax.Menu; + var FALSE, KEY; + HUB.Register.StartupHook("MathEvents Ready",function () { + FALSE = MathJax.Extension.MathEvents.Event.False; + KEY = MathJax.Extension.MathEvents.Event.KEY; + }); + + + var CONFIG = HUB.CombineConfig("HelpDialog",{ + + styles: { + "#MathJax_Help": { + position:"fixed", left:"50%", width:"auto", "max-width": "90%", "text-align":"center", + border:"3px outset", padding:"1em 2em", "background-color":"#DDDDDD", color:"black", + cursor: "default", "font-family":"message-box", "font-size":"120%", + "font-style":"normal", "text-indent":0, "text-transform":"none", + "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", + "word-wrap":"normal", "white-space":"wrap", "float":"none", "z-index":201, + + "border-radius": "15px", // Opera 10.5 and IE9 + "-webkit-border-radius": "15px", // Safari and Chrome + "-moz-border-radius": "15px", // Firefox + "-khtml-border-radius": "15px", // Konqueror + + "box-shadow":"0px 10px 20px #808080", // Opera 10.5 and IE9 + "-webkit-box-shadow":"0px 10px 20px #808080", // Safari 3 and Chrome + "-moz-box-shadow":"0px 10px 20px #808080", // Forefox 3.5 + "-khtml-box-shadow":"0px 10px 20px #808080", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE + }, + "#MathJax_Help.MathJax_MousePost": { + outline:"none" + }, + + "#MathJax_HelpContent": { + overflow:"auto", "text-align":"left", "font-size":"80%", + padding:".4em .6em", border:"1px inset", margin:"1em 0px", + "max-height":"20em", "max-width":"30em", "background-color":"#EEEEEE" + }, + + "#MathJax_HelpClose": { + position:"absolute", top:".2em", right:".2em", + cursor:"pointer", + display:"inline-block", + border:"2px solid #AAA", + "border-radius":"18px", + "-webkit-border-radius": "18px", // Safari and Chrome + "-moz-border-radius": "18px", // Firefox + "-khtml-border-radius": "18px", // Konqueror + "font-family":"'Courier New',Courier", + "font-size":"24px", + color:"#F0F0F0" + }, + "#MathJax_HelpClose span": { + display:"block", "background-color":"#AAA", border:"1.5px solid", + "border-radius":"18px", + "-webkit-border-radius": "18px", // Safari and Chrome + "-moz-border-radius": "18px", // Firefox + "-khtml-border-radius": "18px", // Konqueror + "line-height":0, + padding:"8px 0 6px" // may need to be browser-specific + }, + "#MathJax_HelpClose:hover": { + color:"white!important", + border:"2px solid #CCC!important" + }, + "#MathJax_HelpClose:hover span": { + "background-color":"#CCC!important" + }, + "#MathJax_HelpClose:hover:focus": { + outline:"none" + } + } + }); + + /* + * Handle the Help Dialog box + */ + HELP.Dialog = function (event) { + LOCALE.loadDomain("HelpDialog",["Post",HELP,event]); + }; + + HELP.Post = function (event) { + this.div = MENU.Background(this); + var help = HTML.addElement(this.div,"div",{ + id: "MathJax_Help", tabIndex: 0, onkeydown: HELP.Keydown + },LOCALE._("HelpDialog",[ + ["b",{style:{fontSize:"120%"}},[["Help","MathJax Help"]]], + ["div",{id: "MathJax_HelpContent", tabIndex: 0},[ + ["p",{},[["MathJax", + "*MathJax* is a JavaScript library that allows page authors to include " + + "mathematics within their web pages. As a reader, you don't need to do " + + "anything to make that happen."]] + ], + ["p",{},[["Browsers", + "*Browsers*: MathJax works with all modern browsers including IE6+, Firefox 3+, " + + "Chrome 0.2+, Safari 2+, Opera 9.6+ and most mobile browsers."]] + ], + ["p",{},[["Menu", + "*Math Menu*: MathJax adds a contextual menu to equations. Right-click or " + + "CTRL-click on any mathematics to access the menu."]] + ], + ["div",{style:{"margin-left":"1em"}},[ + ["p",{},[["ShowMath", + "*Show Math As* allows you to view the formula's source markup " + + "for copy & paste (as MathML or in its original format)."]] + ], + ["p",{},[["Settings", + "*Settings* gives you control over features of MathJax, such as the " + + "size of the mathematics, and the mechanism used to display equations."]] + ], + ["p",{},[["Language", + "*Language* lets you select the language used by MathJax for its menus " + + "and warning messages."]] + ], + ]], + ["p",{},[["Zoom", + "*Math Zoom*: If you are having difficulty reading an equation, MathJax can " + + "enlarge it to help you see it better."]] + ], + ["p",{},[["Accessibilty", + "*Accessibility*: MathJax will automatically work with screen readers to make " + + "mathematics accessible to the visually impaired."]] + ], + ["p",{},[["Fonts", + "*Fonts*: MathJax will use certain math fonts if they are installed on your " + + "computer; otherwise, it will use web-based fonts. Although not required, " + + "locally installed fonts will speed up typesetting. We suggest installing " + + "the [STIX fonts](%1).",STIXURL]] + ] + ]], + ["a",{href:"http://www.mathjax.org/"},["www.mathjax.org"]], + ["span",{id: "MathJax_HelpClose", onclick: HELP.Remove, + onkeydown: HELP.Keydown, tabIndex: 0, role: "button", + "aria-label": LOCALE._(["HelpDialog","CloseDialog"],"Close help dialog")}, + [["span",{},["\u00D7"]]] + ] + ])); + if (event.type === "mouseup") help.className += " MathJax_MousePost"; + help.focus(); + LOCALE.setCSS(help); + var doc = (document.documentElement||{}); + var H = window.innerHeight || doc.clientHeight || doc.scrollHeight || 0; + if (MENU.prototype.msieAboutBug) { + help.style.width = "20em"; help.style.position = "absolute"; + help.style.left = Math.floor((document.documentElement.scrollWidth - help.offsetWidth)/2)+"px"; + help.style.top = (Math.floor((H-help.offsetHeight)/3)+document.body.scrollTop)+"px"; + } else { + help.style.marginLeft = Math.floor(-help.offsetWidth/2)+"px"; + help.style.top = Math.floor((H-help.offsetHeight)/3)+"px"; + } + }; + HELP.Remove = function (event) { + if (HELP.div) {document.body.removeChild(HELP.div); delete HELP.div} + }; + HELP.Keydown = function(event) { + if (event.keyCode === KEY.ESCAPE || + (this.id === "MathJax_HelpClose" && + (event.keyCode === KEY.SPACE || event.keyCode === KEY.RETURN))) { + HELP.Remove(event); + MENU.CurrentNode().focus(); + FALSE(event); + } + }, + + MathJax.Callback.Queue( + HUB.Register.StartupHook("End Config",{}), // wait until config is complete + ["Styles",AJAX,CONFIG.styles], + ["Post",HUB.Startup.signal,"HelpDialog Ready"], + ["loadComplete",AJAX,"[MathJax]/extensions/HelpDialog.js"] + ); + +})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.OutputJax,MathJax.Localization); diff --git a/src/py/kaleido/vendor/mathjax/extensions/MatchWebFonts.js b/src/py/kaleido/vendor/mathjax/extensions/MatchWebFonts.js new file mode 100644 index 00000000..8fd7cad7 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/MatchWebFonts.js @@ -0,0 +1,309 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/MatchWebFonts.js + * + * Adds code to the output jax so that if web fonts are used on the page, + * MathJax will be able to detect their arrival and update the math to + * accommodate the change in font. For the NativeMML output, this works + * both for web fonts in main text, and for web fonts in the math as well. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,AJAX) { + var VERSION = "2.7.5"; + + var CONFIG = MathJax.Hub.CombineConfig("MatchWebFonts",{ + matchFor: { + "HTML-CSS": true, + NativeMML: true, + SVG: true + }, + fontCheckDelay: 500, // initial delay for the first check for web fonts + fontCheckTimeout: 15 * 1000, // how long to keep looking for fonts (15 seconds) + }); + + MathJax.Extension.MatchWebFonts = { + version: VERSION, + config: CONFIG + }; + + HUB.Register.StartupHook("HTML-CSS Jax Ready",function () { + var HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + var POSTTRANSLATE = HTMLCSS.postTranslate; + + HTMLCSS.Augment({ + postTranslate: function (state,partial) { + if (!partial && CONFIG.matchFor["HTML-CSS"] && this.config.matchFontHeight) { + // + // Check for changes in the web fonts that might affect the font + // size for math elements. This is a periodic check that goes on + // until a timeout is reached. + // + AJAX.timer.start(AJAX,["checkFonts",this,state.jax[this.id]], + CONFIG.fontCheckDelay,CONFIG.fontCheckTimeout); + } + return POSTTRANSLATE.apply(this,arguments); // do the original function + }, + + checkFonts: function (check,scripts) { + if (check.time(function () {})) return; + var size = [], i, m, retry = false; + // + // Add the elements used for testing ex and em sizes + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.insertBefore(this.EmExSpan.cloneNode(true),script); + } + } + // + // Check to see if anything has changed + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; retry = true; + var jax = script.MathJax.elementJax; if (!jax) continue; + // + // Check if ex or mex has changed + // + var test = script.previousSibling; + var ex = test.firstChild.offsetHeight/60; + var em = test.lastChild.lastChild.offsetHeight/60; + if (ex === 0 || ex === "NaN") {ex = this.defaultEx; em = this.defaultEm} + if (ex !== jax.HTMLCSS.ex || em !== jax.HTMLCSS.em) { + var scale = ex/this.TeX.x_height/em; + scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale)*this.config.scale); + if (scale/100 !== jax.scale) {size.push(script); scripts[i] = {}} + } + } + // + // Remove markers + // + scripts = scripts.concat(size); // some scripts have been moved to the size array + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script && script.parentNode && script.MathJax.elementJax) { + script.parentNode.removeChild(script.previousSibling); + } + } + // + // Rerender the changed items + // + if (size.length) {HUB.Queue(["Rerender",HUB,[size],{}])} + // + // Try again later + // + if (retry) {setTimeout(check,check.delay)} + } + }); + }); + + HUB.Register.StartupHook("SVG Jax Ready",function () { + var SVG = MathJax.OutputJax.SVG; + var POSTTRANSLATE = SVG.postTranslate; + + SVG.Augment({ + postTranslate: function (state,partial) { + if (!partial && CONFIG.matchFor.SVG) { + // + // Check for changes in the web fonts that might affect the font + // size for math elements. This is a periodic check that goes on + // until a timeout is reached. + // + AJAX.timer.start(AJAX,["checkFonts",this,state.jax[this.id]], + CONFIG.fontCheckDelay,CONFIG.fontCheckTimeout); + } + return POSTTRANSLATE.apply(this,arguments); // do the original function + }, + + checkFonts: function (check,scripts) { + if (check.time(function () {})) return; + var size = [], i, m, retry = false; + // + // Add the elements used for testing ex and em sizes + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.insertBefore(this.ExSpan.cloneNode(true),script); + } + } + // + // Check to see if anything has changed + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; retry = true; + var jax = script.MathJax.elementJax; if (!jax) continue; + // + // Check if ex or mex has changed + // + var test = script.previousSibling; + var ex = test.firstChild.offsetHeight/60; + if (ex === 0 || ex === "NaN") {ex = this.defaultEx} + if (ex !== jax.SVG.ex) {size.push(script); scripts[i] = {}} + } + // + // Remove markers + // + scripts = scripts.concat(size); // some scripts have been moved to the size array + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.removeChild(script.previousSibling); + } + } + // + // Rerender the changed items + // + if (size.length) {HUB.Queue(["Rerender",HUB,[size],{}])} + // + // Try again later (if not all the scripts are null) + // + + if (retry) setTimeout(check,check.delay); + } + }); + }); + + HUB.Register.StartupHook("NativeMML Jax Ready",function () { + var nMML = MathJax.OutputJax.NativeMML; + var POSTTRANSLATE = nMML.postTranslate; + + nMML.Augment({ + postTranslate: function (state) { + if (!HUB.Browser.isMSIE && CONFIG.matchFor.NativeMML) { + // + // Check for changes in the web fonts that might affect the sizes + // of math elements. This is a periodic check that goes on until + // a timeout is reached. + // + AJAX.timer.start(AJAX,["checkFonts",this,state.jax[this.id]], + CONFIG.fontCheckDelay,CONFIG.fontCheckTimeout); + } + POSTTRANSLATE.apply(this,arguments); // do the original routine + }, + + // + // Check to see if web fonts have been loaded that change the ex size + // of the surrounding font, the ex size within the math, or the widths + // of math elements. We do this by rechecking the ex and mex sizes + // (to see if the font scaling needs adjusting) and by checking the + // size of the inner mrow of math elements and mtd elements. The + // sizes of these have been stored in the NativeMML object of the + // element jax so that we can check for them here. + // + checkFonts: function (check,scripts) { + if (check.time(function () {})) return; + var adjust = [], mtd = [], size = [], i, m, script; + // + // Add the elements used for testing ex and em sizes + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.insertBefore(this.EmExSpan.cloneNode(true),script); + } + } + // + // Check to see if anything has changed + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + var jax = script.MathJax.elementJax; if (!jax) continue; + var span = document.getElementById(jax.inputID+"-Frame"); + var math = span.getElementsByTagName("math")[0]; if (!math) continue; + jax = jax.NativeMML; + // + // Check if ex or mex has changed + // + var test = script.previousSibling; + var ex = test.firstChild.offsetWidth/60; + var mex = test.lastChild.offsetWidth/60; + if (ex === 0 || ex === "NaN") {ex = this.defaultEx; mex = this.defaultMEx} + var newEx = (ex !== jax.ex); + if (newEx || mex != jax.mex) { + var scale = (this.config.matchFontHeight && mex > 1 ? ex/mex : 1); + scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale) * this.config.scale); + if (scale/100 !== jax.scale) {size.push([span.style,scale])} + jax.scale = scale/100; jax.fontScale = scale+"%"; jax.ex = ex; jax.mex = mex; + } + + // + // Check width of math elements + // + if ("scrollWidth" in jax && (newEx || jax.scrollWidth !== math.firstChild.scrollWidth)) { + jax.scrollWidth = math.firstChild.scrollWidth; + adjust.push([math.parentNode.style,jax.scrollWidth/jax.ex/jax.scale]); + } + // + // Check widths of mtd elements + // + if (math.MathJaxMtds) { + for (var j = 0, n = math.MathJaxMtds.length; j < n; j++) { + if (!math.MathJaxMtds[j].parentNode) continue; + if (newEx || math.MathJaxMtds[j].firstChild.scrollWidth !== jax.mtds[j]) { + jax.mtds[j] = math.MathJaxMtds[j].firstChild.scrollWidth; + mtd.push([math.MathJaxMtds[j],jax.mtds[j]/jax.ex]); + } + } + } + } + // + // Remove markers + // + for (i = 0, m = scripts.length; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.removeChild(script.previousSibling); + } + } + // + // Adjust scaling factor + // + for (i = 0, m = size.length; i < m; i++) { + size[i][0].fontSize = size[i][1] + "%"; + } + // + // Adjust width of spans containing math elements that have changed + // + for (i = 0, m = adjust.length; i < m; i++) { + adjust[i][0].width = adjust[i][1].toFixed(3)+"ex"; + } + // + // Adjust widths of mtd elements that have changed + // + for (i = 0, m = mtd.length; i < m; i++) { + var style = mtd[i][0].getAttribute("style"); + style = style.replace(/(($|;)\s*min-width:).*?ex/,"$1 "+mtd[i][1].toFixed(3)+"ex"); + mtd[i][0].setAttribute("style",style); + } + // + // Try again later + // + setTimeout(check,check.delay); + } + }); + }); + + HUB.Startup.signal.Post("MatchWebFonts Extension Ready"); + AJAX.loadComplete("[MathJax]/extensions/MatchWebFonts.js"); + +})(MathJax.Hub,MathJax.Ajax); diff --git a/src/py/kaleido/vendor/mathjax/extensions/MathEvents.js b/src/py/kaleido/vendor/mathjax/extensions/MathEvents.js new file mode 100644 index 00000000..a496b84e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/MathEvents.js @@ -0,0 +1,619 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/MathEvents.js + * + * Implements the event handlers needed by the output jax to perform + * menu, hover, and other events. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML,AJAX,CALLBACK,LOCALE,OUTPUT,INPUT) { + var VERSION = "2.7.5"; + + var EXTENSION = MathJax.Extension; + var ME = EXTENSION.MathEvents = {version: VERSION}; + + var SETTINGS = HUB.config.menuSettings; + + var CONFIG = { + hover: 500, // time required to be considered a hover + frame: { + x: 3.5, y: 5, // frame padding and + bwidth: 1, // frame border width (in pixels) + bcolor: "#A6D", // frame border color + hwidth: "15px", // haze width + hcolor: "#83A" // haze color + }, + button: { + x: -6, y: -3, // menu button offsets + wx: -2 // button offset for full-width equations + }, + fadeinInc: .2, // increment for fade-in + fadeoutInc: .05, // increment for fade-out + fadeDelay: 50, // delay between fade-in or fade-out steps + fadeoutStart: 400, // delay before fade-out after mouseout + fadeoutDelay: 15*1000, // delay before automatic fade-out + + styles: { + ".MathJax_Hover_Frame": { + "border-radius": ".25em", // Opera 10.5 and IE9 + "-webkit-border-radius": ".25em", // Safari and Chrome + "-moz-border-radius": ".25em", // Firefox + "-khtml-border-radius": ".25em", // Konqueror + + "box-shadow": "0px 0px 15px #83A", // Opera 10.5 and IE9 + "-webkit-box-shadow": "0px 0px 15px #83A", // Safari and Chrome + "-moz-box-shadow": "0px 0px 15px #83A", // Forefox + "-khtml-box-shadow": "0px 0px 15px #83A", // Konqueror + + border: "1px solid #A6D ! important", + display: "inline-block", position:"absolute" + }, + + ".MathJax_Menu_Button .MathJax_Hover_Arrow": { + position:"absolute", + cursor:"pointer", + display:"inline-block", + border:"2px solid #AAA", + "border-radius":"4px", + "-webkit-border-radius": "4px", // Safari and Chrome + "-moz-border-radius": "4px", // Firefox + "-khtml-border-radius": "4px", // Konqueror + "font-family":"'Courier New',Courier", + "font-size":"9px", + color:"#F0F0F0" + }, + ".MathJax_Menu_Button .MathJax_Hover_Arrow span": { + display:"block", + "background-color":"#AAA", + border:"1px solid", + "border-radius":"3px", + "line-height":0, + padding:"4px" + }, + ".MathJax_Hover_Arrow:hover": { + color:"white!important", + border:"2px solid #CCC!important" + }, + ".MathJax_Hover_Arrow:hover span": { + "background-color":"#CCC!important" + } + } + }; + + + // + // Common event-handling code + // + var EVENT = ME.Event = { + + LEFTBUTTON: 0, // the event.button value for left button + RIGHTBUTTON: 2, // the event.button value for right button + MENUKEY: "altKey", // the event value for alternate context menu + + /*************************************************************/ + /* + * Enum element for key codes. + */ + KEY: { + RETURN: 13, + ESCAPE: 27, + SPACE: 32, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40 + }, + + Mousedown: function (event) {return EVENT.Handler(event,"Mousedown",this)}, + Mouseup: function (event) {return EVENT.Handler(event,"Mouseup",this)}, + Mousemove: function (event) {return EVENT.Handler(event,"Mousemove",this)}, + Mouseover: function (event) {return EVENT.Handler(event,"Mouseover",this)}, + Mouseout: function (event) {return EVENT.Handler(event,"Mouseout",this)}, + Click: function (event) {return EVENT.Handler(event,"Click",this)}, + DblClick: function (event) {return EVENT.Handler(event,"DblClick",this)}, + Menu: function (event) {return EVENT.Handler(event,"ContextMenu",this)}, + + // + // Call the output jax's event handler or the zoom handler + // + Handler: function (event,type,math) { + if (AJAX.loadingMathMenu) {return EVENT.False(event)} + var jax = OUTPUT[math.jaxID]; + if (!event) {event = window.event} + event.isContextMenu = (type === "ContextMenu"); + if (jax[type]) {return jax[type](event,math)} + if (EXTENSION.MathZoom) {return EXTENSION.MathZoom.HandleEvent(event,type,math)} + }, + + // + // Try to cancel the event in every way we can + // + False: function (event) { + if (!event) {event = window.event} + if (event) { + if (event.preventDefault) {event.preventDefault()} else {event.returnValue = false} + if (event.stopPropagation) {event.stopPropagation()} + event.cancelBubble = true; + } + return false; + }, + + // + // Keydown event handler. Should only fire on Space key. + // + Keydown: function (event, math) { + if (!event) event = window.event; + if (event.keyCode === EVENT.KEY.SPACE) { + EVENT.ContextMenu(event, this); + }; + }, + + // + // Load the contextual menu code, if needed, and post the menu + // + ContextMenu: function (event,math,force) { + // + // Check if we are showing menus + // + var JAX = OUTPUT[math.jaxID], jax = JAX.getJaxFromMath(math); + var show = (JAX.config.showMathMenu != null ? JAX : HUB).config.showMathMenu; + if (!show || (SETTINGS.context !== "MathJax" && !force)) return; + + // + // Remove selections, remove hover fades + // + if (ME.msieEventBug) {event = window.event || event} + EVENT.ClearSelection(); HOVER.ClearHoverTimer(); + if (jax.hover) { + if (jax.hover.remove) {clearTimeout(jax.hover.remove); delete jax.hover.remove} + jax.hover.nofade = true; + } + + // + // If the menu code is loaded, + // Check if localization needs loading; + // If not, post the menu, and return. + // Otherwise wait for the localization to load + // Otherwse load the menu code. + // Try again after the file is loaded. + // + var MENU = MathJax.Menu; var load, fn; + if (MENU) { + if (MENU.loadingDomain) {return EVENT.False(event)} + load = LOCALE.loadDomain("MathMenu"); + if (!load) { + MENU.jax = jax; + var source = MENU.menu.Find("Show Math As").submenu; + source.items[0].name = jax.sourceMenuTitle; + source.items[0].format = (jax.sourceMenuFormat||"MathML"); + source.items[1].name = INPUT[jax.inputJax].sourceMenuTitle; + source.items[5].disabled = !INPUT[jax.inputJax].annotationEncoding; + + // + // Try and find each known annotation format and enable the menu + // items accordingly. + // + var annotations = source.items[2]; annotations.disabled = true; + var annotationItems = annotations.submenu.items; + annotationList = MathJax.Hub.Config.semanticsAnnotations; + for (var i = 0, m = annotationItems.length; i < m; i++) { + var name = annotationItems[i].name[1] + if (jax.root && jax.root.getAnnotation(name) !== null) { + annotations.disabled = false; + annotationItems[i].hidden = false; + } else { + annotationItems[i].hidden = true; + } + } + + var MathPlayer = MENU.menu.Find("Math Settings","MathPlayer"); + MathPlayer.hidden = !(jax.outputJax === "NativeMML" && HUB.Browser.hasMathPlayer); + return MENU.menu.Post(event); + } + MENU.loadingDomain = true; + fn = function () {delete MENU.loadingDomain}; + } else { + if (AJAX.loadingMathMenu) {return EVENT.False(event)} + AJAX.loadingMathMenu = true; + load = AJAX.Require("[MathJax]/extensions/MathMenu.js"); + fn = function () { + delete AJAX.loadingMathMenu; + if (!MathJax.Menu) {MathJax.Menu = {}} + } + } + var ev = { + pageX:event.pageX, pageY:event.pageY, + clientX:event.clientX, clientY:event.clientY + }; + CALLBACK.Queue( + load, fn, // load the file and delete the marker when done + ["ContextMenu",EVENT,ev,math,force] // call this function again + ); + return EVENT.False(event); + }, + + // + // Mousedown handler for alternate means of accessing menu + // + AltContextMenu: function (event,math) { + var JAX = OUTPUT[math.jaxID]; + var show = (JAX.config.showMathMenu != null ? JAX : HUB).config.showMathMenu; + if (show) { + show = (JAX.config.showMathMenuMSIE != null ? JAX : HUB).config.showMathMenuMSIE; + if (SETTINGS.context === "MathJax" && !SETTINGS.mpContext && show) { + if (!ME.noContextMenuBug || event.button !== EVENT.RIGHTBUTTON) return; + } else { + if (!event[EVENT.MENUKEY] || event.button !== EVENT.LEFTBUTTON) return; + } + return JAX.ContextMenu(event,math,true); + } + }, + + ClearSelection: function () { + if (ME.safariContextMenuBug) {setTimeout("window.getSelection().empty()",0)} + if (document.selection) {setTimeout("document.selection.empty()",0)} + }, + + getBBox: function (span) { + span.appendChild(ME.topImg); + var h = ME.topImg.offsetTop, d = span.offsetHeight-h, w = span.offsetWidth; + span.removeChild(ME.topImg); + return {w:w, h:h, d:d}; + } + + }; + + // + // Handle hover "discoverability" + // + var HOVER = ME.Hover = { + + // + // Check if we are moving from a non-MathJax element to a MathJax one + // and either start fading in again (if it is fading out) or start the + // timer for the hover + // + Mouseover: function (event,math) { + if (SETTINGS.discoverable || SETTINGS.zoom === "Hover") { + var from = event.fromElement || event.relatedTarget, + to = event.toElement || event.target; + if (from && to && (HUB.isMathJaxNode(from) !== HUB.isMathJaxNode(to) || + HUB.getJaxFor(from) !== HUB.getJaxFor(to))) { + var jax = this.getJaxFromMath(math); + if (jax.hover) {HOVER.ReHover(jax)} else {HOVER.HoverTimer(jax,math)} + return EVENT.False(event); + } + } + }, + // + // Check if we are moving from a MathJax element to a non-MathJax one + // and either start fading out, or clear the timer if we haven't + // hovered yet + // + Mouseout: function (event,math) { + if (SETTINGS.discoverable || SETTINGS.zoom === "Hover") { + var from = event.fromElement || event.relatedTarget, + to = event.toElement || event.target; + if (from && to && (HUB.isMathJaxNode(from) !== HUB.isMathJaxNode(to) || + HUB.getJaxFor(from) !== HUB.getJaxFor(to))) { + var jax = this.getJaxFromMath(math); + if (jax.hover) {HOVER.UnHover(jax)} else {HOVER.ClearHoverTimer()} + return EVENT.False(event); + } + } + }, + // + // Restart hover timer if the mouse moves + // + Mousemove: function (event,math) { + if (SETTINGS.discoverable || SETTINGS.zoom === "Hover") { + var jax = this.getJaxFromMath(math); if (jax.hover) return; + if (HOVER.lastX == event.clientX && HOVER.lastY == event.clientY) return; + HOVER.lastX = event.clientX; HOVER.lastY = event.clientY; + HOVER.HoverTimer(jax,math); + return EVENT.False(event); + } + }, + + // + // Clear the old timer and start a new one + // + HoverTimer: function (jax,math) { + this.ClearHoverTimer(); + this.hoverTimer = setTimeout(CALLBACK(["Hover",this,jax,math]),CONFIG.hover); + }, + ClearHoverTimer: function () { + if (this.hoverTimer) {clearTimeout(this.hoverTimer); delete this.hoverTimer} + }, + + // + // Handle putting up the hover frame + // + Hover: function (jax,math) { + // + // Check if Zoom handles the hover event + // + if (EXTENSION.MathZoom && EXTENSION.MathZoom.Hover({},math)) return; + // + // Get the hover data + // + var JAX = OUTPUT[jax.outputJax], + span = JAX.getHoverSpan(jax,math), + bbox = JAX.getHoverBBox(jax,span,math), + show = (JAX.config.showMathMenu != null ? JAX : HUB).config.showMathMenu; + var dx = CONFIG.frame.x, dy = CONFIG.frame.y, dd = CONFIG.frame.bwidth; // frame size + if (ME.msieBorderWidthBug) {dd = 0} + jax.hover = {opacity:0, id:jax.inputID+"-Hover"}; + // + // The frame and menu button + // + var frame = HTML.Element("span",{ + id:jax.hover.id, isMathJax: true, + style:{display:"inline-block", width:0, height:0, position:"relative"} + },[["span",{ + className:"MathJax_Hover_Frame", isMathJax: true, + style:{ + display:"inline-block", position:"absolute", + top:this.Px(-bbox.h-dy-dd-(bbox.y||0)), left:this.Px(-dx-dd+(bbox.x||0)), + width:this.Px(bbox.w+2*dx), height:this.Px(bbox.h+bbox.d+2*dy), + opacity:0, filter:"alpha(opacity=0)" + }} + ]] + ); + var button = HTML.Element("span",{ + isMathJax: true, id:jax.hover.id+"Menu", className:"MathJax_Menu_Button", + style:{display:"inline-block", "z-index": 1, width:0, height:0, position:"relative"} + },[["span",{ + className: "MathJax_Hover_Arrow", isMathJax: true, math: math, + onclick: this.HoverMenu, jax:JAX.id, + style: { + left:this.Px(bbox.w+dx+dd+(bbox.x||0)+CONFIG.button.x), + top:this.Px(-bbox.h-dy-dd-(bbox.y||0)-CONFIG.button.y), + opacity:0, filter:"alpha(opacity=0)" + } + },[["span",{isMathJax:true},"\u25BC"]]]] + ); + if (bbox.width) { + frame.style.width = button.style.width = bbox.width; + frame.style.marginRight = button.style.marginRight = "-"+bbox.width; + frame.firstChild.style.width = bbox.width; + button.firstChild.style.left = ""; + button.firstChild.style.right = this.Px(CONFIG.button.wx); + } + // + // Add the frame and button + // + span.parentNode.insertBefore(frame,span); + if (show) {span.parentNode.insertBefore(button,span)} + if (span.style) {span.style.position = "relative"} // so math is on top of hover frame + // + // Start the hover fade-in + // + this.ReHover(jax); + }, + // + // Restart the hover fade in and fade-out timers + // + ReHover: function (jax) { + if (jax.hover.remove) {clearTimeout(jax.hover.remove)} + jax.hover.remove = setTimeout(CALLBACK(["UnHover",this,jax]),CONFIG.fadeoutDelay); + this.HoverFadeTimer(jax,CONFIG.fadeinInc); + }, + // + // Start the fade-out + // + UnHover: function (jax) { + if (!jax.hover.nofade) {this.HoverFadeTimer(jax,-CONFIG.fadeoutInc,CONFIG.fadeoutStart)} + }, + // + // Handle the fade-in and fade-out + // + HoverFade: function (jax) { + delete jax.hover.timer; + jax.hover.opacity = Math.max(0,Math.min(1,jax.hover.opacity + jax.hover.inc)); + jax.hover.opacity = Math.floor(1000*jax.hover.opacity)/1000; + var frame = document.getElementById(jax.hover.id), + button = document.getElementById(jax.hover.id+"Menu"); + frame.firstChild.style.opacity = jax.hover.opacity; + frame.firstChild.style.filter = "alpha(opacity="+Math.floor(100*jax.hover.opacity)+")"; + if (button) { + button.firstChild.style.opacity = jax.hover.opacity; + button.firstChild.style.filter = frame.style.filter; + } + if (jax.hover.opacity === 1) {return} + if (jax.hover.opacity > 0) {this.HoverFadeTimer(jax,jax.hover.inc); return} + frame.parentNode.removeChild(frame); + if (button) {button.parentNode.removeChild(button)} + if (jax.hover.remove) {clearTimeout(jax.hover.remove)} + delete jax.hover; + }, + // + // Set the fade to in or out (via inc) and start the timer, if needed + // + HoverFadeTimer: function (jax,inc,delay) { + jax.hover.inc = inc; + if (!jax.hover.timer) { + jax.hover.timer = setTimeout(CALLBACK(["HoverFade",this,jax]),(delay||CONFIG.fadeDelay)); + } + }, + + // + // Handle a click on the menu button + // + HoverMenu: function (event) { + if (!event) {event = window.event} + return OUTPUT[this.jax].ContextMenu(event,this.math,true); + }, + + // + // Clear all hover timers + // + ClearHover: function (jax) { + if (jax.hover.remove) {clearTimeout(jax.hover.remove)} + if (jax.hover.timer) {clearTimeout(jax.hover.timer)} + HOVER.ClearHoverTimer(); + delete jax.hover; + }, + + // + // Make a measurement in pixels + // + Px: function (m) { + if (Math.abs(m) < .006) {return "0px"} + return m.toFixed(2).replace(/\.?0+$/,"") + "px"; + }, + + // + // Preload images so they show up with the menu + // + getImages: function () { + if (SETTINGS.discoverable) { + var menu = new Image(); + menu.src = CONFIG.button.src; + } + } + + }; + + // + // Handle touch events. + // + // Use double-tap-and-hold as a replacement for context menu event. + // Use double-tap as a replacement for double click. + // + var TOUCH = ME.Touch = { + + last: 0, // time of last tap event + delay: 500, // delay time for double-click + + // + // Check if this is a double-tap, and if so, start the timer + // for the double-tap and hold (to trigger the contextual menu) + // + start: function (event) { + var now = new Date().getTime(); + var dblTap = (now - TOUCH.last < TOUCH.delay && TOUCH.up); + TOUCH.last = now; TOUCH.up = false; + if (dblTap) { + TOUCH.timeout = setTimeout(TOUCH.menu,TOUCH.delay,event,this); + event.preventDefault(); + } + }, + + // + // Check if there is a timeout pending, i.e., we have a + // double-tap and were waiting to see if it is held long + // enough for the menu. Since we got the end before the + // timeout, it is a double-click, not a double-tap-and-hold. + // Prevent the default action and issue a double click. + // + end: function (event) { + var now = new Date().getTime(); + TOUCH.up = (now - TOUCH.last < TOUCH.delay); + if (TOUCH.timeout) { + clearTimeout(TOUCH.timeout); + delete TOUCH.timeout; TOUCH.last = 0; TOUCH.up = false; + event.preventDefault(); + return EVENT.Handler((event.touches[0]||event.touch),"DblClick",this); + } + }, + + // + // If the timeout passes without an end event, we issue + // the contextual menu event. + // + menu: function (event,math) { + delete TOUCH.timeout; TOUCH.last = 0; TOUCH.up = false; + return EVENT.Handler((event.touches[0]||event.touch),"ContextMenu",math); + } + + }; + + /* + * // + * // Mobile screens are small, so use larger version of arrow + * // + * if (HUB.Browser.isMobile) { + * var arrow = CONFIG.styles[".MathJax_Hover_Arrow"]; + * arrow.width = "25px"; arrow.height = "18px"; + * CONFIG.button.x = -6; + * } + */ + + // + // Set up browser-specific values + // + HUB.Browser.Select({ + MSIE: function (browser) { + var mode = (document.documentMode || 0); + var isIE8 = browser.versionAtLeast("8.0"); + ME.msieBorderWidthBug = (document.compatMode === "BackCompat"); // borders are inside offsetWidth/Height + ME.msieEventBug = browser.isIE9; // must get event from window even though event is passed + ME.msieAlignBug = (!isIE8 || mode < 8); // inline-block spans don't rest on baseline + if (mode < 9) {EVENT.LEFTBUTTON = 1} // IE < 9 has wrong event.button values + }, + Safari: function (browser) { + ME.safariContextMenuBug = true; // selection can be started by contextmenu event + }, + Opera: function (browser) { + ME.operaPositionBug = true; // position is wrong unless border is used + }, + Konqueror: function (browser) { + ME.noContextMenuBug = true; // doesn't produce contextmenu event + } + }); + + // + // Used in measuring zoom and hover positions + // + ME.topImg = (ME.msieAlignBug ? + HTML.Element("img",{style:{width:0,height:0,position:"relative"},src:"about:blank"}) : + HTML.Element("span",{style:{width:0,height:0,display:"inline-block"}}) + ); + if (ME.operaPositionBug) {ME.topImg.style.border="1px solid"} + + // + // Get configuration from user + // + ME.config = CONFIG = HUB.CombineConfig("MathEvents",CONFIG); + var SETFRAME = function () { + var haze = CONFIG.styles[".MathJax_Hover_Frame"]; + haze.border = CONFIG.frame.bwidth+"px solid "+CONFIG.frame.bcolor+" ! important"; + haze["box-shadow"] = haze["-webkit-box-shadow"] = + haze["-moz-box-shadow"] = haze["-khtml-box-shadow"] = + "0px 0px "+CONFIG.frame.hwidth+" "+CONFIG.frame.hcolor; + }; + + // + // Queue the events needed for startup + // + CALLBACK.Queue( + HUB.Register.StartupHook("End Config",{}), // wait until config is complete + [SETFRAME], + ["getImages",HOVER], + ["Styles",AJAX,CONFIG.styles], + ["Post",HUB.Startup.signal,"MathEvents Ready"], + ["loadComplete",AJAX,"[MathJax]/extensions/MathEvents.js"] + ); + +})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.Callback, + MathJax.Localization,MathJax.OutputJax,MathJax.InputJax); diff --git a/src/py/kaleido/vendor/mathjax/extensions/MathML/content-mathml.js b/src/py/kaleido/vendor/mathjax/extensions/MathML/content-mathml.js new file mode 100644 index 00000000..a527abda --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/MathML/content-mathml.js @@ -0,0 +1,1743 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/MathML/content-mathml.js + * + * This file provides methods to convert Content-MathML to + * Presentation MathML for processing by MathJax. The transform is + * performed in a DOM filter for the MathML input jax, so that the + * Show Math As menu will still show the Original MathML as Content MathML, + * but the Presentation MathML can be obtained from the main MathML menu. + * + * To load it, include + * + * MathML: { + * extensions: ["content-mathml.js"] + * } + * + * in your configuration. + * + * A portion of this file is taken from ctop.js which is + * Copyright (c) David Carlisle 2001, 2002, 2008, 2009, 2013, + * and is used by permission of David Carlisle, who has agreed to allow us + * to release it under the Apache2 license (see below). That portion is + * indicated via comments. + * + * The remainder falls under the copyright that follows. + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + + +MathJax.Extension["MathML/content-mathml"] = (function(HUB) { + /* + * Content MathML to Presentation MathML conversion + * + * based on David Carlisle's ctop.js - https://web-xslt.googlecode.com/svn/trunk/ctop/ctop.js + * + */ + + + var isMSIE = HUB.Browser.isMSIE; + + if (isMSIE) { + try {document.namespaces.add("m","http://www.w3.org/1998/Math/MathML")} catch (err) {} + } + + var CONFIG = HUB.CombineConfig("MathML.content-mathml",{ + // render `a+(-b)` as `a-b`? + collapsePlusMinus: true, + + /* mathvariant to use with corresponding type attribute */ + cistyles: { + vector: 'bold-italic', + matrix: 'bold-upright' + }, + + /* Symbol names to translate to characters + */ + symbols: { + gamma: '\u03B3' + } + + }); + + var CToP = { + version: "2.7.5", + settings: CONFIG, + + /* Transform the given elements from Content MathML to Presentation MathML and replace the original elements + */ + transformElements: function(elements) { + for (var i = 0, l = elements.length; i= 0) element = CToP.cloneNode(element,true); // removes namespaces + var mathNode = CToP.cloneNode(element); + for (var j = 0, l = element.childNodes.length; jn instead of -n + // + element.appendChild(document.createTextNode(textContent.substr(1))); + var mrow = CToP.createElement('mrow'); + CToP.appendToken(mrow,'mo','\u2212'); + mrow.appendChild(element); + element = mrow; + } else { + element.appendChild(document.createTextNode(textContent)); + } + parentNode.appendChild(element); + return element; + }, + + /* Transform a Content MathML node to Presentation MathML node(s), and attach it to the parent + */ + applyTransform: function(parentNode,contentMMLNode,precedence) { + if (!contentMMLNode) { + var merror = CToP.createElement('merror'); + CToP.appendToken(merror,'mtext','Missing child node'); + parentNode.appendChild(merror); + return; + } + var nodeName = contentMMLNode.nodeName.replace(/.*:/,''); + if (contentMMLNode.nodeType === 1) { + if (CToP.tokens[nodeName]) { + CToP.tokens[nodeName](parentNode,contentMMLNode,precedence); + } else if (contentMMLNode.childNodes.length === 0) { + var mml = CToP.MML[nodeName]; + if (mml && mml.isa && mml.isa(CToP.mbase)) { + parentNode.appendChild(CToP.cloneNode(contentMMLNode)); + } else { + CToP.appendToken(parentNode,'mi',nodeName); + } + } else { + var clonedChild = CToP.cloneNode(contentMMLNode); + parentNode.appendChild(clonedChild); + for (var j = 0, l = contentMMLNode.childNodes.length; j1) { + CToP.applyTransform(mrow,args[0],tokenPrecedence); + } + CToP.appendToken(mrow,'mo',name); + if (args.length>0) { + var z = args[(args.length === 1)?0:1]; + CToP.applyTransform(mrow,z,tokenPrecedence); + } + if (needsBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + parentNode.appendChild(mrow); + } + }, + + /* Transform an infix operator + * + * (function factory) + */ + infix: function(name,tokenPrecedence) { + return function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + var needsBrackets = precedence>tokenPrecedence; + if (needsBrackets) { + CToP.appendToken(mrow,'mo','('); + } + for (var j = 0, l = args.length; j0) { + CToP.appendToken(mrow,'mo',name); + } + CToP.applyTransform(mrow,args[j],tokenPrecedence); + } + if (needsBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + parentNode.appendChild(mrow); + } + }, + + /* Transform an iterated operation, e.g. summation + * + * (function factory + */ + iteration: function(name,limitSymbol) { + return function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + var mo = CToP.createElement('mo'); + CToP.setTextContent(mo,name); + var munderover = CToP.createElement('munderover'); + munderover.appendChild(mo); + var mrow1 = CToP.createElement('mrow'); + var i, j, num_qualifiers, num_bvars, children, bvar, num_children, num_args; + for (i = 0, num_qualifiers = qualifiers.length; i',1), + lt: CToP.transforms.infix('<',1), + geq: CToP.transforms.infix('\u2265',1), + leq: CToP.transforms.infix('\u2264',1), + equivalent: CToP.transforms.infix('\u2261',1), + approx: CToP.transforms.infix('\u2248',1), + subset: CToP.transforms.infix('\u2286',2), + prsubset: CToP.transforms.infix('\u2282',2), + cartesianproduct: CToP.transforms.infix('\u00D7',2), + "cartesian_product": CToP.transforms.infix('\u00D7',2), + vectorproduct: CToP.transforms.infix('\u00D7',2), + scalarproduct: CToP.transforms.infix('.',2), + outerproduct: CToP.transforms.infix('\u2297',2), + sum: CToP.transforms.iteration('\u2211','='), + product: CToP.transforms.iteration('\u220F','='), + forall: CToP.transforms.bind('\u2200','.',','), + exists: CToP.transforms.bind('\u2203','.',','), + lambda: CToP.transforms.bind('\u03BB','.',','), + limit: CToP.transforms.iteration('lim','\u2192'), + sdev: CToP.transforms.fn('\u03c3'), + determinant: CToP.transforms.fn('det'), + max: CToP.transforms.minmax('max'), + min: CToP.transforms.minmax('min'), + real: CToP.transforms.fn('\u211b'), + imaginary: CToP.transforms.fn('\u2111'), + set: CToP.transforms.set('{','}'), + list: CToP.transforms.set('(',')'), + + exp: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var msup = CToP.createElement('msup'); + CToP.appendToken(msup,'mi','e'); + CToP.applyTransform(msup,args[0],0); + parentNode.appendChild(msup); + }, + + union: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (bvars.length) { + CToP.transforms.iteration('\u22C3','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } else { + CToP.transforms.infix('\u222A',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } + }, + + intersect: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (bvars.length) { + CToP.transforms.iteration('\u22C2','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } else { + var mrow = CToP.createElement('mrow'); + var needsBrackets = precedence>2; + if (needsBrackets) { + CToP.appendToken(mrow,'mo','('); + } + for (var j = 0, l = args.length; j0) { + CToP.appendToken(mrow,'mo','\u2229'); + if (args[j].nodeName === 'apply') { + var child = CToP.getChildren(args[j])[0]; + argBrackets = child.nodeName === 'union'; + } + } + if (argBrackets) { + CToP.appendToken(mrow,'mo','('); + } + CToP.applyTransform(mrow,args[j],2); + if (argBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + } + if (needsBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + parentNode.appendChild(mrow); + } + }, + + floor: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + CToP.appendToken(mrow,'mo','\u230a'); + CToP.applyTransform(mrow,args[0],0); + CToP.appendToken(mrow,'mo','\u230b'); + parentNode.appendChild(mrow); + }, + + conjugate: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mover = CToP.createElement('mover'); + CToP.applyTransform(mover,args[0],0); + CToP.appendToken(mover,'mo','\u00af'); + parentNode.appendChild(mover); + }, + + abs: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + CToP.appendToken(mrow,'mo','|'); + CToP.applyTransform(mrow,args[0],0); + CToP.appendToken(mrow,'mo','|'); + parentNode.appendChild(mrow); + }, + + and: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (bvars.length || qualifiers.length) { + CToP.transforms.iteration('\u22c0','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,4); + } else { + CToP.transforms.infix('\u2227',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } + }, + + or: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (bvars.length || qualifiers.length) { + CToP.transforms.iteration('\u22c1','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,4); + } else { + CToP.transforms.infix('\u2228',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } + }, + + xor: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (bvars.length || qualifiers.length) { + CToP.transforms.iteration('xor','=')(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,4); + } else { + CToP.transforms.infix('xor',2)(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence); + } + }, + + card: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + CToP.appendToken(mrow,'mo','|'); + CToP.applyTransform(mrow,args[0],0); + CToP.appendToken(mrow,'mo','|'); + parentNode.appendChild(mrow); + }, + + mean: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + if (args.length === 1) { + var mover = CToP.createElement('mover'); + CToP.applyTransform(mover,args[0],0); + CToP.appendToken(mover,'mo','\u00af'); + parentNode.appendChild(mover); + } else { + parentNode.appendChild(CToP.createmfenced(args,'\u27e8','\u27e9')); + } + }, + + moment: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var degree, momentabout, children, i, j, l; + + for (i = 0, l = qualifiers.length; i1) { + argrow.appendChild(CToP.createmfenced(args,'(',')')); + } else { + CToP.applyTransform(argrow,args[0],0); + } + if (degree) { + var msup = CToP.createElement('msup'); + msup.appendChild(argrow); + children = CToP.getChildren(degree); + for (j = 0, l = children.length; j3; + if (needsBrackets) { + CToP.appendToken(mrow,'mo','('); + } + for (var j = 0, l = args.length; j0) { + CToP.appendToken(mrow,'mo',(args[j].nodeName === 'cn') ? "\u00D7" :"\u2062"); + } + CToP.applyTransform(mrow,args[j],3); + } + if (needsBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + parentNode.appendChild(mrow); + }, + + plus: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + var needsBrackets = precedence>2; + if (needsBrackets) { + CToP.appendToken(mrow,'mo','('); + } + for (var j = 0, l = args.length; j0) { + var n; + if (CToP.settings.collapsePlusMinus) { + if (arg.nodeName === 'cn' && !(children.length) && (n = Number(CToP.getTextContent(arg))) <0) { + CToP.appendToken(mrow,'mo','\u2212'); + CToP.appendToken(mrow,'mn', -n); + } else if (arg.nodeName === 'apply' && children.length === 2 && children[0].nodeName === 'minus') { + CToP.appendToken(mrow,'mo','\u2212'); + CToP.applyTransform(mrow,children[1],2); + } else if (arg.nodeName === 'apply' && children.length>2 && children[0].nodeName === 'times' && children[1].nodeName === 'cn' && (n = Number(CToP.getTextContent(children[1]))) < 0) { + CToP.appendToken(mrow,'mo','\u2212'); + children[1].textContent = -n; // OK to change MathML since it is being discarded afterward + CToP.applyTransform(mrow,arg,2); + } else{ + CToP.appendToken(mrow,'mo','+'); + CToP.applyTransform(mrow,arg,2); + } + } else { + CToP.appendToken(mrow,'mo','+'); + CToP.applyTransform(mrow,arg,2); + } + } else { + CToP.applyTransform(mrow,arg,2); + } + } + if (needsBrackets) { + CToP.appendToken(mrow,'mo',')'); + } + parentNode.appendChild(mrow); + }, + + transpose: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var msup = CToP.createElement('msup'); + CToP.applyTransform(msup,args[0],precedence); + CToP.appendToken(msup,'mi','T'); + parentNode.appendChild(msup); + }, + + power: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var msup = CToP.createElement('msup'); + CToP.applyTransform(msup,args[0],3); + CToP.applyTransform(msup,args[1],precedence); + parentNode.appendChild(msup); + }, + + selector: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var msub = CToP.createElement('msub'); + var mrow = args ? args[0]: CToP.createElement('mrow'); + CToP.applyTransform(msub,mrow,0); + var mrow2 = CToP.createElement('mrow'); + for (var i = 1, l = args.length; i1) { + CToP.applyTransform(mrow,args[1],0); + } + } + CToP.appendToken(mrow,'mo','\u230B'); + parentNode.appendChild(mrow); + }, + + factorial: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mrow = CToP.createElement('mrow'); + CToP.applyTransform(mrow,args[0],4); + CToP.appendToken(mrow,'mo','!'); + parentNode.appendChild(mrow); + }, + + root: function(parentNode,contentMMLNode,firstArg,args,bvars,qualifiers,precedence) { + var mr; + if (firstArg.nodeName === 'root' && (qualifiers.length === 0 || (qualifiers[0].nodeName === 'degree' && CToP.getTextContent(qualifiers[0]) === '2'))) { + mr = CToP.createElement('msqrt'); + for (var i = 0, l = args.length; i1) { + var msup = CToP.createElement('msup'); + CToP.applyTransform(msup,bvar,0); + CToP.appendToken(msup,'mn',degree); + bottomrow.appendChild(msup); + } else { + CToP.applyTransform(bottomrow,bvar,0); + } + } + for (i = 0, l = lambdaSequence.length; i0) { + if (hadFirst) { + CToP.appendToken(degreeRow,'mo','+'); + } + CToP.appendToken(degreeRow,'mn',degree); + } + } + + if (args.length) { + differendNode = args[0]; + } + + for (i = 0, l = bvars.length; i but use MATHML.Parse's preProcessMath to apply the normal preprocessing. + if (!MATHML.ParseXML) {MATHML.ParseXML = MATHML.createParser()} + var doc = MATHML.ParseXML(PARSE.preProcessMath(data.math)); + + // Now transform the using the mml3 stylesheet. + var newdoc = MATHML.mml3XSLT.transformToDocument(doc); + + if ((typeof newdoc) === "string") { + // Internet Explorer returns a string, so just use it. + data.math = newdoc; + } else if (window.XMLSerializer) { + // Serialize the again. We could directly provide the DOM content + // but other prefilterHooks may assume data.math is still a string. + var serializer = new XMLSerializer(); + data.math = serializer.serializeToString(newdoc.documentElement, doc); + } + }); + + /* + * The following is derived from mml3mj.xsl + * (https://github.com/davidcarlisle/web-xslt/blob/master/ctop/mml3mj.xsl) + * which is Copyright (c) David Carlisle 2008-2015. + * It is used by permission of David Carlisle, who has agreed to allow it to + * be released under the Apache License, Version 2.0. + */ + var BROWSER = MathJax.Hub.Browser; + var exslt = ''; + if (BROWSER.isEdge || BROWSER.isMSIE) { + exslt = 'urn:schemas-microsoft-com:xslt' + } else { + exslt = 'http://exslt.org/common'; + } + var mml3Stylesheet = + '' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + '' + + ' ' + + ' ltr' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + '' + + ' )' + + '' + + ' (' + + '' + + '' + + ' ]' + + '' + + '' + + ' [' + + '' + + '' + + ' }' + + '' + + '' + + ' {' + + '' + + '' + + ' ' + + '' + + ' )' + + '' + + ' (' + + '' + + '' + + ' ]' + + '' + + '' + + ' [' + + '' + + '' + + ' }' + + '' + + '' + + ' {' + + '' + + ' ' + + ' ' + + ' \' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ')' + + '(' + + '}' + + '{' + + '>' + + '<' + + '' + + '' + + '' + + ' top right' + + '' + + '' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' 0' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' decimalpoint' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' decimalpoint' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' .' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' decimalpoint' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' *' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' 0.1em' + + ' 0.15em' + + ' 0.2em' + + ' ' + + ' 0.15em' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' 0' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' )' + + ' ' + + ' (' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' /' + + ' ' + + ' \' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' :' + + ' ' + + ' =' + + ' ' + + ' ' + + ' ' + + ' ' + + ' top' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' )' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ''; + + /* + * End of mml3mj.xsl material. + */ + + var mml3; + if (window.XSLTProcessor) { + // standard method: just use an XSLTProcessor and parse the stylesheet + if (!MATHML.ParseXML) {MATHML.ParseXML = MATHML.createParser()} + MATHML.mml3XSLT = new XSLTProcessor(); + MATHML.mml3XSLT.importStylesheet(MATHML.ParseXML(mml3Stylesheet)); + } else if (MathJax.Hub.Browser.isMSIE) { + // nonstandard methods for Internet Explorer + if (MathJax.Hub.Browser.versionAtLeast("9.0") || (document.documentMode||0) >= 9) { + // For Internet Explorer >= 9, use createProcessor + mml3 = new ActiveXObject("Msxml2.FreeThreadedDOMDocument"); + mml3.loadXML(mml3Stylesheet); + var xslt = new ActiveXObject("Msxml2.XSLTemplate"); + xslt.stylesheet = mml3; + MATHML.mml3XSLT = { + mml3: xslt.createProcessor(), + transformToDocument: function(doc) { + this.mml3.input = doc; + this.mml3.transform(); + return this.mml3.output; + } + } + } else { + // For Internet Explorer <= 8, use transformNode + mml3 = MATHML.createMSParser(); + mml3.async = false; + mml3.loadXML(mml3Stylesheet); + MATHML.mml3XSLT = { + mml3: mml3, + transformToDocument: function(doc) { + return doc.documentElement.transformNode(this.mml3); + } + } + } + } else { + // No XSLT support. Do not change the content. + MATHML.mml3XSLT = null; + } + + // Tweak CSS to avoid some browsers rearranging HTML output + MathJax.Ajax.Styles({ + ".MathJax .mi, .MathJax .mo, .MathJax .mn, .MathJax .mtext": { + direction: "ltr", + display: "inline-block" + }, + ".MathJax .ms, .MathJax .mspace, .MathJax .mglyph": { + direction: "ltr", + display: "inline-block" + } + }); + + MathJax.Hub.Startup.signal.Post("MathML mml3.js Ready"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/MathML/mml3.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/MathMenu.js b/src/py/kaleido/vendor/mathjax/extensions/MathMenu.js new file mode 100644 index 00000000..d05d8f36 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/MathMenu.js @@ -0,0 +1,1664 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/MathMenu.js + * + * Implements a right-mouse (or CTRL-click) menu over mathematics + * elements that gives the user the ability to copy the source, + * change the math size, and zoom settings. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML,AJAX,CALLBACK,OUTPUT) { + var VERSION = "2.7.5"; + + var SIGNAL = MathJax.Callback.Signal("menu"); // signal for menu events + + MathJax.Extension.MathMenu = { + version: VERSION, + signal: SIGNAL + }; + + var _ = function (id) { + return MathJax.Localization._.apply( + MathJax.Localization, + [["MathMenu",id]].concat([].slice.call(arguments,1)) + ); + }; + + var isArray = MathJax.Object.isArray; + + var isPC = HUB.Browser.isPC, isMSIE = HUB.Browser.isMSIE, isIE9 = ((document.documentMode||0) > 8); + var ROUND = (isPC ? null : "5px"); + + var CONFIG = HUB.CombineConfig("MathMenu",{ + delay: 150, // the delay for submenus + + showRenderer: true, // show the "Math Renderer" menu? + showMathPlayer: true, // show the "MathPlayer" menu? + showFontMenu: false, // show the "Font Preference" menu? + showContext: false, // show the "Context Menu" menu? + showDiscoverable: false, // show the "Discoverable" menu? + showLocale: true, // show the "Locale" menu? + showLocaleURL: false, // show the "Load from URL" menu? + + semanticsAnnotations: { + "TeX": ["TeX", "LaTeX", "application/x-tex"], + "StarMath": ["StarMath 5.0"], + "Maple": ["Maple"], + "ContentMathML": ["MathML-Content", "application/mathml-content+xml"], + "OpenMath": ["OpenMath"] + }, + + windowSettings: { // for source window + status: "no", toolbar: "no", locationbar: "no", menubar: "no", + directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes", + width: 400, height: 300, + left: Math.round((screen.width - 400)/2), + top: Math.round((screen.height - 300)/3) + }, + + styles: { + "#MathJax_About": { + position:"fixed", left:"50%", width:"auto", "text-align":"center", + border:"3px outset", padding:"1em 2em", "background-color":"#DDDDDD", color:"black", + cursor: "default", "font-family":"message-box", "font-size":"120%", + "font-style":"normal", "text-indent":0, "text-transform":"none", + "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", + "word-wrap":"normal", "white-space":"nowrap", "float":"none", "z-index":201, + + "border-radius": "15px", // Opera 10.5 and IE9 + "-webkit-border-radius": "15px", // Safari and Chrome + "-moz-border-radius": "15px", // Firefox + "-khtml-border-radius": "15px", // Konqueror + + "box-shadow":"0px 10px 20px #808080", // Opera 10.5 and IE9 + "-webkit-box-shadow":"0px 10px 20px #808080", // Safari 3 and Chrome + "-moz-box-shadow":"0px 10px 20px #808080", // Forefox 3.5 + "-khtml-box-shadow":"0px 10px 20px #808080", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE + }, + "#MathJax_About.MathJax_MousePost": { + outline:"none" + }, + + ".MathJax_Menu": { + position:"absolute", "background-color":"white", color:"black", + width:"auto", padding:(isPC ? "2px" : "5px 0px"), + border:"1px solid #CCCCCC", margin:0, cursor:"default", + font: "menu", "text-align":"left", "text-indent":0, "text-transform":"none", + "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", + "word-wrap":"normal", "white-space":"nowrap", "float":"none", "z-index":201, + + "border-radius": ROUND, // Opera 10.5 and IE9 + "-webkit-border-radius": ROUND, // Safari and Chrome + "-moz-border-radius": ROUND, // Firefox + "-khtml-border-radius": ROUND, // Konqueror + + "box-shadow":"0px 10px 20px #808080", // Opera 10.5 and IE9 + "-webkit-box-shadow":"0px 10px 20px #808080", // Safari 3 and Chrome + "-moz-box-shadow":"0px 10px 20px #808080", // Forefox 3.5 + "-khtml-box-shadow":"0px 10px 20px #808080", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE + }, + + ".MathJax_MenuItem": { + padding: (isPC ? "2px 2em" : "1px 2em"), + background:"transparent" + }, + + ".MathJax_MenuArrow": { + position:"absolute", right:".5em", "padding-top":".25em", color:"#666666", + "font-family": (isMSIE ? "'Arial unicode MS'" : null), "font-size": ".75em" + }, + ".MathJax_MenuActive .MathJax_MenuArrow": {color:"white"}, + ".MathJax_MenuArrow.RTL": {left:".5em", right:"auto"}, + + ".MathJax_MenuCheck": { + position:"absolute", left:".7em", + "font-family": (isMSIE ? "'Arial unicode MS'" : null) + }, + ".MathJax_MenuCheck.RTL": {right:".7em", left:"auto"}, + + ".MathJax_MenuRadioCheck": { + position:"absolute", left: (isPC ? "1em" : ".7em") + }, + ".MathJax_MenuRadioCheck.RTL": { + right: (isPC ? "1em" : ".7em"), left:"auto" + }, + + ".MathJax_MenuLabel": { + padding: (isPC ? "2px 2em 4px 1.33em" : "1px 2em 3px 1.33em"), + "font-style":"italic" + }, + + ".MathJax_MenuRule": { + "border-top": (isPC ? "1px solid #CCCCCC" : "1px solid #DDDDDD"), + margin: (isPC ? "4px 1px 0px" : "4px 3px") + }, + + ".MathJax_MenuDisabled": { + color:"GrayText" + }, + ".MathJax_MenuActive": { + "background-color": (isPC ? "Highlight" : "#606872"), + color: (isPC ? "HighlightText" : "white") + }, + + ".MathJax_MenuDisabled:focus, .MathJax_MenuLabel:focus": { + "background-color": "#E8E8E8" + }, + ".MathJax_ContextMenu:focus": { + outline:"none" + }, + ".MathJax_ContextMenu .MathJax_MenuItem:focus": { + outline:"none" + }, + + "#MathJax_AboutClose": { + top:".2em", right:".2em" + }, + ".MathJax_Menu .MathJax_MenuClose": { + top:"-10px", left:"-10px" + }, + + ".MathJax_MenuClose": { + position:"absolute", + cursor:"pointer", + display:"inline-block", + border:"2px solid #AAA", + "border-radius":"18px", + "-webkit-border-radius": "18px", // Safari and Chrome + "-moz-border-radius": "18px", // Firefox + "-khtml-border-radius": "18px", // Konqueror + "font-family":"'Courier New',Courier", + "font-size":"24px", + color:"#F0F0F0" + }, + ".MathJax_MenuClose span": { + display:"block", "background-color":"#AAA", border:"1.5px solid", + "border-radius":"18px", + "-webkit-border-radius": "18px", // Safari and Chrome + "-moz-border-radius": "18px", // Firefox + "-khtml-border-radius": "18px", // Konqueror + "line-height":0, + padding:"8px 0 6px" // may need to be browser-specific + }, + ".MathJax_MenuClose:hover": { + color:"white!important", + border:"2px solid #CCC!important" + }, + ".MathJax_MenuClose:hover span": { + "background-color":"#CCC!important" + }, + ".MathJax_MenuClose:hover:focus": { + outline:"none" + } + } + }); + + var FALSE, HOVER, KEY; + HUB.Register.StartupHook("MathEvents Ready",function () { + FALSE = MathJax.Extension.MathEvents.Event.False; + HOVER = MathJax.Extension.MathEvents.Hover; + KEY = MathJax.Extension.MathEvents.Event.KEY; + }); + + + /*************************************************************/ + /* + * Abstract class of all keyboard navigatable objects. + */ + var NAV = MathJax.Object.Subclass({ + /* + * Moving in the list of items. + */ + Keydown: function(event, menu) { + switch (event.keyCode) { + case KEY.ESCAPE: + this.Remove(event, menu); + break; + case KEY.RIGHT: + this.Right(event, menu); + break; + case KEY.LEFT: + this.Left(event, menu); + break; + case KEY.UP: + this.Up(event, menu); + break; + case KEY.DOWN: + this.Down(event, menu); + break; + case KEY.RETURN: + case KEY.SPACE: + this.Space(event, menu); + break; + default: + return; + break; + } + return FALSE(event); + }, + Escape: function(event, menu) { }, + Right: function(event, menu) { }, + Left: function(event, menu) { }, + Up: function(event, menu) { }, + Down: function(event, menu) { }, + Space: function(event, menu) { } + }, {}); + + + /*************************************************************/ + /* + * The main menu class + */ + var MENU = MathJax.Menu = NAV.Subclass({ + version: VERSION, + items: [], + posted: false, + title: null, + margin: 5, + + Init: function (def) {this.items = [].slice.call(arguments,0)}, + With: function (def) {if (def) {HUB.Insert(this,def)}; return this}, + + /* + * Display the menu + */ + Post: function (event,parent,forceLTR) { + if (!event) {event = window.event||{}} + var div = document.getElementById("MathJax_MenuFrame"); + if (!div) { + div = MENU.Background(this); + delete ITEM.lastItem; delete ITEM.lastMenu; + delete MENU.skipUp; + SIGNAL.Post(["post",MENU.jax]); + MENU.isRTL = (MathJax.Localization.fontDirection() === "rtl"); + } + var menu = HTML.Element("div",{ + onmouseup: MENU.Mouseup, ondblclick: FALSE, + ondragstart: FALSE, onselectstart: FALSE, oncontextmenu: FALSE, + menuItem: this, className: "MathJax_Menu", onkeydown: MENU.Keydown, + role: "menu" + }); + if (event.type === "contextmenu" || event.type === "mouseover") + menu.className += " MathJax_ContextMenu"; + if (!forceLTR) {MathJax.Localization.setCSS(menu)} + + for (var i = 0, m = this.items.length; i < m; i++) {this.items[i].Create(menu)} + if (MENU.isMobile) { + HTML.addElement(menu,"span",{ + className: "MathJax_MenuClose", menu: parent, + ontouchstart: MENU.Close, ontouchend: FALSE, onmousedown: MENU.Close, onmouseup: FALSE + },[["span",{},"\u00D7"]]); + } + + div.appendChild(menu); + this.posted = true; + if (menu.offsetWidth) menu.style.width = (menu.offsetWidth+2) + "px"; + var x = event.pageX, y = event.pageY; + var bbox = document.body.getBoundingClientRect(); + var styles = (window.getComputedStyle ? window.getComputedStyle(document.body) : {marginLeft: "0px"}); + var bodyRight = bbox.right - Math.min(0,bbox.left) + parseFloat(styles.marginLeft); + if (!x && !y && "clientX" in event) { + x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; + y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; + } + if (!parent) { + var node = MENU.CurrentNode() || event.target; + if ((event.type === "keydown" || (!x && !y)) && node) { + var offsetX = window.pageXOffset || document.documentElement.scrollLeft; + var offsetY = window.pageYOffset || document.documentElement.scrollTop; + var rect = node.getBoundingClientRect(); + x = (rect.right + rect.left) / 2 + offsetX; + y = (rect.bottom + rect.top) / 2 + offsetY; + } + if (x + menu.offsetWidth > bodyRight - this.margin) + {x = bodyRight - menu.offsetWidth - this.margin} + if (MENU.isMobile) {x = Math.max(5,x-Math.floor(menu.offsetWidth/2)); y -= 20} + MENU.skipUp = event.isContextMenu; + } else { + var side = "left", mw = parent.offsetWidth; + x = (MENU.isMobile ? 30 : mw - 2); y = 0; + while (parent && parent !== div) { + x += parent.offsetLeft; y += parent.offsetTop; + parent = parent.parentNode; + } + if (!MENU.isMobile) { + if ((MENU.isRTL && x - mw - menu.offsetWidth > this.margin) || + (!MENU.isRTL && x + menu.offsetWidth > bodyRight - this.margin)) + {side = "right"; x = Math.max(this.margin,x - mw - menu.offsetWidth + 6)} + } + if (!isPC) { + // in case these ever get implemented + menu.style["borderRadiusTop"+side] = 0; // Opera 10.5 + menu.style["WebkitBorderRadiusTop"+side] = 0; // Safari and Chrome + menu.style["MozBorderRadiusTop"+side] = 0; // Firefox + menu.style["KhtmlBorderRadiusTop"+side] = 0; // Konqueror + } + } + + menu.style.left = x+"px"; menu.style.top = y+"px"; + if (document.selection && document.selection.empty) {document.selection.empty()} + + // Focusing while keeping the scroll position. + var oldX = window.pageXOffset || document.documentElement.scrollLeft; + var oldY = window.pageYOffset || document.documentElement.scrollTop; + MENU.Focus(menu); + if (event.type === "keydown") { + MENU.skipMouseoverFromKey = true; + setTimeout(function() {delete MENU.skipMouseoverFromKey;}, CONFIG.delay); + } + window.scrollTo(oldX, oldY); + return FALSE(event); + }, + + /* + * Remove the menu from the screen + */ + Remove: function (event,menu) { + SIGNAL.Post(["unpost",MENU.jax]); + var div = document.getElementById("MathJax_MenuFrame"); + if (div) { + div.parentNode.removeChild(div); + if (this.msieFixedPositionBug) {detachEvent("onresize",MENU.Resize)} + } + if (MENU.jax.hover) { + delete MENU.jax.hover.nofade; + HOVER.UnHover(MENU.jax); + } + MENU.Unfocus(menu); + if (event.type === "mousedown") MENU.CurrentNode().blur(); + return FALSE(event); + }, + + /* + * Find an item in a menu (or submenu) by name (Find) or ID (FindID). + * A list of names or IDs means descend into submenus. + */ + Find: function (name) {return this.FindN(1,name,[].slice.call(arguments,1))}, + FindId: function (name) {return this.FindN(0,name,[].slice.call(arguments,1))}, + FindN: function (n,name,names) { + for (var i = 0, m = this.items.length; i < m; i++) { + if (this.items[i].name[n] === name) { + if (names.length) { + if (!this.items[i].submenu) {return null} + return this.items[i].submenu.FindN(n,names[0],names.slice(1)); + } + return this.items[i]; + } + } + return null; + }, + + /* + * Find the index of a menu item (so we can insert before or after it) + */ + IndexOf: function (name) {return this.IndexOfN(1,name)}, + IndexOfId: function (name) {return this.IndexOfN(0,name)}, + IndexOfN: function (n,name) { + for (var i = 0, m = this.items.length; i < m; i++) + {if (this.items[i].name[n] === name) {return i}} + return null; + }, + + Right: function(event, menu) { + MENU.Right(event, menu); + }, + Left: function(event, menu) { + MENU.Left(event, menu); + }, + Up: function(event, menu) { + var node = menu.lastChild; + node.menuItem.Activate(event, node); + }, + Down: function(event, menu) { + var node = menu.firstChild; + node.menuItem.Activate(event, node); + }, + Space: function(event, menu) { + this.Remove(event, menu); + } + },{ + + config: CONFIG, + + Remove: function (event) {return MENU.Event(event,this,"Remove")}, + Mouseover: function (event) {return MENU.Event(event,this,"Mouseover")}, + Mouseout: function (event) {return MENU.Event(event,this,"Mouseout")}, + Mousedown: function (event) {return MENU.Event(event,this,"Mousedown")}, + Mouseup: function (event) {return MENU.Event(event,this,"Mouseup")}, + Keydown: function (event) {return MENU.Event(event,this,"Keydown")}, + /* + * Events for mobile devices. + */ + Touchstart: function (event) {return MENU.Event(event,this,"Touchstart")}, + Touchend: function (event) {return MENU.Event(event,this,"Touchend")}, + Close: function (event) { + return MENU.Event(event,this.menu||this.parentNode,(this.menu?"Touchend":"Remove")); + }, + Event: function (event,menu,type,force) { + if (MENU.skipMouseover && type === "Mouseover" && !force) {return FALSE(event)} + if (MENU.skipMouseoverFromKey && type === "Mouseover") { + delete MENU.skipMouseoverFromKey; + return FALSE(event); + } + if (MENU.skipUp) { + if (type.match(/Mouseup|Touchend/)) {delete MENU.skipUp; return FALSE(event)} + if (type === "Touchstart" || + (type === "Mousedown" && !MENU.skipMousedown)) {delete MENU.skipUp} + } + if (!event) {event = window.event} + var item = menu.menuItem; + if (item && item[type]) {return item[type](event,menu)} + return null; + }, + /* + * Style for the background DIV + */ + BGSTYLE: { + position:"absolute", left:0, top:0, "z-index":200, + width:"100%", height:"100%", border:0, padding:0, margin:0 + }, + + Background: function (menu) { + var div = HTML.addElement(document.body,"div", + {style:this.BGSTYLE, id:"MathJax_MenuFrame"}, + [["div",{style: this.BGSTYLE, menuItem: menu, onmousedown: this.Remove}]]); + var bg = div.firstChild; + if (MENU.msieBackgroundBug) { + // MSIE doesn't allow transparent background to be hit boxes, so + // fake it using opacity with solid background color + bg.style.backgroundColor = "white"; bg.style.filter = "alpha(opacity=0)"; + } + if (MENU.msieFixedPositionBug) { + // MSIE can't do fixed position, so use a full-sized background + // and an onresize handler to update it (stupid, but necessary) + div.width = div.height = 0; this.Resize(); + attachEvent("onresize",this.Resize); + } else { + // otherwise, use a fixed position DIV to cover the viewport + bg.style.position = "fixed"; + } + return div; + }, + Resize: function () {setTimeout(MENU.SetWH,0)}, + SetWH: function () { + var bg = document.getElementById("MathJax_MenuFrame"); + if (bg) { + bg = bg.firstChild; + bg.style.width = bg.style.height = "1px"; // so scrollWidth/Height will be right below + bg.style.width = document.body.scrollWidth + "px"; + bg.style.height = document.body.scrollHeight + "px"; + } + }, + + /*************************************************************/ + /* + * Keyboard navigation of menu. + */ + posted: false, // Is a menu open? + active: null, // The focused in HTML node in the menu. + + GetNode: function(jax) { + var node = document.getElementById(jax.inputID + "-Frame"); + return node.isMathJax ? node : node.firstChild; + }, + CurrentNode: function() { + return MENU.GetNode(MENU.jax); + }, + AllNodes: function() { + var jaxs = MathJax.Hub.getAllJax(); + var nodes = []; + for (var i = 0, jax; jax = jaxs[i]; i++) { + nodes.push(MENU.GetNode(jax)); + } + return nodes; + }, + ActiveNode: function() { + return MENU.active; + }, + FocusNode: function(node) { + MENU.active = node; + node.focus(); + }, + // + // Focus is a global affair, since we only ever want a single focused item. + // + Focus: function(menu) { + !MENU.posted ? MENU.Activate(menu) : MENU.ActiveNode().tabIndex = -1; + menu.tabIndex = 0; + MENU.FocusNode(menu); + }, + Activate: function(event, menu) { + MENU.UnsetTabIndex(); + MENU.posted = true; + }, + Unfocus: function() { + MENU.ActiveNode().tabIndex = -1; + MENU.SetTabIndex(); + MENU.FocusNode(MENU.CurrentNode()); + MENU.posted = false; + }, + MoveHorizontal: function(event, menu, move) { + if (!event.shiftKey) return; + var jaxs = MENU.AllNodes(); + var len = jaxs.length; + if (len === 0) return; + var next = jaxs[MENU.Mod(move(MENU.IndexOf(jaxs, MENU.CurrentNode())), len)]; + if (next === MENU.CurrentNode()) return; + MENU.menu.Remove(event, menu); + MENU.jax = MathJax.Hub.getJaxFor(next); + MENU.FocusNode(next); + MENU.menu.Post(null); + }, + Right: function(event, menu) { + MENU.MoveHorizontal(event, menu, function(x) {return x + 1;}); + }, + Left: function(event, menu) { + MENU.MoveHorizontal(event, menu, function(x) {return x - 1;}); + }, + UnsetTabIndex: function () { + var jaxs = MENU.AllNodes(); + for (var j = 0, jax; jax = jaxs[j]; j++) { + if (jax.tabIndex > 0) { + jax.oldTabIndex = jax.tabIndex; + } + jax.tabIndex = -1; + } + }, + SetTabIndex: function () { + var jaxs = MENU.AllNodes(); + for (var j = 0, jax; jax = jaxs[j]; j++) { + if (jax.oldTabIndex !== undefined) { + jax.tabIndex = jax.oldTabIndex + delete jax.oldTabIndex; + } else { + jax.tabIndex = HUB.getTabOrder(jax); + } + } + }, + + //TODO: Move to utility class. + // Computes a mod n. + Mod: function(a, n) { + return ((a % n) + n) % n; + }, + IndexOf: (Array.prototype.indexOf ? + function (A, item, start) {return A.indexOf(item, start);} : + function (A, item, start) { + for (var i = (start || 0), j = A.length; i < j; i++) { + if (item === A[i]) return i; + } + return -1; + }), + + saveCookie: function () {HTML.Cookie.Set("menu",this.cookie)}, + getCookie: function () {this.cookie = HTML.Cookie.Get("menu")} + + }); + + MathJax.Menu.NAV = NAV; + + /*************************************************************/ + /* + * Abstract class of menu items. + */ + var ITEM = MENU.ITEM = NAV.Subclass({ + + name: "", // The menu item's label as [id,label] pair. + node: null, // The HTML node of the item. + menu: null, // The parent menu containing that item. HTML node. + + Attributes: function(def) { + return HUB.Insert( + {onmouseup: MENU.Mouseup, + ondragstart: FALSE, onselectstart: FALSE, onselectend: FALSE, + ontouchstart: MENU.Touchstart, ontouchend: MENU.Touchend, + className: "MathJax_MenuItem", role: this.role, + menuItem: this}, + def); + }, + + Create: function (menu) { + if (!this.hidden) { + var def = this.Attributes(); + var label = this.Label(def,menu); + HTML.addElement(menu, "div", def, label); + } + }, + Name: function () {return _(this.name[0],this.name[1])}, + + Mouseover: function (event,menu) { + if (menu.parentNode === MENU.ActiveNode().parentNode) { + this.Deactivate(MENU.ActiveNode()); + } + this.Activate(event, menu); + }, + Mouseout: function (event,menu) { + this.Deactivate(menu); + }, + Mouseup: function (event,menu) {return this.Remove(event,menu)}, + + + DeactivateSubmenus: function(menu) { + var menus = document.getElementById("MathJax_MenuFrame").childNodes, + items = ITEM.GetMenuNode(menu).childNodes; + for (var i = 0, m = items.length; i < m; i++) { + var item = items[i].menuItem; + // Deactivates submenu items. + if (item && item.submenu && item.submenu.posted && + item !== menu.menuItem) { + item.Deactivate(items[i]); + } + } + this.RemoveSubmenus(menu, menus); + }, + RemoveSubmenus: function(menu, menus) { + menus = menus || document.getElementById("MathJax_MenuFrame").childNodes; + var m = menus.length-1; + while (m >= 0 && ITEM.GetMenuNode(menu).menuItem !== menus[m].menuItem) { + menus[m].menuItem.posted = false; + menus[m].parentNode.removeChild(menus[m]); + m--; + } + }, + + Touchstart: function (event,menu) {return this.TouchEvent(event,menu,"Mousedown")}, + Touchend: function (event,menu) {return this.TouchEvent(event,menu,"Mouseup")}, + TouchEvent: function (event,menu,type) { + if (this !== ITEM.lastItem) { + if (ITEM.lastMenu) {MENU.Event(event,ITEM.lastMenu,"Mouseout")} + MENU.Event(event,menu,"Mouseover",true); + ITEM.lastItem = this; ITEM.lastMenu = menu; + } + if (this.nativeTouch) {return null} + MENU.Event(event,menu,type); + return false; + }, + + Remove: function (event,menu) { + menu = menu.parentNode.menuItem; + return menu.Remove(event,menu); + }, + + With: function (def) {if (def) {HUB.Insert(this,def)}; return this}, + + isRTL: function () {return MENU.isRTL}, + rtlClass: function () {return (this.isRTL() ? " RTL" : "")} + }, { + GetMenuNode: function(item) { + return item.parentNode; + } + }); + + /*************************************************************/ + /* + * Abstract class of menu items that are focusable and perform some action + */ + MENU.ENTRY = MENU.ITEM.Subclass({ + role: "menuitem", // Aria role. + + Attributes: function(def) { + def = HUB.Insert( + {onmouseover: MENU.Mouseover, onmouseout: MENU.Mouseout, + onmousedown: MENU.Mousedown, onkeydown: MENU.Keydown, + "aria-disabled": !!this.disabled}, + def); + def = this.SUPER(arguments).Attributes.call(this, def); + if (this.disabled) { + def.className += " MathJax_MenuDisabled"; + } + return def; + }, + MoveVertical: function(event, item, move) { + var menuNode = ITEM.GetMenuNode(item); + var items = []; + for (var i = 0, allItems = menuNode.menuItem.items, it; + it = allItems[i]; i++) { + if (!it.hidden) { + items.push(it); + } + } + var index = MENU.IndexOf(items, this); + if (index === -1) return; + var len = items.length; + var children = menuNode.childNodes; + do { + index = MENU.Mod(move(index), len); + } while (items[index].hidden || !children[index].role || + children[index].role === "separator"); + this.Deactivate(item); + items[index].Activate(event, children[index]); + }, + Up: function(event, item) { + this.MoveVertical(event, item, function(x) { return x - 1; }); + }, + Down: function(event, item) { + this.MoveVertical(event, item, function(x) { return x + 1; }); + }, + Right: function(event, item) { + this.MoveHorizontal(event, item, MENU.Right, !this.isRTL()); + }, + Left: function(event, item) { + this.MoveHorizontal(event, item, MENU.Left, this.isRTL()); + }, + MoveHorizontal: function(event, item, move, rtl) { + var menuNode = ITEM.GetMenuNode(item); + if (menuNode.menuItem === MENU.menu && event.shiftKey) { + move(event, item); + } + if (rtl) return; + if (menuNode.menuItem !== MENU.menu) { + this.Deactivate(item); + } + var parentNodes = menuNode.previousSibling.childNodes; + var length = parentNodes.length; + while (length--) { + var parent = parentNodes[length]; + if (parent.menuItem.submenu && + parent.menuItem.submenu === menuNode.menuItem) { + MENU.Focus(parent); + break; + } + } + this.RemoveSubmenus(item); + }, + Space: function (event, menu) { + this.Mouseup(event, menu); + }, + + Activate: function (event, menu) { + this.Deactivate(menu); + if (!this.disabled) { + menu.className += " MathJax_MenuActive"; + } + this.DeactivateSubmenus(menu); + MENU.Focus(menu); + }, + Deactivate: function (menu) { + menu.className = menu.className.replace(/ MathJax_MenuActive/,""); + } + + }); + + /*************************************************************/ + /* + * A menu item that performs a command when selected + */ + MENU.ITEM.COMMAND = MENU.ENTRY.Subclass({ + action: function () {}, + + Init: function (name,action,def) { + if (!isArray(name)) {name = [name,name]} // make [id,label] pair + this.name = name; this.action = action; + this.With(def); + }, + + Label: function (def,menu) {return [this.Name()]}, + Mouseup: function (event,menu) { + if (!this.disabled) { + this.Remove(event,menu); + SIGNAL.Post(["command",this]); + this.action.call(this,event); + } + return FALSE(event); + } + }); + + /*************************************************************/ + /* + * A menu item that posts a submenu + */ + MENU.ITEM.SUBMENU = MENU.ENTRY.Subclass({ + submenu: null, // the submenu + marker: "\u25BA", // the submenu arrow + markerRTL: "\u25C4", // the submenu arrow for RTL + + Attributes: function(def) { + def = HUB.Insert({"aria-haspopup": "true"}, def); + def = this.SUPER(arguments).Attributes.call(this, def); + return def; + }, + Init: function (name,def) { + if (!isArray(name)) {name = [name,name]} // make [id,label] pair + this.name = name; var i = 1; + if (!(def instanceof MENU.ITEM)) {this.With(def), i++} + this.submenu = MENU.apply(MENU,[].slice.call(arguments,i)); + }, + Label: function (def,menu) { + this.submenu.posted = false; + return [this.Name()+" ",["span",{ + className:"MathJax_MenuArrow" + this.rtlClass() + },[this.isRTL() ? this.markerRTL : this.marker]]]; + }, + Timer: function (event,menu) { + this.ClearTimer(); + event = {type: event.type, + clientX: event.clientX, clientY: event.clientY}; // MSIE can't pass the event below + this.timer = setTimeout(CALLBACK(["Mouseup",this,event,menu]),CONFIG.delay); + }, + ClearTimer: function() { + if (this.timer) { + clearTimeout(this.timer); + } + }, + Touchend: function (event,menu) { + var forceout = this.submenu.posted; + var result = this.SUPER(arguments).Touchend.apply(this,arguments); + if (forceout) {this.Deactivate(menu); delete ITEM.lastItem; delete ITEM.lastMenu} + return result; + }, + Mouseout: function(event, menu) { + if (!this.submenu.posted) { + this.Deactivate(menu); + } + this.ClearTimer(); + }, + Mouseover: function(event, menu) { + this.Activate(event, menu); + }, + Mouseup: function (event,menu) { + if (!this.disabled) { + if (!this.submenu.posted) { + this.ClearTimer(); + this.submenu.Post(event, menu, this.ltr); + MENU.Focus(menu); + } else { + this.DeactivateSubmenus(menu); + } + } + return FALSE(event); + }, + Activate: function (event, menu) { + if (!this.disabled) { + this.Deactivate(menu); + menu.className += " MathJax_MenuActive"; + } + if (!this.submenu.posted) { + this.DeactivateSubmenus(menu); + if (!MENU.isMobile) { + this.Timer(event,menu); + } + } + MENU.Focus(menu); + }, + MoveVertical: function(event, item, move) { + this.ClearTimer(); + this.SUPER(arguments).MoveVertical.apply(this, arguments); + }, + MoveHorizontal: function(event, menu, move, rtl) { + if (!rtl) { + this.SUPER(arguments).MoveHorizontal.apply(this, arguments); + return; + } + if (this.disabled) return; + if (!this.submenu.posted) { + this.Activate(event, menu); + return; + } + var submenuNodes = ITEM.GetMenuNode(menu).nextSibling.childNodes; + if (submenuNodes.length > 0) { + this.submenu.items[0].Activate(event, submenuNodes[0]); + } + } + }); + + /*************************************************************/ + /* + * A menu item that is one of several radio buttons + */ + MENU.ITEM.RADIO = MENU.ENTRY.Subclass({ + variable: null, // the variable name + marker: (isPC ? "\u25CF" : "\u2713"), // the checkmark + role: "menuitemradio", + + Attributes: function(def) { + var checked = CONFIG.settings[this.variable] === this.value ? "true" : "false"; + def = HUB.Insert({"aria-checked": checked}, def); + def = this.SUPER(arguments).Attributes.call(this, def); + return def; + }, + Init: function (name,variable,def) { + if (!isArray(name)) {name = [name,name]} // make [id,label] pair + this.name = name; this.variable = variable; this.With(def); + if (this.value == null) {this.value = this.name[0]} + }, + Label: function (def,menu) { + var span = {className:"MathJax_MenuRadioCheck" + this.rtlClass()}; + if (CONFIG.settings[this.variable] !== this.value) { + span = {style:{display:"none"}}; + } + return [["span",span,[this.marker]]," "+this.Name()]; + }, + Mouseup: function (event,menu) { + if (!this.disabled) { + var child = menu.parentNode.childNodes; + for (var i = 0, m = child.length; i < m; i++) { + var item = child[i].menuItem; + if (item && item.variable === this.variable) { + child[i].firstChild.style.display = "none"; + } + } + menu.firstChild.display = ""; + CONFIG.settings[this.variable] = this.value; + MENU.cookie[this.variable] = CONFIG.settings[this.variable]; MENU.saveCookie(); + SIGNAL.Post(["radio button",this]); + } + this.Remove(event,menu); + if (this.action && !this.disabled) {this.action.call(MENU,this)} + return FALSE(event); + } + }); + + /*************************************************************/ + /* + * A menu item that is checkable + */ + MENU.ITEM.CHECKBOX = MENU.ENTRY.Subclass({ + variable: null, // the variable name + marker: "\u2713", // the checkmark + role: "menuitemcheckbox", + + Attributes: function(def) { + var checked = CONFIG.settings[this.variable] ? "true" : "false"; + def = HUB.Insert({"aria-checked": checked}, def); + def = this.SUPER(arguments).Attributes.call(this, def); + return def; + }, + Init: function (name,variable,def) { + if (!isArray(name)) {name = [name,name]} // make [id,label] pair + this.name = name; this.variable = variable; this.With(def); + }, + Label: function (def,menu) { + var span = {className:"MathJax_MenuCheck" + this.rtlClass()}; + if (!CONFIG.settings[this.variable]) {span = {style:{display:"none"}}} + return [["span",span,[this.marker]]," "+this.Name()]; + }, + Mouseup: function (event,menu) { + if (!this.disabled) { + menu.firstChild.display = (CONFIG.settings[this.variable] ? "none" : ""); + CONFIG.settings[this.variable] = !CONFIG.settings[this.variable]; + MENU.cookie[this.variable] = CONFIG.settings[this.variable]; MENU.saveCookie(); + SIGNAL.Post(["checkbox",this]); + } + this.Remove(event,menu); + if (this.action && !this.disabled) {this.action.call(MENU,this)} + return FALSE(event); + } + }); + + /*************************************************************/ + /* + * A menu item that is a label + */ + MENU.ITEM.LABEL = MENU.ENTRY.Subclass({ + role: "menuitem", // Aria role. + + Init: function (name,def) { + if (!isArray(name)) {name = [name,name]} // make [id,label] pair + this.name = name; this.With(def); + }, + Label: function (def,menu) { + def.className += " MathJax_MenuLabel"; + return [this.Name()]; + }, + Activate: function(event, menu) { + this.Deactivate(menu); + MENU.Focus(menu); + }, + Mouseup: function (event,menu) { } + }); + + /*************************************************************/ + /* + * A rule in a menu + */ + MENU.ITEM.RULE = MENU.ITEM.Subclass({ + role: "separator", + + Attributes: function(def) { + def = HUB.Insert({"aria-orientation": "vertical"}, def); + def = this.SUPER(arguments).Attributes.call(this, def); + return def; + }, + Label: function (def,menu) { + def.className += " MathJax_MenuRule"; + return null; + } + }); + + /*************************************************************/ + /*************************************************************/ + + /* + * Handle the ABOUT box + */ + MENU.About = function (event) { + var font = MENU.About.GetFont(); + var format = MENU.About.GetFormat(); + var jax = ["MathJax.js v"+MathJax.fileversion,["br"]]; + jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}]); + MENU.About.GetJax(jax,MathJax.InputJax,["InputJax","%1 Input Jax v%2"]); + MENU.About.GetJax(jax,MathJax.OutputJax,["OutputJax","%1 Output Jax v%2"]); + MENU.About.GetJax(jax,MathJax.ElementJax,["ElementJax","%1 Element Jax v%2"]); + jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}]); + MENU.About.GetJax(jax,MathJax.Extension,["Extension","%1 Extension v%2"],true); + jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}],["center",{},[ + HUB.Browser + " v"+HUB.Browser.version + (format ? + " \u2014 " + _(format.replace(/ /g,""),format) : "") + ]]); + MENU.About.div = MENU.Background(MENU.About); + var about = HTML.addElement(MENU.About.div,"div",{ + id: "MathJax_About", tabIndex: 0, onkeydown: MENU.About.Keydown + },[ + ["b",{style:{fontSize:"120%"}},["MathJax"]]," v"+MathJax.version,["br"], + _(font.replace(/ /g,""),"using "+font),["br"],["br"], + ["span",{style:{ + display:"inline-block", "text-align":"left", "font-size":"80%", + "max-height":"20em", overflow:"auto", + "background-color":"#E4E4E4", padding:".4em .6em", border:"1px inset" + }, tabIndex: 0},jax],["br"],["br"], + ["a",{href:"http://www.mathjax.org/"},["www.mathjax.org"]], + ["span",{className:"MathJax_MenuClose",id:"MathJax_AboutClose", + onclick:MENU.About.Remove, + onkeydown: MENU.About.Keydown, tabIndex: 0, role: "button", + "aria-label": _("CloseAboutDialog","Close about MathJax dialog")}, + [["span",{},"\u00D7"]]] + ]); + if (event.type === "mouseup") about.className += " MathJax_MousePost"; + about.focus(); + MathJax.Localization.setCSS(about); + var doc = (document.documentElement||{}); + var H = window.innerHeight || doc.clientHeight || doc.scrollHeight || 0; + if (MENU.prototype.msieAboutBug) { + about.style.width = "20em"; about.style.position = "absolute"; + about.style.left = Math.floor((document.documentElement.scrollWidth - about.offsetWidth)/2)+"px"; + about.style.top = (Math.floor((H-about.offsetHeight)/3)+document.body.scrollTop)+"px"; + } else { + about.style.marginLeft = Math.floor(-about.offsetWidth/2)+"px"; + about.style.top = Math.floor((H-about.offsetHeight)/3)+"px"; + } + }; + MENU.About.Remove = function (event) { + if (MENU.About.div) {document.body.removeChild(MENU.About.div); delete MENU.About.div} + }; + MENU.About.Keydown = function(event) { + if (event.keyCode === KEY.ESCAPE || + (this.id === "MathJax_AboutClose" && + (event.keyCode === KEY.SPACE || event.keyCode === KEY.RETURN))) { + MENU.About.Remove(event); + MENU.CurrentNode().focus(); + FALSE(event); + } + }, + MENU.About.GetJax = function (jax,JAX,type,noTypeCheck) { + var info = []; + for (var id in JAX) {if (JAX.hasOwnProperty(id) && JAX[id]) { + if ((noTypeCheck && JAX[id].version) || (JAX[id].isa && JAX[id].isa(JAX))) + {info.push(_(type[0],type[1],(JAX[id].id||id),JAX[id].version))} + }} + info.sort(); + for (var i = 0, m = info.length; i < m; i++) {jax.push(info[i],["br"])} + return jax; + }; + MENU.About.GetFont = function () { + var jax = MathJax.Hub.outputJax["jax/mml"][0] || {}; + var font = { + SVG: "web SVG", + CommonHTML: "web TeX", + "HTML-CSS": (jax.imgFonts ? "image" : (jax.webFonts ? "web" : "local")+" "+jax.fontInUse) + }[jax.id] || "generic"; + return font + " fonts"; + }; + MENU.About.GetFormat = function () { + var jax = MathJax.Hub.outputJax["jax/mml"][0] || {}; + if (jax.id !== "HTML-CSS"|| !jax.webFonts || jax.imgFonts) return; + return jax.allowWebFonts.replace(/otf/,"woff or otf") + " fonts"; + }; + + + /* + * Handle the MathJax HELP menu + */ + MENU.Help = function (event) { + AJAX.Require("[MathJax]/extensions/HelpDialog.js", + function () {MathJax.Extension.Help.Dialog({type:event.type})}); + }; + + /* + * Handle showing of element's source + */ + MENU.ShowSource = function (event) { + if (!event) {event = window.event} + var EVENT = {screenX:event.screenX, screenY:event.screenY}; + if (!MENU.jax) return; + if (this.format === "MathML") { + var MML = MathJax.ElementJax.mml; + if (MML && typeof(MML.mbase.prototype.toMathML) !== "undefined") { + // toMathML() can call MathJax.Hub.RestartAfter, so trap errors and check + try {MENU.ShowSource.Text(MENU.jax.root.toMathML("",MENU.jax),event)} catch (err) { + if (!err.restart) {throw err} + CALLBACK.After([this,MENU.ShowSource,EVENT],err.restart); + } + } else if (!AJAX.loadingToMathML) { + AJAX.loadingToMathML = true; + MENU.ShowSource.Window(event); // WeBKit needs to open window on click event + CALLBACK.Queue( + AJAX.Require("[MathJax]/extensions/toMathML.js"), + function () { + delete AJAX.loadingToMathML; + if (!MML.mbase.prototype.toMathML) {MML.mbase.prototype.toMathML = function () {}} + }, + [this,MENU.ShowSource,EVENT] // call this function again + ); + return; + } + } else if (this.format === "Error") { + MENU.ShowSource.Text(MENU.jax.errorText,event); + } else if (CONFIG.semanticsAnnotations[this.format]) { + var annotation = MENU.jax.root.getAnnotation(this.format); + if (annotation.data[0]) MENU.ShowSource.Text(annotation.data[0].toString()); + } else { + if (MENU.jax.originalText == null) { + alert(_("NoOriginalForm","No original form available")); + return; + } + MENU.ShowSource.Text(MENU.jax.originalText,event); + } + }; + MENU.ShowSource.Window = function (event) { + if (!MENU.ShowSource.w) { + var def = [], DEF = CONFIG.windowSettings; + for (var id in DEF) {if (DEF.hasOwnProperty(id)) {def.push(id+"="+DEF[id])}} + MENU.ShowSource.w = window.open("","_blank",def.join(",")); + } + return MENU.ShowSource.w; + }; + MENU.ShowSource.Text = function (text,event) { + var w = MENU.ShowSource.Window(event); delete MENU.ShowSource.w; + text = text.replace(/^\s*/,"").replace(/\s*$/,""); + text = text.replace(/&/g,"&").replace(//g,">"); + var title = _("EqSource","MathJax Equation Source"); + if (MENU.isMobile) { + w.document.open(); + w.document.write(""+title+""); + w.document.write("
        "+text+"
        "); + w.document.write("
        "); + w.document.write(""); + w.document.close(); + } else { + w.document.open(); + w.document.write(""+title+""); + w.document.write("
        "+text+"
        "); + w.document.write(""); + w.document.close(); + var table = w.document.body.firstChild; + setTimeout(function () { + var H = (w.outerHeight-w.innerHeight)||30, W = (w.outerWidth-w.innerWidth)||30, x, y; + W = Math.max(140,Math.min(Math.floor(.5*screen.width),table.offsetWidth+W+25)); + H = Math.max(40,Math.min(Math.floor(.5*screen.height),table.offsetHeight+H+25)); + if (MENU.prototype.msieHeightBug) {H += 35}; // for title bar in XP + w.resizeTo(W,H); + var X; try {X = event.screenX} catch (e) {}; // IE8 throws an error accessing screenX + if (event && X != null) { + x = Math.max(0,Math.min(event.screenX-Math.floor(W/2), screen.width-W-20)); + y = Math.max(0,Math.min(event.screenY-Math.floor(H/2), screen.height-H-20)); + w.moveTo(x,y); + } + },50); + } + }; + + /* + * Handle rescaling all the math + */ + MENU.Scale = function () { + var JAX = ["CommonHTML","HTML-CSS","SVG","NativeMML","PreviewHTML"], m = JAX.length, + SCALE = 100, i, jax; + for (i = 0; i < m; i++) { + jax = OUTPUT[JAX[i]]; + if (jax) {SCALE = jax.config.scale; break} + } + var scale = prompt(_("ScaleMath","Scale all mathematics (compared to surrounding text) by"),SCALE+"%"); + if (scale) { + if (scale.match(/^\s*\d+(\.\d*)?\s*%?\s*$/)) { + scale = parseFloat(scale); + if (scale) { + if (scale !== SCALE) { + for (i = 0; i < m; i++) { + jax = OUTPUT[JAX[i]]; + if (jax) jax.config.scale = scale; + } + MENU.cookie.scale = HUB.config.scale = scale; + MENU.saveCookie(); + HUB.Queue(["Rerender",HUB]); + } + } else {alert(_("NonZeroScale","The scale should not be zero"))} + } else {alert(_("PercentScale", + "The scale should be a percentage (e.g., 120%%)"))} + } + }; + + /* + * Handle loading the zoom code + */ + MENU.Zoom = function () { + if (!MathJax.Extension.MathZoom) {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }; + + /* + * Handle changing the renderer + */ + MENU.Renderer = function () { + var jax = HUB.outputJax["jax/mml"]; + if (jax[0] !== CONFIG.settings.renderer) { + var BROWSER = HUB.Browser, message, MESSAGE = MENU.Renderer.Messages, warned; + // + // Check that the new renderer is appropriate for the browser + // + switch (CONFIG.settings.renderer) { + case "NativeMML": + if (!CONFIG.settings.warnedMML) { + if (BROWSER.isChrome && BROWSER.version.substr(0,3) !== "24.") {message = MESSAGE.MML.WebKit} + else if (BROWSER.isSafari && !BROWSER.versionAtLeast("5.0")) {message = MESSAGE.MML.WebKit} + else if (BROWSER.isMSIE) {if (!BROWSER.hasMathPlayer) {message = MESSAGE.MML.MSIE}} + else if (BROWSER.isEdge) {message = MESSAGE.MML.WebKit} + else {message = MESSAGE.MML[BROWSER]} + warned = "warnedMML"; + } + break; + + case "SVG": + if (!CONFIG.settings.warnedSVG) { + if (BROWSER.isMSIE && !isIE9) {message = MESSAGE.SVG.MSIE} + } + break; + } + if (message) { + message = _(message[0],message[1]); + message += "\n\n"; + message += _("SwitchAnyway", + "Switch the renderer anyway?\n\n" + + "(Press OK to switch, CANCEL to continue with the current renderer)"); + MENU.cookie.renderer = jax[0].id; MENU.saveCookie(); + if (!confirm(message)) { + MENU.cookie.renderer = CONFIG.settings.renderer = HTML.Cookie.Get("menu").renderer; + MENU.saveCookie(); + return; + } + if (warned) {MENU.cookie.warned = CONFIG.settings.warned = true} + MENU.cookie.renderer = CONFIG.settings.renderer; MENU.saveCookie(); + } + HUB.Queue( + ["setRenderer",HUB,CONFIG.settings.renderer,"jax/mml"], + ["Rerender",HUB] + ); + } + }; + MENU.Renderer.Messages = { + MML: { + WebKit: ["WebkitNativeMMLWarning", + "Your browser doesn't seem to support MathML natively, " + + "so switching to MathML output may cause the mathematics " + + "on the page to become unreadable."], + + MSIE: ["MSIENativeMMLWarning", + "Internet Explorer requires the MathPlayer plugin " + + "in order to process MathML output."], + + Opera: ["OperaNativeMMLWarning", + "Opera's support for MathML is limited, so switching to " + + "MathML output may cause some expressions to render poorly."], + + Safari: ["SafariNativeMMLWarning", + "Your browser's native MathML does not implement all the features " + + "used by MathJax, so some expressions may not render properly."], + + Firefox: ["FirefoxNativeMMLWarning", + "Your browser's native MathML does not implement all the features " + + "used by MathJax, so some expressions may not render properly."] + }, + + SVG: { + MSIE: ["MSIESVGWarning", + "SVG is not implemented in Internet Explorer prior to " + + "IE9 or when it is emulating IE8 or below. " + + "Switching to SVG output will cause the mathematics to " + + "not display properly."] + } + }; + + /* + * Toggle assistive MML settings + */ + MENU.AssistiveMML = function (item,restart) { + var AMML = MathJax.Extension.AssistiveMML; + if (!AMML) { + // Try to load the extension, but only try once. + if (!restart) + AJAX.Require("[MathJax]/extensions/AssistiveMML.js",["AssistiveMML",MENU,item,true]); + return; + } + MathJax.Hub.Queue([(CONFIG.settings.assistiveMML ? "Add" : "Remove")+"AssistiveMathML",AMML]); + }; + + /* + * Handle setting the HTMLCSS fonts + */ + MENU.Font = function () { + var HTMLCSS = OUTPUT["HTML-CSS"]; if (!HTMLCSS) return; + document.location.reload(); + }; + + /* + * Handle selection of locale and rerender the page + */ + MENU.Locale = function () { + MathJax.Localization.setLocale(CONFIG.settings.locale); + MathJax.Hub.Queue(["Reprocess",MathJax.Hub]); // FIXME: Just reprocess error messages? + }; + MENU.LoadLocale = function () { + var url = prompt(_("LoadURL","Load translation data from this URL:")); + if (url) { + if (!url.match(/\.js$/)) { + alert(_("BadURL", + "The URL should be for a javascript file that defines MathJax translation data. " + + "Javascript file names should end with '.js'" + )); + } + AJAX.Require(url,function (status) { + if (status != AJAX.STATUS.OK) {alert(_("BadData","Failed to load translation data from %1",url))} + }); + } + }; + + /* + * Handle setting MathPlayer events + */ + MENU.MPEvents = function (item) { + var discoverable = CONFIG.settings.discoverable, + MESSAGE = MENU.MPEvents.Messages; + if (!isIE9) { + if (CONFIG.settings.mpMouse && !confirm(_.apply(_,MESSAGE.IE8warning))) { + delete MENU.cookie.mpContext; delete CONFIG.settings.mpContext; + delete MENU.cookie.mpMouse; delete CONFIG.settings.mpMouse; + MENU.saveCookie(); + return; + } + CONFIG.settings.mpContext = CONFIG.settings.mpMouse; + MENU.cookie.mpContext = MENU.cookie.mpMouse = CONFIG.settings.mpMouse; + MENU.saveCookie(); + MathJax.Hub.Queue(["Rerender",MathJax.Hub]) + } else if (!discoverable && item.name[1] === "Menu Events" && CONFIG.settings.mpContext) { + alert(_.apply(_,MESSAGE.IE9warning)); + } + }; + + MENU.MPEvents.Messages = { + IE8warning: ["IE8warning", + "This will disable the MathJax menu and zoom features, " + + "but you can Alt-Click on an expression to obtain the MathJax " + + "menu instead.\n\nReally change the MathPlayer settings?"], + + IE9warning: ["IE9warning", + "The MathJax contextual menu will be disabled, but you can " + + "Alt-Click on an expression to obtain the MathJax menu instead."] + }; + + /*************************************************************/ + /*************************************************************/ + + HUB.Browser.Select({ + MSIE: function (browser) { + var quirks = (document.compatMode === "BackCompat"); + var isIE8 = browser.versionAtLeast("8.0") && document.documentMode > 7; + MENU.Augment({ + margin: 20, + msieBackgroundBug: ((document.documentMode||0) < 9), + msieFixedPositionBug: (quirks || !isIE8), + msieAboutBug: quirks, + msieHeightBug: ((document.documentMode||0) < 9) + // height of window doesn't include title bar in XP + }); + if (isIE9) { + delete CONFIG.styles["#MathJax_About"].filter; + delete CONFIG.styles[".MathJax_Menu"].filter; + } + }, + Firefox: function (browser) { + MENU.skipMouseover = browser.isMobile && browser.versionAtLeast("6.0"); + MENU.skipMousedown = browser.isMobile; + } + }); + MENU.isMobile = HUB.Browser.isMobile; + MENU.noContextMenu = HUB.Browser.noContextMenu; + + /*************************************************************/ + + // + // Creates the locale menu from the list of locales in MathJax.Localization.strings + // + MENU.CreateLocaleMenu = function () { + if (!MENU.menu) return; + var menu = MENU.menu.Find("Language").submenu, items = menu.items; + // + // Get the names of the languages and sort them + // + var locales = [], LOCALE = MathJax.Localization.strings; + for (var id in LOCALE) {if (LOCALE.hasOwnProperty(id)) {locales.push(id)}} + locales = locales.sort(); menu.items = []; + // + // Add a menu item for each + // + for (var i = 0, m = locales.length; i < m; i++) { + var title = LOCALE[locales[i]].menuTitle; + if (title) {title += " ("+locales[i]+")"} else {title = locales[i]} + menu.items.push(ITEM.RADIO([locales[i],title],"locale",{action:MENU.Locale})); + } + // + // Add the rule and "Load from URL" items + // + menu.items.push(items[items.length-2],items[items.length-1]); + }; + + // + // Create the annotation menu from MathJax.Hub.config.semanticsAnnotations + // + MENU.CreateAnnotationMenu = function () { + if (!MENU.menu) return; + var menu = MENU.menu.Find("Show Math As","Annotation").submenu; + var annotations = CONFIG.semanticsAnnotations; + for (var a in annotations) { + if (annotations.hasOwnProperty(a)) { + menu.items.push(ITEM.COMMAND([a,a], MENU.ShowSource, {hidden: true, nativeTouch: true, format: a})); + } + } + }; + + /*************************************************************/ + + HUB.Register.StartupHook("End Config",function () { + + /* + * Get the menu settings from the HUB (which includes the + * data from the cookie already), and add the format, if + * it wasn't set in the cookie. + */ + CONFIG.settings = HUB.config.menuSettings; + if (typeof(CONFIG.settings.showRenderer) !== "undefined") {CONFIG.showRenderer = CONFIG.settings.showRenderer} + if (typeof(CONFIG.settings.showFontMenu) !== "undefined") {CONFIG.showFontMenu = CONFIG.settings.showFontMenu} + if (typeof(CONFIG.settings.showContext) !== "undefined") {CONFIG.showContext = CONFIG.settings.showContext} + MENU.getCookie(); + + /* + * The main menu + */ + // Localization: items used as key, should be refactored. + MENU.menu = MENU( + ITEM.SUBMENU(["Show","Show Math As"], + ITEM.COMMAND(["MathMLcode","MathML Code"], MENU.ShowSource, {nativeTouch: true, format: "MathML"}), + ITEM.COMMAND(["Original","Original Form"], MENU.ShowSource, {nativeTouch: true}), + ITEM.SUBMENU(["Annotation","Annotation"], {disabled:true}), + ITEM.RULE(), + ITEM.CHECKBOX(["texHints","Show TeX hints in MathML"], "texHints"), + ITEM.CHECKBOX(["semantics","Add original form as annotation"], "semantics") + ), + ITEM.RULE(), + ITEM.SUBMENU(["Settings","Math Settings"], + ITEM.SUBMENU(["ZoomTrigger","Zoom Trigger"], + ITEM.RADIO(["Hover","Hover"], "zoom", {action: MENU.Zoom}), + ITEM.RADIO(["Click","Click"], "zoom", {action: MENU.Zoom}), + ITEM.RADIO(["DoubleClick","Double-Click"], "zoom", {action: MENU.Zoom}), + ITEM.RADIO(["NoZoom","No Zoom"], "zoom", {value: "None"}), + ITEM.RULE(), + ITEM.LABEL(["TriggerRequires","Trigger Requires:"]), + ITEM.CHECKBOX((HUB.Browser.isMac ? ["Option","Option"] : ["Alt","Alt"]), "ALT"), + ITEM.CHECKBOX(["Command","Command"], "CMD", {hidden: !HUB.Browser.isMac}), + ITEM.CHECKBOX(["Control","Control"], "CTRL", {hidden: HUB.Browser.isMac}), + ITEM.CHECKBOX(["Shift","Shift"], "Shift") + ), + ITEM.SUBMENU(["ZoomFactor","Zoom Factor"], + ITEM.RADIO("125%", "zscale"), + ITEM.RADIO("133%", "zscale"), + ITEM.RADIO("150%", "zscale"), + ITEM.RADIO("175%", "zscale"), + ITEM.RADIO("200%", "zscale"), + ITEM.RADIO("250%", "zscale"), + ITEM.RADIO("300%", "zscale"), + ITEM.RADIO("400%", "zscale") + ), + ITEM.RULE(), + ITEM.SUBMENU(["Renderer","Math Renderer"], {hidden:!CONFIG.showRenderer}, + ITEM.RADIO(["HTML-CSS","HTML-CSS"], "renderer", {action: MENU.Renderer}), + ITEM.RADIO(["CommonHTML","Common HTML"], "renderer", {action: MENU.Renderer, value:"CommonHTML"}), + ITEM.RADIO(["PreviewHTML","Preview HTML"],"renderer", {action: MENU.Renderer, value:"PreviewHTML"}), + ITEM.RADIO(["MathML","MathML"], "renderer", {action: MENU.Renderer, value:"NativeMML"}), + ITEM.RADIO(["SVG","SVG"], "renderer", {action: MENU.Renderer}), + ITEM.RADIO(["PlainSource","Plain Source"],"renderer", {action: MENU.Renderer, value:"PlainSource"}), + ITEM.RULE(), + ITEM.CHECKBOX(["FastPreview","Fast Preview"], "FastPreview") + ), + ITEM.SUBMENU("MathPlayer", {hidden:!HUB.Browser.isMSIE || !CONFIG.showMathPlayer, + disabled:!HUB.Browser.hasMathPlayer}, + ITEM.LABEL(["MPHandles","Let MathPlayer Handle:"]), + ITEM.CHECKBOX(["MenuEvents","Menu Events"], "mpContext", {action: MENU.MPEvents, hidden:!isIE9}), + ITEM.CHECKBOX(["MouseEvents","Mouse Events"], "mpMouse", {action: MENU.MPEvents, hidden:!isIE9}), + ITEM.CHECKBOX(["MenuAndMouse","Mouse and Menu Events"], "mpMouse", {action: MENU.MPEvents, hidden:isIE9}) + ), + ITEM.SUBMENU(["FontPrefs","Font Preference"], {hidden:!CONFIG.showFontMenu}, + ITEM.LABEL(["ForHTMLCSS","For HTML-CSS:"]), + ITEM.RADIO(["Auto","Auto"], "font", {action: MENU.Font}), + ITEM.RULE(), + ITEM.RADIO(["TeXLocal","TeX (local)"], "font", {action: MENU.Font}), + ITEM.RADIO(["TeXWeb","TeX (web)"], "font", {action: MENU.Font}), + ITEM.RADIO(["TeXImage","TeX (image)"], "font", {action: MENU.Font}), + ITEM.RULE(), + ITEM.RADIO(["STIXLocal","STIX (local)"], "font", {action: MENU.Font}), + ITEM.RADIO(["STIXWeb","STIX (web)"], "font", {action: MENU.Font}), + ITEM.RULE(), + ITEM.RADIO(["AsanaMathWeb","Asana Math (web)"], "font", {action: MENU.Font}), + ITEM.RADIO(["GyrePagellaWeb","Gyre Pagella (web)"], "font", {action: MENU.Font}), + ITEM.RADIO(["GyreTermesWeb","Gyre Termes (web)"], "font", {action: MENU.Font}), + ITEM.RADIO(["LatinModernWeb","Latin Modern (web)"], "font", {action: MENU.Font}), + ITEM.RADIO(["NeoEulerWeb","Neo Euler (web)"], "font", {action: MENU.Font}) + ), + ITEM.SUBMENU(["ContextMenu","Contextual Menu"], {hidden:!CONFIG.showContext}, + ITEM.RADIO(["MathJax","MathJax"], "context"), + ITEM.RADIO(["Browser","Browser"], "context") + ), + ITEM.COMMAND(["Scale","Scale All Math ..."],MENU.Scale), + ITEM.RULE().With({hidden:!CONFIG.showDiscoverable, name:["","discover_rule"]}), + ITEM.CHECKBOX(["Discoverable","Highlight on Hover"], "discoverable", {hidden:!CONFIG.showDiscoverable}) + ), + ITEM.SUBMENU(["Accessibility","Accessibility"], + ITEM.CHECKBOX(["AssistiveMML","Assistive MathML"], "assistiveMML", {action:MENU.AssistiveMML}), + ITEM.CHECKBOX(["InTabOrder","Include in Tab Order"], "inTabOrder") + ), + ITEM.SUBMENU(["Locale","Language"], {hidden:!CONFIG.showLocale, ltr:true}, + ITEM.RADIO("en", "locale", {action: MENU.Locale}), + ITEM.RULE().With({hidden:!CONFIG.showLocaleURL, name:["","localURL_rule"]}), + ITEM.COMMAND(["LoadLocale","Load from URL ..."], MENU.LoadLocale, {hidden:!CONFIG.showLocaleURL}) + ), + ITEM.RULE(), + ITEM.COMMAND(["About","About MathJax"],MENU.About), + ITEM.COMMAND(["Help","MathJax Help"],MENU.Help) + ); + + if (MENU.isMobile) { + (function () { + var settings = CONFIG.settings; + var trigger = MENU.menu.Find("Math Settings","Zoom Trigger").submenu; + trigger.items[0].disabled = trigger.items[1].disabled = true; + if (settings.zoom === "Hover" || settings.zoom == "Click") {settings.zoom = "None"} + trigger.items = trigger.items.slice(0,4); + + if (navigator.appVersion.match(/[ (]Android[) ]/)) { + MENU.ITEM.SUBMENU.Augment({marker: "\u00BB"}); + } + })(); + } + + MENU.CreateLocaleMenu(); + MENU.CreateAnnotationMenu(); + }); + + MENU.showRenderer = function (show) { + MENU.cookie.showRenderer = CONFIG.showRenderer = show; MENU.saveCookie(); + MENU.menu.Find("Math Settings","Math Renderer").hidden = !show; + }; + MENU.showMathPlayer = function (show) { + MENU.cookie.showMathPlayer = CONFIG.showMathPlayer = show; MENU.saveCookie(); + MENU.menu.Find("Math Settings","MathPlayer").hidden = !show; + }; + MENU.showFontMenu = function (show) { + MENU.cookie.showFontMenu = CONFIG.showFontMenu = show; MENU.saveCookie(); + MENU.menu.Find("Math Settings","Font Preference").hidden = !show; + }; + MENU.showContext = function (show) { + MENU.cookie.showContext = CONFIG.showContext = show; MENU.saveCookie(); + MENU.menu.Find("Math Settings","Contextual Menu").hidden = !show; + }; + MENU.showDiscoverable = function (show) { + MENU.cookie.showDiscoverable = CONFIG.showDiscoverable = show; MENU.saveCookie(); + MENU.menu.Find("Math Settings","Highlight on Hover").hidden = !show; + MENU.menu.Find("Math Settings","discover_rule").hidden = !show; + }; + MENU.showLocale = function (show) { + MENU.cookie.showLocale = CONFIG.showLocale = show; MENU.saveCookie(); + MENU.menu.Find("Language").hidden = !show; + }; + + MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + if (!MathJax.OutputJax["HTML-CSS"].config.imageFont) + {MENU.menu.Find("Math Settings","Font Preference","TeX (image)").disabled = true} + }); + + /*************************************************************/ + + CALLBACK.Queue( + HUB.Register.StartupHook("End Config",{}), // wait until config is complete + ["Styles",AJAX,CONFIG.styles], + ["Post",HUB.Startup.signal,"MathMenu Ready"], + ["loadComplete",AJAX,"[MathJax]/extensions/MathMenu.js"] + ); + +})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.CallBack,MathJax.OutputJax); diff --git a/src/py/kaleido/vendor/mathjax/extensions/MathZoom.js b/src/py/kaleido/vendor/mathjax/extensions/MathZoom.js new file mode 100644 index 00000000..fcce3df3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/MathZoom.js @@ -0,0 +1,366 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/MathZoom.js + * + * Implements the zoom feature for enlarging math expressions. It is + * loaded automatically when the Zoom menu selection changes from "None". + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML,AJAX,HTMLCSS,nMML) { + var VERSION = "2.7.5"; + + var CONFIG = HUB.CombineConfig("MathZoom",{ + styles: { + // + // The styles for the MathZoom display box + // + "#MathJax_Zoom": { + position:"absolute", "background-color":"#F0F0F0", overflow:"auto", + display:"block", "z-index":301, padding:".5em", border:"1px solid black", margin:0, + "font-weight":"normal", "font-style":"normal", + "text-align":"left", "text-indent":0, "text-transform":"none", + "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", + "word-wrap":"normal", "white-space":"nowrap", "float":"none", + "-webkit-box-sizing":"content-box", // Android ≤ 2.3, iOS ≤ 4 + "-moz-box-sizing":"content-box", // Firefox ≤ 28 + "box-sizing":"content-box", // Chrome, Firefox 29+, IE 8+, Opera, Safari 5.1 + "box-shadow":"5px 5px 15px #AAAAAA", // Opera 10.5 and IE9 + "-webkit-box-shadow":"5px 5px 15px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow":"5px 5px 15px #AAAAAA", // Forefox 3.5 + "-khtml-box-shadow":"5px 5px 15px #AAAAAA", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE + }, + + // + // The styles for the hidden overlay (should not need to be adjusted by the page author) + // + "#MathJax_ZoomOverlay": { + position:"absolute", left:0, top:0, "z-index":300, display:"inline-block", + width:"100%", height:"100%", border:0, padding:0, margin:0, + "background-color":"white", opacity:0, filter:"alpha(opacity=0)" + }, + + "#MathJax_ZoomFrame": { + position:"relative", display:"inline-block", + height:0, width:0 + }, + + "#MathJax_ZoomEventTrap": { + position:"absolute", left:0, top:0, "z-index":302, + display:"inline-block", border:0, padding:0, margin:0, + "background-color":"white", opacity:0, filter:"alpha(opacity=0)" + } + } + }); + + var FALSE, HOVER, EVENT; + MathJax.Hub.Register.StartupHook("MathEvents Ready",function () { + EVENT = MathJax.Extension.MathEvents.Event; + FALSE = MathJax.Extension.MathEvents.Event.False; + HOVER = MathJax.Extension.MathEvents.Hover; + }); + + /*************************************************************/ + + var ZOOM = MathJax.Extension.MathZoom = { + version: VERSION, + settings: HUB.config.menuSettings, + scrollSize: 18, // width of scrool bars + + // + // Process events passed from output jax + // + HandleEvent: function (event,type,math) { + if (ZOOM.settings.CTRL && !event.ctrlKey) return true; + if (ZOOM.settings.ALT && !event.altKey) return true; + if (ZOOM.settings.CMD && !event.metaKey) return true; + if (ZOOM.settings.Shift && !event.shiftKey) return true; + if (!ZOOM[type]) return true; + return ZOOM[type](event,math); + }, + + // + // Zoom on click + // + Click: function (event,math) { + if (this.settings.zoom === "Click") {return this.Zoom(event,math)} + }, + + // + // Zoom on double click + // + DblClick: function (event,math) { + if (this.settings.zoom === "Double-Click" || this.settings.zoom === "DoubleClick") {return this.Zoom(event,math)} + }, + + // + // Zoom on hover (called by MathEvents.Hover) + // + Hover: function (event,math) { + if (this.settings.zoom === "Hover") {this.Zoom(event,math); return true} + return false; + }, + + + // + // Handle the actual zooming + // + Zoom: function (event,math) { + // + // Remove any other zoom and clear timers + // + this.Remove(); HOVER.ClearHoverTimer(); EVENT.ClearSelection(); + + // + // Find the jax + // + var JAX = MathJax.OutputJax[math.jaxID]; + var jax = JAX.getJaxFromMath(math); + if (jax.hover) {HOVER.UnHover(jax)} + + // + // Create the DOM elements for the zoom box + // + var container = this.findContainer(math); + var Mw = Math.floor(.85*container.clientWidth), + Mh = Math.max(document.body.clientHeight,document.documentElement.clientHeight); + if (this.getOverflow(container) !== "visible") {Mh = Math.min(container.clientHeight,Mh)} + Mh = Math.floor(.85*Mh); + var div = HTML.Element( + "span",{id:"MathJax_ZoomFrame"},[ + ["span",{id:"MathJax_ZoomOverlay", onmousedown:this.Remove}], + ["span",{ + id:"MathJax_Zoom", onclick:this.Remove, + style:{visibility:"hidden", fontSize:this.settings.zscale} + },[["span",{style:{display:"inline-block", "white-space":"nowrap"}}]] + ]] + ); + var zoom = div.lastChild, span = zoom.firstChild, overlay = div.firstChild; + math.parentNode.insertBefore(div,math); math.parentNode.insertBefore(math,div); // put div after math + if (span.addEventListener) {span.addEventListener("mousedown",this.Remove,true)} + var eW = zoom.offsetWidth || zoom.clientWidth; Mw -= eW; Mh -= eW; + zoom.style.maxWidth = Mw+"px"; zoom.style.maxHeight = Mh+"px"; + + if (this.msieTrapEventBug) { + var trap = HTML.Element("span",{id:"MathJax_ZoomEventTrap", onmousedown:this.Remove}); + div.insertBefore(trap,zoom); + } + + // + // Display the zoomed math + // + if (this.msieZIndexBug) { + // MSIE doesn't do z-index properly, so move the div to the document.body, + // and use an image as a tracker for the usual position + var tracker = HTML.addElement(document.body,"img",{ + src:"about:blank", id:"MathJax_ZoomTracker", width:0, height:0, + style:{width:0, height:0, position:"relative"} + }); + div.style.position = "relative"; + div.style.zIndex = CONFIG.styles["#MathJax_ZoomOverlay"]["z-index"]; + div = tracker; + } + + var bbox = JAX.Zoom(jax,span,math,Mw,Mh); + + // + // Fix up size and position for browsers with bugs (IE) + // + if (this.msiePositionBug) { + if (this.msieSizeBug) + {zoom.style.height = bbox.zH+"px"; zoom.style.width = bbox.zW+"px"} // IE8 gets the dimensions completely wrong + if (zoom.offsetHeight > Mh) {zoom.style.height = Mh+"px"; zoom.style.width = (bbox.zW+this.scrollSize)+"px"} // IE doesn't do max-height? + if (zoom.offsetWidth > Mw) {zoom.style.width = Mw+"px"; zoom.style.height = (bbox.zH+this.scrollSize)+"px"} + } + if (this.operaPositionBug) {zoom.style.width = Math.min(Mw,bbox.zW)+"px"} // Opera gets width as 0? + if (zoom.offsetWidth > eW && zoom.offsetWidth-eW < Mw && zoom.offsetHeight-eW < Mh) + {zoom.style.overflow = "visible"} // don't show scroll bars if we don't need to + this.Position(zoom,bbox); + if (this.msieTrapEventBug) { + trap.style.height = zoom.clientHeight+"px"; trap.style.width = zoom.clientWidth+"px"; + trap.style.left = (parseFloat(zoom.style.left)+zoom.clientLeft)+"px"; + trap.style.top = (parseFloat(zoom.style.top)+zoom.clientTop)+"px"; + } + zoom.style.visibility = ""; + + // + // Add event handlers + // + if (this.settings.zoom === "Hover") {overlay.onmouseover = this.Remove} + if (window.addEventListener) {addEventListener("resize",this.Resize,false)} + else if (window.attachEvent) {attachEvent("onresize",this.Resize)} + else {this.onresize = window.onresize; window.onresize = this.Resize} + + // + // Let others know about the zoomed math + // + HUB.signal.Post(["math zoomed",jax]); + + // + // Canel further actions + // + return FALSE(event); + }, + + // + // Set the position of the zoom box and overlay + // + Position: function (zoom,bbox) { + zoom.style.display = "none"; // avoids getting excessive width in Resize() + var XY = this.Resize(), x = XY.x, y = XY.y, W = bbox.mW; + zoom.style.display = ""; + var dx = -W-Math.floor((zoom.offsetWidth-W)/2), dy = bbox.Y; + zoom.style.left = Math.max(dx,10-x)+"px"; zoom.style.top = Math.max(dy,10-y)+"px"; + if (!ZOOM.msiePositionBug) {ZOOM.SetWH()} // refigure overlay width/height + }, + + // + // Handle resizing of overlay while zoom is displayed + // + Resize: function (event) { + if (ZOOM.onresize) {ZOOM.onresize(event)} + var div = document.getElementById("MathJax_ZoomFrame"), + overlay = document.getElementById("MathJax_ZoomOverlay"); + var xy = ZOOM.getXY(div), obj = ZOOM.findContainer(div); + if (ZOOM.getOverflow(obj) !== "visible") { + overlay.scroll_parent = obj; // Save this for future reference. + var XY = ZOOM.getXY(obj); // Remove container position + xy.x -= XY.x; xy.y -= XY.y; + XY = ZOOM.getBorder(obj); // Remove container border + xy.x -= XY.x; xy.y -= XY.y; + } + overlay.style.left = (-xy.x)+"px"; overlay.style.top = (-xy.y)+"px"; + if (ZOOM.msiePositionBug) {setTimeout(ZOOM.SetWH,0)} else {ZOOM.SetWH()} + return xy; + }, + SetWH: function () { + var overlay = document.getElementById("MathJax_ZoomOverlay"); + if (!overlay) return; + overlay.style.display = "none"; // so scrollWidth/Height will be right below + var doc = overlay.scroll_parent || document.documentElement || document.body; + overlay.style.width = doc.scrollWidth + "px"; + overlay.style.height = Math.max(doc.clientHeight,doc.scrollHeight) + "px"; + overlay.style.display = ""; + }, + findContainer: function (obj) { + obj = obj.parentNode; + while (obj.parentNode && obj !== document.body && ZOOM.getOverflow(obj) === "visible") + {obj = obj.parentNode} + return obj; + }, + // + // Look up CSS properties (use getComputeStyle if available, or currentStyle if not) + // + getOverflow: (window.getComputedStyle ? + function (obj) {return getComputedStyle(obj).overflow} : + function (obj) {return (obj.currentStyle||{overflow:"visible"}).overflow}), + getBorder: function (obj) { + var size = {thin: 1, medium: 2, thick: 3}; + var style = (window.getComputedStyle ? getComputedStyle(obj) : + (obj.currentStyle || {borderLeftWidth:0,borderTopWidth:0})); + var x = style.borderLeftWidth, y = style.borderTopWidth; + if (size[x]) {x = size[x]} else {x = parseInt(x)} + if (size[y]) {y = size[y]} else {y = parseInt(y)} + return {x:x, y:y}; + }, + // + // Get the position of an element on the page + // + getXY: function (div) { + var x = 0, y = 0, obj; + obj = div; while (obj.offsetParent) {x += obj.offsetLeft; obj = obj.offsetParent} + if (ZOOM.operaPositionBug) {div.style.border = "1px solid"} // to get vertical position right + obj = div; while (obj.offsetParent) {y += obj.offsetTop; obj = obj.offsetParent} + if (ZOOM.operaPositionBug) {div.style.border = ""} + return {x:x, y:y}; + }, + + // + // Remove zoom display and event handlers + // + Remove: function (event) { + var div = document.getElementById("MathJax_ZoomFrame"); + if (div) { + var JAX = MathJax.OutputJax[div.previousSibling.jaxID]; + var jax = JAX.getJaxFromMath(div.previousSibling); + HUB.signal.Post(["math unzoomed",jax]); + div.parentNode.removeChild(div); + div = document.getElementById("MathJax_ZoomTracker"); + if (div) {div.parentNode.removeChild(div)} + if (ZOOM.operaRefreshBug) { + // force a redisplay of the page + // (Opera doesn't refresh properly after the zoom is removed) + var overlay = HTML.addElement(document.body,"div",{ + style:{position:"fixed", left:0, top:0, width:"100%", height:"100%", + backgroundColor:"white", opacity:0}, + id: "MathJax_OperaDiv" + }); + document.body.removeChild(overlay); + } + if (window.removeEventListener) {removeEventListener("resize",ZOOM.Resize,false)} + else if (window.detachEvent) {detachEvent("onresize",ZOOM.Resize)} + else {window.onresize = ZOOM.onresize; delete ZOOM.onresize} + } + return FALSE(event); + } + + }; + + + /*************************************************************/ + + HUB.Browser.Select({ + MSIE: function (browser) { + var mode = (document.documentMode || 0); + var isIE9 = (mode >= 9); + ZOOM.msiePositionBug = !isIE9; + ZOOM.msieSizeBug = browser.versionAtLeast("7.0") && + (!document.documentMode || mode === 7 || mode === 8); + ZOOM.msieZIndexBug = (mode <= 7); + ZOOM.msieInlineBlockAlignBug = (mode <= 7); + ZOOM.msieTrapEventBug = !window.addEventListener; + if (document.compatMode === "BackCompat") {ZOOM.scrollSize = 52} // don't know why this is so far off + if (isIE9) {delete CONFIG.styles["#MathJax_Zoom"].filter} + }, + + Opera: function (browser) { + ZOOM.operaPositionBug = true; + ZOOM.operaRefreshBug = true; + } + }); + + ZOOM.topImg = (ZOOM.msieInlineBlockAlignBug ? + HTML.Element("img",{style:{width:0,height:0,position:"relative"},src:"about:blank"}) : + HTML.Element("span",{style:{width:0,height:0,display:"inline-block"}}) + ); + if (ZOOM.operaPositionBug || ZOOM.msieTopBug) {ZOOM.topImg.style.border="1px solid"} + + /*************************************************************/ + + MathJax.Callback.Queue( + ["StartupHook",MathJax.Hub.Register,"Begin Styles",{}], + ["Styles",AJAX,CONFIG.styles], + ["Post",HUB.Startup.signal,"MathZoom Ready"], + ["loadComplete",AJAX,"[MathJax]/extensions/MathZoom.js"] + ); + +})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.OutputJax["HTML-CSS"],MathJax.OutputJax.NativeMML); diff --git a/src/py/kaleido/vendor/mathjax/extensions/Safe.js b/src/py/kaleido/vendor/mathjax/extensions/Safe.js new file mode 100644 index 00000000..e013aa20 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/Safe.js @@ -0,0 +1,428 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/Safe.js + * + * Implements a "Safe" mode that disables features that could be + * misused in a shared environment (such as href's to javascript URL's). + * See the CONFIG variable below for configuration options. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,AJAX) { + var VERSION = "2.7.5"; + + var CONFIG = MathJax.Hub.CombineConfig("Safe",{ + allow: { + // + // Values can be "all", "safe", or "none" + // + URLs: "safe", // safe are in safeProtocols below + classes: "safe", // safe start with MJX- + cssIDs: "safe", // safe start with MJX- + styles: "safe", // safe are in safeStyles below + fontsize: "all", // safe are between sizeMin and sizeMax em's + require: "safe" // safe are in safeRequire below + }, + sizeMin: .7, // \scriptsize + sizeMax: 1.44, // \large + lengthMax: 3, // largest padding/border/margin, etc. in em's + safeProtocols: { + http: true, + https: true, + file: true, + javascript: false + }, + safeStyles: { + color: true, + backgroundColor: true, + border: true, + cursor: true, + margin: true, + padding: true, + textShadow: true, + fontFamily: true, + fontSize: true, + fontStyle: true, + fontWeight: true, + opacity: true, + outline: true + }, + safeRequire: { + action: true, + amscd: true, + amsmath: true, + amssymbols: true, + autobold: false, + "autoload-all": false, + bbox: true, + begingroup: true, + boldsymbol: true, + cancel: true, + color: true, + enclose: true, + extpfeil: true, + HTML: true, + mathchoice: true, + mhchem: true, + newcommand: true, + noErrors: false, + noUndefined: false, + unicode: true, + verb: true + }, + // + // CSS styles that have Top/Right/Bottom/Left versions + // + styleParts: { + border: true, + padding: true, + margin: true, + outline: true + }, + // + // CSS styles that are lengths needing max/min testing + // A string value means test that style value; + // An array gives [min,max] in em's + // Otherwise use [-lengthMax,lengthMax] from above + // + styleLengths: { + borderTop: "borderTopWidth", + borderRight: "borderRightWidth", + borderBottom: "borderBottomWidth", + borderLeft: "borderLeftWidth", + paddingTop: true, + paddingRight: true, + paddingBottom: true, + paddingLeft: true, + marginTop: true, + marginRight: true, + marginBottom: true, + marginLeft: true, + outlineTop: true, + outlineRight: true, + outlineBottom: true, + outlineLeft: true, + fontSize: [.7,1.44] + } + }); + + var ALLOW = CONFIG.allow; + if (ALLOW.fontsize !== "all") {CONFIG.safeStyles.fontSize = false} + + var SAFE = MathJax.Extension.Safe = { + version: VERSION, + config: CONFIG, + div1: document.createElement("div"), // for CSS processing + div2: document.createElement("div"), + + // + // Methods called for MathML attribute processing + // + filter: { + href: "filterURL", + src: "filterURL", + altimg: "filterURL", + "class": "filterClass", + style: "filterStyles", + id: "filterID", + fontsize: "filterFontSize", + mathsize: "filterFontSize", + scriptminsize: "filterFontSize", + scriptsizemultiplier: "filterSizeMultiplier", + scriptlevel: "filterScriptLevel" + }, + + // + // Filter HREF URL's + // + filterURL: function (url) { + var protocol = (url.match(/^\s*([a-z]+):/i)||[null,""])[1].toLowerCase(); + if (ALLOW.URLs === "none" || + (ALLOW.URLs !== "all" && !CONFIG.safeProtocols[protocol])) {url = null} + return url; + }, + + // + // Filter class names and css ID's + // + filterClass: function (CLASS) { + if (ALLOW.classes === "none" || + (ALLOW.classes !== "all" && !CLASS.match(/^MJX-[-a-zA-Z0-9_.]+$/))) {CLASS = null} + return CLASS; + }, + filterID: function (id) { + if (ALLOW.cssIDs === "none" || + (ALLOW.cssIDs !== "all" && !id.match(/^MJX-[-a-zA-Z0-9_.]+$/))) {id = null} + return id; + }, + + // + // Filter style strings + // + filterStyles: function (styles) { + if (ALLOW.styles === "all") {return styles} + if (ALLOW.styles === "none") {return null} + try { + // + // Set the div1 styles to the given styles, and clear div2 + // + var STYLE1 = this.div1.style, STYLE2 = this.div2.style, value; + STYLE1.cssText = styles; STYLE2.cssText = ""; + // + // Check each allowed style and transfer OK ones to div2 + // If the style has Top/Right/Bottom/Left, look at all four separately + // + for (var name in CONFIG.safeStyles) {if (CONFIG.safeStyles.hasOwnProperty(name)) { + if (CONFIG.styleParts[name]) { + for (var i = 0; i < 4; i++) { + var NAME = name+["Top","Right","Bottom","Left"][i] + value = this.filterStyle(NAME,STYLE1); + if (value) {STYLE2[NAME] = value} + } + } else { + value = this.filterStyle(name,STYLE1); + if (value) {STYLE2[name] = value} + } + }} + // + // Return the div2 style string + // + styles = STYLE2.cssText; + } catch (e) {styles = null} + return styles; + }, + // + // Filter an individual name:value style pair + // + filterStyle: function (name,styles) { + var value = styles[name]; + if (typeof value !== "string" || value === "") {return null} + if (value.match(/^\s*expression/)) {return null} + if (value.match(/javascript:/)) {return null} + var NAME = name.replace(/Top|Right|Left|Bottom/,""); + if (!CONFIG.safeStyles[name] && !CONFIG.safeStyles[NAME]) {return null} + if (!CONFIG.styleLengths[name]) {return value} + return (this.filterStyleLength(name,value,styles) ? value : null); + }, + filterStyleLength: function (name,value,styles) { + if (typeof CONFIG.styleLengths[name] === "string") value = styles[CONFIG.styleLengths[name]]; + value = this.length2em(value); + if (value == null) return false; + var mM = [-CONFIG.lengthMax,CONFIG.lengthMax]; + if (MathJax.Object.isArray(CONFIG.styleLengths[name])) mM = CONFIG.styleLengths[name]; + return (value >= mM[0] && value <= mM[1]); + }, + // + // Conversion of units to em's + // + unit2em: { + em: 1, + ex: .5, // assume 1ex = .5em + ch: .5, // assume 1ch = .5em + rem: 1, // assume 1rem = 1em + px: 1/16, // assume 1em = 16px + mm: 96/25.4/16, // 25.4mm = 96px + cm: 96/2.54/16, // 2.54cm = 96px + 'in': 96/16, // 1in = 96px + pt: 96/72/16, // 72pt = 1in + pc: 96/6/16 // 1pc = 12pt + }, + length2em: function (value) { + var match = value.match(/(.+)(em|ex|ch|rem|px|mm|cm|in|pt|pc)/); + if (!match) return null; + return parseFloat(match[1])*this.unit2em[match[2]]; + }, + + // + // Filter TeX font size values (in em's) + // + filterSize: function (size) { + if (ALLOW.fontsize === "none") {return null} + if (ALLOW.fontsize !== "all") + {size = Math.min(Math.max(size,CONFIG.sizeMin),CONFIG.sizeMax)} + return size; + }, + filterFontSize: function (size) { + return (ALLOW.fontsize === "all" ? size: null); + }, + + // + // Filter scriptsizemultiplier + // + filterSizeMultiplier: function (size) { + if (ALLOW.fontsize === "none") {size = null} + else if (ALLOW.fontsize !== "all") {size = Math.min(1,Math.max(.6,size)).toString()} + return size; + }, + // + // Filter scriptLevel + // + filterScriptLevel: function (level) { + if (ALLOW.fontsize === "none") {level = null} + else if (ALLOW.fontsize !== "all") {level = Math.max(0,level).toString()} + return level; + }, + + // + // Filter TeX extension names + // + filterRequire: function (name) { + if (ALLOW.require === "none" || + (ALLOW.require !== "all" && !CONFIG.safeRequire[name.toLowerCase()])) + {name = null} + return name; + } + + }; + + HUB.Register.StartupHook("TeX HTML Ready",function () { + var TEX = MathJax.InputJax.TeX; + + TEX.Parse.Augment({ + + // + // Implements \href{url}{math} with URL filter + // + HREF_attribute: function (name) { + var url = SAFE.filterURL(this.GetArgument(name)), + arg = this.GetArgumentMML(name); + if (url) {arg.With({href:url})} + this.Push(arg); + }, + + // + // Implements \class{name}{math} with class-name filter + // + CLASS_attribute: function (name) { + var CLASS = SAFE.filterClass(this.GetArgument(name)), + arg = this.GetArgumentMML(name); + if (CLASS) { + if (arg["class"] != null) {CLASS = arg["class"] + " " + CLASS} + arg.With({"class":CLASS}); + } + this.Push(arg); + }, + + // + // Implements \style{style-string}{math} with style filter + // + STYLE_attribute: function (name) { + var style = SAFE.filterStyles(this.GetArgument(name)), + arg = this.GetArgumentMML(name); + if (style) { + if (arg.style != null) { + if (style.charAt(style.length-1) !== ";") {style += ";"} + style = arg.style + " " + style; + } + arg.With({style: style}); + } + this.Push(arg); + }, + + // + // Implements \cssId{id}{math} with ID filter + // + ID_attribute: function (name) { + var ID = SAFE.filterID(this.GetArgument(name)), + arg = this.GetArgumentMML(name); + if (ID) {arg.With({id:ID})} + this.Push(arg); + } + + }); + + }); + + HUB.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX, + PARSE = TEX.Parse, METHOD = SAFE.filter; + + PARSE.Augment({ + + // + // Implements \require{name} with filtering + // + Require: function (name) { + var file = this.GetArgument(name).replace(/.*\//,"").replace(/[^a-z0-9_.-]/ig,""); + file = SAFE.filterRequire(file); + if (file) {this.Extension(null,file)} + }, + + // + // Controls \mmlToken attributes + // + MmlFilterAttribute: function (name,value) { + if (METHOD[name]) {value = SAFE[METHOD[name]](value)} + return value; + }, + + // + // Handles font size macros with filtering + // + SetSize: function (name,size) { + size = SAFE.filterSize(size); + if (size) { + this.stack.env.size = size; + this.Push(TEX.Stack.Item.style().With({styles: {mathsize: size+"em"}})); + } + } + + }); + }); + + HUB.Register.StartupHook("TeX bbox Ready",function () { + var TEX = MathJax.InputJax.TeX; + + // + // Filter the styles for \bbox + // + TEX.Parse.Augment({ + BBoxStyle: function (styles) {return SAFE.filterStyles(styles)}, + BBoxPadding: function (pad) { + var styles = SAFE.filterStyles("padding: "+pad); + return (styles ? pad : 0); + } + }); + + }); + + HUB.Register.StartupHook("MathML Jax Ready",function () { + var PARSE = MathJax.InputJax.MathML.Parse, + METHOD = SAFE.filter; + + // + // Filter MathML attributes + // + PARSE.Augment({ + filterAttribute: function (name,value) { + if (METHOD[name]) {value = SAFE[METHOD[name]](value)} + return value; + } + }); + + }); + + // MathML input (href, style, fontsize, class, id) + + HUB.Startup.signal.Post("Safe Extension Ready"); + AJAX.loadComplete("[MathJax]/extensions/Safe.js"); + +})(MathJax.Hub,MathJax.Ajax); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/AMScd.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMScd.js new file mode 100644 index 00000000..625beb19 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMScd.js @@ -0,0 +1,158 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/AMScd.js + * + * Implements the CD environment for commutative diagrams. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/AMScd"] = { + version: "2.7.5", + config: MathJax.Hub.CombineConfig("TeX.CD",{ + colspace: "5pt", + rowspace: "5pt", + harrowsize: "2.75em", + varrowsize: "1.75em", + hideHorizontalLabels: false + }) +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var MML = MathJax.ElementJax.mml, + TEX = MathJax.InputJax.TeX, + STACKITEM = TEX.Stack.Item, + TEXDEF = TEX.Definitions, + CONFIG = MathJax.Extension["TeX/AMScd"].config; + + TEXDEF.environment.CD = "CD_env"; + TEXDEF.special["@"] = "CD_arrow"; + TEXDEF.macros.minCDarrowwidth = "CD_minwidth"; + TEXDEF.macros.minCDarrowheight = "CD_minheight"; + + TEX.Parse.Augment({ + // + // Implements \begin{CD}...\end{CD} + // + CD_env: function (begin) { + this.Push(begin); + return STACKITEM.array().With({ + arraydef: { + columnalign: "center", + columnspacing: CONFIG.colspace, + rowspacing: CONFIG.rowspace, + displaystyle: true + }, + minw: this.stack.env.CD_minw || CONFIG.harrowsize, + minh: this.stack.env.CD_minh || CONFIG.varrowsize + }); + }, + + CD_arrow: function (name) { + var c = this.string.charAt(this.i); + if (!c.match(/[>>> @<<< @VVV and @AAA, get the arrow and labels + // + var arrow = {">":"\u2192", "<":"\u2190", V:"\u2193", A:"\u2191"}[c]; + var a = this.GetUpTo(name+c,c), + b = this.GetUpTo(name+c,c); + + if (c === ">" || c === "<") { + // + // Lay out horizontal arrows with munderover if it has labels + // + mml = MML.mo(arrow).With(hdef); + if (!a) {a = "\\kern "+top.minw} // minsize needs work + if (a || b) { + var pad = {width:"+11mu", lspace:"6mu"}; + mml = MML.munderover(this.mmlToken(mml)); + if (a) { + a = TEX.Parse(a,this.stack.env).mml(); + mml.SetData(mml.over,MML.mpadded(a).With(pad).With({voffset:".1em"})); + } + if (b) { + b = TEX.Parse(b,this.stack.env).mml(); + mml.SetData(mml.under,MML.mpadded(b).With(pad)); + } + if (CONFIG.hideHorizontalLabels) + {mml = MML.mpadded(mml).With({depth:0, height:".67em"})} + } + } else { + // + // Lay out vertical arrows with mrow if there are labels + // + mml = arrow = this.mmlToken(MML.mo(arrow).With(vdef)); + if (a || b) { + mml = MML.mrow(); + if (a) {mml.Append(TEX.Parse("\\scriptstyle\\llap{"+a+"}",this.stack.env).mml())} + mml.Append(arrow.With({texClass: MML.TEXCLASS.ORD})); + if (b) {mml.Append(TEX.Parse("\\scriptstyle\\rlap{"+b+"}",this.stack.env).mml())} + } + } + } + if (mml) {this.Push(mml)}; + this.CD_cell(name); + }, + CD_cell: function (name) { + var top = this.stack.Top(); + if ((top.table||[]).length % 2 === 0 && (top.row||[]).length === 0) { + // + // Add a strut to the first cell in even rows to get + // better spacing of arrow rows. + // + this.Push(MML.mpadded().With({height:"8.5pt",depth:"2pt"})); + } + this.Push(STACKITEM.cell().With({isEntry:true, name:name})); + }, + + CD_minwidth: function (name) { + this.stack.env.CD_minw = this.GetDimen(name); + }, + CD_minheight: function (name) { + this.stack.env.CD_minh = this.GetDimen(name); + } + + }); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMScd.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSmath.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSmath.js new file mode 100644 index 00000000..f79a76b4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSmath.js @@ -0,0 +1,658 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/AMSmath.js + * + * Implements AMS math environments and macros. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/AMSmath"] = { + version: "2.7.5", + + number: 0, // current equation number + startNumber: 0, // current starting equation number (for when equation is restarted) + IDs: {}, // IDs used in previous equations + eqIDs: {}, // IDs used in this equation + labels: {}, // the set of labels + eqlabels: {}, // labels in the current equation + refs: [] // array of jax with unresolved references +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var MML = MathJax.ElementJax.mml, + TEX = MathJax.InputJax.TeX, + AMS = MathJax.Extension["TeX/AMSmath"]; + + var TEXDEF = TEX.Definitions, + STACKITEM = TEX.Stack.Item, + CONFIG = TEX.config.equationNumbers; + + var COLS = function (W) { + var WW = []; + for (var i = 0, m = W.length; i < m; i++) + {WW[i] = TEX.Parse.prototype.Em(W[i])} + return WW.join(" "); + }; + + // + // Get the URL of the page (for use with formatURL) when there + // is a element on the page. + // + var baseURL = (document.getElementsByTagName("base").length === 0) ? "" : + String(document.location).replace(/#.*$/,""); + + + /******************************************************************************/ + + TEXDEF.Add({ + mathchar0mo: { + iiiint: ['2A0C',{texClass: MML.TEXCLASS.OP}] + }, + + macros: { + mathring: ['Accent','2DA'], // or 0x30A + + nobreakspace: 'Tilde', + negmedspace: ['Spacer',MML.LENGTH.NEGATIVEMEDIUMMATHSPACE], + negthickspace: ['Spacer',MML.LENGTH.NEGATIVETHICKMATHSPACE], + +// intI: ['Macro','\\mathchoice{\\!}{}{}{}\\!\\!\\int'], +// iint: ['MultiIntegral','\\int\\intI'], // now in core TeX input jax +// iiint: ['MultiIntegral','\\int\\intI\\intI'], // now in core TeX input jax +// iiiint: ['MultiIntegral','\\int\\intI\\intI\\intI'], // now in mathchar0mo above + idotsint: ['MultiIntegral','\\int\\cdots\\int'], + +// dddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}}',1], +// ddddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}\\mathord{.}}',1], + dddot: ['Accent','20DB'], + ddddot: ['Accent','20DC'], + + sideset: ['Macro','\\mathop{\\mathop{\\rlap{\\phantom{#3}}}\\nolimits#1\\!\\mathop{#3}\\nolimits#2}',3], + + boxed: ['Macro','\\fbox{$\\displaystyle{#1}$}',1], + + tag: 'HandleTag', + notag: 'HandleNoTag', + label: 'HandleLabel', + ref: 'HandleRef', + eqref: ['HandleRef',true], + + substack: ['Macro','\\begin{subarray}{c}#1\\end{subarray}',1], + + injlim: ['NamedOp','inj lim'], + projlim: ['NamedOp','proj lim'], + varliminf: ['Macro','\\mathop{\\underline{\\mmlToken{mi}{lim}}}'], + varlimsup: ['Macro','\\mathop{\\overline{\\mmlToken{mi}{lim}}}'], + varinjlim: ['Macro','\\mathop{\\underrightarrow{\\mmlToken{mi}{lim}}}'], + varprojlim: ['Macro','\\mathop{\\underleftarrow{\\mmlToken{mi}{lim}}}'], + + DeclareMathOperator: 'HandleDeclareOp', + operatorname: 'HandleOperatorName', + SkipLimits: 'SkipLimits', + + genfrac: 'Genfrac', + frac: ['Genfrac',"","","",""], + tfrac: ['Genfrac',"","","",1], + dfrac: ['Genfrac',"","","",0], + binom: ['Genfrac',"(",")","0",""], + tbinom: ['Genfrac',"(",")","0",1], + dbinom: ['Genfrac',"(",")","0",0], + + cfrac: 'CFrac', + + shoveleft: ['HandleShove',MML.ALIGN.LEFT], + shoveright: ['HandleShove',MML.ALIGN.RIGHT], + + xrightarrow: ['xArrow',0x2192,5,6], + xleftarrow: ['xArrow',0x2190,7,3] + }, + + environment: { + align: ['AMSarray',null,true,true, 'rlrlrlrlrlrl',COLS([0,2,0,2,0,2,0,2,0,2,0])], + 'align*': ['AMSarray',null,false,true, 'rlrlrlrlrlrl',COLS([0,2,0,2,0,2,0,2,0,2,0])], + multline: ['Multline',null,true], + 'multline*': ['Multline',null,false], + split: ['AMSarray',null,false,false,'rl',COLS([0])], + gather: ['AMSarray',null,true,true, 'c'], + 'gather*': ['AMSarray',null,false,true, 'c'], + + alignat: ['AlignAt',null,true,true], + 'alignat*': ['AlignAt',null,false,true], + alignedat: ['AlignAt',null,false,false], + + aligned: ['AlignedAMSArray',null,null,null,'rlrlrlrlrlrl',COLS([0,2,0,2,0,2,0,2,0,2,0]),".5em",'D'], + gathered: ['AlignedAMSArray',null,null,null,'c',null,".5em",'D'], + + subarray: ['Array',null,null,null,null,COLS([0]),"0.1em",'S',1], + smallmatrix: ['Array',null,null,null,'c',COLS([1/3]),".2em",'S',1], + + 'equation': ['EquationBegin','Equation',true], + 'equation*': ['EquationBegin','EquationStar',false], + + eqnarray: ['AMSarray',null,true,true, 'rcl',"0 "+MML.LENGTH.THICKMATHSPACE,".5em"], + 'eqnarray*': ['AMSarray',null,false,true,'rcl',"0 "+MML.LENGTH.THICKMATHSPACE,".5em"] + }, + + delimiter: { + '\\lvert': ['007C',{texClass:MML.TEXCLASS.OPEN}], + '\\rvert': ['007C',{texClass:MML.TEXCLASS.CLOSE}], + '\\lVert': ['2016',{texClass:MML.TEXCLASS.OPEN}], + '\\rVert': ['2016',{texClass:MML.TEXCLASS.CLOSE}] + } + },null,true); + + + /******************************************************************************/ + + TEX.Parse.Augment({ + + /* + * Add the tag to the environment (to be added to the table row later) + */ + HandleTag: function (name) { + var star = this.GetStar(); + var arg = this.trimSpaces(this.GetArgument(name)), tag = arg; + if (!star) {arg = CONFIG.formatTag(arg)} + var global = this.stack.global; global.tagID = tag; + if (global.notags) { + TEX.Error(["CommandNotAllowedInEnv", + "%1 not allowed in %2 environment", + name,global.notags] + ); + } + if (global.tag) {TEX.Error(["MultipleCommand","Multiple %1",name])} + global.tag = MML.mtd.apply(MML,this.InternalMath(arg)).With({id:CONFIG.formatID(tag)}); + }, + HandleNoTag: function (name) { + if (this.stack.global.tag) {delete this.stack.global.tag} + this.stack.global.notag = true; // prevent auto-tagging + }, + + /* + * Record a label name for a tag + */ + HandleLabel: function (name) { + var global = this.stack.global, label = this.GetArgument(name); + if (label === "") return; + if (!AMS.refUpdate) { + if (global.label) {TEX.Error(["MultipleCommand","Multiple %1",name])} + global.label = label; + if (AMS.labels[label] || AMS.eqlabels[label]) + {TEX.Error(["MultipleLabel","Label '%1' multiply defined",label])} + AMS.eqlabels[label] = {tag:"???", id:""}; // will be replaced by tag value later + } + }, + + /* + * Handle a label reference + */ + HandleRef: function (name,eqref) { + var label = this.GetArgument(name); + var ref = AMS.labels[label] || AMS.eqlabels[label]; + if (!ref) {ref = {tag:"???",id:""}; AMS.badref = !AMS.refUpdate} + var tag = ref.tag; if (eqref) {tag = CONFIG.formatTag(tag)} + this.Push(MML.mrow.apply(MML,this.InternalMath(tag)).With({ + href:CONFIG.formatURL(ref.id,baseURL), "class":"MathJax_ref" + })); + }, + + /* + * Handle \DeclareMathOperator + */ + HandleDeclareOp: function (name) { + var limits = (this.GetStar() ? "" : "\\nolimits\\SkipLimits"); + var cs = this.trimSpaces(this.GetArgument(name)); + if (cs.charAt(0) == "\\") {cs = cs.substr(1)} + var op = this.GetArgument(name); + op = op.replace(/\*/g,'\\text{*}').replace(/-/g,'\\text{-}'); + this.setDef(cs, ['Macro', '\\mathop{\\rm '+op+'}'+limits]); + }, + + HandleOperatorName: function (name) { + var limits = (this.GetStar() ? "" : "\\nolimits\\SkipLimits"); + var op = this.trimSpaces(this.GetArgument(name)); + op = op.replace(/\*/g,'\\text{*}').replace(/-/g,'\\text{-}'); + this.string = '\\mathop{\\rm '+op+'}'+limits+" "+this.string.slice(this.i); + this.i = 0; + }, + + SkipLimits: function (name) { + var c = this.GetNext(), i = this.i; + if (c === "\\" && ++this.i && this.GetCS() !== "limits") this.i = i; + }, + + /* + * Record presence of \shoveleft and \shoveright + */ + HandleShove: function (name,shove) { + var top = this.stack.Top(); + if (top.type !== "multline") { + TEX.Error(["CommandInMultline", + "%1 can only appear within the multline environment",name]); + } + if (top.data.length) { + TEX.Error(["CommandAtTheBeginingOfLine", + "%1 must come at the beginning of the line",name]); + } + top.data.shove = shove; + }, + + /* + * Handle \cfrac + */ + CFrac: function (name) { + var lr = this.trimSpaces(this.GetBrackets(name,"")), + num = this.GetArgument(name), + den = this.GetArgument(name); + var frac = MML.mfrac(TEX.Parse('\\strut\\textstyle{'+num+'}',this.stack.env).mml(), + TEX.Parse('\\strut\\textstyle{'+den+'}',this.stack.env).mml()); + lr = ({l:MML.ALIGN.LEFT, r:MML.ALIGN.RIGHT,"":""})[lr]; + if (lr == null) + {TEX.Error(["IllegalAlign","Illegal alignment specified in %1",name])} + if (lr) {frac.numalign = frac.denomalign = lr} + this.Push(frac); + }, + + /* + * Implement AMS generalized fraction + */ + Genfrac: function (name,left,right,thick,style) { + if (left == null) {left = this.GetDelimiterArg(name)} + if (right == null) {right = this.GetDelimiterArg(name)} + if (thick == null) {thick = this.GetArgument(name)} + if (style == null) {style = this.trimSpaces(this.GetArgument(name))} + var num = this.ParseArg(name); + var den = this.ParseArg(name); + var frac = MML.mfrac(num,den); + if (thick !== "") {frac.linethickness = thick} + if (left || right) {frac = TEX.fixedFence(left,frac.With({texWithDelims:true}),right)} + if (style !== "") { + var STYLE = (["D","T","S","SS"])[style]; + if (STYLE == null) + {TEX.Error(["BadMathStyleFor","Bad math style for %1",name])} + frac = MML.mstyle(frac); + if (STYLE === "D") {frac.displaystyle = true; frac.scriptlevel = 0} + else {frac.displaystyle = false; frac.scriptlevel = style - 1} + } + this.Push(frac); + }, + + /* + * Implements multline environment (mostly handled through STACKITEM below) + */ + Multline: function (begin,numbered) { + this.Push(begin); this.checkEqnEnv(); + return STACKITEM.multline(numbered,this.stack).With({ + arraydef: { + displaystyle: true, + rowspacing: ".5em", + width: TEX.config.MultLineWidth, columnwidth:"100%", + side: TEX.config.TagSide, + minlabelspacing: TEX.config.TagIndent + } + }); + }, + + /* + * Handle AMS aligned environments + */ + AMSarray: function (begin,numbered,taggable,align,spacing) { + this.Push(begin); if (taggable) {this.checkEqnEnv()} + align = align.replace(/[^clr]/g,'').split('').join(' '); + align = align.replace(/l/g,'left').replace(/r/g,'right').replace(/c/g,'center'); + return STACKITEM.AMSarray(begin.name,numbered,taggable,this.stack).With({ + arraydef: { + displaystyle: true, + rowspacing: ".5em", + columnalign: align, + columnspacing: (spacing||"1em"), + rowspacing: "3pt", + side: TEX.config.TagSide, + minlabelspacing: TEX.config.TagIndent + } + }); + }, + + AlignedAMSArray: function (begin) { + var align = this.GetBrackets("\\begin{"+begin.name+"}"); + return this.setArrayAlign(this.AMSarray.apply(this,arguments),align); + }, + + /* + * Handle alignat environments + */ + AlignAt: function (begin,numbered,taggable) { + var n, valign, align = "", spacing = []; + if (!taggable) {valign = this.GetBrackets("\\begin{"+begin.name+"}")} + n = this.GetArgument("\\begin{"+begin.name+"}"); + if (n.match(/[^0-9]/)) { + TEX.Error(["PositiveIntegerArg","Argument to %1 must me a positive integer", + "\\begin{"+begin.name+"}"]); + } + while (n > 0) {align += "rl"; spacing.push("0em 0em"); n--} + spacing = spacing.join(" "); + if (taggable) {return this.AMSarray(begin,numbered,taggable,align,spacing)} + var array = this.AMSarray(begin,numbered,taggable,align,spacing); + return this.setArrayAlign(array,valign); + }, + + /* + * Handle equation environment + */ + EquationBegin: function (begin,force) { + this.checkEqnEnv(); + this.stack.global.forcetag = (force && CONFIG.autoNumber !== "none"); + return begin; + }, + EquationStar: function (begin,row) { + this.stack.global.tagged = true; // prevent automatic tagging + return row; + }, + + /* + * Check for bad nesting of equation environments + */ + checkEqnEnv: function () { + if (this.stack.global.eqnenv) + {TEX.Error(["ErroneousNestingEq","Erroneous nesting of equation structures"])} + this.stack.global.eqnenv = true; + }, + + /* + * Handle multiple integrals (make a mathop if followed by limits) + */ + MultiIntegral: function (name,integral) { + var next = this.GetNext(); + if (next === "\\") { + var i = this.i; next = this.GetArgument(name); this.i = i; + if (next === "\\limits") { + if (name === "\\idotsint") {integral = "\\!\\!\\mathop{\\,\\,"+integral+"}"} + else {integral = "\\!\\!\\!\\mathop{\\,\\,\\,"+integral+"}"} + } + } + this.string = integral + " " + this.string.slice(this.i); + this.i = 0; + }, + + /* + * Handle stretchable arrows + */ + xArrow: function (name,chr,l,r) { + var def = {width: "+"+(l+r)+"mu", lspace: l+"mu"}; + var bot = this.GetBrackets(name), + top = this.ParseArg(name); + var arrow = MML.mo(MML.chars(String.fromCharCode(chr))).With({ + stretchy: true, texClass: MML.TEXCLASS.REL + }); + var mml = MML.munderover(arrow); + mml.SetData(mml.over,MML.mpadded(top).With(def).With({voffset:".15em"})); + if (bot) { + bot = TEX.Parse(bot,this.stack.env).mml() + mml.SetData(mml.under,MML.mpadded(bot).With(def).With({voffset:"-.24em"})); + } + this.Push(mml.With({subsupOK:true})); + }, + + /* + * Get a delimiter or empty argument + */ + GetDelimiterArg: function (name) { + var c = this.trimSpaces(this.GetArgument(name)); + if (c == "") return null; + if (c in TEXDEF.delimiter) return c; + TEX.Error(["MissingOrUnrecognizedDelim","Missing or unrecognized delimiter for %1",name]); + }, + + /* + * Get a star following a control sequence name, if any + */ + GetStar: function () { + var star = (this.GetNext() === "*"); + if (star) {this.i++} + return star; + } + + }); + + /******************************************************************************/ + + STACKITEM.Augment({ + /* + * Increment equation number and form tag mtd element + */ + autoTag: function () { + var global = this.global; + if (!global.notag) { + AMS.number++; global.tagID = CONFIG.formatNumber(AMS.number.toString()); + var mml = TEX.Parse("\\text{"+CONFIG.formatTag(global.tagID)+"}",{}).mml(); + global.tag = MML.mtd(mml).With({id:CONFIG.formatID(global.tagID)}); + } + }, + + /* + * Get the tag and record the label, if any + */ + getTag: function () { + var global = this.global, tag = global.tag; global.tagged = true; + if (global.label) { + if (CONFIG.useLabelIds) {tag.id = CONFIG.formatID(global.label)} + AMS.eqlabels[global.label] = {tag:global.tagID, id:tag.id}; + } + // + // Check for repeated ID's (either in the document or as + // a previous tag) and find a unique related one. (#240) + // + if (document.getElementById(tag.id) || AMS.IDs[tag.id] || AMS.eqIDs[tag.id]) { + var i = 0, ID; + do {i++; ID = tag.id+"_"+i} + while (document.getElementById(ID) || AMS.IDs[ID] || AMS.eqIDs[ID]); + tag.id = ID; if (global.label) {AMS.eqlabels[global.label].id = ID} + } + AMS.eqIDs[tag.id] = 1; + this.clearTag(); + return tag; + }, + clearTag: function () { + var global = this.global; + delete global.tag; delete global.tagID; delete global.label; + }, + + /* + * If the initial child, skipping any initial space or + * empty braces (TeXAtom with child being an empty inferred row), + * is an , precede it by an empty to force the to + * be infix. + */ + fixInitialMO: function (data) { + for (var i = 0, m = data.length; i < m; i++) { + if (data[i] && (data[i].type !== "mspace" && + (data[i].type !== "texatom" || (data[i].data[0] && data[i].data[0].data.length)))) { + if (data[i].isEmbellished()) data.unshift(MML.mi()); + break; + } + } + } + }); + + /* + * Implement multline environment via a STACKITEM + */ + STACKITEM.multline = STACKITEM.array.Subclass({ + type: "multline", + Init: function (numbered,stack) { + this.SUPER(arguments).Init.apply(this); + this.numbered = (numbered && CONFIG.autoNumber !== "none"); + this.save = {notag: stack.global.notag}; + stack.global.tagged = !numbered && !stack.global.forcetag; // prevent automatic tagging in starred environments + }, + EndEntry: function () { + if (this.table.length) {this.fixInitialMO(this.data)} + var mtd = MML.mtd.apply(MML,this.data); + if (this.data.shove) {mtd.columnalign = this.data.shove} + this.row.push(mtd); + this.data = []; + }, + EndRow: function () { + if (this.row.length != 1) { + TEX.Error(["MultlineRowsOneCol", + "The rows within the %1 environment must have exactly one column", + "multline"]); + } + this.table.push(this.row); this.row = []; + }, + EndTable: function () { + this.SUPER(arguments).EndTable.call(this); + if (this.table.length) { + var m = this.table.length-1, i, label = -1; + if (!this.table[0][0].columnalign) {this.table[0][0].columnalign = MML.ALIGN.LEFT} + if (!this.table[m][0].columnalign) {this.table[m][0].columnalign = MML.ALIGN.RIGHT} + if (!this.global.tag && this.numbered) {this.autoTag()} + if (this.global.tag && !this.global.notags) { + label = (this.arraydef.side === "left" ? 0 : this.table.length - 1); + this.table[label] = [this.getTag()].concat(this.table[label]); + } + for (i = 0, m = this.table.length; i < m; i++) { + var mtr = (i === label ? MML.mlabeledtr : MML.mtr); + this.table[i] = mtr.apply(MML,this.table[i]); + } + } + this.global.notag = this.save.notag; + } + }); + + /* + * Save data about numbering and taging equations, and add + * tags at the ends of rows. + */ + STACKITEM.AMSarray = STACKITEM.array.Subclass({ + type: "AMSarray", + Init: function (name,numbered,taggable,stack) { + this.SUPER(arguments).Init.apply(this); + this.numbered = (numbered && CONFIG.autoNumber !== "none"); + this.save = {notags: stack.global.notags, notag: stack.global.notag}; + stack.global.notags = (taggable ? null : name); + stack.global.tagged = !numbered && !stack.global.forcetag; // prevent automatic tagging in starred environments + }, + EndEntry: function () { + if (this.row.length % 2 === 1) {this.fixInitialMO(this.data)} + this.row.push(MML.mtd.apply(MML,this.data)); + this.data = []; + }, + EndRow: function () { + var mtr = MML.mtr; + if (!this.global.tag && this.numbered) {this.autoTag()} + if (this.global.tag && !this.global.notags) { + this.row = [this.getTag()].concat(this.row); + mtr = MML.mlabeledtr; + } else {this.clearTag()} + if (this.numbered) {delete this.global.notag} + this.table.push(mtr.apply(MML,this.row)); this.row = []; + }, + EndTable: function () { + this.SUPER(arguments).EndTable.call(this); + this.global.notags = this.save.notags; + this.global.notag = this.save.notag; + } + }); + + // + // Look for \tag on a formula and make an mtable to include it + // + STACKITEM.start.Augment({ + oldCheckItem: STACKITEM.start.prototype.checkItem, + checkItem: function (item) { + if (item.type === "stop") { + var mml = this.mmlData(), global = this.global; + if (AMS.display && !global.tag && !global.tagged && !global.isInner && + (CONFIG.autoNumber === "all" || global.forcetag)) {this.autoTag()} + if (global.tag) { + var row = [this.getTag(),MML.mtd(mml)]; + var def = { + side: TEX.config.TagSide, + minlabelspacing: TEX.config.TagIndent, + displaystyle: "inherit" // replaced by TeX input jax Translate() function with actual value + }; + mml = MML.mtable(MML.mlabeledtr.apply(MML,row)).With(def); + } + return STACKITEM.mml(mml); + } + return this.oldCheckItem.call(this,item); + } + }); + + /******************************************************************************/ + + /* + * Add pre- and post-filters to handle the equation number maintenance. + */ + TEX.prefilterHooks.Add(function (data) { + AMS.display = data.display; + AMS.number = AMS.startNumber; // reset equation numbers (in case the equation restarted) + AMS.eqlabels = {}; + AMS.eqIDs = {}; + AMS.badref = false; + if (AMS.refUpdate) {AMS.number = data.script.MathJax.startNumber} + }); + TEX.postfilterHooks.Add(function (data) { + data.script.MathJax.startNumber = AMS.startNumber; + AMS.startNumber = AMS.number; // equation numbers for next equation + MathJax.Hub.Insert(AMS.IDs,AMS.eqIDs); // save IDs from this equation + MathJax.Hub.Insert(AMS.labels,AMS.eqlabels); // save labels from this equation + if (AMS.badref && !data.math.texError) {AMS.refs.push(data.script)} // reprocess later + },100); + + MathJax.Hub.Register.MessageHook("Begin Math Input",function () { + AMS.refs = []; // array of jax with bad references + AMS.refUpdate = false; + }); + MathJax.Hub.Register.MessageHook("End Math Input",function (message) { + if (AMS.refs.length) { + AMS.refUpdate = true; + for (var i = 0, m = AMS.refs.length; i < m; i++) + {AMS.refs[i].MathJax.state = MathJax.ElementJax.STATE.UPDATE} + return MathJax.Hub.processInput({ + scripts:AMS.refs, + start: new Date().getTime(), + i:0, j:0, jax:{}, jaxIDs:[] + }); + } + return null; + }); + + // + // Clear the equation numbers and labels + // + TEX.resetEquationNumbers = function (n,keepLabels) { + AMS.startNumber = (n || 0); + if (!keepLabels) { + AMS.labels = {}; + AMS.IDs = {}; + } + } + + /******************************************************************************/ + + MathJax.Hub.Startup.signal.Post("TeX AMSmath Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMSmath.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSsymbols.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSsymbols.js new file mode 100644 index 00000000..74b3e62b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/AMSsymbols.js @@ -0,0 +1,349 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/AMSsymbols.js + * + * Implements macros for accessing the AMS symbol fonts. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/AMSsymbols"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var MML = MathJax.ElementJax.mml, + TEXDEF = MathJax.InputJax.TeX.Definitions; + + TEXDEF.Add({ + + mathchar0mi: { + // Lowercase Greek letters + digamma: '03DD', + varkappa: '03F0', + + // Uppercase Greek letters + varGamma: ['0393',{mathvariant: MML.VARIANT.ITALIC}], + varDelta: ['0394',{mathvariant: MML.VARIANT.ITALIC}], + varTheta: ['0398',{mathvariant: MML.VARIANT.ITALIC}], + varLambda: ['039B',{mathvariant: MML.VARIANT.ITALIC}], + varXi: ['039E',{mathvariant: MML.VARIANT.ITALIC}], + varPi: ['03A0',{mathvariant: MML.VARIANT.ITALIC}], + varSigma: ['03A3',{mathvariant: MML.VARIANT.ITALIC}], + varUpsilon: ['03A5',{mathvariant: MML.VARIANT.ITALIC}], + varPhi: ['03A6',{mathvariant: MML.VARIANT.ITALIC}], + varPsi: ['03A8',{mathvariant: MML.VARIANT.ITALIC}], + varOmega: ['03A9',{mathvariant: MML.VARIANT.ITALIC}], + + // Hebrew letters + beth: '2136', + gimel: '2137', + daleth: '2138', + + // Miscellaneous symbols +// hbar: '0127', // in TeX/jax.js + backprime: ['2035',{variantForm: true}], + hslash: '210F', + varnothing: ['2205',{variantForm: true}], + blacktriangle: '25B4', + triangledown: ['25BD',{variantForm: true}], + blacktriangledown: '25BE', + square: '25FB', + Box: '25FB', + blacksquare: '25FC', + lozenge: '25CA', + Diamond: '25CA', + blacklozenge: '29EB', + circledS: ['24C8',{mathvariant: MML.VARIANT.NORMAL}], + bigstar: '2605', +// angle: '2220', // in TeX/jax.js + sphericalangle: '2222', + measuredangle: '2221', + nexists: '2204', + complement: '2201', + mho: '2127', + eth: ['00F0',{mathvariant: MML.VARIANT.NORMAL}], + Finv: '2132', + diagup: '2571', + Game: '2141', + diagdown: '2572', + Bbbk: ['006B',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + + yen: '00A5', + circledR: '00AE', + checkmark: '2713', + maltese: '2720' + }, + + mathchar0mo: { + // Binary operators + dotplus: '2214', + ltimes: '22C9', + smallsetminus: '2216', + rtimes: '22CA', + Cap: '22D2', + doublecap: '22D2', + leftthreetimes: '22CB', + Cup: '22D3', + doublecup: '22D3', + rightthreetimes: '22CC', + barwedge: '22BC', + curlywedge: '22CF', + veebar: '22BB', + curlyvee: '22CE', + doublebarwedge: '2A5E', + boxminus: '229F', + circleddash: '229D', + boxtimes: '22A0', + circledast: '229B', + boxdot: '22A1', + circledcirc: '229A', + boxplus: '229E', + centerdot: ['22C5',{variantForm: true}], + divideontimes: '22C7', + intercal: '22BA', + + // Binary relations + leqq: '2266', + geqq: '2267', + leqslant: '2A7D', + geqslant: '2A7E', + eqslantless: '2A95', + eqslantgtr: '2A96', + lesssim: '2272', + gtrsim: '2273', + lessapprox: '2A85', + gtrapprox: '2A86', + approxeq: '224A', + lessdot: '22D6', + gtrdot: '22D7', + lll: '22D8', + llless: '22D8', + ggg: '22D9', + gggtr: '22D9', + lessgtr: '2276', + gtrless: '2277', + lesseqgtr: '22DA', + gtreqless: '22DB', + lesseqqgtr: '2A8B', + gtreqqless: '2A8C', + doteqdot: '2251', + Doteq: '2251', + eqcirc: '2256', + risingdotseq: '2253', + circeq: '2257', + fallingdotseq: '2252', + triangleq: '225C', + backsim: '223D', + thicksim: ['223C',{variantForm: true}], + backsimeq: '22CD', + thickapprox: ['2248',{variantForm: true}], + subseteqq: '2AC5', + supseteqq: '2AC6', + Subset: '22D0', + Supset: '22D1', + sqsubset: '228F', + sqsupset: '2290', + preccurlyeq: '227C', + succcurlyeq: '227D', + curlyeqprec: '22DE', + curlyeqsucc: '22DF', + precsim: '227E', + succsim: '227F', + precapprox: '2AB7', + succapprox: '2AB8', + vartriangleleft: '22B2', + lhd: '22B2', + vartriangleright: '22B3', + rhd: '22B3', + trianglelefteq: '22B4', + unlhd: '22B4', + trianglerighteq: '22B5', + unrhd: '22B5', + vDash: '22A8', + Vdash: '22A9', + Vvdash: '22AA', + smallsmile: ['2323',{variantForm: true}], + shortmid: ['2223',{variantForm: true}], + smallfrown: ['2322',{variantForm: true}], + shortparallel: ['2225',{variantForm: true}], + bumpeq: '224F', + between: '226C', + Bumpeq: '224E', + pitchfork: '22D4', + varpropto: '221D', + backepsilon: '220D', + blacktriangleleft: '25C2', + blacktriangleright: '25B8', + therefore: '2234', + because: '2235', + eqsim: '2242', + vartriangle: ['25B3',{variantForm: true}], + Join: '22C8', + + // Negated relations + nless: '226E', + ngtr: '226F', + nleq: '2270', + ngeq: '2271', + nleqslant: ['2A87',{variantForm: true}], + ngeqslant: ['2A88',{variantForm: true}], + nleqq: ['2270',{variantForm: true}], + ngeqq: ['2271',{variantForm: true}], + lneq: '2A87', + gneq: '2A88', + lneqq: '2268', + gneqq: '2269', + lvertneqq: ['2268',{variantForm: true}], + gvertneqq: ['2269',{variantForm: true}], + lnsim: '22E6', + gnsim: '22E7', + lnapprox: '2A89', + gnapprox: '2A8A', + nprec: '2280', + nsucc: '2281', + npreceq: ['22E0',{variantForm: true}], + nsucceq: ['22E1',{variantForm: true}], + precneqq: '2AB5', + succneqq: '2AB6', + precnsim: '22E8', + succnsim: '22E9', + precnapprox: '2AB9', + succnapprox: '2ABA', + nsim: '2241', + ncong: '2246', + nshortmid: ['2224',{variantForm: true}], + nshortparallel: ['2226',{variantForm: true}], + nmid: '2224', + nparallel: '2226', + nvdash: '22AC', + nvDash: '22AD', + nVdash: '22AE', + nVDash: '22AF', + ntriangleleft: '22EA', + ntriangleright: '22EB', + ntrianglelefteq: '22EC', + ntrianglerighteq: '22ED', + nsubseteq: '2288', + nsupseteq: '2289', + nsubseteqq: ['2288',{variantForm: true}], + nsupseteqq: ['2289',{variantForm: true}], + subsetneq: '228A', + supsetneq: '228B', + varsubsetneq: ['228A',{variantForm: true}], + varsupsetneq: ['228B',{variantForm: true}], + subsetneqq: '2ACB', + supsetneqq: '2ACC', + varsubsetneqq: ['2ACB',{variantForm: true}], + varsupsetneqq: ['2ACC',{variantForm: true}], + + + // Arrows + leftleftarrows: '21C7', + rightrightarrows: '21C9', + leftrightarrows: '21C6', + rightleftarrows: '21C4', + Lleftarrow: '21DA', + Rrightarrow: '21DB', + twoheadleftarrow: '219E', + twoheadrightarrow: '21A0', + leftarrowtail: '21A2', + rightarrowtail: '21A3', + looparrowleft: '21AB', + looparrowright: '21AC', + leftrightharpoons: '21CB', + rightleftharpoons: ['21CC',{variantForm: true}], + curvearrowleft: '21B6', + curvearrowright: '21B7', + circlearrowleft: '21BA', + circlearrowright: '21BB', + Lsh: '21B0', + Rsh: '21B1', + upuparrows: '21C8', + downdownarrows: '21CA', + upharpoonleft: '21BF', + upharpoonright: '21BE', + downharpoonleft: '21C3', + restriction: '21BE', + multimap: '22B8', + downharpoonright: '21C2', + leftrightsquigarrow: '21AD', + rightsquigarrow: '21DD', + leadsto: '21DD', + dashrightarrow: '21E2', + dashleftarrow: '21E0', + + // Negated arrows + nleftarrow: '219A', + nrightarrow: '219B', + nLeftarrow: '21CD', + nRightarrow: '21CF', + nleftrightarrow: '21AE', + nLeftrightarrow: '21CE' + }, + + delimiter: { + // corners + "\\ulcorner": '231C', + "\\urcorner": '231D', + "\\llcorner": '231E', + "\\lrcorner": '231F' + }, + + macros: { + implies: ['Macro','\\;\\Longrightarrow\\;'], + impliedby: ['Macro','\\;\\Longleftarrow\\;'] + } + + },null,true); + + var REL = MML.mo.OPTYPES.REL; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u2322': REL, // smallfrown + '\u2323': REL, // smallsmile + '\u25B3': REL, // vartriangle + '\uE006': REL, // nshortmid + '\uE007': REL, // nshortparallel + '\uE00C': REL, // lvertneqq + '\uE00D': REL, // gvertneqq + '\uE00E': REL, // ngeqq + '\uE00F': REL, // ngeqslant + '\uE010': REL, // nleqslant + '\uE011': REL, // nleqq + '\uE016': REL, // nsubseteqq + '\uE017': REL, // varsubsetneqq + '\uE018': REL, // nsupseteqq + '\uE019': REL, // varsupsetneqq + '\uE01A': REL, // varsubsetneq + '\uE01B': REL, // varsupsetneq + '\uE04B': REL, // npreceq + '\uE04F': REL // nsucceq + } + } + }); + + MathJax.Hub.Startup.signal.Post("TeX AMSsymbols Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMSsymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/HTML.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/HTML.js new file mode 100644 index 00000000..c947dd9d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/HTML.js @@ -0,0 +1,106 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/HTML.js + * + * Implements the \href, \class, \style, \cssId macros. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/HTML"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + TEXDEF.Add({ + macros: { + href: 'HREF_attribute', + "class": 'CLASS_attribute', + style: 'STYLE_attribute', + cssId: 'ID_attribute' + } + },null,true); + + TEX.Parse.Augment({ + + // + // Implements \href{url}{math} + // + HREF_attribute: function (name) { + var url = this.GetArgument(name), + arg = this.GetArgumentMML(name); + this.Push(arg.With({href:url})); + }, + + // + // Implements \class{name}{math} + // + CLASS_attribute: function (name) { + var CLASS = this.GetArgument(name), + arg = this.GetArgumentMML(name); + if (arg["class"] != null) {CLASS = arg["class"] + " " + CLASS} + this.Push(arg.With({"class":CLASS})); + }, + + // + // Implements \style{style-string}{math} + // + STYLE_attribute: function (name) { + var style = this.GetArgument(name), + arg = this.GetArgumentMML(name); + // check that it looks like a style string + if (arg.style != null) { + if (style.charAt(style.length-1) !== ";") {style += ";"} + style = arg.style + " " + style; + } + this.Push(arg.With({style: style})); + }, + + // + // Implements \cssId{id}{math} + // + ID_attribute: function (name) { + var ID = this.GetArgument(name), + arg = this.GetArgumentMML(name); + this.Push(arg.With({id:ID})); + }, + + // + // returns an argument that is a single MathML element + // (in an mrow if necessary) + // + GetArgumentMML: function (name) { + var arg = this.ParseArg(name); + if (arg.inferred && arg.data.length == 1) + {arg = arg.data[0]} else {delete arg.inferred} + return arg; + } + + }); + + MathJax.Hub.Startup.signal.Post("TeX HTML Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/HTML.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/action.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/action.js new file mode 100644 index 00000000..a551dd39 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/action.js @@ -0,0 +1,83 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/action.js + * + * Implements the \mathtip, \texttip, and \toggle macros, which give + * access from TeX to the tag in the MathML that underlies + * MathJax's internal format. + * + * Usage: + * + * \mathtip{math}{tip} % use "tip" (in math mode) as tooltip for "math" + * \texttip{math}{tip} % use "tip" (in text mode) as tooltip for "math" + * \toggle{math1}{math2}...\endtoggle + * % show math1, and when clicked, show math2, and so on. + * % When the last one is clicked, go back to math1. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/action"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX, + MML = MathJax.ElementJax.mml; + + // + // Set up control sequenecs + // + TEX.Definitions.Add({ + macros: { + toggle: 'Toggle', + mathtip: 'Mathtip', + texttip: ['Macro','\\mathtip{#1}{\\text{#2}}',2] + } + },null,true); + + TEX.Parse.Augment({ + + // + // Implement \toggle {math1} {math2} ... \endtoggle + // (as an ) + // + Toggle: function (name) { + var data = [], arg; + while ((arg = this.GetArgument(name)) !== "\\endtoggle") + {data.push(TEX.Parse(arg,this.stack.env).mml())} + this.Push(MML.maction.apply(MML,data).With({actiontype: MML.ACTIONTYPE.TOGGLE})); + }, + + // + // Implement \mathtip{math}{tip} + // (an an ) + // + Mathtip: function(name) { + var arg = this.ParseArg(name), tip = this.ParseArg(name); + this.Push(MML.maction(arg,tip).With({actiontype: MML.ACTIONTYPE.TOOLTIP})); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX action Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/action.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/autobold.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/autobold.js new file mode 100644 index 00000000..6ad42ff5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/autobold.js @@ -0,0 +1,50 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/autobold.js + * + * Adds \boldsymbol around mathematics that appears in a section + * of an HTML page that is in bold. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/autobold"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX; + + TEX.prefilterHooks.Add(function (data) { + var span = data.script.parentNode.insertBefore(document.createElement("span"),data.script); + span.visibility = "hidden"; + span.style.fontFamily = "Times, serif"; + span.appendChild(document.createTextNode("ABCXYZabcxyz")); + var W = span.offsetWidth; + span.style.fontWeight = "bold"; + if (W && span.offsetWidth === W) {data.math = "\\boldsymbol{"+data.math+"}"} + span.parentNode.removeChild(span); + }); + + MathJax.Hub.Startup.signal.Post("TeX autobold Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/autobold.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/autoload-all.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/autoload-all.js new file mode 100644 index 00000000..e5ed2e50 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/autoload-all.js @@ -0,0 +1,83 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/autoload-all.js + * + * Provides pre-defined macros to autoload all the extensions + * so that all macros that MathJax knows about are available. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/autoload-all"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var EXTENSIONS = { + action: ["mathtip","texttip","toggle"], + AMSmath: ["mathring","nobreakspace","negmedspace","negthickspace","intI", + "iiiint","idotsint","dddot","ddddot","sideset","boxed", + "substack","injlim","projlim","varliminf","varlimsup", + "varinjlim","varprojlim","DeclareMathOperator","operatorname", + "genfrac","tfrac","dfrac","binom","tbinom","dbinom","cfrac", + "shoveleft","shoveright","xrightarrow","xleftarrow"], + begingroup: ["begingroup","endgroup","gdef","global"], + cancel: ["cancel","bcancel","xcancel","cancelto"], + color: ["color","textcolor","colorbox","fcolorbox","definecolor"], + enclose: ["enclose"], + extpfeil: ["Newextarrow","xlongequal","xmapsto","xtofrom", + "xtwoheadleftarrow","xtwoheadrightarrow"], + mhchem: ["ce","cee","cf"] + }; + + var ENVIRONMENTS = { + AMSmath: ["subarray","smallmatrix","equation","equation*"], + AMScd: ["CD"] + }; + + var name, i, m, defs = {macros:{}, environment:{}}; + + for (name in EXTENSIONS) {if (EXTENSIONS.hasOwnProperty(name)) { + if (!MathJax.Extension["TeX/"+name]) { + var macros = EXTENSIONS[name]; + for (i = 0, m = macros.length; i < m; i++) + {defs.macros[macros[i]] = ["Extension",name]} + } + }} + + for (name in ENVIRONMENTS) {if (ENVIRONMENTS.hasOwnProperty(name)) { + if (!MathJax.Extension["TeX/"+name]) { + var envs = ENVIRONMENTS[name]; + for (i = 0, m = envs.length; i < m; i++) + {defs.environment[envs[i]] = ["ExtensionEnv",null,name]} + } + }} + + MathJax.InputJax.TeX.Definitions.Add(defs); + + MathJax.Hub.Startup.signal.Post("TeX autoload-all Ready"); + +}); + +MathJax.Callback.Queue( + ["Require",MathJax.Ajax,"[MathJax]/extensions/TeX/AMSsymbols.js"], + ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/TeX/autoload-all.js"] +); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/bbox.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/bbox.js new file mode 100644 index 00000000..86894601 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/bbox.js @@ -0,0 +1,102 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/bbox.js + * + * This file implements the \bbox macro, which creates an box that + * can be styled (for background colors, and so on). You can include + * an optional dimension that tells how much extra padding to include + * around the bounding box for the mathematics, or a color specification + * for the background color to use, or both. E.g., + * + * \bbox[2pt]{x+y} % an invisible box around x+y with 2pt of extra space + * \bbox[green]{x+y} % a green box around x+y + * \bbox[green,2pt]{x+y} % a green box with 2pt of extra space + * + * You can also specify style attributes, for example + * + * \bbox[red,border:3px solid blue,5px]{x+y} + * + * would give a red background with a 3px solid blue border that has 5px + * of padding between the border and the mathematics. Note that not all + * output formats support the style specifications. In particular, the + * NativeMML output depends on the browser to render the attributes, and + * not all MathML renderers will honor them (e.g., MathPlayer2 doesn't + * render border styles). + * + * This file will be loaded automatically when \bbox is first used. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/bbox"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX, + MML = MathJax.ElementJax.mml; + + TEX.Definitions.Add({macros: {bbox: "BBox"}},null,true); + + TEX.Parse.Augment({ + BBox: function (name) { + var bbox = this.GetBrackets(name,""), + math = this.ParseArg(name); + var parts = bbox.split(/,/), def, background, style; + for (var i = 0, m = parts.length; i < m; i++) { + var part = parts[i].replace(/^\s+/,'').replace(/\s+$/,''); + var match = part.match(/^(\.\d+|\d+(\.\d*)?)(pt|em|ex|mu|px|in|cm|mm)$/); + if (match) { + if (def) + {TEX.Error(["MultipleBBoxProperty","%1 specified twice in %2","Padding",name])} + var pad = this.BBoxPadding(match[1]+match[3]); + if (pad) def = {height:"+"+pad, depth:"+"+pad, lspace:pad, width:"+"+(2*match[1])+match[3]}; + } else if (part.match(/^([a-z0-9]+|\#[0-9a-f]{6}|\#[0-9a-f]{3})$/i)) { + if (background) + {TEX.Error(["MultipleBBoxProperty","%1 specified twice in %2","Background",name])} + background = part; + } else if (part.match(/^[-a-z]+:/i)) { + if (style) + {TEX.Error(["MultipleBBoxProperty","%1 specified twice in %2", "Style",name])} + style = this.BBoxStyle(part); + } else if (part !== "") { + TEX.Error( + ["InvalidBBoxProperty", + "'%1' doesn't look like a color, a padding dimension, or a style", + part] + ); + } + } + if (def) {math = MML.mpadded(math).With(def)} + if (background || style) { + math = MML.mstyle(math).With({mathbackground:background, style:style}); + } + this.Push(math); + }, + BBoxStyle: function (styles) {return styles}, + BBoxPadding: function (pad) {return pad} + }); + + MathJax.Hub.Startup.signal.Post("TeX bbox Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/bbox.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/begingroup.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/begingroup.js new file mode 100644 index 00000000..3600d2c9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/begingroup.js @@ -0,0 +1,292 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/begingroup.js + * + * Implements \begingroup and \endgroup commands that make local + * definitions possible and are removed when the \endgroup occurs. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/begingroup"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX, + TEXDEF = TEX.Definitions; + + /****************************************************/ + + // + // A namespace for localizing macros and environments + // (\begingroup and \endgroup create and destroy these) + // + var NSFRAME = MathJax.Object.Subclass({ + macros: null, // the local macro definitions + environments: null, // the local environments + Init: function (macros,environments) { + this.macros = (macros || {}); + this.environments = (environments || {}); + }, + // + // Find a macro or environment by name + // + Find: function (name,type) {if (this[type].hasOwnProperty(name)) {return this[type][name]}}, + // + // Define or remove a macro or environment + // + Def: function (name,value,type) {this[type][name] = value}, + Undef: function (name,type) {delete this[type][name]}, + // + // Merge two namespaces (used when the equation namespace is combined with the root one) + // + Merge: function (frame) { + MathJax.Hub.Insert(this.macros,frame.macros); + MathJax.Hub.Insert(this.environments,frame.environments); + }, + // + // Move global macros to the stack (globally) and remove from the frame + // + MergeGlobals: function (stack) { + var macros = this.macros; + for (var cs in macros) {if (macros.hasOwnProperty(cs) && macros[cs].global) { + stack.Def(cs,macros[cs],"macros",true); + delete macros[cs].global; delete macros[cs]; + }} + }, + // + // Clear the macro and environment lists + // (but not global macros unless "all" is true) + // + Clear: function (all) { + this.environments = {}; + if (all) {this.macros = {}} else { + var macros = this.macros; + for (var cs in macros) { + if (macros.hasOwnProperty(cs) && !macros[cs].global) {delete macros[cs]} + } + } + return this; + } + }); + + /****************************************************/ + + // + // A Stack of namespace frames + // + var NSSTACK = TEX.nsStack = MathJax.Object.Subclass({ + stack: null, // the namespace frames + top: 0, // the current top one (we don't pop for real until the equation completes) + isEqn: false, // true if this is the equation stack (not the global one) + // + // Set up the initial stack frame + // + Init: function (eqn) { + this.isEqn = eqn; this.stack = []; + if (!eqn) {this.Push(NSFRAME(TEXDEF.macros,TEXDEF.environment))} + else {this.Push(NSFRAME())} + }, + // + // Define a macro or environment in the top frame + // + Def: function (name,value,type,global) { + var n = this.top-1; + if (global) { + // + // Define global macros in the base frame and remove that cs + // from all other frames. Mark the global ones in equations + // so they can be made global when merged with the root stack. + // + while (n > 0) {this.stack[n].Undef(name,type); n--} + if (!MathJax.Object.isArray(value)) {value = [value]} + if (this.isEqn) {value.global = true} + } + this.stack[n].Def(name,value,type); + }, + // + // Push a new namespace frame on the stack + // + Push: function (frame) { + this.stack.push(frame); + this.top = this.stack.length; + }, + // + // Pop the top stack frame + // (if it is the root, just keep track of the pop so we can + // reset it if the equation is reprocessed) + // + Pop: function () { + var top; + if (this.top > 1) { + top = this.stack[--this.top]; + if (this.isEqn) {this.stack.pop()} + } else if (this.isEqn) { + this.Clear(); + } + return top; + }, + // + // Search the stack from top to bottom for the first + // definition of the given control sequence in the given type + // + Find: function (name,type) { + for (var i = this.top-1; i >= 0; i--) { + var def = this.stack[i].Find(name,type); + if (def) {return def} + } + return null; + }, + // + // Combine the equation stack with the global one + // (The bottom frame of the equation goes with the top frame of the global one, + // and the remainder are pushed on the global stack, truncated to the + // position where items were poped from it.) + // + Merge: function (stack) { + stack.stack[0].MergeGlobals(this); + this.stack[this.top-1].Merge(stack.stack[0]); + var data = [this.top,this.stack.length-this.top].concat(stack.stack.slice(1)); + this.stack.splice.apply(this.stack,data); + this.top = this.stack.length; + }, + // + // Put back the temporarily poped items + // + Reset: function () {this.top = this.stack.length}, + // + // Clear the stack and start with a blank frame + // + Clear: function (all) { + this.stack = [this.stack[0].Clear()]; + this.top = this.stack.length; + } + },{ + nsFrame: NSFRAME + }); + + /****************************************************/ + + // + // Define the new macros + // + TEXDEF.Add({ + macros: { + begingroup: "BeginGroup", + endgroup: "EndGroup", + global: "Global", + gdef: ["Macro","\\global\\def"] + } + },null,true); + + TEX.Parse.Augment({ + // + // Implement \begingroup + // + BeginGroup: function (name) { + TEX.eqnStack.Push(NSFRAME()); + }, + // + // Implements \endgroup + // + EndGroup: function (name) { + // + // If the equation has pushed frames, pop one, + // Otherwise clear the equation stack and pop the top global one + // + if (TEX.eqnStack.top > 1) { + TEX.eqnStack.Pop(); + } else if (TEX.rootStack.top === 1) { + TEX.Error(["ExtraEndMissingBegin","Extra %1 or missing \\begingroup",name]); + } else { + TEX.eqnStack.Clear(); + TEX.rootStack.Pop(); + } + }, + + // + // Replace the original routines with ones that looks through the + // equation and root stacks for the given name + // + csFindMacro: function (name) { + return (TEX.eqnStack.Find(name,"macros") || TEX.rootStack.Find(name,"macros")); + }, + envFindName: function (name) { + return (TEX.eqnStack.Find(name,"environments") || TEX.rootStack.Find(name,"environments")); + }, + + // + // Modify the way macros and environments are defined + // to make them go into the equation namespace stack + // + setDef: function (name,value) { + value.isUser = true; + TEX.eqnStack.Def(name,value,"macros",this.stack.env.isGlobal); + delete this.stack.env.isGlobal; + }, + setEnv: function (name,value) { + value.isUser = true; + TEX.eqnStack.Def(name,value,"environments") + }, + + // + // Implement \global (for \global\let, \global\def and \global\newcommand) + // + Global: function (name) { + var i = this.i; var cs = this.GetCSname(name); this.i = i; + if (cs !== "let" && cs !== "def" && cs !== "newcommand" && + cs !== "DeclareMathOperator" && cs !== "Newextarrow") { + TEX.Error(["GlobalNotFollowedBy", + "%1 not followed by \\let, \\def, or \\newcommand",name]); + } + this.stack.env.isGlobal = true; + } + }); + + /****************************************************/ + + TEX.rootStack = NSSTACK(); // the global namespace stack + TEX.eqnStack = NSSTACK(true); // the equation stack + + // + // Reset the global stack and clear the equation stack + // (this gets us back to the initial stack state as it was + // before the equation was first processed, in case the equation + // get restarted due to an autoloaded file) + // + TEX.prefilterHooks.Add(function () {TEX.rootStack.Reset(); TEX.eqnStack.Clear(true)}); + + // + // We only get here if there were no errors and the equation is fully + // processed (all restarts are complete). So we merge the equation + // stack into the global stack, thus making the changes from this + // equation permanent. + // + TEX.postfilterHooks.Add(function () {TEX.rootStack.Merge(TEX.eqnStack)}); + + /*********************************************************/ + + MathJax.Hub.Startup.signal.Post("TeX begingroup Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/begingroup.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/boldsymbol.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/boldsymbol.js new file mode 100644 index 00000000..8b0aeebf --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/boldsymbol.js @@ -0,0 +1,75 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/boldsymbol.js + * + * Implements the \boldsymbol{...} command to make bold + * versions of all math characters (not just variables). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/boldsymbol"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var MML = MathJax.ElementJax.mml; + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + var BOLDVARIANT = {}; + BOLDVARIANT[MML.VARIANT.NORMAL] = MML.VARIANT.BOLD; + BOLDVARIANT[MML.VARIANT.ITALIC] = MML.VARIANT.BOLDITALIC; + BOLDVARIANT[MML.VARIANT.FRAKTUR] = MML.VARIANT.BOLDFRAKTUR; + BOLDVARIANT[MML.VARIANT.SCRIPT] = MML.VARIANT.BOLDSCRIPT; + BOLDVARIANT[MML.VARIANT.SANSSERIF] = MML.VARIANT.BOLDSANSSERIF; + BOLDVARIANT["-tex-caligraphic"] = "-tex-caligraphic-bold"; + BOLDVARIANT["-tex-oldstyle"] = "-tex-oldstyle-bold"; + + TEXDEF.Add({macros: {boldsymbol: 'Boldsymbol'}},null,true); + + TEX.Parse.Augment({ + mmlToken: function (token) { + if (this.stack.env.boldsymbol) { + var variant = token.Get("mathvariant"); + if (variant == null) {token.mathvariant = MML.VARIANT.BOLD} + else {token.mathvariant = (BOLDVARIANT[variant]||variant)} + } + return token; + }, + + Boldsymbol: function (name) { + var boldsymbol = this.stack.env.boldsymbol, + font = this.stack.env.font; + this.stack.env.boldsymbol = true; + this.stack.env.font = null; + var mml = this.ParseArg(name); + this.stack.env.font = font; + this.stack.env.boldsymbol = boldsymbol; + this.Push(mml); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX boldsymbol Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/boldsymbol.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/cancel.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/cancel.js new file mode 100644 index 00000000..c42c6e35 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/cancel.js @@ -0,0 +1,110 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/cancel.js + * + * Implements the \cancel, \bcancel, \xcancel, and \cancelto macros. + * + * Usage: + * + * \cancel{math} % strikeout math from lower left to upper right + * \bcancel{math} % strikeout from upper left to lower right + * \xcancel{math} % strikeout with an X + * \cancelto{value}{math} % strikeout with arrow going to value + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/cancel"] = { + version: "2.7.5", + + // + // The attributes allowed in \enclose{notation}[attributes]{math} + // + ALLOWED: { + color: 1, mathcolor: 1, + background: 1, mathbackground: 1, + padding: 1, + thickness: 1 + } +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX, + MML = MathJax.ElementJax.mml, + CANCEL = MathJax.Extension["TeX/cancel"]; + + CANCEL.setAttributes = function (def,attr) { + if (attr !== "") { + attr = attr.replace(/ /g,"").split(/,/); + for (var i = 0, m = attr.length; i < m; i++) { + var keyvalue = attr[i].split(/[:=]/); + if (CANCEL.ALLOWED[keyvalue[0]]) { + if (keyvalue[1] === "true") {keyvalue[1] = true} + if (keyvalue[1] === "false") {keyvalue[1] = false} + def[keyvalue[0]] = keyvalue[1]; + } + } + } + return def; + }; + + // + // Set up macros + // + TEX.Definitions.Add({ + macros: { + cancel: ['Cancel',MML.NOTATION.UPDIAGONALSTRIKE], + bcancel: ['Cancel',MML.NOTATION.DOWNDIAGONALSTRIKE], + xcancel: ['Cancel',MML.NOTATION.UPDIAGONALSTRIKE+" "+MML.NOTATION.DOWNDIAGONALSTRIKE], + cancelto: 'CancelTo' + } + },null,true); + + TEX.Parse.Augment({ + // + // Implement \cancel[attributes]{math}, + // \bcancel[attributes]{math}, and + // \xcancel[attributes]{math} + // + Cancel: function(name,notation) { + var attr = this.GetBrackets(name,""), math = this.ParseArg(name); + var def = CANCEL.setAttributes({notation: notation},attr); + this.Push(MML.menclose(math).With(def)); + }, + + // + // Implement \cancelto{value}[attributes]{math} + // + CancelTo: function(name,notation) { + var value = this.ParseArg(name), + attr = this.GetBrackets(name,""), + math = this.ParseArg(name); + var def = CANCEL.setAttributes({notation: MML.NOTATION.UPDIAGONALSTRIKE+" "+MML.NOTATION.UPDIAGONALARROW},attr); + value = MML.mpadded(value).With({depth:"-.1em",height:"+.1em",voffset:".1em"}); + this.Push(MML.msup(MML.menclose(math).With(def),value)); + } + + }); + + MathJax.Hub.Startup.signal.Post("TeX cancel Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/cancel.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/color.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/color.js new file mode 100644 index 00000000..816ce52e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/color.js @@ -0,0 +1,281 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/color.js + * + * Implements LaTeX-compatible \color macro rather than MathJax's original + * (non-standard) version. It includes the rgb, RGB, gray, and named color + * models, and the \textcolor, \definecolor, \colorbox, and \fcolorbox + * macros. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +// +// The configuration defaults, augmented by the user settings +// +MathJax.Extension["TeX/color"] = { + version: "2.7.5", + + config: MathJax.Hub.CombineConfig("TeX.color",{ + padding: "5px", + border: "2px" + }), + + colors: { + Apricot: "#FBB982", + Aquamarine: "#00B5BE", + Bittersweet: "#C04F17", + Black: "#221E1F", + Blue: "#2D2F92", + BlueGreen: "#00B3B8", + BlueViolet: "#473992", + BrickRed: "#B6321C", + Brown: "#792500", + BurntOrange: "#F7921D", + CadetBlue: "#74729A", + CarnationPink: "#F282B4", + Cerulean: "#00A2E3", + CornflowerBlue: "#41B0E4", + Cyan: "#00AEEF", + Dandelion: "#FDBC42", + DarkOrchid: "#A4538A", + Emerald: "#00A99D", + ForestGreen: "#009B55", + Fuchsia: "#8C368C", + Goldenrod: "#FFDF42", + Gray: "#949698", + Green: "#00A64F", + GreenYellow: "#DFE674", + JungleGreen: "#00A99A", + Lavender: "#F49EC4", + LimeGreen: "#8DC73E", + Magenta: "#EC008C", + Mahogany: "#A9341F", + Maroon: "#AF3235", + Melon: "#F89E7B", + MidnightBlue: "#006795", + Mulberry: "#A93C93", + NavyBlue: "#006EB8", + OliveGreen: "#3C8031", + Orange: "#F58137", + OrangeRed: "#ED135A", + Orchid: "#AF72B0", + Peach: "#F7965A", + Periwinkle: "#7977B8", + PineGreen: "#008B72", + Plum: "#92268F", + ProcessBlue: "#00B0F0", + Purple: "#99479B", + RawSienna: "#974006", + Red: "#ED1B23", + RedOrange: "#F26035", + RedViolet: "#A1246B", + Rhodamine: "#EF559F", + RoyalBlue: "#0071BC", + RoyalPurple: "#613F99", + RubineRed: "#ED017D", + Salmon: "#F69289", + SeaGreen: "#3FBC9D", + Sepia: "#671800", + SkyBlue: "#46C5DD", + SpringGreen: "#C6DC67", + Tan: "#DA9D76", + TealBlue: "#00AEB3", + Thistle: "#D883B7", + Turquoise: "#00B4CE", + Violet: "#58429B", + VioletRed: "#EF58A0", + White: "#FFFFFF", + WildStrawberry: "#EE2967", + Yellow: "#FFF200", + YellowGreen: "#98CC70", + YellowOrange: "#FAA21A" + }, + + /* + * Look up a color based on its model and definition + */ + getColor: function (model,def) { + if (!model) {model = "named"} + var fn = this["get_"+model]; + if (!fn) {this.TEX.Error(["UndefinedColorModel","Color model '%1' not defined",model])} + return fn.call(this,def); + }, + + /* + * Get an rgb color + */ + get_rgb: function (rgb) { + rgb = rgb.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s*,\s*/); var RGB = "#"; + if (rgb.length !== 3) + {this.TEX.Error(["ModelArg1","Color values for the %1 model require 3 numbers","rgb"])} + for (var i = 0; i < 3; i++) { + if (!rgb[i].match(/^(\d+(\.\d*)?|\.\d+)$/)) + {this.TEX.Error(["InvalidDecimalNumber","Invalid decimal number"])} + var n = parseFloat(rgb[i]); + if (n < 0 || n > 1) { + this.TEX.Error(["ModelArg2", + "Color values for the %1 model must be between %2 and %3", + "rgb",0,1]); + } + n = Math.floor(n*255).toString(16); if (n.length < 2) {n = "0"+n} + RGB += n; + } + return RGB; + }, + + /* + * Get an RGB color + */ + get_RGB: function (rgb) { + rgb = rgb.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s*,\s*/); var RGB = "#"; + if (rgb.length !== 3) + {this.TEX.Error(["ModelArg1","Color values for the %1 model require 3 numbers","RGB"])} + for (var i = 0; i < 3; i++) { + if (!rgb[i].match(/^\d+$/)) + {this.TEX.Error(["InvalidNumber","Invalid number"])} + var n = parseInt(rgb[i]); + if (n > 255) { + this.TEX.Error(["ModelArg2", + "Color values for the %1 model must be between %2 and %3", + "RGB",0,255]); + } + n = n.toString(16); if (n.length < 2) {n = "0"+n} + RGB += n; + } + return RGB; + }, + + /* + * Get a gray-scale value + */ + get_gray: function (gray) { + if (!gray.match(/^\s*(\d+(\.\d*)?|\.\d+)\s*$/)) + {this.TEX.Error(["InvalidDecimalNumber","Invalid decimal number"])} + var n = parseFloat(gray); + if (n < 0 || n > 1) { + this.TEX.Error(["ModelArg2", + "Color values for the %1 model must be between %2 and %3", + "gray",0,1]); + } + n = Math.floor(n*255).toString(16); if (n.length < 2) {n = "0"+n} + return "#"+n+n+n; + }, + + /* + * Get a named value + */ + get_named: function (name) { + if (this.colors.hasOwnProperty(name)) {return this.colors[name]} + return name; + }, + + padding: function () { + var pad = "+"+this.config.padding; + var unit = this.config.padding.replace(/^.*?([a-z]*)$/,"$1"); + var pad2 = "+"+(2*parseFloat(pad))+unit; + return {width:pad2, height:pad, depth:pad, lspace:this.config.padding}; + } + +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX, + MML = MathJax.ElementJax.mml; + var STACKITEM = TEX.Stack.Item; + var COLOR = MathJax.Extension["TeX/color"]; + + COLOR.TEX = TEX; // for reference in getColor above + + TEX.Definitions.Add({ + macros: { + color: "Color", + textcolor: "TextColor", + definecolor: "DefineColor", + colorbox: "ColorBox", + fcolorbox: "fColorBox" + } + },null,true); + + TEX.Parse.Augment({ + + // + // Override \color macro definition + // + Color: function (name) { + var model = this.GetBrackets(name), + color = this.GetArgument(name); + color = COLOR.getColor(model,color); + var mml = STACKITEM.style().With({styles:{mathcolor:color}}); + this.stack.env.color = color; + this.Push(mml); + }, + + TextColor: function (name) { + var model = this.GetBrackets(name), + color = this.GetArgument(name); + color = COLOR.getColor(model,color); + var old = this.stack.env.color; this.stack.env.color = color; + var math = this.ParseArg(name); + if (old) {this.stack.env.color} else {delete this.stack.env.color} + this.Push(MML.mstyle(math).With({mathcolor: color})); + }, + + // + // Define the \definecolor macro + // + DefineColor: function (name) { + var cname = this.GetArgument(name), + model = this.GetArgument(name), + def = this.GetArgument(name); + COLOR.colors[cname] = COLOR.getColor(model,def); + }, + + // + // Produce a text box with a colored background + // + ColorBox: function (name) { + var cname = this.GetArgument(name), + arg = this.InternalMath(this.GetArgument(name)); + this.Push(MML.mpadded.apply(MML,arg).With({ + mathbackground:COLOR.getColor("named",cname) + }).With(COLOR.padding())); + }, + + // + // Procude a framed text box with a colored background + // + fColorBox: function (name) { + var fname = this.GetArgument(name), + cname = this.GetArgument(name), + arg = this.InternalMath(this.GetArgument(name)); + this.Push(MML.mpadded.apply(MML,arg).With({ + mathbackground: COLOR.getColor("named",cname), + style: "border: "+COLOR.config.border+" solid "+COLOR.getColor("named",fname) + }).With(COLOR.padding())); + } + + }); + + MathJax.Hub.Startup.signal.Post("TeX color Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/color.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/enclose.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/enclose.js new file mode 100644 index 00000000..ef1440fb --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/enclose.js @@ -0,0 +1,91 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/enclose.js + * + * Implements the \enclose macros, which give access from TeX to the + * tag in the MathML that underlies MathJax's internal format. + * + * Usage: + * + * \enclose{notation}{math} % enclose math using given notation + * \enclose{notation,notation,...}{math} % enclose with several notations + * \enclose{notation}[attributes]{math} % enclose with attributes + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/enclose"] = { + version: "2.7.5", + + // + // The attributes allowed in \enclose{notation}[attributes]{math} + // + ALLOWED: { + arrow: 1, + color: 1, mathcolor: 1, + background: 1, mathbackground: 1, + padding: 1, + thickness: 1 + } +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX, + MML = MathJax.ElementJax.mml, + ALLOW = MathJax.Extension["TeX/enclose"].ALLOWED; + + // + // Set up macro + // + TEX.Definitions.Add({macros: {enclose: 'Enclose'}},null,true); + + TEX.Parse.Augment({ + // + // Implement \enclose{notation}[attr]{math} + // (create math) + // + Enclose: function(name) { + var notation = this.GetArgument(name), + attr = this.GetBrackets(name), + math = this.ParseArg(name); + var def = {notation: notation.replace(/,/g," ")}; + if (attr) { + attr = attr.replace(/ /g,"").split(/,/); + for (var i = 0, m = attr.length; i < m; i++) { + var keyvalue = attr[i].split(/[:=]/); + if (ALLOW[keyvalue[0]]) { + keyvalue[1] = keyvalue[1].replace(/^"(.*)"$/,"$1"); + if (keyvalue[1] === "true") {keyvalue[1] = true} + if (keyvalue[1] === "false") {keyvalue[1] = false} + if (keyvalue[0] === "arrow" && keyvalue[1]) + {def.notation = def.notation + " updiagonalarrow"} else + {def[keyvalue[0]] = keyvalue[1]} + } + } + } + this.Push(MML.menclose(math).With(def)); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX enclose Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/enclose.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/extpfeil.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/extpfeil.js new file mode 100644 index 00000000..804b59e9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/extpfeil.js @@ -0,0 +1,102 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/extpfeil.js + * + * Implements additional stretchy arrow macros. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/extpfeil"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX, + TEXDEF = TEX.Definitions; + + // + // Define the arrows to load the AMSmath extension + // (since they need its xArrow method) + // + TEXDEF.Add({ + macros: { + xtwoheadrightarrow: ['Extension','AMSmath'], + xtwoheadleftarrow: ['Extension','AMSmath'], + xmapsto: ['Extension','AMSmath'], + xlongequal: ['Extension','AMSmath'], + xtofrom: ['Extension','AMSmath'], + Newextarrow: ['Extension','AMSmath'] + } + },null,true); + + // + // Redefine the macros when AMSmath is loaded + // + MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () { + MathJax.Hub.Insert(TEXDEF,{ + macros: { + xtwoheadrightarrow: ['xArrow',0x21A0,12,16], + xtwoheadleftarrow: ['xArrow',0x219E,17,13], + xmapsto: ['xArrow',0x21A6,6,7], + xlongequal: ['xArrow',0x003D,7,7], + xtofrom: ['xArrow',0x21C4,12,12], + Newextarrow: 'NewExtArrow' + } + }); + }); + + // + // Implements \Newextarrow to define a new arrow (not compatible with \newextarrow, but + // the equivalent for MathJax) + // + TEX.Parse.Augment({ + NewExtArrow: function (name) { + var cs = this.GetArgument(name), + space = this.GetArgument(name), + chr = this.GetArgument(name); + if (!cs.match(/^\\([a-z]+|.)$/i)) { + TEX.Error(["NewextarrowArg1", + "First argument to %1 must be a control sequence name",name]); + } + if (!space.match(/^(\d+),(\d+)$/)) { + TEX.Error( + ["NewextarrowArg2", + "Second argument to %1 must be two integers separated by a comma", + name] + ); + } + if (!chr.match(/^(\d+|0x[0-9A-F]+)$/i)) { + TEX.Error( + ["NewextarrowArg3", + "Third argument to %1 must be a unicode character number", + name] + ); + } + cs = cs.substr(1); space = space.split(","); chr = parseInt(chr); + this.setDef(cs, ['xArrow', chr, parseInt(space[0]), parseInt(space[1])]); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX extpfeil Ready"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/extpfeil.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/mathchoice.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mathchoice.js new file mode 100644 index 00000000..44937702 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/mathchoice.js @@ -0,0 +1,107 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/mathchoice.js + * + * Implements the \mathchoice macro (rarely used) + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "2.7.5"; + + var MML = MathJax.ElementJax.mml; + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + TEXDEF.Add({macros: {mathchoice: 'MathChoice'}},null,true); + + TEX.Parse.Augment({ + MathChoice: function (name) { + var D = this.ParseArg(name), + T = this.ParseArg(name), + S = this.ParseArg(name), + SS = this.ParseArg(name); + this.Push(MML.TeXmathchoice(D,T,S,SS)); + } + }); + + MML.TeXmathchoice = MML.mbase.Subclass({ + type: "TeXmathchoice", notParent: true, + choice: function () { + if (this.selection != null) return this.selection; + if (this.choosing) return 2; // prevent infinite loops: see issue #1151 + this.choosing = true; + var selection = 0, values = this.getValues("displaystyle","scriptlevel"); + if (values.scriptlevel > 0) {selection = Math.min(3,values.scriptlevel+1)} + else {selection = (values.displaystyle ? 0 : 1)} + // only cache the result if we are actually in place in a tag. + var node = this.inherit; while (node && node.type !== "math") node = node.inherit; + if (node) this.selection = selection; + this.choosing = false; + return selection; + }, + selected: function () {return this.data[this.choice()]}, + setTeXclass: function (prev) {return this.selected().setTeXclass(prev)}, + isSpacelike: function () {return this.selected().isSpacelike()}, + isEmbellished: function () {return this.selected().isEmbellished()}, + Core: function () {return this.selected()}, + CoreMO: function () {return this.selected().CoreMO()}, + toHTML: function (span) { + span = this.HTMLcreateSpan(span); + span.bbox = this.Core().toHTML(span).bbox; + // Firefox doesn't correctly handle a span with a negatively sized content, + // so move marginLeft to main span (this is a hack to get \iiiint to work). + // FIXME: This is a symptom of a more general problem with Firefox, and + // there probably needs to be a more general solution (e.g., modifying + // HTMLhandleSpace() to get the width and adjust the right margin to + // compensate for negative-width contents) + if (span.firstChild && span.firstChild.style.marginLeft) { + span.style.marginLeft = span.firstChild.style.marginLeft; + span.firstChild.style.marginLeft = ""; + } + return span; + }, + toSVG: function () { + var svg = this.Core().toSVG(); + this.SVGsaveData(svg); + return svg; + }, + toCommonHTML: function (node) { + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleColor(node); + this.CHTMLaddChild(node,this.choice(),{}); + return node; + }, + toPreviewHTML: function(span) { + span = this.PHTMLcreateSpan(span); + this.PHTMLhandleStyle(span); + this.PHTMLhandleColor(span); + this.PHTMLaddChild(span,this.choice(),{}); + return span; + } + }); + + MathJax.Hub.Startup.signal.Post("TeX mathchoice Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mathchoice.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/mediawiki-texvc.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mediawiki-texvc.js new file mode 100644 index 00000000..228090ca --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/mediawiki-texvc.js @@ -0,0 +1,137 @@ +/************************************************************* + * + * MathJax/extensions/TeX/mediawiki-texvc.js + * + * Implements macros used by mediawiki with their texvc preprocessor. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/mediawiki-texvc"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () { + MathJax.InputJax.TeX.Definitions.Add({ + macros: { + AA: ["Macro", "\u00c5"], + alef: ["Macro", "\\aleph"], + alefsym: ["Macro", "\\aleph"], + Alpha: ["Macro", "\\mathrm{A}"], + and: ["Macro", "\\land"], + ang: ["Macro", "\\angle"], + Bbb: ["Macro", "\\mathbb"], + Beta: ["Macro", "\\mathrm{B}"], + bold: ["Macro", "\\mathbf"], + bull: ["Macro", "\\bullet"], + C: ["Macro", "\\mathbb{C}"], + Chi: ["Macro", "\\mathrm{X}"], + clubs: ["Macro", "\\clubsuit"], + cnums: ["Macro", "\\mathbb{C}"], + Complex: ["Macro", "\\mathbb{C}"], + coppa: ["Macro", "\u03D9"], + Coppa: ["Macro", "\u03D8"], + Dagger: ["Macro", "\\ddagger"], + Digamma: ["Macro", "\u03DC"], + darr: ["Macro", "\\downarrow"], + dArr: ["Macro", "\\Downarrow"], + Darr: ["Macro", "\\Downarrow"], + dashint: ["Macro", "\\unicodeInt{x2A0D}"], + ddashint: ["Macro", "\\unicodeInt{x2A0E}"], + diamonds: ["Macro", "\\diamondsuit"], + empty: ["Macro", "\\emptyset"], + Epsilon: ["Macro", "\\mathrm{E}"], + Eta: ["Macro", "\\mathrm{H}"], + euro: ["Macro", "\u20AC"], + exist: ["Macro", "\\exists"], + geneuro: ["Macro", "\u20AC"], + geneuronarrow: ["Macro", "\u20AC"], + geneurowide: ["Macro", "\u20AC"], + H: ["Macro", "\\mathbb{H}"], + hAar: ["Macro", "\\Leftrightarrow"], + harr: ["Macro", "\\leftrightarrow"], + Harr: ["Macro", "\\Leftrightarrow"], + hearts: ["Macro", "\\heartsuit"], + image: ["Macro", "\\Im"], + infin: ["Macro", "\\infty"], + Iota: ["Macro", "\\mathrm{I}"], + isin: ["Macro", "\\in"], + Kappa: ["Macro", "\\mathrm{K}"], + koppa: ["Macro", "\u03DF"], + Koppa: ["Macro", "\u03DE"], + lang: ["Macro", "\\langle"], + larr: ["Macro", "\\leftarrow"], + Larr: ["Macro", "\\Leftarrow"], + lArr: ["Macro", "\\Leftarrow"], + lrarr: ["Macro", "\\leftrightarrow"], + Lrarr: ["Macro", "\\Leftrightarrow"], + lrArr: ["Macro", "\\Leftrightarrow"], + Mu: ["Macro", "\\mathrm{M}"], + N: ["Macro", "\\mathbb{N}"], + natnums: ["Macro", "\\mathbb{N}"], + Nu: ["Macro", "\\mathrm{N}"], + O: ["Macro", "\\emptyset"], + oint: ["Macro", "\\unicodeInt{x222E}"], + oiint: ["Macro", "\\unicodeInt{x222F}"], + oiiint: ["Macro", "\\unicodeInt{x2230}"], + ointctrclockwise: ["Macro", "\\unicodeInt{x2233}"], + officialeuro: ["Macro", "\u20AC"], + Omicron: ["Macro", "\\mathrm{O}"], + or: ["Macro", "\\lor"], + P: ["Macro", "\u00B6"], + pagecolor: ['Macro','',1], // ignore \pagecolor{} + part: ["Macro", "\\partial"], + plusmn: ["Macro", "\\pm"], + Q: ["Macro", "\\mathbb{Q}"], + R: ["Macro", "\\mathbb{R}"], + rang: ["Macro", "\\rangle"], + rarr: ["Macro", "\\rightarrow"], + Rarr: ["Macro", "\\Rightarrow"], + rArr: ["Macro", "\\Rightarrow"], + real: ["Macro", "\\Re"], + reals: ["Macro", "\\mathbb{R}"], + Reals: ["Macro", "\\mathbb{R}"], + Rho: ["Macro", "\\mathrm{P}"], + sdot: ["Macro", "\\cdot"], + sampi: ["Macro", "\u03E1"], + Sampi: ["Macro", "\u03E0"], + sect: ["Macro", "\\S"], + spades: ["Macro", "\\spadesuit"], + stigma: ["Macro", "\u03DB"], + Stigma: ["Macro", "\u03DA"], + sub: ["Macro", "\\subset"], + sube: ["Macro", "\\subseteq"], + supe: ["Macro", "\\supseteq"], + Tau: ["Macro", "\\mathrm{T}"], + textvisiblespace: ["Macro", "\u2423"], + thetasym: ["Macro", "\\vartheta"], + uarr: ["Macro", "\\uparrow"], + uArr: ["Macro", "\\Uparrow"], + Uarr: ["Macro", "\\Uparrow"], + unicodeInt: ["Macro", "\\mathop{\\vcenter{\\mathchoice{\\huge\\unicode{#1}\\,}{\\unicode{#1}}{\\unicode{#1}}{\\unicode{#1}}}\\,}\\nolimits", 1], + varcoppa: ["Macro", "\u03D9"], + varstigma: ["Macro", "\u03DB"], + varointclockwise: ["Macro", "\\unicodeInt{x2232}"], + vline: ['Macro','\\smash{\\large\\lvert}',0], + weierp: ["Macro", "\\wp"], + Z: ["Macro", "\\mathbb{Z}"], + Zeta: ["Macro", "\\mathrm{Z}"] + } + }); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mediawiki-texvc.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem.js new file mode 100644 index 00000000..344edb6a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem.js @@ -0,0 +1,520 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/mhchem.js + * + * Implements the \ce command for handling chemical formulas + * from the mhchem LaTeX package. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + + +// +// Don't replace [Contrib]/mhchem if it is already loaded +// +if (MathJax.Extension["TeX/mhchem"]) { + MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mhchem.js"); +} else { + +MathJax.Extension["TeX/mhchem"] = { + version: "2.7.5", + config: MathJax.Hub.CombineConfig("TeX.mhchem",{ + legacy: true + }) +}; + +// +// Load [mhchem]/mhchem.js if not configured for legacy vesion +// +if (!MathJax.Extension["TeX/mhchem"].config.legacy) { + if (!MathJax.Ajax.config.path.mhchem) { + MathJax.Ajax.config.path.mhchem = MathJax.Hub.config.root + "/extensions/TeX/mhchem3"; + } + MathJax.Callback.Queue( + ["Require",MathJax.Ajax,"[mhchem]/mhchem.js"], + ["loadComplete",MathJax.Ajax,"[MathJax]/extensions/TeX/mhchem.js"] + ); +} else { + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX; + + /* + * This is the main class for handing the \ce and related commands. + * Its main method is Parse() which takes the argument to \ce and + * returns the corresponding TeX string. + */ + + var CE = MathJax.Object.Subclass({ + string: "", // the \ce string being parsed + i: 0, // the current position in the string + tex: "", // the partially processed TeX result + TEX: "", // the full TeX result + atom: false, // last processed token is an atom + sup: "", // pending superscript + sub: "", // pending subscript + presup: "", // pending pre-superscript + presub: "", // pending pre-subscript + + // + // Store the string when a CE object is created + // + Init: function (string) {this.string = string}, + + // + // These are the special characters and the methods that + // handle them. All others are passed through verbatim. + // + ParseTable: { + '-': "Minus", + '+': "Plus", + '(': "Open", + ')': "Close", + '[': "Open", + ']': "Close", + '<': "Less", + '^': "Superscript", + '_': "Subscript", + '*': "Dot", + '.': "Dot", + '=': "Equal", + '#': "Pound", + '$': "Math", + '\\': "Macro", + ' ': "Space" + }, + // + // Basic arrow names for reactions + // + Arrows: { + '->': "rightarrow", + '<-': "leftarrow", + '<->': "leftrightarrow", + '<=>': "rightleftharpoons", + '<=>>': "Rightleftharpoons", + '<<=>': "Leftrightharpoons", + '^': "uparrow", + 'v': "downarrow" + }, + + // + // Implementations for the various bonds + // (the ~ ones are hacks that don't work well in NativeMML) + // + Bonds: { + '-': "-", + '=': "=", + '#': "\\equiv", + '~': "\\tripledash", + '~-': "\\begin{CEstack}{}\\tripledash\\\\-\\end{CEstack}", + '~=': "\\raise2mu{\\begin{CEstack}{}\\tripledash\\\\-\\\\-\\end{CEstack}}", + '~--': "\\raise2mu{\\begin{CEstack}{}\\tripledash\\\\-\\\\-\\end{CEstack}}", + '-~-': "\\raise2mu{\\begin{CEstack}{}-\\\\\\tripledash\\\\-\\end{CEstack}}", + '...': "{\\cdot}{\\cdot}{\\cdot}", + '....': "{\\cdot}{\\cdot}{\\cdot}{\\cdot}", + '->': "\\rightarrow", + '<-': "\\leftarrow", + '??': "\\text{??}" // unknown bond + }, + + // + // This converts the CE string to a TeX string. + // It loops through the string and calls the proper + // method depending on the ccurrent character. + // + Parse: function () { + this.tex = ""; this.atom = false; + while (this.i < this.string.length) { + var c = this.string.charAt(this.i); + if (c.match(/[a-z]/i)) {this.ParseLetter()} + else if (c.match(/[0-9]/)) {this.ParseNumber()} + else {this["Parse"+(this.ParseTable[c]||"Other")](c)} + } + this.FinishAtom(true); + return this.TEX; + }, + + // + // Make an atom name or a down arrow + // + ParseLetter: function () { + this.FinishAtom(); + if (this.Match(/^v( |$)/)) { + this.tex += "{\\"+this.Arrows["v"]+"}"; + } else { + this.tex += "\\text{"+this.Match(/^[a-z]+/i)+"}"; + this.atom = true; + } + }, + + // + // Make a number or fraction preceding an atom, + // or a subscript for an atom. + // + ParseNumber: function () { + var n = this.Match(/^\d+/); + if (this.atom && !this.sub) { + this.sub = n; + } else { + this.FinishAtom(); + var match = this.Match(/^\/\d+/); + if (match) { + var frac = "\\frac{"+n+"}{"+match.substr(1)+"}"; + this.tex += "\\mathchoice{\\textstyle"+frac+"}{"+frac+"}{"+frac+"}{"+frac+"}"; + } else { + this.tex += n; + if (this.i < this.string.length) {this.tex += "\\,"} + } + } + }, + + // + // Make a superscript minus, or an arrow, or a single bond. + // + ParseMinus: function (c) { + if (this.atom && (this.i === this.string.length-1 || this.string.charAt(this.i+1) === " ")) { + this.sup += c; + } else { + this.FinishAtom(); + if (this.string.substr(this.i,2) === "->") {this.i += 2; this.AddArrow("->"); return} + else {this.tex += "{-}"} + } + this.i++; + }, + + // + // Make a superscript plus, or pass it through + // + ParsePlus: function (c) { + if (this.atom) {this.sup += c} else {this.FinishAtom(); this.tex += c} + this.i++; + }, + + // + // Handle dots and double or triple bonds + // + ParseDot: function (c) {this.FinishAtom(); this.tex += "\\cdot "; this.i++}, + ParseEqual: function (c) {this.FinishAtom(); this.tex += "{=}"; this.i++}, + ParsePound: function (c) {this.FinishAtom(); this.tex += "{\\equiv}"; this.i++}, + + // + // Look for (v) or (^), or pass it through + // + ParseOpen: function (c) { + this.FinishAtom(); + var match = this.Match(/^\([v^]\)/); + if (match) {this.tex += "{\\"+this.Arrows[match.charAt(1)]+"}"} + else {this.tex += "{"+c; this.i++} + }, + // + // Allow ) and ] to get super- and subscripts + // + ParseClose: function (c) {this.FinishAtom(); this.atom = true; this.tex += c+"}"; this.i++}, + + // + // Make the proper arrow + // + ParseLess: function (c) { + this.FinishAtom(); + var arrow = this.Match(/^(<->?|<=>>?|<<=>)/); + if (!arrow) {this.tex += c; this.i++} else {this.AddArrow(arrow)} + }, + + // + // Look for a superscript, or an up arrow + // + ParseSuperscript: function (c) { + c = this.string.charAt(++this.i); + if (c === "{") { + this.i++; var m = this.Find("}"); + if (m === "-.") {this.sup += "{-}{\\cdot}"} + else if (m) {this.sup += CE(m).Parse().replace(/^\{-\}/,"-")} + } else if (c === " " || c === "") { + this.tex += "{\\"+this.Arrows["^"]+"}"; this.i++; + } else { + var n = this.Match(/^(\d+|-\.)/); + if (n) {this.sup += n} + } + }, + // + // Look for subscripts + // + ParseSubscript: function (c) { + if (this.string.charAt(++this.i) == "{") { + this.i++; this.sub += CE(this.Find("}")).Parse().replace(/^\{-\}/,"-"); + } else { + var n = this.Match(/^\d+/); + if (n) {this.sub += n} + } + }, + + // + // Look for raw TeX code to include + // + ParseMath: function (c) { + this.FinishAtom(); + this.i++; this.tex += this.Find(c); + }, + + // + // Look for specific macros for bonds + // and allow \} to have subscripts + // + ParseMacro: function (c) { + this.FinishAtom(); + this.i++; var match = this.Match(/^([a-z]+|.)/i)||" "; + if (match === "sbond") {this.tex += "{-}"} + else if (match === "dbond") {this.tex += "{=}"} + else if (match === "tbond") {this.tex += "{\\equiv}"} + else if (match === "bond") { + var bond = (this.Match(/^\{.*?\}/)||""); + bond = bond.substr(1,bond.length-2); + this.tex += "{"+(this.Bonds[bond]||"\\text{??}")+"}"; + } + else if (match === "{") {this.tex += "{\\{"} + else if (match === "}") {this.tex += "\\}}"; this.atom = true} + else {this.tex += c+match} + }, + + // + // Ignore spaces + // + ParseSpace: function (c) {this.FinishAtom(); this.i++}, + + // + // Pass anything else on verbatim + // + ParseOther: function (c) {this.FinishAtom(); this.tex += c; this.i++}, + + // + // Process an arrow (looking for brackets for above and below) + // + AddArrow: function (arrow) { + var c = this.Match(/^[CT]\[/); + if (c) {this.i--; c = c.charAt(0)} + var above = this.GetBracket(c), below = this.GetBracket(c); + arrow = this.Arrows[arrow]; + if (above || below) { + if (below) {arrow += "["+below+"]"} + arrow += "{"+above+"}"; + arrow = "\\mathrel{\\x"+arrow+"}"; + } else { + arrow = "\\long"+arrow+" "; + } + this.tex += arrow; + }, + + // + // Handle the super and subscripts for an atom + // + FinishAtom: function (force) { + if (this.sup || this.sub || this.presup || this.presub) { + if (!force && !this.atom) { + if (this.tex === "" && !this.sup && !this.sub) return; + if (!this.presup && !this.presub && + (this.tex === "" || this.tex === "{" || + (this.tex === "}" && this.TEX.substr(-1) === "{"))) { + this.presup = this.sup, this.presub = this.sub; // save for later + this.sub = this.sup = ""; + this.TEX += this.tex; this.tex = ""; + return; + } + } + if (this.sub && !this.sup) {this.sup = "\\Space{0pt}{0pt}{.2em}"} // forces subscripts to align properly + if ((this.presup || this.presub) && this.tex !== "{") { + if (!this.presup && !this.sup) {this.presup = "\\Space{0pt}{0pt}{.2em}"} + this.tex = "\\CEprescripts{"+(this.presub||"\\CEnone")+"}{"+(this.presup||"\\CEnone")+"}" + + "{"+(this.tex !== "}" ? this.tex : "")+"}" + + "{"+(this.sub||"\\CEnone")+"}{"+(this.sup||"\\CEnone")+"}" + + (this.tex === "}" ? "}" : ""); + this.presub = this.presup = ""; + } else { + if (this.sup) this.tex += "^{"+this.sup+"}"; + if (this.sub) this.tex += "_{"+this.sub+"}"; + } + this.sup = this.sub = ""; + } + this.TEX += this.tex; this.tex = ""; + this.atom = false; + }, + + // + // Find a bracket group and handle C and T prefixes + // + GetBracket: function (c) { + if (this.string.charAt(this.i) !== "[") {return ""} + this.i++; var bracket = this.Find("]"); + if (c === "C") {bracket = "\\ce{"+bracket+"}"} else + if (c === "T") { + if (!bracket.match(/^\{.*\}$/)) {bracket = "{"+bracket+"}"} + bracket = "\\text"+bracket; + }; + return bracket; + }, + + // + // Check if the string matches a regular expression + // and move past it if so, returning the match + // + Match: function (regex) { + var match = regex.exec(this.string.substr(this.i)); + if (match) {match = match[0]; this.i += match.length} + return match; + }, + + // + // Find a particular character, skipping over braced groups + // + Find: function (c) { + var m = this.string.length, i = this.i, braces = 0; + while (this.i < m) { + var C = this.string.charAt(this.i++); + if (C === c && braces === 0) {return this.string.substr(i,this.i-i-1)} + if (C === "{") {braces++} else + if (C === "}") { + if (braces) {braces--} + else { + TEX.Error(["ExtraCloseMissingOpen","Extra close brace or missing open brace"]) + } + } + } + if (braces) {TEX.Error(["MissingCloseBrace","Missing close brace"])} + TEX.Error(["NoClosingChar","Can't find closing %1",c]); + } + + }); + + MathJax.Extension["TeX/mhchem"].CE = CE; + + /***************************************************************************/ + + TEX.Definitions.Add({ + macros: { + // + // Set up the macros for chemistry + // + ce: 'CE', + cf: 'CE', + cee: 'CE', + + // + // Make these load AMSmath package (redefined below when loaded) + // + xleftrightarrow: ['Extension','AMSmath'], + xrightleftharpoons: ['Extension','AMSmath'], + xRightleftharpoons: ['Extension','AMSmath'], + xLeftrightharpoons: ['Extension','AMSmath'], + + // FIXME: These don't work well in FF NativeMML mode + longrightleftharpoons: ["Macro","\\stackrel{\\textstyle{{-}\\!\\!{\\rightharpoonup}}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"], + longRightleftharpoons: ["Macro","\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\small\\smash\\leftharpoondown}"], + longLeftrightharpoons: ["Macro","\\stackrel{\\rightharpoonup}{{{\\leftharpoondown}\\!\\!\\textstyle{-}}}"], + + // + // Add \hyphen used in some mhchem examples + // + hyphen: ["Macro","\\text{-}"], + + // + // Handle prescripts and none + // + CEprescripts: "CEprescripts", + CEnone: "CEnone", + + // + // Needed for \bond for the ~ forms + // + tripledash: ["Macro","\\raise3mu{\\tiny\\text{-}\\kern2mu\\text{-}\\kern2mu\\text{-}}"] + }, + + // + // Needed for \bond for the ~ forms + // + environment: { + CEstack: ['Array',null,null,null,'r',null,"0.001em",'T',1] + } + },null,true); + + if (!MathJax.Extension["TeX/AMSmath"]) { + TEX.Definitions.Add({ + macros: { + xrightarrow: ['Extension','AMSmath'], + xleftarrow: ['Extension','AMSmath'] + } + },null,true); + } + + // + // These arrows need to wait until AMSmath is loaded + // + MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () { + TEX.Definitions.Add({ + macros: { + // + // Some of these are hacks for now + // + xleftrightarrow: ['xArrow',0x2194,6,6], + xrightleftharpoons: ['xArrow',0x21CC,5,7], // FIXME: doesn't stretch in HTML-CSS output + xRightleftharpoons: ['xArrow',0x21CC,5,7], // FIXME: how should this be handled? + xLeftrightharpoons: ['xArrow',0x21CC,5,7] + } + },null,true); + }); + + TEX.Parse.Augment({ + + // + // Implements \ce and friends + // + CE: function (name) { + var arg = this.GetArgument(name); + var tex = CE(arg).Parse(); + this.string = tex + this.string.substr(this.i); this.i = 0; + }, + + // + // Implements \CEprescripts{presub}{presup}{base}{sub}{sup} + // + CEprescripts: function (name) { + var presub = this.ParseArg(name), + presup = this.ParseArg(name), + base = this.ParseArg(name), + sub = this.ParseArg(name), + sup = this.ParseArg(name); + var MML = MathJax.ElementJax.mml; + this.Push(MML.mmultiscripts(base,sub,sup,MML.mprescripts(),presub,presup)); + }, + CEnone: function (name) { + this.Push(MathJax.ElementJax.mml.none()); + } + + }); + + // + // Indicate that the extension is ready + // + MathJax.Hub.Startup.signal.Post("TeX mhchem Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mhchem.js"); + +}} diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem3/mhchem.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem3/mhchem.js new file mode 100644 index 00000000..6b304e78 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/mhchem3/mhchem.js @@ -0,0 +1,1770 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/mhchem.js + * + * Implements the \ce command for handling chemical formulas + * from the mhchem LaTeX package. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2015 The MathJax Consortium + * Copyright (c) 2015-2018 Martin Hensel + * + * 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. + */ + +// +// Coding Style +// - use '' for identifiers that can by minified/uglified +// - use "" for strings that need to stay untouched + + +MathJax.Extension["TeX/mhchem"] = { + version: "3.3.0" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () { + + var TEX = MathJax.InputJax.TeX; + + // + // This is the main class for handing the \ce and related commands. + // Its main method is Parse() which takes the argument to \ce and + // returns the corresponding TeX string. + // + + var CE = MathJax.Object.Subclass({ + string: "", // the \ce string being parsed + + // + // Store the string when a CE object is created + // + Init: function (string) { this.string = string; }, + + // + // This converts the CE string to a TeX string. + // + Parse: function (stateMachine) { + try { + return texify.go(mhchemParser.go(this.string, stateMachine)); + } catch (ex) { + TEX.Error(ex); + } + } + }); + + // + // Core parser for mhchem syntax (recursive) + // + /** @type {MhchemParser} */ + var mhchemParser = { + // + // Parses mchem \ce syntax + // + // Call like + // go("H2O"); + // + go: function (input, stateMachine) { + if (!input) { return []; } + if (stateMachine === undefined) { stateMachine = 'ce'; } + var state = '0'; + + // + // String buffers for parsing: + // + // buffer.a == amount + // buffer.o == element + // buffer.b == left-side superscript + // buffer.p == left-side subscript + // buffer.q == right-side subscript + // buffer.d == right-side superscript + // + // buffer.r == arrow + // buffer.rdt == arrow, script above, type + // buffer.rd == arrow, script above, content + // buffer.rqt == arrow, script below, type + // buffer.rq == arrow, script below, content + // + // buffer.text_ + // buffer.rm + // etc. + // + // buffer.parenthesisLevel == int, starting at 0 + // buffer.sb == bool, space before + // buffer.beginsWithBond == bool + // + // These letters are also used as state names. + // + // Other states: + // 0 == begin of main part (arrow/operator unlikely) + // 1 == next entity + // 2 == next entity (arrow/operator unlikely) + // 3 == next atom + // c == macro + // + /** @type {Buffer} */ + var buffer = {}; + buffer['parenthesisLevel'] = 0; + + input = input.replace(/\n/g, " "); + input = input.replace(/[\u2212\u2013\u2014\u2010]/g, "-"); + input = input.replace(/[\u2026]/g, "..."); + + // + // Looks through mhchemParser.transitions, to execute a matching action + // (recursive) + // + var lastInput; + var watchdog = 10; + /** @type {ParserOutput[]} */ + var output = []; + while (true) { + if (lastInput !== input) { + watchdog = 10; + lastInput = input; + } else { + watchdog--; + } + // + // Find actions in transition table + // + var machine = mhchemParser.stateMachines[stateMachine]; + var t = machine.transitions[state] || machine.transitions['*']; + iterateTransitions: + for (var i=0; i 0) { + if (!task.revisit) { + input = matches.remainder; + } + if (!task.toContinue) { + break iterateTransitions; + } + } else { + return output; + } + } + } + // + // Prevent infinite loop + // + if (watchdog <= 0) { + throw ["MhchemBugU", "mhchem bug U. Please report."]; // Unexpected character + } + } + }, + concatArray: function (a, b) { + if (b) { + if (Array.isArray(b)) { + for (var iB=0; iB': /^[=<>]/, + '#': /^[#\u2261]/, + '+': /^\+/, + '-$': /^-(?=[\s_},;\]/]|$|\([a-z]+\))/, // -space -, -; -] -/ -$ -state-of-aggregation + '-9': /^-(?=[0-9])/, + '- orbital overlap': /^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/, + '-': /^-/, + 'pm-operator': /^(?:\\pm|\$\\pm\$|\+-|\+\/-)/, + 'operator': /^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/, + 'arrowUpDown': /^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/, + '\\bond{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\bond{", "", "", "}"); }, + '->': /^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/, + 'CMT': /^[CMT](?=\[)/, + '[(...)]': function (input) { return mhchemParser.patterns.findObserveGroups(input, "[", "", "", "]"); }, + '1st-level escape': /^(&|\\\\|\\hline)\s*/, + '\\,': /^(?:\\[,\ ;:])/, // \\x - but output no space before + '\\x{}{}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); }, + '\\x{}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", ""); }, + '\\ca': /^\\ca(?:\s+|(?![a-zA-Z]))/, + '\\x': /^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/, + 'orbital': /^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/, // only those with numbers in front, because the others will be formatted correctly anyway + 'others': /^[\/~|]/, + '\\frac{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\frac{", "", "", "}", "{", "", "", "}"); }, + '\\overset{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\overset{", "", "", "}", "{", "", "", "}"); }, + '\\underset{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\underset{", "", "", "}", "{", "", "", "}"); }, + '\\underbrace{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\underbrace{", "", "", "}_", "{", "", "", "}"); }, + '\\color{(...)}0': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}"); }, + '\\color{(...)}{(...)}1': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}", "{", "", "", "}"); }, + '\\color(...){(...)}2': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\color", "\\", "", /^(?=\{)/, "{", "", "", "}"); }, + '\\ce{(...)}': function (input) { return mhchemParser.patterns.findObserveGroups(input, "\\ce{", "", "", "}"); }, + 'oxidation$': /^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, + 'd-oxidation$': /^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, // 0 could be oxidation or charge + 'roman numeral': /^[IVX]+/, + '1/2$': /^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/, + 'amount': function (input) { + var match; + // e.g. 2, 0.5, 1/2, -2, n/2, +; $a$ could be added later in parsing + match = input.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/); + if (match) { + return { match_: match[0], remainder: input.substr(match[0].length) }; + } + var a = mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); + if (a) { // e.g. $2n-1$, $-$ + match = a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/); + if (match) { + return { match_: match[0], remainder: input.substr(match[0].length) }; + } + } + return null; + }, + 'amount2': function (input) { return this['amount'](input); }, + '(KV letters),': /^(?:[A-Z][a-z]{0,2}|i)(?=,)/, + 'formula$': function (input) { + if (input.match(/^\([a-z]+\)$/)) { return null; } // state of aggregation = no formula + var match = input.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/); + if (match) { + return { match_: match[0], remainder: input.substr(match[0].length) }; + } + return null; + }, + 'uprightEntities': /^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/, + '/': /^\s*(\/)\s*/, + '//': /^\s*(\/\/)\s*/, + '*': /^\s*[*.]\s*/ + }, + findObserveGroups: function (input, begExcl, begIncl, endIncl, endExcl, beg2Excl, beg2Incl, end2Incl, end2Excl, combine) { + /** @type {{(input: string, pattern: string | RegExp): string | string[] | null;}} */ + var _match = function (input, pattern) { + if (typeof pattern === "string") { + if (input.indexOf(pattern) !== 0) { return null; } + return pattern; + } else { + var match = input.match(pattern); + if (!match) { return null; } + return match[0]; + } + }; + /** @type {{(input: string, i: number, endChars: string | RegExp): {endMatchBegin: number, endMatchEnd: number} | null;}} */ + var _findObserveGroups = function (input, i, endChars) { + var braces = 0; + while (i < input.length) { + var a = input.charAt(i); + var match = _match(input.substr(i), endChars); + if (match !== null && braces === 0) { + return { endMatchBegin: i, endMatchEnd: i + match.length }; + } else if (a === "{") { + braces++; + } else if (a === "}") { + if (braces === 0) { + throw ["ExtraCloseMissingOpen", "Extra close brace or missing open brace"]; + } else { + braces--; + } + } + i++; + } + if (braces > 0) { + return null; + } + return null; + }; + var match = _match(input, begExcl); + if (match === null) { return null; } + input = input.substr(match.length); + match = _match(input, begIncl); + if (match === null) { return null; } + var e = _findObserveGroups(input, match.length, endIncl || endExcl); + if (e === null) { return null; } + var match1 = input.substring(0, (endIncl ? e.endMatchEnd : e.endMatchBegin)); + if (!(beg2Excl || beg2Incl)) { + return { + match_: match1, + remainder: input.substr(e.endMatchEnd) + }; + } else { + var group2 = this.findObserveGroups(input.substr(e.endMatchEnd), beg2Excl, beg2Incl, end2Incl, end2Excl); + if (group2 === null) { return null; } + /** @type {string[]} */ + var matchRet = [match1, group2.match_]; + return { + match_: (combine ? matchRet.join("") : matchRet), + remainder: group2.remainder + }; + } + }, + + // + // Matching function + // e.g. match("a", input) will look for the regexp called "a" and see if it matches + // returns null or {match_:"a", remainder:"bc"} + // + match_: function (m, input) { + var pattern = mhchemParser.patterns.patterns[m]; + if (pattern === undefined) { + throw ["MhchemBugP", "mhchem bug P. Please report. (" + m + ")"]; // Trying to use non-existing pattern + } else if (typeof pattern === "function") { + return mhchemParser.patterns.patterns[m](input); // cannot use cached var pattern here, because some pattern functions need this===mhchemParser + } else { // RegExp + var match = input.match(pattern); + if (match) { + var mm; + if (match[2]) { + mm = [ match[1], match[2] ]; + } else if (match[1]) { + mm = match[1]; + } else { + mm = match[0]; + } + return { match_: mm, remainder: input.substr(match[0].length) }; + } + return null; + } + } + }, + + // + // Generic state machine actions + // + actions: { + 'a=': function (buffer, m) { buffer.a = (buffer.a || "") + m; }, + 'b=': function (buffer, m) { buffer.b = (buffer.b || "") + m; }, + 'p=': function (buffer, m) { buffer.p = (buffer.p || "") + m; }, + 'o=': function (buffer, m) { buffer.o = (buffer.o || "") + m; }, + 'q=': function (buffer, m) { buffer.q = (buffer.q || "") + m; }, + 'd=': function (buffer, m) { buffer.d = (buffer.d || "") + m; }, + 'rm=': function (buffer, m) { buffer.rm = (buffer.rm || "") + m; }, + 'text=': function (buffer, m) { buffer.text_ = (buffer.text_ || "") + m; }, + 'insert': function (buffer, m, a) { return { type_: a }; }, + 'insert+p1': function (buffer, m, a) { return { type_: a, p1: m }; }, + 'insert+p1+p2': function (buffer, m, a) { return { type_: a, p1: m[0], p2: m[1] }; }, + 'copy': function (buffer, m) { return m; }, + 'rm': function (buffer, m) { return { type_: 'rm', p1: m || ""}; }, + 'text': function (buffer, m) { return mhchemParser.go(m, 'text'); }, + '{text}': function (buffer, m) { + var ret = [ "{" ]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'text')); + ret.push("}"); + return ret; + }, + 'tex-math': function (buffer, m) { return mhchemParser.go(m, 'tex-math'); }, + 'tex-math tight': function (buffer, m) { return mhchemParser.go(m, 'tex-math tight'); }, + 'bond': function (buffer, m, k) { return { type_: 'bond', kind_: k || m }; }, + 'color0-output': function (buffer, m) { return { type_: 'color0', color: m[0] }; }, + 'ce': function (buffer, m) { return mhchemParser.go(m); }, + '1/2': function (buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + if (m.match(/^[+\-]/)) { + ret.push(m.substr(0, 1)); + m = m.substr(1); + } + var n = m.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/); + n[1] = n[1].replace(/\$/g, ""); + ret.push({ type_: 'frac', p1: n[1], p2: n[2] }); + if (n[3]) { + n[3] = n[3].replace(/\$/g, ""); + ret.push({ type_: 'tex-math', p1: n[3] }); + } + return ret; + }, + '9,9': function (buffer, m) { return mhchemParser.go(m, '9,9'); } + }, + // + // createTransitions + // convert { 'letter': { 'state': { action_: 'output' } } } to { 'state' => [ { pattern: 'letter', task: { action_: [{type_: 'output'}] } } ] } + // with expansion of 'a|b' to 'a' and 'b' (at 2 places) + // + createTransitions: function (o) { + var pattern, state; + /** @type {string[]} */ + var stateArray; + var i; + // + // 1. Collect all states + // + /** @type {Transitions} */ + var transitions = {}; + for (pattern in o) { + for (state in o[pattern]) { + stateArray = state.split("|"); + o[pattern][state].stateArray = stateArray; + for (i=0; i': { + '0|1|2|3': { action_: 'r=', nextState: 'r' }, + 'a|as': { action_: [ 'output', 'r=' ], nextState: 'r' }, + '*': { action_: [ 'output', 'r=' ], nextState: 'r' } }, + '+': { + 'o': { action_: 'd= kv', nextState: 'd' }, + 'd|D': { action_: 'd=', nextState: 'd' }, + 'q': { action_: 'd=', nextState: 'qd' }, + 'qd|qD': { action_: 'd=', nextState: 'qd' }, + 'dq': { action_: [ 'output', 'd=' ], nextState: 'd' }, + '3': { action_: [ 'sb=false', 'output', 'operator' ], nextState: '0' } }, + 'amount': { + '0|2': { action_: 'a=', nextState: 'a' } }, + 'pm-operator': { + '0|1|2|a|as': { action_: [ 'sb=false', 'output', { type_: 'operator', option: '\\pm' } ], nextState: '0' } }, + 'operator': { + '0|1|2|a|as': { action_: [ 'sb=false', 'output', 'operator' ], nextState: '0' } }, + '-$': { + 'o|q': { action_: [ 'charge or bond', 'output' ], nextState: 'qd' }, + 'd': { action_: 'd=', nextState: 'd' }, + 'D': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' }, + 'q': { action_: 'd=', nextState: 'qd' }, + 'qd': { action_: 'd=', nextState: 'qd' }, + 'qD|dq': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' } }, + '-9': { + '3|o': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '3' } }, + '- orbital overlap': { + 'o': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' }, + 'd': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' } }, + '-': { + '0|1|2': { action_: [ { type_: 'output', option: 1 }, 'beginsWithBond=true', { type_: 'bond', option: "-" } ], nextState: '3' }, + '3': { action_: { type_: 'bond', option: "-" } }, + 'a': { action_: [ 'output', { type_: 'insert', option: 'hyphen' } ], nextState: '2' }, + 'as': { action_: [ { type_: 'output', option: 2 }, { type_: 'bond', option: "-" } ], nextState: '3' }, + 'b': { action_: 'b=' }, + 'o': { action_: { type_: '- after o/d', option: false }, nextState: '2' }, + 'q': { action_: { type_: '- after o/d', option: false }, nextState: '2' }, + 'd|qd|dq': { action_: { type_: '- after o/d', option: true }, nextState: '2' }, + 'D|qD|p': { action_: [ 'output', { type_: 'bond', option: "-" } ], nextState: '3' } }, + 'amount2': { + '1|3': { action_: 'a=', nextState: 'a' } }, + 'letters': { + '0|1|2|3|a|as|b|p|bp|o': { action_: 'o=', nextState: 'o' }, + 'q|dq': { action_: ['output', 'o='], nextState: 'o' }, + 'd|D|qd|qD': { action_: 'o after d', nextState: 'o' } }, + 'digits': { + 'o': { action_: 'q=', nextState: 'q' }, + 'd|D': { action_: 'q=', nextState: 'dq' }, + 'q': { action_: [ 'output', 'o=' ], nextState: 'o' }, + 'a': { action_: 'o=', nextState: 'o' } }, + 'space A': { + 'b|p|bp': {} }, + 'space': { + 'a': { nextState: 'as' }, + '0': { action_: 'sb=false' }, + '1|2': { action_: 'sb=true' }, + 'r|rt|rd|rdt|rdq': { action_: 'output', nextState: '0' }, + '*': { action_: [ 'output', 'sb=true' ], nextState: '1'} }, + '1st-level escape': { + '1|2': { action_: [ 'output', { type_: 'insert+p1', option: '1st-level escape' } ] }, + '*': { action_: [ 'output', { type_: 'insert+p1', option: '1st-level escape' } ], nextState: '0' } }, + '[(...)]': { + 'r|rt': { action_: 'rd=', nextState: 'rd' }, + 'rd|rdt': { action_: 'rq=', nextState: 'rdq' } }, + '...': { + 'o|d|D|dq|qd|qD': { action_: [ 'output', { type_: 'bond', option: "..." } ], nextState: '3' }, + '*': { action_: [ { type_: 'output', option: 1 }, { type_: 'insert', option: 'ellipsis' } ], nextState: '1' } }, + '. |* ': { + '*': { action_: [ 'output', { type_: 'insert', option: 'addition compound' } ], nextState: '1' } }, + 'state of aggregation $': { + '*': { action_: [ 'output', 'state of aggregation' ], nextState: '1' } }, + '{[(': { + 'a|as|o': { action_: [ 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' }, + '0|1|2|3': { action_: [ 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' }, + '*': { action_: [ 'output', 'o=', 'output', 'parenthesisLevel++' ], nextState: '2' } }, + ')]}': { + '0|1|2|3|b|p|bp|o': { action_: [ 'o=', 'parenthesisLevel--' ], nextState: 'o' }, + 'a|as|d|D|q|qd|qD|dq': { action_: [ 'output', 'o=', 'parenthesisLevel--' ], nextState: 'o' } }, + ', ': { + '*': { action_: [ 'output', 'comma' ], nextState: '0' } }, + '^_': { // ^ and _ without a sensible argument + '*': { } }, + '^{(...)}|^($...$)': { + '0|1|2|as': { action_: 'b=', nextState: 'b' }, + 'p': { action_: 'b=', nextState: 'bp' }, + '3|o': { action_: 'd= kv', nextState: 'D' }, + 'q': { action_: 'd=', nextState: 'qD' }, + 'd|D|qd|qD|dq': { action_: [ 'output', 'd=' ], nextState: 'D' } }, + '^a|^\\x{}{}|^\\x{}|^\\x|\'': { + '0|1|2|as': { action_: 'b=', nextState: 'b' }, + 'p': { action_: 'b=', nextState: 'bp' }, + '3|o': { action_: 'd= kv', nextState: 'd' }, + 'q': { action_: 'd=', nextState: 'qd' }, + 'd|qd|D|qD': { action_: 'd=' }, + 'dq': { action_: [ 'output', 'd=' ], nextState: 'd' } }, + '_{(state of aggregation)}$': { + 'd|D|q|qd|qD|dq': { action_: [ 'output', 'q=' ], nextState: 'q' } }, + '_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x': { + '0|1|2|as': { action_: 'p=', nextState: 'p' }, + 'b': { action_: 'p=', nextState: 'bp' }, + '3|o': { action_: 'q=', nextState: 'q' }, + 'd|D': { action_: 'q=', nextState: 'dq' }, + 'q|qd|qD|dq': { action_: [ 'output', 'q=' ], nextState: 'q' } }, + '=<>': { + '0|1|2|3|a|as|o|q|d|D|qd|qD|dq': { action_: [ { type_: 'output', option: 2 }, 'bond' ], nextState: '3' } }, + '#': { + '0|1|2|3|a|as|o': { action_: [ { type_: 'output', option: 2 }, { type_: 'bond', option: "#" } ], nextState: '3' } }, + '{}': { + '*': { action_: { type_: 'output', option: 1 }, nextState: '1' } }, + '{...}': { + '0|1|2|3|a|as|b|p|bp': { action_: 'o=', nextState: 'o' }, + 'o|d|D|q|qd|qD|dq': { action_: [ 'output', 'o=' ], nextState: 'o' } }, + '$...$': { + 'a': { action_: 'a=' }, // 2$n$ + '0|1|2|3|as|b|p|bp|o': { action_: 'o=', nextState: 'o' }, // not 'amount' + 'as|o': { action_: 'o=' }, + 'q|d|D|qd|qD|dq': { action_: [ 'output', 'o=' ], nextState: 'o' } }, + '\\bond{(...)}': { + '*': { action_: [ { type_: 'output', option: 2 }, 'bond' ], nextState: "3" } }, + '\\frac{(...)}': { + '*': { action_: [ { type_: 'output', option: 1 }, 'frac-output' ], nextState: '3' } }, + '\\overset{(...)}': { + '*': { action_: [ { type_: 'output', option: 2 }, 'overset-output' ], nextState: '3' } }, + '\\underset{(...)}': { + '*': { action_: [ { type_: 'output', option: 2 }, 'underset-output' ], nextState: '3' } }, + '\\underbrace{(...)}': { + '*': { action_: [ { type_: 'output', option: 2 }, 'underbrace-output' ], nextState: '3' } }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { action_: [ { type_: 'output', option: 2 }, 'color-output' ], nextState: '3' } }, + '\\color{(...)}0': { + '*': { action_: [ { type_: 'output', option: 2 }, 'color0-output' ] } }, + '\\ce{(...)}': { + '*': { action_: [ { type_: 'output', option: 2 }, 'ce' ], nextState: '3' } }, + '\\,': { + '*': { action_: [ { type_: 'output', option: 1 }, 'copy' ], nextState: '1' } }, + '\\x{}{}|\\x{}|\\x': { + '0|1|2|3|a|as|b|p|bp|o|c0': { action_: [ 'o=', 'output' ], nextState: '3' }, + '*': { action_: ['output', 'o=', 'output' ], nextState: '3' } }, + 'others': { + '*': { action_: [ { type_: 'output', option: 1 }, 'copy' ], nextState: '3' } }, + 'else2': { + 'a': { action_: 'a to o', nextState: 'o', revisit: true }, + 'as': { action_: [ 'output', 'sb=true' ], nextState: '1', revisit: true }, + 'r|rt|rd|rdt|rdq': { action_: [ 'output' ], nextState: '0', revisit: true }, + '*': { action_: [ 'output', 'copy' ], nextState: '3' } } + }), + actions: { + 'o after d': function (buffer, m) { + var ret; + if ((buffer.d || "").match(/^[0-9]+$/)) { + var tmp = buffer.d; + buffer.d = undefined; + ret = this['output'](buffer); + buffer.b = tmp; + } else { + ret = this['output'](buffer); + } + mhchemParser.actions['o='](buffer, m); + return ret; + }, + 'd= kv': function (buffer, m) { + buffer.d = m; + buffer.dType = 'kv'; + }, + 'charge or bond': function (buffer, m) { + if (buffer['beginsWithBond']) { + /** @type {ParserOutput[]} */ + var ret = []; + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + return ret; + } else { + buffer.d = m; + } + }, + '- after o/d': function (buffer, m, isAfterD) { + var c1 = mhchemParser.patterns.match_('orbital', buffer.o || ""); + var c2 = mhchemParser.patterns.match_('one lowercase greek letter $', buffer.o || ""); + var c3 = mhchemParser.patterns.match_('one lowercase latin letter $', buffer.o || ""); + var c4 = mhchemParser.patterns.match_('$one lowercase latin letter$ $', buffer.o || ""); + var hyphenFollows = m==="-" && ( c1 && c1.remainder==="" || c2 || c3 || c4 ); + if (hyphenFollows && !buffer.a && !buffer.b && !buffer.p && !buffer.d && !buffer.q && !c1 && c3) { + buffer.o = '$' + buffer.o + '$'; + } + /** @type {ParserOutput[]} */ + var ret = []; + if (hyphenFollows) { + mhchemParser.concatArray(ret, this['output'](buffer)); + ret.push({ type_: 'hyphen' }); + } else { + c1 = mhchemParser.patterns.match_('digits', buffer.d || ""); + if (isAfterD && c1 && c1.remainder==='') { + mhchemParser.concatArray(ret, mhchemParser.actions['d='](buffer, m)); + mhchemParser.concatArray(ret, this['output'](buffer)); + } else { + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + } + } + return ret; + }, + 'a to o': function (buffer) { + buffer.o = buffer.a; + buffer.a = undefined; + }, + 'sb=true': function (buffer) { buffer.sb = true; }, + 'sb=false': function (buffer) { buffer.sb = false; }, + 'beginsWithBond=true': function (buffer) { buffer['beginsWithBond'] = true; }, + 'beginsWithBond=false': function (buffer) { buffer['beginsWithBond'] = false; }, + 'parenthesisLevel++': function (buffer) { buffer['parenthesisLevel']++; }, + 'parenthesisLevel--': function (buffer) { buffer['parenthesisLevel']--; }, + 'state of aggregation': function (buffer, m) { + return { type_: 'state of aggregation', p1: mhchemParser.go(m, 'o') }; + }, + 'comma': function (buffer, m) { + var a = m.replace(/\s*$/, ''); + var withSpace = (a !== m); + if (withSpace && buffer['parenthesisLevel'] === 0) { + return { type_: 'comma enumeration L', p1: a }; + } else { + return { type_: 'comma enumeration M', p1: a }; + } + }, + 'output': function (buffer, m, entityFollows) { + // entityFollows: + // undefined = if we have nothing else to output, also ignore the just read space (buffer.sb) + // 1 = an entity follows, never omit the space if there was one just read before (can only apply to state 1) + // 2 = 1 + the entity can have an amount, so output a\, instead of converting it to o (can only apply to states a|as) + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + if (!buffer.r) { + ret = []; + if (!buffer.a && !buffer.b && !buffer.p && !buffer.o && !buffer.q && !buffer.d && !entityFollows) { + //ret = []; + } else { + if (buffer.sb) { + ret.push({ type_: 'entitySkip' }); + } + if (!buffer.o && !buffer.q && !buffer.d && !buffer.b && !buffer.p && entityFollows!==2) { + buffer.o = buffer.a; + buffer.a = undefined; + } else if (!buffer.o && !buffer.q && !buffer.d && (buffer.b || buffer.p)) { + buffer.o = buffer.a; + buffer.d = buffer.b; + buffer.q = buffer.p; + buffer.a = buffer.b = buffer.p = undefined; + } else { + if (buffer.o && buffer.dType==='kv' && mhchemParser.patterns.match_('d-oxidation$', buffer.d || "")) { + buffer.dType = 'oxidation'; + } else if (buffer.o && buffer.dType==='kv' && !buffer.q) { + buffer.dType = undefined; + } + } + ret.push({ + type_: 'chemfive', + a: mhchemParser.go(buffer.a, 'a'), + b: mhchemParser.go(buffer.b, 'bd'), + p: mhchemParser.go(buffer.p, 'pq'), + o: mhchemParser.go(buffer.o, 'o'), + q: mhchemParser.go(buffer.q, 'pq'), + d: mhchemParser.go(buffer.d, (buffer.dType === 'oxidation' ? 'oxidation' : 'bd')), + dType: buffer.dType + }); + } + } else { // r + /** @type {ParserOutput[]} */ + var rd; + if (buffer.rdt === 'M') { + rd = mhchemParser.go(buffer.rd, 'tex-math'); + } else if (buffer.rdt === 'T') { + rd = [ { type_: 'text', p1: buffer.rd || "" } ]; + } else { + rd = mhchemParser.go(buffer.rd); + } + /** @type {ParserOutput[]} */ + var rq; + if (buffer.rqt === 'M') { + rq = mhchemParser.go(buffer.rq, 'tex-math'); + } else if (buffer.rqt === 'T') { + rq = [ { type_: 'text', p1: buffer.rq || ""} ]; + } else { + rq = mhchemParser.go(buffer.rq); + } + ret = { + type_: 'arrow', + r: buffer.r, + rd: rd, + rq: rq + }; + } + for (var p in buffer) { + if (p !== 'parenthesisLevel' && p !== 'beginsWithBond') { + delete buffer[p]; + } + } + return ret; + }, + 'oxidation-output': function (buffer, m) { + var ret = [ "{" ]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'oxidation')); + ret.push("}"); + return ret; + }, + 'frac-output': function (buffer, m) { + return { type_: 'frac-ce', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; + }, + 'overset-output': function (buffer, m) { + return { type_: 'overset', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; + }, + 'underset-output': function (buffer, m) { + return { type_: 'underset', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; + }, + 'underbrace-output': function (buffer, m) { + return { type_: 'underbrace', p1: mhchemParser.go(m[0]), p2: mhchemParser.go(m[1]) }; + }, + 'color-output': function (buffer, m) { + return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1]) }; + }, + 'r=': function (buffer, m) { buffer.r = m; }, + 'rdt=': function (buffer, m) { buffer.rdt = m; }, + 'rd=': function (buffer, m) { buffer.rd = m; }, + 'rqt=': function (buffer, m) { buffer.rqt = m; }, + 'rq=': function (buffer, m) { buffer.rq = m; }, + 'operator': function (buffer, m, p1) { return { type_: 'operator', kind_: (p1 || m) }; } + } + }, + 'a': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + '1/2$': { + '0': { action_: '1/2' } }, + 'else': { + '0': { nextState: '1', revisit: true } }, + '$(...)$': { + '*': { action_: 'tex-math tight', nextState: '1' } }, + ',': { + '*': { action_: { type_: 'insert', option: 'commaDecimal' } } }, + 'else2': { + '*': { action_: 'copy' } } + }), + actions: {} + }, + 'o': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + '1/2$': { + '0': { action_: '1/2' } }, + 'else': { + '0': { nextState: '1', revisit: true } }, + 'letters': { + '*': { action_: 'rm' } }, + '\\ca': { + '*': { action_: { type_: 'insert', option: 'circa' } } }, + '\\x{}{}|\\x{}|\\x': { + '*': { action_: 'copy' } }, + '${(...)}$|$(...)$': { + '*': { action_: 'tex-math' } }, + '{(...)}': { + '*': { action_: '{text}' } }, + 'else2': { + '*': { action_: 'copy' } } + }), + actions: {} + }, + 'text': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { action_: 'output' } }, + '{...}': { + '*': { action_: 'text=' } }, + '${(...)}$|$(...)$': { + '*': { action_: 'tex-math' } }, + '\\greek': { + '*': { action_: [ 'output', 'rm' ] } }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { action_: [ 'output', 'copy' ] } }, + 'else': { + '*': { action_: 'text=' } } + }), + actions: { + 'output': function (buffer) { + if (buffer.text_) { + /** @type {ParserOutput} */ + var ret = { type_: 'text', p1: buffer.text_ }; + for (var p in buffer) { delete buffer[p]; } + return ret; + } + } + } + }, + 'pq': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + 'state of aggregation $': { + '*': { action_: 'state of aggregation' } }, + 'i$': { + '0': { nextState: '!f', revisit: true } }, + '(KV letters),': { + '0': { action_: 'rm', nextState: '0' } }, + 'formula$': { + '0': { nextState: 'f', revisit: true } }, + '1/2$': { + '0': { action_: '1/2' } }, + 'else': { + '0': { nextState: '!f', revisit: true } }, + '${(...)}$|$(...)$': { + '*': { action_: 'tex-math' } }, + '{(...)}': { + '*': { action_: 'text' } }, + 'a-z': { + 'f': { action_: 'tex-math' } }, + 'letters': { + '*': { action_: 'rm' } }, + '-9.,9': { + '*': { action_: '9,9' } }, + ',': { + '*': { action_: { type_: 'insert+p1', option: 'comma enumeration S' } } }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { action_: 'color-output' } }, + '\\color{(...)}0': { + '*': { action_: 'color0-output' } }, + '\\ce{(...)}': { + '*': { action_: 'ce' } }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { action_: 'copy' } }, + 'else2': { + '*': { action_: 'copy' } } + }), + actions: { + 'state of aggregation': function (buffer, m) { + return { type_: 'state of aggregation subscript', p1: mhchemParser.go(m, 'o') }; + }, + 'color-output': function (buffer, m) { + return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1], 'pq') }; + } + } + }, + 'bd': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + 'x$': { + '0': { nextState: '!f', revisit: true } }, + 'formula$': { + '0': { nextState: 'f', revisit: true } }, + 'else': { + '0': { nextState: '!f', revisit: true } }, + '-9.,9 no missing 0': { + '*': { action_: '9,9' } }, + '.': { + '*': { action_: { type_: 'insert', option: 'electron dot' } } }, + 'a-z': { + 'f': { action_: 'tex-math' } }, + 'x': { + '*': { action_: { type_: 'insert', option: 'KV x' } } }, + 'letters': { + '*': { action_: 'rm' } }, + '\'': { + '*': { action_: { type_: 'insert', option: 'prime' } } }, + '${(...)}$|$(...)$': { + '*': { action_: 'tex-math' } }, + '{(...)}': { + '*': { action_: 'text' } }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { action_: 'color-output' } }, + '\\color{(...)}0': { + '*': { action_: 'color0-output' } }, + '\\ce{(...)}': { + '*': { action_: 'ce' } }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { action_: 'copy' } }, + 'else2': { + '*': { action_: 'copy' } } + }), + actions: { + 'color-output': function (buffer, m) { + return { type_: 'color', color1: m[0], color2: mhchemParser.go(m[1], 'bd') }; + } + } + }, + 'oxidation': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + 'roman numeral': { + '*': { action_: 'roman-numeral' } }, + '${(...)}$|$(...)$': { + '*': { action_: 'tex-math' } }, + 'else': { + '*': { action_: 'copy' } } + }), + actions: { + 'roman-numeral': function (buffer, m) { return { type_: 'roman numeral', p1: m || "" }; } + } + }, + 'tex-math': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { action_: 'output' } }, + '\\ce{(...)}': { + '*': { action_: [ 'output', 'ce' ] } }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { action_: 'o=' } }, + 'else': { + '*': { action_: 'o=' } } + }), + actions: { + 'output': function (buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { type_: 'tex-math', p1: buffer.o }; + for (var p in buffer) { delete buffer[p]; } + return ret; + } + } + } + }, + 'tex-math tight': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { action_: 'output' } }, + '\\ce{(...)}': { + '*': { action_: [ 'output', 'ce' ] } }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { action_: 'o=' } }, + '-|+': { + '*': { action_: 'tight operator' } }, + 'else': { + '*': { action_: 'o=' } } + }), + actions: { + 'tight operator': function (buffer, m) { buffer.o = (buffer.o || "") + "{"+m+"}"; }, + 'output': function (buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { type_: 'tex-math', p1: buffer.o }; + for (var p in buffer) { delete buffer[p]; } + return ret; + } + } + } + }, + '9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} }, + ',': { + '*': { action_: 'comma' } }, + 'else': { + '*': { action_: 'copy' } } + }), + actions: { + 'comma': function () { return { type_: 'commaDecimal' }; } + } + }, + //#endregion + // + // \pu state machines + // + //#region pu + 'pu': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { action_: 'output' } }, + 'space$': { + '*': { action_: [ 'output', 'space' ] } }, + '{[(|)]}': { + '0|a': { action_: 'copy' } }, + '(-)(9)^(-9)': { + '0': { action_: 'number^', nextState: 'a' } }, + '(-)(9.,9)(e)(99)': { + '0': { action_: 'enumber', nextState: 'a' } }, + 'space': { + '0|a': {} }, + 'pm-operator': { + '0|a': { action_: { type_: 'operator', option: '\\pm' }, nextState: '0' } }, + 'operator': { + '0|a': { action_: 'copy', nextState: '0' } }, + '//': { + 'd': { action_: 'o=', nextState: '/' } }, + '/': { + 'd': { action_: 'o=', nextState: '/' } }, + '{...}|else': { + '0|d': { action_: 'd=', nextState: 'd' }, + 'a': { action_: [ 'space', 'd=' ], nextState: 'd' }, + '/|q': { action_: 'q=', nextState: 'q' } } + }), + actions: { + 'enumber': function (buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + if (m[1]) { + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + if (m[2]) { + if (m[2].match(/[,.]/)) { + mhchemParser.concatArray(ret, mhchemParser.go(m[2], 'pu-9,9')); + } else { + ret.push(m[2]); + } + } + m[3] = m[4] || m[3]; + if (m[3]) { + m[3] = m[3].trim(); + if (m[3] === "e" || m[3].substr(0, 1) === "*") { + ret.push({ type_: 'cdot' }); + } else { + ret.push({ type_: 'times' }); + } + } + } + if (m[3]) { + ret.push("10^{"+m[5]+"}"); + } + return ret; + }, + 'number^': function (buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + ret.push("^{"+m[2]+"}"); + return ret; + }, + 'operator': function (buffer, m, p1) { return { type_: 'operator', kind_: (p1 || m) }; }, + 'space': function () { return { type_: 'pu-space-1' }; }, + 'output': function (buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + var md = mhchemParser.patterns.match_('{(...)}', buffer.d || ""); + if (md && md.remainder === '') { buffer.d = md.match_; } + var mq = mhchemParser.patterns.match_('{(...)}', buffer.q || ""); + if (mq && mq.remainder === '') { buffer.q = mq.match_; } + if (buffer.d) { + buffer.d = buffer.d.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.d = buffer.d.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + } + if (buffer.q) { // fraction + buffer.q = buffer.q.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.q = buffer.q.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + var b5 = { + d: mhchemParser.go(buffer.d, 'pu'), + q: mhchemParser.go(buffer.q, 'pu') + }; + if (buffer.o === '//') { + ret = { type_: 'pu-frac', p1: b5.d, p2: b5.q }; + } else { + ret = b5.d; + if (b5.d.length > 1 || b5.q.length > 1) { + ret.push({ type_: ' / ' }); + } else { + ret.push({ type_: '/' }); + } + mhchemParser.concatArray(ret, b5.q); + } + } else { // no fraction + ret = mhchemParser.go(buffer.d, 'pu-2'); + } + for (var p in buffer) { delete buffer[p]; } + return ret; + } + } + }, + 'pu-2': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { action_: 'output' } }, + '*': { + '*': { action_: [ 'output', 'cdot' ], nextState: '0' } }, + '\\x': { + '*': { action_: 'rm=' } }, + 'space': { + '*': { action_: [ 'output', 'space' ], nextState: '0' } }, + '^{(...)}|^(-1)': { + '1': { action_: '^(-1)' } }, + '-9.,9': { + '0': { action_: 'rm=', nextState: '0' }, + '1': { action_: '^(-1)', nextState: '0' } }, + '{...}|else': { + '*': { action_: 'rm=', nextState: '1' } } + }), + actions: { + 'cdot': function () { return { type_: 'tight cdot' }; }, + '^(-1)': function (buffer, m) { buffer.rm += "^{"+m+"}"; }, + 'space': function () { return { type_: 'pu-space-2' }; }, + 'output': function (buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret = []; + if (buffer.rm) { + var mrm = mhchemParser.patterns.match_('{(...)}', buffer.rm || ""); + if (mrm && mrm.remainder === '') { + ret = mhchemParser.go(mrm.match_, 'pu'); + } else { + ret = { type_: 'rm', p1: buffer.rm }; + } + } + for (var p in buffer) { delete buffer[p]; } + return ret; + } + } + }, + 'pu-9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '0': { action_: 'output-0' }, + 'o': { action_: 'output-o' } }, + ',': { + '0': { action_: [ 'output-0', 'comma' ], nextState: 'o' } }, + '.': { + '0': { action_: [ 'output-0', 'copy' ], nextState: 'o' } }, + 'else': { + '*': { action_: 'text=' } } + }), + actions: { + 'comma': function () { return { type_: 'commaDecimal' }; }, + 'output-0': function (buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + if (buffer.text_.length > 4) { + var a = buffer.text_.length % 3; + if (a === 0) { a = 3; } + for (var i=buffer.text_.length-3; i>0; i-=3) { + ret.push(buffer.text_.substr(i, 3)); + ret.push({ type_: '1000 separator' }); + } + ret.push(buffer.text_.substr(0, a)); + ret.reverse(); + } else { + ret.push(buffer.text_); + } + for (var p in buffer) { delete buffer[p]; } + return ret; + }, + 'output-o': function (buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + if (buffer.text_.length > 4) { + var a = buffer.text_.length - 3; + for (var i=0; i" || buf.r === "<=>>" || buf.r === "<<=>" || buf.r === "<-->") { + // arrows that cannot stretch correctly yet, https://github.com/mathjax/MathJax/issues/1491 + arrow = "\\long"+arrow; + if (b6.rd) { arrow = "\\overset{"+b6.rd+"}{"+arrow+"}"; } + if (b6.rq) { arrow = "\\underset{\\lower7mu{"+b6.rq+"}}{"+arrow+"}"; } + arrow = " {}\\mathrel{"+arrow+"}{} "; + } else { + if (b6.rq) { arrow += "[{"+b6.rq+"}]"; } + arrow += "{"+b6.rd+"}"; + arrow = " {}\\mathrel{\\x"+arrow+"}{} "; + } + } else { + arrow = " {}\\mathrel{\\long"+arrow+"}{} "; + } + res = arrow; + break; + case 'operator': + res = texify._getOperator(buf.kind_); + break; + case '1st-level escape': + res = buf.p1+" "; // &, \\\\, \\hlin + break; + case 'space': + res = " "; + break; + case 'entitySkip': + res = "~"; + break; + case 'pu-space-1': + res = "~"; + break; + case 'pu-space-2': + res = "\\mkern3mu "; + break; + case '1000 separator': + res = "\\mkern2mu "; + break; + case 'commaDecimal': + res = "{,}"; + break; + case 'comma enumeration L': + res = "{"+buf.p1+"}\\mkern6mu "; + break; + case 'comma enumeration M': + res = "{"+buf.p1+"}\\mkern3mu "; + break; + case 'comma enumeration S': + res = "{"+buf.p1+"}\\mkern1mu "; + break; + case 'hyphen': + res = "\\text{-}"; + break; + case 'addition compound': + res = "\\,{\\cdot}\\,"; + break; + case 'electron dot': + res = "\\mkern1mu \\bullet\\mkern1mu "; + break; + case 'KV x': + res = "{\\times}"; + break; + case 'prime': + res = "\\prime "; + break; + case 'cdot': + res = "\\cdot "; + break; + case 'tight cdot': + res = "\\mkern1mu{\\cdot}\\mkern1mu "; + break; + case 'times': + res = "\\times "; + break; + case 'circa': + res = "{\\sim}"; + break; + case '^': + res = "uparrow"; + break; + case 'v': + res = "downarrow"; + break; + case 'ellipsis': + res = "\\ldots "; + break; + case '/': + res = "/"; + break; + case ' / ': + res = "\\,/\\,"; + break; + default: + assertNever(buf); + throw ["MhchemBugT", "mhchem bug T. Please report."]; // Missing texify rule or unknown MhchemParser output + } + assertString(res); + return res; + }, + _getArrow: function (a) { + switch (a) { + case "->": return "rightarrow"; + case "\u2192": return "rightarrow"; + case "\u27F6": return "rightarrow"; + case "<-": return "leftarrow"; + case "<->": return "leftrightarrow"; + case "<-->": return "leftrightarrows"; + case "<=>": return "rightleftharpoons"; + case "\u21CC": return "rightleftharpoons"; + case "<=>>": return "Rightleftharpoons"; + case "<<=>": return "Leftrightharpoons"; + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getBond: function (a) { + switch (a) { + case "-": return "{-}"; + case "1": return "{-}"; + case "=": return "{=}"; + case "2": return "{=}"; + case "#": return "{\\equiv}"; + case "3": return "{\\equiv}"; + case "~": return "{\\tripledash}"; + case "~-": return "{\\rlap{\\lower.1em{-}}\\raise.1em{\\tripledash}}"; + case "~=": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}"; + case "~--": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}"; + case "-~-": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{-}}\\tripledash}"; + case "...": return "{{\\cdot}{\\cdot}{\\cdot}}"; + case "....": return "{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}"; + case "->": return "{\\rightarrow}"; + case "<-": return "{\\leftarrow}"; + case "<": return "{<}"; + case ">": return "{>}"; + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getOperator: function (a) { + switch (a) { + case "+": return " {}+{} "; + case "-": return " {}-{} "; + case "=": return " {}={} "; + case "<": return " {}<{} "; + case ">": return " {}>{} "; + case "<<": return " {}\\ll{} "; + case ">>": return " {}\\gg{} "; + case "\\pm": return " {}\\pm{} "; + case "\\approx": return " {}\\approx{} "; + case "$\\approx$": return " {}\\approx{} "; + case "v": return " \\downarrow{} "; + case "(v)": return " \\downarrow{} "; + case "^": return " \\uparrow{} "; + case "(^)": return " \\uparrow{} "; + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + } + }; + + // + // Helpers for code anaylsis + // Will show type error at calling position + // + /** @param {number} a */ + function assertNever(a) {} + /** @param {string} a */ + function assertString(a) {} + + // + // MathJax definitions + // + MathJax.Extension["TeX/mhchem"].CE = CE; + + /***************************************************************************/ + + TEX.Definitions.Add({ + macros: { + // + // Set up the macros for chemistry + // + ce: "CE", + pu: "PU", + + // + // Make these load AMSmath package (redefined below when loaded) + // + xleftrightarrow: ["Extension", "AMSmath"], + xrightleftharpoons: ["Extension", "AMSmath"], + xRightleftharpoons: ["Extension", "AMSmath"], + xLeftrightharpoons: ["Extension", "AMSmath"], + + // FIXME: These don't work well in FF NativeMML mode + longrightleftharpoons: ["Macro", "\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"], + longRightleftharpoons: ["Macro", "\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\smash{\\leftharpoondown}}"], + longLeftrightharpoons: ["Macro", "\\stackrel{\\textstyle\\vphantom{{-}}{\\rightharpoonup}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"], + longleftrightarrows: ["Macro", "\\stackrel{\\longrightarrow}{\\smash{\\longleftarrow}\\Rule{0px}{.25em}{0px}}"], + + // + // Needed for \bond for the ~ forms + // Not perfectly aligned when zoomed in, but on 100% + // + tripledash: ["Macro", "\\vphantom{-}\\raise2mu{\\kern2mu\\tiny\\text{-}\\kern1mu\\text{-}\\kern1mu\\text{-}\\kern2mu}"] + }, + }, null, true); + + if (!MathJax.Extension["TeX/AMSmath"]) { + TEX.Definitions.Add({ + macros: { + xrightarrow: ["Extension", "AMSmath"], + xleftarrow: ["Extension", "AMSmath"] + } + }, null, true); + } + + // + // These arrows need to wait until AMSmath is loaded + // + MathJax.Hub.Register.StartupHook("TeX AMSmath Ready", function () { + TEX.Definitions.Add({ + macros: { + // + // Some of these are hacks for now + // + xleftrightarrow: ["xArrow", 0x2194, 6, 6], + xrightleftharpoons: ["xArrow", 0x21CC, 5, 7], // FIXME: doesn't stretch in HTML-CSS output + xRightleftharpoons: ["xArrow", 0x21CC, 5, 7], // FIXME: how should this be handled? + xLeftrightharpoons: ["xArrow", 0x21CC, 5, 7] + } + }, null, true); + }); + + TEX.Parse.Augment({ + + // + // Implements \ce and friends + // + CE: function (name) { + var arg = this.GetArgument(name); + var tex = CE(arg).Parse(); + this.string = tex + this.string.substr(this.i); this.i = 0; + }, + + PU: function (name) { + var arg = this.GetArgument(name); + var tex = CE(arg).Parse('pu'); + this.string = tex + this.string.substr(this.i); this.i = 0; + } + + }); + + // + // Indicate that the extension is ready + // + MathJax.Hub.Startup.signal.Post("TeX mhchem Ready"); + +}); + +MathJax.Ajax.loadComplete("[mhchem]/mhchem.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/newcommand.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/newcommand.js new file mode 100644 index 00000000..b4edc892 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/newcommand.js @@ -0,0 +1,270 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/newcommand.js + * + * Implements the \newcommand, \newenvironment and \def + * macros, and is loaded automatically when needed. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/newcommand"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + TEXDEF.Add({ + macros: { + newcommand: 'NewCommand', + renewcommand: 'NewCommand', + newenvironment: 'NewEnvironment', + renewenvironment: 'NewEnvironment', + def: 'MacroDef', + 'let': 'Let' + } + },null,true); + + TEX.Parse.Augment({ + + /* + * Implement \newcommand{\name}[n][default]{...} + */ + NewCommand: function (name) { + var cs = this.trimSpaces(this.GetArgument(name)), + n = this.GetBrackets(name), + opt = this.GetBrackets(name), + def = this.GetArgument(name); + if (cs.charAt(0) === "\\") {cs = cs.substr(1)} + if (!cs.match(/^(.|[a-z]+)$/i)) { + TEX.Error(["IllegalControlSequenceName", + "Illegal control sequence name for %1",name]); + } + if (n) { + n = this.trimSpaces(n); + if (!n.match(/^[0-9]+$/)) { + TEX.Error(["IllegalParamNumber", + "Illegal number of parameters specified in %1",name]); + } + } + this.setDef(cs,['Macro',def,n,opt]); + }, + + /* + * Implement \newenvironment{name}[n][default]{begincmd}{endcmd} + */ + NewEnvironment: function (name) { + var env = this.trimSpaces(this.GetArgument(name)), + n = this.GetBrackets(name), + opt = this.GetBrackets(name), + bdef = this.GetArgument(name), + edef = this.GetArgument(name); + if (n) { + n = this.trimSpaces(n); + if (!n.match(/^[0-9]+$/)) { + TEX.Error(["IllegalParamNumber", + "Illegal number of parameters specified in %1",name]); + } + } + this.setEnv(env,['BeginEnv',[null,'EndEnv'],bdef,edef,n,opt]); + }, + + /* + * Implement \def command + */ + MacroDef: function (name) { + var cs = this.GetCSname(name), + params = this.GetTemplate(name,"\\"+cs), + def = this.GetArgument(name); + if (!(params instanceof Array)) {this.setDef(cs,['Macro',def,params])} + else {this.setDef(cs,['MacroWithTemplate',def].concat(params))} + }, + + /* + * Implements the \let command + */ + Let: function (name) { + var cs = this.GetCSname(name), macro; + var c = this.GetNext(); if (c === "=") {this.i++; c = this.GetNext()} + // + // All \let commands create entries in the macros array, but we + // have to look in the various mathchar and delimiter arrays if + // the source isn't a macro already, and attach the data to a + // macro with the proper routine to process it. + // + // A command of the form \let\cs=char produces a macro equivalent + // to \def\cs{char}, which is as close as MathJax can get for this. + // So \let\bgroup={ is possible, but doesn't work as it does in TeX. + // + if (c === "\\") { + name = this.GetCSname(name); + macro = this.csFindMacro(name); + if (!macro) { + if (TEXDEF.mathchar0mi.hasOwnProperty(name)) {macro = ["csMathchar0mi",TEXDEF.mathchar0mi[name]]} else + if (TEXDEF.mathchar0mo.hasOwnProperty(name)) {macro = ["csMathchar0mo",TEXDEF.mathchar0mo[name]]} else + if (TEXDEF.mathchar7.hasOwnProperty(name)) {macro = ["csMathchar7",TEXDEF.mathchar7[name]]} else + if (TEXDEF.delimiter.hasOwnProperty("\\"+name)) {macro = ["csDelimiter",TEXDEF.delimiter["\\"+name]]} else + return; + } + } else {macro = ["Macro",c]; this.i++} + this.setDef(cs,macro); + }, + + /* + * Get a CS name or give an error + */ + GetCSname: function (cmd) { + var c = this.GetNext(); + if (c !== "\\") { + TEX.Error(["MissingCS", + "%1 must be followed by a control sequence", cmd]) + } + var cs = this.trimSpaces(this.GetArgument(cmd)); + return cs.substr(1); + }, + + /* + * Get a \def parameter template + */ + GetTemplate: function (cmd,cs) { + var c, params = [], n = 0; + c = this.GetNext(); var i = this.i; + while (this.i < this.string.length) { + c = this.GetNext(); + if (c === '#') { + if (i !== this.i) {params[n] = this.string.substr(i,this.i-i)} + c = this.string.charAt(++this.i); + if (!c.match(/^[1-9]$/)) { + TEX.Error(["CantUseHash2", + "Illegal use of # in template for %1",cs]); + } + if (parseInt(c) != ++n) { + TEX.Error(["SequentialParam", + "Parameters for %1 must be numbered sequentially",cs]); + } + i = this.i+1; + } else if (c === '{') { + if (i !== this.i) {params[n] = this.string.substr(i,this.i-i)} + if (params.length > 0) {return [n,params]} else {return n} + } + this.i++; + } + TEX.Error(["MissingReplacementString", + "Missing replacement string for definition of %1",cmd]); + }, + + /* + * Process a macro with a parameter template + */ + MacroWithTemplate: function (name,text,n,params) { + if (n) { + var args = []; this.GetNext(); + if (params[0] && !this.MatchParam(params[0])) { + TEX.Error(["MismatchUseDef", + "Use of %1 doesn't match its definition",name]); + } + for (var i = 0; i < n; i++) {args.push(this.GetParameter(name,params[i+1]))} + text = this.SubstituteArgs(args,text); + } + this.string = this.AddArgs(text,this.string.slice(this.i)); + this.i = 0; + if (++this.macroCount > TEX.config.MAXMACROS) { + TEX.Error(["MaxMacroSub1", + "MathJax maximum macro substitution count exceeded; " + + "is there a recursive macro call?"]); + } + }, + + /* + * Process a user-defined environment + */ + BeginEnv: function (begin,bdef,edef,n,def) { + if (n) { + var args = []; + if (def != null) { + var optional = this.GetBrackets("\\begin{"+name+"}"); + args.push(optional == null ? def : optional); + } + for (var i = args.length; i < n; i++) {args.push(this.GetArgument("\\begin{"+name+"}"))} + bdef = this.SubstituteArgs(args,bdef); + edef = this.SubstituteArgs([],edef); // no args, but get errors for #n in edef + } + this.string = this.AddArgs(bdef,this.string.slice(this.i)); this.i = 0; + return begin; + }, + EndEnv: function (begin,bdef,edef,n) { + var end = "\\end{\\end\\"+begin.name+"}"; // special version of \end for after edef + this.string = this.AddArgs(edef,end+this.string.slice(this.i)); this.i = 0; + return null; + }, + + /* + * Find a single parameter delimited by a trailing template + */ + GetParameter: function (name,param) { + if (param == null) {return this.GetArgument(name)} + var i = this.i, j = 0, hasBraces = 0; + while (this.i < this.string.length) { + var c = this.string.charAt(this.i); + if (c === '{') { + if (this.i === i) {hasBraces = 1} + this.GetArgument(name); j = this.i - i; + } else if (this.MatchParam(param)) { + if (hasBraces) {i++; j -= 2} + return this.string.substr(i,j); + } else if (c === "\\") { + this.i++; j++; hasBraces = 0; + var match = this.string.substr(this.i).match(/[a-z]+|./i); + if (match) {this.i += match[0].length; j = this.i - i} + } else { + this.i++; j++; hasBraces = 0; + } + } + TEX.Error(["RunawayArgument","Runaway argument for %1?",name]); + }, + + /* + * Check if a template is at the current location. + * (The match must be exact, with no spacing differences. TeX is + * a little more forgiving than this about spaces after macro names) + */ + MatchParam: function (param) { + if (this.string.substr(this.i,param.length) !== param) {return 0} + if (param.match(/\\[a-z]+$/i) && + this.string.charAt(this.i+param.length).match(/[a-z]/i)) {return 0} + this.i += param.length; + return 1; + } + + }); + + TEX.Environment = function (name) { + TEXDEF.environment[name] = ['BeginEnv',[null,'EndEnv']].concat([].slice.call(arguments,1)); + TEXDEF.environment[name].isUser = true; + } + + MathJax.Hub.Startup.signal.Post("TeX newcommand Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/newcommand.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/noErrors.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/noErrors.js new file mode 100644 index 00000000..87acaf90 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/noErrors.js @@ -0,0 +1,405 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/noErrors.js + * + * Prevents the TeX error messages from being displayed and shows the + * original TeX code instead. You can configure whether the dollar signs + * are shown or not for in-line math, and whether to put all the TeX on + * one line or use multiple-lines. + * + * To configure this extension, use + * + * MathJax.Hub.Config({ + * TeX: { + * noErrors: { + * inlineDelimiters: ["",""], // or ["$","$"] or ["\\(","\\)"] + * multiLine: true, // false for TeX on all one line + * style: { + * "font-size": "90%", + * "text-align": "left", + * "color": "black", + * "padding": "1px 3px", + * "border": "1px solid" + * // add any additional CSS styles that you want + * // (be sure there is no extra comma at the end of the last item) + * } + * } + * } + * }); + * + * Display-style math is always shown in multi-line format, and without + * delimiters, as it will already be set off in its own centered + * paragraph, like standard display mathematics. + * + * The default settings place the invalid TeX in a multi-line box with a + * black border. If you want it to look as though the TeX is just part of + * the paragraph, use + * + * MathJax.Hub.Config({ + * TeX: { + * noErrors: { + * inlineDelimiters: ["$","$"], // or ["",""] or ["\\(","\\)"] + * multiLine: false, + * style: { + * "font-size": "normal", + * "border": "" + * } + * } + * } + * }); + * + * You may also wish to set the font family, as the default is "serif" + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML) { + var VERSION = "2.7.5"; + + var CONFIG = HUB.CombineConfig("TeX.noErrors",{ + disabled: false, // set to true to return to original error messages + multiLine: true, + inlineDelimiters: ["",""], // or use ["$","$"] or ["\\(","\\)"] + style: { + "font-size": "90%", + "text-align": "left", + "color": "black", + "padding": "1px 3px", + "border": "1px solid" + } + }); + + var NBSP = "\u00A0"; + + // + // The configuration defaults, augmented by the user settings + // + MathJax.Extension["TeX/noErrors"] = { + version: VERSION, + config: CONFIG + }; + + HUB.Register.StartupHook("TeX Jax Ready",function () { + var FORMAT = MathJax.InputJax.TeX.formatError; + + MathJax.InputJax.TeX.Augment({ + // + // Make error messages be the original TeX code + // Mark them as errors and multi-line or not, and for + // multi-line TeX, make spaces non-breakable (to get formatting right) + // + formatError: function (err,math,displaystyle,script) { + if (CONFIG.disabled) {return FORMAT.apply(this,arguments)} + var message = err.message.replace(/\n.*/,""); + HUB.signal.Post(["TeX Jax - parse error",message,math,displaystyle,script]); + var delim = CONFIG.inlineDelimiters; + var multiLine = (displaystyle || CONFIG.multiLine); + if (!displaystyle) {math = delim[0] + math + delim[1]} + if (multiLine) {math = math.replace(/ /g,NBSP)} else {math = math.replace(/\n/g," ")} + return MathJax.ElementJax.mml.merror(math).With({isError:true, multiLine: multiLine}); + } + }); + }); + + /******************************************************************* + * + * Fix HTML-CSS output + */ + + HUB.Register.StartupHook("HTML-CSS Jax Config",function () { + HUB.Config({ + "HTML-CSS": { + styles: { + ".MathJax .noError": HUB.Insert({ + "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") + },CONFIG.style) + } + } + }); + }); + + HUB.Register.StartupHook("HTML-CSS Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + + var MATH = MML.math.prototype.toHTML, + MERROR = MML.merror.prototype.toHTML; + + // + // Override math toHTML routine so that error messages + // don't have the clipping and other unneeded overhead + // + MML.math.Augment({ + toHTML: function (span,node) { + var data = this.data[0]; + if (data && data.data[0] && data.data[0].isError) { + span.style.fontSize = ""; + span = this.HTMLcreateSpan(span); + span.bbox = data.data[0].toHTML(span).bbox; + } else { + span = MATH.apply(this,arguments); + } + return span; + } + }); + + // + // Override merror toHTML routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toHTML: function (span) { + if (!this.isError) {return MERROR.apply(this,arguments)} + span = this.HTMLcreateSpan(span); span.className = "noError" + if (this.multiLine) {span.style.display = "inline-block"} + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + HTMLCSS.addText(span,text[i]); + if (i !== m-1) {HTMLCSS.addElement(span,"br",{isMathJax:true})} + } + var HD = HTMLCSS.getHD(span.parentNode), W = HTMLCSS.getW(span.parentNode); + if (m > 1) { + var H = (HD.h + HD.d)/2, x = HTMLCSS.TeX.x_height/2; + span.parentNode.style.verticalAlign = HTMLCSS.Em(HD.d+(x-H)); + HD.h = x + H; HD.d = H - x; + } + span.bbox = {h: HD.h, d: HD.d, w: W, lw: 0, rw: W}; + return span; + } + }); + + }); + + /******************************************************************* + * + * Fix SVG output + */ + + HUB.Register.StartupHook("SVG Jax Config",function () { + HUB.Config({ + "SVG": { + styles: { + ".MathJax_SVG .noError": HUB.Insert({ + "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") + },CONFIG.style) + } + } + }); + }); + + HUB.Register.StartupHook("SVG Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + + var MATH = MML.math.prototype.toSVG, + MERROR = MML.merror.prototype.toSVG; + + // + // Override math toSVG routine so that error messages + // don't have the clipping and other unneeded overhead + // + MML.math.Augment({ + toSVG: function (span,node) { + var data = this.data[0]; + if (data && data.data[0] && data.data[0].isError) + {span = data.data[0].toSVG(span)} else {span = MATH.apply(this,arguments)} + return span; + } + }); + + // + // Override merror toSVG routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toSVG: function (span) { + if (!this.isError || this.Parent().type !== "math") {return MERROR.apply(this,arguments)} + span = HTML.addElement(span,"span",{className: "noError", isMathJax:true}); + if (this.multiLine) {span.style.display = "inline-block"} + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + HTML.addText(span,text[i]); + if (i !== m-1) {HTML.addElement(span,"br",{isMathJax:true})} + } + if (m > 1) { + var H = span.offsetHeight/2; + span.style.verticalAlign = (-H+(H/m))+"px"; + } + return span; + } + }); + + }); + + /******************************************************************* + * + * Fix NativeMML output + */ + + HUB.Register.StartupHook("NativeMML Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var CONFIG = MathJax.Extension["TeX/noErrors"].config; + + var MATH = MML.math.prototype.toNativeMML, + MERROR = MML.merror.prototype.toNativeMML; + + // + // Override math toNativeMML routine so that error messages + // don't get placed inside math tags. + // + MML.math.Augment({ + toNativeMML: function (span) { + var data = this.data[0]; + if (data && data.data[0] && data.data[0].isError) + {span = data.data[0].toNativeMML(span)} else {span = MATH.apply(this,arguments)} + return span; + } + }); + + // + // Override merror toNativeMML routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toNativeMML: function (span) { + if (!this.isError) {return MERROR.apply(this,arguments)} + span = span.appendChild(document.createElement("span")); + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + span.appendChild(document.createTextNode(text[i])); + if (i !== m-1) {span.appendChild(document.createElement("br"))} + } + if (this.multiLine) { + span.style.display = "inline-block"; + if (m > 1) {span.style.verticalAlign = "middle"} + } + for (var id in CONFIG.style) {if (CONFIG.style.hasOwnProperty(id)) { + var ID = id.replace(/-./g,function (c) {return c.charAt(1).toUpperCase()}); + span.style[ID] = CONFIG.style[id]; + }} + return span; + } + }); + + }); + + /******************************************************************* + * + * Fix PreviewHTML output + */ + + HUB.Register.StartupHook("PreviewHTML Jax Config",function () { + HUB.Config({ + PreviewHTML: { + styles: { + ".MathJax_PHTML .noError": HUB.Insert({ + "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") + },CONFIG.style) + } + } + }); + }); + + HUB.Register.StartupHook("PreviewHTML Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var HTML = MathJax.HTML; + + var MERROR = MML.merror.prototype.toPreviewHTML; + + // + // Override merror toPreviewHTML routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toPreviewHTML: function (span) { + if (!this.isError) return MERROR.apply(this,arguments); + span = this.PHTMLcreateSpan(span); span.className = "noError" + if (this.multiLine) span.style.display = "inline-block"; + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + HTML.addText(span,text[i]); + if (i !== m-1) {HTML.addElement(span,"br",{isMathJax:true})} + } + return span; + } + }); + + }); + + /******************************************************************* + * + * Fix CommonHTML output + */ + + HUB.Register.StartupHook("CommonHTML Jax Config",function () { + HUB.Config({ + CommonHTML: { + styles: { + ".mjx-chtml .mjx-noError": HUB.Insert({ + "line-height": 1.2, + "vertical-align": (HUB.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") + },CONFIG.style) + } + } + }); + }); + + HUB.Register.StartupHook("CommonHTML Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var CHTML = MathJax.OutputJax.CommonHTML; + var HTML = MathJax.HTML; + + var MERROR = MML.merror.prototype.toCommonHTML; + + // + // Override merror toCommonHTML routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toCommonHTML: function (node) { + if (!this.isError) return MERROR.apply(this,arguments); + node = CHTML.addElement(node,"mjx-noError"); + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + HTML.addText(node,text[i]); + if (i !== m-1) {CHTML.addElement(node,"br",{isMathJax:true})} + } + var bbox = this.CHTML = CHTML.BBOX.zero(); + bbox.w = (node.offsetWidth)/CHTML.em; + if (m > 1) { + var H2 = 1.2*m/2; + bbox.h = H2+.25; bbox.d = H2-.25; + node.style.verticalAlign = CHTML.Em(.45-H2); + } else { + bbox.h = 1; bbox.d = .2 + 2/CHTML.em; + } + return node; + } + }); + + }); + + /*******************************************************************/ + + HUB.Startup.signal.Post("TeX noErrors Ready"); + +})(MathJax.Hub,MathJax.HTML); + + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noErrors.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/noUndefined.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/noUndefined.js new file mode 100644 index 00000000..ef292d12 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/noUndefined.js @@ -0,0 +1,72 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/noUndefined.js + * + * This causes undefined control sequences to be shown as their macro + * names rather than producing an error message. So $X_{\xxx}$ would + * display as an X with a subscript consiting of the text "\xxx". + * + * To configure this extension, use for example + * + * MathJax.Hub.Config({ + * TeX: { + * noUndefined: { + * attributes: { + * mathcolor: "red", + * mathbackground: "#FFEEEE", + * mathsize: "90%" + * } + * } + * } + * }); + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +// +// The configuration defaults, augmented by the user settings +// +MathJax.Extension["TeX/noUndefined"] = { + version: "2.7.5", + config: MathJax.Hub.CombineConfig("TeX.noUndefined",{ + disabled: false, // set to true to return to original error messages + attributes: { + mathcolor: "red" + } + }) +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var CONFIG = MathJax.Extension["TeX/noUndefined"].config; + var MML = MathJax.ElementJax.mml; + var UNDEFINED = MathJax.InputJax.TeX.Parse.prototype.csUndefined; + + MathJax.InputJax.TeX.Parse.Augment({ + csUndefined: function (name) { + if (CONFIG.disabled) {return UNDEFINED.apply(this,arguments)} + MathJax.Hub.signal.Post(["TeX Jax - undefined control sequence",name]); + this.Push(MML.mtext(name).With(CONFIG.attributes)); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX noUndefined Ready"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noUndefined.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/unicode.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/unicode.js new file mode 100644 index 00000000..629870b8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/unicode.js @@ -0,0 +1,170 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/unicode.js + * + * Implements the \unicode extension to TeX to allow arbitrary unicode + * code points to be entered into the TeX file. You can specify + * the height and depth of the character (the width is determined by + * the browser), and the default font from which to take the character. + * + * Examples: + * \unicode{65} % the character 'A' + * \unicode{x41} % the character 'A' + * \unicode[.55,0.05]{x22D6} % less-than with dot, with height .55 and depth 0.05 + * \unicode[.55,0.05][Geramond]{x22D6} % same taken from Geramond font + * \unicode[Garamond]{x22D6} % same, but with default height, depth of .8,.2 + * + * Once a size and font are provided for a given code point, they need + * not be specified again in subsequent \unicode calls for that character. + * Note that a font list can be given, but Internet Explorer has a buggy + * implementation of font-family where it only looks in the first + * available font and if the glyph is not in that, it does not look at + * later fonts, but goes directly to the default font as set in the + * Internet-Options/Font panel. For this reason, the default font list is + * "STIXGeneral,'Arial Unicode MS'", so if the user has STIX fonts, the + * symbol will be taken from that (almost all the symbols are in + * STIXGeneral), otherwise Arial Unicode MS is tried. + * + * To configure the default font list, use + * + * MathJax.Hub.Config({ + * TeX: { + * unicode: { + * fonts: "STIXGeneral,'Arial Unicode MS'" + * } + * } + * }); + * + * The result of \unicode will have TeX class ORD (i.e., it will act like a + * variable). Use \mathbin, \mathrel, etc, to specify a different class. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +// +// The configuration defaults, augmented by the user settings +// +MathJax.Extension["TeX/unicode"] = { + version: "2.7.5", + unicode: {}, + config: MathJax.Hub.CombineConfig("TeX.unicode",{ + fonts: "STIXGeneral,'Arial Unicode MS'" + }) +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX; + var MML = MathJax.ElementJax.mml; + var UNICODE = MathJax.Extension["TeX/unicode"].unicode; + + // + // Add \unicode macro + // + TEX.Definitions.Add({macros: {unicode: 'Unicode'}},null,true); + // + // Implementation of \unicode in parser + // + TEX.Parse.Augment({ + Unicode: function(name) { + var HD = this.GetBrackets(name), font; + if (HD) { + if (HD.replace(/ /g,"").match(/^(\d+(\.\d*)?|\.\d+),(\d+(\.\d*)?|\.\d+)$/)) + {HD = HD.replace(/ /g,"").split(/,/); font = this.GetBrackets(name)} + else {font = HD; HD = null} + } + var n = this.trimSpaces(this.GetArgument(name)).replace(/^0x/,"x"); + if (!n.match(/^(x[0-9A-Fa-f]+|[0-9]+)$/)) { + TEX.Error(["BadUnicode","Argument to \\unicode must be a number"]); + } + var N = parseInt(n.match(/^x/) ? "0"+n : n); + if (!UNICODE[N]) {UNICODE[N] = [800,200,font,N]} + else if (!font) {font = UNICODE[N][2]} + if (HD) { + UNICODE[N][0] = Math.floor(HD[0]*1000); + UNICODE[N][1] = Math.floor(HD[1]*1000); + } + var variant = this.stack.env.font, def = {}; + if (font) { + UNICODE[N][2] = def.fontfamily = font.replace(/"/g,"'"); + if (variant) { + if (variant.match(/bold/)) {def.fontweight = "bold"} + if (variant.match(/italic|-mathit/)) {def.fontstyle = "italic"} + } + } else if (variant) {def.mathvariant = variant} + def.unicode = [].concat(UNICODE[N]); // make a copy + this.Push(MML.mtext(MML.entity("#"+n)).With(def)); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX unicode Ready"); + +}); + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var FONTS = MathJax.Extension["TeX/unicode"].config.fonts; + + // + // Override getVariant to make one that includes the font and size + // + var GETVARIANT = MML.mbase.prototype.HTMLgetVariant; + MML.mbase.Augment({ + HTMLgetVariant: function () { + var variant = GETVARIANT.apply(this,arguments); + if (variant.unicode) {delete variant.unicode; delete variant.FONTS} // clear font cache in case of restart + if (!this.unicode) {return variant} + variant.unicode = true; + if (!variant.defaultFont) { + variant = MathJax.Hub.Insert({},variant); // make a copy + variant.defaultFont = {family:FONTS}; + } + var family = this.unicode[2]; if (family) {family += ","+FONTS} else {family = FONTS} + variant.defaultFont[this.unicode[3]] = [ + this.unicode[0],this.unicode[1],500,0,500, + {isUnknown:true, isUnicode:true, font:family} + ]; + return variant; + } + }); +}); + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var FONTS = MathJax.Extension["TeX/unicode"].config.fonts; + + // + // Override getVariant to make one that includes the font and size + // + var GETVARIANT = MML.mbase.prototype.SVGgetVariant; + MML.mbase.Augment({ + SVGgetVariant: function () { + var variant = GETVARIANT.call(this); + if (variant.unicode) {delete variant.unicode; delete variant.FONTS} // clear font cache in case of restart + if (!this.unicode) {return variant} + variant.unicode = true; + if (!variant.forceFamily) {variant = MathJax.Hub.Insert({},variant)} // make a copy + variant.defaultFamily = FONTS; variant.noRemap = true; + variant.h = this.unicode[0]; variant.d = this.unicode[1]; + return variant; + } + }); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/unicode.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/TeX/verb.js b/src/py/kaleido/vendor/mathjax/extensions/TeX/verb.js new file mode 100644 index 00000000..348c5012 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/TeX/verb.js @@ -0,0 +1,61 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/TeX/verb.js + * + * Implements the \verb|...| command for including text verbatim + * (with no processing of macros or special characters). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension["TeX/verb"] = { + version: "2.7.5" +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + + var MML = MathJax.ElementJax.mml; + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + TEXDEF.Add({macros: {verb: 'Verb'}},null,true); + + TEX.Parse.Augment({ + + /* + * Implement \verb|...| + */ + Verb: function (name) { + var c = this.GetNext(); var start = ++this.i; + if (c == "" ) {TEX.Error(["MissingArgFor","Missing argument for %1",name])} + while (this.i < this.string.length && this.string.charAt(this.i) != c) {this.i++} + if (this.i == this.string.length) + {TEX.Error(["NoClosingDelim","Can't find closing delimiter for %1", name])} + var text = this.string.slice(start,this.i).replace(/ /g,"\u00A0"); this.i++; + this.Push(MML.mtext(text).With({mathvariant:MML.VARIANT.MONOSPACE})); + } + + }); + + MathJax.Hub.Startup.signal.Post("TeX verb Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/verb.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/a11y/accessibility-menu.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/accessibility-menu.js new file mode 100644 index 00000000..2d241f97 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/a11y/accessibility-menu.js @@ -0,0 +1 @@ +!function(a,b){var c,d,e=a.config.menuSettings,f=Function.prototype.bind?function(a,b){return a.bind(b)}:function(a,b){return function(){a.apply(b,arguments)}},g=Object.keys||function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b},h=MathJax.Ajax.config.path;h.a11y||(h.a11y=a.config.root+"/extensions/a11y");var i=b["accessibility-menu"]={version:"1.5.0",prefix:"",defaults:{},modules:[],MakeOption:function(a){return i.prefix+a},GetOption:function(a){return e[i.MakeOption(a)]},AddDefaults:function(){for(var a,b=g(i.defaults),c=0;a=b[c];c++){var d=i.MakeOption(a);void 0===e[d]&&(e[d]=i.defaults[a])}},AddMenu:function(){for(var a,b=Array(this.modules.length),e=0;a=this.modules[e];e++)b[e]=a.placeHolder;var f=d.FindId("Accessibility");if(f)b.unshift(c.RULE()),f.submenu.items.push.apply(f.submenu.items,b);else{var g=(d.FindId("Settings","Renderer")||{}).submenu;g&&(b.unshift(c.RULE()),b.unshift(g.items.pop()),b.unshift(g.items.pop())),b.unshift("Accessibility");var f=c.SUBMENU.apply(c.SUBMENU,b),h=d.IndexOfId("Locale");h?d.items.splice(h,0,f):d.items.push(c.RULE(),f)}},Register:function(a){i.defaults[a.option]=!1,i.modules.push(a)},Startup:function(){c=MathJax.Menu.ITEM,d=MathJax.Menu.menu;for(var a,b=0;a=this.modules[b];b++)a.CreateMenu();this.AddMenu()},LoadExtensions:function(){for(var b,c=[],d=0;b=this.modules[d];d++)e[b.option]&&c.push(b.module);return c.length?a.Startup.loadArray(c):null}},j=MathJax.Extension.ModuleLoader=MathJax.Object.Subclass({option:"",name:["",""],module:"",placeHolder:null,submenu:!1,extension:null,Init:function(a,b,c,d,e){this.option=a,this.name=[b.replace(/ /g,""),b],this.module=c,this.extension=d,this.submenu=e||!1},CreateMenu:function(){var a=f(this.Load,this);this.submenu?this.placeHolder=c.SUBMENU(this.name,c.CHECKBOX(["Activate","Activate"],i.MakeOption(this.option),{action:a}),c.RULE(),c.COMMAND(["OptionsWhenActive","(Options when Active)"],null,{disabled:!0})):this.placeHolder=c.CHECKBOX(this.name,i.MakeOption(this.option),{action:a})},Load:function(){a.Queue(["Require",MathJax.Ajax,this.module,["Enable",this]])},Enable:function(a){var b=MathJax.Extension[this.extension];b&&(b.Enable(!0,!0),MathJax.Menu.saveCookie())}});i.Register(j("collapsible","Collapsible Math","[a11y]/collapsible.js","collapsible")),i.Register(j("autocollapse","Auto Collapse","[a11y]/auto-collapse.js","auto-collapse")),i.Register(j("explorer","Explorer","[a11y]/explorer.js","explorer",!0)),i.AddDefaults(),a.Register.StartupHook("End Extensions",function(){a.Register.StartupHook("MathMenu Ready",function(){i.Startup(),a.Startup.signal.Post("Accessibility Menu Ready")},5)},5),MathJax.Hub.Register.StartupHook("End Cookie",function(){MathJax.Callback.Queue(["LoadExtensions",i],["loadComplete",MathJax.Ajax,"[a11y]/accessibility-menu.js"])})}(MathJax.Hub,MathJax.Extension); \ No newline at end of file diff --git a/src/py/kaleido/vendor/mathjax/extensions/a11y/auto-collapse.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/auto-collapse.js new file mode 100644 index 00000000..640b9c25 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/a11y/auto-collapse.js @@ -0,0 +1 @@ +!function(a){var b=a.config.menuSettings,c={},d=MathJax.Ajax.config.path;d.a11y||(d.a11y=a.config.root+"/extensions/a11y");var e=MathJax.Extension["auto-collapse"]={version:"1.5.0",config:a.CombineConfig("auto-collapse",{disabled:!1}),dependents:[],Enable:function(d,e){b.autocollapse=!0,e&&(c.autocollapse=!0),this.config.disabled=!1,MathJax.Extension.collapsible.Enable(!1,e),d&&a.Queue(["Reprocess",a],["CollapseWideMath",this])},Disable:function(d,e){b.autocollapse=!1,e&&(c.autocollapse=!1),this.config.disabled=!0;for(var f=this.dependents.length-1;f>=0;f--){var g=this.dependents[f];g.Disable&&g.Disable(!1,e)}d&&a.Queue(["Rerender",a])},Dependent:function(a){this.dependents.push(a)},Startup:function(){var b=MathJax.Extension.collapsible;b&&b.Dependent(this),a.postInputHooks.Add(["Filter",e],150),a.Queue(function(){return e.CollapseWideMath()}),window.addEventListener?window.addEventListener("resize",e.resizeHandler,!1):window.attachEvent?window.attachEvent("onresize",e.resizeHandler):window.onresize=e.resizeHandler},Filter:function(a,b,c){a.enriched&&!this.config.disabled&&("block"===a.root.Get("display")||c.parentNode.childNodes.length<=3)&&(a.root.SRE={action:this.Actions(a.root)})},Actions:function(a){var b=[];return this.getActions(a,0,b),this.sortActions(b)},getActions:function(a,b,c){if(!a.isToken&&a.data){b++;for(var d=0,e=a.data.length;db?1:0},CollapseWideMath:function(b){if(!this.config.disabled){this.GetContainerWidths(b);var c=a.getAllJax(b),d={collapse:[],jax:c,m:c.length,i:0,changed:!1};return this.collapseState(d)}},collapseState:function(b){for(var c=b.collapse;b.ie.M)){var f=this.getActionWidths(d,b);if(f)return f;this.collapseActions(e,b),b.changed&&c.push(d.SourceElement())}b.i++}if(0!==c.length)return 1===c.length&&(c=c[0]),a.Rerender(c)},collapseActions:function(a,b){for(var c=a.width,d=c,e=1e6,f=a.action.length-1;f>=0;f--){var g=a.action[f],h=g.selection;c>a.cwidth?(g.selection=1,d=g.SREwidth,e=c):g.selection=2,c=g.SREwidth,a.DOMupdate?document.getElementById(g.id).setAttribute("selection",g.selection):g.selection!==h&&(b.changed=!0)}a.m=d,a.M=e},getActionWidths:function(a,b){if(!a.root.SRE.actionWidths){MathJax.OutputJax[a.outputJax].getMetrics(a);try{this.computeActionWidths(a)}catch(a){if(!a.restart)throw a;return MathJax.Callback.After(["collapseState",this,b],a.restart)}b.changed=!0}return null},computeActionWidths:function(a){var b,c=a.root.SRE,d=c.action,e={};for(c.width=a.sreGetRootWidth(e),b=d.length-1;b>=0;b--)d[b].selection=2;for(b=d.length-1;b>=0;b--){var f=d[b];null==f.SREwidth&&(f.selection=1,f.SREwidth=a.sreGetActionWidth(e,f))}c.actionWidths=!0},GetContainerWidths:function(b){var c,d,e,f,g,h=a.getAllJax(b),i=MathJax.HTML.Element("span",{style:{display:"block"}}),j=[];for(c=0,d=h.length;c=0;f--){var g=this.dependents[f];g.Disable&&g.Disable(!1,e)}b&&a.Queue(["Reprocess",a])},Dependent:function(a){this.dependents.push(a)},Startup:function(){b=MathJax.ElementJax.mml;var c=MathJax.Extension["semantic-enrich"];c&&c.Dependent(this),a.postInputHooks.Add(["Filter",g],100)},Filter:function(a,b,c){a.enriched&&!this.config.disabled&&(a.root=a.root.Collapse(),a.root.inputID=c.id)},Marker:function(a){return b.mtext("\u25c2"+a+"\u25b8").With({mathcolor:"blue",attr:{},attrNames:[]})},MakeAction:function(a,c){var d=b.maction(a).With({id:this.getActionID(),actiontype:"toggle",complexity:a.getComplexity(),collapsible:!0,attrNames:["id","actiontype","selection",e],attr:{},selection:2});if(d.attr[e]=d.complexity,"math"===c.type){var f=b.mrow().With({complexity:c.complexity,attrNames:[],attr:{}});f.Append.apply(f,c.data);for(var g,h=c.attrNames.length-1;g=c.attrNames[h];h--)"data-semantic-"===g.substr(0,14)&&(f.attr[g]=c.attr[g],f.attrNames.push(g),delete c.attr[g],c.attrNames.splice(h,1));f.complexity=c.complexity,d.Append(f),c.data=[],c.Append(d),c.complexity=d.complexity,d=c}else d.Append(c);return d},actionID:1,getActionID:function(){return"MJX-Collapse-"+this.actionID++},Collapse:function(a){a.getComplexity();var b=(a.attr||{})["data-semantic-type"];if(b)if(this["Collapse_"+b])a=this["Collapse_"+b](a);else if(this.COLLAPSE[b]&&this.MARKER[b]){var c=a.attr["data-semantic-role"],d=this.COLLAPSE[b];if("number"!=typeof d&&(d=d[c]||d.value),a.complexity>d){var e=this.MARKER[b];"string"!=typeof e&&(e=e[c]||e.value),a=this.MakeAction(this.Marker(e),a)}}return a},UncollapseChild:function(a,b,c){if(null==c&&(c=1),this.SplitAttribute(a,"children").length===c){var d=1===a.data.length&&a.data[0].inferred?a.data[0]:a;if(d&&d.data[b]&&d.data[b].collapsible)return d.SetData(b,d.data[b].data[1]),a.complexity=d.complexity=null,a.getComplexity(),1}return 0},FindChildText:function(a,b){var c=this.FindChild(a,b);return c?(c.CoreMO()||c).data.join(""):"?"},FindChild:function(a,b){if(a){if(a.attr&&a.attr["data-semantic-id"]===b)return a;if(!a.isToken)for(var c=0,d=a.data.length;cthis.COLLAPSE.fenced&&"leftright"===a.attr["data-semantic-role"]){var b=a.data[0].data.join("")+a.data[a.data.length-1].data.join("");a=this.MakeAction(this.Marker(b),a)}return a},Collapse_appl:function(a){if(this.UncollapseChild(a,2,2)){var b=this.MARKER.appl;b=b[a.attr["data-semantic-role"]]||b.value,a=this.MakeAction(this.Marker(b),a)}return a},Collapse_sqrt:function(a){return this.UncollapseChild(a,0),a.complexity>this.COLLAPSE.sqrt&&(a=this.MakeAction(this.Marker(this.MARKER.sqrt),a)),a},Collapse_root:function(a){return this.UncollapseChild(a,0),a.complexity>this.COLLAPSE.sqrt&&(a=this.MakeAction(this.Marker(this.MARKER.sqrt),a)),a},Collapse_enclose:function(a){if(1===this.SplitAttribute(a,"children").length){var b=1===a.data.length&&a.data[0].inferred?a.data[0]:a;if(b.data[0]&&b.data[0].collapsible){var c=b.data[0];b.SetData(0,c.data[1]),c.SetData(1,a),a=c}}return a},Collapse_bigop:function(a){if(a.complexity>this.COLLAPSE.bigop||"mo"!==a.data[0].type){var b=this.SplitAttribute(a,"content").pop(),c=g.FindChildText(a,b);a=this.MakeAction(this.Marker(c),a)}return a},Collapse_integral:function(a){if(a.complexity>this.COLLAPSE.integral||"mo"!==a.data[0].type){var b=this.SplitAttribute(a,"content")[0],c=g.FindChildText(a,b);a=this.MakeAction(this.Marker(c),a)}return a},Collapse_relseq:function(a){if(a.complexity>this.COLLAPSE.relseq){var b=this.SplitAttribute(a,"content"),c=g.FindChildText(a,b[0]);b.length>1&&(c+="\u22ef"),a=this.MakeAction(this.Marker(c),a)}return a},Collapse_multirel:function(a){if(a.complexity>this.COLLAPSE.multirel){var b=this.SplitAttribute(a,"content"),c=g.FindChildText(a,b[0])+"\u22ef";a=this.MakeAction(this.Marker(c),a)}return a},Collapse_superscript:function(a){return this.UncollapseChild(a,0,2),a.complexity>this.COLLAPSE.superscript&&(a=this.MakeAction(this.Marker(this.MARKER.superscript),a)),a},Collapse_subscript:function(a){return this.UncollapseChild(a,0,2),a.complexity>this.COLLAPSE.subscript&&(a=this.MakeAction(this.Marker(this.MARKER.subscript),a)),a},Collapse_subsup:function(a){return this.UncollapseChild(a,0,3),a.complexity>this.COLLAPSE.subsup&&(a=this.MakeAction(this.Marker(this.MARKER.subsup),a)),a}};a.Register.StartupHook("End Extensions",function(){null==c.collapsible?c.collapsible=!g.config.disabled:g.config.disabled=!c.collapsible,a.Register.StartupHook("MathMenu Ready",function(){d=MathJax.Menu.cookie;var a,b=function(a){g[c.collapsible?"Enable":"Disable"](!0,!0),MathJax.Menu.saveCookie()},e=MathJax.Menu.ITEM,f=MathJax.Menu.menu,h=e.CHECKBOX(["CollapsibleMath","Collapsible Math"],"collapsible",{action:b}),i=(f.FindId("Accessibility")||{}).submenu;i?(a=i.IndexOfId("CollapsibleMath"),null!==a?i.items[a]=h:i.items.push(e.RULE(),h)):(a=f.IndexOfId("About"),f.items.splice(a,0,h,e.RULE()))},15)},15)}(MathJax.Hub),MathJax.Ajax.Require("[a11y]/semantic-enrich.js"),MathJax.Hub.Register.StartupHook("Semantic Enrich Ready",function(){var a=MathJax.ElementJax.mml,b=MathJax.Extension.collapsible,c=b.COMPLEXITY,d=b.COMPLEXATTR;b.Startup(),a.mbase.Augment({Collapse:function(){return b.Collapse(this)},getComplexity:function(){if(null==this.complexity){var a=0;if(this.isToken)a=c.TEXT*this.data.join("").length+c.TOKEN;else{for(var b=0,e=this.data.length;b1&&(a+=e*c.CHILD)}!this.attrNames||"complexity"in this||this.attrNames.push(d),this.attr&&(this.attr[d]=a),this.complexity=a}return this.complexity},reportComplexity:function(){!this.attr||!this.attrNames||d in this.attr||(this.attrNames.push(d),this.attr[d]=this.complexity)}}),a.mfrac.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity*=c.SCRIPT,this.complexity+=c.FRACTION,this.attr[d]=this.complexity),this.complexity}}),a.msqrt.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity+=c.SQRT,this.attr[d]=this.complexity),this.complexity}}),a.mroot.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity-=(1-c.SCRIPT)*this.data[1].getComplexity(),this.complexity+=c.SQRT,this.attr[d]=this.complexity),this.complexity}}),a.msubsup.Augment({getComplexity:function(){if(null==this.complexity){var a=0;this.data[this.sub]&&(a=this.data[this.sub].getComplexity()+c.CHILD),this.data[this.sup]&&(a=Math.max(this.data[this.sup].getComplexity(),a)),a*=c.SCRIPT,this.data[this.sub]&&(a+=c.CHILD),this.data[this.sup]&&(a+=c.CHILD),this.data[this.base]&&(a+=this.data[this.base].getComplexity()+c.CHILD),this.complexity=a+c.SUBSUP,this.reportComplexity()}return this.complexity}}),a.munderover.Augment({getComplexity:function(){if(null==this.complexity){var a=0;this.data[this.sub]&&(a=this.data[this.sub].getComplexity()+c.CHILD),this.data[this.sup]&&(a=Math.max(this.data[this.sup].getComplexity(),a)),a*=c.SCRIPT,this.data[this.base]&&(a=Math.max(this.data[this.base].getComplexity(),a)),this.data[this.sub]&&(a+=c.CHILD),this.data[this.sup]&&(a+=c.CHILD),this.data[this.base]&&(a+=c.CHILD),this.complexity=a+c.UNDEROVER,this.reportComplexity()}return this.complexity}}),a.mphantom.Augment({getComplexity:function(){return this.complexity=c.PHANTOM,this.reportComplexity(),this.complexity}}),a.ms.Augment({getComplexity:function(){return this.SUPER(arguments).getComplexity.call(this),this.complexity+=this.Get("lquote").length*c.TEXT,this.complexity+=this.Get("rquote").length*c.TEXT,this.attr[d]=this.complexity,this.complexity}}),a.menclose.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity+=c.ACTION,this.attr[d]=this.complexity),this.complexity}}),a.maction.Augment({getComplexity:function(){return this.complexity=(this.collapsible?this.data[0]:this.selected()).getComplexity(),this.reportComplexity(),this.complexity}}),a.semantics.Augment({getComplexity:function(){return null==this.complexity&&(this.complexity=this.data[0]?this.data[0].getComplexity():0,this.reportComplexity()),this.complexity}}),a["annotation-xml"].Augment({getComplexity:function(){return this.complexity=c.XML,this.reportComplexity(),this.complexity}}),a.annotation.Augment({getComplexity:function(){return this.complexity=c.XML,this.reportComplexity(),this.complexity}}),a.mglyph.Augment({getComplexity:function(){return this.complexity=c.GLYPH,this.reportComplexity(),this.complexity}}),MathJax.Hub.Startup.signal.Post("Collapsible Ready"),MathJax.Ajax.loadComplete("[a11y]/collapsible.js")}); \ No newline at end of file diff --git a/src/py/kaleido/vendor/mathjax/extensions/a11y/explorer.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/explorer.js new file mode 100644 index 00000000..5478cce7 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/a11y/explorer.js @@ -0,0 +1 @@ +MathJax.Hub.Register.StartupHook("Sre Ready",function(){var a,b,c=MathJax.Hub.config.menuSettings,d={};MathJax.Hub.Register.StartupHook("MathEvents Ready",function(){a=MathJax.Extension.MathEvents.Event.False,b=MathJax.Extension.MathEvents.Event.KEY});var e=MathJax.Extension.explorer={version:"1.5.0",dependents:[],defaults:{walker:"table",highlight:"none",background:"blue",foreground:"black",speech:!0,generation:"lazy",subtitle:!1,ruleset:"mathspeak-default"},eagerComplexity:80,prefix:"Assistive-",hook:null,locHook:null,oldrules:null,addMenuOption:function(a,b){c[e.prefix+a]=b},addDefaults:function(){for(var a,b=MathJax.Hub.CombineConfig("explorer",e.defaults),d=Object.keys(b),f=0;a=d[f];f++)void 0===c[e.prefix+a]&&e.addMenuOption(a,b[a]);e.setSpeechOption(),h.Reset()},setOption:function(a,b){c[e.prefix+a]!==b&&(e.addMenuOption(a,b),h.Reset())},getOption:function(a){return c[e.prefix+a]},speechOption:function(a){e.oldrules!==a.value&&(e.setSpeechOption(),h.Regenerate())},setSpeechOption:function(){var a=c[e.prefix+"ruleset"],b=a.split("-");sre.System.getInstance().setupEngine({locale:MathJax.Localization.locale,domain:e.Domain(b[0]),style:b[1],rules:e.RuleSet(b[0])}),e.oldrules=a},Domain:function(a){switch(a){case"chromevox":return"default";case"mathspeak":default:return"mathspeak"}},RuleSet:function(a){switch(a){case"chromevox":return["AbstractionRules","SemanticTreeRules"];case"mathspeak":default:return["AbstractionRules","AbstractionSpanish","MathspeakRules","MathspeakSpanish"]}},hook:null,locHook:null,Enable:function(a,b){c.explorer=!0,b&&(d.explorer=!0),MathJax.Extension.collapsible.Enable(!1,b),MathJax.Extension.AssistiveMML&&(MathJax.Extension.AssistiveMML.config.disabled=!0,c.assistiveMML=!1,b&&(d.assistiveMML=!1)),this.DisableMenus(!1),this.hook||(this.hook=MathJax.Hub.Register.MessageHook("New Math",["Register",this.Explorer])),this.locHook||(this.locHook=MathJax.Hub.Register.MessageHook("Locale Reset",["RemoveSpeech",this.Explorer])),a&&MathJax.Hub.Queue(["Reprocess",MathJax.Hub])},Disable:function(a,b){c.explorer=!1,b&&(d.explorer=!1),this.DisableMenus(!0),this.hook&&(MathJax.Hub.UnRegister.MessageHook(this.hook),this.hook=null);for(var e=this.dependents.length-1;e>=0;e--){var f=this.dependents[e];f.Disable&&f.Disable(!1,b)}},DisableMenus:function(a){if(MathJax.Menu){var b=MathJax.Menu.menu.FindId("Accessibility","Explorer");if(b){b=b.submenu;for(var d,f=b.items,g=2;d=f[g];g++)d.disabled=a;a||!b.FindId("SpeechOutput")||c[e.prefix+"speech"]||(b.FindId("Subtitles").disabled=!0)}}},Dependent:function(a){this.dependents.push(a)}},f=MathJax.Object.Subclass({div:null,inner:null,Init:function(){this.div=f.Create("assertive"),this.inner=MathJax.HTML.addElement(this.div,"div")},Add:function(){f.added||(document.body.appendChild(this.div),f.added=!0)},Show:function(a,b){this.div.classList.add("MJX_LiveRegion_Show");var c=a.getBoundingClientRect(),d=c.bottom+10+window.pageYOffset,e=c.left+window.pageXOffset;this.div.style.top=d+"px",this.div.style.left=e+"px";var f=b.colorString();this.inner.style.backgroundColor=f.background,this.inner.style.color=f.foreground},Hide:function(a){this.div.classList.remove("MJX_LiveRegion_Show")},Clear:function(){this.Update(""),this.inner.style.top="",this.inner.style.backgroundColor=""},Update:function(a){e.getOption("speech")&&f.Update(this.inner,a)}},{ANNOUNCE:"Navigatable Math in page. Explore with shift space and arrow keys. Expand or collapse elements hitting enter.",announced:!1,added:!1,styles:{".MJX_LiveRegion":{position:"absolute",top:"0",height:"1px",width:"1px",padding:"1px",overflow:"hidden"},".MJX_LiveRegion_Show":{top:"0",position:"absolute",width:"auto",height:"auto",padding:"0px 0px",opacity:1,"z-index":"202",left:0,right:0,margin:"0 auto","background-color":"white","box-shadow":"0px 10px 20px #888",border:"2px solid #CCCCCC"}},Create:function(a){var b=MathJax.HTML.Element("div",{className:"MJX_LiveRegion"});return b.setAttribute("aria-live",a),b},Update:MathJax.Hub.Browser.isPC?function(a,b){a.textContent="",setTimeout(function(){a.textContent=b},100)}:function(a,b){a.textContent="",a.textContent=b},Announce:function(){if(e.getOption("speech")){f.announced=!0,MathJax.Ajax.Styles(f.styles);var a=f.Create("polite");document.body.appendChild(a),f.Update(a,f.ANNOUNCE),setTimeout(function(){document.body.removeChild(a)},1e3)}}});MathJax.Extension.explorer.LiveRegion=f;var g=MathJax.Ajax.fileURL(MathJax.Ajax.config.path.a11y),h=MathJax.Extension.explorer.Explorer={liveRegion:f(),walker:null,highlighter:null,hoverer:null,flamer:null,speechDiv:null,earconFile:g+"/invalid_keypress"+(-1!==["Firefox","Chrome","Opera"].indexOf(MathJax.Hub.Browser.name)?".ogg":".mp3"),expanded:!1,focusoutEvent:MathJax.Hub.Browser.isFirefox?"blur":"focusout",focusinEvent:"focus",ignoreFocusOut:!1,jaxCache:{},messageID:null,Reset:function(){h.FlameEnriched()},Register:function(a){if(e.hook){var b=document.getElementById(a[1]);if(b&&b.id){var c=MathJax.Hub.getJaxFor(b.id);c&&c.enriched&&(h.StateChange(b.id,c),h.liveRegion.Add(),h.AddEvent(b))}}},StateChange:function(a,b){h.GetHighlighter(.2);var c=h.jaxCache[a];c&&c===b.root||(c&&h.highlighter.resetState(a+"-Frame"),h.jaxCache[a]=b.root)},AddAria:function(a){a.setAttribute("role","application"),a.setAttribute("aria-label","Math")},AddHook:function(a){h.RemoveHook(),h.hook=MathJax.Hub.Register.MessageHook("End Math",function(b){var c=b[1].id+"-Frame",d=document.getElementById(c);a&&c===h.expanded&&(h.ActivateWalker(d,a),d.focus(),h.expanded=!1)})},RemoveHook:function(){h.hook&&(MathJax.Hub.UnRegister.MessageHook(h.hook),h.hook=null)},AddMessage:function(){return MathJax.Message.Set("Generating Speech Output")},RemoveMessage:function(a){a&&MathJax.Message.Clear(a)},AddEvent:function(a){var b=a.id+"-Frame",c=a.previousSibling;if(c){var d=c.id!==b?c.firstElementChild:c;h.AddAria(d),h.AddMouseEvents(d),"MathJax_MathML"===d.className&&(d=d.firstElementChild),d&&(d.onkeydown=h.Keydown,h.Flame(d),d.addEventListener(h.focusinEvent,function(a){e.hook&&(f.announced||f.Announce())}),d.addEventListener(h.focusoutEvent,function(a){if(e.hook)return h.ignoreFocusOut&&(h.ignoreFocusOut=!1,"enter"===h.walker.moved)?void a.target.focus():void(h.walker&&h.DeactivateWalker())}),e.getOption("speech")&&h.AddSpeech(d))}},AddSpeech:function(a){var b=a.id,c=MathJax.Hub.getJaxFor(b),d=c.root.toMathML();if(a.getAttribute("haslabel")||h.AddMathLabel(d,b),!a.getAttribute("hasspeech"))switch(MathJax.Hub.config.explorer.generation){case"eager":h.AddSpeechEager(d,b);break;case"mixed":a.querySelectorAll("[data-semantic-complexity]").length>=e.eagerComplexity&&h.AddSpeechEager(d,b)}},AddSpeechLazy:function(a){var b=new sre.TreeSpeechGenerator;b.setRebuilt(h.walker.rebuilt),b.getSpeech(h.walker.rootNode,h.walker.xml),a.setAttribute("hasspeech","true")},AddSpeechEager:function(a,b){h.MakeSpeechTask(a,b,sre.TreeSpeechGenerator,function(a,b){a.setAttribute("hasspeech","true")},5)},AddMathLabel:function(a,b){h.MakeSpeechTask(a,b,sre.SummarySpeechGenerator,function(a,b){a.setAttribute("haslabel","true"),a.setAttribute("aria-label",b)},5)},MakeSpeechTask:function(a,b,c,d,e){var f=h.AddMessage();setTimeout(function(){var e=new c,g=document.getElementById(b),i=new sre.DummyWalker(g,e,h.highlighter,a),j=i.speech();j&&d(g,j),h.RemoveMessage(f)},e)},Keydown:function(c){if(c.keyCode===b.ESCAPE){if(!h.walker)return;return h.RemoveHook(),h.DeactivateWalker(),void a(c)}if(h.walker&&h.walker.isActive()){void 0!==h.walker.modifier&&(h.walker.modifier=c.shiftKey);var d=h.walker.move(c.keyCode);if(null===d)return;if(d){if("expand"===h.walker.moved){if(h.expanded=h.walker.node.id,MathJax.Hub.Browser.isEdge)return h.ignoreFocusOut=!0,void h.DeactivateWalker();if(MathJax.Hub.Browser.isFirefox||MathJax.Hub.Browser.isMSIE)return void h.DeactivateWalker()}h.liveRegion.Update(h.walker.speech()),h.Highlight()}else h.PlayEarcon();return void a(c)}var f=c.target;if(c.keyCode===b.SPACE){if(c.shiftKey&&e.hook){var g=MathJax.Hub.getJaxFor(f);h.ActivateWalker(f,g),h.AddHook(g)}else MathJax.Extension.MathEvents.Event.ContextMenu(c,f);return void a(c)}},GetHighlighter:function(a){h.highlighter=sre.HighlighterFactory.highlighter({color:e.getOption("background"),alpha:a},{color:e.getOption("foreground"),alpha:1},{renderer:MathJax.Hub.outputJax["jax/mml"][0].id,browser:MathJax.Hub.Browser.name})},AddMouseEvents:function(a){sre.HighlighterFactory.addEvents(a,{mouseover:h.MouseOver,mouseout:h.MouseOut},{renderer:MathJax.Hub.outputJax["jax/mml"][0].id,browser:MathJax.Hub.Browser.name})},MouseOver:function(b){if("none"!==e.getOption("highlight")){if("hover"===e.getOption("highlight")){var c=b.currentTarget;h.GetHighlighter(.1),h.highlighter.highlight([c]),h.hoverer=!0}a(b)}},MouseOut:function(b){return h.hoverer&&(h.highlighter.unhighlight(),h.hoverer=!1),a(b)},Flame:function(a){if("flame"===e.getOption("highlight"))return h.GetHighlighter(.05),h.highlighter.highlightAll(a),void(h.flamer=!0)},UnFlame:function(){h.flamer&&(h.highlighter.unhighlightAll(),h.flamer=null)},FlameEnriched:function(){h.UnFlame();for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++)h.Flame(a.SourceElement().previousSibling)},Walkers:{syntactic:sre.SyntaxWalker,table:sre.TableWalker,semantic:sre.SemanticWalker,none:sre.DummyWalker},ActivateWalker:function(a,b){var c=e.getOption("speech"),d=e.getOption("walker")?h.Walkers[MathJax.Hub.config.explorer.walker]:h.Walkers.none,f=c?new sre.DirectSpeechGenerator:new sre.DummySpeechGenerator;h.GetHighlighter(.2),h.walker=new d(a,f,h.highlighter,b.root.toMathML()),c&&!a.getAttribute("hasspeech")&&h.AddSpeechLazy(a),h.walker.activate(),c&&(e.getOption("subtitle")&&h.liveRegion.Show(a,h.highlighter),h.liveRegion.Update(h.walker.speech())),h.Highlight(),h.ignoreFocusOut&&setTimeout(function(){h.ignoreFocusOut=!1},500)},DeactivateWalker:function(){h.liveRegion.Clear(),h.liveRegion.Hide(),h.Unhighlight(),h.currentHighlight=null,h.walker.deactivate(),h.walker=null},Highlight:function(){h.Unhighlight(),h.highlighter.highlight(h.walker.getFocus().getNodes())},Unhighlight:function(){h.highlighter.unhighlight()},PlayEarcon:function(){new Audio(h.earconFile).play()},SpeechOutput:function(){h.Reset(),["Subtitles"].forEach(function(a){var b=MathJax.Menu.menu.FindId("Accessibility","Explorer",a);b&&(b.disabled=!b.disabled)}),h.Regenerate()},RemoveSpeech:function(){e.setSpeechOption();for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++){var d=document.getElementById(a.inputID+"-Frame");d&&(d.removeAttribute("hasspeech"),d.removeAttribute("haslabel"))}},Regenerate:function(){for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++){var d=document.getElementById(a.inputID+"-Frame");d&&(d.removeAttribute("hasspeech"),h.AddSpeech(d))}},Startup:function(){var a=MathJax.Extension.collapsible;a&&a.Dependent(e),e.addDefaults()}};MathJax.Hub.Register.StartupHook("End Extensions",function(){e[!1===c.explorer?"Disable":"Enable"](),MathJax.Hub.Startup.signal.Post("Explorer Ready"),MathJax.Hub.Register.StartupHook("MathMenu Ready",function(){d=MathJax.Menu.cookie;var a,b=function(a){e[c.explorer?"Enable":"Disable"](!0,!0),MathJax.Menu.saveCookie()},f=MathJax.Menu.ITEM,g=MathJax.Menu.menu,i={action:h.Reset},j={action:e.speechOption},k=f.SUBMENU(["Explorer","Explorer"],f.CHECKBOX(["Active","Active"],"explorer",{action:b}),f.RULE(),f.CHECKBOX(["Walker","Walker"],"Assistive-walker"),f.SUBMENU(["Highlight","Highlight"],f.RADIO(["none","None"],"Assistive-highlight",i),f.RADIO(["hover","Hover"],"Assistive-highlight",i),f.RADIO(["flame","Flame"],"Assistive-highlight",i)),f.SUBMENU(["Background","Background"],f.RADIO(["blue","Blue"],"Assistive-background",i),f.RADIO(["red","Red"],"Assistive-background",i),f.RADIO(["green","Green"],"Assistive-background",i),f.RADIO(["yellow","Yellow"],"Assistive-background",i),f.RADIO(["cyan","Cyan"],"Assistive-background",i),f.RADIO(["magenta","Magenta"],"Assistive-background",i),f.RADIO(["white","White"],"Assistive-background",i),f.RADIO(["black","Black"],"Assistive-background",i)),f.SUBMENU(["Foreground","Foreground"],f.RADIO(["black","Black"],"Assistive-foreground",i),f.RADIO(["white","White"],"Assistive-foreground",i),f.RADIO(["magenta","Magenta"],"Assistive-foreground",i),f.RADIO(["cyan","Cyan"],"Assistive-foreground",i),f.RADIO(["yellow","Yellow"],"Assistive-foreground",i),f.RADIO(["green","Green"],"Assistive-foreground",i),f.RADIO(["red","Red"],"Assistive-foreground",i),f.RADIO(["blue","Blue"],"Assistive-foreground",i)),f.RULE(),f.CHECKBOX(["SpeechOutput","Speech Output"],"Assistive-speech",{action:h.SpeechOutput}),f.CHECKBOX(["Subtitles","Subtitles"],"Assistive-subtitle",{disabled:!c["Assistive-speech"]}),f.RULE(),f.SUBMENU(["Mathspeak","Mathspeak Rules"],f.RADIO(["mathspeak-default","Verbose"],"Assistive-ruleset",j),f.RADIO(["mathspeak-brief","Brief"],"Assistive-ruleset",j),f.RADIO(["mathspeak-sbrief","Superbrief"],"Assistive-ruleset",j)),f.SUBMENU(["Chromevox","ChromeVox Rules"],f.RADIO(["chromevox-default","Verbose"],"Assistive-ruleset",j),f.RADIO(["chromevox-short","Short"],"Assistive-ruleset",j),f.RADIO(["chromevox-alternative","Alternative"],"Assistive-ruleset",j))),l=(g.FindId("Accessibility")||{}).submenu;l?(a=l.IndexOfId("Explorer"),null!==a?l.items[a]=k:(a=l.IndexOfId("CollapsibleMath"),l.items.splice(a+1,0,k))):(a=g.IndexOfId("CollapsibleMath"),g.items.splice(a+1,0,k)),c.explorer||e.DisableMenus(!0)},20)},20)}),MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){MathJax.Hub.Config({SVG:{addMMLclasses:!0}});var a=MathJax.OutputJax.SVG;if(parseFloat(a.version)<2.7){var b=a.getJaxFromMath;a.Augment({getJaxFromMath:function(a){return a.parentNode.className.match(/MathJax_SVG_Display/)&&(a=a.parentNode),b.call(this,a)}})}}),MathJax.Ajax.config.path.a11y||(MathJax.Ajax.config.path.a11y=MathJax.Hub.config.root+"/extensions/a11y"),MathJax.Ajax.Require("[a11y]/collapsible.js"),MathJax.Hub.Register.StartupHook("Collapsible Ready",function(){MathJax.Extension.explorer.Explorer.Startup(),MathJax.Ajax.loadComplete("[a11y]/explorer.js")}); \ No newline at end of file diff --git a/src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.mp3 b/src/py/kaleido/vendor/mathjax/extensions/a11y/invalid_keypress.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..cba44de08a288ee4d5aae221b71b740349c0caad GIT binary patch literal 9030 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 WCEpm@S)lay>ms`WyLrxY(tiW58)c^e literal 0 HcmV?d00001 diff --git a/src/py/kaleido/vendor/mathjax/extensions/a11y/mathjax-sre.js b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathjax-sre.js new file mode 100644 index 00000000..40a6151f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/a11y/mathjax-sre.js @@ -0,0 +1,985 @@ +// Copyright 2014-2018 Volker Sorge +// +// 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 $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_"; +$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+a++}}(); +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var b=0;return $jscomp.iteratorPrototype(function(){return b>>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("function"===typeof a.clone)return a.clone();b="array"==b?[]:{};for(var 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(2Number(a[1])?!1:b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});a("es6-impl",function(){return!0});a("es7",function(){return b("2 ** 2 == 4")}); +a("es8",function(){return b("async () => 1, true")});a("es9",function(){return b("({...rest} = {}), true")});a("es_next",function(){return!1});return c},goog.Transpiler.prototype.needsTranspile=function(a,b){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;this.requiresTranspilation_||(this.requiresTranspilation_=this.createRequiresTranspilation_());if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a]?!0:!goog.inHtmlDocument_()||"es6"!=b||"noModule"in goog.global.document.createElement("script")? +!1:!0;throw Error("Unknown language mode: "+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={};this.idToPath_={};this.written_={};this.loadingDeps_=[];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory(goog.transpiler_);this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap= +function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){b=[];for(var e=0;e\x3c/script>")}else{var d=b.createElement("script");d.defer=goog.Dependency.defer_;d.async=!1;d.type="text/javascript";var e=goog.getScriptNonce();e&&(d.nonce=e);goog.DebugLoader_.IS_OLD_IE_?(a.pause(),d.onreadystatechange=function(){if("loaded"==d.readyState||"complete"==d.readyState)a.loaded(), +a.resume()}):d.onload=function(){d.onload=null;a.loaded()};d.src=this.path;b.head.appendChild(d)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or seting CLOSURE_NO_DEPS to true."),a.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load= +function(a){function b(a,b){b?d.write('");return a};sre.ColorPicker=function(a,b){this.foreground=sre.ColorPicker.getChannelColor_(b,sre.ColorPicker.DEFAULT_FOREGROUND_);this.background=sre.ColorPicker.getChannelColor_(a,sre.ColorPicker.DEFAULT_BACKGROUND_)};sre.ColorPicker.DEFAULT_BACKGROUND_="blue";sre.ColorPicker.DEFAULT_FOREGROUND_="black"; +sre.ColorPicker.namedColors_={red:{red:255,green:0,blue:0},green:{red:0,green:255,blue:0},blue:{red:0,green:0,blue:255},yellow:{red:255,green:255,blue:0},cyan:{red:0,green:255,blue:255},magenta:{red:255,green:0,blue:255},white:{red:255,green:255,blue:255},black:{red:0,green:0,blue:0}};sre.ColorPicker.getChannelColor_=function(a,b){a=a||{color:b};var c=a.color?sre.ColorPicker.namedColors_[a.color]:a;c||(c=sre.ColorPicker.namedColors_[b]);c.alpha=a.hasOwnProperty("alpha")?a.alpha:1;return sre.ColorPicker.normalizeColor_(c)}; +sre.ColorPicker.normalizeColor_=function(a){var b=function(a){a=Math.max(a,0);a=Math.min(255,a);return Math.round(a)};a.red=b(a.red);a.green=b(a.green);a.blue=b(a.blue);a.alpha=Math.max(a.alpha,0);a.alpha=Math.min(1,a.alpha);return a};sre.ColorPicker.prototype.rgba=function(){var a=function(a){return"rgba("+a.red+","+a.green+","+a.blue+","+a.alpha+")"};return{background:a(this.background),foreground:a(this.foreground)}}; +sre.ColorPicker.prototype.rgb=function(){var a=function(a){return"rgb("+a.red+","+a.green+","+a.blue+")"};return{background:a(this.background),alphaback:this.background.alpha.toString(),foreground:a(this.foreground),alphafore:this.foreground.alpha.toString()}}; +sre.ColorPicker.prototype.hex=function(){var a=function(a){return"#"+sre.ColorPicker.toHex_(a.red)+sre.ColorPicker.toHex_(a.green)+sre.ColorPicker.toHex_(a.blue)};return{background:a(this.background),alphaback:this.background.alpha.toString(),foreground:a(this.foreground),alphafore:this.foreground.alpha.toString()}};sre.ColorPicker.toHex_=function(a){a=a.toString(16);return 1===a.length?"0"+a:a};sre.Highlighter=function(){};sre.Highlighter.prototype.highlight=function(a){};sre.Highlighter.prototype.unhighlight=function(){};sre.Highlighter.prototype.highlightAll=function(a){};sre.Highlighter.prototype.unhighlightAll=function(){};sre.Highlighter.prototype.setColor=function(a){};sre.Highlighter.prototype.addEvents=function(a,b){};sre.AbstractHighlighter=function(){this.currentHighlights_=[];this.color=null;this.mactionName="";this.state_={}};sre.AbstractHighlighter.prototype.highlight=function(a){this.currentHighlights_.push(a.map(goog.bind(function(a){return this.highlightNode(a)},this)))};sre.AbstractHighlighter.prototype.highlightNode=goog.abstractMethod;sre.AbstractHighlighter.prototype.highlightAll=function(a){a=this.getMactionNodes(a);for(var b=0,c;c=a[b];b++)this.highlight([c])}; +sre.AbstractHighlighter.prototype.unhighlight=function(){var a=this.currentHighlights_.pop();a&&a.forEach(goog.bind(function(a){return this.unhighlightNode(a)},this))};sre.AbstractHighlighter.prototype.unhighlightNode=goog.abstractMethod;sre.AbstractHighlighter.prototype.unhighlightAll=function(){for(;0'+e+"","text/xml");b.push(e.documentElement)}return b}; +sre.MathspeakUtil.spaceoutIdentifier=function(a){var b=a.textContent;if(!b.match(/[a-zA-Z]+/))return a.setAttribute("role",sre.SemanticAttr.Role.PROTECTED),[a];a=b.split("");b=[];for(var c=new sre.SystemExternal.xmldom.DOMParser,d=0,e;e=a[d];d++){var f=sre.Semantic.Type.IDENTIFIER;e=c.parseFromString("<"+f+' role="'+sre.Semantic.Role.UNKNOWN+'">'+e+"","text/xml");b.push(e.documentElement)}return b}; +sre.MathspeakUtil.nestingBarriers=[sre.Semantic.Type.CASES,sre.Semantic.Type.CELL,sre.Semantic.Type.INTEGRAL,sre.Semantic.Type.LINE,sre.Semantic.Type.MATRIX,sre.Semantic.Type.MULTILINE,sre.Semantic.Type.OVERSCORE,sre.Semantic.Type.ROOT,sre.Semantic.Type.ROW,sre.Semantic.Type.SQRT,sre.Semantic.Type.SUBSCRIPT,sre.Semantic.Type.SUPERSCRIPT,sre.Semantic.Type.TABLE,sre.Semantic.Type.UNDERSCORE,sre.Semantic.Type.VECTOR];sre.MathspeakUtil.nestingDepth={}; +sre.MathspeakUtil.resetNestingDepth=function(a){sre.MathspeakUtil.nestingDepth={};return[a]}; +sre.MathspeakUtil.getNestingDepth=function(a,b,c,d,e,f){d=d||sre.MathspeakUtil.nestingBarriers;e=e||{};f=f||function(a){return!1};var g=(new sre.SystemExternal.xmldom.XMLSerializer).serializeToString(b);sre.MathspeakUtil.nestingDepth[a]||(sre.MathspeakUtil.nestingDepth[a]={});if(sre.MathspeakUtil.nestingDepth[a][g])return sre.MathspeakUtil.nestingDepth[a][g];if(f(b)||0>c.indexOf(b.tagName))return 0;b=sre.MathspeakUtil.computeNestingDepth_(b,c,sre.BaseUtil.setdifference(d,c),e,f,0);return sre.MathspeakUtil.nestingDepth[a][g]= +b};sre.MathspeakUtil.containsAttr=function(a,b){if(!a.attributes)return!1;a=sre.DomUtil.toArray(a.attributes);for(var c=0,d;d=a[c];c++)if(b[d.nodeName]===d.nodeValue)return!0;return!1}; +sre.MathspeakUtil.computeNestingDepth_=function(a,b,c,d,e,f){if(e(a)||-1=Math.pow(10,36))return a.toString();for(var b=0,c="";0b)return c+"th";switch(a%10){case 1:return c+"st";case 2:return c+"nd";case 3:return c+"rd";default:return c+"th"}};sre.MathspeakUtil.ordinalCounter=function(a,b){var c=0;return function(){return sre.MathspeakUtil.simpleOrdinal(++c)+" "+b}}; +sre.MathspeakUtil.convertVulgarFraction_=function(a){if(!a.childNodes||!a.childNodes[0]||!a.childNodes[0].childNodes||2>a.childNodes[0].childNodes.length||a.childNodes[0].childNodes[0].tagName!==sre.SemanticAttr.Type.NUMBER||a.childNodes[0].childNodes[0].getAttribute("role")!==sre.SemanticAttr.Role.INTEGER||a.childNodes[0].childNodes[1].tagName!==sre.SemanticAttr.Type.NUMBER||a.childNodes[0].childNodes[1].getAttribute("role")!==sre.SemanticAttr.Role.INTEGER)return{convertible:!1,content:a.textContent}; +var b=a.childNodes[0].childNodes[1].textContent;a=a.childNodes[0].childNodes[0].textContent;var c=Number(b),d=Number(a);return isNaN(c)||isNaN(d)?{convertible:!1,content:a+" "+sre.Messages.MS.FRAC_OVER+" "+b}:{convertible:!0,enumerator:d,denominator:c}}; +sre.MathspeakUtil.vulgarFraction=function(a){a=sre.MathspeakUtil.convertVulgarFraction_(a);return a.convertible&&a.enumerator&&a.denominator?sre.MathspeakUtil.numberToWords(a.enumerator)+"-"+sre.MathspeakUtil.numberToOrdinal(a.denominator,1!==a.enumerator):a.content||""};sre.MathspeakUtil.vulgarFractionSmall=function(a){var b=sre.MathspeakUtil.convertVulgarFraction_(a);return b.convertible?(a=b.enumerator,b=b.denominator,0a&&0b):!1}; +sre.MathspeakUtil.isSmallVulgarFraction=function(a){return sre.MathspeakUtil.vulgarFractionSmall(a)?[a]:[]}; +sre.MathspeakUtil.nestedSubSuper=function(a,b,c){for(;a.parentNode;){var d=a.parentNode,e=d.parentNode,f=a.getAttribute&&a.getAttribute("role");if(e.tagName===sre.Semantic.Type.SUBSCRIPT&&a===d.childNodes[1]||e.tagName===sre.Semantic.Type.TENSOR&&f&&(f===sre.Semantic.Role.LEFTSUB||f===sre.Semantic.Role.RIGHTSUB))b=c.sub+" "+b;if(e.tagName===sre.Semantic.Type.SUPERSCRIPT&&a===d.childNodes[1]||e.tagName===sre.Semantic.Type.TENSOR&&f&&(f===sre.Semantic.Role.LEFTSUPER||f===sre.Semantic.Role.RIGHTSUPER))b= +c.sup+" "+b;a=e}return b.trim()};sre.MathspeakUtil.subscriptVerbose=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUBSCRIPT,{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB})};sre.MathspeakUtil.subscriptBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUB,{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})}; +sre.MathspeakUtil.superscriptVerbose=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUPERSCRIPT,{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB})};sre.MathspeakUtil.superscriptBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUP,{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})}; +sre.MathspeakUtil.baselineVerbose=function(a){return(a=sre.MathspeakUtil.nestedSubSuper(a,"",{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB}))?a.replace(new RegExp(sre.Messages.MS.SUB+"$"),sre.Messages.MS.SUBSCRIPT).replace(new RegExp(sre.Messages.MS.SUPER+"$"),sre.Messages.MS.SUPERSCRIPT):sre.Messages.MS.BASELINE};sre.MathspeakUtil.baselineBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,"",{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})||sre.Messages.MS.BASE}; +sre.MathspeakUtil.radicalNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("radical",a,["sqrt","root"],sre.MathspeakUtil.nestingBarriers,{})};sre.MathspeakUtil.nestedRadical=function(a,b,c){var d=sre.MathspeakUtil.radicalNestingDepth(a);c=(a=sre.MathspeakUtil.getRootIndex(a))?sre.Messages.MS_FUNC.COMBINE_ROOT_INDEX(c,a):c;return 1===d?c:b+sre.Messages.MS_FUNC.RADICAL_NEST_DEPTH(d-1)+c}; +sre.MathspeakUtil.getRootIndex=function(a){a="sqrt"===a.tagName?"2":sre.XpathUtil.evalXPath("children/*[1]",a)[0].textContent.trim();return sre.Messages.MS_ROOT_INDEX[a]||""};sre.MathspeakUtil.openingRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.STARTROOT)};sre.MathspeakUtil.closingRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.ENDROOT)}; +sre.MathspeakUtil.indexRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.ROOTINDEX)};sre.MathspeakUtil.openingRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.STARTROOT)};sre.MathspeakUtil.closingRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ENDROOT)}; +sre.MathspeakUtil.indexRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ROOTINDEX)};sre.MathspeakUtil.openingRadicalSbrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ROOT)};sre.MathspeakUtil.indexRadicalSbrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.INDEX)}; +sre.MathspeakUtil.underscoreNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("underscore",a,["underscore"],sre.MathspeakUtil.nestingBarriers,{},function(a){return a.tagName&&a.tagName===sre.Semantic.Type.UNDERSCORE&&a.childNodes[0].childNodes[1].getAttribute("role")===sre.Semantic.Role.UNDERACCENT})};sre.MathspeakUtil.nestedUnderscore=function(a){a=sre.MathspeakUtil.underscoreNestingDepth(a);return Array(a).join(sre.Messages.MS.UNDER)+sre.Messages.MS.UNDERSCRIPT}; +sre.MathspeakUtil.overscoreNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("overscore",a,["overscore"],sre.MathspeakUtil.nestingBarriers,{},function(a){return a.tagName&&a.tagName===sre.Semantic.Type.OVERSCORE&&a.childNodes[0].childNodes[1].getAttribute("role")===sre.Semantic.Role.OVERACCENT})};sre.MathspeakUtil.nestedOverscore=function(a){a=sre.MathspeakUtil.overscoreNestingDepth(a);return Array(a).join(sre.Messages.MS.OVER)+sre.Messages.MS.OVERSCRIPT}; +sre.MathspeakUtil.determinantIsSimple=function(a){if(a.tagName!==sre.Semantic.Type.MATRIX||a.getAttribute("role")!==sre.Semantic.Role.DETERMINANT)return[];for(var b=sre.XpathUtil.evalXPath("children/row/children/cell/children/*",a),c=0,d;d=b[c];c++)if(d.tagName!==sre.Semantic.Type.NUMBER){if(d.tagName===sre.Semantic.Type.IDENTIFIER&&(d=d.getAttribute("role"),d===sre.Semantic.Role.LATINLETTER||d===sre.Semantic.Role.GREEKLETTER||d===sre.Semantic.Role.OTHERLETTER))continue;return[]}return[a]}; +sre.MathspeakUtil.generateBaselineConstraint=function(){var a=function(a){return a.map(function(a){return"ancestor::"+a})},b="not("+a(["subscript","superscript","tensor"]).join(" or ")+")",c=a(["relseq","multrel"]);a=a(["fraction","punctuation","fenced","sqrt","root"]);for(var d=[],e=0,f;f=a[e];e++)d=d.concat(c.map(function(a){return f+"/"+a}));c="not("+d.join(" | ")+")";return["ancestor::*/following-sibling::*",b,c].join(" and ")}; +sre.MathspeakUtil.removeParens=function(a){if(!a.childNodes.length||!a.childNodes[0].childNodes.length||!a.childNodes[0].childNodes[0].childNodes.length)return"";a=a.childNodes[0].childNodes[0].childNodes[0].textContent;return a.match(/^\(.+\)$/)?a.slice(1,-1):a};sre.Locale={};sre.Locale.nestingToString=function(a){switch(a){case 1:return"";case 2:return sre.Messages.MS.TWICE;default:return a.toString()}};sre.Locale.vulgarNestingDepth=function(a){return sre.MathspeakUtil.vulgarFractionSmall(a)};sre.Locale.combinePostfixIndex=function(a,b){return a===sre.Messages.MS.ROOTINDEX||a===sre.Messages.MS.INDEX?a:a+" "+b};sre.Locale.localFont=function(a){return sre.Messages.FONT[a]||a};sre.Grammar.getInstance().setCorrection("localFont",sre.Locale.localFont); +sre.Locale.localRole=function(a){return sre.Messages.ROLE[a]||a};sre.Grammar.getInstance().setCorrection("localRole",sre.Locale.localRole);sre.Locale.localEnclose=function(a){return sre.Messages.ENCLOSE[a]||a};sre.Grammar.getInstance().setCorrection("localEnclose",sre.Locale.localEnclose);sre.Locale.en={MS:{START:"Start",FRAC_V:"Fraction",FRAC_B:"Frac",FRAC_S:"Frac",END:"End",FRAC_OVER:"Over",TWICE:"Twice",NEST_FRAC:"Nest",ENDFRAC:"EndFrac",SUPER:"Super",SUB:"Sub",SUP:"Sup",SUPERSCRIPT:"Superscript",SUBSCRIPT:"Subscript",BASELINE:"Baseline",BASE:"Base",NESTED:"Nested",NEST_ROOT:"Nest",STARTROOT:"StartRoot",ENDROOT:"EndRoot",ROOTINDEX:"RootIndex",ROOT:"Root",INDEX:"Index",UNDER:"Under",UNDERSCRIPT:"Underscript",OVER:"Over",OVERSCRIPT:"Overscript"},MS_FUNC:{FRAC_NEST_DEPTH:sre.Locale.vulgarNestingDepth, +RADICAL_NEST_DEPTH:sre.Locale.nestingToString,COMBINE_ROOT_INDEX:function(a,b){return a}},MS_ROOT_INDEX:{},FONT:{},ROLE:{addition:"addition",multiplication:"multiplication",subtraction:"subtraction",division:"division",equality:"equality",inequality:"inequality",element:"element",arrow:"arrow",determinant:"determinant",rowvector:"row vector",binomial:"binomial",squarematrix:"square matrix",multiline:"multiple lines",matrix:"matrix",vector:"vector",cases:"case statement",table:"table",unknown:"unknown"}, +ENCLOSE:{longdiv:"long division",actuarial:"actuarial symbol",radical:"square root",box:"box",roundedbox:"rounded box",circle:"circle",left:"left vertical-line",right:"right vertical-line",top:"overbar",bottom:"underbar",updiagonalstrike:"crossout",downdiagonalstrike:"crossout",verticalstrike:"vertical strikeout",horizontalstrike:"crossout",madruwb:"Arabic factorial symbol",updiagonalarrow:"diagonal arrow",phasorangle:"phasor angle",unknown:"long division"},NAVIGATE:{COLLAPSIBLE:"collapsible",EXPANDABLE:"expandable", +LEVEL:"Level"}};sre.Locale.es={MS:{START:"empezar ",FRAC_V:"fracci\u00f3n",FRAC_B:"frac",FRAC_S:"frac",END:"finalizar ",FRAC_OVER:"entre ",TWICE:"",NEST_FRAC:"",ENDFRAC:"",SUPER:"super",SUB:"sub",SUP:"sup",SUPERSCRIPT:"super\u00edndice",SUBSCRIPT:"sub\u00edndice",BASELINE:"l\u00ednea base",BASE:"",NESTED:"",NEST_ROOT:"",STARTROOT:"empezar ra\u00edz",ENDROOT:"finalizar ra\u00edz",ROOTINDEX:"\u00edndice de ra\u00edz",ROOT:"ra\u00edz",INDEX:"",UNDER:"bajo",UNDERSCRIPT:"bajo\u00edndice",OVER:"sobre",OVERSCRIPT:"sobre\u00edndice"}, +MS_FUNC:{FRAC_NEST_DEPTH:function(a){return!1},RADICAL_NEST_DEPTH:function(a){return""},COMBINE_ROOT_INDEX:sre.Locale.combinePostfixIndex},MS_ROOT_INDEX:{2:"cuadrada",3:"c\u00fabica",4:"a la cuarta",5:"a la quinta",6:"a la sexta",7:"a la s\u00e9ptima",8:"a la octava",9:"a la novena",10:"a la d\u00e9cima"},FONT:{bold:"negrita","bold-fraktur":"negrita Fraktur","bold-italic":"negrita cursiva","bold-script":"negrita script",caligraphic:"caligr\u00e1fica","caligraphic-bold":"caligr\u00e1fica negrita", +"double-struck":"negrita de pizarra","double-struck-italic":"negrita de pizarra cursiva",fraktur:"Fraktur",italic:"cursiva",monospace:"monoespacio",normal:"normal",oldstyle:"estilo antiguo","oldstyle-bold":"estilo antiguo negrita",script:"script","sans-serif":"sans-serif","sans-serif-italic":"sans-serif cursiva","sans-serif-bold":"sans-serif negrita","sans-serif-bold-italic":"sans-serif negrita cursiva",unknown:"desconocida"},ROLE:{addition:"adici\u00f3n",multiplication:"multiplicaci\u00f3n",subtraction:"resta", +division:"divisi\u00f3n",equality:"igualdad",inequality:"desigualdad",element:"elemento",arrow:"flecha",determinant:"determinante",rowvector:"fila vector",binomial:"binomial",squarematrix:"matriz cuadrada",multiline:"l\u00edneas m\u00faltiples",matrix:"matriz",vector:"vector",cases:"declaraci\u00f3n de caso",table:"mesa",unknown:"desconocida"},ENCLOSE:{longdiv:"divisi\u00f3n larga",actuarial:"s\u00edmbolo actuarial",radical:"ra\u00edz cuadrada",box:"caja",roundedbox:"caja redondeada",circle:"c\u00edrculo", +left:"barra vertical izquierda",right:"barra vertical derecha",top:"barra",bottom:"subbarra",updiagonalstrike:"tachadura",downdiagonalstrike:"tachadura",verticalstrike:"ponchado vertical",horizontalstrike:"cruce",madruwb:"s\u00edmbolo factorial \u00e1rabe",updiagonalarrow:"flecha diagonal",phasorangle:"\u00e1ngulo de fasores",unknown:"divisi\u00f3n larga"},NAVIGATE:{COLLAPSIBLE:"plegable",EXPANDABLE:"ampliable",LEVEL:"nivel"}};sre.L10n={};sre.L10n.setLocale=function(){var a=sre.L10n.getLocale();if(a)for(var b in a)sre.Messages[b]=a[b]};sre.L10n.getLocale=function(){return sre.Locale[sre.Engine.getInstance().locale]||sre.Locale.en};sre.AuditoryDescription=function(a){this.context=a.context||"";this.text=a.text||"";this.userValue=a.userValue||"";this.annotation=a.annotation||"";this.personality=a.personality||{}};sre.AuditoryDescription.create=function(a,b){a.text=sre.Grammar.getInstance().apply(a.text,b||{});return new sre.AuditoryDescription(a)};sre.AuditoryDescription.prototype.isEmpty=function(){return 0==this.context.length&&0==this.text.length&&0==this.userValue.length&&0==this.annotation.length}; +sre.AuditoryDescription.prototype.clone=function(){if(this.personality){var a={};for(var b in this.personality)a=this.personality[b]}return new sre.AuditoryDescription({context:this.context,text:this.text,userValue:this.userValue,annotation:this.annotation,personality:a})};sre.AuditoryDescription.prototype.toString=function(){return'AuditoryDescription(context="'+this.context+'" text="'+this.text+'" userValue="'+this.userValue+'" annotation="'+this.annotation+'")'}; +sre.AuditoryDescription.prototype.descriptionString=function(){return this.context&&this.text?this.context+" "+this.text:this.context||this.text};sre.AuditoryDescription.prototype.equals=function(a){return this.context==a.context&&this.text==a.text&&this.userValue==a.userValue&&this.annotation==a.annotation};sre.SpeechRule=function(a,b,c,d){this.name=a;this.dynamicCstr=b;this.precondition=c;this.action=d};sre.SpeechRule.prototype.toString=function(){return this.name+" | "+this.dynamicCstr.toString()+" | "+this.precondition.toString()+" ==> "+this.action.toString()};sre.SpeechRule.Type={NODE:"NODE",MULTI:"MULTI",TEXT:"TEXT",PERSONALITY:"PERSONALITY"}; +sre.SpeechRule.Type.fromString=function(a){switch(a){case "[n]":return sre.SpeechRule.Type.NODE;case "[m]":return sre.SpeechRule.Type.MULTI;case "[t]":return sre.SpeechRule.Type.TEXT;case "[p]":return sre.SpeechRule.Type.PERSONALITY;default:throw"Parse error: "+a;}}; +sre.SpeechRule.Type.toString=function(a){switch(a){case sre.SpeechRule.Type.NODE:return"[n]";case sre.SpeechRule.Type.MULTI:return"[m]";case sre.SpeechRule.Type.TEXT:return"[t]";case sre.SpeechRule.Type.PERSONALITY:return"[p]";default:throw"Unknown type error: "+a;}};sre.SpeechRule.Component=function(a){this.type=a.type;this.content=a.content;this.attributes=a.attributes;this.grammar=a.grammar}; +sre.SpeechRule.Component.fromString=function(a){var b={};b.type=sre.SpeechRule.Type.fromString(a.substring(0,3));a=a.slice(3).trim();if(!a)throw new sre.SpeechRule.OutputError("Missing content.");switch(b.type){case sre.SpeechRule.Type.TEXT:if('"'==a[0]){var c=sre.SpeechRule.splitString_(a,"\\(")[0].trim();if('"'!=c.slice(-1))throw new sre.SpeechRule.OutputError("Invalid string syntax.");b.content=c;a=a.slice(c.length).trim();-1==a.indexOf("(")&&(a="");break}case sre.SpeechRule.Type.NODE:case sre.SpeechRule.Type.MULTI:c= +a.indexOf(" ("),-1==c?(b.content=a.trim(),a=""):(b.content=a.substring(0,c).trim(),a=a.slice(c).trim())}a&&(a=sre.SpeechRule.Component.attributesFromString(a),a.grammar&&(b.grammar=a.grammar,delete a.grammar),Object.keys(a).length&&(b.attributes=a));return b=new sre.SpeechRule.Component(b)};sre.SpeechRule.Component.prototype.toString=function(){var a=""+sre.SpeechRule.Type.toString(this.type);a+=this.content?" "+this.content:"";var b=this.attributesToString();return a+(b?" "+b:"")}; +sre.SpeechRule.Component.grammarFromString=function(a){return sre.Grammar.parseInput(a)};sre.SpeechRule.Component.prototype.grammarToString=function(){return this.getGrammar().join(":")};sre.SpeechRule.Component.prototype.getGrammar=function(){var a=[],b;for(b in this.grammar)!0===this.grammar[b]?a.push(b):!1===this.grammar[b]?a.push("!"+b):a.push(b+"="+this.grammar[b]);return a}; +sre.SpeechRule.Component.attributesFromString=function(a){if("("!=a[0]||")"!=a.slice(-1))throw new sre.SpeechRule.OutputError("Invalid attribute expression: "+a);var b={};a=sre.SpeechRule.splitString_(a.slice(1,-1),",");for(var c=0,d=a.length;c "+this.getRule().action:this.constraint};sre.TrieNodeFactory={};sre.TrieNodeFactory.getNode=function(a,b,c){switch(a){case sre.TrieNode.Kind.ROOT:return new sre.RootTrieNode;case sre.TrieNode.Kind.DYNAMIC:return new sre.DynamicTrieNode(b);case sre.TrieNode.Kind.QUERY:return new sre.QueryTrieNode(b,c);case sre.TrieNode.Kind.BOOLEAN:return new sre.BooleanTrieNode(b,c);default:return null}};sre.RootTrieNode=function(){sre.AbstractTrieNode.call(this,"",function(){return!0});this.kind=sre.TrieNode.Kind.ROOT};goog.inherits(sre.RootTrieNode,sre.AbstractTrieNode); +sre.DynamicTrieNode=function(a){sre.AbstractTrieNode.call(this,a,function(b){return b===a});this.kind=sre.TrieNode.Kind.DYNAMIC};goog.inherits(sre.DynamicTrieNode,sre.AbstractTrieNode); +sre.TrieNodeFactory.constraintTest_=function(a){if(a.match(/^self::\*$/))return function(a){return!0};if(a.match(/^self::\w+$/)){var b=a.slice(6).toUpperCase();return function(a){return a.tagName&&sre.DomUtil.tagName(a)===b}}if(a.match(/^self::\w+:\w+$/)){a=a.split(":");var c=sre.XpathUtil.resolveNameSpace(a[2]);if(!c)return null;b=a[3].toUpperCase();return function(a){return a.localName&&a.localName.toUpperCase()===b&&a.namespaceURI===c}}if(a.match(/^@\w+$/)){var d=a.slice(1);return function(a){return a.hasAttribute&& +a.hasAttribute(d)}}if(a.match(/^@\w+="[\w\d ]+"$/)){a=a.split("=");d=a[0].slice(1);var e=a[1].slice(1,-1);return function(a){return a.hasAttribute&&a.hasAttribute(d)&&a.getAttribute(d)===e}}return a.match(/^@\w+!="[\w\d ]+"$/)?(a=a.split("!="),d=a[0].slice(1),e=a[1].slice(1,-1),function(a){return!a.hasAttribute||!a.hasAttribute(d)||a.getAttribute(d)!==e}):a.match(/^contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)$/)?(a=a.split('"'),e=a[1],function(a){return sre.Grammar.getInstance().getParameter(e)}): +a.match(/^not\(\s*contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)\s*\)$/)?(a=a.split('"'),e=a[1],function(a){return!sre.Grammar.getInstance().getParameter(e)}):null};sre.QueryTrieNode=function(a,b){this.store_=b;sre.StaticTrieNode.call(this,a,sre.TrieNodeFactory.constraintTest_(a));this.kind=sre.TrieNode.Kind.QUERY};goog.inherits(sre.QueryTrieNode,sre.StaticTrieNode);sre.QueryTrieNode.prototype.applyTest=function(a){return this.test?this.test(a):this.store_.applyQuery(a,this.constraint)===a}; +sre.BooleanTrieNode=function(a,b){this.store_=b;sre.StaticTrieNode.call(this,a,sre.TrieNodeFactory.constraintTest_(a));this.kind=sre.TrieNode.Kind.BOOLEAN};goog.inherits(sre.BooleanTrieNode,sre.StaticTrieNode);sre.BooleanTrieNode.prototype.applyTest=function(a){return this.test?this.test(a):this.store_.applyConstraint(a,this.constraint)};sre.Trie=function(a){this.store=a;this.root=sre.TrieNodeFactory.getNode(sre.TrieNode.Kind.ROOT,"",this.store)};sre.Trie.prototype.addRule=function(a){for(var b=this.root,c=a.dynamicCstr.getValues(),d=0,e=c.length;d=e&&1a)return String.fromCharCode(a);a-=65536;return String.fromCharCode((a>>10)+55296,(a&1023)+56320)};sre.MathMap=function(){this.store=sre.MathCompoundStore.getInstance();this.retrieveMaps()};goog.addSingletonGetter(sre.MathMap);sre.MathMap.toFetch_=0;sre.Engine.registerTest(function(){return sre.MathMap.getInstance()&&!sre.MathMap.toFetch_});sre.MathMap.prototype.stringify=function(){return JSON.stringify(this)};sre.MathMap.SYMBOLS_PATH_="symbols";sre.MathMap.FUNCTIONS_PATH_="functions";sre.MathMap.UNITS_PATH_="units";sre.MathMap.SYMBOLS_FILES_="greek-capital.js greek-small.js greek-scripts.js greek-symbols.js greek-mathfonts-bold.js greek-mathfonts-italic.js greek-mathfonts-sans-serif-bold.js hebrew_letters.js latin-lower-double-accent.js latin-lower-normal.js latin-lower-phonetic.js latin-lower-single-accent.js latin-rest.js latin-upper-double-accent.js latin-upper-normal.js latin-upper-single-accent.js latin-mathfonts-bold-fraktur.js latin-mathfonts-bold.js latin-mathfonts-bold-script.js latin-mathfonts-double-struck.js latin-mathfonts-fraktur.js latin-mathfonts-italic.js latin-mathfonts-monospace.js latin-mathfonts-sans-serif-bold.js latin-mathfonts-sans-serif-italic.js latin-mathfonts-sans-serif.js latin-mathfonts-script.js math_angles.js math_arrows.js math_characters.js math_delimiters.js math_digits.js math_geometry.js math_harpoons.js math_non_characters.js math_symbols.js math_whitespace.js other_stars.js".split(" "); +sre.MathMap.FUNCTIONS_FILES_=["algebra.js","elementary.js","hyperbolic.js","trigonometry.js"];sre.MathMap.UNITS_FILES_="energy.js length.js memory.js other.js speed.js temperature.js time.js volume.js weight.js".split(" "); +sre.MathMap.retrieveFiles=function(a,b,c){b=sre.BaseUtil.makePath(sre.SystemExternal.jsonPath+b);switch(sre.Engine.getInstance().mode){case sre.Engine.Mode.ASYNC:sre.MathMap.toFetch_+=a.length;for(var d=0,e;e=a[d];d++)sre.MathMap.fromFile_(b+e,function(a,b){sre.MathMap.toFetch_--;a||JSON.parse(b).forEach(function(a){c(a)})});break;case sre.Engine.Mode.HTTP:var f=sre.Engine.getInstance().isIE;sre.MathMap.toFetch_+=a.length;for(d=0;e=a[d];d++)f?sre.MathMap.getJsonIE_(e,c):sre.MathMap.getJsonAjax_(b+ +e,c);break;default:sre.MathMap.parseFiles(a.map(function(a){return b+a})).forEach(function(a){c(a)})}}; +sre.MathMap.prototype.retrieveMaps=function(){for(var a=0;a=d?setTimeout(function(){sre.MathMap.getJsonIE_(a,b,d++)},300):sre.MathMap.toFetch_--};sre.MathMap.fromFile_=function(a,b){return sre.SystemExternal.fs.readFile(a,"utf8",b)}; +sre.MathMap.loadFile=function(a){try{return sre.MathMap.readJSON_(a)}catch(b){console.log("Unable to load file: "+a+", error: "+b)}};sre.MathMap.loadFiles=function(a){return a.map(sre.MathMap.loadFile)};sre.MathMap.parseFiles=function(a){a=sre.MathMap.loadFiles(a);return[].concat.apply([],a.map(function(a){return JSON.parse(a)}))};sre.MathMap.readJSON_=function(a){return sre.SystemExternal.fs.readFileSync(a)}; +sre.MathMap.getJsonAjax_=function(a,b){var c=new XMLHttpRequest;c.onreadystatechange=function(){4===c.readyState&&(sre.MathMap.toFetch_--,200===c.status&&JSON.parse(c.responseText).forEach(function(a){b(a)}))};c.open("GET",a,!0);c.send()};sre.AbstractionRules=function(){sre.MathStore.call(this)};goog.inherits(sre.AbstractionRules,sre.MathStore);goog.addSingletonGetter(sre.AbstractionRules);sre.AbstractionRules.mathStore=sre.AbstractionRules.getInstance();sre.AbstractionRules.defineRule_=goog.bind(sre.AbstractionRules.mathStore.defineRule,sre.AbstractionRules.mathStore);sre.AbstractionRules.defineRuleAlias_=goog.bind(sre.AbstractionRules.mathStore.defineRulesAlias,sre.AbstractionRules.mathStore); +sre.AbstractionRules.defineSpecialisedRule_=goog.bind(sre.AbstractionRules.mathStore.defineSpecialisedRule,sre.AbstractionRules.mathStore);sre.AbstractionRules.defineUniqueRuleAlias_=goog.bind(sre.AbstractionRules.mathStore.defineUniqueRuleAlias,sre.AbstractionRules.mathStore); +sre.AbstractionRules.initAbstractionRules_=function(){(0,sre.AbstractionRules.defineRule_)("abstr-collapsed","mathspeak.default",'[t] "collapsed"; [n] . (grammar:collapsed)',"self::*","@alternative",'not(@alternative="summary")','not(contains(@grammar, "collapsed"))');(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.default",'[t] "long identifier"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.default", +'[t] "identifier"',"self::identifier",'@alternative="summary"',"@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.brief",'[t] "identifier"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-identifier","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.default",'[t] "long number"',"self::number","@alternative"); +(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.default",'[t] "number"',"self::number","@alternative",'@alternative="summary"');(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.brief",'[t] "number"',"self::number","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-mixed-number","mathspeak.default",'[t] "long mixed number"',"self::number","@alternative",'@role="mixed"'); +(0,sre.AbstractionRules.defineRule_)("abstr-mixed-number","mathspeak.brief",'[t] "mixed number"',"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-mixed-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-text","mathspeak.default",'[t] "text"',"self::text","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-function","mathspeak.default",'[t] "functional expression"',"self::function","@alternative","self::*"); +(0,sre.AbstractionRules.defineRule_)("abstr-function","mathspeak.brief",'[t] "function"',"self::function","@alternative","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-function","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-lim","mathspeak.default",'[t] "limit function"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionRules.defineRule_)("abstr-lim","mathspeak.brief",'[t] "lim"',"self::function","@alternative",'@role="limit function"'); +(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-lim","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-fraction","mathspeak.default",'[t] "fraction"',"self::fraction","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-fraction","mathspeak.brief",'[t] "frac"',"self::fraction","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-fraction","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-continued-fraction", +"mathspeak.default",'[t] "continued fraction"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-continued-fraction","mathspeak.brief",'[t] "continued frac"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-continued-fraction","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-sqrt", +"mathspeak.default",'[t] "square root"',"self::sqrt","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-sqrt-nested","mathspeak.default",'[t] "nested square root"',"self::sqrt","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt-nested", +"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-root","mathspeak.default",'[t] "root of index"; [n] children/*[1]; [t] "endindex"',"self::root","@alternative","following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionRules.defineRule_)("abstr-root","mathspeak.brief",'[t] "root"',"self::root","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-root", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "nested root of index"; [n] children/*[1]',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "nested root of index"; [n] children/*[1]; [t] "endindex"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root", +"following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.brief",'[t] "nested root"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-root-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-superscript","mathspeak.default",'[t] "power"',"self::superscript","@alternative","self::*", +"self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-superscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-subscript","mathspeak.default",'[t] "subscript"',"self::subscript","@alternative","self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subscript","mathspeak.default","mathspeak.brief"); +(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-subsup","mathspeak.default",'[t] "power with subscript"',"self::superscript","@alternative",'name(children/*[1])="subscript"',"self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subsup","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subsup","mathspeak.brief","mathspeak.sbrief"); +(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "with"; [t] count(./children/*); [t] "elements"',"self::infixop","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "with variable number of elements"',"self::infixop","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.brief", +"[t] @role (grammar:localRole)","self::infixop","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-infixop","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-addition","mathspeak.default",'[t] "sum with"; [t] count(./children/*); [t] "summands"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionRules.defineRule_)("abstr-addition","mathspeak.brief",'[t] "sum"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-addition", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-addition","mathspeak.default",'[t] "sum with variable number of summands"',"self::infixop","@alternative",'@role="addition"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-multiplication","mathspeak.default",'[t] "product with"; [t] count(./children/*); [t] "factors"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionRules.defineRule_)("abstr-multiplication", +"mathspeak.brief",'[t] "product"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-multiplication","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRuleAlias_)("abstr-multiplication","self::infixop","@alternative",'@role="implicit"');(0,sre.AbstractionRules.defineRule_)("abstr-var-multiplication","mathspeak.default",'[t] "product with variable number of factors"',"self::infixop","@alternative",'@role="multiplication"', +"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRuleAlias_)("abstr-var-multiplication","self::infixop","@alternative",'@role="implicit"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-vector","mathspeak.default",'[t] count(./children/*) ; [t] "dimensional vector"',"self::vector","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-vector","mathspeak.brief",'[t] "vector"',"self::vector", +"@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-vector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-vector","mathspeak.default",'[t] "n dimensional vector"',"self::vector","@alternative",'./children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-binomial","mathspeak.default",'[t] "binomial"',"self::vector","@alternative",'@role="binomial"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-binomial", +"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-determinant","mathspeak.default",'[t] count(./children/*); [t] "dimensional determinant"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionRules.defineRule_)("abstr-determinant","mathspeak.brief",'[t] "determinant"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-determinant", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-determinant","mathspeak.default",'[t] "n dimensional determinant"',"self::matrix","@alternative",'@role="determinant"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-squarematrix","mathspeak.default",'[t] count(./children/*); [t] "dimensional square matrix"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionRules.defineRule_)("abstr-squarematrix", +"mathspeak.brief",'[t] "square matrix"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-squarematrix","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-rowvector","mathspeak.default",'[t] count(./children/row/children/*); [t] "dimensional row vector"',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionRules.defineRule_)("abstr-rowvector","mathspeak.brief",'[t] "row vector"',"self::matrix", +"@alternative",'@role="rowvector"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-rowvector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "n dimensional row vector"',"self::matrix","@alternative",'@role="rowvector"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-matrix","mathspeak.default",'[t] count(children/*); [t] "by";[t] count(children/*[1]/children/*); [t] "matrix"', +"self::matrix","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-matrix","mathspeak.brief",'[t] "matrix"',"self::matrix","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-matrix","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "n by m dimensional matrix"',"self::matrix","@alternative",'./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-cases", +"mathspeak.default",'[t] "case statement";[t] "with"; [t] count(children/*); [t] "cases"',"self::cases","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-cases","mathspeak.brief",'[t] "case statement"',"self::cases","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-cases","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-cases","mathspeak.default",'[t] "case statement with variable number of cases"',"self::cases","@alternative",'./children/row/children/cell/children/punctuation[@role="ellipsis"]or ./children/line/children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionRules.defineRule_)("abstr-punctuated","mathspeak.default",'[n] content/*[1]; [t] "separated list";[t] "of length"; [t] count(children/*) - count(content/*)',"self::punctuated","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-punctuated","mathspeak.brief",'[n] content/*[1]; [t] "separated list"',"self::punctuated","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-punctuated","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-punctuated", +"mathspeak.default",'[n] content/*[1]; [t] "separated list";[t] "of variable length"',"self::punctuated","@alternative",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-bigop","mathspeak.default","[n] content/*[1]","self::bigop","@alternative","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-integral","mathspeak.default",'[t] "integral"',"self::*","@alternative",'@role="integral"');(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.default", +"[t] @role (grammar:localRole);","self::relseq","@alternative","count(./children/*)=2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.default",'[t] @role (grammar:localRole); [t] "sequence"; [t] "with"; [t] count(./children/*); [t] "elements"',"self::relseq","@alternative","count(./children/*)>2"); +(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.brief",'[t] @role (grammar:localRole); [t] "sequence"',"self::relseq","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-relation","mathspeak.default",'[t] @role (grammar:localRole); [t] "sequence"; [t] "with variable number of elements"',"self::relseq","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionRules.defineUniqueRuleAlias_)("abstr-relation","mathspeak.default","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionRules.defineUniqueRuleAlias_)("abstr-relation","mathspeak.brief","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRuleAlias_)("abstr-var-relation","self::multirel", +"@alternative",'@role!="unknown"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-multirel","mathspeak.default",'[t] "relation sequence"; [t] "with"; [t] count(./children/*); [t] "elements"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineRule_)("abstr-multirel","mathspeak.brief",'[t] "relation sequence"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-multirel", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-multirel","mathspeak.default",'[t] "relation sequence with variable number of elements"',"self::multirel","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-table","mathspeak.default",'[t] "table with"; [t] count(children/*); [t] "rows and";[t] count(children/*[1]/children/*); [t] "columns"',"self::table","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-table", +"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-table","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-line","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);',"self::line","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-row","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);[t] count(preceding-sibling::..); [t] "with";[t] count(children/*); [t] "columns"',"self::row","@alternative", +"*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-cell","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);',"self::cell","@alternative")};sre.AbstractionRules.getInstance().initializer=[sre.AbstractionRules.initAbstractionRules_];sre.AbstractionSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.AbstractionSpanish,sre.MathStore);goog.addSingletonGetter(sre.AbstractionSpanish);sre.AbstractionSpanish.mathStore=sre.AbstractionSpanish.getInstance();sre.AbstractionSpanish.defineRule_=goog.bind(sre.AbstractionSpanish.mathStore.defineRule,sre.AbstractionSpanish.mathStore);sre.AbstractionSpanish.defineRuleAlias_=goog.bind(sre.AbstractionSpanish.mathStore.defineRulesAlias,sre.AbstractionSpanish.mathStore); +sre.AbstractionSpanish.defineSpecialisedRule_=goog.bind(sre.AbstractionSpanish.mathStore.defineSpecialisedRule,sre.AbstractionSpanish.mathStore);sre.AbstractionSpanish.defineUniqueRuleAlias_=goog.bind(sre.AbstractionSpanish.mathStore.defineUniqueRuleAlias,sre.AbstractionSpanish.mathStore); +sre.AbstractionSpanish.initAbstractionSpanish_=function(){(0,sre.AbstractionSpanish.defineRule_)("abstr-collapsed","mathspeak.default",'[n] . (grammar:collapsed); [t] "plegado"',"self::*","@alternative",'not(@alternative="summary")','not(contains(@grammar, "collapsed"))');(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier","mathspeak.default",'[t] "identificador largo"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier", +"mathspeak.default",'[t] "identificador"',"self::identifier",'@alternative="summary"',"@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier","mathspeak.brief",'[t] "identificador"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-identifier","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.default",'[t] "n\u00famero largo"', +"self::number","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.default",'[t] "n\u00famero"',"self::number","@alternative",'@alternative="summary"');(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.brief",'[t] "n\u00famero"',"self::number","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-mixed-number","mathspeak.default",'[t] "n\u00famero largo mixto"', +"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionSpanish.defineRule_)("abstr-mixed-number","mathspeak.brief",'[t] "numero mixto"',"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-mixed-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-text","mathspeak.default",'[t] "texto"',"self::text","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-function","mathspeak.default",'[t] "expresi\u00f3n funcional"', +"self::function","@alternative","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-function","mathspeak.brief",'[t] "funci\u00f3n"',"self::function","@alternative","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-function","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-lim","mathspeak.default",'[t] "funci\u00f3n de l\u00edmite"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionSpanish.defineRule_)("abstr-lim", +"mathspeak.brief",'[t] "l\u00edmite"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-lim","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-fraction","mathspeak.default",'[t] "fracci\u00f3n"',"self::fraction","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-fraction","mathspeak.brief",'[t] "frac"',"self::fraction","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-fraction", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-continued-fraction","mathspeak.default",'[t] "fracci\u00f3n continua"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-continued-fraction","mathspeak.brief",'[t] "frac continua"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-continued-fraction", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-sqrt","mathspeak.default",'[t] "ra\u00edz cuadrada"',"self::sqrt","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-sqrt-nested","mathspeak.default",'[t] "ra\u00edz cuadrada anidada"',"self::sqrt","@alternative", +"children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-root","mathspeak.default",'[t] "ra\u00edz del \u00edndice"; [n] children/*[1]; [t] "finalizar de \u00edndice"',"self::root","@alternative","following-sibling::* or ancestor::*/following-sibling::*"); +(0,sre.AbstractionSpanish.defineRule_)("abstr-root","mathspeak.brief",'[t] "ra\u00edz"',"self::root","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-root","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "ra\u00edz anidada del \u00edndice"; [n] children/*[1]',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested", +"mathspeak.default",'[t] "ra\u00edz anidada del \u00edndice"; [n] children/*[1]; [t] "finalizar de \u00edndice"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root","following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested","mathspeak.brief",'[t] "ra\u00edz anidada"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-root-nested", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-superscript","mathspeak.default",'[t] "potencia"',"self::superscript","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-superscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-subscript","mathspeak.default", +'[t] "sub\u00edndice"',"self::subscript","@alternative","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-subsup","mathspeak.default",'[t] "potencia con sub\u00edndice"',"self::superscript","@alternative",'name(children/*[1])="subscript"',"self::*","self::*","self::*"); +(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subsup","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subsup","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "con"; [t] count(./children/*); [t] "elementos"',"self::infixop","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "con una cantidad variable de elementos"', +"self::infixop","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.brief","[t] @role (grammar:localRole)","self::infixop","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-infixop","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-addition","mathspeak.default",'[t] "suma con"; [t] count(./children/*); [t] "sumandos"',"self::infixop","@alternative", +'@role="addition"');(0,sre.AbstractionSpanish.defineRule_)("abstr-addition","mathspeak.brief",'[t] "suma"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-addition","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-addition","mathspeak.default",'[t] "suma con n\u00famero variable de sumandos"',"self::infixop","@alternative",'@role="addition"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionSpanish.defineRule_)("abstr-multiplication","mathspeak.default",'[t] "producto con"; [t] count(./children/*); [t] "factores"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionSpanish.defineRule_)("abstr-multiplication","mathspeak.brief",'[t] "producto"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-multiplication","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-multiplication", +"self::infixop","@alternative",'@role="implicit"');(0,sre.AbstractionSpanish.defineRule_)("abstr-var-multiplication","mathspeak.default",'[t] "producto con una cantidad variable de factores"',"self::infixop","@alternative",'@role="multiplication"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-var-multiplication","self::infixop","@alternative",'@role="implicit"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionSpanish.defineRule_)("abstr-vector","mathspeak.default",'[t] "vector de dimensi\u00f3n"; [t] count(./children/*)',"self::vector","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-vector","mathspeak.brief",'[t] "vector"',"self::vector","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-vector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-vector","mathspeak.default",'[t] "vector de dimensi\u00f3n n"',"self::vector", +"@alternative",'./children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-binomial","mathspeak.default",'[t] "binomio"',"self::vector","@alternative",'@role="binomial"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-determinant","mathspeak.default", +'[t] "determinante de dimensi\u00f3n"; [t] count(./children/*)',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-determinant","mathspeak.brief",'[t] "determinante"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-determinant","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-determinant","mathspeak.default",'[t] "determinante de dimensi\u00f3n n"', +"self::matrix","@alternative",'@role="determinant"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-squarematrix","mathspeak.default",'[t] "matriz cuadrada de dimensi\u00f3n"; [t] count(./children/*)',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionSpanish.defineRule_)("abstr-squarematrix","mathspeak.brief",'[t] "matriz cuadrada"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-squarematrix", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-rowvector","mathspeak.default",'[t] "vector fila de dimensi\u00f3n"; [t] count(./children/row/children/*) ',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionSpanish.defineRule_)("abstr-rowvector","mathspeak.brief",'[t] "vector fila"',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-rowvector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-matrix", +"mathspeak.default",'[t] "vector fila de dimensi\u00f3n n"',"self::matrix","@alternative",'@role="rowvector"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-matrix","mathspeak.default",'[t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [t] "matriz"',"self::matrix","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-matrix","mathspeak.brief",'[t] "matriz"',"self::matrix","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-matrix", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "matriz de dimensi\u00f3n n por m"',"self::matrix","@alternative",'./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-cases","mathspeak.default",'[t] "declaraci\u00f3n de caso";[t] "con"; [t] count(children/*); [t] "casos"',"self::cases","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-cases","mathspeak.brief", +'[t] "declaraci\u00f3n de caso"',"self::cases","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-cases","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-cases","mathspeak.default",'[t] "declaraci\u00f3n de caso con n\u00famero variable de casos"',"self::cases","@alternative",'./children/row/children/cell/children/punctuation[@role="ellipsis"]or ./children/line/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-punctuated", +"mathspeak.default",'[t] "lista separada por"; [n] content/*[1]; [t] "de longitud"; [t] count(children/*) - count(content/*)',"self::punctuated","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-punctuated","mathspeak.brief",'[t] "lista separada por"; [n] content/*[1]',"self::punctuated","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-punctuated","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-punctuated","mathspeak.default", +'[t] "lista separada por"; [n] content/*[1]','[t] "de longitud variable"',"self::punctuated","@alternative",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-bigop","mathspeak.default","[n] content/*[1]","self::bigop","@alternative","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-integral","mathspeak.default",'[t] "integral"',"self::*","@alternative",'@role="integral"');(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.default","[t] @role (grammar:localRole);", +"self::relseq","@alternative","count(./children/*)=2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.default",'[t] "secuencia de"; [t] @role (grammar:localRole); [t] "con"; [t] count(./children/*); [t] "elementos"',"self::relseq","@alternative","count(./children/*)>2"); +(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.brief",'[t] "secuencia de"; [t] @role (grammar:localRole)',"self::relseq","@alternative","count(./children/*)>2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-relation","mathspeak.default",'[t] "secuencia de"; [t] @role (grammar:localRole); [t] "con una cantidad variable de elementos"',"self::relseq","@alternative","count(./children/*)>2", +'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineUniqueRuleAlias_)("abstr-relation","mathspeak.default","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionSpanish.defineUniqueRuleAlias_)("abstr-relation","mathspeak.brief","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-var-relation", +"self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-multirel","mathspeak.default",'[t] "secuencia de relaci\u00f3n"; [t] "con"; [t] count(./children/*); [t] "elementos"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionSpanish.defineRule_)("abstr-multirel","mathspeak.brief",'[t] "secuencia de relaci\u00f3n"',"self::multirel","@alternative","count(./children/*)>2"); +(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-multirel","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-multirel","mathspeak.default",'[t] "secuencia de relaci\u00f3n con n\u00famero variable de elementos"',"self::multirel","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-table","mathspeak.default",'[t] "mesa con"; [t] count(children/*); [t] "filas y";[t] count(children/*[1]/children/*); [t] "columnas"', +"self::table","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-table","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-table","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-line","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);',"self::line","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-row","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);[t] count(preceding-sibling::..); [t] "con";[t] count(children/*); [t] "columnas"', +"self::row","@alternative","*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-cell","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);',"self::cell","@alternative")};sre.AbstractionSpanish.getInstance().initializer=[sre.AbstractionSpanish.initAbstractionSpanish_];sre.ClearspeakRules=function(){sre.MathStore.call(this)};goog.inherits(sre.ClearspeakRules,sre.MathStore);goog.addSingletonGetter(sre.ClearspeakRules);sre.ClearspeakRules.mathStore=sre.ClearspeakRules.getInstance();sre.ClearspeakRules.defineRule_=goog.bind(sre.ClearspeakRules.mathStore.defineRule,sre.ClearspeakRules.mathStore); +sre.ClearspeakRules.initClearspeakRules_=function(){(0,sre.ClearspeakRules.defineRule_)("fraction","mathspeak.clearspeak",'[t] "the fraction with numerator"; [n] children/*[1]; [p] (pause:300); [t] "and denominator"; [n] children/*[2]; [p] (pause:500)',"self::fraction");(0,sre.ClearspeakRules.defineRule_)("sqrt","mathspeak.clearspeak",'[t] "the square root of"; [n] children/*[1]; [p] (pause:500)',"self::sqrt")};sre.ClearspeakRules.getInstance().initializer=[sre.ClearspeakRules.initClearspeakRules_];sre.MathmlStoreUtil={};sre.MathmlStoreUtil.matchMathjaxToMathml=function(a){return sre.Engine.getInstance().alternativeHost.querySelector("#"+a.id)};sre.MathmlStoreUtil.retrieveMathjaxExtender=function(a){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))?[a]:[]};sre.MathmlStoreUtil.retrieveMathjaxLeaf=function(a){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))?[a]:[]}; +sre.MathmlStoreUtil.checkMathjaxTag=function(a,b){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))&&a.tagName.toUpperCase()==b?[a]:[]};sre.MathmlStoreUtil.checkMathjaxMunder=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MUNDER")};sre.MathmlStoreUtil.checkMathjaxMover=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MOVER")};sre.MathmlStoreUtil.checkMathjaxMsub=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MSUB")}; +sre.MathmlStoreUtil.checkMathjaxMsup=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MSUP")};sre.MathmlStoreUtil.mfencedSeparators=function(a,b){var c=sre.MathUtil.nextSeparatorFunction(b);return function(){return c?[sre.AuditoryDescription.create({text:c()},{translate:!0})]:[]}}; +sre.MathmlStoreUtil.contentIterator=function(a,b){var c=02",'./children/punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("multi-equality","emacspeak.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2");(0,sre.EmacspeakRules.defineRule_)("multi-equality","emacspeak.short",'[t] "equation sequence"; [m] children/* (sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2"); +(0,sre.EmacspeakRules.defineRule_)("equality","emacspeak.default",'[t] "equation"; [t] "left hand side"; [n] children/*[1];[p] (pause:200); [n] content/*[1] (pause:200);[t] "right hand side"; [n] children/*[2]','self::relseq[@role="equality"]',"count(./children/*)=2");(0,sre.EmacspeakRules.defineRule_)("simple-equality","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/identifier or ./children/number"); +(0,sre.EmacspeakRules.defineRule_)("simple-equality2","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/function or ./children/appl");(0,sre.EmacspeakRules.defineRule_)("relseq","emacspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.EmacspeakRules.defineRule_)("implicit","emacspeak.default","[m] children/*","self::infixop",'@role="implicit"', +'children/*[1][@role="latinletter"] or children/*[1][@role="greekletter"] or children/*[1][@role="otherletter"] or name(children/*[1])="number"','children/*[2][@role="latinletter"] or children/*[2][@role="greekletter"] or children/*[2][@role="otherletter"] or name(children/*[2])="number"');(0,sre.EmacspeakRules.defineRule_)("binary-operation","emacspeak.default","[p] (pause:100); [m] children/* (sepFunc:CTXFcontentIterator); [p] (pause:100);","self::infixop");(0,sre.EmacspeakRules.defineRule_)("variable-addition", +"emacspeak.default",'[t] "sum with variable number of summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(children/*)>2",'children/punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("prefix","emacspeak.default",'[t] "prefix"; [n] text(); [t] "of" (pause 150);[n] children/*[1]',"self::prefixop");(0,sre.EmacspeakRules.defineRule_)("negative","emacspeak.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'self::prefixop[@role="negative"]'); +(0,sre.EmacspeakRules.defineRule_)("postfix","emacspeak.default",'[n] children/*[1]; [t] "postfix"; [n] text() (pause 300)',"self::postfixop");(0,sre.EmacspeakRules.defineRule_)("identifier","emacspeak.default","[n] text()","self::identifier");(0,sre.EmacspeakRules.defineRule_)("number","emacspeak.default","[n] text()","self::number");(0,sre.EmacspeakRules.defineRule_)("font","mathspeak.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))', +'@font!="normal"');(0,sre.EmacspeakRules.defineRule_)("font-identifier-short","emacspeak.default","[t] @font; [n] CQFhideFont; [t] CSFshowFont","self::identifier","string-length(text())=1","@font",'@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")', +'@role!="unit"');(0,sre.EmacspeakRules.defineRule_)("font-identifier","mathspeak.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.EmacspeakRules.defineRule_)("omit-font","mathspeak.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.EmacspeakRules.defineRule_)("simple-fraction", +"emacspeak.default",'[p] (pause:100); [n] children/*[1] (rate:0.35); [t] "over"; [n] children/*[2] (rate:-0.35); [p] (pause:100)',"self::fraction",'name(children/*[1])="number" or name(children/*[1])="identifier"','name(children/*[2])="number" or name(children/*[2])="identifier"');(0,sre.EmacspeakRules.defineRule_)("vulgar-fraction","emacspeak.default","[t] CSFvulgarFraction","self::fraction",'@role="vulgar"',"CQFvulgarFractionSmall");(0,sre.EmacspeakRules.defineRule_)("fraction","emacspeak.default", +'[p] (pause:250); [n] children/*[1] (rate:0.35); [p] (pause:250); [t] "divided by"; [p] (pause:250); [n] children/*[2] (rate:-0.35); [p] (pause:250)',"self::fraction");(0,sre.EmacspeakRules.defineRule_)("superscript","emacspeak.default",'[n] children/*[1]; [t] "super"; [n] children/*[2] (pitch:0.35);[p] (pause:300)',"self::superscript");(0,sre.EmacspeakRules.defineRule_)("subscript","emacspeak.default",'[n] children/*[1]; [t] "sub"; [n] children/*[2] (pitch:-0.35);[p] (pause:300)',"self::subscript"); +(0,sre.EmacspeakRules.defineRule_)("ellipsis","emacspeak.default",'[p] (pause:200); [t] "ellipsis"; [p] (pause:300)',"self::punctuation",'self::punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("fence-single","emacspeak.default","[n] text()","self::punctuation",'self::punctuation[@role="openfence"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="closefence"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation", +'self::punctuation[@role="vbar"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="application"]');(0,sre.EmacspeakRules.defineRule_)("omit-empty","emacspeak.default","[p] (pause:100)","self::empty");(0,sre.EmacspeakRules.defineRule_)("fences-open-close","emacspeak.default","[p] (pause:200); [n] children/*[1] (rate:0.35); [p] (pause:200)","self::fenced",'@role="leftright"');(0,sre.EmacspeakRules.defineRule_)("fences-open-close-in-appl","emacspeak.default", +"[p] (pause:200); [n] children/*[1]; [p] (pause:200);",'self::fenced[@role="leftright"]',"./parent::children/parent::appl");(0,sre.EmacspeakRules.defineRule_)("fences-neutral","emacspeak.default",'[p] (pause:100); [t] "absolute value of"; [n] children/*[1];[p] (pause:350);',"self::fenced",'self::fenced[@role="neutral"]');(0,sre.EmacspeakRules.defineRule_)("omit-fences","emacspeak.default","[p] (pause:500); [n] children/*[1]; [p] (pause:200);","self::fenced");(0,sre.EmacspeakRules.defineRule_)("matrix", +"emacspeak.default",'[t] "matrix"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::matrix");(0,sre.EmacspeakRules.defineRule_)("matrix-row","emacspeak.default",'[m] children/* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)','self::row[@role="matrix"]');(0,sre.EmacspeakRules.defineRule_)("matrix-cell","emacspeak.default","[n] children/*[1]",'self::cell[@role="matrix"]');(0,sre.EmacspeakRules.defineRule_)("vector","emacspeak.default",'[t] "vector"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"element",pause:100)', +"self::vector");(0,sre.EmacspeakRules.defineRule_)("cases","emacspeak.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100)',"self::cases");(0,sre.EmacspeakRules.defineRule_)("cases-row","emacspeak.default","[m] children/*",'self::row[@role="cases"]');(0,sre.EmacspeakRules.defineRule_)("cases-cell","emacspeak.default","[n] children/*[1]",'self::cell[@role="cases"]');(0,sre.EmacspeakRules.defineRule_)("row","emacspeak.default",'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)', +"self::row");(0,sre.EmacspeakRules.defineRule_)("cases-end","emacspeak.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100);[t] "end cases"',"self::cases","following-sibling::*");(0,sre.EmacspeakRules.defineRule_)("multiline","emacspeak.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"line",pause:100)',"self::multiline");(0,sre.EmacspeakRules.defineRule_)("line","emacspeak.default","[m] children/*","self::line");(0,sre.EmacspeakRules.defineRule_)("table", +"emacspeak.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table");(0,sre.EmacspeakRules.defineRule_)("table-row","emacspeak.default","[m] children/* (pause:100)",'self::row[@role="table"]');(0,sre.EmacspeakRules.defineRuleAlias_)("cases-cell",'self::cell[@role="table"]');(0,sre.EmacspeakRules.defineRule_)("end-punct","emacspeak.default","[m] children/*; [p] (pause:300)","self::punctuated",'@role="endpunct"');(0,sre.EmacspeakRules.defineRule_)("start-punct", +"emacspeak.default","[n] content/*[1]; [p] (pause:200); [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.EmacspeakRules.defineRule_)("integral-punct","emacspeak.default","[n] children/*[1] (rate:0.2); [n] children/*[3] (rate:0.2)","self::punctuated",'@role="integral"');(0,sre.EmacspeakRules.defineRule_)("punctuated","emacspeak.default","[m] children/* (pause:100)","self::punctuated");(0,sre.EmacspeakRules.defineRule_)("function","emacspeak.default","[n] text()","self::function"); +(0,sre.EmacspeakRules.defineRule_)("appl","emacspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::appl");(0,sre.EmacspeakRules.defineRule_)("sum-only","emacspeak.default",'[n] children/*[1]; [t] "from"; [n] children/*[2]; [t] "to";[n] children/*[3]',"self::limboth",'@role="sum" or @role="integral"');(0,sre.EmacspeakRules.defineRule_)("limboth","emacspeak.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[t] "under"; [n] children/*[3]; [p] (pause 250);', +"self::limboth");(0,sre.EmacspeakRules.defineRule_)("limlower","emacspeak.default",'[n] children/*[1]; [t] "over"; [n] children/*[2];',"self::limlower");(0,sre.EmacspeakRules.defineRule_)("limupper","emacspeak.default",'[n] children/*[1]; [t] "under"; [n] children/*[2];',"self::limupper");(0,sre.EmacspeakRules.defineRule_)("largeop","emacspeak.default","[n] text()","self::largeop");(0,sre.EmacspeakRules.defineRule_)("bigop","emacspeak.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[p] (pause 250);', +"self::bigop");(0,sre.EmacspeakRules.defineRule_)("integral","emacspeak.default","[n] children/*[1]; [p] (pause 100); [n] children/*[2];[p] (pause 200); [n] children/*[3] (rate:0.35);","self::integral");(0,sre.EmacspeakRules.defineRule_)("sqrt","emacspeak.default",'[t] "Square root of"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::sqrt");(0,sre.EmacspeakRules.defineRule_)("square","emacspeak.default",'[n] children/*[1]; [t] "squared" (pitch:0.35); [p] (pause:200)',"self::superscript","children/*[2][text()=2]", +'name(./children/*[1])!="text"');(0,sre.EmacspeakRules.defineRule_)("cube","emacspeak.default",'[n] children/*[1]; [t] "cubed" (pitch:0.35); [p] (pause:200)',"self::superscript","children/*[2][text()=3]",'name(./children/*[1])!="text"');(0,sre.EmacspeakRules.defineRule_)("root","emacspeak.default",'[t] "root of order"; [n] children/*[1];[t] "over"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::root");(0,sre.EmacspeakRules.defineRule_)("text-no-mult","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] children/*[2]", +"self::infixop","children/text");(0,sre.EmacspeakRules.defineRule_)("text","emacspeak.default","[n] text(); [p] (pause:200)","self::text");(0,sre.EmacspeakRules.defineRule_)("unit","emacspeak.default","[t] text() (annotation:unit, preprocess)","self::identifier",'@role="unit"');(0,sre.EmacspeakRules.defineRule_)("unit-square","emacspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.EmacspeakRules.defineRule_)("unit-cubic", +"emacspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.EmacspeakRules.defineRule_)("reciprocal","emacspeak.default",'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]'); +(0,sre.EmacspeakRules.defineRule_)("reciprocal","emacspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.EmacspeakRules.defineRule_)("unit-combine","emacspeak.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.EmacspeakRules.defineRule_)("unit-divide","emacspeak.default", +'[n] children/*[1] (pitch:0.3); [t] "per"; [n] children/*[2] (pitch:-0.3)',"self::fraction",'@role="unit"')};sre.EmacspeakRules.getInstance().initializer=[sre.EmacspeakRules.initCustomFunctions_,sre.EmacspeakRules.initSemanticRules_];sre.MathmlStore=function(){sre.MathStore.call(this)};goog.inherits(sre.MathmlStore,sre.MathStore);goog.addSingletonGetter(sre.MathmlStore);sre.MathmlStore.prototype.defineMathmlRule=function(a,b,c){this.defineRule(a,b,c,"self::mathml:"+a)};sre.MathmlStore.prototype.defineDefaultMathmlRule=function(a,b){this.defineRule(a,"default.default",b,"self::mathml:"+a)};sre.MathmlStoreRules=function(){sre.MathmlStore.call(this)};goog.inherits(sre.MathmlStoreRules,sre.MathmlStore);goog.addSingletonGetter(sre.MathmlStoreRules);sre.MathmlStoreRules.mathStore=sre.MathmlStoreRules.getInstance();sre.MathmlStoreRules.defineDefaultMathmlRule_=goog.bind(sre.MathmlStoreRules.mathStore.defineDefaultMathmlRule,sre.MathmlStoreRules.mathStore);sre.MathmlStoreRules.defineRule_=goog.bind(sre.MathmlStoreRules.mathStore.defineRule,sre.MathmlStoreRules.mathStore); +sre.MathmlStoreRules.defineRuleAlias_=goog.bind(sre.MathmlStoreRules.mathStore.defineRuleAlias,sre.MathmlStoreRules.mathStore);sre.MathmlStoreRules.addContextFunction_=goog.bind(sre.MathmlStoreRules.mathStore.contextFunctions.add,sre.MathmlStoreRules.mathStore.contextFunctions);sre.MathmlStoreRules.addCustomQuery_=goog.bind(sre.MathmlStoreRules.mathStore.customQueries.add,sre.MathmlStoreRules.mathStore.customQueries); +sre.MathmlStoreRules.initCustomFunctions_=function(){(0,sre.MathmlStoreRules.addContextFunction_)("CTXFnodeCounter",sre.StoreUtil.nodeCounter);(0,sre.MathmlStoreRules.addContextFunction_)("CTXFmfSeparators",sre.MathmlStoreUtil.mfencedSeparators);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFextender",sre.MathmlStoreUtil.retrieveMathjaxExtender);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmunder",sre.MathmlStoreUtil.checkMathjaxMunder);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmover", +sre.MathmlStoreUtil.checkMathjaxMover);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmsub",sre.MathmlStoreUtil.checkMathjaxMsub);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmsup",sre.MathmlStoreUtil.checkMathjaxMsup);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFlookupleaf",sre.MathmlStoreUtil.retrieveMathjaxLeaf)}; +sre.MathmlStoreRules.initDefaultRules_=function(){(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("math","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("semantics","[n] ./*[1]");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mspace","[p] (pause:250)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mstyle","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mpadded","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("merror","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mphantom", +"[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mtext","[t] text(); [p] (pause:200)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mi","[n] text()");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mo","[n] text() (rate:-0.1)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mn","[n] text()");(0,sre.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,sre.MathmlStoreRules.defineRule_)("mi-variant","default.default","[t] @mathvariant; [n] text()","self::mathml:mi","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineRuleAlias_)("mi-variant","self::mathml:mn","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineRule_)("mo-variant","default.default","[t] @mathvariant; [n] text() (rate:-0.1)","self::mathml:mo","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("ms", +'[t] "string" (pitch:0.5, rate:0.5); [t] text()');(0,sre.MathmlStoreRules.defineRule_)("unit","default.default",'[t] text() (grammar:annotation="unit":translate)',"self::mathml:mi",'@class="MathML-Unit"');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msup",'[n] ./*[1]; [t] "super";[n] ./*[2] (pitch:0.35); [p] (pause:300)');(0,sre.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,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msub",'[n] ./*[1]; [t] "sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:300)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mover",'[n] ./*[2] (pitch:0.35); [p] (pause:200); [t] "over"; [n] ./*[1]; [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("munder",'[n] ./*[2] (pitch:-0.35); [t] "under"; [n] ./*[1]; [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("munderover",'[n] ./*[2] (pitch:-0.35); [t] "under and"; [n] ./*[3] (pitch:0.35); [t] "over"; [n] ./*[1]; [p] (pause:400)'); +(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mrow","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msqrt",'[t] "Square root of"; [m] ./* (rate:0.2); [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mroot",'[t] "root of order"; [n] ./*[2]; [t] "of";[n] ./*[1] (rate:0.2); [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mfrac",' [p] (pause:400); [n] ./*[1] (pitch:0.3); [t] "divided by"; [n] ./*[2] (pitch:-0.3); [p] (pause:400)');(0,sre.MathmlStoreRules.defineRule_)("mfrac", +"default.short",'[p] (pause:200); [t] "start frac";[n] ./*[1] (pitch:0.3); [t] "over"; [n] ./*[2] (pitch:-0.3); [p] (pause:400); [t] "end frac"',"self::mathml:mfrac");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default","[n] @open; [m] ./* (separator:@separators); [n] @close","self::mathml:mfenced","@open","@close","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:@separators); [n] @close', +"self::mathml:mfenced","not(@open)","@close","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[n] @open; [m] ./* (separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced", +"@open","not(@close)","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default","[n] @open; [m] ./*; [n] @close","self::mathml:mfenced","@separators","@open","@close",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[t] "(" (grammar:translate); [m] ./*; [n] @close',"self::mathml:mfenced","@separators","not(@open)","@close",'string(@separators)="" or string(@separators)=" "'); +(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[n] @open; [m] ./*; [t] ")" (grammar:translate)',"self::mathml:mfenced","@separators","@open","not(@close)",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[t] "(" (grammar:translate); [m] ./*; [t] ")" (grammar:translate)',"self::mathml:mfenced","@separators","not(@open)","not(@close)",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma", +"default.default",'[n] @open; [m] ./* (separator:"comma"); [n] @close',"self::mathml:mfenced","@open","@close","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:"comma"); [n] @close',"self::mathml:mfenced","not(@open)","@close","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[n] @open; [m] ./* (separator:"comma"); [t] ")" (grammar:translate)',"self::mathml:mfenced", +"@open","not(@close)","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:"comma"); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default","[n] @open; [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [n] @close","self::mathml:mfenced","@open","@close","string-length(string(@separators))>1"); +(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[t] "(" (grammar:translate); [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [n] @close',"self::mathml:mfenced","not(@open)","@close","string-length(string(@separators))>1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[n] @open; [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","@open","not(@close)","string-length(string(@separators))>1"); +(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[t] "(" (grammar:translate); [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","string-length(string(@separators))>1");(0,sre.MathmlStoreRules.defineRule_)("mtable","default.default",'[t] "matrix"; [m] ./* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::mathml:mtable");(0,sre.MathmlStoreRules.defineRule_)("mtr","default.default", +'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)',"self::mathml:mtr");(0,sre.MathmlStoreRules.defineRule_)("mtd","default.default","[m] ./*","self::mathml:mtd");(0,sre.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,sre.MathmlStoreRules.defineRule_)("mtable","default.short",'[t] "matrix"; [m] ./*',"self::mathml:mtable");(0,sre.MathmlStoreRules.defineRule_)("mtr", +"default.short","[m] ./*","self::mathml:mtr");(0,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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]")}; +sre.MathmlStoreRules.initMathjaxRules_=function(){(0,sre.MathmlStoreRules.defineRule_)("mj-math","default.default","[n] ./*[1]/*[1]/*[1]",'self::span[@class="math"]');(0,sre.MathmlStoreRules.defineRule_)("mj-leaf","default.default","[n] CQFlookupleaf",'self::span[@class="mi"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mo"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mn"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mtext"]'); +(0,sre.MathmlStoreRules.defineRule_)("mj-mo-ext","default.default","[n] CQFextender",'self::span[@class="mo"]',"./*[1]/*[1]/text()","./*[1]/*[2]/text()");(0,sre.MathmlStoreRules.defineRule_)("mj-texatom","default.default","[n] ./*[1]",'self::span[@class="texatom"]');(0,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.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,sre.MathmlStoreRules.defineRule_)("mj-mfenced","default.default",'[t] "opening"; [n] ./*[1]; [m] ./*[position()>1 and position()1",'text()=translate(text(), "abcdefghijklmnopqrstuvwxyz\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", "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9")','""=translate(text(), "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9","")'); +(0,sre.MathspeakRules.defineRule_)("number-baseline","mathspeak.default",'[t] "Baseline"; [n] text()',"self::number",'not(contains(@grammar, "ignoreFont"))',"preceding-sibling::identifier",'preceding-sibling::*[1][@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline","mathspeak.default","mathspeak.brief",'[t] "Base"; [n] text()');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("number-baseline-font","mathspeak.default",'[t] "Baseline"; [t] @font; [n] . (grammar:ignoreFont=@font)',"self::number","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"',"preceding-sibling::identifier",'preceding-sibling::*[@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline-font","mathspeak.default", +"mathspeak.brief",'[t] "Base"; [n] text()');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline-font","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("identifier","mathspeak.default","[m] CQFspaceoutIdentifier","self::identifier","string-length(text())>1",'@role!="unit"','@role!="protected"','not(@font) or @font="normal" or contains(@grammar, "ignoreFont")');(0,sre.MathspeakRules.defineRule_)("identifier","mathspeak.default","[n] text()","self::identifier",'@role="protected"'); +(0,sre.MathspeakRules.defineRule_)("negative","mathspeak.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'@role="negative"',"children/identifier");(0,sre.MathspeakRules.defineRuleAlias_)("negative","self::prefixop",'@role="negative"',"children/number");(0,sre.MathspeakRules.defineRuleAlias_)("negative","self::prefixop",'@role="negative"','children/fraction[@role="vulgar"]');(0,sre.MathspeakRules.defineRule_)("negative","mathspeak.default",'[t] "minus"; [n] children/*[1]',"self::prefixop", +'@role="negative"');(0,sre.MathspeakRules.defineRule_)("prefix","mathspeak.default","[n] text(); [n] children/*[1]","self::prefixop");(0,sre.MathspeakRules.defineRule_)("postfix","mathspeak.default","[n] children/*[1]; [n] text()","self::postfixop");(0,sre.MathspeakRules.defineRule_)("binary-operation","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.MathspeakRules.defineRule_)("implicit","mathspeak.default","[m] children/*","self::infixop",'@role="implicit"'); +(0,sre.MathspeakRules.defineRuleAlias_)("implicit","self::infixop",'@role="leftsuper" or @role="leftsub" or @role="rightsuper" or @role="rightsub"');(0,sre.MathspeakRules.defineRule_)("subtraction","mathspeak.default",'[m] children/* (separator:"minus");',"self::infixop",'@role="subtraction"');(0,sre.MathspeakRules.defineRule_)("function-unknown","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl");(0,sre.MathspeakRules.defineRule_)("function-prefix","mathspeak.default","[n] children/*[1]; [n] children/*[2]", +"self::appl",'children/*[1][@role="prefix function"]');(0,sre.MathspeakRules.defineRule_)("fences-open-close","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="leftright"');(0,sre.MathspeakRules.defineRule_)("fences-neutral","mathspeak.default",'[t] "StartAbsoluteValue"; [n] children/*[1]; [t] "EndAbsoluteValue"',"self::fenced",'@role="neutral"','content/*[1][text()]="|" or content/*[1][text()]="\u2758" or content/*[1][text()]="\uff5c"');(0,sre.MathspeakRules.defineSpecialisedRule_)("fences-neutral", +"mathspeak.default","mathspeak.sbrief",'[t] "AbsoluteValue"; [n] children/*[1]; [t] "EndAbsoluteValue"');(0,sre.MathspeakRules.defineRule_)("fences-neutral","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="neutral"');(0,sre.MathspeakRules.defineRule_)("fences-set","mathspeak.default",'[t] "StartSet"; [n] children/*[1]; [t] "EndSet"',"self::fenced",'@role="leftright"','content/*[1][text()]="{"','content/*[2][text()]="}"',"count(children/*)=1",'not(name(../..)="appl")'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("fences-set","mathspeak.default","mathspeak.sbrief",'[t] "Set"; [n] children/*[1]; [t] "EndSet"');(0,sre.MathspeakRules.defineRule_)("text","mathspeak.default","[n] text()","self::text");(0,sre.MathspeakRules.defineRule_)("factorial","mathspeak.default",'[t] "factorial"',"self::punctuation",'text()="!"','name(preceding-sibling::*[1])!="text"');(0,sre.MathspeakRules.defineRule_)("minus","mathspeak.default",'[t] "minus"',"self::operator",'text()="-"');(0,sre.MathspeakRules.defineRule_)("single-prime", +"mathspeak.default",'[t] "prime"',"self::punctuated",'@role="prime"',"count(children/*)=1");(0,sre.MathspeakRules.defineRule_)("double-prime","mathspeak.default",'[t] "double-prime"',"self::punctuated",'@role="prime"',"count(children/*)=2");(0,sre.MathspeakRules.defineRule_)("triple-prime","mathspeak.default",'[t] "triple-prime"',"self::punctuated",'@role="prime"',"count(children/*)=3");(0,sre.MathspeakRules.defineRule_)("quadruple-prime","mathspeak.default",'[t] "quadruple-prime"',"self::punctuated", +'@role="prime"',"count(children/*)=4");(0,sre.MathspeakRules.defineRule_)("counted-prime","mathspeak.default",'[t] count(children/*); [t] "prime"',"self::punctuated",'@role="prime"');(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.default","[t] CSFopenFracVerbose; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracVerbose","self::fraction");(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.brief","[t] CSFopenFracBrief; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracBrief", +"self::fraction");(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.sbrief","[t] CSFopenFracSbrief; [n] children/*[1]; [t] CSFoverFracSbrief; [n] children/*[2]; [t] CSFcloseFracSbrief","self::fraction");(0,sre.MathspeakRules.defineRule_)("vulgar-fraction","mathspeak.default","[t] CSFvulgarFraction","self::fraction",'@role="vulgar"',"CQFvulgarFractionSmall");(0,sre.MathspeakRules.defineSpecialisedRule_)("vulgar-fraction","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("vulgar-fraction", +"mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("continued-fraction-outer","mathspeak.default",'[t] "ContinuedFraction"; [n] children/*[1];[t] "Over"; [n] children/*[2]',"self::fraction","not(ancestor::fraction)",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.default","mathspeak.brief",'[t] "ContinuedFrac"; [n] children/*[1];[t] "Over"; [n] children/*[2]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("continued-fraction-inner","mathspeak.default",'[t] "StartFraction"; [n] children/*[1];[t] "Over"; [n] children/*[2]',"self::fraction","ancestor::fraction",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.default","mathspeak.brief",'[t] "StartFrac"; [n] children/*[1];[t] "Over"; [n] children/*[2]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.brief","mathspeak.sbrief",'[t] "Frac"; [n] children/*[1];[t] "Over"; [n] children/*[2]');(0,sre.MathspeakRules.defineRule_)("sqrt","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[1]; [t] CSFcloseRadicalVerbose","self::sqrt");(0,sre.MathspeakRules.defineRule_)("sqrt","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakRules.defineRule_)("sqrt", +"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakRules.defineRule_)("root","mathspeak.default","[t] CSFindexRadicalVerbose; [n] children/*[1];[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root");(0,sre.MathspeakRules.defineRule_)("root","mathspeak.brief","[t] CSFindexRadicalBrief; [n] children/*[1];[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakRules.defineRule_)("root", +"mathspeak.sbrief","[t] CSFindexRadicalSbrief; [n] children/*[1];[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakRules.defineRule_)("limboth","mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]","self::limboth",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limlower","mathspeak.default", +"[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];","self::limlower",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limupper","mathspeak.default","[n] children/*[1]; [t] CSFoverscript; [n] children/*[2];","self::limupper",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limlower", +"self::underscore",'@role="limit function"','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limlower","self::underscore",'children/*[2][@role!="underaccent"]','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limupper","self::overscore",'children/*[2][@role!="overaccent"]', +'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limboth-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]; [t] "Endscripts"',"self::limboth");(0,sre.MathspeakRules.defineRule_)("limlower-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2]; [t] "Endscripts"',"self::limlower");(0,sre.MathspeakRules.defineRule_)("limupper-end", +"mathspeak.default",'[n] children/*[1]; [t] CSFoverscript; [n] children/*[2]; [t] "Endscripts"',"self::limupper");(0,sre.MathspeakRules.defineRuleAlias_)("limlower-end","self::underscore",'@role="limit function"');(0,sre.MathspeakRules.defineRuleAlias_)("limlower-end","self::underscore");(0,sre.MathspeakRules.defineRuleAlias_)("limupper-end","self::overscore");(0,sre.MathspeakRules.defineRule_)("integral","mathspeak.default","[n] children/*[1]; [n] children/*[2]; [n] children/*[3];","self::integral"); +(0,sre.MathspeakRules.defineRule_)("integral","mathspeak.default",'[n] children/*[1]; [t] "Subscript"; [n] children/*[2];[t] "Superscript"; [n] children/*[3]; [t] "Baseline";',"self::limboth",'@role="integral"');(0,sre.MathspeakRules.defineSpecialisedRule_)("integral","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "Sub"; [n] children/*[2];[t] "Sup"; [n] children/*[3]; [t] "Base";');(0,sre.MathspeakRules.defineSpecialisedRule_)("integral","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("bigop", +"mathspeak.default","[n] children/*[1]; [n] children/*[2];","self::bigop");(0,sre.MathspeakRules.defineRule_)("relseq","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.MathspeakRules.defineRule_)("equality","mathspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::relseq",'@role="equality"',"count(./children/*)=2");(0,sre.MathspeakRules.defineRule_)("multi-equality","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)", +"self::relseq",'@role="equality"',"count(./children/*)>2");(0,sre.MathspeakRules.defineRule_)("multrel","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::multirel");(0,sre.MathspeakRules.defineRule_)("subscript","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]","self::subscript");(0,sre.MathspeakRules.defineRule_)("subscript","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]","self::subscript");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("subscript-simple","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(./children/*[1])="identifier"','name(./children/*[2])="number"','./children/*[2][@role!="mixed"]','./children/*[2][@role!="othernumber"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-simple","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-simple","mathspeak.default", +"mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("subscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]; [t] CSFbaselineVerbose","self::subscript","following-sibling::*",'not(name(following-sibling::subscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="subscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and @role!="subsup"','not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]; [t] CSFbaselineBrief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::punctuated|ancestor::fraction",'not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])'); +(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","@embellished");(0,sre.MathspeakRules.defineRule_)("subscript-empty-sup","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="superscript"', +'name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("subscript-empty-sup","self::subscript",'name(children/*[2])="superscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakRules.defineRule_)("superscript","mathspeak.default", +"[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2]","self::superscript");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2]");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("superscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2];[t] CSFbaselineVerbose", +"self::superscript","following-sibling::*",'not(name(following-sibling::superscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="superscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])');(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2];[t] CSFbaselineBrief"); +(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::punctuated",'ancestor::*/following-sibling::* and not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])');(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::fraction|ancestor::fenced|ancestor::root|ancestor::sqrt"); +(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel","not(@embellished)",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","@embellished",'not(children/*[2][@role="prime"])');(0,sre.MathspeakRules.defineRule_)("superscript-empty-sub","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript", +'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="subscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("superscript-empty-sub","self::superscript",'name(children/*[2])="subscript"','name(children/*[2]/children/*[1])="empty"'); +(0,sre.MathspeakRules.defineRule_)("square","mathspeak.default",'[n] children/*[1]; [t] "squared"',"self::superscript","children/*[2]","children/*[2][text()=2]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))','name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])', +"not(@embellished)");(0,sre.MathspeakRules.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("cube","mathspeak.default",'[n] children/*[1]; [t] "cubed"',"self::superscript","children/*[2]","children/*[2][text()=3]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))', +'name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])',"not(@embellished)");(0,sre.MathspeakRules.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime", +"mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript","children/*[2]",'children/*[2][@role="prime"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime-subscript","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]","self::superscript", +'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime-subscript-baseline","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]; [t] CSFbaselineVerbose", +"self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"following-sibling::*");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]; [t] CSFbaselineBrief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("prime-subscript-baseline", +"self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)","@embellished");(0,sre.MathspeakRules.defineRule_)("prime-subscript-simple","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2];[n] children/*[1]/children/*[2]","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"','name(children/*[1]/children/*[1])="identifier"','name(children/*[1]/children/*[2])="number"','children/*[1]/children/*[2][@role!="mixed"]', +'children/*[1]/children/*[2][@role!="othernumber"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-simple","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-simple","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overscore","mathspeak.default",'[t] "ModifyingAbove"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("overscore", +"mathspeak.default","mathspeak.brief",'[t] "ModAbove"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("double-overscore","mathspeak.default",'[t] "ModifyingAbove Above"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]','name(children/*[1])="overscore"','children/*[1]/children/*[2][@role="overaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-overscore", +"mathspeak.default","mathspeak.brief",'[t] "ModAbove Above"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("underscore","mathspeak.default",'[t] "ModifyingBelow"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::underscore",'children/*[2][@role="underaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("underscore","mathspeak.default","mathspeak.brief", +'[t] "ModBelow"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("double-underscore","mathspeak.default",'[t] "ModifyingBelow Below"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::underscore",'children/*[2][@role="underaccent"]','name(children/*[1])="underscore"','children/*[1]/children/*[2][@role="underaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-underscore", +"mathspeak.default","mathspeak.brief",'[t] "ModBelow Below"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overbar","mathspeak.default",'[n] children/*[1]; [t] "overbar"',"self::overscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="overaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("overbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "overBar"');(0,sre.MathspeakRules.defineSpecialisedRule_)("overbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("underbar","mathspeak.default",'[n] children/*[1]; [t] "underbar"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("underbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "underBar"');(0,sre.MathspeakRules.defineSpecialisedRule_)("underbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overtilde","mathspeak.default",'[n] children/*[1]; [t] "overTilde"',"self::overscore",'children/*[2][@role="overaccent"]','@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("overtilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "overtilde"');(0,sre.MathspeakRules.defineSpecialisedRule_)("overtilde","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("undertilde","mathspeak.default",'[n] children/*[1]; [t] "underTilde"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("undertilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "undertilde"');(0,sre.MathspeakRules.defineSpecialisedRule_)("undertilde","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("matrix-fence","mathspeak.default","[n] children/*[1];","self::fenced","count(children/*)=1",'name(children/*[1])="matrix"');(0,sre.MathspeakRules.defineRule_)("matrix","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Matrix"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndMatrix"', +"self::matrix");(0,sre.MathspeakRules.defineRule_)("matrix","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Matrix"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndMatrix"',"self::matrix");(0,sre.MathspeakRules.defineRuleAlias_)("matrix","self::vector");(0,sre.MathspeakRules.defineRule_)("matrix-row","mathspeak.default",'[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column");[p] (pause: 200)',"self::row");(0,sre.MathspeakRules.defineRule_)("row-with-label", +"mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel"(pause: 200); [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content");(0,sre.MathspeakRules.defineRule_)("row-with-label","mathspeak.brief",'[t] "Label"; [n] content/*[1]; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("row-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("row-with-text-label", +"mathspeak.sbrief",'[t] "Label"; [t] CSFRemoveParens;[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakRules.defineRule_)("empty-row","mathspeak.default",'[t] "Blank"',"self::row","count(children/*)=0");(0,sre.MathspeakRules.defineRule_)("matrix-cell","mathspeak.default","[n] children/*[1]; [p] (pause: 300)","self::cell");(0,sre.MathspeakRules.defineRule_)("empty-cell","mathspeak.default",'[t] "Blank"; [p] (pause: 300)', +"self::cell","count(children/*)=0");(0,sre.MathspeakRules.defineRule_)("determinant","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndDeterminant"',"self::matrix",'@role="determinant"');(0,sre.MathspeakRules.defineSpecialisedRule_)("determinant","mathspeak.default","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndDeterminant"'); +(0,sre.MathspeakRules.defineRule_)("determinant-simple","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row",grammar:simpleDet); [t] "EndDeterminant"',"self::matrix",'@role="determinant"',"CQFdetIsSimple");(0,sre.MathspeakRules.defineSpecialisedRule_)("determinant-simple","mathspeak.default","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row",grammar:simpleDet); [t] "EndDeterminant"'); +(0,sre.MathspeakRules.defineRule_)("row-simple","mathspeak.default","[m] children/*;","self::row",'@role="determinant"','contains(@grammar, "simpleDet")');(0,sre.MathspeakRules.defineRule_)("layout","mathspeak.default",'[t] "StartLayout"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::table");(0,sre.MathspeakRules.defineRule_)("layout","mathspeak.sbrief",'[t] "Layout"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::table"); +(0,sre.MathspeakRules.defineRule_)("binomial","mathspeak.default",'[t] "StartBinomialOrMatrix"; [n] children/*[1]/children/*[1]; [t] "Choose"; [n] children/*[2]/children/*[1]; [t] "EndBinomialOrMatrix"',"self::vector",'@role="binomial"');(0,sre.MathspeakRules.defineRule_)("binomial","mathspeak.sbrief",'[t] "BinomialOrMatrix"; [n] children/*[1]/children/*[1]; [t] "Choose"; [n] children/*[2]/children/*[1]; [t] "EndBinomialOrMatrix"',"self::vector",'@role="binomial"');(0,sre.MathspeakRules.defineRule_)("cases", +"mathspeak.default",'[t] "StartLayout"; [t] "Enlarged"; [n] content/*[1];[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::cases");(0,sre.MathspeakRules.defineRule_)("cases","mathspeak.sbrief",'[t] "Layout"; [t] "Enlarged"; [n] content/*[1];[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::cases");(0,sre.MathspeakRules.defineRuleAlias_)("layout","self::multiline");(0,sre.MathspeakRules.defineRule_)("line","mathspeak.default","[m] children/*", +"self::line");(0,sre.MathspeakRules.defineRule_)("line-with-label","mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel" (pause: 200); [m] children/*',"self::line","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("line-with-label","mathspeak.default","mathspeak.brief",'[t] "Label"; [n] content/*[1] (pause: 200); [m] children/*');(0,sre.MathspeakRules.defineSpecialisedRule_)("line-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("line-with-text-label", +"mathspeak.sbrief",'[t] "Label"; [t] CSFRemoveParens; [m] children/*',"self::line","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakRules.defineRule_)("empty-line","mathspeak.default",'[t] "Blank"',"self::line","count(children/*)=0","not(content)");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("empty-line-with-label", +"mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel"(pause: 200); [t] "Blank"',"self::line","count(children/*)=0","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line-with-label","mathspeak.default","mathspeak.brief",'[t] "Label"; [n] content/*[1] (pause: 200); [t] "Blank"');(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("enclose","mathspeak.default",'[t] "StartEnclose"; [t] @role (grammar:localEnclose); [n] children/*[1]; [t] "EndEnclose"', +"self::enclose");(0,sre.MathspeakRules.defineRuleAlias_)("overbar","self::enclose",'@role="top"');(0,sre.MathspeakRules.defineRuleAlias_)("underbar","self::enclose",'@role="bottom"');(0,sre.MathspeakRules.defineRule_)("leftbar","mathspeak.default",'[t] "vertical-bar"; [n] children/*[1]',"self::enclose",'@role="left"');(0,sre.MathspeakRules.defineRule_)("rightbar","mathspeak.default",'[n] children/*[1]; [t] "vertical-bar"',"self::enclose",'@role="right"');(0,sre.MathspeakRules.defineRule_)("crossout", +"mathspeak.default",'[t] "CrossOut"; [n] children/*[1]; [t] "EndCrossOut"',"self::enclose",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineRule_)("cancel","mathspeak.default",'[t] "CrossOut"; [n] children/*[1]/children/*[1]; [t] "With"; [n] children/*[2]; [t] "EndCrossOut"',"self::overscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel","mathspeak.default", +"mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("cancel","self::underscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineRule_)("cancel-reverse","mathspeak.default",'[t] "CrossOut"; [n] children/*[2]/children/*[1]; [t] "With"; [n] children/*[1]; [t] "EndCrossOut"',"self::overscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("cancel-reverse","self::underscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakRules.defineRule_)("end-punct","mathspeak.default","[m] children/*","self::punctuated", +'@role="endpunct"');(0,sre.MathspeakRules.defineRule_)("start-punct","mathspeak.default","[n] content/*[1]; [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.MathspeakRules.defineRule_)("integral-punct","mathspeak.default","[n] children/*[1]; [n] children/*[3]","self::punctuated",'@role="integral"');(0,sre.MathspeakRules.defineRule_)("punctuated","mathspeak.default","[m] children/*","self::punctuated");(0,sre.MathspeakRules.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate)', +"self::identifier",'@role="unit"');(0,sre.MathspeakRules.defineRule_)("unit-square","mathspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.MathspeakRules.defineRule_)("unit-cubic","mathspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.MathspeakRules.defineRule_)("reciprocal","mathspeak.default", +'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.MathspeakRules.defineRule_)("reciprocal","mathspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]', +"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.MathspeakRules.defineRule_)("unit-combine","mathspeak.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.MathspeakRules.defineRule_)("unit-divide","mathspeak.default",'[n] children/*[1]; [t] "per"; [n] children/*[2]',"self::fraction",'@role="unit"')};sre.MathspeakRules.componentString_={2:"CSFbaseline",1:"CSFsubscript",0:"CSFsuperscript"};sre.MathspeakRules.childNumber_={4:2,3:3,2:1,1:4,0:5}; +sre.MathspeakRules.generateTensorRuleStrings_=function(a){var b=[],c="",d="";a=parseInt(a,2);for(var e=0;5>e;e++){var f="children/*["+sre.MathspeakRules.childNumber_[e]+"]";if(a&1){var g=sre.MathspeakRules.componentString_[e%3];c="[t] "+g+"Verbose; [n] "+f+";"+c;d="[t] "+g+"Brief; [n] "+f+";"+d}else b.unshift("name("+f+')="empty"');a>>=1}b.push(c);b.push(d);return b}; +sre.MathspeakRules.generateMathspeakTensorRules_=function(){for(var a="11111 11110 11101 11100 10111 10110 10101 10100 01111 01110 01101 01100".split(" "),b=0,c;c=a[b];b++){var d="tensor"+c;c=sre.MathspeakRules.generateTensorRuleStrings_(c);var e=c.pop(),f=c.pop(),g=[d,"mathspeak.default",f,"self::tensor"].concat(c),h=[d,"mathspeak.brief",e,"self::tensor"].concat(c);sre.MathspeakRules.defineRule_.apply(null,g);sre.MathspeakRules.defineRule_.apply(null,h);(0,sre.MathspeakRules.defineSpecialisedRule_)(d, +"mathspeak.brief","mathspeak.sbrief");g=sre.MathspeakRules.componentString_[2];f+="; [t]"+g+"Verbose";e+="; [t]"+g+"Brief";d+="-baseline";g=[d,"mathspeak.default",f,"self::tensor","following-sibling::*"].concat(c);h=[d,"mathspeak.brief",e,"self::tensor","following-sibling::*"].concat(c);sre.MathspeakRules.defineRule_.apply(null,g);sre.MathspeakRules.defineRule_.apply(null,h);(0,sre.MathspeakRules.defineSpecialisedRule_)(d,"mathspeak.brief","mathspeak.sbrief");d=[d,"self::tensor","not(following-sibling::*)", +"ancestor::fraction|ancestor::punctuated|ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::relseq|ancestor::multirel|@embellished"].concat(c);sre.MathspeakRules.defineRuleAlias_.apply(null,d)}};sre.MathspeakRules.getInstance().initializer=[sre.MathspeakRules.initCustomFunctions_,sre.MathspeakRules.initMathspeakRules_,sre.MathspeakRules.generateMathspeakTensorRules_];sre.MathspeakSpanishUtil={};sre.MathspeakSpanishUtil.europeanNumber=function(a){return a=a.replace(/,/g,"").replace(/\./g,",")};sre.Grammar.getInstance().setCorrection("euroNum",sre.MathspeakSpanishUtil.europeanNumber);sre.MathspeakSpanishUtil.onesOrdinals="primera segunda tercera cuarta quinta sexta s\u00e9ptima octava novena d\u00e9cima und\u00e9cima duod\u00e9cima".split(" ");sre.MathspeakSpanishUtil.tensOrdinals="d\u00e9cima vig\u00e9sima trig\u00e9sima cuadrag\u00e9sima quincuag\u00e9sima sexag\u00e9sima septuag\u00e9sima octog\u00e9sima nonag\u00e9sima".split(" "); +sre.MathspeakSpanishUtil.hundredsOrdinals="cent\u00e9sima ducent\u00e9sima tricent\u00e9sima cuadringent\u00e9sima quingent\u00e9sima sexcent\u00e9sima septingent\u00e9sima octingent\u00e9sima noningent\u00e9sima".split(" "); +sre.MathspeakSpanishUtil.numberToOrdinal=function(a){if(1999=a)return sre.MathspeakSpanishUtil.onesOrdinals[a-1];var b=[];1E3=a?b.push(sre.MathspeakSpanishUtil.onesOrdinals[a-1]):(c=Math.floor(a/10),0=b?[a]:[]}; +sre.MathspeakSpanishUtil.unitMultipliers=function(a,b){var c=0;return function(){var b=sre.AuditoryDescription.create({text:sre.MathspeakSpanishUtil.rightMostUnit(a[c])&&sre.MathspeakSpanishUtil.leftMostUnit(a[c+1])?"por":""},{});c++;return[b]}};sre.MathspeakSpanishUtil.SCRIPT_ELEMENTS=[sre.SemanticAttr.Type.SUPERSCRIPT,sre.SemanticAttr.Type.SUBSCRIPT,sre.SemanticAttr.Type.OVERSCORE,sre.SemanticAttr.Type.UNDERSCORE]; +sre.MathspeakSpanishUtil.rightMostUnit=function(a){for(;a;){if("unit"===a.getAttribute("role"))return!0;var b=a.tagName;a=sre.XpathUtil.evalXPath("children/*",a);a=-1!==sre.MathspeakSpanishUtil.SCRIPT_ELEMENTS.indexOf(b)?a[0]:a[a.length-1]}return!1};sre.MathspeakSpanishUtil.leftMostUnit=function(a){for(;a;){if("unit"===a.getAttribute("role"))return!0;a=sre.XpathUtil.evalXPath("children/*",a)[0]}return!1};sre.MathspeakSpanishUtil.makePlural=function(a){return/.*s$/.test(a)?a:a+"s"}; +sre.Grammar.getInstance().setCorrection("plural",sre.MathspeakSpanishUtil.makePlural);sre.MathspeakSpanishUtil.oneLeft=function(a){for(;a;){if("number"===a.tagName&&"1"===a.textContent)return[a];if("infixop"!==a.tagName||"multiplication"!==a.getAttribute("role")&&"implicit"!==a.getAttribute("role"))break;a=sre.XpathUtil.evalXPath("children/*",a)[0]}return[]};sre.MathspeakSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.MathspeakSpanish,sre.MathStore);goog.addSingletonGetter(sre.MathspeakSpanish);sre.MathspeakSpanish.prototype.evaluateDefault=function(a){return[sre.AuditoryDescription.create({text:a.textContent})]};sre.MathspeakSpanish.SPANISH_REGEXP="a-zA-Z\u00e1\u00e9\u00ed\u00f3\u00fa\u00f1\u00c1\u00c9\u00cd\u00d3\u00da\u00d1"; +sre.MathspeakSpanish.evaluateDefault=function(a){a=a.textContent;for(var b=[],c=new sre.SystemExternal.xmldom.DOMParser,d=new RegExp("^["+sre.MathspeakSpanish.SPANISH_REGEXP+"]+"),e=new RegExp("^[^"+sre.MathspeakSpanish.SPANISH_REGEXP+"]+");a;){var f=d.exec(a);if(f)var g=sre.Semantic.Type.TEXT,h=sre.Semantic.Role.PROTECTED;else f=e.exec(a),g=sre.Semantic.Type.UNKNOWN,h=sre.Semantic.Role.TEXT;g=c.parseFromString("<"+g+' role="'+h+'">'+f[0]+"","text/xml");b.push(g.documentElement);a=a.slice(f[0].length).trimLeft()}return b}; +sre.MathspeakSpanish.mathStore=sre.MathspeakSpanish.getInstance();sre.MathspeakSpanish.defineRule_=goog.bind(sre.MathspeakSpanish.mathStore.defineRule,sre.MathspeakSpanish.mathStore);sre.MathspeakSpanish.defineRuleAlias_=goog.bind(sre.MathspeakSpanish.mathStore.defineRulesAlias,sre.MathspeakSpanish.mathStore);sre.MathspeakSpanish.defineSpecialisedRule_=goog.bind(sre.MathspeakSpanish.mathStore.defineSpecialisedRule,sre.MathspeakSpanish.mathStore); +sre.MathspeakSpanish.addContextFunction_=goog.bind(sre.MathspeakSpanish.mathStore.contextFunctions.add,sre.MathspeakSpanish.mathStore.contextFunctions);sre.MathspeakSpanish.addCustomQuery_=goog.bind(sre.MathspeakSpanish.mathStore.customQueries.add,sre.MathspeakSpanish.mathStore.customQueries);sre.MathspeakSpanish.addCustomString_=goog.bind(sre.MathspeakSpanish.mathStore.customStrings.add,sre.MathspeakSpanish.mathStore.customStrings); +sre.MathspeakSpanish.initCustomFunctions_=function(){(0,sre.MathspeakSpanish.addCustomQuery_)("CQFspaceoutNumber",sre.MathspeakUtil.spaceoutNumber);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFspaceoutIdentifier",sre.MathspeakUtil.spaceoutIdentifier);(0,sre.MathspeakSpanish.addCustomString_)("CSFspaceoutText",sre.MathspeakUtil.spaceoutText);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracVerbose",sre.MathspeakUtil.openingFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracVerbose", +sre.MathspeakUtil.closingFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverFracVerbose",sre.MathspeakUtil.overFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracBrief",sre.MathspeakUtil.openingFractionBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracBrief",sre.MathspeakUtil.closingFractionBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracSbrief",sre.MathspeakUtil.openingFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracSbrief", +sre.MathspeakUtil.closingFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverFracSbrief",sre.MathspeakUtil.overFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalVerbose",sre.MathspeakUtil.openingRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseRadicalVerbose",sre.MathspeakUtil.closingRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalVerbose",sre.MathspeakUtil.indexRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalBrief", +sre.MathspeakUtil.openingRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseRadicalBrief",sre.MathspeakUtil.closingRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalBrief",sre.MathspeakUtil.indexRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalSbrief",sre.MathspeakUtil.openingRadicalSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalSbrief",sre.MathspeakUtil.indexRadicalSbrief);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFisSmallRoot", +sre.MathspeakSpanishUtil.smallRoot);(0,sre.MathspeakSpanish.addCustomString_)("CSFsuperscriptVerbose",sre.MathspeakUtil.superscriptVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFsuperscriptBrief",sre.MathspeakUtil.superscriptBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFsubscriptVerbose",sre.MathspeakUtil.subscriptVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFsubscriptBrief",sre.MathspeakUtil.subscriptBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFbaselineVerbose",sre.MathspeakUtil.baselineVerbose); +(0,sre.MathspeakSpanish.addCustomString_)("CSFbaselineBrief",sre.MathspeakUtil.baselineBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFunderscript",sre.MathspeakUtil.nestedUnderscore);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverscript",sre.MathspeakUtil.nestedOverscore);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFordinalCounterEs",sre.MathspeakSpanishUtil.ordinalCounter);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFcontentIterator",sre.MathmlStoreUtil.contentIterator);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFunitMultipliers", +sre.MathspeakSpanishUtil.unitMultipliers);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFdetIsSimple",sre.MathspeakUtil.determinantIsSimple);(0,sre.MathspeakSpanish.addCustomString_)("CSFRemoveParens",sre.MathspeakUtil.removeParens);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFoneLeft",sre.MathspeakSpanishUtil.oneLeft);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFresetNesting",sre.MathspeakUtil.resetNestingDepth);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFtextEvaluator",sre.MathspeakSpanish.evaluateDefault)}; +sre.MathspeakSpanish.initMathspeakSpanish_=function(){(0,sre.MathspeakSpanish.defineRule_)("stree","mathspeak.default","[n] ./*[1]","self::stree","CQFresetNesting");(0,sre.MathspeakSpanish.defineRule_)("unknown","mathspeak.default","[n] text()","self::unknown");(0,sre.MathspeakSpanish.defineRule_)("protected","mathspeak.default","[t] text()","self::*",'@role="protected"');(0,sre.MathspeakSpanish.defineRule_)("omit-empty","mathspeak.default","[p] (pause:100)","self::empty");(0,sre.MathspeakSpanish.defineRule_)("blank-empty", +"mathspeak.default",'[t] "espacio"',"self::empty","count(../*)=1",'name(../..)="cell" or name(../..)="line"');(0,sre.MathspeakSpanish.defineRule_)("font","mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"');(0,sre.MathspeakSpanish.defineRule_)("font-identifier-short","mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1", +"@font",'not(contains(@grammar, "ignoreFont"))','@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")','@role!="unit"');(0,sre.MathspeakSpanish.defineRule_)("font-identifier", +"mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.MathspeakSpanish.defineRule_)("omit-font","mathspeak.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.MathspeakSpanish.defineRule_)("number","mathspeak.default","[n] text() (grammar:euroNum)", +"self::number");(0,sre.MathspeakSpanish.defineRule_)("mixed-number","mathspeak.default",'[n] children/*[1]; [t] "m\u00e1s"; [n] children/*[2]; ',"self::number",'@role="mixed"');(0,sre.MathspeakSpanish.defineRule_)("number-with-chars","mathspeak.default",'[t] "n\u00famero"; [m] CQFspaceoutNumber',"self::number",'"" != translate(text(), "0123456789.,", "")','text() != translate(text(), "0123456789.,", "")');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-with-chars","mathspeak.default","mathspeak.brief", +'[t] "n\u00fam"; [m] CQFspaceoutNumber');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-with-chars","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("number-as-upper-word","mathspeak.default",'[t] "may\u00fascula"; [t] CSFspaceoutText',"self::number","string-length(text())>1",'text()=translate(text(), "abcdefghijklmnopqrstuvwxyz\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", "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9")', +'""=translate(text(), "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9","")');(0,sre.MathspeakSpanish.defineRule_)("number-baseline","mathspeak.default",'[t] "l\u00ednea base"; [n] text()',"self::number",'not(contains(@grammar, "ignoreFont"))',"preceding-sibling::identifier",'preceding-sibling::*[1][@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline","mathspeak.default","mathspeak.brief",'[t] "base"; [n] text()');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("number-baseline-font","mathspeak.default",'[t] "l\u00ednea base"; [t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)',"self::number","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"',"preceding-sibling::identifier", +'preceding-sibling::*[@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline-font","mathspeak.default","mathspeak.brief",'[t] "base"; [n] text()');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline-font","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("identifier","mathspeak.default","[m] CQFspaceoutIdentifier","self::identifier","string-length(text())>1", +'@role!="unit"','@role!="protected"','not(@font) or @font="normal" or contains(@grammar, "ignoreFont")');(0,sre.MathspeakSpanish.defineRule_)("identifier","mathspeak.default","[n] text()","self::identifier",'@role="protected"');(0,sre.MathspeakSpanish.defineRule_)("negative","mathspeak.default",'[t] "menos"; [n] children/*[1]',"self::prefixop",'@role="negative"',"children/identifier");(0,sre.MathspeakSpanish.defineRuleAlias_)("negative","self::prefixop",'@role="negative"',"children/number");(0,sre.MathspeakSpanish.defineRuleAlias_)("negative", +"self::prefixop",'@role="negative"','children/fraction[@role="vulgar"]');(0,sre.MathspeakSpanish.defineRule_)("negative","mathspeak.default",'[t] "menos"; [n] children/*[1]',"self::prefixop",'@role="negative"');(0,sre.MathspeakSpanish.defineRule_)("prefix","mathspeak.default","[n] text(); [n] children/*[1]","self::prefixop");(0,sre.MathspeakSpanish.defineRule_)("postfix","mathspeak.default","[n] children/*[1]; [n] text()","self::postfixop");(0,sre.MathspeakSpanish.defineRule_)("binary-operation", +"mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.MathspeakSpanish.defineRule_)("implicit","mathspeak.default","[m] children/*","self::infixop",'@role="implicit"');(0,sre.MathspeakSpanish.defineRuleAlias_)("implicit","self::infixop",'@role="leftsuper" or @role="leftsub" or @role="rightsuper" or @role="rightsub"');(0,sre.MathspeakSpanish.defineRule_)("subtraction","mathspeak.default",'[m] children/* (separator:"menos");',"self::infixop",'@role="subtraction"'); +(0,sre.MathspeakSpanish.defineRule_)("function-unknown","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl");(0,sre.MathspeakSpanish.defineRule_)("function-prefix","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl",'children/*[1][@role="prefix function"]');(0,sre.MathspeakSpanish.defineRule_)("fences-open-close","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="leftright"');(0,sre.MathspeakSpanish.defineRule_)("fences-neutral", +"mathspeak.default",'[t] "empezar valor absoluto"; [n] children/*[1]; [t] "finalizar valor absoluto"',"self::fenced",'@role="neutral"','content/*[1][text()]="|" or content/*[1][text()]="\u2758" or content/*[1][text()]="\uff5c"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("fences-neutral","mathspeak.default","mathspeak.sbrief",'[t] "valor absoluto"; [n] children/*[1]; [t] "finalizar valor absoluto"');(0,sre.MathspeakSpanish.defineRule_)("fences-neutral","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]", +"self::fenced",'@role="neutral"');(0,sre.MathspeakSpanish.defineRule_)("fences-set","mathspeak.default",'[t] "empezar llave"; [n] children/*[1]; [t] "finalizar llave"',"self::fenced",'@role="leftright"','content/*[1][text()]="{"','content/*[2][text()]="}"',"count(children/*)=1",'not(name(../..)="appl")');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("fences-set","mathspeak.default","mathspeak.sbrief",'[t] "llave"; [n] children/*[1]; [t] "finalizar llave"');(0,sre.MathspeakSpanish.defineRule_)("text", +"mathspeak.default","[m] CQFtextEvaluator","self::text");(0,sre.MathspeakSpanish.defineRule_)("factorial","mathspeak.default",'[t] "factorial"',"self::punctuation",'text()="!"','name(preceding-sibling::*[1])!="text"');(0,sre.MathspeakSpanish.defineRule_)("minus","mathspeak.default",'[t] "menos"',"self::operator",'text()="-"');(0,sre.MathspeakSpanish.defineRule_)("single-prime","mathspeak.default",'[t] "prima"',"self::punctuated",'@role="prime"',"count(children/*)=1");(0,sre.MathspeakSpanish.defineRule_)("double-prime", +"mathspeak.default",'[t] "doble prima"',"self::punctuated",'@role="prime"',"count(children/*)=2");(0,sre.MathspeakSpanish.defineRule_)("triple-prime","mathspeak.default",'[t] "triple prima"',"self::punctuated",'@role="prime"',"count(children/*)=3");(0,sre.MathspeakSpanish.defineRule_)("quadruple-prime","mathspeak.default",'[t] "cuadruplicar prima"',"self::punctuated",'@role="prime"',"count(children/*)=4");(0,sre.MathspeakSpanish.defineRule_)("counted-prime","mathspeak.default",'[t] count(children/*); [t] "prime"', +"self::punctuated",'@role="prime"');(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.default","[t] CSFopenFracVerbose; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracVerbose","self::fraction");(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.brief","[t] CSFopenFracBrief; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracBrief","self::fraction");(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.sbrief","[t] CSFopenFracSbrief; [n] children/*[1]; [t] CSFoverFracSbrief; [n] children/*[2]; [t] CSFcloseFracSbrief", +"self::fraction");(0,sre.MathspeakSpanish.defineRule_)("continued-fraction-outer","mathspeak.default",'[t] "fracci\u00f3n continua"; [n] children/*[1];[t] "entre"; [n] children/*[2]',"self::fraction","not(ancestor::fraction)",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.default","mathspeak.brief",'[t] "frac continua"; [n] children/*[1];[t] "entre"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-outer", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("continued-fraction-inner","mathspeak.default",'[t] "empezar fracci\u00f3n"; [n] children/*[1];[t] "entre"; [n] children/*[2]',"self::fraction","ancestor::fraction",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.default","mathspeak.brief",'[t] "empezar frac"; [n] children/*[1];[t] "entre"; [n] children/*[2]'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.brief","mathspeak.sbrief",'[t] "frac"; [n] children/*[1];[t] "entre"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineRule_)("sqrt","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[1]; [t] CSFcloseRadicalVerbose","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("sqrt","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("sqrt", +"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("root-small","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root-small","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root-small", +"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.default","[t] CSFindexRadicalVerbose; [n] children/*[1];[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root");(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.brief","[t] CSFindexRadicalBrief; [n] children/*[1];[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root"); +(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.sbrief","[t] CSFindexRadicalSbrief; [n] children/*[1];[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakSpanish.defineRule_)("limboth","mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]","self::limboth",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limlower", +"mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];","self::limlower",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limupper","mathspeak.default","[n] children/*[1]; [t] CSFoverscript; [n] children/*[2];","self::limupper",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower", +"self::underscore",'@role="limit function"','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower","self::underscore",'children/*[2][@role!="underaccent"]','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limupper","self::overscore",'children/*[2][@role!="overaccent"]', +'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limboth-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]; [t] "finalizar \u00edndices"',"self::limboth");(0,sre.MathspeakSpanish.defineRule_)("limlower-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2]; [t] "finalizar \u00edndices"',"self::limlower"); +(0,sre.MathspeakSpanish.defineRule_)("limupper-end","mathspeak.default",'[n] children/*[1]; [t] CSFoverscript; [n] children/*[2]; [t] "finalizar \u00edndices"',"self::limupper");(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower-end","self::underscore",'@role="limit function"');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower-end","self::underscore");(0,sre.MathspeakSpanish.defineRuleAlias_)("limupper-end","self::overscore");(0,sre.MathspeakSpanish.defineRule_)("integral","mathspeak.default", +"[n] children/*[1]; [n] children/*[2]; [n] children/*[3];","self::integral");(0,sre.MathspeakSpanish.defineRule_)("integral","mathspeak.default",'[n] children/*[1]; [t] "definida"; [t] "sub\u00edndice"; [n] children/*[2];[t] "super\u00edndice"; [n] children/*[3]; [t] "l\u00ednea base";',"self::limboth",'@role="integral"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("integral","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "Sub"; [n] children/*[2];[t] "Sup"; [n] children/*[3]; [t] "Base";'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("integral","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("bigop","mathspeak.default","[n] children/*[1]; [n] children/*[2];","self::bigop");(0,sre.MathspeakSpanish.defineRule_)("relseq","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.MathspeakSpanish.defineRule_)("equality","mathspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::relseq",'@role="equality"', +"count(./children/*)=2");(0,sre.MathspeakSpanish.defineRule_)("multi-equality","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq",'@role="equality"',"count(./children/*)>2");(0,sre.MathspeakSpanish.defineRule_)("multrel","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::multirel");(0,sre.MathspeakSpanish.defineRule_)("subscript","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]","self::subscript");(0,sre.MathspeakSpanish.defineRule_)("subscript", +"mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]","self::subscript");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("subscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]; [t] CSFbaselineVerbose","self::subscript","following-sibling::*",'not(name(following-sibling::subscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="subscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and @role!="subsup"', +'not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]; [t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)", +"ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::punctuated|ancestor::fraction",'not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])');(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)", +"@embellished");(0,sre.MathspeakSpanish.defineRule_)("subscript-empty-sup","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="superscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.brief", +"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-empty-sup","self::subscript",'name(children/*[2])="superscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineRule_)("superscript","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2]","self::superscript");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2]"); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("superscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2];[t] CSFbaselineVerbose","self::superscript","following-sibling::*",'not(name(following-sibling::superscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="superscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2];[t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::punctuated",'ancestor::*/following-sibling::* and not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])'); +(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::fraction|ancestor::fenced|ancestor::root|ancestor::sqrt");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel","not(@embellished)",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)", +"@embellished",'not(children/*[2][@role="prime"])');(0,sre.MathspeakSpanish.defineRule_)("superscript-empty-sub","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="subscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-empty-sub", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-empty-sub","self::superscript",'name(children/*[2])="subscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineRule_)("square","mathspeak.default",'[n] children/*[1]; [t] "al cuadrado"',"self::superscript","children/*[2]","children/*[2][text()=2]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))', +'name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])',"not(@embellished)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("cube", +"mathspeak.default",'[n] children/*[1]; [t] "al cubo"',"self::superscript","children/*[2]","children/*[2][text()=3]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))','name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])', +"not(@embellished)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript","children/*[2]",'children/*[2][@role="prime"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime", +"mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime-subscript","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]"); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime-subscript-baseline","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]; [t] CSFbaselineVerbose","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"following-sibling::*");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript-baseline", +"mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]; [t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("prime-subscript-baseline","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)","@embellished");(0,sre.MathspeakSpanish.defineRule_)("overscore", +"mathspeak.default",'[t] "modificando superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overscore","mathspeak.default","mathspeak.brief",'[t] "mod superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("double-overscore","mathspeak.default",'[t] "modificando superior superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]', +"self::overscore",'children/*[2][@role="overaccent"]','name(children/*[1])="overscore"','children/*[1]/children/*[2][@role="overaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-overscore","mathspeak.default","mathspeak.brief",'[t] "mod superior superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("underscore","mathspeak.default",'[t] "modificando inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]', +"self::underscore",'children/*[2][@role="underaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underscore","mathspeak.default","mathspeak.brief",'[t] "mod inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("double-underscore","mathspeak.default",'[t] "modificando inferior inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]',"self::underscore", +'children/*[2][@role="underaccent"]','name(children/*[1])="underscore"','children/*[1]/children/*[2][@role="underaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-underscore","mathspeak.default","mathspeak.brief",'[t] "mod inferior inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("overbar","mathspeak.default",'[n] children/*[1]; [t] "barra"', +"self::overscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="overaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "barra"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("underbar", +"mathspeak.default",'[n] children/*[1]; [t] "subbarra"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "subbarra"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underbar","mathspeak.brief","mathspeak.sbrief"); +(0,sre.MathspeakSpanish.defineRule_)("overtilde","mathspeak.default",'[n] children/*[1]; [t] "tilde"',"self::overscore",'children/*[2][@role="overaccent"]','@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overtilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "tilde"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overtilde", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("undertilde","mathspeak.default",'[n] children/*[1]; [t] "subtilde"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("undertilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "subtilde"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("undertilde", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("matrix-fence","mathspeak.default","[n] children/*[1];","self::fenced","count(children/*)=1",'name(children/*[1])="matrix"');(0,sre.MathspeakSpanish.defineRule_)("matrix","mathspeak.default",'[t] "empezar matriz"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar matriz"',"self::matrix");(0,sre.MathspeakSpanish.defineRule_)("matrix", +"mathspeak.sbrief",'[t] "matriz"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:" "); [t] "finalizar matriz"',"self::matrix");(0,sre.MathspeakSpanish.defineRuleAlias_)("matrix","self::vector");(0,sre.MathspeakSpanish.defineRule_)("matrix-row","mathspeak.default",'[m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna");[p] (pause: 200)',"self::row");(0,sre.MathspeakSpanish.defineRule_)("row-with-label","mathspeak.default", +'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content");(0,sre.MathspeakSpanish.defineRule_)("row-with-label","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1]; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("row-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("row-with-text-label", +"mathspeak.sbrief",'[t] "etiqueta"; [t] CSFRemoveParens;[m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakSpanish.defineRule_)("empty-row","mathspeak.default",'[t] "espacio"',"self::row","count(children/*)=0");(0,sre.MathspeakSpanish.defineRule_)("matrix-cell","mathspeak.default","[n] children/*[1]; [p] (pause: 300)","self::cell");(0,sre.MathspeakSpanish.defineRule_)("empty-cell","mathspeak.default",'[t] "espacio"; [p] (pause: 300)', +"self::cell","count(children/*)=0");(0,sre.MathspeakSpanish.defineRule_)("determinant","mathspeak.default",'[t] "empezar determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar determinante"',"self::matrix",'@role="determinant"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("determinant","mathspeak.default","mathspeak.sbrief",'[t] "determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar determinante"'); +(0,sre.MathspeakSpanish.defineRule_)("determinant-simple","mathspeak.default",'[t] "empezar determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila",grammar:simpleDet); [t] "finalizar determinante"',"self::matrix",'@role="determinant"',"CQFdetIsSimple");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("determinant-simple","mathspeak.default","mathspeak.sbrief",'[t] "determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila",grammar:simpleDet); [t] "finalizar determinante"'); +(0,sre.MathspeakSpanish.defineRule_)("row-simple","mathspeak.default","[m] children/*;","self::row",'@role="determinant"','contains(@grammar, "simpleDet")');(0,sre.MathspeakSpanish.defineRule_)("layout","mathspeak.default",'[t] "empezar esquema"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::table");(0,sre.MathspeakSpanish.defineRule_)("layout","mathspeak.sbrief",'[t] "esquema"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"', +"self::table");(0,sre.MathspeakSpanish.defineRule_)("binomial","mathspeak.default",'[t] "empezar binomial"; [n] children/*[1]/children/*[1]; [t] "en"; [n] children/*[2]/children/*[1]; [t] "finalizar binomial"',"self::vector",'@role="binomial"');(0,sre.MathspeakSpanish.defineRule_)("binomial","mathspeak.sbrief",'[t] "binomial"; [n] children/*[1]/children/*[1]; [t] "en"; [n] children/*[2]/children/*[1]; [t] "finalizar binomial"',"self::vector",'@role="binomial"');(0,sre.MathspeakSpanish.defineRule_)("cases", +"mathspeak.default",'[t] "empezar esquema"; [n] content/*[1]; [t] "alargada"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::cases");(0,sre.MathspeakSpanish.defineRule_)("cases","mathspeak.sbrief",'[t] "esquema"; [n] content/*[1]; [t] "alargada"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::cases");(0,sre.MathspeakSpanish.defineRuleAlias_)("layout","self::multiline");(0,sre.MathspeakSpanish.defineRule_)("line", +"mathspeak.default","[m] children/*","self::line");(0,sre.MathspeakSpanish.defineRule_)("line-with-label","mathspeak.default",'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [m] children/*',"self::line","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("line-with-label","mathspeak.default","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1] (pause: 200); [m] children/*');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("line-with-label","mathspeak.brief","mathspeak.sbrief"); +(0,sre.MathspeakSpanish.defineRule_)("line-with-text-label","mathspeak.sbrief",'[t] "etiqueta"; [t] CSFRemoveParens; [m] children/*',"self::line","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakSpanish.defineRule_)("empty-line","mathspeak.default",'[t] "espacio"',"self::line","count(children/*)=0","not(content)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line","mathspeak.brief", +"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("empty-line-with-label","mathspeak.default",'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [t] "espacio"',"self::line","count(children/*)=0","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line-with-label","mathspeak.default","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1] (pause: 200); [t] "espacio"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line-with-label","mathspeak.brief", +"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("enclose","mathspeak.default",'[t] "empezar rodear"; [t] @role (grammar:localEnclose); [n] children/*[1]; [t] "finalizar rodear"',"self::enclose");(0,sre.MathspeakSpanish.defineRuleAlias_)("overbar","self::enclose",'@role="top"');(0,sre.MathspeakSpanish.defineRuleAlias_)("underbar","self::enclose",'@role="bottom"');(0,sre.MathspeakSpanish.defineRule_)("leftbar","mathspeak.default",'[t] "barra vertical"; [n] children/*[1]',"self::enclose",'@role="left"'); +(0,sre.MathspeakSpanish.defineRule_)("rightbar","mathspeak.default",'[n] children/*[1]; [t] "barra vertical"',"self::enclose",'@role="right"');(0,sre.MathspeakSpanish.defineRule_)("crossout","mathspeak.default",'[t] "tachado"; [n] children/*[1]; [t] "finalizar tachado"',"self::enclose",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineRule_)("cancel","mathspeak.default",'[t] "tachado"; [n] children/*[1]/children/*[1]; [t] "con"; [n] children/*[2]; [t] "finalizar tachado"', +"self::overscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("cancel","self::underscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineRule_)("cancel-reverse", +"mathspeak.default",'[t] "tachado"; [n] children/*[2]/children/*[1]; [t] "con"; [n] children/*[1]; [t] "finalizar tachado"',"self::overscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("cancel-reverse", +"self::underscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakSpanish.defineRule_)("end-punct","mathspeak.default","[m] children/*","self::punctuated",'@role="endpunct"');(0,sre.MathspeakSpanish.defineRule_)("start-punct","mathspeak.default","[n] content/*[1]; [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.MathspeakSpanish.defineRule_)("integral-punct","mathspeak.default", +"[n] children/*[1]; [n] children/*[3]","self::punctuated",'@role="integral"');(0,sre.MathspeakSpanish.defineRule_)("punctuated","mathspeak.default","[m] children/*","self::punctuated");(0,sre.MathspeakSpanish.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate)',"self::identifier",'@role="unit"');(0,sre.MathspeakSpanish.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate:plural)',"self::identifier",'@role="unit"','not(contains(@grammar, "singularUnit"))'); +(0,sre.MathspeakSpanish.defineRule_)("unit-square","mathspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.MathspeakSpanish.defineRule_)("unit-cubic","mathspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.MathspeakSpanish.defineRule_)("reciprocal","mathspeak.default",'[t] "reciprocal"; [n] children/*[1]', +"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.MathspeakSpanish.defineRule_)("reciprocal","mathspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]", +'preceding-sibling::*[@role="unit"]');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[m] children/* (sepFunc:CTXFunitMultipliers)","self::infixop",'@role="unit"');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[m] children/* (sepFunc:CTXFunitMultipliers);","self::infixop",'@role="multiplication" or @role="implicit"','children/*[@role="unit"]');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[n] . (grammar:singularUnit);", +"self::infixop",'@role="multiplication" or @role="implicit"','children/*[@role="unit"]','not(contains(@grammar, "singularUnit"))',"CQFoneLeft");(0,sre.MathspeakSpanish.defineRule_)("unit-divide","mathspeak.default",'[n] children/*[1]; [t] "per"; [n] children/*[2]',"self::fraction",'@role="unit"')};sre.MathspeakSpanish.componentString_={2:"CSFbaseline",1:"CSFsubscript",0:"CSFsuperscript"};sre.MathspeakSpanish.childNumber_={4:2,3:3,2:1,1:4,0:5}; +sre.MathspeakSpanish.generateTensorRuleStrings_=function(a){var b=[],c="",d="";a=parseInt(a,2);for(var e=0;5>e;e++){var f="children/*["+sre.MathspeakSpanish.childNumber_[e]+"]";if(a&1){var g=sre.MathspeakSpanish.componentString_[e%3];c="[t] "+g+"Verbose; [n] "+f+";"+c;d="[t] "+g+"Brief; [n] "+f+";"+d}else b.unshift("name("+f+')="empty"');a>>=1}b.push(c);b.push(d);return b}; +sre.MathspeakSpanish.generateMathspeakTensorRules_=function(){for(var a="11111 11110 11101 11100 10111 10110 10101 10100 01111 01110 01101 01100".split(" "),b=0,c;c=a[b];b++){var d="tensor"+c;c=sre.MathspeakSpanish.generateTensorRuleStrings_(c);var e=c.pop(),f=c.pop(),g=[d,"mathspeak.default",f,"self::tensor"].concat(c),h=[d,"mathspeak.brief",e,"self::tensor"].concat(c);sre.MathspeakSpanish.defineRule_.apply(null,g);sre.MathspeakSpanish.defineRule_.apply(null,h);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(d, +"mathspeak.brief","mathspeak.sbrief");g=sre.MathspeakSpanish.componentString_[2];f+="; [t]"+g+"Verbose";e+="; [t]"+g+"Brief";d+="-baseline";g=[d,"mathspeak.default",f,"self::tensor","following-sibling::*"].concat(c);h=[d,"mathspeak.brief",e,"self::tensor","following-sibling::*"].concat(c);sre.MathspeakSpanish.defineRule_.apply(null,g);sre.MathspeakSpanish.defineRule_.apply(null,h);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(d,"mathspeak.brief","mathspeak.sbrief");d=[d,"self::tensor","not(following-sibling::*)", +"ancestor::fraction|ancestor::punctuated|ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::relseq|ancestor::multirel|@embellished"].concat(c);sre.MathspeakSpanish.defineRuleAlias_.apply(null,d)}};sre.MathspeakSpanish.getInstance().initializer=[sre.MathspeakSpanish.initCustomFunctions_,sre.MathspeakSpanish.initMathspeakSpanish_,sre.MathspeakSpanish.generateMathspeakTensorRules_];sre.PrefixRules=function(){sre.MathStore.call(this)};goog.inherits(sre.PrefixRules,sre.MathStore);goog.addSingletonGetter(sre.PrefixRules);sre.PrefixRules.mathStore=sre.PrefixRules.getInstance();sre.PrefixRules.defineRule_=goog.bind(sre.PrefixRules.mathStore.defineRule,sre.PrefixRules.mathStore);sre.PrefixRules.defineRuleAlias_=goog.bind(sre.PrefixRules.mathStore.defineRulesAlias,sre.PrefixRules.mathStore);sre.PrefixRules.addCustomString_=goog.bind(sre.PrefixRules.mathStore.customStrings.add,sre.PrefixRules.mathStore.customStrings); +sre.PrefixRules.ordinalPosition=function(a){var b=sre.DomUtil.toArray(a.parentNode.childNodes);return sre.MathspeakUtil.simpleOrdinal(b.indexOf(a)+1).toString()};sre.PrefixRules.initCustomFunctions_=function(){(0,sre.PrefixRules.addCustomString_)("CSFordinalPosition",sre.PrefixRules.ordinalPosition)}; +sre.PrefixRules.initPrefixRules_=function(){(0,sre.PrefixRules.defineRule_)("numerator","prefix.default",'[t] "Numerator"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("denominator","prefix.default",'[t] "Denominator"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("base","prefix.default",'[t] "Base"; [p] (pause:200)',"self::*",'name(../..)="superscript" or name(../..)="subscript" or name(../..)="overscore" or name(../..)="underscore" or name(../..)="tensor"', +"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("exponent","prefix.default",'[t] "Exponent"; [p] (pause:200)',"self::*",'name(../..)="superscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("subscript","prefix.default",'[t] "Subscript"; [p] (pause:200)',"self::*",'name(../..)="subscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("overscript","prefix.default",'[t] "Overscript"; [p] (pause:200)',"self::*",'name(../..)="overscore"',"count(preceding-sibling::*)=1"); +(0,sre.PrefixRules.defineRule_)("underscript","prefix.default",'[t] "Underscript"; [p] (pause:200)',"self::*",'name(../..)="underscore"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("radicand","prefix.default",'[t] "Radicand"; [p] (pause:200)',"self::*",'name(../..)="sqrt"');(0,sre.PrefixRules.defineRule_)("radicand","prefix.default",'[t] "Radicand"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("index","prefix.default", +'[t] "Index"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("leftsub","prefix.default",'[t] "Left Subscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsub"');(0,sre.PrefixRules.defineRule_)("leftsub","prefix.default",'[t] CSFordinalPosition; [t] "Left Subscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsub"');(0,sre.PrefixRules.defineRule_)("leftsuper", +"prefix.default",'[t] "Left Superscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsuper"');(0,sre.PrefixRules.defineRule_)("leftsuper","prefix.default",'[t] CSFordinalPosition; [t] "Left Superscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsuper"');(0,sre.PrefixRules.defineRule_)("rightsub","prefix.default",'[t] "Right Subscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsub"');(0,sre.PrefixRules.defineRule_)("rightsub", +"prefix.default",'[t] CSFordinalPosition; [t] "Right Subscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsub"');(0,sre.PrefixRules.defineRule_)("rightsuper","prefix.default",'[t] "Right Superscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsuper"');(0,sre.PrefixRules.defineRule_)("rightsuper","prefix.default",'[t] CSFordinalPosition; [t] "Right Superscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"', +'../../@role="rightsuper"');(0,sre.PrefixRules.defineRule_)("choice","prefix.default",'[t] "Choice Quantity"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("select","prefix.default",'[t] "Selection Quantity"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("row","prefix.default",'[t] CSFordinalPosition; [t] "Row"; [p] (pause:200)', +"self::row");(0,sre.PrefixRules.defineRuleAlias_)("row","self::line");(0,sre.PrefixRules.defineRule_)("cell","prefix.default",'[n] ../..; [t] CSFordinalPosition; [t] "Column"; [p] (pause:200)',"self::cell",'contains(@grammar,"depth")');(0,sre.PrefixRules.defineRule_)("cell","prefix.default",'[t] CSFordinalPosition; [t] "Column"; [p] (pause:200)',"self::cell")};sre.PrefixRules.getInstance().initializer=[sre.PrefixRules.initCustomFunctions_,sre.PrefixRules.initPrefixRules_];sre.PrefixSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.PrefixSpanish,sre.MathStore);goog.addSingletonGetter(sre.PrefixSpanish);sre.PrefixSpanish.mathStore=sre.PrefixSpanish.getInstance();sre.PrefixSpanish.defineRule_=goog.bind(sre.PrefixSpanish.mathStore.defineRule,sre.PrefixSpanish.mathStore);sre.PrefixSpanish.defineRuleAlias_=goog.bind(sre.PrefixSpanish.mathStore.defineRulesAlias,sre.PrefixSpanish.mathStore); +sre.PrefixSpanish.addCustomString_=goog.bind(sre.PrefixSpanish.mathStore.customStrings.add,sre.PrefixSpanish.mathStore.customStrings);sre.PrefixSpanish.ordinalPosition=function(a){var b=sre.DomUtil.toArray(a.parentNode.childNodes);return sre.MathspeakUtil.simpleOrdinal(b.indexOf(a)+1).toString()};sre.PrefixSpanish.initCustomFunctions_=function(){(0,sre.PrefixSpanish.addCustomString_)("CSFordinalPosition",sre.PrefixSpanish.ordinalPosition)}; +sre.PrefixSpanish.initPrefixSpanish_=function(){(0,sre.PrefixSpanish.defineRule_)("numerator","prefix.default",'[t] "numerador"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("denominator","prefix.default",'[t] "denominador"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("base","prefix.default",'[t] "base"; [p] (pause:200)',"self::*",'name(../..)="superscript" or name(../..)="subscript" or name(../..)="overscore" or name(../..)="underscore" or name(../..)="tensor"', +"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("exponent","prefix.default",'[t] "exponente"; [p] (pause:200)',"self::*",'name(../..)="superscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("subscript","prefix.default",'[t] "sub\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="subscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("overscript","prefix.default",'[t] "overscript"; [p] (pause:200)',"self::*",'name(../..)="overscore"', +"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("underscript","prefix.default",'[t] "underscript"; [p] (pause:200)',"self::*",'name(../..)="underscore"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("radicand","prefix.default",'[t] "radicand"; [p] (pause:200)',"self::*",'name(../..)="sqrt"');(0,sre.PrefixSpanish.defineRule_)("radicand","prefix.default",'[t] "radicand"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("index", +"prefix.default",'[t] "\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("leftsub","prefix.default",'[t] "sub\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsub"');(0,sre.PrefixSpanish.defineRule_)("leftsub","prefix.default",'[t] CSFordinalPosition; [t] "sub\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsub"'); +(0,sre.PrefixSpanish.defineRule_)("leftsuper","prefix.default",'[t] "super\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsuper"');(0,sre.PrefixSpanish.defineRule_)("leftsuper","prefix.default",'[t] CSFordinalPosition; [t] "super\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsuper"');(0,sre.PrefixSpanish.defineRule_)("rightsub","prefix.default",'[t] "derecha sub\u00edndice"; [p] (pause:200)', +"self::*",'name(../..)="tensor"','@role="rightsub"');(0,sre.PrefixSpanish.defineRule_)("rightsub","prefix.default",'[t] CSFordinalPosition; [t] "derecha sub\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsub"');(0,sre.PrefixSpanish.defineRule_)("rightsuper","prefix.default",'[t] "super\u00edndice derecho"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsuper"');(0,sre.PrefixSpanish.defineRule_)("rightsuper","prefix.default", +'[t] CSFordinalPosition; [t] "super\u00edndice derecho"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsuper"');(0,sre.PrefixSpanish.defineRule_)("choice","prefix.default",'[t] "cantidad de elecci\u00f3n"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("select","prefix.default",'[t] "cantidad de selecci\u00f3n"; [p] (pause:200)',"self::line",'@role="binomial"', +"parent::*/parent::vector","count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("row","prefix.default",'[t] CSFordinalPosition; [t] "fila"; [p] (pause:200)',"self::row");(0,sre.PrefixSpanish.defineRuleAlias_)("row","self::line");(0,sre.PrefixSpanish.defineRule_)("cell","prefix.default",'[n] ../..; [t] CSFordinalPosition; [t] "columna"; [p] (pause:200)',"self::cell",'contains(@grammar,"depth")');(0,sre.PrefixSpanish.defineRule_)("cell","prefix.default",'[t] CSFordinalPosition; [t] "columna"; [p] (pause:200)', +"self::cell")};sre.PrefixSpanish.getInstance().initializer=[sre.PrefixSpanish.initCustomFunctions_,sre.PrefixSpanish.initPrefixSpanish_];sre.SemanticTreeRules=function(){sre.MathStore.call(this)};goog.inherits(sre.SemanticTreeRules,sre.MathStore);goog.addSingletonGetter(sre.SemanticTreeRules);sre.SemanticTreeRules.mathStore=sre.SemanticTreeRules.getInstance();sre.SemanticTreeRules.defineRule_=goog.bind(sre.SemanticTreeRules.mathStore.defineRule,sre.SemanticTreeRules.mathStore);sre.SemanticTreeRules.defineRuleAlias_=goog.bind(sre.SemanticTreeRules.mathStore.defineRuleAlias,sre.SemanticTreeRules.mathStore); +sre.SemanticTreeRules.addContextFunction_=goog.bind(sre.SemanticTreeRules.mathStore.contextFunctions.add,sre.SemanticTreeRules.mathStore.contextFunctions);sre.SemanticTreeRules.initCustomFunctions_=function(){(0,sre.SemanticTreeRules.addContextFunction_)("CTXFnodeCounter",sre.StoreUtil.nodeCounter);(0,sre.SemanticTreeRules.addContextFunction_)("CTXFcontentIterator",sre.MathmlStoreUtil.contentIterator)}; +sre.SemanticTreeRules.initSemanticRules_=function(){(0,sre.SemanticTreeRules.defineRule_)("stree","default.default","[n] ./*[1]","self::stree");(0,sre.SemanticTreeRules.defineRule_)("multrel","default.default",'[t] "multirelation"; [m] children/* (sepFunc:CTXFcontentIterator)',"self::multirel");(0,sre.SemanticTreeRules.defineRule_)("variable-equality","default.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]', +"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("multi-equality","default.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2");(0,sre.SemanticTreeRules.defineRule_)("multi-equality","default.short",'[t] "equation sequence"; [m] children/* (sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2"); +(0,sre.SemanticTreeRules.defineRule_)("equality","default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2");(0,sre.SemanticTreeRules.defineRule_)("simple-equality","default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/identifier or ./children/number");(0,sre.SemanticTreeRules.defineRule_)("simple-equality2", +"default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/function or ./children/appl");(0,sre.SemanticTreeRules.defineRule_)("relseq","default.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.SemanticTreeRules.defineRule_)("binary-operation","default.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.SemanticTreeRules.defineRule_)("variable-addition", +"default.default",'[t] "sum with variable number of summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(children/*)>2",'children/punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("multi-addition","default.default",'[t] "sum with"; [t] count(./children/*); [t] "summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(./children/*)>2");(0,sre.SemanticTreeRules.defineRule_)("prefix", +"default.default",'[t] "prefix"; [n] text(); [t] "of" (pause 150);[n] children/*[1]',"self::prefixop");(0,sre.SemanticTreeRules.defineRule_)("negative","default.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'self::prefixop[@role="negative"]');(0,sre.SemanticTreeRules.defineRule_)("postfix","default.default",'[n] children/*[1]; [t] "postfix"; [n] text() (pause 300)',"self::postfixop");(0,sre.SemanticTreeRules.defineRule_)("identifier","default.default","[n] text()","self::identifier"); +(0,sre.SemanticTreeRules.defineRule_)("number","default.default","[n] text()","self::number");(0,sre.SemanticTreeRules.defineRule_)("mixed-number","default.default",'[n] children/*[1]; [t] "and"; [n] children/*[2]; ',"self::number",'@role="mixed"');(0,sre.SemanticTreeRules.defineRule_)("font","default.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"');(0,sre.SemanticTreeRules.defineRule_)("font-identifier-short","default.default", +"[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")', +'@role!="unit"');(0,sre.SemanticTreeRules.defineRule_)("font-identifier","default.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.SemanticTreeRules.defineRule_)("omit-font","default.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.SemanticTreeRules.defineRule_)("fraction", +"default.default",'[p] (pause:250); [n] children/*[1] (rate:0.35); [p] (pause:250); [t] "divided by"; [n] children/*[2] (rate:-0.35); [p] (pause:400)',"self::fraction");(0,sre.SemanticTreeRules.defineRule_)("superscript","default.default",'[n] children/*[1]; [t] "super"; [n] children/*[2] (pitch:0.35);[p] (pause:300)',"self::superscript");(0,sre.SemanticTreeRules.defineRule_)("subscript","default.default",'[n] children/*[1]; [t] "sub"; [n] children/*[2] (pitch:-0.35);[p] (pause:300)',"self::subscript"); +(0,sre.SemanticTreeRules.defineRule_)("ellipsis","default.default",'[p] (pause:200); [t] "ellipsis"; [p] (pause:300)',"self::punctuation",'self::punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("fence-single","default.default","[n] text()","self::punctuation",'self::punctuation[@role="openfence"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="closefence"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation", +'self::punctuation[@role="vbar"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="application"]');(0,sre.SemanticTreeRules.defineRule_)("omit-empty","default.default","[p] (pause:100)","self::empty");(0,sre.SemanticTreeRules.defineRule_)("fences-open-close","default.default","[p] (pause:100); [n] content/*[1]; [n] children/*[1]; [n] content/*[2]; [p] (pause:100)","self::fenced",'@role="leftright"');(0,sre.SemanticTreeRules.defineRule_)("fences-open-close-in-appl", +"default.default","[p] (pause:200); [n] children/*[1]; [p] (pause:200);",'self::fenced[@role="leftright"]',"./parent::children/parent::appl");(0,sre.SemanticTreeRules.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,sre.SemanticTreeRules.defineRule_)("omit-fences","default.default","[p] (pause:500); [n] children/*[1]; [p] (pause:200);","self::fenced");(0,sre.SemanticTreeRules.defineRule_)("matrix", +"default.default",'[t] "matrix"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::matrix");(0,sre.SemanticTreeRules.defineRule_)("matrix-row","default.default",'[m] children/* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)','self::row[@role="matrix"]');(0,sre.SemanticTreeRules.defineRule_)("matrix-cell","default.default","[n] children/*[1]",'self::cell[@role="matrix"]');(0,sre.SemanticTreeRules.defineRule_)("vector","default.default",'[t] "vector"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"element",pause:100)', +"self::vector");(0,sre.SemanticTreeRules.defineRule_)("cases","default.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100)',"self::cases");(0,sre.SemanticTreeRules.defineRule_)("cases-row","default.default","[m] children/*",'self::row[@role="cases"]');(0,sre.SemanticTreeRules.defineRule_)("cases-cell","default.default","[n] children/*[1]",'self::cell[@role="cases"]');(0,sre.SemanticTreeRules.defineRule_)("row","default.default",'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)', +"self::row");(0,sre.SemanticTreeRules.defineRule_)("cases-end","default.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100);[t] "end cases"',"self::cases","following-sibling::*");(0,sre.SemanticTreeRules.defineRule_)("multiline","default.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"line",pause:100)',"self::multiline");(0,sre.SemanticTreeRules.defineRule_)("multiline-ineq","default.default",'[t] "multiline inequality";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)', +"self::multiline",'@role="inequality"');(0,sre.SemanticTreeRules.defineRule_)("line","default.default","[m] children/*","self::line");(0,sre.SemanticTreeRules.defineRule_)("table","default.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table");(0,sre.SemanticTreeRules.defineRule_)("table-ineq","default.default",'[t] "multiline inequality";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table",'@role="inequality"'); +(0,sre.SemanticTreeRules.defineRule_)("table-row","default.default","[m] children/* (pause:100)",'self::row[@role="table"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("cases-cell",'self::cell[@role="table"]');(0,sre.SemanticTreeRules.defineRule_)("empty-cell","mathspeak.default",'[t] "Blank"',"self::cell","count(children/*)=0");(0,sre.SemanticTreeRules.defineRule_)("end-punct","default.default","[m] children/*; [p] (pause:300)","self::punctuated",'@role="endpunct"');(0,sre.SemanticTreeRules.defineRule_)("start-punct", +"default.default","[n] content/*[1]; [p] (pause:200); [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.SemanticTreeRules.defineRule_)("integral-punct","default.default","[n] children/*[1] (rate:0.2); [n] children/*[3] (rate:0.2)","self::punctuated",'@role="integral"');(0,sre.SemanticTreeRules.defineRule_)("punctuated","default.default","[m] children/* (pause:100)","self::punctuated");(0,sre.SemanticTreeRules.defineRule_)("function","default.default","[n] text()","self::function"); +(0,sre.SemanticTreeRules.defineRule_)("appl","default.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::appl");(0,sre.SemanticTreeRules.defineRule_)("sum-only","default.default",'[n] children/*[1]; [t] "from"; [n] children/*[2]; [t] "to";[n] children/*[3]',"self::limboth",'self::limboth[@role="sum"]');(0,sre.SemanticTreeRules.defineRule_)("limboth","default.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[t] "under"; [n] children/*[3]; [p] (pause 250);', +"self::limboth");(0,sre.SemanticTreeRules.defineRule_)("limlower","default.default",'[n] children/*[1]; [t] "over"; [n] children/*[2];',"self::limlower");(0,sre.SemanticTreeRules.defineRule_)("limupper","default.default",'[n] children/*[1]; [t] "under"; [n] children/*[2];',"self::limupper");(0,sre.SemanticTreeRules.defineRule_)("largeop","default.default","[n] text()","self::largeop");(0,sre.SemanticTreeRules.defineRule_)("bigop","default.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[p] (pause 250);', +"self::bigop");(0,sre.SemanticTreeRules.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,sre.SemanticTreeRules.defineRule_)("sqrt","default.default",'[t] "Square root of"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::sqrt");(0,sre.SemanticTreeRules.defineRule_)("square","default.default",'[n] children/*[1]; [t] "squared" (pitch:0.35); [p] (pause:300)',"self::superscript", +"children/*[2][text()=2]",'name(./children/*[1])!="text"');(0,sre.SemanticTreeRules.defineRule_)("cube","default.default",'[n] children/*[1]; [t] "cubed" (pitch:0.35); [p] (pause:300)',"self::superscript","children/*[2][text()=3]",'name(./children/*[1])!="text"');(0,sre.SemanticTreeRules.defineRule_)("root","default.default",'[t] "root of order"; [n] children/*[1];[t] "over"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::root");(0,sre.SemanticTreeRules.defineRule_)("text","default.default", +"[n] text(); [p] (pause:200)","self::text");(0,sre.SemanticTreeRules.defineRule_)("unit","default.default",'[t] text() (grammar:annotation="unit":translate)',"self::identifier",'@role="unit"');(0,sre.SemanticTreeRules.defineRule_)("unit-square","default.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.SemanticTreeRules.defineRule_)("unit-cubic","default.default",'[t] "cubic"; [n] children/*[1]',"self::superscript", +'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.SemanticTreeRules.defineRule_)("reciprocal","default.default",'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.SemanticTreeRules.defineRule_)("reciprocal","default.default", +'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.SemanticTreeRules.defineRule_)("unit-combine","default.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.SemanticTreeRules.defineRule_)("unit-divide","default.default",'[n] children/*[1] (pitch:0.3); [t] "per"; [n] children/*[2] (pitch:-0.3)', +"self::fraction",'@role="unit"')};sre.SemanticTreeRules.getInstance().initializer=[sre.SemanticTreeRules.initCustomFunctions_,sre.SemanticTreeRules.initSemanticRules_];sre.SpeechRuleStores={};sre.SpeechRuleStores.RULE_SETS_={MathmlStoreRules:sre.MathmlStoreRules,SemanticTreeRules:sre.SemanticTreeRules,MathspeakRules:sre.MathspeakRules,MathspeakSpanish:sre.MathspeakSpanish,ClearspeakRules:sre.ClearspeakRules,EmacspeakRules:sre.EmacspeakRules,AbstractionRules:sre.AbstractionRules,AbstractionSpanish:sre.AbstractionSpanish,PrefixRules:sre.PrefixRules,PrefixSpanish:sre.PrefixSpanish};sre.SpeechRuleStores.availableSets=function(){return Object.keys(sre.SpeechRuleStores.RULE_SETS_)}; +sre.SpeechRuleStores.getConstructor=function(a){return(a=sre.SpeechRuleStores.RULE_SETS_[a])?a:null};sre.SpeechRuleEngine=function(){this.activeStore_=null;this.cache_={};this.ready_=!0;this.combinedStores_={};sre.Engine.registerTest(goog.bind(function(a){return this.ready_},this))};goog.addSingletonGetter(sre.SpeechRuleEngine);sre.SpeechRuleEngine.prototype.parameterize=function(a){for(var b={},c=0,d=a.length;ca||a>=b.length?null:b[a]};sre.Levels.prototype.depth=function(){return this.level_.length};sre.Levels.prototype.clone=function(){var a=new sre.Levels;a.level_=this.level_.slice(0);return a};sre.Levels.prototype.toString=function(){for(var a="",b=0,c;c=this.level_[b];b++)a+="\n"+c.map(function(a){return a.toString()});return a};sre.Walker=function(){};sre.Walker.prototype.isActive=function(){};sre.Walker.prototype.activate=function(){};sre.Walker.prototype.deactivate=function(){};sre.Walker.prototype.speech=function(){};sre.Walker.prototype.getFocus=function(){};sre.Walker.prototype.setFocus=function(a){};sre.Walker.prototype.getDepth=function(){};sre.Walker.prototype.move=function(a){}; +sre.Walker.move={UP:"up",DOWN:"down",LEFT:"left",RIGHT:"right",REPEAT:"repeat",DEPTH:"depth",ENTER:"enter",EXPAND:"expand",HOME:"home",SUMMARY:"summary",DETAIL:"detail",ROW:"row",CELL:"cell"};sre.AbstractWalker=function(a,b,c,d){this.node=a;this.xml=sre.DomUtil.parseInput(d);this.generator=b;this.rebuilt=this.rebuildStree_();this.generator.setRebuilt(this.rebuilt);this.highlighter=c;this.active_=!1;this.keyMapping={};this.keyMapping[sre.EventUtil.KeyCode.UP]=goog.bind(this.up,this);this.keyMapping[sre.EventUtil.KeyCode.DOWN]=goog.bind(this.down,this);this.keyMapping[sre.EventUtil.KeyCode.RIGHT]=goog.bind(this.right,this);this.keyMapping[sre.EventUtil.KeyCode.LEFT]=goog.bind(this.left, +this);this.keyMapping[sre.EventUtil.KeyCode.TAB]=goog.bind(this.repeat,this);this.keyMapping[sre.EventUtil.KeyCode.ENTER]=goog.bind(this.expand,this);this.keyMapping[sre.EventUtil.KeyCode.SPACE]=goog.bind(this.depth,this);this.keyMapping[sre.EventUtil.KeyCode.HOME]=goog.bind(this.home,this);this.keyMapping[sre.EventUtil.KeyCode.X]=goog.bind(this.summary,this);this.keyMapping[sre.EventUtil.KeyCode.Z]=goog.bind(this.detail,this);this.keyMapping[sre.EventUtil.KeyCode.V]=goog.bind(this.virtualize,this); +this.keyMapping[sre.EventUtil.KeyCode.P]=goog.bind(this.previous,this);this.keyMapping[sre.EventUtil.KeyCode.U]=goog.bind(this.undo,this);this.dummy_=function(){};this.rootNode=sre.WalkerUtil.getSemanticRoot(a);this.rootId=this.rebuilt.stree.root.id.toString();this.focus_=sre.Focus.factory(this.rootId,[this.rootId],this.rebuilt,this.node);this.moved=sre.Walker.move.ENTER;this.cursors=[]};sre.AbstractWalker.prototype.isActive=function(){return this.active_}; +sre.AbstractWalker.prototype.toggleActive_=function(){this.active_=!this.active_};sre.AbstractWalker.prototype.activate=function(){this.isActive()||(this.generator.start(),this.toggleActive_())};sre.AbstractWalker.prototype.deactivate=function(){this.isActive()&&(this.highlighter.setState(this.node.id,this.primaryId()),this.generator.end(),this.toggleActive_())};sre.AbstractWalker.prototype.getFocus=function(){return this.focus_};sre.AbstractWalker.prototype.setFocus=function(a){this.focus_=a}; +sre.AbstractWalker.prototype.getDepth=function(){return this.levels.depth()-1}; +sre.AbstractWalker.prototype.speech=function(){var a=this.focus_.getDomNodes();if(!a.length)return"";var b=this.specialMove();if(null!==b)return b;switch(this.moved){case sre.Walker.move.DEPTH:return this.depth_();case sre.Walker.move.SUMMARY:return this.summary_();case sre.Walker.move.DETAIL:return this.detail_();default:b=[];for(var c=this.focus_.getSemanticNodes(),d=0,e=a.length;dthis.currentTable_.childNodes.length)return this.getFocus();this.row_=a;this.moved=sre.Walker.move.ROW;return this.getFocus().clone()}; +sre.TableWalker.prototype.jumpCell_=function(a,b){this.firstJump?this.virtualize(!1):(this.firstJump=this.getFocus(),this.virtualize(!0));var c=this.currentTable_.id.toString();do var d=this.levels.pop();while(-1===d.indexOf(c));this.levels.push(d);this.setFocus(this.singletonFocus(c));this.levels.push(this.nextLevel());a=this.currentTable_.childNodes[a-1];this.setFocus(this.singletonFocus(a.id.toString()));this.levels.push(this.nextLevel());return this.singletonFocus(a.childNodes[b-1].id.toString())}; +sre.TableWalker.prototype.isLegalJump_=function(a,b){var c=sre.DomUtil.querySelectorAllByAttrValue(this.rebuilt.xml,"id",this.currentTable_.id.toString())[0];if(!c||c.hasAttribute("alternative"))return!1;a=this.currentTable_.childNodes[a-1];if(!a)return!1;c=sre.DomUtil.querySelectorAllByAttrValue(c,"id",a.id.toString())[0];return!c||c.hasAttribute("alternative")?!1:!(!a||!a.childNodes[b-1])}; +sre.TableWalker.prototype.isInTable_=function(){for(var a=this.getFocus().getSemanticPrimary();a;){if(-1!==sre.TableWalker.ELIGIBLE_TABLE_TYPES.indexOf(a.type))return this.currentTable_=a,!0;a=a.parent}return!1};sre.TableWalker.prototype.undo=function(){var a=sre.TableWalker.superClass_.undo.call(this);a===this.firstJump&&(this.firstJump=null);return a};sre.WalkerFactory={};sre.WalkerFactory.walker=function(a,b,c,d,e){return new (sre.WalkerFactory.walkerMapping_[a]||sre.WalkerFactory.walkerMapping_.Dummy)(b,c,d,e)};sre.WalkerFactory.walkerMapping_={Dummy:sre.DummyWalker,Semantic:sre.SemanticWalker,Syntax:sre.SyntaxWalker,Table:sre.TableWalker};sre.System=function(){this.version=sre.Variables.VERSION};goog.addSingletonGetter(sre.System);sre.System.Error=function(a){Error.call(this);this.message=a||"";this.name="System Error"};goog.inherits(sre.System.Error,Error);sre.System.LocalStorage_=function(){this.speechGenerator=this.walker=null};goog.addSingletonGetter(sre.System.LocalStorage_); +sre.System.prototype.setupEngine=function(a){var b=sre.Engine.getInstance(),c=function(c){b[c]=a[c]||b[c]};c("mode");sre.System.prototype.configBlocks_(a);["strict","cache","semantics","structure"].forEach(function(c){void 0!==a[c]&&(b[c]=!!a[c])});"markup style domain speech walker locale".split(" ").forEach(c);a.json&&(sre.SystemExternal.jsonPath=sre.BaseUtil.makePath(a.json));a.xpath&&(sre.SystemExternal.WGXpath=a.xpath);b.setupBrowsers();b.ruleSets=a.rules?a.rules:sre.SpeechRuleStores.availableSets(); +sre.SpeechRuleEngine.getInstance().parameterize(b.ruleSets);b.dynamicCstr=sre.DynamicCstr.create(b.locale,b.domain,b.style);b.comparator=new sre.DynamicCstr.DefaultComparator(b.dynamicCstr,sre.DynamicProperties.create([sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.LOCALE]],[sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.DOMAIN]],["short",sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.STYLE]]));sre.L10n.setLocale()}; +sre.System.prototype.configBlocks_=function(a){if(sre.Engine.getInstance().mode===sre.Engine.Mode.HTTP)for(var b=document.documentElement.querySelectorAll('script[type="text/x-sre-config"]'),c=0,d=b.length;c=0;c--){var d=this.dependents[c];d.Disable&&d.Disable(!1,b)}a&&MathJax.Hub.Queue(["Reprocess",MathJax.Hub])},Dependent:function(a){this.dependents.push(a)}},function(){var a=MathJax.Ajax.config.path;a.a11y||(a.a11y=HUB.config.root+"/extensions/a11y"),a.SRE||(a.SRE=MathJax.Ajax.fileURL(a.a11y)),MathJax.Ajax.Load("[SRE]/mathjax-sre.js"),MathJax.Hub.Register.StartupHook("Sre Ready",["loadComplete",MathJax.Ajax,"[SRE]/mathjax-sre.js"])}(),MathJax.Callback.Queue(["Require",MathJax.Ajax,"[MathJax]/jax/element/mml/jax.js"],["Require",MathJax.Ajax,"[MathJax]/jax/input/MathML/config.js"],["Require",MathJax.Ajax,"[MathJax]/jax/input/MathML/jax.js"],["Require",MathJax.Ajax,"[MathJax]/extensions/toMathML.js"],MathJax.Hub.Register.StartupHook("Sre Ready",function(){var a=MathJax.ElementJax.mml,b=MathJax.Extension["semantic-enrich"];a.mbase.Augment({toMathMLattributes:function(){var c="mstyle"===this.type?a.math.prototype.defaults:this.defaults,d=this.attrNames||a.copyAttributeNames,e=a.skipAttributes,f=a.copyAttributes,g=b.running?b.mstyleLookup[this.type]||[]:[],h=[],i=this.attr||{};if("math"!==this.type||this.attr&&"xmlns"in this.attr||h.push('xmlns="http://www.w3.org/1998/Math/MathML"'),!this.attrNames)for(var j in c)e[j]||f[j]||!c.hasOwnProperty(j)||null!=this[j]&&this[j]!==c[j]&&this.Get(j,null,1)!==this[j]&&this.toMathMLaddAttr(h,j,this[j]);for(var k=0,l=d.length;kb?1:0};var ha=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(l(a))return l(b)&&1==b.length?a.indexOf(b,c):-1;for(;cc?null:l(a)?a.charAt(c):a[c]}function la(a){return Array.prototype.concat.apply(Array.prototype,arguments)}function ma(a,b,c){return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};var u;a:{var na=k.navigator;if(na){var oa=na.userAgent;if(oa){u=oa;break a}}u=""};var pa=q(u,"Opera")||q(u,"OPR"),v=q(u,"Trident")||q(u,"MSIE"),qa=q(u,"Edge"),ra=q(u,"Gecko")&&!(q(u.toLowerCase(),"webkit")&&!q(u,"Edge"))&&!(q(u,"Trident")||q(u,"MSIE"))&&!q(u,"Edge"),sa=q(u.toLowerCase(),"webkit")&&!q(u,"Edge");function ta(){var a=k.document;return a?a.documentMode:void 0}var ua; +a:{var va="",wa=function(){var a=u;if(ra)return/rv\:([^\);]+)(\)|;)/.exec(a);if(qa)return/Edge\/([\d\.]+)/.exec(a);if(v)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(sa)return/WebKit\/(\S+)/.exec(a);if(pa)return/(?:Version)[ \/]?(\S+)/.exec(a)}();wa&&(va=wa?wa[1]:"");if(v){var xa=ta();if(null!=xa&&xa>parseFloat(va)){ua=String(xa);break a}}ua=va}var ya={}; +function za(a){if(!ya[a]){for(var b=0,c=fa(String(ua)).split("."),d=fa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f",4,2,function(a,b,c){return O(function(a,b){return a>b},a,b,c)});P("<=",4,2,function(a,b,c){return O(function(a,b){return a<=b},a,b,c)});P(">=",4,2,function(a,b,c){return O(function(a,b){return a>=b},a,b,c)});var Wa=P("=",3,2,function(a,b,c){return O(function(a,b){return a==b},a,b,c,!0)});P("!=",3,2,function(a,b,c){return O(function(a,b){return a!=b},a,b,c,!0)});P("and",2,2,function(a,b,c){return M(a,c)&&M(b,c)});P("or",1,2,function(a,b,c){return M(a,c)||M(b,c)});function Q(a,b,c){this.a=a;this.b=b||1;this.f=c||1};function Za(a,b){if(b.a.length&&4!=a.i)throw Error("Primary expression must evaluate to nodeset if filter has predicate(s).");n.call(this,a.i);this.c=a;this.h=b;this.g=a.g;this.b=a.b}m(Za);Za.prototype.a=function(a){a=this.c.a(a);return $a(this.h,a)};Za.prototype.toString=function(){var a;a="Filter:"+J(this.c);return a+=J(this.h)};function ab(a,b){if(b.lengtha.v)throw Error("Function "+a.j+" expects at most "+a.v+" arguments, "+b.length+" given");a.B&&r(b,function(b,d){if(4!=b.i)throw Error("Argument "+d+" to function "+a.j+" is not of type Nodeset: "+b);});n.call(this,a.i);this.h=a;this.c=b;Ua(this,a.g||ja(b,function(a){return a.g}));Va(this,a.D&&!b.length||a.C&&!!b.length||ja(b,function(a){return a.b}))}m(ab); +ab.prototype.a=function(a){return this.h.m.apply(null,la(a,this.c))};ab.prototype.toString=function(){var a="Function: "+this.h;if(this.c.length)var b=t(this.c,function(a,b){return a+J(b)},"Arguments:"),a=a+J(b);return a};function bb(a,b,c,d,e,f,g,h,p){this.j=a;this.i=b;this.g=c;this.D=d;this.C=e;this.m=f;this.A=g;this.v=void 0!==h?h:g;this.B=!!p}bb.prototype.toString=function(){return this.j};var cb={}; +function R(a,b,c,d,e,f,g,h){if(cb.hasOwnProperty(a))throw Error("Function already created: "+a+".");cb[a]=new bb(a,b,c,d,!1,e,f,g,h)}R("boolean",2,!1,!1,function(a,b){return M(b,a)},1);R("ceiling",1,!1,!1,function(a,b){return Math.ceil(K(b,a))},1);R("concat",3,!1,!1,function(a,b){return t(ma(arguments,1),function(b,d){return b+L(d,a)},"")},2,null);R("contains",2,!1,!1,function(a,b,c){return q(L(b,a),L(c,a))},2);R("count",1,!1,!1,function(a,b){return b.a(a).l},1,1,!0); +R("false",2,!1,!1,function(){return!1},0);R("floor",1,!1,!1,function(a,b){return Math.floor(K(b,a))},1);R("id",4,!1,!1,function(a,b){function c(a){if(w){var b=e.all[a];if(b){if(b.nodeType&&a==b.id)return b;if(b.length)return ka(b,function(b){return a==b.id})}return null}return e.getElementById(a)}var d=a.a,e=9==d.nodeType?d:d.ownerDocument,d=L(b,a).split(/\s+/),f=[];r(d,function(a){a=c(a);!a||0<=ha(f,a)||f.push(a)});f.sort(La);var g=new C;r(f,function(a){F(g,a)});return g},1); +R("lang",2,!1,!1,function(){return!1},1);R("last",1,!0,!1,function(a){if(1!=arguments.length)throw Error("Function last expects ()");return a.f},0);R("local-name",3,!1,!0,function(a,b){var c=b?Ra(b.a(a)):a.a;return c?c.localName||c.nodeName.toLowerCase():""},0,1,!0);R("name",3,!1,!0,function(a,b){var c=b?Ra(b.a(a)):a.a;return c?c.nodeName.toLowerCase():""},0,1,!0);R("namespace-uri",3,!0,!1,function(){return""},0,1,!0); +R("normalize-space",3,!1,!0,function(a,b){return(b?L(b,a):z(a.a)).replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},0,1);R("not",2,!1,!1,function(a,b){return!M(b,a)},1);R("number",1,!1,!0,function(a,b){return b?K(b,a):+z(a.a)},0,1);R("position",1,!0,!1,function(a){return a.b},0);R("round",1,!1,!1,function(a,b){return Math.round(K(b,a))},1);R("starts-with",2,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);return 0==b.lastIndexOf(a,0)},2);R("string",3,!1,!0,function(a,b){return b?L(b,a):z(a.a)},0,1); +R("string-length",1,!1,!0,function(a,b){return(b?L(b,a):z(a.a)).length},0,1);R("substring",3,!1,!1,function(a,b,c,d){c=K(c,a);if(isNaN(c)||Infinity==c||-Infinity==c)return"";d=d?K(d,a):Infinity;if(isNaN(d)||-Infinity===d)return"";c=Math.round(c)-1;var e=Math.max(c,0);a=L(b,a);return Infinity==d?a.substring(e):a.substring(e,c+Math.round(d))},2,3);R("substring-after",3,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);c=b.indexOf(a);return-1==c?"":b.substring(c+a.length)},2); +R("substring-before",3,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);a=b.indexOf(a);return-1==a?"":b.substring(0,a)},2);R("sum",1,!1,!1,function(a,b){for(var c=H(b.a(a)),d=0,e=I(c);e;e=I(c))d+=+z(e);return d},1,1,!0);R("translate",3,!1,!1,function(a,b,c,d){b=L(b,a);c=L(c,a);var e=L(d,a);a={};for(d=0;d]=|\s+|./g,hb=/^\s/;function S(a,b){return a.b[a.a+(b||0)]}function T(a){return a.b[a.a++]}function ib(a){return a.b.length<=a.a};function jb(a){n.call(this,3);this.c=a.substring(1,a.length-1)}m(jb);jb.prototype.a=function(){return this.c};jb.prototype.toString=function(){return"Literal: "+this.c};function E(a,b){this.j=a.toLowerCase();var c;c="*"==this.j?"*":"http://www.w3.org/1999/xhtml";this.c=b?b.toLowerCase():c}E.prototype.a=function(a){var b=a.nodeType;if(1!=b&&2!=b)return!1;b=void 0!==a.localName?a.localName:a.nodeName;return"*"!=this.j&&this.j!=b.toLowerCase()?!1:"*"==this.c?!0:this.c==(a.namespaceURI?a.namespaceURI.toLowerCase():"http://www.w3.org/1999/xhtml")};E.prototype.f=function(){return this.j}; +E.prototype.toString=function(){return"Name Test: "+("http://www.w3.org/1999/xhtml"==this.c?"":this.c+":")+this.j};function kb(a,b){n.call(this,a.i);this.h=a;this.c=b;this.g=a.g;this.b=a.b;if(1==this.c.length){var c=this.c[0];c.u||c.c!=lb||(c=c.o,"*"!=c.f()&&(this.f={name:c.f(),s:null}))}}m(kb);function mb(){n.call(this,4)}m(mb);mb.prototype.a=function(a){var b=new C;a=a.a;9==a.nodeType?F(b,a):F(b,a.ownerDocument);return b};mb.prototype.toString=function(){return"Root Helper Expression"};function nb(){n.call(this,4)}m(nb);nb.prototype.a=function(a){var b=new C;F(b,a.a);return b};nb.prototype.toString=function(){return"Context Helper Expression"}; +function ob(a){return"/"==a||"//"==a}kb.prototype.a=function(a){var b=this.h.a(a);if(!(b instanceof C))throw Error("Filter expression must evaluate to nodeset.");a=this.c;for(var c=0,d=a.length;ca.length)throw Error("Unclosed literal string");return new jb(a)} +function Hb(a){var b,c=[],d;if(ob(S(a.a))){b=T(a.a);d=S(a.a);if("/"==b&&(ib(a.a)||"."!=d&&".."!=d&&"@"!=d&&"*"!=d&&!/(?![0-9])[\w]/.test(d)))return new mb;d=new mb;W(a,"Missing next location step.");b=Ib(a,b);c.push(b)}else{a:{b=S(a.a);d=b.charAt(0);switch(d){case "$":throw Error("Variable reference not allowed in HTML XPath");case "(":T(a.a);b=Cb(a);W(a,'unclosed "("');Eb(a,")");break;case '"':case "'":b=Gb(a);break;default:if(isNaN(+b))if(!db(b)&&/(?![0-9])[\w]/.test(d)&&"("==S(a.a,1)){b=T(a.a); +b=cb[b]||null;T(a.a);for(d=[];")"!=S(a.a);){W(a,"Missing function argument list.");d.push(Cb(a));if(","!=S(a.a))break;T(a.a)}W(a,"Unclosed function argument list.");Fb(a);b=new ab(b,d)}else{b=null;break a}else b=new Ab(+T(a.a))}"["==S(a.a)&&(d=new sb(Jb(a)),b=new Za(b,d))}if(b)if(ob(S(a.a)))d=b;else return b;else b=Ib(a,"/"),d=new nb,c.push(b)}for(;ob(S(a.a));)b=T(a.a),W(a,"Missing next location step."),b=Ib(a,b),c.push(b);return new kb(d,c)} +function Ib(a,b){var c,d,e;if("/"!=b&&"//"!=b)throw Error('Step op should be "/" or "//"');if("."==S(a.a))return d=new U(yb,new G("node")),T(a.a),d;if(".."==S(a.a))return d=new U(xb,new G("node")),T(a.a),d;var f;if("@"==S(a.a))f=lb,T(a.a),W(a,"Missing attribute name");else if("::"==S(a.a,1)){if(!/(?![0-9])[\w]/.test(S(a.a).charAt(0)))throw Error("Bad token: "+T(a.a));c=T(a.a);f=wb[c]||null;if(!f)throw Error("No axis with name: "+c);T(a.a);W(a,"Missing node name")}else f=tb;c=S(a.a);if(/(?![0-9])[\w\*]/.test(c.charAt(0)))if("("== +S(a.a,1)){if(!db(c))throw Error("Invalid node type: "+c);c=T(a.a);if(!db(c))throw Error("Invalid type name: "+c);Eb(a,"(");W(a,"Bad nodetype");e=S(a.a).charAt(0);var g=null;if('"'==e||"'"==e)g=Gb(a);W(a,"Bad nodetype");Fb(a);c=new G(c,g)}else if(c=T(a.a),e=c.indexOf(":"),-1==e)c=new E(c);else{var g=c.substring(0,e),h;if("*"==g)h="*";else if(h=a.b(g),!h)throw Error("Namespace prefix not declared: "+g);c=c.substr(e+1);c=new E(c,h)}else throw Error("Bad token: "+T(a.a));e=new sb(Jb(a),f.a);return d|| +new U(f,c,e,"//"==b)}function Jb(a){for(var b=[];"["==S(a.a);){T(a.a);W(a,"Missing predicate expression.");var c=Cb(a);b.push(c);W(a,"Unclosed predicate expression.");Eb(a,"]")}return b}function Db(a){if("-"==S(a.a))return T(a.a),new zb(Db(a));var b=Hb(a);if("|"!=S(a.a))a=b;else{for(b=[b];"|"==T(a.a);)W(a,"Missing next union location path."),b.push(Hb(a));a.a.a--;a=new rb(b)}return a};function Kb(a){switch(a.nodeType){case 1:return ea(Lb,a);case 9:return Kb(a.documentElement);case 11:case 10:case 6:case 12:return Mb;default:return a.parentNode?Kb(a.parentNode):Mb}}function Mb(){return null}function Lb(a,b){if(a.prefix==b)return a.namespaceURI||"http://www.w3.org/1999/xhtml";var c=a.getAttributeNode("xmlns:"+b);return c&&c.specified?c.value||null:a.parentNode&&9!=a.parentNode.nodeType?Lb(a.parentNode,b):null};function Nb(a,b){if(!a.length)throw Error("Empty XPath expression.");var c=fb(a);if(ib(c))throw Error("Invalid XPath expression.");b?"function"==aa(b)||(b=da(b.lookupNamespaceURI,b)):b=function(){return null};var d=Cb(new Bb(c,b));if(!ib(c))throw Error("Bad token: "+T(c));this.evaluate=function(a,b){var c=d.a(new Q(a));return new Y(c,b)}} +function Y(a,b){if(0==b)if(a instanceof C)b=4;else if("string"==typeof a)b=2;else if("number"==typeof a)b=1;else if("boolean"==typeof a)b=3;else throw Error("Unexpected evaluation result.");if(2!=b&&1!=b&&3!=b&&!(a instanceof C))throw Error("value could not be converted to the specified type");this.resultType=b;var c;switch(b){case 2:this.stringValue=a instanceof C?Sa(a):""+a;break;case 1:this.numberValue=a instanceof C?+Sa(a):+a;break;case 3:this.booleanValue=a instanceof C?0=c.length?null:c[f++]};this.snapshotItem=function(a){if(6!=b&&7!=b)throw Error("snapshotItem called with wrong result type");return a>=c.length|| +0>a?null:c[a]}}Y.ANY_TYPE=0;Y.NUMBER_TYPE=1;Y.STRING_TYPE=2;Y.BOOLEAN_TYPE=3;Y.UNORDERED_NODE_ITERATOR_TYPE=4;Y.ORDERED_NODE_ITERATOR_TYPE=5;Y.UNORDERED_NODE_SNAPSHOT_TYPE=6;Y.ORDERED_NODE_SNAPSHOT_TYPE=7;Y.ANY_UNORDERED_NODE_TYPE=8;Y.FIRST_ORDERED_NODE_TYPE=9;function Ob(a){this.lookupNamespaceURI=Kb(a)} +function Pb(a,b){var c=a||k,d=c.Document&&c.Document.prototype||c.document;if(!d.evaluate||b)c.XPathResult=Y,d.evaluate=function(a,b,c,d){return(new Nb(a,c)).evaluate(b,d)},d.createExpression=function(a,b){return new Nb(a,b)},d.createNSResolver=function(a){return new Ob(a)}}var Qb=["wgxpath","install"],Z=k;Qb[0]in Z||!Z.execScript||Z.execScript("var "+Qb[0]);for(var Rb;Qb.length&&(Rb=Qb.shift());)Qb.length||void 0===Pb?Z[Rb]?Z=Z[Rb]:Z=Z[Rb]={}:Z[Rb]=Pb;}).call(this) diff --git a/src/py/kaleido/vendor/mathjax/extensions/asciimath2jax.js b/src/py/kaleido/vendor/mathjax/extensions/asciimath2jax.js new file mode 100644 index 00000000..ee340212 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/asciimath2jax.js @@ -0,0 +1,254 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/asciimath2jax.js + * + * Implements the AsciiMath to Jax preprocessor that locates AsciiMath + * code within the text of a document and replaces it with SCRIPT tags for + * processing by MathJax. + * + * Modified by David Lippman, based on tex2jax.js. + * Additional work by Davide P. Cervone. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2012-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension.asciimath2jax = { + version: "2.7.5", + config: { + delimiters: [['`','`']], // The star/stop delimiter pairs for asciimath code + + skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], + // The names of the tags whose contents will not be + // scanned for math delimiters + + ignoreClass: "asciimath2jax_ignore", // the class name of elements whose contents should + // NOT be processed by asciimath2jax. Note that this + // is a regular expression, so be sure to quote any + // regexp special characters + + processClass: "asciimath2jax_process", // the class name of elements whose contents SHOULD + // be processed when they appear inside ones that + // are ignored. Note that this is a regular expression, + // so be sure to quote any regexp special characters + + preview: "AsciiMath" // set to "none" to not insert MathJax_Preview spans + // or set to an array specifying an HTML snippet + // to use the same preview for every equation. + + }, + + // + // Tags to ignore when searching for AsciiMath in the page + // + ignoreTags: { + br: (MathJax.Hub.Browser.isMSIE && document.documentMode < 9 ? "\n" : " "), + wbr: "", + "#comment": "" + }, + + PreProcess: function (element) { + if (!this.configured) { + this.config = MathJax.Hub.CombineConfig("asciimath2jax",this.config); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + this.configured = true; + } + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = document.body} + if (this.createPatterns()) {this.scanElement(element,element.nextSibling)} + }, + + createPatterns: function () { + var starts = [], i, m, config = this.config; this.match = {}; + if (config.delimiters.length === 0) {return false} + for (i = 0, m = config.delimiters.length; i < m; i++) { + starts.push(this.patternQuote(config.delimiters[i][0])); + this.match[config.delimiters[i][0]] = { + mode: "", + end: config.delimiters[i][1], + pattern: this.endPattern(config.delimiters[i][1]) + }; + } + this.start = new RegExp(starts.sort(this.sortLength).join("|"),"g"); + this.skipTags = new RegExp("^("+config.skipTags.join("|")+")$","i"); + var ignore = []; + if (MathJax.Hub.config.preRemoveClass) {ignore.push(MathJax.Hub.config.preRemoveClass)} + if (config.ignoreClass) {ignore.push(config.ignoreClass)} + this.ignoreClass = (ignore.length ? new RegExp("(^| )("+ignore.join("|")+")( |$)") : /^$/); + this.processClass = new RegExp("(^| )("+config.processClass+")( |$)"); + return true; + }, + + patternQuote: function (s) {return s.replace(/([\^$(){}+*?\-|\[\]\:\\])/g,'\\$1')}, + + endPattern: function (end) { + return new RegExp(this.patternQuote(end)+"|\\\\.","g"); + }, + + sortLength: function (a,b) { + if (a.length !== b.length) {return b.length - a.length} + return (a == b ? 0 : (a < b ? -1 : 1)); + }, + + scanElement: function (element,stop,ignore) { + var cname, tname, ignoreChild, process; + while (element && element != stop) { + if (element.nodeName.toLowerCase() === '#text') { + if (!ignore) {element = this.scanText(element)} + } else { + cname = (typeof(element.className) === "undefined" ? "" : element.className); + tname = (typeof(element.tagName) === "undefined" ? "" : element.tagName); + if (typeof(cname) !== "string") {cname = String(cname)} // jsxgraph uses non-string class names! + process = this.processClass.exec(cname); + if (element.firstChild && !cname.match(/(^| )MathJax/) && + (process || !this.skipTags.exec(tname))) { + ignoreChild = (ignore || this.ignoreClass.exec(cname)) && !process; + this.scanElement(element.firstChild,stop,ignoreChild); + } + } + if (element) {element = element.nextSibling} + } + }, + + scanText: function (element) { + if (element.nodeValue.replace(/\s+/,'') == '') {return element} + var match, prev, pos = 0, rescan; + this.search = {start: true}; + this.pattern = this.start; + while (element) { + rescan = null; + this.pattern.lastIndex = pos || 0; pos = 0; + while (element && element.nodeName.toLowerCase() === '#text' && + (match = this.pattern.exec(element.nodeValue))) { + if (this.search.start) {element = this.startMatch(match,element)} + else {element = this.endMatch(match,element)} + } + if (this.search.matched) element = this.encloseMath(element); + else if (!this.search.start) rescan = this.search; + if (element) { + do {prev = element; element = element.nextSibling} + while (element && this.ignoreTags[element.nodeName.toLowerCase()] != null); + if (!element || element.nodeName !== '#text') { + if (!rescan) return prev; + element = rescan.open; + pos = rescan.opos + rescan.olen; + this.search = {start: true}; + this.pattern = this.start; + } + } + } + return element; + }, + + startMatch: function (match,element) { + var delim = this.match[match[0]]; + if (delim != null) { + this.search = { + end: delim.end, mode: delim.mode, + open: element, olen: match[0].length, + opos: this.pattern.lastIndex - match[0].length + }; + this.switchPattern(delim.pattern); + } + return element; + }, + + endMatch: function (match,element) { + if (match[0] == this.search.end) { + this.search.close = element; + this.search.cpos = this.pattern.lastIndex; + this.search.clen = (this.search.isBeginEnd ? 0 : match[0].length); + this.search.matched = true; + element = this.encloseMath(element); + this.switchPattern(this.start); + } + return element; + }, + + switchPattern: function (pattern) { + pattern.lastIndex = this.pattern.lastIndex; + this.pattern = pattern; + this.search.start = (pattern === this.start); + }, + + encloseMath: function (element) { + var search = this.search, close = search.close, CLOSE, math, next; + if (search.cpos === close.length) {close = close.nextSibling} + else {close = close.splitText(search.cpos)} + if (!close) {CLOSE = close = MathJax.HTML.addText(search.close.parentNode,"")} + search.close = close; + math = (search.opos ? search.open.splitText(search.opos) : search.open); + while ((next = math.nextSibling) && next !== close) { + if (next.nodeValue !== null) { + if (next.nodeName === "#comment") { + math.nodeValue += next.nodeValue.replace(/^\[CDATA\[((.|\n|\r)*)\]\]$/,"$1"); + } else { + math.nodeValue += math.nextSibling.nodeValue; + } + } else { + var ignore = this.ignoreTags[next.nodeName.toLowerCase()]; + math.nodeValue += (ignore == null ? " " : ignore); + } + math.parentNode.removeChild(next); + } + var AM = math.nodeValue.substr(search.olen,math.nodeValue.length-search.olen-search.clen); + math.parentNode.removeChild(math); + if (this.config.preview !== "none") {this.createPreview(search.mode,AM)} + math = this.createMathTag(search.mode,AM); + this.search = {}; this.pattern.lastIndex = 0; + if (CLOSE) {CLOSE.parentNode.removeChild(CLOSE)} + return math; + }, + + insertNode: function (node) { + var search = this.search; + search.close.parentNode.insertBefore(node,search.close); + }, + + createPreview: function (mode,asciimath) { + var previewClass = MathJax.Hub.config.preRemoveClass; + var preview = this.config.preview; + if (preview === "none") return; + if ((this.search.close.previousSibling||{}).className === previewClass) return; + if (preview === "AsciiMath") {preview = [this.filterPreview(asciimath)]} + if (preview) { + preview = MathJax.HTML.Element("span",{className:previewClass},preview); + this.insertNode(preview); + } + }, + + createMathTag: function (mode,asciimath) { + var script = document.createElement("script"); + script.type = "math/asciimath" + mode; + MathJax.HTML.setScript(script,asciimath); + this.insertNode(script); + return script; + }, + + filterPreview: function (asciimath) {return asciimath} + +}; + +// We register the preprocessors with the following priorities: +// - mml2jax.js: 5 +// - jsMath2jax.js: 8 +// - asciimath2jax.js, tex2jax.js: 10 (default) +// See issues 18 and 484 and the other *2jax.js files. +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.asciimath2jax]); +MathJax.Ajax.loadComplete("[MathJax]/extensions/asciimath2jax.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/fast-preview.js b/src/py/kaleido/vendor/mathjax/extensions/fast-preview.js new file mode 100644 index 00000000..e3189be3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/fast-preview.js @@ -0,0 +1,155 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/fast-preview.js + * + * Implements a fast preview using the PreviewHTML output jax + * and then a slower update to the more accurate HTML-CSS output + * (or whatever the user has selected). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2014-2018 The MathJax Consortium + * + * 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. + */ + +(function (HUB,HTML,BROWSER) { + + var SETTINGS = HUB.config.menuSettings; + var JAX = MathJax.OutputJax; + var msieColorBug = BROWSER.isMSIE && (document.documentMode||0) < 8; + + var FastPreview = MathJax.Extension["fast-preview"] = { + version: "2.7.5", + enabled: true, + + // + // Configuration for the chunking of the main output + // after the previews have been created, and other configuration. + // + config: HUB.CombineConfig("fast-preview",{ + Chunks: {EqnChunk: 10000, EqnChunkFactor: 1, EqnChunkDelay: 0}, + color: "inherit!important", + updateTime: 30, updateDelay: 6, + messageStyle: "none", + disabled: BROWSER.isMSIE && !BROWSER.versionAtLeast("8.0") + }), + + // + // Ajust the chunking of the output jax + // + Config: function () { + if (HUB.config["CHTML-preview"]) + MathJax.Hub.Config({"fast-preview": HUB.config["CHTML-preview"]}); + var update, delay, style, done, saved; + var config = this.config; + + if (!config.disabled && SETTINGS.FastPreview == null) + HUB.Config({menuSettings:{FastPreview:true}}); + if (SETTINGS.FastPreview) { + MathJax.Ajax.Styles({".MathJax_Preview .MJXf-math":{color:config.color}}); + HUB.Config({"HTML-CSS": config.Chunks, CommonHTML: config.Chunks, SVG: config.Chunks}); + } + HUB.Register.MessageHook("Begin Math Output",function () { + if (!done && FastPreview.Active()) { + update = HUB.processUpdateTime; delay = HUB.processUpdateDelay; + style = HUB.config.messageStyle; + HUB.processUpdateTime = config.updateTime; + HUB.processUpdateDelay = config.updateDelay; + HUB.Config({messageStyle: config.messageStyle}); + MathJax.Message.Clear(0,0); + saved = true; + } + }); + HUB.Register.MessageHook("End Math Output",function () { + if (!done && saved) { + HUB.processUpdateTime = update; + HUB.processUpdateDelay = delay; + HUB.Config({messageStyle: style}); + done = true; + } + }); + }, + + // + // Allow page to override user settings (for things like editor previews) + // + Disable: function () {this.enabled = false}, + Enable: function () {this.enabled = true}, + + Active: function () { + return SETTINGS.FastPreview && this.enabled && + !(JAX[SETTINGS.renderer]||{}).noFastPreview; + }, + + // + // Insert a preview span, if there isn't one already, + // and call the PreviewHTML output jax to create the preview + // + Preview: function (data) { + if (!this.Active() || !data.script.parentNode) return; + var preview = data.script.MathJax.preview || data.script.previousSibling; + if (!preview || preview.className !== MathJax.Hub.config.preRemoveClass) { + preview = HTML.Element("span",{className:MathJax.Hub.config.preRemoveClass}); + data.script.parentNode.insertBefore(preview,data.script); + data.script.MathJax.preview = preview; + } + preview.innerHTML = ""; + preview.style.color = (msieColorBug ? "black" : "inherit"); + return this.postFilter(preview,data); + }, + postFilter: function (preview,data) { + // + // Load the PreviewHTML jax if it is not already loaded + // + if (!data.math.root.toPreviewHTML) { + var queue = MathJax.Callback.Queue(); + queue.Push( + ["Require",MathJax.Ajax,"[MathJax]/jax/output/PreviewHTML/config.js"], + ["Require",MathJax.Ajax,"[MathJax]/jax/output/PreviewHTML/jax.js"] + ); + HUB.RestartAfter(queue.Push({})); + } + data.math.root.toPreviewHTML(preview); + }, + + // + // Hook into the input jax postFilter to create the previews as + // the input jax are processed. + // + Register: function (name) { + HUB.Register.StartupHook(name+" Jax Require",function () { + var jax = MathJax.InputJax[name]; + jax.postfilterHooks.Add(["Preview",MathJax.Extension["fast-preview"]],50); + }); + } + } + + // + // Hook into each input jax + // + FastPreview.Register("TeX"); + FastPreview.Register("MathML"); + FastPreview.Register("AsciiMath"); + + HUB.Register.StartupHook("End Config",["Config",FastPreview]); + + HUB.Startup.signal.Post("fast-preview Ready"); + +})(MathJax.Hub,MathJax.HTML,MathJax.Hub.Browser); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/fast-preview.js"); + diff --git a/src/py/kaleido/vendor/mathjax/extensions/jsMath2jax.js b/src/py/kaleido/vendor/mathjax/extensions/jsMath2jax.js new file mode 100644 index 00000000..80402573 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/jsMath2jax.js @@ -0,0 +1,105 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/jsMath2jax.js + * + * Implements a jsMath to Jax preprocessor that locates jsMath-style + * ... and
        ...
        tags + * and replaces them with SCRIPT tags for processing by MathJax. + * (Note: use the tex2jax preprocessor to convert TeX delimiters or + * custom delimiters to MathJax SCRIPT tags. This preprocessor is + * only for the SPAN and DIV form of jsMath delimiters). + * + * To use this preprocessor, include "jsMath2jax.js" in the extensions + * array in your config/MathJax.js file, or the MathJax.Hub.Config() call + * in your HTML document. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension.jsMath2jax = { + version: "2.7.5", + + config: { + preview: "TeX" // Set to "none" to prevent preview strings from being inserted + // or to an array that specifies an HTML snippet to use for + // the preview. + }, + + PreProcess: function (element) { + if (!this.configured) { + this.config = MathJax.Hub.CombineConfig("jsMath2jax",this.config); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + if (typeof(this.config.previewTeX) !== "undefined" && !this.config.previewTeX) + {this.config.preview = "none"} // backward compatibility for previewTeX parameter + this.previewClass = MathJax.Hub.config.preRemoveClass; + this.configured = true; + } + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = document.body} + var span = element.getElementsByTagName("span"), i; + for (i = span.length-1; i >= 0; i--) + {if (String(span[i].className).match(/(^| )math( |$)/)) {this.ConvertMath(span[i],"")}} + var div = element.getElementsByTagName("div"); + for (i = div.length-1; i >= 0; i--) + {if (String(div[i].className).match(/(^| )math( |$)/)) {this.ConvertMath(div[i],"; mode=display")}} + }, + + ConvertMath: function (node,mode) { + if (node.getElementsByTagName("script").length === 0) { + var parent = node.parentNode, + script = this.createMathTag(mode,node.innerHTML); + if (node.nextSibling) {parent.insertBefore(script,node.nextSibling)} + else {parent.appendChild(script)} + if (this.config.preview !== "none") {this.createPreview(node)} + parent.removeChild(node); + } + }, + + createPreview: function (node) { + var previewClass = MathJax.Hub.config.preRemoveClass; + var preview = this.config.preview; + if (preview === "none") return; + if ((node.previousSibling||{}).className === previewClass) return; + if (preview === "TeX") {preview = [this.filterPreview(node.innerHTML)]} + if (preview) { + preview = MathJax.HTML.Element("span",{className:previewClass},preview); + node.parentNode.insertBefore(preview,node); + } + }, + + createMathTag: function (mode,tex) { + tex = tex.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&"); + var script = document.createElement("script"); + script.type = "math/tex" + mode; + MathJax.HTML.setScript(script,tex); + return script; + }, + + filterPreview: function (tex) {return tex} + +}; + +// We register the preprocessors with the following priorities: +// - mml2jax.js: 5 +// - jsMath2jax.js: 8 +// - asciimath2jax.js, tex2jax.js: 10 (default) +// See issues 18 and 484 and the other *2jax.js files. +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.jsMath2jax],8); +MathJax.Ajax.loadComplete("[MathJax]/extensions/jsMath2jax.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/mml2jax.js b/src/py/kaleido/vendor/mathjax/extensions/mml2jax.js new file mode 100644 index 00000000..f50b3d87 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/mml2jax.js @@ -0,0 +1,263 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/mml2jax.js + * + * Implements the MathML to Jax preprocessor that locates nodes + * within the text of a document and replaces them with SCRIPT tags + * for processing by MathJax. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension.mml2jax = { + version: "2.7.5", + config: { + preview: "mathml" // Use the element as the + // preview. Set to "none" for no preview, + // set to "alttext" to use the alttext attribute + // of the element, set to "altimg" to use + // an image described by the altimg* attributes + // or set to an array specifying an HTML snippet + // to use a fixed preview for all math + + }, + MMLnamespace: "http://www.w3.org/1998/Math/MathML", + + PreProcess: function (element) { + if (!this.configured) { + this.config = MathJax.Hub.CombineConfig("mml2jax",this.config); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + this.InitBrowser(); + this.configured = true; + } + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = document.body} + var mathArray = []; + // + // Handle all math tags with no namespaces + // + this.PushMathElements(mathArray,element,"math"); + // + // Handle math with namespaces in XHTML + // + this.PushMathElements(mathArray,element,"math",this.MMLnamespace); + // + // Handle math with namespaces in HTML + // + var i, m; + if (typeof(document.namespaces) !== "undefined") { + // + // IE namespaces are listed in document.namespaces + // + try { + for (i = 0, m = document.namespaces.length; i < m; i++) { + var ns = document.namespaces[i]; + if (ns.urn === this.MMLnamespace) + {this.PushMathElements(mathArray,element,ns.name+":math")} + } + } catch (err) {} + } else { + // + // Everybody else + // + var html = document.getElementsByTagName("html")[0]; + if (html) { + for (i = 0, m = html.attributes.length; i < m; i++) { + var attr = html.attributes[i]; + if (attr.nodeName.substr(0,6) === "xmlns:" && attr.nodeValue === this.MMLnamespace) + {this.PushMathElements(mathArray,element,attr.nodeName.substr(6)+":math")} + } + } + } + this.ProcessMathArray(mathArray); + }, + + PushMathElements: function (array,element,name,namespace) { + var math, preview = MathJax.Hub.config.preRemoveClass; + if (namespace) { + if (!element.getElementsByTagNameNS) return; + math = element.getElementsByTagNameNS(namespace,name); + } else { + math = element.getElementsByTagName(name); + } + for (var i = 0, m = math.length; i < m; i++) { + var parent = math[i].parentNode; + if (parent && parent.className !== preview && + !parent.isMathJax && !math[i].prefix === !namespace) array.push(math[i]); + } + }, + + ProcessMathArray: function (math) { + var i, m = math.length; + if (m) { + if (this.MathTagBug) { + for (i = 0; i < m; i++) { + if (math[i].nodeName === "MATH") {this.ProcessMathFlattened(math[i])} + else {this.ProcessMath(math[i])} + } + } else { + for (i = 0; i < m; i++) {this.ProcessMath(math[i])} + } + } + }, + + ProcessMath: function (math) { + var parent = math.parentNode; + if (!parent || parent.className === MathJax.Hub.config.preRemoveClass) return; + var script = document.createElement("script"); + script.type = "math/mml"; + parent.insertBefore(script,math); + if (this.AttributeBug) { + var html = this.OuterHTML(math); + if (this.CleanupHTML) { + html = html.replace(/<\?import .*?>/i,"").replace(/<\?xml:namespace .*?\/>/i,""); + html = html.replace(/ /g," "); + } + MathJax.HTML.setScript(script,html); parent.removeChild(math); + } else { + var span = MathJax.HTML.Element("span"); span.appendChild(math); + MathJax.HTML.setScript(script,span.innerHTML); + } + if (this.config.preview !== "none") {this.createPreview(math,script)} + }, + + ProcessMathFlattened: function (math) { + var parent = math.parentNode; + if (!parent || parent.className === MathJax.Hub.config.preRemoveClass) return; + var script = document.createElement("script"); + script.type = "math/mml"; + parent.insertBefore(script,math); + var mml = "", node, MATH = math; + while (math && math.nodeName !== "/MATH") { + node = math; math = math.nextSibling; + mml += this.NodeHTML(node); + node.parentNode.removeChild(node); + } + if (math && math.nodeName === "/MATH") {math.parentNode.removeChild(math)} + script.text = mml + ""; + if (this.config.preview !== "none") {this.createPreview(MATH,script)} + }, + + NodeHTML: function (node) { + var html, i, m; + if (node.nodeName === "#text") { + html = this.quoteHTML(node.nodeValue); + } else if (node.nodeName === "#comment") { + html = "" + } else { + // In IE, outerHTML doesn't properly quote attributes, so quote them by hand + // In Opera, HTML special characters aren't quoted in attributes, so quote them + html = "<"+node.nodeName.toLowerCase(); + for (i = 0, m = node.attributes.length; i < m; i++) { + var attribute = node.attributes[i]; + if (attribute.specified && attribute.nodeName.substr(0,10) !== "_moz-math-") { + // Opera 11.5 beta turns xmlns into xmlns:xmlns, so put it back (*** check after 11.5 is out ***) + html += " "+attribute.nodeName.toLowerCase().replace(/xmlns:xmlns/,"xmlns")+"="; + var value = attribute.nodeValue; // IE < 8 doesn't properly set style by setAttributes + if (value == null && attribute.nodeName === "style" && node.style) {value = node.style.cssText} + html += '"'+this.quoteHTML(value)+'"'; + } + } + html += ">"; + // Handle internal HTML (possibly due to annotation or missing ) + if (node.outerHTML != null && node.outerHTML.match(/(.<\/[A-Z]+>|\/>)$/)) { + for (i = 0, m = node.childNodes.length; i < m; i++) + {html += this.OuterHTML(node.childNodes[i])} + html += ""; + } + } + return html; + }, + OuterHTML: function (node) { + if (node.nodeName.charAt(0) === "#") {return this.NodeHTML(node)} + if (!this.AttributeBug) {return node.outerHTML} + var html = this.NodeHTML(node); + for (var i = 0, m = node.childNodes.length; i < m; i++) + {html += this.OuterHTML(node.childNodes[i]);} + html += ""; + return html; + }, + quoteHTML: function (string) { + if (string == null) {string = ""} + return string.replace(/&/g,"&").replace(//g,">").replace(/\"/g,"""); + }, + + createPreview: function (math,script) { + var preview = this.config.preview; + if (preview === "none") return; + var isNodePreview = false; + var previewClass = MathJax.Hub.config.preRemoveClass; + if ((script.previousSibling||{}).className === previewClass) return; + if (preview === "mathml") { + isNodePreview = true; + // mathml preview does not work with IE < 9, so fallback to alttext. + if (this.MathTagBug) {preview = "alttext"} else {preview = math.cloneNode(true)} + } + if (preview === "alttext" || preview === "altimg") { + isNodePreview = true; + var alttext = this.filterPreview(math.getAttribute("alttext")); + if (preview === "alttext") { + if (alttext != null) {preview = MathJax.HTML.TextNode(alttext)} else {preview = null} + } else { + var src = math.getAttribute("altimg"); + if (src != null) { + // FIXME: use altimg-valign when display="inline"? + var style = {width: math.getAttribute("altimg-width"), height: math.getAttribute("altimg-height")}; + preview = MathJax.HTML.Element("img",{src:src,alt:alttext,style:style}); + } else {preview = null} + } + } + if (preview) { + var span; + if (isNodePreview) { + span = MathJax.HTML.Element("span",{className:previewClass}); + span.appendChild(preview); + } else { + span = MathJax.HTML.Element("span",{className:previewClass},preview); + } + script.parentNode.insertBefore(span,script); + } + }, + + filterPreview: function (text) {return text}, + + InitBrowser: function () { + var test = MathJax.HTML.Element("span",{id:"<", className: "mathjax", innerHTML: "x"}); + var html = test.outerHTML || ""; + this.AttributeBug = html !== "" && !( + html.match(/id="<"/) && // "<" should convert to "<" + html.match(/class="mathjax"/) && // IE leaves out quotes + html.match(/<\/math>/) // Opera 9 drops tags after self-closing tags + ); + this.MathTagBug = test.childNodes.length > 1; // IE < 9 flattens unknown tags + this.CleanupHTML = MathJax.Hub.Browser.isMSIE; // remove namespace and other added tags + } + +}; + +// +// We register the preprocessors with the following priorities: +// - mml2jax.js: 5 +// - jsMath2jax.js: 8 +// - asciimath2jax.js, tex2jax.js: 10 (default) +// See issues 18 and 484 and the other *2jax.js files. +// +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.mml2jax],5); +MathJax.Ajax.loadComplete("[MathJax]/extensions/mml2jax.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/tex2jax.js b/src/py/kaleido/vendor/mathjax/extensions/tex2jax.js new file mode 100644 index 00000000..e3af3f9f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/tex2jax.js @@ -0,0 +1,319 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/tex2jax.js + * + * Implements the TeX to Jax preprocessor that locates TeX code + * within the text of a document and replaces it with SCRIPT tags + * for processing by MathJax. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Extension.tex2jax = { + version: "2.7.5", + config: { + inlineMath: [ // The start/stop pairs for in-line math +// ['$','$'], // (comment out any you don't want, or add your own, but + ['\\(','\\)'] // be sure that you don't have an extra comma at the end) + ], + + displayMath: [ // The start/stop pairs for display math + ['$$','$$'], // (comment out any you don't want, or add your own, but + ['\\[','\\]'] // be sure that you don't have an extra comma at the end) + ], + + skipTags: ["script","noscript","style","textarea","pre","code","annotation","annotation-xml"], + // The names of the tags whose contents will not be + // scanned for math delimiters + + ignoreClass: "tex2jax_ignore", // the class name of elements whose contents should + // NOT be processed by tex2jax. Note that this + // is a regular expression, so be sure to quote any + // regexp special characters + + processClass: "tex2jax_process", // the class name of elements whose contents SHOULD + // be processed when they appear inside ones that + // are ignored. Note that this is a regular expression, + // so be sure to quote any regexp special characters + + processEscapes: false, // set to true to allow \$ to produce a dollar without + // starting in-line math mode + + processEnvironments: true, // set to true to process \begin{xxx}...\end{xxx} outside + // of math mode, false to prevent that + + processRefs: true, // set to true to process \ref{...} outside of math mode + + + preview: "TeX" // set to "none" to not insert MathJax_Preview spans + // or set to an array specifying an HTML snippet + // to use the same preview for every equation. + + }, + + // + // Tags to ignore when searching for TeX in the page + // + ignoreTags: { + br: (MathJax.Hub.Browser.isMSIE && document.documentMode < 9 ? "\n" : " "), + wbr: "", + "#comment": "" + }, + + PreProcess: function (element) { + if (!this.configured) { + this.config = MathJax.Hub.CombineConfig("tex2jax",this.config); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + if (typeof(this.config.previewTeX) !== "undefined" && !this.config.previewTeX) + {this.config.preview = "none"} // backward compatibility for previewTeX parameter + this.configured = true; + } + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = document.body} + if (this.createPatterns()) {this.scanElement(element,element.nextSibling)} + }, + + createPatterns: function () { + var starts = [], parts = [], i, m, config = this.config; + this.match = {}; + for (i = 0, m = config.inlineMath.length; i < m; i++) { + starts.push(this.patternQuote(config.inlineMath[i][0])); + this.match[config.inlineMath[i][0]] = { + mode: "", + end: config.inlineMath[i][1], + pattern: this.endPattern(config.inlineMath[i][1]) + }; + } + for (i = 0, m = config.displayMath.length; i < m; i++) { + starts.push(this.patternQuote(config.displayMath[i][0])); + this.match[config.displayMath[i][0]] = { + mode: "; mode=display", + end: config.displayMath[i][1], + pattern: this.endPattern(config.displayMath[i][1]) + }; + } + if (starts.length) {parts.push(starts.sort(this.sortLength).join("|"))} + if (config.processEnvironments) {parts.push("\\\\begin\\{([^}]*)\\}")} + if (config.processEscapes) {parts.push("\\\\*\\\\\\\$")} + if (config.processRefs) {parts.push("\\\\(eq)?ref\\{[^}]*\\}")} + this.start = new RegExp(parts.join("|"),"g"); + this.skipTags = new RegExp("^("+config.skipTags.join("|")+")$","i"); + var ignore = []; + if (MathJax.Hub.config.preRemoveClass) {ignore.push(MathJax.Hub.config.preRemoveClass)}; + if (config.ignoreClass) {ignore.push(config.ignoreClass)} + this.ignoreClass = (ignore.length ? new RegExp("(^| )("+ignore.join("|")+")( |$)") : /^$/); + this.processClass = new RegExp("(^| )("+config.processClass+")( |$)"); + return (parts.length > 0); + }, + + patternQuote: function (s) {return s.replace(/([\^$(){}+*?\-|\[\]\:\\])/g,'\\$1')}, + + endPattern: function (end) { + return new RegExp(this.patternQuote(end)+"|\\\\.|[{}]","g"); + }, + + sortLength: function (a,b) { + if (a.length !== b.length) {return b.length - a.length} + return (a == b ? 0 : (a < b ? -1 : 1)); + }, + + scanElement: function (element,stop,ignore) { + var cname, tname, ignoreChild, process; + while (element && element != stop) { + if (element.nodeName.toLowerCase() === '#text') { + if (!ignore) {element = this.scanText(element)} + } else { + cname = (typeof(element.className) === "undefined" ? "" : element.className); + tname = (typeof(element.tagName) === "undefined" ? "" : element.tagName); + if (typeof(cname) !== "string") {cname = String(cname)} // jsxgraph uses non-string class names! + process = this.processClass.exec(cname); + if (element.firstChild && !cname.match(/(^| )MathJax/) && + (process || !this.skipTags.exec(tname))) { + ignoreChild = (ignore || this.ignoreClass.exec(cname)) && !process; + this.scanElement(element.firstChild,stop,ignoreChild); + } + } + if (element) {element = element.nextSibling} + } + }, + + scanText: function (element) { + if (element.nodeValue.replace(/\s+/,'') == '') {return element} + var match, prev, pos = 0, rescan; + this.search = {start: true}; + this.pattern = this.start; + while (element) { + rescan = null; + this.pattern.lastIndex = pos; pos = 0; + while (element && element.nodeName.toLowerCase() === '#text' && + (match = this.pattern.exec(element.nodeValue))) { + if (this.search.start) {element = this.startMatch(match,element)} + else {element = this.endMatch(match,element)} + } + if (this.search.matched) element = this.encloseMath(element); + else if (!this.search.start) rescan = this.search; + if (element) { + do {prev = element; element = element.nextSibling} + while (element && this.ignoreTags[element.nodeName.toLowerCase()] != null); + if (!element || element.nodeName !== '#text') { + if (!rescan) return (this.search.close ? this.prevEndMatch() : prev); + element = rescan.open; + pos = rescan.opos + rescan.olen + (rescan.blen || 0); + this.search = {start: true}; + this.pattern = this.start; + } + } + } + return element; + }, + + startMatch: function (match,element) { + var delim = this.match[match[0]]; + if (delim != null) { // a start delimiter + this.search = { + end: delim.end, mode: delim.mode, pcount: 0, + open: element, olen: match[0].length, opos: this.pattern.lastIndex - match[0].length + }; + this.switchPattern(delim.pattern); + } else if (match[0].substr(0,6) === "\\begin") { // \begin{...} + this.search = { + end: "\\end{"+match[1]+"}", mode: "; mode=display", pcount: 0, + open: element, olen: 0, opos: this.pattern.lastIndex - match[0].length, + blen: match[1].length + 3, isBeginEnd: true + }; + this.switchPattern(this.endPattern(this.search.end)); + } else if (match[0].substr(0,4) === "\\ref" || match[0].substr(0,6) === "\\eqref") { + this.search = { + mode: "", end: "", open: element, pcount: 0, + olen: 0, opos: this.pattern.lastIndex - match[0].length + } + return this.endMatch([""],element); + } else { // escaped dollar signs + // put $ in a span so it doesn't get processed again + // split off backslashes so they don't get removed later + var slashes = match[0].substr(0,match[0].length-1), n, span; + if (slashes.length % 2 === 0) {span = [slashes.replace(/\\\\/g,"\\")]; n = 1} + else {span = [slashes.substr(1).replace(/\\\\/g,"\\"),"$"]; n = 0} + span = MathJax.HTML.Element("span",null,span); + var text = MathJax.HTML.TextNode(element.nodeValue.substr(0,match.index)); + element.nodeValue = element.nodeValue.substr(match.index + match[0].length - n); + element.parentNode.insertBefore(span,element); + element.parentNode.insertBefore(text,span); + this.pattern.lastIndex = n; + } + return element; + }, + + endMatch: function (match,element) { + var search = this.search; + if (match[0] == search.end) { + if (!search.close || search.pcount === 0) { + search.close = element; + search.cpos = this.pattern.lastIndex; + search.clen = (search.isBeginEnd ? 0 : match[0].length); + } + if (search.pcount === 0) { + search.matched = true; + element = this.encloseMath(element); + this.switchPattern(this.start); + } + } + else if (match[0] === "{") {search.pcount++} + else if (match[0] === "}" && search.pcount) {search.pcount--} + return element; + }, + prevEndMatch: function () { + this.search.matched = true; + var element = this.encloseMath(this.search.close); + this.switchPattern(this.start); + return element; + }, + + switchPattern: function (pattern) { + pattern.lastIndex = this.pattern.lastIndex; + this.pattern = pattern; + this.search.start = (pattern === this.start); + }, + + encloseMath: function (element) { + var search = this.search, close = search.close, CLOSE, math, next; + if (search.cpos === close.length) {close = close.nextSibling} + else {close = close.splitText(search.cpos)} + if (!close) {CLOSE = close = MathJax.HTML.addText(search.close.parentNode,"")} + search.close = close; + math = (search.opos ? search.open.splitText(search.opos) : search.open); + while ((next = math.nextSibling) && next !== close) { + if (next.nodeValue !== null) { + if (next.nodeName === "#comment") { + math.nodeValue += next.nodeValue.replace(/^\[CDATA\[((.|\n|\r)*)\]\]$/,"$1"); + } else { + math.nodeValue += next.nodeValue; + } + } else { + var ignore = this.ignoreTags[next.nodeName.toLowerCase()]; + math.nodeValue += (ignore == null ? " " : ignore); + } + math.parentNode.removeChild(next); + } + var TeX = math.nodeValue.substr(search.olen,math.nodeValue.length-search.olen-search.clen); + math.parentNode.removeChild(math); + if (this.config.preview !== "none") {this.createPreview(search.mode,TeX)} + math = this.createMathTag(search.mode,TeX); + this.search = {}; this.pattern.lastIndex = 0; + if (CLOSE) {CLOSE.parentNode.removeChild(CLOSE)} + return math; + }, + + insertNode: function (node) { + var search = this.search; + search.close.parentNode.insertBefore(node,search.close); + }, + + createPreview: function (mode,tex) { + var previewClass = MathJax.Hub.config.preRemoveClass; + var preview = this.config.preview; + if (preview === "none") return; + if ((this.search.close.previousSibling||{}).className === previewClass) return; + if (preview === "TeX") {preview = [this.filterPreview(tex)]} + if (preview) { + preview = MathJax.HTML.Element("span",{className:previewClass},preview); + this.insertNode(preview); + } + }, + + createMathTag: function (mode,tex) { + var script = document.createElement("script"); + script.type = "math/tex" + mode; + MathJax.HTML.setScript(script,tex); + this.insertNode(script); + return script; + }, + + filterPreview: function (tex) {return tex} + +}; + +// We register the preprocessors with the following priorities: +// - mml2jax.js: 5 +// - jsMath2jax.js: 8 +// - asciimath2jax.js, tex2jax.js: 10 (default) +// See issues 18 and 484 and the other *2jax.js files. +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.tex2jax]); +MathJax.Ajax.loadComplete("[MathJax]/extensions/tex2jax.js"); diff --git a/src/py/kaleido/vendor/mathjax/extensions/toMathML.js b/src/py/kaleido/vendor/mathjax/extensions/toMathML.js new file mode 100644 index 00000000..acd5b31d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/extensions/toMathML.js @@ -0,0 +1,241 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/extensions/toMathML.js + * + * Implements a toMathML() method for the mml Element Jax that returns + * a MathML string from a given math expression. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js",function () { + var VERSION = "2.7.5"; + + var MML = MathJax.ElementJax.mml, + SETTINGS = MathJax.Hub.config.menuSettings; + + MML.mbase.Augment({ + + toMathML: function (space) { + var inferred = (this.inferred && this.parent.inferRow); + if (space == null) {space = ""} + var tag = this.type, attr = this.toMathMLattributes(); + if (tag === "mspace") {return space + "<"+tag+attr+" />"} + var data = [], SPACE = (this.isToken ? "" : space+(inferred ? "" : " ")); + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {data.push(this.data[i].toMathML(SPACE))} + else if (!this.isToken && !this.isChars) {data.push(SPACE+"")} + } + if (this.isToken || this.isChars) {return space + "<"+tag+attr+">"+data.join("")+""} + if (inferred) {return data.join("\n")} + if (data.length === 0 || (data.length === 1 && data[0] === "")) + {return space + "<"+tag+attr+" />"} + return space + "<"+tag+attr+">\n"+data.join("\n")+"\n"+ space +""; + }, + + toMathMLattributes: function () { + var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); + var names = (this.attrNames||MML.copyAttributeNames), + skip = MML.skipAttributes, copy = MML.copyAttributes; + var attr = []; + + if (this.type === "math" && (!this.attr || !('xmlns' in this.attr))) + {attr.push('xmlns="http://www.w3.org/1998/Math/MathML"')} + if (!this.attrNames) { + for (var id in defaults) {if (!skip[id] && !copy[id] && defaults.hasOwnProperty(id)) { + if (this[id] != null && this[id] !== defaults[id]) { + if (this.Get(id,null,1) !== this[id]) + attr.push(id+'="'+this.toMathMLattribute(this[id])+'"'); + } + }} + } + for (var i = 0, m = names.length; i < m; i++) { + if (copy[names[i]] === 1 && !defaults.hasOwnProperty(names[i])) continue; + value = (this.attr||{})[names[i]]; if (value == null) {value = this[names[i]]} + if (value != null) {attr.push(names[i]+'="'+this.toMathMLquote(value)+'"')} + } + this.toMathMLclass(attr); + if (attr.length) {return " "+attr.join(" ")} else {return ""} + }, + toMathMLclass: function (attr) { + var CLASS = []; if (this["class"]) {CLASS.push(this["class"])} + if (this.isa(MML.TeXAtom) && SETTINGS.texHints) { + var TEXCLASS = ["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"][this.texClass]; + if (TEXCLASS) { + CLASS.push("MJX-TeXAtom-"+TEXCLASS) + if (TEXCLASS === "OP" && !this.movablelimits) CLASS.push("MJX-fixedlimits"); + } + } + if (this.mathvariant && this.toMathMLvariants[this.mathvariant]) + {CLASS.push("MJX"+this.mathvariant)} + if (this.variantForm) {CLASS.push("MJX-variant")} + if (CLASS.length) {attr.unshift('class="'+this.toMathMLquote(CLASS.join(" "))+'"')} + }, + toMathMLattribute: function (value) { + if (typeof(value) === "string" && + value.replace(/ /g,"").match(/^(([-+])?(\d+(\.\d*)?|\.\d+))mu$/)) { + // FIXME: should take scriptlevel into account + return (RegExp.$2||"")+((1/18)*RegExp.$3).toFixed(3).replace(/\.?0+$/,"")+"em"; + } + else if (this.toMathMLvariants[value]) {return this.toMathMLvariants[value]} + return this.toMathMLquote(value); + }, + toMathMLvariants: { + "-tex-caligraphic": MML.VARIANT.SCRIPT, + "-tex-caligraphic-bold": MML.VARIANT.BOLDSCRIPT, + "-tex-oldstyle": MML.VARIANT.NORMAL, + "-tex-oldstyle-bold": MML.VARIANT.BOLD, + "-tex-mathit": MML.VARIANT.ITALIC + }, + + toMathMLquote: function (string) { + string = String(string).split(""); + for (var i = 0, m = string.length; i < m; i++) { + var n = string[i].charCodeAt(0); + if (n <= 0xD7FF || 0xE000 <= n) { + // Code points U+0000 to U+D7FF and U+E000 to U+FFFF. + // They are directly represented by n. + if (n > 0x7E || (n < 0x20 && n !== 0x0A && n !== 0x0D && n !== 0x09)) { + string[i] = "&#x"+n.toString(16).toUpperCase()+";"; + } else { + var c = + {'&':'&', '<':'<', '>':'>', '"':'"'}[string[i]]; + if (c) {string[i] = c} + } + } else if (i+1 < m) { + // Code points U+10000 to U+10FFFF. + // n is the lead surrogate, let's read the trail surrogate. + var trailSurrogate = string[i+1].charCodeAt(0); + var codePoint = (((n-0xD800)<<10)+(trailSurrogate-0xDC00)+0x10000); + string[i] = "&#x"+codePoint.toString(16).toUpperCase()+";"; + string[i+1] = ""; + i++; + } else { + // n is a lead surrogate without corresponding trail surrogate: + // remove that character. + string[i] = ""; + } + } + return string.join(""); + } + }); + + // + // Override math.toMathML in order to add semantics tag + // for the input format, if the user requests that in the + // Show As menu. + // + MML.math.Augment({ + toMathML: function (space,jax) { + var annotation; + if (space == null) {space = ""} + if (jax && jax.originalText && SETTINGS.semantics) + {annotation = MathJax.InputJax[jax.inputJax].annotationEncoding} + var nested = (this.data[0] && this.data[0].data.length > 1); + var tag = this.type, attr = this.toMathMLattributes(); + var data = [], SPACE = space + (annotation ? " " + (nested ? " " : "") : "") + " "; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {data.push(this.data[i].toMathML(SPACE))} + else {data.push(SPACE+"")} + } + if (data.length === 0 || (data.length === 1 && data[0] === "")) { + if (!annotation) {return "<"+tag+attr+" />"} + data.push(SPACE+""); + } + if (annotation) { + if (nested) {data.unshift(space+" "); data.push(space+" ")} + data.unshift(space+" "); + var xmlEscapedTex = jax.originalText.replace(/[&<>]/g, function(item) { + return { '>': '>', '<': '<','&': '&' }[item] + }); + data.push(space+' '+xmlEscapedTex+""); + data.push(space+" "); + } + return space+"<"+tag+attr+">\n"+data.join("\n")+"\n"+space+""; + } + }); + + MML.msubsup.Augment({ + toMathML: function (space) { + var tag = this.type; + if (this.data[this.sup] == null) {tag = "msub"} + if (this.data[this.sub] == null) {tag = "msup"} + var attr = this.toMathMLattributes(); + delete this.data[0].inferred; + var data = []; + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {data.push(this.data[i].toMathML(space+" "))}} + return space + "<"+tag+attr+">\n" + data.join("\n") + "\n" + space + ""; + } + }); + + MML.munderover.Augment({ + toMathML: function (space) { + var tag = this.type; + var base = this.data[this.base]; + if (base && base.isa(MML.TeXAtom) && base.movablelimits && !base.Get("displaystyle")) { + type = "msubsup"; + if (this.data[this.under] == null) {tag = "msup"} + if (this.data[this.over] == null) {tag = "msub"} + } else { + if (this.data[this.under] == null) {tag = "mover"} + if (this.data[this.over] == null) {tag = "munder"} + } + var attr = this.toMathMLattributes(); + delete this.data[0].inferred; + var data = []; + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {data.push(this.data[i].toMathML(space+" "))}} + return space + "<"+tag+attr+">\n" + data.join("\n") + "\n" + space + ""; + } + }); + + MML.TeXAtom.Augment({ + toMathML: function (space) { + // FIXME: Handle spacing using mpadded? + var attr = this.toMathMLattributes(); + if (!attr && this.data[0].data.length === 1) {return space.substr(2) + this.data[0].toMathML(space)} + return space+"\n" + this.data[0].toMathML(space+" ")+"\n"+space+""; + } + }); + + MML.chars.Augment({ + toMathML: function (space) {return (space||"") + this.toMathMLquote(this.toString())} + }); + + MML.entity.Augment({ + toMathML: function (space) {return (space||"") + "&"+this.toMathMLquote(this.data[0])+";"} + }); + + MML.xml.Augment({ + toMathML: function (space) {return (space||"") + this.toString()} + }); + + MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function () { + MML.TeXmathchoice.Augment({ + toMathML: function (space) {return this.Core().toMathML(space)} + }); + }); + + MathJax.Hub.Startup.signal.Post("toMathML Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/toMathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/jax.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/jax.js new file mode 100644 index 00000000..e5f74321 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/jax.js @@ -0,0 +1,1813 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/element/mml/jax.js + * + * Implements the MML ElementJax that holds the internal represetation + * of the mathematics on the page. Various InputJax will produce this + * format, and the OutputJax will display it in various formats. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.ElementJax.mml = MathJax.ElementJax({ + mimeType: "jax/mml" +},{ + id: "mml", + version: "2.7.5", + directory: MathJax.ElementJax.directory + "/mml", + extensionDir: MathJax.ElementJax.extensionDir + "/mml", + optableDir: MathJax.ElementJax.directory + "/mml/optable" +}); + +MathJax.ElementJax.mml.Augment({ + Init: function () { + if (arguments.length === 1 && arguments[0].type === "math") {this.root = arguments[0]} + else {this.root = MathJax.ElementJax.mml.math.apply(this,arguments)} + if (this.root.attr && this.root.attr.mode) { + if (!this.root.display && this.root.attr.mode === "display") { + this.root.display = "block"; + this.root.attrNames.push("display"); + } + delete this.root.attr.mode; + for (var i = 0, m = this.root.attrNames.length; i < m; i++) { + if (this.root.attrNames[i] === "mode") {this.root.attrNames.splice(i,1); break} + } + } + } +},{ + INHERIT: "_inherit_", + AUTO: "_auto_", + SIZE: { + INFINITY: "infinity", + SMALL: "small", + NORMAL: "normal", + BIG: "big" + }, + COLOR: { + TRANSPARENT: "transparent" + }, + VARIANT: { + NORMAL: "normal", + BOLD: "bold", + ITALIC: "italic", + BOLDITALIC: "bold-italic", + DOUBLESTRUCK: "double-struck", + FRAKTUR: "fraktur", + BOLDFRAKTUR: "bold-fraktur", + SCRIPT: "script", + BOLDSCRIPT: "bold-script", + SANSSERIF: "sans-serif", + BOLDSANSSERIF: "bold-sans-serif", + SANSSERIFITALIC: "sans-serif-italic", + SANSSERIFBOLDITALIC: "sans-serif-bold-italic", + MONOSPACE: "monospace", + INITIAL: "initial", + TAILED: "tailed", + LOOPED: "looped", + STRETCHED: "stretched", + CALIGRAPHIC: "-tex-caligraphic", + OLDSTYLE: "-tex-oldstyle" + }, + FORM: { + PREFIX: "prefix", + INFIX: "infix", + POSTFIX: "postfix" + }, + LINEBREAK: { + AUTO: "auto", + NEWLINE: "newline", + NOBREAK: "nobreak", + GOODBREAK: "goodbreak", + BADBREAK: "badbreak" + }, + LINEBREAKSTYLE: { + BEFORE: "before", + AFTER: "after", + DUPLICATE: "duplicate", + INFIXLINBREAKSTYLE: "infixlinebreakstyle" + }, + INDENTALIGN: { + LEFT: "left", + CENTER: "center", + RIGHT: "right", + AUTO: "auto", + ID: "id", + INDENTALIGN: "indentalign" + }, + INDENTSHIFT: { + INDENTSHIFT: "indentshift" + }, + LINETHICKNESS: { + THIN: "thin", + MEDIUM: "medium", + THICK: "thick" + }, + NOTATION: { + LONGDIV: "longdiv", + ACTUARIAL: "actuarial", + RADICAL: "radical", + BOX: "box", + ROUNDEDBOX: "roundedbox", + CIRCLE: "circle", + LEFT: "left", + RIGHT: "right", + TOP: "top", + BOTTOM: "bottom", + UPDIAGONALSTRIKE: "updiagonalstrike", + DOWNDIAGONALSTRIKE: "downdiagonalstrike", + UPDIAGONALARROW: "updiagonalarrow", + VERTICALSTRIKE: "verticalstrike", + HORIZONTALSTRIKE: "horizontalstrike", + PHASORANGLE: "phasorangle", + MADRUWB: "madruwb" + }, + ALIGN: { + TOP: "top", + BOTTOM: "bottom", + CENTER: "center", + BASELINE: "baseline", + AXIS: "axis", + LEFT: "left", + RIGHT: "right" + }, + LINES: { + NONE: "none", + SOLID: "solid", + DASHED: "dashed" + }, + SIDE: { + LEFT: "left", + RIGHT: "right", + LEFTOVERLAP: "leftoverlap", + RIGHTOVERLAP: "rightoverlap" + }, + WIDTH: { + AUTO: "auto", + FIT: "fit" + }, + ACTIONTYPE: { + TOGGLE: "toggle", + STATUSLINE: "statusline", + TOOLTIP: "tooltip", + INPUT: "input" + }, + LENGTH: { + VERYVERYTHINMATHSPACE: "veryverythinmathspace", + VERYTHINMATHSPACE: "verythinmathspace", + THINMATHSPACE: "thinmathspace", + MEDIUMMATHSPACE: "mediummathspace", + THICKMATHSPACE: "thickmathspace", + VERYTHICKMATHSPACE: "verythickmathspace", + VERYVERYTHICKMATHSPACE: "veryverythickmathspace", + NEGATIVEVERYVERYTHINMATHSPACE: "negativeveryverythinmathspace", + NEGATIVEVERYTHINMATHSPACE: "negativeverythinmathspace", + NEGATIVETHINMATHSPACE: "negativethinmathspace", + NEGATIVEMEDIUMMATHSPACE: "negativemediummathspace", + NEGATIVETHICKMATHSPACE: "negativethickmathspace", + NEGATIVEVERYTHICKMATHSPACE: "negativeverythickmathspace", + NEGATIVEVERYVERYTHICKMATHSPACE: "negativeveryverythickmathspace" + }, + OVERFLOW: { + LINBREAK: "linebreak", + SCROLL: "scroll", + ELIDE: "elide", + TRUNCATE: "truncate", + SCALE: "scale" + }, + UNIT: { + EM: "em", + EX: "ex", + PX: "px", + IN: "in", + CM: "cm", + MM: "mm", + PT: "pt", + PC: "pc" + }, + TEXCLASS: { + ORD: 0, + OP: 1, + BIN: 2, + REL: 3, + OPEN: 4, + CLOSE: 5, + PUNCT: 6, + INNER: 7, + VCENTER: 8, + NONE: -1 + }, + TEXCLASSNAMES: ["ORD", "OP", "BIN", "REL", "OPEN", "CLOSE", "PUNCT", "INNER", "VCENTER"], + skipAttributes: { + texClass:true, useHeight:true, texprimestyle:true + }, + copyAttributes: { + displaystyle:1, scriptlevel:1, open:1, close:1, form:1, + actiontype: 1, + fontfamily:true, fontsize:true, fontweight:true, fontstyle:true, + color:true, background:true, + id:true, "class":1, href:true, style:true + }, + copyAttributeNames: [ + "displaystyle", "scriptlevel", "open", "close", "form", // force these to be copied + "actiontype", + "fontfamily", "fontsize", "fontweight", "fontstyle", + "color", "background", + "id", "class", "href", "style" + ], + nocopyAttributes: { + fontfamily: true, fontsize: true, fontweight: true, fontstyle: true, + color: true, background: true, + id: true, 'class': true, href: true, style: true, + xmlns: true + }, + Error: function (message,def) { + var mml = this.merror(message), + dir = MathJax.Localization.fontDirection(), + font = MathJax.Localization.fontFamily(); + if (def) {mml = mml.With(def)} + if (dir || font) { + mml = this.mstyle(mml); + if (dir) {mml.dir = dir} + if (font) {mml.style.fontFamily = "font-family: "+font} + } + return mml; + } +}); + +(function (MML) { + + MML.mbase = MathJax.Object.Subclass({ + type: "base", isToken: false, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT + }, + noInherit: {}, + noInheritAttribute: { + texClass: true + }, + getRemoved: {}, + linebreakContainer: false, + + Init: function () { + this.data = []; + if (this.inferRow && !(arguments.length === 1 && arguments[0].inferred)) + {this.Append(MML.mrow().With({inferred: true, notParent: true}))} + this.Append.apply(this,arguments); + }, + With: function (def) { + for (var id in def) {if (def.hasOwnProperty(id)) {this[id] = def[id]}} + return this; + }, + Append: function () { + if (this.inferRow && this.data.length) { + this.data[0].Append.apply(this.data[0],arguments); + } else { + for (var i = 0, m = arguments.length; i < m; i++) + {this.SetData(this.data.length,arguments[i])} + } + }, + SetData: function (i,item) { + if (item != null) { + if (!(item instanceof MML.mbase)) + {item = (this.isToken || this.isChars ? MML.chars(item) : MML.mtext(item))} + item.parent = this; + item.setInherit(this.inheritFromMe ? this : this.inherit); + } + this.data[i] = item; + }, + Parent: function () { + var parent = this.parent; + while (parent && parent.notParent) {parent = parent.parent} + return parent; + }, + Get: function (name,nodefault,noself) { + if (!noself) { + if (this[name] != null) {return this[name]} + if (this.attr && this.attr[name] != null) {return this.attr[name]} + } + // FIXME: should cache these values and get from cache + // (clear cache when appended to a new object?) + var parent = this.Parent(); + if (parent && parent["adjustChild_"+name] != null) { + return (parent["adjustChild_"+name])(this.childPosition(),nodefault); + } + var obj = this.inherit; var root = obj; + while (obj) { + var value = obj[name]; if (value == null && obj.attr) {value = obj.attr[name]} + if (obj.removedStyles && obj.getRemoved[name] && value == null) value = obj.removedStyles[obj.getRemoved[name]]; + if (value != null && obj.noInheritAttribute && !obj.noInheritAttribute[name]) { + var noInherit = obj.noInherit[this.type]; + if (!(noInherit && noInherit[name])) {return value} + } + root = obj; obj = obj.inherit; + } + if (!nodefault) { + if (this.defaults[name] === MML.AUTO) {return this.autoDefault(name)} + if (this.defaults[name] !== MML.INHERIT && this.defaults[name] != null) + {return this.defaults[name]} + if (root) {return root.defaults[name]} + } + return null; + }, + hasValue: function (name) {return (this.Get(name,true) != null)}, + getValues: function () { + var values = {}; + for (var i = 0, m = arguments.length; i < m; i++) + {values[arguments[i]] = this.Get(arguments[i])} + return values; + }, + adjustChild_scriptlevel: function (i,nodef) {return this.Get("scriptlevel",nodef)}, // always inherit from parent + adjustChild_displaystyle: function (i,nodef) {return this.Get("displaystyle",nodef)}, // always inherit from parent + adjustChild_texprimestyle: function (i,nodef) {return this.Get("texprimestyle",nodef)}, // always inherit from parent + hasMMLspacing: function () {return false}, + childPosition: function () { + var child = this, parent = child.parent; + while (parent.notParent) {child = parent; parent = child.parent} + for (var i = 0, m = parent.data.length; i < m; i++) {if (parent.data[i] === child) {return i}} + return null; + }, + setInherit: function (obj) { + if (obj !== this.inherit && this.inherit == null) { + this.inherit = obj; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] && this.data[i].setInherit) {this.data[i].setInherit(obj)} + } + } + }, + setTeXclass: function (prev) { + this.getPrevClass(prev); + return (typeof(this.texClass) !== "undefined" ? this : prev); + }, + getPrevClass: function (prev) { + if (prev) { + this.prevClass = prev.Get("texClass"); + this.prevLevel = prev.Get("scriptlevel"); + } + }, + updateTeXclass: function (core) { + if (core) { + this.prevClass = core.prevClass; delete core.prevClass; + this.prevLevel = core.prevLevel; delete core.prevLevel; + this.texClass = core.Get("texClass"); + } + }, + texSpacing: function () { + var prev = (this.prevClass != null ? this.prevClass : MML.TEXCLASS.NONE); + var tex = (this.Get("texClass") || MML.TEXCLASS.ORD); + if (prev === MML.TEXCLASS.NONE || tex === MML.TEXCLASS.NONE) {return ""} + if (prev === MML.TEXCLASS.VCENTER) {prev = MML.TEXCLASS.ORD} + if (tex === MML.TEXCLASS.VCENTER) {tex = MML.TEXCLASS.ORD} + var space = this.TEXSPACE[prev][tex]; + if ((this.prevLevel > 0 || this.Get("scriptlevel") > 0) && space >= 0) {return ""} + return this.TEXSPACELENGTH[Math.abs(space)]; + }, + TEXSPACELENGTH:[ + "", + MML.LENGTH.THINMATHSPACE, + MML.LENGTH.MEDIUMMATHSPACE, + MML.LENGTH.THICKMATHSPACE + ], + // See TeXBook Chapter 18 (p. 170) + TEXSPACE: [ + [ 0,-1, 2, 3, 0, 0, 0, 1], // ORD + [-1,-1, 0, 3, 0, 0, 0, 1], // OP + [ 2, 2, 0, 0, 2, 0, 0, 2], // BIN + [ 3, 3, 0, 0, 3, 0, 0, 3], // REL + [ 0, 0, 0, 0, 0, 0, 0, 0], // OPEN + [ 0,-1, 2, 3, 0, 0, 0, 1], // CLOSE + [ 1, 1, 0, 1, 1, 1, 1, 1], // PUNCT + [ 1,-1, 2, 3, 1, 0, 1, 1] // INNER + ], + autoDefault: function (name) {return ""}, + isSpacelike: function () {return false}, + isEmbellished: function () {return false}, + Core: function () {return this}, + CoreMO: function () {return this}, + childIndex: function(child) { + if (child == null) return; + for (var i = 0, m = this.data.length; i < m; i++) if (child === this.data[i]) return i; + }, + CoreIndex: function () { + return (this.inferRow ? this.data[0]||this : this).childIndex(this.Core()); + }, + hasNewline: function () { + if (this.isEmbellished()) {return this.CoreMO().hasNewline()} + if (this.isToken || this.linebreakContainer) {return false} + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] && this.data[i].hasNewline()) {return true} + } + return false; + }, + array: function () {if (this.inferred) {return this.data} else {return [this]}}, + toString: function () {return this.type+"("+this.data.join(",")+")"}, + getAnnotation: function () {return null} + },{ + childrenSpacelike: function () { + for (var i = 0, m = this.data.length; i < m; i++) + {if (!this.data[i].isSpacelike()) {return false}} + return true; + }, + childEmbellished: function () { + return (this.data[0] && this.data[0].isEmbellished()); + }, + childCore: function () {return (this.inferRow && this.data[0] ? this.data[0].Core() : this.data[0])}, + childCoreMO: function () {return (this.data[0] ? this.data[0].CoreMO() : null)}, + setChildTeXclass: function (prev) { + if (this.data[0]) { + prev = this.data[0].setTeXclass(prev); + this.updateTeXclass(this.data[0]); + } + return prev; + }, + setBaseTeXclasses: function (prev) { + this.getPrevClass(prev); this.texClass = null; + if (this.data[0]) { + if (this.isEmbellished() || this.data[0].isa(MML.mi)) { + prev = this.data[0].setTeXclass(prev); + this.updateTeXclass(this.Core()); + } else {this.data[0].setTeXclass(); prev = this} + } else {prev = this} + for (var i = 1, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].setTeXclass()}} + return prev; + }, + setSeparateTeXclasses: function (prev) { + this.getPrevClass(prev); + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].setTeXclass()}} + if (this.isEmbellished()) {this.updateTeXclass(this.Core())} + return this; + } + }); + + MML.mi = MML.mbase.Subclass({ + type: "mi", isToken: true, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.AUTO, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT + }, + autoDefault: function (name) { + if (name === "mathvariant") { + var mi = (this.data[0]||"").toString(); + return (mi.length === 1 || + (mi.length === 2 && mi.charCodeAt(0) >= 0xD800 && mi.charCodeAt(0) < 0xDC00) ? + MML.VARIANT.ITALIC : MML.VARIANT.NORMAL); + } + return ""; + }, + setTeXclass: function (prev) { + this.getPrevClass(prev); + var name = this.data.join(""); + if (name.length > 1 && name.match(/^[a-z][a-z0-9]*$/i) && + this.texClass === MML.TEXCLASS.ORD) { + this.texClass = MML.TEXCLASS.OP; + this.autoOP = true; + } + return this; + } + }); + + MML.mn = MML.mbase.Subclass({ + type: "mn", isToken: true, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT + } + }); + + MML.mo = MML.mbase.Subclass({ + type: "mo", isToken: true, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT, + form: MML.AUTO, + fence: MML.AUTO, + separator: MML.AUTO, + lspace: MML.AUTO, + rspace: MML.AUTO, + stretchy: MML.AUTO, + symmetric: MML.AUTO, + maxsize: MML.AUTO, + minsize: MML.AUTO, + largeop: MML.AUTO, + movablelimits: MML.AUTO, + accent: MML.AUTO, + linebreak: MML.LINEBREAK.AUTO, + lineleading: MML.INHERIT, + linebreakstyle: MML.AUTO, + linebreakmultchar: MML.INHERIT, + indentalign: MML.INHERIT, + indentshift: MML.INHERIT, + indenttarget: MML.INHERIT, + indentalignfirst: MML.INHERIT, + indentshiftfirst: MML.INHERIT, + indentalignlast: MML.INHERIT, + indentshiftlast: MML.INHERIT, + texClass: MML.AUTO + }, + defaultDef: { + form: MML.FORM.INFIX, + fence: false, + separator: false, + lspace: MML.LENGTH.THICKMATHSPACE, + rspace: MML.LENGTH.THICKMATHSPACE, + stretchy: false, + symmetric: false, + maxsize: MML.SIZE.INFINITY, + minsize: '0em', //'1em', + largeop: false, + movablelimits: false, + accent: false, + linebreak: MML.LINEBREAK.AUTO, + lineleading: "1ex", + linebreakstyle: "before", + indentalign: MML.INDENTALIGN.AUTO, + indentshift: "0", + indenttarget: "", + indentalignfirst: MML.INDENTALIGN.INDENTALIGN, + indentshiftfirst: MML.INDENTSHIFT.INDENTSHIFT, + indentalignlast: MML.INDENTALIGN.INDENTALIGN, + indentshiftlast: MML.INDENTSHIFT.INDENTSHIFT, + texClass: MML.TEXCLASS.REL // for MML, but TeX sets ORD explicitly + }, + SPACE_ATTR: {lspace: 0x01, rspace: 0x02}, + useMMLspacing: 0x03, + hasMMLspacing: function () { + if (this.useMMLspacing) return true; + return this.form && (this.OPTABLE[this.form]||{})[this.data.join('')]; + }, + autoDefault: function (name,nodefault) { + var def = this.def; + if (!def) { + if (name === "form") {return this.getForm()} + var mo = this.data.join(""); + var forms = [this.Get("form"),MML.FORM.INFIX,MML.FORM.POSTFIX,MML.FORM.PREFIX]; + for (var i = 0, m = forms.length; i < m; i++) { + var data = this.OPTABLE[forms[i]][mo]; + if (data) {def = this.makeDef(data); break} + } + if (!def) {def = this.CheckRange(mo)} + if (!def && nodefault) {def = {}} else { + if (!def) {def = MathJax.Hub.Insert({},this.defaultDef)} + if (this.parent) {this.def = def} else {def = MathJax.Hub.Insert({},def)} + def.form = forms[0]; + } + } + this.useMMLspacing &= ~(this.SPACE_ATTR[name] || 0); + if (def[name] != null) {return def[name]} + else if (!nodefault) {return this.defaultDef[name]} + return ""; + }, + CheckRange: function (mo) { + var n = mo.charCodeAt(0); + if (n >= 0xD800 && n < 0xDC00) {n = (((n-0xD800)<<10)+(mo.charCodeAt(1)-0xDC00))+0x10000} + for (var i = 0, m = this.RANGES.length; i < m && this.RANGES[i][0] <= n; i++) { + if (n <= this.RANGES[i][1]) { + if (this.RANGES[i][3]) { + var file = MML.optableDir+"/"+this.RANGES[i][3]+".js"; + this.RANGES[i][3] = null; + MathJax.Hub.RestartAfter(MathJax.Ajax.Require(file)); + } + var data = MML.TEXCLASSNAMES[this.RANGES[i][2]]; + data = this.OPTABLE.infix[mo] = MML.mo.OPTYPES[data === "BIN" ? "BIN3" : data]; + return this.makeDef(data); + } + } + return null; + }, + makeDef: function (data) { + if (data[2] == null) {data[2] = this.defaultDef.texClass} + if (!data[3]) {data[3] = {}} + var def = MathJax.Hub.Insert({},data[3]); + def.lspace = this.SPACE[data[0]]; def.rspace = this.SPACE[data[1]]; + def.texClass = data[2]; + if (def.texClass === MML.TEXCLASS.REL && + (this.movablelimits || this.data.join("").match(/^[a-z]+$/i))) + {def.texClass = MML.TEXCLASS.OP} // mark named operators as OP + return def; + }, + getForm: function () { + var core = this, parent = this.parent, Parent = this.Parent(); + while (Parent && Parent.isEmbellished()) + {core = parent; parent = Parent.parent; Parent = Parent.Parent()} + if (parent && parent.type === "mrow" && parent.NonSpaceLength() !== 1) { + if (parent.FirstNonSpace() === core) {return MML.FORM.PREFIX} + if (parent.LastNonSpace() === core) {return MML.FORM.POSTFIX} + } + return MML.FORM.INFIX; + }, + isEmbellished: function () {return true}, + hasNewline: function () {return (this.Get("linebreak") === MML.LINEBREAK.NEWLINE)}, + CoreParent: function () { + var parent = this; + while (parent && parent.isEmbellished() && + parent.CoreMO() === this && !parent.isa(MML.math)) {parent = parent.Parent()} + return parent; + }, + CoreText: function (parent) { + if (!parent) {return ""} + if (parent.isEmbellished()) {return parent.CoreMO().data.join("")} + while ((((parent.isa(MML.mrow) || parent.isa(MML.TeXAtom) || + parent.isa(MML.mstyle) || parent.isa(MML.mphantom)) && + parent.data.length === 1) || parent.isa(MML.munderover)) && + parent.data[0]) {parent = parent.data[0]} + if (!parent.isToken) {return ""} else {return parent.data.join("")} + }, + remapChars: { + '*':"\u2217", + '"':"\u2033", + "\u00B0":"\u2218", + "\u00B2":"2", + "\u00B3":"3", + "\u00B4":"\u2032", + "\u00B9":"1" + }, + remap: function (text,map) { + text = text.replace(/-/g,"\u2212"); + if (map) { + text = text.replace(/'/g,"\u2032").replace(/`/g,"\u2035"); + if (text.length === 1) {text = map[text]||text} + } + return text; + }, + setTeXclass: function (prev) { + var values = this.getValues("form","lspace","rspace","fence"); // sets useMMLspacing + if (this.hasMMLspacing()) {this.texClass = MML.TEXCLASS.NONE; return this} + if (values.fence && !this.texClass) { + if (values.form === MML.FORM.PREFIX) {this.texClass = MML.TEXCLASS.OPEN} + if (values.form === MML.FORM.POSTFIX) {this.texClass = MML.TEXCLASS.CLOSE} + } + this.texClass = this.Get("texClass"); + if (this.data.join("") === "\u2061") { + // force previous node to be texClass OP, and skip this node + if (prev) {prev.texClass = MML.TEXCLASS.OP; prev.fnOP = true} + this.texClass = this.prevClass = MML.TEXCLASS.NONE; + return prev; + } + return this.adjustTeXclass(prev); + }, + adjustTeXclass: function (prev) { + if (this.texClass === MML.TEXCLASS.NONE) {return prev} + if (prev) { + if (prev.autoOP && (this.texClass === MML.TEXCLASS.BIN || + this.texClass === MML.TEXCLASS.REL)) + {prev.texClass = MML.TEXCLASS.ORD} + this.prevClass = prev.texClass || MML.TEXCLASS.ORD; + this.prevLevel = prev.Get("scriptlevel") + } else {this.prevClass = MML.TEXCLASS.NONE} + if (this.texClass === MML.TEXCLASS.BIN && + (this.prevClass === MML.TEXCLASS.NONE || + this.prevClass === MML.TEXCLASS.BIN || + this.prevClass === MML.TEXCLASS.OP || + this.prevClass === MML.TEXCLASS.REL || + this.prevClass === MML.TEXCLASS.OPEN || + this.prevClass === MML.TEXCLASS.PUNCT)) { + this.texClass = MML.TEXCLASS.ORD; + } else if (this.prevClass === MML.TEXCLASS.BIN && + (this.texClass === MML.TEXCLASS.REL || + this.texClass === MML.TEXCLASS.CLOSE || + this.texClass === MML.TEXCLASS.PUNCT)) { + prev.texClass = this.prevClass = MML.TEXCLASS.ORD; + } else if (this.texClass === MML.TEXCLASS.BIN) { + // + // Check if node is the last one in its container since the rule + // above only takes effect if there is a node that follows. + // + var child = this, parent = this.parent; + while (parent && parent.parent && parent.isEmbellished() && + (parent.data.length === 1 || + (parent.type !== "mrow" && parent.Core() === child))) // handles msubsup and munderover + {child = parent; parent = parent.parent} + if (parent.data[parent.data.length-1] === child) this.texClass = MML.TEXCLASS.ORD; + } + return this; + } + }); + + MML.mtext = MML.mbase.Subclass({ + type: "mtext", isToken: true, + isSpacelike: function () {return true}, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT + } + }); + + MML.mspace = MML.mbase.Subclass({ + type: "mspace", isToken: true, + isSpacelike: function () {return true}, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + width: "0em", + height: "0ex", + depth: "0ex", + linebreak: MML.LINEBREAK.AUTO + }, + hasDimAttr: function () { + return (this.hasValue("width") || this.hasValue("height") || + this.hasValue("depth")); + }, + hasNewline: function () { + // The MathML spec says that the linebreak attribute should be ignored + // if any dimensional attribute is set. + return (!this.hasDimAttr() && + this.Get("linebreak") === MML.LINEBREAK.NEWLINE); + } + }); + + MML.ms = MML.mbase.Subclass({ + type: "ms", isToken: true, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT, + lquote: '"', + rquote: '"' + } + }); + + MML.mglyph = MML.mbase.Subclass({ + type: "mglyph", isToken: true, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + alt: "", + src: "", + width: MML.AUTO, + height: MML.AUTO, + valign: "0em" + } + }); + + MML.mrow = MML.mbase.Subclass({ + type: "mrow", + isSpacelike: MML.mbase.childrenSpacelike, + inferred: false, notParent: false, + isEmbellished: function () { + var isEmbellished = false; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] == null) continue; + if (this.data[i].isEmbellished()) { + if (isEmbellished) {return false} + isEmbellished = true; this.core = i; + } else if (!this.data[i].isSpacelike()) {return false} + } + return isEmbellished; + }, + NonSpaceLength: function () { + var n = 0; + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i] && !this.data[i].isSpacelike()) {n++}} + return n; + }, + FirstNonSpace: function () { + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i] && !this.data[i].isSpacelike()) {return this.data[i]}} + return null; + }, + LastNonSpace: function () { + for (var i = this.data.length-1; i >= 0; i--) + {if (this.data[0] && !this.data[i].isSpacelike()) {return this.data[i]}} + return null; + }, + Core: function () { + if (!(this.isEmbellished()) || typeof(this.core) === "undefined") {return this} + return this.data[this.core]; + }, + CoreMO: function () { + if (!(this.isEmbellished()) || typeof(this.core) === "undefined") {return this} + return this.data[this.core].CoreMO(); + }, + toString: function () { + if (this.inferred) {return '[' + this.data.join(',') + ']'} + return this.SUPER(arguments).toString.call(this); + }, + setTeXclass: function (prev) { + var i, m = this.data.length; + if ((this.open || this.close) && (!prev || !prev.fnOP)) { + // + // came from \left...\right + // so treat as subexpression (tex class INNER) + // + this.getPrevClass(prev); prev = null; + for (i = 0; i < m; i++) + {if (this.data[i]) {prev = this.data[i].setTeXclass(prev)}} + if (!this.hasOwnProperty("texClass")) this.texClass = MML.TEXCLASS.INNER; + return this; + } else { + // + // Normal , so treat as + // thorugh mrow is not there + // + for (i = 0; i < m; i++) + {if (this.data[i]) {prev = this.data[i].setTeXclass(prev)}} + if (this.data[0]) {this.updateTeXclass(this.data[0])} + return prev; + } + }, + getAnnotation: function (name) { + if (this.data.length != 1) return null; + return this.data[0].getAnnotation(name); + } + }); + + MML.mfrac = MML.mbase.Subclass({ + type: "mfrac", num: 0, den: 1, + linebreakContainer: true, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + linethickness: MML.LINETHICKNESS.MEDIUM, + numalign: MML.ALIGN.CENTER, + denomalign: MML.ALIGN.CENTER, + bevelled: false + }, + adjustChild_displaystyle: function (n) {return false}, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + if (!this.Get("displaystyle") || level > 0) {level++} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n == this.den) {return true} + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.msqrt = MML.mbase.Subclass({ + type: "msqrt", + inferRow: true, + linebreakContainer: true, + texClass: MML.TEXCLASS.ORD, + setTeXclass: MML.mbase.setSeparateTeXclasses, + adjustChild_texprimestyle: function (n) {return true} + }); + + MML.mroot = MML.mbase.Subclass({ + type: "mroot", + linebreakContainer: true, + texClass: MML.TEXCLASS.ORD, + adjustChild_displaystyle: function (n) { + if (n === 1) {return false} + return this.Get("displaystyle"); + }, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + if (n === 1) {level += 2} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n === 0) {return true}; + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.mstyle = MML.mbase.Subclass({ + type: "mstyle", + isSpacelike: MML.mbase.childrenSpacelike, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + inferRow: true, + defaults: { + scriptlevel: MML.INHERIT, + displaystyle: MML.INHERIT, + scriptsizemultiplier: Math.sqrt(1/2), + scriptminsize: "8pt", + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + dir: MML.INHERIT, + infixlinebreakstyle: MML.LINEBREAKSTYLE.BEFORE, + decimalseparator: "." + }, + adjustChild_scriptlevel: function (n) { + var level = this.scriptlevel; + if (level == null) { + level = this.Get("scriptlevel"); + } else if (String(level).match(/^ *[-+]/)) { + var LEVEL = this.Get("scriptlevel",null,true); + level = LEVEL + parseInt(level); + } + return level; + }, + inheritFromMe: true, + noInherit: { + mpadded: {width: true, height: true, depth: true, lspace: true, voffset: true}, + mtable: {width: true, height: true, depth: true, align: true} + }, + getRemoved: {fontfamily:"fontFamily", fontweight:"fontWeight", fontstyle:"fontStyle", fontsize:"fontSize"}, + setTeXclass: MML.mbase.setChildTeXclass + }); + + MML.merror = MML.mbase.Subclass({ + type: "merror", + inferRow: true, + linebreakContainer: true, + texClass: MML.TEXCLASS.ORD + }); + + MML.mpadded = MML.mbase.Subclass({ + type: "mpadded", + inferRow: true, + isSpacelike: MML.mbase.childrenSpacelike, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + width: "", + height: "", + depth: "", + lspace: 0, + voffset: 0 + }, + setTeXclass: MML.mbase.setChildTeXclass + }); + + MML.mphantom = MML.mbase.Subclass({ + type: "mphantom", + texClass: MML.TEXCLASS.ORD, + inferRow: true, + isSpacelike: MML.mbase.childrenSpacelike, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + setTeXclass: MML.mbase.setChildTeXclass + }); + + MML.mfenced = MML.mbase.Subclass({ + type: "mfenced", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + open: '(', + close: ')', + separators: ',' + }, + addFakeNodes: function () { + var values = this.getValues("open","close","separators"); + values.open = values.open.replace(/[ \t\n\r]/g,""); + values.close = values.close.replace(/[ \t\n\r]/g,""); + values.separators = values.separators.replace(/[ \t\n\r]/g,""); + // + // Create a fake node for the open item + // + if (values.open !== "") { + this.SetData("open",MML.mo(values.open).With({ + fence:true, form:MML.FORM.PREFIX, texClass:MML.TEXCLASS.OPEN + })); + } + // + // Create fake nodes for the separators + // + if (values.separators !== "") { + while (values.separators.length < this.data.length) + {values.separators += values.separators.charAt(values.separators.length-1)} + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data[i]) + {this.SetData("sep"+i,MML.mo(values.separators.charAt(i-1)).With({separator:true}))} + } + } + // + // Create fake node for the close item + // + if (values.close !== "") { + this.SetData("close",MML.mo(values.close).With({ + fence:true, form:MML.FORM.POSTFIX, texClass:MML.TEXCLASS.CLOSE + })); + } + }, + texClass: MML.TEXCLASS.OPEN, + setTeXclass: function (prev) { + this.addFakeNodes(); + this.getPrevClass(prev); + if (this.data.open) {prev = this.data.open.setTeXclass(prev)} + if (this.data[0]) {prev = this.data[0].setTeXclass(prev)} + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data["sep"+i]) {prev = this.data["sep"+i].setTeXclass(prev)} + if (this.data[i]) {prev = this.data[i].setTeXclass(prev)} + } + if (this.data.close) {prev = this.data.close.setTeXclass(prev)} + this.updateTeXclass(this.data.open); + this.texClass = MML.TEXCLASS.INNER; + return prev; + } + }); + + MML.menclose = MML.mbase.Subclass({ + type: "menclose", + inferRow: true, + linebreakContainer: true, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + notation: MML.NOTATION.LONGDIV, + texClass: MML.TEXCLASS.ORD + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.msubsup = MML.mbase.Subclass({ + type: "msubsup", base: 0, sub: 1, sup: 2, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + subscriptshift: "", + superscriptshift: "", + texClass: MML.AUTO + }, + autoDefault: function (name) { + if (name === "texClass") + {return (this.isEmbellished() ? this.CoreMO().Get(name) : MML.TEXCLASS.ORD)} + return 0; + }, + adjustChild_displaystyle: function (n) { + if (n > 0) {return false} + return this.Get("displaystyle"); + }, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + if (n > 0) {level++} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n === this.sub) {return true} + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setBaseTeXclasses + }); + + MML.msub = MML.msubsup.Subclass({type: "msub"}); + MML.msup = MML.msubsup.Subclass({type: "msup", sub:2, sup:1}); + MML.mmultiscripts = MML.msubsup.Subclass({ + type: "mmultiscripts", + adjustChild_texprimestyle: function (n) { + if (n % 2 === 1) {return true} + return this.Get("texprimestyle"); + } + }); + MML.mprescripts = MML.mbase.Subclass({type: "mprescripts"}); + MML.none = MML.mbase.Subclass({type: "none"}); + + MML.munderover = MML.mbase.Subclass({ + type: "munderover", + base: 0, under: 1, over: 2, sub: 1, sup: 2, + ACCENTS: ["", "accentunder", "accent"], + linebreakContainer: true, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + accent: MML.AUTO, + accentunder: MML.AUTO, + align: MML.ALIGN.CENTER, + texClass: MML.AUTO, + subscriptshift: "", // when converted to msubsup by moveablelimits + superscriptshift: "" // when converted to msubsup by moveablelimits + }, + autoDefault: function (name) { + if (name === "texClass") + {return (this.isEmbellished() ? this.CoreMO().Get(name) : MML.TEXCLASS.ORD)} + if (name === "accent" && this.data[this.over]) {return this.data[this.over].CoreMO().Get("accent")} + if (name === "accentunder" && this.data[this.under]) {return this.data[this.under].CoreMO().Get("accent")} + return false; + }, + adjustChild_displaystyle: function (n) { + if (n > 0) {return false} + return this.Get("displaystyle"); + }, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + var force = (this.data[this.base] && !this.Get("displaystyle") && + this.data[this.base].CoreMO().Get("movablelimits")); + if (n == this.under && (force || !this.Get("accentunder"))) {level++} + if (n == this.over && (force || !this.Get("accent"))) {level++} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n === this.base && this.data[this.over]) {return true} + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setBaseTeXclasses + }); + + MML.munder = MML.munderover.Subclass({type: "munder"}); + MML.mover = MML.munderover.Subclass({ + type: "mover", over: 1, under: 2, sup: 1, sub: 2, + ACCENTS: ["", "accent", "accentunder"] + }); + + MML.mtable = MML.mbase.Subclass({ + type: "mtable", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + align: MML.ALIGN.AXIS, + rowalign: MML.ALIGN.BASELINE, + columnalign: MML.ALIGN.CENTER, + groupalign: "{left}", + alignmentscope: true, + columnwidth: MML.WIDTH.AUTO, + width: MML.WIDTH.AUTO, + rowspacing: "1ex", + columnspacing: ".8em", + rowlines: MML.LINES.NONE, + columnlines: MML.LINES.NONE, + frame: MML.LINES.NONE, + framespacing: "0.4em 0.5ex", + equalrows: false, + equalcolumns: false, + displaystyle: false, + side: MML.SIDE.RIGHT, + minlabelspacing: "0.8em", + texClass: MML.TEXCLASS.ORD, + useHeight: 1 + }, + adjustChild_displaystyle: function () { + return (this.displaystyle != null ? this.displaystyle : this.defaults.displaystyle); + }, + inheritFromMe: true, + noInherit: { + mover: {align: true}, + munder: {align: true}, + munderover: {align: true}, + mtable: { + align: true, rowalign: true, columnalign: true, groupalign: true, + alignmentscope: true, columnwidth: true, width: true, rowspacing: true, + columnspacing: true, rowlines: true, columnlines: true, frame: true, + framespacing: true, equalrows: true, equalcolumns: true, displaystyle: true, + side: true, minlabelspacing: true, texClass: true, useHeight: 1 + } + }, + linebreakContainer: true, + Append: function () { + for (var i = 0, m = arguments.length; i < m; i++) { + if (!((arguments[i] instanceof MML.mtr) || + (arguments[i] instanceof MML.mlabeledtr))) {arguments[i] = MML.mtr(arguments[i])} + } + this.SUPER(arguments).Append.apply(this,arguments); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.mtr = MML.mbase.Subclass({ + type: "mtr", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + rowalign: MML.INHERIT, + columnalign: MML.INHERIT, + groupalign: MML.INHERIT + }, + inheritFromMe: true, + noInherit: { + mrow: {rowalign: true, columnalign: true, groupalign: true}, + mtable: {rowalign: true, columnalign: true, groupalign: true} + }, + linebreakContainer: true, + Append: function () { + for (var i = 0, m = arguments.length; i < m; i++) { + if (!(arguments[i] instanceof MML.mtd)) {arguments[i] = MML.mtd(arguments[i])} + } + this.SUPER(arguments).Append.apply(this,arguments); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.mtd = MML.mbase.Subclass({ + type: "mtd", + inferRow: true, + linebreakContainer: true, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + rowspan: 1, + columnspan: 1, + rowalign: MML.INHERIT, + columnalign: MML.INHERIT, + groupalign: MML.INHERIT + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.maligngroup = MML.mbase.Subclass({ + type: "maligngroup", + isSpacelike: function () {return true}, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + groupalign: MML.INHERIT + }, + inheritFromMe: true, + noInherit: { + mrow: {groupalign: true}, + mtable: {groupalign: true} + } + }); + + MML.malignmark = MML.mbase.Subclass({ + type: "malignmark", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + edge: MML.SIDE.LEFT + }, + isSpacelike: function () {return true} + }); + + MML.mlabeledtr = MML.mtr.Subclass({ + type: "mlabeledtr" + }); + + MML.maction = MML.mbase.Subclass({ + type: "maction", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + actiontype: MML.ACTIONTYPE.TOGGLE, + selection: 1 + }, + selected: function () {return this.data[this.Get("selection")-1] || MML.NULL}, + isEmbellished: function () {return this.selected().isEmbellished()}, + isSpacelike: function () {return this.selected().isSpacelike()}, + Core: function () {return this.selected().Core()}, + CoreMO: function () {return this.selected().CoreMO()}, + setTeXclass: function (prev) { + if (this.Get("actiontype") === MML.ACTIONTYPE.TOOLTIP && this.data[1]) { + // Make sure tooltip has proper spacing when typeset (see issue #412) + this.data[1].setTeXclass(); + } + var selected = this.selected(); + prev = selected.setTeXclass(prev); + this.updateTeXclass(selected); + return prev; + } + }); + + MML.semantics = MML.mbase.Subclass({ + type: "semantics", notParent: true, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + definitionURL: null, + encoding: null + }, + setTeXclass: MML.mbase.setChildTeXclass, + getAnnotation: function (name) { + var encodingList = MathJax.Hub.config.MathMenu.semanticsAnnotations[name]; + if (encodingList) { + for (var i = 0, m = this.data.length; i < m; i++) { + var encoding = this.data[i].Get("encoding"); + if (encoding) { + for (var j = 0, n = encodingList.length; j < n; j++) { + if (encodingList[j] === encoding) return this.data[i]; + } + } + } + } + return null; + } + }); + MML.annotation = MML.mbase.Subclass({ + type: "annotation", isChars: true, + linebreakContainer: true, + defaults: { + definitionURL: null, + encoding: null, + cd: "mathmlkeys", + name: "", + src: null + } + }); + MML["annotation-xml"] = MML.mbase.Subclass({ + type: "annotation-xml", + linebreakContainer: true, + defaults: { + definitionURL: null, + encoding: null, + cd: "mathmlkeys", + name: "", + src: null + } + }); + + MML.math = MML.mstyle.Subclass({ + type: "math", + defaults: { + mathvariant: MML.VARIANT.NORMAL, + mathsize: MML.SIZE.NORMAL, + mathcolor: "", // should be "black", but allow it to inherit from surrounding text + mathbackground: MML.COLOR.TRANSPARENT, + dir: "ltr", + scriptlevel: 0, + displaystyle: MML.AUTO, + display: "inline", + maxwidth: "", + overflow: MML.OVERFLOW.LINEBREAK, + altimg: "", + 'altimg-width': "", + 'altimg-height': "", + 'altimg-valign': "", + alttext: "", + cdgroup: "", + scriptsizemultiplier: Math.sqrt(1/2), + scriptminsize: "8px", // should be 8pt, but that's too big + infixlinebreakstyle: MML.LINEBREAKSTYLE.BEFORE, + lineleading: "1ex", + indentshift: "auto", // use user configuration + indentalign: MML.INDENTALIGN.AUTO, + indentalignfirst: MML.INDENTALIGN.INDENTALIGN, + indentshiftfirst: MML.INDENTSHIFT.INDENTSHIFT, + indentalignlast: MML.INDENTALIGN.INDENTALIGN, + indentshiftlast: MML.INDENTSHIFT.INDENTSHIFT, + decimalseparator: ".", + texprimestyle: false // is it in TeX's C' style? + }, + autoDefault: function (name) { + if (name === "displaystyle") {return this.Get("display") === "block"} + return ""; + }, + linebreakContainer: true, + setTeXclass: MML.mbase.setChildTeXclass, + getAnnotation: function (name) { + if (this.data.length != 1) return null; + return this.data[0].getAnnotation(name); + } + }); + + MML.chars = MML.mbase.Subclass({ + type: "chars", + Append: function () {this.data.push.apply(this.data,arguments)}, + value: function () {return this.data.join("")}, + toString: function () {return this.data.join("")} + }); + + MML.entity = MML.mbase.Subclass({ + type: "entity", + Append: function () {this.data.push.apply(this.data,arguments)}, + value: function () { + if (this.data[0].substr(0,2) === "#x") {return parseInt(this.data[0].substr(2),16)} + else if (this.data[0].substr(0,1) === "#") {return parseInt(this.data[0].substr(1))} + else {return 0} // FIXME: look up named entities from table + }, + toString: function () { + var n = this.value(); + if (n <= 0xFFFF) {return String.fromCharCode(n)} + n -= 0x10000; + return String.fromCharCode((n>>10)+0xD800) + + String.fromCharCode((n&0x3FF)+0xDC00); + } + }); + + MML.xml = MML.mbase.Subclass({ + type: "xml", + Init: function () { + this.div = document.createElement("div"); + return this.SUPER(arguments).Init.apply(this,arguments); + }, + Append: function () { + for (var i = 0, m = arguments.length; i < m; i++) { + var node = this.Import(arguments[i]); + this.data.push(node); + this.div.appendChild(node); + } + }, + Import: function (node) { + if (document.importNode) {return document.importNode(node,true)} + // + // IE < 9 doesn't have importNode, so fake it. + // + var nNode, i, m; + if (node.nodeType === 1) { // ELEMENT_NODE + nNode = document.createElement(node.nodeName); + for (i = 0, m = node.attributes.length; i < m; i++) { + var attribute = node.attributes[i]; + if (attribute.specified && attribute.nodeValue != null && attribute.nodeValue != '') + {nNode.setAttribute(attribute.nodeName,attribute.nodeValue)} + if (attribute.nodeName === "style") {nNode.style.cssText = attribute.nodeValue} + } + if (node.className) {nNode.className = node.className} + } else if (node.nodeType === 3 || node.nodeType === 4) { // TEXT_NODE or CDATA_SECTION_NODE + nNode = document.createTextNode(node.nodeValue); + } else if (node.nodeType === 8) { // COMMENT_NODE + nNode = document.createComment(node.nodeValue); + } else { + return document.createTextNode(''); + } + for (i = 0, m = node.childNodes.length; i < m; i++) + {nNode.appendChild(this.Import(node.childNodes[i]))} + return nNode; + }, + value: function () {return this.div}, + toString: function () {return this.div.innerHTML} + }); + + MML.TeXAtom = MML.mbase.Subclass({ + type: "texatom", + linebreakContainer: true, + inferRow: true, notParent: true, + texClass: MML.TEXCLASS.ORD, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + isEmbellished: MML.mbase.childEmbellished, + setTeXclass: function (prev) { + this.data[0].setTeXclass(); + return this.adjustTeXclass(prev); + }, + adjustTeXclass: MML.mo.prototype.adjustTeXclass + }); + + MML.NULL = MML.mbase().With({type:"null"}); + + var TEXCLASS = MML.TEXCLASS; + + var MO = { + ORD: [0,0,TEXCLASS.ORD], + ORD11: [1,1,TEXCLASS.ORD], + ORD21: [2,1,TEXCLASS.ORD], + ORD02: [0,2,TEXCLASS.ORD], + ORD55: [5,5,TEXCLASS.ORD], + OP: [1,2,TEXCLASS.OP,{largeop: true, movablelimits: true, symmetric: true}], + OPFIXED: [1,2,TEXCLASS.OP,{largeop: true, movablelimits: true}], + INTEGRAL: [0,1,TEXCLASS.OP,{largeop: true, symmetric: true}], + INTEGRAL2: [1,2,TEXCLASS.OP,{largeop: true, symmetric: true}], + BIN3: [3,3,TEXCLASS.BIN], + BIN4: [4,4,TEXCLASS.BIN], + BIN01: [0,1,TEXCLASS.BIN], + BIN5: [5,5,TEXCLASS.BIN], + TALLBIN: [4,4,TEXCLASS.BIN,{stretchy: true}], + BINOP: [4,4,TEXCLASS.BIN,{largeop: true, movablelimits: true}], + REL: [5,5,TEXCLASS.REL], + REL1: [1,1,TEXCLASS.REL,{stretchy: true}], + REL4: [4,4,TEXCLASS.REL], + RELSTRETCH: [5,5,TEXCLASS.REL,{stretchy: true}], + RELACCENT: [5,5,TEXCLASS.REL,{accent: true}], + WIDEREL: [5,5,TEXCLASS.REL,{accent: true, stretchy: true}], + OPEN: [0,0,TEXCLASS.OPEN,{fence: true, stretchy: true, symmetric: true}], + CLOSE: [0,0,TEXCLASS.CLOSE,{fence: true, stretchy: true, symmetric: true}], + INNER: [0,0,TEXCLASS.INNER], + PUNCT: [0,3,TEXCLASS.PUNCT], + ACCENT: [0,0,TEXCLASS.ORD,{accent: true}], + WIDEACCENT: [0,0,TEXCLASS.ORD,{accent: true, stretchy: true}] + }; + + MML.mo.Augment({ + SPACE: [ + '0em', + '0.1111em', + '0.1667em', + '0.2222em', + '0.2667em', + '0.3333em' + ], + RANGES: [ + [0x20,0x7F,TEXCLASS.REL,"BasicLatin"], + [0xA0,0xFF,TEXCLASS.ORD,"Latin1Supplement"], + [0x100,0x17F,TEXCLASS.ORD], + [0x180,0x24F,TEXCLASS.ORD], + [0x2B0,0x2FF,TEXCLASS.ORD,"SpacingModLetters"], + [0x300,0x36F,TEXCLASS.ORD,"CombDiacritMarks"], + [0x370,0x3FF,TEXCLASS.ORD,"GreekAndCoptic"], + [0x1E00,0x1EFF,TEXCLASS.ORD], + [0x2000,0x206F,TEXCLASS.PUNCT,"GeneralPunctuation"], + [0x2070,0x209F,TEXCLASS.ORD], + [0x20A0,0x20CF,TEXCLASS.ORD], + [0x20D0,0x20FF,TEXCLASS.ORD,"CombDiactForSymbols"], + [0x2100,0x214F,TEXCLASS.ORD,"LetterlikeSymbols"], + [0x2150,0x218F,TEXCLASS.ORD], + [0x2190,0x21FF,TEXCLASS.REL,"Arrows"], + [0x2200,0x22FF,TEXCLASS.BIN,"MathOperators"], + [0x2300,0x23FF,TEXCLASS.ORD,"MiscTechnical"], + [0x2460,0x24FF,TEXCLASS.ORD], + [0x2500,0x259F,TEXCLASS.ORD], + [0x25A0,0x25FF,TEXCLASS.ORD,"GeometricShapes"], + [0x2700,0x27BF,TEXCLASS.ORD,"Dingbats"], + [0x27C0,0x27EF,TEXCLASS.ORD,"MiscMathSymbolsA"], + [0x27F0,0x27FF,TEXCLASS.REL,"SupplementalArrowsA"], + [0x2900,0x297F,TEXCLASS.REL,"SupplementalArrowsB"], + [0x2980,0x29FF,TEXCLASS.ORD,"MiscMathSymbolsB"], + [0x2A00,0x2AFF,TEXCLASS.BIN,"SuppMathOperators"], + [0x2B00,0x2BFF,TEXCLASS.ORD,"MiscSymbolsAndArrows"], + [0x1D400,0x1D7FF,TEXCLASS.ORD] + ], + OPTABLE: { + prefix: { + '\u2200': MO.ORD21, // for all + '\u2202': MO.ORD21, // partial differential + '\u2203': MO.ORD21, // there exists + '\u2207': MO.ORD21, // nabla + '\u220F': MO.OP, // n-ary product + '\u2210': MO.OP, // n-ary coproduct + '\u2211': MO.OP, // n-ary summation + '\u2212': MO.BIN01, // minus sign + '\u2213': MO.BIN01, // minus-or-plus sign + '\u221A': [1,1,TEXCLASS.ORD,{stretchy: true}], // square root + '\u2220': MO.ORD, // angle + '\u222B': MO.INTEGRAL, // integral + '\u222E': MO.INTEGRAL, // contour integral + '\u22C0': MO.OP, // n-ary logical and + '\u22C1': MO.OP, // n-ary logical or + '\u22C2': MO.OP, // n-ary intersection + '\u22C3': MO.OP, // n-ary union + '\u2308': MO.OPEN, // left ceiling + '\u230A': MO.OPEN, // left floor + '\u27E8': MO.OPEN, // mathematical left angle bracket + '\u27EE': MO.OPEN, // mathematical left flattened parenthesis + '\u2A00': MO.OP, // n-ary circled dot operator + '\u2A01': MO.OP, // n-ary circled plus operator + '\u2A02': MO.OP, // n-ary circled times operator + '\u2A04': MO.OP, // n-ary union operator with plus + '\u2A06': MO.OP, // n-ary square union operator + '\u00AC': MO.ORD21, // not sign + '\u00B1': MO.BIN01, // plus-minus sign + '(': MO.OPEN, // left parenthesis + '+': MO.BIN01, // plus sign + '-': MO.BIN01, // hyphen-minus + '[': MO.OPEN, // left square bracket + '{': MO.OPEN, // left curly bracket + '|': MO.OPEN // vertical line + }, + postfix: { + '!': [1,0,TEXCLASS.CLOSE], // exclamation mark + '&': MO.ORD, // ampersand + '\u2032': MO.ORD02, // prime + '\u203E': MO.WIDEACCENT, // overline + '\u2309': MO.CLOSE, // right ceiling + '\u230B': MO.CLOSE, // right floor + '\u23DE': MO.WIDEACCENT, // top curly bracket + '\u23DF': MO.WIDEACCENT, // bottom curly bracket + '\u266D': MO.ORD02, // music flat sign + '\u266E': MO.ORD02, // music natural sign + '\u266F': MO.ORD02, // music sharp sign + '\u27E9': MO.CLOSE, // mathematical right angle bracket + '\u27EF': MO.CLOSE, // mathematical right flattened parenthesis + '\u02C6': MO.WIDEACCENT, // modifier letter circumflex accent + '\u02C7': MO.WIDEACCENT, // caron + '\u02C9': MO.WIDEACCENT, // modifier letter macron + '\u02CA': MO.ACCENT, // modifier letter acute accent + '\u02CB': MO.ACCENT, // modifier letter grave accent + '\u02D8': MO.ACCENT, // breve + '\u02D9': MO.ACCENT, // dot above + '\u02DC': MO.WIDEACCENT, // small tilde + '\u0302': MO.WIDEACCENT, // combining circumflex accent + '\u00A8': MO.ACCENT, // diaeresis + '\u00AF': MO.WIDEACCENT, // macron + ')': MO.CLOSE, // right parenthesis + ']': MO.CLOSE, // right square bracket + '^': MO.WIDEACCENT, // circumflex accent + '_': MO.WIDEACCENT, // low line + '`': MO.ACCENT, // grave accent + '|': MO.CLOSE, // vertical line + '}': MO.CLOSE, // right curly bracket + '~': MO.WIDEACCENT // tilde + }, + infix: { + '': MO.ORD, // empty + '%': [3,3,TEXCLASS.ORD], // percent sign + '\u2022': MO.BIN4, // bullet + '\u2026': MO.INNER, // horizontal ellipsis + '\u2044': MO.TALLBIN, // fraction slash + '\u2061': MO.ORD, // function application + '\u2062': MO.ORD, // invisible times + '\u2063': [0,0,TEXCLASS.ORD,{linebreakstyle:"after", separator: true}], // invisible separator + '\u2064': MO.ORD, // invisible plus + '\u2190': MO.WIDEREL, // leftwards arrow + '\u2191': MO.RELSTRETCH, // upwards arrow + '\u2192': MO.WIDEREL, // rightwards arrow + '\u2193': MO.RELSTRETCH, // downwards arrow + '\u2194': MO.WIDEREL, // left right arrow + '\u2195': MO.RELSTRETCH, // up down arrow + '\u2196': MO.RELSTRETCH, // north west arrow + '\u2197': MO.RELSTRETCH, // north east arrow + '\u2198': MO.RELSTRETCH, // south east arrow + '\u2199': MO.RELSTRETCH, // south west arrow + '\u21A6': MO.WIDEREL, // rightwards arrow from bar + '\u21A9': MO.WIDEREL, // leftwards arrow with hook + '\u21AA': MO.WIDEREL, // rightwards arrow with hook + '\u21BC': MO.WIDEREL, // leftwards harpoon with barb upwards + '\u21BD': MO.WIDEREL, // leftwards harpoon with barb downwards + '\u21C0': MO.WIDEREL, // rightwards harpoon with barb upwards + '\u21C1': MO.WIDEREL, // rightwards harpoon with barb downwards + '\u21CC': MO.WIDEREL, // rightwards harpoon over leftwards harpoon + '\u21D0': MO.WIDEREL, // leftwards double arrow + '\u21D1': MO.RELSTRETCH, // upwards double arrow + '\u21D2': MO.WIDEREL, // rightwards double arrow + '\u21D3': MO.RELSTRETCH, // downwards double arrow + '\u21D4': MO.WIDEREL, // left right double arrow + '\u21D5': MO.RELSTRETCH, // up down double arrow + '\u2208': MO.REL, // element of + '\u2209': MO.REL, // not an element of + '\u220B': MO.REL, // contains as member + '\u2212': MO.BIN4, // minus sign + '\u2213': MO.BIN4, // minus-or-plus sign + '\u2215': MO.TALLBIN, // division slash + '\u2216': MO.BIN4, // set minus + '\u2217': MO.BIN4, // asterisk operator + '\u2218': MO.BIN4, // ring operator + '\u2219': MO.BIN4, // bullet operator + '\u221D': MO.REL, // proportional to + '\u2223': MO.REL, // divides + '\u2225': MO.REL, // parallel to + '\u2227': MO.BIN4, // logical and + '\u2228': MO.BIN4, // logical or + '\u2229': MO.BIN4, // intersection + '\u222A': MO.BIN4, // union + '\u223C': MO.REL, // tilde operator + '\u2240': MO.BIN4, // wreath product + '\u2243': MO.REL, // asymptotically equal to + '\u2245': MO.REL, // approximately equal to + '\u2248': MO.REL, // almost equal to + '\u224D': MO.REL, // equivalent to + '\u2250': MO.REL, // approaches the limit + '\u2260': MO.REL, // not equal to + '\u2261': MO.REL, // identical to + '\u2264': MO.REL, // less-than or equal to + '\u2265': MO.REL, // greater-than or equal to + '\u226A': MO.REL, // much less-than + '\u226B': MO.REL, // much greater-than + '\u227A': MO.REL, // precedes + '\u227B': MO.REL, // succeeds + '\u2282': MO.REL, // subset of + '\u2283': MO.REL, // superset of + '\u2286': MO.REL, // subset of or equal to + '\u2287': MO.REL, // superset of or equal to + '\u228E': MO.BIN4, // multiset union + '\u2291': MO.REL, // square image of or equal to + '\u2292': MO.REL, // square original of or equal to + '\u2293': MO.BIN4, // square cap + '\u2294': MO.BIN4, // square cup + '\u2295': MO.BIN4, // circled plus + '\u2296': MO.BIN4, // circled minus + '\u2297': MO.BIN4, // circled times + '\u2298': MO.BIN4, // circled division slash + '\u2299': MO.BIN4, // circled dot operator + '\u22A2': MO.REL, // right tack + '\u22A3': MO.REL, // left tack + '\u22A4': MO.ORD55, // down tack + '\u22A5': MO.REL, // up tack + '\u22A8': MO.REL, // true + '\u22C4': MO.BIN4, // diamond operator + '\u22C5': MO.BIN4, // dot operator + '\u22C6': MO.BIN4, // star operator + '\u22C8': MO.REL, // bowtie + '\u22EE': MO.ORD55, // vertical ellipsis + '\u22EF': MO.INNER, // midline horizontal ellipsis + '\u22F1': [5,5,TEXCLASS.INNER], // down right diagonal ellipsis + '\u25B3': MO.BIN4, // white up-pointing triangle + '\u25B5': MO.BIN4, // white up-pointing small triangle + '\u25B9': MO.BIN4, // white right-pointing small triangle + '\u25BD': MO.BIN4, // white down-pointing triangle + '\u25BF': MO.BIN4, // white down-pointing small triangle + '\u25C3': MO.BIN4, // white left-pointing small triangle + '\u2758': MO.REL, // light vertical bar + '\u27F5': MO.WIDEREL, // long leftwards arrow + '\u27F6': MO.WIDEREL, // long rightwards arrow + '\u27F7': MO.WIDEREL, // long left right arrow + '\u27F8': MO.WIDEREL, // long leftwards double arrow + '\u27F9': MO.WIDEREL, // long rightwards double arrow + '\u27FA': MO.WIDEREL, // long left right double arrow + '\u27FC': MO.WIDEREL, // long rightwards arrow from bar + '\u2A2F': MO.BIN4, // vector or cross product + '\u2A3F': MO.BIN4, // amalgamation or coproduct + '\u2AAF': MO.REL, // precedes above single-line equals sign + '\u2AB0': MO.REL, // succeeds above single-line equals sign + '\u00B1': MO.BIN4, // plus-minus sign + '\u00B7': MO.BIN4, // middle dot + '\u00D7': MO.BIN4, // multiplication sign + '\u00F7': MO.BIN4, // division sign + '*': MO.BIN3, // asterisk + '+': MO.BIN4, // plus sign + ',': [0,3,TEXCLASS.PUNCT,{linebreakstyle:"after", separator: true}], // comma + '-': MO.BIN4, // hyphen-minus + '.': [3,3,TEXCLASS.ORD], // full stop + '/': MO.ORD11, // solidus + ':': [1,2,TEXCLASS.REL], // colon + ';': [0,3,TEXCLASS.PUNCT,{linebreakstyle:"after", separator: true}], // semicolon + '<': MO.REL, // less-than sign + '=': MO.REL, // equals sign + '>': MO.REL, // greater-than sign + '?': [1,1,TEXCLASS.CLOSE], // question mark + '\\': MO.ORD, // reverse solidus + '^': MO.ORD11, // circumflex accent + '_': MO.ORD11, // low line + '|': [2,2,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}], // vertical line + '#': MO.ORD, // # + '$': MO.ORD, // $ + '\u002E': [0,3,TEXCLASS.PUNCT,{separator: true}], // \ldotp + '\u02B9': MO.ORD, // prime + '\u0300': MO.ACCENT, // \grave + '\u0301': MO.ACCENT, // \acute + '\u0303': MO.WIDEACCENT, // \tilde + '\u0304': MO.ACCENT, // \bar + '\u0306': MO.ACCENT, // \breve + '\u0307': MO.ACCENT, // \dot + '\u0308': MO.ACCENT, // \ddot + '\u030C': MO.ACCENT, // \check + '\u0332': MO.WIDEACCENT, // horizontal line + '\u0338': MO.REL4, // \not + '\u2015': [0,0,TEXCLASS.ORD,{stretchy: true}], // horizontal line + '\u2017': [0,0,TEXCLASS.ORD,{stretchy: true}], // horizontal line + '\u2020': MO.BIN3, // \dagger + '\u2021': MO.BIN3, // \ddagger + '\u20D7': MO.ACCENT, // \vec + '\u2111': MO.ORD, // \Im + '\u2113': MO.ORD, // \ell + '\u2118': MO.ORD, // \wp + '\u211C': MO.ORD, // \Re + '\u2205': MO.ORD, // \emptyset + '\u221E': MO.ORD, // \infty + '\u2305': MO.BIN3, // barwedge + '\u2306': MO.BIN3, // doublebarwedge + '\u2322': MO.REL4, // \frown + '\u2323': MO.REL4, // \smile + '\u2329': MO.OPEN, // langle + '\u232A': MO.CLOSE, // rangle + '\u23AA': MO.ORD, // \bracevert + '\u23AF': [0,0,TEXCLASS.ORD,{stretchy: true}], // \underline + '\u23B0': MO.OPEN, // \lmoustache + '\u23B1': MO.CLOSE, // \rmoustache + '\u2500': MO.ORD, // horizontal line + '\u25EF': MO.BIN3, // \bigcirc + '\u2660': MO.ORD, // \spadesuit + '\u2661': MO.ORD, // \heartsuit + '\u2662': MO.ORD, // \diamondsuit + '\u2663': MO.ORD, // \clubsuit + '\u3008': MO.OPEN, // langle + '\u3009': MO.CLOSE, // rangle + '\uFE37': MO.WIDEACCENT, // horizontal brace down + '\uFE38': MO.WIDEACCENT // horizontal brace up + } + } + },{ + OPTYPES: MO + }); + + // + // These are not in the W3C table, but FF works this way, + // and it makes sense, so add it here + // + var OPTABLE = MML.mo.prototype.OPTABLE; + OPTABLE.infix["^"] = MO.WIDEREL; + OPTABLE.infix["_"] = MO.WIDEREL; + OPTABLE.prefix["\u2223"] = MO.OPEN; + OPTABLE.prefix["\u2225"] = MO.OPEN; + OPTABLE.postfix["\u2223"] = MO.CLOSE; + OPTABLE.postfix["\u2225"] = MO.CLOSE; + +})(MathJax.ElementJax.mml); + +MathJax.ElementJax.mml.loadComplete("jax.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Arrows.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Arrows.js new file mode 100644 index 00000000..a2e89b9b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Arrows.js @@ -0,0 +1,122 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/Arrows.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u219A': MO.RELACCENT, // leftwards arrow with stroke + '\u219B': MO.RELACCENT, // rightwards arrow with stroke + '\u219C': MO.WIDEREL, // leftwards wave arrow + '\u219D': MO.WIDEREL, // rightwards wave arrow + '\u219E': MO.WIDEREL, // leftwards two headed arrow + '\u219F': MO.WIDEREL, // upwards two headed arrow + '\u21A0': MO.WIDEREL, // rightwards two headed arrow + '\u21A1': MO.RELSTRETCH, // downwards two headed arrow + '\u21A2': MO.WIDEREL, // leftwards arrow with tail + '\u21A3': MO.WIDEREL, // rightwards arrow with tail + '\u21A4': MO.WIDEREL, // leftwards arrow from bar + '\u21A5': MO.RELSTRETCH, // upwards arrow from bar + '\u21A7': MO.RELSTRETCH, // downwards arrow from bar + '\u21A8': MO.RELSTRETCH, // up down arrow with base + '\u21AB': MO.WIDEREL, // leftwards arrow with loop + '\u21AC': MO.WIDEREL, // rightwards arrow with loop + '\u21AD': MO.WIDEREL, // left right wave arrow + '\u21AE': MO.RELACCENT, // left right arrow with stroke + '\u21AF': MO.RELSTRETCH, // downwards zigzag arrow + '\u21B0': MO.RELSTRETCH, // upwards arrow with tip leftwards + '\u21B1': MO.RELSTRETCH, // upwards arrow with tip rightwards + '\u21B2': MO.RELSTRETCH, // downwards arrow with tip leftwards + '\u21B3': MO.RELSTRETCH, // downwards arrow with tip rightwards + '\u21B4': MO.RELSTRETCH, // rightwards arrow with corner downwards + '\u21B5': MO.RELSTRETCH, // downwards arrow with corner leftwards + '\u21B6': MO.RELACCENT, // anticlockwise top semicircle arrow + '\u21B7': MO.RELACCENT, // clockwise top semicircle arrow + '\u21B8': MO.REL, // north west arrow to long bar + '\u21B9': MO.WIDEREL, // leftwards arrow to bar over rightwards arrow to bar + '\u21BA': MO.REL, // anticlockwise open circle arrow + '\u21BB': MO.REL, // clockwise open circle arrow + '\u21BE': MO.RELSTRETCH, // upwards harpoon with barb rightwards + '\u21BF': MO.RELSTRETCH, // upwards harpoon with barb leftwards + '\u21C2': MO.RELSTRETCH, // downwards harpoon with barb rightwards + '\u21C3': MO.RELSTRETCH, // downwards harpoon with barb leftwards + '\u21C4': MO.WIDEREL, // rightwards arrow over leftwards arrow + '\u21C5': MO.RELSTRETCH, // upwards arrow leftwards of downwards arrow + '\u21C6': MO.WIDEREL, // leftwards arrow over rightwards arrow + '\u21C7': MO.WIDEREL, // leftwards paired arrows + '\u21C8': MO.RELSTRETCH, // upwards paired arrows + '\u21C9': MO.WIDEREL, // rightwards paired arrows + '\u21CA': MO.RELSTRETCH, // downwards paired arrows + '\u21CB': MO.WIDEREL, // leftwards harpoon over rightwards harpoon + '\u21CD': MO.RELACCENT, // leftwards double arrow with stroke + '\u21CE': MO.RELACCENT, // left right double arrow with stroke + '\u21CF': MO.RELACCENT, // rightwards double arrow with stroke + '\u21D6': MO.RELSTRETCH, // north west double arrow + '\u21D7': MO.RELSTRETCH, // north east double arrow + '\u21D8': MO.RELSTRETCH, // south east double arrow + '\u21D9': MO.RELSTRETCH, // south west double arrow + '\u21DA': MO.WIDEREL, // leftwards triple arrow + '\u21DB': MO.WIDEREL, // rightwards triple arrow + '\u21DC': MO.WIDEREL, // leftwards squiggle arrow + '\u21DD': MO.WIDEREL, // rightwards squiggle arrow + '\u21DE': MO.REL, // upwards arrow with double stroke + '\u21DF': MO.REL, // downwards arrow with double stroke + '\u21E0': MO.WIDEREL, // leftwards dashed arrow + '\u21E1': MO.RELSTRETCH, // upwards dashed arrow + '\u21E2': MO.WIDEREL, // rightwards dashed arrow + '\u21E3': MO.RELSTRETCH, // downwards dashed arrow + '\u21E4': MO.WIDEREL, // leftwards arrow to bar + '\u21E5': MO.WIDEREL, // rightwards arrow to bar + '\u21E6': MO.WIDEREL, // leftwards white arrow + '\u21E7': MO.RELSTRETCH, // upwards white arrow + '\u21E8': MO.WIDEREL, // rightwards white arrow + '\u21E9': MO.RELSTRETCH, // downwards white arrow + '\u21EA': MO.RELSTRETCH, // upwards white arrow from bar + '\u21EB': MO.RELSTRETCH, // upwards white arrow on pedestal + '\u21EC': MO.RELSTRETCH, // upwards white arrow on pedestal with horizontal bar + '\u21ED': MO.RELSTRETCH, // upwards white arrow on pedestal with vertical bar + '\u21EE': MO.RELSTRETCH, // upwards white double arrow + '\u21EF': MO.RELSTRETCH, // upwards white double arrow on pedestal + '\u21F0': MO.WIDEREL, // rightwards white arrow from wall + '\u21F1': MO.REL, // north west arrow to corner + '\u21F2': MO.REL, // south east arrow to corner + '\u21F3': MO.RELSTRETCH, // up down white arrow + '\u21F4': MO.RELACCENT, // right arrow with small circle + '\u21F5': MO.RELSTRETCH, // downwards arrow leftwards of upwards arrow + '\u21F6': MO.WIDEREL, // three rightwards arrows + '\u21F7': MO.RELACCENT, // leftwards arrow with vertical stroke + '\u21F8': MO.RELACCENT, // rightwards arrow with vertical stroke + '\u21F9': MO.RELACCENT, // left right arrow with vertical stroke + '\u21FA': MO.RELACCENT, // leftwards arrow with double vertical stroke + '\u21FB': MO.RELACCENT, // rightwards arrow with double vertical stroke + '\u21FC': MO.RELACCENT, // left right arrow with double vertical stroke + '\u21FD': MO.WIDEREL, // leftwards open-headed arrow + '\u21FE': MO.WIDEREL, // rightwards open-headed arrow + '\u21FF': MO.WIDEREL // left right open-headed arrow + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/Arrows.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/BasicLatin.js new file mode 100644 index 00000000..8b0d2c10 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/BasicLatin.js @@ -0,0 +1,65 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/BasicLatin.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '||': [0,0,TEXCLASS.BIN,{fence: true, stretchy: true, symmetric: true}], // multiple character operator: || + '|||': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}] // multiple character operator: ||| + }, + postfix: { + '!!': [1,0,TEXCLASS.BIN], // multiple character operator: !! + '\'': MO.ACCENT, // apostrophe + '++': [0,0,TEXCLASS.BIN], // multiple character operator: ++ + '--': [0,0,TEXCLASS.BIN], // multiple character operator: -- + '..': [0,0,TEXCLASS.BIN], // multiple character operator: .. + '...': MO.ORD, // multiple character operator: ... + '||': [0,0,TEXCLASS.BIN,{fence: true, stretchy: true, symmetric: true}], // multiple character operator: || + '|||': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}] // multiple character operator: ||| + }, + infix: { + '!=': MO.BIN4, // multiple character operator: != + '&&': MO.BIN4, // multiple character operator: && + '**': [1,1,TEXCLASS.BIN], // multiple character operator: ** + '*=': MO.BIN4, // multiple character operator: *= + '+=': MO.BIN4, // multiple character operator: += + '-=': MO.BIN4, // multiple character operator: -= + '->': MO.BIN5, // multiple character operator: -> + '//': [1,1,TEXCLASS.BIN], // multiple character operator: // + '/=': MO.BIN4, // multiple character operator: /= + ':=': MO.BIN4, // multiple character operator: := + '<=': MO.BIN5, // multiple character operator: <= + '<>': [1,1,TEXCLASS.BIN], // multiple character operator: <> + '==': MO.BIN4, // multiple character operator: == + '>=': MO.BIN5, // multiple character operator: >= + '@': MO.ORD11, // commercial at + '||': [2,2,TEXCLASS.BIN,{fence: true, stretchy: true, symmetric: true}], // multiple character operator: || + '|||': [2,2,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}] // multiple character operator: ||| + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/BasicLatin.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiacritMarks.js new file mode 100644 index 00000000..d4ae292c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiacritMarks.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/CombDiacritMarks.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u0311': MO.ACCENT // combining inverted breve + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/CombDiacritMarks.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiactForSymbols.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiactForSymbols.js new file mode 100644 index 00000000..ad6c8717 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/CombDiactForSymbols.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/CombDiactForSymbols.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u20DB': MO.ACCENT, // combining three dots above + '\u20DC': MO.ACCENT // combining four dots above + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/CombDiactForSymbols.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Dingbats.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Dingbats.js new file mode 100644 index 00000000..d396b8dc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Dingbats.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/Dingbats.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2772': MO.OPEN // light left tortoise shell bracket ornament + }, + postfix: { + '\u2773': MO.CLOSE // light right tortoise shell bracket ornament + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/Dingbats.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeneralPunctuation.js new file mode 100644 index 00000000..a762fc51 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeneralPunctuation.js @@ -0,0 +1,42 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/GeneralPunctuation.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2016': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // double vertical line + '\u2018': [0,0,TEXCLASS.OPEN,{fence: true}], // left single quotation mark + '\u201C': [0,0,TEXCLASS.OPEN,{fence: true}] // left double quotation mark + }, + postfix: { + '\u2016': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // double vertical line + '\u2019': [0,0,TEXCLASS.CLOSE,{fence: true}], // right single quotation mark + '\u201D': [0,0,TEXCLASS.CLOSE,{fence: true}] // right double quotation mark + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/GeneralPunctuation.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeometricShapes.js new file mode 100644 index 00000000..2eaf90e9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GeometricShapes.js @@ -0,0 +1,66 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/GeometricShapes.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u25A0': MO.BIN3, // black square + '\u25A1': MO.BIN3, // white square + '\u25AA': MO.BIN3, // black small square + '\u25AB': MO.BIN3, // white small square + '\u25AD': MO.BIN3, // white rectangle + '\u25AE': MO.BIN3, // black vertical rectangle + '\u25AF': MO.BIN3, // white vertical rectangle + '\u25B0': MO.BIN3, // black parallelogram + '\u25B1': MO.BIN3, // white parallelogram + '\u25B2': MO.BIN4, // black up-pointing triangle + '\u25B4': MO.BIN4, // black up-pointing small triangle + '\u25B6': MO.BIN4, // black right-pointing triangle + '\u25B7': MO.BIN4, // white right-pointing triangle + '\u25B8': MO.BIN4, // black right-pointing small triangle + '\u25BC': MO.BIN4, // black down-pointing triangle + '\u25BE': MO.BIN4, // black down-pointing small triangle + '\u25C0': MO.BIN4, // black left-pointing triangle + '\u25C1': MO.BIN4, // white left-pointing triangle + '\u25C2': MO.BIN4, // black left-pointing small triangle + '\u25C4': MO.BIN4, // black left-pointing pointer + '\u25C5': MO.BIN4, // white left-pointing pointer + '\u25C6': MO.BIN4, // black diamond + '\u25C7': MO.BIN4, // white diamond + '\u25C8': MO.BIN4, // white diamond containing black small diamond + '\u25C9': MO.BIN4, // fisheye + '\u25CC': MO.BIN4, // dotted circle + '\u25CD': MO.BIN4, // circle with vertical fill + '\u25CE': MO.BIN4, // bullseye + '\u25CF': MO.BIN4, // black circle + '\u25D6': MO.BIN4, // left half black circle + '\u25D7': MO.BIN4, // right half black circle + '\u25E6': MO.BIN4 // white bullet + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/GeometricShapes.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GreekAndCoptic.js new file mode 100644 index 00000000..a2fe5071 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/GreekAndCoptic.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/GreekAndCoptic.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u03F6': MO.REL // greek reversed lunate epsilon symbol + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/GreekAndCoptic.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Latin1Supplement.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Latin1Supplement.js new file mode 100644 index 00000000..e165175e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/Latin1Supplement.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/Latin1Supplement.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u00B0': MO.ORD, // degree sign + '\u00B4': MO.ACCENT, // acute accent + '\u00B8': MO.ACCENT // cedilla + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/Latin1Supplement.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/LetterlikeSymbols.js new file mode 100644 index 00000000..fc10e6c5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/LetterlikeSymbols.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/LetterlikeSymbols.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2145': MO.ORD21, // double-struck italic capital d + '\u2146': [2,0,TEXCLASS.ORD] // double-struck italic small d + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/LetterlikeSymbols.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MathOperators.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MathOperators.js new file mode 100644 index 00000000..10a96fde --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MathOperators.js @@ -0,0 +1,228 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MathOperators.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2204': MO.ORD21, // there does not exist + '\u221B': MO.ORD11, // cube root + '\u221C': MO.ORD11, // fourth root + '\u2221': MO.ORD, // measured angle + '\u2222': MO.ORD, // spherical angle + '\u222C': MO.INTEGRAL, // double integral + '\u222D': MO.INTEGRAL, // triple integral + '\u222F': MO.INTEGRAL, // surface integral + '\u2230': MO.INTEGRAL, // volume integral + '\u2231': MO.INTEGRAL, // clockwise integral + '\u2232': MO.INTEGRAL, // clockwise contour integral + '\u2233': MO.INTEGRAL // anticlockwise contour integral + }, + infix: { + '\u2201': [1,2,TEXCLASS.ORD], // complement + '\u2206': MO.BIN3, // increment + '\u220A': MO.REL, // small element of + '\u220C': MO.REL, // does not contain as member + '\u220D': MO.REL, // small contains as member + '\u220E': MO.BIN3, // end of proof + '\u2214': MO.BIN4, // dot plus + '\u221F': MO.REL, // right angle + '\u2224': MO.REL, // does not divide + '\u2226': MO.REL, // not parallel to + '\u2234': MO.REL, // therefore + '\u2235': MO.REL, // because + '\u2236': MO.REL, // ratio + '\u2237': MO.REL, // proportion + '\u2238': MO.BIN4, // dot minus + '\u2239': MO.REL, // excess + '\u223A': MO.BIN4, // geometric proportion + '\u223B': MO.REL, // homothetic + '\u223D': MO.REL, // reversed tilde + '\u223D\u0331': MO.BIN3, // reversed tilde with underline + '\u223E': MO.REL, // inverted lazy s + '\u223F': MO.BIN3, // sine wave + '\u2241': MO.REL, // not tilde + '\u2242': MO.REL, // minus tilde + '\u2242\u0338': MO.REL, // minus tilde with slash + '\u2244': MO.REL, // not asymptotically equal to + '\u2246': MO.REL, // approximately but not actually equal to + '\u2247': MO.REL, // neither approximately nor actually equal to + '\u2249': MO.REL, // not almost equal to + '\u224A': MO.REL, // almost equal or equal to + '\u224B': MO.REL, // triple tilde + '\u224C': MO.REL, // all equal to + '\u224E': MO.REL, // geometrically equivalent to + '\u224E\u0338': MO.REL, // geometrically equivalent to with slash + '\u224F': MO.REL, // difference between + '\u224F\u0338': MO.REL, // difference between with slash + '\u2251': MO.REL, // geometrically equal to + '\u2252': MO.REL, // approximately equal to or the image of + '\u2253': MO.REL, // image of or approximately equal to + '\u2254': MO.REL, // colon equals + '\u2255': MO.REL, // equals colon + '\u2256': MO.REL, // ring in equal to + '\u2257': MO.REL, // ring equal to + '\u2258': MO.REL, // corresponds to + '\u2259': MO.REL, // estimates + '\u225A': MO.REL, // equiangular to + '\u225C': MO.REL, // delta equal to + '\u225D': MO.REL, // equal to by definition + '\u225E': MO.REL, // measured by + '\u225F': MO.REL, // questioned equal to + '\u2262': MO.REL, // not identical to + '\u2263': MO.REL, // strictly equivalent to + '\u2266': MO.REL, // less-than over equal to + '\u2266\u0338': MO.REL, // less-than over equal to with slash + '\u2267': MO.REL, // greater-than over equal to + '\u2268': MO.REL, // less-than but not equal to + '\u2269': MO.REL, // greater-than but not equal to + '\u226A\u0338': MO.REL, // much less than with slash + '\u226B\u0338': MO.REL, // much greater than with slash + '\u226C': MO.REL, // between + '\u226D': MO.REL, // not equivalent to + '\u226E': MO.REL, // not less-than + '\u226F': MO.REL, // not greater-than + '\u2270': MO.REL, // neither less-than nor equal to + '\u2271': MO.REL, // neither greater-than nor equal to + '\u2272': MO.REL, // less-than or equivalent to + '\u2273': MO.REL, // greater-than or equivalent to + '\u2274': MO.REL, // neither less-than nor equivalent to + '\u2275': MO.REL, // neither greater-than nor equivalent to + '\u2276': MO.REL, // less-than or greater-than + '\u2277': MO.REL, // greater-than or less-than + '\u2278': MO.REL, // neither less-than nor greater-than + '\u2279': MO.REL, // neither greater-than nor less-than + '\u227C': MO.REL, // precedes or equal to + '\u227D': MO.REL, // succeeds or equal to + '\u227E': MO.REL, // precedes or equivalent to + '\u227F': MO.REL, // succeeds or equivalent to + '\u227F\u0338': MO.REL, // succeeds or equivalent to with slash + '\u2280': MO.REL, // does not precede + '\u2281': MO.REL, // does not succeed + '\u2282\u20D2': MO.REL, // subset of with vertical line + '\u2283\u20D2': MO.REL, // superset of with vertical line + '\u2284': MO.REL, // not a subset of + '\u2285': MO.REL, // not a superset of + '\u2288': MO.REL, // neither a subset of nor equal to + '\u2289': MO.REL, // neither a superset of nor equal to + '\u228A': MO.REL, // subset of with not equal to + '\u228B': MO.REL, // superset of with not equal to + '\u228C': MO.BIN4, // multiset + '\u228D': MO.BIN4, // multiset multiplication + '\u228F': MO.REL, // square image of + '\u228F\u0338': MO.REL, // square image of with slash + '\u2290': MO.REL, // square original of + '\u2290\u0338': MO.REL, // square original of with slash + '\u229A': MO.BIN4, // circled ring operator + '\u229B': MO.BIN4, // circled asterisk operator + '\u229C': MO.BIN4, // circled equals + '\u229D': MO.BIN4, // circled dash + '\u229E': MO.BIN4, // squared plus + '\u229F': MO.BIN4, // squared minus + '\u22A0': MO.BIN4, // squared times + '\u22A1': MO.BIN4, // squared dot operator + '\u22A6': MO.REL, // assertion + '\u22A7': MO.REL, // models + '\u22A9': MO.REL, // forces + '\u22AA': MO.REL, // triple vertical bar right turnstile + '\u22AB': MO.REL, // double vertical bar double right turnstile + '\u22AC': MO.REL, // does not prove + '\u22AD': MO.REL, // not true + '\u22AE': MO.REL, // does not force + '\u22AF': MO.REL, // negated double vertical bar double right turnstile + '\u22B0': MO.REL, // precedes under relation + '\u22B1': MO.REL, // succeeds under relation + '\u22B2': MO.REL, // normal subgroup of + '\u22B3': MO.REL, // contains as normal subgroup + '\u22B4': MO.REL, // normal subgroup of or equal to + '\u22B5': MO.REL, // contains as normal subgroup or equal to + '\u22B6': MO.REL, // original of + '\u22B7': MO.REL, // image of + '\u22B8': MO.REL, // multimap + '\u22B9': MO.REL, // hermitian conjugate matrix + '\u22BA': MO.BIN4, // intercalate + '\u22BB': MO.BIN4, // xor + '\u22BC': MO.BIN4, // nand + '\u22BD': MO.BIN4, // nor + '\u22BE': MO.BIN3, // right angle with arc + '\u22BF': MO.BIN3, // right triangle + '\u22C7': MO.BIN4, // division times + '\u22C9': MO.BIN4, // left normal factor semidirect product + '\u22CA': MO.BIN4, // right normal factor semidirect product + '\u22CB': MO.BIN4, // left semidirect product + '\u22CC': MO.BIN4, // right semidirect product + '\u22CD': MO.REL, // reversed tilde equals + '\u22CE': MO.BIN4, // curly logical or + '\u22CF': MO.BIN4, // curly logical and + '\u22D0': MO.REL, // double subset + '\u22D1': MO.REL, // double superset + '\u22D2': MO.BIN4, // double intersection + '\u22D3': MO.BIN4, // double union + '\u22D4': MO.REL, // pitchfork + '\u22D5': MO.REL, // equal and parallel to + '\u22D6': MO.REL, // less-than with dot + '\u22D7': MO.REL, // greater-than with dot + '\u22D8': MO.REL, // very much less-than + '\u22D9': MO.REL, // very much greater-than + '\u22DA': MO.REL, // less-than equal to or greater-than + '\u22DB': MO.REL, // greater-than equal to or less-than + '\u22DC': MO.REL, // equal to or less-than + '\u22DD': MO.REL, // equal to or greater-than + '\u22DE': MO.REL, // equal to or precedes + '\u22DF': MO.REL, // equal to or succeeds + '\u22E0': MO.REL, // does not precede or equal + '\u22E1': MO.REL, // does not succeed or equal + '\u22E2': MO.REL, // not square image of or equal to + '\u22E3': MO.REL, // not square original of or equal to + '\u22E4': MO.REL, // square image of or not equal to + '\u22E5': MO.REL, // square original of or not equal to + '\u22E6': MO.REL, // less-than but not equivalent to + '\u22E7': MO.REL, // greater-than but not equivalent to + '\u22E8': MO.REL, // precedes but not equivalent to + '\u22E9': MO.REL, // succeeds but not equivalent to + '\u22EA': MO.REL, // not normal subgroup of + '\u22EB': MO.REL, // does not contain as normal subgroup + '\u22EC': MO.REL, // not normal subgroup of or equal to + '\u22ED': MO.REL, // does not contain as normal subgroup or equal + '\u22F0': MO.REL, // up right diagonal ellipsis + '\u22F2': MO.REL, // element of with long horizontal stroke + '\u22F3': MO.REL, // element of with vertical bar at end of horizontal stroke + '\u22F4': MO.REL, // small element of with vertical bar at end of horizontal stroke + '\u22F5': MO.REL, // element of with dot above + '\u22F6': MO.REL, // element of with overbar + '\u22F7': MO.REL, // small element of with overbar + '\u22F8': MO.REL, // element of with underbar + '\u22F9': MO.REL, // element of with two horizontal strokes + '\u22FA': MO.REL, // contains with long horizontal stroke + '\u22FB': MO.REL, // contains with vertical bar at end of horizontal stroke + '\u22FC': MO.REL, // small contains with vertical bar at end of horizontal stroke + '\u22FD': MO.REL, // contains with overbar + '\u22FE': MO.REL, // small contains with overbar + '\u22FF': MO.REL // z notation bag membership + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MathOperators.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsA.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsA.js new file mode 100644 index 00000000..3ffbe0b1 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsA.js @@ -0,0 +1,42 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MiscMathSymbolsA.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u27E6': MO.OPEN, // mathematical left white square bracket + '\u27EA': MO.OPEN, // mathematical left double angle bracket + '\u27EC': MO.OPEN // mathematical left white tortoise shell bracket + }, + postfix: { + '\u27E7': MO.CLOSE, // mathematical right white square bracket + '\u27EB': MO.CLOSE, // mathematical right double angle bracket + '\u27ED': MO.CLOSE // mathematical right white tortoise shell bracket + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MiscMathSymbolsA.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsB.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsB.js new file mode 100644 index 00000000..31dac9ab --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscMathSymbolsB.js @@ -0,0 +1,168 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MiscMathSymbolsB.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2980': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // triple vertical bar delimiter + '\u2983': MO.OPEN, // left white curly bracket + '\u2985': MO.OPEN, // left white parenthesis + '\u2987': MO.OPEN, // z notation left image bracket + '\u2989': MO.OPEN, // z notation left binding bracket + '\u298B': MO.OPEN, // left square bracket with underbar + '\u298D': MO.OPEN, // left square bracket with tick in top corner + '\u298F': MO.OPEN, // left square bracket with tick in bottom corner + '\u2991': MO.OPEN, // left angle bracket with dot + '\u2993': MO.OPEN, // left arc less-than bracket + '\u2995': MO.OPEN, // double left arc greater-than bracket + '\u2997': MO.OPEN, // left black tortoise shell bracket + '\u29FC': MO.OPEN // left-pointing curved angle bracket + }, + postfix: { + '\u2980': [0,0,TEXCLASS.ORD,{fence: true, stretchy: true}], // triple vertical bar delimiter + '\u2984': MO.CLOSE, // right white curly bracket + '\u2986': MO.CLOSE, // right white parenthesis + '\u2988': MO.CLOSE, // z notation right image bracket + '\u298A': MO.CLOSE, // z notation right binding bracket + '\u298C': MO.CLOSE, // right square bracket with underbar + '\u298E': MO.CLOSE, // right square bracket with tick in bottom corner + '\u2990': MO.CLOSE, // right square bracket with tick in top corner + '\u2992': MO.CLOSE, // right angle bracket with dot + '\u2994': MO.CLOSE, // right arc greater-than bracket + '\u2996': MO.CLOSE, // double right arc less-than bracket + '\u2998': MO.CLOSE, // right black tortoise shell bracket + '\u29FD': MO.CLOSE // right-pointing curved angle bracket + }, + infix: { + '\u2981': MO.BIN3, // z notation spot + '\u2982': MO.BIN3, // z notation type colon + '\u2999': MO.BIN3, // dotted fence + '\u299A': MO.BIN3, // vertical zigzag line + '\u299B': MO.BIN3, // measured angle opening left + '\u299C': MO.BIN3, // right angle variant with square + '\u299D': MO.BIN3, // measured right angle with dot + '\u299E': MO.BIN3, // angle with s inside + '\u299F': MO.BIN3, // acute angle + '\u29A0': MO.BIN3, // spherical angle opening left + '\u29A1': MO.BIN3, // spherical angle opening up + '\u29A2': MO.BIN3, // turned angle + '\u29A3': MO.BIN3, // reversed angle + '\u29A4': MO.BIN3, // angle with underbar + '\u29A5': MO.BIN3, // reversed angle with underbar + '\u29A6': MO.BIN3, // oblique angle opening up + '\u29A7': MO.BIN3, // oblique angle opening down + '\u29A8': MO.BIN3, // measured angle with open arm ending in arrow pointing up and right + '\u29A9': MO.BIN3, // measured angle with open arm ending in arrow pointing up and left + '\u29AA': MO.BIN3, // measured angle with open arm ending in arrow pointing down and right + '\u29AB': MO.BIN3, // measured angle with open arm ending in arrow pointing down and left + '\u29AC': MO.BIN3, // measured angle with open arm ending in arrow pointing right and up + '\u29AD': MO.BIN3, // measured angle with open arm ending in arrow pointing left and up + '\u29AE': MO.BIN3, // measured angle with open arm ending in arrow pointing right and down + '\u29AF': MO.BIN3, // measured angle with open arm ending in arrow pointing left and down + '\u29B0': MO.BIN3, // reversed empty set + '\u29B1': MO.BIN3, // empty set with overbar + '\u29B2': MO.BIN3, // empty set with small circle above + '\u29B3': MO.BIN3, // empty set with right arrow above + '\u29B4': MO.BIN3, // empty set with left arrow above + '\u29B5': MO.BIN3, // circle with horizontal bar + '\u29B6': MO.BIN4, // circled vertical bar + '\u29B7': MO.BIN4, // circled parallel + '\u29B8': MO.BIN4, // circled reverse solidus + '\u29B9': MO.BIN4, // circled perpendicular + '\u29BA': MO.BIN4, // circle divided by horizontal bar and top half divided by vertical bar + '\u29BB': MO.BIN4, // circle with superimposed x + '\u29BC': MO.BIN4, // circled anticlockwise-rotated division sign + '\u29BD': MO.BIN4, // up arrow through circle + '\u29BE': MO.BIN4, // circled white bullet + '\u29BF': MO.BIN4, // circled bullet + '\u29C0': MO.REL, // circled less-than + '\u29C1': MO.REL, // circled greater-than + '\u29C2': MO.BIN3, // circle with small circle to the right + '\u29C3': MO.BIN3, // circle with two horizontal strokes to the right + '\u29C4': MO.BIN4, // squared rising diagonal slash + '\u29C5': MO.BIN4, // squared falling diagonal slash + '\u29C6': MO.BIN4, // squared asterisk + '\u29C7': MO.BIN4, // squared small circle + '\u29C8': MO.BIN4, // squared square + '\u29C9': MO.BIN3, // two joined squares + '\u29CA': MO.BIN3, // triangle with dot above + '\u29CB': MO.BIN3, // triangle with underbar + '\u29CC': MO.BIN3, // s in triangle + '\u29CD': MO.BIN3, // triangle with serifs at bottom + '\u29CE': MO.REL, // right triangle above left triangle + '\u29CF': MO.REL, // left triangle beside vertical bar + '\u29CF\u0338': MO.REL, // left triangle beside vertical bar with slash + '\u29D0': MO.REL, // vertical bar beside right triangle + '\u29D0\u0338': MO.REL, // vertical bar beside right triangle with slash + '\u29D1': MO.REL, // bowtie with left half black + '\u29D2': MO.REL, // bowtie with right half black + '\u29D3': MO.REL, // black bowtie + '\u29D4': MO.REL, // times with left half black + '\u29D5': MO.REL, // times with right half black + '\u29D6': MO.BIN4, // white hourglass + '\u29D7': MO.BIN4, // black hourglass + '\u29D8': MO.BIN3, // left wiggly fence + '\u29D9': MO.BIN3, // right wiggly fence + '\u29DB': MO.BIN3, // right double wiggly fence + '\u29DC': MO.BIN3, // incomplete infinity + '\u29DD': MO.BIN3, // tie over infinity + '\u29DE': MO.REL, // infinity negated with vertical bar + '\u29DF': MO.BIN3, // double-ended multimap + '\u29E0': MO.BIN3, // square with contoured outline + '\u29E1': MO.REL, // increases as + '\u29E2': MO.BIN4, // shuffle product + '\u29E3': MO.REL, // equals sign and slanted parallel + '\u29E4': MO.REL, // equals sign and slanted parallel with tilde above + '\u29E5': MO.REL, // identical to and slanted parallel + '\u29E6': MO.REL, // gleich stark + '\u29E7': MO.BIN3, // thermodynamic + '\u29E8': MO.BIN3, // down-pointing triangle with left half black + '\u29E9': MO.BIN3, // down-pointing triangle with right half black + '\u29EA': MO.BIN3, // black diamond with down arrow + '\u29EB': MO.BIN3, // black lozenge + '\u29EC': MO.BIN3, // white circle with down arrow + '\u29ED': MO.BIN3, // black circle with down arrow + '\u29EE': MO.BIN3, // error-barred white square + '\u29EF': MO.BIN3, // error-barred black square + '\u29F0': MO.BIN3, // error-barred white diamond + '\u29F1': MO.BIN3, // error-barred black diamond + '\u29F2': MO.BIN3, // error-barred white circle + '\u29F3': MO.BIN3, // error-barred black circle + '\u29F4': MO.REL, // rule-delayed + '\u29F5': MO.BIN4, // reverse solidus operator + '\u29F6': MO.BIN4, // solidus with overbar + '\u29F7': MO.BIN4, // reverse solidus with horizontal stroke + '\u29F8': MO.BIN3, // big solidus + '\u29F9': MO.BIN3, // big reverse solidus + '\u29FA': MO.BIN3, // double plus + '\u29FB': MO.BIN3, // triple plus + '\u29FE': MO.BIN4, // tiny + '\u29FF': MO.BIN4 // miny + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MiscMathSymbolsB.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscSymbolsAndArrows.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscSymbolsAndArrows.js new file mode 100644 index 00000000..beb7a1d4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscSymbolsAndArrows.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MiscSymbolsAndArrows.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u2B45': MO.RELSTRETCH, // leftwards quadruple arrow + '\u2B46': MO.RELSTRETCH // rightwards quadruple arrow + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MiscSymbolsAndArrows.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscTechnical.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscTechnical.js new file mode 100644 index 00000000..ab1c7e2a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/MiscTechnical.js @@ -0,0 +1,40 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MiscTechnical.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u23B4': MO.WIDEACCENT, // top square bracket + '\u23B5': MO.WIDEACCENT, // bottom square bracket + '\u23DC': MO.WIDEACCENT, // top parenthesis + '\u23DD': MO.WIDEACCENT, // bottom parenthesis + '\u23E0': MO.WIDEACCENT, // top tortoise shell bracket + '\u23E1': MO.WIDEACCENT // bottom tortoise shell bracket + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MiscTechnical.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SpacingModLetters.js new file mode 100644 index 00000000..33d1b5ef --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SpacingModLetters.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/SpacingModLetters.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u02CD': MO.WIDEACCENT, // modifier letter low macron + '\u02DA': MO.ACCENT, // ring above + '\u02DD': MO.ACCENT, // double acute accent + '\u02F7': MO.WIDEACCENT // modifier letter low tilde + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/SpacingModLetters.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SuppMathOperators.js new file mode 100644 index 00000000..d11e3a09 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SuppMathOperators.js @@ -0,0 +1,289 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/SuppMathOperators.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2A03': MO.OP, // n-ary union operator with dot + '\u2A05': MO.OP, // n-ary square intersection operator + '\u2A07': MO.OP, // two logical and operator + '\u2A08': MO.OP, // two logical or operator + '\u2A09': MO.OP, // n-ary times operator + '\u2A0A': MO.OP, // modulo two sum + '\u2A0B': MO.INTEGRAL2, // summation with integral + '\u2A0C': MO.INTEGRAL, // quadruple integral operator + '\u2A0D': MO.INTEGRAL2, // finite part integral + '\u2A0E': MO.INTEGRAL2, // integral with double stroke + '\u2A0F': MO.INTEGRAL2, // integral average with slash + '\u2A10': MO.OP, // circulation function + '\u2A11': MO.OP, // anticlockwise integration + '\u2A12': MO.OP, // line integration with rectangular path around pole + '\u2A13': MO.OP, // line integration with semicircular path around pole + '\u2A14': MO.OP, // line integration not including the pole + '\u2A15': MO.INTEGRAL2, // integral around a point operator + '\u2A16': MO.INTEGRAL2, // quaternion integral operator + '\u2A17': MO.INTEGRAL2, // integral with leftwards arrow with hook + '\u2A18': MO.INTEGRAL2, // integral with times sign + '\u2A19': MO.INTEGRAL2, // integral with intersection + '\u2A1A': MO.INTEGRAL2, // integral with union + '\u2A1B': MO.INTEGRAL2, // integral with overbar + '\u2A1C': MO.INTEGRAL2, // integral with underbar + '\u2AFC': MO.OP, // large triple vertical bar operator + '\u2AFF': MO.OP // n-ary white vertical bar + }, + infix: { + '\u2A1D': MO.BIN3, // join + '\u2A1E': MO.BIN3, // large left triangle operator + '\u2A1F': MO.BIN3, // z notation schema composition + '\u2A20': MO.BIN3, // z notation schema piping + '\u2A21': MO.BIN3, // z notation schema projection + '\u2A22': MO.BIN4, // plus sign with small circle above + '\u2A23': MO.BIN4, // plus sign with circumflex accent above + '\u2A24': MO.BIN4, // plus sign with tilde above + '\u2A25': MO.BIN4, // plus sign with dot below + '\u2A26': MO.BIN4, // plus sign with tilde below + '\u2A27': MO.BIN4, // plus sign with subscript two + '\u2A28': MO.BIN4, // plus sign with black triangle + '\u2A29': MO.BIN4, // minus sign with comma above + '\u2A2A': MO.BIN4, // minus sign with dot below + '\u2A2B': MO.BIN4, // minus sign with falling dots + '\u2A2C': MO.BIN4, // minus sign with rising dots + '\u2A2D': MO.BIN4, // plus sign in left half circle + '\u2A2E': MO.BIN4, // plus sign in right half circle + '\u2A30': MO.BIN4, // multiplication sign with dot above + '\u2A31': MO.BIN4, // multiplication sign with underbar + '\u2A32': MO.BIN4, // semidirect product with bottom closed + '\u2A33': MO.BIN4, // smash product + '\u2A34': MO.BIN4, // multiplication sign in left half circle + '\u2A35': MO.BIN4, // multiplication sign in right half circle + '\u2A36': MO.BIN4, // circled multiplication sign with circumflex accent + '\u2A37': MO.BIN4, // multiplication sign in double circle + '\u2A38': MO.BIN4, // circled division sign + '\u2A39': MO.BIN4, // plus sign in triangle + '\u2A3A': MO.BIN4, // minus sign in triangle + '\u2A3B': MO.BIN4, // multiplication sign in triangle + '\u2A3C': MO.BIN4, // interior product + '\u2A3D': MO.BIN4, // righthand interior product + '\u2A3E': MO.BIN4, // z notation relational composition + '\u2A40': MO.BIN4, // intersection with dot + '\u2A41': MO.BIN4, // union with minus sign + '\u2A42': MO.BIN4, // union with overbar + '\u2A43': MO.BIN4, // intersection with overbar + '\u2A44': MO.BIN4, // intersection with logical and + '\u2A45': MO.BIN4, // union with logical or + '\u2A46': MO.BIN4, // union above intersection + '\u2A47': MO.BIN4, // intersection above union + '\u2A48': MO.BIN4, // union above bar above intersection + '\u2A49': MO.BIN4, // intersection above bar above union + '\u2A4A': MO.BIN4, // union beside and joined with union + '\u2A4B': MO.BIN4, // intersection beside and joined with intersection + '\u2A4C': MO.BIN4, // closed union with serifs + '\u2A4D': MO.BIN4, // closed intersection with serifs + '\u2A4E': MO.BIN4, // double square intersection + '\u2A4F': MO.BIN4, // double square union + '\u2A50': MO.BIN4, // closed union with serifs and smash product + '\u2A51': MO.BIN4, // logical and with dot above + '\u2A52': MO.BIN4, // logical or with dot above + '\u2A53': MO.BIN4, // double logical and + '\u2A54': MO.BIN4, // double logical or + '\u2A55': MO.BIN4, // two intersecting logical and + '\u2A56': MO.BIN4, // two intersecting logical or + '\u2A57': MO.BIN4, // sloping large or + '\u2A58': MO.BIN4, // sloping large and + '\u2A59': MO.REL, // logical or overlapping logical and + '\u2A5A': MO.BIN4, // logical and with middle stem + '\u2A5B': MO.BIN4, // logical or with middle stem + '\u2A5C': MO.BIN4, // logical and with horizontal dash + '\u2A5D': MO.BIN4, // logical or with horizontal dash + '\u2A5E': MO.BIN4, // logical and with double overbar + '\u2A5F': MO.BIN4, // logical and with underbar + '\u2A60': MO.BIN4, // logical and with double underbar + '\u2A61': MO.BIN4, // small vee with underbar + '\u2A62': MO.BIN4, // logical or with double overbar + '\u2A63': MO.BIN4, // logical or with double underbar + '\u2A64': MO.BIN4, // z notation domain antirestriction + '\u2A65': MO.BIN4, // z notation range antirestriction + '\u2A66': MO.REL, // equals sign with dot below + '\u2A67': MO.REL, // identical with dot above + '\u2A68': MO.REL, // triple horizontal bar with double vertical stroke + '\u2A69': MO.REL, // triple horizontal bar with triple vertical stroke + '\u2A6A': MO.REL, // tilde operator with dot above + '\u2A6B': MO.REL, // tilde operator with rising dots + '\u2A6C': MO.REL, // similar minus similar + '\u2A6D': MO.REL, // congruent with dot above + '\u2A6E': MO.REL, // equals with asterisk + '\u2A6F': MO.REL, // almost equal to with circumflex accent + '\u2A70': MO.REL, // approximately equal or equal to + '\u2A71': MO.BIN4, // equals sign above plus sign + '\u2A72': MO.BIN4, // plus sign above equals sign + '\u2A73': MO.REL, // equals sign above tilde operator + '\u2A74': MO.REL, // double colon equal + '\u2A75': MO.REL, // two consecutive equals signs + '\u2A76': MO.REL, // three consecutive equals signs + '\u2A77': MO.REL, // equals sign with two dots above and two dots below + '\u2A78': MO.REL, // equivalent with four dots above + '\u2A79': MO.REL, // less-than with circle inside + '\u2A7A': MO.REL, // greater-than with circle inside + '\u2A7B': MO.REL, // less-than with question mark above + '\u2A7C': MO.REL, // greater-than with question mark above + '\u2A7D': MO.REL, // less-than or slanted equal to + '\u2A7D\u0338': MO.REL, // less-than or slanted equal to with slash + '\u2A7E': MO.REL, // greater-than or slanted equal to + '\u2A7E\u0338': MO.REL, // greater-than or slanted equal to with slash + '\u2A7F': MO.REL, // less-than or slanted equal to with dot inside + '\u2A80': MO.REL, // greater-than or slanted equal to with dot inside + '\u2A81': MO.REL, // less-than or slanted equal to with dot above + '\u2A82': MO.REL, // greater-than or slanted equal to with dot above + '\u2A83': MO.REL, // less-than or slanted equal to with dot above right + '\u2A84': MO.REL, // greater-than or slanted equal to with dot above left + '\u2A85': MO.REL, // less-than or approximate + '\u2A86': MO.REL, // greater-than or approximate + '\u2A87': MO.REL, // less-than and single-line not equal to + '\u2A88': MO.REL, // greater-than and single-line not equal to + '\u2A89': MO.REL, // less-than and not approximate + '\u2A8A': MO.REL, // greater-than and not approximate + '\u2A8B': MO.REL, // less-than above double-line equal above greater-than + '\u2A8C': MO.REL, // greater-than above double-line equal above less-than + '\u2A8D': MO.REL, // less-than above similar or equal + '\u2A8E': MO.REL, // greater-than above similar or equal + '\u2A8F': MO.REL, // less-than above similar above greater-than + '\u2A90': MO.REL, // greater-than above similar above less-than + '\u2A91': MO.REL, // less-than above greater-than above double-line equal + '\u2A92': MO.REL, // greater-than above less-than above double-line equal + '\u2A93': MO.REL, // less-than above slanted equal above greater-than above slanted equal + '\u2A94': MO.REL, // greater-than above slanted equal above less-than above slanted equal + '\u2A95': MO.REL, // slanted equal to or less-than + '\u2A96': MO.REL, // slanted equal to or greater-than + '\u2A97': MO.REL, // slanted equal to or less-than with dot inside + '\u2A98': MO.REL, // slanted equal to or greater-than with dot inside + '\u2A99': MO.REL, // double-line equal to or less-than + '\u2A9A': MO.REL, // double-line equal to or greater-than + '\u2A9B': MO.REL, // double-line slanted equal to or less-than + '\u2A9C': MO.REL, // double-line slanted equal to or greater-than + '\u2A9D': MO.REL, // similar or less-than + '\u2A9E': MO.REL, // similar or greater-than + '\u2A9F': MO.REL, // similar above less-than above equals sign + '\u2AA0': MO.REL, // similar above greater-than above equals sign + '\u2AA1': MO.REL, // double nested less-than + '\u2AA1\u0338': MO.REL, // double nested less-than with slash + '\u2AA2': MO.REL, // double nested greater-than + '\u2AA2\u0338': MO.REL, // double nested greater-than with slash + '\u2AA3': MO.REL, // double nested less-than with underbar + '\u2AA4': MO.REL, // greater-than overlapping less-than + '\u2AA5': MO.REL, // greater-than beside less-than + '\u2AA6': MO.REL, // less-than closed by curve + '\u2AA7': MO.REL, // greater-than closed by curve + '\u2AA8': MO.REL, // less-than closed by curve above slanted equal + '\u2AA9': MO.REL, // greater-than closed by curve above slanted equal + '\u2AAA': MO.REL, // smaller than + '\u2AAB': MO.REL, // larger than + '\u2AAC': MO.REL, // smaller than or equal to + '\u2AAD': MO.REL, // larger than or equal to + '\u2AAE': MO.REL, // equals sign with bumpy above + '\u2AAF\u0338': MO.REL, // precedes above single-line equals sign with slash + '\u2AB0\u0338': MO.REL, // succeeds above single-line equals sign with slash + '\u2AB1': MO.REL, // precedes above single-line not equal to + '\u2AB2': MO.REL, // succeeds above single-line not equal to + '\u2AB3': MO.REL, // precedes above equals sign + '\u2AB4': MO.REL, // succeeds above equals sign + '\u2AB5': MO.REL, // precedes above not equal to + '\u2AB6': MO.REL, // succeeds above not equal to + '\u2AB7': MO.REL, // precedes above almost equal to + '\u2AB8': MO.REL, // succeeds above almost equal to + '\u2AB9': MO.REL, // precedes above not almost equal to + '\u2ABA': MO.REL, // succeeds above not almost equal to + '\u2ABB': MO.REL, // double precedes + '\u2ABC': MO.REL, // double succeeds + '\u2ABD': MO.REL, // subset with dot + '\u2ABE': MO.REL, // superset with dot + '\u2ABF': MO.REL, // subset with plus sign below + '\u2AC0': MO.REL, // superset with plus sign below + '\u2AC1': MO.REL, // subset with multiplication sign below + '\u2AC2': MO.REL, // superset with multiplication sign below + '\u2AC3': MO.REL, // subset of or equal to with dot above + '\u2AC4': MO.REL, // superset of or equal to with dot above + '\u2AC5': MO.REL, // subset of above equals sign + '\u2AC6': MO.REL, // superset of above equals sign + '\u2AC7': MO.REL, // subset of above tilde operator + '\u2AC8': MO.REL, // superset of above tilde operator + '\u2AC9': MO.REL, // subset of above almost equal to + '\u2ACA': MO.REL, // superset of above almost equal to + '\u2ACB': MO.REL, // subset of above not equal to + '\u2ACC': MO.REL, // superset of above not equal to + '\u2ACD': MO.REL, // square left open box operator + '\u2ACE': MO.REL, // square right open box operator + '\u2ACF': MO.REL, // closed subset + '\u2AD0': MO.REL, // closed superset + '\u2AD1': MO.REL, // closed subset or equal to + '\u2AD2': MO.REL, // closed superset or equal to + '\u2AD3': MO.REL, // subset above superset + '\u2AD4': MO.REL, // superset above subset + '\u2AD5': MO.REL, // subset above subset + '\u2AD6': MO.REL, // superset above superset + '\u2AD7': MO.REL, // superset beside subset + '\u2AD8': MO.REL, // superset beside and joined by dash with subset + '\u2AD9': MO.REL, // element of opening downwards + '\u2ADA': MO.REL, // pitchfork with tee top + '\u2ADB': MO.REL, // transversal intersection + '\u2ADC': MO.REL, // forking + '\u2ADD': MO.REL, // nonforking + '\u2ADE': MO.REL, // short left tack + '\u2ADF': MO.REL, // short down tack + '\u2AE0': MO.REL, // short up tack + '\u2AE1': MO.REL, // perpendicular with s + '\u2AE2': MO.REL, // vertical bar triple right turnstile + '\u2AE3': MO.REL, // double vertical bar left turnstile + '\u2AE4': MO.REL, // vertical bar double left turnstile + '\u2AE5': MO.REL, // double vertical bar double left turnstile + '\u2AE6': MO.REL, // long dash from left member of double vertical + '\u2AE7': MO.REL, // short down tack with overbar + '\u2AE8': MO.REL, // short up tack with underbar + '\u2AE9': MO.REL, // short up tack above short down tack + '\u2AEA': MO.REL, // double down tack + '\u2AEB': MO.REL, // double up tack + '\u2AEC': MO.REL, // double stroke not sign + '\u2AED': MO.REL, // reversed double stroke not sign + '\u2AEE': MO.REL, // does not divide with reversed negation slash + '\u2AEF': MO.REL, // vertical line with circle above + '\u2AF0': MO.REL, // vertical line with circle below + '\u2AF1': MO.REL, // down tack with circle below + '\u2AF2': MO.REL, // parallel with horizontal stroke + '\u2AF3': MO.REL, // parallel with tilde operator + '\u2AF4': MO.BIN4, // triple vertical bar binary relation + '\u2AF5': MO.BIN4, // triple vertical bar with horizontal stroke + '\u2AF6': MO.BIN4, // triple colon operator + '\u2AF7': MO.REL, // triple nested less-than + '\u2AF8': MO.REL, // triple nested greater-than + '\u2AF9': MO.REL, // double-line slanted less-than or equal to + '\u2AFA': MO.REL, // double-line slanted greater-than or equal to + '\u2AFB': MO.BIN4, // triple solidus binary relation + '\u2AFD': MO.BIN4, // double solidus operator + '\u2AFE': MO.BIN3 // white vertical bar + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/SuppMathOperators.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsA.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsA.js new file mode 100644 index 00000000..e09e926d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsA.js @@ -0,0 +1,40 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/SupplementalArrowsA.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u27F0': MO.RELSTRETCH, // upwards quadruple arrow + '\u27F1': MO.RELSTRETCH, // downwards quadruple arrow + '\u27FB': MO.WIDEREL, // long leftwards arrow from bar + '\u27FD': MO.WIDEREL, // long leftwards double arrow from bar + '\u27FE': MO.WIDEREL, // long rightwards double arrow from bar + '\u27FF': MO.WIDEREL // long rightwards squiggle arrow + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/SupplementalArrowsA.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsB.js b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsB.js new file mode 100644 index 00000000..a60e53a4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/element/mml/optable/SupplementalArrowsB.js @@ -0,0 +1,162 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/SupplementalArrowsB.js + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u2900': MO.RELACCENT, // rightwards two-headed arrow with vertical stroke + '\u2901': MO.RELACCENT, // rightwards two-headed arrow with double vertical stroke + '\u2902': MO.RELACCENT, // leftwards double arrow with vertical stroke + '\u2903': MO.RELACCENT, // rightwards double arrow with vertical stroke + '\u2904': MO.RELACCENT, // left right double arrow with vertical stroke + '\u2905': MO.RELACCENT, // rightwards two-headed arrow from bar + '\u2906': MO.RELACCENT, // leftwards double arrow from bar + '\u2907': MO.RELACCENT, // rightwards double arrow from bar + '\u2908': MO.REL, // downwards arrow with horizontal stroke + '\u2909': MO.REL, // upwards arrow with horizontal stroke + '\u290A': MO.RELSTRETCH, // upwards triple arrow + '\u290B': MO.RELSTRETCH, // downwards triple arrow + '\u290C': MO.WIDEREL, // leftwards double dash arrow + '\u290D': MO.WIDEREL, // rightwards double dash arrow + '\u290E': MO.WIDEREL, // leftwards triple dash arrow + '\u290F': MO.WIDEREL, // rightwards triple dash arrow + '\u2910': MO.WIDEREL, // rightwards two-headed triple dash arrow + '\u2911': MO.RELACCENT, // rightwards arrow with dotted stem + '\u2912': MO.RELSTRETCH, // upwards arrow to bar + '\u2913': MO.RELSTRETCH, // downwards arrow to bar + '\u2914': MO.RELACCENT, // rightwards arrow with tail with vertical stroke + '\u2915': MO.RELACCENT, // rightwards arrow with tail with double vertical stroke + '\u2916': MO.RELACCENT, // rightwards two-headed arrow with tail + '\u2917': MO.RELACCENT, // rightwards two-headed arrow with tail with vertical stroke + '\u2918': MO.RELACCENT, // rightwards two-headed arrow with tail with double vertical stroke + '\u2919': MO.RELACCENT, // leftwards arrow-tail + '\u291A': MO.RELACCENT, // rightwards arrow-tail + '\u291B': MO.RELACCENT, // leftwards double arrow-tail + '\u291C': MO.RELACCENT, // rightwards double arrow-tail + '\u291D': MO.RELACCENT, // leftwards arrow to black diamond + '\u291E': MO.RELACCENT, // rightwards arrow to black diamond + '\u291F': MO.RELACCENT, // leftwards arrow from bar to black diamond + '\u2920': MO.RELACCENT, // rightwards arrow from bar to black diamond + '\u2921': MO.RELSTRETCH, // north west and south east arrow + '\u2922': MO.RELSTRETCH, // north east and south west arrow + '\u2923': MO.REL, // north west arrow with hook + '\u2924': MO.REL, // north east arrow with hook + '\u2925': MO.REL, // south east arrow with hook + '\u2926': MO.REL, // south west arrow with hook + '\u2927': MO.REL, // north west arrow and north east arrow + '\u2928': MO.REL, // north east arrow and south east arrow + '\u2929': MO.REL, // south east arrow and south west arrow + '\u292A': MO.REL, // south west arrow and north west arrow + '\u292B': MO.REL, // rising diagonal crossing falling diagonal + '\u292C': MO.REL, // falling diagonal crossing rising diagonal + '\u292D': MO.REL, // south east arrow crossing north east arrow + '\u292E': MO.REL, // north east arrow crossing south east arrow + '\u292F': MO.REL, // falling diagonal crossing north east arrow + '\u2930': MO.REL, // rising diagonal crossing south east arrow + '\u2931': MO.REL, // north east arrow crossing north west arrow + '\u2932': MO.REL, // north west arrow crossing north east arrow + '\u2933': MO.RELACCENT, // wave arrow pointing directly right + '\u2934': MO.REL, // arrow pointing rightwards then curving upwards + '\u2935': MO.REL, // arrow pointing rightwards then curving downwards + '\u2936': MO.REL, // arrow pointing downwards then curving leftwards + '\u2937': MO.REL, // arrow pointing downwards then curving rightwards + '\u2938': MO.REL, // right-side arc clockwise arrow + '\u2939': MO.REL, // left-side arc anticlockwise arrow + '\u293A': MO.RELACCENT, // top arc anticlockwise arrow + '\u293B': MO.RELACCENT, // bottom arc anticlockwise arrow + '\u293C': MO.RELACCENT, // top arc clockwise arrow with minus + '\u293D': MO.RELACCENT, // top arc anticlockwise arrow with plus + '\u293E': MO.REL, // lower right semicircular clockwise arrow + '\u293F': MO.REL, // lower left semicircular anticlockwise arrow + '\u2940': MO.REL, // anticlockwise closed circle arrow + '\u2941': MO.REL, // clockwise closed circle arrow + '\u2942': MO.RELACCENT, // rightwards arrow above short leftwards arrow + '\u2943': MO.RELACCENT, // leftwards arrow above short rightwards arrow + '\u2944': MO.RELACCENT, // short rightwards arrow above leftwards arrow + '\u2945': MO.RELACCENT, // rightwards arrow with plus below + '\u2946': MO.RELACCENT, // leftwards arrow with plus below + '\u2947': MO.RELACCENT, // rightwards arrow through x + '\u2948': MO.RELACCENT, // left right arrow through small circle + '\u2949': MO.REL, // upwards two-headed arrow from small circle + '\u294A': MO.RELACCENT, // left barb up right barb down harpoon + '\u294B': MO.RELACCENT, // left barb down right barb up harpoon + '\u294C': MO.REL, // up barb right down barb left harpoon + '\u294D': MO.REL, // up barb left down barb right harpoon + '\u294E': MO.WIDEREL, // left barb up right barb up harpoon + '\u294F': MO.RELSTRETCH, // up barb right down barb right harpoon + '\u2950': MO.WIDEREL, // left barb down right barb down harpoon + '\u2951': MO.RELSTRETCH, // up barb left down barb left harpoon + '\u2952': MO.WIDEREL, // leftwards harpoon with barb up to bar + '\u2953': MO.WIDEREL, // rightwards harpoon with barb up to bar + '\u2954': MO.RELSTRETCH, // upwards harpoon with barb right to bar + '\u2955': MO.RELSTRETCH, // downwards harpoon with barb right to bar + '\u2956': MO.RELSTRETCH, // leftwards harpoon with barb down to bar + '\u2957': MO.RELSTRETCH, // rightwards harpoon with barb down to bar + '\u2958': MO.RELSTRETCH, // upwards harpoon with barb left to bar + '\u2959': MO.RELSTRETCH, // downwards harpoon with barb left to bar + '\u295A': MO.WIDEREL, // leftwards harpoon with barb up from bar + '\u295B': MO.WIDEREL, // rightwards harpoon with barb up from bar + '\u295C': MO.RELSTRETCH, // upwards harpoon with barb right from bar + '\u295D': MO.RELSTRETCH, // downwards harpoon with barb right from bar + '\u295E': MO.WIDEREL, // leftwards harpoon with barb down from bar + '\u295F': MO.WIDEREL, // rightwards harpoon with barb down from bar + '\u2960': MO.RELSTRETCH, // upwards harpoon with barb left from bar + '\u2961': MO.RELSTRETCH, // downwards harpoon with barb left from bar + '\u2962': MO.RELACCENT, // leftwards harpoon with barb up above leftwards harpoon with barb down + '\u2963': MO.REL, // upwards harpoon with barb left beside upwards harpoon with barb right + '\u2964': MO.RELACCENT, // rightwards harpoon with barb up above rightwards harpoon with barb down + '\u2965': MO.REL, // downwards harpoon with barb left beside downwards harpoon with barb right + '\u2966': MO.RELACCENT, // leftwards harpoon with barb up above rightwards harpoon with barb up + '\u2967': MO.RELACCENT, // leftwards harpoon with barb down above rightwards harpoon with barb down + '\u2968': MO.RELACCENT, // rightwards harpoon with barb up above leftwards harpoon with barb up + '\u2969': MO.RELACCENT, // rightwards harpoon with barb down above leftwards harpoon with barb down + '\u296A': MO.RELACCENT, // leftwards harpoon with barb up above long dash + '\u296B': MO.RELACCENT, // leftwards harpoon with barb down below long dash + '\u296C': MO.RELACCENT, // rightwards harpoon with barb up above long dash + '\u296D': MO.RELACCENT, // rightwards harpoon with barb down below long dash + '\u296E': MO.RELSTRETCH, // upwards harpoon with barb left beside downwards harpoon with barb right + '\u296F': MO.RELSTRETCH, // downwards harpoon with barb left beside upwards harpoon with barb right + '\u2970': MO.RELACCENT, // right double arrow with rounded head + '\u2971': MO.RELACCENT, // equals sign above rightwards arrow + '\u2972': MO.RELACCENT, // tilde operator above rightwards arrow + '\u2973': MO.RELACCENT, // leftwards arrow above tilde operator + '\u2974': MO.RELACCENT, // rightwards arrow above tilde operator + '\u2975': MO.RELACCENT, // rightwards arrow above almost equal to + '\u2976': MO.RELACCENT, // less-than above leftwards arrow + '\u2977': MO.RELACCENT, // leftwards arrow through less-than + '\u2978': MO.RELACCENT, // greater-than above rightwards arrow + '\u2979': MO.RELACCENT, // subset above rightwards arrow + '\u297A': MO.RELACCENT, // leftwards arrow through subset + '\u297B': MO.RELACCENT, // superset above leftwards arrow + '\u297C': MO.RELACCENT, // left fish tail + '\u297D': MO.RELACCENT, // right fish tail + '\u297E': MO.REL, // up fish tail + '\u297F': MO.REL // down fish tail + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/SupplementalArrowsB.js"); + +})(MathJax.ElementJax.mml); diff --git a/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/config.js b/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/config.js new file mode 100644 index 00000000..d90e92be --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/config.js @@ -0,0 +1,46 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/input/AsciiMath/config.js + * + * Initializes the AsciiMath InputJax (the main definition is in + * MathJax/jax/input/AsciiMath/jax.js, which is loaded when needed). + * + * Originally adapted for MathJax by David Lippman. + * Additional work done by Davide P. Cervone. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2012-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.InputJax.AsciiMath = MathJax.InputJax({ + id: "AsciiMath", + version: "2.7.5", + directory: MathJax.InputJax.directory + "/AsciiMath", + extensionDir: MathJax.InputJax.extensionDir + "/AsciiMath", + + config: { + fixphi: true, // switch phi and varphi unicode values + useMathMLspacing: true, // use MathML spacing rather than TeX spacing? + displaystyle: true, // put limits above and below operators + decimalsign: "." // can change to "," but watch out for "(1,2)" + } +}); +MathJax.InputJax.AsciiMath.Register("math/asciimath"); + +MathJax.InputJax.AsciiMath.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/jax.js b/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/jax.js new file mode 100644 index 00000000..0246cbd7 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/input/AsciiMath/jax.js @@ -0,0 +1,1540 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/input/AsciiMath/jax.js + * + * An Input Jax for AsciiMath notation + * (see http://www1.chapman.edu/~jipsen/mathml/asciimath.html). + * + * Originally adapted for MathJax by David Lippman. + * Additional work done by Davide P. Cervone. + * + * The current development repository for AsciiMathML is + * https://github.com/mathjax/asciimathml + * + * A portion of this file is taken from + * ASCIIMathML.js Version 2.2 Mar 3, 2014, (c) Peter Jipsen http://www.chapman.edu/~jipsen + * and is used by permission of Peter Jipsen, who has agreed to allow us to + * release it under the Apache2 license (see below). That portion is indicated + * via comments. + * + * The remainder falls under the copyright that follows. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2012-2018 The MathJax Consortium + * + * 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. + */ + +(function (ASCIIMATH) { + + var MML; // Filled in later + + // + // Make a documentFragment work-alike that uses MML objects + // rather than DOM objects. + // + var DOCFRAG = MathJax.Object.Subclass({ + firstChild: null, + lastChild: null, + Init: function () { + this.childNodes = []; + }, + appendChild: function (node) { + if (node.parent) {node.parent.removeChild(node)} + if (this.lastChild) {this.lastChild.nextSibling = node} + if (!this.firstChild) {this.firstChild = node} + this.childNodes.push(node); node.parent = this; + this.lastChild = node; + return node; + }, + removeChild: function (node) { + for (var i = 0, m = this.childNodes.length; i < m; i++) + {if (this.childNodes[i] === node) break} + if (i === m) return; + this.childNodes.splice(i,1); + if (node === this.firstChild) {this.firstChild = node.nextSibling} + if (node === this.lastChild) { + if (!this.childNodes.length) {this.lastChild = null} + else {this.lastChild = this.childNodes[this.childNodes.length-1]} + } + if (i) {this.childNodes[i-1].nextSibling = node.nextSibling} + node.nextSibling = node.parent = null; + return node; + }, + replaceChild: function (node,old) { + for (var i = 0, m = this.childNodes.length; i < m; i++) + {if (this.childNodes[i] === old) break} + if (i) {this.childNodes[i-1].nextSibling = node} else {this.firstChild = node} + if (i >= m-1) {this.lastChild = node} + this.childNodes[i] = node; node.nextSibling = old.nextSibling; + old.nextSibling = old.parent = null; + return old; + }, + hasChildNodes: function (node) { + return (this.childNodes.length>0); + }, + toString: function () {return "{"+this.childNodes.join("")+"}"} + }); + + var INITASCIIMATH = function () { + MML = MathJax.ElementJax.mml; + var MBASEINIT = MML.mbase.prototype.Init; + + // + // Make MML elements looks like DOM elements (add the + // methods that AsciiMath needs) + // + MML.mbase.Augment({ + firstChild: null, + lastChild: null, + nodeValue: null, + nextSibling: null, + Init: function () { + var obj = MBASEINIT.apply(this,arguments) || this; + obj.childNodes = obj.data; + obj.nodeName = obj.type; + return obj; + }, + appendChild: function (node) { + if (node.parent) {node.parent.removeChild(node)} + var nodes = arguments; + if (node.isa(DOCFRAG)) { + nodes = node.childNodes; + node.data = node.childNodes = []; + node.firstChild = node.lastChild = null; + } + for (var i = 0, m = nodes.length; i < m; i++) { + node = nodes[i]; + if (this.lastChild) {this.lastChild.nextSibling = node} + if (!this.firstChild) {this.firstChild = node} + this.Append(node); + this.lastChild = node; + } + return node; + }, + removeChild: function (node) { + for (var i = 0, m = this.childNodes.length; i < m; i++) + {if (this.childNodes[i] === node) break} + if (i === m) return; + this.childNodes.splice(i,1); + if (node === this.firstChild) {this.firstChild = node.nextSibling} + if (node === this.lastChild) { + if (!this.childNodes.length) {this.lastChild = null} + else {this.lastChild = this.childNodes[this.childNodes.length-1]} + } + if (i) {this.childNodes[i-1].nextSibling = node.nextSibling} + node.nextSibling = node.parent = null; + return node; + }, + replaceChild: function (node,old) { + for (var i = 0, m = this.childNodes.length; i < m; i++) + {if (this.childNodes[i] === old) break} + // FIXME: make this work with DOCFRAG's? + if (i) {this.childNodes[i-1].nextSibling = node} else {this.firstChild = node} + if (i >= m-1) {this.lastChild = node} + this.SetData(i,node); node.nextSibling = old.nextSibling; + old.nextSibling = old.parent = null; + return old; + }, + hasChildNodes: function (node) { + return (this.childNodes.length>0); + }, + setAttribute: function (name,value) {this[name] = value} + }); + }; + + // + // Set up to isolate ASCIIMathML.js + // + + var window = {}; // hide the true window + + // + // Hide the true document, and add functions that + // use and produce MML objects instead of DOM objects + // + var document = { + getElementById: true, + createElementNS: function (ns,type) { + var node = MML[type](); + if (type === "mo" && ASCIIMATH.config.useMathMLspacing) {node.useMMLspacing = 0x80} + return node; + }, + createTextNode: function (text) {return MML.chars(text).With({nodeValue:text})}, + createDocumentFragment: function () {return DOCFRAG()} + }; + + var navigator = {appName: "MathJax"}; // hide the true navigator object + +/****************************************************************** + * + * The following section is ASCIIMathML.js Version 2.2 + * (c) Peter Jipsen, used with permission. + * + * Some sections are commented out to save space in the + * minified version (but that is not strictly necessary). + * + ******************************************************************/ + +/* +ASCIIMathML.js +============== +This file contains JavaScript functions to convert ASCII math notation +and (some) LaTeX to Presentation MathML. The conversion is done while the +HTML page loads, and should work with Firefox and other browsers that can +render MathML. + +Just add the next line to your HTML page with this file in the same folder: + + + +Version 2.2 Mar 3, 2014. +Latest version at https://github.com/mathjax/asciimathml +If you use it on a webpage, please send the URL to jipsen@chapman.edu + +Copyright (c) 2014 Peter Jipsen and other ASCIIMathML.js contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ +//var asciimath = {}; + +//(function(){ +var mathcolor = "blue"; // change it to "" (to inherit) or another color +//var mathfontsize = "1em"; // change to e.g. 1.2em for larger math +//var mathfontfamily = "serif"; // change to "" to inherit (works in IE) + // or another family (e.g. "arial") +//var automathrecognize = false; // writing "amath" on page makes this true +//var checkForMathML = true; // check if browser can display MathML +//var notifyIfNoMathML = true; // display note at top if no MathML capability +//var alertIfNoMathML = false; // show alert box if no MathML capability +//var translateOnLoad = true; // set to false to do call translators from js +//var translateASCIIMath = true; // false to preserve `..` +var displaystyle = true; // puts limits above and below large operators +var showasciiformulaonhover = true; // helps students learn ASCIIMath +var decimalsign = "."; // change to "," if you like, beware of `(1,2)`! +//var AMdelimiter1 = "`", AMescape1 = "\\\\`"; // can use other characters +//var AMdocumentId = "wikitext" // PmWiki element containing math (default=body) +var fixphi = true; //false to return to legacy phi/varphi mapping + +/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ + +var isIE = (navigator.appName.slice(0,9)=="Microsoft"); +/* +var noMathML = false, translated = false; + +if (isIE) { // add MathPlayer info to IE webpages + document.write(""); + document.write(""); +} + +// Add a stylesheet, replacing any previous custom stylesheet (adapted from TW) +function setStylesheet(s) { + var id = "AMMLcustomStyleSheet"; + var n = document.getElementById(id); + if(document.createStyleSheet) { + // Test for IE's non-standard createStyleSheet method + if(n) + n.parentNode.removeChild(n); + // This failed without the   + document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd"," "); + } else { + if(n) { + n.replaceChild(document.createTextNode(s),n.firstChild); + } else { + n = document.createElement("style"); + n.type = "text/css"; + n.id = id; + n.appendChild(document.createTextNode(s)); + document.getElementsByTagName("head")[0].appendChild(n); + } + } +} + +setStylesheet("#AMMLcloseDiv \{font-size:0.8em; padding-top:1em; color:#014\}\n#AMMLwarningBox \{position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30\}"); + +function init(){ + var msg, warnings = new Array(); + if (document.getElementById==null){ + alert("This webpage requires a recent browser such as Mozilla Firefox"); + return null; + } + if (checkForMathML && (msg = checkMathML())) warnings.push(msg); + if (warnings.length>0) displayWarnings(warnings); + if (!noMathML) initSymbols(); + return true; +} + +function checkMathML(){ + if (navigator.appName.slice(0,8)=="Netscape") + if (navigator.appVersion.slice(0,1)>="5") noMathML = null; + else noMathML = true; + else if (navigator.appName.slice(0,9)=="Microsoft") + try { + var ActiveX = new ActiveXObject("MathPlayer.Factory.1"); + noMathML = null; + } catch (e) { + noMathML = true; + } + else if (navigator.appName.slice(0,5)=="Opera") + if (navigator.appVersion.slice(0,3)>="9.5") noMathML = null; + else noMathML = true; +//noMathML = true; //uncomment to check + if (noMathML && notifyIfNoMathML) { + var msg = "To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later."; + if (alertIfNoMathML) + alert(msg); + else return msg; + } +} + +function hideWarning(){ + var body = document.getElementsByTagName("body")[0]; + body.removeChild(document.getElementById('AMMLwarningBox')); + body.onclick = null; +} + +function displayWarnings(warnings) { + var i, frag, nd = createElementXHTML("div"); + var body = document.getElementsByTagName("body")[0]; + body.onclick=hideWarning; + nd.id = 'AMMLwarningBox'; + for (i=0; i<", tag:"mo", output:"\u22C9", tex:"ltimes", ttype:CONST}, +{input:"><|", tag:"mo", output:"\u22CA", tex:"rtimes", ttype:CONST}, +{input:"|><|", tag:"mo", output:"\u22C8", tex:"bowtie", ttype:CONST}, +{input:"-:", tag:"mo", output:"\u00F7", tex:"div", ttype:CONST}, +{input:"divide", tag:"mo", output:"-:", tex:null, ttype:DEFINITION}, +{input:"@", tag:"mo", output:"\u2218", tex:"circ", ttype:CONST}, +{input:"o+", tag:"mo", output:"\u2295", tex:"oplus", ttype:CONST}, +{input:"ox", tag:"mo", output:"\u2297", tex:"otimes", ttype:CONST}, +{input:"o.", tag:"mo", output:"\u2299", tex:"odot", ttype:CONST}, +{input:"sum", tag:"mo", output:"\u2211", tex:null, ttype:UNDEROVER}, +{input:"prod", tag:"mo", output:"\u220F", tex:null, ttype:UNDEROVER}, +{input:"^^", tag:"mo", output:"\u2227", tex:"wedge", ttype:CONST}, +{input:"^^^", tag:"mo", output:"\u22C0", tex:"bigwedge", ttype:UNDEROVER}, +{input:"vv", tag:"mo", output:"\u2228", tex:"vee", ttype:CONST}, +{input:"vvv", tag:"mo", output:"\u22C1", tex:"bigvee", ttype:UNDEROVER}, +{input:"nn", tag:"mo", output:"\u2229", tex:"cap", ttype:CONST}, +{input:"nnn", tag:"mo", output:"\u22C2", tex:"bigcap", ttype:UNDEROVER}, +{input:"uu", tag:"mo", output:"\u222A", tex:"cup", ttype:CONST}, +{input:"uuu", tag:"mo", output:"\u22C3", tex:"bigcup", ttype:UNDEROVER}, + +//binary relation symbols +{input:"!=", tag:"mo", output:"\u2260", tex:"ne", ttype:CONST}, +{input:":=", tag:"mo", output:":=", tex:null, ttype:CONST}, +{input:"lt", tag:"mo", output:"<", tex:null, ttype:CONST}, +{input:"<=", tag:"mo", output:"\u2264", tex:"le", ttype:CONST}, +{input:"lt=", tag:"mo", output:"\u2264", tex:"leq", ttype:CONST}, +{input:"gt", tag:"mo", output:">", tex:null, ttype:CONST}, +{input:">=", tag:"mo", output:"\u2265", tex:"ge", ttype:CONST}, +{input:"gt=", tag:"mo", output:"\u2265", tex:"geq", ttype:CONST}, +{input:"-<", tag:"mo", output:"\u227A", tex:"prec", ttype:CONST}, +{input:"-lt", tag:"mo", output:"\u227A", tex:null, ttype:CONST}, +{input:">-", tag:"mo", output:"\u227B", tex:"succ", ttype:CONST}, +{input:"-<=", tag:"mo", output:"\u2AAF", tex:"preceq", ttype:CONST}, +{input:">-=", tag:"mo", output:"\u2AB0", tex:"succeq", ttype:CONST}, +{input:"in", tag:"mo", output:"\u2208", tex:null, ttype:CONST}, +{input:"!in", tag:"mo", output:"\u2209", tex:"notin", ttype:CONST}, +{input:"sub", tag:"mo", output:"\u2282", tex:"subset", ttype:CONST}, +{input:"sup", tag:"mo", output:"\u2283", tex:"supset", ttype:CONST}, +{input:"sube", tag:"mo", output:"\u2286", tex:"subseteq", ttype:CONST}, +{input:"supe", tag:"mo", output:"\u2287", tex:"supseteq", ttype:CONST}, +{input:"-=", tag:"mo", output:"\u2261", tex:"equiv", ttype:CONST}, +{input:"~=", tag:"mo", output:"\u2245", tex:"cong", ttype:CONST}, +{input:"~~", tag:"mo", output:"\u2248", tex:"approx", ttype:CONST}, +{input:"prop", tag:"mo", output:"\u221D", tex:"propto", ttype:CONST}, + +//logical symbols +{input:"and", tag:"mtext", output:"and", tex:null, ttype:SPACE}, +{input:"or", tag:"mtext", output:"or", tex:null, ttype:SPACE}, +{input:"not", tag:"mo", output:"\u00AC", tex:"neg", ttype:CONST}, +{input:"=>", tag:"mo", output:"\u21D2", tex:"implies", ttype:CONST}, +{input:"if", tag:"mo", output:"if", tex:null, ttype:SPACE}, +{input:"<=>", tag:"mo", output:"\u21D4", tex:"iff", ttype:CONST}, +{input:"AA", tag:"mo", output:"\u2200", tex:"forall", ttype:CONST}, +{input:"EE", tag:"mo", output:"\u2203", tex:"exists", ttype:CONST}, +{input:"_|_", tag:"mo", output:"\u22A5", tex:"bot", ttype:CONST}, +{input:"TT", tag:"mo", output:"\u22A4", tex:"top", ttype:CONST}, +{input:"|--", tag:"mo", output:"\u22A2", tex:"vdash", ttype:CONST}, +{input:"|==", tag:"mo", output:"\u22A8", tex:"models", ttype:CONST}, + +//grouping brackets +{input:"(", tag:"mo", output:"(", tex:"left(", ttype:LEFTBRACKET}, +{input:")", tag:"mo", output:")", tex:"right)", ttype:RIGHTBRACKET}, +{input:"[", tag:"mo", output:"[", tex:"left[", ttype:LEFTBRACKET}, +{input:"]", tag:"mo", output:"]", tex:"right]", ttype:RIGHTBRACKET}, +{input:"{", tag:"mo", output:"{", tex:null, ttype:LEFTBRACKET}, +{input:"}", tag:"mo", output:"}", tex:null, ttype:RIGHTBRACKET}, +{input:"|", tag:"mo", output:"|", tex:null, ttype:LEFTRIGHT}, +{input:":|:", tag:"mo", output:"|", tex:null, ttype:CONST}, +{input:"|:", tag:"mo", output:"|", tex:null, ttype:LEFTBRACKET}, +{input:":|", tag:"mo", output:"|", tex:null, ttype:RIGHTBRACKET}, +//{input:"||", tag:"mo", output:"||", tex:null, ttype:LEFTRIGHT}, +{input:"(:", tag:"mo", output:"\u2329", tex:"langle", ttype:LEFTBRACKET}, +{input:":)", tag:"mo", output:"\u232A", tex:"rangle", ttype:RIGHTBRACKET}, +{input:"<<", tag:"mo", output:"\u2329", tex:null, ttype:LEFTBRACKET}, +{input:">>", tag:"mo", output:"\u232A", tex:null, ttype:RIGHTBRACKET}, +{input:"{:", tag:"mo", output:"{:", tex:null, ttype:LEFTBRACKET, invisible:true}, +{input:":}", tag:"mo", output:":}", tex:null, ttype:RIGHTBRACKET, invisible:true}, + +//miscellaneous symbols +{input:"int", tag:"mo", output:"\u222B", tex:null, ttype:CONST}, +{input:"dx", tag:"mi", output:"{:d x:}", tex:null, ttype:DEFINITION}, +{input:"dy", tag:"mi", output:"{:d y:}", tex:null, ttype:DEFINITION}, +{input:"dz", tag:"mi", output:"{:d z:}", tex:null, ttype:DEFINITION}, +{input:"dt", tag:"mi", output:"{:d t:}", tex:null, ttype:DEFINITION}, +{input:"oint", tag:"mo", output:"\u222E", tex:null, ttype:CONST}, +{input:"del", tag:"mo", output:"\u2202", tex:"partial", ttype:CONST}, +{input:"grad", tag:"mo", output:"\u2207", tex:"nabla", ttype:CONST}, +{input:"+-", tag:"mo", output:"\u00B1", tex:"pm", ttype:CONST}, +{input:"O/", tag:"mo", output:"\u2205", tex:"emptyset", ttype:CONST}, +{input:"oo", tag:"mo", output:"\u221E", tex:"infty", ttype:CONST}, +{input:"aleph", tag:"mo", output:"\u2135", tex:null, ttype:CONST}, +{input:"...", tag:"mo", output:"...", tex:"ldots", ttype:CONST}, +{input:":.", tag:"mo", output:"\u2234", tex:"therefore", ttype:CONST}, +{input:":'", tag:"mo", output:"\u2235", tex:"because", ttype:CONST}, +{input:"/_", tag:"mo", output:"\u2220", tex:"angle", ttype:CONST}, +{input:"/_\\", tag:"mo", output:"\u25B3", tex:"triangle", ttype:CONST}, +{input:"'", tag:"mo", output:"\u2032", tex:"prime", ttype:CONST}, +{input:"tilde", tag:"mover", output:"~", tex:null, ttype:UNARY, acc:true}, +{input:"\\ ", tag:"mo", output:"\u00A0", tex:null, ttype:CONST}, +{input:"frown", tag:"mo", output:"\u2322", tex:null, ttype:CONST}, +{input:"quad", tag:"mo", output:"\u00A0\u00A0", tex:null, ttype:CONST}, +{input:"qquad", tag:"mo", output:"\u00A0\u00A0\u00A0\u00A0", tex:null, ttype:CONST}, +{input:"cdots", tag:"mo", output:"\u22EF", tex:null, ttype:CONST}, +{input:"vdots", tag:"mo", output:"\u22EE", tex:null, ttype:CONST}, +{input:"ddots", tag:"mo", output:"\u22F1", tex:null, ttype:CONST}, +{input:"diamond", tag:"mo", output:"\u22C4", tex:null, ttype:CONST}, +{input:"square", tag:"mo", output:"\u25A1", tex:null, ttype:CONST}, +{input:"|__", tag:"mo", output:"\u230A", tex:"lfloor", ttype:CONST}, +{input:"__|", tag:"mo", output:"\u230B", tex:"rfloor", ttype:CONST}, +{input:"|~", tag:"mo", output:"\u2308", tex:"lceiling", ttype:CONST}, +{input:"~|", tag:"mo", output:"\u2309", tex:"rceiling", ttype:CONST}, +{input:"CC", tag:"mo", output:"\u2102", tex:null, ttype:CONST}, +{input:"NN", tag:"mo", output:"\u2115", tex:null, ttype:CONST}, +{input:"QQ", tag:"mo", output:"\u211A", tex:null, ttype:CONST}, +{input:"RR", tag:"mo", output:"\u211D", tex:null, ttype:CONST}, +{input:"ZZ", tag:"mo", output:"\u2124", tex:null, ttype:CONST}, +{input:"f", tag:"mi", output:"f", tex:null, ttype:UNARY, func:true}, +{input:"g", tag:"mi", output:"g", tex:null, ttype:UNARY, func:true}, + +//standard functions +{input:"lim", tag:"mo", output:"lim", tex:null, ttype:UNDEROVER}, +{input:"Lim", tag:"mo", output:"Lim", tex:null, ttype:UNDEROVER}, +{input:"sin", tag:"mo", output:"sin", tex:null, ttype:UNARY, func:true}, +{input:"cos", tag:"mo", output:"cos", tex:null, ttype:UNARY, func:true}, +{input:"tan", tag:"mo", output:"tan", tex:null, ttype:UNARY, func:true}, +{input:"sinh", tag:"mo", output:"sinh", tex:null, ttype:UNARY, func:true}, +{input:"cosh", tag:"mo", output:"cosh", tex:null, ttype:UNARY, func:true}, +{input:"tanh", tag:"mo", output:"tanh", tex:null, ttype:UNARY, func:true}, +{input:"cot", tag:"mo", output:"cot", tex:null, ttype:UNARY, func:true}, +{input:"sec", tag:"mo", output:"sec", tex:null, ttype:UNARY, func:true}, +{input:"csc", tag:"mo", output:"csc", tex:null, ttype:UNARY, func:true}, +{input:"arcsin", tag:"mo", output:"arcsin", tex:null, ttype:UNARY, func:true}, +{input:"arccos", tag:"mo", output:"arccos", tex:null, ttype:UNARY, func:true}, +{input:"arctan", tag:"mo", output:"arctan", tex:null, ttype:UNARY, func:true}, +{input:"coth", tag:"mo", output:"coth", tex:null, ttype:UNARY, func:true}, +{input:"sech", tag:"mo", output:"sech", tex:null, ttype:UNARY, func:true}, +{input:"csch", tag:"mo", output:"csch", tex:null, ttype:UNARY, func:true}, +{input:"exp", tag:"mo", output:"exp", tex:null, ttype:UNARY, func:true}, +{input:"abs", tag:"mo", output:"abs", tex:null, ttype:UNARY, rewriteleftright:["|","|"]}, +{input:"norm", tag:"mo", output:"norm", tex:null, ttype:UNARY, rewriteleftright:["\u2225","\u2225"]}, +{input:"floor", tag:"mo", output:"floor", tex:null, ttype:UNARY, rewriteleftright:["\u230A","\u230B"]}, +{input:"ceil", tag:"mo", output:"ceil", tex:null, ttype:UNARY, rewriteleftright:["\u2308","\u2309"]}, +{input:"log", tag:"mo", output:"log", tex:null, ttype:UNARY, func:true}, +{input:"ln", tag:"mo", output:"ln", tex:null, ttype:UNARY, func:true}, +{input:"det", tag:"mo", output:"det", tex:null, ttype:UNARY, func:true}, +{input:"dim", tag:"mo", output:"dim", tex:null, ttype:CONST}, +{input:"mod", tag:"mo", output:"mod", tex:null, ttype:CONST}, +{input:"gcd", tag:"mo", output:"gcd", tex:null, ttype:UNARY, func:true}, +{input:"lcm", tag:"mo", output:"lcm", tex:null, ttype:UNARY, func:true}, +{input:"lub", tag:"mo", output:"lub", tex:null, ttype:CONST}, +{input:"glb", tag:"mo", output:"glb", tex:null, ttype:CONST}, +{input:"min", tag:"mo", output:"min", tex:null, ttype:UNDEROVER}, +{input:"max", tag:"mo", output:"max", tex:null, ttype:UNDEROVER}, +{input:"Sin", tag:"mo", output:"Sin", tex:null, ttype:UNARY, func:true}, +{input:"Cos", tag:"mo", output:"Cos", tex:null, ttype:UNARY, func:true}, +{input:"Tan", tag:"mo", output:"Tan", tex:null, ttype:UNARY, func:true}, +{input:"Arcsin", tag:"mo", output:"Arcsin", tex:null, ttype:UNARY, func:true}, +{input:"Arccos", tag:"mo", output:"Arccos", tex:null, ttype:UNARY, func:true}, +{input:"Arctan", tag:"mo", output:"Arctan", tex:null, ttype:UNARY, func:true}, +{input:"Sinh", tag:"mo", output:"Sinh", tex:null, ttype:UNARY, func:true}, +{input:"Cosh", tag:"mo", output:"Cosh", tex:null, ttype:UNARY, func:true}, +{input:"Tanh", tag:"mo", output:"Tanh", tex:null, ttype:UNARY, func:true}, +{input:"Cot", tag:"mo", output:"Cot", tex:null, ttype:UNARY, func:true}, +{input:"Sec", tag:"mo", output:"Sec", tex:null, ttype:UNARY, func:true}, +{input:"Csc", tag:"mo", output:"Csc", tex:null, ttype:UNARY, func:true}, +{input:"Log", tag:"mo", output:"Log", tex:null, ttype:UNARY, func:true}, +{input:"Ln", tag:"mo", output:"Ln", tex:null, ttype:UNARY, func:true}, +{input:"Abs", tag:"mo", output:"abs", tex:null, ttype:UNARY, notexcopy:true, rewriteleftright:["|","|"]}, + +//arrows +{input:"uarr", tag:"mo", output:"\u2191", tex:"uparrow", ttype:CONST}, +{input:"darr", tag:"mo", output:"\u2193", tex:"downarrow", ttype:CONST}, +{input:"rarr", tag:"mo", output:"\u2192", tex:"rightarrow", ttype:CONST}, +{input:"->", tag:"mo", output:"\u2192", tex:"to", ttype:CONST}, +{input:">->", tag:"mo", output:"\u21A3", tex:"rightarrowtail", ttype:CONST}, +{input:"->>", tag:"mo", output:"\u21A0", tex:"twoheadrightarrow", ttype:CONST}, +{input:">->>", tag:"mo", output:"\u2916", tex:"twoheadrightarrowtail", ttype:CONST}, +{input:"|->", tag:"mo", output:"\u21A6", tex:"mapsto", ttype:CONST}, +{input:"larr", tag:"mo", output:"\u2190", tex:"leftarrow", ttype:CONST}, +{input:"harr", tag:"mo", output:"\u2194", tex:"leftrightarrow", ttype:CONST}, +{input:"rArr", tag:"mo", output:"\u21D2", tex:"Rightarrow", ttype:CONST}, +{input:"lArr", tag:"mo", output:"\u21D0", tex:"Leftarrow", ttype:CONST}, +{input:"hArr", tag:"mo", output:"\u21D4", tex:"Leftrightarrow", ttype:CONST}, +//commands with argument +{input:"sqrt", tag:"msqrt", output:"sqrt", tex:null, ttype:UNARY}, +{input:"root", tag:"mroot", output:"root", tex:null, ttype:BINARY}, +{input:"frac", tag:"mfrac", output:"/", tex:null, ttype:BINARY}, +{input:"/", tag:"mfrac", output:"/", tex:null, ttype:INFIX}, +{input:"stackrel", tag:"mover", output:"stackrel", tex:null, ttype:BINARY}, +{input:"overset", tag:"mover", output:"stackrel", tex:null, ttype:BINARY}, +{input:"underset", tag:"munder", output:"stackrel", tex:null, ttype:BINARY}, +{input:"_", tag:"msub", output:"_", tex:null, ttype:INFIX}, +{input:"^", tag:"msup", output:"^", tex:null, ttype:INFIX}, +{input:"hat", tag:"mover", output:"\u005E", tex:null, ttype:UNARY, acc:true}, +{input:"bar", tag:"mover", output:"\u00AF", tex:"overline", ttype:UNARY, acc:true}, +{input:"vec", tag:"mover", output:"\u2192", tex:null, ttype:UNARY, acc:true}, +{input:"dot", tag:"mover", output:".", tex:null, ttype:UNARY, acc:true}, +{input:"ddot", tag:"mover", output:"..", tex:null, ttype:UNARY, acc:true}, +{input:"overarc", tag:"mover", output:"\u23DC", tex:"overparen", ttype:UNARY, acc:true}, +{input:"ul", tag:"munder", output:"\u0332", tex:"underline", ttype:UNARY, acc:true}, +{input:"ubrace", tag:"munder", output:"\u23DF", tex:"underbrace", ttype:UNARYUNDEROVER, acc:true}, +{input:"obrace", tag:"mover", output:"\u23DE", tex:"overbrace", ttype:UNARYUNDEROVER, acc:true}, +{input:"text", tag:"mtext", output:"text", tex:null, ttype:TEXT}, +{input:"mbox", tag:"mtext", output:"mbox", tex:null, ttype:TEXT}, +{input:"color", tag:"mstyle", ttype:BINARY}, +{input:"id", tag:"mrow", ttype:BINARY}, +{input:"class", tag:"mrow", ttype:BINARY}, +{input:"cancel", tag:"menclose", output:"cancel", tex:null, ttype:UNARY}, +AMquote, +{input:"bb", tag:"mstyle", atname:"mathvariant", atval:"bold", output:"bb", tex:null, ttype:UNARY}, +{input:"mathbf", tag:"mstyle", atname:"mathvariant", atval:"bold", output:"mathbf", tex:null, ttype:UNARY}, +{input:"sf", tag:"mstyle", atname:"mathvariant", atval:"sans-serif", output:"sf", tex:null, ttype:UNARY}, +{input:"mathsf", tag:"mstyle", atname:"mathvariant", atval:"sans-serif", output:"mathsf", tex:null, ttype:UNARY}, +{input:"bbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"bbb", tex:null, ttype:UNARY, codes:AMbbb}, +{input:"mathbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"mathbb", tex:null, ttype:UNARY, codes:AMbbb}, +{input:"cc", tag:"mstyle", atname:"mathvariant", atval:"script", output:"cc", tex:null, ttype:UNARY, codes:AMcal}, +{input:"mathcal", tag:"mstyle", atname:"mathvariant", atval:"script", output:"mathcal", tex:null, ttype:UNARY, codes:AMcal}, +{input:"tt", tag:"mstyle", atname:"mathvariant", atval:"monospace", output:"tt", tex:null, ttype:UNARY}, +{input:"mathtt", tag:"mstyle", atname:"mathvariant", atval:"monospace", output:"mathtt", tex:null, ttype:UNARY}, +{input:"fr", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"fr", tex:null, ttype:UNARY, codes:AMfrk}, +{input:"mathfrak", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"mathfrak", tex:null, ttype:UNARY, codes:AMfrk} +]; + +function compareNames(s1,s2) { + if (s1.input > s2.input) return 1 + else return -1; +} + +var AMnames = []; //list of input symbols + +function initSymbols() { + var i; + var symlen = AMsymbols.length; + for (i=0; i=n where str appears or would be inserted +// assumes arr is sorted + if (n==0) { + var h,m; + n = -1; + h = arr.length; + while (n+1> 1; + if (arr[m]=str +} + +function AMgetSymbol(str) { +//return maximal initial substring of str that appears in names +//return null if there is none + var k = 0; //new pos + var j = 0; //old pos + var mk; //match pos + var st; + var tagst; + var match = ""; + var more = true; + for (var i=1; i<=str.length && more; i++) { + st = str.slice(0,i); //initial substring of length i + j = k; + k = position(AMnames, st, j); + if (k=AMnames[k]; + } + AMpreviousSymbol=AMcurrentSymbol; + if (match!=""){ + AMcurrentSymbol=AMsymbols[mk].ttype; + return AMsymbols[mk]; + } +// if str[0] is a digit or - return maxsubstring of digits.digits + AMcurrentSymbol=CONST; + k = 1; + st = str.slice(0,1); + var integ = true; + while ("0"<=st && st<="9" && k<=str.length) { + st = str.slice(k,k+1); + k++; + } + if (st == decimalsign) { + st = str.slice(k,k+1); + if ("0"<=st && st<="9") { + integ = false; + k++; + while ("0"<=st && st<="9" && k<=str.length) { + st = str.slice(k,k+1); + k++; + } + } + } + if ((integ && k>1) || k>2) { + st = str.slice(0,k-1); + tagst = "mn"; + } else { + k = 2; + st = str.slice(0,1); //take 1 character + tagst = (("A">st || st>"Z") && ("a">st || st>"z")?"mo":"mi"); + } + if (st=="-" && AMpreviousSymbol==INFIX) { + AMcurrentSymbol = INFIX; //trick "/" into recognizing "-" on second parse + return {input:st, tag:tagst, output:st, ttype:UNARY, func:true}; + } + return {input:st, tag:tagst, output:st, ttype:CONST}; +} + +function AMremoveBrackets(node) { + var st; + if (!node.hasChildNodes()) { return; } + if (node.firstChild.hasChildNodes() && (node.nodeName=="mrow" || node.nodeName=="M:MROW")) { + st = node.firstChild.firstChild.nodeValue; + if (st=="(" || st=="[" || st=="{") node.removeChild(node.firstChild); + } + if (node.lastChild.hasChildNodes() && (node.nodeName=="mrow" || node.nodeName=="M:MROW")) { + st = node.lastChild.firstChild.nodeValue; + if (st==")" || st=="]" || st=="}") node.removeChild(node.lastChild); + } +} + +/*Parsing ASCII math expressions with the following grammar +v ::= [A-Za-z] | greek letters | numbers | other constant symbols +u ::= sqrt | text | bb | other unary symbols for font commands +b ::= frac | root | stackrel binary symbols +l ::= ( | [ | { | (: | {: left brackets +r ::= ) | ] | } | :) | :} right brackets +S ::= v | lEr | uS | bSS Simple expression +I ::= S_S | S^S | S_S^S | S Intermediate expression +E ::= IE | I/I Expression +Each terminal symbol is translated into a corresponding mathml node.*/ + +var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol; + +function AMparseSexpr(str) { //parses str and returns [node,tailstr] + var symbol, node, result, i, st,// rightvert = false, + newFrag = document.createDocumentFragment(); + str = AMremoveCharsAndBlanks(str,0); + symbol = AMgetSymbol(str); //either a token or a bracket or empty + if (symbol == null || symbol.ttype == RIGHTBRACKET && AMnestingDepth > 0) { + return [null,str]; + } + if (symbol.ttype == DEFINITION) { + str = symbol.output+AMremoveCharsAndBlanks(str,symbol.input.length); + symbol = AMgetSymbol(str); + } + switch (symbol.ttype) { case UNDEROVER: + case CONST: + str = AMremoveCharsAndBlanks(str,symbol.input.length); + return [createMmlNode(symbol.tag, //its a constant + document.createTextNode(symbol.output)),str]; + case LEFTBRACKET: //read (expr+) + AMnestingDepth++; + str = AMremoveCharsAndBlanks(str,symbol.input.length); + result = AMparseExpr(str,true); + AMnestingDepth--; + if (typeof symbol.invisible == "boolean" && symbol.invisible) + node = createMmlNode("mrow",result[0]); + else { + node = createMmlNode("mo",document.createTextNode(symbol.output)); + node = createMmlNode("mrow",node); + node.appendChild(result[0]); + } + return [node,result[1]]; + case TEXT: + if (symbol!=AMquote) str = AMremoveCharsAndBlanks(str,symbol.input.length); + if (str.charAt(0)=="{") i=str.indexOf("}"); + else if (str.charAt(0)=="(") i=str.indexOf(")"); + else if (str.charAt(0)=="[") i=str.indexOf("]"); + else if (symbol==AMquote) i=str.slice(1).indexOf("\"")+1; + else i = 0; + if (i==-1) i = str.length; + st = str.slice(1,i); + if (st.charAt(0) == " ") { + node = createMmlNode("mspace"); + node.setAttribute("width","1ex"); + newFrag.appendChild(node); + } + newFrag.appendChild( + createMmlNode(symbol.tag,document.createTextNode(st))); + if (st.charAt(st.length-1) == " ") { + node = createMmlNode("mspace"); + node.setAttribute("width","1ex"); + newFrag.appendChild(node); + } + str = AMremoveCharsAndBlanks(str,i+1); + return [createMmlNode("mrow",newFrag),str]; + case UNARYUNDEROVER: + case UNARY: + str = AMremoveCharsAndBlanks(str,symbol.input.length); + result = AMparseSexpr(str); + if (result[0]==null) return [createMmlNode(symbol.tag, + document.createTextNode(symbol.output)),str]; + if (typeof symbol.func == "boolean" && symbol.func) { // functions hack + st = str.charAt(0); + if (st=="^" || st=="_" || st=="/" || st=="|" || st=="," || + (symbol.input.length==1 && symbol.input.match(/\w/) && st!="(")) { + return [createMmlNode(symbol.tag, + document.createTextNode(symbol.output)),str]; + } else { + node = createMmlNode("mrow", + createMmlNode(symbol.tag,document.createTextNode(symbol.output))); + node.appendChild(result[0]); + return [node,result[1]]; + } + } + AMremoveBrackets(result[0]); + if (symbol.input == "sqrt") { // sqrt + return [createMmlNode(symbol.tag,result[0]),result[1]]; + } else if (typeof symbol.rewriteleftright != "undefined") { // abs, floor, ceil + node = createMmlNode("mrow", createMmlNode("mo",document.createTextNode(symbol.rewriteleftright[0]))); + node.appendChild(result[0]); + node.appendChild(createMmlNode("mo",document.createTextNode(symbol.rewriteleftright[1]))); + return [node,result[1]]; + } else if (symbol.input == "cancel") { // cancel + node = createMmlNode(symbol.tag,result[0]); + node.setAttribute("notation","updiagonalstrike"); + return [node,result[1]]; + } else if (typeof symbol.acc == "boolean" && symbol.acc) { // accent + node = createMmlNode(symbol.tag,result[0]); + var accnode = createMmlNode("mo",document.createTextNode(symbol.output)); + if (symbol.input=="vec" && ( + (result[0].nodeName=="mrow" && result[0].childNodes.length==1 + && result[0].firstChild.firstChild.nodeValue !== null + && result[0].firstChild.firstChild.nodeValue.length==1) || + (result[0].firstChild.nodeValue !== null + && result[0].firstChild.nodeValue.length==1) )) { + accnode.setAttribute("stretchy",false); + } + node.appendChild(accnode); + return [node,result[1]]; + } else { // font change command + if (!isIE && typeof symbol.codes != "undefined") { + for (i=0; i64 && st.charCodeAt(j)<91) + newst = newst + symbol.codes[st.charCodeAt(j)-65]; + else if (st.charCodeAt(j)>96 && st.charCodeAt(j)<123) + newst = newst + symbol.codes[st.charCodeAt(j)-71]; + else newst = newst + st.charAt(j); + if (result[0].nodeName=="mi") + result[0]=createMmlNode("mo"). + appendChild(document.createTextNode(newst)); + else result[0].replaceChild(createMmlNode("mo"). + appendChild(document.createTextNode(newst)), + result[0].childNodes[i]); + } + } + node = createMmlNode(symbol.tag,result[0]); + node.setAttribute(symbol.atname,symbol.atval); + return [node,result[1]]; + } + case BINARY: + str = AMremoveCharsAndBlanks(str,symbol.input.length); + result = AMparseSexpr(str); + if (result[0]==null) return [createMmlNode("mo", + document.createTextNode(symbol.input)),str]; + AMremoveBrackets(result[0]); + var result2 = AMparseSexpr(result[1]); + if (result2[0]==null) return [createMmlNode("mo", + document.createTextNode(symbol.input)),str]; + AMremoveBrackets(result2[0]); + if (['color', 'class', 'id'].indexOf(symbol.input) >= 0) { + + // Get the second argument + if (str.charAt(0)=="{") i=str.indexOf("}"); + else if (str.charAt(0)=="(") i=str.indexOf(")"); + else if (str.charAt(0)=="[") i=str.indexOf("]"); + st = str.slice(1,i); + + // Make a mathml node + node = createMmlNode(symbol.tag,result2[0]); + + // Set the correct attribute + if (symbol.input === "color") node.setAttribute("mathcolor", st) + else if (symbol.input === "class") node.setAttribute("class", st) + else if (symbol.input === "id") node.setAttribute("id", st) + return [node,result2[1]]; + } + if (symbol.input=="root" || symbol.output=="stackrel") + newFrag.appendChild(result2[0]); + newFrag.appendChild(result[0]); + if (symbol.input=="frac") newFrag.appendChild(result2[0]); + return [createMmlNode(symbol.tag,newFrag),result2[1]]; + case INFIX: + str = AMremoveCharsAndBlanks(str,symbol.input.length); + return [createMmlNode("mo",document.createTextNode(symbol.output)),str]; + case SPACE: + str = AMremoveCharsAndBlanks(str,symbol.input.length); + node = createMmlNode("mspace"); + node.setAttribute("width","1ex"); + newFrag.appendChild(node); + newFrag.appendChild( + createMmlNode(symbol.tag,document.createTextNode(symbol.output))); + node = createMmlNode("mspace"); + node.setAttribute("width","1ex"); + newFrag.appendChild(node); + return [createMmlNode("mrow",newFrag),str]; + case LEFTRIGHT: +// if (rightvert) return [null,str]; else rightvert = true; + AMnestingDepth++; + str = AMremoveCharsAndBlanks(str,symbol.input.length); + result = AMparseExpr(str,false); + AMnestingDepth--; + st = ""; + if (result[0].lastChild!=null) + st = result[0].lastChild.firstChild.nodeValue; + if (st == "|" && str.charAt(0)!==",") { // its an absolute value subterm + node = createMmlNode("mo",document.createTextNode(symbol.output)); + node = createMmlNode("mrow",node); + node.appendChild(result[0]); + return [node,result[1]]; + } else { // the "|" is a \mid so use unicode 2223 (divides) for spacing + node = createMmlNode("mo",document.createTextNode("\u2223")); + node = createMmlNode("mrow",node); + return [node,str]; + } + default: +//alert("default"); + str = AMremoveCharsAndBlanks(str,symbol.input.length); + return [createMmlNode(symbol.tag, //its a constant + document.createTextNode(symbol.output)),str]; + } +} + +function AMparseIexpr(str) { + var symbol, sym1, sym2, node, result, underover; + str = AMremoveCharsAndBlanks(str,0); + sym1 = AMgetSymbol(str); + result = AMparseSexpr(str); + node = result[0]; + str = result[1]; + symbol = AMgetSymbol(str); + if (symbol.ttype == INFIX && symbol.input != "/") { + str = AMremoveCharsAndBlanks(str,symbol.input.length); +// if (symbol.input == "/") result = AMparseIexpr(str); else ... + result = AMparseSexpr(str); + if (result[0] == null) // show box in place of missing argument + result[0] = createMmlNode("mo",document.createTextNode("\u25A1")); + else AMremoveBrackets(result[0]); + str = result[1]; +// if (symbol.input == "/") AMremoveBrackets(node); + underover = (sym1.ttype == UNDEROVER || sym1.ttype == UNARYUNDEROVER); + if (symbol.input == "_") { + sym2 = AMgetSymbol(str); + if (sym2.input == "^") { + str = AMremoveCharsAndBlanks(str,sym2.input.length); + var res2 = AMparseSexpr(str); + AMremoveBrackets(res2[0]); + str = res2[1]; + node = createMmlNode((underover?"munderover":"msubsup"),node); + node.appendChild(result[0]); + node.appendChild(res2[0]); + node = createMmlNode("mrow",node); // so sum does not stretch + } else { + node = createMmlNode((underover?"munder":"msub"),node); + node.appendChild(result[0]); + } + } else if (symbol.input == "^" && underover) { + node = createMmlNode("mover",node); + node.appendChild(result[0]); + } else { + node = createMmlNode(symbol.tag,node); + node.appendChild(result[0]); + } + if (typeof sym1.func != 'undefined' && sym1.func) { + sym2 = AMgetSymbol(str); + if (sym2.ttype != INFIX && sym2.ttype != RIGHTBRACKET) { + result = AMparseIexpr(str); + node = createMmlNode("mrow",node); + node.appendChild(result[0]); + str = result[1]; + } + } + } + return [node,str]; +} + +function AMparseExpr(str,rightbracket) { + var symbol, node, result, i, + newFrag = document.createDocumentFragment(); + do { + str = AMremoveCharsAndBlanks(str,0); + result = AMparseIexpr(str); + node = result[0]; + str = result[1]; + symbol = AMgetSymbol(str); + if (symbol.ttype == INFIX && symbol.input == "/") { + str = AMremoveCharsAndBlanks(str,symbol.input.length); + result = AMparseIexpr(str); + if (result[0] == null) // show box in place of missing argument + result[0] = createMmlNode("mo",document.createTextNode("\u25A1")); + else AMremoveBrackets(result[0]); + str = result[1]; + AMremoveBrackets(node); + node = createMmlNode(symbol.tag,node); + node.appendChild(result[0]); + newFrag.appendChild(node); + symbol = AMgetSymbol(str); + } + else if (node!=undefined) newFrag.appendChild(node); + } while ((symbol.ttype != RIGHTBRACKET && + (symbol.ttype != LEFTRIGHT || rightbracket) + || AMnestingDepth == 0) && symbol!=null && symbol.output!=""); + if (symbol.ttype == RIGHTBRACKET || symbol.ttype == LEFTRIGHT) { +// if (AMnestingDepth > 0) AMnestingDepth--; + var len = newFrag.childNodes.length; + if (len>0 && newFrag.childNodes[len-1].nodeName == "mrow" + && newFrag.childNodes[len-1].lastChild + && newFrag.childNodes[len-1].lastChild.firstChild ) { //matrix + //removed to allow row vectors: //&& len>1 && + //newFrag.childNodes[len-2].nodeName == "mo" && + //newFrag.childNodes[len-2].firstChild.nodeValue == "," + var right = newFrag.childNodes[len-1].lastChild.firstChild.nodeValue; + if (right==")" || right=="]") { + var left = newFrag.childNodes[len-1].firstChild.firstChild.nodeValue; + if (left=="(" && right==")" && symbol.output != "}" || + left=="[" && right=="]") { + var pos = []; // positions of commas + var matrix = true; + var m = newFrag.childNodes.length; + for (i=0; matrix && i1) matrix = pos[i].length == pos[i-2].length; + } + matrix = matrix && (pos.length>1 || pos[0].length>0); + var columnlines = []; + if (matrix) { + var row, frag, n, k, table = document.createDocumentFragment(); + for (i=0; i(-,-,...,-,-) + n = node.childNodes.length; + k = 0; + node.removeChild(node.firstChild); //remove ( + for (j=1; j2) { + newFrag.removeChild(newFrag.firstChild); //remove ) + newFrag.removeChild(newFrag.firstChild); //remove , + } + table.appendChild(createMmlNode("mtr",row)); + } + node = createMmlNode("mtable",table); + node.setAttribute("columnlines", columnlines.join(" ")); + if (typeof symbol.invisible == "boolean" && symbol.invisible) node.setAttribute("columnalign","left"); + newFrag.replaceChild(node,newFrag.firstChild); + } + } + } + } + str = AMremoveCharsAndBlanks(str,symbol.input.length); + if (typeof symbol.invisible != "boolean" || !symbol.invisible) { + node = createMmlNode("mo",document.createTextNode(symbol.output)); + newFrag.appendChild(node); + } + } + return [newFrag,str]; +} + +function parseMath(str,latex) { + var frag, node; + AMnestingDepth = 0; + //some basic cleanup for dealing with stuff editors like TinyMCE adds + str = str.replace(/ /g,""); + str = str.replace(/>/g,">"); + str = str.replace(/</g,"<"); + frag = AMparseExpr(str.replace(/^\s+/g,""),false)[0]; + node = createMmlNode("mstyle",frag); + if (mathcolor != "") node.setAttribute("mathcolor",mathcolor); + if (mathfontsize != "") { + node.setAttribute("fontsize", mathfontsize); + node.setAttribute("mathsize", mathfontsize); + } + if (mathfontfamily != "") { + node.setAttribute("fontfamily", mathfontfamily); + node.setAttribute("mathvariant", mathfontfamily); + } + + if (displaystyle) node.setAttribute("displaystyle","true"); + node = createMmlNode("math",node); + if (showasciiformulaonhover) //fixed by djhsu so newline + node.setAttribute("title",str.replace(/\s+/g," "));//does not show in Gecko + return node; +} + +/* +function strarr2docFrag(arr, linebreaks, latex) { + var newFrag=document.createDocumentFragment(); + var expr = false; + for (var i=0; i,\\|!:;'~]|\\.(?!(?:\x20|$))|"+ambigAMtoken+englishAMtoken+simpleAMtoken; + var re = new RegExp("(^|\\s)((("+token+")\\s?)(("+token+secondenglishAMtoken+")\\s?)+)([,.?]?(?=\\s|$))","g"); + str = str.replace(re," `$2`$7"); + var arr = str.split(AMdelimiter1); + var re1 = new RegExp("(^|\\s)([b-zB-HJ-Z+*<>]|"+texcommand+ambigAMtoken+simpleAMtoken+")(\\s|\\n|$)","g"); + var re2 = new RegExp("(^|\\s)([a-z]|"+texcommand+ambigAMtoken+simpleAMtoken+")([,.])","g"); // removed |\d+ for now + for (i=0; i1 || mtch) { + if (!noMathML) { + frg = strarr2docFrag(arr,n.nodeType==8,latex); + var len = frg.childNodes.length; + n.parentNode.replaceChild(frg,n); + return len-1; + } else return 0; + } + } + } else return 0; + } else if (n.nodeName!="math") { + for (i=0; i element, not %1", + "<"+doc.firstChild.nodeName+">"]); + } + var data = {math:doc.firstChild, script:script}; + MATHML.DOMfilterHooks.Execute(data); + this.mml = this.MakeMML(data.math); + }, + + // + // Convert the MathML structure to the MathJax Element jax structure + // + MakeMML: function (node) { + var CLASS = String(node.getAttribute("class")||""); // make sure CLASS is a string + var mml, type = node.nodeName.toLowerCase().replace(/^[a-z]+:/,""); + var match = (CLASS.match(/(^| )MJX-TeXAtom-([^ ]*)/)); + if (match) { + mml = this.TeXAtom(match[2],match[2] === "OP" && !CLASS.match(/MJX-fixedlimits/)); + } else if (!(MML[type] && MML[type].isa && MML[type].isa(MML.mbase))) { + MathJax.Hub.signal.Post(["MathML Jax - unknown node type",type]); + return MML.Error(_("UnknownNodeType","Unknown node type: %1",type)); + } else { + mml = MML[type](); + } + this.AddAttributes(mml,node); this.CheckClass(mml,mml["class"]); + this.AddChildren(mml,node); + if (MATHML.config.useMathMLspacing) {mml.useMMLspacing = 0x08} + return mml; + }, + TeXAtom: function (mclass,movablelimits) { + var mml = MML.TeXAtom().With({texClass:MML.TEXCLASS[mclass]}); + if (movablelimits) {mml.movesupsub = mml.movablelimits = true} + return mml; + }, + CheckClass: function (mml,CLASS) { + CLASS = (CLASS||"").split(/ /); var NCLASS = []; + for (var i = 0, m = CLASS.length; i < m; i++) { + if (CLASS[i].substr(0,4) === "MJX-") { + if (CLASS[i] === "MJX-arrow") { + // This class was used in former versions of MathJax to attach an + // arrow to the updiagonalstrike notation. For backward + // compatibility, let's continue to accept this case. See issue 481. + if (!mml.notation.match("/"+MML.NOTATION.UPDIAGONALARROW+"/")) + mml.notation += " "+MML.NOTATION.UPDIAGONALARROW; + } else if (CLASS[i] === "MJX-variant") { + mml.variantForm = true; + // + // Variant forms come from AMSsymbols, and it sets up the + // character mappings, so load that if needed. + // + if (!MathJax.Extension["TeX/AMSsymbols"]) + {MathJax.Hub.RestartAfter(MathJax.Ajax.Require("[MathJax]/extensions/TeX/AMSsymbols.js"))} + } else if (CLASS[i].substr(0,11) !== "MJX-TeXAtom") { + mml.mathvariant = CLASS[i].substr(3); + // + // Caligraphic and oldstyle bold are set up in the boldsymbol + // extension, so load it if it isn't already loaded. + // + if (mml.mathvariant === "-tex-caligraphic-bold" || + mml.mathvariant === "-tex-oldstyle-bold") { + if (!MathJax.Extension["TeX/boldsymbol"]) + {MathJax.Hub.RestartAfter(MathJax.Ajax.Require("[MathJax]/extensions/TeX/boldsymbol.js"))} + } + } + } else {NCLASS.push(CLASS[i])} + } + if (NCLASS.length) {mml["class"] = NCLASS.join(" ")} else {delete mml["class"]} + }, + + // + // Add the attributes to the mml node + // + AddAttributes: function (mml,node) { + mml.attr = {}; mml.attrNames = []; + for (var i = 0, m = node.attributes.length; i < m; i++) { + var name = node.attributes[i].name; + if (name == "xlink:href") {name = "href"} + if (name.match(/:/)) continue; + if (name.match(/^_moz-math-((column|row)(align|line)|font-style)$/)) continue; + var value = node.attributes[i].value; + value = this.filterAttribute(name,value); + var defaults = (mml.type === "mstyle" ? MML.math.prototype.defaults : mml.defaults); + if (value != null) { + var val = value.toLowerCase(); + if (val === "true" || val === "false") { + if (typeof (defaults[name]) === "boolean" || defaults[name] === MML.INHERIT || + mml.type === "math" || mml.type === "mstyle" || + (defaults[name] === MML.AUTO && + (mml.defaultDef == null || typeof(mml.defaultDef[name]) === "boolean"))) { + value = (val === "true"); + } + } + if (defaults[name] != null || MML.copyAttributes[name]) + {mml[name] = value} else {mml.attr[name] = value} + mml.attrNames.push(name); + } + } + }, + filterAttribute: function (name,value) {return value}, // safe mode overrides this + + // + // Create the children for the mml node + // + AddChildren: function (mml,node) { + for (var i = 0, m = node.childNodes.length; i < m; i++) { + var child = node.childNodes[i]; + if (child.nodeName === "#comment") continue; + if (child.nodeName === "#text") { + if ((mml.isToken || mml.isChars) && !mml.mmlSelfClosing) { + var text = child.nodeValue; + if (mml.isToken) { + text = text.replace(/&([a-z][a-z0-9]*);/ig,this.replaceEntity); + text = this.trimSpace(text); + } + mml.Append(MML.chars(text)); + } else if (child.nodeValue.match(/\S/)) { + MATHML.Error(["UnexpectedTextNode", + "Unexpected text node: %1","'"+child.nodeValue+"'"]); + } + } else if (mml.type === "annotation-xml") { + mml.Append(MML.xml(child)); + } else { + var cmml = this.MakeMML(child); mml.Append(cmml); + if (cmml.mmlSelfClosing && cmml.data.length) + {mml.Append.apply(mml,cmml.data); cmml.data = []} + } + } + if (mml.type === "mrow" && mml.data.length >= 2) { + var first = mml.data[0], last = mml.data[mml.data.length-1]; + if (first.type === "mo" && first.Get("fence") && + last.type === "mo" && last.Get("fence")) { + if (first.data[0]) {mml.open = first.data.join("")} + if (last.data[0]) {mml.close = last.data.join("")} + } + } + }, + + // + // Clean Up the source to prepare for XML parsing + // + preProcessMath: function (math) { + if (math.match(/^<[a-z]+:/i) && !math.match(/^<[^<>]* xmlns:/)) { + math = math.replace(/^<([a-z]+)(:math)/i,'<$1$2 xmlns:$1="http://www.w3.org/1998/Math/MathML"') + } + // HTML5 removes xmlns: namespaces, so put them back for XML + var match = math.match(/^(])+)>)/i); + if (match && match[2].match(/ (?!xmlns=)[a-z]+=\"http:/i)) { + math = match[1].replace(/ (?!xmlns=)([a-z]+=(['"])http:.*?\2)/ig," xmlns:$1 $1") + + math.substr(match[0].length); + } + if (math.match(/^]/i) && !math.match(/^<[^<>]* xmlns=/)) { + // append the MathML namespace + math = math.replace(/^<(math)/i,'\s*$/,"$2"); + return math.replace(/&([a-z][a-z0-9]*);/ig,this.replaceEntity); + }, + + // + // Remove attribute whitespace + // + trimSpace: function (string) { + return string.replace(/[\t\n\r]/g," ") // whitespace to spaces + .replace(/^ +/,"") // initial whitespace + .replace(/ +$/,"") // trailing whitespace + .replace(/ +/g," "); // internal multiple whitespace + }, + + // + // Replace a named entity by its value + // (look up from external files if necessary) + // + replaceEntity: function (match,entity) { + if (entity.match(/^(lt|amp|quot)$/)) {return match} // these mess up attribute parsing + if (MATHML.Parse.Entity[entity]) {return MATHML.Parse.Entity[entity]} + var file = entity.charAt(0).toLowerCase(); + var font = entity.match(/^[a-zA-Z](fr|scr|opf)$/); + if (font) {file = font[1]} + if (!MATHML.Parse.loaded[file]) { + MATHML.Parse.loaded[file] = true; + MathJax.Hub.RestartAfter(MathJax.Ajax.Require(MATHML.entityDir+"/"+file+".js")); + } + return match; + } + }, { + loaded: [] // the entity files that are loaded + }); + + /************************************************************************/ + + MATHML.Augment({ + sourceMenuTitle: /*_(MathMenu)*/ ["OriginalMathML","Original MathML"], + + prefilterHooks: MathJax.Callback.Hooks(true), // hooks to run on MathML string before processing MathML + DOMfilterHooks: MathJax.Callback.Hooks(true), // hooks to run on MathML DOM before processing + postfilterHooks: MathJax.Callback.Hooks(true), // hooks to run on internal jax format after processing MathML + + Translate: function (script) { + if (!this.ParseXML) {this.ParseXML = this.createParser()} + var mml, math, data = {script:script}; + if (script.firstChild && + script.firstChild.nodeName.toLowerCase().replace(/^[a-z]+:/,"") === "math") { + data.math = script.firstChild; + } else { + math = MathJax.HTML.getScript(script); + if (BROWSER.isMSIE) {math = math.replace(/( )+$/,"")} + data.math = math; + } + var callback = this.prefilterHooks.Execute(data); if (callback) return callback; + math = data.math; + try { + mml = MATHML.Parse(math,script).mml; + } catch(err) { + if (!err.mathmlError) {throw err} + mml = this.formatError(err,math,script); + } + data.math = MML(mml); + return this.postfilterHooks.Execute(data) || data.math; + }, + prefilterMath: function (math,script) {return math}, + prefilterMathML: function (math,script) {return math}, + formatError: function (err,math,script) { + var message = err.message.replace(/\n.*/,""); + MathJax.Hub.signal.Post(["MathML Jax - parse error",message,math,script]); + return MML.Error(message); + }, + Error: function (message) { + // + // Translate message if it is ["id","message",args] + // + if (MathJax.Object.isArray(message)) {message = _.apply(_,message)} + throw MathJax.Hub.Insert(Error(message),{mathmlError: true}); + }, + // + // Parsers for various forms (DOMParser, Windows ActiveX object, other) + // + parseDOM: function (string) {return this.parser.parseFromString(string,"text/xml")}, + parseMS: function (string) {return (this.parser.loadXML(string) ? this.parser : null)}, + parseDIV: function (string) { + this.div.innerHTML = + "
        "+string.replace(/<([a-z]+)([^>]*)\/>/g,"<$1$2>")+"
        "; + var doc = this.div.firstChild; + this.div.innerHTML = ""; + return doc; + }, + parseError: function (string) {return null}, + createMSParser: function() { + var parser = null; + var xml = ["MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.5.0", + "MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0", + "MSXML2.DOMDocument.2.0","Microsoft.XMLDOM"]; + for (var i = 0, m = xml.length; i < m && !parser; i++) { + try { + parser = new ActiveXObject(xml[i]) + } catch (err) {} + } + return parser; + }, + // + // Create the parser using a DOMParser, or other fallback method + // + createParser: function () { + if (window.DOMParser) { + this.parser = new DOMParser(); + return(this.parseDOM); + } else if (window.ActiveXObject) { + this.parser = this.createMSParser(); + if (!this.parser) { + MathJax.Localization.Try(this.parserCreationError); + return(this.parseError); + } + this.parser.async = false; + return(this.parseMS); + } + this.div = MathJax.Hub.Insert(document.createElement("div"),{ + style:{visibility:"hidden", overflow:"hidden", height:"1px", + position:"absolute", top:0} + }); + if (!document.body.firstChild) {document.body.appendChild(this.div)} + else {document.body.insertBefore(this.div,document.body.firstChild)} + return(this.parseDIV); + }, + parserCreationError: function () { + alert(_("CantCreateXMLParser", + "MathJax can't create an XML parser for MathML. Check that\n"+ + "the 'Script ActiveX controls marked safe for scripting' security\n"+ + "setting is enabled (use the Internet Options item in the Tools\n"+ + "menu, and select the Security panel, then press the Custom Level\n"+ + "button to check this).\n\n"+ + "MathML equations will not be able to be processed by MathJax.")); + }, + // + // Initialize the parser object (whichever type is used) + // + Startup: function () { + MML = MathJax.ElementJax.mml; + MML.mspace.Augment({mmlSelfClosing: true}); + MML.none.Augment({mmlSelfClosing: true}); + MML.mprescripts.Augment({mmlSelfClosing:true}); + MML.maligngroup.Augment({mmlSelfClosing:true}); + MML.malignmark.Augment({mmlSelfClosing:true}); + } + }); + + // + // Add the default pre-filter (for backward compatibility) + // + MATHML.prefilterHooks.Add(function (data) { + data.math = (typeof(data.math) === "string" ? + MATHML.prefilterMath(data.math,data.script) : + MATHML.prefilterMathML(data.math,data.script)); + }); + + MATHML.Parse.Entity = { + ApplyFunction: '\u2061', + Backslash: '\u2216', + Because: '\u2235', + Breve: '\u02D8', + Cap: '\u22D2', + CenterDot: '\u00B7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + Congruent: '\u2261', + ContourIntegral: '\u222E', + Coproduct: '\u2210', + Cross: '\u2A2F', + Cup: '\u22D3', + CupCap: '\u224D', + Dagger: '\u2021', + Del: '\u2207', + Delta: '\u0394', + Diamond: '\u22C4', + DifferentialD: '\u2146', + DotEqual: '\u2250', + DoubleDot: '\u00A8', + DoubleRightTee: '\u22A8', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownLeftVector: '\u21BD', + DownRightVector: '\u21C1', + DownTee: '\u22A4', + Downarrow: '\u21D3', + Element: '\u2208', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Exists: '\u2203', + ExponentialE: '\u2147', + FilledVerySmallSquare: '\u25AA', + ForAll: '\u2200', + Gamma: '\u0393', + Gg: '\u22D9', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Hacek: '\u02C7', + Hat: '\u005E', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + Im: '\u2111', + ImaginaryI: '\u2148', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Lambda: '\u039B', + Larr: '\u219E', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDownVector: '\u21C3', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftTee: '\u22A3', + LeftTriangle: '\u22B2', + LeftTriangleEqual: '\u22B4', + LeftUpVector: '\u21BF', + LeftVector: '\u21BC', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lsh: '\u21B0', + MinusPlus: '\u2213', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotLeftTriangle: '\u22EA', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotPrecedes: '\u2280', + NotPrecedesSlantEqual: '\u22E0', + NotRightTriangle: '\u22EB', + NotRightTriangleEqual: '\u22ED', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsSlantEqual: '\u22E1', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotVerticalBar: '\u2224', + Omega: '\u03A9', + OverBar: '\u203E', + OverBrace: '\u23DE', + PartialD: '\u2202', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Product: '\u220F', + Proportional: '\u221D', + Psi: '\u03A8', + Rarr: '\u21A0', + Re: '\u211C', + ReverseEquilibrium: '\u21CB', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDownVector: '\u21C2', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTriangle: '\u22B3', + RightTriangleEqual: '\u22B5', + RightUpVector: '\u21BE', + RightVector: '\u21C0', + Rightarrow: '\u21D2', + Rrightarrow: '\u21DB', + Rsh: '\u21B1', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Star: '\u22C6', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + Therefore: '\u2234', + Theta: '\u0398', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + Union: '\u22C3', + UnionPlus: '\u228E', + UpArrow: '\u2191', + UpDownArrow: '\u2195', + UpTee: '\u22A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + Upsilon: '\u03A5', + Vdash: '\u22A9', + Vee: '\u22C1', + VerticalBar: '\u2223', + VerticalTilde: '\u2240', + Vvdash: '\u22AA', + Wedge: '\u22C0', + Xi: '\u039E', + acute: '\u00B4', + aleph: '\u2135', + alpha: '\u03B1', + amalg: '\u2A3F', + and: '\u2227', + ang: '\u2220', + angmsd: '\u2221', + angsph: '\u2222', + ape: '\u224A', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bigcirc: '\u25EF', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + blacklozenge: '\u29EB', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + bowtie: '\u22C8', + boxdl: '\u2510', + boxdr: '\u250C', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxul: '\u2518', + boxur: '\u2514', + bsol: '\u005C', + bull: '\u2022', + cap: '\u2229', + check: '\u2713', + chi: '\u03C7', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + clubs: '\u2663', + colon: '\u003A', + comp: '\u2201', + ctdot: '\u22EF', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cup: '\u222A', + curarr: '\u21B7', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + dagger: '\u2020', + daleth: '\u2138', + ddarr: '\u21CA', + deg: '\u00B0', + delta: '\u03B4', + digamma: '\u03DD', + div: '\u00F7', + divideontimes: '\u22C7', + dot: '\u02D9', + doteqdot: '\u2251', + dotplus: '\u2214', + dotsquare: '\u22A1', + dtdot: '\u22F1', + ecir: '\u2256', + efDot: '\u2252', + egs: '\u2A96', + ell: '\u2113', + els: '\u2A95', + empty: '\u2205', + epsi: '\u03B5', + epsiv: '\u03F5', + erDot: '\u2253', + eta: '\u03B7', + eth: '\u00F0', + flat: '\u266D', + fork: '\u22D4', + frown: '\u2322', + gEl: '\u2A8C', + gamma: '\u03B3', + gap: '\u2A86', + gimel: '\u2137', + gnE: '\u2269', + gnap: '\u2A8A', + gne: '\u2A88', + gnsim: '\u22E7', + gt: '\u003E', + gtdot: '\u22D7', + harrw: '\u21AD', + hbar: '\u210F', + hellip: '\u2026', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + imath: '\u0131', + infin: '\u221E', + intcal: '\u22BA', + iota: '\u03B9', + jmath: '\u0237', + kappa: '\u03BA', + kappav: '\u03F0', + lEg: '\u2A8B', + lambda: '\u03BB', + lap: '\u2A85', + larrlp: '\u21AB', + larrtl: '\u21A2', + lbrace: '\u007B', + lbrack: '\u005B', + le: '\u2264', + leftleftarrows: '\u21C7', + leftthreetimes: '\u22CB', + lessdot: '\u22D6', + lmoust: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lne: '\u2A87', + lnsim: '\u22E6', + longmapsto: '\u27FC', + looparrowright: '\u21AC', + lowast: '\u2217', + loz: '\u25CA', + lt: '\u003C', + ltimes: '\u22C9', + ltri: '\u25C3', + macr: '\u00AF', + malt: '\u2720', + mho: '\u2127', + mu: '\u03BC', + multimap: '\u22B8', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + natur: '\u266E', + nearr: '\u2197', + nharr: '\u21AE', + nlarr: '\u219A', + not: '\u00AC', + nrarr: '\u219B', + nu: '\u03BD', + nvDash: '\u22AD', + nvdash: '\u22AC', + nwarr: '\u2196', + omega: '\u03C9', + omicron: '\u03BF', + or: '\u2228', + osol: '\u2298', + period: '\u002E', + phi: '\u03C6', + phiv: '\u03D5', + pi: '\u03C0', + piv: '\u03D6', + prap: '\u2AB7', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + prime: '\u2032', + psi: '\u03C8', + rarrtl: '\u21A3', + rbrace: '\u007D', + rbrack: '\u005D', + rho: '\u03C1', + rhov: '\u03F1', + rightrightarrows: '\u21C9', + rightthreetimes: '\u22CC', + ring: '\u02DA', + rmoust: '\u23B1', + rtimes: '\u22CA', + rtri: '\u25B9', + scap: '\u2AB8', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + sdot: '\u22C5', + searr: '\u2198', + sect: '\u00A7', + sharp: '\u266F', + sigma: '\u03C3', + sigmav: '\u03C2', + simne: '\u2246', + smile: '\u2323', + spades: '\u2660', + sub: '\u2282', + subE: '\u2AC5', + subnE: '\u2ACB', + subne: '\u228A', + supE: '\u2AC6', + supnE: '\u2ACC', + supne: '\u228B', + swarr: '\u2199', + tau: '\u03C4', + theta: '\u03B8', + thetav: '\u03D1', + tilde: '\u02DC', + times: '\u00D7', + triangle: '\u25B5', + triangleq: '\u225C', + upsi: '\u03C5', + upuparrows: '\u21C8', + veebar: '\u22BB', + vellip: '\u22EE', + weierp: '\u2118', + xi: '\u03BE', + yen: '\u00A5', + zeta: '\u03B6', + zigrarr: '\u21DD' + }; + + MATHML.loadComplete("jax.js"); + +})(MathJax.InputJax.MathML,MathJax.Hub.Browser); diff --git a/src/py/kaleido/vendor/mathjax/jax/input/TeX/config.js b/src/py/kaleido/vendor/mathjax/jax/input/TeX/config.js new file mode 100644 index 00000000..3750b3d8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/input/TeX/config.js @@ -0,0 +1,54 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/input/TeX/config.js + * + * Initializes the TeX InputJax (the main definition is in + * MathJax/jax/input/TeX/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.InputJax.TeX = MathJax.InputJax({ + id: "TeX", + version: "2.7.5", + directory: MathJax.InputJax.directory + "/TeX", + extensionDir: MathJax.InputJax.extensionDir + "/TeX", + + config: { + TagSide: "right", + TagIndent: "0.8em", + MultLineWidth: "85%", + + equationNumbers: { + autoNumber: "none", // "AMS" for standard AMS numbering, + // or "all" for all displayed equations + formatNumber: function (n) {return n}, + formatTag: function (n) {return '('+n+')'}, + formatID: function (n) {return 'mjx-eqn-'+String(n).replace(/\s/g,"_")}, + formatURL: function (id,base) {return base+'#'+encodeURIComponent(id)}, + useLabelIds: true + } + }, + + resetEquationNumbers: function () {} // filled in by AMSmath extension +}); +MathJax.InputJax.TeX.Register("math/tex"); + +MathJax.InputJax.TeX.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/input/TeX/jax.js b/src/py/kaleido/vendor/mathjax/jax/input/TeX/jax.js new file mode 100644 index 00000000..6654b825 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/input/TeX/jax.js @@ -0,0 +1,2371 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/input/TeX/jax.js + * + * Implements the TeX InputJax that reads mathematics in + * TeX and LaTeX format and converts it to the MML ElementJax + * internal format. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +(function (TEX,HUB,AJAX) { + var MML, NBSP = "\u00A0"; + + var _ = function (id) { + return MathJax.Localization._.apply(MathJax.Localization, + [["TeX", id]].concat([].slice.call(arguments,1))); + }; + + var isArray = MathJax.Object.isArray; + + var STACK = MathJax.Object.Subclass({ + Init: function (env,inner) { + this.global = {isInner: inner}; + this.data = [STACKITEM.start(this.global)]; + if (env) {this.data[0].env = env} + this.env = this.data[0].env; + }, + Push: function () { + var i, m, item, top; + for (i = 0, m = arguments.length; i < m; i++) { + item = arguments[i]; if (!item) continue; + if (item instanceof MML.mbase) {item = STACKITEM.mml(item)} + item.global = this.global; + top = (this.data.length ? this.Top().checkItem(item) : true); + if (top instanceof Array) {this.Pop(); this.Push.apply(this,top)} + else if (top instanceof STACKITEM) {this.Pop(); this.Push(top)} + else if (top) { + this.data.push(item); + if (item.env) { + if (item.copyEnv !== false) { + for (var id in this.env) + {if (this.env.hasOwnProperty(id)) {item.env[id] = this.env[id]}} + } + this.env = item.env; + } else {item.env = this.env} + } + } + }, + Pop: function () { + var item = this.data.pop(); if (!item.isOpen) {delete item.env} + this.env = (this.data.length ? this.Top().env : {}); + return item; + }, + Top: function (n) { + if (n == null) {n = 1} + if (this.data.length < n) {return null} + return this.data[this.data.length-n]; + }, + Prev: function (noPop) { + var top = this.Top(); + if (noPop) {return top.data[top.data.length-1]} + else {return top.Pop()} + }, + toString: function () {return "stack[\n "+this.data.join("\n ")+"\n]"} + }); + + var STACKITEM = STACK.Item = MathJax.Object.Subclass({ + type: "base", + endError: /*_()*/ ["ExtraOpenMissingClose","Extra open brace or missing close brace"], + closeError: /*_()*/ ["ExtraCloseMissingOpen","Extra close brace or missing open brace"], + rightError: /*_()*/ ["MissingLeftExtraRight","Missing \\left or extra \\right"], + Init: function () { + if (this.isOpen) {this.env = {}} + this.data = []; + this.Push.apply(this,arguments); + }, + Push: function () {this.data.push.apply(this.data,arguments)}, + Pop: function () {return this.data.pop()}, + mmlData: function (inferred,forceRow) { + if (inferred == null) {inferred = true} + if (this.data.length === 1 && !forceRow) {return this.data[0]} + return MML.mrow.apply(MML,this.data).With((inferred ? {inferred: true}: {})); + }, + checkItem: function (item) { + if (item.type === "over" && this.isOpen) {item.num = this.mmlData(false); this.data = []} + if (item.type === "cell" && this.isOpen) { + if (item.linebreak) {return false} + TEX.Error(["Misplaced","Misplaced %1",item.name]); + } + if (item.isClose && this[item.type+"Error"]) {TEX.Error(this[item.type+"Error"])} + if (!item.isNotStack) {return true} + this.Push(item.data[0]); return false; + }, + With: function (def) { + for (var id in def) {if (def.hasOwnProperty(id)) {this[id] = def[id]}} + return this; + }, + toString: function () {return this.type+"["+this.data.join("; ")+"]"} + }); + + STACKITEM.start = STACKITEM.Subclass({ + type: "start", isOpen: true, + Init: function (global) { + this.SUPER(arguments).Init.call(this); + this.global = global; + }, + checkItem: function (item) { + if (item.type === "stop") {return STACKITEM.mml(this.mmlData())} + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.stop = STACKITEM.Subclass({ + type: "stop", isClose: true + }); + + STACKITEM.open = STACKITEM.Subclass({ + type: "open", isOpen: true, + stopError: /*_()*/ ["ExtraOpenMissingClose","Extra open brace or missing close brace"], + checkItem: function (item) { + if (item.type === "close") { + var mml = this.mmlData(); + return STACKITEM.mml(MML.TeXAtom(mml)); // TeXAtom make it an ORD to prevent spacing (FIXME: should be another way) + } + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.close = STACKITEM.Subclass({ + type: "close", isClose: true + }); + + STACKITEM.prime = STACKITEM.Subclass({ + type: "prime", + checkItem: function (item) { + if (this.data[0].type !== "msubsup") + {return [MML.msup(this.data[0],this.data[1]),item]} + this.data[0].SetData(this.data[0].sup,this.data[1]); + return [this.data[0],item]; + } + }); + + STACKITEM.subsup = STACKITEM.Subclass({ + type: "subsup", + stopError: /*_()*/ ["MissingScript","Missing superscript or subscript argument"], + supError: /*_()*/ ["MissingOpenForSup","Missing open brace for superscript"], + subError: /*_()*/ ["MissingOpenForSub","Missing open brace for subscript"], + checkItem: function (item) { + if (item.type === "open" || item.type === "left") {return true} + if (item.type === "mml") { + if (this.primes) { + if (this.position !== 2) {this.data[0].SetData(2,this.primes)} + else {item.data[0] = MML.mrow(this.primes.With({variantForm:true}),item.data[0])} + } + this.data[0].SetData(this.position,item.data[0]); + if (this.movesupsub != null) {this.data[0].movesupsub = this.movesupsub} + return STACKITEM.mml(this.data[0]); + } + if (this.SUPER(arguments).checkItem.call(this,item)) + {TEX.Error(this[["","subError","supError"][this.position]])} + }, + Pop: function () {} + }); + + STACKITEM.over = STACKITEM.Subclass({ + type: "over", isClose: true, name: "\\over", + checkItem: function (item,stack) { + if (item.type === "over") + {TEX.Error(["AmbiguousUseOf","Ambiguous use of %1",item.name])} + if (item.isClose) { + var mml = MML.mfrac(this.num,this.mmlData(false)); + if (this.thickness != null) {mml.linethickness = this.thickness} + if (this.open || this.close) { + mml.texWithDelims = true; + mml = TEX.fixedFence(this.open,mml,this.close); + } + return [STACKITEM.mml(mml), item]; + } + return this.SUPER(arguments).checkItem.call(this,item); + }, + toString: function () {return "over["+this.num+" / "+this.data.join("; ")+"]"} + }); + + STACKITEM.left = STACKITEM.Subclass({ + type: "left", isOpen: true, delim: '(', + stopError: /*_()*/ ["ExtraLeftMissingRight", "Extra \\left or missing \\right"], + checkItem: function (item) { + if (item.type === "right") + {return STACKITEM.mml(TEX.fenced(this.delim,this.mmlData(),item.delim))} + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.right = STACKITEM.Subclass({ + type: "right", isClose: true, delim: ')' + }); + + STACKITEM.begin = STACKITEM.Subclass({ + type: "begin", isOpen: true, + checkItem: function (item) { + if (item.type === "end") { + if (item.name !== this.name) + {TEX.Error(["EnvBadEnd","\\begin{%1} ended with \\end{%2}",this.name,item.name])} + if (!this.end) {return STACKITEM.mml(this.mmlData())} + return this.parse[this.end].call(this.parse,this,this.data); + } + if (item.type === "stop") + {TEX.Error(["EnvMissingEnd","Missing \\end{%1}",this.name])} + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.end = STACKITEM.Subclass({ + type: "end", isClose: true + }); + + STACKITEM.style = STACKITEM.Subclass({ + type: "style", + checkItem: function (item) { + if (!item.isClose) {return this.SUPER(arguments).checkItem.call(this,item)} + var mml = MML.mstyle.apply(MML,this.data).With(this.styles); + return [STACKITEM.mml(mml),item]; + } + }); + + STACKITEM.position = STACKITEM.Subclass({ + type: "position", + checkItem: function (item) { + if (item.isClose) {TEX.Error(["MissingBoxFor","Missing box for %1",this.name])} + if (item.isNotStack) { + var mml = item.mmlData(); + switch (this.move) { + case 'vertical': + mml = MML.mpadded(mml).With({height: this.dh, depth: this.dd, voffset: this.dh}); + return [STACKITEM.mml(mml)]; + case 'horizontal': + return [STACKITEM.mml(this.left),item,STACKITEM.mml(this.right)]; + } + } + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.array = STACKITEM.Subclass({ + type: "array", isOpen: true, copyEnv: false, arraydef: {}, + Init: function () { + this.table = []; this.row = []; this.frame = []; this.hfill = []; + this.SUPER(arguments).Init.apply(this,arguments); + }, + checkItem: function (item) { + if (item.isClose && item.type !== "over") { + if (item.isEntry) {this.EndEntry(); this.clearEnv(); return false} + if (item.isCR) {this.EndEntry(); this.EndRow(); this.clearEnv(); return false} + this.EndTable(); this.clearEnv(); + var scriptlevel = this.arraydef.scriptlevel; delete this.arraydef.scriptlevel; + var mml = MML.mtable.apply(MML,this.table).With(this.arraydef); + if (this.frame.length === 4) { + mml.frame = (this.frame.dashed ? "dashed" : "solid"); + } else if (this.frame.length) { + mml.hasFrame = true; + if (this.arraydef.rowlines) {this.arraydef.rowlines = this.arraydef.rowlines.replace(/none( none)+$/,"none")} + mml = MML.menclose(mml).With({notation: this.frame.join(" "), isFrame: true}); + if ((this.arraydef.columnlines||"none") != "none" || + (this.arraydef.rowlines||"none") != "none") {mml.padding = 0} // HTML-CSS jax implements this + } + if (scriptlevel) {mml = MML.mstyle(mml).With({scriptlevel: scriptlevel})} + if (this.open || this.close) {mml = TEX.fenced(this.open,mml,this.close)} + mml = STACKITEM.mml(mml); + if (this.requireClose) { + if (item.type === 'close') {return mml} + TEX.Error(["MissingCloseBrace","Missing close brace"]); + } + return [mml,item]; + } + return this.SUPER(arguments).checkItem.call(this,item); + }, + EndEntry: function () { + var mtd = MML.mtd.apply(MML,this.data); + if (this.hfill.length) { + if (this.hfill[0] === 0) mtd.columnalign = "right"; + if (this.hfill[this.hfill.length-1] === this.data.length) + mtd.columnalign = (mtd.columnalign ? "center" : "left"); + } + this.row.push(mtd); this.data = []; this.hfill = []; + }, + EndRow: function () { + var mtr = MML.mtr; + if (this.isNumbered && this.row.length === 3) { + this.row.unshift(this.row.pop()); // move equation number to first position + mtr = MML.mlabeledtr; + } + this.table.push(mtr.apply(MML,this.row)); this.row = []; + }, + EndTable: function () { + if (this.data.length || this.row.length) {this.EndEntry(); this.EndRow()} + this.checkLines(); + }, + checkLines: function () { + if (this.arraydef.rowlines) { + var lines = this.arraydef.rowlines.split(/ /); + if (lines.length === this.table.length) { + this.frame.push("bottom"); lines.pop(); + this.arraydef.rowlines = lines.join(' '); + } else if (lines.length < this.table.length-1) { + this.arraydef.rowlines += " none"; + } + } + if (this.rowspacing) { + var rows = this.arraydef.rowspacing.split(/ /); + while (rows.length < this.table.length) {rows.push(this.rowspacing+"em")} + this.arraydef.rowspacing = rows.join(' '); + } + }, + clearEnv: function () { + for (var id in this.env) {if (this.env.hasOwnProperty(id)) {delete this.env[id]}} + } + }); + + STACKITEM.cell = STACKITEM.Subclass({ + type: "cell", isClose: true + }); + + STACKITEM.mml = STACKITEM.Subclass({ + type: "mml", isNotStack: true, + Add: function () {this.data.push.apply(this.data,arguments); return this} + }); + + STACKITEM.fn = STACKITEM.Subclass({ + type: "fn", + checkItem: function (item) { + if (this.data[0]) { + if (item.isOpen) {return true} + if (item.type !== "fn") { + if (item.type !== "mml" || !item.data[0]) {return [this.data[0],item]} + if (item.data[0].isa(MML.mspace)) {return [this.data[0],item]} + var mml = item.data[0]; if (mml.isEmbellished()) {mml = mml.CoreMO()} + if ([0,0,1,1,0,1,1,0,0,0][mml.Get("texClass")]) {return [this.data[0],item]} + } + return [this.data[0],MML.mo(MML.entity("#x2061")).With({texClass:MML.TEXCLASS.NONE}),item]; + } + return this.SUPER(arguments).checkItem.apply(this,arguments); + } + }); + + STACKITEM.not = STACKITEM.Subclass({ + type: "not", + checkItem: function (item) { + var mml, c; + if (item.type === "open" || item.type === "left") {return true} + if (item.type === "mml" && item.data[0].type.match(/^(mo|mi|mtext)$/)) { + mml = item.data[0], c = mml.data.join(""); + if (c.length === 1 && !mml.movesupsub && mml.data.length === 1) { + c = STACKITEM.not.remap[c.charCodeAt(0)]; + if (c) {mml.SetData(0,MML.chars(String.fromCharCode(c)))} + else {mml.Append(MML.chars("\u0338"))} + return item; + } + } + // \mathrel{\rlap{\notChar}} + mml = MML.mpadded(MML.mtext("\u29F8")).With({width:0}); + mml = MML.TeXAtom(mml).With({texClass:MML.TEXCLASS.REL}); + return [mml,item]; + } + }); + STACKITEM.not.remap = { + 0x2190:0x219A, 0x2192:0x219B, 0x2194:0x21AE, + 0x21D0:0x21CD, 0x21D2:0x21CF, 0x21D4:0x21CE, + 0x2208:0x2209, 0x220B:0x220C, 0x2223:0x2224, 0x2225:0x2226, + 0x223C:0x2241, 0x007E:0x2241, 0x2243:0x2244, 0x2245:0x2247, + 0x2248:0x2249, 0x224D:0x226D, 0x003D:0x2260, 0x2261:0x2262, + 0x003C:0x226E, 0x003E:0x226F, 0x2264:0x2270, 0x2265:0x2271, + 0x2272:0x2274, 0x2273:0x2275, 0x2276:0x2278, 0x2277:0x2279, + 0x227A:0x2280, 0x227B:0x2281, 0x2282:0x2284, 0x2283:0x2285, + 0x2286:0x2288, 0x2287:0x2289, 0x22A2:0x22AC, 0x22A8:0x22AD, + 0x22A9:0x22AE, 0x22AB:0x22AF, 0x227C:0x22E0, 0x227D:0x22E1, + 0x2291:0x22E2, 0x2292:0x22E3, 0x22B2:0x22EA, 0x22B3:0x22EB, + 0x22B4:0x22EC, 0x22B5:0x22ED, 0x2203:0x2204 + }; + + STACKITEM.dots = STACKITEM.Subclass({ + type: "dots", + checkItem: function (item) { + if (item.type === "open" || item.type === "left") {return true} + var dots = this.ldots; + if (item.type === "mml" && item.data[0].isEmbellished()) { + var tclass = item.data[0].CoreMO().Get("texClass"); + if (tclass === MML.TEXCLASS.BIN || tclass === MML.TEXCLASS.REL) {dots = this.cdots} + } + return [dots,item]; + } + }); + + + var TEXDEF = { + // + // Add new definitions without overriding user-defined ones + // + Add: function (src,dst,nouser) { + if (!dst) {dst = this} + for (var id in src) {if (src.hasOwnProperty(id)) { + if (typeof src[id] === 'object' && !isArray(src[id]) && + (typeof dst[id] === 'object' || typeof dst[id] === 'function')) + {this.Add(src[id],dst[id],src[id],nouser)} + else if (!dst[id] || !dst[id].isUser || !nouser) {dst[id] = src[id]} + }} + return dst; + } + }; + var STARTUP = function () { + MML = MathJax.ElementJax.mml; + HUB.Insert(TEXDEF,{ + + // patterns for letters and numbers + letter: /[a-z]/i, + digit: /[0-9.]/, + number: /^(?:[0-9]+(?:\{,\}[0-9]{3})*(?:\.[0-9]*)*|\.[0-9]+)/, + + special: { + '\\': 'ControlSequence', + '{': 'Open', + '}': 'Close', + '~': 'Tilde', + '^': 'Superscript', + '_': 'Subscript', + ' ': 'Space', + "\t": 'Space', + "\r": 'Space', + "\n": 'Space', + "'": 'Prime', + '%': 'Comment', + '&': 'Entry', + '#': 'Hash', + '\u00A0': 'Space', + '\u2019': 'Prime' + }, + + remap: { + '-': '2212', + '*': '2217', + '`': '2018' // map ` to back quote + }, + + mathchar0mi: { + // Lower-case greek + alpha: '03B1', + beta: '03B2', + gamma: '03B3', + delta: '03B4', + epsilon: '03F5', + zeta: '03B6', + eta: '03B7', + theta: '03B8', + iota: '03B9', + kappa: '03BA', + lambda: '03BB', + mu: '03BC', + nu: '03BD', + xi: '03BE', + omicron: '03BF', // added for completeness + pi: '03C0', + rho: '03C1', + sigma: '03C3', + tau: '03C4', + upsilon: '03C5', + phi: '03D5', + chi: '03C7', + psi: '03C8', + omega: '03C9', + varepsilon: '03B5', + vartheta: '03D1', + varpi: '03D6', + varrho: '03F1', + varsigma: '03C2', + varphi: '03C6', + + // Ord symbols + S: ['00A7',{mathvariant: MML.VARIANT.NORMAL}], + aleph: ['2135',{mathvariant: MML.VARIANT.NORMAL}], + hbar: ['210F',{variantForm:true}], + imath: '0131', + jmath: '0237', + ell: '2113', + wp: ['2118',{mathvariant: MML.VARIANT.NORMAL}], + Re: ['211C',{mathvariant: MML.VARIANT.NORMAL}], + Im: ['2111',{mathvariant: MML.VARIANT.NORMAL}], + partial: ['2202',{mathvariant: MML.VARIANT.NORMAL}], + infty: ['221E',{mathvariant: MML.VARIANT.NORMAL}], + prime: ['2032',{mathvariant: MML.VARIANT.NORMAL, variantForm:true}], + emptyset: ['2205',{mathvariant: MML.VARIANT.NORMAL}], + nabla: ['2207',{mathvariant: MML.VARIANT.NORMAL}], + top: ['22A4',{mathvariant: MML.VARIANT.NORMAL}], + bot: ['22A5',{mathvariant: MML.VARIANT.NORMAL}], + angle: ['2220',{mathvariant: MML.VARIANT.NORMAL}], + triangle: ['25B3',{mathvariant: MML.VARIANT.NORMAL}], + backslash: ['2216',{mathvariant: MML.VARIANT.NORMAL, variantForm:true}], + forall: ['2200',{mathvariant: MML.VARIANT.NORMAL}], + exists: ['2203',{mathvariant: MML.VARIANT.NORMAL}], + neg: ['00AC',{mathvariant: MML.VARIANT.NORMAL}], + lnot: ['00AC',{mathvariant: MML.VARIANT.NORMAL}], + flat: ['266D',{mathvariant: MML.VARIANT.NORMAL}], + natural: ['266E',{mathvariant: MML.VARIANT.NORMAL}], + sharp: ['266F',{mathvariant: MML.VARIANT.NORMAL}], + clubsuit: ['2663',{mathvariant: MML.VARIANT.NORMAL}], + diamondsuit: ['2662',{mathvariant: MML.VARIANT.NORMAL}], + heartsuit: ['2661',{mathvariant: MML.VARIANT.NORMAL}], + spadesuit: ['2660',{mathvariant: MML.VARIANT.NORMAL}] + }, + + mathchar0mo: { + surd: '221A', + + // big ops + coprod: ['2210',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigvee: ['22C1',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigwedge: ['22C0',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + biguplus: ['2A04',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigcap: ['22C2',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigcup: ['22C3',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + 'int': ['222B',{texClass: MML.TEXCLASS.OP}], + intop: ['222B',{texClass: MML.TEXCLASS.OP, movesupsub:true, movablelimits:true}], + iint: ['222C',{texClass: MML.TEXCLASS.OP}], + iiint: ['222D',{texClass: MML.TEXCLASS.OP}], + prod: ['220F',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + sum: ['2211',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigotimes: ['2A02',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigoplus: ['2A01',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + bigodot: ['2A00',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + oint: ['222E',{texClass: MML.TEXCLASS.OP}], + bigsqcup: ['2A06',{texClass: MML.TEXCLASS.OP, movesupsub:true}], + smallint: ['222B',{largeop:false}], + + // binary operations + triangleleft: '25C3', + triangleright: '25B9', + bigtriangleup: '25B3', + bigtriangledown: '25BD', + wedge: '2227', + land: '2227', + vee: '2228', + lor: '2228', + cap: '2229', + cup: '222A', + ddagger: '2021', + dagger: '2020', + sqcap: '2293', + sqcup: '2294', + uplus: '228E', + amalg: '2A3F', + diamond: '22C4', + bullet: '2219', + wr: '2240', + div: '00F7', + odot: ['2299',{largeop: false}], + oslash: ['2298',{largeop: false}], + otimes: ['2297',{largeop: false}], + ominus: ['2296',{largeop: false}], + oplus: ['2295',{largeop: false}], + mp: '2213', + pm: '00B1', + circ: '2218', + bigcirc: '25EF', + setminus: ['2216',{variantForm:true}], + cdot: '22C5', + ast: '2217', + times: '00D7', + star: '22C6', + + // Relations + propto: '221D', + sqsubseteq: '2291', + sqsupseteq: '2292', + parallel: '2225', + mid: '2223', + dashv: '22A3', + vdash: '22A2', + leq: '2264', + le: '2264', + geq: '2265', + ge: '2265', + lt: '003C', + gt: '003E', + succ: '227B', + prec: '227A', + approx: '2248', + succeq: '2AB0', // or '227C', + preceq: '2AAF', // or '227D', + supset: '2283', + subset: '2282', + supseteq: '2287', + subseteq: '2286', + 'in': '2208', + ni: '220B', + notin: '2209', + owns: '220B', + gg: '226B', + ll: '226A', + sim: '223C', + simeq: '2243', + perp: '22A5', + equiv: '2261', + asymp: '224D', + smile: '2323', + frown: '2322', + ne: '2260', + neq: '2260', + cong: '2245', + doteq: '2250', + bowtie: '22C8', + models: '22A8', + + notChar: '29F8', + + + // Arrows + Leftrightarrow: '21D4', + Leftarrow: '21D0', + Rightarrow: '21D2', + leftrightarrow: '2194', + leftarrow: '2190', + gets: '2190', + rightarrow: '2192', + to: '2192', + mapsto: '21A6', + leftharpoonup: '21BC', + leftharpoondown: '21BD', + rightharpoonup: '21C0', + rightharpoondown: '21C1', + nearrow: '2197', + searrow: '2198', + nwarrow: '2196', + swarrow: '2199', + rightleftharpoons: '21CC', + hookrightarrow: '21AA', + hookleftarrow: '21A9', + longleftarrow: '27F5', + Longleftarrow: '27F8', + longrightarrow: '27F6', + Longrightarrow: '27F9', + Longleftrightarrow: '27FA', + longleftrightarrow: '27F7', + longmapsto: '27FC', + + + // Misc. + ldots: '2026', + cdots: '22EF', + vdots: '22EE', + ddots: '22F1', + dotsc: '2026', // dots with commas + dotsb: '22EF', // dots with binary ops and relations + dotsm: '22EF', // dots with multiplication + dotsi: '22EF', // dots with integrals + dotso: '2026', // other dots + + ldotp: ['002E', {texClass: MML.TEXCLASS.PUNCT}], + cdotp: ['22C5', {texClass: MML.TEXCLASS.PUNCT}], + colon: ['003A', {texClass: MML.TEXCLASS.PUNCT}] + }, + + mathchar7: { + Gamma: '0393', + Delta: '0394', + Theta: '0398', + Lambda: '039B', + Xi: '039E', + Pi: '03A0', + Sigma: '03A3', + Upsilon: '03A5', + Phi: '03A6', + Psi: '03A8', + Omega: '03A9', + + '_': '005F', + '#': '0023', + '$': '0024', + '%': '0025', + '&': '0026', + And: '0026' + }, + + delimiter: { + '(': '(', + ')': ')', + '[': '[', + ']': ']', + '<': '27E8', + '>': '27E9', + '\\lt': '27E8', + '\\gt': '27E9', + '/': '/', + '|': ['|',{texClass:MML.TEXCLASS.ORD}], + '.': '', + '\\\\': '\\', + '\\lmoustache': '23B0', // non-standard + '\\rmoustache': '23B1', // non-standard + '\\lgroup': '27EE', // non-standard + '\\rgroup': '27EF', // non-standard + '\\arrowvert': '23D0', + '\\Arrowvert': '2016', + '\\bracevert': '23AA', // non-standard + '\\Vert': ['2016',{texClass:MML.TEXCLASS.ORD}], + '\\|': ['2016',{texClass:MML.TEXCLASS.ORD}], + '\\vert': ['|',{texClass:MML.TEXCLASS.ORD}], + '\\uparrow': '2191', + '\\downarrow': '2193', + '\\updownarrow': '2195', + '\\Uparrow': '21D1', + '\\Downarrow': '21D3', + '\\Updownarrow': '21D5', + '\\backslash': '\\', + '\\rangle': '27E9', + '\\langle': '27E8', + '\\rbrace': '}', + '\\lbrace': '{', + '\\}': '}', + '\\{': '{', + '\\rceil': '2309', + '\\lceil': '2308', + '\\rfloor': '230B', + '\\lfloor': '230A', + '\\lbrack': '[', + '\\rbrack': ']' + }, + + macros: { + displaystyle: ['SetStyle','D',true,0], + textstyle: ['SetStyle','T',false,0], + scriptstyle: ['SetStyle','S',false,1], + scriptscriptstyle: ['SetStyle','SS',false,2], + + rm: ['SetFont',MML.VARIANT.NORMAL], + mit: ['SetFont',MML.VARIANT.ITALIC], + oldstyle: ['SetFont',MML.VARIANT.OLDSTYLE], + cal: ['SetFont',MML.VARIANT.CALIGRAPHIC], + it: ['SetFont',"-tex-mathit"], // needs special handling + bf: ['SetFont',MML.VARIANT.BOLD], + bbFont: ['SetFont',MML.VARIANT.DOUBLESTRUCK], + scr: ['SetFont',MML.VARIANT.SCRIPT], + frak: ['SetFont',MML.VARIANT.FRAKTUR], + sf: ['SetFont',MML.VARIANT.SANSSERIF], + tt: ['SetFont',MML.VARIANT.MONOSPACE], + +// font: + + tiny: ['SetSize',0.5], + Tiny: ['SetSize',0.6], // non-standard + scriptsize: ['SetSize',0.7], + small: ['SetSize',0.85], + normalsize: ['SetSize',1.0], + large: ['SetSize',1.2], + Large: ['SetSize',1.44], + LARGE: ['SetSize',1.73], + huge: ['SetSize',2.07], + Huge: ['SetSize',2.49], + + arcsin: ['NamedFn'], + arccos: ['NamedFn'], + arctan: ['NamedFn'], + arg: ['NamedFn'], + cos: ['NamedFn'], + cosh: ['NamedFn'], + cot: ['NamedFn'], + coth: ['NamedFn'], + csc: ['NamedFn'], + deg: ['NamedFn'], + det: 'NamedOp', + dim: ['NamedFn'], + exp: ['NamedFn'], + gcd: 'NamedOp', + hom: ['NamedFn'], + inf: 'NamedOp', + ker: ['NamedFn'], + lg: ['NamedFn'], + lim: 'NamedOp', + liminf: ['NamedOp','lim inf'], + limsup: ['NamedOp','lim sup'], + ln: ['NamedFn'], + log: ['NamedFn'], + max: 'NamedOp', + min: 'NamedOp', + Pr: 'NamedOp', + sec: ['NamedFn'], + sin: ['NamedFn'], + sinh: ['NamedFn'], + sup: 'NamedOp', + tan: ['NamedFn'], + tanh: ['NamedFn'], + + limits: ['Limits',1], + nolimits: ['Limits',0], + + overline: ['UnderOver','00AF',null,1], + underline: ['UnderOver','005F'], + overbrace: ['UnderOver','23DE',1], + underbrace: ['UnderOver','23DF',1], + overparen: ['UnderOver','23DC'], + underparen: ['UnderOver','23DD'], + overrightarrow: ['UnderOver','2192'], + underrightarrow: ['UnderOver','2192'], + overleftarrow: ['UnderOver','2190'], + underleftarrow: ['UnderOver','2190'], + overleftrightarrow: ['UnderOver','2194'], + underleftrightarrow: ['UnderOver','2194'], + + overset: 'Overset', + underset: 'Underset', + stackrel: ['Macro','\\mathrel{\\mathop{#2}\\limits^{#1}}',2], + + over: 'Over', + overwithdelims: 'Over', + atop: 'Over', + atopwithdelims: 'Over', + above: 'Over', + abovewithdelims: 'Over', + brace: ['Over','{','}'], + brack: ['Over','[',']'], + choose: ['Over','(',')'], + + frac: 'Frac', + sqrt: 'Sqrt', + root: 'Root', + uproot: ['MoveRoot','upRoot'], + leftroot: ['MoveRoot','leftRoot'], + + left: 'LeftRight', + right: 'LeftRight', + middle: 'Middle', + + llap: 'Lap', + rlap: 'Lap', + raise: 'RaiseLower', + lower: 'RaiseLower', + moveleft: 'MoveLeftRight', + moveright: 'MoveLeftRight', + + ',': ['Spacer',MML.LENGTH.THINMATHSPACE], + ':': ['Spacer',MML.LENGTH.MEDIUMMATHSPACE], // for LaTeX + '>': ['Spacer',MML.LENGTH.MEDIUMMATHSPACE], + ';': ['Spacer',MML.LENGTH.THICKMATHSPACE], + '!': ['Spacer',MML.LENGTH.NEGATIVETHINMATHSPACE], + enspace: ['Spacer',".5em"], + quad: ['Spacer',"1em"], + qquad: ['Spacer',"2em"], + thinspace: ['Spacer',MML.LENGTH.THINMATHSPACE], + negthinspace: ['Spacer',MML.LENGTH.NEGATIVETHINMATHSPACE], + + hskip: 'Hskip', + hspace: 'Hskip', + kern: 'Hskip', + mskip: 'Hskip', + mspace: 'Hskip', + mkern: 'Hskip', + rule: 'rule', + Rule: ['Rule'], + Space: ['Rule','blank'], + + big: ['MakeBig',MML.TEXCLASS.ORD,0.85], + Big: ['MakeBig',MML.TEXCLASS.ORD,1.15], + bigg: ['MakeBig',MML.TEXCLASS.ORD,1.45], + Bigg: ['MakeBig',MML.TEXCLASS.ORD,1.75], + bigl: ['MakeBig',MML.TEXCLASS.OPEN,0.85], + Bigl: ['MakeBig',MML.TEXCLASS.OPEN,1.15], + biggl: ['MakeBig',MML.TEXCLASS.OPEN,1.45], + Biggl: ['MakeBig',MML.TEXCLASS.OPEN,1.75], + bigr: ['MakeBig',MML.TEXCLASS.CLOSE,0.85], + Bigr: ['MakeBig',MML.TEXCLASS.CLOSE,1.15], + biggr: ['MakeBig',MML.TEXCLASS.CLOSE,1.45], + Biggr: ['MakeBig',MML.TEXCLASS.CLOSE,1.75], + bigm: ['MakeBig',MML.TEXCLASS.REL,0.85], + Bigm: ['MakeBig',MML.TEXCLASS.REL,1.15], + biggm: ['MakeBig',MML.TEXCLASS.REL,1.45], + Biggm: ['MakeBig',MML.TEXCLASS.REL,1.75], + + mathord: ['TeXAtom',MML.TEXCLASS.ORD], + mathop: ['TeXAtom',MML.TEXCLASS.OP], + mathopen: ['TeXAtom',MML.TEXCLASS.OPEN], + mathclose: ['TeXAtom',MML.TEXCLASS.CLOSE], + mathbin: ['TeXAtom',MML.TEXCLASS.BIN], + mathrel: ['TeXAtom',MML.TEXCLASS.REL], + mathpunct: ['TeXAtom',MML.TEXCLASS.PUNCT], + mathinner: ['TeXAtom',MML.TEXCLASS.INNER], + + vcenter: ['TeXAtom',MML.TEXCLASS.VCENTER], + + mathchoice: ['Extension','mathchoice'], + buildrel: 'BuildRel', + + hbox: ['HBox',0], + text: 'HBox', + mbox: ['HBox',0], + fbox: 'FBox', + + strut: 'Strut', + mathstrut: ['Macro','\\vphantom{(}'], + phantom: 'Phantom', + vphantom: ['Phantom',1,0], + hphantom: ['Phantom',0,1], + smash: 'Smash', + + acute: ['Accent', "00B4"], // or 0301 or 02CA + grave: ['Accent', "0060"], // or 0300 or 02CB + ddot: ['Accent', "00A8"], // or 0308 + tilde: ['Accent', "007E"], // or 0303 or 02DC + bar: ['Accent', "00AF"], // or 0304 or 02C9 + breve: ['Accent', "02D8"], // or 0306 + check: ['Accent', "02C7"], // or 030C + hat: ['Accent', "005E"], // or 0302 or 02C6 + vec: ['Accent', "2192"], // or 20D7 + dot: ['Accent', "02D9"], // or 0307 + widetilde: ['Accent', "007E",1], // or 0303 or 02DC + widehat: ['Accent', "005E",1], // or 0302 or 02C6 + + matrix: 'Matrix', + array: 'Matrix', + pmatrix: ['Matrix','(',')'], + cases: ['Matrix','{','',"left left",null,".1em",null,true], + eqalign: ['Matrix',null,null,"right left",MML.LENGTH.THICKMATHSPACE,".5em",'D'], + displaylines: ['Matrix',null,null,"center",null,".5em",'D'], + cr: 'Cr', + '\\': 'CrLaTeX', + newline: 'Cr', + hline: ['HLine','solid'], + hdashline: ['HLine','dashed'], +// noalign: 'HandleNoAlign', + eqalignno: ['Matrix',null,null,"right left",MML.LENGTH.THICKMATHSPACE,".5em",'D',null,"right"], + leqalignno: ['Matrix',null,null,"right left",MML.LENGTH.THICKMATHSPACE,".5em",'D',null,"left"], + hfill: 'HFill', + hfil: 'HFill', // \hfil treated as \hfill for now + hfilll: 'HFill', // \hfilll treated as \hfill for now + + // TeX substitution macros + bmod: ['Macro','\\mmlToken{mo}[lspace="thickmathspace" rspace="thickmathspace"]{mod}'], + pmod: ['Macro','\\pod{\\mmlToken{mi}{mod}\\kern 6mu #1}',1], + mod: ['Macro','\\mathchoice{\\kern18mu}{\\kern12mu}{\\kern12mu}{\\kern12mu}\\mmlToken{mi}{mod}\\,\\,#1',1], + pod: ['Macro','\\mathchoice{\\kern18mu}{\\kern8mu}{\\kern8mu}{\\kern8mu}(#1)',1], + iff: ['Macro','\\;\\Longleftrightarrow\\;'], + skew: ['Macro','{{#2{#3\\mkern#1mu}\\mkern-#1mu}{}}',3], + mathcal: ['Macro','{\\cal #1}',1], + mathscr: ['Macro','{\\scr #1}',1], + mathrm: ['Macro','{\\rm #1}',1], + mathbf: ['Macro','{\\bf #1}',1], + mathbb: ['Macro','{\\bbFont #1}',1], + Bbb: ['Macro','{\\bbFont #1}',1], + mathit: ['Macro','{\\it #1}',1], + mathfrak: ['Macro','{\\frak #1}',1], + mathsf: ['Macro','{\\sf #1}',1], + mathtt: ['Macro','{\\tt #1}',1], + textrm: ['Macro','\\mathord{\\rm\\text{#1}}',1], + textit: ['Macro','\\mathord{\\it\\text{#1}}',1], + textbf: ['Macro','\\mathord{\\bf\\text{#1}}',1], + textsf: ['Macro','\\mathord{\\sf\\text{#1}}',1], + texttt: ['Macro','\\mathord{\\tt\\text{#1}}',1], + pmb: ['Macro','\\rlap{#1}\\kern1px{#1}',1], + TeX: ['Macro','T\\kern-.14em\\lower.5ex{E}\\kern-.115em X'], + LaTeX: ['Macro','L\\kern-.325em\\raise.21em{\\scriptstyle{A}}\\kern-.17em\\TeX'], + ' ': ['Macro','\\text{ }'], + + // Specially handled + not: 'Not', + dots: 'Dots', + space: 'Tilde', + '\u00A0': 'Tilde', + + + // LaTeX + begin: 'BeginEnd', + end: 'BeginEnd', + + newcommand: ['Extension','newcommand'], + renewcommand: ['Extension','newcommand'], + newenvironment: ['Extension','newcommand'], + renewenvironment: ['Extension','newcommand'], + def: ['Extension','newcommand'], + 'let': ['Extension','newcommand'], + + verb: ['Extension','verb'], + + boldsymbol: ['Extension','boldsymbol'], + + tag: ['Extension','AMSmath'], + notag: ['Extension','AMSmath'], + label: ['Extension','AMSmath'], + ref: ['Extension','AMSmath'], + eqref: ['Extension','AMSmath'], + nonumber: ['Macro','\\notag'], + + // Extensions to TeX + unicode: ['Extension','unicode'], + color: 'Color', + + href: ['Extension','HTML'], + 'class': ['Extension','HTML'], + style: ['Extension','HTML'], + cssId: ['Extension','HTML'], + bbox: ['Extension','bbox'], + + mmlToken: 'MmlToken', + + require: 'Require' + + }, + + environment: { + array: ['AlignedArray'], + matrix: ['Array',null,null,null,'c'], + pmatrix: ['Array',null,'(',')','c'], + bmatrix: ['Array',null,'[',']','c'], + Bmatrix: ['Array',null,'\\{','\\}','c'], + vmatrix: ['Array',null,'\\vert','\\vert','c'], + Vmatrix: ['Array',null,'\\Vert','\\Vert','c'], + cases: ['Array',null,'\\{','.','ll',null,".2em",'T'], + + equation: [null,'Equation'], + 'equation*': [null,'Equation'], + + eqnarray: ['ExtensionEnv',null,'AMSmath'], + 'eqnarray*': ['ExtensionEnv',null,'AMSmath'], + + align: ['ExtensionEnv',null,'AMSmath'], + 'align*': ['ExtensionEnv',null,'AMSmath'], + aligned: ['ExtensionEnv',null,'AMSmath'], + multline: ['ExtensionEnv',null,'AMSmath'], + 'multline*': ['ExtensionEnv',null,'AMSmath'], + split: ['ExtensionEnv',null,'AMSmath'], + gather: ['ExtensionEnv',null,'AMSmath'], + 'gather*': ['ExtensionEnv',null,'AMSmath'], + gathered: ['ExtensionEnv',null,'AMSmath'], + alignat: ['ExtensionEnv',null,'AMSmath'], + 'alignat*': ['ExtensionEnv',null,'AMSmath'], + alignedat: ['ExtensionEnv',null,'AMSmath'] + }, + + p_height: 1.2 / .85 // cmex10 height plus depth over .85 + + }); + + // + // Add macros defined in the configuration + // + if (this.config.Macros) { + var MACROS = this.config.Macros; + for (var id in MACROS) {if (MACROS.hasOwnProperty(id)) { + if (typeof(MACROS[id]) === "string") {TEXDEF.macros[id] = ['Macro',MACROS[id]]} + else {TEXDEF.macros[id] = ["Macro"].concat(MACROS[id])} + TEXDEF.macros[id].isUser = true; + }} + } + }; + + /************************************************************************/ + /* + * The TeX Parser + */ + + var PARSE = MathJax.Object.Subclass({ + Init: function (string,env) { + this.string = string; this.i = 0; this.macroCount = 0; + var ENV; if (env) {ENV = {}; for (var id in env) {if (env.hasOwnProperty(id)) {ENV[id] = env[id]}}} + this.stack = TEX.Stack(ENV,!!env); + this.Parse(); this.Push(STACKITEM.stop()); + }, + Parse: function () { + var c, n; + while (this.i < this.string.length) { + c = this.string.charAt(this.i++); n = c.charCodeAt(0); + if (n >= 0xD800 && n < 0xDC00) {c += this.string.charAt(this.i++)} + if (TEXDEF.special.hasOwnProperty(c)) {this[TEXDEF.special[c]](c)} + else if (TEXDEF.letter.test(c)) {this.Variable(c)} + else if (TEXDEF.digit.test(c)) {this.Number(c)} + else {this.Other(c)} + } + }, + Push: function () {this.stack.Push.apply(this.stack,arguments)}, + mml: function () { + if (this.stack.Top().type !== "mml") {return null} + return this.stack.Top().data[0]; + }, + mmlToken: function (token) {return token}, // used by boldsymbol extension + + /************************************************************************/ + /* + * Handle various token classes + */ + + /* + * Lookup a control-sequence and process it + */ + ControlSequence: function (c) { + var name = this.GetCS(), macro = this.csFindMacro(name); + if (macro) { + if (!isArray(macro)) {macro = [macro]} + var fn = macro[0]; if (!(fn instanceof Function)) {fn = this[fn]} + fn.apply(this,[c+name].concat(macro.slice(1))); + } else if (TEXDEF.mathchar0mi.hasOwnProperty(name)) {this.csMathchar0mi(name,TEXDEF.mathchar0mi[name])} + else if (TEXDEF.mathchar0mo.hasOwnProperty(name)) {this.csMathchar0mo(name,TEXDEF.mathchar0mo[name])} + else if (TEXDEF.mathchar7.hasOwnProperty(name)) {this.csMathchar7(name,TEXDEF.mathchar7[name])} + else if (TEXDEF.delimiter.hasOwnProperty("\\"+name)) {this.csDelimiter(name,TEXDEF.delimiter["\\"+name])} + else {this.csUndefined(c+name)} + }, + // + // Look up a macro in the macros list + // (overridden in begingroup extension) + // + csFindMacro: function (name) { + return (TEXDEF.macros.hasOwnProperty(name) ? TEXDEF.macros[name] : null); + }, + // + // Handle normal mathchar (as an mi) + // + csMathchar0mi: function (name,mchar) { + var def = {mathvariant: MML.VARIANT.ITALIC}; + if (isArray(mchar)) {def = mchar[1]; mchar = mchar[0]} + this.Push(this.mmlToken(MML.mi(MML.entity("#x"+mchar)).With(def))); + }, + // + // Handle normal mathchar (as an mo) + // + csMathchar0mo: function (name,mchar) { + var def = {stretchy: false}; + if (isArray(mchar)) {def = mchar[1]; def.stretchy = false; mchar = mchar[0]} + this.Push(this.mmlToken(MML.mo(MML.entity("#x"+mchar)).With(def))); + }, + // + // Handle mathchar in current family + // + csMathchar7: function (name,mchar) { + var def = {mathvariant: MML.VARIANT.NORMAL}; + if (isArray(mchar)) {def = mchar[1]; mchar = mchar[0]} + if (this.stack.env.font) {def.mathvariant = this.stack.env.font} + this.Push(this.mmlToken(MML.mi(MML.entity("#x"+mchar)).With(def))); + }, + // + // Handle delimiter + // + csDelimiter: function (name,delim) { + var def = {}; + if (isArray(delim)) {def = delim[1]; delim = delim[0]} + if (delim.length === 4) {delim = MML.entity('#x'+delim)} else {delim = MML.chars(delim)} + this.Push(this.mmlToken(MML.mo(delim).With({fence: false, stretchy: false}).With(def))); + }, + // + // Handle undefined control sequence + // (overridden in noUndefined extension) + // + csUndefined: function (name) { + TEX.Error(["UndefinedControlSequence","Undefined control sequence %1",name]); + }, + + /* + * Handle a variable (a single letter) + */ + Variable: function (c) { + var def = {}; if (this.stack.env.font) {def.mathvariant = this.stack.env.font} + this.Push(this.mmlToken(MML.mi(MML.chars(c)).With(def))); + }, + + /* + * Determine the extent of a number (pattern may need work) + */ + Number: function (c) { + var mml, n = this.string.slice(this.i-1).match(TEXDEF.number); + if (n) {mml = MML.mn(n[0].replace(/[{}]/g,"")); this.i += n[0].length - 1} + else {mml = MML.mo(MML.chars(c))} + if (this.stack.env.font) {mml.mathvariant = this.stack.env.font} + this.Push(this.mmlToken(mml)); + }, + + /* + * Handle { and } + */ + Open: function (c) {this.Push(STACKITEM.open())}, + Close: function (c) {this.Push(STACKITEM.close())}, + + /* + * Handle tilde and spaces + */ + Tilde: function (c) {this.Push(MML.mtext(MML.chars(NBSP)))}, + Space: function (c) {}, + + /* + * Handle ^, _, and ' + */ + Superscript: function (c) { + if (this.GetNext().match(/\d/)) // don't treat numbers as a unit + {this.string = this.string.substr(0,this.i+1)+" "+this.string.substr(this.i+1)} + var primes, base, top = this.stack.Top(); + if (top.type === "prime") {base = top.data[0]; primes = top.data[1]; this.stack.Pop()} + else {base = this.stack.Prev(); if (!base) {base = MML.mi("")}} + if (base.isEmbellishedWrapper) {base = base.data[0].data[0]} + var movesupsub = base.movesupsub, position = base.sup; + if ((base.type === "msubsup" && base.data[base.sup]) || + (base.type === "munderover" && base.data[base.over] && !base.subsupOK)) + {TEX.Error(["DoubleExponent","Double exponent: use braces to clarify"])} + if (base.type !== "msubsup") { + if (movesupsub) { + if (base.type !== "munderover" || base.data[base.over]) { + if (base.movablelimits && base.isa(MML.mi)) {base = this.mi2mo(base)} + base = MML.munderover(base,null,null).With({movesupsub:true}) + } + position = base.over; + } else { + base = MML.msubsup(base,null,null); + position = base.sup; + } + } + this.Push(STACKITEM.subsup(base).With({ + position: position, primes: primes, movesupsub: movesupsub + })); + }, + Subscript: function (c) { + if (this.GetNext().match(/\d/)) // don't treat numbers as a unit + {this.string = this.string.substr(0,this.i+1)+" "+this.string.substr(this.i+1)} + var primes, base, top = this.stack.Top(); + if (top.type === "prime") {base = top.data[0]; primes = top.data[1]; this.stack.Pop()} + else {base = this.stack.Prev(); if (!base) {base = MML.mi("")}} + if (base.isEmbellishedWrapper) {base = base.data[0].data[0]} + var movesupsub = base.movesupsub, position = base.sub; + if ((base.type === "msubsup" && base.data[base.sub]) || + (base.type === "munderover" && base.data[base.under] && !base.subsupOK)) + {TEX.Error(["DoubleSubscripts","Double subscripts: use braces to clarify"])} + if (base.type !== "msubsup") { + if (movesupsub) { + if (base.type !== "munderover" || base.data[base.under]) { + if (base.movablelimits && base.isa(MML.mi)) {base = this.mi2mo(base)} + base = MML.munderover(base,null,null).With({movesupsub:true}) + } + position = base.under; + } else { + base = MML.msubsup(base,null,null); + position = base.sub; + } + } + this.Push(STACKITEM.subsup(base).With({ + position: position, primes: primes, movesupsub: movesupsub + })); + }, + PRIME: "\u2032", SMARTQUOTE: "\u2019", + Prime: function (c) { + var base = this.stack.Prev(); if (!base) {base = MML.mi()} + if (base.type === "msubsup" && base.data[base.sup]) { + TEX.Error(["DoubleExponentPrime", + "Prime causes double exponent: use braces to clarify"]); + } + var sup = ""; this.i--; + do {sup += this.PRIME; this.i++, c = this.GetNext()} + while (c === "'" || c === this.SMARTQUOTE); + sup = ["","\u2032","\u2033","\u2034","\u2057"][sup.length] || sup; + this.Push(STACKITEM.prime(base,this.mmlToken(MML.mo(sup)))); + }, + mi2mo: function (mi) { + var mo = MML.mo(); mo.Append.apply(mo,mi.data); var id; + for (id in mo.defaults) + {if (mo.defaults.hasOwnProperty(id) && mi[id] != null) {mo[id] = mi[id]}} + for (id in MML.copyAttributes) + {if (MML.copyAttributes.hasOwnProperty(id) && mi[id] != null) {mo[id] = mi[id]}} + mo.lspace = mo.rspace = "0"; // prevent mo from having space in NativeMML + mo.useMMLspacing &= ~(mo.SPACE_ATTR.lspace | mo.SPACE_ATTR.rspace); // don't count these explicit settings + return mo; + }, + + /* + * Handle comments + */ + Comment: function (c) { + while (this.i < this.string.length && this.string.charAt(this.i) != "\n") {this.i++} + }, + + /* + * Handle hash marks outside of definitions + */ + Hash: function (c) { + TEX.Error(["CantUseHash1", + "You can't use 'macro parameter character #' in math mode"]); + }, + + /* + * Handle other characters (as elements) + */ + Other: function (c) { + var def, mo; + if (this.stack.env.font) {def = {mathvariant: this.stack.env.font}} + if (TEXDEF.remap.hasOwnProperty(c)) { + c = TEXDEF.remap[c]; + if (isArray(c)) {def = c[1]; c = c[0]} + mo = MML.mo(MML.entity('#x'+c)).With(def); + } else { + mo = MML.mo(c).With(def); + } + if (mo.autoDefault("stretchy",true)) {mo.stretchy = false} + if (mo.autoDefault("texClass",true) == "") {mo = MML.TeXAtom(mo)} + this.Push(this.mmlToken(mo)); + }, + + /************************************************************************/ + /* + * Macros + */ + + SetFont: function (name,font) {this.stack.env.font = font}, + SetStyle: function (name,texStyle,style,level) { + this.stack.env.style = texStyle; this.stack.env.level = level; + this.Push(STACKITEM.style().With({styles: {displaystyle: style, scriptlevel: level}})); + }, + SetSize: function (name,size) { + this.stack.env.size = size; + this.Push(STACKITEM.style().With({styles: {mathsize: size+"em"}})); // convert to absolute? + }, + + Color: function (name) { + var color = this.GetArgument(name); + var old = this.stack.env.color; this.stack.env.color = color; + var math = this.ParseArg(name); + if (old) {this.stack.env.color} else {delete this.stack.env.color} + this.Push(MML.mstyle(math).With({mathcolor: color})); + }, + + Spacer: function (name,space) { + this.Push(MML.mspace().With({width: space, mathsize: MML.SIZE.NORMAL, scriptlevel:0})); + }, + + LeftRight: function (name) { + this.Push(STACKITEM[name.substr(1)]().With({delim: this.GetDelimiter(name)})); + }, + + Middle: function (name) { + var delim = this.GetDelimiter(name); + this.Push(MML.TeXAtom().With({texClass:MML.TEXCLASS.CLOSE})); + if (this.stack.Top().type !== "left") + {TEX.Error(["MisplacedMiddle","%1 must be within \\left and \\right",name])} + this.Push(MML.mo(delim).With({stretchy:true})); + this.Push(MML.TeXAtom().With({texClass:MML.TEXCLASS.OPEN})); + }, + + NamedFn: function (name,id) { + if (!id) {id = name.substr(1)}; + var mml = MML.mi(id).With({texClass: MML.TEXCLASS.OP}); + this.Push(STACKITEM.fn(this.mmlToken(mml))); + }, + NamedOp: function (name,id) { + if (!id) {id = name.substr(1)}; + id = id.replace(/ /,"\u2006"); + var mml = MML.mo(id).With({ + movablelimits: true, + movesupsub: true, + form: MML.FORM.PREFIX, + texClass: MML.TEXCLASS.OP + }); + this.Push(this.mmlToken(mml)); + }, + Limits: function (name,limits) { + var op = this.stack.Prev("nopop"); + if (!op || (op.Get("texClass") !== MML.TEXCLASS.OP && op.movesupsub == null)) + {TEX.Error(["MisplacedLimits","%1 is allowed only on operators",name])} + var top = this.stack.Top(); + if (op.type === "munderover" && !limits) { + op = top.data[top.data.length-1] = MML.msubsup.apply(MML.subsup,op.data); + } else if (op.type === "msubsup" && limits) { + op = top.data[top.data.length-1] = MML.munderover.apply(MML.underover,op.data); + } + op.movesupsub = (limits ? true : false); + op.Core().movablelimits = false; + if (op.movablelimits) op.movablelimits = false; + }, + + Over: function (name,open,close) { + var mml = STACKITEM.over().With({name: name}); + if (open || close) { + mml.open = open; mml.close = close; + } else if (name.match(/withdelims$/)) { + mml.open = this.GetDelimiter(name); + mml.close = this.GetDelimiter(name); + } + if (name.match(/^\\above/)) {mml.thickness = this.GetDimen(name)} + else if (name.match(/^\\atop/) || open || close) {mml.thickness = 0} + this.Push(mml); + }, + + Frac: function (name) { + var num = this.ParseArg(name); + var den = this.ParseArg(name); + this.Push(MML.mfrac(num,den)); + }, + + Sqrt: function (name) { + var n = this.GetBrackets(name), arg = this.GetArgument(name); + if (arg === "\\frac") {arg += "{"+this.GetArgument(arg)+"}{"+this.GetArgument(arg)+"}"} + var mml = TEX.Parse(arg,this.stack.env).mml(); + if (!n) {mml = MML.msqrt.apply(MML,mml.array())} + else {mml = MML.mroot(mml,this.parseRoot(n))} + this.Push(mml); + }, + Root: function (name) { + var n = this.GetUpTo(name,"\\of"); + var arg = this.ParseArg(name); + this.Push(MML.mroot(arg,this.parseRoot(n))); + }, + parseRoot: function (n) { + var env = this.stack.env, inRoot = env.inRoot; env.inRoot = true; + var parser = TEX.Parse(n,env); n = parser.mml(); var global = parser.stack.global; + if (global.leftRoot || global.upRoot) { + n = MML.mpadded(n); + if (global.leftRoot) {n.width = global.leftRoot} + if (global.upRoot) {n.voffset = global.upRoot; n.height = global.upRoot} + } + env.inRoot = inRoot; + return n; + }, + MoveRoot: function (name,id) { + if (!this.stack.env.inRoot) + {TEX.Error(["MisplacedMoveRoot","%1 can appear only within a root",name])} + if (this.stack.global[id]) + {TEX.Error(["MultipleMoveRoot","Multiple use of %1",name])} + var n = this.GetArgument(name); + if (!n.match(/-?[0-9]+/)) + {TEX.Error(["IntegerArg","The argument to %1 must be an integer",name])} + n = (n/15)+"em"; + if (n.substr(0,1) !== "-") {n = "+"+n} + this.stack.global[id] = n; + }, + + Accent: function (name,accent,stretchy) { + var c = this.ParseArg(name); + var def = {accent: true}; if (this.stack.env.font) {def.mathvariant = this.stack.env.font} + var mml = this.mmlToken(MML.mo(MML.entity("#x"+accent)).With(def)); + mml.stretchy = (stretchy ? true : false); + var mo = (c.isEmbellished() ? c.CoreMO() : c); + if (mo.isa(MML.mo)) mo.movablelimits = false; + this.Push(MML.TeXAtom(MML.munderover(c,null,mml).With({accent: true}))); + }, + + UnderOver: function (name,c,stack,noaccent) { + var pos = {o: "over", u: "under"}[name.charAt(1)]; + var base = this.ParseArg(name); + if (base.Get("movablelimits")) {base.movablelimits = false} + if (base.isa(MML.munderover) && base.isEmbellished()) { + base.Core().With({lspace:0,rspace:0}); // get spacing right for NativeMML + base = MML.mrow(MML.mo().With({rspace:0}),base); // add an empty so it's not embellished any more + } + var mml = MML.munderover(base,null,null); + mml.SetData( + mml[pos], + this.mmlToken(MML.mo(MML.entity("#x"+c)).With({stretchy:true, accent:!noaccent})) + ); + if (stack) {mml = MML.TeXAtom(mml).With({texClass:MML.TEXCLASS.OP, movesupsub:true})} + this.Push(mml.With({subsupOK:true})); + }, + + Overset: function (name) { + var top = this.ParseArg(name), base = this.ParseArg(name); + base.movablelimits = false; + this.Push(MML.mover(base,top)); + }, + Underset: function (name) { + var bot = this.ParseArg(name), base = this.ParseArg(name); + base.movablelimits = false; + this.Push(MML.munder(base,bot)); + }, + + TeXAtom: function (name,mclass) { + var def = {texClass: mclass}, mml; + if (mclass == MML.TEXCLASS.OP) { + def.movesupsub = def.movablelimits = true; + var arg = this.GetArgument(name); + var match = arg.match(/^\s*\\rm\s+([a-zA-Z0-9 ]+)$/); + if (match) { + def.mathvariant = MML.VARIANT.NORMAL; + mml = STACKITEM.fn(this.mmlToken(MML.mi(match[1]).With(def))); + } else { + mml = STACKITEM.fn(MML.TeXAtom(TEX.Parse(arg,this.stack.env).mml()).With(def)); + } + } else {mml = MML.TeXAtom(this.ParseArg(name)).With(def)} + this.Push(mml); + }, + + MmlToken: function (name) { + var type = this.GetArgument(name), + attr = this.GetBrackets(name,"").replace(/^\s+/,""), + data = this.GetArgument(name), + def = {attrNames:[]}, match; + if (!MML[type] || !MML[type].prototype.isToken) + {TEX.Error(["NotMathMLToken","%1 is not a token element",type])} + while (attr !== "") { + match = attr.match(/^([a-z]+)\s*=\s*('[^']*'|"[^"]*"|[^ ,]*)\s*,?\s*/i); + if (!match) + {TEX.Error(["InvalidMathMLAttr","Invalid MathML attribute: %1",attr])} + if (MML[type].prototype.defaults[match[1]] == null && !this.MmlTokenAllow[match[1]]) { + TEX.Error(["UnknownAttrForElement", + "%1 is not a recognized attribute for %2", + match[1],type]); + } + var value = this.MmlFilterAttribute(match[1],match[2].replace(/^(['"])(.*)\1$/,"$2")); + if (value) { + if (value.toLowerCase() === "true") {value = true} + else if (value.toLowerCase() === "false") {value = false} + def[match[1]] = value; + def.attrNames.push(match[1]); + } + attr = attr.substr(match[0].length); + } + this.Push(this.mmlToken(MML[type](data).With(def))); + }, + MmlFilterAttribute: function (name,value) {return value}, + MmlTokenAllow: { + fontfamily:1, fontsize:1, fontweight:1, fontstyle:1, + color:1, background:1, + id:1, "class":1, href:1, style:1 + }, + + Strut: function (name) { + this.Push(MML.mpadded(MML.mrow()).With({height: "8.6pt", depth: "3pt", width: 0})); + }, + + Phantom: function (name,v,h) { + var box = MML.mphantom(this.ParseArg(name)); + if (v || h) { + box = MML.mpadded(box); + if (h) {box.height = box.depth = 0} + if (v) {box.width = 0} + } + this.Push(MML.TeXAtom(box)); + }, + + Smash: function (name) { + var bt = this.trimSpaces(this.GetBrackets(name,"")); + var smash = MML.mpadded(this.ParseArg(name)); + switch (bt) { + case "b": smash.depth = 0; break; + case "t": smash.height = 0; break; + default: smash.height = smash.depth = 0; + } + this.Push(MML.TeXAtom(smash)); + }, + + Lap: function (name) { + var mml = MML.mpadded(this.ParseArg(name)).With({width: 0}); + if (name === "\\llap") {mml.lspace = "-1width"} + this.Push(MML.TeXAtom(mml)); + }, + + RaiseLower: function (name) { + var h = this.GetDimen(name); + var item = STACKITEM.position().With({name: name, move: 'vertical'}); + if (h.charAt(0) === '-') {h = h.slice(1); name = {raise: "\\lower", lower: "\\raise"}[name.substr(1)]} + if (name === "\\lower") {item.dh = '-'+h; item.dd = '+'+h} else {item.dh = '+'+h; item.dd = '-'+h} + this.Push(item); + }, + + MoveLeftRight: function (name) { + var h = this.GetDimen(name); + var nh = (h.charAt(0) === '-' ? h.slice(1) : '-'+h); + if (name === "\\moveleft") {var tmp = h; h = nh; nh = tmp} + this.Push(STACKITEM.position().With({ + name: name, move: 'horizontal', + left: MML.mspace().With({width: h, mathsize: MML.SIZE.NORMAL}), + right: MML.mspace().With({width: nh, mathsize: MML.SIZE.NORMAL}) + })); + }, + + Hskip: function (name) { + this.Push(MML.mspace().With({width: this.GetDimen(name), mathsize: MML.SIZE.NORMAL})); + }, + + Rule: function (name,style) { + var w = this.GetDimen(name), + h = this.GetDimen(name), + d = this.GetDimen(name); + var def = {width:w, height:h, depth:d}; + if (style !== 'blank') { + def.mathbackground = (this.stack.env.color || "black"); + } + this.Push(MML.mspace().With(def)); + }, + rule: function (name) { + var v = this.GetBrackets(name), + w = this.GetDimen(name), + h = this.GetDimen(name); + var mml = MML.mspace().With({ + width: w, height:h, + mathbackground: (this.stack.env.color || "black") + }); + if (v) { + mml = MML.mpadded(mml).With({voffset: v}); + if (v.match(/^\-/)) { + mml.height = v; + mml.depth = '+' + v.substr(1); + } else { + mml.height = '+' + v; + } + } + this.Push(mml); + }, + + MakeBig: function (name,mclass,size) { + size *= TEXDEF.p_height; + size = String(size).replace(/(\.\d\d\d).+/,'$1')+"em"; + var delim = this.GetDelimiter(name,true); + this.Push(MML.mstyle(MML.TeXAtom(MML.mo(delim).With({ + minsize: size, maxsize: size, + fence: true, stretchy: true, symmetric: true + })).With({texClass: mclass})).With({scriptlevel: 0})); + }, + + BuildRel: function (name) { + var top = this.ParseUpTo(name,"\\over"); + var bot = this.ParseArg(name); + this.Push(MML.TeXAtom(MML.munderover(bot,null,top)).With({texClass: MML.TEXCLASS.REL})); + }, + + HBox: function (name,style) { + this.Push.apply(this,this.InternalMath(this.GetArgument(name),style)); + }, + + FBox: function (name) { + this.Push(MML.menclose.apply(MML,this.InternalMath(this.GetArgument(name))).With({notation:"box"})); + }, + + Not: function (name) { + this.Push(STACKITEM.not()); + }, + + Dots: function (name) { + this.Push(STACKITEM.dots().With({ + ldots: this.mmlToken(MML.mo(MML.entity("#x2026")).With({stretchy:false})), + cdots: this.mmlToken(MML.mo(MML.entity("#x22EF")).With({stretchy:false})) + })); + }, + + Require: function (name) { + var file = this.GetArgument(name) + .replace(/.*\//,"") // remove any leading path + .replace(/[^a-z0-9_.-]/ig,""); // remove illegal characters + this.Extension(null,file); + }, + + Extension: function (name,file,array) { + if (name && !typeof(name) === "string") {name = name.name} + file = TEX.extensionDir+"/"+file; + if (!file.match(/\.js$/)) {file += ".js"} + if (!AJAX.loaded[AJAX.fileURL(file)]) { + if (name != null) {delete TEXDEF[array || 'macros'][name.replace(/^\\/,"")]} + HUB.RestartAfter(AJAX.Require(file)); + } + }, + + Macro: function (name,macro,argcount,def) { + if (argcount) { + var args = []; + if (def != null) { + var optional = this.GetBrackets(name); + args.push(optional == null ? def : optional); + } + for (var i = args.length; i < argcount; i++) {args.push(this.GetArgument(name))} + macro = this.SubstituteArgs(args,macro); + } + this.string = this.AddArgs(macro,this.string.slice(this.i)); + this.i = 0; + if (++this.macroCount > TEX.config.MAXMACROS) { + TEX.Error(["MaxMacroSub1", + "MathJax maximum macro substitution count exceeded; " + + "is there a recursive macro call?"]); + } + }, + + Matrix: function (name,open,close,align,spacing,vspacing,style,cases,numbered) { + var c = this.GetNext(); + if (c === "") + {TEX.Error(["MissingArgFor","Missing argument for %1",name])} + if (c === "{") {this.i++} else {this.string = c+"}"+this.string.slice(this.i+1); this.i = 0} + var array = STACKITEM.array().With({ + requireClose: true, + arraydef: { + rowspacing: (vspacing||"4pt"), + columnspacing: (spacing||"1em") + } + }); + if (cases) {array.isCases = true} + if (numbered) {array.isNumbered = true; array.arraydef.side = numbered} + if (open || close) {array.open = open; array.close = close} + if (style === "D") {array.arraydef.displaystyle = true} + if (align != null) {array.arraydef.columnalign = align} + this.Push(array); + }, + + Entry: function (name) { + this.Push(STACKITEM.cell().With({isEntry: true, name: name})); + if (this.stack.Top().isCases) { + // + // Make second column be in \text{...} (unless it is already + // in a \text{...}, for backward compatibility). + // + var string = this.string; + var braces = 0, close = -1, i = this.i, m = string.length; + // + // Look through the string character by character... + // + while (i < m) { + var c = string.charAt(i); + if (c === "{") { + // + // Increase the nested brace count and go on + // + braces++; + i++; + } else if (c === "}") { + // + // If there are too many close braces, just end (we will get an + // error message later when the rest of the string is parsed) + // Otherwise + // decrease the nested brace count, + // if it is now zero and we haven't already marked the end of the + // first brace group, record the position (use to check for \text{} later) + // go on to the next character. + // + if (braces === 0) { + m = 0; + } else { + braces--; + if (braces === 0 && close < 0) { + close = i - this.i; + } + i++; + } + } else if (c === "&" && braces === 0) { + // + // Extra alignment tabs are not allowed in cases + // + TEX.Error(["ExtraAlignTab","Extra alignment tab in \\cases text"]); + } else if (c === "\\") { + // + // If the macro is \cr or \\, end the search, otherwise skip the macro + // (multi-letter names don't matter, as we will skip the rest of the + // characters in the main loop) + // + if (string.substr(i).match(/^((\\cr)[^a-zA-Z]|\\\\)/)) {m = 0} else {i += 2} + } else { + // + // Go on to the next character + // + i++; + } + } + // + // Check if the second column text is already in \text{}, + // If not, process the second column as text and continue parsing from there, + // (otherwise process the second column as normal, since it is in \text{} + // + var text = string.substr(this.i,i-this.i); + if (!text.match(/^\s*\\text[^a-zA-Z]/) || close !== text.replace(/\s+$/,'').length - 1) { + this.Push.apply(this,this.InternalMath(text,0)); + this.i = i; + } + } + }, + + Cr: function (name) { + this.Push(STACKITEM.cell().With({isCR: true, name: name})); + }, + + CrLaTeX: function (name) { + var n; + if (this.string.charAt(this.i) === "[") { + n = this.GetBrackets(name,"").replace(/ /g,"").replace(/,/,"."); + if (n && !this.matchDimen(n)) { + TEX.Error(["BracketMustBeDimension", + "Bracket argument to %1 must be a dimension",name]); + } + } + this.Push(STACKITEM.cell().With({isCR: true, name: name, linebreak: true})); + var top = this.stack.Top(); + if (top.isa(STACKITEM.array)) { + if (n && top.arraydef.rowspacing) { + var rows = top.arraydef.rowspacing.split(/ /); + if (!top.rowspacing) {top.rowspacing = this.dimen2em(rows[0])} + while (rows.length < top.table.length) {rows.push(this.Em(top.rowspacing))} + rows[top.table.length-1] = this.Em(Math.max(0,top.rowspacing+this.dimen2em(n))); + top.arraydef.rowspacing = rows.join(' '); + } + } else { + if (n) {this.Push(MML.mspace().With({depth:n}))} + this.Push(MML.mspace().With({linebreak:MML.LINEBREAK.NEWLINE})); + } + }, + emPerInch: 7.2, + pxPerInch: 72, + matchDimen: function (dim) { + return dim.match(/^(-?(?:\.\d+|\d+(?:\.\d*)?))(px|pt|em|ex|mu|pc|in|mm|cm)$/); + }, + dimen2em: function (dim) { + var match = this.matchDimen(dim); + var m = parseFloat(match[1]||"1"), unit = match[2]; + if (unit === "em") {return m} + if (unit === "ex") {return m * .43} + if (unit === "pt") {return m / 10} // 10 pt to an em + if (unit === "pc") {return m * 1.2} // 12 pt to a pc + if (unit === "px") {return m * this.emPerInch / this.pxPerInch} + if (unit === "in") {return m * this.emPerInch} + if (unit === "cm") {return m * this.emPerInch / 2.54} // 2.54 cm to an inch + if (unit === "mm") {return m * this.emPerInch / 25.4} // 10 mm to a cm + if (unit === "mu") {return m / 18} + return 0; + }, + Em: function (m) { + if (Math.abs(m) < .0006) {return "0em"} + return m.toFixed(3).replace(/\.?0+$/,"") + "em"; + }, + + HLine: function (name,style) { + if (style == null) {style = "solid"} + var top = this.stack.Top(); + if (!top.isa(STACKITEM.array) || top.data.length) + {TEX.Error(["Misplaced","Misplaced %1",name])} + if (top.table.length == 0) { + top.frame.push("top"); + } else { + var lines = (top.arraydef.rowlines ? top.arraydef.rowlines.split(/ /) : []); + while (lines.length < top.table.length) {lines.push("none")} + lines[top.table.length-1] = style; + top.arraydef.rowlines = lines.join(' '); + } + }, + + HFill: function (name) { + var top = this.stack.Top(); + if (top.isa(STACKITEM.array)) top.hfill.push(top.data.length); + else TEX.Error(["UnsupportedHFill","Unsupported use of %1",name]); + }, + + + + /************************************************************************/ + /* + * LaTeX environments + */ + + BeginEnd: function (name) { + var env = this.GetArgument(name), isEnd = false; + if (env.match(/^\\end\\/)) {isEnd = true; env = env.substr(5)} // special \end{} for \newenvironment environments + if (env.match(/\\/i)) {TEX.Error(["InvalidEnv","Invalid environment name '%1'",env])} + var cmd = this.envFindName(env); + if (!cmd) {TEX.Error(["UnknownEnv","Unknown environment '%1'",env])} + if (!isArray(cmd)) {cmd = [cmd]} + var end = (isArray(cmd[1]) ? cmd[1][0] : cmd[1]); + var mml = STACKITEM.begin().With({name: env, end: end, parse:this}); + if (name === "\\end") { + if (!isEnd && isArray(cmd[1]) && this[cmd[1][1]]) { + mml = this[cmd[1][1]].apply(this,[mml].concat(cmd.slice(2))); + } else { + mml = STACKITEM.end().With({name: env}); + } + } else { + if (++this.macroCount > TEX.config.MAXMACROS) { + TEX.Error(["MaxMacroSub2", + "MathJax maximum substitution count exceeded; " + + "is there a recursive latex environment?"]); + } + if (cmd[0] && this[cmd[0]]) {mml = this[cmd[0]].apply(this,[mml].concat(cmd.slice(2)))} + } + this.Push(mml); + }, + envFindName: function (name) { + return (TEXDEF.environment.hasOwnProperty(name) ? TEXDEF.environment[name] : null); + }, + + Equation: function (begin,row) {return row}, + + ExtensionEnv: function (begin,file) {this.Extension(begin.name,file,"environment")}, + + Array: function (begin,open,close,align,spacing,vspacing,style,raggedHeight) { + if (!align) {align = this.GetArgument("\\begin{"+begin.name+"}")} + var lines = ("c"+align).replace(/[^clr|:]/g,'').replace(/[^|:]([|:])+/g,'$1'); + align = align.replace(/[^clr]/g,'').split('').join(' '); + align = align.replace(/l/g,'left').replace(/r/g,'right').replace(/c/g,'center'); + var array = STACKITEM.array().With({ + arraydef: { + columnalign: align, + columnspacing: (spacing||"1em"), + rowspacing: (vspacing||"4pt") + } + }); + if (lines.match(/[|:]/)) { + if (lines.charAt(0).match(/[|:]/)) {array.frame.push("left"); array.frame.dashed = lines.charAt(0) === ":"} + if (lines.charAt(lines.length-1).match(/[|:]/)) {array.frame.push("right")} + lines = lines.substr(1,lines.length-2); + array.arraydef.columnlines = + lines.split('').join(' ').replace(/[^|: ]/g,'none').replace(/\|/g,'solid').replace(/:/g,'dashed'); + } + if (open) {array.open = this.convertDelimiter(open)} + if (close) {array.close = this.convertDelimiter(close)} + if (style === "D") {array.arraydef.displaystyle = true} + else if (style) {array.arraydef.displaystyle = false} + if (style === "S") {array.arraydef.scriptlevel = 1} // FIXME: should use mstyle? + if (raggedHeight) {array.arraydef.useHeight = false} + this.Push(begin); + return array; + }, + + AlignedArray: function (begin) { + var align = this.GetBrackets("\\begin{"+begin.name+"}"); + return this.setArrayAlign(this.Array.apply(this,arguments),align); + }, + setArrayAlign: function (array,align) { + align = this.trimSpaces(align||""); + if (align === "t") {array.arraydef.align = "baseline 1"} + else if (align === "b") {array.arraydef.align = "baseline -1"} + else if (align === "c") {array.arraydef.align = "center"} + else if (align) {array.arraydef.align = align} // FIXME: should be an error? + return array; + }, + + /************************************************************************/ + /* + * String handling routines + */ + + /* + * Convert delimiter to character + */ + convertDelimiter: function (c) { + if (c) {c = (TEXDEF.delimiter.hasOwnProperty(c) ? TEXDEF.delimiter[c] : null)} + if (c == null) {return null} + if (isArray(c)) {c = c[0]} + if (c.length === 4) {c = String.fromCharCode(parseInt(c,16))} + return c; + }, + + /* + * Trim spaces from a string + */ + trimSpaces: function (text) { + if (typeof(text) != 'string') {return text} + var TEXT = text.replace(/^\s+|\s+$/g,''); + if (TEXT.match(/\\$/) && text.match(/ $/)) TEXT += " "; + return TEXT; + }, + + /* + * Check if the next character is a space + */ + nextIsSpace: function () { + return this.string.charAt(this.i).match(/\s/); + }, + + /* + * Get the next non-space character + */ + GetNext: function () { + while (this.nextIsSpace()) {this.i++} + return this.string.charAt(this.i); + }, + + /* + * Get and return a control-sequence name + */ + GetCS: function () { + var CS = this.string.slice(this.i).match(/^([a-z]+|.) ?/i); + if (CS) {this.i += CS[1].length; return CS[1]} else {this.i++; return " "} + }, + + /* + * Get and return a TeX argument (either a single character or control sequence, + * or the contents of the next set of braces). + */ + GetArgument: function (name,noneOK) { + switch (this.GetNext()) { + case "": + if (!noneOK) {TEX.Error(["MissingArgFor","Missing argument for %1",name])} + return null; + case '}': + if (!noneOK) { + TEX.Error(["ExtraCloseMissingOpen", + "Extra close brace or missing open brace"]); + } + return null; + case '\\': + this.i++; return "\\"+this.GetCS(); + case '{': + var j = ++this.i, parens = 1; + while (this.i < this.string.length) { + switch (this.string.charAt(this.i++)) { + case '\\': this.i++; break; + case '{': parens++; break; + case '}': + if (--parens == 0) {return this.string.slice(j,this.i-1)} + break; + } + } + TEX.Error(["MissingCloseBrace","Missing close brace"]); + break; + } + return this.string.charAt(this.i++); + }, + + /* + * Get an optional LaTeX argument in brackets + */ + GetBrackets: function (name,def) { + if (this.GetNext() != '[') {return def}; + var j = ++this.i, parens = 0; + while (this.i < this.string.length) { + switch (this.string.charAt(this.i++)) { + case '{': parens++; break; + case '\\': this.i++; break; + case '}': + if (parens-- <= 0) { + TEX.Error(["ExtraCloseLooking", + "Extra close brace while looking for %1","']'"]); + } + break; + case ']': + if (parens == 0) {return this.string.slice(j,this.i-1)} + break; + } + } + TEX.Error(["MissingCloseBracket", + "Couldn't find closing ']' for argument to %1",name]); + }, + + /* + * Get the name of a delimiter (check it in the delimiter list). + */ + GetDelimiter: function (name,braceOK) { + while (this.nextIsSpace()) {this.i++} + var c = this.string.charAt(this.i); this.i++; + if (this.i <= this.string.length) { + if (c == "\\") { + c += this.GetCS(name); + } else if (c === "{" && braceOK) { + this.i--; + c = this.GetArgument(name).replace(/^\s+/,'').replace(/\s+$/,''); + } + if (TEXDEF.delimiter.hasOwnProperty(c)) {return this.convertDelimiter(c)} + } + TEX.Error(["MissingOrUnrecognizedDelim", + "Missing or unrecognized delimiter for %1",name]); + }, + + /* + * Get a dimension (including its units). + */ + GetDimen: function (name) { + var dimen; + if (this.nextIsSpace()) {this.i++} + if (this.string.charAt(this.i) == '{') { + dimen = this.GetArgument(name); + if (dimen.match(/^\s*([-+]?([.,]\d+|\d+([.,]\d*)?))\s*(pt|em|ex|mu|px|mm|cm|in|pc)\s*$/)) + {return dimen.replace(/ /g,"").replace(/,/,".")} + } else { + dimen = this.string.slice(this.i); + var match = dimen.match(/^\s*(([-+]?([.,]\d+|\d+([.,]\d*)?))\s*(pt|em|ex|mu|px|mm|cm|in|pc)) ?/); + if (match) { + this.i += match[0].length; + return match[1].replace(/ /g,"").replace(/,/,"."); + } + } + TEX.Error(["MissingDimOrUnits", + "Missing dimension or its units for %1",name]); + }, + + /* + * Get everything up to the given control sequence (token) + */ + GetUpTo: function (name,token) { + while (this.nextIsSpace()) {this.i++} + var j = this.i, k, c, parens = 0; + while (this.i < this.string.length) { + k = this.i; c = this.string.charAt(this.i++); + switch (c) { + case '\\': c += this.GetCS(); break; + case '{': parens++; break; + case '}': + if (parens == 0) { + TEX.Error(["ExtraCloseLooking", + "Extra close brace while looking for %1",token]) + } + parens--; + break; + } + if (parens == 0 && c == token) {return this.string.slice(j,k)} + } + TEX.Error(["TokenNotFoundForCommand", + "Couldn't find %1 for %2",token,name]); + }, + + /* + * Parse various substrings + */ + ParseArg: function (name) {return TEX.Parse(this.GetArgument(name),this.stack.env).mml()}, + ParseUpTo: function (name,token) {return TEX.Parse(this.GetUpTo(name,token),this.stack.env).mml()}, + + /* + * Break up a string into text and math blocks + */ + InternalMath: function (text,level) { + var def = (this.stack.env.font ? {mathvariant: this.stack.env.font} : {}); + var mml = [], i = 0, k = 0, c, match = '', braces = 0; + if (text.match(/\\?[${}\\]|\\\(|\\(eq)?ref\s*\{/)) { + while (i < text.length) { + c = text.charAt(i++); + if (c === '$') { + if (match === '$' && braces === 0) { + mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-1),{}).mml())); + match = ''; k = i; + } else if (match === '') { + if (k < i-1) mml.push(this.InternalText(text.slice(k,i-1),def)); + match = '$'; k = i; + } + } else if (c === '{' && match !== '') { + braces++; + } else if (c === '}') { + if (match === '}' && braces === 0) { + mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i),{}).mml().With(def))); + match = ''; k = i; + } else if (match !== '') { + if (braces) braces--; + } + } else if (c === '\\') { + if (match === '' && text.substr(i).match(/^(eq)?ref\s*\{/)) { + var len = RegExp["$&"].length; + if (k < i-1) mml.push(this.InternalText(text.slice(k,i-1),def)); + match = '}'; k = i-1; i += len; + } else { + c = text.charAt(i++); + if (c === '(' && match === '') { + if (k < i-2) mml.push(this.InternalText(text.slice(k,i-2),def)); + match = ')'; k = i; + } else if (c === ')' && match === ')' && braces === 0) { + mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-2),{}).mml())); + match = ''; k = i; + } else if (c.match(/[${}\\]/) && match === '') { + i--; text = text.substr(0,i-1) + text.substr(i); // remove \ from \$, \{, \}, or \\ + } + } + } + } + if (match !== '') TEX.Error(["MathNotTerminated","Math not terminated in text box"]); + } + if (k < text.length) mml.push(this.InternalText(text.slice(k),def)); + if (level != null) { + mml = [MML.mstyle.apply(MML,mml).With({displaystyle:false,scriptlevel:level})]; + } else if (mml.length > 1) { + mml = [MML.mrow.apply(MML,mml)]; + } + return mml; + }, + InternalText: function (text,def) { + text = text.replace(/^\s+/,NBSP).replace(/\s+$/,NBSP); + return MML.mtext(MML.chars(text)).With(def); + }, + + /* + * Routines to set the macro and environment definitions + * (overridden by begingroup to make localized versions) + */ + setDef: function (name,value) {value.isUser = true; TEXDEF.macros[name] = value}, + setEnv: function (name,value) {value.isUser = true; TEXDEF.environment[name] = value}, + + /* + * Replace macro parameters with their values + */ + SubstituteArgs: function (args,string) { + var text = ''; var newstring = ''; var c; var i = 0; + while (i < string.length) { + c = string.charAt(i++); + if (c === "\\") {text += c + string.charAt(i++)} + else if (c === '#') { + c = string.charAt(i++); + if (c === '#') {text += c} else { + if (!c.match(/[1-9]/) || c > args.length) { + TEX.Error(["IllegalMacroParam", + "Illegal macro parameter reference"]); + } + newstring = this.AddArgs(this.AddArgs(newstring,text),args[c-1]); + text = ''; + } + } else {text += c} + } + return this.AddArgs(newstring,text); + }, + + /* + * Make sure that macros are followed by a space if their names + * could accidentally be continued into the following text. + */ + AddArgs: function (s1,s2) { + if (s2.match(/^[a-z]/i) && s1.match(/(^|[^\\])(\\\\)*\\[a-z]+$/i)) {s1 += ' '} + if (s1.length + s2.length > TEX.config.MAXBUFFER) { + TEX.Error(["MaxBufferSize", + "MathJax internal buffer size exceeded; is there a recursive macro call?"]); + } + return s1+s2; + } + + }); + + /************************************************************************/ + + TEX.Augment({ + Stack: STACK, Parse: PARSE, Definitions: TEXDEF, Startup: STARTUP, + + config: { + MAXMACROS: 10000, // maximum number of macro substitutions per equation + MAXBUFFER: 5*1024 // maximum size of TeX string to process + }, + + sourceMenuTitle: /*_(MathMenu)*/ ["TeXCommands","TeX Commands"], + annotationEncoding: "application/x-tex", + + prefilterHooks: MathJax.Callback.Hooks(true), // hooks to run before processing TeX + postfilterHooks: MathJax.Callback.Hooks(true), // hooks to run after processing TeX + + // + // Check if AMSmath extension must be loaded and push + // it on the extensions array, if needed + // + Config: function () { + this.SUPER(arguments).Config.apply(this,arguments); + if (this.config.equationNumbers.autoNumber !== "none") { + if (!this.config.extensions) {this.config.extensions = []} + this.config.extensions.push("AMSmath.js"); + } + }, + + // + // Convert TeX to ElementJax + // + Translate: function (script) { + var mml, isError = false, math = MathJax.HTML.getScript(script); + var display = (script.type.replace(/\n/g," ").match(/(;|\s|\n)mode\s*=\s*display(;|\s|\n|$)/) != null); + var data = {math:math, display:display, script:script}; + var callback = this.prefilterHooks.Execute(data); if (callback) return callback; + math = data.math; + try { + mml = TEX.Parse(math).mml(); + } catch(err) { + if (!err.texError) {throw err} + mml = this.formatError(err,math,display,script); + isError = true; + } + if (mml.isa(MML.mtable) && mml.displaystyle === "inherit") mml.displaystyle = display; // for tagged equations + if (mml.inferred) {mml = MML.apply(MathJax.ElementJax,mml.data)} else {mml = MML(mml)} + if (display) {mml.root.display = "block"} + if (isError) {mml.texError = true} + data.math = mml; + return this.postfilterHooks.Execute(data) || data.math; + }, + prefilterMath: function (math,displaystyle,script) { + return math; + }, + postfilterMath: function (math,displaystyle,script) { + this.combineRelations(math.root); + return math; + }, + formatError: function (err,math,display,script) { + var message = err.message.replace(/\n.*/,""); + HUB.signal.Post(["TeX Jax - parse error",message,math,display,script]); + return MML.Error(message); + }, + + // + // Produce an error and stop processing this equation + // + Error: function (message) { + // + // Translate message if it is ["id","message",args] + // + if (isArray(message)) {message = _.apply(_,message)} + throw HUB.Insert(Error(message),{texError: true}); + }, + + // + // Add a user-defined macro to the macro list + // + Macro: function (name,def,argn) { + TEXDEF.macros[name] = ['Macro'].concat([].slice.call(arguments,1)); + TEXDEF.macros[name].isUser = true; + }, + + /* + * Create an mrow that has stretchy delimiters at either end, as needed + */ + fenced: function (open,mml,close) { + var mrow = MML.mrow().With({open:open, close:close, texClass:MML.TEXCLASS.INNER}); + mrow.Append( + MML.mo(open).With({fence:true, stretchy:true, symmetric:true, texClass:MML.TEXCLASS.OPEN}) + ); + if (mml.type === "mrow" && mml.inferred) { + mrow.Append.apply(mrow, mml.data); + } else { + mrow.Append(mml); + } + mrow.Append( + MML.mo(close).With({fence:true, stretchy:true, symmetric:true, texClass:MML.TEXCLASS.CLOSE}) + ); + return mrow; + }, + /* + * Create an mrow that has \mathchoice using \bigg and \big for the delimiters + */ + fixedFence: function (open,mml,close) { + var mrow = MML.mrow().With({open:open, close:close, texClass:MML.TEXCLASS.ORD}); + if (open) {mrow.Append(this.mathPalette(open,"l"))} + if (mml.type === "mrow") {mrow.Append.apply(mrow,mml.data)} else {mrow.Append(mml)} + if (close) {mrow.Append(this.mathPalette(close,"r"))} + return mrow; + }, + mathPalette: function (fence,side) { + if (fence === '{' || fence === '}') {fence = "\\"+fence} + var D = '{\\bigg'+side+' '+fence+'}', T = '{\\big'+side+' '+fence+'}'; + return TEX.Parse('\\mathchoice'+D+T+T+T,{}).mml(); + }, + + // + // Combine adjacent elements that are relations + // (since MathML treats the spacing very differently) + // + combineRelations: function (mml) { + var i, m, m1, m2; + for (i = 0, m = mml.data.length; i < m; i++) { + if (mml.data[i]) { + if (mml.isa(MML.mrow)) { + while (i+1 < m && (m1 = mml.data[i]) && (m2 = mml.data[i+1]) && + m1.isa(MML.mo) && m2.isa(MML.mo) && + m1.Get("texClass") === MML.TEXCLASS.REL && + m2.Get("texClass") === MML.TEXCLASS.REL) { + if (m1.variantForm == m2.variantForm && + m1.Get("mathvariant") == m2.Get("mathvariant") && m1.style == m2.style && + m1["class"] == m2["class"] && !m1.id && !m2.id) { + m1.Append.apply(m1,m2.data); + mml.data.splice(i+1,1); m--; + } else { + m1.rspace = m2.lspace = "0pt"; i++; + } + } + } + if (!mml.data[i].isToken) {this.combineRelations(mml.data[i])} + } + } + } + }); + + // + // Add the default filters + // + TEX.prefilterHooks.Add(function (data) { + data.math = TEX.prefilterMath(data.math,data.display,data.script); + }); + TEX.postfilterHooks.Add(function (data) { + data.math = TEX.postfilterMath(data.math,data.display,data.script); + }); + + TEX.loadComplete("jax.js"); + +})(MathJax.InputJax.TeX,MathJax.Hub,MathJax.Ajax); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/annotation-xml.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/annotation-xml.js new file mode 100644 index 00000000..0f87bc08 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/annotation-xml.js @@ -0,0 +1,60 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/annotation-xm;l.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML; + + MML["annotation-xml"].Augment({ + toCommonHTML: function (node) { + var encoding = this.Get("encoding"); + node = this.CHTMLdefaultNode(node,{childOptions:{encoding:encoding}}); + if (this.CHTML.rscale !== 1) this.CHTML.rescale(1/this.CHTML.rscale); + return node; + } + }); + + MML.xml.Augment({ + toCommonHTML: function (node,options) { + var bbox = this.CHTML = CHTML.BBOX.zero(); + for (var i = 0, m = this.data.length; i < m; i++) + {node.appendChild(this.data[i].cloneNode(true))} + // + // Warning: causes reflow + // + var w = node.offsetWidth, h = node.offsetHeight; + var strut = CHTML.addElement(node,"mjx-hd-test",{style:{height:h+"px"}}); + bbox.d = bbox.b = (node.offsetHeight - h)/CHTML.em; + bbox.w = bbox.r = w/CHTML.em; bbox.h = bbox.t = h/CHTML.em - bbox.d; + node.removeChild(strut); + } + }); + + MathJax.Hub.Startup.signal.Post("CommonHTML annotation-xml Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/annotation-xml.js"); +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/maction.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/maction.js new file mode 100644 index 00000000..857293e2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/maction.js @@ -0,0 +1,178 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/maction.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML; + + var currentTip, hover, clear; + + // + // Add configuration for tooltips + // + var CONFIG = CHTML.config.tooltip = MathJax.Hub.Insert({ + delayPost: 600, delayClear: 600, + offsetX: 10, offsetY: 5 + },CHTML.config.tooltip||{}); + + + MML.maction.Augment({ + CHTMLtooltip: CHTML.addElement(document.body,"div",{id:"MathJax_CHTML_Tooltip"}), + + toCommonHTML: function (node) { + var selected = this.Get("selection"); + node = this.CHTMLcreateNode(node); + this.CHTML = CHTML.BBOX.empty(); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + this.CHTMLaddChild(node,selected-1,{}); + this.CHTML.clean(); + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + + var type = this.Get("actiontype"); + if (this.CHTMLaction[type] && this.CHTMLaction.hasOwnProperty(type)) + this.CHTMLaction[type].call(this,node,selected); + + return node; + }, + CHTMLcoreNode: function (node) {return this.CHTMLchildNode(node,0)}, + + // + // Implementations for the various actions + // + CHTMLaction: { + toggle: function (node,selection) { + this.selection = selection; + node.onclick = MathJax.Callback(["CHTMLclick",this,CHTML.jax]); + node.style.cursor = "pointer"; + }, + + statusline: function (node,selection) { + node.onmouseover = MathJax.Callback(["CHTMLsetStatus",this]); + node.onmouseout = MathJax.Callback(["CHTMLclearStatus",this]); + node.onmouseover.autoReset = node.onmouseout.autoReset = true; + }, + + tooltip: function(node,selection) { + if (this.data[1] && this.data[1].isToken) { + node.title = node.alt = this.data[1].data.join(""); + } else { + node.onmouseover = MathJax.Callback(["CHTMLtooltipOver",this,CHTML.jax]); + node.onmouseout = MathJax.Callback(["CHTMLtooltipOut",this,CHTML.jax]); + node.onmouseover.autoReset = node.onmouseout.autoReset = true; + } + } + }, + + // + // Handle a click on the maction element + // (remove the original rendering and rerender) + // + CHTMLclick: function (jax,event) { + this.selection++; + if (this.selection > this.data.length) this.selection = 1; + var hover = !!jax.hover; + jax.Update(); + if (hover) { + var span = document.getElementById(jax.inputID+"-Span"); + MathJax.Extension.MathEvents.Hover.Hover(jax,span); + } + return MathJax.Extension.MathEvents.Event.False(event); + }, + + // + // Set/Clear the window status message + // + CHTMLsetStatus: function (event) { + // FIXME: Do something better with non-token elements + this.messageID = MathJax.Message.Set + ((this.data[1] && this.data[1].isToken) ? + this.data[1].data.join("") : this.data[1].toString()); + }, + CHTMLclearStatus: function (event) { + if (this.messageID) MathJax.Message.Clear(this.messageID,0); + delete this.messageID; + }, + + // + // Handle tooltips + // + CHTMLtooltipOver: function (jax,event) { + if (!event) event = window.event; + if (clear) {clearTimeout(clear); clear = null} + if (hover) clearTimeout(hover); + var x = event.pageX; var y = event.pageY; + if (x == null) { + x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; + y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; + } + var callback = MathJax.Callback(["CHTMLtooltipPost",this,jax,x+CONFIG.offsetX,y+CONFIG.offsetY]) + hover = setTimeout(callback,CONFIG.delayPost); + }, + CHTMLtooltipOut: function (jax,event) { + if (hover) {clearTimeout(hover); hover = null} + if (clear) clearTimeout(clear); + var callback = MathJax.Callback(["CHTMLtooltipClear",this,80]); + clear = setTimeout(callback,CONFIG.delayClear); + }, + CHTMLtooltipPost: function (jax,x,y) { + hover = null; if (clear) {clearTimeout(clear); clear = null} + var tip = this.CHTMLtooltip; + tip.style.display = "block"; tip.style.opacity = ""; +// tip.style.filter = CHTML.config.styles["#MathJax_CHTML_Tooltip"].filter; + if (this === currentTip) return; + tip.style.left = x+"px"; tip.style.top = y+"px"; + tip.innerHTML = ''; + CHTML.getMetrics(jax); + try {this.data[1].toCommonHTML(tip.firstChild.firstChild)} catch(err) { + if (!err.restart) throw err; + tip.style.display = "none"; + MathJax.Callback.After(["CHTMLtooltipPost",this,jax,x,y],err.restart); + return; + } + currentTip = this; + }, + CHTMLtooltipClear: function (n) { + var tip = this.CHTMLtooltip; + if (n <= 0) { + tip.style.display = "none"; + tip.style.opacity = tip.style.filter = ""; + clear = null; + } else { + tip.style.opacity = n/100; + tip.style.filter = "alpha(opacity="+n+")"; + clear = setTimeout(MathJax.Callback(["CHTMLtooltipClear",this,n-20]),50); + } + } + }); + + MathJax.Hub.Startup.signal.Post("CommonHTML maction Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/maction.js"); +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/menclose.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/menclose.js new file mode 100644 index 00000000..b2bbeb45 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/menclose.js @@ -0,0 +1,317 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/menclose.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML; + + var SVGNS = "http://www.w3.org/2000/svg"; + var ARROWX = 4, ARROWDX = 1, ARROWY = 2; + + MML.menclose.Augment({ + toCommonHTML: function (node) { + var values = this.getValues("notation","thickness","padding"); + if (values.thickness == null) values.thickness = ".075em"; + if (values.padding == null) values.padding = ".2em"; + // + // Get DOM nodes + // + node = this.CHTMLdefaultNode(node,{childNodes:"mjx-box", forceChild:true}); + var child = node.firstChild, cbox = this.CHTMLbboxFor(0); + // + // Get the padding and rule thickness + // + var p = this.CHTMLlength2em(values.padding,1/CHTML.em); // padding for enclosure + var t = this.CHTMLlength2em(values.thickness,1/CHTML.em); // thickness of lines + t = Math.max(1,Math.round(t*CHTML.em))/CHTML.em; + var SOLID = CHTML.Px(t)+" solid"; + var bb = {L:p, R:p, T:p, B:p, H:cbox.h+p, D:cbox.d+p, W:cbox.w+2*p}; + child.style.padding = CHTML.Em(p); + // + // Eliminate duplicate notations. + // + var notations = MathJax.Hub.SplitList(values.notation), notation = {}; + for (var i = 0, m = notations.length; i < m; i++) notation[notations[i]] = true; + if (notation[MML.NOTATION.UPDIAGONALARROW]) delete notation[MML.NOTATION.UPDIAGONALSTRIKE]; + // + // Add the needed notations + // + for (var n in notation) { + if (notation.hasOwnProperty(n)) { + if (this.CHTMLnotation[n] && this.CHTMLnotation.hasOwnProperty(n)) + this.CHTMLnotation[n].call(this,child,cbox,bb,p,t,SOLID); + } + } + // + // Adjust the bounding box + // + var BBOX = this.CHTML; + BBOX.w += bb.L + bb.R; BBOX.r += BBOX.L; if (BBOX.w > BBOX.r) BBOX.r = BBOX.w; + BBOX.h += bb.T; if (BBOX.h > BBOX.t) BBOX.t = BBOX.h; + BBOX.d += bb.B; if (BBOX.d > BBOX.b) BBOX.b = BBOX.d; + + return node; + }, + // + // The various notations and their implementations + // + CHTMLnotation: { + + /********************************************************/ + + box: function (child,cbox,bb,p,t,SOLID) { + p -= t; + child.style.padding = CHTML.Em(p); + child.style.border = SOLID; + }, + + /********************************************************/ + + roundedbox: function (child,cbox,bb,p,t,SOLID) { + var r = Math.min(cbox.w,cbox.h+cbox.d+2*p)/4; + CHTML.addElement(child.parentNode,"mjx-box",{ + style: { + padding:CHTML.Em(p-t), border:SOLID, "border-radius":CHTML.Em(r), + height:CHTML.Em(cbox.h+cbox.d), "vertical-align":CHTML.Em(-bb.D), + width:CHTML.Em(cbox.w), "margin-left":CHTML.Em(-bb.W) + } + }); + }, + + /********************************************************/ + + circle: function (child,cbox,bb,p,t,SOLID) { + var H = bb.H, D = bb.D, W = bb.W; + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"ellipse",{ + rx:CHTML.Px(W/2-t/2), ry:CHTML.Px((H+D)/2-t/2), + cx:CHTML.Px(W/2), cy:CHTML.Px((H+D)/2) + }); + }, + + /********************************************************/ + + left: function (child,cbox,bb,p,t,SOLID) { + child.style.borderLeft = SOLID; + child.style.paddingLeft = CHTML.Em(p-t); + }, + + /********************************************************/ + + right: function (child,cbox,bb,p,t,SOLID) { + child.style.borderRight = SOLID; + child.style.paddingRight = CHTML.Em(p-t); + }, + + /********************************************************/ + + top: function (child,cbox,bb,p,t,SOLID) { + child.style.borderTop = SOLID; + child.style.paddingTop = CHTML.Em(p-t); + }, + + /********************************************************/ + + bottom: function (child,cbox,bb,p,t,SOLID) { + child.style.borderBottom = SOLID; + child.style.paddingBottom = CHTML.Em(p-t); + }, + + /********************************************************/ + + actuarial: function (child,cbox,bb,p,t,SOLID) { + child.style.borderTop = child.style.borderRight = SOLID; + child.style.paddingTop = child.style.paddingRight = CHTML.Em(p-t); + }, + + /********************************************************/ + + madruwb: function (child,cbox,bb,p,t,SOLID) { + child.style.borderBottom = child.style.borderRight = SOLID; + child.style.paddingBottom = child.style.paddingRight = CHTML.Em(p-t); + }, + + /********************************************************/ + + verticalstrike: function (child,cbox,bb,p,t,SOLID) { + CHTML.addElement(child.parentNode,"mjx-box",{ + style: { + "border-left":SOLID, + height:CHTML.Em(bb.H+bb.D), "vertical-align":CHTML.Em(-bb.D), + width:CHTML.Em(cbox.w/2+p-t/2), "margin-left":CHTML.Em(-cbox.w/2-p-t/2) + } + }); + }, + + /********************************************************/ + + horizontalstrike: function (child,cbox,bb,p,t,SOLID) { + CHTML.addElement(child.parentNode,"mjx-box",{ + style: { + "border-top":SOLID, + height:CHTML.Em((bb.H+bb.D)/2-t/2), "vertical-align":CHTML.Em(-bb.D), + width:CHTML.Em(bb.W), "margin-left":CHTML.Em(-bb.W) + } + }); + }, + + /********************************************************/ + + updiagonalstrike: function (child,cbox,bb,p,t,SOLID) { + var H = bb.H, D = bb.D, W = bb.W; + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"line",{ + x1:CHTML.Px(t/2), y1:CHTML.Px(H+D-t), x2:CHTML.Px(W-t), y2:CHTML.Px(t/2) + }); + }, + + /********************************************************/ + + downdiagonalstrike: function (child,cbox,bb,p,t,SOLID) { + var H = bb.H, D = bb.D, W = bb.W; + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"line",{ + x1:CHTML.Px(t/2), y1:CHTML.Px(t/2), x2:CHTML.Px(W-t), y2:CHTML.Px(H+D-t) + }); + }, + + /********************************************************/ + + updiagonalarrow: function (child,cbox,bb,p,t,SOLID) { + var H = bb.H + bb.D - t, W = bb.W - t/2; + var a = Math.atan2(H,W)*(-180/Math.PI).toFixed(3); + var R = Math.sqrt(H*H + W*W); + var svg = this.CHTMLsvg(child,bb,t); + var g = this.CHTMLsvgElement(svg.firstChild,"g",{ + fill:"currentColor", + transform:"translate("+this.CHTMLpx(t/2)+" "+this.CHTMLpx(H+t/2)+") rotate("+a+")" + }); + var x = t * ARROWX, dx = t * ARROWDX, y = t * ARROWY; + this.CHTMLsvgElement(g,"line",{ + x1:CHTML.Px(t/2), y1:0, x2:CHTML.Px(R-x), y2:0 + }); + this.CHTMLsvgElement(g,"path",{ + d: "M "+this.CHTMLpx(R-x)+",0 " + + "L "+this.CHTMLpx(R-x-dx)+","+this.CHTMLpx(y) + + "L "+this.CHTMLpx(R)+",0 " + + "L "+this.CHTMLpx(R-x-dx)+","+this.CHTMLpx(-y), + stroke:"none" + }); + }, + + /********************************************************/ + + phasorangle: function (child,cbox,bb,p,t,SOLID) { + var P = p, H = bb.H, D = bb.D; + p = (H+D)/2; + var W = bb.W + p - P; bb.W = W; bb.L = p; + child.style.margin = "0 0 0 "+CHTML.Em(p-P); + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"path",{ + d: "M "+this.CHTMLpx(p)+",1 " + + "L 1,"+this.CHTMLpx(H+D-t)+" L "+this.CHTMLpx(W)+","+this.CHTMLpx(H+D-t) + }); + }, + + /********************************************************/ + + longdiv: function (child,cbox,bb,p,t,SOLID) { + bb.W += 1.5*p; bb.L += 1.5*p; + var H = bb.H, D = bb.D, W = bb.W; + child.style.margin = "0 0 0 "+CHTML.Em(1.5*p); + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"path",{ + d: "M "+this.CHTMLpx(W)+",1 L 1,1 "+ + "a"+this.CHTMLpx(p)+","+this.CHTMLpx((H+D)/2-t/2)+" 0 0,1 1,"+this.CHTMLpx(H+D-1.5*t) + }); + }, + + /********************************************************/ + + radical: function (child,cbox,bb,p,t,SOLID) { + bb.W += 1.5*p; bb.L += 1.5*p; + var H = bb.H, D = bb.D, W = bb.W; + child.style.margin = "0 0 0 "+CHTML.Em(1.5*p); + var svg = this.CHTMLsvg(child,bb,t); + this.CHTMLsvgElement(svg.firstChild,"path",{ + d: "M 1,"+this.CHTMLpx(.6*(H+D)) + + " L "+this.CHTMLpx(p)+","+this.CHTMLpx(H+D) + + " L "+this.CHTMLpx(2*p)+",1 L "+this.CHTMLpx(W)+",1" + }); + } + + /********************************************************/ + + }, + + // + // Pixels with no "px" + // + CHTMLpx: function (m) { + m *= CHTML.em; + if (Math.abs(m) < .1) return "0"; + return m.toFixed(1).replace(/\.0$/,""); + }, + + // + // Create the SVG element and position it over the + // contents + // + CHTMLsvg: function (node,bbox,t) { + if (!svg) { + var svg = document.createElementNS(SVGNS,"svg"); + if (svg.style) { + svg.style.width = CHTML.Em(bbox.W); + svg.style.height = CHTML.Em(bbox.H+bbox.D); + svg.style.verticalAlign = CHTML.Em(-bbox.D); + svg.style.marginLeft = CHTML.Em(-bbox.W); + } + this.CHTMLsvgElement(svg,"g",{"stroke-width":CHTML.Px(t)}); + node.parentNode.appendChild(svg); + } + return svg; + }, + // + // Add an SVG element to the given svg node + // + CHTMLsvgElement: function (svg,type,def) { + var obj = document.createElementNS(SVGNS,type); obj.isMathJax = true; + if (def) {for (var id in def) {if (def.hasOwnProperty(id)) {obj.setAttributeNS(null,id,def[id].toString())}}} + svg.appendChild(obj); + return obj; + } + }); + + // + // Just use default toCommonHTML for EI8 + // + if (!document.createElementNS) delete MML.menclose.prototype.toCommonHTML; + + MathJax.Hub.Startup.signal.Post("CommonHTML menclose Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/menclose.js"); +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mglyph.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mglyph.js new file mode 100644 index 00000000..2c0419b6 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mglyph.js @@ -0,0 +1,94 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/mglyph.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML, + LOCALE = MathJax.Localization; + + MML.mglyph.Augment({ + toCommonHTML: function (node,options) { + var values = this.getValues("src","width","height","valign","alt"); + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + if (values.src === "") { + var index = this.Get("index"); + this.CHTMLgetVariant(); + if (index && this.CHTMLvariant.style) + this.CHTMLhandleText(node,String.fromCharCode(index),this.CHTMLvariant); + } else { + var bbox = this.CHTML; + if (!bbox.img) bbox.img = MML.mglyph.GLYPH[values.src]; + if (!bbox.img) { + bbox.img = MML.mglyph.GLYPH[values.src] = {img: new Image(), status: "pending"}; + bbox.img.img.onload = MathJax.Callback(["CHTMLimgLoaded",this]); + bbox.img.img.onerror = MathJax.Callback(["CHTMLimgError",this]); + bbox.img.img.src = values.src; + MathJax.Hub.RestartAfter(bbox.img.img.onload); + } + if (bbox.img.status !== "OK") { + var err = MML.Error(LOCALE._(["MathML","BadMglyph"],"Bad mglyph: %1",values.src)); + err.data[0].data[0].mathsize = "75%"; + this.Append(err); err.toCommonHTML(node); this.data.pop(); + bbox.combine(err.CHTML,0,0,1); + } else { + var img = CHTML.addElement(node,"img",{ + isMathJax:true, src:values.src, alt:values.alt, title:values.alt + }); + var w = values.width, h = values.height; + var W = bbox.img.img.width/CHTML.em, H = bbox.img.img.height/CHTML.em; + var WW = W, HH = H; + if (w !== "") {W = this.CHTMLlength2em(w,WW); H = (WW ? W/WW * HH : 0)} + if (h !== "") {H = this.CHTMLlength2em(h,HH); if (w === "") W = (HH ? H/HH * WW : 0)} + img.style.width = CHTML.Em(W); bbox.w = bbox.r = W; + img.style.height = CHTML.Em(H); bbox.h = bbox.t = H; + if (values.valign) { + bbox.d = bbox.b = -this.CHTMLlength2em(values.valign,HH); + img.style.verticalAlign = CHTML.Em(-bbox.d); + bbox.h -= bbox.d; bbox.t = bbox.h; + } + } + } + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + return node; + }, + CHTMLimgLoaded: function (event,status) { + if (typeof(event) === "string") status = event; + this.CHTML.img.status = (status || "OK"); + }, + CHTMLimgError: function () {this.CHTML.img.img.onload("error")} + },{ + GLYPH: {} // global list of all loaded glyphs + }); + + MathJax.Hub.Startup.signal.Post("CommonHTML mglyph Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/mglyph.js"); +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mmultiscripts.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mmultiscripts.js new file mode 100644 index 00000000..054b31ce --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mmultiscripts.js @@ -0,0 +1,296 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/mmultiscripts.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML; + + MML.mmultiscripts.Augment({ + toCommonHTML: function (node,options) { + var stretch = (options||{}).stretch; + if (!stretch) { + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLgetVariant(); + this.CHTMLhandleScale(node); + } + CHTML.BBOX.empty(this.CHTML); + + // + // Get base node + // + var base, bbox; + if (stretch) { + base = CHTML.getNode(node,"mjx-base"); + } else { + this.CHTMLaddChild(node,0,{type:"mjx-base", noBBox:true, forceChild:true}); + base = node.firstChild; + } + bbox = this.CHTMLbboxFor(0); + if (bbox.ic) { + bbox.R -= bbox.ic; // remove IC (added by mo and mi) + if (!stretch) base.style.marginRight = CHTML.Em(-bbox.ic); + delta = 1.3*bbox.ic + .05; // make faked IC be closer to expeted results + } + + // + // Collect scripts into horizontal boxes and add them into the node + // + var BOX = {}, BBOX = {}; + this.CHTMLgetScripts(BOX,BBOX,stretch,node); + var sub = BOX.sub, sup = BOX.sup, presub = BOX.presub, presup = BOX.presup; + var sbox = BBOX.sub, Sbox = BBOX.sup, pbox = BBOX.presub, Pbox = BBOX.presup; + if (!stretch) this.CHTMLaddBoxes(node,base,BOX); + + // + // Get the initial values for the variables + // + var values = this.getValues("scriptlevel","scriptsizemultiplier"); + var sscale = (this.Get("scriptlevel") < 3 ? values.scriptsizemultiplier : 1); + var ex = CHTML.TEX.x_height, s = CHTML.TEX.scriptspace; + var q = CHTML.TEX.sup_drop * sscale, r = CHTML.TEX.sub_drop * sscale; + var u = bbox.h - q, v = bbox.d + r, delta = 0, p; + var bmml = this.data[this.base]; + if (bmml && (bmml.type === "mi" || bmml.type === "mo")) { + if (CHTML.isChar(bmml.data.join("")) && bbox.rscale === 1 && !bbox.sH && + !bmml.Get("largeop")) {u = v = 0} + } + values = this.getValues("displaystyle","subscriptshift","superscriptshift","texprimestyle"); + values.subscriptshift = (values.subscriptshift === "" ? 0 : this.CHTMLlength2em(values.subscriptshift)); + values.superscriptshift = (values.superscriptshift === "" ? 0 : this.CHTMLlength2em(values.superscriptshift)); + + var dx = (presub ? s+pbox.w : presup ? s+Pbox.w-delta : 0); + this.CHTML.combine(bbox,dx,0); var x = this.CHTML.w; + + // + // Place the scripts as needed + // + if (!sup && !presup) { + v = Math.max(v,CHTML.TEX.sub1,values.subscriptshift); + if (sub) v = Math.max(v,sbox.h-(4/5)*ex); + if (presub) v = Math.max(v,pbox.h-(4/5)*ex); + if (sub) this.CHTMLplaceSubOnly(sub,sbox,x,v,s); + if (presub) this.CHTMLplacePresubOnly(presub,pbox,v,s); + } else { + if (!sub && !presub) { + p = CHTML.TEX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; + u = Math.max(u,p,values.superscriptshift); + if (sup) u = Math.max(u,Sbox.d+(1/4)*ex); + if (presup) u = Math.max(u,Pbox.d+(1/4)*ex); + if (sup) this.CHTMLplaceSupOnly(sup,Sbox,x,delta,u,s); + if (presup) this.CHTMLplacePresupOnly(presup,Pbox,delta,u,s); + } else { + v = Math.max(v,CHTML.TEX.sub2); + var t = CHTML.TEX.rule_thickness; + var h = (sbox||pbox).h, d = (Sbox||Pbox).d; + if (presub) h = Math.max(h,pbox.h); + if (presup) d = Math.max(d,Pbox.d); + if ((u - d) - (h - v) < 3*t) { + v = 3*t - u + d + h; q = (4/5)*ex - (u - d); + if (q > 0) {u += q; v -= q} + } + u = Math.max(u,values.superscriptshift); + v = Math.max(v,values.subscriptshift); + if (sup) { + if (sub) {this.CHTMLplaceSubSup(sub,sbox,sup,Sbox,x,delta,u,v,s)} + else {this.CHTMLplaceSupOnly(sup,Sbox,x,delta,u,s)} + } else if (sub) {this.CHTMLplaceSubOnly(sub,sbox,x,v,s)} + if (presup) { + if (presub) {this.CHTMLplacePresubPresup(presub,pbox,presup,Pbox,delta,u,v,s)} + else {this.CHTMLplacePresupOnly(presup,Pbox,delta,u,s)} + } else if (presub) {this.CHTMLplacePresubOnly(presub,pbox,v,s)} + } + } + this.CHTML.clean(); + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + return node; + }, + // + // Get the subscript, superscript, presubscript, and presuperscript + // boxes, with proper spacing, and computer their bounding boxes. + // + CHTMLgetScripts: function (BOX,BBOX,stretch,node) { + if (stretch) { + BOX.sub = CHTML.getNode(node,"mjx-sub"); + BOX.sup = CHTML.getNode(node,"mjx-sup"); + BOX.presub = CHTML.getNode(node,"mjx-presub"); + BOX.presup = CHTML.getNode(node,"mjx-presup"); + BBOX.sub = this.CHTMLbbox.sub; + BBOX.sup = this.CHTMLbbox.sup; + BBOX.presub = this.CHTMLbbox.presub; + BBOX.presup = this.CHTMLbbox.presup; + return; + } + this.CHTMLbbox = BBOX; // save for when stretched + var state = {i:1, w:0, BOX:BOX, BBOX:BBOX}, m = this.data.length; + var sub = "sub", sup = "sup"; + while (state.i < m) { + if ((this.data[state.i]||{}).type === "mprescripts") { + state.i++; state.w = 0; + sub = "presub"; sup = "presup"; + } else { + var sbox = this.CHTMLaddScript(sub,state,node); + var Sbox = this.CHTMLaddScript(sup,state,node); + var w = Math.max((sbox ? sbox.rscale*sbox.w : 0),(Sbox ? Sbox.rscale*Sbox.w : 0)); + this.CHTMLpadScript(sub,w,sbox,state); + this.CHTMLpadScript(sup,w,Sbox,state); + state.w += w; + } + } + if (BBOX.sub) BBOX.sub.clean(); + if (BBOX.sup) BBOX.sup.clean(); + if (BBOX.presub) BBOX.presub.clean(); + if (BBOX.presup) BBOX.presup.clean(); + }, + // + // Add a script to the proper box, creating the box if needed, + // and padding the box to account for any elements. + // Return the bounding box for the script for later use. + // + CHTMLaddScript: function (type,state,node) { + var BOX, BBOX, data = this.data[state.i]; + if (data && data.type !== "none" && data.type !== "mprescripts") { + BOX = state.BOX[type]; + if (!BOX) { + // + // Add the box to the node temporarily so that it is in the DOM + // (so that CHTMLnodeElement() can be used in the toCommonHTML() below). + // See issue #1480. + // + BOX = state.BOX[type] = CHTML.addElement(node,"mjx-"+type); + BBOX = state.BBOX[type] = CHTML.BBOX.empty(); + if (state.w) { + BOX.style.paddingLeft = CHTML.Em(state.w); + BBOX.w = BBOX.r = state.w; BBOX.x = state.w; + } + } + data.toCommonHTML(BOX); + BBOX = data.CHTML; + } + if (data && data.type !== "mprescripts") state.i++; + return BBOX; + }, + // + // Add padding to the script box to make match the width of the + // super- or subscript that is above or below it, and adjust the + // bounding box for the script row. If these are pre-scripts, + // right-justify the scripts, otherwise, left-justify them. + // + CHTMLpadScript: function (type,w,bbox,state) { + if (!bbox) bbox = {w:0, fake:1, rscale:1}; + var BBOX = state.BBOX[type], dx = 0, dw = 0; + if (BBOX) { + if (bbox.rscale*bbox.w < w) { + var BOX = state.BOX[type]; dw = w-bbox.rscale*bbox.w; + var space = CHTML.Element("mjx-spacer",{style:{width:CHTML.Em(dw)}}); + if (type.substr(0,3) === "pre" && !bbox.fake) { + BOX.insertBefore(space,BOX.lastChild); + dx = dw; dw = 0; + } else { + BOX.appendChild(space); + } + } + if (bbox.fake) {BBOX.w += dx} else {BBOX.combine(bbox,BBOX.w+dx,0)} + BBOX.w += dw; + } + }, + // + // Add the boxes into the main node, creating stacks when needed + // + CHTMLaddBoxes: function (node,base,BOX) { + var sub = BOX.sub, sup = BOX.sup, presub = BOX.presub, presup = BOX.presup; + if (presub && presup) { + var prestack = CHTML.Element("mjx-prestack"); node.insertBefore(prestack,base); + prestack.appendChild(presup); prestack.appendChild(presub); + } else { + if (presub) node.insertBefore(presub,base); + if (presup) node.insertBefore(presup,base); + } + if (sub && sup) { + var stack = CHTML.addElement(node,"mjx-stack"); + stack.appendChild(sup); stack.appendChild(sub); + } else { + if (sub) node.appendChild(sub); + if (sup) node.appendChild(sup); + } + }, + // + // Handle positioning the various scripts + // + CHTMLplaceSubOnly: function (sub,sbox,x,v,s) { + sub.style.verticalAlign = CHTML.Em(-v); + sub.style.marginRight = CHTML.Em(s); sbox.w += s; + this.CHTML.combine(sbox,x,-v); + }, + CHTMLplaceSupOnly: function (sup,Sbox,x,delta,u,s) { + sup.style.verticalAlign = CHTML.Em(u); + sup.style.paddingLeft = CHTML.Em(delta); + sup.style.paddingRight = CHTML.Em(s); Sbox.w += s; + this.CHTML.combine(Sbox,x+delta,u); + }, + CHTMLplaceSubSup: function (sub,sbox,sup,Sbox,x,delta,u,v,s) { + sub.style.paddingRight = CHTML.Em(s); sbox.w += s; + sup.style.paddingBottom = CHTML.Em(u+v-Sbox.d-sbox.h); + sup.style.paddingLeft = CHTML.Em(delta+(Sbox.x||0)); + sup.style.paddingRight = CHTML.Em(s); Sbox.w += s; + sup.parentNode.style.verticalAlign = CHTML.Em(-v); + this.CHTML.combine(sbox,x,-v); + this.CHTML.combine(Sbox,x+delta,u); + }, + CHTMLplacePresubOnly: function (presub,pbox,v,s) { + presub.style.verticalAlign = CHTML.Em(-v); + presub.style.marginLeft = CHTML.Em(s); + this.CHTML.combine(pbox,s,-v); + }, + CHTMLplacePresupOnly: function (presup,Pbox,delta,u,s) { + presup.style.verticalAlign = CHTML.Em(u); + presup.style.paddingLeft = CHTML.Em(s); + presup.style.paddingRight = CHTML.Em(-delta); + this.CHTML.combine(Pbox,s,u); + }, + CHTMLplacePresubPresup: function (presub,pbox,presup,Pbox,delta,u,v,s) { + presub.style.paddingLeft = CHTML.Em(s); + presup.style.paddingBottom = CHTML.Em(u+v-Pbox.d-pbox.h); + presup.style.paddingLeft = CHTML.Em(delta+s+(Pbox.x||0)); + presup.style.paddingRight = CHTML.Em(-delta); + presup.parentNode.style.verticalAlign = CHTML.Em(-v); + this.CHTML.combine(pbox,s,-v); + this.CHTML.combine(Pbox,s+delta,u); + }, + // + // Handle stretchy bases + // + CHTMLstretchH: MML.mbase.CHTMLstretchH, + CHTMLstretchV: MML.mbase.CHTMLstretchV + }); + + MathJax.Hub.Startup.signal.Post("CommonHTML mmultiscripts Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/mmultiscripts.js"); +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/ms.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/ms.js new file mode 100644 index 00000000..5cd0e679 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/ms.js @@ -0,0 +1,73 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/ms.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CHTML = MathJax.OutputJax.CommonHTML; + + MML.ms.Augment({ + toCommonHTML: function (node) { + // + // Create the node and handle its styles and scaling + // Get the variant and an empty bounding box + // + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLgetVariant(); + this.CHTMLhandleScale(node); + CHTML.BBOX.empty(this.CHTML); + // + // Get the quotes to use + // + var values = this.getValues("lquote","rquote","mathvariant"); + if (!this.hasValue("lquote") || values.lquote === '"') values.lquote = "\u201C"; + if (!this.hasValue("rquote") || values.rquote === '"') values.rquote = "\u201D"; + if (values.lquote === "\u201C" && values.mathvariant === "monospace") values.lquote = '"'; + if (values.rquote === "\u201D" && values.mathvariant === "monospace") values.rquote = '"'; + // + // Add the left quote, the child nodes, and the right quote + // + var text = values.lquote+this.data.join("")+values.rquote; // FIXME: handle mglyph? + this.CHTMLhandleText(node,text,this.CHTMLvariant); + // + // Finish the bbox, add any needed space and color + // + this.CHTML.clean(); + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + // + // Return the completed node + // + return node; + } + }); + + MathJax.Hub.Startup.signal.Post("CommonHTML ms Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/ms.js"); +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mtable.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mtable.js new file mode 100644 index 00000000..97a0c351 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/mtable.js @@ -0,0 +1,602 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/mtable.js + * + * Implements the CommonHTML output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CONFIG = MathJax.Hub.config, + CHTML = MathJax.OutputJax.CommonHTML, + SPLIT = MathJax.Hub.SplitList; + + var LABEL = -1, + BIGDIMEN = 1000000; + + MML.mtable.Augment({ + toCommonHTML: function (node) { + // + // Create the table nodes and put them in a table + // (so that its bottom is on the baseline, rather than aligned on the top row) + // + var state = {rows:[], labels:[], labeled: false}; + node = this.CHTMLdefaultNode(node,{noBBox:true, childOptions:state}); + var table = CHTML.Element("mjx-table"); + while (node.firstChild) table.appendChild(node.firstChild); + node.appendChild(table); + // + // Get the table attributes + // + var values = this.getValues("columnalign","rowalign","columnspacing","rowspacing", + "columnwidth","equalcolumns","equalrows", + "columnlines","rowlines","frame","framespacing", + "align","width","side","minlabelspacing","useHeight"); + var t = CHTML.TEX.min_rule_thickness/CHTML.em; + state.t = CHTML.Px(t*this.CHTML.scale,1); + // + // Create the table + // + this.CHTMLgetBoxSizes(values,state); + this.CHTMLgetAttributes(values,state); + this.CHTMLadjustCells(values,state); + if (values.frame) table.style.border = state.t+" "+values.frame; + this.CHTMLalignV(values,state,node); + this.CHTMLcolumnWidths(values,state,node); + this.CHTMLstretchCells(values,state); + if (state.labeled) this.CHTMLaddLabels(values,state,node,table); + // + // Set the bounding box (ignores overlapping outside of the table) + // + var BBOX = this.CHTML; + BBOX.w = BBOX.r = state.R; + BBOX.h = BBOX.t = state.T-state.B; + BBOX.d = BBOX.b = state.B; + if (!values.frame && !BBOX.pwidth) { + node.style.padding = "0 "+CHTML.Em(1/6); + BBOX.L = BBOX.R = 1/6; + } + // + // Add any needed space and color + // + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + // + // Return the completed node + // + return node; + }, + // + // Get the natural height, depth, and widths of the rows and columns + // + CHTMLgetBoxSizes: function (values,state) { + var LH = CHTML.FONTDATA.lineH * values.useHeight, + LD = CHTML.FONTDATA.lineD * values.useHeight; + var H = [], D = [], W = [], J = -1, i, m; + for (i = 0, m = this.data.length; i < m; i++) { + var row = this.data[i], s = (row.type === "mtr" ? 0 : LABEL); + H[i] = LH; D[i] = LD; + for (var j = s, M = row.data.length + s; j < M; j++) { + if (W[j] == null) {W[j] = -BIGDIMEN; if (j > J) J = j} + var cbox = row.data[j-s].CHTML; + if (cbox.h > H[i]) H[i] = cbox.h; + if (cbox.d > D[i]) D[i] = cbox.d; + if (cbox.w > W[j]) W[j] = cbox.w; + } + } + if (values.equalrows) { + state.HD = true; + var HH = Math.max.apply(Math,H); + var DD = Math.max.apply(Math,D); + for (i = 0, m = H.length; i < m; i++) {H[i] = HH; D[i] = DD} + } + state.H = H; state.D = D; state.W = W, state.J = J; + }, + // + // Pad the spacing and alignment attributes to match the size of the table + // + CHTMLgetAttributes: function (values,state) { + var CSPACE = SPLIT(values.columnspacing), + RSPACE = SPLIT(values.rowspacing), + CALIGN = SPLIT(values.columnalign), + RALIGN = SPLIT(values.rowalign), + CLINES = SPLIT(values.columnlines), + RLINES = SPLIT(values.rowlines), + CWIDTH = SPLIT(values.columnwidth), + RCALIGN = [], i, m, J = state.J, M = state.rows.length-1; + for (i = 0, m = CSPACE.length; i < m; i++) CSPACE[i] = this.CHTMLlength2em(CSPACE[i]); + for (i = 0, m = RSPACE.length; i < m; i++) RSPACE[i] = this.CHTMLlength2em(RSPACE[i]); + while (CSPACE.length < J) CSPACE.push(CSPACE[CSPACE.length-1]); + while (CALIGN.length <= J) CALIGN.push(CALIGN[CALIGN.length-1]); + while (CLINES.length < J) CLINES.push(CLINES[CLINES.length-1]); + while (CWIDTH.length <= J) CWIDTH.push(CWIDTH[CWIDTH.length-1]); + while (RSPACE.length < M) RSPACE.push(RSPACE[RSPACE.length-1]); + while (RALIGN.length <= M) RALIGN.push(RALIGN[RALIGN.length-1]); + while (RLINES.length < M) RLINES.push(RLINES[RLINES.length-1]); + CALIGN[LABEL] = (values.side.substr(0,1) === "l" ? "left" : "right"); + // + // Override aligment data based on row-specific attributes + // + for (i = 0; i <= M; i++) { + var row = this.data[i]; RCALIGN[i] = []; + if (row.rowalign) RALIGN[i] = row.rowalign; + if (row.columnalign) { + RCALIGN[i] = SPLIT(row.columnalign); + while (RCALIGN[i].length <= J) RCALIGN[i].push(RCALIGN[i][RCALIGN[i].length-1]); + } + } + // + // Handle framespacing + // + var FSPACE = SPLIT(values.framespacing); + if (FSPACE.length != 2) FSPACE = SPLIT(this.defaults.framespacing); + FSPACE[0] = Math.max(0,this.CHTMLlength2em(FSPACE[0])); + FSPACE[1] = Math.max(0,this.CHTMLlength2em(FSPACE[1])); + if (values.columnlines.replace(/none/g,"").replace(/ /g,"") !== "" || + values.rowlines.replace(/none/g,"").replace(/ /g,"") !== "") values.fspace = true; + // + // Pad arrays so that final column can be treated as all the others + // + if (values.frame === MML.LINES.NONE) delete values.frame; else values.fspace = true; + if (values.frame) { + FSPACE[0] = Math.max(0,FSPACE[0]); + FSPACE[1] = Math.max(0,FSPACE[1]); + } + if (values.fspace) { + CSPACE[J] = FSPACE[0]; RSPACE[M] = FSPACE[1]; + } else { + CSPACE[J] = RSPACE[M] = 0; + } + CLINES[J] = RLINES[M] = MML.LINES.NONE; + // + // Save everything in the state + // + state.CSPACE = CSPACE; state.RSPACE = RSPACE; + state.CALIGN = CALIGN; state.RALIGN = RALIGN; + state.CLINES = CLINES; state.RLINES = RLINES; + state.CWIDTH = CWIDTH; state.RCALIGN = RCALIGN; + state.FSPACE = FSPACE; + }, + // + // Add styles to cells to handle borders, spacing, alignment, etc. + // + CHTMLadjustCells: function(values,state) { + var ROWS = state.rows, + CSPACE = state.CSPACE, CLINES = state.CLINES, + RSPACE = state.RSPACE, RLINES = state.RLINES, + CALIGN = state.CALIGN, RALIGN = state.RALIGN, + RCALIGN = state.RCALIGN; + CSPACE[state.J] *= 2; RSPACE[ROWS.length-1] *= 2; // since halved below + var T = "0", B, R, L, border, cbox, align, lastB = 0; + if (values.fspace) { + lastB = state.FSPACE[1]; + T = CHTML.Em(state.FSPACE[1]); + } + state.RHD = []; state.RH = []; + for (var i = 0, m = ROWS.length; i < m; i++) { + var row = ROWS[i], rdata = this.data[i]; + // + // Space and borders between rows + // + B = RSPACE[i]/2; border = null; L = "0"; + if (RLINES[i] !== MML.LINES.NONE && RLINES[i] !== "") border = state.t+" "+RLINES[i]; + if (border || (CLINES[j] !== MML.LINES.NONE && CLINES[j] !== "")) { + while (row.length <= state.J) { + row.push(CHTML.addElement(row.node,"mjx-mtd",null,[['span']])); + } + } + state.RH[i] = lastB + state.H[i]; // distance to baseline in row + lastB = Math.max(0,B); + state.RHD[i] = state.RH[i] + lastB + state.D[i]; // total height of row + B = CHTML.Em(lastB); + // + // Frame space for initial cell + // + if (values.fspace) L = CHTML.Em(state.FSPACE[0]); + // + // The cells in the row + // + for (var j = 0, M = row.length; j < M; j++) { + var s = (rdata.type === "mtr" ? 0 : LABEL); + var mtd = rdata.data[j-s] || {CHTML: CHTML.BBOX.zero()}; + var cell = row[j].style; cbox = mtd.CHTML; + // + // Space and borders between columns + // + R = CSPACE[j]/2; + if (CLINES[j] !== MML.LINES.NONE) { + cell.borderRight = state.t+" "+CLINES[j]; + R -= 1/CHTML.em/2; + } + R = CHTML.Em(Math.max(0,R)); + cell.padding = T+" "+R+" 0px "+L; + if (border) cell.borderBottom = border; + L = R; + // + // Handle vertical alignment + // + align = (mtd.rowalign||(this.data[i]||{}).rowalign||RALIGN[i]); + var H = Math.max(1,cbox.h), D = Math.max(.2,cbox.d), + HD = (state.H[i]+state.D[i]) - (H+D), + child = row[j].firstChild.style; + if (align === MML.ALIGN.TOP) { + if (HD) child.marginBottom = CHTML.Em(HD); + cell.verticalAlign = "top"; + } else if (align === MML.ALIGN.BOTTOM) { + cell.verticalAlign = "bottom"; + if (HD) child.marginTop = CHTML.Em(HD); + } else if (align === MML.ALIGN.CENTER) { + if (HD) child.marginTop = child.marginBottom = CHTML.Em(HD/2); + cell.verticalAlign = "middle"; + } else { + if (H !== state.H[i]) child.marginTop = CHTML.Em(state.H[i]-H); + } + // + // Handle horizontal alignment + // + align = (mtd.columnalign||RCALIGN[i][j]||CALIGN[j]); + if (align !== MML.ALIGN.CENTER) cell.textAlign = align; + } + row.node.style.height = CHTML.Em(state.RHD[i]); + T = B; + } + CSPACE[state.J] /= 2; RSPACE[ROWS.length-1] /= 2; // back to normal + }, + // + // Align the table vertically according to the align attribute + // + CHTMLalignV: function (values,state,node) { + var n, M = state.rows.length, H = state.H, D = state.D, RSPACE = state.RSPACE; + // + // Get alignment type and row number + // + if (typeof(values.align) !== "string") values.align = String(values.align); + if (values.align.match(/(top|bottom|center|baseline|axis)( +(-?\d+))?/)) { + n = parseInt(RegExp.$3||"0"); + values.align = RegExp.$1 + if (n < 0) n += state.rows.length + 1; + if (n > M || n <= 0) n = null; + } else { + values.align = this.defaults.align; + } + // + // Get table height and baseline offset + // + var T = 0, B = 0, a = CHTML.TEX.axis_height; + if (values.fspace) T += state.FSPACE[1]; + if (values.frame) {T += 2/CHTML.em; B += 1/CHTML.em} + for (var i = 0; i < M; i++) { + var h = H[i], d = D[i]; + T += h + d + RSPACE[i]; + if (n) { + if (i === n-1) { + B += ({top:h+d, bottom:0, center:(h+d)/2, + baseline:d, axis:a+d})[values.align] + RSPACE[i]; + } + if (i >= n) B += h + d + RSPACE[i]; + } + } + if (!n) B = ({top:T, bottom:0, center:T/2, baseline:T/2, axis:T/2-a})[values.align]; + // + // Place the node and save the values + // + if (B) node.style.verticalAlign = CHTML.Em(-B); + state.T = T; state.B = B; + }, + // + // Determine column widths and set the styles for the columns + // + CHTMLcolumnWidths: function (values,state,node) { + var CWIDTH = state.CWIDTH, CSPACE = state.CSPACE, J = state.J, j; + var WW = 0, setWidths = false, relWidth = values.width.match(/%$/); + var i, m, w; + // + // Handle equal columns by adjusting the CWIDTH array + // + if (values.width !== "auto" && !relWidth) { + WW = Math.max(0,this.CHTMLlength2em(values.width,state.R)); + setWidths = true; + } + if (values.equalcolumns) { + if (relWidth) { + // + // Use percent of total (not perfect, but best we can do) + // + var p = CHTML.Percent(1/(J+1)); + for (j = 0; j <= J; j++) CWIDTH[j] = p; + } else { + // + // For width = auto, make all widths equal the widest, + // otherwise, for specific width, remove intercolumn space + // and divide by number of columns to get widest space. + // + w = Math.max.apply(Math,state.W); + if (values.width !== "auto") { + var S = (values.fspace ? state.FSPACE[0] + (values.frame ? 2/CHTML.em : 0) : 0); + for (j = 0; j <= J; j++) S += CSPACE[j]; + w = Math.max((WW-S)/(J+1),w); + } + w = CHTML.Em(w); + for (j = 0; j <= J; j++) CWIDTH[j] = w; + } + setWidths = true; + } + // + // Compute natural table width + // + var TW = 0; if (values.fspace) TW = state.FSPACE[0]; + var auto = [], fit = [], percent = [], W = []; + var row = state.rows[0]; + for (j = 0; j <= J; j++) { + W[j] = state.W[j]; + if (CWIDTH[j] === "auto") auto.push(j) + else if (CWIDTH[j] === "fit") fit.push(j) + else if (CWIDTH[j].match(/%$/)) percent.push(j) + else W[j] = this.CHTMLlength2em(CWIDTH[j],W[j]); + TW += W[j] + CSPACE[j]; + if (row[j]) row[j].style.width = CHTML.Em(W[j]); + } + if (values.frame) TW += 2/CHTML.em; + var hasFit = (fit.length > 0); + // + // Adjust widths of columns + // + if (setWidths) { + if (relWidth) { + // + // Attach appropriate widths to the columns + // + for (j = 0; j <= J; j++) { + cell = row[j].style; + if (CWIDTH[j] === "auto" && !hasFit) cell.width = ""; + else if (CWIDTH[j] === "fit") cell.width = ""; + else if (CWIDTH[j].match(/%$/)) cell.width = CWIDTH[j]; + else cell.minWidth = cell.maxWidth = cell.width; + } + } else { + // + // Compute percentage widths + // + if (WW > TW) { + var extra = 0; + for (i = 0, m = percent.length; i < m; i++) { + j = percent[i]; + w = Math.max(W[j],this.CHTMLlength2em(CWIDTH[j],WW)); + extra += w-W[j]; W[j] = w; + row[j].style.width = CHTML.Em(w); + } + TW += extra; + } + // + // Compute "fit" widths + // + if (!hasFit) fit = auto; + if (WW > TW && fit.length) { + var dw = (WW - TW) / fit.length; + for (i = 0, m = fit.length; i < m; i++) { + j = fit[i]; W[j] += dw; + row[j].style.width = CHTML.Em(W[j]); + } + TW = WW; + } + } + } + W[LABEL] = state.W[LABEL]; + state.W = W; + state.R = TW; + // + // Set variable width on DOM nodes + // + if (relWidth) { + node.style.width = this.CHTML.pwidth = "100%"; + this.CHTML.mwidth = CHTML.Em(TW); + node.firstChild.style.width = values.width; + node.firstChild.style.margin = "auto"; + } + }, + // + // Stretch any cells that can be stretched + // + CHTMLstretchCells: function (values,state) { + var ROWS = state.rows, H = state.H, D = state.D, W = state.W, + J = state.J, M = ROWS.length-1; + for (var i = 0; i <= M; i++) { + var row = ROWS[i], rdata = this.data[i]; + var h = H[i], d = D[i]; + for (var j = 0; j <= J; j++) { + var cell = row[j], cdata = rdata.data[j]; + if (!cdata) continue; + if (cdata.CHTML.stretch === "V") cdata.CHTMLstretchV(h,d); + else if (cdata.CHTML.stretch === "H") cdata.CHTMLstretchH(cell,W[j]); + } + } + }, + // + // Add labels to a table + // + CHTMLaddLabels: function (values,state,node,table) { + // + // Get indentation and alignment + // + var indent = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); + if (indent.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) indent.indentalign = indent.indentalignfirst; + if (indent.indentalign === MML.INDENTALIGN.AUTO) indent.indentalign = CONFIG.displayAlign; + if (indent.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) indent.indentshift = indent.indentshiftfirst; + if (indent.indentshift === "auto") indent.indentshift = "0"; + var shift = this.CHTMLlength2em(indent.indentshift,CHTML.cwidth); + var labelspace = this.CHTMLlength2em(values.minlabelspacing,.8); + var labelW = labelspace + state.W[LABEL], labelshift = 0, tw = state.R; + var dIndent = this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth); + var s = (state.CALIGN[LABEL] === MML.INDENTALIGN.RIGHT ? -1 : 1); + if (indent.indentalign === MML.INDENTALIGN.CENTER) { + tw += 2 * (labelW - s*(shift + dIndent)); + shift += dIndent; + } else if (state.CALIGN[LABEL] === indent.indentalign) { + if (dIndent < 0) {labelshift = s*dIndent; dIndent = 0} + shift += s*dIndent; if (labelW > s*shift) shift = s*labelW; shift += labelshift; + shift *= s; tw += shift; + } else { + tw += labelW - s*shift + dIndent; + shift -= s*dIndent; shift *= -s; + } + // + // Create boxes for table and labels + // + var box = CHTML.addElement(node,"mjx-box",{ + style:{width:"100%","text-align":indent.indentalign} + }); box.appendChild(table); + var labels = CHTML.Element("mjx-itable"); + table.style.display = "inline-table"; if (!table.style.width) table.style.width = "auto"; + labels.style.verticalAlign = "top"; + table.style.verticalAlign = CHTML.Em(state.T-state.B-state.H[0]); + node.style.verticalAlign = ""; + if (shift) { + if (indent.indentalign === MML.INDENTALIGN.CENTER) { + table.style.marginLeft = CHTML.Em(shift); + table.style.marginRight = CHTML.Em(-shift); + } else { + var margin = "margin" + (indent.indentalign === MML.INDENTALIGN.RIGHT ? "Right" : "Left"); + table.style[margin] = CHTML.Em(shift); + } + } + // + // Add labels on correct side + // + if (state.CALIGN[LABEL] === "left") { + node.insertBefore(labels,box); + labels.style.marginRight = CHTML.Em(-state.W[LABEL]-labelshift); + if (labelshift) labels.style.marginLeft = CHTML.Em(labelshift); + } else { + node.appendChild(labels); + labels.style.marginLeft = CHTML.Em(-state.W[LABEL]+labelshift); + } + // + // Vertically align the labels with their rows + // + var LABELS = state.labels, T = 0; + if (values.fspace) T = state.FSPACE[0] + (values.frame ? 1/CHTML.em : 0); + for (var i = 0, m = LABELS.length; i < m; i++) { + if (LABELS[i] && this.data[i].data[0]) { + labels.appendChild(LABELS[i]); + var lbox = this.data[i].data[0].CHTML; + T = state.RH[i] - Math.max(1,lbox.h); + if (T) LABELS[i].firstChild.firstChild.style.marginTop = CHTML.Em(T); + LABELS[i].style.height = CHTML.Em(state.RHD[i]); + } else { + CHTML.addElement(labels,"mjx-label",{style:{height:CHTML.Em(state.RHD[i])}}); + } + } + // + // Propagate full-width equations, and reserve room for equation plus label + // + node.style.width = this.CHTML.pwidth = "100%"; + node.style.minWidth = this.CHTML.mwidth = CHTML.Em(Math.max(0,tw)); + } + }); + + MML.mtr.Augment({ + toCommonHTML: function (node,options) { + // + // Create the row node + // + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + // + // Add a new row with no label + // + if (!options) options = {rows:[],labels:[]}; + var row = []; options.rows.push(row); row.node = node; + options.labels.push(null); + // + // Add the cells to the row + // + for (var i = 0, m = this.data.length; i < m; i++) + row.push(this.CHTMLaddChild(node,i,options)); + // + this.CHTMLhandleColor(node); + return node; + } + }); + MML.mlabeledtr.Augment({ + toCommonHTML: function (node,options) { + // + // Create the row node + // + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + // + // Add a new row, and get the label + // + if (!options) options = {rows:[],labels:[]}; + var row = []; options.rows.push(row); row.node = node; + var label = CHTML.Element("mjx-label"); options.labels.push(label); + this.CHTMLaddChild(label,0,options); + if (this.data[0]) options.labeled = true; + // + // Add the cells to the row + // + for (var i = 1, m = this.data.length; i < m; i++) + row.push(this.CHTMLaddChild(node,i,options)); + // + this.CHTMLhandleColor(node); + return node; + } + }); + MML.mtd.Augment({ + toCommonHTML: function (node,options) { + node = this.CHTMLdefaultNode(node,options); + CHTML.addElement(node.firstChild,"mjx-strut"); // forces height to 1em (we adjust later) + // + // Determine if this is stretchy or not + // + if (this.isEmbellished()) { + var mo = this.CoreMO(), BBOX = this.CHTML; + if (mo.CHTMLcanStretch("Vertical")) BBOX.stretch = "V"; + else if (mo.CHTMLcanStretch("Horizontal")) BBOX.stretch = "H"; + if (BBOX.stretch) { + var min = mo.Get("minsize",true); + if (min) { + if (BBOX.stretch === "V") { + var HD = BBOX.h + BBOX.d; + if (HD) { + var r = this.CHTMLlength2em(min,HD)/HD; + if (r > 1) {BBOX.h *= r; BBOX.d *= r} + } + } else { + BBOX.w = Math.max(BBOX.w,this.CHTMLlength2em(min,BBOX.w)); + } + } + } + } + return node; + } + }); + + + MathJax.Hub.Startup.signal.Post("CommonHTML mtable Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/mtable.js"); +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/multiline.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/multiline.js new file mode 100644 index 00000000..b199e0f7 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/autoload/multiline.js @@ -0,0 +1,793 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/autoload/multiline.js + * + * Implements the CommonHTML output for 's that contain line breaks. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + CONFIG = MathJax.Hub.config, + CHTML = MathJax.OutputJax.CommonHTML; + // + // Fake node used for testing end-of-line potential breakpoint + // + var MO = MML.mo().With({CHTML: CHTML.BBOX.empty()}); + + // + // Penalties for the various line breaks + // + var PENALTY = { + newline: 0, + nobreak: 1000000, + goodbreak: [-200], + badbreak: [+200], + auto: [0], + + maxwidth: 1.33, // stop looking for breaks after this time the line-break width + toobig: 800, + nestfactor: 400, + spacefactor: -100, + spaceoffset: 2, + spacelimit: 1, // spaces larger than this get a penalty boost + fence: 500, + close: 500 + }; + + var ENDVALUES = {linebreakstyle: "after"}; + + + /**************************************************************************/ + + MML.mbase.Augment({ + CHTMLlinebreakPenalty: PENALTY, + + /****************************************************************/ + // + // Handle breaking an mrow into separate lines + // + CHTMLmultiline: function (node) { + + // + // Find the parent element and mark it as multiline + // + var parent = this; + while (parent.inferred || (parent.parent && parent.parent.type === "mrow" && + parent.parent.isEmbellished())) {parent = parent.parent} + var isTop = ((parent.type === "math" && parent.Get("display") === "block") || + parent.type === "mtd"); + parent.isMultiline = true; + + // + // Default values for the line-breaking parameters + // + var VALUES = this.getValues( + "linebreak","linebreakstyle","lineleading","linebreakmultchar", + "indentalign","indentshift", + "indentalignfirst","indentshiftfirst", + "indentalignlast","indentshiftlast" + ); + if (VALUES.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) + VALUES.linebreakstyle = this.Get("infixlinebreakstyle"); + VALUES.lineleading = this.CHTMLlength2em(VALUES.lineleading,0.5); + + // + // Break the math at its best line breaks + // + CHTML.BBOX.empty(this.CHTML); + var stack = CHTML.addElement(node,"mjx-stack"); + var state = { + BBOX: this.CHTML, + n: 0, Y: 0, + scale: (this.CHTML.scale||1), + isTop: isTop, + values: {}, + VALUES: VALUES + }, + align = this.CHTMLgetAlign(state,{}), + shift = this.CHTMLgetShift(state,{},align), + start = [], + end = { + index:[], penalty:PENALTY.nobreak, + w:0, W:shift, shift:shift, scanW:shift, + nest: 0 + }, + broken = false; + + while (this.CHTMLbetterBreak(end,state,true) && + (end.scanW >= CHTML.linebreakWidth || end.penalty === PENALTY.newline)) { + this.CHTMLaddLine(stack,start,end.index,state,end.values,broken); + start = end.index.slice(0); broken = true; + align = this.CHTMLgetAlign(state,end.values); + shift = this.CHTMLgetShift(state,end.values,align); + end.W = end.shift = end.scanW = shift; end.penalty = PENALTY.nobreak; + } + state.isLast = true; + this.CHTMLaddLine(stack,start,[],state,ENDVALUES,broken); + + node.style.width = stack.style.width = this.CHTML.pwidth = "100%"; + this.CHTML.mwidth = CHTML.Em(this.CHTML.w); + this.CHTML.isMultiline = parent.CHTML.isMultiline = true; + stack.style.verticalAlign = CHTML.Em(state.d - this.CHTML.d); + + return node; + }, + + /****************************************************************/ + // + // Locate the next linebreak that is better than the current one + // + CHTMLbetterBreak: function (info,state,toplevel) { + if (this.isToken) return false; // FIXME: handle breaking of token elements + if (this.isEmbellished()) { + info.embellished = this; + return this.CoreMO().CHTMLbetterBreak(info,state); + } + if (this.linebreakContainer) return false; + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; + if (i == null) i = -1; if (!broken) {i++; info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; info.nest++; + // + // Look through the line for breakpoints, + // (as long as we are not too far past the breaking width) + // + while (i < m && (info.scanW < PENALTY.maxwidth*CHTML.linebreakWidth || info.w === 0)) { + if (this.data[i]) { + if (this.data[i].CHTMLbetterBreak(info,state)) { + better = true; index = [i].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) { + info.index = index; + if (info.nest) {info.nest--} + return true; + } + } + scanW = (broken ? info.scanW : this.CHTMLaddWidth(i,info,scanW)); + } + info.index = []; i++; broken = false; + } + // + // Check if end-of-line is a better breakpoint + // + if (toplevel && better) { + MO.parent = this.parent; MO.inherit = this.inherit; + if (MO.CHTMLbetterBreak(info,state)) {better = false; index = info.index} + } + if (info.nest) {info.nest--} + info.index = index; + if (better) {info.W = W; info.w = w} + return better; + }, + CHTMLaddWidth: function (i,info,scanW) { + if (this.data[i]) { + var bbox = this.data[i].CHTML; + scanW += (bbox.w + (bbox.L||0) + (bbox.R||0)) * (bbox.scale || 1); + info.W = info.scanW = scanW; info.w = 0; + } + return scanW; + }, + + /****************************************************************/ + // + // Create a new line and move the required elements into it + // Position it using proper alignment and indenting + // + CHTMLaddLine: function (stack,start,end,state,values,broken) { + // + // Create a box for the line, with empty BBox + // fill it with the proper elements, + // and clean up the bbox + // + var block = CHTML.addElement(stack,"mjx-block",{},[["mjx-box"]]), line = block.firstChild; + var bbox = state.bbox = CHTML.BBOX.empty(); + state.first = broken; state.last = true; + this.CHTMLmoveLine(start,end,line,state,values); + bbox.clean(); + // + // Get the alignment and shift values + // + var align = this.CHTMLgetAlign(state,values), + shift = this.CHTMLgetShift(state,values,align,true); + // + // Set the Y offset based on previous depth, leading, and current height + // + var dY = 0; + if (state.n > 0) { + var LHD = CHTML.FONTDATA.baselineskip; + var leading = (state.values.lineleading == null ? state.VALUES : state.values).lineleading * state.scale; + var Y = state.Y; + state.Y -= Math.max(LHD,state.d + bbox.h + leading); + dY = Y - state.Y - state.d - bbox.h; + } + // + // Place the new line + // + if (shift) line.style.margin = "0 "+CHTML.Em(-shift)+" 0 "+CHTML.Em(shift); + if (align !== MML.INDENTALIGN.LEFT) block.style.textAlign = align; + if (dY) block.style.paddingTop = CHTML.Em(dY); + state.BBOX.combine(bbox,shift,state.Y); + // + // Save the values needed for the future + // + state.d = state.bbox.d; state.values = values; state.n++; + }, + + /****************************************************************/ + // + // Get alignment and shift values from the given data + // + CHTMLgetAlign: function (state,values) { + var cur = values, prev = state.values, def = state.VALUES, align; + if (state.n === 0) align = cur.indentalignfirst || prev.indentalignfirst || def.indentalignfirst; + else if (state.isLast) align = prev.indentalignlast || def.indentalignlast; + else align = prev.indentalign || def.indentalign; + if (align === MML.INDENTALIGN.INDENTALIGN) align = prev.indentalign || def.indentalign; + if (align === MML.INDENTALIGN.AUTO) align = (state.isTop ? CONFIG.displayAlign : MML.INDENTALIGN.LEFT); + return align; + }, + CHTMLgetShift: function (state,values,align,noadjust) { + var cur = values, prev = state.values, def = state.VALUES, shift; + if (state.n === 0) shift = cur.indentshiftfirst || prev.indentshiftfirst || def.indentshiftfirst; + else if (state.isLast) shift = prev.indentshiftlast || def.indentshiftlast; + else shift = prev.indentshift || def.indentshift; + if (shift === MML.INDENTSHIFT.INDENTSHIFT) shift = prev.indentshift || def.indentshift; + if (shift === "auto" || shift === "") shift = "0"; + shift = this.CHTMLlength2em(shift,CHTML.cwidth); + if (state.isTop && CONFIG.displayIndent !== "0") { + var indent = this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth); + shift += (align === MML.INDENTALIGN.RIGHT ? -indent : indent); + } + return (align === MML.INDENTALIGN.RIGHT && !noadjust ? -shift : shift); + }, + + /****************************************************************/ + // + // Move the selected elements into the new line's box, + // moving whole items when possible, and parts of ones + // that are split by a line break. + // + CHTMLmoveLine: function (start,end,node,state,values) { + var i = start[0], j = end[0]; + if (i == null) i = -1; if (j == null) j = this.data.length-1; + if (i === j && start.length > 1) { + // + // If starting and ending in the same element move the subpiece to the new line + // + this.data[i].CHTMLmoveSlice(start.slice(1),end.slice(1),node,state,values,"marginLeft"); + } else { + // + // Otherwise, move the remainder of the initial item + // and any others up to the last one + // + var last = state.last; state.last = false; + while (i < j) { + if (this.data[i]) { + if (start.length <= 1) this.data[i].CHTMLmoveNode(node,state,values); + else this.data[i].CHTMLmoveSlice(start.slice(1),[],node,state,values,"marginLeft"); + } + i++; state.first = false; start = []; + } + // + // If the last item is complete, move it, + // otherwise move the first part of it up to the split + // + state.last = last; + if (this.data[i]) { + if (end.length <= 1) this.data[i].CHTMLmoveNode(node,state,values); + else this.data[i].CHTMLmoveSlice([],end.slice(1),node,state,values,"marginRight"); + } + } + }, + + /****************************************************************/ + // + // Split an element and copy the selected items into the new part + // + CHTMLmoveSlice: function (start,end,node,state,values,margin) { + // + // Create a new box for the slice of the element + // Move the selected portion into the slice + // If it is the last slice + // Remove the original (now empty) node + // Rename the Continue-0 node with the original name (for CHTMLnodeElement) + // + var slice = this.CHTMLcreateSliceNode(node); + this.CHTMLmoveLine(start,end,slice,state,values); + if (slice.style[margin]) slice.style[margin] = ""; + if (this.CHTML.L) { + if (margin !== "marginLeft") state.bbox.w += this.CHTML.L; + else slice.className = slice.className.replace(/ MJXc-space\d/,""); + } + if (this.CHTML.R && margin !== "marginRight") state.bbox.w += this.CHTML.R; + if (end.length === 0) { + node = this.CHTMLnodeElement(); + if (this.href) node = node.parentNode; + node.parentNode.removeChild(node); + node.nextMathJaxNode.id = node.id; + } + return slice; + }, + + /****************************************************************/ + // + // Create a new node for an element that is split in two + // Clone the original and update its ID. + // Link the old node to the new one so we can find it later + // + CHTMLcreateSliceNode: function (node) { + var NODE = this.CHTMLnodeElement(), n = 0; + if (this.href) NODE = NODE.parentNode; + var LAST = NODE; while (LAST.nextMathJaxNode) {LAST = LAST.nextMathJaxNode; n++} + var SLICE = NODE.cloneNode(false); LAST.nextMathJaxNode = SLICE; SLICE.nextMathJaxNode = null; + SLICE.id += "-MJX-Continue-"+n; + return node.appendChild(SLICE); + }, + + /****************************************************************/ + // + // Move an element from its original node to its new location in + // a split element or the new line's node + // + CHTMLmoveNode: function (line,state,values) { + // FIXME: handle linebreakstyle === "duplicate" + // FIXME: handle linebreakmultchar + if (!(state.first || state.last) || + (state.first && state.values.linebreakstyle === MML.LINEBREAKSTYLE.BEFORE) || + (state.last && values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER)) { + // + // Move node + // + var node = this.CHTMLnodeElement(); + if (this.href) node = node.parentNode; + line.appendChild(node); + if (this.CHTML.pwidth && !line.style.width) line.style.width = this.CHTML.pwidth; + // + // If it is last, remove right margin + // If it is first, remove left margin + // + if (state.last) node.style.marginRight = ""; + if (state.first || state.nextIsFirst) { + node.style.marginLeft = ""; this.CHTML.L = 0; + node.className = node.className.replace(/ MJXc-space\d/,""); + } + if (state.first && this.CHTML.w === 0) state.nextIsFirst = true; + else delete state.nextIsFirst; + // + // Update bounding box + // + state.bbox.combine(this.CHTML,state.bbox.w,0); + } + } + }); + + /**************************************************************************/ + + MML.mfenced.Augment({ + CHTMLbetterBreak: function (info,state) { + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; + if (i == null) i = -1; if (!broken) {i++; info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; info.nest++; + // + // Create indices that include the delimiters and separators + // + if (!this.dataI) { + this.dataI = []; + if (this.data.open) this.dataI.push("open"); + if (m) this.dataI.push(0); + for (var j = 1; j < m; j++) { + if (this.data["sep"+j]) this.dataI.push("sep"+j); + this.dataI.push(j); + } + if (this.data.close) this.dataI.push("close"); + } + m = this.dataI.length; + // + // Look through the line for breakpoints, including the open, close, and separators + // (as long as we are not too far past the breaking width) + // + while (i < m && (info.scanW < PENALTY.maxwidth*CHTML.linebreakWidth || info.w === 0)) { + var k = this.dataI[i]; + if (this.data[k]) { + if (this.data[k].CHTMLbetterBreak(info,state)) { + better = true; index = [i].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) { + info.index = index; + if (info.nest) info.nest--; + return true; + } + } + scanW = (broken ? info.scanW : this.CHTMLaddWidth(i,info,scanW)); + } + info.index = []; i++; broken = false; + } + if (info.nest) info.nest--; + info.index = index; + if (better) {info.W = W; info.w = w} + return better; + }, + + CHTMLmoveLine: function (start,end,node,state,values) { + var i = start[0], j = end[0]; + if (i == null) i = -1; if (j == null) j = this.dataI.length-1; + if (i === j && start.length > 1) { + // + // If starting and ending in the same element move the subpiece to the new line + // + this.data[this.dataI[i]].CHTMLmoveSlice(start.slice(1),end.slice(1),node,state,values,"marginLeft"); + } else { + // + // Otherwise, move the remainder of the initial item + // and any others (including open and separators) up to the last one + // + var last = state.last; state.last = false; var k = this.dataI[i]; + while (i < j) { + if (this.data[k]) { + if (start.length <= 1) this.data[k].CHTMLmoveNode(node,state,values); + else this.data[k].CHTMLmoveSlice(start.slice(1),[],node,state,values,"marginLeft"); + } + i++; k = this.dataI[i]; state.first = false; start = []; + } + // + // If the last item is complete, move it + // + state.last = last; + if (this.data[k]) { + if (end.length <= 1) this.data[k].CHTMLmoveNode(node,state,values); + else this.data[k].CHTMLmoveSlice([],end.slice(1),node,state,values,"marginRight"); + } + } + } + + }); + + /**************************************************************************/ + + MML.msubsup.Augment({ + CHTMLbetterBreak: function (info,state) { + if (!this.data[this.base]) {return false} + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + W, w, scanW, broken = (info.index.length > 0), better = false; + if (!broken) {info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; + // + // Record the width of the base and the super- and subscripts + // + if (i == null) { + this.CHTML.baseW = this.data[this.base].CHTML.w; + this.CHTML.dw = this.CHTML.w - this.CHTML.baseW; + } + // + // Check if the base can be broken + // + if (this.data[this.base].CHTMLbetterBreak(info,state)) { + better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) better = broken = true; + } + // + // Add in the base if it is unbroken, and add the scripts + // + if (!broken) this.CHTMLaddWidth(this.base,info,scanW); + info.scanW += this.CHTML.dw; info.W = info.scanW; + info.index = []; if (better) {info.W = W; info.w = w; info.index = index} + return better; + }, + + CHTMLmoveLine: function (start,end,node,state,values) { + // + // Move the proper part of the base + // + if (this.data[this.base]) { + var base = CHTML.addElement(node,"mjx-base"); + if (start.length > 1) { + this.data[this.base].CHTMLmoveSlice(start.slice(1),end.slice(1),base,state,values,"marginLeft"); + } else { + if (end.length <= 1) this.data[this.base].CHTMLmoveNode(base,state,values); + else this.data[this.base].CHTMLmoveSlice([],end.slice(1),base,state,values,"marginRight"); + } + } + // + // If this is the end, check for super and subscripts, and move those + // by moving the elements that contains them. Adjust the bounding box + // to include the super and subscripts. + // + if (end.length === 0) { + var NODE = this.CHTMLnodeElement(), + stack = CHTML.getNode(NODE,"mjx-stack"), + sup = CHTML.getNode(NODE,"mjx-sup"), + sub = CHTML.getNode(NODE,"mjx-sub"); + if (stack) node.appendChild(stack); + else if (sup) node.appendChild(sup); + else if (sub) node.appendChild(sub); + var w = state.bbox.w, bbox; + if (sup) { + bbox = this.data[this.sup].CHTML; + state.bbox.combine(bbox,w,bbox.Y); + } + if (sub) { + bbox = this.data[this.sub].CHTML; + state.bbox.combine(bbox,w,bbox.Y); + } + } + } + + }); + + /**************************************************************************/ + + MML.mmultiscripts.Augment({ + CHTMLbetterBreak: function (info,state) { + if (!this.data[this.base]) return false; + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0); info.index.shift(); + var W, w, scanW, broken = (info.index.length > 0), better = false; + if (!broken) {info.W += info.w; info.w = 0} + info.scanW = info.W; + // + // Get the bounding boxes and the width of the scripts + // + var bbox = this.CHTML, base = this.data[this.base].CHTML; + var dw = bbox.w - base.w - (bbox.X||0); + // + // Add in the width of the prescripts + // + info.scanW += bbox.X||0; scanW = info.scanW; + // + // Check if the base can be broken + // + if (this.data[this.base].CHTMLbetterBreak(info,state)) { + better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) better = broken = true; + } + // + // Add in the base if it is unbroken, and add the scripts + // + if (!broken) this.CHTMLaddWidth(this.base,info,scanW); + info.scanW += dw; info.W = info.scanW; + info.index = []; if (better) {info.W = W; info.w = w; info.index = index} + return better; + }, + + CHTMLmoveLine: function (start,end,node,state,values) { + var NODE, BOX = this.CHTMLbbox, w; + // + // If this is the start, move the prescripts, if any. + // + if (start.length < 1) { + NODE = this.CHTMLnodeElement(); + var prestack = CHTML.getNode(NODE,"mjx-prestack"), + presup = CHTML.getNode(NODE,"mjx-presup"), + presub = CHTML.getNode(NODE,"mjx-presub"); + if (prestack) node.appendChild(prestack); + else if (presup) node.appendChild(presup); + else if (presub) node.appendChild(presub); + w = state.bbox.w; + if (presup) state.bbox.combine(BOX.presup,w+BOX.presup.X,BOX.presup.Y); + if (presub) state.bbox.combine(BOX.presub,w+BOX.presub.X,BOX.presub.Y); + } + // + // Move the proper part of the base + // + if (this.data[this.base]) { + var base = CHTML.addElement(node,"mjx-base"); + if (start.length > 1) { + this.data[this.base].CHTMLmoveSlice(start.slice(1),end.slice(1),base,state,values,"marginLeft"); + } else { + if (end.length <= 1) this.data[this.base].CHTMLmoveNode(base,state,values); + else this.data[this.base].CHTMLmoveSlice([],end.slice(1),base,state,values,"marginRight"); + } + } + // + // If this is the end, check for super and subscripts, and move those + // by moving the elements that contains them. Adjust the bounding box + // to include the super and subscripts. + // + if (end.length === 0) { + NODE = this.CHTMLnodeElement(); + var stack = CHTML.getNode(NODE,"mjx-stack"), + sup = CHTML.getNode(NODE,"mjx-sup"), + sub = CHTML.getNode(NODE,"mjx-sub"); + if (stack) node.appendChild(stack); + else if (sup) node.appendChild(sup); + else if (sub) node.appendChild(sub); + w = state.bbox.w; + if (sup) state.bbox.combine(BOX.sup,w,BOX.sup.Y); + if (sub) state.bbox.combine(BOX.sub,w,BOX.sub.Y); + } + } + + }); + + /**************************************************************************/ + + MML.mo.Augment({ + // + // Override the method for checking line breaks to properly handle + // + CHTMLbetterBreak: function (info,state) { + if (info.values && info.values.id === this.CHTMLnodeID) return false; + var values = this.getValues( + "linebreak","linebreakstyle","lineleading","linebreakmultchar", + "indentalign","indentshift", + "indentalignfirst","indentshiftfirst", + "indentalignlast","indentshiftlast", + "texClass", "fence" + ); + if (values.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) + values.linebreakstyle = this.Get("infixlinebreakstyle"); + // + // Adjust nesting by TeX class (helps output that does not include + // mrows for nesting, but can leave these unbalanced. + // + if (values.texClass === MML.TEXCLASS.OPEN) info.nest++; + if (values.texClass === MML.TEXCLASS.CLOSE && info.nest) info.nest--; + // + // Get the default penalty for this location + // + var W = info.scanW; delete info.embellished; + var w = this.CHTML.w + (this.CHTML.L||0) + (this.CHTML.R||0); + if (values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER) {W += w; w = 0} + if (W - info.shift === 0 && values.linebreak !== MML.LINEBREAK.NEWLINE) + return false; // don't break at zero width (FIXME?) + var offset = CHTML.linebreakWidth - W; + // Adjust offest for explicit first-line indent and align + if (state.n === 0 && (values.indentshiftfirst !== state.VALUES.indentshiftfirst || + values.indentalignfirst !== state.VALUES.indentalignfirst)) { + var align = this.CHTMLgetAlign(state,values), + shift = this.CHTMLgetShift(state,values,align); + offset += (info.shift - shift); + } + // + var penalty = Math.floor(offset / CHTML.linebreakWidth * 1000); + if (penalty < 0) penalty = PENALTY.toobig - 3*penalty; + if (values.fence) penalty += PENALTY.fence; + if ((values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER && + values.texClass === MML.TEXCLASS.OPEN) || + values.texClass === MML.TEXCLASS.CLOSE) penalty += PENALTY.close; + penalty += info.nest * PENALTY.nestfactor; + // + // Get the penalty for this type of break and + // use it to modify the default penalty + // + var linebreak = PENALTY[values.linebreak||MML.LINEBREAK.AUTO]||0; + if (!MathJax.Object.isArray(linebreak)) { + // for breaks past the width, keep original penalty for newline + if (linebreak || offset >= 0) {penalty = linebreak * info.nest} + } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} + // + // If the penalty is no better than the current one, return false + // Otherwise save the data for this breakpoint and return true + // + if (penalty >= info.penalty) return false; + info.penalty = penalty; info.values = values; info.W = W; info.w = w; + values.lineleading = this.CHTMLlength2em(values.lineleading,state.VALUES.lineleading); + values.id = this.CHTMLnodeID; + return true; + } + }); + + /**************************************************************************/ + + MML.mspace.Augment({ + // + // Override the method for checking line breaks to properly handle + // + CHTMLbetterBreak: function (info,state) { + if (info.values && info.values.id === this.CHTMLnodeID) return false; + var values = this.getValues("linebreak"); + var linebreakValue = values.linebreak; + if (!linebreakValue || this.hasDimAttr()) { + // The MathML spec says that the linebreak attribute should be ignored + // if any dimensional attribute is set. + linebreakValue = MML.LINEBREAK.AUTO; + } + // + // Get the default penalty for this location + // + var W = info.scanW, w = this.CHTML.w + (this.CHTML.L||0) + (this.CHTML.R||0); + if (W - info.shift === 0) return false; // don't break at zero width (FIXME?) + var offset = CHTML.linebreakWidth - W; + // + var penalty = Math.floor(offset / CHTML.linebreakWidth * 1000); + if (penalty < 0) penalty = PENALTY.toobig - 3*penalty; + penalty += info.nest * PENALTY.nestfactor; + // + // Get the penalty for this type of break and + // use it to modify the default penalty + // + var linebreak = PENALTY[linebreakValue]||0; + if (linebreakValue === MML.LINEBREAK.AUTO && w >= PENALTY.spacelimit && + !this.mathbackground && !this.background) + linebreak = [(w+PENALTY.spaceoffset)*PENALTY.spacefactor]; + if (!MathJax.Object.isArray(linebreak)) { + // for breaks past the width, keep original penalty for newline + if (linebreak || offset >= 0) {penalty = linebreak * info.nest} + } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} + // + // If the penalty is no better than the current one, return false + // Otherwise save the data for this breakpoint and return true + // + if (penalty >= info.penalty) return false; + info.penalty = penalty; info.values = values; info.W = W; info.w = w; + values.lineleading = state.VALUES.lineleading; + values.linebreakstyle = "before"; values.id = this.CHTMLnodeID; + return true; + } + }); + + // + // Hook into the mathchoice extension + // + MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function () { + MML.TeXmathchoice.Augment({ + CHTMLbetterBreak: function (info,state) { + return this.Core().CHTMLbetterBreak(info,state); + }, + CHTMLmoveLine: function (start,end,node,state,values) { + return this.Core().CHTMLmoveSlice(start,end,node,state,values); + } + }); + }); + + // + // Have maction process only the selected item + // + MML.maction.Augment({ + CHTMLbetterBreak: function (info,state) { + return this.Core().CHTMLbetterBreak(info,state); + }, + CHTMLmoveLine: function (start,end,node,state,values) { + return this.Core().CHTMLmoveSlice(start,end,node,state,values); + } + }); + + // + // Have semantics only do the first element + // (FIXME: do we need to do anything special about annotation-xml?) + // + MML.semantics.Augment({ + CHTMLbetterBreak: function (info,state) { + return (this.data[0] ? this.data[0].CHTMLbetterBreak(info,state) : false); + }, + CHTMLmoveLine: function (start,end,node,state,values) { + return (this.data[0] ? this.data[0].CHTMLmoveSlice(start,end,node,state,values) : null); + } + }); + + /**************************************************************************/ + + MathJax.Hub.Startup.signal.Post("CommonHTML multiline Ready"); + MathJax.Ajax.loadComplete(CHTML.autoloadDir+"/multiline.js"); + +}); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/config.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/config.js new file mode 100644 index 00000000..a6a27a31 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/config.js @@ -0,0 +1,64 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/HTML2/config.js + * + * Initializes the HTML2 OutputJax (the main definition is in + * MathJax/jax/input/HTML2/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.OutputJax.CommonHTML = MathJax.OutputJax({ + id: "CommonHTML", + version: "2.7.5", + directory: MathJax.OutputJax.directory + "/CommonHTML", + extensionDir: MathJax.OutputJax.extensionDir + "/CommonHTML", + autoloadDir: MathJax.OutputJax.directory + "/CommonHTML/autoload", + fontDir: MathJax.OutputJax.directory + "/CommonHTML/fonts", // fontname added later + webfontDir: MathJax.OutputJax.fontDir + "/HTML-CSS", // fontname added later + + config: { + matchFontHeight: true, // try to match math font height to surrounding font? + scale: 100, minScaleAdjust: 50, // global math scaling factor, and minimum adjusted scale factor + mtextFontInherit: false, // to make be in page font rather than MathJax font + undefinedFamily: "STIXGeneral,'Cambria Math','Arial Unicode MS',serif", + + EqnChunk: (MathJax.Hub.Browser.isMobile ? 20: 100), + // number of equations to process before showing them + EqnChunkFactor: 1.5, // chunk size is multiplied by this after each chunk + EqnChunkDelay: 100, // milliseconds to delay between chunks (to let browser + // respond to other events) + + linebreaks: { + automatic: false, // when false, only process linebreak="newline", + // when true, insert line breaks automatically in long expressions. + + width: "container" // maximum width of a line for automatic line breaks (e.g. "30em"). + // use "container" to compute size from containing element, + // use "nn% container" for a portion of the container, + // use "nn%" for a portion of the window size + } + + } +}); + +if (!MathJax.Hub.config.delayJaxRegistration) {MathJax.OutputJax.CommonHTML.Register("jax/mml")} + +MathJax.OutputJax.CommonHTML.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js new file mode 100644 index 00000000..3146d484 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js @@ -0,0 +1,289 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_AMS'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 270, ascent: 1003, descent: 463, + 0x20: [0,0,250,0,0], // SPACE + 0x41: [701,1,722,17,703], // LATIN CAPITAL LETTER A + 0x42: [683,1,667,11,620], // LATIN CAPITAL LETTER B + 0x43: [702,19,722,39,684], // LATIN CAPITAL LETTER C + 0x44: [683,1,722,16,688], // LATIN CAPITAL LETTER D + 0x45: [683,1,667,12,640], // LATIN CAPITAL LETTER E + 0x46: [683,1,611,12,584], // LATIN CAPITAL LETTER F + 0x47: [702,19,778,39,749], // LATIN CAPITAL LETTER G + 0x48: [683,1,778,14,762], // LATIN CAPITAL LETTER H + 0x49: [683,1,389,20,369], // LATIN CAPITAL LETTER I + 0x4A: [683,77,500,6,478], // LATIN CAPITAL LETTER J + 0x4B: [683,1,778,22,768], // LATIN CAPITAL LETTER K + 0x4C: [683,1,667,12,640], // LATIN CAPITAL LETTER L + 0x4D: [683,1,944,17,926], // LATIN CAPITAL LETTER M + 0x4E: [683,20,722,20,702], // LATIN CAPITAL LETTER N + 0x4F: [701,19,778,34,742], // LATIN CAPITAL LETTER O + 0x50: [683,1,611,16,597], // LATIN CAPITAL LETTER P + 0x51: [701,181,778,34,742], // LATIN CAPITAL LETTER Q + 0x52: [683,1,722,16,705], // LATIN CAPITAL LETTER R + 0x53: [702,12,556,28,528], // LATIN CAPITAL LETTER S + 0x54: [683,1,667,33,635], // LATIN CAPITAL LETTER T + 0x55: [683,19,722,16,709], // LATIN CAPITAL LETTER U + 0x56: [683,20,722,0,719], // LATIN CAPITAL LETTER V + 0x57: [683,19,1000,5,994], // LATIN CAPITAL LETTER W + 0x58: [683,1,722,16,705], // LATIN CAPITAL LETTER X + 0x59: [683,1,722,16,704], // LATIN CAPITAL LETTER Y + 0x5A: [683,1,667,29,635], // LATIN CAPITAL LETTER Z + 0x6B: [683,1,556,17,534], // LATIN SMALL LETTER K + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA5: [683,0,750,11,738], // YEN SIGN + 0xAE: [709,175,947,32,915], // REGISTERED SIGN + 0xF0: [749,21,556,42,509], // LATIN SMALL LETTER ETH + 0x127: [695,13,540,42,562], // LATIN SMALL LETTER H WITH STROKE + 0x2C6: [845,-561,2333,-14,2346], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [899,-628,2333,1,2330], // SMALL TILDE + 0x302: [845,-561,0,-2347,13], // COMBINING CIRCUMFLEX ACCENT + 0x303: [899,-628,0,-2332,-3], // COMBINING TILDE + 0x3DD: [605,85,778,55,719], // GREEK SMALL LETTER DIGAMMA + 0x3F0: [434,6,667,37,734], // GREEK KAPPA SYMBOL + 0x2035: [560,-43,275,12,244], // REVERSED PRIME + 0x210F: [695,13,540,42,562], // stix-/hbar - Planck's over 2pi + 0x2127: [684,22,722,44,675], // INVERTED OHM SIGN + 0x2132: [695,1,556,55,497], // TURNED CAPITAL F + 0x2136: [763,21,667,-22,687], // BET SYMBOL + 0x2137: [764,43,444,-22,421], // GIMEL SYMBOL + 0x2138: [764,43,667,54,640], // DALET SYMBOL + 0x2141: [705,23,639,37,577], // TURNED SANS-SERIF CAPITAL G + 0x2190: [437,-64,500,64,422], // LEFTWARDS ARROW + 0x2192: [437,-64,500,58,417], // RIGHTWARDS ARROW + 0x219A: [437,-60,1000,56,942], // LEFTWARDS ARROW WITH STROKE + 0x219B: [437,-60,1000,54,942], // RIGHTWARDS ARROW WITH STROKE + 0x219E: [417,-83,1000,56,944], // LEFTWARDS TWO HEADED ARROW + 0x21A0: [417,-83,1000,55,943], // RIGHTWARDS TWO HEADED ARROW + 0x21A2: [417,-83,1111,56,1031], // LEFTWARDS ARROW WITH TAIL + 0x21A3: [417,-83,1111,79,1054], // RIGHTWARDS ARROW WITH TAIL + 0x21AB: [575,41,1000,56,964], // LEFTWARDS ARROW WITH LOOP + 0x21AC: [575,41,1000,35,943], // RIGHTWARDS ARROW WITH LOOP + 0x21AD: [417,-83,1389,57,1331], // LEFT RIGHT WAVE ARROW + 0x21AE: [437,-60,1000,56,942], // LEFT RIGHT ARROW WITH STROKE + 0x21B0: [722,0,500,56,444], // UPWARDS ARROW WITH TIP LEFTWARDS + 0x21B1: [722,0,500,55,443], // UPWARDS ARROW WITH TIP RIGHTWARDS + 0x21B6: [461,1,1000,17,950], // ANTICLOCKWISE TOP SEMICIRCLE ARROW + 0x21B7: [460,1,1000,46,982], // CLOCKWISE TOP SEMICIRCLE ARROW + 0x21BA: [650,83,778,56,722], // ANTICLOCKWISE OPEN CIRCLE ARROW + 0x21BB: [650,83,778,56,721], // CLOCKWISE OPEN CIRCLE ARROW + 0x21BE: [694,194,417,188,375], // UPWARDS HARPOON WITH BARB RIGHTWARDS + 0x21BF: [694,194,417,41,228], // UPWARDS HARPOON WITH BARB LEFTWARDS + 0x21C2: [694,194,417,188,375], // DOWNWARDS HARPOON WITH BARB RIGHTWARDS + 0x21C3: [694,194,417,41,228], // DOWNWARDS HARPOON WITH BARB LEFTWARDS + 0x21C4: [667,0,1000,55,944], // RIGHTWARDS ARROW OVER LEFTWARDS ARROW + 0x21C6: [667,0,1000,55,944], // LEFTWARDS ARROW OVER RIGHTWARDS ARROW + 0x21C7: [583,83,1000,55,944], // LEFTWARDS PAIRED ARROWS + 0x21C8: [694,193,833,83,749], // UPWARDS PAIRED ARROWS + 0x21C9: [583,83,1000,55,944], // RIGHTWARDS PAIRED ARROWS + 0x21CA: [694,194,833,83,749], // DOWNWARDS PAIRED ARROWS + 0x21CB: [514,14,1000,55,944], // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + 0x21CC: [514,14,1000,55,944], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CD: [534,35,1000,54,942], // LEFTWARDS DOUBLE ARROW WITH STROKE + 0x21CE: [534,37,1000,32,965], // LEFT RIGHT DOUBLE ARROW WITH STROKE + 0x21CF: [534,35,1000,55,943], // RIGHTWARDS DOUBLE ARROW WITH STROKE + 0x21DA: [611,111,1000,76,944], // LEFTWARDS TRIPLE ARROW + 0x21DB: [611,111,1000,55,923], // RIGHTWARDS TRIPLE ARROW + 0x21DD: [417,-83,1000,56,943], // RIGHTWARDS SQUIGGLE ARROW + 0x21E0: [437,-64,1334,64,1251], // LEFTWARDS DASHED ARROW + 0x21E2: [437,-64,1334,84,1251], // RIGHTWARDS DASHED ARROW + 0x2201: [846,21,500,56,444], // COMPLEMENT + 0x2204: [860,166,556,55,497], // THERE DOES NOT EXIST + 0x2205: [587,3,778,54,720], // EMPTY SET + 0x220D: [440,1,429,102,456], // SMALL CONTAINS AS MEMBER + 0x2212: [270,-230,500,84,417], // MINUS SIGN + 0x2214: [766,93,778,57,722], // DOT PLUS + 0x2216: [430,23,778,91,685], // SET MINUS + 0x221D: [472,-28,778,56,722], // PROPORTIONAL TO + 0x2220: [694,0,722,55,666], // ANGLE + 0x2221: [714,20,722,55,666], // MEASURED ANGLE + 0x2222: [551,51,722,55,666], // SPHERICAL ANGLE + 0x2223: [430,23,222,91,131], // DIVIDES + 0x2224: [750,252,278,-21,297], // DOES NOT DIVIDE + 0x2225: [431,23,389,55,331], // PARALLEL TO + 0x2226: [750,250,500,-20,518], // NOT PARALLEL TO + 0x2234: [471,82,667,24,643], // THEREFORE + 0x2235: [471,82,667,23,643], // BECAUSE + 0x223C: [365,-132,778,55,719], // TILDE OPERATOR + 0x223D: [367,-133,778,56,722], // REVERSED TILDE + 0x2241: [467,-32,778,55,719], // stix-not, vert, similar + 0x2242: [463,-34,778,55,720], // MINUS TILDE + 0x2246: [652,155,778,54,720], // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO + 0x2248: [481,-50,778,55,719], // ALMOST EQUAL TO + 0x224A: [579,39,778,51,725], // ALMOST EQUAL OR EQUAL TO + 0x224E: [492,-8,778,56,722], // GEOMETRICALLY EQUIVALENT TO + 0x224F: [492,-133,778,56,722], // DIFFERENCE BETWEEN + 0x2251: [609,108,778,56,722], // GEOMETRICALLY EQUAL TO + 0x2252: [601,101,778,15,762], // APPROXIMATELY EQUAL TO OR THE IMAGE OF + 0x2253: [601,102,778,14,762], // IMAGE OF OR APPROXIMATELY EQUAL TO + 0x2256: [367,-133,778,56,722], // RING IN EQUAL TO + 0x2257: [721,-133,778,56,722], // RING EQUAL TO + 0x225C: [859,-133,778,56,723], // DELTA EQUAL TO + 0x2266: [753,175,778,83,694], // LESS-THAN OVER EQUAL TO + 0x2267: [753,175,778,83,694], // GREATER-THAN OVER EQUAL TO + 0x2268: [752,286,778,82,693], // stix-less, vert, not double equals + 0x2269: [752,286,778,82,693], // stix-gt, vert, not double equals + 0x226C: [750,250,500,74,425], // BETWEEN + 0x226E: [708,209,778,82,693], // stix-not, vert, less-than + 0x226F: [708,209,778,82,693], // stix-not, vert, greater-than + 0x2270: [801,303,778,82,694], // stix-not, vert, less-than-or-equal + 0x2271: [801,303,778,82,694], // stix-not, vert, greater-than-or-equal + 0x2272: [732,228,778,56,722], // stix-less-than or (contour) similar + 0x2273: [732,228,778,56,722], // stix-greater-than or (contour) similar + 0x2276: [681,253,778,44,734], // LESS-THAN OR GREATER-THAN + 0x2277: [681,253,778,83,694], // GREATER-THAN OR LESS-THAN + 0x227C: [580,153,778,83,694], // PRECEDES OR EQUAL TO + 0x227D: [580,154,778,82,694], // SUCCEEDS OR EQUAL TO + 0x227E: [732,228,778,56,722], // PRECEDES OR EQUIVALENT TO + 0x227F: [732,228,778,56,722], // SUCCEEDS OR EQUIVALENT TO + 0x2280: [705,208,778,82,693], // DOES NOT PRECEDE + 0x2281: [705,208,778,82,693], // stix-not (vert) succeeds + 0x2288: [801,303,778,83,693], // stix-/nsubseteq N: not (vert) subset, equals + 0x2289: [801,303,778,82,691], // stix-/nsupseteq N: not (vert) superset, equals + 0x228A: [635,241,778,84,693], // stix-subset, not equals, variant + 0x228B: [635,241,778,82,691], // stix-superset, not equals, variant + 0x228F: [539,41,778,83,694], // SQUARE IMAGE OF + 0x2290: [539,41,778,64,714], // SQUARE ORIGINAL OF + 0x229A: [582,82,778,57,721], // CIRCLED RING OPERATOR + 0x229B: [582,82,778,57,721], // CIRCLED ASTERISK OPERATOR + 0x229D: [582,82,778,57,721], // CIRCLED DASH + 0x229E: [689,0,778,55,722], // SQUARED PLUS + 0x229F: [689,0,778,55,722], // SQUARED MINUS + 0x22A0: [689,0,778,55,722], // SQUARED TIMES + 0x22A1: [689,0,778,55,722], // SQUARED DOT OPERATOR + 0x22A8: [694,0,611,55,555], // TRUE + 0x22A9: [694,0,722,55,666], // FORCES + 0x22AA: [694,0,889,55,833], // TRIPLE VERTICAL BAR RIGHT TURNSTILE + 0x22AC: [695,1,611,-55,554], // DOES NOT PROVE + 0x22AD: [695,1,611,-55,554], // NOT TRUE + 0x22AE: [695,1,722,-55,665], // DOES NOT FORCE + 0x22AF: [695,1,722,-55,665], // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + 0x22B2: [539,41,778,83,694], // NORMAL SUBGROUP OF + 0x22B3: [539,41,778,83,694], // CONTAINS AS NORMAL SUBGROUP + 0x22B4: [636,138,778,83,694], // NORMAL SUBGROUP OF OR EQUAL TO + 0x22B5: [636,138,778,83,694], // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO + 0x22B8: [408,-92,1111,55,1055], // MULTIMAP + 0x22BA: [431,212,556,57,500], // INTERCALATE + 0x22BB: [716,0,611,55,555], // XOR + 0x22BC: [716,0,611,55,555], // NAND + 0x22C5: [189,0,278,55,222], // DOT OPERATOR + 0x22C7: [545,44,778,55,720], // DIVISION TIMES + 0x22C9: [492,-8,778,146,628], // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CA: [492,-8,778,146,628], // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CB: [694,22,778,55,722], // LEFT SEMIDIRECT PRODUCT + 0x22CC: [694,22,778,55,722], // RIGHT SEMIDIRECT PRODUCT + 0x22CD: [464,-36,778,56,722], // REVERSED TILDE EQUALS + 0x22CE: [578,21,760,83,676], // CURLY LOGICAL OR + 0x22CF: [578,22,760,83,676], // CURLY LOGICAL AND + 0x22D0: [540,40,778,84,694], // DOUBLE SUBSET + 0x22D1: [540,40,778,83,693], // DOUBLE SUPERSET + 0x22D2: [598,22,667,55,611], // DOUBLE INTERSECTION + 0x22D3: [598,22,667,55,611], // DOUBLE UNION + 0x22D4: [736,22,667,56,611], // PITCHFORK + 0x22D6: [541,41,778,82,693], // LESS-THAN WITH DOT + 0x22D7: [541,41,778,82,693], // GREATER-THAN WITH DOT + 0x22D8: [568,67,1333,56,1277], // VERY MUCH LESS-THAN + 0x22D9: [568,67,1333,55,1277], // VERY MUCH GREATER-THAN + 0x22DA: [886,386,778,83,674], // stix-less, equal, slanted, greater + 0x22DB: [886,386,778,83,674], // stix-greater, equal, slanted, less + 0x22DE: [734,0,778,83,694], // EQUAL TO OR PRECEDES + 0x22DF: [734,0,778,82,694], // EQUAL TO OR SUCCEEDS + 0x22E0: [801,303,778,82,693], // stix-not (vert) precedes or contour equals + 0x22E1: [801,303,778,82,694], // stix-not (vert) succeeds or contour equals + 0x22E6: [730,359,778,55,719], // LESS-THAN BUT NOT EQUIVALENT TO + 0x22E7: [730,359,778,55,719], // GREATER-THAN BUT NOT EQUIVALENT TO + 0x22E8: [730,359,778,55,719], // PRECEDES BUT NOT EQUIVALENT TO + 0x22E9: [730,359,778,55,719], // SUCCEEDS BUT NOT EQUIVALENT TO + 0x22EA: [706,208,778,82,693], // NOT NORMAL SUBGROUP OF + 0x22EB: [706,208,778,82,693], // DOES NOT CONTAIN AS NORMAL SUBGROUP + 0x22EC: [802,303,778,82,693], // stix-not, vert, left triangle, equals + 0x22ED: [801,303,778,82,693], // stix-not, vert, right triangle, equals + 0x2322: [378,-122,778,55,722], // stix-small down curve + 0x2323: [378,-143,778,55,722], // stix-small up curve + 0x24C8: [709,175,902,8,894], // CIRCLED LATIN CAPITAL LETTER S + 0x250C: [694,-306,500,55,444], // BOX DRAWINGS LIGHT DOWN AND RIGHT + 0x2510: [694,-306,500,55,444], // BOX DRAWINGS LIGHT DOWN AND LEFT + 0x2514: [366,22,500,55,444], // BOX DRAWINGS LIGHT UP AND RIGHT + 0x2518: [366,22,500,55,444], // BOX DRAWINGS LIGHT UP AND LEFT + 0x2571: [694,195,889,0,860], // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT + 0x2572: [694,195,889,0,860], // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT + 0x25A0: [689,0,778,55,722], // BLACK SQUARE + 0x25A1: [689,0,778,55,722], // WHITE SQUARE + 0x25B2: [575,20,722,84,637], // BLACK UP-POINTING TRIANGLE + 0x25B3: [575,20,722,84,637], // WHITE UP-POINTING TRIANGLE + 0x25B6: [539,41,778,83,694], // BLACK RIGHT-POINTING TRIANGLE + 0x25BC: [576,19,722,84,637], // BLACK DOWN-POINTING TRIANGLE + 0x25BD: [576,19,722,84,637], // WHITE DOWN-POINTING TRIANGLE + 0x25C0: [539,41,778,83,694], // BLACK LEFT-POINTING TRIANGLE + 0x25CA: [716,132,667,56,611], // LOZENGE + 0x2605: [694,111,944,49,895], // BLACK STAR + 0x2713: [706,34,833,84,749], // CHECK MARK + 0x2720: [716,22,833,48,786], // MALTESE CROSS + 0x29EB: [716,132,667,56,611], // BLACK LOZENGE + 0x2A5E: [813,97,611,55,555], // LOGICAL AND WITH DOUBLE OVERBAR + 0x2A7D: [636,138,778,83,694], // LESS-THAN OR SLANTED EQUAL TO + 0x2A7E: [636,138,778,83,694], // GREATER-THAN OR SLANTED EQUAL TO + 0x2A85: [762,290,778,55,722], // LESS-THAN OR APPROXIMATE + 0x2A86: [762,290,778,55,722], // GREATER-THAN OR APPROXIMATE + 0x2A87: [635,241,778,82,693], // LESS-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A88: [635,241,778,82,693], // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A89: [761,387,778,57,718], // LESS-THAN AND NOT APPROXIMATE + 0x2A8A: [761,387,778,57,718], // GREATER-THAN AND NOT APPROXIMATE + 0x2A8B: [1003,463,778,83,694], // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN + 0x2A8C: [1003,463,778,83,694], // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN + 0x2A95: [636,138,778,83,694], // SLANTED EQUAL TO OR LESS-THAN + 0x2A96: [636,138,778,83,694], // SLANTED EQUAL TO OR GREATER-THAN + 0x2AB5: [752,286,778,82,693], // PRECEDES ABOVE NOT EQUAL TO + 0x2AB6: [752,286,778,82,693], // SUCCEEDS ABOVE NOT EQUAL TO + 0x2AB7: [761,294,778,57,717], // PRECEDES ABOVE ALMOST EQUAL TO + 0x2AB8: [761,294,778,57,717], // SUCCEEDS ABOVE ALMOST EQUAL TO + 0x2AB9: [761,337,778,57,718], // PRECEDES ABOVE NOT ALMOST EQUAL TO + 0x2ABA: [761,337,778,57,718], // SUCCEEDS ABOVE NOT ALMOST EQUAL TO + 0x2AC5: [753,215,778,84,694], // SUBSET OF ABOVE EQUALS SIGN + 0x2AC6: [753,215,778,83,694], // SUPERSET OF ABOVE EQUALS SIGN + 0x2ACB: [783,385,778,82,693], // stix-subset not double equals, variant + 0x2ACC: [783,385,778,82,693], // SUPERSET OF ABOVE NOT EQUAL TO + 0xE006: [430,23,222,-20,240], // ?? + 0xE007: [431,24,389,-20,407], // ?? + 0xE008: [605,85,778,55,719], // ?? + 0xE009: [434,6,667,37,734], // ?? + 0xE00C: [752,284,778,82,693], // ?? + 0xE00D: [752,284,778,82,693], // ?? + 0xE00E: [919,421,778,82,694], // stix-not greater, double equals + 0xE00F: [801,303,778,82,694], // stix-not greater-or-equal, slanted + 0xE010: [801,303,778,82,694], // stix-not less-or-equal, slanted + 0xE011: [919,421,778,82,694], // stix-not less, double equals + 0xE016: [828,330,778,82,694], // stix-not subset, double equals + 0xE017: [752,332,778,82,694], // ?? + 0xE018: [828,330,778,82,694], // stix-not superset, double equals + 0xE019: [752,333,778,82,693], // ?? + 0xE01A: [634,255,778,84,693], // ?? + 0xE01B: [634,254,778,82,691] // ?? +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js new file mode 100644 index 00000000..3e4043ce --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js @@ -0,0 +1,99 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Caligraphic-Bold.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Caligraphic-Bold'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 315, ascent: 840, descent: 211, + weight: 'bold', + skew: { + 0x41: 0.224, + 0x42: 0.16, + 0x43: 0.16, + 0x44: 0.0958, + 0x45: 0.128, + 0x46: 0.128, + 0x47: 0.128, + 0x48: 0.128, + 0x49: 0.0319, + 0x4A: 0.192, + 0x4B: 0.0639, + 0x4C: 0.16, + 0x4D: 0.16, + 0x4E: 0.0958, + 0x4F: 0.128, + 0x50: 0.0958, + 0x51: 0.128, + 0x52: 0.0958, + 0x53: 0.16, + 0x54: 0.0319, + 0x55: 0.0958, + 0x56: 0.0319, + 0x57: 0.0958, + 0x58: 0.16, + 0x59: 0.0958, + 0x5A: 0.16 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x30: [460,17,575,46,528], // DIGIT ZERO + 0x31: [461,0,575,80,494], // DIGIT ONE + 0x32: [460,0,575,51,517], // DIGIT TWO + 0x33: [461,211,575,48,525], // DIGIT THREE + 0x34: [469,194,575,32,542], // DIGIT FOUR + 0x35: [461,211,575,57,517], // DIGIT FIVE + 0x36: [660,17,575,48,526], // DIGIT SIX + 0x37: [476,211,575,64,558], // DIGIT SEVEN + 0x38: [661,17,575,48,526], // DIGIT EIGHT + 0x39: [461,210,575,48,526], // DIGIT NINE + 0x41: [751,49,921,39,989], // LATIN CAPITAL LETTER A + 0x42: [705,17,748,40,740], // LATIN CAPITAL LETTER B + 0x43: [703,20,613,20,599], // LATIN CAPITAL LETTER C + 0x44: [686,0,892,20,885], // LATIN CAPITAL LETTER D + 0x45: [703,16,607,37,627], // LATIN CAPITAL LETTER E + 0x46: [686,30,814,17,930], // LATIN CAPITAL LETTER F + 0x47: [703,113,682,50,671], // LATIN CAPITAL LETTER G + 0x48: [686,48,987,20,946], // LATIN CAPITAL LETTER H + 0x49: [686,0,642,-27,746], // LATIN CAPITAL LETTER I + 0x4A: [686,114,779,53,937], // LATIN CAPITAL LETTER J + 0x4B: [703,17,871,40,834], // LATIN CAPITAL LETTER K + 0x4C: [703,17,788,41,751], // LATIN CAPITAL LETTER L + 0x4D: [703,49,1378,38,1353], // LATIN CAPITAL LETTER M + 0x4E: [840,49,937,-24,1105], // LATIN CAPITAL LETTER N + 0x4F: [703,17,906,63,882], // LATIN CAPITAL LETTER O + 0x50: [686,67,810,20,846], // LATIN CAPITAL LETTER P + 0x51: [703,146,939,120,905], // LATIN CAPITAL LETTER Q + 0x52: [686,17,990,20,981], // LATIN CAPITAL LETTER R + 0x53: [703,16,696,25,721], // LATIN CAPITAL LETTER S + 0x54: [720,69,644,38,947], // LATIN CAPITAL LETTER T + 0x55: [686,24,715,-10,771], // LATIN CAPITAL LETTER U + 0x56: [686,77,737,25,774], // LATIN CAPITAL LETTER V + 0x57: [686,77,1169,25,1206], // LATIN CAPITAL LETTER W + 0x58: [686,-1,817,56,906], // LATIN CAPITAL LETTER X + 0x59: [686,164,759,36,797], // LATIN CAPITAL LETTER Y + 0x5A: [686,0,818,46,853], // LATIN CAPITAL LETTER Z + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js new file mode 100644 index 00000000..d5177a0a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Bold.js @@ -0,0 +1,125 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Fraktur-Bold'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 259, ascent: 740, descent: 223, + weight: 'bold', + 0x20: [0,0,250,0,0], // SPACE + 0x21: [689,12,349,107,241], // EXCLAMATION MARK + 0x22: [695,-432,254,10,231], // QUOTATION MARK + 0x26: [696,16,871,44,839], // AMPERSAND + 0x27: [695,-436,250,80,158], // APOSTROPHE + 0x28: [737,186,459,134,347], // LEFT PARENTHESIS + 0x29: [735,187,459,105,326], // RIGHT PARENTHESIS + 0x2A: [692,-449,328,40,277], // ASTERISK + 0x2B: [598,82,893,56,837], // PLUS SIGN + 0x2C: [107,191,328,118,253], // COMMA + 0x2D: [275,-236,893,54,833], // HYPHEN-MINUS + 0x2E: [102,15,328,103,237], // FULL STOP + 0x2F: [721,182,593,41,550], // SOLIDUS + 0x30: [501,12,593,42,533], // DIGIT ZERO + 0x31: [489,0,593,54,548], // DIGIT ONE + 0x32: [491,-2,593,44,563], // DIGIT TWO + 0x33: [487,193,593,31,523], // DIGIT THREE + 0x34: [495,196,593,13,565], // DIGIT FOUR + 0x35: [481,190,593,19,518], // DIGIT FIVE + 0x36: [704,12,593,48,547], // DIGIT SIX + 0x37: [479,197,593,54,591], // DIGIT SEVEN + 0x38: [714,5,593,45,542], // DIGIT EIGHT + 0x39: [487,195,593,29,549], // DIGIT NINE + 0x3A: [457,12,255,57,197], // COLON + 0x3B: [458,190,255,56,211], // SEMICOLON + 0x3D: [343,-168,582,22,559], // EQUALS SIGN + 0x3F: [697,14,428,40,422], // QUESTION MARK + 0x41: [686,31,847,29,827], // LATIN CAPITAL LETTER A + 0x42: [684,31,1044,57,965], // LATIN CAPITAL LETTER B + 0x43: [676,32,723,72,726], // LATIN CAPITAL LETTER C + 0x44: [683,29,982,31,896], // LATIN CAPITAL LETTER D + 0x45: [686,29,783,74,728], // LATIN CAPITAL LETTER E + 0x46: [684,146,722,17,727], // LATIN CAPITAL LETTER F + 0x47: [687,29,927,74,844], // LATIN CAPITAL LETTER G + 0x48: [683,126,851,6,752], // LATIN CAPITAL LETTER H + 0x49: [681,25,655,32,623], // LATIN CAPITAL LETTER I + 0x4A: [680,141,652,-8,616], // LATIN CAPITAL LETTER J + 0x4B: [681,26,789,20,806], // LATIN CAPITAL LETTER K + 0x4C: [683,28,786,30,764], // LATIN CAPITAL LETTER L + 0x4D: [683,32,1239,27,1232], // LATIN CAPITAL LETTER M + 0x4E: [679,30,983,26,973], // LATIN CAPITAL LETTER N + 0x4F: [726,30,976,12,881], // LATIN CAPITAL LETTER O + 0x50: [688,223,977,33,943], // LATIN CAPITAL LETTER P + 0x51: [726,83,976,12,918], // LATIN CAPITAL LETTER Q + 0x52: [688,28,978,31,978], // LATIN CAPITAL LETTER R + 0x53: [685,31,978,82,905], // LATIN CAPITAL LETTER S + 0x54: [686,30,790,31,802], // LATIN CAPITAL LETTER T + 0x55: [688,39,851,18,871], // LATIN CAPITAL LETTER U + 0x56: [685,29,982,25,966], // LATIN CAPITAL LETTER V + 0x57: [683,30,1235,26,1240], // LATIN CAPITAL LETTER W + 0x58: [681,35,849,32,835], // LATIN CAPITAL LETTER X + 0x59: [688,214,984,34,878], // LATIN CAPITAL LETTER Y + 0x5A: [677,148,711,-4,624], // LATIN CAPITAL LETTER Z + 0x5B: [740,130,257,36,226], // LEFT SQUARE BRACKET + 0x5D: [738,132,257,14,208], // RIGHT SQUARE BRACKET + 0x5E: [734,-452,590,1,584], // CIRCUMFLEX ACCENT + 0x61: [472,32,603,80,586], // LATIN SMALL LETTER A + 0x62: [690,32,590,86,504], // LATIN SMALL LETTER B + 0x63: [473,26,464,87,424], // LATIN SMALL LETTER C + 0x64: [632,28,589,-1,511], // LATIN SMALL LETTER D + 0x65: [471,27,472,81,428], // LATIN SMALL LETTER E + 0x66: [687,222,388,35,372], // LATIN SMALL LETTER F + 0x67: [472,208,595,17,541], // LATIN SMALL LETTER G + 0x68: [687,207,615,89,507], // LATIN SMALL LETTER H + 0x69: [686,25,331,3,327], // LATIN SMALL LETTER I + 0x6A: [682,203,332,-19,238], // LATIN SMALL LETTER J + 0x6B: [682,25,464,34,432], // LATIN SMALL LETTER K + 0x6C: [681,24,337,100,312], // LATIN SMALL LETTER L + 0x6D: [476,31,921,16,900], // LATIN SMALL LETTER M + 0x6E: [473,28,654,5,608], // LATIN SMALL LETTER N + 0x6F: [482,34,609,107,515], // LATIN SMALL LETTER O + 0x70: [557,207,604,-1,519], // LATIN SMALL LETTER P + 0x71: [485,211,596,87,515], // LATIN SMALL LETTER Q + 0x72: [472,26,460,13,453], // LATIN SMALL LETTER R + 0x73: [479,34,523,-23,481], // LATIN SMALL LETTER S + 0x74: [648,27,393,43,407], // LATIN SMALL LETTER T + 0x75: [472,32,589,9,603], // LATIN SMALL LETTER U + 0x76: [546,27,604,56,507], // LATIN SMALL LETTER V + 0x77: [549,32,918,55,815], // LATIN SMALL LETTER W + 0x78: [471,188,459,8,441], // LATIN SMALL LETTER X + 0x79: [557,221,589,60,512], // LATIN SMALL LETTER Y + 0x7A: [471,214,461,-7,378], // LATIN SMALL LETTER Z + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2018: [708,-411,254,53,187], // LEFT SINGLE QUOTATION MARK + 0x2019: [692,-394,254,58,193], // RIGHT SINGLE QUOTATION MARK + 0xE301: [630,27,587,64,512], // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED + 0xE302: [693,212,394,37,408], // stix-capital Delta, Greek slashed + 0xE303: [681,219,387,36,384], // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED + 0xE304: [473,212,593,67,531], // stix-capital Epsilon, Greek slashed + 0xE305: [684,27,393,33,387], // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED + 0xE308: [679,220,981,32,875], // stix-capital Eta, Greek slashed + 0xE309: [717,137,727,17,633] // stix-MATHEMATICAL BOLD CAPITAL ETA SLASHED +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js new file mode 100644 index 00000000..ebf4de1f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js @@ -0,0 +1,125 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Fraktur-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Fraktur'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 258, ascent: 740, descent: 224, + 0x20: [0,0,250,0,0], // SPACE + 0x21: [689,12,296,91,204], // EXCLAMATION MARK + 0x22: [695,-432,215,8,196], // QUOTATION MARK + 0x26: [698,11,738,49,733], // AMPERSAND + 0x27: [695,-436,212,69,134], // APOSTROPHE + 0x28: [737,186,389,114,293], // LEFT PARENTHESIS + 0x29: [735,187,389,89,276], // RIGHT PARENTHESIS + 0x2A: [692,-449,278,33,234], // ASTERISK + 0x2B: [598,82,756,47,709], // PLUS SIGN + 0x2C: [107,191,278,99,213], // COMMA + 0x2D: [275,-236,756,46,706], // HYPHEN-MINUS + 0x2E: [102,15,278,87,200], // FULL STOP + 0x2F: [721,182,502,34,466], // SOLIDUS + 0x30: [492,13,502,42,456], // DIGIT ZERO + 0x31: [468,2,502,47,460], // DIGIT ONE + 0x32: [474,-1,502,60,484], // DIGIT TWO + 0x33: [473,182,502,39,429], // DIGIT THREE + 0x34: [476,191,502,10,481], // DIGIT FOUR + 0x35: [458,184,502,47,440], // DIGIT FIVE + 0x36: [700,13,502,45,471], // DIGIT SIX + 0x37: [468,181,502,37,498], // DIGIT SEVEN + 0x38: [705,10,502,40,461], // DIGIT EIGHT + 0x39: [469,182,502,28,466], // DIGIT NINE + 0x3A: [457,12,216,50,168], // COLON + 0x3B: [458,189,216,47,179], // SEMICOLON + 0x3D: [368,-132,756,54,725], // EQUALS SIGN + 0x3F: [693,11,362,46,357], // QUESTION MARK + 0x41: [696,26,718,22,708], // LATIN CAPITAL LETTER A + 0x42: [691,27,884,48,820], // LATIN CAPITAL LETTER B + 0x43: [685,24,613,59,607], // LATIN CAPITAL LETTER C + 0x44: [685,27,832,27,745], // LATIN CAPITAL LETTER D + 0x45: [685,24,663,86,634], // LATIN CAPITAL LETTER E + 0x46: [686,153,611,11,612], // LATIN CAPITAL LETTER F + 0x47: [690,26,785,66,710], // LATIN CAPITAL LETTER G + 0x48: [666,133,720,1,644], // LATIN CAPITAL LETTER H + 0x49: [686,26,554,30,532], // LATIN CAPITAL LETTER I + 0x4A: [686,139,552,-10,522], // LATIN CAPITAL LETTER J + 0x4B: [680,27,668,17,682], // LATIN CAPITAL LETTER K + 0x4C: [686,26,666,33,644], // LATIN CAPITAL LETTER L + 0x4D: [692,27,1050,27,1048], // LATIN CAPITAL LETTER M + 0x4E: [686,25,832,27,825], // LATIN CAPITAL LETTER N + 0x4F: [729,27,827,12,744], // LATIN CAPITAL LETTER O + 0x50: [692,218,828,28,804], // LATIN CAPITAL LETTER P + 0x51: [729,69,827,11,782], // LATIN CAPITAL LETTER Q + 0x52: [686,26,828,27,824], // LATIN CAPITAL LETTER R + 0x53: [692,27,829,66,756], // LATIN CAPITAL LETTER S + 0x54: [701,27,669,34,676], // LATIN CAPITAL LETTER T + 0x55: [697,27,646,-25,665], // LATIN CAPITAL LETTER U + 0x56: [686,26,831,26,825], // LATIN CAPITAL LETTER V + 0x57: [686,27,1046,32,1054], // LATIN CAPITAL LETTER W + 0x58: [688,27,719,28,709], // LATIN CAPITAL LETTER X + 0x59: [686,218,833,27,740], // LATIN CAPITAL LETTER Y + 0x5A: [729,139,602,11,532], // LATIN CAPITAL LETTER Z + 0x5B: [740,130,278,117,278], // LEFT SQUARE BRACKET + 0x5D: [738,131,278,-4,160], // RIGHT SQUARE BRACKET + 0x5E: [734,-452,500,0,495], // CIRCUMFLEX ACCENT + 0x61: [470,35,500,66,497], // LATIN SMALL LETTER A + 0x62: [685,31,513,87,442], // LATIN SMALL LETTER B + 0x63: [466,29,389,72,359], // LATIN SMALL LETTER C + 0x64: [609,33,499,13,428], // LATIN SMALL LETTER D + 0x65: [467,30,401,70,364], // LATIN SMALL LETTER E + 0x66: [681,221,326,30,323], // LATIN SMALL LETTER F + 0x67: [470,209,504,17,455], // LATIN SMALL LETTER G + 0x68: [688,205,521,77,434], // LATIN SMALL LETTER H + 0x69: [673,20,279,14,267], // LATIN SMALL LETTER I + 0x6A: [672,208,281,-9,196], // LATIN SMALL LETTER J + 0x6B: [689,25,389,24,362], // LATIN SMALL LETTER K + 0x6C: [685,20,280,98,276], // LATIN SMALL LETTER L + 0x6D: [475,26,767,8,753], // LATIN SMALL LETTER M + 0x6E: [475,22,527,20,514], // LATIN SMALL LETTER N + 0x6F: [480,28,489,67,412], // LATIN SMALL LETTER O + 0x70: [541,212,500,12,430], // LATIN SMALL LETTER P + 0x71: [479,219,489,60,419], // LATIN SMALL LETTER Q + 0x72: [474,21,389,17,387], // LATIN SMALL LETTER R + 0x73: [478,29,443,-18,406], // LATIN SMALL LETTER S + 0x74: [640,20,333,27,348], // LATIN SMALL LETTER T + 0x75: [474,23,517,9,513], // LATIN SMALL LETTER U + 0x76: [530,28,512,55,434], // LATIN SMALL LETTER V + 0x77: [532,28,774,45,688], // LATIN SMALL LETTER W + 0x78: [472,188,389,10,363], // LATIN SMALL LETTER X + 0x79: [528,218,499,45,431], // LATIN SMALL LETTER Y + 0x7A: [471,214,391,-7,314], // LATIN SMALL LETTER Z + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2018: [708,-410,215,45,158], // LEFT SINGLE QUOTATION MARK + 0x2019: [692,-395,215,49,163], // RIGHT SINGLE QUOTATION MARK + 0xE300: [683,32,497,75,430], // stix-capital Gamma, Greek slashed + 0xE301: [616,30,498,35,432], // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED + 0xE302: [680,215,333,29,339], // stix-capital Delta, Greek slashed + 0xE303: [679,224,329,28,318], // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED + 0xE304: [471,214,503,52,449], // stix-capital Epsilon, Greek slashed + 0xE305: [686,20,333,26,315], // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED + 0xE306: [577,21,334,29,347], // stix-capital Zeta, Greek slashed + 0xE307: [475,22,501,10,514] // stix-MATHEMATICAL BOLD CAPITAL ZETA SLASHED +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js new file mode 100644 index 00000000..404ac2fc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js @@ -0,0 +1,208 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Main-Bold.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + + +(function (CHTML) { + +var font = 'MathJax_Main-Bold'; + +MathJax.Hub.Insert(CHTML.FONTDATA.FONTS[font],{ + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA8: [695,-535,575,96,478], // DIAERESIS + 0xAC: [371,-61,767,64,702], // NOT SIGN + 0xAF: [607,-540,575,80,494], // MACRON + 0xB0: [702,-536,575,160,414], // DEGREE SIGN + 0xB1: [728,35,894,64,829], // PLUS-MINUS SIGN + 0xB4: [706,-503,575,236,460], // ACUTE ACCENT + 0xD7: [530,28,894,168,726], // MULTIPLICATION SIGN + 0xF7: [597,96,894,64,828], // DIVISION SIGN + 0x131: [452,8,394,24,367], // LATIN SMALL LETTER DOTLESS I + 0x237: [451,201,439,-12,420], // LATIN SMALL LETTER DOTLESS J + 0x2C6: [694,-520,575,126,448], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [660,-515,575,130,444], // CARON + 0x2C9: [607,-540,575,80,494], // MODIFIER LETTER MACRON + 0x2CA: [706,-503,575,236,460], // MODIFIER LETTER ACUTE ACCENT + 0x2CB: [706,-503,575,114,338], // MODIFIER LETTER GRAVE ACCENT + 0x2D8: [694,-500,575,102,472], // BREVE + 0x2D9: [695,-525,575,202,372], // DOT ABOVE + 0x2DA: [702,-536,575,160,414], // RING ABOVE + 0x2DC: [694,-552,575,96,478], // SMALL TILDE + 0x300: [706,-503,0,-461,-237], // COMBINING GRAVE ACCENT + 0x301: [706,-503,0,-339,-115], // COMBINING ACUTE ACCENT + 0x302: [694,-520,0,-449,-127], // COMBINING CIRCUMFLEX ACCENT + 0x303: [694,-552,0,-479,-97], // COMBINING TILDE + 0x304: [607,-540,0,-495,-81], // COMBINING MACRON + 0x306: [694,-500,0,-473,-103], // COMBINING BREVE + 0x307: [695,-525,0,-373,-203], // COMBINING DOT ABOVE + 0x308: [695,-535,0,-479,-97], // COMBINING DIAERESIS + 0x30A: [702,-536,0,-415,-161], // COMBINING RING ABOVE + 0x30B: [714,-511,0,-442,-82], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [660,-515,0,-445,-131], // COMBINING CARON + 0x338: [711,210,0,-734,-161], // COMBINING LONG SOLIDUS OVERLAY + 0x2002: [0,0,500,0,0], // ?? + 0x2003: [0,0,999,0,0], // ?? + 0x2004: [0,0,333,0,0], // ?? + 0x2005: [0,0,250,0,0], // ?? + 0x2006: [0,0,167,0,0], // ?? + 0x2009: [0,0,167,0,0], // ?? + 0x200A: [0,0,83,0,0], // ?? + 0x2013: [300,-249,575,0,574], // EN DASH + 0x2014: [300,-249,1150,0,1149], // EM DASH + 0x2018: [694,-329,319,58,245], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-329,319,74,261], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-329,603,110,564], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-329,603,38,492], // RIGHT DOUBLE QUOTATION MARK + 0x2020: [702,211,511,64,446], // DAGGER + 0x2021: [702,202,511,64,446], // DOUBLE DAGGER + 0x2026: [171,-1,1295,74,1221], // HORIZONTAL ELLIPSIS + 0x2032: [563,-33,344,35,331], // PRIME + 0x20D7: [723,-513,0,-542,-33], // COMBINING RIGHT ARROW ABOVE + 0x210F: [694,8,668,45,642], // stix-/hbar - Planck's over 2pi + 0x2111: [702,8,831,64,798], // BLACK-LETTER CAPITAL I + 0x2113: [702,19,474,-1,446], // SCRIPT SMALL L + 0x2118: [461,210,740,72,726], // SCRIPT CAPITAL P + 0x211C: [711,16,831,42,824], // BLACK-LETTER CAPITAL R + 0x2135: [694,0,703,64,638], // ALEF SYMBOL + 0x2190: [518,17,1150,64,1084], // LEFTWARDS ARROW + 0x2191: [694,193,575,14,561], // UPWARDS ARROW + 0x2192: [518,17,1150,65,1085], // RIGHTWARDS ARROW + 0x2193: [694,194,575,14,561], // DOWNWARDS ARROW + 0x2194: [518,17,1150,64,1085], // LEFT RIGHT ARROW + 0x2195: [767,267,575,14,561], // UP DOWN ARROW + 0x2196: [724,194,1150,64,1084], // NORTH WEST ARROW + 0x2197: [724,193,1150,64,1085], // NORTH EAST ARROW + 0x2198: [694,224,1150,65,1085], // SOUTH EAST ARROW + 0x2199: [694,224,1150,64,1085], // SOUTH WEST ARROW + 0x21A6: [518,17,1150,65,1085], // RIGHTWARDS ARROW FROM BAR + 0x21A9: [518,17,1282,64,1218], // LEFTWARDS ARROW WITH HOOK + 0x21AA: [518,17,1282,65,1217], // RIGHTWARDS ARROW WITH HOOK + 0x21BC: [518,-220,1150,64,1084], // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BD: [281,17,1150,64,1084], // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C0: [518,-220,1150,65,1085], // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C1: [281,17,1150,64,1085], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21CC: [718,17,1150,64,1085], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21D0: [547,46,1150,64,1085], // LEFTWARDS DOUBLE ARROW + 0x21D1: [694,193,703,30,672], // UPWARDS DOUBLE ARROW + 0x21D2: [547,46,1150,64,1084], // RIGHTWARDS DOUBLE ARROW + 0x21D3: [694,194,703,30,672], // DOWNWARDS DOUBLE ARROW + 0x21D4: [547,46,1150,47,1102], // LEFT RIGHT DOUBLE ARROW + 0x21D5: [767,267,703,30,672], // UP DOWN DOUBLE ARROW + 0x2200: [694,16,639,1,640], // FOR ALL + 0x2202: [710,17,628,60,657], // PARTIAL DIFFERENTIAL + 0x2203: [694,-1,639,64,574], // THERE EXISTS + 0x2205: [767,73,575,46,528], // EMPTY SET + 0x2207: [686,24,958,56,901], // NABLA + 0x2208: [587,86,767,97,670], // ELEMENT OF + 0x2209: [711,210,767,97,670], // stix-negated (vert) set membership, variant + 0x220B: [587,86,767,96,670], // CONTAINS AS MEMBER + 0x2212: [281,-221,894,96,797], // MINUS SIGN + 0x2213: [537,227,894,64,829], // MINUS-OR-PLUS SIGN + 0x2215: [750,250,575,63,511], // DIVISION SLASH + 0x2216: [750,250,575,63,511], // SET MINUS + 0x2217: [472,-28,575,73,501], // ASTERISK OPERATOR + 0x2218: [474,-28,575,64,510], // RING OPERATOR + 0x2219: [474,-28,575,64,510], // BULLET OPERATOR + 0x221A: [820,180,958,78,988], // SQUARE ROOT + 0x221D: [451,8,894,65,830], // PROPORTIONAL TO + 0x221E: [452,8,1150,65,1084], // INFINITY + 0x2220: [714,0,722,55,676], // ANGLE + 0x2223: [750,249,319,129,190], // DIVIDES + 0x2225: [750,248,575,145,430], // PARALLEL TO + 0x2227: [604,17,767,64,702], // LOGICAL AND + 0x2228: [604,16,767,64,702], // LOGICAL OR + 0x2229: [603,16,767,64,702], // stix-intersection, serifs + 0x222A: [604,16,767,64,702], // stix-union, serifs + 0x222B: [711,211,569,64,632], // INTEGRAL + 0x223C: [391,-109,894,64,828], // TILDE OPERATOR + 0x2240: [583,82,319,64,254], // WREATH PRODUCT + 0x2243: [502,3,894,64,829], // ASYMPTOTICALLY EQUAL TO + 0x2245: [638,27,1000,64,829], // APPROXIMATELY EQUAL TO + 0x2248: [524,-32,894,64,829], // ALMOST EQUAL TO + 0x224D: [533,32,894,64,829], // EQUIVALENT TO + 0x2250: [721,-109,894,64,829], // APPROACHES THE LIMIT + 0x2260: [711,210,894,64,829], // stix-not (vert) equals + 0x2261: [505,3,894,64,829], // IDENTICAL TO + 0x2264: [697,199,894,96,797], // LESS-THAN OR EQUAL TO + 0x2265: [697,199,894,96,797], // GREATER-THAN OR EQUAL TO + 0x226A: [617,116,1150,64,1085], // MUCH LESS-THAN + 0x226B: [618,116,1150,64,1085], // MUCH GREATER-THAN + 0x227A: [585,86,894,96,797], // PRECEDES + 0x227B: [586,86,894,96,797], // SUCCEEDS + 0x2282: [587,85,894,96,797], // SUBSET OF + 0x2283: [587,86,894,96,796], // SUPERSET OF + 0x2286: [697,199,894,96,797], // SUBSET OF OR EQUAL TO + 0x2287: [697,199,894,96,796], // SUPERSET OF OR EQUAL TO + 0x228E: [604,16,767,64,702], // MULTISET UNION + 0x2291: [697,199,894,96,828], // SQUARE IMAGE OF OR EQUAL TO + 0x2292: [697,199,894,66,797], // SQUARE ORIGINAL OF OR EQUAL TO + 0x2293: [604,-1,767,70,696], // stix-square intersection, serifs + 0x2294: [604,-1,767,70,696], // stix-square union, serifs + 0x2295: [632,132,894,64,828], // stix-circled plus (with rim) + 0x2296: [632,132,894,64,828], // CIRCLED MINUS + 0x2297: [632,132,894,64,828], // stix-circled times (with rim) + 0x2298: [632,132,894,64,828], // CIRCLED DIVISION SLASH + 0x2299: [632,132,894,64,828], // CIRCLED DOT OPERATOR + 0x22A2: [693,-1,703,65,637], // RIGHT TACK + 0x22A3: [693,-1,703,64,638], // LEFT TACK + 0x22A4: [694,-1,894,64,829], // DOWN TACK + 0x22A5: [693,-1,894,65,829], // UP TACK + 0x22A8: [750,249,974,129,918], // TRUE + 0x22C4: [523,21,575,15,560], // DIAMOND OPERATOR + 0x22C5: [336,-166,319,74,245], // DOT OPERATOR + 0x22C6: [502,0,575,24,550], // STAR OPERATOR + 0x22C8: [540,39,1000,33,967], // BOWTIE + 0x22EE: [951,29,319,74,245], // VERTICAL ELLIPSIS + 0x22EF: [336,-166,1295,74,1221], // MIDLINE HORIZONTAL ELLIPSIS + 0x22F1: [871,-101,1323,129,1194], // DOWN RIGHT DIAGONAL ELLIPSIS + 0x2308: [750,248,511,194,493], // LEFT CEILING + 0x2309: [750,248,511,17,317], // RIGHT CEILING + 0x230A: [749,248,511,194,493], // LEFT FLOOR + 0x230B: [749,248,511,17,317], // RIGHT FLOOR + 0x2322: [405,-108,1150,65,1084], // stix-small down curve + 0x2323: [392,-126,1150,64,1085], // stix-small up curve + 0x25B3: [711,-1,1022,69,953], // WHITE UP-POINTING TRIANGLE + 0x25B9: [540,39,575,33,542], // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25BD: [500,210,1022,68,953], // WHITE DOWN-POINTING TRIANGLE + 0x25C3: [539,38,575,33,542], // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25EF: [711,211,1150,65,1084], // LARGE CIRCLE + 0x2660: [719,129,894,64,829], // BLACK SPADE SUIT + 0x2661: [711,24,894,65,828], // WHITE HEART SUIT + 0x2662: [719,154,894,64,828], // WHITE DIAMOND SUIT + 0x2663: [719,129,894,32,861], // BLACK CLUB SUIT + 0x266D: [750,17,447,64,381], // MUSIC FLAT SIGN + 0x266E: [741,223,447,57,389], // MUSIC NATURAL SIGN + 0x266F: [724,224,447,63,382], // MUSIC SHARP SIGN + 0x27E8: [750,249,447,127,382], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [750,249,447,64,319], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27F5: [518,17,1805,64,1741], // LONG LEFTWARDS ARROW + 0x27F6: [518,17,1833,96,1773], // LONG RIGHTWARDS ARROW + 0x27F7: [518,17,2126,64,2061], // LONG LEFT RIGHT ARROW + 0x27F8: [547,46,1868,64,1804], // LONG LEFTWARDS DOUBLE ARROW + 0x27F9: [547,46,1870,64,1804], // LONG RIGHTWARDS DOUBLE ARROW + 0x27FA: [547,46,2126,64,2060], // LONG LEFT RIGHT DOUBLE ARROW + 0x27FC: [518,17,1833,65,1773], // LONG RIGHTWARDS ARROW FROM BAR + 0x2A3F: [686,0,900,39,860], // AMALGAMATION OR COPRODUCT + 0x2AAF: [696,199,894,96,797], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [697,199,894,96,797] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN +}); + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js new file mode 100644 index 00000000..13cfbc6d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Math-BoldItalic.js @@ -0,0 +1,208 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Math-BoldItalic'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 255, ascent: 725, descent: 216, + weight: 'bold', + style: 'italic', + skew: { + 0x41: 0.16, + 0x42: 0.0958, + 0x43: 0.0958, + 0x44: 0.0639, + 0x45: 0.0958, + 0x46: 0.0958, + 0x47: 0.0958, + 0x48: 0.0639, + 0x49: 0.128, + 0x4A: 0.192, + 0x4B: 0.0639, + 0x4C: 0.0319, + 0x4D: 0.0958, + 0x4E: 0.0958, + 0x4F: 0.0958, + 0x50: 0.0958, + 0x51: 0.0958, + 0x52: 0.0958, + 0x53: 0.0958, + 0x54: 0.0958, + 0x55: 0.0319, + 0x58: 0.0958, + 0x5A: 0.0958, + 0x63: 0.0639, + 0x64: 0.192, + 0x65: 0.0639, + 0x66: 0.192, + 0x67: 0.0319, + 0x68: -0.0319, + 0x6C: 0.0958, + 0x6F: 0.0639, + 0x70: 0.0958, + 0x71: 0.0958, + 0x72: 0.0639, + 0x73: 0.0639, + 0x74: 0.0958, + 0x75: 0.0319, + 0x76: 0.0319, + 0x77: 0.0958, + 0x78: 0.0319, + 0x79: 0.0639, + 0x7A: 0.0639, + 0x393: 0.0958, + 0x394: 0.192, + 0x398: 0.0958, + 0x39B: 0.192, + 0x39E: 0.0958, + 0x3A0: 0.0639, + 0x3A3: 0.0958, + 0x3A5: 0.0639, + 0x3A6: 0.0958, + 0x3A8: 0.0639, + 0x3A9: 0.0958, + 0x3B1: 0.0319, + 0x3B2: 0.0958, + 0x3B4: 0.0639, + 0x3B5: 0.0958, + 0x3B6: 0.0958, + 0x3B7: 0.0639, + 0x3B8: 0.0958, + 0x3B9: 0.0639, + 0x3BC: 0.0319, + 0x3BD: 0.0319, + 0x3BE: 0.128, + 0x3BF: 0.0639, + 0x3C1: 0.0958, + 0x3C2: 0.0958, + 0x3C4: 0.0319, + 0x3C5: 0.0319, + 0x3C6: 0.0958, + 0x3C7: 0.0639, + 0x3C8: 0.128, + 0x3D1: 0.0958, + 0x3D5: 0.0958, + 0x3F1: 0.0958, + 0x3F5: 0.0639 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x2F: [711,210,894,160,733], // SOLIDUS + 0x41: [711,0,869,45,839], // LATIN CAPITAL LETTER A + 0x42: [686,0,866,43,853], // LATIN CAPITAL LETTER B + 0x43: [703,17,817,55,855], // LATIN CAPITAL LETTER C + 0x44: [686,0,938,43,914], // LATIN CAPITAL LETTER D + 0x45: [680,0,810,43,825], // LATIN CAPITAL LETTER E + 0x46: [680,0,689,43,809], // LATIN CAPITAL LETTER F + 0x47: [703,16,887,56,854], // LATIN CAPITAL LETTER G + 0x48: [686,0,982,43,1027], // LATIN CAPITAL LETTER H + 0x49: [686,0,511,30,573], // LATIN CAPITAL LETTER I + 0x4A: [686,17,631,42,694], // LATIN CAPITAL LETTER J + 0x4B: [686,0,971,43,1003], // LATIN CAPITAL LETTER K + 0x4C: [686,0,756,43,711], // LATIN CAPITAL LETTER L + 0x4D: [686,0,1142,43,1219], // LATIN CAPITAL LETTER M + 0x4E: [686,0,950,43,1027], // LATIN CAPITAL LETTER N + 0x4F: [703,17,837,53,815], // LATIN CAPITAL LETTER O + 0x50: [686,0,723,43,847], // LATIN CAPITAL LETTER P + 0x51: [703,194,869,53,815], // LATIN CAPITAL LETTER Q + 0x52: [686,17,872,43,881], // LATIN CAPITAL LETTER R + 0x53: [703,17,693,63,714], // LATIN CAPITAL LETTER S + 0x54: [675,0,637,22,772], // LATIN CAPITAL LETTER T + 0x55: [686,16,800,63,877], // LATIN CAPITAL LETTER U + 0x56: [686,16,678,62,886], // LATIN CAPITAL LETTER V + 0x57: [686,17,1093,61,1207], // LATIN CAPITAL LETTER W + 0x58: [686,0,947,38,953], // LATIN CAPITAL LETTER X + 0x59: [686,0,675,40,876], // LATIN CAPITAL LETTER Y + 0x5A: [686,0,773,68,805], // LATIN CAPITAL LETTER Z + 0x61: [452,8,633,38,607], // LATIN SMALL LETTER A + 0x62: [694,8,521,45,513], // LATIN SMALL LETTER B + 0x63: [451,8,513,40,509], // LATIN SMALL LETTER C + 0x64: [694,8,610,38,612], // LATIN SMALL LETTER D + 0x65: [452,8,554,42,509], // LATIN SMALL LETTER E + 0x66: [701,201,568,64,624], // LATIN SMALL LETTER F + 0x67: [452,202,545,0,540], // LATIN SMALL LETTER G + 0x68: [694,8,668,45,642], // LATIN SMALL LETTER H + 0x69: [694,8,405,24,367], // LATIN SMALL LETTER I + 0x6A: [694,202,471,-12,456], // LATIN SMALL LETTER J + 0x6B: [694,8,604,45,578], // LATIN SMALL LETTER K + 0x6C: [694,8,348,27,296], // LATIN SMALL LETTER L + 0x6D: [452,8,1032,24,1006], // LATIN SMALL LETTER M + 0x6E: [452,8,713,24,687], // LATIN SMALL LETTER N + 0x6F: [452,8,585,39,576], // LATIN SMALL LETTER O + 0x70: [452,194,601,-23,593], // LATIN SMALL LETTER P + 0x71: [452,194,542,38,550], // LATIN SMALL LETTER Q + 0x72: [452,8,529,24,500], // LATIN SMALL LETTER R + 0x73: [451,8,531,57,476], // LATIN SMALL LETTER S + 0x74: [643,7,415,21,387], // LATIN SMALL LETTER T + 0x75: [452,8,681,24,655], // LATIN SMALL LETTER U + 0x76: [453,8,567,24,540], // LATIN SMALL LETTER V + 0x77: [453,8,831,24,796], // LATIN SMALL LETTER W + 0x78: [452,8,659,43,599], // LATIN SMALL LETTER X + 0x79: [452,202,590,24,587], // LATIN SMALL LETTER Y + 0x7A: [452,8,555,34,539], // LATIN SMALL LETTER Z + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,0,657,43,777], // GREEK CAPITAL LETTER GAMMA + 0x394: [711,0,958,59,904], // GREEK CAPITAL LETTER DELTA + 0x398: [702,17,867,54,844], // GREEK CAPITAL LETTER THETA + 0x39B: [711,0,806,44,776], // GREEK CAPITAL LETTER LAMDA + 0x39E: [675,0,841,62,867], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,982,43,1026], // GREEK CAPITAL LETTER PI + 0x3A3: [686,0,885,69,902], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [703,0,671,32,802], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [686,0,767,29,737], // GREEK CAPITAL LETTER PHI + 0x3A8: [686,0,714,22,790], // GREEK CAPITAL LETTER PSI + 0x3A9: [703,0,879,93,886], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [452,8,761,39,712], // GREEK SMALL LETTER ALPHA + 0x3B2: [701,194,660,28,637], // GREEK SMALL LETTER BETA + 0x3B3: [451,211,590,5,617], // GREEK SMALL LETTER GAMMA + 0x3B4: [725,8,522,39,513], // GREEK SMALL LETTER DELTA + 0x3B5: [461,17,529,36,481], // GREEK SMALL LETTER EPSILON + 0x3B6: [711,202,508,48,521], // GREEK SMALL LETTER ZETA + 0x3B7: [452,211,600,24,600], // GREEK SMALL LETTER ETA + 0x3B8: [702,8,562,40,554], // GREEK SMALL LETTER THETA + 0x3B9: [452,8,412,38,386], // GREEK SMALL LETTER IOTA + 0x3BA: [452,8,668,45,642], // GREEK SMALL LETTER KAPPA + 0x3BB: [694,13,671,40,652], // GREEK SMALL LETTER LAMDA + 0x3BC: [452,211,708,33,682], // GREEK SMALL LETTER MU + 0x3BD: [452,2,577,38,608], // GREEK SMALL LETTER NU + 0x3BE: [711,201,508,23,490], // GREEK SMALL LETTER XI + 0x3BF: [452,8,585,39,576], // GREEK SMALL LETTER OMICRON + 0x3C0: [444,8,682,23,674], // GREEK SMALL LETTER PI + 0x3C1: [451,211,612,34,603], // GREEK SMALL LETTER RHO + 0x3C2: [451,105,424,33,457], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [444,8,686,35,677], // GREEK SMALL LETTER SIGMA + 0x3C4: [444,13,521,23,610], // GREEK SMALL LETTER TAU + 0x3C5: [453,8,631,24,604], // GREEK SMALL LETTER UPSILON + 0x3C6: [452,216,747,53,703], // GREEK SMALL LETTER PHI + 0x3C7: [452,201,718,32,685], // GREEK SMALL LETTER CHI + 0x3C8: [694,202,758,24,732], // GREEK SMALL LETTER PSI + 0x3C9: [453,8,718,24,691], // GREEK SMALL LETTER OMEGA + 0x3D1: [701,8,692,24,656], // GREEK THETA SYMBOL + 0x3D5: [694,202,712,51,693], // GREEK PHI SYMBOL + 0x3D6: [444,8,975,23,961], // GREEK PI SYMBOL + 0x3F1: [451,194,612,75,603], // GREEK RHO SYMBOL + 0x3F5: [444,7,483,44,450] // GREEK LUNATE EPSILON SYMBOL +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js new file mode 100644 index 00000000..de133ed5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js @@ -0,0 +1,152 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/SansSerif-Bold.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_SansSerif-Bold'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 250, ascent: 750, descent: 250, + weight: 'bold', + 0x20: [0,0,250,0,0], // SPACE + 0x21: [694,0,367,110,256], // EXCLAMATION MARK + 0x22: [694,-442,558,37,420], // QUOTATION MARK + 0x23: [694,193,917,61,855], // NUMBER SIGN + 0x24: [750,56,550,49,488], // DOLLAR SIGN + 0x25: [750,56,1029,61,966], // PERCENT SIGN + 0x26: [716,22,831,47,769], // AMPERSAND + 0x27: [694,-442,306,80,226], // APOSTROPHE + 0x28: [750,249,428,79,366], // LEFT PARENTHESIS + 0x29: [750,250,428,61,348], // RIGHT PARENTHESIS + 0x2A: [750,-293,550,67,482], // ASTERISK + 0x2B: [617,116,856,61,794], // PLUS SIGN + 0x2C: [146,106,306,80,226], // COMMA + 0x2D: [273,-186,367,12,305], // HYPHEN-MINUS + 0x2E: [146,0,306,80,226], // FULL STOP + 0x2F: [750,249,550,61,488], // SOLIDUS + 0x30: [715,22,550,43,506], // DIGIT ZERO + 0x31: [716,-1,550,76,473], // DIGIT ONE + 0x32: [716,0,550,46,495], // DIGIT TWO + 0x33: [716,22,550,46,503], // DIGIT THREE + 0x34: [694,0,550,31,518], // DIGIT FOUR + 0x35: [694,22,550,37,494], // DIGIT FIVE + 0x36: [716,22,550,46,503], // DIGIT SIX + 0x37: [695,11,550,46,503], // DIGIT SEVEN + 0x38: [715,22,550,46,503], // DIGIT EIGHT + 0x39: [716,22,550,46,503], // DIGIT NINE + 0x3A: [458,0,306,80,226], // COLON + 0x3B: [458,106,306,80,226], // SEMICOLON + 0x3D: [407,-94,856,61,794], // EQUALS SIGN + 0x3F: [705,0,519,61,457], // QUESTION MARK + 0x40: [704,11,733,61,671], // COMMERCIAL AT + 0x41: [694,0,733,42,690], // LATIN CAPITAL LETTER A + 0x42: [694,-1,733,92,671], // LATIN CAPITAL LETTER B + 0x43: [704,11,703,61,647], // LATIN CAPITAL LETTER C + 0x44: [694,-1,794,92,732], // LATIN CAPITAL LETTER D + 0x45: [691,0,642,92,595], // LATIN CAPITAL LETTER E + 0x46: [691,0,611,92,564], // LATIN CAPITAL LETTER F + 0x47: [705,11,733,61,659], // LATIN CAPITAL LETTER G + 0x48: [694,0,794,92,702], // LATIN CAPITAL LETTER H + 0x49: [694,0,331,85,246], // LATIN CAPITAL LETTER I + 0x4A: [694,22,519,46,427], // LATIN CAPITAL LETTER J + 0x4B: [694,0,764,92,701], // LATIN CAPITAL LETTER K + 0x4C: [694,0,581,92,534], // LATIN CAPITAL LETTER L + 0x4D: [694,0,978,92,886], // LATIN CAPITAL LETTER M + 0x4E: [694,0,794,92,702], // LATIN CAPITAL LETTER N + 0x4F: [716,22,794,62,731], // LATIN CAPITAL LETTER O + 0x50: [694,0,703,92,641], // LATIN CAPITAL LETTER P + 0x51: [716,106,794,62,732], // LATIN CAPITAL LETTER Q + 0x52: [694,0,703,92,654], // LATIN CAPITAL LETTER R + 0x53: [716,22,611,49,549], // LATIN CAPITAL LETTER S + 0x54: [688,0,733,40,692], // LATIN CAPITAL LETTER T + 0x55: [694,22,764,92,672], // LATIN CAPITAL LETTER U + 0x56: [694,-1,733,27,705], // LATIN CAPITAL LETTER V + 0x57: [694,0,1039,24,1014], // LATIN CAPITAL LETTER W + 0x58: [694,0,733,37,694], // LATIN CAPITAL LETTER X + 0x59: [694,0,733,24,708], // LATIN CAPITAL LETTER Y + 0x5A: [694,0,672,61,616], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,343,79,318], // LEFT SQUARE BRACKET + 0x5D: [750,250,343,24,263], // RIGHT SQUARE BRACKET + 0x5E: [694,-537,550,108,441], // CIRCUMFLEX ACCENT + 0x5F: [-23,110,550,0,549], // LOW LINE + 0x61: [475,11,525,31,472], // LATIN SMALL LETTER A + 0x62: [694,10,561,54,523], // LATIN SMALL LETTER B + 0x63: [475,11,489,37,457], // LATIN SMALL LETTER C + 0x64: [694,11,561,37,507], // LATIN SMALL LETTER D + 0x65: [474,10,511,30,480], // LATIN SMALL LETTER E + 0x66: [705,0,336,29,381], // LATIN SMALL LETTER F + 0x67: [469,206,550,17,534], // LATIN SMALL LETTER G + 0x68: [694,0,561,53,508], // LATIN SMALL LETTER H + 0x69: [695,0,256,46,208], // LATIN SMALL LETTER I + 0x6A: [695,205,286,-71,232], // LATIN SMALL LETTER J + 0x6B: [694,0,531,63,496], // LATIN SMALL LETTER K + 0x6C: [694,0,256,54,201], // LATIN SMALL LETTER L + 0x6D: [469,0,867,53,815], // LATIN SMALL LETTER M + 0x6E: [468,0,561,53,508], // LATIN SMALL LETTER N + 0x6F: [474,11,550,32,518], // LATIN SMALL LETTER O + 0x70: [469,194,561,54,523], // LATIN SMALL LETTER P + 0x71: [469,194,561,37,507], // LATIN SMALL LETTER Q + 0x72: [469,0,372,54,356], // LATIN SMALL LETTER R + 0x73: [474,10,422,30,396], // LATIN SMALL LETTER S + 0x74: [589,10,404,20,373], // LATIN SMALL LETTER T + 0x75: [458,11,561,52,508], // LATIN SMALL LETTER U + 0x76: [458,0,500,26,473], // LATIN SMALL LETTER V + 0x77: [458,0,744,24,719], // LATIN SMALL LETTER W + 0x78: [458,0,500,24,475], // LATIN SMALL LETTER X + 0x79: [458,205,500,29,473], // LATIN SMALL LETTER Y + 0x7A: [458,0,476,31,442], // LATIN SMALL LETTER Z + 0x7E: [344,-198,550,92,457], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [458,0,256,54,201], // LATIN SMALL LETTER DOTLESS I + 0x237: [458,205,286,-71,232], // LATIN SMALL LETTER DOTLESS J + 0x300: [694,-537,0,-458,-218], // COMBINING GRAVE ACCENT + 0x301: [694,-537,0,-334,-93], // COMBINING ACUTE ACCENT + 0x302: [694,-537,0,-442,-109], // COMBINING CIRCUMFLEX ACCENT + 0x303: [694,-548,0,-458,-93], // COMBINING TILDE + 0x304: [660,-560,0,-474,-77], // COMBINING MACRON + 0x306: [694,-552,0,-470,-80], // COMBINING BREVE + 0x307: [695,-596,0,-356,-194], // COMBINING DOT ABOVE + 0x308: [695,-595,0,-459,-91], // COMBINING DIAERESIS + 0x30A: [694,-538,0,-365,-119], // COMBINING RING ABOVE + 0x30B: [694,-537,0,-440,-94], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [657,-500,0,-442,-109], // COMBINING CARON + 0x393: [691,0,581,92,534], // GREEK CAPITAL LETTER GAMMA + 0x394: [694,0,917,60,856], // GREEK CAPITAL LETTER DELTA + 0x398: [716,22,856,62,793], // GREEK CAPITAL LETTER THETA + 0x39B: [694,0,672,41,630], // GREEK CAPITAL LETTER LAMDA + 0x39E: [688,0,733,46,686], // GREEK CAPITAL LETTER XI + 0x3A0: [691,0,794,92,702], // GREEK CAPITAL LETTER PI + 0x3A3: [694,0,794,61,732], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [715,0,856,62,793], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [694,0,794,62,732], // GREEK CAPITAL LETTER PHI + 0x3A8: [694,0,856,61,794], // GREEK CAPITAL LETTER PSI + 0x3A9: [716,0,794,49,744], // GREEK CAPITAL LETTER OMEGA + 0x2013: [327,-240,550,0,549], // EN DASH + 0x2014: [327,-240,1100,0,1099], // EM DASH + 0x2018: [694,-443,306,81,226], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-442,306,80,226], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-443,558,138,520], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-442,558,37,420] // RIGHT DOUBLE QUOTATION MARK +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js new file mode 100644 index 00000000..28c6a6f4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js @@ -0,0 +1,152 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/SansSerif-Italic.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_SansSerif-Italic'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 250, ascent: 750, descent: 250, + style: 'italic', + 0x20: [0,0,250,0,0], // SPACE + 0x21: [694,0,319,110,355], // EXCLAMATION MARK + 0x22: [694,-471,500,133,472], // QUOTATION MARK + 0x23: [694,194,833,87,851], // NUMBER SIGN + 0x24: [750,56,500,56,565], // DOLLAR SIGN + 0x25: [750,56,833,165,815], // PERCENT SIGN + 0x26: [716,22,758,71,747], // AMPERSAND + 0x27: [694,-471,278,190,335], // APOSTROPHE + 0x28: [750,250,389,104,491], // LEFT PARENTHESIS + 0x29: [750,250,389,2,390], // RIGHT PARENTHESIS + 0x2A: [750,-306,500,156,568], // ASTERISK + 0x2B: [583,83,778,108,775], // PLUS SIGN + 0x2C: [98,125,278,63,209], // COMMA + 0x2D: [259,-186,333,51,332], // HYPHEN-MINUS + 0x2E: [98,0,278,90,209], // FULL STOP + 0x2F: [750,250,500,6,600], // SOLIDUS + 0x30: [678,22,500,88,549], // DIGIT ZERO + 0x31: [678,0,500,88,451], // DIGIT ONE + 0x32: [678,0,500,50,551], // DIGIT TWO + 0x33: [678,22,500,56,544], // DIGIT THREE + 0x34: [656,0,500,62,521], // DIGIT FOUR + 0x35: [656,22,500,50,555], // DIGIT FIVE + 0x36: [678,22,500,94,548], // DIGIT SIX + 0x37: [656,11,500,143,596], // DIGIT SEVEN + 0x38: [678,22,500,77,554], // DIGIT EIGHT + 0x39: [677,22,500,77,545], // DIGIT NINE + 0x3A: [444,0,278,90,282], // COLON + 0x3B: [444,125,278,63,282], // SEMICOLON + 0x3D: [370,-130,778,88,796], // EQUALS SIGN + 0x3F: [704,0,472,173,536], // QUESTION MARK + 0x40: [705,10,667,120,707], // COMMERCIAL AT + 0x41: [694,0,667,28,638], // LATIN CAPITAL LETTER A + 0x42: [694,0,667,90,696], // LATIN CAPITAL LETTER B + 0x43: [705,10,639,124,719], // LATIN CAPITAL LETTER C + 0x44: [694,0,722,88,747], // LATIN CAPITAL LETTER D + 0x45: [691,0,597,86,688], // LATIN CAPITAL LETTER E + 0x46: [691,0,569,86,673], // LATIN CAPITAL LETTER F + 0x47: [705,11,667,125,730], // LATIN CAPITAL LETTER G + 0x48: [694,0,708,86,768], // LATIN CAPITAL LETTER H + 0x49: [694,0,278,87,338], // LATIN CAPITAL LETTER I + 0x4A: [694,22,472,46,535], // LATIN CAPITAL LETTER J + 0x4B: [694,0,694,88,785], // LATIN CAPITAL LETTER K + 0x4C: [694,0,542,87,516], // LATIN CAPITAL LETTER L + 0x4D: [694,0,875,92,929], // LATIN CAPITAL LETTER M + 0x4E: [694,0,708,88,766], // LATIN CAPITAL LETTER N + 0x4F: [716,22,736,118,763], // LATIN CAPITAL LETTER O + 0x50: [694,0,639,88,690], // LATIN CAPITAL LETTER P + 0x51: [716,125,736,118,763], // LATIN CAPITAL LETTER Q + 0x52: [694,0,646,88,698], // LATIN CAPITAL LETTER R + 0x53: [716,22,556,54,609], // LATIN CAPITAL LETTER S + 0x54: [688,0,681,165,790], // LATIN CAPITAL LETTER T + 0x55: [694,22,688,131,747], // LATIN CAPITAL LETTER U + 0x56: [694,0,667,161,799], // LATIN CAPITAL LETTER V + 0x57: [694,0,944,161,1076], // LATIN CAPITAL LETTER W + 0x58: [694,0,667,14,758], // LATIN CAPITAL LETTER X + 0x59: [694,0,667,151,810], // LATIN CAPITAL LETTER Y + 0x5A: [694,0,611,55,702], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,289,41,425], // LEFT SQUARE BRACKET + 0x5D: [750,250,289,-31,353], // RIGHT SQUARE BRACKET + 0x5E: [694,-527,500,190,533], // CIRCUMFLEX ACCENT + 0x5F: [-38,114,500,50,565], // LOW LINE + 0x61: [461,10,481,61,473], // LATIN SMALL LETTER A + 0x62: [694,11,517,75,539], // LATIN SMALL LETTER B + 0x63: [460,11,444,75,499], // LATIN SMALL LETTER C + 0x64: [694,10,517,73,588], // LATIN SMALL LETTER D + 0x65: [460,11,444,71,472], // LATIN SMALL LETTER E + 0x66: [705,0,306,94,494], // LATIN SMALL LETTER F + 0x67: [455,206,500,12,568], // LATIN SMALL LETTER G + 0x68: [694,0,517,73,513], // LATIN SMALL LETTER H + 0x69: [680,0,239,74,315], // LATIN SMALL LETTER I + 0x6A: [680,204,267,-96,336], // LATIN SMALL LETTER J + 0x6B: [694,0,489,76,543], // LATIN SMALL LETTER K + 0x6C: [694,0,239,74,311], // LATIN SMALL LETTER L + 0x6D: [455,0,794,73,790], // LATIN SMALL LETTER M + 0x6E: [454,0,517,73,513], // LATIN SMALL LETTER N + 0x6F: [461,11,500,69,523], // LATIN SMALL LETTER O + 0x70: [455,194,517,34,538], // LATIN SMALL LETTER P + 0x71: [455,194,517,72,538], // LATIN SMALL LETTER Q + 0x72: [455,0,342,74,424], // LATIN SMALL LETTER R + 0x73: [461,11,383,35,436], // LATIN SMALL LETTER S + 0x74: [571,11,361,97,410], // LATIN SMALL LETTER T + 0x75: [444,10,517,90,537], // LATIN SMALL LETTER U + 0x76: [444,0,461,108,540], // LATIN SMALL LETTER V + 0x77: [444,0,683,108,762], // LATIN SMALL LETTER W + 0x78: [444,0,461,1,537], // LATIN SMALL LETTER X + 0x79: [444,205,461,1,540], // LATIN SMALL LETTER Y + 0x7A: [444,0,435,28,494], // LATIN SMALL LETTER Z + 0x7E: [327,-193,500,199,560], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [444,0,239,74,258], // LATIN SMALL LETTER DOTLESS I + 0x237: [444,204,267,-96,286], // LATIN SMALL LETTER DOTLESS J + 0x300: [694,-527,0,-270,-87], // COMBINING GRAVE ACCENT + 0x301: [694,-527,0,-190,63], // COMBINING ACUTE ACCENT + 0x302: [694,-527,0,-310,33], // COMBINING CIRCUMFLEX ACCENT + 0x303: [677,-543,0,-301,60], // COMBINING TILDE + 0x304: [631,-552,0,-314,64], // COMBINING MACRON + 0x306: [694,-508,0,-284,73], // COMBINING BREVE + 0x307: [680,-576,0,-180,-54], // COMBINING DOT ABOVE + 0x308: [680,-582,0,-273,40], // COMBINING DIAERESIS + 0x30A: [693,-527,0,-227,-2], // COMBINING RING ABOVE + 0x30B: [694,-527,0,-287,63], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [654,-487,0,-283,60], // COMBINING CARON + 0x393: [691,0,542,87,646], // GREEK CAPITAL LETTER GAMMA + 0x394: [694,0,833,42,790], // GREEK CAPITAL LETTER DELTA + 0x398: [715,22,778,119,804], // GREEK CAPITAL LETTER THETA + 0x39B: [694,0,611,28,582], // GREEK CAPITAL LETTER LAMDA + 0x39E: [688,0,667,42,765], // GREEK CAPITAL LETTER XI + 0x3A0: [691,0,708,86,768], // GREEK CAPITAL LETTER PI + 0x3A3: [694,0,722,55,813], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [716,0,778,173,843], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [694,0,722,124,743], // GREEK CAPITAL LETTER PHI + 0x3A8: [694,0,778,171,854], // GREEK CAPITAL LETTER PSI + 0x3A9: [716,0,722,44,769], // GREEK CAPITAL LETTER OMEGA + 0x2013: [312,-236,500,50,565], // EN DASH + 0x2014: [312,-236,1000,50,1065], // EM DASH + 0x2018: [694,-471,278,190,336], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-471,278,190,335], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-471,500,274,614], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-471,500,133,472] // RIGHT DOUBLE QUOTATION MARK +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js new file mode 100644 index 00000000..0d14a1b3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js @@ -0,0 +1,152 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/SansSerif-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_SansSerif'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 250, ascent: 750, descent: 250, + + 0x20: [0,0,250,0,0], // SPACE + 0x21: [694,0,319,110,208], // EXCLAMATION MARK + 0x22: [694,-471,500,32,325], // QUOTATION MARK + 0x23: [694,194,833,56,777], // NUMBER SIGN + 0x24: [750,56,500,44,444], // DOLLAR SIGN + 0x25: [750,56,833,56,776], // PERCENT SIGN + 0x26: [716,22,758,42,702], // AMPERSAND + 0x27: [694,-471,278,89,188], // APOSTROPHE + 0x28: [750,250,389,74,333], // LEFT PARENTHESIS + 0x29: [750,250,389,55,314], // RIGHT PARENTHESIS + 0x2A: [750,-306,500,63,436], // ASTERISK + 0x2B: [583,82,778,56,722], // PLUS SIGN + 0x2C: [98,125,278,89,188], // COMMA + 0x2D: [259,-186,333,11,277], // HYPHEN-MINUS + 0x2E: [98,0,278,90,188], // FULL STOP + 0x2F: [750,250,500,56,445], // SOLIDUS + 0x30: [678,22,500,39,460], // DIGIT ZERO + 0x31: [678,0,500,83,430], // DIGIT ONE + 0x32: [677,0,500,42,449], // DIGIT TWO + 0x33: [678,22,500,42,457], // DIGIT THREE + 0x34: [656,0,500,28,471], // DIGIT FOUR + 0x35: [656,21,500,33,449], // DIGIT FIVE + 0x36: [677,22,500,42,457], // DIGIT SIX + 0x37: [656,11,500,42,457], // DIGIT SEVEN + 0x38: [678,22,500,43,456], // DIGIT EIGHT + 0x39: [677,22,500,42,457], // DIGIT NINE + 0x3A: [444,0,278,90,188], // COLON + 0x3B: [444,125,278,89,188], // SEMICOLON + 0x3D: [370,-130,778,56,722], // EQUALS SIGN + 0x3F: [704,0,472,55,416], // QUESTION MARK + 0x40: [704,11,667,56,612], // COMMERCIAL AT + 0x41: [694,0,667,28,638], // LATIN CAPITAL LETTER A + 0x42: [694,0,667,90,610], // LATIN CAPITAL LETTER B + 0x43: [705,11,639,59,587], // LATIN CAPITAL LETTER C + 0x44: [694,0,722,88,666], // LATIN CAPITAL LETTER D + 0x45: [691,0,597,86,554], // LATIN CAPITAL LETTER E + 0x46: [691,0,569,86,526], // LATIN CAPITAL LETTER F + 0x47: [704,11,667,59,599], // LATIN CAPITAL LETTER G + 0x48: [694,0,708,86,621], // LATIN CAPITAL LETTER H + 0x49: [694,0,278,87,191], // LATIN CAPITAL LETTER I + 0x4A: [694,22,472,42,388], // LATIN CAPITAL LETTER J + 0x4B: [694,0,694,88,651], // LATIN CAPITAL LETTER K + 0x4C: [694,0,542,87,499], // LATIN CAPITAL LETTER L + 0x4D: [694,0,875,92,782], // LATIN CAPITAL LETTER M + 0x4E: [694,0,708,88,619], // LATIN CAPITAL LETTER N + 0x4F: [715,22,736,55,680], // LATIN CAPITAL LETTER O + 0x50: [694,0,639,88,583], // LATIN CAPITAL LETTER P + 0x51: [715,125,736,55,680], // LATIN CAPITAL LETTER Q + 0x52: [694,0,646,88,617], // LATIN CAPITAL LETTER R + 0x53: [716,22,556,44,500], // LATIN CAPITAL LETTER S + 0x54: [688,0,681,36,644], // LATIN CAPITAL LETTER T + 0x55: [694,22,688,87,600], // LATIN CAPITAL LETTER U + 0x56: [694,0,667,14,652], // LATIN CAPITAL LETTER V + 0x57: [694,0,944,14,929], // LATIN CAPITAL LETTER W + 0x58: [694,0,667,14,652], // LATIN CAPITAL LETTER X + 0x59: [694,0,667,3,663], // LATIN CAPITAL LETTER Y + 0x5A: [694,0,611,55,560], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,289,94,266], // LEFT SQUARE BRACKET + 0x5D: [750,250,289,22,194], // RIGHT SQUARE BRACKET + 0x5E: [694,-527,500,78,421], // CIRCUMFLEX ACCENT + 0x5F: [-38,114,500,0,499], // LOW LINE + 0x61: [460,10,481,38,407], // LATIN SMALL LETTER A + 0x62: [694,11,517,75,482], // LATIN SMALL LETTER B + 0x63: [460,10,444,34,415], // LATIN SMALL LETTER C + 0x64: [694,10,517,33,441], // LATIN SMALL LETTER D + 0x65: [461,10,444,28,415], // LATIN SMALL LETTER E + 0x66: [705,0,306,27,347], // LATIN SMALL LETTER F + 0x67: [455,206,500,28,485], // LATIN SMALL LETTER G + 0x68: [694,0,517,73,443], // LATIN SMALL LETTER H + 0x69: [680,0,239,67,171], // LATIN SMALL LETTER I + 0x6A: [680,205,267,-59,192], // LATIN SMALL LETTER J + 0x6B: [694,0,489,76,471], // LATIN SMALL LETTER K + 0x6C: [694,0,239,74,164], // LATIN SMALL LETTER L + 0x6D: [455,0,794,73,720], // LATIN SMALL LETTER M + 0x6E: [455,0,517,73,443], // LATIN SMALL LETTER N + 0x6F: [460,10,500,28,471], // LATIN SMALL LETTER O + 0x70: [455,194,517,75,483], // LATIN SMALL LETTER P + 0x71: [455,194,517,33,441], // LATIN SMALL LETTER Q + 0x72: [455,0,342,74,327], // LATIN SMALL LETTER R + 0x73: [460,10,383,28,360], // LATIN SMALL LETTER S + 0x74: [571,10,361,18,333], // LATIN SMALL LETTER T + 0x75: [444,10,517,73,443], // LATIN SMALL LETTER U + 0x76: [444,0,461,14,446], // LATIN SMALL LETTER V + 0x77: [444,0,683,14,668], // LATIN SMALL LETTER W + 0x78: [444,0,461,0,460], // LATIN SMALL LETTER X + 0x79: [444,204,461,14,446], // LATIN SMALL LETTER Y + 0x7A: [444,0,435,28,402], // LATIN SMALL LETTER Z + 0x7E: [327,-193,500,83,416], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [444,0,239,74,164], // LATIN SMALL LETTER DOTLESS I + 0x237: [444,205,267,-59,192], // LATIN SMALL LETTER DOTLESS J + 0x300: [694,-527,0,-417,-199], // COMBINING GRAVE ACCENT + 0x301: [694,-527,0,-302,-84], // COMBINING ACUTE ACCENT + 0x302: [694,-527,0,-422,-79], // COMBINING CIRCUMFLEX ACCENT + 0x303: [677,-543,0,-417,-84], // COMBINING TILDE + 0x304: [631,-552,0,-431,-70], // COMBINING MACRON + 0x306: [694,-508,0,-427,-74], // COMBINING BREVE + 0x307: [680,-576,0,-302,-198], // COMBINING DOT ABOVE + 0x308: [680,-582,0,-397,-104], // COMBINING DIAERESIS + 0x30A: [694,-527,0,-319,-99], // COMBINING RING ABOVE + 0x30B: [694,-527,0,-399,-84], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [654,-487,0,-422,-79], // COMBINING CARON + 0x393: [691,0,542,87,499], // GREEK CAPITAL LETTER GAMMA + 0x394: [694,0,833,42,790], // GREEK CAPITAL LETTER DELTA + 0x398: [716,21,778,56,722], // GREEK CAPITAL LETTER THETA + 0x39B: [694,0,611,28,582], // GREEK CAPITAL LETTER LAMDA + 0x39E: [688,0,667,42,624], // GREEK CAPITAL LETTER XI + 0x3A0: [691,0,708,86,621], // GREEK CAPITAL LETTER PI + 0x3A3: [694,0,722,55,666], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [716,0,778,55,722], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [694,0,722,55,666], // GREEK CAPITAL LETTER PHI + 0x3A8: [694,0,778,55,722], // GREEK CAPITAL LETTER PSI + 0x3A9: [716,0,722,44,677], // GREEK CAPITAL LETTER OMEGA + 0x2013: [312,-236,500,0,499], // EN DASH + 0x2014: [312,-236,1000,0,999], // EM DASH + 0x2018: [694,-471,278,90,189], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-471,278,89,188], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-471,500,174,467], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-471,500,32,325] // RIGHT DOUBLE QUOTATION MARK +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js new file mode 100644 index 00000000..d37e3721 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js @@ -0,0 +1,88 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Script-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Script'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 211, ascent: 735, descent: 314, + skew: { + 0x41: 0.389, + 0x42: 0.194, + 0x43: 0.278, + 0x44: 0.111, + 0x45: 0.139, + 0x46: 0.222, + 0x47: 0.25, + 0x48: 0.333, + 0x49: 0.333, + 0x4A: 0.417, + 0x4B: 0.361, + 0x4C: 0.306, + 0x4D: 0.444, + 0x4E: 0.389, + 0x4F: 0.167, + 0x50: 0.222, + 0x51: 0.278, + 0x52: 0.194, + 0x53: 0.333, + 0x54: 0.222, + 0x55: 0.25, + 0x56: 0.222, + 0x57: 0.25, + 0x58: 0.278, + 0x59: 0.194, + 0x5A: 0.306 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x41: [717,8,803,35,1016], // LATIN CAPITAL LETTER A + 0x42: [708,28,908,31,928], // LATIN CAPITAL LETTER B + 0x43: [728,26,666,26,819], // LATIN CAPITAL LETTER C + 0x44: [708,31,774,68,855], // LATIN CAPITAL LETTER D + 0x45: [707,8,562,46,718], // LATIN CAPITAL LETTER E + 0x46: [735,36,895,39,990], // LATIN CAPITAL LETTER F + 0x47: [717,37,610,12,738], // LATIN CAPITAL LETTER G + 0x48: [717,36,969,29,1241], // LATIN CAPITAL LETTER H + 0x49: [717,17,809,59,946], // LATIN CAPITAL LETTER I + 0x4A: [717,314,1052,92,1133], // LATIN CAPITAL LETTER J + 0x4B: [717,37,914,29,1204], // LATIN CAPITAL LETTER K + 0x4C: [717,17,874,14,1035], // LATIN CAPITAL LETTER L + 0x4D: [721,50,1080,30,1216], // LATIN CAPITAL LETTER M + 0x4E: [726,36,902,29,1208], // LATIN CAPITAL LETTER N + 0x4F: [707,8,738,96,805], // LATIN CAPITAL LETTER O + 0x50: [716,37,1013,90,1031], // LATIN CAPITAL LETTER P + 0x51: [717,17,883,54,885], // LATIN CAPITAL LETTER Q + 0x52: [717,17,850,-2,887], // LATIN CAPITAL LETTER R + 0x53: [708,36,868,29,1016], // LATIN CAPITAL LETTER S + 0x54: [735,37,747,92,996], // LATIN CAPITAL LETTER T + 0x55: [717,17,800,55,960], // LATIN CAPITAL LETTER U + 0x56: [717,17,622,56,850], // LATIN CAPITAL LETTER V + 0x57: [717,17,805,46,1026], // LATIN CAPITAL LETTER W + 0x58: [717,17,944,103,1131], // LATIN CAPITAL LETTER X + 0x59: [716,17,710,57,959], // LATIN CAPITAL LETTER Y + 0x5A: [717,16,821,83,1032], // LATIN CAPITAL LETTER Z + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js new file mode 100644 index 00000000..100287f4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js @@ -0,0 +1,155 @@ +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/Typewriter-Regular.js + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + * + */ + +(function (CHTML) { + +var font = 'MathJax_Typewriter'; + +CHTML.FONTDATA.FONTS[font] = { + className: CHTML.FONTDATA.familyName(font), + centerline: 233, ascent: 694, descent: 229, + + 0x20: [0,0,250,0,0], // SPACE + 0x21: [622,0,525,206,320], // EXCLAMATION MARK + 0x22: [623,-333,525,122,402], // QUOTATION MARK + 0x23: [611,0,525,36,489], // NUMBER SIGN + 0x24: [694,82,525,58,466], // DOLLAR SIGN + 0x25: [694,83,525,35,489], // PERCENT SIGN + 0x26: [622,11,525,28,490], // AMPERSAND + 0x27: [611,-287,525,175,349], // APOSTROPHE + 0x28: [694,82,525,166,437], // LEFT PARENTHESIS + 0x29: [694,82,525,87,358], // RIGHT PARENTHESIS + 0x2A: [520,-90,525,68,456], // ASTERISK + 0x2B: [531,-81,525,38,487], // PLUS SIGN + 0x2C: [140,139,525,173,353], // COMMA + 0x2D: [341,-271,525,57,468], // HYPHEN-MINUS + 0x2E: [140,-1,525,193,332], // FULL STOP + 0x2F: [694,83,525,58,466], // SOLIDUS + 0x30: [621,10,525,42,482], // DIGIT ZERO + 0x31: [622,-1,525,99,450], // DIGIT ONE + 0x32: [622,-1,525,52,472], // DIGIT TWO + 0x33: [622,11,525,44,479], // DIGIT THREE + 0x34: [624,-1,525,29,495], // DIGIT FOUR + 0x35: [611,10,525,52,472], // DIGIT FIVE + 0x36: [622,11,525,45,479], // DIGIT SIX + 0x37: [627,10,525,44,480], // DIGIT SEVEN + 0x38: [621,10,525,45,479], // DIGIT EIGHT + 0x39: [622,11,525,46,479], // DIGIT NINE + 0x3A: [431,-1,525,193,332], // COLON + 0x3B: [431,139,525,175,337], // SEMICOLON + 0x3C: [557,-55,525,57,468], // LESS-THAN SIGN + 0x3D: [417,-195,525,38,487], // EQUALS SIGN + 0x3E: [557,-55,525,57,468], // GREATER-THAN SIGN + 0x3F: [617,0,525,62,462], // QUESTION MARK + 0x40: [617,6,525,44,481], // COMMERCIAL AT + 0x41: [623,-1,525,28,496], // LATIN CAPITAL LETTER A + 0x42: [611,-1,525,17,482], // LATIN CAPITAL LETTER B + 0x43: [622,11,525,40,484], // LATIN CAPITAL LETTER C + 0x44: [611,-1,525,16,485], // LATIN CAPITAL LETTER D + 0x45: [611,-1,525,19,502], // LATIN CAPITAL LETTER E + 0x46: [611,-1,525,22,490], // LATIN CAPITAL LETTER F + 0x47: [622,11,525,38,496], // LATIN CAPITAL LETTER G + 0x48: [611,-1,525,16,508], // LATIN CAPITAL LETTER H + 0x49: [611,-1,525,72,452], // LATIN CAPITAL LETTER I + 0x4A: [611,11,525,57,479], // LATIN CAPITAL LETTER J + 0x4B: [611,-1,525,18,495], // LATIN CAPITAL LETTER K + 0x4C: [611,0,525,25,488], // LATIN CAPITAL LETTER L + 0x4D: [611,-1,525,12,512], // LATIN CAPITAL LETTER M + 0x4E: [611,0,525,20,504], // LATIN CAPITAL LETTER N + 0x4F: [621,10,525,56,468], // LATIN CAPITAL LETTER O + 0x50: [611,-1,525,19,480], // LATIN CAPITAL LETTER P + 0x51: [621,138,525,56,468], // LATIN CAPITAL LETTER Q + 0x52: [611,11,525,16,522], // LATIN CAPITAL LETTER R + 0x53: [622,11,525,52,472], // LATIN CAPITAL LETTER S + 0x54: [611,-1,525,26,498], // LATIN CAPITAL LETTER T + 0x55: [611,11,525,-3,528], // LATIN CAPITAL LETTER U + 0x56: [611,7,525,19,505], // LATIN CAPITAL LETTER V + 0x57: [611,7,525,12,512], // LATIN CAPITAL LETTER W + 0x58: [611,-1,525,28,495], // LATIN CAPITAL LETTER X + 0x59: [611,-1,525,20,505], // LATIN CAPITAL LETTER Y + 0x5A: [611,-1,525,48,481], // LATIN CAPITAL LETTER Z + 0x5B: [694,82,525,214,483], // LEFT SQUARE BRACKET + 0x5C: [694,83,525,58,466], // REVERSE SOLIDUS + 0x5D: [694,82,525,41,310], // RIGHT SQUARE BRACKET + 0x5E: [611,-460,525,96,428], // CIRCUMFLEX ACCENT + 0x5F: [-25,95,525,57,468], // LOW LINE + 0x60: [681,-357,525,176,350], // GRAVE ACCENT + 0x61: [439,6,525,48,524], // LATIN SMALL LETTER A + 0x62: [611,6,525,4,492], // LATIN SMALL LETTER B + 0x63: [440,6,525,66,466], // LATIN SMALL LETTER C + 0x64: [611,6,525,31,520], // LATIN SMALL LETTER D + 0x65: [440,6,525,48,464], // LATIN SMALL LETTER E + 0x66: [617,-1,525,35,437], // LATIN SMALL LETTER F + 0x67: [442,229,525,28,509], // LATIN SMALL LETTER G + 0x68: [611,-1,525,4,520], // LATIN SMALL LETTER H + 0x69: [612,-1,525,72,462], // LATIN SMALL LETTER I + 0x6A: [612,228,525,48,376], // LATIN SMALL LETTER J + 0x6B: [611,-1,525,13,507], // LATIN SMALL LETTER K + 0x6C: [611,-1,525,51,474], // LATIN SMALL LETTER L + 0x6D: [436,-1,525,-12,536], // LATIN SMALL LETTER M + 0x6E: [436,-1,525,4,520], // LATIN SMALL LETTER N + 0x6F: [440,6,525,52,472], // LATIN SMALL LETTER O + 0x70: [437,221,525,4,492], // LATIN SMALL LETTER P + 0x71: [437,221,525,34,545], // LATIN SMALL LETTER Q + 0x72: [437,-1,525,24,487], // LATIN SMALL LETTER R + 0x73: [440,6,525,72,458], // LATIN SMALL LETTER S + 0x74: [554,6,525,25,448], // LATIN SMALL LETTER T + 0x75: [431,5,525,4,520], // LATIN SMALL LETTER U + 0x76: [431,4,525,24,500], // LATIN SMALL LETTER V + 0x77: [431,4,525,16,508], // LATIN SMALL LETTER W + 0x78: [431,-1,525,29,495], // LATIN SMALL LETTER X + 0x79: [431,228,525,26,500], // LATIN SMALL LETTER Y + 0x7A: [431,-1,525,34,475], // LATIN SMALL LETTER Z + 0x7B: [694,83,525,50,475], // LEFT CURLY BRACKET + 0x7C: [694,82,525,228,297], // VERTICAL LINE + 0x7D: [694,83,525,49,475], // RIGHT CURLY BRACKET + 0x7E: [611,-466,525,87,437], // TILDE + 0x7F: [612,-519,525,104,421], // ?? + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [431,-1,525,72,462], // LATIN SMALL LETTER DOTLESS I + 0x237: [431,228,525,48,376], // LATIN SMALL LETTER DOTLESS J + 0x300: [611,-485,0,-409,-195], // COMBINING GRAVE ACCENT + 0x301: [611,-485,0,-331,-117], // COMBINING ACUTE ACCENT + 0x302: [611,-460,0,-429,-97], // COMBINING CIRCUMFLEX ACCENT + 0x303: [611,-466,0,-438,-88], // COMBINING TILDE + 0x304: [577,-500,0,-452,-74], // COMBINING MACRON + 0x306: [611,-504,0,-446,-79], // COMBINING BREVE + 0x308: [612,-519,0,-421,-104], // COMBINING DIAERESIS + 0x30A: [619,-499,0,-344,-182], // COMBINING RING ABOVE + 0x30C: [577,-449,0,-427,-99], // COMBINING CARON + 0x393: [611,0,525,25,488], // GREEK CAPITAL LETTER GAMMA + 0x394: [623,0,525,35,489], // GREEK CAPITAL LETTER DELTA + 0x398: [621,10,525,56,468], // GREEK CAPITAL LETTER THETA + 0x39B: [623,-1,525,30,495], // GREEK CAPITAL LETTER LAMDA + 0x39E: [611,-1,525,33,491], // GREEK CAPITAL LETTER XI + 0x3A0: [611,-1,525,16,508], // GREEK CAPITAL LETTER PI + 0x3A3: [611,-1,525,40,484], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [622,-1,525,38,486], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [611,-1,525,41,483], // GREEK CAPITAL LETTER PHI + 0x3A8: [611,-1,525,37,487], // GREEK CAPITAL LETTER PSI + 0x3A9: [622,-1,525,32,492], // GREEK CAPITAL LETTER OMEGA + 0x7E2: [611,-287,525,175,349], // ?? + 0x7E3: [681,-357,525,176,350], // ?? + 0x2032: [623,-334,525,211,313] // PRIME +}; + +CHTML.fontLoaded("TeX/"+font.substr(8)); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js new file mode 100644 index 00000000..f60b2a96 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js @@ -0,0 +1,240 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/fontdata-extra.js + * + * Adds extra stretchy characters to the TeX font data. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +(function (CHTML) { + var VERSION = "2.7.5"; + + var DELIMITERS = CHTML.FONTDATA.DELIMITERS; + + var MAIN = "MathJax_Main", + BOLD = "MathJax_Main-Bold", + AMS = "MathJax_AMS", + SIZE1 = "MathJax_Size1", + SIZE4 = "MathJax_Size4"; + var H = "H", V = "V"; + var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // remove extra height/depth added below + var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender + + var delim = { + 0x003D: // equal sign + { + dir: H, HW: [[.767,MAIN]], stretch: {rep:[0x003D,MAIN]} + }, + 0x219E: // left two-headed arrow + { + dir: H, HW: [[1,AMS]], stretch: {left:[0x219E,AMS], rep:ARROWREP} + }, + 0x21A0: // right two-headed arrow + { + dir: H, HW: [[1,AMS]], stretch: {right:[0x21A0,AMS], rep:ARROWREP} + }, + 0x21A4: // left arrow from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2190,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x21A5: // up arrow from bar + { + dir: V, HW: [], + stretch: {min:.6, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x2191,SIZE1]} + }, + 0x21A6: // right arrow from bar + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:ARROWREP, right:[0x2192,MAIN]} + }, + 0x21A7: // down arrow from bar + { + dir: V, HW: [], + stretch: {min:.6, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x21B0: // up arrow with top leftwards + { + dir: V, HW: [[.722,AMS]], + stretch: {top:[0x21B0,AMS], ext:[0x23D0,SIZE1,.097]} + }, + 0x21B1: // up arrow with top right + { + dir: V, HW: [[.722,AMS]], + stretch: {top:[0x21B1,AMS,.27], ext:[0x23D0,SIZE1]} + }, + 0x21BC: // left harpoon with barb up + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x21BC,MAIN], rep:ARROWREP} + }, + 0x21BD: // left harpoon with barb down + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x21BD,MAIN], rep:ARROWREP} + }, + 0x21BE: // up harpoon with barb right + { + dir: V, HW: [[.888,AMS]], + stretch: {top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21BF: // up harpoon with barb left + { + dir: V, HW: [[.888,AMS]], + stretch: {top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21C0: // right harpoon with barb up + { + dir: H, HW: [[1,MAIN]], + stretch: {right:[0x21C0,MAIN], rep:ARROWREP} + }, + 0x21C1: // right harpoon with barb down + { + dir: H, HW: [[1,MAIN]], + stretch: {right:[0x21C1,MAIN], rep:ARROWREP} + }, + 0x21C2: // down harpoon with barb right + { + dir: V, HW: [[.888,AMS]], + stretch: {bot:[0x21C2,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21C3: // down harpoon with barb left + { + dir: V, HW: [[.888,AMS]], + stretch: {bot:[0x21C3,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21DA: // left triple arrow + { + dir: H, HW: [[1,AMS]], + stretch: {left:[0x21DA,AMS], rep:[0x2261,MAIN]} + }, + 0x21DB: // right triple arrow + { + dir: H, HW: [[1,AMS]], + stretch: {right:[0x21DB,AMS], rep:[0x2261,MAIN]} + }, + 0x23B4: // top square bracket + { + dir: H, HW: [], + stretch: {min:.5, left:[0x250C,AMS,0,-.1], rep:[0x2212,MAIN,0,.35], right:[0x2510,AMS,0,-.1]} + }, + 0x23B5: // bottom square bracket + { + dir: H, HW: [], + stretch: {min:.5, left:[0x2514,AMS,0,.26], rep:[0x2212,MAIN,0,0,0,.25], right:[0x2518,AMS,0,.26]} + }, + 0x23DC: // top paren + { + dir: H, HW: [[.778,AMS,0,0x2322],[1,MAIN,0,0x2322]], + stretch: {left:[0xE150,SIZE4], rep:[0xE154,SIZE4], right:[0xE151,SIZE4]} + }, + 0x23DD: // bottom paren + { + dir: H, HW: [[.778,AMS,0,0x2323],[1,MAIN,0,0x2323]], + stretch: {left:[0xE152,SIZE4], rep:[0xE154,SIZE4], right:[0xE153,SIZE4]} + }, + 0x23E0: // top tortoise shell + { + dir: H, HW: [], + stretch: {min:1.25, left:[0x2CA,MAIN,-.1], rep:[0x2C9,MAIN,0,.13], right:[0x2CB,MAIN], fullExtenders:true} + }, + 0x23E1: // bottom tortoise shell + { + dir: H, HW: [], + stretch: {min:1.5, left:[0x2CB,MAIN,-.1,.1], rep:[0x2C9,MAIN], right:[0x2CA,MAIN,-.1,.1], fullExtenders:true} + }, + 0x2906: // leftwards double arrow from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21D0,MAIN], rep:DARROWREP, right:[0x2223,SIZE1,0,-.1]} + }, + 0x2907: // rightwards double arrow from bar + { + dir: H, HW: [], + stretch: {min:.7, left:[0x22A8,AMS,0,-.12], rep:DARROWREP, right:[0x21D2,MAIN]} + }, + 0x294E: // left barb up right barb up harpoon + { + dir: H, HW: [], + stretch: {min:.5, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x21C0,MAIN]} + }, + 0x294F: // up barb right down barb right harpoon + { + dir: V, HW: [], + stretch: {min:.5, top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} + }, + 0x2950: // left barb dow right barb down harpoon + { + dir: H, HW: [], + stretch: {min:.5, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x21C1,MAIN]} + }, + 0x2951: // up barb left down barb left harpoon + { + dir: V, HW: [], + stretch: {min:.5, top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} + }, + 0x295A: // leftwards harpoon with barb up from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x295B: // rightwards harpoon with barb up from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C0,MAIN]} + }, + 0x295C: // up harpoon with barb right from bar + { + dir: V, HW: [], + stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BE,AMS,.12,0,1.1]} + }, + 0x295D: // down harpoon with barb right from bar + { + dir: V, HW: [], + stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} + }, + 0x295E: // leftwards harpoon with barb down from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x295F: // rightwards harpoon with barb down from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C1,MAIN]} + }, + 0x2960: // up harpoon with barb left from bar + { + dir: V, HW: [], + stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BF,AMS,.12,0,1.1]} + }, + 0x2961: // down harpoon with barb left from bar + { + dir: V, HW: [], + stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} + } + }; + + for (var id in delim) {if (delim.hasOwnProperty(id)) {DELIMITERS[id] = delim[id]}}; + + CHTML.fontLoaded("TeX/fontdata-extra"); + +})(MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata.js new file mode 100644 index 00000000..c8e25afc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/fonts/TeX/fontdata.js @@ -0,0 +1,1784 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/fonts/TeX/fontdata.js + * + * Initializes the CommonHTML OutputJax to use the MathJax TeX fonts + * for displaying mathematics. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +(function (CHTML,MML,AJAX) { + var VERSION = "2.7.5"; + + var MAIN = "MathJax_Main", + BOLD = "MathJax_Main-Bold", + ITALIC = "MathJax_Math-Italic", + AMS = "MathJax_AMS", + SIZE1 = "MathJax_Size1", + SIZE2 = "MathJax_Size2", + SIZE3 = "MathJax_Size3", + SIZE4 = "MathJax_Size4"; + var H = "H", V = "V", EXTRAH = {load:"extra", dir:H}, EXTRAV = {load:"extra", dir:V}; + var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // remove extra height/depth added below + var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender + + var UNDEFINEDFAMILY = CHTML.config.undefinedFamily; + + MathJax.Hub.Insert(CHTML.config.styles,{ + ".MJXc-TeX-unknown-R": {"font-family":UNDEFINEDFAMILY, "font-style":"normal", "font-weight":"normal"}, + ".MJXc-TeX-unknown-I": {"font-family":UNDEFINEDFAMILY, "font-style":"italic", "font-weight":"normal"}, + ".MJXc-TeX-unknown-B": {"font-family":UNDEFINEDFAMILY, "font-style":"normal", "font-weight":"bold"}, + ".MJXc-TeX-unknown-BI": {"font-family":UNDEFINEDFAMILY, "font-style":"italic", "font-weight":"bold"} + }); + + CHTML.TEX = CHTML.TEXDEF; // use default TeX parameters + CHTML.FONTDEF.TeX = { + version: VERSION, + + baselineskip: 1.2, + lineH: .8, lineD: .2, + + FONTS: { +// +// These ones are defined below +// +// "MathJax_Main": +// "MathJax_Main-Bold": +// "MathJax_Main-Italic": +// "MathJax_Math-Italic": +// "MathJax_Caligraphic": +// "MathJax_Size1": +// "MathJax_Size2": +// "MathJax_Size3": +// "MathJax_Size4": + + "MathJax_AMS": "TeX/AMS-Regular.js", + "MathJax_Caligraphic-Bold": "TeX/Caligraphic-Bold.js", + "MathJax_Fraktur": "TeX/Fraktur-Regular.js", + "MathJax_Fraktur-Bold": "TeX/Fraktur-Bold.js", + "MathJax_Math-BoldItalic": "TeX/Math-BoldItalic.js", + "MathJax_SansSerif": "TeX/SansSerif-Regular.js", + "MathJax_SansSerif-Bold": "TeX/SansSerif-Bold.js", + "MathJax_SansSerif-Italic": "TeX/SansSerif-Italic.js", + "MathJax_Script": "TeX/Script-Regular.js", + "MathJax_Typewriter": "TeX/Typewriter-Regular.js" + }, + + UNKNOWN: { + R: {className:"MJXc-TeX-unknown-R"}, + I: {className:"MJXc-TeX-unknown-I"}, + B: {className:"MJXc-TeX-unknown-B"}, + BI: {className:"MJXc-TeX-unknown-BI"} + }, + + VARIANT: { + "normal": {fonts:[MAIN,SIZE1,AMS], cache: {}, + offsetG: 0x03B1, variantG: "italic", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, + 0xE160:[0x2192, "-TeX-vec"], // HACK for \vec (#1709) + 0x2016:0x2225, + 0x2216:[0x2216,"-TeX-variant",true], // \smallsetminus + 0x210F:[0x210F,"-TeX-variant",true], // \hbar + 0x2032:[0x27,"sans-serif-italic"], // HACK: a smaller prime + 0x29F8:[0x002F,MML.VARIANT.ITALIC]}}, + "bold": {fonts:[BOLD], bold:true, cache: {}, chain:"normal", + offsetG: 0x03B1, variantG: "bold-italic", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, 0x29F8:[0x002F,"bold-italic"], + 0xE160:[0x2192, "-TeX-vec-bold"], // HACK for \vec (#1709) + 0x2016:0x2225, + 0x219A:"\u2190\u0338", 0x219B:"\u2192\u0338", 0x21AE:"\u2194\u0338", + 0x21CD:"\u21D0\u0338", 0x21CE:"\u21D4\u0338", 0x21CF:"\u21D2\u0338", + 0x2204:"\u2203\u0338", 0x2224:"\u2223\u0338", 0x2226:"\u2225\u0338", + 0x2241:"\u223C\u0338", 0x2247:"\u2245\u0338", + 0x226E:"<\u0338", 0x226F:">\u0338", + 0x2270:"\u2264\u0338", 0x2271:"\u2265\u0338", + 0x2280:"\u227A\u0338", 0x2281:"\u227B\u0338", + 0x2288:"\u2286\u0338", 0x2289:"\u2287\u0338", + 0x22AC:"\u22A2\u0338", 0x22AD:"\u22A8\u0338", +// 0x22AE:"\u22A9\u0338", 0x22AF:"\u22AB\u0338", + 0x22E0:"\u227C\u0338", 0x22E1:"\u227D\u0338"//, +// 0x22EA:"\u22B2\u0338", 0x22EB:"\u22B3\u0338", +// 0x22EC:"\u22B4\u0338", 0x22ED:"\u22B5\u0338" + }}, + "italic": {fonts:[ITALIC,"MathJax_Main-Italic"], italic:true, cache: {}, chain:"normal", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "bold-italic": {fonts:["MathJax_Math-BoldItalic"], bold:true, italic:true, + cache: {}, chain:"bold", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "double-struck": {fonts:[AMS,MAIN,SIZE1], cache:{}}, + "fraktur": {fonts:["MathJax_Fraktur"], cache:{}, chain:"normal"}, + "bold-fraktur": {fonts:["MathJax_Fraktur-Bold"], bold:true, cache:{}, chain:"bold"}, + "script": {fonts:["MathJax_Script"], cache:{}, chain:"normal"}, + "bold-script": {fonts:["MathJax_Script"], bold:true, cache:{}, chain:"bold"}, + "sans-serif": {fonts:["MathJax_SansSerif"], cache:{}, chain:"normal"}, + "bold-sans-serif": {fonts:["MathJax_SansSerif-Bold"], bold:true, cache:{}, chain:"bold"}, + "sans-serif-italic": {fonts:["MathJax_SansSerif-Italic"], italic:true, cache:{}, chain:"italic"}, + "sans-serif-bold-italic": {fonts:["MathJax_SansSerif-Italic"], bold:true, italic:true, cache:{}, chain:"italic"}, + "monospace": {fonts:["MathJax_Typewriter"], cache:{}, chain:"normal"}, + "-tex-caligraphic": {fonts:["MathJax_Caligraphic"], offsetA: 0x41, variantA: "italic", cache:{}, chain:"normal"}, + "-tex-oldstyle": {fonts:["MathJax_Caligraphic"], cache:{}, chain:"normal"}, + "-tex-mathit": {fonts:["MathJax_Main-Italic"], italic:true, noIC: true, cache:{}, chain:"normal", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "-TeX-variant": {fonts:[AMS,MAIN,SIZE1], cache:{}, // HACK: to get larger prime for \prime + remap: { + 0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E, + 0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007, + 0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B, + 0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009, + 0x2216:[0x2216,MML.VARIANT.NORMAL,true], // \setminus + 0x210F:[0x210F,MML.VARIANT.NORMAL,true] // \hslash + }}, + "-TeX-vec": {fonts: ["MathJax_Vector"], cache:{}}, // HACK: non-combining \vec + "-TeX-vec-bold": {fonts: ["MathJax_Vector-Bold"], cache:{}}, // HACK: non-combining \vec + "-largeOp": {fonts:[SIZE2,SIZE1,MAIN,AMS],cache:{}}, + "-smallOp": {fonts:[SIZE1,MAIN,AMS], cache:{}}, + "-tex-caligraphic-bold": {fonts:["MathJax_Caligraphic-Bold","MathJax_Main-Bold"], bold:true, cache:{}, chain:"normal", + offsetA: 0x41, variantA: "bold-italic"}, + "-tex-oldstyle-bold": {fonts:["MathJax_Caligraphic-Bold","MathJax_Main-Bold"], bold:true, cache:{}, chain:"normal"} + }, + + RANGES: [ + {name: "alpha", low: 0x61, high: 0x7A, offset: "A", add: 32}, + {name: "number", low: 0x30, high: 0x39, offset: "N"}, + {name: "greek", low: 0x03B1, high: 0x03F6, offset: "G"} + ], + + REMAP: { + 0xA: 0x20, // newline + 0x203E: 0x2C9, // overline + 0xFE37: 0x23DE, 0xFE38: 0x23DF, // OverBrace, UnderBrace + + 0xB7: 0x22C5, // center dot + 0x2B9: 0x2032, // prime, + 0x3D2: 0x3A5, // Upsilon + 0x2206: 0x394, // increment + 0x2015: 0x2014, 0x2017: 0x5F, // horizontal bars + 0x2022: 0x2219, 0x2044: 0x2F, // bullet, fraction slash + 0x2305: 0x22BC, 0x2306: 0x2A5E, // barwedge, doublebarwedge + 0x25AA: 0x25A0, 0x25B4: 0x25B2, // blacksquare, blacktriangle + 0x25B5: 0x25B3, 0x25B8: 0x25B6, // triangle, blacktriangleright + 0x25BE: 0x25BC, 0x25BF: 0x25BD, // blacktriangledown, triangledown + 0x25C2: 0x25C0, // blacktriangleleft + 0x2329: 0x27E8, 0x232A: 0x27E9, // langle, rangle + 0x3008: 0x27E8, 0x3009: 0x27E9, // langle, rangle + 0x2758: 0x2223, // VerticalSeparator + 0x2A2F: 0xD7, // cross product + + 0x25FB: 0x25A1, 0x25FC: 0x25A0, // square, blacksquare + + // + // Letter-like symbols (that appear elsewhere) + // + 0x2102: [0x0043,MML.VARIANT.DOUBLESTRUCK], +// 0x210A: [0x0067,MML.VARIANT.SCRIPT], + 0x210B: [0x0048,MML.VARIANT.SCRIPT], + 0x210C: [0x0048,MML.VARIANT.FRAKTUR], + 0x210D: [0x0048,MML.VARIANT.DOUBLESTRUCK], + 0x210E: [0x0068,MML.VARIANT.ITALIC], + 0x2110: [0x004A,MML.VARIANT.SCRIPT], + 0x2111: [0x0049,MML.VARIANT.FRAKTUR], + 0x2112: [0x004C,MML.VARIANT.SCRIPT], + 0x2115: [0x004E,MML.VARIANT.DOUBLESTRUCK], + 0x2119: [0x0050,MML.VARIANT.DOUBLESTRUCK], + 0x211A: [0x0051,MML.VARIANT.DOUBLESTRUCK], + 0x211B: [0x0052,MML.VARIANT.SCRIPT], + 0x211C: [0x0052,MML.VARIANT.FRAKTUR], + 0x211D: [0x0052,MML.VARIANT.DOUBLESTRUCK], + 0x2124: [0x005A,MML.VARIANT.DOUBLESTRUCK], + 0x2126: [0x03A9,MML.VARIANT.NORMAL], + 0x2128: [0x005A,MML.VARIANT.FRAKTUR], + 0x212C: [0x0042,MML.VARIANT.SCRIPT], + 0x212D: [0x0043,MML.VARIANT.FRAKTUR], +// 0x212F: [0x0065,MML.VARIANT.SCRIPT], + 0x2130: [0x0045,MML.VARIANT.SCRIPT], + 0x2131: [0x0046,MML.VARIANT.SCRIPT], + 0x2133: [0x004D,MML.VARIANT.SCRIPT], +// 0x2134: [0x006F,MML.VARIANT.SCRIPT], + + 0x2247: 0x2246, // wrong placement of this character + 0x231C: 0x250C, 0x231D:0x2510, // wrong placement of \ulcorner, \urcorner + 0x231E: 0x2514, 0x231F:0x2518, // wrong placement of \llcorner, \lrcorner + + // + // compound symbols not in these fonts + // + 0x2204: "\u2203\u0338", // \not\exists + 0x220C: "\u220B\u0338", // \not\ni + 0x2244: "\u2243\u0338", // \not\simeq + 0x2249: "\u2248\u0338", // \not\approx + 0x2262: "\u2261\u0338", // \not\equiv + 0x226D: "\u224D\u0338", // \not\asymp + 0x2274: "\u2272\u0338", // \not\lesssim + 0x2275: "\u2273\u0338", // \not\gtrsim + 0x2278: "\u2276\u0338", // \not\lessgtr + 0x2279: "\u2277\u0338", // \not\gtrless + 0x2284: "\u2282\u0338", // \not\subset + 0x2285: "\u2283\u0338", // \not\supset + 0x22E2: "\u2291\u0338", // \not\sqsubseteq + 0x22E3: "\u2292\u0338", // \not\sqsupseteq + + 0x2A0C: "\u222C\u222C", // quadruple integral + + 0x2033: "\u2032\u2032", // double prime + 0x2034: "\u2032\u2032\u2032", // triple prime + 0x2036: "\u2035\u2035", // double back prime + 0x2037: "\u2035\u2035\u2035", // trile back prime + 0x2057: "\u2032\u2032\u2032\u2032", // quadruple prime + }, + + REMAPACCENT: { + "\u0300":"\u02CB", // grave accent + "\u0301":"\u02CA", // acute accent + "\u0302":"\u02C6", // curcumflex + "\u0303":"\u02DC", // tilde accent + "\u0304":"\u02C9", // macron + "\u0306":"\u02D8", // breve + "\u0307":"\u02D9", // dot + "\u0308":"\u00A8", // diaresis + "\u030A":"\u02DA", // ring above + "\u030C":"\u02C7", // caron + "\u20D7":"\uE160", // HACK: for non-combining \vec (#1709) + "\u2192":"\uE160", + "\u2032":"'", + "\u2035":"`", + "\u20D0":"\u21BC", "\u20D1":"\u21C0", // combining left and right harpoons + "\u20D6":"\u2190", "\u20E1":"\u2194", // combining left arrow and lef-right arrow + "\u20F0":"*", // combining asterisk + "\u20DB":"...", // combining three dots above + "\u20DC":"...." // combining four dots above + }, + REMAPACCENTUNDER: { + "\u20EC":"\u21C1", "\u20ED":"\u21BD", // combining low right and left harpoons + "\u20EE":"\u2190", "\u20EF":"\u2192", // combining low left and right arrows + "\u20DB":"...", // combining three dots above + "\u20DC":"...." // combining four dots above + }, + + PLANE1MAP: [ + [0x1D400,0x1D419, 0x41, MML.VARIANT.BOLD], + [0x1D41A,0x1D433, 0x61, MML.VARIANT.BOLD], + [0x1D434,0x1D44D, 0x41, MML.VARIANT.ITALIC], + [0x1D44E,0x1D467, 0x61, MML.VARIANT.ITALIC], + [0x1D468,0x1D481, 0x41, MML.VARIANT.BOLDITALIC], + [0x1D482,0x1D49B, 0x61, MML.VARIANT.BOLDITALIC], + [0x1D49C,0x1D4B5, 0x41, MML.VARIANT.SCRIPT], +// [0x1D4B6,0x1D4CF, 0x61, MML.VARIANT.SCRIPT], +// [0x1D4D0,0x1D4E9, 0x41, MML.VARIANT.BOLDSCRIPT], +// [0x1D4EA,0x1D503, 0x61, MML.VARIANT.BOLDSCRIPT], + [0x1D504,0x1D51D, 0x41, MML.VARIANT.FRAKTUR], + [0x1D51E,0x1D537, 0x61, MML.VARIANT.FRAKTUR], + [0x1D538,0x1D551, 0x41, MML.VARIANT.DOUBLESTRUCK], +// [0x1D552,0x1D56B, 0x61, MML.VARIANT.DOUBLESTRUCK], + [0x1D56C,0x1D585, 0x41, MML.VARIANT.BOLDFRAKTUR], + [0x1D586,0x1D59F, 0x61, MML.VARIANT.BOLDFRAKTUR], + [0x1D5A0,0x1D5B9, 0x41, MML.VARIANT.SANSSERIF], + [0x1D5BA,0x1D5D3, 0x61, MML.VARIANT.SANSSERIF], + [0x1D5D4,0x1D5ED, 0x41, MML.VARIANT.BOLDSANSSERIF], + [0x1D5EE,0x1D607, 0x61, MML.VARIANT.BOLDSANSSERIF], + [0x1D608,0x1D621, 0x41, MML.VARIANT.SANSSERIFITALIC], + [0x1D622,0x1D63B, 0x61, MML.VARIANT.SANSSERIFITALIC], +// [0x1D63C,0x1D655, 0x41, MML.VARIANT.SANSSERIFBOLDITALIC], +// [0x1D656,0x1D66F, 0x61, MML.VARIANT.SANSSERIFBOLDITALIC], + [0x1D670,0x1D689, 0x41, MML.VARIANT.MONOSPACE], + [0x1D68A,0x1D6A3, 0x61, MML.VARIANT.MONOSPACE], + + [0x1D6A8,0x1D6C1, 0x391, MML.VARIANT.BOLD], +// [0x1D6C2,0x1D6E1, 0x3B1, MML.VARIANT.BOLD], + [0x1D6E2,0x1D6FA, 0x391, MML.VARIANT.ITALIC], + [0x1D6FC,0x1D71B, 0x3B1, MML.VARIANT.ITALIC], + [0x1D71C,0x1D734, 0x391, MML.VARIANT.BOLDITALIC], + [0x1D736,0x1D755, 0x3B1, MML.VARIANT.BOLDITALIC], + [0x1D756,0x1D76E, 0x391, MML.VARIANT.BOLDSANSSERIF], +// [0x1D770,0x1D78F, 0x3B1, MML.VARIANT.BOLDSANSSERIF], + [0x1D790,0x1D7A8, 0x391, MML.VARIANT.SANSSERIFBOLDITALIC], +// [0x1D7AA,0x1D7C9, 0x3B1, MML.VARIANT.SANSSERIFBOLDITALIC], + + [0x1D7CE,0x1D7D7, 0x30, MML.VARIANT.BOLD], +// [0x1D7D8,0x1D7E1, 0x30, MML.VARIANT.DOUBLESTRUCK], + [0x1D7E2,0x1D7EB, 0x30, MML.VARIANT.SANSSERIF], + [0x1D7EC,0x1D7F5, 0x30, MML.VARIANT.BOLDSANSSERIF], + [0x1D7F6,0x1D7FF, 0x30, MML.VARIANT.MONOSPACE] + ], + + REMAPGREEK: { + 0x391: 0x41, 0x392: 0x42, 0x395: 0x45, 0x396: 0x5A, + 0x397: 0x48, 0x399: 0x49, 0x39A: 0x4B, 0x39C: 0x4D, + 0x39D: 0x4E, 0x39F: 0x4F, 0x3A1: 0x50, 0x3A2: 0x398, + 0x3A4: 0x54, 0x3A7: 0x58, 0x3AA: 0x2207, + 0x3CA: 0x2202, 0x3CB: 0x3F5, 0x3CC: 0x3D1, 0x3CD: 0x3F0, + 0x3CE: 0x3D5, 0x3CF: 0x3F1, 0x3D0: 0x3D6 + }, + + RemapPlane1: function (n,variant) { + for (var i = 0, m = this.PLANE1MAP.length; i < m; i++) { + if (n < this.PLANE1MAP[i][0]) break; + if (n <= this.PLANE1MAP[i][1]) { + n = n - this.PLANE1MAP[i][0] + this.PLANE1MAP[i][2]; + if (this.REMAPGREEK[n]) {n = this.REMAPGREEK[n]} + variant = this.VARIANT[this.PLANE1MAP[i][3]]; + break; + } + } + return {n: n, variant: variant}; + }, + + DELIMITERS: { + 0x0028: // ( + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top: [0x239B,SIZE4], ext: [0x239C,SIZE4], bot: [0x239D,SIZE4]} + }, + 0x0029: // ) + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x239E,SIZE4], ext:[0x239F,SIZE4], bot:[0x23A0,SIZE4]} + }, + 0x002F: // / + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x005B: // [ + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} + }, + 0x005C: // \ + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x005D: // ] + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} + }, + 0x007B: // { + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A7,SIZE4], mid:[0x23A8,SIZE4], bot:[0x23A9,SIZE4], ext:[0x23AA,SIZE4]} + }, + 0x007C: // | + { + dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2223,MAIN]} + }, + 0x007D: // } + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top: [0x23AB,SIZE4], mid:[0x23AC,SIZE4], bot: [0x23AD,SIZE4], ext: [0x23AA,SIZE4]} + }, + 0x00AF: // macron + { + dir: H, HW: [[.59,MAIN]], stretch: {rep:[0xAF,MAIN]} + }, + 0x02C6: // wide hat + { + dir: H, HW: [[.267+.25,MAIN],[.567+.25,SIZE1],[1.005+.33,SIZE2],[1.447+.33,SIZE3],[1.909,SIZE4]] + }, + 0x02DC: // wide tilde + { + dir: H, HW: [[.333+.25,MAIN],[.555+.25,SIZE1],[1+.33,SIZE2],[1.443+.33,SIZE3],[1.887,SIZE4]] + }, + 0x2013: // en-dash + { + dir: H, HW: [[.5,MAIN]], stretch: {rep:[0x2013,MAIN]} + }, + 0x2016: // vertical arrow extension + { + dir: V, HW: [[.602,SIZE1],[1,MAIN,null,0x2225]], stretch: {ext:[0x2225,MAIN]} + }, + 0x2190: // left arrow + { + dir: H, HW: [[1,MAIN]], stretch: {left:[0x2190,MAIN], rep:ARROWREP} + }, + 0x2191: // \uparrow + { + dir: V, HW: [[.888,MAIN]], stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1]} + }, + 0x2192: // right arrow + { + dir: H, HW: [[1,MAIN]], stretch: {rep:ARROWREP, right:[0x2192,MAIN]} + }, + 0x2193: // \downarrow + { + dir: V, HW: [[.888,MAIN]], stretch: {ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x2194: // left-right arrow + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x2190,MAIN], rep:ARROWREP, right:[0x2192,MAIN]} + }, + 0x2195: // \updownarrow + { + dir: V, HW: [[1.044,MAIN]], + stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x21D0: // left double arrow + { + dir: H, HW: [[1,MAIN]], stretch: {left:[0x21D0,MAIN], rep:DARROWREP} + }, + 0x21D1: // \Uparrow + { + dir: V, HW: [[.888,MAIN]], stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1]} + }, + 0x21D2: // right double arrow + { + dir: H, HW: [[1,MAIN]], stretch: {rep:DARROWREP, right:[0x21D2,MAIN]} + }, + 0x21D3: // \Downarrow + { + dir: V, HW: [[.888,MAIN]], stretch: {ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} + }, + 0x21D4: // left-right double arrow + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x21D0,MAIN], rep:DARROWREP, right:[0x21D2,MAIN]} + }, + 0x21D5: // \Updownarrow + { + dir: V, HW: [[1.044,MAIN]], + stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} + }, + 0x2212: // horizontal line + { + dir: H, HW: [[.778,MAIN]], stretch: {rep:[0x2212,MAIN]} + }, + 0x221A: // \surd + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]], + stretch: {top:[0xE001,SIZE4], ext:[0xE000,SIZE4], bot:[0x23B7,SIZE4], fullExtenders:true} + }, + 0x2223: // \vert + { + dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2223,MAIN]} + }, + 0x2225: // \Vert + { + dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2225,MAIN]} + }, + 0x2308: // \lceil + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4]} + }, + 0x2309: // \rceil + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4]} + }, + 0x230A: // \lfloor + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} + }, + 0x230B: // \rfloor + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} + }, + 0x23AA: // \bracevert + { + dir: V, HW: [[.32,SIZE4]], + stretch: {top:[0x23AA,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AA,SIZE4]} + }, + 0x23B0: // \lmoustache + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} + }, + 0x23B1: // \rmoustache + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} + }, + 0x23D0: // vertical line extension + { + dir: V, HW: [[.602,SIZE1],[1,MAIN,null,0x2223]], stretch: {ext:[0x2223,MAIN]} + }, + 0x23DE: // horizontal brace down + { + dir: H, HW: [], + stretch: {min:.9, left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]} + }, + 0x23DF: // horizontal brace up + { + dir: H, HW: [], + stretch: {min:.9, left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]} + }, + 0x27E8: // \langle + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x27E9: // \rangle + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x27EE: // \lgroup + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} + }, + 0x27EF: // \rgroup + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} + }, + 0x002D: {alias: 0x2212, dir:H}, // minus + 0x005E: {alias: 0x02C6, dir:H}, // wide hat + 0x005F: {alias: 0x2013, dir:H}, // low line + 0x007E: {alias: 0x02DC, dir:H}, // wide tilde + 0x02C9: {alias: 0x00AF, dir:H}, // macron + 0x0302: {alias: 0x02C6, dir:H}, // wide hat + 0x0303: {alias: 0x02DC, dir:H}, // wide tilde + 0x030C: {alias: 0x02C7, dir:H}, // wide caron + 0x0332: {alias: 0x2013, dir:H}, // combining low line + 0x2014: {alias: 0x2013, dir:H}, // em-dash + 0x2015: {alias: 0x2013, dir:H}, // horizontal line + 0x2017: {alias: 0x2013, dir:H}, // horizontal line + 0x203E: {alias: 0x00AF, dir:H}, // overline + 0x20D7: {alias: 0x2192, dir:H}, // combining over right arrow (vector arrow) + 0x2215: {alias: 0x002F, dir:V}, // division slash + 0x2329: {alias: 0x27E8, dir:V}, // langle + 0x232A: {alias: 0x27E9, dir:V}, // rangle + 0x23AF: {alias: 0x2013, dir:H}, // horizontal line extension + 0x2500: {alias: 0x2013, dir:H}, // horizontal line + 0x2758: {alias: 0x2223, dir:V}, // vertical separator + 0x3008: {alias: 0x27E8, dir:V}, // langle + 0x3009: {alias: 0x27E9, dir:V}, // rangle + 0xFE37: {alias: 0x23DE, dir:H}, // horizontal brace down + 0xFE38: {alias: 0x23DF, dir:H}, // horizontal brace up + + 0x003D: EXTRAH, // equal sign + 0x219E: EXTRAH, // left two-headed arrow + 0x21A0: EXTRAH, // right two-headed arrow + 0x21A4: EXTRAH, // left arrow from bar + 0x21A5: EXTRAV, // up arrow from bar + 0x21A6: EXTRAH, // right arrow from bar + 0x21A7: EXTRAV, // down arrow from bar + 0x21B0: EXTRAV, // up arrow with top leftwards + 0x21B1: EXTRAV, // up arrow with top right + 0x21BC: EXTRAH, // left harpoon with barb up + 0x21BD: EXTRAH, // left harpoon with barb down + 0x21BE: EXTRAV, // up harpoon with barb right + 0x21BF: EXTRAV, // up harpoon with barb left + 0x21C0: EXTRAH, // right harpoon with barb up + 0x21C1: EXTRAH, // right harpoon with barb down + 0x21C2: EXTRAV, // down harpoon with barb right + 0x21C3: EXTRAV, // down harpoon with barb left + 0x21DA: EXTRAH, // left triple arrow + 0x21DB: EXTRAH, // right triple arrow + 0x23B4: EXTRAH, // top square bracket + 0x23B5: EXTRAH, // bottom square bracket + 0x23DC: EXTRAH, // top paren + 0x23DD: EXTRAH, // bottom paren + 0x23E0: EXTRAH, // top tortoise shell + 0x23E1: EXTRAH, // bottom tortoise shell + 0x2906: EXTRAH, // leftwards double arrow from bar + 0x2907: EXTRAH, // rightwards double arrow from bar + 0x294E: EXTRAH, // left barb up right barb up harpoon + 0x294F: EXTRAV, // up barb right down barb right harpoon + 0x2950: EXTRAH, // left barb dow right barb down harpoon + 0x2951: EXTRAV, // up barb left down barb left harpoon + 0x295A: EXTRAH, // leftwards harpoon with barb up from bar + 0x295B: EXTRAH, // rightwards harpoon with barb up from bar + 0x295C: EXTRAV, // up harpoon with barb right from bar + 0x295D: EXTRAV, // down harpoon with barb right from bar + 0x295E: EXTRAH, // leftwards harpoon with barb down from bar + 0x295F: EXTRAH, // rightwards harpoon with barb down from bar + 0x2960: EXTRAV, // up harpoon with barb left from bar + 0x2961: EXTRAV, // down harpoon with barb left from bar + 0x2312: {alias: 0x23DC, dir:H}, // arc + 0x2322: {alias: 0x23DC, dir:H}, // frown + 0x2323: {alias: 0x23DD, dir:H}, // smile + 0x27F5: {alias: 0x2190, dir:H}, // long left arrow + 0x27F6: {alias: 0x2192, dir:H}, // long right arrow + 0x27F7: {alias: 0x2194, dir:H}, // long left-right arrow + 0x27F8: {alias: 0x21D0, dir:H}, // long left double arrow + 0x27F9: {alias: 0x21D2, dir:H}, // long right double arrow + 0x27FA: {alias: 0x21D4, dir:H}, // long left-right double arrow + 0x27FB: {alias: 0x21A4, dir:H}, // long left arrow from bar + 0x27FC: {alias: 0x21A6, dir:H}, // long right arrow from bar + 0x27FD: {alias: 0x2906, dir:H}, // long left double arrow from bar + 0x27FE: {alias: 0x2907, dir:H}, // long right double arrow from bar + 0xE160: {alias: 0x2190, dir:H}, // replacement vector arrow + } + }; + + CHTML.FONTDATA = CHTML.FONTDEF["TeX"]; + + CHTML.FONTDATA.FONTS['MathJax_Caligraphic'] = { + centerline: 287, ascent: 789, descent: 216, + skew: { + 0x41: 0.194, + 0x42: 0.139, + 0x43: 0.139, + 0x44: 0.0833, + 0x45: 0.111, + 0x46: 0.111, + 0x47: 0.111, + 0x48: 0.111, + 0x49: 0.0278, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.139, + 0x4D: 0.139, + 0x4E: 0.0833, + 0x4F: 0.111, + 0x50: 0.0833, + 0x51: 0.111, + 0x52: 0.0833, + 0x53: 0.139, + 0x54: 0.0278, + 0x55: 0.0833, + 0x56: 0.0278, + 0x57: 0.0833, + 0x58: 0.139, + 0x59: 0.0833, + 0x5A: 0.139 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x30: [452,22,500,39,460], // DIGIT ZERO + 0x31: [453,0,500,86,426], // DIGIT ONE + 0x32: [453,0,500,44,449], // DIGIT TWO + 0x33: [452,216,500,42,456], // DIGIT THREE + 0x34: [464,194,500,28,471], // DIGIT FOUR + 0x35: [453,216,500,50,448], // DIGIT FIVE + 0x36: [665,22,500,42,456], // DIGIT SIX + 0x37: [463,216,500,55,485], // DIGIT SEVEN + 0x38: [666,21,500,43,456], // DIGIT EIGHT + 0x39: [453,216,500,42,457], // DIGIT NINE + 0x41: [728,50,798,30,819], // LATIN CAPITAL LETTER A + 0x42: [705,22,657,32,664], // LATIN CAPITAL LETTER B + 0x43: [705,25,527,12,533], // LATIN CAPITAL LETTER C + 0x44: [683,0,771,19,766], // LATIN CAPITAL LETTER D + 0x45: [705,22,528,30,564], // LATIN CAPITAL LETTER E + 0x46: [683,32,719,18,829], // LATIN CAPITAL LETTER F + 0x47: [704,119,595,44,599], // LATIN CAPITAL LETTER G + 0x48: [683,48,845,18,803], // LATIN CAPITAL LETTER H + 0x49: [683,0,545,-30,642], // LATIN CAPITAL LETTER I + 0x4A: [683,119,678,47,839], // LATIN CAPITAL LETTER J + 0x4B: [705,22,762,32,732], // LATIN CAPITAL LETTER K + 0x4C: [705,22,690,32,656], // LATIN CAPITAL LETTER L + 0x4D: [705,50,1201,28,1137], // LATIN CAPITAL LETTER M + 0x4E: [789,50,820,-27,979], // LATIN CAPITAL LETTER N + 0x4F: [705,22,796,58,777], // LATIN CAPITAL LETTER O + 0x50: [683,57,696,19,733], // LATIN CAPITAL LETTER P + 0x51: [705,131,817,114,787], // LATIN CAPITAL LETTER Q + 0x52: [682,22,848,19,837], // LATIN CAPITAL LETTER R + 0x53: [705,22,606,18,642], // LATIN CAPITAL LETTER S + 0x54: [717,68,545,34,833], // LATIN CAPITAL LETTER T + 0x55: [683,28,626,-17,687], // LATIN CAPITAL LETTER U + 0x56: [683,52,613,25,658], // LATIN CAPITAL LETTER V + 0x57: [683,53,988,25,1034], // LATIN CAPITAL LETTER W + 0x58: [683,0,713,52,807], // LATIN CAPITAL LETTER X + 0x59: [683,143,668,31,714], // LATIN CAPITAL LETTER Y + 0x5A: [683,0,725,37,767], // LATIN CAPITAL LETTER Z + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE + }; + + CHTML.FONTDATA.FONTS['MathJax_Main-Bold'] = { + centerline: 342, ascent: 951, descent: 267, + weight: 'bold', + file: "TeX/Main-Bold.js", + Extra: [ + 0xA0, 0xA8, 0xAC, [0xAF,0xB1], 0xB4, 0xD7, 0xF7, + 0x131, 0x237, + [0x2C6,0x2CB],[0x2D8,0x2DC], + [0x300,0x30C], 0x338, + [0x2002,0x2006], 0x2009, 0x200A, 0x2013, 0x2014, 0x2018, 0x2019, + 0x201C, 0x201D, 0x2020, 0x2021, 0x2026, 0x2032, + 0x20D7, + [0x210F,0x2113], 0x2118, 0x211C, 0x2135, + [0x2190,0x2199], 0x21A6, 0x21A9, 0x21AA, 0x21BC, 0x21BD, 0x21C0, + 0x21C1, 0x21CC, [0x21D0,0x21D5], + [0x2200,0x220B], [0x2212,0x221A], [0x221D,0x2220], + [0x2223,0x223C], 0x2240, 0x2243, 0x2245, 0x2248, 0x224D, 0x2250, + 0x2260, 0x2261, 0x2264, 0x2265, 0x226A, 0x226B, 0x227A, 0x227B, + 0x2282, 0x2283, 0x2286, 0x2287, 0x228E, [0x2291,0x2299], + [0x22A2,0x22A5], 0x22A8, [0x22C4,0x22C8], [0x22EE,0x22F1], + [0x2308,0x230B], 0x2322, 0x2323, + 0x25B3, 0x25B9, 0x25BD, 0x25C3, 0x25EF, + [0x2660,0x2663], [0x266D,0x266F], + 0x27E8, 0x27E9, + [0x27F5,0x27FC], + 0x2A3F, 0x2AAF, 0x2AB0 + ], + skew: { + 0x131: 0.0319, + 0x237: 0.0958, + 0x210F: -0.0319, + 0x2113: 0.128, + 0x2202: 0.0958 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x21: [705,-1,350,89,260], // EXCLAMATION MARK + 0x22: [694,-329,603,38,492], // QUOTATION MARK + 0x23: [694,193,958,64,893], // NUMBER SIGN + 0x24: [750,56,575,64,510], // DOLLAR SIGN + 0x25: [750,56,958,65,893], // PERCENT SIGN + 0x26: [705,11,894,48,836], // AMPERSAND + 0x27: [694,-329,319,74,261], // APOSTROPHE + 0x28: [750,249,447,103,382], // LEFT PARENTHESIS + 0x29: [750,249,447,64,343], // RIGHT PARENTHESIS + 0x2A: [750,-306,575,73,501], // ASTERISK + 0x2B: [633,131,894,64,829], // PLUS SIGN + 0x2C: [171,194,319,74,258], // COMMA + 0x2D: [278,-166,383,13,318], // HYPHEN-MINUS + 0x2E: [171,-1,319,74,245], // FULL STOP + 0x2F: [750,250,575,63,511], // SOLIDUS + 0x30: [654,10,575,45,529], // DIGIT ZERO + 0x31: [655,0,575,80,494], // DIGIT ONE + 0x32: [654,0,575,57,517], // DIGIT TWO + 0x33: [655,11,575,47,526], // DIGIT THREE + 0x34: [656,0,575,32,542], // DIGIT FOUR + 0x35: [655,11,575,57,517], // DIGIT FIVE + 0x36: [655,11,575,48,526], // DIGIT SIX + 0x37: [676,11,575,64,558], // DIGIT SEVEN + 0x38: [654,11,575,48,526], // DIGIT EIGHT + 0x39: [654,11,575,48,526], // DIGIT NINE + 0x3A: [444,-1,319,74,245], // COLON + 0x3B: [444,194,319,74,248], // SEMICOLON + 0x3C: [587,85,894,96,797], // LESS-THAN SIGN + 0x3D: [393,-109,894,64,829], // EQUALS SIGN + 0x3E: [587,85,894,96,797], // GREATER-THAN SIGN + 0x3F: [700,-1,543,65,478], // QUESTION MARK + 0x40: [699,6,894,64,829], // COMMERCIAL AT + 0x41: [698,0,869,40,828], // LATIN CAPITAL LETTER A + 0x42: [686,0,818,39,752], // LATIN CAPITAL LETTER B + 0x43: [697,11,831,64,766], // LATIN CAPITAL LETTER C + 0x44: [686,0,882,39,817], // LATIN CAPITAL LETTER D + 0x45: [680,0,756,39,723], // LATIN CAPITAL LETTER E + 0x46: [680,0,724,39,675], // LATIN CAPITAL LETTER F + 0x47: [697,10,904,64,845], // LATIN CAPITAL LETTER G + 0x48: [686,0,900,39,860], // LATIN CAPITAL LETTER H + 0x49: [686,0,436,25,410], // LATIN CAPITAL LETTER I + 0x4A: [686,11,594,8,527], // LATIN CAPITAL LETTER J + 0x4B: [686,0,901,39,852], // LATIN CAPITAL LETTER K + 0x4C: [686,0,692,39,643], // LATIN CAPITAL LETTER L + 0x4D: [686,0,1092,39,1052], // LATIN CAPITAL LETTER M + 0x4E: [686,0,900,39,860], // LATIN CAPITAL LETTER N + 0x4F: [696,10,864,64,798], // LATIN CAPITAL LETTER O + 0x50: [686,0,786,39,721], // LATIN CAPITAL LETTER P + 0x51: [696,193,864,64,805], // LATIN CAPITAL LETTER Q + 0x52: [686,11,862,39,858], // LATIN CAPITAL LETTER R + 0x53: [697,11,639,64,574], // LATIN CAPITAL LETTER S + 0x54: [675,0,800,41,758], // LATIN CAPITAL LETTER T + 0x55: [686,11,885,39,845], // LATIN CAPITAL LETTER U + 0x56: [686,7,869,25,843], // LATIN CAPITAL LETTER V + 0x57: [686,7,1189,24,1164], // LATIN CAPITAL LETTER W + 0x58: [686,0,869,33,835], // LATIN CAPITAL LETTER X + 0x59: [686,0,869,19,849], // LATIN CAPITAL LETTER Y + 0x5A: [686,0,703,64,645], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,319,128,293], // LEFT SQUARE BRACKET + 0x5C: [750,250,575,63,511], // REVERSE SOLIDUS + 0x5D: [750,250,319,25,190], // RIGHT SQUARE BRACKET + 0x5E: [694,-520,575,126,448], // CIRCUMFLEX ACCENT + 0x5F: [-10,61,575,0,574], // LOW LINE + 0x60: [706,-503,575,114,338], // GRAVE ACCENT + 0x61: [453,6,559,32,558], // LATIN SMALL LETTER A + 0x62: [694,6,639,29,600], // LATIN SMALL LETTER B + 0x63: [453,6,511,39,478], // LATIN SMALL LETTER C + 0x64: [694,6,639,38,609], // LATIN SMALL LETTER D + 0x65: [452,6,527,32,494], // LATIN SMALL LETTER E + 0x66: [700,0,351,40,452], // LATIN SMALL LETTER F + 0x67: [455,201,575,30,558], // LATIN SMALL LETTER G + 0x68: [694,0,639,37,623], // LATIN SMALL LETTER H + 0x69: [695,0,319,40,294], // LATIN SMALL LETTER I + 0x6A: [695,200,351,-71,274], // LATIN SMALL LETTER J + 0x6B: [694,0,607,29,587], // LATIN SMALL LETTER K + 0x6C: [694,0,319,40,301], // LATIN SMALL LETTER L + 0x6D: [450,0,958,37,942], // LATIN SMALL LETTER M + 0x6E: [450,0,639,37,623], // LATIN SMALL LETTER N + 0x6F: [452,5,575,32,542], // LATIN SMALL LETTER O + 0x70: [450,194,639,29,600], // LATIN SMALL LETTER P + 0x71: [450,194,607,38,609], // LATIN SMALL LETTER Q + 0x72: [450,0,474,29,442], // LATIN SMALL LETTER R + 0x73: [453,6,454,38,414], // LATIN SMALL LETTER S + 0x74: [635,5,447,21,382], // LATIN SMALL LETTER T + 0x75: [450,6,639,37,623], // LATIN SMALL LETTER U + 0x76: [444,3,607,26,580], // LATIN SMALL LETTER V + 0x77: [444,4,831,25,805], // LATIN SMALL LETTER W + 0x78: [444,0,607,21,586], // LATIN SMALL LETTER X + 0x79: [444,200,607,23,580], // LATIN SMALL LETTER Y + 0x7A: [444,0,511,32,462], // LATIN SMALL LETTER Z + 0x7B: [750,250,575,70,504], // LEFT CURLY BRACKET + 0x7C: [750,249,319,129,190], // VERTICAL LINE + 0x7D: [750,250,575,70,504], // RIGHT CURLY BRACKET + 0x7E: [344,-202,575,96,478], // TILDE + 0x393: [680,0,692,39,643], // GREEK CAPITAL LETTER GAMMA + 0x394: [698,0,958,56,901], // GREEK CAPITAL LETTER DELTA + 0x398: [696,10,894,64,829], // GREEK CAPITAL LETTER THETA + 0x39B: [698,0,806,40,765], // GREEK CAPITAL LETTER LAMDA + 0x39E: [675,0,767,48,718], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,900,39,860], // GREEK CAPITAL LETTER PI + 0x3A3: [686,0,831,63,766], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [697,0,894,64,829], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [686,0,831,64,766], // GREEK CAPITAL LETTER PHI + 0x3A8: [686,0,894,64,829], // GREEK CAPITAL LETTER PSI + 0x3A9: [696,0,831,51,779] // GREEK CAPITAL LETTER OMEGA + }; + + CHTML.FONTDATA.FONTS['MathJax_Main-Italic'] = { + centerline: 250, ascent: 750, descent: 250, + style: 'italic', + 0x20: [0,0,250,0,0], // SPACE + 0x21: [716,0,307,107,380], // EXCLAMATION MARK + 0x22: [694,-379,514,176,538], // QUOTATION MARK + 0x23: [694,194,818,115,828], // NUMBER SIGN + 0x25: [750,56,818,145,847], // PERCENT SIGN + 0x26: [716,22,767,127,802], // AMPERSAND + 0x27: [694,-379,307,213,377], // APOSTROPHE + 0x28: [750,250,409,144,517], // LEFT PARENTHESIS + 0x29: [750,250,409,17,390], // RIGHT PARENTHESIS + 0x2A: [750,-320,511,195,584], // ASTERISK + 0x2B: [557,57,767,139,753], // PLUS SIGN + 0x2C: [121,194,307,69,232], // COMMA + 0x2D: [251,-180,358,84,341], // HYPHEN-MINUS + 0x2E: [121,0,307,107,231], // FULL STOP + 0x2F: [750,250,511,19,617], // SOLIDUS + 0x30: [665,21,511,110,562], // DIGIT ZERO + 0x31: [666,0,511,110,468], // DIGIT ONE + 0x32: [666,22,511,76,551], // DIGIT TWO + 0x33: [666,22,511,96,562], // DIGIT THREE + 0x34: [666,194,511,46,478], // DIGIT FOUR + 0x35: [666,22,511,106,567], // DIGIT FIVE + 0x36: [665,22,511,120,565], // DIGIT SIX + 0x37: [666,22,511,136,634], // DIGIT SEVEN + 0x38: [666,21,511,99,553], // DIGIT EIGHT + 0x39: [666,22,511,107,553], // DIGIT NINE + 0x3A: [431,0,307,107,308], // COLON + 0x3B: [431,194,307,70,308], // SEMICOLON + 0x3D: [367,-133,767,116,776], // EQUALS SIGN + 0x3F: [716,0,511,195,551], // QUESTION MARK + 0x40: [705,11,767,152,789], // COMMERCIAL AT + 0x41: [716,0,743,58,696], // LATIN CAPITAL LETTER A + 0x42: [683,0,704,57,732], // LATIN CAPITAL LETTER B + 0x43: [705,21,716,150,812], // LATIN CAPITAL LETTER C + 0x44: [683,0,755,56,775], // LATIN CAPITAL LETTER D + 0x45: [680,0,678,54,743], // LATIN CAPITAL LETTER E + 0x46: [680,-1,653,54,731], // LATIN CAPITAL LETTER F + 0x47: [705,22,774,150,812], // LATIN CAPITAL LETTER G + 0x48: [683,0,743,54,860], // LATIN CAPITAL LETTER H + 0x49: [683,0,386,49,508], // LATIN CAPITAL LETTER I + 0x4A: [683,21,525,78,622], // LATIN CAPITAL LETTER J + 0x4B: [683,0,769,54,859], // LATIN CAPITAL LETTER K + 0x4C: [683,0,627,54,628], // LATIN CAPITAL LETTER L + 0x4D: [683,0,897,58,1010], // LATIN CAPITAL LETTER M + 0x4E: [683,0,743,54,860], // LATIN CAPITAL LETTER N + 0x4F: [704,22,767,149,788], // LATIN CAPITAL LETTER O + 0x50: [683,0,678,55,729], // LATIN CAPITAL LETTER P + 0x51: [704,194,767,149,788], // LATIN CAPITAL LETTER Q + 0x52: [683,22,729,55,723], // LATIN CAPITAL LETTER R + 0x53: [705,22,562,74,633], // LATIN CAPITAL LETTER S + 0x54: [677,0,716,171,806], // LATIN CAPITAL LETTER T + 0x55: [683,22,743,194,860], // LATIN CAPITAL LETTER U + 0x56: [683,22,743,205,868], // LATIN CAPITAL LETTER V + 0x57: [683,22,999,205,1124], // LATIN CAPITAL LETTER W + 0x58: [683,0,743,50,825], // LATIN CAPITAL LETTER X + 0x59: [683,0,743,198,875], // LATIN CAPITAL LETTER Y + 0x5A: [683,0,613,80,704], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,307,73,446], // LEFT SQUARE BRACKET + 0x5D: [750,250,307,-14,359], // RIGHT SQUARE BRACKET + 0x5E: [694,-527,511,260,528], // CIRCUMFLEX ACCENT + 0x5F: [-25,62,511,91,554], // LOW LINE + 0x61: [442,11,511,101,543], // LATIN SMALL LETTER A + 0x62: [694,11,460,108,467], // LATIN SMALL LETTER B + 0x63: [441,10,460,103,469], // LATIN SMALL LETTER C + 0x64: [694,11,511,101,567], // LATIN SMALL LETTER D + 0x65: [442,10,460,107,470], // LATIN SMALL LETTER E + 0x66: [705,204,307,-23,450], // LATIN SMALL LETTER F + 0x67: [442,205,460,46,494], // LATIN SMALL LETTER G + 0x68: [694,11,511,69,544], // LATIN SMALL LETTER H + 0x69: [656,10,307,75,340], // LATIN SMALL LETTER I + 0x6A: [656,204,307,-32,364], // LATIN SMALL LETTER J + 0x6B: [694,11,460,69,498], // LATIN SMALL LETTER K + 0x6C: [694,11,256,87,312], // LATIN SMALL LETTER L + 0x6D: [442,11,818,75,851], // LATIN SMALL LETTER M + 0x6E: [442,11,562,75,595], // LATIN SMALL LETTER N + 0x6F: [442,11,511,103,517], // LATIN SMALL LETTER O + 0x70: [442,194,511,6,518], // LATIN SMALL LETTER P + 0x71: [442,194,460,101,504], // LATIN SMALL LETTER Q + 0x72: [442,11,422,75,484], // LATIN SMALL LETTER R + 0x73: [442,11,409,76,418], // LATIN SMALL LETTER S + 0x74: [626,11,332,87,373], // LATIN SMALL LETTER T + 0x75: [441,11,537,75,570], // LATIN SMALL LETTER U + 0x76: [443,10,460,75,492], // LATIN SMALL LETTER V + 0x77: [443,11,664,75,696], // LATIN SMALL LETTER W + 0x78: [442,11,464,58,513], // LATIN SMALL LETTER X + 0x79: [441,205,486,75,522], // LATIN SMALL LETTER Y + 0x7A: [442,11,409,54,466], // LATIN SMALL LETTER Z + 0x7E: [318,-208,511,246,571], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA3: [714,11,769,88,699], // POUND SIGN + 0x131: [441,10,307,75,340], // LATIN SMALL LETTER DOTLESS I + 0x237: [442,204,332,-32,327], // LATIN SMALL LETTER DOTLESS J + 0x300: [697,-500,0,-222,-74], // COMBINING GRAVE ACCENT + 0x301: [697,-500,0,-173,39], // COMBINING ACUTE ACCENT + 0x302: [694,-527,0,-251,17], // COMBINING CIRCUMFLEX ACCENT + 0x303: [668,-558,0,-265,60], // COMBINING TILDE + 0x304: [589,-544,0,-282,54], // COMBINING MACRON + 0x306: [694,-515,0,-237,62], // COMBINING BREVE + 0x307: [669,-548,0,-165,-41], // COMBINING DOT ABOVE + 0x308: [669,-554,0,-251,45], // COMBINING DIAERESIS + 0x30A: [716,-542,0,-199,3], // COMBINING RING ABOVE + 0x30B: [697,-503,0,-248,65], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [638,-502,0,-236,29], // COMBINING CARON + 0x393: [680,0,627,54,705], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,818,70,751], // GREEK CAPITAL LETTER DELTA + 0x398: [704,22,767,149,788], // GREEK CAPITAL LETTER THETA + 0x39B: [716,0,692,58,646], // GREEK CAPITAL LETTER LAMDA + 0x39E: [677,0,664,74,754], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,743,54,859], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,716,80,782], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,767,213,832], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,716,159,728], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,767,207,824], // GREEK CAPITAL LETTER PSI + 0x3A9: [705,0,716,100,759], // GREEK CAPITAL LETTER OMEGA + 0x2013: [285,-248,511,91,554], // EN DASH + 0x2014: [285,-248,1022,117,1038], // EM DASH + 0x2018: [694,-379,307,197,362], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-379,307,213,377], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-379,514,243,606], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-379,514,176,538], // RIGHT DOUBLE QUOTATION MARK + 0x210F: [695,13,540,42,562] // stix-/hbar - Planck's over 2pi + }; + + CHTML.FONTDATA.FONTS['MathJax_Main'] = { + centerline: 314, ascent: 900, descent: 272, + skew: { + 0x131: 0.0278, + 0x237: 0.0833, + 0x2113: 0.111, + 0x2118: 0.111, + 0x2202: 0.0833 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x21: [716,-1,278,78,199], // EXCLAMATION MARK + 0x22: [694,-379,500,34,372], // QUOTATION MARK + 0x23: [694,194,833,56,777], // NUMBER SIGN + 0x24: [750,56,500,55,444], // DOLLAR SIGN + 0x25: [750,56,833,56,776], // PERCENT SIGN + 0x26: [716,22,778,42,727], // AMPERSAND + 0x27: [694,-379,278,78,212], // APOSTROPHE + 0x28: [750,250,389,94,333], // LEFT PARENTHESIS + 0x29: [750,250,389,55,294], // RIGHT PARENTHESIS + 0x2A: [750,-320,500,64,435], // ASTERISK + 0x2B: [583,82,778,56,722], // PLUS SIGN + 0x2C: [121,194,278,78,210], // COMMA + 0x2D: [252,-179,333,11,277], // HYPHEN-MINUS + 0x2E: [120,0,278,78,199], // FULL STOP + 0x2F: [750,250,500,56,445], // SOLIDUS + 0x30: [666,22,500,39,460], // DIGIT ZERO + 0x31: [666,0,500,83,427], // DIGIT ONE + 0x32: [666,0,500,50,449], // DIGIT TWO + 0x33: [665,22,500,42,457], // DIGIT THREE + 0x34: [677,0,500,28,471], // DIGIT FOUR + 0x35: [666,22,500,50,449], // DIGIT FIVE + 0x36: [666,22,500,42,456], // DIGIT SIX + 0x37: [676,22,500,55,485], // DIGIT SEVEN + 0x38: [666,22,500,43,457], // DIGIT EIGHT + 0x39: [666,22,500,42,456], // DIGIT NINE + 0x3A: [430,0,278,78,199], // COLON + 0x3B: [430,194,278,78,202], // SEMICOLON + 0x3C: [540,40,778,83,694], // LESS-THAN SIGN + 0x3D: [367,-133,778,56,722], // EQUALS SIGN + 0x3E: [540,40,778,83,694], // GREATER-THAN SIGN + 0x3F: [705,-1,472,55,416], // QUESTION MARK + 0x40: [705,11,778,56,722], // COMMERCIAL AT + 0x41: [716,0,750,32,717], // LATIN CAPITAL LETTER A + 0x42: [683,0,708,28,651], // LATIN CAPITAL LETTER B + 0x43: [705,21,722,56,666], // LATIN CAPITAL LETTER C + 0x44: [683,0,764,27,708], // LATIN CAPITAL LETTER D + 0x45: [680,0,681,25,652], // LATIN CAPITAL LETTER E + 0x46: [680,0,653,25,610], // LATIN CAPITAL LETTER F + 0x47: [705,22,785,56,735], // LATIN CAPITAL LETTER G + 0x48: [683,0,750,25,724], // LATIN CAPITAL LETTER H + 0x49: [683,0,361,21,339], // LATIN CAPITAL LETTER I + 0x4A: [683,22,514,25,465], // LATIN CAPITAL LETTER J + 0x4B: [683,0,778,25,736], // LATIN CAPITAL LETTER K + 0x4C: [683,0,625,25,582], // LATIN CAPITAL LETTER L + 0x4D: [683,0,917,29,887], // LATIN CAPITAL LETTER M + 0x4E: [683,0,750,25,724], // LATIN CAPITAL LETTER N + 0x4F: [705,22,778,56,722], // LATIN CAPITAL LETTER O + 0x50: [683,0,681,27,624], // LATIN CAPITAL LETTER P + 0x51: [705,193,778,56,728], // LATIN CAPITAL LETTER Q + 0x52: [683,22,736,27,732], // LATIN CAPITAL LETTER R + 0x53: [705,22,556,55,500], // LATIN CAPITAL LETTER S + 0x54: [677,0,722,36,685], // LATIN CAPITAL LETTER T + 0x55: [683,22,750,25,724], // LATIN CAPITAL LETTER U + 0x56: [683,22,750,19,730], // LATIN CAPITAL LETTER V + 0x57: [683,22,1028,18,1009], // LATIN CAPITAL LETTER W + 0x58: [683,0,750,23,726], // LATIN CAPITAL LETTER X + 0x59: [683,0,750,11,738], // LATIN CAPITAL LETTER Y + 0x5A: [683,0,611,55,560], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,278,118,255], // LEFT SQUARE BRACKET + 0x5C: [750,250,500,56,444], // REVERSE SOLIDUS + 0x5D: [750,250,278,22,159], // RIGHT SQUARE BRACKET + 0x5E: [694,-531,500,112,387], // CIRCUMFLEX ACCENT + 0x5F: [-25,62,500,0,499], // LOW LINE + 0x60: [699,-505,500,106,295], // GRAVE ACCENT + 0x61: [448,11,500,34,493], // LATIN SMALL LETTER A + 0x62: [694,11,556,20,522], // LATIN SMALL LETTER B + 0x63: [448,11,444,34,415], // LATIN SMALL LETTER C + 0x64: [694,11,556,34,535], // LATIN SMALL LETTER D + 0x65: [448,11,444,28,415], // LATIN SMALL LETTER E + 0x66: [705,0,306,26,372], // LATIN SMALL LETTER F + 0x67: [453,206,500,29,485], // LATIN SMALL LETTER G + 0x68: [694,0,556,25,542], // LATIN SMALL LETTER H + 0x69: [669,0,278,26,255], // LATIN SMALL LETTER I + 0x6A: [669,205,306,-55,218], // LATIN SMALL LETTER J + 0x6B: [694,0,528,20,511], // LATIN SMALL LETTER K + 0x6C: [694,0,278,26,263], // LATIN SMALL LETTER L + 0x6D: [442,0,833,25,819], // LATIN SMALL LETTER M + 0x6E: [442,0,556,25,542], // LATIN SMALL LETTER N + 0x6F: [448,10,500,28,471], // LATIN SMALL LETTER O + 0x70: [442,194,556,20,522], // LATIN SMALL LETTER P + 0x71: [442,194,528,33,535], // LATIN SMALL LETTER Q + 0x72: [442,0,392,20,364], // LATIN SMALL LETTER R + 0x73: [448,11,394,33,359], // LATIN SMALL LETTER S + 0x74: [615,10,389,18,333], // LATIN SMALL LETTER T + 0x75: [442,11,556,25,542], // LATIN SMALL LETTER U + 0x76: [431,11,528,19,508], // LATIN SMALL LETTER V + 0x77: [431,11,722,18,703], // LATIN SMALL LETTER W + 0x78: [431,0,528,11,516], // LATIN SMALL LETTER X + 0x79: [431,204,528,19,508], // LATIN SMALL LETTER Y + 0x7A: [431,0,444,28,401], // LATIN SMALL LETTER Z + 0x7B: [750,250,500,65,434], // LEFT CURLY BRACKET + 0x7C: [750,249,278,119,159], // VERTICAL LINE + 0x7D: [750,250,500,65,434], // RIGHT CURLY BRACKET + 0x7E: [318,-215,500,83,416], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA8: [669,-554,500,95,404], // DIAERESIS + 0xAC: [356,-89,667,56,611], // NOT SIGN + 0xAF: [590,-544,500,69,430], // MACRON + 0xB0: [715,-542,500,147,352], // DEGREE SIGN + 0xB1: [666,0,778,56,722], // PLUS-MINUS SIGN + 0xB4: [699,-505,500,203,393], // ACUTE ACCENT + 0xD7: [491,-9,778,147,630], // MULTIPLICATION SIGN + 0xF7: [537,36,778,56,721], // DIVISION SIGN + 0x131: [442,0,278,26,255], // LATIN SMALL LETTER DOTLESS I + 0x237: [442,205,306,-55,218], // LATIN SMALL LETTER DOTLESS J + 0x2C6: [694,-531,500,112,387], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [644,-513,500,114,385], // CARON + 0x2C9: [590,-544,500,69,430], // MODIFIER LETTER MACRON + 0x2CA: [699,-505,500,203,393], // MODIFIER LETTER ACUTE ACCENT + 0x2CB: [699,-505,500,106,295], // MODIFIER LETTER GRAVE ACCENT + 0x2D8: [694,-515,500,92,407], // BREVE + 0x2D9: [669,-549,500,190,309], // DOT ABOVE + 0x2DC: [668,-565,500,83,416], // SMALL TILDE + 0x2DA: [715,-542,500,147,352], // RING ABOVE + 0x300: [699,-505,0,-394,-205], // COMBINING GRAVE ACCENT + 0x301: [699,-505,0,-297,-107], // COMBINING ACUTE ACCENT + 0x302: [694,-531,0,-388,-113], // COMBINING CIRCUMFLEX ACCENT + 0x303: [668,-565,0,-417,-84], // COMBINING TILDE + 0x304: [590,-544,0,-431,-70], // COMBINING MACRON + 0x306: [694,-515,0,-408,-93], // COMBINING BREVE + 0x307: [669,-549,0,-310,-191], // COMBINING DOT ABOVE + 0x308: [669,-554,0,-405,-96], // COMBINING DIAERESIS + 0x30A: [715,-542,0,-353,-148], // COMBINING RING ABOVE + 0x30B: [701,-510,0,-378,-80], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [644,-513,0,-386,-115], // COMBINING CARON + 0x338: [716,215,0,-639,-140], // COMBINING LONG SOLIDUS OVERLAY + 0x393: [680,0,625,25,582], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,833,46,786], // GREEK CAPITAL LETTER DELTA + 0x398: [705,22,778,56,722], // GREEK CAPITAL LETTER THETA + 0x39B: [716,0,694,32,661], // GREEK CAPITAL LETTER LAMDA + 0x39E: [677,0,667,42,624], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,750,25,724], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,722,55,666], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,778,55,722], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,722,56,665], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,778,55,722], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,0,722,44,677], // GREEK CAPITAL LETTER OMEGA + 0x2002: [0,0,500,0,0], // ?? + 0x2003: [0,0,999,0,0], // ?? + 0x2004: [0,0,333,0,0], // ?? + 0x2005: [0,0,250,0,0], // ?? + 0x2006: [0,0,167,0,0], // ?? + 0x2009: [0,0,167,0,0], // ?? + 0x200A: [0,0,83,0,0], // ?? + 0x2013: [285,-248,500,0,499], // EN DASH + 0x2014: [285,-248,1000,0,999], // EM DASH + 0x2018: [694,-379,278,64,198], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-379,278,78,212], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-379,500,128,466], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-379,500,34,372], // RIGHT DOUBLE QUOTATION MARK + 0x2020: [705,216,444,55,389], // DAGGER + 0x2021: [705,205,444,55,389], // DOUBLE DAGGER + 0x2026: [120,0,1172,78,1093], // HORIZONTAL ELLIPSIS + 0x2032: [560,-43,275,30,262], // PRIME + 0x20D7: [714,-516,0,-471,-29], // COMBINING RIGHT ARROW ABOVE + 0x210F: [695,13,540,42,562], // stix-/hbar - Planck's over 2pi + 0x2111: [705,10,722,55,693], // BLACK-LETTER CAPITAL I + 0x2113: [705,20,417,6,397], // SCRIPT SMALL L + 0x2118: [453,216,636,67,625], // SCRIPT CAPITAL P + 0x211C: [716,22,722,40,715], // BLACK-LETTER CAPITAL R + 0x2135: [694,0,611,55,555], // ALEF SYMBOL + 0x2190: [511,11,1000,55,944], // LEFTWARDS ARROW + 0x2191: [694,193,500,17,483], // UPWARDS ARROW + 0x2192: [511,11,1000,56,944], // RIGHTWARDS ARROW + 0x2193: [694,194,500,17,483], // DOWNWARDS ARROW + 0x2194: [511,11,1000,55,944], // LEFT RIGHT ARROW + 0x2195: [772,272,500,17,483], // UP DOWN ARROW + 0x2196: [720,195,1000,29,944], // NORTH WEST ARROW + 0x2197: [720,195,1000,55,970], // NORTH EAST ARROW + 0x2198: [695,220,1000,55,970], // SOUTH EAST ARROW + 0x2199: [695,220,1000,29,944], // SOUTH WEST ARROW + 0x21A6: [511,11,1000,55,944], // RIGHTWARDS ARROW FROM BAR + 0x21A9: [511,11,1126,55,1070], // LEFTWARDS ARROW WITH HOOK + 0x21AA: [511,11,1126,55,1070], // RIGHTWARDS ARROW WITH HOOK + 0x21BC: [511,-230,1000,55,944], // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BD: [270,11,1000,55,944], // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C0: [511,-230,1000,56,944], // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C1: [270,11,1000,56,944], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21CC: [671,11,1000,55,944], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21D0: [525,24,1000,56,944], // LEFTWARDS DOUBLE ARROW + 0x21D1: [694,194,611,31,579], // UPWARDS DOUBLE ARROW + 0x21D2: [525,24,1000,56,944], // RIGHTWARDS DOUBLE ARROW + 0x21D3: [694,194,611,31,579], // DOWNWARDS DOUBLE ARROW + 0x21D4: [526,25,1000,34,966], // LEFT RIGHT DOUBLE ARROW + 0x21D5: [772,272,611,31,579], // UP DOWN DOUBLE ARROW + 0x2200: [694,22,556,0,556], // FOR ALL + 0x2202: [715,22,531,42,566], // PARTIAL DIFFERENTIAL + 0x2203: [694,0,556,56,500], // THERE EXISTS + 0x2205: [772,78,500,39,460], // EMPTY SET + 0x2207: [683,33,833,46,786], // NABLA + 0x2208: [540,40,667,84,583], // ELEMENT OF + 0x2209: [716,215,667,84,583], // stix-negated (vert) set membership, variant + 0x220B: [540,40,667,83,582], // CONTAINS AS MEMBER + 0x2212: [270,-230,778,84,694], // MINUS SIGN + 0x2213: [500,166,778,56,722], // MINUS-OR-PLUS SIGN + 0x2215: [750,250,500,56,445], // DIVISION SLASH + 0x2216: [750,250,500,56,444], // SET MINUS + 0x2217: [465,-35,500,64,435], // ASTERISK OPERATOR + 0x2218: [444,-55,500,55,444], // RING OPERATOR + 0x2219: [444,-55,500,55,444], // BULLET OPERATOR + 0x221A: [800,200,833,72,853], // SQUARE ROOT + 0x221D: [442,11,778,56,722], // PROPORTIONAL TO + 0x221E: [442,11,1000,55,944], // INFINITY + 0x2220: [694,0,722,55,666], // ANGLE + 0x2223: [750,249,278,119,159], // DIVIDES + 0x2225: [750,250,500,132,367], // PARALLEL TO + 0x2227: [598,22,667,55,611], // LOGICAL AND + 0x2228: [598,22,667,55,611], // LOGICAL OR + 0x2229: [598,22,667,55,611], // stix-intersection, serifs + 0x222A: [598,22,667,55,611], // stix-union, serifs + 0x222B: [716,216,417,55,472], // INTEGRAL + 0x223C: [367,-133,778,55,722], // TILDE OPERATOR + 0x2240: [583,83,278,55,222], // WREATH PRODUCT + 0x2243: [464,-36,778,55,722], // ASYMPTOTICALLY EQUAL TO + 0x2245: [589,-22,1000,55,722], // APPROXIMATELY EQUAL TO + 0x2248: [483,-55,778,55,722], // ALMOST EQUAL TO + 0x224D: [484,-16,778,55,722], // EQUIVALENT TO + 0x2250: [670,-133,778,56,722], // APPROACHES THE LIMIT + 0x2260: [716,215,778,56,722], // stix-not (vert) equals + 0x2261: [464,-36,778,56,722], // IDENTICAL TO + 0x2264: [636,138,778,83,694], // LESS-THAN OR EQUAL TO + 0x2265: [636,138,778,83,694], // GREATER-THAN OR EQUAL TO + 0x226A: [568,67,1000,56,944], // MUCH LESS-THAN + 0x226B: [567,67,1000,55,944], // MUCH GREATER-THAN + 0x227A: [539,41,778,84,694], // PRECEDES + 0x227B: [539,41,778,83,694], // SUCCEEDS + 0x2282: [540,40,778,84,694], // SUBSET OF + 0x2283: [540,40,778,83,693], // SUPERSET OF + 0x2286: [636,138,778,84,694], // SUBSET OF OR EQUAL TO + 0x2287: [636,138,778,83,693], // SUPERSET OF OR EQUAL TO + 0x228E: [598,22,667,55,611], // MULTISET UNION + 0x2291: [636,138,778,84,714], // SQUARE IMAGE OF OR EQUAL TO + 0x2292: [636,138,778,64,694], // SQUARE ORIGINAL OF OR EQUAL TO + 0x2293: [598,0,667,61,605], // stix-square intersection, serifs + 0x2294: [598,0,667,61,605], // stix-square union, serifs + 0x2295: [583,83,778,56,722], // stix-circled plus (with rim) + 0x2296: [583,83,778,56,722], // CIRCLED MINUS + 0x2297: [583,83,778,56,722], // stix-circled times (with rim) + 0x2298: [583,83,778,56,722], // CIRCLED DIVISION SLASH + 0x2299: [583,83,778,56,722], // CIRCLED DOT OPERATOR + 0x22A2: [694,0,611,55,555], // RIGHT TACK + 0x22A3: [694,0,611,55,555], // LEFT TACK + 0x22A4: [668,0,778,55,723], // DOWN TACK + 0x22A5: [668,0,778,55,723], // UP TACK + 0x22A8: [750,249,867,119,811], // TRUE + 0x22C4: [488,-12,500,12,488], // DIAMOND OPERATOR + 0x22C5: [310,-190,278,78,199], // DOT OPERATOR + 0x22C6: [486,-16,500,3,497], // STAR OPERATOR + 0x22C8: [505,5,900,26,873], // BOWTIE + 0x22EE: [900,30,278,78,199], // VERTICAL ELLIPSIS + 0x22EF: [310,-190,1172,78,1093], // MIDLINE HORIZONTAL ELLIPSIS + 0x22F1: [820,-100,1282,133,1148], // DOWN RIGHT DIAGONAL ELLIPSIS + 0x2308: [750,250,444,174,422], // LEFT CEILING + 0x2309: [750,250,444,21,269], // RIGHT CEILING + 0x230A: [750,250,444,174,422], // LEFT FLOOR + 0x230B: [750,250,444,21,269], // RIGHT FLOOR + 0x2322: [388,-122,1000,55,944], // stix-small down curve + 0x2323: [378,-134,1000,55,944], // stix-small up curve + 0x23B0: [744,244,412,55,357], // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + 0x23B1: [744,244,412,56,357], // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + 0x25B3: [716,0,889,59,828], // WHITE UP-POINTING TRIANGLE + 0x25B9: [505,5,500,26,474], // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25BD: [500,215,889,59,828], // WHITE DOWN-POINTING TRIANGLE + 0x25C3: [505,5,500,26,473], // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25EF: [715,215,1000,56,944], // LARGE CIRCLE + 0x2660: [727,130,778,55,723], // BLACK SPADE SUIT + 0x2661: [716,33,778,55,723], // WHITE HEART SUIT + 0x2662: [727,162,778,55,723], // WHITE DIAMOND SUIT + 0x2663: [726,130,778,28,750], // BLACK CLUB SUIT + 0x266D: [750,22,389,55,332], // MUSIC FLAT SIGN + 0x266E: [734,223,389,65,324], // MUSIC NATURAL SIGN + 0x266F: [723,223,389,55,333], // MUSIC SHARP SIGN + 0x27E8: [750,250,389,110,333], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [750,250,389,55,278], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27EE: [744,244,412,173,357], // MATHEMATICAL LEFT FLATTENED PARENTHESIS + 0x27EF: [744,244,412,56,240], // MATHEMATICAL RIGHT FLATTENED PARENTHESIS + 0x27F5: [511,11,1609,55,1525], // LONG LEFTWARDS ARROW + 0x27F6: [511,11,1638,84,1553], // LONG RIGHTWARDS ARROW + 0x27F7: [511,11,1859,55,1803], // LONG LEFT RIGHT ARROW + 0x27F8: [525,24,1609,56,1553], // LONG LEFTWARDS DOUBLE ARROW + 0x27F9: [525,24,1638,56,1582], // LONG RIGHTWARDS DOUBLE ARROW + 0x27FA: [525,24,1858,56,1802], // LONG LEFT RIGHT DOUBLE ARROW + 0x27FC: [511,11,1638,55,1553], // LONG RIGHTWARDS ARROW FROM BAR + 0x2A3F: [683,0,750,28,721], // AMALGAMATION OR COPRODUCT + 0x2AAF: [636,138,778,84,694], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [636,138,778,83,694] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + }; + + CHTML.FONTDATA.FONTS['MathJax_Math-Italic'] = { + centerline: 250, ascent: 717, descent: 218, + style: 'italic', + skew: { + 0x41: 0.139, + 0x42: 0.0833, + 0x43: 0.0833, + 0x44: 0.0556, + 0x45: 0.0833, + 0x46: 0.0833, + 0x47: 0.0833, + 0x48: 0.0556, + 0x49: 0.111, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.0278, + 0x4D: 0.0833, + 0x4E: 0.0833, + 0x4F: 0.0833, + 0x50: 0.0833, + 0x51: 0.0833, + 0x52: 0.0833, + 0x53: 0.0833, + 0x54: 0.0833, + 0x55: 0.0278, + 0x58: 0.0833, + 0x5A: 0.0833, + 0x63: 0.0556, + 0x64: 0.167, + 0x65: 0.0556, + 0x66: 0.167, + 0x67: 0.0278, + 0x68: -0.0278, + 0x6C: 0.0833, + 0x6F: 0.0556, + 0x70: 0.0833, + 0x71: 0.0833, + 0x72: 0.0556, + 0x73: 0.0556, + 0x74: 0.0833, + 0x75: 0.0278, + 0x76: 0.0278, + 0x77: 0.0833, + 0x78: 0.0278, + 0x79: 0.0556, + 0x7A: 0.0556, + 0x393: 0.0833, + 0x394: 0.167, + 0x398: 0.0833, + 0x39B: 0.167, + 0x39E: 0.0833, + 0x3A0: 0.0556, + 0x3A3: 0.0833, + 0x3A5: 0.0556, + 0x3A6: 0.0833, + 0x3A8: 0.0556, + 0x3A9: 0.0833, + 0x3B1: 0.0278, + 0x3B2: 0.0833, + 0x3B4: 0.0556, + 0x3B5: 0.0833, + 0x3B6: 0.0833, + 0x3B7: 0.0556, + 0x3B8: 0.0833, + 0x3B9: 0.0556, + 0x3BC: 0.0278, + 0x3BD: 0.0278, + 0x3BE: 0.111, + 0x3BF: 0.0556, + 0x3C1: 0.0833, + 0x3C2: 0.0833, + 0x3C4: 0.0278, + 0x3C5: 0.0278, + 0x3C6: 0.0833, + 0x3C7: 0.0556, + 0x3C8: 0.111, + 0x3D1: 0.0833, + 0x3D5: 0.0833, + 0x3F1: 0.0833, + 0x3F5: 0.0556 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x2F: [716,215,778,139,638], // SOLIDUS + 0x41: [716,0,750,35,726], // LATIN CAPITAL LETTER A + 0x42: [683,0,759,35,756], // LATIN CAPITAL LETTER B + 0x43: [705,22,715,50,760], // LATIN CAPITAL LETTER C + 0x44: [683,0,828,33,803], // LATIN CAPITAL LETTER D + 0x45: [680,0,738,31,764], // LATIN CAPITAL LETTER E + 0x46: [680,0,643,31,749], // LATIN CAPITAL LETTER F + 0x47: [705,22,786,50,760], // LATIN CAPITAL LETTER G + 0x48: [683,0,831,31,888], // LATIN CAPITAL LETTER H + 0x49: [683,0,440,26,504], // LATIN CAPITAL LETTER I + 0x4A: [683,22,555,57,633], // LATIN CAPITAL LETTER J + 0x4B: [683,0,849,31,889], // LATIN CAPITAL LETTER K + 0x4C: [683,0,681,32,647], // LATIN CAPITAL LETTER L + 0x4D: [683,0,970,35,1051], // LATIN CAPITAL LETTER M + 0x4E: [683,0,803,31,888], // LATIN CAPITAL LETTER N + 0x4F: [704,22,763,50,740], // LATIN CAPITAL LETTER O + 0x50: [683,0,642,33,751], // LATIN CAPITAL LETTER P + 0x51: [704,194,791,50,740], // LATIN CAPITAL LETTER Q + 0x52: [683,21,759,33,755], // LATIN CAPITAL LETTER R + 0x53: [705,22,613,52,645], // LATIN CAPITAL LETTER S + 0x54: [677,0,584,21,704], // LATIN CAPITAL LETTER T + 0x55: [683,22,683,60,767], // LATIN CAPITAL LETTER U + 0x56: [683,22,583,52,769], // LATIN CAPITAL LETTER V + 0x57: [683,22,944,51,1048], // LATIN CAPITAL LETTER W + 0x58: [683,0,828,26,852], // LATIN CAPITAL LETTER X + 0x59: [683,-1,581,30,763], // LATIN CAPITAL LETTER Y + 0x5A: [683,0,683,58,723], // LATIN CAPITAL LETTER Z + 0x61: [441,10,529,33,506], // LATIN SMALL LETTER A + 0x62: [694,11,429,40,422], // LATIN SMALL LETTER B + 0x63: [442,11,433,34,429], // LATIN SMALL LETTER C + 0x64: [694,10,520,33,523], // LATIN SMALL LETTER D + 0x65: [442,11,466,39,429], // LATIN SMALL LETTER E + 0x66: [705,205,490,55,550], // LATIN SMALL LETTER F + 0x67: [442,205,477,10,480], // LATIN SMALL LETTER G + 0x68: [694,11,576,48,555], // LATIN SMALL LETTER H + 0x69: [661,11,345,21,302], // LATIN SMALL LETTER I + 0x6A: [661,204,412,-12,403], // LATIN SMALL LETTER J + 0x6B: [694,11,521,48,503], // LATIN SMALL LETTER K + 0x6C: [694,11,298,38,266], // LATIN SMALL LETTER L + 0x6D: [442,11,878,21,857], // LATIN SMALL LETTER M + 0x6E: [442,11,600,21,580], // LATIN SMALL LETTER N + 0x6F: [441,11,485,34,476], // LATIN SMALL LETTER O + 0x70: [442,194,503,-39,497], // LATIN SMALL LETTER P + 0x71: [442,194,446,33,460], // LATIN SMALL LETTER Q + 0x72: [442,11,451,21,430], // LATIN SMALL LETTER R + 0x73: [442,10,469,53,419], // LATIN SMALL LETTER S + 0x74: [626,11,361,19,330], // LATIN SMALL LETTER T + 0x75: [442,11,572,21,551], // LATIN SMALL LETTER U + 0x76: [443,11,485,21,467], // LATIN SMALL LETTER V + 0x77: [443,11,716,21,690], // LATIN SMALL LETTER W + 0x78: [442,11,572,35,522], // LATIN SMALL LETTER X + 0x79: [442,205,490,21,496], // LATIN SMALL LETTER Y + 0x7A: [442,11,465,35,468], // LATIN SMALL LETTER Z + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,-1,615,31,721], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,833,48,788], // GREEK CAPITAL LETTER DELTA + 0x398: [704,22,763,50,740], // GREEK CAPITAL LETTER THETA + 0x39B: [716,0,694,35,670], // GREEK CAPITAL LETTER LAMDA + 0x39E: [677,0,742,53,777], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,831,31,887], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,780,58,806], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,583,28,700], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,667,24,642], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,612,21,692], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,0,772,80,786], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [442,11,640,34,603], // GREEK SMALL LETTER ALPHA + 0x3B2: [705,194,566,23,573], // GREEK SMALL LETTER BETA + 0x3B3: [441,216,518,11,543], // GREEK SMALL LETTER GAMMA + 0x3B4: [717,10,444,36,451], // GREEK SMALL LETTER DELTA + 0x3B5: [452,22,466,27,428], // GREEK SMALL LETTER EPSILON + 0x3B6: [704,204,438,44,471], // GREEK SMALL LETTER ZETA + 0x3B7: [442,216,497,21,503], // GREEK SMALL LETTER ETA + 0x3B8: [705,10,469,35,462], // GREEK SMALL LETTER THETA + 0x3B9: [442,10,354,48,332], // GREEK SMALL LETTER IOTA + 0x3BA: [442,11,576,49,554], // GREEK SMALL LETTER KAPPA + 0x3BB: [694,12,583,47,556], // GREEK SMALL LETTER LAMDA + 0x3BC: [442,216,603,23,580], // GREEK SMALL LETTER MU + 0x3BD: [442,2,494,45,530], // GREEK SMALL LETTER NU + 0x3BE: [704,205,438,21,443], // GREEK SMALL LETTER XI + 0x3BF: [441,11,485,34,476], // GREEK SMALL LETTER OMICRON + 0x3C0: [431,11,570,19,573], // GREEK SMALL LETTER PI + 0x3C1: [442,216,517,23,510], // GREEK SMALL LETTER RHO + 0x3C2: [442,107,363,31,405], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [431,11,571,31,572], // GREEK SMALL LETTER SIGMA + 0x3C4: [431,13,437,18,517], // GREEK SMALL LETTER TAU + 0x3C5: [443,10,540,21,523], // GREEK SMALL LETTER UPSILON + 0x3C6: [442,218,654,50,618], // GREEK SMALL LETTER PHI + 0x3C7: [442,204,626,25,600], // GREEK SMALL LETTER CHI + 0x3C8: [694,205,651,21,634], // GREEK SMALL LETTER PSI + 0x3C9: [443,11,622,15,604], // GREEK SMALL LETTER OMEGA + 0x3D1: [705,11,591,21,563], // GREEK THETA SYMBOL + 0x3D5: [694,205,596,43,579], // GREEK PHI SYMBOL + 0x3D6: [431,10,828,19,823], // GREEK PI SYMBOL + 0x3F1: [442,194,517,67,510], // GREEK RHO SYMBOL + 0x3F5: [431,11,406,40,382] // GREEK LUNATE EPSILON SYMBOL + }; + + CHTML.FONTDATA.FONTS['MathJax_Size1'] = { + centerline: 250, ascent: 850, descent: 350, + 0x20: [0,0,250,0,0], // SPACE + 0x28: [850,349,458,152,422], // LEFT PARENTHESIS + 0x29: [850,349,458,35,305], // RIGHT PARENTHESIS + 0x2F: [850,349,578,55,522], // SOLIDUS + 0x5B: [850,349,417,202,394], // LEFT SQUARE BRACKET + 0x5C: [850,349,578,54,522], // REVERSE SOLIDUS + 0x5D: [850,349,417,22,214], // RIGHT SQUARE BRACKET + 0x7B: [850,349,583,105,477], // LEFT CURLY BRACKET + 0x7D: [850,349,583,105,477], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [744,-551,556,-8,564], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [722,-597,556,1,554], // SMALL TILDE + 0x302: [744,-551,0,-564,8], // COMBINING CIRCUMFLEX ACCENT + 0x303: [722,-597,0,-555,-2], // COMBINING TILDE + 0x2016: [602,0,778,257,521], // DOUBLE VERTICAL LINE + 0x2191: [600,0,667,112,555], // UPWARDS ARROW + 0x2193: [600,0,667,112,555], // DOWNWARDS ARROW + 0x21D1: [599,0,778,57,721], // UPWARDS DOUBLE ARROW + 0x21D3: [600,-1,778,57,721], // DOWNWARDS DOUBLE ARROW + 0x220F: [750,250,944,55,888], // N-ARY PRODUCT + 0x2210: [750,250,944,55,888], // N-ARY COPRODUCT + 0x2211: [750,250,1056,56,999], // N-ARY SUMMATION + 0x221A: [850,350,1000,111,1020], // SQUARE ROOT + 0x2223: [627,15,333,145,188], // DIVIDES + 0x2225: [627,15,556,145,410], // PARALLEL TO + 0x222B: [805,306,472,55,610], // INTEGRAL + 0x222C: [805,306,819,55,957], // DOUBLE INTEGRAL + 0x222D: [805,306,1166,55,1304], // TRIPLE INTEGRAL + 0x222E: [805,306,472,55,610], // CONTOUR INTEGRAL + 0x22C0: [750,249,833,55,777], // N-ARY LOGICAL AND + 0x22C1: [750,249,833,55,777], // N-ARY LOGICAL OR + 0x22C2: [750,249,833,55,777], // N-ARY INTERSECTION + 0x22C3: [750,249,833,55,777], // N-ARY UNION + 0x2308: [850,349,472,202,449], // LEFT CEILING + 0x2309: [850,349,472,22,269], // RIGHT CEILING + 0x230A: [850,349,472,202,449], // LEFT FLOOR + 0x230B: [850,349,472,22,269], // RIGHT FLOOR + 0x23D0: [602,0,667,312,355], // VERTICAL LINE EXTENSION (used to extend arrows) + 0x27E8: [850,350,472,97,394], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [850,350,472,77,374], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x2A00: [750,250,1111,56,1054], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [750,250,1111,56,1054], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [750,250,1111,56,1054], // N-ARY CIRCLED TIMES OPERATOR + 0x2A04: [750,249,833,55,777], // N-ARY UNION OPERATOR WITH PLUS + 0x2A06: [750,249,833,55,777] // N-ARY SQUARE UNION OPERATOR + }; + + CHTML.FONTDATA.FONTS['MathJax_Size2'] = { + centerline: 249, ascent: 1360, descent: 862, + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1150,649,597,180,561], // LEFT PARENTHESIS + 0x29: [1150,649,597,35,416], // RIGHT PARENTHESIS + 0x2F: [1150,649,811,56,754], // SOLIDUS + 0x5B: [1150,649,472,224,455], // LEFT SQUARE BRACKET + 0x5C: [1150,649,811,54,754], // REVERSE SOLIDUS + 0x5D: [1150,649,472,16,247], // RIGHT SQUARE BRACKET + 0x7B: [1150,649,667,119,547], // LEFT CURLY BRACKET + 0x7D: [1150,649,667,119,547], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [772,-565,1000,-5,1004], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [750,-611,1000,0,999], // SMALL TILDE + 0x302: [772,-565,0,-1005,4], // COMBINING CIRCUMFLEX ACCENT + 0x303: [750,-611,0,-1000,-1], // COMBINING TILDE + 0x220F: [950,450,1278,56,1221], // N-ARY PRODUCT + 0x2210: [950,450,1278,56,1221], // N-ARY COPRODUCT + 0x2211: [950,450,1444,55,1388], // N-ARY SUMMATION + 0x221A: [1150,650,1000,111,1020], // SQUARE ROOT + 0x222B: [1360,862,556,55,944], // INTEGRAL + 0x222C: [1360,862,1084,55,1472], // DOUBLE INTEGRAL + 0x222D: [1360,862,1592,55,1980], // TRIPLE INTEGRAL + 0x222E: [1360,862,556,55,944], // CONTOUR INTEGRAL + 0x22C0: [950,450,1111,55,1055], // N-ARY LOGICAL AND + 0x22C1: [950,450,1111,55,1055], // N-ARY LOGICAL OR + 0x22C2: [949,450,1111,55,1055], // N-ARY INTERSECTION + 0x22C3: [950,449,1111,55,1055], // N-ARY UNION + 0x2308: [1150,649,528,224,511], // LEFT CEILING + 0x2309: [1150,649,528,16,303], // RIGHT CEILING + 0x230A: [1150,649,528,224,511], // LEFT FLOOR + 0x230B: [1150,649,528,16,303], // RIGHT FLOOR + 0x27E8: [1150,649,611,112,524], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1150,649,611,85,498], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x2A00: [949,449,1511,56,1454], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [949,449,1511,56,1454], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [949,449,1511,56,1454], // N-ARY CIRCLED TIMES OPERATOR + 0x2A04: [950,449,1111,55,1055], // N-ARY UNION OPERATOR WITH PLUS + 0x2A06: [950,450,1111,55,1055] // N-ARY SQUARE UNION OPERATOR + }; + + CHTML.FONTDATA.FONTS['MathJax_Size3'] = { + centerline: 250, ascent: 1450, descent: 950, + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1450,949,736,209,701], // LEFT PARENTHESIS + 0x29: [1450,949,736,34,526], // RIGHT PARENTHESIS + 0x2F: [1450,949,1044,55,989], // SOLIDUS + 0x5B: [1450,949,528,247,516], // LEFT SQUARE BRACKET + 0x5C: [1450,949,1044,56,988], // REVERSE SOLIDUS + 0x5D: [1450,949,528,11,280], // RIGHT SQUARE BRACKET + 0x7B: [1450,949,750,130,618], // LEFT CURLY BRACKET + 0x7D: [1450,949,750,131,618], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [772,-564,1444,-4,1447], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [749,-610,1444,1,1442], // SMALL TILDE + 0x302: [772,-564,0,-1448,3], // COMBINING CIRCUMFLEX ACCENT + 0x303: [749,-610,0,-1443,-2], // COMBINING TILDE + 0x221A: [1450,950,1000,111,1020], // SQUARE ROOT + 0x2308: [1450,949,583,246,571], // LEFT CEILING + 0x2309: [1450,949,583,11,336], // RIGHT CEILING + 0x230A: [1450,949,583,246,571], // LEFT FLOOR + 0x230B: [1450,949,583,11,336], // RIGHT FLOOR + 0x27E8: [1450,950,750,126,654], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1450,949,750,94,623] // MATHEMATICAL RIGHT ANGLE BRACKET + }; + + CHTML.FONTDATA.FONTS['MathJax_Size4'] = { + centerline: 250, ascent: 1750, descent: 1250, + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1750,1249,792,237,758], // LEFT PARENTHESIS + 0x29: [1750,1249,792,33,554], // RIGHT PARENTHESIS + 0x2F: [1750,1249,1278,56,1221], // SOLIDUS + 0x5B: [1750,1249,583,269,577], // LEFT SQUARE BRACKET + 0x5C: [1750,1249,1278,56,1221], // REVERSE SOLIDUS + 0x5D: [1750,1249,583,5,313], // RIGHT SQUARE BRACKET + 0x7B: [1750,1249,806,144,661], // LEFT CURLY BRACKET + 0x7D: [1750,1249,806,144,661], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [845,-561,1889,-14,1902], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [823,-583,1889,1,1885], // SMALL TILDE + 0x302: [845,-561,0,-1903,13], // COMBINING CIRCUMFLEX ACCENT + 0x303: [823,-583,0,-1888,-4], // COMBINING TILDE + 0x221A: [1750,1250,1000,111,1020], // SQUARE ROOT + 0x2308: [1750,1249,639,269,633], // LEFT CEILING + 0x2309: [1750,1249,639,5,369], // RIGHT CEILING + 0x230A: [1750,1249,639,269,633], // LEFT FLOOR + 0x230B: [1750,1249,639,5,369], // RIGHT FLOOR + 0x239B: [1154,655,875,291,843], // LEFT PARENTHESIS UPPER HOOK + 0x239C: [610,10,875,291,417], // LEFT PARENTHESIS EXTENSION + 0x239D: [1165,644,875,291,843], // LEFT PARENTHESIS LOWER HOOK + 0x239E: [1154,655,875,31,583], // RIGHT PARENTHESIS UPPER HOOK + 0x239F: [610,10,875,457,583], // RIGHT PARENTHESIS EXTENSION + 0x23A0: [1165,644,875,31,583], // RIGHT PARENTHESIS LOWER HOOK + 0x23A1: [1154,645,667,319,666], // LEFT SQUARE BRACKET UPPER CORNER + 0x23A2: [602,0,667,319,403], // LEFT SQUARE BRACKET EXTENSION + 0x23A3: [1155,644,667,319,666], // LEFT SQUARE BRACKET LOWER CORNER + 0x23A4: [1154,645,667,0,347], // RIGHT SQUARE BRACKET UPPER CORNER + 0x23A5: [602,0,667,263,347], // RIGHT SQUARE BRACKET EXTENSION + 0x23A6: [1155,644,667,0,347], // RIGHT SQUARE BRACKET LOWER CORNER + 0x23A7: [899,10,889,384,718], // LEFT CURLY BRACKET UPPER HOOK + 0x23A8: [1160,660,889,170,504], // LEFT CURLY BRACKET MIDDLE PIECE + 0x23A9: [10,899,889,384,718], // LEFT CURLY BRACKET LOWER HOOK + 0x23AA: [310,10,889,384,504], // CURLY BRACKET EXTENSION + 0x23AB: [899,10,889,170,504], // RIGHT CURLY BRACKET UPPER HOOK + 0x23AC: [1160,660,889,384,718], // RIGHT CURLY BRACKET MIDDLE PIECE + 0x23AD: [10,899,889,170,504], // RIGHT CURLY BRACKET LOWER HOOK + 0x23B7: [935,885,1056,111,742], // RADICAL SYMBOL BOTTOM + 0x27E8: [1750,1248,806,140,703], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1750,1248,806,103,665], // MATHEMATICAL RIGHT ANGLE BRACKET + 0xE000: [625,14,1056,702,742], // stix-radical symbol vertical extender + 0xE001: [605,14,1056,702,1076], // stix-radical symbol top corner piece + 0xE150: [120,213,450,-24,460], // stix-horizontal brace, down left piece + 0xE151: [120,213,450,-10,474], // stix-horizontal brace, down right piece + 0xE152: [333,0,450,-24,460], // stix-horizontal brace, upper left piece + 0xE153: [333,0,450,-10,474], // stix-horizontal brace, upper right piece + 0xE154: [120,0,400,-10,410] // stix-oblique open face capital letter A + }; + + CHTML.FONTDATA.FONTS['MathJax_Vector'] = { + centerline: 257, ascent: 714, descent: 200, + 0x2192: [714,-516,500,29,471] // vector arrow + }; + + CHTML.FONTDATA.FONTS['MathJax_Vector-Bold'] = { + centerline: 256, ascent: 723, descent: 210, + 0x2192: [723,-513,575,33,542] // vector arrow + }; + + CHTML.FONTDATA.FONTS[MAIN][0x2212][0] = CHTML.FONTDATA.FONTS[MAIN][0x002B][0]; // minus is sized as plus + CHTML.FONTDATA.FONTS[MAIN][0x2212][1] = CHTML.FONTDATA.FONTS[MAIN][0x002B][1]; // minus is sized as plus + CHTML.FONTDATA.FONTS[MAIN][0x22EE][0] += 400; // adjust height for \vdots + CHTML.FONTDATA.FONTS[MAIN][0x22F1][0] += 700; // adjust height for \ddots + CHTML.FONTDATA.FONTS[SIZE4][0x23AA][0] -= 20; + CHTML.FONTDATA.FONTS[SIZE4][0x23AA][1] += 5; + CHTML.FONTDATA.FONTS[SIZE4][0xE154][0] += 200; // adjust height for brace extender + CHTML.FONTDATA.FONTS[SIZE4][0xE154][1] += 200; // adjust depth for brace extender + CHTML.FONTDATA.FONTS[MAIN][0x2245][2] -= 222; // fix error in character's right bearing + CHTML.FONTDATA.FONTS[MAIN][0x2245][5] = {rfix:-222}; // fix error in character's right bearing + MathJax.Hub.Register.LoadHook(CHTML.fontDir+"/TeX/Main-Bold.js",function () { + CHTML.FONTDATA.FONTS[BOLD][0x2245][2] -= 106; // fix error in character's right bearing + CHTML.FONTDATA.FONTS[BOLD][0x2245][5] = {rfix:-106}; // fix error in character's right bearing + }); + MathJax.Hub.Register.LoadHook(CHTML.fontDir+"/TeX/Typewriter-Regular.js",function () { + CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0x20][2] += 275; // fix error in character width + CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0x20][5] = {rfix:275}; // fix error in character width + CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0xA0][2] += 275; // fix error in character width + CHTML.FONTDATA.FONTS['MathJax_Typewriter'][0xA0][5] = {rfix:275}; // fix error in character width + }); + + // + // Add some spacing characters + // + MathJax.Hub.Insert(CHTML.FONTDATA.FONTS[MAIN],{ + remapCombining: { + 0x300: 0x2CB, // grave accent + 0x301: 0x2CA, // acute accent + 0x302: 0x2C6, // curcumflex + 0x303: 0x2DC, // tilde accent + 0x304: 0x2C9, // macron + 0x306: 0x2D8, // breve + 0x307: 0x2D9, // dot + 0x308: 0xA8, // diaresis + 0x30A: 0x2DA, // ring above +// 0x30B: ?? // double acute accent + 0x30C: 0x2C7, // caron + 0x338: [0x2F, ITALIC], // \not + 0x20D7: [0x2192, 'MathJax_Vector'] // \vec + }, + 0x2000: [0,0,500,0,0,{space:1}], // en space + 0x2001: [0,0,1000,0,0,{space:1}], // em quad + 0x2002: [0,0,500,0,0,{space:1}], // en quad + 0x2003: [0,0,1000,0,0,{space:1}], // em space + 0x2004: [0,0,333,0,0,{space:1}], // 3-per-em space + 0x2005: [0,0,250,0,0,{space:1}], // 4-per-em space + 0x2006: [0,0,167,0,0,{space:1}], // 6-per-em space + 0x2009: [0,0,167,0,0,{space:1}], // thin space + 0x200A: [0,0,100,0,0,{space:1}], // hair space + 0x200B: [0,0,0,0,0,{space:1}], // zero-width space + 0x200C: [0,0,0,0,0,{space:1}], // zero-width non-joiner space + 0x2061: [0,0,0,0,0,{space:1}], // function application + 0x2062: [0,0,0,0,0,{space:1}], // invisible times + 0x2063: [0,0,0,0,0,{space:1}], // invisible separator + 0x2064: [0,0,0,0,0,{space:1}], // invisible plus + 0xEEE0: [0,0,-575,0,0,{space:1}], + 0xEEE1: [0,0,-300,0,0,{space:1}], + 0xEEE8: [0,0,25,0,0,{space:1}] + }); + MathJax.Hub.Insert(CHTML.FONTDATA.FONTS['MathJax_Main-Italic'],{ + remapCombining: { + 0x300: [0x2CB, MAIN], // grave accent + 0x301: [0x2CA, MAIN], // acute accent + 0x302: [0x2C6, MAIN], // curcumflex + 0x303: [0x2DC, MAIN], // tilde accent + 0x304: [0x2C9, MAIN], // macron + 0x306: [0x2D8, MAIN], // breve + 0x307: [0x2D9, MAIN], // dot + 0x308: [0xA8, MAIN], // diaresis + 0x30A: [0x2DA, MAIN], // ring above +// 0x30B: ?? // double acute accent + 0x30C: [0x2C7, MAIN], // caron + 0x338: [0x2F, 'MathJax_Vector'] // \not + } + }); + MathJax.Hub.Insert(CHTML.FONTDATA.FONTS['MathJax_Main-Bold'],{ + remapCombining: { + 0x300: 0x2CB, // grave accent + 0x301: 0x2CA, // acute accent + 0x302: 0x2C6, // curcumflex + 0x303: 0x2DC, // tilde accent + 0x304: 0x2C9, // macron + 0x306: 0x2D8, // breve + 0x307: 0x2D9, // dot + 0x308: 0xA8, // diaresis + 0x30A: 0x2DA, // ring above +// 0x30B: ?? // double acute accent + 0x30C: 0x2C7, // caron + 0x338: [0x2F, 'MathJax_Math-BoldItalic'], // \not + 0x20D7: [0x2192, 'MathJax_Vector-Bold'] // \vec + } + }); + + // + // Create @font-face stylesheet for the declared fonts + // + CHTML.FONTDATA.familyName = function (font) { + font = font.replace(/^MathJax_/,""); + var names = (font+"-Regular").split(/-/); + var suffix = names[0].toLowerCase().replace(/(?:igraphic|serif|writer|tur|tor)$/,"") + + "-" + names[1].replace(/[^A-Z]/g,""); + return "MJXc-TeX-"+suffix; + }; + (function () { + var STYLES = CHTML.config.styles, FONTS = CHTML.FONTDATA.FONTS; + var OTFDIR = AJAX.fileURL(CHTML.webfontDir+"/TeX/otf"), + EOTDIR = AJAX.fileURL(CHTML.webfontDir+"/TeX/eot"), + WOFFDIR = AJAX.fileURL(CHTML.webfontDir+"/TeX/woff"); + var faces = []; + for (var name in FONTS) {if (FONTS.hasOwnProperty(name)) { + var family = CHTML.FONTDATA.familyName(name), FAMILY = family; + var variant = ((name+"-Regular").split(/-/))[1]; + FONTS[name].className = family; + // + // The local font, if found + // + var font = {"font-family":family}; + name = name.replace(/-.*/,""); + if (variant === "Regular") { + font.src = "local('"+name+"'), local('"+name+"-Regular')"; + } else { + font.src = "local('"+name+" "+variant+"'), local('"+name+"-"+variant+"')"; + } + faces.push(font); + // + // For Chrome, need to have separate font-weight and font-style versions + // + if (variant !== "Regular") { + font = {"font-family":family+"x", src:"local('"+name+"')"}; + if (variant.match(/Bold/)) font["font-weight"] = "bold"; + if (variant.match(/Italic/)) font["font-style"] = "italic"; + FAMILY += ","+family+"x"; + faces.push(font); + } + // + // The web font, if no local font found + // + font = { + "font-family": family+"w", + "src /*1*/": "url('"+EOTDIR+"/"+name+"-"+variant+".eot')", // for IE8 + "src /*2*/": [ + "url('"+WOFFDIR+"/"+name+"-"+variant+".woff') format('woff')", + "url('"+OTFDIR+"/"+name+"-"+variant+".otf') format('opentype')" + ].join(", ") + }; + faces.push(font); + // + // A class that looks for the local and web fonts + // + FAMILY += ","+family+"w"; + STYLES["."+family] = {"font-family":FAMILY}; + }} + if (faces.length) STYLES["@font-face"] = faces; + })(); + + CHTML.fontLoaded("TeX/fontdata"); + +})(MathJax.OutputJax.CommonHTML,MathJax.ElementJax.mml,MathJax.Ajax); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/jax.js new file mode 100644 index 00000000..5d48d26e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/CommonHTML/jax.js @@ -0,0 +1,2841 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/CommonHTML/jax.js + * + * Implements the CommonHTML OutputJax that displays mathematics + * using HTML and CSS to position the characters from math fonts + * in their proper locations. Unlike the HTML-CSS output jax, + * this HTML is browser and OS independent. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + + +(function (AJAX,HUB,HTML,CHTML) { + var MML; + var isArray = MathJax.Object.isArray; + + var EVENT, TOUCH, HOVER; // filled in later + + var STRUTHEIGHT = 1, + EFUZZ = .1, // overlap needed for stretchy delimiters + HFUZZ = .025, DFUZZ = .025; // adjustments to bounding box of character boxes + + var STYLES = { + ".mjx-chtml": { + display: "inline-block", + "line-height": 0, + "text-indent": 0, + "text-align": "left", + "text-transform": "none", + "font-style": "normal", + "font-weight": "normal", + "font-size": "100%", + "font-size-adjust":"none", + "letter-spacing": "normal", + "word-wrap": "normal", + "word-spacing": "normal", + "white-space": "nowrap", + "float": "none", + "direction": "ltr", + "max-width": "none", + "max-height": "none", + "min-width": 0, + "min-height": 0, + border: 0, + margin: 0, + padding: "1px 0" + }, + ".MJXc-display": { + display: "block", + "text-align": "center", + "margin": "1em 0", + padding: 0 + }, + ".mjx-chtml[tabindex]:focus, body :focus .mjx-chtml[tabindex]": { + display: "inline-table" // see issues #1282 and #1338 + }, + ".mjx-full-width": { + "text-align": "center", + display: "table-cell!important", + width: "10000em" + }, + + ".mjx-math": { + "display": "inline-block", + "border-collapse": "separate", + "border-spacing": 0 + }, + ".mjx-math *": { + display:"inline-block", + "-webkit-box-sizing": "content-box!important", + "-moz-box-sizing": "content-box!important", + "box-sizing": "content-box!important", // override bootstrap settings + "text-align":"left" + }, + + ".mjx-numerator": {display:"block", "text-align":"center"}, + ".mjx-denominator": {display:"block", "text-align":"center"}, + ".MJXc-stacked": {height:0, position:"relative"}, + ".MJXc-stacked > *": {position: "absolute"}, + ".MJXc-bevelled > *": {display:"inline-block"}, + + ".mjx-stack": {display:"inline-block"}, + ".mjx-op": {display:"block"}, + ".mjx-under": {display:"table-cell"}, + ".mjx-over": {display:"block"}, + ".mjx-over > *": {"padding-left":"0px!important", "padding-right":"0px!important"}, + ".mjx-under > *": {"padding-left":"0px!important", "padding-right":"0px!important"}, + + ".mjx-stack > .mjx-sup": {display:"block"}, + ".mjx-stack > .mjx-sub": {display:"block"}, + ".mjx-prestack > .mjx-presup": {display:"block"}, + ".mjx-prestack > .mjx-presub": {display:"block"}, + + ".mjx-delim-h > .mjx-char": {display:"inline-block"}, + + ".mjx-surd": {"vertical-align":"top"}, + + ".mjx-mphantom *": {visibility:"hidden"}, + + ".mjx-merror": { + "background-color":"#FFFF88", + color: "#CC0000", + border: "1px solid #CC0000", + padding: "2px 3px", + "font-style": "normal", + "font-size": "90%" + }, + + ".mjx-annotation-xml": {"line-height":"normal"}, + + ".mjx-menclose > svg": {fill:"none", stroke:"currentColor"}, + + ".mjx-mtr": {display:"table-row"}, + ".mjx-mlabeledtr": {display:"table-row"}, + ".mjx-mtd": {display:"table-cell", "text-align":"center"}, + ".mjx-label": {display:"table-row"}, + + ".mjx-box": {display:"inline-block"}, + ".mjx-block": {display:"block"}, + ".mjx-span": {display:"inline"}, + ".mjx-char": {display:"block", "white-space":"pre"}, + ".mjx-itable": {display:"inline-table", width:"auto"}, + ".mjx-row": {display:"table-row"}, + ".mjx-cell": {display:"table-cell"}, + ".mjx-table": {display:"table", width:"100%"}, + ".mjx-line": {display:"block", height:0}, + ".mjx-strut": {width:0, "padding-top":STRUTHEIGHT+"em"}, + ".mjx-vsize": {width:0}, + + ".MJXc-space1": {"margin-left":".167em"}, + ".MJXc-space2": {"margin-left":".222em"}, + ".MJXc-space3": {"margin-left":".278em"}, + + ".mjx-chartest": { + display:"block", + visibility: "hidden", + position:"absolute", top:0, + "line-height":"normal", + "font-size":"500%" + }, + ".mjx-chartest .mjx-char": {display:"inline"}, + ".mjx-chartest .mjx-box": {"padding-top": "1000px"}, + + ".MJXc-processing": { + visibility: "hidden", position:"fixed", + width: 0, height: 0, overflow:"hidden" + }, + ".MJXc-processed": {display:"none"}, + + ".mjx-test": { + "font-style": "normal", + "font-weight": "normal", + "font-size": "100%", + "font-size-adjust":"none", + "text-indent": 0, + "text-transform": "none", + "letter-spacing": "normal", + "word-spacing": "normal", + overflow: "hidden", + height: "1px" + }, + ".mjx-test.mjx-test-display": { + display: "table!important" + }, + ".mjx-test.mjx-test-inline": { + display: "inline!important", + "margin-right": "-1px" + }, + ".mjx-test.mjx-test-default": { + display: "block!important", + clear: "both" + }, + ".mjx-ex-box": { + display: "inline-block!important", + position: "absolute", + overflow: "hidden", + "min-height": 0, "max-height":"none", + padding:0, border: 0, margin: 0, + width:"1px", height:"60ex" + }, + ".mjx-test-inline .mjx-left-box": { + display: "inline-block", + width: 0, + "float":"left" + }, + ".mjx-test-inline .mjx-right-box": { + display: "inline-block", + width: 0, + "float":"right" + }, + ".mjx-test-display .mjx-right-box": { + display: "table-cell!important", + width: "10000em!important", + "min-width":0, "max-width":"none", + padding:0, border:0, margin:0 + }, + + "#MathJax_CHTML_Tooltip": { + "background-color": "InfoBackground", color: "InfoText", + border: "1px solid black", + "box-shadow": "2px 2px 5px #AAAAAA", // Opera 10.5 + "-webkit-box-shadow": "2px 2px 5px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow": "2px 2px 5px #AAAAAA", // Firefox 3.5 + "-khtml-box-shadow": "2px 2px 5px #AAAAAA", // Konqueror + padding: "3px 4px", + "z-index": 401, + position: "absolute", left: 0, top: 0, + width: "auto", height: "auto", + display: "none" + } + + }; + + + /************************************************************/ + + var BIGDIMEN = 1000000; + var MAXREMAP = 5; + var LINEBREAKS = {}, CONFIG = MathJax.Hub.config; + + CHTML.Augment({ + settings: HUB.config.menuSettings, + config: {styles: STYLES}, + + /********************************************/ + + Config: function () { + if (!this.require) {this.require = []} + this.SUPER(arguments).Config.call(this); var settings = this.settings; + if (settings.scale) {this.config.scale = settings.scale} + this.require.push(this.fontDir+"/TeX/fontdata.js"); + this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); + LINEBREAKS = this.config.linebreaks; + }, + + Startup: function () { + // + // Set up event handling + // + EVENT = MathJax.Extension.MathEvents.Event; + TOUCH = MathJax.Extension.MathEvents.Touch; + HOVER = MathJax.Extension.MathEvents.Hover; + this.ContextMenu = EVENT.ContextMenu; + this.Mousedown = EVENT.AltContextMenu; + this.Mouseover = HOVER.Mouseover; + this.Mouseout = HOVER.Mouseout; + this.Mousemove = HOVER.Mousemove; + + // + // Determine pixels per inch + // + var div = CHTML.addElement(document.body,"mjx-block",{style:{display:"block",width:"5in"}}); + this.pxPerInch = div.offsetWidth/5; div.parentNode.removeChild(div); + + // + // Used in preTranslate to get scaling factors and line width + // + this.TestSpan = CHTML.Element("mjx-test",{style:{left:"1em"}}, + [["mjx-left-box"],["mjx-ex-box"],["mjx-right-box"]]); + + // + // Set up styles and preload web fonts + // + return AJAX.Styles(this.config.styles,["InitializeCHTML",this]); + }, + + InitializeCHTML: function () { + this.getDefaultExEm(); + // + // If the defaultEm size is zero, it might be that a web font hasn't + // arrived yet, so try to wait for it, but don't wait too long. + // + if (this.defaultEm) return; + var ready = MathJax.Callback(); + AJAX.timer.start(AJAX,function (check) { + if (check.time(ready)) {HUB.signal.Post(["CommonHTML Jax - no default em size"]); return} + CHTML.getDefaultExEm(); + if (CHTML.defaultEm) {ready()} else {setTimeout(check,check.delay)} + },this.defaultEmDelay,this.defaultEmTimeout); + return ready; + }, + defaultEmDelay: 100, // initial delay when checking for defaultEm + defaultEmTimeout: 1000, // when to stop looking for defaultEm + getDefaultExEm: function () { + // + // Get the default sizes (need styles in place to do this) + // + var test = document.body.appendChild(this.TestSpan.cloneNode(true)); + test.className += " mjx-test-inline mjx-test-default"; + this.defaultEm = this.getFontSize(test); + this.defaultEx = test.childNodes[1].offsetHeight/60; + this.defaultWidth = Math.max(0,test.lastChild.offsetLeft-test.firstChild.offsetLeft-2); + document.body.removeChild(test); + }, + getFontSize: (window.getComputedStyle ? + function (node) { + var style = window.getComputedStyle(node); + return parseFloat(style.fontSize); + } : + // + // IE 8 doesn't do getComputedStyle, so use + // an alternative approach + // + function (node) { + return node.style.pixelLeft; + } + ), + getMaxWidth: (window.getComputedStyle ? + function (node) { + var style = window.getComputedStyle(node); + if (style.maxWidth !== "none") return parseFloat(style.maxWidth); + return 0; + } : + // + // IE 8 doesn't do getComputedStyle, so use + // currentStyle, and a hack to get the pixels for + // a non-px max-width + // + function (node) { + var max = node.currentStyle.maxWidth; + if (max !== "none") { + if (max.match(/\d*px/)) return parseFloat(max); + var left = node.style.left; + node.style.left = max; max = node.style.pixelLeft; + node.style.left = left; + return max; + } + return 0; + } + ), + + // + // Load data for a font + // + loadFont: function (font) { + HUB.RestartAfter(AJAX.Require(this.fontDir+"/"+font)); + }, + // + // Signal that the font data are loaded + // + fontLoaded: function (font) { + if (!font.match(/-|fontdata/)) font += "-Regular"; + if (!font.match(/\.js$/)) font += ".js" + MathJax.Callback.Queue( + ["Post",HUB.Startup.signal,"CommonHTML - font data loaded for " + font], + ["loadComplete",AJAX,this.fontDir+"/"+font] + ); + }, + + Element: function (type,def,content) { + if (type.substr(0,4) === "mjx-") { + if (!def) def = {}; + if (def.isMathJax == null) def.isMathJax = true; + if (def.className) def.className = type+" "+def.className; else def.className = type; + type = "span"; + } + return this.HTMLElement(type,def,content); + }, + addElement: function (node,type,def,content) { + return node.appendChild(this.Element(type,def,content)); + }, + HTMLElement: HTML.Element, + ucMatch: HTML.ucMatch, + setScript: HTML.setScript, + + // + // Look through the direct children of a node for one with the given + // type (but if the node has intervening containers for its children, + // step into them; note that elements corresponding to MathML nodes + // will have id's so we don't step into them). + // + // This is used by munderover and msubsup to locate their child elements + // when they are part of an embellished operator that is being stretched. + // We don't use querySelector because we want to find only the direct child + // nodes, not nodes that might be nested deeper in the tree (see issue #1447). + // + getNode: function (node,type) { + var name = RegExp("\\b"+type+"\\b"); + var nodes = []; + while (node) { + for (var i = 0, m = node.childNodes.length; i < m; i++) { + var child = node.childNodes[i]; + if (child) { + if (name.test(child.className)) return child; + if (child.id === "") nodes.push(child); + } + } + node = nodes.shift(); + } + return null; + }, + + /********************************************/ + + preTranslate: function (state) { + var scripts = state.jax[this.id], i, m = scripts.length, + script, prev, node, test, jax, ex, em, scale; + // + // Get linebreaking information + // + var maxwidth = 100000, relwidth = false, cwidth = 0, + linebreak = LINEBREAKS.automatic, width = LINEBREAKS.width; + if (linebreak) { + relwidth = !!width.match(/^\s*(\d+(\.\d*)?%\s*)?container\s*$/); + if (relwidth) {width = width.replace(/\s*container\s*/,"")} + else {maxwidth = this.defaultWidth} + if (width === "") {width = "100%"} + } + // + // Loop through the scripts + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + // + // Remove any existing output + // + prev = script.previousSibling; + if (prev && prev.className && String(prev.className).substr(0,9) === "mjx-chtml") + prev.parentNode.removeChild(prev); + if (script.MathJax.preview) script.MathJax.preview.style.display = "none"; + // + // Add the node for the math and mark it as being processed + // + jax = script.MathJax.elementJax; if (!jax) continue; + jax.CHTML = { + display: (jax.root.Get("display") === "block"), + preview: (jax.CHTML||{}).preview // in case typeset calls are interleaved + }; + node = CHTML.Element("mjx-chtml",{ + id:jax.inputID+"-Frame", className:"MathJax_CHTML", isMathJax:true, jaxID:this.id, + oncontextmenu:EVENT.Menu, onmousedown: EVENT.Mousedown, + onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove, + onclick:EVENT.Click, ondblclick:EVENT.DblClick, + // Added for keyboard accessible menu. + onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax) + }); + if (jax.CHTML.display) { + // + // Zoom box requires an outer container to get the positioning right. + // + var NODE = CHTML.Element("mjx-chtml",{className:"MJXc-display",isMathJax:false}); + NODE.appendChild(node); node = NODE; + } + if (HUB.Browser.noContextMenu) { + node.ontouchstart = TOUCH.start; + node.ontouchend = TOUCH.end; + } + // + node.className += " MJXc-processing"; + script.parentNode.insertBefore(node,script); + // + // Add test nodes for determining scales and linebreak widths + // + test = this.TestSpan.cloneNode(true); + test.className += " mjx-test-" + (jax.CHTML.display ? "display" : "inline"); + script.parentNode.insertBefore(test,script); + } + // + // Determine the scaling factors for each script + // (this only requires one reflow rather than a reflow for each equation) + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + test = script.previousSibling; + jax = script.MathJax.elementJax; if (!jax) continue; + em = CHTML.getFontSize(test); + ex = test.childNodes[1].offsetHeight/60; + cwidth = Math.max(0, jax.CHTML.display ? test.lastChild.offsetWidth - 1: + test.lastChild.offsetLeft - test.firstChild.offsetLeft - 2); + if (ex === 0 || ex === "NaN") { + ex = this.defaultEx; + cwidth = this.defaultWidth; + } + if (cwidth === 0 && !jax.CHTML.display) cwidth = this.defaultWidth; + if (relwidth) maxwidth = cwidth; + scale = (this.config.matchFontHeight ? ex/this.TEX.x_height/em : 1); + scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale)*this.config.scale); + jax.CHTML.scale = scale/100; jax.CHTML.fontSize = scale+"%"; + jax.CHTML.outerEm = em; jax.CHTML.em = this.em = em * scale/100; + jax.CHTML.ex = ex; jax.CHTML.cwidth = cwidth/this.em; + jax.CHTML.lineWidth = (linebreak ? this.length2em(width,maxwidth/this.em,1) : maxwidth); + } + // + // Remove the test spans used for determining scales and linebreak widths + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + jax = script.MathJax.elementJax; if (!jax) continue; + script.parentNode.removeChild(script.previousSibling); + if (script.MathJax.preview) script.MathJax.preview.style.display = ""; + } + state.CHTMLeqn = state.CHTMLlast = 0; state.CHTMLi = -1; + state.CHTMLchunk = this.config.EqnChunk; + state.CHTMLdelay = false; + }, + + /********************************************/ + + Translate: function (script,state) { + if (!script.parentNode) return; + + // + // If we are supposed to do a chunk delay, do it + // + if (state.CHTMLdelay) { + state.CHTMLdelay = false; + HUB.RestartAfter(MathJax.Callback.Delay(this.config.EqnChunkDelay)); + } + + // + // Get the data about the math + // + var jax = script.MathJax.elementJax, math = jax.root, + node = document.getElementById(jax.inputID+"-Frame"); + if (!node) return; + this.getMetrics(jax); + if (this.scale !== 1) node.style.fontSize = jax.CHTML.fontSize; + // + // Typeset the math + // + this.initCHTML(math,node); + this.savePreview(script); + this.CHTMLnode = node; + try { + math.setTeXclass(); + math.toCommonHTML(node); + } catch (err) { + while (node.firstChild) node.removeChild(node.firstChild); + delete this.CHTMLnode; + this.restorePreview(script); + throw err; + } + delete this.CHTMLnode; + this.restorePreview(script); + // + // Put it in place, and remove the processing marker + // + if (jax.CHTML.display) node = node.parentNode; + node.className = node.className.replace(/ [^ ]+$/,""); + // + // Hide the math and don't let its preview be removed + // + node.className += " MJXc-processed"; + if (script.MathJax.preview) { + jax.CHTML.preview = script.MathJax.preview; + delete script.MathJax.preview; + } + // + // Check if we should show this chunk of equations + // + state.CHTMLeqn += (state.i - state.CHTMLi); state.CHTMLi = state.i; + if (state.CHTMLeqn >= state.CHTMLlast + state.CHTMLchunk) { + this.postTranslate(state); + state.CHTMLchunk = Math.floor(state.CHTMLchunk*this.config.EqnChunkFactor); + state.CHTMLdelay = true; // delay if there are more scripts + } + }, + + initCHTML: function (math,node) {}, + + // + // MathML previews can contain the same ID's as the HTML output, + // which confuses CHTMLnodeElement(), so remove the preview temporarily + // and restore it after typesetting the math. + // + savePreview: function (script) { + var preview = script.MathJax.preview; + if (preview && preview.parentNode) { + script.MathJax.tmpPreview = document.createElement("span"); + preview.parentNode.replaceChild(script.MathJax.tmpPreview,preview); + } + }, + restorePreview: function (script) { + var tmpPreview = script.MathJax.tmpPreview; + if (tmpPreview) { + tmpPreview.parentNode.replaceChild(script.MathJax.preview,tmpPreview); + delete script.MathJax.tmpPreview; + } + }, + // + // Get the jax metric information + // + getMetrics: function(jax) { + var data = jax.CHTML; + this.jax = jax; + this.em = data.em; + this.outerEm = data.outerEm; + this.scale = data.scale; + this.cwidth = data.cwidth; + this.linebreakWidth = data.lineWidth; + }, + + /********************************************/ + + postTranslate: function (state) { + var scripts = state.jax[this.id]; + // + // Reveal this chunk of math + // + for (var i = state.CHTMLlast, m = state.CHTMLeqn; i < m; i++) { + var script = scripts[i]; + if (script && script.MathJax.elementJax) { + // + // Remove the processed marker + // + script.previousSibling.className = script.previousSibling.className.replace(/ [^ ]+$/,""); + var data = script.MathJax.elementJax.CHTML; + // + // Remove the preview, if any + // + if (data.preview) { + data.preview.innerHTML = ""; + script.MathJax.preview = data.preview; + delete data.preview; + } + } + } + // + // Save our place so we know what is revealed + // + state.CHTMLlast = state.CHTMLeqn; + }, + + /********************************************/ + + getJaxFromMath: function (math) { + if (math.parentNode.className.match(/MJXc-display/)) math = math.parentNode; + do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); + return HUB.getJaxFor(math); + }, + getHoverSpan: function (jax,math) {return jax.root.CHTMLnodeElement()}, + getHoverBBox: function (jax,span,math) { + var bbox = jax.root.CHTML, em = jax.CHTML.outerEm; + var BBOX = {w:bbox.w*em, h:bbox.h*em, d:bbox.d*em}; + if (bbox.width) {BBOX.width = bbox.width} + return BBOX; + }, + + Zoom: function (jax,span,math,Mw,Mh) { + // + // Re-render at larger size + // + this.getMetrics(jax); + var node = CHTML.addElement(span,"mjx-chtml",{style:{"font-size":Math.floor(CHTML.scale*100)+"%"},isMathJax:false}); + CHTML.CHTMLnode = node; + this.idPostfix = "-zoom"; jax.root.toCommonHTML(node); this.idPostfix = ""; + // + // Adjust margins to prevent overlaps at the edges + // + var style = node.style, bbox = jax.root.CHTML; + if (bbox.t > bbox.h) style.marginTop = CHTML.Em(bbox.t-bbox.h); + if (bbox.b > bbox.d) style.marginBottom = CHTML.Em(bbox.b-bbox.d); + if (bbox.l < 0) style.paddingLeft = CHTML.Em(-bbox.l); + if (bbox.r > bbox.w) style.marginRight = CHTML.Em(bbox.r-bbox.w); + // + // Get height and width of zoomed math and original math + // + style.position = "absolute"; + var zW = node.offsetWidth, zH = node.offsetHeight, + mH = math.firstChild.offsetHeight, mW = math.firstChild.offsetWidth; + node.style.position = ""; + // + return {Y:-EVENT.getBBox(span).h, mW:mW, mH:mH, zW:zW, zH:zH}; + }, + + Remove: function (jax) { + var node = document.getElementById(jax.inputID+"-Frame"); + if (node && jax.CHTML.display) node = node.parentNode; + if (node) node.parentNode.removeChild(node); + delete jax.CHTML; + }, + + /********************************************/ + + ID: 0, idPostfix: "", + GetID: function () {this.ID++; return this.ID}, + + /********************************************/ + + MATHSPACE: { + veryverythinmathspace: 1/18, + verythinmathspace: 2/18, + thinmathspace: 3/18, + mediummathspace: 4/18, + thickmathspace: 5/18, + verythickmathspace: 6/18, + veryverythickmathspace: 7/18, + negativeveryverythinmathspace: -1/18, + negativeverythinmathspace: -2/18, + negativethinmathspace: -3/18, + negativemediummathspace: -4/18, + negativethickmathspace: -5/18, + negativeverythickmathspace: -6/18, + negativeveryverythickmathspace: -7/18, + + thin: .04, + medium: .06, + thick: .1, + + infinity: BIGDIMEN + }, + SPACECLASS: { + thinmathspace: "MJXc-space1", + mediummathspace: "MJXc-space2", + thickmathspace: "MJXc-space3" + }, + pxPerInch: 96, + em: 16, + + maxStretchyParts: 1000, // limit the number of parts allowed for + // stretchy operators. See issue 366. + + FONTDEF: {}, + TEXDEF: { + x_height: .442, + quad: 1, + num1: .676508, + num2: .393732, + num3: .44373, + denom1: .685951, + denom2: .344841, + sup1: .412892, + sup2: .362892, + sup3: .288888, + sub1: .15, + sub2: .247217, + sup_drop: .386108, + sub_drop: .05, + delim1: 2.39, + delim2: 1.0, + axis_height: .25, + rule_thickness: .06, + big_op_spacing1: .111111, + big_op_spacing2: .166666, + big_op_spacing3: .2, + big_op_spacing4: .45, //.6, // better spacing for under arrows and braces + big_op_spacing5: .1, + + surd_height: .075, + + scriptspace: .05, + nulldelimiterspace: .12, + delimiterfactor: 901, + delimitershortfall: .3, + + min_rule_thickness: 1.25 // in pixels + }, + + /********************************************************/ + + // + // True if text holds a single (unicode) glyph + // + isChar: function (text) { + if (text.length === 1) return true; + if (text.length !== 2) return false; + var n = text.charCodeAt(0); + return (n >= 0xD800 && n < 0xDBFF); + }, + // + // Get a unicode character by number (even when it takes two character) + // + unicodeChar: function (n) { + if (n < 0xFFFF) return String.fromCharCode(n); + n -= 0x10000; + return String.fromCharCode((n>>10)+0xD800) + String.fromCharCode((n&0x3FF)+0xDC00); + }, + // + // Get the unicode number of a (possibly multi-character) string + // + getUnicode: function (string) { + var n = string.text.charCodeAt(string.i); string.i++; + if (n >= 0xD800 && n < 0xDBFF) { + n = (((n-0xD800)<<10)+(string.text.charCodeAt(string.i)-0xDC00))+0x10000; + string.i++; + } + return n; + }, + // + // Get the list of actions for a given character in a given variant + // (processing remaps, multi-character results, and so on). Results are + // cached so that future lookups for the same variant/n pair will not + // require looking through the data again. + // + getCharList: function (variant,n) { + var id, M, cache = variant.cache, nn = n; + if (cache[n]) return cache[n]; + if (n > 0xFFFF && this.FONTDATA.RemapPlane1) { + var nv = this.FONTDATA.RemapPlane1(n,variant); + n = nv.n; variant = nv.variant; + } + var RANGES = this.FONTDATA.RANGES, VARIANT = this.FONTDATA.VARIANT; + if (n >= RANGES[0].low && n <= RANGES[RANGES.length-1].high) { + for (id = 0, M = RANGES.length; id < M; id++) { + if (RANGES[id].name === "alpha" && variant.noLowerCase) continue; + var N = variant["offset"+RANGES[id].offset]; + if (N && n >= RANGES[id].low && n <= RANGES[id].high) { + if (RANGES[id].remap && RANGES[id].remap[n]) { + n = N + RANGES[id].remap[n]; + } else { + n = n - RANGES[id].low + N; + if (RANGES[id].add) {n += RANGES[id].add} + } + if (variant["variant"+RANGES[id].offset]) + variant = VARIANT[variant["variant"+RANGES[id].offset]]; + break; + } + } + } + cache[nn] = this.remapChar(variant,n,0); + return cache[nn]; + }, + remapChar: function (variant,n,N) { + var list = [], VARIANT = this.FONTDATA.VARIANT; + if (variant.remap && variant.remap[n]) { + n = variant.remap[n]; + if (variant.remap.variant) {variant = VARIANT[variant.remap.variant]} + } else if (this.FONTDATA.REMAP[n] && !variant.noRemap) { + n = this.FONTDATA.REMAP[n]; + } + if (isArray(n)) { + if (n[2]) N = MAXREMAP; // stop remapping + variant = VARIANT[n[1]]; n = n[0]; + } + if (typeof(n) === "string") { + var string = {text:n, i:0, length:n.length}; + while (string.i < string.length) { + n = this.getUnicode(string); + var chars = this.getCharList(variant,n); + if (chars) list.push.apply(list,chars); + } + } else { + if (variant.cache[n]) {list = variant.cache[n]} + else {variant.cache[n] = list = this.lookupChar(variant,n,N)} + } + return list; + }, + // + // After all remapping has been done, look up a character + // in the fonts for a given variant, chaining to other + // variants as needed. Return an undefined character if + // it isn't found in the given variant. + // + lookupChar: function (variant,n,N) { + var VARIANT = variant; + while (variant) { + for (var i = 0, m = variant.fonts.length; i < m; i++) { + var font = this.FONTDATA.FONTS[variant.fonts[i]]; + if (typeof(font) === "string") this.loadFont(font); + var C = font[n]; + if (C) { + this.fixChar(C,n); + if (C[5].space) return [{type:"space", w:C[2], font:font}]; + return [{type:"char", font:font, n:n}]; + } else if (font.Extra) { + this.findBlock(font,n); + } + } + variant = this.FONTDATA.VARIANT[variant.chain]; + if (variant && variant.remap && variant.remap[n] && N++ < MAXREMAP) { + return this.remapChar(variant,n,N); + } + } + return [this.unknownChar(VARIANT,n)]; + }, + fixChar: function (C,n) { + if (C.length === 5) C[5] = {}; + if (C.c == null) { + C[0] /= 1000; C[1] /= 1000; C[2] /= 1000; C[3] /= 1000; C[4] /= 1000; + C.c = this.unicodeChar(n); + } + return C; + }, + findBlock: function (font,n) { + var extra = font.Extra, name = font.file, file; + for (var i = 0, m = extra.length; i < m; i++) { + if (typeof(extra[i]) === "number") { + if (n === extra[i]) {file = name; break} + } else { + if (n < extra[i][0]) return; + if (n <= extra[i][1]) {file = name; break} + } + } + // + // Currently this only loads one extra file, but that + // might need to be expanded in the future. + // + if (file) {delete font.Extra; this.loadFont(name)} + }, + // + // Create a fake font entry for an unknown character. + // + unknownChar: function (variant,n) { + HUB.signal.Post(["CommonHTML Jax - unknown char",n,variant]); + var id = ""; if (variant.bold) id += "B"; if (variant.italic) id += "I"; + var unknown = this.FONTDATA.UNKNOWN[id||"R"]; // cache of previously measured characters + if (!unknown[n]) this.getUnknownChar(unknown,n); + return {type:"unknown", n:n, font:unknown}; + }, + getUnknownChar: function (unknown,n) { + var c = this.unicodeChar(n); + var HDW = this.getHDW(c,unknown.className); + // ### FIXME: provide a means of setting the height and depth for individual characters + unknown[n] = [.8,.2,HDW.w,0,HDW.w,{a:Math.max(0,(HDW.h-HDW.d)/2), h:HDW.h, d:HDW.d}]; + unknown[n].c = c; + }, + styledText: function (variant,text) { + HUB.signal.Post(["CommonHTML Jax - styled text",text,variant]); + var style = variant.style; + var id = "_"+(style["font-family"]||variant.className||""); + if (style["font-weight"]) id += "_"+style["font-weight"]; + if (style["font-style"]) id += "_"+style["font-style"]; + if (!this.STYLEDTEXT) this.STYLEDTEXT = {}; + if (!this.STYLEDTEXT[id]) this.STYLEDTEXT[id] = {className:variant.className||""}; + var unknown = this.STYLEDTEXT[id]; + if (!unknown["_"+text]) { + var HDW = this.getHDW(text,variant.className||"",style); + unknown["_"+text] = [.8,.2,HDW.w,0,HDW.w,{a:Math.max(0,(HDW.h-HDW.d)/2), h:HDW.h, d:HDW.d}]; + unknown["_"+text].c = text; + } + return {type:"unknown", n:"_"+text, font:unknown, style:style, rscale:variant.rscale}; + }, + + // + // Get the height, depth, and width of a character + // (height and depth are of the font, not the character). + // WARNING: causes reflow of the page! + // + getHDW: function (c,name,styles) { + var test1 = CHTML.addElement(CHTML.CHTMLnode,"mjx-chartest",{className:name},[["mjx-char",{style:styles},[c]]]); + var test2 = CHTML.addElement(CHTML.CHTMLnode,"mjx-chartest",{className:name},[["mjx-char",{style:styles},[c,["mjx-box"]]]]); + test1.firstChild.style.fontSize = test2.firstChild.style.fontSize = ""; + var em = 5*CHTML.em; + var H1 = test1.offsetHeight, H2 = test2.offsetHeight, W = test1.offsetWidth; + CHTML.CHTMLnode.removeChild(test1); + CHTML.CHTMLnode.removeChild(test2); + if (H2 === 0) { + em = 5*CHTML.defaultEm; + var test = document.body.appendChild(document.createElement("div")); + test.appendChild(test1); test.appendChild(test2); + H1 = test1.offsetHeight, H2 = test2.offsetHeight, W = test1.offsetWidth; + document.body.removeChild(test); + } + var d = (H2-1000)/em, w = W/em, h = H1/em - d; + return {h:h, d:d, w:w} + }, + + + /********************************************************/ + + // + // Process a character list into a given node and return + // the updated bounding box. + // + addCharList: function (node,list,bbox) { + var state = {text:"", className:null, a:0}; + for (var i = 0, m = list.length; i < m; i++) { + var item = list[i]; + if (this.charList[item.type]) (this.charList[item.type])(item,node,bbox,state,m); + } + if (state.text !== "") { + if (node.childNodes.length) { + this.charList.flushText(node,state); + } else { + HTML.addText(node,state.text); + if (node.className) node.className += " "+state.className; + else node.className = state.className; + } + } + bbox.b = (state.flushed ? 0 : bbox.a); + }, + // + // The various item types are processed by these + // functions. + // + charList: { + // + // Character from the known fonts + // + "char": function (item,node,bbox,state,m) { + var font = item.font, remap = (font.remapCombining||{})[item.n]; + if (font.className === state.className) { + remap = null; + } else if (state.className || (remap && state.text !== "")) { + this.flushText(node,state); + } + if (!state.a) state.a = font.centerline/1000; + if (state.a > (bbox.a||0)) bbox.a = state.a; + state.className = font.className; + var C = font[item.n]; + if (remap) { + var FONT = font; + if (isArray(remap)) { + FONT = CHTML.FONTDATA.FONTS[remap[1]]; + remap = remap[0]; + if (typeof(FONT) === 'string') CHTML.loadFont(FONT); + } + if (FONT[item.n]) CHTML.fixChar(FONT[item.n],item.n); + C = CHTML.fixChar(FONT[remap],remap); + state.className = FONT.className; + } + state.text += C.c; + if (bbox.h < C[0]+HFUZZ) bbox.t = bbox.h = C[0]+HFUZZ; + if (bbox.d < C[1]+DFUZZ) bbox.b = bbox.d = C[1]+DFUZZ; + if (bbox.l > bbox.w+C[3]) bbox.l = bbox.w+C[3]; + if (bbox.r < bbox.w+C[4]) bbox.r = bbox.w+C[4]; + bbox.w += C[2] * (item.rscale||1); + if (m == 1 && font.skew && font.skew[item.n]) bbox.skew = font.skew[item.n]; + if (C[5] && C[5].rfix) this.flushText(node,state).style.marginRight = CHTML.Em(C[5].rfix/1000); + if (remap) { + // + // Remap combining characters to non-combining versions since Safari + // handles them differently from everyone else. (#1709) + // + var chr = this.flushText(node,state); + var r = (FONT[item.n]||font[item.n])[4] - (C[4] - C[2]); + chr.style.marginLeft = CHTML.Em(-C[2]-r); + if (r < 0) chr.style.marginRight = CHTML.Em(-r); + } + }, + // + // Space characters (not actually in the fonts) + // + space: function (item,node,bbox,state) { + if (item.w) { + if (state.text === "") state.className = item.font.className; + this.flushText(node,state).style.marginRight = CHTML.Em(item.w); + bbox.w += item.w; + } + }, + // + // An unknown character (one not in the font data) + // + unknown: function (item,node,bbox,state) { + (this["char"])(item,node,bbox,state,0); + var C = item.font[item.n]; + if (C[5].a) { + state.a = C[5].a; + if (bbox.a == null || state.a > bbox.a) bbox.a = state.a; + } + node = this.flushText(node,state,item.style); + if (C[2] < 3) node.style.width = CHTML.Em(C[2]); // only force width if not too large (#1718) + }, + // + // Put the pending text into a box of the class, and + // reset the data about the text. + // + flushText: function (node,state,style) { + node = CHTML.addElement(node,"mjx-charbox", + {className:state.className,style:style},[state.text]); + if (state.a) node.style.paddingBottom = CHTML.Em(state.a); + state.text = ""; state.className = null; state.a = 0; state.flushed = true; + return node; + } + }, + + // + // Add the given text (in the given variant) into the given node, and + // update the bounding box of the result. Make sure the node's DOM + // bounding box matches the contents. + // + handleText: function (node,text,variant,bbox) { + if (node.childNodes.length === 0) { + CHTML.addElement(node,"mjx-char"); + bbox = CHTML.BBOX.empty(bbox); + } + if (typeof(variant) === "string") variant = this.FONTDATA.VARIANT[variant]; + if (!variant) variant = this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]; + var string = {text:text, i:0, length:text.length}, list = []; + if (variant.style && string.length) { + list.push(this.styledText(variant,text)); + } else { + while (string.i < string.length) { + var n = this.getUnicode(string); + list.push.apply(list,this.getCharList(variant,n)); + } + } + if (list.length) this.addCharList(node.firstChild,list,bbox); + bbox.clean(); + if (bbox.d < 0) {bbox.D = bbox.d; bbox.d = 0} + if (bbox.h - bbox.a) node.firstChild.style[bbox.h - bbox.a < 0 ? "marginTop" : "paddingTop"] = this.EmRounded(bbox.h-bbox.a); + if (bbox.d > -bbox.b) node.firstChild.style.paddingBottom = this.EmRounded(bbox.d+bbox.b); + return bbox; + }, + + /********************************************************/ + + createDelimiter: function (node,code,HW,BBOX,font) { + if (!code) { + var bbox = this.BBOX.zero(); + bbox.w = bbox.r = this.TEX.nulldelimiterspace; + CHTML.addElement(node,"mjx-box",{style:{width:bbox.w}}); + return bbox; + } + if (!(HW instanceof Array)) HW = [HW,HW]; + var hw = HW[1]; HW = HW[0]; + var delim = {alias: code}; + while (delim.alias) { + code = delim.alias; delim = this.FONTDATA.DELIMITERS[code]; + if (!delim) {delim = {HW: [0,this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]]}} + } + if (delim.load) HUB.RestartAfter(AJAX.Require(this.fontDir+"/TeX/fontdata-"+delim.load+".js")); + for (var i = 0, m = delim.HW.length; i < m; i++) { + if (delim.HW[i][0] >= HW-.01 || (i == m-1 && !delim.stretch)) { + if (delim.HW[i][3]) code = delim.HW[i][3]; + bbox = this.createChar(node,[code,delim.HW[i][1]],(delim.HW[i][2]||1),font); + bbox.offset = .6 * bbox.w; + if (BBOX) {bbox.scale = BBOX.scale; BBOX.rscale = BBOX.rscale} + return bbox; + } + } + if (!delim.stretch) return bbox; + return this["extendDelimiter"+delim.dir](node,hw,delim.stretch,BBOX,font); + }, + extendDelimiterV: function (node,H,delim,BBOX,font) { + node = CHTML.addElement(node,"mjx-delim-v"); var tmp = CHTML.Element("span"); + var top, bot, mid, ext, tbox, bbox, mbox, ebox, k = 1, c; + tbox = this.createChar(tmp,(delim.top||delim.ext),1,font); top = tmp.removeChild(tmp.firstChild); + bbox = this.createChar(tmp,(delim.bot||delim.ext),1,font); bot = tmp.removeChild(tmp.firstChild); + mbox = ebox = CHTML.BBOX.zero(); + var h = tbox.h + tbox.d + bbox.h + bbox.d - EFUZZ; + node.appendChild(top); + if (delim.mid) { + mbox = this.createChar(tmp,delim.mid,1,font); mid = tmp.removeChild(tmp.firstChild); + h += mbox.h + mbox.d; k = 2; + } + if (delim.min && H < h*delim.min) H = h*delim.min; + if (H > h) { + ebox = this.createChar(tmp,delim.ext,1,font); ext = tmp.removeChild(tmp.firstChild); + var eH = ebox.h + ebox.d, eh = eH - EFUZZ; + var n = Math.min(Math.ceil((H-h)/(k*eh)),this.maxStretchyParts); + if (delim.fullExtenders) H = n*k*eh + h; else eh = (H-h)/(k*n); + c = ebox.d + ebox.a - eH/2; // for centering of extenders + ext.style.margin = ext.style.padding = ""; + ext.style.lineHeight = CHTML.Em(eh); + ext.style.marginBottom = CHTML.Em(c-EFUZZ/2/k); + ext.style.marginTop = CHTML.Em(-c-EFUZZ/2/k); + var TEXT = ext.textContent, text = "\n"+TEXT; + while (--n > 0) TEXT += text; + ext.textContent = TEXT; + node.appendChild(ext); + if (delim.mid) { + node.appendChild(mid); + node.appendChild(ext.cloneNode(true)); + } + } else { + c = (H-h-EFUZZ) / k; + top.style.marginBottom = CHTML.Em(c+parseFloat(top.style.marginBottom||"0")); + if (delim.mid) node.appendChild(mid); + bot.style.marginTop = CHTML.Em(c+parseFloat(bot.style.marginTop||"0")); + } + node.appendChild(bot); + var vbox = CHTML.BBOX({ + w: Math.max(tbox.w,ebox.w,bbox.w,mbox.w), + l: Math.min(tbox.l,ebox.l,bbox.l,mbox.l), + r: Math.max(tbox.r,ebox.r,bbox.r,mbox.r), + h: H-bbox.d, d: bbox.d, t: H-bbox.d, b: bbox.d + }); + vbox.offset = .5 * vbox.w; + if (BBOX) {vbox.scale = BBOX.scale; vbox.rscale = BBOX.rscale} + return vbox; + }, + extendDelimiterH: function (node,W,delim,BBOX,font) { + node = CHTML.addElement(node,"mjx-delim-h"); var tmp = CHTML.Element("span"); + var left, right, mid, ext, ext2, lbox, rbox, mbox, ebox, k = 1; + lbox = this.createChar(tmp,(delim.left||delim.rep),1,font); left = tmp.removeChild(tmp.firstChild); + rbox = this.createChar(tmp,(delim.right||delim.rep),1,font); right = tmp.removeChild(tmp.firstChild); + ebox = this.createChar(tmp,delim.rep,1,font); ext = tmp.removeChild(tmp.firstChild); + left.style.marginLeft = CHTML.Em(-lbox.l); + right.style.marginRight = CHTML.Em(rbox.r-rbox.w); + node.appendChild(left); + var hbox = CHTML.BBOX.zero(); + hbox.h = Math.max(lbox.h,rbox.h,ebox.h); + hbox.d = Math.max(lbox.D||lbox.d,rbox.D||rbox.d,ebox.D||ebox.d); + var w = (lbox.r - lbox.l) + (rbox.r - rbox.l) - EFUZZ; + if (delim.mid) { + mbox = this.createChar(tmp,delim.mid,1,font); + mid = tmp.removeChild(tmp.firstChild); + mid.style.marginleft = CHTML.Em(-mbox.l); mid.style.marginRight = CHTML.Em(mbox.r-mbox.w); + w += mbox.r - mbox.l + EFUZZ; k = 2; + if (mbox.h > hbox.h) hbox.h = mbox.h; + if (mbox.d > hbox.d) hbox.d = mbox.d; + } + if (delim.min && W < w*delim.min) W = w*delim.min; + hbox.w = hbox.r = W; + if (W > w) { + var eW = ebox.r-ebox.l, ew = eW - EFUZZ; + var n = Math.min(Math.ceil((W-w)/(k*ew)),this.maxStretchyParts); + if (delim.fullExtenders) W = n*k*ew + w; else ew = (W-w)/(k*n); + var c = (eW - ew + EFUZZ/k) / 2; // for centering of extenders + ext.style.marginLeft = CHTML.Em(-ebox.l-c); + ext.style.marginRight = CHTML.Em(ebox.r-ebox.w+c); + ext.style.letterSpacing = CHTML.Em(-(ebox.w-ew)); + left.style.marginRight = CHTML.Em(lbox.r-lbox.w); + right.style.marginleft = CHTML.Em(-rbox.l); + var TEXT = ext.textContent, text = TEXT; + while (--n > 0) TEXT += text; + ext.textContent = TEXT; + node.appendChild(ext); + if (delim.mid) { + node.appendChild(mid); + ext2 = node.appendChild(ext.cloneNode(true)); + } + } else { + c = (W-w-EFUZZ/k) / 2; + left.style.marginRight = CHTML.Em(lbox.r-lbox.w+c); + if (delim.mid) node.appendChild(mid); + right.style.marginLeft = CHTML.Em(-rbox.l+c); + } + node.appendChild(right); + this.adjustHeights([left,ext,mid,ext2,right],[lbox,ebox,mbox,ebox,rbox],hbox); + if (BBOX) {hbox.scale = BBOX.scale; hbox.rscale = BBOX.rscale} + return hbox; + }, + adjustHeights: function (nodes,box,bbox) { + // + // To get alignment right in horizontal delimiters, we force all + // the elements to the same height and depth + // + var T = bbox.h, B = bbox.d; + if (bbox.d < 0) {B = -bbox.d; bbox.D = bbox.d; bbox.d = 0} + for (var i = 0, m = nodes.length; i < m; i++) if (nodes[i]) { + nodes[i].style.paddingTop = CHTML.Em(T-box[i].a); + nodes[i].style.paddingBottom = CHTML.Em(B+box[i].a); + nodes[i].style.marginTop = nodes[i].style.marginBottom = 0; + } + }, + createChar: function (node,data,scale,font) { + // ### FIXME: handle cache better (by data[1] and font) + var text = "", variant = {fonts: [data[1]], noRemap:true, cache:{}}; + if (font && font === MML.VARIANT.BOLD && this.FONTDATA.FONTS[data[1]+"-Bold"]) + variant.fonts = [data[1]+"-Bold",data[1]]; + if (typeof(data[1]) !== "string") variant = data[1]; + if (data[0] instanceof Array) { + for (var i = 0, m = data[0].length; i < m; i++) text += String.fromCharCode(data[0][i]); + } else text = String.fromCharCode(data[0]); + if (data[4]) scale *= data[4]; + var bbox = this.handleText(node,text,variant), style = node.firstChild.style; + if (scale !== 1) style.fontSize = this.Percent(scale); + if (data[2]) { // x offset + style.paddingLeft = this.Em(data[2]); + bbox.w += data[2]; bbox.r += data[2]; + } + if (data[3]) { // y offset + style.verticalAlign = this.Em(data[3]); + bbox.h += data[3]; if (bbox.h < 0) bbox.h = 0; + } + if (data[5]) { // extra height + style.marginTop = this.Em(data[5]); + bbox.h += data[5]; bbox.t += data[5]; + } + if (data[6]) { // extra depth + style.marginBottom = this.Em(data[6]); + bbox.d += data[6]; bbox.b += data[6]; + } + return bbox; + }, + + /********************************************************/ + + // + // ### FIXME: Handle mu's + // + length2em: function (length,size,scale) { + if (typeof(length) !== "string") length = length.toString(); + if (length === "") return ""; + if (length === MML.SIZE.NORMAL) return 1; + if (length === MML.SIZE.BIG) return 2; + if (length === MML.SIZE.SMALL) return .71; + if (this.MATHSPACE[length]) return this.MATHSPACE[length]; + var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/); + var m = parseFloat(match[1]||"1"), unit = match[2]; + if (size == null) size = 1; if (!scale) scale = 1; + scale = 1 /this.em / scale; + if (unit === "em") return m; + if (unit === "ex") return m * this.TEX.x_height; + if (unit === "%") return m / 100 * size; + if (unit === "px") return m * scale; + if (unit === "pt") return m / 10; // 10 pt to an em + if (unit === "pc") return m * 1.2; // 12 pt to a pc + scale *= this.pxPerInch; + if (unit === "in") return m * scale; + if (unit === "cm") return m * scale / 2.54; // 2.54 cm to an inch + if (unit === "mm") return m * scale / 25.4; // 10 mm to a cm + if (unit === "mu") return m / 18; // 18mu to an em for the scriptlevel + return m*size; // relative to given size (or 1em as default) + }, + thickness2em: function (length,scale) { + var thick = CHTML.TEX.rule_thickness/(scale||1); + if (length === MML.LINETHICKNESS.MEDIUM) return thick; + if (length === MML.LINETHICKNESS.THIN) return .67*thick; + if (length === MML.LINETHICKNESS.THICK) return 1.67*thick; + return this.length2em(length,thick,scale); + }, + + Em: function (m) { + if (Math.abs(m) < .001) return "0"; + return (m.toFixed(3).replace(/\.?0+$/,""))+"em"; + }, + EmRounded: function (m) { + m = (Math.round(m*CHTML.em)+.05)/CHTML.em; + if (Math.abs(m) < .0006) {return "0em"} + return m.toFixed(3).replace(/\.?0+$/,"") + "em"; + }, + unEm: function (m) { + return parseFloat(m); + }, + Px: function (m,M) { + m *= this.em; + if (M && m < M) m = M; + if (Math.abs(m) < .1) return "0"; + return m.toFixed(1).replace(/\.0$/,"")+"px"; + }, + + Percent: function (m) { + return (100*m).toFixed(1).replace(/\.?0+$/,"") + "%"; + }, + + Transform: function (node,trans,origin) { + var style = node.style; + style.transform = style.WebkitTransform = style.MozTransform = style["-ms-transform"] = trans; + if (origin) + style.transformOrigin = style.WebkitTransformOrigin = + style.MozTransformOrigin = style["-ms-transform-origin"] = origin; + }, + + /********************************************************/ + + arrayEntry: function (a,i) {return a[Math.max(0,Math.min(i,a.length-1))]}, + + // + // Styles to be removed from style="..." attributes + // + removeStyles: ["fontSize","fontFamily","fontWeight","fontStyle","fontVariant","font"] + + }); + + /**********************************************************/ + + CHTML.BBOX = MathJax.Object.Subclass({ + Init: function (def) { + for (var id in def) { + if (def.hasOwnProperty(id)) this[id] = def[id]; + } + }, + clean: function () { + if (this.h === -BIGDIMEN) this.h = 0; + if (this.d === -BIGDIMEN) this.d = 0; + if (this.l === BIGDIMEN) this.l = 0; + if (this.r === -BIGDIMEN) this.r = 0; + if (this.t === -BIGDIMEN) this.t = 0; + if (this.b === -BIGDIMEN) this.b = 0; + if (this.D && this.d > 0) delete this.D; + }, + rescale: function (scale) { + this.w *= scale; this.h *= scale; this.d *= scale; + this.l *= scale; this.r *= scale; this.t *= scale; this.b *= scale; + if (this.L) this.L *= scale; + if (this.R) this.R *= scale; + if (this.D) this.D *= scale; + }, + combine: function (cbox,x,y) { + cbox.X = x; cbox.Y = y; // save for use with line breaking + var scale = cbox.rscale; + if (x + scale*cbox.r > this.r) this.r = x + scale*cbox.r; + if (x + scale*cbox.l < this.l) this.l = x + scale*cbox.l; + if (x + scale*(cbox.w+(cbox.L||0)+(cbox.R||0)) > this.w) + this.w = x + scale*(cbox.w + (cbox.L||0) + (cbox.R||0)); + if (y + scale*cbox.h > this.h) this.h = y + scale*cbox.h; + if (cbox.D && (this.D == null || scale*cbox.D - y > this.D) && scale*cbox.D > this.d) this.D = scale*cbox.D - y; + else if (cbox.D == null && this.D) delete this.D; + if (scale*cbox.d - y > this.d) this.d = scale*cbox.d - y; + if (y + scale*cbox.t > this.t) this.t = y + scale*cbox.t; + if (scale*cbox.b - y > this.b) this.b = scale*cbox.b - y; + }, + append: function (cbox) { + var scale = cbox.rscale; var x = this.w; + if (x + scale*cbox.r > this.r) this.r = x + scale*cbox.r; + if (x + scale*cbox.l < this.l) this.l = x + scale*cbox.l; + this.w += scale*(cbox.w+(cbox.L||0)+(cbox.R||0)) ; + if (scale*cbox.h > this.h) this.h = scale*cbox.h; + if (cbox.D && (this.D == null || scale*cbox.D > this.D) && scale*cbox.D > this.d) this.D = scale*cbox.D; + else if (cbox.D == null && this.D) delete this.D; + if (scale*cbox.d > this.d) this.d = scale*cbox.d; + if (scale*cbox.t > this.t) this.t = scale*cbox.t; + if (scale*cbox.b > this.b) this.b = scale*cbox.b; + }, + updateFrom: function (cbox) { + this.h = cbox.h; this.d = cbox.d; this.w = cbox.w; this.r = cbox.r; this.l = cbox.l; + this.t = cbox.t; this.b = cbox.b; + if (cbox.pwidth) this.pwidth = cbox.pwidth; + if (cbox.D) this.D = cbox.D; else delete this.D; + }, + adjust: function (m,x,X,M) { + this[x] += CHTML.length2em(m,1,this.scale); + if (M == null) { + if (this[x] > this[X]) this[X] = this[x]; + } else { + if (this[X] < M) this[X] = M; + } + } + },{ + zero: function () { + return CHTML.BBOX({h:0, d:0, w:0, l:0, r:0, t:0, b:0, scale:1, rscale:1}); + }, + empty: function (bbox) { + if (!bbox) bbox = CHTML.BBOX.zero(); + bbox.h = bbox.d = bbox.r = bbox.t = bbox.b = -BIGDIMEN; + bbox.w = 0; bbox.l = BIGDIMEN; + delete bbox.pwidth; + return bbox; + }, + // + // CSS styles that affect BBOXes + // + styleAdjust: [ + ["borderTopWidth","h","t"], + ["borderRightWidth","w","r"], + ["borderBottomWidth","d","b"], + ["borderLeftWidth","w","l",0], + ["paddingTop","h","t"], + ["paddingRight","w","r"], + ["paddingBottom","d","b"], + ["paddingLeft","w","l",0], + ] + }); + + /**********************************************************/ + + MathJax.Hub.Register.StartupHook("mml Jax Ready",function () { + MML = MathJax.ElementJax.mml; + + /********************************************************/ + + MML.mbase.Augment({ + toCommonHTML: function (node,options) { + return this.CHTMLdefaultNode(node,options); + }, + CHTMLmultiline: function () {MML.mbase.CHTMLautoloadFile("multiline")}, + + CHTMLdefaultNode: function (node,options) { + if (!options) options = {}; + node = this.CHTMLcreateNode(node); this.CHTML = CHTML.BBOX.empty(); + this.CHTMLhandleStyle(node); + if (this.isToken) this.CHTMLgetVariant(); + this.CHTMLhandleScale(node); + var m = Math.max((options.minChildren||0),this.data.length); + for (var i = 0; i < m; i++) this.CHTMLaddChild(node,i,options); + if (!options.noBBox) this.CHTML.clean(); + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + return node; + }, + CHTMLaddChild: function (node,i,options) { + var child = this.data[i], cnode; + var type = options.childNodes; + if (type instanceof Array) type = type[i]||"span"; + if (child) { + if (type) node = CHTML.addElement(node,type); + cnode = child.toCommonHTML(node,options.childOptions); + if (type && child.CHTML.rscale !== 1) { + // move scale factor to outer container (which seems to be more accurate) + node.style.fontSize = node.firstChild.style.fontSize; + node.firstChild.style.fontSize = ""; + } + if (!options.noBBox) { + var bbox = this.CHTML, cbox = child.CHTML; + bbox.append(cbox); + if (this.data.length === 1) { + if (cbox.ic) bbox.ic = cbox.ic; + if (cbox.skew) bbox.skew = cbox.skew; + } else { + delete bbox.ic; + delete bbox.skew; + } + if (cbox.pwidth) bbox.pwidth = cbox.pwidth; + } + } else if (options.forceChild) { + cnode = CHTML.addElement(node,(type||"mjx-box")); + } + return cnode; + }, + + CHTMLchildNode: function (node,i) { + node = node.childNodes[i]; + if (node.nodeName.toLowerCase() === "a") node = node.firstChild; + return node; + }, + CHTMLcoreNode: function (node) { + if (this.inferRow && this.data[0]) return this.data[0].CHTMLcoreNode(node.firstChild); + return this.CHTMLchildNode(node,this.CoreIndex()); + }, + + CHTMLstretchChildV: function (i,H,D) { + var data = this.data[i]; + if (data) { + var bbox = this.CHTML, dbox = data.CHTML; + if (dbox.stretch || (dbox.stretch == null && data.CHTMLcanStretch("Vertical",H,D))) { + var w = dbox.w; + dbox = data.CHTMLstretchV(H,D); + bbox.w += dbox.w - w; + if (bbox.w > bbox.r) bbox.r = bbox.w; + if (dbox.h > bbox.h) bbox.h = dbox.h; + if (dbox.d > bbox.d) bbox.d = dbox.d; + if (dbox.t > bbox.t) bbox.t = dbox.t; + if (dbox.b > bbox.b) bbox.b = dbox.b; + } + } + }, + CHTMLstretchChildH: function (i,W,node) { + var data = this.data[i]; + if (data) { + var bbox = this.CHTML, dbox = data.CHTML; + if (dbox.stretch || (dbox.stretch == null && data.CHTMLcanStretch("Horizontal",W))) { + var w = dbox.w; + dbox = data.CHTMLstretchH(this.CHTMLchildNode(node,i),W); + bbox.w += dbox.w - w; + if (bbox.w > bbox.r) bbox.r = bbox.w; + if (dbox.h > bbox.h) bbox.h = dbox.h; + if (dbox.d > bbox.d) bbox.d = dbox.d; + if (dbox.t > bbox.t) bbox.t = dbox.t; + if (dbox.b > bbox.b) bbox.b = dbox.b; + } + } + }, + CHTMLupdateFrom: function (bbox) { + this.CHTML.updateFrom(bbox); + if (this.inferRow) this.data[0].CHTML.updateFrom(bbox); + }, + + CHTMLcanStretch: function (direction,H,D) { + var stretch = false; + if (this.isEmbellished()) { + var core = this.Core(); + if (core && core !== this) stretch = core.CHTMLcanStretch(direction,H,D); + } + this.CHTML.stretch = stretch; + return stretch; + }, + CHTMLstretchV: function (h,d) { + this.CHTMLupdateFrom(this.Core().CHTMLstretchV(h,d)); + return this.CHTML; + }, + CHTMLstretchH: function (node,w) { + this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)); + return this.CHTML; + }, + CHTMLstretchCoreH: function (node,w) { + return this.Core().CHTMLstretchH(this.CHTMLcoreNode(node),w); + }, + + CHTMLcreateNode: function (node) { + if (!this.CHTML) this.CHTML = {}; + this.CHTML = CHTML.BBOX.zero(); + if (this.href) node = CHTML.addElement(node,"a",{href:this.href, isMathJax:true}); + if (!this.CHTMLnodeID) this.CHTMLnodeID = CHTML.GetID(); + var id = (this.id || "MJXc-Node-"+this.CHTMLnodeID)+CHTML.idPostfix; + return this.CHTMLhandleAttributes(CHTML.addElement(node,"mjx-"+this.type,{id:id})); + }, + CHTMLnodeElement: function () { + if (!this.CHTMLnodeID) {return null} + return document.getElementById((this.id||"MJXc-Node-"+this.CHTMLnodeID)+CHTML.idPostfix); + }, + + CHTMLlength2em: function (length,size) { + return CHTML.length2em(length,size,this.CHTML.scale); + }, + + CHTMLhandleAttributes: function (node) { + if (this["class"]) { + if (node.className) node.className += " "+this["class"]; + else node.className = this["class"]; + } + // + // Copy RDFa, aria, and other tags from the MathML to the CHTML + // output nodes. Don't copy those in the MML.nocopyAttributes list, + // the ignoreMMLattributes configuration list, or anything that + // already exists as a property of the node (e.g., no "onlick", etc.) + // If a name in the ignoreMMLattributes object is set to false, then + // the attribute WILL be copied. + // + if (this.attrNames) { + var copy = this.attrNames, skip = MML.nocopyAttributes, ignore = HUB.config.ignoreMMLattributes; + var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); + for (var i = 0, m = copy.length; i < m; i++) { + var id = copy[i]; + if (ignore[id] == false || (!skip[id] && !ignore[id] && + defaults[id] == null && typeof(node[id]) === "undefined")) { + node.setAttribute(id,this.attr[id]) + } + } + } + return node; + }, + + CHTMLhandleScale: function (node) { + var scale = 1, parent = this.parent, pscale = (parent ? parent.CHTML.scale : 1); + var values = this.getValues("scriptlevel","fontsize"); + values.mathsize = this.Get("mathsize",null,!this.isToken); + if (values.scriptlevel !== 0) { + if (values.scriptlevel > 2) values.scriptlevel = 2; + scale = Math.pow(this.Get("scriptsizemultiplier"),values.scriptlevel); + values.scriptminsize = CHTML.length2em(this.Get("scriptminsize"),.8,1); + if (scale < values.scriptminsize) scale = values.scriptminsize; + } + if (this.removedStyles && this.removedStyles.fontSize && !values.fontsize) + values.fontsize = this.removedStyles.fontSize; + if (values.fontsize && !this.mathsize) values.mathsize = values.fontsize; + if (values.mathsize !== 1) scale *= CHTML.length2em(values.mathsize,1,1); + var variant = this.CHTMLvariant; + if (variant && variant.style && variant.style["font-family"]) + scale *= (CHTML.config.scale/100)/CHTML.scale; + this.CHTML.scale = scale; pscale = this.CHTML.rscale = scale/pscale; + if (Math.abs(pscale-1) < .001) pscale = 1; + if (node && pscale !== 1) node.style.fontSize = CHTML.Percent(pscale); + return scale; + }, + + CHTMLhandleStyle: function (node) { + if (!this.style) return; + var style = node.style; + style.cssText = this.style; this.removedStyles = {}; + for (var i = 0, m = CHTML.removeStyles.length; i < m; i++) { + var id = CHTML.removeStyles[i]; + if (style[id]) { + this.removedStyles[id] = style[id]; + style[id] = ""; + } + } + }, + + CHTMLhandleBBox: function (node) { + var BBOX = this.CHTML, style = node.style; + if (this.data.length === 1 && (this.data[0].CHTML||{}).pwidth) { + BBOX.pwidth = this.data[0].CHTML.pwidth; + BBOX.mwidth = this.data[0].CHTML.mwidth; + style.width = "100%"; + } else if (BBOX.pwidth) { + BBOX.mwidth = CHTML.Em(BBOX.w); + style.width = "100%"; + } else if (BBOX.w < 0) { + style.width = "0px"; + style.marginRight = CHTML.Em(BBOX.w); + } + if (!this.style) return; + // ### FIXME: adjust for width, height, vertical-align? + for (var i = 0, m = CHTML.BBOX.styleAdjust.length; i < m; i++) { + var data = CHTML.BBOX.styleAdjust[i]; + if (data && style[data[0]]) BBOX.adjust(style[data[0]],data[1],data[2],data[3]); + } + }, + + CHTMLhandleColor: function (node) { + if (this.mathcolor) {node.style.color = this.mathcolor} + else if (this.color) {node.style.color = this.color} + if (this.mathbackground) {node.style.backgroundColor = this.mathbackground} + else if (this.background) {node.style.backgroundColor = this.background} + }, + + CHTMLhandleSpace: function (node) { + if (!this.useMMLspacing) { + var space = this.texSpacing(); + if (space !== "") { + this.CHTML.L = this.CHTMLlength2em(space); + node.className += " "+CHTML.SPACECLASS[space]; + } + } + }, + + CHTMLhandleText: function (node,text,variant) { + if (node.firstChild && !this.CHTML) this.CHTML = CHTML.BBOX.empty(); + this.CHTML = CHTML.handleText(node,text,variant,this.CHTML); + }, + + CHTMLgetVariant: function () { + var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle"), style; + values.hasVariant = this.Get("mathvariant",true); // null if not explicitly specified + if (this.removedStyles) { + style = this.removedStyles; + if (style.fontFamily) values.family = style.fontFamily; + if (style.fontWeight) values.weight = style.fontWeight; + if (style.fontStyle) values.style = style.fontStyle; + } + if (!values.hasVariant) { + if (values.fontfamily) values.family = values.fontfamily; + if (values.fontweight) values.weight = values.fontweight; + if (values.fontstyle) values.style = values.fontstyle; + } + if (values.weight && values.weight.match(/^\d+$/)) + values.weight = (parseInt(values.weight) > 600 ? "bold" : "normal"); + var variant = values.mathvariant; if (this.variantForm) variant = "-TeX-variant"; + if (values.family && !values.hasVariant) { + if (!values.weight && values.mathvariant.match(/bold/)) values.weight = "bold"; + if (!values.style && values.mathvariant.match(/italic/)) values.style = "italic"; + this.CHTMLvariant = {fonts:[], noRemap:true, cache:{}, style: { + "font-family":values.family, "font-weight":values.weight||"normal", "font-style":values.style||"normal" + }}; + return; + } + if (values.weight === "bold") { + variant = { + normal:MML.VARIANT.BOLD, italic:MML.VARIANT.BOLDITALIC, + fraktur:MML.VARIANT.BOLDFRAKTUR, script:MML.VARIANT.BOLDSCRIPT, + "sans-serif":MML.VARIANT.BOLDSANSSERIF, + "sans-serif-italic":MML.VARIANT.SANSSERIFBOLDITALIC + }[variant]||variant; + } else if (values.weight === "normal") { + variant = { + bold:MML.VARIANT.normal, "bold-italic":MML.VARIANT.ITALIC, + "bold-fraktur":MML.VARIANT.FRAKTUR, "bold-script":MML.VARIANT.SCRIPT, + "bold-sans-serif":MML.VARIANT.SANSSERIF, + "sans-serif-bold-italic":MML.VARIANT.SANSSERIFITALIC + }[variant]||variant; + } + if (values.style === "italic") { + variant = { + normal:MML.VARIANT.ITALIC, bold:MML.VARIANT.BOLDITALIC, + "sans-serif":MML.VARIANT.SANSSERIFITALIC, + "bold-sans-serif":MML.VARIANT.SANSSERIFBOLDITALIC + }[variant]||variant; + } else if (values.style === "normal") { + variant = { + italic:MML.VARIANT.NORMAL, "bold-italic":MML.VARIANT.BOLD, + "sans-serif-italic":MML.VARIANT.SANSSERIF, + "sans-serif-bold-italic":MML.VARIANT.BOLDSANSSERIF + }[variant]||variant; + } + this.CHTMLvariant = CHTML.FONTDATA.VARIANT[variant] || + CHTML.FONTDATA.VARIANT[MML.VARIANT.NORMAL]; + }, + + CHTMLbboxFor: function (n) { + if (this.data[n] && this.data[n].CHTML) return this.data[n].CHTML; + return CHTML.BBOX.zero(); + }, + // + // Debugging function to see if internal BBox matches actual bbox + // + CHTMLdrawBBox: function (node,bbox) { + if (!bbox) bbox = this.CHTML; + var box = CHTML.Element("mjx-box", + {style:{opacity:.25,"margin-left":CHTML.Em(-(bbox.w+(bbox.R||0)))}},[ + ["mjx-box",{style:{ + height:CHTML.Em(bbox.h),width:CHTML.Em(bbox.w), + "background-color":"red" + }}], + ["mjx-box",{style:{ + height:CHTML.Em(bbox.d),width:CHTML.Em(bbox.w), + "margin-left":CHTML.Em(-bbox.w),"vertical-align":CHTML.Em(-bbox.d), + "background-color":"green" + }}] + ]); + if (node.nextSibling) {node.parentNode.insertBefore(box,node.nextSibling)} + else {node.parentNode.appendChild(box)} + }, + + CHTMLnotEmpty: function (mml) { + while (mml && mml.data.length < 2 && (mml.type === "mrow" || mml.type === "texatom")) + mml = mml.data[0]; + return !!mml; + } + + },{ + // + // Autoload files based on node type or file name + // + CHTMLautoload: function () { + this.constructor.Augment({toCommonHTML: MML.mbase.CHTMLautoloadFail}); + var file = CHTML.autoloadDir+"/"+this.type+".js"; + HUB.RestartAfter(AJAX.Require(file)); + }, + CHTMLautoloadFail: function () { + throw Error("CommonHTML can't autoload '"+ this.type + "'"); + }, + CHTMLautoloadList: {}, + CHTMLautoloadFile: function (name) { + if (MML.mbase.CHTMLautoloadList.hasOwnProperty(name)) { + throw Error("CommonHTML can't autoload file '"+name+"'"); + } + MML.mbase.CHTMLautoloadList[name] = true; + var file = CHTML.autoloadDir+"/"+name+".js"; + HUB.RestartAfter(AJAX.Require(file)); + }, + // + // For use with embellished operators + // + CHTMLstretchV: function (h,d) { + this.Core().CHTMLstretchV(h,d); + this.toCommonHTML(this.CHTMLnodeElement(),{stretch:true}); + return this.CHTML; + }, + CHTMLstretchH: function (node,w) { + this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)); + this.toCommonHTML(node,{stretch:true}); + return this.CHTML; + } + }); + + /********************************************************/ + + MML.chars.Augment({ + toCommonHTML: function (node,options) { + this.CHTML = null; + if (options == null) options = {}; + var text = this.toString(); + if (options.remap) text = options.remap(text,options.remapchars); + this.CHTMLhandleText(node,text,options.variant||this.parent.CHTMLvariant); + } + }); + MML.entity.Augment({ + toCommonHTML: function (node,options) { + if (options == null) options = {}; + var text = this.toString(); + if (options.remapchars) text = options.remap(text,options.remapchars); + this.CHTMLhandleText(node,text,options.variant||this.parent.CHTMLvariant); + } + }); + + /********************************************************/ + + MML.math.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node); + if (this.CHTML.w < 0) { + node.parentNode.style.width = "0px"; + node.parentNode.style.marginRight = CHTML.Em(this.CHTML.w); + } + var alttext = this.Get("alttext"); + if (alttext && !node.getAttribute("aria-label")) node.setAttribute("aria-label",alttext); + if (this.CHTML.pwidth) { + node.parentNode.style.minWidth = this.CHTML.mwidth||CHTML.Em(this.CHTML.w); + node.parentNode.className = "mjx-full-width "+node.parentNode.className; + node.style.width = this.CHTML.pwidth; + } else if (!this.isMultiline && this.Get("display") === "block") { + var values = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); + if (values.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) values.indentalign = values.indentalignfirst; + if (values.indentalign === MML.INDENTALIGN.AUTO) values.indentalign = CONFIG.displayAlign; + if (values.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) values.indentshift = values.indentshiftfirst; + if (values.indentshift === "auto") values.indentshift = "0"; + var shift = this.CHTMLlength2em(values.indentshift,CHTML.cwidth); + if (CONFIG.displayIndent !== "0") { + var indent = this.CHTMLlength2em(CONFIG.displayIndent,CHTML.cwidth); + shift += (values.indentalign === MML.INDENTALIGN.RIGHT ? -indent : indent); + } + var styles = node.parentNode.parentNode.style; + node.parentNode.style.textAlign = styles.textAlign = values.indentalign; + // ### FIXME: make percentage widths respond to changes in container + if (shift) { + shift *= CHTML.em/CHTML.outerEm; + HUB.Insert(styles,({ + left: {marginLeft: CHTML.Em(shift)}, + right: {marginRight: CHTML.Em(-shift)}, + center: {marginLeft: CHTML.Em(shift), marginRight: CHTML.Em(-shift)} + })[values.indentalign]); + } + } + return node; + } + }); + + /********************************************************/ + + MML.mi.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node); + var bbox = this.CHTML, text = this.data.join(""); + if (bbox.skew != null && !CHTML.isChar(text)) delete bbox.skew; + if (bbox.r > bbox.w && CHTML.isChar(text) && !this.CHTMLvariant.noIC) { + bbox.ic = bbox.r - bbox.w; bbox.w = bbox.r; + node.lastChild.style.paddingRight = CHTML.Em(bbox.ic); + } + return node; + } + }); + + /********************************************************/ + + MML.mn.Augment({ + CHTMLremapMinus: function (text) {return text.replace(/^-/,"\u2212")}, + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node,{childOptions:{remap:this.CHTMLremapMinus}}); + var bbox = this.CHTML, text = this.data.join(""); + if (bbox.skew != null && !CHTML.isChar(text)) delete bbox.skew; + if (bbox.r > bbox.w && CHTML.isChar(text) && !this.CHTMLvariant.noIC) { + bbox.ic = bbox.r - bbox.w; bbox.w = bbox.r; + node.lastChild.style.paddingRight = CHTML.Em(bbox.ic); + } + return node; + } + }); + + /********************************************************/ + + MML.mo.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLgetVariant(); + this.CHTMLhandleScale(node); + CHTML.BBOX.empty(this.CHTML); + + var values = this.getValues("displaystyle","largeop"); + values.variant = this.CHTMLvariant; + values.text = this.data.join(""); + if (values.text == "") { + if (this.fence) node.style.width = CHTML.Em(CHTML.TEX.nulldelimiterspace); + } else { + this.CHTMLadjustAccent(values); + this.CHTMLadjustVariant(values); + + for (var i = 0, m = this.data.length; i < m; i++) { + this.CHTMLaddChild(node,i,{childOptions:{ + variant: values.mathvariant, + remap: this.remap, + remapchars: values.remapchars + }}); + } + if (!CHTML.isChar(values.text)) delete this.CHTML.skew; + else if (this.CHTML.w === 0 && this.CHTML.l < 0) this.CHTMLfixCombiningChar(node); + if (values.largeop) this.CHTMLcenterOp(node); + } + + this.CHTML.clean(); + this.CHTMLhandleBBox(node); + this.CHTMLhandleSpace(node); + this.CHTMLhandleColor(node); + + return node; + }, + CHTMLhandleSpace: function (node) { + if (this.hasMMLspacing()) { + var values = this.getValues("scriptlevel","lspace","rspace"); + values.lspace = Math.max(0,this.CHTMLlength2em(values.lspace)); + values.rspace = Math.max(0,this.CHTMLlength2em(values.rspace)); + if (values.scriptlevel > 0) { + if (!this.hasValue("lspace")) values.lspace = .15; + if (!this.hasValue("rspace")) values.rspace = .15; + } + var core = this, parent = this.Parent(); + while (parent && parent.isEmbellished() && parent.Core() === core) + {core = parent; parent = parent.Parent(); node = core.CHTMLnodeElement()} + if (values.lspace) node.style.paddingLeft = CHTML.Em(values.lspace); + if (values.rspace) node.style.paddingRight = CHTML.Em(values.rspace); + this.CHTML.L = values.lspace; this.CHTML.R = values.rspace; + } else { + this.SUPER(arguments).CHTMLhandleSpace.apply(this,arguments); + } + }, + CHTMLadjustAccent: function (data) { + var parent = this.CoreParent(); data.parent = parent; + if (CHTML.isChar(data.text) && parent && parent.isa(MML.munderover)) { + var over = parent.data[parent.over], under = parent.data[parent.under]; + if (over && this === over.CoreMO() && parent.Get("accent")) { + data.remapchars = CHTML.FONTDATA.REMAPACCENT; + } else if (under && this === under.CoreMO() && parent.Get("accentunder")) { + data.remapchars = CHTML.FONTDATA.REMAPACCENTUNDER; + } + } + }, + CHTMLadjustVariant: function (data) { + var parent = data.parent, + isScript = (parent && parent.isa(MML.msubsup) && this !== parent.data[parent.base]); + if (data.largeop) data.mathvariant = (data.displaystyle ? "-largeOp" : "-smallOp"); + if (isScript) { + data.remapchars = this.remapChars; + if (data.text.match(/['`"\u00B4\u2032-\u2037\u2057]/)) + data.mathvariant = "-TeX-variant"; // ### FIXME: handle other fonts + } + }, + CHTMLfixCombiningChar: function (node) { + // + // IE doesn't display combining chararacters unless they combine with + // something, so put them over a space and remove the space's width + // + node = node.firstChild; + var space = CHTML.Element("mjx-box",{style:{width:".25em","margin-left":"-.25em"}}); + node.insertBefore(space,node.firstChild); + }, + CHTMLcenterOp: function (node) { + var bbox = this.CHTML; + var p = (bbox.h - bbox.d)/2 - CHTML.TEX.axis_height; + if (Math.abs(p) > .001) node.style.verticalAlign = CHTML.Em(-p); + bbox.h -= p; bbox.d += p; + if (bbox.r > bbox.w) { + bbox.ic = bbox.r - bbox.w; bbox.w = bbox.r; + node.style.paddingRight = CHTML.Em(bbox.ic); + } + }, + CHTMLcanStretch: function (direction,H,D) { + if (!this.Get("stretchy")) return false; + var c = this.data.join(""); if (!CHTML.isChar(c)) return false; + var values = {text: c}; + this.CHTMLadjustAccent(values); + if (values.remapchars) c = values.remapchars[c]||c; + c = CHTML.FONTDATA.DELIMITERS[c.charCodeAt(0)]; + var stretch = (c && c.dir === direction.substr(0,1)); + if (stretch) { + stretch = (this.CHTML.h !== H || this.CHTML.d !== D || + !!this.Get("minsize",true) || !!this.Get("maxsize",true)); + if (stretch) this.CHTML.stretch = true; + } + return stretch; + }, + CHTMLstretchV: function (h,d) { + var node = this.CHTMLnodeElement(), bbox = this.CHTML; + var values = this.getValues("symmetric","maxsize","minsize"); + // + // Determine the height needed + // + var H, a = CHTML.TEX.axis_height; + if (values.symmetric) {H = 2*Math.max(h-a,d+a)} else {H = h + d} + values.maxsize = this.CHTMLlength2em(values.maxsize,bbox.h+bbox.d); + values.minsize = this.CHTMLlength2em(values.minsize,bbox.h+bbox.d); + H = Math.max(values.minsize,Math.min(values.maxsize,H)); + // + // If we are not already stretched to this height + // + if (H !== bbox.sH) { + // + // Get a delimiter of the proper height and save the height + // + if (H != values.minsize) + {H = [Math.max(H*CHTML.TEX.delimiterfactor/1000,H-CHTML.TEX.delimitershortfall),H]} + while (node.firstChild) node.removeChild(node.firstChild); + this.CHTML = bbox = CHTML.createDelimiter(node,this.data.join("").charCodeAt(0),H,bbox); + bbox.sH = (H instanceof Array ? H[1] : H); + // + // Reposition as needed + // + if (values.symmetric) {H = (bbox.h + bbox.d)/2 + a} + else {H = (bbox.h + bbox.d) * h/(h + d)} + H -= bbox.h; + if (Math.abs(H) > .05) { + node.style.verticalAlign = CHTML.Em(H); + bbox.h += H; bbox.d -= H; bbox.t += H; bbox.b -= H; + } + } + return this.CHTML; + }, + CHTMLstretchH: function (node,W) { + var bbox = this.CHTML; + var values = this.getValues("maxsize","minsize","mathvariant","fontweight"); + if ((values.fontweight === "bold" || (this.removedStyles||{}).fontWeight === "bold" || + parseInt(values.fontweight) >= 600) && !this.Get("mathvariant",true)) + values.mathvariant = MML.VARIANT.BOLD; + values.maxsize = this.CHTMLlength2em(values.maxsize,bbox.w); + values.minsize = this.CHTMLlength2em(values.minsize,bbox.w); + W = Math.max(values.minsize,Math.min(values.maxsize,W)); + if (W !== bbox.sW) { + while (node.firstChild) node.removeChild(node.firstChild); + this.CHTML = bbox = CHTML.createDelimiter(node,this.data.join("").charCodeAt(0),W,bbox,values.mathvariant); + bbox.sW = W; + } + return this.CHTML; + } + + }); + + /********************************************************/ + + MML.mtext.Augment({ + CHTMLgetVariant: function () { + if (CHTML.config.mtextFontInherit || this.Parent().type === "merror") { + var scale = (CHTML.config.scale/100)/CHTML.scale; + var variant = {cache:{}, fonts:[], className:"MJXc-font-inherit", rscale:scale, + style:{"font-size":CHTML.Percent(scale)}}; + var name = this.Get("mathvariant"); + if (name.match(/bold/)) variant.style["font-weight"] = "bold"; + if (name.match(/italic|-tex-mathit/)) variant.style["font-style"] = "italic"; + if (name === "monospace") variant.className += " MJXc-monospace-font"; + if (name === "double-struck") variant.className += " MJXc-double-struck-font"; + if (name.match(/fraktur/)) variant.className += " MJXc-fraktur-font"; + if (name.match(/sans-serif/)) variant.className += " MJXc-sans-serif-font"; + if (name.match(/script/)) variant.className += " MJXc-script-font"; + this.CHTMLvariant = variant; + } else { + this.SUPER(arguments).CHTMLgetVariant.call(this); + } + } + }); + + /********************************************************/ + + MML.merror.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node); + var bbox = this.CHTML; + // + // Adjust for font-size: 90% + // + bbox.rescale(.9); + // + // Adjust for padding and border + // + bbox.h += 3/CHTML.em; if (bbox.h > bbox.t) bbox.t = bbox.h; + bbox.d += 3/CHTML.em; if (bbox.d > bbox.b) bbox.b = bbox.d; + bbox.w += 8/CHTML.em; bbox.r = bbox.w; bbox.l = 0; + return node; + } + }); + + /********************************************************/ + + MML.mspace.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + var values = this.getValues("height","depth","width"); + var w = this.CHTMLlength2em(values.width), + h = this.CHTMLlength2em(values.height), + d = this.CHTMLlength2em(values.depth); + var bbox = this.CHTML; + bbox.w = bbox.r = w; bbox.h = bbox.t = h; bbox.d = bbox.b = d; bbox.l = 0; + if (w < 0) {node.style.marginRight = CHTML.Em(w); w = 0} + node.style.width = CHTML.Em(w); + node.style.height = CHTML.Em(Math.max(0,h+d)); + if (d) node.style.verticalAlign = CHTML.Em(-d); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + return node; + } + }); + + /********************************************************/ + + MML.mpadded.Augment({ + toCommonHTML: function (node,options) { + var child; + if (options && options.stretch) { + node = node.firstChild; child = node.firstChild; + } else { + node = this.CHTMLdefaultNode(node,{childNodes:"mjx-box", forceChild:true}); + child = node.firstChild; node = CHTML.addElement(node,"mjx-block"); + node.appendChild(child); CHTML.addElement(node,"mjx-strut"); // force proper alignment of short heights + } + var cbox = this.CHTMLbboxFor(0); + var values = this.getValues("width","height","depth","lspace","voffset"); + var x = 0, y = 0, w = cbox.w, h = cbox.h, d = cbox.d; + child.style.width = 0; child.style.margin = CHTML.Em(-h)+" 0 "+CHTML.Em(-d); + if (values.width !== "") w = this.CHTMLdimen(values.width,"w",w,0); + if (values.height !== "") h = this.CHTMLdimen(values.height,"h",h,0); + if (values.depth !== "") d = this.CHTMLdimen(values.depth,"d",d,0); + if (values.voffset !== "") { + y = this.CHTMLdimen(values.voffset); + if (y) { + child.style.position = "relative"; + child.style.top = CHTML.Em(-y); + } + } + if (values.lspace !== "") { + x = this.CHTMLdimen(values.lspace); + if (x) { + child.style.position = "relative"; + child.style.left = CHTML.Em(x); + } + } + node.style.width = 0; + node.style.marginTop = CHTML.Em(h-STRUTHEIGHT); + node.style.padding = "0 "+CHTML.Em(w)+" "+CHTML.Em(d)+" 0"; + var bbox = CHTML.BBOX({w:w, h:h, d:d, l:0, r:w, t:h, b:d, + scale:this.CHTML.scale, rscale:this.CHTML.rscale}); + bbox.combine(cbox,x,y); + bbox.w = w; bbox.h = h; bbox.d = d; + this.CHTML = bbox; + return node.parentNode; + }, + CHTMLstretchV: MML.mbase.CHTMLstretchV, + CHTMLstretchH: MML.mbase.CHTMLstretchH, + CHTMLdimen: function (length,d,D,m) { + if (m == null) {m = -BIGDIMEN} + length = String(length); + var match = length.match(/width|height|depth/); + var size = (match ? this.CHTML[match[0].charAt(0)] : (d ? this.CHTML[d] : 0)); + var dimen = (this.CHTMLlength2em(length,size)||0); + if (length.match(/^[-+]/) && D != null) dimen += D; + if (m != null) dimen = Math.max(m,dimen); + return dimen; + } + }); + + /********************************************************/ + + MML.munderover.Augment({ + toCommonHTML: function (node,options) { + var values = this.getValues("displaystyle","accent","accentunder","align"); + var base = this.data[this.base]; + if (!values.displaystyle && base != null && + (base.movablelimits || base.CoreMO().Get("movablelimits"))) + return MML.msubsup.prototype.toCommonHTML.call(this,node,stretch); + // + // Get the nodes for base and limits + // + var under, over, nodes = [], stretch = false; + if (options && options.stretch) { + if (this.data[this.base]) base = CHTML.getNode(node,"mjx-op"); + if (this.data[this.under]) under = CHTML.getNode(node,"mjx-under"); + if (this.data[this.over]) over = CHTML.getNode(node,"mjx-over"); + nodes[0] = base; nodes[1] = under||over; nodes[2] = over; + stretch = true; + } else { + var types = ["mjx-op","mjx-under","mjx-over"]; + if (this.over === 1) types[1] = types[2]; + node = this.CHTMLdefaultNode(node,{ + childNodes:types, noBBox:true, forceChild:true, minChildren: 2 + }); + nodes[0] = base = node.removeChild(node.firstChild); + nodes[1] = under = over = node.removeChild(node.firstChild); + if (node.firstChild) nodes[2] = over = node.removeChild(node.firstChild); + } + // + // Get the bounding boxes and the maximum width + // + var boxes = [], W = this.CHTMLgetBBoxes(boxes,nodes,values); + var bbox = boxes[this.base], BBOX = this.CHTML; + BBOX.w = W; BBOX.h = bbox.h; BBOX.d = bbox.d; // modified below + // + // Adjust for bases shorter than the center line (#1657) + // (the center line really depends on the surrounding font, so + // it should be measured along with ems and exs, but currently isn't. + // so this value is an approximation that is reasonable for most fonts.) + // + if (bbox.h < .35) base.style.marginTop = CHTML.Em(bbox.h - .35); + // + // Use a minimum height for accents (#1706) + // (same issues with the center line as above) + // + if (values.accent && bbox.h < CHTML.TEX.x_height) { + BBOX.h += CHTML.TEX.x_height - bbox.h; + base.style.marginTop = CHTML.Em(CHTML.TEX.x_height - Math.max(bbox.h,.35)); + bbox.h = CHTML.TEX.x_height; + } + // + // Add over- and under-scripts + // + var stack = base, delta = 0; + if (bbox.ic) {delta = 1.3*bbox.ic + .05} // make faked IC be closer to expeted results + if (this.data[this.over]) stack = this.CHTMLaddOverscript(over,boxes,values,delta,base,stretch); + if (this.data[this.under]) this.CHTMLaddUnderscript(under,boxes,values,delta,node,stack,stretch); + else if (!stretch) node.appendChild(stack); + // + // Handle horizontal positions + // + this.CHTMLplaceBoxes(base,under,over,values,boxes); + return node; + }, + // + // Get the bounding boxes for the children, stretch + // any stretchable elements, and compute the maximum width + // + CHTMLgetBBoxes: function (bbox,nodes,values) { + var i, m = this.data.length, scale, + w = -BIGDIMEN, // maximum width of non-stretchy items + W = w; // maximum width of all items + // + // Get the maximum width + // + for (i = 0; i < m; i++) { + bbox[i] = this.CHTMLbboxFor(i); bbox[i].x = bbox[i].y = 0; + if (this.data[i]) bbox[i].stretch = this.data[i].CHTMLcanStretch("Horizontal"); + scale = (i === this.base ? 1 : bbox[i].rscale); + if (i !== this.base) {delete bbox[i].L; delete bbox[i].R} // these are overridden by CSS + W = Math.max(W,scale*(bbox[i].w + (bbox[i].L||0) + (bbox[i].R||0))); + if (!bbox[i].stretch && W > w) w = W; + } + if (w === -BIGDIMEN) w = W; + // + // Stretch those parts that need it + // + for (i = 0; i < m; i++) { + if (bbox[i].stretch) { + scale = (i === this.base ? 1 : bbox[i].rscale); + bbox[i] = this.data[i].CHTMLstretchH(nodes[i].firstChild,w/scale); + bbox[i].x = bbox[i].y = 0; + W = Math.max(W,scale*(bbox[i].w + (bbox[i].L||0) + (bbox[i].R||0))); + } + } + if (!bbox[this.base]) bbox[this.base] = CHTML.BBOX.empty(); + return W; + }, + // + // Add an overscript + // + CHTMLaddOverscript: function (over,boxes,values,delta,base,stretch) { + var BBOX = this.CHTML; + var z1, z2, z3 = CHTML.TEX.big_op_spacing5, k; + var obox = boxes[this.over], bbox = boxes[this.base], scale = obox.rscale; + // + // Put the base and script into a stack + // + if (!stretch) { + var stack = CHTML.Element("mjx-stack"); + stack.appendChild(over); stack.appendChild(base); + } + if (obox.D) obox.d = obox.D; + if (obox.d < 0) { + // + // For negative depths, set the height and align to top + // in order to avoid extra baseline space + // + over.firstChild.style.verticalAlign = "top"; + over.style.height = CHTML.Em(obox.h+obox.d); + } + // + // Determine the spacing + // + obox.x = 0; + if (values.accent) { + if (obox.w < .001) obox.x += (obox.r - obox.l)/2; // center combining accents + k = CHTML.TEX.rule_thickness; z3 = 0; + if (bbox.skew) { + obox.x += scale*bbox.skew; BBOX.skew = scale*bbox.skew; + if (obox.x+scale*obox.w > BBOX.w) BBOX.skew += (BBOX.w - (obox.x+scale*obox.w))/2; + } + } else { + z1 = CHTML.TEX.big_op_spacing1; + z2 = CHTML.TEX.big_op_spacing3; + k = Math.max(z1,z2-Math.max(0,scale*obox.d)); + } + obox.x += delta/2; obox.y = BBOX.h + k + z3 + scale*obox.d; + // + // Position the overscript + // + if (k) over.style.paddingBottom = CHTML.Em(k/scale); + if (z3) over.style.paddingTop = CHTML.Em(z3/scale); + return stack; + }, + // + // Add an underscript + // + CHTMLaddUnderscript: function (under,boxes,values,delta,node,stack,stretch) { + var BBOX = this.CHTML; + var z1, z2, z3 = CHTML.TEX.big_op_spacing5, k; + var ubox = boxes[this.under], scale = ubox.rscale; + // + // Create a table for the underscript + // + if (!stretch) { + CHTML.addElement(node,"mjx-itable",{},[ + ["mjx-row",{},[["mjx-cell"]]], + ["mjx-row"] + ]); + node.firstChild.firstChild.firstChild.appendChild(stack); + node.firstChild.lastChild.appendChild(under); + } + if (ubox.D) ubox.d = ubox.D; + if (ubox.d < 0) { + // + // For negative depths, set the height and align to top + // in order to avoid extra baseline space + // + under.firstChild.style.verticalAlign = "top"; + node.firstChild.style.marginBottom = CHTML.Em(ubox.d); + } + // + // determine the spacing + // + if (values.accentunder) { + k = 2*CHTML.TEX.rule_thickness; z3 = 0; + } else { + z1 = CHTML.TEX.big_op_spacing2; + z2 = CHTML.TEX.big_op_spacing4; + k = Math.max(z1,z2-scale*ubox.h); + } + ubox.x = -delta/2; ubox.y = -(BBOX.d + k + z3 + scale*ubox.h); + // + // Position the underscript + // + if (k) under.style.paddingTop = CHTML.Em(k/scale); + if (z3) under.style.paddingBottom = CHTML.Em(z3/scale); + }, + // + // Center boxes horizontally, taking offsets into account + // + CHTMLplaceBoxes: function (base,under,over,values,boxes) { + var W = this.CHTML.w, i, m = boxes.length, scale; + var BBOX = CHTML.BBOX.zero(); + BBOX.scale = this.CHTML.scale; BBOX.rscale = this.CHTML.rscale; + boxes[this.base].x = boxes[this.base].y = 0; var dx = BIGDIMEN; + for (i = 0; i < m; i++) { + scale = (i === this.base ? 1 : boxes[i].rscale); + var w = scale*(boxes[i].w + (boxes[i].L||0) + (boxes[i].R||0)); + boxes[i].x += {left:0, center:(W-w)/2, right:W-w}[values.align]; + if (boxes[i].x < dx) dx = boxes[i].x; + } + for (i = 0; i < m; i++) { + if (this.data[i]) { + scale = (i === this.base ? 1 : boxes[i].rscale); + if (boxes[i].x - dx) { + var node = (i === this.base ? base : i === this.over ? over : under); + node.style.paddingLeft = CHTML.Em((boxes[i].x-dx)/scale); + } + BBOX.combine(boxes[i],boxes[i].x-dx,boxes[i].y); + } + } + this.CHTML = BBOX; + }, + CHTMLstretchV: MML.mbase.CHTMLstretchV, + CHTMLstretchH: MML.mbase.CHTMLstretchH, + CHTMLchildNode: function (node,i) { + var types = ["mjx-op","mjx-under","mjx-over"]; + if (this.over === 1) types[1] = types[2]; + return CHTML.getNode(node,types[i]); + } + }); + + /********************************************************/ + + MML.msubsup.Augment({ + toCommonHTML: function (node,options) { + var values = this.getValues( + "displaystyle","subscriptshift","superscriptshift","texprimestyle" + ); + // + // Get the nodes for base and limits + // + var base, sub, sup; + if (options && options.stretch) { + if (this.data[this.base]) base = CHTML.getNode(node,"mjx-base"); + if (this.data[this.sub]) sub = CHTML.getNode(node,"mjx-sub"); + if (this.data[this.sup]) sup = CHTML.getNode(node,"mjx-sup"); + stack = CHTML.getNode(node,"mjx-stack"); + } else { + var types = ["mjx-base","mjx-sub","mjx-sup"]; + if (this.sup === 1) types[1] = types[2]; + node = this.CHTMLdefaultNode(node,{ + childNodes:types, noBBox:true, forceChild:true, minChildren: 3 + }); + base = node.childNodes[this.base]; + sub = node.childNodes[this.sub]; sup = node.childNodes[this.sup]; + if (!this.CHTMLnotEmpty(this.data[this.sub])) {node.removeChild(sub); sub = null} + if (!this.CHTMLnotEmpty(this.data[this.sup])) {node.removeChild(sup); sup = null} + if (node.childNodes.length === 3) { + var stack = CHTML.addElement(node,"mjx-stack"); + stack.appendChild(sup); stack.appendChild(sub); + } + } + // + // Get the bounding boxes and maximum width of scripts + // + var boxes = [], BBOX = CHTML.BBOX.empty(this.CHTML); + for (var i = 0, m = this.data.length; i < m; i++) boxes[i] = this.CHTMLbboxFor(i); + var bbox = boxes[this.base] || CHTML.BBOX.empty(), + sbox = boxes[this.sub], Sbox = boxes[this.sup]; + var sscale = (sub ? sbox.rscale : 1), Sscale = (sup ? Sbox.rscale : 1); + BBOX.combine(bbox,0,0); + // + // Get initial values for parameters + // + var ex = CHTML.TEX.x_height, s = CHTML.TEX.scriptspace; + var q = CHTML.TEX.sup_drop * Sscale, r = CHTML.TEX.sub_drop * sscale; + var u = bbox.h - q, v = bbox.d + r, delta = 0, p; + if (bbox.ic) { + BBOX.w -= bbox.ic; // remove IC (added by mo and mi) + base.style.marginRight = CHTML.Em(-bbox.ic); + delta = 1.3*bbox.ic + .05; // make faked IC be closer to expeted results + } + var bmml = this.data[this.base]; + if (bmml) { + if ((bmml.type === "mrow" || bmml.type === "mstyle") && bmml.data.length === 1) bmml = bmml.data[0]; + if (bmml.type === "mi" || bmml.type === "mo") { + if (CHTML.isChar(bmml.data.join("")) && bbox.rscale === 1 && !bbox.sH && + !bmml.Get("largeop")) {u = v = 0} + } + } + values.subscriptshift = (values.subscriptshift === "" ? 0 : this.CHTMLlength2em(values.subscriptshift)); + values.superscriptshift = (values.superscriptshift === "" ? 0 : this.CHTMLlength2em(values.superscriptshift)); + // + // Add the super- and subscripts + // + var x = BBOX.w; if (sub) sbox.w += s; if (sup) Sbox.w += s; + if (!sup) { + if (sub) { + v = Math.max(v,CHTML.TEX.sub1,sscale*sbox.h-(4/5)*ex,values.subscriptshift); + sub.style.verticalAlign = CHTML.Em(-v/sscale); + sub.style.paddingRight = CHTML.Em(s/sscale); + BBOX.combine(sbox,x,-v); + } + } else { + if (!sub) { + p = CHTML.TEX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; + u = Math.max(u,p,Sscale*Sbox.d+(1/4)*ex,values.superscriptshift); + sup.style.verticalAlign = CHTML.Em(u/Sscale); + sup.style.paddingLeft = CHTML.Em(delta/Sscale); + sup.style.paddingRight = CHTML.Em(s/Sscale); + BBOX.combine(Sbox,x+delta,u); + } else { + v = Math.max(v,CHTML.TEX.sub2); + var t = CHTML.TEX.rule_thickness; + if ((u - Sscale*Sbox.d) - (sscale*sbox.h - v) < 3*t) { + v = 3*t - u + Sscale*Sbox.d + sscale*sbox.h; + q = (4/5)*ex - (u - Sscale*Sbox.d); + if (q > 0) {u += q; v -= q} + } + u = Math.max(u,values.superscriptshift); + v = Math.max(v,values.subscriptshift); + sub.style.paddingRight = CHTML.Em(s/sscale); + sup.style.paddingBottom = CHTML.Em(u/Sscale+v/sscale-Sbox.d-sbox.h/sscale*Sscale); + sup.style.paddingLeft = CHTML.Em(delta/Sscale); + sup.style.paddingRight = CHTML.Em(s/Sscale); + stack.style.verticalAlign = CHTML.Em(-v); + BBOX.combine(Sbox,x+delta,u); + BBOX.combine(sbox,x,-v); + } + } + BBOX.clean(); + return node; + }, + CHTMLstretchV: MML.mbase.CHTMLstretchV, + CHTMLstretchH: MML.mbase.CHTMLstretchH, + CHTMLchildNode: function (node,i) { + var types = ["mjx-base","mjx-sub","mjx-sup"]; + if (this.over === 1) types[1] = types[2]; + return CHTML.getNode(node,types[i]); + } + }); + + /********************************************************/ + + MML.mfrac.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node,{ + childNodes:["mjx-numerator","mjx-denominator"], + childOptions: {autowidth: true}, + forceChild:true, noBBox:true, minChildren:2 + }); + var values = this.getValues("linethickness","displaystyle", + "numalign","denomalign","bevelled"); + var isDisplay = values.displaystyle; + // + // Create the table for the fraction and set the alignment + // + var num = node.firstChild, denom = node.lastChild; + var frac = CHTML.addElement(node,"mjx-box"); + frac.appendChild(num); frac.appendChild(denom); node.appendChild(frac); + if (values.numalign !== "center") num.style.textAlign = values.numalign; + if (values.denomalign !== "center") denom.style.textAlign = values.denomalign; + // + // Get the bounding boxes for the parts, and determine the placement + // of the numerator and denominator + // + var nbox = this.CHTMLbboxFor(0), dbox = this.CHTMLbboxFor(1), + BBOX = CHTML.BBOX.empty(this.CHTML), nscale = nbox.rscale, dscale = dbox.rscale; + values.linethickness = Math.max(0,CHTML.thickness2em(values.linethickness||"0",BBOX.scale)); + var mt = CHTML.TEX.min_rule_thickness/CHTML.em, a = CHTML.TEX.axis_height; + var t = values.linethickness, p,q, u,v; + if (values.bevelled) { + frac.className += " MJXc-bevelled"; + var delta = (isDisplay ? .4 : .15); + var H = Math.max(nscale*(nbox.h+nbox.d),dscale*(dbox.h+dbox.d)) + 2*delta; + var bevel = CHTML.Element("mjx-bevel"); frac.insertBefore(bevel,denom); + var bbox = CHTML.createDelimiter(bevel,0x2F,H); + u = nscale*(nbox.d-nbox.h)/2+a+delta; + v = dscale*(dbox.d-dbox.h)/2+a-delta; + if (u) num.style.verticalAlign = CHTML.Em(u/nscale); + if (v) denom.style.verticalAlign = CHTML.Em(v/dscale); + bevel.style.marginLeft = bevel.style.marginRight = CHTML.Em(-delta/2); + BBOX.combine(nbox,0,u); + BBOX.combine(bbox,nscale*nbox.w-delta/2,0); + BBOX.combine(dbox,nscale*nbox.w+bbox.w-delta,v); + BBOX.clean(); + } else { + frac.className += " MJXc-stacked"; + if (isDisplay) {u = CHTML.TEX.num1; v = CHTML.TEX.denom1} + else {u = (t === 0 ? CHTML.TEX.num3 : CHTML.TEX.num2); v = CHTML.TEX.denom2} + if (t === 0) { // \atop + p = Math.max((isDisplay ? 7 : 3) * CHTML.TEX.rule_thickness, 2*mt); // force to at least 2 px + q = (u - nbox.d*nscale) - (dbox.h*dscale - v); + if (q < p) {u += (p - q)/2; v += (p - q)/2} + } else { // \over + p = Math.max((isDisplay ? 2 : 0) * mt + t, t/2 + 1.5*mt); + t = Math.max(t,mt); + q = (u - nbox.d*nscale) - (a + t/2); if (q < p) u += (p - q); + q = (a - t/2) - (dbox.h*dscale - v); if (q < p) v += (p - q); + nbox.L = nbox.R = dbox.L = dbox.R = .1; // account for padding in BBOX width + var rule = CHTML.addElement(frac,"mjx-line",{style: { + "border-bottom":CHTML.Px(t*BBOX.scale,1)+" solid", top: CHTML.Em(-t/2-a) + }}); + } + // + // Determine the new bounding box and place the parts + // + BBOX.combine(nbox,0,u); + BBOX.combine(dbox,0,-v); + BBOX.clean(); + // + // Force elements to the correct width + // + frac.style.width = CHTML.Em(BBOX.w); + num.style.width = CHTML.Em(BBOX.w/nscale); + denom.style.width = CHTML.Em(BBOX.w/dscale); + if (rule) rule.style.width = frac.style.width; + // + // Place the numerator and denominator in relation to the baseline + // + num.style.top = CHTML.Em(-BBOX.h/nscale); + denom.style.bottom = CHTML.Em(-BBOX.d/dscale); + // + // Force the size of the surrounding box, since everything is absolutely positioned + // + CHTML.addElement(node,"mjx-vsize",{style: { + height: CHTML.Em(BBOX.h+BBOX.d), verticalAlign: CHTML.Em(-BBOX.d) + }}); + } + // + // Add nulldelimiterspace around the fraction + // (TeXBook pg 150 and Appendix G rule 15e) + // + if (!this.texWithDelims) { + var space = CHTML.TEX.nulldelimiterspace; + frac.style.padding = "0 "+CHTML.Em(space); + BBOX.l += space; BBOX.r += space; BBOX.w += 2*space; + } + // + // Return the completed fraction + // + return node; + }, + CHTMLcanStretch: function (direction) {return false} + }); + + /********************************************************/ + + MML.msqrt.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLdefaultNode(node,{ + childNodes:["mjx-box","mjx-root"], forceChild:true, noBBox:true + }); + var base = node.firstChild || CHTML.Element("mjx-box"); + var sqrt = CHTML.addElement(node,"mjx-box"); sqrt.appendChild(base); + var bbox = this.CHTMLbboxFor(0), BBOX = CHTML.BBOX.empty(this.CHTML); + var t = CHTML.TEX.rule_thickness, T = CHTML.TEX.surd_height, p = t, q, H; + if (this.Get("displaystyle")) p = CHTML.TEX.x_height; + q = t + p/4; + H = bbox.h + bbox.d + q + t; + var surd = CHTML.Element("mjx-surd"); sqrt.insertBefore(surd,base); + var sbox = CHTML.createDelimiter(surd,0x221A,[H-.04,H]); + if (sbox.h + sbox.d > H) q = ((sbox.h+sbox.d) - (H-t))/2; + H = bbox.h + q + t; + var x = this.CHTMLaddRoot(node,sbox,sbox.h+sbox.d-H); + base.style.paddingTop = CHTML.Em(q); + base.style.borderTop = CHTML.Px(T*bbox.scale,1)+" solid"; + sqrt.style.paddingTop = CHTML.Em(2*t-T); // use wider line, but don't affect height + bbox.h += q + 2*t; + BBOX.combine(sbox,x,H-sbox.h); + BBOX.combine(bbox,x+sbox.w,0); + BBOX.clean(); + return node; + }, + CHTMLaddRoot: function () {return 0}, + CHTMLhandleBBox: function (node) { + var bbox = this.CHTMLbboxFor(0); + delete bbox.pwidth; + this.SUPER(arguments).CHTMLhandleBBox.apply(this,arguments); + } + }); + + /********************************************************/ + + MML.mroot.Augment({ + toCommonHTML: MML.msqrt.prototype.toCommonHTML, + CHTMLhandleBBox: MML.msqrt.prototype.CHTMLhandleBBox, + CHTMLaddRoot: function (sqrt,sbox,d) { + if (!this.data[1]) return; + var BBOX = this.CHTML, bbox = this.data[1].CHTML, root = sqrt.firstChild; + var scale = bbox.rscale; + var h = this.CHTMLrootHeight(bbox,sbox,scale)-d; + var w = Math.min(bbox.w,bbox.r); // remove extra right-hand padding, if any + var dx = Math.max(w,sbox.offset/scale); + if (h) root.style.verticalAlign = CHTML.Em(h/scale); + if (dx > w) root.firstChild.style.paddingLeft = CHTML.Em(dx-w); + dx -= sbox.offset/scale; + root.style.width = CHTML.Em(dx); + BBOX.combine(bbox,0,h); + return dx*scale; + }, + CHTMLrootHeight: function (bbox,sbox,scale) { + return .45*(sbox.h+sbox.d-.9)+sbox.offset + Math.max(0,bbox.d-.075); + } + }); + + /********************************************************/ + + MML.mfenced.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLcreateNode(node); + this.CHTMLhandleStyle(node); + this.CHTMLhandleScale(node); + // + // Make row of open, data, sep, ... data, close + // + this.CHTMLaddChild(node,"open",{}); + for (var i = 0, m = this.data.length; i < m; i++) { + this.CHTMLaddChild(node,"sep"+i,{}); + this.CHTMLaddChild(node,i,{}); + } + this.CHTMLaddChild(node,"close",{}); + // + // Check for stretching the elements + // + var H = this.CHTML.h, D = this.CHTML.d; + this.CHTMLstretchChildV("open",H,D); + for (i = 0, m = this.data.length; i < m; i++) { + this.CHTMLstretchChildV("sep"+i,H,D); + this.CHTMLstretchChildV(i,H,D); + } + this.CHTMLstretchChildV("close",H,D); + this.CHTMLhandleSpace(node); + this.CHTMLhandleBBox(node); + this.CHTMLhandleColor(node); + return node; + } + }); + + /********************************************************/ + + MML.mrow.Augment({ + toCommonHTML: function (node,options) { + options = options || {}; + node = this.CHTMLdefaultNode(node); + var bbox = this.CHTML, H = bbox.h, D = bbox.d, hasNegative; + for (var i = 0, m = this.data.length; i < m; i++) { + this.CHTMLstretchChildV(i,H,D); + if (this.data[i] && this.data[i].CHTML && this.data[i].CHTML.w < 0) hasNegative = true; + } + if (this.CHTMLlineBreaks()) { + this.CHTMLmultiline(node); + if (options.autowidth) node.style.width = ""; + } else { + if (hasNegative && bbox.w) node.style.width = CHTML.Em(Math.max(0,bbox.w)); + if (bbox.w < 0) node.style.marginRight = CHTML.Em(bbox.w); + } + return node; + }, + CHTMLlineBreaks: function () { + if (!this.parent.linebreakContainer) return false; + return (LINEBREAKS.automatic && this.CHTML.w > CHTML.linebreakWidth) || this.hasNewline(); + }, + CHTMLstretchV: function (h,d) { + this.CHTMLstretchChildV(this.CoreIndex(),h,d); + return this.CHTML; + }, + CHTMLstretchH: function (node,w) { + this.CHTMLstretchChildH(this.CoreIndex(),w,node); + return this.CHTML; + } + }); + + /********************************************************/ + + MML.TeXAtom.Augment({ + toCommonHTML: function (node,options) { + if (!options || !options.stretch) node = this.CHTMLdefaultNode(node); + if (this.texClass === MML.TEXCLASS.VCENTER) { + var a = CHTML.TEX.axis_height, BBOX = this.CHTML; + var v = a-(BBOX.h+BBOX.d)/2+BBOX.d; + if (Math.abs(v) > .001) { + node.style.verticalAlign = CHTML.Em(v); + BBOX.h += v; BBOX.t += v; BBOX.d -= v; BBOX.b -= v; + } + } + return node; + }, + CHTMLstretchV: function (h,d) { + this.CHTMLupdateFrom(this.Core().CHTMLstretchV(h,d)); + this.toCommonHTML(this.CHTMLnodeElement(),{stretch:true}); + return this.CHTML; + }, + CHTMLstretchH: function (node,w) { + this.CHTMLupdateFrom(this.CHTMLstretchCoreH(node,w)); + this.toCommonHTML(node,{stretch:true}); + return this.CHTML; + } + }); + + /********************************************************/ + + MML.semantics.Augment({ + toCommonHTML: function (node) { + node = this.CHTMLcreateNode(node); + if (this.data[0]) { + this.data[0].toCommonHTML(node); + this.CHTMLupdateFrom(this.data[0].CHTML); + this.CHTMLhandleBBox(node); + } + return node; + } + }); + MML.annotation.Augment({toCommonHTML: function(node) {return this.CHTMLcreateNode(node)}}); + MML["annotation-xml"].Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + + /********************************************************/ + + MML.ms.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + MML.mglyph.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + MML.menclose.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + MML.maction.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + MML.mmultiscripts.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + MML.mtable.Augment({toCommonHTML: MML.mbase.CHTMLautoload}); + + /********************************************************/ + + // + // Loading isn't complete until the element jax is modified, + // but can't call loadComplete within the callback for "mml Jax Ready" + // (it would call CommonHTML's Require routine, asking for the mml jax again) + // so wait until after the mml jax has finished processing. + // + // We also need to wait for the onload handler to run, since the loadComplete + // will call Config and Startup, which need to modify the body. + // + MathJax.Hub.Register.StartupHook("onLoad",function () { + setTimeout(MathJax.Callback(["loadComplete",CHTML,"jax.js"]),0); + }); + }); + + MathJax.Hub.Register.StartupHook("End Cookie", function () { + if (HUB.config.menuSettings.zoom !== "None") + {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }); + +})(MathJax.Ajax,MathJax.Hub,MathJax.HTML,MathJax.OutputJax.CommonHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/config.js b/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/config.js new file mode 100644 index 00000000..a90c86b0 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/config.js @@ -0,0 +1,52 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/NativeMML/config.js + * + * Initializes the NativeMML OutputJax (the main definition is in + * MathJax/jax/input/NativeMML/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.OutputJax.NativeMML = MathJax.OutputJax({ + id: "NativeMML", + version: "2.7.5", + directory: MathJax.OutputJax.directory + "/NativeMML", + extensionDir: MathJax.OutputJax.extensionDir + "/NativeMML", + + config: { + matchFontHeight: true, // try to match math font height to surrounding font? + scale: 100, // scaling factor for all math + minScaleAdjust: 50, // minimum scaling to adjust to surrounding text + // (since the code for that is a bit delicate) + + styles: { + "div.MathJax_MathML": { + "text-align": "center", + margin: ".75em 0px" + } + } + } +}); + +if (!MathJax.Hub.config.delayJaxRegistration) + MathJax.OutputJax.NativeMML.Register("jax/mml"); + +MathJax.OutputJax.NativeMML.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/jax.js new file mode 100644 index 00000000..d2beaeca --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/NativeMML/jax.js @@ -0,0 +1,1431 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/NativeMML/jax.js + * + * Implements the NativeMML OutputJax that displays mathematics + * using a browser's native MathML capabilities (if any). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2018 The MathJax Consortium + * + * 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. + */ + +(function (nMML,HUB,AJAX,HTML) { + var MML, isMSIE = HUB.Browser.isMSIE; + + var EVENT, TOUCH, HOVER, ZOOM; // filled in later + + HUB.Register.StartupHook("MathZoom Ready",function () {ZOOM = MathJax.Extension.MathZoom}); + + var NOPADDING = function (side,obj) { + var span = HTML.Element("span"); side = "padding"+side; + if (obj) { + span.style.cssText = (obj.getAttribute("style")||""); + if (span.style.padding === "" && (span.style[side]||"") === "") { + span.style[side] = "0px"; obj.setAttribute("style",span.style.cssText) + } + } + }; + + var CELLSPACING = function (obj,rowSpacing,columnSpacing) { + // + // Webkit default padding on mtd cells is simply + // + // mtd {padding: 0.5ex;} + // + // Gecko default padding on mtd cells is + // + // mtd {padding-right: 0.4em; + // padding-left: 0.4em; + // padding-bottom: 0.5ex; + // padding-top: 0.5ex;} + // mtr:first-child > mtd {padding-top: 0ex;} + // mtr:last-child > mtd {padding-bottom: 0ex;} + // mtd:first-child {padding-left: 0em;} + // mtd:last-child {padding-right: 0em;} + // + // that is the columnspacing/rowspacing is split into two adjacent cells, + // and the periphery of boundary cells is set to zero. + // + // Here, we will set the left/top padding of each cell to + // rowSpacing/columnSpacing (or 0px for the leftmost/topmost cells) and + // reset the right/bottom padding to zero. + // + if (obj) { + var span = HTML.Element("span"); + span.style.cssText = (obj.getAttribute("style")||""); + if (span.style.padding === "") { + var padding = { paddingLeft: columnSpacing, paddingTop: rowSpacing, + paddingRight: "0px", paddingBottom: "0px" }; + for (var side in padding) {if (padding.hasOwnProperty(side)) { + if ((span.style[side]||"") === "") {span.style[side] = padding[side];} + }} + } + obj.setAttribute("style",span.style.cssText); + } + }; + + nMML.Augment({ + // + // User can configure styles + // + config: { + styles: { + ".MathJax_MathML": { + "font-style": "normal", + "font-weight": "normal", + "line-height": "normal", + "font-size": "100%", + "font-size-adjust":"none", + "text-indent": 0, + "text-align": "left", + "text-transform": "none", + "letter-spacing": "normal", + "word-spacing": "normal", + "word-wrap": "normal", + "white-space": "nowrap", + "float": "none", + "direction": "ltr", + "max-width": "none", "max-height": "none", + "min-width": 0, "min-height": 0, + border: 0, padding: 0, margin: 0 + }, + + "span.MathJax_MathML": { + display: "inline!important" + }, + + "div.MathJax_MathML": { + display: "block!important" + }, + + ".MathJax_mmlExBox": { + display:"block!important", overflow:"hidden", + height:"1px", width:"60ex", + "min-height": 0, "max-height":"none", + padding:0, border: 0, margin: 0 + } + } + }, + handlesVariants: false, // true if native support for mathvariants + settings: HUB.config.menuSettings, + ex: 1, scale: 1, // filled in later + adjustWidths: [], // array of elements to have their widths adjusted + + Config: function () { + this.SUPER(arguments).Config.call(this); + if (this.settings.scale) {this.config.scale = this.settings.scale} + // + // Insert styling to take account of displayAlign and displayIndent + // + if (HUB.config.displayAlign !== "center") { + var align = HUB.config.displayAlign, indent = HUB.config.displayIndent; + var def = {"text-align": align+"!important"}; def["margin-"+align] = indent+"!important"; + HUB.Insert(this.config.styles,{ + "div.MathJax_MathML": def, + "div.MathJax_MathML math": {"text-align": align}, + "div.MathJax_MathContainer > span": {"text-align": align+"!important"} + }); + } + if (!this.require) {this.require = []} + this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); + }, + Startup: function () { + // Set up event handling + EVENT = MathJax.Extension.MathEvents.Event; + TOUCH = MathJax.Extension.MathEvents.Touch; + HOVER = MathJax.Extension.MathEvents.Hover; + this.ContextMenu = EVENT.ContextMenu; + this.Mousedown = EVENT.AltContextMenu; + this.Mouseover = HOVER.Mouseover; + this.Mouseout = HOVER.Mouseout; + this.Mousemove = HOVER.Mousemove; + + if (!HUB.Browser.hasMathPlayer) { + // Used in preTranslate to get scaling factors + this.EmExSpan = HTML.Element("span", + {style:{position:"absolute","font-size-adjust":"none"}}, + [ + ["div",{className:"MathJax_mmlExBox"}], + ["span",{className:"MathJax_MathML"}] + ] + ); + MML.math(MML.mspace().With({width:"60ex"})).toNativeMML(this.EmExSpan.lastChild); + } + + // Set up styles + return AJAX.Styles(this.config.styles); + }, + // + // Set up MathPlayer for IE on the first time through. + // Get the ex and em sizes. + // + InitializeMML: function () { + this.initialized = true; + if (HUB.Browser.hasMathPlayer) { + try { + // + // Insert data needed to use MathPlayer for MathML output + // + if (!HUB.Browser.mpNamespace) { + var mathplayer = document.createElement("object"); + mathplayer.id = "mathplayer"; mathplayer.classid = "clsid:32F66A20-7614-11D4-BD11-00104BD3F987"; + document.getElementsByTagName("head")[0].appendChild(mathplayer); + document.namespaces.add("m","http://www.w3.org/1998/Math/MathML"); + HUB.Browser.mpNamespace = true; + } + if (!HUB.Browser.mpImported) { + document.namespaces.m.doImport("#mathplayer"); + HUB.Browser.mpImported = true; + } + } catch (err) { + // + // If that fails, give an alert about security settings + // + if (!this.config.noMathPlayerWarning) { + alert(MathJax.Localization._(["MathML", "MathPlayer"], + "MathJax was not able to set up MathPlayer.\n\n"+ + "If MathPlayer is not installed, you need to install it first.\n"+ + "Otherwise, your security settings may be preventing ActiveX \n"+ + "controls from running. Use the Internet Options item under\n"+ + "the Tools menu and select the Security tab, then press the\n"+ + "Custom Level button. Check that the settings for\n"+ + "'Run ActiveX Controls', and 'Binary and script behaviors'\n"+ + "are enabled.\n\n"+ + "Currently you will see error messages rather than\n"+ + "typeset mathematics.")); + } + } + } else { + // + // Get the default sizes (need styles in place to do this) + // + document.body.appendChild(this.EmExSpan); + this.defaultEx = this.EmExSpan.firstChild.offsetWidth/60; + this.defaultMEx = this.EmExSpan.lastChild.offsetWidth/60; + document.body.removeChild(this.EmExSpan); + } + }, + + preTranslate: function (state) { + var scripts = state.jax[this.id], i, m = scripts.length, + script, prev, span, test, math, jax, ex, mex, scale; + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + if (!this.initialized) {this.InitializeMML()} + // + // Remove any existing output + // + prev = script.previousSibling; + if (prev && prev.className === "MathJax_MathML") {prev.parentNode.removeChild(prev)} + // + // Add the MathJax span + // + jax = script.MathJax.elementJax; if (!jax) continue; + math = jax.root; jax.NativeMML = {}; + var type = (math.Get("display") === "block" ? "div" : "span"); + span = HTML.Element(type,{ + className: "MathJax_MathML", id:jax.inputID+"-Frame" + },[["span",{ + className:"MathJax_MathContainer", isMathJax: true, jaxID:this.id, + style:{position:"relative", display:"inline-block", "white-space":"nowrap"} + }, [["span",{isMathJax:true, style:{display:"inline-block"}}]] // for Firefox hover and zoom + ]]); + script.parentNode.insertBefore(span,script); + // + // Add the test span for determining scales + // + if (!isMSIE) {script.parentNode.insertBefore(this.EmExSpan.cloneNode(true),script)} + } + // + // Determine the scaling factors for each script + // (this only requires one reflow rather than a reflow for each equation) + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + jax = script.MathJax.elementJax; if (!jax) continue; + if (!isMSIE) { + test = script.previousSibling; + ex = test.firstChild.offsetWidth/60; + mex = test.lastChild.offsetWidth/60; + if (ex === 0 || ex === "NaN") {ex = this.defaultEx; mex = this.defaultMEx} + scale = (this.config.matchFontHeight && mex > 1 ? ex/mex : 1); + scale = Math.floor(Math.max(this.config.minScaleAdjust/100,scale) * this.config.scale); + jax.NativeMML.ex = ex; jax.NativeMML.mex = mex; + } else {scale = 100} + jax.NativeMML.fontSize = scale+"%"; + jax.NativeMML.scale = scale/100; + } + // + // Remove the test spans used for determining scales + // + if (!isMSIE) { + for (i = 0; i < m; i++) { + script = scripts[i]; + if (script.parentNode && script.MathJax.elementJax) { + script.parentNode.removeChild(script.previousSibling); + } + } + } + }, + + // + // Add a SPAN to use as a container, and render the math into it + // + Translate: function (script) { + if (!script.parentNode) return; + // + // Get the jax and the container and set the size + // + var jax = script.MathJax.elementJax, math = jax.root; + var span = document.getElementById(jax.inputID+"-Frame"); if (!span) return; + var container = span.firstChild, mspan = container.firstChild; + this.ex = jax.NativeMML.ex || this.defaultEx; + this.scale = jax.NativeMML.scale || 1; + if (this.scale !== 1) {span.style.fontSize = jax.NativeMML.fontSize} + // + // Convert to MathML (if restarted, remove any partial math) + // + try {math.toNativeMML(mspan,jax)} catch (err) { + if (err.restart) {while (mspan.firstChild) {mspan.removeChild(mspan.firstChild)}} + throw err; + } + // + // Add event handlers + // + if (isMSIE) { + if (container.addEventListener) { + for (var id in this.MSIE9events) {if (this.MSIE9events.hasOwnProperty(id)) { + container.addEventListener(id,this.MSIE9event,true); + }} + } else { + var config = (this.config.showMathMenuMSIE != null ? this : HUB).config; + if (config.showMathMenuMSIE && !this.settings.mpContext && !this.settings.mpMouse) + {this.MSIEoverlay(container)} else + {container.style.position = ""; mspan.firstChild.onmousedown = this.MSIEaltMenu} + } + } else { + container.oncontextmenu = EVENT.Menu; + container.onmouseover = EVENT.Mouseover; + container.onmouseout = EVENT.Mouseout; + container.onmousedown = EVENT.Mousedown; + container.onclick = EVENT.Click; + container.ondblclick = EVENT.DblClick; + // Added for keyboard accessible menu. + container.onkeydown = EVENT.Keydown; + container.tabIndex = HUB.getTabOrder(jax); + if (HUB.Browser.noContextMenu) { + container.ontouchstart = TOUCH.start; + container.ontouchend = TOUCH.end; + } + } + }, + + postTranslate: function (state) { + if (this.forceReflow) { + // + // Firefox messes up some mtable's when they are dynamically created + // but gets them right on a reflow, so force reflow by toggling a stylesheet + // + var sheet = (document.styleSheets||[])[0]||{}; + sheet.disabled = true; sheet.disabled = false; + } + }, + + // + // Remove MathML preceding the script + // + Remove: function (jax) { + var span = jax.SourceElement(); if (!span) return; + span = span.previousSibling; if (!span) return; + if (span.className.match(/MathJax_MathML/)) {span.parentNode.removeChild(span)} + }, + // + // The namespace to use for MML + // + MMLnamespace: "http://www.w3.org/1998/Math/MathML", + + isFullWidth: function (node) { + if (!node) return; + var width = node.getAttribute("width") || + (String(node.getAttribute("style")).match(/(?:^| )width: *([^; ]*)/)||[])[1]; + if (width) return !!width.match(/%/); + if (node.nodeName.match(/^(semantics|math|mstyle)$/)) { + width = this.isFullWidth(node.firstChild); + } else if (node.nodeName.toLowerCase() === "mrow") { + for (var i = 0, m = node.childNodes.length; i < m && !width; i++) + width = this.isFullWidth(node.childNodes[i]); + } + if (width) { + var style = "width:100%; "+(node.getAttribute("style")||""); + node.setAttribute("style",style.replace(/ +$/,"")); + } + return width; + }, + + // + // For MSIE, we must overlay the MathPlayer object to trap the events + // (since they can't be cancelled when the events are on the tag + // itself). The events we DON'T want are transferred to the math element, + // and the others are handled directly. + // + MSIEoverlay: function (span) { + var math = span.firstChild; + if (math.nodeName.toLowerCase() === "span") {math = math.firstChild} + var bbox = this.getHoverBBox(null,math,{}); + HTML.addElement(span,"span",{ + style:{display:"inline-block", width:0, height:0, position:"relative"} + },[["span",{isMathJax: true, className: "MathJax_MathPlayer_Overlay", + style:{ + display:"inline-block", position:"absolute", + left:HOVER.Px(-bbox.w), top:HOVER.Px(-bbox.h-(bbox.y||0)-1), + width:HOVER.Px(bbox.w), height:HOVER.Px(bbox.h+bbox.d), cursor:"pointer", + "background-color":"white", filter:"alpha(opacity=0)" + } + }]]); + HUB.Insert(span,{ + msieMath: math, + onmousedown: this.MSIEevent, oncontextmenu: this.MSIEevent, onclick: this.MSIEevent, + onmouseup: this.MSIEevent, onmousemove: this.MSIEevent, ondblclick: this.MSIEevent, + onmouseover: this.MSIEevent, onmouseout: this.MSIEevent + }); + }, + MSIEevents: { + mousedown:"Mousedown", contextmenu:"ContextMenu", click:"Click", + mouseup:"Mouseup", mousemove:"Mousemove", dblclick: "DblClick", + mouseover:"Mouseover", mouseout:"Mouseout" + }, + MSIEevent: function () { + var event = window.event; + var type = nMML.MSIEevents[event.type]; + if (nMML[type] && nMML[type](event,this) === false) {return false} + if (ZOOM && ZOOM.HandleEvent(event,type,this) === false) {return false} + if (event.srcElement.className === "MathJax_MathPlayer_Overlay" && this.msieMath.fireEvent) { + // + // For now, ignore all other events. This will disable MathPlayer's zoom + // feature, but also its support. + // + if (type === "ContextMenu" || type === "Mouseover" || type === "Mouseout") + {this.msieMath.fireEvent("on"+event.type,event)} + } + return EVENT.False(event); + }, + MSIEaltMenu: function () { + var container = this.parentNode.parentNode; + while (!container.jaxID) {container = container.parentNode} + EVENT.AltContextMenu(window.event,container); + }, + + MSIE9events: { + contextmenu:"Menu", click:"Click", dblclick: "DblClick", + mouseup:"False", mouseover:"Mouseover", mouseout:"Mouseout" + }, + MSIE9event: function (event) { + if (event.type === "contextmenu" && nMML.settings.mpContext) {return true} + if (event.type === "mouseup" && nMML.settings.mpMouse) {return true} + if (event.type === "click" && nMML.settings.mpContext) + {return EVENT.AltContextMenu(event,this)} + var type = nMML.MSIE9events[event.type]; + return EVENT[type].call(this,event); + }, + + getJaxFromMath: function (math) { + math = math.parentNode; + do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); + return HUB.getJaxFor(math); + }, + getHoverSpan: function (jax,math) {return math.firstChild}, + getHoverBBox: function (jax,span,math) {return EVENT.getBBox(span.parentNode)}, + + Zoom: function (jax,span,math,Mw,Mh) { + jax.root.toNativeMML(span); + if (this.msieIE8HeightBug) {span.style.position = "absolute"} + if (nMML.widthBug) {span.style.width = span.parentNode.style.width = ""} + if (span.parentNode.style.width.match(/%$/)) + {span.parentNode.style.minWidth = Math.ceil(3*Mh/4)+"px"} // for full-width tables + var mW = math.offsetWidth || math.scrollWidth, + mH = math.offsetHeight || math.scrollHeight; + var zW = span.offsetWidth, zH = span.offsetHeight; + if (nMML.widthBug || span.style.width.match(/%/)) { + // + // FF doesn't get width of right, so get it from + // + var W = span.firstChild.firstChild.scrollWidth; + if (W > zW) {zW = W; span.parentNode.style.width = span.style.minWidth = zW + "px";} + } + if (this.msieIE8HeightBug) {span.style.position = ""} + return {Y:-EVENT.getBBox(span.parentNode).h, mW:mW, mH:mH, zW:zW, zH:zH} + }, + + NAMEDSPACE: { + negativeveryverythinmathspace: "-.0556em", + negativeverythinmathspace: "-.1111em", + negativethinmathspace: "-.1667em", + negativemediummathspace: "-.2222em", + negativethickmathspace: "-.2778em", + negativeverythickmathspace: "-.3333em", + negativeveryverythickmathspace: "-.3889em", + veryverythinmathspace: ".0556em", + verythinmathspace: ".1111em", + thinmathspace: ".1667em", + mediummathspace: ".2222em", + thickmathspace: ".2778em", + verythickmathspace: ".3333em", + veryverythickmathspace: ".3889em" + } + }); + + HUB.Register.StartupHook("mml Jax Ready",function () { + + MML = MathJax.ElementJax.mml; + + MML.mbase.Augment({ + // + // Add a MathML tag of the correct type, and set its attributes + // then populate it with its children and append it to the parent + // + toNativeMML: function (parent) { + var tag = this.NativeMMLelement(this.type); + this.NativeMMLattributes(tag); + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + parent.appendChild(tag); + }, + // + // Look for attributes that are different from the defaults + // and set those in the tag's attribute list + // + NativeMMLattributes: function (tag) { + var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); + var names = (this.attrNames||MML.copyAttributeNames), + skip = MML.skipAttributes, copy = MML.copyAttributes; + if (!this.attrNames) { + for (var id in defaults) {if (!skip[id] && !copy[id] && defaults.hasOwnProperty(id)) { + if (this[id] != null && this[id] !== defaults[id]) { + if (this.Get(id,null,1) !== this[id]) + tag.setAttribute(id,this.NativeMMLattribute(this[id])); + } + }} + } + for (var i = 0, m = names.length; i < m; i++) { + if (copy[names[i]] === 1 && !defaults.hasOwnProperty(names[i])) continue; + var value = (this.attr||{})[names[i]]; if (value == null) {value = this[names[i]]} + if (value != null) {tag.setAttribute(names[i],this.NativeMMLattribute(value))} + } + this.NativeMMLclass(tag); + }, + NativeMMLclass: function (tag) { + var CLASS = []; if (this["class"]) {CLASS.push(this["class"])} + if (this.isa(MML.TeXAtom)) { + var TEXCLASS = ["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"][this.texClass]; + if (TEXCLASS) { + CLASS.push("MJX-TeXAtom-"+TEXCLASS) + if (TEXCLASS === "OP" && !this.movablelimits) CLASS.push("MJX-fixedlimits"); + } + } + if (this.mathvariant && this.NativeMMLvariants[this.mathvariant]) + {CLASS.push("MJX"+this.mathvariant)} + if (this.variantForm) {CLASS.push("MJX-variant")} + if (CLASS.length) {tag.setAttribute("class",CLASS.join(" "))} + }, + NativeMMLattribute: function (value) { + value = String(value); + if (nMML.NAMEDSPACE[value]) {value = nMML.NAMEDSPACE[value]} // MP doesn't do negative spaces + else if (value.match(/^\s*(([-+])?(\d+(\.\d*)?|\.\d+))\s*mu\s*$/)) + {value = (RegExp.$2||"")+((1/18)*RegExp.$3).toFixed(3).replace(/\.?0+$/,"")+"em"} // FIXME: should take scriptlevel into account + else if (this.NativeMMLvariants[value]) {value = this.NativeMMLvariants[value]} + return value; + }, + NativeMMLvariants: { + "-tex-caligraphic": MML.VARIANT.SCRIPT, + "-tex-caligraphic-bold": MML.VARIANT.BOLDSCRIPT, + "-tex-oldstyle": MML.VARIANT.NORMAL, + "-tex-oldstyle-bold": MML.VARIANT.BOLD, + "-tex-mathit": MML.VARIANT.ITALIC + }, + // + // Create a MathML element + // + NativeMMLelement: function (type) { + var math = ( HUB.Browser.mpNamespace ? document.createElement("m:"+type) : + (document.createElementNS ? document.createElementNS(nMML.MMLnamespace,type) : + document.createElement(type))); + math.isMathJax = true; + return math; + } + }); + + MML.mrow.Augment({ + // + // Make inferred rows not include an mrow tag + // + toNativeMML: function (parent) { + var i, m; + if (this.inferred && this.parent.inferRow) { + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(parent)} + else {parent.appendChild(this.NativeMMLelement("mrow"))} + } + } else if (nMML.stretchyMoBug && (this.open || this.close)) { + // + // This element contains opening and/or closing fences. Opera is not + // able to stretch operators, so let's use an element + // instead. + // + var mfenced = this.NativeMMLelement("mfenced"); + this.NativeMMLattributes(mfenced); + i = 0, m = this.data.length; + if (this.open) { mfenced.setAttribute("open", this.open); i++; } + if (this.close) { mfenced.setAttribute("close", this.close); m--; } + var tag = mfenced; + if (m - i + 1 > 1) { + // + // If there are several children, put them in an + // + tag = this.NativeMMLelement("mrow"); + parent.appendChild(mfenced); + parent = mfenced; + } + for (; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + parent.appendChild(tag); + } else { + this.SUPER(arguments).toNativeMML.call(this,parent); + } + } + }); + + MML.msubsup.Augment({ + // + // Use proper version of msub, msup, or msubsup, depending on + // which items are present + // + toNativeMML: function (parent) { + var type = this.type; + if (this.data[this.sup] == null) {type = "msub"} + if (this.data[this.sub] == null) {type = "msup"} + var tag = this.NativeMMLelement(type); + this.NativeMMLattributes(tag); + if (this.data[0]) {delete this.data[0].inferred} + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].toNativeMML(tag)}} + parent.appendChild(tag); + } + }); + + MML.munderover.Augment({ + // + // Use proper version of munder, mover, or munderover, depending on + // which items are present. Handle movablelimits on TeXAtom base. + // + toNativeMML: function (parent) { + var type = this.type; + var base = this.data[this.base]; + if (base && base.isa(MML.TeXAtom) && base.movablelimits && !base.Get("displaystyle")) { + type = "msubsup"; + if (this.data[this.under] == null) {type = "msup"} + if (this.data[this.over] == null) {type = "msub"} + } else { + if (this.data[this.under] == null) {type = "mover"} + if (this.data[this.over] == null) {type = "munder"} + } + var tag = this.NativeMMLelement(type); + this.NativeMMLattributes(tag); + if (this.data[0]) {delete this.data[0].inferred} + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].toNativeMML(tag)}} + parent.appendChild(tag); + } + }); + + if (!isMSIE) { + var SPLIT = HUB.SplitList; + MML.mtable.Augment({ + toNativeMML: function (parent) { + var i, m; + if (nMML.tableSpacingBug) { + // + // Parse the rowspacing/columnspacing. For convenience, we convert + // them to a left/top padding value that will be applied to each + // cell. The leftmost/topmost cells will use "0px". + // + var values = this.getValues("rowspacing", "columnspacing"); + this.nMMLtopPadding = SPLIT("0px "+values.rowspacing); + this.nMMLleftPadding = SPLIT("0px "+values.columnspacing); + // + // Transmit the top padding to each row. + // If this.parent.nMML.topPadding does not contain enough value, + // repeat the last one. + // + var tp = this.nMMLtopPadding, M = tp.length; + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) + {this.data[i].nMMLtopPadding = tp[i < M ? i : M-1]} + } + } + if (nMML.tableLabelBug) { + // + // Look for labeled rows so we know how to handle them + // + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] && this.data[i].isa(MML.mlabeledtr)) { + var align = HUB.config.displayAlign.charAt(0), + side = this.Get("side").charAt(0); + this.nMMLhasLabels = true; + this.nMMLlaMatch = (align === side); + this.nMMLforceWidth = + (align === "c" || !!((this.width||"").match("%"))); + break; + } + } + } + // + // Firefox < 13 doesn't handle width, so put it in styles instead + // + if (this.width && this.ffTableWidthBug) { + var styles = (this.style||"").replace(/;\s*$/,"").split(";"); + if (styles[0] === "") {styles.shift()} + styles.push("width:"+this.width); + this.style = styles.join(";"); + } + this.SUPER(arguments).toNativeMML.call(this,parent); + // + if (this.nMMLhasLabels) { + var mtable = parent.firstChild; + // + // Add column attributes on the left when extra columns where inserted + // + if (this.nMMLforceWidth || side !== "r") { + var n = (align !== "l" ? 1 : 0) + (side === "l" ? 1 : 0); + if (n) { + var attr = {columnalign:"left", columnwidth:"auto", + columnspacing:"0px", columnlines:"none"}; + for (var id in attr) {if (attr.hasOwnProperty(id) && this[id]) { + var cols = [attr[id],attr[id]].slice(2-n).join(" ")+" "; + mtable.setAttribute(id,cols+mtable.getAttribute(id)); + }} + } + } + // + // Force the table width to 100% when needed + // + if (this.nMMLforceWidth || !this.nMMLlaMatch) + {mtable.setAttribute("width","100%")} + } + } + }); + MML.mtr.Augment({ + toNativeMML: function (parent) { + this.SUPER(arguments).toNativeMML.call(this,parent); + var mtr = parent.lastChild; + if (nMML.tableSpacingBug) { + // + // Set the row/column spacing. If this.parent.nMMLleftPadding does + // not contain enough value, repeat the last one. + // + var lp = this.parent.nMMLleftPadding, M = lp.length; + for (var mtd = mtr.firstChild, i = 0; mtd; mtd = mtd.nextSibling, i++) { + CELLSPACING(mtd,this.nMMLtopPadding,lp[i < M ? i : M-1]); + } + } + + if (nMML.tableLabelBug) { + var forceWidth = this.parent.nMMLforceWidth, + side = this.parent.Get("side").charAt(0), + align = HUB.config.displayAlign.charAt(0); + + if (this.parent.nMMLhasLabels && mtr.firstChild) { + // + // If we add a label or padding column on the left of mlabeledtr, + // mirror that here and remove padding from first table mtd + // so the spacing is consistent with unlabeled equations + // + if (forceWidth || side !== "r") { + NOPADDING("Left",mtr.firstChild); + if (align !== "l") { + mtr.insertBefore(this.NativeMMLelement("mtd"),mtr.firstChild) + .setAttribute("style","padding:0"); + } + if (side === "l") { + mtr.insertBefore(this.NativeMMLelement("mtd"),mtr.firstChild) + .setAttribute("style","padding:0"); + } + } + // + // If columns were added on the right, remove mtd padding + // so that spacing is consistent with unlabled equations + // + if (forceWidth || side !== "l") {NOPADDING("Right",mtr.lastChild)} + } + } + } + }); + MML.mlabeledtr.Augment({ + toNativeMML: function (parent) { + var mtr = this.NativeMMLelement("mtr"); + this.NativeMMLattributes(mtr); + // + // Add row data + // + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(mtr)} + else {mtr.appendChild(this.NativeMMLelement("mtd"))} + } + + if (nMML.tableSpacingBug) { + // + // Set the row/column spacing. If this.parent.nMMLleftPadding does + // not contain enough value, repeat the last one. + // + var lp = this.parent.nMMLleftPadding, M = lp.length; i = 0; + for (var mtd = mtr.firstChild; mtd; mtd = mtd.nextSibling, i++) { + CELLSPACING(mtd,this.nMMLtopPadding,lp[i < M ? i : M-1]); + } + } + + if (nMML.tableLabelBug && this.data[0]) { + var side = this.parent.Get("side").charAt(0), + align = HUB.config.displayAlign.charAt(0), + indent = HUB.config.displayIndent; + // + // Create label and either set the column width (if label is on the + // same side as the alignment), or use mpadded to hide the label + // width + // + this.data[0].toNativeMML(mtr); + var label = mtr.lastChild, pad = label; + if (side === align) { + label.setAttribute("style","width:"+indent); + label.setAttribute("columnalign",HUB.config.displayAlign); + } else { + pad = this.NativeMMLelement("mpadded"); + pad.setAttribute("style","width:0"); + pad.setAttribute("width","0px"); + pad.appendChild(label.firstChild); + label.appendChild(pad); + } + NOPADDING("",label); mtr.removeChild(label); + // + // Get spacing to use for separation of label from main table + // + var width = 100, forceWidth = this.parent.nMMLforceWidth; + if ((this.parent.width||"").match(/%/)) { + width -= parseFloat(this.parent.width) + }; + var w = width; + // + // Add spacing (and possibly label) at the left if needed + // + if (forceWidth || side !== "r") { + NOPADDING("Left",mtr.firstChild); + if (align !== "l") { + if (align === "c") {w /= 2}; width -= w; + mtr.insertBefore(this.NativeMMLelement("mtd"),mtr.firstChild) + .setAttribute("style","padding:0;width:"+w+"%"); + } + if (side === "l") {mtr.insertBefore(label,mtr.firstChild)} + } + // + // Add spacing (and possibly label) at the right if needed + // + if (forceWidth || side !== "l") { + NOPADDING("Right",mtr.lastChild); + if (align !== "r") { + mtr.appendChild(this.NativeMMLelement("mtd")) + .setAttribute("style","padding:0;width:"+width+"%"); + } + if (side === "r") { + if (side !== align) {pad.setAttribute("lspace","-1width")} + mtr.appendChild(label); + } + } + } + // + // Add row to table + // + parent.appendChild(mtr); + } + }); + + MML.mtd.Augment({ + toNativeMML: function (parent) { + var tag = parent.appendChild(this.NativeMMLelement(this.type)); + this.NativeMMLattributes(tag); + if (nMML.mtdWidthBug) { + nMML.adjustWidths.push(tag); + tag = tag.appendChild(this.NativeMMLelement("mrow")); + } + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + } + }); + + MML.mspace.Augment({ + toNativeMML: function (parent) { + this.SUPER(arguments).toNativeMML.call(this,parent); + if (nMML.spaceWidthBug && this.width) { + var mspace = parent.lastChild; + var width = mspace.getAttribute("width"); + var style = (mspace.getAttribute("style") || "").replace(/;?\s*/,"; "); + mspace.setAttribute("style",style+"width:"+width); + } + } + }); + + MML.mn.Augment({ + NativeMMLremapMinus: function (text) {return text.replace(/^-/,"\u2212")}, + toNativeMML: function (parent) { + var tag = this.NativeMMLelement(this.type); + this.NativeMMLattributes(tag); + var remap = this.NativeMMLremapMinus; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) { + this.data[i].toNativeMML(tag,remap); + remap = null; + } + } + parent.appendChild(tag); + } + }); + + var fontDir = AJAX.fileURL(MathJax.OutputJax.fontDir+"/HTML-CSS/TeX/otf"); + + /* + * Add fix for mathvariant issues + */ + nMML.Augment({ + config: { + styles: { + '[class="MJX-tex-oldstyle"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB"}, + '[class="MJX-tex-oldstyle-bold"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB", "font-weight":"bold"}, + '[class="MJX-tex-caligraphic"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB"}, + '[class="MJX-tex-caligraphic-bold"]': {"font-family":"MathJax_Caligraphic, MathJax_Caligraphic-WEB", "font-weight":"bold"}, + + '@font-face /*1*/': { + "font-family": "MathJax_Caligraphic-WEB", + "src": "url('"+fontDir+"/MathJax_Caligraphic-Regular.otf')" + }, + '@font-face /*2*/': { + "font-family": "MathJax_Caligraphic-WEB", "font-weight":"bold", + "src": "url('"+fontDir+"/MathJax_Caligraphic-Bold.otf')" + } + } + } + }); + if (!this.handlesVariants) { + nMML.Augment({ + config: { + styles: { + '[mathvariant="double-struck"]': {"font-family":"MathJax_AMS, MathJax_AMS-WEB"}, + '[mathvariant="script"]': {"font-family":"MathJax_Script, MathJax_Script-WEB"}, + '[mathvariant="fraktur"]': {"font-family":"MathJax_Fraktur, MathJax_Fraktur-WEB"}, + '[mathvariant="bold-script"]': {"font-family":"MathJax_Script, MathJax_Caligraphic-WEB", "font-weight":"bold"}, + '[mathvariant="bold-fraktur"]': {"font-family":"MathJax_Fraktur, MathJax_Fraktur-WEB", "font-weight":"bold"}, + '[mathvariant="monospace"]': {"font-family":"monospace"}, + '[mathvariant="sans-serif"]': {"font-family":"sans-serif"}, + '[mathvariant="bold-sans-serif"]': {"font-family":"sans-serif", "font-weight":"bold"}, + '[mathvariant="sans-serif-italic"]': {"font-family":"sans-serif", "font-style":"italic"}, + '[mathvariant="sans-serif-bold-italic"]': {"font-family":"sans-serif", "font-style":"italic", "font-weight":"bold"}, + + '@font-face /*3*/': { + "font-family": "MathJax_AMS-WEB", + "src": "url('"+fontDir+"/MathJax_AMS-Regular.otf')" + }, + '@font-face /*4*/': { + "font-family": "MathJax_Script-WEB", + "src": "url('"+fontDir+"/MathJax_Script-Regular.otf')" + }, + '@font-face /*5*/': { + "font-family": "MathJax_Fraktur-WEB", + "src": "url('"+fontDir+"/MathJax_Fraktur-Regular.otf')" + }, + '@font-face /*6*/': { + "font-family": "MathJax_Fraktur-WEB", "font-weight":"bold", + "src": "url('"+fontDir+"/MathJax_Fraktur-Bold.otf')" + } + } + } + }); + } + } + + MML.math.Augment({ + toNativeMML: function (parent,jax) { + var tag = this.NativeMMLelement(this.type), math = tag; + var annotate = (jax ? MathJax.InputJax[jax.inputJax].annotationEncoding : null); + var i, m; + nMML.adjustWidths = []; + // + // Some browsers don't seem to add the xmlns attribute, so do it by hand. + // + tag.setAttribute("xmlns",nMML.MMLnamespace); + this.NativeMMLattributes(tag); + // + // Use an extra in FF so that we can get the correct width + // (the math element doesn't always have an accurate one, see below) + // + if (nMML.widthBug) {tag = tag.appendChild(this.NativeMMLelement("mrow"))} + // + // Addannotation if the input jax provides an annotation encoding + // + if (annotate) { + tag = tag.appendChild(this.NativeMMLelement("semantics")) + tag.appendChild(this.NativeMMLelement("mrow")); + var annotation = tag.appendChild(this.NativeMMLelement("annotation")); + annotation.appendChild(document.createTextNode(jax.originalText)); + annotation.setAttribute("encoding",annotate); + tag = tag.firstChild; // mrow + } + // + // Add the children + // + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + // + // Look for a top-level mtable and if it has labels + // Make sure the containers have 100% width, when needed. + // If the label is on the same side as alignment, + // override the margin set by the stylesheet. + // + var mtable = ((this.data[0]||{data:[]}).data[0]||{}); + if (mtable.nMMLhasLabels) { + if (mtable.nMMLforceWidth || !mtable.nMMLlaMatch) { + tag.setAttribute("style","width:100%") // mrow node + if (annotate) tag.parentNode.setAttribute("style","width:100%"); // semantics node + }; + if (mtable.nMMLlaMatch) { + if (parent.parentNode.parentNode.nodeName.toLowerCase() === "div") { + parent.parentNode.parentNode.style + .setProperty("margin-"+HUB.config.displayAlign,"0px","important"); + } + } + } + // + // Check if container must have width set to 100% + // + var fullWidth = nMML.isFullWidth(math); + if (fullWidth) {parent.style.width = parent.parentNode.style.width = "100%"} + // + // Add the math to the page + // + parent.appendChild(math); + // + // Firefox can't seem to get the width of elements right, so + // use an to get the actual width and set the style on the + // parent element to match. Even if we set the width properly, + // it doesn't seem to propagate up to the correctly. + // + if (nMML.widthBug &&!fullWidth) { + // + // Convert size to ex's so that it scales properly if the print media + // has a different font size. + // + parent.style.width = (math.firstChild.scrollWidth/nMML.ex/nMML.scale).toFixed(3) + "ex"; + // + // Save size for later when we check if Web fonts have arrived + // + if (jax) {jax.NativeMML.scrollWidth = math.firstChild.scrollWidth} + } + if (nMML.adjustWidths.length) { + // + // Firefox gets the widths of elements wrong, so run + // through them (now that the math is part of the page) and + // fix them up. Use ex's so that they print properly (see above). + // + var mtd = []; + for (i = 0, m = nMML.adjustWidths.length; i < m; i++) { + tag = nMML.adjustWidths[i]; + var style = tag.getAttribute("style") || ""; + if (!style.match(/(^|;)\s*min-width:/)) { + var width = tag.firstChild.scrollWidth; + mtd.push(width); + width = (width/nMML.ex).toFixed(3)+"ex"; + style = style.replace(/;?\s*$/,"; "); + tag.setAttribute("style",style+"min-width:"+width); + } + } + // + // Save the lists so that we can check them later for web font downloads + // + if (!jax) {jax = HUB.getJaxFor(parent)} + if (jax) {jax.NativeMML.mtds = mtd} + math.MathJaxMtds = nMML.adjustWidths; + nMML.adjustWidths = []; // clear it so we don't hold onto the DOM elements + } + } + }); + + MML.mfenced.Augment({ + toNativeMML: function (parent) { + if (!nMML.mfencedBug) { + this.SUPER(arguments).toNativeMML.call(this,parent); + return; + } + + // + // Some browsers do not handle very well. The MathML spec + // suggests this equivalent construction instead, so let's use it: + // open, child1, sep1, child2, ... sep(N-1), childN, close + // Opera is a bit special: it does not support stretchy , does not + // parse mfenced@open/mfenced@close very well, does not support + // mfenced@separators and only displays the first child of the + // element... For this browser, we will use this construction: + // + // child1, sep1, child2, sep2, ..., sep(N-1), childN + // + // + var isOpera = HUB.Browser.isOpera; + var i, m, operator; + + // + // parse the open, close and separators attributes. + // + var values = this.getValues("open","close","separators"); + values.open = values.open.replace(/^\s+/,"").replace(/\s+$/,""); + values.close = values.close.replace(/^\s+/,"").replace(/\s+$/,""); + values.separators = values.separators.replace(/\s+/g,"").split(""); + if (values.separators.length == 0) { + // + // No separators specified, do not use separators at all. + // + values.separators = null; + } else if (values.separators.length < this.data.length-1) { + // + // There are not enough separators, repeat the last one. + // + var s = values.separators[values.separators.length-1]; + for (i = this.data.length-1-values.separators.length; i > 0; i--) + {values.separators.push(s)} + } + + // + // Create an container and attach the attributes of the + // element to it. Note: removeAttribute does not raise any + // exception when the attributes is absent. + // + var tag = this.NativeMMLelement(isOpera ? this.type : "mrow"); + this.NativeMMLattributes(tag); + tag.removeAttribute("separators"); + if (isOpera) { + tag.setAttribute("open", values.open); + tag.setAttribute("close", values.close); + if (this.data.length > 1) { + parent.appendChild(tag); parent = tag; + tag = this.NativeMMLelement("mrow"); + } + } else { + tag.removeAttribute("open"); + tag.removeAttribute("close"); + } + + if (!isOpera) { + // + // Append the opening fence + // + operator = this.NativeMMLelement("mo"); + operator.setAttribute("fence", "true"); + operator.textContent = values.open; + tag.appendChild(operator); + } + + // + // Append the content of the + // + for (i = 0, m = this.data.length; i < m; i++) { + if (values.separators && i > 0) { + operator = this.NativeMMLelement("mo"); + operator.setAttribute("separator", "true"); + operator.textContent = values.separators[i-1]; + tag.appendChild(operator); + } + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + + if (!isOpera) { + // + // Append the closing fence + // + operator = this.NativeMMLelement("mo"); + operator.setAttribute("fence", "true"); + operator.textContent = values.close; + tag.appendChild(operator); + } + + // finally, append the new element to the parent. + parent.appendChild(tag); + } + }); + + MML.TeXAtom.Augment({ + // + // Convert TeXatom to an mrow + // + toNativeMML: function (parent) { + // FIXME: Handle spacing using mpadded? + var tag = this.NativeMMLelement("mrow"); + this.NativeMMLattributes(tag); + this.data[0].toNativeMML(tag); + parent.appendChild(tag); + } + }); + + MML.chars.Augment({ + // + // Add a text node + // + toNativeMML: function (parent,remap) { + var text = this.toString(); + if (remap) text = remap(text); + parent.appendChild(document.createTextNode(text)); + } + }); + + MML.entity.Augment({ + // + // Add a text node + // + toNativeMML: function (parent) { + parent.appendChild(document.createTextNode(this.toString())); + } + }); + + MML.xml.Augment({ + // + // Insert the XML verbatim + // + toNativeMML: function (parent) { + for (var i = 0, m = this.data.length; i < m; i++) + {parent.appendChild(this.data[i].cloneNode(true))} + } + }); + + MML.mi.Augment({ + toNativeMML: function (parent) { + this.SUPER(arguments).toNativeMML.call(this,parent); + if (nMML.miItalicBug) { + if (this.Get("mathvariant") === MML.VARIANT.NORMAL) { + // + // When not explicitly specified, mathvariant is set to "italic" + // with single char mi and to "normal" with multiple char mi. + // Some browsers always set the default to "italic", so let's + // attach an explicit mathvariant="normal" attribute. + // + var mi = parent.lastChild; + mi.setAttribute("mathvariant",MML.VARIANT.NORMAL); + } + } + } + }); + + MML.mo.Augment({ + toNativeMML: function (parent) { + this.SUPER(arguments).toNativeMML.call(this,parent); + if (nMML.webkitMoSpacingBug) { + // + // WebKit does not support lspace/rspace values around operators + // (neither explicit nor given by the operator dictionary) and uses + // constant values instead. So let's modify the CSS properties here. + // + + var lspace = 0, rspace = 0, p = this.parent; + if (p && p.type === "mrow" && (p.inferred || !p.isEmbellished())) { + // + // Retrieve the values of lspace/rspace and convert named spaces. + // Other values (except unitless) will be parsed by the CSS engine. + // + var values = this.getValues("lspace", "rspace"); + lspace = values.lspace, rspace = values.rspace; + if (nMML.NAMEDSPACE[lspace]) {lspace = nMML.NAMEDSPACE[lspace]} + if (nMML.NAMEDSPACE[rspace]) {rspace = nMML.NAMEDSPACE[rspace]} + } + + // + // Now update -webkit-margin-start and -webkit-margin-end. + // + var mo = parent.lastChild; + var span = HTML.Element("span"); + span.style.cssText = (mo.getAttribute("style")||""); + span.style.setProperty("-webkit-margin-start", lspace); + span.style.setProperty("-webkit-margin-end", rspace); + mo.setAttribute("style",span.style.cssText); + } + } + }); + + MML.mmultiscripts.Augment({ + toNativeMML: function (parent) { + // + // Some browsers do not implement the mmultiscripts element. + // Try to emulate the support using basic script elements. + // + if (!nMML.mmultiscriptsBug || this.data.length === 0) { + this.SUPER(arguments).toNativeMML.call(this,parent); + return; + } + + // + // The children of the mmultiscripts will be wrapped in an mrow so that + // attributes and properties set on the original mmultiscripts will + // be reflected on this mrow element. + // + var tag = this.NativeMMLelement("mrow"); + this.NativeMMLattributes(tag); + + // + // Create the base + // + if (this.data[0]) {this.data[0].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + var base = tag.removeChild(tag.lastChild); + + // + // Process the postscript pairs + // + var m = this.data.length, i, msubsup; + for (i = 1; i < m; i+=2) { + if (this.data[i].type === "mprescripts") break; + + msubsup = this.NativeMMLelement("msubsup"); + msubsup.appendChild(base); + + // + // append the subscript + // + if (this.data[i]) {this.data[i].toNativeMML(msubsup)} + else {msubsup.appendChild(this.NativeMMLelement("mrow"))} + + // + // append the supscript + // + if (i+1 < m && this.data[i+1]) {this.data[i+1].toNativeMML(msubsup)} + else {msubsup.appendChild(this.NativeMMLelement("mrow"))} + + base = msubsup; + } + + tag.appendChild(base); + + // + // Process the prescript pairs + // + for (i++; i < m; i+=2) { + msubsup = this.NativeMMLelement("msubsup"); + msubsup.appendChild(this.NativeMMLelement("mrow")); + + // + // append the presubscript + // + if (this.data[i]) {this.data[i].toNativeMML(msubsup)} + else {msubsup.appendChild(this.NativeMMLelement("mrow"))} + + // + // append the presupscript + // + if (i+1 < m && this.data[i+1]) {this.data[i+1].toNativeMML(msubsup)} + else {msubsup.appendChild(this.NativeMMLelement("mrow"))} + + tag.insertBefore(msubsup, base); + } + + parent.appendChild(tag); + } + }); + + HUB.Register.StartupHook("TeX mathchoice Ready",function () { + MML.TeXmathchoice.Augment({ + // + // Get the MathML for the selected choice + // + toNativeMML: function (parent) {this.Core().toNativeMML(parent)} + }); + }); + + // + // Loading isn't complete until the element jax is modified, + // but can't call loadComplete within the callback for "mml Jax Ready" + // (it would call NativeMML's Require routine, asking for the mml jax again) + // so wait until after the mml jax has finished processing. + // + setTimeout(MathJax.Callback(["loadComplete",nMML,"jax.js"]),0); + }); + + + // + // Determine browser characteristics + // + HUB.Browser.Select({ + MSIE: function (browser) { + var mode = (document.documentMode || 0); + nMML.msieIE8HeightBug = (mode === 8); + }, + Opera: function (browser) { + nMML.stretchyMoBug = true; + nMML.tableLabelBug = true; + nMML.mfencedBug = true; + nMML.miBug = true; + nMML.mmultiscriptsBug = true; + }, + Firefox: function (browser) { + var is29 = browser.versionAtLeast("29.0"); + nMML.ffTableWidthBug = !browser.versionAtLeast("13.0"); // not implemented + nMML.forceReflow = !is29; // with alignments set don't display properly without a reflow + nMML.widthBug = !is29; // elements don't always get the correct width + nMML.mtdWidthBug = true; // widths not properly determined + nMML.handlesVariants = is29; // FF >=29 handles all math variants + + // In Firefox < 20, the intrinsic width of is not computed + // correctly and thus the element is displayed incorrectly in . + nMML.spaceWidthBug = !browser.versionAtLeast("20.0"); + + // mtable@rowspacing/mtable@columnspacing not supported. + nMML.tableSpacingBug = !browser.versionAtLeast("33.0"); + nMML.tableLabelBug = true; // mlabeledtr is not implemented. + nMML.mfencedBug = true; // mfenced not displayed correctly + }, + Chrome: function (browser) { + nMML.tableSpacingBug = true; + nMML.tableLabelBug = true; + nMML.mfencedBug = true; + }, + Safari: function (browser) { + nMML.tableSpacingBug = true; + nMML.tableLabelBug = true; + nMML.mfencedBug = true; + nMML.miItalicBug = true; + nMML.webkitMoSpacingBug = true; + nMML.spaceWidthBug = true; + nMML.mmultiscriptsBug = true; + } + }); + + + HUB.Register.StartupHook("End Cookie",function () { + if (HUB.config.menuSettings.zoom !== "None") + {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }); + +})(MathJax.OutputJax.NativeMML, MathJax.Hub, MathJax.Ajax, MathJax.HTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/config.js b/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/config.js new file mode 100644 index 00000000..89843304 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/config.js @@ -0,0 +1,49 @@ +/************************************************************* + * + * MathJax/jax/output/PlainSource/config.js + * + * Initializes the PlainSource OutputJax (the main definition is in + * MathJax/jax/input/PlainSource/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.OutputJax.PlainSource = MathJax.OutputJax({ + id: "PlainSource", + version: "2.7.5", + directory: MathJax.OutputJax.directory + "/PlainSource", + extensionDir: MathJax.OutputJax.extensionDir + "/PlainSource", + + config: { + styles: { + ".MathJax_PlainSource_Display": { + "text-align": "center", + margin: ".75em 0px", + "white-space":"pre" + }, + ".MathJax_PlainSource_Display > span": { + display: "inline-block", + "text-align": "left" + } + } + } +}); + +if (!MathJax.Hub.config.delayJaxRegistration) + MathJax.OutputJax.PlainSource.Register("jax/mml"); + +MathJax.OutputJax.PlainSource.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/jax.js new file mode 100644 index 00000000..5875036d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/PlainSource/jax.js @@ -0,0 +1,184 @@ +/************************************************************* + * + * MathJax/jax/output/PlainSource/jax.js + * + * Implements the PlainSource OutputJax that displays whatever + * source there was, for assistive technology users who prefer this. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2015-2018 The MathJax Consortium + * + * 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. + */ + + +(function(AJAX, HUB, HTML, PlainSource) { + + var EVENT, TOUCH, HOVER; // filled in later + + PlainSource.Augment({ + settings: HUB.config.menuSettings, + + Config: function() { + if (!this.require) this.require = []; + this.SUPER(arguments).Config.call(this); + this.require.push(MathJax.OutputJax.extensionDir + "/MathEvents.js"); + }, + + Startup: function() { + // + // Set up event handling + // + EVENT = MathJax.Extension.MathEvents.Event; + TOUCH = MathJax.Extension.MathEvents.Touch; + HOVER = MathJax.Extension.MathEvents.Hover; + this.ContextMenu = EVENT.ContextMenu; + this.Mousedown = EVENT.AltContextMenu; + this.Mouseover = HOVER.Mouseover; + this.Mouseout = HOVER.Mouseout; + this.Mousemove = HOVER.Mousemove; + return AJAX.Styles(this.config.styles); + }, + + preTranslate: function(state) { + var scripts = state.jax[this.id], + i, m = scripts.length, + script, prev, span, div, jax; + // + // Loop through the scripts + // + for (i = 0; i < m; i++) { + script = scripts[i]; + if (!script.parentNode) continue; + // + // Remove any existing output + // + prev = script.previousSibling; + if (prev && String(prev.className).match(/^MathJax(_PlainSource)?(_Display)?( MathJax_Process(ing|ed))?$/)) { + prev.parentNode.removeChild(prev); + } + // + // Add the span, and a div if in display mode + // + jax = script.MathJax.elementJax; + if (!jax) continue; + jax.PlainSource = { + display: (jax.root.Get("display") === "block") + } + span = div = HTML.Element("span", { + className: "MathJax_PlainSource", + id: jax.inputID + "-Frame", + isMathJax: true, + jaxID: this.id, + oncontextmenu: EVENT.Menu, + onmousedown: EVENT.Mousedown, + onmouseover: EVENT.Mouseover, + onmouseout: EVENT.Mouseout, + onmousemove: EVENT.Mousemove, + onclick: EVENT.Click, + ondblclick: EVENT.DblClick, + // Added for keyboard accessible menu. + onkeydown: EVENT.Keydown, + tabIndex: HUB.getTabOrder(jax) + },[["span"]]); + if (HUB.Browser.noContextMenu) { + span.ontouchstart = TOUCH.start; + span.ontouchend = TOUCH.end; + } + if (jax.PlainSource.display) { + div = HTML.Element("div", { + className: "MathJax_PlainSource_Display" + }); + div.appendChild(span); + } + script.parentNode.insertBefore(div, script); + } + }, + + Translate: function(script, state) { + if (!script.parentNode) return; + + // + // Get the data about the math + // + var jax = script.MathJax.elementJax, + math = jax.root, + span = document.getElementById(jax.inputID + "-Frame"); + // + // Typeset the math + // + this.initPlainSource(math, span); + var source = jax.originalText; + if (jax.inputJax === "MathML") { + if ((jax.root.data[0].data.length > 0) && (jax.root.data[0].data[0].type === "semantics")) { + var annotations = jax.root.data[0].data[0].data; + for (var a = 0; a < annotations.length; a++){ + if (annotations[a].attr.encoding === "application/x-tex"){ + source = jax.root.data[0].data[0].data[a].data[0].data[0]; + break; + } + if (annotations[a].attr.encoding === "text/x-asciimath") { + source = jax.root.data[0].data[0].data[a].data[0].data[0]; + } + } + } + } + jax.PlainSource.source = source; + HTML.addText(span.firstChild,source); + }, + + postTranslate: function(state) {}, + + getJaxFromMath: function(math) { + if (math.parentNode.className.match(/MathJax_PlainSource_Display/)) math = math.parentNode; + do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); + return HUB.getJaxFor(math); + }, + + Zoom: function (jax,span,math,Mw,Mh) { + var pad = Math.round(span.parentNode.offsetWidth / 2); + span.style.whiteSpace = "pre"; + HTML.addText(span,jax.PlainSource.source); + var mW = math.offsetWidth, mH = math.offsetHeight, + zW = span.offsetWidth, zH = span.offsetHeight; + var Y = -Math.round((zH+mH)/2) - (jax.PlainSource.display ? 0 : pad); + return {mW:mW, mH:mH, zW:zW, zH:zH, Y:Y}; + }, + + initPlainSource: function(math, span) {}, + + Remove: function(jax) { + var span = document.getElementById(jax.inputID + "-Frame"); + if (span) { + if (jax.PlainSource.display) span = span.parentNode; + span.parentNode.removeChild(span); + } + delete jax.PlainSource; + } + + }); + + MathJax.Hub.Register.StartupHook("mml Jax Ready", function() { + MathJax.Hub.Register.StartupHook("onLoad", function() { + setTimeout(MathJax.Callback(["loadComplete", PlainSource, "jax.js"]), 0); + }); + }); + + MathJax.Hub.Register.StartupHook("End Cookie", function() { + if (HUB.config.menuSettings.zoom !== "None") { + AJAX.Require("[MathJax]/extensions/MathZoom.js") + } + }); + +})(MathJax.Ajax, MathJax.Hub, MathJax.HTML, MathJax.OutputJax.PlainSource); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/config.js b/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/config.js new file mode 100644 index 00000000..508d2c5f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/config.js @@ -0,0 +1,54 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/PreviewHTML/config.js + * + * Initializes the PreviewHTML OutputJax (the main definition is in + * MathJax/jax/input/PreviewHTML/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.OutputJax.PreviewHTML = MathJax.OutputJax({ + id: "PreviewHTML", + version: "2.7.5", + directory: MathJax.OutputJax.directory + "/PreviewHTML", + extensionDir: MathJax.OutputJax.extensionDir + "/PreviewHTML", + noFastPreview: true, // don't do fast preview for this output jax + + config: { + scale: 100, minScaleAdjust: 50, // global math scaling factor, and minimum adjusted scale factor + mtextFontInherit: false, // to make be in page font rather than MathJax font + + linebreaks: { + automatic: false, // when false, only process linebreak="newline", + // when true, insert line breaks automatically in long expressions. + + width: "container" // maximum width of a line for automatic line breaks (e.g. "30em"). + // use "container" to compute size from containing element, + // use "nn% container" for a portion of the container, + // use "nn%" for a portion of the window size + } + + } +}); + +if (!MathJax.Hub.config.delayJaxRegistration) {MathJax.OutputJax.PreviewHTML.Register("jax/mml")} + +MathJax.OutputJax.PreviewHTML.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/jax.js new file mode 100644 index 00000000..36750b5c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/PreviewHTML/jax.js @@ -0,0 +1,1096 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/PreviewHTML/jax.js + * + * Implements the PreviewHTML OutputJax that displays mathematics + * using HTML to position the characters from math fonts + * in their proper locations. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + + +(function (AJAX,HUB,HTML,PHTML) { + var MML; + + var EVENT, TOUCH, HOVER; // filled in later + + var FONTS = "'Times New Roman',Times,STIXGeneral,serif"; + var STYLES = { + ".MJXp-script": {"font-size":".8em"}, + + ".MJXp-right": { + "-webkit-transform-origin":"right", + "-moz-transform-origin":"right", + "-ms-transform-origin":"right", + "-o-transform-origin":"right", + "transform-origin":"right" + }, + + ".MJXp-bold": {"font-weight":"bold"}, + ".MJXp-italic": {"font-style":"italic"}, + ".MJXp-scr": {"font-family":"MathJax_Script,"+FONTS}, + ".MJXp-frak": {"font-family":"MathJax_Fraktur,"+FONTS}, + ".MJXp-sf": {"font-family":"MathJax_SansSerif,"+FONTS}, + ".MJXp-cal": {"font-family":"MathJax_Caligraphic,"+FONTS}, + ".MJXp-mono": {"font-family":"MathJax_Typewriter,"+FONTS}, + ".MJXp-largeop": {"font-size":"150%"}, + ".MJXp-largeop.MJXp-int": {"vertical-align":"-.2em"}, + + ".MJXp-math": { + "display": "inline-block", + "line-height": "1.2", + "text-indent": "0", + "font-family": FONTS, + "white-space":"nowrap", + "border-collapse":"collapse" + }, + ".MJXp-display": { + "display": "block", + "text-align": "center", + "margin": "1em 0" + }, + ".MJXp-math span": {"display": "inline-block"}, + ".MJXp-box": {"display":"block!important", "text-align": "center"}, + ".MJXp-box:after": {"content": '" "'}, // needed for when there is no DOCTYPE + ".MJXp-rule": {"display":"block!important", "margin-top":".1em"}, + ".MJXp-char": {"display":"block!important"}, + + ".MJXp-mo": {"margin": "0 .15em"}, + + ".MJXp-mfrac": {"margin": "0 .125em", "vertical-align":".25em"}, + ".MJXp-denom": {"display": "inline-table!important", "width":"100%"}, + ".MJXp-denom > *": {"display": "table-row!important"}, + + ".MJXp-surd": {"vertical-align":"top"}, + ".MJXp-surd > *": {"display":"block!important"}, + + ".MJXp-script-box > * ": {"display":"table!important", "height":"50%"}, + ".MJXp-script-box > * > *": {"display":"table-cell!important","vertical-align":"top"}, + ".MJXp-script-box > *:last-child > *": {"vertical-align":"bottom"}, + ".MJXp-script-box > * > * > *": {"display":"block!important"}, + + ".MJXp-mphantom": {"visibility": "hidden"}, + + ".MJXp-munderover, .MJXp-munder": {"display":"inline-table!important"}, + ".MJXp-over": {"display":"inline-block!important","text-align":"center"}, + ".MJXp-over > *": {"display":"block!important"}, + ".MJXp-munderover > *, .MJXp-munder > *": {"display":"table-row!important"}, + + ".MJXp-mtable": {"vertical-align":".25em", "margin":"0 .125em"}, + ".MJXp-mtable > *": {"display":"inline-table!important", "vertical-align":"middle"}, + ".MJXp-mtr": {"display":"table-row!important"}, + ".MJXp-mtd": {"display":"table-cell!important","text-align":"center","padding":".5em 0 0 .5em"}, + ".MJXp-mtr > .MJXp-mtd:first-child": {"padding-left":0}, + ".MJXp-mtr:first-child > .MJXp-mtd": {"padding-top":0}, + ".MJXp-mlabeledtr": {"display":"table-row!important"}, + ".MJXp-mlabeledtr > .MJXp-mtd:first-child": {"padding-left":0}, + ".MJXp-mlabeledtr:first-child > .MJXp-mtd": {"padding-top":0}, + + ".MJXp-merror": { + "background-color": "#FFFF88", + color: "#CC0000", + border: "1px solid #CC0000", + padding: "1px 3px", + "font-style": "normal", + "font-size": "90%" + } + }; + + (function () { + for (var i = 0; i < 10; i++) { + var scale = "scaleX(."+i+")"; + STYLES[".MJXp-scale"+i] = { + "-webkit-transform":scale, + "-moz-transform":scale, + "-ms-transform":scale, + "-o-transform":scale, + "transform":scale + } + } + })(); + + var BIGDIMEN = 1000000; + var V = "V", H = "H"; + + PHTML.Augment({ + settings: HUB.config.menuSettings, + config: {styles: STYLES}, + + hideProcessedMath: false, // use display:none until all math is processed + + maxStretchyParts: 1000, // limit the number of parts allowed for + // stretchy operators. See issue 366. + + Config: function () { + if (!this.require) {this.require = []} + this.SUPER(arguments).Config.call(this); var settings = this.settings; + if (settings.scale) {this.config.scale = settings.scale} + this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); + }, + + Startup: function () { + // + // Set up event handling + // + EVENT = MathJax.Extension.MathEvents.Event; + TOUCH = MathJax.Extension.MathEvents.Touch; + HOVER = MathJax.Extension.MathEvents.Hover; + this.ContextMenu = EVENT.ContextMenu; + this.Mousedown = EVENT.AltContextMenu; + this.Mouseover = HOVER.Mouseover; + this.Mouseout = HOVER.Mouseout; + this.Mousemove = HOVER.Mousemove; + + // + // Determine pixels per inch + // + var div = HTML.addElement(document.body,"div",{style:{width:"5in"}}); + this.pxPerInch = div.offsetWidth/5; div.parentNode.removeChild(div); + + // + // Set up styles and preload web fonts + // + return AJAX.Styles(this.config.styles,["InitializePHTML",this]); + }, + InitializePHTML: function () { + }, + + preTranslate: function (state) { + var scripts = state.jax[this.id], i, m = scripts.length, + script, prev, span, div, jax; + // + // Loop through the scripts + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + // + // Remove any existing output + // + prev = script.previousSibling; + if (prev && String(prev.className).match(/^MathJax(_PHTML)?(_Display)?( MathJax_Process(ing|ed))?$/)) + {prev.parentNode.removeChild(prev)} + // + // Add the span, and a div if in display mode, + // then mark it as being processed + // + jax = script.MathJax.elementJax; if (!jax) continue; + jax.PHTML = {display: (jax.root.Get("display") === "block")} + span = div = HTML.Element("span",{ + className:"MathJax_PHTML", id:jax.inputID+"-Frame", isMathJax:true, jaxID:this.id, + oncontextmenu:EVENT.Menu, onmousedown: EVENT.Mousedown, + onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove, + onclick:EVENT.Click, ondblclick:EVENT.DblClick, + // Added for keyboard accessible menu. + onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax) + }); + if (HUB.Browser.noContextMenu) { + span.ontouchstart = TOUCH.start; + span.ontouchend = TOUCH.end; + } + if (jax.PHTML.display) { + div = HTML.Element("div",{className:"MathJax_PHTML_Display"}); + div.appendChild(span); + } + // + div.className += " MathJax_Processing"; + script.parentNode.insertBefore(div,script); + } + }, + + Translate: function (script,state) { + if (!script.parentNode) return; + + // + // Get the data about the math + // + var jax = script.MathJax.elementJax, math = jax.root, + span = document.getElementById(jax.inputID+"-Frame"), + div = (jax.PHTML.display ? span.parentNode : span); + // + // Typeset the math + // + this.initPHTML(math,span); +// math.setTeXclass(); + try {math.toPreviewHTML(span)} catch (err) { + if (err.restart) {while (span.firstChild) {span.removeChild(span.firstChild)}} + throw err; + } + // + // Put it in place, and remove the processing marker + // + div.className = div.className.split(/ /)[0]; + // + // Check if we are hiding the math until more is processed + // + if (this.hideProcessedMath) { + // + // Hide the math and don't let its preview be removed + // + div.className += " MathJax_Processed"; + if (script.MathJax.preview) { + jax.PHTML.preview = script.MathJax.preview; + delete script.MathJax.preview; + } + } + }, + + postTranslate: function (state) { + var scripts = state.jax[this.id]; + if (!this.hideProcessedMath) return; + for (var i = 0, m = scripts.length; i < m; i++) { + var script = scripts[i]; + if (script && script.MathJax.elementJax) { + // + // Remove the processed marker + // + script.previousSibling.className = script.previousSibling.className.split(/ /)[0]; + var data = script.MathJax.elementJax.PHTML; + // + // Remove the preview, if any + // + if (data.preview) { + data.preview.innerHTML = ""; + script.MathJax.preview = data.preview; + delete data.preview; + } + } + } + }, + + getJaxFromMath: function (math) { + if (math.parentNode.className.match(/MathJax_PHTML_Display/)) {math = math.parentNode} + do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); + return HUB.getJaxFor(math); + }, + getHoverSpan: function (jax,math) {return jax.root.PHTMLspanElement()}, + getHoverBBox: function (jax,span,math) { + var bbox = jax.root.PHTML, em = jax.PHTML.outerEm; + var BBOX = {w:bbox.w*em, h:bbox.h*em, d:bbox.d*em}; + if (bbox.width) {BBOX.width = bbox.width} + return BBOX; + }, + + Zoom: function (jax,span,math,Mw,Mh) { + // + // Re-render at larger size + // + span.className = "MathJax"; + this.idPostfix = "-zoom"; jax.root.toPHTML(span,span); this.idPostfix = ""; + // + // Get height and width of zoomed math and original math + // + span.style.position = "absolute"; + if (!width) {math.style.position = "absolute"} + var zW = span.offsetWidth, zH = span.offsetHeight, + mH = math.offsetHeight, mW = math.offsetWidth; + if (mW === 0) {mW = math.parentNode.offsetWidth}; // IE7 gets mW == 0? + span.style.position = math.style.position = ""; + // + return {Y:-EVENT.getBBox(span).h, mW:mW, mH:mH, zW:zW, zH:zH}; + }, + + initPHTML: function (math,span) {}, + + Remove: function (jax) { + var span = document.getElementById(jax.inputID+"-Frame"); + if (span) { + if (jax.PHTML.display) {span = span.parentNode} + span.parentNode.removeChild(span); + } + delete jax.PHTML; + }, + + ID: 0, idPostfix: "", + GetID: function () {this.ID++; return this.ID}, + + VARIANT: { + "bold": "MJXp-bold", + "italic": "MJXp-italic", + "bold-italic": "MJXp-bold MJXp-italic", + "script": "MJXp-scr", + "bold-script": "MJXp-scr MJXp-bold", + "fraktur": "MJXp-frak", + "bold-fraktur": "MJXp-frak MJXp-bold", + "monospace": "MJXp-mono", + "sans-serif": "MJXp-sf", + "-tex-caligraphic": "MJXp-cal" + }, + MATHSPACE: { + veryverythinmathspace: 1/18, + verythinmathspace: 2/18, + thinmathspace: 3/18, + mediummathspace: 4/18, + thickmathspace: 5/18, + verythickmathspace: 6/18, + veryverythickmathspace: 7/18, + negativeveryverythinmathspace: -1/18, + negativeverythinmathspace: -2/18, + negativethinmathspace: -3/18, + negativemediummathspace: -4/18, + negativethickmathspace: -5/18, + negativeverythickmathspace: -6/18, + negativeveryverythickmathspace: -7/18, + + thin: .08, + medium: .1, + thick: .15, + + infinity: BIGDIMEN + }, + TeX: { + x_height: .430554 + }, + pxPerInch: 72, + em: 16, + + // ### FIXME: add more here + + DELIMITERS: { + "(": {dir:V}, + "{": {dir:V, w:.58}, + "[": {dir:V}, + "|": {dir:V, w:.275}, + ")": {dir:V}, + "}": {dir:V, w:.58}, + "]": {dir:V}, + "/": {dir:V}, + "\\": {dir:V}, + "\u2223": {dir:V, w:.275}, + "\u2225": {dir:V, w:.55}, + "\u230A": {dir:V, w:.5}, + "\u230B": {dir:V, w:.5}, + "\u2308": {dir:V, w:.5}, + "\u2309": {dir:V, w:.5}, + "\u27E8": {dir:V, w:.5}, + "\u27E9": {dir:V, w:.5}, + "\u2191": {dir:V, w:.65}, + "\u2193": {dir:V, w:.65}, + "\u21D1": {dir:V, w:.75}, + "\u21D3": {dir:V, w:.75}, + "\u2195": {dir:V, w:.65}, + "\u21D5": {dir:V, w:.75}, + "\u27EE": {dir:V, w:.275}, + "\u27EF": {dir:V, w:.275}, + "\u23B0": {dir:V, w:.6}, + "\u23B1": {dir:V, w:.6} + }, + + REMAPACCENT: { + "\u20D7":"\u2192", // vector arrow + "'": "\u02CB", + "`": "\u02CA", + ".": "\u02D9", + "^": "\u02C6", + "-": "\u02C9", + "~": "\u02DC", + "\u00AF": "\u02C9", // macron + "\u00B0": "\u02DA", // degree sign + "\u00B4": "\u02CA", // acute accent + "\u0300": "\u02CB", // combining grave + "\u0301": "\u02CA", // combining acute + "\u0302": "\u02C6", // combining circumflex + "\u0303": "\u02DC", // combinig tilde + "\u0304": "\u02C9", // combining macron + "\u0305": "\u02C9", // combining overline + "\u0306": "\u02D8", // combining breve + "\u0307": "\u02D9", // combining dot + "\u0308": "\u00A8", // combining double dot + "\u030C": "\u02C7" // combining caron + }, + REMAPACCENTUNDER: { + }, + + length2em: function (length,size) { + if (typeof(length) !== "string") {length = length.toString()} + if (length === "") {return ""} + if (length === MML.SIZE.NORMAL) {return 1} + if (length === MML.SIZE.BIG) {return 2} + if (length === MML.SIZE.SMALL) {return .71} + if (this.MATHSPACE[length]) {return this.MATHSPACE[length]} + var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/); + var m = parseFloat(match[1]||"1"), unit = match[2]; + if (size == null) {size = 1} + if (unit === "em") {return m} + if (unit === "ex") {return m * this.TeX.x_height} + if (unit === "%") {return m / 100 * size} + if (unit === "px") {return m / this.em} + if (unit === "pt") {return m / 10} // 10 pt to an em + if (unit === "pc") {return m * 1.2} // 12 pt to a pc + if (unit === "in") {return m * this.pxPerInch / this.em} + if (unit === "cm") {return m * this.pxPerInch / this.em / 2.54} // 2.54 cm to an inch + if (unit === "mm") {return m * this.pxPerInch / this.em / 25.4} // 10 mm to a cm + if (unit === "mu") {return m / 18} // 18mu to an em for the scriptlevel + return m*size; // relative to given size (or 1em as default) + }, + + Em: function (m) { + if (Math.abs(m) < .001) return "0em"; + return (m.toFixed(3).replace(/\.?0+$/,""))+"em"; + }, + + arrayEntry: function (a,i) {return a[Math.max(0,Math.min(i,a.length-1))]} + + }); + + MathJax.Hub.Register.StartupHook("mml Jax Ready",function () { + MML = MathJax.ElementJax.mml; + + MML.mbase.Augment({ + toPreviewHTML: function (span,options) { + return this.PHTMLdefaultSpan(span,options); + }, + + PHTMLdefaultSpan: function (span,options) { + if (!options) options = {}; + span = this.PHTMLcreateSpan(span); + this.PHTMLhandleStyle(span); + this.PHTMLhandleColor(span); + if (this.isToken) this.PHTMLhandleToken(span); + for (var i = 0, m = this.data.length; i < m; i++) this.PHTMLaddChild(span,i,options); + return span; + }, + PHTMLaddChild: function (span,i,options) { + var child = this.data[i]; + if (child) { + if (options.childSpans) + span = HTML.addElement(span,"span",{className:options.className}); + child.toPreviewHTML(span); + if (!options.noBBox) { + this.PHTML.w += child.PHTML.w + child.PHTML.l + child.PHTML.r; + if (child.PHTML.h > this.PHTML.h) this.PHTML.h = child.PHTML.h; + if (child.PHTML.d > this.PHTML.d) this.PHTML.d = child.PHTML.d; + if (child.PHTML.t > this.PHTML.t) this.PHTML.t = child.PHTML.t; + if (child.PHTML.b > this.PHTML.b) this.PHTML.b = child.PHTML.b; + } + } else if (options.forceChild) {HTML.addElement(span,"span")} + }, + PHTMLstretchChild: function (i,H,D) { + var data = this.data[i]; + if (data && data.PHTMLcanStretch("Vertical",H,D)) { + var bbox = this.PHTML, dbox = data.PHTML, w = dbox.w; + data.PHTMLstretchV(H,D); + bbox.w += dbox.w - w; + if (dbox.h > bbox.h) bbox.h = dbox.h; + if (dbox.d > bbox.d) bbox.d = dbox.d; + } + }, + + PHTMLcreateSpan: function (span) { + if (!this.PHTML) this.PHTML = {}; + this.PHTML = {w:0, h:0, d:0, l:0, r:0, t:0, b:0}; + if (this.inferred) return span; + // ### FIXME: This is a hack to handle the different spacing of the + // ### integral sign in Times compared to CM fonts + if (this.type === "mo" && this.data.join("") === "\u222B") {PHTML.lastIsInt = true} + else if (this.type !== "mspace" || this.width !== "negativethinmathspace") {PHTML.lastIsInt = false} + // ### + if (!this.PHTMLspanID) {this.PHTMLspanID = PHTML.GetID()}; + var id = (this.id || "MJXp-Span-"+this.PHTMLspanID); + return HTML.addElement(span,"span",{className:"MJXp-"+this.type, id:id}); + }, + PHTMLspanElement: function () { + if (!this.PHTMLspanID) {return null} + return document.getElementById(this.id||"MJXp-Span-"+this.PHTMLspanID); + }, + + PHTMLhandleToken: function (span) { + var values = this.getValues("mathvariant"); + if (values.mathvariant !== MML.VARIANT.NORMAL) { + span.className += " "+PHTML.VARIANT[values.mathvariant]; + } + }, + + PHTMLhandleStyle: function (span) { + if (this.style) span.style.cssText = this.style; + }, + + PHTMLhandleColor: function (span) { + if (this.mathcolor) {span.style.color = this.mathcolor} + if (this.mathbackground) {span.style.backgroundColor = this.mathbackground} + }, + + PHTMLhandleScriptlevel: function (span) { + // ### FIXME: Need to prevent getting too small + // ### and should keep track of scaling so it can be compensated for + var level = this.Get("scriptlevel"); + if (level) span.className += " MJXp-script"; + }, + + PHTMLhandleText: function (span,text) { + var c, n; + var H = 0, D = 0, W = 0; + for (var i = 0, m = text.length; i < m; i++) { + n = text.charCodeAt(i); c = text.charAt(i); + if (n >= 0xD800 && n < 0xDBFF) { + i++; n = (((n-0xD800)<<10)+(text.charCodeAt(i)-0xDC00))+0x10000; + } + var h = .7, d = .22, w = .5; + if (n < 127) { + if (c.match(/[A-Za-ehik-or-xz0-9]/)) d = 0; + if (c.match(/[A-HK-Z]/)) {w = .67} else if (c.match(/[IJ]/)) {w = .36} + if (c.match(/[acegm-su-z]/)) {h = .45} else if (c.match(/[ij]/)) {h = .75} + if (c.match(/[ijlt]/)) w = .28; + } + if (PHTML.DELIMITERS[c]) {w = PHTML.DELIMITERS[c].w || .4} + // ### FIXME: handle Greek + // ### Combining diacriticals (all sets), spacing modifiers + // ### arrows (all sets), widths of braces + if (h > H) H = h; if (d > D) D = d; W += w; + } + if (!this.CHML) this.PHTML = {}; + this.PHTML = {h:.9, d:.3, w:W, l:0, r:0, t:H, b:D}; + HTML.addText(span,text); + }, + + PHTMLbboxFor: function (n) { + if (this.data[n] && this.data[n].PHTML) return this.data[n].PHTML; + return {w:0, h:0, d:0, l:0, r:0, t:0, b:0}; + }, + + PHTMLcanStretch: function (direction,H,D) { + if (this.isEmbellished()) { + var core = this.Core(); + if (core && core !== this) {return core.PHTMLcanStretch(direction,H,D)} + } + return false; + }, + PHTMLstretchV: function (h,d) {}, + PHTMLstretchH: function (w) {}, + + CoreParent: function () { + var parent = this; + while (parent && parent.isEmbellished() && + parent.CoreMO() === this && !parent.isa(MML.math)) {parent = parent.Parent()} + return parent; + }, + CoreText: function (parent) { + if (!parent) {return ""} + if (parent.isEmbellished()) {return parent.CoreMO().data.join("")} + while ((parent.isa(MML.mrow) || parent.isa(MML.TeXAtom) || + parent.isa(MML.mstyle) || parent.isa(MML.mphantom)) && + parent.data.length === 1 && parent.data[0]) {parent = parent.data[0]} + if (!parent.isToken) {return ""} else {return parent.data.join("")} + } + + }); + + MML.chars.Augment({ + toPreviewHTML: function (span) { + var text = this.toString().replace(/[\u2061-\u2064]/g,""); + this.PHTMLhandleText(span,text); + } + }); + MML.entity.Augment({ + toPreviewHTML: function (span) { + var text = this.toString().replace(/[\u2061-\u2064]/g,""); + this.PHTMLhandleText(span,text); + } + }); + + MML.math.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + if (this.Get("display") === "block") {span.className += " MJXp-display"} + return span; + } + }); + + MML.mo.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + this.PHTMLadjustAccent(span); + var values = this.getValues("lspace","rspace","scriptlevel","displaystyle","largeop"); + if (values.scriptlevel === 0) { + this.PHTML.l = PHTML.length2em(values.lspace); + this.PHTML.r = PHTML.length2em(values.rspace); + span.style.marginLeft = PHTML.Em(this.PHTML.l); + span.style.marginRight = PHTML.Em(this.PHTML.r); + } else { + this.PHTML.l = .15; + this.PHTML.r = .1; + } + if (values.displaystyle && values.largeop) { + var box = HTML.Element("span",{className:"MJXp-largeop"}); + box.appendChild(span.firstChild); span.appendChild(box); + this.PHTML.h *= 1.2; this.PHTML.d *= 1.2; + if (this.data.join("") === "\u222B") box.className += " MJXp-int"; + } + // ### FIXME: Handle embellished op spacing + // ### FIXME: Remap minus signs + return span; + }, + PHTMLadjustAccent: function (span) { + var parent = this.CoreParent(); + if (parent && parent.isa(MML.munderover) && + this.CoreText(parent.data[parent.base]).length === 1) { + var over = parent.data[parent.over], under = parent.data[parent.under]; + var c = this.data.join(""), C; + if (over && this === over.CoreMO() && parent.Get("accent")) {C = PHTML.REMAPACCENT[c]} + else if (under && this === under.CoreMO() && parent.Get("accentunder")) {C = PHTML.REMAPACCENTUNDER[c]} + if (C) c = span.innerHTML = C; + if (c.match(/[\u02C6-\u02DC\u00A8]/)) {this.PHTML.acc = -.52} + else if (c === "\u2192") {this.PHTML.acc = -.15; this.PHTML.vec = true} + } + }, + PHTMLcanStretch: function (direction,H,D) { + if (!this.Get("stretchy")) {return false} + var c = this.data.join(""); + if (c.length > 1) {return false} + c = PHTML.DELIMITERS[c]; + var stretch = (c && c.dir === direction.substr(0,1)); + if (stretch) { + stretch = (this.PHTML.h !== H || this.PHTML.d !== D || + (this.Get("minsize",true) || this.Get("maxsize",true))); + } + return stretch; + }, + PHTMLstretchV: function (h,d) { + var span = this.PHTMLspanElement(), bbox = this.PHTML; //bbox.w = .4; // ## adjust width + var values = this.getValues("symmetric","maxsize","minsize"); + if (values.symmetric) {H = 2*Math.max(h-.25,d+.25)} else {H = h + d} + values.maxsize = PHTML.length2em(values.maxsize,bbox.h+bbox.d); + values.minsize = PHTML.length2em(values.minsize,bbox.h+bbox.d); + H = Math.max(values.minsize,Math.min(values.maxsize,H)); + var scale = H/(bbox.h+bbox.d-.3); // ### adjusted for extra tall bbox + var box = HTML.Element("span",{style:{"font-size":PHTML.Em(scale)}}); + if (scale > 1.25) { + var sX = Math.ceil(1.25/scale * 10); + box.className = "MJXp-right MJXp-scale"+sX; + box.style.marginLeft = PHTML.Em(bbox.w*(sX/10-1)+.07); + bbox.w *= scale*sX/10; + } + box.appendChild(span.firstChild); span.appendChild(box); + if (values.symmetric) span.style.verticalAlign = PHTML.Em(.25*(1-scale)); + } + }); + + MML.mspace.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + var values = this.getValues("height","depth","width"); + var w = PHTML.length2em(values.width), + h = PHTML.length2em(values.height), + d = PHTML.length2em(values.depth); + var bbox = this.PHTML; + bbox.w = w; bbox.h = h; bbox.d = d; + if (w < 0) { + // ### FIXME: lastIsInt hack + if (!PHTML.lastIsInt) span.style.marginLeft = PHTML.Em(w); + w = 0; + } + span.style.width = PHTML.Em(w); + span.style.height = PHTML.Em(h+d); + if (d) span.style.verticalAlign = PHTML.Em(-d); + return span; + } + }); + + MML.mpadded.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{ + childSpans:true, className:"MJXp-box", forceChild:true + }); + var child = span.firstChild; + var values = this.getValues("width","height","depth","lspace","voffset"); + var dimen = this.PHTMLdimen(values.lspace); + var T = 0, B = 0, L = dimen.len, R = -dimen.len, V = 0; + if (values.width !== "") { + dimen = this.PHTMLdimen(values.width,"w",0); + if (dimen.pm) {R += dimen.len} else {span.style.width = PHTML.Em(dimen.len)} + } + if (values.height !== "") { + dimen = this.PHTMLdimen(values.height,"h",0); + if (!dimen.pm) T += -this.PHTMLbboxFor(0).h; + T += dimen.len; + } + if (values.depth !== "") { + dimen = this.PHTMLdimen(values.depth,"d",0); + if (!dimen.pm) {B += -this.PHTMLbboxFor(0).d; V += -dimen.len} + B += dimen.len; + } + if (values.voffset !== "") { + dimen = this.PHTMLdimen(values.voffset); + T -= dimen.len; B += dimen.len; + V += dimen.len; + } + if (T) child.style.marginTop = PHTML.Em(T); + if (B) child.style.marginBottom = PHTML.Em(B); + if (L) child.style.marginLeft = PHTML.Em(L); + if (R) child.style.marginRight = PHTML.Em(R); + if (V) span.style.verticalAlign = PHTML.Em(V); + return span; + }, + PHTMLdimen: function (length,d,m) { + if (m == null) {m = -BIGDIMEN} + length = String(length); + var match = length.match(/width|height|depth/); + var size = (match ? this.PHTML[match[0].charAt(0)] : (d ? this.PHTML[d] : 0)); + return {len: PHTML.length2em(length,size)||0, pm: !!length.match(/^[-+]/)}; + } + }); + + MML.munderover.Augment({ + toPreviewHTML: function (span) { + var values = this.getValues("displaystyle","accent","accentunder","align"); + var base = this.data[this.base]; + if (!values.displaystyle && base != null && + (base.movablelimits || base.CoreMO().Get("movablelimits"))) { + span = MML.msubsup.prototype.toPreviewHTML.call(this,span); + // + // Change class to msubsup for CSS rules. + // ### FIXME: should this be handled via adding another class instead? + // + span.className = span.className.replace(/munderover/,"msubsup"); + return span; + } + span = this.PHTMLdefaultSpan(span,{childSpans:true, className:"", noBBox:true}); + var obox = this.PHTMLbboxFor(this.over), + ubox = this.PHTMLbboxFor(this.under), + bbox = this.PHTMLbboxFor(this.base), + BBOX = this.PHTML, acc = obox.acc; + if (this.data[this.over]) { + if (span.lastChild.firstChild){ + span.lastChild.firstChild.style.marginLeft = obox.l = + span.lastChild.firstChild.style.marginRight = obox.r = 0; + } + var over = HTML.Element("span",{},[["span",{className:"MJXp-over"}]]); + over.firstChild.appendChild(span.lastChild); + if (span.childNodes.length > (this.data[this.under] ? 1 : 0)) + over.firstChild.appendChild(span.firstChild); + this.data[this.over].PHTMLhandleScriptlevel(over.firstChild.firstChild); + if (acc != null) { + if (obox.vec) { + over.firstChild.firstChild.firstChild.style.fontSize = "60%"; + obox.h *= .6; obox.d *= .6; obox.w *= .6; + } + acc = acc - obox.d + .1; if (bbox.t != null) {acc += bbox.t - bbox.h} + over.firstChild.firstChild.style.marginBottom = PHTML.Em(acc); + } + if (span.firstChild) {span.insertBefore(over,span.firstChild)} + else {span.appendChild(over)} + } + if (this.data[this.under]) { + if (span.lastChild.firstChild) { + span.lastChild.firstChild.style.marginLeft = ubox.l = + span.lastChild.firstChild.marginRight = ubox.r = 0; + } + this.data[this.under].PHTMLhandleScriptlevel(span.lastChild); + } + BBOX.w = Math.max(.8*obox.w,.8*ubox.w,bbox.w); + BBOX.h = .8*(obox.h+obox.d+(acc||0)) + bbox.h; + BBOX.d = bbox.d + .8*(ubox.h+ubox.d); + return span; + } + }); + + MML.msubsup.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{noBBox:true}); + if (!this.data[this.base]) { + if (span.firstChild) {span.insertBefore(HTML.Element("span"),span.firstChild)} + else {span.appendChild(HTML.Element("span"))} + } + var base = this.data[this.base], sub = this.data[this.sub], sup = this.data[this.sup]; + if (!base) base = {bbox: {h:.8, d:.2}}; + span.firstChild.style.marginRight = ".05em"; + var h = Math.max(.4,base.PHTML.h-.4), + d = Math.max(.2,base.PHTML.d+.1); + var bbox = this.PHTML; + if (sup && sub) { + var box = HTML.Element("span",{className:"MJXp-script-box", style:{ + height: PHTML.Em(h+sup.PHTML.h*.8 + d+sub.PHTML.d*.8), + "vertical-align": PHTML.Em(-d-sub.PHTML.d*.8) + }},[ + ["span",{},[["span",{},[["span",{ + style:{"margin-bottom":PHTML.Em(-(sup.PHTML.d-.05))} + }]]]]], + ["span",{},[["span",{},[["span",{ + style:{"margin-top":PHTML.Em(-(sup.PHTML.h-.05))} + }]]]]] + ]); + sub.PHTMLhandleScriptlevel(box.firstChild); + sup.PHTMLhandleScriptlevel(box.lastChild); + box.firstChild.firstChild.firstChild.appendChild(span.lastChild); + box.lastChild.firstChild.firstChild.appendChild(span.lastChild); + span.appendChild(box); + bbox.h = Math.max(base.PHTML.h,sup.PHTML.h*.8+h); + bbox.d = Math.max(base.PHTML.d,sub.PHTML.d*.8+d); + bbox.w = base.PHTML.w + Math.max(sup.PHTML.w,sub.PHTML.w) + .07; + } else if (sup) { + span.lastChild.style.verticalAlign = PHTML.Em(h); + sup.PHTMLhandleScriptlevel(span.lastChild); + bbox.h = Math.max(base.PHTML.h,sup.PHTML.h*.8+h); + bbox.d = Math.max(base.PHTML.d,sup.PHTML.d*.8-h); + bbox.w = base.PHTML.w + sup.PHTML.w + .07; + } else if (sub) { + span.lastChild.style.verticalAlign = PHTML.Em(-d); + sub.PHTMLhandleScriptlevel(span.lastChild); + bbox.h = Math.max(base.PHTML.h,sub.PHTML.h*.8-d); + bbox.d = Math.max(base.PHTML.d,sub.PHTML.d*.8+d); + bbox.w = base.PHTML.w + sub.PHTML.w + .07; + } + return span; + } + }); + + MML.mfrac.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{ + childSpans:true, className:"MJXp-box", forceChild:true, noBBox:true + }); + var values = this.getValues("linethickness","displaystyle"); + if (!values.displaystyle) { + if (this.data[0]) this.data[0].PHTMLhandleScriptlevel(span.firstChild); + if (this.data[1]) this.data[1].PHTMLhandleScriptlevel(span.lastChild); + } + var denom = HTML.Element("span",{className:"MJXp-box"},[ + ["span",{className:"MJXp-denom"},[ // inline-table + ["span",{},[["span",{className:"MJXp-rule",style:{height:"1em"}}]]], + ["span"] // spans are table-row + ]] + ]); + denom.firstChild.lastChild.appendChild(span.lastChild); + span.appendChild(denom); + var nbox = this.PHTMLbboxFor(0), dbox = this.PHTMLbboxFor(1), bbox = this.PHTML; + bbox.w = Math.max(nbox.w,dbox.w) * .8; + bbox.h = nbox.h+nbox.d + .1 + .25; + bbox.d = dbox.h+dbox.d - .25; + bbox.l = bbox.r = .125; + values.linethickness = Math.max(0,PHTML.length2em(values.linethickness||"0",0)); + if (values.linethickness) { + var rule = denom.firstChild.firstChild.firstChild; + var t = PHTML.Em(values.linethickness); + rule.style.borderTop = "none"; + rule.style.borderBottom = (values.linethickness < .15 ? "1px" : t)+" solid"; + rule.style.margin = t+" 0"; + t = values.linethickness; + denom.style.marginTop = PHTML.Em(3*t-1.2); + span.style.verticalAlign = PHTML.Em(1.5*t + .1); + bbox.h += 1.5*t - .1; bbox.d += 1.5*t; + } else { + denom.style.marginTop = "-.7em"; + } + return span; + } + }); + + MML.msqrt.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{ + childSpans:true, className:"MJXp-box", forceChild:true, noBBox:true + }); + this.PHTMLlayoutRoot(span,span.firstChild); + return span; + }, + PHTMLlayoutRoot: function (span,base) { + var bbox = this.PHTMLbboxFor(0); + var scale = Math.ceil((bbox.h+bbox.d+.14)*100), t = PHTML.Em(14/scale); + var surd = HTML.Element("span",{className:"MJXp-surd"},[ + ["span",{style:{"font-size":scale+"%","margin-top":t}},["\u221A"]] + ]); + var root = HTML.Element("span",{className:"MJXp-root"},[ + ["span",{className:"MJXp-rule",style:{"border-top":".08em solid"}}] + ]); + var W = (1.2/2.2)*scale/100; // width-of-surd = (height/H-to-W-ratio) + if (scale > 150) { + var sX = Math.ceil(150/scale * 10); + surd.firstChild.className = "MJXp-right MJXp-scale"+sX; + surd.firstChild.style.marginLeft = PHTML.Em(W*(sX/10-1)/scale*100); + W = W*sX/10; + root.firstChild.style.borderTopWidth = PHTML.Em(.08/Math.sqrt(sX/10)); + } + root.appendChild(base); + span.appendChild(surd); + span.appendChild(root); + this.PHTML.h = bbox.h + .18; this.PHTML.d = bbox.d; + this.PHTML.w = bbox.w + W; + return span; + } + }); + + MML.mroot.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{ + childSpans:true, className:"MJXp-box", forceChild:true, noBBox:true + }); + var rbox = this.PHTMLbboxFor(1), root = span.removeChild(span.lastChild); + var sqrt = this.PHTMLlayoutRoot(HTML.Element("span"),span.firstChild); + root.className = "MJXp-script"; // ### FIXME: should be scriptscript + var scale = parseInt(sqrt.firstChild.firstChild.style.fontSize); + var v = .55*(scale/120) + rbox.d*.8, r = -.6*(scale/120); + if (scale > 150) {r *= .95*Math.ceil(150/scale*10)/10} + root.style.marginRight = PHTML.Em(r); root.style.verticalAlign = PHTML.Em(v); + if (-r > rbox.w*.8) root.style.marginLeft = PHTML.Em(-r-rbox.w*.8); // ### depends on rbox.w + span.appendChild(root); span.appendChild(sqrt); + this.PHTML.w += Math.max(0,rbox.w*.8+r); + this.PHTML.h = Math.max(this.PHTML.h,rbox.h*.8+v); + return span; + }, + PHTMLlayoutRoot: MML.msqrt.prototype.PHTMLlayoutRoot + }); + + MML.mfenced.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLcreateSpan(span); + this.PHTMLhandleStyle(span); + this.PHTMLhandleColor(span); + // + // Make row of open, data, sep, ... data, close + // + this.addFakeNodes(); + this.PHTMLaddChild(span,"open",{}); + for (var i = 0, m = this.data.length; i < m; i++) { + this.PHTMLaddChild(span,"sep"+i,{}); + this.PHTMLaddChild(span,i,{}); + } + this.PHTMLaddChild(span,"close",{}); + // + // Check for streching the elements + // + var H = this.PHTML.h, D = this.PHTML.d; + this.PHTMLstretchChild("open",H,D); + for (i = 0, m = this.data.length; i < m; i++) { + this.PHTMLstretchChild("sep"+i,H,D); + this.PHTMLstretchChild(i,H,D); + } + this.PHTMLstretchChild("close",H,D); + return span; + } + }); + + MML.mrow.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + var H = this.PHTML.h, D = this.PHTML.d; + for (var i = 0, m = this.data.length; i < m; i++) this.PHTMLstretchChild(i,H,D); + return span; + } + }); + + MML.mstyle.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + this.PHTMLhandleScriptlevel(span); + return span; + } + }); + + MML.TeXAtom.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span); + // ### FIXME: handle TeX class? + span.className = "MJXp-mrow"; + return span; + } + }); + + MML.mtable.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLdefaultSpan(span,{noBBox:true}); + var values = this.getValues("columnalign","rowalign","columnspacing","rowspacing", + "columnwidth","equalcolumns","equalrows", + "columnlines","rowlines","frame","framespacing", + "align","width"); + var SPLIT = MathJax.Hub.SplitList, i, m, j, n; + var CSPACE = SPLIT(values.columnspacing), + RSPACE = SPLIT(values.rowspacing), + CALIGN = SPLIT(values.columnalign), + RALIGN = SPLIT(values.rowalign); + for (i = 0, m = CSPACE.length; i < m; i++) {CSPACE[i] = PHTML.length2em(CSPACE[i])} + for (i = 0, m = RSPACE.length; i < m; i++) {RSPACE[i] = PHTML.length2em(RSPACE[i])} + + var table = HTML.Element("span"); + while (span.firstChild) table.appendChild(span.firstChild); + span.appendChild(table); + var H = 0, W = 0; + for (i = 0, m = this.data.length; i < m; i++) { + var row = this.data[i]; + if (row) { + var rspace = PHTML.arrayEntry(RSPACE,i-1), ralign = PHTML.arrayEntry(RALIGN,i); + var rbox = row.PHTML, rspan = row.PHTMLspanElement(); + rspan.style.verticalAlign = ralign; + var k = (row.type === "mlabeledtr" ? 1 : 0); + for (j = 0, n = row.data.length; j < n-k; j++) { + var cell = row.data[j+k]; + if (cell) { + var cspace = PHTML.arrayEntry(CSPACE,j-1), calign = PHTML.arrayEntry(CALIGN,j); + var cspan = cell.PHTMLspanElement(); + if (j) {rbox.w += cspace; cspan.style.paddingLeft = PHTML.Em(cspace)} + if (i) cspan.style.paddingTop = PHTML.Em(rspace); + cspan.style.textAlign = calign; + } + } + H += rbox.h + rbox.d; if (i) {H += rspace} + if (rbox.w > W) W = rbox.w; + } + } + var bbox = this.PHTML; + bbox.w = W; bbox.h = H/2 + .25; bbox.d = H/2 - .25; + bbox.l = bbox.r = .125; + return span; + } + }); + MML.mlabeledtr.Augment({ + PHTMLdefaultSpan: function (span,options) { + if (!options) options = {}; + span = this.PHTMLcreateSpan(span); + this.PHTMLhandleStyle(span); + this.PHTMLhandleColor(span); + if (this.isToken) this.PHTMLhandleToken(span); + // skip label for now + for (var i = 1, m = this.data.length; i < m; i++) this.PHTMLaddChild(span,i,options); + return span; + } + }); + + MML.semantics.Augment({ + toPreviewHTML: function (span) { + span = this.PHTMLcreateSpan(span); + if (this.data[0]) { + this.data[0].toPreviewHTML(span); + MathJax.Hub.Insert(this.data[0].PHTML||{},this.PHTML); + } + return span; + } + }); + MML.annotation.Augment({toPreviewHTML: function(span) {}}); + MML["annotation-xml"].Augment({toPreviewHTML: function(span) {}}); + + // + // Loading isn't complete until the element jax is modified, + // but can't call loadComplete within the callback for "mml Jax Ready" + // (it would call PreviewHTML's Require routine, asking for the mml jax again) + // so wait until after the mml jax has finished processing. + // + // We also need to wait for the onload handler to run, since the loadComplete + // will call Config and Startup, which need to modify the body. + // + MathJax.Hub.Register.StartupHook("onLoad",function () { + setTimeout(MathJax.Callback(["loadComplete",PHTML,"jax.js"]),0); + }); + }); + + MathJax.Hub.Register.StartupHook("End Cookie", function () { + if (HUB.config.menuSettings.zoom !== "None") + {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }); + +})(MathJax.Ajax,MathJax.Hub,MathJax.HTML,MathJax.OutputJax.PreviewHTML); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/annotation-xml.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/annotation-xml.js new file mode 100644 index 00000000..58745898 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/annotation-xml.js @@ -0,0 +1,92 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/annotation-xml.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2013-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG; + var BBOX = SVG.BBOX; + + BBOX.FOREIGN = BBOX.Subclass({type: "foreignObject", removeable: false}); + + MML["annotation-xml"].Augment({ + toSVG: function () { + var svg = this.SVG(); this.SVGhandleSpace(svg); + var encoding = this.Get("encoding"); + for (var i = 0, m = this.data.length; i < m; i++) + {svg.Add(this.data[i].toSVG(encoding),svg.w,0)} + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.xml.Augment({ + toSVG: function (encoding) { + // + // Get size of xml content + // + var span = SVG.textSVG.parentNode; + SVG.mathDiv.style.width = "auto"; // Firefox returns offsetWidth = 0 without this + span.insertBefore(this.div,SVG.textSVG); + var w = this.div.offsetWidth, h = this.div.offsetHeight; + var strut = MathJax.HTML.addElement(this.div,"span",{ + style:{display:"inline-block", overflow:"hidden", height:h+"px", + width:"1px", marginRight:"-1px"} + }); + var d = this.div.offsetHeight - h; h -= d; + this.div.removeChild(strut); + span.removeChild(this.div); SVG.mathDiv.style.width = ""; + // + // Create foreignObject element for the content + // + var scale = 1000/SVG.em; + var svg = BBOX.FOREIGN({ + y:(-h)+"px", width:w+"px", height:(h+d)+"px", + transform:"scale("+scale+") matrix(1 0 0 -1 0 0)" + }); + // + // Add the children to the foreignObject + // + for (var i = 0, m = this.data.length; i < m; i++) + {svg.element.appendChild(this.data[i].cloneNode(true))} + // + // Set the scale and finish up + // + svg.w = w*scale; svg.h = h*scale; svg.d = d*scale; + svg.r = svg.w; svg.l = 0; + svg.Clean(); + this.SVGsaveData(svg); + return svg; + } + }); + + MathJax.Hub.Startup.signal.Post("SVG annotation-xml Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/annotation-xml.js"); + +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/maction.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/maction.js new file mode 100644 index 00000000..bf49caf8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/maction.js @@ -0,0 +1,201 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/maction.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax["SVG"]; + + var currentTip, hover, clear; + + // + // Add configuration for tooltips + // + var CONFIG = SVG.config.tooltip = MathJax.Hub.Insert({ + delayPost: 600, delayClear: 600, + offsetX: 10, offsetY: 5 + },SVG.config.tooltip||{}); + + + MML.maction.Augment({ + SVGtooltip: MathJax.HTML.addElement(document.body,"div",{id:"MathJax_SVG_Tooltip"}), + + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(); + var selected = this.selected(); + if (selected.type == "null") {this.SVGsaveData(svg);return svg;} + svg.Add(this.SVGdataStretched(this.Get("selection")-1,HW,D)); + svg.removeable = false; + this.SVGhandleHitBox(svg); + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGhandleHitBox: function (svg) { + var frame = SVG.Element("rect", + {width:svg.w, height:svg.h+svg.d, y:-svg.d, fill:"none", "pointer-events":"all"}); + svg.element.insertBefore(frame,svg.element.firstChild); + var type = this.Get("actiontype"); + if (this.SVGaction[type]) + {this.SVGaction[type].call(this,svg,svg.element,this.Get("selection"))} + }, + SVGstretchH: MML.mbase.prototype.SVGstretchH, + SVGstretchV: MML.mbase.prototype.SVGstretchV, + + // + // Implementations for the various actions + // + SVGaction: { + toggle: function (svg,frame,selection) { + this.selection = selection; + SVG.Element(frame,{cursor:"pointer"}); + frame.onclick = MathJax.Callback(["SVGclick",this]); + }, + + statusline: function (svg,frame,selection) { + frame.onmouseover = MathJax.Callback(["SVGsetStatus",this]), + frame.onmouseout = MathJax.Callback(["SVGclearStatus",this]); + frame.onmouseover.autoReset = frame.onmouseout.autoReset = true; + }, + + tooltip: function(svg,frame,selection) { + frame.onmouseover = MathJax.Callback(["SVGtooltipOver",this]), + frame.onmouseout = MathJax.Callback(["SVGtooltipOut",this]); + frame.onmouseover.autoReset = frame.onmouseout.autoReset = true; + } + }, + + // + // Handle a click on the maction element + // (remove the original rendering and rerender) + // + SVGclick: function (event) { + this.selection++; + if (this.selection > this.data.length) {this.selection = 1} + var math = this; while (math.type !== "math") {math = math.inherit} + var jax = MathJax.Hub.getJaxFor(math.inputID); //, hover = !!jax.hover; + jax.Update(); + /* + * if (hover) { + * var span = document.getElementById(jax.inputID+"-Span"); + * MathJax.Extension.MathEvents.Hover.Hover(jax,span); + * } + */ + return MathJax.Extension.MathEvents.Event.False(event); + }, + + // + // Set/Clear the window status message + // + SVGsetStatus: function (event) { + // FIXME: Do something better with non-token elements + this.messageID = MathJax.Message.Set + ((this.data[1] && this.data[1].isToken) ? + this.data[1].data.join("") : this.data[1].toString()); + }, + SVGclearStatus: function (event) { + if (this.messageID) {MathJax.Message.Clear(this.messageID,0)} + delete this.messageID; + }, + + // + // Handle tooltips + // + SVGtooltipOver: function (event) { + if (!event) {event = window.event} + if (clear) {clearTimeout(clear); clear = null} + if (hover) {clearTimeout(hover)} + var x = event.pageX; var y = event.pageY; + if (x == null) { + x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; + y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; + } + var callback = MathJax.Callback(["SVGtooltipPost",this,x+CONFIG.offsetX,y+CONFIG.offsetY]) + hover = setTimeout(callback,CONFIG.delayPost); + }, + SVGtooltipOut: function (event) { + if (hover) {clearTimeout(hover); hover = null} + if (clear) {clearTimeout(clear)} + var callback = MathJax.Callback(["SVGtooltipClear",this,80]); + clear = setTimeout(callback,CONFIG.delayClear); + }, + SVGtooltipPost: function (x,y) { + hover = null; if (clear) {clearTimeout(clear); clear = null} + + // + // Get the tip div and show it at the right location, then clear its contents + // + var tip = this.SVGtooltip; + tip.style.display = "block"; tip.style.opacity = ""; + if (this === currentTip) return; + tip.style.left = x+"px"; tip.style.top = y+"px"; + tip.innerHTML = ''; var span = MathJax.HTML.addElement(tip,"span"); + + // + // Get the sizes from the jax (FIXME: should calculate again?) + // + var math = this; while (math.type !== "math") {math = math.inherit} + var jax = MathJax.Hub.getJaxFor(math.inputID); + this.em = MML.mbase.prototype.em = jax.SVG.em; this.ex = jax.SVG.ex; + this.linebreakWidth = jax.SVG.lineWidth; this.cwidth = jax.SVG.cwidth; + + // + // Make a new math element and temporarily move the tooltip to it + // Display the math containing the tip, but check for errors + // Then put the tip back into the maction element + // + var mml = this.data[1]; + math = MML.math(mml); + try {math.toSVG(span,tip)} catch(err) { + this.SetData(1,mml); tip.style.display = "none"; + if (!err.restart) {throw err} + MathJax.Callback.After(["SVGtooltipPost",this,x,y],err.restart); + return; + } + this.SetData(1,mml); + + currentTip = this; + }, + SVGtooltipClear: function (n) { + var tip = this.SVGtooltip; + if (n <= 0) { + tip.style.display = "none"; + tip.style.opacity = ""; + clear = null; + } else { + tip.style.opacity = n/100; + clear = setTimeout(MathJax.Callback(["SVGtooltipClear",this,n-20]),50); + } + } + }); + + MathJax.Hub.Startup.signal.Post("SVG maction Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/maction.js"); + +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/menclose.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/menclose.js new file mode 100644 index 00000000..ac0f2f98 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/menclose.js @@ -0,0 +1,233 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/menclose.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG, + BBOX = SVG.BBOX; + + BBOX.ELLIPSE = BBOX.Subclass({ + type: "ellipse", removeable: false, + Init: function (h,d,w,t,color,def) { + if (def == null) {def = {}}; def.fill = "none"; + if (color) {def.stroke = color} + def["stroke-width"] = t.toFixed(2).replace(/\.?0+$/,""); + def.cx = Math.floor(w/2); def.cy = Math.floor((h+d)/2-d); + def.rx = Math.floor((w-t)/2); def.ry = Math.floor((h+d-t)/2); + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.h = this.H = h; + this.d = this.D = d; this.l = 0; + } + }); + + BBOX.DLINE = BBOX.Subclass({ + type: "line", removeable: false, + Init: function (h,d,w,t,color,updown,def) { + if (def == null) {def = {}}; def.fill = "none"; + if (color) {def.stroke = color} + def["stroke-width"] = t.toFixed(2).replace(/\.?0+$/,""); + if (updown == "up") { + def.x1 = Math.floor(t/2); def.y1 = Math.floor(t/2-d); + def.x2 = Math.floor(w-t/2); def.y2 = Math.floor(h-t/2); + } else { + def.x1 = Math.floor(t/2); def.y1 = Math.floor(h-t/2); + def.x2 = Math.floor(w-t/2); def.y2 = Math.floor(t/2-d); + } + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.h = this.H = h; + this.d = this.D = d; this.l = 0; + } + }); + + BBOX.FPOLY = BBOX.Subclass({ + type: "polygon", removeable: false, + Init: function (points,color,def) { + if (def == null) {def = {}} + if (color) {def.fill = color} + var P = [], mx = 100000000, my = mx, Mx = -mx, My = Mx; + for (var i = 0, m = points.length; i < m; i++) { + var x = points[i][0], y = points[i][1]; + if (x > Mx) {Mx = x}; if (x < mx) {mx = x} + if (y > My) {My = y}; if (y < my) {my = y} + P.push(Math.floor(x)+","+Math.floor(y)); + } + def.points = P.join(" "); + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = Mx; this.h = this.H = My; + this.d = this.D = -my; this.l = -mx; + } + }); + + BBOX.PPATH = BBOX.Subclass({ + type: "path", removeable: false, + Init: function (h,d,w,p,t,color,def) { + if (def == null) {def = {}}; def.fill = "none"; + if (color) {def.stroke = color} + def["stroke-width"] = t.toFixed(2).replace(/\.?0+$/,""); + def.d = p; + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.h = this.H = h+d; + this.d = this.D = this.l = 0; this.y = -d; + } + }); + + MML.menclose.Augment({ + toSVG: function (HW,DD) { + this.SVGgetStyles(); + + var svg = this.SVG(), scale = this.SVGgetScale(svg); + this.SVGhandleSpace(svg); + var base = this.SVGdataStretched(0,HW,DD); + + var values = this.getValues("notation","thickness","padding","mathcolor","color"); + if (values.color && !this.mathcolor) {values.mathcolor = values.color} + if (values.thickness == null) {values.thickness = ".075em"} + if (values.padding == null) {values.padding = ".2em"} + var mu = this.SVGgetMu(svg); + var p = SVG.length2em(values.padding,mu,1/SVG.em) * scale; // padding for enclosure + var t = SVG.length2em(values.thickness,mu,1/SVG.em); // thickness of lines + t = Math.max(1/SVG.em,t); // see issue #414 + var H = base.h+p+t, D = base.d+p+t, W = base.w+2*(p+t); + var dx = 0, w, h, i, m, borders = [false,false,false,false]; + + // perform some reduction e.g. eliminate duplicate notations. + var nl = MathJax.Hub.SplitList(values.notation), notation = {}; + for (i = 0, m = nl.length; i < m; i++) notation[nl[i]] = true; + if (notation[MML.NOTATION.UPDIAGONALARROW]) notation[MML.NOTATION.UPDIAGONALSTRIKE] = false; + + for (var n in notation) { + if (!notation.hasOwnProperty(n) || !notation[n]) continue; + switch (n) { + case MML.NOTATION.BOX: + borders = [true,true,true,true]; + break; + + case MML.NOTATION.ROUNDEDBOX: + svg.Add(BBOX.FRAME(H,D,W,t,"solid",values.mathcolor, + {rx:Math.floor(Math.min(H+D-t,W-t)/4)})); + break; + + case MML.NOTATION.CIRCLE: + svg.Add(BBOX.ELLIPSE(H,D,W,t,values.mathcolor)); + break; + + case MML.NOTATION.ACTUARIAL: + borders[0] = true; + case MML.NOTATION.RIGHT: + borders[1] = true; + break; + + case MML.NOTATION.LEFT: + borders[3] = true; + break; + + case MML.NOTATION.TOP: + borders[0] = true; + break; + + case MML.NOTATION.BOTTOM: + borders[2] = true; + break; + + case MML.NOTATION.VERTICALSTRIKE: + svg.Add(BBOX.VLINE(H+D,t,"solid",values.mathcolor),(W-t)/2,-D); + break; + + case MML.NOTATION.HORIZONTALSTRIKE: + svg.Add(BBOX.HLINE(W,t,"solid",values.mathcolor),0,(H+D-t)/2-D); + break; + + case MML.NOTATION.UPDIAGONALSTRIKE: + svg.Add(BBOX.DLINE(H,D,W,t,values.mathcolor,"up")); + break; + + case MML.NOTATION.UPDIAGONALARROW: + var l = Math.sqrt(W*W + (H+D)*(H+D)), f = 1/l * 10/SVG.em * t/.075; + w = W * f; h = (H+D) * f; var x = .4*h; + svg.Add(BBOX.DLINE(H-.5*h,D,W-.5*w,t,values.mathcolor,"up")); + svg.Add(BBOX.FPOLY( + [[x+w,h], [x-.4*h,.4*w], [x+.3*w,.3*h], [x+.4*h,-.4*w], [x+w,h]], + values.mathcolor),W-w-x,H-h); + break; + + case MML.NOTATION.DOWNDIAGONALSTRIKE: + svg.Add(BBOX.DLINE(H,D,W,t,values.mathcolor,"down")); + break; + + case MML.NOTATION.PHASORANGLE: + borders[2] = true; W -= 2*p; p = (H+D)/2; W += p; + svg.Add(BBOX.DLINE(H,D,p,t,values.mathcolor,"up")); + break; + + case MML.NOTATION.MADRUWB: + borders[1] = borders[2] = true; + break; + + case MML.NOTATION.RADICAL: + svg.Add(BBOX.PPATH(H,D,W, + "M "+this.SVGxy(t/2,.4*(H+D)) + + " L "+this.SVGxy(p,t/2) + + " L "+this.SVGxy(2*p,H+D-t/2) + + " L "+this.SVGxy(W,H+D-t/2), + t,values.mathcolor),0,t); + dx = p; + break; + + case MML.NOTATION.LONGDIV: + svg.Add(BBOX.PPATH(H,D,W, + "M "+this.SVGxy(t/2,t/2) + + " a "+this.SVGxy(p,(H+D)/2-2*t) + " 0 0,1 " + this.SVGxy(t/2,H+D-t) + + " L "+this.SVGxy(W,H+D-t/2), + t,values.mathcolor),0,t/2); + dx = p; + break; + } + } + var sides = [["H",W,0,H-t],["V",H+D,W-t,-D],["H",W,0,-D],["V",H+D,0,-D]]; + for (i = 0; i < 4; i++) { + if (borders[i]) { + var side = sides[i]; + svg.Add(BBOX[side[0]+"LINE"](side[1],t,"solid",values.mathcolor),side[2],side[3]); + } + } + svg.Add(base,dx+p+t,0,false,true); + svg.Clean(); + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + + SVGxy: function (x,y) {return Math.floor(x)+","+Math.floor(y)} + + }); + + MathJax.Hub.Startup.signal.Post("SVG menclose Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/menclose.js"); + +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mglyph.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mglyph.js new file mode 100644 index 00000000..f181cc7a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mglyph.js @@ -0,0 +1,106 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/mglyph.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG, + BBOX = SVG.BBOX, + LOCALE = MathJax.Localization; + + var XLINKNS = "http://www.w3.org/1999/xlink"; + + BBOX.MGLYPH = BBOX.Subclass({ + type: "image", removeable: false, + Init: function (img,w,h,align,mu,def) { + if (def == null) {def = {}} + var W = img.width*1000/SVG.em, H = img.height*1000/SVG.em; + var WW = W, HH = H, y = 0; + if (w !== "") {W = SVG.length2em(w,mu,WW); H = (WW ? W/WW * HH : 0)} + if (h !== "") {H = SVG.length2em(h,mu,HH); if (w === "") {W = (HH ? H/HH * WW : 0)}} + if (align !== "" && align.match(/\d/)) {y = SVG.length2em(align,mu); def.y = -y} + def.height = Math.floor(H); def.width = Math.floor(W); + def.transform = "translate(0,"+H+") matrix(1 0 0 -1 0 0)"; + def.preserveAspectRatio = "none"; + this.SUPER(arguments).Init.call(this,def); + this.element.setAttributeNS(XLINKNS,"href",img.SRC); + this.w = this.r = W; this.h = this.H = H + y; + this.d = this.D = -y; this.l = 0; + } + }); + + MML.mglyph.Augment({ + toSVG: function (variant,scale) { + this.SVGgetStyles(); var svg = this.SVG(), img, err; + this.SVGhandleSpace(svg); + var values = this.getValues("src","width","height","valign","alt"); + if (values.src === "") { + values = this.getValues("index","fontfamily"); + if (values.index) { + if (!scale) {scale = this.SVGgetScale()} + var def = {}; if (values.fontfamily) {def["font-family"] = values.fontfamily} + svg.Add(BBOX.TEXT(scale,String.fromCharCode(values.index),def)); + } + } else { + if (!this.img) {this.img = MML.mglyph.GLYPH[values.src]} + if (!this.img) { + this.img = MML.mglyph.GLYPH[values.src] = {img: new Image(), status: "pending"}; + img = this.img.img; + img.onload = MathJax.Callback(["SVGimgLoaded",this]); + img.onerror = MathJax.Callback(["SVGimgError",this]); + img.src = img.SRC = values.src; + MathJax.Hub.RestartAfter(img.onload); + } + if (this.img.status !== "OK") { + err = MML.Error( + LOCALE._(["MathML","BadMglyph"],"Bad mglyph: %1",values.src), + {mathsize:"75%"}); + this.Append(err); svg = err.toSVG(); this.data.pop(); + } else { + var mu = this.SVGgetMu(svg); + svg.Add(BBOX.MGLYPH(this.img.img,values.width,values.height,values.valign,mu, + {alt:values.alt, title:values.alt})); + } + } + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGimgLoaded: function (event,status) { + if (typeof(event) === "string") {status = event} + this.img.status = (status || "OK") + }, + SVGimgError: function () {this.img.img.onload("error")} + },{ + GLYPH: {} // global list of all loaded glyphs + }); + + MathJax.Hub.Startup.signal.Post("SVG mglyph Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/mglyph.js"); + +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mmultiscripts.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mmultiscripts.js new file mode 100644 index 00000000..94de90fa --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mmultiscripts.js @@ -0,0 +1,130 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/mmultiscripts.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG; + + MML.mmultiscripts.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); + var base = (this.data[this.base] ? this.SVGdataStretched(this.base,HW,D) : SVG.BBOX.G().Clean()); + var x_height = SVG.TeX.x_height * scale, + s = SVG.TeX.scriptspace * scale * .75; // FIXME: .75 can be removed when IC is right? + + var BOX = this.SVGgetScripts(s); + var sub = BOX[0], sup = BOX[1], presub = BOX[2], presup = BOX[3]; + + var sscale = (this.data[1]||this).SVGgetScale(); + var q = SVG.TeX.sup_drop * sscale, r = SVG.TeX.sub_drop * sscale; + var u = base.h - q, v = base.d + r, delta = 0, p; + if (base.ic) {delta = base.ic} + if (this.data[this.base] && + (this.data[this.base].type === "mi" || this.data[this.base].type === "mo")) { + if (SVG.isChar(this.data[this.base].data.join("")) && base.scale === 1 && + !base.stretched && !this.data[this.base].Get("largeop")) {u = v = 0} + } + var min = this.getValues("subscriptshift","superscriptshift"), mu = this.SVGgetMu(svg); + min.subscriptshift = (min.subscriptshift === "" ? 0 : SVG.length2em(min.subscriptshift,mu)); + min.superscriptshift = (min.superscriptshift === "" ? 0 : SVG.length2em(min.superscriptshift,mu)); + + var dx = 0; + if (presub) {dx = presub.w+delta} else if (presup) {dx = presup.w-delta} + svg.Add(base,Math.max(0,dx),0); + + if (!sup && !presup) { + v = Math.max(v,SVG.TeX.sub1*scale,min.subscriptshift); + if (sub) {v = Math.max(v,sub.h-(4/5)*x_height)} + if (presub) {v = Math.max(v,presub.h-(4/5)*x_height)} + if (sub) {svg.Add(sub,dx+base.w+s-delta,-v)} + if (presub) {svg.Add(presub,0,-v)} + } else { + if (!sub && !presub) { + var values = this.getValues("displaystyle","texprimestyle"); + p = SVG.TeX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; + u = Math.max(u,p*scale,min.superscriptshift); + if (sup) {u = Math.max(u,sup.d+(1/4)*x_height)} + if (presup) {u = Math.max(u,presup.d+(1/4)*x_height)} + if (sup) {svg.Add(sup,dx+base.w+s,u)} + if (presup) {svg.Add(presup,0,u)} + } else { + v = Math.max(v,SVG.TeX.sub2*scale); + var t = SVG.TeX.rule_thickness * scale; + var h = (sub||presub).h, d = (sup||presup).d; + if (presub) {h = Math.max(h,presub.h)} + if (presup) {d = Math.max(d,presup.d)} + if ((u - d) - (h - v) < 3*t) { + v = 3*t - u + d + h; q = (4/5)*x_height - (u - d); + if (q > 0) {u += q; v -= q} + } + u = Math.max(u,min.superscriptshift); v = Math.max(v,min.subscriptshift); + if (sup) {svg.Add(sup,dx+base.w+s,u)} + if (presup) {svg.Add(presup,dx+delta-presup.w,u)} + if (sub) {svg.Add(sub,dx+base.w+s-delta,-v)} + if (presub) {svg.Add(presub,dx-presub.w,-v)} + } + } + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + var data = this.SVGdata; + data.dx = dx; data.s = s; data.u = u, data.v = v; data.delta = delta; + return svg; + }, + SVGgetScripts: function (s) { + var sup, sub, BOX = []; + var i = 1, m = this.data.length, W = 0; + for (var k = 0; k < 4; k += 2) { + while (i < m && (this.data[i]||{}).type !== "mprescripts") { + var box = [null,null,null,null]; + for (var j = k; j < k+2; j++) { + if (this.data[i] && this.data[i].type !== "none" && this.data[i].type !== "mprescripts") { + if (!BOX[j]) {BOX[j] = SVG.BBOX.G()} + box[j] = this.data[i].toSVG(); + } + if ((this.data[i]||{}).type !== "mprescripts") i++; + } + var isPre = (k === 2); + if (isPre) W += Math.max((box[k]||{w:0}).w,(box[k+1]||{w:0}).w); + if (box[k]) BOX[k].Add(box[k].With({x:W-(isPre?box[k].w:0)})); + if (box[k+1]) BOX[k+1].Add(box[k+1].With({x:W-(isPre?box[k+1].w:0)})); + sub = BOX[k]||{w:0}; sup = BOX[k+1]||{w:0}; + sub.w = sup.w = W = Math.max(sub.w,sup.w); + } + i++; W = 0; + } + for (j = 0; j < 4; j++) {if (BOX[j]) {BOX[j].w += s; BOX[j].Clean()}} + return BOX; + } + }); + + MathJax.Hub.Startup.signal.Post("SVG mmultiscripts Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/mmultiscripts.js"); + +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/ms.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/ms.js new file mode 100644 index 00000000..a14407cd --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/ms.js @@ -0,0 +1,55 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/ms.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG; + + MML.ms.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(); this.SVGhandleSpace(svg); + var values = this.getValues("lquote","rquote","mathvariant"); + if (!this.hasValue("lquote") || values.lquote === '"') values.lquote = "\u201C"; + if (!this.hasValue("rquote") || values.rquote === '"') values.rquote = "\u201D"; + if (values.lquote === "\u201C" && values.mathvariant === "monospace") values.lquote = '"'; + if (values.rquote === "\u201D" && values.mathvariant === "monospace") values.rquote = '"'; + var variant = this.SVGgetVariant(), scale = this.SVGgetScale(); + var text = values.lquote+this.data.join("")+values.rquote; // FIXME: handle mglyph? + svg.Add(this.SVGhandleVariant(variant,scale,text)); + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MathJax.Hub.Startup.signal.Post("SVG ms Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/ms.js"); + +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mtable.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mtable.js new file mode 100644 index 00000000..d1b3b3a7 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/mtable.js @@ -0,0 +1,389 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/mtable.js + * + * Implements the SVG output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG, + BBOX = SVG.BBOX; + + MML.mtable.Augment({ + toSVG: function (span) { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); + if (this.data.length === 0) {this.SVGsaveData(svg);return svg} + var values = this.getValues("columnalign","rowalign","columnspacing","rowspacing", + "columnwidth","equalcolumns","equalrows", + "columnlines","rowlines","frame","framespacing", + "align","useHeight","width","side","minlabelspacing"); + // Handle relative width as fixed width in relation to container + if (values.width.match(/%$/)) + {svg.width = values.width = SVG.Em((SVG.cwidth/1000)*(parseFloat(values.width)/100))} + + var mu = this.SVGgetMu(svg); + var LABEL = -1; + + var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, + m, M, s, row, cell, mo, HD; + var LH = SVG.FONTDATA.lineH * scale * values.useHeight, + LD = SVG.FONTDATA.lineD * scale * values.useHeight; + + // + // Create cells and measure columns and rows + // + for (i = 0, m = this.data.length; i < m; i++) { + row = this.data[i]; s = (row.type === "mlabeledtr" ? LABEL : 0); + A[i] = []; H[i] = LH; D[i] = LD; + for (j = s, M = row.data.length + s; j < M; j++) { + if (W[j] == null) { + if (j > J) {J = j} + C[j] = BBOX.G(); + W[j] = -SVG.BIGDIMEN; + } + cell = row.data[j-s]; + A[i][j] = cell.toSVG(); +// if (row.data[j-s].isMultiline) {A[i][j].style.width = "100%"} + if (cell.isEmbellished()) { + mo = cell.CoreMO(); + var min = mo.Get("minsize",true); + if (min) { + if (mo.SVGcanStretch("Vertical")) { + HD = mo.SVGdata.h + mo.SVGdata.d; + if (HD) { + min = SVG.length2em(min,mu,HD); + if (min*mo.SVGdata.h/HD > H[i]) {H[i] = min*mo.SVGdata.h/HD} + if (min*mo.SVGdata.d/HD > D[i]) {D[i] = min*mo.SVGdata.d/HD} + } + } else if (mo.SVGcanStretch("Horizontal")) { + min = SVG.length2em(min,mu,mo.SVGdata.w); + if (min > W[j]) {W[j] = min} + } + } + } + if (A[i][j].h > H[i]) {H[i] = A[i][j].h} + if (A[i][j].d > D[i]) {D[i] = A[i][j].d} + if (A[i][j].w > W[j]) {W[j] = A[i][j].w} + } + } + + // + // Determine spacing and alignment + // + var SPLIT = MathJax.Hub.SplitList; + var CSPACE = SPLIT(values.columnspacing), + RSPACE = SPLIT(values.rowspacing), + CALIGN = SPLIT(values.columnalign), + RALIGN = SPLIT(values.rowalign), + CLINES = SPLIT(values.columnlines), + RLINES = SPLIT(values.rowlines), + CWIDTH = SPLIT(values.columnwidth), + RCALIGN = []; + for (i = 0, m = CSPACE.length; i < m; i++) {CSPACE[i] = SVG.length2em(CSPACE[i],mu)} + for (i = 0, m = RSPACE.length; i < m; i++) {RSPACE[i] = SVG.length2em(RSPACE[i],mu)} + while (CSPACE.length < J) {CSPACE.push(CSPACE[CSPACE.length-1])} + while (CALIGN.length <= J) {CALIGN.push(CALIGN[CALIGN.length-1])} + while (CLINES.length < J) {CLINES.push(CLINES[CLINES.length-1])} + while (CWIDTH.length <= J) {CWIDTH.push(CWIDTH[CWIDTH.length-1])} + while (RSPACE.length < A.length) {RSPACE.push(RSPACE[RSPACE.length-1])} + while (RALIGN.length <= A.length) {RALIGN.push(RALIGN[RALIGN.length-1])} + while (RLINES.length < A.length) {RLINES.push(RLINES[RLINES.length-1])} + if (C[LABEL]) { + CALIGN[LABEL] = (values.side.substr(0,1) === "l" ? "left" : "right"); + CSPACE[LABEL] = -W[LABEL]; + } + // + // Override row data + // + for (i = 0, m = A.length; i < m; i++) { + row = this.data[i]; RCALIGN[i] = []; + if (row.rowalign) {RALIGN[i] = row.rowalign} + if (row.columnalign) { + RCALIGN[i] = SPLIT(row.columnalign); + while (RCALIGN[i].length <= J) {RCALIGN[i].push(RCALIGN[i][RCALIGN[i].length-1])} + } + } + + // + // Handle equal heights + // + if (values.equalrows) { + // FIXME: should really be based on row align (below is for baseline) + var Hm = Math.max.apply(Math,H), Dm = Math.max.apply(Math,D); + for (i = 0, m = A.length; i < m; i++) + {s = ((Hm + Dm) - (H[i] + D[i])) / 2; H[i] += s; D[i] += s} + } + + // FIXME: do background colors for entire cell (include half the intercolumn space?) + + // + // Determine array total height + // + HD = H[0] + D[A.length-1]; + for (i = 0, m = A.length-1; i < m; i++) + {HD += Math.max(0,D[i]+H[i+1]+RSPACE[i])} + // + // Determine frame and line sizes + // + var fx = 0, fy = 0, fW, fH = HD; + if (values.frame !== "none" || + (values.columnlines+values.rowlines).match(/solid|dashed/)) { + var frameSpacing = SPLIT(values.framespacing); + if (frameSpacing.length != 2) { + // invalid attribute value: use the default. + frameSpacing = SPLIT(this.defaults.framespacing); + } + fx = SVG.length2em(frameSpacing[0],mu); + fy = SVG.length2em(frameSpacing[1],mu); + fH = HD + 2*fy; // fW waits until svg.w is determined + } + // + // Compute alignment + // + var Y, fY, n = ""; + if (typeof(values.align) !== "string") {values.align = String(values.align)} + if (values.align.match(/(top|bottom|center|baseline|axis)( +(-?\d+))?/)) + {n = RegExp.$3||""; values.align = RegExp.$1} else {values.align = this.defaults.align} + if (n !== "") { + // + // Find the height of the given row + // + n = parseInt(n); + if (n < 0) {n = A.length + 1 + n} + if (n < 1) {n = 1} else if (n > A.length) {n = A.length} + Y = 0; fY = -(HD + fy) + H[0]; + for (i = 0, m = n-1; i < m; i++) { + // FIXME: Should handle values.align for final row + var dY = Math.max(0,D[i]+H[i+1]+RSPACE[i]); + Y += dY; fY += dY; + } + } else { + Y = ({ + top: -(H[0] + fy), + bottom: HD + fy - H[0], + center: HD/2 - H[0], + baseline: HD/2 - H[0], + axis: HD/2 + SVG.TeX.axis_height*scale - H[0] + })[values.align]; + fY = ({ + top: -(HD + 2*fy), + bottom: 0, + center: -(HD/2 + fy), + baseline: -(HD/2 + fy), + axis: SVG.TeX.axis_height*scale - HD/2 - fy + })[values.align]; + } + + var WW, WP = 0, Wt = 0, Wp = 0, p = 0, f = 0, P = [], F = [], Wf = 1; + // + if (values.equalcolumns && values.width !== "auto") { + // + // Handle equalcolumns for percent-width and fixed-width tables + // + + // Get total width minus column spacing + WW = SVG.length2em(values.width,mu); + for (i = 0, m = Math.min(J,CSPACE.length); i < m; i++) {WW -= CSPACE[i]} + // Determine individual column widths + WW /= J; + for (i = 0, m = Math.min(J+1,CWIDTH.length); i < m; i++) {W[i] = WW} + } else { + // + // Get column widths for fit and percentage columns + // + // Calculate the natural widths and percentage widths, + // while keeping track of the fit and percentage columns + for(i = 0, m = Math.min(J+1,CWIDTH.length); i < m; i++) { + if (CWIDTH[i] === "auto") {Wt += W[i]} + else if (CWIDTH[i] === "fit") {F[f] = i; f++; Wt += W[i]} + else if (CWIDTH[i].match(/%$/)) + {P[p] = i; p++; Wp += W[i]; WP += SVG.length2em(CWIDTH[i],mu,1)} + else {W[i] = SVG.length2em(CWIDTH[i],mu); Wt += W[i]} + } + // Get the full width (excluding inter-column spacing) + if (values.width === "auto") { + if (WP > .98) {Wf = Wp/(Wt+Wp); WW = Wt + Wp} else {WW = Wt / (1-WP)} + } else { + WW = Math.max(Wt + Wp, SVG.length2em(values.width,mu)); + for (i = 0, m = Math.min(J,CSPACE.length); i < m; i++) {WW -= CSPACE[i]} + } + // Determine the relative column widths + for (i = 0, m = P.length; i < m; i++) { + W[P[i]] = SVG.length2em(CWIDTH[P[i]],mu,WW*Wf); Wt += W[P[i]]; + } + // Stretch fit columns, if any, otherwise stretch (or shrink) everything + if (Math.abs(WW - Wt) > .01) { + if (f && WW > Wt) { + WW = (WW - Wt) / f; for (i = 0, m = F.length; i < m; i++) {W[F[i]] += WW} + } else {WW = WW/Wt; for (j = 0; j <= J; j++) {W[j] *= WW}} + } + // + // Handle equal columns + // + if (values.equalcolumns) { + var Wm = Math.max.apply(Math,W); + for (j = 0; j <= J; j++) {W[j] = Wm} + } + } + + // + // Lay out array columns + // + var y = Y, dy, align; s = (C[LABEL] ? LABEL : 0); + for (j = s; j <= J; j++) { + C[j].w = W[j]; + for (i = 0, m = A.length; i < m; i++) { + if (A[i][j]) { + s = (this.data[i].type === "mlabeledtr" ? LABEL : 0); + cell = this.data[i].data[j-s]; + if (cell.SVGcanStretch("Horizontal")) { + A[i][j] = cell.SVGstretchH(W[j]); + } else if (cell.SVGcanStretch("Vertical")) { + mo = cell.CoreMO(); + var symmetric = mo.symmetric; mo.symmetric = false; + A[i][j] = cell.SVGstretchV(H[i],D[i]); + mo.symmetric = symmetric; + } + align = cell.rowalign||this.data[i].rowalign||RALIGN[i]; + dy = ({top: H[i] - A[i][j].h, + bottom: A[i][j].d - D[i], + center: ((H[i]-D[i]) - (A[i][j].h-A[i][j].d))/2, + baseline: 0, axis: 0})[align] || 0; // FIXME: handle axis better? + align = (cell.columnalign||RCALIGN[i][j]||CALIGN[j]) + C[j].Align(A[i][j],align,0,y+dy); + } + if (i < A.length-1) {y -= Math.max(0,D[i]+H[i+1]+RSPACE[i])} + } + y = Y; + } + + // + // Place the columns and add column lines + // + var lw = 1.5*SVG.em; + var x = fx - lw/2; + for (j = 0; j <= J; j++) { + svg.Add(C[j],x,0); x += W[j] + CSPACE[j]; + if (CLINES[j] !== "none" && j < J && j !== LABEL) + {svg.Add(BBOX.VLINE(fH,lw,CLINES[j]),x-CSPACE[j]/2,fY)} + } + svg.w += fx; svg.d = -fY; svg.h = fH+fY; + fW = svg.w; + + // + // Add frame + // + if (values.frame !== "none") { + svg.Add(BBOX.HLINE(fW,lw,values.frame),0,fY+fH-lw); + svg.Add(BBOX.HLINE(fW,lw,values.frame),0,fY); + svg.Add(BBOX.VLINE(fH,lw,values.frame),0,fY); + svg.Add(BBOX.VLINE(fH,lw,values.frame),fW-lw,fY); + } + + // + // Add row lines + // + y = Y - lw/2; + for (i = 0, m = A.length-1; i < m; i++) { + dy = Math.max(0,D[i]+H[i+1]+RSPACE[i]); + if (RLINES[i] !== MML.LINES.NONE && RLINES[i] !== "") + {svg.Add(BBOX.HLINE(fW,lw,RLINES[i]),0,y-D[i]-(dy-D[i]-H[i+1])/2)} + y -= dy; + } + + // + // Finish the table + // + svg.Clean(); + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + + // + // Place the labels, if any + // + if (C[LABEL]) { + svg.tw = Math.max(svg.w,svg.r) - Math.min(0,svg.l); + var indent = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); + if (indent.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) {indent.indentalign = indent.indentalignfirst} + if (indent.indentalign === MML.INDENTALIGN.AUTO) {indent.indentalign = this.displayAlign} + if (indent.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) {indent.indentshift = indent.indentshiftfirst} + if (indent.indentshift === "auto" || indent.indentshift === "") {indent.indentshift = "0"} + var shift = SVG.length2em(indent.indentshift,mu,SVG.cwidth); + var labelspace = SVG.length2em(values.minlabelspacing,mu,SVG.cwidth); + var labelW = labelspace + C[LABEL].w, labelshift = 0, tw = svg.w; + var dIndent = SVG.length2em(this.displayIndent,mu,SVG.cwidth); + s = (CALIGN[LABEL] === MML.INDENTALIGN.RIGHT ? -1 : 1); + if (indent.indentalign === MML.INDENTALIGN.CENTER) { + var dx = (SVG.cwidth-tw)/2; shift += dIndent; + if (labelW + s*labelshift > dx + s*shift) { + indent.indentalign = CALIGN[LABEL]; + shift = s*(labelW + s*labelshift); tw += labelW + Math.max(0,shift); + } + } else if (CALIGN[LABEL] === indent.indentalign) { + if (dIndent < 0) {labelshift = s*dIndent; dIndent = 0} + shift += s*dIndent; if (labelW > s*shift) shift = s*labelW; shift += labelshift; + tw += s*shift; + } else { + shift -= s*dIndent; + if (tw - s*shift + labelW > SVG.cwidth) { + shift = s*(tw + labelW - SVG.cwidth); + if (s*shift > 0) {tw = SVG.cwidth + s*shift; shift = 0} + } + } + var eqn = svg; svg = this.SVG(); + svg.hasIndent = true; + svg.w = svg.r = Math.max(tw,SVG.cwidth); + svg.Align(C[LABEL],CALIGN[LABEL],0,0,labelshift); + svg.Align(eqn,indent.indentalign,0,0,shift); + svg.tw = tw; + } + + this.SVGsaveData(svg); + return svg; + }, + SVGhandleSpace: function (svg) { + if (!this.hasFrame && !svg.width) {svg.x = svg.X = 167} + this.SUPER(arguments).SVGhandleSpace.call(this,svg); + } + }); + + MML.mtd.Augment({ + toSVG: function (HW,D) { + var svg = this.svg = this.SVG(); + if (this.data[0]) { + svg.Add(this.SVGdataStretched(0,HW,D)); + svg.Clean(); + } + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MathJax.Hub.Startup.signal.Post("SVG mtable Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/mtable.js"); + +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/multiline.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/multiline.js new file mode 100644 index 00000000..c0040300 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/autoload/multiline.js @@ -0,0 +1,732 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/autoload/multiline.js + * + * Implements the SVG output for 's that contain line breaks. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { + var VERSION = "2.7.5"; + var MML = MathJax.ElementJax.mml, + SVG = MathJax.OutputJax.SVG, + BBOX = SVG.BBOX; + // + // Fake node used for testing end-of-line potential breakpoint + // + var MO = MML.mo().With({SVGdata: {w: 0, x:0}}); + + // + // Penalties for the various line breaks + // + var PENALTY = { + newline: 0, + nobreak: 1000000, + goodbreak: [-200], + badbreak: [+200], + auto: [0], + + maxwidth: 1.33, // stop looking for breaks after this time the line-break width + toobig: 800, + nestfactor: 400, + spacefactor: -100, + spaceoffset: 2, + spacelimit: 1, // spaces larger than this get a penalty boost + fence: 500, + close: 500 + }; + + var ENDVALUES = {linebreakstyle: "after"}; + + + /**************************************************************************/ + + MML.mrow.Augment({ + // + // Handle breaking an mrow into separate lines + // + SVGmultiline: function (svg) { + + // + // Find the parent element and mark it as multiline + // + var parent = this; + while (parent.inferred || (parent.parent && parent.parent.type === "mrow" && + parent.isEmbellished())) {parent = parent.parent} + var isTop = ((parent.type === "math" && parent.Get("display") === "block") || + parent.type === "mtd"); + parent.isMultiline = true; + + // + // Default values for the line-breaking parameters + // + var VALUES = this.getValues( + "linebreak","linebreakstyle","lineleading","linebreakmultchar", + "indentalign","indentshift", + "indentalignfirst","indentshiftfirst", + "indentalignlast","indentshiftlast" + ); + if (VALUES.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) + {VALUES.linebreakstyle = this.Get("infixlinebreakstyle")} + VALUES.lineleading = SVG.length2em(VALUES.lineleading,1,0.5); + + // + // Start with a fresh SVG element + // and make it full width if we are breaking to a specific width + // in the top-level math element + // + svg = this.SVG(); + if (isTop && parent.type !== "mtd") { + if (SVG.linebreakWidth < SVG.BIGDIMEN) {svg.w = SVG.linebreakWidth} + else {svg.w = SVG.cwidth} + } + + var state = { + n: 0, Y: 0, + scale: this.scale || 1, + isTop: isTop, + values: {}, + VALUES: VALUES + }, + align = this.SVGgetAlign(state,{}), + shift = this.SVGgetShift(state,{},align), + start = [], + end = { + index:[], penalty:PENALTY.nobreak, + w:0, W:shift, shift:shift, scanW:shift, + nest: 0 + }, + broken = false; + + // + // Break the expression at its best line breaks + // + while (this.SVGbetterBreak(end,state,true) && + (end.scanW >= SVG.linebreakWidth || end.penalty === PENALTY.newline)) { + this.SVGaddLine(svg,start,end.index,state,end.values,broken); + start = end.index.slice(0); broken = true; + align = this.SVGgetAlign(state,end.values); + shift = this.SVGgetShift(state,end.values,align); + if (align === MML.INDENTALIGN.CENTER) {shift = 0} + end.W = end.shift = end.scanW = shift; end.penalty = PENALTY.nobreak; + } + state.isLast = true; + this.SVGaddLine(svg,start,[],state,ENDVALUES,broken); + + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + svg.isMultiline = true; + + this.SVGsaveData(svg); + return svg; + } + }); + + /**************************************************************************/ + + MML.mbase.Augment({ + SVGlinebreakPenalty: PENALTY, + + /****************************************************************/ + // + // Locate the next linebreak that is better than the current one + // + SVGbetterBreak: function (info,state,toplevel) { + if (this.isToken) {return false} // FIXME: handle breaking of token elements + if (this.isEmbellished()) { + info.embellished = this; + return this.CoreMO().SVGbetterBreak(info,state); + } + if (this.linebreakContainer) {return false} + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; + if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; info.nest++; + // + // Look through the line for breakpoints, + // (as long as we are not too far past the breaking width) + // + while (i < m && (info.scanW < PENALTY.maxwidth*SVG.linebreakWidth || info.w === 0)) { + if (this.data[i]) { + if (this.data[i].SVGbetterBreak(info,state)) { + better = true; index = [i].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) { + info.index = index; + if (info.nest) {info.nest--} + return true; + } + } + scanW = (broken ? info.scanW : this.SVGaddWidth(i,info,scanW)); + } + info.index = []; i++; broken = false; + } + // + // Check if end-of-line is a better breakpoint + // + if (toplevel && better) { + MO.parent = this.parent; MO.inherit = this.inherit; + if (MO.SVGbetterBreak(info,state)) {better = false; index = info.index} + } + if (info.nest) {info.nest--} + info.index = index; + if (better) {info.W = W} + return better; + }, + SVGaddWidth: function (i,info,scanW) { + if (this.data[i]) { + var svg = this.data[i].SVGdata; + scanW += svg.w + svg.x; if (svg.X) {scanW += svg.X} + info.W = info.scanW = scanW; info.w = 0; + } + return scanW; + }, + + /****************************************************************/ + // + // Create a new line and move the required elements into it + // Position it using proper alignment and indenting + // + SVGaddLine: function (svg,start,end,state,values,broken) { + // + // Create a box for the line, with empty BBox + // fill it with the proper elements, + // and clean up the bbox + // + var line = BBOX(); + state.first = broken; state.last = true; + this.SVGmoveLine(start,end,line,state,values); + line.Clean(); + // + // Get the alignment and shift values + // + var align = this.SVGgetAlign(state,values), + shift = this.SVGgetShift(state,values,align); + // + // Set the Y offset based on previous depth, leading, and current height + // + if (state.n > 0) { + var LHD = SVG.FONTDATA.baselineskip * state.scale; + var leading = (state.values.lineleading == null ? state.VALUES : state.values).lineleading * state.scale; + state.Y -= Math.max(LHD,state.d + line.h + leading); + } + // + // Place the new line + // + if (line.w + shift > svg.w) svg.w = line.w + shift; + svg.Align(line,align,0,state.Y,shift); + // + // Save the values needed for the future + // + state.d = line.d; state.values = values; state.n++; + }, + + /****************************************************************/ + // + // Get alignment and shift values from the given data + // + SVGgetAlign: function (state,values) { + var cur = values, prev = state.values, def = state.VALUES, align; + if (state.n === 0) {align = cur.indentalignfirst || prev.indentalignfirst || def.indentalignfirst} + else if (state.isLast) {align = prev.indentalignlast || def.indentalignlast} + else {align = prev.indentalign || def.indentalign} + if (align === MML.INDENTALIGN.INDENTALIGN) {align = prev.indentalign || def.indentalign} + if (align === MML.INDENTALIGN.AUTO) {align = (state.isTop ? this.displayAlign : MML.INDENTALIGN.LEFT)} + return align; + }, + SVGgetShift: function (state,values,align) { + var cur = values, prev = state.values, def = state.VALUES, shift; + if (state.n === 0) {shift = cur.indentshiftfirst || prev.indentshiftfirst || def.indentshiftfirst} + else if (state.isLast) {shift = prev.indentshiftlast || def.indentshiftlast} + else {shift = prev.indentshift || def.indentshift} + if (shift === MML.INDENTSHIFT.INDENTSHIFT) {shift = prev.indentshift || def.indentshift} + if (shift === "auto" || shift === "") {shift = "0"} + shift = SVG.length2em(shift,1,SVG.cwidth); + if (state.isTop && this.displayIndent !== "0") { + var indent = SVG.length2em(this.displayIndent,1,SVG.cwidth); + shift += (align === MML.INDENTALIGN.RIGHT ? -indent: indent); + } + return shift; + }, + + /****************************************************************/ + // + // Move the selected elements into the new line, + // moving whole items when possible, and parts of ones + // that are split by a line break. + // + SVGmoveLine: function (start,end,svg,state,values) { + var i = start[0], j = end[0]; + if (i == null) {i = -1}; if (j == null) {j = this.data.length-1} + if (i === j && start.length > 1) { + // + // If starting and ending in the same element move the subpiece to the new line + // + this.data[i].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); + } else { + // + // Otherwise, move the remainder of the initial item + // and any others up to the last one + // + var last = state.last; state.last = false; + while (i < j) { + if (this.data[i]) { + if (start.length <= 1) {this.data[i].SVGmove(svg,state,values)} + else {this.data[i].SVGmoveSlice(start.slice(1),[],svg,state,values,"paddingLeft")} + } + i++; state.first = false; start = []; + } + // + // If the last item is complete, move it, + // otherwise move the first part of it up to the split + // + state.last = last; + if (this.data[i]) { + if (end.length <= 1) {this.data[i].SVGmove(svg,state,values)} + else {this.data[i].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} + } + } + }, + + /****************************************************************/ + // + // Split an element and copy the selected items into the new part + // + SVGmoveSlice: function (start,end,svg,state,values,padding) { + // + // Create a new container for the slice of the element + // Move the selected portion into the slice + // + var slice = BBOX(); + this.SVGmoveLine(start,end,slice,state,values); + slice.Clean(); + if (this.href) {this.SVGaddHref(slice)} + this.SVGhandleColor(slice); + if (start.length == 0) this.SVGhandleSpace(slice); + svg.Add(slice,svg.w,0,true); + return slice; + }, + + /****************************************************************/ + // + // Move an element from its original position to its new location in + // a split element or the new line's position + // + SVGmove: function (line,state,values) { + // FIXME: handle linebreakstyle === "duplicate" + // FIXME: handle linebreakmultchar + if (!(state.first || state.last) || + (state.first && state.values.linebreakstyle === MML.LINEBREAKSTYLE.BEFORE) || + (state.last && values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER)) { + // + // Recreate output + // Remove padding (if first, remove at leftt, if last remove at right) + // Add to line + // + var svg = this.toSVG(this.SVGdata.HW,this.SVGdata.D); + if (state.first || state.nextIsFirst) {svg.x = 0} + if (state.last && svg.X) {svg.X = 0} + line.Add(svg,line.w,0,true); + } + if (state.first && svg && svg.w === 0) {state.nextIsFirst = true} + else {delete state.nextIsFirst} + } + }); + + /**************************************************************************/ + + MML.mfenced.Augment({ + SVGbetterBreak: function (info,state) { + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false; + if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; info.nest++; + // + // Create indices that include the delimiters and separators + // + if (!this.dataI) { + this.dataI = []; + if (this.data.open) {this.dataI.push("open")} + if (m) {this.dataI.push(0)} + for (var j = 1; j < m; j++) { + if (this.data["sep"+j]) {this.dataI.push("sep"+j)} + this.dataI.push(j); + } + if (this.data.close) {this.dataI.push("close")} + } + m = this.dataI.length; + // + // Look through the line for breakpoints, including the open, close, and separators + // (as long as we are not too far past the breaking width) + // + while (i < m && (info.scanW < PENALTY.maxwidth*SVG.linebreakWidth || info.w === 0)) { + var k = this.dataI[i]; + if (this.data[k]) { + if (this.data[k].SVGbetterBreak(info,state)) { + better = true; index = [i].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) { + info.index = index; + if (info.nest) {info.nest--} + return true; + } + } + scanW = (broken ? info.scanW : this.SVGaddWidth(i,info,scanW)); + } + info.index = []; i++; broken = false; + } + if (info.nest) {info.nest--} + info.index = index; + if (better) {info.W = W; info.w = w} + return better; + }, + + SVGmoveLine: function (start,end,svg,state,values) { + var i = start[0], j = end[0]; + if (i == null) {i = -1}; if (j == null) {j = this.dataI.length-1} + if (i === j && start.length > 1) { + // + // If starting and ending in the same element move the subpiece to the new line + // + this.data[this.dataI[i]].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); + } else { + // + // Otherwise, move the remainder of the initial item + // and any others (including open and separators) up to the last one + // + var last = state.last; state.last = false; var k = this.dataI[i]; + while (i < j) { + if (this.data[k]) { + if (start.length <= 1) {this.data[k].SVGmove(svg,state,values)} + else {this.data[k].SVGmoveSlice(start.slice(1),[],svg,state,values,"paddingLeft")} + } + i++; k = this.dataI[i]; state.first = false; start = []; + } + // + // If the last item is complete, move it + // + state.last = last; + if (this.data[k]) { + if (end.length <= 1) {this.data[k].SVGmove(svg,state,values)} + else {this.data[k].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} + } + } + } + + }); + + /**************************************************************************/ + + MML.msubsup.Augment({ + SVGbetterBreak: function (info,state) { + if (!this.data[this.base]) {return false} + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0), i = info.index.shift(), + W, w, scanW, broken = (info.index.length > 0), better = false; + if (!broken) {info.W += info.w; info.w = 0} + scanW = info.scanW = info.W; + // + // Record the width of the base and the super- and subscripts + // + if (i == null) {this.SVGdata.dw = this.SVGdata.w - this.data[this.base].SVGdata.w} + // + // Check if the base can be broken + // + if (this.data[this.base].SVGbetterBreak(info,state)) { + better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) {better = broken = true} + } + // + // Add in the base if it is unbroken, and add the scripts + // + if (!broken) {this.SVGaddWidth(this.base,info,scanW)} + info.scanW += this.SVGdata.dw; info.W = info.scanW; + info.index = []; if (better) {info.W = W; info.w = w; info.index = index} + return better; + }, + + SVGmoveLine: function (start,end,svg,state,values) { + // + // Move the proper part of the base + // + if (this.data[this.base]) { + if (start.length > 1) { + this.data[this.base].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); + } else { + if (end.length <= 1) {this.data[this.base].SVGmove(svg,state,values)} + else {this.data[this.base].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} + } + } + // + // If this is the end, check for super and subscripts, and move those + // by moving the stack that contains them, and shifting by the amount of the + // base that has been removed. Remove the empty base box from the stack. + // + if (end.length === 0) { + var sup = this.data[this.sup], sub = this.data[this.sub], w = svg.w, data; + if (sup) {data = sup.SVGdata||{}; svg.Add(sup.toSVG(),w+(data.dx||0),data.dy)} + if (sub) {data = sub.SVGdata||{}; svg.Add(sub.toSVG(),w+(data.dx||0),data.dy)} + } + } + + }); + + /**************************************************************************/ + + MML.mmultiscripts.Augment({ + SVGbetterBreak: function (info,state) { + if (!this.data[this.base]) {return false} + // + // Get the current breakpoint position and other data + // + var index = info.index.slice(0); info.index.shift(); + var W, w, scanW, broken = (info.index.length > 0), better = false; + if (!broken) {info.W += info.w; info.w = 0} + info.scanW = info.W; + // + // The width of the postscripts + // + var dw = this.SVGdata.w - this.data[this.base].SVGdata.w - this.SVGdata.dx; + // + // Add in the prescripts + // + info.scanW += this.SVGdata.dx; scanW = info.scanW; + // + // Check if the base can be broken (but don't break between prescripts and base) + // + if (this.data[this.base].SVGbetterBreak(info,state)) { + better = true; index = [this.base].concat(info.index); W = info.W; w = info.w; + if (info.penalty === PENALTY.newline) {better = broken = true} + } + // + // Add in the base if it is unbroken, and add the postscripts + // + if (!broken) {this.SVGaddWidth(this.base,info,scanW)} + info.scanW += dw; info.W = info.scanW; + info.index = []; if (better) {info.W = W; info.w = w; info.index = index} + return better; + }, + + SVGmoveLine: function (start,end,svg,state,values) { + var dx, data = this.SVGdata; + // + // If this is the start, move the prescripts, if any. + // + if (start.length < 1) { + this.scriptBox = this.SVGgetScripts(this.SVGdata.s); + var presub = this.scriptBox[2], presup = this.scriptBox[3]; dx = svg.w + data.dx; + if (presup) {svg.Add(presup,dx+data.delta-presup.w,data.u)} + if (presub) {svg.Add(presub,dx-presub.w,-data.v)} + } + // + // Move the proper part of the base + // + if (this.data[this.base]) { + if (start.length > 1) { + this.data[this.base].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft"); + } else { + if (end.length <= 1) {this.data[this.base].SVGmove(svg,state,values)} + else {this.data[this.base].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")} + } + } + // + // If this is the end, move the postscripts, if any. + // + if (end.length === 0) { + var sub = this.scriptBox[0], sup = this.scriptBox[1]; dx = svg.w + data.s; + if (sup) {svg.Add(sup,dx,data.u)} + if (sub) {svg.Add(sub,dx-data.delta,-data.v)} + delete this.scriptBox; + } + } + + }); + + /**************************************************************************/ + + MML.mo.Augment({ + // + // Override the method for checking line breaks to properly handle + // + SVGbetterBreak: function (info,state) { + if (info.values && info.values.last === this) {return false} + var values = this.getValues( + "linebreak","linebreakstyle","lineleading","linebreakmultchar", + "indentalign","indentshift", + "indentalignfirst","indentshiftfirst", + "indentalignlast","indentshiftlast", + "texClass", "fence" + ); + if (values.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) + {values.linebreakstyle = this.Get("infixlinebreakstyle")} + // + // Adjust nesting by TeX class (helps output that does not include + // mrows for nesting, but can leave these unbalanced. + // + if (values.texClass === MML.TEXCLASS.OPEN) {info.nest++} + if (values.texClass === MML.TEXCLASS.CLOSE && info.nest) {info.nest--} + // + // Get the default penalty for this location + // + var W = info.scanW, mo = info.embellished; delete info.embellished; + if (!mo || !mo.SVGdata) {mo = this} + var svg = mo.SVGdata, w = svg.w + svg.x; + if (values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER) {W += w; w = 0} + if (W - info.shift === 0 && values.linebreak !== MML.LINEBREAK.NEWLINE) + {return false} // don't break at zero width (FIXME?) + var offset = SVG.linebreakWidth - W; + // adjust offest for explicit first-line indent and align + if (state.n === 0 && (values.indentshiftfirst !== state.VALUES.indentshiftfirst || + values.indentalignfirst !== state.VALUES.indentalignfirst)) { + var align = this.SVGgetAlign(state,values), + shift = this.SVGgetShift(state,values,align); + offset += (info.shift - shift); + } + // + var penalty = Math.floor(offset / SVG.linebreakWidth * 1000); + if (penalty < 0) {penalty = PENALTY.toobig - 3*penalty} + if (values.fence) {penalty += PENALTY.fence} + if ((values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER && + values.texClass === MML.TEXCLASS.OPEN) || + values.texClass === MML.TEXCLASS.CLOSE) {penalty += PENALTY.close} + penalty += info.nest * PENALTY.nestfactor; + // + // Get the penalty for this type of break and + // use it to modify the default penalty + // + var linebreak = PENALTY[values.linebreak||MML.LINEBREAK.AUTO]||0; + if (!MathJax.Object.isArray(linebreak)) { + // for breaks past the width, keep original penalty for newline + if (linebreak || offset >= 0) {penalty = linebreak * info.nest} + } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} + // + // If the penalty is no better than the current one, return false + // Otherwise save the data for this breakpoint and return true + // + if (penalty >= info.penalty) {return false} + info.penalty = penalty; info.values = values; info.W = W; info.w = w; + values.lineleading = SVG.length2em(values.lineleading,1,state.VALUES.lineleading); + values.last = this; + return true; + } + }); + + /**************************************************************************/ + + MML.mspace.Augment({ + // + // Override the method for checking line breaks to properly handle + // + SVGbetterBreak: function (info,state) { + if (info.values && info.values.last === this) {return false} + var values = this.getValues("linebreak"); + var linebreakValue = values.linebreak; + if (!linebreakValue || this.hasDimAttr()) { + // The MathML spec says that the linebreak attribute should be ignored + // if any dimensional attribute is set. + linebreakValue = MML.LINEBREAK.AUTO; + } + // + // Get the default penalty for this location + // + var W = info.scanW, svg = this.SVGdata, w = svg.w + svg.x; + if (W - info.shift === 0) {return false} // don't break at zero width (FIXME?) + var offset = SVG.linebreakWidth - W; + // + var penalty = Math.floor(offset / SVG.linebreakWidth * 1000); + if (penalty < 0) {penalty = PENALTY.toobig - 3*penalty} + penalty += info.nest * PENALTY.nestfactor; + // + // Get the penalty for this type of break and + // use it to modify the default penalty + // + var linebreak = PENALTY[linebreakValue]||0; + if (linebreakValue === MML.LINEBREAK.AUTO && w >= PENALTY.spacelimit*1000 && + !this.mathbackground && !this.backrgound) + {linebreak = [(w/1000+PENALTY.spaceoffset)*PENALTY.spacefactor]} + if (!MathJax.Object.isArray(linebreak)) { + // for breaks past the width, keep original penalty for newline + if (linebreak || offset >= 0) {penalty = linebreak * info.nest} + } else {penalty = Math.max(1,penalty + linebreak[0] * info.nest)} + // + // If the penalty is no better than the current one, return false + // Otherwise save the data for this breakpoint and return true + // + if (penalty >= info.penalty) {return false} + info.penalty = penalty; info.values = values; info.W = W; info.w = w; + values.lineleading = state.VALUES.lineleading; + values.linebreakstyle = "before"; values.last = this; + return true; + } + }); + + // + // Hook into the mathchoice extension + // + MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function () { + MML.TeXmathchoice.Augment({ + SVGbetterBreak: function (info,state) { + return this.Core().SVGbetterBreak(info,state); + }, + SVGmoveLine: function (start,end,svg,state,values) { + return this.Core().SVGmoveSlice(start,end,svg,state,values); + } + }); + }); + + // + // Have maction process only the selected item + // + MML.maction.Augment({ + SVGbetterBreak: function (info,state) { + return this.Core().SVGbetterBreak(info,state); + }, + SVGmoveLine: function (start,end,svg,state,values) { + return this.Core().SVGmoveSlice(start,end,svg,state,values); + }, + }); + + // + // Have semantics only do the first element + // (FIXME: do we need to do anything special about annotation-xml?) + // + MML.semantics.Augment({ + SVGbetterBreak: function (info,state) { + return (this.data[0] ? this.data[0].SVGbetterBreak(info,state) : false); + }, + SVGmoveLine: function (start,end,svg,state,values) { + return (this.data[0] ? this.data[0].SVGmoveSlice(start,end,svg,state,values) : null); + } + }); + + /**************************************************************************/ + + MathJax.Hub.Startup.signal.Post("SVG multiline Ready"); + MathJax.Ajax.loadComplete(SVG.autoloadDir+"/multiline.js"); + +}); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/config.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/config.js new file mode 100644 index 00000000..db49139f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/config.js @@ -0,0 +1,107 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/config.js + * + * Initializes the SVG OutputJax (the main definition is in + * MathJax/jax/input/SVG/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +MathJax.OutputJax.SVG = MathJax.OutputJax({ + id: "SVG", + version: "2.7.5", + directory: MathJax.OutputJax.directory + "/SVG", + extensionDir: MathJax.OutputJax.extensionDir + "/SVG", + autoloadDir: MathJax.OutputJax.directory + "/SVG/autoload", + fontDir: MathJax.OutputJax.directory + "/SVG/fonts", // font name added later + + config: { + scale: 100, minScaleAdjust: 50, // global math scaling factor, and minimum adjusted scale factor + font: "TeX", // currently the only font available + blacker: 1, // stroke-width to make fonts blacker + mtextFontInherit: false, // to make be in page font rather than MathJax font + undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif", // fonts to use for missing characters + + addMMLclasses: false, // keep MathML structure and use CSS classes to mark elements + useFontCache: true, // use elements to re-use font paths rather than repeat paths every time + useGlobalCache: true, // store fonts in a global for use in all equations, or one in each equation + + EqnChunk: (MathJax.Hub.Browser.isMobile ? 10: 50), + // number of equations to process before showing them + EqnChunkFactor: 1.5, // chunk size is multiplied by this after each chunk + EqnChunkDelay: 100, // milliseconds to delay between chunks (to let browser + // respond to other events) + + linebreaks: { + automatic: false, // when false, only process linebreak="newline", + // when true, insert line breaks automatically in long expressions. + + width: "container" // maximum width of a line for automatic line breaks (e.g. "30em"). + // use "container" to compute size from containing element, + // use "nn% container" for a portion of the container, + // use "nn%" for a portion of the window size + }, + + merrorStyle: { + fontSize:"90%", color:"#C00", background:"#FF8", + border: "1px solid #C00", padding:"3px" + }, + + styles: { + ".MathJax_SVG_Display": { + "text-align": "center", + margin: "1em 0em" + }, + + // + // For mtextFontInherit version of \texttt{} + // + ".MathJax_SVG .MJX-monospace": { + "font-family": "monospace" + }, + + // + // For mtextFontInherit version of \textsf{} + // + ".MathJax_SVG .MJX-sans-serif": { + "font-family": "sans-serif" + }, + + // + // For tooltips + // + "#MathJax_SVG_Tooltip": { + "background-color": "InfoBackground", color: "InfoText", + border: "1px solid black", + "box-shadow": "2px 2px 5px #AAAAAA", // Opera 10.5 + "-webkit-box-shadow": "2px 2px 5px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow": "2px 2px 5px #AAAAAA", // Forefox 3.5 + "-khtml-box-shadow": "2px 2px 5px #AAAAAA", // Konqueror + padding: "3px 4px", + "z-index": 401 + } + } + } +}); + +if (!MathJax.Hub.config.delayJaxRegistration) {MathJax.OutputJax.SVG.Register("jax/mml")} + +MathJax.OutputJax.SVG.loadComplete("config.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js new file mode 100644 index 00000000..79d3497a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js @@ -0,0 +1,140 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Arrows.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // LEFTWARDS ARROW + 0x2190: [437,-64,500,64,423,'292 419Q292 400 261 347T211 275H306Q319 275 338 275T364 276Q399 276 410 271T422 250T411 230T366 225H306H211Q214 222 232 197T271 136T292 82Q292 71 285 68T262 64H250H241Q221 64 216 67T205 83Q186 127 153 167T78 230Q64 238 64 250Q64 258 69 263T82 272T106 288T139 318Q162 342 177 365T198 402T209 425T223 436Q224 437 252 437H258Q292 437 292 419'], + + // RIGHTWARDS ARROW + 0x2192: [437,-64,500,58,417,'188 417Q188 437 221 437H233Q256 437 263 434T275 417Q294 373 327 333T402 270Q417 261 417 250Q417 241 410 236T382 217T341 182Q315 155 299 128T275 85T263 66Q259 64 231 64H219Q197 64 191 72T193 100Q202 124 215 147T239 185T257 210T267 223L269 225H174H116Q80 225 69 229T58 250T70 271T114 276Q121 276 140 276T174 275H269L267 277Q266 280 257 291T233 325T205 374Q188 408 188 417'], + + // LEFTWARDS ARROW WITH STROKE + 0x219A: [437,-60,1000,56,942,'942 250Q942 244 928 230H511L457 148Q440 124 420 93Q404 68 400 64T389 60Q381 60 375 66T368 81Q368 88 415 159L462 230H175L188 214Q210 188 235 145T264 85Q264 75 260 74T231 72L206 74L191 103Q169 142 164 150Q130 195 64 239Q56 244 56 250T64 261Q115 294 142 323T191 397L206 428H231Q255 428 259 426T264 414Q260 397 235 355T188 288L175 272L331 270Q488 270 491 272Q491 275 542 352T597 432Q602 437 609 437Q617 437 622 432T628 417T582 341L537 272L735 270H931Q942 257 942 250'], + + // RIGHTWARDS ARROW WITH STROKE + 0x219B: [437,-60,1000,54,942,'54 250Q54 258 66 270H277L488 272L542 350Q596 431 602 435Q604 437 609 437Q617 437 622 432T628 417T582 341L537 272L608 270H751L822 272L808 288Q786 313 761 355T733 414Q733 424 737 426T766 428H793L806 397Q829 354 864 314Q896 284 928 263Q942 257 942 250T928 237Q887 208 864 185Q829 147 806 103L793 74L766 72Q742 72 738 73T733 85Q735 102 756 137T797 198L817 225L822 230H511L457 148Q440 124 420 93Q404 68 400 64T389 60Q381 60 375 66T368 81Q368 88 415 159L462 230H264L66 232Q54 239 54 250'], + + // LEFTWARDS TWO HEADED ARROW + 0x219E: [417,-83,1000,56,944,'56 250Q103 277 142 322T199 417H221Q244 417 244 416Q244 414 237 397T208 344T158 278L151 270H276L285 277Q322 306 349 345T388 417H434Q434 413 424 392T393 338T349 279L340 270H634Q933 270 937 266L938 265Q944 259 944 250T938 235L937 234Q933 230 634 230H340L349 221Q372 196 393 163T424 108T434 83H388Q377 116 350 155T285 223L276 230H151L158 222Q186 191 207 156T236 104T244 84Q244 83 221 83H199Q181 133 142 178T56 250'], + + // RIGHTWARDS TWO HEADED ARROW + 0x21A0: [417,-83,1000,55,943,'943 250Q895 221 856 177T801 83H778Q755 83 755 84Q755 86 762 103T791 156T841 222L848 230H723L714 223Q677 194 650 155T611 83H565Q565 87 575 108T606 162T650 221L659 230H365Q66 230 62 234L61 235Q55 241 55 250T61 265L62 266Q66 270 365 270H659L650 279Q627 304 606 337T575 392T565 417H611Q622 384 649 345T714 277L723 270H848L841 278Q813 309 792 344T763 396T755 416Q755 417 778 417H801Q817 367 856 323T943 250'], + + // LEFTWARDS ARROW WITH TAIL + 0x21A2: [417,-83,1111,56,1031,'56 250Q103 277 142 322T199 417H221Q244 417 244 416Q244 414 237 397T208 344T158 278L151 270H873L882 277Q919 306 946 345T985 417H1031Q1031 413 1021 392T990 338T946 279L937 270V230L946 221Q969 196 990 163T1021 108T1031 83H985Q974 116 947 155T882 223L873 230H151L158 222Q186 191 207 156T236 104T244 84Q244 83 221 83H199Q181 133 142 178T56 250'], + + // RIGHTWARDS ARROW WITH TAIL + 0x21A3: [417,-83,1111,79,1054,'1054 250Q1006 221 967 177T912 83H889Q866 83 866 84Q866 86 873 103T902 156T952 222L959 230H237L228 223Q191 194 164 155T125 83H79Q79 87 89 108T120 162T164 221L173 230V270L164 279Q141 304 120 337T89 392T79 417H125Q136 384 163 345T228 277L237 270H959L952 278Q924 309 903 344T874 396T866 416Q866 417 889 417H912Q928 367 967 323T1054 250'], + + // LEFTWARDS ARROW WITH LOOP + 0x21AB: [576,41,1000,56,965,'56 250Q103 277 142 322T199 417H221Q244 417 244 416Q244 414 237 397T208 344T158 278L151 270H622V305Q622 356 624 388T635 460T661 521T709 559T785 575Q813 575 833 573T880 561T923 534T952 483T964 405Q964 374 959 350T942 307T918 276T884 255T847 242T804 235T760 231T713 230H662V-27Q654 -41 644 -41H642H640Q628 -41 622 -27V230H151L158 222Q186 191 207 156T236 104T244 84Q244 83 221 83H199Q181 133 142 178T56 250ZM924 403Q924 474 894 505T794 536Q758 536 734 526T696 500T675 453T665 395T662 319V270H699Q826 270 875 295T924 403'], + + // RIGHTWARDS ARROW WITH LOOP + 0x21AC: [575,41,1000,35,943,'35 405Q35 454 48 489T86 542T137 567T195 575Q229 575 251 571T301 554T345 510T370 429Q377 384 377 305V270H848L841 278Q813 309 792 344T763 396T755 416Q755 417 778 417H801Q817 367 856 323T943 250Q896 221 857 177T801 83H778Q755 83 755 84Q755 86 762 103T791 156T841 222L848 230H377V-27Q369 -41 359 -41H357Q342 -41 337 -25V230H286Q247 231 225 232T169 238T115 255T75 284T45 333T35 405ZM75 406Q75 322 123 296T300 270H337V319Q335 432 317 477T240 534Q232 535 197 535Q140 535 108 507T75 406'], + + // LEFT RIGHT WAVE ARROW + 0x21AD: [417,-83,1389,57,1331,'57 250Q159 311 200 417H246L242 407Q215 340 159 278L152 270H276L315 310Q354 349 358 351Q366 356 376 351Q378 350 455 273L530 196L606 273Q683 350 686 351Q694 354 703 351Q705 350 782 273L858 196L933 273Q1010 350 1012 351Q1022 356 1030 351Q1034 349 1073 310L1112 270H1236L1229 278Q1173 340 1146 407L1142 417H1188Q1233 306 1331 250Q1231 192 1188 83H1142L1146 93Q1173 160 1229 222L1236 230H1168Q1155 230 1139 230T1119 229Q1112 229 1108 229T1099 231T1092 233T1085 238T1078 245T1068 256T1056 269L1021 304L984 267Q948 230 910 191T867 149Q857 144 848 150Q844 151 770 227T694 304T618 228T540 150Q531 144 521 149Q517 152 479 191T404 267L367 304L332 269Q328 264 320 256T310 246T303 239T296 234T289 231T280 229T269 229Q265 229 249 229T220 230H152L159 222Q215 160 242 93L246 83H223L200 84L195 96Q152 190 57 250'], + + // LEFT RIGHT ARROW WITH STROKE + 0x21AE: [437,-60,1000,56,942,'491 272Q491 275 542 352T597 432Q602 437 609 437Q617 437 622 432T628 417T582 341L537 272L608 270H751L822 272L808 288Q786 313 761 355T733 414Q733 424 737 426T766 428H793L806 397Q829 354 864 314Q896 284 928 263Q942 257 942 250T928 237Q887 208 864 185Q829 147 806 103L793 74L766 72Q742 72 738 73T733 85Q735 102 756 137T797 198L817 225L822 230H511L457 148Q440 124 420 93Q404 68 400 64T389 60Q381 60 375 66T368 81Q368 88 415 159L462 230H175L188 214Q210 188 235 145T264 85Q264 75 260 74T231 72L206 74L191 103Q169 142 164 150Q130 195 64 239Q56 244 56 250T64 261Q115 294 142 323T191 397L206 428H231Q255 428 259 426T264 414Q260 397 235 355T188 288L175 272L331 270Q488 270 491 272'], + + // UPWARDS ARROW WITH TIP LEFTWARDS + 0x21B0: [722,0,500,56,444,'56 555Q74 567 79 570T107 592T141 625T170 667T198 722H221Q244 722 244 721Q244 718 236 699T207 647T161 587L151 576L291 575H292H293H294H296H297H298H299H300H301H302H304H305H306H307H308H309H310H311H312H314H315H316H317H318H319H320H321H322H323H324H325H327H328H329H330H331H332H333H334H335H336H337H338H339H340H341H342H343H345Q435 574 438 570L439 569L440 568Q444 564 444 287Q444 15 442 12Q436 0 424 0T406 12Q404 15 404 275V535H151L162 523Q187 495 207 462T236 410T244 389H198L193 402Q171 457 131 497T56 555'], + + // UPWARDS ARROW WITH TIP RIGHTWARDS + 0x21B1: [722,0,500,55,443,'301 722Q339 618 443 555L437 551Q431 547 422 541T401 526T377 504T352 477T327 443T306 402L301 389H255Q255 392 263 410T291 461T337 523L348 535H95V275Q95 15 93 12Q87 0 75 0T57 12Q55 15 55 287Q55 564 59 568L60 569Q64 573 76 573T208 575L348 576L338 587Q314 613 294 646T264 698T255 721Q255 722 278 722H301'], + + // ANTICLOCKWISE TOP SEMICIRCLE ARROW + 0x21B6: [461,1,1000,17,950,'361 210Q373 210 373 182V177Q373 155 370 151T348 139Q303 118 267 84T216 28T201 1Q197 -1 196 -1Q189 -1 184 8Q166 39 143 64T99 104T61 129T32 144T19 150Q17 152 17 179Q17 203 21 208Q28 210 39 206Q106 178 157 135L175 119V126Q179 130 179 155Q182 173 193 201Q228 305 312 374T510 459Q532 461 551 461H567Q678 461 784 386Q835 344 861 301Q902 245 926 173T950 32Q950 15 944 8Q930 -6 917 8Q910 12 910 43Q901 208 801 314T561 421Q453 421 359 359Q300 319 263 258T217 126L216 125Q216 124 216 123T217 122Q219 122 229 131T260 156T301 181Q314 189 336 199T361 210'], + + // CLOCKWISE TOP SEMICIRCLE ARROW + 0x21B7: [460,1,1000,46,982,'972 209Q980 209 981 204T982 179Q982 155 979 151T957 139Q915 121 878 86T815 8Q808 -1 803 -1Q801 -1 797 1Q797 6 783 28T732 84T650 139L628 150Q626 152 626 177Q626 201 630 206Q636 210 637 210Q650 210 697 181Q727 166 764 137L784 119L782 132Q767 239 689 318T499 417Q474 421 442 421Q343 421 261 369T130 219Q86 121 86 28Q86 15 79 8Q73 1 66 1T53 8Q46 15 46 30Q46 102 77 192T186 361Q274 443 386 459Q396 460 426 460Q515 460 588 431T703 361T773 271T812 187T822 132Q822 123 825 123Q936 209 972 209'], + + // ANTICLOCKWISE OPEN CIRCLE ARROW + 0x21BA: [650,83,778,56,722,'369 543T369 563T397 583Q408 583 440 579L454 577L464 581Q492 592 516 609T552 638T565 650Q604 638 607 637Q606 636 598 628T585 614T570 601T548 584T523 568L510 560L516 558Q522 555 527 553T541 546T559 536T580 523T603 506T626 485Q722 384 722 250Q722 106 622 12T387 -83Q253 -83 155 12T56 250Q56 357 110 433T235 545Q244 550 252 550Q270 550 270 531Q270 522 261 515T238 501T202 477T159 433Q95 352 95 250Q95 131 178 45T388 -42Q511 -42 596 43T682 250Q682 340 636 408T522 511Q495 526 488 526Q488 525 488 525T487 522T485 515L490 506Q505 481 516 451T531 404T535 384L532 385Q529 386 524 387T513 390L491 397L488 408Q472 483 413 542L399 543Q369 543 369 563'], + + // CLOCKWISE OPEN CIRCLE ARROW + 0x21BB: [650,83,778,56,721,'170 637L213 650Q270 597 313 581L323 577L337 579Q369 583 380 583Q408 583 408 563T380 543H378L364 542Q305 483 289 408L286 397L264 390Q259 389 254 388T245 385L242 384Q242 387 246 403T261 450T287 506L292 515Q291 519 291 521T290 524T289 526Q284 526 265 517T216 486T160 434T114 354T95 249Q95 132 178 45T388 -42Q513 -42 597 44T682 250Q682 337 638 404T532 506Q529 508 525 510T519 514T515 516T511 519T509 522T508 526T507 531Q507 550 525 550Q533 550 542 545Q569 532 596 511T653 454T702 366T721 250Q721 151 672 74T547 -43T388 -83Q254 -83 155 12T56 250Q56 385 151 485Q164 498 179 509T205 528T228 542T247 551T260 558L267 560L254 568Q215 590 170 637'], + + // UPWARDS HARPOON WITH BARB RIGHTWARDS + 0x21BE: [694,194,417,188,375,'188 258V694H208L215 682Q246 628 293 594T375 551V528Q375 505 374 505Q369 505 351 510T299 534T237 578L228 587V205Q228 -178 226 -182Q221 -194 208 -194T190 -182Q188 -178 188 258'], + + // UPWARDS HARPOON WITH BARB LEFTWARDS + 0x21BF: [694,194,417,41,228,'41 551Q76 559 123 592T201 682L208 694H228V258Q228 -178 226 -182Q221 -194 208 -194T190 -182Q188 -178 188 205V587L179 578Q151 552 117 534T65 511T42 505Q41 505 41 528V551'], + + // DOWNWARDS HARPOON WITH BARB RIGHTWARDS + 0x21C2: [694,194,417,188,375,'190 682Q195 694 208 694T226 683Q228 679 228 296V-87L237 -78Q265 -52 299 -34T351 -11T374 -5Q375 -5 375 -28V-51Q340 -60 293 -92T215 -182L208 -194H188V242Q188 678 190 682'], + + // DOWNWARDS HARPOON WITH BARB LEFTWARDS + 0x21C3: [694,194,417,41,228,'188 295V573Q188 657 189 672T200 692Q206 694 208 694Q221 694 226 683Q228 679 228 242V-194H208L201 -182Q170 -128 123 -94T41 -51V-28Q41 -5 42 -5Q47 -5 65 -10T117 -34T179 -78L188 -87V295'], + + // RIGHTWARDS ARROW OVER LEFTWARDS ARROW + 0x21C4: [667,0,1000,55,944,'943 500Q895 471 856 427T801 333H778Q755 333 755 334Q755 336 762 353T791 406T841 472L848 480H459Q70 480 67 482Q55 488 55 500T67 518Q70 520 459 520H848L841 528Q813 559 792 594T763 646T755 666Q755 667 778 667H801Q817 617 856 573T943 500ZM56 167Q102 194 141 238T198 333H221Q244 333 244 332Q221 265 161 198L151 187H539Q928 187 930 186Q944 182 944 167Q944 155 934 149Q930 147 541 147H151L160 137Q185 110 205 77T235 24T244 1Q244 0 221 0H199Q158 106 56 167'], + + // LEFTWARDS ARROW OVER RIGHTWARDS ARROW + 0x21C6: [667,0,1000,55,944,'56 500Q103 527 142 572T199 667H221Q244 667 244 666Q244 664 237 647T208 594T158 528L151 520H539Q928 520 932 518Q944 513 944 500T932 482Q928 480 539 480H151L158 472Q186 441 207 406T236 354T244 334Q244 333 221 333H199Q181 383 142 428T56 500ZM943 167Q835 101 801 0H778Q755 0 755 1T758 9T765 25T771 39Q800 94 839 137L848 147H458Q68 147 66 149Q55 154 55 167Q55 182 69 186Q71 187 460 187H848L838 198Q811 228 791 261T762 314L755 332Q755 333 778 333H801Q841 227 943 167'], + + // LEFTWARDS PAIRED ARROWS + 0x21C7: [583,83,1000,55,944,'930 437Q944 426 944 416T934 399Q930 397 540 397H150L159 387Q185 360 205 328T234 277T243 252Q243 237 217 191T159 113L150 103H540Q930 103 934 101Q944 94 944 84Q944 71 930 64L540 63H151Q180 34 203 -2T236 -61L244 -83H198Q178 -31 142 11T66 77L55 83L65 89Q157 145 197 246Q199 250 190 269Q150 359 65 411L55 417L66 423Q106 447 142 489T198 583H244Q202 488 151 437H930'], + + // UPWARDS PAIRED ARROWS + 0x21C8: [694,193,833,83,749,'83 551Q190 590 250 694Q251 689 263 671T307 621T380 567Q409 551 416 551Q422 551 447 563T511 608T577 684L582 694Q642 591 749 551V528Q749 505 748 505Q745 505 724 515T669 546T612 590L602 599V-181Q595 -193 585 -193H582H581Q568 -193 565 -183L563 -179L562 209V598L552 589Q517 556 473 531T414 506H412Q411 506 393 514T361 530T324 553T280 589L270 598V-179Q255 -192 250 -193H247Q237 -193 230 -181V599L220 590Q197 567 164 546T110 515T84 505Q83 505 83 528V551'], + + // RIGHTWARDS PAIRED ARROWS + 0x21C9: [583,83,1000,55,944,'55 416Q55 427 70 437H848Q819 466 796 502T764 561L755 583H801Q821 531 857 489T933 423L944 417L934 411Q843 355 802 254Q800 250 809 231Q849 141 934 89L944 83L933 77Q893 53 857 11T801 -83H755Q797 12 848 63H459L70 64Q55 70 55 84Q55 94 65 101Q69 103 459 103H849L840 113Q806 148 779 196T756 254Q756 255 760 264T770 286T786 315T809 351T840 387L849 397H459Q69 397 65 399Q55 406 55 416'], + + // DOWNWARDS PAIRED ARROWS + 0x21CA: [694,194,833,83,749,'230 681Q240 694 251 694Q260 693 270 680V-98L280 -89Q297 -73 314 -60T348 -38T374 -24T397 -13T412 -6H414Q428 -6 473 -32T552 -89L562 -98V291L563 680Q570 693 582 693Q593 694 602 681V-99L612 -90Q635 -68 668 -47T723 -15T748 -5Q749 -5 749 -28V-51Q642 -91 582 -194L577 -184Q551 -141 512 -108T447 -63T416 -51T385 -63T321 -108T255 -184L250 -194Q189 -89 83 -51V-28Q83 -5 84 -5Q88 -5 109 -15T164 -46T220 -90L230 -99V681'], + + // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + 0x21CB: [514,14,1000,55,944,'195 504L198 514H221Q244 514 244 512Q244 508 239 490T215 437T171 376L162 367H545Q928 367 932 365Q944 360 944 347T932 329Q928 327 492 327H55V347L67 354Q113 379 146 420T195 504ZM67 171Q70 173 507 173H944V153L932 146Q839 95 804 -4L801 -14H778Q755 -14 755 -12Q768 59 828 124L837 133H454Q71 133 67 135Q55 140 55 153Q55 165 67 171'], + + // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CC: [514,14,1000,55,944,'755 512Q755 514 778 514H801L804 503Q805 501 812 486T824 462T839 437T862 408T892 381T932 354L944 347V327H507Q70 327 67 329Q55 335 55 347T67 365Q70 367 454 367H837L828 376Q803 403 785 437T761 489T755 512ZM55 153V173H492Q928 173 932 171Q944 166 944 153T932 135Q928 133 545 133H162L171 124Q198 95 216 61T239 8L244 -12Q244 -14 221 -14H198L195 -4Q160 95 67 146L55 153'], + + // LEFTWARDS DOUBLE ARROW WITH STROKE + 0x21CD: [535,35,1000,54,942,'397 525Q410 525 414 524T418 516Q418 506 394 467T331 381L319 367H473L624 369L657 445Q674 487 684 507T699 531T709 534Q717 534 722 528T728 516Q728 510 695 434Q689 418 683 402T672 377T668 367H928Q942 355 942 347Q942 341 928 327H791Q651 327 651 325Q649 324 620 251T586 174Q586 172 757 172H928Q942 158 942 152Q942 143 928 132H568L537 54Q510 -9 503 -22T486 -35Q479 -35 473 -29T466 -17T495 61L526 132H319L331 118Q364 81 391 37T418 -17Q418 -23 415 -24T401 -26Q398 -26 397 -26L384 -24L377 -13Q344 49 301 97T218 170T143 210T84 233T55 245Q54 253 59 256T86 267Q281 327 377 512L384 525H397ZM606 325Q606 327 439 327H275Q258 312 179 265L148 249Q228 206 262 181L275 172H544L575 247L606 325'], + + // LEFT RIGHT DOUBLE ARROW WITH STROKE + 0x21CE: [534,37,1000,32,965,'395 -24T395 -19T417 57T440 132H255L266 116Q308 64 340 -6Q342 -17 337 -21Q335 -26 320 -26T302 -19Q302 -15 294 4T265 54T217 117T145 182T49 236Q30 243 33 254Q40 261 49 263Q98 283 142 315T214 379T263 442T293 493T302 519Q305 525 320 525T337 521Q342 516 340 505Q308 435 266 383L255 370L384 367H515Q561 522 569 530Q574 534 580 534Q587 534 594 528T602 516Q602 512 580 441T557 367H651L742 370L731 383Q689 435 657 505Q655 516 660 521Q662 525 677 525T695 519Q695 515 703 496T732 446T780 383T853 317T949 263Q967 258 964 245Q959 240 949 236Q897 215 852 182T779 116T731 52T703 3T695 -19Q692 -26 677 -26T660 -21Q655 -17 657 -6Q670 21 682 42T702 77T717 99T728 114T735 122T739 126T740 130T613 132H482L460 54Q440 -9 433 -23T415 -37Q408 -37 402 -31ZM502 325Q502 327 360 327H217L195 310Q173 291 120 256L111 250Q114 248 143 229T195 190L217 172H335L453 174L502 325ZM886 250Q885 251 865 263T831 286T802 310L780 327H544L535 299Q531 283 511 223L495 174L637 172H780L802 190Q843 225 877 243L886 250'], + + // RIGHTWARDS DOUBLE ARROW WITH STROKE + 0x21CF: [534,36,1000,55,943,'346 174Q348 176 378 249T411 325Q411 327 239 327H68Q55 342 55 347Q55 354 68 367H428L459 445Q487 509 494 521T510 534Q517 534 524 527T531 516Q531 515 502 438L471 367H677L666 381Q631 421 605 463T578 516Q578 522 582 523T599 525H615L619 512Q659 437 714 383T812 309T896 272T942 254Q943 246 938 243T911 232Q718 172 619 -13L615 -24L599 -26Q578 -26 578 -17Q578 -11 587 6T617 53T666 118L677 132H373L339 54Q323 12 313 -8T298 -32T288 -35Q280 -35 275 -29T269 -17Q269 -14 298 57T328 132H68Q55 145 55 152Q55 156 56 158T62 165T68 172H206Q346 172 346 174ZM848 249Q763 297 735 318L722 327H455L422 252L391 174Q391 172 557 172H722L735 181Q773 210 819 234L848 249'], + + // LEFTWARDS TRIPLE ARROW + 0x21DA: [611,111,1000,76,945,'944 54Q942 44 929 36H372Q372 34 377 26T395 -4T422 -58Q442 -109 442 -110T408 -111H374L370 -100Q282 124 87 243L76 250L87 257Q284 377 370 600L374 611H408Q442 611 442 610Q423 550 381 480Q380 478 379 475T376 471T374 468T372 465V464H929Q942 456 944 446Q944 442 943 439T941 434T938 430T935 428T931 426T928 424H344L336 414Q277 336 200 277L191 270H560Q929 270 933 268Q944 262 944 250Q944 237 933 232Q929 230 560 230H191L200 223Q279 162 336 86L344 76H928Q929 76 931 75T934 73T938 70T941 66T943 61T944 54'], + + // RIGHTWARDS TRIPLE ARROW + 0x21DB: [611,111,1000,55,923,'56 250Q56 260 68 270H808L799 277Q720 338 663 414L655 424H363Q71 424 68 426Q55 432 55 444T68 462Q71 464 349 464H627Q627 466 622 474T604 504T577 558Q557 609 557 610T591 611H626L629 600Q717 376 912 257L923 250L912 243Q715 123 629 -100L626 -111H591Q557 -111 557 -110Q576 -50 618 20Q619 22 620 25T623 29T625 32T626 35L627 36H349Q71 36 68 38Q55 44 55 56T68 74Q71 76 363 76H655L663 86Q722 164 799 223L808 230H438L68 231Q56 236 56 250'], + + // RIGHTWARDS SQUIGGLE ARROW + 0x21DD: [417,-83,1000,56,943,'76 230Q68 230 62 237T56 250Q56 257 63 264T91 291Q102 300 108 306L159 351Q168 356 177 351L218 316L303 239L353 195Q376 214 403 239L488 316L529 351Q538 356 546 351Q548 350 594 310L638 270H848L841 278Q813 309 792 344T763 396T755 416Q755 417 778 417H801Q817 367 856 323T943 250Q895 221 856 177T801 83H778Q755 83 755 84Q755 86 762 103T791 156T841 222L848 230H737Q625 230 622 232Q620 233 599 251T558 288L537 306Q537 305 451 228T362 149Q353 146 345 149Q341 150 255 227T169 306Q167 306 129 270Q123 265 115 257T102 245T93 237T84 232T76 230'], + + // LEFTWARDS DASHED ARROW + 0x21E0: [437,-64,1334,64,1251,'292 419Q292 400 261 347T211 275H306H364Q400 275 411 271T422 250T411 230T366 225H306H211Q214 222 232 197T271 136T292 82Q292 71 285 68T262 64H250H241Q221 64 216 67T205 83Q186 127 153 167T78 230Q64 238 64 250Q64 258 69 263T82 272T106 288T139 318Q162 342 177 365T198 402T209 425T223 436Q224 437 252 437H258Q292 437 292 419ZM501 237T501 250T515 270H819Q834 262 834 250T819 230H515Q501 237 501 250ZM918 237T918 250T932 270H1236Q1251 262 1251 250T1236 230H932Q918 237 918 250'], + + // RIGHTWARDS DASHED ARROW + 0x21E2: [437,-64,1334,84,1251,'84 237T84 250T98 270H402Q417 262 417 250T402 230H98Q84 237 84 250ZM501 237T501 250T515 270H819Q834 262 834 250T819 230H515Q501 237 501 250ZM1022 417Q1022 437 1055 437H1067Q1090 437 1097 434T1109 417Q1128 373 1161 333T1236 270Q1251 261 1251 250Q1251 241 1244 236T1216 217T1175 182Q1149 155 1133 128T1109 85T1097 66Q1093 64 1065 64H1053Q1031 64 1025 72T1027 100Q1036 124 1049 147T1073 185T1091 210T1101 223L1103 225H1008H950Q914 225 903 229T892 250T903 270T948 275H1008H1103L1101 277Q1100 280 1091 291T1067 325T1039 374Q1022 408 1022 417'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Arrows.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js new file mode 100644 index 00000000..e8243979 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/BoxDrawing.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // BOX DRAWINGS LIGHT DOWN AND RIGHT + 0x250C: [694,-306,500,55,444,'76 306Q62 306 59 319T55 386V500V596Q55 664 57 676T68 692Q71 694 250 694Q428 694 432 692Q444 685 444 674Q444 665 432 656Q428 654 261 654H95V487Q95 355 95 336T90 312Q84 306 76 306'], + + // BOX DRAWINGS LIGHT DOWN AND LEFT + 0x2510: [694,-306,500,55,445,'424 306Q418 306 413 310T406 318L404 321V654H238Q71 654 68 656Q55 662 55 674T68 692Q71 694 250 694H379Q432 694 438 688Q443 683 443 662T444 500T444 338T438 312Q432 306 424 306'], + + // BOX DRAWINGS LIGHT UP AND RIGHT + 0x2514: [366,22,500,55,444,'55 172V287Q55 341 58 353T76 366Q88 366 95 351V18H261Q428 18 432 16Q444 9 444 -2Q444 -11 432 -20Q428 -22 250 -22H120Q67 -22 61 -16Q56 -11 56 10T55 172'], + + // BOX DRAWINGS LIGHT UP AND LEFT + 0x2518: [366,22,500,55,444,'404 351Q410 366 424 366Q437 366 440 353T444 288V172V72Q444 8 443 -4T432 -20Q428 -22 250 -22Q71 -22 68 -20Q55 -14 55 -2T68 16Q71 18 238 18H404V351'], + + // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT + 0x2571: [694,195,889,0,860,'19 -195Q13 -195 7 -188T0 -176Q0 -169 18 -151L822 683Q835 694 840 694T852 688T860 674Q860 667 810 614T460 252Q57 -167 44 -179Q27 -195 19 -195'], + + // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT + 0x2572: [694,195,889,0,860,'0 675Q0 681 6 687T19 694Q27 694 44 678L460 247Q759 -62 809 -115T860 -175Q860 -183 852 -189T840 -195Q835 -195 822 -184L18 649Q0 667 0 675'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/BoxDrawing.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js new file mode 100644 index 00000000..7da40015 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // COMBINING CIRCUMFLEX ACCENT + 0x302: [845,-561,0,-2347,13,'-2332 561Q-2336 563 -2340 577T-2346 604L-2347 618Q-2347 625 -2340 628T-2310 635Q-2302 636 -2297 637Q-2270 641 -1712 745Q-1185 845 -1168 845Q-1166 845 -581 739L5 630Q13 630 13 618Q7 565 -1 561Q-4 561 -584 654Q-716 675 -867 699T-1092 736T-1166 748Q-1168 748 -1240 737T-1466 700T-1750 654Q-2330 561 -2332 561'], + + // COMBINING TILDE + 0x303: [899,-628,0,-2332,-3,'-1529 788Q-1616 788 -1727 772T-1936 732T-2120 685T-2258 645T-2315 628Q-2322 628 -2322 632Q-2325 637 -2329 668T-2331 704Q-2331 713 -2297 732Q-2278 739 -2091 795Q-1711 898 -1507 898Q-1440 898 -1386 895Q-1324 887 -1277 872T-1146 819Q-1047 776 -977 758T-806 739Q-719 739 -608 755T-399 795T-215 842T-77 882T-20 899Q-13 899 -13 895Q-10 890 -6 860T-4 824Q-4 818 -37 795Q-60 787 -244 732Q-523 657 -735 632Q-771 629 -841 629Q-944 629 -1013 644T-1189 708Q-1285 751 -1356 769T-1529 788'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js new file mode 100644 index 00000000..c535ae80 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Dingbats.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // CHECK MARK + 0x2713: [706,34,833,84,749,'84 231Q84 244 114 264T170 285Q176 285 183 274T224 205Q267 129 268 129Q271 141 279 163T318 250T389 378T502 523T662 673Q702 706 732 706H734Q749 706 749 695Q749 682 730 666T660 607T559 505Q387 299 328 29Q324 0 295 -17T245 -34H241Q234 -34 225 -21T185 46Q166 79 154 101Q84 223 84 231'], + + // MALTESE CROSS + 0x2720: [716,22,833,48,786,'195 702T195 706T201 716H632Q638 710 638 706T636 700T621 690Q436 581 427 374V357H430Q554 357 645 421Q682 447 711 483T755 542T770 567Q775 572 786 563V131Q777 125 774 125T762 139Q709 228 642 274T482 333Q452 337 430 337H427V320Q430 279 437 247T462 170T521 82T621 4Q630 -2 633 -4T637 -7T638 -12Q638 -16 632 -22H201Q195 -16 195 -12T197 -6T212 4Q397 113 406 320V337H403Q279 337 188 273Q151 247 122 211T78 152T63 127Q58 122 48 131V563Q54 569 59 569Q62 569 71 555Q124 466 191 420T351 361Q381 357 403 357H406V374Q403 415 396 447T371 525T312 613T212 690Q199 697 197 699'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Dingbats.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js new file mode 100644 index 00000000..c1d4ef11 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/EnclosedAlphanum.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // CIRCLED LATIN CAPITAL LETTER S + 0x24C8: [709,175,902,8,894,'451 -175Q328 -175 226 -115T66 47T8 267Q8 303 15 342T39 431T94 531T186 622Q239 663 307 686T424 709H440Q604 709 716 622Q757 592 788 555T838 482T869 414T886 350T892 301T894 267Q894 147 835 45T674 -116T451 -175ZM854 268Q854 375 802 467T657 614T450 670Q283 670 166 552T49 267Q49 99 167 -18T453 -136Q617 -136 735 -18T854 268ZM273 378Q273 430 309 474T409 527Q411 527 417 527T428 528Q498 528 549 484L567 505Q583 528 590 528H594Q600 528 606 522V350L600 344H586Q577 344 574 344T569 347T566 357Q542 491 432 491Q389 491 365 465T340 407Q340 391 344 378T358 356T377 340T400 328T421 321T443 316T459 313Q499 305 517 300T559 279T601 238Q629 195 629 148Q629 80 583 33T471 -14Q392 -14 330 30Q312 6 293 -13Q292 -14 285 -14Q279 -14 273 -8V77V138Q273 160 275 165T286 170H294H307Q313 164 313 158Q313 108 350 67T471 26Q512 26 537 54T562 119Q562 137 558 151T544 176T527 193T504 205T483 212T459 218T441 222Q391 232 368 241T318 273Q273 316 273 378'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/EnclosedAlphanum.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js new file mode 100644 index 00000000..a70afb7b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/GeneralPunctuation.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // REVERSED PRIME + 0x2035: [560,-43,275,12,244,'12 501Q12 527 31 542T63 558Q73 560 77 560Q114 560 128 528Q133 518 188 293T244 61Q244 56 223 50T195 43Q192 43 190 45T102 263T14 486Q12 496 12 501'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/GeneralPunctuation.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js new file mode 100644 index 00000000..0774cef4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js @@ -0,0 +1,53 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/GeometricShapes.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // BLACK SQUARE + 0x25A0: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71'], + + // WHITE SQUARE + 0x25A1: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM682 40V649H95V40H682'], + + // BLACK UP-POINTING TRIANGLE + 0x25B2: [575,20,722,84,637,'99 -20Q84 -11 84 0Q84 5 148 145T278 424L342 563Q347 575 360 575Q368 575 375 570Q376 569 441 430T571 148T637 0Q637 -11 622 -20H99'], + + // WHITE UP-POINTING TRIANGLE + 0x25B3: [575,20,722,84,637,'99 -20Q84 -11 84 0Q84 5 148 145T278 424L342 563Q347 575 360 575Q368 575 375 570Q376 569 441 430T571 148T637 0Q637 -11 622 -20H99ZM476 260L360 509L248 266Q137 24 135 22Q135 20 360 20Q586 20 586 21L476 260'], + + // BLACK RIGHT-POINTING TRIANGLE + 0x25B6: [540,41,778,83,694,'83 523Q83 524 85 527T92 535T103 539Q107 539 389 406T680 268Q694 260 694 249Q694 239 687 234Q685 232 395 95L107 -41H101Q90 -40 83 -26V523'], + + // BLACK DOWN-POINTING TRIANGLE + 0x25BC: [576,19,722,84,637,'84 556Q84 567 99 576H622Q637 567 637 556Q637 551 572 409T441 127T375 -14Q368 -19 360 -19H358Q349 -19 342 -7T296 92Q249 193 211 275Q84 550 84 556'], + + // WHITE DOWN-POINTING TRIANGLE + 0x25BD: [576,19,722,84,637,'84 556Q84 567 99 576H622Q637 567 637 556Q637 551 572 409T441 127T375 -14Q368 -19 360 -19H358Q349 -19 342 -7T296 92Q249 193 211 275Q84 550 84 556ZM586 534Q586 536 361 536Q135 536 135 535L358 52L361 47L473 290Q584 532 586 534'], + + // BLACK LEFT-POINTING TRIANGLE + 0x25C0: [539,41,778,83,694,'694 -26Q686 -40 676 -41H670L382 95Q92 232 90 234Q83 239 83 249Q83 262 96 267Q101 270 379 401T665 537Q671 539 674 539Q686 539 694 524V-26'], + + // LOZENGE + 0x25CA: [716,132,667,56,611,'318 709Q325 716 332 716Q340 716 344 713T474 511Q611 298 611 292Q611 285 526 152Q494 103 474 72Q347 -128 344 -130Q340 -132 333 -132T322 -130Q319 -128 257 -31T131 169T60 278Q56 285 56 292Q56 298 60 305Q73 326 194 516T318 709ZM567 290T567 291T451 475T333 658L100 293Q100 288 215 108L333 -74Q334 -74 450 108'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/GeometricShapes.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js new file mode 100644 index 00000000..9fb01f27 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/GreekAndCoptic.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // GREEK SMALL LETTER DIGAMMA + 0x3DD: [605,85,778,55,719,'477 261Q477 257 473 256T455 253T417 251T348 250H235L155 -77L146 -82Q137 -85 109 -85Q55 -85 55 -77L139 261Q224 596 226 598Q229 603 239 603Q240 603 254 603T290 603T341 604T405 605T477 605Q656 603 687 602T719 596Q719 589 692 588T513 585H319L282 427L242 272Q242 270 351 270Q388 270 410 270T444 269T460 267T469 265T477 261'], + + // GREEK KAPPA SYMBOL + 0x3F0: [434,6,667,37,734,'228 325Q170 322 156 316T127 309Q108 309 104 314Q99 319 99 322T108 341Q125 376 171 400T268 425H271Q302 425 319 396Q328 377 328 358Q328 332 324 314Q311 270 286 221Q274 194 274 192H275Q339 234 484 325T639 421Q669 434 691 434T723 425T734 406Q734 394 719 381Q715 376 644 330L575 287L566 267Q543 233 526 176Q520 160 515 143T508 115T506 105Q506 103 533 103Q585 103 607 110T641 118Q670 118 670 107Q670 100 661 85Q643 50 598 27T504 3Q465 3 450 36Q441 51 441 73Q441 84 444 96Q452 146 484 205L497 236L324 125Q143 12 135 10Q103 -6 77 -6Q61 -6 49 2T37 21Q37 36 49 46T124 96L195 141L204 156Q219 179 243 248T264 323Q264 325 228 325'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js new file mode 100644 index 00000000..3c379b89 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Latin1Supplement.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // YEN SIGN + 0xA5: [683,0,750,11,738,'515 0Q494 3 374 3Q256 3 235 0H224V46H257Q316 47 324 58Q327 62 327 137V213H133Q121 213 113 213T97 213T86 213T78 213T73 214T70 215T69 216T68 218T67 220Q64 225 66 231T73 240Q76 242 202 242H327V273L247 407H115Q81 407 75 408T67 414Q64 419 66 425T73 434Q76 436 153 436Q228 436 228 437Q227 440 173 530T115 623Q101 637 31 637H11V683H20Q66 681 153 681Q169 681 202 681T262 682L288 683H298V637H280Q230 636 230 621Q230 619 250 584Q255 576 264 561T286 526T305 494L340 437L403 436H467L513 514Q564 596 564 605Q564 608 560 616Q550 634 517 637H508V683H516Q531 680 633 680Q722 680 731 683H738V637H723Q644 632 617 595Q614 591 568 515T521 437T597 436T676 434Q681 432 683 426T682 414T671 409T589 407H503L422 273V242H547Q673 242 676 240Q681 238 683 232T682 220Q682 219 682 218T681 217T679 216T677 215T672 214T664 213T652 213T637 213T616 213H422V139V87Q422 64 425 58T441 49Q456 46 503 46H525V0H515ZM449 406Q449 407 403 407Q358 407 358 406L370 387Q381 368 392 350L404 331Q447 404 449 406'], + + // REGISTERED SIGN + 0xAE: [709,176,947,32,915,'915 266Q915 140 852 38T689 -120T474 -175Q312 -175 188 -71T38 190Q32 220 32 266V287Q32 345 57 416T129 545Q192 624 282 666T464 709Q513 709 522 708Q599 698 665 666T776 590T853 493T900 387T915 287V266ZM875 285Q875 339 853 399T789 517T676 616T519 668Q510 669 465 669Q380 669 299 630T155 514T77 336Q72 312 72 285V266V256Q72 123 163 11Q290 -135 474 -135Q614 -135 727 -46Q875 81 875 266V285ZM276 457Q275 458 274 460T272 463T270 465T267 467T264 469T258 471T252 472T243 473T232 474T218 474H204V514H335Q477 514 499 510Q560 502 610 467T661 375Q661 362 658 350T648 327T635 308T618 292T601 280T583 269T568 262T554 256L547 253Q548 252 556 247T570 237T586 223T602 202T614 174Q616 169 626 123T638 72Q652 23 683 23Q715 23 720 68Q721 78 724 81T740 84T756 82T760 70Q760 47 747 25T715 -7Q700 -14 673 -14Q672 -14 662 -14T643 -12T619 -7T593 2T568 16T547 37T534 67Q531 80 531 97Q531 103 531 116T532 136Q532 218 472 236Q466 238 413 239H360V148L361 58Q366 47 375 44T418 40H432V0H424Q409 3 318 3T212 0H204V40H218Q242 40 253 42T268 47T276 58V457ZM376 473Q365 471 363 464T360 430V366V276H416Q421 276 434 276T453 276T469 277T486 279T501 282T517 287T529 294T542 305Q561 324 561 375Q561 424 545 444T482 472Q478 473 427 474Q415 474 403 474T384 474L376 473'], + + // LATIN SMALL LETTER ETH + 0xF0: [749,21,556,42,509,'75 566V604Q75 624 79 629T102 635Q124 635 127 629T131 588L133 550L191 588L249 628L231 635Q176 654 124 657Q116 657 106 658L95 659Q94 661 94 687T95 715Q99 717 113 717Q195 717 282 679L309 668L331 681Q351 697 391 721Q428 748 435 748Q437 749 446 749Q470 749 473 746Q478 744 478 681V621Q466 615 456 615Q435 615 424 624L422 661V699L382 675L344 648Q353 639 366 630Q480 538 504 413Q509 393 509 333V313Q509 284 507 257T495 184T466 102T413 33T329 -16Q311 -21 275 -21Q226 -21 195 -10Q150 7 110 50T53 141Q42 179 42 227Q42 332 101 403T245 474Q282 474 314 461T359 436T380 415Q386 405 389 408Q389 426 378 475Q368 505 355 529T329 567T306 590T288 603L282 606L120 501Q116 500 102 500Q84 500 75 506V566ZM388 225Q388 376 309 410Q299 416 273 419Q216 419 191 390Q174 371 168 342T162 218Q162 112 184 79Q212 39 273 39Q312 39 342 62T380 121Q388 159 388 225'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Latin1Supplement.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js new file mode 100644 index 00000000..f2f39e91 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/LatinExtendedA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // LATIN SMALL LETTER H WITH STROKE + 0x127: [695,13,540,42,562,'182 599Q182 611 174 615T133 619Q118 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 295 644T282 597Q282 592 360 592H399Q430 592 445 587T460 563Q460 552 451 541L442 535H266L251 468Q247 453 243 436T236 409T233 399Q233 395 244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26L166 530Q166 534 161 534T129 535Q127 535 122 535T112 534Q74 534 74 562Q74 570 77 576T84 585T96 589T109 591T124 592T138 592L182 595V599'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js new file mode 100644 index 00000000..3a58a35f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/LetterlikeSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // stix-/hbar - Planck's over 2pi + 0x210F: [695,13,540,42,562,'150 475Q147 475 118 466T82 457Q73 457 64 467T54 487Q54 490 55 492Q63 506 64 506Q67 512 118 526Q162 541 169 546Q173 559 175 575Q181 596 181 604Q181 613 166 617Q164 617 153 618T135 619Q119 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 291 628L278 577L386 612Q466 635 476 635T492 627T499 607Q499 593 489 586Q485 583 373 546L262 512Q262 511 248 455T233 397T236 397T244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26Q42 45 98 257L151 475H150'], + + // INVERTED OHM SIGN + 0x2127: [685,22,722,44,675,'126 584Q119 584 110 539T97 493Q95 490 73 490Q44 490 44 501Q44 515 62 590Q75 672 82 679Q84 684 177 684Q193 684 214 684T241 685Q265 685 271 682T277 664V648Q271 572 229 434T186 231Q186 173 203 132T247 70T302 42T360 33Q391 33 419 42T474 72T517 133T533 231Q533 297 491 437T442 648Q442 675 446 679Q448 684 542 684Q635 684 637 681Q640 678 657 594T675 501Q675 490 646 490Q624 490 622 493Q620 493 609 538T593 584Q591 585 585 585T569 586T551 588H513Q514 586 518 573T538 531T582 453Q647 340 660 277Q663 259 663 232Q663 194 657 177Q652 151 629 112T560 39Q495 -5 424 -19Q403 -22 360 -22Q318 -22 297 -19Q239 -8 193 18T120 74T80 131T62 177Q56 194 56 229Q56 281 74 328T137 453Q160 491 174 518T193 555T201 575T206 588H168Q160 587 150 587T134 586T126 584'], + + // TURNED CAPITAL F + 0x2132: [695,1,556,55,497,'457 681Q471 695 477 695Q485 695 497 681V12L484 -1H68Q55 14 55 19T68 39H457V328H215L211 335Q198 346 211 359L217 368H457V681'], + + // BET SYMBOL + 0x2136: [763,21,667,-22,687,'56 706V726Q56 763 76 763Q83 763 87 759T98 741Q108 726 116 721L127 717L340 715Q547 712 564 709Q575 705 587 692Q599 680 605 663L609 650V137H676Q687 124 687 115Q687 110 678 100T622 43L558 -21H-9Q-22 -6 -22 -1T-13 14T42 72L107 137H569V339Q569 541 567 546Q558 555 554 557L545 563H329Q118 566 101 569Q90 573 78 586Q54 610 54 661Q54 670 56 706'], + + // GIMEL SYMBOL + 0x2137: [764,43,444,-22,421,'56 750Q68 764 76 764Q88 764 97 743T125 717Q131 715 240 715T358 713Q421 691 421 640Q421 608 399 588T358 566Q353 566 352 565T351 557L356 526Q356 488 379 346T402 97Q400 21 385 -12Q366 -43 351 -43Q335 -43 329 -10Q316 40 316 64Q316 67 315 67Q313 67 269 26L222 -21H-9Q-22 -7 -22 -1Q-22 4 -14 14T42 73L107 137H311V564H211H164Q115 564 93 573T60 615Q56 630 56 690V750'], + + // DALET SYMBOL + 0x2138: [764,43,667,54,640,'62 757Q69 764 75 764Q87 764 97 741Q102 731 105 728T117 721L129 715H349Q569 715 580 710Q618 701 635 670Q640 661 640 639Q640 609 622 590Q617 583 604 575T580 566H573V553Q575 547 576 531T582 469T600 353Q624 205 624 104Q624 46 617 17T591 -32Q581 -43 573 -43Q550 -43 540 44Q535 73 533 319V564H322Q117 566 100 570Q90 573 77 586Q54 609 54 663Q54 689 55 706Q55 738 56 745T62 757'], + + // TURNED SANS-SERIF CAPITAL G + 0x2141: [705,23,639,37,577,'239 665Q194 665 154 653T90 629T66 617Q59 617 53 623T46 637Q46 652 66 659Q129 695 197 701Q218 705 248 705Q293 705 335 693Q371 684 435 644Q543 562 573 417Q577 393 577 341Q577 290 573 266Q531 83 384 10Q346 -9 315 -16T234 -23H206Q202 -23 183 -23T152 -21T120 -18T88 -10T63 3T44 24L37 35V297L50 310H235Q248 297 248 290Q248 285 235 270H77V103Q77 88 77 80T77 63T78 50T80 43T82 38T85 35T89 32T95 30Q126 20 206 17Q289 17 330 30Q407 55 460 120T533 275Q538 305 538 342Q538 486 452 575T239 665'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js new file mode 100644 index 00000000..836ff282 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js @@ -0,0 +1,131 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'] = { + directory: 'AMS/Regular', + family: 'MathJax_AMS', + id: 'MJAMS', + Ranges: [ + [0x80,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2190,0x21FF,"Arrows"], + [0x2200,0x22FF,"MathOperators"], + [0x2300,0x23FF,"MiscTechnical"], + [0x2460,0x24FF,"EnclosedAlphanum"], + [0x2500,0x257F,"BoxDrawing"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x2700,0x27BF,"Dingbats"], + [0x2980,0x29FF,"MiscMathSymbolsB"], + [0x2A00,0x2AFF,"SuppMathOperators"], + [0xE000,0xF8FF,"PUA"] + ], + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LATIN CAPITAL LETTER A + 0x41: [701,1,722,17,703,'130 -1H63Q34 -1 26 2T17 17Q17 24 22 29T35 35Q49 35 64 44T88 66Q101 93 210 383Q331 693 335 697T346 701T357 697Q358 696 493 399Q621 104 633 83Q656 35 686 35Q693 35 698 30T703 17Q703 5 693 2T643 -1H541Q388 -1 386 1Q378 6 378 16Q378 24 383 29T397 35Q412 35 434 45T456 65Q456 93 428 170L419 197H197L195 179Q184 134 184 97Q184 82 186 71T190 55T198 45T205 39T214 36L219 35Q241 31 241 17Q241 5 233 2T196 -1H130ZM493 68Q493 51 481 35H619Q604 56 515 256Q486 321 468 361L348 637Q347 637 330 592T313 543Q313 538 358 436T448 219T493 68ZM404 235Q404 239 355 355T295 488L275 430Q241 348 208 232H306Q404 232 404 235ZM155 48Q151 55 148 88V117L135 86Q118 47 117 46L110 37L135 35H159Q157 41 155 48'], + + // LATIN CAPITAL LETTER B + 0x42: [683,1,667,11,620,'11 665Q11 672 22 683H213Q407 681 431 677Q582 649 582 515Q582 488 573 468Q554 413 484 372L474 366H475Q620 317 620 178Q620 115 568 69T420 6Q393 1 207 -1H22Q11 10 11 18Q11 35 51 35Q79 37 88 39T102 52Q107 70 107 341T102 630Q97 640 88 643T51 648H46Q11 648 11 665ZM142 341Q142 129 141 88T134 37Q133 36 133 35H240L233 48L229 61V623L233 635L240 648H133L138 639Q142 621 142 341ZM284 370Q365 378 391 411T417 508Q417 551 406 581T378 624T347 643T320 648Q298 648 278 635Q267 628 266 611T264 492V370H284ZM546 515Q546 551 531 577T494 617T454 635T422 641L411 643L420 630Q439 604 445 579T452 510V504Q452 481 451 467T441 430T415 383Q420 383 439 391T483 413T527 455T546 515ZM585 185Q585 221 570 249T534 294T490 320T453 334T436 337L435 336L440 330Q445 325 452 315T467 288T479 246T484 188Q484 145 474 110T454 62T442 48Q442 47 444 47Q450 47 470 54T517 75T564 119T585 185ZM449 184Q449 316 358 332Q355 332 335 333T302 335H264V199Q266 68 270 57Q275 50 289 43Q300 37 324 37Q449 37 449 184'], + + // LATIN CAPITAL LETTER C + 0x43: [702,19,722,39,684,'684 131Q684 125 672 109T633 71T573 29T489 -5T386 -19Q330 -19 276 -3T174 46T91 134T44 261Q39 283 39 341T44 421Q66 538 143 611T341 699Q344 699 364 700T395 701Q449 698 503 677T585 655Q603 655 611 662T620 678T625 694T639 702Q650 702 657 690V481L653 474Q640 467 628 472Q624 476 618 496T595 541Q562 587 507 625T390 663H381Q337 663 299 625Q212 547 212 336Q212 249 233 179Q274 30 405 30Q533 30 641 130Q658 147 666 147Q671 147 677 143T684 131ZM250 625Q264 643 261 643Q238 635 214 620T161 579T110 510T79 414Q74 384 74 341T79 268Q89 213 113 169T164 101T217 61T260 39L277 34Q270 41 264 48Q199 111 181 254Q178 281 178 344T181 434Q200 559 250 625ZM621 565V625Q617 623 613 623Q603 619 590 619H575L588 605Q608 583 610 579L621 565'], + + // LATIN CAPITAL LETTER D + 0x44: [683,1,722,16,688,'16 666Q16 675 28 683H193Q329 683 364 682T430 672Q534 650 600 585T686 423Q688 406 688 352Q688 274 673 226Q641 130 565 72T381 1Q368 -1 195 -1H28Q16 5 16 16Q16 35 53 35Q68 36 75 37T87 42T95 52Q98 61 98 341T95 630Q91 640 83 643T53 648Q16 648 16 666ZM237 646Q237 648 184 648H128Q128 647 133 632Q136 620 136 341Q136 64 133 50L128 35H237L230 48L226 61V343Q228 620 231 633Q232 636 237 646ZM264 61Q278 40 310 35Q363 35 401 55T461 112T496 193T513 295Q515 333 515 349Q515 411 504 459Q481 598 373 641Q351 648 321 648Q304 648 292 643T277 635T264 621V61ZM461 628Q462 627 471 616T489 594T509 559T529 509T544 441T550 352Q550 165 479 75L468 59Q474 61 484 65T522 87T573 128T618 195T650 290Q654 322 654 354Q654 418 638 464T581 552Q559 576 529 595T480 621L461 628'], + + // LATIN CAPITAL LETTER E + 0x45: [683,1,667,12,640,'12 666Q12 675 24 683H582Q590 680 593 672V588Q593 514 591 502T575 490Q567 490 563 495T555 517Q552 556 517 590Q486 623 445 634T340 648H282Q266 636 264 620T260 492V370H277Q329 375 358 391T404 439Q420 480 420 506Q420 529 436 529Q445 529 451 521Q455 517 455 361Q455 333 455 298T456 253Q456 217 453 207T437 197Q420 196 420 217Q420 240 406 270Q377 328 284 335H260V201Q261 174 261 134Q262 73 264 61T278 38Q281 36 282 35H331Q400 35 449 50Q571 93 602 179Q605 203 622 203Q629 203 634 197T640 183Q638 181 624 95T604 3L600 -1H24Q12 5 12 16Q12 35 51 35Q92 38 97 52Q102 60 102 341T97 632Q91 645 51 648Q12 648 12 666ZM137 341Q137 131 136 89T130 37Q129 36 129 35H235Q233 41 231 48L226 61V623L231 635L235 648H129Q132 641 133 638T135 603T137 517T137 341ZM557 603V648H504Q504 646 515 639Q527 634 542 619L557 603ZM420 317V397L406 383Q394 370 380 363L366 355Q373 350 382 346Q400 333 409 328L420 317ZM582 61L586 88Q585 88 582 83Q557 61 526 46L511 37L542 35H577Q577 36 578 39T580 49T582 61'], + + // LATIN CAPITAL LETTER F + 0x46: [683,1,611,12,584,'584 499Q569 490 566 490Q558 490 552 497T546 515Q546 535 533 559Q526 574 506 593T469 621Q415 648 326 648Q293 648 287 647T275 641Q264 630 263 617Q262 609 260 492V370L275 372Q323 376 350 392T393 441Q409 473 409 506Q409 529 427 529Q437 529 442 519Q444 511 444 362Q444 212 442 206Q436 197 426 197Q409 197 409 217Q409 265 375 299Q346 328 280 335H260V206Q260 70 262 63Q265 46 276 41T326 35Q362 35 366 28Q377 17 366 3L360 -1H24Q12 5 12 16Q12 35 51 35Q92 38 97 52Q102 60 102 341T97 632Q91 645 51 648Q12 648 12 666Q12 675 24 683H573Q576 678 584 670V499ZM137 341Q137 131 136 89T130 37Q129 36 129 35H182Q233 35 233 39Q226 54 225 92T224 346L226 623L231 635L235 648H129Q132 641 133 638T135 603T137 517T137 341ZM549 603V648H495L506 641Q531 621 533 619L549 603ZM409 317V395L400 386Q390 376 375 366L357 355L373 346Q394 331 397 328L409 317'], + + // LATIN CAPITAL LETTER G + 0x47: [702,19,778,39,749,'737 285Q749 277 749 268Q749 260 744 255T730 250Q695 250 677 217Q666 195 666 119Q666 52 664 50Q656 36 555 3Q483 -16 415 -19Q364 -19 348 -17Q226 -3 146 70T44 261Q39 283 39 341T44 421Q66 538 143 611T341 699Q344 699 364 700T395 701Q449 698 503 677T585 655Q603 655 611 662T620 678T625 694T639 702Q650 702 657 690V481L653 474Q640 467 628 472Q624 476 618 496T595 541Q562 587 507 625T390 663H381Q337 663 299 625Q213 547 213 337Q213 75 341 23Q357 19 397 19Q440 19 462 22T492 30T513 45V119Q513 184 506 203Q491 237 435 250Q421 250 415 257Q404 267 415 281L421 285H737ZM250 43Q250 45 243 55T225 87T203 139T185 224T177 343V361Q184 533 250 625Q264 643 261 643Q238 635 214 620T161 579T110 510T79 414Q74 384 74 341T79 268Q106 117 230 52L250 43ZM621 565V625Q617 623 613 623Q603 619 590 619H575L588 605Q608 583 610 579L621 565ZM655 250H517L524 241Q548 213 548 149V114V39Q549 39 562 44T592 55T615 63L630 70V134Q632 190 634 204T648 237Q655 245 655 250'], + + // LATIN CAPITAL LETTER H + 0x48: [683,1,778,14,762,'14 666Q14 675 26 683H344L351 679Q361 665 351 655Q344 648 317 648Q287 645 282 641Q270 637 269 623T266 497V370H511V497Q511 519 510 553Q509 615 507 626T496 641H495Q489 645 459 648Q420 648 420 665Q420 672 426 679L433 683H751Q762 676 762 666Q762 648 724 648Q684 645 677 632Q675 626 675 341Q675 57 677 52Q684 38 724 35Q762 35 762 16Q762 6 751 -1H433L426 3Q420 10 420 17Q420 35 459 35Q501 38 506 52Q511 64 511 190V323H266V190Q266 60 271 52Q276 38 317 35Q342 35 351 28Q360 17 351 3L344 -1H26Q14 5 14 16Q14 35 53 35Q94 38 99 52Q104 60 104 341T99 632Q93 645 53 648Q14 648 14 666ZM233 341V553Q233 635 239 648H131Q134 641 135 638T137 603T139 517T139 341Q139 131 138 89T132 37Q131 36 131 35H239Q233 47 233 129V341ZM639 341V489Q639 548 639 576T640 620T642 639T646 648H537L542 639Q546 625 546 341Q546 130 545 88T538 37Q537 36 537 35H646Q643 41 643 42T641 55T639 84T639 140V341'], + + // LATIN CAPITAL LETTER I + 0x49: [683,1,389,20,369,'20 666Q20 676 31 683H358Q369 676 369 666Q369 648 331 648Q288 645 282 632Q278 626 278 341Q278 57 282 50Q286 42 295 40T331 35Q369 35 369 16Q369 6 358 -1H31Q20 4 20 16Q20 35 58 35Q84 37 93 39T107 50Q113 60 113 341Q113 623 107 632Q101 645 58 648Q20 648 20 666ZM249 35Q246 40 246 41T244 54T242 83T242 139V341Q242 632 244 639L249 648H140Q146 634 147 596T149 341Q149 124 148 86T140 35H249'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,77,500,6,478,'79 103Q108 103 129 83T151 38Q151 9 130 -15Q116 -34 130 -37Q133 -39 157 -39Q208 -39 219 -8L226 3V305Q226 612 224 621Q220 636 211 641T166 647Q137 647 128 654Q119 665 128 679L135 683H466Q478 677 478 666Q478 647 439 647Q399 644 393 632Q388 620 388 347Q386 69 384 59Q364 -6 316 -39T184 -77H172Q102 -77 56 -48T6 30Q6 62 26 82T79 103ZM353 354Q353 556 354 596T361 645Q362 646 362 647H253Q257 639 258 628T261 547T262 312V-4L255 -17Q248 -29 250 -29Q253 -29 258 -28T277 -20T302 -5T327 22T348 65Q350 74 353 354ZM115 36Q115 47 105 57T79 67Q73 67 67 66T52 56T44 34Q44 9 62 -8Q66 -11 71 -15T81 -22T86 -24L90 -13Q100 3 102 5Q115 22 115 36'], + + // LATIN CAPITAL LETTER K + 0x4B: [683,1,778,22,768,'22 666Q22 676 33 683H351L358 679Q368 665 358 655Q351 648 324 648Q288 645 280 637Q275 631 274 605T273 477L275 343L382 446Q473 530 492 553T512 599Q512 617 502 631T475 648Q455 651 455 666Q455 677 465 680T510 683H593H720Q732 676 732 666Q732 659 727 654T713 648Q670 648 589 581Q567 562 490 489T413 415Q413 413 554 245T711 61Q737 35 751 35Q758 35 763 29T768 15Q768 6 758 -1H624Q491 -1 486 3Q480 10 480 17Q480 25 487 30T506 35Q518 36 520 38T520 48L400 195L302 310L286 297L273 283V170Q275 65 277 57Q280 41 300 38Q302 37 324 35Q349 35 358 28Q367 17 358 3L351 -1H33Q22 4 22 16Q22 35 60 35Q101 38 106 52Q111 60 111 341T106 632Q100 645 60 648Q22 648 22 666ZM240 341V553Q240 635 246 648H138Q141 641 142 638T144 603T146 517T146 341Q146 131 145 89T139 37Q138 36 138 35H246Q240 47 240 129V341ZM595 632L615 648H535L542 637Q542 636 544 625T549 610V595L562 606Q565 608 577 618T595 632ZM524 226L386 388Q386 389 378 382T358 361Q330 338 330 333Q330 332 330 332L331 330L533 90Q558 55 558 41V35H684L671 50Q667 54 524 226'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,1,667,12,640,'12 666Q12 675 24 683H333L340 679Q350 665 340 655Q333 648 309 648Q287 646 279 643T266 630Q264 623 264 346Q264 68 266 57Q274 40 284 35H340Q413 37 460 55Q514 78 553 117T602 197Q605 221 622 221Q629 221 634 215T640 201Q638 194 625 105T611 12Q611 6 600 -1H24Q12 5 12 16Q12 35 51 35Q92 38 97 52Q102 60 102 341T97 632Q91 645 51 648Q12 648 12 666ZM137 341Q137 131 136 89T130 37Q129 36 129 35H237Q235 41 233 48L229 61L226 339Q226 621 229 628Q230 630 231 636T233 643V648H129Q132 641 133 638T135 603T137 517T137 341ZM580 48Q580 59 583 74T586 97Q586 98 585 97T579 92T571 86Q549 64 513 43L500 35H577L580 48'], + + // LATIN CAPITAL LETTER M + 0x4D: [683,1,944,17,926,'18 666Q18 677 27 680T73 683H146Q261 683 266 679L465 215Q469 215 566 443Q663 676 668 681Q673 683 790 683H908L915 679Q924 664 915 655Q912 648 897 648Q851 639 835 606L833 346Q833 86 835 79Q838 69 849 58T873 41Q877 40 887 38T901 35Q926 35 926 16Q926 6 915 -1H604L597 3Q588 19 597 28Q600 35 615 35Q660 42 673 68L679 79V339Q679 409 679 443T679 520T679 580T677 597Q646 521 584 375T473 117T424 3Q416 -1 410 -1T401 1Q399 3 273 301L148 599L146 343Q146 86 148 79Q152 69 163 58T186 41Q190 40 200 38T215 35Q226 35 235 28Q244 17 235 3L228 -1H28Q17 4 17 17Q17 35 39 35Q84 42 97 68L104 79V639L88 641Q72 644 53 648Q34 648 26 651T18 666ZM457 166Q451 169 449 171T435 198T404 268T344 412L244 648H157L166 637Q169 633 293 346L413 66Q424 88 435 117L457 166ZM817 646Q817 648 766 648H715V72L708 57Q701 45 697 41L695 37Q695 35 757 35H819L813 46Q802 61 800 76Q797 105 797 346L799 612L804 626Q812 638 815 641L817 646ZM124 42Q119 42 119 38Q119 35 128 35Q132 35 132 36Q125 42 124 42'], + + // LATIN CAPITAL LETTER N + 0x4E: [683,20,722,20,702,'20 664Q20 666 31 683H142Q256 683 258 681Q259 680 279 653T342 572T422 468L582 259V425Q582 451 582 490T583 541Q583 611 573 628T522 648Q500 648 493 654Q484 665 493 679L500 683H691Q702 676 702 666Q702 657 698 652Q688 648 680 648Q633 648 627 612Q624 601 624 294V-8Q616 -20 607 -20Q601 -20 596 -15Q593 -13 371 270L156 548L153 319Q153 284 153 234T152 167Q152 103 156 78T172 44T213 34Q236 34 242 28Q253 17 242 3L236 -1H36Q24 6 24 16Q24 34 56 34Q58 35 69 36T86 40T100 50T109 72Q111 83 111 345V603L96 619Q72 643 44 648Q20 648 20 664ZM413 419L240 648H120L136 628Q137 626 361 341T587 54L589 68Q589 78 589 121V192L413 419'], + + // LATIN CAPITAL LETTER O + 0x4F: [701,19,778,34,742,'131 601Q180 652 249 676T387 701Q485 701 562 661Q628 629 671 575T731 448Q742 410 742 341T731 234Q707 140 646 81Q549 -19 389 -19Q228 -19 131 81Q57 155 37 274Q34 292 34 341Q34 392 37 410Q58 528 131 601ZM568 341Q568 613 437 659Q406 664 395 665Q329 665 286 625Q232 571 213 439Q210 408 210 341Q210 275 213 245Q232 111 286 57Q309 37 342 23Q357 19 389 19Q420 19 437 23Q469 38 491 57Q568 132 568 341ZM174 341Q174 403 177 441T197 535T249 639Q246 639 224 627T193 608Q189 606 183 601T169 589T155 577Q69 488 69 344Q69 133 231 52Q244 45 246 45Q248 45 246 48Q231 69 222 85T200 141T177 239Q174 269 174 341ZM708 341Q708 415 684 475T635 563T582 610Q578 612 565 619T546 630Q533 637 531 637Q530 637 530 636V635L531 634Q562 591 577 543Q602 471 602 341V316Q602 264 599 230T580 144T531 48L530 47V46Q530 45 531 45Q533 45 547 52T583 75T622 105Q708 195 708 341'], + + // LATIN CAPITAL LETTER P + 0x50: [683,1,611,16,597,'16 666Q16 675 28 683H195Q334 683 370 682T437 672Q511 657 554 611T597 495Q597 343 404 309Q402 308 401 308Q381 303 319 303H261V181Q261 157 262 120Q262 60 267 50T304 36Q310 35 313 35Q352 35 352 17Q352 10 346 3L339 -1H28Q16 5 16 16Q16 35 53 35Q68 36 75 37T87 42T95 52Q98 61 98 341T95 630Q91 640 83 643T53 648Q16 648 16 666ZM235 35Q228 46 227 84Q226 129 226 337V621L230 635L237 648H128Q128 647 133 632Q136 620 136 341Q136 64 133 50L128 35H235ZM301 341H313Q339 341 354 344T389 362T417 410T426 498Q426 586 401 616T322 647Q301 647 293 643Q271 637 264 621Q261 617 261 479V341H301ZM429 350Q431 350 443 353T476 367T515 391T548 432T562 490Q562 550 524 592Q507 607 484 619Q481 621 448 635L433 639L439 621Q462 578 462 506Q462 448 454 413T437 366T428 350H429'], + + // LATIN CAPITAL LETTER Q + 0x51: [701,181,778,34,742,'480 -10Q480 -13 486 -24T507 -50T541 -80T588 -104T648 -114Q666 -114 688 -110T714 -106Q724 -106 728 -114T729 -130Q723 -145 663 -163T548 -181Q503 -181 463 -169T395 -139T343 -97T307 -56T284 -19L280 -3L262 1Q188 24 131 81Q57 155 37 275Q34 292 34 342T37 410Q58 528 131 601Q179 652 248 676T388 701Q485 701 562 661Q698 595 731 448Q742 410 742 341T731 235Q707 141 646 81Q616 50 575 27T493 -5L480 -10ZM568 342Q568 613 437 659L395 666Q329 666 286 626Q232 570 213 439Q210 408 210 342T213 246Q231 113 286 57Q309 37 342 23Q357 19 389 19Q420 19 437 23Q469 38 491 57Q568 134 568 342ZM174 341V354Q174 393 175 419T183 484T205 561T246 635L249 639Q246 639 224 627T193 608Q189 606 183 601T169 589T155 577Q69 491 69 344Q69 133 231 52Q247 42 247 46Q247 46 246 48Q231 69 222 85T200 141T177 239Q174 269 174 341ZM708 341Q708 410 689 467T640 556T588 606T546 630Q532 638 531 638Q530 638 531 635Q563 590 577 543Q602 472 602 341V316Q602 264 599 230T580 144T531 48Q529 44 532 45T546 52Q575 68 596 84T642 128T683 200T706 299Q708 327 708 341ZM391 -17H333Q329 -15 326 -15Q324 -15 324 -17Q324 -21 362 -68Q424 -130 506 -143Q518 -144 544 -144Q569 -144 577 -143L589 -141L575 -139Q544 -127 509 -101T453 -37L442 -19L391 -17'], + + // LATIN CAPITAL LETTER R + 0x52: [683,1,722,16,705,'17 665Q17 672 28 683H221Q415 681 439 677Q461 673 481 667T516 654T544 639T566 623T584 607T597 592T607 578T614 565T618 554L621 548Q626 530 626 497Q626 447 613 419Q578 348 473 326L455 321Q462 310 473 292T517 226T578 141T637 72T686 35Q705 30 705 16Q705 7 693 -1H510Q503 6 404 159L306 310H268V183Q270 67 271 59Q274 42 291 38Q295 37 319 35Q344 35 353 28Q362 17 353 3L346 -1H28Q16 5 16 16Q16 35 55 35Q96 38 101 52Q106 60 106 341T101 632Q95 645 55 648Q17 648 17 665ZM241 35Q238 42 237 45T235 78T233 163T233 337V621L237 635L244 648H133Q136 641 137 638T139 603T141 517T141 341Q141 131 140 89T134 37Q133 36 133 35H241ZM457 496Q457 540 449 570T425 615T400 634T377 643Q374 643 339 648Q300 648 281 635Q271 628 270 610T268 481V346H284Q327 346 375 352Q421 364 439 392T457 496ZM492 537T492 496T488 427T478 389T469 371T464 361Q464 360 465 360Q469 360 497 370Q593 400 593 495Q593 592 477 630L457 637L461 626Q474 611 488 561Q492 537 492 496ZM464 243Q411 317 410 317Q404 317 401 315Q384 315 370 312H346L526 35H619L606 50Q553 109 464 243'], + + // LATIN CAPITAL LETTER S + 0x53: [702,12,556,28,528,'54 238Q72 238 72 212Q72 174 106 121Q113 110 132 90T166 59Q221 23 264 23Q315 23 348 41Q368 50 384 79Q393 102 393 129Q393 181 356 219T221 299Q120 343 74 390T28 501Q28 561 55 610Q98 682 212 699Q214 699 231 700T261 701Q309 698 340 687T408 675Q431 678 445 690T465 702Q474 702 481 690V497L477 490Q464 481 450 490Q446 500 446 501Q446 546 386 606T260 666Q215 666 182 639T148 565Q148 528 186 496T319 428Q352 414 370 405T418 379T468 338T506 284Q528 239 528 191Q528 102 456 46T266 -10Q211 -10 176 2T110 15Q86 9 73 -1T53 -12Q44 -12 37 -1V112V182Q37 214 40 226T54 238ZM446 619Q446 648 444 648Q439 646 435 644Q425 644 415 639H404L417 624Q435 606 439 601L446 592V619ZM124 619L128 635Q126 635 108 617Q64 576 64 502Q64 489 65 479T76 449T102 414T150 376T228 335Q335 291 381 245T427 128Q427 94 419 75L415 61Q421 61 448 88Q490 127 490 190Q490 233 475 264Q456 299 430 321Q402 349 369 367T287 404T204 441Q138 481 119 526Q113 544 113 565Q113 596 124 619ZM75 43Q76 43 90 46T110 50H119L106 64L74 101Q72 101 72 72T75 43'], + + // LATIN CAPITAL LETTER T + 0x54: [683,1,667,33,635,'33 672Q36 680 44 683H624Q632 680 635 672V490L631 483Q621 479 617 479Q611 479 606 485T600 499Q600 525 584 552Q577 567 558 588T524 617Q479 642 426 646L415 648V355Q415 62 422 52Q425 42 434 40T473 35Q500 35 509 28Q518 17 509 3L502 -1H166L160 3Q149 17 160 28Q167 35 195 35Q224 37 234 39T249 52Q253 66 253 355V648L242 646Q192 642 144 617Q129 609 110 588T84 552Q69 527 69 499Q69 490 64 484T50 478Q39 478 33 490V672ZM113 639L126 648H69V597L84 612Q93 623 113 639ZM389 35Q382 46 381 86Q380 134 380 350V648H289V350Q289 199 288 131T286 53T280 35H389ZM600 597V648H542L555 639Q575 623 584 612L600 597'], + + // LATIN CAPITAL LETTER U + 0x55: [683,19,722,16,709,'16 666Q16 677 28 683H341L348 679Q359 665 348 654Q342 648 315 648Q270 644 266 632Q262 627 262 598T261 399Q261 372 261 325T260 260Q260 149 274 99T339 30Q355 25 393 25Q430 25 457 33T494 49T519 72Q562 115 575 205Q576 219 576 379Q576 538 575 550Q568 597 550 622T506 648Q498 648 493 654T487 667T499 683H697Q709 675 709 667T704 654T690 648Q653 648 633 597Q624 573 622 546T619 377Q617 193 613 174Q596 95 544 41Q477 -19 355 -19H344Q275 -16 226 5T153 57T120 110T106 154Q101 172 99 399Q99 618 95 632Q88 644 53 648Q16 648 16 666ZM228 639L233 648H128Q128 647 133 632Q135 621 135 412Q135 197 137 185Q148 115 181 79Q209 51 235 41Q242 36 258 31T277 25Q276 27 268 38T254 59T241 92T228 145Q226 161 226 399Q226 632 228 639ZM604 621Q606 626 619 648H577L586 634Q587 632 591 625T595 614L597 608L604 621'], + + // LATIN CAPITAL LETTER V + 0x56: [683,20,722,0,719,'316 683Q327 676 327 666Q327 648 302 648Q272 642 258 628Q249 621 249 608Q252 589 263 556T289 485T322 406T357 325T388 256T411 205L420 185Q423 185 473 317Q547 497 547 590Q547 621 541 632T516 648Q501 648 498 654Q488 664 498 679L504 683H607H660Q695 683 707 680T719 667Q719 660 714 654T700 648Q678 648 658 628L642 614L513 301Q484 231 449 148T397 25T380 -15Q373 -20 368 -20Q361 -20 358 -15Q354 -13 287 135T149 438T67 610Q45 648 18 648Q11 648 6 653T0 666Q0 677 9 680T59 683H164H316ZM216 614Q216 620 216 622T216 628T216 633T217 635T218 638T219 640T221 644T224 648H84L96 632Q118 592 236 330L367 43L387 88L404 132L380 185Q250 468 222 568Q216 590 216 614ZM576 645Q584 628 584 597L587 568L598 597Q609 624 618 637L624 648H600Q576 648 576 645'], + + // LATIN CAPITAL LETTER W + 0x57: [683,19,1000,5,994,'785 664Q785 670 795 683H982Q994 675 994 665Q994 650 975 648Q953 643 939 619Q931 593 823 292T710 -15Q706 -19 699 -19T688 -15Q682 -6 639 107T555 328T513 437Q513 438 500 409T462 325T413 212Q315 -14 310 -17Q308 -19 302 -19T288 -15L57 619Q45 643 24 648Q5 650 5 665Q5 677 17 683H146H200Q256 683 270 681T285 666Q285 659 280 654T268 648Q253 648 239 634Q230 630 230 619Q230 598 264 481L362 192Q363 193 428 341T493 492Q493 496 473 546T446 608Q426 648 399 648Q392 648 387 653T382 667Q382 678 393 683H679Q690 670 690 665Q690 662 685 655T673 648Q653 648 633 632L622 625V610Q626 576 657 479T719 300T751 218Q754 218 779 294Q847 492 847 581Q847 648 802 648Q796 648 791 652T785 664ZM194 623Q194 630 199 648H82L90 632Q99 616 199 332L302 50Q303 50 322 94T342 141Q342 142 305 245T231 467T194 623ZM585 620Q585 634 593 648H530Q466 648 466 645Q479 632 595 323L699 54Q701 56 718 103T735 154L702 245Q585 562 585 620ZM884 572L890 587Q896 602 903 620T915 645Q915 648 893 648H868L875 634Q883 598 883 576Q883 572 884 572'], + + // LATIN CAPITAL LETTER X + 0x58: [683,1,722,16,705,'22 666Q22 677 31 680T80 683H184H335Q346 675 346 667Q346 660 341 655Q335 648 315 648Q280 644 273 637Q273 630 300 583T356 492T386 448Q430 504 450 535T474 577T478 601Q478 620 469 634T444 648Q428 648 428 666Q428 678 436 680T488 683H559H630Q673 683 681 681T690 666Q690 648 673 648Q652 648 619 637Q571 615 517 550Q490 517 450 464T410 408Q415 399 501 273T617 106Q648 61 661 48T688 35Q705 35 705 16Q705 5 695 -1H539Q384 -1 379 3Q373 10 373 17Q373 27 380 31T408 35Q459 40 459 49Q459 59 418 129T335 259Q334 260 332 260Q328 260 273 197Q210 127 208 117Q199 104 199 82Q199 57 213 46T239 35Q247 35 252 29T257 15Q257 10 256 7T253 3T248 0L246 -1H28Q16 7 16 15T21 29T35 35Q61 35 117 88Q289 279 304 297Q307 303 255 377Q117 586 79 626Q60 648 39 648Q32 648 27 653T22 666ZM237 639V648H173Q113 647 113 646Q113 642 137 612Q186 546 302 373T453 139Q497 63 497 43Q497 39 495 35H559Q622 35 622 37Q622 38 583 94T486 233T373 399T277 552T237 639ZM553 637L566 648H504L508 637Q510 630 515 615V603L528 615Q529 616 539 625T553 637ZM170 46Q169 49 167 58T164 70V83L137 59L113 35H175Q175 38 170 46'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,1,722,16,704,'16 659T16 667T28 683H295Q306 676 306 666Q306 648 284 648Q258 648 255 641Q255 634 265 615T339 479Q418 339 421 339L455 394Q489 448 523 502L557 557Q560 566 560 582Q560 637 504 648Q489 648 486 655Q475 664 486 679L493 683H693Q704 675 704 667Q704 650 684 648Q672 645 653 623Q633 604 614 576T517 426L439 301V183Q442 62 444 59Q449 35 504 35Q521 35 528 30Q538 16 528 3L521 -1H195L188 3Q178 16 188 30Q195 35 213 35Q266 35 273 59Q274 61 277 163V261L75 621Q64 638 58 643T37 648Q28 648 22 653ZM219 637V648H101Q110 634 215 446L313 270V166Q310 59 306 48L301 35H415L410 48Q404 65 404 175V290L317 443Q230 601 226 612Q219 625 219 637ZM608 630L624 648H575Q584 632 588 623L595 610L608 630'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,1,667,29,635,'39 -1Q29 9 29 12Q29 23 60 77T219 337L410 648H364Q261 648 210 628Q168 612 142 588T109 545T97 509T88 490Q85 489 80 489Q72 489 61 503L70 588Q72 607 75 628T79 662T81 675Q84 677 88 681Q90 683 341 683H592Q604 673 604 666Q604 662 412 348L221 37Q221 35 301 35Q406 35 446 48Q504 68 543 111T597 212Q602 239 617 239Q624 239 629 234T635 223Q635 215 621 113T604 8L597 1Q595 -1 317 -1H39ZM148 637L166 648H112V632Q111 629 110 622T108 612Q108 608 110 608T116 612T129 623T148 637ZM552 646Q552 648 504 648Q452 648 450 643Q448 639 266 343T77 37Q77 35 128 35H179L366 339L552 646ZM572 35Q581 89 581 97L561 77Q542 59 526 48L508 37L539 35H572'], + + // LATIN SMALL LETTER K + 0x6B: [683,1,556,17,534,'519 443Q519 426 497 426Q458 422 361 335Q328 308 315 295Q307 289 310 286T383 193T466 88Q507 35 517 35Q534 35 534 16Q534 5 524 -1H304L297 3Q288 19 297 28Q300 35 317 35Q320 36 324 36T330 37T333 39Q334 39 334 40Q334 47 304 86T244 162L215 199Q212 202 206 199Q201 195 201 137V121Q201 35 230 35Q238 35 243 29T248 15Q248 4 237 -1H28L21 3Q17 13 17 17Q17 24 22 29T35 35Q55 35 61 70Q63 78 63 341T61 612Q55 648 35 648Q27 648 22 654T17 668Q17 678 26 682Q27 683 28 683H108H147Q156 683 162 683T174 683T182 683T187 682T191 681T194 680T197 678T201 675V461L204 246L244 281Q254 291 272 307Q317 349 326 360T339 386Q340 390 340 398Q340 426 321 426Q314 426 309 431T304 445Q304 456 315 461H508Q519 448 519 443ZM166 359V648H126Q89 648 89 645Q89 644 89 644T90 643T91 640T93 634T95 626Q99 612 99 341T95 57Q94 53 93 49T91 43T90 39L89 37Q89 35 133 35Q176 35 176 37Q175 38 175 39Q175 42 170 57Q166 70 166 359ZM410 423Q412 425 407 426Q404 426 393 426Q373 426 373 423Q374 422 375 417T377 410Q377 399 379 399Q406 419 410 423ZM460 37Q460 41 368 152L281 263Q280 263 259 246L239 228Q298 157 355 79Q370 61 370 41V35H417Q460 35 460 37'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js new file mode 100644 index 00000000..53f4890b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js @@ -0,0 +1,359 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MathOperators.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // COMPLEMENT + 0x2201: [846,22,500,56,444,'404 269Q412 269 418 267T428 261T435 253T441 245L444 240V172Q444 103 443 96Q440 81 431 65T403 27T344 -7T250 -21T156 -8T97 27T69 65T58 96Q56 103 56 413Q56 722 58 729Q74 822 215 845Q221 846 229 846H243Q282 846 290 845Q422 826 443 729Q444 722 444 653V586L442 583Q441 580 440 578T436 573T430 567T423 562T415 558T404 556Q377 556 367 583Q364 590 364 654V719Q363 721 360 726T355 733Q326 766 250 766H249Q235 766 219 765T174 752T137 719V107Q145 83 178 71T251 58H254Q340 58 364 107V172Q364 176 364 187T363 204Q363 269 404 269'], + + // THERE DOES NOT EXIST + 0x2204: [860,166,556,55,497,'55 676Q55 688 66 694H199L333 696L351 772Q364 827 370 843T386 860Q393 860 399 854T406 841Q406 836 391 765L375 696Q375 694 431 694H484Q491 688 497 681V12L493 5L486 1L353 -1H219L202 -79Q184 -153 180 -159Q175 -166 165 -166Q146 -166 146 -148Q146 -141 161 -76T177 -4Q177 -1 122 -1H68Q55 12 55 20T66 39H126L186 41L219 181Q226 215 234 251T246 305T251 325Q251 328 166 328H79Q68 345 68 347Q68 352 75 359L82 368H262L291 505Q298 539 306 575T319 630T324 650V654H68Q55 669 55 676ZM457 368V654H411Q366 654 366 652Q365 651 361 634T349 580T333 514Q303 373 302 372V368H457ZM457 39V328H375Q293 328 293 325Q292 322 260 183T228 41T344 39H457'], + + // EMPTY SET + 0x2205: [587,3,778,55,720,'624 470Q624 468 639 446T668 382T683 291Q683 181 612 99T437 -1Q425 -2 387 -2T337 -1Q245 18 193 70L179 81L131 39Q96 8 89 3T75 -3Q55 -3 55 17Q55 24 61 30T111 73Q154 113 151 113Q151 114 140 130T115 177T95 241Q94 253 94 291T95 341Q112 431 173 495Q265 587 385 587Q410 587 437 581Q522 571 582 513L595 501L642 541Q689 586 695 586Q696 586 697 586T699 587Q706 587 713 583T720 568Q720 560 711 551T664 510Q651 499 642 490T628 475T624 470ZM564 477Q517 522 448 539Q428 546 375 546Q290 546 229 492T144 370Q133 332 133 279Q136 228 151 195Q157 179 168 160T184 141Q186 141 375 307T564 477ZM642 290Q642 318 637 343T625 386T611 416T598 436T593 444Q590 444 402 277T213 108Q213 104 231 89T293 55T392 37Q495 37 568 111T642 290'], + + // SMALL CONTAINS AS MEMBER + 0x220D: [440,1,429,102,456,'154 -1Q122 -1 112 3T102 26Q102 63 158 63H178Q192 64 206 65T228 66T240 68Q301 85 324 146L329 157H244Q158 157 153 161Q149 162 145 169T140 183Q140 201 158 215L167 221H256L344 223L349 237Q352 262 352 287Q352 308 351 315Q341 352 315 368T256 385Q231 385 206 376T166 356T149 346Q143 346 138 364T132 388Q132 396 147 406Q198 440 252 440Q291 440 318 435Q421 404 451 301Q456 288 456 248V234Q456 151 391 86Q330 25 240 3Q212 -1 154 -1'], + + // MINUS SIGN + 0x2212: [270,-230,500,84,417,'84 237T84 250T98 270H402Q417 262 417 250T402 230H98Q84 237 84 250'], + + // DOT PLUS + 0x2214: [766,93,778,57,722,'339 717Q339 739 354 752T388 766Q410 766 424 751T439 716T424 681T390 666Q369 666 354 681T339 717ZM57 237T57 250T71 270H369V425L370 581Q380 594 389 594Q402 594 409 579V270H707Q722 262 722 250T707 230H409V-79Q401 -93 391 -93H389H387Q375 -93 369 -79V230H71Q57 237 57 250'], + + // SET MINUS + 0x2216: [430,23,778,91,685,'91 404T91 410T97 423T111 430Q117 430 395 224Q676 13 678 10Q685 3 685 -3T678 -16T664 -23Q658 -23 380 184T98 397Q91 404 91 410'], + + // PROPORTIONAL TO + 0x221D: [472,-28,778,56,722,'56 250Q56 346 122 409T276 472Q349 472 407 430T486 326L489 316Q490 317 493 326T501 345T514 367T531 393Q557 425 602 448T698 472Q722 472 722 452Q722 437 702 435T642 421T571 377Q520 323 520 250Q520 179 568 126T693 68Q722 66 722 48Q722 28 698 28Q636 28 576 67T493 174L490 184Q489 181 483 167T475 150T468 136T458 120T447 107T432 90T412 73Q350 28 277 28Q188 28 122 91T56 250ZM199 68T278 68T408 122T459 250Q459 322 414 370T308 430Q302 431 273 431Q204 431 150 380T96 250Q96 176 147 122'], + + // ANGLE + 0x2220: [694,0,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q67 43 346 361Q397 420 474 508Q595 648 616 671T647 694T661 688T666 674Q666 668 663 663Q662 662 627 622T524 503T390 350L120 41L386 40H653Q666 30 666 20Q666 8 651 0H71'], + + // MEASURED ANGLE + 0x2221: [714,20,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q64 38 348 373T638 712Q644 714 646 714Q653 714 659 709T666 694V693Q666 687 633 647Q619 631 576 580Q528 524 495 485Q336 296 329 289Q328 288 348 264T395 182T433 54L434 40H651Q666 32 666 20T651 0H436Q431 -20 416 -20Q400 -20 396 -4V0H71ZM394 40Q394 51 389 76T366 149T319 234L302 256L119 41L256 40H394'], + + // SPHERICAL ANGLE + 0x2222: [551,51,722,55,666,'666 -32Q666 -51 646 -51Q639 -51 365 85L75 228Q55 238 55 250Q55 257 59 262T68 268L72 270L611 536Q642 551 647 551T659 547T666 532Q666 521 657 515L525 449Q525 448 535 424T556 352T566 250T556 148T536 77T525 51L657 -15Q666 -21 666 -32ZM526 250Q526 297 517 342T499 409T488 431Q487 431 304 341T121 250T304 159T488 69Q526 143 526 250'], + + // DIVIDES + 0x2223: [430,23,222,91,131,'91 417Q104 430 111 430T131 417V-10Q116 -23 111 -23T91 -10V417'], + + // DOES NOT DIVIDE + 0x2224: [750,252,278,-20,296,'118 737Q131 750 138 750L151 746L158 739V579L160 421L213 470Q269 519 276 519Q284 519 290 513T296 499V498Q296 493 291 488T244 445Q225 428 213 417L158 368V-239Q143 -252 136 -252L124 -248L120 -241L118 44V328L62 279Q4 231 0 230Q-8 230 -14 236T-20 250Q-20 257 -11 265T62 332L118 384V737'], + + // PARALLEL TO + 0x2225: [431,23,389,55,331,'55 417Q69 431 76 431T95 419V-12Q84 -23 76 -23Q72 -23 69 -22T62 -16T55 -10V417ZM293 419Q300 431 310 431L324 424L331 417V-10Q316 -23 309 -23L297 -19L293 -12V419'], + + // NOT PARALLEL TO + 0x2226: [751,250,500,-20,518,'131 737Q134 739 138 743T144 748T151 750T171 737V199L327 357V737Q340 750 347 750Q351 750 353 749T360 743T367 737V397L429 457Q493 518 498 519Q506 519 512 512T518 500Q518 489 442 417L367 339V-237Q352 -250 346 -250L333 -243L327 -237V301L171 143V-237Q156 -250 151 -250T131 -237V101L69 41Q24 -3 15 -12T0 -21Q-8 -21 -14 -14T-20 -2Q-20 5 -7 19T56 81L131 159V737'], + + // THEREFORE + 0x2234: [471,82,667,24,643,'273 411Q273 437 291 454T334 471Q358 471 375 454T393 411T376 368T333 351Q307 351 290 368T273 411ZM84 38Q110 38 126 21T143 -22Q143 -46 127 -64T83 -82Q57 -82 41 -65T24 -22Q24 4 41 21T84 38ZM524 -22Q524 4 541 21T584 38Q608 38 625 21T643 -22Q643 -45 627 -63T583 -82Q557 -82 541 -65T524 -22'], + + // BECAUSE + 0x2235: [471,82,667,23,644,'23 411Q23 437 41 454T84 471Q108 471 125 454T143 411T126 368T83 351Q57 351 40 368T23 411ZM523 411Q523 437 541 454T584 471Q608 471 625 454T643 411T626 368T583 351Q557 351 540 368T523 411ZM274 -22Q274 4 291 21T334 38Q356 38 374 22T392 -22T375 -65T333 -82Q307 -82 291 -65T274 -22'], + + // TILDE OPERATOR + 0x223C: [365,-132,778,55,719,'73 132Q55 132 55 172Q55 220 79 272Q95 301 111 319Q148 353 195 363Q199 364 212 364Q262 364 294 350T408 272Q472 222 522 212Q537 208 555 208Q606 208 646 243Q671 268 680 296T691 342T702 365Q713 365 716 354T719 314Q714 236 664 179L660 176Q657 173 654 170T644 163T631 154T615 146T596 139T574 134T549 132Q510 132 465 156T386 211T307 265T223 290Q162 290 124 249T86 165Q86 155 82 144T73 132'], + + // REVERSED TILDE + 0x223D: [367,-133,778,56,722,'222 133Q147 133 102 197T56 335Q56 362 66 365Q71 369 77 364Q83 356 84 335T90 298Q102 254 137 222T223 189Q258 189 292 206T355 250T413 301T477 346T550 367Q628 367 673 309T722 171Q722 133 708 133Q703 133 699 141T694 162Q694 220 655 265T555 311Q519 311 485 293T421 248T363 196T298 152T222 133'], + + // stix-not, vert, similar + 0x2241: [467,-32,778,55,719,'220 366Q258 366 297 347T361 308T391 288Q394 288 464 370Q494 407 510 425T535 454T546 465T552 467H553Q560 467 566 461T573 448Q573 439 499 350Q424 266 424 261Q424 259 442 247T492 222T554 209Q607 209 646 243Q671 268 680 295T690 341T702 366Q719 366 719 314Q716 265 695 226Q682 199 664 179Q614 132 555 132Q517 132 477 151T412 190T383 210T347 172T278 89T233 37Q228 32 220 32Q210 32 206 38T201 48Q201 57 266 137Q272 144 275 148Q351 231 351 237Q351 239 333 251T283 276T221 289Q159 289 123 248T86 166Q86 156 82 145T73 132Q55 132 55 172Q55 220 79 272Q95 301 111 319Q161 366 220 366'], + + // MINUS TILDE + 0x2242: [463,-34,778,55,720,'55 439T55 443T56 449T62 456T68 463H706Q720 449 720 443T706 423H68Q55 439 55 443ZM56 72Q56 112 73 152T130 225T224 257Q259 257 294 240T360 199T419 149T484 107T553 90Q603 90 643 125T691 223Q693 257 704 257Q717 257 717 221Q717 147 671 91T554 34Q517 34 481 51T414 93T355 142T291 184T222 201Q172 201 131 167T84 67Q81 34 71 34Q56 37 56 72'], + + // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO + 0x2246: [652,155,778,54,720,'55 417Q55 479 101 528T222 578Q259 578 294 564T393 507Q413 493 434 480T469 460T484 454L537 549Q587 639 595 647Q600 652 607 652Q615 652 621 647T628 634Q628 625 575 536Q524 446 524 443Q527 440 555 440Q603 440 644 469T691 547Q694 578 706 578T718 556Q718 555 718 551T717 545Q717 488 684 445T595 387Q582 384 558 384Q530 384 508 389L493 394L404 238L557 236H708Q720 224 720 217T706 196H379L291 43L499 41H708Q720 29 720 21T706 1H268L226 -71Q186 -143 179 -148Q173 -155 165 -155T152 -150T146 -137Q146 -133 184 -64L222 1H144L66 3L59 7Q54 14 54 20Q54 29 66 41H246L333 194Q333 196 202 196H68Q55 211 55 218T66 236H213L357 238L457 409L437 421Q432 423 393 450T307 500T222 523Q171 523 129 491T84 414Q82 383 70 383Q55 383 55 417'], + + // ALMOST EQUAL TO + 0x2248: [481,-49,778,55,719,'55 326Q55 394 101 437T226 481Q268 479 313 460T392 419T469 379T555 361Q622 361 662 401Q686 423 688 450Q693 479 702 479H705Q719 479 719 442Q719 367 670 327T554 286Q512 286 466 304T386 345T307 385T220 404Q184 404 157 394T120 374L111 363Q86 339 86 317Q86 288 71 288Q55 288 55 326ZM55 90Q55 164 105 205T226 246Q269 243 314 224T392 183T470 144T558 126Q622 126 662 166Q686 187 688 214Q693 244 704 244Q716 244 719 210Q719 165 702 132T658 82T605 58T552 50T498 58T447 77T384 110Q322 146 302 152Q263 168 220 168Q179 168 144 152Q128 147 107 125T86 81Q86 52 71 52Q55 52 55 90'], + + // ALMOST EQUAL OR EQUAL TO + 0x224A: [579,39,778,51,725,'220 523Q163 523 124 486T84 412Q81 383 69 383Q56 383 56 413Q56 441 67 470Q78 508 111 537T187 575Q203 579 219 579Q248 579 271 572Q304 565 393 508Q498 439 551 439Q620 439 662 486Q688 512 693 557Q693 565 697 572T707 579Q719 579 719 548Q719 483 673 434T550 384Q512 384 467 405T386 453T305 501T220 523ZM222 288Q164 288 124 251T84 177Q81 148 69 148Q56 148 56 178Q56 206 67 235Q78 274 111 302T187 339Q198 343 220 343Q244 343 259 341T308 322T393 272Q496 203 553 203Q612 203 651 241T691 312Q693 343 705 343Q719 343 719 313Q719 245 673 199Q626 148 552 148Q513 148 467 170T385 218T304 266T222 288ZM51 -19Q51 -6 62 -1H387Q713 -1 715 -3Q725 -10 725 -20Q725 -27 718 -34Q714 -38 672 -38T387 -39H62Q51 -25 51 -19'], + + // GEOMETRICALLY EQUIVALENT TO + 0x224E: [492,-8,778,56,723,'245 367Q251 415 288 453T392 492Q445 492 485 456T532 367H707Q722 359 722 347Q722 334 711 331T665 327H608H509Q500 332 498 336Q496 338 493 363T472 411Q443 451 389 451H387Q335 451 305 411Q290 392 287 374T282 344T268 327H72Q56 332 56 347Q56 360 70 367H245ZM56 153Q56 168 72 173H268Q277 168 279 164Q281 162 284 137T305 89Q334 49 389 49H391Q442 49 472 89Q487 108 490 126T495 156T509 173H608H666Q701 173 711 170T722 153T707 133H532Q526 81 486 45T389 8Q331 8 291 45T245 133H70Q56 140 56 153'], + + // DIFFERENCE BETWEEN + 0x224F: [492,-133,778,56,722,'245 367Q251 415 288 453T392 492Q445 492 485 456T532 367H707Q722 359 722 347Q722 334 711 331T665 327H608H509Q500 332 498 336Q496 338 493 363T472 411Q443 451 389 451H387Q335 451 305 411Q290 392 287 374T282 344T268 327H72Q56 332 56 347Q56 360 70 367H245ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], + + // GEOMETRICALLY EQUAL TO + 0x2251: [609,108,778,56,722,'421 474T389 474T339 493T321 541Q321 566 337 587T391 609Q456 602 456 541Q456 512 439 493ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM421 -108T389 -108T339 -89T321 -41Q321 -16 337 5T391 27Q456 20 456 -41Q456 -70 439 -89'], + + // APPROXIMATELY EQUAL TO OR THE IMAGE OF + 0x2252: [601,101,778,15,762,'15 541Q15 569 33 585T75 601T117 585T135 541Q135 514 118 498T75 481T32 498T15 541ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM642 -41Q642 -17 658 0T702 18Q726 18 744 3T762 -41Q762 -67 745 -84T702 -101Q676 -101 659 -85T642 -41'], + + // IMAGE OF OR APPROXIMATELY EQUAL TO + 0x2253: [601,102,778,14,762,'642 541Q642 569 660 585T702 601T744 585T762 541Q762 515 745 498T702 481Q676 481 659 497T642 541ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM14 -41Q14 -15 31 1T74 18Q101 18 118 0T135 -41Q135 -64 118 -83T75 -102Q51 -102 33 -85T14 -41'], + + // RING IN EQUAL TO + 0x2256: [367,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 334 711 331T658 327H586H465L472 318Q496 288 496 250T472 182L465 173H586H663Q700 173 711 170T722 153T707 133H70Q56 140 56 153Q56 168 72 173H312L305 182Q281 212 281 250T305 318L312 327H72Q56 332 56 347ZM473 250Q473 265 472 273T460 297T428 327H349Q328 313 318 298T306 273T304 250Q304 235 305 227T317 203T349 173H428Q449 187 459 202T471 227T473 250'], + + // RING EQUAL TO + 0x2257: [721,-133,778,56,722,'279 612Q279 656 310 688T388 721Q433 721 465 689T498 612Q498 573 470 538T389 503Q336 503 308 538T279 612ZM458 614Q458 637 452 651T433 672T411 679T383 680T352 675T333 664T324 647T321 629T320 611Q320 593 321 584T332 562T359 545Q366 543 389 543H391Q406 543 414 544T435 552T452 573T458 614ZM56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], + + // DELTA EQUAL TO + 0x225C: [859,-133,778,56,723,'192 482H190Q187 483 185 484T181 488T177 493T175 501Q175 506 178 512Q184 523 278 687T375 853Q379 857 383 857Q385 857 387 858T390 859Q397 859 403 853Q405 851 499 687T600 512Q603 506 603 501Q603 488 587 482H192ZM548 523L389 798Q388 798 309 661T230 523T389 522T548 523ZM56 347Q56 360 70 367H708Q723 359 723 347Q723 336 709 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H709Q723 163 723 153Q723 140 708 133H70Q56 140 56 153'], + + // LESS-THAN OVER EQUAL TO + 0x2266: [753,175,778,83,694,'674 753Q682 753 688 747T694 732T687 718Q686 717 417 589L151 463L399 345Q687 209 691 204Q694 198 694 193Q694 175 676 173H670L382 309Q92 446 90 448Q83 453 83 465Q84 476 96 482Q104 486 382 617T665 751Q669 753 674 753ZM84 39Q84 49 99 59H678Q694 53 694 39Q694 26 679 19H98Q84 26 84 39ZM83 -157Q83 -153 84 -150T86 -145T89 -141T92 -139T96 -137T99 -135H678Q694 -146 694 -155Q694 -168 679 -175H98Q84 -168 83 -157'], + + // GREATER-THAN OVER EQUAL TO + 0x2267: [753,175,778,82,694,'83 733Q83 741 89 747T99 753Q107 753 253 685T543 548T687 478Q694 473 694 463T687 448Q685 446 395 309L107 173H101Q83 175 83 193Q83 194 83 196Q82 203 98 212Q117 222 248 284Q326 321 378 345L626 463L360 589Q291 622 200 665Q112 706 98 714T83 733ZM84 39Q84 49 99 59H678Q694 53 694 39Q694 26 679 19H98Q84 26 84 39ZM83 -157Q83 -153 84 -150T86 -145T89 -141T92 -139T96 -137T99 -135H678Q694 -146 694 -155Q694 -168 679 -175H98Q84 -168 83 -157'], + + // stix-less, vert, not double equals + 0x2268: [752,286,778,82,694,'86 472Q93 477 381 614T673 752Q680 752 686 746T693 732T689 721Q686 715 418 590L151 461L418 332Q684 207 689 201Q693 195 693 190Q693 183 687 177T675 170Q668 170 380 307T86 450Q82 454 82 461Q82 467 86 472ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], + + // stix-gt, vert, not double equals + 0x2269: [752,286,778,82,693,'89 745Q95 752 100 752Q106 752 394 615T689 472Q693 468 693 461T689 450Q684 445 396 308T100 170Q95 170 89 176T82 190Q82 195 86 201Q91 208 358 332L624 461L358 590Q90 715 86 721Q82 725 82 731Q82 739 89 745ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], + + // BETWEEN + 0x226C: [751,251,500,74,425,'104 730Q104 749 123 749Q130 749 138 745Q186 717 237 671L250 659L261 670Q297 703 332 726T375 750T389 744T395 730Q395 721 390 717T364 699T322 668Q290 641 283 632Q280 628 281 627T293 612Q425 454 425 250Q425 144 388 51T293 -112Q282 -125 281 -126T283 -132Q306 -162 379 -209Q395 -219 395 -230Q395 -238 389 -244T375 -250T335 -228T262 -171L250 -159L238 -170Q202 -203 167 -226T124 -250T110 -244T104 -230Q104 -219 121 -209Q199 -156 216 -132Q219 -128 218 -127T206 -112Q74 46 74 250T206 612Q217 625 218 626T216 632Q199 656 121 709Q104 719 104 730ZM249 -94Q364 61 364 250Q364 430 265 574Q253 590 249 594L242 583Q134 439 134 250Q134 114 192 -1Q212 -44 242 -83L249 -94'], + + // stix-not, vert, less-than + 0x226E: [709,209,778,82,693,'693 -14T693 -20T687 -33T675 -41Q667 -41 506 37L344 112Q342 112 262 -46Q184 -196 176 -205Q172 -209 168 -209T162 -208Q155 -208 151 -203T146 -190Q146 -178 171 -137Q193 -91 251 21L306 132L198 183Q142 208 118 220T88 238T82 249Q82 253 86 261Q92 267 278 357L464 443L529 572Q561 637 577 667T597 703T607 708Q615 708 622 702T629 688Q629 680 575 579L524 474Q524 473 545 482T598 508Q666 541 673 541T686 535T693 521Q693 512 679 504T589 459L493 414L360 150Q366 148 378 142T431 116T529 70Q686 -8 689 -10Q693 -14 693 -20ZM380 277L433 383Q432 385 292 319T151 250T237 209T324 170L380 277'], + + // stix-not, vert, greater-than + 0x226F: [708,209,778,82,693,'82 514T82 520T89 533T100 541Q106 541 271 463Q434 386 435 386L515 543Q593 699 600 706Q604 708 607 708Q615 708 622 702T629 688T549 526Q509 445 491 407T473 368Q522 343 580 317Q636 291 660 278T688 261T693 250V249Q693 241 681 234T580 184Q533 161 502 146Q317 59 315 59Q312 56 246 -74Q197 -170 186 -189T168 -209Q164 -209 162 -208Q155 -208 151 -203T146 -190Q146 -187 200 -79L253 28L218 11Q182 -6 144 -23T100 -41Q95 -41 89 -35T82 -21Q82 -12 96 -4T186 41L284 88L349 217Q377 273 395 311T413 350Q413 351 253 428Q101 498 86 510Q82 514 82 520ZM624 250Q461 330 455 330Q454 331 453 329T448 321T441 308T430 287T416 259T398 223L342 114L624 250'], + + // stix-not, vert, less-than-or-equal + 0x2270: [801,303,778,81,694,'82 -124Q82 -120 83 -117T89 -110T95 -103H220L284 50Q346 204 344 206L218 268Q153 297 123 313T87 333T82 344T86 355Q104 369 291 455Q491 552 491 553L542 673Q581 767 590 784T609 801Q616 801 622 795T629 781Q629 773 586 677Q546 581 546 577L609 606Q669 635 673 635Q680 635 686 629T693 615Q693 610 692 608T670 593T604 561L524 521L400 226L542 157Q617 123 649 107T687 85T694 72Q694 66 690 60T679 54Q664 54 526 121Q513 127 495 136T464 150T438 162T416 173T399 180T388 185L384 186Q383 186 322 41L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H146L93 -141Q82 -134 82 -124ZM418 370L466 495Q464 495 308 420T151 344T204 317T311 267T364 244Q364 247 418 370'], + + // stix-not, vert, greater-than-or-equal + 0x2271: [801,303,778,82,694,'97 54Q82 54 82 72Q82 79 86 84Q95 91 222 153L351 215L398 324L442 433L258 519Q95 597 87 604Q82 608 82 615T88 628T102 635Q107 635 424 484L458 468L524 630Q593 789 597 795Q601 801 609 801Q616 801 622 795T629 781L562 615L493 450L589 406Q665 371 679 362T694 344Q694 339 693 337T677 326T631 302T538 257Q504 241 465 223T406 195T386 186Q384 185 322 39L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H146L93 -141Q82 -134 82 -124Q82 -120 83 -117T89 -110T95 -103H220L273 26Q326 156 326 157L218 106Q109 54 97 54ZM553 379Q480 412 480 415Q479 415 460 372T423 285T406 241Q408 240 516 291T624 344L553 379'], + + // stix-less-than or (contour) similar + 0x2272: [732,228,778,56,722,'674 732Q682 732 688 726T694 711T687 697Q686 696 417 568L151 442L399 324Q687 188 691 183Q694 177 694 172Q694 154 676 152H670L382 288Q92 425 90 427Q83 432 83 444Q84 455 96 461Q104 465 382 596T665 730Q669 732 674 732ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], + + // stix-greater-than or (contour) similar + 0x2273: [732,228,778,56,722,'90 697Q83 704 83 712T88 726T99 732Q107 732 253 664T543 527T687 457Q694 452 694 442T687 427Q685 425 395 288L107 152H101Q83 154 83 172Q83 173 83 175Q82 182 98 191Q117 201 248 263Q326 300 378 324L626 442L360 568Q91 696 90 697ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], + + // LESS-THAN OR GREATER-THAN + 0x2276: [681,253,778,44,734,'734 181Q734 173 728 167T714 161Q711 161 386 280T54 404Q44 408 44 421Q44 432 52 437Q66 443 388 562T714 681Q721 681 727 675T734 661Q734 651 722 645Q711 639 462 546Q441 539 420 531L122 421L420 311L723 198Q734 192 734 181ZM44 247Q44 255 50 261T63 267Q66 267 391 148T723 24Q734 18 734 7T723 -10Q716 -14 391 -133T63 -253Q56 -253 50 -247T44 -233Q44 -223 55 -217Q67 -210 317 -118Q337 -110 357 -103L655 7L357 117L54 230Q44 236 44 247'], + + // GREATER-THAN OR LESS-THAN + 0x2277: [681,253,778,83,694,'83 661Q83 668 88 674T104 681Q111 679 396 560Q686 437 687 436Q694 431 694 421T687 406Q686 405 543 344T253 222T101 161Q83 163 83 180Q83 194 95 199Q96 199 130 213T232 257T361 311L621 421L357 532Q307 553 233 584Q121 631 102 640T83 661ZM673 267Q694 267 694 248Q694 237 687 232Q684 229 420 118L156 7L416 -103L683 -215Q694 -222 694 -233Q694 -251 676 -253Q670 -253 524 -192T235 -70T90 -8Q83 -1 83 7Q83 19 94 24Q97 25 378 144T667 266Q669 267 673 267'], + + // PRECEDES OR EQUAL TO + 0x227C: [580,153,778,83,694,'112 270Q83 270 83 290Q83 301 94 307Q98 310 118 310Q516 310 620 464Q635 486 642 510T651 548T657 571T675 580Q693 577 693 559V552Q684 472 628 410T465 314Q436 303 372 290Q373 290 388 287T425 278T465 266Q674 199 693 28L694 17Q688 5 683 3Q677 0 673 0Q656 0 653 24Q623 270 118 270H112ZM110 116Q83 116 83 136T110 156H113Q134 156 160 155T231 146T318 128T407 95T489 44T550 -30T583 -131Q583 -153 563 -153Q556 -153 553 -152T547 -145T542 -127Q531 -54 478 0Q425 53 333 83T123 116H110'], + + // SUCCEEDS OR EQUAL TO + 0x227D: [580,154,778,83,694,'668 310Q694 310 694 290Q694 285 691 279Q684 271 664 270Q550 268 464 257T301 220T179 146T124 27Q119 0 103 0T83 16Q83 21 83 31T92 68T113 121T157 177T229 231Q295 268 405 290Q404 290 389 293T352 302T312 314Q138 371 96 500Q83 541 83 562Q83 568 89 574T103 580Q115 580 120 570T126 542T138 497T173 442Q289 310 659 310H668ZM194 -131Q201 -60 241 -6T343 82T477 133T628 155Q632 155 644 155T661 156Q685 155 690 147Q694 143 694 136Q694 132 693 129T689 124T685 120T681 117L656 116Q596 114 543 106T436 79T342 35T272 -33T235 -127Q231 -154 212 -154Q203 -153 199 -147T194 -136V-131'], + + // PRECEDES OR EQUIVALENT TO + 0x227E: [732,228,778,56,722,'84 442Q84 455 91 459T117 463Q120 463 126 463T137 462Q388 466 512 526T653 705Q657 732 676 732Q685 731 689 725T694 714V708Q689 662 672 624T626 559T569 513T500 479T435 458T373 442Q379 441 404 435T440 426T477 414T533 392Q592 362 630 319T681 241T694 174Q694 153 674 153Q662 153 657 163T652 188T640 231T606 287Q500 416 137 422H114Q104 422 98 423T88 428T84 442ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], + + // SUCCEEDS OR EQUIVALENT TO + 0x227F: [732,228,778,56,722,'84 710Q84 732 102 732Q115 732 119 722T125 696T137 652T171 597Q277 468 640 462H661Q694 462 694 442T661 422H640Q578 421 526 417T415 403T309 376T222 333T156 268T124 179Q122 162 118 158T103 153Q100 153 98 153T95 154T93 155T90 158T85 163Q83 167 83 176Q88 222 105 260T151 325T208 371T277 405T342 426T404 442Q401 443 380 447T345 456T302 469T245 492Q125 551 92 661Q84 695 84 710ZM56 -194Q56 -107 106 -51T222 6Q260 6 296 -12T362 -56T420 -108T483 -153T554 -171Q616 -171 654 -128T694 -29Q696 6 708 6Q722 6 722 -26Q722 -102 676 -164T557 -227Q518 -227 481 -209T415 -165T358 -113T294 -69T223 -51Q163 -51 125 -93T83 -196Q81 -228 69 -228Q56 -228 56 -202V-194'], + + // DOES NOT PRECEDE + 0x2280: [705,208,778,82,693,'386 292Q388 292 439 393T543 598T598 703Q599 703 603 704T609 705Q616 705 622 699T629 685T533 494Q440 308 440 305Q451 310 462 312Q547 342 592 388T651 505Q654 525 658 532T673 539Q680 539 686 533T693 519Q693 495 678 450Q638 341 500 283Q433 259 418 259Q416 259 411 251T406 241T415 239Q482 224 544 190Q674 121 691 -10Q693 -28 691 -32Q684 -43 672 -43Q664 -43 658 -37Q656 -33 650 -6T634 47T589 109T500 168Q473 179 436 190T388 201H386L284 -1Q261 -45 232 -101T191 -181T178 -206Q176 -206 172 -207T166 -208Q160 -208 153 -202T146 -188Q146 -185 246 12Q344 206 344 210Q344 213 305 217T213 225T124 228H95Q82 241 82 248Q82 253 95 268H124Q172 268 236 273T343 283T386 292'], + + // stix-not (vert) succeeds + 0x2281: [705,208,778,82,693,'103 -43Q96 -43 89 -39T82 -26L84 -10Q105 141 275 212Q342 236 355 236Q360 236 364 245L369 256H360Q284 280 275 283Q115 351 86 490Q82 507 82 517Q82 526 88 532T103 538Q110 538 115 534Q119 531 122 517T128 486T143 444T174 397T231 351T320 310Q371 292 389 292L491 496Q595 701 598 703Q599 703 603 704T609 705Q616 705 622 699T629 685Q629 684 531 485Q431 296 431 288Q431 278 520 273T651 268H680Q693 253 693 248Q693 241 680 228H651Q591 228 491 218T386 201L284 -1Q261 -45 232 -101T191 -181T178 -206Q176 -206 172 -207T166 -208Q160 -208 153 -202T146 -188Q146 -182 302 125L335 190L324 185Q313 185 289 172Q241 153 208 128T159 78T135 31T124 -11T118 -37Q112 -43 103 -43'], + + // stix-/nsubseteq N: not (vert) subset, equals + 0x2288: [801,303,778,83,693,'146 -283Q146 -282 174 -213T202 -143H115Q102 -127 102 -123T115 -103H220L291 68L278 73Q203 101 153 157T86 288Q83 309 83 344Q83 380 86 399Q107 480 160 539Q222 601 298 621Q328 630 345 631T435 635L526 637L560 715Q587 778 593 789T609 801Q616 801 622 795T629 781Q629 780 625 771T614 742T600 706L571 637Q571 635 626 635H680Q693 620 693 613T689 601L682 597L618 595H553L449 346Q425 288 399 223T359 127T346 95H356Q365 95 381 95T417 94T463 93T515 93H682Q693 82 693 74T680 53H511Q420 55 335 55L329 57L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283ZM509 590Q509 595 438 595Q354 595 318 586Q246 567 195 516T126 395Q123 378 123 344T126 293Q141 229 184 181T291 110L306 104L406 346L509 590'], + + // stix-/nsupseteq N: not (vert) superset, equals + 0x2289: [801,303,778,82,691,'82 606T82 613T95 635H251H348Q408 635 435 632T502 615L515 608L520 617Q520 619 558 708Q584 774 591 787T609 801Q616 801 622 795T629 781Q629 775 562 615L551 590L569 577Q646 527 678 437Q691 398 691 344T678 250Q653 182 597 132T469 64Q427 53 366 53H326L295 -25L262 -103H660Q673 -118 673 -124Q673 -129 669 -136L662 -141L453 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H95Q82 -128 82 -123T95 -103H220L251 -25L284 53H189L93 55L86 59Q82 64 82 71T95 93H302L400 333Q498 569 498 573L444 590Q431 593 260 595L93 597L86 601Q82 606 82 613ZM652 344V354Q652 451 575 521Q571 526 557 538T537 551Q534 551 533 548Q533 543 438 319L344 95L371 93H386Q487 93 557 150T649 293Q652 309 652 344'], + + // stix-subset, not equals, variant + 0x228A: [635,241,778,84,693,'693 72Q693 68 692 66T686 59T680 52H524Q398 52 367 53T309 63Q236 82 180 132T98 250Q84 288 84 343Q84 397 98 437Q126 515 193 568T346 632Q347 632 373 633T440 634T520 635H680Q693 620 693 615Q693 608 680 595H526Q364 595 353 592Q279 582 221 539T138 430Q124 392 124 343Q124 296 138 257Q163 192 221 149T353 95Q364 92 526 92H680Q693 79 693 72ZM102 -132T102 -125T115 -103H382L420 -68Q429 -60 438 -52T452 -39T463 -28T472 -20T478 -14T483 -10T487 -7T490 -6T493 -5T496 -5Q502 -5 508 -12T515 -28Q515 -34 513 -37Q512 -38 507 -42T492 -55T475 -70L440 -101L562 -103H682Q693 -114 693 -122T680 -143H395L355 -179Q289 -241 280 -241Q273 -241 267 -235T260 -221T265 -208T300 -174L335 -143H224L113 -141L106 -137Q102 -132 102 -125'], + + // stix-superset, not equals, variant + 0x228B: [635,241,778,82,691,'82 615Q82 620 95 635H251Q378 635 409 634T469 623Q540 605 596 555T678 437Q691 397 691 343T678 250Q649 172 581 119T426 55Q415 52 251 52H95Q93 55 89 59T84 65T82 72Q82 79 95 92H249Q411 92 422 95Q496 105 554 148T638 257Q651 296 651 343Q651 391 638 430Q613 495 555 538T422 592Q411 595 249 595H95Q82 608 82 615ZM82 -132T82 -125T95 -103H380L420 -57Q452 -21 460 -14T474 -6Q482 -6 488 -12T495 -25T451 -81L433 -101L549 -103H662Q673 -114 673 -122T660 -143H395L355 -190Q311 -239 309 -239Q305 -241 302 -241Q294 -241 287 -235T280 -221T324 -163L342 -143H218L93 -141L86 -137Q82 -132 82 -125'], + + // SQUARE IMAGE OF + 0x228F: [539,41,778,83,694,'83 523Q87 535 99 539H679Q694 531 694 519Q694 506 679 499H123V-1H678Q694 -7 694 -21Q694 -34 679 -41H98Q93 -38 84 -28L83 247V523'], + + // SQUARE ORIGINAL OF + 0x2290: [539,41,778,64,714,'64 506T64 519T78 539H699Q706 536 714 526V-28Q706 -38 699 -41H78Q64 -34 64 -21Q64 -6 80 -1H674V499H78Q64 506 64 519'], + + // CIRCLED RING OPERATOR + 0x229A: [583,82,778,57,721,'57 250Q57 327 87 392T166 497T270 560T382 582H394Q512 582 610 500Q721 401 721 250Q721 112 626 15T389 -82Q251 -82 154 13T57 250ZM682 129T682 250T596 457T390 543Q269 543 183 457T96 250Q96 132 180 45T389 -43Q511 -43 596 43ZM250 250Q250 316 295 352T384 388Q451 388 489 347T528 250Q528 192 487 152T389 112Q331 112 291 152T250 250ZM488 250Q488 290 460 319T389 349Q348 349 319 320T290 250Q290 208 320 180T389 151Q431 151 459 181T488 250'], + + // CIRCLED ASTERISK OPERATOR + 0x229B: [583,82,778,57,721,'57 250Q57 327 87 392T166 497T270 560T382 582H394Q512 582 610 500Q721 401 721 250Q721 112 626 15T389 -82Q251 -82 154 13T57 250ZM682 129T682 250T596 457T390 543Q269 543 183 457T96 250Q96 132 180 45T389 -43Q511 -43 596 43ZM204 339Q204 357 215 366T238 375Q247 375 283 348Q300 336 311 328L368 286Q369 286 366 323T359 398T355 437Q357 456 379 465Q380 465 384 465T391 466Q403 465 412 457T423 437Q423 436 420 398T413 323T410 286L467 328Q476 334 486 341T501 353T513 361T523 368T529 372T535 374T541 375Q554 375 564 365T575 339Q575 325 566 318T519 292Q504 285 496 281L430 250L496 219Q552 192 559 188T572 175Q575 168 575 161Q575 148 566 137T541 126H538Q530 126 499 149Q480 163 467 172L410 214Q409 214 412 177T419 102T423 63Q423 59 421 54T411 43T389 36T368 42T357 54T355 63Q355 64 358 102T365 177T368 214L311 172Q302 165 293 159T279 148T268 140T260 134T254 131T250 128T246 127T242 126T238 126Q223 126 214 135T204 161T213 183T282 219L348 250L282 281Q226 308 219 312T206 325Q204 330 204 339'], + + // CIRCLED DASH + 0x229D: [583,82,778,57,721,'57 250Q57 327 87 392T166 497T270 560T382 582H394Q512 582 610 500Q721 401 721 250Q721 112 626 15T389 -82Q251 -82 154 13T57 250ZM682 129T682 250T596 457T390 543Q269 543 183 457T96 250Q96 132 180 45T389 -43Q511 -43 596 43ZM223 250Q223 263 233 267T280 271Q289 271 325 271T389 270H490Q535 270 545 267T555 250Q555 241 549 235Q544 231 527 231T389 230Q239 230 235 232Q223 236 223 250'], + + // SQUARED PLUS + 0x229E: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM369 365V649H95V365H369ZM682 365V649H409V365H682ZM369 40V325H95V40H369ZM682 40V325H409V40H682'], + + // SQUARED MINUS + 0x229F: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM682 365V649H95V365H682ZM682 40V325H95V40H682'], + + // SQUARED TIMES + 0x22A0: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H707Q714 686 722 676V13Q714 3 707 0H71ZM123 649Q147 625 214 555T335 430T389 374L654 649H123ZM95 70Q99 74 229 209T360 345L95 619V70ZM682 70V619L418 346Q417 344 549 207L682 70ZM654 41L400 304L388 315L123 41L256 40H522L654 41'], + + // SQUARED DOT OPERATOR + 0x22A1: [689,0,778,55,722,'71 0Q59 4 55 16V346L56 676Q64 686 70 689H709Q719 681 722 674V15Q719 10 709 1L390 0H71ZM682 40V649H95V40H682ZM330 345Q330 371 347 388T390 405Q412 405 430 389T448 345Q448 317 430 301T389 285T348 301T330 345'], + + // TRUE + 0x22A8: [695,0,611,55,556,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V464H540Q554 456 555 446Q555 442 554 439T552 434T549 430T546 428T542 426T539 424H95V270H539Q540 270 542 269T545 267T549 264T552 260T554 255T555 248Q554 238 540 230H95V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678'], + + // FORCES + 0x22A9: [695,0,722,55,666,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678ZM249 678Q249 679 250 681T252 684T255 688T259 691T264 693T271 694Q282 692 289 679V367H651Q666 359 666 347Q666 334 651 327H289V15Q282 2 271 0Q267 0 264 1T259 3T255 6T253 9T251 13T249 16V678'], + + // TRIPLE VERTICAL BAR RIGHT TURNSTILE + 0x22AA: [695,0,889,55,833,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678ZM237 678Q237 679 238 681T240 684T243 688T247 691T252 693T259 694Q270 692 277 679V15Q270 2 259 0Q255 0 252 1T247 3T243 6T241 9T239 13T237 16V678ZM419 678Q419 679 420 681T422 684T425 688T429 691T434 693T441 694Q452 692 459 679V367H818Q833 359 833 347Q833 334 818 327H459V15Q452 2 441 0Q437 0 434 1T429 3T425 6T423 9T421 13T419 16V678'], + + // DOES NOT PROVE + 0x22AC: [696,1,611,-55,554,'56 681Q70 695 76 695T96 681V368H243L381 530Q521 692 525 692Q537 700 547 688Q554 682 554 674Q554 671 553 669T548 661T539 649T522 631T499 604T465 565T421 512Q296 373 296 368H416H476Q525 368 539 365T554 348Q554 334 543 328H261L96 141V12Q81 -1 75 -1Q65 -1 58 10L56 50V92L18 48Q7 37 -1 28T-13 14T-19 6T-23 1T-27 0T-33 -1Q-42 -1 -48 4T-55 19Q-55 24 -47 34T12 103L56 155V681ZM205 326Q205 328 152 328H96V263Q96 203 98 203Q99 203 123 231T174 290T205 326'], + + // NOT TRUE + 0x22AD: [695,1,611,-55,554,'56 681Q70 695 76 695T96 681V466H327L425 579Q522 692 527 692Q529 693 534 693Q542 693 547 688T553 674Q553 668 549 663Q549 662 538 650T504 611T463 563L381 468L461 466H543Q554 453 554 446T541 426H345L209 272L376 270H543Q554 257 554 251T541 230H174L96 141V12Q81 -1 75 -1Q65 -1 58 10L56 50V92L18 48Q7 37 -1 28T-13 14T-19 6T-23 1T-27 0T-33 -1Q-42 -1 -48 4T-55 19Q-55 24 -47 34T12 103L56 155V681ZM267 399L292 426H96V270H158L201 321Q256 382 267 399ZM118 228L119 229Q119 230 109 230H96V201L107 212Q118 227 118 228'], + + // DOES NOT FORCE + 0x22AE: [695,1,722,-55,665,'56 681Q70 695 77 695T96 683V428L98 175L252 323V681Q264 695 272 695Q278 695 292 681V526Q292 368 296 368Q298 368 447 510Q638 695 642 695H645Q651 695 658 688T665 673Q665 666 661 661Q659 660 639 641T578 582T505 512L356 370L505 368H654Q665 357 665 349Q665 343 652 328H314L303 317L292 308V12Q289 10 285 6T279 1T272 -1Q265 -1 252 12V139Q252 266 249 266L96 119V12Q80 -1 76 -1T70 0T63 6T56 12V79L29 55Q-26 -1 -35 -1Q-42 -1 -48 5T-55 19Q-55 25 -51 30T-15 66Q5 86 18 99L56 135V681'], + + // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + 0x22AF: [695,1,722,-55,665,'56 681Q70 695 77 695T96 683V428L98 175L252 323V681Q264 695 272 695Q278 695 292 681V466H401L503 563L621 679Q637 695 645 695Q652 695 658 688T665 673Q665 670 663 666Q663 665 651 652T611 612T561 563L458 468L556 466H654Q665 455 665 447T652 426H416L294 308L292 288V270H652Q665 255 665 250T652 230H292V12Q289 10 285 6T279 1T272 -1Q265 -1 252 12V139Q252 266 249 266L96 119V12Q80 -1 76 -1T70 0T63 6T56 12V79L29 55Q-26 -1 -35 -1Q-42 -1 -48 5T-55 19Q-55 25 -51 30T-15 66Q5 86 18 99L56 135V681ZM358 426H292V361L325 392L358 426'], + + // NORMAL SUBGROUP OF + 0x22B2: [539,41,778,83,694,'694 -26Q686 -40 676 -41H670L382 95Q92 232 90 234Q83 239 83 249Q83 262 96 267Q101 270 379 401T665 537Q671 539 674 539Q686 539 694 524V-26ZM654 11T654 249T653 487T402 369T151 249L275 190Q399 131 524 72T652 11Q654 11 654 249'], + + // CONTAINS AS NORMAL SUBGROUP + 0x22B3: [540,41,778,83,694,'83 523Q83 524 85 527T92 535T103 539Q107 539 389 406T680 268Q694 260 694 249Q694 239 687 234Q685 232 395 95L107 -41H101Q90 -40 83 -26V523ZM376 368Q323 393 254 425T155 472L125 487Q123 487 123 249T125 11Q127 12 252 71T502 190L626 249L376 368'], + + // NORMAL SUBGROUP OF OR EQUAL TO + 0x22B4: [636,138,778,83,695,'694 71Q686 58 676 56H670L382 192Q92 329 90 331Q83 336 83 346Q83 359 96 364Q101 367 379 498T665 634Q671 636 674 636Q686 636 694 621V71ZM654 108T654 346T653 584T402 466T151 346L275 287Q399 228 524 169T652 108Q654 108 654 346ZM83 -120Q83 -116 84 -113T86 -108T89 -104T92 -102T96 -100T99 -98H678Q679 -98 681 -99T684 -101T688 -104T691 -108T693 -113T694 -120Q692 -130 679 -138H98Q84 -130 83 -120'], + + // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO + 0x22B5: [637,138,778,83,695,'83 620Q83 621 85 624T92 632T103 636Q107 636 389 503T680 365Q694 357 694 346Q694 336 687 331Q685 329 395 192L107 56H101Q90 58 83 71V620ZM376 465Q323 490 254 522T155 570L125 584Q123 584 123 346T125 108Q127 109 252 168T502 287L626 346L376 465ZM83 -120Q83 -116 84 -113T86 -108T89 -104T92 -102T96 -100T99 -98H678Q679 -98 681 -99T684 -101T688 -104T691 -108T693 -113T694 -120Q692 -130 679 -138H98Q84 -130 83 -120'], + + // MULTIMAP + 0x22B8: [408,-92,1111,55,1055,'1055 250Q1055 190 1012 141T896 92Q858 92 828 106T781 140T755 180T741 214L738 228V230H405Q71 230 68 232Q55 238 55 250T68 268Q71 270 405 270H738V272L740 280Q742 287 745 297T754 321T771 348T796 374T832 396T881 408H891Q969 408 1012 360T1055 250ZM896 132Q948 132 981 166T1014 250Q1014 301 985 330T920 367Q914 368 891 368Q853 368 816 338T778 250Q778 198 812 165T896 132'], + + // INTERCALATE + 0x22BA: [431,212,556,57,501,'318 -182Q302 -212 280 -212H278H275Q249 -212 239 -182L238 84V351H162L87 352Q57 362 57 391T84 429Q89 431 280 431H470L474 429Q477 427 479 426T484 423T490 417T495 410T499 402T500 391Q500 365 470 352L394 351H318V-182'], + + // XOR + 0x22BB: [716,0,611,55,555,'56 697Q56 706 62 711T75 716Q86 716 90 709Q91 708 104 680T147 592T199 483L305 261L411 483Q443 548 481 629Q512 694 518 705T535 716Q543 716 549 710T555 700Q555 693 501 577T388 340T325 210Q316 194 305 194Q292 194 285 210Q282 219 224 339T111 574T56 697ZM55 14T55 20T59 31T66 38T71 40H540Q555 32 555 20T540 0H71Q70 0 67 2T59 9'], + + // NAND + 0x22BC: [716,0,611,54,555,'55 698Q56 708 70 716H540Q554 708 555 698Q555 694 554 691T552 686T549 682T546 680T542 678T539 676H71Q70 676 68 677T65 679T61 682T58 686T56 691T55 698ZM555 18Q554 12 549 6T536 0H535Q525 0 515 17T459 132Q430 194 410 235L305 455L199 233Q176 185 147 125T105 36T90 7Q85 0 75 0Q63 0 58 11Q55 15 55 21Q58 31 170 266T285 507Q295 522 305 522T320 515Q322 513 439 268L555 24V18'], + + // DOT OPERATOR + 0x22C5: [189,0,278,55,222,'71 0Q59 4 55 16V96L56 176Q59 180 66 187L70 189H209Q219 181 222 174V15Q219 10 209 1L140 0H71'], + + // DIVISION TIMES + 0x22C7: [545,44,778,55,720,'366 543Q374 545 382 545Q405 545 419 538Q429 534 443 521T462 496Q466 478 466 467Q466 438 444 412Q422 390 388 390Q352 390 331 412Q311 434 311 467Q311 499 331 518Q345 533 366 543ZM146 472Q146 479 153 485T166 492Q171 492 187 476T279 385L386 278L495 385Q600 492 608 492Q615 492 621 486T628 472Q628 467 614 452T531 367L435 270H706Q720 256 720 250Q720 241 706 230H435L531 132Q600 63 614 48T628 27Q628 20 622 14T608 7Q600 7 495 114L386 221L279 114Q204 39 188 23T166 7Q159 7 153 13T146 27Q146 32 160 47T244 132L339 230H68Q55 243 55 250Q55 255 68 270H339L244 367Q175 436 161 451T146 472ZM466 34Q466 4 447 -20T388 -44Q353 -44 331 -22Q311 1 311 34Q311 66 331 85Q347 101 366 110Q374 112 382 112Q405 112 419 105Q429 100 443 87T462 63Q466 45 466 34'], + + // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22C9: [492,-8,778,146,628,'146 479Q159 492 166 492Q171 492 189 475T279 386L386 279L495 386Q598 492 608 492Q615 492 621 486T628 472Q628 464 522 357L415 250L522 144Q628 37 628 28Q628 21 622 15T608 8Q599 8 495 115L386 221L279 115Q204 40 188 24T166 8Q162 8 160 9T153 15T146 21V479ZM186 77L359 250L186 424V77'], + + // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CA: [492,-8,778,146,628,'146 472Q146 479 152 485T166 492Q171 492 189 475T279 386L386 279L495 386Q598 492 608 492Q615 492 628 479V21Q615 8 608 8Q599 8 495 115L386 221L279 115Q204 40 188 24T166 8Q159 8 153 14T146 28Q146 37 253 144L359 250L253 357Q146 464 146 472ZM588 77V424L499 337L415 250L588 77'], + + // LEFT SEMIDIRECT PRODUCT + 0x22CB: [694,23,778,55,722,'55 674Q55 682 62 688T76 694H77Q83 694 100 677T208 561Q320 440 410 342Q462 286 541 201Q677 55 699 30T722 -2Q722 -9 716 -15T701 -22T688 -17Q687 -15 542 141T394 301L388 306L240 146Q119 15 101 -3T75 -22T61 -16T55 -2Q55 4 67 19T158 117Q190 151 209 172L361 336L209 500Q62 657 57 667Q55 671 55 674'], + + // RIGHT SEMIDIRECT PRODUCT + 0x22CC: [694,22,778,55,722,'84 -22T76 -22T62 -16T55 -2Q55 4 78 30T249 215Q321 293 367 342Q672 672 683 682Q695 694 702 694Q710 694 716 688T722 674Q722 668 710 653T619 555Q587 521 568 500L416 336L568 172Q715 15 720 5Q722 1 722 -2Q722 -9 716 -15T702 -22H700Q693 -22 671 1T537 146L389 306Q387 304 340 253T237 143T135 33L89 -17Q84 -22 76 -22'], + + // REVERSED TILDE EQUALS + 0x22CD: [464,-36,778,56,722,'56 433Q56 464 71 464Q74 464 77 461Q82 454 82 438T91 397T123 347Q166 307 222 307Q264 307 308 331T386 385T465 438T556 463Q631 463 676 408T722 283Q722 250 708 250Q704 250 699 257Q695 265 693 286T682 330Q670 350 655 367Q612 407 556 407Q514 407 470 383T393 329T314 276T222 251Q148 251 102 306T56 433ZM57 56Q57 71 73 76H706Q722 70 722 56Q722 44 707 36H71Q57 43 57 56'], + + // CURLY LOGICAL OR + 0x22CE: [578,21,760,83,676,'83 558Q83 566 89 572T104 578Q108 578 116 577T146 570T190 555T239 526T286 480Q308 453 325 420T351 358T367 304T376 265T380 251T381 253Q381 262 395 312Q428 434 492 499T642 576Q654 578 655 578Q664 578 670 572T676 558Q676 543 657 540T599 524T525 476Q406 362 400 29V8Q400 -21 380 -21Q369 -21 362 -11Q360 -7 360 12Q360 115 348 200T308 360T231 480T111 537Q83 540 83 558'], + + // CURLY LOGICAL AND + 0x22CF: [578,22,760,83,676,'104 -22Q95 -22 89 -16T83 -2Q83 11 98 16T135 23T192 46T256 103Q360 233 360 549Q360 554 360 557T361 563T362 567T364 569T367 572T371 576Q377 578 380 578Q401 578 401 547Q401 543 401 537T400 527Q409 53 648 19Q676 16 676 -2Q676 -10 670 -16T655 -22Q654 -22 642 -20Q556 -9 492 56T395 244Q381 294 381 303Q381 305 380 305T374 275T352 201T310 110T234 27T117 -20Q105 -22 104 -22'], + + // DOUBLE SUBSET + 0x22D0: [541,41,778,84,694,'84 250Q84 372 166 450T360 539Q361 539 370 539T395 539T430 540T475 540T524 540H679Q694 532 694 520Q694 511 681 501L522 500H470H441Q366 500 338 496T266 472Q244 461 224 446T179 404T139 337T124 250V245Q124 157 185 89Q244 25 328 7Q348 2 366 2T522 0H681Q694 -10 694 -20Q694 -32 679 -40H526Q510 -40 480 -40T434 -41Q350 -41 289 -25T172 45Q84 127 84 250ZM694 134Q694 123 679 114H425H384Q350 114 326 121T277 154Q238 193 238 251Q238 322 295 361Q318 378 339 382T412 387Q423 387 459 387T520 386H679Q694 377 694 366Q694 354 679 346H519Q493 346 458 346T411 347Q360 347 341 342T303 315Q278 287 278 250Q278 210 301 187T351 156Q358 154 519 154H679Q694 146 694 134'], + + // DOUBLE SUPERSET + 0x22D1: [541,40,778,83,693,'83 520Q83 532 98 540H251Q267 540 297 540T343 541Q427 541 488 525T605 455Q693 374 693 250Q693 165 650 99T545 0T415 -39Q407 -40 251 -40H98Q83 -32 83 -20Q83 -10 96 0H255H308H337Q412 0 439 4T512 28Q533 39 553 54T599 96T639 163T654 250Q654 341 592 411Q557 449 512 472Q468 491 439 495T335 500H306H255L96 501Q83 511 83 520ZM83 366Q83 376 96 386H244Q280 386 317 386T378 386L402 387Q456 387 498 348T540 250Q540 203 512 168T446 120Q427 114 353 114H99Q84 120 84 134Q84 147 98 154H258Q284 154 319 154T366 153Q416 153 436 158T474 185Q500 214 500 250Q500 290 477 313T426 344Q419 346 258 346H98Q83 354 83 366'], + + // DOUBLE INTERSECTION + 0x22D2: [598,22,667,55,611,'88 -21T75 -21T55 -7V200Q55 231 55 280Q56 414 60 428Q61 430 61 431Q77 500 152 549T332 598Q443 598 522 544T610 405Q611 399 611 194V-7Q604 -22 591 -22Q582 -22 572 -9L570 405Q563 433 556 449T529 485Q498 519 445 538T334 558Q251 558 179 518T96 401Q95 396 95 193V-7Q88 -21 75 -21ZM229 -21H227Q215 -21 209 -7V166Q209 304 209 327T215 363Q226 398 259 421T333 444Q380 444 414 416T455 347Q457 339 457 166V-7Q449 -21 439 -21H437H435Q423 -21 417 -7V164Q417 303 417 325T411 358Q387 403 333 403T255 358Q250 347 250 325T249 164V-7Q241 -21 231 -21H229'], + + // DOUBLE UNION + 0x22D3: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598ZM437 598Q450 598 457 583V410Q457 237 455 229Q448 189 414 161T333 132Q291 132 255 157T211 230Q209 237 209 412L210 585Q220 598 229 598Q242 598 249 583V412Q249 273 249 251T255 218Q279 173 333 173T411 218Q416 229 416 251T417 412V583Q425 598 437 598'], + + // PITCHFORK + 0x22D4: [736,22,667,56,611,'76 -22Q64 -22 56 -7V176L57 360L59 370Q66 401 83 426T123 468T171 495T221 513T265 522T298 527L311 528H314V625L315 723Q325 736 334 736Q346 736 354 721V528H356L368 527Q380 526 399 523T441 515T490 498T537 472T578 433T606 379Q611 359 611 171V-7Q604 -21 591 -21T571 -7V170Q571 313 571 337T565 375Q555 408 526 432T461 467T402 482T365 487H354V-7Q347 -21 334 -21T314 -7V487H303Q251 484 207 467Q121 438 99 367L97 357L96 174V-9Q86 -22 76 -22'], + + // LESS-THAN WITH DOT + 0x22D6: [541,41,778,82,694,'86 261Q92 267 381 404T673 541Q680 541 686 535T693 521T689 510Q684 504 418 379L151 250L418 121Q686 -4 689 -10Q693 -14 693 -21T687 -34T675 -41Q668 -41 380 96T86 239Q82 244 82 250Q82 257 86 261ZM610 250Q610 224 592 198T531 172Q498 172 475 195Q453 214 453 250Q453 308 513 328Q515 330 535 330Q569 328 589 304T610 250'], + + // GREATER-THAN WITH DOT + 0x22D7: [541,41,778,82,693,'82 521Q82 529 89 535T100 541Q107 541 395 404T689 261Q693 257 693 250T689 239Q684 234 396 97T100 -41Q95 -41 89 -35T82 -21Q82 -12 96 -4Q118 9 358 121L624 250L358 379Q91 503 86 510Q82 514 82 521ZM165 250Q165 282 188 306T239 330Q262 330 275 323Q303 312 318 283Q322 272 322 250Q322 213 300 195Q277 172 246 172Q224 172 213 177Q165 200 165 250'], + + // VERY MUCH LESS-THAN + 0x22D8: [568,67,1333,56,1277,'639 -48Q639 -54 634 -60T619 -67H618Q612 -67 536 -26Q430 33 329 88Q61 235 59 239Q56 243 56 250T59 261Q62 266 336 415T615 567L619 568Q622 567 625 567Q639 562 639 548Q639 540 633 534Q632 532 374 391L117 250L374 109Q632 -32 633 -34Q639 -40 639 -48ZM958 -48Q958 -54 953 -60T938 -67H937Q931 -67 855 -26Q749 33 648 88Q380 235 378 239Q375 243 375 250T378 261Q381 266 655 415T934 567L938 568Q941 567 944 567Q958 562 958 548Q958 540 952 534Q951 532 693 391L436 250L693 109Q951 -32 952 -34Q958 -40 958 -48ZM1277 -48Q1277 -54 1272 -60T1257 -67H1256Q1250 -67 1174 -26Q1068 33 967 88Q699 235 697 239Q694 243 694 250T697 261Q700 266 974 415T1253 567L1257 568Q1260 567 1263 567Q1277 562 1277 548Q1277 540 1271 534Q1270 532 1012 391L755 250L1012 109Q1270 -32 1271 -34Q1277 -40 1277 -48'], + + // VERY MUCH GREATER-THAN + 0x22D9: [568,68,1333,55,1277,'75 -67Q65 -67 60 -61T55 -48Q55 -40 61 -34Q62 -32 329 109L595 250L329 391Q62 532 61 534Q55 540 55 548Q55 562 69 567H77Q81 567 222 493T506 342T653 264Q667 250 653 236Q649 234 504 157T220 7T77 -67H75ZM364 547Q364 563 381 567L384 568Q387 568 518 499T795 353T955 269Q967 261 967 250T955 231Q925 216 780 139T513 -3T383 -67Q373 -67 369 -60T364 -47Q364 -40 370 -34Q373 -31 639 109L904 250L639 391Q373 531 370 534Q364 540 364 547ZM674 538T674 548T681 562T693 567Q699 567 816 505Q915 453 993 412Q1050 382 1132 339Q1241 282 1259 271T1277 250Q1277 241 1263 232Q1246 221 985 84Q698 -67 692 -67Q674 -67 674 -47Q674 -38 680 -33Q683 -30 947 109L1213 250L947 391Q683 530 680 533Q674 538 674 548'], + + // stix-less, equal, slanted, greater + 0x22DA: [886,386,778,83,674,'674 445Q674 438 669 432T655 425T369 531T90 640Q83 645 83 655Q83 668 95 673Q644 886 654 886Q662 886 668 880T674 866Q674 856 663 850Q649 843 411 751L160 655L407 560Q474 534 561 501Q646 469 660 462T674 445ZM84 250Q84 260 99 270H658Q674 264 674 250Q674 238 659 230H98Q84 237 84 250ZM83 55Q83 68 94 73Q98 76 104 76Q108 75 383 -30T664 -138Q674 -144 674 -155Q674 -165 667 -170Q664 -173 385 -279T104 -386Q85 -386 83 -368Q83 -354 92 -349Q93 -349 347 -251L597 -155L346 -59Q296 -40 223 -12Q118 28 101 36T83 55'], + + // stix-greater, equal, slanted, less + 0x22DB: [886,386,778,83,674,'111 425T102 425T88 431T83 445V446Q83 455 96 461Q111 469 203 504Q287 536 350 560L597 655L346 751Q94 848 92 850Q83 856 83 866Q83 873 88 879T104 886Q109 885 386 779T667 670Q674 665 674 655T667 640Q665 638 388 532ZM84 250Q84 260 99 270H658Q674 264 674 250Q674 238 659 230H98Q84 237 84 250ZM653 76Q656 76 660 75T669 68T674 56Q674 46 665 40Q663 38 411 -59L160 -155L410 -251Q664 -349 665 -349Q674 -354 674 -368Q672 -386 654 -386Q650 -386 371 -279T90 -170Q83 -165 83 -155Q83 -144 93 -138Q645 76 653 76'], + + // EQUAL TO OR PRECEDES + 0x22DE: [734,0,778,83,694,'113 424Q83 424 83 444Q83 453 96 464H121Q181 466 234 474T341 501T435 545T505 613T542 707Q545 734 564 734Q583 731 583 714Q583 658 560 613T500 538T414 486T321 453T229 434T156 426T113 424ZM112 270Q83 270 83 290Q83 301 94 307Q98 310 118 310Q624 310 653 556Q657 580 675 580Q693 577 693 559V552Q684 472 628 410T465 314Q436 303 372 290Q373 290 388 287T425 278T465 266Q674 199 693 28L694 17L692 14Q691 11 689 8T683 3T673 0Q657 0 653 24Q623 270 118 270H112'], + + // EQUAL TO OR SUCCEEDS + 0x22DF: [734,0,778,83,694,'195 713Q195 725 201 729T214 734Q227 734 231 722T238 691T255 641T299 580Q405 474 656 464H681Q694 451 694 443Q694 424 670 424H664Q535 424 415 465T235 595Q195 657 195 713ZM668 310Q694 310 694 290Q694 285 691 279Q684 271 664 270Q550 268 464 257T301 220T179 146T124 27Q119 0 103 0T83 16Q83 21 83 31T92 68T113 121T157 177T229 231Q295 268 405 290Q404 290 389 293T352 302T312 314Q138 371 96 500Q83 541 83 562Q83 568 89 574T103 580Q115 580 120 570T126 542T138 497T173 442Q289 310 659 310H668'], + + // stix-not (vert) precedes or contour equals + 0x22E0: [801,303,778,82,693,'82 344Q82 349 95 364H124Q266 364 398 390L429 397L509 595Q519 619 536 659Q581 766 590 783T609 801Q616 801 622 795T629 781Q629 776 553 595Q533 548 516 506T489 439T480 415Q482 415 505 426T538 444Q632 498 651 601Q654 621 658 628T673 635Q680 635 686 629T693 615Q693 591 678 546Q636 433 484 375L458 364L451 348Q443 332 443 329T455 324Q480 316 503 307T560 277T619 233T664 170T691 86Q693 68 691 64Q684 53 672 53Q664 53 658 59Q657 60 650 97T617 174T538 244Q515 257 476 273T428 289Q425 289 412 256Q381 179 344 90L262 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 174 -213T202 -143H95Q82 -128 82 -123T95 -103H220L302 97Q384 288 384 299Q384 302 341 308T235 319T124 324H95Q82 337 82 344ZM399 338Q403 338 406 346L409 353L375 344Q375 343 384 341T399 338'], + + // stix-not (vert) succeeds or contour equals + 0x22E1: [801,303,778,82,694,'146 -283Q146 -282 174 -213T202 -143H95Q82 -127 82 -123T95 -103H220L300 93Q343 196 374 270Q385 294 386 299L373 295Q331 287 289 268Q241 249 208 224T159 174T135 127T124 85T118 59Q112 53 103 53Q91 53 84 64Q82 68 84 86Q96 185 174 248T375 337L400 344Q399 344 381 348T351 355T316 364T276 379T235 398T193 424T155 456T122 497T98 546Q82 587 82 615Q82 622 88 628T102 635Q112 635 116 628T124 601Q128 579 134 562T159 515T207 463T290 418T415 384L422 381L506 586Q571 744 584 772T609 801Q616 801 622 795T629 781T544 577Q525 529 504 478T473 402T462 375Q480 373 500 373Q579 364 651 364H680Q682 361 686 357T691 351T693 344Q693 337 680 324H651Q553 324 451 310L433 308L349 104L262 -101L473 -103H682Q694 -115 694 -123Q694 -133 682 -141L464 -143H246L213 -219Q182 -292 178 -299Q172 -303 166 -303T153 -297T146 -283'], + + // LESS-THAN BUT NOT EQUIVALENT TO + 0x22E6: [730,359,778,55,719,'86 450Q93 455 380 592T673 730Q680 730 686 724T693 710Q693 702 688 699Q686 693 417 568L151 439L417 310Q685 185 688 179Q693 176 693 168Q693 161 687 155T675 148Q668 148 380 285T86 428Q74 438 86 450ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], + + // GREATER-THAN BUT NOT EQUIVALENT TO + 0x22E7: [730,359,778,55,719,'88 723Q95 730 99 730Q106 730 394 593T688 450Q693 447 693 439T688 428Q683 423 395 286T99 148Q94 148 88 155T82 168Q82 175 86 179Q89 184 357 310L624 439L357 568Q88 694 86 699Q81 703 81 711T88 723ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], + + // PRECEDES BUT NOT EQUIVALENT TO + 0x22E8: [730,359,778,55,719,'95 419Q81 433 81 439T95 459H124Q318 459 455 501Q515 521 556 550T615 607T641 659T652 702T659 725Q667 730 673 730Q680 730 686 724T693 710Q693 682 677 641Q668 616 654 594T622 554T586 522T545 497T504 477T464 462T428 452T397 444T375 439Q379 437 410 430T476 411T551 379T625 321T677 237Q693 196 693 168Q693 161 687 155T673 148Q662 148 658 154T651 181Q638 253 591 300T455 377Q318 419 124 419H95ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], + + // SUCCEEDS BUT NOT EQUIVALENT TO + 0x22E9: [730,359,778,55,719,'679 459Q693 445 693 439Q693 430 679 419H651Q455 419 319 377Q231 347 184 300T124 181Q120 161 116 155T102 148Q95 148 89 154T82 168Q82 192 97 237Q111 275 137 306T188 355T249 391T307 414T361 429T399 439Q397 440 364 447T298 467T224 499T149 557T97 641Q82 686 82 710Q82 717 88 723T102 730L115 725Q118 722 124 697Q137 625 184 578T319 501Q456 459 651 459H679ZM55 -205Q55 -175 64 -142T92 -76T145 -22T222 -1Q288 -1 362 -66Q369 -72 372 -75T378 -79T382 -81T384 -79Q389 -74 439 21Q483 100 490 111T504 122Q510 122 518 118T526 103Q526 101 510 69T467 -12T419 -99L413 -112L433 -128Q498 -180 553 -180Q605 -180 646 -139Q672 -112 681 -77T693 -21T706 -1Q719 -1 719 -33Q719 -39 717 -57Q708 -141 655 -190Q625 -224 586 -232Q568 -237 551 -237Q487 -237 413 -172L391 -155Q391 -157 335 -255Q297 -325 286 -342T268 -359Q260 -359 254 -353T248 -339T304 -230L359 -126Q359 -124 337 -107T302 -81Q262 -57 221 -57Q170 -57 130 -93T84 -201Q82 -236 70 -236Q55 -236 55 -205'], + + // NOT NORMAL SUBGROUP OF + 0x22EA: [707,208,778,82,693,'693 -30Q686 -41 673 -41Q661 -41 506 34L346 110L280 -44Q228 -162 216 -185T193 -208Q177 -208 173 -192Q173 -186 242 -30T311 128Q271 145 184 186T86 236Q82 240 82 246Q82 251 86 259Q96 267 271 350L449 434L506 565Q537 635 551 664T571 700T582 706Q587 706 593 701T600 690Q600 679 553 572Q504 463 504 461L586 501Q672 539 673 539Q679 539 693 525V-30ZM653 10V488L566 445L480 405L422 276Q415 260 405 236T388 199T376 171T368 151T366 145Q368 143 510 77T653 10ZM422 374Q422 376 420 376T285 313T151 248Q315 168 326 163Q415 356 422 374'], + + // DOES NOT CONTAIN AS NORMAL SUBGROUP + 0x22EB: [706,208,778,82,693,'82 525Q96 539 102 539Q103 539 122 530T186 501T266 463L426 388Q428 388 495 541Q564 694 569 699Q573 706 581 706Q587 706 593 702T600 691Q600 676 533 528Q515 486 506 465T485 418T470 381T466 370Q466 369 575 316Q676 269 689 259Q693 253 693 248Q693 242 689 236Q688 235 506 145Q328 63 324 59Q324 50 266 -70Q224 -169 214 -188T193 -208Q177 -208 173 -192Q173 -183 222 -77Q244 -29 257 2T269 34L186 -6Q108 -43 99 -43Q93 -43 82 -30V525ZM271 416Q129 485 126 485H125Q122 485 122 250Q122 10 124 10L211 50L295 92L411 350Q411 351 271 416ZM624 248L449 332L440 319Q434 297 393 214Q353 121 353 119Q355 119 489 182T624 248'], + + // stix-not, vert, left triangle, equals + 0x22EC: [802,303,778,82,693,'82 -123Q82 -114 93 -103H166L238 -101L293 50Q349 200 349 204L220 266Q166 291 140 304T100 325T84 336T82 344Q82 353 94 360Q112 372 282 453L473 541L482 568Q487 578 529 693Q559 785 569 795Q573 802 581 802Q587 802 593 797T599 786Q599 775 564 675L526 570Q526 568 561 584T633 617T673 635Q679 635 693 621V66Q686 54 679 54Q665 54 526 119Q491 137 458 153T405 177T386 184Q385 182 334 42T282 -101T482 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L473 -143H266L238 -219Q217 -278 210 -290T193 -303Q178 -303 173 -287Q173 -279 198 -214L222 -145Q222 -143 158 -143L93 -141L86 -136Q82 -131 82 -123ZM653 106V584L506 513L453 370Q442 339 428 300T407 243T400 224Q403 222 527 164T653 106ZM453 486Q453 488 451 488T300 417T151 344L224 308Q247 298 285 279T331 257L364 241L453 486'], + + // stix-not, vert, right triangle, equals + 0x22ED: [801,303,778,82,693,'82 621Q96 635 102 635T249 568L420 486L449 473L469 533Q563 789 569 797Q573 801 581 801Q598 801 600 786Q602 781 544 617L484 455Q531 435 584 408Q677 364 689 355Q693 351 693 344Q693 339 692 337T676 325T631 302T538 257Q504 241 465 223T406 195T386 186Q384 184 333 44T282 -101Q282 -103 482 -103H680Q682 -105 684 -108T688 -113T691 -118T693 -124Q693 -134 682 -141L473 -143H266L238 -219Q217 -278 210 -290T193 -303Q178 -303 173 -287Q173 -279 198 -214L222 -145Q222 -143 158 -143L93 -141L86 -136Q82 -131 82 -123Q82 -114 93 -103H166L238 -101L333 159Q326 159 220 106Q110 54 97 54Q89 54 82 66V621ZM298 501Q155 567 142 575L122 584V344Q122 106 124 106Q125 106 180 132T291 185T351 213Q355 217 393 326L433 435Q433 436 298 501ZM549 381Q472 417 471 417L406 241Q408 240 516 291T624 344L549 381'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MathOperators.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js new file mode 100644 index 00000000..84e28579 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MiscMathSymbolsB.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // BLACK LOZENGE + 0x29EB: [716,132,667,56,611,'318 709Q325 716 332 716Q340 716 344 713T474 511Q611 298 611 292Q611 285 526 152Q494 103 474 72Q347 -128 344 -130Q340 -132 333 -132T322 -130Q319 -128 257 -31T131 169T60 278Q56 285 56 292Q56 298 60 305Q73 326 194 516T318 709'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MiscMathSymbolsB.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js new file mode 100644 index 00000000..f866c55c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MiscSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // BLACK STAR + 0x2605: [694,111,944,49,895,'367 395Q374 416 398 492T442 627T463 688Q463 692 467 692Q471 694 472 694Q478 694 484 680T523 562Q553 469 576 400L577 395H731H819Q872 395 883 394T895 384Q895 380 891 376T832 333Q794 305 767 285Q643 195 643 194L690 47Q737 -96 737 -103Q737 -111 727 -111Q721 -111 594 -18L472 71L350 -18Q223 -111 217 -111Q207 -111 207 -103Q207 -96 254 47L301 194Q301 195 241 239T118 328T51 378Q49 382 49 384Q49 392 58 393T110 395H213H367'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MiscSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js new file mode 100644 index 00000000..9a477e5f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/MiscTechnical.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // stix-small down curve + 0x2322: [378,-122,778,55,722,'77 122Q68 122 63 126T57 135T55 142Q55 151 68 176T111 235T177 302T271 356T388 378Q451 378 508 355T602 300T668 233T709 174T722 142Q722 124 704 122Q692 122 685 134T658 179T606 243Q511 338 390 338Q354 338 320 329Q251 312 193 263T97 141Q87 123 77 122'], + + // stix-small up curve + 0x2323: [378,-142,778,54,722,'389 143Q324 143 266 164T171 215T107 277T67 330T55 358T60 371T77 378Q85 377 92 367T116 331T158 280Q256 182 389 182Q475 182 552 227T675 351Q688 378 704 378Q722 376 722 358Q722 352 710 330T670 276T605 215T511 164T389 143'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/MiscTechnical.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js new file mode 100644 index 00000000..76db5bbd --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js @@ -0,0 +1,74 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/PUA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // ?? + 0xE006: [430,23,222,-20,240,'91 417Q104 430 111 430T131 417V301L171 341Q201 373 207 378T220 384Q227 384 233 377T240 366Q240 357 187 299L131 244V-10Q116 -23 111 -23T91 -10V201L49 157Q20 127 14 121T0 115Q-8 115 -14 121T-20 132Q-20 139 17 178Q29 191 36 199L91 257V417'], + + // ?? + 0xE007: [431,24,389,-20,407,'56 417Q68 431 76 431L89 426L96 419V317L98 215L193 273L291 330V375L293 419Q301 431 311 431Q331 431 331 388L333 355L356 370Q381 384 388 384Q394 384 400 377T407 363Q407 354 367 328L331 308V-10Q316 -23 310 -23Q300 -23 293 -12L291 135V284L98 168L96 77V-12Q84 -24 76 -24L62 -19L58 -12L56 66V144L31 128Q5 114 -2 114Q-8 114 -14 121T-20 136Q-20 142 -14 147T20 170L56 190V417'], + + // ?? + 0xE008: [605,85,778,55,719,'477 261Q477 257 473 256T455 253T417 251T348 250H235L155 -77L146 -82Q137 -85 109 -85Q55 -85 55 -77L139 261Q224 596 226 598Q229 603 239 603Q240 603 254 603T290 603T341 604T405 605T477 605Q656 603 687 602T719 596Q719 589 692 588T513 585H319L282 427L242 272Q242 270 351 270Q388 270 410 270T444 269T460 267T469 265T477 261'], + + // ?? + 0xE009: [434,6,667,37,734,'228 325Q170 322 156 316T127 309Q108 309 104 314Q99 319 99 322T108 341Q125 376 171 400T268 425H271Q302 425 319 396Q328 377 328 358Q328 332 324 314Q311 270 286 221Q274 194 274 192H275Q339 234 484 325T639 421Q669 434 691 434T723 425T734 406Q734 394 719 381Q715 376 644 330L575 287L566 267Q543 233 526 176Q520 160 515 143T508 115T506 105Q506 103 533 103Q585 103 607 110T641 118Q670 118 670 107Q670 100 661 85Q643 50 598 27T504 3Q465 3 450 36Q441 51 441 73Q441 84 444 96Q452 146 484 205L497 236L324 125Q143 12 135 10Q103 -6 77 -6Q61 -6 49 2T37 21Q37 36 49 46T124 96L195 141L204 156Q219 179 243 248T264 323Q264 325 228 325'], + + // ?? + 0xE00C: [752,284,778,81,694,'86 472Q93 477 381 614T673 752Q680 752 686 746T693 732T689 721Q686 715 418 590L151 461L418 332Q684 207 689 201Q693 195 693 190Q693 183 687 177T675 170Q668 170 380 307T86 450Q82 454 82 461Q82 467 86 472ZM369 101V126Q369 156 382 156H384Q385 157 386 157Q409 157 409 115V98V54H680Q693 39 693 34T680 14H409V-142H680Q693 -155 693 -162Q693 -167 680 -182H409V-273Q396 -284 388 -284Q382 -284 369 -275V-182H95Q82 -167 82 -162Q82 -155 95 -142H369V14H95Q93 17 89 21T84 27T82 34T83 40T89 47T95 54H369V101'], + + // ?? + 0xE00D: [752,284,778,81,693,'89 745Q95 752 100 752Q106 752 394 615T689 472Q693 468 693 461T689 450Q684 445 396 308T100 170Q95 170 89 176T82 190Q82 195 86 201Q91 208 358 332L624 461L358 590Q90 715 86 721Q82 725 82 731Q82 739 89 745ZM369 101V126Q369 156 382 156H384Q385 157 386 157Q409 157 409 115V98V54H680Q693 39 693 34T680 14H409V-142H680Q693 -155 693 -162Q693 -167 680 -182H409V-273Q396 -284 388 -284Q382 -284 369 -275V-182H95Q82 -167 82 -162Q82 -155 95 -142H369V14H95Q93 17 89 21T84 27T82 34T83 40T89 47T95 54H369V101'], + + // stix-not greater, double equals + 0xE00E: [919,421,778,82,694,'97 172Q82 172 82 190Q82 197 86 201Q94 209 173 246T327 319T402 357Q405 360 434 448T462 539L278 628Q96 713 86 721Q82 725 82 732T88 745T102 752Q103 752 125 742T198 709T293 666Q342 642 385 622T453 590T478 579Q479 579 506 659T562 824T598 915Q602 919 609 919T622 913T629 901Q629 898 571 728Q546 656 531 608T518 559Q555 539 602 519Q664 488 679 479T694 461Q694 457 689 450Q680 443 616 413T494 356T435 326L389 190L342 57L513 55H682Q694 43 694 34Q694 28 689 21L682 17L506 15H329L322 -8Q320 -13 310 -41T295 -85L275 -141H680Q682 -143 684 -146T688 -151T691 -156T693 -162Q693 -172 682 -179L473 -181H262L220 -303Q192 -388 185 -404T166 -421Q160 -421 153 -415T146 -403Q146 -400 179 -302T220 -185Q220 -181 158 -181L93 -179L86 -174Q82 -169 82 -161Q82 -152 93 -141H164L233 -139L260 -63L286 15H189L93 17L86 21Q82 26 82 34Q82 44 93 55H198L300 57L342 179Q350 204 361 238T378 286T382 301L246 237Q111 172 97 172ZM624 461Q621 464 560 492Q512 518 503 518Q500 518 500 517Q499 513 488 479T465 413T453 379L624 461'], + + // stix-not greater-or-equal, slanted + 0xE00F: [801,303,778,82,694,'97 54Q82 54 82 72Q82 79 86 84Q95 91 222 153L351 215L398 324L442 433L258 519Q95 597 87 604Q82 608 82 615T88 628T102 635Q107 635 424 484L458 468L524 630Q593 789 597 795Q601 801 609 801Q616 801 622 795T629 781L562 615L493 450L589 406Q665 371 679 362T694 344Q694 339 693 337T677 326T631 302T538 257Q504 241 465 223T406 195T386 186Q383 185 344 92T306 -3L486 81Q662 168 673 168Q680 168 686 162T693 148T689 137Q688 136 482 35L280 -59L233 -176Q184 -291 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -279 185 -186T224 -90Q225 -88 223 -88Q219 -88 193 -101Q109 -143 98 -143Q82 -138 82 -122Q82 -116 85 -113T108 -98T171 -67L249 -30L289 61Q297 81 307 107T321 144T326 157L218 106Q109 54 97 54ZM553 379Q480 412 480 415Q479 415 460 372T423 285T406 241Q408 240 516 291T624 344L553 379'], + + // stix-not less-or-equal, slanted + 0xE010: [801,303,778,81,694,'102 168Q103 168 151 146T247 102T295 81Q299 85 322 144T344 206L218 268Q153 297 123 313T87 333T82 344T86 355Q104 369 291 455Q491 552 491 553L542 673Q581 767 590 784T609 801Q616 801 622 795T629 781Q629 773 586 677Q546 581 546 577L609 606Q669 635 673 635Q680 635 686 629T693 615Q693 610 692 608T670 593T604 561L524 521L400 226L542 157Q617 123 649 107T687 85T694 72Q694 66 690 60T679 54Q665 54 526 119Q394 186 386 186Q385 186 342 88L331 61L509 -23Q680 -105 688 -111Q693 -115 693 -122T688 -135T675 -141H673Q664 -141 491 -59Q320 21 316 21H315L249 -136Q183 -293 178 -299Q172 -303 166 -303T153 -297T146 -283Q146 -282 154 -261T181 -197T213 -119L280 41Q280 46 186 86Q157 101 121 119Q92 133 87 136T82 148Q82 155 88 161T102 168ZM418 370L466 495Q464 495 308 420T151 344T204 317T311 267T364 244Q364 247 418 370'], + + // stix-not less, double equals + 0xE011: [919,421,778,82,694,'82 34Q82 44 93 55H198L300 57L342 179Q351 207 362 238T378 286T384 303T238 377Q109 435 86 450Q82 454 82 460T86 472Q90 476 302 579L511 679Q512 679 553 795Q569 842 577 866T592 903T600 917T608 919Q615 919 622 912T629 901Q629 899 595 799Q589 777 581 753T569 717T564 703L618 728Q666 752 673 752T686 746T693 732Q693 723 683 717T615 683L546 650L491 488Q464 410 450 368T438 326Q493 297 562 266Q660 219 677 209T694 190Q694 183 690 177T678 171Q664 171 546 228L424 286Q422 286 382 172L342 57L513 55H682Q694 43 694 34Q694 28 689 21L682 17L506 15H329L322 -8Q320 -13 310 -41T295 -85L275 -141H680Q682 -143 684 -146T688 -151T691 -156T693 -162Q693 -172 682 -179L473 -181H262L220 -303Q192 -388 185 -404T166 -421Q160 -421 153 -415T146 -403Q146 -400 179 -302T220 -185Q220 -181 158 -181L93 -179L86 -174Q82 -169 82 -161Q82 -152 93 -141H164L233 -139L260 -63L286 15H189L93 17L86 21Q82 26 82 34ZM495 623Q495 626 493 626T321 544T151 461L398 343Q399 343 405 360T423 415T446 483Q457 513 469 551T488 606T495 623'], + + // stix-not subset, double equals + 0xE016: [828,330,778,82,694,'82 -6Q82 1 95 14H262L295 94Q331 171 331 174Q324 175 312 178T267 194T206 227T146 283T98 368Q84 406 84 461T98 554Q126 632 194 685T349 750Q360 752 480 752H591L604 783Q620 819 624 821Q631 828 640 828Q653 825 658 810Q658 808 646 781L635 754Q635 752 658 752Q680 752 686 746Q693 739 693 732Q693 728 692 726T686 719T680 712H615L506 466Q479 407 451 344T408 248T393 214Q393 210 535 210H680Q693 194 693 190T680 170H373L340 92L304 14H680Q693 1 693 -6Q693 -11 680 -26H286L253 -103L218 -179L451 -181H682Q694 -193 694 -201Q694 -212 682 -219L440 -221H200L178 -270Q160 -309 154 -319T139 -330Q122 -330 118 -312L155 -223Q155 -221 126 -221H95Q82 -206 82 -201T95 -181H175L206 -108Q237 -35 242 -30Q242 -26 169 -26H95Q82 -11 82 -6ZM571 710Q571 712 469 712Q443 712 416 712T371 711T351 710Q279 700 221 656T138 548Q124 508 124 461T138 374Q186 245 351 212L460 459Q571 709 571 710'], + + // ?? + 0xE017: [752,332,778,81,694,'82 -14T82 -7T95 15H431L529 170H435Q341 170 333 175Q149 218 98 368Q84 406 84 461Q84 515 98 555Q126 633 193 686T346 750Q347 750 373 750T440 751T520 752H680Q693 739 693 732Q693 727 680 712H526Q364 712 353 710Q268 700 207 646T126 512Q123 496 123 461T126 410Q141 350 180 304T280 232Q312 217 344 214T464 210H555L589 261Q613 301 620 311T635 321Q644 321 650 315T657 301Q657 296 651 286T630 252T604 212Q604 210 642 210H680Q693 197 693 190Q693 186 692 184T686 177T680 170H578L526 92L478 17L580 15H682Q693 4 693 -4T680 -25H451L353 -179L518 -181H682Q694 -193 694 -201Q694 -211 682 -219L504 -221H326L293 -272Q257 -332 246 -332Q238 -332 232 -326T225 -313Q225 -310 226 -308Q226 -305 251 -265T278 -223Q278 -221 186 -221H95Q93 -218 89 -214T84 -208T82 -201T95 -181H306L404 -25H249L93 -23L86 -19Q82 -14 82 -7'], + + // stix-not superset, double equals + 0xE018: [828,330,778,82,694,'82 732Q82 739 95 752H251H348Q420 752 460 744T551 708Q566 697 566 701Q618 815 624 821Q631 828 640 828Q653 825 658 810L600 677Q600 671 615 656T653 605T689 517Q692 496 692 461T689 406Q668 325 615 266Q572 221 513 196T391 170H373L340 92L304 14H680Q693 1 693 -6Q693 -11 680 -26H286L253 -103L218 -179L451 -181H682Q694 -193 694 -201Q694 -212 682 -219L440 -221H200L178 -270Q160 -309 154 -319T139 -330Q122 -330 118 -312L155 -223Q155 -221 126 -221H95Q82 -206 82 -201T95 -181H175L206 -108Q237 -35 242 -30Q242 -26 169 -26H95Q82 -11 82 -6Q82 1 95 14H262L295 92L331 170H95Q93 172 91 175T87 180T84 185T82 191Q82 199 93 210H220L349 212L549 659Q507 692 462 702T338 712H249H95Q82 727 82 732ZM652 473Q652 513 636 552T603 611T582 632Q581 632 487 422T393 210Q424 210 460 220T535 253T605 316T649 410Q652 427 652 461V473'], + + // ?? + 0xE019: [752,333,778,82,693,'82 732Q82 739 95 752H251Q415 752 426 750Q539 736 615 657Q667 599 689 517Q692 496 692 461T689 406Q668 325 615 266Q522 170 382 170H355L326 95Q319 80 311 59T298 28T293 17Q293 15 486 15H680Q693 0 693 -6T680 -25H275L213 -179L449 -181H682Q693 -192 693 -199T680 -221H198L178 -270Q153 -333 139 -333Q132 -333 126 -327T119 -314T135 -266T153 -223Q153 -221 124 -221H95Q82 -207 82 -201T95 -181H171L233 -25H162L93 -23L86 -19Q82 -14 82 -7T95 15H251L313 170H202L93 172L86 177Q82 182 82 190Q82 199 93 210H211L329 212L349 261Q366 301 372 311T386 321Q392 321 399 315T407 302Q407 295 390 254T373 210Q374 209 377 209Q412 209 444 217Q512 231 564 273T638 377Q651 414 651 461Q651 509 638 548Q613 613 555 656T422 710Q411 712 249 712H95Q82 727 82 732'], + + // ?? + 0xE01A: [634,255,778,84,694,'693 -115T693 -122T680 -144H315L269 -199Q221 -255 213 -255H212Q203 -255 197 -248T193 -231Q195 -225 229 -184L262 -144H186L113 -142L106 -137Q102 -130 102 -125Q102 -119 115 -104H298L426 52H386Q342 54 309 63Q236 79 180 129T98 249Q84 289 84 343Q84 398 98 436Q126 514 193 567T346 632Q347 632 373 632T440 633T520 634H680Q682 631 686 627T691 621T693 614T680 594H526Q364 594 353 592Q268 581 207 528T126 394Q123 378 123 343T126 292Q141 231 181 185T280 114Q329 92 415 92H462L506 147Q554 203 562 203H563Q572 203 578 196T582 178Q579 173 546 132L513 94L598 92H682Q693 81 693 73T680 52H480L349 -102L515 -104H682Q693 -115 693 -122'], + + // ?? + 0xE01B: [634,254,778,82,691,'82 610T82 614T83 620T89 627T95 634H251Q378 634 409 633T469 623Q540 604 596 554T678 436Q691 397 691 343T678 249Q653 181 597 131T469 63Q427 52 362 52H315L213 -102L438 -104H662Q673 -115 673 -123Q673 -129 660 -144H186L151 -197Q114 -250 109 -253Q106 -254 104 -254Q100 -254 98 -253Q91 -253 87 -248T82 -235Q82 -230 109 -186L138 -144H115Q82 -144 82 -125Q82 -119 95 -104H166L266 49Q266 52 182 52H95Q82 65 82 72Q82 76 83 78T89 85T95 92H295L329 143Q365 195 369 198Q372 203 380 203Q385 203 391 197T398 185Q398 184 398 184L399 182Q399 175 369 129L344 94Q344 92 376 92Q402 92 422 94Q496 104 554 147T638 256Q651 295 651 343Q651 390 638 429Q613 494 555 537T422 592Q411 594 249 594H95Q82 610 82 614'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/PUA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js new file mode 100644 index 00000000..377e489b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/SpacingModLetters.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [845,-561,2333,-14,2346,'1 561Q-3 563 -6 577T-12 604L-14 618Q-14 625 -7 628T23 635Q31 636 36 637Q63 641 621 745Q1148 845 1165 845Q1167 845 1752 739L2338 630Q2346 630 2346 618Q2340 565 2332 561Q2329 561 1749 654Q1617 675 1466 699T1241 736T1167 748Q1165 748 1093 737T867 700T583 654Q3 561 1 561'], + + // SMALL TILDE + 0x2DC: [899,-628,2333,1,2330,'804 788Q717 788 606 772T397 732T213 685T75 645T18 628Q11 628 11 632Q8 637 4 668T2 704Q2 713 36 732Q55 739 242 795Q622 898 826 898Q893 898 947 895Q1009 887 1056 872T1187 819Q1286 776 1356 758T1527 739Q1614 739 1725 755T1934 795T2118 842T2256 882T2313 899Q2320 899 2320 895Q2323 890 2327 860T2329 824Q2329 818 2296 795Q2273 787 2089 732Q1810 657 1598 632Q1562 629 1492 629Q1389 629 1320 644T1144 708Q1048 751 977 769T804 788'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/SpacingModLetters.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js new file mode 100644 index 00000000..f00135fc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js @@ -0,0 +1,95 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/AMS/Regular/SuppMathOperators.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_AMS'], + { + // LOGICAL AND WITH DOUBLE OVERBAR + 0x2A5E: [813,97,611,54,555,'55 795Q56 806 70 813H540Q554 806 555 795Q555 791 554 788T552 783T549 779T546 777T542 775T539 773H71Q70 773 68 774T65 776T61 779T58 783T56 788T55 795ZM55 601Q56 612 70 619H540Q554 612 555 601Q555 597 554 594T552 589T549 585T546 583T542 581T539 579H71Q70 579 68 580T65 582T61 585T58 589T56 594T55 601ZM75 -97Q67 -97 61 -91T55 -81Q55 -71 169 166T285 410Q295 425 305 425Q311 425 316 422T323 414L325 410Q327 404 441 167T555 -81Q555 -85 549 -91T535 -97T520 -90Q519 -89 506 -61T463 27T411 136L305 358L199 136Q167 71 129 -10Q98 -75 92 -86T75 -97'], + + // LESS-THAN OR SLANTED EQUAL TO + 0x2A7D: [636,138,778,83,694,'674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM94 170Q102 172 104 172Q110 171 254 103T535 -30T678 -98Q694 -106 694 -118Q694 -136 676 -138H670L382 -2Q92 135 90 137Q83 142 83 154Q84 164 94 170'], + + // GREATER-THAN OR SLANTED EQUAL TO + 0x2A7E: [636,138,778,82,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 356 694 346T687 331Q685 329 395 192L107 56H101Q83 58 83 76Q83 77 83 79Q82 86 98 95Q117 105 248 167Q326 204 378 228L626 346L360 472Q291 505 200 548Q112 589 98 597T83 616ZM674 172Q692 172 694 154Q694 142 687 137Q685 135 395 -2L107 -138H101Q83 -136 83 -118Q83 -106 96 -100Q100 -98 380 35T665 170T674 172'], + + // LESS-THAN OR APPROXIMATE + 0x2A85: [762,290,778,55,722,'667 761Q669 762 673 762Q682 762 688 756T694 741Q694 731 687 727Q684 724 420 613L156 502L416 392Q476 367 544 338T647 295T682 280Q694 274 694 262Q694 244 676 242Q670 242 524 303T235 425T90 487Q83 493 83 501Q83 514 94 519Q97 520 378 639T667 761ZM55 -23Q55 43 103 90T223 138Q265 138 316 114Q342 100 393 68L443 36Q502 0 554 0Q609 0 650 32T694 109Q694 138 708 138Q710 138 713 136T719 127T722 108Q722 37 673 -9T557 -56Q514 -56 468 -35T387 13T308 60T223 82Q167 82 127 50T83 -27Q81 -56 69 -56Q55 -56 55 -23ZM55 -257Q55 -191 103 -144T223 -96Q265 -96 316 -120Q342 -134 393 -166L443 -198Q502 -234 554 -234Q609 -234 650 -202T694 -125Q694 -96 708 -96Q710 -96 713 -98T719 -107T722 -126Q722 -197 673 -243T557 -290Q514 -290 468 -269T387 -221T308 -174T223 -152Q167 -152 127 -184T83 -261Q80 -290 69 -290Q55 -290 55 -257'], + + // GREATER-THAN OR APPROXIMATE + 0x2A86: [762,290,778,55,722,'90 727Q83 734 83 743Q83 751 89 756T104 762Q111 760 396 641Q686 518 687 517Q694 512 694 502T687 487Q686 486 543 425T253 303T101 242Q83 244 83 262Q83 274 95 280Q96 280 130 294T232 338T361 392L621 502L357 613Q93 724 90 727ZM55 -23Q55 43 103 90T223 138Q265 138 316 114Q342 100 393 68L443 36Q502 0 554 0Q609 0 650 32T694 109Q694 138 708 138Q710 138 713 136T719 127T722 108Q722 37 673 -9T557 -56Q514 -56 468 -35T387 13T308 60T223 82Q167 82 127 50T83 -27Q81 -56 69 -56Q55 -56 55 -23ZM55 -257Q55 -191 103 -144T223 -96Q265 -96 316 -120Q342 -134 393 -166L443 -198Q502 -234 554 -234Q609 -234 650 -202T694 -125Q694 -96 708 -96Q710 -96 713 -98T719 -107T722 -126Q722 -197 673 -243T557 -290Q514 -290 468 -269T387 -221T308 -174T223 -152Q167 -152 127 -184T83 -261Q80 -290 69 -290Q55 -290 55 -257'], + + // LESS-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A87: [636,241,778,82,694,'380 497Q445 528 522 564T636 618T673 635Q680 635 686 628T693 615T689 603Q686 599 418 472L151 343L418 215Q686 88 689 83Q693 79 693 72T687 59T675 52Q669 52 381 189T86 332Q82 337 82 344Q82 350 86 355Q91 359 380 497ZM82 -130T82 -124T95 -103H380L431 -54Q476 -6 486 -6Q491 -6 498 -12T505 -27Q505 -28 505 -29T504 -32Q503 -33 498 -38T485 -53T469 -70L438 -103H680Q682 -106 686 -110T691 -116T693 -123Q693 -130 680 -143H398L346 -192Q300 -241 291 -241Q271 -241 271 -221Q271 -209 306 -179L340 -143H95Q82 -130 82 -124'], + + // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A88: [635,241,778,82,693,'82 614Q82 620 86 625T94 632T100 635Q106 635 394 498T689 355Q693 349 693 343Q693 338 689 332Q683 327 395 190T100 52Q95 52 89 58T82 72Q82 80 95 88Q114 99 358 215L624 343L358 472Q89 599 86 603Q82 607 82 614ZM82 -130T82 -124T95 -103H380L431 -54Q476 -6 486 -6Q491 -6 498 -12T505 -27Q505 -28 505 -29T504 -32Q503 -33 498 -38T485 -53T469 -70L438 -103H680Q682 -106 686 -110T691 -116T693 -123Q693 -130 680 -143H398L346 -192Q300 -241 291 -241Q271 -241 271 -221Q271 -209 306 -179L340 -143H95Q82 -130 82 -124'], + + // LESS-THAN AND NOT APPROXIMATE + 0x2A89: [761,387,778,57,718,'86 512Q93 518 381 639T673 761Q680 761 686 755T693 741Q693 733 688 730Q685 723 419 612L155 501L419 390Q685 277 688 272Q693 269 693 261Q693 254 687 248T675 241Q669 241 381 362T86 490Q74 500 86 512ZM70 -59Q57 -59 57 -24Q57 40 104 87Q116 102 146 118Q186 136 231 136Q232 136 242 135T258 133T276 128T302 118T334 101T377 74Q386 69 396 63T411 53T417 50Q435 87 453 134Q491 223 495 227Q498 230 505 230Q513 230 519 225T526 212Q526 203 491 118T453 30Q453 22 489 10T553 -3Q589 -3 622 14Q653 28 669 50T688 90T694 122T706 136Q718 136 718 114Q718 113 718 109T717 103Q717 31 668 -14T554 -60Q529 -60 499 -50T451 -32T433 -24Q431 -24 404 -90T375 -157Q375 -159 402 -178T473 -218T553 -239Q599 -239 641 -211T691 -130Q694 -99 706 -99T718 -122Q718 -123 718 -127T717 -133Q717 -204 668 -249T559 -295Q512 -295 470 -275T355 -206L322 -290Q313 -310 304 -332T289 -367T282 -382Q277 -387 270 -387Q262 -387 255 -382T248 -368Q248 -361 322 -186Q311 -177 280 -166T222 -155Q189 -155 153 -173Q122 -186 106 -208T87 -248T82 -280T71 -294Q57 -294 57 -259Q57 -195 104 -148Q122 -126 155 -113T220 -99Q245 -99 276 -109T324 -127T342 -135Q397 -2 397 1Q386 10 367 23T302 58T222 80Q175 80 132 52T84 -28Q82 -59 70 -59'], + + // GREATER-THAN AND NOT APPROXIMATE + 0x2A8A: [761,387,778,57,718,'86 730Q81 734 81 740Q81 747 88 754T99 761Q103 761 392 640T688 512Q693 509 693 501T688 490Q682 484 394 363T99 241Q94 241 88 248T82 261Q82 268 86 272Q89 277 355 390L619 501L355 612Q89 723 86 730ZM70 -59Q57 -59 57 -24Q57 40 104 87Q116 102 146 118Q186 136 231 136Q232 136 242 135T258 133T276 128T302 118T334 101T377 74Q386 69 396 63T411 53T417 50Q435 87 453 134Q491 223 495 227Q498 230 505 230Q513 230 519 225T526 212Q526 203 491 118T453 30Q453 22 489 10T553 -3Q589 -3 622 14Q653 28 669 50T688 90T694 122T706 136Q718 136 718 114Q718 113 718 109T717 103Q717 31 668 -14T554 -60Q529 -60 499 -50T451 -32T433 -24Q431 -24 404 -90T375 -157Q375 -159 402 -178T473 -218T553 -239Q599 -239 641 -211T691 -130Q694 -99 706 -99T718 -122Q718 -123 718 -127T717 -133Q717 -204 668 -249T559 -295Q512 -295 470 -275T355 -206L322 -290Q313 -310 304 -332T289 -367T282 -382Q277 -387 270 -387Q262 -387 255 -382T248 -368Q248 -361 322 -186Q311 -177 280 -166T222 -155Q189 -155 153 -173Q122 -186 106 -208T87 -248T82 -280T71 -294Q57 -294 57 -259Q57 -195 104 -148Q122 -126 155 -113T220 -99Q245 -99 276 -109T324 -127T342 -135Q397 -2 397 1Q386 10 367 23T302 58T222 80Q175 80 132 52T84 -28Q82 -59 70 -59'], + + // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN + 0x2A8B: [1003,463,778,83,694,'674 1003Q681 1003 687 999T694 983Q694 973 683 967Q669 959 420 868L162 772L422 676Q683 579 685 577Q694 571 694 560Q694 550 687 546T673 541Q669 542 384 647T93 755Q83 760 83 772Q83 783 91 788Q98 791 383 897T674 1003ZM84 354T84 367T98 387H679Q694 379 694 367Q694 354 679 347H98Q84 354 84 367ZM84 160T84 173T98 193H679Q694 185 694 173Q694 160 679 153H98Q84 160 84 173ZM94 -3Q102 -1 104 -1Q107 -2 392 -107T684 -215Q694 -219 694 -232Q694 -241 687 -247Q686 -248 395 -357Q106 -463 101 -463Q83 -461 83 -443Q83 -431 94 -426Q97 -423 357 -328L615 -232L355 -136Q94 -39 92 -37Q83 -31 83 -21Q83 -9 94 -3'], + + // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN + 0x2A8C: [1003,463,778,83,694,'104 541Q98 541 91 545T83 560Q83 571 92 577Q94 579 355 676L615 772L357 868Q108 959 94 967Q83 973 83 983Q83 989 87 996T104 1003Q109 1002 396 896T687 787Q694 781 694 772Q694 759 684 755Q678 752 393 647T104 541ZM84 367Q84 380 98 387H679Q694 379 694 367Q694 356 680 348L390 347H100Q84 352 84 367ZM84 173Q84 188 100 193H680Q694 183 694 173Q694 160 679 153H98Q84 160 84 173ZM674 -1Q682 -1 688 -6T694 -20Q694 -31 685 -37Q683 -39 422 -136L162 -232L420 -328Q680 -423 683 -426Q694 -431 694 -443Q694 -461 676 -463Q671 -463 382 -357Q91 -248 90 -247Q83 -242 83 -232Q83 -220 93 -215Q667 -1 674 -1'], + + // SLANTED EQUAL TO OR LESS-THAN + 0x2A95: [636,138,778,83,694,'674 636Q682 636 688 631T694 616Q694 605 687 601Q685 599 395 462L107 326H101Q83 328 83 345Q83 358 96 365Q102 367 382 500T665 634Q671 636 674 636ZM674 442Q692 442 694 424Q694 412 687 407Q686 406 417 278L151 152L399 34Q687 -102 691 -107Q694 -113 694 -118Q694 -136 676 -138H670L382 -2Q92 135 90 137Q83 142 83 154Q84 165 96 171Q104 175 382 306T665 440Q669 442 674 442'], + + // SLANTED EQUAL TO OR GREATER-THAN + 0x2A96: [636,138,778,83,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 354 694 346Q694 328 676 326H670L382 462Q317 493 226 535Q119 585 101 595T83 616ZM94 440Q102 442 104 442Q110 441 254 373T535 240T678 172Q679 172 680 171Q694 164 694 153T687 137Q685 135 395 -2L107 -138H101Q83 -136 83 -118Q83 -106 93 -101L128 -84Q163 -68 230 -36T361 26L626 152L360 278Q91 406 90 407Q83 412 83 424Q84 434 94 440'], + + // PRECEDES ABOVE NOT EQUAL TO + 0x2AB5: [752,286,778,82,693,'653 734Q653 738 660 745T673 752T686 745T693 723Q672 555 466 485Q390 463 378 463Q373 463 373 461Q373 458 378 458Q390 458 466 436Q562 404 620 350Q682 283 693 198Q693 183 686 176Q681 170 674 170T660 176T653 187Q653 192 652 200T646 228T631 265T602 307T555 350Q435 431 151 441H95Q82 454 82 460T95 481H151Q165 482 197 483T238 485Q427 500 528 554T649 707Q653 729 653 734ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], + + // SUCCEEDS ABOVE NOT EQUAL TO + 0x2AB6: [752,286,778,82,693,'693 466T693 460T680 441H624Q608 439 577 438T538 436Q349 421 248 367T126 214Q122 192 122 187Q122 183 116 177T102 170Q95 170 89 176Q82 183 82 198Q93 283 155 350Q213 404 309 436Q385 458 398 458Q402 458 402 461Q402 463 398 463Q385 463 309 485Q103 555 82 723Q82 738 89 745T102 752T115 745T122 734Q122 721 126 701T155 640T220 572Q340 490 624 481H680Q693 466 693 460ZM82 33Q82 37 83 40T89 47T95 54H473L520 105Q569 156 571 156Q573 157 578 157Q586 157 592 151T598 136Q598 130 562 92L526 56L604 54H682Q693 43 693 35Q693 31 692 28T686 21T680 14H489L342 -139L513 -142H682Q693 -148 693 -160Q693 -167 680 -182H304L258 -230Q248 -240 237 -251T221 -268T211 -278T203 -284T197 -286Q189 -286 184 -280T178 -264Q178 -257 213 -219L249 -182H171L93 -179L86 -175Q82 -170 82 -163Q82 -155 95 -142H289L360 -64L433 14H262L93 16Q82 23 82 33'], + + // PRECEDES ABOVE ALMOST EQUAL TO + 0x2AB7: [761,294,778,57,717,'82 494T82 501T95 521H171Q405 527 511 569Q630 618 651 732Q652 734 653 740T655 748T658 754T663 759T672 761L686 754Q693 747 693 734Q684 668 648 623Q627 591 573 557T442 507L417 501Q428 496 442 494Q520 478 573 444T648 378Q684 333 693 267Q693 254 686 247Q673 234 659 245Q657 247 651 269Q630 383 511 432Q406 474 171 481H95Q82 494 82 501ZM70 -59Q57 -59 57 -26Q57 30 90 73T177 132Q191 136 226 136Q228 136 239 136T253 135T267 132T287 125T311 113T346 95T391 67Q462 20 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 704 136Q717 136 717 115V105Q717 39 671 -9T554 -58Q518 -58 481 -43T382 14Q302 63 273 74Q255 78 222 78Q188 78 173 74Q90 46 84 -28Q82 -59 70 -59ZM71 -294Q57 -294 57 -262Q57 -205 90 -162T177 -104Q191 -99 226 -99Q266 -103 277 -106Q310 -119 391 -168Q455 -212 502 -231Q519 -235 553 -235Q586 -235 602 -231Q640 -218 661 -195T686 -151T693 -115T704 -99Q717 -99 717 -121V-131Q717 -198 671 -246T556 -294Q519 -294 482 -279T382 -222Q307 -175 273 -162Q255 -157 222 -157Q188 -157 173 -162Q133 -175 110 -201T84 -264Q82 -294 71 -294'], + + // SUCCEEDS ABOVE ALMOST EQUAL TO + 0x2AB8: [761,294,778,57,717,'693 501Q693 493 679 481H604Q369 474 264 432Q143 382 124 269Q116 246 115 245Q101 234 88 247Q82 254 82 267Q89 329 126 378Q147 410 201 444T333 494L357 501Q354 502 340 505T318 510T295 516T269 525T243 535T215 548T188 565Q142 599 126 623Q89 672 82 734Q82 761 102 761L115 756Q116 755 124 732Q143 619 264 569Q371 527 604 521H679Q693 507 693 501ZM70 -59Q57 -59 57 -26Q57 30 90 73T177 132Q191 136 226 136Q228 136 239 136T253 135T267 132T287 125T311 113T346 95T391 67Q462 20 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 704 136Q717 136 717 115V105Q717 39 671 -9T554 -58Q518 -58 481 -43T382 14Q302 63 273 74Q255 78 222 78Q188 78 173 74Q90 46 84 -28Q82 -59 70 -59ZM71 -294Q57 -294 57 -262Q57 -205 90 -162T177 -104Q191 -99 226 -99Q266 -103 277 -106Q310 -119 391 -168Q455 -212 502 -231Q519 -235 553 -235Q586 -235 602 -231Q640 -218 661 -195T686 -151T693 -115T704 -99Q717 -99 717 -121V-131Q717 -198 671 -246T556 -294Q519 -294 482 -279T382 -222Q307 -175 273 -162Q255 -157 222 -157Q188 -157 173 -162Q133 -175 110 -201T84 -264Q82 -294 71 -294'], + + // PRECEDES ABOVE NOT ALMOST EQUAL TO + 0x2AB9: [761,337,778,57,718,'82 494T82 501T95 521H171Q256 523 317 528T441 548T543 584T613 644T651 732Q652 734 653 740T655 748T658 754T663 759T672 761L686 754Q693 747 693 734Q686 686 664 647T615 586T548 545T482 518T417 501Q419 500 451 493T517 471T590 434T657 367T693 267Q693 241 673 241Q664 241 659 245Q656 249 650 273T635 323T593 380T511 432Q406 474 171 481H95Q82 494 82 501ZM57 -26Q57 39 101 87T219 136Q254 136 277 130Q320 114 382 72Q419 50 424 45Q426 45 459 110Q496 178 497 179Q500 180 504 180Q509 180 517 175T526 161Q526 158 495 90L462 25Q462 21 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 706 136T718 115Q718 114 718 111T717 105Q717 39 671 -9T554 -58L459 -33Q450 -29 444 -27T437 -26L371 -155L391 -168Q485 -235 538 -235H553Q586 -235 602 -230Q683 -204 691 -128Q694 -99 706 -99T718 -120Q718 -121 718 -124T717 -130Q717 -199 670 -246T557 -294T393 -228Q353 -205 351 -201Q348 -201 315 -266Q294 -310 285 -323T268 -337Q259 -337 254 -331T248 -317Q248 -305 282 -246L313 -181Q313 -177 273 -161Q255 -157 222 -157Q188 -157 173 -161Q134 -174 113 -198T88 -242T82 -278T71 -294Q57 -294 57 -261Q57 -204 91 -161T179 -104Q195 -99 228 -99Q274 -102 315 -124Q337 -132 337 -130L404 -1L384 12Q319 58 273 74Q255 79 222 79Q188 79 173 74Q133 61 112 37T88 -7T82 -43T70 -59Q57 -59 57 -26'], + + // SUCCEEDS ABOVE NOT ALMOST EQUAL TO + 0x2ABA: [761,337,778,57,718,'693 501Q693 493 679 481H604Q548 479 509 477T418 469T331 454T257 429T194 392T150 340T124 270Q117 247 115 245Q101 236 88 247Q82 254 82 267Q89 330 126 379Q147 411 202 444T333 494L357 501Q239 531 188 565Q142 599 126 623Q89 672 82 734Q82 761 102 761L115 756Q116 755 124 732Q133 678 166 640T241 579T349 544T470 527T604 521H679Q693 507 693 501ZM57 -26Q57 39 101 87T219 136Q254 136 277 130Q320 114 382 72Q419 50 424 45Q426 45 459 110Q496 178 497 179Q500 180 504 180Q509 180 517 175T526 161Q526 158 495 90L462 25Q462 21 502 5Q519 1 553 1Q586 1 602 5Q641 18 664 45T691 107Q694 136 706 136T718 115Q718 114 718 111T717 105Q717 39 671 -9T554 -58L459 -33Q450 -29 444 -27T437 -26L371 -155L391 -168Q485 -235 538 -235H553Q586 -235 602 -230Q683 -204 691 -128Q694 -99 706 -99T718 -120Q718 -121 718 -124T717 -130Q717 -199 670 -246T557 -294T393 -228Q353 -205 351 -201Q348 -201 315 -266Q294 -310 285 -323T268 -337Q259 -337 254 -331T248 -317Q248 -305 282 -246L313 -181Q313 -177 273 -161Q255 -157 222 -157Q188 -157 173 -161Q134 -174 113 -198T88 -242T82 -278T71 -294Q57 -294 57 -261Q57 -204 91 -161T179 -104Q195 -99 228 -99Q274 -102 315 -124Q337 -132 337 -130L404 -1L384 12Q319 58 273 74Q255 79 222 79Q188 79 173 74Q133 61 112 37T88 -7T82 -43T70 -59Q57 -59 57 -26'], + + // SUBSET OF ABOVE EQUALS SIGN + 0x2AC5: [754,215,778,84,694,'84 463Q84 585 166 663T360 752Q361 752 370 752T395 752T430 752T475 753T524 753H679Q694 746 694 733Q694 724 681 714L522 713H470H441Q366 713 338 709T266 685Q244 674 224 659T179 617T139 550T124 463V458Q124 370 185 302Q244 238 328 220Q348 215 366 215T522 213H681Q694 203 694 193Q694 180 679 173H526Q510 173 480 173T434 172Q350 172 289 188T172 258Q84 340 84 463ZM84 -14T84 -1T98 19H679Q694 11 694 -1Q694 -14 679 -21H98Q84 -14 84 -1ZM84 -208T84 -195T98 -175H679Q694 -183 694 -195Q694 -208 679 -215H98Q84 -208 84 -195'], + + // SUPERSET OF ABOVE EQUALS SIGN + 0x2AC6: [754,215,778,83,694,'83 733Q83 746 98 753H251Q267 753 297 753T343 754Q427 754 488 738T605 668Q693 587 693 463Q693 378 650 312T545 213T415 174Q407 173 251 173H98Q83 180 83 193Q83 203 96 213H255H308H337Q412 213 439 217T512 241Q533 252 553 267T599 309T639 376T654 463Q654 554 592 624Q557 662 512 685Q468 704 439 708T335 713H306H255L96 714Q83 724 83 733ZM84 -14T84 -1T98 19H679Q694 11 694 -1Q694 -14 679 -21H98Q84 -14 84 -1ZM84 -208T84 -195T98 -175H679Q694 -183 694 -195Q694 -208 679 -215H98Q84 -208 84 -195'], + + // stix-subset not double equals, variant + 0x2ACB: [783,385,778,82,694,'693 221Q693 214 680 201H524Q398 201 367 202T309 212Q236 230 180 280T98 398Q84 438 84 492T98 585Q126 663 193 716T346 781Q347 781 373 781T440 782T520 783H680Q682 780 686 776T691 770T693 763T680 743H526Q364 743 353 741Q279 730 221 687T138 578Q124 540 124 492T138 405Q163 340 221 297T353 243Q364 241 526 241H680Q682 238 686 234T691 228T693 221ZM82 -48T82 -41T95 -19H462L513 41L569 105Q574 110 582 110T596 104T602 90Q602 87 600 83Q600 77 555 30L515 -17L600 -19H682Q693 -30 693 -38T680 -59H480L415 -137L349 -213L515 -215H682Q693 -226 693 -233T680 -255H313L260 -317Q224 -360 212 -372T192 -385Q184 -385 179 -377T173 -362Q174 -361 218 -306L260 -255H178L93 -253L86 -248Q82 -243 82 -235Q82 -226 93 -215H195L295 -213L362 -137L426 -59H260L93 -57L86 -53Q82 -48 82 -41'], + + // SUPERSET OF ABOVE NOT EQUAL TO + 0x2ACC: [783,385,778,82,693,'82 759T82 763T83 769T89 776T95 783H251Q378 783 409 782T469 772Q540 753 596 703T678 585Q691 546 691 492T678 398Q649 320 581 267T426 203Q415 201 251 201H95Q82 214 82 221Q82 225 83 227T89 234T95 241H249Q411 241 422 243Q496 253 554 296T638 405Q651 444 651 492Q651 539 638 578Q613 643 555 686T422 741Q411 743 249 743H95Q82 759 82 763ZM82 -48T82 -41T95 -19H462L513 41L569 105Q574 110 582 110T596 104T602 90Q602 87 600 83Q600 77 555 30L515 -17L600 -19H682Q693 -30 693 -38T680 -59H480L415 -137L349 -213L515 -215H682Q693 -226 693 -233T680 -255H313L260 -317Q224 -360 212 -372T192 -385Q184 -385 179 -377T173 -362Q174 -361 218 -306L260 -255H178L93 -253L86 -248Q82 -243 82 -235Q82 -226 93 -215H195L295 -213L362 -137L426 -59H260L93 -57L86 -53Q82 -48 82 -41'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/SuppMathOperators.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js new file mode 100644 index 00000000..6b0c89c4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js @@ -0,0 +1,167 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Caligraphic/Bold/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Caligraphic-bold'] = { + directory: 'Caligraphic/Bold', + family: 'MathJax_Caligraphic', + id: 'MJCALB', + weight: 'bold', + skew: { + 0x41: 0.224, + 0x42: 0.16, + 0x43: 0.16, + 0x44: 0.0958, + 0x45: 0.128, + 0x46: 0.128, + 0x47: 0.128, + 0x48: 0.128, + 0x49: 0.0319, + 0x4A: 0.192, + 0x4B: 0.0639, + 0x4C: 0.16, + 0x4D: 0.16, + 0x4E: 0.0958, + 0x4F: 0.128, + 0x50: 0.0958, + 0x51: 0.128, + 0x52: 0.0958, + 0x53: 0.16, + 0x54: 0.0319, + 0x55: 0.0958, + 0x56: 0.0319, + 0x57: 0.0958, + 0x58: 0.16, + 0x59: 0.0958, + 0x5A: 0.16 + }, + + // SPACE + 0x20: [0,0,250,0,0,''], + + // DIGIT ZERO + 0x30: [460,17,575,46,528,'259 460H279Q352 460 403 444T491 378Q528 320 528 219Q528 100 475 45Q417 -17 287 -17Q152 -17 99 44T46 219Q46 246 47 265T57 318T82 376T131 422T210 454Q234 460 259 460ZM389 229V271Q389 351 371 380T280 409Q232 409 208 385Q194 371 190 345T185 229V210Q185 108 194 83Q208 35 287 35Q317 35 336 42Q372 55 380 85T389 204V229'], + + // DIGIT ONE + 0x31: [461,0,575,80,494,'119 417Q191 417 240 428T310 450T338 461Q353 461 357 452T361 400Q361 389 361 342T360 254V62H420H456Q483 62 488 58T494 35V29Q494 13 491 7T473 0Q468 0 424 1T295 2T167 1T117 0Q114 0 111 0T107 1Q96 8 96 27V35Q96 54 102 58T140 62H170H229V213Q229 363 228 363Q220 360 196 358T150 356L130 355H93Q84 360 82 365T80 386Q80 404 81 407T95 417H119'], + + // DIGIT TWO + 0x32: [460,0,575,51,517,'214 399Q202 399 191 398T175 395T170 392L171 390Q172 389 174 386T178 379T181 369T182 355Q182 328 165 312T123 296Q99 296 82 312T64 356Q64 397 105 428T253 460Q301 460 337 456T411 441T476 403T514 338Q516 328 516 310V304Q516 257 470 227Q456 217 427 205T376 184L354 176Q350 174 325 162T277 139L254 128Q414 129 428 130H439Q450 148 453 166T460 188T486 193H493Q515 193 517 178Q517 171 502 94T484 11Q481 3 472 2T410 0H269Q65 0 62 2Q55 5 53 10T51 32Q51 54 56 58Q60 62 173 131Q296 207 318 224Q368 264 368 308Q368 342 342 363T283 392T214 399'], + + // DIGIT THREE + 0x33: [461,212,575,48,526,'80 309Q80 367 131 414T276 461Q388 461 441 417T494 313Q494 265 463 223T373 155L361 151L376 147Q436 132 480 92T525 -15T487 -127T393 -192T274 -211Q179 -211 114 -167T48 -53Q48 -18 69 5T128 29Q168 29 188 5T208 -50Q208 -59 207 -67T203 -81T197 -92T190 -101T183 -109T177 -114T170 -118L167 -121Q160 -125 164 -127Q167 -129 176 -133Q215 -152 268 -152H273Q337 -152 356 -92Q364 -69 364 -14Q364 45 352 74T303 120Q287 125 240 125H230Q201 125 196 127T191 146V152Q192 170 196 173T233 178Q234 178 241 178T252 179T262 181T274 183T285 188T297 195T308 205T319 218T328 235T337 257Q345 280 345 320V330Q345 345 343 355T335 379T312 399T270 407Q226 407 177 377Q226 356 226 310Q226 270 204 253T153 235Q123 235 102 253T80 309'], + + // DIGIT FOUR + 0x34: [469,194,575,32,542,'180 0Q155 0 124 0T84 -1Q48 -1 40 3T32 27V37Q32 59 34 63T204 265T377 465Q380 468 383 468H387Q391 468 398 468T411 469Q432 469 438 468T449 459Q451 455 451 258V62H489H498Q531 62 536 58T542 31Q542 9 537 5T504 0H489H451V-132H489H498Q530 -132 536 -136T542 -163Q542 -181 538 -187T522 -194Q518 -194 483 -193T378 -192Q281 -192 256 -193L217 -194Q203 -189 203 -169V-163V-158Q203 -140 209 -136T246 -132H265H314V0H180ZM325 62V320L105 63L215 62H325'], + + // DIGIT FIVE + 0x35: [461,211,575,57,517,'131 29Q159 26 175 12T194 -13T197 -35V-41Q197 -58 195 -66Q191 -76 185 -84T173 -97T161 -105T152 -109L148 -110Q148 -112 158 -121T195 -141T252 -152Q274 -152 280 -151Q335 -137 349 -104T363 9Q363 85 356 114T322 157Q305 166 286 166Q251 166 223 154T182 131T162 109Q154 98 150 96T130 93Q107 93 102 104Q100 107 100 279V371V424Q100 461 110 461Q114 461 123 458T149 450T183 441Q234 429 286 429Q313 429 340 432T387 440T422 449T447 457T458 461Q472 461 472 435Q472 420 470 418Q464 405 438 379T352 325T226 297Q189 297 171 301H168V182Q169 182 174 185T190 194T213 205T248 213T292 217Q391 217 454 159T517 5Q517 -92 444 -151T255 -211Q167 -211 112 -160T57 -44Q57 -12 76 8T131 29'], + + // DIGIT SIX + 0x36: [660,17,575,48,526,'48 316Q48 398 70 462T124 562T198 621T274 652T339 660Q377 660 384 659Q497 632 497 532Q497 507 482 487T431 466Q397 466 381 486T365 530Q365 569 405 593Q382 603 381 603Q361 607 350 607Q316 607 279 589T221 533Q199 489 196 385L195 370Q196 371 203 379T217 395T237 410T263 424Q283 431 313 431Q409 431 468 368Q526 310 526 208Q526 131 492 81T405 5Q359 -17 289 -17Q256 -17 227 -11T163 17T105 73T65 170T48 316ZM293 380Q244 380 220 331T196 212Q196 104 216 80Q240 41 292 41Q295 41 301 41T309 42Q338 46 355 62Q372 81 375 108T379 230Q378 314 372 333Q358 375 299 380H293'], + + // DIGIT SEVEN + 0x37: [476,211,575,64,558,'95 210H88Q66 210 64 225Q64 229 82 345T102 465Q106 476 125 476H131Q162 476 162 458Q162 451 213 448Q221 448 238 447T260 446Q261 446 410 444Q436 444 468 444T509 445Q544 445 551 440T558 413V404Q558 395 547 380T478 301L392 202Q354 150 339 81T321 -104V-132Q321 -187 286 -203Q273 -211 255 -211Q236 -211 217 -199T190 -160Q189 -153 189 -130Q194 17 282 156Q309 200 370 270Q404 307 400 307H293Q151 306 146 303Q140 300 132 259T120 215Q115 210 95 210'], + + // DIGIT EIGHT + 0x38: [661,17,575,48,526,'48 164Q48 199 59 228T92 277T128 307T163 329Q159 332 155 336Q135 346 110 382Q80 427 80 477Q80 564 147 620Q202 660 264 660Q266 660 275 660T290 661Q384 661 439 619T494 506Q494 486 489 468T477 437T459 413T440 395T421 380T406 370L410 368Q414 365 421 361T437 351T456 335T476 316T495 291T511 262T522 228T526 189Q526 93 460 38T282 -17Q242 -17 205 -9T130 19T71 75T48 164ZM406 506Q406 545 379 576T283 607Q218 606 193 585T168 536Q168 522 172 513T195 490T224 471T275 443L346 403Q406 446 406 506ZM291 42Q365 42 395 70T425 134V141Q425 170 401 190T319 242Q308 248 302 251Q286 260 266 271T235 288L225 294Q222 292 217 289T198 274T175 249T157 212T148 163Q148 116 179 79T291 42'], + + // DIGIT NINE + 0x39: [461,210,575,48,526,'175 -140Q198 -152 236 -152Q294 -152 332 -116Q356 -91 366 -54T379 62V78L376 74Q372 70 366 64T352 50T333 35T308 23Q289 17 262 17Q168 17 108 77T48 235Q48 273 59 317Q81 381 141 421T276 461Q279 461 285 461T295 460Q326 460 354 454T415 426T471 371T510 277T526 136Q526 42 501 -28T432 -136T341 -192T240 -210Q199 -210 169 -201T121 -178T94 -146T80 -112T77 -82Q77 -51 95 -33T143 -15Q170 -15 189 -33T209 -81Q209 -116 175 -140ZM377 244V274Q377 300 376 316T368 352T348 384T312 405Q307 406 283 406Q257 406 238 396T213 376T205 361Q196 341 196 259V233V181Q196 122 211 96T278 69H298Q330 82 345 104Q367 134 376 190Q377 200 377 244'], + + // LATIN CAPITAL LETTER A + 0x41: [751,49,921,39,989,'761 751Q784 751 784 728V711Q784 570 795 417T820 191Q844 76 865 76Q868 76 902 93T962 112H973Q989 104 989 94Q989 92 987 86Q978 47 846 -11Q812 -25 779 -26Q722 -26 708 9Q688 47 669 161H524L379 162L359 136Q286 43 234 -3T142 -49T71 -19T39 55Q39 92 60 131T103 174Q113 174 117 167T124 149T136 128T166 110Q183 105 190 105Q230 105 341 246Q401 322 453 397T531 514T582 601T611 651H640V663Q640 692 676 718T745 750Q747 750 752 750T761 751ZM658 266Q653 312 649 377T644 489T641 541V556L557 415Q500 325 448 253Q467 261 524 261H568H658V266'], + + // LATIN CAPITAL LETTER B + 0x42: [706,17,748,40,739,'441 83Q571 83 571 195Q571 246 538 279T466 322T386 333Q378 333 357 330T329 327Q307 327 307 345Q307 354 313 365T347 396T419 430Q546 472 581 498Q594 508 594 535Q594 574 567 589T508 604Q469 604 442 583Q390 546 342 457T265 256Q237 148 186 60Q167 29 144 13Q105 -15 68 -17H65Q40 -17 40 1Q40 7 53 29T87 100T124 210Q162 373 190 575Q188 575 174 567T138 550T98 542Q75 542 75 560Q75 588 123 618Q135 625 203 659T281 696Q299 703 316 703Q339 703 339 685Q339 656 328 583L333 588Q338 592 346 599T367 615T394 634T428 654T467 674T511 690T559 701T611 705Q651 704 681 689Q739 659 739 598Q739 507 595 427L584 421Q585 420 595 416T610 410T626 402T644 392T660 380T677 365T691 347T703 325T710 299T715 268Q717 193 665 130Q622 73 531 28T348 -17Q275 -17 225 10Q206 19 200 24T193 36Q193 57 231 86T311 119H322Q386 83 441 83'], + + // LATIN CAPITAL LETTER C + 0x43: [704,20,613,20,599,'243 -20Q135 -20 78 48T20 218Q20 280 39 344T98 470T193 580T324 661T488 702H490Q491 702 493 702T498 703T507 703T518 702H526Q599 702 599 631Q599 597 577 550T541 486Q523 463 490 447T431 430Q423 430 419 433Q409 437 409 450Q410 456 432 499T454 567Q454 586 446 594T415 603Q316 603 254 532Q216 487 190 421T164 284Q164 228 181 186T226 122T282 90T340 80Q377 80 405 96T449 131T492 167T553 187H555Q580 187 580 168Q580 153 551 123T476 60T367 4T243 -20'], + + // LATIN CAPITAL LETTER D + 0x44: [686,0,892,20,885,'107 0Q92 5 92 18Q92 33 113 53T160 86Q170 91 182 94T197 100L206 120Q248 226 273 337T304 501T309 585Q278 585 234 577T179 557Q172 550 166 532T156 509Q140 484 105 466T44 447Q20 447 20 465Q20 482 34 510T76 565Q122 608 173 632Q281 686 447 686H480H517Q692 686 784 631Q885 571 885 450Q885 339 805 239T586 75T286 1Q276 0 187 0H107ZM741 391Q741 424 731 452T694 510T613 558T481 584Q476 584 468 584T457 585L449 586V579Q441 501 425 424T391 292T357 193T330 125T319 100H324Q511 100 628 175Q688 215 714 275T741 391'], + + // LATIN CAPITAL LETTER E + 0x45: [703,16,607,37,627,'495 516Q485 516 478 520T470 532Q470 537 476 550T482 570Q482 589 465 596T401 603Q344 603 319 582Q295 558 295 519Q295 493 312 474T355 445T407 432T455 427Q477 427 477 409Q477 395 453 371T389 333Q380 330 345 327T279 312T223 272Q181 223 181 176Q181 131 225 107T324 83Q366 83 395 98T448 136T487 167Q517 185 547 187H551Q574 187 574 170Q574 151 535 113T421 36T271 -15Q260 -16 226 -16Q181 -16 152 -9Q104 4 71 33T37 111Q37 140 50 176T106 263T216 356Q215 357 207 362T190 374T172 392T156 419T150 456Q150 521 208 580T341 670T474 702Q475 703 499 703Q528 703 547 701T586 693T615 673T627 637Q627 584 581 550T495 516'], + + // LATIN CAPITAL LETTER F + 0x46: [686,30,814,17,930,'812 567Q804 567 795 570T786 579Q786 586 647 586H559L558 582Q558 575 539 510T506 407L498 384H775Q788 378 790 368Q790 328 746 298T665 268Q646 268 642 284H457L447 261Q396 150 360 94Q329 46 270 8T149 -30Q123 -30 100 -24T63 -10T37 9T22 26T17 36Q17 59 56 88T135 119Q145 119 149 117T165 104Q187 78 227 72Q232 72 234 76Q245 93 273 145T350 323T424 570L428 586H276Q265 575 239 563T190 551Q180 551 174 556T167 569Q167 580 179 597T213 634T278 668T371 685Q374 686 624 686Q863 685 888 682Q917 678 927 663Q930 658 930 650Q930 624 888 596T812 567'], + + // LATIN CAPITAL LETTER G + 0x47: [703,114,682,50,671,'50 279Q50 361 88 438T190 570T335 661T503 702H514Q524 703 532 703Q671 703 671 626Q671 580 614 514T495 447Q472 447 472 465Q472 477 499 511T527 562Q527 582 507 592T433 602Q351 602 302 569Q252 535 223 469T194 344Q194 266 237 217T352 168Q401 168 442 205T505 316Q515 345 551 368T622 393H625Q649 393 649 376Q649 371 635 318T612 237Q580 129 540 62T442 -49Q353 -114 264 -114Q259 -114 252 -114L246 -113Q190 -113 142 -107T81 -96Q71 -90 71 -81Q71 -57 110 -30T187 2Q196 2 236 -4T338 -14Q371 -14 377 -9Q410 24 446 113L451 127Q353 68 253 68Q157 68 104 129T50 279'], + + // LATIN CAPITAL LETTER H + 0x48: [686,48,987,20,946,'42 447Q20 447 20 465Q20 481 47 515T119 589T239 657T392 686Q443 686 463 664T484 616Q484 570 473 506T452 401L441 360Q441 359 550 359H660L663 370Q684 435 716 522T758 624Q771 646 806 666T870 686Q894 686 894 668Q894 667 867 597T804 416T752 218Q737 135 737 93Q737 77 746 65T778 53Q799 53 803 54T814 63Q831 86 864 103T924 120Q946 120 946 100Q945 85 931 63T888 16T806 -27T684 -48H681Q625 -48 603 -10Q593 4 593 29Q593 71 603 131T624 230L634 269Q632 269 624 266Q610 261 600 261T507 259H411L399 222Q344 62 322 21Q301 -7 268 -24T209 -41H207Q187 -41 185 -25Q185 -17 192 2T220 71T261 184Q284 256 284 258Q284 259 227 259H170Q169 259 166 261T162 264T158 266T156 271T155 277Q155 296 184 320T250 356Q259 358 286 359Q312 359 312 360Q314 372 318 385Q332 450 339 526Q339 530 339 535T340 543Q340 586 296 586Q255 586 227 576T188 553T165 523T146 497Q127 476 97 462T42 447'], + + // LATIN CAPITAL LETTER I + 0x49: [687,0,642,-27,746,'56 499Q32 499 32 516Q32 540 64 580T165 649Q241 682 365 685Q366 685 376 685T405 685T445 686T496 686T553 686H732Q746 677 746 668Q746 646 711 620T642 587L572 586H503Q479 546 458 479T424 352T383 224T318 111L309 101L412 100H514L523 109Q567 150 618 153Q644 153 644 135Q644 132 642 124Q629 86 581 52T476 6Q454 2 433 2T216 0Q-11 0 -15 2Q-27 6 -27 18Q-27 37 2 61T59 93Q77 100 142 100H198Q255 177 299 369Q337 513 382 574L391 586H348Q261 586 176 576Q163 543 124 521T56 499'], + + // LATIN CAPITAL LETTER J + 0x4A: [687,114,779,53,937,'286 390Q263 390 263 407Q263 432 293 481T367 566Q511 687 724 687Q738 687 761 687T793 686H923Q937 677 937 668Q937 648 905 623T842 589Q829 587 817 586T802 585T795 583T788 578Q709 506 632 189Q622 153 615 134T588 81T537 17Q482 -39 404 -76T247 -114Q192 -114 158 -100Q53 -61 53 32Q53 59 58 73T79 102Q126 147 177 147Q200 147 200 128Q200 123 198 112T196 96Q196 47 238 17T345 -13Q362 -13 377 -9T404 0T426 16T444 34T459 55T470 76T478 97T483 116T488 132L490 141Q511 222 520 257T554 364T608 486T675 576L685 586H634H612Q532 586 484 564Q453 549 436 526T409 478T395 447Q378 424 345 407T286 390'], + + // LATIN CAPITAL LETTER K + 0x4B: [703,17,871,40,834,'98 542Q75 542 75 560Q75 588 123 618Q132 624 199 657T275 694Q291 703 315 703Q327 703 332 699T338 690T339 670Q339 596 323 505T283 337T237 194T198 90L181 53Q170 31 136 8T68 -17H65Q40 -17 40 0L76 92Q112 185 150 322T194 564V578L168 565Q125 542 98 542ZM834 142Q834 125 819 100T774 48T692 3T576 -16H560Q540 -16 508 6Q469 33 422 108T342 267T309 398Q309 411 310 417T320 442T347 482Q401 542 517 615T710 702Q712 702 721 702T735 703Q772 703 791 690Q819 674 819 646T792 597T733 574H722Q704 584 704 599Q706 607 700 610T672 617L660 613Q609 595 524 538T423 450V440Q423 376 488 247T604 83Q621 70 640 70Q677 70 701 82Q713 87 718 101T737 132T783 160Q792 163 807 163Q834 163 834 142'], + + // LATIN CAPITAL LETTER L + 0x4C: [703,17,788,41,751,'63 -17Q41 -17 41 0Q41 22 85 54Q101 68 113 92T133 141T154 219T182 315Q230 462 306 553Q345 599 391 632T478 678T543 697T582 703Q584 703 589 703T598 702Q643 702 666 676T689 613Q689 588 683 575Q674 551 632 524T552 496Q530 496 530 512Q530 517 531 525T533 538Q533 559 522 577T480 596H476Q462 596 451 588T415 544Q350 447 310 281Q284 181 261 136L255 124H285Q342 123 441 107T583 90L596 89Q603 116 647 144T729 173Q751 173 751 157Q751 118 685 60T523 -15Q514 -16 479 -16Q421 -16 320 0T171 18H155L142 10Q98 -17 63 -17'], + + // LATIN CAPITAL LETTER M + 0x4D: [703,49,1378,38,1353,'38 20Q38 59 60 99T104 139Q106 139 126 125T176 106H181Q200 106 221 139T286 281Q322 370 342 451T368 581T376 634Q384 657 420 680T487 703Q502 703 507 696T522 649Q538 589 554 537Q579 453 609 372T660 248T686 202Q687 201 739 244T830 322L1166 642Q1225 700 1230 701Q1230 701 1237 703Q1258 703 1258 667L1253 637Q1248 607 1241 558T1227 451T1214 326T1209 202Q1209 77 1232 77Q1237 77 1269 94T1326 112H1329Q1353 112 1353 94Q1353 81 1334 60Q1311 37 1248 7T1150 -24H1141H1135Q1085 -24 1074 26Q1064 75 1064 134Q1064 239 1086 426Q1087 430 1087 434L1061 410Q871 227 783 149L694 76Q653 44 647 40T631 34Q620 34 616 37T594 63Q546 125 514 198Q467 307 423 449L418 466L412 444Q376 310 306 153Q278 88 251 45T201 -18T163 -43T131 -49Q102 -48 70 -31T38 20'], + + // LATIN CAPITAL LETTER N + 0x4E: [840,49,937,-24,1105,'47 139Q81 105 122 105Q137 105 147 117Q159 134 182 199T234 381T274 610Q275 634 284 647Q297 666 327 684T389 703Q403 703 408 695T428 645Q480 490 567 298Q628 163 673 103Q674 102 674 102T675 106Q732 331 803 551Q842 674 875 725Q908 775 966 807T1081 840H1084Q1105 840 1105 803Q1105 768 1088 733T1051 689Q1045 686 1032 686Q986 683 948 663T901 624Q881 579 837 430T760 154L726 28Q725 28 725 28T723 25Q716 0 682 -24T611 -48Q600 -48 595 -45T576 -23Q522 44 480 124Q417 243 332 463L328 473L325 457Q291 293 227 124Q159 -49 72 -49Q38 -49 5 -28Q-24 -8 -24 21Q-24 58 -3 98T41 139H47'], + + // LATIN CAPITAL LETTER O + 0x4F: [704,17,906,63,882,'433 703Q456 703 456 685Q456 672 441 655T407 627Q402 623 378 611T328 579T276 524Q207 434 207 324Q207 222 270 153T441 84Q566 84 651 177T737 400V405Q737 496 693 549T576 603Q542 603 510 560Q490 537 472 502T442 454Q397 412 346 409Q320 409 320 427Q320 430 322 436Q331 465 360 507T433 594T542 671T677 703Q776 703 829 636T882 468Q882 369 831 277T702 122T528 21T343 -17Q214 -17 139 61T63 257Q63 336 94 409T173 534T272 625T367 684T432 703H433'], + + // LATIN CAPITAL LETTER P + 0x50: [686,67,810,20,846,'170 -67Q147 -67 147 -49Q147 -42 162 -8T204 99T253 254Q274 332 288 415T305 542L308 585Q277 585 234 577T179 557Q172 550 166 532T156 509Q140 484 105 466T44 447Q20 447 20 465Q20 482 34 510T76 565Q122 608 173 632Q279 686 448 686H495H537Q622 686 678 677T784 637Q846 598 846 533Q846 452 776 375T597 252T378 206H366L358 181Q341 130 316 68T282 -7Q262 -33 230 -50T170 -67ZM701 468Q701 512 661 540T570 577T461 586H448V582Q446 576 443 545T428 447T395 301L389 280Q390 280 398 284T419 295T441 303Q443 304 484 306T572 321T651 359Q701 402 701 468'], + + // LATIN CAPITAL LETTER Q + 0x51: [703,146,939,120,905,'874 453Q874 372 836 298T750 177T638 89T543 33T486 8L483 7Q485 5 523 -7T622 -32T726 -46Q741 -46 746 -45T755 -41T762 -27Q770 -1 806 23T878 50H890Q905 42 905 33Q905 -8 838 -68T670 -145Q662 -146 628 -146Q538 -146 389 -100T164 -50Q132 -50 132 -32T162 11T227 47Q231 48 286 51T394 62T518 100T641 180Q730 271 730 387Q730 478 673 540T520 602Q410 602 337 525T264 355Q264 284 310 244T420 203Q476 203 568 222Q594 222 594 204Q594 184 565 161T508 128Q433 103 316 103Q227 103 174 157T120 290Q120 382 182 471T343 620T548 697Q578 703 601 703Q604 703 611 703T623 702Q663 702 687 696Q760 679 817 618T874 453'], + + // LATIN CAPITAL LETTER R + 0x52: [686,17,990,20,981,'159 0Q159 5 172 34T205 114T245 229T284 386T309 575V585H304Q303 585 295 585T282 584Q233 579 207 570T175 553T165 531T156 509Q140 484 105 466T44 447Q20 447 20 465Q20 482 34 510T76 565Q122 608 173 632Q279 686 448 686H505H582Q683 686 745 672T834 611Q842 594 842 565Q842 523 824 484T780 419T722 370T669 336T632 318L619 312L626 302Q640 279 667 227T696 172Q717 133 735 112T762 88T784 84Q824 84 872 118T957 153Q981 153 981 136Q981 114 937 78T820 13T684 -17Q646 -17 616 8T569 66T526 151T477 234Q461 256 446 265Q437 272 421 274Q400 274 400 291Q400 311 430 336T495 371Q496 371 543 374T627 392T681 436Q699 467 699 503Q699 550 644 568T471 586H449V582Q449 581 447 559T438 499T422 413T393 298T348 165Q313 73 296 45Q282 24 249 4T185 -17Q159 -17 159 0'], + + // LATIN CAPITAL LETTER S + 0x53: [703,16,696,25,722,'204 476Q204 525 248 577T372 666T539 703T674 683T721 612Q721 588 714 569Q704 547 669 524T601 499Q573 499 573 516Q573 521 575 527T577 543Q577 563 568 574T548 588L539 590Q490 603 444 603Q418 603 394 597T364 583Q348 567 348 533Q348 493 382 466T459 425T555 387T633 330Q662 292 662 249Q662 153 544 69T257 -16Q218 -16 208 -15Q118 1 64 46Q25 76 25 126Q25 185 82 235T203 290H207Q229 290 231 274Q231 243 180 213Q173 209 172 206T170 189T171 170T183 150T216 121Q273 83 356 83Q412 83 459 100Q493 111 507 141Q518 165 518 185Q518 208 506 228T478 262T437 288T398 306T360 320Q316 335 285 352T239 384T215 416T205 443T204 467V476'], + + // LATIN CAPITAL LETTER T + 0x54: [720,69,644,38,947,'61 462H59Q38 462 38 479Q38 528 109 594T289 683L304 685L837 687L846 693Q889 720 923 720Q947 720 947 702Q945 671 892 631T776 583Q774 583 772 583T769 582T766 582L764 581H758Q753 581 744 581T722 580T693 580T662 580H563L514 385Q507 355 493 299T475 225T460 172T443 119T426 76T402 24Q386 -11 355 -33T304 -61T266 -69Q242 -69 242 -50Q243 -45 253 -25T278 32T307 115L364 340Q405 511 413 538T436 580H207Q202 572 200 568T197 561T195 552T190 537Q176 511 135 487T61 462'], + + // LATIN CAPITAL LETTER U + 0x55: [686,24,715,-10,771,'124 586Q107 586 74 569T15 552H13Q-10 552 -10 570Q-10 605 70 645T222 686Q283 686 283 631Q283 590 246 504T172 326T135 181Q135 130 157 107T205 83Q221 83 259 106Q347 165 453 301T604 548Q607 557 612 569T619 587T624 600T628 612T632 621T637 628T641 634T647 640T654 645T662 652Q706 686 748 686Q771 686 771 669Q771 656 754 614T700 467T630 229Q615 168 610 105Q610 88 617 78L641 90Q681 111 706 112Q733 112 733 95Q733 82 714 60Q694 40 633 10Q567 -23 532 -24Q507 -24 495 -17Q466 -4 466 32Q466 96 500 225Q277 -17 102 -17Q56 -17 23 17T-10 118Q-10 164 13 234T64 363T115 481T139 567Q139 586 124 586'], + + // LATIN CAPITAL LETTER V + 0x56: [686,77,737,25,774,'25 608Q25 628 60 657T148 686Q184 683 213 671T273 625T327 538T363 394T380 184L381 134L399 148Q503 226 574 302T667 415T689 467Q688 474 684 482T672 502T645 521T600 532Q576 532 576 567Q576 604 597 644T641 685H649Q701 685 737 648T774 545Q774 457 703 333T461 66Q397 13 332 -32T255 -77Q237 -77 237 -30V-23Q241 20 241 109Q241 483 115 569Q91 586 50 589Q25 589 25 608'], + + // LATIN CAPITAL LETTER W + 0x57: [686,77,1169,25,1206,'25 607Q25 629 62 657T142 686Q205 686 248 647T312 541T339 411T347 275Q347 249 345 203V189Q375 219 449 316T587 516Q629 584 629 587Q629 589 626 597T622 607Q622 629 658 656T732 686H744Q755 680 757 678Q757 677 769 649T799 577T835 475T874 339T904 183Q908 157 910 151L925 169Q997 252 1059 343T1121 474Q1120 498 1103 513T1059 532Q1036 532 1036 568Q1036 600 1053 636T1090 683L1097 686H1109Q1147 684 1176 652T1206 551Q1206 460 1131 320T897 7Q859 -33 840 -52T816 -74T804 -77Q788 -77 784 -32Q783 -28 783 -26Q774 108 744 239T691 436T665 501Q664 501 649 475T602 400T528 289T420 146T280 -15Q243 -56 231 -66T210 -77Q191 -77 191 -40Q191 -38 195 -4T204 91T209 217Q209 290 202 351T177 469T126 557T45 589Q25 589 25 607'], + + // LATIN CAPITAL LETTER X + 0x58: [687,-1,817,56,906,'762 562Q762 579 737 584T711 604Q711 630 753 658T834 686Q864 686 885 669T906 627Q906 580 834 522T614 379L584 362V357Q585 354 589 315T597 233T603 183Q610 132 627 116T671 100Q678 100 704 113T754 126T778 107Q776 79 733 45T626 2Q615 1 578 1Q542 1 535 3Q521 7 510 15T491 31T477 54T467 78T460 108T456 137T452 170T449 201Q447 220 445 240T442 270L441 281Q435 281 357 233Q240 165 206 135Q200 128 200 124Q200 113 208 108T226 101T244 96T252 82Q252 61 214 31T129 1H120Q97 1 77 16T56 60Q56 105 133 168T414 345Q428 352 431 354T433 359Q422 493 414 522Q407 551 395 566T373 583T350 586H341L332 580Q290 560 265 560Q243 560 243 577Q243 585 248 596T269 624T306 653T365 676T447 686H456Q472 686 484 683T514 671T543 637T562 576Q565 557 570 501L577 437Q577 436 613 457T694 506T756 551Q762 558 762 562'], + + // LATIN CAPITAL LETTER Y + 0x59: [686,164,759,36,797,'73 555Q49 555 49 573Q49 602 110 644T239 686Q319 686 376 624Q416 584 444 511T483 361T499 240T503 173Q503 165 504 165Q506 165 524 184T556 218Q631 297 674 377T718 485Q718 505 699 526Q673 552 628 552Q619 552 613 562T607 590Q607 617 621 645T658 685Q661 686 671 686Q718 686 757 652T797 545Q797 476 749 369T602 146Q500 29 371 -67T176 -164Q112 -164 74 -120T36 -29Q36 5 55 36T95 67Q104 67 108 59T115 39T128 12T154 -12Q183 -30 216 -30Q239 -30 305 7L361 44L367 49V54Q367 95 364 143T351 273T312 429T243 546Q206 581 156 588L146 581Q108 555 73 555'], + + // LATIN CAPITAL LETTER Z + 0x5A: [686,0,818,46,853,'622 574Q522 579 420 579H396Q373 579 364 574T351 550Q339 516 297 490T218 462Q195 462 195 479Q195 487 197 492Q218 565 313 625T509 685Q564 685 650 683T755 680Q787 680 807 683T831 686Q853 686 853 669Q853 657 826 626Q742 532 641 437L619 415L622 414Q626 414 631 414T642 414Q697 411 697 388Q697 367 670 345T607 323Q605 323 592 325T546 329H522L490 302Q457 274 400 226T289 136L260 113L318 112Q345 111 452 109T587 106H627Q650 143 656 170Q666 197 710 225T788 253Q811 253 811 237Q811 211 781 160T710 77Q619 0 515 0Q507 0 497 0T484 1Q434 1 319 3T177 6Q123 6 95 2Q83 2 71 0H68Q46 0 46 17Q46 28 58 44Q68 56 100 80T210 165T383 307L408 329H361L314 330Q297 338 297 350Q297 368 320 388T368 413Q375 415 441 415H506L647 555L664 574H622'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Caligraphic/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js new file mode 100644 index 00000000..b303fca4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js @@ -0,0 +1,166 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Caligraphic/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Caligraphic'] = { + directory: 'Caligraphic/Regular', + family: 'MathJax_Caligraphic', + id: 'MJCAL', + skew: { + 0x41: 0.194, + 0x42: 0.139, + 0x43: 0.139, + 0x44: 0.0833, + 0x45: 0.111, + 0x46: 0.111, + 0x47: 0.111, + 0x48: 0.111, + 0x49: 0.0278, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.139, + 0x4D: 0.139, + 0x4E: 0.0833, + 0x4F: 0.111, + 0x50: 0.0833, + 0x51: 0.111, + 0x52: 0.0833, + 0x53: 0.139, + 0x54: 0.0278, + 0x55: 0.0833, + 0x56: 0.0278, + 0x57: 0.0833, + 0x58: 0.139, + 0x59: 0.0833, + 0x5A: 0.139 + }, + + // SPACE + 0x20: [0,0,250,0,0,''], + + // DIGIT ZERO + 0x30: [452,22,500,39,460,'39 213Q39 274 53 319T89 389T139 429T192 448T242 452Q347 452 400 400Q460 335 460 213Q460 -22 250 -22Q39 -22 39 213ZM364 242Q364 279 363 301T355 348T338 385T306 406T254 415Q250 415 245 415T238 416Q217 416 190 404T150 368Q136 339 136 221Q136 114 146 78T200 23Q219 16 250 16Q280 16 299 23Q341 41 352 77T364 221V242'], + + // DIGIT ONE + 0x31: [453,0,500,86,426,'116 410Q176 412 215 423T269 443T288 453H291Q293 453 301 447V254Q301 62 303 60Q307 52 322 49T394 46Q418 46 422 43T426 23Q426 8 424 4T411 0Q407 0 369 1T258 2T148 1T106 0Q96 0 94 4T91 23Q91 40 95 43T123 46Q180 46 195 49T215 61Q216 63 216 220V376Q192 367 119 364H93L86 371V403L92 410H116'], + + // DIGIT TWO + 0x32: [453,0,500,44,449,'55 334Q55 386 105 419T236 453Q333 453 390 413T448 307Q448 278 437 256T406 218T365 193T318 172T277 151L248 134Q219 118 191 102T163 84T267 83L382 85H391Q399 99 406 126Q410 143 413 145T429 148Q440 148 442 147T449 139Q449 137 435 73T420 7Q420 6 414 0H233Q94 0 71 0T46 5Q46 5 46 6Q44 8 44 24Q44 39 46 41Q47 44 98 78T212 155T294 212Q347 257 347 304Q347 354 306 380T203 407Q150 407 120 377Q118 375 123 373Q146 362 146 332Q146 315 133 302T101 288Q85 288 70 298T55 334'], + + // DIGIT THREE + 0x33: [452,216,500,42,457,'69 312Q69 377 122 414T233 452Q333 452 381 409T430 313Q430 268 402 223T311 149L301 144Q307 143 317 140T355 123T402 92T439 44T456 -25Q456 -101 396 -158T241 -216Q154 -216 98 -173T42 -68Q42 -58 44 -50T50 -35T57 -25T66 -17T75 -13T82 -10L87 -8Q92 -7 102 -7Q132 -7 147 -25T162 -66Q162 -112 118 -125L113 -126Q113 -129 127 -140T173 -162T239 -173Q268 -173 292 -158Q345 -124 345 -24Q345 33 329 67Q298 125 229 125H210H172Q166 131 166 142Q166 159 172 161Q178 161 208 164T244 169Q251 169 263 176T291 199T316 245T327 314Q327 413 238 413Q182 413 130 369Q177 350 181 312Q181 289 166 273T125 257Q102 257 86 272T69 312'], + + // DIGIT FOUR + 0x34: [464,194,500,28,471,'163 0Q139 0 109 0T71 -1Q43 -1 36 2T28 15V27V46L190 270Q325 457 330 462Q333 464 352 464H371L377 458V46H464L471 40V6L464 0H377V-65V-108Q377 -131 379 -137T391 -144Q409 -148 446 -148H464Q468 -151 471 -155V-187L464 -194H453Q395 -192 325 -192Q222 -192 210 -194H199L193 -188V-154L199 -148H228Q241 -148 250 -148T265 -146T275 -145T281 -143T284 -141T286 -138T289 -134V0H163ZM295 46V350L75 46H295'], + + // DIGIT FIVE + 0x35: [453,216,500,50,448,'159 -44Q159 -66 145 -80T109 -96H102L107 -105Q148 -173 228 -173Q255 -173 280 -162Q351 -128 351 -6V8Q351 67 344 98T316 151Q288 176 255 176Q175 176 136 109Q129 100 114 100Q97 100 95 106Q93 110 93 277V403Q93 451 98 451Q100 452 103 452Q105 452 124 445T177 431T251 423Q294 423 328 430T380 445T401 453Q410 453 410 435V422Q332 331 203 331Q152 331 140 339Q139 339 139 254V168Q194 214 256 214Q332 214 390 154T448 0Q448 -95 381 -155T229 -216Q153 -216 104 -166T50 -49Q50 -15 66 -1T105 13Q128 13 143 -3T159 -44'], + + // DIGIT SIX + 0x36: [665,22,500,41,456,'42 313Q42 401 68 472T133 583T215 644T296 665H304Q317 665 329 664T360 657T393 640T418 608T432 557Q432 533 422 519T401 502T380 498Q358 498 343 512T328 550Q328 591 367 601L372 602Q372 604 365 609T341 620T307 626Q260 626 226 600T174 537Q147 483 143 376V356Q192 434 266 434Q317 434 357 409Q406 375 435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM251 396Q211 396 178 354T145 217Q145 159 152 122T166 73T187 47Q216 21 252 21Q294 21 321 47Q342 68 349 99T356 203V232Q356 264 354 285T345 331T322 373T280 395Q274 396 251 396'], + + // DIGIT SEVEN + 0x37: [463,216,500,55,485,'75 246Q64 246 62 247T55 255Q55 259 72 357T90 458L94 462H99Q104 463 109 463H121Q128 460 128 452Q128 445 134 441T165 435T233 432T356 431H478L485 425V392L414 298Q408 290 385 260T358 223T337 191T317 154T302 116T289 68T282 14T275 -55T274 -137Q274 -173 272 -177Q262 -216 223 -216Q170 -216 170 -157V-148Q172 -78 189 -12T237 109T288 196T338 266Q345 275 348 279Q395 340 395 342Q396 343 376 343T274 343Q122 342 117 339T103 294T90 248Q88 246 75 246'], + + // DIGIT EIGHT + 0x38: [666,22,500,43,456,'69 496Q69 570 124 618T247 666Q321 666 375 624T429 515Q429 468 405 433T320 361L346 344Q385 320 403 301T439 250Q456 212 456 181V172V160Q456 141 449 119T426 71T386 26T326 -8T246 -21Q160 -21 102 30T43 155Q43 265 167 332L176 337L161 347Q105 384 87 423Q69 458 69 496ZM371 513Q371 567 334 596T249 626Q198 626 163 598T127 532Q127 521 129 511T138 492T150 476T167 460T185 447T207 433T228 420L284 384L294 391Q346 424 363 469Q371 486 371 513ZM190 21T250 21T351 56T393 140Q393 180 362 213Q354 221 317 246T246 292L212 313Q210 313 200 307T173 287T142 256T117 212T106 157Q106 100 148 61'], + + // DIGIT NINE + 0x39: [453,216,500,42,457,'171 -101Q171 -118 163 -130T146 -146T134 -151Q132 -151 132 -152Q132 -154 140 -159T167 -168T206 -173Q274 -173 317 -108Q356 -50 356 79V86L350 77Q308 9 231 9Q150 9 92 81Q42 141 42 228Q42 289 64 333Q93 390 142 421T235 452Q237 452 244 452T255 453Q289 453 321 439T386 391T437 290T457 128Q457 -29 381 -122T206 -216Q148 -216 108 -187T67 -104Q67 -75 84 -62T119 -49Q141 -49 156 -63T171 -101ZM242 46Q293 46 324 94T355 223Q355 323 337 356Q316 401 275 410Q267 412 248 412Q206 412 179 386Q155 360 149 328T143 224Q143 120 163 88Q192 46 242 46'], + + // LATIN CAPITAL LETTER A + 0x41: [728,51,798,30,819,'576 668Q576 688 606 708T660 728Q676 728 675 712V571Q675 409 688 252Q696 122 720 57Q722 53 723 50T728 46T732 43T737 41T743 39L754 45Q788 61 803 61Q819 61 819 47Q818 43 814 35Q799 15 755 -7T675 -30Q659 -30 648 -25T630 -8T621 11T614 34Q603 77 599 106T594 146T591 160V163H460L329 164L316 145Q241 35 196 -7T119 -50T59 -24T30 43Q30 75 46 100T74 125Q81 125 83 120T88 104T96 84Q118 57 151 57Q189 57 277 182Q432 400 542 625L559 659H567Q574 659 575 660T576 668ZM584 249Q579 333 577 386T575 473T574 520V581L563 560Q497 426 412 290L372 228L370 224H371L383 228L393 232H586L584 249'], + + // LATIN CAPITAL LETTER B + 0x42: [705,23,657,32,664,'304 342Q292 342 292 353Q292 372 323 391Q331 396 417 428T533 487Q563 512 563 555V562Q563 575 557 589T530 618T475 636Q429 636 396 613T330 539Q263 446 210 238Q196 183 173 120Q135 31 121 16Q108 1 85 -10T47 -22T32 -10Q32 -5 44 18T77 93T112 206Q135 296 154 395T182 550T191 615Q191 616 190 616Q188 616 179 611T157 601T131 594Q113 594 113 605Q113 623 144 644Q154 650 205 676T267 703Q277 705 279 705Q295 705 295 693Q295 686 288 635T278 575Q278 572 287 582Q336 635 402 669T540 704Q603 704 633 673T664 599Q664 559 638 523T580 462Q553 440 504 413L491 407L504 402Q566 381 596 338T627 244Q627 172 575 110T444 13T284 -22Q208 -22 158 28Q144 42 146 50Q150 67 178 85T230 103Q236 103 246 95T267 75T302 56T357 47Q436 47 486 93Q526 136 526 198V210Q526 228 518 249T491 292T436 330T350 345Q335 345 321 344T304 342'], + + // LATIN CAPITAL LETTER C + 0x43: [705,25,527,12,533,'201 -25Q167 -25 136 -14T75 23T29 94T12 202Q12 290 50 394T161 574Q227 642 303 673T433 704Q435 705 457 705Q533 701 533 640Q533 606 507 548T464 474Q431 444 396 444Q381 444 381 453Q381 459 388 473T407 513T428 563Q433 580 433 594Q433 636 381 636Q314 636 260 594T175 489T128 363T112 247Q112 157 153 101T273 44Q347 44 398 121Q413 144 437 157T481 171Q496 171 496 160Q496 150 476 123Q426 56 350 16T201 -25'], + + // LATIN CAPITAL LETTER D + 0x44: [683,1,771,19,766,'37 475Q19 475 19 487Q19 536 103 604T327 682H356Q386 683 408 683H419Q475 683 506 681T582 668T667 633Q766 571 766 450Q766 365 723 287T611 152T455 57T279 6Q248 1 160 0Q148 0 131 0T108 -1Q72 -1 72 11Q72 24 90 40T133 64L144 68L152 88Q247 328 272 587Q275 613 272 613Q272 613 269 613Q225 610 195 602T149 579T129 556T119 532Q118 530 116 525T113 518Q102 502 80 490T37 475ZM665 407Q665 596 412 613Q403 614 383 614Q370 614 370 612Q370 598 363 542T323 357T242 103L228 69H265Q391 73 481 119Q536 148 575 188T633 268T658 338T665 392V407'], + + // LATIN CAPITAL LETTER E + 0x45: [705,22,528,30,564,'144 470Q144 556 240 630T451 705Q564 705 564 637Q564 611 540 573Q529 559 505 547T464 534Q448 534 448 545Q448 552 455 562Q463 577 463 591Q463 600 462 604T456 616T436 627T400 635Q396 635 390 635T380 636Q291 636 258 568Q245 544 245 516Q245 463 290 438T391 410Q415 410 415 398Q415 392 407 380T376 356T326 341Q288 340 260 327Q218 311 187 276T143 208T130 151Q130 113 156 88T211 55T268 47Q349 47 403 125Q415 144 439 157T483 171Q499 171 499 160Q499 148 475 120T413 59T315 3T197 -22Q124 -22 77 14T30 105Q30 126 39 154T66 216T122 288T209 354L223 362Q144 400 144 470'], + + // LATIN CAPITAL LETTER F + 0x46: [684,32,719,18,829,'199 579Q181 579 181 590Q181 598 188 611T212 639T260 666T335 682Q336 682 349 682T383 682T431 682T493 683T561 683Q776 682 784 681Q826 673 829 647Q829 620 797 600T744 580Q728 580 728 595Q729 607 713 610Q698 613 598 614H500L499 610Q499 598 467 486T428 367Q428 365 551 365H674Q683 360 684 355Q687 346 677 329Q666 312 642 299T598 285Q586 285 582 296H402L394 277Q386 258 373 229T346 167T315 102T286 51Q265 22 225 -5T133 -32Q108 -32 87 -25T54 -7T33 15T21 35T18 47Q18 60 44 80T98 103Q108 103 111 101T119 88Q130 66 150 54T179 39T195 37Q199 37 203 43Q217 67 245 125T318 300T391 532Q393 543 398 564T406 598T409 613T339 614H269Q229 579 199 579'], + + // LATIN CAPITAL LETTER G + 0x47: [704,119,595,43,599,'216 68Q155 68 115 100T59 177T44 273Q44 299 50 333T73 421T133 533T239 632Q346 704 466 704Q508 704 515 703Q555 696 577 681T599 635Q599 605 570 560T523 496Q490 466 455 466Q440 466 440 475T469 526T499 589Q499 605 489 617Q460 636 403 636Q343 636 295 611T220 548T174 464T150 382T144 318Q144 241 180 189T287 137Q325 137 359 160Q428 205 466 322Q472 342 501 359T551 376Q557 376 560 373T564 368L565 365Q560 341 551 302T512 173T451 31Q359 -119 204 -119Q163 -118 127 -109T74 -91T53 -77Q52 -75 52 -71Q52 -54 79 -35T132 -14H140L151 -19Q210 -49 281 -49H289Q312 -49 329 -31Q351 -7 372 36T405 109T416 142L408 136Q401 131 392 125T369 111T338 96T303 82T261 72T216 68'], + + // LATIN CAPITAL LETTER H + 0x48: [683,48,845,18,803,'18 487Q18 496 29 517T67 566T127 621T216 665T330 683Q359 683 376 669T397 643T400 622Q400 584 382 488T348 343Q348 342 467 342H587L594 366Q615 440 648 534T690 641Q701 656 723 669T764 683Q783 683 783 672L750 578Q716 485 677 346T625 101Q624 92 623 82T622 65T621 56Q621 20 658 20Q666 20 701 25Q709 52 736 69T785 87Q803 87 803 75T791 44T754 3T685 -33T588 -48Q568 -48 562 -46Q522 -31 522 13V23Q531 129 562 250L569 281L565 280Q561 278 556 277T549 274L438 273H328L321 249Q307 202 275 107T232 0Q219 -16 196 -28T155 -41Q149 -41 145 -39T140 -34T139 -29Q139 -24 148 -3T181 86T233 247Q240 270 240 272Q240 273 194 273H169Q139 273 139 285Q139 295 153 308T187 332Q206 341 236 342L260 343L264 359Q278 414 289 482T300 578Q300 613 260 613H254Q198 613 169 592Q148 578 127 544T104 508Q72 478 37 475Q18 475 18 487'], + + // LATIN CAPITAL LETTER I + 0x49: [683,0,545,-30,642,'174 0H31Q-13 0 -21 2T-30 12Q-30 23 -17 36Q9 60 42 68L155 70Q187 102 214 179T257 333T302 491T366 610L369 614H305Q221 611 188 607T145 596T128 569Q119 543 94 529T47 512Q28 512 28 524Q28 527 32 539Q56 614 159 654Q218 678 312 682Q314 682 339 682T404 682T481 683H632Q642 678 642 671Q642 657 621 641T577 617Q570 615 507 614H444Q427 592 406 542Q382 478 355 366T310 209Q280 123 238 78L230 69H330Q442 70 442 74Q443 74 443 77T447 87T460 105Q490 134 527 137Q545 137 545 125Q545 120 542 112Q531 78 491 49T399 7Q379 2 360 2T174 0'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,119,678,47,839,'148 78Q148 16 189 -17T286 -50Q319 -50 348 -33T396 10T426 59T444 101L471 204Q498 306 521 372Q575 532 649 605L659 614H591Q517 613 494 607Q433 591 400 550T360 477Q353 454 325 437T275 419Q256 419 260 435Q280 523 376 597T583 681Q603 683 713 683H830Q839 674 839 671Q839 654 810 634T754 614Q735 614 721 601Q688 571 654 495T600 351T561 209T541 132Q507 29 412 -45T213 -119Q141 -119 94 -77T47 33Q47 55 50 69T58 90T71 103Q105 131 135 131Q152 131 152 120Q152 119 151 114T149 99T148 78'], + + // LATIN CAPITAL LETTER K + 0x4B: [705,22,762,32,732,'194 618Q193 618 182 613T156 601T131 594Q113 594 113 605Q113 623 144 644Q154 650 205 676T267 703Q277 705 279 705Q295 705 295 691Q295 569 250 397Q225 306 197 217T151 81T128 25Q120 8 94 -7T47 -22Q32 -22 32 -10L64 76Q95 163 133 295T185 530Q198 611 194 618ZM331 429Q331 383 364 290T449 117T542 36Q574 36 607 51T652 103Q660 124 677 133T709 143Q727 143 727 128Q727 119 723 111Q704 56 639 17T497 -22H493Q463 -22 425 16Q401 40 382 71Q335 138 296 243T256 399Q256 434 288 473Q342 540 471 622T670 705Q691 704 703 696Q732 678 732 644Q732 613 714 600T677 586Q671 586 667 587T660 592T657 604V619Q657 647 629 647Q623 647 620 646Q576 635 495 583T365 482Q331 448 331 429'], + + // LATIN CAPITAL LETTER L + 0x4C: [705,22,690,32,656,'62 -22T47 -22T32 -11Q32 -1 56 24T83 55Q113 96 138 172T180 320T234 473T323 609Q364 649 419 677T531 705Q559 705 578 696T604 671T615 645T618 623V611Q618 582 615 571T598 548Q581 531 558 520T518 509Q503 509 503 520Q503 523 505 536T507 560Q507 590 494 610T452 630Q423 630 410 617Q367 578 333 492T271 301T233 170Q211 123 204 112L198 103L224 102Q281 102 369 79T509 52H523Q535 64 544 87T579 128Q616 152 641 152Q656 152 656 142Q656 101 588 40T433 -22Q381 -22 289 1T156 28L141 29L131 20Q111 0 87 -11'], + + // LATIN CAPITAL LETTER M + 0x4D: [705,50,1201,28,1137,'28 9Q28 37 43 63T73 90Q77 90 83 84T103 70T141 57H146Q162 57 178 79T222 167Q266 279 295 371T334 513T349 598T358 651T371 677Q397 705 432 705Q442 705 445 699T452 666Q453 661 453 659Q475 538 509 405T568 207L574 192Q581 178 587 164T594 150Q596 150 635 189T693 248Q765 324 863 438T1024 626T1089 701Q1093 705 1100 705Q1111 705 1111 682Q1111 675 1108 660T1099 611T1086 540Q1041 277 1041 144Q1041 98 1044 75T1050 48T1059 42Q1064 41 1075 46Q1102 61 1121 61Q1137 61 1137 50Q1137 28 1087 0T1000 -29Q983 -29 972 -23T955 -9T945 16T942 45T941 83V96Q941 158 952 256T974 422L985 489Q984 489 939 436T821 300T698 164Q665 128 620 85T568 37Q564 34 558 34Q550 34 546 37T535 54Q512 91 496 127T450 259T389 498L384 518Q349 367 294 223T198 15Q155 -50 117 -50Q87 -50 61 -35T30 -6Q28 2 28 9'], + + // LATIN CAPITAL LETTER N + 0x4E: [789,51,820,-27,979,'343 705Q358 705 358 698Q360 696 370 658T411 524T484 319Q536 174 590 82L595 73L615 152Q646 274 683 407Q729 571 752 637T799 727Q852 780 937 788Q939 788 947 788T958 789H962Q979 789 979 765Q979 722 951 692Q942 683 924 683Q888 681 859 672T818 654T803 639Q784 608 708 322T631 15Q631 14 630 15Q630 17 629 15Q628 14 628 12Q621 -4 601 -17T560 -31Q550 -31 546 -28T530 -7Q484 67 458 123T398 272Q352 392 314 514L306 535V534Q306 533 296 488T272 379T234 239T185 100T127 -7T61 -50Q34 -50 4 -34T-27 8Q-27 33 -12 61T18 90Q21 90 36 77T87 57H92Q109 57 123 78T162 173Q206 299 232 417T265 599T276 667Q284 681 304 693T343 705'], + + // LATIN CAPITAL LETTER O + 0x4F: [705,22,796,58,777,'308 428Q289 428 289 438Q289 457 318 508T378 593Q417 638 475 671T599 705Q688 705 732 643T777 483Q777 380 733 285T620 123T464 18T293 -22Q188 -22 123 51T58 245Q58 327 87 403T159 533T249 626T333 685T388 705Q404 705 404 693Q404 674 363 649Q333 632 304 606T239 537T181 429T158 290Q158 179 214 114T364 48Q489 48 583 165T677 438Q677 473 670 505T648 568T601 617T528 636Q518 636 513 635Q486 629 460 600T419 544T392 490Q383 470 372 459Q341 430 308 428'], + + // LATIN CAPITAL LETTER P + 0x50: [683,57,696,19,733,'37 475Q19 475 19 487Q19 536 103 604T327 682Q329 682 344 682T380 682T421 683H463Q625 683 695 615Q718 591 726 564Q733 547 733 525Q733 412 607 312T321 205H312Q293 205 293 217Q293 224 302 236T333 260T385 274Q558 287 614 407Q633 445 633 477Q633 515 612 543T556 585T481 607T399 614H370L368 603Q352 463 312 312T242 82T202 -13Q190 -33 164 -45T121 -57Q108 -57 108 -45Q108 -40 120 -10T151 73T192 190T233 349T266 539Q267 546 269 565T272 598T274 613H270Q209 613 163 588Q131 572 113 518Q102 502 80 490T37 475'], + + // LATIN CAPITAL LETTER Q + 0x51: [705,131,817,114,787,'114 286Q114 358 151 433T249 569T392 667T558 705Q653 705 713 641T774 460Q774 389 750 322T687 206T600 114T504 46T412 4L399 -2Q542 -62 636 -62Q660 -62 670 -54T686 -27T700 0Q734 34 770 34Q787 34 787 23Q787 -18 720 -74T563 -131Q485 -131 350 -83T145 -34Q127 -34 127 -22Q127 -12 144 5T190 31L200 34L237 35Q386 38 467 79Q550 120 612 210T675 416Q675 510 625 573T484 636Q410 636 346 587T248 469T214 333Q214 306 221 281T243 229T288 188T360 172Q403 172 441 188T490 205Q510 205 510 192Q505 162 432 132T287 102Q206 102 160 155T114 286'], + + // LATIN CAPITAL LETTER R + 0x52: [683,22,848,19,837,'37 475Q19 475 19 487Q19 503 35 530T83 589T180 647T327 682H374Q387 682 417 682T464 683Q519 683 559 679T642 663T708 625T731 557Q731 481 668 411T504 300Q506 296 512 286T528 257T553 202Q594 105 611 82Q635 47 665 47Q708 47 742 93Q758 113 786 128Q804 136 819 137Q837 137 837 125Q837 115 818 92T767 43T687 -2T589 -22Q549 -22 517 22T467 120T422 221T362 273Q346 273 346 287Q348 301 373 320T436 342Q437 342 446 343T462 345T481 348T504 353T527 362T553 375T577 393Q598 412 614 443T630 511Q630 545 613 566T541 600T393 614Q370 614 370 613L366 584Q349 446 311 307T243 96L213 25Q205 8 179 -7T132 -22Q125 -22 120 -18T117 -8Q117 -5 130 26T163 113T205 239T246 408T274 606V614Q273 614 259 613T231 609T198 602T163 588Q131 572 113 518Q102 502 80 490T37 475'], + + // LATIN CAPITAL LETTER S + 0x53: [705,22,606,18,642,'554 512Q536 512 536 522Q536 525 539 539T542 564Q542 588 528 604Q515 616 482 625T410 635Q374 635 349 624T312 594T295 561T290 532Q290 505 303 482T342 442T378 419T409 404Q435 391 451 383T494 357T535 323T562 282T574 231Q574 133 464 56T220 -22Q138 -22 78 21T18 123Q18 184 61 227T156 274Q178 274 178 263Q178 260 177 258Q172 247 164 239T151 227T136 218L127 213L124 202Q118 186 118 163Q120 124 165 86T292 48Q374 48 423 86T473 186V193Q473 267 347 327Q268 364 239 389Q191 431 191 486Q191 547 242 600T356 679T470 705Q472 705 478 705T489 704Q551 704 596 682T642 610Q642 566 621 545Q592 516 554 512'], + + // LATIN CAPITAL LETTER T + 0x54: [717,68,545,34,833,'49 475Q34 475 34 490Q34 552 106 611T261 681Q272 683 507 683H742Q790 717 816 717Q833 717 833 708Q833 682 795 653T714 615Q691 610 588 609Q490 609 490 607L483 580Q476 554 462 496T435 392Q410 289 395 231T363 116T335 34T309 -15T279 -47T242 -64Q231 -68 218 -68Q203 -68 203 -57Q203 -52 211 -38Q224 -7 234 20T251 66T268 123T283 179T304 261T328 360Q342 415 360 488Q380 567 384 582T397 605Q400 607 401 609H302H244Q200 609 188 607T167 596Q145 572 145 541Q145 520 109 498T49 475'], + + // LATIN CAPITAL LETTER U + 0x55: [683,28,626,-17,687,'8 592Q8 616 70 649T193 683Q246 683 246 631Q246 587 205 492T124 297T83 143Q83 101 100 75T154 48Q202 48 287 135T450 342T560 553Q589 635 593 640Q603 656 626 668T669 683H670Q687 683 687 672T670 616T617 463T547 220Q525 137 521 68Q521 54 522 50T533 42L543 47Q573 61 588 61Q604 61 604 47Q599 16 506 -22Q486 -28 468 -28T436 -18T421 18Q421 92 468 258Q468 259 467 257T459 248Q426 206 391 167T303 81T194 6T83 -22Q66 -22 58 -20Q25 -11 4 19T-17 99Q-17 146 8 220T64 358T120 488T146 586Q146 604 141 608T123 613H120Q99 613 72 597T25 580Q8 580 8 592'], + + // LATIN CAPITAL LETTER V + 0x56: [683,52,613,25,658,'25 633Q25 647 47 665T100 683Q291 683 291 306Q291 264 288 213T282 132L279 102Q281 102 308 126T378 191T464 279T545 381T596 479Q600 490 600 502Q600 527 581 550T523 577Q505 577 505 601Q505 622 516 647T542 681Q546 683 558 683Q605 679 631 645T658 559Q658 423 487 215Q409 126 308 37T190 -52Q177 -52 177 -28Q177 -26 183 15T196 127T203 270Q203 356 192 421T165 523T126 583T83 613T41 620Q25 620 25 633'], + + // LATIN CAPITAL LETTER W + 0x57: [683,54,988,25,1035,'25 633Q25 647 46 665T103 683Q168 683 207 632Q228 608 243 568Q269 485 269 374Q269 324 265 271T256 184L251 150L252 152Q254 153 257 157T264 167T274 180T286 197Q359 293 424 398T519 558T549 616Q549 618 547 624T545 638Q550 654 572 668T615 683Q626 683 632 672T657 595Q726 370 741 128L742 110Q752 122 767 142T823 217T894 321T950 424T976 511Q976 544 958 560T918 577Q906 577 906 602Q906 629 918 651T942 681Q948 683 954 683Q983 683 1008 658T1034 569T999 421T915 257T813 109T724 -3T681 -49Q666 -59 660 -45Q659 -41 657 35T639 233T591 477Q573 551 570 551Q569 551 554 523T507 439T433 315T323 155T182 -25Q160 -52 151 -53Q137 -53 137 -30Q137 -29 148 25T170 168T181 338Q181 424 168 483T131 571T87 609T40 620Q25 620 25 633'], + + // LATIN CAPITAL LETTER X + 0x58: [683,0,713,52,807,'324 614Q291 576 250 573Q231 573 231 584Q231 589 232 592Q235 601 244 614T271 643T324 671T400 683H403Q462 683 481 610Q485 594 490 545T498 454L501 413Q504 413 551 442T648 509T705 561Q707 565 707 578Q707 610 682 614Q667 614 667 626Q667 641 695 662T755 683Q765 683 775 680T796 662T807 623Q807 596 792 572T713 499T530 376L505 361V356Q508 346 511 278T524 148T557 75Q569 69 580 69Q585 69 593 77Q624 108 660 110Q667 110 670 110T676 106T678 94Q668 59 624 30T510 0Q487 0 471 9T445 32T430 71T422 117T417 173Q416 183 416 188Q413 214 411 244T407 286T405 299Q403 299 344 263T223 182T154 122Q152 118 152 105Q152 69 180 69Q183 69 187 66T191 60L192 58V56Q192 41 163 21T105 0Q94 0 84 3T63 21T52 60Q52 77 56 90T85 131T155 191Q197 223 259 263T362 327T402 352L391 489Q391 492 390 505T387 526T384 547T379 568T372 586T361 602T348 611Q346 612 341 613T333 614H324'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,143,668,31,714,'65 599Q65 618 107 650T204 683Q267 683 312 643T380 533T414 385T424 217Q424 186 423 160T422 123Q426 123 468 170T567 304T650 469Q661 503 661 519Q661 546 639 570Q615 591 583 591Q569 591 569 616Q569 640 582 661T613 683Q624 683 638 679T671 664T702 625T714 558Q714 472 639 329T426 45Q361 -21 282 -82T154 -143Q97 -143 64 -104T31 -20Q31 4 44 25T70 46Q78 46 81 39T87 16T97 -9Q127 -51 182 -51Q184 -51 187 -50H190Q233 -41 314 25Q330 36 330 40Q336 79 336 178Q336 508 223 594Q199 614 158 619L148 620L139 611Q111 586 83 586Q65 586 65 599'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,0,725,37,767,'694 220Q708 220 708 210Q708 195 695 167T658 105T593 42T502 3Q492 1 458 1Q400 1 293 11T150 22Q116 22 92 11T51 0Q37 0 37 10Q37 21 63 44T179 146T367 319L391 343H343L296 344Q285 350 285 358Q285 365 289 372T300 383T313 392T324 398L329 400H450L561 518Q597 558 607 571L621 587H596Q553 589 484 599T383 609Q342 609 326 596T301 555Q294 533 263 514T208 492Q189 492 189 503Q189 510 197 528T215 559Q249 607 318 645T466 683Q504 683 573 673T669 662L690 661Q734 682 748 683Q767 683 767 673Q767 666 746 640Q655 531 555 428L529 400Q529 399 543 399Q604 397 604 366Q604 350 587 337T551 322Q541 322 539 323Q529 328 529 334Q529 339 487 342L470 343L446 320Q272 153 200 96L235 95Q297 95 392 86T533 74H554Q586 116 597 159Q604 179 635 199T694 220'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Caligraphic/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js new file mode 100644 index 00000000..1acdb717 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js @@ -0,0 +1,272 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [689,12,349,107,241,'121 621Q121 657 132 673T177 689Q223 689 223 644V635Q223 604 222 595Q221 590 210 490T187 292T175 190V186L166 185L156 184Q156 185 139 393T121 621ZM107 47Q107 70 127 87T174 104Q201 104 221 89T241 48Q241 24 222 6T174 -12Q147 -12 127 6T107 47'], + + // QUOTATION MARK + 0x22: [695,-432,254,10,231,'53 695Q74 695 90 679V622L65 433L52 432H39L27 516Q10 626 10 655Q10 680 26 688Q33 693 39 693Q49 695 53 695ZM151 668Q151 691 191 691Q217 691 224 685T231 661V652Q230 634 219 531L207 433L195 432Q183 432 183 433L168 541Q151 664 151 668'], + + // AMPERSAND + 0x26: [696,17,871,44,839,'290 -14Q186 -14 115 41T44 185Q44 222 54 249T88 300T131 336T189 371Q216 387 216 388Q185 459 185 510Q185 563 206 601T263 659T334 687T405 696Q476 696 503 668T531 603Q531 565 513 536T450 476Q423 459 370 432L334 413L354 384Q474 212 560 139L563 137Q611 185 611 250Q611 295 577 329Q549 356 496 357Q439 357 433 354Q432 354 432 379V403L437 402Q443 402 479 401T557 400Q653 400 735 403T831 407H836Q833 352 833 351L821 352Q809 352 792 352T756 352T720 353T696 354Q680 354 680 353L681 346Q682 339 683 327T685 306Q685 283 681 260T669 218T653 182T635 152T619 129T606 114L602 109Q604 107 618 99T659 81T707 71Q742 71 767 99T804 155L815 183Q815 184 821 183T833 180T839 177Q837 169 834 156T816 110T782 52T727 5T648 -16Q569 -16 499 35H498Q496 35 466 23T387 -1T290 -14ZM418 592Q418 617 398 639T352 661T302 642T278 574Q278 545 288 514T306 465T319 444Q342 456 353 463T382 488T409 529T418 584V592ZM159 239Q159 158 222 98T364 38Q386 38 447 57L469 63L434 98Q349 185 286 275Q258 316 238 345Q233 353 232 353Q159 316 159 239'], + + // APOSTROPHE + 0x27: [695,-436,250,80,158,'80 645T80 662T93 687T123 695Q158 695 158 659Q158 649 157 643L123 437Q123 436 114 436H104Q104 442 92 538Q80 645 80 662'], + + // LEFT PARENTHESIS + 0x28: [737,186,459,134,347,'347 719Q325 708 311 698T272 656T233 580T207 455T195 267Q195 30 247 -79Q261 -110 291 -136Q320 -163 347 -172V-179Q347 -186 344 -186Q338 -186 328 -184T287 -165T230 -123Q134 -25 134 271Q134 417 158 514T226 662T335 734L346 737Q347 737 347 728V719'], + + // RIGHT PARENTHESIS + 0x29: [735,187,459,105,326,'264 262Q264 366 253 446T226 572T186 649T145 692T105 714V725Q105 735 107 735Q108 734 121 731T154 719T196 692T242 641T284 560T314 437T326 268Q326 112 299 7Q279 -78 239 -124T116 -185L105 -187V-179L106 -171L109 -169Q130 -161 138 -158T165 -146T190 -127T210 -101T229 -64T243 -12T255 58T261 148T264 262'], + + // ASTERISK + 0x2A: [692,-449,328,40,277,'40 516L62 529Q85 542 110 556T140 574L126 582Q112 591 104 595T80 607T40 629Q53 642 57 645L65 652L78 642Q106 620 132 603L152 589V595Q152 630 149 681V692H179V689Q178 681 174 638T171 593Q173 593 240 639L258 652Q260 652 267 643L276 633L260 625Q190 587 175 576Q173 575 180 570Q183 569 186 567Q213 549 256 527L277 515L256 495Q246 501 228 515T194 539T170 554V543Q170 486 178 449H148V456Q152 492 152 550L151 562Q150 562 102 528L53 495Q40 514 40 516'], + + // PLUS SIGN + 0x2B: [598,82,893,56,837,'422 584L471 598Q472 598 472 440V282H837Q833 273 829 263L821 244L647 243H472V-63L448 -73L423 -82Q422 -82 422 81V243H239Q56 243 56 244Q60 253 65 263L73 282H422V584'], + + // COMMA + 0x2C: [107,191,328,118,253,'118 61Q118 80 135 93T169 107Q190 107 221 65T253 -23Q253 -39 251 -49T237 -80T198 -133Q148 -191 144 -191Q142 -191 137 -182T132 -172Q143 -161 160 -131T183 -83Q185 -77 185 -62Q185 -54 184 -48T182 -38T177 -28T171 -19T162 -8T150 6Q130 28 124 38T118 61'], + + // HYPHEN-MINUS + 0x2D: [275,-236,893,54,833,'54 236L73 275H453Q833 275 833 274Q830 265 825 255L818 236H54'], + + // FULL STOP + 0x2E: [102,15,328,103,237,'103 23T103 44T120 83T170 102Q200 102 218 84T237 44Q237 20 216 3T168 -15Q138 -15 121 4'], + + // SOLIDUS + 0x2F: [721,182,593,41,550,'272 270Q503 721 506 721L509 720Q512 720 518 719T529 717L550 713L91 -181L66 -182Q41 -182 41 -181L272 270'], + + // DIGIT ZERO + 0x30: [501,12,593,42,533,'238 -12Q162 -12 102 42T42 185Q42 303 130 393Q163 425 208 452T284 490L313 501Q323 499 339 495T395 472T464 426Q533 357 533 273Q533 201 483 133T364 27T238 -12ZM428 208Q428 255 402 297T342 365T280 404T241 419Q214 419 178 374T142 259Q142 206 168 164T225 99Q259 74 310 74Q326 74 337 75T366 82T396 103T417 141Q428 171 428 208'], + + // DIGIT ONE + 0x31: [489,0,593,54,548,'95 481Q102 481 217 485T383 489Q384 489 384 485Q367 397 367 165Q367 58 369 54Q374 46 380 44T410 42H466H546V40Q547 38 547 19L548 0H54V23Q54 29 54 34T54 44L55 47Q79 47 134 46T202 45Q226 45 234 52Q240 57 241 64T245 105Q254 236 254 320V347Q254 369 252 382T240 409T211 431L97 450L96 465Q95 480 95 481'], + + // DIGIT TWO + 0x32: [491,-2,593,44,563,'307 335Q307 374 283 397T224 421Q187 421 112 387Q105 384 100 382T95 381Q90 387 86 394L77 407L86 413Q219 491 298 491Q370 491 399 460T428 388Q428 373 424 358T409 326T391 297T363 264T335 235T301 202T269 171L199 104Q194 99 205 97Q209 96 214 96Q527 105 544 105Q553 107 563 102Q563 100 557 79T545 34T537 2H377Q338 2 247 2T130 4H44V26L104 77Q185 145 212 172T267 235Q307 291 307 335'], + + // DIGIT THREE + 0x33: [487,193,593,31,523,'102 402L108 408Q115 413 122 418T141 431T165 447T194 461T227 474T263 483T302 487H307Q413 487 452 420Q465 400 465 371Q465 334 445 303T396 253T347 225T317 213Q314 213 314 211Q316 209 316 205Q317 201 320 201Q337 201 359 198T411 184T465 156T506 109T523 39Q523 -62 436 -127T229 -193Q179 -193 130 -178T56 -150T31 -133Q31 -132 41 -122L52 -112L63 -117Q128 -148 201 -148Q282 -148 331 -104T381 20Q381 71 363 100T304 145Q243 166 149 166H137V204H146Q179 204 211 210T275 229T326 268T346 329Q346 372 314 401Q292 423 245 423Q188 423 125 383L102 402'], + + // DIGIT FOUR + 0x34: [495,196,593,13,565,'346 -196Q344 -196 335 -187L336 -148Q337 -127 337 -55V0H13V29L187 253Q362 477 362 479L368 480Q375 481 387 483T411 487T434 491T452 494L459 495Q460 495 470 482V453Q470 389 466 230T461 62Q461 61 513 61T565 60L555 29L546 -1H461V-15Q461 -48 463 -100T465 -154L457 -157Q449 -160 434 -165T405 -175Q347 -196 346 -196ZM339 265V341Q339 362 335 362Q327 362 219 217T110 65V61H337V117Q338 133 338 187T339 265'], + + // DIGIT FIVE + 0x35: [481,190,593,18,519,'232 192Q176 192 122 152L95 162V481H306Q516 481 516 479Q514 477 501 433L486 389L319 388H152V386V382Q152 379 152 374T151 365Q147 329 146 260V218H149Q211 242 284 242Q353 242 402 224T474 176T508 117T518 55Q518 -62 432 -126T220 -190Q184 -190 151 -185T96 -172T57 -157T31 -145T20 -139T19 -138Q19 -136 27 -125L35 -112L51 -120Q114 -152 174 -152Q257 -152 314 -100T371 46Q371 107 340 149T232 192'], + + // DIGIT SIX + 0x36: [704,12,593,48,547,'48 251Q48 330 76 403T150 529T253 623T370 683T485 704Q494 704 520 701T547 695Q547 692 542 659T536 625Q531 624 524 624L512 623L502 628Q489 635 468 640Q452 645 423 645Q403 645 379 640T320 617T255 568T201 481T171 348Q170 341 170 330V325L183 333Q275 385 357 385H361Q464 385 514 312Q546 267 546 217Q546 127 457 58T262 -12Q225 -12 189 3T120 49T68 132T48 251ZM448 165Q448 228 406 274T289 320Q264 320 236 312T190 295T173 284Q173 266 176 241T189 178T214 112T259 61T326 39Q372 39 410 75T448 165'], + + // DIGIT SEVEN + 0x37: [479,197,593,54,591,'57 376L87 479H591V455L584 446Q544 399 491 328T349 117T185 -169L171 -196H159Q152 -197 102 -197Q58 -197 58 -196T56 -185L54 -175L299 158L443 359Q446 367 444 370H254L71 365L57 376'], + + // DIGIT EIGHT + 0x38: [714,5,593,45,542,'88 533Q88 573 120 610T194 668T268 701T307 714Q324 714 352 711T422 695T486 659Q518 625 518 585Q518 536 479 489T384 406L371 398L385 390Q387 389 400 382T420 370T442 356T466 339T489 319T510 295T526 269T538 238T542 204Q542 125 463 60T256 -5Q145 -5 92 52Q45 97 45 165Q45 204 64 237T109 290T163 324T209 345T228 353L214 364Q199 375 179 392T138 431T103 480T88 533ZM405 557Q405 568 402 581T387 612T350 644T286 663Q283 663 280 663T274 664H272Q256 664 228 636T199 572Q199 547 238 507Q268 475 320 437L334 427Q345 433 358 443T388 483T405 549V557ZM304 42Q366 42 398 76T431 155Q431 178 420 200T396 238T359 270T321 296T283 318L263 328Q262 328 230 312Q190 290 175 266T160 198Q160 132 202 87T304 42'], + + // DIGIT NINE + 0x39: [487,195,593,29,549,'549 220Q549 23 429 -82T105 -195H84V-189Q84 -179 85 -174V-164H93Q184 -156 238 -132T334 -56Q361 -23 376 16T394 78L397 100L363 88Q329 75 291 61T244 45Q237 44 218 44Q154 44 94 97Q29 152 29 240Q29 350 108 404Q145 429 257 480Q270 487 279 487Q403 487 470 421Q549 347 549 220ZM408 217Q408 276 390 320T346 385T297 415T259 424Q218 424 185 393T151 286Q151 216 213 154Q252 115 321 115Q368 115 388 134T408 217'], + + // COLON + 0x3A: [457,12,255,57,197,'57 398Q57 419 72 438T117 457Q154 457 174 439T194 398Q194 379 176 361T119 343Q85 343 71 362T57 398ZM62 19T62 43T77 85T115 104Q153 104 175 86T197 42Q197 14 171 1T119 -12Q96 -12 79 3'], + + // SEMICOLON + 0x3B: [458,190,255,56,211,'56 399Q56 424 73 440T104 456Q114 458 120 458Q149 458 170 440T192 399Q192 380 174 362T120 344Q85 344 71 362T56 399ZM78 53Q78 67 84 76T90 86Q90 88 98 92T116 98Q117 98 121 98T128 99Q152 97 181 58T211 -24Q211 -77 128 -165Q124 -170 121 -173T116 -178T113 -181T110 -185T106 -190L97 -184L88 -177L95 -168Q143 -104 143 -65Q143 -51 137 -40T113 -7T81 35Q78 41 78 53'], + + // EQUALS SIGN + 0x3D: [343,-168,582,22,559,'559 342L549 304H22L27 319Q29 328 30 333T33 343H296Q559 343 559 342ZM559 206L549 168H22L27 183Q29 192 30 197T33 207H296Q559 207 559 206'], + + // QUESTION MARK + 0x3F: [697,14,428,40,422,'121 590Q121 575 128 562T144 542T152 533T115 512L78 491Q55 499 47 516Q40 530 40 553Q40 601 77 632Q155 697 257 697H268Q316 697 355 679Q422 646 422 576Q422 518 388 476Q383 468 376 461T358 444T340 428T316 410T290 390L230 344Q180 307 180 275Q180 261 187 248T202 227L209 219Q209 215 176 193L142 170Q114 177 100 194T84 226V239Q84 259 93 276T113 302T150 331T192 362Q203 370 219 382T247 403T267 422Q312 471 312 546Q312 593 282 623T207 653Q170 653 146 636T121 590ZM95 23T95 49T117 94T173 113Q204 113 223 96T242 54Q242 27 221 7T167 -14Q136 -14 116 4'], + + // LATIN CAPITAL LETTER A + 0x41: [686,31,847,29,827,'821 97Q822 97 824 88T827 77L793 53Q676 -25 670 -28Q669 -29 656 -27L583 123Q583 124 467 46L352 -31L341 -20Q305 18 264 47T192 77Q161 77 60 32L49 40Q37 47 38 49Q39 49 93 83T212 160T297 219Q411 312 411 452Q411 519 360 571T233 624Q180 624 157 601T133 548Q133 524 160 496T214 441T241 393Q241 356 199 321T100 256L86 249L77 256Q68 263 67 263L84 274Q101 286 118 304T135 339T109 384T56 446T29 504Q29 566 118 624Q207 686 309 686Q349 686 360 685Q405 678 439 661T491 625T520 583T534 543T537 511Q537 436 491 344L478 318L455 299Q420 272 308 179L284 160L294 158Q348 154 426 89L437 79Q513 110 579 153V175Q579 183 579 227T580 330T581 446T582 542L583 582L664 630Q681 640 703 653T734 673L744 679Q750 678 756 676L767 674L716 623V585Q716 568 712 463T708 289V250Q708 237 709 218T710 195L711 180L739 130Q768 79 771 79Q775 79 796 88T821 97'], + + // LATIN CAPITAL LETTER B + 0x42: [684,31,1044,56,965,'160 345Q160 357 144 376T109 413T73 458T57 509Q57 544 95 584Q142 631 205 657T331 684Q382 684 427 658T500 585L505 577L521 588Q537 599 562 614T616 646T679 673T738 684Q790 684 807 666T840 587Q850 552 863 532T888 508Q894 505 906 505Q917 505 930 507T953 512T963 514L964 504Q965 495 965 494T914 467T808 413T745 384H751Q782 380 802 377T854 362T904 334T937 287T951 217Q951 178 937 143T908 91Q903 86 820 34L734 -21L718 -24Q679 -31 639 -31Q561 -31 451 4T271 40Q190 40 119 -2L99 -13L91 1L84 15L86 16Q88 18 132 42T233 100T315 152Q377 199 386 233Q388 240 393 297T399 363Q399 487 353 551Q337 573 306 597T238 622Q201 622 179 602T157 557T214 476T272 396Q272 371 229 334T143 272T96 246Q95 246 85 252T74 259T95 273T138 306T160 345ZM529 443Q529 409 528 385T526 353L525 346Q526 346 649 390T773 435Q749 451 742 464T727 518Q727 519 725 532T721 548T717 562T712 577T706 589T698 601T688 608T675 614T658 616Q626 616 576 582T525 528Q525 527 526 518T528 489T529 443ZM772 57Q774 57 778 58T792 64T808 77T821 103T827 144Q827 222 784 266T660 322Q652 323 611 323H596Q577 323 535 316L523 314Q520 291 505 255L500 241L356 138L366 137Q443 131 518 110T650 72T748 54Q763 54 772 57'], + + // LATIN CAPITAL LETTER C + 0x43: [676,32,723,71,726,'460 -32Q373 -32 305 -11T193 45T122 124T83 214T72 303Q72 395 114 476L119 486L313 592L338 568L359 580Q418 615 479 638T568 668T606 675Q607 675 608 676H610Q612 676 615 661T630 621T660 578Q673 568 694 568Q717 568 721 570H726Q724 565 722 559L717 549L706 545Q608 513 583 513Q568 517 559 522T533 546T493 603L490 609Q452 599 452 558Q452 537 469 481T486 393Q486 353 474 331T422 285T296 231L272 223L262 230L253 237Q279 246 314 274T351 338Q351 376 334 442T316 532Q316 546 319 552Q319 554 316 554Q304 554 288 547T250 523T214 466T199 371Q199 218 299 133T541 47Q571 47 585 51T652 81L712 108Q716 104 716 81L706 74Q695 68 673 54T633 29L550 -22L540 -24Q492 -32 460 -32'], + + // LATIN CAPITAL LETTER D + 0x44: [683,29,982,31,896,'380 596Q307 596 250 582T158 546T100 493T67 433T56 373V361Q55 361 43 366L31 372V384Q31 455 69 523T173 627Q213 650 284 666T444 683H452Q629 683 735 629Q896 548 896 369Q896 263 839 163Q835 155 818 140Q746 82 662 27T563 -29Q525 -29 386 16T183 62Q147 62 127 52T63 1L48 -14L40 -4L31 5Q83 73 172 149L186 161H199Q291 161 329 181Q357 199 357 231Q357 258 301 316T245 396Q245 423 282 458T349 512T403 543L413 548L425 545L438 541Q373 491 373 462Q373 446 399 415T453 349T480 288Q480 251 433 212Q394 180 348 156L334 148L353 145Q408 134 513 105T654 76Q711 76 745 132T780 277Q780 434 676 517Q637 549 562 572T380 596'], + + // LATIN CAPITAL LETTER E + 0x45: [686,29,783,74,728,'527 55Q574 55 619 69T691 97L717 111V85L562 -18Q520 -29 443 -29Q379 -29 325 -15T235 21T180 61T146 98Q74 186 74 307Q74 395 109 472Q113 482 123 489T190 533Q251 568 295 591L308 598L350 580L361 586Q403 612 464 636T564 673T609 686Q610 686 610 685Q612 683 616 670T627 636T646 601Q666 572 686 572H692Q713 572 726 576H728L725 565L723 554L692 544Q660 535 629 526T595 516Q585 514 574 519Q563 527 543 552T507 597T490 617Q467 604 456 579V564Q456 535 473 471T492 393L494 381L613 460L622 446Q630 433 650 411T696 371L703 365L614 312H596L580 322Q568 329 553 340T528 355T510 360Q496 358 491 354T484 345T471 326T435 297Q408 278 370 261T307 235T277 227Q273 227 266 234L256 240L267 245Q280 251 294 258T330 288T353 336Q353 373 335 444T316 530V537Q316 549 322 567Q270 554 233 499T196 370Q196 253 287 157Q392 55 527 55'], + + // LATIN CAPITAL LETTER F + 0x46: [684,146,722,17,727,'424 522Q265 596 208 596Q193 596 180 593T150 579T116 542T89 474Q86 465 86 463L59 481L63 494Q87 578 137 627Q191 684 285 684Q334 684 406 658T538 607T621 581Q644 581 706 629L721 640Q722 640 725 630L727 620Q701 592 654 548T582 486L569 487Q533 490 485 504L468 508Q449 503 429 495T387 466T365 422Q365 373 439 299L453 310Q473 325 528 370L588 418Q614 398 642 368T668 331Q667 331 628 296L590 262L582 274Q557 311 526 311Q511 311 487 297T462 278Q462 277 492 244T551 166T581 88Q581 54 570 25T536 -27T505 -56T478 -76Q376 -146 274 -146H270Q199 -146 162 -118T124 -15Q124 12 128 30T132 96V107Q132 144 117 157Q102 169 85 169Q74 169 59 165T32 156T20 151Q20 152 19 158T17 167Q17 168 17 168T17 169T19 170T22 172T27 175T35 179Q131 230 195 230Q231 230 259 202Q270 190 270 171Q269 150 253 87T236 -16Q236 -67 261 -87T322 -107Q380 -107 428 -68Q467 -35 467 30Q467 60 447 91T383 171T316 251Q290 286 278 308T263 339T261 359Q261 384 284 418Q322 469 424 522'], + + // LATIN CAPITAL LETTER G + 0x47: [687,29,927,74,844,'742 611Q784 611 812 631V611Q807 607 783 591T718 544T629 476L606 458Q608 458 628 457T667 453T713 443T762 423T804 388T836 335Q844 313 844 289Q844 231 814 182T746 103Q720 82 655 48T546 -18L520 -21Q456 -29 432 -29Q313 -29 223 33Q204 45 183 65T135 119T91 207T74 320Q74 428 109 480Q116 491 127 497T215 546L308 595L343 583L355 591Q387 613 433 636T488 660H489L491 659Q493 658 495 657T500 655L509 650L500 645Q479 635 460 612T441 552Q441 535 447 498T459 433T466 405L625 513L643 526Q620 530 585 546T535 586Q535 587 532 592T527 602T525 610Q525 613 577 649L630 687Q632 687 638 675T653 649T686 623T742 611ZM349 313Q349 328 327 413T305 510V516Q305 531 308 542T314 559T317 566T315 567Q297 567 270 548Q233 524 212 490T191 392Q191 337 206 288T244 207T284 156T316 128Q410 51 535 51Q632 51 675 102T718 217Q718 269 690 314T599 375Q574 381 535 381Q501 381 477 377L466 376Q469 364 469 349Q469 314 457 295T408 258Q366 236 308 219L288 213L279 220L270 227Q284 232 294 236T309 243T320 252T326 260T331 270T336 281Q349 310 349 313'], + + // LATIN CAPITAL LETTER H + 0x48: [683,126,851,6,752,'288 139Q288 172 255 224T189 335T156 442Q156 495 242 579Q289 625 361 668Q364 671 368 673T376 678T380 681L384 683L392 676Q401 670 414 661T443 642T477 626T509 619Q543 619 618 668Q625 672 628 674T631 675Q632 673 633 663T633 651L564 595Q556 589 545 580T528 566T516 556T505 548T497 543T488 539T481 537T472 535T463 534T451 534H442Q385 534 304 581L291 589Q290 588 285 583T277 575T269 566T262 555T257 543T255 529V522Q255 507 260 487T276 446T293 409T311 376L321 359Q321 358 322 358T324 359T327 361T333 366Q386 409 481 460L503 472L543 471Q586 471 599 470Q692 459 714 430Q725 416 738 360T752 245Q752 184 742 127T725 51T703 -8Q700 -13 619 -64T518 -123Q508 -126 493 -126Q438 -126 398 -86L427 -52Q456 -17 457 -17Q460 -17 465 -16H473Q474 -21 481 -32T504 -56T539 -69Q572 -69 599 -34Q625 4 625 158Q625 264 609 311T532 378Q508 386 484 386Q455 386 419 372T360 345T337 330L346 313Q375 263 386 227Q389 215 389 202Q389 192 388 184T384 168T376 152T365 138T350 121T331 103T307 81T278 54L194 -24Q130 30 99 30Q85 30 64 20T31 1T16 -10Q15 -11 13 -7Q12 -6 11 -3Q8 4 6 8L32 35Q88 88 117 107T169 126Q177 126 182 125Q218 118 252 84L263 73Q288 113 288 139'], + + // LATIN CAPITAL LETTER I + 0x49: [681,25,655,32,623,'500 615Q523 615 550 628T595 655T614 668L623 654L607 642Q512 569 440 534L427 527L413 529Q384 535 340 547T265 565T209 572Q173 572 145 556T101 522T60 465Q58 460 54 460T41 468L32 477L37 487Q96 599 139 640Q187 681 247 681Q275 681 283 680Q313 674 398 645T500 615ZM418 170Q418 186 410 260T401 382Q403 418 403 424L405 433L415 444Q482 515 571 571L582 578Q591 573 607 568L597 560Q522 504 522 450Q522 427 533 357T545 241V228Q545 190 536 159T508 106T478 73T446 48Q343 -25 238 -25Q179 -25 118 15L107 22L79 5Q51 -12 51 -12L38 2L55 18Q106 67 175 122L192 136Q202 130 206 123Q223 91 252 61Q263 50 266 48T278 39T297 32T320 30Q357 30 389 68Q415 102 418 170'], + + // LATIN CAPITAL LETTER J + 0x4A: [681,141,652,-8,616,'65 510Q68 517 74 528T101 569T144 620T202 661T274 680Q308 680 389 628T503 576Q530 576 596 600Q615 607 616 607Q616 602 615 596V585Q605 581 576 568T531 548T485 531T418 509L400 503L358 522Q347 527 327 537T299 550T277 560T257 568T239 573T220 577T201 578H196Q181 578 169 575T135 554T88 502L83 496Q82 496 74 502T65 510ZM424 4Q424 50 395 151T365 313V320Q365 352 369 361T405 403Q431 432 465 462T521 508T547 525L549 524Q551 524 554 523T560 521L571 517L552 498Q515 461 499 430Q485 399 485 366Q485 326 512 231T539 84Q539 -14 460 -77T273 -141Q248 -141 234 -140T198 -131T160 -106T134 -59Q128 -40 124 -16T117 22T108 49T91 69T59 75T15 65L1 59Q-8 76 -7 77Q4 85 22 97T88 129T170 149Q218 149 234 125Q242 112 242 43V21Q242 -17 248 -41T274 -85T322 -105H325H330Q363 -105 396 -75Q424 -47 424 4'], + + // LATIN CAPITAL LETTER K + 0x4B: [681,27,789,20,806,'234 109Q234 144 194 245T153 404Q153 445 180 490Q232 572 325 626T517 681H524Q612 681 661 658Q683 647 699 632T717 604Q717 600 708 545L699 490L690 489Q681 488 679 488Q675 488 669 504T640 546T577 592Q520 620 446 620Q415 620 386 614T327 594T280 553T262 487Q262 468 265 447T271 413T279 384T285 362L295 371Q320 396 352 421T439 474T538 502Q577 502 596 484T627 428Q642 386 651 373T677 360H682Q698 360 727 369L724 357Q724 354 724 351T722 346V344Q559 289 539 283Q582 272 589 271L615 265L637 189Q662 109 663 108Q668 97 682 84Q698 68 722 68H730H738Q762 68 799 91L803 80L806 70Q795 59 770 40T703 -3T631 -26Q598 -26 578 -8Q548 24 536 92Q524 154 509 183T477 218T428 224Q409 224 385 220T346 212L331 207Q330 205 330 201T331 189T332 178Q332 158 325 116L305 96Q269 60 240 38Q171 -21 123 -21Q72 -21 33 18L20 32L62 74Q96 107 102 112T116 118Q120 118 122 113T131 95T150 69Q171 48 190 48Q198 48 206 51T224 69T234 109ZM519 367Q497 432 450 432Q379 432 313 333L300 314L304 299Q306 294 309 280T315 260L321 235L542 313Q530 325 519 367'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,28,786,30,764,'277 226Q277 248 253 286T203 369T178 449Q178 490 212 533T284 607Q380 683 532 683Q610 683 639 660T668 583Q668 568 666 546T663 509Q663 478 683 460Q691 452 719 452L738 450Q732 437 729 437Q728 437 652 416T573 394Q554 394 541 409T527 444Q527 449 532 487T538 542Q536 584 501 606T418 628Q389 628 364 620T317 587T295 523Q295 478 333 401T372 276Q372 269 371 267Q371 264 318 206L264 149Q284 141 317 130T433 101T577 82Q619 82 652 95T701 127T728 164T742 196L744 209Q744 210 749 208T759 203T764 199T760 185T751 154T744 129Q714 42 680 13Q628 -28 566 -28Q490 -28 403 -5T249 42T153 66T106 53T70 15T47 -16Q46 -17 30 -5L39 13Q85 100 138 148L147 156L161 157Q218 165 246 179T277 226'], + + // LATIN CAPITAL LETTER M + 0x4D: [683,32,1239,27,1232,'134 338Q134 357 81 417T27 504Q27 516 34 530Q55 568 110 615Q190 683 305 683H314Q445 683 495 580L501 569L512 577Q608 646 681 646Q759 646 801 585L808 576L816 583Q860 619 921 650T1041 682Q1063 682 1077 675T1096 660T1112 631T1132 596Q1160 555 1188 555Q1204 555 1228 564Q1230 565 1231 562Q1231 560 1232 554V547L1215 538Q1179 521 1114 475Q1112 474 1106 470T1099 464T1093 459T1088 452T1085 441T1082 425T1081 404T1079 376T1079 339Q1079 282 1084 236T1098 160T1117 112T1138 85T1159 77Q1166 77 1180 81T1207 90L1219 94Q1220 94 1221 86T1222 76L1045 -32Q1044 -32 1004 15L964 64V167Q965 334 970 372V378L994 402Q1032 440 1057 460Q1061 463 1066 467Q1070 469 1070 470T1068 471T1060 474T1050 481Q1040 488 1021 531T996 583Q979 609 947 609Q922 609 887 592T820 537L821 524Q825 484 825 448Q825 268 768 155L759 137L589 -28L579 -20Q533 17 507 17Q475 17 449 -7L436 -18L424 2L441 20Q446 25 456 36T471 52T484 65T497 79T509 90T522 99T534 106T548 112T561 115T576 117Q602 117 639 86Q648 81 648 81Q650 82 657 94T668 112Q711 202 711 373Q711 484 677 533T600 583Q592 583 583 581T569 577T554 568T542 560T528 549T516 539L519 523Q527 485 527 461Q527 444 522 407Q506 266 447 150L437 130L217 -25L208 -15Q165 28 126 28Q89 28 62 1Q47 -14 43 -14Q42 -14 36 -8L28 0L44 17Q96 73 120 92T166 117Q182 123 204 123Q239 123 284 78L295 67Q307 72 337 102Q400 178 400 346Q400 508 325 571Q270 618 208 618Q180 618 168 614T140 594Q124 578 124 564Q124 540 182 480T240 396Q240 359 197 321Q154 285 94 252L80 245L76 248L67 257L61 262L71 268Q82 275 94 284T120 309T134 338'], + + // LATIN CAPITAL LETTER N + 0x4E: [679,30,983,25,973,'522 492Q521 492 517 502T512 513Q542 444 542 333Q542 226 503 137L498 125L396 53Q308 -8 292 -17T260 -27Q226 -27 191 -9T136 29L145 39Q162 56 192 89L230 129L235 128H241Q276 57 332 57Q358 57 391 80Q403 89 409 100T422 143T428 227Q428 329 406 408T347 530T272 594T196 615Q152 615 135 596T118 558Q118 535 146 502T203 438T232 385Q232 357 195 322T122 265T83 243Q82 242 72 249T61 258L66 262Q72 265 82 273T103 292Q125 314 125 333Q125 351 101 376T51 432T26 492Q26 549 108 614T290 679Q326 679 335 678Q353 675 370 670T400 658T425 642T445 625T463 606T477 588T487 571T495 556T500 543L504 535L523 553Q553 581 569 595T619 632T686 667T757 678Q778 678 793 675T819 664T833 651T844 633T852 617Q884 548 910 548H916Q938 548 962 556L967 542Q967 540 947 531Q909 509 883 492T847 467T838 458Q825 419 825 328Q825 234 833 191T858 121Q875 94 892 77Q898 71 907 71Q912 71 928 76T957 87T971 91L972 88Q972 84 972 81L973 73L957 63Q891 21 806 -23L794 -30L783 -14Q766 13 728 60L713 79V372L724 384Q743 406 765 427T800 460L813 471Q809 472 806 472Q783 479 766 503T741 551T715 594T672 614Q644 614 622 595Q597 576 572 550T534 508L522 492'], + + // LATIN CAPITAL LETTER O + 0x4F: [726,30,976,12,881,'254 595Q269 583 269 581L262 577Q256 573 247 566T228 549T212 527T205 502Q205 480 266 386T328 277Q328 234 239 150L221 134L231 133Q264 131 376 99T516 62Q567 50 604 50Q614 50 626 52Q643 57 662 71T703 115T739 198T753 323Q753 454 692 517Q652 555 584 565T382 577Q365 577 357 577H308L300 591L292 606Q292 608 342 665L392 724L403 725Q406 725 411 726H416L417 725L412 715Q408 705 408 698Q408 684 423 679Q431 677 516 672T663 655Q757 634 806 593T873 463Q881 421 881 380Q881 340 874 306Q859 223 809 147Q801 134 789 124Q595 -30 456 -30Q395 -30 289 3T147 36Q134 36 121 33T98 26T76 15T59 4T44 -8T32 -17L22 -7L12 4L56 59L100 114L116 118Q217 142 217 199Q217 230 185 276T120 365T87 430Q87 435 109 464T172 534T254 595'], + + // LATIN CAPITAL LETTER P + 0x50: [688,223,977,33,943,'247 398Q247 372 206 334T126 272T83 247Q82 247 72 253T61 261Q60 261 61 262T66 265Q127 306 127 343Q127 364 63 430Q42 451 38 458T33 480V490V497Q33 526 63 567Q112 632 170 660T282 688Q341 688 384 667Q454 633 482 566Q483 565 484 566T496 574Q562 623 630 653Q699 681 751 681Q778 681 797 673Q818 662 830 609Q835 580 843 564Q863 524 895 524H901Q917 524 932 528Q936 522 938 518T942 513T942 511Q873 480 836 454Q789 423 789 395Q789 362 834 298T880 200Q880 170 867 145T820 81Q733 -20 647 -20Q581 -20 499 21V9Q499 -16 502 -53T509 -116L512 -141L370 -223L357 -216Q344 -209 344 -208L348 -196Q370 -113 370 33V52L355 58Q307 76 284 76Q258 76 228 60T183 29T141 -11Q137 -7 133 -2L126 7L134 18Q181 89 210 121T278 170Q304 179 328 179Q336 179 358 177L370 175Q368 268 367 359Q367 416 363 434Q362 438 362 441Q348 527 302 574T203 621Q169 621 148 599T127 557Q127 535 187 476T247 398ZM673 315Q673 357 786 442Q786 443 776 444T750 449T727 462Q719 471 716 484V496Q715 507 715 515Q715 571 698 588Q680 611 643 611Q592 611 547 571Q534 558 511 522L499 505V139L543 123Q702 64 744 64Q770 64 781 79T793 112Q793 143 733 217T673 315'], + + // LATIN CAPITAL LETTER Q + 0x51: [726,83,976,12,918,'254 595Q269 583 269 581L262 577Q256 573 247 566T228 549T212 527T205 502Q205 480 266 386T328 277Q328 234 239 150L221 134L231 133Q264 131 376 99T516 62Q567 50 604 50Q614 50 626 52Q643 57 662 71T703 115T739 198T753 323Q753 454 692 517Q652 555 584 565T382 577Q365 577 357 577H308L300 591L292 606Q292 608 342 665L392 724L403 725Q406 725 411 726H416L417 725L412 715Q408 705 408 698Q408 684 423 679Q431 677 516 672T663 655Q757 634 806 593T873 463Q881 421 881 380Q881 340 874 306Q864 250 838 196T791 126Q748 93 733 82L715 69Q714 68 723 60T748 40T774 23Q806 2 832 2Q849 2 870 6T904 14L917 17Q917 12 918 6V-3L882 -22Q806 -60 778 -73L755 -83Q640 -36 596 -7L586 0L576 -4Q513 -30 457 -30Q394 -30 289 2T149 35Q119 35 93 22T52 -4T36 -17T24 -7T12 4L56 59L100 114L116 118Q217 142 217 199Q217 230 185 276T120 365T87 430Q87 435 109 464T172 534T254 595'], + + // LATIN CAPITAL LETTER R + 0x52: [688,28,978,31,978,'31 498Q34 541 76 586T176 659T279 688H290Q377 688 429 653T506 569L511 558L526 572Q620 663 707 682Q722 685 737 685Q781 685 804 665T830 619T838 565T854 525Q866 511 897 511Q917 511 925 513L937 515Q938 515 941 509T944 501T925 493T870 470T803 438Q735 406 735 401Q735 400 741 399T767 390T814 374L828 367L829 307Q829 233 833 202T852 144Q873 109 896 90Q906 82 928 82T976 95V92Q976 88 978 72L807 -28Q768 39 733 87L718 108V149Q718 230 714 257T693 298Q654 333 580 333Q524 333 520 329Q520 300 489 224T443 133Q441 131 333 53T223 -27Q221 -26 204 -11T169 16T136 28Q110 28 66 -8L56 -16Q52 -13 40 -1L48 7Q165 124 211 124Q232 124 287 77L298 67Q309 73 337 97Q397 150 397 347Q397 419 379 474T330 560T269 604T207 619Q177 619 152 601T126 563Q126 540 185 479T244 387Q240 336 160 289Q144 278 98 255L80 246L62 261L79 272Q96 283 113 301T130 337Q130 353 115 373T81 410T47 451T31 498ZM524 358Q537 358 657 405T777 457Q777 459 768 459Q749 462 738 474T723 499T714 539Q706 585 697 599Q681 618 657 618Q632 618 597 595T532 515L525 502L524 441Q524 375 523 369Q523 358 524 358'], + + // LATIN CAPITAL LETTER S + 0x53: [685,31,978,82,905,'457 -31Q356 -31 272 6T135 120T82 304Q82 372 106 430T170 527T241 588T305 626Q341 643 386 657T460 678T495 685T554 660T674 609T778 584Q800 584 818 591T848 610T866 633T878 651T883 659L893 649L901 639Q879 574 803 532T666 490Q661 490 657 490T650 491T641 492T633 495T622 500T610 505T595 513T577 522T554 533T527 547Q436 594 415 602Q393 608 374 608Q303 608 253 545T202 386Q202 229 307 135T568 41Q674 41 748 85T822 198Q822 244 779 283T639 322Q595 322 499 303T383 283Q358 283 335 290T291 318T270 374Q270 418 313 460T424 510H431L435 505L440 500Q425 496 403 475T380 427Q380 382 431 373Q437 372 475 372Q543 372 626 388T742 404Q831 404 868 362T905 260Q905 182 831 108Q692 -31 457 -31'], + + // LATIN CAPITAL LETTER T + 0x54: [686,30,790,30,802,'666 641Q737 641 794 686L802 662Q790 648 734 596L677 541L664 538Q630 528 583 528Q540 528 482 537L461 541Q402 512 402 456Q402 427 439 387T512 311T549 253Q549 220 455 139L440 126Q541 75 586 75Q600 75 619 80T654 94T685 110T709 124T719 130Q722 125 725 119L730 108Q700 72 568 -18Q551 -30 542 -30Q495 -30 404 6T270 42H263Q213 42 142 -11L131 -19L129 -8Q126 1 126 4Q218 84 301 126L316 134H406L413 142Q436 165 436 189Q436 202 421 221T364 281Q336 307 318 328T296 356T283 381L290 394Q338 478 410 540Q419 549 417 549Q415 550 369 558T268 575T195 584Q153 584 127 567T100 523Q100 499 116 479T151 447T170 433Q170 429 171 428Q171 427 131 394T88 359Q82 363 73 370T47 403T31 457Q31 513 79 565T197 648T332 679Q369 679 490 660T666 641'], + + // LATIN CAPITAL LETTER U + 0x55: [688,39,851,18,871,'273 244Q273 281 244 331T186 428T155 502Q155 524 165 536Q239 634 333 688Q338 684 345 680L356 672L344 664Q310 642 295 624T280 582Q280 550 303 505T348 407T371 300Q371 270 362 248L247 123L358 92Q452 64 484 64Q507 64 523 72Q553 87 573 109Q583 121 586 146T593 283Q594 303 594 344Q594 401 591 461T584 558L581 595Q598 600 623 611T672 634T719 659T754 678L768 686Q770 686 784 673L782 670Q781 668 777 664T768 655Q747 635 738 616T721 535T714 359Q714 205 723 176Q727 164 744 133T771 89Q780 75 804 75Q814 75 853 87L867 92L871 73L671 -39L654 -10Q636 20 619 50T600 83Q600 84 589 75T539 34Q478 -16 475 -19Q469 -22 449 -28T414 -34Q410 -34 394 -32Q356 -28 282 -2L237 15Q169 38 126 38Q106 38 85 27T51 4T37 -8T27 -1T18 8Q18 10 70 63T124 116Q154 123 176 131T223 154T260 191T273 244'], + + // LATIN CAPITAL LETTER V + 0x56: [685,29,982,25,966,'133 343Q133 360 79 416T25 496Q25 523 58 563T118 624Q197 685 293 685Q331 685 339 684Q453 665 489 558L493 546Q521 570 553 596T640 653T725 684Q753 684 783 672T844 641T889 618Q895 616 912 616Q924 616 936 617T956 620T965 622T966 612V604L952 595Q924 576 895 549Q864 517 856 496T847 448V434Q847 395 848 388L859 323Q874 241 874 212Q874 142 830 96Q796 62 724 14Q661 -29 603 -29Q555 -29 421 28T242 86Q182 86 110 31Q105 28 102 26T99 25Q88 36 88 42Q95 54 222 142Q252 163 262 165Q319 183 344 218Q378 266 378 377Q378 444 362 494T319 571T266 610T212 623Q181 623 156 603T131 562Q131 539 154 512T206 458T243 416Q246 409 246 399Q246 387 242 377T225 351T178 311T94 259L79 251Q72 256 68 261T62 268L61 270L70 277Q131 318 133 343ZM822 526Q778 531 719 564T628 597Q611 597 579 574Q543 543 513 506L505 495L506 473Q506 469 506 461T507 449Q507 348 467 271L462 261L404 218L348 174Q349 173 356 173Q384 169 450 144L546 105Q665 56 708 56Q737 56 746 72T756 118Q756 129 755 135L741 219Q725 314 725 334V344Q725 416 736 431Q748 450 815 510L832 526H822'], + + // LATIN CAPITAL LETTER W + 0x57: [683,30,1235,26,1240,'133 317T133 338T80 413T26 496Q26 532 83 591Q100 608 111 616T151 644T219 672T304 682Q381 682 434 646T506 564L510 557Q513 557 534 573L677 665L707 683L790 561L803 572Q933 682 1001 682Q1037 682 1098 650T1193 616Q1208 616 1222 619L1235 622Q1239 622 1239 616Q1239 611 1240 609Q1240 608 1206 577T1138 503T1104 430Q1104 409 1123 330T1142 208Q1142 183 1136 147Q1127 118 1117 106Q1114 103 1031 48T935 -14Q930 -18 908 -22T862 -27Q826 -27 759 -6T647 26Q597 38 578 38Q573 38 561 33T533 20T505 4T480 -10L469 -16L452 -26L439 -28Q423 -30 411 -30Q358 -30 279 7T169 45Q125 45 58 -5L47 -14L41 -4L35 8Q35 11 56 29T113 75T181 125L200 139H217Q279 143 320 180T377 270T394 393Q394 453 378 498T334 568T277 605T213 617Q177 617 155 607Q140 600 130 587T119 560Q119 545 137 522T177 479T217 434T236 393Q236 324 98 251L89 246L76 253L63 261Q91 275 112 296ZM1088 526Q1066 526 1004 556T909 586Q863 586 816 539L802 526L804 514Q814 461 814 411Q814 319 781 238Q772 214 760 198T730 165T702 136L715 133Q759 122 848 90T973 57Q1003 57 1017 80Q1022 93 1022 116Q1022 152 1003 241T983 377V391Q983 405 985 409T1002 429Q1019 450 1045 475T1090 514L1107 528Q1104 527 1102 527T1096 527T1088 526ZM699 358Q699 391 696 419T688 467T675 503T660 530T642 550T626 563T608 574T593 582Q581 575 559 554T524 512Q523 510 523 477Q523 315 444 218L435 207L368 169Q301 132 301 131Q307 128 315 125L377 99Q476 57 515 57Q534 57 608 94L627 102L636 111Q699 187 699 358'], + + // LATIN CAPITAL LETTER X + 0x58: [681,35,849,32,835,'273 679Q354 674 408 633T477 525L484 533Q496 548 524 574T571 615Q594 633 625 649T675 673T699 681Q724 632 747 607Q754 601 756 599T765 594T777 591T794 590Q818 590 834 594V585L835 577L704 513L693 518Q657 534 631 560T597 599Q596 601 581 584Q495 490 489 379V366H562L681 369Q682 369 679 366T668 355T651 341L620 314H485V295Q490 190 543 125T686 60Q720 60 789 88L801 93V89Q798 83 798 66Q781 59 685 -10L665 -25L634 -30Q596 -35 594 -35Q570 -35 536 -23T477 19Q461 37 445 67T418 118L409 138Q401 131 388 120T340 79T273 28T206 -12T151 -31Q129 -31 90 -12T32 22L113 101Q114 101 120 96T136 84T160 69T189 56T221 51Q256 51 305 90Q376 149 376 301V315H293Q276 315 251 315T210 314T190 313L168 312Q168 313 200 340L231 368L238 367Q275 367 311 366H378V387Q376 470 355 512T291 572Q274 579 252 579Q223 579 197 568T156 544T131 519T117 508Q112 512 108 518L99 527L117 545Q177 604 255 665L273 679'], + + // LATIN CAPITAL LETTER Y + 0x59: [688,214,984,34,878,'34 496Q34 518 53 549T107 610T195 661T310 682Q357 682 398 663T460 611Q467 600 475 583T489 554T495 542Q495 544 531 570T617 629T700 676L724 688Q742 670 756 657T784 635T806 621T830 606T856 592Q878 416 878 340Q878 154 805 -3L798 -20L779 -40Q706 -113 613 -163T421 -214Q359 -214 317 -196T256 -160L306 -63L313 -64L320 -66L326 -79Q337 -104 349 -120T392 -151T470 -166Q576 -166 644 -101Q750 7 750 292Q750 426 721 495T617 565H611Q563 565 513 509L506 501L508 493Q508 490 509 475T510 445Q510 319 458 236L451 225L436 216Q406 198 365 169T318 134L332 127Q336 126 397 103T489 80H493Q527 80 593 129L604 137L607 127Q610 119 610 116Q610 114 592 95T543 46T484 -4Q450 -27 446 -27Q441 -27 402 -18Q365 -9 290 20T188 50Q135 50 64 -7L52 -17L43 -7L34 2L51 19Q118 87 177 132L192 143H215Q259 145 289 155T335 184T355 214T366 245Q382 306 382 388Q382 426 381 436Q368 520 318 570T214 621Q184 621 165 608T142 583T137 562Q137 541 163 508L201 469Q245 425 251 408Q253 403 253 398Q253 383 240 366T212 335T161 295Q128 271 99 253L89 247L77 256L65 266L76 273Q125 301 134 329Q136 334 136 342Q136 357 124 372T88 410T49 455Q34 479 34 496'], + + // LATIN CAPITAL LETTER Z + 0x5A: [677,148,711,-5,624,'278 601Q242 601 212 591T167 570T121 533Q114 528 111 525L93 550Q223 661 244 667Q299 677 356 677Q415 677 456 666T515 634T541 596T549 555Q549 513 529 478T480 421T424 388T377 372Q365 370 365 367Q365 365 389 365T450 358T523 337T588 282T623 183Q624 177 624 161Q624 20 524 -60Q415 -148 285 -148Q242 -148 213 -139Q181 -131 159 -109Q136 -87 127 -56T114 6T104 49Q94 69 57 69Q38 69 13 58L1 53Q1 55 0 59T-3 68T-4 76Q78 130 138 142Q150 144 162 144Q213 144 227 120T242 31Q242 -30 263 -66T345 -102Q397 -102 444 -52T491 107Q491 172 471 211T428 265Q392 288 306 288Q269 288 233 284L218 282Q208 289 208 291L229 324L251 359Q250 360 248 360Q239 360 248 371L256 381H273Q344 385 378 409T413 495Q413 537 384 569T278 601'], + + // LEFT SQUARE BRACKET + 0x5B: [740,130,257,36,226,'226 711T225 711T86 699V-93H89Q94 -93 157 -96T223 -100H226V-119H223Q134 -119 42 -130H36V740H42Q61 738 156 736H226V723Q226 711 225 711'], + + // RIGHT SQUARE BRACKET + 0x5D: [738,132,257,14,208,'69 732Q116 733 146 734T184 736T197 737T206 738H208V-132Q190 -129 160 -127T99 -125T66 -124H14V-103H19Q20 -103 84 -98T152 -92H158V699H151Q148 700 85 703T18 708H14V732H69'], + + // CIRCUMFLEX ACCENT + 0x5E: [734,-452,590,1,584,'1 463T1 464T148 599T296 734Q584 486 584 485L561 472Q538 459 537 461Q296 672 293 672L161 563Q133 539 97 509T44 466L28 452Q27 452 14 457'], + + // LATIN SMALL LETTER A + 0x61: [472,32,603,80,586,'80 129V151Q80 241 99 363Q99 367 111 372T172 401T285 465L297 472Q340 455 405 443L423 440L455 453Q486 467 489 467L497 461L494 451Q480 390 480 292V283Q480 207 483 155L484 143L535 80L558 90L582 99Q586 95 586 83Q586 81 513 25L443 -29Q410 16 386 40L371 55V61Q371 63 371 67T370 74V80L278 25Q186 -29 184 -31Q182 -32 160 -12T112 35T80 75V129ZM359 366Q334 366 300 371T243 382L221 388Q218 388 212 375T200 323T194 228Q194 191 197 152L198 139L217 120Q245 92 269 74L279 66L304 78Q338 95 349 100L369 110V152Q368 164 368 210T367 275Q367 358 366 361V366H359'], + + // LATIN SMALL LETTER B + 0x62: [690,32,590,86,504,'99 398Q99 610 86 662Q86 665 95 669T106 674L108 669Q109 664 112 654T119 635Q122 626 125 616T130 601L131 596Q214 649 273 678Q295 690 298 690Q299 690 304 688T313 682L317 679Q275 653 240 612Q210 569 210 469V459Q210 450 210 432T211 406L212 378L285 425Q301 435 321 447T350 466L360 472Q360 473 361 473T368 471T401 456T465 429L501 414V408Q504 386 504 309Q504 255 500 203T491 125T485 97Q485 95 445 74T343 23T237 -24L214 -32Q197 -22 165 3T109 49T87 73Q99 169 99 398ZM386 251Q386 320 380 347V350L305 374L282 382L214 348L213 274Q213 184 214 165V131L230 119Q288 76 349 54Q386 137 386 251'], + + // LATIN SMALL LETTER C + 0x63: [473,26,464,87,424,'227 393Q215 393 210 351T205 269Q205 161 213 153Q220 145 244 125T290 88L312 72L365 92Q414 113 418 113V93L365 60Q255 -9 221 -26L211 -18Q158 21 91 88L90 107Q87 167 87 225Q87 267 90 302T96 351T100 366L295 473L311 470Q340 464 368 454T410 437T424 429L347 334L342 333H337L325 342Q299 363 271 378T228 393H227'], + + // LATIN SMALL LETTER D + 0x64: [632,28,589,-1,511,'88 117Q88 177 91 231T97 310T102 341Q102 343 118 357T168 397T239 447L257 459L268 454L278 449Q242 416 238 412L219 394Q219 391 216 378T211 349T206 307T203 249Q203 211 206 166L208 148Q224 132 261 108T333 70Q341 66 342 67T350 79Q393 157 393 302Q393 368 388 406V411L371 424Q199 558 101 558Q69 558 28 545L18 542L8 549L-1 557L24 569Q61 587 147 621L177 632Q179 631 194 627T216 621T240 613T269 602T302 589T340 571T382 549T431 522T484 488Q504 475 504 472Q511 449 511 365Q511 248 474 129L468 108L451 96Q427 77 347 28T254 -28Q235 -20 174 21T89 86L88 117'], + + // LATIN SMALL LETTER E + 0x65: [471,27,472,81,428,'309 69Q391 98 416 108Q418 106 422 100T425 92Q419 86 326 30T229 -27Q228 -27 207 -13T154 27T97 76L85 87L84 106Q81 152 81 194Q81 295 93 359L95 369L286 471L313 449Q376 397 414 372L428 362Q428 360 375 318L188 181V170Q188 156 189 153V148L203 138Q228 119 266 94T309 69ZM209 389Q208 388 204 366T194 307T187 244Q187 225 188 225T201 233L245 261Q283 284 291 291Q324 313 324 316L296 334Q280 343 259 357T224 380L210 390Q209 390 209 389'], + + // LATIN SMALL LETTER F + 0x66: [687,222,388,35,372,'128 400Q127 401 121 422T108 478T99 540V555L111 569Q135 597 165 626T214 671T235 687L249 678Q263 668 282 659T315 650Q335 650 362 666L372 654L286 569H271Q205 576 173 586V583Q173 558 208 492T252 401Q253 399 310 399T367 398L332 355H254V311Q251 160 235 16Q230 -28 226 -36Q225 -38 221 -45Q171 -140 121 -211L113 -222H104Q94 -222 94 -220Q94 -215 105 -187L121 -145Q139 -80 139 35V93Q139 222 135 314L134 354Q134 355 84 355H35L84 399H106Q128 399 128 400'], + + // LATIN SMALL LETTER G + 0x67: [472,208,595,17,541,'92 71Q92 74 91 88T88 128T86 183Q86 230 91 275T102 342T109 366Q115 372 207 422T305 472Q407 426 431 426Q435 426 476 445L519 465L525 463L532 461Q497 392 497 268Q496 255 496 233Q496 179 516 92T539 -10L541 -22L526 -38Q441 -126 355 -194L339 -206L327 -207Q324 -207 319 -207T310 -208Q242 -208 171 -179T73 -131L56 -141Q40 -150 38 -150Q17 -140 17 -137Q17 -136 18 -136T98 -79L176 -23Q174 -21 134 24T92 71ZM226 393Q224 393 221 372T214 312T210 235Q210 182 214 144L215 132L230 118Q281 70 301 66Q304 66 331 80T373 105L384 112L383 165Q383 224 387 309Q387 314 387 319T387 329T388 336T388 341V343Q388 344 381 344T339 354T249 384Q246 385 243 386T236 389T231 391T228 392L226 393ZM414 -80Q414 -64 411 -43T403 -1T394 37T386 66T382 79Q381 79 286 15T189 -52Q312 -125 365 -125Q397 -125 405 -115T414 -80'], + + // LATIN SMALL LETTER H + 0x68: [687,207,615,89,507,'95 661Q95 662 103 667T113 672L126 634L137 596L147 602Q235 656 275 677L292 687L303 680Q305 679 307 677T312 674L313 672L310 670Q307 669 301 667T289 660T274 649T259 634Q250 622 244 611T233 585T226 560T222 528T221 497T220 456T219 413V377L232 384Q244 391 271 409T339 455L362 471L383 461Q425 440 491 415L504 410V406Q507 399 507 269Q507 76 486 -21Q485 -30 483 -33T461 -57Q382 -139 299 -207L281 -197L263 -186L266 -185Q268 -184 280 -177T312 -155Q344 -130 353 -116Q394 -59 394 117Q394 162 391 216T386 301T382 335Q382 338 365 346T323 364T281 376L250 362Q220 347 219 347Q213 336 213 232Q213 177 217 144L218 128L224 119Q244 92 263 71L272 60Q206 21 157 -24Q156 -24 151 -16T132 11T98 52L89 62L91 103Q104 289 104 436Q104 471 103 506T101 568T99 616T96 649L95 661'], + + // LATIN SMALL LETTER I + 0x69: [686,25,331,3,327,'73 613L164 686L184 666Q200 650 214 637T235 620T242 614T203 577T162 540Q158 540 122 570T73 613ZM92 58Q92 63 94 83T98 142T101 234Q101 318 97 358V366L59 387L40 379L21 371Q20 371 12 376T3 382L38 406Q78 431 125 466L138 477Q149 468 186 444L219 422V389Q215 324 215 247Q215 136 222 123Q226 113 238 98T258 83Q263 83 292 94L322 104Q322 103 324 97T327 89Q327 88 317 82T272 52T190 -7Q166 -25 164 -25L112 35Q92 55 92 58'], + + // LATIN SMALL LETTER J + 0x6A: [682,203,332,-19,238,'74 611L155 682Q172 666 186 655T208 636L235 614Q227 606 191 574L154 540L135 556Q101 582 84 601L74 611ZM10 377L144 477Q145 476 184 453T229 428L233 425V416Q238 346 238 252Q238 93 215 -16L213 -30L185 -57Q29 -203 19 -203Q17 -203 -19 -189L-9 -183Q52 -146 78 -116T114 -37Q120 31 120 192V237Q120 327 113 351T72 380L53 372Q34 362 32 364L10 377'], + + // LATIN SMALL LETTER K + 0x6B: [682,25,464,34,432,'106 72Q110 105 111 193T114 294V308H74L34 309L83 346H115V430Q114 591 106 652Q105 662 107 665T114 668T123 672Q125 672 139 635L152 597L154 598Q156 600 160 602T167 607Q193 625 226 644T279 672T302 682L312 676L321 670L312 665Q281 649 263 626T241 587T233 547Q232 541 231 530T230 510T230 501Q231 501 265 522T334 564T369 583L380 570Q428 509 428 481Q428 475 427 470T423 459T416 448T404 434T389 418T369 397T344 371L321 347L365 346H409L372 308H227V294Q227 272 230 208T234 138Q234 136 256 119T302 84L324 68L372 88Q421 108 422 108T432 90L421 83Q373 53 270 -5L234 -25L204 -1Q172 25 124 60L106 72ZM336 434Q336 452 327 472T308 503T297 514Q296 514 290 510T275 499T264 490Q230 458 230 358V346H247Q268 346 276 350T302 372Q328 398 335 423Q335 424 335 428T336 434'], + + // LATIN SMALL LETTER L + 0x6C: [681,24,337,100,312,'111 275Q111 406 108 518T104 650V657Q105 657 109 660T117 665T122 666L133 629L144 594L161 606Q218 642 272 670L294 681Q295 681 300 677T306 672L302 669Q298 666 292 662T278 651T263 637T251 621Q232 587 227 530T222 343Q222 226 230 125L231 112L244 98L258 83Q271 87 285 92L312 102V84Q297 72 231 24T163 -23L100 55Q110 141 111 275'], + + // LATIN SMALL LETTER M + 0x6D: [476,31,921,16,900,'115 203Q115 257 114 291T112 338T111 355Q111 357 93 370L75 384L54 375Q32 366 31 365Q27 365 16 378Q25 383 89 430L152 476Q175 453 228 420Q229 420 229 418T229 410T227 394L225 369Q279 400 315 425T363 461T376 471Q480 424 514 416V412Q514 411 514 404T513 392L511 376L520 382Q529 387 548 399T584 422Q599 432 618 444T648 463L657 469H658Q661 469 681 461T735 440T796 420Q803 418 803 416Q801 414 798 390T791 325T788 247Q788 220 790 172T794 123Q799 115 814 97T835 78H838Q841 78 867 89L895 101Q896 101 896 100T897 92T900 78L873 62Q810 23 761 -12L736 -30Q735 -30 729 -22T707 7T671 48L661 59Q674 93 674 207V219Q674 341 670 344Q655 353 591 372L576 376L544 364Q511 351 510 351Q507 349 507 224V132L535 95Q541 87 548 78T560 63L563 58Q563 57 504 15T444 -28L385 53L387 67Q396 114 396 206Q396 289 393 334Q393 346 390 348Q369 358 306 373Q301 373 265 361L228 349V335Q227 322 227 284Q227 206 231 157Q231 151 231 144T232 133V129Q232 125 259 90Q286 56 286 53Q287 53 284 51T273 43T258 31L173 -31L166 -20Q160 -11 145 7T119 38T108 59Q108 62 110 81T113 133T115 203'], + + // LATIN SMALL LETTER N + 0x6E: [473,28,654,5,608,'608 88Q572 65 535 37T477 -8T455 -25Q432 7 389 53L375 68L378 82Q386 160 386 195V221Q386 284 385 307L384 344Q352 359 306 373L286 379L213 353V273Q214 229 214 161V129L275 62L163 -28L150 -14Q136 0 121 16T91 44Q86 48 86 50Q95 83 96 148Q96 224 89 340L88 366L79 374Q69 384 67 385L64 388L55 383Q52 382 44 378T33 373L21 367L13 374Q5 379 5 381Q5 384 69 428L133 473Q135 473 147 464T179 443T215 424L214 400V376Q271 404 342 457L363 472Q363 473 364 473Q366 473 375 469T418 449T502 414L512 411V407Q502 330 502 217V197V132L523 109Q527 104 533 97T543 87T547 83L550 80L578 92Q603 103 604 103Q606 103 608 88'], + + // LATIN SMALL LETTER O + 0x6F: [482,35,609,107,515,'107 102Q107 178 112 242T123 334T129 362Q129 363 140 368T199 400T315 469L336 482L346 476Q409 439 498 414L514 410L515 389Q515 208 502 141Q494 101 491 94Q490 89 478 81Q430 51 375 23T288 -20T254 -34Q250 -34 200 -1T119 56L108 65L107 76V102ZM389 355Q367 358 346 363T309 372T282 381T264 388L257 390H256Q254 390 249 381T238 348T227 293Q226 280 226 237Q226 183 231 146L232 131L244 122Q285 91 323 74T374 57H377L380 68Q405 154 405 267Q405 315 401 349V354L389 355'], + + // LATIN SMALL LETTER P + 0x70: [557,207,604,-1,519,'66 435Q66 445 117 501T173 557Q174 557 183 555T193 551Q174 526 174 509Q174 496 190 472T233 428V386L377 482L399 471Q450 445 509 425Q519 421 519 420L518 419Q518 418 518 416T517 410Q517 405 518 381T519 335Q519 222 501 137Q492 84 489 84L473 75Q457 66 423 44T354 -6L338 -19L329 -13Q320 -8 313 -4T297 4T284 10T270 14T258 17T245 20T233 22V12L241 -161L214 -172Q187 -184 160 -195T131 -207Q127 -207 112 -202L113 -188Q113 -182 115 -77T118 31Q118 32 109 32Q63 27 23 0L10 -9Q5 -4 -1 8Q1 13 52 57T114 101H115L117 123Q117 141 117 230V359L110 367Q85 394 71 421Q66 433 66 435ZM384 83Q386 83 389 110T396 180T400 254Q400 294 395 339L394 349L379 355Q308 383 294 383Q290 383 263 372L234 360L233 245V130Q270 125 305 113T361 92T384 83'], + + // LATIN SMALL LETTER Q + 0x71: [485,211,596,87,515,'362 -196Q375 -92 375 47V78L282 24Q189 -29 188 -30Q187 -30 139 21T90 75Q87 84 87 158Q88 206 94 259T107 342L113 372L308 478L322 473Q374 452 421 444L433 442L503 485Q515 479 515 477Q485 378 485 56Q485 -100 494 -164V-171L381 -211L371 -207L362 -202V-196ZM280 72Q301 77 323 86T358 101T372 110Q372 268 377 346L378 358H374Q368 360 358 360T323 365T257 380L234 386Q231 386 229 379Q215 353 211 310T207 180Q207 152 208 150Q210 142 235 114T280 72'], + + // LATIN SMALL LETTER R + 0x72: [472,26,460,13,453,'23 367Q21 370 18 374T14 380L13 382L151 472L236 411L238 381L290 426Q298 432 307 439T322 452T333 461T342 467L344 469Q382 410 404 399Q410 397 416 397Q423 397 432 399T446 403L451 405Q453 405 453 399V393Q430 374 404 356T364 328T350 318L349 317Q321 320 276 356Q257 371 256 371Q253 374 249 366T242 351Q232 321 232 236Q232 214 232 205T232 182T233 162T235 148T238 137T242 129T249 120T257 114T268 105T281 95Q313 70 314 70L358 85Q377 92 389 96T402 100V90L403 80L229 -26L221 -18Q195 6 166 29T121 63T105 76T106 82T110 97T114 121T117 158T119 208Q119 269 114 329L113 341L103 350Q90 362 67 380L45 374L23 367'], + + // LATIN SMALL LETTER S + 0x73: [479,34,523,-24,481,'189 331Q190 304 196 282T207 252T214 244Q239 244 348 292L371 302L382 297Q398 290 415 279T433 265Q442 238 442 166Q442 103 423 45Q416 42 380 29T310 3T244 -26L227 -34Q139 40 73 40Q61 40 48 37T24 30T6 22T-8 14L-13 11Q-14 11 -18 18T-23 26T38 75T102 125Q107 128 146 131H153Q192 131 296 56Q318 40 318 43Q323 48 323 114Q323 157 321 177L319 194Q308 208 291 216T261 225Q239 225 160 185L123 167Q85 205 79 227Q78 230 78 304V377L171 428Q264 479 265 478Q268 478 287 465T334 440T384 427Q423 427 475 463L478 453Q481 446 481 442Q481 439 410 391L339 342H331Q309 345 277 361T222 391T198 406T195 399T191 372T189 331'], + + // LATIN SMALL LETTER T + 0x74: [648,27,393,43,406,'328 69Q401 102 403 102Q404 102 405 94T406 84Q406 83 318 28L230 -27Q223 -21 206 -5T171 25T132 54L124 60V71Q129 154 129 297V359H43L44 363Q44 365 44 367L45 369L48 372Q51 374 57 378T68 387L90 405H129V553L285 648Q304 641 306 640L260 598V592Q259 589 255 505T249 413V405H353V402Q353 399 328 379L303 360H245V319Q245 150 253 125Q257 115 276 101T311 78T328 69'], + + // LATIN SMALL LETTER U + 0x75: [472,32,589,9,603,'444 -31Q444 -29 384 66Q382 66 364 58T309 30T231 -17Q214 -29 212 -29L197 -20Q172 -4 140 11T88 34L68 42Q68 43 73 49T85 67T100 98T113 149T118 221Q118 272 105 332L100 356L58 383L23 365L9 379L76 425Q141 472 144 472Q144 471 183 443L221 414V404Q224 365 224 275V253Q224 159 196 113Q191 104 193 104Q203 104 285 72L308 62L374 89L375 106Q375 266 373 340Q373 364 371 396V424L430 445L491 467Q493 467 499 463T505 457Q505 456 503 442Q488 335 488 187V158L529 81L534 80Q541 80 568 90L598 101Q605 94 602 87L524 27Q445 -32 444 -31'], + + // LATIN SMALL LETTER V + 0x76: [546,27,604,56,507,'95 67Q104 80 104 193Q104 261 100 321L98 355L91 363Q56 402 56 421Q56 441 82 472T132 524T159 546Q174 542 175 542Q159 520 159 501Q159 481 205 432L221 415L220 401Q219 394 219 387L288 429Q309 441 325 451T347 465T358 472T365 476L504 415V409Q504 408 505 374T507 318Q507 155 474 91L469 80L343 26Q314 14 281 0T232 -20L216 -27L202 -15Q192 -5 152 28Q141 35 126 45T103 60T95 67ZM386 349Q302 389 287 389Q271 383 253 375L220 361V136Q226 120 256 100T312 68T342 56Q355 56 360 68Q389 134 389 258Q389 310 386 341V349'], + + // LATIN SMALL LETTER W + 0x77: [549,32,918,55,815,'90 58T90 59T92 64T97 78T102 105T107 150T109 218Q109 290 103 350V356L83 377Q55 407 55 425Q55 445 138 528Q158 549 162 549L164 548Q165 548 167 548T170 547L175 546L172 540Q168 533 165 523T161 502Q161 479 216 430L229 419V382Q232 382 366 471Q407 445 500 408L511 404V387L512 370L595 420Q678 469 679 469L693 462Q756 431 795 417L815 409L814 380Q812 187 782 96Q774 71 766 62T744 48T684 25T577 -23L557 -32L546 -26Q536 -19 519 -10T481 10T436 31T393 47Q384 50 380 50Q380 52 381 58T384 77T387 104Q391 174 391 256V292L390 333L377 340Q350 357 304 373L294 376L227 355V348Q224 322 224 243Q228 117 232 112L235 108Q238 103 245 95T257 80L281 50Q281 49 227 10T172 -29L159 -13Q133 19 116 36T94 56ZM652 64Q658 64 667 84T685 162T697 303V336L686 341Q653 356 619 367L591 376Q590 376 553 361T514 344T512 324T510 275T508 221Q508 167 510 152T521 126Q537 112 590 88T652 64'], + + // LATIN SMALL LETTER X + 0x78: [471,188,459,8,441,'8 -90Q8 -68 13 -63Q13 -56 53 -8T120 63L128 71L129 85Q133 120 134 182Q134 308 131 331T106 365Q100 367 97 369L75 381L35 365L20 377Q20 378 47 397T110 440T161 471L253 413V396Q253 378 254 378L309 422Q364 466 365 466Q365 467 366 466T370 461T376 454Q403 419 426 396L441 380L438 377Q438 376 433 372T420 359T404 344L372 314Q351 320 338 327T310 344T277 364Q261 364 252 316Q251 306 251 235Q251 136 255 129Q257 127 258 124T268 113T298 92Q334 68 335 68Q340 70 349 73T377 84T408 95T421 99Q422 99 422 90L423 82L334 26Q246 -28 243 -28L200 8Q156 43 148 43Q144 43 130 36T99 9T83 -36Q83 -67 121 -89T198 -118L237 -124V-129L238 -133L193 -160Q183 -166 171 -173T152 -184L146 -188Q140 -187 131 -185T98 -173T56 -154T23 -127T8 -90'], + + // LATIN SMALL LETTER Y + 0x79: [557,221,589,60,512,'280 53Q272 47 246 27T199 -10T176 -27L167 -18Q137 17 107 44L90 60L93 71Q108 130 109 290V331Q109 339 109 344T108 353T107 359T105 364T102 369T97 374T91 381Q60 412 60 432Q60 448 86 479T138 534L164 557Q168 553 180 553Q163 532 163 511Q165 491 186 468Q206 443 231 423V404L232 385L371 477L389 468Q439 441 498 418L512 412V386Q512 360 507 190T500 14Q488 -26 445 -67Q401 -111 355 -148T282 -203T249 -221Q247 -220 230 -210T213 -199T229 -191T269 -172T306 -151Q361 -120 379 14Q391 92 391 182Q391 218 386 305Q384 339 380 341Q363 353 330 366T288 379Q282 379 258 368L230 356V181V141Q230 127 232 120T236 108T251 89T275 59L280 53'], + + // LATIN SMALL LETTER Z + 0x7A: [471,214,461,-7,378,'153 371Q141 371 126 365T100 354T78 340L65 331L57 338L50 346L62 356Q133 419 222 471Q274 453 306 422T338 366Q338 356 329 346T283 301L243 264L262 257Q298 246 361 214Q378 154 378 73Q378 33 371 -9T356 -74T345 -104Q340 -106 267 -160L191 -214H177Q60 -214 13 -150Q-7 -122 -7 -115Q-7 -112 19 -77T106 25T241 149Q241 152 227 158T181 173T109 185V190L108 194L158 229Q212 267 223 278T234 306Q234 329 208 350T153 371ZM258 1Q258 42 257 68T254 105T252 118Q235 105 210 85T144 22T102 -45Q102 -79 146 -106T234 -133H238Q248 -128 254 -80Q258 -58 258 1'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js new file mode 100644 index 00000000..9fbcf234 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'] = { + directory: 'Fraktur/Bold', + family: 'MathJax_Fraktur', + id: 'MJFRAKB', + weight: 'bold', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xDFFF,"Other"], + [0xE300,0xE310,"PUA"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js new file mode 100644 index 00000000..e05afc3e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'], + { + // LEFT SINGLE QUOTATION MARK + 0x2018: [708,-411,254,53,187,'187 456Q187 437 169 424T138 411Q114 411 84 454T53 538Q53 565 75 597Q109 648 155 697L166 708L181 694L173 681Q124 610 124 577Q124 549 155 511T187 456'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [692,-394,254,58,193,'125 524Q125 545 92 588T58 651Q58 661 61 667Q65 674 80 683T107 692Q131 692 162 645T193 564Q193 540 176 509T144 460T87 394L78 400L68 406L79 421Q125 489 125 524'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js new file mode 100644 index 00000000..08d395ff --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Bold/PUA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur-bold'], + { + // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED + 0xE301: [630,27,587,64,512,'388 427Q320 485 242 524T128 563H116Q95 563 87 561L77 559Q72 563 69 566T65 570T65 572L75 576Q106 592 154 611T212 630Q230 630 262 622T358 581T492 498L508 486Q512 463 512 396Q512 246 469 112L465 102Q453 94 341 25Q252 -27 247 -27Q243 -27 174 24T97 84Q90 100 90 214Q90 285 98 345Q100 360 102 363T118 377Q175 422 262 465Q264 463 270 460L277 456Q277 455 267 447T244 428T228 414Q206 382 206 269Q206 187 214 164T259 110Q286 89 342 58Q391 131 391 313Q391 355 388 412V427'], + + // stix-capital Delta, Greek slashed + 0xE302: [693,212,394,37,408,'39 362L37 366L38 368L82 405H133V474Q135 563 143 589T198 658Q210 669 224 676T247 687L255 690H253Q241 690 253 692Q254 692 256 692T260 693Q263 693 262 691L261 690Q300 690 361 662L373 656L388 666Q404 675 405 675L406 674Q406 672 406 670T406 664L408 655L301 555Q300 555 287 564T254 584T221 597Q190 597 176 583T161 550Q161 525 184 495T232 440T261 405H387V399Q377 389 364 379L340 359H258V315Q258 52 228 -18L172 -120L121 -211H109Q102 -212 96 -212L109 -174Q131 -108 135 -80T139 53V76V157V362H39'], + + // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED + 0xE303: [681,219,387,36,384,'41 352Q40 354 39 355T37 358L36 360H37Q48 370 61 380L84 400H108Q131 400 131 402Q121 424 104 501L100 519Q109 560 134 602T196 664Q230 681 271 681Q291 681 316 669T358 644L373 631Q373 630 304 553Q299 548 294 547Q292 547 290 546H287Q286 546 274 562T243 593T205 609Q180 609 165 596T150 562Q150 526 191 488L217 462Q248 431 253 405V400H381L384 394L349 352H251V332Q249 271 231 17L227 -37L120 -217L109 -218Q103 -219 97 -219Q97 -218 101 -206T110 -177T118 -151Q126 -129 128 -120T136 -46T141 127Q141 250 136 340V352H41'], + + // stix-capital Epsilon, Greek slashed + 0xE304: [474,212,593,67,531,'107 370Q127 384 172 409T255 454T294 473L306 468Q356 446 425 431L435 429L524 468Q528 465 531 461Q499 395 499 271V263Q499 146 509 71T519 -8Q519 -28 512 -45Q510 -50 435 -123T355 -197Q296 -212 257 -212Q209 -212 164 -196T98 -167T67 -143L133 -44H144Q167 -88 216 -111T320 -134Q371 -134 390 -118T410 -69Q410 -52 404 -12T392 60T385 92L193 -29L158 5Q124 39 110 51L96 63V71Q94 79 94 121Q94 130 94 148T93 174Q93 230 96 275T103 344T107 370ZM221 397Q200 334 200 254Q200 170 210 140Q216 126 234 109T268 81L283 71L383 119V127Q384 132 384 241L385 347L368 349Q325 357 290 369T240 389T221 397'], + + // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED + 0xE305: [684,27,393,33,387,'103 453Q103 631 95 661Q95 663 102 667T110 672L114 664Q117 655 123 641T131 621L140 597L154 606Q208 641 275 673L297 684Q300 683 302 682T307 679T310 678L314 676Q283 658 256 625Q238 601 231 579T223 515L224 512L282 548Q339 583 341 583T365 548T386 509Q326 443 318 443L316 446Q314 448 311 452T304 460T294 470T283 480T272 488T260 494T248 497Q231 497 223 474Q220 468 218 440T215 407V401H345L309 360H218V314Q218 181 221 139V129L253 108Q306 73 310 73Q315 73 343 83L373 92L374 87Q375 82 375 79T375 74T360 65T308 36T229 -13L208 -27L192 -13Q149 24 90 61Q89 61 89 62L90 68Q91 73 93 87T97 125T100 191T103 291V360H33V366L34 371L85 405H94L103 404V453'], + + // stix-capital Eta, Greek slashed + 0xE308: [679,220,981,31,875,'602 575Q505 508 505 489Q505 488 505 482T506 463T507 432Q507 314 456 237L449 226L434 216Q420 208 325 143L316 137Q453 82 488 82Q527 82 585 127L596 136Q597 136 599 126L602 115Q578 85 511 27T428 -31Q400 -31 308 10T170 51Q143 51 123 43T92 24T54 -15L34 6L41 14Q65 41 170 129L188 144L204 145Q254 147 293 164T350 208Q378 249 378 344Q378 422 362 478T320 563T268 605T213 618Q177 618 156 600T134 561Q134 539 162 508T217 446T245 394Q245 368 213 337T85 250L62 262Q73 269 86 279T116 308T133 338T108 378T57 439T32 499Q32 556 117 617T291 679Q350 679 393 658Q415 647 433 631T462 600T480 572T490 550T494 541T499 544T516 556T547 578T603 613T689 662L720 679L730 670Q742 659 756 649T785 629T810 615T836 601T855 590Q855 587 860 536T870 419T875 312Q875 114 800 -25Q794 -35 781 -47Q584 -220 398 -220Q322 -220 278 -190Q253 -173 239 -155L244 -150Q248 -145 255 -138T271 -120T290 -100T310 -80T328 -63T341 -51T349 -46Q350 -46 351 -46T354 -47Q357 -47 357 -52Q359 -68 364 -83T383 -118T424 -151T491 -166Q559 -166 613 -129Q629 -118 641 -108T674 -68T710 1T735 107T746 260Q746 433 727 507Q727 512 685 535T615 570L602 575'], + + // stix-MATHEMATICAL BOLD CAPITAL ETA SLASHED + 0xE309: [717,137,727,17,633,'351 571Q317 571 247 563T171 555Q153 555 133 563T107 584Q94 605 98 609Q101 615 138 658T190 717H207Q204 710 204 699Q204 673 231 666Q235 665 264 665Q296 665 345 667T426 669Q474 669 501 660T545 626Q553 612 553 594Q553 531 498 474T379 384Q371 379 371 378Q371 376 390 376H411H434Q520 376 602 318Q621 303 627 288T633 234Q633 59 540 -34Q465 -109 348 -130Q308 -137 235 -137Q159 -136 143 -129Q132 -125 132 -118V-53Q118 -24 90 -24Q69 -24 37 -39L27 -44L25 -42Q23 -39 21 -35T17 -30Q17 -28 40 -14T103 19T177 44Q183 45 205 45Q219 45 227 44T245 37T259 20T264 -12Q264 -33 262 -48T259 -80Q259 -93 260 -95Q271 -110 305 -110Q343 -110 383 -86T443 -33Q491 34 491 154Q491 223 467 249Q428 288 334 288H322Q288 288 237 276L222 273L206 286L262 367Q279 369 303 377T358 403T410 452T431 524Q431 531 431 533T427 545T416 558T392 566T351 571'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/PUA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js new file mode 100644 index 00000000..ad246da8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js @@ -0,0 +1,272 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [689,12,296,91,204,'102 582T102 620T112 673T152 689Q190 689 190 638Q190 605 167 373L148 187L133 184Q102 582 102 620ZM91 24T91 48T107 88T148 104Q171 104 187 87T204 48Q204 22 188 5T149 -12Q124 -12 108 6'], + + // QUOTATION MARK + 0x22: [695,-432,215,8,196,'33 436Q8 603 8 648Q8 663 9 671T19 687T43 695Q63 695 74 681Q76 678 76 650V623L66 532Q57 443 55 436V432H33V436ZM128 666Q128 691 162 691T196 668Q196 634 186 531Q176 441 176 432H166Q155 432 155 434L142 545Q135 603 130 647Q128 664 128 666'], + + // AMPERSAND + 0x26: [698,11,738,49,733,'181 520Q181 604 231 650T328 697L330 698Q333 698 335 698Q336 698 340 698T346 697Q390 697 418 670T446 604Q446 554 414 511Q384 467 300 417L283 406Q281 405 296 374T347 286T425 182Q466 135 469 135Q470 135 473 140T480 152T486 165Q509 210 509 263Q509 282 507 292Q498 317 488 332T465 352T443 359T418 361Q388 361 357 358L346 356L347 374Q347 394 348 396V399H355Q366 396 535 396Q663 396 689 398L703 399Q703 398 702 375T700 351L688 353Q655 356 601 357Q553 357 553 355Q562 332 562 294Q562 280 561 267T555 241T548 218T539 195T529 175T518 156T508 141T497 126L489 115L496 107Q549 54 596 54Q623 54 644 67T677 101T697 140T708 174L710 187Q710 188 710 188L711 190Q714 190 723 187T733 183Q733 179 732 172T726 145T714 107T694 66T665 27T623 0T569 -11Q500 -11 443 41L434 49L425 42Q348 -9 275 -9Q251 -9 233 -6Q187 -1 152 18T98 60T67 111T52 159T49 195Q49 231 60 261T96 315T141 354T197 390L208 397Q181 459 181 520ZM374 577Q374 607 356 629T311 651Q289 651 271 636Q242 614 242 559Q242 533 249 502T262 453T270 435T279 440T298 453T314 464Q374 503 374 577ZM127 217Q127 145 173 89T291 32Q318 32 347 42T393 63T409 75Q384 100 325 184T227 351Q223 366 220 366Q215 366 178 338Q127 298 127 217'], + + // APOSTROPHE + 0x27: [695,-436,212,69,134,'69 666Q69 680 79 687T104 695Q112 695 117 694T128 684T134 659L104 438Q104 436 96 436T88 438Q88 447 79 540T69 655V666'], + + // LEFT PARENTHESIS + 0x28: [737,186,389,114,293,'293 737V719Q291 718 285 714T276 708T268 702T258 695T250 686T241 674Q164 570 164 282Q164 -37 230 -119Q273 -171 292 -171Q293 -171 293 -179V-186H289Q270 -180 259 -175Q175 -132 145 -23T114 275Q114 491 157 598T293 737'], + + // RIGHT PARENTHESIS + 0x29: [735,187,389,89,276,'223 259Q223 386 212 474T178 609T136 677T89 714V735Q121 726 139 713Q276 622 276 273Q276 98 246 -23Q225 -106 189 -139T89 -187V-170L101 -165Q148 -146 172 -110T210 13T223 259'], + + // ASTERISK + 0x2A: [692,-449,278,34,234,'118 573Q118 575 76 602L34 629L50 647L55 652L66 642Q76 633 91 620T117 598L128 590Q128 663 125 687V692H151V689V687Q151 685 151 683T150 678T150 672Q145 628 144 605V592L219 652L232 634Q232 632 220 624Q195 610 155 582L146 575L158 567Q178 552 197 540T225 523T233 516Q233 515 226 506T217 495L152 549L143 555V530Q144 509 145 492T148 466T149 454Q149 449 142 449H125V462Q128 522 128 549V562L115 552Q88 531 59 506L45 495Q44 495 39 505T34 516L118 573'], + + // PLUS SIGN + 0x2B: [598,82,756,47,709,'357 584L399 598V282H709L702 263L696 243H399V-64L379 -73L358 -82Q357 -82 357 81V243H47L51 253Q52 256 54 263T58 272L62 282H357V584'], + + // COMMA + 0x2C: [107,191,278,99,213,'99 62Q99 82 114 94T144 107Q159 107 178 77T205 26Q213 5 213 -23Q213 -49 207 -65T181 -113Q128 -189 122 -191Q121 -191 116 -184T111 -174Q111 -173 122 -155T145 -111T156 -62Q156 -44 152 -34T127 4L104 37Q99 49 99 62'], + + // HYPHEN-MINUS + 0x2D: [275,-236,756,46,706,'46 236L62 274Q62 275 384 275H706L699 255L693 236H46'], + + // FULL STOP + 0x2E: [102,15,278,87,200,'87 43Q87 69 104 85T142 102Q164 102 182 86T200 44Q200 20 183 3T141 -15Q118 -15 103 2T87 43'], + + // SOLIDUS + 0x2F: [721,182,502,34,466,'230 270Q426 721 428 721Q437 719 447 717L466 713L448 672Q78 -180 77 -181Q77 -182 55 -182L34 -181L230 270'], + + // DIGIT ZERO + 0x30: [492,13,502,42,456,'212 -13Q184 -13 156 -2T101 32T59 97T42 195Q42 311 132 396Q170 433 211 462T262 492Q272 492 301 477T366 434T429 360T456 258Q456 161 378 74T212 -13ZM381 209Q381 257 365 295T328 355T282 390T243 408T223 413Q220 413 204 403T167 376T137 341Q119 305 119 250Q119 168 159 114T263 59Q308 59 344 93T381 209'], + + // DIGIT ONE + 0x31: [468,2,502,47,460,'123 459Q145 459 170 460T217 462T256 464T284 466L295 467Q296 467 296 467T297 468Q299 468 302 466T307 462L309 459Q307 454 304 424T299 341T297 235Q297 139 298 101T302 55T313 44Q316 43 367 43L460 46Q460 35 459 22V-1H450Q402 2 281 6Q222 6 171 4T91 1T56 -1L47 -2V43H121H170Q195 43 201 45T209 56Q212 69 212 214Q212 333 209 365T194 409Q183 417 161 423T121 430L104 432Q103 432 103 446V459H123'], + + // DIGIT TWO + 0x32: [474,-1,502,60,484,'104 384Q115 394 133 409T199 449T281 474Q321 474 351 447T385 378Q385 328 333 255T228 127T176 72Q176 67 183 65Q184 65 203 65T260 67T331 69L475 73L484 67Q484 64 472 33L460 1H60V17L107 61Q210 159 249 208Q309 283 309 331Q309 363 285 389T228 415Q212 415 184 403T134 379L114 367L104 384'], + + // DIGIT THREE + 0x33: [473,182,502,39,429,'305 328Q305 372 279 396T214 421H211Q172 421 128 384L107 398L116 405Q151 437 191 455T251 473H260Q314 473 341 455T382 394Q384 386 384 367T382 338Q362 263 271 217L256 210L257 206L259 202Q260 202 272 201T296 198T324 192T355 179T384 157T410 123T427 75Q429 64 429 41Q429 -59 353 -120T183 -182L88 -164Q81 -162 69 -157T48 -147T39 -141Q39 -139 46 -127L53 -114L69 -122Q129 -149 171 -149Q218 -149 253 -131T305 -83T330 -26T338 29Q338 41 336 55T328 89T308 127T273 153Q228 171 162 171Q158 171 152 171T142 170H127V204H134Q232 214 275 257Q305 292 305 328'], + + // DIGIT FOUR + 0x34: [476,191,502,10,481,'299 -179Q306 -156 306 -48V0H11V7Q10 10 10 18Q10 23 154 236L298 449Q298 450 339 463L379 476Q385 473 384 470V466Q384 463 384 457T384 444T383 427T383 408Q381 328 381 248Q381 46 384 40H387Q422 40 460 44Q465 44 470 44T478 44L481 45Q481 43 478 24T473 1Q473 -1 464 -1Q462 -1 451 -1T430 0H387V-76L389 -156V-161L311 -191Q299 -181 299 -179ZM299 364H287L277 352Q234 297 186 224T112 104T79 43Q79 42 192 42H306V115Q306 300 299 359V364'], + + // DIGIT FIVE + 0x35: [458,185,502,47,441,'334 25Q334 99 296 134T207 169Q154 169 107 123L98 114L89 120L80 125V458H420Q420 456 409 418L397 379Q397 378 264 378H131Q130 377 128 376T125 374T124 371T122 368T122 363T121 356T121 345V279V190L130 186L140 190Q196 214 260 214Q311 214 348 197T404 153T431 99T440 42T433 -16T406 -76T356 -130T276 -169T163 -184H156Q110 -184 57 -163L47 -159L53 -147L58 -134Q61 -134 74 -139T110 -148T156 -153Q206 -153 243 -135T299 -87T326 -30T334 25'], + + // DIGIT SIX + 0x36: [700,13,502,45,471,'45 240Q45 328 73 406T143 536T235 626T327 681T399 699Q400 699 404 699T411 700Q424 700 441 696T459 689Q459 671 451 637Q451 633 447 632L444 629L434 633Q413 640 384 640H377Q299 640 222 565Q182 531 156 463T129 315V306H136L149 315Q229 376 316 376H318Q393 376 432 326T471 213Q471 129 402 58T237 -13T93 59T45 240ZM391 172Q391 231 354 272T258 314Q230 314 200 302T154 279T133 262L134 249Q154 32 266 32Q315 32 353 64T391 172'], + + // DIGIT SEVEN + 0x37: [468,181,502,37,498,'395 377L391 382H225Q59 382 59 383L74 423Q89 464 89 465Q90 468 94 468Q146 460 350 458H498V442L473 406Q241 75 125 -156L113 -181H40L37 -168L57 -140Q115 -58 199 70T339 287T395 377'], + + // DIGIT EIGHT + 0x38: [705,10,502,40,461,'220 -10Q168 -10 131 6T75 50T48 103T40 157Q40 223 77 266Q103 295 156 328T225 375Q247 393 247 394L206 361Q205 361 193 368T164 391T131 426T102 474T90 531Q90 580 114 615Q146 660 238 698L254 705L262 704Q288 704 332 693T402 656Q434 620 434 568Q434 518 401 475T321 402L305 391L336 368Q339 366 353 356T372 343T389 330T406 316T420 301T434 283T445 265T454 244T458 222T461 195Q461 106 389 48T220 -10ZM350 545Q350 578 337 601T304 634T266 649T234 653L224 654L204 639Q196 634 191 629T182 621T176 614T173 609T170 603T168 597Q165 585 165 567Q165 497 261 424L273 415Q350 467 350 545ZM261 405L263 407Q262 407 261 405ZM258 403Q257 403 255 401L254 399L256 400Q258 402 258 403ZM252 398Q251 398 249 396L248 394L250 395Q252 397 252 398ZM245 36Q276 36 300 45T338 69T360 102T371 136T374 168Q374 211 341 255Q324 275 305 289T235 332Q231 330 215 321T193 307T173 292T153 271T138 247T127 216T123 177Q123 146 132 117T170 62T245 36'], + + // DIGIT NINE + 0x39: [469,182,502,28,466,'353 93T352 93T320 79T251 49T201 34Q127 37 87 79Q28 138 28 234Q28 273 37 304T60 355T101 396T152 429T218 462L234 469H243Q348 461 395 417Q466 348 466 201Q466 72 397 -29T211 -163Q155 -179 91 -182H72V-154H80Q144 -154 202 -131T297 -60Q318 -31 333 7T352 68L357 92Q353 93 352 93ZM369 208Q369 240 362 272T339 339T290 394T214 415Q171 415 144 372T116 266Q116 193 154 144T238 95H249Q369 95 369 208'], + + // COLON + 0x3A: [457,12,216,50,168,'50 377T50 400T64 440T99 457Q128 457 146 440T165 399Q165 375 146 359T102 342T64 359ZM53 19T53 43T66 86T103 105Q129 105 148 87T168 41Q168 17 147 3T102 -12Q80 -12 67 3'], + + // SEMICOLON + 0x3B: [458,189,216,47,179,'47 399Q47 424 62 441T101 458T143 442T162 400T144 359T101 343Q78 343 63 360T47 399ZM76 86Q76 88 80 91T91 96T106 99Q119 99 131 86Q179 35 179 -25Q179 -64 146 -115T89 -189Q86 -187 83 -185T79 -182T76 -180T75 -177T77 -173T80 -168Q121 -108 121 -64Q121 -44 94 -5T66 52Q66 66 71 75T76 86'], + + // EQUALS SIGN + 0x3D: [368,-132,756,54,725,'725 366Q724 365 721 349T716 331V329H385Q54 329 54 331Q55 332 59 349T63 368H394Q725 368 725 366ZM725 169Q724 168 721 152T716 134V132H385Q54 132 54 134Q55 135 59 152T63 171H394Q725 171 725 169'], + + // QUESTION MARK + 0x3F: [693,11,362,46,357,'46 557Q46 613 103 653T227 693Q287 693 322 659T357 564Q357 517 326 469T259 390T191 326T160 272Q160 240 187 221Q193 217 193 216Q182 209 170 200L147 184Q127 192 113 209T98 250Q98 290 193 376Q287 454 287 542Q287 581 262 616T188 652Q143 652 126 631T108 588Q108 559 140 527L79 490Q46 515 46 557ZM108 47Q108 68 123 85T160 103Q179 103 198 90T217 46Q215 24 201 7T164 -11Q142 -11 125 6T108 47'], + + // LATIN CAPITAL LETTER A + 0x41: [696,26,718,22,707,'22 505Q22 563 94 624T271 685H280Q416 685 443 560Q447 535 447 504Q444 414 405 330L399 319L229 155Q233 154 241 153T253 150T265 145T281 135T301 119T328 93L357 64L402 92Q438 116 473 137L500 154V339Q500 528 495 593V601L559 649Q621 696 624 696L638 686L629 677Q599 650 593 638Q582 614 581 504Q580 490 580 443Q580 314 584 238Q584 235 584 224T584 210T585 199T586 187T588 176T591 164T595 152T601 137T609 121Q630 77 640 77Q661 77 703 101Q704 95 706 90L707 86V84L636 29Q618 15 601 2T574 -19T564 -25L500 121Q499 121 399 48L299 -26Q298 -26 291 -15T272 11T245 42T209 69T165 80Q120 80 58 43L48 37L40 42L32 48L122 117Q196 173 241 211Q319 280 343 327T368 447Q368 535 317 582Q264 633 199 633Q155 633 122 605T86 542Q86 518 133 467T181 387Q181 348 140 309Q113 281 73 260L64 255L50 265L59 273Q112 307 112 345Q112 363 90 387T45 441T22 505'], + + // LATIN CAPITAL LETTER B + 0x42: [691,27,884,48,820,'48 506Q48 568 120 629T268 691Q362 691 425 594L431 585L441 594Q478 628 528 657T629 686Q665 686 687 670Q703 658 718 584T753 506Q756 505 763 505Q778 505 804 512L815 516L820 496Q820 494 808 490T774 476T732 454Q720 445 708 437L675 415L640 394L625 383Q626 382 635 382Q652 382 670 379T712 364T754 336T784 289T797 220Q797 172 776 122Q769 106 766 102T745 84Q654 11 619 -8T538 -27Q483 -27 387 10T249 47Q218 47 186 34T133 8T112 -5T104 7T97 21L196 82Q259 120 284 140Q333 181 351 214Q368 251 368 353Q368 588 228 620Q222 621 205 621Q160 621 139 596Q117 569 117 548Q117 526 162 470T208 387Q208 352 179 320T104 264Q88 256 86 256Q83 256 70 266L82 274Q134 309 134 343Q134 352 130 359Q118 377 100 401T72 439T56 470T48 506ZM453 528Q457 496 457 419L458 357L488 367Q554 390 622 425Q673 449 673 453L671 454Q669 456 665 460T657 473T648 498T639 541Q629 597 616 613Q599 633 567 633Q534 633 493 599Q471 577 457 540L453 528ZM713 176Q713 252 661 295T528 339Q512 339 494 336T466 330T455 325Q454 325 452 311T444 270T425 217L420 207L304 118L319 116Q381 111 475 74T602 37Q655 37 684 79T713 176'], + + // LATIN CAPITAL LETTER C + 0x43: [685,24,613,59,607,'299 585Q333 609 384 634T470 672L505 685Q506 685 513 662T531 613T548 580Q553 576 563 576Q575 576 605 585Q607 585 607 575V564Q537 532 496 527Q475 542 456 567T427 610T415 627Q410 627 398 618T382 603Q373 588 373 558T386 475T400 399Q400 337 366 303Q343 281 309 266T254 247T226 242L214 257Q214 258 223 260T251 272T287 299Q304 316 304 360Q304 396 289 451T274 532Q274 553 277 561V564H269Q205 558 172 501T139 358Q139 207 226 127T443 46Q448 46 457 46T470 47L485 48L601 106Q602 106 602 93V80Q551 48 517 25T474 -4T460 -13T443 -19Q409 -24 367 -24Q360 -24 351 -24T335 -23T326 -22Q190 -2 125 87T59 319V328Q62 412 96 487L101 500L118 512Q189 563 245 591L266 601L299 585'], + + // LATIN CAPITAL LETTER D + 0x44: [685,27,832,27,745,'346 611Q300 611 261 604T194 584T144 555T107 519T82 481T65 443T55 410T50 383T48 367L37 372L27 378V393Q33 524 115 603Q160 648 230 666T365 685Q423 685 434 684Q745 653 745 405Q745 281 694 151L687 133L657 103Q524 -27 470 -27Q456 -27 331 18T157 64Q122 64 84 28Q67 9 57 -6L50 -16L43 -8L35 0Q35 3 46 22T83 74T141 133H154Q208 136 253 161T299 230Q299 259 277 290T232 348T209 392Q209 434 254 479T358 556L368 561L382 550Q382 549 381 548T377 545T371 541Q353 527 326 496T298 444Q298 430 343 365T389 277Q389 240 353 202T267 136L252 127Q304 118 400 83T513 47Q548 47 582 79T635 145Q671 208 671 323Q671 390 651 441T599 524T523 576T436 603T346 611'], + + // LATIN CAPITAL LETTER E + 0x45: [685,24,663,86,634,'301 564Q240 564 203 507T165 361Q165 280 190 218T260 119T358 64T474 46Q491 46 499 47L511 48L628 106V80L499 -5Q498 -6 497 -7T494 -10T490 -12T485 -15T478 -17T468 -19T456 -21T439 -22T418 -23T392 -24Q252 -20 169 67T86 315Q86 409 124 491Q128 500 139 508Q211 560 272 591L293 601L325 585L338 594Q374 617 422 639T502 674L532 685Q533 685 540 663T557 614T574 581Q580 575 591 575Q600 575 616 580T634 585V564L623 559Q572 535 532 529L522 527Q491 547 442 627Q442 628 440 627T435 624T428 620Q410 610 405 597T399 559V553Q399 534 409 487Q419 431 427 369L476 400Q526 431 526 432Q531 426 537 420Q565 382 602 359Q611 353 610 352Q609 351 575 332T537 312Q536 312 505 335T463 358Q451 358 439 352T425 337Q394 243 263 223L251 221L243 229L235 236L245 239Q274 247 303 266Q320 277 325 290T330 336Q330 394 315 451T300 531Q300 549 303 561Q303 564 301 564'], + + // LATIN CAPITAL LETTER F + 0x46: [686,153,611,11,612,'198 617Q177 617 159 609T128 587T106 557T91 524T82 494T76 472L75 463Q74 463 67 468T59 474Q59 488 63 510T80 564T114 622T170 667T253 686Q272 686 295 680Q330 672 384 645T468 598Q498 580 524 580Q549 580 595 626L612 643V616L599 599Q522 500 482 500Q466 500 435 514L420 521Q388 516 349 486T309 415Q309 396 323 366T352 315T367 294Q367 293 375 301T398 322T429 352L490 410Q537 355 542 332Q542 330 531 315T510 286L499 273Q479 313 449 313Q437 313 419 303T390 282L378 271L394 250Q444 183 470 129Q484 96 484 71Q484 -19 402 -86T223 -153H220Q175 -153 137 -120Q103 -89 103 -8Q103 12 106 40T109 96Q109 132 103 146T72 161Q46 161 16 143L14 154L11 165Q88 219 143 219Q163 219 177 197T192 127Q192 102 186 65T179 4Q179 -60 210 -88T272 -117Q319 -117 362 -75T405 33Q405 72 363 139T278 271T235 368Q235 385 243 404T264 439T292 472T324 500T353 522T374 538L382 543Q382 544 351 562T274 598T198 617'], + + // LATIN CAPITAL LETTER G + 0x47: [690,26,785,66,710,'373 560Q373 543 378 509T388 448T394 421Q396 421 416 433T474 474T548 537L538 543Q481 570 452 628L487 659Q521 690 522 690L526 684Q529 677 535 667T551 646T575 625T607 608Q617 606 621 606Q644 606 660 622L664 600L497 455Q495 453 527 453H546Q628 453 665 407L666 406Q710 357 710 297Q710 196 631 109L621 98L577 69Q471 -7 452 -15Q413 -26 370 -26Q239 -26 155 59Q66 148 66 319Q66 442 113 505L191 552Q269 600 270 600H271Q273 600 280 596T293 589T299 586Q300 586 357 623Q413 659 415 659L426 649Q373 604 373 560ZM219 228Q305 262 305 329V343Q305 384 294 434T282 519Q282 562 287 567Q287 569 286 569Q222 556 191 520Q144 464 144 362Q144 213 228 128T420 42Q514 42 568 103T622 255V260Q622 320 578 357Q526 400 453 400Q434 400 410 396L399 394L400 378V372Q400 330 388 301T348 254T305 232T252 217Q245 215 242 214L234 213L226 220L219 228'], + + // LATIN CAPITAL LETTER H + 0x48: [666,133,720,1,644,'11 -16L1 0Q7 6 25 27T57 62T91 88T128 101Q159 99 195 66L203 59L211 67Q239 95 239 133Q239 158 210 213T152 330T123 430Q123 477 173 536T269 630T320 666Q376 610 440 606H443Q457 606 466 611T519 647L542 664Q543 664 543 654V643L522 622Q434 537 403 537Q388 537 366 543T329 555T293 570T270 580L261 585L253 574Q206 517 206 475Q206 452 218 416T242 356L255 331Q256 331 270 345T324 391T421 459L437 468H453Q545 463 608 421L618 415L623 392Q644 307 644 233Q644 97 612 9Q604 -10 601 -15T581 -35Q505 -104 467 -124Q446 -133 431 -133Q414 -132 399 -126T376 -115T368 -107Q368 -106 392 -75L415 -43Q432 -67 444 -73T472 -79H474Q479 -79 484 -78T501 -69T521 -50T538 -13T551 46Q558 97 558 180Q558 232 557 245Q553 277 547 300T528 349T488 389T424 404Q344 404 276 295Q272 288 273 285Q300 216 300 168Q300 161 300 156T298 145T297 137T293 129T289 123T283 116T277 107Q212 23 178 -13L166 -26L149 -9Q108 32 81 32Q63 32 21 -7L11 -16'], + + // LATIN CAPITAL LETTER I + 0x49: [686,26,554,30,532,'190 601Q161 601 137 587T97 553T71 512T55 477T48 463Q44 465 39 468L30 473L35 488Q73 594 106 636T199 685Q200 686 211 686Q250 686 326 652T417 617Q435 617 455 626T497 652T522 670Q532 660 532 654Q469 591 390 550L378 543L343 556Q223 601 190 601ZM378 208Q378 249 369 318T360 424Q360 430 360 439T361 451L362 462Q416 526 482 571L495 580L503 577L511 575L499 562Q442 502 442 465Q442 436 452 368T462 246Q462 169 442 128T385 56Q292 -26 195 -26Q150 -26 104 14L96 21L43 -16Q43 -15 43 -14T41 -10T38 0L48 13Q76 50 123 97L150 125Q154 131 159 131Q166 131 171 116T182 81T193 53Q199 43 216 33T261 22Q307 22 344 68Q378 113 378 208'], + + // LATIN CAPITAL LETTER J + 0x4A: [686,139,552,-10,522,'194 601Q175 601 155 590T121 564T95 533T76 506L69 495Q55 503 55 507Q55 509 60 521Q87 586 132 636T222 686Q251 686 289 660T363 607T422 580Q442 580 466 588T506 604L522 612V591L487 574Q371 517 359 517H357Q332 522 280 561T194 601ZM383 39Q383 96 356 203T329 361Q329 364 329 370T330 378L331 388L339 399Q362 429 394 462T446 513T469 531Q470 531 477 527T484 521L474 509Q411 434 411 379Q411 341 434 223T458 82Q458 1 390 -69T239 -139Q191 -139 162 -123T123 -83T108 -30T101 23T88 64T52 80Q27 80 -4 64L-10 80Q-5 85 13 98T63 128T118 144Q149 144 163 129T179 93T182 38T187 -19Q199 -96 278 -96Q294 -96 309 -91T343 -73T372 -31T383 39'], + + // LATIN CAPITAL LETTER K + 0x4B: [680,27,668,17,682,'154 37Q219 41 219 142Q219 203 190 302T160 434Q160 445 172 472T209 534T269 602T354 657T460 680H472Q576 680 618 617V599Q618 578 615 555T608 517T602 501Q596 495 587 495Q586 495 586 499Q586 500 586 505T585 513Q567 628 415 628Q384 628 356 621T302 596T260 546T244 466Q244 416 258 377L261 367L276 382Q294 401 317 422T386 471T468 500Q500 500 518 477T544 422T554 386Q555 382 560 376T576 364T601 357Q612 357 623 361Q623 360 621 351T617 340L541 305L465 272Q469 271 476 270T488 266T502 260L512 255L519 242Q533 211 546 157T564 93Q584 53 617 53Q649 53 682 74V54L675 46Q646 17 612 -5T554 -27Q546 -27 538 -23T517 -9T494 28T478 91Q465 172 448 200T378 228Q337 228 289 207L288 196Q288 160 284 138Q283 125 262 98Q185 1 112 -24L102 -27L91 -25Q47 -13 17 31Q17 33 49 69L80 106Q111 37 154 37ZM421 434Q411 436 405 436Q370 436 336 407T275 337L267 325L271 313Q288 257 288 234Q289 234 395 276T502 319Q501 320 499 323T493 330T485 345T475 371Q473 378 468 388T449 416T421 434'], + + // LATIN CAPITAL LETTER L + 0x4C: [686,26,666,33,644,'251 231Q251 254 206 341T160 468Q160 529 238 605Q313 677 425 685L432 686Q440 686 445 686Q520 686 545 657T571 576Q571 548 568 517T564 480Q564 466 572 460T608 452H623V431L619 430Q618 430 611 428T591 423T566 417L516 404Q497 415 491 419T480 433T475 461Q475 470 477 498T480 546Q480 561 480 569T474 592T459 615T429 631T379 638Q322 638 283 606T239 526Q237 480 280 394Q319 310 320 268V250Q308 235 244 169L203 128H210Q215 128 256 112T357 80T466 64Q526 64 564 88T625 186L629 196Q643 187 644 186Q618 70 604 41Q577 -15 513 -24Q496 -26 476 -26Q418 -26 344 -3T211 45T133 69Q115 69 97 50T65 7T49 -20L45 -16Q41 -11 37 -6T33 0Q33 8 66 69T111 134Q251 156 251 231'], + + // LATIN CAPITAL LETTER M + 0x4D: [692,27,1050,27,1048,'687 578Q690 586 719 612T794 665T877 692Q909 692 926 670T953 614T973 570Q983 561 1000 560Q1023 560 1048 569V553L1034 546Q1003 528 972 504T933 466Q905 403 905 264Q905 205 909 172T920 126T940 91Q951 74 959 74T997 87L1027 100V79L956 27Q940 15 922 2T894 -19L885 -26Q883 -26 854 27L825 80V192Q826 314 830 341Q831 345 833 356Q840 398 844 404Q871 444 920 489L917 491Q914 493 911 495T903 501T898 508Q893 516 877 562T852 616Q840 628 818 628Q751 628 702 541L697 532L700 515Q708 467 708 419Q706 348 690 276T662 169T643 126L634 116Q626 105 611 87T581 51L522 -22L514 -15Q470 21 452 21Q431 21 394 -16L384 5L386 9L426 60Q449 87 460 95T486 104Q487 104 491 104T497 103Q514 99 541 81L559 69Q595 96 606 169T618 350Q618 486 598 543T517 601Q484 601 458 570T432 523Q432 516 434 492T436 443Q436 250 369 133L363 122L280 50Q207 -16 192 -27L182 -18Q136 26 106 26Q83 26 62 9T37 -16L27 0L33 10Q41 22 54 39T94 81T143 106Q178 106 225 62L235 53Q283 82 307 117Q352 190 352 359Q352 408 345 451T320 534T267 597T183 621Q159 621 147 617T120 598Q97 574 96 556Q96 528 143 469T191 377T161 311T102 262T70 245Q69 245 59 252T49 260L56 264Q63 268 73 275T94 291T111 312T118 338Q118 355 95 384T50 446T27 506Q31 567 101 626T255 686Q297 686 330 671T382 632T409 595T421 572V571L430 580Q454 610 496 634T588 659H590Q655 659 683 585L687 578'], + + // LATIN CAPITAL LETTER N + 0x4E: [686,25,832,27,825,'112 334Q112 356 70 410T27 497Q27 553 94 619T229 685Q230 685 236 685T246 686Q303 686 349 654Q373 636 392 607T419 558L426 538L454 576Q474 604 486 618T520 651T569 678T633 686Q668 684 687 673T713 651T730 609Q730 608 732 600T736 588T741 578T747 568T754 561T765 555T779 553Q789 553 817 562Q819 557 819 555V547L790 526Q743 492 730 479T712 447Q697 369 697 281Q697 166 726 108Q741 76 755 68Q759 66 767 66Q789 66 825 93V82Q825 71 822 70Q821 69 763 27T701 -18L692 -25L668 15Q662 25 650 45T635 70L627 85V107Q627 122 626 162T624 285Q624 381 632 398Q638 409 651 425T675 454T696 477T707 489H696Q683 490 679 492T669 507T653 551Q642 588 627 608T584 628Q572 628 560 625T538 616T519 602T502 586T486 568T473 549T463 532T454 517T448 504L445 497Q437 480 437 474Q437 472 439 461T444 421T446 348Q446 205 405 124Q396 105 392 100T368 78Q312 32 278 9T235 -18T214 -22Q191 -22 170 -10T139 12T129 25T160 66T192 105Q193 102 194 98T200 83T213 64T233 49T261 42Q303 42 339 90Q373 134 373 268Q373 397 339 493T235 618Q215 628 191 628Q155 628 126 604T97 548Q97 524 120 493T168 431T192 381Q192 346 164 318T86 260L70 250L54 266L63 272Q112 300 112 334'], + + // LATIN CAPITAL LETTER O + 0x4F: [729,27,827,12,744,'428 596Q412 596 386 595T350 593Q289 593 270 625Q267 632 267 640Q267 656 280 672T312 705T336 729H343Q351 729 351 728Q342 710 342 703Q342 683 382 676T493 662T604 643Q648 627 677 599T720 535T739 466T744 392Q744 317 732 260T696 166T659 116T621 83Q617 80 615 78Q485 -27 377 -27Q320 -25 272 -9T187 21T122 36H116Q65 36 29 -13L27 -15L12 0Q12 1 32 26T76 78T109 109Q145 123 166 150T187 207Q187 244 134 318T80 412Q80 454 112 498T176 566T213 590Q216 590 224 585L234 580L225 573Q216 566 207 557T188 536T172 511T165 484Q165 448 213 368T261 259Q261 241 252 219T228 179T200 146T176 122L167 112Q170 111 174 111Q188 110 233 91T339 55T453 37Q508 37 556 68T626 152Q655 219 655 328Q655 543 532 582Q484 596 428 596'], + + // LATIN CAPITAL LETTER P + 0x50: [692,218,828,28,804,'112 339Q112 354 91 380T49 438T28 497Q28 565 95 628T242 692Q261 692 277 689T307 682T331 670T351 655T367 637T379 619T388 600T395 582T401 565T405 550Q409 554 422 570T453 603T500 641Q573 692 637 692Q656 692 670 686T692 672T705 647T713 618T718 584Q720 568 721 562T728 546T742 534T768 530Q776 531 782 532T791 535T796 536Q799 536 804 521Q801 519 789 513T764 499T738 480Q697 447 680 414Q677 407 677 396Q677 370 713 312T750 210Q750 125 686 57T560 -11Q540 -11 475 13L410 37V31Q410 -9 412 -50T417 -118T420 -150Q419 -150 373 -184T326 -218L305 -208Q305 -207 307 -196T314 -165T322 -116T328 -46T331 43V63L318 66Q270 80 250 80Q233 80 213 70Q183 57 138 -3L128 -16L118 5L125 20Q193 154 282 154Q309 154 331 146V287Q331 444 327 469Q321 522 301 560Q284 590 251 611T184 633Q146 633 119 607T92 550Q92 539 94 534Q100 516 143 460T186 386Q186 366 170 336T119 281Q102 264 70 250L49 260L56 266Q64 271 72 278T90 296T106 317T112 339ZM602 345Q602 357 608 371T622 397T642 421T661 441T678 456L686 462Q663 473 652 486T639 512T634 553Q631 594 624 608T593 631Q587 632 567 632Q539 632 497 600T416 497L410 484V122L467 103Q481 99 502 92T533 82T557 75T578 69T594 66T610 64Q647 64 672 87T697 144Q697 180 650 250T602 345'], + + // LATIN CAPITAL LETTER Q + 0x51: [729,69,827,11,782,'428 596Q412 596 386 595T350 593Q313 593 291 605T268 638Q268 644 269 648T274 658T284 669T301 689T326 718L336 729H343Q351 729 351 728Q342 710 342 703Q342 683 382 676T493 662T604 643Q744 592 744 398Q744 299 708 213T646 104L603 68L614 55Q670 -5 710 -5Q726 -5 744 1T772 14L781 20Q782 20 782 7V-6L771 -13Q673 -69 665 -69L647 -63Q552 -30 514 8H512Q509 8 500 3T471 -9T428 -23Q405 -27 377 -27Q305 -24 228 6T124 36Q69 36 27 -16Q23 -13 19 -8L11 0L27 20Q93 102 109 109Q145 123 166 150T187 207Q187 244 134 318T80 412Q80 454 112 498T176 566T213 590Q216 590 224 585L234 580L225 573Q216 566 207 557T188 536T172 511T165 484Q165 448 213 368T261 259Q261 241 252 219T228 179T200 146T176 122L167 112Q170 111 174 111Q188 110 233 91T339 55T453 37Q508 37 556 68T626 152Q655 219 655 328Q655 543 532 582Q484 596 428 596'], + + // LATIN CAPITAL LETTER R + 0x52: [686,26,828,27,824,'27 496Q31 569 102 627T234 685Q236 685 241 685T251 686Q287 686 318 672T367 638T399 598T418 564L423 550Q424 554 434 567T463 601T505 639T561 671T626 685Q672 685 688 659T710 572Q713 533 721 523T766 513Q781 513 787 514T794 516Q796 512 798 509T801 504T802 501T787 493Q702 461 624 401L607 389Q655 383 688 358L697 352V342Q699 330 699 297Q704 209 710 173T734 103Q751 69 765 69Q769 69 806 83L824 90V74Q823 73 759 24T693 -26Q692 -26 660 32L628 90L629 111Q631 159 631 177Q631 278 614 300Q584 340 523 340Q500 340 467 333T431 325Q429 325 429 322Q428 321 426 308T420 275T410 230T392 178T366 125L358 112L342 99Q306 70 269 38T213 -10T193 -26Q192 -26 163 0T116 26Q82 26 50 -8L42 -16L35 -8L27 0L35 10Q43 21 58 38T104 80T158 106Q179 106 218 65L235 48Q238 48 255 60T295 99T329 158Q352 231 352 359Q352 555 242 614Q210 628 187 628Q140 628 116 600T91 548Q91 522 138 464T185 382V376Q185 345 158 313T103 263L76 246Q74 244 64 253L54 260L65 267Q91 285 100 302Q111 318 111 337Q111 355 69 410T27 496ZM562 628Q504 628 443 507L435 491L436 479Q437 471 437 446Q437 396 432 351L529 389L602 426Q673 462 673 463H672Q644 470 637 483T622 553Q608 628 562 628'], + + // LATIN CAPITAL LETTER S + 0x53: [692,27,829,66,756,'750 276Q750 141 645 57T378 -27Q224 -27 146 67Q66 163 66 307Q66 361 80 412T127 515T217 609T356 676L388 684L420 692L442 681Q545 625 586 608T654 591Q688 591 710 609T737 646L742 665Q742 665 756 654L752 642Q736 594 706 566T621 515L607 510Q580 513 528 542T421 599T335 627Q272 627 214 569Q139 500 139 373Q139 308 159 247T217 136T316 56T455 26Q520 26 566 43T634 90T666 148T676 207Q676 264 649 297T580 338Q574 339 552 339Q516 339 442 325T327 310H324Q303 310 290 312T259 328T232 369Q230 375 230 390Q230 426 259 461Q286 488 338 507Q351 498 351 495L346 492Q342 490 339 488T330 482T320 473T312 462T305 447T303 428Q303 368 366 368Q393 368 487 388T613 409Q656 409 696 385T748 306Q750 294 750 276'], + + // LATIN CAPITAL LETTER T + 0x54: [701,27,669,34,676,'289 686Q338 686 439 668T565 649Q606 649 641 672Q656 683 664 690T674 700L675 701Q676 698 676 692V681L641 636Q608 591 602 588Q577 575 528 575Q490 575 438 583L426 585L416 578Q335 520 335 465Q335 437 393 366T452 259Q452 226 406 171Q387 146 351 115L341 106L358 97Q438 58 475 58Q525 58 598 124L608 133Q617 119 617 118Q617 114 606 103Q513 0 448 -27L438 -25Q401 -19 337 14T234 48Q186 48 122 -3L112 -11L106 -3L101 5L110 15Q160 63 209 105L224 117H310Q384 163 384 210Q384 238 329 303T263 398Q262 400 262 404Q262 427 290 476T368 580Q383 596 381 596Q315 622 228 622Q159 622 118 593T76 516Q76 482 96 461T139 431L107 399L75 367Q34 403 34 472Q34 525 64 572T148 652Q207 686 289 686'], + + // LATIN CAPITAL LETTER U + 0x55: [697,27,646,-25,665,'160 247Q160 291 110 382T59 505Q59 542 106 597T207 690L218 697L229 682Q229 680 216 669T187 644T158 604T144 552Q144 526 165 482T207 387T228 291Q228 277 228 267T224 247T219 232T210 217T199 202T184 184T166 163L118 107Q124 105 132 105T160 98T220 77Q298 47 317 47Q354 47 409 105Q444 142 451 161T458 244V277Q458 339 455 457T447 596L575 686L591 676L583 668Q550 632 541 587T532 449V372V298Q532 198 550 147Q572 79 605 79Q617 79 631 84T656 95L665 100V79L595 27Q578 15 560 2T532 -19L523 -26Q522 -26 490 42L458 111L397 50Q389 42 374 27T355 8T340 -5T325 -16T311 -22T294 -26T274 -27Q232 -25 152 6T35 37Q28 36 19 30T4 18T-8 4T-16 -5Q-25 10 -25 11T-20 18Q-5 34 15 57L54 101Q70 103 86 116Q94 121 113 140T137 166Q160 201 160 247'], + + // LATIN CAPITAL LETTER V + 0x56: [687,26,831,26,825,'54 266Q118 307 118 339Q118 360 74 413T27 493Q26 530 59 578T133 651Q187 686 256 686Q299 686 332 673T382 640T409 600T424 567T429 553Q431 553 463 586T542 653T624 686Q663 686 715 652T798 617Q812 617 825 622V606L815 599Q785 576 762 546Q724 495 724 432Q724 397 737 317T750 217Q750 148 711 96Q697 75 639 34T578 -10Q563 -21 555 -23T522 -26Q458 -26 363 29Q253 89 211 89Q192 89 173 83T139 67T114 49T96 34L90 27L80 43L95 59Q121 87 148 110T191 143T213 154Q261 154 300 195Q328 222 340 267T352 406Q352 562 255 611Q222 627 187 627H182Q143 627 115 598Q96 579 96 559Q96 528 144 470T192 381Q192 348 156 314T80 256L70 250L54 266ZM727 548Q701 550 650 583T567 617Q560 617 554 615Q532 610 501 580T445 501L437 485V465Q432 326 378 223L294 150Q321 143 421 87T560 31Q608 31 634 64Q660 102 660 198Q660 226 655 292T650 387Q650 418 658 452L660 462L735 548H727ZM264 150Q265 151 263 151H261Q261 150 264 150ZM280 150H276V149Q280 149 280 150'], + + // LATIN CAPITAL LETTER W + 0x57: [686,27,1046,32,1054,'32 501Q35 564 103 625T264 686Q326 686 365 652Q402 618 420 564L441 585Q486 630 539 670L559 686L572 672Q637 606 665 559L682 576Q787 686 845 686Q877 686 929 656T992 623Q999 621 1016 621Q1041 621 1054 628L1051 617L1047 606Q1042 602 1037 597Q983 557 969 522T954 434Q954 394 961 336T968 221Q968 201 966 184T963 155T956 131T948 113T936 96T923 82T906 66T887 50L816 -2Q815 -3 810 -6T801 -11T791 -16T777 -20T759 -23T735 -25Q691 -25 619 4T505 37H496L463 21Q420 0 389 -20L378 -27H362Q316 -27 275 -9T202 28T150 46H146Q114 46 59 -5L48 -16L41 -6Q40 -4 38 -2T34 2L33 4Q33 8 77 54Q111 87 142 112L154 122H166Q239 127 288 182Q346 244 346 406Q346 489 326 537T259 610Q227 628 195 628Q155 628 128 606T101 549Q101 517 146 465T192 382Q192 348 156 310T85 254L75 250L64 258L55 266Q56 267 74 276T105 301T118 339Q118 362 75 413T32 501ZM952 547Q927 555 877 586T796 617Q744 617 682 525L676 516L677 498Q678 486 678 425Q678 301 652 206Q649 195 613 151T577 102Q577 100 582 100Q618 100 720 51Q761 32 790 32H794Q843 32 869 83Q884 110 884 189Q884 233 879 294T873 400Q874 433 879 451T889 478T915 507T952 547ZM241 105Q249 98 263 88T317 60T393 42Q478 42 547 109Q607 171 607 358Q607 371 607 380T604 417T595 467T577 517T546 566T500 601L479 580Q449 550 433 526L426 516V503Q426 311 357 200L352 191L296 149Q241 107 241 105'], + + // LATIN CAPITAL LETTER X + 0x58: [688,27,719,28,709,'96 511L78 527L149 603Q207 666 227 686L237 685Q278 680 306 667T351 631T376 588T395 533L400 516L406 527Q439 600 523 653Q538 664 587 688Q589 688 596 672T613 635T629 606Q643 588 665 588Q677 588 693 596L709 603V585L607 526Q583 536 554 564T512 614Q461 571 435 507T405 381V367H581L563 347Q561 344 558 341T553 335T549 330T546 326L545 325H541Q537 325 488 329T411 334H405V325Q405 198 454 123Q497 54 568 54Q594 54 619 64T660 84L676 95V74L565 -16L553 -20Q528 -27 512 -27Q492 -27 475 -21T444 -5T418 19T398 47T382 77T371 105T363 128T358 145L357 151Q354 151 339 136T294 91T232 37Q152 -22 113 -22Q90 -22 69 -9T38 17T28 32Q28 33 58 68L86 101Q94 81 115 64T165 47Q206 47 249 84Q302 128 325 222Q334 263 336 312V334H312Q198 334 163 324H161Q162 326 182 348L198 367H336V398Q333 508 308 550Q295 570 274 585T227 601Q204 601 181 589T145 565T115 533T96 511'], + + // LATIN CAPITAL LETTER Y + 0x59: [686,218,833,27,740,'123 345Q123 358 75 415T27 496Q27 533 63 578T121 639Q181 685 256 685Q305 685 332 676T384 635Q419 588 425 542Q468 585 526 628T618 686Q632 667 658 645T704 609T724 594Q740 512 740 385V375V361Q740 128 682 -3Q656 -64 554 -141T361 -218Q319 -218 287 -203T243 -173T230 -150Q230 -148 267 -109L304 -69Q311 -115 341 -142T411 -170Q474 -170 534 -119T624 11Q660 111 660 312Q660 447 633 528L612 549Q578 583 552 596L543 601L528 592Q501 574 483 558Q454 528 436 494L431 484V473Q431 330 376 230Q366 213 359 206T306 159L250 112Q278 105 327 82T399 58Q421 58 440 69T471 92T484 104H485L493 90L480 73Q453 39 429 13Q393 -22 372 -22Q342 -22 260 15T153 53Q97 53 48 -16L38 5Q46 22 74 54T128 108L143 122H155Q226 127 275 168Q352 236 352 399Q352 501 309 564T197 628Q156 628 129 607T102 553Q102 517 147 463T192 383Q192 323 75 250L59 266Q123 314 123 345'], + + // LATIN CAPITAL LETTER Z + 0x5A: [729,139,602,11,532,'148 590Q95 592 91 627V633L160 729H176Q169 713 169 705Q169 670 244 670Q269 670 305 672T357 675Q405 675 432 661T468 609Q469 605 469 596Q469 572 460 540Q433 463 301 372Q325 378 359 378Q431 378 472 350T519 297Q532 249 532 198Q532 115 500 40T442 -57Q335 -139 202 -139Q165 -139 125 -131L112 -129V-100Q112 -49 106 -33T75 -17Q55 -17 31 -35L22 -42L11 -26L22 -18Q94 36 151 36H160Q171 36 178 33T188 27T194 13T196 -5T197 -32Q198 -79 206 -90Q217 -107 251 -107Q336 -107 389 -33T442 155Q442 240 407 274Q362 319 285 319Q236 319 192 298Q188 298 181 309L224 372Q227 373 234 374T246 376T257 379T271 384T285 391T302 402T321 417Q384 471 384 540Q384 562 366 581T306 600Q292 600 233 595T148 590'], + + // LEFT SQUARE BRACKET + 0x5B: [740,130,278,117,278,'262 -119Q224 -120 191 -123T141 -128T118 -130Q117 -130 117 305V740H122Q141 737 219 736H278V723Q278 711 277 711L159 699V-93H162Q167 -93 220 -96T276 -100Q278 -100 278 -109V-119H262'], + + // RIGHT SQUARE BRACKET + 0x5D: [739,131,278,-4,160,'64 733Q89 733 110 734T143 737T158 738H160V-131H154Q101 -125 40 -124H-4V-103H1Q3 -102 57 -98T113 -92H118V700L64 703Q7 707 3 708H-4V732H21Q34 733 64 733'], + + // CIRCUMFLEX ACCENT + 0x5E: [734,-452,500,0,495,'0 464L250 734L262 722Q274 712 384 598L495 486Q483 478 467 467L456 459L248 672L154 580L23 452Q17 454 10 458T0 464'], + + // LATIN SMALL LETTER A + 0x61: [470,35,500,66,497,'86 363Q86 365 128 391T212 444L255 470Q256 470 263 465T283 453T308 442Q338 431 346 431Q350 431 358 436L414 465L421 459L418 434Q404 339 404 262Q404 147 408 119L425 97Q443 74 444 74L467 86L491 97Q492 97 497 83L436 28Q377 -26 374 -26L331 46L329 91L155 -35Q152 -35 114 10T68 65L67 86Q66 100 66 156Q66 177 66 198T68 236T71 268T74 296T77 320T80 338T83 351T86 360V363ZM314 365Q285 367 255 374T206 386L187 392Q181 392 172 376T154 311T145 197Q145 124 151 118Q156 110 187 78L208 56H214Q221 57 253 76L308 109L329 123V136Q328 143 328 257V365H314'], + + // LATIN SMALL LETTER B + 0x62: [685,31,513,87,442,'177 427Q177 364 181 364Q184 364 192 370T223 395T271 433Q317 469 323 469Q325 469 338 462T377 440T432 413L440 409L441 396Q441 394 441 372T442 334Q442 203 425 108L423 97L400 83Q347 49 296 21T222 -19T196 -31Q192 -29 149 12T87 71L89 89Q100 155 100 319Q100 500 94 627Q94 632 94 638T94 648T94 656T93 662V664Q93 668 97 669T106 670H110Q114 653 118 633L127 596Q127 595 132 597Q136 599 195 642L255 685L272 673Q269 670 256 659T233 637T211 609T190 565T179 508Q177 494 177 427ZM295 377L274 385Q273 385 264 381T242 370T223 361Q213 355 188 340L178 333V123L198 103Q259 42 285 42Q299 42 314 55T339 85Q363 132 363 232Q363 310 358 343V349L345 355Q330 363 295 377'], + + // LATIN SMALL LETTER C + 0x63: [466,29,389,72,358,'72 208Q72 323 84 361Q84 363 167 414Q248 466 250 466Q255 465 260 465Q283 460 307 450T344 430L357 422L306 343L301 342L296 340Q267 362 247 372T216 384T177 390Q154 349 154 238Q154 220 156 158V145L168 132Q179 121 208 93T244 59Q245 58 246 58Q255 58 302 83T350 108L352 104Q355 100 356 96L358 92Q358 91 274 32T187 -29L177 -20Q160 -6 120 36T77 84Q77 87 75 118T72 208'], + + // LATIN SMALL LETTER D + 0x64: [609,33,499,13,428,'13 542Q13 544 77 576T147 609Q154 609 185 598T283 551T414 464L427 454V440Q427 436 427 412T428 372Q428 315 426 270T418 197T409 152T400 121T394 103L304 35Q285 21 261 2T225 -25L214 -33Q149 7 97 59L76 80L75 91V171Q75 221 76 254T79 299T80 313Q80 315 78 321Q78 323 78 326L77 330Q79 336 132 384T211 447L219 445Q221 445 224 444L228 443Q229 443 228 441T221 432T206 415L191 395Q175 378 162 339Q152 306 152 250Q152 217 159 140V134L171 121Q194 99 235 74T284 48Q296 48 310 75T337 156T349 267Q349 346 336 400L315 420Q246 489 176 525Q127 545 94 545H73L27 527L13 542'], + + // LATIN SMALL LETTER E + 0x65: [467,30,401,70,364,'353 103Q353 97 358 87L337 71Q293 38 247 6Q191 -30 189 -30Q188 -30 173 -16T130 26T76 85L74 99Q70 139 70 190Q70 228 73 271T79 338T84 365L94 372Q105 378 126 392T166 417L246 467Q283 417 349 369L364 358L355 349Q249 249 169 180L151 166L152 152V139L165 126Q186 105 215 84T260 62Q267 62 309 82L353 103ZM267 323Q246 337 230 350T204 371T189 385T179 394T174 397Q149 381 149 219V211Q151 211 171 223T220 258T268 299L282 313L267 323'], + + // LATIN SMALL LETTER F + 0x66: [681,221,326,30,323,'128 387Q128 391 112 456T92 546V555L101 568Q133 617 183 670L193 681L204 673Q238 648 262 648Q276 648 292 656L302 661L308 653Q308 652 278 618L249 585H234Q194 587 159 595Q158 595 156 596H153L150 597Q151 593 152 581T154 564T157 547T164 524T176 494Q199 436 203 400V392H207L323 386Q323 384 309 368L296 351H203V176Q201 -9 198 -32Q194 -61 166 -114Q158 -129 153 -138Q114 -214 110 -221Q105 -221 98 -220L87 -219V-216Q88 -215 106 -150T124 -82Q128 -73 129 155V351H30L64 386H96Q128 386 128 387'], + + // LATIN SMALL LETTER G + 0x67: [470,209,504,17,455,'27 -144L17 -131L82 -75L146 -20L126 6Q99 37 92 48L78 65L77 79Q75 103 75 158Q75 217 78 268T86 343T91 368Q92 370 109 382T157 413T222 452Q240 465 249 469L251 470Q296 443 350 428L365 424L437 465L442 459Q442 456 441 453T437 444T432 424T427 385T423 317T421 215V133L423 119Q423 111 455 -17Q455 -21 380 -108T290 -201Q290 -202 284 -204T269 -207T252 -209Q172 -209 75 -135L62 -126Q60 -126 44 -135L27 -144ZM349 351Q267 359 178 389Q177 387 173 376T166 358T161 337T157 303T155 259Q155 195 159 135L160 124L170 112Q180 101 204 77T230 53Q231 53 286 88L340 123V141Q340 235 348 329Q348 334 348 339T348 348L349 351ZM364 -59Q364 -37 358 -1T347 64T341 93Q336 93 252 28T149 -57Q226 -134 293 -134Q325 -134 344 -118T364 -69V-59'], + + // LATIN SMALL LETTER H + 0x68: [688,205,521,77,434,'88 427Q88 486 87 545T84 634T81 667Q81 673 82 673T89 676H94L117 600L200 661Q208 667 218 674T233 684L238 688L254 678Q222 646 216 637Q164 572 164 483V442V371Q187 390 244 431T312 478Q344 446 411 423L428 417L429 396Q434 297 434 218Q430 8 406 -34Q346 -111 262 -195L251 -205L249 -203Q248 -203 244 -199T236 -193Q226 -183 227 -182Q228 -182 244 -169T278 -140T301 -121Q330 -89 340 -22Q355 60 355 171Q355 200 353 244T348 321T344 354Q333 363 307 376T260 390Q241 390 179 350L164 341V121Q180 96 201 66L213 50Q210 46 172 11T131 -24Q130 -24 123 -11T102 25T77 65V78Q80 104 84 227T88 427'], + + // LATIN SMALL LETTER I + 0x69: [673,20,279,14,267,'72 617Q72 618 102 645T133 673H134Q134 668 175 627L187 615L130 555L116 568Q72 615 72 617ZM27 369Q21 376 14 382L26 392Q83 440 119 474Q158 435 169 427L179 420L176 395Q166 302 166 227Q166 171 174 139Q178 119 186 103T202 81L208 75Q255 100 261 100Q262 100 264 92T267 83Q267 80 208 30T145 -20Q143 -20 118 17L91 55Q98 117 98 193Q98 339 88 369Q71 390 68 390Q63 390 39 376L27 369'], + + // LATIN SMALL LETTER J + 0x6A: [672,208,281,-9,196,'101 644L132 672L145 657Q155 642 169 628L182 614L169 600Q148 579 140 570L125 555L112 568Q109 570 91 592T72 615Q72 617 101 644ZM19 -208Q-9 -185 -9 -183Q57 -134 80 -106Q103 -81 110 -19T118 179Q118 294 113 329T86 383Q78 389 76 389Q73 389 57 379L39 367Q26 380 26 381L33 387Q40 393 53 405T79 428L130 474Q147 457 186 428L195 422L196 376Q196 130 192 58T174 -35Q172 -39 104 -114T19 -208'], + + // LATIN SMALL LETTER K + 0x6B: [689,25,389,24,362,'93 348Q93 379 90 503T87 658V670Q87 671 94 671L100 672L112 636Q124 603 124 600L144 616Q196 659 234 682L246 689Q252 686 256 685T268 680L254 667Q225 641 211 626T184 579T168 505V497L178 504Q203 523 237 544L300 584L310 573Q359 522 359 481Q359 476 359 472T358 464T355 456T351 448T346 440T340 433T332 424T323 414T312 402T299 389L255 343L300 342H346L320 309H177V128L193 113Q214 92 244 68L254 60L303 84Q351 108 352 108L362 96Q355 85 277 30T194 -25L170 -4Q146 18 120 41T89 68Q94 85 94 168Q94 184 94 218T93 268V309H58L24 310L51 342H93V348ZM172 342Q217 342 252 374T287 445Q287 472 255 504Q242 517 241 517Q202 498 187 468T168 365V342H172'], + + // LATIN SMALL LETTER L + 0x6C: [685,20,280,98,277,'221 76L267 99Q268 98 269 96T271 88T270 82L262 76Q255 69 241 57T214 34L148 -20L98 56L99 89Q107 247 107 373Q107 494 101 621Q101 653 99 659V665L106 668L113 672L118 655Q122 642 131 617L138 597Q140 597 157 611L240 670L264 685Q265 685 270 680T276 674T269 667T247 647T219 617Q197 587 186 551T173 493T171 438Q171 376 175 282T179 147V117Q184 109 201 93T221 76'], + + // LATIN SMALL LETTER M + 0x6D: [475,26,767,8,753,'20 367L8 379Q9 380 63 425T118 471Q130 460 143 446L168 421V398L169 376L295 475Q362 433 415 418V399Q415 380 416 380T437 394T484 428T529 462L544 474L556 467Q590 449 614 438T646 424L653 421L665 417L664 412Q664 411 664 407T664 397T663 384Q660 342 660 335Q658 303 658 245Q658 186 660 152L661 126L669 115Q680 96 697 79L707 83Q716 87 723 90T735 96T741 100T746 102L747 103V102L750 95Q753 88 753 87L631 -18Q630 -17 622 -3T589 43L576 60L579 72Q592 146 592 218Q592 265 584 321Q581 345 578 350T560 363Q535 376 496 386L481 390Q475 387 425 358L415 351V238V157Q415 142 415 135T417 120T421 110T430 98T441 81L465 47Q462 44 458 41T443 28T420 8L380 -26L333 47L336 62Q339 77 342 109T345 184Q345 223 341 285T333 348Q322 364 258 382L240 388L169 347L168 240Q168 118 171 110L174 106Q178 101 183 93T195 78L217 48Q217 47 196 30T154 -5T133 -21L130 -16Q127 -10 122 0T111 19Q89 56 89 60Q95 76 95 153Q95 239 88 337V365L62 391L20 367'], + + // LATIN SMALL LETTER N + 0x6E: [475,22,527,20,514,'31 368Q20 379 20 380T72 427L121 470L129 463Q137 455 155 441T176 425V367L320 475L329 469Q351 454 385 437T434 417L432 402Q429 362 429 231V128L439 111Q442 107 445 102T449 95T453 90T456 86T459 84T463 82T467 82Q468 82 489 93T511 105T514 95V88L395 -18L340 65L341 77Q347 111 348 178Q348 343 343 353V358L332 363Q298 377 264 382Q260 382 254 382L249 383Q247 383 211 362L176 341V229V147Q176 134 176 127T177 115T179 106T183 99T189 91T197 81Q201 76 206 69T214 57L217 53Q217 52 175 15T132 -22Q132 -20 114 5T88 41Q84 45 84 50Q94 116 94 203Q94 227 93 263T92 324L90 364L67 388L50 378Q32 368 31 368'], + + // LATIN SMALL LETTER O + 0x6F: [480,28,489,67,412,'67 121Q70 265 84 359V364L97 371Q137 394 177 421T238 464T260 480L278 468Q295 457 327 442T394 418L406 414Q412 388 412 300Q412 263 410 228T405 170T399 130T393 103T391 92L381 86Q274 19 165 -28L161 -24Q157 -21 151 -15T136 -2T118 14T101 30T86 46T74 60L67 68V121ZM335 278Q335 286 335 303T334 335L333 349V356H326Q288 360 208 388L183 397Q178 393 172 383T154 333T142 239Q142 192 151 134Q152 124 155 120T175 99Q197 77 219 64T251 47T267 44T281 52T302 80T320 124Q335 182 335 278'], + + // LATIN SMALL LETTER P + 0x70: [541,212,500,12,430,'23 25Q15 33 12 38L35 59Q82 102 87 105V351L68 378Q42 414 42 422Q42 437 67 472T114 530L125 541Q126 541 132 537T138 532Q121 507 121 488Q121 453 160 413L167 405L166 390L165 372Q169 372 233 421T305 478Q307 479 315 472Q395 421 423 415Q424 415 424 415T425 414L426 410Q426 407 426 401T426 388Q430 335 430 272Q430 139 408 80Q407 78 340 22L273 -33Q200 23 165 23Q164 23 164 -32Q165 -89 168 -155V-170L93 -212L78 -203Q85 -48 87 16V47H79Q53 44 23 25ZM319 41Q346 94 349 212Q349 278 343 343V351L330 357Q318 363 270 381L255 387L245 383Q212 370 178 345L166 336V287Q165 260 165 166V94H175Q219 90 299 51L319 41ZM132 57L129 60Q130 58 132 57ZM158 29Q159 29 155 34T145 45T138 50Q155 29 158 29'], + + // LATIN SMALL LETTER Q + 0x71: [479,219,489,60,419,'399 19Q399 -123 407 -174V-179L332 -219L322 -210L312 -202L314 -185Q320 -83 323 54V95L311 85Q255 40 162 -19Q146 -29 145 -27Q140 -22 103 20L63 65V73Q61 83 61 115Q61 122 61 135T60 154Q60 263 79 353L83 368L94 375Q123 391 147 405T186 429T212 446T229 458T238 466T243 470T247 471L260 464Q274 457 295 448T330 434L341 432L410 479L412 478Q414 476 416 475T419 473L417 461Q399 358 399 19ZM316 367Q287 370 252 377T196 391L176 397H175Q173 397 166 382T149 314T139 187V158Q139 138 141 132T155 114Q158 111 160 109Q210 58 211 58L218 62Q226 67 240 75T266 91L319 124V196Q319 334 325 361V367H316'], + + // LATIN SMALL LETTER R + 0x72: [474,21,389,17,387,'357 398Q364 398 375 403L386 408Q386 404 387 400V393L369 377Q361 370 350 360T336 347T327 340T316 336T303 335Q270 335 234 371L224 379Q220 375 214 370T198 355L182 340V243Q182 164 183 152T189 129Q195 117 211 100T239 72T254 60T298 81Q342 101 343 101Q344 100 345 92T346 82L200 -21Q174 -5 117 55L97 75L99 92Q106 147 106 196Q106 216 104 282T97 355Q95 359 95 361Q95 364 77 378L65 387L48 380Q30 372 29 372Q28 371 23 375T17 380Q17 384 50 415T107 467L115 474L128 461Q171 421 182 414V382L235 425Q247 435 261 446T283 462L290 468L295 460Q335 398 357 398'], + + // LATIN SMALL LETTER S + 0x73: [478,29,443,-18,406,'272 33Q284 33 290 70T296 138Q296 181 290 198T262 230Q257 232 246 232Q231 232 218 227T156 194L108 167L101 176Q90 192 75 219L69 230V284Q69 346 70 357V377L146 427Q181 450 202 464T223 477L225 476Q227 475 229 474Q231 472 242 466T270 450T296 431Q309 418 326 418Q342 418 361 429T392 450T403 459Q406 445 406 442Q406 440 384 421T338 382L316 363Q315 362 310 362Q292 362 251 371T173 396Q156 403 155 403Q143 386 143 342Q143 305 150 278T168 244Q171 242 181 242L190 243L315 300Q330 295 357 274Q358 273 362 270T366 266T369 261T372 253T373 239T374 217T374 185Q374 157 372 133T368 98T363 71T358 50L336 40Q288 20 255 2T211 -22T198 -29L190 -22Q181 -14 168 -3T138 19T104 38T70 46Q50 46 32 37T3 20T-9 11L-18 23L-1 41Q46 89 62 99T112 110Q141 110 157 103T225 62Q268 33 272 33'], + + // LATIN SMALL LETTER T + 0x74: [640,20,333,27,348,'228 640L242 627L227 613Q213 599 211 593T203 553Q197 500 196 435V389H301L272 353H195V274Q195 178 196 159L197 123Q249 71 273 68H280L312 83Q344 99 345 99Q348 99 348 78Q348 76 314 52T246 4L212 -20Q211 -20 164 19T112 62Q112 122 113 196Q113 228 113 262T114 318T114 341V353H27L62 389H116L117 431V558L228 640'], + + // LATIN SMALL LETTER U + 0x75: [474,23,517,9,513,'171 315Q171 252 165 199T153 124L147 103Q147 102 196 80L244 57L335 107V116Q339 161 339 268Q339 315 338 351T337 412V424L420 468Q424 465 427 461L424 435Q412 331 412 226Q412 170 415 145T434 96Q442 84 452 83Q461 83 492 96L506 102Q507 102 510 96T513 88L493 71Q445 32 401 -9Q392 -18 388 -17L384 -16Q358 39 355 44Q336 77 333 77Q261 45 203 -9Q186 -23 181 -23Q177 -23 162 -11T121 18T69 44L57 48L61 54Q65 60 71 73T82 102Q100 156 100 262Q100 305 93 335T80 373T62 396L23 376Q18 377 9 386L119 474Q149 437 171 421V339V315'], + + // LATIN SMALL LETTER V + 0x76: [530,28,512,55,434,'55 418Q55 443 100 503Q121 530 123 530Q125 528 127 528T131 528T134 528T135 524T131 516Q123 499 123 486Q123 457 159 416L169 405L170 388L171 372Q171 371 244 424L317 477L334 466Q394 428 432 416L433 402Q433 400 433 377T434 336V305Q434 195 420 131Q413 94 406 87Q403 84 298 29L192 -28L172 -8Q139 25 106 52L92 64V70Q95 97 95 198Q95 293 94 318L92 355L84 367Q55 406 55 418ZM174 306Q174 297 173 255T171 184Q171 153 175 136T198 100Q207 94 224 80T255 57T282 49Q304 49 328 80Q359 129 359 243Q359 284 352 345Q351 358 348 360Q333 373 304 384T265 396L251 390Q215 372 186 351L175 344V337Q175 319 174 306'], + + // LATIN SMALL LETTER W + 0x77: [532,28,774,45,688,'45 425Q45 439 82 485T126 532Q127 532 128 532T131 531T137 529L132 519Q121 499 121 483Q121 473 131 454T156 419L167 408L169 376L185 388Q237 425 291 473L301 466Q337 443 394 416L419 405L418 387V369Q419 369 487 418T560 471L581 459Q597 450 621 437T664 415T684 406Q688 406 688 323Q688 254 679 193T662 103T648 71Q647 70 554 20L464 -28L443 -15Q416 1 386 17T343 40T331 49Q331 52 333 73T337 133T339 216Q339 309 334 339Q333 341 316 353T277 377T246 389Q235 389 201 369T166 346Q166 345 164 247Q164 232 164 210T163 179Q163 139 170 116T205 57L212 48L136 -27Q115 16 87 44L78 53L80 67Q88 124 88 211Q88 282 87 315T83 356T74 371Q45 410 45 425ZM591 352Q580 359 565 365T540 374T517 381T504 385L418 342L417 318V220Q417 212 417 194T417 170T418 152T420 134T424 120T431 106T440 95T454 83Q508 44 544 44Q566 44 583 77Q603 120 605 235Q605 289 600 322Q598 343 597 345T591 352'], + + // LATIN SMALL LETTER X + 0x78: [472,188,389,10,363,'14 377Q63 428 117 472Q130 462 144 449L193 408V392V376L247 420Q300 464 301 464L310 451Q331 417 363 390L333 365Q303 340 301 340Q293 343 277 364T250 386Q241 386 215 361L195 341Q194 333 193 327T191 318T190 304T188 269Q188 220 192 148Q193 122 195 118T210 101Q255 60 271 60Q276 60 278 61L318 82Q327 86 336 91T351 98L356 101Q359 82 356 79Q354 77 283 27T210 -24L192 -7Q160 23 137 40L126 49L116 40Q66 -13 66 -54Q66 -117 167 -140L179 -142V-147L180 -152L123 -188L112 -185Q58 -170 31 -145Q10 -122 10 -96Q10 -80 22 -53Q44 -10 95 49Q97 51 100 54T104 59T107 64T109 71T111 81T112 97T113 119T114 149T114 188Q114 284 108 347V354L96 365Q76 385 67 385Q62 385 45 377L27 368L14 377'], + + // LATIN SMALL LETTER Y + 0x79: [528,218,499,45,431,'74 58Q89 124 89 241Q89 265 89 278T89 305T88 324T87 336T84 346T81 352T77 359T71 368Q57 388 52 398L45 409Q62 454 98 507L113 528Q128 528 128 524Q128 523 125 518T120 503T117 483V471Q123 456 130 445Q135 438 140 432T148 422T153 415T157 409T160 405T162 402T163 399T163 395V384V365Q165 365 237 419L311 473Q383 430 420 416Q426 414 426 411V404Q426 398 426 388T427 367Q431 233 431 201Q431 -3 391 -52Q387 -58 305 -138T221 -218L218 -217Q216 -216 211 -214T202 -210L184 -202L199 -194Q259 -162 288 -127T334 -19T350 184Q350 257 342 328L340 356Q282 390 262 390Q248 390 178 346L163 336V111L216 45L131 -26L124 -15Q114 3 85 44L74 58'], + + // LATIN SMALL LETTER Z + 0x7A: [471,214,391,-7,314,'47 335L36 347L52 362Q112 421 167 461L181 471L192 465Q236 444 260 417T284 369Q284 355 276 343T233 291Q195 246 195 245T205 242T241 228T300 198L302 187Q314 138 314 74Q314 -24 291 -95Q290 -100 222 -157L154 -214H145Q102 -214 53 -189T-7 -117Q41 -21 183 122L207 147Q205 149 186 157T140 172T100 180H97V192L140 231Q192 280 199 293Q205 303 205 315Q205 339 185 363T137 388Q119 388 63 347L47 335ZM179 -153Q212 -153 226 -113T240 14Q240 67 233 98T223 132T211 143L222 130Q216 125 206 116T170 82T124 33T88 -20T72 -70Q72 -99 105 -126T179 -153'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js new file mode 100644 index 00000000..e1338ef5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'] = { + directory: 'Fraktur/Regular', + family: 'MathJax_Fraktur', + id: 'MJFRAK', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xDFFF,"Other"], + [0xE300,0xE310,"PUA"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js new file mode 100644 index 00000000..6e773842 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'], + { + // LEFT SINGLE QUOTATION MARK + 0x2018: [708,-410,215,45,158,'117 410Q97 410 71 455T45 539Q45 588 129 694L140 708Q142 708 153 694L147 682Q106 609 106 582V577V571Q106 548 132 511T158 455Q158 434 143 422T117 410'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [692,-395,215,49,163,'105 529Q105 546 77 588T49 651Q49 658 51 666Q53 672 67 682T92 692Q111 692 137 644T163 563Q163 534 143 497T99 428T74 395Q72 395 65 400T58 407Q105 476 105 523V529'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js new file mode 100644 index 00000000..e39184ea --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js @@ -0,0 +1,50 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Fraktur/Regular/PUA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Fraktur'], + { + // stix-capital Gamma, Greek slashed + 0xE300: [683,32,497,75,431,'427 436Q427 434 427 425T429 398T430 362Q430 222 396 109L393 99L305 33Q218 -32 216 -32Q208 -29 142 22L91 68L78 81L77 94Q75 130 75 173Q75 245 87 347L135 385Q178 418 184 424L177 428Q174 429 170 431Q116 454 96 473T75 534Q79 608 154 683Q164 677 164 673Q164 670 157 662T144 637T137 598Q137 552 182 518T280 470T380 447T427 436ZM342 371L275 394L208 417Q203 417 192 399T168 334T156 229Q153 187 153 157Q153 141 156 135Q158 125 208 88T280 51Q306 51 326 120T346 297Q346 339 344 354T342 371'], + + // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED + 0xE301: [616,30,498,35,432,'39 551L35 569L52 577Q72 586 98 595T140 610T158 616Q174 612 200 604T293 560T412 477Q414 475 417 472Q428 462 430 450T432 376Q432 223 401 124Q395 106 393 103T382 92Q351 68 281 20T206 -29Q201 -31 137 26L100 60L78 83L77 112Q76 132 76 170Q76 259 86 342L88 360L101 371Q116 386 163 422T215 459Q216 459 224 455T233 450L229 446Q225 442 218 434T203 419Q179 394 175 389T168 372Q156 334 156 262Q156 167 164 137Q168 125 196 102T252 62L278 45Q279 45 285 52T302 78T322 126T339 205T346 316Q346 367 344 389L343 406L326 423Q228 520 113 559L100 564L70 557L39 551'], + + // stix-capital Delta, Greek slashed + 0xE302: [680,215,333,29,339,'123 386L120 431Q116 476 116 511V520Q116 593 174 649Q207 680 236 680Q258 680 284 664T312 648Q318 648 327 656Q328 657 330 659Q337 664 337 661Q337 660 338 657Q338 652 339 648L268 566L260 574Q234 600 206 600Q182 600 164 585T145 541Q145 492 211 386L267 385H324L299 354H214V312Q214 86 193 -58L192 -69L116 -215H108Q92 -215 92 -212Q93 -211 100 -189T116 -135T128 -80Q134 -41 134 22Q134 54 130 185T125 349V354H29L59 385H91Q123 385 123 386'], + + // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED + 0xE303: [679,224,329,28,318,'91 530Q91 564 116 600T164 656T194 678Q195 678 200 678T209 679Q268 679 316 639L293 593Q267 547 263 546H262Q260 546 256 553Q222 613 180 613Q160 613 146 599T132 564T170 474T210 388H318L296 356H206V322Q204 284 204 255Q202 221 202 161V99Q202 28 194 -22T160 -124Q148 -146 116 -199L101 -224L91 -220Q85 -218 84 -217T83 -215L101 -161Q116 -114 119 -73T122 108Q119 334 117 352V356H72L28 357L66 388H92Q118 388 118 389L109 433Q91 514 91 530'], + + // stix-capital Epsilon, Greek slashed + 0xE304: [471,214,503,52,449,'254 -150Q293 -150 328 -126T363 -54Q363 -38 352 29T339 98L250 34Q160 -30 159 -30L77 64V71Q74 95 74 174Q74 212 75 243T79 294T83 328T87 352T90 366L117 384Q206 446 238 464L250 471Q277 455 306 443T350 427L365 423Q367 423 405 443T443 465L449 455Q431 414 426 362T418 201Q418 135 420 121Q438 -4 438 -19Q438 -26 438 -31T434 -42T429 -51T420 -63T408 -77T391 -95T370 -119T346 -147T325 -170T309 -187T291 -200T274 -207T252 -213T225 -214Q175 -214 132 -196T70 -160L52 -143Q52 -138 90 -48Q90 -47 95 -47H101Q108 -81 146 -115T254 -150ZM341 136Q341 157 344 242T347 348V355L334 356Q299 359 262 367T203 383T179 391Q177 391 173 377T163 323T158 227Q158 164 161 128V121L174 106Q203 75 223 59L341 127V136'], + + // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED + 0xE305: [686,20,333,26,315,'92 446Q92 603 82 664Q94 670 95 670L96 666Q98 661 101 651T108 633Q121 598 121 597L141 612Q247 686 250 686Q251 686 266 679Q261 674 243 659T213 632T190 597T173 546Q172 541 171 530T170 511T170 502Q171 502 222 542L273 582Q308 522 315 504L279 449L269 462Q231 506 215 506Q202 506 190 490Q164 458 164 395V390H279L266 373L254 355H167V306Q169 252 169 217Q170 195 170 147V117L200 92Q234 64 237 64Q243 64 277 81L311 99V75Q310 75 242 27L174 -20L156 -3Q88 60 81 60L79 62Q80 60 82 62Q87 67 87 290V355H57L26 356L73 390H92V446'], + + // stix-capital Zeta, Greek slashed + 0xE306: [577,21,334,29,347,'117 531Q117 533 137 544T178 566L198 577Q200 577 204 575T208 572V570Q208 568 208 566T207 560Q197 496 197 397V392H321L295 353H199V260Q199 157 200 145V122L269 68Q271 67 274 67Q282 67 310 83T342 100Q343 100 345 92T346 83L211 -21L172 12Q117 59 117 63Q117 65 117 87T119 150T120 238V353H75L29 354L65 391H118V460Q117 498 117 531'], + + // stix-MATHEMATICAL BOLD CAPITAL ZETA SLASHED + 0xE307: [475,22,501,10,514,'337 91V78L324 71Q288 53 256 29T206 -8T180 -22Q174 -22 158 -9Q82 46 60 46H59L63 51Q67 56 73 68T85 96Q101 158 101 254Q101 300 95 330T83 370T66 394L53 388Q48 385 41 382T24 374Q22 376 20 378T16 381T13 383T10 385V386L119 475Q150 439 160 430L171 422V409Q173 377 173 300Q173 228 166 183T152 122T145 102Q207 81 242 58L337 104V111Q340 146 340 227Q340 320 339 351T338 408V423L422 469Q425 465 429 462L426 438Q413 354 413 251Q413 152 423 119Q426 110 435 96T452 82Q454 82 509 103Q514 98 514 89Q514 87 507 81T472 51T409 -7L395 -20Q393 -18 390 -17Q386 -14 382 -6Q380 -2 379 1Q369 24 361 40T348 62T341 73T338 84L337 91'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/PUA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js new file mode 100644 index 00000000..8643a452 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/Arrows.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // LEFTWARDS ARROW + 0x2190: [518,17,1150,64,1084,'1063 281Q1084 268 1084 251Q1084 231 1063 221L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1063'], + + // UPWARDS ARROW + 0x2191: [694,193,575,14,561,'33 396Q14 396 14 423Q14 445 18 449T41 459Q72 466 99 478T147 505T185 537T215 571T238 604T254 635T264 661T270 678L272 685Q276 694 288 694Q298 692 300 689T307 672Q331 592 392 535T535 459Q553 454 557 450T561 423Q561 396 542 396Q531 396 501 405T418 443T329 517L319 529L318 179V-171Q307 -193 288 -193Q265 -193 258 -171L257 179V529L247 517Q209 473 158 444T76 405T33 396'], + + // RIGHTWARDS ARROW + 0x2192: [518,17,1150,65,1085,'65 251Q65 270 87 281H500L914 282Q881 304 842 357T785 482Q781 500 781 501Q781 512 792 517Q794 518 812 518H817Q832 518 835 515T844 495Q864 412 923 351T1065 270Q1085 263 1085 251Q1085 240 1077 236T1044 225T995 204Q937 173 898 122T844 6Q840 -10 836 -13T816 -17H811Q786 -16 782 -9Q781 -6 781 -2Q781 1 785 17Q813 138 914 220H500L87 221Q65 228 65 251'], + + // DOWNWARDS ARROW + 0x2193: [694,194,575,14,561,'14 77Q14 104 33 104Q44 104 74 96T156 57T247 -17L257 -29V321Q257 669 259 675Q268 694 289 694Q295 693 300 691T307 686T313 679T318 672V321L319 -29L329 -17Q366 26 417 55T499 94T542 104Q561 104 561 77Q561 56 557 51T535 41Q481 28 438 0T370 -58T330 -119T308 -167T302 -187Q297 -194 288 -194Q278 -194 273 -186T265 -165T251 -127T220 -77Q151 15 41 41Q22 46 18 50T14 77'], + + // LEFT RIGHT ARROW + 0x2194: [518,17,1150,64,1085,'305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L404 281H744L914 282Q880 305 839 362T785 484Q781 500 781 503Q781 517 806 518Q809 518 811 518H817Q832 518 835 515T844 495Q864 412 923 351T1065 270Q1085 263 1085 251Q1085 240 1077 236T1044 225T995 204Q937 173 898 122T844 6Q840 -10 836 -13T816 -17H811Q786 -16 782 -9Q781 -6 781 -2Q781 1 785 17Q813 138 914 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495'], + + // UP DOWN ARROW + 0x2195: [767,267,575,14,561,'33 469Q14 469 14 496Q14 518 18 522T41 532Q121 551 182 608T268 745Q275 767 288 767Q299 767 303 755T320 713T355 650Q424 558 535 532Q553 527 557 523T561 496Q561 469 542 469Q531 469 501 478T418 516T329 590L319 602L318 426V74L319 -102L329 -90Q366 -47 417 -18T499 21T542 31Q561 31 561 4Q561 -17 557 -22T535 -32Q454 -51 393 -108T307 -245Q300 -267 288 -267Q279 -267 274 -259T266 -238T250 -200T220 -150Q151 -58 41 -32Q22 -27 18 -23T14 4Q14 31 33 31Q44 31 74 23T156 -16T247 -90L257 -102V602L247 590Q209 546 158 517T76 478T33 469'], + + // NORTH WEST ARROW + 0x2196: [724,194,1150,63,1084,'429 724Q438 724 452 711T466 690Q466 681 452 671Q361 602 242 599H218L756 135Q832 69 913 -1T1036 -108L1077 -143Q1084 -151 1084 -163Q1084 -180 1074 -187T1054 -194H1052Q1043 -194 939 -105Q866 -42 812 5Q180 549 178 549V546Q179 542 179 539Q183 520 183 483Q183 435 172 390T149 323T130 296Q121 292 115 295Q85 312 85 328Q85 331 95 350T115 406T125 486Q125 540 110 583T79 648T64 675Q64 681 68 687T81 693Q87 693 94 690Q162 657 232 657Q296 657 349 681T420 722Q422 724 429 724'], + + // NORTH EAST ARROW + 0x2197: [724,193,1150,64,1085,'1069 693Q1076 693 1080 687T1085 675Q1085 671 1076 656T1055 621T1034 565T1024 486Q1024 442 1034 406T1054 351T1064 328Q1064 321 1057 313T1042 300L1034 295Q1030 293 1027 293Q1023 293 1020 295T1014 301T1009 308T1005 316T1001 324Q980 368 971 419Q966 442 966 484V492Q966 528 972 553Q971 553 757 368T328 -3T107 -191Q103 -193 94 -193Q78 -193 71 -184T64 -164Q64 -153 72 -143Q79 -136 382 124L934 599H909Q837 599 760 634T683 690Q683 697 696 710T722 724Q726 724 742 714T779 691T838 668T920 657Q959 657 991 666T1043 684T1069 693'], + + // SOUTH EAST ARROW + 0x2198: [694,224,1150,65,1085,'65 663Q65 680 74 687T93 694H96Q104 694 118 683T204 610Q280 545 338 495Q969 -49 971 -49L970 -46Q970 -42 970 -39Q966 -20 966 18Q966 65 977 110T1001 177T1019 204Q1028 208 1034 205Q1064 188 1064 172Q1064 169 1054 150T1034 94T1024 14Q1024 -28 1033 -64T1054 -120T1075 -155T1085 -175Q1085 -181 1081 -187T1068 -193Q1062 -193 1055 -190Q987 -157 919 -157Q817 -157 739 -215Q727 -224 720 -224Q712 -224 697 -210Q683 -199 683 -190T697 -171Q788 -102 907 -99H931L393 365Q317 431 236 501T114 608L72 643Q65 651 65 663'], + + // SOUTH WEST ARROW + 0x2199: [694,224,1150,64,1085,'80 -193Q73 -193 69 -187T64 -175Q64 -172 79 -150T109 -84T125 14Q125 58 115 94T95 149T85 172Q85 179 92 187T108 200L115 205Q119 207 122 207Q126 207 129 205T135 199T140 192T144 184T148 176Q169 132 178 81Q183 58 183 17Q183 -7 182 -24T178 -48L177 -53Q178 -53 389 129T816 498T1043 692Q1049 694 1054 694Q1070 694 1077 684T1085 664Q1085 653 1077 643Q1070 636 767 376L215 -98L240 -99Q312 -99 389 -134T466 -190Q466 -197 452 -210T429 -224Q422 -224 411 -215Q330 -157 229 -157Q190 -157 158 -166T106 -184T80 -193'], + + // RIGHTWARDS ARROW FROM BAR + 0x21A6: [518,17,1150,65,1085,'65 426Q74 448 95 448Q112 448 125 426V281H500L914 282Q881 304 842 357T785 482Q781 500 781 501Q781 512 792 517Q794 518 812 518H817Q832 518 835 515T844 495Q864 412 923 351T1065 270Q1085 263 1085 251Q1085 240 1077 236T1044 225T995 204Q937 173 898 122T844 6Q840 -10 836 -13T816 -17H811Q786 -16 782 -9Q781 -6 781 -2Q781 1 785 17Q813 138 914 220H500L135 221Q134 221 133 221T130 220H125V76Q115 54 95 54Q73 54 65 76V426'], + + // LEFTWARDS ARROW WITH HOOK + 0x21A9: [518,17,1282,64,1218,'1029 475Q1029 505 1068 505Q1129 501 1173 463T1218 363Q1218 296 1170 259T1066 221H1063L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1063Q1105 284 1131 305T1158 361Q1158 385 1146 401Q1122 441 1063 444Q1029 446 1029 475'], + + // RIGHTWARDS ARROW WITH HOOK + 0x21AA: [518,17,1282,65,1217,'225 221H218Q159 221 112 260T65 363Q65 431 116 468T221 505Q254 503 254 474Q254 456 245 450T216 443T188 438Q152 427 137 401Q125 385 125 362Q125 334 147 310Q171 288 221 281H632L1046 282Q1013 304 974 357T917 482Q913 500 913 501Q913 512 924 517Q926 518 944 518H949Q964 518 967 515T976 495Q996 412 1055 351T1197 270Q1217 263 1217 251Q1217 240 1209 236T1176 225T1127 204Q1069 173 1030 122T976 6Q972 -10 968 -13T948 -17H943Q918 -16 914 -9Q913 -6 913 -2Q913 1 917 17Q945 138 1046 220H632L225 221'], + + // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BC: [518,-220,1150,64,1084,'1063 281Q1084 268 1084 251Q1084 231 1063 221L572 220Q79 220 77 221Q64 225 64 244Q64 250 64 254T67 261T71 265T78 268T85 272Q142 302 189 345T258 421T296 484T315 516Q319 518 337 518Q358 518 363 512Q370 504 367 496Q360 469 319 404T219 290L209 282L636 281H1063'], + + // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21BD: [281,17,1150,64,1084,'1063 281Q1084 268 1084 251Q1084 231 1063 221L636 220H209L219 212Q278 162 319 97T367 5Q370 -3 363 -11Q358 -17 337 -17H332Q318 -17 314 -14T302 7Q278 55 246 95T185 160T130 202T88 228L70 237Q64 243 64 257Q64 274 75 279Q78 281 571 281H1063'], + + // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C0: [518,-220,1150,65,1085,'65 251Q65 270 87 281H513L940 282L930 290Q871 338 830 403T782 496Q779 510 791 517Q794 518 812 518H817Q831 518 835 515T847 494Q871 445 903 404T966 338T1022 298T1064 272T1083 259Q1085 255 1085 245Q1085 225 1072 221Q1070 220 578 220L87 221Q65 228 65 251'], + + // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C1: [281,17,1150,64,1085,'84 279Q89 281 580 281Q1070 281 1074 279Q1085 275 1085 256Q1085 245 1083 241T1066 230Q919 153 847 7Q839 -11 835 -14T817 -17H812Q791 -17 786 -11Q779 -3 782 5Q789 31 830 96T930 212L940 220H513L87 221Q64 229 64 250Q64 272 84 279'], + + // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CC: [718,17,1150,64,1085,'65 451Q65 470 87 481H513L940 482L930 490Q871 538 830 603T782 696Q779 710 791 717Q794 718 812 718H817Q831 718 835 715T847 694Q871 645 903 604T966 538T1022 498T1064 472T1083 459Q1085 455 1085 445Q1085 425 1072 421Q1070 420 578 420L87 421Q65 428 65 451ZM1063 281Q1084 268 1084 251Q1084 231 1063 221L636 220H209L219 212Q278 162 319 97T367 5Q370 -3 363 -11Q358 -17 337 -17H332Q318 -17 314 -14T302 7Q278 55 246 95T185 160T130 202T88 228L70 237Q64 243 64 257Q64 274 75 279Q78 281 571 281H1063'], + + // LEFTWARDS DOUBLE ARROW + 0x21D0: [547,46,1150,64,1086,'1063 169L1068 166Q1072 163 1074 162T1079 157T1083 149T1085 139Q1085 118 1063 109L733 108H404L412 99Q455 50 488 -10Q498 -27 493 -37Q487 -46 465 -46H460Q446 -46 439 -39T426 -18T399 25T344 89Q239 194 99 229Q96 230 92 231T85 232T79 234T73 235T69 237T66 240T65 244T64 250Q64 267 90 271Q197 295 286 361T430 525Q439 542 442 544T460 547H465Q487 547 492 539Q496 531 496 530Q496 521 471 482T414 405L404 394L733 393H1063Q1064 392 1069 389T1076 384T1082 375T1085 362Q1085 344 1063 333L700 332H338L324 321Q283 290 230 264L205 250Q266 224 323 180L338 170L700 169H1063'], + + // UPWARDS DOUBLE ARROW + 0x21D1: [694,193,703,30,672,'672 343Q672 326 670 320T657 313Q644 313 602 335Q577 349 557 361T527 381T509 395T499 403T495 406T494 118Q494 -166 492 -174Q484 -193 465 -193H463Q456 -193 453 -192T444 -186T433 -170V465L423 477Q407 495 394 514T367 554T351 579Q349 576 339 560T313 520T279 477L269 465V-22V-102Q269 -132 269 -145T268 -169T266 -180T260 -185T253 -191Q248 -193 239 -193H237Q218 -193 210 -174Q208 -166 208 118Q208 406 207 406L199 399Q191 392 165 374T100 335Q58 313 45 313Q35 313 33 319T30 343V349Q30 359 30 362T35 369T45 374T66 383T100 401Q267 499 333 680Q339 694 351 694Q361 694 365 687T380 652T407 597Q442 536 489 489T573 420T638 383T670 365Q672 361 672 343'], + + // RIGHTWARDS DOUBLE ARROW + 0x21D2: [547,46,1150,64,1084,'64 362Q64 380 87 393H416L745 394L735 405Q708 436 681 477T654 531Q654 547 679 547H684H689Q703 547 710 540T723 519T750 475T806 411Q914 303 1059 271Q1060 271 1063 270T1068 269T1072 268T1076 266T1079 264T1082 260T1083 256T1084 250Q1084 242 1080 238T1063 231T1035 225T992 211T934 185Q797 112 719 -24Q710 -40 706 -43T689 -46H684Q653 -46 653 -31Q653 -24 661 -10Q694 50 737 99L745 108H416L87 109Q64 117 64 139Q64 156 87 169H449L812 170L826 180Q842 193 860 204T892 223T918 237T937 246L944 250L919 264Q866 290 825 321L811 332H449L87 333Q64 343 64 362'], + + // DOWNWARDS DOUBLE ARROW + 0x21D3: [694,194,703,30,672,'30 157Q30 174 32 180T46 187Q59 187 104 163Q154 136 198 101L207 94Q208 94 208 382Q208 666 210 674Q219 694 241 694Q254 692 262 683Q266 679 267 674Q269 658 269 522V35L279 23Q295 5 308 -14T335 -54T351 -79Q353 -76 363 -60T389 -20T423 23L433 35V671Q439 682 444 686T452 692T463 693H465Q484 693 492 674Q494 666 494 382Q494 94 495 94L504 101Q547 135 593 160T652 187Q665 191 671 177Q672 175 672 157Q672 137 669 134T636 116Q606 101 578 83T528 47T486 9T452 -30T424 -68T403 -103T387 -134T377 -159T370 -176L367 -184Q360 -194 351 -194Q345 -194 342 -192T334 -182T327 -166T315 -137T295 -97Q260 -36 213 11T129 80T63 117T32 136Q30 139 30 157'], + + // LEFT RIGHT DOUBLE ARROW + 0x21D4: [547,46,1150,47,1102,'336 497Q358 541 363 544Q367 547 379 547H384Q401 547 405 545Q418 538 414 525T389 474T346 408L335 393H814L803 408Q781 436 760 474T735 525T744 545Q748 547 765 547Q771 547 774 547T780 546T786 544T790 541T794 535T799 527T805 514T813 497Q841 446 877 406T950 340T1014 301T1068 276L1096 265Q1102 259 1102 251Q1102 240 1085 232Q981 195 902 121Q835 56 798 -25Q791 -40 787 -43T765 -46T744 -44Q735 -40 735 -30Q735 -15 760 28T806 98L814 108H335L343 98Q361 75 378 46T404 -1T414 -24Q418 -37 405 -44Q401 -46 384 -46T363 -43T351 -25Q314 56 247 121Q216 150 182 173T125 206T79 226T53 237Q47 243 47 251Q47 254 47 256T49 261T52 264T57 267T61 268T66 270T71 272Q246 335 336 497ZM985 251Q932 280 882 323L871 332H278Q264 321 253 311T237 297T214 282T164 251L176 244Q221 218 278 169H871Q928 218 973 244L985 251'], + + // UP DOWN DOUBLE ARROW + 0x21D5: [767,267,703,30,672,'49 441Q30 441 30 464V471V480Q30 498 44 502Q237 573 331 750Q337 767 351 767Q360 767 368 753T400 702T460 629Q504 584 552 554T632 511T666 497Q672 493 672 471Q672 454 670 449Q664 441 653 441Q639 443 591 465T508 513L495 522L494 386V114L495 -22L508 -13Q543 12 591 34T653 59Q672 59 672 36V29V20Q672 2 658 -2Q465 -71 367 -257Q360 -267 351 -267Q343 -267 336 -257T320 -231T292 -187T242 -129Q198 -84 150 -54T70 -11T36 3Q30 7 30 29Q30 46 32 51Q38 59 49 59Q63 57 111 35T194 -13L208 -22V522L194 513Q159 488 111 466T49 441ZM422 584Q411 594 400 606T383 626T366 648T351 667Q349 665 339 652T314 620T280 584L269 573V-73L280 -84Q305 -108 351 -166Q353 -164 363 -151T389 -119T422 -84L433 -73V573L422 584'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/Arrows.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js new file mode 100644 index 00000000..60957cde --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js @@ -0,0 +1,149 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [705,-1,350,89,260,'89 629Q89 663 116 684T171 705Q215 705 237 681T260 634Q260 619 233 434T204 244Q201 237 175 237Q150 237 146 244Q144 248 117 433T89 629ZM90 86Q90 125 116 148T177 171Q211 169 235 146T259 86Q259 48 235 25T175 1Q138 1 114 24T90 86'], + + // QUOTATION MARK + 0x22: [694,-328,603,38,492,'38 572T38 608T61 669T121 694Q167 694 196 657T225 559Q225 520 214 482T186 418T151 370T119 339T99 329T82 340T70 360Q70 365 74 369T92 385T122 414Q142 441 154 471T170 518L172 535L166 532Q160 530 148 527T122 523Q85 523 62 547ZM305 572T305 608T328 669T388 694Q434 694 463 657T492 559Q492 520 481 482T453 418T418 370T386 339T366 329T349 340T337 360Q337 365 341 369T359 385T389 414Q409 441 421 471T436 518L439 535L433 532Q427 530 415 527T389 523Q352 523 329 547'], + + // NUMBER SIGN + 0x23: [694,193,958,64,893,'64 362Q64 380 87 393H363L366 404Q379 443 390 480T409 542T424 590T435 628T443 655T451 674T458 686T467 692T478 694Q490 694 499 686T509 662Q505 643 427 395Q427 393 523 393H620L623 404Q630 426 652 498T691 624T711 681Q718 694 735 694Q748 694 757 685T766 662Q762 643 684 395Q684 393 777 393H871Q872 392 875 390T881 386T887 381T891 374T893 363Q893 345 871 333L767 332H664L660 319Q660 318 638 245T614 171Q614 169 742 169H871L877 165Q883 161 885 159T890 151T893 138Q893 120 871 109L732 108H594L590 95Q587 84 546 -46Q508 -175 505 -178Q498 -193 478 -193Q462 -193 455 -183T448 -164Q448 -156 530 106Q530 108 434 108H337L333 95Q330 84 289 -46Q251 -175 248 -178Q240 -193 222 -193Q206 -193 199 -183T191 -164Q191 -154 273 106Q273 108 180 108L87 109Q64 117 64 139Q64 156 87 169H293L321 262Q326 277 331 294T340 321L343 330Q343 332 215 332L87 333Q64 343 64 362ZM600 330Q600 332 504 332H407L403 319Q403 318 381 245T357 171Q357 169 453 169H550L578 262Q583 277 588 294T597 321L600 330'], + + // DOLLAR SIGN + 0x24: [750,56,575,64,510,'64 494Q64 541 80 579T120 638T171 674T219 693T253 698H256V750H318V699H323Q355 694 380 686T433 663T480 620T506 556Q510 539 510 520Q510 480 488 463T440 445L422 447Q407 451 398 459Q370 478 370 515Q370 542 384 559T412 580L427 584Q424 589 418 596T386 617T324 636H318V434Q411 419 460 355T510 217Q510 196 507 175T492 122T461 67T404 23T318 -4V-56H256V-5H254Q252 -3 240 -3Q194 4 160 23T108 64T80 112T67 156T64 190Q64 218 81 240T134 262Q171 262 187 240T204 193T190 150T153 125Q146 125 144 123Q142 123 149 113T174 89T218 66Q247 58 255 58Q256 58 256 173V287L239 291Q160 308 112 365T64 494ZM255 636Q246 635 236 632T206 620T173 591T160 543Q160 472 256 448V542Q256 636 255 636ZM320 59Q324 59 333 61T356 70T384 89T406 120T415 167Q415 200 395 225T356 260T318 274V59H320'], + + // PERCENT SIGN + 0x25: [751,56,958,65,893,'65 549Q65 609 84 652T132 714T187 742T236 750Q265 750 296 734T355 697T431 661T541 644Q662 644 736 730Q751 749 767 749T790 739T797 719Q797 710 768 672T504 329Q212 -47 211 -48Q203 -55 191 -55Q161 -55 161 -25Q161 -17 163 -12L642 609Q608 595 542 595Q515 595 488 599T441 608T405 619T381 628L373 632Q373 630 375 619T380 589T383 548Q383 455 343 401T235 347Q217 347 198 351T154 368T110 403T78 462T65 549ZM320 549Q320 633 295 665T235 698H234Q214 698 196 674Q182 650 182 549Q182 509 183 486T190 441T207 409T238 399Q269 399 294 431T320 549ZM745 -56Q727 -56 708 -52T664 -35T620 0T588 59T575 146T588 232T620 291T663 325T708 343T747 347Q810 347 851 294T893 146Q893 89 879 48T841 -15T794 -46T745 -56ZM830 146Q830 230 805 262T745 295H744Q724 295 706 271Q692 247 692 146Q692 106 693 83T700 38T717 6T748 -4Q779 -4 804 28T830 146'], + + // AMPERSAND + 0x26: [705,11,894,48,836,'255 -11Q209 -11 164 4T84 56T48 146Q48 159 50 171Q57 197 72 218T99 249T152 292Q204 333 204 334L194 356Q185 379 176 421T166 511Q166 538 168 551Q182 613 226 654T332 704Q334 704 343 704T358 705Q412 702 444 661T476 565V559Q476 489 334 371L330 368L335 357Q382 272 485 165L496 154L506 163Q543 200 597 273L671 382H601V444H610L732 441Q821 441 830 444H836V382H741L709 335Q702 324 687 302T665 270T646 244T625 216T605 191T581 162T553 132L537 116Q544 109 557 98T605 69T673 51Q711 51 739 70T767 115V118H829V114Q829 70 786 30T668 -11Q570 -11 474 37L451 49L441 43Q352 -11 255 -11ZM415 564Q415 596 400 625T356 654Q329 654 310 634T285 588Q283 580 283 554Q283 475 309 417L325 431Q415 512 415 564ZM192 182Q192 126 213 89T279 51Q348 51 400 83L389 91Q362 112 338 137T295 186T264 229T240 265T227 286Q226 285 222 280T217 272T211 263T205 251T200 238T196 222T193 204T192 182'], + + // APOSTROPHE + 0x27: [694,-329,319,74,261,'74 572T74 608T97 669T157 694Q203 694 232 657T261 559Q261 520 250 482T222 418T187 370T155 339T135 329Q128 329 117 340T106 359Q106 365 117 375T144 399T176 440T203 505Q204 511 205 518T208 530V535L202 532Q196 530 184 527T158 523Q121 523 98 547'], + + // ASTERISK + 0x2A: [750,-306,575,72,502,'235 706Q235 724 251 737T287 750Q306 750 322 738T339 706Q339 685 318 580V579Q429 663 436 666Q441 668 449 668Q471 668 486 650T501 612Q501 582 478 572Q476 570 414 549L354 528L414 507Q420 505 430 502T445 497T458 492T470 488T479 483T487 478T493 471T497 463T500 454T501 443Q501 423 486 406T449 388H446Q435 388 370 437Q339 461 318 477V476Q339 371 339 350Q339 332 323 319T287 306T251 319T235 350Q235 371 256 476V477Q145 393 138 390Q133 388 125 388Q103 388 88 406T73 444Q73 474 96 484Q98 486 160 507L220 528L160 549Q154 551 144 554T129 559T116 564T104 568T95 573T87 578T81 585T77 593T74 602T73 613Q73 633 88 650T125 668H128Q139 668 204 619Q235 595 256 579V580Q235 685 235 706'], + + // HYPHEN-MINUS + 0x2D: [278,-166,383,13,318,'13 166V278H318V166H13'], + + // QUESTION MARK + 0x3F: [700,-1,543,65,478,'65 570Q65 628 119 664T259 700Q326 700 372 688T440 654T469 613T478 569Q478 505 412 465Q287 391 287 294V283Q287 250 284 244T263 237H256H249Q232 237 229 242T225 272V287Q227 364 253 418Q274 463 311 504Q335 530 335 575Q335 622 323 635T259 648Q231 648 209 644T179 636T170 630L172 628Q174 627 177 625T183 620T190 611T197 601T202 587T204 570Q204 539 185 519T134 499Q105 499 85 517T65 570ZM171 86Q171 125 197 148T258 171Q292 169 316 146T340 86Q340 48 316 25T256 1Q218 1 195 24T171 86'], + + // COMMERCIAL AT + 0x40: [699,6,894,64,829,'64 347Q64 511 171 605T434 699Q487 699 500 698Q624 684 703 621T811 464Q828 414 828 344Q828 232 788 179T691 125Q673 125 657 127T628 132T606 140T588 148T576 156T568 162L566 164Q565 164 549 154T504 135T444 125Q349 125 284 183T218 347Q218 455 284 512T448 569Q554 569 610 479H638Q670 479 674 471Q676 468 676 340V258Q676 213 679 199T694 178Q701 174 713 177Q767 187 767 340Q767 489 678 569T446 649Q299 649 213 566T126 346Q126 307 134 269T166 189T225 116T320 65T455 45H463Q606 51 721 91L746 99H782H801Q829 99 829 85Q829 78 825 75T804 65Q800 63 797 62Q625 -6 451 -6Q271 -6 168 91T64 347ZM547 468Q526 493 504 505T444 517T377 476T346 347Q346 306 354 271T386 206T448 177Q505 177 547 226V468'], + + // LATIN CAPITAL LETTER A + 0x41: [698,0,869,40,828,'296 0Q278 3 164 3Q58 3 49 0H40V62H92Q144 62 144 64Q388 682 397 689Q403 698 434 698Q463 698 471 689Q475 686 538 530T663 218L724 64Q724 62 776 62H828V0H817Q796 3 658 3Q509 3 485 0H472V62H517Q561 62 561 63L517 175H262L240 120Q218 65 217 64Q217 62 261 62H306V0H296ZM390 237L492 238L440 365Q390 491 388 491Q287 239 287 237H390'], + + // LATIN CAPITAL LETTER B + 0x42: [686,0,818,39,752,'720 510Q720 476 704 448T665 404T619 377T580 362L564 359L583 356Q602 353 632 342T690 312Q712 292 725 276Q752 235 752 189V183Q752 160 741 125Q698 18 547 2Q543 1 288 0H39V62H147V624H39V686H264H409Q502 686 542 681T624 655Q720 607 720 510ZM563 513Q563 553 548 578T518 611T486 622Q479 624 385 624H293V382H375Q458 383 467 385Q563 405 563 513ZM590 192Q590 307 505 329Q504 330 503 330L398 331H293V62H391H400H444Q496 62 528 75T580 131Q590 155 590 192'], + + // LATIN CAPITAL LETTER C + 0x43: [697,11,831,64,766,'64 343Q64 502 174 599T468 697Q502 697 533 691T586 674T623 655T647 639T657 632L694 663Q703 670 711 677T723 687T730 692T735 695T740 696T746 697Q759 697 762 692T766 668V627V489V449Q766 428 762 424T742 419H732H720Q699 419 697 436Q690 498 657 545Q611 618 532 632Q522 634 496 634Q356 634 286 553Q232 488 232 343T286 133Q355 52 497 52Q597 52 650 112T704 237Q704 248 709 251T729 254H735Q750 254 755 253T763 248T766 234Q766 136 680 63T469 -11Q285 -11 175 86T64 343'], + + // LATIN CAPITAL LETTER D + 0x44: [686,0,882,39,817,'39 624V686H270H310H408Q500 686 545 680T638 649Q768 584 805 438Q817 388 817 338Q817 171 702 75Q628 17 515 2Q504 1 270 0H39V62H147V624H39ZM655 337Q655 370 655 390T650 442T639 494T616 540T580 580T526 607T451 623Q443 624 368 624H298V62H377H387H407Q445 62 472 65T540 83T606 129Q629 156 640 195T653 262T655 337'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,756,39,723,'723 286Q721 284 700 145T677 3V0H39V62H147V618H39V680H660V676Q662 670 675 552T691 428V424H629V428Q629 429 627 448T618 494T601 541Q574 593 527 605T382 618H374H304V384H336Q338 384 347 384T361 384T376 386T392 390T407 397T421 407T432 423Q442 444 443 482V501H505V205H443V224Q442 258 435 278T411 307T380 318T336 322H304V62H375H394Q429 62 449 62T497 66T541 76T577 95T609 126T632 170T651 232Q661 287 661 289H723V286'], + + // LATIN CAPITAL LETTER F + 0x46: [680,0,724,39,675,'425 0L228 3Q63 3 51 0H39V62H147V618H39V680H644V676Q647 670 659 552T675 428V424H613Q613 433 605 477Q599 511 589 535T562 574T530 599T488 612T441 617T387 618H368H304V371H333Q389 373 411 390T437 468V488H499V192H437V212Q436 244 430 263T408 292T378 305T333 309H304V62H439V0H425'], + + // LATIN CAPITAL LETTER G + 0x47: [697,10,904,64,845,'465 -10Q281 -10 173 88T64 343Q64 413 85 471T143 568T217 631T298 670Q371 697 449 697Q452 697 459 697T470 696Q502 696 531 690T582 675T618 658T644 641T656 632L732 695Q734 697 745 697Q758 697 761 692T765 668V627V489V449Q765 428 761 424T741 419H731H724Q705 419 702 422T695 444Q683 520 631 577T495 635Q364 635 295 563Q261 528 247 477T232 343Q232 296 236 260T256 185T296 120T366 76T472 52Q481 51 498 51Q544 51 573 67T607 108Q608 111 608 164V214H464V276H479Q506 273 680 273Q816 273 834 276H845V214H765V113V51Q765 16 763 8T750 0Q742 2 709 16T658 40L648 46Q592 -10 465 -10'], + + // LATIN CAPITAL LETTER H + 0x48: [686,0,900,39,860,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V624H39V686H51Q75 683 226 683Q376 683 400 686H412V624H304V388H595V624H487V686H499Q523 683 673 683Q824 683 848 686H860V624H752V62H860V0H848Q824 3 674 3Q523 3 499 0H487V62H595V326H304V62H412V0H400'], + + // LATIN CAPITAL LETTER I + 0x49: [686,0,436,25,410,'397 0Q370 3 218 3Q65 3 38 0H25V62H139V624H25V686H38Q65 683 218 683Q370 683 397 686H410V624H296V62H410V0H397'], + + // LATIN CAPITAL LETTER J + 0x4A: [686,11,594,8,527,'174 114Q174 96 169 82T159 63T144 47L155 45Q183 40 203 40Q271 40 290 104Q294 118 294 150T295 380V624H154V686H169Q196 683 365 683Q499 683 517 686H527V624H446V379Q446 183 446 153T441 108Q413 32 315 2Q266 -11 208 -11Q160 -11 118 -2T42 37T8 114V122Q8 150 30 174T91 198T152 174T174 122V114'], + + // LATIN CAPITAL LETTER K + 0x4B: [686,0,901,39,852,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V624H39V686H51Q75 683 226 683Q376 683 400 686H412V624H304V338L472 483L634 624H565V686H576Q597 683 728 683Q814 683 829 686H836V624H730L614 524Q507 432 497 422Q496 422 498 418T514 395T553 342T627 241L759 63L805 62H852V0H842Q830 3 701 3Q550 3 526 0H513V62H549Q584 62 584 63Q583 65 486 196T388 328L304 256V62H412V0H400'], + + // LATIN CAPITAL LETTER L + 0x4C: [686,0,692,39,643,'643 285Q641 280 629 148T612 4V0H39V62H147V624H39V686H51Q75 683 228 683Q415 685 425 686H439V624H304V62H352H378Q492 62 539 138Q551 156 558 178T569 214T576 255T581 289H643V285'], + + // LATIN CAPITAL LETTER M + 0x4D: [686,0,1092,39,1052,'314 0Q296 3 181 3T48 0H39V62H147V624H39V686H305Q316 679 323 667Q330 653 434 414L546 157L658 414Q766 662 773 674Q778 681 788 686H1052V624H944V62H1052V0H1040Q1016 3 874 3T708 0H696V62H804V341L803 618L786 580Q770 543 735 462T671 315Q540 13 536 9Q528 1 507 1Q485 1 477 9Q472 14 408 162T281 457T217 603Q215 603 215 334V62H323V0H314'], + + // LATIN CAPITAL LETTER N + 0x4E: [686,0,900,39,860,'314 0Q296 3 181 3T48 0H39V62H147V624H39V686H171H265Q288 686 297 686T309 684T315 679Q317 676 500 455T684 233V624H576V686H585Q603 683 718 683T851 686H860V624H752V319Q752 15 750 11Q747 4 742 2T718 0H712Q708 0 706 0T700 0T696 1T693 2T690 4T687 7T684 11T679 16T674 23Q671 27 437 311L215 579V62H323V0H314'], + + // LATIN CAPITAL LETTER O + 0x4F: [696,10,864,64,798,'64 339Q64 431 96 502T182 614T295 675T420 696Q469 696 481 695Q620 680 709 589T798 339Q798 173 697 82T432 -10Q262 -10 163 85T64 339ZM625 454Q618 502 600 538T562 593T515 624T469 639T431 642Q331 642 276 563Q232 493 232 353Q232 315 234 285T244 216T267 148T308 94T372 56Q405 46 432 46Q517 46 567 106T627 267Q631 299 631 353Q631 418 625 454'], + + // LATIN CAPITAL LETTER P + 0x50: [686,0,786,39,722,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V624H39V686H253Q435 686 470 685T536 678Q585 668 621 648T675 605T705 557T718 514T721 483T718 451T704 409T673 362T616 322T530 293Q500 288 399 287H304V62H412V0H400ZM553 475Q553 554 537 582T459 622Q451 623 373 624H298V343H372Q457 344 480 350Q527 362 540 390T553 475'], + + // LATIN CAPITAL LETTER Q + 0x51: [696,193,864,64,805,'64 339Q64 431 96 502T182 614T295 675T420 696Q469 696 481 695Q620 680 709 589T798 339Q798 255 768 184Q720 77 611 26L600 21Q635 -26 682 -26H696Q769 -26 769 0Q769 7 774 12T787 18Q805 18 805 -7V-13Q803 -64 785 -106T737 -171Q720 -183 697 -191Q687 -193 668 -193Q636 -193 613 -182T575 -144T552 -94T532 -27Q531 -23 530 -16T528 -6T526 -3L512 -5Q499 -7 477 -8T431 -10Q393 -10 382 -9Q238 8 151 97T64 339ZM326 80Q326 113 356 138T430 163Q492 163 542 100L553 86Q554 85 561 91T578 108Q637 179 637 330Q637 430 619 498T548 604Q500 641 425 641Q408 641 390 637T347 623T299 590T259 535Q226 469 226 338Q226 244 246 180T318 79L325 74Q326 74 326 80ZM506 58Q480 112 433 112Q412 112 395 104T378 77Q378 44 431 44Q480 44 506 58'], + + // LATIN CAPITAL LETTER R + 0x52: [687,11,862,39,858,'394 0Q370 3 222 3Q75 3 51 0H39V62H147V624H39V686H234Q256 686 299 686T362 687Q479 687 554 669T681 593Q716 550 716 497Q716 390 568 338Q569 337 572 336T577 332Q605 317 623 300T650 258T662 218T668 172Q678 98 689 76Q707 40 748 40Q770 40 780 54T795 88T801 111Q805 117 827 117H831Q846 117 852 113T858 92Q857 78 852 63T834 30T797 1T739 -11Q630 -11 580 12T511 87Q506 104 506 168Q506 170 506 178T507 194Q507 289 438 313Q424 318 356 318H298V62H406V0H394ZM366 369Q459 370 490 381Q548 402 548 476V498V517Q548 578 513 600Q479 624 392 624H358H298V369H366'], + + // LATIN CAPITAL LETTER S + 0x53: [698,12,639,63,574,'64 493Q64 582 120 636T264 696H272Q280 697 285 697Q380 697 454 645L480 669Q484 672 488 676T495 683T500 688T504 691T508 693T511 695T514 696T517 697T522 697Q536 697 539 691T542 652V577Q542 557 542 532T543 500Q543 472 540 465T524 458H511H505Q489 458 485 461T479 478Q472 529 449 564T393 614T336 634T287 639Q228 639 203 610T177 544Q177 517 195 493T247 457Q253 454 343 436T475 391Q574 326 574 207V200Q574 163 559 120Q517 12 389 -9Q380 -10 346 -10Q308 -10 275 -5T221 7T184 22T160 35T151 40L126 17Q122 14 118 10T111 3T106 -2T102 -5T98 -7T95 -9T92 -10T89 -11T84 -11Q70 -11 67 -4T64 35V108Q64 128 64 153T63 185Q63 203 63 211T69 223T77 227T94 228H100Q118 228 122 225T126 205Q130 125 193 88T345 51Q408 51 434 82T460 157Q460 196 439 221T388 257Q384 259 305 276T221 295Q155 313 110 366T64 493'], + + // LATIN CAPITAL LETTER T + 0x54: [675,0,800,41,758,'41 425Q41 426 51 545T62 669V675H737V669Q738 665 748 546T758 425V419H696V425Q687 517 669 555T595 607Q578 612 522 613H478V62H631V0H615Q585 3 399 3Q214 3 184 0H168V62H321V613H277H263Q164 613 134 561Q113 527 103 425V419H41V425'], + + // LATIN CAPITAL LETTER U + 0x55: [686,11,885,39,845,'570 686Q588 683 703 683T836 686H845V624H737V420Q737 390 737 345T738 284Q738 205 729 164T689 83Q614 -11 465 -11Q321 -11 240 51T148 207Q147 214 147 421V624H39V686H51Q75 683 226 683Q376 683 400 686H412V624H304V405V370V268Q304 181 311 146T346 87Q387 52 466 52Q642 52 667 195Q668 204 669 415V624H561V686H570'], + + // LATIN CAPITAL LETTER V + 0x56: [686,7,869,25,843,'592 686H604Q615 685 631 685T666 684T700 684T724 683Q829 683 835 686H843V624H744L611 315Q584 254 546 165Q492 40 482 19T461 -6L460 -7H409Q398 -4 391 9Q385 20 257 315L124 624H25V686H36Q57 683 190 683Q340 683 364 686H377V624H289L384 403L480 185L492 212Q504 240 529 298T575 405L670 624H582V686H592'], + + // LATIN CAPITAL LETTER W + 0x57: [686,7,1189,24,1164,'915 686L1052 683Q1142 683 1157 686H1164V624H1073L957 320Q930 249 900 170T855 52T839 10Q834 0 826 -5Q821 -7 799 -7H792Q777 -7 772 -5T759 10Q759 11 748 39T716 122T676 228L594 442L512 228Q486 159 455 78Q433 19 428 9T416 -5Q411 -7 389 -7H379Q356 -7 349 10Q349 12 334 51T288 170T231 320L116 624H24V686H35Q44 683 183 683Q331 683 355 686H368V624H323Q278 624 278 623L437 207L499 369L561 531L526 624H434V686H445Q454 683 593 683Q741 683 765 686H778V624H733Q688 624 688 623L847 207Q848 207 927 415T1006 624H905V686H915'], + + // LATIN CAPITAL LETTER X + 0x58: [686,0,869,33,835,'327 0Q306 3 174 3Q52 3 43 0H33V62H98L162 63L360 333L157 624H48V686H59Q80 683 217 683Q368 683 395 686H408V624H335L393 540L452 458L573 623Q573 624 528 624H483V686H494Q515 683 646 683Q769 683 778 686H787V624H658L575 511Q493 398 493 397L508 376Q522 356 553 312T611 229L727 62H835V0H824Q803 3 667 3Q516 3 489 0H476V62H513L549 63L401 274L247 63Q247 62 292 62H338V0H327'], + + // LATIN CAPITAL LETTER Y + 0x59: [686,0,869,19,849,'605 0Q581 3 434 3Q286 3 262 0H250V62H358V275L126 624H19V686H30Q54 683 189 683Q361 685 370 686H383V624H308L319 608Q330 591 353 556T396 491L484 359L660 623Q660 624 623 624H585V686H595Q613 683 728 683Q832 683 841 686H849V624H742L509 274V62H618V0H605'], + + // LATIN CAPITAL LETTER Z + 0x5A: [686,0,703,64,645,'80 430L92 686H358Q624 686 628 684Q638 679 638 656Q638 640 637 639Q637 638 445 353Q401 288 351 214T277 103L253 67L256 66Q258 66 265 66T279 66T298 66H343Q380 66 406 68T464 81T518 110T557 164T579 250Q583 278 583 298Q583 299 614 299H645V291Q643 281 636 150T627 8V0H353Q79 0 75 2Q64 7 64 31Q64 48 66 52L259 340L451 623Q451 624 384 624Q294 623 259 612Q155 581 143 446Q142 440 142 432V430H80'], + + // LOW LINE + 0x5F: [-10,61,575,0,574,'0 -61V-10H574V-61H0'], + + // GRAVE ACCENT + 0x60: [706,-503,575,113,338,'114 634Q114 663 136 684T183 706Q191 706 196 705T208 700T219 693T232 681T245 666T262 645T282 620Q332 558 337 553Q338 552 318 527L299 503L223 543Q215 547 202 553T183 563T167 571T153 580T141 587T131 595T124 603T118 612T115 622T114 634'], + + // TILDE + 0x7E: [344,-202,575,96,478,'343 202Q320 202 278 225T215 249Q181 249 146 214L134 202L115 219Q111 222 106 226T98 234L96 236Q158 306 165 313Q199 344 230 344Q239 344 244 343Q262 339 300 318T359 297Q393 297 428 332L440 344L459 327Q463 324 468 320T476 312L478 310Q416 240 409 233Q375 202 343 202'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js new file mode 100644 index 00000000..580ae187 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // COMBINING GRAVE ACCENT + 0x300: [706,-503,0,-462,-237,'-461 634Q-461 663 -439 684T-392 706Q-384 706 -379 705T-367 700T-356 693T-343 681T-330 666T-313 645T-293 620Q-243 558 -238 553Q-237 552 -257 527L-276 503L-352 543Q-360 547 -373 553T-392 563T-408 571T-422 580T-434 587T-444 595T-451 603T-457 612T-460 622T-461 634'], + + // COMBINING ACUTE ACCENT + 0x301: [706,-503,0,-339,-115,'-184 706Q-156 706 -136 683T-115 634Q-115 608 -134 593T-209 550Q-219 545 -224 543L-300 503L-319 527Q-339 552 -338 553Q-333 558 -283 620Q-276 629 -266 641T-251 659T-239 673T-229 685T-221 693T-212 699T-204 703T-195 705T-184 706'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-520,0,-449,-126,'-368 632L-288 694Q-286 693 -207 632T-127 570T-144 545T-162 520Q-165 520 -225 559L-288 597L-351 559Q-411 520 -414 520Q-415 520 -432 544T-449 570T-368 632'], + + // COMBINING TILDE + 0x303: [694,-552,0,-479,-97,'-232 552Q-255 552 -297 575T-360 599Q-394 599 -429 564L-441 552L-460 569Q-464 572 -469 576T-476 584L-479 586Q-417 656 -410 663Q-376 694 -345 694Q-336 694 -331 693Q-313 689 -275 668T-216 647Q-182 647 -147 682L-135 694L-116 677Q-112 674 -107 670T-100 662L-97 660Q-159 590 -166 583Q-200 552 -232 552'], + + // COMBINING MACRON + 0x304: [607,-540,0,-495,-81,'-495 540V607H-81V540H-495'], + + // COMBINING BREVE + 0x306: [694,-500,0,-473,-103,'-288 500Q-367 500 -420 558T-473 689V694H-422V685Q-422 681 -421 674T-411 648T-389 615T-349 590T-288 578Q-228 578 -193 611T-154 685V694H-103V689Q-103 623 -153 562T-288 500'], + + // COMBINING DOT ABOVE + 0x307: [695,-525,0,-373,-203,'-373 610Q-373 647 -348 671T-292 695Q-251 695 -227 669T-203 610T-225 551T-288 525Q-327 525 -350 551T-373 610'], + + // COMBINING DIAERESIS + 0x308: [695,-535,0,-479,-97,'-479 615Q-479 650 -456 672T-397 695Q-361 693 -341 669T-320 615Q-320 583 -343 559T-399 535Q-428 535 -453 556T-479 615ZM-256 615Q-256 651 -232 673T-176 695Q-149 695 -123 675T-97 615Q-97 578 -121 557T-180 535Q-211 537 -233 559T-256 615'], + + // COMBINING RING ABOVE + 0x30A: [702,-535,0,-415,-161,'-415 618Q-415 653 -382 677T-296 702H-291Q-194 702 -168 647Q-161 634 -161 618Q-161 607 -165 596T-180 570T-220 546T-288 536T-355 545T-394 568T-410 594T-415 618ZM-223 618Q-223 645 -234 652T-274 659H-283Q-289 659 -297 659T-307 660Q-328 660 -339 653T-351 638T-353 619Q-353 591 -341 585T-288 578Q-260 578 -249 580T-230 590T-223 618'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [714,-511,0,-442,-82,'-389 511L-442 543Q-442 544 -424 606T-404 674Q-390 705 -361 713Q-360 713 -356 713T-349 714Q-340 714 -330 712Q-273 690 -273 644Q-273 621 -290 604L-342 554L-389 511ZM-198 511L-251 543Q-251 544 -233 606T-213 674Q-199 705 -170 713Q-169 713 -165 713T-158 714Q-127 714 -105 693T-82 647Q-82 638 -84 631T-89 618T-99 604T-112 590T-130 574T-151 554L-198 511'], + + // COMBINING CARON + 0x30C: [660,-515,0,-445,-132,'-444 603Q-445 604 -439 618T-425 646T-417 659L-352 635L-288 611L-224 635L-159 659Q-158 660 -151 647T-138 619T-132 603Q-135 601 -211 558T-288 515T-365 558T-444 603'], + + // COMBINING LONG SOLIDUS OVERLAY + 0x338: [711,210,0,-734,-161,'-705 -210Q-715 -210 -724 -203T-734 -179Q-734 -171 -732 -166Q-730 -163 -474 266T-215 698Q-208 711 -190 711Q-180 711 -171 704T-161 681Q-161 672 -164 667Q-171 654 -425 228T-683 -201Q-692 -210 -705 -210'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js new file mode 100644 index 00000000..57b60dbd --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/CombDiactForSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // COMBINING RIGHT ARROW ABOVE + 0x20D7: [723,-513,0,-542,-33,'-169 694Q-169 707 -160 715T-142 723Q-127 723 -119 716T-107 698T-90 673T-53 648Q-33 637 -33 619Q-33 602 -45 595T-87 573T-144 532Q-165 513 -176 513Q-189 513 -197 522T-206 543Q-206 556 -188 574L-175 588H-347L-519 589Q-542 597 -542 618Q-542 623 -541 627T-537 635T-532 640T-527 644T-522 648L-519 649H-149Q-169 676 -169 694'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/CombDiactForSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js new file mode 100644 index 00000000..bb62d6a3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js @@ -0,0 +1,56 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/GeneralPunctuation.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // EN DASH + 0x2013: [300,-249,575,0,574,'0 249V300H574V249H0'], + + // EM DASH + 0x2014: [300,-249,1150,0,1149,'0 249V300H1149V249H0'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [695,-329,319,58,246,'58 461Q58 503 70 542T99 607T134 654T165 684T184 694T201 683T213 664Q213 658 202 648T175 624T143 583T116 518Q115 512 114 505T112 493L111 488Q132 500 161 500Q198 500 221 475T245 414T222 354T161 329Q112 329 85 369T58 461'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-329,319,74,261,'74 572T74 608T97 669T157 694Q203 694 232 657T261 559Q261 520 250 482T222 418T187 370T155 339T135 329Q128 329 117 340T106 359Q106 365 117 375T144 399T176 440T203 505Q204 511 205 518T208 530V535L202 532Q196 530 184 527T158 523Q121 523 98 547'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-329,603,110,564,'110 461Q110 502 121 541T150 606T185 653T217 684T235 694Q242 694 254 682T266 664Q266 659 254 648T226 623T193 578T167 511Q164 500 164 494T164 487Q188 500 212 500Q251 500 274 475T297 414Q297 378 274 354T212 329Q167 329 139 367T110 461ZM377 461Q377 502 388 541T417 606T452 653T484 684T502 694Q509 694 521 682T533 664Q533 659 521 648T493 623T460 578T434 511Q431 500 431 494T431 487Q455 500 479 500Q518 500 541 475T564 414Q564 378 541 354T479 329Q434 329 406 367T377 461'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-328,603,38,492,'38 572T38 608T61 669T121 694Q167 694 196 657T225 559Q225 520 214 482T186 418T151 370T119 339T99 329T82 340T70 360Q70 365 74 369T92 385T122 414Q142 441 154 471T170 518L172 535L166 532Q160 530 148 527T122 523Q85 523 62 547ZM305 572T305 608T328 669T388 694Q434 694 463 657T492 559Q492 520 481 482T453 418T418 370T386 339T366 329T349 340T337 360Q337 365 341 369T359 385T389 414Q409 441 421 471T436 518L439 535L433 532Q427 530 415 527T389 523Q352 523 329 547'], + + // DAGGER + 0x2020: [702,211,511,64,446,'231 470Q232 471 232 473Q232 477 213 540T193 636Q192 642 192 651T204 677T239 700Q249 702 255 702Q300 702 315 660Q317 653 317 636Q317 603 298 539T279 472V470Q280 470 318 488T383 506Q408 506 423 493T442 467T446 444T443 421T424 396T383 382Q355 382 318 400T279 418Q278 416 285 392T303 334T316 284Q318 268 318 234Q318 149 311 45T296 -127T284 -203Q279 -211 255 -211Q237 -211 233 -210T226 -203Q222 -195 214 -129T199 41T192 234V245Q192 286 212 349Q233 413 231 418Q229 418 192 400T128 382Q102 382 86 396T67 421T64 444T67 466T86 492T128 506Q155 506 192 488T231 470'], + + // DOUBLE DAGGER + 0x2021: [703,202,511,64,446,'193 637Q193 663 206 679T231 698T255 702T279 699T304 679T317 637Q317 605 299 557T280 504Q280 503 281 503T320 521T382 539Q410 539 428 521T446 476Q446 454 432 434T383 414H377Q358 414 320 431T281 449L280 448Q280 444 298 396T317 316Q318 310 318 301T306 275T271 252Q261 250 255 250Q210 250 195 292Q193 299 193 316Q193 347 211 395T230 448Q230 449 229 449Q227 449 196 434Q151 414 133 414H127Q102 414 87 427T68 452T64 477Q64 503 81 521T127 539Q143 539 164 532T204 515T226 504Q230 502 230 504Q230 508 212 556T193 637ZM193 184Q193 210 206 226T231 245T255 249T279 246T304 226T317 184Q317 153 299 106T280 53Q280 51 282 51T322 68T383 86Q411 86 428 69T445 24T428 -21T382 -39Q358 -39 322 -22T282 -4Q280 -3 280 -3T280 -6Q281 -13 299 -59T317 -136Q318 -142 318 -151T306 -177T271 -200Q261 -202 255 -202Q210 -202 195 -160Q193 -153 193 -136Q193 -106 211 -60T230 -6Q230 -4 228 -4T188 -21T128 -39Q100 -39 83 -22T65 24Q65 53 82 69T127 86Q150 86 187 69T228 51Q230 50 230 50T230 53Q229 58 211 105T193 184'], + + // HORIZONTAL ELLIPSIS + 0x2026: [171,-1,1295,74,1221,'74 85Q74 121 99 146T156 171Q200 171 222 143T245 85Q245 56 224 29T160 1Q118 1 96 27T74 85ZM562 85Q562 121 587 146T644 171Q688 171 710 143T733 85Q733 56 712 29T648 1Q606 1 584 27T562 85ZM1050 85Q1050 121 1075 146T1132 171Q1176 171 1198 143T1221 85Q1221 56 1200 29T1136 1Q1094 1 1072 27T1050 85'], + + // PRIME + 0x2032: [563,-33,344,35,331,'240 563Q278 563 304 539T331 480V473Q331 462 316 431T217 236Q199 200 174 151T136 78T123 50Q113 33 105 33Q101 33 72 45T38 60Q35 63 35 65Q35 77 101 293T171 517Q182 542 202 552T240 563'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/GeneralPunctuation.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js new file mode 100644 index 00000000..4d32d92f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js @@ -0,0 +1,41 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/GeometricShapes.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // WHITE UP-POINTING TRIANGLE + 0x25B3: [711,-1,1022,69,953,'91 1Q69 10 69 31Q69 39 81 59T168 197Q327 447 485 697Q493 711 510 711Q523 711 532 702Q536 697 743 371T951 41Q953 35 953 31Q953 12 931 1H91ZM690 340Q651 401 604 476T534 586L512 621Q511 622 507 616Q498 604 332 342L154 62L333 61H689L867 62L690 340'], + + // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25B9: [540,39,575,33,542,'33 518Q45 540 63 540H65Q72 540 174 481Q247 439 302 407Q529 276 533 272Q542 263 542 250Q542 238 533 229Q528 224 304 95T71 -38Q69 -39 63 -39Q42 -39 33 -16V518ZM449 251L94 456Q93 456 93 251Q93 45 94 45L106 52Q119 59 139 71T186 98T242 131T301 165T357 197T404 225T437 244L449 251'], + + // WHITE DOWN-POINTING TRIANGLE + 0x25BD: [500,210,1022,68,953,'68 470Q68 481 75 489T91 499H93Q296 500 512 500H931Q932 499 937 496T945 490T950 482T953 469Q953 465 951 459Q950 455 743 129T532 -202Q524 -210 511 -210Q497 -210 489 -202Q486 -199 281 124T71 456Q68 462 68 470ZM154 439Q155 437 332 158T510 -122Q510 -123 533 -87T600 18T688 157Q866 437 866 438Q867 439 805 439T511 439H154'], + + // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25C3: [539,38,575,33,542,'542 -14Q533 -38 514 -38H512Q503 -38 498 -35Q494 -34 270 95T42 229Q33 238 33 251Q33 259 35 264Q36 265 38 268T42 272Q48 278 271 407T504 539H508Q533 539 542 515V-14ZM481 251Q481 456 480 456Q125 252 124 251Q124 250 301 148T480 45T481 251'], + + // LARGE CIRCLE + 0x25EF: [711,212,1150,65,1084,'65 42T65 250T204 584T574 711Q795 711 935 594Q955 577 974 555T1022 490T1067 385T1084 250Q1084 42 945 -84T574 -211T204 -85ZM1024 250Q1024 431 903 540T578 650Q482 650 404 627T274 565T189 474T140 366T125 250Q125 123 186 31T347 -106T573 -150Q772 -150 898 -45T1024 250'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/GeometricShapes.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js new file mode 100644 index 00000000..914eea9f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/GreekAndCoptic.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,0,692,39,643,'425 0L228 3Q63 3 51 0H39V62H147V618H39V680H612V676Q614 670 627 552T643 428V424H581V428Q580 430 576 461T562 524T532 576Q512 596 481 605T426 616T357 618H304V62H439V0H425'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [698,0,958,56,901,'901 12Q901 7 892 0H479Q65 0 62 2Q56 6 56 11Q56 14 242 347T433 685Q438 694 450 696Q454 698 480 698H506L523 687Q526 683 711 354T899 17Q901 13 901 12ZM653 137L427 538L202 137L315 136H540L653 137'], + + // GREEK CAPITAL LETTER THETA + 0x398: [696,10,894,64,830,'629 -10T446 -10T164 89T64 340Q64 380 71 420T102 510T163 596T266 662T418 696H438Q488 696 499 695Q582 686 644 655T741 584T796 495T823 409T829 338Q829 188 729 89ZM439 645Q416 645 390 638T333 615T275 564T236 480Q221 423 221 341Q221 272 230 228Q247 144 301 94T447 43T592 93T663 228Q672 272 672 341Q672 645 439 645ZM286 242V446H348V412H545V446H607V242H545V276H348V242H286'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [698,0,806,40,765,'285 0Q267 3 154 3Q56 3 47 0H40V62H131Q131 63 167 160T244 369T321 578T359 678Q366 698 393 698H404H413Q437 698 446 678Q448 672 560 369T674 62H765V0H754Q733 3 604 3Q453 3 429 0H416V62H461L507 63L355 470Q353 468 279 265L203 63L249 62H294V0H285'], + + // GREEK CAPITAL LETTER XI + 0x39E: [675,0,767,48,718,'54 465L63 674Q63 675 383 675T703 674L712 465Q712 464 681 464H650V467Q650 490 646 516T632 545Q612 550 383 550H283Q169 550 149 548T124 531Q123 530 123 529Q116 506 116 467V464H85Q54 464 54 465ZM160 256V447H222V414H544V447H606V256H544V289H222V256H160ZM57 0L48 222H110V219Q110 147 125 133Q127 130 130 129T160 127T235 126T383 126Q482 126 530 126T604 127T635 129T641 133Q656 146 656 219V222H718L709 0H57'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [680,0,900,39,860,'400 0Q376 3 226 3Q75 3 51 0H39V62H147V618H39V680H860V618H752V62H860V0H848Q824 3 674 3Q523 3 499 0H487V62H595V618H304V62H412V0H400'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [686,0,831,64,766,'766 271Q764 266 750 137T735 4V0H407Q74 0 71 4L70 5Q64 9 64 18Q64 24 82 41T213 158L359 288Q360 288 320 336T214 460Q67 633 66 635Q64 638 64 655Q64 679 75 684Q78 686 407 686H735V682Q738 676 751 558T766 434V430H735Q704 430 704 431Q704 434 703 444T696 477T681 520T654 563T613 598Q578 615 527 619T371 624H281L396 489Q506 358 513 351Q517 342 512 334Q503 325 371 208Q338 179 303 147T249 99L231 83L243 81Q258 81 364 81Q382 81 418 81T470 82T513 83T554 88T587 96T619 109T645 129Q689 173 702 260L704 274Q704 275 735 275H766V271'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [698,0,894,64,829,'64 556Q69 619 114 658T224 697Q271 697 310 677T375 622T417 554T444 484L447 477V479Q456 516 473 551T516 620T582 676T670 697Q735 697 780 656T829 556Q829 539 818 532H772Q761 539 761 548Q761 571 681 571Q664 571 653 570T623 562T587 537T555 490Q536 448 531 410T525 300V210V62H660V0H646L447 3Q257 1 247 0H233V62H368V210V301Q368 373 363 410T338 490Q324 518 307 536T270 561T240 569T212 571Q132 571 132 548Q132 539 121 532H75Q64 538 64 556'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [686,0,831,64,766,'609 0Q582 3 415 3T221 0H207V62H342V168L328 169Q193 180 117 241Q64 286 64 343T117 445Q193 506 328 517L342 518V624H207V686H221Q248 683 415 683T609 686H623V624H488V518L502 517Q637 506 713 445Q766 400 766 343T713 241Q637 180 502 169L488 168V62H623V0H609ZM342 219T342 343T340 467Q328 467 304 459Q277 451 261 439T237 409T228 378T226 343Q226 314 229 296T250 259T301 228Q331 219 341 219Q342 219 342 343ZM604 343Q604 365 602 379T591 413T560 446T503 464L489 467Q488 467 488 343T489 219Q499 219 529 228Q554 236 570 248T593 277T602 308T604 343'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [686,0,894,64,829,'64 515Q64 532 71 536T104 540H139Q200 540 207 538Q225 533 236 521T253 489T260 454T264 414Q264 340 287 296T347 237Q369 226 373 226Q374 226 374 425V624H239V686H253Q280 683 447 683T641 686H655V624H520V226L522 227Q525 228 531 229T552 240T580 261T606 298T624 354Q627 368 628 394T631 440T637 482T654 518T686 538Q693 540 754 540H794Q817 540 823 536T829 515Q829 500 824 495T811 489T796 483T782 461T775 408Q767 212 568 175Q526 168 521 168Q520 168 520 115V62H655V0H641Q614 3 447 3T253 0H239V62H374V168L364 169Q290 178 243 203Q126 261 118 409Q117 443 111 461T98 484T83 489T70 495T64 515'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [696,1,831,51,779,'598 645T415 645T232 458Q232 385 275 239T318 26Q318 8 311 4T272 -1Q265 -1 240 -1T196 0H88V3Q86 5 70 108Q52 211 51 212V215H113V212Q123 149 132 133Q136 124 149 122T202 118Q241 118 241 119Q241 132 132 277Q64 378 64 457Q64 564 158 630T403 696Q487 696 543 685T661 638Q722 599 744 549T766 458Q766 434 761 410T749 368T729 327T709 293T684 258T663 229Q632 187 614 160T592 126L589 119Q589 118 628 118Q667 119 680 121T698 133Q702 140 706 160T714 196L717 212V215H779V212Q778 211 760 108Q744 5 742 3V0H634H562Q528 0 520 4T512 26Q512 92 555 238T598 458Q598 645 415 645'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js new file mode 100644 index 00000000..c36b40ee --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js @@ -0,0 +1,50 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/Latin1Supplement.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // DIAERESIS + 0xA8: [695,-535,575,96,478,'96 615Q96 650 120 672T178 695Q214 693 234 669T255 615Q255 583 232 559T176 535Q147 535 122 556T96 615ZM319 615Q319 651 343 673T399 695Q426 695 452 675T478 615Q478 578 454 557T395 535Q364 537 342 559T319 615'], + + // NOT SIGN + 0xAC: [371,-61,767,64,703,'680 371Q683 369 688 366T695 361T698 356T701 346T701 332T702 308V216Q702 196 702 168T703 130Q703 90 697 76T671 61Q650 61 643 81Q641 86 641 198V310H364L87 311Q64 319 64 341Q64 362 84 369Q89 371 385 371H680'], + + // MACRON + 0xAF: [607,-540,575,80,494,'80 540V607H494V540H80'], + + // DEGREE SIGN + 0xB0: [702,-535,575,160,414,'160 618Q160 653 193 677T279 702H284Q381 702 407 647Q414 634 414 618Q414 607 410 596T395 570T355 546T287 536T220 545T181 568T165 594T160 618ZM352 618Q352 645 341 652T301 659H292Q286 659 278 659T268 660Q247 660 236 653T224 638T222 619Q222 591 234 585T287 578Q315 578 326 580T345 590T352 618'], + + // PLUS-MINUS SIGN + 0xB1: [728,35,894,64,829,'64 328T64 346T87 377H416V542L417 707Q431 728 443 728Q467 728 475 709Q477 704 477 540V377H807Q808 376 811 374T817 370T823 365T827 358T829 347Q829 326 807 317L642 316H477V25H807Q808 24 811 22T817 18T823 13T827 6T829 -5Q829 -26 807 -35H87Q64 -24 64 -6T87 25H416V316H251L87 317Q64 328 64 346'], + + // ACUTE ACCENT + 0xB4: [706,-503,575,236,460,'391 706Q419 706 439 683T460 634Q460 608 441 593T366 550Q356 545 351 543L275 503L256 527Q236 552 237 553Q242 558 292 620Q299 629 309 641T324 659T336 673T346 685T354 693T363 699T371 703T380 705T391 706'], + + // MULTIPLICATION SIGN + 0xD7: [530,28,894,168,726,'168 500Q168 515 178 522T195 530H198Q207 530 218 521T282 458Q312 428 331 409L447 294L563 409Q674 520 682 525Q687 529 695 529Q711 529 718 520T726 499V498Q726 489 720 481T666 427Q631 392 606 367L490 251L606 135Q717 23 721 17T726 2Q726 -9 719 -18T695 -28H692Q685 -28 674 -18T608 47Q581 74 563 92L447 207L331 91Q217 -22 208 -27Q206 -28 203 -28H197Q168 -28 168 2Q168 13 178 24T288 135L404 250L288 366Q177 479 173 485T168 500'], + + // DIVISION SIGN + 0xF7: [597,96,894,64,828,'344 495Q344 535 372 566T447 597Q490 597 519 566T548 495Q548 452 518 423T446 393Q404 393 374 423T344 495ZM87 221Q64 230 64 251T84 279Q89 281 448 281H806Q807 280 810 278T816 274T822 269T826 262T828 251Q828 230 806 221H87ZM344 -36T344 6T373 78T446 108Q487 108 517 79T548 6Q548 -35 519 -65T446 -96Q406 -96 375 -66'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/Latin1Supplement.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js new file mode 100644 index 00000000..13b8d006 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/LatinExtendedA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [452,8,394,24,367,'24 296Q24 305 34 328T63 380T115 430T187 452Q205 452 223 448T262 435T295 406T308 360Q308 345 287 290T240 170T207 87Q202 67 202 57Q202 42 215 42Q235 42 257 64Q288 92 302 140Q307 156 310 159T330 162H336H347Q367 162 367 148Q367 140 357 117T329 65T276 14T201 -8Q158 -8 121 15T83 84Q83 104 133 229T184 358Q189 376 189 388Q189 402 177 402Q156 402 134 380Q103 352 89 304Q84 288 81 285T61 282H55H44Q24 282 24 296'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js new file mode 100644 index 00000000..f6ec6bea --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/LatinExtendedB.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // LATIN SMALL LETTER DOTLESS J + 0x237: [451,201,439,-12,420,'297 360T297 373T294 392T288 400T278 401H276Q237 398 200 363Q181 343 170 325T156 299T149 287T129 282H123H116Q102 282 97 284T92 298Q93 303 98 315T118 349T151 390T201 427T267 451H279Q357 451 388 422T420 354V339L370 138Q321 -60 317 -69Q287 -157 163 -194Q133 -201 99 -201Q39 -201 14 -178T-12 -125Q-12 -94 11 -69T68 -43Q93 -43 108 -57T123 -95Q123 -121 100 -151H104Q131 -151 155 -125T193 -60Q195 -54 244 141T294 345Q297 360 297 373'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/LatinExtendedB.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js new file mode 100644 index 00000000..b34e1382 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/LetterlikeSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // stix-/hbar - Planck's over 2pi + 0x210F: [694,8,668,45,642,'477 56Q477 48 479 46T490 43Q522 45 544 75T577 140Q582 156 585 159T605 162H611H622Q642 162 642 148Q642 138 632 114T602 62T550 13T478 -8Q429 -8 394 17T358 83Q358 95 395 199T433 350Q433 400 394 400H388H383Q335 400 291 363Q256 332 236 298Q233 293 202 170T169 40Q160 18 141 5T99 -8Q70 -8 58 9T45 39Q45 51 116 336L167 540H80V607H184L188 622H184Q183 622 179 622T169 623T157 624T146 624T136 624T131 625Q119 628 119 642Q119 647 123 661T129 679Q133 684 142 685T220 690Q293 694 307 694Q324 694 328 679Q328 673 311 607H494V540H294Q286 507 278 473T264 420L260 403Q260 400 269 408Q327 451 393 451H401H410Q425 451 439 450T476 442T515 424T544 391T556 337Q556 286 517 179T477 56'], + + // BLACK-LETTER CAPITAL I + 0x2111: [702,8,831,64,798,'65 502Q65 564 99 611T174 680T250 701Q251 701 257 701T269 702Q319 702 374 680T466 633T542 578T592 542L602 538L621 537Q669 537 695 542T725 550T730 560Q732 570 736 572T756 575H764H777Q798 575 798 559Q798 535 780 519Q762 500 727 493T622 486Q532 486 483 504T386 572Q382 576 371 588T355 603T341 616T327 628T313 637T298 645T282 649T264 651Q215 651 174 609T132 501Q132 434 184 393T312 347Q327 346 330 343T333 322T330 301T312 296Q276 296 236 307T157 341T91 406T65 502ZM406 314Q406 351 427 378T480 418T541 437T598 443Q645 443 655 442Q722 435 760 407T798 338Q798 326 794 324T772 321H764Q739 321 734 325T729 341T717 365Q690 392 618 392H611Q586 392 572 366Q561 345 561 315Q561 291 577 275Q595 260 643 241T706 211Q747 186 747 140Q747 78 696 39Q667 15 617 1Q578 -8 480 -8H439Q379 -8 345 5T228 74Q182 105 152 119T86 137Q71 138 68 142T64 164Q64 175 64 177T68 184T78 188T99 188H151L226 187L238 185Q275 176 305 158T376 106T443 54Q478 31 489 31H490Q494 32 500 34T524 43T554 62T579 92T593 135Q593 162 575 179T533 204T479 225T432 255Q406 278 406 314'], + + // SCRIPT SMALL L + 0x2113: [702,19,474,-1,446,'245 -19Q228 -19 212 -16T184 -6T162 9T143 27T129 46T118 66T111 84T106 99T102 111L101 116L69 89L36 62Q31 60 24 62Q-1 88 -1 98Q-1 101 1 105Q1 106 73 170L95 189V197Q95 242 112 317T159 476T241 624T353 701Q357 702 367 702Q428 702 444 641Q446 630 446 606Q446 454 241 246L215 220L212 203Q203 150 203 114Q203 113 203 106T204 95T205 82T209 67T214 54T223 43T236 35T253 32Q277 32 305 44T352 70T389 98T407 112Q409 113 412 113Q420 113 432 95Q445 77 443 70Q440 64 416 44T342 3T245 -19ZM387 615Q387 651 366 651Q342 651 321 604T276 470L241 331Q246 331 280 373T350 486T387 615'], + + // SCRIPT CAPITAL P + 0x2118: [461,210,740,72,726,'399 159Q410 159 421 151T433 126Q433 104 410 85Q408 84 410 78Q411 72 414 66T428 51T455 43Q483 43 506 55T543 83T568 125T584 166T594 206Q595 211 596 214Q610 273 610 301Q610 365 542 365H538Q483 365 429 344T337 292T269 229T225 175T210 150L255 99Q261 92 274 78T292 58T305 41T316 22T321 3T324 -23Q324 -87 283 -148T174 -210H171Q161 -210 152 -209T128 -201T101 -180T81 -141T72 -78Q72 -72 72 -60T73 -45Q79 4 102 65L108 81Q84 117 84 167Q84 273 140 367T269 461Q285 461 285 447Q285 440 282 431Q278 418 276 415T264 410Q228 404 201 336T174 219Q174 218 176 202L184 214Q252 303 348 360T549 417Q614 417 658 391T719 317Q726 292 726 260Q726 148 646 70T451 -8Q407 -8 377 17T346 92Q346 159 396 159H399ZM178 -160Q200 -160 216 -132T232 -75Q232 -63 228 -56T203 -26Q196 -18 192 -14Q185 -5 176 5T161 20T156 27L153 28Q151 28 146 8T137 -42T132 -89Q132 -160 178 -160'], + + // BLACK-LETTER CAPITAL R + 0x211C: [711,16,831,42,824,'133 87Q166 34 218 34Q232 34 238 47T247 99Q248 105 248 127Q248 135 248 144T247 169T245 239T243 382Q242 534 241 565T234 612Q219 651 190 651Q168 651 151 630T134 580Q134 565 148 548T178 516T209 468T223 394Q218 243 131 243Q102 243 84 266T64 319Q64 334 69 337T95 340Q117 340 121 337T126 317Q127 294 133 294Q140 294 146 318Q150 339 150 382L151 413Q141 437 103 485T64 572Q64 623 100 662T197 702Q235 702 273 684T339 634Q407 702 610 710Q615 710 630 710T651 711Q673 711 677 709Q682 706 753 578T824 444Q824 437 817 432Q799 420 758 399T686 361T654 344T657 289T665 177T670 115Q676 78 708 46L735 69Q762 93 769 93L807 73Q812 68 812 62Q812 57 805 51T759 18L710 -16H680H669Q617 -16 573 17Q527 52 515 114Q514 118 508 218T501 326V330H397V281Q397 197 384 135T327 28Q281 -16 223 -16H220Q180 -16 151 -7T107 18T86 46T78 68L74 67Q64 67 53 78T42 97Q42 106 51 109T60 114V119Q60 120 60 122L59 124Q59 129 64 135T78 149T91 160Q102 163 109 155Q115 133 119 133Q124 133 137 123T150 102Q150 98 146 94Q144 90 133 87ZM664 419L540 644H535Q517 644 487 637Q396 621 371 582L376 571Q396 512 397 435V392H494Q598 393 610 396Q611 397 615 398Q626 401 645 409T664 419'], + + // ALEF SYMBOL + 0x2135: [694,0,703,64,638,'590 427Q581 427 579 433T575 450T568 470V468L532 288L541 281Q620 220 634 165L637 154V124Q637 74 628 46Q623 32 612 16T592 0Q580 0 578 19T569 69T538 121Q532 126 385 240T236 355Q234 355 231 338T225 291T222 237Q222 222 223 213T225 201T228 195T231 190Q238 179 261 160T300 119T316 73Q316 41 291 23T231 1Q226 0 149 0H98Q73 0 69 3T64 24Q64 43 67 47T85 51H89Q119 51 134 55T152 64T154 76Q154 95 125 141T96 220Q96 243 104 270T123 319T145 360T164 391T172 404T150 421T102 468T68 529L65 541V570Q65 620 74 648Q79 664 91 679T111 694Q122 694 123 675T132 625T164 573Q168 569 319 452T471 335Q471 337 486 409T502 488Q502 489 491 493T467 511T448 546V573Q448 602 452 624T462 659T474 680T486 691T493 694Q499 694 502 691T507 682T513 673Q517 667 534 651T557 630Q558 629 590 616T631 587Q638 577 638 543Q637 489 622 458T590 427'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Main.js new file mode 100644 index 00000000..9a74211d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/Main.js @@ -0,0 +1,217 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'] = { + directory: 'Main/Bold', + family: 'MathJax_Main', + id: 'MJMAINB', + weight: 'bold', + skew: { + 0x131: 0.0319, + 0x237: 0.0958, + 0x210F: -0.0319, + 0x2113: 0.128, + 0x2202: 0.0958 + }, + Ranges: [ + [0x20,0x7F,"BasicLatin"], + [0xA0,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x20D0,0x20FF,"CombDiactForSymbols"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2190,0x21FF,"Arrows"], + [0x2200,0x22FF,"MathOperators"], + [0x2300,0x23FF,"MiscTechnical"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x27C0,0x27EF,"MiscMathSymbolsA"], + [0x27F0,0x27FF,"SupplementalArrowsA"], + [0x2A00,0x2AFF,"SuppMathOperators"] + ], + + // LEFT PARENTHESIS + 0x28: [750,249,447,103,382,'103 166T103 251T121 412T165 541T225 639T287 708T341 750H356H361Q382 750 382 736Q382 732 365 714T323 661T274 576T232 439T214 250Q214 -62 381 -229Q382 -231 382 -234Q382 -249 360 -249H356H341Q314 -231 287 -207T226 -138T165 -41T121 89'], + + // RIGHT PARENTHESIS + 0x29: [751,249,447,64,344,'231 251Q231 354 214 439T173 575T123 661T81 714T64 735Q64 744 73 749H75Q77 749 79 749T84 750T90 750H105Q132 732 159 708T220 639T281 542T325 413T343 251T325 89T281 -40T221 -138T159 -207T105 -249H90Q80 -249 76 -249T68 -245T64 -234Q64 -230 81 -212T123 -160T172 -75T214 61T231 251'], + + // PLUS SIGN + 0x2B: [633,131,894,64,829,'64 232T64 250T87 281H416V444Q416 608 418 612Q426 633 446 633T475 613Q477 608 477 444V281H807Q808 280 811 278T817 274T823 269T827 262T829 251Q829 230 807 221L642 220H477V57Q477 -107 475 -112Q468 -131 446 -131Q425 -131 418 -112Q416 -107 416 57V220H251L87 221Q64 232 64 250'], + + // COMMA + 0x2C: [171,194,319,74,258,'74 85Q74 120 97 145T159 171Q200 171 226 138Q258 101 258 37Q258 -5 246 -44T218 -109T183 -155T152 -184T135 -194Q129 -194 118 -183T106 -164Q106 -157 115 -149Q121 -145 130 -137T161 -100T195 -35Q197 -28 200 -17T204 3T205 11T199 9T183 3T159 0Q120 0 97 26T74 85'], + + // FULL STOP + 0x2E: [171,-1,319,74,245,'74 85Q74 121 99 146T156 171Q200 171 222 143T245 85Q245 56 224 29T160 1Q118 1 96 27T74 85'], + + // SOLIDUS + 0x2F: [750,250,575,64,510,'451 730Q460 750 479 750Q492 750 501 740T510 718Q508 708 318 244L122 -232Q112 -250 95 -250Q82 -250 73 -241T64 -218Q66 -205 258 261T451 730'], + + // DIGIT ZERO + 0x30: [654,10,575,45,529,'266 654H280H282Q500 654 524 418Q529 370 529 320Q529 125 456 52Q397 -10 287 -10Q110 -10 63 154Q45 212 45 316Q45 504 113 585Q140 618 185 636T266 654ZM374 548Q347 604 286 604Q247 604 218 575Q197 552 193 511T188 311Q188 159 196 116Q202 87 225 64T287 41Q339 41 367 87Q379 107 382 152T386 329Q386 518 374 548'], + + // DIGIT ONE + 0x31: [655,0,575,80,494,'481 0L294 3Q136 3 109 0H96V62H227V304Q227 546 225 546Q169 529 97 529H80V591H97Q231 591 308 647L319 655H333Q355 655 359 644Q361 640 361 351V62H494V0H481'], + + // DIGIT TWO + 0x32: [654,0,575,57,517,'175 580Q175 578 185 572T205 551T215 510Q215 467 191 449T137 430Q107 430 83 448T58 511Q58 558 91 592T168 640T259 654Q328 654 383 637Q451 610 484 563T517 459Q517 401 482 360T368 262Q340 243 265 184L210 140H274Q416 140 429 145Q439 148 447 186T455 237H517V233Q516 230 501 119Q489 9 486 4V0H57V25Q57 51 58 54Q60 57 109 106T215 214T288 291Q364 377 364 458Q364 515 328 553T231 592Q214 592 201 589T181 584T175 580'], + + // DIGIT THREE + 0x33: [655,11,575,47,526,'80 503Q80 565 133 610T274 655Q366 655 421 623T491 538Q493 528 493 510Q493 446 453 407T361 348L376 344Q452 324 489 281T526 184Q526 152 514 121T474 58T392 8T265 -11Q175 -11 111 34T48 152Q50 187 72 209T132 232Q171 232 193 208T216 147Q216 136 214 126T207 108T197 94T187 84T178 77T170 72L168 71Q168 70 179 65T215 54T266 48H270Q331 48 350 105Q358 128 358 185Q358 239 348 268T309 313Q292 321 242 322Q205 322 198 324T191 341V348Q191 366 196 369T232 375Q239 375 247 376T260 377T268 378Q284 383 297 393T326 436T341 517Q341 536 339 547T331 573T308 593T266 600Q248 600 241 599Q214 593 183 576Q234 556 234 503Q234 462 210 444T157 426Q126 426 103 446T80 503'], + + // DIGIT FOUR + 0x34: [656,0,575,32,542,'531 0Q510 3 381 3Q238 3 214 0H201V62H313V155H32V217L205 434Q342 606 362 630T387 655L391 656Q395 656 401 656T414 656H427Q447 656 451 645Q453 641 453 429V217H542V155H453V62H542V0H531ZM324 217V494L103 218L213 217H324'], + + // DIGIT FIVE + 0x35: [655,11,575,57,517,'100 565V605Q100 637 102 646T113 655Q116 655 139 647T202 631T286 623Q332 623 372 631T434 647T459 655Q466 655 469 651T472 643T472 629Q472 613 463 601Q370 487 219 487Q195 487 183 488T169 490T168 433V376Q169 376 174 379T188 387T211 397T244 405T288 409Q390 409 453 352T517 201Q517 106 445 48T253 -11Q169 -11 113 37T57 154Q57 187 79 208T131 229T183 209T206 154Q206 99 155 83Q152 82 157 78Q196 47 253 47Q347 47 358 135Q358 137 358 138Q360 158 360 209Q360 277 355 301T337 338Q315 358 282 358Q202 358 160 303Q153 294 149 292T130 290Q107 290 102 301Q100 304 100 474V565'], + + // DIGIT SIX + 0x36: [655,11,575,48,526,'48 318Q48 395 68 456T120 553T193 613T273 646T350 655Q425 655 461 616T497 524Q497 485 475 468T428 451Q399 451 378 470T357 521Q357 565 403 588Q375 601 351 601Q313 601 282 584Q242 565 222 526Q199 473 199 367Q201 369 210 380T227 396T246 410T275 422T312 426Q438 426 494 332Q526 285 526 208V199Q526 112 465 53Q428 17 388 3T285 -11Q236 -11 195 7T135 43T104 80Q48 165 48 318ZM375 231V244V268Q375 295 373 310T364 342T341 366T299 374H297Q231 374 208 287Q200 257 200 196Q201 120 209 100Q231 47 288 47Q351 47 368 90Q375 112 375 231'], + + // DIGIT SEVEN + 0x37: [676,11,575,64,558,'256 -11Q231 -11 208 5T185 65Q185 105 193 146T212 220T241 289T275 349T312 402T346 445T377 479T397 502L400 504H301Q156 503 150 497Q142 491 134 456T126 407H64V411Q65 414 82 544T99 675T130 676H161V673Q161 669 162 666T167 661T173 657T181 654T190 652T200 651T210 650T220 649T229 648Q237 648 254 647T276 646Q277 646 426 644H558V620V607Q558 596 551 586T509 537Q489 515 476 500Q390 401 384 393Q349 339 337 259T324 113T322 38Q307 -11 256 -11'], + + // DIGIT EIGHT + 0x38: [654,11,575,48,526,'80 474Q80 561 139 607T278 654Q357 654 411 632Q490 593 494 509Q494 424 416 376L407 371L418 364Q432 356 447 345T481 312T513 260T526 192Q526 100 461 45T285 -11Q184 -11 116 32T48 164Q48 181 50 196T58 225T69 249T84 270T100 286T117 300T134 311T149 321T162 329L152 336Q120 360 100 397T80 474ZM347 404Q404 446 404 503Q404 579 317 599Q309 600 276 600Q178 600 170 538Q170 532 171 527T173 518T178 509T184 501T194 492T205 484T219 476T235 467T254 456T275 445L347 404ZM289 47Q323 47 351 54T402 82T425 137Q425 147 421 161Q411 183 391 197T303 249Q224 293 223 293Q220 291 215 288T197 273T175 248T157 213T149 167Q149 109 188 78T289 47'], + + // DIGIT NINE + 0x39: [654,11,575,48,526,'178 59Q206 48 238 48Q311 48 345 102Q370 138 375 259V278Q374 278 369 271T350 252T322 232Q297 220 258 220Q172 220 110 275T48 438V446Q54 561 146 618Q199 654 278 654Q321 654 329 653Q526 621 526 330Q526 252 507 190T457 92T388 31T312 -2T240 -11Q165 -11 121 25T77 120Q77 159 99 176T147 193T194 177T217 122Q217 113 216 106T211 92T205 82T198 73T191 67T184 62T178 59ZM374 446V465Q374 523 364 552T315 598Q309 600 293 601Q227 601 210 562Q199 539 199 433Q199 343 204 319T235 279Q250 272 274 271H282Q293 271 303 274T327 288T353 323T371 385Q374 403 374 446'], + + // COLON + 0x3A: [444,-1,319,74,245,'74 359Q74 394 98 419T158 444Q200 444 222 417T245 358Q245 329 224 302T160 274Q116 274 95 301T74 359ZM74 85Q74 121 99 146T156 171Q200 171 222 143T245 85Q245 56 224 29T160 1Q118 1 96 27T74 85'], + + // SEMICOLON + 0x3B: [444,194,319,74,248,'74 359Q74 394 98 419T158 444Q200 444 222 417T245 358Q245 329 224 302T160 274Q116 274 95 301T74 359ZM74 50T74 86T97 146T158 171Q204 171 226 132T248 38Q248 -23 223 -80T171 -165T135 -194Q129 -194 118 -183T106 -164Q106 -163 106 -160L107 -158Q108 -155 121 -142T150 -107T177 -58Q189 -32 194 3Q195 6 193 6Q172 0 158 0Q121 0 98 25'], + + // LESS-THAN SIGN + 0x3C: [587,85,894,96,797,'797 -56Q797 -68 790 -76T767 -85H759L434 70Q108 226 105 229Q96 238 96 250Q96 263 105 272Q109 276 271 354T595 508T757 585Q763 587 766 587Q780 587 788 578T797 556Q797 544 788 535Q784 531 490 391L197 251Q213 242 359 173T644 37T788 -34Q797 -43 797 -56'], + + // EQUALS SIGN + 0x3D: [393,-109,894,64,829,'87 333Q64 343 64 362Q64 383 84 391Q89 393 448 393H807Q808 392 811 390T817 386T823 381T827 374T829 363Q829 345 807 333H87ZM87 109Q64 118 64 139Q64 159 86 168Q89 169 448 169H807L812 166Q816 163 818 162T823 157T827 149T829 139Q829 118 807 109H87'], + + // GREATER-THAN SIGN + 0x3E: [587,85,894,96,797,'127 -85Q110 -85 103 -75T96 -55Q96 -41 106 -34Q119 -24 308 65Q361 90 411 114L696 250L427 379Q106 533 103 537Q96 545 96 557Q96 568 104 577T128 587Q137 586 460 431T788 272Q797 263 797 250Q797 238 788 229Q785 226 459 70L135 -85H127'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,319,128,293,'128 -250V750H293V689H189V-189H293V-250H128'], + + // REVERSE SOLIDUS + 0x5C: [750,250,575,63,511,'64 718Q63 731 72 740T94 750Q106 750 113 743Q118 741 122 732L318 256Q508 -208 510 -218Q511 -231 502 -240T480 -250Q460 -250 451 -230Q451 -229 259 238T64 718'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,319,25,190,'25 689V750H190V-250H25V-189H129V689H25'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-520,575,126,449,'207 632L287 694Q289 693 368 632T448 570T431 545T413 520Q410 520 350 559L287 597L224 559Q164 520 161 520Q160 520 143 544T126 570T207 632'], + + // LATIN SMALL LETTER A + 0x61: [453,6,559,32,558,'64 349Q64 399 107 426T255 453Q346 453 402 423T473 341Q478 327 478 310T479 196V77Q493 63 529 62Q549 62 553 57T558 31Q558 9 552 5T514 0H497H481Q375 0 367 56L356 46Q300 -6 210 -6Q130 -6 81 30T32 121Q32 188 111 226T332 272H350V292Q350 313 348 327T337 361T306 391T248 402T194 399H189Q204 376 204 354Q204 327 187 306T134 284Q97 284 81 305T64 349ZM164 121Q164 89 186 67T238 45Q274 45 307 63T346 108L350 117V226H347Q248 218 206 189T164 121'], + + // LATIN SMALL LETTER B + 0x62: [694,6,639,29,600,'32 686L123 690Q214 694 215 694H221V409Q289 450 378 450Q479 450 539 387T600 221Q600 122 535 58T358 -6H355Q272 -6 203 53L160 1L129 0H98V301Q98 362 98 435T99 525Q99 591 97 604T83 620Q69 624 42 624H29V686H32ZM227 105L232 99Q237 93 242 87T258 73T280 59T306 49T339 45Q380 45 411 66T451 131Q457 160 457 230Q457 264 456 284T448 329T430 367T396 389T343 398Q282 398 235 355L227 348V105'], + + // LATIN SMALL LETTER C + 0x63: [453,6,511,39,478,'447 131H458Q478 131 478 117Q478 112 471 95T439 51T377 9Q330 -6 286 -6Q196 -6 135 35Q39 96 39 222Q39 324 101 384Q169 453 286 453Q359 453 411 431T464 353Q464 319 445 302T395 284Q360 284 343 305T325 353Q325 380 338 396H333Q317 398 295 398H292Q280 398 271 397T245 390T218 373T197 338T183 283Q182 275 182 231Q182 199 184 180T193 132T220 85T270 57Q289 50 317 50H326Q385 50 414 115Q419 127 423 129T447 131'], + + // LATIN SMALL LETTER D + 0x64: [694,6,639,38,609,'351 686L442 690Q533 694 534 694H540V389Q540 327 540 253T539 163Q539 97 541 83T555 66Q569 62 596 62H609V31Q609 0 608 0Q588 0 510 -3T412 -6Q411 -6 411 16V38L401 31Q337 -6 265 -6Q159 -6 99 58T38 224Q38 265 51 303T92 375T165 429T272 449Q359 449 417 412V507V555Q417 597 415 607T402 620Q388 624 361 624H348V686H351ZM411 350Q362 399 291 399Q278 399 256 392T218 371Q195 351 189 320T182 238V221Q182 179 183 159T191 115T212 74Q241 46 288 46Q358 46 404 100L411 109V350'], + + // LATIN SMALL LETTER E + 0x65: [452,6,527,32,494,'32 225Q32 332 102 392T272 452H283Q382 452 436 401Q494 343 494 243Q494 226 486 222T440 217Q431 217 394 217T327 218H175V209Q175 177 179 154T196 107T236 69T306 50Q312 49 323 49Q376 49 410 85Q421 99 427 111T434 127T442 133T463 135H468Q494 135 494 117Q494 110 489 97T468 66T431 32T373 5T292 -6Q181 -6 107 55T32 225ZM383 276Q377 346 348 374T280 402Q253 402 230 390T195 357Q179 331 176 279V266H383V276'], + + // LATIN SMALL LETTER F + 0x66: [700,0,351,40,453,'308 0Q290 3 172 3Q58 3 49 0H40V62H109V382H42V444H109V503L110 562L112 572Q127 625 178 658T316 699Q318 699 330 699T348 700Q381 698 404 687T436 658T449 629T452 606Q452 576 432 557T383 537Q355 537 335 555T314 605Q314 635 328 649H325Q311 649 293 644T253 618T227 560Q226 555 226 498V444H340V382H232V62H318V0H308'], + + // LATIN SMALL LETTER G + 0x67: [455,201,575,30,559,'50 300Q50 368 105 409T255 450Q328 450 376 426L388 420Q435 455 489 455Q517 455 533 441T554 414T558 389Q558 367 544 353T508 339Q484 339 471 354T458 387Q458 397 462 400Q464 401 461 400Q459 400 454 399Q429 392 427 390Q454 353 459 328Q461 315 461 300Q461 240 419 202Q364 149 248 149Q185 149 136 172Q129 158 129 148Q129 105 170 93Q176 91 263 91Q273 91 298 91T334 91T366 89T400 85T432 77T466 64Q544 22 544 -69Q544 -114 506 -145Q438 -201 287 -201Q149 -201 90 -161T30 -70Q30 -58 33 -47T42 -27T54 -13T69 -1T82 6T94 12T101 15Q66 57 66 106Q66 151 90 187L97 197L89 204Q50 243 50 300ZM485 403H492Q491 404 488 404L485 403V403ZM255 200Q279 200 295 206T319 219T331 242T335 268T336 300Q336 337 333 352T317 380Q298 399 255 399Q228 399 211 392T187 371T178 345T176 312V300V289Q176 235 194 219Q215 200 255 200ZM287 -150Q357 -150 400 -128T443 -71Q443 -65 442 -61T436 -50T420 -37T389 -27T339 -21L308 -20Q276 -20 253 -20Q190 -20 180 -20T156 -26Q130 -38 130 -69Q130 -105 173 -127T287 -150'], + + // LATIN SMALL LETTER H + 0x68: [694,0,639,37,623,'40 686L131 690Q222 694 223 694H229V533L230 372L238 381Q248 394 264 407T317 435T398 450Q428 450 448 447T491 434T529 402T551 346Q553 335 554 198V62H623V0H614Q596 3 489 3Q374 3 365 0H356V62H425V194V275Q425 348 416 373T371 399Q326 399 288 370T238 290Q236 281 235 171V62H304V0H295Q277 3 171 3Q64 3 46 0H37V62H106V332Q106 387 106 453T107 534Q107 593 105 605T91 620Q77 624 50 624H37V686H40'], + + // LATIN SMALL LETTER I + 0x69: [695,0,319,40,294,'72 610Q72 649 98 672T159 695Q193 693 217 670T241 610Q241 572 217 549T157 525Q120 525 96 548T72 610ZM46 442L136 446L226 450H232V62H294V0H286Q271 3 171 3Q67 3 49 0H40V62H109V209Q109 358 108 362Q103 380 55 380H43V442H46'], + + // LATIN SMALL LETTER J + 0x6A: [695,200,351,-71,274,'104 610Q104 649 130 672T191 695Q225 693 249 670T273 610Q273 572 249 549T189 525Q152 525 128 548T104 610ZM78 442L173 446L268 450H274V196Q274 -5 274 -37T269 -83Q256 -132 201 -166T71 -200Q10 -200 -30 -173T-71 -102Q-71 -70 -51 -51T-1 -31Q27 -31 48 -49T69 -100Q69 -121 53 -147H56Q66 -149 77 -149H80Q90 -149 100 -146T127 -125T149 -73Q151 -55 151 149V362Q150 364 148 366T145 370T142 373T138 375T133 377T124 378T113 379T97 380H75V442H78'], + + // LATIN SMALL LETTER K + 0x6B: [694,0,607,29,587,'32 686L123 690Q214 694 215 694H221V255L377 382H346V444H355Q370 441 476 441Q544 441 556 444H562V382H476L347 277L515 62H587V0H579Q564 3 476 3Q370 3 352 0H343V62H358L373 63L260 206L237 189L216 172V62H285V0H277Q259 3 157 3Q46 3 37 0H29V62H98V332Q98 387 98 453T99 534Q99 593 97 605T83 620Q69 624 42 624H29V686H32'], + + // LATIN SMALL LETTER L + 0x6C: [694,0,319,40,301,'43 686L134 690Q225 694 226 694H232V62H301V0H292Q274 3 170 3Q67 3 49 0H40V62H109V332Q109 387 109 453T110 534Q110 593 108 605T94 620Q80 624 53 624H40V686H43'], + + // LATIN SMALL LETTER M + 0x6D: [450,0,958,37,942,'40 442Q217 450 218 450H224V365Q226 367 235 378T254 397T278 416T314 435T362 448Q376 450 400 450H406Q503 450 534 393Q545 376 545 370Q545 368 555 379Q611 450 716 450Q774 450 809 434Q850 414 861 379T873 276V213V198V62H942V0H933Q915 3 809 3Q702 3 684 0H675V62H744V194V275Q744 348 735 373T690 399Q645 399 607 370T557 290Q555 281 554 171V62H623V0H614Q596 3 489 3Q374 3 365 0H356V62H425V194V275Q425 348 416 373T371 399Q326 399 288 370T238 290Q236 281 235 171V62H304V0H295Q277 3 171 3Q64 3 46 0H37V62H106V210V303Q106 353 104 363T91 376Q77 380 50 380H37V442H40'], + + // LATIN SMALL LETTER N + 0x6E: [450,0,639,37,623,'40 442Q217 450 218 450H224V407L225 365Q233 378 245 391T289 422T362 448Q374 450 398 450Q428 450 448 447T491 434T529 402T551 346Q553 335 554 198V62H623V0H614Q596 3 489 3Q374 3 365 0H356V62H425V194V275Q425 348 416 373T371 399Q326 399 288 370T238 290Q236 281 235 171V62H304V0H295Q277 3 171 3Q64 3 46 0H37V62H106V210V303Q106 353 104 363T91 376Q77 380 50 380H37V442H40'], + + // LATIN SMALL LETTER O + 0x6F: [453,5,575,32,542,'287 -5Q228 -5 182 10T109 48T63 102T39 161T32 219Q32 272 50 314T94 382T154 423T214 446T265 452H279Q319 452 326 451Q428 439 485 376T542 221Q542 156 514 108T442 33Q384 -5 287 -5ZM399 230V250Q399 280 398 298T391 338T372 372T338 392T282 401Q241 401 212 380Q190 363 183 334T175 230Q175 202 175 189T177 153T183 118T195 91T215 68T245 56T287 50Q348 50 374 84Q388 101 393 132T399 230'], + + // LATIN SMALL LETTER P + 0x70: [450,194,639,29,600,'32 442L123 446Q214 450 215 450H221V409Q222 409 229 413T251 423T284 436T328 446T382 450Q480 450 540 388T600 223Q600 128 539 61T361 -6H354Q292 -6 236 28L227 34V-132H296V-194H287Q269 -191 163 -191Q56 -191 38 -194H29V-132H98V113V284Q98 330 97 348T93 370T83 376Q69 380 42 380H29V442H32ZM457 224Q457 303 427 349T350 395Q282 395 235 352L227 345V104L233 97Q274 45 337 45Q383 45 420 86T457 224'], + + // LATIN SMALL LETTER Q + 0x71: [450,194,607,38,609,'38 220Q38 273 54 314T95 380T152 421T211 443T264 449Q368 449 429 386L438 377L484 450H540V-132H609V-194H600Q582 -191 475 -191Q360 -191 351 -194H342V-132H411V42Q409 41 399 34T383 25T367 16T347 7T324 1T296 -4T264 -6Q162 -6 100 56T38 220ZM287 46Q368 46 417 127V301L412 312Q398 347 369 371T302 395Q282 395 263 388T225 362T194 308T182 221Q182 126 214 86T287 46'], + + // LATIN SMALL LETTER R + 0x72: [450,0,474,29,442,'405 293T374 293T324 312T305 361Q305 378 312 394Q315 397 315 399Q305 399 294 394T266 375T238 329T222 249Q221 241 221 149V62H308V0H298Q280 3 161 3Q47 3 38 0H29V62H98V210V303Q98 353 96 363T83 376Q69 380 42 380H29V442H32L118 446Q204 450 205 450H210V414L211 378Q247 449 315 449H321Q384 449 413 422T442 360Q442 332 424 313'], + + // LATIN SMALL LETTER S + 0x73: [453,6,454,37,414,'38 315Q38 339 45 360T70 404T127 440T223 453Q273 453 320 436L338 445L357 453H366Q380 453 383 447T386 403V387V355Q386 331 383 326T365 321H355H349Q333 321 329 324T324 341Q317 406 224 406H216Q123 406 123 353Q123 334 143 321T188 304T244 294T285 286Q305 281 325 273T373 237T412 172Q414 162 414 142Q414 -6 230 -6Q154 -6 117 22L68 -6H58Q44 -6 41 0T38 42V73Q38 85 38 101T37 122Q37 144 42 148T68 153H75Q87 153 91 151T97 147T103 132Q131 46 220 46H230Q257 46 265 47Q330 58 330 108Q330 127 316 142Q300 156 284 162Q271 168 212 178T122 202Q38 243 38 315'], + + // LATIN SMALL LETTER T + 0x74: [635,5,447,21,382,'272 49Q320 49 320 136V145V177H382V143Q382 106 380 99Q374 62 349 36T285 -2L272 -5H247Q173 -5 134 27Q109 46 102 74T94 160Q94 171 94 199T95 245V382H21V433H25Q58 433 90 456Q121 479 140 523T162 621V635H224V444H363V382H224V239V207V149Q224 98 228 81T249 55Q261 49 272 49'], + + // LATIN SMALL LETTER U + 0x75: [450,6,639,37,623,'40 442L134 446Q228 450 229 450H235V273V165Q235 90 238 74T254 52Q268 46 304 46H319Q352 46 380 67T419 121L420 123Q424 135 425 199Q425 201 425 207Q425 233 425 249V316Q425 354 423 363T410 376Q396 380 369 380H356V442L554 450V267Q554 84 556 79Q561 62 610 62H623V31Q623 0 622 0Q603 0 527 -3T432 -6Q431 -6 431 25V56L420 45Q373 6 332 -1Q313 -6 281 -6Q208 -6 165 14T109 87L107 98L106 230Q106 358 104 366Q96 380 50 380H37V442H40'], + + // LATIN SMALL LETTER V + 0x76: [444,4,607,26,580,'401 444Q413 441 495 441Q568 441 574 444H580V382H510L409 156Q348 18 339 6Q331 -4 320 -4Q318 -4 313 -4T303 -3H288Q273 -3 264 12T221 102Q206 135 197 156L96 382H26V444H34Q49 441 145 441Q252 441 270 444H279V382H231L284 264Q335 149 338 149Q338 150 389 264T442 381Q442 382 418 382H394V444H401'], + + // LATIN SMALL LETTER W + 0x77: [444,4,831,25,805,'624 444Q636 441 722 441Q797 441 800 444H805V382H741L593 11Q592 10 590 8T586 4T584 2T581 0T579 -2T575 -3T571 -3T567 -4T561 -4T553 -4H542Q525 -4 518 6T490 70Q474 110 463 137L415 257L367 137Q357 111 341 72Q320 17 313 7T289 -4H277Q259 -4 253 -2T238 11L90 382H25V444H32Q47 441 140 441Q243 441 261 444H270V382H222L310 164L382 342L366 382H303V444H310Q322 441 407 441Q508 441 523 444H531V382H506Q481 382 481 380Q482 376 529 259T577 142L674 382H617V444H624'], + + // LATIN SMALL LETTER X + 0x78: [444,0,607,21,586,'227 0Q212 3 121 3Q40 3 28 0H21V62H117L245 213L109 382H26V444H34Q49 441 143 441Q247 441 265 444H274V382H246L281 339Q315 297 316 297Q320 297 354 341L389 382H352V444H360Q375 441 466 441Q547 441 559 444H566V382H471L355 246L504 63L545 62H586V0H578Q563 3 469 3Q365 3 347 0H338V62H366Q366 63 326 112T285 163L198 63L217 62H235V0H227'], + + // LATIN SMALL LETTER Y + 0x79: [444,200,607,23,580,'84 -102Q84 -110 87 -119T102 -138T133 -149Q148 -148 162 -143T186 -131T206 -114T222 -95T234 -76T243 -59T249 -45T252 -37L269 0L96 382H26V444H34Q49 441 146 441Q252 441 270 444H279V382H255Q232 382 232 380L337 151L442 382H394V444H401Q413 441 495 441Q568 441 574 444H580V382H510L406 152Q298 -84 297 -87Q269 -139 225 -169T131 -200Q85 -200 54 -172T23 -100Q23 -64 44 -50T87 -35Q111 -35 130 -50T152 -92V-100H84V-102'], + + // LATIN SMALL LETTER Z + 0x7A: [445,0,511,32,462,'48 262Q48 264 54 349T60 436V444H252Q289 444 336 444T394 445Q441 445 450 441T459 418Q459 406 458 404Q456 399 327 229T194 55H237Q260 56 268 56T297 58T325 65T348 77T370 98T384 128T395 170Q400 197 400 216Q400 217 431 217H462V211Q461 208 453 108T444 6V0H245Q46 0 43 2Q32 7 32 28V33Q32 41 40 52T84 112Q129 170 164 217L298 393H256Q189 392 165 380Q124 360 115 303Q110 280 110 256Q110 254 79 254H48V262'], + + // LEFT CURLY BRACKET + 0x7B: [750,250,575,69,505,'504 -207T504 -225T500 -246T476 -250H469Q257 -250 227 -145L225 -135L224 0Q224 15 224 30T224 59T224 84T224 106T223 122T223 133V137Q222 138 221 144T213 162T195 185Q171 206 141 215Q123 222 107 223T84 225T74 229T70 250T73 270T83 276T106 276T141 285Q171 294 195 315Q201 321 206 328T214 341T219 352T222 360L223 363V367Q223 371 223 378T223 394T224 415T224 441T224 470T224 501L225 636Q249 739 426 749Q428 749 443 749T466 750H473Q495 750 499 747T504 725T501 704T480 699Q381 693 357 645Q352 634 351 617T350 497V412Q350 350 338 329Q325 303 298 284T251 258T227 251Q226 251 226 250L227 249Q231 248 238 246T265 236T299 217T329 184T349 137Q350 131 350 3T352 -130Q358 -160 392 -178T480 -199Q497 -200 500 -203'], + + // VERTICAL LINE + 0x7C: [750,249,319,129,190,'160 -249Q138 -249 129 -225V250Q129 725 131 729Q139 750 159 750T190 725V-225Q181 -249 160 -249'], + + // RIGHT CURLY BRACKET + 0x7D: [750,250,575,70,505,'70 726Q71 744 74 747T99 750H106Q323 750 349 636L350 501Q350 486 350 470T350 441T350 416T350 394T351 378T351 367V363Q352 362 353 356T361 338T379 315Q403 294 433 285Q451 278 467 277T490 275T500 271T504 250T501 230T491 224T468 224T433 215Q403 206 379 185Q373 179 368 172T360 159T355 148T352 140L351 137V133Q351 129 351 122T351 106T350 85T350 59T350 31T350 0L349 -135L347 -145Q317 -250 106 -250H99Q79 -250 75 -247T70 -226Q70 -208 73 -204T95 -199Q193 -193 217 -145Q222 -134 223 -117T224 3Q224 20 224 48T223 86Q223 145 237 175T301 232Q335 249 347 249Q348 249 348 250L347 251Q343 252 336 254T309 264T275 284T245 316T225 363Q224 369 224 497T222 631Q216 660 182 678T95 699Q77 700 74 704T70 726'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js new file mode 100644 index 00000000..08c6a6e3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js @@ -0,0 +1,227 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MathOperators.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // FOR ALL + 0x2200: [694,16,639,0,640,'1 664Q-2 685 23 693H27Q46 693 54 680T102 578L148 475H492L533 570Q541 586 548 603T560 630T569 650T576 667T582 678T588 686T594 691T600 693T609 694Q622 694 631 684T639 662Q637 653 492 325T341 -8Q333 -16 320 -16Q306 -16 298 -8Q294 -4 147 326L1 656V664ZM464 414H319Q175 414 175 413L319 88L464 414'], + + // PARTIAL DIFFERENTIAL + 0x2202: [710,17,628,60,657,'230 475Q202 475 189 492T175 526T186 570T221 631T288 687T389 710Q430 710 438 709Q495 701 537 679T601 629T637 568T653 509T657 459Q657 409 640 341Q617 248 581 180T507 75T424 16T348 -11T282 -17Q171 -17 113 37Q60 88 60 159Q60 192 71 231Q96 336 184 402Q264 462 366 462Q407 462 439 448T497 389L502 380Q503 381 508 403T519 463T525 531Q523 580 499 610T447 648T387 657Q324 657 283 616Q271 604 276 604Q279 604 286 600T302 583T311 555Q311 523 287 499T230 475ZM196 110Q196 41 287 41Q351 41 398 88Q422 111 437 151Q473 243 473 298Q473 386 409 409Q408 409 383 411Q316 411 278 373Q265 360 259 351T241 311T217 226Q196 143 196 110'], + + // THERE EXISTS + 0x2203: [694,-1,639,64,574,'81 347Q81 359 84 363T104 378H513V633H300L87 634Q64 642 64 664Q64 685 84 692Q89 694 321 694H552Q571 681 574 669V25Q567 7 552 1H87Q64 12 64 30T87 61H513V317H308Q103 317 99 319Q81 328 81 347'], + + // EMPTY SET + 0x2205: [767,73,575,46,528,'285 711Q307 711 326 708T357 701T370 698Q371 698 375 710T383 735T389 750Q395 767 415 767Q431 767 438 757T446 738T436 701T426 670Q426 668 433 664Q468 633 489 588Q511 542 519 488T528 344Q528 286 524 243T508 150T466 63T394 6Q345 -17 287 -17Q265 -17 246 -14T216 -7T203 -4Q191 -47 183 -60T159 -73Q146 -73 137 -63T128 -44Q128 -38 138 -7L148 24L141 30Q134 35 120 49Q94 77 78 113T56 194T48 268T46 344Q46 388 47 416T56 494T78 577T122 644T194 694Q239 711 285 711ZM351 639Q350 639 346 642T337 648T325 654T306 658T283 660Q254 660 221 638T181 567Q171 513 171 375Q171 164 182 129L351 639ZM402 356Q402 516 395 555Q395 557 395 559T394 563T394 566L393 568L223 57Q252 34 286 34H288Q318 34 346 53T387 109Q402 152 402 329V356'], + + // NABLA + 0x2207: [686,24,958,56,901,'56 673Q56 679 65 686H892Q901 679 901 673Q901 668 714 331T521 -15Q518 -18 506 -24H452Q440 -19 436 -15Q431 -8 337 162T150 501L57 669Q57 670 56 672V673ZM528 136L758 553H297Q298 551 414 341L528 136'], + + // ELEMENT OF + 0x2208: [587,86,767,97,671,'97 251Q97 393 194 484T417 586Q418 586 436 586T482 586T538 587H648Q649 586 652 584T658 580T664 575T668 568T670 557Q670 536 648 527L534 526Q515 526 491 526T457 526T435 526T417 525T404 523T390 521T374 517Q298 498 243 447T167 324Q159 295 159 283Q159 281 403 281H648Q649 280 652 278T658 274T664 269T668 262T670 251Q670 230 648 221L403 220Q159 220 159 218Q159 206 166 182T190 122T247 50T341 -6Q380 -20 405 -22T534 -25H648Q649 -26 654 -29T661 -34T667 -43T670 -56Q670 -74 648 -85L541 -86Q419 -86 396 -82Q276 -65 187 24T97 251'], + + // stix-negated (vert) set membership, variant + 0x2209: [711,210,767,97,671,'126 -210Q116 -210 107 -203T97 -179Q97 -171 99 -166Q99 -165 111 -145T150 -80T203 8Q97 104 97 251Q97 393 194 484T417 586Q418 586 436 586T482 586T538 587H549Q565 614 582 643T608 685L616 698Q623 711 641 711Q651 711 660 704T670 681Q670 672 667 667Q666 666 661 657T644 627T620 587H648Q649 586 652 584T658 580T664 575T668 568T670 557Q670 536 648 527L584 526L437 281H648Q649 280 652 278T658 274T664 269T668 262T670 251Q670 230 648 221L403 220H401L283 23Q311 5 341 -6Q380 -20 405 -22T534 -25H648Q649 -26 654 -29T661 -34T667 -43T670 -56Q670 -74 648 -85L541 -86Q419 -86 396 -82Q320 -71 252 -29Q152 -197 148 -201Q139 -210 126 -210ZM235 62L330 220Q159 219 159 218Q159 196 176 150T235 62ZM366 281L513 526Q503 526 487 526T465 526T448 525T433 525T422 525T412 524T403 523T394 521T385 519T374 517Q298 498 243 447T167 324Q159 295 159 283Q159 281 366 281'], + + // CONTAINS AS MEMBER + 0x220B: [588,86,767,96,670,'96 251Q96 268 119 281H363Q607 281 607 283Q607 295 600 319T576 379T519 451T425 507Q386 521 361 523T233 526L119 527Q96 535 96 557Q96 578 116 585Q121 587 229 587Q238 587 257 587T288 588Q366 588 435 568T568 488Q670 388 670 251Q670 155 621 78T499 -39T345 -85Q336 -86 225 -86L119 -85Q96 -77 96 -55Q96 -38 119 -25H233Q356 -24 371 -21Q373 -21 393 -16Q468 3 523 55T599 177Q607 206 607 218Q607 220 363 220L119 221Q96 229 96 251'], + + // MINUS SIGN + 0x2212: [281,-221,894,96,797,'119 221Q96 230 96 251T116 279Q121 281 448 281H775Q776 280 779 278T785 274T791 269T795 262T797 251Q797 230 775 221H119'], + + // MINUS-OR-PLUS SIGN + 0x2213: [537,227,894,64,829,'64 155Q64 172 87 185H416V476H251L87 477Q64 485 64 507Q64 528 84 535Q89 537 448 537H807Q808 536 811 534T817 530T823 525T827 518T829 507Q829 486 807 477L642 476H477V185H807Q808 184 811 182T817 178T823 173T827 166T829 155Q829 134 807 125L642 124H477V-39Q477 -203 475 -208Q466 -227 446 -227Q427 -227 417 -205L416 -41V124H251L87 125Q64 133 64 155'], + + // DIVISION SLASH + 0x2215: [750,250,575,64,510,'451 730Q460 750 479 750Q492 750 501 740T510 718Q508 708 318 244L122 -232Q112 -250 95 -250Q82 -250 73 -241T64 -218Q66 -205 258 261T451 730'], + + // SET MINUS + 0x2216: [750,250,575,63,511,'64 718Q63 731 72 740T94 750Q106 750 113 743Q118 741 122 732L318 256Q508 -208 510 -218Q511 -231 502 -240T480 -250Q460 -250 451 -230Q451 -229 259 238T64 718'], + + // ASTERISK OPERATOR + 0x2217: [473,-28,575,72,502,'236 431Q237 447 251 459T287 472T323 459T338 431Q338 423 328 363L317 300Q318 300 340 317T392 356T435 387Q442 390 450 390Q470 390 485 374T501 335Q501 326 500 320T494 309T486 300T473 293T458 287T438 280T414 272L353 250L414 228Q422 225 436 221T457 214T472 208T485 201T493 192T499 181T501 166Q501 141 484 126T450 111Q447 111 445 111T441 111T437 112T433 114T428 117T422 121T414 127T404 135T391 145T374 158L317 200L328 137Q338 77 338 69Q336 52 321 40T287 28T253 40T236 69Q236 77 246 137L257 200Q256 200 234 183T182 144T139 113Q132 110 124 110Q104 110 89 126T73 165Q73 174 74 180T80 191T88 200T101 207T116 213T136 220T160 228L221 250L160 272Q152 275 138 279T117 286T102 292T89 299T81 308T75 319T73 334Q73 359 90 374T124 389Q127 389 129 389T133 389T137 388T141 386T146 383T152 379T160 373T170 365T183 355T200 342L257 300L246 363Q236 423 236 431'], + + // RING OPERATOR + 0x2218: [475,-27,575,64,510,'64 251Q64 303 80 344T121 409T175 448T230 469T275 474Q277 474 283 474T292 473Q385 473 447 415T510 251Q510 149 449 89T287 28T126 88T64 251ZM448 251Q448 325 405 369T286 413Q215 413 171 371T126 251Q126 177 168 133T287 89Q361 89 404 132T448 251'], + + // BULLET OPERATOR + 0x2219: [475,-27,575,64,510,'64 251Q64 303 80 344T121 409T175 448T230 469T275 474Q277 474 283 474T292 473Q385 473 447 415T510 251Q510 149 449 89T287 28T126 88T64 251'], + + // SQUARE ROOT + 0x221A: [820,180,958,78,988,'107 178Q100 178 89 188T78 207Q78 216 84 220Q85 221 124 248T207 304T260 338Q269 340 275 335Q276 334 370 156L463 -20L698 393Q928 800 935 811Q944 820 954 820Q972 820 980 811T988 789Q988 781 858 553Q776 409 718 306Q452 -166 447 -171Q439 -179 422 -180Q405 -180 400 -175Q399 -174 346 -73T241 128T187 229L151 205Q111 178 107 178'], + + // PROPORTIONAL TO + 0x221D: [451,8,894,65,830,'65 222Q65 282 88 329T144 401T208 438T261 451H273Q312 451 320 450Q456 431 526 330L537 316Q638 451 778 451Q813 451 830 445V388Q821 391 799 391Q758 391 721 377T660 342T618 301T592 266L584 251Q648 152 697 114Q748 74 804 74H806Q823 74 829 77Q830 77 830 38V-1L820 -3Q801 -7 786 -7H771Q699 -7 632 25T527 114L516 128Q414 -8 276 -8Q192 -8 129 56T65 222ZM256 53Q296 53 332 67T392 102T434 143T461 178L469 193Q405 292 356 330Q308 369 251 369H243Q196 369 156 328T116 221Q116 191 124 161T158 99T225 55Q234 53 256 53'], + + // INFINITY + 0x221E: [452,8,1150,65,1084,'65 219Q65 318 132 385T302 452Q473 452 573 331L589 312L596 320Q710 452 857 452Q948 452 1016 386T1084 225Q1084 125 1017 59T848 -8Q679 -8 576 113L560 132L553 124Q439 -8 292 -8Q200 -8 133 58T65 219ZM1033 224Q1033 291 987 340T875 389Q748 389 648 261Q641 253 642 251Q717 163 748 137Q813 81 880 81Q941 81 987 120T1033 224ZM275 56Q315 56 353 70T418 104T466 144T497 178L507 192Q507 193 474 230T441 269Q355 362 267 362Q210 362 163 324T116 221Q116 150 162 103T275 56'], + + // ANGLE + 0x2220: [714,0,722,55,676,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 21 56 23V25Q55 27 55 30Q55 31 56 33V35Q55 37 55 40Q55 42 57 48Q67 63 346 381Q421 467 518 578Q607 680 623 697T647 714Q656 714 661 708T666 694V692Q676 687 676 674Q676 668 673 663Q672 662 637 622T534 503T400 350L147 61L386 60H653Q666 50 666 40V38Q676 31 676 20Q676 8 661 0H71'], + + // DIVIDES + 0x2223: [750,249,319,129,190,'160 -249Q138 -249 129 -225V250Q129 725 131 729Q139 750 159 750T190 725V-225Q181 -249 160 -249'], + + // PARALLEL TO + 0x2225: [751,248,575,145,430,'205 -225Q201 -234 199 -237T191 -244T175 -248T161 -246Q151 -240 146 -229Q145 -224 145 251Q145 725 146 730Q156 750 176 750Q193 748 205 727V-225ZM369 727L372 732Q375 737 377 740T385 747T398 750Q406 750 413 747Q423 740 428 730Q430 720 430 251Q430 -219 428 -229Q423 -240 413 -246Q408 -248 400 -248Q393 -248 388 -247T379 -242T375 -236T371 -230L369 -225V727'], + + // LOGICAL AND + 0x2227: [604,17,767,64,702,'95 -16Q78 -16 71 -6T64 14Q64 20 65 22L212 308Q359 593 361 595Q370 604 385 604Q398 602 405 595Q407 593 554 308L701 22Q702 20 702 15Q702 1 693 -8T671 -17Q661 -17 651 -9Q647 -5 515 251L383 506L251 251Q119 -5 116 -8Q108 -16 95 -16'], + + // LOGICAL OR + 0x2228: [605,16,767,64,702,'64 572Q64 585 72 594T94 604T116 595Q119 592 251 336L383 81L515 336Q647 592 651 596Q661 604 671 604Q684 604 693 595T702 572Q702 567 701 565L554 279Q407 -6 405 -8Q404 -9 401 -11T397 -14Q392 -16 383 -16H380Q369 -16 361 -8Q359 -6 212 279L65 565Q65 566 65 568T64 572'], + + // stix-intersection, serifs + 0x2229: [603,16,767,64,702,'94 -16Q73 -16 64 8V209Q64 239 64 287Q65 418 69 432Q70 434 70 435Q84 487 125 523T216 575T299 597T354 603H372Q444 603 501 590T591 558T648 515T681 471T696 435Q696 434 697 432Q701 417 702 309Q702 303 702 287Q702 239 702 209V8Q693 -16 672 -16Q650 -16 643 3Q641 8 641 201Q641 397 640 403Q631 472 558 507T383 542Q339 542 298 535T219 511T156 468T126 403Q125 397 125 201Q125 8 123 3Q116 -16 94 -16'], + + // stix-union, serifs + 0x222A: [604,16,767,64,702,'672 603Q693 603 702 579V378Q702 348 702 300Q701 169 697 155Q696 153 696 152Q676 78 593 31T383 -16Q265 -16 179 28T70 152Q70 153 69 155Q65 170 64 278Q64 285 64 300Q64 348 64 378Q64 579 65 583Q74 604 94 604T123 584Q125 579 125 386Q125 190 126 184Q135 115 210 80T383 44Q426 44 467 51T546 75T609 119T640 184Q641 190 641 386Q641 579 643 584Q650 603 672 603'], + + // INTEGRAL + 0x222B: [711,211,569,64,632,'204 -71Q204 -108 181 -124T137 -141Q132 -141 132 -142Q142 -161 154 -161Q164 -161 186 -152Q200 -145 210 -135T228 -107T241 -77T249 -38T254 -2T258 38T262 74Q282 265 334 489Q334 490 337 503T341 523T347 544T355 569T365 594T379 620T397 643T420 666T447 685T481 700Q511 711 539 711T587 696T616 656T628 612T632 573Q632 536 610 519T562 501Q534 501 513 519T492 571Q492 608 515 624T559 641Q564 641 564 642Q554 661 542 661Q532 661 510 652Q496 645 486 635T468 607T455 577T447 538T442 502T438 462T434 426Q414 235 362 11Q352 -35 347 -54T328 -101T291 -152Q235 -208 162 -211Q147 -211 136 -208T109 -196T83 -165T67 -108Q64 -94 64 -73Q64 -37 86 -19T134 -1Q162 -1 183 -19T204 -71'], + + // TILDE OPERATOR + 0x223C: [392,-109,894,64,828,'64 155Q64 210 84 262T150 353T257 391Q300 391 341 371T417 321T484 264T557 215T637 194Q702 194 745 244T788 367Q796 391 808 391Q815 391 821 381T828 353V342Q828 252 776 181T637 109Q594 109 552 129T476 179T409 236T336 285T256 306Q193 306 149 258T105 132Q98 109 86 109Q76 109 70 122T64 155'], + + // WREATH PRODUCT + 0x2240: [583,82,319,64,254,'64 561Q64 570 76 576T108 583Q174 583 214 535T254 407Q254 368 238 324T202 248T166 173T149 92Q149 43 169 2T217 -39Q231 -40 242 -46T254 -60Q254 -69 241 -75T210 -82Q145 -82 105 -34T64 93Q64 133 80 177T116 253T152 328T169 408Q169 461 148 500T105 540Q92 540 78 545T64 561'], + + // ASYMPTOTICALLY EQUAL TO + 0x2243: [502,3,894,64,829,'64 295Q64 378 117 440T257 502Q298 502 339 485T416 443T486 394T560 352T637 335Q693 335 740 373T788 478Q796 502 808 502Q815 502 821 492T828 465V455Q828 365 771 308T640 250Q603 250 562 265T501 294T439 336L370 382Q308 417 256 417Q205 417 164 388T110 317Q110 316 109 304T107 286T103 270T97 255T86 250Q76 250 70 263T64 295ZM64 6T64 27T87 56H93Q99 56 110 56T137 56T173 56T217 56T267 57T323 57T383 57T448 57H807Q808 56 811 54T815 52T819 49T823 45T826 40T828 34T829 27Q829 7 807 -3H87Q64 6 64 27'], + + // APPROXIMATELY EQUAL TO + 0x2245: [639,27,1000,64,829,'64 402Q64 457 84 509T150 600T257 638Q300 638 341 618T417 569T484 511T557 462T637 441Q702 441 745 491T788 614Q796 638 808 638Q815 638 821 628T828 600V589Q828 499 776 428T637 356Q594 356 552 376T476 425T409 483T336 532T256 553Q193 553 149 505T105 379Q98 356 86 356Q76 356 70 369T64 402ZM87 197Q64 207 64 226Q64 247 84 255Q89 257 448 257H807Q808 256 811 254T817 250T823 245T827 238T829 227Q829 209 807 197H87ZM87 -27Q64 -18 64 3Q64 23 86 32Q89 33 448 33H807L812 30Q816 27 818 26T823 21T827 13T829 3Q829 -18 807 -27H87'], + + // ALMOST EQUAL TO + 0x2248: [524,-31,894,64,829,'64 345Q64 423 119 473T250 524Q301 524 356 503T451 455T542 407T636 385Q700 385 743 417T786 481Q786 493 791 508T807 524Q817 524 823 512T829 479Q829 404 776 352T638 300Q590 300 537 321T443 369T352 417T256 439Q207 439 166 417T110 359Q109 357 107 341T100 312T85 300Q77 300 71 313T64 345ZM64 77Q64 155 119 205T250 256Q302 256 357 235T451 187T541 139T636 117Q699 117 742 148T786 213Q786 231 792 243T808 256T823 242T829 208Q829 134 776 83T640 32Q591 32 537 53T443 101T352 149T256 171Q206 171 165 148T110 91Q109 89 107 73T100 44T85 32Q77 32 71 45T64 77'], + + // EQUIVALENT TO + 0x224D: [533,32,894,64,830,'798 533Q812 533 820 524T829 502T819 480T769 440Q655 355 537 330Q492 322 447 322Q401 322 356 330Q289 344 219 381T118 443T73 481Q64 490 64 503Q64 517 72 525T94 533Q99 533 102 532Q107 531 138 507T209 456T314 405T446 382Q604 382 765 515Q788 533 798 533ZM95 -32Q81 -32 73 -23T64 -1Q64 10 74 21T124 61Q213 127 293 153T421 179L422 180Q424 180 426 180T432 180T441 180T452 179Q612 179 769 61Q811 29 820 19T829 -1Q829 -14 821 -23T798 -32Q788 -32 765 -14Q608 118 446 118Q287 118 128 -14Q105 -32 95 -32'], + + // APPROACHES THE LIMIT + 0x2250: [721,-109,894,64,829,'87 333Q64 343 64 362Q64 383 84 391Q89 393 448 393H807Q808 392 811 390T817 386T823 381T827 374T829 363Q829 345 807 333H87ZM87 109Q64 118 64 139Q64 159 86 168Q89 169 448 169H807L812 166Q816 163 818 162T823 157T827 149T829 139Q829 118 807 109H87ZM362 635Q362 671 387 696T444 721Q488 721 510 693T533 635Q533 606 512 579T448 551Q406 551 384 577T362 635'], + + // stix-not (vert) equals + 0x2260: [711,210,894,64,829,'189 -210Q179 -210 170 -203T160 -179Q160 -171 162 -166Q165 -163 327 109H87Q64 118 64 139Q64 159 86 168Q89 169 363 169L461 333H87Q64 343 64 362Q64 383 84 391Q89 393 448 393H496Q533 455 583 539T656 660T679 698Q686 711 704 711Q714 711 723 704T733 681Q733 672 730 667Q729 664 709 631T645 523T567 393H807Q808 392 811 390T817 386T823 381T827 374T829 363Q829 345 807 333H532L433 169H807L812 166Q816 163 818 162T823 157T827 149T829 139Q829 118 807 109H398Q217 -195 211 -201Q202 -210 189 -210'], + + // IDENTICAL TO + 0x2261: [505,3,894,64,829,'87 445Q64 454 64 475Q64 497 84 503Q89 505 448 505H807Q808 504 812 502T818 497T823 492T827 484T829 474Q829 456 807 445H87ZM87 221Q64 230 64 251T84 279Q89 281 448 281H807Q808 280 811 278T817 274T823 269T827 262T829 251Q829 230 807 221H87ZM64 6T64 27T87 56H93Q99 56 110 56T137 56T173 56T217 56T267 57T323 57T383 57T448 57H807Q808 56 811 54T815 52T819 49T823 45T826 40T828 34T829 27Q829 7 807 -3H87Q64 6 64 27'], + + // LESS-THAN OR EQUAL TO + 0x2264: [697,199,894,96,797,'797 55Q797 45 790 35T767 25H759L434 180Q108 336 105 339Q96 348 96 360Q96 378 114 388Q126 394 439 544T757 695Q763 697 766 697Q780 697 788 688T797 666Q797 654 788 645Q784 641 507 509T197 361L466 232Q785 80 790 74Q797 66 797 55ZM119 -199Q96 -191 96 -169Q96 -160 102 -152T119 -140H124Q130 -140 140 -140T164 -140T197 -140T237 -140T283 -139T334 -139T389 -139T448 -139H775Q797 -153 797 -169Q797 -187 775 -199H119'], + + // GREATER-THAN OR EQUAL TO + 0x2265: [697,199,894,96,797,'127 25Q110 25 103 34T96 54Q96 66 105 75Q109 80 439 238L696 361Q113 637 105 645Q96 654 96 667Q96 679 104 688T128 697Q137 696 460 541T788 382Q797 373 797 360Q797 348 788 339Q785 336 459 180L135 25H127ZM119 -199Q96 -191 96 -169Q96 -160 102 -152T119 -140H124Q130 -140 140 -140T164 -140T197 -140T237 -140T283 -139T334 -139T389 -139T448 -139H775Q797 -153 797 -169Q797 -187 775 -199H119'], + + // MUCH LESS-THAN + 0x226A: [617,116,1150,64,1085,'734 -74T734 -86T727 -107T704 -116H702Q694 -116 584 -55Q473 7 380 58Q87 219 73 229Q64 238 64 250Q64 263 73 272Q87 282 380 443Q695 616 699 617H700Q718 617 726 607T734 588Q734 568 717 560Q705 554 435 404L157 250L439 94Q721 -61 726 -66Q734 -74 734 -86ZM1085 -74T1085 -86T1078 -107T1055 -116H1053Q1045 -116 935 -55Q824 7 731 58Q438 219 424 229Q415 238 415 250Q415 263 424 272Q438 282 731 443Q1046 616 1050 617H1051Q1069 617 1077 607T1085 588Q1085 568 1068 560Q1056 554 786 404L508 250L790 94Q1072 -61 1077 -66Q1085 -74 1085 -86'], + + // MUCH GREATER-THAN + 0x226B: [618,116,1150,64,1085,'64 588Q64 600 72 609T94 618H95Q103 618 209 559Q322 496 419 443Q712 282 725 272Q734 263 734 250Q734 238 725 229Q714 220 415 55T110 -113Q103 -116 95 -116Q78 -116 71 -106T64 -86Q64 -74 72 -66Q77 -61 359 94L641 250L363 404Q277 452 173 509Q95 552 82 560T66 576V577Q64 585 64 588ZM415 588Q415 600 423 609T445 618H446Q454 618 560 559Q673 496 770 443Q1063 282 1076 272Q1085 263 1085 250Q1085 238 1076 229Q1065 220 766 55T461 -113Q454 -116 446 -116Q429 -116 422 -106T415 -86Q415 -74 423 -66Q428 -61 710 94L992 250L714 404Q628 452 524 509Q446 552 433 560T417 576V577Q415 585 415 588'], + + // PRECEDES + 0x227A: [585,86,894,96,797,'797 -57Q797 -65 790 -75T766 -86Q748 -86 741 -74T733 -43T719 8T681 72Q647 112 588 141T475 185T343 207T230 216T136 219Q96 219 96 250Q96 280 132 280H136Q193 281 239 283T347 292T457 310T556 342T643 391T703 460T735 553Q741 585 763 585Q781 585 789 575T797 556Q797 540 792 513T758 434T682 345Q605 285 481 254L462 249Q483 246 526 233T633 185T733 104Q767 63 782 15T797 -57'], + + // SUCCEEDS + 0x227B: [586,86,894,96,797,'96 556Q96 568 104 577T126 586Q152 586 158 553Q164 503 188 462T247 394T331 345T429 313T539 294T649 284T758 280H760Q797 280 797 250Q797 219 760 219H758Q627 217 529 204T347 160T216 77T158 -54Q152 -86 126 -86Q110 -86 103 -76T96 -57Q96 -41 101 -14T135 65T211 154Q288 214 412 245L431 250Q410 252 367 265T259 314T160 395Q127 435 112 483T96 556'], + + // SUBSET OF + 0x2282: [588,85,894,96,798,'96 251Q96 389 191 482T417 586Q418 586 428 586T456 586T496 586T546 587T601 587H775Q776 586 779 584T785 580T791 575T795 568T797 557Q797 536 775 527L597 526Q411 525 395 522Q390 521 370 516Q285 494 222 424T158 251Q158 131 246 53Q313 -9 408 -23Q417 -24 597 -25H775Q776 -26 781 -29T788 -34T794 -43T797 -56Q797 -74 775 -85H493Q407 -85 376 -79Q257 -55 177 35T96 251'], + + // SUPERSET OF + 0x2283: [587,86,894,96,796,'96 -55Q96 -38 119 -25H296Q482 -24 498 -21Q503 -20 523 -15Q609 7 672 77T735 251T665 431T485 524Q476 525 296 526L119 527Q96 535 96 557Q96 578 116 585Q121 587 300 587Q451 586 476 585T522 579Q632 556 714 468T796 251Q796 112 695 13Q612 -65 497 -82Q473 -86 289 -86L119 -85Q96 -77 96 -55'], + + // SUBSET OF OR EQUAL TO + 0x2286: [698,199,894,96,798,'96 361Q96 499 191 592T417 696Q418 696 428 696T456 696T496 696T546 697T601 697H775Q776 696 779 694T785 690T791 685T795 678T797 667Q797 646 775 637L597 636Q411 635 395 632Q390 631 370 626Q285 604 222 534T158 361Q158 241 246 163Q313 101 408 87Q417 86 597 85H775Q776 84 781 81T788 76T794 67T797 54Q797 36 775 25H493Q407 25 376 31Q257 55 177 145T96 361ZM149 -199Q127 -191 127 -169T149 -140H154Q160 -140 169 -140T192 -140T224 -140T262 -140T306 -139T354 -139T407 -139T463 -139H775Q776 -140 779 -142T785 -146T791 -151T795 -158T797 -169Q797 -190 775 -199H149'], + + // SUPERSET OF OR EQUAL TO + 0x2287: [697,199,894,96,796,'96 55Q96 72 119 85H296Q482 86 498 89Q503 90 523 95Q609 117 672 187T735 361T665 541T485 634Q476 635 296 636L119 637Q96 645 96 667Q96 688 116 695Q121 697 300 697Q451 696 476 695T522 689Q632 666 714 578T796 361Q796 222 695 123Q612 45 497 28Q473 24 289 24L119 25Q96 33 96 55ZM119 -199Q96 -190 96 -169T116 -141Q121 -139 433 -139H745Q766 -152 766 -170Q766 -190 745 -199H119'], + + // MULTISET UNION + 0x228E: [604,16,767,64,702,'672 603Q693 603 702 579V378Q702 348 702 300Q701 169 697 155Q696 153 696 152Q676 78 593 31T383 -16Q265 -16 179 28T70 152Q70 153 69 155Q65 170 64 278Q64 285 64 300Q64 348 64 378Q64 579 65 583Q74 604 94 604T123 584Q125 579 125 386Q125 190 126 184Q135 115 210 80T383 44Q426 44 467 51T546 75T609 119T640 184Q641 190 641 386Q641 579 643 584Q650 603 672 603ZM353 412Q353 420 353 435T352 456Q352 483 358 495T385 507Q403 506 409 494T415 457Q415 451 415 436T414 411V341H558Q579 329 579 311Q579 289 558 281L486 280H414V136Q400 114 384 114Q363 114 354 136L353 208V280H281L209 281Q187 289 187 310Q187 328 209 341H353V412'], + + // SQUARE IMAGE OF OR EQUAL TO + 0x2291: [698,199,894,96,828,'127 25Q111 29 104 49V362L105 675Q114 693 127 696H132Q138 696 149 696T174 696T208 696T249 696T297 697T350 697T407 697T468 697H806Q828 683 828 666Q828 646 806 637L485 636H165V85H805Q806 84 809 82T813 80T817 77T821 73T824 68T826 62T827 55Q827 34 806 25H127ZM96 -190T96 -169T119 -140H125Q131 -140 141 -140T167 -140T201 -140T242 -140T290 -139T344 -139T402 -139T463 -139H805Q806 -140 809 -142T813 -144T817 -147T821 -151T824 -156T826 -162T827 -169Q827 -190 806 -199H119Q96 -190 96 -169'], + + // SQUARE ORIGINAL OF OR EQUAL TO + 0x2292: [698,199,894,66,797,'66 55Q66 74 89 85H728V636H408L88 637Q66 645 66 667T88 696H94Q99 696 110 696T135 696T169 696T210 696T258 697T311 697T368 697T429 697H767Q786 684 789 672V49Q782 31 767 25H88Q66 32 66 55ZM88 -199Q66 -191 66 -169Q66 -148 87 -140Q91 -139 433 -139H775Q776 -140 779 -142T783 -144T787 -147T791 -151T794 -156T796 -162T797 -169Q797 -189 775 -199H88'], + + // stix-square intersection, serifs + 0x2293: [604,-1,767,70,696,'131 25Q121 1 100 1Q81 1 71 23L70 301Q70 579 72 583Q77 598 90 602Q95 604 385 604H674Q693 591 696 579V25Q686 1 665 1Q646 1 636 23L635 283V543H131V25'], + + // stix-square union, serifs + 0x2294: [604,-1,767,70,696,'696 25Q689 7 674 1H93Q77 7 71 23L70 301Q70 579 72 583Q80 604 100 604T131 579V61H635V579Q644 603 666 603Q687 603 696 579V25'], + + // stix-circled plus (with rim) + 0x2295: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM416 282V570H414Q341 564 285 535T202 475T156 397T134 332T128 287Q127 283 127 282H416ZM765 288Q760 344 743 389T700 462T647 512T589 543T538 560T499 568L483 570H478V282H766L765 288ZM416 -69V220H127Q130 195 131 189T138 155T150 115T168 76T196 35T234 0T286 -35Q337 -61 410 -69H416ZM483 -69Q554 -60 607 -33T687 21T733 93T756 156T764 209Q766 217 766 220H478V-69H483'], + + // CIRCLED MINUS + 0x2296: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM765 288Q753 424 666 497T446 571T227 498T128 288L127 282H766L765 288ZM446 -70Q578 -70 666 4T765 213L766 220H127Q130 195 131 189T138 155T150 115T168 76T196 35T234 0T286 -35Q353 -70 446 -70'], + + // stix-circled times (with rim) + 0x2297: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM647 512Q567 571 447 571Q340 571 262 523Q237 507 237 505L342 399L447 295L657 505L647 512ZM298 356L192 461Q180 445 161 411Q126 341 126 251Q126 128 192 40L403 250L298 356ZM701 41Q704 41 719 63T750 138T767 250Q767 310 750 362T719 437T701 460L491 250L701 41ZM238 -5Q238 -8 261 -22T336 -53T447 -70Q567 -70 647 -11L657 -4L447 206L342 101Q238 -1 238 -5'], + + // CIRCLED DIVISION SLASH + 0x2298: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM657 505Q656 506 650 510T638 518T623 527T604 537T581 547T553 556T522 563T486 569T446 571Q305 571 216 487T126 251Q126 128 192 40L657 505ZM447 -70Q591 -70 679 16T767 250Q767 308 751 360T719 436T701 460L469 228Q238 -1 238 -5Q238 -8 261 -22T336 -53T447 -70'], + + // CIRCLED DOT OPERATOR + 0x2299: [632,132,894,64,828,'64 250Q64 350 98 426T189 546T307 610T434 632Q485 632 496 631Q572 621 635 592Q669 575 699 550T760 484T809 384T828 250Q828 77 725 -27T446 -132Q272 -132 168 -27T64 250ZM767 252Q767 395 681 483T446 571Q303 571 215 486T126 249Q126 107 212 19T446 -70Q596 -70 681 18T767 252ZM335 251Q335 297 368 329T441 361Q498 361 527 327T557 250Q557 202 525 171T446 140Q397 140 366 173T335 251'], + + // RIGHT TACK + 0x22A2: [693,-1,703,65,637,'65 672Q76 693 91 693Q115 693 123 674Q125 669 125 523V378H615Q618 376 622 373T628 369T632 366T635 362T636 356T637 347Q637 328 619 319Q615 317 370 317H125V171Q125 25 123 20Q114 1 94 1Q73 1 65 23V672'], + + // LEFT TACK + 0x22A3: [693,-1,703,64,638,'64 327T64 347T89 378H577V525L578 672Q592 693 604 693Q629 693 638 669V25Q628 1 607 1Q588 1 578 23L577 170V317H88Q64 327 64 347'], + + // DOWN TACK + 0x22A4: [695,-1,894,64,829,'64 664Q64 675 71 683T87 693H93Q99 693 110 693T137 693T173 693T217 694T267 694T323 694T383 694T448 694H807Q808 693 811 691T817 687T823 682T827 675T829 664Q829 643 807 634L642 633H477V25Q467 1 446 1Q427 1 417 23L416 328V633H251L87 634Q64 643 64 664'], + + // UP TACK + 0x22A5: [693,-1,894,65,829,'65 31Q65 38 66 41T71 50T87 61H416V366L417 672Q431 693 443 693Q468 693 477 669V61H807Q808 60 811 58T817 54T823 49T827 42T829 31Q829 10 807 1H87Q65 10 65 31'], + + // TRUE + 0x22A8: [750,249,974,129,918,'160 -249Q138 -249 129 -225V250Q129 725 131 729Q139 750 159 750T190 725V392Q219 393 537 393H896Q897 392 900 390T906 386T912 381T916 374T918 363Q918 345 896 333H190V169H896L900 166Q905 163 907 162T912 157T916 149T918 139Q918 118 896 109H190V-225Q181 -249 160 -249'], + + // DIAMOND OPERATOR + 0x22C4: [523,21,575,15,560,'280 522Q281 523 285 523H289Q301 523 366 457Q404 420 431 393Q533 291 546 277T560 250Q560 239 548 226T431 108Q313 -10 304 -16Q297 -21 287 -21Q278 -21 275 -19Q270 -17 146 107T18 238Q15 242 15 251Q15 258 18 263Q20 268 145 392T274 519L280 522ZM388 350L288 449L188 350L89 250L288 52L487 250L388 350'], + + // DOT OPERATOR + 0x22C5: [336,-165,319,74,245,'74 251Q74 286 99 311T156 336Q200 336 222 308T245 250Q245 221 224 194T160 166T96 193T74 251'], + + // STAR OPERATOR + 0x22C6: [502,0,575,24,550,'270 491Q274 502 287 502Q298 502 304 491Q304 486 323 396T342 303L438 314Q520 324 534 324Q540 324 545 320T550 307Q550 298 539 290T456 243Q377 198 377 197L416 111Q456 26 456 22Q457 21 457 18Q457 11 451 6T438 0H437Q432 0 415 16Q387 42 358 68L287 133L216 68Q193 47 167 23Q142 0 136 0Q129 0 123 5T117 18Q117 21 118 22Q118 26 158 111L197 197Q197 198 156 221T72 269T26 298Q24 304 24 307Q24 315 29 319T40 324Q53 324 136 314L232 303Q232 306 251 396T270 491'], + + // BOWTIE + 0x22C8: [540,39,1000,33,967,'906 251Q906 456 905 456Q550 252 549 251Q549 250 726 148T905 45T906 251ZM967 -14Q958 -38 939 -38H937Q928 -38 923 -35Q919 -34 748 64T500 209L71 -38Q69 -39 63 -39Q42 -39 33 -16V518Q45 540 63 540H65Q72 540 174 481Q247 439 302 407L500 292Q578 339 750 438T929 539H933Q958 539 967 515V-14ZM449 251L94 456Q93 456 93 251Q93 45 94 45L106 52Q119 59 139 71T186 98T242 131T301 165T357 197T404 225T437 244L449 251'], + + // VERTICAL ELLIPSIS + 0x22EE: [951,29,319,74,245,'74 55Q74 91 99 116T156 141Q200 141 222 113T245 55Q245 26 224 -1T160 -29Q118 -29 96 -3T74 55ZM74 465Q74 501 99 526T156 551Q200 551 222 523T245 465Q245 436 224 409T160 381Q118 381 96 407T74 465ZM74 865Q74 901 99 926T156 951Q200 951 222 923T245 865Q245 836 224 809T160 781Q118 781 96 807T74 865'], + + // MIDLINE HORIZONTAL ELLIPSIS + 0x22EF: [336,-165,1295,74,1221,'74 251Q74 286 99 311T156 336Q200 336 222 308T245 250Q245 221 224 194T160 166T96 193T74 251ZM562 251Q562 286 587 311T644 336Q688 336 710 308T733 250Q733 221 712 194T648 166T584 193T562 251ZM1050 251Q1050 286 1075 311T1132 336Q1176 336 1198 308T1221 250Q1221 221 1200 194T1136 166T1072 193T1050 251'], + + // DOWN RIGHT DIAGONAL ELLIPSIS + 0x22F1: [871,-101,1323,129,1194,'129 785Q129 821 154 846T211 871Q255 871 277 843T300 785Q300 756 279 729T215 701Q173 701 151 727T129 785ZM576 485Q576 521 601 546T658 571Q702 571 724 543T747 485Q747 456 726 429T662 401Q620 401 598 427T576 485ZM1023 185Q1023 221 1048 246T1105 271Q1149 271 1171 243T1194 185Q1194 156 1173 129T1109 101Q1067 101 1045 127T1023 185'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MathOperators.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js new file mode 100644 index 00000000..0af6626e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MiscMathSymbolsA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [750,249,447,127,382,'127 243V259L223 491Q251 557 286 642Q318 719 324 732T340 748H341Q347 750 351 750Q365 750 373 740T382 723Q382 713 286 482L190 251Q190 249 286 20T382 -219Q382 -232 373 -240T352 -249Q332 -249 323 -229Q320 -220 223 10L127 243'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [750,249,447,64,319,'64 720Q64 732 72 741T94 750Q106 750 113 743Q118 741 122 732L319 259V243L122 -231Q112 -249 95 -249Q83 -249 74 -240T64 -218Q64 -210 160 20L256 251L160 482Q64 715 64 720'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MiscMathSymbolsA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js new file mode 100644 index 00000000..f47a434f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MiscSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // BLACK SPADE SUIT + 0x2660: [719,130,894,64,829,'675 -18Q536 -18 527 62V70H477V55Q479 14 487 -21T502 -75T509 -101Q509 -120 491 -127Q487 -129 447 -129Q446 -129 439 -129T427 -130Q384 -130 384 -101Q384 -95 391 -76T406 -21T416 55V70H366Q364 52 360 40T342 14T300 -8T230 -17H218Q110 -17 75 117Q64 163 64 209Q64 290 116 357T261 495Q363 574 414 690Q425 719 445 719Q467 719 478 693Q507 627 547 578T623 503T702 438T777 357Q829 285 829 202V197Q826 128 808 81T762 15T714 -11T675 -18'], + + // WHITE HEART SUIT + 0x2661: [711,24,894,65,828,'65 491Q65 602 121 656T246 710Q375 710 440 624L447 615Q519 711 638 711Q723 711 775 652T828 491Q828 390 770 313T581 129Q539 95 514 63T483 14T469 -13T446 -24Q434 -24 427 -17T416 0T400 32T371 74Q352 97 310 131T229 199T151 276T89 374T65 491ZM249 649Q188 649 157 603T125 489Q125 409 181 338T352 176Q408 131 437 87L446 73L456 87Q479 121 507 147T579 207T659 278Q768 387 768 489Q768 506 766 524T756 566T731 611T687 642Q668 649 638 649Q609 649 593 644Q547 633 516 604T478 534Q473 505 447 505H445Q420 505 416 534Q407 577 372 608T285 648Q277 649 249 649'], + + // WHITE DIAMOND SUIT + 0x2662: [719,154,894,64,828,'409 686Q410 688 412 691T415 696T418 701T421 706T424 709T427 713T431 715T435 717T440 718T446 719Q455 719 460 717T472 704T488 679T516 633T563 567Q624 485 687 422T787 330T826 296T828 282Q828 270 825 265T801 245Q696 161 612 59T477 -133Q465 -154 447 -154Q439 -154 434 -152T425 -146T414 -130T399 -104T372 -62T330 -3Q270 78 207 142T107 234T70 265Q64 274 64 282Q64 296 90 317Q284 472 409 686ZM749 282Q745 286 721 307T681 343T635 388T581 446T525 516T465 601Q462 606 457 613T450 624L447 627V628Q446 628 436 611T402 561T348 489T266 396T155 292L145 282Q147 280 185 245T257 177T343 79T442 -57Q446 -64 447 -64V-63Q450 -59 475 -22T530 56T619 160T749 282'], + + // BLACK CLUB SUIT + 0x2663: [719,130,894,32,861,'240 527Q240 611 301 665T446 719T590 665T652 527Q652 431 571 373Q578 363 584 352T593 335T597 329L604 335Q611 341 617 345T637 356T667 366Q672 366 680 367T694 368Q767 368 814 310T861 177Q861 109 819 57T713 -12Q690 -17 656 -17Q535 -13 527 62V70H477V55Q479 14 487 -21T502 -75T509 -101Q509 -120 491 -127Q487 -129 447 -129Q446 -129 439 -129T427 -130Q384 -130 384 -101Q384 -95 391 -76T406 -21T416 55V70H366V62Q356 -12 237 -17Q130 -17 71 60Q32 111 32 178Q32 251 78 309T198 368Q217 368 233 364T260 354T279 343T291 333T296 329L300 336Q304 343 310 354T322 373Q240 432 240 527'], + + // MUSIC FLAT SIGN + 0x266D: [750,17,447,64,381,'230 480Q293 480 337 440T381 330V322Q381 240 323 161Q258 71 123 -11L114 -16L97 -17Q70 -17 66 -7Q64 -3 64 366V641Q64 717 65 731T75 748Q78 750 95 750Q117 750 122 742T127 694Q127 685 127 653T126 595V454Q183 480 230 480ZM242 333Q242 405 212 405H207Q147 405 130 370L127 364L126 219Q126 77 128 77Q133 82 140 90T167 127T202 183T229 253T242 333'], + + // MUSIC NATURAL SIGN + 0x266E: [741,223,447,57,389,'345 -223Q333 -223 330 -214T327 -178V-116Q327 -23 326 -23L203 -82Q90 -134 77 -140Q65 -142 59 -130Q57 -126 57 295V595Q57 643 57 667T58 704T60 719T63 724Q93 741 101 741Q113 741 116 732T119 680V597Q119 467 120 467Q121 468 180 495T301 552T369 584Q381 586 387 574Q389 570 389 187V-88Q389 -132 389 -154T388 -188T386 -202T383 -206Q353 -223 345 -223ZM327 271Q327 421 326 421L120 323L119 173V23Q120 23 223 72L327 121V271'], + + // MUSIC SHARP SIGN + 0x266F: [724,224,447,64,382,'140 628Q151 628 154 620T158 591V549V484L166 488Q175 492 192 500T223 516L288 548V622V674Q288 681 288 685T289 693T289 699T291 703T295 707T298 709T304 712T311 716Q326 724 332 724Q343 724 346 715T350 685V644V579Q358 583 364 583Q376 583 380 574Q382 570 382 514V481Q382 459 380 454T363 441L350 435V135Q358 139 364 139Q376 139 380 130Q382 126 382 70V37Q382 15 380 10T363 -3L350 -9V-76Q350 -102 348 -106T328 -119Q312 -128 306 -128Q288 -128 288 -99V-77V-40L280 -44Q271 -48 254 -56T223 -72L158 -104V-150V-180Q158 -198 155 -202T135 -216Q119 -224 114 -224Q96 -224 96 -192V-172V-135Q86 -140 81 -140Q70 -140 66 -129Q64 -126 64 -70V-54Q64 -18 66 -12T83 3L96 9V309Q86 304 81 304Q70 304 66 315Q64 318 64 374V407Q64 429 66 434T83 447L96 453V602Q99 609 100 610T118 619Q134 628 140 628ZM288 254Q288 404 287 404L158 340V40L166 44Q175 48 192 56T223 72L288 104V254'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MiscSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js new file mode 100644 index 00000000..1ccb0006 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/MiscTechnical.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // LEFT CEILING + 0x2308: [751,248,511,194,494,'194 728Q199 743 216 749H220Q223 749 229 749T245 749T265 750T289 750T316 750T345 750H471Q472 749 477 746T484 741T490 732T493 719Q493 701 471 690L362 689H254V-224Q244 -248 223 -248T194 -226V728'], + + // RIGHT CEILING + 0x2309: [750,248,511,17,317,'317 -224Q307 -248 286 -248Q267 -248 257 -226L256 231V689H148L40 690Q17 698 17 720Q17 741 37 748Q42 750 169 750H295Q314 737 317 725V-224'], + + // LEFT FLOOR + 0x230A: [749,248,511,194,494,'194 728Q204 749 220 749Q245 749 254 725V-188H471Q472 -189 477 -192T484 -197T490 -206T493 -219Q493 -237 471 -248H216Q200 -242 194 -226V728'], + + // RIGHT FLOOR + 0x230B: [749,248,511,17,317,'17 -219Q17 -201 40 -188H256V270L257 728Q271 749 283 749Q308 749 317 725V-224Q310 -242 295 -248H40L38 -247Q35 -246 34 -245T30 -243T25 -239T21 -234T18 -227T17 -219'], + + // stix-small down curve + 0x2322: [405,-107,1150,65,1084,'95 108Q85 108 75 114T65 139Q65 159 129 227Q316 405 573 405Q654 405 729 387T854 344T950 286T1015 232T1053 191Q1078 160 1083 152Q1084 148 1084 139Q1084 121 1074 115T1054 108Q1040 108 1029 122T990 167T922 223Q819 291 680 309Q641 315 575 315Q508 315 469 309Q303 288 197 201Q168 179 148 155T118 119T95 108'], + + // stix-small up curve + 0x2323: [393,-126,1150,64,1085,'1054 392Q1067 392 1076 384T1085 362Q1085 351 1079 342T1050 310Q983 243 901 200Q753 126 575 126Q494 126 420 141T298 176T205 225T140 272T100 310Q64 346 64 362Q64 370 67 374Q75 393 93 393Q107 393 124 375Q272 214 575 214Q877 214 1025 375Q1039 392 1054 392'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/MiscTechnical.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js new file mode 100644 index 00000000..7099b284 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js @@ -0,0 +1,53 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/SpacingModLetters.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [694,-520,575,126,449,'207 632L287 694Q289 693 368 632T448 570T431 545T413 520Q410 520 350 559L287 597L224 559Q164 520 161 520Q160 520 143 544T126 570T207 632'], + + // CARON + 0x2C7: [660,-515,575,130,443,'131 603Q130 604 136 618T150 646T158 659L223 635L287 611L351 635L416 659Q417 660 424 647T437 619T443 603Q440 601 364 558T287 515T210 558T131 603'], + + // MODIFIER LETTER MACRON + 0x2C9: [607,-540,575,80,494,'80 540V607H494V540H80'], + + // MODIFIER LETTER ACUTE ACCENT + 0x2CA: [706,-503,575,236,460,'391 706Q419 706 439 683T460 634Q460 608 441 593T366 550Q356 545 351 543L275 503L256 527Q236 552 237 553Q242 558 292 620Q299 629 309 641T324 659T336 673T346 685T354 693T363 699T371 703T380 705T391 706'], + + // MODIFIER LETTER GRAVE ACCENT + 0x2CB: [706,-503,575,113,338,'114 634Q114 663 136 684T183 706Q191 706 196 705T208 700T219 693T232 681T245 666T262 645T282 620Q332 558 337 553Q338 552 318 527L299 503L223 543Q215 547 202 553T183 563T167 571T153 580T141 587T131 595T124 603T118 612T115 622T114 634'], + + // BREVE + 0x2D8: [694,-500,575,102,472,'287 500Q208 500 155 558T102 689V694H153V685Q153 681 154 674T164 648T186 615T226 590T287 578Q347 578 382 611T421 685V694H472V689Q472 623 422 562T287 500'], + + // DOT ABOVE + 0x2D9: [695,-525,575,202,372,'202 610Q202 647 227 671T283 695Q324 695 348 669T372 610T350 551T287 525Q248 525 225 551T202 610'], + + // RING ABOVE + 0x2DA: [702,-535,575,160,414,'160 618Q160 653 193 677T279 702H284Q381 702 407 647Q414 634 414 618Q414 607 410 596T395 570T355 546T287 536T220 545T181 568T165 594T160 618ZM352 618Q352 645 341 652T301 659H292Q286 659 278 659T268 660Q247 660 236 653T224 638T222 619Q222 591 234 585T287 578Q315 578 326 580T345 590T352 618'], + + // SMALL TILDE + 0x2DC: [694,-552,575,96,478,'343 552Q320 552 278 575T215 599Q181 599 146 564L134 552L115 569Q111 572 106 576T98 584L96 586Q158 656 165 663Q199 694 230 694Q239 694 244 693Q262 689 300 668T359 647Q393 647 428 682L440 694L459 677Q463 674 468 670T476 662L478 660Q416 590 409 583Q375 552 343 552'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/SpacingModLetters.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js new file mode 100644 index 00000000..e1d70e3c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/SuppMathOperators.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // AMALGAMATION OR COPRODUCT + 0x2A3F: [686,0,900,39,860,'39 655Q39 675 43 680T69 686Q110 684 225 684Q267 684 303 684T360 685T385 686Q401 686 405 680T409 651Q409 632 403 628T367 624H348H301V62H598V624H551H532Q502 624 496 628T490 651Q490 673 494 679T514 686Q518 686 558 685T675 684T792 685T836 686Q852 686 856 680T860 651Q860 632 854 628T818 624H799H752V62H799H809Q846 62 853 59T860 36V31V21Q860 6 850 2Q846 0 450 0H156Q75 0 60 1T40 11V18Q39 26 39 31Q39 54 44 58T82 63Q84 63 90 63T100 62H147V624H100H90Q53 624 46 627T39 650V655'], + + // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AAF: [696,199,894,96,797,'796 54Q796 40 788 32T767 24Q741 24 735 57Q729 107 705 148T646 216T563 264T465 297T356 316T245 326T136 330H134Q96 330 96 360Q96 391 134 391H136Q193 392 239 394T347 403T457 421T556 453T643 502T703 571T735 664Q741 696 763 696Q781 696 789 686T797 667Q797 651 792 624T758 545T682 456Q605 396 481 365L462 360Q483 357 526 344T633 296T733 215Q767 173 781 128T796 54ZM119 -199Q96 -190 96 -169T116 -141Q121 -139 448 -139H775Q776 -140 779 -142T785 -146T791 -151T795 -158T797 -169Q797 -190 775 -199H119'], + + // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [697,199,894,96,797,'127 24Q115 24 106 32T97 55Q97 95 124 156T211 265Q288 325 412 356L431 361Q410 363 367 376T259 425T160 506Q127 546 112 594T96 667Q96 679 104 688T126 697Q152 697 158 664Q164 614 188 573T247 505T331 456T429 424T539 405T649 395T758 391Q797 391 797 360Q797 330 761 330H758Q701 329 655 327T547 318T437 300T337 268T251 219T190 150T158 57Q151 24 127 24ZM119 -199Q96 -190 96 -169T116 -141Q121 -139 448 -139H775Q776 -140 779 -142T785 -146T791 -151T795 -158T797 -169Q797 -190 775 -199H119'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/SuppMathOperators.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js new file mode 100644 index 00000000..fc91f222 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Bold/SupplementalArrowsA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-bold'], + { + // LONG LEFTWARDS ARROW + 0x27F5: [518,17,1805,64,1741,'1063 221L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1063L1065 280Q1079 281 1392 281H1719Q1720 280 1723 278T1729 274T1735 269T1739 262T1741 251Q1741 230 1719 221H1063'], + + // LONG RIGHTWARDS ARROW + 0x27F6: [518,17,1833,96,1773,'119 221Q96 230 96 251T116 279Q121 281 448 281H1188L1602 282Q1569 304 1530 357T1473 482Q1469 500 1469 501Q1469 512 1480 517Q1482 518 1500 518H1505Q1520 518 1523 515T1532 495Q1552 412 1611 351T1753 270Q1773 263 1773 251Q1773 240 1765 236T1732 225T1683 204Q1625 173 1586 122T1532 6Q1528 -10 1524 -13T1504 -17H1499Q1474 -16 1470 -9Q1469 -6 1469 -2Q1469 1 1473 17Q1501 138 1602 220H1188L775 221H119'], + + // LONG LEFT RIGHT ARROW + 0x27F7: [518,17,2126,64,2061,'1063 221L649 220H235Q340 133 364 17Q368 1 368 -2Q368 -16 343 -17Q340 -17 338 -17H332Q317 -17 314 -14T305 6Q298 34 285 62T247 126T179 189T78 233Q64 237 64 251Q64 261 74 265T108 277T154 297Q212 328 251 379T305 495Q309 511 313 514T333 518H338Q363 517 367 510Q368 507 368 503Q368 500 364 484Q345 401 287 331Q254 295 235 282L649 281H1476L1890 282Q1857 304 1818 357T1761 482Q1757 500 1757 501Q1757 512 1768 517Q1770 518 1788 518H1793Q1808 518 1811 515T1820 495Q1840 412 1899 351T2041 270Q2061 263 2061 251Q2061 240 2053 236T2020 225T1971 204Q1913 173 1874 122T1820 6Q1816 -10 1812 -13T1792 -17H1787Q1762 -16 1758 -9Q1757 -6 1757 -2Q1757 1 1761 17Q1789 138 1890 220H1476L1063 221'], + + // LONG LEFTWARDS DOUBLE ARROW + 0x27F8: [547,46,1868,64,1804,'1063 333L700 332H338L324 321Q283 290 230 264L205 250Q266 224 323 180L338 170L700 169H1063L1064 168Q1080 169 1423 169H1782L1786 166Q1791 163 1793 162T1798 157T1802 149T1804 139Q1804 118 1782 109H1063L733 108H404L412 99Q455 50 488 -10Q498 -27 493 -37Q487 -46 465 -46H460Q446 -46 439 -39T426 -18T399 25T344 89Q239 194 99 229Q96 230 92 231T85 232T79 234T73 235T69 237T66 240T65 244T64 250Q64 267 90 271Q197 295 286 361T430 525Q439 542 442 544T460 547H465Q487 547 492 539Q496 531 496 530Q496 521 471 482T414 405L404 394L733 393H1063Q1064 392 1065 392Q1081 393 1423 393H1782Q1783 392 1786 390T1792 386T1798 381T1802 374T1804 363Q1804 345 1782 333H1063'], + + // LONG RIGHTWARDS DOUBLE ARROW + 0x27F9: [547,46,1870,64,1804,'87 109Q64 118 64 139Q64 159 86 168Q89 169 448 169H1169L1532 170L1546 180Q1562 193 1580 204T1612 223T1638 237T1657 246L1664 250L1639 264Q1586 290 1545 321L1531 332H1169L807 333H87Q64 343 64 362Q64 383 84 391Q89 393 448 393H1136L1465 394L1455 405Q1428 436 1401 477T1374 531Q1374 547 1399 547H1404H1409Q1423 547 1430 540T1443 519T1470 475T1526 411Q1634 303 1779 271Q1780 271 1783 270T1788 269T1792 268T1796 266T1799 264T1802 260T1803 256T1804 250Q1804 242 1800 238T1783 231T1755 225T1712 211T1654 185Q1517 112 1439 -24Q1430 -40 1426 -43T1409 -46H1404Q1373 -46 1373 -31Q1373 -24 1381 -10Q1414 50 1457 99L1465 108H1136L807 109H87'], + + // LONG LEFT RIGHT DOUBLE ARROW + 0x27FA: [547,46,2126,64,2060,'1063 333L700 332H338L324 321Q283 290 230 264L205 250Q266 224 323 180L338 170L700 169H1425L1788 170L1802 180Q1818 193 1836 204T1868 223T1894 237T1913 246L1920 250L1895 264Q1842 290 1801 321L1787 332H1425L1063 333ZM733 393H1392L1721 394L1711 405Q1684 436 1657 477T1630 531Q1630 547 1655 547H1660H1665Q1679 547 1686 540T1699 519T1726 475T1782 411Q1890 303 2035 271Q2036 271 2039 270T2044 269T2048 268T2052 266T2055 264T2058 260T2059 256T2060 250Q2060 242 2056 238T2039 231T2011 225T1968 211T1910 185Q1773 112 1695 -24Q1686 -40 1682 -43T1665 -46H1660Q1629 -46 1629 -31Q1629 -24 1637 -10Q1670 50 1713 99L1721 108H1392L1063 109L733 108H404L412 99Q455 50 488 -10Q498 -27 493 -37Q487 -46 465 -46H460Q446 -46 439 -39T426 -18T399 25T344 89Q239 194 99 229Q96 230 92 231T85 232T79 234T73 235T69 237T66 240T65 244T64 250Q64 267 90 271Q197 295 286 361T430 525Q439 542 442 544T460 547H465Q487 547 492 539Q496 531 496 530Q496 521 471 482T414 405L404 394L733 393'], + + // LONG RIGHTWARDS ARROW FROM BAR + 0x27FC: [518,17,1833,65,1773,'65 426Q74 448 95 448Q112 448 125 426V281H130L132 280H134Q162 281 448 281H1188L1602 282Q1569 304 1530 357T1473 482Q1469 500 1469 501Q1469 512 1480 517Q1482 518 1500 518H1505Q1520 518 1523 515T1532 495Q1552 412 1611 351T1753 270Q1773 263 1773 251Q1773 240 1765 236T1732 225T1683 204Q1625 173 1586 122T1532 6Q1528 -10 1524 -13T1504 -17H1499Q1474 -16 1470 -9Q1469 -6 1469 -2Q1469 1 1473 17Q1501 138 1602 220H1188L775 221H135Q133 220 130 220H125V76Q115 54 95 54Q73 54 65 76V426'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Bold/SupplementalArrowsA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js new file mode 100644 index 00000000..6552bc4b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js @@ -0,0 +1,287 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [716,0,307,107,380,'330 716Q351 716 365 703T380 670V659L304 433Q230 207 227 204Q225 198 205 198Q184 198 184 207T220 439T260 669Q270 694 297 708Q300 709 304 710T311 713T316 714Q324 716 330 716ZM107 51Q110 83 133 102T179 121Q207 121 219 105T231 72Q231 45 209 23T156 0Q138 0 123 11T107 51'], + + // QUOTATION MARK + 0x22: [694,-379,514,176,538,'214 620Q214 647 236 670T289 694Q312 694 326 677T341 633V624Q341 588 327 550T294 482T253 428T216 392T196 379Q191 379 184 388T176 401Q176 404 195 421T243 472T287 547Q299 576 299 582L295 580Q291 578 282 576T264 573Q241 573 228 585T214 620ZM411 620Q411 647 433 670T486 694Q509 694 523 677T538 633V624Q538 588 524 550T491 482T450 428T413 392T393 379Q388 379 381 388T373 401Q373 404 392 421T440 472T484 547Q496 576 496 582L492 580Q488 578 479 576T461 573Q438 573 425 585T411 620'], + + // NUMBER SIGN + 0x23: [694,194,818,115,828,'281 327H228Q186 327 175 330T164 347Q164 359 176 365Q179 367 292 367H404L563 688Q569 694 578 694T593 686T597 670Q597 667 531 535L448 367H614L773 688Q779 694 787 694Q796 694 802 688T808 674V672L807 670Q807 667 732 517L658 368L736 367H814Q828 357 828 347Q828 336 812 327H637L599 250Q561 174 561 173H662H724Q760 173 769 170T779 153T770 136T729 132Q721 132 696 132T651 133H540L380 -188Q374 -194 366 -194Q357 -194 351 -188T345 -174L346 -172V-170Q346 -167 412 -35L495 133H330L170 -188Q164 -194 156 -194Q147 -194 141 -188T135 -174L136 -172V-170Q136 -167 211 -17L285 133H207L130 134Q115 140 115 153Q115 164 131 173H306L344 250Q382 326 382 327H281ZM592 327H427L389 250Q351 174 351 173H516L554 250Q592 326 592 327'], + + // PERCENT SIGN + 0x25: [750,56,818,145,847,'301 348Q257 348 231 383T205 480Q205 553 244 629T346 736Q370 750 394 750Q416 750 429 742T458 714Q512 644 606 644Q722 644 802 732Q817 750 827 750Q835 750 841 744T847 730Q847 725 827 700T689 540Q586 421 512 335Q180 -50 176 -52Q172 -56 165 -56Q157 -56 151 -50T145 -35Q145 -29 162 -9T330 186Q392 258 430 302Q711 627 711 628L701 624Q652 607 604 607Q551 607 494 634L479 642V624Q479 544 439 467Q414 416 377 382T301 348ZM270 443Q270 385 303 385H306H308Q326 385 348 407Q384 441 409 504T434 627Q434 713 390 713Q358 713 328 663Q307 631 289 556T270 451V443ZM608 -56Q573 -56 543 -23T513 76Q513 129 536 190T604 296L627 318Q670 347 704 347Q747 347 767 310T788 222Q788 126 732 35T608 -56ZM742 222Q742 310 699 310Q677 310 655 285T620 227Q608 197 593 138T578 42V36Q578 -18 613 -18Q657 -18 699 64T742 222'], + + // AMPERSAND + 0x26: [716,23,767,127,802,'209 444Q209 546 278 631T424 716Q473 716 501 683T530 601Q530 554 511 535T467 515Q446 515 437 527T427 553Q427 578 446 594T481 610H483V617Q480 641 464 660T419 679Q367 679 328 603Q316 578 305 538T288 470L282 443L295 449Q308 455 330 462T371 469Q397 469 413 450T430 404Q430 363 400 329T331 295Q291 295 256 322Q255 322 246 293T227 223T217 158Q217 117 232 88T273 43T327 22T387 15Q457 15 512 37T599 93T652 169T680 248T688 317T678 380T659 423T647 437Q643 435 637 431T613 416T581 392T554 364T538 332Q540 310 541 310Q554 335 587 335Q601 335 613 327T626 300Q626 290 622 279T603 255T563 242Q532 245 512 263T491 320Q494 351 511 377T547 418T600 456T652 494Q676 512 697 539T728 582T738 601Q738 602 736 602Q732 602 726 604T714 616T707 638Q707 661 724 677T764 694Q799 694 802 660Q802 625 767 562T688 467L694 458Q700 449 702 444T711 428T720 408T727 385T733 358T735 327Q735 281 724 235T685 141T617 59T515 1T375 -22Q270 -22 199 34T127 181Q127 216 147 270T207 374L216 386Q209 421 209 444ZM386 412Q386 432 366 432Q345 432 325 418T294 390T284 375Q284 371 289 362T306 343T335 332Q355 332 367 350T383 384T386 412'], + + // APOSTROPHE + 0x27: [694,-378,307,212,377,'250 620Q250 647 272 670T325 694Q348 694 362 677T377 633V624Q377 566 343 506T275 412T231 379Q226 379 220 388T213 401T232 421T279 472T323 547Q335 573 335 582L331 580Q327 578 318 576T300 573Q277 573 264 585T250 620'], + + // LEFT PARENTHESIS + 0x28: [750,250,409,144,517,'241 -250Q203 -212 174 -140T144 39Q144 158 180 288T296 544T481 746L487 750H499Q517 750 517 740Q517 736 495 716Q399 630 331 491T236 228T208 3Q208 -73 224 -130T255 -214T271 -244Q271 -250 252 -250H241'], + + // RIGHT PARENTHESIS + 0x29: [750,250,409,17,390,'326 497Q326 546 320 588T304 655T285 699T269 728T262 740Q262 746 267 749L272 750Q276 750 281 750H293Q331 712 360 640T390 461Q390 332 339 171T188 -116Q161 -150 121 -188T47 -250H35Q17 -250 17 -240Q17 -236 39 -216Q135 -130 203 9T298 272T326 497'], + + // ASTERISK + 0x2A: [750,-320,511,195,584,'560 658Q569 658 576 649T584 631Q584 625 583 620T577 611T569 603T556 595T540 587T519 578T494 566L428 536Q427 535 433 531T479 502Q525 475 532 469T539 450Q538 435 525 424T497 412Q489 412 482 418T442 456Q400 497 400 494L387 420Q376 353 373 343T352 323Q345 320 336 320H331Q322 320 316 327T309 343Q309 347 334 420L359 496Q358 496 297 456T234 414Q228 411 221 411Q212 411 204 417T195 439Q198 458 209 465T283 502L353 534L300 566Q255 593 247 599T239 616Q239 631 252 644T282 658Q290 658 295 654T335 615L378 573L391 647Q393 657 395 671T398 691T400 706T404 720T408 730T414 739T423 744T434 749Q435 749 439 749T445 750Q467 748 469 728Q469 723 457 685T432 610L420 573L481 613Q548 658 560 658'], + + // PLUS SIGN + 0x2B: [557,57,767,139,753,'139 237T139 250T151 266T198 270H293H431L465 407Q469 424 476 452Q494 528 500 542T519 557Q526 557 532 552T538 538Q538 536 507 409T472 272Q472 270 604 270Q737 270 741 268Q753 261 753 250Q753 237 742 233T696 229Q687 229 655 229T599 230H462L461 226Q461 224 427 91T392 -47Q387 -57 374 -57Q367 -57 361 -51T355 -37Q355 -31 388 99L421 230H288Q267 230 238 230T199 229Q163 229 151 233'], + + // COMMA + 0x2C: [121,194,307,69,232,'106 46Q106 68 121 90T167 120Q168 120 173 120T180 121Q232 121 232 59V54Q232 18 219 -20T186 -88T145 -143T109 -181T88 -194Q84 -194 77 -185T69 -171Q69 -168 70 -166T76 -161T85 -154T101 -139T124 -114Q146 -88 162 -58T183 -12T188 7Q187 7 183 5T172 2T156 0Q129 0 118 14T106 46'], + + // HYPHEN-MINUS + 0x2D: [251,-180,358,84,341,'205 180H131Q102 180 93 181T84 190Q90 238 103 251H334Q341 244 341 241Q341 236 336 214T327 186Q325 181 312 181T205 180'], + + // FULL STOP + 0x2E: [121,0,307,107,231,'107 50Q107 76 129 98T181 121Q203 121 217 108T231 72Q231 47 210 24T156 0Q135 0 121 13T107 50'], + + // SOLIDUS + 0x2F: [750,250,511,19,617,'596 750Q604 750 610 744T617 730L616 728Q616 727 616 726Q615 723 337 244T55 -242Q49 -250 40 -250Q30 -250 25 -243Q18 -238 20 -226Q21 -223 299 256T581 742Q589 750 596 750'], + + // DIGIT ZERO + 0x30: [665,21,511,110,562,'414 665Q562 665 562 490Q562 426 534 318Q451 -21 251 -21Q222 -21 202 -15Q155 2 134 40T110 144Q110 201 127 286T187 470T287 614Q348 665 414 665ZM187 98Q187 59 208 37T260 15Q320 15 365 83Q394 128 440 312T487 547Q487 580 471 600T433 627Q428 628 408 628Q381 628 353 609T311 569Q279 526 239 364T190 143Q187 120 187 98'], + + // DIGIT ONE + 0x31: [666,0,511,110,468,'248 491Q228 491 228 502Q228 516 236 532Q237 536 246 537T275 541T314 552Q350 567 382 595T430 644L446 664Q450 666 454 666Q468 666 468 658Q468 647 395 359Q321 63 321 59Q321 52 334 50T388 46H422Q428 37 428 35Q428 19 421 5Q416 0 405 0Q400 0 361 1T263 2Q215 2 185 2T142 1T127 0Q110 0 110 11Q110 13 113 25T118 40Q120 46 146 46Q196 46 212 49T235 61Q238 66 295 295L353 526L340 519Q328 512 302 503T248 491'], + + // DIGIT TWO + 0x32: [666,22,511,76,551,'159 404Q159 433 176 476T222 562T297 635T395 666Q466 666 508 617T551 497Q551 473 545 446Q534 388 482 333Q441 292 355 240T264 184Q216 151 179 101L171 91Q171 90 177 90Q206 90 269 77T366 64Q385 64 390 65Q418 73 441 98T475 156Q479 168 481 170T495 173H518Q524 167 524 166T521 152Q502 86 459 32T353 -22Q315 -22 259 15T172 53Q156 53 143 36T126 1L121 -16Q119 -22 98 -22H82Q76 -16 76 -13T80 5T98 50T132 111T189 178T274 242Q327 273 364 305T420 370T447 427T460 483Q466 514 466 538Q466 586 443 607T389 629Q338 629 293 584T226 487T204 399Q204 390 204 386T209 378T222 373Q258 376 282 422T307 493Q307 506 302 517T297 531Q297 537 308 546T327 551Q329 550 333 543T340 523T344 497Q344 450 306 393T216 336Q186 336 173 355T159 396V404'], + + // DIGIT THREE + 0x33: [666,22,511,96,562,'296 531Q296 536 307 544T322 553Q330 553 338 534T346 501Q346 468 319 440T258 412Q232 412 216 430T200 478Q200 552 281 618Q345 666 416 666Q489 666 525 625T562 530Q562 473 525 419T430 335L416 329Q479 288 479 206Q479 142 440 89T344 7T229 -22Q173 -22 135 12T96 106Q96 192 157 192Q192 192 197 157Q197 134 184 117T142 96Q153 47 180 29Q201 15 232 15Q249 15 275 22Q307 34 331 57Q363 90 379 153T396 246Q396 261 393 272T384 290T371 301T355 308T341 311T326 312H316H307Q287 312 282 313T276 320Q276 323 279 337T283 352Q284 356 290 357T325 358Q364 359 368 360Q386 365 400 372T433 397T464 448T485 527Q487 535 487 556Q487 629 414 629Q350 629 298 580T245 476Q245 450 263 450H264Q280 450 294 463T308 496Q308 508 302 518T296 531'], + + // DIGIT FOUR + 0x34: [666,195,511,46,478,'448 34Q453 34 463 22T473 5Q473 -2 457 -7Q417 -22 383 -23H366L350 -91Q348 -98 345 -111T340 -130T335 -146T330 -161T325 -172T318 -182T310 -188T299 -193T286 -194Q256 -194 253 -165Q253 -159 271 -83T292 -5Q231 29 169 29Q114 29 91 14Q72 -2 65 1Q46 20 46 28Q46 35 55 43T77 60T96 74Q306 257 396 623Q410 666 444 666Q459 666 468 657T478 634Q478 627 470 595T440 504T387 381T303 239T187 99L164 75H178Q217 75 260 59L304 43Q304 48 325 127Q342 195 346 207T358 228Q372 242 391 242Q403 242 413 235T423 214Q423 205 402 116T378 25Q378 23 387 23Q405 23 418 25T439 31T448 34'], + + // DIGIT FIVE + 0x35: [667,22,511,106,567,'196 304Q189 309 189 314Q189 317 231 487T275 660Q278 666 283 666Q287 666 302 658T346 643T413 635Q447 635 481 642T537 658T559 666Q561 666 564 663T567 658Q565 637 557 629Q528 600 474 573T359 545Q342 545 327 546T304 550T294 552L291 540Q288 529 283 507T273 465L251 379Q307 420 364 420Q415 420 456 382T497 261Q497 165 429 82T262 -20Q256 -20 247 -21T233 -22Q176 -22 141 15T106 112Q106 208 173 208Q192 208 203 197T214 169Q214 143 195 125T156 107H153V100Q155 73 174 47T239 21Q245 21 259 23Q355 46 392 200Q393 205 394 207Q412 276 412 312Q412 352 396 367T358 383Q288 383 233 314Q226 306 224 305T209 304H196'], + + // DIGIT SIX + 0x36: [665,22,511,120,565,'377 434Q425 434 457 404T499 341T509 278Q509 243 496 194T456 105T383 27Q322 -22 256 -22Q142 -22 122 114Q120 130 120 159Q120 221 135 292T195 452T310 599Q390 665 465 665Q565 665 565 583V574Q565 543 546 524Q528 506 504 506Q491 506 478 514T465 543Q465 585 515 602Q505 626 466 626Q419 626 372 587Q334 557 305 503T266 409L255 370Q287 410 339 429Q361 434 377 434ZM424 333Q424 359 411 378T365 397Q318 397 282 356T230 257T205 157T197 94Q197 67 211 45T260 22Q313 22 341 57T386 151Q424 283 424 333'], + + // DIGIT SEVEN + 0x37: [666,22,511,136,634,'466 519Q448 519 435 528T416 550T400 571T376 581Q324 581 271 540T186 437Q185 435 183 432T181 428T179 426T177 424T174 423T171 422T165 422H159Q141 422 141 423Q136 423 136 431Q136 433 190 548T247 665Q249 666 266 666H282Q288 660 288 657Q288 655 284 646T276 628L273 620Q337 666 390 666Q413 666 425 652T438 620T444 584T457 559Q460 557 470 557Q497 557 524 582T571 635T594 665Q595 666 612 666H628Q634 660 634 657Q634 653 618 629T572 556T510 441T437 269T367 43Q356 -22 304 -22Q291 -22 278 -14T263 14Q263 36 281 95T354 269T486 507Q497 524 495 524Q482 519 466 519'], + + // DIGIT EIGHT + 0x38: [666,21,511,99,553,'209 449Q209 545 278 605T416 666Q482 666 517 631T553 546Q553 513 539 482T504 430T463 394T426 370L410 360L430 343Q471 309 483 278T495 211Q495 141 441 75Q363 -21 253 -21Q182 -21 141 18T99 117Q99 161 119 201T170 268T222 308T259 331L272 338L259 349Q212 389 209 449ZM492 542Q492 586 469 605T415 625Q360 625 320 587T279 505Q279 495 281 487T286 474T295 460T306 449T321 436T337 422Q379 386 380 386Q389 386 420 412T472 471Q492 513 492 542ZM163 118Q163 76 189 49T258 21Q316 21 368 64T420 170Q420 193 412 208T395 233T350 271L302 312Q298 312 284 303T249 276T209 235T177 181T163 118'], + + // DIGIT NINE + 0x39: [666,22,511,107,554,'297 211Q258 211 230 228T189 273T169 323T163 367Q163 411 183 472T254 585Q327 656 401 665Q403 665 412 665T427 666Q458 664 481 652T518 622T539 580T550 535T553 491Q553 448 544 395T515 277T454 148T358 37Q282 -22 213 -22Q166 -22 137 -1T107 55V64Q107 88 114 104T134 127T154 136T169 138Q185 138 196 128T207 101Q207 82 196 68T172 48L161 43Q161 40 167 36T187 26T219 21Q286 21 344 99Q364 126 382 169T408 241T417 275L412 269Q406 263 395 253T370 234T337 218T297 211ZM476 552Q476 626 417 626Q368 626 330 584Q312 563 300 533T270 433Q248 341 248 312Q248 286 262 267T310 248Q353 248 387 287T440 380T467 480T476 552'], + + // COLON + 0x3A: [431,0,307,107,308,'184 358Q184 385 206 408T258 431Q279 431 293 418T308 383Q308 354 284 332T233 310Q212 310 198 324T184 358ZM107 50Q107 76 129 98T181 121Q203 121 217 108T231 72Q231 47 210 24T156 0Q135 0 121 13T107 50'], + + // SEMICOLON + 0x3B: [431,195,307,70,308,'184 358Q184 385 206 408T258 431Q279 431 293 418T308 383Q308 354 284 332T233 310Q212 310 198 324T184 358ZM107 47Q107 77 130 99T180 121Q226 121 226 61Q226 25 214 -14T182 -84T144 -140T109 -180T88 -194T77 -185T70 -172Q70 -169 84 -155T121 -112T161 -48Q180 -10 180 3Q180 4 174 2Q172 2 166 1T156 0Q135 0 121 13T107 47'], + + // EQUALS SIGN + 0x3D: [367,-133,767,116,776,'776 357T776 347T761 327H470Q180 327 176 329Q164 334 164 347Q164 359 176 365Q179 367 470 367H761Q776 357 776 347ZM116 143T116 153T131 173H422Q713 173 717 171Q728 166 728 153T717 135Q713 133 422 133H131Q116 143 116 153'], + + // QUESTION MARK + 0x3F: [716,0,511,195,551,'235 431Q217 431 206 442T195 468Q195 490 215 537T280 638T380 707Q403 716 423 716Q425 716 429 716T436 715Q485 715 518 681T551 590Q551 543 530 503T482 439Q471 428 400 375T318 310Q300 287 300 259Q300 236 315 236Q333 236 352 251T384 300Q386 306 407 306H423Q429 300 429 297Q429 272 393 235T308 198Q287 198 269 215T251 270Q251 330 293 374L374 436Q377 438 401 456T432 480T457 503T481 531T494 561T501 598Q501 614 499 626Q482 678 430 678H426Q392 678 362 660T311 615T280 571T264 540L259 528Q259 527 266 526T283 516T294 492Q294 466 276 449T235 431ZM209 51Q212 83 235 102T281 121Q309 121 321 105T333 72Q333 45 311 23T258 0Q240 0 225 11T209 51'], + + // COMMERCIAL AT + 0x40: [705,12,767,152,789,'198 250Q198 155 248 91T394 26Q514 26 640 80L650 84H675H683Q709 84 709 76Q709 73 708 71Q706 64 660 45T534 8T383 -11T260 24T181 115Q152 168 152 248Q152 410 268 552Q303 590 324 608Q439 705 551 705Q611 705 658 683T733 623T775 543T789 454Q789 380 766 304T720 192Q677 125 617 125Q591 125 573 137T548 160T541 176Q541 178 540 178L534 173Q527 168 515 160T488 144T454 131T417 125Q361 125 320 166T279 284Q279 393 356 481T523 569Q570 569 603 537Q623 515 632 490L637 480L657 479Q684 479 684 470Q684 465 650 333L617 199V185Q616 162 628 162Q677 162 712 278Q743 381 743 442Q743 555 687 611T553 668Q467 668 385 608T250 450T198 250ZM598 445Q598 453 594 470T569 510T518 532Q463 532 410 448T356 271Q356 220 374 191T423 162Q482 162 552 255L575 348Q598 440 598 445'], + + // LATIN CAPITAL LETTER A + 0x41: [716,0,743,58,696,'85 46Q112 48 132 56T161 73T176 92T185 104Q185 106 353 407T524 709Q527 716 551 716Q568 716 572 712Q573 711 574 710Q576 708 594 384Q613 54 617 52H618Q626 46 672 46H689Q696 41 696 36Q696 13 683 0H670Q639 2 557 2Q526 2 500 2T459 2T441 1Q425 1 425 10Q425 12 427 24Q428 27 429 31T430 36T432 40T434 43T437 45T443 46T450 46Q514 46 514 69Q514 74 511 136L506 209H292L260 152Q222 84 222 74Q222 48 264 46Q280 46 280 35Q280 33 278 21Q275 7 272 4T259 0Q256 0 232 1T159 2Q135 2 109 1T78 0Q58 0 58 10Q58 14 61 26T66 40Q68 46 85 46ZM504 260Q503 263 496 407T486 553L466 520Q446 486 402 406L318 256Q318 255 411 255H504V260'], + + // LATIN CAPITAL LETTER B + 0x42: [683,0,704,57,732,'57 11Q57 38 69 45L74 46Q78 46 85 46T99 46Q134 47 145 50T162 62Q164 66 233 344T303 626Q303 627 302 629V631Q296 637 241 637H223Q217 642 217 645T219 664Q223 677 229 683H411L593 682L605 680Q616 678 628 675T660 662T694 639T720 601T732 547Q732 519 726 503Q710 452 662 414T556 360L545 357L556 355Q604 346 641 312T678 221Q678 155 622 92T482 8Q459 2 439 2T256 0H154H105Q74 0 66 2T57 11ZM629 549Q628 550 629 557T627 576T619 600T601 622T570 636Q564 637 490 637Q472 637 454 637T424 636T411 636Q399 635 395 622T364 500Q333 377 332 376Q332 374 408 374L485 375L495 377Q547 390 588 437T629 549ZM504 336Q500 337 410 337Q323 337 322 336Q322 334 305 263T270 122T252 51Q252 47 337 46Q346 46 361 46T384 45Q425 45 455 55T515 95Q574 156 574 235Q574 276 555 304T504 336'], + + // LATIN CAPITAL LETTER C + 0x43: [705,21,716,150,812,'395 -21Q279 -21 215 56T150 244Q150 402 265 543Q339 630 421 667T562 704Q596 704 604 703Q627 698 647 689T679 669T699 649T711 633T716 627L753 665Q790 704 792 704Q793 705 798 705Q812 705 812 698Q812 694 780 561Q744 422 744 421Q742 416 739 415T721 413H705Q699 419 699 426Q701 432 701 444Q705 464 705 493Q705 524 700 551T681 604T643 644T583 659Q480 659 387 570Q321 502 287 397T252 213Q252 123 297 74Q347 24 421 24Q500 24 564 89T653 240Q656 253 659 255T677 257Q700 257 700 248Q700 242 694 222Q681 183 656 143T593 65T504 3T395 -21'], + + // LATIN CAPITAL LETTER D + 0x44: [683,0,755,56,775,'56 11Q56 38 68 45L72 46Q77 46 84 46T98 46Q133 47 144 50T161 62Q163 66 232 344T302 626Q302 627 302 629L301 631Q295 637 240 637H222Q216 642 216 645T218 664Q222 677 228 683H403Q582 683 589 682Q672 674 723 608T775 440Q775 312 709 209T562 54Q502 14 432 2Q423 1 243 0H148H102Q72 0 64 2T56 11ZM254 51Q254 46 348 46Q395 46 422 50T484 71Q585 121 633 255Q679 396 679 477Q679 522 665 554T629 603T587 626T548 636Q547 636 536 636T510 636T480 637Q420 637 411 636T398 627Q396 623 325 339T254 51'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,678,54,743,'248 634Q216 634 214 638Q213 641 213 646Q213 674 224 678Q226 680 481 680H736Q743 676 743 669Q743 665 729 557T713 447Q711 440 690 440H675Q667 445 667 454Q667 455 671 481T675 536Q675 583 658 604T592 632Q574 634 475 634Q439 634 424 633T405 631T399 625Q397 622 367 501T336 377Q336 376 367 376H388Q451 376 477 389Q493 399 503 419T520 462T528 489Q531 493 549 493Q557 493 561 492T566 491T569 488T572 483L539 351Q507 221 503 216Q503 216 500 213H484Q468 213 465 216Q461 219 461 225Q461 228 466 250T472 290Q472 317 452 323T368 330H324Q323 326 289 191T255 51T331 46H360Q413 46 444 49T511 67T570 113Q589 137 608 175T638 242T652 272Q656 274 670 274Q693 274 693 262L648 148Q590 4 588 2Q585 0 323 0H61Q54 4 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623Q299 630 292 631T248 634'], + + // LATIN CAPITAL LETTER F + 0x46: [680,-1,653,54,731,'299 623Q299 630 292 631T247 634H219Q213 640 213 642T215 661Q218 673 225 680H724Q731 676 731 669Q731 665 717 557T701 447Q699 440 678 440H663Q656 444 656 452Q656 457 659 485T663 538Q663 586 644 607T566 633Q564 633 535 633T486 634H458Q404 634 399 625Q396 620 364 492L332 363H380Q446 365 464 373Q496 389 514 458Q518 477 523 479Q527 480 541 480H556Q563 475 563 470Q563 467 532 339T498 207Q496 200 475 200H460Q453 207 453 212Q454 213 456 225T461 254T464 278Q464 304 445 310T369 317H321L289 190Q257 66 257 59Q257 54 261 52T283 48T337 46Q348 46 352 46T360 45T366 42T368 37Q368 32 365 23Q360 4 355 2Q352 1 342 1Q336 1 297 1T199 2Q138 2 106 2T71 1H68Q54 1 54 11Q54 38 66 45L70 46Q75 46 82 46T96 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623'], + + // LATIN CAPITAL LETTER G + 0x47: [705,22,774,150,812,'632 -1Q629 -1 622 5T604 25T583 53Q508 -22 394 -22Q287 -22 219 52T150 244Q150 402 265 543Q339 630 421 667T562 704Q596 704 604 703Q627 698 647 689T679 669T699 649T711 633T716 627L753 665Q790 704 792 704Q793 705 798 705Q812 705 812 698Q812 694 780 561Q744 422 744 421Q742 416 739 415T721 413H705Q699 419 699 426Q701 432 701 444Q705 464 705 493Q705 524 700 551T681 604T643 644T583 659Q480 659 387 570Q319 501 286 394T252 208Q252 156 269 118T314 61T369 33T425 24Q470 24 509 46T566 104Q571 116 583 162T595 214Q595 222 583 223Q561 227 517 227H495Q488 230 488 238Q488 254 495 268Q500 273 511 273Q515 273 532 273T581 272T649 271Q731 271 752 273H761Q767 267 767 264T765 246Q761 233 755 227H742Q698 227 693 213L639 4Q636 -1 632 -1'], + + // LATIN CAPITAL LETTER H + 0x48: [683,0,743,54,860,'61 0Q54 7 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62Q161 66 230 344T300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H239Q307 681 372 681Q480 681 486 683H496Q502 677 502 674T500 656Q496 643 490 637H472Q418 637 406 630Q400 627 396 612T367 500Q360 474 352 442T340 395L336 380Q336 378 466 378H596Q657 622 657 626Q657 627 656 629V631Q650 637 595 637H577Q571 642 571 645T573 664Q577 677 583 683H596Q664 681 729 681Q837 681 843 683H853Q860 676 860 672Q858 647 848 637H819Q783 636 772 634T756 623Q753 618 684 340T614 57Q614 50 621 49T666 46Q697 46 699 40Q701 37 698 21Q693 3 689 1Q686 0 677 0Q673 0 657 0T611 1T546 2Q453 2 428 0H418Q411 7 411 11Q411 27 418 41Q422 46 452 46Q488 47 499 50T516 62Q517 64 550 196T584 331Q584 332 454 332H324L291 197Q257 64 257 56Q257 50 265 49T309 46Q340 46 342 40Q344 37 341 21Q336 3 332 1Q329 0 320 0Q316 0 300 0T254 1T189 2Q96 2 71 0H61'], + + // LATIN CAPITAL LETTER I + 0x49: [683,0,386,49,508,'235 637Q217 637 213 638T209 649Q209 673 220 682Q222 683 237 683Q278 681 369 681Q404 681 441 682T483 683Q499 683 503 681T508 672Q508 670 505 658T500 643Q498 637 464 637Q425 635 415 633T398 621Q396 618 327 340T257 58T260 52T278 48T322 46Q349 46 349 36Q349 31 346 22Q342 4 337 1Q336 1 334 1T329 0Q325 0 307 0T258 1T190 2Q95 2 67 0H56Q49 7 49 11Q51 38 62 46H91Q129 47 141 50T159 62Q161 66 230 344T300 625Q300 637 235 637'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,22,525,78,622,'361 637Q333 637 331 641Q330 644 330 649Q330 673 341 682Q343 683 360 683Q405 681 500 681Q551 681 577 681T607 682Q622 682 622 673Q622 665 616 647Q614 640 610 639T587 637Q547 636 541 624Q538 618 477 374T413 124Q391 64 333 22T207 -21T109 12T78 86Q78 130 101 150T149 170Q193 170 196 129Q196 100 178 80T137 58L132 57Q134 52 138 46T160 28T205 16Q242 16 273 48T319 122Q322 129 383 371T444 627Q444 637 361 637'], + + // LATIN CAPITAL LETTER K + 0x4B: [683,0,769,54,859,'668 621Q668 635 645 637Q629 637 629 648Q629 650 632 662T637 677Q640 682 653 682Q657 682 688 681T764 680Q786 680 810 681T839 682Q859 682 859 672Q859 655 852 643Q849 637 839 637Q804 637 768 621T717 595T697 578Q696 578 600 497L505 417L508 408Q543 311 574 227T618 106T632 69Q645 47 688 46H707Q713 38 713 37T710 19Q706 6 700 0H688Q659 2 587 2Q557 2 532 2T492 2T474 1Q458 1 458 10Q458 13 460 23Q464 39 466 42T480 46Q526 46 526 72Q526 75 476 213L427 350Q426 350 396 325T334 272T302 242Q302 241 299 230T290 194T279 150Q257 61 257 55Q257 50 265 49T309 46H337Q343 40 343 38T341 19Q337 6 331 0H316Q280 2 190 2Q158 2 131 2T89 2T70 1Q54 1 54 11Q54 38 66 45L70 46Q75 46 82 46T96 46Q131 47 142 50T159 62Q161 66 230 344T300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H239Q307 681 372 681Q386 681 414 681T464 682L487 683H496Q502 677 502 674T500 656Q495 641 491 637H462Q426 636 415 634T399 623Q396 618 358 467L320 314Q321 314 484 452Q510 474 552 509Q625 570 646 590T668 621'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,0,627,54,628,'61 0Q54 4 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62Q161 66 230 344T300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H240Q275 681 371 681Q407 681 438 681T487 682T509 682Q527 682 527 674Q527 670 524 659Q523 657 523 654T522 649T520 645T519 642T517 640T515 639T512 638T507 637T502 637T494 637H478Q433 636 417 633T396 617Q395 614 325 334T255 51Q255 47 319 47Q387 47 410 52Q459 65 494 98T543 163T570 229T589 273H622Q628 264 628 262Q628 259 584 133T539 5Q537 1 511 1Q482 0 296 0H61'], + + // LATIN CAPITAL LETTER M + 0x4D: [683,0,897,58,1010,'72 1Q58 1 58 11Q58 33 66 41Q68 46 87 46Q150 50 168 84Q172 91 238 356T304 626Q304 627 304 629L303 631Q297 637 242 637H224Q218 642 218 645T220 664Q224 677 230 683H326H394Q417 683 422 682T429 676L480 127L502 163Q523 199 560 262T642 400Q801 668 805 676L817 683H1003Q1010 678 1010 672Q1010 650 997 637H979Q915 637 906 623Q903 618 834 340T764 57Q764 50 771 49T817 46H845Q851 38 851 37T848 19Q845 7 838 0H824Q789 2 701 2Q670 2 644 2T603 2T584 1Q569 1 569 11Q569 13 571 25Q576 42 581 45L586 46Q590 46 597 46T611 46Q646 47 657 50T674 62L813 616L634 313Q453 7 452 7Q446 0 428 0Q409 0 407 6Q405 10 379 304T351 604L285 348Q220 83 220 82Q220 65 233 57T279 46H295Q301 38 301 37T298 19Q295 7 288 0H275Q244 2 171 2Q145 2 123 2T88 2T72 1'], + + // LATIN CAPITAL LETTER N + 0x4E: [683,1,743,54,860,'633 637Q624 637 621 639T617 650Q617 670 630 683H641Q682 680 736 680Q836 680 845 683H853Q860 676 860 672Q858 647 848 637H832Q764 633 750 598Q746 590 673 300Q656 230 638 156T610 44L600 7Q598 0 576 0H559Q553 6 448 297L342 588Q341 588 279 336T216 81Q216 49 274 46Q293 46 295 40Q297 37 294 21Q293 19 292 16T291 11T290 7T289 4T287 2T284 1T280 1T275 0T263 0T229 1T167 2Q91 2 70 0H61Q54 7 54 11T57 27Q61 41 64 43T83 46Q146 50 164 84Q167 90 235 362L303 634Q300 635 253 637H220Q214 643 214 645T216 664Q220 677 226 683H314Q386 683 397 683T410 677Q412 675 501 428L591 179Q591 178 592 180T595 189T600 209T610 246T624 303T645 385Q698 595 698 606Q698 618 683 627T633 637'], + + // LATIN CAPITAL LETTER O + 0x4F: [704,22,767,149,788,'149 237Q149 326 186 413T282 563T412 665T552 704Q619 704 667 678T741 611T777 528T788 444Q788 328 728 219T572 44T377 -22Q275 -22 212 50T149 237ZM688 487Q688 570 650 617T548 665Q467 665 398 592T291 413T253 203Q253 119 290 70T387 20Q440 20 489 52T573 135T635 249T675 373T688 487'], + + // LATIN CAPITAL LETTER P + 0x50: [683,0,678,55,729,'62 0Q55 7 55 11Q55 27 62 41Q66 46 96 46Q132 47 143 50T160 62Q162 66 231 344T301 626Q301 627 300 629V631Q294 637 239 637H221Q215 642 215 645T217 664Q221 677 227 683H404H431H502Q578 683 615 675T684 636Q729 595 729 531Q729 462 671 396T524 308Q499 302 404 301H318L288 182Q258 63 258 55T310 46Q341 46 343 40Q345 37 342 21Q337 3 333 1Q330 0 321 0Q317 0 301 0T255 1T190 2Q97 2 72 0H62ZM626 555V562Q626 620 552 635Q546 636 481 637Q466 637 450 637T423 636T412 636Q401 635 398 627Q396 622 361 484Q353 452 344 416T330 362L325 344Q325 342 390 342H427Q523 342 567 386Q596 415 611 473T626 555'], + + // LATIN CAPITAL LETTER Q + 0x51: [704,195,767,149,788,'460 -107Q460 -72 464 -42T468 -7L457 -10Q446 -14 424 -18T379 -22Q276 -22 213 50T149 237Q149 326 186 413T282 563T412 665T552 704Q664 704 726 631T788 442Q788 305 703 180Q627 64 517 13L506 8Q506 7 508 -12T513 -38T522 -59T538 -79T565 -85Q604 -85 634 -59T672 0Q676 11 684 11Q693 11 695 2Q695 -1 690 -20T673 -69T644 -126T599 -174T538 -194Q464 -194 460 -110Q460 -108 460 -107ZM689 481Q689 578 646 621T551 665Q468 665 391 586Q321 512 285 399T249 202Q249 106 295 58Q310 41 314 41Q315 41 315 46Q315 83 344 118T420 154Q450 154 473 135Q493 114 500 69L502 58L512 65Q571 110 613 192T672 348T689 481ZM472 49Q472 118 415 118Q393 118 373 98T353 51Q353 18 386 18H387Q424 18 472 40V49'], + + // LATIN CAPITAL LETTER R + 0x52: [683,22,729,55,723,'62 0Q55 7 55 11Q55 27 62 41Q66 46 96 46Q132 47 143 50T160 62Q162 66 231 344T301 626Q301 627 300 629V631Q294 637 239 637H221Q215 642 215 645T217 664Q221 677 227 683H386Q554 682 569 679Q571 678 580 676Q643 662 680 623T717 533Q717 473 667 420T528 337L538 330Q563 314 578 286T594 228Q594 212 588 147T581 65Q581 36 589 26T616 16H618Q637 16 652 37Q668 57 677 94Q679 105 701 105T723 95Q723 89 717 72T698 33T662 -5T610 -22Q555 -22 513 3T471 88Q471 107 486 168T502 244Q502 303 452 320Q445 322 382 323H320L288 192Q255 63 255 55T307 46Q338 46 340 40Q342 37 339 21Q335 3 330 1Q326 0 320 0Q317 0 306 0T265 1T190 2Q99 2 73 0H62ZM612 558Q612 566 612 568T610 581T603 597T590 611T567 625T532 635Q526 636 470 637Q458 637 445 637T422 636T412 636Q402 635 397 627L390 598Q383 570 373 532T354 455T337 389T330 361Q356 360 384 360H415Q483 360 527 382Q557 399 574 424T604 498Q612 533 612 558'], + + // LATIN CAPITAL LETTER S + 0x53: [706,22,562,74,633,'198 460Q198 551 269 628T432 705Q516 705 557 644L583 673Q589 679 593 684T600 693T605 698T609 702T611 704T614 705T618 705H620Q633 705 633 698T605 577T573 459L570 456H554Q546 456 543 456T536 457T532 460T531 466Q531 469 533 489T536 532Q536 573 525 600T496 640T462 657T427 662Q369 662 325 612T281 503Q281 475 290 458T318 430T356 415T407 401T463 383Q506 360 522 323T538 258V244Q538 141 465 60T300 -22Q198 -22 152 41L143 31Q137 25 126 12T106 -10T95 -21L92 -22Q88 -22 86 -22Q81 -22 78 -20T74 -16V-14Q74 -11 132 221Q134 227 155 227H171Q177 221 177 215Q177 212 175 205T171 182T169 147Q171 99 195 70T246 33T306 25Q358 25 400 70T453 169Q455 180 455 203V210Q455 263 414 285Q409 288 347 305Q271 328 254 339Q239 350 224 371Q198 409 198 460'], + + // LATIN CAPITAL LETTER T + 0x54: [677,0,716,171,806,'178 437Q173 442 171 446Q171 451 238 654Q243 670 250 677H681H762Q792 677 799 676T806 667Q806 661 788 553T768 444Q768 437 746 437Q727 437 723 445Q723 450 729 492T736 562Q736 589 728 602T693 624Q675 630 622 630H595Q575 630 571 629T564 623Q562 621 492 342T422 59Q422 48 502 46H542Q548 38 548 37T545 19Q541 6 535 0H517Q475 2 357 2Q315 2 279 2T223 2T198 1Q179 1 179 9Q179 14 182 24Q187 42 190 44Q194 46 206 46H232Q289 47 301 49T326 65L395 344Q465 619 465 626Q465 629 462 629Q456 631 411 631Q364 631 336 625T288 597T255 549T224 467Q215 442 210 437H178'], + + // LATIN CAPITAL LETTER U + 0x55: [683,22,743,194,860,'636 637Q627 637 624 639T620 650Q620 670 633 683H644Q702 681 753 681Q760 681 772 681T796 681T820 682T838 683H845H853Q860 676 860 672Q858 647 848 637H832Q764 633 750 598Q745 588 698 400T648 204Q627 140 584 86Q484 -22 378 -22Q300 -22 247 31T194 167Q194 176 194 182T196 198T200 218T207 248T217 288T231 346T250 422Q300 618 300 626Q300 627 300 629L299 631Q293 637 238 637H220Q214 642 214 645T216 664Q220 677 226 683H239Q307 681 372 681Q480 681 486 683H496Q502 677 502 674T500 656Q496 643 490 637H472Q418 637 406 630Q400 627 394 603T344 410Q299 232 292 198T284 135Q284 102 294 78T322 44T355 29T387 24Q455 24 515 74T604 211Q605 215 653 404T701 607Q701 618 686 627T636 637'], + + // LATIN CAPITAL LETTER V + 0x56: [683,22,743,205,868,'667 637Q657 637 654 639T650 650Q650 670 663 683H675Q704 681 772 681Q793 681 818 682T847 683Q868 683 868 672Q868 670 865 658T860 643Q857 637 848 637Q785 637 749 587L394 -15Q387 -22 366 -22Q346 -22 342 -16Q341 -13 313 303Q285 622 285 623Q283 631 273 634T229 637Q205 637 205 648Q205 654 208 666T217 682Q219 683 230 683Q276 680 329 680Q444 680 456 683H466Q472 677 472 674T470 656Q466 643 460 637H448Q384 637 384 615Q385 612 406 371T427 126Q427 125 495 240T632 473T704 596Q707 604 707 609Q707 633 667 637'], + + // LATIN CAPITAL LETTER W + 0x57: [683,22,999,205,1124,'234 637H226Q205 637 205 648Q205 673 216 682Q218 683 231 683Q265 681 340 681Q371 681 404 682T443 683Q458 683 462 681T467 672Q467 670 464 658T459 643Q457 637 434 637Q407 636 394 632T378 623T376 613Q376 589 385 377T394 149L511 361Q542 419 596 519L613 551L612 585Q610 621 610 624Q608 637 559 637H555Q537 637 537 647Q537 654 540 664Q544 677 550 683H561Q600 680 656 680Q771 680 783 683H792Q798 677 798 675T796 658Q792 643 790 640T778 637H774Q721 637 708 620L717 385Q726 150 727 149Q727 148 752 193T812 303T882 433T942 546T969 596Q970 600 970 606Q970 610 969 613T966 620T961 625T955 628T949 631T941 633T934 634T927 636T920 637Q903 637 903 648Q903 650 905 664Q909 677 915 683H928Q960 681 1031 681Q1050 681 1073 681T1101 682Q1124 682 1124 672Q1124 655 1117 643Q1114 637 1104 637Q1085 637 1069 632T1043 618T1026 603T1014 588L1009 580L687 -16Q681 -22 660 -22Q643 -22 637 -16Q635 -14 627 223Q617 441 617 464L602 441Q578 397 487 228Q456 171 423 110T372 17T355 -15Q348 -22 328 -22Q312 -22 308 -20T303 -9Q303 -5 291 310T277 627Q273 636 234 637'], + + // LATIN CAPITAL LETTER X + 0x58: [683,0,743,50,825,'684 0Q670 0 634 1T569 2Q512 2 482 2T449 1Q433 1 433 10Q433 11 435 25Q437 34 438 37T442 43T448 45T459 46T476 49Q506 58 506 64Q506 65 467 179T426 295L382 244Q339 194 295 142T249 86Q245 79 245 72Q245 48 279 46Q293 46 293 32Q293 13 280 0H268Q206 2 151 2Q70 2 64 0Q50 0 50 11Q50 15 53 27Q57 41 60 43T78 46Q154 49 205 100Q207 103 312 225L411 341L407 353Q404 360 381 428T336 560T310 627Q301 636 255 637H229Q223 643 223 645T225 664Q229 677 235 683H246Q288 680 346 680Q462 680 477 683H487Q493 677 493 674T491 656Q488 644 485 641T471 637Q461 635 454 635Q419 626 421 619Q421 617 453 524T486 430T554 509T624 593Q631 604 631 611Q631 622 621 629T598 637Q583 637 583 648Q583 650 585 660Q589 676 591 679T602 683Q606 683 637 682T715 680Q742 680 771 681T804 682Q825 682 825 672Q825 650 817 642Q814 637 797 637Q739 634 700 608Q684 597 659 569T505 389L501 384L557 222Q612 61 616 57Q625 47 671 46Q691 46 697 45T704 36Q704 35 702 23Q701 19 700 14T699 7T696 3T692 1T684 0'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,0,743,198,875,'232 637Q198 637 198 647Q198 651 201 664T210 682Q212 683 223 683Q269 680 325 680Q443 680 455 683H465Q472 676 472 672Q472 656 465 642Q460 637 441 637Q395 634 395 623Q395 621 438 478T482 334T583 460T688 591Q688 593 694 601T700 617Q700 637 668 637H666Q655 637 655 648Q655 654 658 664Q660 672 660 673T663 678T668 682T677 683Q680 683 704 682T776 680Q801 680 828 681T858 682Q875 682 875 673Q875 669 872 657T867 643Q865 637 848 637Q788 634 749 597Q733 581 608 424L487 273L461 170Q454 145 448 118T438 76T434 60Q434 54 436 52T452 48T496 46H514Q520 41 520 38T518 19Q514 6 508 0H495Q427 2 364 2Q350 2 323 2T272 0H250H241Q234 7 234 11Q234 27 241 41Q245 46 275 46Q312 47 323 50T340 64Q340 65 344 79T355 120T368 171L393 274L341 448Q288 622 286 626Q278 636 232 637'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,1,613,80,704,'203 452Q203 455 236 565T270 677Q270 681 274 681Q276 683 488 683H699Q704 678 704 675Q704 663 697 649Q697 647 449 348L201 50L266 49H301Q442 49 495 116Q525 155 556 251Q563 274 565 278T579 282H585Q609 285 609 271Q609 270 570 142T528 8T518 1T466 0H303Q253 0 197 0T131 -1Q112 -1 102 -1T87 1T81 3T80 8Q80 30 89 39Q90 41 204 178T446 470T575 626L584 637H512H504H475Q446 637 426 635T378 624T330 597T289 546T254 467Q247 446 243 444Q239 442 226 442Q203 442 203 452'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,307,73,446,'205 -221Q205 -239 194 -250H137H106Q73 -250 73 -242Q73 -232 194 255T321 747L324 750H381H417Q435 750 440 748T446 739Q446 730 443 723T437 712L434 710H350L349 706Q349 704 235 249T120 -208Q120 -210 159 -210Q166 -210 175 -210T187 -209Q205 -209 205 -221'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,307,-14,359,'227 721Q227 739 238 750H295H326Q359 750 359 742Q359 732 238 245T111 -247L108 -250H51H15Q-3 -250 -8 -248T-14 -239Q-14 -230 -11 -223T-5 -212L-2 -210H82L83 -206Q83 -204 197 251T312 708Q312 710 273 710Q266 710 257 710T245 709Q227 709 227 721'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-527,511,260,528,'528 555Q528 549 514 538T496 527Q491 527 470 554Q458 569 449 580L414 625L353 578Q339 567 323 555T298 536L290 529Q286 527 285 527Q279 527 273 533T264 546L260 553Q260 559 263 562Q265 564 342 628T421 693T425 694Q430 694 433 691Q528 563 528 555'], + + // LOW LINE + 0x5F: [-25,62,511,91,554,'98 -62Q91 -58 91 -51Q91 -31 100 -26Q102 -25 324 -25H442H500Q536 -25 545 -27T554 -36Q554 -50 548 -56Q546 -60 538 -61Q520 -62 319 -62H98'], + + // LATIN SMALL LETTER A + 0x61: [442,11,511,101,543,'418 53Q418 26 438 26Q466 26 494 131Q500 151 504 152Q507 153 516 153H521Q531 153 534 153T540 150T543 144Q543 141 540 126T529 88T509 43T477 5T434 -11Q404 -11 383 3T354 30T347 48H346Q345 47 342 45T337 40Q282 -11 228 -11Q172 -11 137 34T101 146Q101 260 177 351T333 442Q343 442 352 441T369 437T382 431T393 425T402 417T409 410T414 402T419 396Q423 406 436 414T461 422Q475 422 484 413T494 395Q494 384 459 244T420 88Q418 80 418 58V53ZM397 323Q397 344 382 374T333 405Q302 405 271 372Q249 349 235 316T203 215Q184 135 184 108V100V94Q184 54 207 35Q218 26 235 26Q279 26 330 91Q343 109 346 118T372 217Q397 317 397 323'], + + // LATIN SMALL LETTER B + 0x62: [694,11,460,108,467,'158 683Q163 683 223 688T300 694Q312 694 312 685T279 544Q243 405 243 403L256 412Q268 422 292 432T338 442Q395 442 431 398T467 284Q467 175 393 82T229 -11Q175 -11 142 32T108 142Q108 176 115 207T166 412Q177 458 190 510T209 588T216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683ZM178 109Q178 27 234 27Q247 27 254 29Q295 44 323 94Q343 129 363 208T384 332Q384 354 382 361Q369 405 332 405Q282 405 228 326L222 317L205 250Q178 142 178 109'], + + // LATIN SMALL LETTER C + 0x63: [441,10,460,103,469,'257 -10Q183 -10 143 37T103 155Q103 257 173 341T337 440Q341 441 348 441H358Q421 441 445 415T469 356Q469 320 450 305T410 289Q392 289 381 299T370 325Q370 362 404 378L414 383Q392 402 365 405Q322 405 285 375T227 294Q217 271 202 213T187 119Q187 27 263 27Q299 27 330 40Q361 51 386 71T424 106T440 121Q444 121 455 110T466 96Q466 92 458 81T432 54T390 24T331 0T257 -10'], + + // LATIN SMALL LETTER D + 0x64: [694,11,511,101,567,'418 54Q418 26 438 26Q466 26 494 131Q500 151 504 152Q507 153 516 153H521H526Q543 153 543 144Q543 143 541 129Q531 91 521 65T487 14T434 -11T383 3T354 30T347 48H346Q345 47 342 45T337 40Q282 -11 228 -11Q172 -11 137 34T101 146Q101 255 174 348T337 441Q354 441 368 437T390 427T404 414T413 404T417 400L471 616Q471 629 464 632T425 637H404Q398 643 398 645T400 664Q405 683 413 683Q418 683 478 688T555 694Q567 694 567 686Q567 676 495 389L419 86Q418 80 418 61V54ZM397 323Q397 329 394 340T385 367T365 394T333 405Q302 405 271 372Q249 349 235 316T203 215Q184 135 184 108V100Q184 71 191 56Q204 26 235 26Q267 26 300 57T344 112Q347 117 372 217T397 323'], + + // LATIN SMALL LETTER E + 0x65: [442,10,460,107,470,'107 166Q107 230 131 283T193 369T270 420T345 441Q346 441 352 441T361 442H364Q409 442 439 418T470 355Q470 270 366 239Q308 223 218 223H205Q189 164 189 125Q189 83 206 55T261 27Q309 27 353 50T426 109Q436 121 440 121T453 111T466 97Q469 92 455 77Q424 41 372 16T258 -10Q184 -10 146 41T107 166ZM416 333T416 354T401 390T360 405Q322 405 292 384T246 336T223 288T215 261Q215 260 240 260Q262 261 276 262T314 266T353 275T384 291T408 317'], + + // LATIN SMALL LETTER F + 0x66: [705,204,307,-23,450,'351 608Q351 642 389 661Q368 668 365 668Q358 668 352 664Q349 663 347 661T342 654T337 647T333 637T330 627T327 614T324 601T321 587T318 571L291 432Q291 431 343 431H394Q400 426 400 423T398 404Q394 390 389 386L335 385H282L255 246Q212 20 189 -51Q136 -199 58 -204Q22 -204 0 -185T-23 -134Q-23 -100 -3 -85T37 -69Q54 -69 65 -80T76 -108Q76 -115 75 -119Q70 -134 61 -144T46 -158L39 -161Q39 -162 42 -163T50 -166T61 -168Q77 -168 91 -145Q98 -128 105 -95L125 -1Q145 90 146 98Q149 109 163 180T189 317T202 384T158 385H114Q108 390 108 393T110 412Q113 424 120 431H165Q211 431 211 433Q213 435 219 473T237 561T266 639Q282 667 310 686T367 705Q402 705 426 686T450 635Q450 600 430 585T390 569Q373 569 362 580T351 608'], + + // LATIN SMALL LETTER G + 0x67: [442,205,460,46,494,'103 163Q106 263 173 347T320 441Q322 441 329 441T341 442Q387 439 419 398Q420 399 420 400Q421 402 425 406T440 416T464 422Q476 421 485 413T494 396Q494 386 465 268T407 38T377 -77Q365 -123 310 -164T179 -205Q46 -205 46 -139Q46 -114 64 -97T106 -79Q127 -79 136 -91T146 -115Q146 -127 141 -138T130 -155T124 -162T125 -163Q133 -166 170 -168Q200 -168 217 -162Q242 -153 264 -130T297 -78Q298 -74 305 -46T320 10T327 38Q326 38 317 31T291 15T256 2Q249 1 231 1Q182 1 143 38T103 163ZM398 324Q398 330 395 346T375 383T332 405Q330 405 326 405T320 404Q291 396 263 365Q230 324 208 239T185 115Q185 38 238 38Q258 38 279 50T312 77T336 106L348 122Q349 125 373 223T398 324'], + + // LATIN SMALL LETTER H + 0x68: [694,11,511,69,545,'398 44Q398 26 414 26Q431 26 451 43Q477 71 496 136Q499 148 501 150T515 153H521Q531 153 534 153T541 150T544 143Q544 133 534 105T496 41T432 -8Q424 -10 408 -10Q370 -10 348 12T326 72Q326 93 342 135Q397 288 397 349Q397 367 396 372Q386 405 357 405Q283 405 228 310Q217 290 212 274T180 152Q153 42 148 26T135 3Q121 -11 102 -11Q89 -11 80 -3T69 19L216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683Q163 683 223 688T300 694Q312 694 312 685Q312 674 277 539Q241 395 241 393Q242 394 249 399T259 407T271 415T285 424T300 431T318 437T338 440T362 442Q423 442 449 410T475 338Q475 290 437 178T398 44'], + + // LATIN SMALL LETTER I + 0x69: [656,10,307,75,341,'234 599Q234 620 251 638T292 656Q306 656 319 647T332 617Q332 594 313 577T273 560Q260 560 247 569T234 599ZM75 287Q75 292 82 313T103 362T142 413T196 441H214Q248 441 270 419T293 357Q292 338 289 330T245 208Q193 72 193 46Q193 26 209 26Q228 26 247 43Q273 71 292 136Q295 148 297 150T311 153H317Q327 153 330 153T337 150T340 143Q340 133 330 105T292 41T228 -8Q220 -10 204 -10Q160 -10 141 15T122 71Q122 98 171 227T221 384Q221 396 218 400T203 405Q175 403 156 374T128 312T116 279Q115 278 97 278H81Q75 284 75 287'], + + // LATIN SMALL LETTER J + 0x6A: [656,204,307,-32,364,'266 600Q266 622 283 639T322 656Q340 656 352 645T364 616Q364 596 347 578T305 560Q291 560 279 569T266 600ZM75 287Q75 293 86 316T117 369T168 420T236 442Q282 442 304 415T327 358V332L278 134Q269 98 260 60T246 3T236 -36T227 -66T220 -85T213 -101T204 -114Q181 -150 139 -177T46 -204Q8 -204 -12 -186T-32 -140Q-32 -112 -14 -96T27 -79Q48 -79 57 -91T67 -114Q67 -146 38 -166Q42 -168 49 -168Q75 -168 98 -147T130 -108T146 -71Q150 -59 199 138T250 346Q253 359 253 373Q253 405 230 405Q206 405 184 386T149 345T126 301L117 280Q115 278 98 278H81Q75 284 75 287'], + + // LATIN SMALL LETTER K + 0x6B: [694,11,460,69,498,'158 683Q163 683 223 688T300 694Q312 694 312 686Q312 679 262 478L211 273Q212 272 219 276T248 299T296 349Q317 371 328 382T360 410T399 434T439 442Q462 442 480 427T498 373Q498 329 479 313T437 296Q420 296 409 305T398 331Q398 357 413 372T445 391Q454 392 448 399Q445 405 431 405Q408 405 377 385Q351 368 314 327T250 261Q243 257 243 254Q249 254 279 243T328 220Q366 192 366 146Q366 131 361 109T355 62V54Q355 26 376 26Q379 26 387 28Q420 36 443 130Q449 151 454 152Q457 153 465 153H470Q484 153 488 152T492 144Q492 141 489 126T476 88T454 42T420 5T372 -11Q331 -11 306 17T280 88Q280 100 283 119T287 146Q287 172 265 190T221 215T198 220Q197 220 173 121Q152 37 148 24T135 3Q121 -11 102 -11Q89 -11 80 -3T69 19L216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683'], + + // LATIN SMALL LETTER L + 0x6C: [694,11,256,87,312,'162 61Q162 26 183 26Q211 26 239 131Q245 151 249 152Q252 153 261 153H266H271Q288 153 288 144Q288 143 286 129Q276 91 266 65T232 14T179 -11Q144 -11 116 12T87 81Q87 96 88 102L216 616Q216 629 209 632T170 637H149Q143 643 143 645T145 664Q150 683 158 683Q163 683 223 688T300 694Q312 694 312 686Q312 676 240 389L164 86Q162 74 162 61'], + + // LATIN SMALL LETTER M + 0x6D: [442,11,818,75,852,'81 278Q75 284 75 289Q77 299 89 338Q101 373 114 396T142 428T166 439T186 442H189Q225 440 251 417Q266 401 271 384L275 374L286 386Q342 442 414 442Q428 442 440 440T461 435T479 427T493 418T503 407T511 397T516 387T520 378T523 370L524 366Q546 395 583 418T667 442Q729 442 755 411T782 338Q782 290 743 178T704 45Q704 26 720 26Q773 26 802 136Q805 148 807 150T822 153H828Q838 153 841 153T848 150T851 143Q851 137 843 115T821 63T778 12T715 -10Q671 -10 652 16T632 71Q632 88 668 191T704 349Q704 367 703 372Q693 405 664 405Q637 405 613 393T571 360T547 329T534 309Q523 290 518 274T487 151Q455 24 452 16Q438 -11 408 -11T376 18Q376 26 411 167T447 314Q449 325 449 346Q449 372 444 384Q431 405 408 405Q334 405 276 305Q266 289 262 273T231 151Q199 24 196 16Q182 -11 152 -11T120 18Q120 26 159 182T200 347Q202 361 202 372Q202 405 181 405Q168 405 159 391Q145 374 132 328T117 280T98 278H81'], + + // LATIN SMALL LETTER N + 0x6E: [443,11,562,75,596,'449 44Q449 26 465 26Q482 26 502 43Q528 71 547 136Q550 148 552 150T566 153H572Q582 153 585 153T592 150T595 143Q595 133 585 105T547 41T483 -8Q475 -10 459 -10Q421 -10 399 12T377 72Q377 93 393 135Q448 288 448 349Q448 367 447 372Q437 405 408 405Q381 405 357 393T315 360T291 329T278 309Q267 290 262 274T231 151Q199 24 196 16Q182 -11 152 -11T120 18Q120 23 159 181Q199 343 199 346Q202 360 202 372Q202 406 183 406Q163 406 148 374Q142 360 135 338T124 299T117 280T98 278H81Q75 284 75 287Q76 293 78 303T90 341T110 388T141 425T184 442Q195 442 204 441T221 436T235 429T247 421T256 412T262 403T267 394T271 387T273 381L274 378V374L287 387Q342 442 414 442Q474 442 500 410T526 338Q526 290 488 178T449 44'], + + // LATIN SMALL LETTER O + 0x6F: [442,11,511,103,517,'103 155Q103 266 185 354T366 442Q435 442 476 394T517 275Q517 169 436 79T255 -11Q194 -11 149 32T103 155ZM187 119Q187 67 209 47T260 26Q290 26 321 47Q354 68 380 113T426 260Q432 291 432 315Q432 361 408 385Q388 405 358 405Q319 405 283 374T227 294Q217 271 202 213T187 119'], + + // LATIN SMALL LETTER P + 0x70: [442,194,511,6,518,'81 278Q75 284 75 287Q93 379 131 417Q154 442 189 442Q222 440 243 423T272 382L280 390Q335 442 389 442Q446 442 482 398T518 284Q518 212 480 137T375 19Q321 -10 291 -10H282H278Q237 -10 204 28L202 32L181 -51Q160 -135 160 -139Q160 -147 205 -148H230Q236 -155 236 -157T233 -175Q230 -187 227 -190T214 -194Q211 -194 202 -194T169 -193T108 -192Q40 -192 21 -194H13Q6 -187 6 -183T9 -167Q13 -153 16 -151T39 -148Q73 -147 78 -136Q82 -128 139 104Q199 337 199 347Q202 362 202 372Q202 406 182 406Q169 406 159 391Q145 374 132 328T117 280T98 278H81ZM221 111Q234 26 286 26Q307 26 336 47T385 116Q398 147 416 217T435 332Q435 354 433 361Q420 405 383 405Q333 405 279 326L273 317L221 111'], + + // LATIN SMALL LETTER Q + 0x71: [442,194,460,101,504,'228 -11Q172 -11 137 33T101 147Q101 205 125 266T201 377T318 441Q322 442 333 442Q388 442 420 394L429 403Q439 413 455 423T481 437T494 442Q498 442 501 439T504 434Q504 425 435 149Q364 -135 364 -139Q364 -147 409 -148H434Q440 -155 440 -157T437 -175Q433 -191 429 -193Q425 -194 418 -194Q416 -194 406 -194T372 -193T309 -192Q259 -192 233 -192T204 -193Q190 -193 190 -184Q190 -181 192 -169Q196 -153 199 -151T219 -148Q266 -148 277 -141Q283 -137 305 -51L325 29L316 22Q270 -11 228 -11ZM397 323Q397 329 394 340T385 367T365 394T333 405Q302 405 271 372Q249 349 235 316T203 215Q184 135 184 108V100Q184 71 191 56Q204 26 235 26Q267 26 300 57T344 112Q347 117 372 217T397 323'], + + // LATIN SMALL LETTER R + 0x72: [442,11,422,75,484,'81 278Q75 284 75 289Q77 301 89 339Q122 442 183 442Q219 442 241 425T271 384L283 396Q327 442 384 442Q424 442 454 421T484 362Q484 327 464 312T424 296Q407 296 396 305T385 331Q385 352 394 365T414 384T424 390Q409 405 378 405Q322 405 276 315L268 300L234 161Q200 25 196 16Q182 -11 152 -11T120 18Q120 23 159 181Q199 343 199 346Q202 360 202 372Q202 405 182 405Q164 405 150 377T128 316T117 280Q115 278 98 278H81'], + + // LATIN SMALL LETTER S + 0x73: [442,11,409,76,418,'153 285Q153 349 197 395T311 442Q355 442 386 420T418 356Q418 321 401 308T365 294Q336 294 331 326Q331 336 334 345T343 359T353 368T362 374L366 376Q365 379 362 383T344 396T308 404Q265 404 246 377T226 325T244 289T287 275T339 258T383 212Q395 188 395 163Q395 132 379 95T333 32Q279 -11 207 -11Q154 -11 115 13T76 86Q76 108 83 123T102 145T121 153T135 156Q154 156 164 145T175 117Q175 82 142 66L132 62Q131 62 131 61Q131 57 139 49T166 34T210 26Q250 26 277 44T312 83T321 123Q321 153 301 166T248 185T204 198Q176 211 162 241Q153 258 153 285'], + + // LATIN SMALL LETTER T + 0x74: [626,11,332,87,373,'94 385Q87 392 87 395Q87 399 90 411T95 425Q97 430 103 430T149 431H196L215 511Q218 521 222 539T228 565T234 585T242 603T251 615T264 623T281 626Q311 626 315 597Q315 591 296 513T275 433Q275 431 320 431H366Q373 424 373 420Q373 398 360 385H263L189 86Q188 80 188 61V54Q188 29 201 27Q213 23 229 30Q253 37 276 66T316 138Q321 149 324 151T342 153H347Q364 153 364 146T360 130Q331 63 290 26T202 -11Q158 -11 135 18T111 81Q111 93 129 168T166 314L184 383Q184 385 139 385H94'], + + // LATIN SMALL LETTER U + 0x75: [441,11,537,75,570,'75 287Q75 299 89 333T135 404T205 441Q246 441 269 420T293 357Q292 338 259 245T225 95Q225 26 274 26Q301 26 324 43T358 77T369 99Q369 102 406 249T446 404Q460 431 490 431T522 402Q522 394 485 245T446 89Q443 74 443 56Q443 28 461 26Q487 26 507 86Q524 130 524 146Q524 147 530 153H547Q570 153 570 144Q570 138 561 109T544 62Q530 29 512 12Q492 -11 454 -11Q429 -9 410 2T385 23T376 41L363 28Q350 16 325 3T269 -10Q204 -10 176 25T148 108Q148 161 184 262T221 383Q221 405 206 405Q178 405 158 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287'], + + // LATIN SMALL LETTER V + 0x76: [443,10,460,75,492,'387 386Q387 407 406 425T445 443Q466 443 479 423T492 371Q492 330 473 253Q411 18 307 -8Q298 -10 279 -10Q208 -10 179 26T149 114Q149 162 185 261T221 384Q221 405 206 405Q177 405 157 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287T79 304T93 342T119 388T158 425T210 441H218Q243 441 268 421T293 357Q292 337 259 245T226 102Q226 26 285 26Q328 26 360 72T422 237Q429 265 429 290Q428 324 408 349T387 386'], + + // LATIN SMALL LETTER W + 0x77: [443,11,664,75,696,'591 386Q591 407 610 425T649 443Q670 443 683 423T696 371Q696 327 672 232T621 85Q575 -11 493 -11Q469 -11 449 -6T418 8T398 24T386 38L382 43Q347 -10 293 -10H286Q221 -10 186 21T150 115Q150 164 185 262T221 384Q221 405 206 405Q177 405 157 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287T79 304T93 342T119 388T158 425T210 441H218Q243 441 268 421T293 357Q292 336 260 246T227 108Q227 26 292 26H295Q332 26 361 93L366 103V119Q366 122 367 133T369 150Q372 167 401 282T433 404Q446 431 477 431Q507 431 509 402Q509 396 500 358T474 254T446 140Q444 126 444 104V92Q444 66 459 46T502 26H505Q527 28 545 43T577 88T602 149T623 226Q633 265 633 290Q632 324 612 349T591 386'], + + // LATIN SMALL LETTER X + 0x78: [442,11,464,58,513,'275 356Q275 383 262 394T233 405Q196 405 166 371T121 289Q119 280 116 279T98 278H81Q77 282 76 283T75 288T78 300Q88 332 109 363T153 411Q195 442 235 442Q306 442 333 386Q373 442 427 442Q461 442 487 421T513 364T494 312T453 296Q436 296 425 305T414 331Q414 352 424 366T446 386L456 390Q448 404 421 404H418Q382 404 358 341Q355 332 328 227T298 105Q295 90 295 75Q295 26 339 26Q365 26 388 43T424 82T444 123T451 146L457 153H474Q490 153 493 152T496 144Q496 133 486 110T456 58T404 10T333 -11Q276 -11 237 45Q197 -11 146 -11Q108 -11 83 10T58 67Q58 99 76 117T119 135Q136 135 147 124T158 96Q158 89 157 85Q149 57 125 45L115 41Q125 26 151 26Q171 26 187 45T214 93Q217 102 244 210T273 330Q275 339 275 356'], + + // LATIN SMALL LETTER Y + 0x79: [441,205,486,75,522,'75 287Q75 299 89 333T135 404T205 441Q246 441 269 420T293 357Q292 338 259 245T225 95Q225 26 274 26Q325 26 367 93L405 245Q442 393 446 404Q460 431 490 431T522 402Q522 400 416 -24Q389 -102 327 -153T196 -205Q152 -205 122 -181T91 -119Q91 -84 110 -67T152 -49Q170 -49 180 -60T191 -87Q191 -108 174 -128Q167 -134 157 -138T146 -144Q155 -153 159 -156T173 -163T199 -167Q229 -167 255 -149T297 -105T325 -52T342 -6T347 15Q315 -10 269 -10Q204 -10 176 25T148 108Q148 161 184 262T221 383Q221 405 206 405Q178 405 158 375T128 313T116 279Q115 278 97 278H81Q75 284 75 287'], + + // LATIN SMALL LETTER Z + 0x7A: [442,11,409,54,466,'160 317Q158 317 155 317Q136 317 136 324Q136 351 171 396T260 442Q292 442 321 410T365 375H369Q384 375 404 408L425 441Q427 442 444 442H460Q466 436 466 434Q466 419 426 367Q387 314 294 222T178 105L170 95L181 94Q198 93 236 81T295 68Q328 68 356 89T395 141Q398 150 401 151T419 153Q441 153 441 144Q441 110 394 50T282 -11Q251 -11 221 23T171 57Q157 57 143 47T121 26T104 3T95 -10Q93 -11 76 -11H60Q54 -5 54 -2Q54 3 61 14Q103 88 233 215Q349 329 349 338L302 351Q269 362 247 362Q227 362 212 356T192 342T183 327T178 320Q175 317 160 317'], + + // TILDE + 0x7E: [318,-208,511,247,571,'266 208Q262 208 255 215T247 228Q247 233 250 236T274 259Q335 318 369 318Q394 318 420 292T464 265Q485 265 516 291T550 318Q554 318 562 311T571 297Q570 293 551 273T502 231T451 209H447Q421 209 396 235T355 261Q334 261 301 235T266 208'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js new file mode 100644 index 00000000..170a8e72 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // COMBINING GRAVE ACCENT + 0x300: [697,-500,0,-222,-74,'-222 651Q-222 668 -206 682T-174 697Q-155 697 -145 680Q-140 671 -107 599T-74 526Q-74 522 -88 511T-107 500Q-109 500 -113 502T-167 568T-219 637Q-222 643 -222 651'], + + // COMBINING ACUTE ACCENT + 0x301: [697,-500,0,-173,39,'-148 500Q-154 500 -163 511T-173 528Q-173 529 -172 530V532Q-170 534 -97 610T-21 688Q-8 697 4 697Q19 697 29 688T39 663T30 638Q26 631 -50 573L-135 507Q-144 500 -148 500'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-527,0,-251,17,'17 555Q17 549 3 538T-15 527Q-20 527 -41 554Q-53 569 -62 580L-97 625L-158 578Q-172 567 -188 555T-212 536L-221 529Q-225 527 -226 527Q-232 527 -238 533T-248 546L-251 553Q-251 559 -248 562Q-246 564 -169 628T-90 693T-86 694Q-81 694 -78 691Q17 563 17 555'], + + // COMBINING TILDE + 0x303: [668,-558,0,-264,60,'-245 558Q-249 558 -256 565T-264 578Q-264 583 -261 586T-237 609Q-176 668 -142 668Q-117 668 -91 642T-47 615Q-26 615 5 641T39 668Q43 668 51 661T60 647Q59 643 40 623T-9 581T-60 559H-64Q-90 559 -115 585T-156 611Q-177 611 -210 585T-245 558'], + + // COMBINING MACRON + 0x304: [589,-544,0,-282,54,'-275 544Q-282 548 -282 554Q-282 561 -279 573T-271 588Q-269 589 -111 589H-27H12Q38 589 46 587T54 578Q54 574 51 563T47 550Q45 546 32 545Q15 544 -118 544H-275'], + + // COMBINING BREVE + 0x306: [694,-515,0,-237,62,'-237 641Q-237 694 -218 694H-213Q-195 694 -195 684Q-195 683 -195 679T-197 667T-198 650Q-198 611 -176 589T-117 566Q-74 566 -34 597T23 678Q27 689 30 691T43 694Q62 694 62 684Q62 671 49 645T14 589T-46 537T-123 515Q-175 515 -206 550T-237 641'], + + // COMBINING DOT ABOVE + 0x307: [669,-548,0,-165,-41,'-165 599Q-162 631 -139 650T-93 669Q-65 669 -53 653T-41 620Q-41 593 -63 571T-116 548Q-134 548 -149 559T-165 599'], + + // COMBINING DIAERESIS + 0x308: [669,-554,0,-251,45,'-251 601Q-251 626 -230 647T-180 669Q-139 669 -133 625Q-133 595 -155 575T-203 554Q-223 554 -237 567T-251 601ZM-72 599Q-72 632 -48 650T-2 669Q18 669 31 657T45 623Q45 592 22 573T-25 554Q-68 554 -72 599'], + + // COMBINING RING ABOVE + 0x30A: [716,-542,0,-199,3,'-199 610Q-199 654 -161 685T-79 716Q-39 716 -16 693Q3 674 3 647Q3 607 -34 575T-118 542Q-199 542 -199 610ZM-41 631T-41 655T-83 679H-89Q-129 679 -142 656Q-146 650 -151 632T-156 604Q-156 578 -113 578H-108Q-94 578 -86 579T-69 586T-52 605Q-41 631 -41 655'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [697,-503,0,-248,65,'-217 503Q-221 503 -234 510T-248 523Q-248 528 -205 602Q-200 610 -192 623T-180 644T-170 661T-159 676T-151 686T-142 694T-134 696Q-132 697 -121 697Q-88 694 -88 664Q-88 652 -97 640T-152 574Q-214 504 -217 503ZM-64 503Q-68 503 -81 510T-95 523Q-95 528 -52 602Q-47 610 -39 623T-27 644T-17 661T-6 676T2 686T11 694T19 696Q21 697 32 697Q65 694 65 664Q65 652 56 640T1 574Q-61 504 -64 503'], + + // COMBINING CARON + 0x30C: [638,-502,0,-236,29,'11 637Q16 637 22 624T29 607Q29 606 27 602Q26 600 -47 552T-125 502H-127Q-133 502 -184 553Q-236 602 -236 608Q-236 612 -224 625T-206 638L-202 637L-196 632Q-190 628 -179 620T-158 603L-116 570Q-109 572 -52 604T11 637'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js new file mode 100644 index 00000000..936bd411 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/GeneralPunctuation.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // EN DASH + 0x2013: [285,-248,511,91,554,'98 248Q91 252 91 259Q91 279 100 284Q102 285 324 285H442H500Q536 285 545 283T554 274Q554 260 548 254Q546 250 538 249Q520 248 319 248H98'], + + // EM DASH + 0x2014: [285,-248,1022,117,1038,'124 248Q117 252 117 259Q117 279 126 284Q128 285 579 285T1033 284Q1037 280 1037 278Q1038 276 1038 274Q1038 253 1029 250Q1026 248 575 248H124'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-379,307,197,362,'249 379Q228 379 213 396T197 448Q197 533 271 627L278 635Q286 643 295 652T314 671T332 687T344 694Q349 694 355 685T362 671Q362 668 345 654T301 608T256 537Q238 493 240 491Q241 491 245 493T258 498T275 500Q296 500 311 488T326 454Q326 426 304 403T249 379'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-378,307,212,377,'250 620Q250 647 272 670T325 694Q348 694 362 677T377 633V624Q377 566 343 506T275 412T231 379Q226 379 220 388T213 401T232 421T279 472T323 547Q335 573 335 582L331 580Q327 578 318 576T300 573Q277 573 264 585T250 620'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-379,514,243,606,'295 379Q274 379 259 396T243 448Q243 533 317 627Q326 638 354 666T391 694Q395 694 402 686T409 673Q409 668 392 654T348 608T302 537Q284 493 286 491Q287 491 291 493T304 498T321 500Q342 500 357 488T372 454Q372 426 350 403T295 379ZM492 379Q471 379 456 396T440 448Q440 533 514 627Q523 638 551 666T588 694Q592 694 599 685T606 672T589 654T544 608T499 537Q481 493 483 491Q484 491 488 493T501 498T518 500Q539 500 554 488T569 454Q569 426 547 403T492 379'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-379,514,176,538,'214 620Q214 647 236 670T289 694Q312 694 326 677T341 633V624Q341 588 327 550T294 482T253 428T216 392T196 379Q191 379 184 388T176 401Q176 404 195 421T243 472T287 547Q299 576 299 582L295 580Q291 578 282 576T264 573Q241 573 228 585T214 620ZM411 620Q411 647 433 670T486 694Q509 694 523 677T538 633V624Q538 588 524 550T491 482T450 428T413 392T393 379Q388 379 381 388T373 401Q373 404 392 421T440 472T484 547Q496 576 496 582L492 580Q488 578 479 576T461 573Q438 573 425 585T411 620'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/GeneralPunctuation.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js new file mode 100644 index 00000000..10826c5e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/GreekAndCoptic.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,0,627,54,705,'337 46Q339 46 342 46Q360 46 363 45T367 34Q367 13 359 5Q356 0 343 0Q339 0 320 0T268 1T196 2Q98 2 72 0H61Q54 7 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623Q299 630 292 631T248 634Q216 634 214 638Q213 641 213 646Q213 674 224 678Q226 680 462 680H698Q705 676 705 669Q705 665 691 557T675 447Q673 440 652 440H637Q630 445 630 451Q630 452 632 467T636 504T638 543Q638 569 632 586T615 613T586 627T549 633T500 634Q491 634 487 634Q426 634 414 633T399 625Q397 621 327 342T257 59Q257 54 261 52T283 48T337 46'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [716,0,818,70,751,'409 0H145Q117 0 103 0T81 1T72 3T70 6Q70 9 310 354T557 707Q559 711 565 713Q570 716 587 716Q608 716 613 710Q616 704 683 358Q752 9 750 6Q750 2 747 2Q745 0 409 0ZM581 342L531 597Q530 597 352 342T174 85T403 84T632 86Q632 87 581 342'], + + // GREEK CAPITAL LETTER THETA + 0x398: [704,22,767,149,788,'149 237Q149 326 186 413T282 563T412 665T552 704Q619 704 667 678T741 611T777 528T788 444Q788 328 728 219T572 44T377 -22Q275 -22 212 50T149 237ZM691 480Q691 569 652 618T551 668Q458 668 367 562Q307 485 277 382T246 202Q246 147 260 108T298 51T343 24T387 16Q408 16 433 22T494 51T562 109T626 211T677 363Q691 423 691 480ZM302 275Q302 281 317 346T338 415L341 418H356Q380 418 380 408Q380 405 378 398T375 385Q375 384 480 384H585L588 398Q592 412 598 418H613Q636 418 636 409Q636 406 621 340Q617 326 612 306Q603 272 598 267L597 266H582Q558 266 558 276Q558 279 560 286T563 299Q563 300 458 300H353L350 286Q346 272 340 266H325Q302 266 302 275'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [716,0,692,58,646,'71 0Q58 0 58 11Q58 33 68 43Q71 46 77 46Q106 46 128 59T156 79T173 104Q174 106 255 256T416 556T497 707Q502 716 519 716H525Q543 716 547 711Q550 707 561 398T572 65Q573 57 574 54T587 49T623 46Q646 46 646 36Q646 35 643 23Q642 21 641 17T640 12T639 8T638 5T636 3T633 1T629 1T624 0Q622 0 612 0T578 1T514 2Q466 2 434 2T398 1Q381 1 381 11Q381 13 383 23Q387 40 390 43T406 46Q460 46 472 63L464 298Q457 533 455 536V537Q452 537 335 317T214 90Q211 80 211 75Q211 53 244 47Q246 47 251 47T258 46Q270 46 270 34Q270 33 268 19Q264 6 258 0H247Q185 2 143 2Q77 2 71 0'], + + // GREEK CAPITAL LETTER XI + 0x39E: [678,0,664,74,755,'243 668Q243 670 250 677H640Q661 677 687 677T719 678Q741 678 747 676T754 667T740 595T726 522Q725 521 724 520T723 517T720 516T714 515T704 514Q690 514 685 515T680 525Q680 531 683 543Q690 578 690 590V597H686Q670 600 468 600Q282 599 275 596Q267 591 251 539Q246 521 243 518T228 514H224Q200 511 200 525Q200 526 220 594T243 668ZM535 277Q535 282 538 296T543 312Q543 314 411 314H278L277 310Q277 309 272 291T266 272Q264 267 245 267Q237 267 233 268T228 269T225 272T222 277L241 354Q245 368 250 389Q261 432 266 437L267 438H299Q306 431 306 428Q306 426 306 424T304 417T302 409L297 391H430L562 392L567 412Q572 431 579 438H611Q615 434 616 432L618 430Q618 423 599 352Q581 275 577 270Q574 267 568 267H558Q535 267 535 277ZM81 0Q74 4 74 11Q74 14 89 89T106 168Q112 174 127 174Q138 174 142 174T148 171T151 164Q151 163 147 143Q140 101 139 92Q139 81 140 81Q143 78 265 78H349H484Q518 78 532 78T555 80T566 83T570 91Q575 103 589 145Q595 166 598 170T611 174H617H622Q641 174 641 163Q641 162 619 86T595 7Q593 2 584 1T530 0H334H81'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [680,0,743,54,859,'248 634Q216 634 214 638Q213 641 213 646Q213 674 224 678Q226 680 539 680H852Q859 676 859 669Q859 653 852 639Q848 634 818 634Q782 633 771 630T754 618L719 480Q684 343 649 203T614 57Q614 50 621 49T666 46Q697 46 699 40Q701 37 698 21Q693 3 689 1Q686 0 677 0Q673 0 657 0T611 1T546 2Q453 2 428 0H418Q411 7 411 11Q411 27 418 41Q422 46 452 46Q488 47 499 50T516 62Q518 67 553 209T624 491T660 632Q660 634 530 634H400L399 630Q399 629 390 593T363 484T328 344Q257 60 257 57Q257 50 264 49T309 46Q340 46 342 40Q344 37 341 21Q336 3 332 1Q329 0 320 0Q316 0 300 0T254 1T189 2Q96 2 71 0H61Q54 7 54 11Q54 27 61 41Q65 46 95 46Q131 47 142 50T159 62L194 200Q229 337 264 477T299 623Q299 630 292 631T248 634'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [683,1,716,80,782,'87 0Q80 7 80 11Q80 14 81 15Q81 16 231 161Q381 304 381 305L310 475Q239 646 239 648T242 662T247 677Q247 681 251 681Q253 683 514 683H775Q780 678 782 674Q782 668 767 559T751 448Q747 443 729 443Q715 443 711 444T707 453Q707 454 710 479T713 529Q713 555 709 573T691 604T663 622T619 632T564 636T492 637H457Q356 637 356 635Q358 634 417 489T478 343Q478 340 474 335T436 297T330 196L185 57L294 56H339Q450 56 499 65T581 109Q603 131 620 164T646 221T657 248Q660 250 675 250Q699 253 699 239L681 188Q663 138 643 81T617 9Q614 2 605 1T552 -1Q541 -1 475 -1T348 0H87'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [706,0,767,213,832,'213 543Q213 576 262 640T379 705Q507 705 507 531Q507 514 505 492L504 482L514 505Q524 528 543 561T587 626T653 682T738 705Q783 705 807 675T832 594Q832 535 808 535H802Q780 535 780 542Q780 543 781 550T783 563Q783 589 765 606T716 623Q588 623 521 354Q521 353 485 208T448 59Q448 46 529 46Q559 46 559 36Q559 31 556 22Q552 4 547 1Q546 1 544 1T538 0Q534 0 514 0T458 1T380 2Q271 2 241 0H228Q222 6 222 9T224 27Q228 40 234 46H257Q322 46 336 52Q346 54 349 62Q351 64 372 145T416 324T445 461Q446 471 446 506Q446 528 445 541T436 577T410 610T361 622Q319 622 295 600T261 552Q257 539 249 536Q245 535 233 535T218 536L214 540V541Q213 542 213 543'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [683,0,716,159,729,'467 624Q467 631 454 633T400 637Q361 637 359 643Q358 644 358 649Q358 673 369 682Q371 683 387 683Q430 681 532 681Q569 681 600 681T650 682T672 683Q689 683 689 672Q689 670 686 658T681 643Q679 637 640 637Q595 636 579 633T558 617Q556 613 547 575T538 533Q538 532 541 532Q555 532 582 524T643 500T703 450T728 374Q728 311 673 256Q621 203 550 177T445 151Q443 151 441 149Q440 146 430 104T419 59Q419 46 500 46Q530 46 530 36Q530 31 527 22Q523 4 518 1Q517 1 515 1T510 0Q505 0 486 0T431 1T355 2Q248 2 218 0H205Q199 6 199 9T201 27Q205 40 211 46H234Q300 46 313 52Q323 54 326 62Q328 64 334 86T344 129L349 150Q349 151 346 151Q333 151 307 158T245 182T185 231T159 309V314Q159 325 162 338T174 374T207 421T264 468Q334 518 435 531L446 533L457 577Q467 620 467 624ZM436 494Q429 494 417 492T373 477T319 442Q288 408 274 362T260 284Q260 257 269 239T298 210T328 196T359 188L436 494ZM626 398Q626 438 605 460T539 493L528 495Q527 495 489 342T451 188Q455 188 462 189T490 197T528 212T566 241T598 285Q626 341 626 398'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [683,0,767,207,824,'494 626Q493 627 493 628T491 629T489 631T484 632T477 634T465 635T449 636T426 637Q387 637 385 643Q384 644 384 649Q384 673 395 682Q397 683 413 683Q456 681 558 681Q595 681 626 681T676 682T698 683Q715 683 715 672Q715 670 712 658T707 643Q705 637 666 637Q621 636 605 633T584 617L478 193Q486 195 498 199T542 229T597 291Q626 335 646 415Q669 500 694 523T759 546H777H801Q824 546 824 536Q822 509 809 509Q762 509 735 406Q707 300 642 234T481 153L467 151L456 106Q445 62 445 59Q445 46 526 46Q556 46 556 36Q556 31 553 22Q549 4 544 1Q543 1 541 1T536 0Q531 0 512 0T457 1T381 2Q274 2 244 0H231Q225 6 225 9T227 27Q231 40 237 46H260Q326 46 339 52Q349 54 352 62Q354 64 365 106T376 151Q374 152 371 152Q360 153 347 156T310 172T270 201T239 250T225 323Q225 359 235 405T245 470T239 498T226 507T213 510T207 520Q207 528 209 534T215 544L218 546H257Q305 546 314 540Q338 530 338 485Q338 455 326 402T313 312Q313 218 379 193Q386 192 387 192Q387 196 441 408Q494 621 494 626'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [705,0,716,100,759,'183 393Q183 451 206 502T267 590T348 652T435 691T510 704Q513 705 525 705Q631 705 695 650T759 505Q759 454 732 397T672 299T593 203T527 117Q503 81 503 76Q503 75 521 75Q576 75 588 77Q589 77 592 78T595 79T598 80T602 82T605 86T609 92T614 101T620 112T627 127T636 147Q646 169 649 170Q651 172 667 172H682Q689 167 689 162Q689 158 654 81T617 2Q614 0 530 0H447Q441 5 441 9T444 28Q461 85 498 158T569 285T628 408T654 534Q654 592 621 630T527 668Q488 668 448 649T371 593T310 487T286 330Q286 302 290 247T294 137Q294 34 280 6Q278 1 268 1T190 0H107Q100 5 100 12Q100 24 103 94T108 165Q110 172 131 172H146Q150 169 153 165L152 141V116Q152 84 153 82Q156 75 217 75H252V84Q252 126 218 231T183 393'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js new file mode 100644 index 00000000..218d57fd --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/LatinExtendedA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [441,10,307,75,341,'75 287Q75 292 82 313T103 362T142 413T196 441H214Q248 441 270 419T293 357Q292 338 289 330T245 208Q193 72 193 46Q193 26 209 26Q228 26 247 43Q273 71 292 136Q295 148 297 150T311 153H317Q327 153 330 153T337 150T340 143Q340 133 330 105T292 41T228 -8Q220 -10 204 -10Q160 -10 141 15T122 71Q122 98 171 227T221 384Q221 396 218 400T203 405Q175 403 156 374T128 312T116 279Q115 278 97 278H81Q75 284 75 287'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js new file mode 100644 index 00000000..f9e0b34a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/LatinExtendedB.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // LATIN SMALL LETTER DOTLESS J + 0x237: [442,204,332,-32,327,'75 284T75 287T81 305T101 343T133 389T180 426T240 442Q273 440 300 420T327 350V332L278 134Q267 92 253 37T233 -45T225 -73Q208 -123 162 -163T54 -204Q8 -204 -15 -181Q-32 -164 -32 -140Q-32 -112 -14 -96T27 -79Q48 -79 57 -91T67 -114Q67 -146 39 -166L44 -167H59H60Q112 -167 145 -74Q148 -65 198 134T251 347Q252 353 252 370Q252 382 251 388T245 399T230 405Q204 405 175 378Q157 360 145 337T126 298T117 280T98 278H81Q75 284 75 287'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/LatinExtendedB.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js new file mode 100644 index 00000000..83167adf --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/LetterlikeSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'], + { + // stix-/hbar - Planck's over 2pi + 0x210F: [695,13,540,42,562,'150 475Q147 475 118 466T82 457Q73 457 64 467T54 487Q54 490 55 492Q63 506 64 506Q67 512 118 526Q162 541 169 546Q173 559 175 575Q181 596 181 604Q181 613 166 617Q164 617 153 618T135 619Q119 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 291 628L278 577L386 612Q466 635 476 635T492 627T499 607Q499 593 489 586Q485 583 373 546L262 512Q262 511 248 455T233 397T236 397T244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26Q42 45 98 257L151 475H150'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/Main.js new file mode 100644 index 00000000..8d7d43ae --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Italic/Main.js @@ -0,0 +1,40 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Italic/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main-italic'] = { + directory: 'Main/Italic', + family: 'MathJax_Main', + id: 'MJMAINI', + style: 'italic', + Ranges: [ + [0x20,0x7F,"BasicLatin"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x2100,0x214F,"LetterlikeSymbols"] + ], + + // POUND SIGN + 0xA3: [714,11,769,88,699,'699 578Q699 473 635 473Q597 473 595 508Q595 559 654 569V576Q654 619 637 648T581 677Q545 677 513 647T463 561Q460 554 437 464T414 371Q414 370 458 370H502Q508 364 508 362Q505 334 495 324H402L382 241Q377 224 373 206T366 180T361 163T358 151T354 142T350 133T344 120Q340 112 338 107T336 101L354 90Q398 63 422 54T476 44Q515 44 539 73T574 133Q578 144 580 146T598 148Q622 148 622 139Q622 138 620 130Q602 74 555 32T447 -11Q395 -11 317 38L294 51Q271 28 233 9T155 -10Q117 -10 103 5T88 39Q88 73 126 106T224 139Q236 139 247 138T266 134L273 132Q275 132 302 239L323 324H259Q253 330 253 332Q253 350 265 370H300L334 371L355 453Q356 457 360 477T366 501T372 522T379 545T387 565T397 587T409 606T425 627Q453 664 497 689T583 714Q640 714 669 676T699 578ZM245 76Q211 85 195 85Q173 85 158 71T142 42Q142 26 160 26H163Q211 30 245 76'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js new file mode 100644 index 00000000..10479251 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js @@ -0,0 +1,146 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // EXCLAMATION MARK + 0x21: [716,-1,278,78,199,'78 661Q78 682 96 699T138 716T180 700T199 661Q199 654 179 432T158 206Q156 198 139 198Q121 198 119 206Q118 209 98 431T78 661ZM79 61Q79 89 97 105T141 121Q164 119 181 104T198 61Q198 31 181 16T139 1Q114 1 97 16T79 61'], + + // QUOTATION MARK + 0x22: [694,-379,500,34,372,'34 634Q34 659 50 676T93 694Q121 694 144 668T168 579Q168 525 146 476T101 403T73 379Q69 379 60 388T50 401Q50 404 62 417T88 448T116 500T131 572Q131 584 130 584T125 581T112 576T94 573Q69 573 52 590T34 634ZM238 634Q238 659 254 676T297 694Q325 694 348 668T372 579Q372 525 350 476T305 403T277 379Q273 379 264 388T254 401Q254 404 266 417T292 448T320 500T335 572Q335 584 334 584T329 581T316 576T298 573Q273 573 256 590T238 634'], + + // NUMBER SIGN + 0x23: [694,194,833,56,778,'56 347Q56 360 70 367H313L355 524Q394 676 401 686Q406 694 416 694Q434 694 436 676Q436 672 396 522Q355 374 355 369L354 367H543L585 524Q626 679 630 685Q636 694 646 694Q653 694 659 689T665 678Q665 668 626 522Q585 374 585 369L584 367H762Q777 359 777 347Q777 334 767 331T722 327H667H572L552 251L531 174Q531 173 647 173H720Q756 173 766 170T777 153T762 133H519L477 -24Q436 -179 432 -185Q426 -194 416 -194Q409 -194 403 -189T397 -177Q397 -167 436 -21Q477 125 477 131L478 133H289L247 -24Q206 -179 202 -185Q196 -194 186 -194Q179 -194 173 -189T167 -177Q167 -167 206 -21Q247 125 247 131L248 133H70Q56 140 56 153Q56 168 72 173H260L280 249L301 326Q301 327 186 327H72Q56 332 56 347ZM531 326Q531 327 437 327H342L322 251L301 174Q301 173 395 173H490L510 249L531 326'], + + // DOLLAR SIGN + 0x24: [750,56,500,55,444,'162 187Q162 164 146 149T109 133H103V130Q108 115 115 105Q122 92 131 82T150 64T170 52T190 44T206 40T220 37L227 36V313Q190 320 162 335Q116 358 86 404T55 508Q55 567 85 614T165 685Q186 696 225 704H227V750H273V704L286 703Q369 690 413 631Q441 588 444 531Q444 514 443 509Q439 490 425 479T391 468Q368 468 353 483T337 522Q337 546 353 560T390 575L394 576V578Q386 599 372 614T342 637T314 649T288 656L273 658V408L288 405Q329 394 355 376Q396 348 420 300T444 199Q444 130 408 76T313 1Q286 -9 276 -9H273V-56H227V-10H221Q202 -6 193 -4T155 11T108 41T74 94T55 176V182Q55 227 95 238Q103 240 108 240Q129 240 145 226T162 187ZM225 657Q219 657 204 651T169 632T135 594T121 538Q121 512 131 491T156 457T187 435T213 423T227 420V539Q227 657 225 657ZM378 169Q378 230 339 265T274 301Q273 301 273 169V37Q324 50 351 87T378 169'], + + // PERCENT SIGN + 0x25: [750,56,833,56,777,'465 605Q428 605 394 614T340 632T319 641Q332 608 332 548Q332 458 293 403T202 347Q145 347 101 402T56 548Q56 637 101 693T202 750Q241 750 272 719Q359 642 464 642Q580 642 650 732Q662 748 668 749Q670 750 673 750Q682 750 688 743T693 726Q178 -47 170 -52Q166 -56 160 -56Q147 -56 142 -45Q137 -36 142 -27Q143 -24 363 304Q469 462 525 546T581 630Q528 605 465 605ZM207 385Q235 385 263 427T292 548Q292 617 267 664T200 712Q193 712 186 709T167 698T147 668T134 615Q132 595 132 548V527Q132 436 165 403Q183 385 203 385H207ZM500 146Q500 234 544 290T647 347Q699 347 737 292T776 146T737 0T646 -56Q590 -56 545 0T500 146ZM651 -18Q679 -18 707 24T736 146Q736 215 711 262T644 309Q637 309 630 306T611 295T591 265T578 212Q577 200 577 146V124Q577 -18 647 -18H651'], + + // AMPERSAND + 0x26: [716,22,778,42,727,'156 540Q156 620 201 668T302 716Q354 716 377 671T401 578Q401 505 287 386L274 373Q309 285 416 148L429 132L437 142Q474 191 543 309L562 341V349Q562 368 541 376T498 385H493V431H502L626 428Q709 428 721 431H727V385H712Q688 384 669 379T639 369T618 354T603 337T591 316T578 295Q537 223 506 176T464 117T454 104Q454 102 471 85T497 62Q543 24 585 24Q618 24 648 48T682 113V121H722V112Q721 94 714 75T692 32T646 -7T574 -22Q491 -19 414 42L402 51L391 42Q312 -22 224 -22Q144 -22 93 25T42 135Q42 153 46 169T55 197T74 225T96 249T125 278T156 308L195 347L190 360Q185 372 182 382T174 411T165 448T159 491T156 540ZM361 576Q361 613 348 646T305 679Q272 679 252 649T232 572Q232 497 255 426L259 411L267 420Q361 519 361 576ZM140 164Q140 103 167 64T240 24Q271 24 304 36T356 61T374 77Q295 156 235 262L220 292L210 310L193 293Q177 277 169 268T151 229T140 164'], + + // APOSTROPHE + 0x27: [694,-379,278,78,212,'78 634Q78 659 95 676T138 694Q166 694 189 668T212 579Q212 525 190 476T146 403T118 379Q114 379 105 388T95 401Q95 404 107 417T133 448T161 500T176 572Q176 584 175 584T170 581T157 576T139 573Q114 573 96 590T78 634'], + + // ASTERISK + 0x2A: [750,-320,500,64,436,'215 721Q216 732 225 741T248 750Q263 750 273 742T284 721L270 571L327 613Q383 654 388 657T399 660Q412 660 423 650T435 624T424 600T376 575Q363 569 355 566L289 534L355 504L424 470Q435 462 435 447Q435 431 424 420T399 409Q393 409 388 412T327 456L270 498L277 423L284 348Q280 320 250 320T215 348L229 498L172 456Q116 415 111 412T100 409Q87 409 76 420T64 447Q64 461 75 470L144 504L210 534L144 566Q136 570 122 576Q83 593 74 600T64 624Q64 639 75 649T100 660Q106 660 111 657T172 613L229 571Q229 578 222 643T215 721'], + + // HYPHEN-MINUS + 0x2D: [252,-179,333,11,277,'11 179V252H277V179H11'], + + // QUESTION MARK + 0x3F: [705,-1,472,55,417,'226 668Q190 668 162 656T124 632L114 621Q116 621 119 620T130 616T145 607T157 591T162 567Q162 544 147 529T109 514T71 528T55 566Q55 625 100 661T199 704Q201 704 210 704T224 705H228Q281 705 320 692T378 656T407 612T416 567Q416 503 361 462Q267 395 247 303Q242 279 242 241V224Q242 205 239 202T222 198T205 201T202 218V249Q204 320 220 371T255 445T292 491T315 537Q317 546 317 574V587Q317 604 315 615T304 640T277 661T226 668ZM162 61Q162 89 180 105T224 121Q247 119 264 104T281 61Q281 31 264 16T222 1Q197 1 180 16T162 61'], + + // COMMERCIAL AT + 0x40: [705,11,778,56,722,'56 347Q56 429 86 498T164 612T270 680T386 705Q522 705 622 603T722 349Q722 126 608 126Q541 126 513 176Q512 177 512 179T510 182L509 183Q508 183 503 177T487 163T464 146T429 132T385 126Q311 126 251 186T190 347Q190 448 251 508T385 568Q426 568 460 548T509 511T531 479H555Q580 479 582 478Q586 477 587 468Q588 454 588 338V260Q588 200 593 182T619 163Q641 163 655 178T674 223T680 273T682 325V330Q682 426 647 500Q611 569 544 618T388 668Q271 668 184 577T96 347Q96 216 180 121T396 26Q421 26 446 28T493 34T535 43T573 52T605 63T629 72T647 80T657 84H716Q722 78 722 74Q722 65 675 45T547 7T392 -11Q255 -11 156 90T56 347ZM274 347Q274 266 308 214T390 162Q420 162 449 182T498 235L504 245V449L498 459Q453 532 387 532Q347 532 311 483T274 347'], + + // LATIN CAPITAL LETTER A + 0x41: [716,0,750,32,717,'255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447'], + + // LATIN CAPITAL LETTER B + 0x42: [683,0,708,28,651,'131 622Q124 629 120 631T104 634T61 637H28V683H229H267H346Q423 683 459 678T531 651Q574 627 599 590T624 512Q624 461 583 419T476 360L466 357Q539 348 595 302T651 187Q651 119 600 67T469 3Q456 1 242 0H28V46H61Q103 47 112 49T131 61V622ZM511 513Q511 560 485 594T416 636Q415 636 403 636T371 636T333 637Q266 637 251 636T232 628Q229 624 229 499V374H312L396 375L406 377Q410 378 417 380T442 393T474 417T499 456T511 513ZM537 188Q537 239 509 282T430 336L329 337H229V200V116Q229 57 234 52Q240 47 334 47H383Q425 47 443 53Q486 67 511 104T537 188'], + + // LATIN CAPITAL LETTER C + 0x43: [705,21,722,56,666,'56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q322 658 252 588Q173 509 173 342Q173 221 211 151Q232 111 263 84T328 45T384 29T428 24Q517 24 571 93T626 244Q626 251 632 257H660L666 251V236Q661 133 590 56T403 -21Q262 -21 159 83T56 342'], + + // LATIN CAPITAL LETTER D + 0x44: [683,0,764,27,708,'130 622Q123 629 119 631T103 634T60 637H27V683H228Q399 682 419 682T461 676Q504 667 546 641T626 573T685 470T708 336Q708 210 634 116T442 3Q429 1 228 0H27V46H60Q102 47 111 49T130 61V622ZM593 338Q593 439 571 501T493 602Q439 637 355 637H322H294Q238 637 234 628Q231 624 231 344Q231 62 232 59Q233 49 248 48T339 46H350Q456 46 515 95Q561 133 577 191T593 338'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,681,25,652,'128 619Q121 626 117 628T101 631T58 634H25V680H597V676Q599 670 611 560T625 444V440H585V444Q584 447 582 465Q578 500 570 526T553 571T528 601T498 619T457 629T411 633T353 634Q266 634 251 633T233 622Q233 622 233 621Q232 619 232 497V376H286Q359 378 377 385Q413 401 416 469Q416 471 416 473V493H456V213H416V233Q415 268 408 288T383 317T349 328T297 330Q290 330 286 330H232V196V114Q232 57 237 52Q243 47 289 47H340H391Q428 47 452 50T505 62T552 92T584 146Q594 172 599 200T607 247T612 270V273H652V270Q651 267 632 137T610 3V0H25V46H58Q100 47 109 49T128 61V619'], + + // LATIN CAPITAL LETTER F + 0x46: [680,0,653,25,610,'128 619Q121 626 117 628T101 631T58 634H25V680H582V676Q584 670 596 560T610 444V440H570V444Q563 493 561 501Q555 538 543 563T516 601T477 622T431 631T374 633H334H286Q252 633 244 631T233 621Q232 619 232 490V363H284Q287 363 303 363T327 364T349 367T372 373T389 385Q407 403 410 459V480H450V200H410V221Q407 276 389 296Q381 303 371 307T348 313T327 316T303 317T284 317H232V189L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619'], + + // LATIN CAPITAL LETTER G + 0x47: [705,22,785,56,735,'56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q401 658 376 654T316 633T254 592T205 519T177 411Q173 369 173 335Q173 259 192 201T238 111T302 58T370 31T431 24Q478 24 513 45T559 100Q562 110 562 160V212Q561 213 557 216T551 220T542 223T526 225T502 226T463 227H437V273H449L609 270Q715 270 727 273H735V227H721Q674 227 668 215Q666 211 666 108V6Q660 0 657 0Q653 0 639 10Q617 25 600 42L587 54Q571 27 524 3T406 -22Q317 -22 238 22T108 151T56 342'], + + // LATIN CAPITAL LETTER H + 0x48: [683,0,750,25,724,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q57 680 180 680Q315 680 324 683H335V637H302Q262 636 251 634T233 622L232 500V378H517V622Q510 629 506 631T490 634T447 637H414V683H425Q446 680 569 680Q704 680 713 683H724V637H691Q651 636 640 634T622 622V61Q628 51 639 49T691 46H724V0H713Q692 3 569 3Q434 3 425 0H414V46H447Q489 47 498 49T517 61V332H232V197L233 61Q239 51 250 49T302 46H335V0H324Q303 3 180 3Q45 3 36 0H25V46H58Q100 47 109 49T128 61V622'], + + // LATIN CAPITAL LETTER I + 0x49: [683,0,361,21,339,'328 0Q307 3 180 3T32 0H21V46H43Q92 46 106 49T126 60Q128 63 128 342Q128 620 126 623Q122 628 118 630T96 635T43 637H21V683H32Q53 680 180 680T328 683H339V637H317Q268 637 254 634T234 623Q232 620 232 342Q232 63 234 60Q238 55 242 53T264 48T317 46H339V0H328'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,22,514,25,465,'89 177Q115 177 133 160T152 112Q152 88 137 72T102 52Q99 51 101 49Q106 43 129 29Q159 15 190 15Q232 15 256 48T286 126Q286 127 286 142T286 183T286 238T287 306T287 378Q287 403 287 429T287 479T287 524T286 563T286 593T286 614V621Q281 630 263 633T182 637H154V683H166Q187 680 332 680Q439 680 457 683H465V637H449Q422 637 401 634Q393 631 389 623Q388 621 388 376T387 123Q377 61 322 20T194 -22Q188 -22 177 -21T160 -20Q96 -9 61 29T25 110Q25 144 44 160T89 177'], + + // LATIN CAPITAL LETTER K + 0x4B: [683,0,778,25,736,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q57 680 180 680Q315 680 324 683H335V637H313Q235 637 233 620Q232 618 232 462L233 307L379 449Q425 494 479 546Q518 584 524 591T531 607V608Q531 630 503 636Q501 636 498 636T493 637H489V683H499Q517 680 630 680Q704 680 716 683H722V637H708Q633 633 589 597Q584 592 495 506T406 419T515 254T631 80Q644 60 662 54T715 46H736V0H728Q719 3 615 3Q493 3 472 0H461V46H469Q515 46 515 72Q515 78 512 84L336 351Q332 348 278 296L232 251V156Q232 62 235 58Q243 47 302 46H335V0H324Q303 3 180 3Q45 3 36 0H25V46H58Q100 47 109 49T128 61V622'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,0,625,25,582,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q48 680 182 680Q324 680 348 683H360V637H333Q273 637 258 635T233 622L232 342V129Q232 57 237 52Q243 47 313 47Q384 47 410 53Q470 70 498 110T536 221Q536 226 537 238T540 261T542 272T562 273H582V268Q580 265 568 137T554 5V0H25V46H58Q100 47 109 49T128 61V622'], + + // LATIN CAPITAL LETTER M + 0x4D: [683,0,917,29,887,'132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622'], + + // LATIN CAPITAL LETTER N + 0x4E: [683,0,750,25,724,'42 46Q74 48 94 56T118 69T128 86V634H124Q114 637 52 637H25V683H232L235 680Q237 679 322 554T493 303L578 178V598Q572 608 568 613T544 627T492 637H475V683H483Q498 680 600 680Q706 680 715 683H724V637H707Q634 633 622 598L621 302V6L614 0H600Q585 0 582 3T481 150T282 443T171 605V345L172 86Q183 50 257 46H274V0H265Q250 3 150 3Q48 3 33 0H25V46H42'], + + // LATIN CAPITAL LETTER O + 0x4F: [705,23,778,56,722,'56 340Q56 423 86 494T164 610T270 680T388 705Q521 705 621 601T722 341Q722 260 693 191T617 75T510 4T388 -22T267 3T160 74T85 189T56 340ZM467 647Q426 665 388 665Q360 665 331 654T269 620T213 549T179 439Q174 411 174 354Q174 144 277 61Q327 20 385 20H389H391Q474 20 537 99Q603 188 603 354Q603 411 598 439Q577 592 467 647'], + + // LATIN CAPITAL LETTER P + 0x50: [684,0,681,27,624,'130 622Q123 629 119 631T103 634T60 637H27V683H214Q237 683 276 683T331 684Q419 684 471 671T567 616Q624 563 624 489Q624 421 573 372T451 307Q429 302 328 301H234V181Q234 62 237 58Q245 47 304 46H337V0H326Q305 3 182 3Q47 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM507 488Q507 514 506 528T500 564T483 597T450 620T397 635Q385 637 307 637H286Q237 637 234 628Q231 624 231 483V342H302H339Q390 342 423 349T481 382Q507 411 507 488'], + + // LATIN CAPITAL LETTER Q + 0x51: [705,193,778,56,728,'56 341Q56 499 157 602T388 705Q521 705 621 601T722 341Q722 275 703 218T660 127T603 63T555 25T525 9Q524 8 524 8H523Q524 5 526 -1T537 -21T555 -47T581 -67T615 -76Q653 -76 678 -56T706 -3Q707 10 716 10Q721 10 728 5L727 -13Q727 -88 697 -140T606 -193Q563 -193 538 -166T498 -83Q483 -23 483 -8L471 -11Q459 -14 435 -18T388 -22Q254 -22 155 81T56 341ZM607 339Q607 429 586 496T531 598T461 649T390 665T318 649T248 598T192 496T170 339Q170 143 277 57Q301 39 305 39L304 42Q304 44 304 46Q301 53 301 68Q301 101 325 128T391 155Q454 155 495 70L501 58Q549 91 578 164Q607 234 607 339ZM385 18Q404 18 425 23T459 33T472 40Q471 47 468 57T449 88T412 115Q398 117 386 117Q367 117 353 102T338 67Q338 48 351 33T385 18'], + + // LATIN CAPITAL LETTER R + 0x52: [683,22,736,27,732,'130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499'], + + // LATIN CAPITAL LETTER S + 0x53: [705,22,556,55,500,'55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507'], + + // LATIN CAPITAL LETTER T + 0x54: [677,0,722,36,685,'36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443'], + + // LATIN CAPITAL LETTER U + 0x55: [683,22,750,25,724,'128 622Q121 629 117 631T101 634T58 637H25V683H36Q57 680 180 680Q315 680 324 683H335V637H302Q262 636 251 634T233 622L232 418V291Q232 189 240 145T280 67Q325 24 389 24Q454 24 506 64T571 183Q575 206 575 410V598Q569 608 565 613T541 627T489 637H472V683H481Q496 680 598 680T715 683H724V637H707Q634 633 622 598L621 399Q620 194 617 180Q617 179 615 171Q595 83 531 31T389 -22Q304 -22 226 33T130 192Q129 201 128 412V622'], + + // LATIN CAPITAL LETTER V + 0x56: [683,22,750,19,730,'114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620'], + + // LATIN CAPITAL LETTER W + 0x57: [683,22,1028,18,1009,'792 683Q810 680 914 680Q991 680 1003 683H1009V637H996Q931 633 915 598Q912 591 863 438T766 135T716 -17Q711 -22 694 -22Q676 -22 673 -15Q671 -13 593 231L514 477L435 234Q416 174 391 92T358 -6T341 -22H331Q314 -21 310 -15Q309 -14 208 302T104 622Q98 632 87 633Q73 637 35 637H18V683H27Q69 681 154 681Q164 681 181 681T216 681T249 682T276 683H287H298V637H285Q213 637 213 620Q213 616 289 381L364 144L427 339Q490 535 492 546Q487 560 482 578T475 602T468 618T461 628T449 633T433 636T408 637H380V683H388Q397 680 508 680Q629 680 650 683H660V637H647Q576 637 576 619L727 146Q869 580 869 600Q869 605 863 612T839 627T794 637H783V683H792'], + + // LATIN CAPITAL LETTER X + 0x58: [683,0,750,23,726,'270 0Q252 3 141 3Q46 3 31 0H23V46H40Q129 50 161 88Q165 94 244 216T324 339Q324 341 235 480T143 622Q133 631 119 634T57 637H37V683H46Q64 680 172 680Q297 680 318 683H329V637H324Q307 637 286 632T263 621Q263 618 322 525T384 431Q385 431 437 511T489 593Q490 595 490 599Q490 611 477 622T436 637H428V683H437Q455 680 566 680Q661 680 676 683H684V637H667Q585 634 551 599Q548 596 478 491Q412 388 412 387Q412 385 514 225T620 62Q628 53 642 50T695 46H726V0H717Q699 3 591 3Q466 3 445 0H434V46H440Q454 46 476 51T499 64Q499 67 463 124T390 238L353 295L350 292Q348 290 343 283T331 265T312 236T286 195Q219 88 218 84Q218 70 234 59T272 46H280V0H270'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,0,750,11,738,'518 0Q497 3 374 3Q253 3 232 0H221V46H254Q313 47 321 58Q324 62 324 167V273L221 446Q117 620 114 623Q106 631 91 634T31 637H11V683H20Q29 680 148 680Q273 680 294 683H305V637H287Q239 636 236 621Q236 619 321 475L407 332L483 460Q502 492 527 534Q563 594 563 604Q563 632 517 637H508V683H517H525Q533 683 545 683T571 682T600 681T626 681Q695 681 731 683H738V637H723Q640 633 613 588Q612 587 517 427L425 273V169V95Q425 66 428 59T444 49Q459 46 506 46H528V0H518'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,0,611,55,560,'69 443Q69 452 74 554T80 683H549Q555 677 555 664Q555 649 554 648Q552 645 366 348T179 50T192 49T263 49H275H302Q333 49 353 50T401 59T447 78T482 115T507 173Q513 200 520 273V282H560V274Q560 272 552 143T543 8V0H302L61 1L58 3Q55 8 55 21V35Q59 43 153 193T340 489T432 637H343Q259 637 214 625T141 573Q109 523 109 445Q109 443 89 443H69'], + + // LOW LINE + 0x5F: [-25,62,500,0,499,'0 -62V-25H499V-62H0'], + + // GRAVE ACCENT + 0x60: [699,-505,500,106,296,'106 655Q106 671 119 685T150 699Q166 699 177 688Q190 671 222 629T275 561T295 533T282 519L267 505L196 563Q119 626 113 634Q106 643 106 655'], + + // TILDE + 0x7E: [318,-215,500,83,416,'179 251Q164 251 151 245T131 234T111 215L97 227L83 238Q83 239 95 253T121 283T142 304Q165 318 187 318T253 300T320 282Q335 282 348 288T368 299T388 318L402 306L416 295Q375 236 344 222Q330 215 313 215Q292 215 248 233T179 251'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js new file mode 100644 index 00000000..a3aa2df2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // COMBINING GRAVE ACCENT + 0x300: [699,-505,0,-394,-204,'-394 655Q-394 671 -381 685T-350 699Q-334 699 -323 688Q-310 671 -278 629T-225 561T-205 533T-218 519L-233 505L-304 563Q-381 626 -387 634Q-394 643 -394 655'], + + // COMBINING ACUTE ACCENT + 0x301: [699,-505,0,-297,-107,'-151 699Q-133 699 -120 686T-107 656Q-107 651 -108 647T-113 637T-120 627T-133 616T-149 602T-170 585T-197 563L-268 505L-283 519Q-297 533 -296 533Q-296 534 -271 567T-218 636T-187 678L-184 681Q-182 684 -179 686T-172 692T-163 697T-151 699'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-531,0,-388,-113,'-388 560L-251 694L-243 686Q-113 562 -113 560L-139 531Q-141 532 -197 581L-250 627L-305 580Q-318 569 -331 557T-352 538L-360 532Q-362 530 -375 546L-388 560'], + + // COMBINING TILDE + 0x303: [668,-565,0,-417,-84,'-321 601Q-336 601 -349 595T-369 584T-389 565L-403 577L-417 588Q-417 589 -405 603T-379 633T-358 654Q-335 668 -313 668T-247 650T-180 632Q-165 632 -152 638T-132 649T-112 668L-98 656L-84 645Q-125 586 -156 572Q-170 565 -187 565Q-208 565 -252 583T-321 601'], + + // COMBINING MACRON + 0x304: [590,-544,0,-431,-70,'-431 544V590H-70V544H-431'], + + // COMBINING BREVE + 0x306: [694,-515,0,-408,-93,'-250 515Q-321 515 -362 565T-408 683V694H-371V689Q-371 688 -371 683T-370 675Q-363 631 -331 599T-252 567Q-196 567 -163 608T-130 689V694H-93V683Q-97 617 -139 566T-250 515'], + + // COMBINING DOT ABOVE + 0x307: [669,-549,0,-310,-191,'-310 609Q-310 637 -292 653T-248 669Q-225 667 -208 652T-191 609Q-191 579 -208 564T-250 549Q-275 549 -292 564T-310 609'], + + // COMBINING DIAERESIS + 0x308: [669,-554,0,-405,-95,'-405 612Q-405 633 -388 651T-347 669T-307 652T-290 612Q-290 588 -306 571T-348 554L-373 560Q-405 577 -405 612ZM-211 611Q-211 634 -196 649T-165 668Q-164 668 -160 668T-154 669Q-131 669 -114 652T-96 612T-113 572T-154 554Q-177 554 -194 570T-211 611'], + + // COMBINING RING ABOVE + 0x30A: [715,-542,0,-353,-148,'-353 628Q-353 669 -321 692T-256 715Q-202 715 -175 689T-148 629Q-148 592 -177 567T-251 542Q-298 542 -325 567T-353 628ZM-187 628Q-187 660 -200 669T-241 678H-247Q-252 678 -258 678T-266 679Q-283 679 -293 674T-308 659T-312 644T-313 629Q-313 600 -302 590Q-290 579 -250 579H-235Q-221 579 -212 581T-195 595T-187 628'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [701,-510,0,-378,-80,'-292 701Q-278 701 -262 690T-246 658Q-246 649 -250 641Q-252 637 -297 574T-344 510L-378 528Q-378 530 -355 598T-327 676Q-316 701 -292 701ZM-126 701Q-112 701 -96 690T-80 658Q-80 649 -84 641Q-86 637 -131 574T-178 510L-212 528Q-212 530 -189 598T-161 676Q-150 701 -126 701'], + + // COMBINING CARON + 0x30C: [644,-513,0,-386,-115,'-386 611L-373 630L-364 644Q-362 644 -307 612Q-252 581 -250 581L-194 612Q-139 644 -137 644L-115 611L-182 562L-251 513L-386 611'], + + // COMBINING LONG SOLIDUS OVERLAY + 0x338: [716,215,0,-639,-140,'-612 -215T-619 -215T-631 -212T-637 -204T-639 -197Q-639 -190 -634 -183Q-621 -157 -400 274T-176 707Q-173 716 -160 716Q-153 716 -148 712T-142 703T-140 696Q-140 691 -372 241T-608 -212Q-612 -215 -619 -215'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js new file mode 100644 index 00000000..3eccba2b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js @@ -0,0 +1,41 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/GeometricShapes.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // WHITE UP-POINTING TRIANGLE + 0x25B3: [716,0,889,59,828,'75 0L72 2Q69 3 67 5T62 11T59 20Q59 24 62 30Q65 37 245 370T428 707Q428 708 430 710T436 714T444 716Q451 716 455 712Q459 710 644 368L828 27V20Q828 7 814 0H75ZM610 347L444 653Q443 653 278 347T113 40H775Q775 42 610 347'], + + // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25B9: [505,5,500,26,473,'26 489Q33 505 43 505Q51 505 260 385Q464 266 471 259Q473 257 473 250Q473 242 469 239Q459 231 260 115Q51 -5 43 -5Q39 -5 35 -1T28 7L26 11V489ZM412 250L67 450Q66 450 66 250T67 50Q69 51 240 150T412 250'], + + // WHITE DOWN-POINTING TRIANGLE + 0x25BD: [500,215,889,59,828,'59 480Q59 485 61 489T66 495T72 498L75 500H814Q828 493 828 480V474L644 132Q458 -210 455 -212Q451 -215 444 -215T433 -212Q429 -210 342 -49T164 282T64 466Q59 478 59 480ZM775 460H113Q113 459 278 153T444 -153T610 153T775 460'], + + // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25C3: [505,5,500,26,473,'473 10Q466 -5 454 -5Q451 -5 445 -3Q444 -3 343 56T140 173T35 234Q26 239 26 250T35 266Q40 269 240 384T445 503Q451 505 453 505Q466 505 473 490V10ZM433 50T433 250T432 450T259 351T87 250T258 150T432 50Q433 50 433 250'], + + // LARGE CIRCLE + 0x25EF: [715,215,1000,56,944,'56 250Q56 353 95 442T196 589T335 681T491 715Q573 715 635 693Q694 673 747 635T846 543T917 412T944 250Q944 58 815 -78T500 -215Q457 -215 429 -210Q274 -183 165 -56T56 250ZM500 -176Q664 -176 784 -54T904 250Q904 418 799 536T543 674Q534 675 493 675Q425 675 357 647T229 567T133 432T96 250Q96 160 129 80T217 -56T346 -144T500 -176'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/GeometricShapes.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js new file mode 100644 index 00000000..60597195 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/GreekAndCoptic.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,0,625,25,582,'128 619Q121 626 117 628T101 631T58 634H25V680H554V676Q556 670 568 560T582 444V440H542V444Q542 445 538 478T523 545T492 598Q454 634 349 634H334Q264 634 249 633T233 621Q232 618 232 339L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [716,0,833,46,786,'51 0Q46 4 46 7Q46 9 215 357T388 709Q391 716 416 716Q439 716 444 709Q447 705 616 357T786 7Q786 4 781 0H51ZM507 344L384 596L137 92L383 91H630Q630 93 507 344'], + + // GREEK CAPITAL LETTER THETA + 0x398: [705,23,778,56,722,'56 340Q56 423 86 494T164 610T270 680T388 705Q521 705 621 601T722 341Q722 260 693 191T617 75T510 4T388 -22T267 3T160 74T85 189T56 340ZM610 339Q610 428 590 495T535 598T463 651T384 668Q332 668 289 638T221 566Q168 485 168 339Q168 274 176 235Q189 158 228 105T324 28Q356 16 388 16Q415 16 442 24T501 54T555 111T594 205T610 339ZM223 263V422H263V388H514V422H554V263H514V297H263V263H223'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [716,0,694,32,661,'320 708Q326 716 340 716H348H355Q367 716 372 708Q374 706 423 547T523 226T575 62Q581 52 591 50T634 46H661V0H653Q644 3 532 3Q411 3 390 0H379V46H392Q464 46 464 65Q463 70 390 305T316 539L246 316Q177 95 177 84Q177 72 198 59T248 46H253V0H245Q230 3 130 3Q47 3 38 0H32V46H45Q112 51 127 91Q128 92 224 399T320 708'], + + // GREEK CAPITAL LETTER XI + 0x39E: [677,0,667,42,624,'47 509L55 676Q55 677 333 677T611 676L619 509Q619 508 599 508T579 510Q579 529 575 557T564 589Q550 594 333 594T102 589Q95 586 91 558T87 510Q87 508 67 508T47 509ZM139 260V445H179V394H487V445H527V260H487V311H179V260H139ZM50 0L42 180H62Q82 180 82 178Q82 133 89 105Q92 93 95 90T108 86Q137 83 333 83Q530 83 558 86Q568 87 571 90T577 105Q584 133 584 178Q584 180 604 180H624L616 0H50'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [680,0,750,25,724,'128 619Q121 626 117 628T101 631T58 634H25V680H724V634H691Q651 633 640 631T622 619V61Q628 51 639 49T691 46H724V0H713Q692 3 569 3Q434 3 425 0H414V46H447Q489 47 498 49T517 61V634H232V348L233 61Q239 51 250 49T302 46H335V0H324Q303 3 180 3Q45 3 36 0H25V46H58Q100 47 109 49T128 61V619'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [683,0,722,55,666,'666 247Q664 244 652 126T638 4V0H351Q131 0 95 0T57 5V6Q54 12 57 17L73 36Q89 54 121 90T182 159L305 299L56 644L55 658Q55 677 60 681Q63 683 351 683H638V679Q640 674 652 564T666 447V443H626V447Q618 505 604 543T559 605Q529 626 478 631T333 637H294H189L293 494Q314 465 345 422Q400 346 400 340Q400 338 399 337L154 57Q407 57 428 58Q476 60 508 68T551 83T575 103Q595 125 608 162T624 225L626 251H666V247'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [705,0,778,55,722,'55 551Q55 604 91 654T194 705Q240 705 277 681T334 624T367 556T385 498L389 474L392 488Q394 501 400 521T414 566T438 615T473 659T521 692T584 705Q620 705 648 689T691 647T714 597T722 551Q722 540 719 538T699 536Q680 536 677 541Q677 542 677 544T676 548Q676 576 650 596T588 616H582Q538 616 505 582Q466 543 454 477T441 318Q441 301 441 269T442 222V61Q448 55 452 53T478 48T542 46H569V0H557Q533 3 389 3T221 0H209V46H236Q256 46 270 46T295 47T311 48T322 51T328 54T332 57T337 61V209Q337 383 333 415Q313 616 189 616Q154 616 128 597T101 548Q101 540 97 538T78 536Q63 536 59 538T55 551'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [683,0,722,55,665,'312 622Q310 623 307 625T303 629T297 631T286 634T270 635T246 636T211 637H184V683H196Q220 680 361 680T526 683H538V637H511Q468 637 447 635T422 631T411 622V533L425 531Q525 519 595 466T665 342Q665 301 642 267T583 209T506 172T425 152L411 150V61Q417 55 421 53T447 48T511 46H538V0H526Q502 3 361 3T196 0H184V46H211Q231 46 245 46T270 47T286 48T297 51T303 54T307 57T312 61V150H310Q309 151 289 153T232 166T160 195Q149 201 136 210T103 238T69 284T56 342Q56 414 128 467T294 530Q309 532 310 533H312V622ZM170 342Q170 207 307 188H312V495H309Q301 495 282 491T231 469T186 423Q170 389 170 342ZM415 188Q487 199 519 236T551 342Q551 384 539 414T507 459T470 481T434 491T415 495H410V188H415'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [683,0,778,55,722,'340 622Q338 623 335 625T331 629T325 631T314 634T298 635T274 636T239 637H212V683H224Q248 680 389 680T554 683H566V637H539Q479 637 464 635T439 622L438 407Q438 192 439 192Q443 193 449 195T474 207T507 232T536 276T557 344Q560 365 562 417T573 493Q587 536 620 544Q627 546 671 546H715L722 540V515Q714 509 708 509Q680 505 671 476T658 392T644 307Q599 177 451 153L438 151V106L439 61Q446 54 451 52T476 48T539 46H566V0H554Q530 3 389 3T224 0H212V46H239Q259 46 273 46T298 47T314 48T325 51T331 54T335 57T340 61V151Q126 178 117 406Q115 503 69 509Q55 509 55 526Q55 541 59 543T86 546H107H120Q150 546 161 543T184 528Q198 514 204 493Q212 472 213 420T226 316T272 230Q287 216 303 207T330 194L339 192Q340 192 340 407V622'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [705,0,722,44,677,'55 454Q55 503 75 546T127 617T197 665T272 695T337 704H352Q396 704 404 703Q527 687 596 615T666 454Q666 392 635 330T559 200T499 83V80H543Q589 81 600 83T617 93Q622 102 629 135T636 172L637 177H677V175L660 89Q645 3 644 2V0H552H488Q461 0 456 3T451 20Q451 89 499 235T548 455Q548 512 530 555T483 622T424 656T361 668Q332 668 303 658T243 626T193 560T174 456Q174 380 222 233T270 20Q270 7 263 0H77V2Q76 3 61 89L44 175V177H84L85 172Q85 171 88 155T96 119T104 93Q109 86 120 84T178 80H222V83Q206 132 162 199T87 329T55 454'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/GreekAndCoptic.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js new file mode 100644 index 00000000..813897cf --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/LatinExtendedA.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [443,0,278,26,255,'247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/LatinExtendedA.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js new file mode 100644 index 00000000..7347482c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/LatinExtendedB.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // LATIN SMALL LETTER DOTLESS J + 0x237: [443,205,306,-55,218,'28 -163Q58 -168 64 -168Q124 -168 135 -77Q137 -65 137 141T136 353Q132 371 120 377T72 385H52V408Q52 431 54 431L58 432Q62 432 70 432T87 433T108 434T133 436Q151 437 171 438T202 441T214 442H218V184Q217 -36 217 -59T211 -98Q195 -145 153 -175T58 -205Q9 -205 -23 -179T-55 -117Q-55 -94 -40 -79T-2 -64T36 -79T52 -118Q52 -143 28 -163'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/LatinExtendedB.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js new file mode 100644 index 00000000..4314983d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/LetterlikeSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // stix-/hbar - Planck's over 2pi + 0x210F: [695,13,540,42,562,'182 599Q182 611 174 615T133 619Q118 619 114 621T109 630Q109 636 114 656T122 681Q125 685 202 688Q272 695 286 695Q304 695 304 684Q304 682 295 644T282 597Q282 592 360 592H399Q430 592 445 587T460 563Q460 552 451 541L442 535H266L251 468Q247 453 243 436T236 409T233 399Q233 395 244 404Q295 441 357 441Q405 441 445 417T485 333Q485 284 449 178T412 58T426 44Q447 44 466 68Q485 87 500 130L509 152H531H543Q562 152 562 144Q562 128 546 93T494 23T415 -13Q385 -13 359 3T322 44Q318 52 318 77Q318 99 352 196T386 337Q386 386 346 386Q318 386 286 370Q267 361 245 338T211 292Q207 287 193 235T162 113T138 21Q128 7 122 4Q105 -12 83 -12Q66 -12 54 -2T42 26L166 530Q166 534 161 534T129 535Q127 535 122 535T112 534Q74 534 74 562Q74 570 77 576T84 585T96 589T109 591T124 592T138 592L182 595V599'], + + // BLACK-LETTER CAPITAL I + 0x2111: [705,10,722,55,693,'55 507Q55 589 116 647T260 705Q395 705 526 541Q542 522 549 517T567 512Q595 512 621 521T647 550Q647 553 647 555T650 558T653 560T657 561T661 561T665 561T670 561Q681 561 685 561T691 558T693 548Q693 515 657 495T565 475Q518 475 481 495T418 543T371 599T320 647T259 667Q194 667 148 622T102 508Q102 468 119 436T164 385T220 357T273 347Q282 347 284 344T287 329Q287 317 285 314T272 310Q193 310 124 364T55 507ZM420 312Q420 367 464 399T564 431Q613 431 651 406T693 336Q693 325 689 323T667 320Q654 320 651 322T647 335Q645 360 622 376T566 393H563Q557 393 551 391T537 381T523 356T517 312Q517 287 535 265T574 229T613 190T631 132Q628 74 586 37T487 -9Q478 -10 417 -10H387Q344 -10 310 4T215 69Q130 142 71 146Q59 146 57 149T55 163Q55 177 58 180T75 183H108Q177 183 207 170T306 93Q346 56 368 40T420 13Q474 25 503 60T533 136Q533 160 516 182T477 219T438 257T420 304V312'], + + // SCRIPT SMALL L + 0x2113: [706,20,417,7,397,'345 104T349 104T361 95T369 80T352 59Q268 -20 206 -20Q170 -20 146 3T113 53T99 104L94 129Q94 130 79 116T48 86T28 70Q22 70 15 79T7 94Q7 98 12 103T58 147L91 179V185Q91 186 91 191T92 200Q92 282 128 400T223 612T336 705Q397 705 397 636V627Q397 453 194 233Q185 223 180 218T174 211T171 208T165 201L163 186Q159 142 159 123Q159 17 208 17Q228 17 253 30T293 56T335 94Q345 104 349 104ZM360 634Q360 655 354 661T336 668Q328 668 322 666T302 645T272 592Q252 547 229 467T192 330L179 273Q179 272 186 280T204 300T221 322Q327 453 355 590Q360 612 360 634'], + + // SCRIPT CAPITAL P + 0x2118: [453,216,636,67,625,'300 74Q300 133 338 133Q350 133 356 126T363 109Q363 88 340 76Q340 71 342 62T358 39T393 26Q435 26 474 67T532 182T551 290Q551 325 535 349T484 373Q430 373 378 348T291 289T228 218T187 157T174 130Q254 30 265 10Q276 -15 276 -41Q276 -101 235 -158T142 -216Q112 -216 90 -195T67 -118Q67 -40 104 64L110 81Q81 118 81 174Q81 268 134 360T247 453Q252 453 255 451T258 447L259 445Q259 432 253 420Q251 416 242 416Q209 411 176 341T142 203Q142 193 143 184T146 170T149 165L158 180Q215 280 303 345T485 410Q548 410 586 368T625 255Q625 157 553 74T389 -10H383Q349 -10 325 14Q302 37 300 74ZM105 -123Q105 -134 106 -141T110 -158T122 -173T145 -178Q155 -178 160 -176Q184 -163 199 -132T214 -73Q214 -69 214 -66T213 -59T212 -53T209 -47T205 -41T199 -33T193 -25T184 -14T174 -1L165 10Q156 22 148 32L139 43Q138 43 130 15T113 -54T105 -123'], + + // BLACK-LETTER CAPITAL R + 0x211C: [716,22,722,40,715,'300 614L306 620Q311 626 316 631T332 646T356 663T386 679T425 695T473 707T531 715Q534 715 543 715T557 716Q570 716 572 714Q574 713 644 580T715 444Q715 441 713 439Q712 438 677 419T602 379T549 354L550 348Q550 337 555 238T561 128Q561 122 560 115T559 101Q559 63 591 25L599 18L631 51Q665 85 671 85Q674 85 687 78T702 68Q704 63 702 59Q702 58 659 20T613 -21Q612 -22 598 -22Q556 -22 526 -8T484 27T466 66T461 101Q461 110 462 116T463 129Q463 135 458 232T452 331V338H343V280Q342 195 333 157Q316 64 267 12Q233 -22 193 -22Q155 -22 122 2T72 74Q72 76 70 76T67 74T60 74T48 82Q40 91 40 95Q40 100 42 102T57 109V113Q57 118 66 127T81 137Q88 137 93 123Q105 127 108 126Q111 124 118 117T127 107Q127 101 123 98T113 93T107 90Q107 86 115 71T143 37T189 15H192Q230 15 239 96Q244 135 244 334Q244 510 242 542Q236 584 233 596Q223 630 205 649T166 668Q136 668 118 642T100 584Q100 567 110 554T137 522T166 486Q194 446 194 401V389Q189 243 114 243Q91 243 77 260T59 294T55 322Q55 331 59 333T75 336T91 334T95 322Q95 280 113 280Q134 280 140 305T147 375V391Q147 417 139 435T101 487Q56 540 56 572V580Q56 630 86 667T169 704Q214 704 247 676T300 614ZM324 562Q326 555 330 539T336 515T340 484T343 427V384H424L505 385Q537 396 584 422L609 435Q610 435 594 465T550 550Q536 575 520 605T496 650L488 664L476 662Q348 633 324 562'], + + // ALEF SYMBOL + 0x2135: [694,0,611,55,555,'55 613Q55 643 61 663T74 688T85 694Q94 694 94 681Q98 632 134 588L412 285Q416 311 430 397T447 509V519L438 526Q407 554 398 571T388 617T394 664T407 688T418 694Q425 694 427 684Q429 675 454 635T488 586Q490 584 496 579T513 563T537 540Q555 516 555 487Q555 460 549 441T537 416T528 409Q519 409 517 415T513 435T503 463Q492 481 490 481Q454 264 454 246Q454 237 479 212T529 152T555 79Q555 32 538 9Q531 1 524 1Q516 1 516 13Q512 62 476 106Q468 115 337 258T195 412L193 406Q191 401 189 394T183 377T176 352T171 322T167 284T165 240Q165 224 166 220Q171 199 211 152T252 70Q252 45 235 29T203 8T175 1Q170 0 115 0H79Q60 0 58 3T55 20Q55 31 58 34Q60 37 76 37Q112 39 126 46T140 70Q140 96 112 148T83 236Q83 281 102 334T140 419T159 452Q55 556 55 613'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/LetterlikeSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/Main.js new file mode 100644 index 00000000..b3fc7a65 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/Main.js @@ -0,0 +1,628 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'] = { + directory: 'Main/Regular', + family: 'MathJax_Main', + id: 'MJMAIN', + skew: { + 0x131: 0.0278, + 0x237: 0.0833, + 0x2113: 0.111, + 0x2118: 0.111, + 0x2202: 0.0833 + }, + Ranges: [ + [0x20,0x7F,"BasicLatin"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x2100,0x214F,"LetterlikeSymbols"] + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x2A00,0x2AFF,"SuppMathOperators"] + ], + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [750,250,389,94,333,'94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250'], + + // RIGHT PARENTHESIS + 0x29: [750,250,389,55,294,'60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749'], + + // PLUS SIGN + 0x2B: [583,82,778,56,722,'56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250'], + + // COMMA + 0x2C: [121,195,278,78,210,'78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17'], + + // FULL STOP + 0x2E: [120,0,278,78,199,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], + + // SOLIDUS + 0x2F: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], + + // DIGIT ZERO + 0x30: [666,22,500,39,460,'96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597'], + + // DIGIT ONE + 0x31: [666,0,500,83,427,'213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578'], + + // DIGIT TWO + 0x32: [666,0,500,50,449,'109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429'], + + // DIGIT THREE + 0x33: [665,22,500,42,457,'127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463'], + + // DIGIT FOUR + 0x34: [677,0,500,28,471,'462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293'], + + // DIGIT FIVE + 0x35: [666,22,500,50,449,'164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157'], + + // DIGIT SIX + 0x36: [666,22,500,41,456,'42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397'], + + // DIGIT SEVEN + 0x37: [676,22,500,55,485,'55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458'], + + // DIGIT EIGHT + 0x38: [666,22,500,43,457,'70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21'], + + // DIGIT NINE + 0x39: [666,22,500,42,456,'352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248'], + + // COLON + 0x3A: [430,0,278,78,199,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], + + // SEMICOLON + 0x3B: [430,194,278,78,202,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 85 94 103T137 121Q202 121 202 8Q202 -44 183 -94T144 -169T118 -194Q115 -194 106 -186T95 -174Q94 -171 107 -155T137 -107T160 -38Q161 -32 162 -22T165 -4T165 4Q165 5 161 4T142 0Q110 0 94 18T78 60'], + + // LESS-THAN SIGN + 0x3C: [540,40,778,83,695,'694 -11T694 -19T688 -33T678 -40Q671 -40 524 29T234 166L90 235Q83 240 83 250Q83 261 91 266Q664 540 678 540Q681 540 687 534T694 519T687 505Q686 504 417 376L151 250L417 124Q686 -4 687 -5Q694 -11 694 -19'], + + // EQUALS SIGN + 0x3D: [367,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], + + // GREATER-THAN SIGN + 0x3E: [540,40,778,82,694,'84 520Q84 528 88 533T96 539L99 540Q106 540 253 471T544 334L687 265Q694 260 694 250T687 235Q685 233 395 96L107 -40H101Q83 -38 83 -20Q83 -19 83 -17Q82 -10 98 -1Q117 9 248 71Q326 108 378 132L626 250L378 368Q90 504 86 509Q84 513 84 520'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,278,118,255,'118 -250V750H255V710H158V-210H255V-250H118'], + + // REVERSE SOLIDUS + 0x5C: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,278,22,159,'22 710V750H159V-250H22V-210H119V710H22'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], + + // LATIN SMALL LETTER A + 0x61: [448,11,500,34,493,'137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106'], + + // LATIN SMALL LETTER B + 0x62: [695,11,556,20,522,'307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98'], + + // LATIN SMALL LETTER C + 0x63: [448,12,444,34,415,'370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320'], + + // LATIN SMALL LETTER D + 0x64: [695,11,556,34,535,'376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342'], + + // LATIN SMALL LETTER E + 0x65: [448,11,444,28,415,'28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275'], + + // LATIN SMALL LETTER F + 0x66: [705,0,306,26,372,'273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273'], + + // LATIN SMALL LETTER G + 0x67: [453,206,500,29,485,'329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75'], + + // LATIN SMALL LETTER H + 0x68: [695,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER I + 0x69: [669,0,278,26,255,'69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247'], + + // LATIN SMALL LETTER J + 0x6A: [669,205,306,-55,218,'98 609Q98 637 116 653T160 669Q183 667 200 652T217 609Q217 579 200 564T158 549Q133 549 116 564T98 609ZM28 -163Q58 -168 64 -168Q124 -168 135 -77Q137 -65 137 141T136 353Q132 371 120 377T72 385H52V408Q52 431 54 431L58 432Q62 432 70 432T87 433T108 434T133 436Q151 437 171 438T202 441T214 442H218V184Q217 -36 217 -59T211 -98Q195 -145 153 -175T58 -205Q9 -205 -23 -179T-55 -117Q-55 -94 -40 -79T-2 -64T36 -79T52 -118Q52 -143 28 -163'], + + // LATIN SMALL LETTER K + 0x6B: [695,0,528,20,511,'36 46H50Q89 46 97 60V68Q97 77 97 91T97 124T98 167T98 217T98 272T98 329Q98 366 98 407T98 482T98 542T97 586T97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V463L180 233L240 287Q300 341 304 347Q310 356 310 364Q310 383 289 385H284V431H293Q308 428 412 428Q475 428 484 431H489V385H476Q407 380 360 341Q286 278 286 274Q286 273 349 181T420 79Q434 60 451 53T500 46H511V0H505Q496 3 418 3Q322 3 307 0H299V46H306Q330 48 330 65Q330 72 326 79Q323 84 276 153T228 222L176 176V120V84Q176 65 178 59T189 49Q210 46 238 46H254V0H246Q231 3 137 3T28 0H20V46H36'], + + // LATIN SMALL LETTER L + 0x6C: [695,0,278,26,263,'42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42'], + + // LATIN SMALL LETTER M + 0x6D: [443,0,833,25,819,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER N + 0x6E: [443,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER O + 0x6F: [448,10,500,28,471,'28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30'], + + // LATIN SMALL LETTER P + 0x70: [443,194,556,20,522,'36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218'], + + // LATIN SMALL LETTER Q + 0x71: [442,194,528,33,535,'33 218Q33 308 95 374T236 441H246Q330 441 381 372L387 364Q388 364 404 403L420 442H457V156Q457 -132 458 -134Q462 -142 470 -145Q491 -148 519 -148H535V-194H527L504 -193Q480 -192 453 -192T415 -191Q312 -191 303 -194H295V-148H311Q339 -148 360 -145Q369 -141 371 -135T373 -106V-41V49Q313 -11 236 -11Q154 -11 94 53T33 218ZM376 300Q346 389 278 401Q275 401 269 401T261 402Q211 400 171 350T131 214Q131 137 165 82T253 27Q296 27 328 54T376 118V300'], + + // LATIN SMALL LETTER R + 0x72: [443,0,392,20,364,'36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36'], + + // LATIN SMALL LETTER S + 0x73: [448,11,394,33,359,'295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316'], + + // LATIN SMALL LETTER T + 0x74: [615,10,389,18,333,'27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27'], + + // LATIN SMALL LETTER U + 0x75: [443,11,556,25,542,'383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58'], + + // LATIN SMALL LETTER V + 0x76: [431,11,528,19,508,'338 431Q344 429 422 429Q479 429 503 431H508V385H497Q439 381 423 345Q421 341 356 172T288 -2Q283 -11 263 -11Q244 -11 239 -2Q99 359 98 364Q93 378 82 381T43 385H19V431H25L33 430Q41 430 53 430T79 430T104 429T122 428Q217 428 232 431H240V385H226Q187 384 184 370Q184 366 235 234L286 102L377 341V349Q377 363 367 372T349 383T335 385H331V431H338'], + + // LATIN SMALL LETTER W + 0x77: [431,11,722,18,703,'90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368'], + + // LATIN SMALL LETTER X + 0x78: [431,0,528,11,516,'201 0Q189 3 102 3Q26 3 17 0H11V46H25Q48 47 67 52T96 61T121 78T139 96T160 122T180 150L226 210L168 288Q159 301 149 315T133 336T122 351T113 363T107 370T100 376T94 379T88 381T80 383Q74 383 44 385H16V431H23Q59 429 126 429Q219 429 229 431H237V385Q201 381 201 369Q201 367 211 353T239 315T268 274L272 270L297 304Q329 345 329 358Q329 364 327 369T322 376T317 380T310 384L307 385H302V431H309Q324 428 408 428Q487 428 493 431H499V385H492Q443 385 411 368Q394 360 377 341T312 257L296 236L358 151Q424 61 429 57T446 50Q464 46 499 46H516V0H510H502Q494 1 482 1T457 2T432 2T414 3Q403 3 377 3T327 1L304 0H295V46H298Q309 46 320 51T331 63Q331 65 291 120L250 175Q249 174 219 133T185 88Q181 83 181 74Q181 63 188 55T206 46Q208 46 208 23V0H201'], + + // LATIN SMALL LETTER Y + 0x79: [431,204,528,19,508,'69 -66Q91 -66 104 -80T118 -116Q118 -134 109 -145T91 -160Q84 -163 97 -166Q104 -168 111 -168Q131 -168 148 -159T175 -138T197 -106T213 -75T225 -43L242 0L170 183Q150 233 125 297Q101 358 96 368T80 381Q79 382 78 382Q66 385 34 385H19V431H26L46 430Q65 430 88 429T122 428Q129 428 142 428T171 429T200 430T224 430L233 431H241V385H232Q183 385 185 366L286 112Q286 113 332 227L376 341V350Q376 365 366 373T348 383T334 385H331V431H337H344Q351 431 361 431T382 430T405 429T422 429Q477 429 503 431H508V385H497Q441 380 422 345Q420 343 378 235T289 9T227 -131Q180 -204 113 -204Q69 -204 44 -177T19 -116Q19 -89 35 -78T69 -66'], + + // LATIN SMALL LETTER Z + 0x7A: [431,0,444,28,401,'42 263Q44 270 48 345T53 423V431H393Q399 425 399 415Q399 403 398 402L381 378Q364 355 331 309T265 220L134 41L182 40H206Q254 40 283 46T331 77Q352 105 359 185L361 201Q361 202 381 202H401V196Q401 195 393 103T384 6V0H209L34 1L31 3Q28 8 28 17Q28 30 29 31T160 210T294 394H236Q169 393 152 388Q127 382 113 367Q89 344 82 264V255H42V263'], + + // LEFT CURLY BRACKET + 0x7B: [750,250,500,65,434,'434 -231Q434 -244 428 -250H410Q281 -250 230 -184Q225 -177 222 -172T217 -161T213 -148T211 -133T210 -111T209 -84T209 -47T209 0Q209 21 209 53Q208 142 204 153Q203 154 203 155Q189 191 153 211T82 231Q71 231 68 234T65 250T68 266T82 269Q116 269 152 289T203 345Q208 356 208 377T209 529V579Q209 634 215 656T244 698Q270 724 324 740Q361 748 377 749Q379 749 390 749T408 750H428Q434 744 434 732Q434 719 431 716Q429 713 415 713Q362 710 332 689T296 647Q291 634 291 499V417Q291 370 288 353T271 314Q240 271 184 255L170 250L184 245Q202 239 220 230T262 196T290 137Q291 131 291 1Q291 -134 296 -147Q306 -174 339 -192T415 -213Q429 -213 431 -216Q434 -219 434 -231'], + + // VERTICAL LINE + 0x7C: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], + + // RIGHT CURLY BRACKET + 0x7D: [750,250,500,65,434,'65 731Q65 745 68 747T88 750Q171 750 216 725T279 670Q288 649 289 635T291 501Q292 362 293 357Q306 312 345 291T417 269Q428 269 431 266T434 250T431 234T417 231Q380 231 345 210T298 157Q293 143 292 121T291 -28V-79Q291 -134 285 -156T256 -198Q202 -250 89 -250Q71 -250 68 -247T65 -230Q65 -224 65 -223T66 -218T69 -214T77 -213Q91 -213 108 -210T146 -200T183 -177T207 -139Q208 -134 209 3L210 139Q223 196 280 230Q315 247 330 250Q305 257 280 270Q225 304 212 352L210 362L209 498Q208 635 207 640Q195 680 154 696T77 713Q68 713 67 716T65 731'], + + // DIAERESIS + 0xA8: [669,-554,500,95,405,'95 612Q95 633 112 651T153 669T193 652T210 612Q210 588 194 571T152 554L127 560Q95 577 95 612ZM289 611Q289 634 304 649T335 668Q336 668 340 668T346 669Q369 669 386 652T404 612T387 572T346 554Q323 554 306 570T289 611'], + + // NOT SIGN + 0xAC: [356,-89,667,56,611,'56 323T56 336T70 356H596Q603 353 611 343V102Q598 89 591 89Q587 89 584 90T579 94T575 98T572 102L571 209V316H70Q56 323 56 336'], + + // MACRON + 0xAF: [590,-544,500,69,430,'69 544V590H430V544H69'], + + // DEGREE SIGN + 0xB0: [715,-542,500,147,352,'147 628Q147 669 179 692T244 715Q298 715 325 689T352 629Q352 592 323 567T249 542Q202 542 175 567T147 628ZM313 628Q313 660 300 669T259 678H253Q248 678 242 678T234 679Q217 679 207 674T192 659T188 644T187 629Q187 600 198 590Q210 579 250 579H265Q279 579 288 581T305 595T313 628'], + + // PLUS-MINUS SIGN + 0xB1: [666,0,778,56,722,'56 320T56 333T70 353H369V502Q369 651 371 655Q376 666 388 666Q402 666 405 654T409 596V500V353H707Q722 345 722 333Q722 320 707 313H409V40H707Q722 32 722 20T707 0H70Q56 7 56 20T70 40H369V313H70Q56 320 56 333'], + + // ACUTE ACCENT + 0xB4: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], + + // MULTIPLICATION SIGN + 0xD7: [491,-9,778,147,630,'630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29'], + + // DIVISION SIGN + 0xF7: [537,36,778,56,721,'318 466Q318 500 339 518T386 537Q418 537 438 517T458 466Q458 438 440 417T388 396Q355 396 337 417T318 466ZM56 237T56 250T70 270H706Q721 262 721 250T706 230H70Q56 237 56 250ZM318 34Q318 68 339 86T386 105Q418 105 438 85T458 34Q458 6 440 -15T388 -36Q355 -36 337 -15T318 34'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], + + // CARON + 0x2C7: [644,-513,500,114,385,'114 611L127 630L136 644Q138 644 193 612Q248 581 250 581L306 612Q361 644 363 644L385 611L318 562L249 513L114 611'], + + // MODIFIER LETTER MACRON + 0x2C9: [590,-544,500,69,430,'69 544V590H430V544H69'], + + // MODIFIER LETTER ACUTE ACCENT + 0x2CA: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], + + // MODIFIER LETTER GRAVE ACCENT + 0x2CB: [699,-505,500,106,296,'106 655Q106 671 119 685T150 699Q166 699 177 688Q190 671 222 629T275 561T295 533T282 519L267 505L196 563Q119 626 113 634Q106 643 106 655'], + + // BREVE + 0x2D8: [694,-515,500,92,407,'250 515Q179 515 138 565T92 683V694H129V689Q129 688 129 683T130 675Q137 631 169 599T248 567Q304 567 337 608T370 689V694H407V683Q403 617 361 566T250 515'], + + // DOT ABOVE + 0x2D9: [669,-549,500,190,309,'190 609Q190 637 208 653T252 669Q275 667 292 652T309 609Q309 579 292 564T250 549Q225 549 208 564T190 609'], + + // SMALL TILDE + 0x2DC: [668,-565,500,83,416,'179 601Q164 601 151 595T131 584T111 565L97 577L83 588Q83 589 95 603T121 633T142 654Q165 668 187 668T253 650T320 632Q335 632 348 638T368 649T388 668L402 656L416 645Q375 586 344 572Q330 565 313 565Q292 565 248 583T179 601'], + + // EN DASH + 0x2013: [285,-248,500,0,499,'0 248V285H499V248H0'], + + // EM DASH + 0x2014: [285,-248,1000,0,999,'0 248V285H999V248H0'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-379,278,64,199,'64 494Q64 548 86 597T131 670T160 694Q163 694 172 685T182 672Q182 669 170 656T144 625T116 573T101 501Q101 489 102 489T107 491T120 497T138 500Q163 500 180 483T198 440T181 397T139 379Q110 379 87 405T64 494'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-379,278,78,212,'78 634Q78 659 95 676T138 694Q166 694 189 668T212 579Q212 525 190 476T146 403T118 379Q114 379 105 388T95 401Q95 404 107 417T133 448T161 500T176 572Q176 584 175 584T170 581T157 576T139 573Q114 573 96 590T78 634'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-379,500,128,466,'128 494Q128 528 137 560T158 616T185 658T209 685T223 694T236 685T245 670Q244 668 231 654T204 622T178 571T164 501Q164 489 165 489T170 491T183 497T201 500Q226 500 244 483T262 440T245 397T202 379Q173 379 151 405T128 494ZM332 494Q332 528 341 560T362 616T389 658T413 685T427 694T439 685T449 672Q449 669 437 656T411 625T383 573T368 501Q368 489 369 489T374 491T387 497T405 500Q430 500 448 483T466 440T449 397T406 379Q377 379 355 405T332 494'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-379,500,34,372,'34 634Q34 659 50 676T93 694Q121 694 144 668T168 579Q168 525 146 476T101 403T73 379Q69 379 60 388T50 401Q50 404 62 417T88 448T116 500T131 572Q131 584 130 584T125 581T112 576T94 573Q69 573 52 590T34 634ZM238 634Q238 659 254 676T297 694Q325 694 348 668T372 579Q372 525 350 476T305 403T277 379Q273 379 264 388T254 401Q254 404 266 417T292 448T320 500T335 572Q335 584 334 584T329 581T316 576T298 573Q273 573 256 590T238 634'], + + // DAGGER + 0x2020: [705,216,444,54,389,'182 675Q195 705 222 705Q234 705 243 700T253 691T263 675L262 655Q262 620 252 549T240 454V449Q250 451 288 461T346 472T377 461T389 431Q389 417 379 404T346 390Q327 390 288 401T243 412H240V405Q245 367 250 339T258 301T261 274T263 225Q263 124 255 -41T239 -213Q236 -216 222 -216H217Q206 -216 204 -212T200 -186Q199 -175 199 -168Q181 38 181 225Q181 265 182 280T191 327T204 405V412H201Q196 412 157 401T98 390Q76 390 66 403T55 431T65 458T98 472Q116 472 155 462T205 449Q204 452 204 460T201 490T193 547Q182 619 182 655V675'], + + // DOUBLE DAGGER + 0x2021: [705,205,444,54,389,'181 658Q181 705 222 705T263 658Q263 633 252 572T240 497Q240 496 241 496Q243 496 285 507T345 519Q365 519 376 508T388 478Q388 466 384 458T375 447T361 438H344Q318 438 282 448T241 459Q240 458 240 456Q240 449 251 384T263 297Q263 278 255 267T238 253T222 250T206 252T190 266T181 297Q181 323 192 383T204 458Q204 459 203 459Q198 459 162 449T101 438H84Q74 443 70 446T61 457T56 478Q56 497 67 508T99 519Q117 519 159 508T203 496Q204 496 204 499Q204 507 193 572T181 658ZM181 202Q181 249 222 249T263 202Q263 185 259 161T249 103T240 48V41H243Q248 41 287 52T346 63T377 52T389 22Q389 8 379 -5T346 -19Q327 -19 288 -8T243 3H240V-4Q243 -24 249 -58T259 -117T263 -158Q263 -177 255 -188T238 -202T222 -205T206 -203T190 -189T181 -158Q181 -141 185 -117T195 -59T204 -4V3H201Q196 3 157 -8T98 -19Q76 -19 66 -6T55 22T65 49T98 63Q117 63 156 52T201 41H204V48Q201 68 195 102T185 161T181 202'], + + // HORIZONTAL ELLIPSIS + 0x2026: [120,0,1172,78,1093,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60ZM525 60Q525 84 542 102T585 120Q609 120 627 104T646 61Q646 36 629 18T586 0T543 17T525 60ZM972 60Q972 84 989 102T1032 120Q1056 120 1074 104T1093 61Q1093 36 1076 18T1033 0T990 17T972 60'], + + // PRIME + 0x2032: [560,-43,275,30,262,'79 43Q73 43 52 49T30 61Q30 68 85 293T146 528Q161 560 198 560Q218 560 240 545T262 501Q262 496 260 486Q259 479 173 263T84 45T79 43'], + + // COMBINING RIGHT ARROW ABOVE + 0x20D7: [714,-516,0,-471,-29,'-123 694Q-123 702 -118 708T-103 714Q-93 714 -88 706T-80 687T-67 660T-40 633Q-29 626 -29 615Q-29 606 -36 600T-53 590T-83 571T-121 531Q-135 516 -143 516T-157 522T-163 536T-152 559T-129 584T-116 595H-287L-458 596Q-459 597 -461 599T-466 602T-469 607T-471 615Q-471 622 -458 635H-99Q-123 673 -123 694'], + + // LEFTWARDS ARROW + 0x2190: [511,11,1000,55,944,'944 261T944 250T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H929Q944 261 944 250'], + + // UPWARDS ARROW + 0x2191: [694,193,500,17,483,'27 414Q17 414 17 433Q17 437 17 439T17 444T19 447T20 450T22 452T26 453T30 454T36 456Q80 467 120 494T180 549Q227 607 238 678Q240 694 251 694Q259 694 261 684Q261 677 265 659T284 608T320 549Q340 525 363 507T405 479T440 463T467 455T479 451Q483 447 483 433Q483 413 472 413Q467 413 458 416Q342 448 277 545L270 555V-179Q262 -193 252 -193H250H248Q236 -193 230 -179V555L223 545Q192 499 146 467T70 424T27 414'], + + // RIGHTWARDS ARROW + 0x2192: [511,11,1000,56,944,'56 237T56 250T70 270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H70Q56 237 56 250'], + + // DOWNWARDS ARROW + 0x2193: [694,194,500,17,483,'473 86Q483 86 483 67Q483 63 483 61T483 56T481 53T480 50T478 48T474 47T470 46T464 44Q428 35 391 14T316 -55T264 -168Q264 -170 263 -173T262 -180T261 -184Q259 -194 251 -194Q242 -194 238 -176T221 -121T180 -49Q169 -34 155 -21T125 2T95 20T67 33T44 42T27 47L21 49Q17 53 17 67Q17 87 28 87Q33 87 42 84Q158 52 223 -45L230 -55V312Q230 391 230 482T229 591Q229 662 231 676T243 693Q244 694 251 694Q264 692 270 679V-55L277 -45Q307 1 353 33T430 76T473 86'], + + // LEFT RIGHT ARROW + 0x2194: [511,11,1000,55,944,'263 479Q267 501 271 506T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H835Q729 349 696 475Q691 493 691 500Q691 511 711 511Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q144 292 194 349T263 479'], + + // UP DOWN ARROW + 0x2195: [772,272,500,17,483,'27 492Q17 492 17 511Q17 515 17 517T17 522T19 525T20 528T22 530T26 531T30 532T36 534Q80 545 120 572T180 627Q210 664 223 701T238 755T250 772T261 762Q261 757 264 741T282 691T319 628Q352 589 390 566T454 536L479 529Q483 525 483 511Q483 491 472 491Q467 491 458 494Q342 526 277 623L270 633V-133L277 -123Q307 -77 353 -45T430 -2T473 8Q483 8 483 -11Q483 -15 483 -17T483 -22T481 -25T480 -28T478 -30T474 -31T470 -32T464 -34Q407 -49 364 -84T300 -157T270 -223T261 -262Q259 -272 250 -272Q242 -272 239 -255T223 -201T180 -127Q169 -112 155 -99T125 -76T95 -58T67 -45T44 -36T27 -31L21 -29Q17 -25 17 -11Q17 9 28 9Q33 9 42 6Q158 -26 223 -123L230 -133V633L223 623Q192 577 146 545T70 502T27 492'], + + // NORTH WEST ARROW + 0x2196: [720,195,1000,29,944,'204 662Q257 662 301 676T369 705T394 720Q398 720 407 711T417 697Q417 688 389 671T310 639T212 623Q176 623 153 628Q151 628 221 557T546 232Q942 -164 943 -168Q944 -170 944 -174Q944 -182 938 -188T924 -195Q922 -195 916 -193Q912 -191 517 204Q440 281 326 394T166 553L121 598Q126 589 126 541Q126 438 70 349Q59 332 52 332Q48 332 39 341T29 355Q29 358 38 372T57 407T77 464T86 545Q86 583 78 614T63 663T55 683Q55 693 65 693Q73 693 82 688Q136 662 204 662'], + + // NORTH EAST ARROW + 0x2197: [720,195,1000,55,971,'582 697Q582 701 591 710T605 720Q607 720 630 706T697 677T795 662Q830 662 863 670T914 686T934 694Q942 694 944 685Q944 680 936 663T921 615T913 545Q913 490 927 446T956 379T970 355Q970 351 961 342T947 332Q940 332 929 349Q874 436 874 541Q874 590 878 598L832 553Q787 508 673 395T482 204Q87 -191 83 -193Q77 -195 75 -195Q67 -195 61 -189T55 -174Q55 -170 56 -168Q58 -164 453 232Q707 487 777 557T847 628Q824 623 787 623Q689 623 599 679Q582 690 582 697'], + + // SOUTH EAST ARROW + 0x2198: [695,220,1000,55,970,'55 675Q55 683 60 689T75 695Q77 695 83 693Q87 691 482 296Q532 246 605 174T717 62T799 -20T859 -80T878 -97Q874 -93 874 -41Q874 64 929 151Q940 168 947 168Q951 168 960 159T970 145Q970 143 956 121T928 54T913 -45Q913 -83 920 -114T936 -163T944 -185Q942 -194 934 -194Q932 -194 914 -186T864 -170T795 -162Q743 -162 698 -176T630 -205T605 -220Q601 -220 592 -211T582 -197Q582 -187 611 -170T691 -138T787 -123Q824 -123 847 -128Q848 -128 778 -57T453 268Q58 664 56 668Q55 670 55 675'], + + // SOUTH WEST ARROW + 0x2199: [695,220,1000,29,944,'126 -41Q126 -92 121 -97Q121 -98 139 -80T200 -20T281 61T394 173T517 296Q909 690 916 693Q922 695 924 695Q932 695 938 689T944 674Q944 670 943 668Q942 664 546 268Q292 13 222 -57T153 -128Q176 -123 212 -123Q310 -123 400 -179Q417 -190 417 -197Q417 -201 408 -210T394 -220Q392 -220 369 -206T302 -177T204 -162Q131 -162 67 -194Q63 -195 59 -192T55 -183Q55 -180 62 -163T78 -115T86 -45Q86 10 72 54T44 120T29 145Q29 149 38 158T52 168Q59 168 70 151Q126 62 126 -41'], + + // RIGHTWARDS ARROW FROM BAR + 0x21A6: [511,11,1000,54,944,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H95V155'], + + // LEFTWARDS ARROW WITH HOOK + 0x21A9: [511,11,1126,55,1070,'903 424T903 444T929 464Q976 464 1023 434T1070 347Q1070 316 1055 292T1016 256T971 237T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H926Q929 270 941 271T960 275T978 280T998 290T1015 307Q1030 325 1030 347Q1030 355 1027 364T1014 387T983 411T929 424H928Q903 424 903 444'], + + // RIGHTWARDS ARROW WITH HOOK + 0x21AA: [511,11,1126,55,1070,'55 347Q55 380 72 404T113 441T159 458T197 464Q222 464 222 444Q222 429 204 426T157 417T110 387Q95 369 95 347Q95 339 98 330T111 307T142 283T196 270H961Q845 357 818 493Q818 494 818 496T817 499Q817 511 834 511H837Q846 511 849 510T855 506T858 497T861 481T869 456Q891 389 942 336T1061 261Q1070 258 1070 250Q1070 244 1065 241T1041 231T1003 212Q962 186 932 152T887 85T866 35T858 4Q856 -6 853 -8T837 -11Q817 -11 817 0Q817 7 822 25Q854 151 961 230H196Q149 230 102 260T55 347'], + + // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BC: [511,-230,1000,55,944,'62 230Q56 236 55 244Q55 252 57 255T69 265Q114 292 151 326T208 391T243 448T265 491T273 509Q276 511 288 511Q304 511 306 505Q309 501 303 484Q293 456 279 430T251 383T223 344T196 313T173 291T156 276L148 270H929Q944 261 944 250T929 230H62'], + + // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21BD: [270,11,1000,55,944,'55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], + + // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C0: [511,-230,1000,56,945,'691 500Q691 511 711 511Q720 511 723 510T730 504T735 490T746 464T768 425Q796 378 835 339T897 285T933 263Q941 258 942 256T944 245T937 230H70Q56 237 56 250T70 270H852Q802 308 762 364T707 455T691 500'], + + // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C1: [270,11,1000,56,944,'56 237T56 250T70 270H937Q944 263 944 256Q944 251 944 250T943 246T940 242T933 238Q794 153 734 7Q729 -7 726 -9T711 -11Q695 -11 693 -5Q690 -1 696 16Q721 84 763 139T852 230H70Q56 237 56 250'], + + // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CC: [671,11,1000,55,945,'691 660Q691 671 711 671Q720 671 723 670T730 664T735 650T746 624T768 585Q797 538 836 499T897 445T933 423Q941 418 942 416T944 405T937 390H70Q56 397 56 410T70 430H852Q802 468 762 524T707 615T691 660ZM55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], + + // LEFTWARDS DOUBLE ARROW + 0x21D0: [525,24,1000,56,945,'944 153Q944 140 929 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H929Q944 359 944 347Q944 336 930 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173H930Q931 172 933 171T936 169T938 167T941 164T942 162T943 158T944 153'], + + // UPWARDS DOUBLE ARROW + 0x21D1: [694,194,611,31,579,'228 -179Q227 -180 226 -182T223 -186T221 -189T218 -192T214 -193T208 -194Q196 -194 189 -181L188 125V430L176 419Q122 369 59 338Q46 330 40 330Q38 330 31 337V350Q31 362 33 365T46 374Q60 381 77 390T128 426T190 484T247 567T292 677Q295 688 298 692Q302 694 305 694Q313 694 318 677Q334 619 363 568T420 485T481 427T532 391T564 374Q575 368 577 365T579 350V337Q572 330 570 330Q564 330 551 338Q487 370 435 419L423 430L422 125V-181Q409 -194 401 -194Q397 -194 394 -193T388 -189T385 -184T382 -180V-177V475L373 487Q331 541 305 602Q304 601 300 591T290 571T278 548T260 519T238 488L229 476L228 148V-179'], + + // RIGHTWARDS DOUBLE ARROW + 0x21D2: [525,24,1000,56,944,'580 514Q580 525 596 525Q601 525 604 525T609 525T613 524T615 523T617 520T619 517T622 512Q659 438 720 381T831 300T927 263Q944 258 944 250T935 239T898 228T840 204Q696 134 622 -12Q618 -21 615 -22T600 -24Q580 -24 580 -17Q580 -13 585 0Q620 69 671 123L681 133H70Q56 140 56 153Q56 168 72 173H725L735 181Q774 211 852 250Q851 251 834 259T789 283T735 319L725 327H72Q56 332 56 347Q56 360 70 367H681L671 377Q638 412 609 458T580 514'], + + // DOWNWARDS DOUBLE ARROW + 0x21D3: [694,194,611,31,579,'401 694Q412 694 422 681V375L423 70L435 81Q487 130 551 162Q564 170 570 170Q572 170 579 163V150Q579 138 577 135T564 126Q541 114 518 99T453 48T374 -46T318 -177Q313 -194 305 -194T293 -178T272 -119T225 -31Q158 70 46 126Q35 132 33 135T31 150V163Q38 170 40 170Q46 170 59 162Q122 131 176 81L188 70V375L189 681Q199 694 208 694Q219 694 228 680V352L229 25L238 12Q279 -42 305 -102Q344 -23 373 13L382 25V678Q387 692 401 694'], + + // LEFT RIGHT DOUBLE ARROW + 0x21D4: [526,25,1000,33,966,'308 524Q318 526 323 526Q340 526 340 514Q340 507 336 499Q326 476 314 454T292 417T274 391T260 374L255 368Q255 367 500 367Q744 367 744 368L739 374Q734 379 726 390T707 416T685 453T663 499Q658 511 658 515Q658 525 680 525Q687 524 690 523T695 519T701 507Q766 359 902 287Q921 276 939 269T961 259T966 250Q966 246 965 244T960 240T949 236T930 228T902 213Q763 137 701 -7Q697 -16 695 -19T690 -23T680 -25Q658 -25 658 -15Q658 -11 663 1Q673 24 685 46T707 83T725 109T739 126L744 132Q744 133 500 133Q255 133 255 132L260 126Q265 121 273 110T292 84T314 47T336 1Q341 -11 341 -15Q341 -25 319 -25Q312 -24 309 -23T304 -19T298 -7Q233 141 97 213Q83 221 70 227T51 235T41 239T35 243T34 250T35 256T40 261T51 265T70 273T97 287Q235 363 299 509Q305 522 308 524ZM792 319L783 327H216Q183 294 120 256L110 250L120 244Q173 212 207 181L216 173H783L792 181Q826 212 879 244L889 250L879 256Q826 288 792 319'], + + // UP DOWN DOUBLE ARROW + 0x21D5: [772,272,611,31,579,'290 755Q298 772 305 772T318 757T343 706T393 633Q431 588 473 558T545 515T579 497V484Q579 464 570 464Q564 464 550 470Q485 497 423 550L422 400V100L423 -50Q485 3 550 30Q565 36 570 36Q579 36 579 16V3Q575 -1 549 -12T480 -53T393 -132Q361 -172 342 -208T318 -258T305 -272T293 -258T268 -208T217 -132Q170 -80 128 -51T61 -12T31 3V16Q31 36 40 36Q46 36 61 30Q86 19 109 6T146 -18T173 -38T188 -50V550Q186 549 173 539T147 519T110 495T61 470Q46 464 40 464Q31 464 31 484V497Q34 500 63 513T135 557T217 633Q267 692 290 755ZM374 598Q363 610 351 625T332 651T316 676T305 695L294 676Q282 657 267 636T236 598L228 589V-89L236 -98Q247 -110 259 -125T278 -151T294 -176T305 -195L316 -176Q328 -157 343 -136T374 -98L382 -89V589L374 598'], + + // FOR ALL + 0x2200: [694,22,556,0,556,'0 673Q0 684 7 689T20 694Q32 694 38 680T82 567L126 451H430L473 566Q483 593 494 622T512 668T519 685Q524 694 538 694Q556 692 556 674Q556 670 426 329T293 -15Q288 -22 278 -22T263 -15Q260 -11 131 328T0 673ZM414 410Q414 411 278 411T142 410L278 55L414 410'], + + // PARTIAL DIFFERENTIAL + 0x2202: [715,22,531,42,567,'202 508Q179 508 169 520T158 547Q158 557 164 577T185 624T230 675T301 710L333 715H345Q378 715 384 714Q447 703 489 661T549 568T566 457Q566 362 519 240T402 53Q321 -22 223 -22Q123 -22 73 56Q42 102 42 148V159Q42 276 129 370T322 465Q383 465 414 434T455 367L458 378Q478 461 478 515Q478 603 437 639T344 676Q266 676 223 612Q264 606 264 572Q264 547 246 528T202 508ZM430 306Q430 372 401 400T333 428Q270 428 222 382Q197 354 183 323T150 221Q132 149 132 116Q132 21 232 21Q244 21 250 22Q327 35 374 112Q389 137 409 196T430 306'], + + // THERE EXISTS + 0x2203: [694,0,556,56,500,'56 661T56 674T70 694H487Q497 686 500 679V15Q497 10 487 1L279 0H70Q56 7 56 20T70 40H460V327H84Q70 334 70 347T84 367H460V654H70Q56 661 56 674'], + + // EMPTY SET + 0x2205: [772,78,500,39,460,'331 696Q335 708 339 722T345 744T350 759T357 769T367 772Q374 772 381 767T388 754Q388 746 377 712L366 673L378 661Q460 575 460 344Q460 281 456 234T432 126T373 27Q319 -22 250 -22Q214 -22 180 -7Q168 -3 168 -4L159 -33Q148 -71 142 -75Q138 -78 132 -78Q124 -78 118 -72T111 -60Q111 -52 122 -18L133 21L125 29Q39 111 39 344Q39 596 137 675Q187 716 251 716Q265 716 278 714T296 710T315 703T331 696ZM276 676Q264 679 246 679Q196 679 159 631Q134 597 128 536T121 356Q121 234 127 174T151 80L234 366Q253 430 275 506T308 618L318 654Q318 656 294 669L276 676ZM181 42Q207 16 250 16Q291 16 324 47Q354 78 366 136T378 356Q378 470 372 528T349 616L348 613Q348 611 264 326L181 42'], + + // NABLA + 0x2207: [683,33,833,46,786,'46 676Q46 679 51 683H781Q786 679 786 676Q786 674 617 326T444 -26Q439 -33 416 -33T388 -26Q385 -22 216 326T46 676ZM697 596Q697 597 445 597T193 596Q195 591 319 336T445 80L697 596'], + + // ELEMENT OF + 0x2208: [541,41,667,84,583,'84 250Q84 372 166 450T360 539Q361 539 377 539T419 540T469 540H568Q583 532 583 520Q583 511 570 501L466 500Q355 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H568Q583 262 583 250T568 230H124V228Q124 207 134 177T167 112T231 48T328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 446 -40T417 -41Q262 -41 172 45Q84 127 84 250'], + + // stix-negated (vert) set membership, variant + 0x2209: [716,215,667,84,584,'196 25Q84 109 84 250Q84 372 166 450T360 539Q361 539 375 539T413 540T460 540L547 707Q550 716 563 716Q570 716 575 712T581 703T583 696T505 540H568Q583 532 583 520Q583 511 570 501L484 500L366 270H568Q583 262 583 250T568 230H346L247 38Q284 16 328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 447 -40T419 -41Q304 -41 228 3Q117 -211 115 -212Q111 -215 104 -215T92 -212T86 -204T84 -197Q84 -190 89 -183L196 25ZM214 61L301 230H124V228Q124 196 147 147T214 61ZM321 270L440 500Q353 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H321'], + + // CONTAINS AS MEMBER + 0x220B: [541,40,667,83,582,'83 520Q83 532 98 540H195Q202 540 220 540T249 541Q404 541 494 455Q582 374 582 250Q582 165 539 99T434 0T304 -39Q297 -40 195 -40H98Q83 -32 83 -20Q83 -10 96 0H200Q311 1 337 6Q369 14 401 28Q422 39 445 55Q484 85 508 127T537 191T542 228V230H98Q84 237 84 250T98 270H542V272Q542 280 539 295T527 336T497 391T445 445Q422 461 401 472Q386 479 374 483T347 491T325 495T298 498T273 499T239 500T200 500L96 501Q83 511 83 520'], + + // MINUS SIGN + 0x2212: [270,-230,778,84,694,'84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250'], + + // MINUS-OR-PLUS SIGN + 0x2213: [500,166,778,56,722,'56 467T56 480T70 500H707Q722 492 722 480T707 460H409V187H707Q722 179 722 167Q722 154 707 147H409V0V-93Q409 -144 406 -155T389 -166Q376 -166 372 -155T368 -105Q368 -96 368 -62T369 -2V147H70Q56 154 56 167T70 187H369V460H70Q56 467 56 480'], + + // DIVISION SLASH + 0x2215: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], + + // SET MINUS + 0x2216: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], + + // ASTERISK OPERATOR + 0x2217: [465,-35,500,64,435,'229 286Q216 420 216 436Q216 454 240 464Q241 464 245 464T251 465Q263 464 273 456T283 436Q283 419 277 356T270 286L328 328Q384 369 389 372T399 375Q412 375 423 365T435 338Q435 325 425 315Q420 312 357 282T289 250L355 219L425 184Q434 175 434 161Q434 146 425 136T401 125Q393 125 383 131T328 171L270 213Q283 79 283 63Q283 53 276 44T250 35Q231 35 224 44T216 63Q216 80 222 143T229 213L171 171Q115 130 110 127Q106 124 100 124Q87 124 76 134T64 161Q64 166 64 169T67 175T72 181T81 188T94 195T113 204T138 215T170 230T210 250L74 315Q65 324 65 338Q65 353 74 363T98 374Q106 374 116 368T171 328L229 286'], + + // RING OPERATOR + 0x2218: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251ZM245 403Q188 403 142 361T96 250Q96 183 141 140T250 96Q284 96 313 109T354 135T375 160Q403 197 403 250Q403 313 360 358T245 403'], + + // BULLET OPERATOR + 0x2219: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251'], + + // SQUARE ROOT + 0x221A: [800,200,833,71,853,'95 178Q89 178 81 186T72 200T103 230T169 280T207 309Q209 311 212 311H213Q219 311 227 294T281 177Q300 134 312 108L397 -77Q398 -77 501 136T707 565T814 786Q820 800 834 800Q841 800 846 794T853 782V776L620 293L385 -193Q381 -200 366 -200Q357 -200 354 -197Q352 -195 256 15L160 225L144 214Q129 202 113 190T95 178'], + + // PROPORTIONAL TO + 0x221D: [442,11,778,56,722,'56 124T56 216T107 375T238 442Q260 442 280 438T319 425T352 407T382 385T406 361T427 336T442 315T455 297T462 285L469 297Q555 442 679 442Q687 442 722 437V398H718Q710 400 694 400Q657 400 623 383T567 343T527 294T503 253T495 235Q495 231 520 192T554 143Q625 44 696 44Q717 44 719 46H722V-5Q695 -11 678 -11Q552 -11 457 141Q455 145 454 146L447 134Q362 -11 235 -11Q157 -11 107 56ZM93 213Q93 143 126 87T220 31Q258 31 292 48T349 88T389 137T413 178T421 196Q421 200 396 239T362 288Q322 345 288 366T213 387Q163 387 128 337T93 213'], + + // INFINITY + 0x221E: [442,11,1000,55,944,'55 217Q55 305 111 373T254 442Q342 442 419 381Q457 350 493 303L507 284L514 294Q618 442 747 442Q833 442 888 374T944 214Q944 128 889 59T743 -11Q657 -11 580 50Q542 81 506 128L492 147L485 137Q381 -11 252 -11Q166 -11 111 57T55 217ZM907 217Q907 285 869 341T761 397Q740 397 720 392T682 378T648 359T619 335T594 310T574 285T559 263T548 246L543 238L574 198Q605 158 622 138T664 94T714 61T765 51Q827 51 867 100T907 217ZM92 214Q92 145 131 89T239 33Q357 33 456 193L425 233Q364 312 334 337Q285 380 233 380Q171 380 132 331T92 214'], + + // ANGLE + 0x2220: [694,0,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q67 43 346 361Q397 420 474 508Q595 648 616 671T647 694T661 688T666 674Q666 668 663 663Q662 662 627 622T524 503T390 350L120 41L386 40H653Q666 30 666 20Q666 8 651 0H71'], + + // DIVIDES + 0x2223: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], + + // PARALLEL TO + 0x2225: [750,250,500,132,368,'133 736Q138 750 153 750Q164 750 170 739Q172 735 172 250T170 -239Q164 -250 152 -250Q144 -250 138 -244L137 -243Q133 -241 133 -179T132 250Q132 731 133 736ZM329 739Q334 750 346 750Q353 750 361 744L362 743Q366 741 366 679T367 250T367 -178T362 -243L361 -244Q355 -250 347 -250Q335 -250 329 -239Q327 -235 327 250T329 739'], + + // LOGICAL AND + 0x2227: [598,22,667,55,611,'318 591Q325 598 333 598Q344 598 348 591Q349 590 414 445T545 151T611 -4Q609 -22 591 -22Q588 -22 586 -21T581 -20T577 -17T575 -13T572 -9T570 -4L333 528L96 -4Q87 -20 80 -21Q78 -22 75 -22Q57 -22 55 -4Q55 2 120 150T251 444T318 591'], + + // LOGICAL OR + 0x2228: [598,22,667,55,611,'55 580Q56 587 61 592T75 598Q86 598 96 580L333 48L570 580Q579 596 586 597Q588 598 591 598Q609 598 611 580Q611 574 546 426T415 132T348 -15Q343 -22 333 -22T318 -15Q317 -14 252 131T121 425T55 580'], + + // stix-intersection, serifs + 0x2229: [598,22,667,55,611,'88 -21T75 -21T55 -7V200Q55 231 55 280Q56 414 60 428Q61 430 61 431Q77 500 152 549T332 598Q443 598 522 544T610 405Q611 399 611 194V-7Q604 -22 591 -22Q582 -22 572 -9L570 405Q563 433 556 449T529 485Q498 519 445 538T334 558Q251 558 179 518T96 401Q95 396 95 193V-7Q88 -21 75 -21'], + + // stix-union, serifs + 0x222A: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598'], + + // INTEGRAL + 0x222B: [716,216,417,55,472,'151 -112Q151 -150 106 -161Q106 -165 114 -172T134 -179Q155 -179 170 -146Q181 -120 188 -64T206 101T232 310Q256 472 277 567Q308 716 392 716Q434 716 453 681T472 613Q472 590 458 577T424 564Q404 564 390 578T376 612Q376 650 421 661Q421 663 418 667T407 675T393 679Q387 679 380 675Q360 665 350 619T326 438Q302 190 253 -57Q235 -147 201 -186Q174 -213 138 -216Q93 -216 74 -181T55 -113Q55 -91 69 -78T103 -64Q123 -64 137 -78T151 -112'], + + // TILDE OPERATOR + 0x223C: [367,-133,778,55,722,'55 166Q55 241 101 304T222 367Q260 367 296 349T362 304T421 252T484 208T554 189Q616 189 655 236T694 338Q694 350 698 358T708 367Q722 367 722 334Q722 260 677 197T562 134H554Q517 134 481 152T414 196T355 248T292 293T223 311Q179 311 145 286Q109 257 96 218T80 156T69 133Q55 133 55 166'], + + // WREATH PRODUCT + 0x2240: [583,83,278,55,222,'55 569Q55 583 83 583Q122 583 151 565T194 519T215 464T222 411Q222 360 194 304T139 193T111 89Q111 38 134 -7T195 -55Q222 -57 222 -69Q222 -83 189 -83Q130 -83 93 -33T55 90Q55 130 72 174T110 252T148 328T166 411Q166 462 144 507T83 555Q55 556 55 569'], + + // ASYMPTOTICALLY EQUAL TO + 0x2243: [464,-36,778,55,722,'55 283Q55 356 103 409T217 463Q262 463 297 447T395 382Q431 355 446 344T493 320T554 307H558Q613 307 652 344T694 433Q694 464 708 464T722 432Q722 356 673 304T564 251H554Q510 251 465 275T387 329T310 382T223 407H219Q164 407 122 367Q91 333 85 295T76 253T69 250Q55 250 55 283ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], + + // APPROXIMATELY EQUAL TO + 0x2245: [589,-22,1000,55,722,'55 388Q55 463 101 526T222 589Q260 589 296 571T362 526T421 474T484 430T554 411Q616 411 655 458T694 560Q694 572 698 580T708 589Q722 589 722 556Q722 482 677 419T562 356H554Q517 356 481 374T414 418T355 471T292 515T223 533Q179 533 145 508Q109 479 96 440T80 378T69 355Q55 355 55 388ZM56 236Q56 249 70 256H707Q722 248 722 236Q722 225 708 217L390 216H72Q56 221 56 236ZM56 42Q56 57 72 62H708Q722 52 722 42Q722 30 707 22H70Q56 29 56 42'], + + // ALMOST EQUAL TO + 0x2248: [483,-55,778,55,722,'55 319Q55 360 72 393T114 444T163 472T205 482Q207 482 213 482T223 483Q262 483 296 468T393 413L443 381Q502 346 553 346Q609 346 649 375T694 454Q694 465 698 474T708 483Q722 483 722 452Q722 386 675 338T555 289Q514 289 468 310T388 357T308 404T224 426Q164 426 125 393T83 318Q81 289 69 289Q55 289 55 319ZM55 85Q55 126 72 159T114 210T163 238T205 248Q207 248 213 248T223 249Q262 249 296 234T393 179L443 147Q502 112 553 112Q609 112 649 141T694 220Q694 249 708 249T722 217Q722 153 675 104T555 55Q514 55 468 76T388 123T308 170T224 192Q164 192 125 159T83 84Q80 55 69 55Q55 55 55 85'], + + // EQUIVALENT TO + 0x224D: [484,-16,778,55,722,'55 464Q55 471 60 477T74 484Q80 484 108 464T172 420T268 376T389 356Q436 356 483 368T566 399T630 436T675 467T695 482Q701 484 703 484Q711 484 716 478T722 464Q722 454 707 442Q550 316 389 316Q338 316 286 329T195 362T124 402T76 437T57 456Q55 462 55 464ZM57 45Q66 58 109 88T230 151T381 183Q438 183 494 168T587 135T658 94T703 61T720 45Q722 39 722 36Q722 28 717 22T703 16Q697 16 669 36T606 80T510 124T389 144Q341 144 294 132T211 101T147 64T102 33T82 18Q76 16 74 16Q66 16 61 22T55 36Q55 39 57 45'], + + // APPROACHES THE LIMIT + 0x2250: [670,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM329 610Q329 634 346 652T389 670Q413 670 431 654T450 611Q450 586 433 568T390 550T347 567T329 610'], + + // stix-not (vert) equals + 0x2260: [716,215,778,56,722,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183L306 133H70Q56 140 56 153Q56 168 72 173H327L406 327H72Q56 332 56 347Q56 360 70 367H426Q597 702 602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 692 471 367H707Q722 359 722 347Q722 336 708 328L451 327L371 173H708Q722 163 722 153Q722 140 707 133H351Q175 -210 170 -212Q166 -215 159 -215'], + + // IDENTICAL TO + 0x2261: [464,-36,778,56,722,'56 444Q56 457 70 464H707Q722 456 722 444Q722 430 706 424H72Q56 429 56 444ZM56 237T56 250T70 270H707Q722 262 722 250T707 230H70Q56 237 56 250ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], + + // LESS-THAN OR EQUAL TO + 0x2264: [636,138,778,83,694,'674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], + + // GREATER-THAN OR EQUAL TO + 0x2265: [636,138,778,82,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 356 694 346T687 331Q685 329 395 192L107 56H101Q83 58 83 76Q83 77 83 79Q82 86 98 95Q117 105 248 167Q326 204 378 228L626 346L360 472Q291 505 200 548Q112 589 98 597T83 616ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], + + // MUCH LESS-THAN + 0x226A: [568,67,1000,56,944,'639 -48Q639 -54 634 -60T619 -67H618Q612 -67 536 -26Q430 33 329 88Q61 235 59 239Q56 243 56 250T59 261Q62 266 336 415T615 567L619 568Q622 567 625 567Q639 562 639 548Q639 540 633 534Q632 532 374 391L117 250L374 109Q632 -32 633 -34Q639 -40 639 -48ZM944 -48Q944 -54 939 -60T924 -67H923Q917 -67 841 -26Q735 33 634 88Q366 235 364 239Q361 243 361 250T364 261Q367 266 641 415T920 567L924 568Q927 567 930 567Q944 562 944 548Q944 540 938 534Q937 532 679 391L422 250L679 109Q937 -32 938 -34Q944 -40 944 -48'], + + // MUCH GREATER-THAN + 0x226B: [567,67,1000,55,944,'55 539T55 547T60 561T74 567Q81 567 207 498Q297 449 365 412Q633 265 636 261Q639 255 639 250Q639 241 626 232Q614 224 365 88Q83 -65 79 -66Q76 -67 73 -67Q65 -67 60 -61T55 -47Q55 -39 61 -33Q62 -33 95 -15T193 39T320 109L321 110H322L323 111H324L325 112L326 113H327L329 114H330L331 115H332L333 116L334 117H335L336 118H337L338 119H339L340 120L341 121H342L343 122H344L345 123H346L347 124L348 125H349L351 126H352L353 127H354L355 128L356 129H357L358 130H359L360 131H361L362 132L363 133H364L365 134H366L367 135H368L369 136H370L371 137L372 138H373L374 139H375L376 140L378 141L576 251Q63 530 62 533Q55 539 55 547ZM360 539T360 547T365 561T379 567Q386 567 512 498Q602 449 670 412Q938 265 941 261Q944 255 944 250Q944 241 931 232Q919 224 670 88Q388 -65 384 -66Q381 -67 378 -67Q370 -67 365 -61T360 -47Q360 -39 366 -33Q367 -33 400 -15T498 39T625 109L626 110H627L628 111H629L630 112L631 113H632L634 114H635L636 115H637L638 116L639 117H640L641 118H642L643 119H644L645 120L646 121H647L648 122H649L650 123H651L652 124L653 125H654L656 126H657L658 127H659L660 128L661 129H662L663 130H664L665 131H666L667 132L668 133H669L670 134H671L672 135H673L674 136H675L676 137L677 138H678L679 139H680L681 140L683 141L881 251Q368 530 367 533Q360 539 360 547'], + + // PRECEDES + 0x227A: [539,41,778,84,694,'84 249Q84 262 91 266T117 270Q120 270 126 270T137 269Q388 273 512 333T653 512Q657 539 676 539Q685 538 689 532T694 520V515Q689 469 672 431T626 366T569 320T500 286T435 265T373 249Q379 248 404 242T440 233T477 221T533 199Q681 124 694 -17Q694 -41 674 -41Q658 -41 653 -17Q646 41 613 84T533 154T418 197T284 220T137 229H114Q104 229 98 230T88 235T84 249'], + + // SUCCEEDS + 0x227B: [539,41,778,83,694,'84 517Q84 539 102 539Q115 539 119 529T125 503T137 459T171 404Q277 275 640 269H661Q694 269 694 249T661 229H640Q526 227 439 214T283 173T173 98T124 -17Q118 -41 103 -41Q83 -41 83 -17Q88 29 105 67T151 132T208 178T277 212T342 233T404 249Q401 250 380 254T345 263T302 276T245 299Q125 358 92 468Q84 502 84 517'], + + // SUBSET OF + 0x2282: [541,41,778,84,694,'84 250Q84 372 166 450T360 539Q361 539 370 539T395 539T430 540T475 540T524 540H679Q694 532 694 520Q694 511 681 501L522 500H470H441Q366 500 338 496T266 472Q244 461 224 446T179 404T139 337T124 250V245Q124 157 185 89Q244 25 328 7Q348 2 366 2T522 0H681Q694 -10 694 -20Q694 -32 679 -40H526Q510 -40 480 -40T434 -41Q350 -41 289 -25T172 45Q84 127 84 250'], + + // SUPERSET OF + 0x2283: [541,40,778,83,693,'83 520Q83 532 98 540H251Q267 540 297 540T343 541Q427 541 488 525T605 455Q693 374 693 250Q693 165 650 99T545 0T415 -39Q407 -40 251 -40H98Q83 -32 83 -20Q83 -10 96 0H255H308H337Q412 0 439 4T512 28Q533 39 553 54T599 96T639 163T654 250Q654 341 592 411Q557 449 512 472Q468 491 439 495T335 500H306H255L96 501Q83 511 83 520'], + + // SUBSET OF OR EQUAL TO + 0x2286: [637,138,778,84,694,'84 346Q84 468 166 546T360 635Q361 635 370 635T395 635T430 636T475 636T524 636H679Q694 628 694 616Q694 607 681 597L522 596H470H441Q366 596 338 592T266 568Q244 557 224 542T179 500T139 433T124 346V341Q124 253 185 185Q244 121 328 103Q348 98 366 98T522 96H681Q694 86 694 76Q694 64 679 56H526Q510 56 480 56T434 55Q350 55 289 71T172 141Q84 223 84 346ZM104 -131T104 -118T118 -98H679Q694 -106 694 -118T679 -138H118Q104 -131 104 -118'], + + // SUPERSET OF OR EQUAL TO + 0x2287: [637,138,778,83,693,'83 616Q83 628 98 636H251Q267 636 297 636T343 637Q427 637 488 621T605 551Q693 470 693 346Q693 261 650 195T545 96T415 57Q407 56 251 56H98Q83 64 83 76Q83 86 96 96H255H308H337Q412 96 439 100T512 124Q533 135 553 150T599 192T639 259T654 346Q654 437 592 507Q557 545 512 568Q468 587 439 591T335 596H306H255L96 597Q83 607 83 616ZM84 -131T84 -118T98 -98H659Q674 -106 674 -118T659 -138H98Q84 -131 84 -118'], + + // MULTISET UNION + 0x228E: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598ZM313 406Q313 417 313 435T312 459Q312 483 316 493T333 503T349 494T353 461V406V325H515Q516 325 519 323T527 316T531 305T527 294T520 287T515 285H353V204V152Q353 127 350 117T333 107T316 117T312 152Q312 158 312 175T313 204V285H151Q150 285 147 287T139 294T135 305T139 316T146 323T151 325H313V406'], + + // SQUARE IMAGE OF OR EQUAL TO + 0x2291: [636,138,778,84,714,'94 620Q98 632 110 636H699Q714 628 714 616T699 596H134V96H698Q714 90 714 76Q714 64 699 56H109Q104 59 95 69L94 344V620ZM84 -118Q84 -103 100 -98H698Q714 -104 714 -118Q714 -130 699 -138H98Q84 -131 84 -118'], + + // SQUARE ORIGINAL OF OR EQUAL TO + 0x2292: [636,138,778,64,694,'64 603T64 616T78 636H668Q675 633 683 623V69Q675 59 668 56H78Q64 63 64 76Q64 91 80 96H643V596H78Q64 603 64 616ZM64 -118Q64 -108 79 -98H678Q694 -104 694 -118Q694 -130 679 -138H78Q64 -131 64 -118'], + + // stix-square intersection, serifs + 0x2293: [598,0,667,61,605,'83 0Q79 0 76 1T71 3T67 6T65 9T63 13T61 16V301L62 585Q70 595 76 598H592Q602 590 605 583V15Q598 2 587 0Q583 0 580 1T575 3T571 6T569 9T567 13T565 16V558H101V15Q94 2 83 0'], + + // stix-square union, serifs + 0x2294: [598,0,667,61,605,'77 0Q65 4 61 16V301L62 585Q72 598 81 598Q94 598 101 583V40H565V583Q573 598 585 598Q598 598 605 583V15Q602 10 592 1L335 0H77'], + + // stix-circled plus (with rim) + 0x2295: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM364 542Q308 539 251 509T148 418T96 278V270H369V542H364ZM681 278Q675 338 650 386T592 462T522 509T458 535T412 542H409V270H681V278ZM96 222Q104 150 139 95T219 12T302 -29T366 -42H369V230H96V222ZM681 222V230H409V-42H412Q429 -42 456 -36T521 -10T590 37T649 113T681 222'], + + // CIRCLED MINUS + 0x2296: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM681 278Q669 385 591 463T381 542Q283 542 196 471T96 278V270H681V278ZM275 -42T388 -42T585 32T681 222V230H96V222Q108 107 191 33'], + + // stix-circled times (with rim) + 0x2297: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q531 510 496 523Q446 542 381 542Q324 542 272 519T196 471L389 278L485 375L582 471ZM167 442Q95 362 95 250Q95 137 167 58L359 250L167 442ZM610 58Q682 138 682 250Q682 363 610 442L418 250L610 58ZM196 29Q209 16 230 2T295 -27T388 -42Q409 -42 429 -40T465 -33T496 -23T522 -11T544 1T561 13T574 22T582 29L388 222L196 29'], + + // CIRCLED DIVISION SLASH + 0x2298: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q581 472 571 480T556 491T539 502T517 514T491 525T460 534T424 539T381 542Q272 542 184 460T95 251Q95 198 113 150T149 80L167 58L582 471ZM388 -42Q513 -42 597 44T682 250Q682 363 610 442L196 29Q209 16 229 2T295 -27T388 -42'], + + // CIRCLED DOT OPERATOR + 0x2299: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM682 250Q682 322 649 387T546 497T381 542Q272 542 184 459T95 250Q95 132 178 45T389 -42Q515 -42 598 45T682 250ZM311 250Q311 285 332 304T375 328Q376 328 382 328T392 329Q424 326 445 305T466 250Q466 217 445 195T389 172Q354 172 333 195T311 250'], + + // RIGHT TACK + 0x22A2: [695,0,611,55,555,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V367H540Q555 359 555 347Q555 334 540 327H95V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678'], + + // LEFT TACK + 0x22A3: [695,0,611,54,555,'515 678Q515 679 516 681T518 684T521 688T525 691T530 693T537 694Q548 692 555 679V15Q548 2 537 0Q533 0 530 1T525 3T521 6T519 9T517 13T515 16V327H71Q70 327 67 329T59 336T55 347T59 358T66 365T71 367H515V678'], + + // DOWN TACK + 0x22A4: [668,0,778,55,723,'55 642T55 648T59 659T66 666T71 668H708Q723 660 723 648T708 628H409V15Q402 2 391 0Q387 0 384 1T379 3T375 6T373 9T371 13T369 16V628H71Q70 628 67 630T59 637'], + + // UP TACK + 0x22A5: [669,0,778,54,723,'369 652Q369 653 370 655T372 658T375 662T379 665T384 667T391 668Q402 666 409 653V40H708Q723 32 723 20T708 0H71Q70 0 67 2T59 9T55 20T59 31T66 38T71 40H369V652'], + + // TRUE + 0x22A8: [750,249,867,119,812,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V367H796Q811 359 811 347Q811 336 797 328L479 327H161L159 328V172L161 173H797Q798 172 800 171T803 169T805 167T808 164T809 162T810 158T811 153Q811 140 796 133H159V-235Q151 -249 141 -249H139'], + + // DIAMOND OPERATOR + 0x22C4: [488,-12,500,12,488,'242 486Q245 488 250 488Q256 488 258 486Q262 484 373 373T486 258T488 250T486 242T373 127T258 14Q256 12 250 12Q245 12 242 14Q237 16 127 126T14 242Q12 245 12 250T14 258Q16 263 126 373T242 486ZM439 250L250 439L61 250L250 61L439 250'], + + // DOT OPERATOR + 0x22C5: [310,-190,278,78,199,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250'], + + // STAR OPERATOR + 0x22C6: [486,-16,500,3,497,'210 282Q210 284 225 381T241 480Q241 484 245 484Q249 486 251 486Q258 486 260 477T272 406Q275 390 276 380Q290 286 290 282L388 299Q484 314 487 314H488Q497 314 497 302Q497 297 434 266Q416 257 404 251L315 206L361 118Q372 98 383 75T401 40L407 28Q407 16 395 16Q394 16 392 16L390 17L250 159L110 17L108 16Q106 16 105 16Q93 16 93 28L99 40Q105 52 116 75T139 118L185 206L96 251Q6 296 4 300Q3 301 3 302Q3 314 12 314H13Q16 314 112 299L210 282'], + + // BOWTIE + 0x22C8: [505,5,900,26,873,'833 50T833 250T832 450T659 351T487 250T658 150T832 50Q833 50 833 250ZM873 10Q866 -5 854 -5Q851 -5 845 -3L449 226L260 115Q51 -5 43 -5Q39 -5 35 -1T28 7L26 11V489Q33 505 43 505Q51 505 260 385L449 274L845 503Q851 505 853 505Q866 505 873 490V10ZM412 250L67 450Q66 450 66 250T67 50Q69 51 240 150T412 250'], + + // VERTICAL ELLIPSIS + 0x22EE: [900,30,278,78,199,'78 30Q78 54 95 72T138 90Q162 90 180 74T199 31Q199 6 182 -12T139 -30T96 -13T78 30ZM78 440Q78 464 95 482T138 500Q162 500 180 484T199 441Q199 416 182 398T139 380T96 397T78 440ZM78 840Q78 864 95 882T138 900Q162 900 180 884T199 841Q199 816 182 798T139 780T96 797T78 840'], + + // MIDLINE HORIZONTAL ELLIPSIS + 0x22EF: [310,-190,1172,78,1093,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250ZM525 250Q525 274 542 292T585 310Q609 310 627 294T646 251Q646 226 629 208T586 190T543 207T525 250ZM972 250Q972 274 989 292T1032 310Q1056 310 1074 294T1093 251Q1093 226 1076 208T1033 190T990 207T972 250'], + + // DOWN RIGHT DIAGONAL ELLIPSIS + 0x22F1: [820,-100,1282,133,1148,'133 760Q133 784 150 802T193 820Q217 820 235 804T254 761Q254 736 237 718T194 700T151 717T133 760ZM580 460Q580 484 597 502T640 520Q664 520 682 504T701 461Q701 436 684 418T641 400T598 417T580 460ZM1027 160Q1027 184 1044 202T1087 220Q1111 220 1129 204T1148 161Q1148 136 1131 118T1088 100T1045 117T1027 160'], + + // LEFT CEILING + 0x2308: [750,250,444,174,422,'174 734Q178 746 190 750H298H369Q400 750 411 747T422 730T411 713T372 709Q365 709 345 709T310 710H214V-235Q206 -248 196 -250Q192 -250 189 -249T184 -247T180 -244T178 -241T176 -237T174 -234V734'], + + // RIGHT CEILING + 0x2309: [750,250,444,21,269,'21 717T21 730T32 746T75 750H147H256Q266 742 269 735V-235Q262 -248 251 -250Q247 -250 244 -249T239 -247T235 -244T233 -241T231 -237T229 -234V710H133Q119 710 99 710T71 709Q43 709 32 713'], + + // LEFT FLOOR + 0x230A: [751,251,444,174,423,'174 734Q174 735 175 737T177 740T180 744T184 747T189 749T196 750Q206 748 214 735V-210H310H373Q401 -210 411 -213T422 -230T411 -247T369 -251Q362 -251 338 -251T298 -250H190Q178 -246 174 -234V734'], + + // RIGHT FLOOR + 0x230B: [751,250,444,21,269,'229 734Q229 735 230 737T232 740T235 744T239 747T244 749T251 750Q262 748 269 735V-235Q266 -240 256 -249L147 -250H77Q43 -250 32 -247T21 -230T32 -213T72 -209Q79 -209 99 -209T133 -210H229V734'], + + // stix-small down curve + 0x2322: [388,-122,1000,55,944,'55 141Q55 149 72 174T125 234T209 303T329 360T478 388H526Q649 383 765 319Q814 291 858 250T923 179T944 141Q944 133 938 128T924 122Q914 124 912 125T902 139Q766 328 500 328Q415 328 342 308T225 258T150 199T102 148T84 124Q81 122 75 122Q55 127 55 141'], + + // stix-small up curve + 0x2323: [378,-134,1000,55,944,'923 378Q944 378 944 358Q944 345 912 311T859 259Q710 134 500 134Q288 134 140 259Q55 336 55 358Q55 366 61 372T75 378Q78 378 84 376Q86 376 101 356T147 310T221 257T339 212T500 193Q628 193 734 236Q841 282 903 363Q914 378 923 378'], + + // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + 0x23B0: [744,244,412,56,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 454T239 315T239 247Q240 235 240 124V40Q240 -17 233 -53T201 -130Q155 -206 78 -244H69H64Q58 -244 57 -243T56 -234Q56 -232 56 -231V-225Q56 -218 63 -215Q153 -153 170 -39Q172 -25 173 119V219Q173 245 174 249Q173 258 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], + + // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + 0x23B1: [744,244,412,55,357,'78 744Q153 706 196 640T239 492V376Q239 341 239 314T238 271T238 253Q239 251 239 223V119V49Q239 -39 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 258 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [750,250,389,109,333,'333 -232Q332 -239 327 -244T313 -250Q303 -250 296 -240Q293 -233 202 6T110 250T201 494T296 740Q299 745 306 749L309 750Q312 750 313 750Q331 750 333 732Q333 727 243 489Q152 252 152 250T243 11Q333 -227 333 -232'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [750,250,389,55,279,'55 732Q56 739 61 744T75 750Q85 750 92 740Q95 733 186 494T278 250T187 6T92 -240Q85 -250 75 -250Q67 -250 62 -245T55 -232Q55 -227 145 11Q236 248 236 250T145 489Q55 727 55 732'], + + // MATHEMATICAL LEFT FLATTENED PARENTHESIS + 0x27EE: [744,244,412,173,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 394V331Q240 259 239 250Q240 242 240 119V49Q240 -42 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 260 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], + + // MATHEMATICAL RIGHT FLATTENED PARENTHESIS + 0x27EF: [744,244,412,55,240,'78 744Q153 706 196 640T239 492V376Q239 339 239 311T238 269T238 252Q240 236 240 124V40Q240 -18 233 -53T202 -130Q156 -206 79 -244H70H65Q58 -244 57 -242T56 -231T57 -220T64 -215Q153 -154 170 -39Q173 -18 174 119V247Q173 249 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], + + // LONG LEFTWARDS ARROW + 0x27F5: [511,11,1609,55,1525,'165 270H1510Q1525 262 1525 250T1510 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], + + // LONG RIGHTWARDS ARROW + 0x27F6: [511,11,1638,84,1553,'84 237T84 250T98 270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H98Q84 237 84 250'], + + // LONG LEFT RIGHT ARROW + 0x27F7: [511,11,1859,55,1803,'165 270H1694Q1578 357 1551 493Q1551 494 1551 496T1550 499Q1550 511 1567 511H1570Q1579 511 1582 510T1588 506T1591 497T1594 481T1602 456Q1624 389 1675 336T1794 261Q1803 258 1803 250Q1803 244 1798 241T1774 231T1736 212Q1695 186 1665 152T1620 85T1599 35T1591 4Q1589 -6 1586 -8T1570 -11Q1550 -11 1550 0Q1550 7 1555 25Q1587 151 1694 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], + + // LONG LEFTWARDS DOUBLE ARROW + 0x27F8: [525,24,1609,56,1554,'274 173H1539Q1540 172 1542 171T1545 169T1547 167T1550 164T1551 162T1552 158T1553 153Q1553 140 1538 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1538Q1553 359 1553 347Q1553 336 1539 328L1221 327H903L900 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], + + // LONG RIGHTWARDS DOUBLE ARROW + 0x27F9: [525,24,1638,56,1582,'1218 514Q1218 525 1234 525Q1239 525 1242 525T1247 525T1251 524T1253 523T1255 520T1257 517T1260 512Q1297 438 1358 381T1469 300T1565 263Q1582 258 1582 250T1573 239T1536 228T1478 204Q1334 134 1260 -12Q1256 -21 1253 -22T1238 -24Q1218 -24 1218 -17Q1218 -13 1223 0Q1258 69 1309 123L1319 133H70Q56 140 56 153Q56 168 72 173H1363L1373 181Q1412 211 1490 250Q1489 251 1472 259T1427 283T1373 319L1363 327H710L707 328L390 327H72Q56 332 56 347Q56 360 70 367H1319L1309 377Q1276 412 1247 458T1218 514'], + + // LONG LEFT RIGHT DOUBLE ARROW + 0x27FA: [525,24,1858,56,1802,'1438 514Q1438 525 1454 525Q1459 525 1462 525T1467 525T1471 524T1473 523T1475 520T1477 517T1480 512Q1517 438 1578 381T1689 300T1785 263Q1802 258 1802 250T1793 239T1756 228T1698 204Q1554 134 1480 -12Q1476 -21 1473 -22T1458 -24Q1438 -24 1438 -17Q1438 -13 1443 0Q1478 69 1529 123L1539 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1539L1529 377Q1496 412 1467 458T1438 514ZM274 173H1583L1593 181Q1632 211 1710 250Q1709 251 1692 259T1647 283T1593 319L1583 327H930L927 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], + + // LONG RIGHTWARDS ARROW FROM BAR + 0x27FC: [511,11,1638,54,1553,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H95V155'], + + // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AAF: [636,138,778,84,694,'84 346Q84 359 91 363T117 367Q120 367 126 367T137 366Q388 370 512 430T653 609Q657 636 676 636Q685 635 689 629T694 618V612Q689 566 672 528T626 463T569 417T500 383T435 362T373 346Q379 345 404 339T440 330T477 318T533 296Q592 266 630 223T681 145T694 78Q694 57 674 57Q662 57 657 67T652 92T640 135T606 191Q500 320 137 326H114Q104 326 98 327T88 332T84 346ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'], + + // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [636,138,778,83,694,'84 614Q84 636 102 636Q115 636 119 626T125 600T137 556T171 501Q277 372 640 366H661Q694 366 694 346T661 326H640Q578 325 526 321T415 307T309 280T222 237T156 172T124 83Q122 66 118 62T103 57Q100 57 98 57T95 58T93 59T90 62T85 67Q83 71 83 80Q88 126 105 164T151 229T208 275T277 309T342 330T404 346Q401 347 380 351T345 360T302 373T245 396Q125 455 92 565Q84 599 84 614ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js new file mode 100644 index 00000000..8e2731ea --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/MiscSymbols.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // BLACK SPADE SUIT + 0x2660: [727,131,778,55,723,'181 -21Q134 -21 96 27T55 193Q55 224 58 247T82 317T143 410Q172 443 234 498Q282 543 314 598T360 687T380 725Q386 727 389 727Q395 727 398 725T406 716T413 702T423 677T439 641Q481 556 544 498Q633 420 678 353T723 204Q723 142 711 94T669 12T590 -21Q520 -21 490 8T459 66V70H409V62Q409 22 416 -17T430 -82T437 -112Q437 -131 407 -131Q403 -131 397 -131T389 -130T382 -130T372 -131Q341 -131 341 -111Q341 -107 348 -82T362 -18T369 62V70H319V66Q319 57 314 44T297 16T257 -10T191 -21H181'], + + // WHITE HEART SUIT + 0x2661: [716,33,778,55,723,'55 490Q55 557 71 604T114 674T167 706T222 716Q279 716 322 684T389 605Q391 610 395 617T414 643T447 677T494 704T555 716Q642 716 682 652T723 490Q723 455 718 426T684 342T602 227Q573 196 537 161T485 110T449 63T412 -8Q408 -22 404 -27T389 -33Q382 -33 379 -31T372 -23T366 -8T355 18T335 54Q319 81 298 104T239 163T176 227Q102 310 79 371T55 490ZM198 674Q143 664 119 613T95 491Q95 415 137 346Q174 282 265 194T384 48L389 39Q391 42 397 54T406 71T415 86T427 104T442 122T464 146T491 172Q571 249 613 303Q683 396 683 487Q683 581 649 631Q613 676 556 676Q495 676 457 634T410 538Q407 514 390 514Q386 514 380 517Q372 520 369 536T355 581T319 635Q277 675 223 675H217H208L204 674Q200 674 198 674'], + + // WHITE DIAMOND SUIT + 0x2662: [727,162,778,55,723,'370 714Q370 717 375 722T388 727Q398 727 403 721T417 697Q420 692 421 689Q536 465 709 304Q723 291 723 282T709 260Q529 93 406 -153Q402 -162 390 -162H389Q379 -162 376 -158T357 -125Q247 89 89 241L64 265Q55 272 55 282Q55 287 57 290T64 300T77 312T98 331T127 361Q197 435 258 523T344 663L370 714ZM655 299Q568 384 508 470T389 662L376 638Q362 613 341 577T289 497T215 399T123 299L105 282L123 265Q210 180 270 94T389 -98L402 -74Q416 -49 437 -13T489 67T563 165T655 265L673 282L655 299'], + + // BLACK CLUB SUIT + 0x2663: [726,131,778,28,750,'213 532Q213 615 265 670T389 726Q461 726 513 671T565 532Q565 511 562 492T553 458T541 432T526 409T512 393T498 379L490 371L511 326Q512 326 516 330T528 341T546 353T572 363T606 368Q664 368 707 315T750 174Q750 87 699 33T579 -22Q567 -22 553 -20T517 -10T479 16T459 63V70H409V62Q409 22 416 -17T430 -82T437 -112Q437 -131 407 -131Q403 -131 397 -131T389 -130T382 -130T372 -131Q341 -131 341 -111Q341 -107 348 -82T362 -18T369 62V70H319V63Q315 25 281 2T197 -22Q132 -22 80 32T28 174Q28 255 69 311T175 368Q192 368 207 364T232 353T250 341T262 331T267 326L288 371L280 378Q272 385 267 391T253 407T238 430T226 457T217 492T213 532'], + + // MUSIC FLAT SIGN + 0x266D: [750,22,389,55,332,'200 467Q254 467 293 428T332 321Q332 147 104 -11L88 -22H75Q62 -22 56 -16L55 362V647Q55 743 60 748Q63 750 76 750H83Q87 750 95 744V434L104 440Q144 467 200 467ZM237 322Q237 360 225 388T183 417Q158 417 134 407T101 378Q96 370 96 349T95 197V34Q152 91 194 167T237 322'], + + // MUSIC NATURAL SIGN + 0x266E: [734,223,389,65,324,'65 721Q78 734 94 734Q100 734 104 727V444L116 449Q129 454 157 465T208 486Q313 527 314 527Q318 527 324 521V-210Q306 -223 294 -223Q289 -223 284 -216V-13L270 -18Q257 -24 231 -34T180 -54Q77 -96 74 -96T65 -90V721ZM104 13Q282 84 283 85Q284 85 284 252Q284 418 283 418L230 396L140 360L104 346V13'], + + // MUSIC SHARP SIGN + 0x266F: [723,223,389,55,333,'101 -223Q94 -223 93 -217T91 -188V-151Q91 -88 90 -88Q87 -88 80 -92T68 -96Q62 -96 56 -90L55 -50V-22Q55 -8 58 -4T78 5L91 10V177Q91 343 90 343Q87 343 80 339T68 335Q62 335 56 341L55 381V409Q55 423 58 427T78 436L91 441V543V616Q91 643 93 648T106 656Q119 662 126 659Q130 657 130 645T131 554V456L257 503V607L258 710L260 712Q261 715 272 719T286 723Q293 723 295 715T297 671V617Q297 519 298 519Q301 519 307 522T319 526Q327 526 333 521V437L330 435Q328 432 312 427L297 421V254Q297 88 298 88Q301 88 307 91T319 95Q327 95 333 90V6L330 4Q328 1 312 -4L297 -10V-78V-122Q297 -145 295 -149T282 -156Q274 -160 268 -160Q257 -160 257 -130V-89V-25L131 -72V-210Q123 -215 116 -218T104 -222L101 -223ZM257 72V406L131 359V25L257 72'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/MiscSymbols.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js new file mode 100644 index 00000000..7d6088df --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/SpacingModLetters.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // RING ABOVE + 0x2DA: [715,-542,500,147,352,'147 628Q147 669 179 692T244 715Q298 715 325 689T352 629Q352 592 323 567T249 542Q202 542 175 567T147 628ZM313 628Q313 660 300 669T259 678H253Q248 678 242 678T234 679Q217 679 207 674T192 659T188 644T187 629Q187 600 198 590Q210 579 250 579H265Q279 579 288 581T305 595T313 628'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/SpacingModLetters.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js new file mode 100644 index 00000000..e2a4b82a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Main/Regular/SuppMathOperators.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Main'], + { + // AMALGAMATION OR COPRODUCT + 0x2A3F: [683,0,750,28,721,'28 660Q28 676 31 679T46 683H50Q87 681 182 681Q217 681 247 681T294 682T315 682Q321 682 323 682T328 679T331 673T332 660Q332 643 328 640T304 637Q239 637 231 626Q229 620 229 334V46H520V334Q520 620 518 626Q510 637 445 637Q426 637 422 640T417 660Q417 675 420 678T432 682H435Q437 682 467 682T569 681T671 681T703 682Q714 682 717 679T721 660Q721 643 717 640T693 637Q628 637 620 626Q619 623 619 342Q619 60 620 57Q628 46 693 46Q714 46 717 43T721 23Q721 5 715 1Q713 0 374 0Q36 0 34 1Q28 5 28 23Q28 40 31 43T56 46Q121 46 129 57Q131 63 131 342Q131 620 129 626Q121 637 56 637Q35 637 32 640T28 660'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/SuppMathOperators.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js new file mode 100644 index 00000000..beecee87 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js @@ -0,0 +1,392 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Math/BoldItalic/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Math-bold-italic'] = { + directory: 'Math/BoldItalic', + family: 'MathJax_Math', + id: 'MJMATHBI', + weight: 'bold', + style: 'italic', + skew: { + 0x41: 0.16, + 0x42: 0.0958, + 0x43: 0.0958, + 0x44: 0.0639, + 0x45: 0.0958, + 0x46: 0.0958, + 0x47: 0.0958, + 0x48: 0.0639, + 0x49: 0.128, + 0x4A: 0.192, + 0x4B: 0.0639, + 0x4C: 0.0319, + 0x4D: 0.0958, + 0x4E: 0.0958, + 0x4F: 0.0958, + 0x50: 0.0958, + 0x51: 0.0958, + 0x52: 0.0958, + 0x53: 0.0958, + 0x54: 0.0958, + 0x55: 0.0319, + 0x58: 0.0958, + 0x5A: 0.0958, + 0x63: 0.0639, + 0x64: 0.192, + 0x65: 0.0639, + 0x66: 0.192, + 0x67: 0.0319, + 0x68: -0.0319, + 0x6C: 0.0958, + 0x6F: 0.0639, + 0x70: 0.0958, + 0x71: 0.0958, + 0x72: 0.0639, + 0x73: 0.0639, + 0x74: 0.0958, + 0x75: 0.0319, + 0x76: 0.0319, + 0x77: 0.0958, + 0x78: 0.0319, + 0x79: 0.0639, + 0x7A: 0.0639, + 0x393: 0.0958, + 0x394: 0.192, + 0x398: 0.0958, + 0x39B: 0.192, + 0x39E: 0.0958, + 0x3A0: 0.0639, + 0x3A3: 0.0958, + 0x3A5: 0.0639, + 0x3A6: 0.0958, + 0x3A8: 0.0639, + 0x3A9: 0.0958, + 0x3B1: 0.0319, + 0x3B2: 0.0958, + 0x3B4: 0.0639, + 0x3B5: 0.0958, + 0x3B6: 0.0958, + 0x3B7: 0.0639, + 0x3B8: 0.0958, + 0x3B9: 0.0639, + 0x3BC: 0.0319, + 0x3BD: 0.0319, + 0x3BE: 0.128, + 0x3BF: 0.0639, + 0x3C1: 0.0958, + 0x3C2: 0.0958, + 0x3C4: 0.0319, + 0x3C5: 0.0319, + 0x3C6: 0.0958, + 0x3C7: 0.0639, + 0x3C8: 0.128, + 0x3D1: 0.0958, + 0x3D5: 0.0958, + 0x3F1: 0.0958, + 0x3F5: 0.0639 + }, + + // SPACE + 0x20: [0,0,250,0,0,''], + + // SOLIDUS + 0x2F: [711,210,894,160,733,'189 -210Q179 -210 170 -203T160 -179Q160 -171 162 -166Q164 -163 420 266T679 698Q686 711 704 711Q714 711 723 704T733 681Q733 672 730 667Q723 654 469 228T211 -201Q202 -210 189 -210'], + + // LATIN CAPITAL LETTER A + 0x41: [711,0,869,45,839,'65 0Q45 0 45 18Q48 52 61 60Q65 62 81 62Q155 62 165 74Q166 74 265 228T465 539T569 699Q576 707 583 709T611 711T637 710T649 700Q650 697 695 380L741 63L784 62H827Q839 50 839 45L835 29Q831 9 827 5T806 0Q803 0 790 0T743 1T657 2Q585 2 547 1T504 0Q481 0 481 17Q484 54 497 60Q501 62 541 62Q580 62 580 63Q580 68 573 121T564 179V181H308L271 124Q236 69 236 67T283 62H287Q316 62 316 46Q316 26 307 8Q302 3 295 0L262 1Q242 2 168 2Q119 2 93 1T65 0ZM537 372Q533 402 528 435T521 486T518 504V505Q517 505 433 375L348 244L451 243Q555 243 555 244L537 372'], + + // LATIN CAPITAL LETTER B + 0x42: [686,0,866,43,853,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 449 686H477H586Q684 686 733 677T817 634Q853 598 853 547Q853 499 826 460T761 401T695 371T654 360H653L662 358Q670 357 683 354T712 344T744 327T774 303T795 269T804 224Q804 148 732 79T533 1Q524 0 288 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624ZM703 550Q703 571 695 586T675 609T656 619T643 623L545 624H447L417 504Q386 384 386 383T470 382Q554 383 565 385Q632 397 667 447T703 550ZM651 240Q651 265 645 282T626 309T608 322T592 329Q587 330 479 331H373L340 198Q307 65 306 64Q306 62 406 62L507 63L519 65Q565 76 596 107T639 171T651 240'], + + // LATIN CAPITAL LETTER C + 0x43: [704,17,817,55,855,'380 -17Q335 -17 293 -10T207 16T130 65T76 144T55 256Q55 306 70 361T122 476T211 582T345 663T525 702H545Q673 702 731 634L777 668Q783 672 789 677T800 685T808 691T814 695T818 698T822 700T825 702T828 703T830 703T833 703Q855 703 855 690Q855 686 823 558T789 426Q786 421 782 420T756 419Q734 420 729 421T724 432Q724 434 725 447T726 472Q726 552 678 604Q640 640 586 640H574Q533 640 494 632T409 604T324 541T260 437Q243 397 227 333T210 219Q210 152 237 117Q255 90 299 68T420 46H429Q506 46 580 100T678 234Q683 249 687 251T712 254H723Q743 254 743 240Q743 232 736 213T710 162T663 100T586 40T477 -5Q433 -17 380 -17'], + + // LATIN CAPITAL LETTER D + 0x44: [686,0,938,43,914,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 437 686Q659 686 668 685Q727 680 772 662T842 621T883 568T905 517T913 475Q914 466 914 434Q914 373 892 307T828 179T712 69T548 7Q517 2 494 2T279 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624ZM768 475Q768 515 753 544T718 588T666 611T613 622T563 624H538H532H452L382 344Q311 64 311 63T363 62H405Q490 62 545 76T656 142Q696 185 724 265T760 399T768 475'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,810,43,825,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H811Q817 677 820 673T824 666L825 664Q825 659 814 549T799 433Q793 424 771 424Q752 424 746 427T740 441Q740 445 742 466T744 505Q744 561 722 585T646 616Q639 617 545 618H456Q456 617 427 502T398 385Q398 384 435 384Q461 385 471 385T499 391T526 405T545 433T562 478Q566 494 571 497T595 501H604Q622 501 626 486Q626 482 593 349T557 213Q552 205 530 205Q499 205 499 219Q499 222 503 242T508 281Q508 308 491 314T429 322Q425 322 423 322H382L317 64Q317 62 390 62Q460 62 493 64T569 80T640 124Q665 149 686 187T719 253T733 283Q739 289 760 289Q791 289 791 274Q791 267 763 201T706 71L678 8Q676 4 667 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], + + // LATIN CAPITAL LETTER F + 0x46: [680,0,689,43,809,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H795Q801 677 804 673T808 666L809 664Q809 659 798 549T783 433Q777 424 755 424Q736 424 730 427T724 444Q724 448 725 468T727 507V524Q727 541 724 554T713 577T698 594T676 605T653 612T625 616T597 617T566 618T538 618H456L455 614Q455 611 424 491L394 371H429Q454 372 463 372T491 378T517 392T536 419T552 464Q556 481 561 484T586 488Q603 488 607 486Q616 482 616 473Q616 467 584 337T549 201Q542 192 521 192Q503 192 497 195T490 209Q490 212 492 224Q499 251 499 269Q499 288 489 296T465 306T417 308L379 309L348 188Q341 161 334 129T322 80L318 65L317 62H375H409Q430 62 438 59T447 45Q444 8 431 2L426 0L377 1Q347 2 231 2Q152 2 111 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], + + // LATIN CAPITAL LETTER G + 0x47: [704,16,887,56,854,'379 -16Q233 -16 145 52T56 255Q56 310 73 368T127 483T216 586T347 663T518 702H540Q562 702 582 700T616 696T644 689T667 681T686 670T702 659T717 647T731 635L776 668Q782 672 788 677T799 685T807 691T813 695T817 698T821 700T824 702T827 703T829 703T832 703Q854 703 854 690Q854 686 822 558T788 426Q785 421 781 420T755 419Q734 420 729 422T723 432Q723 434 724 446T725 469Q725 531 702 571T642 628Q616 640 575 640Q468 640 390 593T272 464Q247 415 229 340T210 214Q210 166 228 132T277 79T343 54T419 46Q445 46 465 50T500 59T526 76T544 96T557 123T566 150T574 182T581 214H519Q511 214 498 214T479 213Q443 213 443 230Q443 250 452 268Q457 273 464 276L514 275Q546 274 657 274Q735 274 768 275T803 276Q826 276 826 258Q823 224 810 216Q806 214 771 214H736Q736 211 710 109T683 5Q678 0 671 0Q666 0 637 14T597 36Q593 38 590 40T585 44T582 44T576 40Q511 -16 379 -16'], + + // LATIN CAPITAL LETTER H + 0x48: [686,0,982,43,1027,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 239 686Q290 684 403 684Q475 684 512 685T553 686Q576 686 576 668Q572 632 560 626Q555 624 506 624H457L399 389Q399 388 547 388H695L753 623Q753 624 709 624H686Q665 624 660 626T650 639Q653 678 668 684Q672 686 681 686Q685 686 726 685T847 684Q902 684 937 684T986 685T1004 686Q1027 686 1027 668Q1023 632 1011 626Q1006 624 957 624H908L839 344Q768 64 768 63T812 62H839Q871 62 871 44Q867 6 854 2L850 0L808 1Q782 2 675 2Q600 2 560 1T516 0Q499 0 494 15Q498 54 511 60Q515 62 564 62H613L614 66L679 324Q679 326 531 326H383L382 322L317 64Q317 62 361 62H388Q420 62 420 44Q416 6 403 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624'], + + // LATIN CAPITAL LETTER I + 0x49: [686,0,511,30,573,'247 624Q242 624 233 624T220 623Q186 623 186 640Q186 647 190 664T202 684Q206 686 226 686Q277 684 393 684Q435 684 471 684T528 685T553 686Q573 686 573 670Q573 650 564 632Q556 624 537 624H501H449L380 344Q309 64 309 63T356 62Q361 62 370 62T384 63Q417 63 417 46Q417 26 408 8Q403 3 396 0L352 1Q325 2 216 2T82 1L45 0Q30 7 30 16Q33 51 46 60Q51 62 102 62H154L294 623Q294 624 247 624'], + + // LATIN CAPITAL LETTER J + 0x4A: [686,17,631,42,694,'205 131Q205 105 192 84T165 54L152 45Q152 44 160 42T182 37T213 35H216Q255 35 289 65Q314 90 329 129Q331 136 392 378T453 623Q453 624 393 624H332Q318 631 318 640Q318 647 322 664T334 684Q338 686 359 686Q413 684 533 684Q566 684 605 685T652 686Q677 686 685 683T694 669Q694 664 691 652Q686 631 681 628T647 624H602L542 380Q531 336 518 285T500 212T487 161T475 122T463 97T448 74T429 55Q351 -17 213 -17Q142 -17 99 7T43 70Q42 75 42 93Q42 143 73 168T139 194Q168 194 186 177T205 131'], + + // LATIN CAPITAL LETTER K + 0x4B: [686,1,971,43,1003,'536 0Q522 6 522 18Q522 35 533 57Q539 62 557 62Q595 62 601 65L472 330L365 255L342 160Q318 65 317 64Q317 62 361 62H388Q420 62 420 44Q416 6 403 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 239 686Q290 684 403 684Q475 684 512 685T553 686Q576 686 576 668Q572 632 560 626Q555 624 506 624H457L422 481Q386 339 386 337L785 621Q779 624 749 624Q726 624 726 641Q726 645 730 659Q734 675 736 679T747 686L786 685Q812 684 888 684Q908 684 934 685T968 686Q1003 686 1003 669Q1003 646 991 629Q985 624 967 624Q918 624 888 617Q884 617 874 613L865 609Q864 608 732 515T599 420Q599 418 686 242T775 65Q784 62 829 62Q847 62 850 61T860 54Q862 52 862 43Q862 10 845 1Q844 1 842 1T836 0T797 1T694 2Q599 2 573 1L536 0'], + + // LATIN CAPITAL LETTER L + 0x4C: [686,0,756,43,711,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 239 686Q290 684 409 684Q454 684 492 684T552 685T579 686Q603 686 603 668Q599 632 587 626Q583 624 520 624H457L388 344Q317 64 317 63T353 62H390Q418 62 440 64T493 78T548 110T598 169T643 261Q651 282 655 285T680 289Q696 289 700 288T709 279Q711 274 711 269Q710 265 663 138T613 8Q611 4 602 0H58Q47 5 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624'], + + // LATIN CAPITAL LETTER M + 0x4D: [686,0,1142,43,1219,'258 624H231Q214 624 208 626T199 639Q203 678 216 684Q220 686 347 686H473Q474 685 478 682T484 677Q487 673 535 413L584 153L608 187Q631 221 672 281T761 410Q935 663 943 671Q949 678 962 686H1082H1166Q1201 686 1210 683T1219 668Q1215 632 1203 626Q1199 624 1149 624H1100L1031 344Q960 64 960 63T1004 62H1031Q1063 62 1063 44Q1060 7 1046 2Q1042 0 1034 0Q1030 0 990 1T875 2Q804 2 767 1T725 0H723Q707 0 703 15Q707 54 720 60Q724 62 773 62H822Q961 618 961 619L754 318Q546 15 543 12Q531 0 510 0Q500 0 495 0T484 5T477 19Q477 20 421 315L367 604L299 335Q234 72 234 68Q234 62 302 62Q334 62 334 46Q332 8 317 2Q313 0 306 0Q301 0 267 1T181 2Q125 2 96 1T63 0Q48 0 43 15Q43 19 47 35Q52 55 57 58T94 62Q147 64 164 69L233 345Q302 619 302 622Q302 624 258 624'], + + // LATIN CAPITAL LETTER N + 0x4E: [686,0,950,43,1027,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 344 686H434Q464 686 477 680Q480 677 607 454Q738 227 739 227Q742 227 789 418T836 618Q836 620 835 620L821 622Q811 622 779 624Q755 624 749 625T740 632Q737 635 737 644Q737 656 742 669T754 685Q755 685 757 685T763 686Q768 686 803 685T890 684Q925 684 951 684T990 685T1006 686Q1014 686 1016 684Q1027 679 1027 668Q1023 632 1011 626Q1007 624 978 624Q912 622 907 617Q907 616 831 314T753 8Q749 0 723 0H712Q699 0 692 7Q692 8 671 44T607 155T526 296L361 580L296 323Q234 74 234 68T302 62H307Q334 62 334 44Q330 6 317 2L313 0L280 1Q260 2 181 2Q125 2 96 1T63 0Q48 0 43 15Q43 19 47 35Q52 55 57 58T94 62Q147 64 164 69L233 345Q302 619 302 622Q302 624 258 624'], + + // LATIN CAPITAL LETTER O + 0x4F: [703,17,837,53,815,'53 245Q53 297 70 356T125 478T216 590T349 671T523 703Q656 703 735 637T815 445Q815 378 791 307Q727 104 527 17Q437 -17 344 -17Q289 -17 242 -5T150 35T79 116T53 245ZM664 489Q664 575 618 611T511 648Q463 648 416 627T334 570Q297 531 270 472T230 355T213 261T208 206Q208 177 215 151T237 98T284 56T358 40Q440 40 510 98T618 270Q664 400 664 489'], + + // LATIN CAPITAL LETTER P + 0x50: [686,0,723,43,847,'162 62L302 623Q302 624 258 624H234Q214 624 209 626T200 638Q200 677 217 684Q220 686 439 686Q667 685 684 682Q686 681 693 680Q713 677 733 671T782 649T829 602T847 528Q847 450 784 382T604 293Q571 288 469 287H373L346 176Q340 151 333 122T321 78L317 64Q317 62 361 62H387Q420 62 420 44Q417 10 404 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q43 0 43 17Q43 21 47 33Q52 54 57 58T89 62H113H162ZM692 558Q692 611 617 622Q610 623 529 624H452L381 343H458H492Q604 343 641 389Q662 414 677 471T692 558'], + + // LATIN CAPITAL LETTER Q + 0x51: [703,194,869,52,815,'53 245Q53 297 70 356T125 478T216 590T349 671T523 703Q656 703 735 637T815 445Q815 410 808 370T781 277T729 178T643 87T519 14L525 4Q540 -19 553 -25T592 -32Q632 -32 654 -24T680 -7T689 10T704 18Q713 18 717 12T722 0Q722 -8 711 -36T681 -101T624 -166T541 -194Q513 -194 494 -183T465 -157T450 -118T444 -79T443 -41V-7L433 -9Q391 -17 344 -17Q301 -17 263 -10T185 15T118 62T71 138T53 245ZM666 482Q666 529 652 563T614 615T565 640T512 648Q412 648 335 573Q268 506 235 389T201 202Q201 164 210 136T230 95T259 66L262 76Q269 109 302 135T382 162Q401 162 415 159T449 140T484 92L491 78L496 82Q502 86 505 88T515 97T528 107T541 120T555 137T570 156T585 179T599 205T612 235Q629 278 647 351T666 482ZM439 56Q439 58 439 62T435 75T426 92T410 106T383 112Q353 112 332 96T311 63Q311 38 355 38H366Q391 39 415 45T439 56'], + + // LATIN CAPITAL LETTER R + 0x52: [686,17,872,43,881,'258 624H235Q214 624 209 626T199 639Q203 678 216 684Q220 686 422 686H446H525Q634 686 698 674T806 620Q843 583 843 535Q843 505 833 478T805 432T768 396T728 370T690 352T662 342L651 338L654 336Q658 334 667 327T688 310Q719 278 719 237Q719 222 710 165T701 94Q701 35 748 35Q775 35 793 57T819 101Q822 112 826 114T843 117H849Q881 117 881 99Q881 78 852 39T781 -11Q765 -17 728 -17Q537 -13 537 94Q537 110 552 169T567 243Q567 292 529 309Q517 316 508 316T441 318H375L374 314Q374 312 343 189T311 64Q311 62 355 62H382Q414 62 414 44Q410 6 397 2L393 0L351 1Q325 2 221 2Q147 2 108 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L302 623Q302 624 258 624ZM687 555Q687 617 589 623Q581 624 513 624H451L420 498Q413 468 405 436T392 388L388 371Q388 369 458 369Q464 369 485 369T515 369T541 372T570 377T596 386T624 400Q649 417 664 457T683 522T687 555'], + + // LATIN CAPITAL LETTER S + 0x53: [703,17,693,63,714,'354 45Q429 45 467 91T506 184Q506 225 477 250Q461 262 384 279T294 300Q238 318 210 362T182 452Q182 493 202 540T257 623Q338 702 449 702Q491 702 501 701Q571 690 610 654Q614 649 617 650Q618 650 650 675T683 702Q685 703 692 703Q714 703 714 690Q714 686 687 578T658 466Q653 458 629 458Q606 458 602 463Q600 465 599 466Q599 467 599 469T598 473Q598 475 599 487T600 511Q600 584 557 614T454 645Q386 645 347 606T308 520Q308 506 311 496T323 477T338 464T360 454T384 446T413 439T441 433Q523 416 549 401Q581 384 602 352Q631 309 631 254Q631 214 615 170T567 83T478 12T347 -16Q322 -16 300 -14T261 -8T230 0T205 10T187 20T172 30L162 37L130 11Q124 7 119 3T110 -4T104 -9T100 -13T96 -15T93 -16T91 -17T88 -17H82Q76 -17 73 -16T69 -14T66 -10T63 -5L90 107Q97 133 106 170Q116 211 120 219T136 228H148Q167 228 173 227T179 218Q179 216 176 200T173 168Q173 102 227 74T354 45'], + + // LATIN CAPITAL LETTER T + 0x54: [675,0,637,22,772,'498 62Q511 58 511 43Q511 10 494 1L490 0Q487 0 482 0T424 1T271 2Q201 2 157 2T94 1T72 0H70Q46 0 46 17Q49 54 62 60L66 62H137Q208 62 209 63L218 98Q227 134 244 203T278 339L347 613H300Q262 612 246 611T198 599T146 564Q128 545 114 512T91 454T79 425Q73 419 52 419Q22 419 22 434Q22 440 41 498T80 611L100 666Q105 673 111 675H434Q758 675 762 673Q772 668 772 657Q772 655 756 549T738 434Q735 419 711 419H707Q690 419 686 421Q677 425 677 434Q676 436 678 449T683 485T686 529Q686 553 679 569T662 594T631 607T593 612T544 613H502L433 340Q418 279 400 207T374 100L365 65L364 62H498'], + + // LATIN CAPITAL LETTER U + 0x55: [686,16,800,63,877,'856 686Q877 686 877 668Q877 663 873 649T867 631Q861 624 828 624Q762 622 757 617Q757 613 705 409T651 200Q620 112 540 48T328 -16Q251 -16 196 2T113 51T75 112T63 176Q63 202 70 232T117 422Q129 469 141 520T160 598L167 623Q167 624 123 624H96Q79 624 73 626T64 639Q68 678 81 684Q85 686 104 686Q155 684 268 684Q340 684 377 685T418 686Q441 686 441 668Q437 632 425 626Q421 624 371 624H322L270 415Q224 232 217 198T209 141Q209 45 336 45Q372 45 406 52T475 77T540 128T585 211L590 229Q594 247 601 274T617 336T636 409T654 482T670 547T681 595T686 618Q686 620 685 620H683Q681 621 678 621T671 622Q660 622 630 624Q616 624 610 624T598 626T589 630T587 640Q587 647 590 659Q594 677 598 681T613 686Q618 686 653 685T740 684Q775 684 801 684T840 685T856 686'], + + // LATIN CAPITAL LETTER V + 0x56: [686,16,678,62,886,'401 686Q415 680 415 668Q415 651 404 629Q398 624 356 624Q318 624 318 623Q318 620 337 508T377 284L397 174L472 285Q548 396 623 507T699 620Q698 621 652 624Q634 624 627 627T619 641Q619 648 622 658Q627 677 631 681T650 686Q654 686 686 685T766 684Q794 684 823 684T858 685Q874 685 878 683T886 671Q886 667 882 651Q877 632 873 628T850 624Q800 624 779 617Q774 617 770 613Q767 610 560 304T350 -5Q346 -9 332 -16H306H291Q270 -16 267 -2Q267 -1 260 37T238 161T210 313L156 624H116H94Q62 624 62 642Q66 678 78 684Q82 686 99 686Q144 684 246 684Q330 684 368 685L401 686'], + + // LATIN CAPITAL LETTER W + 0x57: [686,17,1093,61,1207,'111 624Q109 624 102 624T91 623Q61 623 61 640Q61 660 70 678Q78 686 98 686Q140 684 239 684Q277 684 309 684T360 685T383 686H385Q407 686 407 668Q404 634 391 626Q387 624 348 624Q307 624 307 622Q307 618 332 409Q359 198 359 195L570 532L564 576L558 622V624H522H504Q472 624 472 641Q475 678 488 684L493 686L529 685Q551 684 645 684Q716 684 753 685T795 686Q818 686 818 669Q815 632 802 626Q798 624 759 624Q718 624 718 622Q718 615 743 410Q770 199 770 196Q770 195 806 253T903 406Q1035 618 1035 619Q1025 624 968 624Q943 624 943 641Q943 648 946 659Q950 675 952 679T963 686L998 685Q1020 684 1093 684Q1113 684 1139 685T1173 686Q1207 686 1207 669Q1207 664 1204 652Q1199 631 1194 628T1164 624Q1113 622 1101 615Q1098 612 905 305Q715 -1 709 -7Q699 -17 673 -17Q645 -17 639 -8L581 441Q581 444 442 221Q331 44 314 18T288 -14Q279 -17 263 -17H254Q229 -17 227 -5Q225 2 186 311L147 620V624H111'], + + // LATIN CAPITAL LETTER X + 0x58: [686,0,947,38,953,'931 686Q953 686 953 670Q953 650 944 632Q936 624 924 624H914Q823 624 803 611Q800 609 696 503T591 396Q591 394 667 229L743 62H787H814Q846 62 846 44Q843 7 829 2Q825 0 817 0Q813 0 775 1T664 2Q590 2 551 1T508 0H507Q484 0 484 18Q484 19 488 37Q492 56 497 58T534 62L566 63Q567 64 520 169T471 274Q469 274 369 172T268 67L315 62Q320 62 328 62L335 61Q347 58 347 44Q344 10 331 2L326 0L287 1Q263 2 177 2Q95 2 78 1L53 0Q38 6 38 17Q38 40 50 57Q56 62 78 62Q169 62 188 75Q194 77 435 324L444 334L439 347Q437 351 373 492L313 624H268H246Q220 624 212 632Q210 636 210 642Q210 655 215 669T227 684Q230 686 247 686Q295 684 398 684Q438 684 472 684T527 685T551 686Q567 686 572 671Q572 667 568 651Q563 631 558 628T523 624T492 623H488L526 540Q563 457 564 457Q564 456 574 466T604 496T645 537L724 619Q716 622 677 624H673Q645 624 645 640Q645 660 654 678Q659 683 666 686L704 685Q728 684 813 684Q847 684 873 684T913 685T931 686'], + + // LATIN CAPITAL LETTER Y + 0x59: [686,0,675,40,876,'97 624H73Q40 624 40 640Q40 660 49 678Q57 686 77 686Q122 684 228 684Q269 684 304 684T360 685T385 686Q406 686 406 668Q406 662 403 653Q398 631 393 628T361 624H353Q321 624 321 623T376 491T432 360L448 377Q465 394 493 424T553 490L673 620Q662 624 630 624Q606 624 606 640Q608 678 623 684Q627 686 634 686Q638 686 671 685T755 684Q777 684 805 685T841 686Q861 686 868 683T876 669Q876 664 873 652Q868 631 863 628T829 624Q764 622 747 611Q727 590 590 441L437 275L411 170Q385 65 384 64Q384 62 429 62H453Q473 62 478 60T487 48Q488 44 484 29Q479 6 473 3Q468 0 454 0Q450 0 436 0T386 1T294 2Q220 2 181 1T138 0Q121 0 116 15Q120 54 133 60Q137 62 187 62H236L289 275L142 624H97'], + + // LATIN CAPITAL LETTER Z + 0x5A: [686,1,773,68,805,'223 430Q192 430 192 448Q192 450 225 561T261 677Q265 683 270 684Q273 686 534 686Q796 686 797 685Q805 682 805 673Q805 668 804 661T800 648T798 641Q796 637 531 352L266 67L329 66H364Q412 66 446 70T523 96T596 157Q617 186 630 220T649 273T663 297Q667 299 684 299H688Q715 299 715 281Q715 278 673 145T628 8Q626 4 617 0H348Q289 0 221 0T139 -1Q112 -1 99 -1T78 1T69 5T68 12Q68 16 71 31T77 49L84 57Q91 65 104 79T133 110T170 151T213 196L610 624H540Q533 624 514 624T488 624T467 623T443 620T422 616T398 609T373 600Q292 560 255 449Q251 436 246 433T223 430'], + + // LATIN SMALL LETTER A + 0x61: [452,9,633,38,607,'222 -8Q140 -8 89 34T38 158Q38 191 48 227Q72 329 151 390T327 452Q361 452 385 443T421 425T433 416H434L441 421Q448 426 460 430T486 435Q509 435 523 422T538 386Q538 380 522 315T488 179T467 93Q466 87 466 72Q466 42 483 42Q505 42 521 75Q531 94 541 134Q546 155 550 158T571 162H576H587Q607 162 607 148Q606 142 604 132T590 94T566 47T528 9T474 -8Q396 -8 358 40Q295 -8 222 -8ZM404 351Q383 401 324 401Q300 401 270 385T221 330Q206 296 186 220Q166 136 166 106Q166 72 184 58T228 43Q256 43 284 57T328 84T343 103Q343 106 374 228L404 351'], + + // LATIN SMALL LETTER B + 0x62: [694,8,521,45,513,'220 -8Q142 -8 94 35T45 155V167Q45 187 52 218T104 426L153 622H149Q148 622 144 622T134 623T122 624T111 624T101 624T96 625Q84 628 84 642Q84 647 88 661T94 679Q98 684 109 685T185 690Q258 694 272 694Q289 694 293 679Q293 676 263 553L232 429L244 434Q256 440 281 446T331 452Q417 452 465 407T513 285Q513 235 494 184T439 90T346 20T220 -8ZM385 337Q385 400 318 400Q269 400 226 360Q214 349 211 341T191 268Q162 149 162 113Q162 44 226 44Q269 44 299 76T339 135T362 215Q364 222 365 226Q385 303 385 337'], + + // LATIN SMALL LETTER C + 0x63: [451,8,513,40,509,'362 325Q362 344 371 361T390 386L399 394Q390 401 355 401Q276 401 231 338Q207 301 189 230T170 122Q170 43 264 43Q392 43 457 105Q472 120 480 117Q486 114 497 102T509 83Q509 79 502 70T477 47T432 21T360 1T259 -8Q194 -8 148 9T80 54T49 109T40 167Q40 280 129 365T352 451Q390 451 396 450Q448 442 473 416T499 358T477 302T421 274H417Q393 274 378 288T362 325'], + + // LATIN SMALL LETTER D + 0x64: [694,9,610,38,612,'222 -8Q140 -8 89 34T38 158Q38 220 68 285T151 391Q230 452 329 452Q382 452 416 428L422 424Q423 424 447 523L472 622H468Q467 622 463 622T453 623T441 624T430 624T420 624T415 625Q403 628 403 642Q403 647 407 661T413 679Q417 684 428 685T504 690Q577 694 591 694Q608 694 612 679L467 91Q466 87 466 72Q466 43 483 43Q518 43 541 134Q546 155 550 158T571 162H576H587Q607 162 607 148Q606 142 604 132T590 94T566 47T528 9T474 -8Q396 -8 358 40Q295 -8 222 -8ZM404 351Q383 401 324 401Q300 401 270 385T221 330Q206 296 186 220Q166 136 166 106Q166 72 184 58T228 43Q256 43 284 57T328 84T343 103Q343 106 374 228L404 351'], + + // LATIN SMALL LETTER E + 0x65: [452,8,554,42,509,'260 -8Q196 -8 151 9T83 54T52 111T42 169Q42 188 44 210Q50 240 58 266Q127 434 335 451L338 452Q342 452 345 452Q347 452 353 452T363 451Q426 451 464 424T502 352Q502 289 442 250Q381 211 222 211H184Q184 210 181 196T175 162T171 126Q171 43 264 43Q391 43 457 105Q472 120 480 117Q486 114 497 102T509 83Q509 79 502 70T477 47T432 21T360 1T260 -8ZM237 262Q427 266 427 349Q427 368 409 384T354 401Q316 401 287 388T242 354T216 314T202 278L197 263Q197 262 237 262'], + + // LATIN SMALL LETTER F + 0x66: [701,201,568,63,624,'584 444Q597 439 597 426Q597 409 586 387Q580 382 505 382H434V380Q432 378 421 314T395 162T368 30Q324 -164 203 -199Q194 -201 175 -201Q123 -201 94 -177T64 -117T88 -58T145 -33Q169 -33 184 -47T200 -84Q200 -122 166 -150L174 -151H185Q202 -148 217 -112Q222 -94 240 9Q246 40 262 132T293 303T307 382H247H210Q190 382 182 385T173 400Q177 436 189 442Q193 444 256 444H318L319 446Q337 565 355 602Q373 640 404 664T458 694T503 701Q569 701 596 676T624 617Q624 581 599 557T544 533Q520 533 504 547T488 585Q488 596 491 606T499 624T508 637T516 646L520 650Q515 650 509 651Q459 651 459 561V554L458 518L452 484Q446 448 445 447V444H584'], + + // LATIN SMALL LETTER G + 0x67: [452,202,545,0,540,'227 0Q142 0 93 43T43 166Q43 207 58 252T104 341T188 414T310 451L313 452Q316 452 319 452Q321 452 326 452T335 451Q367 451 390 443T425 425L436 416L443 421Q450 426 462 430T488 435Q511 435 525 422T540 386Q540 378 483 151T424 -82Q401 -139 335 -170T167 -202Q72 -202 36 -183T0 -125Q0 -90 24 -67T81 -43Q103 -43 119 -56T136 -99Q133 -124 114 -149L123 -150H183Q222 -150 254 -127T299 -74Q300 -71 306 -47T318 -1T324 23Q323 23 310 18T274 6T227 0ZM407 353Q406 354 404 358T400 365T395 371T388 379T381 385T371 391T360 396T346 400T329 401Q300 401 277 389T240 355T219 317T205 280Q171 148 171 109Q171 77 190 64T235 51T296 67Q322 82 337 98L345 106L407 353'], + + // LATIN SMALL LETTER H + 0x68: [694,8,668,45,642,'477 56Q477 48 479 46T490 43Q522 45 544 75T577 140Q582 156 585 159T605 162H611H622Q642 162 642 148Q642 138 632 114T602 62T550 13T478 -8Q429 -8 394 17T358 83Q358 95 395 199T433 350Q433 400 394 400H388H383Q335 400 291 363Q256 332 236 298Q233 293 202 170T169 40Q160 18 141 5T99 -8Q70 -8 58 9T45 39Q45 51 116 336L188 622H184Q183 622 179 622T169 623T157 624T146 624T136 624T131 625Q119 628 119 642Q119 647 123 661T129 679Q133 684 144 685T220 690Q293 694 307 694Q324 694 328 679Q328 672 294 540Q286 507 278 473T264 420L260 403Q260 400 269 408Q327 451 393 451H401H410Q425 451 439 450T476 442T515 424T544 391T556 337Q556 286 517 179T477 56'], + + // LATIN SMALL LETTER I + 0x69: [694,8,405,24,367,'205 615Q205 646 229 670T283 694Q310 694 324 679T339 641Q339 610 315 586T258 562Q235 562 220 577T205 615ZM24 296Q24 305 34 328T63 380T115 430T187 452Q205 452 223 448T262 435T295 406T308 360Q308 345 287 290T240 170T207 87Q202 67 202 57Q202 42 215 42Q235 42 257 64Q288 92 302 140Q307 156 310 159T330 162H336H347Q367 162 367 148Q367 140 357 117T329 65T276 14T201 -8Q158 -8 121 15T83 84Q83 104 133 229T184 358Q189 376 189 388Q189 402 177 402Q156 402 134 380Q103 352 89 304Q84 288 81 285T61 282H55H44Q24 282 24 296'], + + // LATIN SMALL LETTER J + 0x6A: [694,202,471,-12,456,'321 616Q321 648 346 671T400 694Q425 694 440 680T456 640Q456 609 431 586T376 562Q353 562 337 577T321 616ZM297 360T297 373T294 392T288 400T278 401H276Q241 399 210 372T158 303Q151 287 148 285T129 282H123H116Q102 282 97 284T92 298Q96 331 153 391T279 451Q357 451 388 422T420 354V339L371 142Q363 111 353 71T339 13T329 -30T318 -64T308 -88T296 -109T283 -125T264 -142Q190 -202 88 -202Q44 -202 16 -181T-12 -125Q-12 -93 11 -68T68 -43Q92 -43 108 -58T124 -93Q124 -121 106 -144Q101 -150 103 -150Q120 -150 147 -128T191 -64Q194 -57 242 136T294 345Q297 360 297 373'], + + // LATIN SMALL LETTER K + 0x6B: [694,8,604,45,578,'99 -8Q71 -8 58 9T45 39Q45 51 116 336L188 622H184Q183 622 179 622T169 623T157 624T146 624T136 624T131 625Q119 628 119 642Q119 647 123 661T129 679Q133 684 144 685T220 690Q293 694 307 694Q324 694 328 679Q328 674 280 482Q231 290 231 287Q231 285 234 286Q259 302 294 334T356 390T420 433T493 452Q528 452 546 427T564 364Q564 308 538 282T480 256Q456 256 441 269T425 308Q425 339 444 359T483 384L502 389Q502 395 496 398Q493 400 483 400Q465 400 449 395T409 374T373 347T323 305T268 257Q274 256 282 256Q312 251 329 247T371 232T411 202Q431 181 431 146Q431 132 427 110T422 73Q422 44 440 44H442Q462 44 478 64T502 102T514 141Q518 157 522 159T547 162H558Q578 162 578 148Q578 118 537 56T440 -7H432Q374 -7 337 21T299 94Q299 103 301 116T304 139Q304 164 281 181T235 202L212 206H211Q176 47 160 24Q137 -8 99 -8'], + + // LATIN SMALL LETTER L + 0x6C: [694,9,348,26,296,'157 -8Q138 -8 118 -4T77 11T41 42T27 91V106L156 622H152Q151 622 147 622T137 623T125 624T114 624T104 624T99 625Q87 628 87 642Q87 647 91 661T97 679Q101 684 112 685T188 690Q261 694 275 694Q292 694 296 679L151 91Q150 85 150 71Q150 42 167 42Q186 42 205 75Q216 96 225 134Q230 155 234 158T255 162H260H271Q291 162 291 148Q290 145 289 140T283 118T271 87T254 54T229 23T197 1T157 -8'], + + // LATIN SMALL LETTER M + 0x6D: [453,8,1032,24,1006,'24 296Q25 302 27 312T41 350T65 397T104 435T159 452Q203 452 234 435Q268 419 285 384L295 392Q305 401 317 410T349 429T389 445Q411 451 446 451Q560 451 592 383Q593 380 594 379L595 375L604 384Q675 452 762 452Q893 452 916 367Q918 356 918 334Q918 285 881 183T841 66Q838 43 849 43Q876 43 901 69T940 138Q945 156 949 159T969 162H975H986Q1006 162 1006 148Q1006 138 996 115T966 63T914 13T841 -8Q794 -8 758 16T721 82Q721 96 758 199T796 351Q796 401 753 401Q702 401 662 369T599 298Q597 294 567 172T533 40Q525 22 506 7T462 -8Q435 -8 422 8T409 39Q409 48 425 114T458 248T476 320Q478 330 478 348T474 377T462 393T449 399T433 400H428Q380 400 336 363Q301 332 281 298Q278 293 247 170T214 40Q206 22 187 7T143 -8T104 7T90 39Q90 47 108 124T146 274L164 347Q166 355 166 372Q166 401 149 401Q129 401 115 379T89 306Q84 288 80 285T55 282H44Q24 282 24 296'], + + // LATIN SMALL LETTER N + 0x6E: [453,8,713,24,687,'24 296Q25 302 27 312T41 350T65 397T104 435T159 452Q203 452 234 435Q268 419 285 384L293 391Q363 452 454 452Q575 446 597 367Q599 356 599 334Q599 285 562 183T522 66Q519 43 530 43Q557 43 582 69T621 138Q626 156 630 159T650 162H656H667Q687 162 687 148Q687 138 677 115T647 63T595 13T522 -8Q475 -8 439 16T402 82Q402 96 439 199T477 351Q477 401 434 401Q421 401 409 398Q341 388 285 305L278 295L247 170Q216 46 214 40Q206 22 187 7T143 -8T104 7T90 39Q90 47 108 124T146 274L164 347Q166 355 166 372Q166 401 149 401Q129 401 115 379T89 306Q84 288 80 285T55 282H44Q24 282 24 296'], + + // LATIN SMALL LETTER O + 0x6F: [452,8,585,39,576,'254 -8Q191 -8 146 9T80 54T49 111T39 169Q39 206 53 247T96 329T176 402T292 446Q317 451 336 451L344 452Q353 452 359 452Q457 452 516 408T576 279Q576 169 488 81T254 -8ZM349 400Q321 400 287 385T231 338Q206 301 188 228T170 126Q170 99 178 83Q198 44 260 44Q367 44 409 157Q419 185 432 238T445 317Q445 336 443 348Q435 372 416 384T384 398T349 400'], + + // LATIN SMALL LETTER P + 0x70: [453,194,601,-23,594,'24 296Q25 302 27 312T41 350T65 397T103 435T157 452Q235 452 273 404Q336 452 409 452Q434 452 458 448T507 432T550 402T581 354T593 285Q593 221 564 159T480 53Q401 -8 302 -8Q290 -8 279 -7T259 -3T242 3T228 9T218 14T212 18L209 20Q208 19 190 -55T171 -131T198 -132H213Q240 -132 240 -150Q237 -187 223 -192Q219 -194 212 -194Q208 -194 176 -193T95 -192Q48 -192 24 -193T-3 -194Q-11 -194 -16 -190T-22 -182T-23 -176Q-20 -142 -7 -134Q-3 -132 20 -132H44L164 354Q165 357 165 372Q165 401 148 401Q113 401 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296ZM465 339Q465 373 447 387T403 401Q375 401 347 387T303 360T288 341Q288 338 257 216L227 93Q248 43 306 43Q332 43 361 59T410 115Q425 147 445 224Q465 309 465 339'], + + // LATIN SMALL LETTER Q + 0x71: [452,194,542,38,550,'38 159Q38 209 58 260T113 355T205 425T327 452Q338 452 348 451T366 449T382 444T394 440T405 434T414 429T422 423T429 418Q440 429 481 440T533 452Q540 452 545 447T550 437Q550 432 481 152Q410 -130 410 -131T437 -132H452Q479 -132 479 -150Q476 -187 462 -192Q458 -194 451 -194Q447 -194 414 -193T330 -192Q277 -192 249 -193T217 -194Q202 -194 197 -179Q197 -175 201 -159Q206 -139 211 -136T243 -132H283L319 15L307 10Q295 4 270 -2T220 -8Q134 -8 86 37T38 159ZM402 353Q402 358 395 368T369 390T324 401Q301 401 282 394T249 369T226 338T208 297T196 258T186 218Q166 141 166 107Q166 44 229 44Q265 44 294 61T337 95Q341 100 371 222T402 353'], + + // LATIN SMALL LETTER R + 0x72: [452,8,529,24,500,'24 296Q24 298 28 313T42 352T67 398T104 436T154 452Q198 452 230 437T273 404L282 411Q334 452 393 452Q441 452 470 423T500 350Q500 301 473 279T418 256Q395 256 379 270T363 308Q363 366 424 386Q424 388 420 391T405 398T385 401Q363 401 343 390Q321 380 289 341L252 192Q214 42 212 39Q190 -8 142 -8Q117 -8 103 7T89 39Q89 52 127 202T165 369Q165 402 148 402Q139 402 128 393T110 369Q100 348 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296'], + + // LATIN SMALL LETTER S + 0x73: [451,8,531,57,476,'140 290Q140 311 148 336T176 388T235 433T326 451H336Q355 451 373 449T418 439T460 412T476 363Q476 333 456 311T406 289Q384 289 371 302T357 335Q357 351 364 364T379 384L386 391Q386 392 381 394T362 398T330 400Q299 400 278 393T247 373T235 352T232 335Q232 322 242 312Q258 299 315 290T403 260Q457 224 457 167Q457 152 453 134T435 90T397 43T330 7T229 -8Q133 -8 95 22T57 91Q57 127 81 152T139 177Q161 177 177 164T194 121Q189 80 153 56Q179 43 236 43Q275 43 303 52T343 75T361 101T366 124Q366 148 338 161T272 180T232 186Q187 198 164 227T140 290'], + + // LATIN SMALL LETTER T + 0x74: [643,8,415,21,387,'82 382H55Q21 382 21 399Q21 422 33 439Q39 444 93 444H144L162 517Q163 522 167 541T174 567T181 589T192 611T206 627T226 639T253 643Q276 643 291 630T306 594Q306 586 288 514Q284 499 280 481T273 454L271 445Q271 444 317 444Q322 444 331 444T345 445Q377 445 377 428Q377 408 368 390Q360 382 341 382H306H255Q182 86 182 75Q182 43 201 43H204Q242 46 279 81Q298 101 309 119T323 145T330 157T350 162H356H363Q377 162 382 160T387 146Q385 136 372 114T337 64T275 14T192 -7Q131 -7 95 19T59 90V105L128 381Q128 382 82 382'], + + // LATIN SMALL LETTER U + 0x75: [452,9,681,24,655,'189 389Q189 397 187 399T176 401Q150 399 126 372T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 307 35 331T65 383T117 431T187 452Q237 452 272 427T308 362Q308 347 273 254T238 111Q238 43 291 43Q319 43 344 58T380 86T391 103T426 247T464 396Q472 414 491 429T535 444T574 429T588 397Q588 390 570 315T534 168L516 97Q514 89 514 72Q514 42 531 42Q544 42 556 56Q574 76 589 134Q594 155 598 158T619 162H624H635Q655 162 655 148Q654 142 652 132T638 94T614 47T575 9T520 -8Q509 -8 498 -7T478 -3T461 2T446 8T434 16T424 23T416 29T410 35T406 39L405 41L397 34Q347 -7 288 -7H281Q148 -7 122 78Q116 95 116 125V136Q116 174 152 273T189 389'], + + // LATIN SMALL LETTER V + 0x76: [453,8,567,24,540,'380 367Q380 397 406 425T465 453Q493 453 516 430T540 357Q540 314 524 250T467 115T373 13Q338 -8 292 -8Q218 -8 167 23T116 129Q116 178 152 275T189 388Q189 396 187 398T176 401Q148 398 125 372T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 330T64 382T116 431T189 452Q231 452 269 429T308 362Q308 346 273 255T238 114Q238 43 306 43Q336 43 363 65T407 118T437 182T456 239T462 268Q462 290 417 315Q380 335 380 367'], + + // LATIN SMALL LETTER W + 0x77: [453,8,831,24,796,'636 367Q636 400 664 426T719 453Q748 453 772 431T796 357Q796 321 782 256T727 112T633 6Q604 -8 567 -8Q466 -8 415 43Q414 42 410 38T403 31T396 25T388 18T378 11T367 5T355 0T340 -4T324 -7T306 -8Q249 -8 209 5T151 40T125 84T117 129Q117 176 153 274T190 388Q190 408 158 396Q112 376 90 306Q85 288 81 285T61 282H55H44Q24 282 24 296Q24 305 34 328T63 380T114 430T187 452Q240 452 274 427T309 362Q309 346 275 255T240 117Q240 43 317 43Q325 43 333 45T347 50T359 57T369 66T377 75T383 83T388 90L390 95Q390 99 389 110T387 129Q387 139 391 167Q393 177 419 282T448 396Q456 414 475 429T519 444Q546 444 559 428T572 397Q572 384 542 265T511 114Q511 43 579 43Q608 43 633 66T673 122T699 188T714 244L718 267Q718 291 673 315Q636 335 636 367'], + + // LATIN SMALL LETTER X + 0x78: [452,9,659,43,599,'74 282H63Q43 282 43 296Q43 298 45 307T56 332T76 365T110 401T159 433Q200 451 233 451H236Q273 451 282 450Q358 437 382 400L392 410Q434 452 483 452Q538 452 568 421T599 346Q599 303 573 280T517 256Q494 256 478 270T462 308Q462 343 488 367Q501 377 520 385Q520 386 516 389T502 396T480 400T462 398Q429 383 415 341Q354 116 354 80T405 44Q449 44 485 74T535 142Q539 156 542 159T562 162H568H579Q599 162 599 148Q599 135 586 111T550 60T485 12T397 -8Q313 -8 266 35L258 44Q215 -7 161 -7H156Q99 -7 71 25T43 95Q43 143 70 165T125 188Q148 188 164 174T180 136Q180 101 154 77Q141 67 122 59Q124 54 136 49T161 43Q183 43 200 61T226 103Q287 328 287 364T236 400Q200 400 164 377T107 302Q103 288 100 285T80 282H74'], + + // LATIN SMALL LETTER Y + 0x79: [452,202,590,24,587,'206 -150Q240 -150 268 -134T314 -95T344 -48T362 -7T367 14Q339 -7 280 -7Q230 -7 195 5T144 39T122 79T115 122Q115 175 152 274T189 388Q189 396 187 398T176 401Q148 398 125 372T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 329T64 381T116 431T188 452Q239 452 273 427T308 361Q308 347 273 253T237 109Q237 43 291 43T388 98Q388 99 425 246T463 396Q471 414 490 429T534 444T573 430T587 399Q587 386 537 186T483 -25Q461 -84 410 -126T296 -188Q248 -202 204 -202Q127 -202 96 -175T64 -114Q64 -82 86 -57T144 -31Q169 -31 184 -45T199 -83Q199 -89 198 -94T196 -104T193 -113T189 -120T184 -128T179 -134T173 -141T168 -147Q189 -150 206 -150'], + + // LATIN SMALL LETTER Z + 0x7A: [452,8,555,34,539,'66 -8H60Q34 -8 34 5Q34 9 42 22T70 59T115 110Q162 156 255 229T381 332L389 339H381Q348 332 298 329T212 325T172 321Q168 318 151 318H146Q116 318 116 332Q116 334 118 342Q128 374 154 402Q205 452 265 452Q304 452 352 422T426 392Q441 392 462 421T485 451T508 452H518Q539 452 539 438Q539 431 516 401T458 334Q412 289 312 210Q229 146 191 111L183 103H195Q203 103 213 104T240 107T268 110Q301 114 337 116T391 119T428 123T455 134T469 157Q473 166 495 166Q521 166 525 161Q532 156 528 141Q510 81 456 37T337 -7Q297 -7 251 22T177 52Q154 52 134 38T100 8L88 -7Q86 -8 66 -8'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,0,657,43,777,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H763Q769 677 772 673T776 666L777 664Q777 659 766 549T751 433Q745 424 723 424Q704 424 699 427T693 441Q693 444 695 467T697 513Q697 543 689 563T670 594T636 610T592 617T534 618H516H456L455 614Q455 613 387 339T317 64Q317 62 375 62H411Q430 62 438 59T447 44Q444 7 430 2Q426 0 416 0Q409 0 359 1T231 2Q152 2 111 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [711,0,958,59,904,'65 0Q59 6 59 9T61 16Q64 20 334 357T608 698Q616 706 629 710Q630 710 634 710T644 710T656 711Q686 711 694 703Q698 699 700 693Q706 674 805 345T904 14Q904 7 894 1L479 0H65ZM630 342L567 551L232 134L462 133H693Q693 137 630 342'], + + // GREEK CAPITAL LETTER THETA + 0x398: [702,17,867,54,844,'358 -17Q218 -17 136 49T54 243Q54 298 70 356T123 474T211 582T338 663T504 702H527Q578 702 590 701Q709 688 776 622T844 441Q844 379 825 315T765 192T668 86T532 11T358 -17ZM700 474Q700 525 685 561T642 616T587 643T528 652Q390 652 301 534Q252 472 225 373T198 210Q198 160 214 125T256 71T311 44T372 36Q484 36 571 119Q639 189 669 299T700 474ZM366 428Q366 425 364 419T362 411H466L570 412L573 422Q576 437 581 441T604 445Q620 445 623 444Q636 440 636 429Q636 423 616 340T593 253Q586 243 572 243H566Q545 243 539 249Q536 251 535 253T534 258T534 263T535 270T537 277H329L326 266Q323 251 318 247T295 243Q279 243 276 244Q263 248 263 259Q263 265 283 346Q288 366 295 394Q304 431 308 438T326 445H334H338Q366 445 366 428'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [711,0,806,44,776,'439 0Q425 6 425 18Q425 35 436 57Q442 62 485 62Q525 62 525 64L478 483Q478 484 465 463T422 394T350 277Q222 69 222 68Q223 67 224 67Q229 64 271 62Q290 62 297 59T305 45Q305 38 302 28Q297 9 293 5T274 0Q270 0 238 1T159 2Q133 2 105 2T72 1Q56 1 52 3T44 15Q44 19 48 35Q53 55 58 58T89 62Q142 64 151 73Q154 76 345 387T538 699Q550 711 570 711H580H592Q613 711 618 695Q619 692 654 379T690 63Q690 62 726 62H746Q776 62 776 44Q773 7 759 2Q755 0 747 0Q743 0 707 1T600 2Q502 2 476 1L439 0'], + + // GREEK CAPITAL LETTER XI + 0x39E: [675,0,841,62,867,'206 466Q175 466 175 484Q175 487 201 574T230 666Q235 673 241 675H547Q853 675 857 673Q867 668 867 657Q867 655 850 569T832 478Q827 466 808 466H802H795Q773 466 771 481Q771 486 775 508T779 541V549H774Q755 552 505 552Q281 551 267 548Q262 548 255 533T242 496T233 472Q228 466 206 466ZM259 255H252Q231 255 228 270Q228 275 248 355T270 439Q277 448 288 448H298Q321 448 326 440Q331 434 326 414Q326 413 486 413H647L650 424Q654 441 658 444T678 448H683H693Q702 448 705 446T714 432L694 348Q674 267 669 261Q664 255 652 255H643Q622 255 617 261Q613 265 613 272T613 283T616 289Q616 290 456 290H295L294 285Q293 280 292 275T288 265T281 257Q278 255 259 255ZM150 131Q150 124 281 123Q346 123 390 123Q640 123 664 126Q668 127 675 127Q686 131 704 198Q708 213 713 216T733 220H738Q755 220 759 218Q768 213 768 203Q768 198 741 105T710 8Q708 4 699 0H388Q77 0 73 2Q62 7 62 18Q62 27 81 115Q99 206 102 212Q106 220 120 220H129Q140 220 145 220T155 215T160 202Q160 196 159 192Q150 145 150 131'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [680,0,982,43,1026,'257 618H231Q198 618 198 636Q202 672 214 678L219 680H1011Q1022 675 1026 665Q1022 626 1009 620Q1005 618 956 618H907L906 614Q906 613 838 339T768 64Q768 62 812 62H839Q871 62 871 44Q867 6 854 2L850 0L808 1Q782 2 675 2Q600 2 560 1T516 0Q499 0 494 15Q498 54 511 60Q515 62 564 62H613L614 66Q614 67 682 341T752 616Q752 618 604 618H456L455 614Q455 613 387 339T317 64Q317 62 361 62H388Q420 62 420 44Q416 6 403 2L399 0L357 1Q331 2 224 2Q149 2 109 1T65 0Q48 0 43 15Q47 54 60 60Q64 62 113 62H162L163 66Q163 67 231 341T301 616Q301 618 257 618'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [686,0,885,69,902,'847 430Q828 430 823 434T817 450Q817 454 817 466T818 487Q818 526 809 551T784 591T737 613T675 622T590 624H528H430L513 487Q594 351 596 345Q596 335 590 330Q583 323 418 204L250 81L363 80Q533 80 591 89T694 142Q739 185 765 252Q772 268 776 271T799 274Q816 274 820 272Q832 266 830 254Q829 250 784 130T736 7Q732 3 725 0H405Q84 0 80 2Q69 7 69 18Q69 26 75 32Q76 32 98 48T168 100T255 164L432 293Q429 300 329 465T225 637Q223 675 245 686H888Q900 680 902 671Q902 667 890 556T876 441Q871 430 847 430'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [703,0,671,32,802,'32 544Q32 586 91 644T229 703Q277 703 311 683T363 628T389 560T397 491V478L404 491Q455 589 526 646T677 703Q730 703 766 671T802 584Q802 551 793 541T766 531H757L736 532L732 535L729 539V549Q731 569 715 575T658 581H650Q545 581 477 443Q453 392 443 351Q441 345 424 273T389 133T371 64Q371 62 428 62H461Q483 62 492 59T501 44Q498 10 485 2L480 0L431 1Q401 2 278 2T127 1L85 0Q71 5 71 17Q71 24 74 33Q77 46 78 49T84 57T95 61T118 62H154H216Q232 126 249 193T273 287T287 345T296 388T299 416T300 452Q294 581 198 581Q154 581 132 575T106 562T99 546T86 533Q82 531 60 531L39 532Q32 537 32 544'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [686,0,767,29,737,'323 624H293Q267 624 261 626T251 639Q255 678 268 684Q272 686 293 686Q348 684 475 684Q557 684 600 685T647 686H648Q671 686 671 668Q667 632 655 626Q650 624 588 624H525L500 520Q500 519 520 518T579 507T656 480Q737 440 737 372Q737 294 648 237Q562 180 426 169L412 168L399 118Q386 66 386 65L385 62H443H479Q498 62 506 59T515 44Q511 8 499 2L494 0L447 1Q417 2 298 2Q212 2 167 1T118 0Q100 0 95 15Q99 54 112 60Q116 62 179 62H241Q242 64 254 114T266 167Q266 168 262 168Q256 168 237 170T180 181T110 205T54 249T29 316Q29 391 112 446T327 516Q345 518 349 518Q351 518 353 518L355 519Q356 520 368 570T381 623Q381 624 323 624ZM342 466Q341 467 339 467Q320 467 283 455T225 420Q181 361 181 296Q181 273 193 257T222 233T254 222T277 219L280 220Q281 220 311 342T342 466ZM583 389Q583 409 576 423T557 444T533 456T509 463T492 467H486L455 343Q444 300 437 271T428 231T426 219Q430 219 445 222T483 232T521 250Q551 269 567 310T583 389'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [686,0,714,22,790,'205 471Q205 445 196 403T186 333Q186 303 194 281T218 248T240 233T262 224L361 623Q361 624 303 624Q296 624 284 624T266 623Q232 623 232 641Q232 648 235 657Q240 678 244 682T268 686H273Q329 684 457 684Q502 684 540 684T599 685T626 686H628Q651 686 651 668Q649 633 631 624H505L407 227Q410 228 416 229T439 239T472 259T507 294T539 345Q549 365 563 416T597 498T649 538Q657 540 717 540Q725 540 737 540T755 541Q790 541 790 524Q790 512 784 497Q780 491 767 490T742 477Q736 471 731 463T722 449T715 433T710 419T705 403T701 389Q686 340 658 302T599 240T530 201T463 179T404 169L391 168L379 116Q365 67 365 63Q365 62 422 62H455Q477 62 486 59T495 44Q492 10 479 2L474 0L427 1Q397 2 278 2T131 1L90 0Q76 5 76 17Q76 24 79 33Q82 46 83 49T89 57T100 61T123 62H159H221Q247 162 247 168H244Q241 169 239 169Q202 176 178 182T123 207T74 252Q46 291 46 351Q46 375 52 404T59 454Q59 489 40 489Q32 489 27 494T22 507Q22 535 37 538Q40 540 99 540H128Q168 540 186 528T205 471'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [703,0,879,93,887,'162 119Q181 115 235 115L273 116Q273 133 231 222T180 345Q173 368 173 391V406V414Q173 477 214 540Q255 600 315 635Q353 661 423 682T585 703Q656 703 711 690T799 656T851 608T879 555T886 503Q886 449 860 401Q840 359 810 322T725 230T643 146Q619 117 619 116T650 115Q707 115 722 120Q730 123 750 165T775 210Q779 212 796 212Q828 212 828 196Q828 191 807 144T764 52L743 7Q740 4 740 4T733 2T717 0T686 0H632H573Q535 0 526 3T517 17Q517 44 544 103T617 243T671 341Q729 454 729 535Q729 599 686 625T583 652Q549 652 517 645T450 616T388 561T344 470T327 340Q327 304 331 237T336 135Q336 93 330 50T313 2Q308 0 208 0H142Q107 0 100 4T93 25Q93 28 93 41T95 77T96 118L100 199Q105 208 109 210T131 212Q147 212 151 210T161 199V160Q161 131 162 125V119'], + + // GREEK SMALL LETTER ALPHA + 0x3B1: [452,8,761,39,712,'39 166Q39 213 59 261T117 353T219 424T362 452Q420 452 466 433T536 384T573 325T586 269V265Q593 272 609 308T636 381Q640 397 644 399T669 402H680Q700 402 700 388Q700 379 691 351T659 276T604 188L593 173L595 153Q600 79 612 43H618Q634 45 642 51T653 64T658 71Q661 73 684 73Q712 73 712 59Q712 39 685 16T603 -7Q588 -7 575 -5T551 2T532 12T516 24T503 37T494 49T487 60T481 69L469 61Q362 -8 251 -8Q159 -8 99 36T39 166ZM260 43Q310 43 361 63T438 101T465 124Q458 240 453 277Q435 401 354 401Q291 401 245 355Q230 337 217 313Q201 279 186 216T170 126Q170 72 208 54Q230 43 260 43'], + + // GREEK SMALL LETTER BETA + 0x3B2: [701,194,660,28,638,'59 -194H49Q31 -194 28 -182Q28 -178 107 139T192 473Q212 533 248 580T324 652T395 689T450 701H461Q514 701 551 688T605 652T630 607T637 561Q637 546 634 526T611 465T556 393Q572 382 590 347T608 262Q608 146 522 69T299 -8Q279 -8 261 -6T228 2T204 13T183 26T169 37T157 48L150 56L120 -64Q113 -90 104 -128Q93 -175 89 -184T73 -194H59ZM531 592Q531 651 463 651Q399 651 341 600T253 466Q250 458 217 327T182 185Q180 176 180 159Q180 108 212 76T301 44Q330 44 354 51T393 65T423 91T444 118T459 151T468 179T475 206Q490 264 491 296Q491 313 489 326T484 345L482 350Q481 350 477 348T464 344T444 340T413 335T372 333T334 334T301 340T274 355T265 380Q265 444 397 444Q425 444 445 441T476 436L485 433Q489 433 499 458Q509 482 520 527T531 592ZM424 390Q424 393 389 393Q383 393 374 393T362 392Q348 392 333 388Q345 384 379 384Q424 384 424 390'], + + // GREEK SMALL LETTER GAMMA + 0x3B3: [451,211,590,5,617,'5 269Q5 285 19 312T57 368T124 421T215 451H241Q274 451 303 439T353 406T389 361T416 311T432 266T442 232L444 220L446 216L450 226Q473 278 513 357T561 441Q566 444 584 444H594Q617 444 617 430Q617 426 596 389T536 273T462 110L452 84L451 70Q447 12 427 -76T388 -192Q375 -211 355 -211Q339 -211 332 -198T325 -171Q325 -114 386 64L393 84V98Q393 181 371 241Q360 280 319 303T210 327Q158 327 126 317T84 296T68 272T59 258Q55 256 36 256Q23 256 18 256T9 260T5 269'], + + // GREEK SMALL LETTER DELTA + 0x3B4: [726,8,522,39,513,'216 610Q216 640 229 664T262 700T299 719T327 725Q330 725 406 709T487 690Q513 681 513 651Q513 627 494 607T450 587Q417 587 378 631Q346 663 314 663Q286 663 272 639Q271 637 271 634Q271 609 344 536L397 484Q438 448 458 410T478 313Q478 234 443 147T338 18Q298 -8 249 -8Q214 -8 180 0T113 26T60 81T39 168Q39 200 50 237T87 316T160 391T272 442L260 465Q216 553 216 610ZM348 235Q348 274 336 313T310 372L298 392Q295 391 290 390T269 380T241 359T212 323T185 267Q157 168 157 130Q157 83 186 63T255 43Q280 43 300 67Q317 89 332 138T348 235'], + + // GREEK SMALL LETTER EPSILON + 0x3B5: [461,18,529,36,481,'224 -17Q126 -17 81 22T36 112Q36 178 84 226L93 236L88 246Q79 264 79 289Q79 341 124 388Q201 461 333 461Q402 461 455 425Q480 409 481 390Q481 365 464 350T428 334Q415 334 387 352T313 370Q141 370 141 293Q141 275 146 270Q147 270 148 270T155 272Q202 291 263 291H270Q349 291 349 244Q349 195 281 183Q274 182 239 182Q201 182 184 185T137 200Q123 188 112 168T100 129T112 98T148 81T189 75T237 74H243H251Q288 74 310 75T359 86T398 112Q405 124 417 124Q426 124 432 117T439 100Q439 88 427 70T390 32T322 -3T224 -17ZM286 238Q286 240 253 240Q245 240 234 239T216 237T209 235Q209 232 250 232Q286 232 286 238'], + + // GREEK SMALL LETTER ZETA + 0x3B6: [711,202,508,48,521,'361 711Q373 711 381 703T389 683Q389 681 388 676T383 656T376 618V612H379Q385 618 429 618Q521 618 521 572Q521 551 506 534Q483 510 415 507Q385 507 371 511T336 536L326 528Q254 472 204 381T154 209Q154 190 157 177Q159 165 162 154T170 135T182 119T195 106T212 95T229 86T249 78T269 72T290 66T311 60Q385 37 388 36Q437 14 454 -36Q456 -46 456 -64Q456 -83 455 -90Q445 -132 413 -167T333 -202Q300 -202 257 -191T206 -169Q203 -164 203 -158Q203 -148 210 -140T231 -130Q239 -130 263 -139T326 -151H329Q337 -151 342 -150T352 -143T357 -123Q356 -117 355 -113T350 -104T344 -96T335 -90T324 -85T310 -80T294 -74T275 -68T254 -62Q253 -62 231 -56T205 -48T179 -39T150 -26T125 -10T100 11T80 37T62 70T53 109T48 157Q48 281 123 396T317 586V612Q319 638 320 649T325 678T338 703T361 711ZM454 564Q445 567 424 567Q407 567 398 565T387 563Q387 558 411 558Q434 558 450 562L454 564'], + + // GREEK SMALL LETTER ETA + 0x3B7: [453,211,600,24,600,'24 296Q25 302 27 312T41 350T65 397T103 435T157 452Q202 452 233 435Q267 419 284 384L294 392Q304 401 316 410T348 429T388 445Q410 451 445 451H453Q468 451 482 450T519 443T558 425T587 391T600 337V327Q600 311 538 64Q484 -158 478 -168Q457 -211 409 -211Q386 -211 372 -197T357 -161Q357 -158 415 80Q476 330 477 348Q477 366 473 377T461 393T448 399T432 400H427Q379 400 335 363Q300 332 280 298Q277 293 246 170T213 40Q205 22 186 7T142 -8T103 7T89 39Q89 49 106 117T142 260T164 351Q166 363 166 372Q166 402 148 402Q126 402 110 369Q100 350 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296'], + + // GREEK SMALL LETTER THETA + 0x3B8: [702,8,562,40,554,'213 -8Q130 -8 85 50T40 200V207Q40 303 83 428Q122 535 189 608Q279 702 381 702Q410 702 437 693T492 661T537 593T554 486Q554 428 539 362T495 230T425 111T330 25T213 -8ZM433 562Q433 600 419 625T377 651Q363 651 348 644T311 619T268 557T229 453Q225 441 217 411T208 378H401Q433 500 433 562ZM161 140Q161 43 217 43Q249 43 280 74Q310 103 332 150T378 287Q385 313 385 315Q385 316 289 316H192Q191 308 183 275T169 205T161 140'], + + // GREEK SMALL LETTER IOTA + 0x3B9: [452,8,412,38,386,'161 -8Q111 -8 75 16T38 85Q38 95 48 121T80 214T123 368L124 374Q126 381 127 386T132 399T139 414T149 428T162 440T180 448T203 452Q226 452 241 439T257 404Q257 386 230 290T171 111Q157 73 157 57Q157 43 166 43Q209 43 258 69T322 144Q326 157 330 159T348 162H355H366Q386 162 386 148Q386 143 383 132T367 100T335 61Q301 27 253 10T161 -8'], + + // GREEK SMALL LETTER KAPPA + 0x3BA: [452,8,668,45,642,'258 405Q258 394 251 364T237 308T230 281T238 284T270 306T330 349Q365 377 389 394T450 427T519 444Q545 444 559 430T574 391Q574 360 551 336T491 312Q469 312 454 326T439 364Q439 372 438 372Q433 372 395 344T320 289T283 260H285Q287 260 290 260T297 259Q495 248 495 146Q495 132 491 110T486 74Q486 43 505 43Q520 43 531 53Q559 72 578 141Q582 157 586 159T611 162H622Q642 162 642 148T627 100T578 29T504 -7H495Q435 -7 399 22T363 96Q363 111 366 122T369 142Q369 155 364 165T347 182T326 193T298 200T269 204T238 207T212 210L211 206L190 123L169 40Q161 22 142 7T98 -8T59 7T45 39Q45 48 67 139T112 317L134 404Q142 424 161 438T204 452Q226 452 242 440T258 405'], + + // GREEK SMALL LETTER LAMDA + 0x3BB: [694,13,671,40,652,'95 -13Q70 -13 55 4T40 41Q40 65 61 88Q65 92 210 207T357 322L235 602Q217 640 185 643Q182 643 178 644T173 645Q161 651 161 666Q161 677 167 684T181 692Q189 694 212 694Q335 694 358 660Q362 653 500 340T647 18Q652 10 652 6Q652 -8 622 -8H589H538L526 -5Q506 1 500 8Q494 16 444 128Q442 133 440 138L387 259L265 134Q156 20 137 4T95 -13'], + + // GREEK SMALL LETTER MU + 0x3BC: [452,211,708,34,682,'294 -8Q265 -8 244 -5T213 1T201 4Q200 4 192 -32T172 -111T155 -168Q134 -211 86 -211Q62 -211 48 -196T34 -158Q37 -144 103 123T174 404Q182 424 201 438T244 452Q271 452 284 436T298 404Q298 392 267 269T235 114Q235 43 305 43Q342 43 375 68T418 110Q420 112 455 253T492 397Q514 444 562 444Q587 444 601 429T615 397Q615 387 599 320T563 178T542 93Q540 81 540 72Q540 42 558 42Q580 42 596 75Q606 94 616 134Q621 155 624 158T646 162H651H662Q682 162 682 148Q681 142 679 132T665 94T641 47T602 9T548 -8Q523 -8 502 -3T468 11T446 27T432 40L429 46Q367 -8 294 -8'], + + // GREEK SMALL LETTER NU + 0x3BD: [452,2,577,38,608,'88 382Q70 382 65 385T59 402T64 427T78 443Q79 444 157 448T247 452Q256 452 261 448T266 440L267 437Q267 432 223 252L177 71L192 77Q293 117 371 199T480 388Q489 424 511 438T556 452Q579 452 593 438T608 402Q608 378 593 340T540 251T446 152T299 62T96 -1Q91 -2 78 -2Q38 -2 38 15Q38 22 82 198L127 379Q124 382 88 382'], + + // GREEK SMALL LETTER XI + 0x3BE: [711,201,508,23,490,'287 648Q291 671 293 680T305 700T329 711Q339 711 347 705T356 687Q356 680 351 653T345 619Q345 615 346 615Q358 618 398 618Q490 618 490 572Q490 553 476 536T434 512Q411 508 378 508H366Q332 508 306 534L298 525Q271 496 254 456T237 375Q237 336 244 336Q272 346 319 346H325Q354 346 372 344T406 331T422 300Q422 252 350 238Q332 236 303 236Q286 236 269 238T240 242T218 247T202 252L196 254Q191 254 174 237T141 191T124 139Q124 108 151 92T267 46Q285 40 295 37Q308 33 332 25T366 13T392 3T415 -8T432 -20T445 -36T451 -55T454 -80Q454 -118 427 -153T358 -199Q349 -201 327 -201Q313 -201 298 -200T271 -196T246 -191T226 -185T210 -180T200 -176L196 -174Q187 -170 187 -158T196 -138T216 -130Q217 -130 254 -140T329 -151Q349 -151 349 -135Q349 -127 340 -122T293 -104Q260 -93 238 -85Q130 -48 115 -41Q71 -19 47 15T23 88Q23 126 48 179T130 277L144 288L136 297Q99 336 99 390Q99 456 148 514T285 602V619Q285 624 286 635T287 648ZM355 563Q362 560 376 558Q424 558 423 564Q405 567 390 567Q369 567 355 563ZM279 292Q297 287 315 287Q355 287 355 293Q355 296 321 296Q316 296 308 296L301 295Q295 295 289 294L279 292'], + + // GREEK SMALL LETTER OMICRON + 0x3BF: [452,8,585,39,576,'254 -8Q191 -8 146 9T80 54T49 111T39 169Q39 206 53 247T96 329T176 402T292 446Q317 451 336 451L344 452Q353 452 359 452Q457 452 516 408T576 279Q576 169 488 81T254 -8ZM349 400Q321 400 287 385T231 338Q206 301 188 228T170 126Q170 99 178 83Q198 44 260 44Q367 44 409 157Q419 185 432 238T445 317Q445 336 443 348Q435 372 416 384T384 398T349 400'], + + // GREEK SMALL LETTER PI + 0x3C0: [444,8,682,23,674,'55 289H43Q23 289 23 303Q23 308 33 322Q116 434 199 443Q200 444 418 444Q591 444 617 444T652 439Q674 426 674 400Q674 378 661 360T625 335Q621 334 549 333H479L477 321Q476 312 476 279Q476 219 491 174T521 104T536 65Q536 38 511 15T457 -8Q403 -8 386 94Q384 110 384 139Q384 181 391 229T406 304L413 331Q413 333 365 333H316L315 329Q315 328 312 314T301 272T288 220Q274 167 258 103Q244 49 240 38T228 18Q225 16 224 14Q200 -8 172 -8Q146 -8 132 7T118 44Q118 54 121 61Q122 65 142 102T190 195T235 293Q250 329 250 333Q177 333 166 332Q115 328 88 301L77 290L55 289'], + + // GREEK SMALL LETTER RHO + 0x3C1: [451,211,612,34,603,'307 -8Q277 -8 251 0T215 14L205 20Q203 18 193 -25T171 -114T155 -168Q134 -211 87 -211Q64 -211 49 -198T34 -162Q34 -158 137 254Q153 299 179 334T232 390T277 419T311 434Q357 451 403 451Q435 451 455 449T506 435T560 400Q603 357 603 285Q603 172 520 82T307 -8ZM474 343Q474 364 458 382T409 400H406Q339 400 299 341Q281 313 264 257Q261 248 242 170T222 89Q222 84 230 74T260 54T308 43Q334 43 365 57T417 110Q437 145 456 228Q474 298 474 332V343'], + + // GREEK SMALL LETTER FINAL SIGMA + 0x3C2: [451,105,424,33,457,'33 209Q33 277 80 334T195 421T330 451H344Q410 451 439 429Q457 417 457 402Q457 386 445 375T420 363Q415 363 406 368T383 383T354 398Q347 400 330 400Q256 400 196 361T135 265V257Q135 242 147 225T174 199L358 107Q400 77 400 28T362 -63T271 -105Q254 -105 229 -99T195 -86Q188 -82 188 -71Q188 -56 197 -50T216 -44Q225 -44 237 -48T270 -53H282Q293 -44 293 -31Q293 -19 283 -10Q278 -4 200 33T115 76Q77 98 55 133T33 209'], + + // GREEK SMALL LETTER SIGMA + 0x3C3: [445,8,686,35,677,'35 151Q35 190 51 236T99 327T184 404T306 443Q307 443 316 443T342 443T378 444T425 444T476 444Q606 444 626 444T655 439Q677 426 677 400Q677 358 639 340Q625 333 563 333Q510 333 510 331Q518 319 518 272Q518 155 437 74T226 -8Q123 -8 79 41T35 151ZM396 278Q396 314 375 323T305 332Q249 332 222 310T180 243Q171 219 162 178T153 116V110Q153 43 234 43Q347 43 382 199Q383 203 383 204Q396 255 396 278'], + + // GREEK SMALL LETTER TAU + 0x3C4: [444,13,521,23,610,'55 289H43Q23 289 23 303Q23 308 33 322Q116 434 199 443Q200 444 386 444Q571 444 577 442Q588 441 599 432T610 402Q610 359 572 340Q561 335 547 334T452 333H353V331Q352 330 342 261T320 119T306 40Q300 18 281 3Q257 -13 233 -13Q210 -13 196 0T181 35Q181 44 182 48Q183 53 229 187T279 331Q279 333 228 333H209Q163 333 136 328T88 301L77 290L55 289'], + + // GREEK SMALL LETTER UPSILON + 0x3C5: [453,9,631,24,604,'189 388Q189 396 187 398T176 401Q144 399 122 369T89 304Q84 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 330T64 382T116 431T188 452Q232 452 270 430T308 361Q308 345 275 258T241 123Q241 44 336 44H344Q380 44 415 73T474 140T511 214T526 267Q526 280 513 292Q505 301 486 311T456 333T444 367Q444 400 471 426T529 453Q555 453 579 431T604 358Q604 327 592 271T557 172Q550 157 541 142T510 97T464 47T404 9T328 -8Q264 -8 219 5T154 41T125 85T117 131Q117 182 153 277T189 388'], + + // GREEK SMALL LETTER PHI + 0x3C6: [452,216,747,52,703,'238 4Q230 5 218 8T174 26T118 58T73 112T53 190Q53 219 60 246Q77 313 103 362T143 426T163 443Q165 444 186 444Q217 444 217 432Q217 425 188 392Q157 351 137 291T116 206Q116 127 263 109L276 107L288 139Q347 304 414 378T566 452Q621 449 662 412T703 286Q698 167 598 82T357 -8H332V-11Q332 -12 327 -46T317 -116T310 -157Q306 -180 286 -198T234 -216Q211 -216 197 -203T183 -168Q183 -160 184 -155Q184 -152 198 -112T225 -34T238 4ZM637 260Q637 303 607 322T541 341Q502 341 466 319T405 264Q368 218 356 159Q348 111 348 104Q348 103 361 103Q502 103 569 152T637 260'], + + // GREEK SMALL LETTER CHI + 0x3C7: [452,201,718,32,685,'58 -194Q32 -194 32 -164Q32 -153 46 -139L175 -13Q296 104 296 106Q271 232 226 308Q165 401 141 401Q128 401 117 390T100 365Q94 350 91 349T69 346H45Q35 348 35 359Q35 380 62 411T133 450Q143 452 165 452Q286 452 329 402Q347 379 366 333T394 254T404 215Q404 213 405 213Q405 212 420 227T463 268T520 324Q637 437 640 438Q647 444 661 444Q667 444 676 438T685 419Q685 405 670 389T549 271L420 145Q433 85 444 53Q466 -25 509 -88T575 -151Q590 -151 600 -140T617 -114T626 -98Q629 -96 650 -96H655Q681 -96 681 -108Q681 -114 679 -119Q670 -148 646 -169T591 -199Q581 -201 550 -201Q422 -201 381 -143Q345 -88 316 20L311 39L230 -40Q144 -126 114 -153Q85 -182 77 -188T58 -194'], + + // GREEK SMALL LETTER PSI + 0x3C8: [695,202,758,24,732,'244 141Q244 117 254 98T277 70T305 55T329 48T342 47L344 48L424 366Q501 678 505 686Q508 691 512 692T533 694T555 693T562 688T565 683Q565 678 486 362T406 45Q406 43 415 43Q467 49 514 78T590 143T636 213T653 266Q653 282 641 293T613 311T585 332T572 367Q572 397 598 425T657 453Q684 453 708 430T732 358Q732 330 723 287T706 225Q671 124 578 58T401 -8H393L370 -101Q346 -196 345 -197Q340 -202 316 -202H306Q286 -202 286 -188Q286 -187 296 -144T318 -57T331 -8Q331 -6 328 -6Q290 -6 233 11T148 62Q119 97 119 146Q119 181 154 275T190 388Q190 401 181 401Q154 401 129 375T90 306Q85 288 81 285T61 282H55H44Q24 282 24 296Q24 306 34 329T64 381T116 431T189 452Q237 452 273 428T309 362Q309 343 277 260T244 141'], + + // GREEK SMALL LETTER OMEGA + 0x3C9: [453,8,718,24,691,'532 367Q532 399 559 426T618 453Q645 453 668 430T691 357Q691 319 677 261T649 171Q640 149 626 125T586 68T521 14T438 -7Q401 -7 372 7T333 30T311 57Q246 -8 165 -8Q119 -8 82 19T30 102Q24 126 24 163V178Q24 210 37 255Q61 346 118 424Q141 451 161 451Q174 451 184 443T194 419Q194 402 179 387Q91 273 91 206Q91 159 122 138T189 117T281 145V173Q283 223 294 253Q304 276 323 289T364 303Q386 303 400 287T415 250Q415 219 385 157L378 144Q378 142 388 136T419 124T462 117Q522 117 566 165T610 255Q610 288 561 320Q532 337 532 367'], + + // GREEK THETA SYMBOL + 0x3D1: [701,8,692,24,656,'114 132Q114 153 140 253T166 372Q166 402 148 402Q126 402 110 369Q100 350 90 310Q85 289 82 286T60 282H55H44Q24 282 24 296Q25 302 27 312T41 350T65 397T104 435T158 452Q184 452 211 445T263 414T288 354V339L265 245Q237 134 237 118V107V102Q237 87 239 77T257 56T300 43Q395 43 455 254Q479 346 479 347L460 354Q294 408 294 528Q294 606 350 653T464 701Q536 701 579 659Q634 601 634 491Q634 468 630 438T623 388L620 370Q624 370 631 369T647 364T656 352Q656 347 653 335Q647 317 642 316Q640 315 637 315Q635 315 619 317Q606 319 605 316Q605 315 603 308Q587 248 550 177T457 57Q379 -8 293 -8Q192 -8 153 23T114 116V132ZM519 566Q519 600 507 625T464 651Q425 651 391 617T356 529Q356 501 370 478T404 441T443 417T477 404L491 400Q493 400 499 428T512 497T519 566'], + + // GREEK PHI SYMBOL + 0x3D5: [694,202,712,50,693,'274 -7Q232 -4 195 7T125 38T71 94T51 176V190Q51 213 60 242T95 307T156 373T255 425T393 451L397 452L427 568Q434 597 443 636Q452 677 456 685T472 694H486H495Q517 694 517 680L514 665Q510 650 503 621T489 564L460 451H469Q527 447 574 430T657 370T693 266Q693 163 599 82T350 -7H346L322 -100Q301 -190 295 -197Q291 -202 283 -202H269H258Q238 -202 238 -188Q238 -186 260 -96L283 -7H274ZM449 400Q448 400 404 225T359 47T366 45Q464 55 516 119Q542 149 558 199T575 295Q575 387 462 398L449 400ZM384 398Q384 399 381 399Q350 399 298 378T214 308Q168 236 168 149Q168 68 259 49Q282 44 294 44H295L384 398'], + + // GREEK PI SYMBOL + 0x3D6: [444,8,975,23,961,'55 289H43Q23 289 23 303Q23 308 33 322Q116 434 199 443Q200 444 562 444Q922 444 928 442Q961 434 961 400Q961 376 944 355T886 333H870Q872 322 872 295V279Q872 230 842 165T751 46T618 -8Q581 -8 554 6T513 45T494 84T484 119Q484 121 478 114Q477 113 476 111Q384 -7 268 -7H265Q251 -7 237 -4T199 11T162 54T147 132Q147 149 149 166T155 198T165 229T176 256T189 281T200 301T211 319T220 333H199Q120 333 88 301L77 290L55 289ZM639 103Q674 103 712 122T780 188T811 295Q811 318 808 330V333H289Q274 318 244 263T214 169Q214 133 236 118T288 103Q351 103 412 153T494 278Q497 290 502 292T529 295Q546 295 551 293T556 283Q556 281 553 260T550 218Q550 153 576 128T639 103'], + + // GREEK RHO SYMBOL + 0x3F1: [451,194,612,75,603,'371 -168Q357 -168 323 -171T245 -175Q143 -175 109 -150T75 -66Q75 -5 100 108T137 254Q153 299 179 334T232 390T277 419T311 434Q357 451 403 451Q435 451 455 449T506 435T560 400Q603 357 603 282Q603 213 569 148T465 38T304 -8Q273 -8 247 -2T204 14T176 31T159 46T152 53Q152 52 148 27T144 -16Q144 -36 150 -44T189 -58T293 -64Q405 -65 432 -75Q466 -88 466 -127Q466 -140 459 -172Q455 -188 451 -191T426 -194H420Q405 -194 400 -191T395 -176Q396 -170 394 -169T378 -168Q373 -168 371 -168ZM236 116Q236 77 258 60T311 43Q369 43 407 94Q429 123 451 206T474 331Q474 400 409 400H406Q339 400 299 341Q276 305 256 227T236 116'], + + // GREEK LUNATE EPSILON SYMBOL + 0x3F5: [444,7,483,44,450,'415 89Q423 89 429 74T436 46Q436 43 434 39Q432 36 420 29T380 11T322 -5Q311 -7 281 -7Q216 -7 168 10T94 54T56 110T44 167V181Q44 262 94 329Q104 343 119 357T162 391T234 425T327 443Q328 443 348 443T383 444Q434 444 442 438Q450 430 450 416Q446 392 424 383L376 382Q306 381 278 369Q230 349 208 294Q199 274 199 268Q199 267 291 267Q305 267 325 267T353 268Q383 268 394 263T406 241Q406 214 380 206Q375 205 279 205T183 203Q174 176 174 140Q174 87 208 65T292 43Q295 43 300 43T307 44Q337 49 372 69T415 89'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Math/BoldItalic/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/Italic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/Italic/Main.js new file mode 100644 index 00000000..6b2c3570 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Math/Italic/Main.js @@ -0,0 +1,391 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Math/Italic/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Math-italic'] = { + directory: 'Math/Italic', + family: 'MathJax_Math', + id: 'MJMATHI', + style: 'italic', + skew: { + 0x41: 0.139, + 0x42: 0.0833, + 0x43: 0.0833, + 0x44: 0.0556, + 0x45: 0.0833, + 0x46: 0.0833, + 0x47: 0.0833, + 0x48: 0.0556, + 0x49: 0.111, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.0278, + 0x4D: 0.0833, + 0x4E: 0.0833, + 0x4F: 0.0833, + 0x50: 0.0833, + 0x51: 0.0833, + 0x52: 0.0833, + 0x53: 0.0833, + 0x54: 0.0833, + 0x55: 0.0278, + 0x58: 0.0833, + 0x5A: 0.0833, + 0x63: 0.0556, + 0x64: 0.167, + 0x65: 0.0556, + 0x66: 0.167, + 0x67: 0.0278, + 0x68: -0.0278, + 0x6C: 0.0833, + 0x6F: 0.0556, + 0x70: 0.0833, + 0x71: 0.0833, + 0x72: 0.0556, + 0x73: 0.0556, + 0x74: 0.0833, + 0x75: 0.0278, + 0x76: 0.0278, + 0x77: 0.0833, + 0x78: 0.0278, + 0x79: 0.0556, + 0x7A: 0.0556, + 0x393: 0.0833, + 0x394: 0.167, + 0x398: 0.0833, + 0x39B: 0.167, + 0x39E: 0.0833, + 0x3A0: 0.0556, + 0x3A3: 0.0833, + 0x3A5: 0.0556, + 0x3A6: 0.0833, + 0x3A8: 0.0556, + 0x3A9: 0.0833, + 0x3B1: 0.0278, + 0x3B2: 0.0833, + 0x3B4: 0.0556, + 0x3B5: 0.0833, + 0x3B6: 0.0833, + 0x3B7: 0.0556, + 0x3B8: 0.0833, + 0x3B9: 0.0556, + 0x3BC: 0.0278, + 0x3BD: 0.0278, + 0x3BE: 0.111, + 0x3BF: 0.0556, + 0x3C1: 0.0833, + 0x3C2: 0.0833, + 0x3C4: 0.0278, + 0x3C5: 0.0278, + 0x3C6: 0.0833, + 0x3C7: 0.0556, + 0x3C8: 0.111, + 0x3D1: 0.0833, + 0x3D5: 0.0833, + 0x3F1: 0.0833, + 0x3F5: 0.0556 + }, + + // SPACE + 0x20: [0,0,250,0,0,''], + + // SOLIDUS + 0x2F: [716,215,778,139,638,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183Q157 -157 378 274T602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 691 406 241T170 -212Q166 -215 159 -215'], + + // LATIN CAPITAL LETTER A + 0x41: [716,0,750,35,726,'208 74Q208 50 254 46Q272 46 272 35Q272 34 270 22Q267 8 264 4T251 0Q249 0 239 0T205 1T141 2Q70 2 50 0H42Q35 7 35 11Q37 38 48 46H62Q132 49 164 96Q170 102 345 401T523 704Q530 716 547 716H555H572Q578 707 578 706L606 383Q634 60 636 57Q641 46 701 46Q726 46 726 36Q726 34 723 22Q720 7 718 4T704 0Q701 0 690 0T651 1T578 2Q484 2 455 0H443Q437 6 437 9T439 27Q443 40 445 43L449 46H469Q523 49 533 63L521 213H283L249 155Q208 86 208 74ZM516 260Q516 271 504 416T490 562L463 519Q447 492 400 412L310 260L413 259Q516 259 516 260'], + + // LATIN CAPITAL LETTER B + 0x42: [683,0,759,35,756,'231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229'], + + // LATIN CAPITAL LETTER C + 0x43: [705,22,715,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252'], + + // LATIN CAPITAL LETTER D + 0x44: [683,0,828,33,803,'287 628Q287 635 230 637Q207 637 200 638T193 647Q193 655 197 667T204 682Q206 683 403 683Q570 682 590 682T630 676Q702 659 752 597T803 431Q803 275 696 151T444 3L430 1L236 0H125H72Q48 0 41 2T33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM703 469Q703 507 692 537T666 584T629 613T590 629T555 636Q553 636 541 636T512 636T479 637H436Q392 637 386 627Q384 623 313 339T242 52Q242 48 253 48T330 47Q335 47 349 47T373 46Q499 46 581 128Q617 164 640 212T683 339T703 469'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,738,31,764,'492 213Q472 213 472 226Q472 230 477 250T482 285Q482 316 461 323T364 330H312Q311 328 277 192T243 52Q243 48 254 48T334 46Q428 46 458 48T518 61Q567 77 599 117T670 248Q680 270 683 272Q690 274 698 274Q718 274 718 261Q613 7 608 2Q605 0 322 0H133Q31 0 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H757Q764 676 764 669Q764 664 751 557T737 447Q735 440 717 440H705Q698 445 698 453L701 476Q704 500 704 528Q704 558 697 578T678 609T643 625T596 632T532 634H485Q397 633 392 631Q388 629 386 622Q385 619 355 499T324 377Q347 376 372 376H398Q464 376 489 391T534 472Q538 488 540 490T557 493Q562 493 565 493T570 492T572 491T574 487T577 483L544 351Q511 218 508 216Q505 213 492 213'], + + // LATIN CAPITAL LETTER F + 0x46: [680,0,643,31,749,'48 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H742Q749 676 749 669Q749 664 736 557T722 447Q720 440 702 440H690Q683 445 683 453Q683 454 686 477T689 530Q689 560 682 579T663 610T626 626T575 633T503 634H480Q398 633 393 631Q388 629 386 623Q385 622 352 492L320 363H375Q378 363 398 363T426 364T448 367T472 374T489 386Q502 398 511 419T524 457T529 475Q532 480 548 480H560Q567 475 567 470Q567 467 536 339T502 207Q500 200 482 200H470Q463 206 463 212Q463 215 468 234T473 274Q473 303 453 310T364 317H309L277 190Q245 66 245 60Q245 46 334 46H359Q365 40 365 39T363 19Q359 6 353 0H336Q295 2 185 2Q120 2 86 2T48 1'], + + // LATIN CAPITAL LETTER G + 0x47: [705,22,786,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q492 659 471 656T418 643T357 615T294 567T236 496T189 394T158 260Q156 242 156 221Q156 173 170 136T206 79T256 45T308 28T353 24Q407 24 452 47T514 106Q517 114 529 161T541 214Q541 222 528 224T468 227H431Q425 233 425 235T427 254Q431 267 437 273H454Q494 271 594 271Q634 271 659 271T695 272T707 272Q721 272 721 263Q721 261 719 249Q714 230 709 228Q706 227 694 227Q674 227 653 224Q646 221 643 215T629 164Q620 131 614 108Q589 6 586 3Q584 1 581 1Q571 1 553 21T530 52Q530 53 528 52T522 47Q448 -22 322 -22Q201 -22 126 55T50 252'], + + // LATIN CAPITAL LETTER H + 0x48: [683,0,831,31,888,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 219 683Q260 681 355 681Q389 681 418 681T463 682T483 682Q499 682 499 672Q499 670 497 658Q492 641 487 638H485Q483 638 480 638T473 638T464 637T455 637Q416 636 405 634T387 623Q384 619 355 500Q348 474 340 442T328 395L324 380Q324 378 469 378H614L615 381Q615 384 646 504Q674 619 674 627T617 637Q594 637 587 639T580 648Q580 650 582 660Q586 677 588 679T604 682Q609 682 646 681T740 680Q802 680 835 681T871 682Q888 682 888 672Q888 645 876 638H874Q872 638 869 638T862 638T853 637T844 637Q805 636 794 634T776 623Q773 618 704 340T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q520 50 522 50T528 55T534 64T540 82T547 110T558 153Q565 181 569 198Q602 330 602 331T457 332H312L279 197Q245 63 245 58Q245 51 253 49T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], + + // LATIN CAPITAL LETTER I + 0x49: [683,0,440,26,504,'43 1Q26 1 26 10Q26 12 29 24Q34 43 39 45Q42 46 54 46H60Q120 46 136 53Q137 53 138 54Q143 56 149 77T198 273Q210 318 216 344Q286 624 286 626Q284 630 284 631Q274 637 213 637H193Q184 643 189 662Q193 677 195 680T209 683H213Q285 681 359 681Q481 681 487 683H497Q504 676 504 672T501 655T494 639Q491 637 471 637Q440 637 407 634Q393 631 388 623Q381 609 337 432Q326 385 315 341Q245 65 245 59Q245 52 255 50T307 46H339Q345 38 345 37T342 19Q338 6 332 0H316Q279 2 179 2Q143 2 113 2T65 2T43 1'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,22,555,57,633,'447 625Q447 637 354 637H329Q323 642 323 645T325 664Q329 677 335 683H352Q393 681 498 681Q541 681 568 681T605 682T619 682Q633 682 633 672Q633 670 630 658Q626 642 623 640T604 637Q552 637 545 623Q541 610 483 376Q420 128 419 127Q397 64 333 21T195 -22Q137 -22 97 8T57 88Q57 130 80 152T132 174Q177 174 182 130Q182 98 164 80T123 56Q115 54 115 53T122 44Q148 15 197 15Q235 15 271 47T324 130Q328 142 387 380T447 625'], + + // LATIN CAPITAL LETTER K + 0x4B: [683,0,849,31,889,'285 628Q285 635 228 637Q205 637 198 638T191 647Q191 649 193 661Q199 681 203 682Q205 683 214 683H219Q260 681 355 681Q389 681 418 681T463 682T483 682Q500 682 500 674Q500 669 497 660Q496 658 496 654T495 648T493 644T490 641T486 639T479 638T470 637T456 637Q416 636 405 634T387 623L306 305Q307 305 490 449T678 597Q692 611 692 620Q692 635 667 637Q651 637 651 648Q651 650 654 662T659 677Q662 682 676 682Q680 682 711 681T791 680Q814 680 839 681T869 682Q889 682 889 672Q889 650 881 642Q878 637 862 637Q787 632 726 586Q710 576 656 534T556 455L509 418L518 396Q527 374 546 329T581 244Q656 67 661 61Q663 59 666 57Q680 47 717 46H738Q744 38 744 37T741 19Q737 6 731 0H720Q680 3 625 3Q503 3 488 0H478Q472 6 472 9T474 27Q478 40 480 43T491 46H494Q544 46 544 71Q544 75 517 141T485 216L427 354L359 301L291 248L268 155Q245 63 245 58Q245 51 253 49T303 46H334Q340 37 340 35Q340 19 333 5Q328 0 317 0Q314 0 280 1T180 2Q118 2 85 2T49 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,2,681,32,647,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 217 683Q271 680 344 680Q485 680 506 683H518Q524 677 524 674T522 656Q517 641 513 637H475Q406 636 394 628Q387 624 380 600T313 336Q297 271 279 198T252 88L243 52Q243 48 252 48T311 46H328Q360 46 379 47T428 54T478 72T522 106T564 161Q580 191 594 228T611 270Q616 273 628 273H641Q647 264 647 262T627 203T583 83T557 9Q555 4 553 3T537 0T494 -1Q483 -1 418 -1T294 0H116Q32 0 32 10Q32 17 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], + + // LATIN CAPITAL LETTER M + 0x4D: [684,0,970,35,1051,'289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629'], + + // LATIN CAPITAL LETTER N + 0x4E: [683,0,803,31,888,'234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637'], + + // LATIN CAPITAL LETTER O + 0x4F: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM637 476Q637 565 591 615T476 665Q396 665 322 605Q242 542 200 428T157 216Q157 126 200 73T314 19Q404 19 485 98T608 313Q637 408 637 476'], + + // LATIN CAPITAL LETTER P + 0x50: [683,0,642,33,751,'287 628Q287 635 230 637Q206 637 199 638T192 648Q192 649 194 659Q200 679 203 681T397 683Q587 682 600 680Q664 669 707 631T751 530Q751 453 685 389Q616 321 507 303Q500 302 402 301H307L277 182Q247 66 247 59Q247 55 248 54T255 50T272 48T305 46H336Q342 37 342 35Q342 19 335 5Q330 0 319 0Q316 0 282 1T182 2Q120 2 87 2T51 1Q33 1 33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM645 554Q645 567 643 575T634 597T609 619T560 635Q553 636 480 637Q463 637 445 637T416 636T404 636Q391 635 386 627Q384 621 367 550T332 412T314 344Q314 342 395 342H407H430Q542 342 590 392Q617 419 631 471T645 554'], + + // LATIN CAPITAL LETTER Q + 0x51: [704,194,791,50,740,'399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18'], + + // LATIN CAPITAL LETTER R + 0x52: [683,21,759,33,755,'230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554'], + + // LATIN CAPITAL LETTER S + 0x53: [705,22,613,52,645,'308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24'], + + // LATIN CAPITAL LETTER T + 0x54: [677,0,584,21,704,'40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40'], + + // LATIN CAPITAL LETTER U + 0x55: [683,22,683,60,767,'107 637Q73 637 71 641Q70 643 70 649Q70 673 81 682Q83 683 98 683Q139 681 234 681Q268 681 297 681T342 682T362 682Q378 682 378 672Q378 670 376 658Q371 641 366 638H364Q362 638 359 638T352 638T343 637T334 637Q295 636 284 634T266 623Q265 621 238 518T184 302T154 169Q152 155 152 140Q152 86 183 55T269 24Q336 24 403 69T501 205L552 406Q599 598 599 606Q599 633 535 637Q511 637 511 648Q511 650 513 660Q517 676 519 679T529 683Q532 683 561 682T645 680Q696 680 723 681T752 682Q767 682 767 672Q767 650 759 642Q756 637 737 637Q666 633 648 597Q646 592 598 404Q557 235 548 205Q515 105 433 42T263 -22Q171 -22 116 34T60 167V183Q60 201 115 421Q164 622 164 628Q164 635 107 637'], + + // LATIN CAPITAL LETTER V + 0x56: [683,22,583,52,769,'52 648Q52 670 65 683H76Q118 680 181 680Q299 680 320 683H330Q336 677 336 674T334 656Q329 641 325 637H304Q282 635 274 635Q245 630 242 620Q242 618 271 369T301 118L374 235Q447 352 520 471T595 594Q599 601 599 609Q599 633 555 637Q537 637 537 648Q537 649 539 661Q542 675 545 679T558 683Q560 683 570 683T604 682T668 681Q737 681 755 683H762Q769 676 769 672Q769 655 760 640Q757 637 743 637Q730 636 719 635T698 630T682 623T670 615T660 608T652 599T645 592L452 282Q272 -9 266 -16Q263 -18 259 -21L241 -22H234Q216 -22 216 -15Q213 -9 177 305Q139 623 138 626Q133 637 76 637H59Q52 642 52 648'], + + // LATIN CAPITAL LETTER W + 0x57: [683,22,944,51,1048,'436 683Q450 683 486 682T553 680Q604 680 638 681T677 682Q695 682 695 674Q695 670 692 659Q687 641 683 639T661 637Q636 636 621 632T600 624T597 615Q597 603 613 377T629 138L631 141Q633 144 637 151T649 170T666 200T690 241T720 295T759 362Q863 546 877 572T892 604Q892 619 873 628T831 637Q817 637 817 647Q817 650 819 660Q823 676 825 679T839 682Q842 682 856 682T895 682T949 681Q1015 681 1034 683Q1048 683 1048 672Q1048 666 1045 655T1038 640T1028 637Q1006 637 988 631T958 617T939 600T927 584L923 578L754 282Q586 -14 585 -15Q579 -22 561 -22Q546 -22 542 -17Q539 -14 523 229T506 480L494 462Q472 425 366 239Q222 -13 220 -15T215 -19Q210 -22 197 -22Q178 -22 176 -15Q176 -12 154 304T131 622Q129 631 121 633T82 637H58Q51 644 51 648Q52 671 64 683H76Q118 680 176 680Q301 680 313 683H323Q329 677 329 674T327 656Q322 641 318 637H297Q236 634 232 620Q262 160 266 136L501 550L499 587Q496 629 489 632Q483 636 447 637Q428 637 422 639T416 648Q416 650 418 660Q419 664 420 669T421 676T424 680T428 682T436 683'], + + // LATIN CAPITAL LETTER X + 0x58: [683,0,828,26,852,'42 0H40Q26 0 26 11Q26 15 29 27Q33 41 36 43T55 46Q141 49 190 98Q200 108 306 224T411 342Q302 620 297 625Q288 636 234 637H206Q200 643 200 645T202 664Q206 677 212 683H226Q260 681 347 681Q380 681 408 681T453 682T473 682Q490 682 490 671Q490 670 488 658Q484 643 481 640T465 637Q434 634 411 620L488 426L541 485Q646 598 646 610Q646 628 622 635Q617 635 609 637Q594 637 594 648Q594 650 596 664Q600 677 606 683H618Q619 683 643 683T697 681T738 680Q828 680 837 683H845Q852 676 852 672Q850 647 840 637H824Q790 636 763 628T722 611T698 593L687 584Q687 585 592 480L505 384Q505 383 536 304T601 142T638 56Q648 47 699 46Q734 46 734 37Q734 35 732 23Q728 7 725 4T711 1Q708 1 678 1T589 2Q528 2 496 2T461 1Q444 1 444 10Q444 11 446 25Q448 35 450 39T455 44T464 46T480 47T506 54Q523 62 523 64Q522 64 476 181L429 299Q241 95 236 84Q232 76 232 72Q232 53 261 47Q262 47 267 47T273 46Q276 46 277 46T280 45T283 42T284 35Q284 26 282 19Q279 6 276 4T261 1Q258 1 243 1T201 2T142 2Q64 2 42 0'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,-1,581,30,763,'66 637Q54 637 49 637T39 638T32 641T30 647T33 664T42 682Q44 683 56 683Q104 680 165 680Q288 680 306 683H316Q322 677 322 674T320 656Q316 643 310 637H298Q242 637 242 624Q242 619 292 477T343 333L346 336Q350 340 358 349T379 373T411 410T454 461Q546 568 561 587T577 618Q577 634 545 637Q528 637 528 647Q528 649 530 661Q533 676 535 679T549 683Q551 683 578 682T657 680Q684 680 713 681T746 682Q763 682 763 673Q763 669 760 657T755 643Q753 637 734 637Q662 632 617 587Q608 578 477 424L348 273L322 169Q295 62 295 57Q295 46 363 46Q379 46 384 45T390 35Q390 33 388 23Q384 6 382 4T366 1Q361 1 324 1T232 2Q170 2 138 2T102 1Q84 1 84 9Q84 14 87 24Q88 27 89 30T90 35T91 39T93 42T96 44T101 45T107 45T116 46T129 46Q168 47 180 50T198 63Q201 68 227 171L252 274L129 623Q128 624 127 625T125 627T122 629T118 631T113 633T105 634T96 635T83 636T66 637'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,0,683,58,723,'58 8Q58 23 64 35Q64 36 329 334T596 635L586 637Q575 637 512 637H500H476Q442 637 420 635T365 624T311 598T266 548T228 469Q227 466 226 463T224 458T223 453T222 450L221 448Q218 443 202 443Q185 443 182 453L214 561Q228 606 241 651Q249 679 253 681Q256 683 487 683H718Q723 678 723 675Q723 673 717 649Q189 54 188 52L185 49H274Q369 50 377 51Q452 60 500 100T579 247Q587 272 590 277T603 282H607Q628 282 628 271Q547 5 541 2Q538 0 300 0H124Q58 0 58 8'], + + // LATIN SMALL LETTER A + 0x61: [441,10,529,33,506,'33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328'], + + // LATIN SMALL LETTER B + 0x62: [694,11,429,40,422,'73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325'], + + // LATIN SMALL LETTER C + 0x63: [442,12,433,34,430,'34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159'], + + // LATIN SMALL LETTER D + 0x64: [694,10,520,33,523,'366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], + + // LATIN SMALL LETTER E + 0x65: [443,11,466,39,430,'39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353'], + + // LATIN SMALL LETTER F + 0x66: [705,205,490,55,550,'118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162'], + + // LATIN SMALL LETTER G + 0x67: [442,205,477,10,480,'311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328'], + + // LATIN SMALL LETTER H + 0x68: [694,11,576,48,555,'137 683Q138 683 209 688T282 694Q294 694 294 685Q294 674 258 534Q220 386 220 383Q220 381 227 388Q288 442 357 442Q411 442 444 415T478 336Q478 285 440 178T402 50Q403 36 407 31T422 26Q450 26 474 56T513 138Q516 149 519 151T535 153Q555 153 555 145Q555 144 551 130Q535 71 500 33Q466 -10 419 -10H414Q367 -10 346 17T325 74Q325 90 361 192T398 345Q398 404 354 404H349Q266 404 205 306L198 293L164 158Q132 28 127 16Q114 -11 83 -11Q69 -11 59 -2T48 16Q48 30 121 320L195 616Q195 629 188 632T149 637H128Q122 643 122 645T124 664Q129 683 137 683'], + + // LATIN SMALL LETTER I + 0x69: [661,11,345,21,302,'184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER J + 0x6A: [661,204,412,-12,403,'297 596Q297 627 318 644T361 661Q378 661 389 651T403 623Q403 595 384 576T340 557Q322 557 310 567T297 596ZM288 376Q288 405 262 405Q240 405 220 393T185 362T161 325T144 293L137 279Q135 278 121 278H107Q101 284 101 286T105 299Q126 348 164 391T252 441Q253 441 260 441T272 442Q296 441 316 432Q341 418 354 401T367 348V332L318 133Q267 -67 264 -75Q246 -125 194 -164T75 -204Q25 -204 7 -183T-12 -137Q-12 -110 7 -91T53 -71Q70 -71 82 -81T95 -112Q95 -148 63 -167Q69 -168 77 -168Q111 -168 139 -140T182 -74L193 -32Q204 11 219 72T251 197T278 308T289 365Q289 372 288 376'], + + // LATIN SMALL LETTER K + 0x6B: [694,11,521,48,503,'121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647'], + + // LATIN SMALL LETTER L + 0x6C: [695,12,298,38,266,'117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59'], + + // LATIN SMALL LETTER M + 0x6D: [443,11,878,21,857,'21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER N + 0x6E: [443,11,600,21,580,'21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER O + 0x6F: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], + + // LATIN SMALL LETTER P + 0x70: [443,194,503,-39,497,'23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102'], + + // LATIN SMALL LETTER Q + 0x71: [442,194,446,33,460,'33 157Q33 258 109 349T280 441Q340 441 372 389Q373 390 377 395T388 406T404 418Q438 442 450 442Q454 442 457 439T460 434Q460 425 391 149Q320 -135 320 -139Q320 -147 365 -148H390Q396 -156 396 -157T393 -175Q389 -188 383 -194H370Q339 -192 262 -192Q234 -192 211 -192T174 -192T157 -193Q143 -193 143 -185Q143 -182 145 -170Q149 -154 152 -151T172 -148Q220 -148 230 -141Q238 -136 258 -53T279 32Q279 33 272 29Q224 -10 172 -10Q117 -10 75 30T33 157ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], + + // LATIN SMALL LETTER R + 0x72: [443,11,451,21,430,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q161 442 183 430T214 408T225 388Q227 382 228 382T236 389Q284 441 347 441H350Q398 441 422 400Q430 381 430 363Q430 333 417 315T391 292T366 288Q346 288 334 299T322 328Q322 376 378 392Q356 405 342 405Q286 405 239 331Q229 315 224 298T190 165Q156 25 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER S + 0x73: [443,10,469,53,419,'131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289'], + + // LATIN SMALL LETTER T + 0x74: [626,11,361,19,330,'26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26'], + + // LATIN SMALL LETTER U + 0x75: [442,11,572,21,551,'21 287Q21 295 30 318T55 370T99 420T158 442Q204 442 227 417T250 358Q250 340 216 246T182 105Q182 62 196 45T238 27T291 44T328 78L339 95Q341 99 377 247Q407 367 413 387T427 416Q444 431 463 431Q480 431 488 421T496 402L420 84Q419 79 419 68Q419 43 426 35T447 26Q469 29 482 57T512 145Q514 153 532 153Q551 153 551 144Q550 139 549 130T540 98T523 55T498 17T462 -8Q454 -10 438 -10Q372 -10 347 46Q345 45 336 36T318 21T296 6T267 -6T233 -11Q189 -11 155 7Q103 38 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER V + 0x76: [443,11,485,21,467,'173 380Q173 405 154 405Q130 405 104 376T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Q21 294 29 316T53 368T97 419T160 441Q202 441 225 417T249 361Q249 344 246 335Q246 329 231 291T200 202T182 113Q182 86 187 69Q200 26 250 26Q287 26 319 60T369 139T398 222T409 277Q409 300 401 317T383 343T365 361T357 383Q357 405 376 424T417 443Q436 443 451 425T467 367Q467 340 455 284T418 159T347 40T241 -11Q177 -11 139 22Q102 54 102 117Q102 148 110 181T151 298Q173 362 173 380'], + + // LATIN SMALL LETTER W + 0x77: [443,11,716,21,690,'580 385Q580 406 599 424T641 443Q659 443 674 425T690 368Q690 339 671 253Q656 197 644 161T609 80T554 12T482 -11Q438 -11 404 5T355 48Q354 47 352 44Q311 -11 252 -11Q226 -11 202 -5T155 14T118 53T104 116Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 293 29 315T52 366T96 418T161 441Q204 441 227 416T250 358Q250 340 217 250T184 111Q184 65 205 46T258 26Q301 26 334 87L339 96V119Q339 122 339 128T340 136T341 143T342 152T345 165T348 182T354 206T362 238T373 281Q402 395 406 404Q419 431 449 431Q468 431 475 421T483 402Q483 389 454 274T422 142Q420 131 420 107V100Q420 85 423 71T442 42T487 26Q558 26 600 148Q609 171 620 213T632 273Q632 306 619 325T593 357T580 385'], + + // LATIN SMALL LETTER X + 0x78: [442,11,572,35,522,'52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289'], + + // LATIN SMALL LETTER Y + 0x79: [443,205,490,21,497,'21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER Z + 0x7A: [442,11,465,35,468,'347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,-1,615,31,721,'49 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H714Q721 676 721 669Q721 664 708 557T694 447Q692 440 674 440H662Q655 445 655 454Q655 455 658 480T661 534Q661 572 652 592Q638 619 603 626T501 634H471Q398 633 393 630Q389 628 386 622Q385 619 315 341T245 60Q245 46 333 46H345Q366 46 366 35Q366 33 363 21T358 6Q356 1 339 1Q334 1 292 1T187 2Q122 2 88 2T49 1'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [716,0,833,48,788,'574 715L582 716Q589 716 595 716Q612 716 616 714Q621 712 621 709Q622 707 705 359T788 8Q786 5 785 3L781 0H416Q52 0 50 2T48 6Q48 9 305 358T567 711Q572 712 574 715ZM599 346L538 602L442 474Q347 345 252 217T157 87T409 86T661 88L654 120Q646 151 629 220T599 346'], + + // GREEK CAPITAL LETTER THETA + 0x398: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM640 466Q640 523 625 565T583 628T532 658T479 668Q370 668 273 559T151 255Q150 245 150 213Q150 156 165 116T207 55T259 26T313 17Q385 17 451 63T561 184Q590 234 615 312T640 466ZM510 276Q510 278 512 288L515 298Q515 299 384 299H253L250 285Q246 271 244 268T231 265H227Q216 265 214 266T207 274Q207 278 223 345T244 416Q247 419 260 419H263Q280 419 280 408Q280 406 278 396L275 386Q275 385 406 385H537L540 399Q544 413 546 416T559 419H563Q574 419 576 418T583 410Q583 403 566 339Q549 271 544 267Q542 265 538 265H530H527Q510 265 510 276'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [716,0,694,35,670,'135 2Q114 2 90 2T60 1Q35 1 35 11Q35 28 42 40Q45 46 55 46Q119 46 151 94Q153 97 325 402T498 709Q505 716 526 716Q543 716 549 710Q550 709 560 548T580 224T591 57Q594 52 595 52Q603 47 638 46H663Q670 39 670 35Q669 12 657 0H644Q613 2 530 2Q497 2 469 2T424 2T405 1Q388 1 388 10Q388 15 391 24Q392 27 393 32T395 38T397 41T401 44T406 45T415 46Q473 46 487 64L472 306Q468 365 465 426T459 518L457 550Q456 550 328 322T198 88Q196 80 196 77Q196 49 243 46Q261 46 261 35Q261 34 259 22Q256 7 254 4T240 0Q237 0 211 1T135 2'], + + // GREEK CAPITAL LETTER XI + 0x39E: [678,0,742,53,777,'222 668Q222 670 229 677H654Q677 677 705 677T740 678Q764 678 770 676T777 667Q777 662 764 594Q761 579 757 559T751 528L749 519Q747 512 729 512H717Q710 519 710 525Q712 532 715 559T719 591Q718 595 711 595Q682 598 486 598Q252 598 246 592Q239 587 228 552L216 517Q214 512 197 512H185Q178 517 178 522Q178 524 198 591T222 668ZM227 262Q218 262 215 262T209 266L207 270L227 356Q247 435 250 439Q253 443 260 443H267H280Q287 438 287 433Q287 430 285 420T280 402L278 393Q278 392 431 392H585L590 415Q595 436 598 439T612 443H628Q635 438 635 433Q635 431 615 351T594 268Q592 262 575 262H572Q556 262 556 272Q556 280 560 293L565 313H258L252 292Q248 271 245 267T230 262H227ZM60 0Q53 4 53 11Q53 14 68 89T84 169Q88 176 98 176H104H116Q123 169 123 163Q122 160 117 127T112 88Q112 80 243 80H351H454Q554 80 574 81T597 88V89Q603 100 610 121T622 157T630 174Q633 176 646 176H658Q665 171 665 166Q665 164 643 89T618 7Q616 2 607 1T548 0H335H60'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [681,0,831,31,887,'48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H541Q621 680 709 680T812 681Q841 681 855 681T877 679T886 676T887 670Q887 663 885 656Q880 637 875 635Q871 634 860 634H854Q827 634 794 631Q780 628 775 619Q773 614 704 338T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q528 52 533 61Q536 67 572 209T642 491T678 632Q678 634 533 634H388Q387 631 316 347T245 59Q245 55 246 54T253 50T270 48T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [683,0,780,58,806,'65 0Q58 4 58 11Q58 16 114 67Q173 119 222 164L377 304Q378 305 340 386T261 552T218 644Q217 648 219 660Q224 678 228 681Q231 683 515 683H799Q804 678 806 674Q806 667 793 559T778 448Q774 443 759 443Q747 443 743 445T739 456Q739 458 741 477T743 516Q743 552 734 574T710 609T663 627T596 635T502 637Q480 637 469 637H339Q344 627 411 486T478 341V339Q477 337 477 336L457 318Q437 300 398 265T322 196L168 57Q167 56 188 56T258 56H359Q426 56 463 58T537 69T596 97T639 146T680 225Q686 243 689 246T702 250H705Q726 250 726 239Q726 238 683 123T639 5Q637 1 610 1Q577 0 348 0H65'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [706,0,583,28,700,'45 535Q34 535 31 536T28 544Q28 554 39 578T70 631T126 683T206 705Q230 705 251 698T295 671T330 612T344 514Q344 477 342 473V472Q343 472 347 480T361 509T380 547Q471 704 596 704Q615 704 625 702Q659 692 679 663T700 595Q700 565 696 552T687 537T670 535Q656 535 653 536T649 543Q649 544 649 550T650 562Q650 589 629 605T575 621Q502 621 448 547T365 361Q290 70 290 60Q290 46 379 46H404Q410 40 410 39T408 19Q404 6 398 0H381Q340 2 225 2Q184 2 149 2T94 2T69 1Q61 1 58 1T53 4T51 10Q51 11 53 23Q54 25 55 30T56 36T58 40T60 43T62 44T67 46T73 46T82 46H89Q144 46 163 49T190 62L198 93Q206 124 217 169T241 262T262 350T274 404Q281 445 281 486V494Q281 621 185 621Q147 621 116 601T74 550Q71 539 66 537T45 535'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [683,0,667,24,642,'356 624Q356 637 267 637H243Q237 642 237 645T239 664Q243 677 249 683H264Q342 681 429 681Q565 681 571 683H583Q589 677 589 674T587 656Q582 641 578 637H540Q516 637 504 637T479 633T463 630T454 623T448 613T443 597T438 576Q436 566 434 556T430 539L428 533Q442 533 472 526T543 502T613 451T642 373Q642 301 567 241T386 158L336 150Q332 150 331 146Q310 66 310 60Q310 46 399 46H424Q430 40 430 39T428 19Q424 6 418 0H401Q360 2 247 2Q207 2 173 2T119 2T95 1Q87 1 84 1T79 4T77 10Q77 11 79 23Q80 25 81 30T82 36T84 40T86 43T88 44T93 46T99 46T108 46H115Q170 46 189 49T216 62Q220 74 228 107L239 150L223 152Q139 164 82 205T24 311Q24 396 125 462Q207 517 335 533L346 578Q356 619 356 624ZM130 291Q130 203 241 188H249Q249 190 287 342L325 495H324Q313 495 291 491T229 466T168 414Q130 357 130 291ZM536 393Q536 440 507 463T418 496L341 187L351 189Q443 201 487 255Q536 314 536 393'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [683,0,612,21,692,'216 151Q48 174 48 329Q48 361 56 403T65 458Q65 482 58 494T43 507T28 510T21 520Q21 528 23 534T29 544L32 546H72H94Q110 546 119 544T139 536T154 514T159 476V465Q159 445 149 399T138 314Q142 229 197 201Q223 187 226 190L233 218Q240 246 253 300T280 407Q333 619 333 625Q333 637 244 637H220Q214 642 214 645T216 664Q220 677 226 683H241Q321 681 405 681Q543 681 549 683H560Q566 677 566 674T564 656Q559 641 555 637H517Q448 636 436 628Q429 623 423 600T373 404L320 192Q370 201 419 248Q451 281 469 317T500 400T518 457Q529 486 542 505T569 532T594 543T621 546H644H669Q692 546 692 536Q691 509 676 509Q623 509 593 399Q587 377 579 355T552 301T509 244T446 195T359 159Q324 151 314 151Q311 151 310 150T298 106T287 60Q287 46 376 46H401Q407 40 407 39T405 19Q401 6 395 0H378Q337 2 224 2Q184 2 150 2T96 2T72 1Q64 1 61 1T56 4T54 10Q54 11 56 23Q57 25 58 30T59 36T61 40T63 43T65 44T70 46T76 46T85 46H92Q147 46 166 49T193 62L204 106Q216 149 216 151'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [704,0,772,80,786,'125 84Q127 78 194 76H243V78Q243 122 208 215T165 350Q164 359 162 389Q162 522 272 610Q328 656 396 680T525 704Q628 704 698 661Q734 637 755 601T781 544T786 504Q786 439 747 374T635 226T537 109Q518 81 518 77Q537 76 557 76Q608 76 620 78T640 92Q646 100 656 119T673 155T683 172Q690 173 698 173Q718 173 718 162Q718 161 681 82T642 2Q639 0 550 0H461Q455 5 455 9T458 28Q472 78 510 149T584 276T648 402T677 525Q677 594 636 631T530 668Q476 668 423 641T335 568Q284 499 271 400Q270 388 270 348Q270 298 277 228T285 115Q285 82 280 49T271 6Q269 1 258 1T175 0H87Q83 3 80 7V18Q80 22 82 98Q84 156 85 163T91 172Q94 173 104 173T119 172Q124 169 124 126Q125 104 125 84'], + + // GREEK SMALL LETTER ALPHA + 0x3B1: [442,11,640,34,603,'34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26'], + + // GREEK SMALL LETTER BETA + 0x3B2: [705,194,566,23,573,'29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431'], + + // GREEK SMALL LETTER GAMMA + 0x3B3: [441,216,518,11,543,'31 249Q11 249 11 258Q11 275 26 304T66 365T129 418T206 441Q233 441 239 440Q287 429 318 386T371 255Q385 195 385 170Q385 166 386 166L398 193Q418 244 443 300T486 391T508 430Q510 431 524 431H537Q543 425 543 422Q543 418 522 378T463 251T391 71Q385 55 378 6T357 -100Q341 -165 330 -190T303 -216Q286 -216 286 -188Q286 -138 340 32L346 51L347 69Q348 79 348 100Q348 257 291 317Q251 355 196 355Q148 355 108 329T51 260Q49 251 47 251Q45 249 31 249'], + + // GREEK SMALL LETTER DELTA + 0x3B4: [717,10,444,36,451,'195 609Q195 656 227 686T302 717Q319 716 351 709T407 697T433 690Q451 682 451 662Q451 644 438 628T403 612Q382 612 348 641T288 671T249 657T235 628Q235 584 334 463Q401 379 401 292Q401 169 340 80T205 -10H198Q127 -10 83 36T36 153Q36 286 151 382Q191 413 252 434Q252 435 245 449T230 481T214 521T201 566T195 609ZM112 130Q112 83 136 55T204 27Q233 27 256 51T291 111T309 178T316 232Q316 267 309 298T295 344T269 400L259 396Q215 381 183 342T137 256T118 179T112 130'], + + // GREEK SMALL LETTER EPSILON + 0x3B5: [452,23,466,27,428,'190 -22Q124 -22 76 11T27 107Q27 174 97 232L107 239L99 248Q76 273 76 304Q76 364 144 408T290 452H302Q360 452 405 421Q428 405 428 392Q428 381 417 369T391 356Q382 356 371 365T338 383T283 392Q217 392 167 368T116 308Q116 289 133 272Q142 263 145 262T157 264Q188 278 238 278H243Q308 278 308 247Q308 206 223 206Q177 206 142 219L132 212Q68 169 68 112Q68 39 201 39Q253 39 286 49T328 72T345 94T362 105Q376 103 376 88Q376 79 365 62T334 26T275 -8T190 -22'], + + // GREEK SMALL LETTER ZETA + 0x3B6: [704,204,438,44,471,'296 643Q298 704 324 704Q342 704 342 687Q342 682 339 664T336 633Q336 623 337 618T338 611Q339 612 341 612Q343 614 354 616T374 618L384 619H394Q471 619 471 586Q467 548 386 546H372Q338 546 320 564L311 558Q235 506 175 398T114 190Q114 171 116 155T125 127T137 104T153 86T171 72T192 61T213 53T235 46T256 39L322 16Q389 -10 389 -80Q389 -119 364 -154T300 -202Q292 -204 274 -204Q247 -204 225 -196Q210 -192 193 -182T172 -167Q167 -159 173 -148Q180 -139 191 -139Q195 -139 221 -153T283 -168Q298 -166 310 -152T322 -117Q322 -91 302 -75T250 -51T183 -29T116 4T65 62T44 160Q44 287 121 410T293 590L302 595Q296 613 296 643'], + + // GREEK SMALL LETTER ETA + 0x3B7: [443,216,497,21,503,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q156 442 175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336V326Q503 302 439 53Q381 -182 377 -189Q364 -216 332 -216Q319 -216 310 -208T299 -186Q299 -177 358 57L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // GREEK SMALL LETTER THETA + 0x3B8: [705,10,469,35,462,'35 200Q35 302 74 415T180 610T319 704Q320 704 327 704T339 705Q393 701 423 656Q462 596 462 495Q462 380 417 261T302 66T168 -10H161Q125 -10 99 10T60 63T41 130T35 200ZM383 566Q383 668 330 668Q294 668 260 623T204 521T170 421T157 371Q206 370 254 370L351 371Q352 372 359 404T375 484T383 566ZM113 132Q113 26 166 26Q181 26 198 36T239 74T287 161T335 307L340 324H145Q145 321 136 286T120 208T113 132'], + + // GREEK SMALL LETTER IOTA + 0x3B9: [442,10,354,48,333,'139 -10Q111 -10 92 0T64 25T52 52T48 74Q48 89 55 109T85 199T135 375L137 384Q139 394 140 397T145 409T151 422T160 431T173 439T190 442Q202 442 213 435T225 410Q225 404 214 358T181 238T137 107Q126 74 126 54Q126 43 126 39T130 31T142 27H147Q206 27 255 78Q272 98 281 114T290 138T295 149T313 153Q321 153 324 153T329 152T332 149T332 143Q332 106 276 48T145 -10H139'], + + // GREEK SMALL LETTER KAPPA + 0x3BA: [442,11,576,48,554,'83 -11Q70 -11 62 -4T51 8T49 17Q49 30 96 217T147 414Q160 442 193 442Q205 441 213 435T223 422T225 412Q225 401 208 337L192 270Q193 269 208 277T235 292Q252 304 306 349T396 412T467 431Q489 431 500 420T512 391Q512 366 494 347T449 327Q430 327 418 338T405 368Q405 370 407 380L397 375Q368 360 315 315L253 266L240 257H245Q262 257 300 251T366 230Q422 203 422 150Q422 140 417 114T411 67Q411 26 437 26Q484 26 513 137Q516 149 519 151T535 153Q554 153 554 144Q554 121 527 64T457 -7Q447 -10 431 -10Q386 -10 360 17T333 90Q333 108 336 122T339 146Q339 170 320 186T271 209T222 218T185 221H180L155 122Q129 22 126 16Q113 -11 83 -11'], + + // GREEK SMALL LETTER LAMDA + 0x3BB: [694,12,583,47,557,'166 673Q166 685 183 694H202Q292 691 316 644Q322 629 373 486T474 207T524 67Q531 47 537 34T546 15T551 6T555 2T556 -2T550 -11H482Q457 3 450 18T399 152L354 277L340 262Q327 246 293 207T236 141Q211 112 174 69Q123 9 111 -1T83 -12Q47 -12 47 20Q47 37 61 52T199 187Q229 216 266 252T321 306L338 322Q338 323 288 462T234 612Q214 657 183 657Q166 657 166 673'], + + // GREEK SMALL LETTER MU + 0x3BC: [442,216,603,23,580,'58 -216Q44 -216 34 -208T23 -186Q23 -176 96 116T173 414Q186 442 219 442Q231 441 239 435T249 423T251 413Q251 401 220 279T187 142Q185 131 185 107V99Q185 26 252 26Q261 26 270 27T287 31T302 38T315 45T327 55T338 65T348 77T356 88T365 100L372 110L408 253Q444 395 448 404Q461 431 491 431Q504 431 512 424T523 412T525 402L449 84Q448 79 448 68Q448 43 455 35T476 26Q485 27 496 35Q517 55 537 131Q543 151 547 152Q549 153 557 153H561Q580 153 580 144Q580 138 575 117T555 63T523 13Q510 0 491 -8Q483 -10 467 -10Q446 -10 429 -4T402 11T385 29T376 44T374 51L368 45Q362 39 350 30T324 12T288 -4T246 -11Q199 -11 153 12L129 -85Q108 -167 104 -180T92 -202Q76 -216 58 -216'], + + // GREEK SMALL LETTER NU + 0x3BD: [442,2,494,45,530,'74 431Q75 431 146 436T219 442Q231 442 231 434Q231 428 185 241L137 51H140L150 55Q161 59 177 67T214 86T261 119T312 165Q410 264 445 394Q458 442 496 442Q509 442 519 434T530 411Q530 390 516 352T469 262T388 162T267 70T106 5Q81 -2 71 -2Q66 -2 59 -1T51 1Q45 5 45 11Q45 13 88 188L132 364Q133 377 125 380T86 385H65Q59 391 59 393T61 412Q65 431 74 431'], + + // GREEK SMALL LETTER XI + 0x3BE: [704,205,438,21,443,'268 632Q268 704 296 704Q314 704 314 687Q314 682 311 664T308 635T309 620V616H315Q342 619 360 619Q443 619 443 586Q439 548 358 546H344Q326 546 317 549T290 566Q257 550 226 505T195 405Q195 381 201 364T211 342T218 337Q266 347 298 347Q375 347 375 314Q374 297 359 288T327 277T280 275Q234 275 208 283L195 286Q149 260 119 214T88 130Q88 116 90 108Q101 79 129 63T229 20Q238 17 243 15Q337 -21 354 -33Q383 -53 383 -94Q383 -137 351 -171T273 -205Q240 -205 202 -190T158 -167Q156 -163 156 -159Q156 -151 161 -146T176 -140Q182 -140 189 -143Q232 -168 274 -168Q286 -168 292 -165Q313 -151 313 -129Q313 -112 301 -104T232 -75Q214 -68 204 -64Q198 -62 171 -52T136 -38T107 -24T78 -8T56 12T36 37T26 66T21 103Q21 149 55 206T145 301L154 307L148 313Q141 319 136 323T124 338T111 358T103 382T99 413Q99 471 143 524T259 602L271 607Q268 618 268 632'], + + // GREEK SMALL LETTER OMICRON + 0x3BF: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], + + // GREEK SMALL LETTER PI + 0x3C0: [431,11,570,19,573,'132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11'], + + // GREEK SMALL LETTER RHO + 0x3C1: [442,216,517,23,510,'58 -216Q25 -216 23 -186Q23 -176 73 26T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 219 486 165T425 74T345 13T266 -10H255H248Q197 -10 165 35L160 41L133 -71Q108 -168 104 -181T92 -202Q76 -216 58 -216ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q217 269 193 170L176 102Q193 26 260 26Q298 26 334 62Q367 92 389 158T418 266T424 322'], + + // GREEK SMALL LETTER FINAL SIGMA + 0x3C2: [442,107,363,30,405,'31 207Q31 306 115 374T302 442Q341 442 373 430T405 400Q405 392 399 383T379 374Q373 375 348 390T296 405Q222 405 160 357T98 249Q98 232 103 218T112 195T132 175T154 159T186 141T219 122Q234 114 255 102T286 85T299 78L302 74Q306 71 308 69T315 61T322 51T328 40T332 25T334 8Q334 -31 305 -69T224 -107Q194 -107 163 -92Q156 -88 156 -80Q156 -73 162 -67T178 -61Q186 -61 190 -63Q209 -71 224 -71Q244 -71 253 -59T263 -30Q263 -25 263 -21T260 -12T255 -4T248 3T239 9T227 17T213 25T195 34T174 46Q170 48 150 58T122 74T97 90T70 112T51 137T36 169T31 207'], + + // GREEK SMALL LETTER SIGMA + 0x3C3: [431,11,571,31,572,'184 -11Q116 -11 74 34T31 147Q31 247 104 333T274 430Q275 431 414 431H552Q553 430 555 429T559 427T562 425T565 422T567 420T569 416T570 412T571 407T572 401Q572 357 507 357Q500 357 490 357T476 358H416L421 348Q439 310 439 263Q439 153 359 71T184 -11ZM361 278Q361 358 276 358Q152 358 115 184Q114 180 114 178Q106 141 106 117Q106 67 131 47T188 26Q242 26 287 73Q316 103 334 153T356 233T361 278'], + + // GREEK SMALL LETTER TAU + 0x3C4: [431,13,437,18,517,'39 284Q18 284 18 294Q18 301 45 338T99 398Q134 425 164 429Q170 431 332 431Q492 431 497 429Q517 424 517 402Q517 388 508 376T485 360Q479 358 389 358T299 356Q298 355 283 274T251 109T233 20Q228 5 215 -4T186 -13Q153 -13 153 20V30L203 192Q214 228 227 272T248 336L254 357Q254 358 208 358Q206 358 197 358T183 359Q105 359 61 295Q56 287 53 286T39 284'], + + // GREEK SMALL LETTER UPSILON + 0x3C5: [443,10,540,21,523,'413 384Q413 406 432 424T473 443Q492 443 507 425T523 367Q523 334 508 270T468 153Q424 63 373 27T282 -10H268Q220 -10 186 2T135 36T111 78T104 121Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441Q200 441 225 419T250 355Q248 336 247 334Q247 331 232 291T201 199T185 118Q185 68 211 47T275 26Q317 26 355 57T416 132T452 216T465 277Q465 301 457 318T439 343T421 361T413 384'], + + // GREEK SMALL LETTER PHI + 0x3C6: [442,218,654,50,618,'92 210Q92 176 106 149T142 108T185 85T220 72L235 70L237 71L250 112Q268 170 283 211T322 299T370 375T429 423T502 442Q547 442 582 410T618 302Q618 224 575 152T457 35T299 -10Q273 -10 273 -12L266 -48Q260 -83 252 -125T241 -179Q236 -203 215 -212Q204 -218 190 -218Q159 -215 159 -185Q159 -175 214 -2L209 0Q204 2 195 5T173 14T147 28T120 46T94 71T71 103T56 142T50 190Q50 238 76 311T149 431H162Q183 431 183 423Q183 417 175 409Q134 361 114 300T92 210ZM574 278Q574 320 550 344T486 369Q437 369 394 329T323 218Q309 184 295 109L286 64Q304 62 306 62Q423 62 498 131T574 278'], + + // GREEK SMALL LETTER CHI + 0x3C7: [443,204,626,24,600,'576 -125Q576 -147 547 -175T487 -204H476Q394 -204 363 -157Q334 -114 293 26L284 59Q283 58 248 19T170 -66T92 -151T53 -191Q49 -194 43 -194Q36 -194 31 -189T25 -177T38 -154T151 -30L272 102L265 131Q189 405 135 405Q104 405 87 358Q86 351 68 351Q48 351 48 361Q48 369 56 386T89 423T148 442Q224 442 258 400Q276 375 297 320T330 222L341 180Q344 180 455 303T573 429Q579 431 582 431Q600 431 600 414Q600 407 587 392T477 270Q356 138 353 134L362 102Q392 -10 428 -89T490 -168Q504 -168 517 -156T536 -126Q539 -116 543 -115T557 -114T571 -115Q576 -118 576 -125'], + + // GREEK SMALL LETTER PSI + 0x3C8: [694,205,651,21,634,'161 441Q202 441 226 417T250 358Q250 338 218 252T187 127Q190 85 214 61Q235 43 257 37Q275 29 288 29H289L371 360Q455 691 456 692Q459 694 472 694Q492 694 492 687Q492 678 411 356Q329 28 329 27T335 26Q421 26 498 114T576 278Q576 302 568 319T550 343T532 361T524 384Q524 405 541 424T583 443Q602 443 618 425T634 366Q634 337 623 288T605 220Q573 125 492 57T329 -11H319L296 -104Q272 -198 272 -199Q270 -205 252 -205H239Q233 -199 233 -197Q233 -192 256 -102T279 -9Q272 -8 265 -8Q106 14 106 139Q106 174 139 264T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441'], + + // GREEK SMALL LETTER OMEGA + 0x3C9: [443,12,622,15,604,'495 384Q495 406 514 424T555 443Q574 443 589 425T604 364Q604 334 592 278T555 155T483 38T377 -11Q297 -11 267 66Q266 68 260 61Q201 -11 125 -11Q15 -11 15 139Q15 230 56 325T123 434Q135 441 147 436Q160 429 160 418Q160 406 140 379T94 306T62 208Q61 202 61 187Q61 124 85 100T143 76Q201 76 245 129L253 137V156Q258 297 317 297Q348 297 348 261Q348 243 338 213T318 158L308 135Q309 133 310 129T318 115T334 97T358 83T393 76Q456 76 501 148T546 274Q546 305 533 325T508 357T495 384'], + + // GREEK THETA SYMBOL + 0x3D1: [705,11,591,21,563,'537 500Q537 474 533 439T524 383L521 362Q558 355 561 351Q563 349 563 345Q563 321 552 318Q542 318 521 323L510 326Q496 261 459 187T362 51T241 -11Q100 -11 100 105Q100 139 127 242T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287Q21 291 27 313T47 368T79 418Q103 442 134 442Q169 442 201 419T233 344Q232 330 206 228T180 98Q180 26 247 26Q292 26 332 90T404 260L427 349Q422 349 398 359T339 392T289 440Q265 476 265 520Q265 590 312 647T417 705Q463 705 491 670T528 592T537 500ZM464 564Q464 668 413 668Q373 668 339 622T304 522Q304 494 317 470T349 431T388 406T421 391T435 387H436L443 415Q450 443 457 485T464 564'], + + // GREEK PHI SYMBOL + 0x3D5: [694,205,596,42,579,'409 688Q413 694 421 694H429H442Q448 688 448 686Q448 679 418 563Q411 535 404 504T392 458L388 442Q388 441 397 441T429 435T477 418Q521 397 550 357T579 260T548 151T471 65T374 11T279 -10H275L251 -105Q245 -128 238 -160Q230 -192 227 -198T215 -205H209Q189 -205 189 -198Q189 -193 211 -103L234 -11Q234 -10 226 -10Q221 -10 206 -8T161 6T107 36T62 89T43 171Q43 231 76 284T157 370T254 422T342 441Q347 441 348 445L378 567Q409 686 409 688ZM122 150Q122 116 134 91T167 53T203 35T237 27H244L337 404Q333 404 326 403T297 395T255 379T211 350T170 304Q152 276 137 237Q122 191 122 150ZM500 282Q500 320 484 347T444 385T405 400T381 404H378L332 217L284 29Q284 27 285 27Q293 27 317 33T357 47Q400 66 431 100T475 170T494 234T500 282'], + + // GREEK PI SYMBOL + 0x3D6: [431,10,828,19,823,'206 -10Q158 -10 136 24T114 110Q114 233 199 349L205 358H184Q144 358 121 347Q108 340 95 330T75 312T61 295T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 532 431Q799 431 803 430Q823 423 823 402Q823 377 801 364Q790 358 766 358Q748 358 748 357Q748 355 749 348T752 327T754 297Q754 258 738 207T693 107T618 24T520 -10Q488 -10 466 2T432 36T416 77T411 120Q411 128 410 128T404 122Q373 71 323 31T206 -10ZM714 296Q714 316 707 358H251Q250 357 244 348T230 328T212 301T193 267T176 229T164 187T159 144Q159 62 222 62Q290 62 349 127T432 285Q433 286 434 288T435 291T437 293T440 294T444 294T452 294H466Q472 288 472 286Q472 285 464 244T456 170Q456 62 534 62Q604 62 659 139T714 296'], + + // GREEK RHO SYMBOL + 0x3F1: [442,194,517,67,510,'205 -174Q136 -174 102 -153T67 -76Q67 -25 91 85T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 169 431 80T253 -10Q226 -10 204 -2T169 19T146 44T132 64L128 73Q128 72 124 53T116 5T112 -44Q112 -68 117 -78T150 -95T236 -102Q327 -102 356 -111T386 -154Q386 -166 384 -178Q381 -190 378 -192T361 -194H348Q342 -188 342 -179Q342 -169 315 -169Q294 -169 264 -171T205 -174ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q221 276 204 217Q188 152 188 116Q188 68 210 47T259 26Q297 26 334 62Q367 92 389 158T418 266T424 322'], + + // GREEK LUNATE EPSILON SYMBOL + 0x3F5: [431,11,406,40,382,'227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Math/Italic/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js new file mode 100644 index 00000000..c809a643 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js @@ -0,0 +1,290 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [694,0,367,110,256,'111 669Q111 680 111 682T113 689T121 693T137 694H184H249Q255 686 256 681Q244 220 239 213Q236 208 229 208T183 207T137 207T127 213T118 431T111 669ZM110 71V95Q110 137 136 144Q140 146 183 146H200Q246 146 254 121Q256 115 256 73V51Q256 9 230 2Q225 0 181 0L138 1Q121 7 113 21L111 28L110 71'], + + // QUOTATION MARK + 0x22: [694,-442,558,37,420,'38 687Q42 693 45 693Q46 694 111 694H176Q179 690 183 687V556L144 501Q139 494 134 486T126 474T120 465T114 457T110 451T106 447T102 445T98 443T94 443T89 442H73H62Q37 442 37 453Q37 458 55 501T74 546Q74 548 59 548L44 549L38 555V687ZM275 687Q279 693 282 693Q283 694 348 694H413Q416 690 420 687V556L381 501Q376 494 371 486T363 474T357 465T351 457T347 451T343 447T339 445T335 443T331 443T326 442H310H299Q274 442 274 453Q274 458 292 501T311 546Q311 548 296 548L281 549L275 555V687'], + + // NUMBER SIGN + 0x23: [694,193,917,61,855,'61 365Q61 370 62 375T65 383T69 390T74 395T80 399T85 403T90 406L94 407H344L381 536Q418 668 426 680Q431 687 445 692Q451 694 457 694Q477 694 488 682T500 651Q500 645 466 528T431 409Q431 407 504 407H577L609 521Q651 668 656 675Q669 693 691 693Q710 693 721 680T733 651Q733 645 699 528T664 409Q664 407 743 407H823L827 405Q831 403 834 402T841 397T848 389T853 379T855 365Q855 337 823 324L731 323H639L619 253Q599 181 598 180V177H823L827 175Q831 173 834 172T841 167T848 159T853 149T855 135Q855 107 823 94L698 93H573L540 -21Q498 -168 493 -175Q480 -193 458 -193Q439 -193 428 -180T416 -151Q416 -144 450 -27T485 91Q485 93 412 93H340L307 -21Q265 -168 260 -175Q247 -193 225 -193Q206 -193 195 -180T183 -151Q183 -144 217 -27T252 91Q252 93 173 93L94 94Q61 105 61 135Q61 140 62 145T65 153T69 160T74 165T80 169T85 173T90 176L94 177H185L277 178L297 248L318 320V323H206L94 324Q61 335 61 365ZM551 320V323H479Q406 323 405 322Q404 319 385 249T365 178T438 177L510 178L530 248L551 320'], + + // DOLLAR SIGN + 0x24: [750,56,550,49,488,'231 712L232 716Q232 719 232 722T234 729T239 736T246 743T256 748T271 750Q318 750 318 711V703Q393 692 451 656Q469 645 470 640Q470 635 461 587L453 537Q445 529 442 529Q438 529 424 540T384 565T330 585Q328 585 325 585T320 586L318 587V434Q322 433 333 429T350 424T365 418T382 409T399 397T419 380Q488 313 488 213Q488 24 334 -5L318 -8V-17Q318 -56 279 -56H272Q253 -56 243 -46T232 -30T231 -18V-8H224Q170 2 127 20T68 50T49 67Q49 71 58 122T68 176Q71 182 79 182Q83 182 98 169T145 138T216 110Q228 108 229 108H231V288Q167 299 114 356T61 496Q61 537 70 570T94 624T126 661T162 684T195 696T219 701L228 702H231V712ZM231 521Q231 583 230 583Q226 582 220 579T204 561T193 521Q193 491 212 472Q226 458 230 458Q231 458 231 521ZM318 112Q356 131 356 187Q356 237 318 263V112'], + + // PERCENT SIGN + 0x25: [750,57,1029,61,966,'61 549Q61 733 218 749Q220 749 228 749T241 750Q286 750 321 735T369 708T389 683Q422 634 422 548V538Q422 519 420 501T408 453T381 401T328 364T243 347Q61 347 61 549ZM292 549Q292 663 242 663Q221 663 211 648T198 615T196 566V548Q196 471 206 454Q218 434 242 434Q292 434 292 549ZM243 -55Q223 -55 212 -42T201 -13Q201 -2 207 7Q209 11 480 371T758 738Q770 750 788 750Q805 750 817 738T830 709Q830 694 820 681L544 315Q273 -43 269 -47Q258 -55 243 -55ZM606 146Q606 330 763 346Q764 346 773 346T786 347Q831 347 866 332T914 305T934 280Q966 233 966 146V135Q966 115 964 97T952 49T925 -2T872 -40T788 -56Q606 -56 606 146ZM742 146V132Q742 107 743 93T748 62T762 39T787 31Q819 31 832 79Q837 97 837 146Q837 260 787 260Q767 260 757 246T744 214T742 169V146'], + + // AMPERSAND + 0x26: [716,23,831,47,769,'757 117Q762 117 769 110V3Q759 -7 718 -14T641 -22T571 -15T518 1T477 19T453 31L437 23Q350 -19 257 -22Q158 -22 103 30T47 155Q47 188 57 216T87 263T119 292T151 313L182 333L187 336L181 349Q150 431 150 506Q150 605 211 660T347 716Q417 716 471 668T526 543Q526 517 518 495T471 432T360 343L342 330Q342 327 358 306T402 250T458 189L467 181Q518 225 556 289T607 395L620 437Q622 443 630 443Q631 443 679 430Q718 420 725 418T733 409Q733 402 722 365T670 255T573 123Q562 111 563 111Q589 94 644 94Q678 94 703 100T740 111T757 117ZM397 544Q397 573 384 601T346 629Q320 629 299 607T277 538Q277 484 295 429Q301 413 301 412Q302 409 309 415Q397 476 397 544ZM227 258Q197 228 197 177Q197 150 207 126T234 95Q242 93 251 93Q288 93 337 107L349 110L328 131Q266 196 234 248L227 258'], + + // APOSTROPHE + 0x27: [694,-442,306,80,226,'81 687Q85 693 88 693Q89 694 154 694H219Q222 690 226 687V556L187 501Q182 494 177 486T169 474T163 465T157 457T153 451T149 447T145 445T141 443T137 443T132 442H116H105Q80 442 80 453Q80 458 98 501T117 546Q117 548 102 548L87 549L81 555V687'], + + // LEFT PARENTHESIS + 0x28: [750,249,428,79,366,'79 250Q79 352 100 441T152 585T213 678T266 733L287 749Q288 750 324 750H359Q366 741 366 738Q366 734 356 721T329 682T296 623T262 531T238 407Q230 346 230 250Q230 142 244 55T278 -82T318 -165T352 -215T366 -238Q366 -242 359 -249H286L277 -242Q79 -74 79 250'], + + // RIGHT PARENTHESIS + 0x29: [750,250,428,61,348,'61 737Q61 750 85 750H106H141L150 742Q348 574 348 250T150 -242L141 -249L106 -250H87Q61 -250 61 -238Q61 -233 74 -216Q157 -113 183 51Q197 130 197 250T183 449Q174 505 158 554T126 634T95 687T71 722T61 737'], + + // ASTERISK + 0x2A: [750,-293,550,67,482,'241 579Q241 582 228 639T215 702Q215 722 233 736T271 750Q296 750 315 736T334 702V697Q334 693 328 664T314 607L308 579L352 620Q389 654 397 660T417 668Q447 668 464 647T482 602Q482 591 479 583T472 569T459 559T443 552T421 546T397 538L342 521L397 504Q405 501 420 497T442 490T458 483T472 473T479 460T482 440Q482 416 465 395T417 374Q406 375 398 381T352 422L308 463L314 435Q321 407 327 378T334 345Q336 333 327 319T296 295Q288 293 275 293Q241 293 227 311T215 345Q215 349 221 378T234 435L241 463L197 422Q160 388 152 382T132 374Q102 374 85 395T67 440Q67 451 70 459T77 473T90 483T106 490T128 496T152 504L207 521L152 538Q144 541 129 545T107 552T91 559T77 569T70 582T67 602Q67 626 84 647T132 668Q143 667 151 661T197 620L241 579'], + + // PLUS SIGN + 0x2B: [617,116,856,61,794,'61 250Q61 276 94 292H386V436V535Q386 577 388 589T401 607Q411 617 427 617Q458 617 468 587Q470 581 470 436V292H762L766 290Q770 288 773 287T780 282T787 274T792 264T794 250Q794 222 762 209L616 208H470V64Q470 -81 468 -87Q458 -116 428 -116T388 -87Q386 -81 386 64V208H240L94 209Q61 220 61 250'], + + // COMMA + 0x2C: [146,106,306,80,226,'81 139Q85 145 88 145Q89 146 154 146H219Q222 142 226 139V8L187 -47Q182 -54 177 -62T169 -74T163 -83T157 -91T153 -97T149 -101T145 -103T141 -105T137 -105T132 -106H116H105Q80 -106 80 -95Q80 -90 98 -47T117 -2Q117 0 102 0L87 1L81 7V139'], + + // HYPHEN-MINUS + 0x2D: [274,-185,367,12,306,'12 230Q12 257 26 265T80 274Q88 274 114 274T158 273T201 273T235 274Q276 274 290 266T305 230T291 194T235 185Q226 185 201 185T159 186Q143 186 119 186T85 185Q43 185 28 193T12 230'], + + // FULL STOP + 0x2E: [146,0,306,80,226,'219 146Q222 142 226 139V7L222 4L219 1L154 0Q102 0 94 0T82 6Q80 9 80 74L81 139Q85 145 88 145Q89 146 154 146H219'], + + // SOLIDUS + 0x2F: [750,249,550,61,488,'103 -249Q81 -249 71 -235T61 -207Q61 -201 62 -198Q64 -192 235 265T409 727Q418 750 445 750Q464 750 476 737T488 707Q488 701 313 234Q143 -225 137 -232Q126 -249 103 -249'], + + // DIGIT ZERO + 0x30: [715,22,550,43,507,'274 -22Q227 -22 190 -9T128 24T87 76T62 135T49 204T44 271T43 336V343V362Q43 407 45 440T56 524T86 613T141 677Q197 715 264 715Q314 715 353 702T418 669T460 616T487 555T500 483T505 413T506 343Q506 310 506 293T503 241T498 185T486 133T467 83T437 42T397 8T343 -13T274 -22ZM355 355V401Q355 448 354 476T349 537T336 587T311 617T272 629Q270 629 266 629T261 628Q219 618 207 568T194 419V355Q194 203 200 156T231 85Q250 66 275 66Q299 66 318 85Q342 109 348 156T355 355'], + + // DIGIT ONE + 0x31: [716,-1,550,76,473,'118 560H116Q107 560 100 561T85 572T76 600Q76 612 77 618T83 632T99 644Q102 645 135 646T207 660T275 700Q292 716 310 716Q353 716 360 691Q362 685 362 386V87H446Q464 76 468 69T473 44Q473 12 446 1H118Q105 7 100 13T94 25T93 44V62Q100 79 119 87H210V329Q210 571 208 571Q182 560 118 560'], + + // DIGIT TWO + 0x32: [716,0,550,46,494,'339 477Q339 505 332 531T301 579T242 601Q165 601 136 503Q133 493 130 490T121 486Q116 486 94 514Q86 523 82 528Q46 572 46 577Q46 591 77 632T147 691Q192 716 257 716Q305 716 351 700Q416 674 455 615T494 481Q494 421 463 376T356 266Q326 240 287 205T224 146T199 122H331Q359 122 392 122T431 123H445Q485 123 492 98Q494 92 494 62V47Q494 9 468 2Q463 0 272 0L83 1Q63 7 56 28L55 57V89Q59 97 215 261Q255 303 275 327T317 394T339 477'], + + // DIGIT THREE + 0x33: [716,22,550,46,503,'61 624Q62 630 83 650T153 693T262 716Q328 716 373 698T438 650T465 593T473 536Q473 438 375 376L387 371Q450 350 476 305T503 208Q503 164 492 126T456 53T380 -2T261 -22Q224 -22 189 -15T130 2T86 24T57 43T46 53Q46 56 53 99T62 145Q65 152 71 152Q76 152 90 143T123 121T175 99T248 87Q302 87 321 113T341 202Q341 264 329 292T279 329L232 331L190 332L184 338V411Q190 417 192 417Q193 418 205 419T232 421T252 424Q280 430 299 461T318 539V551Q318 599 283 609Q276 611 257 611Q225 611 199 601T159 577T136 554T120 543T102 560T76 597T62 618T61 624'], + + // DIGIT FOUR + 0x34: [695,0,550,31,518,'278 693H282Q285 693 291 693T305 694T322 694T342 694H377Q402 694 411 691T430 677Q434 670 434 646T435 456V249H461H472Q509 249 516 224Q518 219 518 194Q518 178 518 171T511 155T492 142Q488 140 461 140H435V86V53Q435 9 409 2Q405 0 366 0H351Q306 0 298 25Q296 31 296 86V140H179H123Q99 140 80 129T50 106T37 95Q31 95 31 163V208Q31 246 33 251Q251 673 262 684Q268 691 278 693ZM302 249V416L301 576Q301 536 165 276L151 250L226 249H302'], + + // DIGIT FIVE + 0x35: [694,22,550,36,494,'109 282Q87 290 83 310V666Q83 667 84 670T87 676T91 682T98 688T108 693Q112 694 269 694T431 692Q457 686 457 648V637V624Q457 588 431 581Q426 579 326 579H227V510Q227 442 229 442Q243 450 288 450Q377 450 435 399T494 222Q494 -22 241 -22Q202 -22 167 -11T109 16T69 49T45 79T37 94T69 151Q91 185 97 185Q105 185 112 170Q127 135 160 111T240 87Q266 87 284 94T311 111T325 142T331 179T332 226Q332 307 324 335T281 363Q228 363 197 306Q189 289 172 282H109'], + + // DIGIT SIX + 0x36: [716,22,550,46,503,'414 589Q410 589 389 600T334 612Q275 612 243 575Q209 538 202 433V422L209 431Q243 487 317 487Q392 487 440 442Q478 402 490 357T503 236Q503 113 454 54Q421 13 381 -4T279 -22Q263 -22 250 -21T214 -15T173 1T133 30T96 77T68 146T50 242Q46 278 46 336Q46 406 52 447Q84 698 312 715L315 716Q318 716 321 716Q323 716 328 716T337 715Q398 715 425 688V596Q419 591 414 589ZM282 87Q324 89 336 117T348 231Q348 310 343 343T324 388T277 399Q249 399 231 373T208 317T202 253Q202 201 207 168T224 117T249 93T282 87'], + + // DIGIT SEVEN + 0x37: [695,11,550,46,503,'135 38Q135 190 198 335T353 572H215Q185 572 151 572T110 571H96Q55 571 48 596Q46 602 46 633V648Q46 686 72 693Q76 695 124 695Q134 695 183 695T274 694Q472 694 477 692Q503 686 503 648V637Q503 612 502 605T491 588Q300 349 292 46V36Q292 -4 266 -9Q262 -11 214 -11H192Q160 -11 148 -3T135 38'], + + // DIGIT EIGHT + 0x38: [715,22,550,46,503,'61 518Q61 574 79 614T128 676T192 706T263 715H270Q298 715 318 714T373 701T430 671T470 612T488 517Q488 459 458 423T390 376Q388 375 393 373Q395 372 398 371Q503 330 503 204Q503 -22 275 -22Q209 -22 163 -3T92 49T57 120T46 204Q46 230 50 252T61 289T77 318T96 339T116 353T134 363T148 369T158 373T160 376Q118 389 90 424T61 518ZM344 538Q344 563 340 578T326 600T307 609T279 612Q232 612 218 594T204 518Q204 459 216 439T275 418Q328 418 338 450Q344 464 344 515V538ZM248 88T274 88T315 94T338 117T346 149T349 197Q349 269 342 290Q338 309 320 320T274 331Q246 331 229 320T207 290Q200 269 200 197Q201 163 202 149T210 118T232 94'], + + // DIGIT NINE + 0x39: [716,22,550,46,503,'347 272Q346 272 342 266T330 250T309 230T276 214T230 207Q185 207 150 223Q116 240 90 276T54 357Q46 393 46 468Q46 469 46 484T47 502T48 520T51 540T55 559T61 579T69 599T81 620T96 640T115 661Q174 716 276 716Q299 716 317 714T369 698T426 658T471 580T499 456Q503 402 503 342Q503 115 392 29Q322 -22 231 -22Q163 -22 115 7L82 31Q76 38 81 46Q116 112 127 123Q130 126 134 126T148 116T179 97T226 87Q287 87 318 132Q323 139 326 146T332 165T337 182T340 204T342 225T345 249T347 272ZM201 547T201 454T211 329T262 294Q276 294 285 296T310 312T335 355Q347 391 347 447Q347 520 340 550T317 595Q300 612 277 612Q226 612 214 580'], + + // COLON + 0x3A: [458,0,306,80,226,'226 319L219 313H87L81 319L80 384Q80 437 80 445T86 456Q89 458 154 458H219Q222 454 226 451V319ZM219 146Q222 142 226 139V7L222 4L219 1L154 0Q102 0 94 0T82 6Q80 9 80 74L81 139Q85 145 88 145Q89 146 154 146H219'], + + // SEMICOLON + 0x3B: [458,106,306,80,226,'226 319L219 313H87L81 319L80 384Q80 437 80 445T86 456Q89 458 154 458H219Q222 454 226 451V319ZM81 139Q85 145 88 145Q89 146 154 146H219Q222 142 226 139V8L187 -47Q182 -54 177 -62T169 -74T163 -83T157 -91T153 -97T149 -101T145 -103T141 -105T137 -105T132 -106H116H105Q80 -106 80 -95Q80 -90 98 -47T117 -2Q117 0 102 0L87 1L81 7V139'], + + // EQUALS SIGN + 0x3D: [407,-94,856,61,795,'94 324Q61 335 61 366Q61 396 91 405Q96 407 429 407H762Q763 406 767 404T774 400T781 395T787 387T792 378T794 365Q794 338 762 324H94ZM94 94Q61 105 61 135Q61 149 69 160T92 175Q97 177 430 177H762L766 175Q770 173 773 172T780 167T787 159T792 149T794 135Q794 107 762 94H94'], + + // QUESTION MARK + 0x3F: [706,0,519,61,457,'61 644Q61 652 87 666T157 693T244 705Q344 705 400 671T457 551Q457 516 446 490T422 451T387 421T356 391Q330 361 318 332T305 292T303 252Q303 218 300 213T290 208T244 207H220Q194 207 188 213Q187 214 186 215V255Q187 282 188 296T198 345T229 417T288 496Q306 515 306 559Q306 596 296 607T253 618Q214 618 185 607T143 583T120 558T103 547Q99 547 95 551Q93 553 77 597T61 644ZM171 71V95Q171 137 197 144Q201 146 244 146H261Q307 146 315 121Q317 115 317 73V51Q317 9 291 2Q286 0 242 0L199 1Q182 7 174 21L172 28L171 71'], + + // COMMERCIAL AT + 0x40: [704,11,733,61,671,'61 264T61 347T82 494T136 596T217 660T311 694T410 704Q460 704 471 703Q534 694 577 666Q633 623 651 552T670 370V342Q670 249 633 195Q583 116 454 116Q238 116 238 347Q238 443 276 499Q328 578 456 578Q488 578 494 577L504 575Q475 617 430 617H421Q196 617 196 347Q196 215 253 143Q310 76 427 76Q499 76 561 102L575 107H664Q671 97 671 94V89L663 81Q566 -11 422 -11Q365 -11 316 -2T219 33T137 97T82 200ZM469 490Q459 492 453 492Q429 492 405 472Q374 439 374 347Q374 233 423 210Q436 202 454 202L486 210Q536 228 536 347Q536 461 486 484Q476 490 469 490'], + + // LATIN CAPITAL LETTER A + 0x41: [694,1,733,42,690,'110 0H86Q42 0 42 27Q42 37 148 350T258 667Q269 687 291 692Q295 694 366 694H399Q432 694 448 689T474 667Q477 663 583 350T690 27Q690 0 642 0H617H592Q582 0 575 1T561 2T549 6T541 11T533 18T527 26T522 37T517 49T512 64T506 81L490 130H225Q225 128 208 79T189 27Q185 19 180 14T170 7T156 3T143 1T127 0T110 0ZM439 279Q359 524 359 547L357 555L355 543Q347 503 270 263L259 231H357Q455 231 455 232L439 279'], + + // LATIN CAPITAL LETTER B + 0x42: [694,-1,733,92,671,'119 1Q98 5 92 28V667Q98 686 118 693Q121 694 272 694H289H346Q439 694 500 681T600 625Q640 580 640 513Q640 451 601 414T504 364L518 361Q568 351 602 329T649 280T666 235T671 197Q671 172 665 147T642 91T586 37T488 5Q456 1 282 1H119ZM489 509Q489 532 479 548T450 573T421 585T394 591Q387 592 315 593H247V404H298H325Q432 404 466 444Q489 470 489 509ZM517 194Q517 235 502 261T458 299T407 313T353 317H329H322H247V101H319H357Q387 101 407 103T452 111T492 133T514 171Q516 176 517 194'], + + // LATIN CAPITAL LETTER C + 0x43: [704,11,703,61,647,'423 -11Q339 -11 275 9T171 62T106 143T71 240T61 347Q61 450 93 527Q157 664 313 694Q357 704 416 704Q479 704 517 699T608 676Q634 667 635 660Q635 653 624 592L612 528L609 524Q604 521 601 521Q595 521 583 531T555 555T505 578T428 589H424Q298 589 250 494Q224 438 224 347Q224 292 233 251T265 175T329 122T432 104Q488 104 524 115T604 158Q607 160 610 162T615 165T619 168L621 170Q625 172 630 170T637 163Q638 160 642 109T647 54Q646 49 625 37T568 11T499 -7Q463 -11 423 -11'], + + // LATIN CAPITAL LETTER D + 0x44: [695,0,794,92,732,'119 1Q98 5 92 28V667Q98 686 118 693H124Q131 693 142 693T168 694T200 694T237 694H296Q416 694 450 692T525 677Q732 617 732 342Q732 169 644 81Q593 32 528 16T372 0Q356 0 324 0T276 1H119ZM573 349Q573 387 571 413T559 473T532 527T482 567T403 591Q395 592 320 593H250V101H321Q418 102 456 114Q553 144 569 263Q573 303 573 349'], + + // LATIN CAPITAL LETTER E + 0x45: [691,0,642,92,595,'277 122Q280 122 380 123T544 125Q552 125 557 125T565 124T569 124Q595 115 595 75V62V47Q595 9 569 2Q564 0 341 0L119 1Q99 7 92 28V664Q98 683 118 690Q121 691 335 691T554 689Q580 682 580 644V632V618Q580 582 554 573Q553 573 551 573T542 572T527 572Q464 572 364 573T260 575H253V412H385H459Q524 412 536 404T549 357Q549 341 549 334T542 318T523 305Q518 303 385 303H253V122H277'], + + // LATIN CAPITAL LETTER F + 0x46: [691,0,611,92,564,'512 572Q451 572 356 573T258 575H253V400H370H431Q494 400 506 392T518 345Q518 307 507 299T437 291H370H253V161Q253 141 253 113T254 75Q254 23 245 12T195 0H170L119 1Q99 7 92 28V664Q98 683 118 690Q121 691 327 691T538 689Q564 682 564 644V632V618Q564 582 538 573Q537 573 535 573T526 572T512 572'], + + // LATIN CAPITAL LETTER G + 0x47: [705,11,733,60,659,'61 347Q61 405 70 454T105 550T171 631T276 685T426 705Q483 705 537 693T620 668T650 646Q650 645 649 637T645 612T639 578L627 514L624 510Q620 507 615 507T597 520T566 548T512 577T430 590Q223 590 223 347T431 104Q478 104 506 112Q508 112 508 164V215H471L434 216L428 222L427 268Q427 315 429 318Q432 323 444 323T544 324H652Q655 320 659 317V45L656 43Q654 39 624 27T536 2T424 -11Q366 -11 317 -2T219 33T137 97T82 200T61 347'], + + // LATIN CAPITAL LETTER H + 0x48: [694,0,794,92,702,'92 667Q101 694 143 694H172H198Q244 694 251 669Q253 663 253 539V415H540V539Q540 558 540 585T539 621Q539 673 550 683T611 694H621H646Q671 694 683 690T700 669Q702 663 702 347T700 25Q696 9 684 5T646 0H621H606Q560 0 550 11T539 76Q539 85 539 116T540 169V306H253V169Q253 147 253 116T254 75Q254 23 245 12T194 0H170L119 1Q99 7 92 28V667'], + + // LATIN CAPITAL LETTER I + 0x49: [694,0,331,85,246,'85 667Q94 694 136 694H165H191Q237 694 244 669Q246 663 246 347T244 25Q235 0 192 0H163L112 1Q92 7 85 28V667'], + + // LATIN CAPITAL LETTER J + 0x4A: [694,22,519,46,427,'236 -22Q190 -22 144 -11T72 12T46 29Q63 147 69 153Q80 164 92 146Q124 91 191 91Q222 91 242 102T267 134Q268 139 268 402Q268 663 270 669Q275 687 294 692Q298 694 347 694H367Q393 694 406 690T425 669Q427 663 427 399Q427 132 426 125Q421 87 404 58T366 15T318 -9T273 -20T236 -22'], + + // LATIN CAPITAL LETTER K + 0x4B: [694,0,764,92,701,'92 667Q101 694 139 694H163H186Q225 694 234 671Q236 663 236 529L237 392L533 682Q550 694 590 694H623H681Q695 680 695 672Q695 670 693 664Q688 657 561 533L431 405L698 33Q701 28 701 23Q701 7 683 0H626H604Q571 0 564 2T545 13Q544 14 530 33T489 90T437 162L332 307Q331 307 284 260L236 214V122V65Q236 32 231 19T210 2Q205 0 161 0L119 1Q99 7 92 28V667'], + + // LATIN CAPITAL LETTER L + 0x4C: [694,0,581,92,534,'92 667Q98 684 109 689T142 694H172H198Q244 694 251 669Q253 663 253 389V116L278 117Q410 119 490 119H495Q511 119 517 115T534 93V63V48Q534 9 508 2Q503 0 310 0L119 1Q99 7 92 28V667'], + + // LATIN CAPITAL LETTER M + 0x4D: [695,0,978,92,886,'92 667Q98 684 109 689T146 695Q152 695 167 695T192 694Q200 694 214 694T234 695Q291 695 305 664Q313 651 400 419T487 165Q487 162 488 162T489 165Q489 187 574 413T671 664Q679 680 695 688Q708 694 785 694H828Q855 694 867 689T884 669Q886 663 886 347T884 25Q876 0 832 0H817H802Q758 0 750 25Q748 31 748 293V555L746 544Q737 509 692 386T606 160T564 52Q548 22 502 22H487H472Q423 22 410 52Q407 59 367 160T283 385T231 546L230 548Q229 548 229 293Q229 31 227 25Q222 9 211 5T176 0H158L119 1Q99 7 92 28V667'], + + // LATIN CAPITAL LETTER N + 0x4E: [694,0,794,92,702,'92 667Q98 684 109 689T146 694H185Q273 694 279 692Q301 689 315 669Q322 660 419 453L554 163L562 143Q564 143 564 401Q564 663 566 669Q574 694 618 694H633H648Q692 694 700 669Q702 663 702 347T700 25Q696 10 683 5T642 0H596H551Q520 0 505 4T478 25Q471 34 374 241L239 532Q231 550 231 552L229 479Q229 440 229 293Q229 31 227 25Q222 9 211 5T176 0H158L119 1Q99 7 92 28V667'], + + // LATIN CAPITAL LETTER O + 0x4F: [716,22,794,62,731,'362 715Q364 715 376 715T394 716H400Q542 716 626 643T727 426Q731 395 731 342Q731 271 722 225Q674 -22 396 -22Q320 -22 259 -3T148 68T77 201Q62 257 62 342Q62 447 86 522T173 649Q245 707 362 715ZM568 433Q551 623 396 623Q383 623 370 622T333 612T292 591T257 550T233 485Q223 442 223 350Q223 276 232 227T267 137Q309 74 397 74Q433 74 461 85T507 113T537 156T556 205T566 260T569 310T570 357Q570 409 568 433'], + + // LATIN CAPITAL LETTER P + 0x50: [694,0,703,92,641,'641 470Q641 426 630 391T603 334T561 295T513 271T459 259T408 254T361 253H350H337H253V142Q253 125 253 100T254 67Q254 32 249 19T227 2Q222 0 170 0L119 1Q99 7 92 28V667Q98 686 118 693Q121 694 271 694Q428 693 462 688Q641 656 641 470ZM487 467Q487 495 485 510T474 546T442 578T382 592Q375 593 310 593H250V347H309H339Q364 347 380 348T418 354T451 368T474 395T486 438Q487 444 487 467'], + + // LATIN CAPITAL LETTER Q + 0x51: [716,106,794,62,732,'450 -20Q444 -20 429 -21T396 -22Q320 -22 259 -3T148 68T77 201Q62 257 62 342Q62 447 86 522T173 649Q245 707 362 715Q364 715 376 715T394 716Q732 716 732 340Q732 268 719 210T686 120T647 68T615 39T601 29T638 -22T676 -73Q679 -78 679 -83Q679 -98 661 -106H593Q526 -106 521 -104Q514 -103 507 -97T496 -84T477 -55L454 -19L450 -20ZM554 509Q516 622 391 622Q294 622 250 535Q220 475 220 345Q220 299 222 266T234 198T258 140T299 99T363 74Q378 71 393 71H395L381 92Q367 114 353 136T338 161Q336 165 336 170Q336 186 352 193L361 194Q370 194 384 194T412 194H452Q457 194 460 194T466 194T471 192T476 191T480 188T483 185T487 180T492 174T497 167T504 158L526 129Q532 127 552 175Q573 231 573 348Q573 455 554 509'], + + // LATIN CAPITAL LETTER R + 0x52: [695,0,703,92,654,'654 24Q654 9 644 5T612 0H577L521 1Q509 5 503 13Q498 20 421 160L343 304H250V168Q250 147 250 118T251 78Q251 24 242 12T192 0H168L119 1Q99 7 92 28V667Q98 686 118 693H124Q131 693 141 693T165 694T195 694T229 694T280 694T332 695Q389 695 428 691T510 675T582 637T627 569Q641 532 641 493Q641 377 537 331L497 317L493 316L571 177Q653 28 654 24ZM487 472T487 492T485 525T476 553T450 577T404 591Q398 592 322 593H250V391H321Q327 391 353 391T385 392T412 395T438 401T457 412T474 430T483 456'], + + // LATIN CAPITAL LETTER S + 0x53: [716,22,611,49,549,'61 503Q61 547 72 583T110 650T186 698T305 716Q405 716 496 671Q513 664 514 657Q514 656 513 648T509 623T503 589L491 525L488 521Q484 518 479 518H475L461 532Q430 565 395 581T305 598Q201 598 201 523Q201 480 240 462T345 431T443 394Q549 324 549 204Q549 160 538 123T502 51T427 -2T308 -22Q180 -22 69 41Q50 52 49 57Q49 58 50 66T54 91T60 125L72 189L75 193Q80 196 84 196Q87 196 104 182T145 149T212 117T304 102Q408 102 408 188Q408 215 396 234T362 263T319 278T267 290T219 302Q149 324 105 380T61 503'], + + // LATIN CAPITAL LETTER T + 0x54: [688,0,733,40,692,'67 687Q70 688 366 688Q661 688 666 686Q692 680 692 641V629V615Q692 579 666 570H660Q655 569 648 569Q645 569 624 569T581 570Q505 570 475 572H447V302Q447 31 445 25Q436 0 393 0H364L313 1Q293 7 286 28L285 300V572H257Q227 570 151 570Q130 570 109 570T84 569Q77 569 72 570H66Q48 577 44 588T40 631L41 661Q47 680 67 687'], + + // LATIN CAPITAL LETTER U + 0x55: [694,22,764,92,672,'92 667Q101 694 143 694H172H200Q242 694 251 671Q253 663 253 430Q254 189 255 185Q262 134 288 107T384 79Q498 79 516 168Q520 191 521 431Q521 663 523 671Q532 694 572 694H596H618Q639 694 648 692T665 679Q671 672 671 653Q672 632 672 555V432Q671 200 670 190Q652 79 581 29T383 -22Q137 -22 98 166Q92 195 92 303V667'], + + // LATIN CAPITAL LETTER V + 0x56: [694,-1,733,27,705,'27 667Q27 683 39 688T75 694H101Q155 694 159 692Q182 687 194 665Q202 652 283 419T374 142Q376 165 473 445Q552 664 553 666Q568 694 618 694H639H658Q681 694 693 689T705 667Q705 660 592 347Q481 32 477 28Q466 7 441 1H292Q266 7 255 28Q251 32 140 347Q27 660 27 667'], + + // LATIN CAPITAL LETTER W + 0x57: [694,0,1039,24,1014,'994 694Q1012 683 1014 668Q1014 661 977 519T896 217T845 26Q831 0 783 0H747H711Q685 0 672 5T649 26Q644 36 583 272T517 548Q516 552 516 551Q503 479 437 227Q389 37 383 26Q367 0 323 0H288H254Q207 0 193 26Q191 32 108 346T24 665Q24 685 44 693Q47 694 98 694H115Q152 694 168 668Q174 657 235 417T297 144Q297 134 300 153Q307 204 362 421T427 668Q441 694 488 694H523Q586 694 597 688Q612 683 620 661T651 549Q664 496 673 462Q744 194 750 146V140Q767 223 800 354T857 576T883 668Q897 694 938 694H958H994'], + + // LATIN CAPITAL LETTER X + 0x58: [695,0,733,37,694,'52 1Q37 11 37 23Q37 26 39 32Q39 34 158 202L275 369Q275 370 221 441T112 586T55 663Q53 669 53 672Q53 687 68 693H72Q77 693 84 693T99 694T118 694T139 694H176Q203 694 212 692T230 682Q231 681 239 669T265 634T296 591L358 504L418 591Q481 682 486 686Q491 691 499 692Q505 694 569 694H632Q650 685 650 672Q650 667 646 660Q643 654 592 582T491 440T441 369T566 201T693 29Q694 27 694 23Q694 11 677 0H607L537 1Q523 6 519 10T437 131Q422 153 411 170T390 200T375 222T365 237T359 245L357 247L348 232Q339 218 319 188T283 131Q222 37 211 22T186 1H52'], + + // LATIN CAPITAL LETTER Y + 0x59: [694,0,733,24,708,'635 694H668Q688 694 698 690T708 670Q708 664 704 658L446 278L445 152V27Q442 20 440 17T433 9T419 1L368 0H339Q316 0 305 5T288 26Q286 31 286 154V278L157 468Q135 500 101 550Q43 635 34 650T24 671Q24 686 39 693Q42 694 105 694H122H132Q163 694 180 689T214 666Q225 654 336 485Q373 425 373 420L374 418Q375 419 375 421Q378 432 418 493T496 609T536 667Q543 676 551 681T572 689T591 693T615 694T635 694'], + + // LATIN CAPITAL LETTER Z + 0x5A: [694,0,672,61,616,'411 584Q243 581 131 581Q122 581 116 581T106 582T102 582Q84 589 80 600T76 640L77 667Q83 686 103 693Q106 694 343 694Q579 694 584 692Q592 691 599 684T609 668Q610 665 610 646Q610 614 608 608Q605 603 434 361L261 116Q340 117 402 118T490 119T533 120T560 120H572Q605 120 614 95Q616 89 616 60V46Q616 9 590 2Q585 0 339 0Q92 0 87 2Q79 3 72 10T62 26Q61 29 61 49Q61 84 63 90Q65 94 152 217T325 461T411 584'], + + // LEFT SQUARE BRACKET + 0x5B: [751,251,343,79,318,'318 -206Q318 -235 305 -243T255 -251Q248 -251 229 -251T198 -250H143Q112 -250 99 -246T81 -225Q79 -219 79 250T81 725Q85 741 98 745T143 750H198Q210 750 229 750T255 751Q291 751 304 743T318 707Q318 680 301 668Q293 663 255 663H224V-163H255Q293 -163 301 -168Q318 -180 318 -206'], + + // RIGHT SQUARE BRACKET + 0x5D: [751,251,343,24,263,'24 706Q24 734 39 742T90 751Q97 751 114 751T143 750H198Q230 750 243 746T261 725Q263 719 263 250T261 -225Q257 -241 244 -245T198 -250H143Q131 -250 112 -250T86 -251Q50 -251 37 -243T24 -207Q24 -180 41 -168Q49 -163 87 -163H118V663H87H71Q24 663 24 706'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-537,550,108,441,'108 550Q108 554 135 589T190 658T219 692Q221 694 275 694Q328 694 330 693Q331 692 381 629T438 557Q441 553 441 549T434 538L399 537Q363 537 362 538Q361 538 318 575L275 611Q274 611 231 575Q188 538 187 538Q186 537 150 537L115 538Q108 545 108 550'], + + // LOW LINE + 0x5F: [-23,110,550,0,549,'0 -66Q0 -32 26 -25Q30 -23 274 -23Q469 -23 497 -23T532 -28Q549 -40 549 -67Q549 -93 532 -105Q525 -109 498 -109T275 -110Q31 -110 26 -108Q0 -101 0 -66'], + + // LATIN SMALL LETTER A + 0x61: [475,11,525,31,473,'255 394Q218 394 186 383T138 358T109 333T94 321H91Q88 321 86 322T83 325T80 331T79 339T78 349T77 362T75 377Q72 410 72 420Q72 423 72 425T73 429T74 431T77 433T80 435T85 437Q166 475 262 475Q360 475 413 440Q462 406 471 341Q472 332 472 181Q472 155 472 119T473 73Q473 20 462 10T398 0H380Q349 0 337 8T324 48V65Q298 30 257 10T172 -11Q109 -11 70 37T31 145Q31 276 307 289H321V309Q321 337 318 352T300 381T255 394ZM176 146Q176 116 190 97T231 77Q251 77 266 85Q322 110 322 185Q322 189 322 192T322 198L321 201V234L308 232Q176 220 176 146'], + + // LATIN SMALL LETTER B + 0x62: [694,10,561,54,523,'54 667Q63 694 102 694H127H151Q190 694 199 671Q201 663 201 544L202 422L211 428Q270 468 355 468Q523 468 523 231Q523 -10 321 -10Q286 -10 261 -2T204 33Q197 11 187 6T142 0H126L81 1Q61 7 54 28V667ZM372 230Q372 317 355 349T280 382Q251 382 204 356V107Q235 76 274 76Q301 76 320 84T349 105T364 139T371 180T372 230'], + + // LATIN SMALL LETTER C + 0x63: [475,12,489,37,457,'188 233Q188 199 190 177T200 131T225 95T271 83H281Q356 83 421 130Q433 138 434 139Q446 141 448 131Q449 128 453 84T457 36Q455 30 432 20T364 -1T273 -11Q37 -11 37 232Q37 456 244 474Q246 474 257 474T276 475Q349 475 400 455Q443 436 448 431L451 425Q451 419 443 377Q442 372 441 366T439 356T438 348T436 340T435 334T433 330T431 327T429 325T426 324Q420 324 406 336Q376 362 350 372T281 382Q254 382 236 373T208 352T194 317T189 278T188 233'], + + // LATIN SMALL LETTER D + 0x64: [694,11,561,37,507,'225 -11Q192 -11 164 -3T104 29T55 102T37 227Q37 321 63 376Q111 469 223 469Q292 469 349 433L359 426V546Q359 564 359 589T358 623Q358 675 369 684T433 694H451Q497 694 505 669Q507 663 507 347T505 25Q500 9 487 5T450 0H432H413Q356 0 356 36V40Q298 -11 225 -11ZM356 359Q326 382 286 382Q239 382 215 358Q189 330 189 256V229V203V195Q189 102 231 86Q251 76 274 76Q318 76 356 114V359'], + + // LATIN SMALL LETTER E + 0x65: [475,10,511,30,481,'30 231Q30 301 51 351T107 426T181 463T262 474H268Q293 474 312 472T366 459T422 427T462 363T480 260Q480 230 466 222T405 213Q395 213 364 213T311 214H173V211Q173 183 183 148T216 96Q244 76 287 76Q319 76 350 85T399 104T433 125T451 136Q463 138 465 128Q466 125 469 84T473 39Q471 29 423 13T330 -9Q321 -10 286 -10Q213 -10 161 11T81 68T42 144T30 231ZM353 292Q350 324 342 344T320 373T294 384T264 387Q191 387 175 286V282H353V292'], + + // LATIN SMALL LETTER F + 0x66: [706,0,336,29,381,'67 458H78V502V509Q78 538 79 556T90 604T117 651T169 685T253 704Q254 704 258 704T265 705T275 705T287 704Q364 704 381 687V638V607Q381 591 378 585T366 579Q362 581 351 591T323 610T282 618Q238 618 226 587Q224 581 223 519V458H253Q288 458 298 453Q315 441 315 415Q315 399 312 390T299 377T282 372T259 371H255H226V201Q226 31 224 25Q215 0 174 0H150L106 1Q86 7 79 28L78 199V371H69Q29 371 29 412Q29 425 30 431T40 447T67 458'], + + // LATIN SMALL LETTER G + 0x67: [469,206,550,17,534,'63 108Q63 142 83 176L76 184Q35 227 35 300Q35 469 243 469Q330 469 385 437L397 443Q451 469 508 469Q515 468 517 466T522 456T528 425Q534 392 534 386Q532 379 523 377Q520 377 509 381T477 390T431 398L425 399Q453 362 453 297Q453 268 445 242T417 189T351 146T242 130Q169 130 119 153Q117 141 117 136Q117 95 155 83Q161 81 252 81Q354 80 362 79Q437 71 475 48T526 -24Q532 -42 532 -65Q532 -116 489 -156T341 -204Q323 -206 274 -206H256Q39 -206 18 -84Q17 -79 17 -68Q17 15 82 42L76 53Q63 79 63 108ZM310 300Q310 359 298 377T238 396Q217 396 204 390T186 368T179 339T178 300Q178 245 189 224T244 203T299 224T310 300ZM414 -66Q414 -55 411 -47T401 -32T387 -21T368 -14T346 -10T322 -7T297 -6T271 -6T246 -6H193Q163 -6 154 -10T140 -30Q135 -45 135 -62Q135 -134 274 -134Q414 -134 414 -66'], + + // LATIN SMALL LETTER H + 0x68: [694,0,561,53,508,'53 667Q62 694 101 694H126H148Q191 694 198 669Q200 663 200 526V390Q263 469 361 469Q390 469 412 465T456 449T491 413T507 351Q508 342 508 185Q508 31 506 25Q498 0 450 0H432H413Q368 0 359 23Q357 31 357 186Q356 345 355 350Q349 369 336 376Q324 381 301 381H298Q269 381 242 362Q217 342 210 316T202 239Q202 229 202 202T203 157V82Q203 24 195 12T146 0H125L80 1Q60 7 53 28V667'], + + // LATIN SMALL LETTER I + 0x69: [695,0,256,46,208,'72 574Q55 583 51 591T46 619V636L47 670L48 673Q50 676 52 678T56 684T63 690T73 694H81Q89 694 102 694T129 695H181Q193 687 196 685T203 676T207 661T208 634Q208 603 204 593T181 574H72ZM54 431Q63 458 102 458H127H149Q192 458 199 433Q201 427 201 229T199 25Q190 0 149 0H125L81 1Q61 7 54 28V431'], + + // LATIN SMALL LETTER J + 0x6A: [695,205,286,-71,232,'70 634V648Q70 686 96 693Q100 695 151 695H176Q201 695 213 691T230 670Q232 665 232 634V620Q232 582 206 575Q202 573 151 573H126Q101 573 89 577T72 598Q70 603 70 634ZM-41 -84Q-1 -105 28 -105Q67 -105 78 -85Q83 -77 83 -48T84 180Q84 427 86 433Q93 458 136 458H158H180Q201 458 209 456T225 443Q230 436 231 418Q232 397 232 313V183V124V40Q232 -55 228 -87T203 -147Q166 -205 78 -205Q31 -205 -20 -189T-71 -159Q-71 -156 -62 -124T-52 -89Q-49 -84 -41 -84'], + + // LATIN SMALL LETTER K + 0x6B: [694,0,531,63,496,'496 23Q496 9 487 5T457 0H427H398Q367 0 354 11Q352 12 288 99L226 183L191 150V90V54Q191 30 186 18T165 2Q160 0 124 0L90 1Q70 7 63 28V667Q72 694 108 694H128H146Q183 694 192 671Q194 663 194 496L195 325L254 383Q266 394 281 409T301 429T316 441T329 450T341 455T357 458T376 458H409H436Q461 458 470 454T480 437Q480 430 477 427T445 395Q417 368 396 347L319 271Q319 270 358 217T442 103T494 32Q496 30 496 23'], + + // LATIN SMALL LETTER L + 0x6C: [694,0,256,54,201,'54 667Q63 694 102 694H127H149Q192 694 199 669Q201 663 201 347T199 25Q190 0 149 0H125L81 1Q61 7 54 28V667'], + + // LATIN SMALL LETTER M + 0x6D: [469,0,867,53,815,'197 386Q256 468 366 468Q404 468 430 461T471 438T491 413T503 385Q563 469 666 469Q731 469 769 446T814 350Q815 343 815 185Q815 31 813 25Q808 9 796 5T758 0H737L692 1Q672 7 665 28L664 186V206V290Q664 349 655 365T610 381Q581 381 560 370T529 341T515 311T510 291Q509 286 509 157V82Q509 24 501 12T452 0H431L386 1Q366 7 359 28L358 186V206V290Q358 349 349 365T304 381Q275 381 254 370T223 341T209 311T204 291Q203 286 203 157V82Q203 24 195 12T146 0H125L80 1Q60 7 53 28V437Q58 453 80 464H122H142Q167 464 178 460T195 439Q197 434 197 409V386'], + + // LATIN SMALL LETTER N + 0x6E: [468,0,561,53,508,'197 386Q264 468 350 468Q375 468 390 467T429 460T466 443T492 408T507 351Q508 342 508 185Q508 31 506 25Q498 0 450 0H432H413Q368 0 359 23Q357 31 357 186Q356 345 355 350Q349 369 336 376Q324 381 301 381H298Q269 381 242 362Q217 342 210 316T202 239Q202 229 202 202T203 157V82Q203 24 195 12T146 0H125L80 1Q60 7 53 28V437Q58 453 80 464H122H142Q167 464 178 460T195 439Q197 434 197 409V386'], + + // LATIN SMALL LETTER O + 0x6F: [474,11,550,32,518,'274 -11Q32 -11 32 225Q32 346 85 406T249 474H266H271Q302 474 325 471T385 458T451 419T498 346Q518 300 518 225Q518 -11 274 -11ZM367 233Q367 322 350 354T270 387Q240 387 222 377T195 344T184 298T182 233Q182 151 198 117T275 83H282Q318 83 339 104Q355 119 361 146T367 233'], + + // LATIN SMALL LETTER P + 0x70: [469,194,561,54,523,'125 458H139Q174 458 185 452T202 420L211 426Q245 448 288 458T354 469Q356 469 361 469T369 468Q443 468 481 412Q523 355 523 223Q523 164 509 120T473 51T423 12T371 -7T323 -11Q260 -11 204 33V-65Q204 -80 204 -102T205 -131Q205 -162 200 -175T178 -192Q173 -194 126 -194L81 -193Q61 -187 54 -166V431Q58 447 81 458H125ZM372 230Q372 376 282 376Q247 376 204 352V107L208 103Q213 99 218 95T232 87T251 79T274 76Q323 76 349 116Q372 153 372 230'], + + // LATIN SMALL LETTER Q + 0x71: [470,194,561,37,507,'226 -11Q37 -11 37 236Q37 294 51 338T86 407T135 445T186 464T233 469H235Q300 469 349 422L359 413V425Q359 452 376 464Q384 469 433 469H455Q498 469 505 444Q507 438 507 137Q507 -163 505 -169Q500 -185 487 -189T450 -194H432H413Q367 -194 358 -171Q356 -163 356 -63V40L348 33Q296 -11 231 -11H226ZM281 375Q188 375 188 228Q188 77 275 77Q322 77 359 120V328Q338 357 324 366T281 375'], + + // LATIN SMALL LETTER R + 0x72: [469,0,372,54,356,'54 437Q58 453 81 464H122H147Q186 464 194 439Q196 434 196 405V377L203 387Q245 456 324 468Q325 468 331 468T340 469Q347 469 356 462V360Q350 355 346 354T339 353T326 353T300 347Q260 337 234 311T202 252Q201 247 201 138Q201 122 201 98T202 66Q202 33 197 20T175 2Q170 0 125 0L81 1Q61 7 54 28V437'], + + // LATIN SMALL LETTER S + 0x73: [474,10,422,30,396,'37 328Q37 392 75 433T203 474Q254 474 265 473Q319 465 370 442Q378 439 380 432Q380 426 372 384Q364 336 359 333Q358 331 355 331Q348 331 337 341Q282 388 216 388H208Q190 388 180 387T161 377T151 351Q151 333 164 323T224 306L267 297Q314 285 355 246T396 144Q396 17 282 -5Q260 -10 218 -10Q170 -10 124 2T55 26T30 44Q30 48 39 99T49 153Q52 159 60 159Q66 159 70 153Q100 120 133 101T218 82Q231 82 238 83T258 87T277 101T283 126Q283 149 260 160T200 176T153 186Q109 201 73 236T37 328'], + + // LATIN SMALL LETTER T + 0x74: [589,10,404,20,373,'225 267Q225 202 226 169T232 115T244 88T265 82Q295 84 318 100T345 116Q352 116 354 110T364 77Q373 46 373 43Q373 28 312 9T190 -10Q160 -10 139 1T107 29T89 77T82 136T80 210V258V371H66H59Q39 371 27 386Q20 394 20 417Q21 432 23 437Q35 458 60 458H65H83V510L84 562Q93 589 131 589H154H174Q216 589 223 564Q225 558 225 508V458H274Q330 458 338 453Q355 441 355 415Q355 388 338 376Q330 371 274 371H225V267'], + + // LATIN SMALL LETTER U + 0x75: [459,11,561,52,508,'53 431Q62 459 100 459Q105 459 114 459T127 458H152Q192 458 201 435Q203 427 203 262Q204 86 208 77Q209 74 216 71Q227 66 258 66H264Q334 66 354 140L356 150L357 290Q357 427 359 435Q365 449 377 453T412 458H432H450Q498 458 506 433Q508 427 508 229T506 25Q498 0 451 0H434H418Q386 0 374 7T360 43V58L352 49Q298 -11 199 -11Q135 -9 101 11T56 80Q52 100 52 273L53 431'], + + // LATIN SMALL LETTER V + 0x76: [458,0,500,26,473,'26 429T26 435T32 448T44 456Q48 458 85 458H99Q145 458 161 431Q162 429 207 285L251 145L294 284Q333 410 341 430Q351 451 374 456Q379 458 420 458H430Q450 458 457 456T471 443Q473 437 473 435Q473 426 443 325T381 126L350 28Q339 7 316 2Q312 0 250 0Q187 0 183 2Q160 7 149 28L136 68Q124 109 106 166T70 283T39 385'], + + // LATIN SMALL LETTER W + 0x77: [458,0,744,24,719,'699 458Q717 447 719 432Q719 426 666 230T610 27Q602 10 588 5T548 0H512H482Q431 0 420 17T384 135Q356 241 352 298V308L351 295Q348 251 322 145T290 28Q279 0 233 0H212H191Q146 0 133 27Q130 33 77 229T24 430Q24 449 44 457Q47 458 79 458Q122 458 126 456Q154 450 163 419L233 153Q241 187 272 304T307 431Q318 458 368 458Q394 458 398 456Q421 451 430 431Q434 423 509 147L547 286Q582 416 588 429Q600 454 624 457Q632 458 647 458H663H699'], + + // LATIN SMALL LETTER X + 0x78: [460,1,500,24,475,'92 0Q87 0 77 0T62 -1Q24 -1 24 22Q24 29 33 41T106 136Q185 237 184 238Q184 239 147 284T73 376T33 427Q31 430 31 436Q31 451 45 457Q48 458 96 458H122Q152 458 163 450T208 394L247 345L282 394Q288 403 297 416T309 434T319 444T328 452T338 455T352 458T372 458H393H440Q457 449 457 435Q457 428 450 419T379 328Q308 239 308 237L389 137Q409 112 436 79Q475 31 475 23Q475 -1 436 -1Q432 -1 422 -1T407 0Q360 0 352 3Q343 6 336 16T291 83L247 151L245 148Q243 145 239 139T229 124T218 106T204 84Q167 24 160 15T141 1L92 0'], + + // LATIN SMALL LETTER Y + 0x79: [458,205,500,29,473,'454 458Q473 446 473 430Q473 426 394 184L311 -68Q291 -119 245 -162T123 -205Q51 -205 46 -190Q44 -187 40 -142T36 -92Q36 -90 36 -88L37 -87Q41 -80 46 -80Q48 -80 73 -92T126 -105Q146 -105 161 -98T185 -76T197 -53T206 -28L215 0L122 212Q29 427 29 435Q29 448 46 457Q49 458 91 458Q93 458 106 458T125 457T140 454T157 446T170 431Q183 410 224 305T266 158Q266 152 266 151Q267 151 268 163Q271 206 302 310T342 432Q354 458 398 458H418H454'], + + // LATIN SMALL LETTER Z + 0x7A: [458,0,476,31,442,'268 376Q250 376 180 375T92 374Q69 374 63 380Q46 390 46 419Q46 428 49 437Q57 451 73 457Q76 458 242 458T413 456Q420 455 427 448Q439 438 439 413Q439 392 433 385Q432 383 318 236T204 88Q235 88 306 89T395 90H399Q408 90 414 89T427 84T438 70T442 45Q442 9 416 2Q411 0 236 0H136Q73 0 62 1T41 12Q31 23 31 47Q31 68 36 77Q37 78 51 97T96 155T153 228L268 376'], + + // TILDE + 0x7E: [344,-198,550,92,457,'92 215Q92 259 122 301T204 344Q238 344 264 329T310 300T343 285Q356 285 361 295T369 322T377 344H450Q457 334 457 330Q457 281 427 240T344 198Q312 198 285 213T239 242T206 257Q188 257 182 230T172 199L137 198H120Q102 198 97 200T92 215'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js new file mode 100644 index 00000000..eb3795cb --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'], + { + // COMBINING GRAVE ACCENT + 0x300: [694,-537,0,-458,-218,'-458 682Q-458 690 -452 692T-426 694H-381H-314L-312 691Q-311 691 -305 682T-287 655T-263 622L-218 555V549Q-218 544 -224 538L-259 537Q-295 537 -296 538Q-298 539 -376 606T-456 676Q-458 680 -458 682'], + + // COMBINING ACUTE ACCENT + 0x301: [694,-537,0,-334,-93,'-290 537H-310Q-334 537 -334 549Q-334 553 -311 588T-264 656L-241 690Q-240 690 -239 691T-236 693Q-235 694 -167 694H-100Q-93 684 -93 681T-94 677Q-95 675 -173 607T-255 538Q-256 537 -290 537'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-537,0,-442,-109,'-442 550Q-442 554 -415 589T-360 658T-331 692Q-329 694 -275 694Q-222 694 -220 693Q-219 692 -169 629T-112 557Q-109 552 -109 549Q-109 545 -116 538L-151 537Q-187 537 -188 538Q-189 538 -232 575L-275 611Q-276 611 -319 575Q-362 538 -363 538Q-364 537 -400 537L-435 538Q-442 545 -442 550'], + + // COMBINING TILDE + 0x303: [694,-548,0,-458,-93,'-458 565Q-458 609 -428 651T-346 694Q-312 694 -286 679T-240 650T-207 635Q-194 635 -189 645T-181 672T-173 694H-100Q-93 684 -93 680Q-93 631 -123 590T-206 548Q-238 548 -265 563T-311 592T-344 607Q-362 607 -368 580T-378 549L-413 548H-430Q-448 548 -453 550T-458 565'], + + // COMBINING MACRON + 0x304: [660,-560,0,-474,-77,'-84 660Q-81 656 -77 653V567L-81 564L-84 561L-274 560H-383Q-469 560 -471 565L-472 566Q-474 569 -474 611L-473 653Q-469 659 -466 659Q-465 660 -274 660H-84'], + + // COMBINING BREVE + 0x306: [694,-552,0,-470,-80,'-123 694Q-80 694 -80 657Q-80 626 -99 601T-161 563Q-199 552 -275 552Q-352 552 -389 563Q-470 586 -470 655Q-470 667 -468 673Q-457 694 -435 694H-431Q-408 694 -396 685Q-387 676 -387 671Q-384 661 -275 661Q-167 661 -164 671Q-164 674 -163 677T-151 687T-123 694'], + + // COMBINING DOT ABOVE + 0x307: [695,-596,0,-356,-194,'-329 596Q-346 602 -351 611T-356 638V646Q-356 653 -356 654T-356 661T-355 668T-353 673T-351 679T-347 684T-341 689T-332 693T-274 695H-221Q-202 683 -198 676T-194 645Q-194 632 -195 625T-202 610T-221 596H-329'], + + // COMBINING DIAERESIS + 0x308: [696,-595,0,-459,-91,'-331 695Q-312 683 -308 676T-304 645Q-304 632 -304 626T-311 610T-331 596L-380 595H-408Q-448 595 -457 617Q-459 621 -459 645T-457 673Q-448 696 -409 696Q-405 696 -396 696T-380 695H-331ZM-247 644Q-247 658 -246 665T-239 680T-221 694Q-217 695 -169 695H-143Q-102 695 -93 672Q-91 664 -91 645V635Q-91 613 -106 602Q-113 597 -121 596T-171 595L-219 596Q-232 600 -238 608T-246 622T-247 644'], + + // COMBINING RING ABOVE + 0x30A: [694,-538,0,-365,-119,'-365 616Q-365 658 -331 676T-256 694Q-253 694 -247 694T-236 693Q-166 693 -139 666Q-119 644 -119 616T-139 565Q-166 538 -237 538H-242Q-365 538 -365 616ZM-181 616Q-181 641 -195 647T-242 654Q-258 654 -266 654T-284 650T-298 638T-303 616Q-303 592 -289 585T-242 577Q-209 577 -195 584T-181 616'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [694,-537,0,-440,-94,'-426 686Q-424 694 -394 694H-350H-283Q-277 686 -277 682Q-277 673 -317 608T-361 538L-396 537H-420Q-432 537 -436 539T-440 548Q-440 560 -434 616Q-432 633 -430 650T-427 677L-426 686ZM-243 686Q-241 694 -211 694H-167H-100Q-94 686 -94 682Q-94 673 -134 608T-178 538L-213 537H-237Q-249 537 -253 539T-257 548Q-257 560 -251 616Q-249 633 -247 650T-244 677L-243 686'], + + // COMBINING CARON + 0x30C: [657,-500,0,-442,-109,'-442 645Q-442 657 -418 657H-398Q-393 657 -388 657T-379 657T-371 656T-365 656H-363L-319 620L-276 583Q-275 583 -232 619Q-189 656 -188 656Q-187 657 -151 657H-116Q-109 649 -109 645Q-109 642 -112 637Q-118 629 -168 566T-220 501Q-222 500 -275 500Q-329 500 -331 501Q-442 634 -442 645'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js new file mode 100644 index 00000000..2d4d8ab8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'] = { + directory: 'SansSerif/Bold', + family: 'MathJax_SansSerif', + id: 'MJSSB', + weight: 'bold', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js new file mode 100644 index 00000000..a635fc7c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js @@ -0,0 +1,83 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Bold/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-bold'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [458,0,256,54,201,'54 431Q63 458 102 458H127H149Q192 458 199 433Q201 427 201 229T199 25Q190 0 149 0H125L81 1Q61 7 54 28V431'], + + // LATIN SMALL LETTER DOTLESS J + 0x237: [458,205,286,-71,232,'-38 -84Q-36 -84 -14 -95T33 -106H38Q70 -103 78 -86Q83 -78 83 -49T84 180Q84 427 86 433Q93 458 136 458H158H180Q201 458 209 456T225 443Q230 436 231 418Q232 397 232 313V183V124V40Q232 -55 228 -87T203 -147Q166 -205 78 -205Q31 -205 -20 -189T-71 -159Q-71 -156 -59 -123Q-50 -96 -47 -91T-38 -84'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [691,0,581,92,534,'92 664Q98 683 118 690Q121 691 312 691T508 689Q534 682 534 644V632V618Q534 582 508 573L502 572Q496 572 489 572Q486 572 463 572T416 573Q333 573 291 575H253V303Q253 31 251 25Q242 0 199 0H170L119 1Q99 7 92 28V664'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [694,0,917,60,856,'381 692Q386 694 458 694Q516 694 527 693T549 687Q564 680 575 663Q576 658 715 349T856 27Q856 6 838 1H826Q815 1 795 1T747 1T686 1T616 0T539 0T458 0T378 0T300 0T230 0T169 1T122 1T90 1H78Q60 6 60 27Q62 38 201 349T341 663Q356 687 381 692ZM627 148Q626 149 581 250T492 453L447 554Q447 553 446 552Q444 546 326 278L268 148Q268 147 448 147Q627 147 627 148'], + + // GREEK CAPITAL LETTER THETA + 0x398: [716,22,856,62,793,'62 340Q62 716 425 716Q511 716 576 696T681 642T747 559T783 458T793 341Q793 264 777 203T721 89T608 7T428 -22Q62 -22 62 340ZM638 333Q638 365 637 387T632 441T621 495T600 542T567 583T518 611T451 628Q443 629 427 629Q402 629 378 624T327 608T276 571T240 511Q217 453 217 345Q217 254 231 204T279 120Q333 69 428 69Q522 69 576 120Q638 183 638 333ZM279 349V373Q279 413 305 420Q309 422 427 422H487Q550 422 563 414T576 369V349Q576 345 576 337T577 324Q577 284 550 277Q545 275 428 275H369Q306 275 293 283T279 329V349'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [694,0,672,41,630,'106 0H83Q41 0 41 28Q41 39 133 349T229 667Q242 694 296 694H335H375Q403 694 418 689T442 667Q445 660 537 350T630 28Q630 11 619 6T584 0H555H526Q478 0 465 27Q462 32 431 136T366 372T325 555V546Q320 503 287 376T222 141T186 27Q184 22 177 15T165 6Q154 0 106 0'], + + // GREEK CAPITAL LETTER XI + 0x39E: [688,0,733,46,686,'627 553Q609 553 512 554T366 555Q316 555 220 554T105 553Q96 553 90 553T82 554T78 554Q61 560 57 571T52 605V623L53 661Q59 680 79 687Q82 688 366 688Q649 688 654 686Q680 679 680 639V621V603Q680 563 654 554Q653 554 651 554T642 554T627 553ZM149 423Q152 424 366 424Q579 424 584 422Q610 415 610 376V358V340Q610 300 584 293Q579 291 366 291H232Q162 291 150 293T129 306Q122 315 122 360L123 397Q129 416 149 423ZM108 135Q143 135 226 134T363 133Q407 133 507 134T632 135H645Q675 135 684 110Q686 104 686 68V49Q686 9 660 2Q655 0 364 0L74 1Q57 7 49 21L47 28L46 65V83Q46 126 72 133Q80 135 108 135'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [691,0,794,92,702,'92 664Q98 683 118 690Q121 691 396 691T676 689Q695 684 700 666Q702 660 702 345Q702 31 700 25Q696 9 684 5T646 0H621H596Q571 0 559 4T542 25Q540 31 540 307V582H253V307Q253 31 251 25Q242 0 199 0H170L119 1Q99 7 92 28V664'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [694,0,794,61,732,'322 124Q326 124 457 125T672 127H689Q721 127 730 102Q732 96 732 64V48Q732 9 706 2Q701 0 394 0L89 1Q76 5 69 13T62 29V36Q62 37 62 38Q62 47 70 58T126 126Q161 167 185 196Q302 335 302 336L187 463Q74 584 68 594Q61 603 61 639L62 667Q68 686 88 693Q91 694 396 694T706 692Q732 686 732 647V635V621Q732 585 706 576Q705 576 702 576T691 576T670 575L302 578Q302 577 394 475T490 371Q498 362 498 347Q498 336 488 323T408 226L322 124'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [715,0,856,62,793,'62 560Q62 607 94 644T169 698T253 715Q273 715 286 713T322 704T363 677T398 625Q413 597 423 556L428 540Q429 541 436 566T454 620T494 677T561 713Q570 715 593 715Q682 715 737 668T793 560Q793 549 793 545T786 533T767 520H670Q646 532 644 551T632 579Q618 594 591 594Q539 594 524 530T509 321V216Q509 31 507 25Q498 0 455 0H426L375 1Q355 7 348 28L347 232Q346 344 346 441Q346 442 343 468T335 521T312 571T266 594Q252 594 247 593Q228 586 220 576T212 557T209 539T191 523L185 520H88Q75 527 69 534T63 545T62 560'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [694,0,794,62,732,'62 292T62 347T80 445T124 511T183 552T243 574T292 584L315 587H319V627L320 667Q329 694 370 694H397H422Q466 694 473 669Q475 663 475 625V587H478Q479 587 500 584T548 575T608 553T668 513T713 446T732 347Q732 253 674 187Q655 167 628 152T576 128T530 116T493 109L478 107H475V69V50Q475 9 449 2Q444 0 395 0L347 1Q327 7 320 28L319 67V107H315L292 110Q269 114 243 119T184 142T124 182T80 249ZM319 197T319 347T318 497Q316 497 307 494T284 485T262 471Q220 438 220 347Q220 285 239 249Q248 234 261 223T286 208T308 200L317 197Q319 197 319 347ZM572 347V357Q572 387 569 407T548 452T496 491Q495 491 494 491T487 493T475 497V197Q518 210 541 232T571 303Q572 312 572 347'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [694,0,856,61,794,'61 585Q62 594 62 597T64 606T73 616T89 626H138Q196 626 208 620Q243 602 253 546T261 431T271 309T325 219Q342 205 349 205Q350 205 350 436L351 667Q360 694 401 694H428H454Q495 694 504 671Q506 663 506 436L507 205Q542 222 561 251T586 318T593 392T595 472T602 546Q614 614 661 625Q665 626 708 626H730Q766 626 780 618T794 582Q794 548 768 540Q755 538 754 501T750 410T736 298T680 191T560 120Q550 116 512 109H506V70V50Q506 9 480 2Q475 0 426 0L378 1Q358 7 351 28L350 68V109L335 111Q298 117 267 129T214 156T175 191T146 229T127 272T115 314T109 357T106 395T105 429Q104 537 87 540Q66 548 63 565Q61 570 61 585'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [716,1,794,49,744,'241 122Q225 154 191 199T131 278T83 363T61 464Q61 497 68 527T94 591T145 650T228 693T349 715Q354 715 370 715T396 716Q539 716 622 668Q658 647 682 617T715 556T728 505T732 465Q732 415 711 365T663 280T602 200T552 122H632Q649 122 669 122T693 123H697Q736 123 742 98Q744 92 744 62V47Q744 9 718 2Q713 0 591 0L471 1Q454 7 446 21Q444 27 444 45Q444 96 463 154T506 257T549 360T569 469Q569 504 563 530T538 580T485 616T396 629Q313 629 268 594T223 468Q223 419 243 361T286 258T330 152T350 41Q350 14 335 7T276 -1Q267 -1 241 -1T197 0L77 1Q57 7 50 28L49 59V74Q49 114 75 121Q81 123 100 123Q104 123 124 123T161 122H241'], + + // EN DASH + 0x2013: [327,-240,550,0,549,'0 284Q0 318 26 325Q30 327 274 327Q469 327 497 327T532 322Q549 310 549 283Q549 257 532 245Q525 241 498 241T275 240Q31 240 26 242Q0 249 0 284'], + + // EM DASH + 0x2014: [327,-240,1100,0,1099,'0 284Q0 318 26 325Q30 327 549 327T1073 325Q1099 318 1099 284Q1099 249 1073 242Q1068 240 549 240Q31 240 26 242Q0 249 0 284'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-443,306,81,226,'87 443L81 449V581L119 636Q125 644 131 653T141 667T148 677T154 685T158 689T163 692T167 693T173 694H190H201Q226 694 226 683Q226 678 208 635T189 590Q189 588 204 588H219Q222 584 226 581V449L219 443H87'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-442,306,80,226,'81 687Q85 693 88 693Q89 694 154 694H219Q222 690 226 687V556L187 501Q182 494 177 486T169 474T163 465T157 457T153 451T149 447T145 445T141 443T137 443T132 442H116H105Q80 442 80 453Q80 458 98 501T117 546Q117 548 102 548L87 549L81 555V687'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-443,558,138,520,'144 443L138 449V581L176 636Q182 644 188 653T198 667T205 677T211 685T215 689T220 692T224 693T230 694H247H258Q283 694 283 683Q283 678 265 635T246 590Q246 588 261 588H276Q279 584 283 581V449L276 443H144ZM381 443L375 449V581L413 636Q419 644 425 653T435 667T442 677T448 685T452 689T457 692T461 693T467 694H484H495Q520 694 520 683Q520 678 502 635T483 590Q483 588 498 588H513Q516 584 520 581V449L513 443H381'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-442,558,37,420,'38 687Q42 693 45 693Q46 694 111 694H176Q179 690 183 687V556L144 501Q139 494 134 486T126 474T120 465T114 457T110 451T106 447T102 445T98 443T94 443T89 442H73H62Q37 442 37 453Q37 458 55 501T74 546Q74 548 59 548L44 549L38 555V687ZM275 687Q279 693 282 693Q283 694 348 694H413Q416 690 420 687V556L381 501Q376 494 371 486T363 474T357 465T351 457T347 451T343 447T339 445T335 443T331 443T326 442H310H299Q274 442 274 453Q274 458 292 501T311 546Q311 548 296 548L281 549L275 555V687'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js new file mode 100644 index 00000000..aa98cefc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js @@ -0,0 +1,290 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [694,0,319,110,355,'160 187L257 694H306Q355 694 355 693L238 186H199Q160 186 160 187ZM110 2Q111 3 120 49T131 96Q131 98 180 98T229 96L219 50Q209 3 208 2V0H110V2'], + + // QUOTATION MARK + 0x22: [694,-471,500,133,472,'171 647L180 694H229Q278 694 278 693L276 686Q275 680 273 668T268 644L258 597L182 471H157Q133 471 133 472L189 595Q189 596 174 596H160V598Q160 601 171 647ZM365 647L374 694H423Q472 694 472 693L470 686Q469 680 467 668T462 644L452 597L376 471H351Q327 471 327 472L383 595Q383 596 368 596H354V598Q354 601 365 647'], + + // NUMBER SIGN + 0x23: [694,194,833,87,851,'793 170Q809 162 809 149Q809 145 807 141T802 135T796 132L793 130H547L472 -27Q397 -184 394 -187Q389 -194 379 -194Q367 -194 362 -183Q359 -179 359 -173Q360 -168 431 -20L503 129Q503 130 410 130H317L242 -27Q167 -184 164 -187Q159 -194 149 -194Q137 -194 132 -183Q129 -179 129 -173Q130 -168 201 -19L273 130H187L100 131Q87 141 87 150Q87 162 102 170H294L331 248Q339 265 349 286T365 318L370 328Q370 330 258 330Q145 330 142 332Q129 338 129 351Q129 362 140 368Q146 370 267 370L391 371L467 527Q542 684 544 686Q544 688 549 691T560 694H562Q565 693 567 692T571 690T575 686T578 681T579 672Q577 665 507 520T436 373L435 370H528L621 371L692 518Q767 675 769 677Q775 694 789 694Q798 694 804 688T809 672Q806 664 737 519L665 371L751 370Q835 370 841 368Q851 362 851 350Q851 337 841 334T799 330H765H741H645L606 250L568 170H793ZM600 328Q600 330 508 330H415Q412 326 338 171Q338 170 431 170H524L561 248Q569 265 579 286T595 318L600 328'], + + // DOLLAR SIGN + 0x24: [750,56,500,56,565,'228 70Q233 92 246 155T270 266T280 316Q271 318 265 320T237 333T200 360T172 403T159 468Q159 537 205 600T325 691Q352 701 360 701Q361 701 361 701T362 703T364 711T368 727L372 750H409Q445 750 445 749L436 705Q436 703 450 702T494 691T554 657L565 649Q562 642 548 604L534 568Q511 591 484 605T440 621L424 623L419 624L372 405Q399 400 424 384Q490 338 490 247V240Q490 156 430 85Q374 13 294 -5L284 -7L280 -30Q279 -35 278 -41T275 -52L274 -55Q274 -56 237 -56Q201 -56 201 -54Q202 -53 205 -34T211 -11Q211 -9 206 -9Q154 -2 115 19Q80 35 56 59L88 141L99 131Q109 121 119 113T141 99T160 89T180 82T197 77T214 73T228 70ZM303 426Q304 427 313 471T332 564T345 620L335 616Q287 596 263 549Q252 525 252 499Q252 470 267 451T298 426Q303 424 303 426ZM302 75Q305 75 315 80T340 98T367 125T390 164T399 214Q399 247 384 268T349 297Q338 247 326 186L302 75'], + + // PERCENT SIGN + 0x25: [750,56,833,165,815,'268 347Q224 347 195 386T165 488Q165 517 173 552Q191 637 246 693T349 749Q389 749 414 725T448 673T456 614Q456 506 396 427T268 347ZM372 604Q372 674 339 674Q311 674 290 633T261 549T253 482V474Q253 438 272 426Q277 424 286 424Q319 424 345 485T372 604ZM189 -56Q179 -56 173 -49T167 -37Q167 -30 347 198Q425 296 475 360Q780 745 785 747Q790 750 796 750Q814 748 814 730Q814 725 811 719L204 -49Q198 -56 189 -56ZM523 87Q523 184 583 265T713 347Q758 347 786 308T815 207Q815 110 757 28T629 -55Q576 -55 550 -12T523 87ZM729 200Q729 271 696 271Q675 271 658 247T631 189T616 125T611 76Q611 21 644 21H647Q672 21 700 77T729 200'], + + // AMPERSAND + 0x26: [716,22,758,71,747,'219 -22Q158 -22 117 13T71 111Q71 131 74 150T84 185T98 215T118 241T137 262T159 281T179 295T199 308L214 318L258 348L256 362Q254 373 254 413V435Q254 483 271 537T325 641T411 708Q427 715 441 715Q446 716 455 716Q504 716 534 681T565 590Q565 522 519 468T377 347L358 334Q359 333 363 320T374 290T387 262Q404 227 428 187T460 139Q521 183 574 251T651 362T674 409L710 398Q746 388 747 388Q747 381 720 333T635 213T517 94L510 87Q542 57 598 57Q649 57 708 72Q716 75 718 75L709 34L701 -7Q636 -22 578 -22Q531 -22 498 -8T428 34L408 25Q314 -22 219 -22ZM480 579Q480 640 436 640Q410 640 385 615T351 554Q340 513 340 457Q340 413 343 410Q343 406 360 419Q431 471 455 505T480 579ZM245 57Q279 59 311 67T359 81T375 89T358 113T318 178T281 260L274 277L245 257Q167 205 167 135Q167 110 174 93T194 69T217 60T237 57H245'], + + // APOSTROPHE + 0x27: [694,-471,278,190,335,'228 647L237 694H286Q335 694 335 693L334 686Q332 680 330 668T325 644L315 597L239 471H214Q190 471 190 472L246 595Q246 596 231 596H217V598Q217 601 228 647'], + + // LEFT PARENTHESIS + 0x28: [750,250,389,104,491,'195 37Q195 -7 200 -47T213 -113T231 -166T250 -204T268 -232T280 -250H204L194 -238Q104 -124 104 55Q104 238 181 432T405 740L417 750H454Q491 750 491 749L468 729Q446 709 411 667T337 565T262 405T208 188Q195 110 195 37'], + + // RIGHT PARENTHESIS + 0x29: [750,250,389,2,390,'300 463Q300 634 222 740L214 750H290L299 740Q300 738 309 726T323 707T337 682T353 651T367 613T379 566T387 510T390 444Q390 314 344 156T203 -125Q179 -155 145 -191Q111 -224 89 -241L78 -250H2Q4 -248 27 -227T65 -189T107 -140T155 -71T200 16T244 129T278 266Q300 372 300 463'], + + // ASTERISK + 0x2A: [750,-306,500,156,568,'193 608Q193 628 210 644T246 660Q250 660 252 660T257 658T264 654T272 648T284 638T302 623Q340 590 340 593Q341 594 345 623T354 682T360 715Q365 729 378 739T407 750Q424 750 433 740T443 720Q443 712 427 652L410 591L462 623Q505 650 514 655T534 660Q549 660 558 650T568 625Q568 617 567 611T560 599T551 590T536 580T519 571T496 561T470 548L429 528L474 500Q482 495 492 489T506 481T516 475T523 469T527 464T529 458T530 450Q530 430 514 414T479 397H475Q468 397 460 402T423 433Q414 440 404 448T388 461L383 465L365 344Q348 306 314 306Q302 306 292 313T281 338Q281 347 297 404L313 464L260 433Q201 397 195 397H189Q173 397 165 407T156 432Q156 438 157 443T161 452T166 460T175 468T185 475T198 482T212 489T230 497T250 506L295 528L250 556Q203 582 202 585Q193 591 193 608'], + + // PLUS SIGN + 0x2B: [583,83,778,108,775,'108 244T108 250T112 261T119 268T124 270H426V272Q428 274 457 419Q489 565 492 573Q497 583 508 583Q516 583 522 577T528 565Q528 553 498 417Q491 384 483 346T471 288L467 270H760Q775 262 775 250T760 230H458Q456 221 426 77T394 -71Q389 -83 375 -83Q367 -83 362 -78T356 -64Q356 -58 387 84Q394 118 401 155T413 210L417 229Q417 230 271 230H124Q123 230 120 232T112 239'], + + // COMMA + 0x2C: [98,125,278,63,209,'90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2Q188 0 149 -63L112 -125H63L120 0H105Q90 0 90 2'], + + // HYPHEN-MINUS + 0x2D: [259,-186,333,51,332,'66 257V259H332V257L324 220L317 186H184Q51 186 51 187T58 220T66 257'], + + // FULL STOP + 0x2E: [98,0,278,90,209,'90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2V0H90V2'], + + // SOLIDUS + 0x2F: [750,250,500,6,600,'564 744L568 747Q573 750 579 750Q588 750 594 744T599 729Q597 721 321 241T41 -243Q37 -250 27 -250Q6 -250 6 -230Q6 -228 8 -222Q9 -219 285 261T564 744'], + + // DIGIT ZERO + 0x30: [678,22,500,87,549,'245 -22Q209 -22 181 -11T135 20T107 65T92 116T88 171Q88 235 114 354T194 557Q226 606 269 635T340 671T392 678H395Q422 678 446 670T495 643T534 582T549 481Q549 430 534 350T499 213Q459 89 379 25Q315 -22 247 -22H245ZM430 582Q408 601 378 601Q313 601 269 534Q234 475 205 341Q181 232 181 174Q181 104 209 76Q231 54 260 54T318 73T368 125Q410 194 447 375Q460 445 460 487Q460 555 430 582'], + + // DIGIT ONE + 0x31: [678,0,500,88,451,'234 613Q277 613 331 628T428 678H439Q451 678 451 676Q450 671 387 373T323 74T384 73H445L430 0H259L88 1L104 73H229L332 560Q278 541 198 539Q198 540 198 541T199 546T200 554T202 564T205 576L213 612H219Q221 612 226 612T234 613'], + + // DIGIT TWO + 0x32: [678,0,500,50,551,'190 460Q189 460 181 475T164 507T155 527Q155 535 182 571Q259 678 380 678Q462 678 506 630T551 513V507Q551 418 487 349Q469 329 441 305T391 265T344 232T316 212Q158 87 158 86T188 85Q194 85 234 85T311 86Q467 86 467 85Q451 9 449 2V0H50Q54 18 58 40L67 79L133 133Q246 226 269 243Q369 318 410 373T452 492Q452 535 433 560T393 592T350 599Q311 599 279 578T231 532T203 484T190 460'], + + // DIGIT THREE + 0x33: [678,23,500,56,544,'446 542Q446 576 424 590T372 605Q330 605 288 583T216 524Q209 515 208 516Q207 517 192 549L178 580L187 589Q224 627 276 652T386 678Q456 678 500 642T544 550Q544 515 530 482T495 427T453 387T418 362L403 353L413 348Q440 335 462 313Q500 271 500 217Q500 135 423 57T236 -22T63 59L56 68L85 141Q106 112 125 98Q177 54 254 54Q315 54 355 105T396 218Q396 242 393 254Q380 301 335 313Q327 315 280 316Q233 316 233 318L249 392Q298 392 322 399Q373 408 409 453T446 542'], + + // DIGIT FOUR + 0x34: [656,0,500,62,521,'78 235L411 656H465Q519 656 519 655T475 447T430 237V235H521V233L505 160Q505 159 459 159H414L380 0H286L320 159H62L63 164Q64 169 66 179T70 198L78 235ZM342 235L421 607Q420 607 419 604Q409 535 197 267Q173 236 173 235H342'], + + // DIGIT FIVE + 0x35: [656,22,500,49,555,'330 350Q263 350 214 272H133V275Q134 276 174 467L214 655Q214 656 385 656H555V653Q555 652 554 647T550 631T546 613L539 577H284L265 486Q261 464 256 441T248 406L246 395L250 398Q255 401 264 406T286 415T315 423T350 427Q412 427 455 381T498 256Q498 150 415 64T222 -22Q186 -22 155 -12T105 12T74 41T55 65T50 77L51 79Q61 89 78 112L104 145L107 138Q110 130 114 123T125 106T142 88T165 72T196 60T236 55Q282 55 316 79T366 140T389 208T396 267Q396 310 378 330T337 350H330'], + + // DIGIT SIX + 0x36: [678,22,500,94,548,'437 605Q397 605 361 585T301 536T261 477T236 426T228 401L236 408Q244 414 260 424T296 445T345 462T402 469H404Q422 469 434 467T465 446T498 394Q515 351 515 307Q515 254 497 193T439 85Q352 -22 246 -22Q220 -22 196 -14T148 15T109 78T94 179Q94 272 123 373Q163 505 257 591T450 678Q474 678 498 674T535 664T548 656L540 621L532 586L520 590Q509 594 485 599T437 605ZM339 392Q281 392 233 334T185 163V158Q185 87 230 61Q244 54 262 54Q325 54 371 122Q395 158 407 217T419 298Q419 337 401 364T339 392'], + + // DIGIT SEVEN + 0x37: [656,11,500,143,596,'173 614L181 656H389Q596 656 596 655L595 650Q594 645 592 635T588 616L580 578L554 551Q313 307 245 4L242 -11H192Q143 -11 143 -10Q144 0 148 17T169 89T212 198T285 327T393 470Q423 504 472 550Q479 555 485 561T496 571L329 570Q163 570 163 571L164 577Q166 583 168 593T173 614'], + + // DIGIT EIGHT + 0x38: [678,22,500,77,554,'159 470Q159 547 229 612T394 678Q467 678 510 636T554 533Q554 512 549 493T535 458T515 429T492 405T467 386T443 372T423 362T409 356L404 354Q404 353 405 353Q411 353 432 341T476 295T500 218Q500 134 424 56T246 -22Q175 -22 126 22T77 143Q77 204 110 251T188 327L202 334Q216 340 229 346T243 353T235 358T214 372T189 393T168 426T159 470ZM467 527Q467 605 375 605Q317 605 281 566T244 472Q244 429 271 411T334 392Q392 392 429 430T467 527ZM405 228Q405 262 384 289T315 316Q257 316 216 266T174 144Q174 95 199 75T262 54Q329 54 367 109T405 228'], + + // DIGIT NINE + 0x39: [677,22,500,77,545,'220 594Q303 677 389 677Q545 677 545 479Q545 413 526 327Q493 175 398 77T202 -22Q124 -22 77 25L130 91L137 83Q169 54 218 54Q255 54 290 76T347 129Q364 151 380 182T403 232T411 256Q410 255 390 241T353 217T303 197T236 187Q195 187 173 209Q155 226 140 263T124 352Q124 392 135 435Q154 527 220 594ZM455 497Q455 605 383 605Q340 605 305 577T246 492Q220 411 220 360Q220 278 279 264Q280 264 287 264T299 263Q347 263 387 302Q455 375 455 497'], + + // COLON + 0x3A: [444,0,278,90,282,'174 396L184 444H233Q282 444 282 443Q277 421 272 394L262 346H213Q164 346 164 347Q169 369 174 396ZM90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2V0H90V2'], + + // SEMICOLON + 0x3B: [444,125,278,63,282,'174 396L184 444H233Q282 444 282 443Q277 421 272 394L262 346H213Q164 346 164 347Q169 369 174 396ZM90 2Q91 3 100 49T111 96Q111 98 160 98T209 96L199 50Q189 3 188 2Q188 0 149 -63L112 -125H63L120 0H105Q90 0 90 2'], + + // EQUALS SIGN + 0x3D: [370,-130,778,88,796,'142 368Q145 370 463 370Q780 370 784 368Q796 364 796 350T784 332Q780 330 463 330Q145 330 142 332Q129 338 129 351Q129 362 142 368ZM88 137T88 150T102 170H738Q739 170 742 168T750 161T754 150T750 139T743 132T738 130H102Q88 137 88 150'], + + // QUESTION MARK + 0x3F: [704,0,472,173,536,'194 652Q194 654 218 666T284 691T362 704Q444 704 490 678T536 583Q536 541 516 500T459 433Q415 400 387 371T343 313T321 266T307 216L301 186H262Q223 186 223 187Q224 199 228 218T250 288T294 377Q317 413 344 440T391 481T414 499Q442 527 442 574Q442 584 441 590T433 607T409 623T362 629Q335 629 310 624T267 610T235 595T214 582T205 576L200 614Q194 651 194 652ZM173 2Q174 3 183 49T194 96Q194 98 243 98T292 96L282 50Q272 3 271 2V0H173V2'], + + // COMMERCIAL AT + 0x40: [705,10,667,120,707,'120 267Q120 377 179 478T336 642T538 705Q610 705 658 662T707 513Q707 425 681 331Q658 241 590 179T447 117Q386 117 343 163T300 288Q300 397 374 486T544 576Q575 576 608 562Q590 628 517 628Q406 628 309 522T212 278Q212 179 267 122T404 65T550 91H631Q513 -10 390 -10Q265 -10 193 70T120 267ZM600 397Q600 441 581 471T530 501Q476 501 433 436T390 298Q390 254 409 224T462 193Q512 193 556 257T600 397'], + + // LATIN CAPITAL LETTER A + 0x41: [694,0,667,28,638,'28 0L429 694H533L585 350Q596 275 610 182T632 46L638 3V0H530L528 18Q527 25 515 103T503 183H223L135 29L118 1L73 0H28ZM492 254Q492 256 473 398T454 589V610Q433 552 290 301L264 255L378 254H492'], + + // LATIN CAPITAL LETTER B + 0x42: [694,0,667,90,696,'501 363Q557 355 605 316T653 222Q653 148 586 85T403 2Q394 1 240 0Q90 0 90 1L100 46Q109 90 128 177T164 348L238 694H375Q518 693 546 688Q614 674 655 635T696 544Q696 490 648 441T516 368L501 363ZM601 530Q601 568 566 590T479 621Q472 622 394 623H320L297 513Q292 489 286 459T276 415L273 401V399H339H372Q504 399 571 466Q601 498 601 530ZM257 322Q256 320 230 197T203 73Q203 71 289 71Q379 72 387 73Q459 84 507 122T556 210Q556 255 519 283T428 320Q415 322 336 323Q257 323 257 322'], + + // LATIN CAPITAL LETTER C + 0x43: [705,10,639,124,719,'124 266Q124 372 179 473T333 639T544 705Q592 705 635 697T698 679L718 670Q719 669 701 621T681 572L676 576Q670 580 661 586T641 598T614 611T583 620Q558 625 526 625Q406 625 318 516T230 276Q230 238 236 212Q251 148 294 108T412 68Q469 68 508 80T598 123Q608 129 608 128Q606 109 603 87L598 45L573 33Q521 7 486 -1T394 -10Q358 -10 346 -8Q260 5 202 62Q124 145 124 266'], + + // LATIN CAPITAL LETTER D + 0x44: [694,0,722,88,747,'162 348L236 694H385Q535 693 543 692Q600 682 641 654T705 586T737 506T747 425Q747 296 672 187Q625 114 548 62T384 1Q376 0 262 0Q88 0 88 1L98 46Q107 90 126 177T162 348ZM622 533Q575 624 443 624Q434 624 419 624T399 623H321L263 348Q249 283 234 213T212 107L204 72Q204 71 289 71Q374 72 386 74Q501 94 573 193T646 422Q646 487 622 533'], + + // LATIN CAPITAL LETTER E + 0x45: [691,0,597,86,688,'86 2Q88 4 160 346T233 689Q233 691 461 691Q688 691 688 689Q685 686 671 611H495L320 612L319 609Q319 607 297 501L274 397H436Q597 397 597 396L596 391Q595 386 593 376T589 358L581 322L420 321Q258 321 258 320Q209 89 208 87Q208 85 390 85Q417 85 460 85T518 86L572 85Q556 8 554 2V0H86V2'], + + // LATIN CAPITAL LETTER F + 0x46: [691,0,569,86,673,'86 2Q88 4 160 346T233 689Q233 691 453 691T673 689Q670 686 656 611H488L320 612Q314 579 302 523T281 427T272 385Q272 384 419 384H567L551 308H255L223 156Q216 124 207 82T194 20L190 2Q190 0 138 0H86V2'], + + // LATIN CAPITAL LETTER G + 0x47: [705,11,667,125,730,'125 267Q125 375 182 476T337 641T544 705Q598 705 644 693T710 669T730 655L712 609L693 560L692 557L681 567Q618 626 526 626Q447 626 378 573T269 440T229 277Q229 185 276 127T406 68Q422 68 451 71T502 78T524 84L526 93Q528 102 532 119T539 153L553 222Q553 223 495 223Q436 223 436 224Q436 230 444 262L452 299H662V296Q661 290 635 166T607 40Q606 37 576 25T492 1T391 -11Q272 -11 199 66T125 267'], + + // LATIN CAPITAL LETTER H + 0x48: [694,0,708,86,768,'517 2Q518 3 551 161T585 322Q586 323 557 323T422 323H259L190 0H138Q86 0 86 1L96 46Q105 90 124 177T160 348L234 694H337V691Q336 690 306 545T275 399H602L603 403Q603 407 634 551L665 694H768V691Q768 690 695 348T621 2V0H517V2'], + + // LATIN CAPITAL LETTER I + 0x49: [694,0,278,87,338,'161 348L235 694H338V691Q338 690 265 348T191 2V0H139Q87 0 87 1L96 46Q106 90 125 177T161 348'], + + // LATIN CAPITAL LETTER J + 0x4A: [694,22,472,46,535,'377 424L435 694H535V691Q534 685 476 412T416 135Q401 74 350 26T210 -22Q165 -22 124 -11T65 9T46 21L54 41Q62 61 70 83T81 109Q82 111 85 106Q86 105 87 103Q93 94 103 84T135 64T185 53Q238 53 272 76T317 142Q317 145 325 182T348 289T377 424'], + + // LATIN CAPITAL LETTER K + 0x4B: [694,0,694,88,784,'236 223Q235 222 213 113T188 2V0H138Q88 0 88 1L98 46Q107 90 126 177T162 348L236 694H285Q335 694 335 693L330 671Q326 649 316 603T298 518Q289 477 280 433T266 366L261 343L672 694H729L784 693L465 420L651 0H596L541 1L384 350Q383 351 310 288T236 223'], + + // LATIN CAPITAL LETTER L + 0x4C: [694,0,542,87,516,'161 348L235 694H338V691Q338 690 273 385T208 79Q278 80 362 80H516Q502 11 499 2V0H293Q87 0 87 1L96 46Q106 90 125 177T161 348'], + + // LATIN CAPITAL LETTER M + 0x4D: [694,0,875,92,929,'375 691Q456 215 459 124V106Q488 177 762 641L793 694H929V691Q929 690 856 348T782 2V0H689V2Q691 4 753 304Q817 604 818 606Q819 611 817 608Q817 607 815 603Q798 559 540 117L484 22H440L397 23L393 42Q393 47 373 169T334 422T315 594V609L250 306Q186 3 185 2Q185 0 138 0Q92 0 92 1L102 46Q111 90 130 177T166 348L240 694H375V691'], + + // LATIN CAPITAL LETTER N + 0x4E: [694,0,708,88,766,'311 609Q310 608 246 306T181 2V0H134Q88 0 88 1L98 46Q107 90 126 177T162 348L236 694H382L383 691Q383 688 418 561T493 286T541 97L544 84L545 89Q545 90 553 128T578 246T610 394L674 694H766V691Q766 690 693 348T619 2V0H472L469 13Q468 17 393 293T312 605L311 609'], + + // LATIN CAPITAL LETTER O + 0x4F: [716,23,736,118,763,'118 254Q118 366 174 473T324 648T517 716Q627 716 695 638T763 435Q763 321 706 215T555 43T362 -22Q256 -22 187 56T118 254ZM380 58Q452 58 518 116T622 263T661 442Q661 496 646 535T608 594T567 622T534 634Q516 636 496 636Q400 636 313 528T225 264Q225 172 267 115T380 58'], + + // LATIN CAPITAL LETTER P + 0x50: [694,0,639,88,690,'162 348L236 694H378Q522 693 530 692Q604 680 647 635T690 524Q690 474 665 430T612 359Q550 299 465 280Q443 275 343 274H250V271Q250 269 235 201T206 68T192 2V0H140Q88 0 88 1L98 46Q107 90 126 177T162 348ZM594 513Q594 560 562 588T477 622Q470 623 394 623H321L293 487L263 349V347H342H347H375Q530 347 578 449Q594 483 594 513'], + + // LATIN CAPITAL LETTER Q + 0x51: [716,125,736,118,763,'118 254Q118 366 174 473T324 648T517 716Q627 716 695 638T763 435Q763 305 693 194T543 36Q547 29 586 -47T625 -125H504L450 -8Q406 -22 363 -22Q256 -22 187 56T118 254ZM661 437Q661 532 616 584T506 636Q428 636 361 578T257 433T220 258Q220 167 264 113T380 58Q390 58 397 58T408 59T413 60T417 61Q417 63 387 127T356 193Q356 194 409 194H462L485 150L508 105Q509 103 532 125T567 161Q661 278 661 437'], + + // LATIN CAPITAL LETTER R + 0x52: [694,0,646,88,698,'162 348L236 694H375H414H445Q507 694 538 690T606 668Q698 623 698 534V528Q698 447 608 377Q582 358 555 345T512 326L497 321L617 0H565L513 1L402 309H255L189 0H138Q88 0 88 1L98 46Q107 90 126 177T162 348ZM603 525Q603 603 499 620Q486 622 403 623H321L297 506Q292 482 285 449T274 402L271 387V385H346Q350 385 363 385T386 384Q548 384 592 479Q603 503 603 525'], + + // LATIN CAPITAL LETTER S + 0x53: [716,22,556,54,609,'161 478Q161 568 242 642T435 716Q527 716 599 673L609 667Q595 633 589 615L571 568Q570 568 564 575T546 592T518 611T475 628T417 635Q351 635 305 596T259 507Q259 465 290 444T372 411T432 396Q473 385 509 343T545 236Q545 140 464 59T270 -22Q155 -22 54 48L92 146Q93 146 101 138T124 117T161 92T216 72T288 63Q360 63 403 109T447 204Q447 220 444 233T435 256T421 273T404 285T385 295T366 301T347 306T331 310T315 314T292 321T265 331T235 346T207 367T183 395T168 431T161 478'], + + // LATIN CAPITAL LETTER T + 0x54: [688,0,681,165,790,'165 608L182 687Q182 688 486 688H790L789 685L781 645L773 609H521L457 306Q393 3 392 2Q392 0 340 0H288V2Q289 5 353 304T417 605V609L291 608H165'], + + // LATIN CAPITAL LETTER U + 0x55: [694,22,688,131,747,'340 -22Q251 -22 191 33T131 177V187Q131 192 131 195T132 205T133 215T136 231T141 253T147 285T156 328T168 384T184 457L235 694H338V691Q338 690 288 451T236 210Q234 194 234 177Q234 138 247 111T280 72T319 54T357 49Q408 49 449 74T510 128Q516 136 521 143T530 158T538 175T545 194T553 220T560 250T569 289T579 336T591 395T606 464L655 694H747V691Q651 243 645 213Q623 149 587 102Q482 -22 340 -22'], + + // LATIN CAPITAL LETTER V + 0x56: [694,0,667,161,799,'220 348L161 694H216Q270 694 270 693L283 613Q334 313 346 215Q359 102 359 96Q359 87 358 84Q388 162 684 657L706 694H753Q799 694 799 693L387 0H333Q279 0 279 1L272 45Q264 89 249 177T220 348'], + + // LATIN CAPITAL LETTER W + 0x57: [694,0,944,161,1076,'596 540Q596 562 597 585T599 609Q599 588 436 255Q402 185 362 104L310 0H213V3Q213 6 188 347T161 694H263L265 664Q290 327 293 184Q293 112 289 85Q290 85 290 87Q290 95 301 123T332 194T373 282T419 380T463 469T498 541T517 579L574 694H671V689L674 646Q678 603 682 538T691 401T699 263T703 160Q703 102 700 87Q719 154 930 576L989 694H1076Q1076 693 903 347L730 0H628V4L626 26Q624 48 622 85T616 168T609 267T603 369T598 464T596 540'], + + // LATIN CAPITAL LETTER X + 0x58: [694,0,667,14,758,'14 0Q17 3 184 184T352 367L265 529Q244 567 222 609T188 672L176 692Q176 694 236 694H297L338 612Q387 515 400 489L421 448L645 694H758L708 640Q481 393 456 368Q455 366 500 281T596 104T652 0H531L388 293L128 0H14'], + + // LATIN CAPITAL LETTER Y + 0x59: [694,0,667,151,809,'151 692Q151 694 212 694H272L418 362L696 683L705 694H758L809 693Q809 692 630 490T444 280Q442 275 413 139L383 1L333 0Q282 0 282 2Q283 3 312 141L341 278L246 484L151 692'], + + // LATIN CAPITAL LETTER Z + 0x5A: [694,0,611,55,702,'67 54Q551 615 551 617Q543 618 517 618Q510 618 463 618T376 617Q200 617 200 618T209 657L216 694H459Q702 694 702 692Q702 689 697 667L692 643L207 80H392Q493 81 577 81Q577 70 560 2V0H55V2L67 54'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,289,41,425,'148 252L253 750H339Q425 750 425 749L424 744Q423 739 421 729T417 711L409 675L367 674H325L235 252Q145 -167 145 -172Q145 -174 187 -174H229V-176Q213 -240 213 -250H127Q41 -250 41 -248Q41 -245 148 252'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,289,-31,353,'353 749Q353 746 303 512T200 27T141 -250H-31Q-31 -240 -15 -176V-174H70L250 674H208L165 675L181 750H267Q353 750 353 749'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-527,500,190,533,'190 527L360 694H434L484 611Q533 528 533 527H457L390 632L385 639L266 527H190'], + + // LOW LINE + 0x5F: [-38,114,500,50,565,'59 -75L66 -38H316Q565 -38 565 -39T558 -75T549 -112Q549 -114 299 -114Q50 -114 50 -113L52 -108Q53 -103 55 -93T59 -75'], + + // LATIN SMALL LETTER A + 0x61: [461,10,481,61,473,'313 386Q286 386 260 381T217 369T186 355T164 342T155 337Q154 338 159 377T165 418Q251 461 320 461Q322 461 328 461T337 460Q397 460 435 424T473 329Q473 325 473 318T472 308Q432 110 407 2V0H317V2L325 38Q295 21 269 10Q215 -10 156 -10H149Q76 -10 62 69Q61 75 61 90Q61 127 73 150T116 194Q146 215 207 231T348 252H368L373 277Q378 302 378 318Q378 367 339 384Q332 386 313 386ZM150 116Q150 93 171 79T223 65Q259 65 293 85T341 135Q343 140 348 160T353 184Q353 186 342 186Q298 186 231 174T153 134Q150 127 150 116'], + + // LATIN SMALL LETTER B + 0x62: [694,11,517,75,539,'302 -11Q266 -11 235 1T190 26L176 38Q170 8 168 2V0H121Q75 0 75 1L84 46Q94 90 113 177T149 348L223 694H267Q312 694 312 693T282 551T251 407Q251 406 256 408T271 415Q347 454 430 454H438Q501 454 528 374Q539 339 539 299Q539 179 466 84T302 -11ZM443 275Q443 317 421 348T346 379Q318 379 296 369Q269 359 238 332L193 118L198 109Q220 65 269 65Q350 65 396 130T443 275'], + + // LATIN SMALL LETTER C + 0x63: [460,11,444,74,499,'75 164Q75 226 100 282T165 377T252 437T342 460H347Q447 460 499 417L483 378Q468 339 468 338Q466 338 455 347T424 366T385 378Q355 382 334 382Q262 382 215 318T168 177Q168 120 196 95T259 69H269Q345 69 420 108Q432 114 432 113T427 72L422 32L402 22Q382 12 344 2T259 -11Q214 -11 180 2T126 36T95 81T79 126T75 164'], + + // LATIN SMALL LETTER D + 0x64: [694,10,517,73,588,'73 156Q73 224 102 293T184 408T294 455Q375 455 432 413Q438 407 438 410T469 553L499 694H588V691Q588 690 515 348T441 2V0H348V2Q357 29 357 43L352 41Q332 24 288 7T196 -10H190Q178 -10 166 -7T134 8T98 46T75 113Q73 129 73 156ZM419 335Q419 339 412 348T386 368T342 379Q284 379 243 343T184 261T167 168Q167 122 191 94T263 66Q321 66 367 116L374 124L397 229Q419 333 419 335'], + + // LATIN SMALL LETTER E + 0x65: [460,11,444,71,472,'248 -11Q170 -11 121 41T71 173Q71 265 133 349T285 454Q305 460 318 460H328Q368 460 399 448Q472 414 472 309Q472 274 464 234L462 219H159Q156 198 156 185Q156 137 179 107T237 68Q246 66 268 66Q345 66 427 113V109Q426 108 422 73T417 37Q417 34 409 29Q329 -11 248 -11ZM401 299Q399 337 376 361T316 385Q291 385 266 371Q220 350 184 289H401V299'], + + // LATIN SMALL LETTER F + 0x66: [705,0,306,94,494,'381 443Q381 440 374 407T366 371H315Q263 371 263 369Q262 368 224 186Q215 145 205 97T189 25L184 2V0H94V2L99 25Q104 48 114 96T134 186Q172 368 173 369Q173 371 139 371H106V373L114 410L121 444H155L188 445L191 455L212 551Q232 612 288 658T415 705Q438 705 464 701T494 694Q478 614 477 614L467 618Q457 621 440 624T406 629H400Q333 629 306 579Q301 568 289 507L275 444H328Q381 444 381 443'], + + // LATIN SMALL LETTER G + 0x67: [455,206,500,12,568,'113 252Q113 334 177 394T311 454Q332 454 350 451T379 442T398 432T410 424L413 421Q412 423 411 424L409 426Q409 429 434 436T496 449T560 455H568V451Q568 447 567 429T566 394L565 377L553 379Q522 385 479 385Q463 385 456 384L443 383L436 392Q454 357 454 324Q454 243 390 182T249 120Q233 120 219 122T195 128T178 136T167 142L163 145Q149 131 149 105Q149 78 171 72L242 71Q246 71 269 71T303 71T336 68T372 62T403 51T432 32Q461 8 461 -40Q461 -112 383 -159T211 -206Q123 -206 68 -172T12 -86Q12 -55 31 -23T82 32Q90 38 89 39Q89 40 87 44T82 59T80 82Q80 134 126 189Q113 228 113 252ZM369 319Q369 354 350 368T304 383Q274 383 252 369T218 333T202 291T197 255Q197 221 217 206T263 191Q317 191 343 233T369 319ZM373 -59Q373 -41 362 -30T330 -13T291 -7T247 -5H216Q167 -5 158 -6T139 -12Q123 -20 110 -38T97 -76Q97 -102 133 -118T221 -134Q242 -134 267 -130T316 -118T357 -94T373 -59'], + + // LATIN SMALL LETTER H + 0x68: [694,0,517,73,513,'416 321Q416 379 336 379Q276 379 237 302Q226 276 209 202T180 66T166 2V0H119Q73 0 73 1L82 46Q92 90 111 177T147 348L221 694H265Q310 694 310 693T279 544L247 395Q325 455 403 455Q513 455 513 358Q513 334 508 309Q507 304 476 156T443 2V0H350V2L357 34Q364 65 373 110T392 200T409 281T416 321'], + + // LATIN SMALL LETTER I + 0x69: [680,0,239,74,315,'189 578Q190 579 199 627T211 678V680H315V678Q313 675 304 627T293 578V576H189V578ZM168 442T168 443T213 444T258 443T212 225T164 2V0H74V2Q75 7 121 224'], + + // LATIN SMALL LETTER J + 0x6A: [680,204,267,-96,336,'211 577L233 680H284Q336 680 336 679L315 576H263Q211 576 211 577ZM19 -204Q-12 -204 -40 -196T-82 -179T-96 -170Q-96 -168 -78 -132L-61 -95L-54 -103Q-32 -126 3 -126Q26 -126 50 -116Q76 -101 83 -85Q84 -79 140 180T196 443Q196 444 241 444T286 443Q286 441 232 186T175 -75Q163 -120 122 -162T19 -204'], + + // LATIN SMALL LETTER K + 0x6B: [694,0,489,76,542,'150 348L224 694H310V691Q218 259 218 258L232 270Q245 281 274 306T327 351L435 444H489L542 443Q542 442 443 357L344 272L471 1L422 0H372L366 14Q359 27 347 54T323 105L273 210Q271 210 231 174L190 139L160 0H118Q76 0 76 1L86 46Q95 90 114 177T150 348'], + + // LATIN SMALL LETTER L + 0x6C: [694,0,239,74,311,'148 348L222 694H311V691Q311 690 238 348T164 2V0H119Q74 0 74 1L84 46Q93 90 112 177T148 348'], + + // LATIN SMALL LETTER M + 0x6D: [455,0,794,73,790,'416 321Q416 379 336 379Q276 379 237 302Q226 276 209 202T180 66T166 2V0H119Q73 0 73 2L121 226L169 449Q169 450 213 450H256L249 421Q248 417 247 412T246 404T245 398T244 394T244 392Q250 398 261 407T307 433T379 454H392H400Q451 454 472 439Q482 434 489 427T500 412T506 399T510 388L511 384Q511 384 517 388Q563 431 620 446Q648 455 680 455Q790 455 790 358Q790 334 785 309Q784 304 753 156T720 2V0H627V2L634 34Q641 65 650 110T669 200T686 281T693 321Q693 379 613 379Q553 379 514 302Q503 276 486 202T457 66T443 2V0H350V2L357 34Q364 65 373 110T392 200T409 281T416 321'], + + // LATIN SMALL LETTER N + 0x6E: [454,0,517,73,514,'416 321Q416 379 336 379Q276 379 237 302Q226 276 209 202T180 66T166 2V0H119Q73 0 73 2L121 226L169 449Q169 450 213 450H256L249 421Q248 417 247 412T246 404T245 398T244 394T244 392Q250 398 261 407T307 433T379 454H392Q416 454 433 452T470 440T502 411T513 358Q513 334 508 309Q507 304 476 156T443 2V0H350V2L357 34Q364 65 373 110T392 200T409 281T416 321'], + + // LATIN SMALL LETTER O + 0x6F: [461,11,500,69,523,'69 169Q69 238 107 306T211 417T348 461Q419 461 471 412T523 271Q523 161 438 75T247 -11Q170 -11 120 39T69 169ZM432 279Q432 338 401 361T333 385Q280 385 240 352T182 273T164 178Q164 119 195 94T265 68Q306 68 344 94Q380 115 406 169T432 279'], + + // LATIN SMALL LETTER P + 0x70: [455,194,517,34,538,'259 443Q251 405 251 404L260 409Q269 414 286 421T324 436T375 449T434 455Q482 455 510 417T538 303Q538 169 463 79T302 -11Q226 -11 176 39V36Q175 35 151 -80L127 -193Q127 -194 80 -194H34V-191L102 127L169 443Q169 444 214 444T259 443ZM269 65Q332 65 386 124T441 262Q441 304 422 334T370 373Q356 375 339 375Q293 375 238 331L193 118Q200 103 206 94T229 75T269 65'], + + // LATIN SMALL LETTER Q + 0x71: [455,194,517,72,538,'72 149Q72 272 146 363T304 455Q340 455 371 442T409 423T436 398Q438 411 442 427L448 455H538L400 -193Q400 -194 354 -194Q307 -194 307 -193L356 37V41Q355 41 350 38T332 27T302 13Q247 -10 191 -10H179Q138 -10 105 32T72 149ZM414 298Q402 376 341 376Q277 376 223 317T169 182Q169 121 198 93T265 65Q319 65 365 111L377 123L414 298'], + + // LATIN SMALL LETTER R + 0x72: [455,0,342,74,424,'240 377L244 380Q248 384 255 390T272 404T296 419T325 434T361 446T401 454Q403 454 408 454T416 455H424L421 442Q419 435 413 405T406 373Q351 373 294 336T216 237Q213 231 201 173T178 60T164 2V0H119Q74 0 74 2L122 226L170 449Q170 450 213 450H255L247 414Q246 409 245 403T243 393T241 385T240 379T240 377'], + + // LATIN SMALL LETTER S + 0x73: [461,11,383,35,436,'99 299Q99 318 106 341T133 393T195 441T298 461Q336 461 370 453T420 437L436 429Q436 428 421 389T405 350Q356 386 273 386H265Q248 386 237 384T211 371T191 337Q189 329 189 326Q189 320 190 315T194 306T200 299T209 293T218 289T228 285T239 283T251 281T263 278L270 276Q278 275 283 274T298 270T316 264T333 255T351 243T367 228T380 209T388 186T391 157Q391 96 341 43T193 -11Q171 -11 150 -8T114 -1T84 9T61 19T45 28T35 33Q35 36 67 116L76 109Q132 67 211 67Q258 67 279 88T301 135Q301 159 280 170T224 187T180 197Q141 212 120 239T99 299'], + + // LATIN SMALL LETTER T + 0x74: [571,11,361,97,410,'245 68Q267 68 289 75T322 90L334 98Q338 94 338 28V24L324 19Q268 -4 218 -8Q198 -11 177 -11Q118 -11 118 75Q118 98 123 127Q125 137 149 251T174 369Q174 371 135 371H97V373L105 410L112 444H152L192 445L200 478Q208 512 213 541L219 571H261Q303 571 303 570T290 506L276 444H343Q410 444 410 443Q410 440 403 407T395 371H328Q261 371 261 369Q211 152 211 118Q211 68 245 68'], + + // LATIN SMALL LETTER U + 0x75: [444,10,517,90,537,'166 -10H160Q146 -10 137 -8T115 0T97 22T90 63Q90 79 130 268L167 443Q167 444 214 444Q260 444 260 443L224 273Q187 97 187 86Q187 70 202 65T250 59Q303 59 336 83T379 139Q380 143 412 292T444 443Q444 444 491 444Q537 444 537 443T491 225T443 2V0H353V2L361 38L352 34Q344 29 326 22T286 7T232 -5T166 -10'], + + // LATIN SMALL LETTER V + 0x76: [444,0,461,108,540,'177 6L108 442V444H201V442Q202 441 213 371T235 213T246 90V65Q259 117 429 406L450 444H495Q540 444 540 443Q539 442 411 221L282 1L230 0H178L177 6'], + + // LATIN SMALL LETTER W + 0x77: [444,0,683,108,762,'148 5Q147 8 128 222T109 440L108 444H199V442Q200 441 204 385T214 253T219 140Q219 108 215 76Q215 72 214 67V65L215 66Q219 95 278 221L390 444H475V437Q497 203 497 121Q497 90 494 70Q494 67 494 67L496 73Q520 143 654 405L674 444H718Q762 444 762 443L534 1L483 0H432V5Q429 28 422 126T413 283Q413 343 416 370L417 378Q416 377 416 376Q401 303 248 12L242 0H148V5'], + + // LATIN SMALL LETTER X + 0x78: [444,0,461,1,537,'317 229Q453 9 460 0H409L359 1L312 88Q266 176 265 176Q265 177 254 165T223 132T182 88L100 0H1L15 14Q29 28 61 59T118 115L236 229L226 244Q108 433 100 444H201L290 294L438 444H537L528 435Q526 432 512 418T468 376T418 327L317 229'], + + // LATIN SMALL LETTER Y + 0x79: [444,205,461,1,540,'11 -117L20 -120Q28 -124 46 -128T84 -132H100Q124 -122 149 -85Q200 -6 200 1Q200 17 155 204T109 442Q109 444 156 444H203Q203 443 208 419T221 357T235 277T248 190T254 114Q254 81 250 67V65Q251 65 251 67Q256 94 297 177Q339 259 422 397L450 444H540Q540 443 386 186T219 -90Q179 -153 145 -179T73 -205Q52 -205 34 -202Q29 -202 21 -201T7 -198L1 -197Q1 -196 6 -157T11 -117'], + + // LATIN SMALL LETTER Z + 0x7A: [444,0,435,28,494,'129 408L136 444H315Q494 444 494 443Q494 441 489 419L484 396L164 76L291 77Q418 77 418 76T411 41T402 2V0H215Q28 0 28 2L34 27L38 50L360 371L240 370Q121 370 121 371Q124 388 129 408'], + + // TILDE + 0x7E: [327,-193,500,199,560,'330 327Q356 326 388 298T446 269Q470 269 484 327H522Q560 327 560 325L557 316Q554 306 549 292T535 263T512 232T480 208Q453 193 429 193T370 222T315 251Q285 251 275 193H199V197Q214 257 251 292T330 327'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js new file mode 100644 index 00000000..01cea2bd --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'], + { + // COMBINING GRAVE ACCENT + 0x300: [694,-527,0,-270,-87,'-262 681L-270 694H-177L-132 612Q-89 530 -87 528Q-87 527 -125 527H-163L-208 598Q-254 670 -262 681'], + + // COMBINING ACUTE ACCENT + 0x301: [694,-527,0,-190,63,'-96 625L-29 694H63Q42 673 -31 605L-114 527H-190L-176 541Q-160 559 -96 625'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-527,0,-310,33,'-310 527L-140 694H-66L-16 611Q33 528 33 527H-43L-110 632L-115 639L-234 527H-310'], + + // COMBINING TILDE + 0x303: [677,-543,0,-301,60,'-170 677Q-144 676 -112 648T-54 619Q-30 619 -16 677H22Q60 677 60 675L57 666Q54 656 49 642T35 613T12 582T-20 558Q-47 543 -71 543T-130 572T-185 601Q-215 601 -225 543H-301V547Q-286 607 -249 642T-170 677'], + + // COMBINING MACRON + 0x304: [631,-552,0,-314,64,'-314 553L-297 631H-116Q64 631 64 630Q60 612 56 591L47 553L-133 552Q-314 552 -314 553'], + + // COMBINING BREVE + 0x306: [694,-508,0,-284,73,'-142 508Q-205 508 -244 548T-284 652Q-284 666 -281 683L-280 694H-204Q-205 689 -205 677Q-205 650 -196 631T-173 604T-147 593T-125 590Q-85 590 -50 618T-5 686L-2 694H73V690Q53 610 -10 559T-142 508'], + + // COMBINING DOT ABOVE + 0x307: [680,-576,0,-180,-54,'-180 578Q-179 579 -170 627T-158 678V680H-54V678Q-56 675 -65 627T-76 578V576H-180V578'], + + // COMBINING DIAERESIS + 0x308: [680,-582,0,-273,40,'-273 584Q-272 585 -262 632L-252 678V680H-154V678L-164 632Q-174 585 -175 584Q-175 582 -224 582T-273 584ZM-78 586Q-78 587 -69 632T-58 678V680H40L39 677Q39 676 38 670T34 651T29 628L19 583L-30 582H-79L-78 586'], + + // COMBINING RING ABOVE + 0x30A: [693,-527,0,-227,-2,'-227 597Q-227 639 -186 666T-102 693H-97Q-29 693 -8 649Q-2 637 -2 623Q-2 582 -43 555T-132 527Q-171 527 -199 546T-227 597ZM-59 619Q-59 635 -68 643T-104 652Q-142 652 -156 636T-171 602Q-171 569 -123 569Q-119 569 -111 570T-99 571Q-59 582 -59 619'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [694,-527,0,-287,63,'-236 619L-195 694H-149Q-103 694 -103 693L-211 527H-287L-282 536Q-281 539 -236 619ZM-70 619L-29 694H17Q63 694 63 693L-45 527H-121L-116 536Q-115 539 -70 619'], + + // COMBINING CARON + 0x30C: [654,-487,0,-283,60,'-283 654H-207L-140 549L-135 542L-16 654H60L-109 487H-147L-184 488L-234 570Q-283 653 -283 654'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js new file mode 100644 index 00000000..775d01a9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'] = { + directory: 'SansSerif/Italic', + family: 'MathJax_SansSerif', + id: 'MJSSI', + style: 'italic', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js new file mode 100644 index 00000000..61ae0c3e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js @@ -0,0 +1,83 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Italic/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif-italic'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [444,0,239,74,258,'168 442T168 443T213 444T258 443T212 225T164 2V0H74V2Q75 7 121 224'], + + // LATIN SMALL LETTER DOTLESS J + 0x237: [444,204,267,-97,286,'-54 -96L-48 -104Q-41 -111 -27 -118T7 -126Q60 -126 82 -87Q85 -81 140 181L196 443Q196 444 241 444T286 443Q286 441 232 186T175 -75Q163 -120 122 -162T19 -204Q-13 -204 -41 -196T-83 -180T-96 -170Q-55 -96 -54 -96'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [691,0,542,87,646,'87 2Q88 4 160 346T234 689Q234 691 440 691T646 689Q643 686 629 611H475L321 612Q193 4 191 2V0H87V2'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [694,0,833,42,790,'273 343L510 694H617Q790 2 790 0H416L42 1L273 343ZM539 576Q536 597 536 600Q536 602 535 605Q534 607 534 607Q527 580 222 130L201 98H651L648 110Q645 123 639 149T627 198Q554 489 539 576'], + + // GREEK CAPITAL LETTER THETA + 0x398: [715,22,778,119,804,'119 260Q119 348 157 433T254 579T387 677T533 715Q701 715 772 574Q804 511 804 431Q804 315 744 209T586 41T384 -22Q262 -22 191 59T119 260ZM706 426Q706 524 655 582T525 640Q454 640 395 600T293 502Q256 447 237 383T218 266Q218 168 269 112T401 55Q518 55 612 166T706 426ZM283 349L293 397H473Q652 397 652 396Q647 374 642 347L632 299H452Q273 299 273 300Q278 322 283 349'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [694,0,611,28,582,'28 0L401 694H504V690Q505 686 543 345T582 1Q582 0 528 0H473V3Q472 6 460 113T435 359T422 558Q422 593 424 603L425 610L424 608Q414 572 343 431Q287 316 143 49L117 1L73 0H28'], + + // GREEK CAPITAL LETTER XI + 0x39E: [688,0,667,42,765,'193 687Q193 688 479 688H765V686Q764 685 755 642L747 600H461L175 601Q175 602 184 645L193 687ZM196 400Q196 401 418 401T640 400L622 315Q622 314 400 314T178 315L196 400ZM42 2Q43 3 51 44T60 87H64Q68 87 75 87T93 87T119 87T151 88T190 88T237 88T291 88T352 88H643Q638 66 634 44T627 13T624 2V0H42V2'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [691,0,708,86,768,'86 2Q88 4 160 346T233 689Q233 691 501 691Q768 691 768 689Q766 688 694 346T621 2V0H517V2Q518 3 582 304T646 609L648 615H321L190 0H86V2'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [694,0,722,55,813,'194 655L202 694H508Q813 694 813 693Q809 675 805 653L797 614H559L321 615Q327 606 405 478L485 347Q449 311 348 203T247 86Q247 84 294 84Q303 84 359 84T465 85H684Q684 84 675 42L666 0H360L55 1L195 154Q346 319 347 320L359 333L273 473Q187 614 186 614L187 620Q188 625 190 635T194 655'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [716,0,778,173,843,'357 637Q320 637 297 612T266 555H173Q178 576 188 598Q214 651 265 683T373 716Q497 716 497 542V509L504 526Q579 715 711 715Q773 715 808 677T843 589Q843 576 840 555H747L748 557Q748 559 748 563T749 574V580Q749 604 731 622Q715 638 693 638Q591 638 543 465Q531 425 506 309T462 98T441 2V0H337V2Q425 401 436 486Q438 504 438 526Q438 637 364 637H357'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [694,0,722,124,743,'124 308Q124 399 208 481T433 587Q437 587 437 589Q438 590 449 643L459 694H508Q557 694 557 693Q557 691 546 641T535 587Q543 587 562 583T614 565T674 531T722 472T743 387Q743 288 656 209T449 110L433 106Q411 3 410 2Q410 0 361 0H312L313 3Q313 5 324 56L335 107H331L321 108Q311 110 297 114T266 124T228 141T190 168Q124 225 124 308ZM227 315Q227 282 239 257T270 218T306 197T338 186L350 184H351L386 346Q420 507 420 509H419Q411 509 393 505T342 485T284 444Q227 387 227 315ZM642 381Q642 413 629 437T599 475T563 496T533 507T519 510Q518 510 484 348T450 184Q544 201 593 258T642 381'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [694,0,778,171,854,'325 556Q325 524 310 447T294 330Q294 289 304 260Q314 234 333 216T364 192T380 187L488 694H585V691Q584 689 531 438L478 188H479Q485 188 503 195T555 231T613 305Q637 352 654 435Q662 470 669 496T681 538T690 562T698 578T704 587Q719 609 733 615T772 621H802H854V619L838 546Q838 545 832 545Q775 539 749 418Q716 274 638 196Q616 173 590 156T543 131T503 117T473 110T460 106Q460 105 450 54T438 2V0H340V2Q341 3 351 54T362 106Q363 107 358 108T344 111T322 117T295 128T267 145T239 171T216 207T200 256T194 319Q194 356 203 408T213 483Q213 517 203 530T182 544T171 546Q184 609 187 619V621H239Q286 621 294 620T309 612Q325 596 325 556'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [716,0,722,44,769,'148 407Q148 475 182 534T269 633T386 694T511 716Q622 716 695 658T769 507Q769 461 747 409T699 321T628 225T562 136Q533 90 533 86Q542 85 557 85Q564 85 583 85T614 86Q695 86 695 85Q679 9 677 2V0H425Q426 3 433 30T447 72T480 131T549 241L554 248Q558 254 563 261T576 281T592 306T609 335T625 366T640 400T653 434T661 466T664 498Q664 562 618 601T497 640Q416 640 351 596T262 482Q250 441 250 392T276 237T302 70V56Q302 28 296 2V0H44V2L62 85Q62 86 143 86L225 85V88Q224 89 224 89T224 91T224 95T223 101T222 110T220 123T216 140T209 163T200 191T188 227Q148 344 148 407'], + + // EN DASH + 0x2013: [312,-236,500,50,565,'59 275L66 312H316Q565 312 565 311T558 275T549 238Q549 236 299 236Q50 236 50 237L52 242Q53 247 55 257T59 275'], + + // EM DASH + 0x2014: [312,-236,1000,50,1065,'59 275L66 312H566Q1065 312 1065 311T1058 275T1049 238Q1049 236 549 236Q50 236 50 237L52 242Q53 247 55 257T59 275'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-471,278,190,335,'309 567L299 520Q289 474 288 473Q288 471 239 471T190 473L192 480Q193 486 196 499T201 522L211 569L287 694H312L335 693L332 685Q328 677 321 661T307 630L279 570L294 569Q309 569 309 567'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-471,278,190,335,'228 647L237 694H286Q335 694 335 693L334 686Q332 680 330 668T325 644L315 597L239 471H214Q190 471 190 472L246 595Q246 596 231 596H217V598Q217 601 228 647'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-471,500,274,613,'393 567L383 520Q373 474 372 473Q372 471 323 471T274 473L276 480Q277 486 280 499T285 522L295 569L371 694H396L419 693L416 685Q412 677 405 661T391 630L363 570L378 569Q393 569 393 567ZM587 567L577 520Q567 474 566 473Q566 471 517 471T468 473L470 480Q471 486 474 499T479 522L489 569L565 694H590L613 693L610 685Q606 677 599 661T585 630L557 570L572 569Q587 569 587 567'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-471,500,133,472,'171 647L180 694H229Q278 694 278 693L276 686Q275 680 273 668T268 644L258 597L182 471H157Q133 471 133 472L189 595Q189 596 174 596H160V598Q160 601 171 647ZM365 647L374 694H423Q472 694 472 693L470 686Q469 680 467 668T462 644L452 597L376 471H351Q327 471 327 472L383 595Q383 596 368 596H354V598Q354 601 365 647'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js new file mode 100644 index 00000000..64233f32 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js @@ -0,0 +1,290 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [694,0,319,110,208,'120 187Q120 225 115 440T110 693Q110 694 159 694T208 693Q208 655 203 440T198 187Q198 186 159 186T120 187ZM110 0V98H208V0H110'], + + // QUOTATION MARK + 0x22: [694,-471,500,32,325,'33 596V694H131V597L82 471H32L47 532Q62 593 63 594Q63 596 48 596H33ZM227 596V694H325V597L276 471H226L241 532Q256 593 257 594Q257 596 242 596H227'], + + // NUMBER SIGN + 0x23: [694,194,833,56,777,'56 350Q56 363 70 370H192Q314 370 314 371L356 526Q396 676 401 685Q406 694 416 694Q423 694 429 689T436 677Q436 673 396 523T355 371Q355 370 449 370Q544 370 544 371L586 526Q628 682 630 685Q636 694 646 694Q653 694 659 689T665 678Q665 670 645 593T605 444L585 371Q585 370 673 370H762Q777 362 777 350Q777 337 767 334T723 330H668H573L567 305Q560 282 545 226L530 171L646 170H721Q756 170 766 167T777 150Q777 138 762 130H640Q518 130 518 129L476 -26Q434 -182 432 -185Q426 -194 416 -194Q409 -194 403 -189T397 -178Q397 -170 417 -93T457 56L477 129Q477 130 383 130Q288 130 288 129L246 -26Q204 -182 202 -185Q196 -194 186 -194Q179 -194 173 -189T167 -178Q167 -170 187 -94T227 56L247 129Q247 130 159 130H70Q56 137 56 150Q56 165 72 170H259L265 195Q273 222 287 275L302 330H186L70 331Q63 334 58 339Q56 343 56 350ZM489 170L532 330H343L337 305Q330 282 315 226L300 171L394 170H489'], + + // DOLLAR SIGN + 0x24: [750,56,500,43,444,'55 509Q55 585 103 638T213 701V750H286V703H289Q312 703 354 689Q372 682 399 666T427 646L413 569Q413 568 403 575Q352 615 291 624H286V405Q357 389 400 331T444 199Q444 128 402 69T286 -7V-56H213V-9Q167 -3 125 14T63 44T44 60Q44 61 52 101L59 140L69 132Q78 125 87 119T107 107T124 97T141 90T157 84T173 80T187 76T201 73T213 70V317L202 319Q141 335 98 386T55 509ZM213 424V620L203 615Q143 587 143 522Q143 455 213 424ZM356 187Q356 208 350 227T334 258T315 280T298 293T287 297Q286 297 286 186V75Q356 110 356 187'], + + // PERCENT SIGN + 0x25: [750,56,833,56,776,'56 549Q56 639 98 694T195 750Q248 750 290 694T332 548Q332 455 290 401T195 347Q141 347 99 403T56 549ZM248 549Q248 602 234 638T195 674Q145 674 145 549Q145 423 195 423Q219 423 233 459T248 549ZM197 -56Q187 -56 182 -49T176 -35Q176 -33 178 -27Q179 -25 399 356T623 741Q626 750 639 750Q648 750 654 744T659 729Q657 721 435 336T207 -52Q203 -56 197 -56ZM500 146Q500 235 542 291T639 347Q692 347 734 293T776 146Q776 53 733 -1T639 -56Q587 -56 544 -2T500 146ZM692 146Q692 199 678 235T639 271Q589 271 589 146Q589 20 639 20Q663 20 677 56T692 146'], + + // AMPERSAND + 0x26: [716,22,758,42,702,'156 502Q156 600 198 658T302 716Q367 716 405 665T444 549Q444 531 442 523Q426 446 304 348L287 334Q305 297 340 249T402 170T430 139T443 149T472 181T509 231T549 303T583 394Q584 398 586 404Q587 408 587 409Q588 409 626 399T665 388Q663 381 660 369T644 322T614 253T567 176T502 98L491 87Q534 57 584 57Q653 57 700 75Q702 75 702 34T700 -7Q652 -22 586 -22H580Q505 -22 434 26L421 34Q419 33 405 25T374 11T336 -4T285 -17T226 -22Q143 -22 93 31T42 152Q42 184 51 211T81 260T111 291T144 317L184 348L178 365Q156 430 156 502ZM359 552Q359 588 345 614T302 640Q292 640 282 636T260 622T241 590T233 535Q236 474 253 417L257 407L271 419Q312 454 330 479Q359 514 359 552ZM345 102Q262 190 216 277Q215 277 204 267T180 247T165 236Q135 208 135 159Q135 123 152 97T198 61Q207 58 227 58Q286 58 357 89L345 102'], + + // APOSTROPHE + 0x27: [694,-471,278,89,188,'90 596V694H188V597L139 471H89L104 532Q119 593 120 594Q120 596 105 596H90'], + + // LEFT PARENTHESIS + 0x28: [750,250,389,74,333,'74 250Q74 564 240 733L257 750H333L323 739Q167 573 167 250T323 -239L333 -250H257L240 -233Q74 -63 74 250'], + + // RIGHT PARENTHESIS + 0x29: [750,250,389,55,314,'221 -73T221 250T65 739L55 750H131L148 733Q314 567 314 250T148 -233L131 -250H55L65 -239Q221 -73 221 250'], + + // ASTERISK + 0x2A: [750,-306,500,63,436,'208 717Q211 731 222 740T250 750Q265 750 277 741T291 717Q291 706 290 675T286 617L285 591L329 622Q369 651 376 655T393 659Q411 659 423 647T436 616Q436 609 434 603T429 594T419 585T407 577T389 567T368 556L316 528L368 500Q421 472 429 464Q436 455 436 440Q436 422 423 409T393 396Q390 396 388 396T384 397T380 398T375 401T367 406T358 413T346 422T329 434L285 465Q284 465 285 438T289 381T291 347Q291 327 278 317T250 306Q234 306 222 315T208 339Q208 350 209 381T212 439L214 465L170 434Q130 405 123 401T106 397Q88 397 76 409T63 440Q63 447 65 453T70 462T80 471T92 479T110 489T131 500L183 528L131 556Q78 584 70 592Q63 601 63 616Q63 634 76 647T106 660Q109 660 111 660T115 659T119 658T124 655T132 650T141 643T153 634T170 622L214 591L212 617Q211 643 210 674T208 717'], + + // PLUS SIGN + 0x2B: [583,82,778,56,722,'56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250'], + + // COMMA + 0x2C: [98,125,278,89,188,'90 0V98H188V1L139 -125H89L104 -64Q119 -3 120 -2Q120 0 105 0H90'], + + // HYPHEN-MINUS + 0x2D: [259,-186,333,11,277,'11 186V259H277V186H11'], + + // FULL STOP + 0x2E: [98,0,278,90,188,'90 0V98H188V0H90'], + + // SOLIDUS + 0x2F: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], + + // DIGIT ZERO + 0x30: [678,22,500,39,460,'117 621Q174 678 247 678Q305 678 351 647Q396 617 424 557Q460 472 460 328Q460 271 455 224Q448 154 427 104T376 27T314 -10T249 -22Q201 -22 160 1T91 67Q39 154 39 316Q39 541 117 621ZM250 55Q274 55 293 66T324 93T344 136T357 185T364 240T366 291T367 340Q367 373 367 393T363 449T352 507T332 553T299 589T250 601Q217 601 194 584T159 542T141 479T133 411T132 340V331Q132 299 133 277T137 219T147 157T167 107T201 68T250 55'], + + // DIGIT ONE + 0x31: [678,0,500,83,430,'94 612Q172 616 211 632T284 678H307V73H430V0H88V73H213V317Q213 560 212 560Q210 558 197 554T155 546T96 540L83 539V612H94'], + + // DIGIT TWO + 0x32: [677,0,500,42,449,'222 599Q190 599 166 585T128 550T108 509T97 474T93 459L67 492L42 526L47 539Q72 608 120 642T225 677Q304 677 355 644Q449 579 449 454Q449 373 361 290Q351 280 315 250T199 144Q156 103 137 85L293 86H449V0H50V79L216 242Q284 302 317 349T351 456Q351 517 315 558T222 599'], + + // DIGIT THREE + 0x33: [678,22,500,42,457,'333 521Q333 554 313 579T243 604Q154 604 99 514L78 546Q56 577 56 579Q56 580 62 589T82 611T114 637T162 662T222 677Q224 677 231 677T242 678H245Q318 678 374 634T430 520Q430 483 417 452T382 398T351 369T329 354L328 353Q369 333 373 330Q408 306 432 268T457 184Q457 103 397 41T242 -22Q131 -22 51 58L42 68L49 105L55 142L58 138Q62 134 66 130T77 120T91 108T108 96T129 83T152 72T179 63T209 57T242 54Q285 54 319 86T353 184Q353 231 331 267T260 315L213 316H166V354Q166 392 167 392Q233 395 257 405Q290 418 311 450T333 521'], + + // DIGIT FOUR + 0x34: [656,0,500,28,471,'271 654L272 656H380V235H471V159H380V0H286V159H28V235L149 443Q269 652 271 654ZM292 235V607Q292 604 290 591T286 571T280 548T269 517T252 476T226 422T189 354T140 267Q136 260 132 253T126 240L123 236Q123 235 207 235H292'], + + // DIGIT FIVE + 0x35: [656,21,500,33,449,'257 350Q236 350 218 342T189 323T171 301T160 281L157 273Q157 272 116 272H75V656H416V577H162V486Q162 396 163 396T174 403T207 418T258 426Q339 426 394 360T449 203Q449 113 386 46T226 -21H223Q188 -21 156 -11T102 13T64 42T41 66T33 77Q34 78 44 95T64 128L73 144Q93 112 117 93Q165 54 223 54Q270 54 306 86T345 197Q345 350 257 350'], + + // DIGIT SIX + 0x36: [678,22,500,42,457,'42 318Q42 396 61 460T109 564T173 629T237 666T289 677H301H317Q359 677 408 658V621Q408 585 407 585H406Q359 605 308 605Q246 605 203 556T146 421Q143 403 144 403Q145 402 152 409Q216 469 299 469Q333 469 357 457T407 405Q457 330 457 226Q457 126 402 57Q340 -22 251 -22Q216 -22 183 -7T116 43T63 149T42 318ZM260 393Q216 393 188 365T150 306T141 243Q141 153 172 104Q192 68 230 56Q238 54 251 54Q311 54 342 116Q360 152 360 226Q360 297 344 332Q320 382 277 392Q275 392 270 392T260 393'], + + // DIGIT SEVEN + 0x37: [656,11,500,42,457,'42 570V656H457V577L447 564Q345 439 295 289T244 0V-11H145V12Q160 330 356 550Q360 556 365 561T374 571L208 570H42'], + + // DIGIT EIGHT + 0x38: [678,23,500,43,456,'55 500Q55 568 109 623T250 678Q327 678 385 627T444 501Q444 445 410 410T336 357L329 353H330Q378 335 417 293T456 184Q456 93 393 36T249 -22T106 35T43 184Q43 251 82 293T169 353Q171 354 166 356Q165 356 163 357Q113 378 84 416T55 500ZM358 496Q358 557 325 581T250 605Q206 605 174 580T141 496Q141 446 171 420T250 393Q298 393 328 419T358 496ZM245 316Q205 316 172 285T139 185V179Q139 79 222 57Q231 55 250 55H254Q295 55 327 84Q360 120 360 188Q360 254 326 285Q295 316 245 316'], + + // DIGIT NINE + 0x39: [677,22,500,42,457,'44 476Q57 561 116 619T245 677H255Q308 677 349 647Q392 619 424 545T457 334Q457 178 382 78T205 -22Q168 -22 135 -10T86 14L72 25Q73 25 91 58L110 91Q127 78 136 72T163 60T203 54Q238 54 265 71T308 110T335 164T350 214T357 253V257L347 248Q284 187 200 187Q165 187 140 201T87 258Q42 332 42 430Q42 458 44 476ZM269 604Q265 605 254 605Q222 605 199 591T164 554T148 517T141 487Q140 478 140 430T141 373Q146 335 164 307T207 269Q223 263 247 263Q299 266 328 308T358 417Q358 435 356 456T346 511T318 570T269 604'], + + // COLON + 0x3A: [444,0,278,90,188,'90 346V444H188V346H90ZM90 0V98H188V0H90'], + + // SEMICOLON + 0x3B: [444,125,278,89,188,'90 346V444H188V346H90ZM90 0V98H188V1L139 -125H89L104 -64Q119 -3 120 -2Q120 0 105 0H90'], + + // EQUALS SIGN + 0x3D: [370,-130,778,56,722,'56 350Q56 363 70 370H707Q722 362 722 350Q722 339 708 331L390 330H72Q56 335 56 350ZM56 150Q56 165 72 170H708Q722 160 722 150Q722 138 707 130H70Q56 137 56 150'], + + // QUESTION MARK + 0x3F: [704,0,472,55,416,'55 652Q63 658 77 666T132 689T214 704T265 703Q303 698 332 684T376 653T401 615T413 578T416 546Q416 475 360 426Q325 396 303 365T273 303T263 256T261 216V186H183V225Q184 281 194 322Q206 368 232 409T276 469T306 495Q323 517 323 550Q323 596 297 612T223 629Q187 629 157 618Q122 607 91 583L83 576L55 652ZM173 0V98H271V0H173'], + + // COMMERCIAL AT + 0x40: [704,11,667,56,612,'422 576Q440 576 456 573T480 566L488 563Q488 565 484 571T472 588T452 607T424 622T387 629Q294 629 220 550T146 347Q146 233 210 155T365 66Q376 65 400 65Q465 68 517 86L532 91H612L598 76Q511 -11 388 -11Q250 -11 153 93T56 347Q56 454 107 538T231 663T378 704Q446 704 492 680T564 608T599 506T611 376Q611 320 607 299Q595 227 546 173T422 118Q343 118 288 185T232 347Q232 444 287 510T422 576ZM520 347Q520 429 487 465T421 501Q385 501 354 461T323 347Q323 270 355 232T422 193Q454 193 487 229T520 347'], + + // LATIN CAPITAL LETTER A + 0x41: [694,0,667,28,638,'183 181Q183 179 152 91T118 0H28L154 346L280 693Q281 694 333 694H385L511 349Q636 4 638 2Q638 0 584 0H530L464 183H184L183 181ZM324 606Q319 578 292 492T238 332T210 256Q210 254 324 254T438 255L429 281L419 308Q409 336 395 378T365 465T339 551T324 611V606'], + + // LATIN CAPITAL LETTER B + 0x42: [694,0,667,90,610,'425 363Q438 363 465 353T526 324T585 270T610 192Q610 132 561 78T426 7Q404 2 387 2T240 0H90V694H227Q373 693 396 689Q484 673 533 623T583 517Q583 494 574 473T551 437T520 409T487 388T456 374T433 366L425 363ZM490 516Q490 527 485 539T467 568T423 599T347 621Q340 622 262 623H188V399H261H286Q432 399 478 475Q490 496 490 516ZM514 190Q514 245 462 280T343 322Q336 323 259 323H188V71H274Q365 72 388 77Q445 88 479 121T514 190'], + + // LATIN CAPITAL LETTER C + 0x43: [706,12,639,58,587,'59 347Q59 440 100 521T218 654T392 705Q473 705 550 680Q577 670 577 667Q576 666 572 642T564 595T559 571Q515 601 479 613T392 626Q300 626 232 549T164 347Q164 231 229 150T397 68Q453 68 489 80T568 120L581 129L582 110Q584 91 585 71T587 46Q580 40 566 31T502 5T396 -11Q296 -11 218 41T99 174T59 347'], + + // LATIN CAPITAL LETTER D + 0x44: [694,0,722,88,666,'88 0V694H237H258H316Q383 694 425 686T511 648Q578 604 622 525T666 343Q666 190 564 86Q494 18 400 3Q387 1 237 0H88ZM565 341Q565 409 546 463T495 550T429 600T359 621Q348 623 267 623H189V71H267Q272 71 286 71T310 70Q461 70 527 184Q565 251 565 341'], + + // LATIN CAPITAL LETTER E + 0x45: [691,0,597,86,554,'86 0V691H541V611H366L190 612V397H513V321H190V85H372L554 86V0H86'], + + // LATIN CAPITAL LETTER F + 0x46: [691,0,569,86,526,'86 0V691H526V611H358L190 612V384H485V308H190V0H86'], + + // LATIN CAPITAL LETTER G + 0x47: [704,11,667,58,599,'59 346Q59 499 157 601T384 704Q436 704 466 700T541 679Q551 674 560 670T575 664T583 660T588 658T590 656Q590 652 582 605T573 557L564 564Q489 626 392 626Q301 626 233 549T164 347T233 145T392 68Q441 68 506 84V223H388V299H599V38L588 33Q494 -11 393 -11Q296 -11 219 40T100 172T59 346'], + + // LATIN CAPITAL LETTER H + 0x48: [694,0,708,86,621,'86 0V694H190V399H517V694H621V0H517V323H190V0H86'], + + // LATIN CAPITAL LETTER I + 0x49: [694,0,278,87,191,'87 0V694H191V0H87'], + + // LATIN CAPITAL LETTER J + 0x4A: [694,22,472,43,388,'181 53Q200 53 215 56T241 66T259 79T272 95T280 109T285 122L287 129V694H388V415V229Q388 135 385 112T369 63Q364 51 355 39T328 12T280 -12T212 -22Q172 -22 130 -12T66 8T43 20L46 42Q50 65 54 88L58 110Q58 111 65 104Q107 53 181 53'], + + // LATIN CAPITAL LETTER K + 0x4B: [694,0,694,88,651,'88 0V694H188V519L189 343L525 694H638L375 419L651 0H541L309 351L188 225V0H88'], + + // LATIN CAPITAL LETTER L + 0x4C: [694,0,542,87,499,'87 0V694H191V79L297 80H451L499 81V0H87'], + + // LATIN CAPITAL LETTER M + 0x4D: [694,0,875,92,782,'92 0V694H228L233 680Q236 675 284 547T382 275T436 106Q446 149 497 292T594 558L640 680L645 694H782V0H689V305L688 606Q688 577 500 78L479 23H392L364 96Q364 97 342 156T296 280T246 418T203 544T186 609V588Q185 568 185 517T185 427T185 305V0H92'], + + // LATIN CAPITAL LETTER N + 0x4E: [694,0,708,88,619,'88 0V694H235L252 659Q261 639 364 428T526 84V694H619V0H472L455 35Q453 39 330 294T185 601L181 611V0H88'], + + // LATIN CAPITAL LETTER O + 0x4F: [715,22,736,55,680,'55 345Q55 504 149 609T361 715Q386 715 406 713Q521 696 600 592T680 344Q680 193 590 86T368 -22Q239 -22 147 84T55 345ZM276 59T368 59T518 146T576 360Q576 473 525 545T401 634Q371 637 362 637Q284 637 222 562T159 360T217 147'], + + // LATIN CAPITAL LETTER P + 0x50: [694,0,639,88,583,'88 0V694H230Q347 693 370 692T410 686Q487 667 535 611T583 485Q583 409 527 348T379 276Q369 274 279 274H192V0H88ZM486 485Q486 523 471 551T432 593T391 612T357 621Q350 622 268 623H189V347H268Q350 348 357 349Q370 351 383 354T416 368T450 391T475 429T486 485'], + + // LATIN CAPITAL LETTER Q + 0x51: [715,125,736,55,680,'55 345Q55 504 149 609T361 715Q386 715 406 713Q521 696 600 592T680 344Q680 284 665 231T629 143T587 85T551 48L536 35L648 -120L652 -125H531L452 -8L440 -12Q407 -22 369 -22Q239 -22 147 85T55 345ZM579 345Q579 473 517 555T369 637Q279 637 218 554T156 345Q156 223 215 141T368 58Q376 58 382 58T392 58T397 59T401 60T403 61H404Q404 63 360 128T315 194H421L453 150Q485 105 486 105Q490 108 496 113T517 138T545 182T567 247T579 334V345'], + + // LATIN CAPITAL LETTER R + 0x52: [694,0,646,88,617,'88 0V694H227H259H302Q365 694 399 689T474 663Q528 637 558 595T589 504Q589 482 584 462T569 426T547 396T522 372T495 353T470 338T449 328T434 322L429 320L440 300Q452 280 477 238T523 160L617 1L565 0Q513 0 512 1Q512 2 424 156L337 309H189V0H88ZM492 504Q492 600 367 620Q354 622 271 623H189V385H271Q363 386 388 392Q432 402 462 430T492 504'], + + // LATIN CAPITAL LETTER S + 0x53: [716,22,556,43,500,'55 514Q55 589 115 652T283 716Q315 716 345 711T396 699T432 685T457 672T467 667Q467 666 459 618T449 568Q383 634 282 634Q214 634 182 600T150 525Q150 507 155 492T172 465T194 446T222 432T247 423T272 416T289 412Q353 396 378 384Q432 358 466 307T500 194Q500 110 438 44T272 -22Q215 -22 159 -5T73 28T44 50Q45 51 49 75T57 122T62 146L65 143Q68 140 74 136T88 125T107 111T131 98T160 85T194 74T232 66T274 63H286Q327 63 366 96T406 182Q406 245 352 280Q329 296 265 310T173 339Q124 363 90 409T55 514'], + + // LATIN CAPITAL LETTER T + 0x54: [688,0,681,36,644,'36 608V688H644V608H518L392 609V0H288V609L162 608H36'], + + // LATIN CAPITAL LETTER U + 0x55: [694,22,688,87,600,'87 450V694H191V449Q192 203 193 194Q200 148 220 117T266 72T311 54T347 49Q404 49 446 84T501 178Q505 195 505 218T507 449V694H600V450Q600 414 600 356Q599 198 595 181Q594 178 594 177Q575 89 505 34T345 -22Q258 -22 184 34T89 196Q88 205 87 450'], + + // LATIN CAPITAL LETTER V + 0x56: [694,0,667,14,652,'14 692Q14 694 68 694H122L146 633Q325 165 339 90Q340 87 341 87Q341 124 530 619L558 694H605Q652 694 652 692Q650 690 523 354T390 10L387 0H279L276 10Q271 18 144 354T14 692'], + + // LATIN CAPITAL LETTER W + 0x57: [694,0,944,14,929,'115 694Q115 693 156 550T233 266T270 90L271 85Q272 86 272 92Q272 153 405 616L427 694H524L553 590Q672 174 681 95L682 84L684 95Q689 138 728 287T803 563T841 692Q841 694 885 694T929 693Q929 691 829 346L730 0H679L628 1L606 75Q478 524 470 600L469 611L467 600Q458 518 338 101L310 0H213L114 346Q14 691 14 693Q14 694 64 694H115'], + + // LATIN CAPITAL LETTER X + 0x58: [694,0,667,14,652,'14 0Q16 5 144 184T275 367L153 528Q121 571 88 615T42 674T28 694H150L228 584Q315 463 316 461L326 448L497 694H610L609 692Q606 689 492 528Q440 454 409 410T378 366Q378 365 515 182L652 0H531L326 292Q326 293 299 254T226 146L128 0H14'], + + // LATIN CAPITAL LETTER Y + 0x59: [694,0,667,4,663,'4 693L64 694H125L174 621Q335 378 340 364L341 362Q361 398 395 450L558 694H663L383 277V0H282V278L143 485Q112 531 75 586T21 668L4 693'], + + // LATIN CAPITAL LETTER Z + 0x5A: [694,0,611,55,560,'69 617V694H555V643L373 362Q190 81 190 79H234Q244 79 272 79T344 80T419 81H560V0H55V53L237 334Q420 615 420 617Q413 618 387 618Q380 618 334 618T245 617H69'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,289,94,266,'94 -250V750H266V674H181V-174H266V-250H94'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,289,22,194,'22 674V750H194V-250H22V-174H107V674H22'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-527,500,79,421,'146 612L212 694H287L353 612Q417 532 420 529Q421 528 418 527Q414 527 383 527H345L250 639Q244 633 199 580L154 527H116Q79 528 79 529Q82 532 146 612'], + + // LOW LINE + 0x5F: [-38,114,500,0,499,'0 -114V-38H499V-114H0'], + + // LATIN SMALL LETTER A + 0x61: [460,10,481,38,408,'236 387Q209 387 184 382T141 370T111 355T91 342T83 337L82 355Q80 373 79 393T77 417Q77 419 81 421Q86 423 91 426Q155 460 227 460H238Q319 460 368 400Q393 371 400 341T408 252Q408 240 408 207T407 152V0H317V39L306 32Q244 -10 159 -10H152Q109 -10 77 22Q38 61 38 126Q38 142 39 146Q55 199 130 223T295 252H314V277Q314 305 313 310Q308 342 287 364T236 387ZM303 186Q124 180 124 126Q124 105 144 86T208 66Q284 66 309 124Q314 137 314 166V186H303'], + + // LATIN SMALL LETTER B + 0x62: [694,11,517,75,482,'303 -11Q280 -11 259 -6T222 6T194 21T176 33T168 38V0H75V694H165V550L166 405Q247 455 336 455Q397 455 439 389T482 226Q482 115 428 52T303 -11ZM390 221Q390 283 361 331T265 379Q214 379 177 342L168 334V118Q203 66 258 66Q316 66 353 106T390 221'], + + // LATIN SMALL LETTER C + 0x63: [460,10,444,34,414,'34 223Q34 327 99 393T245 460Q290 460 301 459Q328 455 354 445T395 427T410 415L396 338L386 344Q377 349 362 357T335 370Q305 381 258 381H252Q182 381 146 315Q126 275 126 224Q126 158 159 113T255 68Q329 68 394 106L408 114L410 93Q411 72 412 52L414 32Q407 27 394 20T338 2T252 -10Q156 -10 95 58T34 223'], + + // LATIN SMALL LETTER D + 0x64: [694,10,517,33,441,'33 224Q33 321 81 388T197 455Q277 455 342 414L351 408V694H441V0H348V44L338 37Q278 -10 198 -10Q177 -10 168 -8Q99 11 62 90Q33 148 33 224ZM348 337Q307 378 263 378Q260 378 256 378T251 379Q239 379 223 374T182 355T142 305T126 220Q126 90 225 67Q231 66 250 66H255Q306 66 342 115L348 124V337'], + + // LATIN SMALL LETTER E + 0x65: [461,10,444,28,415,'28 226Q28 329 91 395T235 461Q258 461 279 456T325 436T368 397T399 332T415 238V219H113V215Q113 163 151 114T248 65Q273 65 298 70T341 82T373 96T396 108L403 113Q403 106 406 76T409 38Q409 34 408 33T393 24Q325 -10 252 -10Q155 -10 92 59T28 226ZM340 289L338 297Q335 305 333 310T327 326T317 343T304 358T286 372T263 381T233 385Q212 385 193 376T162 353T140 325T127 301T123 289H340'], + + // LATIN SMALL LETTER F + 0x66: [705,0,306,27,347,'262 705H267Q300 705 347 694V612L336 616Q303 628 274 628H266Q224 628 199 605Q187 590 184 579T181 541V507V444H287V371H184V0H94V371H27V444H94V492Q94 544 95 550Q102 617 151 661T262 705'], + + // LATIN SMALL LETTER G + 0x67: [456,206,500,28,485,'55 286Q55 357 105 406T224 455Q280 455 323 421L322 423L318 427Q318 428 339 434T396 448T465 455H471L478 416L485 377Q484 377 474 379T445 383T401 385Q397 385 391 385T381 384L362 383L357 387Q358 386 364 375T375 354T384 325T389 287Q389 217 340 168T221 119Q178 119 138 142Q133 145 131 143Q125 131 125 117Q125 82 155 72L227 71Q230 71 251 71T280 71T310 69T343 65T373 57T403 46T428 30T449 7Q471 -26 471 -62V-71Q471 -136 384 -178Q326 -206 250 -206Q159 -206 102 -172T30 -92Q28 -84 28 -68T31 -37T40 -12T52 7T64 21T75 31T82 38Q60 68 60 106Q60 145 80 180L86 189L80 199Q55 240 55 286ZM304 233T304 287T279 362T220 383Q189 383 165 361T140 287Q140 243 161 217T220 191Q253 191 278 212ZM250 -134Q298 -134 331 -122T375 -96T387 -69Q387 -21 306 -7Q288 -5 216 -5Q161 -5 153 -7Q146 -9 139 -13T122 -31T113 -66Q113 -75 113 -80T127 -97T166 -121Q203 -134 250 -134'], + + // LATIN SMALL LETTER H + 0x68: [694,0,517,73,443,'163 395Q223 455 307 455Q417 455 438 354Q442 331 443 164V0H350V157Q349 315 348 320Q334 378 259 378H253Q224 378 204 358Q180 334 173 301T165 209Q165 198 165 172T166 129V0H73V694H163V395'], + + // LATIN SMALL LETTER I + 0x69: [680,0,239,67,171,'67 576V680H171V576H67ZM74 0V444H164V0H74'], + + // LATIN SMALL LETTER J + 0x6A: [680,205,267,-60,192,'88 576V680H192V576H88ZM31 -126Q40 -126 48 -125T62 -122T73 -117T82 -111T89 -105T94 -99T98 -92L102 -86V444H192V180Q191 -45 191 -70T184 -113Q171 -152 140 -178T63 -205Q34 -205 4 -197T-43 -181T-59 -171T-51 -133T-41 -96L-38 -99Q-34 -102 -28 -106T-13 -115T7 -123T31 -126'], + + // LATIN SMALL LETTER K + 0x6B: [694,0,489,76,471,'76 0V694H163V257L340 444H449L286 272L292 263Q296 259 378 138T463 12L471 0H372L309 92Q294 114 277 139T250 179T237 198L228 211L160 139V0H76'], + + // LATIN SMALL LETTER L + 0x6C: [694,0,239,74,164,'74 0V694H164V0H74'], + + // LATIN SMALL LETTER M + 0x6D: [455,0,794,73,720,'160 392Q223 455 304 455Q359 455 386 436T430 383L437 391Q495 455 584 455Q694 455 715 354Q719 331 720 164V0H627V157Q626 315 625 320Q611 378 536 378H530Q501 378 481 358Q457 334 450 301T442 209Q442 198 442 172T443 129V0H350V157Q349 315 348 320Q334 378 259 378H253Q224 378 204 358Q180 334 173 301T165 209Q165 198 165 172T166 129V0H73V450H160V392'], + + // LATIN SMALL LETTER N + 0x6E: [455,0,517,73,443,'160 392Q214 446 283 454Q285 454 292 454T303 455H306Q417 455 438 354Q442 331 443 164V0H350V157Q349 315 348 320Q334 378 259 378H253Q224 378 204 358Q180 334 173 301T165 209Q165 198 165 172T166 129V0H73V450H160V392'], + + // LATIN SMALL LETTER O + 0x6F: [460,10,500,28,471,'28 222Q28 323 95 391T244 460Q275 460 281 459Q364 445 417 377T471 219Q471 124 408 57T250 -10Q158 -10 93 57T28 222ZM377 230Q377 277 364 310T328 358T287 379T248 385Q233 385 219 382T186 369T155 342T132 297T122 230Q122 146 159 108T250 69H253Q263 69 274 70T305 81T339 106T365 154T377 230'], + + // LATIN SMALL LETTER P + 0x70: [455,194,517,75,483,'166 404Q194 424 241 439T337 455H341Q410 455 451 370Q483 307 483 222Q483 128 433 59T306 -10Q282 -10 260 -5T222 7T194 21T176 33T168 38V-194H75V444H165V424L166 404ZM390 222Q390 287 354 331T266 376T177 340L168 332V118Q200 66 257 66Q313 66 351 112T390 222'], + + // LATIN SMALL LETTER Q + 0x71: [455,194,517,33,441,'33 220Q33 325 87 389T206 454Q286 454 341 406L351 398V455H441V-194H348V41L338 35Q276 -8 198 -11Q171 -11 154 -5Q102 12 68 74T33 220ZM126 220Q126 160 161 113T251 65Q305 65 351 123V298L350 301Q349 304 347 308T342 319T336 331T327 343T315 355T300 365T283 373Q273 375 256 375Q208 375 167 332T126 220'], + + // LATIN SMALL LETTER R + 0x72: [455,0,342,74,327,'171 389Q237 455 320 455H327V373H317Q262 369 220 336T167 248Q165 239 164 119V0H74V450H159V377L171 389'], + + // LATIN SMALL LETTER S + 0x73: [460,10,383,28,360,'33 326Q33 376 60 408T117 450T175 460H190Q245 460 272 454T345 429Q345 428 338 388L331 349Q278 386 188 386H183Q119 386 119 336Q119 307 142 295T210 276T278 256Q360 213 360 130Q360 108 354 88T332 43T281 5T195 -10Q152 -10 111 1T49 22T28 35Q29 36 32 56T39 95T43 115T51 110T72 99T102 85T143 73T193 68Q274 68 274 123Q274 152 248 167Q234 178 187 186T115 207Q66 229 46 273Q33 298 33 326'], + + // LATIN SMALL LETTER T + 0x74: [571,10,361,18,333,'333 27Q333 24 314 16T257 -1T184 -10H172Q146 -10 128 14T105 58T99 91Q95 113 95 251V371H18V444H98V571H182V444H316V371H182V253Q183 128 189 104Q199 68 234 68Q277 72 314 98Q315 93 323 61T333 27'], + + // LATIN SMALL LETTER U + 0x75: [444,11,517,73,443,'353 39Q352 38 344 34T331 27T315 19T295 11T270 3T241 -3T207 -8T168 -10H162Q148 -10 137 -8T111 2T87 30T74 81Q73 89 73 268V444H166V268L167 92Q171 79 174 74T192 64T238 59Q317 59 344 116Q349 128 349 148T350 291V444H443V0H353V39'], + + // LATIN SMALL LETTER V + 0x76: [444,0,461,14,446,'178 0Q15 441 14 442Q14 444 60 444Q107 444 107 442Q108 441 136 364T196 194T232 67Q233 98 280 234T356 442Q356 444 401 444T446 442L282 0H178'], + + // LATIN SMALL LETTER W + 0x77: [444,0,683,14,668,'14 444H105L108 434Q192 160 200 74V65L201 75Q206 144 282 399L296 444H381L399 381Q480 112 480 69L481 70Q481 113 562 386L580 444H668L534 1L483 0H432L429 10Q343 294 338 367L337 377Q336 375 336 370Q336 340 313 250T269 88T245 11L242 0H195L148 1L14 444'], + + // LATIN SMALL LETTER X + 0x78: [444,0,461,0,460,'187 229L6 444H107L227 294L344 444H393L442 443Q439 437 299 268L267 229L460 0H359L294 88Q280 107 262 131T236 166L227 177L100 0H0Q1 1 47 58T140 171T187 229'], + + // LATIN SMALL LETTER Y + 0x79: [444,204,461,14,446,'113 -204Q83 -204 63 -200L43 -197Q43 -196 40 -157T36 -117L48 -121Q79 -133 114 -133Q124 -133 130 -132T145 -121T163 -94Q169 -82 184 -42T200 1L188 29Q176 57 152 115T107 223T62 330T26 416L14 443Q14 444 61 444H109L122 411Q230 155 236 75L237 65V74Q245 161 348 424L356 444H401Q446 444 446 443L396 313Q345 183 293 49T236 -93Q191 -204 123 -204H113'], + + // LATIN SMALL LETTER Z + 0x7A: [444,0,435,28,402,'42 370V444H400V395L156 76L279 77H402V0H28V51L273 371L157 370H42'], + + // TILDE + 0x7E: [327,-193,500,83,416,'83 204Q86 254 113 290T186 327Q211 327 251 299T312 270Q337 270 340 315V327H416V316Q413 258 382 226T315 193Q289 193 249 221T187 250Q162 250 159 205V193H83V204'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js new file mode 100644 index 00000000..371b6b48 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'], + { + // COMBINING GRAVE ACCENT + 0x300: [694,-527,0,-417,-200,'-415 692L-417 694H-324L-262 612Q-249 594 -233 572T-208 539L-200 528L-237 527H-275L-344 608Q-359 625 -378 647T-406 680T-415 692'], + + // COMBINING ACUTE ACCENT + 0x301: [694,-527,0,-301,-84,'-239 612L-177 694H-84L-86 692Q-86 691 -95 681T-123 648T-157 608L-226 527H-264L-301 528L-293 539Q-285 550 -269 572T-239 612'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [694,-527,0,-421,-79,'-354 612L-288 694H-213L-147 612Q-83 532 -80 529Q-79 528 -82 527Q-86 527 -117 527H-155L-250 639Q-256 633 -301 580L-346 527H-384Q-421 528 -421 529Q-418 532 -354 612'], + + // COMBINING TILDE + 0x303: [677,-543,0,-417,-84,'-417 554Q-414 604 -387 640T-314 677Q-289 677 -249 649T-188 620Q-163 620 -160 665V677H-84V666Q-87 608 -118 576T-185 543Q-211 543 -251 571T-313 600Q-338 600 -341 555V543H-417V554'], + + // COMBINING MACRON + 0x304: [631,-552,0,-431,-70,'-431 552V631H-70V552H-431'], + + // COMBINING BREVE + 0x306: [694,-508,0,-427,-74,'-250 508Q-331 508 -379 567T-427 689V694H-351V685Q-348 649 -321 620T-250 591Q-206 591 -180 619T-150 685V694H-74V689Q-74 624 -122 566T-250 508'], + + // COMBINING DOT ABOVE + 0x307: [680,-576,0,-302,-198,'-302 576V680H-198V576H-302'], + + // COMBINING DIAERESIS + 0x308: [680,-582,0,-397,-104,'-397 582V680H-299V582H-397ZM-202 582V680H-104V582H-202'], + + // COMBINING RING ABOVE + 0x30A: [694,-526,0,-319,-99,'-319 611Q-319 649 -285 671T-211 694Q-164 694 -132 671T-99 611Q-99 572 -133 550T-209 527T-285 549T-319 611ZM-155 610Q-155 635 -171 643T-215 651Q-263 651 -263 610Q-263 570 -211 570H-209H-207Q-155 570 -155 610'], + + // COMBINING DOUBLE ACUTE ACCENT + 0x30B: [694,-527,0,-399,-84,'-250 693Q-317 544 -323 527H-399L-343 694H-296Q-250 694 -250 693ZM-84 693Q-151 544 -157 527H-233L-177 694H-130Q-84 694 -84 693'], + + // COMBINING CARON + 0x30C: [654,-487,0,-422,-80,'-421 652Q-422 653 -419 654Q-415 654 -384 654H-346L-301 601Q-287 585 -275 571T-258 551T-250 542L-155 654H-117Q-80 653 -80 652Q-83 649 -147 569L-213 487H-288L-354 569Q-418 649 -421 652'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js new file mode 100644 index 00000000..92521b0a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'] = { + directory: 'SansSerif/Regular', + family: 'MathJax_SansSerif', + id: 'MJSS', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js new file mode 100644 index 00000000..4076c343 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js @@ -0,0 +1,83 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/SansSerif/Regular/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_SansSerif'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [444,0,239,74,164,'74 0V444H164V0H74'], + + // LATIN SMALL LETTER DOTLESS J + 0x237: [444,205,267,-60,192,'-35 -95Q-4 -126 34 -126Q58 -126 76 -116T100 -88Q102 -82 102 181V444H192V180Q191 -45 191 -70T184 -113Q171 -152 140 -178T63 -205Q34 -205 4 -197T-43 -181T-59 -171L-47 -133L-35 -95'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [691,0,542,87,499,'87 0V691H499V611H345L191 612V0H87'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [694,0,833,42,790,'203 348L362 694H470L629 348Q789 2 790 1Q790 0 416 0T42 1Q43 2 203 348ZM630 98Q630 100 584 198T481 422T407 603L405 610L403 600Q388 544 191 122L180 99L405 98H630'], + + // GREEK CAPITAL LETTER THETA + 0x398: [716,21,778,56,722,'56 344Q56 430 86 502T164 619T271 690T388 716Q448 716 506 691T613 619T692 501T722 344Q722 188 624 84T389 -21Q252 -21 154 83T56 344ZM624 345Q624 423 597 488T513 596T380 639Q343 639 305 621T232 568T175 475T153 344Q153 216 222 136T388 56Q487 56 555 138T624 345ZM209 299V397H568V299H209'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [694,0,611,28,582,'294 606Q294 574 252 430T163 144T117 0H72Q28 0 28 1T141 348L254 694H357L469 348Q582 2 582 1T527 0L473 1L469 11Q469 13 427 141T343 411T296 599L294 610V606'], + + // GREEK CAPITAL LETTER XI + 0x39E: [688,0,667,42,624,'47 600V688H619V600H47ZM111 314V401H555V314H111ZM42 0V88H624V0H42'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [691,0,708,86,621,'86 0V691H621V0H517V615H190V0H86'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [694,0,722,55,666,'55 0Q56 3 171 167T288 332Q288 334 172 474L55 615V694H666V614H428L190 615L412 347L322 218Q236 97 228 84L447 85H666V0H55'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [716,0,778,55,722,'55 565Q59 625 105 670T219 716H222Q310 716 353 627Q376 583 386 524L389 510L393 532Q397 555 407 584T433 644T482 695T557 716Q621 716 669 673T722 565V555H629V563Q627 592 607 615T557 638Q530 638 511 629T479 598T459 553T447 488T442 411T441 319V202V0H337V202Q337 453 331 497Q313 634 226 638Q185 638 167 612T148 563V555H55V565'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [694,0,722,55,666,'666 347Q666 326 661 302T638 247T594 190T520 140T413 107H410V0H312V54Q312 107 311 107Q286 107 229 128T125 192Q55 260 55 347Q55 396 77 438T131 507T200 552T265 579T311 587Q312 587 312 641V694H410V587H413Q476 576 524 552T598 502T640 444T661 390T666 347ZM310 510Q305 510 291 507T252 492T208 464T172 416T157 347T171 279T204 233T247 205T286 190T310 184H312V347Q312 510 310 510ZM564 347Q564 385 549 416T514 463T470 491T433 505T414 509L410 510V184Q413 184 426 187T464 200T510 227T548 275T564 347'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [694,0,778,55,722,'340 187V694H438V187Q481 206 495 219Q518 239 533 267T553 332T560 386T562 435Q562 576 593 608Q608 621 637 621H670H722V545H719Q718 545 715 545T710 544Q679 536 666 487Q664 474 662 429T654 344T633 259T580 175T486 119Q450 109 438 108V0H340V108L326 110Q122 149 117 415Q116 460 111 487Q98 536 67 544Q65 544 62 544T58 545H55V621H107Q160 621 163 620Q191 613 202 573Q213 536 213 473T220 351T256 249Q262 239 270 230T285 216T301 205T316 197T329 192T340 187'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [716,0,722,44,677,'55 462Q55 561 141 638T359 716Q492 716 579 640T666 462Q666 407 642 347T579 222T529 126Q515 91 515 86Q517 85 528 85Q530 85 552 85T596 86H677V0H425V14Q429 79 465 168L492 228Q494 232 504 254T516 283T527 310T539 340T548 368T556 399T560 428T562 460Q562 531 510 585T361 639Q263 639 211 585T159 460Q159 422 170 378T192 309T229 228L256 168Q292 79 296 14V0H44V86H125Q146 86 168 86T193 85L206 86Q206 103 183 148T131 241T79 352T55 462'], + + // EN DASH + 0x2013: [312,-236,500,0,499,'0 236V312H499V236H0'], + + // EM DASH + 0x2014: [312,-236,1000,0,999,'0 236V312H999V236H0'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-471,278,90,189,'90 568L140 694H189L174 633Q159 572 158 571Q158 569 173 569H188V471H90V568'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-471,278,89,188,'90 596V694H188V597L139 471H89L104 532Q119 593 120 594Q120 596 105 596H90'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-471,500,174,467,'174 568L224 694H273L258 633Q243 572 242 571Q242 569 257 569H272V471H174V568ZM368 568L418 694H467L452 633Q437 572 436 571Q436 569 451 569H466V471H368V568'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-471,500,32,325,'33 596V694H131V597L82 471H32L47 532Q62 593 63 594Q63 596 48 596H33ZM227 596V694H325V597L276 471H226L241 532Q256 593 257 594Q257 596 242 596H227'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js new file mode 100644 index 00000000..3d08202f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Script/Regular/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Script'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // LATIN CAPITAL LETTER A + 0x41: [718,8,803,35,1016,'76 60Q83 29 135 29Q190 29 264 81Q280 93 280 95T277 99T265 106T248 118Q189 166 189 237Q189 307 245 388Q267 421 299 436Q336 455 386 455Q488 455 550 403L559 395L571 405Q727 544 944 679L957 687L966 701Q968 704 970 707T973 712T975 714T978 716T982 717T989 717H995Q1004 717 1007 717T1013 714T1016 708Q1016 705 829 403L636 92L630 83Q659 93 685 110T728 143L745 158Q758 158 752 138L748 127L740 119Q676 58 605 42L593 22Q590 17 587 12T583 6T579 2T573 0T564 0H530H484Q480 3 480 8Q480 15 489 26T498 39T497 40Q477 40 423 49T327 74L316 78L302 68Q200 -8 121 -8Q85 -8 60 7T35 53T60 113T123 144Q144 144 153 132T162 106Q162 89 143 75T99 61Q90 61 76 65V60ZM904 614L905 615Q901 615 840 573T700 469T581 369L587 359Q600 340 608 315T618 273T622 238T624 216L764 414Q904 612 904 614ZM525 363Q493 405 379 418H375Q342 418 309 378Q251 300 251 234Q251 174 306 137Q318 128 322 131Q323 132 329 139Q351 161 362 180Q430 273 509 348L525 363ZM579 205Q579 245 571 278T556 323T546 337L521 311Q461 248 422 196T362 121L353 111Q427 85 499 79Q517 77 520 77L525 76L549 111Q551 114 556 121T563 131T568 138T573 147T575 157T577 169T578 185T579 205'], + + // LATIN CAPITAL LETTER B + 0x42: [708,28,908,31,928,'256 262Q161 262 161 351Q161 408 203 471T289 570Q380 645 475 676T617 707L627 708Q637 708 644 708Q759 708 831 675L844 669L857 677Q892 700 896 700Q902 700 907 685Q907 683 907 681T908 678T909 676T909 673Q909 671 909 670T906 667T903 664T897 660T889 655L878 647L889 636Q928 598 928 548Q928 529 923 510T907 474T886 442T861 412T837 388T815 368T800 355Q847 323 847 270V263Q847 205 806 145Q766 82 695 37T564 -8Q527 -8 506 10T484 58Q484 85 501 117T543 172Q607 226 685 228Q695 228 698 226Q703 220 692 206Q684 194 682 193T665 191Q625 189 595 172T550 133T529 93T522 66Q522 29 576 29Q642 29 705 109Q785 211 785 270Q785 287 779 300T769 316T755 327L740 319Q682 290 634 290Q611 290 592 294H588L565 261Q559 252 544 231T522 201T504 178T481 151T455 123Q394 63 314 18T159 -28Q103 -28 67 -6T31 54Q31 88 57 123T123 158Q144 158 154 146T164 119Q164 102 142 89T100 75Q94 75 87 77T76 80L72 81Q69 78 69 65Q69 35 102 22T175 9Q184 9 198 11Q248 23 300 70T403 187T508 331T636 489T789 629L801 639Q796 642 786 647T732 661T633 670Q592 670 558 665Q481 651 409 613T286 520Q274 507 258 485T222 424T202 354Q202 299 269 299Q282 299 295 301T318 307T339 317T358 329T376 345T391 362T406 380T420 398T433 417T445 435Q496 512 496 547Q496 559 497 560T516 569Q526 574 530 574Q538 574 538 540Q538 414 427 325Q342 262 256 262ZM689 382Q708 382 753 375L765 387Q860 482 860 555Q860 594 839 610L822 592Q794 563 752 511T680 420T651 380Q655 381 660 381Q664 382 689 382ZM697 344Q692 345 681 345H675Q671 345 665 345T655 344T650 344L648 342Q646 339 645 338Q643 333 639 327H653Q670 329 676 330Q706 342 706 343Q702 344 697 344'], + + // LATIN CAPITAL LETTER C + 0x43: [728,26,666,26,819,'367 89Q367 84 353 77T334 70Q325 70 312 83T298 120Q298 169 364 233T496 298Q538 298 563 275T588 220V213Q588 132 501 53T306 -26Q251 -26 211 6T170 114Q171 148 181 184T205 248T232 298T255 334T265 349T246 350Q127 350 77 390T26 480Q26 533 71 581T178 656T295 683Q312 683 312 676Q312 674 311 672L302 660Q294 648 292 647L286 646Q280 646 276 646Q197 641 145 583T93 476Q93 387 265 387Q271 387 277 387T287 388T292 388T313 414T373 483T451 562Q618 712 732 727Q733 727 740 727T753 728Q790 727 804 708T819 665Q819 643 810 617T773 553T699 481T572 414T385 361Q381 361 367 341Q247 172 247 86Q247 11 325 11Q404 11 465 95Q518 165 528 208Q529 212 529 220Q529 237 518 249T480 261Q431 261 387 209T343 126Q343 111 355 101T367 89ZM777 658Q777 691 738 691Q704 691 658 662T570 590T491 504T432 432T410 400H411Q416 400 440 405T505 423T589 455T675 506T743 576Q777 627 777 658'], + + // LATIN CAPITAL LETTER D + 0x44: [708,31,774,68,855,'251 272Q199 272 168 298T136 374Q136 432 175 496T267 603Q321 645 395 676T552 708Q610 708 655 694T724 659T763 618T784 584L790 569Q792 569 800 572T819 576T840 578Q855 578 855 571Q855 566 846 554T829 541Q824 541 817 539T804 533T799 529Q802 517 802 483Q802 376 742 256T585 53T392 -31Q353 -31 300 -7L289 -2L277 -6Q242 -17 192 -17Q141 -17 113 -13T77 -3T68 14Q68 20 73 28T93 45T131 58Q152 62 197 62Q241 62 272 48L282 44Q308 65 334 93Q380 145 467 266T622 454Q644 476 664 493T694 517T720 534T740 547Q699 671 540 671Q461 671 385 625T276 534Q265 520 251 499T219 438T202 368Q202 309 267 309Q325 309 396 383T491 545Q492 548 493 552Q494 558 496 559T511 564Q513 565 514 565Q523 568 527 568Q534 568 534 560Q534 554 529 537Q507 442 420 357T251 272ZM332 20Q332 19 341 15T368 6T400 2Q425 2 457 13T531 49T614 125T690 248Q750 376 750 476V490L738 479Q698 436 646 366T554 239T455 121T332 20ZM226 20Q226 25 186 25Q181 25 174 24H166Q161 24 158 23H152Q170 21 197 21Q205 21 213 21T223 20H226'], + + // LATIN CAPITAL LETTER E + 0x45: [707,8,562,46,718,'280 398L279 400Q278 402 277 405T275 413T272 426T271 443Q271 494 302 544T379 629T472 685T553 707H565H573Q630 707 664 689Q718 661 718 604Q718 548 662 492T553 436Q525 436 508 451T490 492Q490 534 531 579T619 630Q632 630 632 623Q632 619 624 606Q614 593 602 592T578 580Q566 568 549 541T532 497Q532 474 565 474Q577 474 587 476Q600 481 611 489Q630 503 651 535T672 596Q672 660 553 660H548Q494 660 450 616Q421 587 384 531T343 439Q341 420 344 415H345Q346 415 352 415T369 417T391 418Q421 418 440 412T466 398T473 382Q473 367 452 353T398 339Q370 339 348 345T315 359L304 366Q297 365 284 360T234 321T163 234Q120 160 120 117Q120 83 149 57T252 30Q311 30 357 60Q386 79 414 114T452 179Q454 186 454 200Q454 230 415 242Q401 246 373 246Q353 246 347 244Q328 236 313 219T288 184T274 149T265 121T261 109Q260 107 247 102T230 97Q223 97 223 105Q223 148 271 216T386 284Q446 284 483 260T520 195Q520 121 427 57T239 -8Q192 -8 152 2T79 46T46 133Q46 212 107 285T269 394L280 398ZM427 376Q427 377 402 380Q386 380 386 379L425 375L427 376'], + + // LATIN CAPITAL LETTER F + 0x46: [735,37,895,39,990,'258 428Q258 489 322 562T482 685T661 735Q726 735 824 693T977 651Q990 651 990 644Q990 639 971 612T948 581Q947 580 938 580Q878 580 784 621T617 663Q544 663 480 635T379 568T320 492T299 431Q299 387 362 387Q404 387 438 402T493 438T527 486T546 531T551 563Q551 569 550 575T549 584T549 590Q551 593 563 602T579 611Q584 611 592 605T608 584T616 548Q616 513 595 477T554 423Q518 392 464 372T349 351Q258 351 258 428ZM324 187T305 187T286 196Q286 202 301 217Q327 242 383 262T484 290L527 297L567 356Q624 441 643 467T688 521Q715 550 752 581T795 613T804 603T808 587T778 547T702 444T626 300H637Q663 302 685 306L697 308L703 317Q745 376 792 400Q806 406 818 406Q849 406 849 375Q847 355 831 338T797 312T763 296L747 290Q744 289 735 266T724 241Q722 240 702 232T664 217T645 210Q638 210 638 218Q638 224 653 246T669 270Q669 271 668 271Q663 270 624 264L607 263Q570 199 529 152Q513 133 484 106T409 45T305 -13T193 -36Q109 -36 74 -10T39 50Q39 86 64 121T128 158Q171 158 171 121Q171 97 141 83Q125 75 107 75Q93 75 80 83Q76 71 76 62Q76 29 117 15T207 0Q324 0 494 248L501 258H495Q368 239 330 195Q324 187 305 187ZM775 335Q806 358 806 368Q805 369 804 369Q800 369 791 360Q774 336 775 335'], + + // LATIN CAPITAL LETTER G + 0x47: [717,37,610,12,739,'206 318L249 320Q249 327 259 352T282 399Q312 447 366 510T465 610Q588 717 661 717Q695 717 716 701T738 653T704 577Q663 522 610 474T512 397T424 346T359 315T333 306Q331 304 327 290T323 267Q323 229 368 229Q402 229 439 254T505 312T571 382T638 435Q642 437 644 437Q658 437 658 409Q655 403 647 399T624 379T595 326Q583 296 564 267T523 179Q504 126 483 91T423 27Q335 -37 231 -37Q191 -37 157 -30T95 -2T67 53Q67 89 94 123T159 158Q180 158 190 146T200 119Q200 102 178 89T136 75Q128 75 120 78T110 81Q105 81 105 62Q105 38 129 24T180 5T238 1H244Q282 1 319 32Q349 55 371 85T436 190L465 239Q413 192 354 192Q300 192 274 217T245 276Q245 284 242 284Q220 280 187 280Q106 280 59 315T12 409Q12 457 43 508T118 597T210 659T295 683Q308 683 308 675Q308 670 299 658T282 646Q266 646 240 633Q182 606 118 511Q76 448 76 400Q76 368 105 343T206 318ZM677 660Q677 680 646 680Q616 680 565 629Q537 601 514 571Q493 544 455 492T389 398T360 355Q366 357 386 367Q463 406 534 473T641 591T677 660'], + + // LATIN CAPITAL LETTER H + 0x48: [718,36,969,29,1241,'331 505Q331 519 382 574T472 629H480Q512 629 529 614T547 576Q547 555 534 532T520 504Q520 493 549 493Q590 493 623 506T668 533L681 546Q731 600 772 641T832 700T852 717Q857 717 860 711T865 697L866 690Q866 688 813 617T708 475T656 403Q682 403 714 404H771L780 416Q1004 707 1167 707Q1209 707 1225 689T1241 646Q1241 604 1209 547T1118 447Q1081 422 1034 405T952 382T888 374T857 370H852L826 334Q733 204 708 144Q691 104 691 76Q691 29 748 29Q768 31 791 48T831 83T862 122T881 146Q883 148 900 148H917Q921 143 921 140T914 127Q810 -8 723 -8Q611 -4 611 100Q611 142 631 191T676 275T721 337T742 367Q716 367 685 366H628L620 355Q618 352 558 268Q486 168 461 141Q405 79 339 34T215 -28Q188 -36 153 -36Q86 -36 58 -11T29 46Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q67 82 67 60Q67 28 99 14T170 0Q214 0 272 47T419 224L505 340L518 357Q513 357 504 356T467 347T415 330T360 300T308 253Q296 238 295 237H278H274Q256 237 256 243Q256 248 263 256Q291 294 330 321T407 362T476 382T530 393T552 398Q556 402 573 423T600 454Q602 457 604 460T608 465L610 467Q565 455 532 455Q465 455 449 483Q447 487 447 498Q447 513 463 538T479 579Q479 593 463 593Q436 593 385 519Q374 504 371 502T360 499H353H349Q331 499 331 505ZM1195 634Q1195 643 1195 648T1185 662T1157 671Q1130 671 1092 644T1019 579T952 502T901 436L882 409L891 410Q900 411 913 412T934 415Q1081 439 1144 520Q1195 590 1195 634'], + + // LATIN CAPITAL LETTER I + 0x49: [717,17,809,59,946,'487 225Q398 255 398 342Q398 410 455 492Q491 545 552 582T669 636T800 673T918 712Q930 717 933 717Q939 717 942 706T946 689Q946 686 915 664T830 591T729 480Q691 429 657 351T615 260Q628 260 663 279T733 339T769 426Q769 442 767 459T764 479Q764 484 766 486Q769 488 781 493T797 498Q802 498 803 494T808 472Q813 442 813 425Q813 369 761 315Q692 246 605 224L592 220L584 209Q547 155 487 106T358 25Q270 -17 191 -17Q143 -17 101 1T59 59Q59 96 85 127T148 158Q169 158 179 146T189 119Q189 102 167 89T125 75Q116 75 109 77T101 81T97 80Q96 77 96 72Q96 50 123 36T204 21H216Q249 21 302 49T411 134Q439 161 459 187Q487 220 487 225ZM460 334Q460 308 472 290T498 268L510 263Q515 263 545 313T626 438T723 561Q751 589 775 609T808 636T817 644H816Q813 644 732 618Q681 601 645 584T585 548T549 514T518 476Q460 390 460 334'], + + // LATIN CAPITAL LETTER J + 0x4A: [717,314,1052,92,1133,'829 148Q845 148 845 143T841 130T823 109T788 83T730 54T644 22Q637 20 634 19T627 16T622 13T618 10T612 3T604 -6Q510 -112 396 -203T201 -312Q190 -314 171 -314H166Q156 -314 147 -312T123 -304T101 -283T92 -245Q92 -203 117 -160T175 -93Q214 -65 280 -41T390 -6T509 22L532 27L547 47Q673 219 673 225L665 228Q657 231 648 235T627 249T606 270T591 300T584 341Q584 389 614 447T686 544Q735 588 799 615T959 667T1108 713Q1118 717 1119 717Q1125 717 1129 705T1133 689Q1133 686 1115 673Q1051 627 1001 579T918 481T867 403T828 328T805 277Q802 271 801 267T798 261T798 259Q849 270 900 317Q956 371 956 421Q956 438 953 457T950 480Q950 481 950 482L951 484Q953 487 966 492T985 498Q989 498 994 473Q1000 441 1000 423Q1000 362 934 302T790 223L775 220L767 207Q757 191 731 158T685 98T662 63Q662 61 690 70T755 99T811 142L816 148H829ZM646 332Q646 308 659 291T685 268L698 263L735 320Q828 465 865 511Q923 582 1003 643L1005 645Q1004 645 924 620Q775 572 716 492Q646 401 646 332ZM184 -278Q233 -278 311 -212T444 -80L498 -15H496Q468 -20 424 -30T293 -70T174 -133Q167 -140 158 -153T138 -190T127 -232Q127 -278 184 -278'], + + // LATIN CAPITAL LETTER K + 0x4B: [717,37,914,29,1204,'521 506Q521 493 549 493Q608 493 660 527Q667 531 690 555L736 604Q750 619 777 646T825 694T848 716T852 717Q857 717 860 711T865 697L866 690Q866 687 812 615Q654 404 654 401Q655 401 656 401T659 402T665 403T680 404Q718 404 734 374Q735 370 743 376Q745 377 752 382Q806 416 852 466T933 563T982 623Q1028 666 1075 686T1155 706Q1165 706 1173 705T1186 703T1194 699T1199 695T1201 692T1202 688V687L1204 677Q1204 667 1191 670Q1189 670 1183 670T1174 671Q1137 671 1086 643T1001 564Q970 517 899 449T749 339L739 333L736 322Q730 295 703 253T652 165T628 77Q628 21 681 21Q692 21 698 23Q751 46 817 134L827 148H844Q861 148 864 146Q869 140 859 127Q818 75 761 29T665 -17Q649 -17 633 -12T598 4T569 40T558 100Q558 128 563 152T585 205T609 245T643 294Q647 300 645 300Q633 297 615 297Q607 297 600 298T589 300T584 301Q581 301 569 284T536 236T488 171T418 97T331 28Q233 -37 155 -37Q104 -37 68 -17T29 44Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q68 82 68 59Q68 37 85 23T123 5T167 0Q203 0 238 21T311 85T382 174T468 288T563 410Q576 426 588 440T607 462T615 472L605 468Q568 456 533 456H527Q490 456 463 483Q451 496 451 508T468 545T486 581Q486 593 465 593Q448 593 425 568T384 518T364 493Q364 492 347 492Q326 492 326 499T351 537T414 599T477 630Q509 630 528 615T547 576Q547 556 534 533T521 506ZM675 357Q675 368 665 368Q656 368 644 363Q631 355 616 333H628Q640 334 672 341Q675 354 675 357'], + + // LATIN CAPITAL LETTER L + 0x4C: [717,17,874,14,1035,'572 704Q607 704 607 693Q607 681 590 664H588Q586 664 584 664T578 663Q504 658 434 592T363 457Q363 426 386 401Q417 371 481 361Q490 360 527 360H562Q565 363 595 404T666 494T755 596T854 682T945 717Q986 717 1010 696T1035 637Q1035 593 996 531T873 414Q809 378 753 360T674 338T651 333Q650 333 633 308T588 245T544 185Q498 126 426 78L413 68H414Q498 47 575 47Q626 47 676 74T755 139L762 148H779H783Q802 148 802 142Q802 137 795 129Q760 81 691 33T544 -16Q470 -16 366 20L341 29L331 24Q239 -17 155 -17H141Q90 -17 61 -12T23 1T14 22Q14 44 39 65T103 95Q126 101 180 101Q224 101 258 98T309 90T330 86Q332 86 353 103T389 135Q401 146 412 158T431 179T450 203T466 225T485 252T505 280L535 322H509Q391 322 340 362T289 452Q289 495 321 547T396 630Q438 665 486 684T572 704ZM978 635Q978 644 977 650T973 661T968 668T961 673T954 676T946 678T938 680Q929 680 925 677Q893 659 795 531T682 377Q683 377 711 385T755 401T801 421T856 453T906 495Q927 516 952 557T978 635ZM274 50Q274 51 258 54T216 61T166 65Q160 65 151 65T140 64Q115 58 102 48T88 31Q88 20 159 20Q191 20 219 27T261 42L274 50'], + + // LATIN CAPITAL LETTER M + 0x4D: [721,51,1080,30,1216,'112 -7Q86 -7 58 6T30 48T54 103T113 130Q129 130 141 121T153 94Q153 71 132 59T90 47H80Q95 30 133 30Q180 30 228 63T311 137T402 249T500 361Q566 425 703 529T910 693Q942 721 945 721T958 716T970 709Q974 704 964 691Q961 688 905 622T847 554L595 181Q553 121 527 77T496 19L492 5Q497 5 531 46Q579 98 685 224T850 409L972 524Q994 543 1004 556Q1012 567 1097 643T1186 720Q1194 720 1206 715T1215 703Q1215 701 1191 671T1133 599T1080 530Q1036 461 983 357T862 152Q802 64 799 17Q799 7 800 5T811 2Q836 2 882 37T969 126Q972 130 974 134T978 138T983 139T996 140H1012Q1018 134 1018 132Q1018 122 981 83T889 4T795 -35Q761 -35 745 -12T728 48Q728 122 781 190Q833 269 890 370L927 434L914 422Q848 360 752 245Q643 117 582 51T498 -33T461 -50Q424 -48 424 -4Q424 84 481 172L714 495Q591 406 523 333Q507 316 430 226T313 95Q263 48 221 24T162 -4T120 -7H112'], + + // LATIN CAPITAL LETTER N + 0x4E: [726,36,902,29,1208,'764 513Q764 482 772 423T780 330Q780 304 778 285T775 256T773 245Q778 252 826 328T932 484T1042 617Q1077 652 1114 678T1173 715T1200 726Q1208 726 1208 717Q1208 711 1206 695L1203 679L1199 675Q1197 675 1187 670T1161 657T1133 639Q1050 583 959 456Q906 381 858 307T779 179T725 83T691 18T679 -6Q677 -8 660 -8H656Q639 -8 639 -1Q639 4 646 17Q685 93 685 173V196Q685 233 681 288T676 380Q676 438 687 487L664 454Q505 230 454 170Q366 64 290 14T163 -36H152Q87 -36 58 -11T29 46Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q67 82 67 59Q67 37 89 19T167 1Q187 1 197 3Q221 9 246 22T292 52T336 91T375 132T411 174T440 212T463 245T478 266Q779 695 784 698Q786 700 802 700H818Q824 694 824 692T809 668T779 604T764 513'], + + // LATIN CAPITAL LETTER O + 0x4F: [707,8,738,96,805,'259 -8Q230 -7 205 0T153 24T112 74T96 153Q96 254 174 379T374 599T607 707H621Q732 707 778 661Q805 634 805 598Q805 558 775 517T696 452L684 447V441Q684 378 626 273T484 97Q379 7 288 -7Q279 -8 259 -8ZM760 594Q760 670 608 670Q562 670 493 622T347 472Q174 240 174 131Q174 76 205 53T279 29Q294 29 306 32Q405 60 507 205Q592 325 616 401Q625 426 625 435Q625 436 621 436T603 440T569 449Q524 466 515 475Q513 477 513 481T525 496T541 508L548 504Q555 501 565 497T587 488T609 480T625 476Q627 476 626 481Q626 486 623 494T613 513T589 533T548 541Q495 541 413 454T286 281Q265 241 254 201T240 141T235 120Q234 118 217 111T197 104Q195 104 192 107T189 112Q190 125 193 147T220 231T280 348Q335 428 407 493T539 576Q548 578 563 578Q594 578 617 568T653 546T672 518T681 494T683 482Q683 481 684 481Q690 481 707 495T742 538T760 594'], + + // LATIN CAPITAL LETTER P + 0x50: [716,37,1013,90,1031,'571 345Q571 384 612 418T687 452Q698 452 698 445Q698 436 679 417Q677 415 670 415Q650 412 633 389T615 350Q615 340 621 331T634 319T643 315L663 342Q751 462 817 536Q873 595 896 614L907 625Q843 680 701 680Q594 680 499 632T344 516Q317 486 296 449T267 384Q262 366 262 354Q262 332 276 316T326 299H327Q374 299 426 338Q481 376 537 456T597 598Q597 616 599 617Q601 619 614 624T630 630Q639 630 639 604V587V581Q639 519 597 456Q544 377 462 320T318 262Q278 262 250 282T222 350Q222 418 285 504Q360 597 480 656T702 716Q773 716 825 707T898 688T951 660Q962 670 985 685T1012 700Q1018 700 1022 690T1026 673Q1026 670 1019 664Q988 633 988 631Q988 630 999 618T1020 580T1031 522Q1031 471 1003 419T928 330Q854 275 765 264Q757 262 733 262H714L701 245Q615 121 473 42T218 -37Q159 -37 125 -15T90 46Q90 82 116 120T185 158Q203 158 213 147T224 121Q224 110 219 102Q198 75 159 75Q154 75 149 76T143 77T140 77Q137 72 137 53Q138 37 149 26T177 9T205 2T228 0Q313 0 419 74T602 257L620 281L614 285Q607 289 601 294T587 306T576 323T571 345ZM950 529Q950 576 943 576Q940 576 840 439T741 299H751Q804 300 845 334T924 438Q949 490 950 529'], + + // LATIN CAPITAL LETTER Q + 0x51: [717,17,883,54,885,'330 387Q330 331 402 331Q463 331 514 371T589 459T613 542Q613 559 608 570T598 588T593 596Q593 601 617 610Q632 617 636 616Q675 585 675 527Q675 464 629 409T516 324T387 294Q271 294 271 394V402Q271 438 292 478Q344 582 457 649T672 717Q765 717 825 675T885 548Q885 433 771 298T498 76Q493 73 491 72T486 69T484 67T485 66Q539 41 607 41Q655 41 703 71T780 139L787 148H804Q806 148 809 148Q826 149 826 140Q826 128 786 91T687 19T589 -16H576Q503 -16 414 20L396 27Q279 -17 192 -17Q130 -17 92 2T54 53Q54 92 107 123T222 155Q303 155 401 106L431 91L441 97Q476 118 527 157Q622 236 711 361T801 573Q801 591 795 607T775 641T732 668T660 679Q592 679 528 644T422 560T355 464T330 387ZM201 20Q232 20 267 27T322 40T342 49Q342 52 315 60T243 77T160 86Q150 88 144 88Q130 88 122 79T112 62L111 53Q111 20 201 20'], + + // LATIN CAPITAL LETTER R + 0x52: [717,17,850,-2,887,'224 266Q185 266 156 286T127 354Q127 419 176 487T282 594Q346 642 433 679T615 717Q732 717 802 680L815 673Q824 680 840 690T860 700Q864 700 867 693T872 680L873 673Q873 668 858 659L845 651L853 642Q887 605 887 561Q887 500 840 439Q790 379 681 336Q693 312 693 292Q692 276 689 263T672 229T653 198T620 152L575 87Q557 57 557 33Q557 24 560 17T566 8L569 5Q546 5 508 25T470 76Q470 83 473 92T545 198T616 310Q616 317 615 318T612 319Q603 319 575 315H560L545 291Q492 201 429 135T277 23Q202 -17 142 -17H130Q50 -17 16 17Q-2 35 -2 57Q-2 95 24 126T88 158Q106 158 116 147T127 121Q127 110 122 102Q116 93 99 84T63 75Q58 75 53 76T47 77T45 75T44 67Q45 52 57 42T88 27T120 21T144 19Q174 19 208 36T267 76T324 134T369 189T406 239Q462 319 504 374T616 503T755 631L770 644Q767 647 753 654T697 670T602 680Q493 680 399 631T247 516Q218 485 193 440T168 359Q168 328 188 316T234 303Q255 303 273 315T304 340T343 389T390 448Q428 490 441 510T456 548Q456 557 458 559Q459 560 476 567T496 575Q505 575 505 558Q505 511 434 412Q429 406 427 403Q397 360 378 343Q342 308 300 287T224 266ZM819 564Q819 595 800 619L784 606Q729 557 692 512T605 387L591 365L610 364Q622 364 631 363T641 361Q643 361 651 363Q725 388 772 449T819 564ZM794 141Q794 123 725 63T612 3Q609 3 612 5Q612 5 615 7Q639 19 678 57T742 131L755 148H772H780Q794 148 794 141ZM588 -3Q590 0 593 0H594L593 -1Q592 -1 590 -2L588 -3'], + + // LATIN CAPITAL LETTER S + 0x53: [708,36,868,29,1016,'346 463Q346 419 406 386T576 352H588L613 384L681 476Q767 594 842 651T973 708Q1016 708 1016 661Q1016 621 987 562T894 449Q802 375 696 338L682 334L665 312Q638 279 605 233T547 158T482 97Q418 46 332 5T158 -36Q87 -36 58 -11T29 48Q29 82 55 120T123 158Q144 158 154 146T164 119Q164 102 143 89T100 75Q92 75 86 76T77 80T72 82Q67 82 67 59Q67 28 98 14T166 0Q232 0 320 55T491 226Q530 279 551 305L558 314Q558 315 543 315Q417 321 353 365T289 460Q289 566 488 632Q578 662 660 665H679Q685 660 685 657T676 642Q670 633 666 629L664 628Q663 628 661 628T655 628Q606 628 546 615T426 568T350 486Q346 475 346 463ZM976 653Q976 671 959 671Q938 671 919 661T883 629T858 593T835 554Q832 548 830 545Q802 495 775 455T734 400T721 382L736 388Q876 449 946 568Q948 572 949 573Q976 622 976 653'], + + // LATIN CAPITAL LETTER T + 0x54: [735,37,747,92,996,'354 350Q264 350 264 426Q264 442 265 448Q279 514 347 582T503 692T662 735Q719 735 774 714T882 672T983 651Q996 651 996 644Q996 639 977 612T954 581Q953 580 938 580Q909 582 884 587L869 591L870 587Q870 583 849 557T796 491T748 422Q729 391 692 313T620 188Q555 105 454 34T253 -37Q214 -37 181 -30T120 -2T92 53Q92 89 119 123T184 158Q205 158 215 146T225 119Q225 102 203 89T161 75Q153 75 145 78T135 81Q130 81 130 62Q130 39 153 24T204 5T267 0Q311 0 358 29T454 117T539 226T629 358T710 476Q726 496 744 516T778 551T807 577T828 595L836 601L785 623Q743 642 713 651T668 661T626 663Q564 663 509 644T418 596T356 535T317 475T305 431Q305 416 312 408Q323 388 369 388Q429 388 465 411T530 480Q557 526 557 565Q557 573 556 579T555 587T555 590Q555 591 568 600T584 611Q588 612 600 603Q622 581 622 549Q622 516 600 475T536 405Q454 350 354 350'], + + // LATIN CAPITAL LETTER U + 0x55: [717,17,800,55,960,'55 377Q55 443 122 523T290 660T478 717Q533 717 575 689T618 594Q618 565 611 538T585 477T552 422T506 355T458 288L357 146Q307 68 307 31Q307 20 318 20Q326 20 331 21Q367 27 411 57T490 128L767 500L861 617H908H939Q953 617 956 616T960 609Q960 605 928 566T816 423T648 198Q587 113 571 86Q540 34 540 21Q540 20 545 20Q580 25 623 55T696 124Q702 132 704 133T722 134H739Q744 130 744 127T735 113Q713 80 655 38T548 -14Q527 -17 524 -17Q475 -17 473 47V63L462 55Q364 -17 302 -17Q235 -17 235 69Q235 88 239 105T248 135T268 171T292 205T328 251T369 304Q376 313 395 338T423 374T450 408T476 445T499 479T519 514T534 546T545 579T548 608Q548 647 522 663T460 680Q355 680 243 591T99 406Q97 399 97 383V377Q97 339 153 339Q169 339 175 340Q215 350 241 373T298 444Q333 496 349 535T367 588T374 603Q402 616 408 616Q416 616 416 608Q416 563 393 492T320 378Q233 302 140 302H132Q75 302 57 353Q55 361 55 377'], + + // LATIN CAPITAL LETTER V + 0x56: [717,17,622,56,850,'540 717Q542 717 545 717Q562 717 562 710Q562 708 557 702T541 678T517 632T485 544T448 407Q447 405 443 388T438 366T433 345T427 321T420 299T411 274T400 250T387 223T372 197Q363 181 364 181L388 203Q476 284 527 354T620 490T718 612Q754 647 790 673T835 700Q839 700 842 691T848 672L850 662Q850 657 842 653Q803 630 768 600T699 527T653 467T610 405Q554 322 518 282T368 138Q307 84 273 51T231 9T218 -5L207 -17H175Q169 -11 169 -9Q169 -4 183 10Q227 56 258 120T302 234T330 350T356 445Q357 450 360 458L362 464Q317 434 276 434Q221 437 221 479Q221 498 240 521T259 552Q259 565 235 565Q209 565 174 546T105 482Q103 480 102 478T99 474T97 472T95 470T93 468T90 467T86 467T81 467H75Q56 467 56 475Q56 482 82 511T156 570T253 601Q289 601 311 590T334 557Q334 543 312 517T289 478Q289 471 297 471Q327 471 378 514Q384 519 390 531T412 571T451 632Q482 675 524 717H540'], + + // LATIN CAPITAL LETTER W + 0x57: [717,17,805,46,1026,'232 504Q232 492 263 492Q304 492 356 515L367 520L379 537Q443 632 515 705L527 717H543H552Q564 717 564 709Q564 705 562 703T554 694T540 677T518 643T488 589T448 504T398 385Q368 309 353 281L349 270L523 472L669 634Q726 695 737 706T757 717H765Q786 717 786 710Q786 704 776 691T738 627T675 497Q630 394 609 354T541 244Q456 120 449 111L447 107L448 108Q630 240 700 327Q734 368 788 463Q821 520 841 550T898 619T980 683Q1010 700 1018 700Q1020 700 1023 697T1026 692Q1026 688 1024 671T1020 652Q1018 650 1007 645T988 635Q940 609 902 565T842 477T781 374T699 272Q653 226 535 133Q423 47 373 -2L358 -17H342Q320 -17 320 -11Q320 -7 328 5T354 46T390 112Q416 161 439 217T488 326T564 453L589 490Q587 490 523 414T352 217T166 14Q138 -16 137 -16Q136 -17 120 -17Q106 -17 103 -16T99 -9Q99 -5 100 -3T106 3T116 14T132 35T154 72T184 129T222 212T270 327Q310 426 337 471L326 467Q278 455 243 455Q209 455 188 462T161 478T155 496Q155 508 176 533T198 576Q198 579 198 581T192 588T178 593Q151 593 100 519Q89 504 86 502T75 499H68Q46 499 46 506Q46 510 63 534T112 587T170 627Q178 629 195 629Q235 629 252 613T270 577Q270 556 251 532T232 504'], + + // LATIN CAPITAL LETTER X + 0x58: [717,17,944,103,1131,'351 351Q308 351 290 373T272 426Q272 487 329 566T478 688Q538 717 584 717Q635 717 681 696T745 620Q752 598 752 564T745 498L741 485Q742 486 769 516T825 573T889 634T962 689T1027 716Q1035 717 1060 717Q1083 716 1096 714T1120 705T1131 686Q1131 668 1109 647T1055 626Q1035 626 1026 638T1016 663Q1016 667 1020 679H1015Q971 671 886 589T728 413L688 360Q688 359 725 359H750Q762 359 766 357T770 348Q769 345 761 335T750 322Q748 321 704 321H660Q651 311 632 282T589 199T565 107Q565 25 653 20Q684 20 720 44T779 95T826 152T850 183L856 184Q861 184 865 184Q888 184 888 173Q883 163 845 117Q770 37 723 10T638 -17Q584 -14 554 17T523 101Q523 147 534 167L532 166Q530 164 526 160T518 153Q378 15 256 -15Q250 -16 226 -16Q161 -16 132 7T103 59Q103 93 129 125T194 158Q232 158 232 121Q233 118 233 113T221 96T188 77Q182 75 168 75T150 78V70Q150 43 178 32T241 20Q340 20 527 286L552 321H524Q489 321 489 330Q489 333 497 344T509 358Q511 359 545 359H579Q580 362 597 389T631 445T661 514T675 586Q675 637 645 658T572 680Q506 680 444 632T348 527T314 434Q314 388 361 388H364H366Q380 388 389 390T416 408T457 454Q487 497 505 536T526 594L529 613Q531 615 545 622T560 630Q568 630 573 613T578 577Q578 518 532 455Q504 413 453 382T351 351'], + + // LATIN CAPITAL LETTER Y + 0x59: [716,17,710,57,959,'155 280Q116 280 87 300T57 368Q57 409 87 466T192 589Q269 653 345 684T472 716Q572 716 613 675Q644 644 644 599Q644 585 643 574T637 550T629 529T616 505T600 481T578 450T554 416Q494 330 493 328L480 306Q466 278 466 256Q466 227 492 227H496Q514 227 534 234Q541 237 544 241T571 279L762 559Q777 579 792 595Q818 620 856 646T919 686T946 700Q951 700 955 692T959 677Q959 673 947 665T911 639T866 595Q816 538 749 408T640 225Q574 138 464 61T248 -17Q190 -17 144 1T98 62Q98 81 109 102T131 135Q156 156 183 158Q226 158 226 121Q226 111 224 107Q215 93 196 84T162 74Q154 74 147 77H144V70Q146 41 185 31T263 20Q363 20 493 175L507 192H504Q500 191 498 191Q484 189 476 189Q430 189 405 219T379 287Q379 294 379 299T382 311T385 322T391 335T398 347T408 363T420 379T434 399T450 422Q455 429 469 449T488 475T504 499T520 523T533 543T544 565T552 583T557 603T559 620Q559 680 467 680Q402 680 333 646T213 563T131 462T98 373Q98 343 119 330T169 317Q187 317 212 333Q242 354 291 423T352 555Q354 562 355 588Q355 612 356 612Q357 614 371 622T387 630Q391 630 397 623T409 597T415 556Q415 507 380 448T294 344Q216 280 155 280'], + + // LATIN CAPITAL LETTER Z + 0x5A: [717,16,821,82,1032,'221 428Q221 487 280 555T425 670T583 717H587Q641 717 665 695T689 646Q689 625 674 600T658 564Q658 550 671 541T695 530T710 528L718 539Q779 613 821 646Q894 707 964 707H970Q1010 707 1025 675Q1032 661 1032 645Q1032 626 1022 607Q1008 579 980 560T897 522Q867 512 836 505T788 496L771 493Q768 493 760 477T736 429T702 370Q700 367 698 363Q696 360 696 359H805Q809 355 809 350Q809 340 791 322Q789 321 728 321H668Q562 179 433 88L419 78L434 73Q505 54 554 54Q609 54 654 82T720 140H752Q758 134 758 132Q758 128 747 113Q711 67 657 32T552 -14Q540 -16 517 -16T480 -15T439 -3T375 27L354 38L338 30Q257 -8 191 -8H184Q154 -8 133 -5T103 1T88 10T83 19T83 29Q83 35 86 44T100 65T127 88T173 105T241 112Q286 112 342 99L360 95L372 105Q434 157 523 270L560 320Q560 321 533 321L507 322Q502 325 502 330Q502 339 521 358Q523 359 556 359H588L669 474L682 491Q676 492 665 494T647 498T632 503T614 510T596 521Q556 547 556 570Q556 585 579 618T603 663Q603 679 568 679Q510 679 452 650T354 581T288 500T262 431Q262 407 280 397T321 387Q331 387 341 390T360 398T376 409T390 423T400 435T409 447L414 454Q457 514 460 562Q460 575 461 576Q461 577 475 586T492 595Q496 595 503 588T514 572Q520 559 520 539Q520 473 452 412T308 351Q269 351 245 370T221 428ZM989 642Q989 667 953 671Q905 671 871 644Q853 632 832 604T799 554T787 531H788Q801 531 842 539T916 561Q989 592 989 642ZM198 29Q230 29 257 36T295 52L306 59Q306 63 259 73Q251 74 209 74Q177 74 158 66T134 48L130 40Q130 29 198 29'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Script/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/Main.js new file mode 100644 index 00000000..068c2d1e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Script/Regular/Main.js @@ -0,0 +1,60 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Script/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Script'] = { + directory: 'Script/Regular', + family: 'MathJax_Script', + id: 'MJSCR', + skew: { + 0x41: 0.389, + 0x42: 0.194, + 0x43: 0.278, + 0x44: 0.111, + 0x45: 0.139, + 0x46: 0.222, + 0x47: 0.25, + 0x48: 0.333, + 0x49: 0.333, + 0x4A: 0.417, + 0x4B: 0.361, + 0x4C: 0.306, + 0x4D: 0.444, + 0x4E: 0.389, + 0x4F: 0.167, + 0x50: 0.222, + 0x51: 0.278, + 0x52: 0.194, + 0x53: 0.333, + 0x54: 0.222, + 0x55: 0.25, + 0x56: 0.222, + 0x57: 0.25, + 0x58: 0.278, + 0x59: 0.194, + 0x5A: 0.306 + }, + Ranges: [ + [0x0,0x7F,"BasicLatin"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Script/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js new file mode 100644 index 00000000..d8be6b2a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js @@ -0,0 +1,159 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Size1/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size1'] = { + directory: 'Size1/Regular', + family: 'MathJax_Size1', + id: 'MJSZ1', + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [850,349,458,152,422,'152 251Q152 646 388 850H416Q422 844 422 841Q422 837 403 816T357 753T302 649T255 482T236 250Q236 124 255 19T301 -147T356 -251T403 -315T422 -340Q422 -343 416 -349H388Q359 -325 332 -296T271 -213T212 -97T170 56T152 251'], + + // RIGHT PARENTHESIS + 0x29: [850,349,458,35,305,'305 251Q305 -145 69 -349H56Q43 -349 39 -347T35 -338Q37 -333 60 -307T108 -239T160 -136T204 27T221 250T204 473T160 636T108 740T60 807T35 839Q35 850 50 850H56H69Q197 743 256 566Q305 425 305 251'], + + // SOLIDUS + 0x2F: [850,349,578,55,522,'481 838Q489 850 500 850Q508 850 515 844T522 827Q521 824 311 248T96 -337Q90 -349 77 -349Q68 -349 62 -343T55 -326Q56 -323 266 253T481 838'], + + // LEFT SQUARE BRACKET + 0x5B: [850,349,417,202,394,'202 -349V850H394V810H242V-309H394V-349H202'], + + // REVERSE SOLIDUS + 0x5C: [850,349,578,54,522,'522 -326Q522 -337 515 -343T500 -349Q487 -349 481 -337Q477 -328 267 248T55 827Q54 835 60 842T76 850Q89 850 96 838Q100 829 310 253T522 -326'], + + // RIGHT SQUARE BRACKET + 0x5D: [850,349,417,22,214,'22 810V850H214V-349H22V-309H174V810H22'], + + // LEFT CURLY BRACKET + 0x7B: [851,349,583,105,477,'477 -343L471 -349H458Q432 -349 367 -325T273 -263Q258 -245 250 -212L249 -51Q249 -27 249 12Q248 118 244 128Q243 129 243 130Q220 189 121 228Q109 232 107 235T105 250Q105 256 105 257T105 261T107 265T111 268T118 272T128 276T142 283T162 291Q224 324 243 371Q243 372 244 373Q248 384 249 469Q249 475 249 489Q249 528 249 552L250 714Q253 728 256 736T271 761T299 789T347 816T422 843Q440 849 441 849H443Q445 849 447 849T452 850T457 850H471L477 844V830Q477 820 476 817T470 811T459 807T437 801T404 785Q353 760 338 724Q333 710 333 550Q333 526 333 492T334 447Q334 393 327 368T295 318Q257 280 181 255L169 251L184 245Q318 198 332 112Q333 106 333 -49Q333 -209 338 -223Q351 -255 391 -277T469 -309Q477 -311 477 -329V-343'], + + // RIGHT CURLY BRACKET + 0x7D: [850,349,583,105,477,'110 849L115 850Q120 850 125 850Q151 850 215 826T309 764Q324 747 332 714L333 552Q333 528 333 489Q334 383 338 373Q339 372 339 371Q353 336 391 310T469 271Q477 268 477 251Q477 241 476 237T472 232T456 225T428 214Q357 179 339 130Q339 129 338 128Q334 117 333 32Q333 26 333 12Q333 -27 333 -51L332 -212Q328 -228 323 -240T302 -271T255 -307T175 -338Q139 -349 125 -349T108 -346T105 -329Q105 -314 107 -312T130 -304Q233 -271 248 -209Q249 -203 249 -49V57Q249 106 253 125T273 167Q307 213 398 245L413 251L401 255Q265 300 250 389Q249 395 249 550Q249 710 244 724Q224 774 112 811Q105 813 105 830Q105 845 110 849'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [744,-551,556,-8,564,'279 669Q273 669 142 610T9 551L0 569Q-8 585 -8 587Q-8 588 -7 588L12 598Q30 608 66 628T136 666L277 744L564 587L555 569Q549 556 547 554T544 552Q539 555 410 612T279 669'], + + // SMALL TILDE + 0x2DC: [722,-597,556,1,554,'374 597Q337 597 269 627T160 658Q101 658 34 606L24 597L12 611Q1 624 1 626Q1 627 27 648T55 671Q120 722 182 722Q219 722 286 692T395 661Q454 661 521 713L531 722L543 708Q554 695 554 693Q554 692 528 671T500 648Q434 597 374 597'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [744,-551,0,-564,8,'-277 669Q-283 669 -414 610T-547 551L-556 569Q-564 585 -564 587Q-564 588 -563 588L-544 598Q-526 608 -490 628T-420 666L-279 744L8 587L-1 569Q-7 556 -9 554T-12 552Q-17 555 -146 612T-277 669'], + + // COMBINING TILDE + 0x303: [722,-597,0,-555,-2,'-182 597Q-219 597 -287 627T-396 658Q-455 658 -522 606L-532 597L-544 611Q-555 624 -555 626Q-555 627 -529 648T-501 671Q-436 722 -374 722Q-337 722 -270 692T-161 661Q-102 661 -35 713L-25 722L-13 708Q-2 695 -2 693Q-2 692 -28 671T-56 648Q-122 597 -182 597'], + + // DOUBLE VERTICAL LINE + 0x2016: [602,0,778,257,521,'257 0V602H300V0H257ZM478 0V602H521V0H478'], + + // UPWARDS ARROW + 0x2191: [600,0,667,112,555,'112 421L120 424Q127 427 136 430T161 441T191 458T224 481T260 510T295 546T328 591L333 600L340 589Q380 527 431 489T555 421V377L543 381Q445 418 368 492L355 504V0H312V504L299 492Q222 418 124 381L112 377V421'], + + // DOWNWARDS ARROW + 0x2193: [600,0,667,112,555,'312 96V600H355V96L368 108Q445 182 543 219L555 223V179L546 176Q538 173 529 169T505 158T475 141T442 119T407 90T372 53T339 9L334 0L327 11Q287 73 236 111T112 179V223L124 219Q222 182 299 108L312 96'], + + // UPWARDS DOUBLE ARROW + 0x21D1: [599,0,778,57,721,'142 329Q300 419 389 599Q389 598 399 579T420 541T452 494T497 438T558 383T636 329T708 294L721 289V246Q718 246 694 256T623 293T532 356L522 364L521 182V0H478V405L466 417Q436 450 389 516Q388 515 378 500T352 463T312 417L300 405V0H257V364L247 356Q202 320 155 293T82 256L57 246V289L70 294Q101 305 142 329'], + + // DOWNWARDS DOUBLE ARROW + 0x21D3: [600,-1,778,57,721,'257 236V600H300V195L312 183Q342 150 389 84Q390 85 400 100T426 137T466 183L478 195V600H521V418L522 236L532 244Q576 280 623 307T696 344L721 354V311L708 306Q677 295 636 271Q478 181 389 1Q389 2 379 21T358 59T326 106T281 162T220 217T142 271T70 306L57 311V354Q60 354 83 345T154 308T247 244L257 236'], + + // N-ARY PRODUCT + 0x220F: [750,250,944,55,888,'158 656Q147 684 131 694Q110 707 69 710H55V750H888V710H874Q840 708 820 698T795 678T786 656V-155Q798 -206 874 -210H888V-250H570V-210H584Q618 -208 638 -197T663 -178T673 -155V710H270V277L271 -155Q283 -206 359 -210H373V-250H55V-210H69Q103 -208 123 -197T148 -178T158 -155V656'], + + // N-ARY COPRODUCT + 0x2210: [750,250,944,55,888,'158 656Q147 684 131 694Q110 707 69 710H55V750H373V710H359Q325 708 305 698T280 678T271 656L270 223V-210H673V656Q666 672 663 679T639 697T584 710H570V750H888V710H874Q840 708 820 698T795 678T786 656V-155Q798 -206 874 -210H888V-250H55V-210H69Q103 -208 123 -197T148 -178T158 -155V656'], + + // N-ARY SUMMATION + 0x2211: [750,250,1056,56,999,'61 748Q64 750 489 750H913L954 640Q965 609 976 579T993 533T999 516H979L959 517Q936 579 886 621T777 682Q724 700 655 705T436 710H319Q183 710 183 709Q186 706 348 484T511 259Q517 250 513 244L490 216Q466 188 420 134T330 27L149 -187Q149 -188 362 -188Q388 -188 436 -188T506 -189Q679 -189 778 -162T936 -43Q946 -27 959 6H999L913 -249L489 -250Q65 -250 62 -248Q56 -246 56 -239Q56 -234 118 -161Q186 -81 245 -11L428 206Q428 207 242 462L57 717L56 728Q56 744 61 748'], + + // SQUARE ROOT + 0x221A: [850,350,1000,111,1020,'263 249Q264 249 315 130T417 -108T470 -228L725 302Q981 837 982 839Q989 850 1001 850Q1008 850 1013 844T1020 832V826L741 243Q645 43 540 -176Q479 -303 469 -324T453 -348Q449 -350 436 -350L424 -349L315 -96Q206 156 205 156L171 130Q138 104 137 104L111 130L263 249'], + + // DIVIDES + 0x2223: [627,15,333,144,188,'146 612Q151 627 166 627Q182 627 187 612Q188 610 188 306T187 0Q184 -15 166 -15Q149 -15 146 0V10Q146 19 146 35T146 73T146 122T145 179T145 241T145 306T145 370T145 433T145 489T146 538T146 576T146 602V612'], + + // PARALLEL TO + 0x2225: [627,15,556,144,410,'146 612Q151 627 166 627Q182 627 187 612Q188 610 188 306T187 0Q184 -15 166 -15Q149 -15 146 0V10Q146 19 146 35T146 73T146 122T145 179T145 241T145 306T145 370T145 433T145 489T146 538T146 576T146 602V612ZM368 612Q373 627 388 627Q404 627 409 612Q410 610 410 306T409 0Q406 -15 389 -15Q371 -15 368 0V10Q368 19 368 35T368 73T368 122T367 179T367 241T367 306T367 370T367 433T367 489T368 538T368 576T368 602V612'], + + // INTEGRAL + 0x222B: [805,306,472,55,610,'113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q220 -247 232 -218T251 -133T262 -15T276 155T297 367Q300 390 305 438T314 512T325 580T340 647T361 703T390 751T428 784T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q475 768 460 756T434 716T418 652T407 559T398 444T387 300T369 133Q349 -38 337 -102T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244'], + + // DOUBLE INTEGRAL + 0x222C: [805,306,819,55,957,'113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q220 -247 232 -218T251 -133T262 -15T276 155T297 367Q300 390 305 438T314 512T325 580T340 647T361 703T390 751T428 784T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q475 768 460 756T434 716T418 652T407 559T398 444T387 300T369 133Q349 -38 337 -102T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244ZM460 -244Q460 -246 466 -251T486 -263T514 -269Q532 -269 546 -260Q567 -247 579 -218T598 -133T609 -15T623 155T644 367Q647 390 652 438T661 512T672 580T687 647T708 703T737 751T775 784T826 804Q828 804 835 804T848 805Q899 802 928 769T957 695Q957 669 941 657T908 645Q889 645 874 658T859 694Q859 705 863 714T873 729T885 737T895 742L899 743Q899 745 892 751T872 762T845 768Q822 768 807 756T781 716T765 652T754 559T745 444T734 300T716 133Q696 -38 684 -102T650 -207Q603 -306 516 -306Q466 -306 434 -272T402 -196Q402 -170 418 -158T451 -146Q470 -146 485 -159T500 -195Q500 -206 496 -215T486 -230T474 -238T464 -242L460 -244'], + + // TRIPLE INTEGRAL + 0x222D: [805,306,1166,55,1304,'113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q220 -247 232 -218T251 -133T262 -15T276 155T297 367Q300 390 305 438T314 512T325 580T340 647T361 703T390 751T428 784T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q475 768 460 756T434 716T418 652T407 559T398 444T387 300T369 133Q349 -38 337 -102T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244ZM460 -244Q460 -246 466 -251T486 -263T514 -269Q532 -269 546 -260Q567 -247 579 -218T598 -133T609 -15T623 155T644 367Q647 390 652 438T661 512T672 580T687 647T708 703T737 751T775 784T826 804Q828 804 835 804T848 805Q899 802 928 769T957 695Q957 669 941 657T908 645Q889 645 874 658T859 694Q859 705 863 714T873 729T885 737T895 742L899 743Q899 745 892 751T872 762T845 768Q822 768 807 756T781 716T765 652T754 559T745 444T734 300T716 133Q696 -38 684 -102T650 -207Q603 -306 516 -306Q466 -306 434 -272T402 -196Q402 -170 418 -158T451 -146Q470 -146 485 -159T500 -195Q500 -206 496 -215T486 -230T474 -238T464 -242L460 -244ZM807 -244Q807 -246 813 -251T833 -263T861 -269Q880 -269 893 -260Q914 -247 926 -218T945 -133T956 -15T970 155T991 367Q994 390 999 438T1008 512T1019 580T1034 647T1055 703T1084 751T1122 784T1173 804Q1175 804 1182 804T1195 805Q1246 802 1275 769T1304 695Q1304 669 1288 657T1255 645Q1236 645 1221 658T1206 694Q1206 705 1210 714T1220 729T1232 737T1242 742L1246 743Q1246 745 1239 751T1219 762T1192 768Q1169 768 1154 756T1128 716T1112 652T1101 559T1092 444T1081 300T1063 133Q1043 -38 1031 -102T997 -207Q950 -306 863 -306Q813 -306 781 -272T749 -196Q749 -170 765 -158T798 -146Q817 -146 832 -159T847 -195Q847 -206 843 -215T833 -230T821 -238T811 -242L807 -244'], + + // CONTOUR INTEGRAL + 0x222E: [805,306,472,55,610,'269 74L256 80Q244 85 227 97T191 128T161 179T148 250Q148 332 199 379T302 433L306 434L307 444Q309 456 313 495T321 553T331 607T345 664T365 712T393 756T431 785T479 804Q481 804 488 804T501 805Q552 802 581 769T610 695Q610 669 594 657T561 645Q542 645 527 658T512 694Q512 705 516 714T526 729T538 737T548 742L552 743Q552 745 545 751T525 762T498 768Q471 768 454 752T427 693T414 626T406 536Q405 530 405 527L397 425L404 422Q410 419 421 413T445 399T470 376T494 345T511 303T518 250Q518 205 502 169T460 112T410 80T364 66L360 65L359 55Q357 38 353 4T346 -43T340 -81T333 -118T326 -148T316 -179T303 -207Q256 -306 169 -306Q119 -306 87 -272T55 -196Q55 -170 71 -158T104 -146Q123 -146 138 -159T153 -195Q153 -206 149 -215T139 -230T127 -238T117 -242L113 -244Q113 -246 119 -251T139 -263T167 -269Q186 -269 199 -260Q231 -241 242 -183T266 33L269 74ZM272 122Q272 156 300 391Q300 392 299 392Q287 392 263 379T213 331T187 249Q187 211 205 180T239 137T272 116V122ZM366 107Q378 107 402 119T453 167T479 249Q479 340 394 383V377Q394 375 394 374T393 371T393 366T392 357T391 342T389 321T386 291T382 251T377 199T369 133Q366 112 366 107'], + + // N-ARY LOGICAL AND + 0x22C0: [750,249,833,55,777,'119 -249T97 -249T65 -235T55 -207Q55 -201 56 -198Q58 -190 218 268T380 729Q392 750 416 750Q438 750 451 732Q453 728 534 498T695 36L775 -194Q777 -204 777 -208Q777 -222 767 -235T735 -249Q713 -249 700 -231Q696 -225 557 177L416 579L276 177Q136 -226 132 -231Q119 -249 97 -249'], + + // N-ARY LOGICAL OR + 0x22C1: [750,249,833,55,777,'55 708Q55 729 68 739T96 750Q119 750 132 731Q136 726 276 323L416 -79L557 323Q696 725 700 731Q713 749 735 749Q756 749 766 736T777 708Q777 700 696 466T533 1T451 -232Q436 -249 416 -249Q402 -249 391 -241Q384 -236 380 -226Q368 -198 219 230Q55 697 55 708'], + + // N-ARY INTERSECTION + 0x22C2: [750,249,833,54,777,'139 -217Q127 -241 114 -246Q106 -249 97 -249Q67 -249 57 -220Q55 -214 55 102Q55 152 55 221T54 312Q54 422 60 464T91 554Q120 612 165 654T257 714T337 741T392 749Q393 750 402 750Q414 750 422 749Q557 749 660 659T776 430Q777 422 777 102Q777 -214 775 -220Q765 -249 735 -249Q716 -249 708 -241T694 -217L692 428L690 441Q674 540 597 603T416 666H409Q388 666 364 662T294 638T212 581Q156 523 142 441L140 428L139 105V-217'], + + // N-ARY UNION + 0x22C3: [750,249,833,55,777,'96 750Q103 750 109 748T120 744T127 737T133 730T137 723T139 718V395L140 73L142 60Q159 -43 237 -104T416 -166Q521 -166 597 -103T690 60L692 73L694 718Q708 749 735 749Q765 749 775 720Q777 714 777 398Q777 78 776 71Q766 -51 680 -140Q571 -249 416 -249H411Q261 -249 152 -140Q66 -51 56 71Q55 78 55 398Q55 714 57 720Q60 734 70 740Q80 750 96 750'], + + // LEFT CEILING + 0x2308: [850,349,472,202,449,'202 -349V850H449V810H242V-349H202'], + + // RIGHT CEILING + 0x2309: [850,349,472,22,269,'22 810V850H269V-349H229V810H22'], + + // LEFT FLOOR + 0x230A: [850,349,472,202,449,'202 -349V850H242V-309H449V-349H202'], + + // RIGHT FLOOR + 0x230B: [850,349,472,22,269,'229 -309V850H269V-349H22V-309H229'], + + // VERTICAL LINE EXTENSION (used to extend arrows) + 0x23D0: [602,0,667,312,355,'312 0V602H355V0H312'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [850,350,472,96,394,'373 850Q392 850 394 832Q394 825 267 538L139 250L267 -38Q394 -325 394 -332Q392 -350 375 -350Q361 -350 356 -338Q354 -331 289 -186T161 103T97 250T160 397T289 685T356 838Q362 850 373 850'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [850,350,472,77,375,'77 832Q77 837 82 843T98 850Q110 849 115 838Q117 831 182 686T310 397T374 250T311 103T182 -185T115 -338Q110 -350 96 -350Q79 -350 77 -332Q77 -325 204 -38L332 250L204 538Q77 825 77 832'], + + // N-ARY CIRCLED DOT OPERATOR + 0x2A00: [750,250,1111,56,1054,'555 -250Q420 -250 306 -185T124 -4T56 250Q56 453 193 595T526 749Q528 750 539 750Q554 750 562 749Q688 749 800 687T983 508T1054 250Q1054 112 987 -3T806 -184T555 -250ZM555 -165Q672 -165 767 -108T916 44T970 250Q970 418 861 532T600 664Q591 665 548 665Q446 665 353 614T200 466T140 250V243Q140 88 248 -30Q262 -46 280 -62T338 -105T434 -148T555 -165ZM478 250Q478 288 503 307T551 326Q586 326 609 305T632 250Q632 217 610 196T555 174T500 196T478 250'], + + // N-ARY CIRCLED PLUS OPERATOR + 0x2A01: [750,250,1111,56,1054,'555 -250Q420 -250 306 -185T124 -4T56 250Q56 453 193 595T526 749Q528 750 539 750Q554 750 562 749Q688 749 800 687T983 508T1054 250Q1054 112 987 -3T806 -184T555 -250ZM513 478Q513 664 512 664Q504 664 481 660T406 637T313 588Q281 564 255 537T211 483T181 431T161 382T150 342T144 310T141 292H513V478ZM798 588Q758 616 711 634T639 658T602 663L597 664V292H969Q969 293 967 309T960 341T949 381T930 430T900 482T856 537T798 588ZM513 -164V208H141Q142 205 144 189T149 160T158 125T173 83T196 39T229 -9Q249 -34 273 -55T318 -92T363 -119T405 -138T444 -150T475 -158T499 -162T513 -164ZM775 -103Q801 -87 823 -68T863 -30T894 10T919 49T937 88T950 123T959 154T964 180T968 198L969 208H597V-164Q599 -163 616 -161T647 -155T683 -145T728 -128T775 -103'], + + // N-ARY CIRCLED TIMES OPERATOR + 0x2A02: [750,250,1111,56,1054,'555 -250Q420 -250 306 -185T124 -4T56 250Q56 453 193 595T526 749Q528 750 539 750Q554 750 562 749Q688 749 800 687T983 508T1054 250Q1054 112 987 -3T806 -184T555 -250ZM600 664Q591 665 548 665Q414 665 306 583L292 573L423 441L555 310L687 441L818 573L804 583Q714 650 600 664ZM364 118L495 250L364 382L232 513L223 500Q140 391 140 250Q140 107 223 0L232 -13L364 118ZM970 250Q970 389 887 501L878 512Q878 513 861 496T812 447T746 381L615 250L746 118L878 -13L887 0Q970 109 970 250ZM687 59L555 190L423 59L292 -73L306 -83Q416 -166 555 -166T804 -83L818 -73L687 59'], + + // N-ARY UNION OPERATOR WITH PLUS + 0x2A04: [750,249,833,55,777,'96 750Q103 750 109 748T120 744T127 737T133 730T137 723T139 718V395L140 73L142 60Q159 -43 237 -104T416 -166Q521 -166 597 -103T690 60L692 73L694 718Q708 749 735 749Q765 749 775 720Q777 714 777 398Q777 78 776 71Q766 -51 680 -140Q571 -249 416 -249H411Q261 -249 152 -140Q66 -51 56 71Q55 78 55 398Q55 714 57 720Q60 734 70 740Q80 750 96 750ZM223 276Q223 282 224 287T227 296T232 302T238 308T243 313T250 316L254 319H374V376V406Q374 438 382 454T418 470Q443 467 450 453T458 410V376V319H579Q580 319 583 317T589 313T594 308T600 302T604 295T608 287T609 276Q609 253 587 241Q577 235 513 235H458V178Q458 176 458 166T459 148Q459 84 415 84Q401 84 390 93T375 117Q374 120 374 178V235H319Q317 235 307 235T290 234Q223 234 223 276'], + + // N-ARY SQUARE UNION OPERATOR + 0x2A06: [750,249,833,55,777,'777 -217Q766 -244 745 -249H88Q64 -242 57 -220Q55 -214 55 250T57 720Q60 734 70 740Q80 750 96 750Q127 750 137 720Q139 714 139 274V-166H693V274Q693 714 695 720Q705 749 735 749Q766 749 775 719Q777 713 777 248V-217'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size1/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js new file mode 100644 index 00000000..7231c53e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js @@ -0,0 +1,135 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Size2/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size2'] = { + directory: 'Size2/Regular', + family: 'MathJax_Size2', + id: 'MJSZ2', + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [1150,649,597,180,561,'180 96T180 250T205 541T266 770T353 944T444 1069T527 1150H555Q561 1144 561 1141Q561 1137 545 1120T504 1072T447 995T386 878T330 721T288 513T272 251Q272 133 280 56Q293 -87 326 -209T399 -405T475 -531T536 -609T561 -640Q561 -643 555 -649H527Q483 -612 443 -568T353 -443T266 -270T205 -41'], + + // RIGHT PARENTHESIS + 0x29: [1150,649,597,35,417,'35 1138Q35 1150 51 1150H56H69Q113 1113 153 1069T243 944T330 771T391 541T416 250T391 -40T330 -270T243 -443T152 -568T69 -649H56Q43 -649 39 -647T35 -637Q65 -607 110 -548Q283 -316 316 56Q324 133 324 251Q324 368 316 445Q278 877 48 1123Q36 1137 35 1138'], + + // SOLIDUS + 0x2F: [1150,649,811,56,754,'78 -649Q56 -646 56 -625Q56 -614 382 261T712 1140Q716 1150 732 1150Q754 1147 754 1126Q754 1116 428 240T98 -639Q94 -649 78 -649'], + + // LEFT SQUARE BRACKET + 0x5B: [1150,649,472,224,455,'224 -649V1150H455V1099H275V-598H455V-649H224'], + + // REVERSE SOLIDUS + 0x5C: [1150,649,811,54,754,'754 -625Q754 -649 731 -649Q715 -649 712 -639Q709 -635 383 242T55 1124Q54 1135 61 1142T80 1150Q92 1150 98 1140Q101 1137 427 262T754 -625'], + + // RIGHT SQUARE BRACKET + 0x5D: [1150,649,472,16,247,'16 1099V1150H247V-649H16V-598H196V1099H16'], + + // LEFT CURLY BRACKET + 0x7B: [1150,649,667,119,547,'547 -643L541 -649H528Q515 -649 503 -645Q324 -582 293 -466Q289 -449 289 -428T287 -200L286 42L284 53Q274 98 248 135T196 190T146 222L121 235Q119 239 119 250Q119 262 121 266T133 273Q262 336 284 449L286 460L287 701Q287 737 287 794Q288 949 292 963Q293 966 293 967Q325 1080 508 1148Q516 1150 527 1150H541L547 1144V1130Q547 1117 546 1115T536 1109Q480 1086 437 1046T381 950L379 940L378 699Q378 657 378 594Q377 452 374 438Q373 437 373 436Q350 348 243 282Q192 257 186 254L176 251L188 245Q211 236 234 223T287 189T340 135T373 65Q373 64 374 63Q377 49 378 -93Q378 -156 378 -198L379 -438L381 -449Q393 -504 436 -544T536 -608Q544 -611 545 -613T547 -629V-643'], + + // RIGHT CURLY BRACKET + 0x7D: [1150,649,667,119,547,'119 1130Q119 1144 121 1147T135 1150H139Q151 1150 182 1138T252 1105T326 1046T373 964Q378 942 378 702Q378 469 379 462Q386 394 439 339Q482 296 535 272Q544 268 545 266T547 251Q547 241 547 238T542 231T531 227T510 217T477 194Q390 129 379 39Q378 32 378 -201Q378 -441 373 -463Q342 -580 165 -644Q152 -649 139 -649Q125 -649 122 -646T119 -629Q119 -622 119 -619T121 -614T124 -610T132 -607T143 -602Q195 -579 235 -539T285 -447Q286 -435 287 -199T289 51Q294 74 300 91T329 138T390 197Q412 213 436 226T475 244L489 250L472 258Q455 265 430 279T377 313T327 366T293 434Q289 451 289 472T287 699Q286 941 285 948Q279 978 262 1005T227 1048T184 1080T151 1100T129 1109L127 1110Q119 1113 119 1130'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [772,-565,1000,-5,1004,'1004 603Q1004 600 999 583T991 565L960 574Q929 582 866 599T745 631L500 698Q497 698 254 631Q197 616 134 599T39 574L8 565Q5 565 0 582T-5 603L26 614Q58 624 124 646T248 687L499 772Q999 604 1004 603'], + + // SMALL TILDE + 0x2DC: [750,-611,1000,0,999,'296 691Q258 691 216 683T140 663T79 639T34 619T16 611Q13 619 8 628L0 644L36 662Q206 749 321 749Q410 749 517 710T703 670Q741 670 783 678T859 698T920 722T965 742T983 750Q986 742 991 733L999 717L963 699Q787 611 664 611Q594 611 484 651T296 691'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [772,-565,0,-1005,4,'4 603Q4 600 -1 583T-9 565L-40 574Q-71 582 -134 599T-255 631L-500 698Q-503 698 -746 631Q-803 616 -866 599T-961 574L-992 565Q-995 565 -1000 582T-1005 603L-974 614Q-942 624 -876 646T-752 687L-501 772Q-1 604 4 603'], + + // COMBINING TILDE + 0x303: [750,-611,0,-1000,-1,'-704 691Q-742 691 -784 683T-860 663T-921 639T-966 619T-984 611Q-987 619 -992 628L-1000 644L-964 662Q-794 749 -679 749Q-590 749 -483 710T-297 670Q-259 670 -217 678T-141 698T-80 722T-35 742T-17 750Q-14 742 -9 733L-1 717L-37 699Q-213 611 -336 611Q-405 611 -515 651T-704 691'], + + // N-ARY PRODUCT + 0x220F: [950,450,1278,56,1221,'220 812Q220 813 218 819T214 829T208 840T199 853T185 866T166 878T140 887T107 893T66 896H56V950H1221V896H1211Q1080 896 1058 812V-311Q1076 -396 1211 -396H1221V-450H725V-396H735Q864 -396 888 -314Q889 -312 889 -311V896H388V292L389 -311Q405 -396 542 -396H552V-450H56V-396H66Q195 -396 219 -314Q220 -312 220 -311V812'], + + // N-ARY COPRODUCT + 0x2210: [950,450,1278,56,1221,'220 812Q220 813 218 819T214 829T208 840T199 853T185 866T166 878T140 887T107 893T66 896H56V950H552V896H542Q411 896 389 812L388 208V-396H889V812Q889 813 887 819T883 829T877 840T868 853T854 866T835 878T809 887T776 893T735 896H725V950H1221V896H1211Q1080 896 1058 812V-311Q1076 -396 1211 -396H1221V-450H56V-396H66Q195 -396 219 -314Q220 -312 220 -311V812'], + + // N-ARY SUMMATION + 0x2211: [950,450,1444,55,1388,'60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948'], + + // SQUARE ROOT + 0x221A: [1150,650,1000,111,1020,'1001 1150Q1017 1150 1020 1132Q1020 1127 741 244L460 -643Q453 -650 436 -650H424Q423 -647 423 -645T421 -640T419 -631T415 -617T408 -594T399 -560T385 -512T367 -448T343 -364T312 -259L203 119L138 41L111 67L212 188L264 248L472 -474L983 1140Q988 1150 1001 1150'], + + // INTEGRAL + 0x222B: [1361,862,556,55,944,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q439 292 523 655T645 1127Q651 1145 655 1157T672 1201T699 1257T733 1306T777 1346T828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q819 1323 807 1311T775 1255T736 1139T689 936T633 628Q574 293 510 -5T410 -437T355 -629Q278 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798'], + + // DOUBLE INTEGRAL + 0x222C: [1361,862,1084,55,1472,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q439 292 523 655T645 1127Q651 1145 655 1157T672 1201T699 1257T733 1306T777 1346T828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q819 1323 807 1311T775 1255T736 1139T689 936T633 628Q574 293 510 -5T410 -437T355 -629Q278 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798ZM642 -798Q660 -824 693 -824H695Q723 -824 751 -764T803 -600T848 -391T890 -164Q893 -143 895 -133Q967 292 1051 655T1173 1127Q1179 1145 1183 1157T1200 1201T1227 1257T1261 1306T1305 1346T1356 1360Q1412 1360 1440 1325T1472 1245Q1472 1220 1460 1205T1437 1186T1415 1183Q1394 1183 1377 1198T1360 1239Q1360 1287 1413 1296L1410 1300Q1407 1303 1402 1307T1394 1313Q1379 1323 1361 1323Q1347 1323 1335 1311T1303 1255T1264 1139T1217 936T1161 628Q1102 293 1038 -5T938 -437T883 -629Q806 -862 693 -862Q653 -862 620 -831T583 -746Q583 -711 602 -698T640 -685Q661 -685 678 -700T695 -741Q695 -789 642 -798'], + + // TRIPLE INTEGRAL + 0x222D: [1361,862,1592,55,1980,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q439 292 523 655T645 1127Q651 1145 655 1157T672 1201T699 1257T733 1306T777 1346T828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q819 1323 807 1311T775 1255T736 1139T689 936T633 628Q574 293 510 -5T410 -437T355 -629Q278 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798ZM642 -798Q660 -824 693 -824H695Q723 -824 751 -764T803 -600T848 -391T890 -164Q893 -143 895 -133Q967 292 1051 655T1173 1127Q1179 1145 1183 1157T1200 1201T1227 1257T1261 1306T1305 1346T1356 1360Q1412 1360 1440 1325T1472 1245Q1472 1220 1460 1205T1437 1186T1415 1183Q1394 1183 1377 1198T1360 1239Q1360 1287 1413 1296L1410 1300Q1407 1303 1402 1307T1394 1313Q1379 1323 1361 1323Q1347 1323 1335 1311T1303 1255T1264 1139T1217 936T1161 628Q1102 293 1038 -5T938 -437T883 -629Q806 -862 693 -862Q653 -862 620 -831T583 -746Q583 -711 602 -698T640 -685Q661 -685 678 -700T695 -741Q695 -789 642 -798ZM1150 -798Q1168 -824 1201 -824H1203Q1231 -824 1259 -764T1311 -600T1356 -391T1398 -164Q1401 -143 1403 -133Q1475 292 1559 655T1681 1127Q1687 1145 1691 1157T1708 1201T1735 1257T1769 1306T1813 1346T1864 1360Q1920 1360 1948 1325T1980 1245Q1980 1220 1968 1205T1945 1186T1923 1183Q1902 1183 1885 1198T1868 1239Q1868 1287 1921 1296L1918 1300Q1915 1303 1910 1307T1902 1313Q1887 1323 1869 1323Q1855 1323 1843 1311T1811 1255T1772 1139T1725 936T1669 628Q1610 293 1546 -5T1446 -437T1391 -629Q1314 -862 1201 -862Q1161 -862 1128 -831T1091 -746Q1091 -711 1110 -698T1148 -685Q1169 -685 1186 -700T1203 -741Q1203 -789 1150 -798'], + + // CONTOUR INTEGRAL + 0x222E: [1360,862,556,55,944,'114 -798Q132 -824 165 -824H167Q195 -824 223 -764T275 -600T320 -391T362 -164Q365 -143 367 -133Q382 -52 390 2Q314 40 276 99Q230 167 230 249Q230 363 305 436T484 519H494L503 563Q587 939 632 1087T727 1298Q774 1360 828 1360Q884 1360 912 1325T944 1245Q944 1220 932 1205T909 1186T887 1183Q866 1183 849 1198T832 1239Q832 1287 885 1296L882 1300Q879 1303 874 1307T866 1313Q851 1323 833 1323Q766 1323 688 929Q662 811 610 496Q770 416 770 249Q770 147 701 68T516 -21H506L497 -65Q407 -464 357 -623T237 -837Q203 -862 165 -862Q125 -862 92 -831T55 -746Q55 -711 74 -698T112 -685Q133 -685 150 -700T167 -741Q167 -789 114 -798ZM480 478Q460 478 435 470T380 444T327 401T287 335T271 249Q271 124 375 56L397 43L431 223L485 478H480ZM519 20Q545 20 578 33T647 72T706 144T730 249Q730 383 603 455Q603 454 597 421T582 343T569 276Q516 22 515 20H519'], + + // N-ARY LOGICAL AND + 0x22C0: [950,450,1111,55,1055,'1055 -401Q1055 -419 1042 -434T1007 -450Q977 -450 963 -423Q959 -417 757 167L555 750L353 167Q151 -417 147 -423Q134 -450 104 -450Q84 -450 70 -436T55 -401Q55 -394 56 -390Q59 -381 284 270T512 925Q525 950 555 950Q583 950 597 926Q599 923 825 270T1054 -391Q1055 -394 1055 -401'], + + // N-ARY LOGICAL OR + 0x22C1: [950,450,1111,55,1055,'55 900Q55 919 69 934T103 950Q134 950 147 924Q152 913 353 333L555 -250L757 333Q958 913 963 924Q978 950 1007 950Q1028 950 1041 935T1055 901Q1055 894 1054 891Q1052 884 826 231T597 -426Q583 -450 556 -450Q527 -450 512 -424Q510 -421 285 229T56 890Q55 893 55 900'], + + // N-ARY INTERSECTION + 0x22C2: [949,451,1111,55,1055,'57 516Q68 602 104 675T190 797T301 882T423 933T542 949Q594 949 606 948Q780 928 901 815T1048 545Q1053 516 1053 475T1055 49Q1055 -406 1054 -410Q1051 -427 1037 -438T1006 -450T976 -439T958 -411Q957 -407 957 37Q957 484 956 494Q945 643 831 747T554 852Q481 852 411 826Q301 786 232 696T154 494Q153 484 153 37Q153 -407 152 -411Q148 -428 135 -439T104 -450T73 -439T56 -410Q55 -406 55 49Q56 505 57 516'], + + // N-ARY UNION + 0x22C3: [950,449,1111,55,1055,'56 911Q58 926 71 938T103 950Q120 950 134 939T152 911Q153 907 153 463Q153 16 154 6Q165 -143 279 -247T556 -352Q716 -352 830 -248T956 6Q957 16 957 463Q957 907 958 911Q962 928 975 939T1006 950T1037 939T1054 911Q1055 906 1055 451Q1054 -5 1053 -16Q1029 -207 889 -328T555 -449Q363 -449 226 -331T62 -45Q57 -16 57 25T55 451Q55 906 56 911'], + + // LEFT CEILING + 0x2308: [1150,649,528,224,511,'224 -649V1150H511V1099H275V-649H224'], + + // RIGHT CEILING + 0x2309: [1150,649,528,16,303,'16 1099V1150H303V-649H252V1099H16'], + + // LEFT FLOOR + 0x230A: [1150,649,528,224,511,'224 -649V1150H275V-598H511V-649H224'], + + // RIGHT FLOOR + 0x230B: [1150,649,528,16,303,'252 -598V1150H303V-649H16V-598H252'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [1150,649,611,112,524,'112 244V258L473 1130Q482 1150 498 1150Q511 1150 517 1142T523 1125V1118L344 685Q304 587 257 473T187 305L165 251L344 -184L523 -616V-623Q524 -634 517 -641T499 -649Q484 -649 473 -629L112 244'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [1150,649,611,85,498,'112 -649Q103 -649 95 -642T87 -623V-616L266 -184L445 251Q445 252 356 466T178 898T86 1123Q85 1134 93 1142T110 1150Q126 1150 133 1137Q134 1136 317 695L498 258V244L317 -194Q134 -635 133 -636Q126 -649 112 -649'], + + // N-ARY CIRCLED DOT OPERATOR + 0x2A00: [949,449,1511,56,1454,'668 944Q697 949 744 949Q803 949 814 948Q916 937 1006 902T1154 826T1262 730T1336 638T1380 563Q1454 415 1454 250Q1454 113 1402 -14T1258 -238T1036 -391T755 -449Q608 -449 477 -392T255 -240T110 -16T56 250Q56 387 105 510T239 723T434 871T668 944ZM755 -352Q922 -352 1061 -269T1278 -48T1356 250Q1356 479 1202 652T809 850Q798 851 747 851Q634 851 527 806T337 682T204 491T154 251Q154 128 201 17T329 -176T521 -304T755 -352ZM665 250Q665 290 692 315T758 341Q792 339 818 315T845 250Q845 211 819 186T755 160Q716 160 691 186T665 250'], + + // N-ARY CIRCLED PLUS OPERATOR + 0x2A01: [949,449,1511,56,1454,'668 944Q697 949 744 949Q803 949 814 948Q916 937 1006 902T1154 826T1262 730T1336 638T1380 563Q1454 415 1454 250Q1454 113 1402 -14T1258 -238T1036 -391T755 -449Q608 -449 477 -392T255 -240T110 -16T56 250Q56 387 105 510T239 723T434 871T668 944ZM706 299V850H704Q519 832 386 725T198 476Q181 433 169 379T156 300Q156 299 431 299H706ZM1116 732Q1054 778 982 807T871 842T810 849L804 850V299H1079Q1354 299 1354 300Q1354 311 1352 329T1336 402T1299 506T1228 620T1116 732ZM706 -350V201H431Q156 201 156 200Q156 189 158 171T174 98T211 -6T282 -120T395 -232Q428 -257 464 -277T527 -308T587 -328T636 -339T678 -346T706 -350ZM1354 200Q1354 201 1079 201H804V-350Q808 -349 838 -345T887 -338T940 -323T1010 -295Q1038 -282 1067 -265T1144 -208T1229 -121T1301 0T1349 158Q1354 188 1354 200'], + + // N-ARY CIRCLED TIMES OPERATOR + 0x2A02: [949,449,1511,56,1454,'668 944Q697 949 744 949Q803 949 814 948Q916 937 1006 902T1154 826T1262 730T1336 638T1380 563Q1454 415 1454 250Q1454 113 1402 -14T1258 -238T1036 -391T755 -449Q608 -449 477 -392T255 -240T110 -16T56 250Q56 387 105 510T239 723T434 871T668 944ZM1143 709Q1138 714 1129 722T1086 752T1017 791T925 826T809 850Q798 851 747 851H728Q659 851 571 823T408 741Q367 713 367 709L755 320L1143 709ZM297 639Q296 639 282 622T247 570T205 491T169 382T154 250T168 118T204 9T247 -70T282 -122L297 -139L685 250L297 639ZM1213 -139Q1214 -139 1228 -122T1263 -70T1305 9T1341 118T1356 250T1342 382T1306 491T1263 570T1228 622L1213 639L825 250L1213 -139ZM367 -209Q373 -215 384 -224T434 -258T514 -302T622 -336T755 -352T887 -338T996 -302T1075 -259T1126 -224L1143 -209L755 180Q754 180 561 -14T367 -209'], + + // N-ARY UNION OPERATOR WITH PLUS + 0x2A04: [950,449,1111,55,1055,'56 911Q58 926 71 938T103 950Q120 950 134 939T152 911Q153 907 153 463Q153 16 154 6Q165 -143 279 -247T556 -352Q716 -352 830 -248T956 6Q957 16 957 463Q957 907 958 911Q962 928 975 939T1006 950T1037 939T1054 911Q1055 906 1055 451Q1054 -5 1053 -16Q1029 -207 889 -328T555 -449Q363 -449 226 -331T62 -45Q57 -16 57 25T55 451Q55 906 56 911ZM507 554Q511 570 523 581T554 593Q571 593 585 582T603 554Q604 551 604 443V338H709Q817 338 820 337Q835 334 847 321T859 290Q859 254 819 241Q816 240 709 240H604V134Q604 48 604 34T598 11Q583 -15 555 -15Q526 -15 512 11Q507 20 507 34T506 134V240H401H344Q292 240 278 246Q251 259 251 290Q251 309 264 321T290 337Q293 338 401 338H506V443Q506 551 507 554'], + + // N-ARY SQUARE UNION OPERATOR + 0x2A06: [950,450,1111,54,1056,'56 911Q60 927 72 938T103 950Q120 950 134 939T152 911Q153 907 153 277V-352H957V277Q957 907 958 911Q962 928 975 939T1006 950T1036 939T1054 911V891Q1054 871 1054 836T1054 754T1054 647T1055 525T1055 390T1055 250T1055 111T1055 -24T1055 -147T1054 -253T1054 -335T1054 -391V-411Q1047 -442 1016 -449Q1011 -450 552 -450L94 -449Q63 -439 56 -411V-391Q56 -371 56 -336T56 -254T56 -147T55 -25T55 110T55 250T55 389T55 524T55 647T56 753T56 835T56 891V911'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size2/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js new file mode 100644 index 00000000..1df91b6a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js @@ -0,0 +1,87 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Size3/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size3'] = { + directory: 'Size3/Regular', + family: 'MathJax_Size3', + id: 'MJSZ3', + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [1450,949,736,208,701,'701 -940Q701 -943 695 -949H664Q662 -947 636 -922T591 -879T537 -818T475 -737T412 -636T350 -511T295 -362T250 -186T221 17T209 251Q209 962 573 1361Q596 1386 616 1405T649 1437T664 1450H695Q701 1444 701 1441Q701 1436 681 1415T629 1356T557 1261T476 1118T400 927T340 675T308 359Q306 321 306 250Q306 -139 400 -430T690 -924Q701 -936 701 -940'], + + // RIGHT PARENTHESIS + 0x29: [1450,949,736,34,527,'34 1438Q34 1446 37 1448T50 1450H56H71Q73 1448 99 1423T144 1380T198 1319T260 1238T323 1137T385 1013T440 864T485 688T514 485T526 251Q526 134 519 53Q472 -519 162 -860Q139 -885 119 -904T86 -936T71 -949H56Q43 -949 39 -947T34 -937Q88 -883 140 -813Q428 -430 428 251Q428 453 402 628T338 922T245 1146T145 1309T46 1425Q44 1427 42 1429T39 1433T36 1436L34 1438'], + + // SOLIDUS + 0x2F: [1450,949,1044,55,988,'81 -949Q71 -949 63 -941T55 -921Q55 -917 56 -915Q59 -906 498 264T939 1438Q945 1450 960 1450Q972 1450 980 1441T988 1421Q982 1403 839 1020L398 -155Q107 -934 103 -938Q96 -949 81 -949'], + + // LEFT SQUARE BRACKET + 0x5B: [1450,949,528,247,516,'247 -949V1450H516V1388H309V-887H516V-949H247'], + + // REVERSE SOLIDUS + 0x5C: [1450,949,1044,56,988,'988 -922Q988 -933 980 -941T962 -949Q947 -949 940 -938Q936 -934 645 -155L204 1020Q56 1416 56 1424Q56 1433 62 1441T84 1450Q97 1448 103 1439Q107 1435 398 656L839 -519Q988 -918 988 -922'], + + // RIGHT SQUARE BRACKET + 0x5D: [1450,949,528,11,280,'11 1388V1450H280V-949H11V-887H218V1388H11'], + + // LEFT CURLY BRACKET + 0x7B: [1450,949,750,130,618,'618 -943L612 -949H582L568 -943Q472 -903 411 -841T332 -703Q327 -682 327 -653T325 -350Q324 -28 323 -18Q317 24 301 61T264 124T221 171T179 205T147 225T132 234Q130 238 130 250Q130 255 130 258T131 264T132 267T134 269T139 272T144 275Q207 308 256 367Q310 436 323 519Q324 529 325 851Q326 1124 326 1154T332 1205Q369 1358 566 1443L582 1450H612L618 1444V1429Q618 1413 616 1411L608 1406Q599 1402 585 1393T552 1372T515 1343T479 1305T449 1257T429 1200Q425 1180 425 1152T423 851Q422 579 422 549T416 498Q407 459 388 424T346 364T297 318T250 284T214 264T197 254L188 251L205 242Q290 200 345 138T416 3Q421 -18 421 -48T423 -349Q423 -397 423 -472Q424 -677 428 -694Q429 -697 429 -699Q434 -722 443 -743T465 -782T491 -816T519 -845T548 -868T574 -886T595 -899T610 -908L616 -910Q618 -912 618 -928V-943'], + + // RIGHT CURLY BRACKET + 0x7D: [1450,949,750,131,618,'131 1414T131 1429T133 1447T148 1450H153H167L182 1444Q276 1404 336 1343T415 1207Q421 1184 421 1154T423 851L424 531L426 517Q434 462 460 415T518 339T571 296T608 274Q615 270 616 267T618 251Q618 241 618 238T615 232T608 227Q542 194 491 132T426 -15L424 -29L423 -350Q422 -622 422 -652T415 -706Q397 -780 337 -841T182 -943L167 -949H153Q137 -949 134 -946T131 -928Q131 -914 132 -911T144 -904Q146 -903 148 -902Q299 -820 323 -680Q324 -663 325 -349T327 -19Q355 145 541 241L561 250L541 260Q356 355 327 520Q326 537 325 850T323 1181Q315 1227 293 1267T244 1332T193 1374T151 1401T132 1413Q131 1414 131 1429'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [772,-564,1444,-4,1447,'1439 564Q1434 564 1080 631T722 698Q719 698 362 631Q7 564 4 564L0 583Q-4 602 -4 603L720 772L1083 688Q1446 603 1447 603Q1447 602 1443 583L1439 564'], + + // SMALL TILDE + 0x2DC: [749,-609,1444,1,1442,'1 643Q1 646 76 671T271 722T476 749Q555 749 626 736T742 706T856 676T999 662Q1088 662 1192 684T1363 727T1432 749Q1432 745 1437 731T1442 716Q1442 714 1381 693T1212 645T1012 611Q1000 610 955 610Q851 610 701 653T444 697Q355 697 251 676T80 632T11 610Q11 614 6 628T1 643'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [772,-564,0,-1448,3,'-5 564Q-9 564 -363 631T-722 698Q-725 698 -1082 631Q-1437 564 -1440 564L-1444 583Q-1448 602 -1448 603L-724 772L-361 688Q2 603 3 603Q3 602 -1 583L-5 564'], + + // COMBINING TILDE + 0x303: [749,-609,0,-1443,-2,'-1443 643Q-1443 646 -1368 671T-1173 722T-968 749Q-889 749 -818 736T-702 706T-588 676T-445 662Q-356 662 -252 684T-81 727T-12 749Q-12 745 -7 731T-2 716Q-2 714 -63 693T-232 645T-432 611Q-444 610 -489 610Q-593 610 -743 653T-1000 697Q-1089 697 -1193 676T-1364 632T-1433 610Q-1433 614 -1438 628T-1443 643'], + + // SQUARE ROOT + 0x221A: [1450,950,1000,111,1020,'424 -948Q422 -947 313 -434T202 80L170 31Q165 24 157 10Q137 -21 137 -21Q131 -16 124 -8L111 5L264 248L473 -720Q473 -717 727 359T983 1440Q989 1450 1001 1450Q1007 1450 1013 1445T1020 1433Q1020 1425 742 244T460 -941Q458 -950 439 -950H436Q424 -950 424 -948'], + + // LEFT CEILING + 0x2308: [1450,949,583,246,571,'246 -949V1450H571V1388H308V-949H246'], + + // RIGHT CEILING + 0x2309: [1450,949,583,11,336,'11 1388V1450H336V-949H274V1388H11'], + + // LEFT FLOOR + 0x230A: [1450,949,583,246,571,'246 -949V1450H308V-887H571V-949H246'], + + // RIGHT FLOOR + 0x230B: [1450,949,583,11,336,'274 -887V1450H336V-949H11V-887H274'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [1450,950,750,126,654,'126 242V259L361 845Q595 1431 597 1435Q610 1450 624 1450Q634 1450 644 1443T654 1419V1411L422 831Q190 253 190 250T422 -331L654 -910V-919Q654 -936 644 -943T624 -950Q612 -950 597 -935Q595 -931 361 -345L126 242'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [1450,949,750,94,623,'94 1424Q94 1426 97 1432T107 1444T124 1450Q141 1450 152 1435Q154 1431 388 845L623 259V242L388 -345Q153 -933 152 -934Q142 -949 127 -949H125Q95 -949 95 -919V-910L327 -331Q559 247 559 250T327 831Q94 1411 94 1424'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size3/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js new file mode 100644 index 00000000..0ac01c0b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js @@ -0,0 +1,168 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Size4/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Size4'] = { + directory: 'Size4/Regular', + family: 'MathJax_Size4', + id: 'MJSZ4', + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [1750,1249,792,237,758,'758 -1237T758 -1240T752 -1249H736Q718 -1249 717 -1248Q711 -1245 672 -1199Q237 -706 237 251T672 1700Q697 1730 716 1749Q718 1750 735 1750H752Q758 1744 758 1741Q758 1737 740 1713T689 1644T619 1537T540 1380T463 1176Q348 802 348 251Q348 -242 441 -599T744 -1218Q758 -1237 758 -1240'], + + // RIGHT PARENTHESIS + 0x29: [1750,1250,792,33,554,'33 1741Q33 1750 51 1750H60H65Q73 1750 81 1743T119 1700Q554 1207 554 251Q554 -707 119 -1199Q76 -1250 66 -1250Q65 -1250 62 -1250T56 -1249Q55 -1249 53 -1249T49 -1250Q33 -1250 33 -1239Q33 -1236 50 -1214T98 -1150T163 -1052T238 -910T311 -727Q443 -335 443 251Q443 402 436 532T405 831T339 1142T224 1438T50 1716Q33 1737 33 1741'], + + // SOLIDUS + 0x2F: [1750,1249,1278,56,1221,'1166 1738Q1176 1750 1189 1750T1211 1742T1221 1721Q1221 1720 1221 1718T1220 1715Q1219 1708 666 238T111 -1237Q102 -1249 86 -1249Q74 -1249 65 -1240T56 -1220Q56 -1219 56 -1217T57 -1214Q58 -1207 611 263T1166 1738'], + + // LEFT SQUARE BRACKET + 0x5B: [1750,1249,583,269,577,'269 -1249V1750H577V1677H342V-1176H577V-1249H269'], + + // REVERSE SOLIDUS + 0x5C: [1750,1249,1278,56,1221,'56 1720Q56 1732 64 1741T85 1750Q104 1750 111 1738Q113 1734 666 264T1220 -1214Q1220 -1215 1220 -1217T1221 -1220Q1221 -1231 1212 -1240T1191 -1249Q1175 -1249 1166 -1237Q1164 -1233 611 237T57 1715Q57 1716 56 1718V1720'], + + // RIGHT SQUARE BRACKET + 0x5D: [1750,1249,583,5,313,'5 1677V1750H313V-1249H5V-1176H240V1677H5'], + + // LEFT CURLY BRACKET + 0x7B: [1750,1249,806,144,661,'661 -1243L655 -1249H622L604 -1240Q503 -1190 434 -1107T348 -909Q346 -897 346 -499L345 -98L343 -82Q335 3 287 87T157 223Q146 232 145 236Q144 240 144 250Q144 265 145 268T157 278Q242 333 288 417T343 583L345 600L346 1001Q346 1398 348 1410Q379 1622 600 1739L622 1750H655L661 1744V1727V1721Q661 1712 661 1710T657 1705T648 1700T630 1690T602 1668Q589 1659 574 1643T531 1593T484 1508T459 1398Q458 1389 458 1001Q458 614 457 605Q441 435 301 316Q254 277 202 251L250 222Q260 216 301 185Q443 66 457 -104Q458 -113 458 -501Q458 -888 459 -897Q463 -944 478 -988T509 -1060T548 -1114T580 -1149T602 -1167Q620 -1183 634 -1192T653 -1202T659 -1207T661 -1220V-1226V-1243'], + + // RIGHT CURLY BRACKET + 0x7D: [1750,1249,806,144,661,'144 1727Q144 1743 146 1746T162 1750H167H183L203 1740Q274 1705 325 1658T403 1562T440 1478T456 1410Q458 1398 458 1001Q459 661 459 624T465 558Q470 526 480 496T502 441T529 395T559 356T588 325T615 301T637 284T654 273L660 269V266Q660 263 660 259T661 250V239Q661 236 661 234T660 232T656 229T649 224Q577 179 528 105T465 -57Q460 -86 460 -123T458 -499V-661Q458 -857 457 -893T447 -955Q425 -1048 359 -1120T203 -1239L183 -1249H168Q150 -1249 147 -1246T144 -1226Q144 -1213 145 -1210T153 -1202Q169 -1193 186 -1181T232 -1140T282 -1081T322 -1000T345 -897Q346 -888 346 -501Q346 -113 347 -104Q359 58 503 184Q554 226 603 250Q504 299 430 393T347 605Q346 614 346 1002Q346 1389 345 1398Q338 1493 288 1573T153 1703Q146 1707 145 1710T144 1727'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [845,-561,1889,-14,1902,'5 561Q-4 561 -9 582T-14 618Q-14 623 -13 625Q-11 628 461 736T943 845Q945 845 1417 738T1896 628Q1902 628 1902 618Q1902 607 1897 584T1883 561Q1881 561 1412 654L945 750L476 654Q6 561 5 561'], + + // SMALL TILDE + 0x2DC: [823,-582,1889,0,1885,'1212 583Q1124 583 1048 603T923 647T799 691T635 711Q524 711 375 679T120 615L16 583Q14 584 12 587T9 592Q-2 650 2 659Q2 669 38 687Q54 696 146 723T309 767Q527 823 666 823Q759 823 837 803T964 759T1088 715T1252 695Q1363 695 1512 727T1764 791T1871 823Q1872 822 1874 819T1878 814Q1885 783 1885 753Q1885 748 1884 747Q1884 738 1849 719Q1836 712 1740 682T1484 617T1212 583'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [845,-561,0,-1903,13,'-1884 561Q-1893 561 -1898 582T-1903 618Q-1903 623 -1902 625Q-1900 628 -1428 736T-946 845Q-944 845 -472 738T7 628Q13 628 13 618Q13 607 8 584T-6 561Q-8 561 -477 654L-944 750L-1413 654Q-1883 561 -1884 561'], + + // COMBINING TILDE + 0x303: [823,-582,0,-1889,-4,'-677 583Q-765 583 -841 603T-966 647T-1090 691T-1254 711Q-1365 711 -1514 679T-1768 615L-1873 583Q-1875 584 -1877 587T-1880 592Q-1891 650 -1887 659Q-1887 669 -1851 687Q-1835 696 -1743 723T-1580 767Q-1362 823 -1223 823Q-1130 823 -1052 803T-925 759T-801 715T-637 695Q-526 695 -377 727T-125 791T-18 823Q-17 822 -15 819T-11 814Q-4 782 -4 753Q-4 748 -5 747Q-5 738 -40 719Q-53 712 -149 682T-405 617T-677 583'], + + // SQUARE ROOT + 0x221A: [1750,1250,1000,111,1020,'983 1739Q988 1750 1001 1750Q1008 1750 1013 1745T1020 1733Q1020 1726 742 244T460 -1241Q458 -1250 439 -1250H436Q424 -1250 424 -1248L410 -1166Q395 -1083 367 -920T312 -601L201 44L137 -83L111 -57L187 96L264 247Q265 246 369 -357Q470 -958 473 -963L727 384Q979 1729 983 1739'], + + // LEFT CEILING + 0x2308: [1750,1249,639,269,633,'269 -1249V1750H633V1677H342V-1249H269'], + + // RIGHT CEILING + 0x2309: [1750,1249,639,5,369,'5 1677V1750H369V-1249H296V1677H5'], + + // LEFT FLOOR + 0x230A: [1750,1249,639,269,633,'269 -1249V1750H342V-1176H633V-1249H269'], + + // RIGHT FLOOR + 0x230B: [1750,1249,639,5,369,'296 -1176V1750H369V-1249H5V-1176H296'], + + // LEFT PARENTHESIS UPPER HOOK + 0x239B: [1155,655,875,291,843,'837 1154Q843 1148 843 1145Q843 1141 818 1106T753 1002T667 841T574 604T494 299Q417 -84 417 -609Q417 -641 416 -647T411 -654Q409 -655 366 -655Q299 -655 297 -654Q292 -652 292 -643T291 -583Q293 -400 304 -242T347 110T432 470T574 813T785 1136Q787 1139 790 1142T794 1147T796 1150T799 1152T802 1153T807 1154T813 1154H819H837'], + + // LEFT PARENTHESIS EXTENSION + 0x239C: [610,11,875,291,417,'413 -9Q412 -9 407 -9T388 -10T354 -10Q300 -10 297 -9Q294 -8 293 -5Q291 5 291 127V300Q291 602 292 605L296 609Q298 610 366 610Q382 610 392 610T407 610T412 609Q416 609 416 592T417 473V127Q417 -9 413 -9'], + + // LEFT PARENTHESIS LOWER HOOK + 0x239D: [1165,644,875,291,843,'843 -635Q843 -638 837 -644H820Q801 -644 800 -643Q792 -635 785 -626Q684 -503 605 -363T473 -75T385 216T330 518T302 809T291 1093Q291 1144 291 1153T296 1164Q298 1165 366 1165Q409 1165 411 1164Q415 1163 416 1157T417 1119Q417 529 517 109T833 -617Q843 -631 843 -635'], + + // RIGHT PARENTHESIS UPPER HOOK + 0x239E: [1154,655,875,31,583,'31 1143Q31 1154 49 1154H59Q72 1154 75 1152T89 1136Q190 1013 269 873T401 585T489 294T544 -8T572 -299T583 -583Q583 -634 583 -643T577 -654Q575 -655 508 -655Q465 -655 463 -654Q459 -653 458 -647T457 -609Q457 -58 371 340T100 1037Q87 1059 61 1098T31 1143'], + + // RIGHT PARENTHESIS EXTENSION + 0x239F: [610,11,875,457,583,'579 -9Q578 -9 573 -9T554 -10T520 -10Q466 -10 463 -9Q460 -8 459 -5Q457 5 457 127V300Q457 602 458 605L462 609Q464 610 532 610Q548 610 558 610T573 610T578 609Q582 609 582 592T583 473V127Q583 -9 579 -9'], + + // RIGHT PARENTHESIS LOWER HOOK + 0x23A0: [1165,644,875,31,583,'56 -644H50Q31 -644 31 -635Q31 -632 37 -622Q69 -579 100 -527Q286 -228 371 170T457 1119Q457 1161 462 1164Q464 1165 520 1165Q575 1165 577 1164Q582 1162 582 1153T583 1093Q581 910 570 752T527 400T442 40T300 -303T89 -626Q78 -640 75 -642T61 -644H56'], + + // LEFT SQUARE BRACKET UPPER CORNER + 0x23A1: [1154,645,667,319,666,'319 -645V1154H666V1070H403V-645H319'], + + // LEFT SQUARE BRACKET EXTENSION + 0x23A2: [602,0,667,319,403,'319 0V602H403V0H319'], + + // LEFT SQUARE BRACKET LOWER CORNER + 0x23A3: [1155,644,667,319,666,'319 -644V1155H403V-560H666V-644H319'], + + // RIGHT SQUARE BRACKET UPPER CORNER + 0x23A4: [1154,645,667,0,347,'0 1070V1154H347V-645H263V1070H0'], + + // RIGHT SQUARE BRACKET EXTENSION + 0x23A5: [602,0,667,263,347,'263 0V602H347V0H263'], + + // RIGHT SQUARE BRACKET LOWER CORNER + 0x23A6: [1155,644,667,0,347,'263 -560V1155H347V-644H0V-560H263'], + + // LEFT CURLY BRACKET UPPER HOOK + 0x23A7: [899,10,889,383,718,'712 899L718 893V876V865Q718 854 704 846Q627 793 577 710T510 525Q510 524 509 521Q505 493 504 349Q504 345 504 334Q504 277 504 240Q504 -2 503 -4Q502 -8 494 -9T444 -10Q392 -10 390 -9Q387 -8 386 -5Q384 5 384 230Q384 262 384 312T383 382Q383 481 392 535T434 656Q510 806 664 892L677 899H712'], + + // LEFT CURLY BRACKET MIDDLE PIECE + 0x23A8: [1160,660,889,170,504,'389 1159Q391 1160 455 1160Q496 1160 498 1159Q501 1158 502 1155Q504 1145 504 924Q504 691 503 682Q494 549 425 439T243 259L229 250L243 241Q349 175 421 66T503 -182Q504 -191 504 -424Q504 -600 504 -629T499 -659H498Q496 -660 444 -660T390 -659Q387 -658 386 -655Q384 -645 384 -425V-282Q384 -176 377 -116T342 10Q325 54 301 92T255 155T214 196T183 222T171 232Q170 233 170 250T171 268Q171 269 191 284T240 331T300 407T354 524T383 679Q384 691 384 925Q384 1152 385 1155L389 1159'], + + // LEFT CURLY BRACKET LOWER HOOK + 0x23A9: [10,899,889,384,718,'718 -893L712 -899H677L666 -893Q542 -825 468 -714T385 -476Q384 -466 384 -282Q384 3 385 5L389 9Q392 10 444 10Q486 10 494 9T503 4Q504 2 504 -239V-310V-366Q504 -470 508 -513T530 -609Q546 -657 569 -698T617 -767T661 -812T699 -843T717 -856T718 -876V-893'], + + // CURLY BRACKET EXTENSION + 0x23AA: [310,10,889,384,504,'384 150V266Q384 304 389 309Q391 310 455 310Q496 310 498 309Q502 308 503 298Q504 283 504 150Q504 32 504 12T499 -9H498Q496 -10 444 -10T390 -9Q386 -8 385 2Q384 17 384 150'], + + // RIGHT CURLY BRACKET UPPER HOOK + 0x23AB: [899,10,889,170,504,'170 875Q170 892 172 895T189 899H194H211L222 893Q345 826 420 715T503 476Q504 467 504 230Q504 51 504 21T499 -9H498Q496 -10 444 -10Q402 -10 394 -9T385 -4Q384 -2 384 240V311V366Q384 469 380 513T358 609Q342 657 319 698T271 767T227 812T189 843T171 856T170 875'], + + // RIGHT CURLY BRACKET MIDDLE PIECE + 0x23AC: [1160,660,889,384,718,'389 1159Q391 1160 455 1160Q496 1160 498 1159Q501 1158 502 1155Q504 1145 504 925V782Q504 676 511 616T546 490Q563 446 587 408T633 345T674 304T705 278T717 268Q718 267 718 250T717 232Q717 231 697 216T648 169T588 93T534 -24T505 -179Q504 -191 504 -425Q504 -600 504 -629T499 -659H498Q496 -660 444 -660T390 -659Q387 -658 386 -655Q384 -645 384 -424Q384 -191 385 -182Q394 -49 463 61T645 241L659 250L645 259Q539 325 467 434T385 682Q384 692 384 873Q384 1153 385 1155L389 1159'], + + // RIGHT CURLY BRACKET LOWER HOOK + 0x23AD: [10,899,889,170,505,'384 -239V-57Q384 4 389 9Q391 10 455 10Q496 10 498 9Q501 8 502 5Q504 -5 504 -230Q504 -261 504 -311T505 -381Q505 -486 492 -551T435 -691Q357 -820 222 -893L211 -899H195Q176 -899 173 -896T170 -874Q170 -858 171 -855T184 -846Q262 -793 312 -709T378 -525Q378 -524 379 -522Q383 -493 384 -351Q384 -345 384 -334Q384 -276 384 -239'], + + // RADICAL SYMBOL BOTTOM + 0x23B7: [935,885,1056,111,742,'742 -871Q740 -873 737 -876T733 -880T730 -882T724 -884T714 -885H702L222 569L180 484Q138 399 137 399Q131 404 124 412L111 425L265 736L702 -586V168L703 922Q713 935 722 935Q734 935 742 920V-871'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [1750,1248,806,140,703,'140 242V260L386 994Q633 1729 635 1732Q643 1745 657 1749Q658 1749 662 1749T668 1750Q682 1749 692 1740T702 1714V1705L214 251L703 -1204L702 -1213Q702 -1230 692 -1239T667 -1248H664Q647 -1248 635 -1231Q633 -1228 386 -493L140 242'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [1750,1248,806,103,665,'103 1714Q103 1732 114 1741T137 1750Q157 1750 170 1732Q172 1729 419 994L665 260V242L419 -493Q172 -1228 170 -1231Q158 -1248 141 -1248H138Q123 -1248 113 -1239T103 -1213V-1204L591 251L103 1705V1714'], + + // stix-radical symbol vertical extender + 0xE000: [625,14,1056,702,742,'722 -14H720Q708 -14 702 0V306L703 612Q713 625 722 625Q734 625 742 610V0Q734 -14 724 -14H722'], + + // stix-radical symbol top corner piece + 0xE001: [605,14,1056,702,1076,'702 589Q706 601 718 605H1061Q1076 597 1076 585Q1076 572 1061 565H742V0Q734 -14 724 -14H722H720Q708 -14 702 0V589'], + + // stix-horizontal brace, down left piece + 0xE150: [120,213,450,-24,460,'-18 -213L-24 -207V-172L-16 -158Q75 2 260 84Q334 113 415 119Q418 119 427 119T440 120Q454 120 457 117T460 98V60V25Q460 7 457 4T441 0Q308 0 193 -55T25 -205Q21 -211 18 -212T-1 -213H-18'], + + // stix-horizontal brace, down right piece + 0xE151: [120,213,450,-10,474,'-10 60Q-10 104 -10 111T-5 118Q-1 120 10 120Q96 120 190 84Q375 2 466 -158L474 -172V-207L468 -213H451H447Q437 -213 434 -213T428 -209T423 -202T414 -187T396 -163Q331 -82 224 -41T9 0Q-4 0 -7 3T-10 25V60'], + + // stix-horizontal brace, upper left piece + 0xE152: [333,0,450,-24,460,'-24 327L-18 333H-1Q11 333 15 333T22 329T27 322T35 308T54 284Q115 203 225 162T441 120Q454 120 457 117T460 95V60V28Q460 8 457 4T442 0Q355 0 260 36Q75 118 -16 278L-24 292V327'], + + // stix-horizontal brace, upper right piece + 0xE153: [333,0,450,-10,474,'-10 60V95Q-10 113 -7 116T9 120Q151 120 250 171T396 284Q404 293 412 305T424 324T431 331Q433 333 451 333H468L474 327V292L466 278Q375 118 190 36Q95 0 8 0Q-5 0 -7 3T-10 24V60'], + + // stix-oblique open face capital letter A + 0xE154: [120,0,400,-10,410,'-10 0V120H410V0H-10'] +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Size4/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js new file mode 100644 index 00000000..35345abf --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js @@ -0,0 +1,314 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/BasicLatin.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'], + { + // SPACE + 0x20: [0,0,250,0,0,''], + + // EXCLAMATION MARK + 0x21: [622,0,525,206,320,'206 565Q206 590 222 606T265 622Q287 621 303 606T319 565T314 392L308 216Q299 194 273 194H262Q247 194 241 195T228 200T217 216L211 392Q206 539 206 565ZM206 56Q206 83 223 99T265 115Q288 113 304 99T320 58Q320 33 303 17T262 0Q237 0 222 17T206 56'], + + // QUOTATION MARK + 0x22: [623,-333,525,122,402,'122 575Q122 593 137 608T173 623Q196 623 210 608T225 575Q225 562 218 464Q212 373 211 361T201 341Q193 333 173 333Q154 333 146 341Q138 348 137 360T129 464Q122 561 122 575ZM299 575Q299 593 314 608T350 623Q373 623 387 608T402 575Q402 562 395 464Q389 373 388 361T378 341Q370 333 350 333Q331 333 323 341Q315 348 314 360T306 464Q299 561 299 575'], + + // NUMBER SIGN + 0x23: [612,0,525,36,489,'93 163Q74 163 65 164T46 173T36 198Q36 210 40 215T61 233H131V236Q132 239 140 307T149 377Q149 379 105 379L61 380Q36 392 36 414Q36 450 86 450Q91 450 99 450T112 449H159Q163 480 167 517Q168 524 170 545T174 573T180 591T191 607T210 611Q223 611 232 604T243 588L245 580Q245 565 238 511T230 451Q230 449 282 449H333Q337 480 341 517Q342 524 343 537T345 556T348 573T352 589T359 600T370 608T384 611Q395 611 406 602T419 580Q419 565 412 511T404 451Q404 449 431 449H442Q477 449 485 429Q489 421 489 414Q489 392 463 380L428 379H394V376Q393 373 385 305T376 235Q376 233 419 233H463L468 230Q472 227 473 227T477 223T482 218T486 213T488 206T489 198Q489 162 436 162Q430 162 422 162T412 163H366V161Q364 159 357 92Q356 85 355 73T353 54T350 37T346 22T339 11T328 3T314 0Q303 0 292 9T279 31Q279 37 287 96T295 162Q295 163 244 163H192V161Q190 159 183 92Q182 85 181 73T179 54T176 37T172 22T165 11T154 3T140 0Q129 0 118 9T105 31Q105 37 113 96T121 162Q121 163 93 163ZM323 377Q323 379 272 379H220V376Q219 373 211 305T202 235Q202 233 253 233H305V236Q306 239 314 307T323 377'], + + // DOLLAR SIGN + 0x24: [694,82,525,58,466,'415 397Q392 397 377 411T362 448Q362 464 376 485Q369 498 362 506T346 520T332 528T315 533T300 538V445L301 353L311 350Q382 334 424 284T466 174Q466 115 425 65T303 -2L300 -3V-30Q300 -64 291 -74Q283 -82 262 -82H255Q234 -82 225 -60L224 -32V-4L213 -2Q152 6 106 51T59 170V180Q59 197 74 213Q89 227 110 227T146 213T162 174Q162 156 147 137Q153 123 161 112T176 95T191 85T205 79T216 76T224 74V283L213 285Q147 298 103 343T58 449Q58 516 108 560T224 614V643V654Q224 666 226 673T237 687T264 694Q289 693 294 683T300 642V615H303Q355 607 390 587T440 540T460 493T466 453Q466 425 451 411T415 397ZM137 452Q137 425 158 404T198 376T223 369Q224 369 224 453T223 537Q198 532 168 509T137 452ZM301 75Q307 75 325 83T365 116T387 171Q387 238 300 267V171Q300 75 301 75'], + + // PERCENT SIGN + 0x25: [694,83,525,35,489,'35 560Q35 607 54 645T110 693Q111 693 116 693T125 694Q165 692 187 651T210 560Q210 506 186 467T123 428Q84 428 60 466T35 560ZM139 560Q139 574 136 587T130 608T124 615Q122 617 120 614Q106 595 106 561Q106 516 121 506Q123 504 125 507Q139 526 139 560ZM123 -83Q107 -83 98 -73T88 -48Q88 -43 89 -41Q90 -37 229 316T370 675Q381 694 400 694Q416 694 426 684T436 659Q436 654 435 652Q434 647 295 294T153 -65Q144 -83 123 -83ZM314 50Q314 104 338 143T400 183Q439 183 464 144T489 50T465 -43T402 -82Q358 -82 336 -41T314 50ZM417 50Q417 71 413 85T405 102L401 106Q386 95 386 50Q386 29 390 15T398 -2L402 -6Q417 5 417 50'], + + // AMPERSAND + 0x26: [622,11,525,28,490,'96 462Q96 546 132 584T211 622Q255 622 284 583T314 474Q314 395 224 305L208 288Q213 275 226 251L265 185L269 179Q273 184 299 246L332 333L342 363Q342 364 341 365Q334 365 334 393Q334 406 334 410T340 420T356 431H412H440Q467 431 478 424T490 393Q490 376 484 367T470 357T448 355H441H415L399 312Q349 176 322 127L315 115L323 106Q360 65 393 65Q405 65 410 80T416 109Q416 140 452 140Q487 140 487 105Q487 56 460 23T391 -11L286 41L273 53L262 42Q212 -11 151 -11Q97 -11 63 33T28 143Q28 161 30 176T38 205T47 227T60 247T72 261T84 274T94 283L122 311L119 323Q96 392 96 462ZM243 474Q243 533 218 545L215 546Q212 546 210 546Q182 546 169 501Q167 492 167 466Q167 419 179 368L188 377Q234 425 242 461Q243 465 243 474ZM217 129Q185 174 154 235Q121 214 115 176Q113 168 113 143Q113 83 139 67Q141 66 152 66Q191 66 228 112L217 129'], + + // APOSTROPHE + 0x27: [611,-287,525,175,349,'205 554Q205 577 221 594T263 611Q302 611 325 577T349 490Q349 409 298 347Q285 330 258 309T214 287Q203 289 189 302T175 327Q175 341 185 349T213 369T245 402Q269 437 273 483V497Q264 496 263 496Q240 496 223 513T205 554'], + + // LEFT PARENTHESIS + 0x28: [694,82,525,166,437,'437 -53Q437 -82 399 -82H394Q377 -82 342 -55Q259 7 213 102T166 306Q166 412 211 507T342 667Q377 694 393 694H399Q437 694 437 665Q437 654 426 643T397 620T356 584T311 525Q301 511 290 488T264 412T250 306Q250 191 300 105T422 -27Q437 -37 437 -53'], + + // RIGHT PARENTHESIS + 0x29: [694,82,525,87,358,'87 664Q87 694 126 694Q138 694 147 690T183 667Q266 605 312 510T358 306Q358 193 307 93T161 -70Q142 -82 126 -82Q105 -82 96 -73T87 -53Q87 -47 88 -44Q92 -36 116 -19T173 34T230 119Q273 206 273 306Q273 408 231 494T109 635Q87 649 87 664'], + + // ASTERISK + 0x2A: [520,-89,525,68,456,'222 487Q224 501 235 510T262 520Q279 520 289 510T302 487Q302 458 301 429Q301 421 301 413T301 398T300 386T300 377V374Q300 373 301 373Q304 373 353 403T416 434Q432 434 444 423T456 393Q456 389 456 386T454 379T451 373T448 368T442 363T436 358T427 353T417 348T405 342T391 334Q345 309 339 305L388 279Q400 273 412 266T432 255T441 250Q456 238 456 218Q456 200 445 189T417 177Q403 177 354 207T301 238Q300 238 300 237V234Q300 231 300 226T300 214T301 199T301 182Q302 153 302 124Q300 109 289 100T262 90T235 100T222 124Q222 153 223 182Q223 190 223 198T223 213T224 225T224 234V237Q224 238 223 238Q220 238 171 208T108 177Q92 177 80 188T68 218Q68 237 79 246T134 277Q180 303 185 306L136 332Q124 338 112 345T92 356T83 361Q68 373 68 393Q68 411 79 422T107 434Q121 434 170 404T223 373Q224 373 224 374V377Q224 380 224 385T224 397T223 412T223 429Q222 458 222 487'], + + // PLUS SIGN + 0x2B: [531,-81,525,38,487,'147 271Q138 271 122 271T98 270Q68 270 53 277T38 306T53 335T98 342Q105 342 121 342T147 341H227V423L228 505Q241 531 262 531Q268 531 273 530T282 525T287 519T293 511L297 505V341H377H430Q457 341 467 338T483 321Q487 313 487 306Q487 295 480 286T463 273Q457 271 377 271H297V107Q281 81 262 81Q250 81 242 87T230 100L228 107L227 189V271H147'], + + // COMMA + 0x2C: [140,139,525,173,353,'193 37T193 70T213 121T260 140Q302 140 327 108T353 36Q353 -7 336 -43T294 -98T249 -128T215 -139Q204 -139 189 -125Q177 -111 174 -101Q172 -84 183 -77T217 -61T253 -33Q261 -24 272 1L265 0Q234 0 214 18'], + + // HYPHEN-MINUS + 0x2D: [341,-271,525,57,468,'57 306Q57 333 86 341H438Q468 332 468 306T438 271H86Q57 280 57 306'], + + // FULL STOP + 0x2E: [140,-1,525,193,332,'193 70Q193 105 214 122T258 140Q291 140 311 120T332 70Q332 44 314 23T262 1Q234 1 214 18T193 70'], + + // SOLIDUS + 0x2F: [694,83,525,58,466,'94 -83Q78 -83 68 -73T58 -48Q58 -44 60 -36Q62 -31 227 314T399 673Q410 694 431 694Q445 694 455 684T466 659Q466 656 464 648Q463 643 298 298T125 -62Q114 -83 94 -83'], + + // DIGIT ZERO + 0x30: [621,10,525,42,482,'42 305Q42 450 111 535T257 621Q335 621 390 562Q482 468 482 306Q482 174 418 82T262 -10T106 82T42 305ZM257 545Q209 545 168 481T126 320Q126 220 162 147Q204 65 262 65Q318 65 358 139T398 320V328Q395 411 364 470T284 543Q270 545 257 545'], + + // DIGIT ONE + 0x31: [622,-1,525,99,450,'99 461Q99 470 99 474T104 487T120 498T151 502Q213 517 251 596Q264 622 283 622Q308 622 319 597V76H373H401Q428 76 439 69T450 38Q450 11 428 1H127Q104 10 104 38Q104 62 115 69T153 76H181H235V269Q235 461 234 461Q184 426 137 424H133Q124 424 119 425T109 431T99 447V461'], + + // DIGIT TWO + 0x32: [622,-1,525,52,472,'52 462Q52 528 110 575T247 622H250Q343 622 407 565T472 421Q472 371 446 324T390 248T308 178Q307 177 275 151T214 101L185 77Q185 76 286 76H388V87Q388 105 397 114T430 123T463 114Q470 107 471 100T472 61V42Q472 24 468 16T450 1H75Q53 10 53 32V38V48Q53 57 63 67T127 122Q153 144 169 157L289 256Q388 345 388 419Q388 473 346 509T231 545H224Q176 545 146 499L144 494Q155 476 155 459Q154 459 155 455T154 444T148 430T136 417T114 408Q113 408 110 408T104 407Q80 407 66 422T52 462'], + + // DIGIT THREE + 0x33: [622,11,525,44,479,'260 546Q233 546 211 541T180 531T171 524L174 514Q177 505 177 497Q177 476 162 461T125 446Q106 446 90 459T73 504Q76 540 98 565T150 601T203 616T239 621Q241 622 265 622Q322 620 362 602T420 558T444 513T451 478Q451 386 369 329L375 326Q381 323 386 320T401 311T419 298T436 283T452 263T466 240T475 212T479 180Q479 99 416 44T259 -11T105 28T44 130Q44 154 59 168T95 183Q117 183 132 169T148 131Q148 119 139 101Q175 65 260 65Q316 65 355 97T395 179Q395 211 375 240Q336 292 253 292H234H215Q194 292 185 299T175 330Q175 350 184 359Q192 368 238 370T309 384Q336 398 351 423T367 474Q367 496 350 513Q321 546 260 546'], + + // DIGIT FOUR + 0x34: [623,-1,525,29,495,'235 1Q213 10 213 32V38V46Q213 65 230 73Q236 76 274 76H314V168H183L52 169Q37 175 33 182T29 205V218L30 244Q53 283 155 443T264 613Q276 623 298 623H323H363Q378 616 385 601V244H429H450Q474 244 484 237T495 206Q495 179 477 171Q471 168 429 168H385V76H425H442Q466 76 476 69T487 38Q487 10 465 1H235ZM314 244V554L117 245L215 244H314'], + + // DIGIT FIVE + 0x35: [612,10,525,52,472,'387 189Q387 244 354 278T273 313Q230 313 205 301T163 271T138 249H120Q102 249 97 251Q85 258 83 266T80 311Q80 320 80 359T81 430Q81 587 82 591Q88 605 103 610H108Q112 610 120 610T138 610T163 610T192 611T225 611T260 611H415Q416 610 421 607T428 602T432 596T436 587T437 573Q437 567 437 562T434 554T431 548T427 543T423 540T418 538L415 536L289 535H164V363L170 366Q175 368 184 372T207 380T238 386T276 389Q357 389 414 331T472 187Q472 116 412 53T245 -10Q218 -10 209 -9Q126 5 89 48T52 137Q52 164 68 177T104 191Q130 191 143 175T156 141Q156 132 154 125T149 113T146 107Q146 104 155 95T188 76T245 65Q298 65 342 98T387 189'], + + // DIGIT SIX + 0x36: [622,11,525,44,479,'357 536Q357 546 318 546Q258 546 205 497T133 357V353L144 361Q210 402 285 402Q362 402 414 350Q479 285 479 193Q479 111 418 50T263 -11Q234 -11 207 -3T149 26T97 81T60 171T45 301Q45 444 129 533T319 622Q388 622 421 589T454 510Q454 491 442 475T402 458Q373 458 362 475T350 510Q350 520 354 528L357 536ZM319 326T269 326T179 298T136 223Q136 202 143 174T176 112T237 68Q246 66 265 66Q319 66 360 107Q395 146 395 197Q395 250 356 289Q319 326 269 326'], + + // DIGIT SEVEN + 0x37: [627,10,525,44,480,'204 -10Q162 -10 162 40Q162 146 198 261T310 477Q311 478 321 491T342 517T358 535H128V524Q128 506 119 497Q111 489 86 489H78Q55 489 46 508Q44 513 44 557V580Q44 605 52 616T88 627H93Q114 627 125 611H458Q474 598 477 593T480 573Q480 559 478 553T469 543T446 521T408 477Q252 290 246 49Q246 43 246 37T246 27T245 22Q243 11 233 1T204 -10'], + + // DIGIT EIGHT + 0x38: [621,10,525,45,480,'58 460Q58 523 117 572T254 621Q290 621 298 620Q376 607 421 560T466 460Q466 441 460 424T443 393T421 370T397 352T374 340T357 332L350 330L356 328Q363 325 371 321T392 310T415 295T439 274T459 249T473 217T479 179Q479 102 418 46T262 -10T106 46T45 179Q45 202 52 222T70 257T96 284T123 305T148 319T167 328L174 330L170 332Q166 333 159 336T145 343Q104 362 81 393T58 460ZM382 458Q382 491 349 518T263 546Q215 546 179 521T142 458Q142 421 178 395T262 368Q315 368 348 396T382 458ZM396 178Q396 223 358 257T263 292Q206 292 167 258T128 178Q128 137 163 102T262 66Q324 66 360 101T396 178'], + + // DIGIT NINE + 0x39: [622,11,525,46,479,'392 259Q333 210 236 210H233Q163 210 109 262Q46 325 46 411T99 550Q164 622 264 622Q293 622 319 615T376 587T428 532T464 440T479 304Q479 167 400 78T217 -11Q140 -11 105 22T70 101Q70 124 84 138T122 153Q150 153 162 137T174 101Q174 91 168 76Q179 65 216 65Q267 65 300 93Q322 109 339 130T366 173T380 210T388 242T392 259ZM388 389Q388 438 357 492T268 546T185 520Q129 479 129 415Q129 384 138 363Q145 349 156 334T195 302T255 285Q305 285 345 313T388 389'], + + // COLON + 0x3A: [431,-1,525,193,332,'193 361Q193 396 214 413T258 431Q291 431 311 411T332 361Q332 335 314 314T262 292Q234 292 214 309T193 361ZM193 70Q193 105 214 122T258 140Q291 140 311 120T332 70Q332 44 314 23T262 1Q234 1 214 18T193 70'], + + // SEMICOLON + 0x3B: [431,139,525,175,337,'193 361Q193 396 214 413T258 431Q291 431 311 411T332 361Q332 335 314 314T262 292Q234 292 214 309T193 361ZM193 70Q193 105 214 122T259 140Q301 140 319 108T337 33Q337 -38 291 -88T214 -139Q203 -139 189 -126T175 -97Q175 -85 182 -78T200 -66T225 -50T249 -17Q256 -3 256 0Q252 1 248 1Q242 2 235 5T218 15T200 36T193 70'], + + // LESS-THAN SIGN + 0x3C: [557,-55,525,57,469,'468 90Q468 76 458 66T433 55Q426 55 419 58Q413 61 243 168T68 280Q57 291 57 306T68 332Q72 335 241 442T416 553Q424 557 432 557Q447 557 457 547T468 522T456 496Q454 494 305 399L158 306L305 213Q341 190 390 159Q443 125 452 119T464 106V105Q468 97 468 90'], + + // EQUALS SIGN + 0x3D: [417,-195,525,38,487,'38 382Q38 409 67 417H457Q487 408 487 382Q487 358 461 348H64Q51 352 45 360T38 376V382ZM67 195Q38 204 38 230Q38 255 62 264Q66 265 264 265H461L464 264Q467 262 469 261T475 256T481 249T485 240T487 230Q487 204 457 195H67'], + + // GREATER-THAN SIGN + 0x3E: [557,-55,525,57,468,'57 522Q57 539 67 548T90 557Q98 557 105 554Q111 551 281 444T456 332Q468 320 468 306T456 280Q452 276 282 169T105 58Q98 55 91 55Q79 55 68 63T57 90Q57 105 68 116Q70 118 219 213L366 306L219 399Q75 491 71 494Q57 507 57 522'], + + // QUESTION MARK + 0x3F: [617,1,525,62,462,'62 493Q62 540 107 578T253 617Q366 617 414 578T462 490Q462 459 445 434T411 400L394 390Q315 347 296 287Q294 278 293 247V217Q285 201 278 198T246 194T216 197T201 215V245V253Q201 379 351 456Q366 464 375 477Q377 482 377 490Q377 517 339 528T251 540Q182 540 159 517Q166 503 166 490Q166 468 151 453T114 438Q96 438 79 451T62 493ZM190 58Q190 85 208 100T249 115Q272 113 288 99T304 58Q304 33 287 17T246 0T206 16T190 58'], + + // COMMERCIAL AT + 0x40: [617,6,525,44,481,'44 306Q44 445 125 531T302 617Q332 617 358 607T411 574T456 502T479 387Q481 361 481 321Q481 203 421 143Q381 103 332 103Q266 103 225 165T183 307Q183 390 227 449T332 508Q358 508 378 498Q350 541 304 541Q229 541 172 473T115 305Q115 208 171 140T306 71H310Q358 71 397 105Q409 115 436 115Q458 115 462 113Q481 106 481 86Q481 73 468 61Q401 -6 305 -6Q262 -6 217 14T133 71T69 170T44 306ZM410 306Q410 361 386 396T333 431Q300 431 277 394T254 305Q254 256 276 218T332 180Q364 180 387 217T410 306'], + + // LATIN CAPITAL LETTER A + 0x41: [623,-1,525,28,496,'191 76Q212 75 220 68T229 38Q229 10 208 1H129H80Q48 1 38 7T28 38Q28 51 29 57T40 69T70 76Q89 76 89 78Q90 79 117 205T173 461T205 599Q212 623 250 623H262H273Q312 623 319 599Q322 591 350 461T406 205T435 78Q435 76 454 76H458Q484 76 493 59Q496 53 496 38Q496 11 478 3Q474 1 395 1H317Q295 8 295 38Q295 65 311 73Q316 75 333 76L348 77V78Q348 80 341 112L334 143H190L183 112Q176 80 176 78Q175 76 178 76Q180 76 191 76ZM318 221Q313 238 288 366T263 519Q263 526 262 527Q261 527 261 520Q261 493 236 365T206 221Q206 219 262 219T318 221'], + + // LATIN CAPITAL LETTER B + 0x42: [611,-1,525,17,482,'39 1Q17 10 17 32V38V46Q17 65 34 73Q40 76 61 76H84V535H61H54Q27 535 19 553Q17 557 17 573Q17 583 17 587T23 599T39 610Q40 611 179 611Q320 610 332 607Q332 607 339 605Q394 591 427 547T461 454Q461 413 436 378T369 325L358 320Q405 311 443 270T482 169Q482 112 445 64T345 3L334 1H39ZM309 533Q302 535 234 535H168V356H230Q284 357 296 358T323 368Q346 380 361 402T377 452Q377 482 358 505T309 533ZM398 176Q396 218 371 246T315 279Q310 280 237 280H168V76H239Q316 77 327 81Q329 82 334 84Q398 107 398 176'], + + // LATIN CAPITAL LETTER C + 0x43: [622,11,525,40,485,'40 305Q40 437 110 529T281 622Q315 622 343 611T387 589T404 578Q409 585 415 596T425 611T435 618T452 622Q472 622 478 609T485 566Q485 559 485 540T484 508V460Q484 413 478 403T442 393Q417 393 409 402Q400 409 400 420Q400 428 395 445T380 487T347 528T295 546Q235 546 180 483T124 306Q124 245 141 197T186 121T241 80T296 66Q346 66 373 103T400 178Q400 209 435 209H442H450Q484 209 484 172Q480 96 421 43T281 -11Q177 -11 109 84T40 305'], + + // LATIN CAPITAL LETTER D + 0x44: [612,-1,525,16,485,'38 1Q16 8 16 38Q16 62 32 73Q39 76 58 76H78V535H58Q40 535 32 538Q16 548 16 573Q16 587 17 591Q23 604 34 607T83 611H166H176Q188 611 209 611T239 612Q299 612 337 597T415 530Q485 438 485 300Q485 180 431 100T301 3L291 1H38ZM400 301Q400 363 385 410T346 482T303 519T267 534Q261 535 210 535H162V76H214L267 77Q323 89 361 148T400 301'], + + // LATIN CAPITAL LETTER E + 0x45: [612,-1,525,18,502,'374 271Q374 241 367 232T332 223Q307 223 299 231Q290 240 290 263V279H173V76H418V118V144Q418 167 426 176T460 186Q491 186 500 166Q502 161 502 93V52Q502 25 499 17T480 1H41Q19 9 19 32V38Q19 63 36 73Q42 76 65 76H89V535H65H55Q44 535 38 537T25 548T19 573Q19 602 41 610H47Q53 610 63 610T88 610T121 610T160 611T204 611T251 611H458Q460 609 465 606T471 602T475 598T478 593T479 586T480 576T480 562V526V488Q480 452 462 444Q458 442 438 442Q413 442 405 450Q398 457 397 463T396 501V535H173V355H290V371Q290 394 299 403T332 412Q363 412 372 392Q374 387 374 317V271'], + + // LATIN CAPITAL LETTER F + 0x46: [612,-1,525,22,490,'384 260Q384 230 377 221T342 212Q317 212 309 220Q300 229 300 252V268H179V76H249Q264 67 267 61T271 38Q271 10 249 1H44Q22 9 22 32V38Q22 63 39 73Q45 76 69 76H95V535H69H59Q42 535 32 542T22 573Q22 602 44 610H50Q56 610 66 610T91 610T125 610T164 611T208 611T257 611H468Q470 609 475 606T481 602T485 598T488 593T489 586T490 576T490 562V526V488Q490 452 472 444Q468 442 448 442Q423 442 415 450Q408 457 407 463T406 501V535H179V344H300V360Q300 383 309 392T342 401Q373 401 382 381Q384 376 384 306V260'], + + // LATIN CAPITAL LETTER G + 0x47: [623,11,525,38,496,'38 306Q38 447 105 534T261 622Q280 622 298 618T329 608T350 596T366 585L371 581Q373 581 377 591T390 612T417 622Q437 622 443 609T450 566Q450 559 450 540T449 508V460Q449 413 443 403T407 393Q392 393 386 394T373 402T364 426Q360 472 335 509T271 546Q214 546 168 477T121 308Q121 210 164 138T271 65Q293 65 310 78T337 109T352 147T360 180T362 195Q362 196 333 196L304 197Q282 204 282 227V234Q282 247 282 251T288 261T304 272H474Q488 263 492 256T496 234Q496 211 479 199Q475 197 461 196H449V21Q441 6 434 3T412 -1H407H402Q385 -1 379 3T364 28Q350 14 322 2T260 -11Q173 -11 106 76T38 306'], + + // LATIN CAPITAL LETTER H + 0x48: [611,-1,525,16,508,'16 571Q16 597 27 604T74 611H125H208Q223 602 226 596T230 573Q230 559 227 551T217 540T204 536T186 535H165V356H359V535H338H333Q306 535 297 552Q295 556 295 573Q295 586 295 590T301 600T317 611H486Q501 602 504 596T508 573Q508 559 505 551T495 540T482 536T464 535H443V76H464H470Q482 76 489 75T502 64T508 38Q508 10 486 1H317Q306 5 301 11T296 21T295 38V44Q295 66 311 73Q318 76 338 76H359V280H165V76H186H192Q204 76 211 75T224 64T230 38Q230 10 208 1H39Q28 5 23 11T18 21T17 38V44Q17 66 33 73Q40 76 60 76H81V535H60Q45 535 38 536T24 545T16 571'], + + // LATIN CAPITAL LETTER I + 0x49: [611,-1,525,72,452,'400 76Q431 76 441 69T452 38Q452 29 452 26T450 18T443 9T430 1H95Q84 6 79 12T73 23T72 38Q72 65 90 73Q96 76 157 76H220V535H157H124Q93 535 83 542T72 573Q72 603 93 610Q97 611 264 611H430Q432 609 436 607T444 602T449 594Q452 588 452 573Q452 546 434 538Q428 535 367 535H304V76H367H400'], + + // LATIN CAPITAL LETTER J + 0x4A: [612,11,525,57,479,'202 543T202 573T224 610H228Q231 610 237 610T251 610T269 610T291 611T315 611T342 611H457Q471 602 475 595T479 573Q479 549 462 538Q454 535 432 535H408V328Q408 159 408 133T402 93Q386 48 340 19T229 -11Q158 -11 108 16T57 100Q57 129 73 141T108 154Q128 154 143 140T159 102Q159 93 155 79Q188 65 228 65H230Q290 65 318 106Q323 115 323 139T324 329V535H274L224 536Q202 543 202 573'], + + // LATIN CAPITAL LETTER K + 0x4B: [611,-1,525,18,495,'18 549T18 573T29 604T70 611H118H193Q207 603 210 596T214 573Q214 549 198 538Q191 535 172 535H152V421Q152 344 152 326T153 309L242 422L329 534Q327 535 322 536T314 538T308 542T303 548T300 558T298 573Q298 600 316 608Q322 611 392 611H463Q477 602 481 595T485 573Q485 535 446 535H441H420L281 357L436 77L454 76Q473 75 478 73Q495 62 495 38Q495 10 473 1H345Q334 5 329 11T324 21T323 38Q323 51 324 56T332 68T355 77L233 296L152 192V76H172Q191 76 198 73Q214 63 214 38Q214 9 193 1H41Q18 8 18 38Q18 61 35 73Q42 76 61 76H81V535H61Q42 535 35 538Q18 549 18 573'], + + // LATIN CAPITAL LETTER L + 0x4C: [611,0,525,25,488,'27 594Q34 605 43 608T84 611H154H213Q258 611 269 605T281 573Q281 546 263 538Q257 535 222 535H185V76H404V118V145Q404 168 411 177T446 186H453Q478 186 486 167Q488 161 488 93V50Q488 24 485 17T466 1L258 0H147H99Q47 0 36 6T25 38Q25 59 35 69Q44 76 76 76H101V535H76H64Q36 535 27 552Q25 557 25 573T27 594'], + + // LATIN CAPITAL LETTER M + 0x4D: [611,-1,525,11,512,'50 535Q37 536 31 537T18 547T12 573Q12 598 22 604T62 611H91H121Q147 611 158 607T178 587Q183 579 222 446T261 293Q261 289 262 288Q263 288 263 292Q263 311 298 434T346 588Q353 603 365 607T402 611H435H450Q488 611 500 605T512 573Q512 556 506 547T493 537T474 535H459V76H474Q487 75 493 74T505 64T512 38Q512 11 494 3Q490 1 424 1H386Q355 1 345 7T335 38Q335 55 341 64T354 74T373 76H388V302Q388 512 387 519Q382 482 346 359T304 228Q292 204 262 204T220 228Q215 237 179 359T137 519Q136 512 136 302V76H151Q164 75 170 74T182 64T189 38Q189 11 171 3Q167 1 101 1H63Q32 1 22 7T12 38Q12 55 18 64T31 74T50 76H65V535H50'], + + // LATIN CAPITAL LETTER N + 0x4E: [611,0,525,20,504,'20 571Q20 598 30 604T73 611H105H136Q152 611 160 611T177 607T189 601T198 587T206 568T217 537T231 497Q354 142 365 95L368 84V535H347H342Q314 535 306 552Q304 556 304 573Q304 586 304 590T310 600T326 611H482Q497 602 500 596T504 573Q504 559 501 551T491 540T478 536T460 535H439V25Q432 7 424 4T389 0H374Q334 0 322 31L293 115Q171 468 159 517L156 528V76H177H183Q195 76 202 75T215 64T221 38Q221 10 199 1H43Q32 5 27 11T22 21T21 38V44Q21 66 37 73Q44 76 64 76H85V535H64Q49 535 42 536T28 545T20 571'], + + // LATIN CAPITAL LETTER O + 0x4F: [621,10,525,56,468,'102 588Q140 621 240 621Q323 621 335 620Q393 613 422 588Q450 560 459 493T468 306Q468 185 460 118T422 23Q382 -10 289 -10H262H235Q142 -10 102 23Q74 50 65 118T56 306Q56 427 64 494T102 588ZM363 513Q357 523 347 530T324 540T302 544T280 546H268Q192 546 167 521Q150 501 145 452T140 300Q140 235 142 197T151 130T172 89T207 71T262 65Q317 65 341 81T374 144T384 300Q384 474 363 513'], + + // LATIN CAPITAL LETTER P + 0x50: [612,-1,525,19,480,'41 1Q19 9 19 32V38Q19 63 36 73Q42 76 65 76H89V535H65H55Q38 535 29 543T19 576Q19 603 41 610H49Q57 610 70 610T100 610T136 611T175 611Q190 611 216 611T255 612Q321 612 363 598T441 537Q480 486 480 427V421Q480 354 447 311T378 251Q339 230 275 230H239H173V76H197Q220 76 227 73Q244 62 244 38Q244 10 222 1H41ZM396 421Q396 461 369 491T300 533Q294 534 233 535H173V306H233Q294 307 300 308Q345 319 370 352T396 421'], + + // LATIN CAPITAL LETTER Q + 0x51: [622,138,525,56,468,'56 306Q56 380 58 426T68 510T87 568T120 600T170 617T240 621Q323 621 335 620Q393 613 422 588Q450 560 459 493T468 306Q468 124 447 66Q433 23 394 6L424 -53Q454 -112 454 -118Q454 -128 441 -138H377Q367 -135 363 -129T333 -69L304 -11H254Q205 -10 180 -8T128 6T91 36T70 92T58 178T56 306ZM227 151Q227 171 262 171H276H281Q292 171 296 171T305 170T313 165T317 158T323 145T332 127L353 88Q356 88 361 95T372 131T382 202Q384 228 384 306Q384 452 371 492T304 544Q296 545 251 545Q230 545 215 543T188 534T169 520T155 497T147 466T143 423T141 371T140 306Q140 248 141 217T146 154T157 109T178 83T212 68T262 65H266L264 70Q261 75 256 85T247 105Q227 145 227 151'], + + // LATIN CAPITAL LETTER R + 0x52: [612,11,525,16,522,'16 571Q16 598 27 605T76 612Q84 612 108 612T148 611Q268 611 294 605Q346 592 389 550T432 440Q432 394 410 359Q393 329 366 310L358 303Q387 273 399 239Q405 219 405 178T408 106T421 68Q426 65 428 65Q433 65 435 74T438 96T441 112Q450 130 480 130H485Q519 130 522 100Q522 79 516 56T488 11T434 -11Q421 -11 408 -8T377 5T344 37T324 93Q322 101 322 154L321 209Q304 257 257 267Q252 268 207 268H165V76H186H192Q204 76 211 75T224 64T230 38Q230 10 208 1H39Q28 5 23 11T18 21T17 38V44Q17 66 33 73Q40 76 60 76H81V535H60Q45 535 38 536T24 545T16 571ZM348 440Q348 478 321 502T260 532Q252 534 208 535H165V344H208Q212 344 223 344T239 345T252 346T266 348T278 351T293 358Q348 387 348 440'], + + // LATIN CAPITAL LETTER S + 0x53: [622,11,525,51,472,'52 454Q52 524 107 572T229 621Q266 621 274 620Q326 610 360 588L371 581Q377 594 379 598T386 610T397 619T412 622Q433 622 439 610T446 570Q446 563 446 545T445 515V479Q445 441 444 432T436 417Q428 408 403 408T370 417Q361 424 361 434Q361 439 360 448T351 476T331 509T295 535T238 546Q194 546 163 522T132 458Q132 435 148 412Q155 401 166 393T192 380T218 371T247 364T270 359Q341 342 349 339Q389 325 418 296T461 229Q472 201 472 164Q469 92 417 41T287 -11Q240 -11 200 -1T143 19L126 29Q117 6 109 -2Q100 -11 84 -11Q64 -11 58 1T51 42Q51 49 51 66T52 95V135Q52 173 53 180T61 194Q70 203 95 203Q119 203 127 194Q136 186 136 168Q143 66 284 66H290Q325 66 350 85Q391 115 391 165Q391 204 369 228T322 260Q320 260 255 275T185 293Q123 309 88 355T52 454'], + + // LATIN CAPITAL LETTER T + 0x54: [612,-1,525,26,498,'129 38Q129 51 129 55T135 65T151 76H220V535H110V501Q110 470 109 464T101 450Q93 442 68 442H60Q37 442 28 461Q26 466 26 527L27 589Q36 607 49 610H55Q61 610 72 610T97 610T131 610T170 611T215 611T264 611H476Q478 609 483 606T489 602T493 598T496 593T497 586T498 576T498 562V526V488Q498 452 480 444Q476 442 456 442Q431 442 423 450Q416 457 415 463T414 501V535H304V76H374Q389 67 392 61T396 38Q396 10 374 1H151Q140 5 135 11T130 21T129 38'], + + // LATIN CAPITAL LETTER U + 0x55: [612,11,525,-4,528,'-3 573Q-3 597 8 604T50 612Q57 612 77 612T111 611H200Q214 602 218 595T222 573Q222 549 205 538Q198 535 175 535H151V359Q151 333 151 291Q152 177 156 162Q157 160 157 159Q165 123 193 95T262 66Q303 66 330 94T367 159Q371 175 371 191T373 359V535H349H339Q328 535 322 537T309 548T303 573T306 595T325 611H506Q520 602 524 595T528 573Q528 549 511 538Q504 535 481 535H457V364Q457 189 456 182Q448 101 394 45T262 -11Q189 -11 132 43T68 182Q67 189 67 364V535H43H33Q22 535 16 537T3 548T-3 573'], + + // LATIN CAPITAL LETTER V + 0x56: [613,7,525,19,505,'19 578Q19 585 20 590T23 598T29 604T38 608T48 610T62 611T78 612T97 611T119 611H195Q210 602 213 596T217 573Q217 561 216 555T206 542T179 535H164Q166 529 188 435T235 231T261 94L262 84V88Q263 91 263 94Q265 121 289 231T336 438L360 535H345Q308 535 308 566V573Q308 586 308 590T314 600T330 611H484Q499 602 502 595T505 573Q505 560 504 554T493 541T465 535H447L384 278Q321 19 319 14Q309 -7 278 -7H262H246Q215 -7 205 14Q203 19 140 278L78 535H59Q45 535 38 536T25 547T19 573V578'], + + // LATIN CAPITAL LETTER W + 0x57: [611,7,525,12,512,'459 611Q491 611 501 605T512 573Q512 538 482 535H474L439 276Q406 26 402 11Q398 2 389 -3Q387 -3 386 -4L380 -7H359H349Q324 -7 313 13Q307 29 285 139T263 275Q263 283 262 283Q261 282 261 274Q261 248 239 137T211 13Q200 -7 175 -7H165H144Q136 -3 127 3Q121 10 117 36T85 276L50 535H42Q26 536 19 545T12 564V573Q12 603 33 610Q37 611 101 611H134Q165 611 175 604T186 573Q186 563 186 559T182 547T169 538T143 535H122V531Q124 517 133 446T155 266T172 96V84L173 102Q176 157 192 243T215 346Q227 367 259 367H262H265Q297 367 309 346Q316 329 332 243T351 102L352 84V96Q356 161 368 266T390 444T402 531V535H381Q366 535 359 536T345 547T338 573Q338 600 356 608Q362 611 425 611H459'], + + // LATIN CAPITAL LETTER X + 0x58: [611,-1,525,28,495,'39 571Q39 597 49 604T93 611H141H218Q233 602 236 595T239 573Q239 538 210 535Q202 535 202 534T215 507T243 454L257 428L307 535H298Q266 538 266 573Q266 584 267 588T273 598T289 611H366H401Q442 611 454 605T466 573Q466 546 448 538Q442 535 421 535H398L299 327Q299 323 362 201L426 77L449 76Q467 76 475 75T489 65T495 38Q495 11 477 3Q473 1 395 1H317Q295 8 295 38Q295 73 325 76L334 77Q333 78 314 117T276 196L257 235L239 196Q221 157 204 118T186 77Q190 76 196 76Q211 74 218 67T227 55T228 38Q228 28 227 24T221 13T206 1H50Q28 9 28 32V38Q28 63 45 73Q51 76 73 76H96L214 324Q215 327 162 431L108 535H85H79Q67 535 60 536T46 546T39 571'], + + // LATIN CAPITAL LETTER Y + 0x59: [611,-1,525,20,505,'20 573Q20 597 30 604T72 611H121H198Q212 602 216 595T220 573Q220 568 219 563T217 555T214 549T211 544T207 541T203 538T198 537T194 536T190 536L188 535Q179 535 179 534L188 516Q196 497 208 470T232 415T252 363T261 332Q261 329 262 329T263 332Q263 354 333 508L345 534Q345 535 336 535Q305 538 305 567V573Q305 589 308 595T327 611H483Q505 598 505 573Q505 549 488 538Q481 535 460 535H438L304 245V76H325H331Q343 76 350 75T363 64T369 38Q369 10 347 1H178Q167 5 162 11T157 21T156 38V44Q156 66 172 73Q180 76 199 76H220V245L86 535H64Q44 535 36 538Q20 548 20 573'], + + // LATIN CAPITAL LETTER Z + 0x5A: [612,-1,525,48,481,'71 1Q60 5 55 11T49 23T48 39V46Q48 56 58 73T131 183Q171 242 197 282L366 535H144V501Q144 470 143 464T135 450Q127 442 102 442H94Q71 442 62 461Q60 466 60 527L61 589Q70 607 83 610H88Q93 610 102 610T124 610T154 610T188 611T227 611T270 611H454Q456 609 461 606T467 601T471 597T474 591T475 584T476 572V565Q476 555 466 538T393 428Q353 369 327 329L158 76H397V120V146Q397 169 405 179T439 189Q470 189 479 169Q481 164 481 95V48Q481 24 478 16T459 1H71'], + + // LEFT SQUARE BRACKET + 0x5B: [694,82,525,214,484,'237 -82Q221 -78 214 -58V305Q214 669 216 673Q220 687 231 690T278 694H350H461Q462 693 467 690T474 685T478 679T482 670T483 656Q483 632 471 625T428 617Q422 617 406 617T379 618H298V-7H379H420Q459 -7 471 -13T483 -45Q483 -55 483 -59T477 -70T461 -82H237'], + + // REVERSE SOLIDUS + 0x5C: [694,83,525,58,466,'58 659Q58 673 68 683T93 694Q114 694 125 673Q132 659 297 314T464 -36Q466 -44 466 -48Q466 -66 454 -74T431 -83Q410 -83 399 -62Q391 -47 226 298T60 648Q58 656 58 659'], + + // RIGHT SQUARE BRACKET + 0x5D: [695,82,525,41,310,'41 656Q41 681 53 688T99 695Q107 695 133 695T177 694H288Q307 681 310 669V-58Q303 -76 288 -82H64Q41 -73 41 -45Q41 -21 53 -14T96 -6Q102 -6 118 -6T145 -7H226V618H145H100Q67 618 54 625T41 656'], + + // CIRCUMFLEX ACCENT + 0x5E: [611,-460,525,96,428,'138 460Q121 460 109 479T96 512Q96 527 106 534Q109 536 178 571T253 609Q256 611 264 611Q272 610 343 574Q357 567 369 561T389 550T402 543T411 538T416 535T420 532T422 529T425 525Q428 518 428 512Q428 498 416 479T386 460H384Q377 460 316 496L262 526L208 496Q147 460 138 460'], + + // LOW LINE + 0x5F: [-25,95,525,57,468,'57 -60Q57 -33 86 -25H438Q468 -34 468 -60T438 -95H86Q57 -86 57 -60'], + + // GRAVE ACCENT + 0x60: [681,-357,525,176,350,'176 479Q176 563 227 622T310 681Q324 680 337 667T350 641Q350 627 340 619T312 599T280 566Q256 531 252 485V471Q261 472 262 472Q285 472 302 455T320 414Q320 389 303 373T261 357Q223 357 200 391T176 479'], + + // LATIN SMALL LETTER A + 0x61: [439,6,525,48,524,'126 306Q105 306 90 321T74 359Q74 439 211 439Q268 439 276 438Q343 426 383 390T430 306Q431 301 431 190V81Q446 79 465 78T492 76T509 72T521 60T524 38Q524 11 506 3Q502 1 466 1Q426 1 406 5T379 14T355 36L345 30Q284 -6 205 -6Q135 -6 92 39T48 141Q48 182 79 212T158 256T252 278T342 285H347V290Q347 315 325 335T267 362Q258 363 224 363Q189 363 185 362H179L178 358Q178 353 178 352T176 345T174 337T170 330T165 322T158 316T150 311T139 308T126 306ZM132 140Q132 115 157 93T224 70Q269 70 302 87T344 133Q346 139 347 175V211H339Q256 209 194 190T132 140'], + + // LATIN SMALL LETTER B + 0x62: [611,6,525,4,492,'4 573Q4 596 15 603T52 611H90H124Q146 611 155 608T171 591Q173 586 173 491V396L182 402Q217 424 256 431Q280 437 309 437Q376 437 434 379T492 217Q492 162 473 118T422 47T358 8T293 -6Q229 -6 174 38Q171 13 163 7T135 1H131H122Q99 1 90 23L89 279V535H58L27 536Q4 543 4 573ZM409 215Q409 269 377 315T283 361Q255 361 224 344T177 297L173 290V167Q189 124 213 97T278 70Q330 70 369 111T409 215'], + + // LATIN SMALL LETTER C + 0x63: [440,6,525,66,466,'291 -6Q196 -6 131 60T66 216Q66 296 119 361Q154 403 200 421T273 439Q275 440 293 440H313Q400 440 433 409Q454 388 454 359Q454 335 439 321T402 306Q380 306 365 321T350 357V362L340 363Q339 363 326 363T303 364Q280 364 266 362Q217 352 184 313T151 215Q151 153 199 112T313 70Q341 70 357 85T381 118T394 140Q402 146 424 146Q443 146 447 144Q466 137 466 117Q466 106 457 88T429 47T374 10T291 -6'], + + // LATIN SMALL LETTER D + 0x64: [611,6,525,31,520,'266 573Q266 596 277 603T314 611H352H385Q411 611 419 607T435 586V76H498Q512 67 516 60T520 38Q520 9 498 1H436Q429 1 417 1T398 0Q375 0 363 7T351 34V43L342 36Q288 -6 223 -6Q143 -6 87 58T31 216Q31 307 88 372T230 437Q292 437 342 405L351 399V535H320L289 536Q266 543 266 573ZM351 290Q347 302 337 316T302 346T244 361Q193 361 154 319T115 215Q115 152 152 111T235 70Q314 70 351 170V290'], + + // LATIN SMALL LETTER E + 0x65: [440,6,525,48,465,'48 217Q48 295 100 361T248 439L258 440Q268 440 274 440Q329 438 369 416T428 359T456 292T464 228Q464 215 461 208T454 198T442 190L288 189H135L138 179Q153 132 199 102T303 71Q336 71 353 86T380 120T398 143Q404 146 422 146Q453 146 462 126Q464 120 464 116Q464 84 416 39T285 -6Q187 -6 118 59T48 217ZM377 264Q371 291 365 306T341 338T294 362Q288 363 264 363Q225 363 190 336T139 264H377'], + + // LATIN SMALL LETTER F + 0x66: [617,-1,525,35,437,'43 395Q44 405 44 408T47 416T53 423T66 431H176V461Q176 500 182 518Q201 570 252 593T353 617Q399 614 418 593T437 548Q437 528 424 514T387 499Q365 499 353 511T338 537V541H328Q275 536 261 494Q260 490 260 460V431H327Q334 431 346 431T364 432Q392 432 404 425T416 393T405 362T365 355H327H260V76H319Q375 76 388 71T401 38Q401 27 400 23T395 12T379 1H58Q47 6 42 12T36 23T35 38Q35 65 53 73Q59 76 117 76H176V355H121H93Q64 355 54 362T43 395'], + + // LATIN SMALL LETTER G + 0x67: [442,229,525,28,510,'60 274Q60 337 107 386T233 436Q278 436 316 417L329 410L338 416Q384 442 427 442T489 423T509 381T494 345T460 332Q449 332 440 338Q432 341 427 348T419 360T415 365Q414 364 410 364L383 355Q406 320 406 274Q406 211 358 162T233 112Q189 112 155 128L146 133Q142 125 142 115Q142 99 150 85T175 71Q182 72 187 70Q188 70 195 70T218 70T254 69Q259 69 275 69T297 69T318 68T340 66T361 62T384 57T405 49T428 38Q495 -1 495 -76Q495 -143 427 -186T262 -229Q161 -229 94 -185T29 -73Q30 -60 33 -48T39 -26T47 -8T57 8T67 20T77 30T86 38L91 43Q91 44 86 53T75 80T70 117Q70 142 89 183L83 194Q60 232 60 274ZM321 274Q321 312 296 337T230 362Q197 362 171 338T145 274Q145 235 170 211T233 187Q273 187 297 212T321 274ZM422 -78Q422 -54 408 -38T366 -15T315 -6T255 -4H200Q198 -4 193 -4T183 -3Q148 -3 125 -26T102 -78Q102 -110 151 -132T261 -154Q321 -154 371 -132T422 -78'], + + // LATIN SMALL LETTER H + 0x68: [611,-1,525,4,520,'4 573Q4 596 15 603T52 611H90H124Q146 611 155 608T171 591Q173 586 173 489Q173 394 175 394L186 402Q197 410 219 420T269 434Q278 436 306 436Q343 436 371 423Q411 402 423 365T436 265Q436 257 436 239T435 211V198V76H498Q512 67 516 60T520 38Q520 9 498 1H308Q286 10 286 32V38V46Q286 65 303 73Q309 76 329 76H351V188Q351 204 351 230T352 266Q352 321 341 341T288 361Q253 361 222 341T176 274L174 264L173 170V76H236Q250 67 254 60T258 38Q258 9 236 1H27Q4 8 4 38Q4 53 8 60T27 76H89V535H58L27 536Q4 543 4 573'], + + // LATIN SMALL LETTER I + 0x69: [612,-1,525,72,462,'202 538T202 559T218 596T260 612Q283 612 300 597T317 560Q317 538 300 523T260 507Q235 507 219 522ZM411 76Q441 76 451 69T462 38Q462 29 462 26T460 18T453 9T440 1H94Q72 8 72 33V38Q72 46 72 49T74 58T81 68T94 76H233V355H167L102 356Q80 363 80 393Q80 418 91 425T138 432Q145 432 165 432T200 431H295Q297 429 303 425T310 420T314 415T317 404T317 389T318 363Q318 354 318 314T317 241V76H378H411'], + + // LATIN SMALL LETTER J + 0x6A: [612,228,525,48,377,'261 559Q261 580 277 596T319 612Q342 612 359 597T376 560T360 523T320 507Q296 507 279 523T261 559ZM75 -91T100 -91T138 -107T152 -144V-150L160 -151H193H203Q241 -151 267 -121Q284 -97 288 -73T292 23V151V355H218L145 356Q123 365 123 387V393Q123 422 145 430H148Q151 430 156 430T169 430T185 430T205 431T227 431T251 431H354Q356 430 360 427T365 424T369 420T372 416T373 410T375 402T376 391T377 376T377 356Q377 345 377 286T376 176Q376 -67 371 -88Q362 -123 342 -151T299 -194Q254 -228 180 -228Q84 -226 56 -177Q49 -162 48 -148Q48 -122 61 -107'], + + // LATIN SMALL LETTER K + 0x6B: [611,0,525,13,507,'13 42Q13 63 23 69T69 76H102V535H69H54Q34 535 24 542T13 573Q13 588 15 593Q22 605 29 608T56 611H95Q113 611 122 611T140 610T152 609T159 607T163 603T167 597T173 589V413L174 237L295 355H275Q260 355 253 356T239 367T232 393Q232 419 243 425T304 431H359H464Q479 422 482 415T485 393Q485 364 464 356L431 355H398L293 254L427 76H486Q501 67 504 60T507 38Q507 28 507 24T501 12T486 1H314Q292 8 292 38Q292 62 308 73Q312 75 326 76L338 77L290 140Q279 154 267 171T248 196L242 204L207 171L173 139V76H206H221Q241 76 251 69T262 38Q262 11 244 3Q240 1 138 1Q123 1 100 1T70 0Q32 0 23 7T13 42'], + + // LATIN SMALL LETTER L + 0x6C: [612,-1,525,51,474,'51 573Q51 602 73 610H76Q79 610 84 610T97 610T113 610T133 611T155 611T179 611H282Q301 598 304 586V76H452Q466 67 470 60T474 38Q474 10 452 1H73Q51 9 51 32V38Q51 54 54 60T73 76H220V535H146L73 536Q51 545 51 567V573'], + + // LATIN SMALL LETTER M + 0x6D: [437,-1,525,-12,536,'133 76Q156 74 164 67T172 38Q172 9 151 1H11Q-12 8 -12 38Q-12 61 5 73Q10 75 28 76H45V355H28Q10 356 5 358Q-12 370 -12 393Q-12 419 11 431H52H70Q91 431 100 427T116 405Q163 436 200 436Q255 436 281 390L285 394Q289 398 292 400T301 407T314 415T329 423T346 429T366 434T389 436H392Q425 436 448 411Q469 390 474 360T480 268V232V203V76H497Q520 74 528 67T536 38Q536 9 515 1H396Q374 9 374 32V38Q374 73 402 76H409V191V242Q409 317 404 339T375 361Q343 361 323 332T299 264Q298 258 298 165V76H315Q338 74 346 67T354 38Q354 9 333 1H214Q192 9 192 32V38Q192 73 220 76H227V191V242Q227 317 222 339T193 361Q161 361 141 332T117 264Q116 258 116 165V76H133'], + + // LATIN SMALL LETTER N + 0x6E: [436,-1,525,4,520,'89 431Q94 431 105 431T122 432Q173 432 173 399Q173 394 175 394Q176 394 190 404T233 425T298 436Q343 436 371 423Q411 402 423 365T436 265Q436 257 436 239T435 211V198V76H498Q512 67 516 60T520 38Q520 9 498 1H308Q286 9 286 32V38V45Q286 65 303 73Q309 76 329 76H351V188Q351 204 351 230T352 266Q352 321 341 341T288 361Q253 361 222 341T176 274L174 264L173 170V76H236Q250 67 254 60T258 38Q258 9 236 1H27Q4 8 4 38Q4 53 8 60T27 76H89V355H58L27 356Q4 363 4 393Q4 408 8 415T27 431H89'], + + // LATIN SMALL LETTER O + 0x6F: [440,6,525,52,472,'52 216Q52 318 118 379T261 440Q343 440 407 378T472 216Q472 121 410 58T262 -6Q176 -6 114 58T52 216ZM388 225Q388 281 351 322T261 364Q213 364 175 325T136 225Q136 158 174 114T262 70T350 114T388 225'], + + // LATIN SMALL LETTER P + 0x70: [437,221,525,4,492,'89 431Q93 431 104 431T121 432Q173 432 173 401V396L182 402Q237 437 305 437Q376 437 434 378T492 217Q492 146 459 93T382 17T291 -6Q261 -6 232 5T188 26L174 37Q173 37 173 -54V-146H236Q250 -155 254 -162T258 -184Q258 -213 236 -221H27Q4 -214 4 -184Q4 -169 8 -162T27 -146H89V355H58L27 356Q4 363 4 393Q4 408 8 415T27 431H89ZM409 215Q409 269 377 315T283 361Q255 361 224 344T177 297L173 290V167Q189 124 213 97T278 70Q330 70 369 111T409 215'], + + // LATIN SMALL LETTER Q + 0x71: [437,222,525,34,545,'34 215Q34 309 91 368T222 436Q224 436 231 436T242 437Q309 437 372 390V401Q372 419 381 428T414 437Q426 437 432 436T444 430T456 412V-146H489H504Q524 -146 534 -153T545 -184Q545 -211 527 -219Q523 -221 414 -221Q398 -221 374 -221T342 -222Q304 -222 294 -216T283 -184Q283 -157 301 -149Q307 -146 339 -146H372V-51Q372 43 371 43L364 38Q357 33 345 26T318 12T280 -1T236 -6Q155 -6 95 55T34 215ZM117 215Q117 152 157 111T250 70Q289 70 318 92T363 146Q372 163 372 192V215L371 263Q339 360 254 360Q206 360 162 321T117 215'], + + // LATIN SMALL LETTER R + 0x72: [437,-1,525,24,487,'327 76Q359 76 369 70T380 38Q380 10 359 1H47Q24 8 24 38Q24 54 28 61T47 76H145V355H96L47 356Q24 363 24 393Q24 409 28 416T47 431H207Q223 419 226 414T229 393V387V369Q297 437 394 437Q436 437 461 417T487 368Q487 347 473 332T438 317Q428 317 420 320T407 327T398 337T393 347T390 356L388 361Q348 356 324 345Q228 299 228 170Q228 161 228 151T229 138V76H293H327'], + + // LATIN SMALL LETTER S + 0x73: [440,6,525,71,458,'72 317Q72 361 108 396T229 439Q231 439 245 439T268 440Q303 439 324 435T353 427T363 423L372 432Q380 440 397 440Q430 440 430 395Q430 390 430 380T429 366V335Q429 311 422 302T387 293Q364 293 355 300T346 316T343 336T325 353Q306 364 257 364Q209 364 178 351T147 317Q147 284 231 272Q327 256 357 247Q458 210 458 129V121Q458 74 413 34T271 -6Q246 -6 224 -3T189 5T165 14T150 22T144 26Q142 23 139 18T135 11T132 6T128 1T124 -2T119 -4T113 -5T104 -6Q84 -6 78 6T71 43Q71 48 71 60T72 79Q72 132 73 141T81 157Q90 166 115 166Q135 166 142 162T157 140Q168 108 191 90T260 70Q297 70 323 76T361 91T379 110T384 129Q384 157 346 171T247 195T165 212Q119 228 96 256T72 317'], + + // LATIN SMALL LETTER T + 0x74: [554,6,525,25,448,'25 395Q26 405 26 408T29 416T35 423T48 431H145V481L146 532Q154 547 161 550T184 554H189Q218 554 227 534Q229 529 229 480V431H405Q406 430 411 427T418 422T422 416T426 407T427 393Q427 387 427 382T424 374T421 368T417 363T413 360T408 358L405 356L317 355H229V249Q229 237 229 214T228 179Q228 126 241 98T295 70Q354 70 365 149Q366 167 375 174Q383 182 407 182H415Q438 182 446 166Q448 161 448 148Q448 84 398 39T282 -6Q226 -6 189 29T146 128Q145 134 145 247V355H96H72Q45 355 35 362T25 395'], + + // LATIN SMALL LETTER U + 0x75: [431,5,525,4,520,'4 393Q4 416 15 423T52 431H90Q141 431 151 429T168 417Q171 412 173 409V254L174 100Q182 70 244 70Q320 70 344 119Q349 130 350 144T351 248V355H320L289 356Q266 363 266 393Q266 408 270 415T289 431H351H386Q409 431 418 428T433 411Q435 406 435 241V76H498Q512 67 516 60T520 38Q520 9 498 1H436H394Q372 1 364 5T351 26L342 21Q293 -5 227 -5Q118 -5 96 67Q91 82 90 101T89 227V355H58L27 356Q4 363 4 393'], + + // LATIN SMALL LETTER V + 0x76: [432,4,525,24,500,'24 392Q24 417 36 424T79 432Q85 432 103 432T132 431H215Q229 422 233 415T237 393Q237 355 198 355H193H172L262 77L352 355H331H323Q288 355 288 393Q288 409 291 415T310 431H478Q491 423 495 416T500 393Q500 364 478 356L452 355H426L374 190Q320 24 318 20Q307 -4 273 -4H262H251Q217 -4 206 20Q204 24 150 190L98 355H72L47 356Q24 363 24 392'], + + // LATIN SMALL LETTER W + 0x77: [431,4,525,16,508,'54 355Q16 355 16 388V393Q16 423 37 430Q41 431 125 431H162Q206 431 218 425T230 393Q230 366 212 358Q206 355 174 355Q141 355 141 354L150 296Q181 110 181 89V84Q182 85 183 96Q185 118 199 173T218 237Q223 247 245 259H264H268Q294 259 309 240Q315 229 329 174T343 92Q343 84 344 84V86Q344 88 344 91T345 97Q347 125 356 187T374 301T383 354Q383 355 350 355H333Q314 355 304 362T294 393Q294 420 312 428Q318 431 401 431H440Q485 431 496 425T508 393Q508 382 508 377T498 363T470 355L455 354Q455 353 441 271T413 104T396 16Q384 -4 355 -4H351Q315 -4 305 9T280 79Q278 90 276 96Q265 149 265 169Q265 176 264 169Q263 166 263 162Q261 130 248 79T230 18Q220 -4 183 -4H175L151 -3Q134 5 127 17L112 102Q97 188 83 270T69 354Q62 355 54 355'], + + // LATIN SMALL LETTER X + 0x78: [432,-1,525,29,495,'35 393Q35 417 46 424T89 432Q95 432 112 432T141 431H223Q238 422 241 415T244 393Q244 389 244 383T237 367T216 355Q209 355 209 354L234 319Q259 286 260 286L308 354Q308 355 301 355Q285 356 278 365T270 384L271 393Q271 420 289 428Q295 431 376 431H459Q460 430 465 427T472 422T476 416T480 407T481 393Q481 368 470 362T434 355H425H392L344 290Q295 225 295 223Q294 223 309 203T350 149L405 77L439 76H453Q474 76 484 69T495 38Q495 10 473 1H303Q281 9 281 32V38Q281 49 282 54T290 67T313 76Q324 76 324 77L259 173L197 77Q202 76 209 76Q225 75 233 68T241 55T242 38Q242 28 242 24T236 12T221 1H51Q29 9 29 32V38Q29 48 29 51T31 59T38 67T51 76H117L171 149Q224 222 224 223L124 355H90H78Q54 355 45 361T35 393'], + + // LATIN SMALL LETTER Y + 0x79: [431,228,525,26,501,'26 393Q26 417 37 424T80 431H134H217Q232 422 235 416T239 393Q239 379 236 371T226 360T214 356T197 355L179 354V353L188 330Q197 306 209 272T235 201T259 133T271 89V84L274 95Q279 122 298 185T335 300T352 354Q352 355 331 355Q312 355 304 358Q288 368 288 393Q288 408 291 415T310 431H478Q479 430 484 427T491 422T495 416T499 407T500 393Q500 376 493 367T479 357T458 355H452Q426 355 425 353Q420 337 351 124T280 -94Q240 -195 168 -220Q147 -228 125 -228Q89 -228 66 -201T42 -139Q42 -116 56 -102T93 -87Q117 -87 130 -102T144 -135V-138H126Q121 -148 121 -150T130 -152Q182 -147 207 -87Q211 -78 223 -40T236 1Q230 10 102 355H75L49 356Q26 363 26 393'], + + // LATIN SMALL LETTER Z + 0x7A: [432,-1,525,34,475,'56 1Q40 7 37 14T34 41Q34 59 36 64Q39 67 43 73Q65 95 191 213T341 355H133V334Q133 306 124 297Q116 289 91 289H83Q60 289 51 308Q49 313 49 361L50 409Q59 427 72 430H78Q83 430 92 430T115 430T144 430T179 431T219 431T262 431H450Q452 430 455 428T459 424T463 422T466 419T468 416T469 413T470 409T471 404T472 398T472 391Q472 374 469 368L462 358Q453 349 315 218Q210 122 164 76H391V103Q391 136 400 146Q409 155 433 155Q464 155 473 135Q475 130 475 78V46Q475 24 472 16T453 1H56'], + + // LEFT CURLY BRACKET + 0x7B: [694,83,525,50,475,'430 -7H436Q449 -7 456 -8T469 -19T475 -45Q475 -69 466 -76T434 -83H419Q386 -82 363 -80T308 -69T253 -41T223 7L221 17L220 118V220L218 224Q215 229 214 230T210 235T204 241T195 246T184 252T170 257T151 262T127 265Q118 267 100 267T69 270T52 283Q50 288 50 306V314Q50 335 67 341Q68 342 102 343T172 355T217 386L220 392V493L221 595Q225 611 230 621T251 650T304 679T395 693L406 694Q418 694 426 694Q458 694 466 685Q475 676 475 656T466 627Q458 618 430 618Q319 618 305 587L304 486Q304 476 304 458T305 431Q305 385 295 358T251 311L243 306Q243 305 254 298T281 274T302 231Q304 223 304 125L305 25Q309 16 316 10T352 -1T430 -7'], + + // VERTICAL LINE + 0x7C: [694,82,525,228,297,'228 668Q241 694 262 694Q268 694 273 693T282 688T287 682T293 674L297 668V-57Q282 -82 262 -82Q239 -82 228 -57V668'], + + // RIGHT CURLY BRACKET + 0x7D: [694,83,525,49,475,'49 655Q49 674 56 682T73 692T106 694Q141 693 167 690T224 677T275 647T303 595L305 392Q313 367 347 356T417 344T457 341Q475 335 475 306Q475 292 473 285T464 273T451 269T430 267Q352 262 327 246Q311 236 305 220L303 17L301 7Q294 -16 277 -33T242 -60T196 -74T150 -80T106 -83Q78 -83 72 -82T58 -74Q49 -65 49 -44Q49 -24 58 -16Q66 -7 94 -7Q143 -7 171 -1T207 10T220 25V125Q220 223 222 231Q228 257 243 274T270 299L281 306Q234 329 222 381Q220 387 220 486V587Q212 597 207 601T173 612T94 618Q66 618 58 627Q49 635 49 655'], + + // TILDE + 0x7E: [611,-466,525,87,437,'125 467Q113 467 100 480T87 509Q88 520 111 543Q172 602 209 609Q219 611 224 611Q246 611 263 596T290 566T304 551Q319 551 367 594Q383 610 396 610H400Q411 610 424 597T437 568Q436 557 413 534Q348 469 305 466Q278 466 260 481T234 511T220 526Q205 526 157 483Q141 467 129 467H125'], + + // ?? + 0x7F: [612,-519,525,104,421,'104 565Q104 590 120 600T155 611Q175 611 180 610Q217 599 217 565Q217 545 202 532T166 519H159H155Q120 519 107 547Q104 553 104 565ZM307 565Q307 580 317 593T346 610Q348 610 350 610T354 611Q355 612 367 612Q395 611 408 597T421 565T409 534T365 519H358Q336 519 322 532T307 565'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/BasicLatin.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js new file mode 100644 index 00000000..b7a01916 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js @@ -0,0 +1,53 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/CombDiacritMarks.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'], + { + // COMBINING GRAVE ACCENT + 0x300: [611,-485,0,-409,-195,'-409 569Q-409 586 -399 596T-377 610Q-376 610 -372 610T-365 611Q-355 610 -284 588T-210 563Q-195 556 -195 537Q-195 533 -197 522T-208 498T-229 485Q-238 485 -312 508T-388 533Q-400 538 -405 552Q-409 559 -409 569'], + + // COMBINING ACUTE ACCENT + 0x301: [611,-485,0,-331,-117,'-297 485Q-315 485 -323 505T-331 537Q-331 556 -316 563Q-307 569 -170 610Q-169 610 -165 610T-157 611Q-141 609 -131 600T-119 584T-117 569Q-117 555 -124 545T-138 533Q-140 531 -214 508T-297 485'], + + // COMBINING CIRCUMFLEX ACCENT + 0x302: [611,-460,0,-429,-97,'-387 460Q-404 460 -416 479T-429 512Q-429 527 -419 534Q-416 536 -347 571T-272 609Q-269 611 -261 611Q-254 610 -182 574Q-168 567 -156 561T-136 550T-123 543T-114 538T-109 535T-105 532T-103 529T-100 525Q-97 518 -97 512Q-97 498 -109 479T-139 460H-141Q-148 460 -209 496L-263 526L-317 496Q-378 460 -387 460'], + + // COMBINING TILDE + 0x303: [611,-466,0,-438,-88,'-400 467Q-412 467 -425 480T-438 509Q-437 520 -414 543Q-353 602 -316 609Q-306 611 -301 611Q-279 611 -262 596T-235 566T-221 551Q-206 551 -158 594Q-142 610 -129 610H-125Q-114 610 -101 597T-88 568Q-89 557 -112 534Q-177 469 -220 466Q-247 466 -265 481T-291 511T-305 526Q-320 526 -368 483Q-384 467 -396 467H-400'], + + // COMBINING MACRON + 0x304: [578,-500,0,-452,-74,'-429 500Q-440 504 -445 511T-450 522T-452 536Q-452 552 -451 556Q-445 571 -434 574T-379 578Q-369 578 -330 578T-261 577H-96Q-94 575 -90 573T-85 569T-81 564T-77 558T-75 550T-74 538Q-74 522 -78 515T-96 500H-429'], + + // COMBINING BREVE + 0x306: [611,-504,0,-447,-79,'-446 579Q-446 611 -412 611H-407Q-383 609 -378 599T-358 587Q-340 583 -263 583H-235Q-159 583 -152 593Q-145 611 -120 611H-117H-115Q-79 611 -79 577Q-80 552 -95 536T-140 514T-191 506T-251 504H-263H-274Q-311 504 -334 505T-386 513T-431 536T-446 579'], + + // COMBINING DIAERESIS + 0x308: [612,-519,0,-421,-104,'-421 565Q-421 590 -405 600T-370 611Q-350 611 -345 610Q-308 599 -308 565Q-308 545 -323 532T-359 519H-366H-370Q-405 519 -418 547Q-421 553 -421 565ZM-218 565Q-218 580 -208 593T-179 610Q-177 610 -175 610T-171 611Q-170 612 -158 612Q-130 611 -117 597T-104 565T-116 534T-160 519H-167Q-189 519 -203 532T-218 565'], + + // COMBINING RING ABOVE + 0x30A: [619,-499,0,-344,-182,'-344 558Q-344 583 -321 601T-262 619Q-225 619 -204 600T-182 560Q-182 536 -205 518T-264 499Q-301 499 -322 519T-344 558ZM-223 559Q-223 570 -234 579T-261 588T-289 580T-303 559Q-303 549 -293 540T-263 530T-234 539T-223 559'], + + // COMBINING CARON + 0x30C: [577,-449,0,-427,-99,'-427 525Q-427 542 -417 559T-392 577Q-385 577 -323 553L-263 530L-203 553Q-143 576 -136 576Q-118 576 -109 559T-99 525Q-99 508 -107 502T-161 481Q-177 475 -186 472Q-256 449 -263 449Q-272 449 -339 472T-412 498Q-420 501 -423 508T-427 520V525'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/CombDiacritMarks.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js new file mode 100644 index 00000000..adff7e74 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/Main.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'] = { + directory: 'Typewriter/Regular', + family: 'MathJax_Typewriter', + id: 'MJTT', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + + +}; + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/Main.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js new file mode 100644 index 00000000..3be25ad6 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js @@ -0,0 +1,74 @@ +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/svg/Typewriter/Regular/Other.js + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax.SVG.FONTDATA.FONTS['MathJax_Typewriter'], + { + // LATIN SMALL LETTER DOTLESS I + 0x131: [432,-1,525,72,462,'411 76Q441 76 451 69T462 38Q462 29 462 26T460 18T453 9T440 1H94Q72 8 72 33V38Q72 46 72 49T74 58T81 68T94 76H233V355H167L102 356Q80 363 80 393Q80 418 91 425T138 432Q145 432 165 432T200 431H295Q297 429 303 425T310 420T314 415T317 404T317 389T318 363Q318 354 318 314T317 241V76H378H411'], + + // LATIN SMALL LETTER DOTLESS J + 0x237: [432,228,525,48,377,'75 -91T100 -91T138 -107T152 -144V-150L160 -151H193H203Q241 -151 267 -121Q284 -97 288 -73T292 23V151V355H218L145 356Q123 365 123 387V393Q123 422 145 430H148Q151 430 156 430T169 430T185 430T205 431T227 431T251 431H354Q356 430 360 427T365 424T369 420T372 416T373 410T375 402T376 391T377 376T377 356Q377 345 377 286T376 176Q376 -67 371 -88Q362 -123 342 -151T299 -194Q254 -228 180 -228Q84 -226 56 -177Q49 -162 48 -148Q48 -122 61 -107'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [611,0,525,25,488,'466 611Q468 609 473 606T479 602T483 598T486 593T487 586T488 576T488 562V526V488Q488 452 470 444Q466 442 446 442Q421 442 413 450Q406 457 405 463T404 501V535H185V76H222H239Q260 76 270 69T281 38Q281 12 270 6T209 0H155H104Q48 0 37 5T25 38Q25 59 35 69Q44 76 76 76H101V535H76H64Q36 535 27 552Q25 557 25 573T27 594Q33 606 43 608T106 611H258H466'], + + // GREEK CAPITAL LETTER DELTA + 0x394: [623,0,525,35,489,'232 622H237Q242 622 249 622T264 623H293Q295 622 300 619T308 613T314 608T319 601Q322 597 405 316T489 19Q489 9 473 1Q471 0 262 0T51 1Q35 9 35 19Q35 34 118 315T205 601Q214 616 232 622ZM267 501Q266 504 265 510T263 521T261 526V523Q261 508 211 332Q142 91 138 82H386Q385 84 345 224Q281 439 267 501'], + + // GREEK CAPITAL LETTER THETA + 0x398: [621,10,525,56,468,'102 588Q140 621 240 621Q323 621 335 620Q393 613 422 588Q450 560 459 493T468 306Q468 185 460 118T422 23Q382 -10 289 -10H262H235Q142 -10 102 23Q74 50 65 118T56 306Q56 427 64 494T102 588ZM262 66Q285 66 300 67T329 74T351 86T366 108T376 138T381 181T383 235T384 306Q384 452 371 492T304 544Q296 545 251 545Q230 545 215 543T188 534T169 520T155 497T147 466T143 423T141 371T140 306Q140 247 141 215T146 151T158 107T179 82T212 69T262 66ZM179 356Q187 378 219 378H223Q240 377 249 372T260 360L261 355Q261 353 262 353T263 355Q263 362 272 369Q280 377 304 377H310Q325 377 331 374T346 356V256Q338 241 331 238T309 234H304Q280 234 272 242Q263 249 263 256Q263 258 262 258T261 256Q261 249 252 242Q244 234 220 234H216Q186 234 179 256V356'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [623,-1,525,30,495,'30 38Q30 57 38 66T70 76Q88 76 88 78Q89 79 117 207T173 466T205 602Q213 617 231 622H236Q241 622 249 622T264 623H294Q315 609 319 602Q321 598 350 468T407 208T435 78Q436 76 454 76Q470 76 478 73Q495 62 495 38Q495 10 473 1H313Q290 10 290 38Q290 56 297 65T310 74T331 76Q350 76 350 78Q349 80 328 176T285 383T263 520Q263 526 262 527Q261 527 261 521Q261 497 240 388T198 181T174 78Q174 76 193 76Q220 75 227 65Q234 56 234 38Q234 28 234 24T228 13T212 1H52Q30 9 30 32V38'], + + // GREEK CAPITAL LETTER XI + 0x39E: [612,-1,525,33,491,'37 555V569Q37 605 60 610H66Q71 610 81 610T105 610T137 610T175 611T217 611T264 611H465Q467 609 471 606T477 602T481 599T484 594T485 588T487 580T487 570T487 554Q487 526 486 520T478 506Q470 498 445 498T412 506Q403 515 403 531V539H121V531Q121 498 86 498H79H71Q48 498 39 517Q37 522 37 555ZM109 318V346Q109 366 113 374T132 389H170Q193 379 193 359V354H331V359Q331 379 354 389H392Q407 381 411 373T415 342V318V290Q415 270 411 262T392 247H354Q331 257 331 277V282H193V277Q193 257 170 247H132Q117 255 113 263T109 294V318ZM56 1Q41 7 37 15T33 42V58V80Q33 101 41 110T77 119Q87 118 91 118T103 114T114 103T117 83V72H407V83Q407 101 416 110T449 119T482 110Q489 103 490 97T491 59V41Q491 24 487 16T469 1H56'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [611,-1,525,16,508,'60 535Q45 535 38 536T24 545T16 571Q16 603 36 609Q41 611 264 611H486Q501 602 504 596T508 573Q508 559 505 551T495 540T482 536T464 535H443V76H464H470Q482 76 489 75T502 64T508 38Q508 10 486 1H317Q306 5 301 11T296 21T295 38V44Q295 66 311 73Q318 76 338 76H359V535H165V76H186H192Q204 76 211 75T224 64T230 38Q230 10 208 1H39Q28 5 23 11T18 21T17 38V44Q17 66 33 73Q40 76 60 76H81V535H60'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [612,-1,525,39,484,'40 575Q40 576 40 579T41 583T41 588T43 593T46 597T50 602T55 606T63 610H68Q74 610 84 610T108 610T139 610T176 611T219 611T264 611H462Q464 609 469 606T475 602T479 598T482 593T483 586T484 576T484 562V526V488Q484 452 466 444Q462 442 442 442Q417 442 409 450Q402 457 401 463T400 501V535H153Q153 533 218 430Q233 405 250 378T276 336T286 319Q290 311 290 307Q290 296 239 211Q229 194 223 184L161 78H400V112Q400 142 401 149T409 163Q418 172 442 172Q473 172 482 152Q484 147 484 86V49Q484 25 481 17T462 1H63Q41 10 41 31Q41 39 43 44Q43 45 81 109T157 238L195 303Q195 307 119 430T41 557T40 575'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [623,-1,525,38,486,'38 494Q38 549 74 585T152 621Q168 621 179 619T209 606T241 566T262 492Q262 494 265 507T270 526T276 547T285 569T298 589T315 606T337 617T365 622Q416 622 451 584T486 494Q486 470 469 461Q464 459 445 459H437Q416 459 406 476Q404 479 403 502T393 541T365 558Q350 558 340 548T323 519T312 475T307 419T305 354T304 282Q304 254 304 239V76H358Q372 67 376 60T380 38Q380 10 358 1H167Q145 9 145 32V38Q145 54 148 60T167 76H220V239Q220 256 220 289T220 338T219 383T217 426T214 463T209 497T201 522T189 543T174 555Q168 558 159 558Q139 558 131 541T121 502T118 476Q108 459 84 459H79H71Q38 459 38 494'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [612,-1,525,41,483,'139 573V578Q139 603 161 610H166Q172 610 182 610T204 610T232 611T264 611H364Q379 602 382 595T385 573Q385 544 364 536L334 535H304V441H306Q313 440 325 438T367 426T421 403T464 364T483 306Q483 251 430 216T317 172Q315 172 313 172T308 170H306H304V76H364Q379 67 382 60T385 38Q385 28 385 24T379 12T364 1H161Q139 8 139 33V38Q139 46 139 49T141 58T148 68T161 76H220V170H218Q211 171 199 173T157 185T103 208T60 248T41 306Q41 361 94 396T208 439Q210 439 212 439T216 440L218 441H220V535H190L161 536Q139 543 139 573ZM124 306Q124 286 147 271T194 252L218 247Q220 247 220 306V364H218Q212 364 192 359T148 340T124 306ZM400 305Q400 325 377 340T330 360L306 364Q304 364 304 306Q304 247 306 247Q312 247 332 252T376 271T400 305'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [611,-1,525,37,487,'37 439Q38 451 40 457T52 469T77 475H79Q96 475 107 473T132 456T152 411Q152 409 153 396T154 372V365Q154 291 198 261Q215 251 219 251Q220 251 220 393V535H193L167 536Q145 545 145 567V573Q145 602 167 610Q168 611 264 611H358Q372 602 376 595T380 573Q380 545 358 536L331 535H304V393Q304 251 305 251Q307 251 310 252T323 259T339 272T355 295T367 331Q368 337 370 372Q370 382 371 395T372 411Q376 434 384 448T404 467T425 474T447 475Q461 474 467 473T480 463T487 437Q487 419 481 412Q476 403 459 398Q457 390 453 344T431 263Q415 228 383 205T332 177T306 172H304V76H358Q372 67 376 60T380 38Q380 10 358 1H167Q145 9 145 32V38Q145 54 148 60T167 76H220V172H218Q211 172 192 177T141 205T93 263Q74 298 71 343T67 391L66 398Q47 403 42 411T37 433V439'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [622,-1,525,32,492,'40 404Q40 498 106 560T258 622Q357 622 420 558T484 406Q484 359 469 311T428 205T392 117Q382 84 382 78Q382 76 402 76H421V87Q421 110 431 116T457 123Q474 123 483 114Q490 107 491 100T492 61V42Q492 11 474 3Q470 1 397 1H324Q302 9 302 32V39Q302 104 351 225T400 405Q400 462 361 504T262 546Q200 546 162 504T124 405Q124 346 171 230T223 42V36Q223 11 205 3Q201 1 128 1H55Q39 7 33 23L32 60V80Q32 94 34 102T44 116T68 123Q103 123 103 87V76H123Q142 76 142 78Q142 100 117 156T66 282T40 404'], + + // ?? + 0x7E2: [611,-287,525,175,349,'205 554Q205 577 221 594T263 611Q302 611 325 577T349 490Q349 409 298 347Q285 330 258 309T214 287Q203 289 189 302T175 327Q175 341 185 349T213 369T245 402Q269 437 273 483V497Q264 496 263 496Q240 496 223 513T205 554'], + + // ?? + 0x7E3: [681,-357,525,176,350,'176 479Q176 563 227 622T310 681Q324 680 337 667T350 641Q350 627 340 619T312 599T280 566Q256 531 252 485V471Q261 472 262 472Q285 472 302 455T320 414Q320 389 303 373T261 357Q223 357 200 391T176 479'], + + // PRIME + 0x2032: [623,-334,525,211,313,'211 572Q211 593 226 608T262 623Q281 623 297 610T313 573Q313 561 307 465Q301 370 299 357T284 336Q279 334 262 334Q240 334 231 343Q226 350 225 362T217 465Q211 549 211 572'] + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/Other.js"); diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata-extra.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata-extra.js new file mode 100644 index 00000000..10629f46 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata-extra.js @@ -0,0 +1,241 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/fontdata-extra.js + * + * Adds extra stretchy characters to the TeX font data. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +(function (SVG) { + var VERSION = "2.7.5"; + + var DELIMITERS = SVG.FONTDATA.DELIMITERS; + + var MAIN = "MathJax_Main", + BOLD = "MathJax_Main-bold", + AMS = "MathJax_AMS", + SIZE1 = "MathJax_Size1", + SIZE4 = "MathJax_Size4"; + var H = "H", V = "V"; + var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // add depth for arrow extender + var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender + + var delim = { + 0x003D: // equal sign + { + dir: H, HW: [[767,MAIN]], stretch: {rep:[0x003D,MAIN]} + }, + 0x219E: // left two-headed arrow + { + dir: H, HW: [[1000,AMS]], stretch: {left:[0x219E,AMS], rep:ARROWREP} + }, + 0x21A0: // right two-headed arrow + { + dir: H, HW: [[1000,AMS]], stretch: {right:[0x21A0,AMS], rep:ARROWREP} + }, + 0x21A4: // left arrow from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2190,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x21A5: // up arrow from bar + { + dir: V, HW: [], + stretch: {min:.6, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x2191,SIZE1]} + }, + 0x21A6: // right arrow from bar + { + dir: H, HW: [[1000,MAIN]], + stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:ARROWREP, right:[0x2192,MAIN]} + }, + 0x21A7: // down arrow from bar + { + dir: V, HW: [], + stretch: {min:.6, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x21B0: // up arrow with top leftwards + { + dir: V, HW: [[722,AMS]], + stretch: {top:[0x21B0,AMS], ext:[0x23D0,SIZE1,.097]} + }, + 0x21B1: // up arrow with top right + { + dir: V, HW: [[722,AMS]], + stretch: {top:[0x21B1,AMS,.27], ext:[0x23D0,SIZE1]} + }, + 0x21BC: // left harpoon with barb up + { + dir: H, HW: [[1000,MAIN]], + stretch: {left:[0x21BC,MAIN], rep:ARROWREP} + }, + 0x21BD: // left harpoon with barb down + { + dir: H, HW: [[1000,MAIN]], + stretch: {left:[0x21BD,MAIN], rep:ARROWREP} + }, + 0x21BE: // up harpoon with barb right + { + dir: V, HW: [[888,AMS]], + stretch: {top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21BF: // up harpoon with barb left + { + dir: V, HW: [[888,AMS]], + stretch: {top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21C0: // right harpoon with barb up + { + dir: H, HW: [[1000,MAIN]], + stretch: {right:[0x21C0,MAIN], rep:ARROWREP} + }, + 0x21C1: // right harpoon with barb down + { + dir: H, HW: [[1000,MAIN]], + stretch: {right:[0x21C1,MAIN], rep:ARROWREP} + }, + 0x21C2: // down harpoon with barb right + { + dir: V, HW: [[888,AMS]], + stretch: {bot:[0x21C2,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21C3: // down harpoon with barb left + { + dir: V, HW: [[888,AMS]], + stretch: {bot:[0x21C3,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]} + }, + 0x21DA: // left triple arrow + { + dir: H, HW: [[1000,AMS]], + stretch: {left:[0x21DA,AMS], rep:[0x2261,MAIN]} + }, + 0x21DB: // right triple arrow + { + dir: H, HW: [[1000,AMS]], + stretch: {right:[0x21DB,AMS], rep:[0x2261,MAIN]} + }, + 0x23B4: // top square bracket + { + dir: H, HW: [], + stretch: {min:.5, left:[0x250C,AMS,0,-.1], rep:[0x2212,MAIN,0,.325], right:[0x2510,AMS,0,-.1]} + }, + 0x23B5: // bottom square bracket + { + dir: H, HW: [], + stretch: {min:.5, left:[0x2514,AMS,0,.26], rep:[0x2212,MAIN,0,0,0,.25], right:[0x2518,AMS,0,.26]} + }, + 0x23DC: // top paren + { + dir: H, HW: [[778,AMS,0,0x2322],[100,MAIN,0,0x2322]], + stretch: {left:[0xE150,SIZE4], rep:[0xE154,SIZE4], right:[0xE151,SIZE4]} + }, + 0x23DD: // bottom paren + { + dir: H, HW: [[778,AMS,0,0x2323],[100,MAIN,0,0x2323]], + stretch: {left:[0xE152,SIZE4], rep:[0xE154,SIZE4], right:[0xE153,SIZE4]} + }, + 0x23E0: // top tortoise shell + { + dir: H, HW: [], + stretch: {min:1.25, left:[0x2CA,MAIN,-.1], rep:[0x2C9,MAIN,-.05,.13], right:[0x2CB,MAIN], fullExtenders:true} + }, + 0x23E1: // bottom tortoise shell + { + dir: H, HW: [], + stretch: {min:1.5, left:[0x2CB,MAIN,-.1,.1], rep:[0x2C9,MAIN,-.1], right:[0x2CA,MAIN,-.1,.1], fullExtenders:true} + }, + 0x2906: // leftwards double arrow from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21D0,MAIN], rep:DARROWREP, right:[0x2223,SIZE1,0,-.1]} + }, + 0x2907: // rightwards double arrow from bar + { + dir: H, HW: [], + stretch: {min:.7, left:[0x22A8,AMS,0,-.12], rep:DARROWREP, right:[0x21D2,MAIN]} + }, + 0x294E: // left barb up right barb up harpoon + { + dir: H, HW: [], + stretch: {min:.5, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x21C0,MAIN]} + }, + 0x294F: // up barb right down barb right harpoon + { + dir: V, HW: [], + stretch: {min:.5, top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} + }, + 0x2950: // left barb dow right barb down harpoon + { + dir: H, HW: [], + stretch: {min:.5, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x21C1,MAIN]} + }, + 0x2951: // up barb left down barb left harpoon + { + dir: V, HW: [], + stretch: {min:.5, top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} + }, + 0x295A: // leftwards harpoon with barb up from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21BC,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x295B: // rightwards harpoon with barb up from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C0,MAIN]} + }, + 0x295C: // up harpoon with barb right from bar + { + dir: V, HW: [], + stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BE,AMS,.12,0,1.1]} + }, + 0x295D: // down harpoon with barb right from bar + { + dir: V, HW: [], + stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]} + }, + 0x295E: // leftwards harpoon with barb down from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x21BD,MAIN], rep:ARROWREP, right:[0x2223,SIZE1,0,-.05,.9]} + }, + 0x295F: // rightwards harpoon with barb down from bar + { + dir: H, HW: [], + stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:ARROWREP, right:[0x21C1,MAIN]} + }, + 0x2960: // up harpoon with barb left from bar + { + dir: V, HW: [], + stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BF,AMS,.12,0,1.1]} + }, + 0x2961: // down harpoon with barb left from bar + { + dir: V, HW: [], + stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]} + } + }; + + for (var id in delim) {if (delim.hasOwnProperty(id)) {DELIMITERS[id] = delim[id]}}; + + MathJax.Ajax.loadComplete(SVG.fontDir + "/fontdata-extra.js"); + +})(MathJax.OutputJax.SVG); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata.js new file mode 100644 index 00000000..fa5e1548 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/fonts/TeX/fontdata.js @@ -0,0 +1,1613 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/fonts/TeX/fontdata.js + * + * Initializes the SVG OutputJax to use the MathJax TeX fonts + * for displaying mathematics. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + +(function (SVG,MML,AJAX,HUB) { + var VERSION = "2.7.5"; + + var MAIN = "MathJax_Main", + BOLD = "MathJax_Main-bold", + ITALIC = "MathJax_Math-italic", + AMS = "MathJax_AMS", + SIZE1 = "MathJax_Size1", + SIZE2 = "MathJax_Size2", + SIZE3 = "MathJax_Size3", + SIZE4 = "MathJax_Size4"; + var H = "H", V = "V", EXTRAH = {load:"extra", dir:H}, EXTRAV = {load:"extra", dir:V}; + var STDHW = [[1000,MAIN],[1200,SIZE1],[1800,SIZE2],[2400,SIZE3],[3000,SIZE4]]; + var ARROWREP = [0x2212,MAIN,0,0,0,-.31,-.31]; // add depth for arrow extender + var DARROWREP = [0x3D,MAIN,0,0,0,0,.1]; // add depth for arrow extender + + SVG.Augment({ + FONTDATA: { + version: VERSION, + + baselineskip: 1200, + lineH: 800, lineD: 200, + + FONTS: { + "MathJax_Main": "Main/Regular/Main.js", + "MathJax_Main-bold": "Main/Bold/Main.js", + "MathJax_Main-italic": "Main/Italic/Main.js", + "MathJax_Math-italic": "Math/Italic/Main.js", + "MathJax_Math-bold-italic": "Math/BoldItalic/Main.js", + "MathJax_Caligraphic": "Caligraphic/Regular/Main.js", + "MathJax_Size1": "Size1/Regular/Main.js", + "MathJax_Size2": "Size2/Regular/Main.js", + "MathJax_Size3": "Size3/Regular/Main.js", + "MathJax_Size4": "Size4/Regular/Main.js", + "MathJax_AMS": "AMS/Regular/Main.js", + "MathJax_Fraktur": "Fraktur/Regular/Main.js", + "MathJax_Fraktur-bold": "Fraktur/Bold/Main.js", + "MathJax_SansSerif": "SansSerif/Regular/Main.js", + "MathJax_SansSerif-bold": "SansSerif/Bold/Main.js", + "MathJax_SansSerif-italic": "SansSerif/Italic/Main.js", + "MathJax_Script": "Script/Regular/Main.js", + "MathJax_Typewriter": "Typewriter/Regular/Main.js", + "MathJax_Caligraphic-bold": "Caligraphic/Bold/Main.js" + }, + + VARIANT: { + "normal": {fonts:[MAIN,SIZE1,AMS], + offsetG: 0x03B1, variantG: "italic", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, + 0x2016:0x2225, + 0x2216:[0x2216,"-TeX-variant"], // \smallsetminus + 0x210F:[0x210F,"-TeX-variant"], // \hbar + 0x2032:[0x27,"sans-serif-italic"], // HACK: a smaller prime + 0x29F8:[0x002F,MML.VARIANT.ITALIC]}}, + "bold": {fonts:[BOLD,SIZE1,AMS], bold:true, + offsetG: 0x03B1, variantG: "bold-italic", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, 0x29F8:[0x002F,"bold-italic"], + 0x2016:0x2225, + 0x219A:"\u2190\u0338", 0x219B:"\u2192\u0338", 0x21AE:"\u2194\u0338", + 0x21CD:"\u21D0\u0338", 0x21CE:"\u21D4\u0338", 0x21CF:"\u21D2\u0338", + 0x2204:"\u2203\u0338", 0x2224:"\u2223\u0338", 0x2226:"\u2225\u0338", + 0x2241:"\u223C\u0338", 0x2247:"\u2245\u0338", + 0x226E:"<\u0338", 0x226F:">\u0338", + 0x2270:"\u2264\u0338", 0x2271:"\u2265\u0338", + 0x2280:"\u227A\u0338", 0x2281:"\u227B\u0338", + 0x2288:"\u2286\u0338", 0x2289:"\u2287\u0338", + 0x22AC:"\u22A2\u0338", 0x22AD:"\u22A8\u0338", +// 0x22AE:"\u22A9\u0338", 0x22AF:"\u22AB\u0338", + 0x22E0:"\u227C\u0338", 0x22E1:"\u227D\u0338"//, +// 0x22EA:"\u22B2\u0338", 0x22EB:"\u22B3\u0338", +// 0x22EC:"\u22B4\u0338", 0x22ED:"\u22B5\u0338" + }}, + "italic": {fonts:[ITALIC,"MathJax_Main-italic",MAIN,SIZE1,AMS], italic:true, + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "bold-italic": {fonts:["MathJax_Math-bold-italic",BOLD,SIZE1,AMS], bold:true, italic:true, + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "double-struck": {fonts:[AMS, MAIN]}, + "fraktur": {fonts:["MathJax_Fraktur",MAIN,SIZE1,AMS]}, + "bold-fraktur": {fonts:["MathJax_Fraktur-bold",BOLD,SIZE1,AMS], bold:true}, + "script": {fonts:["MathJax_Script",MAIN,SIZE1,AMS]}, + "bold-script": {fonts:["MathJax_Script",BOLD,SIZE1,AMS], bold:true}, + "sans-serif": {fonts:["MathJax_SansSerif",MAIN,SIZE1,AMS]}, + "bold-sans-serif": {fonts:["MathJax_SansSerif-bold",BOLD,SIZE1,AMS], bold:true}, + "sans-serif-italic": {fonts:["MathJax_SansSerif-italic","MathJax_Main-italic",SIZE1,AMS], italic:true}, + "sans-serif-bold-italic": {fonts:["MathJax_SansSerif-italic","MathJax_Main-italic",SIZE1,AMS], bold:true, italic:true}, + "monospace": {fonts:["MathJax_Typewriter",MAIN,SIZE1,AMS]}, + "-tex-caligraphic": {fonts:["MathJax_Caligraphic",MAIN], offsetA: 0x41, variantA: "italic"}, + "-tex-oldstyle": {fonts:["MathJax_Caligraphic",MAIN]}, + "-tex-mathit": {fonts:["MathJax_Main-italic",ITALIC,MAIN,SIZE1,AMS], italic:true, noIC: true, + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "-TeX-variant": {fonts:[AMS,MAIN,SIZE1], // HACK: to get larger prime for \prime + remap: { + 0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E, + 0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007, + 0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B, + 0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009, + 0x2216:[0x2216,MML.VARIANT.NORMAL], // \setminus + 0x210F:[0x210F,MML.VARIANT.NORMAL] // \hslash + }}, + "-largeOp": {fonts:[SIZE2,SIZE1,MAIN]}, + "-smallOp": {fonts:[SIZE1,MAIN]}, + "-tex-caligraphic-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"], bold:true, + offsetA: 0x41, variantA: "bold-italic"}, + "-tex-oldstyle-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"], bold:true} + }, + + RANGES: [ + {name: "alpha", low: 0x61, high: 0x7A, offset: "A", add: 32}, + {name: "number", low: 0x30, high: 0x39, offset: "N"}, + {name: "greek", low: 0x03B1, high: 0x03F6, offset: "G"} + ], + + RULECHAR: 0x2212, + + REMAP: { + 0xA: 0x20, // newline + 0x00A0: 0x20, // non-breaking space + 0x203E: 0x2C9, // overline + 0x20D0: 0x21BC, 0x20D1: 0x21C0, // combining left and right harpoons + 0x20D6: 0x2190, 0x20E1: 0x2194, // combining left arrow and lef-right arrow + 0x20EC: 0x21C1, 0x20ED: 0x21BD, // combining low right and left harpoons + 0x20EE: 0x2190, 0x20EF: 0x2192, // combining low left and right arrows + 0x20F0: 0x2A, // combining asterisk + 0xFE37: 0x23DE, 0xFE38: 0x23DF, // OverBrace, UnderBrace + + 0xB7: 0x22C5, // center dot + 0x2B9: 0x2032, // prime, + 0x3D2: 0x3A5, // Upsilon + 0x2206: 0x394, // increment + 0x2015: 0x2014, 0x2017: 0x5F, // horizontal bars + 0x2022: 0x2219, 0x2044: 0x2F, // bullet, fraction slash + 0x2305: 0x22BC, 0x2306: 0x2A5E, // barwedge, doublebarwedge + 0x25AA: 0x25A0, 0x25B4: 0x25B2, // blacksquare, blacktriangle + 0x25B5: 0x25B3, 0x25B8: 0x25B6, // triangle, blacktriangleright + 0x25BE: 0x25BC, 0x25BF: 0x25BD, // blacktriangledown, triangledown + 0x25C2: 0x25C0, // blacktriangleleft + 0x2329: 0x27E8, 0x232A: 0x27E9, // langle, rangle + 0x3008: 0x27E8, 0x3009: 0x27E9, // langle, rangle + 0x2758: 0x2223, // VerticalSeparator + 0x2A2F: 0xD7, // cross product + + 0x25FB: 0x25A1, 0x25FC: 0x25A0, // square, blacksquare + + // + // Letter-like symbols (that appear elsewhere) + // + 0x2102: [0x0043,MML.VARIANT.DOUBLESTRUCK], +// 0x210A: [0x0067,MML.VARIANT.SCRIPT], + 0x210B: [0x0048,MML.VARIANT.SCRIPT], + 0x210C: [0x0048,MML.VARIANT.FRAKTUR], + 0x210D: [0x0048,MML.VARIANT.DOUBLESTRUCK], + 0x210E: [0x0068,MML.VARIANT.ITALIC], + 0x2110: [0x004A,MML.VARIANT.SCRIPT], + 0x2111: [0x0049,MML.VARIANT.FRAKTUR], + 0x2112: [0x004C,MML.VARIANT.SCRIPT], + 0x2115: [0x004E,MML.VARIANT.DOUBLESTRUCK], + 0x2119: [0x0050,MML.VARIANT.DOUBLESTRUCK], + 0x211A: [0x0051,MML.VARIANT.DOUBLESTRUCK], + 0x211B: [0x0052,MML.VARIANT.SCRIPT], + 0x211C: [0x0052,MML.VARIANT.FRAKTUR], + 0x211D: [0x0052,MML.VARIANT.DOUBLESTRUCK], + 0x2124: [0x005A,MML.VARIANT.DOUBLESTRUCK], + 0x2126: [0x03A9,MML.VARIANT.NORMAL], + 0x2128: [0x005A,MML.VARIANT.FRAKTUR], + 0x212C: [0x0042,MML.VARIANT.SCRIPT], + 0x212D: [0x0043,MML.VARIANT.FRAKTUR], +// 0x212F: [0x0065,MML.VARIANT.SCRIPT], + 0x2130: [0x0045,MML.VARIANT.SCRIPT], + 0x2131: [0x0046,MML.VARIANT.SCRIPT], + 0x2133: [0x004D,MML.VARIANT.SCRIPT], +// 0x2134: [0x006F,MML.VARIANT.SCRIPT], + + 0x2247: 0x2246, // wrong placement of this character + 0x231C: 0x250C, 0x231D:0x2510, // wrong placement of \ulcorner, \urcorner + 0x231E: 0x2514, 0x231F:0x2518, // wrong placement of \llcorner, \lrcorner + + // + // compound symbols not in these fonts + // + 0x2204: "\u2203\u0338", // \not\exists + 0x220C: "\u220B\u0338", // \not\ni + 0x2244: "\u2243\u0338", // \not\simeq + 0x2249: "\u2248\u0338", // \not\approx + 0x2262: "\u2261\u0338", // \not\equiv + 0x226D: "\u224D\u0338", // \not\asymp + 0x2274: "\u2272\u0338", // \not\lesssim + 0x2275: "\u2273\u0338", // \not\gtrsim + 0x2278: "\u2276\u0338", // \not\lessgtr + 0x2279: "\u2277\u0338", // \not\gtrless + 0x2284: "\u2282\u0338", // \not\subset + 0x2285: "\u2283\u0338", // \not\supset + 0x22E2: "\u2291\u0338", // \not\sqsubseteq + 0x22E3: "\u2292\u0338", // \not\sqsupseteq + + 0x2A0C: "\u222C\u222C", // quadruple integral + + 0x2033: "\u2032\u2032", // double prime + 0x2034: "\u2032\u2032\u2032", // triple prime + 0x2036: "\u2035\u2035", // double back prime + 0x2037: "\u2035\u2035\u2035", // trile back prime + 0x2057: "\u2032\u2032\u2032\u2032", // quadruple prime + 0x20DB: "...", // combining three dots above (only works with mover/under) + 0x20DC: "...." // combining four dots above (only works with mover/under) + }, + + REMAPACCENT: { + "\u2192":"\u20D7", + "\u2032":"'", + "\u2035":"`" + }, + REMAPACCENTUNDER: { + }, + + PLANE1MAP: [ + [0x1D400,0x1D419, 0x41, MML.VARIANT.BOLD], + [0x1D41A,0x1D433, 0x61, MML.VARIANT.BOLD], + [0x1D434,0x1D44D, 0x41, MML.VARIANT.ITALIC], + [0x1D44E,0x1D467, 0x61, MML.VARIANT.ITALIC], + [0x1D468,0x1D481, 0x41, MML.VARIANT.BOLDITALIC], + [0x1D482,0x1D49B, 0x61, MML.VARIANT.BOLDITALIC], + [0x1D49C,0x1D4B5, 0x41, MML.VARIANT.SCRIPT], +// [0x1D4B6,0x1D4CF, 0x61, MML.VARIANT.SCRIPT], +// [0x1D4D0,0x1D4E9, 0x41, MML.VARIANT.BOLDSCRIPT], +// [0x1D4EA,0x1D503, 0x61, MML.VARIANT.BOLDSCRIPT], + [0x1D504,0x1D51D, 0x41, MML.VARIANT.FRAKTUR], + [0x1D51E,0x1D537, 0x61, MML.VARIANT.FRAKTUR], + [0x1D538,0x1D551, 0x41, MML.VARIANT.DOUBLESTRUCK], +// [0x1D552,0x1D56B, 0x61, MML.VARIANT.DOUBLESTRUCK], + [0x1D56C,0x1D585, 0x41, MML.VARIANT.BOLDFRAKTUR], + [0x1D586,0x1D59F, 0x61, MML.VARIANT.BOLDFRAKTUR], + [0x1D5A0,0x1D5B9, 0x41, MML.VARIANT.SANSSERIF], + [0x1D5BA,0x1D5D3, 0x61, MML.VARIANT.SANSSERIF], + [0x1D5D4,0x1D5ED, 0x41, MML.VARIANT.BOLDSANSSERIF], + [0x1D5EE,0x1D607, 0x61, MML.VARIANT.BOLDSANSSERIF], + [0x1D608,0x1D621, 0x41, MML.VARIANT.SANSSERIFITALIC], + [0x1D622,0x1D63B, 0x61, MML.VARIANT.SANSSERIFITALIC], +// [0x1D63C,0x1D655, 0x41, MML.VARIANT.SANSSERIFBOLDITALIC], +// [0x1D656,0x1D66F, 0x61, MML.VARIANT.SANSSERIFBOLDITALIC], + [0x1D670,0x1D689, 0x41, MML.VARIANT.MONOSPACE], + [0x1D68A,0x1D6A3, 0x61, MML.VARIANT.MONOSPACE], + + [0x1D6A8,0x1D6C1, 0x391, MML.VARIANT.BOLD], +// [0x1D6C2,0x1D6E1, 0x3B1, MML.VARIANT.BOLD], + [0x1D6E2,0x1D6FA, 0x391, MML.VARIANT.ITALIC], + [0x1D6FC,0x1D71B, 0x3B1, MML.VARIANT.ITALIC], + [0x1D71C,0x1D734, 0x391, MML.VARIANT.BOLDITALIC], + [0x1D736,0x1D755, 0x3B1, MML.VARIANT.BOLDITALIC], + [0x1D756,0x1D76E, 0x391, MML.VARIANT.BOLDSANSSERIF], +// [0x1D770,0x1D78F, 0x3B1, MML.VARIANT.BOLDSANSSERIF], + [0x1D790,0x1D7A8, 0x391, MML.VARIANT.SANSSERIFBOLDITALIC], +// [0x1D7AA,0x1D7C9, 0x3B1, MML.VARIANT.SANSSERIFBOLDITALIC], + + [0x1D7CE,0x1D7D7, 0x30, MML.VARIANT.BOLD], +// [0x1D7D8,0x1D7E1, 0x30, MML.VARIANT.DOUBLESTRUCK], + [0x1D7E2,0x1D7EB, 0x30, MML.VARIANT.SANSSERIF], + [0x1D7EC,0x1D7F5, 0x30, MML.VARIANT.BOLDSANSSERIF], + [0x1D7F6,0x1D7FF, 0x30, MML.VARIANT.MONOSPACE] + ], + + REMAPGREEK: { + 0x391: 0x41, 0x392: 0x42, 0x395: 0x45, 0x396: 0x5A, + 0x397: 0x48, 0x399: 0x49, 0x39A: 0x4B, 0x39C: 0x4D, + 0x39D: 0x4E, 0x39F: 0x4F, 0x3A1: 0x50, 0x3A2: 0x398, + 0x3A4: 0x54, 0x3A7: 0x58, 0x3AA: 0x2207, + 0x3CA: 0x2202, 0x3CB: 0x3F5, 0x3CC: 0x3D1, 0x3CD: 0x3F0, + 0x3CE: 0x3D5, 0x3CF: 0x3F1, 0x3D0: 0x3D6 + }, + + RemapPlane1: function (n,variant) { + for (var i = 0, m = this.PLANE1MAP.length; i < m; i++) { + if (n < this.PLANE1MAP[i][0]) break; + if (n <= this.PLANE1MAP[i][1]) { + n = n - this.PLANE1MAP[i][0] + this.PLANE1MAP[i][2]; + if (this.REMAPGREEK[n]) {n = this.REMAPGREEK[n]} + variant = this.VARIANT[this.PLANE1MAP[i][3]]; + break; + } + } + return {n: n, variant: variant}; + }, + + DELIMITERS: { + 0x0028: // ( + { + dir: V, HW: STDHW, + stretch: {top: [0x239B,SIZE4], ext: [0x239C,SIZE4], bot: [0x239D,SIZE4]} + }, + 0x0029: // ) + { + dir: V, HW: STDHW, + stretch: {top:[0x239E,SIZE4], ext:[0x239F,SIZE4], bot:[0x23A0,SIZE4]} + }, + 0x002F: // / + { + dir: V, HW: STDHW + }, + 0x005B: // [ + { + dir: V, HW: STDHW, + stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} + }, + 0x005C: // \ + { + dir: V, HW: STDHW + }, + 0x005D: // ] + { + dir: V, HW: STDHW, + stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} + }, + 0x007B: // { + { + dir: V, HW: STDHW, + stretch: {top:[0x23A7,SIZE4], mid:[0x23A8,SIZE4], bot:[0x23A9,SIZE4], ext:[0x23AA,SIZE4]} + }, + 0x007C: // | + { + dir: V, HW: [[1000,MAIN]], stretch: {ext:[0x2223,MAIN]} + }, + 0x007D: // } + { + dir: V, HW: STDHW, + stretch: {top: [0x23AB,SIZE4], mid:[0x23AC,SIZE4], bot: [0x23AD,SIZE4], ext: [0x23AA,SIZE4]} + }, + 0x00AF: // macron + { + dir: H, HW: [[.59,MAIN]], stretch: {rep:[0xAF,MAIN]} + }, + 0x02C6: // wide hat + { + dir: H, HW: [[267+250,MAIN],[567+250,SIZE1],[1005+330,SIZE2],[1447+330,SIZE3],[1909,SIZE4]] + }, + 0x02DC: // wide tilde + { + dir: H, HW: [[333+250,MAIN],[555+250,SIZE1],[1000+330,SIZE2],[1443+330,SIZE3],[1887,SIZE4]] + }, + 0x2013: // en-dash + { + dir: H, HW: [[500,MAIN]], stretch: {rep:[0x2013,MAIN]} + }, + 0x2016: // vertical arrow extension + { + dir: V, HW: [[602,SIZE1],[1000,MAIN,null,0x2225]], stretch: {ext:[0x2225,MAIN]} + }, + 0x2190: // left arrow + { + dir: H, HW: [[1000,MAIN]], stretch: {left:[0x2190,MAIN], rep:ARROWREP, fuzz:300} + }, + 0x2191: // \uparrow + { + dir: V, HW: [[888,MAIN]], stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1]} + }, + 0x2192: // right arrow + { + dir: H, HW: [[1000,MAIN]], stretch: {rep:ARROWREP, right:[0x2192,MAIN], fuzz:300} + }, + 0x2193: // \downarrow + { + dir: V, HW: [[888,MAIN]], stretch: {ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x2194: // left-right arrow + { + dir: H, HW: [[1000,MAIN]], + stretch: {left:[0x2190,MAIN], rep:ARROWREP, right:[0x2192,MAIN], fuzz:300} + }, + 0x2195: // \updownarrow + { + dir: V, HW: [[1044,MAIN]], + stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x21D0: // left double arrow + { + dir: H, HW: [[1000,MAIN]], stretch: {left:[0x21D0,MAIN], rep:DARROWREP, fuzz:300} + }, + 0x21D1: // \Uparrow + { + dir: V, HW: [[888,MAIN]], stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1]} + }, + 0x21D2: // right double arrow + { + dir: H, HW: [[1000,MAIN]], stretch: {rep:DARROWREP, right:[0x21D2,MAIN], fuzz:300} + }, + 0x21D3: // \Downarrow + { + dir: V, HW: [[888,MAIN]], stretch: {ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} + }, + 0x21D4: // left-right double arrow + { + dir: H, HW: [[1000,MAIN]], + stretch: {left:[0x21D0,MAIN], rep:DARROWREP, right:[0x21D2,MAIN], fuzz:300} + }, + 0x21D5: // \Updownarrow + { + dir: V, HW: [[1044,MAIN]], + stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} + }, + 0x2212: // horizontal line + { + dir: H, HW: [[.5,MAIN,0,0x2013]], stretch: {rep:ARROWREP, fuzz:300} + }, + 0x221A: // \surd + { + dir: V, HW: STDHW, + stretch: {top:[0xE001,SIZE4], ext:[0xE000,SIZE4], bot:[0x23B7,SIZE4], fullExtenders:true} + }, + 0x2223: // \vert + { + dir: V, HW: [[1000,MAIN]], stretch: {ext:[0x2223,MAIN]} + }, + 0x2225: // \Vert + { + dir: V, HW: [[1000,MAIN]], stretch: {ext:[0x2225,MAIN]} + }, + 0x2308: // \lceil + { + dir: V, HW: STDHW, stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4]} + }, + 0x2309: // \rceil + { + dir: V, HW: STDHW, stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4]} + }, + 0x230A: // \lfloor + { + dir: V, HW: STDHW, stretch: {ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} + }, + 0x230B: // \rfloor + { + dir: V, HW: STDHW, stretch: {ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} + }, + 0x23AA: // \bracevert + { + dir: V, HW: [[320,SIZE4]], + stretch: {top:[0x23AA,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AA,SIZE4]} + }, + 0x23B0: // \lmoustache + { + dir: V, HW: [[989,MAIN]], + stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} + }, + 0x23B1: // \rmoustache + { + dir: V, HW: [[989,MAIN]], + stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} + }, + 0x23D0: // vertical line extension + { + dir: V, HW: [[602,SIZE1],[1000,MAIN,null,0x2223]], stretch: {ext:[0x2223,MAIN]} + }, + 0x23DE: // horizontal brace down + { + dir: H, HW: [], + stretch: {min:.9, left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]} + }, + 0x23DF: // horizontal brace up + { + dir: H, HW: [], + stretch: {min:.9, left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]} + }, + 0x27E8: // \langle + { + dir: V, HW: STDHW + }, + 0x27E9: // \rangle + { + dir: V, HW: STDHW + }, + 0x27EE: // \lgroup + { + dir: V, HW: [[989,MAIN]], + stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} + }, + 0x27EF: // \rgroup + { + dir: V, HW: [[989,MAIN]], + stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} + }, + 0x002D: {alias: 0x2212, dir:H}, // minus + 0x005E: {alias: 0x02C6, dir:H}, // wide hat + 0x005F: {alias: 0x2013, dir:H}, // low line + 0x007E: {alias: 0x02DC, dir:H}, // wide tilde + 0x02C9: {alias: 0x00AF, dir:H}, // macron + 0x0302: {alias: 0x02C6, dir:H}, // wide hat + 0x0303: {alias: 0x02DC, dir:H}, // wide tilde + 0x030C: {alias: 0x02C7, dir:H}, // wide caron + 0x0332: {alias: 0x2013, dir:H}, // combining low line + 0x2014: {alias: 0x2013, dir:H}, // em-dash + 0x2015: {alias: 0x2013, dir:H}, // horizontal line + 0x2017: {alias: 0x2013, dir:H}, // horizontal line + 0x203E: {alias: 0x00AF, dir:H}, // over line + 0x20D7: {alias: 0x2192, dir:H}, // combining over right arrow (vector arrow) + 0x2215: {alias: 0x002F, dir:V}, // division slash + 0x2329: {alias: 0x27E8, dir:V}, // langle + 0x232A: {alias: 0x27E9, dir:V}, // rangle + 0x23AF: {alias: 0x2013, dir:H}, // horizontal line extension + 0x2500: {alias: 0x2013, dir:H}, // horizontal line + 0x2758: {alias: 0x2223, dir:V}, // vertical separator + 0x3008: {alias: 0x27E8, dir:V}, // langle + 0x3009: {alias: 0x27E9, dir:V}, // rangle + 0xFE37: {alias: 0x23DE, dir:H}, // horizontal brace down + 0xFE38: {alias: 0x23DF, dir:H}, // horizontal brace up + + 0x003D: EXTRAH, // equal sign + 0x219E: EXTRAH, // left two-headed arrow + 0x21A0: EXTRAH, // right two-headed arrow + 0x21A4: EXTRAH, // left arrow from bar + 0x21A5: EXTRAV, // up arrow from bar + 0x21A6: EXTRAH, // right arrow from bar + 0x21A7: EXTRAV, // down arrow from bar + 0x21B0: EXTRAV, // up arrow with top leftwards + 0x21B1: EXTRAV, // up arrow with top right + 0x21BC: EXTRAH, // left harpoon with barb up + 0x21BD: EXTRAH, // left harpoon with barb down + 0x21BE: EXTRAV, // up harpoon with barb right + 0x21BF: EXTRAV, // up harpoon with barb left + 0x21C0: EXTRAH, // right harpoon with barb up + 0x21C1: EXTRAH, // right harpoon with barb down + 0x21C2: EXTRAV, // down harpoon with barb right + 0x21C3: EXTRAV, // down harpoon with barb left + 0x21DA: EXTRAH, // left triple arrow + 0x21DB: EXTRAH, // right triple arrow + 0x23B4: EXTRAH, // top square bracket + 0x23B5: EXTRAH, // bottom square bracket + 0x23DC: EXTRAH, // top paren + 0x23DD: EXTRAH, // bottom paren + 0x23E0: EXTRAH, // top tortoise shell + 0x23E1: EXTRAH, // bottom tortoise shell + 0x2906: EXTRAH, // leftwards double arrow from bar + 0x2907: EXTRAH, // rightwards double arrow from bar + 0x294E: EXTRAH, // left barb up right barb up harpoon + 0x294F: EXTRAV, // up barb right down barb right harpoon + 0x2950: EXTRAH, // left barb dow right barb down harpoon + 0x2951: EXTRAV, // up barb left down barb left harpoon + 0x295A: EXTRAH, // leftwards harpoon with barb up from bar + 0x295B: EXTRAH, // rightwards harpoon with barb up from bar + 0x295C: EXTRAV, // up harpoon with barb right from bar + 0x295D: EXTRAV, // down harpoon with barb right from bar + 0x295E: EXTRAH, // leftwards harpoon with barb down from bar + 0x295F: EXTRAH, // rightwards harpoon with barb down from bar + 0x2960: EXTRAV, // up harpoon with barb left from bar + 0x2961: EXTRAV, // down harpoon with barb left from bar + 0x2312: {alias: 0x23DC, dir:H}, // arc + 0x2322: {alias: 0x23DC, dir:H}, // frown + 0x2323: {alias: 0x23DD, dir:H}, // smile + 0x27F5: {alias: 0x2190, dir:H}, // long left arrow + 0x27F6: {alias: 0x2192, dir:H}, // long right arrow + 0x27F7: {alias: 0x2194, dir:H}, // long left-right arrow + 0x27F8: {alias: 0x21D0, dir:H}, // long left double arrow + 0x27F9: {alias: 0x21D2, dir:H}, // long right double arrow + 0x27FA: {alias: 0x21D4, dir:H}, // long left-right double arrow + 0x27FB: {alias: 0x21A4, dir:H}, // long left arrow from bar + 0x27FC: {alias: 0x21A6, dir:H}, // long right arrow from bar + 0x27FD: {alias: 0x2906, dir:H}, // long left double arrow from bar + 0x27FE: {alias: 0x2907, dir:H} // long right double arrow from bar + } + } + }); + + + SVG.FONTDATA.FONTS['MathJax_Main'] = { + directory: 'Main/Regular', + family: 'MathJax_Main', + id: 'MJMAIN', + skew: { + 0x131: 0.0278, + 0x237: 0.0833, + 0x2113: 0.111, + 0x2118: 0.111, + 0x2202: 0.0833 + }, + Ranges: [ + [0x20,0x7F,"BasicLatin"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x2A00,0x2AFF,"SuppMathOperators"] + ], + + // SPACE + 0x20: [0,0,250,0,0,''], + + // LEFT PARENTHESIS + 0x28: [750,250,389,94,333,'94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250'], + + // RIGHT PARENTHESIS + 0x29: [750,250,389,55,294,'60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749'], + + // PLUS SIGN + 0x2B: [583,82,778,56,722,'56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250'], + + // COMMA + 0x2C: [121,195,278,78,210,'78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17'], + + // FULL STOP + 0x2E: [120,0,278,78,199,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], + + // SOLIDUS + 0x2F: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], + + // DIGIT ZERO + 0x30: [666,22,500,39,460,'96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597'], + + // DIGIT ONE + 0x31: [666,0,500,83,427,'213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578'], + + // DIGIT TWO + 0x32: [666,0,500,50,449,'109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429'], + + // DIGIT THREE + 0x33: [665,22,500,42,457,'127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463'], + + // DIGIT FOUR + 0x34: [677,0,500,28,471,'462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293'], + + // DIGIT FIVE + 0x35: [666,22,500,50,449,'164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157'], + + // DIGIT SIX + 0x36: [666,22,500,41,456,'42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397'], + + // DIGIT SEVEN + 0x37: [676,22,500,55,485,'55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458'], + + // DIGIT EIGHT + 0x38: [666,22,500,43,457,'70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21'], + + // DIGIT NINE + 0x39: [666,22,500,42,456,'352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248'], + + // COLON + 0x3A: [430,0,278,78,199,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60'], + + // SEMICOLON + 0x3B: [430,194,278,78,202,'78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 85 94 103T137 121Q202 121 202 8Q202 -44 183 -94T144 -169T118 -194Q115 -194 106 -186T95 -174Q94 -171 107 -155T137 -107T160 -38Q161 -32 162 -22T165 -4T165 4Q165 5 161 4T142 0Q110 0 94 18T78 60'], + + // LESS-THAN SIGN + 0x3C: [540,40,778,83,695,'694 -11T694 -19T688 -33T678 -40Q671 -40 524 29T234 166L90 235Q83 240 83 250Q83 261 91 266Q664 540 678 540Q681 540 687 534T694 519T687 505Q686 504 417 376L151 250L417 124Q686 -4 687 -5Q694 -11 694 -19'], + + // EQUALS SIGN + 0x3D: [367,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153'], + + // GREATER-THAN SIGN + 0x3E: [540,40,778,82,694,'84 520Q84 528 88 533T96 539L99 540Q106 540 253 471T544 334L687 265Q694 260 694 250T687 235Q685 233 395 96L107 -40H101Q83 -38 83 -20Q83 -19 83 -17Q82 -10 98 -1Q117 9 248 71Q326 108 378 132L626 250L378 368Q90 504 86 509Q84 513 84 520'], + + // LEFT SQUARE BRACKET + 0x5B: [750,250,278,118,255,'118 -250V750H255V710H158V-210H255V-250H118'], + + // REVERSE SOLIDUS + 0x5C: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], + + // RIGHT SQUARE BRACKET + 0x5D: [750,250,278,22,159,'22 710V750H159V-250H22V-210H119V710H22'], + + // CIRCUMFLEX ACCENT + 0x5E: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], + + // LATIN SMALL LETTER A + 0x61: [448,11,500,34,493,'137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106'], + + // LATIN SMALL LETTER B + 0x62: [695,11,556,20,522,'307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98'], + + // LATIN SMALL LETTER C + 0x63: [448,12,444,34,415,'370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320'], + + // LATIN SMALL LETTER D + 0x64: [695,11,556,34,535,'376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342'], + + // LATIN SMALL LETTER E + 0x65: [448,11,444,28,415,'28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275'], + + // LATIN SMALL LETTER F + 0x66: [705,0,306,26,372,'273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273'], + + // LATIN SMALL LETTER G + 0x67: [453,206,500,29,485,'329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75'], + + // LATIN SMALL LETTER H + 0x68: [695,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER I + 0x69: [669,0,278,26,255,'69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247'], + + // LATIN SMALL LETTER J + 0x6A: [669,205,306,-55,218,'98 609Q98 637 116 653T160 669Q183 667 200 652T217 609Q217 579 200 564T158 549Q133 549 116 564T98 609ZM28 -163Q58 -168 64 -168Q124 -168 135 -77Q137 -65 137 141T136 353Q132 371 120 377T72 385H52V408Q52 431 54 431L58 432Q62 432 70 432T87 433T108 434T133 436Q151 437 171 438T202 441T214 442H218V184Q217 -36 217 -59T211 -98Q195 -145 153 -175T58 -205Q9 -205 -23 -179T-55 -117Q-55 -94 -40 -79T-2 -64T36 -79T52 -118Q52 -143 28 -163'], + + // LATIN SMALL LETTER K + 0x6B: [695,0,528,20,511,'36 46H50Q89 46 97 60V68Q97 77 97 91T97 124T98 167T98 217T98 272T98 329Q98 366 98 407T98 482T98 542T97 586T97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V463L180 233L240 287Q300 341 304 347Q310 356 310 364Q310 383 289 385H284V431H293Q308 428 412 428Q475 428 484 431H489V385H476Q407 380 360 341Q286 278 286 274Q286 273 349 181T420 79Q434 60 451 53T500 46H511V0H505Q496 3 418 3Q322 3 307 0H299V46H306Q330 48 330 65Q330 72 326 79Q323 84 276 153T228 222L176 176V120V84Q176 65 178 59T189 49Q210 46 238 46H254V0H246Q231 3 137 3T28 0H20V46H36'], + + // LATIN SMALL LETTER L + 0x6C: [695,0,278,26,263,'42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42'], + + // LATIN SMALL LETTER M + 0x6D: [443,0,833,25,819,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER N + 0x6E: [443,0,556,25,542,'41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41'], + + // LATIN SMALL LETTER O + 0x6F: [448,10,500,28,471,'28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30'], + + // LATIN SMALL LETTER P + 0x70: [443,194,556,20,522,'36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218'], + + // LATIN SMALL LETTER Q + 0x71: [442,194,528,33,535,'33 218Q33 308 95 374T236 441H246Q330 441 381 372L387 364Q388 364 404 403L420 442H457V156Q457 -132 458 -134Q462 -142 470 -145Q491 -148 519 -148H535V-194H527L504 -193Q480 -192 453 -192T415 -191Q312 -191 303 -194H295V-148H311Q339 -148 360 -145Q369 -141 371 -135T373 -106V-41V49Q313 -11 236 -11Q154 -11 94 53T33 218ZM376 300Q346 389 278 401Q275 401 269 401T261 402Q211 400 171 350T131 214Q131 137 165 82T253 27Q296 27 328 54T376 118V300'], + + // LATIN SMALL LETTER R + 0x72: [443,0,392,20,364,'36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36'], + + // LATIN SMALL LETTER S + 0x73: [448,11,394,33,359,'295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316'], + + // LATIN SMALL LETTER T + 0x74: [615,10,389,18,333,'27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27'], + + // LATIN SMALL LETTER U + 0x75: [443,11,556,25,542,'383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58'], + + // LATIN SMALL LETTER V + 0x76: [431,11,528,19,508,'338 431Q344 429 422 429Q479 429 503 431H508V385H497Q439 381 423 345Q421 341 356 172T288 -2Q283 -11 263 -11Q244 -11 239 -2Q99 359 98 364Q93 378 82 381T43 385H19V431H25L33 430Q41 430 53 430T79 430T104 429T122 428Q217 428 232 431H240V385H226Q187 384 184 370Q184 366 235 234L286 102L377 341V349Q377 363 367 372T349 383T335 385H331V431H338'], + + // LATIN SMALL LETTER W + 0x77: [431,11,722,18,703,'90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368'], + + // LATIN SMALL LETTER X + 0x78: [431,0,528,11,516,'201 0Q189 3 102 3Q26 3 17 0H11V46H25Q48 47 67 52T96 61T121 78T139 96T160 122T180 150L226 210L168 288Q159 301 149 315T133 336T122 351T113 363T107 370T100 376T94 379T88 381T80 383Q74 383 44 385H16V431H23Q59 429 126 429Q219 429 229 431H237V385Q201 381 201 369Q201 367 211 353T239 315T268 274L272 270L297 304Q329 345 329 358Q329 364 327 369T322 376T317 380T310 384L307 385H302V431H309Q324 428 408 428Q487 428 493 431H499V385H492Q443 385 411 368Q394 360 377 341T312 257L296 236L358 151Q424 61 429 57T446 50Q464 46 499 46H516V0H510H502Q494 1 482 1T457 2T432 2T414 3Q403 3 377 3T327 1L304 0H295V46H298Q309 46 320 51T331 63Q331 65 291 120L250 175Q249 174 219 133T185 88Q181 83 181 74Q181 63 188 55T206 46Q208 46 208 23V0H201'], + + // LATIN SMALL LETTER Y + 0x79: [431,204,528,19,508,'69 -66Q91 -66 104 -80T118 -116Q118 -134 109 -145T91 -160Q84 -163 97 -166Q104 -168 111 -168Q131 -168 148 -159T175 -138T197 -106T213 -75T225 -43L242 0L170 183Q150 233 125 297Q101 358 96 368T80 381Q79 382 78 382Q66 385 34 385H19V431H26L46 430Q65 430 88 429T122 428Q129 428 142 428T171 429T200 430T224 430L233 431H241V385H232Q183 385 185 366L286 112Q286 113 332 227L376 341V350Q376 365 366 373T348 383T334 385H331V431H337H344Q351 431 361 431T382 430T405 429T422 429Q477 429 503 431H508V385H497Q441 380 422 345Q420 343 378 235T289 9T227 -131Q180 -204 113 -204Q69 -204 44 -177T19 -116Q19 -89 35 -78T69 -66'], + + // LATIN SMALL LETTER Z + 0x7A: [431,0,444,28,401,'42 263Q44 270 48 345T53 423V431H393Q399 425 399 415Q399 403 398 402L381 378Q364 355 331 309T265 220L134 41L182 40H206Q254 40 283 46T331 77Q352 105 359 185L361 201Q361 202 381 202H401V196Q401 195 393 103T384 6V0H209L34 1L31 3Q28 8 28 17Q28 30 29 31T160 210T294 394H236Q169 393 152 388Q127 382 113 367Q89 344 82 264V255H42V263'], + + // LEFT CURLY BRACKET + 0x7B: [750,250,500,65,434,'434 -231Q434 -244 428 -250H410Q281 -250 230 -184Q225 -177 222 -172T217 -161T213 -148T211 -133T210 -111T209 -84T209 -47T209 0Q209 21 209 53Q208 142 204 153Q203 154 203 155Q189 191 153 211T82 231Q71 231 68 234T65 250T68 266T82 269Q116 269 152 289T203 345Q208 356 208 377T209 529V579Q209 634 215 656T244 698Q270 724 324 740Q361 748 377 749Q379 749 390 749T408 750H428Q434 744 434 732Q434 719 431 716Q429 713 415 713Q362 710 332 689T296 647Q291 634 291 499V417Q291 370 288 353T271 314Q240 271 184 255L170 250L184 245Q202 239 220 230T262 196T290 137Q291 131 291 1Q291 -134 296 -147Q306 -174 339 -192T415 -213Q429 -213 431 -216Q434 -219 434 -231'], + + // VERTICAL LINE + 0x7C: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], + + // RIGHT CURLY BRACKET + 0x7D: [750,250,500,65,434,'65 731Q65 745 68 747T88 750Q171 750 216 725T279 670Q288 649 289 635T291 501Q292 362 293 357Q306 312 345 291T417 269Q428 269 431 266T434 250T431 234T417 231Q380 231 345 210T298 157Q293 143 292 121T291 -28V-79Q291 -134 285 -156T256 -198Q202 -250 89 -250Q71 -250 68 -247T65 -230Q65 -224 65 -223T66 -218T69 -214T77 -213Q91 -213 108 -210T146 -200T183 -177T207 -139Q208 -134 209 3L210 139Q223 196 280 230Q315 247 330 250Q305 257 280 270Q225 304 212 352L210 362L209 498Q208 635 207 640Q195 680 154 696T77 713Q68 713 67 716T65 731'], + + // DIAERESIS + 0xA8: [669,-554,500,95,405,'95 612Q95 633 112 651T153 669T193 652T210 612Q210 588 194 571T152 554L127 560Q95 577 95 612ZM289 611Q289 634 304 649T335 668Q336 668 340 668T346 669Q369 669 386 652T404 612T387 572T346 554Q323 554 306 570T289 611'], + + // NOT SIGN + 0xAC: [356,-89,667,56,611,'56 323T56 336T70 356H596Q603 353 611 343V102Q598 89 591 89Q587 89 584 90T579 94T575 98T572 102L571 209V316H70Q56 323 56 336'], + + // MACRON + 0xAF: [590,-544,500,69,430,'69 544V590H430V544H69'], + + // DEGREE SIGN + 0xB0: [715,-542,500,147,352,'147 628Q147 669 179 692T244 715Q298 715 325 689T352 629Q352 592 323 567T249 542Q202 542 175 567T147 628ZM313 628Q313 660 300 669T259 678H253Q248 678 242 678T234 679Q217 679 207 674T192 659T188 644T187 629Q187 600 198 590Q210 579 250 579H265Q279 579 288 581T305 595T313 628'], + + // PLUS-MINUS SIGN + 0xB1: [666,0,778,56,722,'56 320T56 333T70 353H369V502Q369 651 371 655Q376 666 388 666Q402 666 405 654T409 596V500V353H707Q722 345 722 333Q722 320 707 313H409V40H707Q722 32 722 20T707 0H70Q56 7 56 20T70 40H369V313H70Q56 320 56 333'], + + // ACUTE ACCENT + 0xB4: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], + + // MULTIPLICATION SIGN + 0xD7: [491,-9,778,147,630,'630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29'], + + // DIVISION SIGN + 0xF7: [537,36,778,56,721,'318 466Q318 500 339 518T386 537Q418 537 438 517T458 466Q458 438 440 417T388 396Q355 396 337 417T318 466ZM56 237T56 250T70 270H706Q721 262 721 250T706 230H70Q56 237 56 250ZM318 34Q318 68 339 86T386 105Q418 105 438 85T458 34Q458 6 440 -15T388 -36Q355 -36 337 -15T318 34'], + + // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C6: [694,-531,500,112,387,'112 560L249 694L257 686Q387 562 387 560L361 531Q359 532 303 581L250 627L195 580Q182 569 169 557T148 538L140 532Q138 530 125 546L112 560'], + + // CARON + 0x2C7: [644,-513,500,114,385,'114 611L127 630L136 644Q138 644 193 612Q248 581 250 581L306 612Q361 644 363 644L385 611L318 562L249 513L114 611'], + + // MODIFIER LETTER MACRON + 0x2C9: [590,-544,500,69,430,'69 544V590H430V544H69'], + + // MODIFIER LETTER ACUTE ACCENT + 0x2CA: [699,-505,500,203,393,'349 699Q367 699 380 686T393 656Q393 651 392 647T387 637T380 627T367 616T351 602T330 585T303 563L232 505L217 519Q203 533 204 533Q204 534 229 567T282 636T313 678L316 681Q318 684 321 686T328 692T337 697T349 699'], + + // MODIFIER LETTER GRAVE ACCENT + 0x2CB: [699,-505,500,106,296,'106 655Q106 671 119 685T150 699Q166 699 177 688Q190 671 222 629T275 561T295 533T282 519L267 505L196 563Q119 626 113 634Q106 643 106 655'], + + // BREVE + 0x2D8: [694,-515,500,92,407,'250 515Q179 515 138 565T92 683V694H129V689Q129 688 129 683T130 675Q137 631 169 599T248 567Q304 567 337 608T370 689V694H407V683Q403 617 361 566T250 515'], + + // DOT ABOVE + 0x2D9: [669,-549,500,190,309,'190 609Q190 637 208 653T252 669Q275 667 292 652T309 609Q309 579 292 564T250 549Q225 549 208 564T190 609'], + + // SMALL TILDE + 0x2DC: [668,-565,500,83,416,'179 601Q164 601 151 595T131 584T111 565L97 577L83 588Q83 589 95 603T121 633T142 654Q165 668 187 668T253 650T320 632Q335 632 348 638T368 649T388 668L402 656L416 645Q375 586 344 572Q330 565 313 565Q292 565 248 583T179 601'], + + // EN DASH + 0x2013: [285,-248,500,0,499,'0 248V285H499V248H0'], + + // EM DASH + 0x2014: [285,-248,1000,0,999,'0 248V285H999V248H0'], + + // LEFT SINGLE QUOTATION MARK + 0x2018: [694,-379,278,64,199,'64 494Q64 548 86 597T131 670T160 694Q163 694 172 685T182 672Q182 669 170 656T144 625T116 573T101 501Q101 489 102 489T107 491T120 497T138 500Q163 500 180 483T198 440T181 397T139 379Q110 379 87 405T64 494'], + + // RIGHT SINGLE QUOTATION MARK + 0x2019: [694,-379,278,78,212,'78 634Q78 659 95 676T138 694Q166 694 189 668T212 579Q212 525 190 476T146 403T118 379Q114 379 105 388T95 401Q95 404 107 417T133 448T161 500T176 572Q176 584 175 584T170 581T157 576T139 573Q114 573 96 590T78 634'], + + // LEFT DOUBLE QUOTATION MARK + 0x201C: [694,-379,500,128,466,'128 494Q128 528 137 560T158 616T185 658T209 685T223 694T236 685T245 670Q244 668 231 654T204 622T178 571T164 501Q164 489 165 489T170 491T183 497T201 500Q226 500 244 483T262 440T245 397T202 379Q173 379 151 405T128 494ZM332 494Q332 528 341 560T362 616T389 658T413 685T427 694T439 685T449 672Q449 669 437 656T411 625T383 573T368 501Q368 489 369 489T374 491T387 497T405 500Q430 500 448 483T466 440T449 397T406 379Q377 379 355 405T332 494'], + + // RIGHT DOUBLE QUOTATION MARK + 0x201D: [694,-379,500,34,372,'34 634Q34 659 50 676T93 694Q121 694 144 668T168 579Q168 525 146 476T101 403T73 379Q69 379 60 388T50 401Q50 404 62 417T88 448T116 500T131 572Q131 584 130 584T125 581T112 576T94 573Q69 573 52 590T34 634ZM238 634Q238 659 254 676T297 694Q325 694 348 668T372 579Q372 525 350 476T305 403T277 379Q273 379 264 388T254 401Q254 404 266 417T292 448T320 500T335 572Q335 584 334 584T329 581T316 576T298 573Q273 573 256 590T238 634'], + + // DAGGER + 0x2020: [705,216,444,54,389,'182 675Q195 705 222 705Q234 705 243 700T253 691T263 675L262 655Q262 620 252 549T240 454V449Q250 451 288 461T346 472T377 461T389 431Q389 417 379 404T346 390Q327 390 288 401T243 412H240V405Q245 367 250 339T258 301T261 274T263 225Q263 124 255 -41T239 -213Q236 -216 222 -216H217Q206 -216 204 -212T200 -186Q199 -175 199 -168Q181 38 181 225Q181 265 182 280T191 327T204 405V412H201Q196 412 157 401T98 390Q76 390 66 403T55 431T65 458T98 472Q116 472 155 462T205 449Q204 452 204 460T201 490T193 547Q182 619 182 655V675'], + + // DOUBLE DAGGER + 0x2021: [705,205,444,54,389,'181 658Q181 705 222 705T263 658Q263 633 252 572T240 497Q240 496 241 496Q243 496 285 507T345 519Q365 519 376 508T388 478Q388 466 384 458T375 447T361 438H344Q318 438 282 448T241 459Q240 458 240 456Q240 449 251 384T263 297Q263 278 255 267T238 253T222 250T206 252T190 266T181 297Q181 323 192 383T204 458Q204 459 203 459Q198 459 162 449T101 438H84Q74 443 70 446T61 457T56 478Q56 497 67 508T99 519Q117 519 159 508T203 496Q204 496 204 499Q204 507 193 572T181 658ZM181 202Q181 249 222 249T263 202Q263 185 259 161T249 103T240 48V41H243Q248 41 287 52T346 63T377 52T389 22Q389 8 379 -5T346 -19Q327 -19 288 -8T243 3H240V-4Q243 -24 249 -58T259 -117T263 -158Q263 -177 255 -188T238 -202T222 -205T206 -203T190 -189T181 -158Q181 -141 185 -117T195 -59T204 -4V3H201Q196 3 157 -8T98 -19Q76 -19 66 -6T55 22T65 49T98 63Q117 63 156 52T201 41H204V48Q201 68 195 102T185 161T181 202'], + + // HORIZONTAL ELLIPSIS + 0x2026: [120,0,1172,78,1093,'78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60ZM525 60Q525 84 542 102T585 120Q609 120 627 104T646 61Q646 36 629 18T586 0T543 17T525 60ZM972 60Q972 84 989 102T1032 120Q1056 120 1074 104T1093 61Q1093 36 1076 18T1033 0T990 17T972 60'], + + // PRIME + 0x2032: [560,-43,275,30,262,'79 43Q73 43 52 49T30 61Q30 68 85 293T146 528Q161 560 198 560Q218 560 240 545T262 501Q262 496 260 486Q259 479 173 263T84 45T79 43'], + + // COMBINING RIGHT ARROW ABOVE + 0x20D7: [714,-516,0,-471,-29,'-123 694Q-123 702 -118 708T-103 714Q-93 714 -88 706T-80 687T-67 660T-40 633Q-29 626 -29 615Q-29 606 -36 600T-53 590T-83 571T-121 531Q-135 516 -143 516T-157 522T-163 536T-152 559T-129 584T-116 595H-287L-458 596Q-459 597 -461 599T-466 602T-469 607T-471 615Q-471 622 -458 635H-99Q-123 673 -123 694'], + + // LEFTWARDS ARROW + 0x2190: [511,11,1000,55,944,'944 261T944 250T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H929Q944 261 944 250'], + + // UPWARDS ARROW + 0x2191: [694,193,500,17,483,'27 414Q17 414 17 433Q17 437 17 439T17 444T19 447T20 450T22 452T26 453T30 454T36 456Q80 467 120 494T180 549Q227 607 238 678Q240 694 251 694Q259 694 261 684Q261 677 265 659T284 608T320 549Q340 525 363 507T405 479T440 463T467 455T479 451Q483 447 483 433Q483 413 472 413Q467 413 458 416Q342 448 277 545L270 555V-179Q262 -193 252 -193H250H248Q236 -193 230 -179V555L223 545Q192 499 146 467T70 424T27 414'], + + // RIGHTWARDS ARROW + 0x2192: [511,11,1000,56,944,'56 237T56 250T70 270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H70Q56 237 56 250'], + + // DOWNWARDS ARROW + 0x2193: [694,194,500,17,483,'473 86Q483 86 483 67Q483 63 483 61T483 56T481 53T480 50T478 48T474 47T470 46T464 44Q428 35 391 14T316 -55T264 -168Q264 -170 263 -173T262 -180T261 -184Q259 -194 251 -194Q242 -194 238 -176T221 -121T180 -49Q169 -34 155 -21T125 2T95 20T67 33T44 42T27 47L21 49Q17 53 17 67Q17 87 28 87Q33 87 42 84Q158 52 223 -45L230 -55V312Q230 391 230 482T229 591Q229 662 231 676T243 693Q244 694 251 694Q264 692 270 679V-55L277 -45Q307 1 353 33T430 76T473 86'], + + // LEFT RIGHT ARROW + 0x2194: [511,11,1000,55,944,'263 479Q267 501 271 506T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H835Q729 349 696 475Q691 493 691 500Q691 511 711 511Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q144 292 194 349T263 479'], + + // UP DOWN ARROW + 0x2195: [772,272,500,17,483,'27 492Q17 492 17 511Q17 515 17 517T17 522T19 525T20 528T22 530T26 531T30 532T36 534Q80 545 120 572T180 627Q210 664 223 701T238 755T250 772T261 762Q261 757 264 741T282 691T319 628Q352 589 390 566T454 536L479 529Q483 525 483 511Q483 491 472 491Q467 491 458 494Q342 526 277 623L270 633V-133L277 -123Q307 -77 353 -45T430 -2T473 8Q483 8 483 -11Q483 -15 483 -17T483 -22T481 -25T480 -28T478 -30T474 -31T470 -32T464 -34Q407 -49 364 -84T300 -157T270 -223T261 -262Q259 -272 250 -272Q242 -272 239 -255T223 -201T180 -127Q169 -112 155 -99T125 -76T95 -58T67 -45T44 -36T27 -31L21 -29Q17 -25 17 -11Q17 9 28 9Q33 9 42 6Q158 -26 223 -123L230 -133V633L223 623Q192 577 146 545T70 502T27 492'], + + // NORTH WEST ARROW + 0x2196: [720,195,1000,29,944,'204 662Q257 662 301 676T369 705T394 720Q398 720 407 711T417 697Q417 688 389 671T310 639T212 623Q176 623 153 628Q151 628 221 557T546 232Q942 -164 943 -168Q944 -170 944 -174Q944 -182 938 -188T924 -195Q922 -195 916 -193Q912 -191 517 204Q440 281 326 394T166 553L121 598Q126 589 126 541Q126 438 70 349Q59 332 52 332Q48 332 39 341T29 355Q29 358 38 372T57 407T77 464T86 545Q86 583 78 614T63 663T55 683Q55 693 65 693Q73 693 82 688Q136 662 204 662'], + + // NORTH EAST ARROW + 0x2197: [720,195,1000,55,971,'582 697Q582 701 591 710T605 720Q607 720 630 706T697 677T795 662Q830 662 863 670T914 686T934 694Q942 694 944 685Q944 680 936 663T921 615T913 545Q913 490 927 446T956 379T970 355Q970 351 961 342T947 332Q940 332 929 349Q874 436 874 541Q874 590 878 598L832 553Q787 508 673 395T482 204Q87 -191 83 -193Q77 -195 75 -195Q67 -195 61 -189T55 -174Q55 -170 56 -168Q58 -164 453 232Q707 487 777 557T847 628Q824 623 787 623Q689 623 599 679Q582 690 582 697'], + + // SOUTH EAST ARROW + 0x2198: [695,220,1000,55,970,'55 675Q55 683 60 689T75 695Q77 695 83 693Q87 691 482 296Q532 246 605 174T717 62T799 -20T859 -80T878 -97Q874 -93 874 -41Q874 64 929 151Q940 168 947 168Q951 168 960 159T970 145Q970 143 956 121T928 54T913 -45Q913 -83 920 -114T936 -163T944 -185Q942 -194 934 -194Q932 -194 914 -186T864 -170T795 -162Q743 -162 698 -176T630 -205T605 -220Q601 -220 592 -211T582 -197Q582 -187 611 -170T691 -138T787 -123Q824 -123 847 -128Q848 -128 778 -57T453 268Q58 664 56 668Q55 670 55 675'], + + // SOUTH WEST ARROW + 0x2199: [695,220,1000,29,944,'126 -41Q126 -92 121 -97Q121 -98 139 -80T200 -20T281 61T394 173T517 296Q909 690 916 693Q922 695 924 695Q932 695 938 689T944 674Q944 670 943 668Q942 664 546 268Q292 13 222 -57T153 -128Q176 -123 212 -123Q310 -123 400 -179Q417 -190 417 -197Q417 -201 408 -210T394 -220Q392 -220 369 -206T302 -177T204 -162Q131 -162 67 -194Q63 -195 59 -192T55 -183Q55 -180 62 -163T78 -115T86 -45Q86 10 72 54T44 120T29 145Q29 149 38 158T52 168Q59 168 70 151Q126 62 126 -41'], + + // RIGHTWARDS ARROW FROM BAR + 0x21A6: [511,11,1000,54,944,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H95V155'], + + // LEFTWARDS ARROW WITH HOOK + 0x21A9: [511,11,1126,55,1070,'903 424T903 444T929 464Q976 464 1023 434T1070 347Q1070 316 1055 292T1016 256T971 237T929 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270H926Q929 270 941 271T960 275T978 280T998 290T1015 307Q1030 325 1030 347Q1030 355 1027 364T1014 387T983 411T929 424H928Q903 424 903 444'], + + // RIGHTWARDS ARROW WITH HOOK + 0x21AA: [511,11,1126,55,1070,'55 347Q55 380 72 404T113 441T159 458T197 464Q222 464 222 444Q222 429 204 426T157 417T110 387Q95 369 95 347Q95 339 98 330T111 307T142 283T196 270H961Q845 357 818 493Q818 494 818 496T817 499Q817 511 834 511H837Q846 511 849 510T855 506T858 497T861 481T869 456Q891 389 942 336T1061 261Q1070 258 1070 250Q1070 244 1065 241T1041 231T1003 212Q962 186 932 152T887 85T866 35T858 4Q856 -6 853 -8T837 -11Q817 -11 817 0Q817 7 822 25Q854 151 961 230H196Q149 230 102 260T55 347'], + + // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BC: [511,-230,1000,55,944,'62 230Q56 236 55 244Q55 252 57 255T69 265Q114 292 151 326T208 391T243 448T265 491T273 509Q276 511 288 511Q304 511 306 505Q309 501 303 484Q293 456 279 430T251 383T223 344T196 313T173 291T156 276L148 270H929Q944 261 944 250T929 230H62'], + + // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21BD: [270,11,1000,55,944,'55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], + + // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C0: [511,-230,1000,56,945,'691 500Q691 511 711 511Q720 511 723 510T730 504T735 490T746 464T768 425Q796 378 835 339T897 285T933 263Q941 258 942 256T944 245T937 230H70Q56 237 56 250T70 270H852Q802 308 762 364T707 455T691 500'], + + // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C1: [270,11,1000,56,944,'56 237T56 250T70 270H937Q944 263 944 256Q944 251 944 250T943 246T940 242T933 238Q794 153 734 7Q729 -7 726 -9T711 -11Q695 -11 693 -5Q690 -1 696 16Q721 84 763 139T852 230H70Q56 237 56 250'], + + // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CC: [671,11,1000,55,945,'691 660Q691 671 711 671Q720 671 723 670T730 664T735 650T746 624T768 585Q797 538 836 499T897 445T933 423Q941 418 942 416T944 405T937 390H70Q56 397 56 410T70 430H852Q802 468 762 524T707 615T691 660ZM55 256Q56 264 62 270H929Q944 261 944 250T929 230H148Q149 229 165 215T196 185T231 145T270 87T303 16Q309 -1 306 -5Q304 -11 288 -11Q279 -11 276 -10T269 -4T264 10T253 36T231 75Q172 173 69 235Q59 242 57 245T55 256'], + + // LEFTWARDS DOUBLE ARROW + 0x21D0: [525,24,1000,56,945,'944 153Q944 140 929 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H929Q944 359 944 347Q944 336 930 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173H930Q931 172 933 171T936 169T938 167T941 164T942 162T943 158T944 153'], + + // UPWARDS DOUBLE ARROW + 0x21D1: [694,194,611,31,579,'228 -179Q227 -180 226 -182T223 -186T221 -189T218 -192T214 -193T208 -194Q196 -194 189 -181L188 125V430L176 419Q122 369 59 338Q46 330 40 330Q38 330 31 337V350Q31 362 33 365T46 374Q60 381 77 390T128 426T190 484T247 567T292 677Q295 688 298 692Q302 694 305 694Q313 694 318 677Q334 619 363 568T420 485T481 427T532 391T564 374Q575 368 577 365T579 350V337Q572 330 570 330Q564 330 551 338Q487 370 435 419L423 430L422 125V-181Q409 -194 401 -194Q397 -194 394 -193T388 -189T385 -184T382 -180V-177V475L373 487Q331 541 305 602Q304 601 300 591T290 571T278 548T260 519T238 488L229 476L228 148V-179'], + + // RIGHTWARDS DOUBLE ARROW + 0x21D2: [525,24,1000,56,944,'580 514Q580 525 596 525Q601 525 604 525T609 525T613 524T615 523T617 520T619 517T622 512Q659 438 720 381T831 300T927 263Q944 258 944 250T935 239T898 228T840 204Q696 134 622 -12Q618 -21 615 -22T600 -24Q580 -24 580 -17Q580 -13 585 0Q620 69 671 123L681 133H70Q56 140 56 153Q56 168 72 173H725L735 181Q774 211 852 250Q851 251 834 259T789 283T735 319L725 327H72Q56 332 56 347Q56 360 70 367H681L671 377Q638 412 609 458T580 514'], + + // DOWNWARDS DOUBLE ARROW + 0x21D3: [694,194,611,31,579,'401 694Q412 694 422 681V375L423 70L435 81Q487 130 551 162Q564 170 570 170Q572 170 579 163V150Q579 138 577 135T564 126Q541 114 518 99T453 48T374 -46T318 -177Q313 -194 305 -194T293 -178T272 -119T225 -31Q158 70 46 126Q35 132 33 135T31 150V163Q38 170 40 170Q46 170 59 162Q122 131 176 81L188 70V375L189 681Q199 694 208 694Q219 694 228 680V352L229 25L238 12Q279 -42 305 -102Q344 -23 373 13L382 25V678Q387 692 401 694'], + + // LEFT RIGHT DOUBLE ARROW + 0x21D4: [526,25,1000,33,966,'308 524Q318 526 323 526Q340 526 340 514Q340 507 336 499Q326 476 314 454T292 417T274 391T260 374L255 368Q255 367 500 367Q744 367 744 368L739 374Q734 379 726 390T707 416T685 453T663 499Q658 511 658 515Q658 525 680 525Q687 524 690 523T695 519T701 507Q766 359 902 287Q921 276 939 269T961 259T966 250Q966 246 965 244T960 240T949 236T930 228T902 213Q763 137 701 -7Q697 -16 695 -19T690 -23T680 -25Q658 -25 658 -15Q658 -11 663 1Q673 24 685 46T707 83T725 109T739 126L744 132Q744 133 500 133Q255 133 255 132L260 126Q265 121 273 110T292 84T314 47T336 1Q341 -11 341 -15Q341 -25 319 -25Q312 -24 309 -23T304 -19T298 -7Q233 141 97 213Q83 221 70 227T51 235T41 239T35 243T34 250T35 256T40 261T51 265T70 273T97 287Q235 363 299 509Q305 522 308 524ZM792 319L783 327H216Q183 294 120 256L110 250L120 244Q173 212 207 181L216 173H783L792 181Q826 212 879 244L889 250L879 256Q826 288 792 319'], + + // UP DOWN DOUBLE ARROW + 0x21D5: [772,272,611,31,579,'290 755Q298 772 305 772T318 757T343 706T393 633Q431 588 473 558T545 515T579 497V484Q579 464 570 464Q564 464 550 470Q485 497 423 550L422 400V100L423 -50Q485 3 550 30Q565 36 570 36Q579 36 579 16V3Q575 -1 549 -12T480 -53T393 -132Q361 -172 342 -208T318 -258T305 -272T293 -258T268 -208T217 -132Q170 -80 128 -51T61 -12T31 3V16Q31 36 40 36Q46 36 61 30Q86 19 109 6T146 -18T173 -38T188 -50V550Q186 549 173 539T147 519T110 495T61 470Q46 464 40 464Q31 464 31 484V497Q34 500 63 513T135 557T217 633Q267 692 290 755ZM374 598Q363 610 351 625T332 651T316 676T305 695L294 676Q282 657 267 636T236 598L228 589V-89L236 -98Q247 -110 259 -125T278 -151T294 -176T305 -195L316 -176Q328 -157 343 -136T374 -98L382 -89V589L374 598'], + + // FOR ALL + 0x2200: [694,22,556,0,556,'0 673Q0 684 7 689T20 694Q32 694 38 680T82 567L126 451H430L473 566Q483 593 494 622T512 668T519 685Q524 694 538 694Q556 692 556 674Q556 670 426 329T293 -15Q288 -22 278 -22T263 -15Q260 -11 131 328T0 673ZM414 410Q414 411 278 411T142 410L278 55L414 410'], + + // PARTIAL DIFFERENTIAL + 0x2202: [715,22,531,42,567,'202 508Q179 508 169 520T158 547Q158 557 164 577T185 624T230 675T301 710L333 715H345Q378 715 384 714Q447 703 489 661T549 568T566 457Q566 362 519 240T402 53Q321 -22 223 -22Q123 -22 73 56Q42 102 42 148V159Q42 276 129 370T322 465Q383 465 414 434T455 367L458 378Q478 461 478 515Q478 603 437 639T344 676Q266 676 223 612Q264 606 264 572Q264 547 246 528T202 508ZM430 306Q430 372 401 400T333 428Q270 428 222 382Q197 354 183 323T150 221Q132 149 132 116Q132 21 232 21Q244 21 250 22Q327 35 374 112Q389 137 409 196T430 306'], + + // THERE EXISTS + 0x2203: [694,0,556,56,500,'56 661T56 674T70 694H487Q497 686 500 679V15Q497 10 487 1L279 0H70Q56 7 56 20T70 40H460V327H84Q70 334 70 347T84 367H460V654H70Q56 661 56 674'], + + // EMPTY SET + 0x2205: [772,78,500,39,460,'331 696Q335 708 339 722T345 744T350 759T357 769T367 772Q374 772 381 767T388 754Q388 746 377 712L366 673L378 661Q460 575 460 344Q460 281 456 234T432 126T373 27Q319 -22 250 -22Q214 -22 180 -7Q168 -3 168 -4L159 -33Q148 -71 142 -75Q138 -78 132 -78Q124 -78 118 -72T111 -60Q111 -52 122 -18L133 21L125 29Q39 111 39 344Q39 596 137 675Q187 716 251 716Q265 716 278 714T296 710T315 703T331 696ZM276 676Q264 679 246 679Q196 679 159 631Q134 597 128 536T121 356Q121 234 127 174T151 80L234 366Q253 430 275 506T308 618L318 654Q318 656 294 669L276 676ZM181 42Q207 16 250 16Q291 16 324 47Q354 78 366 136T378 356Q378 470 372 528T349 616L348 613Q348 611 264 326L181 42'], + + // NABLA + 0x2207: [683,33,833,46,786,'46 676Q46 679 51 683H781Q786 679 786 676Q786 674 617 326T444 -26Q439 -33 416 -33T388 -26Q385 -22 216 326T46 676ZM697 596Q697 597 445 597T193 596Q195 591 319 336T445 80L697 596'], + + // ELEMENT OF + 0x2208: [541,41,667,84,583,'84 250Q84 372 166 450T360 539Q361 539 377 539T419 540T469 540H568Q583 532 583 520Q583 511 570 501L466 500Q355 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H568Q583 262 583 250T568 230H124V228Q124 207 134 177T167 112T231 48T328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 446 -40T417 -41Q262 -41 172 45Q84 127 84 250'], + + // stix-negated (vert) set membership, variant + 0x2209: [716,215,667,84,584,'196 25Q84 109 84 250Q84 372 166 450T360 539Q361 539 375 539T413 540T460 540L547 707Q550 716 563 716Q570 716 575 712T581 703T583 696T505 540H568Q583 532 583 520Q583 511 570 501L484 500L366 270H568Q583 262 583 250T568 230H346L247 38Q284 16 328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 447 -40T419 -41Q304 -41 228 3Q117 -211 115 -212Q111 -215 104 -215T92 -212T86 -204T84 -197Q84 -190 89 -183L196 25ZM214 61L301 230H124V228Q124 196 147 147T214 61ZM321 270L440 500Q353 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H321'], + + // CONTAINS AS MEMBER + 0x220B: [541,40,667,83,582,'83 520Q83 532 98 540H195Q202 540 220 540T249 541Q404 541 494 455Q582 374 582 250Q582 165 539 99T434 0T304 -39Q297 -40 195 -40H98Q83 -32 83 -20Q83 -10 96 0H200Q311 1 337 6Q369 14 401 28Q422 39 445 55Q484 85 508 127T537 191T542 228V230H98Q84 237 84 250T98 270H542V272Q542 280 539 295T527 336T497 391T445 445Q422 461 401 472Q386 479 374 483T347 491T325 495T298 498T273 499T239 500T200 500L96 501Q83 511 83 520'], + + // MINUS SIGN + 0x2212: [270,-230,778,84,694,'84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250'], + + // MINUS-OR-PLUS SIGN + 0x2213: [500,166,778,56,722,'56 467T56 480T70 500H707Q722 492 722 480T707 460H409V187H707Q722 179 722 167Q722 154 707 147H409V0V-93Q409 -144 406 -155T389 -166Q376 -166 372 -155T368 -105Q368 -96 368 -62T369 -2V147H70Q56 154 56 167T70 187H369V460H70Q56 467 56 480'], + + // DIVISION SLASH + 0x2215: [750,250,500,56,444,'423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750'], + + // SET MINUS + 0x2216: [750,250,500,56,444,'56 731Q56 740 62 745T75 750Q85 750 92 740Q96 733 270 255T444 -231Q444 -239 438 -244T424 -250Q414 -250 407 -240Q404 -236 230 242T56 731'], + + // ASTERISK OPERATOR + 0x2217: [465,-35,500,64,435,'229 286Q216 420 216 436Q216 454 240 464Q241 464 245 464T251 465Q263 464 273 456T283 436Q283 419 277 356T270 286L328 328Q384 369 389 372T399 375Q412 375 423 365T435 338Q435 325 425 315Q420 312 357 282T289 250L355 219L425 184Q434 175 434 161Q434 146 425 136T401 125Q393 125 383 131T328 171L270 213Q283 79 283 63Q283 53 276 44T250 35Q231 35 224 44T216 63Q216 80 222 143T229 213L171 171Q115 130 110 127Q106 124 100 124Q87 124 76 134T64 161Q64 166 64 169T67 175T72 181T81 188T94 195T113 204T138 215T170 230T210 250L74 315Q65 324 65 338Q65 353 74 363T98 374Q106 374 116 368T171 328L229 286'], + + // RING OPERATOR + 0x2218: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251ZM245 403Q188 403 142 361T96 250Q96 183 141 140T250 96Q284 96 313 109T354 135T375 160Q403 197 403 250Q403 313 360 358T245 403'], + + // BULLET OPERATOR + 0x2219: [444,-55,500,55,444,'55 251Q55 328 112 386T249 444T386 388T444 249Q444 171 388 113T250 55Q170 55 113 112T55 251'], + + // SQUARE ROOT + 0x221A: [800,200,833,71,853,'95 178Q89 178 81 186T72 200T103 230T169 280T207 309Q209 311 212 311H213Q219 311 227 294T281 177Q300 134 312 108L397 -77Q398 -77 501 136T707 565T814 786Q820 800 834 800Q841 800 846 794T853 782V776L620 293L385 -193Q381 -200 366 -200Q357 -200 354 -197Q352 -195 256 15L160 225L144 214Q129 202 113 190T95 178'], + + // PROPORTIONAL TO + 0x221D: [442,11,778,56,722,'56 124T56 216T107 375T238 442Q260 442 280 438T319 425T352 407T382 385T406 361T427 336T442 315T455 297T462 285L469 297Q555 442 679 442Q687 442 722 437V398H718Q710 400 694 400Q657 400 623 383T567 343T527 294T503 253T495 235Q495 231 520 192T554 143Q625 44 696 44Q717 44 719 46H722V-5Q695 -11 678 -11Q552 -11 457 141Q455 145 454 146L447 134Q362 -11 235 -11Q157 -11 107 56ZM93 213Q93 143 126 87T220 31Q258 31 292 48T349 88T389 137T413 178T421 196Q421 200 396 239T362 288Q322 345 288 366T213 387Q163 387 128 337T93 213'], + + // INFINITY + 0x221E: [442,11,1000,55,944,'55 217Q55 305 111 373T254 442Q342 442 419 381Q457 350 493 303L507 284L514 294Q618 442 747 442Q833 442 888 374T944 214Q944 128 889 59T743 -11Q657 -11 580 50Q542 81 506 128L492 147L485 137Q381 -11 252 -11Q166 -11 111 57T55 217ZM907 217Q907 285 869 341T761 397Q740 397 720 392T682 378T648 359T619 335T594 310T574 285T559 263T548 246L543 238L574 198Q605 158 622 138T664 94T714 61T765 51Q827 51 867 100T907 217ZM92 214Q92 145 131 89T239 33Q357 33 456 193L425 233Q364 312 334 337Q285 380 233 380Q171 380 132 331T92 214'], + + // ANGLE + 0x2220: [694,0,722,55,666,'71 0L68 2Q65 3 63 5T58 11T55 20Q55 22 57 28Q67 43 346 361Q397 420 474 508Q595 648 616 671T647 694T661 688T666 674Q666 668 663 663Q662 662 627 622T524 503T390 350L120 41L386 40H653Q666 30 666 20Q666 8 651 0H71'], + + // DIVIDES + 0x2223: [750,249,278,119,159,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139'], + + // PARALLEL TO + 0x2225: [750,250,500,132,368,'133 736Q138 750 153 750Q164 750 170 739Q172 735 172 250T170 -239Q164 -250 152 -250Q144 -250 138 -244L137 -243Q133 -241 133 -179T132 250Q132 731 133 736ZM329 739Q334 750 346 750Q353 750 361 744L362 743Q366 741 366 679T367 250T367 -178T362 -243L361 -244Q355 -250 347 -250Q335 -250 329 -239Q327 -235 327 250T329 739'], + + // LOGICAL AND + 0x2227: [598,22,667,55,611,'318 591Q325 598 333 598Q344 598 348 591Q349 590 414 445T545 151T611 -4Q609 -22 591 -22Q588 -22 586 -21T581 -20T577 -17T575 -13T572 -9T570 -4L333 528L96 -4Q87 -20 80 -21Q78 -22 75 -22Q57 -22 55 -4Q55 2 120 150T251 444T318 591'], + + // LOGICAL OR + 0x2228: [598,22,667,55,611,'55 580Q56 587 61 592T75 598Q86 598 96 580L333 48L570 580Q579 596 586 597Q588 598 591 598Q609 598 611 580Q611 574 546 426T415 132T348 -15Q343 -22 333 -22T318 -15Q317 -14 252 131T121 425T55 580'], + + // stix-intersection, serifs + 0x2229: [598,22,667,55,611,'88 -21T75 -21T55 -7V200Q55 231 55 280Q56 414 60 428Q61 430 61 431Q77 500 152 549T332 598Q443 598 522 544T610 405Q611 399 611 194V-7Q604 -22 591 -22Q582 -22 572 -9L570 405Q563 433 556 449T529 485Q498 519 445 538T334 558Q251 558 179 518T96 401Q95 396 95 193V-7Q88 -21 75 -21'], + + // stix-union, serifs + 0x222A: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598'], + + // INTEGRAL + 0x222B: [716,216,417,55,472,'151 -112Q151 -150 106 -161Q106 -165 114 -172T134 -179Q155 -179 170 -146Q181 -120 188 -64T206 101T232 310Q256 472 277 567Q308 716 392 716Q434 716 453 681T472 613Q472 590 458 577T424 564Q404 564 390 578T376 612Q376 650 421 661Q421 663 418 667T407 675T393 679Q387 679 380 675Q360 665 350 619T326 438Q302 190 253 -57Q235 -147 201 -186Q174 -213 138 -216Q93 -216 74 -181T55 -113Q55 -91 69 -78T103 -64Q123 -64 137 -78T151 -112'], + + // TILDE OPERATOR + 0x223C: [367,-133,778,55,722,'55 166Q55 241 101 304T222 367Q260 367 296 349T362 304T421 252T484 208T554 189Q616 189 655 236T694 338Q694 350 698 358T708 367Q722 367 722 334Q722 260 677 197T562 134H554Q517 134 481 152T414 196T355 248T292 293T223 311Q179 311 145 286Q109 257 96 218T80 156T69 133Q55 133 55 166'], + + // WREATH PRODUCT + 0x2240: [583,83,278,55,222,'55 569Q55 583 83 583Q122 583 151 565T194 519T215 464T222 411Q222 360 194 304T139 193T111 89Q111 38 134 -7T195 -55Q222 -57 222 -69Q222 -83 189 -83Q130 -83 93 -33T55 90Q55 130 72 174T110 252T148 328T166 411Q166 462 144 507T83 555Q55 556 55 569'], + + // ASYMPTOTICALLY EQUAL TO + 0x2243: [464,-36,778,55,722,'55 283Q55 356 103 409T217 463Q262 463 297 447T395 382Q431 355 446 344T493 320T554 307H558Q613 307 652 344T694 433Q694 464 708 464T722 432Q722 356 673 304T564 251H554Q510 251 465 275T387 329T310 382T223 407H219Q164 407 122 367Q91 333 85 295T76 253T69 250Q55 250 55 283ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], + + // APPROXIMATELY EQUAL TO + 0x2245: [589,-22,1000,55,722,'55 388Q55 463 101 526T222 589Q260 589 296 571T362 526T421 474T484 430T554 411Q616 411 655 458T694 560Q694 572 698 580T708 589Q722 589 722 556Q722 482 677 419T562 356H554Q517 356 481 374T414 418T355 471T292 515T223 533Q179 533 145 508Q109 479 96 440T80 378T69 355Q55 355 55 388ZM56 236Q56 249 70 256H707Q722 248 722 236Q722 225 708 217L390 216H72Q56 221 56 236ZM56 42Q56 57 72 62H708Q722 52 722 42Q722 30 707 22H70Q56 29 56 42'], + + // ALMOST EQUAL TO + 0x2248: [483,-55,778,55,722,'55 319Q55 360 72 393T114 444T163 472T205 482Q207 482 213 482T223 483Q262 483 296 468T393 413L443 381Q502 346 553 346Q609 346 649 375T694 454Q694 465 698 474T708 483Q722 483 722 452Q722 386 675 338T555 289Q514 289 468 310T388 357T308 404T224 426Q164 426 125 393T83 318Q81 289 69 289Q55 289 55 319ZM55 85Q55 126 72 159T114 210T163 238T205 248Q207 248 213 248T223 249Q262 249 296 234T393 179L443 147Q502 112 553 112Q609 112 649 141T694 220Q694 249 708 249T722 217Q722 153 675 104T555 55Q514 55 468 76T388 123T308 170T224 192Q164 192 125 159T83 84Q80 55 69 55Q55 55 55 85'], + + // EQUIVALENT TO + 0x224D: [484,-16,778,55,722,'55 464Q55 471 60 477T74 484Q80 484 108 464T172 420T268 376T389 356Q436 356 483 368T566 399T630 436T675 467T695 482Q701 484 703 484Q711 484 716 478T722 464Q722 454 707 442Q550 316 389 316Q338 316 286 329T195 362T124 402T76 437T57 456Q55 462 55 464ZM57 45Q66 58 109 88T230 151T381 183Q438 183 494 168T587 135T658 94T703 61T720 45Q722 39 722 36Q722 28 717 22T703 16Q697 16 669 36T606 80T510 124T389 144Q341 144 294 132T211 101T147 64T102 33T82 18Q76 16 74 16Q66 16 61 22T55 36Q55 39 57 45'], + + // APPROACHES THE LIMIT + 0x2250: [670,-133,778,56,722,'56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153ZM329 610Q329 634 346 652T389 670Q413 670 431 654T450 611Q450 586 433 568T390 550T347 567T329 610'], + + // stix-not (vert) equals + 0x2260: [716,215,778,56,722,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183L306 133H70Q56 140 56 153Q56 168 72 173H327L406 327H72Q56 332 56 347Q56 360 70 367H426Q597 702 602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 692 471 367H707Q722 359 722 347Q722 336 708 328L451 327L371 173H708Q722 163 722 153Q722 140 707 133H351Q175 -210 170 -212Q166 -215 159 -215'], + + // IDENTICAL TO + 0x2261: [464,-36,778,56,722,'56 444Q56 457 70 464H707Q722 456 722 444Q722 430 706 424H72Q56 429 56 444ZM56 237T56 250T70 270H707Q722 262 722 250T707 230H70Q56 237 56 250ZM56 56Q56 71 72 76H706Q722 70 722 56Q722 44 707 36H70Q56 43 56 56'], + + // LESS-THAN OR EQUAL TO + 0x2264: [636,138,778,83,694,'674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], + + // GREATER-THAN OR EQUAL TO + 0x2265: [636,138,778,82,694,'83 616Q83 624 89 630T99 636Q107 636 253 568T543 431T687 361Q694 356 694 346T687 331Q685 329 395 192L107 56H101Q83 58 83 76Q83 77 83 79Q82 86 98 95Q117 105 248 167Q326 204 378 228L626 346L360 472Q291 505 200 548Q112 589 98 597T83 616ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118'], + + // MUCH LESS-THAN + 0x226A: [568,67,1000,56,944,'639 -48Q639 -54 634 -60T619 -67H618Q612 -67 536 -26Q430 33 329 88Q61 235 59 239Q56 243 56 250T59 261Q62 266 336 415T615 567L619 568Q622 567 625 567Q639 562 639 548Q639 540 633 534Q632 532 374 391L117 250L374 109Q632 -32 633 -34Q639 -40 639 -48ZM944 -48Q944 -54 939 -60T924 -67H923Q917 -67 841 -26Q735 33 634 88Q366 235 364 239Q361 243 361 250T364 261Q367 266 641 415T920 567L924 568Q927 567 930 567Q944 562 944 548Q944 540 938 534Q937 532 679 391L422 250L679 109Q937 -32 938 -34Q944 -40 944 -48'], + + // MUCH GREATER-THAN + 0x226B: [567,67,1000,55,944,'55 539T55 547T60 561T74 567Q81 567 207 498Q297 449 365 412Q633 265 636 261Q639 255 639 250Q639 241 626 232Q614 224 365 88Q83 -65 79 -66Q76 -67 73 -67Q65 -67 60 -61T55 -47Q55 -39 61 -33Q62 -33 95 -15T193 39T320 109L321 110H322L323 111H324L325 112L326 113H327L329 114H330L331 115H332L333 116L334 117H335L336 118H337L338 119H339L340 120L341 121H342L343 122H344L345 123H346L347 124L348 125H349L351 126H352L353 127H354L355 128L356 129H357L358 130H359L360 131H361L362 132L363 133H364L365 134H366L367 135H368L369 136H370L371 137L372 138H373L374 139H375L376 140L378 141L576 251Q63 530 62 533Q55 539 55 547ZM360 539T360 547T365 561T379 567Q386 567 512 498Q602 449 670 412Q938 265 941 261Q944 255 944 250Q944 241 931 232Q919 224 670 88Q388 -65 384 -66Q381 -67 378 -67Q370 -67 365 -61T360 -47Q360 -39 366 -33Q367 -33 400 -15T498 39T625 109L626 110H627L628 111H629L630 112L631 113H632L634 114H635L636 115H637L638 116L639 117H640L641 118H642L643 119H644L645 120L646 121H647L648 122H649L650 123H651L652 124L653 125H654L656 126H657L658 127H659L660 128L661 129H662L663 130H664L665 131H666L667 132L668 133H669L670 134H671L672 135H673L674 136H675L676 137L677 138H678L679 139H680L681 140L683 141L881 251Q368 530 367 533Q360 539 360 547'], + + // PRECEDES + 0x227A: [539,41,778,84,694,'84 249Q84 262 91 266T117 270Q120 270 126 270T137 269Q388 273 512 333T653 512Q657 539 676 539Q685 538 689 532T694 520V515Q689 469 672 431T626 366T569 320T500 286T435 265T373 249Q379 248 404 242T440 233T477 221T533 199Q681 124 694 -17Q694 -41 674 -41Q658 -41 653 -17Q646 41 613 84T533 154T418 197T284 220T137 229H114Q104 229 98 230T88 235T84 249'], + + // SUCCEEDS + 0x227B: [539,41,778,83,694,'84 517Q84 539 102 539Q115 539 119 529T125 503T137 459T171 404Q277 275 640 269H661Q694 269 694 249T661 229H640Q526 227 439 214T283 173T173 98T124 -17Q118 -41 103 -41Q83 -41 83 -17Q88 29 105 67T151 132T208 178T277 212T342 233T404 249Q401 250 380 254T345 263T302 276T245 299Q125 358 92 468Q84 502 84 517'], + + // SUBSET OF + 0x2282: [541,41,778,84,694,'84 250Q84 372 166 450T360 539Q361 539 370 539T395 539T430 540T475 540T524 540H679Q694 532 694 520Q694 511 681 501L522 500H470H441Q366 500 338 496T266 472Q244 461 224 446T179 404T139 337T124 250V245Q124 157 185 89Q244 25 328 7Q348 2 366 2T522 0H681Q694 -10 694 -20Q694 -32 679 -40H526Q510 -40 480 -40T434 -41Q350 -41 289 -25T172 45Q84 127 84 250'], + + // SUPERSET OF + 0x2283: [541,40,778,83,693,'83 520Q83 532 98 540H251Q267 540 297 540T343 541Q427 541 488 525T605 455Q693 374 693 250Q693 165 650 99T545 0T415 -39Q407 -40 251 -40H98Q83 -32 83 -20Q83 -10 96 0H255H308H337Q412 0 439 4T512 28Q533 39 553 54T599 96T639 163T654 250Q654 341 592 411Q557 449 512 472Q468 491 439 495T335 500H306H255L96 501Q83 511 83 520'], + + // SUBSET OF OR EQUAL TO + 0x2286: [637,138,778,84,694,'84 346Q84 468 166 546T360 635Q361 635 370 635T395 635T430 636T475 636T524 636H679Q694 628 694 616Q694 607 681 597L522 596H470H441Q366 596 338 592T266 568Q244 557 224 542T179 500T139 433T124 346V341Q124 253 185 185Q244 121 328 103Q348 98 366 98T522 96H681Q694 86 694 76Q694 64 679 56H526Q510 56 480 56T434 55Q350 55 289 71T172 141Q84 223 84 346ZM104 -131T104 -118T118 -98H679Q694 -106 694 -118T679 -138H118Q104 -131 104 -118'], + + // SUPERSET OF OR EQUAL TO + 0x2287: [637,138,778,83,693,'83 616Q83 628 98 636H251Q267 636 297 636T343 637Q427 637 488 621T605 551Q693 470 693 346Q693 261 650 195T545 96T415 57Q407 56 251 56H98Q83 64 83 76Q83 86 96 96H255H308H337Q412 96 439 100T512 124Q533 135 553 150T599 192T639 259T654 346Q654 437 592 507Q557 545 512 568Q468 587 439 591T335 596H306H255L96 597Q83 607 83 616ZM84 -131T84 -118T98 -98H659Q674 -106 674 -118T659 -138H98Q84 -131 84 -118'], + + // MULTISET UNION + 0x228E: [598,22,667,55,611,'591 598H592Q604 598 611 583V376Q611 345 611 296Q610 162 606 148Q605 146 605 145Q586 68 507 23T333 -22Q268 -22 209 -1T106 66T56 173Q55 180 55 384L56 585Q66 598 75 598Q85 598 95 585V378L96 172L98 162Q112 95 181 57T332 18Q415 18 487 58T570 175Q571 180 571 383V583Q579 598 591 598ZM313 406Q313 417 313 435T312 459Q312 483 316 493T333 503T349 494T353 461V406V325H515Q516 325 519 323T527 316T531 305T527 294T520 287T515 285H353V204V152Q353 127 350 117T333 107T316 117T312 152Q312 158 312 175T313 204V285H151Q150 285 147 287T139 294T135 305T139 316T146 323T151 325H313V406'], + + // SQUARE IMAGE OF OR EQUAL TO + 0x2291: [636,138,778,84,714,'94 620Q98 632 110 636H699Q714 628 714 616T699 596H134V96H698Q714 90 714 76Q714 64 699 56H109Q104 59 95 69L94 344V620ZM84 -118Q84 -103 100 -98H698Q714 -104 714 -118Q714 -130 699 -138H98Q84 -131 84 -118'], + + // SQUARE ORIGINAL OF OR EQUAL TO + 0x2292: [636,138,778,64,694,'64 603T64 616T78 636H668Q675 633 683 623V69Q675 59 668 56H78Q64 63 64 76Q64 91 80 96H643V596H78Q64 603 64 616ZM64 -118Q64 -108 79 -98H678Q694 -104 694 -118Q694 -130 679 -138H78Q64 -131 64 -118'], + + // stix-square intersection, serifs + 0x2293: [598,0,667,61,605,'83 0Q79 0 76 1T71 3T67 6T65 9T63 13T61 16V301L62 585Q70 595 76 598H592Q602 590 605 583V15Q598 2 587 0Q583 0 580 1T575 3T571 6T569 9T567 13T565 16V558H101V15Q94 2 83 0'], + + // stix-square union, serifs + 0x2294: [598,0,667,61,605,'77 0Q65 4 61 16V301L62 585Q72 598 81 598Q94 598 101 583V40H565V583Q573 598 585 598Q598 598 605 583V15Q602 10 592 1L335 0H77'], + + // stix-circled plus (with rim) + 0x2295: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM364 542Q308 539 251 509T148 418T96 278V270H369V542H364ZM681 278Q675 338 650 386T592 462T522 509T458 535T412 542H409V270H681V278ZM96 222Q104 150 139 95T219 12T302 -29T366 -42H369V230H96V222ZM681 222V230H409V-42H412Q429 -42 456 -36T521 -10T590 37T649 113T681 222'], + + // CIRCLED MINUS + 0x2296: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM681 278Q669 385 591 463T381 542Q283 542 196 471T96 278V270H681V278ZM275 -42T388 -42T585 32T681 222V230H96V222Q108 107 191 33'], + + // stix-circled times (with rim) + 0x2297: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q531 510 496 523Q446 542 381 542Q324 542 272 519T196 471L389 278L485 375L582 471ZM167 442Q95 362 95 250Q95 137 167 58L359 250L167 442ZM610 58Q682 138 682 250Q682 363 610 442L418 250L610 58ZM196 29Q209 16 230 2T295 -27T388 -42Q409 -42 429 -40T465 -33T496 -23T522 -11T544 1T561 13T574 22T582 29L388 222L196 29'], + + // CIRCLED DIVISION SLASH + 0x2298: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM582 471Q581 472 571 480T556 491T539 502T517 514T491 525T460 534T424 539T381 542Q272 542 184 460T95 251Q95 198 113 150T149 80L167 58L582 471ZM388 -42Q513 -42 597 44T682 250Q682 363 610 442L196 29Q209 16 229 2T295 -27T388 -42'], + + // CIRCLED DOT OPERATOR + 0x2299: [583,83,778,56,722,'56 250Q56 394 156 488T384 583Q530 583 626 485T722 250Q722 110 625 14T390 -83Q249 -83 153 14T56 250ZM682 250Q682 322 649 387T546 497T381 542Q272 542 184 459T95 250Q95 132 178 45T389 -42Q515 -42 598 45T682 250ZM311 250Q311 285 332 304T375 328Q376 328 382 328T392 329Q424 326 445 305T466 250Q466 217 445 195T389 172Q354 172 333 195T311 250'], + + // RIGHT TACK + 0x22A2: [695,0,611,55,555,'55 678Q55 679 56 681T58 684T61 688T65 691T70 693T77 694Q88 692 95 679V367H540Q555 359 555 347Q555 334 540 327H95V15Q88 2 77 0Q73 0 70 1T65 3T61 6T59 9T57 13T55 16V678'], + + // LEFT TACK + 0x22A3: [695,0,611,54,555,'515 678Q515 679 516 681T518 684T521 688T525 691T530 693T537 694Q548 692 555 679V15Q548 2 537 0Q533 0 530 1T525 3T521 6T519 9T517 13T515 16V327H71Q70 327 67 329T59 336T55 347T59 358T66 365T71 367H515V678'], + + // DOWN TACK + 0x22A4: [668,0,778,55,723,'55 642T55 648T59 659T66 666T71 668H708Q723 660 723 648T708 628H409V15Q402 2 391 0Q387 0 384 1T379 3T375 6T373 9T371 13T369 16V628H71Q70 628 67 630T59 637'], + + // UP TACK + 0x22A5: [669,0,778,54,723,'369 652Q369 653 370 655T372 658T375 662T379 665T384 667T391 668Q402 666 409 653V40H708Q723 32 723 20T708 0H71Q70 0 67 2T59 9T55 20T59 31T66 38T71 40H369V652'], + + // TRUE + 0x22A8: [750,249,867,119,812,'139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V367H796Q811 359 811 347Q811 336 797 328L479 327H161L159 328V172L161 173H797Q798 172 800 171T803 169T805 167T808 164T809 162T810 158T811 153Q811 140 796 133H159V-235Q151 -249 141 -249H139'], + + // DIAMOND OPERATOR + 0x22C4: [488,-12,500,12,488,'242 486Q245 488 250 488Q256 488 258 486Q262 484 373 373T486 258T488 250T486 242T373 127T258 14Q256 12 250 12Q245 12 242 14Q237 16 127 126T14 242Q12 245 12 250T14 258Q16 263 126 373T242 486ZM439 250L250 439L61 250L250 61L439 250'], + + // DOT OPERATOR + 0x22C5: [310,-190,278,78,199,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250'], + + // STAR OPERATOR + 0x22C6: [486,-16,500,3,497,'210 282Q210 284 225 381T241 480Q241 484 245 484Q249 486 251 486Q258 486 260 477T272 406Q275 390 276 380Q290 286 290 282L388 299Q484 314 487 314H488Q497 314 497 302Q497 297 434 266Q416 257 404 251L315 206L361 118Q372 98 383 75T401 40L407 28Q407 16 395 16Q394 16 392 16L390 17L250 159L110 17L108 16Q106 16 105 16Q93 16 93 28L99 40Q105 52 116 75T139 118L185 206L96 251Q6 296 4 300Q3 301 3 302Q3 314 12 314H13Q16 314 112 299L210 282'], + + // BOWTIE + 0x22C8: [505,5,900,26,873,'833 50T833 250T832 450T659 351T487 250T658 150T832 50Q833 50 833 250ZM873 10Q866 -5 854 -5Q851 -5 845 -3L449 226L260 115Q51 -5 43 -5Q39 -5 35 -1T28 7L26 11V489Q33 505 43 505Q51 505 260 385L449 274L845 503Q851 505 853 505Q866 505 873 490V10ZM412 250L67 450Q66 450 66 250T67 50Q69 51 240 150T412 250'], + + // VERTICAL ELLIPSIS + 0x22EE: [900,30,278,78,199,'78 30Q78 54 95 72T138 90Q162 90 180 74T199 31Q199 6 182 -12T139 -30T96 -13T78 30ZM78 440Q78 464 95 482T138 500Q162 500 180 484T199 441Q199 416 182 398T139 380T96 397T78 440ZM78 840Q78 864 95 882T138 900Q162 900 180 884T199 841Q199 816 182 798T139 780T96 797T78 840'], + + // MIDLINE HORIZONTAL ELLIPSIS + 0x22EF: [310,-190,1172,78,1093,'78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250ZM525 250Q525 274 542 292T585 310Q609 310 627 294T646 251Q646 226 629 208T586 190T543 207T525 250ZM972 250Q972 274 989 292T1032 310Q1056 310 1074 294T1093 251Q1093 226 1076 208T1033 190T990 207T972 250'], + + // DOWN RIGHT DIAGONAL ELLIPSIS + 0x22F1: [820,-100,1282,133,1148,'133 760Q133 784 150 802T193 820Q217 820 235 804T254 761Q254 736 237 718T194 700T151 717T133 760ZM580 460Q580 484 597 502T640 520Q664 520 682 504T701 461Q701 436 684 418T641 400T598 417T580 460ZM1027 160Q1027 184 1044 202T1087 220Q1111 220 1129 204T1148 161Q1148 136 1131 118T1088 100T1045 117T1027 160'], + + // LEFT CEILING + 0x2308: [750,250,444,174,422,'174 734Q178 746 190 750H298H369Q400 750 411 747T422 730T411 713T372 709Q365 709 345 709T310 710H214V-235Q206 -248 196 -250Q192 -250 189 -249T184 -247T180 -244T178 -241T176 -237T174 -234V734'], + + // RIGHT CEILING + 0x2309: [750,250,444,21,269,'21 717T21 730T32 746T75 750H147H256Q266 742 269 735V-235Q262 -248 251 -250Q247 -250 244 -249T239 -247T235 -244T233 -241T231 -237T229 -234V710H133Q119 710 99 710T71 709Q43 709 32 713'], + + // LEFT FLOOR + 0x230A: [751,251,444,174,423,'174 734Q174 735 175 737T177 740T180 744T184 747T189 749T196 750Q206 748 214 735V-210H310H373Q401 -210 411 -213T422 -230T411 -247T369 -251Q362 -251 338 -251T298 -250H190Q178 -246 174 -234V734'], + + // RIGHT FLOOR + 0x230B: [751,250,444,21,269,'229 734Q229 735 230 737T232 740T235 744T239 747T244 749T251 750Q262 748 269 735V-235Q266 -240 256 -249L147 -250H77Q43 -250 32 -247T21 -230T32 -213T72 -209Q79 -209 99 -209T133 -210H229V734'], + + // stix-small down curve + 0x2322: [388,-122,1000,55,944,'55 141Q55 149 72 174T125 234T209 303T329 360T478 388H526Q649 383 765 319Q814 291 858 250T923 179T944 141Q944 133 938 128T924 122Q914 124 912 125T902 139Q766 328 500 328Q415 328 342 308T225 258T150 199T102 148T84 124Q81 122 75 122Q55 127 55 141'], + + // stix-small up curve + 0x2323: [378,-134,1000,55,944,'923 378Q944 378 944 358Q944 345 912 311T859 259Q710 134 500 134Q288 134 140 259Q55 336 55 358Q55 366 61 372T75 378Q78 378 84 376Q86 376 101 356T147 310T221 257T339 212T500 193Q628 193 734 236Q841 282 903 363Q914 378 923 378'], + + // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + 0x23B0: [744,244,412,56,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 454T239 315T239 247Q240 235 240 124V40Q240 -17 233 -53T201 -130Q155 -206 78 -244H69H64Q58 -244 57 -243T56 -234Q56 -232 56 -231V-225Q56 -218 63 -215Q153 -153 170 -39Q172 -25 173 119V219Q173 245 174 249Q173 258 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], + + // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + 0x23B1: [744,244,412,55,357,'78 744Q153 706 196 640T239 492V376Q239 341 239 314T238 271T238 253Q239 251 239 223V119V49Q239 -39 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 258 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], + + // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E8: [750,250,389,109,333,'333 -232Q332 -239 327 -244T313 -250Q303 -250 296 -240Q293 -233 202 6T110 250T201 494T296 740Q299 745 306 749L309 750Q312 750 313 750Q331 750 333 732Q333 727 243 489Q152 252 152 250T243 11Q333 -227 333 -232'], + + // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27E9: [750,250,389,55,279,'55 732Q56 739 61 744T75 750Q85 750 92 740Q95 733 186 494T278 250T187 6T92 -240Q85 -250 75 -250Q67 -250 62 -245T55 -232Q55 -227 145 11Q236 248 236 250T145 489Q55 727 55 732'], + + // MATHEMATICAL LEFT FLATTENED PARENTHESIS + 0x27EE: [744,244,412,173,357,'357 741V726Q357 720 349 715Q261 655 242 539Q240 526 240 394V331Q240 259 239 250Q240 242 240 119V49Q240 -42 254 -85Q263 -111 275 -134T301 -172T326 -197T346 -213T356 -221T357 -232V-241L354 -244H334Q264 -209 222 -146T174 -12Q173 -6 173 95Q173 134 173 191T174 250Q173 260 173 376V460Q173 515 178 545T201 611Q244 695 327 741L334 744H354L357 741'], + + // MATHEMATICAL RIGHT FLATTENED PARENTHESIS + 0x27EF: [744,244,412,55,240,'78 744Q153 706 196 640T239 492V376Q239 339 239 311T238 269T238 252Q240 236 240 124V40Q240 -18 233 -53T202 -130Q156 -206 79 -244H70H65Q58 -244 57 -242T56 -231T57 -220T64 -215Q153 -154 170 -39Q173 -18 174 119V247Q173 249 173 382V451Q173 542 159 585Q145 626 120 658T75 706T56 723V731Q56 741 57 742T66 744H78'], + + // LONG LEFTWARDS ARROW + 0x27F5: [511,11,1609,55,1525,'165 270H1510Q1525 262 1525 250T1510 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], + + // LONG RIGHTWARDS ARROW + 0x27F6: [511,11,1638,84,1553,'84 237T84 250T98 270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H98Q84 237 84 250'], + + // LONG LEFT RIGHT ARROW + 0x27F7: [511,11,1859,55,1803,'165 270H1694Q1578 357 1551 493Q1551 494 1551 496T1550 499Q1550 511 1567 511H1570Q1579 511 1582 510T1588 506T1591 497T1594 481T1602 456Q1624 389 1675 336T1794 261Q1803 258 1803 250Q1803 244 1798 241T1774 231T1736 212Q1695 186 1665 152T1620 85T1599 35T1591 4Q1589 -6 1586 -8T1570 -11Q1550 -11 1550 0Q1550 7 1555 25Q1587 151 1694 230H165Q167 228 182 216T211 189T244 152T277 96T303 25Q308 7 308 0Q308 -11 288 -11Q281 -11 278 -11T272 -7T267 2T263 21Q245 94 195 151T73 236Q58 242 55 247Q55 254 59 257T73 264Q121 283 158 314T215 375T247 434T264 480L267 497Q269 503 270 505T275 509T288 511Q308 511 308 500Q308 493 303 475Q293 438 278 406T246 352T215 315T185 287T165 270'], + + // LONG LEFTWARDS DOUBLE ARROW + 0x27F8: [525,24,1609,56,1554,'274 173H1539Q1540 172 1542 171T1545 169T1547 167T1550 164T1551 162T1552 158T1553 153Q1553 140 1538 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1538Q1553 359 1553 347Q1553 336 1539 328L1221 327H903L900 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], + + // LONG RIGHTWARDS DOUBLE ARROW + 0x27F9: [525,24,1638,56,1582,'1218 514Q1218 525 1234 525Q1239 525 1242 525T1247 525T1251 524T1253 523T1255 520T1257 517T1260 512Q1297 438 1358 381T1469 300T1565 263Q1582 258 1582 250T1573 239T1536 228T1478 204Q1334 134 1260 -12Q1256 -21 1253 -22T1238 -24Q1218 -24 1218 -17Q1218 -13 1223 0Q1258 69 1309 123L1319 133H70Q56 140 56 153Q56 168 72 173H1363L1373 181Q1412 211 1490 250Q1489 251 1472 259T1427 283T1373 319L1363 327H710L707 328L390 327H72Q56 332 56 347Q56 360 70 367H1319L1309 377Q1276 412 1247 458T1218 514'], + + // LONG LEFT RIGHT DOUBLE ARROW + 0x27FA: [525,24,1858,56,1802,'1438 514Q1438 525 1454 525Q1459 525 1462 525T1467 525T1471 524T1473 523T1475 520T1477 517T1480 512Q1517 438 1578 381T1689 300T1785 263Q1802 258 1802 250T1793 239T1756 228T1698 204Q1554 134 1480 -12Q1476 -21 1473 -22T1458 -24Q1438 -24 1438 -17Q1438 -13 1443 0Q1478 69 1529 123L1539 133H318L328 123Q379 69 414 0Q419 -13 419 -17Q419 -24 399 -24Q388 -24 385 -23T377 -12Q332 77 253 144T72 237Q62 240 59 242T56 250T59 257T70 262T89 268T119 278T160 296Q303 366 377 512Q382 522 385 523T401 525Q419 524 419 515Q419 510 414 500Q379 431 328 377L318 367H1539L1529 377Q1496 412 1467 458T1438 514ZM274 173H1583L1593 181Q1632 211 1710 250Q1709 251 1692 259T1647 283T1593 319L1583 327H930L927 328L602 327H274L264 319Q225 289 147 250Q148 249 165 241T210 217T264 181L274 173'], + + // LONG RIGHTWARDS ARROW FROM BAR + 0x27FC: [511,11,1638,54,1553,'95 155V109Q95 83 92 73T75 63Q61 63 58 74T54 130Q54 140 54 180T55 250Q55 421 57 425Q61 437 75 437Q88 437 91 428T95 393V345V270H1444Q1328 357 1301 493Q1301 494 1301 496T1300 499Q1300 511 1317 511H1320Q1329 511 1332 510T1338 506T1341 497T1344 481T1352 456Q1374 389 1425 336T1544 261Q1553 258 1553 250Q1553 244 1548 241T1524 231T1486 212Q1445 186 1415 152T1370 85T1349 35T1341 4Q1339 -6 1336 -8T1320 -11Q1300 -11 1300 0Q1300 7 1305 25Q1337 151 1444 230H95V155'], + + // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AAF: [636,138,778,84,694,'84 346Q84 359 91 363T117 367Q120 367 126 367T137 366Q388 370 512 430T653 609Q657 636 676 636Q685 635 689 629T694 618V612Q689 566 672 528T626 463T569 417T500 383T435 362T373 346Q379 345 404 339T440 330T477 318T533 296Q592 266 630 223T681 145T694 78Q694 57 674 57Q662 57 657 67T652 92T640 135T606 191Q500 320 137 326H114Q104 326 98 327T88 332T84 346ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'], + + // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [636,138,778,83,694,'84 614Q84 636 102 636Q115 636 119 626T125 600T137 556T171 501Q277 372 640 366H661Q694 366 694 346T661 326H640Q578 325 526 321T415 307T309 280T222 237T156 172T124 83Q122 66 118 62T103 57Q100 57 98 57T95 58T93 59T90 62T85 67Q83 71 83 80Q88 126 105 164T151 229T208 275T277 309T342 330T404 346Q401 347 380 351T345 360T302 373T245 396Q125 455 92 565Q84 599 84 614ZM84 -131T84 -118T98 -98H679Q694 -106 694 -118T679 -138H98Q84 -131 84 -118'] + }; + + SVG.FONTDATA.FONTS['MathJax_Math-italic'] = { + directory: 'Math/Italic', + family: 'MathJax_Math', + id: 'MJMATHI', + style: 'italic', + skew: { + 0x41: 0.139, + 0x42: 0.0833, + 0x43: 0.0833, + 0x44: 0.0556, + 0x45: 0.0833, + 0x46: 0.0833, + 0x47: 0.0833, + 0x48: 0.0556, + 0x49: 0.111, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.0278, + 0x4D: 0.0833, + 0x4E: 0.0833, + 0x4F: 0.0833, + 0x50: 0.0833, + 0x51: 0.0833, + 0x52: 0.0833, + 0x53: 0.0833, + 0x54: 0.0833, + 0x55: 0.0278, + 0x58: 0.0833, + 0x5A: 0.0833, + 0x63: 0.0556, + 0x64: 0.167, + 0x65: 0.0556, + 0x66: 0.167, + 0x67: 0.0278, + 0x68: -0.0278, + 0x6C: 0.0833, + 0x6F: 0.0556, + 0x70: 0.0833, + 0x71: 0.0833, + 0x72: 0.0556, + 0x73: 0.0556, + 0x74: 0.0833, + 0x75: 0.0278, + 0x76: 0.0278, + 0x77: 0.0833, + 0x78: 0.0278, + 0x79: 0.0556, + 0x7A: 0.0556, + 0x393: 0.0833, + 0x394: 0.167, + 0x398: 0.0833, + 0x39B: 0.167, + 0x39E: 0.0833, + 0x3A0: 0.0556, + 0x3A3: 0.0833, + 0x3A5: 0.0556, + 0x3A6: 0.0833, + 0x3A8: 0.0556, + 0x3A9: 0.0833, + 0x3B1: 0.0278, + 0x3B2: 0.0833, + 0x3B4: 0.0556, + 0x3B5: 0.0833, + 0x3B6: 0.0833, + 0x3B7: 0.0556, + 0x3B8: 0.0833, + 0x3B9: 0.0556, + 0x3BC: 0.0278, + 0x3BD: 0.0278, + 0x3BE: 0.111, + 0x3BF: 0.0556, + 0x3C1: 0.0833, + 0x3C2: 0.0833, + 0x3C4: 0.0278, + 0x3C5: 0.0278, + 0x3C6: 0.0833, + 0x3C7: 0.0556, + 0x3C8: 0.111, + 0x3D1: 0.0833, + 0x3D5: 0.0833, + 0x3F1: 0.0833, + 0x3F5: 0.0556 + }, + + // SPACE + 0x20: [0,0,250,0,0,''], + + // SOLIDUS + 0x2F: [716,215,778,139,638,'166 -215T159 -215T147 -212T141 -204T139 -197Q139 -190 144 -183Q157 -157 378 274T602 707Q605 716 618 716Q625 716 630 712T636 703T638 696Q638 691 406 241T170 -212Q166 -215 159 -215'], + + // LATIN CAPITAL LETTER A + 0x41: [716,0,750,35,726,'208 74Q208 50 254 46Q272 46 272 35Q272 34 270 22Q267 8 264 4T251 0Q249 0 239 0T205 1T141 2Q70 2 50 0H42Q35 7 35 11Q37 38 48 46H62Q132 49 164 96Q170 102 345 401T523 704Q530 716 547 716H555H572Q578 707 578 706L606 383Q634 60 636 57Q641 46 701 46Q726 46 726 36Q726 34 723 22Q720 7 718 4T704 0Q701 0 690 0T651 1T578 2Q484 2 455 0H443Q437 6 437 9T439 27Q443 40 445 43L449 46H469Q523 49 533 63L521 213H283L249 155Q208 86 208 74ZM516 260Q516 271 504 416T490 562L463 519Q447 492 400 412L310 260L413 259Q516 259 516 260'], + + // LATIN CAPITAL LETTER B + 0x42: [683,0,759,35,756,'231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229'], + + // LATIN CAPITAL LETTER C + 0x43: [705,22,715,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252'], + + // LATIN CAPITAL LETTER D + 0x44: [683,0,828,33,803,'287 628Q287 635 230 637Q207 637 200 638T193 647Q193 655 197 667T204 682Q206 683 403 683Q570 682 590 682T630 676Q702 659 752 597T803 431Q803 275 696 151T444 3L430 1L236 0H125H72Q48 0 41 2T33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM703 469Q703 507 692 537T666 584T629 613T590 629T555 636Q553 636 541 636T512 636T479 637H436Q392 637 386 627Q384 623 313 339T242 52Q242 48 253 48T330 47Q335 47 349 47T373 46Q499 46 581 128Q617 164 640 212T683 339T703 469'], + + // LATIN CAPITAL LETTER E + 0x45: [680,0,738,31,764,'492 213Q472 213 472 226Q472 230 477 250T482 285Q482 316 461 323T364 330H312Q311 328 277 192T243 52Q243 48 254 48T334 46Q428 46 458 48T518 61Q567 77 599 117T670 248Q680 270 683 272Q690 274 698 274Q718 274 718 261Q613 7 608 2Q605 0 322 0H133Q31 0 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H757Q764 676 764 669Q764 664 751 557T737 447Q735 440 717 440H705Q698 445 698 453L701 476Q704 500 704 528Q704 558 697 578T678 609T643 625T596 632T532 634H485Q397 633 392 631Q388 629 386 622Q385 619 355 499T324 377Q347 376 372 376H398Q464 376 489 391T534 472Q538 488 540 490T557 493Q562 493 565 493T570 492T572 491T574 487T577 483L544 351Q511 218 508 216Q505 213 492 213'], + + // LATIN CAPITAL LETTER F + 0x46: [680,0,643,31,749,'48 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H742Q749 676 749 669Q749 664 736 557T722 447Q720 440 702 440H690Q683 445 683 453Q683 454 686 477T689 530Q689 560 682 579T663 610T626 626T575 633T503 634H480Q398 633 393 631Q388 629 386 623Q385 622 352 492L320 363H375Q378 363 398 363T426 364T448 367T472 374T489 386Q502 398 511 419T524 457T529 475Q532 480 548 480H560Q567 475 567 470Q567 467 536 339T502 207Q500 200 482 200H470Q463 206 463 212Q463 215 468 234T473 274Q473 303 453 310T364 317H309L277 190Q245 66 245 60Q245 46 334 46H359Q365 40 365 39T363 19Q359 6 353 0H336Q295 2 185 2Q120 2 86 2T48 1'], + + // LATIN CAPITAL LETTER G + 0x47: [705,22,786,50,760,'50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q492 659 471 656T418 643T357 615T294 567T236 496T189 394T158 260Q156 242 156 221Q156 173 170 136T206 79T256 45T308 28T353 24Q407 24 452 47T514 106Q517 114 529 161T541 214Q541 222 528 224T468 227H431Q425 233 425 235T427 254Q431 267 437 273H454Q494 271 594 271Q634 271 659 271T695 272T707 272Q721 272 721 263Q721 261 719 249Q714 230 709 228Q706 227 694 227Q674 227 653 224Q646 221 643 215T629 164Q620 131 614 108Q589 6 586 3Q584 1 581 1Q571 1 553 21T530 52Q530 53 528 52T522 47Q448 -22 322 -22Q201 -22 126 55T50 252'], + + // LATIN CAPITAL LETTER H + 0x48: [683,0,831,31,888,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 219 683Q260 681 355 681Q389 681 418 681T463 682T483 682Q499 682 499 672Q499 670 497 658Q492 641 487 638H485Q483 638 480 638T473 638T464 637T455 637Q416 636 405 634T387 623Q384 619 355 500Q348 474 340 442T328 395L324 380Q324 378 469 378H614L615 381Q615 384 646 504Q674 619 674 627T617 637Q594 637 587 639T580 648Q580 650 582 660Q586 677 588 679T604 682Q609 682 646 681T740 680Q802 680 835 681T871 682Q888 682 888 672Q888 645 876 638H874Q872 638 869 638T862 638T853 637T844 637Q805 636 794 634T776 623Q773 618 704 340T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q520 50 522 50T528 55T534 64T540 82T547 110T558 153Q565 181 569 198Q602 330 602 331T457 332H312L279 197Q245 63 245 58Q245 51 253 49T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], + + // LATIN CAPITAL LETTER I + 0x49: [683,0,440,26,504,'43 1Q26 1 26 10Q26 12 29 24Q34 43 39 45Q42 46 54 46H60Q120 46 136 53Q137 53 138 54Q143 56 149 77T198 273Q210 318 216 344Q286 624 286 626Q284 630 284 631Q274 637 213 637H193Q184 643 189 662Q193 677 195 680T209 683H213Q285 681 359 681Q481 681 487 683H497Q504 676 504 672T501 655T494 639Q491 637 471 637Q440 637 407 634Q393 631 388 623Q381 609 337 432Q326 385 315 341Q245 65 245 59Q245 52 255 50T307 46H339Q345 38 345 37T342 19Q338 6 332 0H316Q279 2 179 2Q143 2 113 2T65 2T43 1'], + + // LATIN CAPITAL LETTER J + 0x4A: [683,22,555,57,633,'447 625Q447 637 354 637H329Q323 642 323 645T325 664Q329 677 335 683H352Q393 681 498 681Q541 681 568 681T605 682T619 682Q633 682 633 672Q633 670 630 658Q626 642 623 640T604 637Q552 637 545 623Q541 610 483 376Q420 128 419 127Q397 64 333 21T195 -22Q137 -22 97 8T57 88Q57 130 80 152T132 174Q177 174 182 130Q182 98 164 80T123 56Q115 54 115 53T122 44Q148 15 197 15Q235 15 271 47T324 130Q328 142 387 380T447 625'], + + // LATIN CAPITAL LETTER K + 0x4B: [683,0,849,31,889,'285 628Q285 635 228 637Q205 637 198 638T191 647Q191 649 193 661Q199 681 203 682Q205 683 214 683H219Q260 681 355 681Q389 681 418 681T463 682T483 682Q500 682 500 674Q500 669 497 660Q496 658 496 654T495 648T493 644T490 641T486 639T479 638T470 637T456 637Q416 636 405 634T387 623L306 305Q307 305 490 449T678 597Q692 611 692 620Q692 635 667 637Q651 637 651 648Q651 650 654 662T659 677Q662 682 676 682Q680 682 711 681T791 680Q814 680 839 681T869 682Q889 682 889 672Q889 650 881 642Q878 637 862 637Q787 632 726 586Q710 576 656 534T556 455L509 418L518 396Q527 374 546 329T581 244Q656 67 661 61Q663 59 666 57Q680 47 717 46H738Q744 38 744 37T741 19Q737 6 731 0H720Q680 3 625 3Q503 3 488 0H478Q472 6 472 9T474 27Q478 40 480 43T491 46H494Q544 46 544 71Q544 75 517 141T485 216L427 354L359 301L291 248L268 155Q245 63 245 58Q245 51 253 49T303 46H334Q340 37 340 35Q340 19 333 5Q328 0 317 0Q314 0 280 1T180 2Q118 2 85 2T49 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628'], + + // LATIN CAPITAL LETTER L + 0x4C: [683,2,681,32,647,'228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 217 683Q271 680 344 680Q485 680 506 683H518Q524 677 524 674T522 656Q517 641 513 637H475Q406 636 394 628Q387 624 380 600T313 336Q297 271 279 198T252 88L243 52Q243 48 252 48T311 46H328Q360 46 379 47T428 54T478 72T522 106T564 161Q580 191 594 228T611 270Q616 273 628 273H641Q647 264 647 262T627 203T583 83T557 9Q555 4 553 3T537 0T494 -1Q483 -1 418 -1T294 0H116Q32 0 32 10Q32 17 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637'], + + // LATIN CAPITAL LETTER M + 0x4D: [684,0,970,35,1051,'289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629'], + + // LATIN CAPITAL LETTER N + 0x4E: [683,0,803,31,888,'234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637'], + + // LATIN CAPITAL LETTER O + 0x4F: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM637 476Q637 565 591 615T476 665Q396 665 322 605Q242 542 200 428T157 216Q157 126 200 73T314 19Q404 19 485 98T608 313Q637 408 637 476'], + + // LATIN CAPITAL LETTER P + 0x50: [683,0,642,33,751,'287 628Q287 635 230 637Q206 637 199 638T192 648Q192 649 194 659Q200 679 203 681T397 683Q587 682 600 680Q664 669 707 631T751 530Q751 453 685 389Q616 321 507 303Q500 302 402 301H307L277 182Q247 66 247 59Q247 55 248 54T255 50T272 48T305 46H336Q342 37 342 35Q342 19 335 5Q330 0 319 0Q316 0 282 1T182 2Q120 2 87 2T51 1Q33 1 33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM645 554Q645 567 643 575T634 597T609 619T560 635Q553 636 480 637Q463 637 445 637T416 636T404 636Q391 635 386 627Q384 621 367 550T332 412T314 344Q314 342 395 342H407H430Q542 342 590 392Q617 419 631 471T645 554'], + + // LATIN CAPITAL LETTER Q + 0x51: [704,194,791,50,740,'399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18'], + + // LATIN CAPITAL LETTER R + 0x52: [683,21,759,33,755,'230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554'], + + // LATIN CAPITAL LETTER S + 0x53: [705,22,613,52,645,'308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24'], + + // LATIN CAPITAL LETTER T + 0x54: [677,0,584,21,704,'40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40'], + + // LATIN CAPITAL LETTER U + 0x55: [683,22,683,60,767,'107 637Q73 637 71 641Q70 643 70 649Q70 673 81 682Q83 683 98 683Q139 681 234 681Q268 681 297 681T342 682T362 682Q378 682 378 672Q378 670 376 658Q371 641 366 638H364Q362 638 359 638T352 638T343 637T334 637Q295 636 284 634T266 623Q265 621 238 518T184 302T154 169Q152 155 152 140Q152 86 183 55T269 24Q336 24 403 69T501 205L552 406Q599 598 599 606Q599 633 535 637Q511 637 511 648Q511 650 513 660Q517 676 519 679T529 683Q532 683 561 682T645 680Q696 680 723 681T752 682Q767 682 767 672Q767 650 759 642Q756 637 737 637Q666 633 648 597Q646 592 598 404Q557 235 548 205Q515 105 433 42T263 -22Q171 -22 116 34T60 167V183Q60 201 115 421Q164 622 164 628Q164 635 107 637'], + + // LATIN CAPITAL LETTER V + 0x56: [683,22,583,52,769,'52 648Q52 670 65 683H76Q118 680 181 680Q299 680 320 683H330Q336 677 336 674T334 656Q329 641 325 637H304Q282 635 274 635Q245 630 242 620Q242 618 271 369T301 118L374 235Q447 352 520 471T595 594Q599 601 599 609Q599 633 555 637Q537 637 537 648Q537 649 539 661Q542 675 545 679T558 683Q560 683 570 683T604 682T668 681Q737 681 755 683H762Q769 676 769 672Q769 655 760 640Q757 637 743 637Q730 636 719 635T698 630T682 623T670 615T660 608T652 599T645 592L452 282Q272 -9 266 -16Q263 -18 259 -21L241 -22H234Q216 -22 216 -15Q213 -9 177 305Q139 623 138 626Q133 637 76 637H59Q52 642 52 648'], + + // LATIN CAPITAL LETTER W + 0x57: [683,22,944,51,1048,'436 683Q450 683 486 682T553 680Q604 680 638 681T677 682Q695 682 695 674Q695 670 692 659Q687 641 683 639T661 637Q636 636 621 632T600 624T597 615Q597 603 613 377T629 138L631 141Q633 144 637 151T649 170T666 200T690 241T720 295T759 362Q863 546 877 572T892 604Q892 619 873 628T831 637Q817 637 817 647Q817 650 819 660Q823 676 825 679T839 682Q842 682 856 682T895 682T949 681Q1015 681 1034 683Q1048 683 1048 672Q1048 666 1045 655T1038 640T1028 637Q1006 637 988 631T958 617T939 600T927 584L923 578L754 282Q586 -14 585 -15Q579 -22 561 -22Q546 -22 542 -17Q539 -14 523 229T506 480L494 462Q472 425 366 239Q222 -13 220 -15T215 -19Q210 -22 197 -22Q178 -22 176 -15Q176 -12 154 304T131 622Q129 631 121 633T82 637H58Q51 644 51 648Q52 671 64 683H76Q118 680 176 680Q301 680 313 683H323Q329 677 329 674T327 656Q322 641 318 637H297Q236 634 232 620Q262 160 266 136L501 550L499 587Q496 629 489 632Q483 636 447 637Q428 637 422 639T416 648Q416 650 418 660Q419 664 420 669T421 676T424 680T428 682T436 683'], + + // LATIN CAPITAL LETTER X + 0x58: [683,0,828,26,852,'42 0H40Q26 0 26 11Q26 15 29 27Q33 41 36 43T55 46Q141 49 190 98Q200 108 306 224T411 342Q302 620 297 625Q288 636 234 637H206Q200 643 200 645T202 664Q206 677 212 683H226Q260 681 347 681Q380 681 408 681T453 682T473 682Q490 682 490 671Q490 670 488 658Q484 643 481 640T465 637Q434 634 411 620L488 426L541 485Q646 598 646 610Q646 628 622 635Q617 635 609 637Q594 637 594 648Q594 650 596 664Q600 677 606 683H618Q619 683 643 683T697 681T738 680Q828 680 837 683H845Q852 676 852 672Q850 647 840 637H824Q790 636 763 628T722 611T698 593L687 584Q687 585 592 480L505 384Q505 383 536 304T601 142T638 56Q648 47 699 46Q734 46 734 37Q734 35 732 23Q728 7 725 4T711 1Q708 1 678 1T589 2Q528 2 496 2T461 1Q444 1 444 10Q444 11 446 25Q448 35 450 39T455 44T464 46T480 47T506 54Q523 62 523 64Q522 64 476 181L429 299Q241 95 236 84Q232 76 232 72Q232 53 261 47Q262 47 267 47T273 46Q276 46 277 46T280 45T283 42T284 35Q284 26 282 19Q279 6 276 4T261 1Q258 1 243 1T201 2T142 2Q64 2 42 0'], + + // LATIN CAPITAL LETTER Y + 0x59: [683,-1,581,30,763,'66 637Q54 637 49 637T39 638T32 641T30 647T33 664T42 682Q44 683 56 683Q104 680 165 680Q288 680 306 683H316Q322 677 322 674T320 656Q316 643 310 637H298Q242 637 242 624Q242 619 292 477T343 333L346 336Q350 340 358 349T379 373T411 410T454 461Q546 568 561 587T577 618Q577 634 545 637Q528 637 528 647Q528 649 530 661Q533 676 535 679T549 683Q551 683 578 682T657 680Q684 680 713 681T746 682Q763 682 763 673Q763 669 760 657T755 643Q753 637 734 637Q662 632 617 587Q608 578 477 424L348 273L322 169Q295 62 295 57Q295 46 363 46Q379 46 384 45T390 35Q390 33 388 23Q384 6 382 4T366 1Q361 1 324 1T232 2Q170 2 138 2T102 1Q84 1 84 9Q84 14 87 24Q88 27 89 30T90 35T91 39T93 42T96 44T101 45T107 45T116 46T129 46Q168 47 180 50T198 63Q201 68 227 171L252 274L129 623Q128 624 127 625T125 627T122 629T118 631T113 633T105 634T96 635T83 636T66 637'], + + // LATIN CAPITAL LETTER Z + 0x5A: [683,0,683,58,723,'58 8Q58 23 64 35Q64 36 329 334T596 635L586 637Q575 637 512 637H500H476Q442 637 420 635T365 624T311 598T266 548T228 469Q227 466 226 463T224 458T223 453T222 450L221 448Q218 443 202 443Q185 443 182 453L214 561Q228 606 241 651Q249 679 253 681Q256 683 487 683H718Q723 678 723 675Q723 673 717 649Q189 54 188 52L185 49H274Q369 50 377 51Q452 60 500 100T579 247Q587 272 590 277T603 282H607Q628 282 628 271Q547 5 541 2Q538 0 300 0H124Q58 0 58 8'], + + // LATIN SMALL LETTER A + 0x61: [441,10,529,33,506,'33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328'], + + // LATIN SMALL LETTER B + 0x62: [694,11,429,40,422,'73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325'], + + // LATIN SMALL LETTER C + 0x63: [442,12,433,34,430,'34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159'], + + // LATIN SMALL LETTER D + 0x64: [694,10,520,33,523,'366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], + + // LATIN SMALL LETTER E + 0x65: [443,11,466,39,430,'39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353'], + + // LATIN SMALL LETTER F + 0x66: [705,205,490,55,550,'118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162'], + + // LATIN SMALL LETTER G + 0x67: [442,205,477,10,480,'311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328'], + + // LATIN SMALL LETTER H + 0x68: [694,11,576,48,555,'137 683Q138 683 209 688T282 694Q294 694 294 685Q294 674 258 534Q220 386 220 383Q220 381 227 388Q288 442 357 442Q411 442 444 415T478 336Q478 285 440 178T402 50Q403 36 407 31T422 26Q450 26 474 56T513 138Q516 149 519 151T535 153Q555 153 555 145Q555 144 551 130Q535 71 500 33Q466 -10 419 -10H414Q367 -10 346 17T325 74Q325 90 361 192T398 345Q398 404 354 404H349Q266 404 205 306L198 293L164 158Q132 28 127 16Q114 -11 83 -11Q69 -11 59 -2T48 16Q48 30 121 320L195 616Q195 629 188 632T149 637H128Q122 643 122 645T124 664Q129 683 137 683'], + + // LATIN SMALL LETTER I + 0x69: [661,11,345,21,302,'184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER J + 0x6A: [661,204,412,-12,403,'297 596Q297 627 318 644T361 661Q378 661 389 651T403 623Q403 595 384 576T340 557Q322 557 310 567T297 596ZM288 376Q288 405 262 405Q240 405 220 393T185 362T161 325T144 293L137 279Q135 278 121 278H107Q101 284 101 286T105 299Q126 348 164 391T252 441Q253 441 260 441T272 442Q296 441 316 432Q341 418 354 401T367 348V332L318 133Q267 -67 264 -75Q246 -125 194 -164T75 -204Q25 -204 7 -183T-12 -137Q-12 -110 7 -91T53 -71Q70 -71 82 -81T95 -112Q95 -148 63 -167Q69 -168 77 -168Q111 -168 139 -140T182 -74L193 -32Q204 11 219 72T251 197T278 308T289 365Q289 372 288 376'], + + // LATIN SMALL LETTER K + 0x6B: [694,11,521,48,503,'121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647'], + + // LATIN SMALL LETTER L + 0x6C: [695,12,298,38,266,'117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59'], + + // LATIN SMALL LETTER M + 0x6D: [443,11,878,21,857,'21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER N + 0x6E: [443,11,600,21,580,'21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER O + 0x6F: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], + + // LATIN SMALL LETTER P + 0x70: [443,194,503,-39,497,'23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102'], + + // LATIN SMALL LETTER Q + 0x71: [442,194,446,33,460,'33 157Q33 258 109 349T280 441Q340 441 372 389Q373 390 377 395T388 406T404 418Q438 442 450 442Q454 442 457 439T460 434Q460 425 391 149Q320 -135 320 -139Q320 -147 365 -148H390Q396 -156 396 -157T393 -175Q389 -188 383 -194H370Q339 -192 262 -192Q234 -192 211 -192T174 -192T157 -193Q143 -193 143 -185Q143 -182 145 -170Q149 -154 152 -151T172 -148Q220 -148 230 -141Q238 -136 258 -53T279 32Q279 33 272 29Q224 -10 172 -10Q117 -10 75 30T33 157ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326'], + + // LATIN SMALL LETTER R + 0x72: [443,11,451,21,430,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q161 442 183 430T214 408T225 388Q227 382 228 382T236 389Q284 441 347 441H350Q398 441 422 400Q430 381 430 363Q430 333 417 315T391 292T366 288Q346 288 334 299T322 328Q322 376 378 392Q356 405 342 405Q286 405 239 331Q229 315 224 298T190 165Q156 25 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER S + 0x73: [443,10,469,53,419,'131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289'], + + // LATIN SMALL LETTER T + 0x74: [626,11,361,19,330,'26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26'], + + // LATIN SMALL LETTER U + 0x75: [442,11,572,21,551,'21 287Q21 295 30 318T55 370T99 420T158 442Q204 442 227 417T250 358Q250 340 216 246T182 105Q182 62 196 45T238 27T291 44T328 78L339 95Q341 99 377 247Q407 367 413 387T427 416Q444 431 463 431Q480 431 488 421T496 402L420 84Q419 79 419 68Q419 43 426 35T447 26Q469 29 482 57T512 145Q514 153 532 153Q551 153 551 144Q550 139 549 130T540 98T523 55T498 17T462 -8Q454 -10 438 -10Q372 -10 347 46Q345 45 336 36T318 21T296 6T267 -6T233 -11Q189 -11 155 7Q103 38 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER V + 0x76: [443,11,485,21,467,'173 380Q173 405 154 405Q130 405 104 376T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Q21 294 29 316T53 368T97 419T160 441Q202 441 225 417T249 361Q249 344 246 335Q246 329 231 291T200 202T182 113Q182 86 187 69Q200 26 250 26Q287 26 319 60T369 139T398 222T409 277Q409 300 401 317T383 343T365 361T357 383Q357 405 376 424T417 443Q436 443 451 425T467 367Q467 340 455 284T418 159T347 40T241 -11Q177 -11 139 22Q102 54 102 117Q102 148 110 181T151 298Q173 362 173 380'], + + // LATIN SMALL LETTER W + 0x77: [443,11,716,21,690,'580 385Q580 406 599 424T641 443Q659 443 674 425T690 368Q690 339 671 253Q656 197 644 161T609 80T554 12T482 -11Q438 -11 404 5T355 48Q354 47 352 44Q311 -11 252 -11Q226 -11 202 -5T155 14T118 53T104 116Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 293 29 315T52 366T96 418T161 441Q204 441 227 416T250 358Q250 340 217 250T184 111Q184 65 205 46T258 26Q301 26 334 87L339 96V119Q339 122 339 128T340 136T341 143T342 152T345 165T348 182T354 206T362 238T373 281Q402 395 406 404Q419 431 449 431Q468 431 475 421T483 402Q483 389 454 274T422 142Q420 131 420 107V100Q420 85 423 71T442 42T487 26Q558 26 600 148Q609 171 620 213T632 273Q632 306 619 325T593 357T580 385'], + + // LATIN SMALL LETTER X + 0x78: [442,11,572,35,522,'52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289'], + + // LATIN SMALL LETTER Y + 0x79: [443,205,490,21,497,'21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287'], + + // LATIN SMALL LETTER Z + 0x7A: [442,11,465,35,468,'347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338'], + + // GREEK CAPITAL LETTER GAMMA + 0x393: [680,-1,615,31,721,'49 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H714Q721 676 721 669Q721 664 708 557T694 447Q692 440 674 440H662Q655 445 655 454Q655 455 658 480T661 534Q661 572 652 592Q638 619 603 626T501 634H471Q398 633 393 630Q389 628 386 622Q385 619 315 341T245 60Q245 46 333 46H345Q366 46 366 35Q366 33 363 21T358 6Q356 1 339 1Q334 1 292 1T187 2Q122 2 88 2T49 1'], + + // GREEK CAPITAL LETTER THETA + 0x398: [704,22,763,50,740,'740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM640 466Q640 523 625 565T583 628T532 658T479 668Q370 668 273 559T151 255Q150 245 150 213Q150 156 165 116T207 55T259 26T313 17Q385 17 451 63T561 184Q590 234 615 312T640 466ZM510 276Q510 278 512 288L515 298Q515 299 384 299H253L250 285Q246 271 244 268T231 265H227Q216 265 214 266T207 274Q207 278 223 345T244 416Q247 419 260 419H263Q280 419 280 408Q280 406 278 396L275 386Q275 385 406 385H537L540 399Q544 413 546 416T559 419H563Q574 419 576 418T583 410Q583 403 566 339Q549 271 544 267Q542 265 538 265H530H527Q510 265 510 276'], + + // GREEK CAPITAL LETTER LAMDA + 0x39B: [716,0,694,35,670,'135 2Q114 2 90 2T60 1Q35 1 35 11Q35 28 42 40Q45 46 55 46Q119 46 151 94Q153 97 325 402T498 709Q505 716 526 716Q543 716 549 710Q550 709 560 548T580 224T591 57Q594 52 595 52Q603 47 638 46H663Q670 39 670 35Q669 12 657 0H644Q613 2 530 2Q497 2 469 2T424 2T405 1Q388 1 388 10Q388 15 391 24Q392 27 393 32T395 38T397 41T401 44T406 45T415 46Q473 46 487 64L472 306Q468 365 465 426T459 518L457 550Q456 550 328 322T198 88Q196 80 196 77Q196 49 243 46Q261 46 261 35Q261 34 259 22Q256 7 254 4T240 0Q237 0 211 1T135 2'], + + // GREEK CAPITAL LETTER XI + 0x39E: [678,0,742,53,777,'222 668Q222 670 229 677H654Q677 677 705 677T740 678Q764 678 770 676T777 667Q777 662 764 594Q761 579 757 559T751 528L749 519Q747 512 729 512H717Q710 519 710 525Q712 532 715 559T719 591Q718 595 711 595Q682 598 486 598Q252 598 246 592Q239 587 228 552L216 517Q214 512 197 512H185Q178 517 178 522Q178 524 198 591T222 668ZM227 262Q218 262 215 262T209 266L207 270L227 356Q247 435 250 439Q253 443 260 443H267H280Q287 438 287 433Q287 430 285 420T280 402L278 393Q278 392 431 392H585L590 415Q595 436 598 439T612 443H628Q635 438 635 433Q635 431 615 351T594 268Q592 262 575 262H572Q556 262 556 272Q556 280 560 293L565 313H258L252 292Q248 271 245 267T230 262H227ZM60 0Q53 4 53 11Q53 14 68 89T84 169Q88 176 98 176H104H116Q123 169 123 163Q122 160 117 127T112 88Q112 80 243 80H351H454Q554 80 574 81T597 88V89Q603 100 610 121T622 157T630 174Q633 176 646 176H658Q665 171 665 166Q665 164 643 89T618 7Q616 2 607 1T548 0H335H60'], + + // GREEK CAPITAL LETTER PI + 0x3A0: [681,0,831,31,887,'48 1Q31 1 31 10Q31 12 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 661Q197 674 203 680H541Q621 680 709 680T812 681Q841 681 855 681T877 679T886 676T887 670Q887 663 885 656Q880 637 875 635Q871 634 860 634H854Q827 634 794 631Q780 628 775 619Q773 614 704 338T634 58Q634 51 638 51Q646 48 692 46H723Q729 38 729 37T726 19Q722 6 716 0H701Q664 2 567 2Q533 2 504 2T458 2T437 1Q420 1 420 10Q420 15 423 24Q428 43 433 45Q437 46 448 46H454Q481 46 514 49Q528 52 533 61Q536 67 572 209T642 491T678 632Q678 634 533 634H388Q387 631 316 347T245 59Q245 55 246 54T253 50T270 48T303 46H334Q340 38 340 37T337 19Q333 6 327 0H312Q275 2 178 2Q144 2 115 2T69 2T48 1'], + + // GREEK CAPITAL LETTER SIGMA + 0x3A3: [683,0,780,58,806,'65 0Q58 4 58 11Q58 16 114 67Q173 119 222 164L377 304Q378 305 340 386T261 552T218 644Q217 648 219 660Q224 678 228 681Q231 683 515 683H799Q804 678 806 674Q806 667 793 559T778 448Q774 443 759 443Q747 443 743 445T739 456Q739 458 741 477T743 516Q743 552 734 574T710 609T663 627T596 635T502 637Q480 637 469 637H339Q344 627 411 486T478 341V339Q477 337 477 336L457 318Q437 300 398 265T322 196L168 57Q167 56 188 56T258 56H359Q426 56 463 58T537 69T596 97T639 146T680 225Q686 243 689 246T702 250H705Q726 250 726 239Q726 238 683 123T639 5Q637 1 610 1Q577 0 348 0H65'], + + // GREEK CAPITAL LETTER UPSILON + 0x3A5: [706,0,583,28,700,'45 535Q34 535 31 536T28 544Q28 554 39 578T70 631T126 683T206 705Q230 705 251 698T295 671T330 612T344 514Q344 477 342 473V472Q343 472 347 480T361 509T380 547Q471 704 596 704Q615 704 625 702Q659 692 679 663T700 595Q700 565 696 552T687 537T670 535Q656 535 653 536T649 543Q649 544 649 550T650 562Q650 589 629 605T575 621Q502 621 448 547T365 361Q290 70 290 60Q290 46 379 46H404Q410 40 410 39T408 19Q404 6 398 0H381Q340 2 225 2Q184 2 149 2T94 2T69 1Q61 1 58 1T53 4T51 10Q51 11 53 23Q54 25 55 30T56 36T58 40T60 43T62 44T67 46T73 46T82 46H89Q144 46 163 49T190 62L198 93Q206 124 217 169T241 262T262 350T274 404Q281 445 281 486V494Q281 621 185 621Q147 621 116 601T74 550Q71 539 66 537T45 535'], + + // GREEK CAPITAL LETTER PHI + 0x3A6: [683,0,667,24,642,'356 624Q356 637 267 637H243Q237 642 237 645T239 664Q243 677 249 683H264Q342 681 429 681Q565 681 571 683H583Q589 677 589 674T587 656Q582 641 578 637H540Q516 637 504 637T479 633T463 630T454 623T448 613T443 597T438 576Q436 566 434 556T430 539L428 533Q442 533 472 526T543 502T613 451T642 373Q642 301 567 241T386 158L336 150Q332 150 331 146Q310 66 310 60Q310 46 399 46H424Q430 40 430 39T428 19Q424 6 418 0H401Q360 2 247 2Q207 2 173 2T119 2T95 1Q87 1 84 1T79 4T77 10Q77 11 79 23Q80 25 81 30T82 36T84 40T86 43T88 44T93 46T99 46T108 46H115Q170 46 189 49T216 62Q220 74 228 107L239 150L223 152Q139 164 82 205T24 311Q24 396 125 462Q207 517 335 533L346 578Q356 619 356 624ZM130 291Q130 203 241 188H249Q249 190 287 342L325 495H324Q313 495 291 491T229 466T168 414Q130 357 130 291ZM536 393Q536 440 507 463T418 496L341 187L351 189Q443 201 487 255Q536 314 536 393'], + + // GREEK CAPITAL LETTER PSI + 0x3A8: [683,0,612,21,692,'216 151Q48 174 48 329Q48 361 56 403T65 458Q65 482 58 494T43 507T28 510T21 520Q21 528 23 534T29 544L32 546H72H94Q110 546 119 544T139 536T154 514T159 476V465Q159 445 149 399T138 314Q142 229 197 201Q223 187 226 190L233 218Q240 246 253 300T280 407Q333 619 333 625Q333 637 244 637H220Q214 642 214 645T216 664Q220 677 226 683H241Q321 681 405 681Q543 681 549 683H560Q566 677 566 674T564 656Q559 641 555 637H517Q448 636 436 628Q429 623 423 600T373 404L320 192Q370 201 419 248Q451 281 469 317T500 400T518 457Q529 486 542 505T569 532T594 543T621 546H644H669Q692 546 692 536Q691 509 676 509Q623 509 593 399Q587 377 579 355T552 301T509 244T446 195T359 159Q324 151 314 151Q311 151 310 150T298 106T287 60Q287 46 376 46H401Q407 40 407 39T405 19Q401 6 395 0H378Q337 2 224 2Q184 2 150 2T96 2T72 1Q64 1 61 1T56 4T54 10Q54 11 56 23Q57 25 58 30T59 36T61 40T63 43T65 44T70 46T76 46T85 46H92Q147 46 166 49T193 62L204 106Q216 149 216 151'], + + // GREEK CAPITAL LETTER OMEGA + 0x3A9: [704,0,772,80,786,'125 84Q127 78 194 76H243V78Q243 122 208 215T165 350Q164 359 162 389Q162 522 272 610Q328 656 396 680T525 704Q628 704 698 661Q734 637 755 601T781 544T786 504Q786 439 747 374T635 226T537 109Q518 81 518 77Q537 76 557 76Q608 76 620 78T640 92Q646 100 656 119T673 155T683 172Q690 173 698 173Q718 173 718 162Q718 161 681 82T642 2Q639 0 550 0H461Q455 5 455 9T458 28Q472 78 510 149T584 276T648 402T677 525Q677 594 636 631T530 668Q476 668 423 641T335 568Q284 499 271 400Q270 388 270 348Q270 298 277 228T285 115Q285 82 280 49T271 6Q269 1 258 1T175 0H87Q83 3 80 7V18Q80 22 82 98Q84 156 85 163T91 172Q94 173 104 173T119 172Q124 169 124 126Q125 104 125 84'], + + // GREEK SMALL LETTER ALPHA + 0x3B1: [442,11,640,34,603,'34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26'], + + // GREEK SMALL LETTER BETA + 0x3B2: [705,194,566,23,573,'29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431'], + + // GREEK SMALL LETTER GAMMA + 0x3B3: [441,216,518,11,543,'31 249Q11 249 11 258Q11 275 26 304T66 365T129 418T206 441Q233 441 239 440Q287 429 318 386T371 255Q385 195 385 170Q385 166 386 166L398 193Q418 244 443 300T486 391T508 430Q510 431 524 431H537Q543 425 543 422Q543 418 522 378T463 251T391 71Q385 55 378 6T357 -100Q341 -165 330 -190T303 -216Q286 -216 286 -188Q286 -138 340 32L346 51L347 69Q348 79 348 100Q348 257 291 317Q251 355 196 355Q148 355 108 329T51 260Q49 251 47 251Q45 249 31 249'], + + // GREEK SMALL LETTER DELTA + 0x3B4: [717,10,444,36,451,'195 609Q195 656 227 686T302 717Q319 716 351 709T407 697T433 690Q451 682 451 662Q451 644 438 628T403 612Q382 612 348 641T288 671T249 657T235 628Q235 584 334 463Q401 379 401 292Q401 169 340 80T205 -10H198Q127 -10 83 36T36 153Q36 286 151 382Q191 413 252 434Q252 435 245 449T230 481T214 521T201 566T195 609ZM112 130Q112 83 136 55T204 27Q233 27 256 51T291 111T309 178T316 232Q316 267 309 298T295 344T269 400L259 396Q215 381 183 342T137 256T118 179T112 130'], + + // GREEK SMALL LETTER EPSILON + 0x3B5: [452,23,466,27,428,'190 -22Q124 -22 76 11T27 107Q27 174 97 232L107 239L99 248Q76 273 76 304Q76 364 144 408T290 452H302Q360 452 405 421Q428 405 428 392Q428 381 417 369T391 356Q382 356 371 365T338 383T283 392Q217 392 167 368T116 308Q116 289 133 272Q142 263 145 262T157 264Q188 278 238 278H243Q308 278 308 247Q308 206 223 206Q177 206 142 219L132 212Q68 169 68 112Q68 39 201 39Q253 39 286 49T328 72T345 94T362 105Q376 103 376 88Q376 79 365 62T334 26T275 -8T190 -22'], + + // GREEK SMALL LETTER ZETA + 0x3B6: [704,204,438,44,471,'296 643Q298 704 324 704Q342 704 342 687Q342 682 339 664T336 633Q336 623 337 618T338 611Q339 612 341 612Q343 614 354 616T374 618L384 619H394Q471 619 471 586Q467 548 386 546H372Q338 546 320 564L311 558Q235 506 175 398T114 190Q114 171 116 155T125 127T137 104T153 86T171 72T192 61T213 53T235 46T256 39L322 16Q389 -10 389 -80Q389 -119 364 -154T300 -202Q292 -204 274 -204Q247 -204 225 -196Q210 -192 193 -182T172 -167Q167 -159 173 -148Q180 -139 191 -139Q195 -139 221 -153T283 -168Q298 -166 310 -152T322 -117Q322 -91 302 -75T250 -51T183 -29T116 4T65 62T44 160Q44 287 121 410T293 590L302 595Q296 613 296 643'], + + // GREEK SMALL LETTER ETA + 0x3B7: [443,216,497,21,503,'21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q156 442 175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336V326Q503 302 439 53Q381 -182 377 -189Q364 -216 332 -216Q319 -216 310 -208T299 -186Q299 -177 358 57L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287'], + + // GREEK SMALL LETTER THETA + 0x3B8: [705,10,469,35,462,'35 200Q35 302 74 415T180 610T319 704Q320 704 327 704T339 705Q393 701 423 656Q462 596 462 495Q462 380 417 261T302 66T168 -10H161Q125 -10 99 10T60 63T41 130T35 200ZM383 566Q383 668 330 668Q294 668 260 623T204 521T170 421T157 371Q206 370 254 370L351 371Q352 372 359 404T375 484T383 566ZM113 132Q113 26 166 26Q181 26 198 36T239 74T287 161T335 307L340 324H145Q145 321 136 286T120 208T113 132'], + + // GREEK SMALL LETTER IOTA + 0x3B9: [442,10,354,48,333,'139 -10Q111 -10 92 0T64 25T52 52T48 74Q48 89 55 109T85 199T135 375L137 384Q139 394 140 397T145 409T151 422T160 431T173 439T190 442Q202 442 213 435T225 410Q225 404 214 358T181 238T137 107Q126 74 126 54Q126 43 126 39T130 31T142 27H147Q206 27 255 78Q272 98 281 114T290 138T295 149T313 153Q321 153 324 153T329 152T332 149T332 143Q332 106 276 48T145 -10H139'], + + // GREEK SMALL LETTER KAPPA + 0x3BA: [442,11,576,48,554,'83 -11Q70 -11 62 -4T51 8T49 17Q49 30 96 217T147 414Q160 442 193 442Q205 441 213 435T223 422T225 412Q225 401 208 337L192 270Q193 269 208 277T235 292Q252 304 306 349T396 412T467 431Q489 431 500 420T512 391Q512 366 494 347T449 327Q430 327 418 338T405 368Q405 370 407 380L397 375Q368 360 315 315L253 266L240 257H245Q262 257 300 251T366 230Q422 203 422 150Q422 140 417 114T411 67Q411 26 437 26Q484 26 513 137Q516 149 519 151T535 153Q554 153 554 144Q554 121 527 64T457 -7Q447 -10 431 -10Q386 -10 360 17T333 90Q333 108 336 122T339 146Q339 170 320 186T271 209T222 218T185 221H180L155 122Q129 22 126 16Q113 -11 83 -11'], + + // GREEK SMALL LETTER LAMDA + 0x3BB: [694,12,583,47,557,'166 673Q166 685 183 694H202Q292 691 316 644Q322 629 373 486T474 207T524 67Q531 47 537 34T546 15T551 6T555 2T556 -2T550 -11H482Q457 3 450 18T399 152L354 277L340 262Q327 246 293 207T236 141Q211 112 174 69Q123 9 111 -1T83 -12Q47 -12 47 20Q47 37 61 52T199 187Q229 216 266 252T321 306L338 322Q338 323 288 462T234 612Q214 657 183 657Q166 657 166 673'], + + // GREEK SMALL LETTER MU + 0x3BC: [442,216,603,23,580,'58 -216Q44 -216 34 -208T23 -186Q23 -176 96 116T173 414Q186 442 219 442Q231 441 239 435T249 423T251 413Q251 401 220 279T187 142Q185 131 185 107V99Q185 26 252 26Q261 26 270 27T287 31T302 38T315 45T327 55T338 65T348 77T356 88T365 100L372 110L408 253Q444 395 448 404Q461 431 491 431Q504 431 512 424T523 412T525 402L449 84Q448 79 448 68Q448 43 455 35T476 26Q485 27 496 35Q517 55 537 131Q543 151 547 152Q549 153 557 153H561Q580 153 580 144Q580 138 575 117T555 63T523 13Q510 0 491 -8Q483 -10 467 -10Q446 -10 429 -4T402 11T385 29T376 44T374 51L368 45Q362 39 350 30T324 12T288 -4T246 -11Q199 -11 153 12L129 -85Q108 -167 104 -180T92 -202Q76 -216 58 -216'], + + // GREEK SMALL LETTER NU + 0x3BD: [442,2,494,45,530,'74 431Q75 431 146 436T219 442Q231 442 231 434Q231 428 185 241L137 51H140L150 55Q161 59 177 67T214 86T261 119T312 165Q410 264 445 394Q458 442 496 442Q509 442 519 434T530 411Q530 390 516 352T469 262T388 162T267 70T106 5Q81 -2 71 -2Q66 -2 59 -1T51 1Q45 5 45 11Q45 13 88 188L132 364Q133 377 125 380T86 385H65Q59 391 59 393T61 412Q65 431 74 431'], + + // GREEK SMALL LETTER XI + 0x3BE: [704,205,438,21,443,'268 632Q268 704 296 704Q314 704 314 687Q314 682 311 664T308 635T309 620V616H315Q342 619 360 619Q443 619 443 586Q439 548 358 546H344Q326 546 317 549T290 566Q257 550 226 505T195 405Q195 381 201 364T211 342T218 337Q266 347 298 347Q375 347 375 314Q374 297 359 288T327 277T280 275Q234 275 208 283L195 286Q149 260 119 214T88 130Q88 116 90 108Q101 79 129 63T229 20Q238 17 243 15Q337 -21 354 -33Q383 -53 383 -94Q383 -137 351 -171T273 -205Q240 -205 202 -190T158 -167Q156 -163 156 -159Q156 -151 161 -146T176 -140Q182 -140 189 -143Q232 -168 274 -168Q286 -168 292 -165Q313 -151 313 -129Q313 -112 301 -104T232 -75Q214 -68 204 -64Q198 -62 171 -52T136 -38T107 -24T78 -8T56 12T36 37T26 66T21 103Q21 149 55 206T145 301L154 307L148 313Q141 319 136 323T124 338T111 358T103 382T99 413Q99 471 143 524T259 602L271 607Q268 618 268 632'], + + // GREEK SMALL LETTER OMICRON + 0x3BF: [441,11,485,34,476,'201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120'], + + // GREEK SMALL LETTER PI + 0x3C0: [431,11,570,19,573,'132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11'], + + // GREEK SMALL LETTER RHO + 0x3C1: [442,216,517,23,510,'58 -216Q25 -216 23 -186Q23 -176 73 26T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 219 486 165T425 74T345 13T266 -10H255H248Q197 -10 165 35L160 41L133 -71Q108 -168 104 -181T92 -202Q76 -216 58 -216ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q217 269 193 170L176 102Q193 26 260 26Q298 26 334 62Q367 92 389 158T418 266T424 322'], + + // GREEK SMALL LETTER FINAL SIGMA + 0x3C2: [442,107,363,30,405,'31 207Q31 306 115 374T302 442Q341 442 373 430T405 400Q405 392 399 383T379 374Q373 375 348 390T296 405Q222 405 160 357T98 249Q98 232 103 218T112 195T132 175T154 159T186 141T219 122Q234 114 255 102T286 85T299 78L302 74Q306 71 308 69T315 61T322 51T328 40T332 25T334 8Q334 -31 305 -69T224 -107Q194 -107 163 -92Q156 -88 156 -80Q156 -73 162 -67T178 -61Q186 -61 190 -63Q209 -71 224 -71Q244 -71 253 -59T263 -30Q263 -25 263 -21T260 -12T255 -4T248 3T239 9T227 17T213 25T195 34T174 46Q170 48 150 58T122 74T97 90T70 112T51 137T36 169T31 207'], + + // GREEK SMALL LETTER SIGMA + 0x3C3: [431,11,571,31,572,'184 -11Q116 -11 74 34T31 147Q31 247 104 333T274 430Q275 431 414 431H552Q553 430 555 429T559 427T562 425T565 422T567 420T569 416T570 412T571 407T572 401Q572 357 507 357Q500 357 490 357T476 358H416L421 348Q439 310 439 263Q439 153 359 71T184 -11ZM361 278Q361 358 276 358Q152 358 115 184Q114 180 114 178Q106 141 106 117Q106 67 131 47T188 26Q242 26 287 73Q316 103 334 153T356 233T361 278'], + + // GREEK SMALL LETTER TAU + 0x3C4: [431,13,437,18,517,'39 284Q18 284 18 294Q18 301 45 338T99 398Q134 425 164 429Q170 431 332 431Q492 431 497 429Q517 424 517 402Q517 388 508 376T485 360Q479 358 389 358T299 356Q298 355 283 274T251 109T233 20Q228 5 215 -4T186 -13Q153 -13 153 20V30L203 192Q214 228 227 272T248 336L254 357Q254 358 208 358Q206 358 197 358T183 359Q105 359 61 295Q56 287 53 286T39 284'], + + // GREEK SMALL LETTER UPSILON + 0x3C5: [443,10,540,21,523,'413 384Q413 406 432 424T473 443Q492 443 507 425T523 367Q523 334 508 270T468 153Q424 63 373 27T282 -10H268Q220 -10 186 2T135 36T111 78T104 121Q104 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441Q200 441 225 419T250 355Q248 336 247 334Q247 331 232 291T201 199T185 118Q185 68 211 47T275 26Q317 26 355 57T416 132T452 216T465 277Q465 301 457 318T439 343T421 361T413 384'], + + // GREEK SMALL LETTER PHI + 0x3C6: [442,218,654,50,618,'92 210Q92 176 106 149T142 108T185 85T220 72L235 70L237 71L250 112Q268 170 283 211T322 299T370 375T429 423T502 442Q547 442 582 410T618 302Q618 224 575 152T457 35T299 -10Q273 -10 273 -12L266 -48Q260 -83 252 -125T241 -179Q236 -203 215 -212Q204 -218 190 -218Q159 -215 159 -185Q159 -175 214 -2L209 0Q204 2 195 5T173 14T147 28T120 46T94 71T71 103T56 142T50 190Q50 238 76 311T149 431H162Q183 431 183 423Q183 417 175 409Q134 361 114 300T92 210ZM574 278Q574 320 550 344T486 369Q437 369 394 329T323 218Q309 184 295 109L286 64Q304 62 306 62Q423 62 498 131T574 278'], + + // GREEK SMALL LETTER CHI + 0x3C7: [443,204,626,24,600,'576 -125Q576 -147 547 -175T487 -204H476Q394 -204 363 -157Q334 -114 293 26L284 59Q283 58 248 19T170 -66T92 -151T53 -191Q49 -194 43 -194Q36 -194 31 -189T25 -177T38 -154T151 -30L272 102L265 131Q189 405 135 405Q104 405 87 358Q86 351 68 351Q48 351 48 361Q48 369 56 386T89 423T148 442Q224 442 258 400Q276 375 297 320T330 222L341 180Q344 180 455 303T573 429Q579 431 582 431Q600 431 600 414Q600 407 587 392T477 270Q356 138 353 134L362 102Q392 -10 428 -89T490 -168Q504 -168 517 -156T536 -126Q539 -116 543 -115T557 -114T571 -115Q576 -118 576 -125'], + + // GREEK SMALL LETTER PSI + 0x3C8: [694,205,651,21,634,'161 441Q202 441 226 417T250 358Q250 338 218 252T187 127Q190 85 214 61Q235 43 257 37Q275 29 288 29H289L371 360Q455 691 456 692Q459 694 472 694Q492 694 492 687Q492 678 411 356Q329 28 329 27T335 26Q421 26 498 114T576 278Q576 302 568 319T550 343T532 361T524 384Q524 405 541 424T583 443Q602 443 618 425T634 366Q634 337 623 288T605 220Q573 125 492 57T329 -11H319L296 -104Q272 -198 272 -199Q270 -205 252 -205H239Q233 -199 233 -197Q233 -192 256 -102T279 -9Q272 -8 265 -8Q106 14 106 139Q106 174 139 264T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Q21 299 34 333T82 404T161 441'], + + // GREEK SMALL LETTER OMEGA + 0x3C9: [443,12,622,15,604,'495 384Q495 406 514 424T555 443Q574 443 589 425T604 364Q604 334 592 278T555 155T483 38T377 -11Q297 -11 267 66Q266 68 260 61Q201 -11 125 -11Q15 -11 15 139Q15 230 56 325T123 434Q135 441 147 436Q160 429 160 418Q160 406 140 379T94 306T62 208Q61 202 61 187Q61 124 85 100T143 76Q201 76 245 129L253 137V156Q258 297 317 297Q348 297 348 261Q348 243 338 213T318 158L308 135Q309 133 310 129T318 115T334 97T358 83T393 76Q456 76 501 148T546 274Q546 305 533 325T508 357T495 384'], + + // GREEK THETA SYMBOL + 0x3D1: [705,11,591,21,563,'537 500Q537 474 533 439T524 383L521 362Q558 355 561 351Q563 349 563 345Q563 321 552 318Q542 318 521 323L510 326Q496 261 459 187T362 51T241 -11Q100 -11 100 105Q100 139 127 242T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287Q21 291 27 313T47 368T79 418Q103 442 134 442Q169 442 201 419T233 344Q232 330 206 228T180 98Q180 26 247 26Q292 26 332 90T404 260L427 349Q422 349 398 359T339 392T289 440Q265 476 265 520Q265 590 312 647T417 705Q463 705 491 670T528 592T537 500ZM464 564Q464 668 413 668Q373 668 339 622T304 522Q304 494 317 470T349 431T388 406T421 391T435 387H436L443 415Q450 443 457 485T464 564'], + + // GREEK PHI SYMBOL + 0x3D5: [694,205,596,42,579,'409 688Q413 694 421 694H429H442Q448 688 448 686Q448 679 418 563Q411 535 404 504T392 458L388 442Q388 441 397 441T429 435T477 418Q521 397 550 357T579 260T548 151T471 65T374 11T279 -10H275L251 -105Q245 -128 238 -160Q230 -192 227 -198T215 -205H209Q189 -205 189 -198Q189 -193 211 -103L234 -11Q234 -10 226 -10Q221 -10 206 -8T161 6T107 36T62 89T43 171Q43 231 76 284T157 370T254 422T342 441Q347 441 348 445L378 567Q409 686 409 688ZM122 150Q122 116 134 91T167 53T203 35T237 27H244L337 404Q333 404 326 403T297 395T255 379T211 350T170 304Q152 276 137 237Q122 191 122 150ZM500 282Q500 320 484 347T444 385T405 400T381 404H378L332 217L284 29Q284 27 285 27Q293 27 317 33T357 47Q400 66 431 100T475 170T494 234T500 282'], + + // GREEK PI SYMBOL + 0x3D6: [431,10,828,19,823,'206 -10Q158 -10 136 24T114 110Q114 233 199 349L205 358H184Q144 358 121 347Q108 340 95 330T75 312T61 295T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 532 431Q799 431 803 430Q823 423 823 402Q823 377 801 364Q790 358 766 358Q748 358 748 357Q748 355 749 348T752 327T754 297Q754 258 738 207T693 107T618 24T520 -10Q488 -10 466 2T432 36T416 77T411 120Q411 128 410 128T404 122Q373 71 323 31T206 -10ZM714 296Q714 316 707 358H251Q250 357 244 348T230 328T212 301T193 267T176 229T164 187T159 144Q159 62 222 62Q290 62 349 127T432 285Q433 286 434 288T435 291T437 293T440 294T444 294T452 294H466Q472 288 472 286Q472 285 464 244T456 170Q456 62 534 62Q604 62 659 139T714 296'], + + // GREEK RHO SYMBOL + 0x3F1: [442,194,517,67,510,'205 -174Q136 -174 102 -153T67 -76Q67 -25 91 85T127 234Q143 289 182 341Q252 427 341 441Q343 441 349 441T359 442Q432 442 471 394T510 276Q510 169 431 80T253 -10Q226 -10 204 -2T169 19T146 44T132 64L128 73Q128 72 124 53T116 5T112 -44Q112 -68 117 -78T150 -95T236 -102Q327 -102 356 -111T386 -154Q386 -166 384 -178Q381 -190 378 -192T361 -194H348Q342 -188 342 -179Q342 -169 315 -169Q294 -169 264 -171T205 -174ZM424 322Q424 359 407 382T357 405Q322 405 287 376T231 300Q221 276 204 217Q188 152 188 116Q188 68 210 47T259 26Q297 26 334 62Q367 92 389 158T418 266T424 322'], + + // GREEK LUNATE EPSILON SYMBOL + 0x3F5: [431,11,406,40,382,'227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11'] + }; + + SVG.FONTDATA.FONTS[MAIN][0x2212][0] = SVG.FONTDATA.FONTS[MAIN][0x002B][0]; // minus is size + SVG.FONTDATA.FONTS[MAIN][0x2212][1] = SVG.FONTDATA.FONTS[MAIN][0x002B][1]; // minus is size + SVG.FONTDATA.FONTS[MAIN][0x22EE][0] += 400; // adjust height for \vdots + SVG.FONTDATA.FONTS[MAIN][0x22F1][0] += 700; // adjust height for \ddots + + // + // Add some spacing characters (more will come later) + // + MathJax.Hub.Insert(SVG.FONTDATA.FONTS[MAIN],{ + 0x2000: [0,0,500,0,0,{space:1}], // en quad + 0x2001: [0,0,1000,0,0,{space:1}], // em quad + 0x2002: [0,0,500,0,0,{space:1}], // en space + 0x2003: [0,0,1000,0,0,{space:1}], // em space + 0x2004: [0,0,333,0,0,{space:1}], // 3-per-em space + 0x2005: [0,0,250,0,0,{space:1}], // 4-per-em space + 0x2006: [0,0,167,0,0,{space:1}], // 6-per-em space + 0x2009: [0,0,167,0,0,{space:1}], // thin space + 0x200A: [0,0,83,0,0,{space:1}], // hair space + 0x200B: [0,0,0,0,0,{space:1}], // zero-width space + 0xEEE0: [0,0,-575,0,0,{space:1}], + 0xEEE1: [0,0,-300,0,0,{space:1}], + 0xEEE8: [0,0,25,0,0,{space:1}] + }); + + HUB.Register.StartupHook("SVG Jax Require",function () { + HUB.Register.LoadHook(SVG.fontDir+"/Size4/Regular/Main.js",function () { + SVG.FONTDATA.FONTS[SIZE4][0xE154][0] += 200; // adjust height for brace extender + SVG.FONTDATA.FONTS[SIZE4][0xE154][1] += 200; // adjust depth for brace extender + }); + + SVG.FONTDATA.FONTS[MAIN][0x2245][2] -= 222; // fix incorrect right bearing in font + HUB.Register.LoadHook(SVG.fontDir+"/Main/Bold/MathOperators.js",function () { + SVG.FONTDATA.FONTS[BOLD][0x2245][2] -= 106; // fix incorrect right bearing in font + }); + + HUB.Register.LoadHook(SVG.fontDir+"/Typewriter/Regular/BasicLatin.js",function () { + SVG.FONTDATA.FONTS['MathJax_Typewriter'][0x20][2] += 275; // fix incorrect width + }); + + AJAX.loadComplete(SVG.fontDir + "/fontdata.js"); + }); + +})(MathJax.OutputJax.SVG,MathJax.ElementJax.mml,MathJax.Ajax,MathJax.Hub); + diff --git a/src/py/kaleido/vendor/mathjax/jax/output/SVG/jax.js b/src/py/kaleido/vendor/mathjax/jax/output/SVG/jax.js new file mode 100644 index 00000000..5f5af6d0 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/jax/output/SVG/jax.js @@ -0,0 +1,2333 @@ +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * MathJax/jax/output/SVG/jax.js + * + * Implements the SVG OutputJax that displays mathematics using + * SVG (or VML in IE) to position the characters from math fonts + * in their proper locations. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2018 The MathJax Consortium + * + * 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. + */ + + +(function (AJAX,HUB,HTML,SVG) { + var MML; + var isArray = MathJax.Object.isArray; + + var SVGNS = "http://www.w3.org/2000/svg"; + var XLINKNS = "http://www.w3.org/1999/xlink"; + + var EVENT, TOUCH, HOVER; // filled in later + + // + // Get the URL of the page (for use with xlink:href) when there + // is a element on the page. + // + var SVGURL = (document.getElementsByTagName("base").length === 0) ? "" : + String(document.location).replace(/#.*$/,""); + + SVG.Augment({ + HFUZZ: 2, // adjustments for height and depth of final svg element + DFUZZ: 2, // to get baselines right (fragile). + + config: { + styles: { + ".MathJax_SVG": { + "display": "inline", + "font-style": "normal", + "font-weight": "normal", + "line-height": "normal", + "font-size": "100%", + "font-size-adjust":"none", + "text-indent": 0, + "text-align": "left", + "text-transform": "none", + "letter-spacing": "normal", + "word-spacing": "normal", + "word-wrap": "normal", + "white-space": "nowrap", + "float": "none", + "direction": "ltr", + "max-width": "none", "max-height": "none", + "min-width": 0, "min-height": 0, + border: 0, padding: 0, margin: 0 + }, + + ".MathJax_SVG_Display": { + position: "relative", + display: "block!important", + "text-indent": 0, + "max-width": "none", "max-height": "none", + "min-width": 0, "min-height": 0, + width: "100%" + }, + + ".MathJax_SVG *": { + transition: "none", + "-webkit-transition": "none", + "-moz-transition": "none", + "-ms-transition": "none", + "-o-transition": "none" + }, + + ".MathJax_SVG > div": { + display: "inline-block" + }, + + ".mjx-svg-href": { + fill: "blue", stroke: "blue" + }, + + ".MathJax_SVG_Processing": { + visibility: "hidden", position:"absolute", top:0, left:0, + width:0, height: 0, overflow:"hidden", display:"block!important" + }, + ".MathJax_SVG_Processed": {display:"none!important"}, + + ".MathJax_SVG_test": { + "font-style": "normal", + "font-weight": "normal", + "font-size": "100%", + "font-size-adjust":"none", + "text-indent": 0, + "text-transform": "none", + "letter-spacing": "normal", + "word-spacing": "normal", + overflow: "hidden", + height: "1px" + }, + ".MathJax_SVG_test.mjx-test-display": { + display: "table!important" + }, + ".MathJax_SVG_test.mjx-test-inline": { + display: "inline!important", + "margin-right": "-1px" + }, + ".MathJax_SVG_test.mjx-test-default": { + display: "block!important", + clear: "both" + }, + ".MathJax_SVG_ex_box": { + display: "inline-block!important", + position: "absolute", + overflow: "hidden", + "min-height": 0, "max-height":"none", + padding:0, border: 0, margin: 0, + width:"1px", height:"60ex" + }, + ".mjx-test-inline .MathJax_SVG_left_box": { + display: "inline-block", + width: 0, + "float":"left" + }, + ".mjx-test-inline .MathJax_SVG_right_box": { + display: "inline-block", + width: 0, + "float":"right" + }, + ".mjx-test-display .MathJax_SVG_right_box": { + display: "table-cell!important", + width: "10000em!important", + "min-width":0, "max-width":"none", + padding:0, border:0, margin:0 + }, + + "#MathJax_SVG_Tooltip": { + position: "absolute", left: 0, top: 0, + width: "auto", height: "auto", + display: "none" + } + } + }, + + hideProcessedMath: true, // use display:none until all math is processed + + fontNames: ["TeX","STIX","STIX-Web","Asana-Math", + "Gyre-Termes","Gyre-Pagella","Latin-Modern","Neo-Euler"], + + + Config: function () { + this.SUPER(arguments).Config.apply(this,arguments); + var settings = HUB.config.menuSettings, config = this.config, font = settings.font; + if (settings.scale) {config.scale = settings.scale} + if (font && font !== "Auto") { + font = font.replace(/(Local|Web|Image)$/i,""); + font = font.replace(/([a-z])([A-Z])/,"$1-$2"); + this.fontInUse = font; + } else { + this.fontInUse = config.font || "TeX"; + } + if (this.fontNames.indexOf(this.fontInUse) < 0) {this.fontInUse = "TeX"} + this.fontDir += "/" + this.fontInUse; + if (!this.require) {this.require = []} + this.require.push(this.fontDir+"/fontdata.js"); + this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js"); + }, + + Startup: function () { + // Set up event handling + EVENT = MathJax.Extension.MathEvents.Event; + TOUCH = MathJax.Extension.MathEvents.Touch; + HOVER = MathJax.Extension.MathEvents.Hover; + this.ContextMenu = EVENT.ContextMenu; + this.Mousedown = EVENT.AltContextMenu; + this.Mouseover = HOVER.Mouseover; + this.Mouseout = HOVER.Mouseout; + this.Mousemove = HOVER.Mousemove; + + // Make hidden div for doing tests and storing global SVG + this.hiddenDiv = HTML.Element("div",{ + style:{visibility:"hidden", overflow:"hidden", position:"absolute", top:0, + height:"1px", width: "auto", padding:0, border:0, margin:0, + textAlign:"left", textIndent:0, textTransform:"none", + lineHeight:"normal", letterSpacing:"normal", wordSpacing:"normal"} + }); + if (!document.body.firstChild) {document.body.appendChild(this.hiddenDiv)} + else {document.body.insertBefore(this.hiddenDiv,document.body.firstChild)} + this.hiddenDiv = HTML.addElement(this.hiddenDiv,"div",{id:"MathJax_SVG_Hidden"}); + + // Determine pixels-per-inch and em-size + var div = HTML.addElement(this.hiddenDiv,"div",{style:{width:"5in"}}); + this.pxPerInch = div.offsetWidth/5; this.hiddenDiv.removeChild(div); + + // Used for measuring text sizes + this.textSVG = this.Element("svg"); + + // Global defs for font glyphs + BBOX.GLYPH.defs = this.addElement(this.addElement(this.hiddenDiv.parentNode,"svg"), + "defs",{id:"MathJax_SVG_glyphs"}); + + // Used in preTranslate to get scaling factors + this.TestSpan = HTML.Element("span",{className:"MathJax_SVG_test"},[ + ["span",{className:"MathJax_SVG_left_box"}], + ["span",{className:"MathJax_SVG_ex_box"}], + ["span",{className:"MathJax_SVG_right_box"}] + ]); + + // Set up styles + return AJAX.Styles(this.config.styles,["InitializeSVG",this]); + }, + + // + // Handle initialization that requires styles to be set up + // + InitializeSVG: function () { + // + // Get the default sizes (need styles in place to do this) + // + var test = document.body.appendChild(this.TestSpan.cloneNode(true)); + test.className += " mjx-test-inline mjx-test-default"; + this.defaultEx = test.childNodes[1].offsetHeight/60; + this.defaultWidth = Math.max(0,test.lastChild.offsetLeft - test.firstChild.offsetLeft - 2); + document.body.removeChild(test); + }, + + preTranslate: function (state) { + var scripts = state.jax[this.id], i, m = scripts.length, n, + script, prev, span, div, test, jax, ex, em, maxwidth, relwidth = false, cwidth, + linebreak = this.config.linebreaks.automatic, width = this.config.linebreaks.width; + if (linebreak) { + relwidth = (width.match(/^\s*(\d+(\.\d*)?%\s*)?container\s*$/) != null); + if (relwidth) {width = width.replace(/\s*container\s*/,"")} + else {maxwidth = this.defaultWidth} + if (width === "") {width = "100%"} + } else {maxwidth = 100000} // a big width, so no implicit line breaks + // + // Loop through the scripts + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + // + // Remove any existing output + // + prev = script.previousSibling; + if (prev && String(prev.className).match(/^MathJax(_SVG)?(_Display)?( MathJax(_SVG)?_Process(ing|ed))?$/)) + {prev.parentNode.removeChild(prev)} + if (script.MathJax.preview) script.MathJax.preview.style.display = "none"; + // + // Add the span, and a div if in display mode, + // then set the role and mark it as being processed + // + jax = script.MathJax.elementJax; if (!jax) continue; + jax.SVG = { + display: (jax.root.Get("display") === "block"), + preview: (jax.SVG||{}).preview // in case typeset calls are interleaved + }; + span = div = HTML.Element("span",{ + style: {"font-size": this.config.scale+"%", display:"inline-block"}, + className:"MathJax_SVG", id:jax.inputID+"-Frame", isMathJax:true, jaxID:this.id, + oncontextmenu:EVENT.Menu, onmousedown: EVENT.Mousedown, + onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove, + onclick:EVENT.Click, ondblclick:EVENT.DblClick, + // Added for keyboard accessible menu. + onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax) + }); + if (HUB.Browser.noContextMenu) { + span.ontouchstart = TOUCH.start; + span.ontouchend = TOUCH.end; + } + if (jax.SVG.display) { + div = HTML.Element("div",{className:"MathJax_SVG_Display"}); + div.appendChild(span); + } + div.className += " MathJax_SVG_Processing"; + script.parentNode.insertBefore(div,script); + // + // Add the test span for determining scales and linebreak widths + // + test = this.TestSpan.cloneNode(true); + test.className += " mjx-test-" + (jax.SVG.display ? "display" : "inline"); + script.parentNode.insertBefore(test,script); + } + // + // Determine the scaling factors for each script + // (this only requires one reflow rather than a reflow for each equation) + // + var hidden = []; + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + test = script.previousSibling; div = test.previousSibling; + jax = script.MathJax.elementJax; if (!jax) continue; + ex = test.childNodes[1].offsetHeight/60; + cwidth = Math.max(0, jax.SVG.display ? test.lastChild.offsetWidth - 1: + test.lastChild.offsetLeft - test.firstChild.offsetLeft - 2) / this.config.scale * 100; + if (ex === 0 || ex === "NaN") { + // can't read width, so move to hidden div for processing + hidden.push(div); + jax.SVG.isHidden = true; + ex = this.defaultEx; cwidth = this.defaultWidth; + } + if (cwidth === 0 && !jax.SVG.display) cwidth = this.defaultWidth; + if (relwidth) {maxwidth = cwidth} + jax.SVG.ex = ex; + jax.SVG.em = em = ex / SVG.TeX.x_height * 1000; // scale ex to x_height + jax.SVG.cwidth = cwidth/em * 1000; + jax.SVG.lineWidth = (linebreak ? this.length2em(width,1,maxwidth/em*1000) : SVG.BIGDIMEN); + } + for (i = 0, n = hidden.length; i < n; i++) { + this.hiddenDiv.appendChild(hidden[i]); + this.addElement(this.hiddenDiv,"br"); + } + // + // Remove the test spans used for determining scales and linebreak widths + // + for (i = 0; i < m; i++) { + script = scripts[i]; if (!script.parentNode) continue; + jax = script.MathJax.elementJax; if (!jax) continue; + script.parentNode.removeChild(script.previousSibling); + if (script.MathJax.preview) script.MathJax.preview.style.display = ""; + } + // + // Set state variables used for displaying equations in chunks + // + state.SVGeqn = state.SVGlast = 0; state.SVGi = -1; + state.SVGchunk = this.config.EqnChunk; + state.SVGdelay = false; + }, + + Translate: function (script,state) { + if (!script.parentNode) return; + + // + // If we are supposed to do a chunk delay, do it + // + if (state.SVGdelay) { + state.SVGdelay = false; + HUB.RestartAfter(MathJax.Callback.Delay(this.config.EqnChunkDelay)); + } + + // + // Get the data about the math + // + var jax = script.MathJax.elementJax, math = jax.root, div, span, + localCache = (SVG.config.useFontCache && !SVG.config.useGlobalCache); + if (jax.SVG.isHidden) { + span = document.getElementById(jax.inputID+"-Frame"); + div = (jax.SVG.display ? span.parentElement : span); + } else { + div = script.previousSibling; + span = (jax.SVG.display ? (div||{}).firstChild||div : div); + } + if (!div) return; + // + // Set the font metrics + // + this.em = MML.mbase.prototype.em = jax.SVG.em; this.ex = jax.SVG.ex; + this.linebreakWidth = jax.SVG.lineWidth; this.cwidth = jax.SVG.cwidth; + // + // Typeset the math + // + this.mathDiv = div; + span.appendChild(this.textSVG); + if (localCache) {SVG.resetGlyphs()} + this.initSVG(math,span); + math.setTeXclass(); + try {math.toSVG(span,div)} catch (err) { + if (err.restart) {while (span.firstChild) {span.removeChild(span.firstChild)}} + if (localCache) {BBOX.GLYPH.n--} + throw err; + } + span.removeChild(this.textSVG); + // + // Put it in place, and remove the processing marker + // + if (jax.SVG.isHidden) {script.parentNode.insertBefore(div,script)} + div.className = div.className.split(/ /)[0]; + // + // Check if we are hiding the math until more is processed + // + if (this.hideProcessedMath) { + // + // Hide the math and don't let its preview be removed + // + div.className += " MathJax_SVG_Processed"; + if (script.MathJax.preview) { + jax.SVG.preview = script.MathJax.preview; + delete script.MathJax.preview; + } + // + // Check if we should show this chunk of equations + // + state.SVGeqn += (state.i - state.SVGi); state.SVGi = state.i; + if (state.SVGeqn >= state.SVGlast + state.SVGchunk) { + this.postTranslate(state,true); + state.SVGchunk = Math.floor(state.SVGchunk*this.config.EqnChunkFactor); + state.SVGdelay = true; // delay if there are more scripts + } + } + }, + + postTranslate: function (state,partial) { + var scripts = state.jax[this.id]; + if (!this.hideProcessedMath) return; + // + // Reveal this chunk of math + // + for (var i = state.SVGlast, m = state.SVGeqn; i < m; i++) { + var script = scripts[i]; + if (script && script.MathJax.elementJax) { + // + // Remove the processed marker + // + script.previousSibling.className = script.previousSibling.className.split(/ /)[0]; + var data = script.MathJax.elementJax.SVG; + // + // Remove the preview, if any + // + if (data.preview) { + data.preview.innerHTML = ""; + script.MathJax.preview = data.preview; + delete data.preview; + } + } + } + // + // Save our place so we know what is revealed + // + state.SVGlast = state.SVGeqn; + }, + + resetGlyphs: function (reset) { + if (this.config.useFontCache) { + var GLYPH = BBOX.GLYPH; + if (this.config.useGlobalCache) { + GLYPH.defs = document.getElementById("MathJax_SVG_glyphs"); + GLYPH.defs.innerHTML = ""; + } else { + GLYPH.defs = this.Element("defs"); + GLYPH.n++; + } + GLYPH.glyphs = {}; + if (reset) {GLYPH.n = 0} + } + }, + + // + // Return the containing HTML element rather than the SVG element, since + // most browsers can't position to an SVG element properly. + // + hashCheck: function (target) { + if (target && target.nodeName.toLowerCase() === "g") + {do {target = target.parentNode} while (target && target.firstChild.nodeName !== "svg")} + return target; + }, + + getJaxFromMath: function (math) { + if (math.parentNode.className.match(/MathJax_SVG_Display/)) {math = math.parentNode} + do {math = math.nextSibling} while (math && math.nodeName.toLowerCase() !== "script"); + return HUB.getJaxFor(math); + }, + getHoverSpan: function (jax,math) { + math.style.position = "relative"; // make sure inline containers have position set + return math.firstChild; + }, + getHoverBBox: function (jax,span,math) { + var bbox = EVENT.getBBox(span.parentNode); + bbox.h += 2; bbox.d -= 2; // bbox seems to be a bit off, so compensate (FIXME) + return bbox; + }, + + Zoom: function (jax,span,math,Mw,Mh) { + // + // Re-render at larger size + // + span.className = "MathJax_SVG"; + + // + // get em size (taken from this.preTranslate) + // + var emex = span.appendChild(this.TestSpan.cloneNode(true)); + var ex = emex.childNodes[1].offsetHeight/60; + this.em = MML.mbase.prototype.em = ex / SVG.TeX.x_height * 1000; this.ex = ex; + this.linebreakWidth = jax.SVG.lineWidth; this.cwidth = jax.SVG.cwidth; + emex.parentNode.removeChild(emex); + + span.appendChild(this.textSVG); + this.mathDIV = span; this.zoomScale = parseInt(HUB.config.menuSettings.zscale) / 100; + var tw = jax.root.data[0].SVGdata.tw; if (tw && tw < this.cwidth) this.cwidth = tw; + this.idPostfix = "-zoom"; jax.root.toSVG(span,span); this.idPostfix = ""; + this.zoomScale = 1; + span.removeChild(this.textSVG); + + // + // Don't allow overlaps on any edge + // + var svg = span.getElementsByTagName("svg")[0].style; + svg.marginTop = svg.marginRight = svg.marginLeft = 0; + if (svg.marginBottom.charAt(0) === "-") + span.style.marginBottom = svg.marginBottom.substr(1); + + if (this.operaZoomRefresh) + {setTimeout(function () {span.firstChild.style.border="1px solid transparent"},1)} + // + // WebKit bug (issue #749) + // + if (span.offsetWidth < span.firstChild.offsetWidth) { + span.style.minWidth = span.firstChild.offsetWidth + "px"; + math.style.minWidth = math.firstChild.offsetWidth + "px"; + } + // + // Get height and width of zoomed math and original math + // + span.style.position = math.style.position = "absolute"; + var zW = span.offsetWidth, zH = span.offsetHeight, + mH = math.offsetHeight, mW = math.offsetWidth; + span.style.position = math.style.position = ""; + // + return {Y:-EVENT.getBBox(span).h, mW:mW, mH:mH, zW:zW, zH:zH}; + }, + + initSVG: function (math,span) {}, + + Remove: function (jax) { + var span = document.getElementById(jax.inputID+"-Frame"); + if (span) { + if (jax.SVG.display) {span = span.parentNode} + span.parentNode.removeChild(span); + } + delete jax.SVG; + }, + + Em: function (m) { + if (Math.abs(m) < .0006) return "0"; + return m.toFixed(3).replace(/\.?0+$/,"") + "em"; + }, + Ex: function (m) { + m = m / this.TeX.x_height; + if (Math.abs(m) < .0006) return "0"; + return m.toFixed(3).replace(/\.?0+$/,"") + "ex"; + }, + Percent: function (m) { + return (100*m).toFixed(1).replace(/\.?0+$/,"") + "%"; + }, + Fixed: function (m,n) { + if (Math.abs(m) < .0006) return "0"; + return m.toFixed(n||3).replace(/\.?0+$/,""); + }, + length2em: function (length,mu,size) { + if (typeof(length) !== "string") {length = length.toString()} + if (length === "") {return ""} + if (length === MML.SIZE.NORMAL) {return 1000} + if (length === MML.SIZE.BIG) {return 2000} + if (length === MML.SIZE.SMALL) {return 710} + if (length === "infinity") {return SVG.BIGDIMEN} + if (length.match(/mathspace$/)) {return 1000*SVG.MATHSPACE[length]} + var emFactor = (this.zoomScale || 1) / SVG.em; + var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/); + var m = parseFloat(match[1]||"1") * 1000, unit = match[2]; + if (size == null) {size = 1000}; if (mu == null) {mu = 1} + if (unit === "em") {return m} + if (unit === "ex") {return m * SVG.TeX.x_height/1000} + if (unit === "%") {return m / 100 * size / 1000} + if (unit === "px") {return m * emFactor} + if (unit === "pt") {return m / 10} // 10 pt to an em + if (unit === "pc") {return m * 1.2} // 12 pt to a pc + if (unit === "in") {return m * this.pxPerInch * emFactor} + if (unit === "cm") {return m * this.pxPerInch * emFactor / 2.54} // 2.54 cm to an inch + if (unit === "mm") {return m * this.pxPerInch * emFactor / 25.4} // 10 mm to a cm + if (unit === "mu") {return m / 18 * mu} + return m*size / 1000; // relative to given size (or 1em as default) + }, + thickness2em: function (length,mu) { + var thick = SVG.TeX.rule_thickness; + if (length === MML.LINETHICKNESS.MEDIUM) {return thick} + if (length === MML.LINETHICKNESS.THIN) {return .67*thick} + if (length === MML.LINETHICKNESS.THICK) {return 1.67*thick} + return this.length2em(length,mu,thick); + }, + border2em: function (length,mu) { + if (length === MML.LINETHICKNESS.THIN) {length = "1px"} + if (length === MML.LINETHICKNESS.MEDIUM) {length = "3px"} + if (length === MML.LINETHICKNESS.THICK) {length = "5px"} + return this.length2em(length,mu); + }, + + getPadding: function (styles) { + var padding = {top:0, right:0, bottom:0, left:0}, has = false; + for (var id in padding) {if (padding.hasOwnProperty(id)) { + var pad = styles["padding"+id.charAt(0).toUpperCase()+id.substr(1)]; + if (pad) {padding[id] = this.length2em(pad); has = true;} + }} + return (has ? padding : false); + }, + getBorders: function (styles) { + var border = {top:0, right:0, bottom:0, left:0}, has = false; + for (var id in border) {if (border.hasOwnProperty(id)) { + var ID = "border"+id.charAt(0).toUpperCase()+id.substr(1); + var style = styles[ID+"Style"]; + if (style && style !== "none") { + has = true; + border[id] = this.border2em(styles[ID+"Width"] || MML.LINETHICKNESS.MEDIUM); + border[id+"Style"] = styles[ID+"Style"]; + border[id+"Color"] = styles[ID+"Color"]; + if (border[id+"Color"] === "initial") {border[id+"Color"] = ""} + } else {delete border[id]} + }} + return (has ? border : false); + }, + + Element: function (type,def) { + var obj = (typeof(type) === "string" ? document.createElementNS(SVGNS,type) : type); + obj.isMathJax = true; + if (def) {for (var id in def) {if (def.hasOwnProperty(id)) {obj.setAttribute(id,def[id].toString())}}} + return obj; + }, + addElement: function (parent,type,def) {return parent.appendChild(this.Element(type,def))}, + TextNode: HTML.TextNode, + addText: HTML.addText, + ucMatch: HTML.ucMatch, + + HandleVariant: function (variant,scale,text) { + var svg = BBOX.G(); + var n, N, c, font, VARIANT, i, m, id, M, RANGES; + if (!variant) {variant = this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]} + if (variant.forceFamily) { + text = BBOX.TEXT(scale,text,variant.font); + if (variant.h != null) {text.h = variant.h}; if (variant.d != null) {text.d = variant.d} + svg.Add(text); text = ""; + } + VARIANT = variant; + for (i = 0, m = text.length; i < m; i++) { + variant = VARIANT; + n = text.charCodeAt(i); c = text.charAt(i); + if (n >= 0xD800 && n < 0xDBFF) { + i++; n = (((n-0xD800)<<10)+(text.charCodeAt(i)-0xDC00))+0x10000; + if (this.FONTDATA.RemapPlane1) { + var nv = this.FONTDATA.RemapPlane1(n,variant); + n = nv.n; variant = nv.variant; + } + } else { + RANGES = this.FONTDATA.RANGES; + for (id = 0, M = RANGES.length; id < M; id++) { + if (RANGES[id].name === "alpha" && variant.noLowerCase) continue; + N = variant["offset"+RANGES[id].offset]; + if (N && n >= RANGES[id].low && n <= RANGES[id].high) { + if (RANGES[id].remap && RANGES[id].remap[n]) { + n = N + RANGES[id].remap[n]; + } else { + if (RANGES[id].remapOnly) break; + n = n - RANGES[id].low + N; + if (RANGES[id].add) {n += RANGES[id].add} + } + if (variant["variant"+RANGES[id].offset]) + {variant = this.FONTDATA.VARIANT[variant["variant"+RANGES[id].offset]]} + break; + } + } + } + if (variant.remap && variant.remap[n]) { + n = variant.remap[n]; + if (variant.remap.variant) {variant = this.FONTDATA.VARIANT[variant.remap.variant]} + } else if (this.FONTDATA.REMAP[n] && !variant.noRemap) { + n = this.FONTDATA.REMAP[n]; + } + if (isArray(n)) {variant = this.FONTDATA.VARIANT[n[1]]; n = n[0]} + if (typeof(n) === "string") { + text = n+text.substr(i+1); + m = text.length; i = -1; + continue; + } + font = this.lookupChar(variant,n); c = font[n]; + if (c) { + if ((c[5] && c[5].space) || (c[5] === "" && c[0]+c[1] === 0)) {svg.w += c[2]} else { + c = [scale,font.id+"-"+n.toString(16).toUpperCase()].concat(c); + svg.Add(BBOX.GLYPH.apply(BBOX,c),svg.w,0); + } + } else if (this.FONTDATA.DELIMITERS[n]) { + c = this.createDelimiter(n,0,1,font); + svg.Add(c,svg.w,(this.FONTDATA.DELIMITERS[n].dir === "V" ? c.d: 0)); + } else { + if (n <= 0xFFFF) {c = String.fromCharCode(n)} else { + N = n - 0x10000; + c = String.fromCharCode((N>>10)+0xD800) + + String.fromCharCode((N&0x3FF)+0xDC00); + } + var box = BBOX.TEXT(scale*100/SVG.config.scale,c,{ + "font-family":variant.defaultFamily||SVG.config.undefinedFamily, + "font-style":(variant.italic?"italic":""), + "font-weight":(variant.bold?"bold":"") + }) + if (variant.h != null) {box.h = variant.h}; if (variant.d != null) {box.d = variant.d} + c = BBOX.G(); c.Add(box); svg.Add(c,svg.w,0); + HUB.signal.Post(["SVG Jax - unknown char",n,variant]); + } + } + if (SVG.isChar(text) && font.skew && font.skew[n]) {svg.skew = font.skew[n]*1000} + if (svg.element.childNodes.length === 1 && !svg.element.firstChild.getAttribute("x")) { + svg.element = svg.element.firstChild; + svg.removeable = false; svg.scale = scale; + } + return svg; + }, + + lookupChar: function (variant,n) { + var i, m; + if (!variant.FONTS) { + var FONTS = this.FONTDATA.FONTS; + var fonts = (variant.fonts || this.FONTDATA.VARIANT.normal.fonts); + if (!(fonts instanceof Array)) {fonts = [fonts]} + if (variant.fonts != fonts) {variant.fonts = fonts} + variant.FONTS = []; + for (i = 0, m = fonts.length; i < m; i++) { + if (FONTS[fonts[i]]) {variant.FONTS.push(FONTS[fonts[i]])} + } + } + for (i = 0, m = variant.FONTS.length; i < m; i++) { + var font = variant.FONTS[i]; + if (typeof(font) === "string") {delete variant.FONTS; this.loadFont(font)} + if (font[n]) {return font} else {this.findBlock(font,n)} + } + return {id:"unknown"}; + }, + + isChar: function (text) { + if (text.length === 1) return true; + if (text.length !== 2) return false; + var n = text.charCodeAt(0); + return (n >= 0xD800 && n < 0xDBFF); + }, + + findBlock: function (font,c) { + if (font.Ranges) { + // FIXME: do binary search? + for (var i = 0, m = font.Ranges.length; i < m; i++) { + if (c < font.Ranges[i][0]) return; + if (c <= font.Ranges[i][1]) { + var file = font.Ranges[i][2]; + for (var j = font.Ranges.length-1; j >= 0; j--) + {if (font.Ranges[j][2] == file) {font.Ranges.splice(j,1)}} + this.loadFont(font.directory+"/"+file+".js"); + } + } + } + }, + + loadFont: function (file) { + HUB.RestartAfter(AJAX.Require(this.fontDir+"/"+file)); + }, + + createDelimiter: function (code,HW,scale,font) { + if (!scale) {scale = 1}; + var svg = BBOX.G(); + if (!code) { + svg.Clean(); delete svg.element; + svg.w = svg.r = this.TeX.nulldelimiterspace * scale; + return svg; + } + if (!(HW instanceof Array)) {HW = [HW,HW]} + var hw = HW[1]; HW = HW[0]; + var delim = {alias: code}; + while (delim.alias) { + code = delim.alias; delim = this.FONTDATA.DELIMITERS[code]; + if (!delim) {delim = {HW: [0,this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]]}} + } + if (delim.load) {HUB.RestartAfter(AJAX.Require(this.fontDir+"/fontdata-"+delim.load+".js"))} + for (var i = 0, m = delim.HW.length; i < m; i++) { + if (delim.HW[i][0]*scale >= HW-10-SVG.config.blacker || (i == m-1 && !delim.stretch)) { + if (delim.HW[i][2]) {scale *= delim.HW[i][2]} + if (delim.HW[i][3]) {code = delim.HW[i][3]} + return this.createChar(scale,[code,delim.HW[i][1]],font).With({stretched: true}); + } + } + if (delim.stretch) {this["extendDelimiter"+delim.dir](svg,hw,delim.stretch,scale,font)} + return svg; + }, + createChar: function (scale,data,font) { + var text = "", variant = {fonts: [data[1]], noRemap:true}; + if (font && font === MML.VARIANT.BOLD) {variant.fonts = [data[1]+"-bold",data[1]]} + if (typeof(data[1]) !== "string") {variant = data[1]} + if (data[0] instanceof Array) { + for (var i = 0, m = data[0].length; i < m; i++) {text += String.fromCharCode(data[0][i])} + } else {text = String.fromCharCode(data[0])} + if (data[4]) {scale = scale*data[4]} + var svg = this.HandleVariant(variant,scale,text); + if (data[2]) {svg.x = data[2]*1000} + if (data[3]) {svg.y = data[3]*1000} + if (data[5]) {svg.h += data[5]*1000} + if (data[6]) {svg.d += data[6]*1000} + return svg; + }, + extendDelimiterV: function (svg,H,delim,scale,font) { + var top = this.createChar(scale,(delim.top||delim.ext),font); + var bot = this.createChar(scale,(delim.bot||delim.ext),font); + var h = top.h + top.d + bot.h + bot.d; + var y = -top.h; svg.Add(top,0,y); y -= top.d; + if (delim.mid) {var mid = this.createChar(scale,delim.mid,font); h += mid.h + mid.d} + if (delim.min && H < h*delim.min) {H = h*delim.min} + if (H > h) { + var ext = this.createChar(scale,delim.ext,font); + var k = (delim.mid ? 2 : 1), eH = (H-h) / k, s = (eH+100) / (ext.h+ext.d); + while (k-- > 0) { + var g = SVG.Element("g",{transform:"translate("+ext.y+","+(y-s*ext.h+50+ext.y)+") scale(1,"+s+")"}); + g.appendChild(ext.element.cloneNode(false)); svg.element.appendChild(g); y -= eH; + if (delim.mid && k) {svg.Add(mid,0,y-mid.h); y -= (mid.h+mid.d)} + } + } else if (delim.mid) { + y += (h - H)/2; svg.Add(mid,0,y-mid.h); y += -(mid.h + mid.d) + (h - H)/2; + } else { + y += (h - H); + } + svg.Add(bot,0,y-bot.h); svg.Clean(); + svg.scale = scale; + svg.isMultiChar = true; + }, + extendDelimiterH: function (svg,W,delim,scale,font) { + var left = this.createChar(scale,(delim.left||delim.rep),font); + var right = this.createChar(scale,(delim.right||delim.rep),font); + svg.Add(left,-left.l,0); + var w = (left.r - left.l) + (right.r - right.l), x = left.r - left.l; + if (delim.mid) {var mid = this.createChar(scale,delim.mid,font); w += mid.w} + if (delim.min && W < w*delim.min) {W = w*delim.min} + if (W > w) { + var rep = this.createChar(scale,delim.rep,font), fuzz = delim.fuzz || 0; + var k = (delim.mid ? 2 : 1), rW = (W-w) / k, s = (rW+fuzz) / (rep.r-rep.l); + while (k-- > 0) { + var g = SVG.Element("g",{transform:"translate("+(x-fuzz/2-s*rep.l+rep.x)+","+rep.y+") scale("+s+",1)"}); + g.appendChild(rep.element.cloneNode(false)); svg.element.appendChild(g); x += rW; + if (delim.mid && k) {svg.Add(mid,x,0); x += mid.w} + } + } else if (delim.mid) { + x -= (w - W)/2; svg.Add(mid,x,0); x += mid.w - (w - W)/2; + } else { + x -= (w - W); + } + svg.Add(right,x-right.l,0); svg.Clean(); + svg.scale = scale; + svg.isMultiChar = true; + }, + + + MATHSPACE: { + veryverythinmathspace: 1/18, + verythinmathspace: 2/18, + thinmathspace: 3/18, + mediummathspace: 4/18, + thickmathspace: 5/18, + verythickmathspace: 6/18, + veryverythickmathspace: 7/18, + negativeveryverythinmathspace: -1/18, + negativeverythinmathspace: -2/18, + negativethinmathspace: -3/18, + negativemediummathspace: -4/18, + negativethickmathspace: -5/18, + negativeverythickmathspace: -6/18, + negativeveryverythickmathspace: -7/18 + }, + + // + // Units are em/1000 so quad is 1em + // + TeX: { + x_height: 430.554, + quad: 1000, + num1: 676.508, + num2: 393.732, + num3: 443.73, + denom1: 685.951, + denom2: 344.841, + sup1: 412.892, + sup2: 362.892, + sup3: 288.888, + sub1: 150, + sub2: 247.217, + sup_drop: 386.108, + sub_drop: 50, + delim1: 2390, + delim2: 1000, + axis_height: 250, + rule_thickness: 60, + big_op_spacing1: 111.111, + big_op_spacing2: 166.666, + big_op_spacing3: 200, + big_op_spacing4: 600, + big_op_spacing5: 100, + + scriptspace: 100, + nulldelimiterspace: 120, + delimiterfactor: 901, + delimitershortfall: 300, + + min_rule_thickness: 1.25, // in pixels + min_root_space: 1.5 // in pixels + }, + + BIGDIMEN: 10000000, + NBSP: "\u00A0" + }); + + var BBOX = SVG.BBOX = MathJax.Object.Subclass({ + type: "g", removeable: true, + Init: function (def) { + this.h = this.d = -SVG.BIGDIMEN; this.H = this.D = 0; + this.w = this.r = 0; this.l = SVG.BIGDIMEN; + this.x = this.y = 0; this.scale = 1; this.n = 0; + if (this.type) {this.element = SVG.Element(this.type,def)} + }, + With: function (def) {return HUB.Insert(this,def)}, + Add: function (svg,dx,dy,forcew,infront) { + if (dx) {svg.x += dx}; if (dy) {svg.y += dy}; + if (svg.element) { + if (svg.removeable && svg.element.childNodes.length === 1 && svg.n === 1) { + var child = svg.element.firstChild, nodeName = child.nodeName.toLowerCase(); + if (nodeName === "use" || nodeName === "rect") { + svg.element = child; svg.scale = svg.childScale; + var x = svg.childX, y = svg.childY; + svg.x += x; svg.y += y; + svg.h -= y; svg.d += y; svg.H -= y; svg.D +=y; + svg.w -= x; svg.r -= x; svg.l += x; + svg.removeable = false; + child.setAttribute("x",Math.floor(svg.x/svg.scale)); + child.setAttribute("y",Math.floor(svg.y/svg.scale)); + } + } + if (Math.abs(svg.x) < 1 && Math.abs(svg.y) < 1) { + svg.remove = svg.removeable; + } else { + nodeName = svg.element.nodeName.toLowerCase(); + if (nodeName === "g") { + if (!svg.element.firstChild) {svg.remove = svg.removeable} + else {svg.element.setAttribute("transform","translate("+Math.floor(svg.x)+","+Math.floor(svg.y)+")")} + } else if (nodeName === "line" || nodeName === "polygon" || + nodeName === "path" || nodeName === "a") { + var transform = svg.element.getAttribute("transform") || ""; + if (transform) transform = " "+transform; + transform = "translate("+Math.floor(svg.x)+","+Math.floor(svg.y)+")"+transform; + svg.element.setAttribute("transform",transform); + } else { + svg.element.setAttribute("x",Math.floor(svg.x/svg.scale)); + svg.element.setAttribute("y",Math.floor(svg.y/svg.scale)); + } + } + if (svg.remove) { + this.n += svg.n; + while (svg.element.firstChild) { + if (infront && this.element.firstChild) { + this.element.insertBefore(svg.element.firstChild,this.element.firstChild); + } else { + this.element.appendChild(svg.element.firstChild); + } + } + } else { + if (infront) {this.element.insertBefore(svg.element,this.element.firstChild)} + else {this.element.appendChild(svg.element)} + } + delete svg.element; + } + if (svg.hasIndent) {this.hasIndent = svg.hasIndent} + if (svg.tw != null) {this.tw = svg.tw} + if (svg.d - svg.y > this.d) {this.d = svg.d - svg.y; if (this.d > this.D) {this.D = this.d}} + if (svg.y + svg.h > this.h) {this.h = svg.y + svg.h; if (this.h > this.H) {this.H = this.h}} + if (svg.D - svg.y > this.D) {this.D = svg.D - svg.y} + if (svg.y + svg.H > this.H) {this.H = svg.y + svg.H} + if (svg.x + svg.l < this.l) {this.l = svg.x + svg.l} + if (svg.x + svg.r > this.r) {this.r = svg.x + svg.r} + if (forcew || svg.x + svg.w + (svg.X||0) > this.w) {this.w = svg.x + svg.w + (svg.X||0)} + this.childScale = svg.scale; this.childX = svg.x; this.childY = svg.y; this.n++; + return svg; + }, + Align: function (svg,align,dx,dy,shift) { + dx = ({left: dx, center: (this.w - svg.w)/2, right: this.w - svg.w - dx})[align] || 0; + var w = this.w; this.Add(svg,dx+(shift||0),dy); this.w = w; + }, + Clean: function () { + if (this.h === -SVG.BIGDIMEN) {this.h = this.d = this.l = 0} + return this; + } + }); + + BBOX.ROW = BBOX.Subclass({ + Init: function () { + this.SUPER(arguments).Init.call(this); + this.svg = []; this.sh = this.sd = 0; + }, + Check: function (data) { + var svg = data.toSVG(); this.svg.push(svg); + if (data.SVGcanStretch("Vertical")) {svg.mml = data} + if (svg.h + svg.y > this.sh) {this.sh = svg.h + svg.y} + if (svg.d - svg.y > this.sd) {this.sd = svg.d - svg.y} + }, + Stretch: function () { + for (var i = 0, m = this.svg.length; i < m; i++) + { + var svg = this.svg[i], mml = svg.mml; + if (mml) { + if (mml.forceStretch || mml.SVGdata.h !== this.sh || mml.SVGdata.d !== this.sd) { + svg = mml.SVGstretchV(this.sh,this.sd); + } + mml.SVGdata.HW = this.sh; mml.SVGdata.D = this.sd; + } + if (svg.ic) {this.ic = svg.ic} else {delete this.ic} + this.Add(svg,this.w,0,true); + } + delete this.svg; + } + }); + + BBOX.RECT = BBOX.Subclass({ + type: "rect", removeable: false, + Init: function (h,d,w,def) { + if (def == null) {def = {stroke:"none"}} + def.width = Math.floor(w); def.height = Math.floor(h+d); + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.h = this.H = h+d; this.d = this.D = this.l = 0; this.y = -d; + } + }); + + BBOX.FRAME = BBOX.Subclass({ + type: "rect", removeable: false, + Init: function (h,d,w,t,dash,color,def) { + if (def == null) {def = {}}; def.fill = "none"; + def["stroke-width"] = SVG.Fixed(t,2); + def.width = Math.floor(w-t); def.height = Math.floor(h+d-t); + def.transform = "translate("+Math.floor(t/2)+","+Math.floor(-d+t/2)+")"; + if (dash === "dashed") + {def["stroke-dasharray"] = [Math.floor(6*SVG.em),Math.floor(6*SVG.em)].join(" ")} + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.h = this.H = h; + this.d = this.D = d; this.l = 0; + } + }); + + BBOX.HLINE = BBOX.Subclass({ + type: "line", removeable: false, + Init: function (w,t,dash,color,def) { + if (def == null) {def = {"stroke-linecap":"square"}} + if (color && color !== "") {def.stroke = color} + def["stroke-width"] = SVG.Fixed(t,2); + def.x1 = def.y1 = def.y2 = Math.floor(t/2); def.x2 = Math.floor(w-t/2); + if (dash === "dashed") { + var n = Math.floor(Math.max(0,w-t)/(6*t)), m = Math.floor(Math.max(0,w-t)/(2*n+1)); + def["stroke-dasharray"] = m+" "+m; + } + if (dash === "dotted") { + def["stroke-dasharray"] = [1,Math.max(150,Math.floor(2*t))].join(" "); + def["stroke-linecap"] = "round"; + } + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = w; this.l = 0; this.h = this.H = t; this.d = this.D = 0; + } + }); + + BBOX.VLINE = BBOX.Subclass({ + type: "line", removeable: false, + Init: function (h,t,dash,color,def) { + if (def == null) {def = {"stroke-linecap":"square"}} + if (color && color !== "") {def.stroke = color} + def["stroke-width"] = SVG.Fixed(t,2); + def.x1 = def.x2 = def.y1 = Math.floor(t/2); def.y2 = Math.floor(h-t/2); + if (dash === "dashed") { + var n = Math.floor(Math.max(0,h-t)/(6*t)), m = Math.floor(Math.max(0,h-t)/(2*n+1)); + def["stroke-dasharray"] = m+" "+m; + } + if (dash === "dotted") { + def["stroke-dasharray"] = [1,Math.max(150,Math.floor(2*t))].join(" "); + def["stroke-linecap"] = "round"; + } + this.SUPER(arguments).Init.call(this,def); + this.w = this.r = t; this.l = 0; this.h = this.H = h; this.d = this.D = 0; + } + }); + + BBOX.TEXT = BBOX.Subclass({ + type: "text", removeable: false, + Init: function (scale,text,def) { + if (!def) {def = {}}; def.stroke = "none"; + if (def["font-style"] === "") delete def["font-style"]; + if (def["font-weight"] === "") delete def["font-weight"]; + this.SUPER(arguments).Init.call(this,def); + SVG.addText(this.element,text); + SVG.textSVG.appendChild(this.element); + var bbox = this.element.getBBox(); + SVG.textSVG.removeChild(this.element); + scale *= 1000/SVG.em; + this.element.setAttribute("transform","scale("+SVG.Fixed(scale)+") matrix(1 0 0 -1 0 0)"); + this.w = this.r = bbox.width*scale; this.l = 0; + this.h = this.H = -bbox.y*scale; + this.d = this.D = (bbox.height + bbox.y)*scale; + } + }); + + BBOX.G = BBOX; + + BBOX.NULL = BBOX.Subclass({ + Init: function () { + this.SUPER(arguments).Init.apply(this,arguments); + this.Clean(); + } + }); + + BBOX.GLYPH = BBOX.Subclass({ + type: "path", removeable: false, + Init: function (scale,id,h,d,w,l,r,p) { + var def, t = SVG.config.blacker, GLYPH = BBOX.GLYPH; + var cache = SVG.config.useFontCache; + var transform = (scale === 1 ? null : "scale("+SVG.Fixed(scale)+")"); + if (cache && !SVG.config.useGlobalCache) {id = "E"+GLYPH.n+"-"+id} + if (!cache || !GLYPH.glyphs[id]) { + def = {"stroke-width":t}; + if (cache) {def.id = id} else if (transform) {def.transform = transform} + def.d = (p ? "M"+p+"Z" : ""); + this.SUPER(arguments).Init.call(this,def); + if (cache) {GLYPH.defs.appendChild(this.element); GLYPH.glyphs[id] = true;} + } + if (cache) { + def = {}; if (transform) {def.transform = transform} + this.element = SVG.Element("use",def); + this.element.setAttributeNS(XLINKNS,"href",SVGURL+"#"+id); + } + this.h = (h+t) * scale; this.d = (d+t) * scale; this.w = (w+t/2) *scale; + this.l = (l+t/2) * scale; this.r = (r+t/2) * scale; + this.H = Math.max(0,this.h); this.D = Math.max(0,this.d); + this.x = this.y = 0; this.scale = scale; + } + },{ + glyphs: {}, // which glpyhs have been used + defs: null, // the SVG element where glyphs are stored + n: 0 // the ID for local for self-contained SVG elements + }); + + HUB.Register.StartupHook("mml Jax Ready",function () { + + MML = MathJax.ElementJax.mml; + + MML.mbase.Augment({ + SVG: BBOX, + toSVG: function () { + this.SVGgetStyles(); + var variant = this.SVGgetVariant(); + var svg = this.SVG(); this.SVGgetScale(svg); + this.SVGhandleSpace(svg); + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) { + var child = svg.Add(this.data[i].toSVG(variant,svg.scale),svg.w,0,true); + if (child.skew) {svg.skew = child.skew} + } + } + svg.Clean(); var text = this.data.join(""); + if (svg.skew && !SVG.isChar(text)) {delete svg.skew} + if (svg.r > svg.w && SVG.isChar(text) && !variant.noIC) + {svg.ic = svg.r - svg.w; svg.w = svg.r} + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + + SVGchildSVG: function (i) { + return (this.data[i] ? this.data[i].toSVG() : BBOX()); + }, + + SVGdataStretched: function (i,HW,D) { + this.SVGdata = {HW:HW, D:D}; + if (!this.data[i]) {return BBOX()} + if (D != null) {return this.data[i].SVGstretchV(HW,D)} + if (HW != null) {return this.data[i].SVGstretchH(HW)} + return this.data[i].toSVG(); + }, + + SVGsaveData: function (svg) { + if (!this.SVGdata) {this.SVGdata = {}} + this.SVGdata.w = svg.w, this.SVGdata.x = svg.x; + this.SVGdata.h = svg.h, this.SVGdata.d = svg.d; + if (svg.y) {this.SVGdata.h += svg.y; this.SVGdata.d -= svg.y} + if (svg.X != null) {this.SVGdata.X = svg.X} + if (svg.tw != null) {this.SVGdata.tw = svg.tw} + if (svg.skew) {this.SVGdata.skew = svg.skew} + if (svg.ic) {this.SVGdata.ic = svg.ic} + if (this["class"]) {svg.removeable = false; SVG.Element(svg.element,{"class":this["class"]})} + // FIXME: if an element is split by linebreaking, the ID will be the same on both parts + // FIXME: if an element has an id, its zoomed copy will have the same ID + if (this.id) {svg.removeable = false; SVG.Element(svg.element,{"id":this.id})} + if (this.href) {this.SVGaddHref(svg)} + if (SVG.config.addMMLclasses) { + this.SVGaddClass(svg.element,"mjx-svg-"+this.type); + svg.removeable = false; + } + var style = this.style; + if (style && svg.element) { + svg.element.style.cssText = style; + if (svg.element.style.fontSize) {svg.element.style.fontSize = ""} // handled by scale + svg.element.style.border = svg.element.style.padding = ""; + if (svg.removeable) {svg.removeable = (svg.element.style.cssText === "")} + } + this.SVGaddAttributes(svg); + }, + SVGaddClass: function (node,name) { + var classes = node.getAttribute("class"); + node.setAttribute("class",(classes ? classes+" " : "")+name); + }, + SVGaddAttributes: function (svg) { + // + // Copy RDFa, aria, and other tags from the MathML to the HTML-CSS + // output spans Don't copy those in the MML.nocopyAttributes list, + // the ignoreMMLattributes configuration list, or anything tha + // already exists as a property of the span (e.g., no "onlick", etc.) + // If a name in the ignoreMMLattributes object is set to false, then + // the attribute WILL be copied. + // + if (this.attrNames) { + var copy = this.attrNames, skip = MML.nocopyAttributes, ignore = HUB.config.ignoreMMLattributes; + var defaults = (this.type === "mstyle" ? MML.math.prototype.defaults : this.defaults); + for (var i = 0, m = copy.length; i < m; i++) { + var id = copy[i]; + if (ignore[id] == false || (!skip[id] && !ignore[id] && + defaults[id] == null && typeof(svg.element[id]) === "undefined")) { + svg.element.setAttribute(id,this.attr[id]); + svg.removeable = false; + } + } + } + }, + SVGaddHref: function (svg) { + var a = SVG.Element("a",{"class":"mjx-svg-href"}); + a.setAttributeNS(XLINKNS,"href",this.href); + a.onclick = this.SVGlink; + SVG.addElement(a,"rect",{width:svg.w, height:svg.h+svg.d, y:-svg.d, + fill:"none", stroke:"none", "pointer-events":"all"}); + if (svg.type === "svg") { + // for svg element, put inside the main element + var g = svg.element.firstChild; + while (g.firstChild) {a.appendChild(g.firstChild)} + g.appendChild(a); + } else { + a.appendChild(svg.element); svg.element = a; + } + svg.removeable = false; + }, + // + // WebKit currently scrolls to the BOTTOM of an svg element if it contains the + // target of the link, so implement link by hand, to the containing span element. + // + SVGlink: function () { + var href = this.href.animVal; + if (href.charAt(0) === "#") { + var target = SVG.hashCheck(document.getElementById(href.substr(1))); + if (target && target.scrollIntoView) + {setTimeout(function () {target.parentNode.scrollIntoView(true)},1)} + } + document.location = href; + }, + + SVGgetStyles: function () { + if (this.style) { + var span = HTML.Element("span"); + span.style.cssText = this.style; + this.styles = this.SVGprocessStyles(span.style); + } + }, + SVGprocessStyles: function (style) { + var styles = {border:SVG.getBorders(style), padding:SVG.getPadding(style)}; + if (!styles.border) {delete styles.border} + if (!styles.padding) {delete styles.padding} + if (style.fontSize) {styles.fontSize = style.fontSize} + if (style.color) {styles.color = style.color} + if (style.backgroundColor) {styles.background = style.backgroundColor} + if (style.fontStyle) {styles.fontStyle = style.fontStyle} + if (style.fontWeight) {styles.fontWeight = style.fontWeight} + if (style.fontFamily) {styles.fontFamily = style.fontFamily} + if (styles.fontWeight && styles.fontWeight.match(/^\d+$/)) + {styles.fontWeight = (parseInt(styles.fontWeight) > 600 ? "bold" : "normal")} + return styles; + }, + + SVGhandleSpace: function (svg) { + if (this.hasMMLspacing()) { + if (this.type !== "mo") return; + var values = this.getValues("scriptlevel","lspace","rspace"); + if (values.scriptlevel <= 0 || this.hasValue("lspace") || this.hasValue("rspace")) { + var mu = this.SVGgetMu(svg); + values.lspace = Math.max(0,SVG.length2em(values.lspace,mu)); + values.rspace = Math.max(0,SVG.length2em(values.rspace,mu)); + var core = this, parent = this.Parent(); + while (parent && parent.isEmbellished() && parent.Core() === core) + {core = parent; parent = parent.Parent()} + if (values.lspace) {svg.x += values.lspace} + if (values.rspace) {svg.X = values.rspace} + } + } else { + var space = this.texSpacing(); + this.SVGgetScale(); + if (space !== "") {svg.x += SVG.length2em(space,this.scale)*this.mscale} + } + }, + + SVGhandleColor: function (svg) { + var values = this.getValues("mathcolor","color"); + if (this.styles && this.styles.color && !values.color) {values.color = this.styles.color} + if (values.color && !this.mathcolor) {values.mathcolor = values.color} + if (values.mathcolor) { + SVG.Element(svg.element,{fill:values.mathcolor,stroke:values.mathcolor}) + svg.removeable = false; + } + var borders = (this.styles||{}).border, padding = (this.styles||{}).padding, + bleft = ((borders||{}).left||0), pleft = ((padding||{}).left||0), id; + values.background = (this.mathbackground || this.background || + (this.styles||{}).background || MML.COLOR.TRANSPARENT); + if (bleft + pleft) { + // + // Make a box and move the contents of svg to it, + // then add it back into svg, but offset by the left amount + // + var dup = BBOX(); for (id in svg) {if (svg.hasOwnProperty(id)) {dup[id] = svg[id]}} + dup.x = 0; dup.y = 0; + svg.element = SVG.Element("g"); svg.removeable = true; + svg.Add(dup,bleft+pleft,0); + } + // + // Adjust size by padding and dashed borders (left is taken care of above) + // + if (padding) {svg.w += padding.right||0; svg.h += padding.top||0; svg.d += padding.bottom||0} + if (borders) {svg.w += borders.right||0; svg.h += borders.top||0; svg.d += borders.bottom||0} + // + // Add background color + // + if (values.background !== MML.COLOR.TRANSPARENT) { + var nodeName = svg.element.nodeName.toLowerCase(); + if (nodeName !== "g" && nodeName !== "svg") { + var g = SVG.Element("g"); g.appendChild(svg.element); + svg.element = g; svg.removeable = true; + } + svg.Add(BBOX.RECT(svg.h,svg.d,svg.w,{fill:values.background,stroke:"none"}),0,0,false,true) + } + // + // Add borders + // + if (borders) { + var dd = 5; // fuzz factor to avoid anti-alias problems at edges + var sides = { + left: ["V",svg.h+svg.d,-dd,-svg.d], + right: ["V",svg.h+svg.d,svg.w-borders.right+dd,-svg.d], + top: ["H",svg.w,0,svg.h-borders.top+dd], + bottom:["H",svg.w,0,-svg.d-dd] + } + for (id in sides) {if (sides.hasOwnProperty(id)) { + if (borders[id]) { + var side = sides[id], box = BBOX[side[0]+"LINE"]; + svg.Add(box(side[1],borders[id],borders[id+"Style"],borders[id+"Color"]),side[2],side[3]); + } + }} + } + }, + + SVGhandleVariant: function (variant,scale,text) { + return SVG.HandleVariant(variant,scale,text); + }, + + SVGgetVariant: function () { + var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle"); + var variant = values.mathvariant; + if (this.variantForm) variant = "-"+SVG.fontInUse+"-variant"; + values.hasVariant = this.Get("mathvariant",true); // null if not explicitly specified + if (!values.hasVariant) { + values.family = values.fontfamily; + values.weight = values.fontweight; + values.style = values.fontstyle; + } + if (this.styles) { + if (!values.style && this.styles.fontStyle) {values.style = this.styles.fontStyle} + if (!values.weight && this.styles.fontWeight) {values.weight = this.styles.fontWeight} + if (!values.family && this.styles.fontFamily) {values.family = this.styles.fontFamily} + } + if (values.family && !values.hasVariant) { + if (!values.weight && values.mathvariant.match(/bold/)) {values.weight = "bold"} + if (!values.style && values.mathvariant.match(/italic/)) {values.style = "italic"} + variant = {forceFamily: true, font: {"font-family":values.family}}; + if (values.style) {variant.font["font-style"] = values.style} + if (values.weight) {variant.font["font-weight"] = values.weight} + return variant; + } + if (values.weight === "bold") { + variant = { + normal:MML.VARIANT.BOLD, italic:MML.VARIANT.BOLDITALIC, + fraktur:MML.VARIANT.BOLDFRAKTUR, script:MML.VARIANT.BOLDSCRIPT, + "sans-serif":MML.VARIANT.BOLDSANSSERIF, + "sans-serif-italic":MML.VARIANT.SANSSERIFBOLDITALIC + }[variant]||variant; + } else if (values.weight === "normal") { + variant = { + bold:MML.VARIANT.normal, "bold-italic":MML.VARIANT.ITALIC, + "bold-fraktur":MML.VARIANT.FRAKTUR, "bold-script":MML.VARIANT.SCRIPT, + "bold-sans-serif":MML.VARIANT.SANSSERIF, + "sans-serif-bold-italic":MML.VARIANT.SANSSERIFITALIC + }[variant]||variant; + } + if (values.style === "italic") { + variant = { + normal:MML.VARIANT.ITALIC, bold:MML.VARIANT.BOLDITALIC, + "sans-serif":MML.VARIANT.SANSSERIFITALIC, + "bold-sans-serif":MML.VARIANT.SANSSERIFBOLDITALIC + }[variant]||variant; + } else if (values.style === "normal") { + variant = { + italic:MML.VARIANT.NORMAL, "bold-italic":MML.VARIANT.BOLD, + "sans-serif-italic":MML.VARIANT.SANSSERIF, + "sans-serif-bold-italic":MML.VARIANT.BOLDSANSSERIF + }[variant]||variant; + } + if (!(variant in SVG.FONTDATA.VARIANT)) { + // If the mathvariant value is invalid or not supported by this + // font, fallback to normal. See issue 363. + variant = "normal"; + } + return SVG.FONTDATA.VARIANT[variant]; + }, + + SVGgetScale: function (svg) { + var scale = 1; + if (this.mscale) { + scale = this.scale; + } else { + var values = this.getValues("scriptlevel","fontsize"); + values.mathsize = (this.isToken ? this : this.Parent()).Get("mathsize"); + if ((this.styles||{}).fontSize && !values.fontsize) {values.fontsize = this.styles.fontSize} + if (values.fontsize && !this.mathsize) {values.mathsize = values.fontsize} + if (values.scriptlevel !== 0) { + if (values.scriptlevel > 2) {values.scriptlevel = 2} + scale = Math.pow(this.Get("scriptsizemultiplier"),values.scriptlevel); + values.scriptminsize = SVG.length2em(this.Get("scriptminsize"))/1000; + if (scale < values.scriptminsize) {scale = values.scriptminsize} + } + this.scale = scale; this.mscale = SVG.length2em(values.mathsize)/1000; + } + if (svg) {svg.scale = scale; if (this.isToken) {svg.scale *= this.mscale}} + return scale * this.mscale; + }, + SVGgetMu: function (svg) { + var mu = 1, values = this.getValues("scriptlevel","scriptsizemultiplier"); + if (svg.scale && svg.scale !== 1) {mu = 1/svg.scale} + if (values.scriptlevel !== 0) { + if (values.scriptlevel > 2) {values.scriptlevel = 2} + mu = Math.sqrt(Math.pow(values.scriptsizemultiplier,values.scriptlevel)); + } + return mu; + }, + + SVGnotEmpty: function (data) { + while (data) { + if ((data.type !== "mrow" && data.type !== "texatom") || + data.data.length > 1) {return true} + data = data.data[0]; + } + return false; + }, + + SVGcanStretch: function (direction) { + var can = false; + if (this.isEmbellished()) { + var core = this.Core(); + if (core && core !== this) { + can = core.SVGcanStretch(direction); + if (can && core.forceStretch) {this.forceStretch = true} + } + } + return can; + }, + SVGstretchV: function (h,d) {return this.toSVG(h,d)}, + SVGstretchH: function (w) {return this.toSVG(w)}, + + SVGlineBreaks: function () {return false} + + },{ + SVGemptySVG: function () { + var svg = this.SVG(); + svg.Clean(); + this.SVGsaveData(svg); + return svg; + }, + SVGautoload: function () { + this.constructor.Augment({toSVG: MML.mbase.SVGautoloadFail}); + var file = SVG.autoloadDir+"/"+this.type+".js"; + HUB.RestartAfter(AJAX.Require(file)); + }, + SVGautoloadFail: function () { + throw Error("SVG can't autoload '"+ this.type + "'"); + }, + SVGautoloadList: {}, + SVGautoloadFile: function (name) { + if (MML.mbase.SVGautoloadList.hasOwnProperty(name)) { + throw Error("SVG can't autoload file '"+name+"'"); + } + MML.mbase.SVGautoloadList[name] = true; + var file = SVG.autoloadDir+"/"+name+".js"; + HUB.RestartAfter(AJAX.Require(file)); + } + }); + + MML.chars.Augment({ + toSVG: function (variant,scale,remap,chars) { + var text = this.data.join("").replace(/[\u2061-\u2064]/g,""); // remove invisibles + if (remap) {text = remap(text,chars)} + return this.SVGhandleVariant(variant,scale,text); + } + }); + MML.entity.Augment({ + toSVG: function (variant,scale,remap,chars) { + var text = this.toString().replace(/[\u2061-\u2064]/g,""); // remove invisibles + if (remap) {text = remap(text,chars)} + return this.SVGhandleVariant(variant,scale,text); + } + }); + + MML.mo.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.svg = this.SVG(); + var scale = this.SVGgetScale(svg); + this.SVGhandleSpace(svg); + if (this.data.length == 0) {svg.Clean(); this.SVGsaveData(svg); return svg} + // + // Stretch the operator, if that is requested + // + if (D != null) {return this.SVGstretchV(HW,D)} + else if (HW != null) {return this.SVG.strechH(HW)} + // + // Get the variant, and check for operator size + // + var variant = this.SVGgetVariant(); + var values = this.getValues("largeop","displaystyle"); + if (values.largeop) + {variant = SVG.FONTDATA.VARIANT[values.displaystyle ? "-largeOp" : "-smallOp"]} + // + // Get character translation for superscript and accents + // + var parent = this.CoreParent(), + isScript = (parent && parent.isa(MML.msubsup) && this !== parent.data[0]), + mapchars = (isScript?this.remapChars:null); + if (SVG.isChar(this.data.join("")) && parent && parent.isa(MML.munderover) && + SVG.isChar(this.CoreText(parent.data[parent.base]))) { + var over = parent.data[parent.over], under = parent.data[parent.under]; + if (over && this === over.CoreMO() && parent.Get("accent")) {mapchars = SVG.FONTDATA.REMAPACCENT} + else if (under && this === under.CoreMO() && parent.Get("accentunder")) {mapchars = SVG.FONTDATA.REMAPACCENTUNDER} + } + // + // Primes must come from another font + // + if (isScript && this.data.join("").match(/['`"\u00B4\u2032-\u2037\u2057]/)) + {variant = SVG.FONTDATA.VARIANT["-"+SVG.fontInUse+"-variant"]} + // + // Typeset contents + // + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) { + var text = this.data[i].toSVG(variant,scale,this.remap,mapchars), x = svg.w; + if (x === 0 && -text.l > 10*text.w) {x += -text.l} // initial combining character doesn't combine + svg.Add(text,x,0,true); + if (text.skew) {svg.skew = text.skew} + } + } + svg.Clean(); + if (!SVG.isChar(this.data.join(""))) {delete svg.skew} + // + // Handle large operator centering + // + if (values.largeop) { + svg.y = SVG.TeX.axis_height - (svg.h - svg.d)/2/scale; + if (svg.r > svg.w) {svg.ic = svg.r - svg.w; svg.w = svg.r} + } + // + // Finish up + // + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGcanStretch: function (direction) { + if (!this.Get("stretchy")) {return false} + var c = this.data.join(""); + if (c.length > 1) {return false} + var parent = this.CoreParent(); + if (parent && parent.isa(MML.munderover) && + SVG.isChar(this.CoreText(parent.data[parent.base]))) { + var over = parent.data[parent.over], under = parent.data[parent.under]; + if (over && this === over.CoreMO() && parent.Get("accent")) {c = SVG.FONTDATA.REMAPACCENT[c]||c} + else if (under && this === under.CoreMO() && parent.Get("accentunder")) {c = SVG.FONTDATA.REMAPACCENTUNDER[c]||c} + } + c = SVG.FONTDATA.DELIMITERS[c.charCodeAt(0)]; + var can = (c && c.dir == direction.substr(0,1)); + if (!can) {delete this.svg} + this.forceStretch = can && (this.Get("minsize",true) || this.Get("maxsize",true)); + return can; + }, + SVGstretchV: function (h,d) { + var svg = this.svg || this.toSVG(); + var values = this.getValues("symmetric","maxsize","minsize"); + var axis = SVG.TeX.axis_height*svg.scale, mu = this.SVGgetMu(svg), H; + if (values.symmetric) {H = 2*Math.max(h-axis,d+axis)} else {H = h + d} + values.maxsize = SVG.length2em(values.maxsize,mu,svg.h+svg.d); + values.minsize = SVG.length2em(values.minsize,mu,svg.h+svg.d); + H = Math.max(values.minsize,Math.min(values.maxsize,H)); + if (H != values.minsize) + {H = [Math.max(H*SVG.TeX.delimiterfactor/1000,H-SVG.TeX.delimitershortfall),H]} + svg = SVG.createDelimiter(this.data.join("").charCodeAt(0),H,svg.scale); + if (values.symmetric) {H = (svg.h + svg.d)/2 + axis} + else {H = (svg.h + svg.d) * h/(h + d)} + svg.y = H - svg.h; + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + delete this.svg.element; + this.SVGsaveData(svg); + svg.stretched = true; + return svg; + }, + SVGstretchH: function (w) { + var svg = this.svg || this.toSVG(), mu = this.SVGgetMu(svg); + var values = this.getValues("maxsize","minsize","mathvariant","fontweight"); + // FIXME: should take style="font-weight:bold" into account as well + if ((values.fontweight === "bold" || parseInt(values.fontweight) >= 600) && + !this.Get("mathvariant",true)) {values.mathvariant = MML.VARIANT.BOLD} + values.maxsize = SVG.length2em(values.maxsize,mu,svg.w); + values.minsize = SVG.length2em(values.minsize,mu,svg.w); + w = Math.max(values.minsize,Math.min(values.maxsize,w)); + svg = SVG.createDelimiter(this.data.join("").charCodeAt(0),w,svg.scale,values.mathvariant); + this.SVGhandleSpace(svg); + this.SVGhandleColor(svg); + delete this.svg.element; + this.SVGsaveData(svg); + svg.stretched = true; + return svg; + } + }); + + MML.mn.Augment({ + SVGremapMinus: function (text) {return text.replace(/^-/,"\u2212")}, + toSVG: function () { + this.SVGgetStyles(); + var variant = this.SVGgetVariant(); + var svg = this.SVG(); this.SVGgetScale(svg); + this.SVGhandleSpace(svg); + var remap = this.SVGremapMinus; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) { + var child = svg.Add(this.data[i].toSVG(variant,svg.scale,remap),svg.w,0,true); + if (child.skew) {svg.skew = child.skew} + remap = null; + } + } + svg.Clean(); var text = this.data.join(""); + if (svg.skew && !SVG.isChar(text)) {delete svg.skew} + if (svg.r > svg.w && SVG.isChar(text) && !variant.noIC) + {svg.ic = svg.r - svg.w; svg.w = svg.r} + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + }), + + MML.mtext.Augment({ + toSVG: function () { + if (SVG.config.mtextFontInherit || this.Parent().type === "merror") { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); + this.SVGhandleSpace(svg); + var variant = this.SVGgetVariant(), def = {direction:this.Get("dir")}; + if (variant.bold) {def["font-weight"] = "bold"} + if (variant.italic) {def["font-style"] = "italic"} + variant = this.Get("mathvariant"); + if (variant === "monospace") {def["class"] = "MJX-monospace"} + else if (variant.match(/sans-serif/)) {def["class"] = "MJX-sans-serif"} + svg.Add(BBOX.TEXT(scale*100/SVG.config.scale,this.data.join(""),def)); svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } else { + return this.SUPER(arguments).toSVG.call(this); + } + } + }); + + MML.merror.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(), scale = SVG.length2em(this.styles.fontSize||1)/1000; + this.SVGhandleSpace(svg); + var def = (scale !== 1 ? {transform:"scale("+SVG.Fixed(scale)+")"} : {}); + var bbox = BBOX(def); + bbox.Add(this.SVGchildSVG(0)); bbox.Clean(); + if (scale !== 1) { + bbox.removeable = false; + var adjust = ["w","h","d","l","r","D","H"]; + for (var i = 0, m = adjust.length; i < m; i++) {bbox[adjust[i]] *= scale} + } + svg.Add(bbox); svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGgetStyles: function () { + var span = HTML.Element("span",{style: SVG.config.merrorStyle}); + this.styles = this.SVGprocessStyles(span.style); + if (this.style) { + span.style.cssText = this.style; + HUB.Insert(this.styles,this.SVGprocessStyles(span.style)); + } + } + }); + + MML.ms.Augment({toSVG: MML.mbase.SVGautoload}); + + MML.mglyph.Augment({toSVG: MML.mbase.SVGautoload}); + + MML.mspace.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var values = this.getValues("height","depth","width"); + values.mathbackground = this.mathbackground; + if (this.background && !this.mathbackground) {values.mathbackground = this.background} + var svg = this.SVG(); this.SVGgetScale(svg); + var scale = this.mscale, mu = this.SVGgetMu(svg); + svg.h = SVG.length2em(values.height,mu) * scale; + svg.d = SVG.length2em(values.depth,mu) * scale; + svg.w = svg.r = SVG.length2em(values.width,mu) * scale; + if (svg.w < 0) {svg.x = svg.w; svg.w = svg.r = 0} + if (svg.h < -svg.d) {svg.d = -svg.h} + svg.l = 0; svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.mphantom.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(); this.SVGgetScale(svg); + if (this.data[0] != null) { + this.SVGhandleSpace(svg); svg.Add(this.SVGdataStretched(0,HW,D)); svg.Clean(); + while (svg.element.firstChild) {svg.element.removeChild(svg.element.firstChild)} + } + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + if (svg.removeable && !svg.element.firstChild) {delete svg.element} + return svg; + } + }); + + MML.mpadded.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(); + if (this.data[0] != null) { + this.SVGgetScale(svg); this.SVGhandleSpace(svg); + var pad = this.SVGdataStretched(0,HW,D), mu = this.SVGgetMu(svg); + var values = this.getValues("height","depth","width","lspace","voffset"), X = 0, Y = 0; + if (values.lspace) {X = this.SVGlength2em(pad,values.lspace,mu)} + if (values.voffset) {Y = this.SVGlength2em(pad,values.voffset,mu)} + var h = pad.h, d = pad.d, w = pad.w, y = pad.y; // these can change during the Add() + svg.Add(pad,X,Y); svg.Clean(); + svg.h = h+y; svg.d = d-y; svg.w = w; svg.removeable = false; + if (values.height !== "") {svg.h = this.SVGlength2em(svg,values.height,mu,"h",0)} + if (values.depth !== "") {svg.d = this.SVGlength2em(svg,values.depth,mu,"d",0)} + if (values.width !== "") {svg.w = this.SVGlength2em(svg,values.width,mu,"w",0)} + if (svg.h > svg.H) {svg.H = svg.h}; if (svg.d > svg.D) {svg.D = svg.d} + } + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGlength2em: function (svg,length,mu,d,m) { + if (m == null) {m = -SVG.BIGDIMEN} + var match = String(length).match(/width|height|depth/); + var size = (match ? svg[match[0].charAt(0)] : (d ? svg[d] : 0)); + var v = SVG.length2em(length,mu,size/this.mscale)*this.mscale; + if (d && String(length).match(/^\s*[-+]/)) + {return Math.max(m,svg[d]+v)} else {return v} + } + }); + + MML.mrow.Augment({ + SVG: BBOX.ROW, + toSVG: function (h,d) { + this.SVGgetStyles(); + var svg = this.SVG(); + this.SVGhandleSpace(svg); + if (d != null) {svg.sh = h; svg.sd = d} + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {svg.Check(this.data[i])}} + svg.Stretch(); svg.Clean(); + if (this.data.length === 1 && this.data[0]) { + var data = this.data[0].SVGdata; + if (data.skew) {svg.skew = data.skew} + } + if (this.SVGlineBreaks(svg)) {svg = this.SVGmultiline(svg)} + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGlineBreaks: function (svg) { + if (!this.parent.linebreakContainer) {return false} + return (SVG.config.linebreaks.automatic && + svg.w > SVG.linebreakWidth) || this.hasNewline(); + }, + SVGmultiline: function (span) {MML.mbase.SVGautoloadFile("multiline")}, + SVGstretchH: function (w) { + var svg = this.SVG(); + this.SVGhandleSpace(svg); + for (var i = 0, m = this.data.length; i < m; i++) + {svg.Add(this.SVGdataStretched(i,w),svg.w,0)} + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.mstyle.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(); + if (this.data[0] != null) { + this.SVGhandleSpace(svg); + var math = svg.Add(this.data[0].toSVG()); svg.Clean(); + if (math.ic) {svg.ic = math.ic} + this.SVGhandleColor(svg); + } + this.SVGsaveData(svg); + return svg; + }, + SVGstretchH: function (w) { + return (this.data[0] != null ? this.data[0].SVGstretchH(w) : BBOX.NULL()); + }, + SVGstretchV: function (h,d) { + return (this.data[0] != null ? this.data[0].SVGstretchV(h,d) : BBOX.NULL()); + } + }); + + MML.mfrac.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); + var frac = BBOX(); frac.scale = svg.scale; this.SVGhandleSpace(frac); + var num = this.SVGchildSVG(0), den = this.SVGchildSVG(1); + var values = this.getValues("displaystyle","linethickness","numalign","denomalign","bevelled"); + var isDisplay = values.displaystyle; + var a = SVG.TeX.axis_height * scale; + if (values.bevelled) { + var delta = (isDisplay ? 400 : 150); + var H = Math.max(num.h+num.d,den.h+den.d)+2*delta; + var bevel = SVG.createDelimiter(0x2F,H); + frac.Add(num,0,(num.d-num.h)/2+a+delta); + frac.Add(bevel,num.w-delta/2,(bevel.d-bevel.h)/2+a); + frac.Add(den,num.w+bevel.w-delta,(den.d-den.h)/2+a-delta); + } else { + var W = Math.max(num.w,den.w); + var t = SVG.thickness2em(values.linethickness,this.scale)*this.mscale, p,q, u,v; + var mt = SVG.TeX.min_rule_thickness/SVG.em * 1000; + if (isDisplay) {u = SVG.TeX.num1; v = SVG.TeX.denom1} + else {u = (t === 0 ? SVG.TeX.num3 : SVG.TeX.num2); v = SVG.TeX.denom2} + u *= scale; v *= scale; + if (t === 0) {// \atop + p = Math.max((isDisplay ? 7 : 3) * SVG.TeX.rule_thickness, 2*mt); // force to at least 2 px + q = (u - num.d) - (den.h - v); + if (q < p) {u += (p - q)/2; v += (p - q)/2} + frac.w = W; t = 0; + } else {// \over + p = Math.max((isDisplay ? 2 : 0) * mt + t, t/2 + 1.5*mt); // force to be at least 1.5px + q = (u - num.d) - (a + t/2); if (q < p) {u += p - q} + q = (a - t/2) - (den.h - v); if (q < p) {v += p - q} + frac.Add(BBOX.RECT(t/2,t/2,W+2*t),0,a); + } + frac.Align(num,values.numalign,t,u); + frac.Align(den,values.denomalign,t,-v); + } + frac.Clean(); svg.Add(frac,0,0); svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGcanStretch: function (direction) {return false}, + SVGhandleSpace: function (svg) { + if (!this.texWithDelims) { + // + // Add nulldelimiterspace around the fraction + // (TeXBook pg 150 and Appendix G rule 15e) + // + svg.x = svg.X = SVG.TeX.nulldelimiterspace * this.mscale; + } + this.SUPER(arguments).SVGhandleSpace.call(this,svg); + } + }); + + MML.msqrt.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); + var base = this.SVGchildSVG(0), rule, surd; + var t = SVG.TeX.rule_thickness * scale, p,q, H, x = 0; + if (this.Get("displaystyle")) {p = SVG.TeX.x_height * scale} else {p = t} + q = Math.max(t + p/4,1000*SVG.TeX.min_root_space/SVG.em); + H = base.h + base.d + q + t; + surd = SVG.createDelimiter(0x221A,H,scale); + if (surd.h + surd.d > H) {q = ((surd.h+surd.d) - (H-t)) / 2} + rule = BBOX.RECT(t,0,base.w); + H = base.h + q + t; + x = this.SVGaddRoot(svg,surd,x,surd.h+surd.d-H,scale); + svg.Add(surd,x,H-surd.h); + svg.Add(rule,x+surd.w,H-rule.h); + svg.Add(base,x+surd.w,0); + svg.Clean(); + svg.h += t; svg.H += t; + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + }, + SVGaddRoot: function (svg,surd,x,d,scale) {return x} + }); + + MML.mroot.Augment({ + toSVG: MML.msqrt.prototype.toSVG, + SVGaddRoot: function (svg,surd,x,d,scale) { + var dx = (surd.isMultiChar ? .55 : .65) * surd.w; + if (this.data[1]) { + var root = this.data[1].toSVG(); root.x = 0; + var h = this.SVGrootHeight(surd.h+surd.d,scale,root)-d; + var w = Math.min(root.w,root.r); // remove extra right-hand padding, if any + x = Math.max(w,dx); + svg.Add(root,x-w,h); + } else {dx = x} + return x - dx; + }, + SVGrootHeight: function (d,scale,root) { + return .45*(d-900*scale) + 600*scale + Math.max(0,root.d-75); + } + }); + + MML.mfenced.Augment({ + SVG: BBOX.ROW, + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(); + this.SVGhandleSpace(svg); + if (this.data.open) {svg.Check(this.data.open)} + if (this.data[0] != null) {svg.Check(this.data[0])} + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data[i]) { + if (this.data["sep"+i]) {svg.Check(this.data["sep"+i])} + svg.Check(this.data[i]); + } + } + if (this.data.close) {svg.Check(this.data.close)} + svg.Stretch(); svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.menclose.Augment({toSVG: MML.mbase.SVGautoload}); + MML.maction.Augment({toSVG: MML.mbase.SVGautoload}); + + MML.semantics.Augment({ + toSVG: function () { + this.SVGgetStyles(); + var svg = this.SVG(); + if (this.data[0] != null) { + this.SVGhandleSpace(svg); + svg.Add(this.data[0].toSVG()); svg.Clean(); + } else {svg.Clean()} + this.SVGsaveData(svg); + return svg; + }, + SVGstretchH: function (w) { + return (this.data[0] != null ? this.data[0].SVGstretchH(w) : BBOX.NULL()); + }, + SVGstretchV: function (h,d) { + return (this.data[0] != null ? this.data[0].SVGstretchV(h,d) : BBOX.NULL()); + } + }); + + MML.munderover.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var values = this.getValues("displaystyle","accent","accentunder","align"); + var base = this.data[this.base]; + if (!values.displaystyle && base != null && + (base.movablelimits || base.CoreMO().Get("movablelimits"))) + {return MML.msubsup.prototype.toSVG.call(this)} + var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); + var boxes = [], stretch = [], box, i, m, W = -SVG.BIGDIMEN, WW = W, ww; + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] != null) { + if (i == this.base) { + box = boxes[i] = this.SVGdataStretched(i,HW,D); + stretch[i] = (D != null || HW == null) && this.data[i].SVGcanStretch("Horizontal"); + if (this.data[this.over] && values.accent) { + box.h = Math.max(box.h,scale*SVG.TeX.x_height); // min height of 1ex (#1706) + } + } else { + box = boxes[i] = this.data[i].toSVG(); box.x = 0; delete box.X; + stretch[i] = this.data[i].SVGcanStretch("Horizontal"); + } + ww = box.w + box.x + (box.X || 0); + if (ww > WW) {WW = ww} + if (!stretch[i] && WW > W) {W = WW} + } + } + if (D == null && HW != null) {W = HW} else if (W == -SVG.BIGDIMEN) {W = WW} + for (i = WW = 0, m = this.data.length; i < m; i++) {if (this.data[i]) { + box = boxes[i]; + if (stretch[i]) { + box = boxes[i] = this.data[i].SVGstretchH(W); + if (i !== this.base) {box.x = 0; delete box.X} + } + ww = box.w + box.x + (box.X || 0); + if (ww > WW) {WW = ww} + }} + var t = SVG.TeX.rule_thickness * this.mscale; + var x, y, z1, z2, z3, dw, k, delta = 0; + base = boxes[this.base] || {w:0, h:0, d:0, H:0, D:0, l:0, r:0, y:0, scale:scale}; + if (base.ic) {delta = 1.3*base.ic + .05} // adjust faked IC to be more in line with expeted results + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] != null) { + box = boxes[i]; + z3 = SVG.TeX.big_op_spacing5 * scale; + var accent = (i != this.base && values[this.ACCENTS[i]]); + if (accent && box.w <= 1) { + box.x = -box.l; + boxes[i] = BBOX.G().With({removeable: false}); + boxes[i].Add(box); boxes[i].Clean(); + boxes[i].w = -box.l; box = boxes[i]; + } + ww = box.w + box.x + (box.X || 0); + dw = {left:0, center:(WW-ww)/2, right:WW-ww}[values.align]; + x = dw; y = 0; + if (i == this.over) { + if (accent) { + k = t * scale; z3 = 0; + if (base.skew) { + x += base.skew; svg.skew = base.skew; + if (x+ww > WW) {svg.skew += (WW-ww-x)/2} + } + } else { + z1 = SVG.TeX.big_op_spacing1 * scale; + z2 = SVG.TeX.big_op_spacing3 * scale; + k = Math.max(z1,z2-Math.max(0,box.d)); + } + k = Math.max(k,1500/SVG.em); + x += delta/2; y = base.y + base.h + box.d + k; + box.h += z3; if (box.h > box.H) {box.H = box.h} + } else if (i == this.under) { + if (accent) { + k = 3*t * scale; z3 = 0; + } else { + z1 = SVG.TeX.big_op_spacing2 * scale; + z2 = SVG.TeX.big_op_spacing4 * scale; + k = Math.max(z1,z2-box.h); + } + k = Math.max(k,1500/SVG.em); + x -= delta/2; y = base.y -(base.d + box.h + k); + box.d += z3; if (box.d > box.D) {box.D = box.d} + } + svg.Add(box,x,y); + } + } + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.msubsup.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg); + var mu = this.SVGgetMu(svg); + var base = svg.Add(this.SVGdataStretched(this.base,HW,D)); + var sscale = (this.data[this.sup] || this.data[this.sub] || this).SVGgetScale(); + var x_height = SVG.TeX.x_height * scale, s = SVG.TeX.scriptspace * scale; + var sup, sub; + if (this.SVGnotEmpty(this.data[this.sup])) { + sup = this.data[this.sup].toSVG(); + sup.w += s; sup.r = Math.max(sup.w,sup.r); + } + if (this.SVGnotEmpty(this.data[this.sub])) { + sub = this.data[this.sub].toSVG(); + sub.w += s; sub.r = Math.max(sub.w,sub.r); + } + var q = SVG.TeX.sup_drop * sscale, r = SVG.TeX.sub_drop * sscale; + var u = base.h+(base.y||0) - q, v = base.d-(base.y||0) + r, delta = 0, p; + if (base.ic) { + base.w -= base.ic; // remove IC (added by mo and mi) + delta = 1.3*base.ic+.05; // adjust faked IC to be more in line with expeted results + } + if (this.data[this.base] && + (this.data[this.base].type === "mi" || this.data[this.base].type === "mo")) { + if (SVG.isChar(this.data[this.base].data.join("")) && base.scale === 1 && + !base.stretched && !this.data[this.base].Get("largeop")) {u = v = 0} + } + var min = this.getValues("subscriptshift","superscriptshift"); + min.subscriptshift = (min.subscriptshift === "" ? 0 : SVG.length2em(min.subscriptshift,mu)); + min.superscriptshift = (min.superscriptshift === "" ? 0 : SVG.length2em(min.superscriptshift,mu)); + var x = base.w + base.x; + if (!sup) { + if (sub) { + v = Math.max(v,SVG.TeX.sub1*scale,sub.h-(4/5)*x_height,min.subscriptshift); + svg.Add(sub,x,-v); this.data[this.sub].SVGdata.dy = -v; + } + } else { + if (!sub) { + var values = this.getValues("displaystyle","texprimestyle"); + p = SVG.TeX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; + u = Math.max(u,p*scale,sup.d+(1/4)*x_height,min.superscriptshift); + svg.Add(sup,x+delta,u); + this.data[this.sup].SVGdata.dx = delta; + this.data[this.sup].SVGdata.dy = u; + } else { + v = Math.max(v,SVG.TeX.sub2*scale); + var t = SVG.TeX.rule_thickness * scale; + if ((u - sup.d) - (sub.h - v) < 3*t) { + v = 3*t - u + sup.d + sub.h; + q = (4/5)*x_height - (u - sup.d); + if (q > 0) {u += q; v -= q} + } + svg.Add(sup,x+delta,Math.max(u,min.superscriptshift)); + svg.Add(sub,x,-Math.max(v,min.subscriptshift)); + this.data[this.sup].SVGdata.dx = delta; + this.data[this.sup].SVGdata.dy = Math.max(u,min.superscriptshift); + this.data[this.sub].SVGdata.dy = -Math.max(v,min.subscriptshift); + } + } + svg.Clean(); + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + MML.mmultiscripts.Augment({toSVG: MML.mbase.SVGautoload}); + MML.mtable.Augment({toSVG: MML.mbase.SVGautoload}); + MML["annotation-xml"].Augment({toSVG: MML.mbase.SVGautoload}); + + MML.math.Augment({ + SVG: BBOX.Subclass({type:"svg", removeable: false}), + toSVG: function (span,div) { + var CONFIG = SVG.config; + // + // All the data should be in an inferrerd row + // + if (this.data[0]) { + this.SVGgetStyles(); + MML.mbase.prototype.displayAlign = HUB.config.displayAlign; + MML.mbase.prototype.displayIndent = HUB.config.displayIndent; + if (String(HUB.config.displayIndent).match(/^0($|[a-z%])/i)) + MML.mbase.prototype.displayIndent = "0"; + // + // Put content in a with defaults and matrix that flips y axis. + // Put that in an with xlink defined. + // + var box = BBOX.G(); box.Add(this.data[0].toSVG(),0,0,true); box.Clean(); + this.SVGhandleColor(box); + SVG.Element(box.element,{ + stroke:"currentColor", fill:"currentColor", "stroke-width":0, + transform: "matrix(1 0 0 -1 0 0)" + }); + box.removeable = false; + var svg = this.SVG(); + svg.element.setAttribute("xmlns:xlink",XLINKNS); + if (CONFIG.useFontCache && !CONFIG.useGlobalCache) + {svg.element.appendChild(BBOX.GLYPH.defs)} + svg.Add(box); svg.Clean(); + this.SVGsaveData(svg); + // + // If this element is not the top-level math element + // remove the transform and return the svg object + // (issue #614). + // + if (!span) { + svg.element = svg.element.firstChild; // remove element + svg.element.removeAttribute("transform"); + svg.removable = true; + return svg; + } + // + // Style the to get the right size and placement + // + var l = Math.max(-svg.l,0), r = Math.max(svg.r-svg.w,0); + var style = svg.element.style, px = SVG.TeX.x_height/SVG.ex; + var H = (Math.ceil(svg.H/px)+1)*px+SVG.HFUZZ, // round to pixels and add padding + D = (Math.ceil(svg.D/px)+1)*px+SVG.DFUZZ; + var w = l + svg.w + r; + svg.element.setAttribute("width",SVG.Ex(w)); + svg.element.setAttribute("height",SVG.Ex(H+D)); + style.verticalAlign = SVG.Ex(-D); + if (l) style.marginLeft = SVG.Ex(-l); + if (r) style.marginRight = SVG.Ex(-r); + svg.element.setAttribute("viewBox",SVG.Fixed(-l,1)+" "+SVG.Fixed(-H,1)+" "+ + SVG.Fixed(w,1)+" "+SVG.Fixed(H+D,1)); + // + // If there is extra height or depth, hide that + // + if (svg.H > svg.h) style.marginTop = SVG.Ex(svg.h-H); + if (svg.D > svg.d) { + style.marginBottom = SVG.Ex(svg.d-D); + style.verticalAlign = SVG.Ex(-svg.d); + } + // + // The approximate ex can cause full-width equations to be too wide, + // so if they are close to full width, make sure they aren't too big. + // + if (Math.abs(w-SVG.cwidth) < 10) + style.maxWidth = SVG.Fixed(SVG.cwidth*SVG.em/1000*SVG.config.scale) + "px"; + // + // Add it to the MathJax span + // + var alttext = this.Get("alttext"); + if (alttext && !svg.element.getAttribute("aria-label")) svg.element.setAttribute("aria-label",alttext); + if (!svg.element.getAttribute("role")) svg.element.setAttribute("role","img"); + svg.element.setAttribute("focusable","false"); + span.appendChild(svg.element); + svg.element = null; + // + // Handle indentalign and indentshift for single-line displays + // + if (!this.isMultiline && this.Get("display") === "block" && !svg.hasIndent) { + var values = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); + if (values.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) {values.indentalign = values.indentalignfirst} + if (values.indentalign === MML.INDENTALIGN.AUTO) {values.indentalign = this.displayAlign} + if (values.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) {values.indentshift = values.indentshiftfirst} + if (values.indentshift === "auto") {values.indentshift = "0"} + var shift = SVG.length2em(values.indentshift,1,SVG.cwidth); + if (this.displayIndent !== "0") { + var indent = SVG.length2em(this.displayIndent,1,SVG.cwidth); + shift += (values.indentalign === MML.INDENTALIGN.RIGHT ? -indent : indent); + } + div.style.textAlign = values.indentalign; + if (shift) { + HUB.Insert(style,({ + left: {marginLeft: SVG.Ex(shift)}, + right: {marginRight: SVG.Ex(-shift), marginLeft: SVG.Ex(Math.max(0,shift-w))}, + center: {marginLeft: SVG.Ex(shift), marginRight: SVG.Ex(-shift)} + })[values.indentalign]); + } + } + } + return span; + } + }); + + MML.TeXAtom.Augment({ + toSVG: function (HW,D) { + this.SVGgetStyles(); + var svg = this.SVG(); + this.SVGhandleSpace(svg); + if (this.data[0] != null) { + var box = this.SVGdataStretched(0,HW,D), y = 0; + if (this.texClass === MML.TEXCLASS.VCENTER) + {y = SVG.TeX.axis_height - (box.h+box.d)/2 + box.d} + svg.Add(box,0,y); + svg.ic = box.ic; svg.skew = box.skew; + } + this.SVGhandleColor(svg); + this.SVGsaveData(svg); + return svg; + } + }); + + // + // Make sure these don't generate output + // + MML.maligngroup.Augment({toSVG: MML.mbase.SVGemptySVG}); + MML.malignmark.Augment({toSVG: MML.mbase.SVGemptySVG}); + MML.mprescripts.Augment({toSVG: MML.mbase.SVGemptySVG}); + MML.none.Augment({toSVG: MML.mbase.SVGemptySVG}); + + // + // Loading isn't complete until the element jax is modified, + // but can't call loadComplete within the callback for "mml Jax Ready" + // (it would call SVG's Require routine, asking for the mml jax again) + // so wait until after the mml jax has finished processing. + // + // We also need to wait for the onload handler to run, since the loadComplete + // will call Config and Startup, which need to modify the body. + // + HUB.Register.StartupHook("onLoad",function () { + setTimeout(MathJax.Callback(["loadComplete",SVG,"jax.js"]),0); + }); + }); + + HUB.Browser.Select({ + Opera: function (browser) { + SVG.Augment({ + operaZoomRefresh: true // Opera needs a kick to redraw zoomed equations + }); + } + }); + + HUB.Register.StartupHook("End Cookie", function () { + if (HUB.config.menuSettings.zoom !== "None") + {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }); + + if (!document.createElementNS) { + // + // Try to handle SVG in IE8 and below, but fail + // (but don't crash on loading the file, so no delay for loadComplete) + // + if (!document.namespaces.svg) {document.namespaces.add("svg",SVGNS)} + SVG.Augment({ + Element: function (type,def) { + var obj = (typeof(type) === "string" ? document.createElement("svg:"+type) : type); + obj.isMathJax = true; + if (def) {for (var id in def) {if (def.hasOwnProperty(id)) {obj.setAttribute(id,def[id].toString())}}} + return obj; + } + }); + } + +})(MathJax.Ajax, MathJax.Hub, MathJax.HTML, MathJax.OutputJax.SVG); diff --git a/src/py/kaleido/vendor/mathjax/latest.js b/src/py/kaleido/vendor/mathjax/latest.js new file mode 100644 index 00000000..1de3f28d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/latest.js @@ -0,0 +1,159 @@ +/************************************************************* + * + * latest.js + * + * Replacement for cdn.mathjax.org/mathjax/latest that loads the + * latest (2.x) version of MathJax from cdnjs, rawgit.com, or jsdelivr + * depending on where it was loaded from. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2017-2018 The MathJax Consortium + * + * 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. + */ + +(function () { + + var CDN = { + 'cdnjs.cloudflare.com': { + api: 'https://api.cdnjs.com/libraries/mathjax?fields=version', + version: 'version', + mathjax: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/' + }, + + 'cdn.rawgit.com': { + api: 'https://api.github.com/repos/mathjax/mathjax/releases/latest', + version: 'tag_name', + mathjax: 'https://cdn.rawgit.com/mathjax/MathJax/' + }, + + 'cdn.jsdelivr.net': { + api: 'https://api.jsdelivr.com/v1/jsdelivr/libraries?name=mathjax&lastversion=*', + version: 'lastversion', + mathjax: 'https://cdn.jsdelivr.net/mathjax/' + } + }; + + function Error(message) { + if (console && console.log) console.log(message); + } + + function getScript() { + if (document.currentScript) return document.currentScript; + var scripts = document.getElementsByTagName("script"); + for (var i = 0, m = scripts.length; i < m; i++) { + var script = scripts[i]; + for (var cdn in CDN) {if (CDN.hasOwnProperty(cdn)) { + var url = CDN[cdn].mathjax; + if (script.src && script.src.substr(0,url.length) === url) return script; + }} + } + } + + function getCDN(script) { + if (!script) return; + var cdn = script.src.replace(/https:\/\//,'').replace(/[\/\?].*/,''); + return CDN[cdn]; + } + + var cookiePattern = /(?:^|;\s*)mjx\.latest=([^;]*)(?:;|$)/; + function getVersion() { + var match; + try {match = cookiePattern.exec(document.cookie)} catch (err) {} + if (match && match[1] !== '') return match[1]; + } + function setVersion(version) { + cookie = 'mjx.latest=' + version; + var time = new Date(); + time.setDate(time.getDate() + 7); + cookie += '; expires=' + time.toGMTString(); + cookie += '; path=/'; + try {document.cookie = cookie} catch (err) {} + } + + function getXMLHttpRequest() { + if (window.XMLHttpRequest) return new XMLHttpRequest(); + if (window.ActiveXObject) { + try {return new ActiveXObject("Msxml2.XMLHTTP")} catch (err) {} + try {return new ActiveXObject("Microsoft.XMLHTTP")} catch (err) {} + } + } + + function loadMathJax(url) { + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.async = true; + script.src = url; + var head = document.head || document.getElementsByTagName('head')[0] || document.body; + if (head) { + head.appendChild(script); + } else { + Error("Can't find the document element"); + } + } + + function loadDefaultMathJax() { + var script = getScript(); + if (script) { + loadMathJax(script.src.replace(/\/latest\.js/, "/MathJax.js")); + } else { + Error("Can't determine the URL for loading MathJax"); + } + } + + function getLatestMathJax(cdn,config,unpacked) { + var request = getXMLHttpRequest(); + if (request) { + request.onreadystatechange = function() { + if (request.readyState === 4) { + if (request.status === 200) { + var json = JSON.parse(request.responseText); + if (json instanceof Array) json = json[0]; + var version = json[cdn.version]; + if (version.substr(0,2) === '2.') { + setVersion(version); + loadMathJax(cdn.mathjax + json[cdn.version] + unpacked + '/MathJax.js' + config); + return; + } + } else { + Error("Problem acquiring MathJax version: status = " + request.status); + } + loadDefaultMathJax(); + } + } + request.open('GET', cdn.api, true); + request.send(null); + } else { + Error("Can't create XMLHttpRequest object"); + loadDefaultMathJax(); + } + } + + var script = getScript(); + var cdn = getCDN(script); + if (cdn) { + var config = script.src.replace(/.*?(\?|$)/, "$1"); + config += (config ? '&' : '?') + 'latest'; + var unpacked = (script.src.match(/\/unpacked\/latest\.js/) ? "/unpacked" : ""); + var version = getVersion(); + if (version) { + loadMathJax(cdn.mathjax + version + unpacked + '/MathJax.js' + config); + } else { + getLatestMathJax(cdn, config, unpacked); + } + } else { + loadDefaultMathJax(); + } + +})(); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ar/FontWarnings.js new file mode 100644 index 00000000..199b8799 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ar/FontWarnings.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ar/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "\u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u064A\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u062E\u0637\u0648\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A \u0644\u0639\u0631\u0636 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0639\u0644\u0649 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629\u060C \u0647\u0630\u0647 \u062A\u0633\u062A\u063A\u0631\u0642 \u0648\u0642\u062A\u0627 \u0637\u0648\u064A\u0644\u0627 \u0644\u062A\u062D\u0645\u064A\u0644\u060C \u0648\u0628\u0627\u0644\u062A\u0627\u0644\u064A \u0641\u0625\u0646 \u0627\u0644\u0635\u0641\u062D\u0629 \u062A\u0638\u0647\u0631 \u0628\u0634\u0643\u0644 \u0623\u0633\u0631\u0639 \u0625\u0630\u0627 \u0642\u0645\u062A \u0628\u062A\u062B\u0628\u064A\u062A \u062E\u0637\u0648\u0637 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0645\u0628\u0627\u0634\u0631\u0629 \u0641\u064A \u0645\u062C\u0644\u062F \u0627\u0644\u062E\u0637 \u0641\u064A \u0646\u0638\u0627\u0645\u0643.", + webFonts: "\u062A\u0633\u0645\u062D \u0645\u0639\u0638\u0645 \u0627\u0644\u0645\u062A\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062D\u062F\u064A\u062B\u0629 \u0644\u0644\u062E\u0637\u0648\u0637 \u0628\u0623\u0646 \u064A\u062A\u0645 \u062A\u062D\u0645\u064A\u0644\u0647\u0627 \u0639\u0628\u0631 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A. \u064A\u0645\u0643\u0646 \u0644\u0644\u062A\u062D\u062F\u064A\u062B \u0625\u0644\u0649 \u0646\u0633\u062E\u0629 \u0623\u062D\u062F\u062B \u0645\u0646 \u0645\u062A\u0635\u0641\u062D\u0643 (\u0623\u0648 \u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u0645\u062A\u0635\u0641\u062D\u0627\u062A) \u062A\u062D\u0633\u064A\u0646 \u0646\u0648\u0639\u064A\u0629 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0639\u0644\u0649 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629.", + fonts: "\u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u064A\u0645\u0643\u0646\u0647 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0625\u0645\u0627 [\u062E\u0637\u0648\u0637 STIX] (%1) \u0623\u0648 [\u062E\u0637\u0648\u0637 MathJax TeX ] (%2). \u062D\u0645\u0650\u0651\u0644 \u0648\u062B\u0628\u0650\u0651\u062A \u0623\u062D\u062F \u062A\u0644\u0643 \u0627\u0644\u062E\u0637\u0648\u0637 \u0644\u062A\u062D\u0633\u064A\u0646 \u062A\u062C\u0631\u0628\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643.", + STIXPage: "\u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629 \u0645\u062E\u0635\u0635\u0629 \u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645 [\u062E\u0637\u0648\u0637 STIX] (%1). \u062D\u0645\u0650\u0651\u0644 \u0648\u062B\u0628\u0650\u0651\u062A \u062A\u0644\u0643 \u0627\u0644\u062E\u0637\u0648\u0637 \u0644\u062A\u062D\u0633\u064A\u0646 \u062A\u062C\u0631\u0628\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643.", + TeXPage: "\u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062D\u0629 \u0645\u062E\u0635\u0635\u0629 \u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645 [\u062E\u0637\u0648\u0637 [MathJax TeX] (%1). \u062D\u0645\u0650\u0651\u0644 \u0648\u062B\u0628\u0650\u0651\u062A \u062A\u0644\u0643 \u0627\u0644\u062E\u0637\u0648\u0637 \u0644\u062A\u062D\u0633\u064A\u0646 \u062A\u062C\u0631\u0628\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ar/HTML-CSS.js new file mode 100644 index 00000000..9103d0da --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ar/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ar/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u062A\u062D\u0645\u064A\u0644 \u062E\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A %1", + CantLoadWebFont: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u062A\u062D\u0645\u064A\u0644 \u062E\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A %1", + FirefoxCantLoadWebFont: "\u0641\u0627\u064A\u0631\u0641\u0648\u0643\u0633 \u0644\u0627 \u064A\u0645\u0643\u0646\u0647 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u062E\u0637\u0648\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A \u0645\u0646 \u0645\u0636\u064A\u0641 \u0628\u0639\u064A\u062F", + CantFindFontUsing: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u062E\u0637 \u0635\u0627\u0644\u062D \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 %1", + WebFontsNotAvailable: "\u062E\u0637\u0648\u0637 \u0627\u0644\u0648\u064A\u0628 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631\u0629. \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u062E\u0637\u0648\u0637 \u0627\u0644\u0635\u0648\u0631\u0629 \u0628\u062F\u0644\u0627 \u0645\u0646 \u0630\u0644\u0643" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ar/HelpDialog.js new file mode 100644 index 00000000..efcb0f1d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ar/HelpDialog.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/localization/ar/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u0645\u0633\u0627\u0639\u062F\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", + Browsers: "*\u0645\u062A\u0635\u0641\u062D\u0627\u062A*: \u064A\u0639\u0645\u0644 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0645\u0639 \u062C\u0645\u064A\u0639 \u0627\u0644\u0645\u062A\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062D\u062F\u064A\u062B\u0629 \u0628\u0645\u0627 \u0641\u064A \u0630\u0644\u0643 IE6+\u060C \u0648\u0641\u0627\u064A\u0631\u0641\u0648\u0643\u0633 3+\u060C \u0648\u0643\u0631\u0648\u0645 0.2+\u060C \u0648\u0633\u0641\u0627\u0631\u064A2+\u060C \u0648\u0623\u0648\u0628\u0631\u0627 9.6+ \u0648\u0645\u0639\u0638\u0645 \u0645\u062A\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062C\u0648\u0627\u0644.", + ShowMath: "* \u0645\u0634\u0627\u0647\u062F\u0629 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0643 * \u064A\u0633\u0645\u062D \u0644\u0643 \u0628\u0639\u0631\u0636 \u0645\u0635\u062F\u0631 \u0627\u0644\u0635\u064A\u063A \u0644\u0644\u0646\u0633\u062E \u0648\u0627\u0644\u0644\u0635\u0642 (\u0643 MathML \u0623\u0648 \u0628\u0634\u0643\u0644\u0647 \u0627\u0644\u0623\u0635\u0644\u064A).", + Settings: "* \u0636\u0628\u0637 * \u064A\u0645\u0646\u062D\u0643 \u0627\u0644\u0633\u064A\u0637\u0631\u0629 \u0639\u0644\u0649 \u0645\u064A\u0632\u0627\u062A \u0645\u0627\u062B \u062C\u0627\u0643\u0633\u060C \u0645\u062B\u0644 \u062D\u062C\u0645 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A\u060C \u0648\u0622\u0644\u064A\u0629 \u0627\u0633\u062A\u062E\u062F\u0627\u0645\u0647\u0627 \u0644\u0639\u0631\u0636 \u0627\u0644\u0645\u0639\u0627\u062F\u0644\u0627\u062A.", + Language: "* \u0627\u0644\u0644\u063A\u0629 * \u064A\u062A\u064A\u062D \u0644\u0643 \u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0644\u063A\u0629 \u0627\u0644\u062A\u064A \u064A\u0633\u062A\u062E\u062F\u0645\u0647\u0627 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0644\u0644\u0642\u0648\u0627\u0626\u0645 \u0648\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u062A\u062D\u0630\u064A\u0631.", + Zoom: "* \u062A\u0643\u0628\u064A\u0631 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A *: \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u0648\u0627\u062C\u0647 \u0635\u0639\u0648\u0628\u0629 \u0641\u064A \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0639\u0627\u062F\u0644\u0629\u060C \u064A\u0645\u0643\u0650\u0651\u0646 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u062A\u0643\u0628\u064A\u0631\u0647\u0627 \u0644\u0645\u0633\u0627\u0639\u062F\u062A\u0643 \u0639\u0644\u0649 \u0645\u0639\u0631\u0641\u0629 \u0623\u0641\u0636\u0644.", + Accessibilty: "* \u0627\u0644\u0648\u0635\u0648\u0644 *: \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u064A\u0639\u0645\u0644 \u062A\u0644\u0642\u0627\u0626\u064A\u0627 \u0645\u0639 \u0642\u0627\u0631\u0626\u0627\u062A \u0627\u0644\u0634\u0627\u0634\u0629 \u0644\u062C\u0639\u0644 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0641\u064A \u0645\u062A\u0646\u0627\u0648\u0644 \u0636\u0639\u0627\u0641 \u0627\u0644\u0628\u0635\u0631.", + Fonts: "* \u0627\u0644\u062E\u0637\u0648\u0637 *: \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0633\u064A\u0633\u062A\u062E\u062F\u0645 \u062E\u0637\u0648\u0637 \u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0645\u0639\u064A\u0646\u0629 \u0625\u0630\u0627 \u0643\u0627\u0646\u062A \u0645\u062B\u0628\u062A\u0629 \u0639\u0644\u0649 \u062C\u0647\u0627\u0632 \u0627\u0644\u0643\u0645\u0628\u064A\u0648\u062A\u0631 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643\u060C \u062E\u0644\u0627\u0641 \u0630\u0644\u0643\u060C \u0641\u0625\u0646\u0647 \u0633\u064A\u062A\u0645 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u062E\u0637\u0648\u0637 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0625\u0646\u062A\u0631\u0646\u062A. \u0639\u0644\u0649 \u0627\u0644\u0631\u063A\u0645 \u0645\u0646 \u0623\u0646 \u0630\u0644\u0643 \u0644\u064A\u0633 \u0645\u0637\u0644\u0648\u0628\u0627\u060C \u0648\u0627\u0644\u062E\u0637\u0648\u0637 \u0627\u0644\u0645\u062B\u0628\u062A\u0629 \u0645\u062D\u0644\u064A\u0627 \u062A\u0633\u0631\u0639 \u0635\u0641 \u0627\u0644\u062D\u0631\u0648\u0641. \u0646\u0642\u062A\u0631\u062D \u062A\u062B\u0628\u064A\u062A [\u062E\u0637\u0648\u0637 STIX] (%1)." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ar/MathML.js new file mode 100644 index 00000000..1e6ec1f5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ar/MathML.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/localization/ar/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph \u0633\u064A\u0626\u0629: %1", + BadMglyphFont: "\u062E\u0637 \u0633\u064A\u0621: %1", + UnknownNodeType: "\u0646\u0648\u0639 \u0639\u0642\u062F\u0647 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641: %1", + UnexpectedTextNode: "\u0639\u0642\u062F\u0647 \u063A\u064A\u0631 \u0645\u062A\u0648\u0642\u0639\u0629: %1", + ErrorParsingMathML: "\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u062A\u062D\u0644\u064A\u0644 MathML", + ParsingError: "\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u062A\u062D\u0644\u064A\u0644 MathML: %1", + MathMLSingleElement: "MathML \u064A\u062C\u0628 \u0623\u0646 \u062A\u062A\u0643\u0648\u0646 \u0645\u0646 \u0639\u0646\u0635\u0631 \u0648\u0627\u062D\u062F", + MathMLRootElement: "MathML \u064A\u062C\u0628 \u0623\u0646 \u062A\u062A\u0643\u0648\u0646 \u0645\u0646 \u003Cmath\u003E\u0639\u0646\u0635\u0631\u060C \u0644\u0627 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ar/MathMenu.js new file mode 100644 index 00000000..fad31aef --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ar/MathMenu.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/localization/ar/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u062A\u0638\u0647\u0631 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0643", + MathMLcode: "\u0643\u0648\u062F MathML", + OriginalMathML: "MathML \u0627\u0644\u0623\u0635\u0644\u064A\u0629", + TeXCommands: "\u0623\u0648\u0627\u0645\u0631 TeX", + AsciiMathInput: "\u0625\u062F\u062E\u0627\u0644 AsciiMathML", + Original: "\u0627\u0644\u0646\u0645\u0648\u0630\u062C \u0627\u0644\u0623\u0635\u0644\u064A", + ErrorMessage: "\u0631\u0633\u0627\u0644\u0629 \u062E\u0637\u0623", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "\u0645\u062D\u062A\u0648\u0649 MathML", + OpenMath: "OpenMath", + texHints: "\u0623\u0638\u0647\u0631 \u062A\u0644\u0645\u064A\u062D\u0627\u062A TeX \u0641\u064A MathML", + Settings: "\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A", + ZoomTrigger: "\u0645\u0634\u063A\u0644 \u0627\u0644\u062A\u0643\u0628\u064A\u0631", + Click: "\u0627\u0636\u063A\u0637", + DoubleClick: "\u0627\u0636\u063A\u0637 \u0645\u0631\u062A\u064A\u0646", + NoZoom: "\u0644\u0627 \u062A\u0643\u0628\u064A\u0631", + Option: "\u062E\u064A\u0627\u0631", + Alt: "Alt", + Control: "\u062A\u062D\u0643\u0645", + Shift: "Shift", + ZoomFactor: "\u0639\u0627\u0645\u0644 \u0627\u0644\u062A\u0643\u0628\u064A\u0631", + Renderer: "\u0639\u0627\u0631\u0636 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A", + MPHandles: "\u0627\u0644\u0633\u0645\u0627\u062D \u0628\u0645\u0639\u0627\u0644\u062C\u0629 MathPlayer:", + MenuEvents: "\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0623\u062D\u062F\u0627\u062B", + MouseEvents: "\u0623\u062D\u062F\u0627\u062B \u0627\u0644\u0641\u0623\u0631\u0629", + MenuAndMouse: "\u0623\u062D\u062F\u0627\u062B \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0648\u0627\u0644\u0641\u0623\u0631\u0629", + FontPrefs: "\u062A\u0641\u0636\u064A\u0644\u0627\u062A \u0627\u0644\u062E\u0637", + ForHTMLCSS: "\u0644HTML-CSS:", + ContextMenu: "\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062D\u062A\u0648\u064A\u0627\u062A", + Browser: "\u0645\u062A\u0635\u0641\u062D", + Scale: "\u062D\u062C\u0645 \u0643\u0644 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A...", + Locale: "\u0644\u063A\u0629", + LoadLocale: "\u0627\u0644\u062A\u062D\u0645\u064A\u0644 \u0645\u0646 \u0631\u0627\u0628\u0637", + About: "\u062D\u0648\u0644 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", + Help: "\u0645\u0633\u0627\u0639\u062F\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", + wofforotffonts: "\u062E\u0637\u0648\u0637 WOFF \u0623\u0648 OTF", + eotffonts: "\u062E\u0637\u0648\u0637 EOT", + svgfonts: "\u062E\u0637\u0648\u0637 SVG", + WebkitNativeMMLWarning: "\u064A\u0628\u062F\u0648 \u0623\u0646 \u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u062F\u0639\u0645 MathML \u0623\u0635\u0644\u0627; \u0625\u0630\u0627 \u0642\u0645\u062A \u0628\u0627\u0644\u062A\u063A\u064A\u064A\u0631 \u0625\u0644\u0649 \u0639\u0631\u0636 MathML \u064A\u0645\u0643\u0646 \u0623\u0646 \u062A\u062A\u0639\u0630\u0631 \u0642\u0631\u0627\u0621\u0629 \u0635\u064A\u063A \u0627\u0644\u0635\u0641\u062D\u0629 \u0628\u0634\u0643\u0644 \u0635\u062D\u064A\u062D", + MSIENativeMMLWarning: "\u064A\u062A\u0637\u0644\u0628 \u0625\u0646\u062A\u0631\u0646\u062A \u0625\u0643\u0633\u0644\u0648\u0631\u0631 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644\u0645\u0633\u0627\u0639\u062F MathPlayer \u0644\u0639\u0645\u0644\u064A\u0629 \u0646\u062A\u064A\u062C\u0629 MathML", + OperaNativeMMLWarning: "\u062F\u0639\u0645 \u0623\u0648\u0628\u0631\u0627 MathML \u0645\u062D\u062F\u0648\u062F\u061B \u0625\u0630\u0627 \u0642\u0645\u062A \u0628\u0627\u0644\u062A\u063A\u064A\u064A\u0631 \u0625\u0644\u0649 \u0639\u0631\u0636 MathML \u064A\u0645\u0643\u0646 \u0623\u0644\u0627 \u062A\u064F\u0639\u0631\u0636 \u0628\u0639\u0636 \u0627\u0644\u062A\u0639\u0628\u064A\u0631\u0627\u062A \u0628\u0634\u0643\u0644 \u0635\u062D\u064A\u062D.", + SafariNativeMMLWarning: "MathML \u0627\u0644\u0623\u0635\u0644\u064A \u0641\u064A \u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u0646\u0641\u0630 \u0643\u0627\u0641\u0629 \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u0633\u062A\u062E\u062F\u0645\u0647\u0627 \u0645\u0627\u062B \u062C\u0627\u0643\u0633; \u0644\u0630\u0644\u0643 \u0628\u0639\u0636 \u0627\u0644\u062A\u0639\u0627\u0628\u064A\u0631 \u0642\u062F \u0644\u0627 \u062A\u0643\u0648\u0646 \u0635\u062D\u064A\u062D\u0629.", + FirefoxNativeMMLWarning: "MathML \u0627\u0644\u0623\u0635\u0644\u064A \u0641\u064A \u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u0646\u0641\u0630 \u0643\u0627\u0641\u0629 \u0627\u0644\u0645\u064A\u0632\u0627\u062A \u0627\u0644\u062A\u064A \u064A\u0633\u062A\u062E\u062F\u0645\u0647\u0627 \u0645\u0627\u062B \u062C\u0627\u0643\u0633; \u0644\u0630\u0644\u0643 \u0628\u0639\u0636 \u0627\u0644\u062A\u0639\u0627\u0628\u064A\u0631 \u0642\u062F \u0644\u0627 \u062A\u0643\u0648\u0646 \u0635\u062D\u064A\u062D\u0629.", + MSIESVGWarning: "\u0644\u0645 \u064A\u062A\u0645 \u062A\u0646\u0641\u064A\u0630 SVG \u0641\u064A \u0625\u0646\u062A\u0631\u0646\u062A \u0625\u0643\u0633\u0644\u0648\u0631\u0631 \u0642\u0628\u0644 IE9 \u0623\u0648 \u0639\u0646\u062F\u0645\u0627 \u062A\u0643\u0648\u0646 \u0645\u062D\u0627\u0643\u0627\u0629 IE8 \u0623\u0648 \u0623\u0642\u0644. \u0627\u0644\u062A\u062D\u0648\u0644 \u0625\u0644\u0649 \u0645\u062E\u0631\u062C\u0627\u062A SVG \u064A\u062A\u0633\u0628\u0628 \u0641\u064A \u0639\u062F\u0645 \u0639\u0631\u0636 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0628\u0634\u0643\u0644 \u0635\u062D\u064A\u062D.", + LoadURL: "\u062A\u062D\u0645\u064A\u0644 \u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062A\u0631\u062C\u0645\u0629 \u0645\u0646 \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637:", + BadURL: "\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0639\u0646\u0648\u0627\u0646 URL \u0644\u0645\u0644\u0641 \u062C\u0627\u0641\u0627 \u0633\u0643\u0631\u064A\u0628\u062A \u0627\u0644\u0630\u064A \u064A\u062D\u062F\u062F \u0628\u064A\u0627\u0646\u0627\u062A \u062A\u0631\u062C\u0645\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633. \u064A\u062C\u0628 \u0623\u0646 \u062A\u0646\u062A\u0647\u064A \u0623\u0633\u0645\u0627\u0621 \u0645\u0644\u0641\u0627\u062A \u062C\u0627\u0641\u0627 \u0633\u0643\u0631\u064A\u0628\u062A \u0628'.js", + BadData: "\u0641\u0634\u0644 \u062A\u062D\u0645\u064A\u0644 \u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u062A\u0631\u062C\u0645\u0629 \u0645\u0646 %1", + SwitchAnyway: "\u062A\u0628\u062F\u064A\u0644 \u0627\u0644\u0639\u0627\u0631\u0636 \u0639\u0644\u0649 \u0623\u064A \u062D\u0627\u0644\u061F (\u0627\u0636\u063A\u0637 \u0645\u0648\u0627\u0641\u0642\u0629 \u0644\u0644\u062A\u0628\u062F\u064A\u0644\u060C \u0648\u0625\u0644\u063A\u0627\u0621 \u0644\u0644\u0645\u0648\u0627\u0635\u0644\u0629 \u0628\u0627\u0644\u0639\u0627\u0631\u0636 \u0627\u0644\u062D\u0627\u0644\u064A)", + ScaleMath: "\u062D\u062C\u0645 \u0643\u0644 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A (\u0628\u0627\u0644\u0645\u0642\u0627\u0631\u0646\u0629 \u0645\u0639 \u0627\u0644\u0646\u0635 \u0627\u0644\u0645\u062D\u064A\u0637) \u0628\u0648\u0627\u0633\u0637\u0629", + NonZeroScale: "\u0627\u0644\u0642\u064A\u0627\u0633 \u0644\u0627 \u064A\u0645\u0643\u0646 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0635\u0641\u0631", + PercentScale: "\u0627\u0644\u0642\u064A\u0627\u0633 \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0646\u0633\u0628\u0629 \u0645\u0626\u0648\u064A\u0629 (\u0639\u0644\u0649 \u0633\u0628\u064A\u0644 \u0627\u0644\u0645\u062B\u0627\u0644 120%%)", + IE8warning: "\u0633\u064A\u0624\u062F\u064A \u0630\u0644\u0643 \u0625\u0644\u0649 \u062A\u0639\u0637\u064A\u0644 \u0642\u0627\u0626\u0645\u0629 \u0648\u0645\u0632\u0627\u064A\u0627 \u062A\u0642\u0631\u064A\u0628 \u0645\u0627\u062B \u062C\u0627\u0643\u0633\u060C \u0648\u0644\u0643\u0646 \u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0636\u063A\u0637 \u0639\u0644\u0649 Alt \u0644\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0628\u062F\u0644\u0627 \u0645\u0646 \u0630\u0644\u0643. \u0647\u0644 \u062A\u0631\u064A\u062F \u062D\u0642\u0627 \u062A\u063A\u064A\u064A\u0631 \u0625\u0639\u062F\u0627\u062F\u0627\u062A MathPlayer\u061F", + IE9warning: "\u0642\u0627\u0626\u0645\u0629 \u0645\u062D\u062A\u0648\u064A\u0627\u062A \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0633\u0648\u0641 \u064A\u062A\u0645 \u062A\u0639\u0637\u064A\u0644\u0647\u0627\u060C \u0648\u0644\u0643\u0646 \u064A\u0645\u0643\u0646\u0643 \u0627\u0627\u0644\u0636\u063A\u0637 \u0639\u0644\u0649 Alt \u0644\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0645\u0627\u062B \u062C\u0627\u0643\u0633 \u0628\u062F\u0644\u0627 \u0645\u0646 \u0630\u0644\u0643.", + NoOriginalForm: "\u0644\u0627 \u064A\u0648\u062C\u062F \u0646\u0645\u0648\u0630\u062C \u0623\u0635\u0644\u064A \u0645\u062A\u0627\u062D", + EqSource: "\u0645\u0639\u0627\u062F\u0644\u0629 \u0645\u0635\u062F\u0631 \u0645\u0627\u062B \u062C\u0627\u0643\u0633", + FastPreview: "\u0645\u0639\u0627\u064A\u0646\u0629 \u0633\u0631\u064A\u0639\u0629" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ar/TeX.js new file mode 100644 index 00000000..4d0640db --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ar/TeX.js @@ -0,0 +1,78 @@ +/************************************************************* + * + * MathJax/localization/ar/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0642\u0648\u0633 \u0645\u0641\u062A\u0648\u062D \u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u063A\u0644\u0642 \u0642\u0648\u0633 \u0645\u0641\u0642\u0648\u062F", + ExtraCloseMissingOpen: "\u0642\u0648\u0633 \u0645\u063A\u0644\u0642 \u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u0641\u062A\u062D \u0642\u0648\u0633 \u0645\u0641\u0642\u0648\u062F", + MissingLeftExtraRight: "\u064A\u0633\u0627\u0631 /\u0645\u0641\u0642\u0648\u062F \u0623\u0648 \u064A\u0645\u064A\u0646 /\u0625\u0636\u0627\u0641\u064A", + ExtraLeftMissingRight: "\u064A\u0633\u0627\u0631 /\u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u064A\u0645\u064A\u0646 /\u0645\u0641\u0642\u0648\u062F", + Misplaced: "%1 \u0641\u064A \u063A\u064A\u0631 \u0645\u062D\u0644\u0647", + AmbiguousUseOf: "\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u063A\u0627\u0645\u0636 \u0644%1", + EnvBadEnd: "\\\u0628\u062F\u0627\u064A\u0629{%1} \u064A\u0646\u062A\u0647\u064A \u0628 \\\u0646\u0647\u0627\u064A\u0629{%2}", + EnvMissingEnd: "\u0646\u0647\u0627\u064A\u0629\\\u0645\u0641\u0642\u0648\u062F\u0629{%1}", + MissingBoxFor: "\u0635\u0646\u062F\u0648\u0642 \u0645\u0641\u0642\u0648\u062F \u0644 %1", + UndefinedControlSequence: "%1 \u062A\u0633\u0644\u0633\u0644 \u0645\u0631\u0627\u0642\u0628\u0629 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641", + DoubleExponent: "\u0623\u0633 \u0645\u0632\u062F\u0648\u062C: \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0642\u0648\u0627\u0633 \u0644\u0644\u062A\u0648\u0636\u064A\u062D", + DoubleSubscripts: "\u0627\u0644\u062D\u0631\u0648\u0641 \u0627\u0644\u0633\u0641\u0644\u064A\u0629 \u0645\u0632\u062F\u0648\u062C\u0629: \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0642\u0648\u0627\u0633 \u0644\u0644\u062A\u0648\u0636\u064A\u062D", + DoubleExponentPrime: "\u0639\u062F\u062F \u0623\u0648\u0644\u064A \u064A\u0633\u0628\u0628 \u0623\u0633 \u0645\u0632\u062F\u0648\u062C: \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0642\u0648\u0627\u0633 \u0644\u0644\u062A\u0648\u0636\u064A\u062D", + CantUseHash1: "\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 '\u0627\u0644\u062D\u0631\u0641 \u0627\u0644\u0645\u0639\u0644\u0645 \u0627\u0644\u0643\u0644\u064A#' \u0641\u064A \u0648\u0636\u0639 \u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A", + MisplacedMiddle: "%1 \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0636\u0645\u0646 \\\u064A\u0633\u0627\u0631 \u0648\\\u064A\u0645\u064A\u0646", + MisplacedLimits: "%1 \u0645\u0633\u0645\u0648\u062D \u0641\u0642\u0637 \u0639\u0644\u0649 \u0627\u0644\u0645\u0634\u063A\u0644\u064A\u0646", + MisplacedMoveRoot: "%1 \u064A\u0645\u0643\u0646 \u0623\u0646 \u062A\u0638\u0647\u0631 \u0641\u0642\u0637 \u0641\u064A \u0627\u0644\u062C\u0630\u0631", + MultipleCommand: "%1 \u0645\u062A\u0639\u062F\u062F", + NotMathMLToken: "%1 \u0644\u064A\u0633 \u0639\u0646\u0635\u0631\u064B\u0627 \u0631\u0645\u0632\u064A\u064B\u0627", + UnknownAttrForElement: "%1 \u0644\u064A\u0633\u062A \u0633\u0645\u0629 \u0645\u0639\u062A\u0631\u0641 \u0628\u0647\u0627 \u0644%2", + ExtraAlignTab: "\u0645\u062D\u0627\u0630\u0627\u0629 \u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u062A\u0628\u0648\u064A\u0628 \u0625\u0636\u0627\u0641\u064A\u0629 \u0641\u064A \\\u062D\u0627\u0644\u0627\u062A \u0627\u0644\u0646\u0635\u0648\u0635", + InvalidEnv: "\u0627\u0633\u0645 \u0628\u064A\u0626\u0629 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D '%1'", + UnknownEnv: "\u0628\u064A\u0626\u0629 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641\u0629 '%1'", + ExtraCloseLooking: "\u063A\u0644\u0642 \u0642\u0648\u0633 \u0625\u0636\u0627\u0641\u064A \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u0628\u062D\u062B \u0639\u0646 %1", + MissingOrUnrecognizedDelim: "\u0645\u062D\u062F\u062F \u0645\u0641\u0642\u0648\u062F \u0623\u0648 \u063A\u064A\u0631 \u0645\u0639\u062A\u0631\u0641 \u0628\u0647 \u0644 %1", + MissingDimOrUnits: "\u0628\u0639\u062F (\u0623\u0648 \u0648\u062D\u062F\u0627\u062A\u0647) \u0645\u0641\u0642\u0648\u062F \u0644 %1", + TokenNotFoundForCommand: "\u0644\u0645 \u064A\u062A\u0645 \u0627\u064A\u062C\u0627\u062F %1 \u0625\u0644\u064A %2", + MathNotTerminated: "\u0627\u0644\u0631\u064A\u0627\u0636\u064A\u0627\u062A \u0644\u0627 \u062A\u0646\u062A\u0647\u064A \u0641\u064A \u0645\u0631\u0628\u0639 \u0627\u0644\u0646\u0635", + IllegalMacroParam: "\u0645\u0631\u062C\u0639 \u0645\u0639\u0644\u0645 \u0643\u0644\u064A \u063A\u064A\u0631 \u0642\u0627\u0646\u0648\u0646\u064A", + MaxBufferSize: "\u062A\u0645 \u062A\u062C\u0627\u0648\u0632 \u062D\u062C\u0645 \u0627\u0644\u0645\u062E\u0632\u0646 \u0627\u0644\u0645\u0624\u0642\u062A \u0627\u0644\u062F\u0627\u062E\u0644\u064A \u0644\u0645\u0627\u062B \u062C\u0627\u0643\u0633. \u0647\u0644 \u0647\u0646\u0627\u0643 \u0627\u0633\u062A\u062F\u0639\u0627\u0621 \u0645\u0627\u0643\u0631\u0648 \u0645\u0643\u0631\u0631\u061F", + CommandNotAllowedInEnv: "%1 \u063A\u064A\u0631 \u0645\u0633\u0645\u0648\u062D \u0641\u064A \u0628\u064A\u0626\u0629 %2", + MultipleLabel: "\u062A\u062D\u062F\u064A\u062F \u0645\u0636\u0627\u0639\u0641 \u0644\u062A\u0633\u0645\u064A\u0629 '%1'", + CommandAtTheBeginingOfLine: "\u064A\u062C\u0628 \u0623\u0646 \u064A\u0623\u062A\u064A \u0641\u064A \u0628\u062F\u0627\u064A\u0629 \u0627\u0644\u0633\u0637\u0631 %1", + IllegalAlign: "\u0645\u062D\u0627\u0630\u0627\u0629 \u063A\u064A\u0631 \u0642\u0627\u0646\u0648\u0646\u064A\u0629 \u0645\u062D\u062F\u062F\u0629 \u0641\u064A %1", + BadMathStyleFor: "\u0646\u0645\u0637 \u0631\u064A\u0627\u0636\u064A \u0633\u064A\u0621 \u0644 %1", + MultlineRowsOneCol: "\u0627\u0644\u0635\u0641\u0648\u0641 \u0636\u0645\u0646 \u0628\u064A\u0626\u0629 %1 \u064A\u062C\u0628 \u0623\u0646 \u062A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0639\u0645\u0648\u062F \u0648\u0627\u062D\u062F \u0628\u0627\u0644\u0636\u0628\u0637", + MultipleBBoxProperty: "%1 \u0645\u062D\u062F\u062F \u0645\u0631\u062A\u064A\u0646 \u0641\u064A %2", + ExtraEndMissingBegin: "%1 \u0625\u0636\u0627\u0641\u064A \u0623\u0648 \u0645\u0641\u0642\u0648\u062F \\begingroup", + GlobalNotFollowedBy: "%1 \u0644\u0645 \u064A\u062A\u0645 \u062A\u062A\u0628\u0639\u0647 \\let, \\def, \u0623\u0648 \\newcommand", + UndefinedColorModel: "\u0646\u0645\u0648\u0630\u062C \u0627\u0644\u0644\u0648\u0646 '%1' \u063A\u064A\u0631 \u0645\u0639\u0631\u0641", + ModelArg1: "\u0642\u064A\u0645 \u0627\u0644\u0644\u0648\u0646 \u0644\u0644\u0646\u0645\u0648\u0630\u062C %1 \u062A\u062A\u0637\u0644\u0628 3 \u0623\u0631\u0642\u0627\u0645", + InvalidDecimalNumber: "\u0639\u062F\u062F \u0639\u0634\u0631\u064A \u063A\u064A\u0631 \u0635\u0627\u0644\u062D", + ModelArg2: "\u064A\u062C\u0628 \u0623\u0646 \u062A\u0643\u0648\u0646 \u0642\u064A\u0645 \u0627\u0644\u0644\u0648\u0646 \u0644\u0644\u0646\u0645\u0648\u0630\u062C %1 \u0628\u064A\u0646 %2 \u0648%3", + InvalidNumber: "\u0639\u062F\u062F \u063A\u064A\u0631 \u0635\u0627\u0644\u062D", + NoClosingChar: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0625\u063A\u0644\u0627\u0642 %1", + IllegalParamNumber: "\u0639\u062F\u062F \u063A\u064A\u0631 \u0645\u0634\u0631\u0648\u0639 \u0644\u0644\u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u0645\u062D\u062F\u062F\u0629 \u0641\u064A %1", + CantUseHash2: "\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u063A\u064A\u0631 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0644# \u0641\u064A \u0642\u0627\u0644\u0628 \u0644%1", + SequentialParam: "\u0645\u0639\u0644\u0645\u0627\u062A %1 \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0645 \u062A\u0631\u0642\u064A\u0645\u0647\u0627 \u0628\u0627\u0644\u062A\u0633\u0644\u0633\u0644", + MissingReplacementString: "\u0633\u0644\u0633\u0644\u0629 \u0628\u062F\u064A\u0644\u0629 \u0644\u062A\u0639\u0631\u064A\u0641 %1 \u0645\u0641\u0642\u0648\u062F\u0629", + MismatchUseDef: "\u0627\u0633\u062A\u062E\u062F\u0627\u0645 %1 \u0644\u0627 \u064A\u062A\u0637\u0627\u0628\u0642 \u0645\u0639 \u062A\u0639\u0631\u064A\u0641\u0647", + NoClosingDelim: "\u0644\u0627 \u064A\u0645\u0643\u0646 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0625\u063A\u0644\u0627\u0642 \u0645\u062D\u062F\u062F \u0644%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ar/ar.js b/src/py/kaleido/vendor/mathjax/localization/ar/ar.js new file mode 100644 index 00000000..f3ba5715 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ar/ar.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/localization/ar/ar.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ar",null,{ + menuTitle: "\u0627\u0644\u0639\u0631\u0628\u064A\u0629", + fontDirection: "rtl", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u062E\u0637\u0623 \u0645\u0639\u0627\u0644\u062C\u0629 \u0631\u064A\u0627\u0636\u064A\u0629", + MathError: "\u062E\u0637\u0623 \u0631\u064A\u0627\u0636\u064A", + LoadFile: "\u062A\u062D\u0645\u064A\u0644 %1", + Loading: "\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644", + LoadFailed: "\u0641\u0634\u0644 \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0644\u0641: %1", + ProcessMath: "\u0639\u0645\u0644\u064A\u0629 \u0631\u064A\u0627\u0636\u064A\u0629: %1%%", + Processing: "\u0645\u0639\u0627\u0644\u062C\u0629", + TypesetMath: "\u062A\u0646\u0636\u064A\u062F \u0631\u064A\u0627\u0636\u064A: %1%%", + Typesetting: "\u062A\u0646\u0636\u064A\u062F", + MathJaxNotSupported: "\u0645\u062A\u0635\u0641\u062D\u0643 \u0644\u0627 \u064A\u062F\u0639\u0645 \u0645\u0627\u062B\u062C\u0627\u0643\u0633" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 0) return 1; // zero + if (n === 1) return 2; // one + if (n === 2) return 3; // two + if (3 <= n % 100 && n % 100 <= 10) return 4; // few + if (11 <= n % 100 && n % 100 <= 99) return 5; // many + return 6; // other + }, + number: function (n) { + return String(n).replace("/([0-9])/g", "\\U066$1").replace(".", "\\U066B"); + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ar/ar.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ast/FontWarnings.js new file mode 100644 index 00000000..6c2983aa --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ast/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ast/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax ta usando fontes basaes en web p'amosar les matem\u00E1tiques d'esta p\u00E1xina. Lleva un tiempu descargales, de manera que la p\u00E1xina apaecer\u00E1 m\u00E1s r\u00E1pidamente si instala direutamente les fontes matem\u00E1tiques na carpeta de fontes del so sistema.", + imageFonts: "MathJaz ta usando les sos fontes d'imaxe en cuenta de fontes llocales o basaes en web. Esto fai que la composici\u00F3n seya m\u00E1s lenta de lo normal, y les matem\u00E1tiques podr\u00EDen nun imprimise a la resoluci\u00F3n completa de la impresora.", + noFonts: "MathJax nun pue alcontrar una tipograf\u00EDa que pueda usar p'amosar les espresiones matem\u00E1tiques, y nun hai disponibles fontes d'imaxe, de mou que va volver a car\u00E1uteres Unicode xen\u00E9ricos esperando que'l so restolador pueda amosalos. Algunos car\u00E1uteres podr\u00EDen nun vese correutamente o, seique, podrien nun vese n'absoluto.", + webFonts: "La mayor\u00EDa de restoladores modernos permiten que les fontes se descarguen de la web. Si anueva a una versi\u00F3n m\u00E1s moderna del restolador (o si cambia de restolador) podr\u00EDa ameyorar la calid\u00E1 de les espresiones matem\u00E1tiques d'esta p\u00E1xina.", + fonts: "MathJax pue usar tanto la [tipograf\u00EDa STIX](%1) como la [tipograf\u00EDa TeX MathJax](%2). Descargue y instale una d'estes tipograf\u00EDes p'ameyorar la so esperiencia con MathJax.", + STIXPage: "Esta p\u00E0xina ta dise\u00F1ada pa usar la [tipograf\u00EDa STIX](%1). Descargue ya instale esta tipograf\u00EDa p'ameyorar la so esperiencia con MathJax.", + TeXPage: "Esta p\u00E0xina ta dise\u00F1ada pa usar la [tipograf\u00EDa TeX MathJax](%1). Descargue ya instale esta tipograf\u00EDa p'ameyorar la so esperiencia con MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ast/HTML-CSS.js new file mode 100644 index 00000000..35c65c25 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ast/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ast/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Cargando la tipograf\u00EDa web %1", + CantLoadWebFont: "Non pue cargase la tipograf\u00EDa web %1", + FirefoxCantLoadWebFont: "Firefox nun pue cargar les tipograf\u00EDes web dende un sirvidor remotu", + CantFindFontUsing: "Nun se pue atopar una tipograf\u00EDa v\u00E1lida usando %1", + WebFontsNotAvailable: "Les tipograf\u00EDes web nun tan disponibles. Usando les tipograf\u00EDes d'imaxe nel so llugar" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ast/HelpDialog.js new file mode 100644 index 00000000..8fd1b95f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ast/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/ast/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Ayuda de MathJax", + MathJax: "*MathJax* ye una biblioteca JavaScript que permite a los autores de p\u00E1xines incluir espresiones matem\u00E1tiques nes sos p\u00E1xines web. Como llector, nun necesita facer nada pa qu'esto asoceda.", + Browsers: "*Navegadores*: MathJax funciona con tolos navegadores modernos, incluyendo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ y la mayor\u00EDa de los navegadores pa m\u00F3viles.", + Menu: "*Men\u00FA matem\u00E1tiques*: MathJax amiesta un men\u00FA de contestu a les ecuaciones. Faiga clic col bot\u00F3n drechu, o Ctrl-clic, en cualquier espresi\u00F3n matem\u00E1tica pa ver el men\u00FA.", + ShowMath: "*Ver f\u00F3rmula como* permite ver el c\u00F3digu de marques de la f\u00F3rmula pa que pueda copiase y apegase (como MathML o nel so formatu orixinal).", + Settings: "*Configuraci\u00F3n* permite controlar diverses carauter\u00EDstiques de MathJax, como'l tama\u00F1u de les f\u00F3rmules, ya'l mecanismu que s'usa pa ver les ecuaciones.", + Language: "*Llingua* permite seleicionar la llingua qu'usa MathJax pa los men\u00FAs y mensaxes d'avisu.", + Zoom: "*Zoom de f\u00F3rmula*: Si tien dificultaes pa lleer una ecuaci\u00F3n, MathJax pue ampliala p'ayuda-y a que la vea meyor.", + Accessibilty: "*Accesibilid\u00E1*: MathJax funciona autom\u00E1ticamente con llectores de pantalla pa facer les espresiones matem\u00E1tiques accesibles a les persones con problemes de visi\u00F3n.", + Fonts: "*Tipograf\u00EDa*: MathJax usa ciertes fontes matem\u00E1tiques si tan instalaes nel ordenador; d'otra manera, usar\u00E1 fontes basaes na web. Anque nun ye necesario, si tien les fontes instalaes de mou llocal ayudar\u00E1 a componer la p\u00E1xina m\u00E1s r\u00E1pidamente. Suxerimos qu'instale les [fontes STIX](%1).", + CloseDialog: "Zarrar el di\u00E1logu d'ayuda" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ast/MathML.js new file mode 100644 index 00000000..687a7c90 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ast/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ast/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Mglyph incorreutu: %1", + BadMglyphFont: "Tipograf\u00EDa incorreuta: %1", + MathPlayer: "MathJax nun pudo configurar MathPlayer.\n\nSi MathPlayer nun ta instal\u00E1u, necesitar\u00E1 instalalu primero. D'otra manera, la so configuraci\u00F3n de segurid\u00E1 pue torgar la execuci\u00F3n de controles ActiveX. Use l'elementu Opciones d'Internet baxo'l men\u00FA Ferramientes y seleicione la lling\u00FCeta Segurid\u00E1, darr\u00E9u calque nel bot\u00F3n Nivel Personaliz\u00E1u. Compruebe que les preferencies pa 'Executar controles ActiveX' y 'Comportamientos de binariu y script' tan activaes.\n\nAngua\u00F1o ver\u00E1 mensaxes d'error en llugar de f\u00F3rmules matem\u00E1tiques.", + CantCreateXMLParser: "MathJax nun pue crear un analizador XML pa MathML. Compruebe que\nla configuraci\u00F3n de segurid\u00E1 \u00ABControles de script ActiveX marcaos como seguros pa scripting\u00BB\nta activada (use l'elementu Opciones d'Internet del men\u00FA Ferramientes,\ny seleicione'l panel Segurid\u00E1, y darr\u00E9u calque nel bot\u00F3n Nivel personaliz\u00E1u pa comprobalo).\n\nMathJax nun podr\u00E1 procesar les ecuaciones MathML", + UnknownNodeType: "Tipu de nuedu desconoc\u00EDu: %1", + UnexpectedTextNode: "Nuedu de testu inesper\u00E1u: %1", + ErrorParsingMathML: "Error al analizar MathML", + ParsingError: "Error al analizar MathML: %1", + MathMLSingleElement: "MathML tien de tar form\u00E1u por un \u00FAnicu elementu", + MathMLRootElement: "MathML tien de tar form\u00E1u por un elementu \u003Cmath\u003E, non por %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ast/MathMenu.js new file mode 100644 index 00000000..7f5b78a6 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ast/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/ast/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Ver les f\u00F3rmules como", + MathMLcode: "C\u00F3digu MathML", + OriginalMathML: "MathML orixinal", + TeXCommands: "Comandos de TeX", + AsciiMathInput: "Entrada AsciiMathML", + Original: "Forma orixinal", + ErrorMessage: "Mensaxe d'error", + Annotation: "Anotaci\u00F3n", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Conten\u00EDu MathML", + OpenMath: "OpenMath", + texHints: "Amosar gabitos TeX en MathML", + Settings: "Configuraci\u00F3n de matem\u00E1tiques", + ZoomTrigger: "Disparador del zoom", + Hover: "Al pasar el mur", + Click: "Al facer clic", + DoubleClick: "Con doble clic", + NoZoom: "Ensin zoom", + TriggerRequires: "El disparador requier:", + Option: "Opci\u00F3n", + Alt: "Alt", + Command: "Comandu", + Control: "Control", + Shift: "May\u00FAs", + ZoomFactor: "Factor d'ampliaci\u00F3n", + Renderer: "Renderizador de matem\u00E1tiques", + MPHandles: "Permitir que MathPlayer alministre:", + MenuEvents: "Socesos de men\u00FA", + MouseEvents: "Socesos del mur", + MenuAndMouse: "Socesos del mur y del men\u00FA", + FontPrefs: "Preferencies de tipograf\u00EDa", + ForHTMLCSS: "Pa HTML-CSS:", + Auto: "Auto", + TeXLocal: "TeX (llocal)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imaxe)", + STIXLocal: "STIX (llocal)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Llat\u00EDn modernu (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Men\u00FA contestual", + Browser: "Navegador", + Scale: "Escalar toles f\u00F3rmules...", + Discoverable: "Illuminar al pasar el mur", + Locale: "Llingua", + LoadLocale: "Cargar d'una URL...", + About: "Tocante a MathJax", + Help: "Ayuda de MathJax", + localTeXfonts: "usando tipograf\u00EDa TeX llocal", + webTeXfonts: "usando tipograf\u00EDa TeX de la web", + imagefonts: "usando tipograf\u00EDa d'imaxe", + localSTIXfonts: "usando tipograf\u00EDa STIX llocal", + webSVGfonts: "usando tipograf\u00EDa SVG de la web", + genericfonts: "usando tipograf\u00EDa Unicode xen\u00E9rica", + wofforotffonts: "tipograf\u00EDa WOFF u OTF", + eotffonts: "tipograf\u00EDa EOT", + svgfonts: "tipograf\u00EDa SVG", + WebkitNativeMMLWarning: "Paez que'l so restolador nun tien sofitu pa MathML de mou nativu, de mou que cambiar la salida a MathML pue facer que les f\u00F3rmules de la p\u00E1xina nun puedan lleese", + MSIENativeMMLWarning: "Internet Explorer requier el complementu MathPlayer pa procesar la salida de MathML", + OperaNativeMMLWarning: "El sofitu d'Opera pa MathML ye parcial, de mou que cambiar la salida a MathML pue facer que delles espresiones nun se vean bien.", + SafariNativeMMLWarning: "El MathML nativu del so navegador nun cuenta con toles carauter\u00EDstiques qu'usa MathJax, de mou que delles espresiones podr\u00EDen nun representase correutamente.", + FirefoxNativeMMLWarning: "El MathML nativu del so navegador nun cuenta con toles carauter\u00EDstiques qu'usa MathJax, de mou que delles espresiones podr\u00EDen nun representase correutamente.", + MSIESVGWarning: "SVG nun ta implement\u00E1u n'Internet Explorer anterior a IE9 o cuando ta emulando IE8 o anterior. Si cambia a la salida SVG, les f\u00F3rmules nun se ver\u00E1n correutamente.", + LoadURL: "Cargar los datos de traducci\u00F3n d'esta URL:", + BadURL: "La URL tendr\u00EDa de ser pa un ficheru JavaScript que define los datos de traducci\u00F3n de MathJax. Los nomes de los ficheros JavaScript tendr\u00EDen d'acabar en '.js'", + BadData: "Nun pudieron cargase los datos de traducci\u00F3n de %1", + SwitchAnyway: "\u00BFCambiar la representaci\u00F3n de toles maneres?\n\n(Calque Aceutar pa cambiar, Encaboxar pa siguir cola representaci\u00F3n actual)", + ScaleMath: "Ampliar toles f\u00F3rmules (en comparancia col testu d'alredor) nun", + NonZeroScale: "La escala nun tien de ser cero", + PercentScale: "La escala tien de ser un porcentaxe (por exemplu 120%%)", + IE8warning: "Esto desactivar\u00E1 les funciones de men\u00FA y zoom de MathJax, pero pue facer Alt-Clic nuna espresi\u00F3n pa ver el men\u00FA de MathJax.\n\n\u00BFRealmente quier cambiar la configuraci\u00F3n de MathPlayer?", + IE9warning: "El men\u00FA contestual de MathJax tar\u00E1 desactiv\u00E1u, pero pue facer Alt-Clic nuna espresi\u00F3n pa ver el men\u00FA MathJax.", + NoOriginalForm: "Nun ta disponible denguna forma orixinal", + Close: "Zarrar", + EqSource: "C\u00F3digu fonte d'ecuaci\u00F3n MathJax", + CloseAboutDialog: "Zarrar el di\u00E1logu de tocante a MathJax", + FastPreview: "Vista previa r\u00E1pida", + AssistiveMML: "Asistencia MathML", + InTabOrder: "Incluir nel orde de lling\u00FCetes" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ast/TeX.js new file mode 100644 index 00000000..f071defe --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ast/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/ast/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Hai una llave d'apertura de m\u00E1s o falta una llave de zarramientu", + ExtraCloseMissingOpen: "Hai una llave de zarramientu de m\u00E1s o falta una llave d'apertura", + MissingLeftExtraRight: "Falta un \\left o sobra un \\right", + MissingScript: "Falta un argumentu de super\u00EDndiz o sub\u00EDndiz", + ExtraLeftMissingRight: "Sobra un \\left o falta un \\right", + Misplaced: "%1 ta mal coloc\u00E1u", + MissingOpenForSub: "Falta una llave d'apertura pal sub\u00EDndiz", + MissingOpenForSup: "Falta una llave d'apertura pal super\u00EDndiz", + AmbiguousUseOf: "Usu ambiguu de %1", + EnvBadEnd: "\\begin{%1} acab\u00E1u con \\end{%2}", + EnvMissingEnd: "Falta \\end{%1}", + MissingBoxFor: "Falta un cuadru pa %1", + MissingCloseBrace: "Falta la llave de zarramientu", + UndefinedControlSequence: "Secuencia de control indefinida %1", + DoubleExponent: "Doble esponente: use llaves p'aclarar", + DoubleSubscripts: "Doble sub\u00EDndiz: usu llaves p'aclarar", + DoubleExponentPrime: "La prima causa un doble esponente: use llaves p'aclarar", + CantUseHash1: "Nun pue usar el \u00ABcar\u00E1uter # de par\u00E1metru de macro\u00BB en mou matem\u00E1ticu", + MisplacedMiddle: "%1 tien de tar ente \\left y \\right", + MisplacedLimits: "%1 s\u00F3lo ta permit\u00EDu pa operadores", + MisplacedMoveRoot: "%1 s\u00F3lo pue apaecer dientro d'una ra\u00EDz", + MultipleCommand: "M\u00FAltiples %1", + IntegerArg: "L'argumentu de %1 tien de ser un enteru", + NotMathMLToken: "%1 nun ye un elementu de \u00ABtoken\u00BB", + InvalidMathMLAttr: "Atributu de MathML inv\u00E1lidu: %1", + UnknownAttrForElement: "%1 nun ye un atributu reconoc\u00EDu pa %2", + MaxMacroSub1: "Se sobrepas\u00F3'l n\u00FAmberu m\u00E1ximu de sustituciones de macro de MathJax; \u00BFhai ha una llamada de macro recursiva?", + MaxMacroSub2: "Pas\u00F3se'l n\u00FAmberu m\u00E1ximu de sustituciones de MathJax; \u00BFhai un entornu de LaTeX recursivu?", + MissingArgFor: "Falta l'argumentu pa %1", + ExtraAlignTab: "Tabulador d'alliniamientu estra en testu \\cases", + BracketMustBeDimension: "L'argumentu de corchete pa %1 tien de ser una dimensi\u00F3n", + InvalidEnv: "Nome d'entornu \u00AB%1\u00BB inv\u00E1lidu", + UnknownEnv: "Entornu desconoc\u00EDu \u00AB%1\u00BB", + ExtraCloseLooking: "Llave de zarramientu estra cuando se buscaba %1", + MissingCloseBracket: "Nun pudo alcontrase'l \u00AB]\u00BB de zarramientu pal argumentu de %1", + MissingOrUnrecognizedDelim: "El delimitador pa %1 falta o nun ta reconoc\u00EDu", + MissingDimOrUnits: "Falta la dimensi\u00F3n o les unidaes pa %1", + TokenNotFoundForCommand: "Nun pudo alcontrase %1 pa %2", + MathNotTerminated: "Espresi\u00F3n matem\u00E1tica inacabada nel cuadru de testu", + IllegalMacroParam: "Referencia illegal a par\u00E1metru de macro", + MaxBufferSize: "Se sobrepas\u00F3 el tama\u00F1u del almacenamientu intermediu internu de MathJax; \u00BFhai ha una llamada a una macro recursiva?", + CommandNotAllowedInEnv: "%1 nun se permite nel entornu %2", + MultipleLabel: "La etiqueta '%1' tien definiciones m\u00FAltiples", + CommandAtTheBeginingOfLine: "%1 tien d'apaecer al principiu de la llinia", + IllegalAlign: "Alliniaci\u00F3n illegal especificada en %1", + BadMathStyleFor: "Estilu de matem\u00E1tiques incorreutu pa %1", + PositiveIntegerArg: "L'argumentu de %1 tien de ser un enteru positivu", + ErroneousNestingEq: "A\u00F1eramientu incorreutu d'estructures d'ecuaci\u00F3n", + MultlineRowsOneCol: "Les fileres dientro del entornu %1 han de tener exactamente una columna", + MultipleBBoxProperty: "Propied\u00E1 %1 especificada dos veces en %2", + InvalidBBoxProperty: "'%1' nun paez un color, una distancia de separaci\u00F3n o un estilu", + ExtraEndMissingBegin: "Sobra un %1 o falta un \\begingroup", + GlobalNotFollowedBy: "%1 nun ta sigu\u00EDu por \\let, \\def o \\newcommand", + UndefinedColorModel: "El modelu de color '%1' nun ta defin\u00EDu", + ModelArg1: "Los valores de color pal modelu %1 requieren 3 n\u00FAmberos", + InvalidDecimalNumber: "N\u00FAmberu decimal inv\u00E1lidu", + ModelArg2: "Los valores de color pal modelu %1 tienen de tar ente %2 y %3", + InvalidNumber: "N\u00FAmberu inv\u00E1lidu", + NewextarrowArg1: "El primer argumentu pa %1 tien de ser un nome de secuencia de control", + NewextarrowArg2: "El segundu argumentu pa %1 tienen de ser dos enteros separaos por una coma", + NewextarrowArg3: "El tercer argumentu pa %1 tien de ser un n\u00FAmberu de car\u00E1uter Unicode", + NoClosingChar: "Nun pue alcontrase'l %1 de zarru", + IllegalControlSequenceName: "Nome incorreutu de secuencia de control pa %1", + IllegalParamNumber: "N\u00FAmberu par\u00E1metros illegal especific\u00E1u en %1", + MissingCS: "%1 tien de tar sigu\u00EDu por una secuencia de control", + CantUseHash2: "Usu illegal de # nuna plant\u00EDa pa %1", + SequentialParam: "Los par\u00E1metros pa %1 tienen de numberase de mou secuencial", + MissingReplacementString: "Falta la cadena de sustituci\u00F3n pa la definici\u00F3n de %1", + MismatchUseDef: "L'usu de %1 nun casa cola so definici\u00F3n", + RunawayArgument: "\u00BFArgumentu descontrol\u00E1u pa %1?", + NoClosingDelim: "Nun s'alcontr\u00F3 el delimitador de zarru pa %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ast/ast.js b/src/py/kaleido/vendor/mathjax/localization/ast/ast.js new file mode 100644 index 00000000..9cf17efb --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ast/ast.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/ast/ast.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ast",null,{ + menuTitle: "asturianu", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax alcontr\u00F3 una cookie de configuraci\u00F3n d'usuariu qu'incluye c\u00F3digu a executar. \u00BFQuier executar esi c\u00F3digu?\n\n(Tendr\u00EDa de calcar \u00ABEncaboxar\u00BB a menos que creara la cookie vust\u00E9 mesmu.)", + MathProcessingError: "Error de procesamientu matem\u00E1ticu", + MathError: "Error matem\u00E1ticu", + LoadFile: "Cargando %1", + Loading: "Cargando", + LoadFailed: "Fall\u00F3 la carga del ficheru: %1", + ProcessMath: "Procesando matem\u00E1tiques: %1%%", + Processing: "Procesando", + TypesetMath: "Escribiendo matem\u00E1tiques: %1%%", + Typesetting: "Componiendo", + MathJaxNotSupported: "El so navegador nun tien sofitu pa MathJax", + ErrorTips: "Conseyos de depuraci\u00F3n: usa %%1, inspect %%2 na consola del restolador" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ast/ast.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/bcc/FontWarnings.js new file mode 100644 index 00000000..0745f6d4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bcc/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bcc/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/bcc/HTML-CSS.js new file mode 100644 index 00000000..750c7191 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bcc/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bcc/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/bcc/HelpDialog.js new file mode 100644 index 00000000..eb5e00e1 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bcc/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bcc/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/MathML.js b/src/py/kaleido/vendor/mathjax/localization/bcc/MathML.js new file mode 100644 index 00000000..faa29436 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bcc/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bcc/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/bcc/MathMenu.js new file mode 100644 index 00000000..de6bbeb2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bcc/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bcc/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/TeX.js b/src/py/kaleido/vendor/mathjax/localization/bcc/TeX.js new file mode 100644 index 00000000..ebee389b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bcc/TeX.js @@ -0,0 +1,94 @@ +/************************************************************* + * + * MathJax/localization/bcc/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647", + ExtraCloseMissingOpen: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u0647 \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632", + MissingLeftExtraRight: "\u0641\u0642\u062F\u0627\u0646 \u200E\\left \u06CC\u0627 \u200E\\right \u0627\u0636\u0627\u0641\u06CC", + MissingScript: "\u0641\u0642\u062F\u0627\u0646 \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0627\u0644\u0627\u0645\u062A\u0646 \u06CC\u0627 \u0632\u06CC\u0631\u0645\u062A\u0646", + ExtraLeftMissingRight: "\u200E\\left \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u200E\\right", + Misplaced: "%1 \u0646\u0627\u0628\u062C\u0627", + MissingOpenForSub: "\u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0628\u0631\u0627\u06CC \u0632\u06CC\u0631\u0645\u062A\u0646", + MissingOpenForSup: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0628\u0627\u0644\u0627\u0645\u062A\u0646", + AmbiguousUseOf: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0645\u0628\u0647\u0645 \u0627\u0632 \u200E%1", + EnvBadEnd: "\u200E\\begin{%1}\u200E \u067E\u0627\u06CC\u0627\u0646\u200C\u06CC\u0627\u0641\u062A\u0647 \u0628\u0627 \u200E\\end{%2}\u200E", + EnvMissingEnd: "\u200E\\end{%1}\u200E \u06AF\u0645\u200C\u0634\u062F\u0647", + MissingBoxFor: "\u062C\u0639\u0628\u0647\u0654 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + MissingCloseBrace: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0645\u0641\u0642\u0648\u062F", + UndefinedControlSequence: "\u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644 \u062A\u0639\u0631\u06CC\u0641\u200C\u0646\u0634\u062F\u0647\u0654 %1", + DoubleExponent: "\u062A\u0648\u0627\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleSubscripts: "\u0632\u06CC\u0631\u0645\u062A\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleExponentPrime: "\u062A\u0648\u0627\u0646 \u062F\u0648 \u0645\u0648\u062C\u0628 \u062A\u0648\u0627\u0646 \u0645\u0636\u0627\u0639\u0641 \u0634\u062F: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + CantUseHash1: "\u0634\u0645\u0627 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u00AB\u0645\u0627\u06A9\u0631\u0648 \u0646\u0648\u06CC\u0633\u0647\u0654 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 #\u00BB \u062F\u0631 \u062D\u0627\u0644\u062A \u0631\u06CC\u0627\u0636\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + MisplacedMiddle: "\u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0631\u0648\u0646 \u200E\\left \u0648 \u200E\\right \u0646\u0648\u0634\u062A\u0647\u200C\u0634\u0648\u062F", + MisplacedLimits: "\u200E%1 \u0641\u0642\u0637 \u062F\u0631 \u0639\u0645\u0644\u06AF\u0631\u0647\u0627 \u0645\u062C\u0627\u0632 \u0627\u0633\u062A", + MisplacedMoveRoot: "\u200E%1 \u062A\u0646\u0647\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062F\u0631\u0648\u0646 \u06CC\u06A9 \u0631\u06CC\u0634\u0647 \u0638\u0627\u0647\u0631 \u0634\u0648\u062F", + MultipleCommand: "\u200E%1 \u0686\u0646\u062F\u06AF\u0627\u0646\u0647", + IntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u0628\u0627\u0634\u062F", + NotMathMLToken: "%1 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0646\u0634\u0627\u0646 \u0646\u06CC\u0633\u062A", + InvalidMathMLAttr: "\u0648\u06CC\u0698\u06AF\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 MathML: %1", + UnknownAttrForElement: "%1 \u06CC\u06A9 \u0648\u06CC\u0698\u06AF\u06CC \u0634\u0646\u0627\u062E\u062A\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %2 \u0646\u06CC\u0633\u062A", + MaxMacroSub1: "\u0627\u0632 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u0634\u0645\u0627\u0631 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u0647\u0627\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + MaxMacroSub2: "\u0627\u0632 \u0634\u0645\u0627\u0631 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u062A\u0639\u062F\u0627\u062F \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0645\u062D\u06CC\u0637 \u0644\u06CC\u062A\u06A9 \u0628\u0627\u0632\u0634\u062A\u06AF\u06CC \u0645\u0648\u062C\u0648\u062F \u0627\u0633\u062A\u061F", + MissingArgFor: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + ExtraAlignTab: "\u0628\u0631\u06AF\u0647\u0654 \u0686\u06CC\u0646\u0634 \u0627\u0636\u0627\u0641\u06CC \u062F\u0631 \u0645\u062A\u0646 \u200E\\cases", + BracketMustBeDimension: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0628\u0639\u062F \u0628\u0627\u0634\u062F", + InvalidEnv: " \u0646\u0627\u0645 \u0645\u062D\u06CC\u0637 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u00AB%1\u00BB", + UnknownEnv: "\u0645\u062D\u06CC\u0637 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u00AB%1\u00BB", + ExtraCloseLooking: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u06CC \u0647\u0646\u06AF\u0627\u0645 \u062C\u0633\u062A\u062C\u0648\u06CC %1", + MissingCloseBracket: "\u00AB]\u00BB \u0628\u0633\u062A\u0647 \u0628\u0631\u0627\u06CC \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MissingOrUnrecognizedDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647 \u06AF\u0645\u200C\u0634\u062F\u0647 \u06CC\u0627 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + MissingDimOrUnits: "\u0627\u0628\u0639\u0627\u062F \u06CC\u0627 \u0648\u0627\u062D\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + TokenNotFoundForCommand: "%1 \u0628\u0631\u0627\u06CC %2 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MathNotTerminated: "\u0631\u06CC\u0627\u0636\u06CC \u062F\u0631 \u062C\u0639\u0628\u0647\u0654 \u0645\u062A\u0646 \u067E\u0627\u06CC\u0627\u0646 \u0646\u06CC\u0627\u0641\u062A\u0647\u200C\u0627\u0633\u062A", + IllegalMacroParam: "\u0627\u0631\u062C\u0627\u0639 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u0645\u0627\u06A9\u0631\u0648\u06CC \u0646\u0627\u0645\u062C\u0627\u0632", + MaxBufferSize: "\u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u06CC\u0627\u0646\u06AF\u06CC\u0631 \u062F\u0627\u062E\u0644\u06CC MathJax \u06AF\u0630\u0634\u062A\u0647 \u0634\u062F\u0647\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + CommandNotAllowedInEnv: "\u200E%1 \u062F\u0631 \u0645\u062D\u06CC\u0637 \u200E%2 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A", + MultipleLabel: "\u0628\u0631\u0686\u0633\u067E \u00AB%1\u00BB \u0686\u0646\u062F\u0628\u0627\u0631 \u062A\u0639\u0631\u06CC\u0641\u200C\u0634\u062F\u0647", + CommandAtTheBeginingOfLine: "%1 \u0628\u0627\u06CC\u062F \u062F\u0631 \u0634\u0631\u0648\u0639 \u062E\u0637 \u0628\u06CC\u0627\u06CC\u062F", + IllegalAlign: "\u0686\u06CC\u0646\u0634 \u0645\u0634\u062E\u0635\u200C\u0634\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u062F\u0631 \u200E%1", + BadMathStyleFor: "\u0633\u0628\u06A9 \u0628\u062F \u0631\u06CC\u0627\u0636\u06CC \u0628\u0631\u0627\u06CC \u200E%1", + PositiveIntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0647 \u200E%1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u0639\u062F\u062F \u0645\u062B\u0628\u062A \u0628\u0627\u0634\u062F", + ErroneousNestingEq: "\u0633\u0627\u062E\u062A\u0627\u0631\u0647\u0627\u06CC \u0627\u0634\u062A\u0628\u0627\u0647 \u062A\u0648\u062F\u0631\u062A\u0648\u06CC \u0645\u0639\u0627\u062F\u0644\u0647", + MultlineRowsOneCol: "\u0633\u0637\u0631 \u062F\u0631\u0648\u0646 \u0645\u062D\u06CC\u0637 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0642\u06CC\u0642\u0627\u064B \u06CC\u06A9 \u0633\u062A\u0648\u0646 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F", + MultipleBBoxProperty: "%1 \u062F\u0648\u0628\u0627\u0631 \u062F\u0631 \u200E%2 \u062A\u0639\u0631\u06CC\u0641 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + InvalidBBoxProperty: "'%1' \u0628\u0647 \u0646\u0638\u0631 \u06CC\u06A9 \u0631\u0646\u06AF\u060C \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0628\u0627\u0644\u0634\u062A\u06A9 \u06CC\u0627 \u0633\u0628\u06A9 \u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06CC\u200C\u0631\u0633\u062F", + ExtraEndMissingBegin: "\u200E%1 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \\begingroup \u06AF\u0645\u200C\u0634\u062F\u0647", + GlobalNotFollowedBy: "\u200E%1 \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u200E\\let\u060C \u200E\\def \u06CC\u0627 \u200E\\newcommand \u0646\u06CC\u0627\u0645\u062F\u0647\u200C\u0627\u0633\u062A", + UndefinedColorModel: "\u0645\u062F\u0644 \u0631\u0646\u06AF\u06CC '%1' \u062A\u0639\u0631\u06CC\u0641 \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A", + ModelArg1: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u06F3 \u0639\u062F\u062F \u0627\u0633\u062A", + InvalidDecimalNumber: "\u0639\u062F\u062F \u0627\u0639\u0634\u0627\u0631\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + ModelArg2: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u0628\u06CC\u0646 %2 \u0648 %3 \u0628\u0627\u0634\u062F", + InvalidNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + NewextarrowArg1: "\u0646\u0634\u0627\u0648\u0646\u062F \u0627\u0648\u0644 \u0628\u0647 \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0646\u0627\u0645 \u06A9\u0646\u062A\u0631\u0644\u06CC \u062F\u0646\u0628\u0627\u0644\u0647 \u0628\u0627\u0634\u062F", + NewextarrowArg2: "\u0646\u0634\u0646\u0627\u0648\u0646\u062F \u062F\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u062F\u0648 \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u062C\u062F\u0627 \u0634\u062F\u0647 \u0628\u0627 \u06CC\u06A9 \u06A9\u0627\u0645\u0627 \u0628\u0627\u0634\u062F", + NewextarrowArg3: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0633\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u06CC\u06A9 \u0646\u0648\u06CC\u0633\u0647\u0654 \u06CC\u0648\u0646\u06CC\u06A9\u062F \u0628\u0627\u0634\u062F", + NoClosingChar: "%1 \u0628\u0633\u062A\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + IllegalControlSequenceName: "\u0646\u0627\u0645 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u0631\u0627\u06CC \u200E%1 \u0646\u0627\u0645\u062C\u0627\u0632", + IllegalParamNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u062C\u0627\u0632 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u062F\u0631 \u200E%1 \u0645\u0634\u062E\u0635 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + MissingCS: "\u200E%1 \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u06CC\u0627\u06CC\u062F", + CantUseHash2: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u0627\u0632 # \u062F\u0631 \u0627\u0644\u06AF\u0648 \u0628\u0631\u0627\u06CC %1", + SequentialParam: "\u067E\u0627\u0631\u0627\u0645\u062A\u0631\u0647\u0627 \u0628\u0631\u0627\u06CC %1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u0639\u062F\u062F\u06CC \u0628\u0627\u0634\u062F" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bcc/bcc.js b/src/py/kaleido/vendor/mathjax/localization/bcc/bcc.js new file mode 100644 index 00000000..2c1bd8a2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bcc/bcc.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/bcc/bcc.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bcc",null,{ + menuTitle: "\u0628\u0644\u0648\u0686\u06CC", + fontDirection: "rtl", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u062E\u0637\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC", + MathError: "\u062D\u0637\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC", + LoadFile: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC %1", + Loading: "\u0644\u0648\u062F\u0628\u06CC\u062A...", + LoadFailed: "\u062E\u0637\u0627 \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u067E\u0631\u0648\u0646\u062F\u0647: %1", + ProcessMath: "\u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Processing: "\u067E\u0631\u062F\u0627\u0632\u0634", + TypesetMath: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Typesetting: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC", + MathJaxNotSupported: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathJax \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bcc/bcc.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/bg/FontWarnings.js new file mode 100644 index 00000000..d96a4f67 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bg/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bg/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/bg/HTML-CSS.js new file mode 100644 index 00000000..d9d0a456 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bg/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bg/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/bg/HelpDialog.js new file mode 100644 index 00000000..51ae54e2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bg/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bg/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/MathML.js b/src/py/kaleido/vendor/mathjax/localization/bg/MathML.js new file mode 100644 index 00000000..60bc90bb --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bg/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/bg/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/bg/MathMenu.js new file mode 100644 index 00000000..fd5fe2ee --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bg/MathMenu.js @@ -0,0 +1,56 @@ +/************************************************************* + * + * MathJax/localization/bg/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u041F\u043E\u043A\u0430\u0436\u0438 \u043A\u0430\u0442\u043E", + MathMLcode: "MathML \u043A\u043E\u0434", + OriginalMathML: "\u041E\u0440\u0438\u0433\u0438\u043D\u0430\u043B\u043D\u0438\u044F\u0442 MathML \u043A\u043E\u0434", + TeXCommands: "TeX \u043A\u043E\u043C\u0430\u043D\u0434\u0438", + AsciiMathInput: "AsciiMathML \u043A\u043E\u0434", + ErrorMessage: "\u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0437\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", + Annotation: "\u0410\u043D\u043E\u0442\u0430\u0446\u0438\u044F", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + OpenMath: "OpenMath", + Settings: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", + ZoomTrigger: "\u0423\u0432\u0435\u043B\u0438\u0447\u0430\u0432\u0430\u0439 \u0447\u0440\u0435\u0437", + Hover: "\u041F\u043E\u0441\u043E\u0447\u0432\u0430\u043D\u0435", + Click: "\u041A\u043B\u0438\u043A", + DoubleClick: "\u0414\u0432\u043E\u0435\u043D \u043A\u043B\u0438\u043A", + NoZoom: "\u0418\u0437\u043A\u043B\u044E\u0447\u0435\u043D\u043E", + TriggerRequires: "\u0418\u0437\u0438\u0441\u043A\u0432\u0430\u0439 \u043D\u0430\u0442\u0438\u0441\u043D\u0430\u0442:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "\u0423\u0432\u0435\u043B\u0438\u0447\u0438 \u043D\u0430", + Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E", + Browser: "\u0411\u0440\u0430\u0443\u0437\u044A\u0440", + Locale: "\u0415\u0437\u0438\u043A", + About: "\u0417\u0430 MathJax", + Close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/TeX.js b/src/py/kaleido/vendor/mathjax/localization/bg/TeX.js new file mode 100644 index 00000000..ade9f717 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bg/TeX.js @@ -0,0 +1,68 @@ +/************************************************************* + * + * MathJax/localization/bg/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0418\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u043D\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0438\u043B\u0438 \u043B\u0438\u043F\u0441\u0432\u0430\u0449\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430", + ExtraCloseMissingOpen: "\u0418\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u043D\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0438\u043B\u0438 \u043B\u0438\u043F\u0441\u0432\u0430\u0449\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430", + MissingLeftExtraRight: "\u041B\u0438\u043F\u0441\u0432\u0430 \\left \u0438\u043B\u0438 \u0438\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u0435\u043D \\right", + MissingScript: "\u041B\u0438\u043F\u0441\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u043F\u0440\u0438 \u0441\u0442\u0435\u043F\u0435\u043D \u0438\u043B\u0438 \u0438\u043D\u0434\u0435\u043A\u0441", + ExtraLeftMissingRight: "\u0418\u043C\u0430 \u0438\u0437\u043B\u0438\u0448\u0435\u043D \\left \u0438\u043B\u0438 \u043B\u0438\u043F\u0441\u0432\u0430 \\right", + Misplaced: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u043D\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D %1", + MissingOpenForSub: "\u041B\u0438\u043F\u0441\u0432\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 \u0437\u0430 \u0438\u043D\u0434\u0435\u043A\u0441", + MissingOpenForSup: "\u041B\u0438\u043F\u0441\u0432\u0430 \u043E\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 \u0437\u0430 \u0441\u0442\u0435\u043F\u0435\u043D", + AmbiguousUseOf: "\u0414\u0432\u0443\u0441\u043C\u0438\u0441\u043B\u0435\u043D\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 %1", + EnvBadEnd: "\\begin{%1} \u0435 \u0437\u0430\u0442\u0432\u043E\u0440\u0435\u043D \u0441 \\end{%2}", + EnvMissingEnd: "\u041B\u0438\u043F\u0441\u0432\u0430 \\end{%1}", + MissingBoxFor: "\u041B\u0438\u043F\u0441\u0432\u0430\u0449 box \u0437\u0430 %1", + MissingCloseBrace: "\u041B\u0438\u043F\u0441\u0432\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430", + UndefinedControlSequence: "\u041D\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u043D\u043E\u0441\u0442 %1", + DoubleExponent: "\u0414\u0432\u043E\u0439\u043D\u0430 \u0435\u043A\u0441\u043F\u043E\u043C\u0435\u043D\u0442\u0430: \u0443\u0442\u043E\u0447\u043D\u0435\u0442\u0435 \u0441\u044A\u0441 \u0441\u043A\u043E\u0431\u0438", + DoubleSubscripts: "\u0414\u0432\u043E\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441: \u0443\u0442\u043E\u0447\u043D\u0435\u0442\u0435 \u0441\u044A\u0441 \u0441\u043A\u043E\u0431\u0438", + DoubleExponentPrime: "\u0414\u0432\u0443\u0441\u043C\u0438\u0441\u043B\u0435\u043D\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 \u043F\u0440\u0438\u043C ('): \u0443\u0442\u043E\u0447\u043D\u0435\u0442\u0435 \u0441\u044A\u0441 \u0441\u043A\u043E\u0431\u0438", + CantUseHash1: "\u041D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 '\u043C\u0430\u043A\u0440\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u044A\u0440 #' \u0432 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0440\u0435\u0436\u0438\u043C", + MisplacedMiddle: "%1 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u043C\u0435\u0436\u0434\u0443 \\left \u0438 \\right", + MisplacedLimits: "%1 \u0435 \u043F\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E \u0441\u0430\u043C\u043E \u043F\u0440\u0438 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0438", + MisplacedMoveRoot: "%1 \u0441\u0435 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430 \u0441\u0430\u043C\u043E \u0432 \u043A\u043E\u0440\u0435\u043D", + MultipleCommand: "\u041C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u043E %1", + IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u044A\u0442 \u0437\u0430 %1 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u0446\u044F\u043B\u043E \u0447\u0438\u0441\u043B\u043E", + NotMathMLToken: "%1 - \u043D\u0435 \u0435 \u0437\u0430 MathML", + InvalidMathMLAttr: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D MathML \u0430\u0442\u0440\u0438\u0431\u0443\u0442: %1", + UnknownAttrForElement: "%1 \u043D\u0435 \u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043D\u0430 MathML \u0442\u0430\u0433 %2", + MaxMacroSub1: "\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0438\u044F\u0442 \u0431\u0440\u043E\u0439 \u0437\u0430\u043C\u0435\u0441\u0442\u0432\u0430\u043D\u0438\u044F \u0441 \u043C\u0430\u043A\u0440\u043E\u0441\u0438 \u0435 \u043F\u0440\u0435\u0432\u0438\u0448\u0435\u043D. \u0418\u043C\u0430 \u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u043E \u0438\u0437\u0432\u0438\u043A\u0432\u0430\u043D\u0435?", + MaxMacroSub2: "\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u043D\u0438\u044F\u0442 \u0431\u0440\u043E\u0439 \u043D\u0430 \u0437\u0430\u043C\u0435\u0441\u0442\u0432\u0430\u043D\u0438\u044F \u0435 \u043F\u0440\u0435\u0432\u0438\u0448\u0435\u043D. \u0418\u043C\u0430 \u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u044F?", + MissingArgFor: "\u041B\u0438\u043F\u0441\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1", + ExtraAlignTab: "\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u043D\u043E\u0433\u043E \u043A\u043E\u043B\u043E\u043D\u0438 \u0432 \\cases", + BracketMustBeDimension: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u044A\u0442 \u043D\u0430 %1 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0435 \u0440\u0430\u0437\u043C\u0435\u0440\u043D\u043E\u0441\u0442", + InvalidEnv: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0438\u043C\u0435 '%1'", + UnknownEnv: "\u041D\u0435\u043F\u043E\u0437\u043D\u0430\u0442\u0430 \u0441\u0440\u0435\u0434\u0430 '%1'", + ExtraCloseLooking: "\u0418\u0437\u043B\u0438\u0448\u043D\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 \u043F\u0440\u0438 \u0442\u044A\u0440\u0441\u0435\u043D\u0435 \u043D\u0430 %1", + MissingCloseBracket: "\u041D\u044F\u043C\u0430 \u0437\u0430\u0442\u0432\u0430\u0440\u044F\u0449\u0430 \u0441\u043A\u043E\u0431\u0430 ']' \u0437\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u043D\u0430 %1", + MissingOrUnrecognizedDelim: "\u041B\u0438\u043F\u0441\u0432\u0430\u0449 \u0438\u043B\u0438 \u043D\u0435\u043F\u043E\u0437\u043D\u0430\u0442 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B \u043D\u0430 %1", + MissingDimOrUnits: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0440\u0430\u0437\u043C\u0435\u0440\u043D\u043E\u0441\u0442 \u0438\u043B\u0438 \u043D\u0435\u0439\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 %1", + TokenNotFoundForCommand: "\u041D\u0435 \u0441\u0435 \u043D\u0430\u043C\u0438\u0440\u0430 %1 \u0437\u0430 %2", + CommandNotAllowedInEnv: "%1 \u043D\u0435 \u0435 \u043F\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E \u0432 %2 \u0441\u0440\u0435\u0434\u0430", + MultipleLabel: "\u0415\u0442\u0438\u043A\u0435\u0442 \"%1\" \u0435 \u0434\u0443\u0431\u043B\u0438\u0440\u0430\u043D", + InvalidNumber: "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/bg/bg.js b/src/py/kaleido/vendor/mathjax/localization/bg/bg.js new file mode 100644 index 00000000..f029d542 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/bg/bg.js @@ -0,0 +1,55 @@ +/************************************************************* + * + * MathJax/localization/bg/bg.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("bg",null,{ + menuTitle: " \u0431\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u0413\u0440\u0435\u0448\u043A\u0430 \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430\u0442\u0430", + MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", + LoadFile: "\u0417\u0430\u0440\u0435\u0436\u0434\u0430\u043D\u0435 \u043D\u0430 %1", + Loading: "\u0417\u0430\u0440\u0435\u0436\u0434\u0430\u043D\u0435", + LoadFailed: "\u041D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0437\u0430\u0440\u0435\u0434\u0438: %1", + ProcessMath: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u043D\u0430 \u043A\u043E\u0434\u0430: %1%%", + Processing: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430", + TypesetMath: "\u041E\u0444\u043E\u0440\u043C\u044F\u043D\u0435: %1%%", + Typesetting: "\u041E\u0444\u043E\u0440\u043C\u044F\u043D\u0435", + MathJaxNotSupported: "\u0411\u0440\u0430\u0443\u0437\u044A\u0440\u044A\u0442 \u0412\u0438 \u043D\u0435 \u043F\u043E\u0434\u0434\u044A\u0440\u0436\u0430 MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: undefined +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/bg/bg.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/br/FontWarnings.js new file mode 100644 index 00000000..06c565fd --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/br/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/br/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax a implij ar fonto\u00F9 web evit diskwel ar jedado\u00F9 war ar bajenn-ma\u00F1. Pell eo ar re-se o pellgarga\u00F1 ha diskwelet e vefe buanoc'h ma stailhfec'h fonto\u00F9 jedoniezh war-eeun e teuliad fonto\u00F9 ho reizhiad.", + noFonts: "N'hall ket MathJax lec'hia\u00F1 ur polis evit diskwel e jedado\u00F9, ha dihegerz eo ar fonto\u00F9 skeudenn. Ret eo implijout arouezenno\u00F9 Unicode neuze. Emicha\u00F1s e c'hallo ho merdeer diskwel anezho. Ne c'hallo ket arouezenno\u00F9 zo beza\u00F1 diskwelet mat, tamm ebet zoken.", + webFonts: "GAnt an darn vrasa\u00F1 eus ar merdeerio\u00F9 arnevez e c'haller pellgarga\u00F1 fonto\u00F9 adalek ar web. Hizivaat ho merdeer (pe che\u00F1ch merdeer) a c'hallfe gwellaat kalite ar jedado\u00F9 war ar bajenn-ma\u00F1.", + fonts: "Gallout a ra MathJax implijout pe ar fonto\u00F9 [STIX](%1) pe ar fonto\u00F9 [MathJax TeX](%2); Pellgargit ha stailhit unan eus fonto\u00F9-se evit gwellaat ho skiant-prenet gant MathJax.", + STIXPage: "Krouet eo bet ar bajenn-ma\u00F1 evit implijout ar fonto\u00F9 [STIX ](%1). Pellgargit ha stailhit ar fonto\u00F9-se evit gwellaat ho skiant-penet gant MathJax.", + TeXPage: "Krouet eo bet ar bajenn-ma\u00F1 evit implijout ar fonto\u00F9 [MathJax TeX](%1). Pellgargit ha stailhit ar fonto\u00F9-se evit gwellaat ho skiant-prenet gant MathJax.", + imageFonts: "Ober a ra MathJax gant skeudenno\u00F9 font kentoc'h eget gant fonto\u00F9 web pe fonto\u00F9 lec'hel. Gant se e teu an trao\u00F9 gorrekoc'h war-wel ha marteze ne vo ket ar jedado\u00F9 evit beza\u00F1 moullet diouzh pizhder kloka\u00F1 ho moullerez." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/br/HTML-CSS.js new file mode 100644 index 00000000..ecb851ce --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/br/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/br/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "O karga\u00F1 ar font web %1", + CantLoadWebFont: "Ne c'haller ket karga\u00F1 ar font web %1", + CantFindFontUsing: "Ne c'haller ket kavout ur font dereat e-touez %1", + FirefoxCantLoadWebFont: "Ne c'hall ket Firefox karga\u00F1 ar fonto\u00F9 adalek un ostiz a-bell", + WebFontsNotAvailable: "N'haller ket kaout ar Fonto\u00F9 web. Ar fonto\u00F9 skeudenn a vo implijet en o flas" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/br/HelpDialog.js new file mode 100644 index 00000000..c043a3d8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/br/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/br/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Sikour MathJax", + MathJax: "*MathJax* zo ul levraoueg JavaSkript. Ganta\u00F1 e c'hall aozerien ar pajenno\u00F9 enderc'hel jedado\u00F9 en o fajenno\u00F9 Web. Evel lenner n'ho po ket ezhomm d'ober netra evit ma'z aio en-dro.", + Browsers: "\"Merdeerien\": Mont a ra Mathjax en-dro gant an holl verdeerien modern, en ur gonta\u00F1 Explorer 6, Firefox 3, Chrome 0.2, Safari 2, Opera 9.6 hag o stummo\u00F9 kre\u00F1voc'h, hag ivez an darn vrasa\u00F1 eus ar merdeerio\u00F9 evit hezougello\u00F9 ha tablezenno\u00F9.", + Menu: "\"La\u00F1ser Math\" : Ouzhpenna\u00F1 a ra MathJax ul la\u00F1ser kemperzhel d'ar c'hevatalenno\u00F9. Klikit war bouton deho\u00F9 al logodenn pe klikit war war ne vern peseurt formulenn jedoniezh o terc'hel da boueza\u00F1 war Ktrl evit monet d'al la\u00F1ser.", + ShowMath: "Gant \"Diskwel ar matematiko\u00F9 evel\" e c'hallot diskwel balizenna\u00F1 tarzh ar jedad evit eila\u00F1-pega\u00F1 (evel MathML pe en e furmad orin).", + Settings: "Gant *Arventenno\u00F9\" e c'hallit kontrolla\u00F1 arc'hwelio\u00F9 MathJax, evel ment ar jedado\u00F9, hag ar gwikefre implijet evit diskwel ar c'hevatalenno\u00F9.", + Language: "\"Yezh\" a lez ac'hanoc'h da zibab ar yezh implijet gant MathJax evit e la\u00F1serio\u00F9 hag e gemennadurio\u00F9.", + Zoom: "*Math zoom*: M'eo diaes deoc'h lenn ur gevatalenn e c'hall MathJax brasaat anezhi evit skoazella\u00F1 ac'hanoc'h da welet anezhi gwelloc'h.", + Accessibilty: "*Monedusted*:Mathjad a labouro ent emgefreek gant lennerio\u00F9 skramm evit ma vo aesoc'h d'an dud fall o gweled pledi\u00F1 gant ar jedoniezh.", + Fonts: "\"Fonto\u00F9*: gant Mathjax e vo implijet ar fonto\u00F9 jedoniel zo ma vezont staliet en hoc'h urzhiataer ; anez e vo implijet ar fonto\u00F9 kavet war ar Web. Daoust ma n'eo ret, gant ar fonto\u00F9 staliet ent lec'hel e vo buanaet ar c'henaozadur. Alia\u00F1 a reomp ac'hanoc'h da stalia\u00F1 ar [fonto\u00F9 STIX](%1).", + CloseDialog: "Serri\u00F1 ar voest kendivizout skoazell" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/MathML.js b/src/py/kaleido/vendor/mathjax/localization/br/MathML.js new file mode 100644 index 00000000..e922ecfc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/br/MathML.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/localization/br/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph fall : %1", + BadMglyphFont: "Font fall : %1", + UnknownNodeType: "Seurt skoulm dianav : %1", + UnexpectedTextNode: "Skoulm testenn dic'hortoz : %1", + ErrorParsingMathML: "Fazi o tielfenna\u00F1 MathML", + ParsingError: "Fazi o ielfenna\u00F1 MathML : %1", + MathMLSingleElement: "MathML a rank beza\u00F1 stummet gant un elfenn hepken", + MathMLRootElement: "Gant un elfenn \u003Cmath\u003E e rank beza\u00F1 stummet MathML, ha ket gant %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/br/MathMenu.js new file mode 100644 index 00000000..0409a11e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/br/MathMenu.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/br/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Diskouez ar formulenn evel", + MathMLcode: "Kod MathML", + OriginalMathML: "MathML orin", + TeXCommands: "Urzhio\u00F9 TeX", + Original: "Furmskrid orin", + ErrorMessage: "Kemennadenn fazi", + Annotation: "Notenn", + TeX: "TeX", + StarMath: "StarMath", + OpenMath: "OpenMath", + Settings: "Arventenno\u00F9 ar matematiko\u00F9", + Click: "Klika\u00F1", + DoubleClick: "Daouglika\u00F1", + NoZoom: "Zoum ebet", + Option: "Dibarzh", + Command: "Urzhiad", + Control: "Kontroll", + ZoomFactor: "Feur zoum", + ForHTMLCSS: "Evit HTML-CSS :", + Auto: "Emgefre", + TeXLocal: "TeX (lec'hel)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (skeudenn)", + STIXLocal: "STIX (lec'hel)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "La\u00F1ser kemperzhel", + Browser: "Merdeer", + Locale: "Yezh", + LoadLocale: "Karga\u00F1 diwar an URL ...", + About: "Diwar-benn MathJax", + Help: "Sikour MathJax", + wofforotffonts: "fonto\u00F9 woff pe otf", + eotffonts: "fonto\u00F9 eot", + svgfonts: "Fonto\u00F9 svg", + LoadURL: "Karga\u00F1 roadenno\u00F9 trei\u00F1 eus an URL-ma\u00F1 :", + Close: "Serri\u00F1", + EqSource: "Tarzh kevatalenn MathJax", + AsciiMathInput: "Moned AsciiMathML", + Maple: "Maple", + ContentMathML: "Endalc'h MathML", + texHints: "Diskwel ar skoazello\u00F9 Tex e MathML", + ZoomTrigger: "Distegner Zoum", + TriggerRequires: "An distegner en deus ezhomm :", + Alt: "Erl", + Shift: "Pennlizherenn", + MPHandles: "Lezel MathPlayer da vera\u00F1 :", + MenuEvents: "Darvoudo\u00F9 la\u00F1ser", + MouseEvents: "Darvoudo\u00F9 logodenn", + MenuAndMouse: "Darvoudo\u00F9 logodenn ha la\u00F1serio\u00F9", + FontPrefs: "Penndibabo\u00F9 font", + Scale: "Lakaat an holl jedado\u00F9 hervez ar skeuliad...", + localTeXfonts: "Implijout ar fonto\u00F9 TeX lec'hel", + webTeXfonts: "Implijout fonto\u00F9 TeX ar web", + imagefonts: "Implijout ar fonto\u00F9 Skeudenn", + localSTIXfonts: "Implijout ar fonto\u00F9 STIX lec'hel", + webSVGfonts: "Implijout fonto\u00F9 SVG ar web", + genericfonts: "Implijout ar fonto\u00F9 Unicode generek", + BadData: "C'hwitet eo pellgardadur ar roadenno\u00F9 trei\u00F1 adalek %1", + NonZeroScale: "Ne zlefe ket ar skeuliad beza\u00F1 par da zero", + PercentScale: "Ar skeuliad a zlefe beza\u00F1 un dregantad (da skouer, 120 %%)", + IE8warning: "Se a ziweredekay al la\u00F1ser hag ar arc'hwelio\u00F9 zouma\u00F1. En o flas avat e c'halli klika\u00F1 war ur bomm en ur boueza\u00F1 war ar bouton Alt\n evit kaout al la\u00F1ser MathjAX.", + IE9warning: "Diweredekaet e vo al la\u00F1ser kemperzhel MathJax, met en e flas e c'hallot klika\u00F1 war ur bomm o terc'hel da boueza\u00F1 war ar bouton Alt evit kaout al la\u00F1ser MathJax.", + NoOriginalForm: "N'haller kaout furmad orin ebet", + CloseAboutDialog: "Serri\u00F1 ar voest kendivizout A-zivout MathJax", + FastPreview: "Dalberzh prim", + InTabOrder: "Enlakaat an urzh an ivinello\u00F9" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/TeX.js b/src/py/kaleido/vendor/mathjax/localization/br/TeX.js new file mode 100644 index 00000000..1bdfd9d4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/br/TeX.js @@ -0,0 +1,94 @@ +/************************************************************* + * + * MathJax/localization/br/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Briataenn digeri\u00F1 a re pe briataenn serri\u00F1 diank", + ExtraCloseMissingOpen: "Briataenn serri\u00F1 a re pe briataenn digeri\u00F1 diank", + MissingLeftExtraRight: "\\left diank pe \\right a re", + ExtraLeftMissingRight: "\\left a re pe \\right diank", + Misplaced: "%1 lec'hiet fall", + AmbiguousUseOf: "Implij forc'hellek eus %1", + EnvBadEnd: "\\begin{%1} zo echuet gant \\end{%2}", + EnvMissingEnd: "\\end{%1} a vank", + MissingBoxFor: "Ar voest a vank evit %1", + MissingCloseBrace: "Ar vriataenn serri\u00F1 a vank", + MisplacedMiddle: "%1 a rank beza\u00F1 e-barzh \\left ha \\right", + MisplacedMoveRoot: "%1 ne c'hall beza\u00F1 nemet e-barzh ur wrizienn", + MultipleCommand: "Meur a %1", + IntegerArg: "Arguzenn %1 a rank beza\u00F1 un niver anterin", + InvalidMathMLAttr: "Doareenn MathML direizh : %1", + MissingArgFor: "Arguzenn diank evit %1", + InvalidEnv: "Anv endro \"%1\" direizh", + UnknownEnv: "endro dianav \"%1\"", + TokenNotFoundForCommand: "N'eus ket bet gallet kavout %1 evit %2", + MathNotTerminated: "Formulenn diechu er voest testenn", + CommandNotAllowedInEnv: "%1 n'eo ket aotreet en endro %2", + MultipleLabel: "Label '%1' termenet meur a wech", + CommandAtTheBeginingOfLine: "%1 a rank beza\u00F1 e dero\u00F9 al linenn", + BadMathStyleFor: "Stil matematikel direizh evit %1", + PositiveIntegerArg: "Arguzenn %1 a rank beza\u00F1 un niver pozitivel anterin", + MultlineRowsOneCol: "Ar renko\u00F9 e-barzh an endro %1 a rank kaout ur bann dres", + MultipleBBoxProperty: "%1 diferet div wech e-barzh %2", + ExtraEndMissingBegin: "%1 a re pe \\begingroup diank", + GlobalNotFollowedBy: "%1 n'eo ket heuliet gant \\let, \\def, pe \\newcommand", + UndefinedColorModel: "N'eo ket termenet patrom liv \"%1\"", + InvalidDecimalNumber: "Niver degel direizh", + InvalidNumber: "Niver direizh", + NewextarrowArg2: "Eil arguzenn %1 a rank beza\u00F1 daou niver anterin dispartiet gant ur virgulenn", + NewextarrowArg3: "Trede arguzenn %1 a rank beza\u00F1 un niverenn arouezenn unicode", + NoClosingChar: "Ne c'haller ket kavout an %1 serri\u00F1", + CantUseHash2: "Implij direizh eus # er patrom evit %1", + MismatchUseDef: "An implij eus %1 ne glot ket gant an termenadur anezha\u00F1", + RunawayArgument: "Arguzenn diechu evit %1 ?", + NoClosingDelim: "Ne c'haller ket kavout ur bevenner serri\u00F1 evit %1", + MissingScript: "Arguzenn en usskrid pe en isskrid a vank", + MissingOpenForSub: "Briataenn digeri\u00F1 a vank evit ar skrid en isskrid", + MissingOpenForSup: "Briataenn digeri\u00F1 a vank evit ar skrid en usskrid", + UndefinedControlSequence: "An urzh kontrolla\u00F1 %1 n'eo ket termenet", + DoubleExponent: "Usskrid doubl : implijit briataenno\u00F9 evit sklaeraat", + DoubleSubscripts: "Isskrid double : implijit briataenno\u00F9 evit sklaeraat", + CantUseHash1: "Ne c'hallit ket implijout an arouezenn # er mod jedoniezh", + MisplacedLimits: "N'eo aotreet an urzh %1 nemet gant an oberataerio\u00F9", + NotMathMLToken: "N'eo ket an elfenn %1 un elfenn MathML elfennel", + UnknownAttrForElement: "Dianav eo an doareenn %1 d'an elfenn %2", + ExtraAlignTab: "Arouezenn steuda\u00F1 '\u0026' dic'hortoz evit testenn an urzh /cases", + BracketMustBeDimension: "An argutezenn etre krochedo\u00F9 an urzh %1 a rank beza\u00F1 ur vent", + ExtraCloseLooking: "Briataenn serri\u00F1 dic'hortoz pa'z eo bet enklasket %1", + MissingCloseBracket: "Ne c'haller ket kavout ']' evit arguzenn an urzh %1", + MissingOrUnrecognizedDelim: "Ar bevenner a vank pe n'eo ket anavezet gant an urzh %1", + MissingDimOrUnits: "Ar Vent pe an unvez a vank evit an urzh %1", + IllegalMacroParam: "N'eo ket aotreet an arventenn dave makro", + IllegalAlign: "N'eo ket aotreet ar steudad evit an urzh %1", + ErroneousNestingEq: "Empradur direizh ar frammo\u00F9 kevatalenno\u00F9", + InvalidBBoxProperty: "Seblantout a ra n'eo ket an talvoud '%1' ul liv, ur ment marz bihanoc'h pe ur stil.", + ModelArg1: "An talvoudo\u00F9 livio\u00F9 evit ar patrom %1 o deus ezhomm eus 3 niverenn", + ModelArg2: "An talvoudo\u00F9 livio\u00F9 evit ar patrom %1 a rank beza\u00F1 etre %2 ha %3", + NewextarrowArg1: "Arguzenn genta\u00F1 an urzhiad %1 a rank beza\u00F1 anv ur seka\u00F1s kontrolla\u00F1", + IllegalControlSequenceName: "N'eo ket aotreet anv ar c'hontroll seka\u00F1s evit an urzh %1", + IllegalParamNumber: "Niver direizh a arventenno\u00F9 evit an urzh %1", + MissingCS: "%1 a rank beza\u00F1 heuliet gant ur seka\u00F1s kontrolla\u00F1", + MissingReplacementString: "Ar chadennad arouezenno\u00F9 erlec'hia\u00F1 a vank evit an termenadur %1.", + DoubleExponentPrime: "Un ask a zegas un usskrid doubl : implijit briataenno\u00F9 evit sklaeraat" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/br/br.js b/src/py/kaleido/vendor/mathjax/localization/br/br.js new file mode 100644 index 00000000..121e6e5a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/br/br.js @@ -0,0 +1,66 @@ +/************************************************************* + * + * MathJax/localization/br/br.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("br",null,{ + menuTitle: "brezhoneg", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Fazi o treta\u00F1 ar formulenn", + MathError: "Fazi er formulenn", + LoadFile: "O karga\u00F1 %1", + Loading: "O karga\u00F1", + LoadFailed: "N'eus ket bet gallet karga\u00F1 %1", + ProcessMath: "Treta\u00F1 ar formulenno\u00F9 : %1%%", + Processing: "O treta\u00F1", + TypesetMath: "Aoza\u00F1 formulenno\u00F9 : %1%%", + Typesetting: "Aoza\u00F1", + MathJaxNotSupported: "Ne c'hall ket ho merdeer ober gant MathJax", + ErrorTips: "Alio\u00F9 dizreina\u00F1 : implijout %%1, ensellet %%2, e letrin ar merdeer" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && !(n % 100 === 11 || n % 100 === 71 || + n % 100 === 91)) {return 1} // one + if (n % 10 === 2 && !(n % 100 === 12 || n % 100 === 72 || + n % 100 === 92)) {return 2} // two + if ((n % 10 === 3 || n % 10 === 4 || n % 10 === 9) && + !(10 <= n % 100 && n % 100 <= 19 || + 70 <= n % 100 && n % 100 <= 79 || + 90 <= n % 100 && n % 100 <= 99)) {return 3} // few + if (n !== 0 && n % 1000000 === 0) {return 4} // other + return 5; + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/br/br.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ca/FontWarnings.js new file mode 100644 index 00000000..fed5c770 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ca/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ca/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax est\u00E0 utilitzant fonts basades en web per mostrar les expressions matem\u00E0tiques d'aquesta p\u00E0gina. Aix\u00F2 porta un temps per descarregar, de tal manera que la p\u00E0gina es mostrar\u00E0 m\u00E9s r\u00E0pidament si instal\u00B7leu les fonts matem\u00E0tiques directament a la vostra carpeta de sistema de fonts.", + imageFonts: "MathJaz est\u00E0 utilitzant les seves fonts d'imatge en comptes de fonts locals o basades en web. Aix\u00F2 pot fer que la composici\u00F3 de la p\u00E0gina sigui m\u00E9s lenta que l'habitual, i les expressions matem\u00E0tiques poden no imprimir-se a resoluci\u00F3 completa en la vostra impressora.", + noFonts: "MathJax no pot localitzar una font per a utilitzar-la a l'hora de mostrar les expressions matem\u00E0tiques, de tal manera que es recolza en car\u00E0cters Unicode gen\u00E8rics, amb el sup\u00F2sit que el vostre navegador ser\u00E0 capa\u00E7 de mostrar-les. Alguns car\u00E0cters poden no mostrar-se correctament, o fins i tot poden no mostrar-se en absolut.", + webFonts: "La majoria de navegadors moderns permeten la desc\u00E0rrega de les fonts. Si actualitzeu a una versi\u00F3 m\u00E9s nova del vostre navegador (o si canvieu de navegador) podreu millorar la qualitat de les expressions matem\u00E0tiques d'aquesta p\u00E0gina.", + fonts: "MathJax pot utilitzar tant les [fonts STIX](%1) com les [fonts TeX MathJax](%2). Descarregueu i instal\u00B7leu una d'aquestes fonts per millorar la vostra experi\u00E8ncia MathJax.", + STIXPage: "Aquesta p\u00E0gina est\u00E0 dissenyada per usar les [fonts STIX](%1). Descarregueu i instal\u00B7leu aquestes fonts per millorar la vostra experi\u00E8ncia MathJax.", + TeXPage: "Aquesta p\u00E0gina est\u00E0 dissenyada per usar les [fonts TeX MathJax](%1). Descarregueu i instal\u00B7leu aquestes fonts per millorar la vostra experi\u00E8ncia MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ca/HTML-CSS.js new file mode 100644 index 00000000..4c7573bf --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ca/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ca/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Carregant font web %1", + CantLoadWebFont: "No es pot carregar la font web %1", + FirefoxCantLoadWebFont: "Firefox no pot carregar fonts web des d'un servidor remot", + CantFindFontUsing: "No es pot trobar una font v\u00E0lida usant %1", + WebFontsNotAvailable: "Fonts web no disponibles. S'estan usant fonts d'imatge" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ca/HelpDialog.js new file mode 100644 index 00000000..de5555a7 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ca/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/ca/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Ajuda MathJax", + MathJax: "*MathJax* \u00E9s una llibreria JavaScript que permet als autors de p\u00E0gines incloure expressions matem\u00E0tiques a les seves p\u00E0gines web. Com a lector, no necessiteu res perqu\u00E8 pugueu visualitzar la p\u00E0gina.", + Browsers: "*Navegadors*: MathJax funciona amb tots els navegadors moderns, incloent IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ i la majoria de navegadors m\u00F2bils.", + Menu: "*Men\u00FA matem\u00E0tiques*: MathJax afegeix un men\u00FA contextual a les equacions. Feu clic amb el bot\u00F3 dret, o Ctrl-clic, sobre qualsevol f\u00F3rmula per accedir al men\u00FA.", + ShowMath: "*Mostra f\u00F3rmula com a* us permet visualitzar el codi font de la f\u00F3rmula, per tal que pugueu copiar i enganxar (en format MathML o en el seu format original).", + Settings: "*Configuraci\u00F3* us permet controlar diverses caracter\u00EDstiques de MathJax, com la mida de les f\u00F3rmules, i el mecanisme emprat per visualitzar les equacions.", + Language: "*Idioma* us permet seleccionar l'idioma emprat per MathJax en els seus men\u00FAs i missatges d'advert\u00E8ncia.", + Zoom: "*Zoom*: Si teniu dificultats a l'hora de llegir una equaci\u00F3, MathJax pot ampliar-la per ajudar-vos a veure-la millor.", + Accessibilty: "*Accessibilitat*: MathJax funciona autom\u00E0ticament amb lectors de pantalla, per a fer les expressions matem\u00E0tiques accessibles a aquells que tenen dificultats de visi\u00F3.", + Fonts: "*Fonts*: MathJax usa algunes fonts matem\u00E0tiques si estan instal\u00B7lades al vostre ordinador; si no les hi troba, usar\u00E0 fonts basades en la web. Encara que no \u00E9s necessari, si instal\u00B7leu les fonts localment, aix\u00F2i ajudar\u00E0 a qu\u00E8 la composici\u00F3 de la p\u00E0gina sigui m\u00E9s r\u00E0pida. Us suggerim que instal\u00B7leu les [fonts STIX](%1).", + CloseDialog: "Tanca el di\u00E0leg d'ajuda" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ca/MathML.js new file mode 100644 index 00000000..ca2086e8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ca/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ca/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Mglyph incorrecte: %1", + BadMglyphFont: "Font incorrecta: %1", + MathPlayer: "MathJax no ha pogut configurar MathPlayer.\n\nSi MathPlayer no est\u00E0 instal\u00B7lat, necessiteu instal\u00B7lar-lo pr\u00E8viament. Altrament, pot ser que la vostra configuraci\u00F3 de seguretat estigui blocant l'execuci\u00F3 de controls ActiveX. Useu el men\u00FA Opcions d'Internet dins el men\u00FA Eines i seleccioneu la pestanya Seguretat, i llavors premeu el bot\u00F3 Nivell Personalitzat. Assegureu-vos que les configuracions per 'Executar Controls ActiveX' i 'Comportaments binari i script' estan activades.\n\nDe moment veureu missatges d'error en comptes de f\u00F3rmules matem\u00E0tiques.", + CantCreateXMLParser: "MathJax no pot crear un analitzador XML per MathML. Comproveu que la configuraci\u00F3 de seguretat 'Controls de script ActiveX marcats segurs per scripting' est\u00E0 marcada (aneu a l'opci\u00F3 Opcions d'Internet dins el men\u00FA Eines, i seleccioneu el panell de Seguretat; despr\u00E9s, cliqueu el bot\u00F3 Nivell Personalitzat per activar aquesta configuraci\u00F3).\n\nLes equacions MathML no podran ser processades per MathJax", + UnknownNodeType: "Tipus de node desconegut: %1", + UnexpectedTextNode: "Node de text inesperat: %1", + ErrorParsingMathML: "Error d'an\u00E0lisi MathML", + ParsingError: "Error d'an\u00E0lisi MathML: %1", + MathMLSingleElement: "MathML ha d'estar format per un sol element", + MathMLRootElement: "MathML ha d'estar format per un element \u003Cmath\u003E, no per %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ca/MathMenu.js new file mode 100644 index 00000000..c52b15bd --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ca/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/ca/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Mostra f\u00F3rmules com a", + MathMLcode: "Codi MathML", + OriginalMathML: "MathML original", + TeXCommands: "Comands TeX", + AsciiMathInput: "Entrada de AsciiMathML", + Original: "Forma original", + ErrorMessage: "Missatge d'error", + Annotation: "Anotaci\u00F3", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Contingut MathML", + OpenMath: "OpenMath", + texHints: "Mostra ajudes TeX en MathML", + Settings: "Configuraci\u00F3 de MathML", + ZoomTrigger: "Control de zoom", + Hover: "Passar el ratol\u00ED per sobre", + Click: "Clic", + DoubleClick: "Doble-clic", + NoZoom: "Sense zoom", + TriggerRequires: "El control requereix:", + Option: "Opci\u00F3", + Alt: "Alt", + Command: "Comand", + Control: "Control", + Shift: "Maj\u00FAscules", + ZoomFactor: "Factor de zoom", + Renderer: "Processador de f\u00F3rmules", + MPHandles: "Permetre que MathPlayer controli:", + MenuEvents: "Events de men\u00FA", + MouseEvents: "Events de ratol\u00ED", + MenuAndMouse: "Events de ratol\u00ED i de men\u00FA", + FontPrefs: "Prefer\u00E8ncies de font", + ForHTMLCSS: "Per HTML-CSS:", + Auto: "Auto", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imatge)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Men\u00FA contextual", + Browser: "Navegador", + Scale: "Escalar totes les f\u00F3mules...", + Discoverable: "Iluminar quan el ratol\u00ED passi per sobre", + Locale: "Idioma", + LoadLocale: "Carrega des de l'URL...", + About: "Sobre MathJax", + Help: "Ajuda de MathJax", + localTeXfonts: "usar fonts TeX locals", + webTeXfonts: "usar font web TeX", + imagefonts: "usar fonts d'imatge", + localSTIXfonts: "usar fonts STIX locals", + webSVGfonts: "usar fonts SVG web", + genericfonts: "usar fonts gen\u00E8riques Unicode", + wofforotffonts: "fonts WOFF o OTF", + eotffonts: "fonts EOT", + svgfonts: "fonts SVG", + WebkitNativeMMLWarning: "Sembla que el vostre navegador no permet MathML de forma nativa; si canvieu a la visualitzaci\u00F3 MathML pot ser que les f\u00F3rmules de la p\u00E0gina no es puguin llegir correctament", + MSIENativeMMLWarning: "Internet Explorer requereix el plugin MathPlayer per processar el resultat de MathML", + OperaNativeMMLWarning: "El suport d'Opera per MathML \u00E9s limitat; si canvieu a la visualitzaci\u00F3 MathML pot ser que algunes expressions no es visualitzin correctament.", + SafariNativeMMLWarning: "El MathML del vostre navegador no implementa totes les caracter\u00EDstiques usades per MathJax; algunes expressions poden no visualitzar-se correctament.", + FirefoxNativeMMLWarning: "El MathML del vostre navegador no implementa totes les caracter\u00EDstiques usades per MathJax; algunes expressions poden no visualitzar-se correctament.", + MSIESVGWarning: "SVG no est\u00E0 implementat en Internet Explorer anterior a IE9 o quan est\u00E0 emulant IE8 o anterior. Si canvieu a visualitzaci\u00F3 SVG, les f\u00F3rmules no es visualitzaran correctament.", + LoadURL: "Carregar les dades de traducci\u00F3 d'aquesta URL:", + BadURL: "La URL ha de ser per un arxiu JavaScript que defineixi les dades de traducci\u00F3 per MathJax. Els noms d'arxius JavaScript han de finalitzar amb '.js'", + BadData: "No s'han pogut carregar les dades de traducci\u00F3 des de %1", + SwitchAnyway: "Canviar la visualitzaci\u00F3 de totes maneres?\n\n(Premeu Acceptar per canviar, Cancel\u00B7lar per continuar amb la visualitzaci\u00F3 actual)", + ScaleMath: "Escalar totes les f\u00F3rmules (en comparaci\u00F3 amb el text adjacent) per", + NonZeroScale: "L'escalat no pot ser zero", + PercentScale: "L'escalat ha de ser un percentatge (per exemple 120%%)", + IE8warning: "Aix\u00F2 desactivar\u00E0 les caracter\u00EDstiques de men\u00FA i zoom de MathJax, per\u00F2 podeu fer Alt-clic sobre una expressi\u00F3 per mostrar el men\u00FA MathJax.\n\nRealment voleu canviar la configuraci\u00F3 de MathPlayer?", + IE9warning: "El men\u00FA contextual de MathJax es desactivar\u00E0, per\u00F2 podeu fer Alt-clic sobre una expressi\u00F3 per mostrar el men\u00FA MathJax.", + NoOriginalForm: "No s'ha trobat cap forma original", + Close: "Tanca", + EqSource: "Codi font d'equaci\u00F3 MathJax", + CloseAboutDialog: "Tanca el di\u00E0leg de quant al MathJax", + FastPreview: "Vista pr\u00E8via r\u00E0pida", + AssistiveMML: "MathML auxiliar", + InTabOrder: "Inclou en l'ordre de pestanyes" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ca/TeX.js new file mode 100644 index 00000000..7df70ada --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ca/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/ca/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Sobra una clau d'apertura o falta una clau de tancament", + ExtraCloseMissingOpen: "Sobra una clau de tancament o falta una clau d'abertura", + MissingLeftExtraRight: "Falta \\left o sobra \\right", + MissingScript: "Falta argument de super\u00EDdex o sub\u00EDndex", + ExtraLeftMissingRight: "Sobra \\left o falta \\right", + Misplaced: "%1 col\u00B7locat err\u00F2niament", + MissingOpenForSub: "Falta clau d'abertura per sub\u00EDndex", + MissingOpenForSup: "Falta clau d'abertura per super\u00EDndex", + AmbiguousUseOf: "\u00DAs ambigu de %1", + EnvBadEnd: "\\begin{%1} finalitzat amb \\end{%2}", + EnvMissingEnd: "Falta \\end{%1}", + MissingBoxFor: "Falta caixa per %1", + MissingCloseBrace: "Falta clau de tancament", + UndefinedControlSequence: "Seq\u00FC\u00E8ncia de control no definida %1", + DoubleExponent: "Doble exponent: useu claus per aclarir", + DoubleSubscripts: "Dobre sub\u00EDndex: useu claus per aclarir", + DoubleExponentPrime: "El s\u00EDmbol \"prima\" causa doble exponent: useu claus per aclarir", + CantUseHash1: "No podeu fer servir 'el car\u00E0cter # com a par\u00E0metre de macro' en mode matem\u00E0tic", + MisplacedMiddle: "%1 ha d'estar entre \\left i \\right", + MisplacedLimits: "%1 nom\u00E9s es permet en operadors", + MisplacedMoveRoot: "%1 nom\u00E9s pot apar\u00E8ixer a dins d'una arrel", + MultipleCommand: "%1 m\u00FAltiples", + IntegerArg: "L'argument de %1 ha de ser enter", + NotMathMLToken: "%1 no \u00E9s un element de token", + InvalidMathMLAttr: "Atribut MathML inv\u00E0lid: %1", + UnknownAttrForElement: "%1 no \u00E9s un atribut v\u00E0lid per %2", + MaxMacroSub1: "S'ha sobrepassat el nombre m\u00E0xim de substitucions en una macro MathJax; hi ha una crida de macro recursiva?", + MaxMacroSub2: "El comptador m\u00E0xim de substitucions de MathJax s'ha sobrepassat; hi ha un entorn de LaTeX recursiu?", + MissingArgFor: "Falta argument per %1", + ExtraAlignTab: "Marca d'alineaci\u00F3 extra en text \\cases", + BracketMustBeDimension: "Argument de claud\u00E0tor per %1 ha de ser una dimensi\u00F3", + InvalidEnv: "Nom d'entorn inv\u00E0lid '%1'", + UnknownEnv: "Entorn desconegut '%1'", + ExtraCloseLooking: "Clau de tancament extra mentre es buscava %1", + MissingCloseBracket: "No s'ha pogut trobar ']' de tancament per argument de %1", + MissingOrUnrecognizedDelim: "Falta delimitador o delimitador no reconegut per %1", + MissingDimOrUnits: "Falta dimensi\u00F3 o unitats per %1", + TokenNotFoundForCommand: "No s'ha pogut trobar %1 per %2", + MathNotTerminated: "Expressi\u00F3 matem\u00E0tica no finalitzada en quadre de text", + IllegalMacroParam: "Refer\u00E8ncia il\u00B7legal a par\u00E0metre de macro", + MaxBufferSize: "S'ha sobrepassat la mida de la mem\u00F2ria interm\u00E8dia interna de MathJax; hi ha una crida de macro recursiva?", + CommandNotAllowedInEnv: "%1 no perm\u00E8s en entorn %2", + MultipleLabel: "Etiqueta '%1' definida m\u00E9s d'una veegada", + CommandAtTheBeginingOfLine: "%1 ha d'apar\u00E8ixer a l'inici de la l\u00EDnia", + IllegalAlign: "Alineaci\u00F3 especificiada no \u00E9s v\u00E0lida a %1", + BadMathStyleFor: "Estil de matem\u00E0tiques incorrecte per %1", + PositiveIntegerArg: "L'argument de %1 ha de ser un enter positiu", + ErroneousNestingEq: "Nidificaci\u00F3 incorrecta d'estructures d'equaci\u00F3", + MultlineRowsOneCol: "Les files dins l'entorn %1 han de tenir exactament una columna", + MultipleBBoxProperty: "%1 s'ha especificat dues vegades dins %2", + InvalidBBoxProperty: "'%1' no \u00E9s un color, una dimensi\u00F3 o un estil", + ExtraEndMissingBegin: "Sobra %1 o falta \\begingroup", + GlobalNotFollowedBy: "%1 no est\u00E0 seguit per \\let, \\def o \\newcommand", + UndefinedColorModel: "Model de color '%1' no definit", + ModelArg1: "Valors de color pel model %1 requereixen 3 n\u00FAmeros", + InvalidDecimalNumber: "N\u00FAmero decimal incorrecte", + ModelArg2: "Valors de color pel model %1 han d'estar entre %2 i %3", + InvalidNumber: "N\u00FAmero inv\u00E0lid", + NewextarrowArg1: "El primer argument per %1 ha de ser un nom de seq\u00FC\u00E8ncia de control", + NewextarrowArg2: "El segon argument per %1 ha de ser dos enters separats per una coma", + NewextarrowArg3: "El tercer argument per %1 ha de ser un n\u00FAmero de car\u00E0cter Unicode", + NoClosingChar: "No s'ha trobat el %1 de tancament", + IllegalControlSequenceName: "Nom de seq\u00FC\u00E8ncia de control incorrecta per %1", + IllegalParamNumber: "S'ha especificat un nombre incorrecte de par\u00E0metres dins %1", + MissingCS: "%1 ha de ser seguit per una seq\u00FC\u00E8ncia de control", + CantUseHash2: "\u00DAs incorrecte de # en plantilla per %1", + SequentialParam: "Els par\u00E0metres per %1 s'han de numerar seq\u00FCencialment", + MissingReplacementString: "Falta cadena de substituci\u00F3 a la definici\u00F3 de %1", + MismatchUseDef: "L'\u00FAs de %1 no concorda amb la seva definici\u00F3", + RunawayArgument: "Argument fora de control per %1?", + NoClosingDelim: "No s'ha trobar el delimitador de tancament per %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ca/ca.js b/src/py/kaleido/vendor/mathjax/localization/ca/ca.js new file mode 100644 index 00000000..a05ab99d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ca/ca.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/ca/ca.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ca",null,{ + menuTitle: "catal\u00E0", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax ha trobat una galeta de configuraci\u00F3 d'usuari que inclou codi que s'ha d'executar. Voleu executar-lo?", + MathProcessingError: "Error en processament d'expressi\u00F3 matem\u00E0tica", + MathError: "Error d'expressi\u00F3 matem\u00E0tica", + LoadFile: "Carregant %1", + Loading: "Carregant", + LoadFailed: "No s'ha pogut carregar el fitxer: %1", + ProcessMath: "Processant expressi\u00F3: %1%%", + Processing: "Processant", + TypesetMath: "Formatejant expressi\u00F3: %1%%", + Typesetting: "Formatejant", + MathJaxNotSupported: "El vostre navegador no suporta MathJax", + ErrorTips: "Consells de depuraci\u00F3: utilitzeu %%1, inspeccioneu %%2 a la consola del navegador" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ca/ca.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/cdo/FontWarnings.js new file mode 100644 index 00000000..8bf7f22a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cdo/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/cdo/HTML-CSS.js new file mode 100644 index 00000000..8a6b9c3f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cdo/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/cdo/HelpDialog.js new file mode 100644 index 00000000..628b0b11 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cdo/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/MathML.js b/src/py/kaleido/vendor/mathjax/localization/cdo/MathML.js new file mode 100644 index 00000000..24031546 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cdo/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/cdo/MathMenu.js new file mode 100644 index 00000000..627e456c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cdo/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/TeX.js b/src/py/kaleido/vendor/mathjax/localization/cdo/TeX.js new file mode 100644 index 00000000..a09d6130 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cdo/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cdo/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cdo/cdo.js b/src/py/kaleido/vendor/mathjax/localization/cdo/cdo.js new file mode 100644 index 00000000..cb20c708 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cdo/cdo.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/cdo/cdo.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cdo",null,{ + menuTitle: "M\u00ECng-d\u0115\u0324ng-ng\u1E73\u0304", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax\u5DF2\u7D93\u8A0E\u8457\u5305\u62EC\u6703\u904B\u884C\u5176\u4EE3\u78BC\u5176\u7528\u6236\u914D\u7F6Ecookie\u3002\u6C5D\u6709\u60F3\u904B\u884C\u7121\uFF1F\n\n\uFF08\u9664\u958B\u9019\u78BA\u5BE6\u662F\u6C5D\u81EA\u5BB6\u7279\u610F\u8A2D\u5176cookie\uFF0C\u82E5\u7121\u6C5D\u8457\u9EDE\u53D6\u6D88\u3002\uFF09", + MathProcessingError: "\u6578\u5B78\u8655\u7406\u932F\u8AA4", + MathError: "\u6578\u5B78\u932F\u8AA4", + LoadFile: "\u8F09\u5165%1", + Loading: "\u8F09\u5165", + LoadFailed: "\u6587\u4EF6\u8F09\u5165\u5931\u6557\uFF1A%1", + ProcessMath: "\u8655\u7406\u6578\u5B78\uFF1A%1%%", + Processing: "\u6546\uD844\uDD4F\u8655\u7406", + TypesetMath: "\u6392\u7248\u6578\u5B78\uFF1A%1%%", + Typesetting: "\u6546\uD844\uDD4F\u6392\u7248", + MathJaxNotSupported: "\u6C5D\u5176\u700F\u89BD\u5668\uD84C\uDF50\u652F\u6301MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cdo/cdo.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ce/FontWarnings.js new file mode 100644 index 00000000..adc4fb26 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ce/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ce/HTML-CSS.js new file mode 100644 index 00000000..fd0bd822 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ce/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ce/HelpDialog.js new file mode 100644 index 00000000..7c0b6c0c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ce/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ce/MathML.js new file mode 100644 index 00000000..faf7d3a7 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ce/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ce/MathMenu.js new file mode 100644 index 00000000..98c70e8e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ce/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ce/TeX.js new file mode 100644 index 00000000..82ce4dc3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ce/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ce/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ce/ce.js b/src/py/kaleido/vendor/mathjax/localization/ce/ce.js new file mode 100644 index 00000000..64d91785 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ce/ce.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/ce/ce.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ce",null,{ + menuTitle: "\u041D\u043E\u0445\u0447\u0438\u0439\u043D \u043C\u043E\u0442\u0442", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438\u043D \u043A\u0435\u0447\u0434\u0430\u0440\u0430\u043D \u0433\u04C0\u0430\u043B\u0430\u0442", + MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438\u043D \u0433\u04C0\u0430\u043B\u0430\u0442", + LoadFile: "\u0427\u0443\u0439\u043E\u043B\u0443\u0448 %1", + Loading: "\u0427\u0443\u0439\u043E\u043B\u0443\u0448", + LoadFailed: "\u0427\u0443\u044F\u043A\u043A\u0445\u0430 \u0446\u0430\u0435\u043B\u0438\u0440\u0430: %1", + ProcessMath: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 \u043A\u0435\u0447\u044F\u0440: %1%%", + Processing: "\u041A\u0435\u0447\u0434\u0430\u0440" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && n % 100 !== 11) return 1; // one + if (2 <= n % 10 && n % 10 <= 4 && 12 <= n % 100 && n % 100 <= 14) return 2; // few + if (n % 10 === 0 || (5 <= n % 10 && n % 10 <= 9) || + (11 <= n % 100 && n % 100 <= 14)) return 2; // many + return 3; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ce/ce.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/cs/FontWarnings.js new file mode 100644 index 00000000..25876646 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cs/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/cs/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax pou\u017E\u00EDv\u00E1 k zobrazen\u00ED matematiky na t\u00E9to str\u00E1nce webov\u00E1 p\u00EDsma. T\u011Bm trv\u00E1 sta\u017Een\u00ED n\u011Bjakou dobu, tak\u017Ee str\u00E1nka by se vykreslila rychleji, pokud byste si tato matematick\u00E1 p\u00EDsma nainstalovali p\u0159\u00EDmo do syst\u00E9mov\u00E9 slo\u017Eky p\u00EDsem.", + imageFonts: "MathJax pou\u017E\u00EDv\u00E1 m\u00EDsto m\u00EDstn\u00EDch nebo webov\u00FDch p\u00EDsem obr\u00E1zkov\u00E9 p\u00EDsmo. Proto bude vykreslov\u00E1n\u00ED pomalej\u0161\u00ED, ne\u017E je obvykl\u00E9, a p\u0159i tisku na Va\u0161\u00ED tisk\u00E1rn\u011B mo\u017En\u00E1 nebude matematika vykreslena na nejlep\u0161\u00ED rozli\u0161en\u00ED.", + noFonts: "MathJax nedok\u00E1\u017Ee naj\u00EDt p\u00EDsmo, kter\u00FDm by vykreslil matematiku, a obr\u00E1zkov\u00E1 p\u00EDsma nejsou k dispozici, tak\u017Ee se uch\u00FDl\u00ED k b\u011B\u017En\u00FDm znak\u016Fm Unicode v nad\u011Bji, \u017Ee je v\u00E1\u0161 prohl\u00ED\u017Ee\u010D dok\u00E1\u017Ee zobrazit. N\u011Bkter\u00E9 znaky se mo\u017En\u00E1 nezobraz\u00ED spr\u00E1vn\u011B, nebo dokonce v\u016Fbec.", + webFonts: "V\u011Bt\u0161ina modern\u00EDch prohl\u00ED\u017Ee\u010D\u016F umo\u017E\u0148uje sta\u017Een\u00ED p\u00EDsem p\u0159es web. Aktualizace na nov\u011Bj\u0161\u00ED verzi prohl\u00ED\u017Ee\u010De (nebo zm\u011Bna prohl\u00ED\u017Ee\u010De) by mohla zlep\u0161it zobrazen\u00ED matematiky na t\u00E9to str\u00E1nce.", + fonts: "MathJax m\u016F\u017Ee pou\u017E\u00EDvat bu\u010F [p\u00EDsma STIX](%1) nebo [MathJaxov\u00E1 TeXov\u00E1 p\u00EDsma](%2). St\u00E1hn\u011Bte a nainstalujte si jedny z nich, abyste si MathJax u\u017Eili l\u00E9pe.", + STIXPage: "Tato str\u00E1nka je vytvo\u0159ena pro pou\u017Eit\u00ED s [p\u00EDsmy STIX](%1). St\u00E1hn\u011Bte a nainstalujte si tato p\u00EDsma, abyste si l\u00E9pe u\u017Eili MathJax.", + TeXPage: "Tato str\u00E1nka je vytvo\u0159ena pro pou\u017Eit\u00ED s [MathJaxov\u00FDmi TeXov\u00FDmi p\u00EDsmy](%1). Pro lep\u0161\u00ED vyu\u017E\u00EDv\u00E1n\u00ED MathJaxu si st\u00E1hn\u011Bte a nainstalujte tato p\u00EDsma." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/cs/HTML-CSS.js new file mode 100644 index 00000000..acf7bf50 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cs/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/cs/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Na\u010D\u00EDt\u00E1 se web-font %1", + CantLoadWebFont: "Nelze na\u010D\u00EDst web-font %1", + FirefoxCantLoadWebFont: "Firefox nem\u016F\u017Ee na\u010D\u00EDtat web-fonty ze vzd\u00E1len\u00E9ho hostitele", + CantFindFontUsing: "Nelze naj\u00EDt platn\u00FD font pomoc\u00ED %1", + WebFontsNotAvailable: "Webov\u00E9 fonty nejsou k dispozici. M\u00EDsto toho jsou pou\u017Eity obr\u00E1zkov\u00E9 fonty." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/cs/HelpDialog.js new file mode 100644 index 00000000..5b3d75f6 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cs/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/cs/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "N\u00E1pov\u011Bda k MathJaxu", + MathJax: "*MathJax* je JavaScriptov\u00E1 knihovna, kter\u00E1 autor\u016Fm str\u00E1nek umo\u017E\u0148uje zahrnout do str\u00E1nek matematiku. Jako \u010Dten\u00E1\u0159 se nemus\u00EDte o nic starat.", + Browsers: "*Prohl\u00ED\u017Ee\u010De*: MathJax pracuje na v\u0161ech modern\u00EDch prohl\u00ED\u017Ee\u010D\u00EDch v\u010Detn\u011B IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ a v\u011Bt\u0161in\u011B mobiln\u00EDch prohl\u00ED\u017Ee\u010D\u016F.", + Menu: "*Matematick\u00E9 menu*: MathJax p\u0159id\u00E1v\u00E1 k rovnic\u00EDm kontextov\u00E9 menu. Pro zobrazen\u00ED menu klikn\u011Bte prav\u00FDm tla\u010D\u00EDtkem my\u0161i nebo s podr\u017Een\u00EDm kl\u00E1vesy Ctrl na jakoukoli matematiku.", + ShowMath: "*Zobrazit matematiku jako* v\u00E1m umo\u017En\u00ED prohl\u00E9dnout si zdrojov\u00FD k\u00F3d vzorce pro okop\u00EDrov\u00E1n\u00ED (jako MathML nebo v p\u016Fvodn\u00EDm form\u00E1tu).", + Settings: "*Nastaven\u00ED* v\u00E1m umo\u017E\u0148uj\u00ED p\u0159izp\u016Fsobit si n\u011Bkter\u00E9 funkce MathJaxu, jako jsou velikost matematiky \u010Di mechanismy pou\u017E\u00EDvan\u00E9 k zobrazov\u00E1n\u00ED rovnic.", + Language: "*Jazyk* v\u00E1m umo\u017En\u00ED zvolit si jazyk pou\u017E\u00EDvan\u00FD MathJaxem pro menu a chybov\u00E1 hl\u00E1\u0161en\u00ED.", + Zoom: "*Matematick\u00FD zoom*: Pokud v\u00E1m d\u011Bl\u00E1 probl\u00E9my \u010Dten\u00ED rovnice, Mathjax v\u00E1m umo\u017En\u00ED ji zv\u011Bt\u0161it, abyste ji l\u00E9pe vid\u011Bli.", + Accessibilty: "*P\u0159\u00EDstupnost*: MathJax automaticky funguje s \u010Dte\u010Dkami obrazovky, aby matematiku zp\u0159\u00EDstupnil zrakov\u011B posti\u017Een\u00FDm.", + Fonts: "*P\u00EDsma*: MathJax bude pou\u017E\u00EDvat jist\u00E1 matematick\u00E1 p\u00EDsma, pokud je m\u00E1te na po\u010D\u00EDta\u010Di nainstalovan\u00E9; v opa\u010Dn\u00E9m p\u0159\u00EDpad\u011B pou\u017Eije p\u00EDsma webov\u00E1. P\u0159esto\u017Ee to nen\u00ED nutn\u00E9, lok\u00E1ln\u011B nainstalovan\u00E1 p\u00EDsma urychl\u00ED sazbu. Doporu\u010Dujeme nainstalovat [p\u00EDsma STIX](%1).", + CloseDialog: "Zav\u0159\u00EDt okno s n\u00E1pov\u011Bdou" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/MathML.js b/src/py/kaleido/vendor/mathjax/localization/cs/MathML.js new file mode 100644 index 00000000..53eb8a15 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cs/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/cs/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Chybn\u00FD mglyph: %1", + BadMglyphFont: "\u0160patn\u00E9 p\u00EDsmo: %1", + MathPlayer: "MathJax nedok\u00E1zal spustit MathPlayer.\n\nPokud nen\u00ED MathPlayer nainstalov\u00E1n, budete ho muset nejprve nainstalovat.\nJinak mo\u017En\u00E1 spu\u0161t\u011Bn\u00ED ovl\u00E1dac\u00EDch prvk\u016F ActiveX br\u00E1n\u00ED va\u0161e bezpe\u010Dnostn\u00ED\nnastaven\u00ED. Klikn\u011Bte v nab\u00EDdce N\u00E1stroje na polo\u017Eku Mo\u017Enosti Internetu,\nvyberte z\u00E1lo\u017Eku Zabezpe\u010Den\u00ED a klikn\u011Bte na tla\u010D\u00EDtko Vlastn\u00ED \u00FArove\u0148.\nZkontrolujte, \u017Ee jsou povolen\u00E9 mo\u017Enosti \u201ESpou\u0161t\u011Bt ovl\u00E1dac\u00ED prvky ActiveX\u201C\na \u201EChov\u00E1n\u00ED skript\u016F a bin\u00E1rn\u00EDch soubor\u016F\u201C.\n\nMoment\u00E1ln\u011B uvid\u00EDte m\u00EDsto vys\u00E1zen\u00E9 matematiky chybov\u00E1 hl\u00E1\u0161en\u00ED.", + CantCreateXMLParser: "MathJax nem\u016F\u017Ee vytvo\u0159it syntaktick\u00FD analyz\u00E1tor XML pro MathML.\nZkontrolujte,\u017Ee m\u00E1te povolen\u00E9 nastaven\u00ED \u201ESkriptovat ovl\u00E1dac\u00ED\nprvky ActiveX ozna\u010Den\u00E9 jako bezpe\u010Dn\u00E9\u201C (v nab\u00EDdce N\u00E1stroje\nklikn\u011Bte na polo\u017Eku Mo\u017Enosti Internetu, vyberte z\u00E1lo\u017Eku\nZabezpe\u010Den\u00ED a klikn\u011Bte na tla\u010D\u00EDtko Vlastn\u00ED \u00FArove\u0148).\n\nMathJax nebude moci zpracov\u00E1vat rovnice v MathML", + UnknownNodeType: "Nezn\u00E1m\u00FD typ uzlu: %1", + UnexpectedTextNode: "Neo\u010Dek\u00E1van\u00FD textov\u00FD uzel: %1", + ErrorParsingMathML: "Chyba p\u0159i anal\u00FDze MathML", + ParsingError: "Chyba p\u0159i anal\u00FDze MathML: %1", + MathMLSingleElement: "MathML mus\u00ED b\u00FDt tvo\u0159eno jedin\u00FDm elementem", + MathMLRootElement: "MathML mus\u00ED b\u00FDt tvo\u0159eno elementem \u003Cmath\u003E, nikoli %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/cs/MathMenu.js new file mode 100644 index 00000000..7f5c999d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cs/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/cs/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Zobrazit matematiku jako", + MathMLcode: "K\u00F3d MathML", + OriginalMathML: "P\u016Fvodn\u00ED MathML", + TeXCommands: "P\u0159\u00EDkazy TeXu", + AsciiMathInput: "Vstup AsciiMathML", + Original: "P\u016Fvodn\u00ED podoba", + ErrorMessage: "Chybov\u00E9 hl\u00E1\u0161en\u00ED", + Annotation: "Anotace", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "V\u00FDznamov\u00E9 MathML", + OpenMath: "OpenMath", + texHints: "Zobrazovat v MathML n\u00E1pov\u011Bdy TeXu", + Settings: "Nastaven\u00ED matematiky", + ZoomTrigger: "Aktivace zoomu", + Hover: "Najet\u00EDm my\u0161\u00ED", + Click: "Kliknut\u00EDm", + DoubleClick: "Dvojklikem", + NoZoom: "Bez zoomu", + TriggerRequires: "Aktivace vy\u017Eaduje:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "M\u00EDra zoomu", + Renderer: "Vykreslov\u00E1n\u00ED matematiky", + MPHandles: "MathPlayer m\u00E1 zpracov\u00E1vat:", + MenuEvents: "Ud\u00E1losti menu", + MouseEvents: "Ud\u00E1losti my\u0161i", + MenuAndMouse: "Ud\u00E1losti my\u0161i a menu", + FontPrefs: "Nastaven\u00ED p\u00EDsem", + ForHTMLCSS: "U HTML-CSS:", + Auto: "Automaticky", + TeXLocal: "TeX (lok\u00E1ln\u00ED)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (obr\u00E1zek)", + STIXLocal: "STIX (lok\u00E1ln\u00ED)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Kontextov\u00E9 menu", + Browser: "Prohl\u00ED\u017Ee\u010D", + Scale: "M\u011B\u0159\u00EDtko pro ve\u0161kerou matematiku\u2026", + Discoverable: "Zv\u00FDraznit p\u0159i najet\u00ED my\u0161\u00ED", + Locale: "Jazyk", + LoadLocale: "Na\u010D\u00EDst z URL\u2026", + About: "O MathJaxu", + Help: "N\u00E1pov\u011Bda k MathJaxu", + localTeXfonts: "pou\u017E\u00EDvaj\u00ED se lok\u00E1ln\u00ED p\u00EDsma TeXu", + webTeXfonts: "pou\u017E\u00EDvaj\u00ED se webov\u00E1 p\u00EDsma TeXu", + imagefonts: "pou\u017E\u00EDvaj\u00ED se obr\u00E1zkov\u00E1 p\u00EDsma", + localSTIXfonts: "pou\u017E\u00EDvaj\u00ED se lok\u00E1ln\u00ED p\u00EDsma STIX", + webSVGfonts: "pou\u017E\u00EDvaj\u00ED se webov\u00E1 SVG p\u00EDsma", + genericfonts: "pou\u017E\u00EDvaj\u00ED se generick\u00E1 unicodov\u00E1 p\u00EDsma", + wofforotffonts: "p\u00EDsma woff nebo otf", + eotffonts: "p\u00EDsma eot", + svgfonts: "p\u00EDsma svg", + WebkitNativeMMLWarning: "V\u00E1\u0161 prohl\u00ED\u017Ee\u010D patrn\u011B nepodporuje MathML, tak\u017Ee p\u0159epnut\u00ED na MathML v\u00FDstup m\u016F\u017Ee zp\u016Fsobit, \u017Ee bude matematika na t\u00E9to str\u00E1nce ne\u010Diteln\u00E1.", + MSIENativeMMLWarning: "Ke zpracov\u00E1n\u00ED MathML v\u00FDstupu pot\u0159ebuje Internet Explorer z\u00E1suvn\u00FD modul MathPlayer.", + OperaNativeMMLWarning: "Podpora MathML v Ope\u0159e je omezen\u00E1, tak\u017Ee p\u0159epnut\u00ED na MathML v\u00FDstup m\u016F\u017Ee zp\u016Fsobit, \u017Ee se n\u011Bkter\u00E9 v\u00FDrazy budou vykreslovat \u0161patn\u011B.", + SafariNativeMMLWarning: "Vestav\u011Bn\u00E1 podpora MathML ve va\u0161em prohl\u00ED\u017Ee\u010Di neobsahuje v\u0161echny funkce pou\u017E\u00EDvan\u00E9 MathJaxem, tak\u017Ee se n\u011Bkter\u00E9 v\u00FDrazy mohou vykreslit chybn\u011B.", + FirefoxNativeMMLWarning: "Vestav\u011Bn\u00E1 podpora MathML ve va\u0161em prohl\u00ED\u017Ee\u010Di neobsahuje v\u0161echny funkce pou\u017E\u00EDvan\u00E9 MathJaxem, tak\u017Ee se n\u011Bkter\u00E9 v\u00FDrazy mohou vykreslit chybn\u011B.", + MSIESVGWarning: "Internet Explorer ve verzi star\u0161\u00ED ne\u017E IE9 nebo v re\u017Eimu emulace IE8 a star\u0161\u00ED nepodporuje SVG. P\u0159epnut\u00ED na SVG v\u00FDstup zp\u016Fsob\u00ED, \u017Ee se matematika nebude zobrazovat spr\u00E1vn\u011B.", + LoadURL: "Na\u010D\u00EDst p\u0159eklad z URL:", + BadURL: "URL by m\u011Blo v\u00E9st na JavaScriptov\u00FD soubor, kter\u00FD definuje data p\u0159ekladu MathJaxu. N\u00E1zvy JavaScriptov\u00FDch soubor\u016F by m\u011Bly kon\u010Dit \u201E.js\u201C.", + BadData: "Nepoda\u0159ilo se na\u010D\u00EDst data p\u0159ekladu z %1", + SwitchAnyway: "Chcete p\u0159esto p\u0159epnout vykreslov\u00E1n\u00ED?\n\n(Stiskn\u011Bte OK pro p\u0159epnut\u00ED, STORNO pro pokra\u010Dov\u00E1n\u00ED se st\u00E1vaj\u00EDc\u00EDm vykreslov\u00E1n\u00EDm.)", + ScaleMath: "Ve\u0161kerou matematiku zobrazovat v m\u011B\u0159\u00EDtku (v porovn\u00E1n\u00ED s okoln\u00EDm textem)", + NonZeroScale: "M\u011B\u0159\u00EDtko nem\u016F\u017Ee b\u00FDt nulov\u00E9", + PercentScale: "M\u011B\u0159\u00EDtko by m\u011Blo b\u00FDt v procentech (nap\u0159\u00EDklad 120 %%)", + IE8warning: "T\u00EDmto vypnete funkce MathJaxu pro zobrazen\u00ED menu a zv\u011Bt\u0161ov\u00E1n\u00ED, ale menu MathJaxu si budete moci zobrazit pomoc\u00ED Alt+kliknut\u00ED na rovnici.\n\nOpravdu zm\u011Bnit nastaven\u00ED MathPlayeru?", + IE9warning: "T\u00EDmto vypnete kontextov\u00E9 menu MathJaxu, ale budete si ho moci zobrazit pomoc\u00ED Alt+kliknut\u00ED na rovnici.", + NoOriginalForm: "P\u016Fvodn\u00ED podoba nen\u00ED dostupn\u00E1", + Close: "Zav\u0159\u00EDt", + EqSource: "Zdroj rovnice MathJax", + CloseAboutDialog: "Zav\u0159\u00EDt okno o MathJaxu", + FastPreview: "Rychl\u00FD n\u00E1hled", + AssistiveMML: "Asistivn\u00ED MathML", + InTabOrder: "Za\u0159adit do posloupnosti tabul\u00E1toru" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/TeX.js b/src/py/kaleido/vendor/mathjax/localization/cs/TeX.js new file mode 100644 index 00000000..eb19ac1e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cs/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/cs/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "P\u0159eb\u00FDvaj\u00EDc\u00ED otv\u00EDrac\u00ED nebo chyb\u011Bj\u00EDc\u00ED zav\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", + ExtraCloseMissingOpen: "P\u0159eb\u00FDvaj\u00EDc\u00ED zav\u00EDrac\u00ED nebo chyb\u011Bj\u00EDc\u00ED otv\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", + MissingLeftExtraRight: "Chyb\u011Bj\u00EDc\u00ED \\left nebo p\u0159eb\u00FDvaj\u00EDc\u00ED \\right", + MissingScript: "Chyb\u00ED argument horn\u00EDho nebo doln\u00EDho indexu", + ExtraLeftMissingRight: "P\u0159eb\u00FDvaj\u00EDc\u00ED \\left nebo chyb\u011Bj\u00EDc\u00ED \\right", + Misplaced: "Chybn\u011B um\u00EDst\u011Bn\u00FD %1", + MissingOpenForSub: "U doln\u00EDho indexu chyb\u00ED otv\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", + MissingOpenForSup: "U horn\u00EDho indexu chyb\u00ED otv\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", + AmbiguousUseOf: "Nejednozna\u010Dn\u00E9 u\u017Eit\u00ED %1", + EnvBadEnd: "\\begin{%1} bylo uzav\u0159eno \\end{%2}", + EnvMissingEnd: "Chyb\u011Bj\u00EDc\u00ED \\end{%1}", + MissingBoxFor: "Chyb\u00ED box pro %1", + MissingCloseBrace: "Chyb\u00ED zav\u00EDrac\u00ED slo\u017Een\u00E1 z\u00E1vorka", + UndefinedControlSequence: "Nedefinovan\u00E1 \u0159\u00EDdic\u00ED sekvence %1", + DoubleExponent: "Dvojit\u00FD exponent: pro vyjasn\u011Bn\u00ED pou\u017Eijte slo\u017Een\u00E9 z\u00E1vorky", + DoubleSubscripts: "Dvojit\u00FD doln\u00ED index: pro vyjasn\u011Bn\u00ED pou\u017Eijte slo\u017Een\u00E9 z\u00E1vorky", + DoubleExponentPrime: "Symbol \u010D\u00E1rky zp\u016Fsobil dvojit\u00FD exponent: pro vyjasn\u011Bn\u00ED pou\u017Eijte slo\u017Een\u00E9 z\u00E1vorky", + CantUseHash1: "V matematick\u00E9m re\u017Eimu nem\u016F\u017Eete pou\u017E\u00EDt znak \u201E#\u201C pro parametry maker", + MisplacedMiddle: "%1 mus\u00ED b\u00FDt uvnit\u0159 \\left a \\right", + MisplacedLimits: "%1 je dovoleno pouze u oper\u00E1tor\u016F", + MisplacedMoveRoot: "%1 se m\u016F\u017Ee vyskytnout pouze v ko\u0159eni", + MultipleCommand: "V\u00EDcen\u00E1sobn\u00FD %1", + IntegerArg: "Argumentem %1 mus\u00ED b\u00FDt cel\u00E9 \u010D\u00EDslo", + NotMathMLToken: "%1 nen\u00ED primitivn\u00ED element", + InvalidMathMLAttr: "Neplatn\u00FD atribut MathML: %1", + UnknownAttrForElement: "%1 nen\u00ED zn\u00E1m\u00FD atribut %2", + MaxMacroSub1: "P\u0159ekro\u010Den maxim\u00E1ln\u00ED po\u010Det substituc\u00ED makra MathJaxu; nen\u00ED tam rekurzivn\u00ED vol\u00E1n\u00ED makra?", + MaxMacroSub2: "P\u0159ekro\u010Den maxim\u00E1ln\u00ED po\u010Det substituc\u00ED MathJaxu; nen\u00ED tam rekurzivn\u00ED LaTexov\u00E9 prost\u0159ed\u00ED?", + MissingArgFor: "Chyb\u00ED argument pro %1", + ExtraAlignTab: "P\u0159ebyte\u010Dn\u00FD zarovn\u00E1vac\u00ED tabul\u00E1tor v textu \\cases", + BracketMustBeDimension: "Z\u00E1vorkov\u00FD argument u %1 mus\u00ED b\u00FDt rozm\u011Br", + InvalidEnv: "Neplatn\u00E9 jm\u00E9no prost\u0159ed\u00ED \u201E%1\u201C", + UnknownEnv: "Nezn\u00E1m\u00E9 prost\u0159ed\u00ED \u201E%1\u201C", + ExtraCloseLooking: "P\u0159ebyte\u010Dn\u00E1 zav\u00EDrac\u00ED hranat\u00E1 z\u00E1vorka, zat\u00EDmco bylo o\u010Dek\u00E1v\u00E1no %1", + MissingCloseBracket: "U argumentu %1 nebyla nalezena zav\u00EDrac\u00ED \u201E]\u201C", + MissingOrUnrecognizedDelim: "Chyb\u011Bj\u00EDc\u00ED nebo nerozpoznan\u00FD odd\u011Blova\u010D u %1", + MissingDimOrUnits: "U %1 chyb\u00ED rozm\u011Br nebo jeho jednotka", + TokenNotFoundForCommand: "Nenalezeno %1 k %2", + MathNotTerminated: "V textov\u00E9m boxu nen\u00ED ukon\u010Dena matematika", + IllegalMacroParam: "Neplatn\u00FD odkaz na parametr makra", + MaxBufferSize: "P\u0159ekro\u010Dena velikost intern\u00ED pam\u011Bti MathJaxu; nen\u00ED tam rekurzivn\u00ED vol\u00E1n\u00ED makra?", + CommandNotAllowedInEnv: "V prost\u0159ed\u00ED %2 nen\u00ED dovolen %1", + MultipleLabel: "V\u00EDcen\u00E1sobn\u00E1 definice n\u00E1v\u011Bst\u00ED %1", + CommandAtTheBeginingOfLine: "%1 mus\u00ED b\u00FDt um\u00EDst\u011Bno na za\u010D\u00E1tku \u0159\u00E1dky", + IllegalAlign: "U %1 uvedeno neplatn\u00E9 zarovn\u00E1n\u00ED", + BadMathStyleFor: "Chybn\u00FD styl matematiky u %1", + PositiveIntegerArg: "Argumentem %1 mus\u00ED b\u00FDt kladn\u00E9 cel\u00E9 \u010D\u00EDslo", + ErroneousNestingEq: "Chybn\u00E9 zano\u0159ov\u00E1n\u00ED struktury rovnic", + MultlineRowsOneCol: "\u0158\u00E1dky v prost\u0159ed\u00ED %1 mus\u00ED m\u00EDt pr\u00E1v\u011B jeden sloupec", + MultipleBBoxProperty: "U %2 je %1 uvedeno dvakr\u00E1t", + InvalidBBoxProperty: "\u201E%1\u201C nevypad\u00E1 jako barva, rozm\u011Br paddingu nebo styl", + ExtraEndMissingBegin: "P\u0159eb\u00FDvaj\u00EDc\u00ED %1 nebo chyb\u011Bj\u00EDc\u00ED \\begingroup", + GlobalNotFollowedBy: "Za %1 chyb\u00ED \\let, \\def nebo \\newcommand", + UndefinedColorModel: "Barevn\u00FD model \u201E%1\u201C nen\u00ED definov\u00E1n", + ModelArg1: "Barevn\u00E9 hodnoty modelu %1 vy\u017Eaduj\u00ED t\u0159i \u010D\u00EDsla", + InvalidDecimalNumber: "Neplatn\u00E9 desetinn\u00E9 \u010D\u00EDslo", + ModelArg2: "Barevn\u00E9 hodnoty modelu %1 mus\u00ED le\u017Eet mezi %2 a %3", + InvalidNumber: "Neplatn\u00E9 \u010D\u00EDslo", + NewextarrowArg1: "Prvn\u00EDm argumentem %1 mus\u00ED b\u00FDt n\u00E1zev \u0159\u00EDdic\u00ED sekvence", + NewextarrowArg2: "Druh\u00FDm argumentem %1 mus\u00ED b\u00FDt dv\u011B cel\u00E1 \u010D\u00EDsla odd\u011Blen\u00E1 \u010D\u00E1rkou", + NewextarrowArg3: "T\u0159et\u00EDm argumentem %1 mus\u00ED b\u00FDt \u010D\u00EDslo znaku Unicode", + NoClosingChar: "Nelze naj\u00EDt zav\u00EDrac\u00ED %1", + IllegalControlSequenceName: "Neplatn\u00FD n\u00E1zev \u0159\u00EDdic\u00ED sekvence u %1", + IllegalParamNumber: "U %1 uveden neplatn\u00FD po\u010Det parametr\u016F", + MissingCS: "Za %1 mus\u00ED b\u00FDt \u0159\u00EDdic\u00ED sekvence", + CantUseHash2: "Chybn\u00E9 u\u017Eit\u00ED # v \u0161ablon\u011B pro %1", + SequentialParam: "Parametry %1 mus\u00ED b\u00FDt \u010D\u00EDslov\u00E1ny postupn\u011B", + MissingReplacementString: "V definici %1 chyb\u00ED nahrazuj\u00EDc\u00ED \u0159et\u011Bzec", + MismatchUseDef: "Pou\u017Eit\u00ED %1 neodpov\u00EDd\u00E1 jeho definici", + RunawayArgument: "Zbloudil\u00FD argument u %1?", + NoClosingDelim: "Nenalezen ukon\u010Dovac\u00ED znak u %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cs/cs.js b/src/py/kaleido/vendor/mathjax/localization/cs/cs.js new file mode 100644 index 00000000..96b838a8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cs/cs.js @@ -0,0 +1,60 @@ +/************************************************************* + * + * MathJax/localization/cs/cs.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cs",null,{ + menuTitle: "\u010De\u0161tina", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax nalezl cookie u\u017Eivatelsk\u00E9 konfigurace obsahuj\u00EDc\u00ED spustiteln\u00FD k\u00F3d. Chcete ho spustit?\n\n(Pokud jste cookie nenastavili sami, m\u011Bli byste stisknout Storno.)", + MathProcessingError: "Chyba zpracov\u00E1n\u00ED matematiky", + MathError: "Chyba matematiky", + LoadFile: "Na\u010D\u00EDt\u00E1 se %1", + Loading: "Na\u010D\u00EDt\u00E1 se", + LoadFailed: "Nepoda\u0159ilo se na\u010D\u00EDst soubor: %1", + ProcessMath: "Zpracov\u00E1v\u00E1 se matematika: %1 %%", + Processing: "Zpracov\u00E1v\u00E1 se", + TypesetMath: "S\u00E1z\u00ED se matematika: %1 %%", + Typesetting: "S\u00E1z\u00ED se", + MathJaxNotSupported: "V\u00E1\u0161 prohl\u00ED\u017Ee\u010D nepodporuje MathJax", + ErrorTips: "Tipy pro lad\u011Bn\u00ED: pou\u017Eijte %%1, prozkoumejte %%2 v konzoli prohl\u00ED\u017Ee\u010De" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + if (n === 2 || n === 3 || n === 4) {return 2} // two--four + return 3; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cs/cs.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/cy/FontWarnings.js new file mode 100644 index 00000000..61f83696 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cy/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/cy/HTML-CSS.js new file mode 100644 index 00000000..5d4b4c4a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cy/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/cy/HelpDialog.js new file mode 100644 index 00000000..2b4a6264 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cy/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/MathML.js b/src/py/kaleido/vendor/mathjax/localization/cy/MathML.js new file mode 100644 index 00000000..cacd64dd --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cy/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/cy/MathMenu.js new file mode 100644 index 00000000..0395f54e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cy/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/TeX.js b/src/py/kaleido/vendor/mathjax/localization/cy/TeX.js new file mode 100644 index 00000000..28b5820c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cy/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/cy/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/cy/cy.js b/src/py/kaleido/vendor/mathjax/localization/cy/cy.js new file mode 100644 index 00000000..4fc5c705 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/cy/cy.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/cy/cy.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("cy",null,{ + menuTitle: "Cymraeg", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Gwall prosesu mathemateg", + MathError: "Gwall mathemategol", + LoadFile: "Yn llwytho %1", + Loading: "Yn llwytho", + LoadFailed: "Methwyd llwytho'r ffeil: %1", + ProcessMath: "Prosesu'r math'g: %1%%", + Processing: "Yn prosesu", + TypesetMath: "Yn gosod fformat i'r math'g: %1%%", + Typesetting: "Yn gosod fformat", + MathJaxNotSupported: "'Dyw eich porwr ddim yn cynnal MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one // needs check + return 2; // other // needs check + }, + number: function (n) { + return n; // needs check + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/cy/cy.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/da/FontWarnings.js new file mode 100644 index 00000000..1fcf1667 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/da/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/da/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax bruger web-baserede skrifttyper til at vise det matematiske p\u00E5 denne side. Dette tager tid at hente, s\u00E5 siden ville blive hurtigere, hvis du installerede matematiske skrifttyper direkte i dit systems skrifttypemappe.", + imageFonts: "MathJax bruger sine billedeskrifttyper snarere end lokale eller web-baserede skrifttyper. Dette vil g\u00F8re visningen langsommere end s\u00E6dvanligt, og matematik kan ikke udskrives med printerens fulde opl\u00F8sning.", + noFonts: "MathJax er ikke i stand til at finde en skrifttype, som kan bruges til at vise matematikken, og billedeskrifttyper er ikke tilg\u00E6ngelige, s\u00E5 der faldes tilbage p\u00E5 generiske Unicode-tegn i h\u00E5b om, at din browser vil v\u00E6re i stand til at vise dem. Nogle tegn kan m\u00E5ske ikke vises korrekt, eller muligvis slet ikke.", + webFonts: "De fleste moderne browsere giver mulighed for at hente skrifttyper over nettet. At opdatere til en nyere version af din browser (eller skifte browser) kunne forbedre kvaliteten af matematik p\u00E5 denne side.", + fonts: "MathJax kan bruge enten [STIX fonts](%1) eller [MathJax TeX fonts](%2). Hent og installer en af disse skrifttyper for at forbedre din MathJax oplevelse.", + STIXPage: "Denne side er designet til at bruge [STIX fonts](%1). Hent og install\u00E9r disse skrifttyper for at forbedre oplevelsen med MathJax.", + TeXPage: "Denne side er designet til at bruge [MathJax TeX fonts](%1). Hent og install\u00E9r disse skrifttyper for at forbedre oplevelsen med MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/da/HTML-CSS.js new file mode 100644 index 00000000..4b547f5f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/da/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/da/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Indl\u00E6ser webskrifftype %1", + CantLoadWebFont: "Kan ikke indl\u00E6se webskrifttype %1", + FirefoxCantLoadWebFont: "Firefox kan ikke indl\u00E6se webskrifttyper fra en fjernstyret v\u00E6rt", + CantFindFontUsing: "Kunne ikke finde en gyldig skrifttype ved hj\u00E6lp af %1", + WebFontsNotAvailable: "Webskrifttyper er ikke tilg\u00E6ngelig. Brug billede skrifttyper i stedet" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/da/HelpDialog.js new file mode 100644 index 00000000..fd876c66 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/da/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/da/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax hj\u00E6lp", + MathJax: "*MathJax* er et JavaScript-bibliotek, der giver mulighed for forfattere af sider kan inkludere matematik i deres websider. Som l\u00E6ser beh\u00F8ver du ikke at g\u00F8re noget for at f\u00E5 det til at virke.", + Browsers: "*Browsere*: MathJax virker p\u00E5 alle moderne browsere inklusiv IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ og de fleste mobile browsere.", + Menu: "*Matematikmenu*: MathJax tilf\u00F8jer en genvejsmenu til ligninger. H\u00F8jreklik eller Ctrl-klik p\u00E5 matematikken for at f\u00E5 adgang til menuen.", + ShowMath: "*Vis matematik som* giver dig mulighed for at se formelens kilde markup s\u00E5 du kan kopierer og inds\u00E6tte andre steder (som MathML eller i dens oprindelige format).", + Settings: "*Indstillinger* giver dig kontrol over funktioner i MathJax, s\u00E5som st\u00F8rrelsen af matematikken, og den mekanisme, der bruges til at vise ligninger.", + Language: "*Sprog* lader dig v\u00E6lge det sprog MathJax bruger i sine menuer og advarselsmeddelelser.", + Zoom: "*Matematik zoom*: Hvis du har sv\u00E6rt ved at l\u00E6se en ligning, kan MathJax forst\u00F8rre den for at hj\u00E6lpe dig med at se den bedre.", + Accessibilty: "*Tilg\u00E6ngelighed*: MathJax vil automatisk arbejde med sk\u00E6rml\u00E6sere for at g\u00F8re matematik tilg\u00E6ngeligt for synsh\u00E6mmede.", + Fonts: "*Skrifttyper*: MathJax vil bruge visse matematiske skrifttyper, hvis de er installeret p\u00E5 computeren. ellers vil det bruge web-baserede skrifttyper. Selvom det ikke er p\u00E5kr\u00E6vet, vil lokalt installerede skrifttyper fremskynde ops\u00E6tningen. Vi foresl\u00E5r at installere [STIX fonts](%1).", + CloseDialog: "Luk hj\u00E6lpedialogen" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/MathML.js b/src/py/kaleido/vendor/mathjax/localization/da/MathML.js new file mode 100644 index 00000000..73f7daa5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/da/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/da/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "D\u00E5rlig mglyph: %1", + BadMglyphFont: "D\u00E5rlig skrifttype: %1", + MathPlayer: "MathJax var ikke i stand til at konfigurere MathPlayer.\n\nHvis MathPlayer ikke er installeret, skal du installere det f\u00F8rst.\nEllers, kan dine sikkerhedsindstillinger forhindrer ActiveX\nkontrolelementer i at k\u00F8re. Bruge dine Internetindstillinger under\ni menuen Funktioner og v\u00E6lg fanen Sikkerhed, og tryk derefter p\u00E5\nknappen Brugerdefineret niveau. Kontroller, at indstillingerne for\n'K\u00F8r ActiveX-objekter' og 'bin\u00E6r- og script-opf\u00F8rsel' er aktiveret.\n\nI \u00F8jeblikket vil du se fejlmeddelelser i stedet for\nformateret matematik", + CantCreateXMLParser: "MathJax kan ikke oprette en XML-parser til MathML. Kontroller, at\n'Script ActiveX-objekter markeret sikre til scripting' sikkerhed\ner aktiveret (bruge elementet Internetindstillinger i menuen \nv\u00E6rkt\u00F8jer, og v\u00E6lg sikkerhedspanel, tryk derefter p\u00E5 \nBrugerdefineret niveau knappen for at unders\u00F8ge det).\n\nMathML ligninger vil ikke kunne behandles af MathJax", + UnknownNodeType: "Ukendt nodetype: %1", + UnexpectedTextNode: "Uventet tekst node: %1", + ErrorParsingMathML: "Fejl under parsing af MathML", + ParsingError: "Fejl under parsing af MathML: %1", + MathMLSingleElement: "MathML skal v\u00E6re dannet af en enkelt element", + MathMLRootElement: "MathML skal v\u00E6re dannet af et \u003Cmath\u003E element, ikke %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/da/MathMenu.js new file mode 100644 index 00000000..176252aa --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/da/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/da/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Vis matematik som", + MathMLcode: "MathML-kode", + OriginalMathML: "Oprindelig MathML", + TeXCommands: "TeX-kommandoer", + AsciiMathInput: "AsciiMathML-input", + Original: "Oprindeligt format", + ErrorMessage: "Fejlmeddelelse", + Annotation: "Note", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "Vis TeX-tips i MathML", + Settings: "Matematikindstillinger", + ZoomTrigger: "Zoomudl\u00F8ser", + Hover: "Holde musen over", + Click: "Klik", + DoubleClick: "Dobbeltklik", + NoZoom: "Ingen zoom", + TriggerRequires: "Udl\u00F8ser kr\u00E6ver:", + Option: "Alternativ (\u2325)", + Alt: "Alt", + Command: "Kommando (\u2318)", + Control: "Ctrl", + Shift: "Skift", + ZoomFactor: "Zoomfaktor", + Renderer: "Matematik-visningsmetode", + MPHandles: "Lad MathPlayer h\u00E5ndtere:", + MenuEvents: "Menuh\u00E6ndelser", + MouseEvents: "Museh\u00E6ndelser", + MenuAndMouse: "Muse- og menuh\u00E6ndelser", + FontPrefs: "Skrifttype-indstillinger", + ForHTMLCSS: "For HTML-CSS:", + Auto: "Automatisk", + TeXLocal: "TeX (lokal)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (billede)", + STIXLocal: "STIX (lokal)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Kontekstmenu", + Browser: "Browser", + Scale: "Skaler al matematik...", + Discoverable: "Fremh\u00E6v n\u00E5r musen holdes over", + Locale: "Sprog", + LoadLocale: "Indl\u00E6s fra URL ...", + About: "Om MathJax", + Help: "MathJax-hj\u00E6lp", + localTeXfonts: "bruger lokale TeX-skrifttyper", + webTeXfonts: "bruger web-TeX-skrifttype", + imagefonts: "bruger billedskrifttyper", + localSTIXfonts: "bruger lokale STIX-skrifttyper", + webSVGfonts: "bruger web-SVG-skrifttyper", + genericfonts: "bruger generiske Unicode-skrifttyper", + wofforotffonts: "WOFF- eller OTF-skrifttyper", + eotffonts: "EOT-skrifttyper", + svgfonts: "SVG-skrifttyper", + WebkitNativeMMLWarning: "Din browser har tilsyneladende ikke indbygget MathML-underst\u00F8ttelse, s\u00E5 et skift til MathML-output kan g\u00F8re matematikken p\u00E5 siden ul\u00E6selig", + MSIENativeMMLWarning: "Internet Explorer kr\u00E6ver MathPlayer-pluginnet for at kunne behandle MathML-output.", + OperaNativeMMLWarning: "Operas underst\u00F8ttelse af MathML er begr\u00E6nset, s\u00E5 et skift til MathML-output kan for\u00E5rsage at nogle udtryk bliver vist d\u00E5rligt.", + SafariNativeMMLWarning: "Din browsers indbyggede MathML underst\u00F8tter ikke alle de funktioner, der anvendes af MathJax, s\u00E5 nogle udtryk gengives muligvis ikke korrekt.", + FirefoxNativeMMLWarning: "Din browsers indbyggede MathML underst\u00F8tter ikke al den funktionalitet, der anvendes af MathJax, s\u00E5 nogle udtryk gengives muligvis ikke korrekt.", + MSIESVGWarning: "SVG er ikke implementeret i Internet Explorer f\u00F8r IE9 eller n\u00E5r den emulerer IE8 eller tidligere versioner. Et skift til SVG-output vil for\u00E5rsage at matematikken ikke vises korrekt.", + LoadURL: "Indl\u00E6s overs\u00E6ttelsesdata fra denne URL:", + BadURL: "URL-adressen skal v\u00E6re for en JavaScript-fil, der definerer MathJax-overs\u00E6ttelsesdata. JavaScript-filnavne b\u00F8r slutte p\u00E5 '.js'", + BadData: "Kunne ikke indl\u00E6se overs\u00E6ttelsesdata fra %1", + SwitchAnyway: "Skift visningsmetode alligevel?\n\n(Tryk p\u00E5 OK for at skifte, ANNULLER for at forts\u00E6tte med den nuv\u00E6rende visningsmetode)", + ScaleMath: "Skal\u00E9r al matematik (i forhold til omgivende tekst) med", + NonZeroScale: "Skaleringen m\u00E5 ikke v\u00E6re nul", + PercentScale: "Skaleringen skal v\u00E6re en procentsats (for eksempel 120\u00A0%%)", + IE8warning: "Dette vil deaktivere menu- og zoom-funktionaliteterne i MathJax, men du kan i stedet Alt-klikke p\u00E5 et udtryk for at f\u00E5 MathJax-menuen.\n\nVil du virkelig \u00E6ndre indstillingerne for MathPlayer?", + IE9warning: "MathJax-kontekstmenuen vil blive deaktiveret, men du kan i stedet Alt-klikke p\u00E5 et udtryk for at f\u00E5 MathJax-menuen.", + NoOriginalForm: "Intet oprindeligt format til r\u00E5dighed", + Close: "Luk", + EqSource: "MathJax-ligningskilde", + CloseAboutDialog: "Luk dialogen \"Om MathJax\"", + FastPreview: "Hurtig forh\u00E5ndsvisning", + AssistiveMML: "Sk\u00E6rml\u00E6serunderst\u00F8ttelse for MathML", + InTabOrder: "Medtag i tabulatorr\u00E6kkef\u00F8lge" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/TeX.js b/src/py/kaleido/vendor/mathjax/localization/da/TeX.js new file mode 100644 index 00000000..f309364f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/da/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/da/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Ekstra venstreklammeparentes eller manglende h\u00F8jreklammeparentes", + ExtraCloseMissingOpen: "Ekstra h\u00F8jreklammeparentes eller manglende venstreklammeparentes", + MissingLeftExtraRight: "Manglende \\left eller ekstra \\right", + MissingScript: "Manglende h\u00E6vet skrift eller s\u00E6nket skrift argument", + ExtraLeftMissingRight: "Ekstra \\left eller manglende \\right", + Misplaced: "Malplaceret %1", + MissingOpenForSub: "Manglende venstreklammeparentes til s\u00E6nket skrift", + MissingOpenForSup: "Manglende venstreklammeparentes til h\u00E6vet skrift", + AmbiguousUseOf: "Flertydig brug af %1", + EnvBadEnd: "\\begin{%1} sluttede med \\end{%2}", + EnvMissingEnd: "Manglende \\end{%1}", + MissingBoxFor: "Manglende boks for %1", + MissingCloseBrace: "Manglende h\u00F8jreklammeparentes", + UndefinedControlSequence: "Udefineret kontrolsekvens %1", + DoubleExponent: "Dobbelt eksponent: brug klammeparenteser til at tydeligg\u00F8re", + DoubleSubscripts: "Dobbelt s\u00E6nket skrift: brug klammeparenteser til at tydeligg\u00F8re", + DoubleExponentPrime: "M\u00E6rke for\u00E5rsager dobbelt eksponent: bruge klammeparenteser til at tydeligg\u00F8re", + CantUseHash1: "Du kan ikke bruge 'makro parameter tegnet #' i matematik tilstand", + MisplacedMiddle: "%1 skal v\u00E6re inden for \\left og \\right", + MisplacedLimits: "%1 er kun tilladt p\u00E5 operatorer", + MisplacedMoveRoot: "%1 kan kun v\u00E6re indenfor en root", + MultipleCommand: "For mange %1", + IntegerArg: "Argumentet til %1 skal v\u00E6re et heltal", + NotMathMLToken: "%1 er ikke et token element", + InvalidMathMLAttr: "Ugyldig MathML attribut: %1", + UnknownAttrForElement: "%1 er ikke en genkendt attribut for %2", + MaxMacroSub1: "Det maksimale antal makro substitutioner i MathJax er overskredet; er der et rekursivt makrokald?", + MaxMacroSub2: "Det maksimale antal substitutioner i MathJax er overskredet; er der et rekursivt LaTeX milj\u00F8?", + MissingArgFor: "Manglende argument til %1", + ExtraAlignTab: "For mange \u0026 i \\cases tekst", + BracketMustBeDimension: "Klammeargument til %1 skal v\u00E6re en dimension", + InvalidEnv: "Ugyldigt navn '%1'", + UnknownEnv: "Ukendt navn '%1'", + ExtraCloseLooking: "Ekstra h\u00F8jreklammeparentes under s\u00F8gning efter %1", + MissingCloseBracket: "Kunne ikke finde det afsluttende ']' argument til %1", + MissingOrUnrecognizedDelim: "Manglende eller ukendt skilletegn for %1", + MissingDimOrUnits: "Manglende dimension eller enheder for %1", + TokenNotFoundForCommand: "Kunne ikke finde %1 for %2", + MathNotTerminated: "Matematik ikke afsluttet i tekstfeltet", + IllegalMacroParam: "Ulovlig makro parameter reference", + MaxBufferSize: "Intern bufferst\u00F8rrelse for MathJax er overskredet; er der et rekursivt makrokald?", + CommandNotAllowedInEnv: "%1 er ikke tilladt i milj\u00F8et %2", + MultipleLabel: "Etiketten '%1' er defineret flere gange", + CommandAtTheBeginingOfLine: "%1 skal v\u00E6re i begyndelsen af linjen", + IllegalAlign: "Ulovlig justering angivet i %1", + BadMathStyleFor: "D\u00E5rlig matematik stil for %1", + PositiveIntegerArg: "Argumentet til %1 skal v\u00E6re et positivt heltal", + ErroneousNestingEq: "Fejlagtig indlejring af ligningsstrukturer", + MultlineRowsOneCol: "R\u00E6kker indenfor milj\u00F8et %1 skal have pr\u00E6cis \u00E9n kolonne", + MultipleBBoxProperty: "%1 angivet to gange i %2", + InvalidBBoxProperty: "'%1' ligner ikke en farve, en padding dimension eller en stil", + ExtraEndMissingBegin: "Ekstra %1 eller manglende \\begingroup", + GlobalNotFollowedBy: "%1 ikke efterfulgt af \\let, \\def eller \\newcommand", + UndefinedColorModel: "Farvemodel '%1' ikke defineret", + ModelArg1: "Farvev\u00E6rdier for modellen %1 kr\u00E6ver 3 tal", + InvalidDecimalNumber: "Ugyldigt decimaltal", + ModelArg2: "Farvev\u00E6rdier for modellen %1 skal v\u00E6re mellem %2 og %3", + InvalidNumber: "Ugyldigt tal", + NewextarrowArg1: "F\u00F8rste argument til %1 skal v\u00E6re navnet p\u00E5 en kontrol sekvens", + NewextarrowArg2: "Andet argument til %1 skal v\u00E6re to heltal adskilt af et komma", + NewextarrowArg3: "Tredje argument til %1 skal v\u00E6re nummeret p\u00E5 et Unicode-tegn", + NoClosingChar: "Kan ikke finde den afsluttende %1", + IllegalControlSequenceName: "Ulovligt kontrol sekvens navn for %1", + IllegalParamNumber: "Ulovligt antal parametre angivet i %1", + MissingCS: "%1 skal efterf\u00F8lges af en kontrolsekvens", + CantUseHash2: "Ulovlig brug af # i skabelon for %1", + SequentialParam: "Parametre for %1 skal v\u00E6re nummereret fortl\u00F8bende", + MissingReplacementString: "Manglende erstatningsstreng til definition af %1", + MismatchUseDef: "Brug af %1 stemmer ikke overens med dens definition", + RunawayArgument: "L\u00F8bsk argument for %1?", + NoClosingDelim: "Kan ikke finde afsluttende skilletegn for %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/da/da.js b/src/py/kaleido/vendor/mathjax/localization/da/da.js new file mode 100644 index 00000000..18d41e03 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/da/da.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/da/da.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("da",null,{ + menuTitle: "dansk", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax har fundet en cookie med brugerkonfiguration, der indeholder kode til at k\u00F8re. Vil du k\u00F8re det?\n\n(Du b\u00F8r trykke p\u00E5 Annuller, medmindre du oprettede cookien selv.)", + MathProcessingError: "Fejl under bearbejdning af matematik", + MathError: "Matematikfejl", + LoadFile: "Indl\u00E6ser %1", + Loading: "Indl\u00E6ser", + LoadFailed: "Kunne ikke indl\u00E6se filen: %1", + ProcessMath: "Bearbejder matematik: %1%%", + Processing: "Bearbejder", + TypesetMath: "Ops\u00E6tter matematik: %1%%", + Typesetting: "Ops\u00E6tter", + MathJaxNotSupported: "Din browser underst\u00F8tter ikke MathJax", + ErrorTips: "Tips til fejls\u00F8gning: brug %%1, inspicer %%2 i browserkonsollen" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/da/da.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/de/FontWarnings.js new file mode 100644 index 00000000..facaebe4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/de/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/de/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax nutz web-basierte Fonts zur Darstellung der Mathematik auf dieser Seite. Da diese heruntergeladen werden m\u00FCssen, l\u00E4dt die Seite schneller, wenn Mathe-Fonts auf dem System installiert sind.", + imageFonts: "MathJax verwendet die Bildschriften anstatt der lokalen oder webbasierten Schriften. Das Rendern dauert l\u00E4nger als gew\u00F6hnlich und die Inhalte werden m\u00F6glicherweise nicht mit der vollen Aufl\u00F6sung deines Druckers ausgedruckt.", + noFonts: "MathJax konnte keine Schriftart zur Anzeige der Inhalte finden und Bildschriften sind nicht verf\u00FCgbar. Es wird auf allgemeine Unicode-Zeichen zur\u00FCckgegriffen in der Hoffnung, dass dein Browser in der Lage ist, sie darzustellen. Einige Zeichen werden m\u00F6glicherweise nicht richtig oder gar nicht angezeigt.", + webFonts: "Die meisten modernen Browser erlauben den Download von Schriften \u00FCber das Web. Eine Aktualisierung auf eine aktuellere Version deines Browsers (oder dessen Wechsel) kann die Qualit\u00E4t der Inhalte auf dieser Seite verbessern.", + fonts: "MathJax kann entweder die [STIX-](%1) oder [MathJax-TeX-Schriften](%2) verwenden. Lade eine dieser Schriften herunter und installiere sie, um dein MathJax-Erlebnis zu steigern.", + STIXPage: "Diese Seite wurde konzipiert, um die [STIX-Schriften](%1) zu verwenden. Lade sie herunter und installiere sie, um dein MathJax-Erlebnis zu steigern.", + TeXPage: "Diese Seite wurde konzipiert, um die [MathJax-TeX-Schriften](%1) zu verwenden. Lade sie herunter und installiere sie, um dein MathJax-Erlebnis zu steigern." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/de/HTML-CSS.js new file mode 100644 index 00000000..9d7a7bc4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/de/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/de/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Lade Webfont %1", + CantLoadWebFont: "Webschriftart %1 konnte nicht geladen werden", + FirefoxCantLoadWebFont: "Firefox kann keine Webschriften von einem entfernten Rechner laden", + CantFindFontUsing: "Es konnte keine g\u00FCltige Schriftart in %1 gefunden werden", + WebFontsNotAvailable: "Webschriften sind nicht verf\u00FCgbar. Verwende stattdessen Bildschriften." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/de/HelpDialog.js new file mode 100644 index 00000000..4bf26ee2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/de/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/de/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax Hilfe", + MathJax: "*MathJax* ist eine JavaScript-Bibliothek, die es Seitenautoren erm\u00F6glicht, mathematische Inhalte in ihre Webseiten einzubinden. Als Leser muss du nichts unternehmen, um das zu erreichen.", + Browsers: "*Browser*: MathJax funktioniert mit allen modernen Browsern inklusive Internet Explorer 6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ und den meisten mobilen Browsern.", + Menu: "*Men\u00FC*: MathJax f\u00FCgt bei Gleichungen ein Kontextmen\u00FC hinzu. Um das Men\u00FC anzuzeigen, klicke mit der rechten Maustaste oder halte beim Klicken die Strg-Taste gedr\u00FCckt.", + ShowMath: "*Inhalt zeigen als* erlaubt dir, das Formelquellenmarkup f\u00FCr Kopieren \u0026 Einf\u00FCgen anzusehen (als MathML oder im Originalformat).", + Settings: "*Einstellungen* gibt dir die Kontrolle \u00FCber MathJax-Funktionen, wie die Inhaltsgr\u00F6\u00DFe und den verwendeten Mechanismus zum Anzeigen von Gleichungen.", + Language: "*Sprache* l\u00E4sst dir die Sprache ausw\u00E4hlen, die von MathJax f\u00FCr die Men\u00FCs und Warnmeldungen verwendet wird.", + Zoom: "*Zoom*: Wenn du beim Lesen einer Gleichung Schwierigkeiten hast, kann MathJax sie vergr\u00F6\u00DFern, damit du sie besser sehen kannst.", + Accessibilty: "*Barrierefreiheit*: MathJax funktioniert automatisch mit Screenreadern, um die Inhalte f\u00FCr Sehbehinderte verf\u00FCgbar zu machen.", + Fonts: "*Schriftarten*: MathJax verwendet bestimmte Schriften, wenn sie auf deinem Computer installiert sind. Anderenfalls werden webbasierte Schriften verwendet. Obwohl das nicht erforderlich ist, beschleunigen lokal installierte Schriften die Schriftsetzung. Wir empfehlen die Installation der [STIX-Schriften](%1).", + CloseDialog: "Hilfedialog schlie\u00DFen" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/MathML.js b/src/py/kaleido/vendor/mathjax/localization/de/MathML.js new file mode 100644 index 00000000..73b65326 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/de/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/de/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "ung\u00FCltige mglyph: %1", + BadMglyphFont: "Ung\u00FCltige Schriftart: %1", + MathPlayer: "MathJax konnte MathPlayer nicht einrichten.\n\nFalls MathPlayer nicht installiert ist, musst du ihn zuerst installieren.\nAnderenfalls verhindern deine Sicherheitseinstellungen, dass\nActiveX-Steuerelemente ausgef\u00FChrt werden k\u00F6nnen. Verwende die\nInternetoptionen unter dem Werkzeugmen\u00FC und w\u00E4hle die Registerkarte\n\u201ESicherheit\u201C. Klicke dann auf \u201EStufe anpassen\u201C. \u00DCberpr\u00FCfe, ob die\nEinstellungen f\u00FCr \u201EActiveX-Steuerelemente ausf\u00FChren\u201C und \u201EBin\u00E4r- und\nSkriptverhalten\u201C aktiviert sind.\n\nDerzeit wirst du Fehlermeldungen sehen anstatt gesetzte Inhalte.", + CantCreateXMLParser: "MathJax konnte keinen XML-Parser f\u00FCr MathML erstellen.\n\u00DCberpr\u00FCfe, ob die Sicherheitseinstellung\n\u201EActiveX-Steuerelemente ausf\u00FChren, die f\u00FCr Skripting\nsicher sind\u201C aktiviert ist (verwende zur \u00DCberpr\u00FCfung\ndie Internetoptionen im Werkzeugmen\u00FC, w\u00E4hle die\nRegisterkarte \u201ESicherheit\u201C und klicke auf \u201EStufe\nanpassen\u201C).\n\nMathML-Gleichungen k\u00F6nnen von MathJax nicht\nverarbeitet werden.", + UnknownNodeType: "Unbekannter Knotentyp: %1", + UnexpectedTextNode: "Unerwarteter Textknoten: %1", + ErrorParsingMathML: "Fehler beim Verarbeiten von MathML", + ParsingError: "Fehler beim Parsen von MathML: %1", + MathMLSingleElement: "MathML muss von einem einzelnen Element gebildet werden", + MathMLRootElement: "MathML muss von einem \u003Cmath\u003E-Element gebildet werden, nicht %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/de/MathMenu.js new file mode 100644 index 00000000..35e17c65 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/de/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/de/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Zeige mathematischen Ausdruck als", + MathMLcode: "MathML-Code", + OriginalMathML: "Original-MathML", + TeXCommands: "TeX-Befehle", + AsciiMathInput: "AsciiMathML-Eingabe", + Original: "Originalformel", + ErrorMessage: "Fehlermeldung", + Annotation: "Anmerkung", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "TeX-Hinweise in MathML anzeigen", + Settings: "Math-Einstellungen", + ZoomTrigger: "Zoomausl\u00F6ser", + Hover: "\u00DCberfahren", + Click: "Klick", + DoubleClick: "Doppelklick", + NoZoom: "Kein Zoom", + TriggerRequires: "Ausl\u00F6ser ben\u00F6tigt:", + Option: "Option", + Alt: "Alt", + Command: "\u2318", + Control: "Strg", + Shift: "Umschalt", + ZoomFactor: "Vergr\u00F6\u00DFerungsfaktor", + Renderer: "Math-Renderer", + MPHandles: "MathPlayer darf verwalten:", + MenuEvents: "Men\u00FCereignisse", + MouseEvents: "Mausereignisse", + MenuAndMouse: "Maus- und Men\u00FCereignisse", + FontPrefs: "Schriftarteinstellungen", + ForHTMLCSS: "F\u00FCr HTML-CSS:", + Auto: "Automatisch", + TeXLocal: "TeX (Lokal)", + TeXWeb: "TeX (Web)", + TeXImage: "TeX (Bild)", + STIXLocal: "STIX (Lokal)", + STIXWeb: "STIX (Web)", + AsanaMathWeb: "Asana Math (Web)", + GyrePagellaWeb: "Gyre Pagella (Web)", + GyreTermesWeb: "Gyre Termes (Web)", + LatinModernWeb: "Latin Modern (Web)", + NeoEulerWeb: "Neo Euler (Web)", + ContextMenu: "Kontextmen\u00FC", + Browser: "Browser", + Scale: "Alle Inhalte skalieren \u2026", + Discoverable: "Beim \u00DCberfahren hervorheben", + Locale: "Sprache", + LoadLocale: "Lade von URL \u2026", + About: "\u00DCber MathJax", + Help: "MathJax-Hilfe", + localTeXfonts: "Lokale TeX-Schriften verwenden", + webTeXfonts: "Web-TeX-Schriftart verwenden", + imagefonts: "Bildschriften verwenden", + localSTIXfonts: "Lokale STIX-Schriften verwenden", + webSVGfonts: "Web-SVG-Schriften verwenden", + genericfonts: "Allgemeine Unicode-Schriften verwenden", + wofforotffonts: "WOFF- oder OTF-Schriften", + eotffonts: "EOT-Schriften", + svgfonts: "SVG-Schriften", + WebkitNativeMMLWarning: "Ihr Browser scheint kein natives MathML zu unterst\u00FCtzen. Ein Wechsel auf MathML-Ausgabe kann dazu f\u00FChren, dass die Inhalte auf der Seite unlesbar werden.", + MSIENativeMMLWarning: "Um die MathML-Ausgabe verarbeiten zu k\u00F6nnen, ben\u00F6tigt der Internet Explorer das MathPlayer-Plugin.", + OperaNativeMMLWarning: "Die Unterst\u00FCtzung f\u00FCr MathML bei Opera ist beschr\u00E4nkt. Deshalb kann ein Wechsel auf MathML-Ausgabe verursachen, dass einige Ausdr\u00FCcke nur schlecht gerendert werden k\u00F6nnen.", + SafariNativeMMLWarning: "Das native MathML Ihres Browsers unterst\u00FCtzt nicht alle Funktionen, die von MathJax verwendet werden. Deshalb k\u00F6nnen einige Ausdr\u00FCcke nicht richtig gerendert werden.", + FirefoxNativeMMLWarning: "Das native MathML Ihres Browsers unterst\u00FCtzt nicht alle Funktionen, die von MathJax verwendet werden. Deshalb k\u00F6nnen einige Ausdr\u00FCcke nicht richtig gerendert werden.", + MSIESVGWarning: "SVG wird nicht vom Internet Explorer \u00E4lter als IE9 unterst\u00FCtzt oder wenn IE8 und niedriger emuliert werden. Der Wechsel auf SVG-Ausgabe hat zur Folge, dass die Inhalte nicht richtig dargestellt werden.", + LoadURL: "\u00DCbersetzungsdaten von dieser URL laden:", + BadURL: "Die URL sollte f\u00FCr eine JavaScript-Datei sein, die MathJax-\u00DCbersetzungsdaten definiert. JavaScript-Dateinamen sollten enden mit \u201E.js\u201C.", + BadData: "\u00DCbersetzungsdaten konnten nicht von %1 geladen werden", + SwitchAnyway: "Den Renderer trotzdem wechseln?\n\n(OK w\u00E4hlen zum Wechseln, ABBRECHEN w\u00E4hlen, um mit dem gegenw\u00E4rtigen Renderer fortzufahren)", + ScaleMath: "Alle Inhalte skalieren (verglichen mit dem umflie\u00DFenden Text) um", + NonZeroScale: "Der Wert sollte nicht null sein", + PercentScale: "Der Wert sollte ein Prozentsatz sein (z.\u0026nbsp;B. 120%%)", + IE8warning: "Dies deaktiviert das MathJax-Men\u00FC und die Zoomfunktionen, aber du kannst bei einem Ausdruck w\u00E4hrend des Mausklicks die Alt-Taste gedr\u00FCckt halten, um stattdessen das MathJax-Men\u00FC zu erhalten.\n\nMathPlayer-Einstellungen wirklich \u00E4ndern?", + IE9warning: "Das MathJax-Kontextmen\u00FC wird deaktiviert, aber du kannst bei einem Ausdruck w\u00E4hrend des Mausklicks die Alt-Taste gedr\u00FCckt halten, um stattdessen das MathJax-Men\u00FC zu erhalten.", + NoOriginalForm: "Keine Originalformel verf\u00FCgbar", + Close: "Schlie\u00DFen", + EqSource: "MathJax-Gleichungsquelle", + CloseAboutDialog: "Dialog \u201E\u00DCber MathJax\u201C schlie\u00DFen", + FastPreview: "Schnelle Vorschau", + AssistiveMML: "Assistives MathML", + InTabOrder: "In Reiterreihenfolge einschlie\u00DFen" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/TeX.js b/src/py/kaleido/vendor/mathjax/localization/de/TeX.js new file mode 100644 index 00000000..a46bff04 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/de/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/de/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Zus\u00E4tzliche \u00F6ffnende, oder fehlende schlie\u00DFende Klammer", + ExtraCloseMissingOpen: "Zus\u00E4tzliche schlie\u00DFende, oder fehlende \u00F6ffnende Klammer", + MissingLeftExtraRight: "Fehlendes '\\left' oder zus\u00E4tzliches '\\right'", + MissingScript: "Fehlendes Argument im Hoch- oder Tiefstellen", + ExtraLeftMissingRight: "Zus\u00E4tzliches '\\left' oder fehlendes '\\right'", + Misplaced: "%1 falsch gesetzt", + MissingOpenForSub: "Fehlende \u00F6ffnende Klammer beim Tiefstellen", + MissingOpenForSup: "Fehlende \u00F6ffnende Klammer beim Hochstellen", + AmbiguousUseOf: "Mehrdeutige Verwendung von %1", + EnvBadEnd: "\\begin{%1} endet mit \\end{%2}", + EnvMissingEnd: "\\end{%1} fehlt", + MissingBoxFor: "Fehlender Rahmen f\u00FCr: %1", + MissingCloseBrace: "Fehlende schlie\u00DFende Klammer", + UndefinedControlSequence: "Nicht definierter Befehl: %1", + DoubleExponent: "Doppeltes Hochstellen: Klammern f\u00FCr eine eindeutige Zuordnung verwenden", + DoubleSubscripts: "Doppeltes Tiefstellen: Klammern f\u00FCr eine eindeutige Zuordnung verwenden", + DoubleExponentPrime: "Prime f\u00FChrt zu doppeltem Hochstellen: Klammern f\u00FCr eine eindeutige Zuordnung verwenden", + CantUseHash1: "Das Zeichen '#' ist ein Makroparameter und kann nicht im Mathematikmodus verwendet werden.", + MisplacedMiddle: "%1 muss zwischen '\\left' und '\\right' stehen", + MisplacedLimits: "%1 ist nur bei Operatoren erlaubt", + MisplacedMoveRoot: "%1 muss innerhalb einer Wurzel stehen", + MultipleCommand: "Zu viele %1", + IntegerArg: "Das Argument in %1 muss ganzzahlig sein", + NotMathMLToken: "%1 ist kein Token-Element", + InvalidMathMLAttr: "Unzul\u00E4ssiges MathML-Attribut: %1", + UnknownAttrForElement: "%1 ist kein zul\u00E4ssiges Attribut f\u00FCr %2", + MaxMacroSub1: "Maximale Anzahl an Makro-Ersetzungen ist erreicht; wird ein rekursiver Makroaufruf verwendet?", + MaxMacroSub2: "Maximale Anzahl an Ersetzungen ist erreicht; wird eine rekursive LaTeX-Umgebung verwendet?", + MissingArgFor: "Fehlendes Argument in %1", + ExtraAlignTab: "Zus\u00E4tzlicher Ausrichtungstabulator im '\\cases' Text", + BracketMustBeDimension: "Das Klammer-Argument f\u00FCr %1 muss eine Dimension sein", + InvalidEnv: "Ung\u00FCltiger Umgebungsname: \u201E%1\u201C", + UnknownEnv: "Ung\u00FCltige Umgebung: \u201E%1\u201C", + ExtraCloseLooking: "Zus\u00E4tzliche schlie\u00DFende Klammer w\u00E4hrend der Suche nach %1", + MissingCloseBracket: "Argument zu %1 wurde nicht mit ']' geschlossen", + MissingOrUnrecognizedDelim: "Fehlendes oder nicht erkanntes Begrenzungszeichen bei %1", + MissingDimOrUnits: "Fehlende Dimension oder Einheiten bei %1", + TokenNotFoundForCommand: "Konnte %1 nicht f\u00FCr %2 finden", + MathNotTerminated: "Mathematischer Ausdruck im Textfeld nicht abgeschlossen", + IllegalMacroParam: "Ung\u00FCltiger Makroparameterbezug", + MaxBufferSize: "Interne Puffergr\u00F6\u00DFe \u00FCberschritten; wird ein rekursiver Makroaufruf verwendet?", + CommandNotAllowedInEnv: "%1 ist in der Umgebung %2 nicht erlaubt", + MultipleLabel: "Bezeichner '%1' mehrfach definiert", + CommandAtTheBeginingOfLine: "%1 muss am Zeilenanfang stehen", + IllegalAlign: "Ung\u00FCltige Ausrichtung in %1", + BadMathStyleFor: "Falsches \u201Emath style\u201C-Argument: %1", + PositiveIntegerArg: "Das Argument zu %1 muss eine positive Ganzzahl sein", + ErroneousNestingEq: "Fehlerhafte Verschachtelung von Gleichungen", + MultlineRowsOneCol: "Zeilen in der %1-Umgebung m\u00FCssen genau eine Spalte haben", + MultipleBBoxProperty: "%1 wurde zweimal in %2 angegeben", + InvalidBBoxProperty: "'%1' scheint keine Farbe, Abstands-Dimension oder Stil zu sein", + ExtraEndMissingBegin: "Zus\u00E4tzliches %1 oder fehlendes \\begingroup", + GlobalNotFollowedBy: "'%1' nicht von '\\let', '\\def' oder '\\newcommand' gefolgt", + UndefinedColorModel: "Farbmodell '%1' nicht definiert", + ModelArg1: "Farbwerte f\u00FCr Farbmodell '%1' ben\u00F6tigen 3 Werte", + InvalidDecimalNumber: "Ung\u00FCltige Dezimalzahl", + ModelArg2: "Farbwerte f\u00FCr Farbmodell '%1' m\u00FCssen zwischen %2 und %3 liegen", + InvalidNumber: "Ung\u00FCltige Zahl", + NewextarrowArg1: "Das erste Argument von %1 muss Name einer Befehlsfolge sein", + NewextarrowArg2: "Zweites Argument von %1 m\u00FCssen zwei ganze Zahlen sein, durch Komma getrennt", + NewextarrowArg3: "Das dritte Argument von %1 muss die Nummer eines Unicode-Zeichens sein", + NoClosingChar: "Kann schlie\u00DFende %1 nicht finden", + IllegalControlSequenceName: "Ung\u00FCltige Befehlsfolge f\u00FCr %1", + IllegalParamNumber: "Ung\u00FCltige Anzahl von Parametern in %1", + MissingCS: "%1 muss von Befehlsfolge gefolgt werden", + CantUseHash2: "Ung\u00FCltige Verwendung von # in Definition von %1", + SequentialParam: "Parameter von %1 m\u00FCssen fortlaufend nummeriert sein", + MissingReplacementString: "Ersetzende Zeichenkette f\u00FCr Definition von %1 fehlt", + MismatchUseDef: "Verwendung von %1 passt nicht zur Definition", + RunawayArgument: "Nichtgeschlossenes Argument f\u00FCr %1?", + NoClosingDelim: "Kein schlie\u00DFendes Begrenzungszeichen f\u00FCr %1 gefunden" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/de/de.js b/src/py/kaleido/vendor/mathjax/localization/de/de.js new file mode 100644 index 00000000..c77366fa --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/de/de.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/de/de.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("de",null,{ + menuTitle: "Deutsch", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax hat eine Cookie mit ausf\u00FChrbaren Code gefunden. Soll dieser Code ausgef\u00FChrt werden?\n\n(Klicken Sie 'Abbrechen' falls Sie das Cookie nicht selber akzeptiert haben.)", + MathProcessingError: "Fehler bei der Verarbeitung des mathematischen Ausdrucks", + MathError: "Fehler im mathematischen Ausdruck", + LoadFile: "Lade %1", + Loading: "Lade", + LoadFailed: "Datei konnte nicht geladen werden: %1", + ProcessMath: "Verarbeite mathematischen Ausdruck: %1%%", + Processing: "Verarbeite", + TypesetMath: "mathematischer Ausdruck wird gesetzt: %1%%", + Typesetting: "Formelsatz", + MathJaxNotSupported: "Ihr Webbrowser unterst\u00FCtzt MathJax nicht", + ErrorTips: "Fehlerbehebungs-Tipps: Verwende %%1, pr\u00FCfe %%2 in der Browserkonsole" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/de/de.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/diq/FontWarnings.js new file mode 100644 index 00000000..73862326 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/diq/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/diq/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/diq/HTML-CSS.js new file mode 100644 index 00000000..163f33a8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/diq/HTML-CSS.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/localization/diq/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Web font %1 bar beno", + CantLoadWebFont: "Font\u00EA web\u00EA %1'i bar n\u00EAb\u0131" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/diq/HelpDialog.js new file mode 100644 index 00000000..e4a28739 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/diq/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/diq/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/MathML.js b/src/py/kaleido/vendor/mathjax/localization/diq/MathML.js new file mode 100644 index 00000000..2e480851 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/diq/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/diq/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/diq/MathMenu.js new file mode 100644 index 00000000..97feb036 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/diq/MathMenu.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/localization/diq/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Zey tebir\u00EA matematik\u00EAni b\u0131mocne", + MathMLcode: "MathML kod", + OriginalMathML: "Original MathML", + TeXCommands: "Direktif\u00EA TeXi", + AsciiMathInput: "Dekerd\u0131\u015F\u00EA AsciiMathML", + Original: "Formo oricinal", + ErrorMessage: "Mesac\u00EA x\u0131rabi", + Annotation: "Not", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Zerreka MathML", + OpenMath: "OpenMath", + texHints: "MathML' de sopan\u00EA TeX'i b\u0131vin", + Settings: "Saz\u00EA Math", + ZoomTrigger: "Zoom trigger", + Hover: "V\u0131rderiyen", + Click: "T\u0131knay\u0131\u015F", + DoubleClick: "D\u0131rey-t\u0131knay\u0131\u015F", + NoZoom: "Zoom mek", + TriggerRequires: "\u0130cab\u00EA Triggeri:", + Option: "We\u00E7inegi", + Alt: "B\u0131n", + Command: "Komuta", + Control: "Qontrol", + Shift: "Shift", + ZoomFactor: "Faktora zoomi", + Renderer: "Matematik v\u0131ra\u015Fto\u011F", + MenuEvents: "Hedisey\u00EA menuyi", + MouseEvents: "Faaliyet\u00EA meriy", + MenuAndMouse: "Faaliyet\u00EA meriy u menuy", + FontPrefs: "Tercih\u00E9 qelem", + ForHTMLCSS: "Qand\u00E9 HTML-CSS:", + Auto: "Otomatik", + TeXLocal: "TeX (Lokal)", + TeXWeb: "TeX (Web)", + TeXImage: "TeX (res\u0131m)", + STIXLocal: "STIX (Lokal)", + STIXWeb: "STIX (Web)", + AsanaMathWeb: "Asana Math (Web)", + GyrePagellaWeb: "Gyre Pagella (Web)", + GyreTermesWeb: "Gyre Termes (Web)", + LatinModernWeb: "Latin Modern (Web)", + NeoEulerWeb: "Neo Euler (Web)", + ContextMenu: "Kontextmen\u00FC", + Browser: "Browser", + Locale: "Z\u0131wan", + LoadLocale: "URL ra bar beno...", + About: "Heqd\u00E9 MathJax", + Help: "Pe\u015Ftia MathJaxi", + localTeXfonts: "Lokal font\u00EA TeXi b\u0131karne", + webTeXfonts: "Web font\u00EA TeXi b\u0131karn\u00EA", + imagefonts: "Font\u00EA resimi b\u0131karne", + localSTIXfonts: "Lokal font\u00EA STIXi b\u0131karne", + webSVGfonts: "Web font\u00EA SVGy b\u0131karne", + genericfonts: "Generik font\u00EA Unicodi b\u0131karne", + wofforotffonts: "Font\u00EA WOFF yana OTF", + eotffonts: "EOT fonti", + svgfonts: "SVG fonti", + NoOriginalForm: "Original form mewcud niyo", + Close: "Racn\u00EA", + EqSource: "Denklema \u00E7\u0131me ya MathJax'i" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/TeX.js b/src/py/kaleido/vendor/mathjax/localization/diq/TeX.js new file mode 100644 index 00000000..9e012995 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/diq/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/diq/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/diq/diq.js b/src/py/kaleido/vendor/mathjax/localization/diq/diq.js new file mode 100644 index 00000000..c6d7be61 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/diq/diq.js @@ -0,0 +1,56 @@ +/************************************************************* + * + * MathJax/localization/diq/diq.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("diq",null,{ + menuTitle: "Zazaki", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "X\u0131raba kar\u00EA matematiki", + MathError: "Xetay matematiki", + LoadFile: "%1 Bar keri", + Loading: "Bar beno", + LoadFailed: "Dosyay bar nebi: %1", + ProcessMath: "Matematik neq\u0131\u015F kerden: %1%%", + Processing: "Kar\u00EAno...", + TypesetMath: "Tewr\u00EA eyar\u00EA matematiki:%1", + Typesetting: "Eyar\u00EA tewri", + MathJaxNotSupported: "Rov\u0131tera \u015F\u0131ma MathJax'i n\u00EAgurweyne na" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/diq/diq.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/en/FontWarnings.js new file mode 100644 index 00000000..bd67d2ff --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/en/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/en/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax is using web-based fonts to display the mathematics on this page. These take time to download, so the page would render faster if you installed math fonts directly in your system's font folder.", + imageFonts: "MathJax is using its image fonts rather than local or web-based fonts. This will render slower than usual, and the mathematics may not print at the full resolution of your printer.", + noFonts: "MathJax is unable to locate a font to use to display its mathematics, and image fonts are not available, so it is falling back on generic Unicode characters in hopes that your browser will be able to display them. Some characters may not show up properly, or possibly not at all.", + webFonts: "Most modern browsers allow for fonts to be downloaded over the web. Updating to a more recent version of your browser (or changing browsers) could improve the quality of the mathematics on this page.", + fonts: "MathJax can use either the [STIX fonts](%1) or the [MathJax TeX fonts](%2). Download and install one of those fonts to improve your MathJax experience.", + STIXPage: "This page is designed to use the [STIX fonts](%1). Download and install those fonts to improve your MathJax experience.", + TeXPage: "This page is designed to use the [MathJax TeX fonts](%1). Download and install those fonts to improve your MathJax experience." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/en/HTML-CSS.js new file mode 100644 index 00000000..9cfee5d9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/en/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/en/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Loading web font %1", + CantLoadWebFont: "Cannot load web font %1", + FirefoxCantLoadWebFont: "Firefox cannot load web fonts from a remote host", + CantFindFontUsing: "Cannot find a valid font using %1", + WebFontsNotAvailable: "Web fonts not available. Using image fonts instead" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/en/HelpDialog.js new file mode 100644 index 00000000..0cfe9138 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/en/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/en/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax Help", + MathJax: "*MathJax* is a JavaScript library that allows page authors to include mathematics within their web pages. As a reader, you do not need to do anything to make that happen.", + Browsers: "*Browsers*: MathJax works with all modern browsers including IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ and most mobile browsers.", + Menu: "*Math menu*: MathJax adds a contextual menu to equations. Right-click or Ctrl-click on any mathematics to access the menu.", + ShowMath: "*Show math as* allows you to view the formula's source markup for copy \u0026 paste (as MathML or in its original format).", + Settings: "*Settings* gives you control over features of MathJax, such as the size of the mathematics, and the mechanism used to display equations.", + Language: "*Language* lets you select the language used by MathJax for its menus and warning messages.", + Zoom: "*Math zoom*: If you are having difficulty reading an equation, MathJax can enlarge it to help you see it better.", + Accessibilty: "*Accessibility*: MathJax will automatically work with screen readers to make mathematics accessible to the visually impaired.", + Fonts: "*Fonts*: MathJax will use certain math fonts if they are installed on your computer; otherwise, it will use web-based fonts. Although not required, locally installed fonts will speed up typesetting. We suggest installing the [STIX fonts](%1).", + CloseDialog: "Close help dialog" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/MathML.js b/src/py/kaleido/vendor/mathjax/localization/en/MathML.js new file mode 100644 index 00000000..7310e1df --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/en/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/en/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Bad mglyph: %1", + BadMglyphFont: "Bad font: %1", + MathPlayer: "MathJax was not able to set up MathPlayer.\n\nIf MathPlayer is not installed, you need to install it first.\nOtherwise, your security settings may be preventing ActiveX\ncontrols from running. Use the Internet Options item under\nthe Tools menu and select the Security tab, then press the\nCustom Level button. Check that the settings for\n'Run ActiveX Controls', and 'Binary and script behaviors'\nare enabled.\n\nCurrently you will see error messages rather than\ntypeset mathematics", + CantCreateXMLParser: "MathJax cannot create an XML parser for MathML. Check that\nthe 'Script ActiveX controls marked safe for scripting' security\nsetting is enabled (use the Internet Options item in the Tools\nmenu, and select the Security panel, then press the Custom Level\nbutton to check this).\n\nMathML equations will not be able to be processed by MathJax", + UnknownNodeType: "Unknown node type: %1", + UnexpectedTextNode: "Unexpected text node: %1", + ErrorParsingMathML: "Error parsing MathML", + ParsingError: "Error parsing MathML: %1", + MathMLSingleElement: "MathML must be formed by a single element", + MathMLRootElement: "MathML must be formed by a \u003Cmath\u003E element, not %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/en/MathMenu.js new file mode 100644 index 00000000..be2123ea --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/en/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/en/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Show math as", + MathMLcode: "MathML code", + OriginalMathML: "Original MathML", + TeXCommands: "TeX commands", + AsciiMathInput: "AsciiMathML input", + Original: "Original form", + ErrorMessage: "Error message", + Annotation: "Annotation", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "Show TeX hints in MathML", + Settings: "Math settings", + ZoomTrigger: "Zoom trigger", + Hover: "Hover", + Click: "Click", + DoubleClick: "Double-click", + NoZoom: "No zoom", + TriggerRequires: "Trigger requires:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Zoom factor", + Renderer: "Math renderer", + MPHandles: "Let MathPlayer handle:", + MenuEvents: "Menu events", + MouseEvents: "Mouse events", + MenuAndMouse: "Mouse and menu events", + FontPrefs: "Font preferences", + ForHTMLCSS: "For HTML-CSS:", + Auto: "Auto", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (image)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Contextual menu", + Browser: "Browser", + Scale: "Scale all math ...", + Discoverable: "Highlight on hover", + Locale: "Language", + LoadLocale: "Load from URL ...", + About: "About MathJax", + Help: "MathJax help", + localTeXfonts: "using local TeX fonts", + webTeXfonts: "using web TeX font", + imagefonts: "using Image fonts", + localSTIXfonts: "using local STIX fonts", + webSVGfonts: "using web SVG fonts", + genericfonts: "using generic Unicode fonts", + wofforotffonts: "WOFF or OTF fonts", + eotffonts: "EOT fonts", + svgfonts: "SVG fonts", + WebkitNativeMMLWarning: "Your browser does not seem to support MathML natively, so switching to MathML output may cause the mathematics on the page to become unreadable", + MSIENativeMMLWarning: "Internet Explorer requires the MathPlayer plugin in order to process MathML output.", + OperaNativeMMLWarning: "Opera's support for MathML is limited, so switching to MathML output may cause some expressions to render poorly.", + SafariNativeMMLWarning: "Your browser's native MathML does not implement all the features used by MathJax, so some expressions may not render properly.", + FirefoxNativeMMLWarning: "Your browser's native MathML does not implement all the features used by MathJax, so some expressions may not render properly.", + MSIESVGWarning: "SVG is not implemented in Internet Explorer prior to IE9 or when it is emulating IE8 or below. Switching to SVG output will cause the mathematics to not display properly.", + LoadURL: "Load translation data from this URL:", + BadURL: "The URL should be for a JavaScript file that defines MathJax translation data. JavaScript file names should end with '.js'", + BadData: "Failed to load translation data from %1", + SwitchAnyway: "Switch the renderer anyway?\n\n(Press OK to switch, CANCEL to continue with the current renderer)", + ScaleMath: "Scale all mathematics (compared to surrounding text) by", + NonZeroScale: "The scale should not be zero", + PercentScale: "The scale should be a percentage (for example 120%%)", + IE8warning: "This will disable the MathJax menu and zoom features, but you can Alt-Click on an expression to obtain the MathJax menu instead.\n\nReally change the MathPlayer settings?", + IE9warning: "The MathJax contextual menu will be disabled, but you can Alt-Click on an expression to obtain the MathJax menu instead.", + NoOriginalForm: "No original form available", + Close: "Close", + EqSource: "MathJax Equation Source", + CloseAboutDialog: "Close about MathJax dialog", + FastPreview: "Fast Preview", + AssistiveMML: "Assistive MathML", + InTabOrder: "Include in Tab Order" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/TeX.js b/src/py/kaleido/vendor/mathjax/localization/en/TeX.js new file mode 100644 index 00000000..dd7daeb2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/en/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/en/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Extra open brace or missing close brace", + ExtraCloseMissingOpen: "Extra close brace or missing open brace", + MissingLeftExtraRight: "Missing \\left or extra \\right", + MissingScript: "Missing superscript or subscript argument", + ExtraLeftMissingRight: "Extra \\left or missing \\right", + Misplaced: "Misplaced %1", + MissingOpenForSub: "Missing open brace for subscript", + MissingOpenForSup: "Missing open brace for superscript", + AmbiguousUseOf: "Ambiguous use of %1", + EnvBadEnd: "\\begin{%1} ended with \\end{%2}", + EnvMissingEnd: "Missing \\end{%1}", + MissingBoxFor: "Missing box for %1", + MissingCloseBrace: "Missing close brace", + UndefinedControlSequence: "Undefined control sequence %1", + DoubleExponent: "Double exponent: use braces to clarify", + DoubleSubscripts: "Double subscripts: use braces to clarify", + DoubleExponentPrime: "Prime causes double exponent: Use braces to clarify", + CantUseHash1: "You cannot use 'macro parameter character #' in math mode", + MisplacedMiddle: "%1 must be within \\left and \\right", + MisplacedLimits: "%1 is allowed only on operators", + MisplacedMoveRoot: "%1 can appear only within a root", + MultipleCommand: "Multiple %1", + IntegerArg: "The argument to %1 must be an integer", + NotMathMLToken: "%1 is not a token element", + InvalidMathMLAttr: "Invalid MathML attribute: %1", + UnknownAttrForElement: "%1 is not a recognized attribute for %2", + MaxMacroSub1: "MathJax maximum macro substitution count exceeded; is there a recursive macro call?", + MaxMacroSub2: "MathJax maximum substitution count exceeded; is there a recursive LaTeX environment?", + MissingArgFor: "Missing argument for %1", + ExtraAlignTab: "Extra alignment tab in \\cases text", + BracketMustBeDimension: "Bracket argument to %1 must be a dimension", + InvalidEnv: "Invalid environment name '%1'", + UnknownEnv: "Unknown environment '%1'", + ExtraCloseLooking: "Extra close brace while looking for %1", + MissingCloseBracket: "Could not find closing ']' for argument to %1", + MissingOrUnrecognizedDelim: "Missing or unrecognized delimiter for %1", + MissingDimOrUnits: "Missing dimension or its units for %1", + TokenNotFoundForCommand: "Could not find %1 for %2", + MathNotTerminated: "Math not terminated in text box", + IllegalMacroParam: "Illegal macro parameter reference", + MaxBufferSize: "MathJax internal buffer size exceeded; is there a recursive macro call?", + CommandNotAllowedInEnv: "%1 not allowed in %2 environment", + MultipleLabel: "Label '%1' multiply defined", + CommandAtTheBeginingOfLine: "%1 must come at the beginning of the line", + IllegalAlign: "Illegal alignment specified in %1", + BadMathStyleFor: "Bad math style for %1", + PositiveIntegerArg: "Argument to %1 must be a positive integer", + ErroneousNestingEq: "Erroneous nesting of equation structures", + MultlineRowsOneCol: "The rows within the %1 environment must have exactly one column", + MultipleBBoxProperty: "%1 specified twice in %2", + InvalidBBoxProperty: "'%1' does not look like a color, a padding dimension, or a style", + ExtraEndMissingBegin: "Extra %1 or missing \\begingroup", + GlobalNotFollowedBy: "%1 not followed by \\let, \\def, or \\newcommand", + UndefinedColorModel: "Color model '%1' not defined", + ModelArg1: "Color values for the %1 model require 3 numbers", + InvalidDecimalNumber: "Invalid decimal number", + ModelArg2: "Color values for the %1 model must be between %2 and %3", + InvalidNumber: "Invalid number", + NewextarrowArg1: "First argument to %1 must be a control sequence name", + NewextarrowArg2: "Second argument to %1 must be two integers separated by a comma", + NewextarrowArg3: "Third argument to %1 must be a Unicode character number", + NoClosingChar: "Cannot find closing %1", + IllegalControlSequenceName: "Illegal control sequence name for %1", + IllegalParamNumber: "Illegal number of parameters specified in %1", + MissingCS: "%1 must be followed by a control sequence", + CantUseHash2: "Illegal use of # in template for %1", + SequentialParam: "Parameters for %1 must be numbered sequentially", + MissingReplacementString: "Missing replacement string for definition of %1", + MismatchUseDef: "Use of %1 does not match its definition", + RunawayArgument: "Runaway argument for %1?", + NoClosingDelim: "Cannot find closing delimiter for %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/en/en.js b/src/py/kaleido/vendor/mathjax/localization/en/en.js new file mode 100644 index 00000000..28e127a3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/en/en.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/en/en.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("en",null,{ + menuTitle: "English", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax has found a user-configuration cookie that includes code to be run. Do you want to run it?\n\n(You should press Cancel unless you set up the cookie yourself.)", + MathProcessingError: "Math processing error", + MathError: "Math error", + LoadFile: "Loading %1", + Loading: "Loading", + LoadFailed: "File failed to load: %1", + ProcessMath: "Processing math: %1%%", + Processing: "Processing", + TypesetMath: "Typesetting math: %1%%", + Typesetting: "Typesetting", + MathJaxNotSupported: "Your browser does not support MathJax", + ErrorTips: "Debugging tips: use %%1, inspect %%2 in the browser console" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/en/en.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/eo/FontWarnings.js new file mode 100644 index 00000000..deeca606 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/eo/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/eo/HTML-CSS.js new file mode 100644 index 00000000..e760ca98 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/eo/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/eo/HelpDialog.js new file mode 100644 index 00000000..ae826ec2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/eo/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/MathML.js b/src/py/kaleido/vendor/mathjax/localization/eo/MathML.js new file mode 100644 index 00000000..ab8e209c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/eo/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/eo/MathMenu.js new file mode 100644 index 00000000..479bde55 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/eo/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/TeX.js b/src/py/kaleido/vendor/mathjax/localization/eo/TeX.js new file mode 100644 index 00000000..d8fc69df --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/eo/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/eo/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/eo/eo.js b/src/py/kaleido/vendor/mathjax/localization/eo/eo.js new file mode 100644 index 00000000..5f977b11 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/eo/eo.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/localization/eo/eo.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("eo",null,{ + menuTitle: "Esperanto", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + Loading: "\u015Cargado", + LoadFailed: "\u015Cargado de dosiero malsukcesis: %1", + ProcessMath: "Prilaborado de formulo: %1 %%", + Processing: "Prilaborado", + TypesetMath: "Kompostado de formulo: %1 %%", + Typesetting: "Kompostado", + MathJaxNotSupported: "Via krozilo ne subtenas Mathjax." + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/eo/eo.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/es/FontWarnings.js new file mode 100644 index 00000000..660353c3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/es/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/es/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax utiliza tipos de letra web para mostrar la notaci\u00F3n matem\u00E1tica de esta p\u00E1gina. Estos tardan un poco en descargarse, por lo que instalarlos en el equipo acelerar\u00E1 la renderizaci\u00F3n de la p\u00E1gina.", + imageFonts: "MathJax est\u00E1 utilizando sus fuentes de imagen en lugar de las fuentes locales o basadas en web. Esto renderizar\u00E1 m\u00E1s lento que de costumbre, y las matem\u00E1ticas no podr\u00E1n imprimir a la resoluci\u00F3n completa de la impresora.", + noFonts: "MathJax es incapaz de encontrar una fuente para mostrar sus matem\u00E1ticas y las fuentes de imagen no est\u00E1n disponibles, as\u00ED que usar\u00E1 caracteres Unicode gen\u00E9ricos con la esperanza de que el navegador ser\u00E1 capaz de mostrarlas. Es posible que algunos caracteres no se muestren correctamente, o no en absoluto.", + webFonts: "La mayor\u00EDa de los navegadores modernos permiten fuentes para ser descargadas a trav\u00E9s de la web. Actualizar a una versi\u00F3n m\u00E1s reciente de tu navegador (o cambiar de navegador) podr\u00EDa mejorar la calidad de las matem\u00E1ticas en esta p\u00E1gina.", + fonts: "MathJax puede utilizar las [fuentes STIX](%1) o las [fuentes TeX MathJax](%2). Descarga e instala una de esas fuentes para mejorar tu experiencia en MathJax.", + STIXPage: "Esta p\u00E1gina est\u00E1 dise\u00F1ada para usar las [fuentes STIX](%1). Descarga e instala esas fuentes para mejorar tu experiencia en MathJax.", + TeXPage: "Esta p\u00E1gina est\u00E1 dise\u00F1ada para usar las [fuentes MathJax TeX](%1). Descarga e instala esas fuentes para mejorar tu experiencia en MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/es/HTML-CSS.js new file mode 100644 index 00000000..fe9b5b22 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/es/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/es/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Cargando el tipo de letra web %1", + CantLoadWebFont: "No se pudo cargar la fuente web %1", + FirefoxCantLoadWebFont: "Firefox no puede cargar tipos de letra web desde un equipo remoto", + CantFindFontUsing: "No se puede encontrar un tipo de letra v\u00E1lido mediante %1", + WebFontsNotAvailable: "No hay fuentes web disponibles. Usando fuentes de imagen en su lugar" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/es/HelpDialog.js new file mode 100644 index 00000000..c220a7cb --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/es/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/es/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Ayuda de MathJax", + MathJax: "*MathJax* es una biblioteca en JavaScript que permite a los autores de p\u00E1ginas web incrustar notaci\u00F3n matem\u00E1tica. Como lector, no necesitas hacer nada para que eso suceda.", + Browsers: "*Navegadores*: MathJax funciona con todos los navegadores modernos, incluyendo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ y la mayor\u00EDa de los navegadores para m\u00F3vil.", + Menu: "*Men\u00FA Math*: MathJax a\u00F1ade un men\u00FA contextual para las ecuaciones. Haz clic derecho o Ctrl-clic en cualquier notaci\u00F3n matem\u00E1tica para acceder al men\u00FA.", + ShowMath: "*Mostrar la matem\u00E1tica como* permite ver el formato del c\u00F3digo fuente de la f\u00F3rmula para copiar y pegar (como MathML o en su formato original).", + Settings: "*Ajustes* te da el control sobre las funciones de MathJax, tales como el tama\u00F1o de las notaciones matem\u00E1ticas y el mecanismo que se utiliza para mostrar las ecuaciones.", + Language: "*Idioma* permite seleccionar el idioma utilizado por MathJax para sus men\u00FAs y mensajes de advertencia.", + Zoom: "*Zoom*: Si est\u00E1s teniendo dificultad para leer una ecuaci\u00F3n, MathJax puede ampliarla para ayudarte a verla mejor.", + Accessibilty: "*Accesibilidad*: MathJax funcionar\u00E1 autom\u00E1ticamente con los lectores de pantalla para hacer accesible a las personas con discapacidad visual.", + Fonts: "*Tipos de letra*: MathJax utiliza determinados tipos de letra matem\u00E1ticas si est\u00E1n instalados en tu ordenador. De lo contrario, utilizar\u00E1 tipos de letra en web. Aunque no es necesario, los tipos de letra instalados localmente aumentar\u00E1 la velocidad de composici\u00F3n tipogr\u00E1fica. Sugerimos instalar los tipos de letra [STIX](%1).", + CloseDialog: "Cerrar el di\u00E1logo de ayuda" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/MathML.js b/src/py/kaleido/vendor/mathjax/localization/es/MathML.js new file mode 100644 index 00000000..09002e69 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/es/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/es/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u00ABmglyph\u00BB da\u00F1ado: %1", + BadMglyphFont: "Tipo de letra da\u00F1ado: %1", + MathPlayer: "MathJax no fue capaz de configurar MathPlayer.\n\nSi no est\u00E1 instalado MathPlayer, tienes que instalarlo primero.\nDe lo contrario, la configuraci\u00F3n de seguridad puede impedir que los controles de ActiveX\nfuncionen. Utiliza el elemento en opciones de Internet en el men\u00FA Herramientas y selecciona la ficha Seguridad, luego presiona el\nbot\u00F3n de nivel personalizado. Comprueba que la configuraci\u00F3n de\n\"Ejecutar controles ActiveX\" y \"comportamientos binarios y script\"\nest\u00E1n activados.\n\nActualmente ver\u00E1s los mensajes de error en lugar de la\ntipograf\u00EDa matem\u00E1tica", + CantCreateXMLParser: "MathJax no puede crear un analizador de XML para MathML. Comprueba que la configuraci\u00F3n de seguridad \"controles de secuencia de comandos ActiveX marcados como seguros para scripts\" est\u00E1 habilitada (utiliza el elemento en opciones de Internet en el men\u00FA Herramientas y selecciona el panel de seguridad, luego presiona el bot\u00F3n de nivel personalizado para comprobarlo).\n\nLas ecuaciones MathML no podr\u00E1n ser procesadas por MathJax", + UnknownNodeType: "Tipo de nodo desconocido: %1", + UnexpectedTextNode: "Nodo de texto inesperado: %1", + ErrorParsingMathML: "Error al analizar MathML", + ParsingError: "Error al analizar MathML: %1", + MathMLSingleElement: "MathML debe estar formado por un solo elemento", + MathMLRootElement: "MathML debe estar formado por un elemento \u003Cmath\u003E, no %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/es/MathMenu.js new file mode 100644 index 00000000..0c28ef4e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/es/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/es/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Mostrar las f\u00F3rmulas como", + MathMLcode: "C\u00F3digo de MathML", + OriginalMathML: "MathML original", + TeXCommands: "\u00D3rdenes de TeX", + AsciiMathInput: "Entrada AsciiMathML", + Original: "Forma original", + ErrorMessage: "Mensaje de error", + Annotation: "Anotaci\u00F3n", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Contenido MathML", + OpenMath: "OpenMath", + texHints: "Mostrar sugerencias TeX en MathML", + Settings: "Configuraci\u00F3n matem\u00E1tica", + ZoomTrigger: "Activar zoom", + Hover: "Apuntar con el rat\u00F3n", + Click: "Pulsaci\u00F3n del rat\u00F3n", + DoubleClick: "Pulsaci\u00F3n doble del rat\u00F3n", + NoZoom: "Sin ampliaci\u00F3n", + TriggerRequires: "La activaci\u00F3n requiere:", + Option: "Opci\u00F3n", + Alt: "Alt", + Command: "Orden", + Control: "Control", + Shift: "May\u00FAs", + ZoomFactor: "Factor de ampliaci\u00F3n", + Renderer: "Renderizador matem\u00E1tico", + MPHandles: "Permitir que MathPlayer gestione:", + MenuEvents: "Eventos del men\u00FA", + MouseEvents: "Eventos del rat\u00F3n", + MenuAndMouse: "Eventos del men\u00FA y del rat\u00F3n", + FontPrefs: "Preferencias tipogr\u00E1ficas", + ForHTMLCSS: "Para HTML-CSS:", + Auto: "Autom\u00E1tico", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imagen)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Men\u00FA contextual", + Browser: "Navegador", + Scale: "Escalar todas las f\u00F3rmulas\u2026", + Discoverable: "Resaltar al apuntar con el rat\u00F3n", + Locale: "Idioma", + LoadLocale: "Cargar a partir de URL\u2026", + About: "Acerca de MathJax", + Help: "Ayuda de MathJax", + localTeXfonts: "usando tipos de letra locales TeX", + webTeXfonts: "usando tipo de letra web TeX", + imagefonts: "usando tipos de letra de imagen", + localSTIXfonts: "usando tipos de letra locales STIX", + webSVGfonts: "usando tipos de letra web SVG", + genericfonts: "usando tipos de letra Unicode gen\u00E9ricas", + wofforotffonts: "Tipos de letra WOFF u OTF", + eotffonts: "Tipos de letra EOT", + svgfonts: "Tipos de letra SVG", + WebkitNativeMMLWarning: "Parece que tu navegador no admite MathML de manera nativa; si cambias a la salida MathML es posible que la notaci\u00F3n matem\u00E1tica de la p\u00E1gina se vuelva ilegible", + MSIENativeMMLWarning: "Internet Explorer necesita el complemento MathPlayer para procesar la salida de MathML.", + OperaNativeMMLWarning: "La compatibilidad de Opera con MathML es limitada, por lo que cambiar a la salida de MathML puede causar que algunas expresiones no se visualicen bien.", + SafariNativeMMLWarning: "El MathML nativo de tu navegador no implementa todas las funciones utilizadas por MathJax, por lo que algunas expresiones pueden no visualizarse correctamente.", + FirefoxNativeMMLWarning: "El MathML nativo de tu navegador no implementa todas las funciones utilizadas por MathJax, por lo que algunas expresiones pueden no visualizarse correctamente.", + MSIESVGWarning: "SVG no est\u00E1 implementado en Internet Explorer anterior a IE9 o cuando se est\u00E1 emulando IE8 o anteriores. Cambiar a la salida SVG har\u00E1 que la notaci\u00F3n matem\u00E1tica no se visualice correctamente.", + LoadURL: "Cargar datos de traducci\u00F3n desde esta direcci\u00F3n URL:", + BadURL: "La direcci\u00F3n URL debe ser para un archivo JavaScript que define los datos de traducci\u00F3n de MathJax. Los nombres de los archivos de JavaScript deben terminar con \".js\"", + BadData: "No se pudieron cargar los datos de traducci\u00F3n de %1", + SwitchAnyway: "\u00BFCambiar al renderizador de todos modos?\n\n(Presiona OK para cambiar, CANCELAR para continuar con el renderizador actual)", + ScaleMath: "Escalar toda la matem\u00E1tica (comparado con el texto circundante) por", + NonZeroScale: "La escala no debe ser cero", + PercentScale: "La escala debe ser un porcentaje (p. ej.: 120 %%)", + IE8warning: "Esto deshabilitar\u00E1 las funciones de men\u00FA y zoom de MathJax, pero puedes pulsar Alt-Clic en una expresi\u00F3n para obtener el men\u00FA MathJax en su lugar.\n\n\u00BFRealmente quieres cambiar la configuraci\u00F3n de MathPlayer?", + IE9warning: "El men\u00FA contextual de MathJax ser\u00E1 desactivado, pero puedes pulsar Alt-Clic en una expresi\u00F3n para obtener el men\u00FA MathJax en su lugar.", + NoOriginalForm: "La forma original no est\u00E1 disponible", + Close: "Cerrar", + EqSource: "C\u00F3digo de la ecuaci\u00F3n de MathJax", + CloseAboutDialog: "Cerrar el di\u00E1logo de acerca de MathJax", + FastPreview: "Vista previa r\u00E1pida", + AssistiveMML: "Asistente MathML", + InTabOrder: "Incluir en el Orden de Pesta\u00F1as" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/TeX.js b/src/py/kaleido/vendor/mathjax/localization/es/TeX.js new file mode 100644 index 00000000..0655e680 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/es/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/es/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Llave de apertura adicional o falta la llave de cierre", + ExtraCloseMissingOpen: "Llave de cierre adicional o falta la llave de apertura", + MissingLeftExtraRight: "Falta \\left o \\right adicional", + MissingScript: "Falta argumento super\u00EDndice o sub\u00EDndice", + ExtraLeftMissingRight: "\\left adicional o falta \\right", + Misplaced: "%1 ubicado incorrectamente", + MissingOpenForSub: "Falta la llave de apertura para el sub\u00EDndice", + MissingOpenForSup: "Falta la llave de apertura para super\u00EDndice", + AmbiguousUseOf: "Uso ambiguo de %1", + EnvBadEnd: "\\begin{%1} termina con \\end{%2}", + EnvMissingEnd: "Falta \\end{%1}", + MissingBoxFor: "Falta la caja para %1", + MissingCloseBrace: "Falta la llave de cierre", + UndefinedControlSequence: "Secuencia de control indefinida %1", + DoubleExponent: "Doble exponente: utiliza llaves para aclarar", + DoubleSubscripts: "Doble sub\u00EDndices: utiliza llaves para aclarar", + DoubleExponentPrime: "El s\u00EDmbolo \u00ABprima\u00BB causa un exponente doble, utiliza llaves para aclarar", + CantUseHash1: "No puedes utilizar \"n\u00FAmero de car\u00E1cter de par\u00E1metro de macro\" en modo matem\u00E1tico", + MisplacedMiddle: "%1 debe estar dentro de \\left y \\right", + MisplacedLimits: "%1 est\u00E1 permitido solo en operadores", + MisplacedMoveRoot: "%1 solo puede aparecer dentro de una ra\u00EDz", + MultipleCommand: "M\u00FAltiples %1", + IntegerArg: "El argumento para %1 debe ser un entero", + NotMathMLToken: "%1 no es un elemento", + InvalidMathMLAttr: "El atributo MathML no es v\u00E1lido: %1", + UnknownAttrForElement: "%1 no es un atributo reconocido para %2", + MaxMacroSub1: "Conteo m\u00E1ximo de sustituci\u00F3n de macro MathJax superado, \u00BFhay una llamada recursiva de macro?", + MaxMacroSub2: "Se excedi\u00F3 el conteo m\u00E1ximo de sustituci\u00F3n MathJax, \u00BFhay un ambiente recursivo de LaTeX?", + MissingArgFor: "Falta el argumento para %1", + ExtraAlignTab: "Ficha de alineaci\u00F3n adicional en texto \\cases", + BracketMustBeDimension: "El argumento de par\u00E9ntesis %1 debe ser una dimensi\u00F3n", + InvalidEnv: "Nombre de entorno \u00AB%1\u00BB no v\u00E1lido", + UnknownEnv: "Entorno desconocido \u00AB%1\u00BB", + ExtraCloseLooking: "Llave de cierre adicional al buscar %1", + MissingCloseBracket: "No se pudo encontrar \"]\" de cierre para el argumento %1", + MissingOrUnrecognizedDelim: "Delimitador no reconocido o faltante para %1", + MissingDimOrUnits: "Falta la dimensi\u00F3n o sus unidades para %1", + TokenNotFoundForCommand: "No se pudo encontrar %1 para %2", + MathNotTerminated: "La notaci\u00F3n matem\u00E1tica no termina en el cuadro de texto", + IllegalMacroParam: "Referencia de par\u00E1metro de macro ilegal", + MaxBufferSize: "Tama\u00F1o del b\u00FAfer interno de MathJax excedido. \u00BFHay una llamada macro recursiva?", + CommandNotAllowedInEnv: "%1 no permitido en el entorno %2", + MultipleLabel: "Se defini\u00F3 la etiqueta \u00AB%1\u00BB varias veces", + CommandAtTheBeginingOfLine: "%1 debe aparecer al principio de la l\u00EDnea", + IllegalAlign: "Se especific\u00F3 un alineamiento incorrecto en %1", + BadMathStyleFor: "Estilo matem\u00E1tico err\u00F3neo para %1", + PositiveIntegerArg: "El argumento de %1 debe ser un entero positivo", + ErroneousNestingEq: "Anidaci\u00F3n err\u00F3nea de estructuras de ecuaciones", + MultlineRowsOneCol: "Las filas dentro del entorno %1 deben tener exactamente una columna", + MultipleBBoxProperty: "Se ha especificado %1 dos veces en %2", + InvalidBBoxProperty: "\"%1\" no parece ser un color, una dimensi\u00F3n de relleno o un estilo", + ExtraEndMissingBegin: "%1 adicional o falta \\begingroup", + GlobalNotFollowedBy: "%1 no va seguido de \\let, \\def o \\newcommand", + UndefinedColorModel: "El modelo de color \u00AB%1\u00BB no est\u00E1 definido", + ModelArg1: "Los valores de color para el modelo %1 requieren 3 n\u00FAmeros", + InvalidDecimalNumber: "El n\u00FAmero decimal no es v\u00E1lido", + ModelArg2: "Los valores de color para el modelo %1 deben estar entre %2 y %3", + InvalidNumber: "El n\u00FAmero no es v\u00E1lido", + NewextarrowArg1: "El primer argumento de %1 debe ser un nombre de secuencia de control", + NewextarrowArg2: "El segundo argumento de %1 debe ser dos n\u00FAmeros enteros separados por una coma", + NewextarrowArg3: "El tercer argumento de %1 debe ser un n\u00FAmero de caracteres Unicode", + NoClosingChar: "No se puede encontrar el %1 de cierre", + IllegalControlSequenceName: "El nombre de la secuencia de control para %1 es incorrecto", + IllegalParamNumber: "Se especific\u00F3 una cantidad incorrecta de par\u00E1metros en %1", + MissingCS: "A %1 ha de a\u00F1ad\u00EDrsele una secuencia de control", + CantUseHash2: "Uso incorrecto de \u00AB#\u00BB en la plantilla para %1", + SequentialParam: "Los par\u00E1metros para %1 deben ser numerados de forma secuencial", + MissingReplacementString: "Falta la cadena de sustituci\u00F3n para la definici\u00F3n de %1", + MismatchUseDef: "El uso de %1 no coincide con su definici\u00F3n", + RunawayArgument: "\u00BFArgumento de escape para %1?", + NoClosingDelim: "No se puede encontrar el delimitador de cierre para %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/es/es.js b/src/py/kaleido/vendor/mathjax/localization/es/es.js new file mode 100644 index 00000000..419a1eab --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/es/es.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/es/es.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("es",null,{ + menuTitle: "espa\u00F1ol", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax ha encontrado una cookie de configuraci\u00F3n de usuario que incluye c\u00F3digo para ser ejecutado.\u00BFQuieres ejecutarlo?\n\\n\n(Pulse Cancelar al menos que configure la cookie).", + MathProcessingError: "Error de procesamiento de matem\u00E1ticas", + MathError: "Error de matem\u00E1ticas", + LoadFile: "Cargando %1", + Loading: "Cargando", + LoadFailed: "Fall\u00F3 la carga del archivo: %1", + ProcessMath: "Procesando notaci\u00F3n matem\u00E1tica: %1\u00A0%%", + Processing: "Procesando", + TypesetMath: "Composici\u00F3n tipogr\u00E1fica en curso: %1 %%", + Typesetting: "Composici\u00F3n tipogr\u00E1fica", + MathJaxNotSupported: "El navegador no admite MathJax", + ErrorTips: "Consejos de depuraci\u00F3n: utilice %%1, inspeccione %%2 en la consola del navegador" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/es/es.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/fa/FontWarnings.js new file mode 100644 index 00000000..a1833b7c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fa/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/fa/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0632\u0645\u0627\u0646\u06CC \u062C\u0647\u062A \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0628\u06AF\u06CC\u0631\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0631\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u0633\u062A\u0642\u06CC\u0645 \u062F\u0631 \u067E\u0648\u0634\u0647\u0654 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0633\u06CC\u0633\u062A\u0645\u200C\u0639\u0627\u0645\u0644 \u062E\u0648\u062F \u0642\u0631\u0627\u0631 \u062F\u0647\u06CC\u062F \u0646\u0645\u0627\u06CC\u0634 \u0635\u0641\u062D\u0627\u062A \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u0646\u062F \u0634\u062F.", + imageFonts: "MathJax \u0628\u0647 \u062C\u0627\u06CC \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u062D\u0644\u06CC \u06CC\u0627 \u0648\u0628\u06CC \u0627\u0632 \u062A\u0635\u0627\u0648\u06CC\u0631 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0627\u0632 \u062D\u0627\u0644\u062A \u0639\u0627\u062F\u06CC \u06A9\u0646\u062F\u062A\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u062F\u0631 \u062C\u0632\u0626\u06CC\u0627\u062A \u06A9\u0627\u0645\u0644 \u0686\u0627\u067E\u06AF\u0631 \u0634\u0645\u0627 \u0686\u0627\u067E \u0646\u0634\u0648\u0646\u062F.", + noFonts: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A \u0642\u0644\u0645\u06CC \u06A9\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F \u0631\u0627 \u0628\u06CC\u0627\u0628\u062F \u0648 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0647 \u0627\u06CC\u0646 \u0627\u0645\u06CC\u062F \u06A9\u0647 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u062A\u0648\u0627\u0646\u062F \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0639\u0645\u0648\u0645\u06CC \u0631\u0627 \u0686\u0627\u067E \u06A9\u0646\u062F \u0628\u0647 \u0622\u0646\u200C\u0647\u0627 \u0628\u0627\u0632\u0645\u06CC\u200C\u06AF\u0631\u062F\u062F. \u0628\u0639\u0636\u06CC \u0627\u0632 \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u06CC\u0627 \u0627\u0635\u0644\u0627\u064B \u0628\u0647 \u06A9\u0644 \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + webFonts: "\u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC \u062F\u0647\u0646\u062F \u06A9\u0647 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0632 \u0637\u0631\u06CC\u0642 \u0648\u0628 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0634\u0648\u0646\u062F. \u0628\u0647\u200C\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC\u200C\u06A9\u0631\u062F\u0646 \u0628\u0647 \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u062E\u0631\u06CC\u0646 \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0645\u0631\u0648\u0631\u06AF\u0631\u062A\u0627\u0646 (\u06CC\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631) \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u06A9\u06CC\u0641\u06CC\u062A \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", + fonts: "MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u06CC\u0627 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%2) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u0646\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", + STIXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC\u200C\u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0628\u0647\u0628\u0648\u062F \u06CC\u0627\u0628\u062F.", + TeXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC \u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u06A9\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u0645\u06CC\u200C\u0628\u062E\u0634\u062F." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/fa/HTML-CSS.js new file mode 100644 index 00000000..9711f61e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fa/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/fa/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0642\u0644\u0645 \u0648\u0628\u06CC %1", + CantLoadWebFont: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u0642\u0644\u0645 \u0648\u0628\u06CC %1 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0631\u062F", + FirefoxCantLoadWebFont: "\u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0631\u0627 \u0627\u0632 \u06CC\u06A9 \u0645\u06CC\u0632\u0627\u0646 \u0627\u0632 \u0631\u0627\u0647 \u062F\u0648\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F", + CantFindFontUsing: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u06CC\u06A9 \u0642\u0644\u0645 \u0645\u0639\u062A\u0628\u0631 \u0628\u0627\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 %1 \u06CC\u0627\u0641\u062A", + WebFontsNotAvailable: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0646\u0627\u0645\u0648\u062C\u0648\u062F\u0646\u062F -- \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0628\u0647 \u062C\u0627\u06CC \u0622\u0646" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/fa/HelpDialog.js new file mode 100644 index 00000000..dde9c05d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fa/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/fa/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", + MathJax: "*MathJax* \u06CC\u06A9 \u06A9\u062A\u0627\u0628\u062E\u0627\u0646\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0646\u0648\u06CC\u0633\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u0635\u0641\u062D\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u062F\u0631\u0648\u0646 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC \u0642\u0631\u0627\u0631 \u062F\u0647\u0646\u062F. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062E\u0648\u0627\u0646\u0646\u062F\u0647\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u0646\u062F\u0627\u0631\u06CC\u062F \u06A9\u0627\u0631\u06CC \u0627\u0646\u062C\u0627\u0645 \u062F\u0647\u06CC\u062F \u06A9\u0647 \u0627\u06CC\u0646 \u0627\u062A\u0641\u0627\u0642 \u0628\u06CC\u0641\u062A\u062F.", + Browsers: "*\u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627*: MathJax \u0628\u0627 \u0647\u0645\u0647\u0654 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0634\u0627\u0645\u0644 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u06F3 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u06A9\u0631\u0648\u0645 \u06F0.\u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0633\u0627\u0641\u0627\u0631\u0633\u06CC \u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0627\u067E\u0631\u0627\u06CC \u06F9.\u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627 \u0648 \u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u062A\u0644\u0641\u0646 \u0647\u0645\u0631\u0627\u0647 \u06A9\u0627\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F.", + Menu: "*\u0645\u0646\u0648\u06CC \u0631\u06CC\u0627\u0636\u06CC*: MathJax \u06CC\u06A9 \u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC \u0628\u0647 \u0645\u0639\u0627\u062F\u0644\u0627\u062A \u0645\u06CC\u200C\u0627\u0641\u0632\u0627\u06CC\u062F. \u0628\u0627 \u06A9\u0644\u06CC\u06A9 \u0631\u0627\u0633\u062A \u06CC\u0627 \u06A9\u0644\u06CC\u06A9 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u0647\u0627\u0631 (CTRL) \u062F\u0631 \u0647\u0631 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0627\u06CC \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0647 \u0627\u06CC\u0646 \u0645\u0646\u0648 \u062F\u0633\u062A \u0628\u06CC\u0627\u0628\u06CC\u062F.", + ShowMath: "*\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC \u0628\u0647 \u0639\u0646\u0648\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0634\u0645\u0627 \u0645\u0646\u0628\u0639 \u0646\u0634\u0627\u0646\u0647\u200C\u06AF\u0630\u0627\u0631\u06CC \u0641\u0631\u0645\u0648\u0644 \u0631\u0627 \u0628\u0631\u0627\u06CC \u0631\u0648\u0646\u0648\u0634\u062A \u0648 \u0686\u0633\u067E\u0627\u0646\u062F\u0646 \u0628\u0628\u06CC\u0646\u06CC\u062F (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 MathML \u06CC\u0627 \u062F\u0631 \u0642\u0627\u0644\u0628 \u0627\u0635\u0644\u06CC \u0622\u0646).", + Settings: "*\u062A\u0646\u0638\u06CC\u0645\u0627\u062A* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0628\u0647 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC MathJax \u0627\u0632 \u062C\u0645\u0644\u0647\u0654 \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0648 \u0645\u06A9\u0627\u0646\u06CC\u0632\u0645 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u06A9\u0646\u062A\u0631\u0644 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F.", + Language: "*\u0632\u0628\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0634\u0645\u0627 \u0632\u0628\u0627\u0646 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0628\u0631\u0627\u06CC \u0645\u0646\u0648\u0647\u0627 \u0648 \u067E\u06CC\u063A\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627 \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F.", + Zoom: "*\u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u06CC\u0627\u0636\u06CC*: \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0627 \u062E\u0648\u0627\u0646\u062F\u0646 \u06CC\u06A9 \u0645\u0639\u0627\u062F\u0644\u0647 \u0645\u0634\u06A9\u0644\u06CC \u062F\u0627\u0631\u06CC\u062F\u060C MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 \u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0628\u0647 \u062F\u06CC\u062F\u0646 \u0634\u0645\u0627 \u06A9\u0645\u06A9 \u06A9\u0646\u062F.", + Accessibilty: "*\u062F\u0633\u062A\u06CC\u0627\u0628\u06CC\u200C\u067E\u0630\u06CC\u0631\u06CC*: MathJax \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u062E\u0648\u062F\u06A9\u0627\u0631 \u0628\u0627 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u0628\u0631\u0627\u06CC \u0642\u0627\u0628\u0644 \u062F\u0633\u062A\u0631\u0633 \u0628\u0631\u0627\u06CC \u06A9\u0633\u0627\u0646\u06CC \u06A9\u0647 \u0645\u0634\u06A9\u0644 \u0628\u06CC\u0646\u0627\u06CC\u06CC \u062F\u0627\u0631\u0646\u062F \u0639\u0645\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F.", + Fonts: "*\u0642\u0644\u0645\u200C\u0647\u0627*: MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u0634\u062E\u0635\u06CC \u0627\u06AF\u0631 \u0628\u0631 \u0631\u0648\u06CC \u0631\u0627\u06CC\u0627\u0646\u0647\u0654 \u0634\u0645\u0627 \u0646\u0635\u0628 \u0628\u0627\u0634\u0646\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F\u061B \u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0628\u0631 \u067E\u0627\u06CC\u0647\u0654 \u0648\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0627\u06AF\u0631\u0686\u0647 \u0646\u06CC\u0627\u0632\u06CC \u0646\u06CC\u0633\u062A\u060C \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0646\u0635\u0628\u200C\u0634\u062F\u0647 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0645\u0627 \u0646\u0635\u0628 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0631\u0627 \u067E\u06CC\u0634\u0646\u0647\u0627\u062F \u0645\u06CC\u200C\u06A9\u0646\u06CC\u0645." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/MathML.js b/src/py/kaleido/vendor/mathjax/localization/fa/MathML.js new file mode 100644 index 00000000..31367689 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fa/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/fa/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", + BadMglyphFont: "\u0642\u0644\u0645 \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", + MathPlayer: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A MathPlayer \u0631\u0627 \u0631\u0627\u0647\u200C\u0627\u0646\u062F\u0627\u0632\u06CC \u06A9\u0646\u062F.\n\n\u0627\u06AF\u0631 MathPlayer \u0646\u0635\u0628 \u0646\u06CC\u0633\u062A\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u062F\u0627\u0631\u06CC\u062F \u06A9\u0647 \u0627\u0628\u062A\u062F\u0627 \u0622\u0646 \u0631\u0627 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F.\n\u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A\u060C \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u0634\u0645\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 \u0627\u062C\u0631\u0627\u06CC\n\u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633 \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F. \u0627\u0632 \u06AF\u0632\u06CC\u0646\u0647\u200C\u0647\u0627\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0645\u0648\u062C\u0648\u062F \u0632\u06CC\u0631\n\u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u0628\u0631\u06AF\u0647\u0654 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F\u060C \u0633\u067E\u0633 \u062F\u06A9\u0645\u0647\u0654\n\u0645\u0631\u062C\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u0631\u0627 \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F. \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u062C\u0631\u0627\u06CC\n\u00AB\u0627\u062C\u0631\u0627\u06CC \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\u00BB \u0648 \u00AB\u0631\u0641\u062A\u0627\u0631\u0647\u0627\u06CC \u062F\u0648\u062F\u0648\u06CC\u06CC \u0648 \u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u00BB \u0641\u0639\u0627\u0644\n\u0647\u0633\u062A\u0646\u062F.\n\n\u062F\u0631 \u062D\u0627\u0644 \u062D\u0627\u0636\u0631 \u0634\u0645\u0627 \u0628\u0647 \u062C\u0627\u06CC \u062D\u0631\u0648\u0641 \u0631\u06CC\u0627\u0636\u06CC \u067E\u06CC\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627\u06CC \u062E\u0648\u0627\u0647\u06CC\u062F \u062F\u06CC\u062F.", + CantCreateXMLParser: "MathJax \u0646\u062A\u0648\u0627\u0633\u062A \u06CC\u06A9 \u062A\u062C\u0632\u06CC\u0647\u200C\u06AF\u0631 \u0627\u06A9\u0633\u200C\u0627\u0645\u200C\u0627\u0644 \u0628\u0631\u0627\u06CC MathML \u0627\u06CC\u062C\u0627\u062F \u06A9\u0646\u062F.\n\u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u00AB\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\n\u0639\u0644\u0627\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC\u200C\u0634\u062F\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u0645\u0646 \u0628\u0631\u0627\u06CC \u06A9\u062F\u0632\u0646\u06CC\u00BB \u0641\u0639\u0627\u0644 \u0627\u0633\u062A (\u0627\u0632\n\u06AF\u0632\u06CC\u0646\u0647\u0654 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u06AF\u0632\u06CC\u0646\u0647 \u062F\u0631 \u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u067E\u0646\u0644 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628\n\u06A9\u0646\u06CC\u062F \u0648 \u062F\u06A9\u0645\u0647\u0654 \u0645\u0631\u062D\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u062A\u0627 \u0627\u06CC\u0646 \u0631\u0627 \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F).\n\n\u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC MathML \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u0646\u062F \u062A\u0648\u0633\u0637 MathJax \u067E\u0631\u062F\u0627\u0632\u0634 \u06AF\u0631\u062F\u0646\u062F.", + UnknownNodeType: "\u0646\u0648\u0639 \u06AF\u0631\u0647\u0654 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647: %1", + UnexpectedTextNode: "\u06AF\u0631\u0647\u0654 \u0645\u062A\u0646\u06CC \u063A\u06CC\u0631\u0645\u0646\u062A\u0638\u0631\u0647:\u200C %1", + ErrorParsingMathML: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML", + ParsingError: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML\u200F: %1", + MathMLSingleElement: "MathML \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0648\u0627\u062D\u062F \u0628\u06CC\u0627\u06CC\u062F", + MathMLRootElement: "MathML \u0628\u0627\u06CC\u062F \u062A\u0648\u0633\u0637 \u0639\u0646\u0635\u0631 \u003Cmath\u003E \u062A\u0634\u06A9\u06CC\u0644 \u0634\u062F\u0647 \u0628\u0627\u0634\u062F \u0646\u0647 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/fa/MathMenu.js new file mode 100644 index 00000000..2a444a5c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fa/MathMenu.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/localization/fa/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u0639\u0646\u0648\u0627\u0646", + MathMLcode: "\u06A9\u062F MathML", + OriginalMathML: "MathML \u0627\u0635\u0644\u06CC", + TeXCommands: "\u062F\u0633\u062A\u0648\u0631\u0627\u062A \u062A\u06A9", + AsciiMathInput: "\u0648\u0631\u0648\u062F\u06CC AsciiMathML", + Original: "\u062D\u0627\u0644\u062A \u0627\u0635\u0644\u06CC", + ErrorMessage: "\u067E\u06CC\u0627\u0645 \u062E\u0637\u0627", + Annotation: "\u06CC\u0627\u062F\u062F\u0627\u0634\u062A", + TeX: "\u062A\u06A9", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML \u0645\u062D\u062A\u0648\u0627", + OpenMath: "OpenMath", + texHints: "\u0646\u0645\u0627\u06CC\u0634 \u0646\u06A9\u062A\u0647\u200C\u0647\u0627\u06CC \u062A\u06A9 \u062F\u0631 MathML", + Settings: "\u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A", + ZoomTrigger: "\u0645\u0627\u0634\u0647\u0654 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + Hover: "\u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC \u0622\u0646", + Click: "\u06A9\u0644\u06CC\u06A9", + DoubleClick: "\u062F\u0648\u0628\u0627\u0631 \u06A9\u0644\u06CC\u06A9", + NoZoom: "\u0628\u062F\u0648\u0646 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + TriggerRequires: "\u062A\u063A\u06CC\u06CC\u0631 \u062D\u0627\u0644\u062A \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A \u0628\u0647:", + Option: "\u06AF\u0632\u06CC\u0646\u0647", + Alt: "\u062F\u06AF\u0631\u0633\u0627\u0632", + Command: "\u062F\u0633\u062A\u0648\u0631", + Control: "\u0645\u0647\u0627\u0631", + Shift: "\u062A\u0628\u062F\u06CC\u0644", + ZoomFactor: "\u0636\u0631\u06CC\u0628 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + Renderer: "\u0627\u0631\u0627\u0626\u0647\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC", + MPHandles: "\u0627\u062C\u0627\u0632\u0647\u200C\u0628\u062F\u0647 MathPlayer \u0645\u062F\u06CC\u0631\u06CC\u062A \u06A9\u0646\u062F:", + MenuEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0646\u0648", + MouseEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647", + MenuAndMouse: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0648 \u0645\u0646\u0648", + FontPrefs: "\u062A\u0631\u062C\u06CC\u062D\u0627\u062A \u0642\u0644\u0645", + ForHTMLCSS: "\u0628\u0631\u0627\u06CC \u0627\u0686\u200C\u062A\u06CC\u200C\u0627\u0645\u200C\u0627\u0644-\u0633\u06CC\u200C\u0627\u0633\u200C\u0627\u0633:", + Auto: "\u062E\u0648\u062F\u06A9\u0627\u0631", + TeXLocal: "\u062A\u06A9 (\u0645\u062D\u0644\u06CC)", + TeXWeb: "\u062A\u06A9 (\u0648\u0628)", + TeXImage: "\u062A\u06A9 (\u0646\u06AF\u0627\u0631\u0647)", + STIXLocal: "STIX (\u0645\u062D\u0644\u06CC)", + STIXWeb: "STIX (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + AsanaMathWeb: "\u0631\u06CC\u0627\u0636\u06CC \u0622\u0633\u0627\u0646\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + GyrePagellaWeb: "\u06AF\u0631\u06CC \u067E\u0627\u06AF\u0644\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + GyreTermesWeb: "\u06AF\u06CC\u0631 \u062A\u0631\u0645\u0632 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + LatinModernWeb: "\u0644\u0627\u062A\u06CC\u0646 \u0645\u062F\u0631\u0646 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + NeoEulerWeb: "\u0646\u0626\u0648 \u0627\u0648\u06CC\u0644\u0631 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + ContextMenu: "\u0645\u0646\u0648 \u0645\u062A\u0646\u06CC", + Browser: "\u0645\u0631\u0648\u0631\u06AF\u0631", + Scale: "\u0645\u0642\u06CC\u0627\u0633\u200C\u062F\u0647\u06CC \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A ...", + Discoverable: "\u0628\u0631\u062C\u0633\u062A\u0647\u200C\u0634\u062F\u0646 \u0628\u0627 \u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC\u0634", + Locale: "\u0632\u0628\u0627\u0646", + LoadLocale: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC ...", + About: "\u062F\u0631\u0628\u0627\u0631\u0647\u0654 MathJax", + Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", + localTeXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 \u0645\u062D\u0644\u06CC", + webTeXfonts: "\u0628\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645 \u0648\u0628\u06CC \u062A\u06A9", + imagefonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC", + localSTIXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX \u0645\u062D\u0644\u06CC", + webSVGfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC SVG", + genericfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0639\u0645\u0648\u0645\u06CC \u06CC\u0648\u0646\u06CC\u06A9\u062F", + wofforotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC woff \u06CC\u0627 otf", + eotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC eot", + svgfonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC svg", + WebkitNativeMMLWarning: "\u0628\u0647 \u0646\u0638\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathML \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F\u060C \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0631\u0641\u062A\u0646 \u0628\u0647 \u062D\u0627\u0644\u062A \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0635\u0641\u062D\u0647 \u063A\u06CC\u0631\u0642\u0627\u0628\u0644 \u062E\u0648\u0627\u0646\u062F\u0646 \u0634\u0648\u0646\u062F.", + MSIENativeMMLWarning: "\u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0628\u0647 \u0627\u0641\u0632\u0627\u06CC\u0647\u0654 MathPlayer \u0628\u0631\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u062E\u0631\u0648\u062C\u06CC MathML \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A.", + OperaNativeMMLWarning: "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0627\u067E\u0631\u0627 \u0627\u0632 MathML \u0645\u062D\u062F\u0648\u062F \u0627\u0633\u062A \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0646\u0645\u0627\u06CC\u0634 \u0636\u0639\u06CC\u0641 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0634\u0648\u062F.", + SafariNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u0627\u062A \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0646\u062F.", + FirefoxNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647\u0654 MathML \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u062F\u06CC\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + MSIESVGWarning: "SVG \u062F\u0631 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0642\u0628\u0644 \u0627\u0632 \u0646\u0633\u062E\u0647\u0654 \u06F9 \u0622\u0646 \u06CC\u0627 \u0648\u0642\u062A\u06CC \u06A9\u0647 \u0634\u0628\u06CC\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0642\u0628\u0644\u06CC \u0631\u0627 \u0645\u06CC\u200C\u06A9\u0646\u062F \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A. \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC SVG \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0634\u0648\u062F \u06A9\u0647 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + LoadURL: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647 \u0627\u0632 \u0627\u06CC\u0646 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC:", + BadURL: "\u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0628\u0631\u0627\u06CC \u067E\u0631\u0648\u0646\u062F\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC MathJax \u0631\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u067E\u0631\u0648\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u0628\u0627 \u067E\u0633\u0648\u0646\u062F '.js' \u062A\u0645\u0627\u0645 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F.", + BadData: "\u0634\u06A9\u0633\u062A \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC \u0627\u0632 %1", + SwitchAnyway: "(\u0628\u0631 \u00AB\u0628\u0627\u0634\u062F\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u0648\u062F \u0648 \u0628\u0631 \u00AB\u0644\u063A\u0648\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0646\u0645\u0627\u06CC\u0634\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0641\u0639\u0644\u06CC \u0627\u062F\u0627\u0645\u0647 \u06CC\u0627\u0628\u062F)", + ScaleMath: "\u0645\u0642\u06CC\u0627\u0633 \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A (\u062F\u0631 \u0645\u0642\u0627\u06CC\u0633\u0647 \u0628\u0627 \u0645\u062A\u0646 \u0627\u0637\u0631\u0627\u0641) \u062A\u0648\u0633\u0637", + NonZeroScale: "\u0645\u0642\u06CC\u0627\u0633 \u0646\u0628\u0627\u06CC\u062F \u0635\u0641\u0631 \u0628\u0627\u0634\u062F", + PercentScale: "\u0645\u0642\u06CC\u0627\u0633 \u0628\u0627\u06CC\u062F \u062F\u0631\u0635\u062F\u06CC \u0628\u0627\u0634\u062F (\u0628\u0631\u0627\u06CC \u0646\u0645\u0648\u0646\u0647 \u06F1\u06F2\u06F0\u066A)", + IE8warning: "\u0627\u06CC\u0646 \u0645\u0646\u0648\u06CC MathJax \u0648 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u0627 \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0622\u0648\u0631\u06CC\u062F.\n\n\u0648\u0627\u0642\u0639\u0627\u064B \u0645\u06CC\u200C\u062E\u0648\u0627\u0647\u06CC\u062F \u062A\u0646\u0638\u06CC\u0645\u0627\u062A MathPlayer \u0631\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u062F\u0647\u06CC\u062F\u061F", + IE9warning: "\u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC MathJax \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u062E\u0648\u0627\u0647\u062F \u0634\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0628\u06CC\u0627\u0648\u0631\u06CC\u062F.", + NoOriginalForm: "\u062D\u0627\u0644\u062A \u0627\u0648\u0644\u0628\u0647 \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A", + Close: "\u0628\u0633\u062A\u0646", + EqSource: "\u0645\u0646\u0628\u0639 \u0645\u0639\u0627\u062F\u0644\u0647\u0654 MathJax" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/TeX.js b/src/py/kaleido/vendor/mathjax/localization/fa/TeX.js new file mode 100644 index 00000000..321aa2e9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fa/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/fa/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647", + ExtraCloseMissingOpen: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u0647 \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632", + MissingLeftExtraRight: "\u0641\u0642\u062F\u0627\u0646 \u200E\\left \u06CC\u0627 \u200E\\right \u0627\u0636\u0627\u0641\u06CC", + MissingScript: "\u0641\u0642\u062F\u0627\u0646 \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0627\u0644\u0627\u0645\u062A\u0646 \u06CC\u0627 \u0632\u06CC\u0631\u0645\u062A\u0646", + ExtraLeftMissingRight: "\u200E\\left \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u200E\\right", + Misplaced: "%1 \u0646\u0627\u0628\u062C\u0627", + MissingOpenForSub: "\u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0628\u0631\u0627\u06CC \u0632\u06CC\u0631\u0645\u062A\u0646", + MissingOpenForSup: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0628\u0627\u0644\u0627\u0645\u062A\u0646", + AmbiguousUseOf: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0645\u0628\u0647\u0645 \u0627\u0632 \u200E%1", + EnvBadEnd: "\u200E\\begin{%1}\u200E \u067E\u0627\u06CC\u0627\u0646\u200C\u06CC\u0627\u0641\u062A\u0647 \u0628\u0627 \u200E\\end{%2}\u200E", + EnvMissingEnd: "\u200E\\end{%1}\u200E \u06AF\u0645\u200C\u0634\u062F\u0647", + MissingBoxFor: "\u062C\u0639\u0628\u0647\u0654 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + MissingCloseBrace: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0645\u0641\u0642\u0648\u062F", + UndefinedControlSequence: "\u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644 \u062A\u0639\u0631\u06CC\u0641\u200C\u0646\u0634\u062F\u0647\u0654 %1", + DoubleExponent: "\u062A\u0648\u0627\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleSubscripts: "\u0632\u06CC\u0631\u0645\u062A\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleExponentPrime: "\u062A\u0648\u0627\u0646 \u062F\u0648 \u0645\u0648\u062C\u0628 \u062A\u0648\u0627\u0646 \u0645\u0636\u0627\u0639\u0641 \u0634\u062F: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + CantUseHash1: "\u0634\u0645\u0627 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u00AB\u0645\u0627\u06A9\u0631\u0648 \u0646\u0648\u06CC\u0633\u0647\u0654 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 #\u00BB \u062F\u0631 \u062D\u0627\u0644\u062A \u0631\u06CC\u0627\u0636\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + MisplacedMiddle: "\u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0631\u0648\u0646 \u200E\\left \u0648 \u200E\\right \u0646\u0648\u0634\u062A\u0647\u200C\u0634\u0648\u062F", + MisplacedLimits: "\u200E%1 \u0641\u0642\u0637 \u062F\u0631 \u0639\u0645\u0644\u06AF\u0631\u0647\u0627 \u0645\u062C\u0627\u0632 \u0627\u0633\u062A", + MisplacedMoveRoot: "\u200E%1 \u062A\u0646\u0647\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062F\u0631\u0648\u0646 \u06CC\u06A9 \u0631\u06CC\u0634\u0647 \u0638\u0627\u0647\u0631 \u0634\u0648\u062F", + MultipleCommand: "\u200E%1 \u0686\u0646\u062F\u06AF\u0627\u0646\u0647", + IntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u0628\u0627\u0634\u062F", + NotMathMLToken: "%1 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0646\u0634\u0627\u0646 \u0646\u06CC\u0633\u062A", + InvalidMathMLAttr: "\u0648\u06CC\u0698\u06AF\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 MathML: %1", + UnknownAttrForElement: "%1 \u06CC\u06A9 \u0648\u06CC\u0698\u06AF\u06CC \u0634\u0646\u0627\u062E\u062A\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %2 \u0646\u06CC\u0633\u062A", + MaxMacroSub1: "\u0627\u0632 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u0634\u0645\u0627\u0631 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u0647\u0627\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + MaxMacroSub2: "\u0627\u0632 \u0634\u0645\u0627\u0631 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u062A\u0639\u062F\u0627\u062F \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0645\u062D\u06CC\u0637 \u0644\u06CC\u062A\u06A9 \u0628\u0627\u0632\u0634\u062A\u06AF\u06CC \u0645\u0648\u062C\u0648\u062F \u0627\u0633\u062A\u061F", + MissingArgFor: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + ExtraAlignTab: "\u0628\u0631\u06AF\u0647\u0654 \u0686\u06CC\u0646\u0634 \u0627\u0636\u0627\u0641\u06CC \u062F\u0631 \u0645\u062A\u0646 \u200E\\cases", + BracketMustBeDimension: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0628\u0639\u062F \u0628\u0627\u0634\u062F", + InvalidEnv: " \u0646\u0627\u0645 \u0645\u062D\u06CC\u0637 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u00AB%1\u00BB", + UnknownEnv: "\u0645\u062D\u06CC\u0637 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u00AB%1\u00BB", + ExtraCloseLooking: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u06CC \u0647\u0646\u06AF\u0627\u0645 \u062C\u0633\u062A\u062C\u0648\u06CC %1", + MissingCloseBracket: "\u00AB]\u00BB \u0628\u0633\u062A\u0647 \u0628\u0631\u0627\u06CC \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MissingOrUnrecognizedDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647 \u06AF\u0645\u200C\u0634\u062F\u0647 \u06CC\u0627 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + MissingDimOrUnits: "\u0627\u0628\u0639\u0627\u062F \u06CC\u0627 \u0648\u0627\u062D\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + TokenNotFoundForCommand: "%1 \u0628\u0631\u0627\u06CC %2 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MathNotTerminated: "\u0631\u06CC\u0627\u0636\u06CC \u062F\u0631 \u062C\u0639\u0628\u0647\u0654 \u0645\u062A\u0646 \u067E\u0627\u06CC\u0627\u0646 \u0646\u06CC\u0627\u0641\u062A\u0647\u200C\u0627\u0633\u062A", + IllegalMacroParam: "\u0627\u0631\u062C\u0627\u0639 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u0645\u0627\u06A9\u0631\u0648\u06CC \u0646\u0627\u0645\u062C\u0627\u0632", + MaxBufferSize: "\u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u06CC\u0627\u0646\u06AF\u06CC\u0631 \u062F\u0627\u062E\u0644\u06CC MathJax \u06AF\u0630\u0634\u062A\u0647 \u0634\u062F\u0647\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + CommandNotAllowedInEnv: "\u200E%1 \u062F\u0631 \u0645\u062D\u06CC\u0637 \u200E%2 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A", + MultipleLabel: "\u0628\u0631\u0686\u0633\u067E \u00AB%1\u00BB \u0686\u0646\u062F\u0628\u0627\u0631 \u062A\u0639\u0631\u06CC\u0641\u200C\u0634\u062F\u0647", + CommandAtTheBeginingOfLine: "%1 \u0628\u0627\u06CC\u062F \u062F\u0631 \u0634\u0631\u0648\u0639 \u062E\u0637 \u0628\u06CC\u0627\u06CC\u062F", + IllegalAlign: "\u0686\u06CC\u0646\u0634 \u0645\u0634\u062E\u0635\u200C\u0634\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u062F\u0631 \u200E%1", + BadMathStyleFor: "\u0633\u0628\u06A9 \u0628\u062F \u0631\u06CC\u0627\u0636\u06CC \u0628\u0631\u0627\u06CC \u200E%1", + PositiveIntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0647 \u200E%1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u0639\u062F\u062F \u0645\u062B\u0628\u062A \u0628\u0627\u0634\u062F", + ErroneousNestingEq: "\u0633\u0627\u062E\u062A\u0627\u0631\u0647\u0627\u06CC \u0627\u0634\u062A\u0628\u0627\u0647 \u062A\u0648\u062F\u0631\u062A\u0648\u06CC \u0645\u0639\u0627\u062F\u0644\u0647", + MultlineRowsOneCol: "\u0633\u0637\u0631 \u062F\u0631\u0648\u0646 \u0645\u062D\u06CC\u0637 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0642\u06CC\u0642\u0627\u064B \u06CC\u06A9 \u0633\u062A\u0648\u0646 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F", + MultipleBBoxProperty: "%1 \u062F\u0648\u0628\u0627\u0631 \u062F\u0631 \u200E%2 \u062A\u0639\u0631\u06CC\u0641 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + InvalidBBoxProperty: "'%1' \u0628\u0647 \u0646\u0638\u0631 \u06CC\u06A9 \u0631\u0646\u06AF\u060C \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0628\u0627\u0644\u0634\u062A\u06A9 \u06CC\u0627 \u0633\u0628\u06A9 \u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06CC\u200C\u0631\u0633\u062F", + ExtraEndMissingBegin: "\u200E%1 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \\begingroup \u06AF\u0645\u200C\u0634\u062F\u0647", + GlobalNotFollowedBy: "\u200E%1 \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u200E\\let\u060C \u200E\\def \u06CC\u0627 \u200E\\newcommand \u0646\u06CC\u0627\u0645\u062F\u0647\u200C\u0627\u0633\u062A", + UndefinedColorModel: "\u0645\u062F\u0644 \u0631\u0646\u06AF\u06CC '%1' \u062A\u0639\u0631\u06CC\u0641 \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A", + ModelArg1: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u06F3 \u0639\u062F\u062F \u0627\u0633\u062A", + InvalidDecimalNumber: "\u0639\u062F\u062F \u0627\u0639\u0634\u0627\u0631\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + ModelArg2: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u0628\u06CC\u0646 %2 \u0648 %3 \u0628\u0627\u0634\u062F", + InvalidNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + NewextarrowArg1: "\u0646\u0634\u0627\u0648\u0646\u062F \u0627\u0648\u0644 \u0628\u0647 \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0646\u0627\u0645 \u06A9\u0646\u062A\u0631\u0644\u06CC \u062F\u0646\u0628\u0627\u0644\u0647 \u0628\u0627\u0634\u062F", + NewextarrowArg2: "\u0646\u0634\u0646\u0627\u0648\u0646\u062F \u062F\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u062F\u0648 \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u062C\u062F\u0627 \u0634\u062F\u0647 \u0628\u0627 \u06CC\u06A9 \u06A9\u0627\u0645\u0627 \u0628\u0627\u0634\u062F", + NewextarrowArg3: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0633\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u06CC\u06A9 \u0646\u0648\u06CC\u0633\u0647\u0654 \u06CC\u0648\u0646\u06CC\u06A9\u062F \u0628\u0627\u0634\u062F", + NoClosingChar: "%1 \u0628\u0633\u062A\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + IllegalControlSequenceName: "\u0646\u0627\u0645 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u0631\u0627\u06CC \u200E%1 \u0646\u0627\u0645\u062C\u0627\u0632", + IllegalParamNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u062C\u0627\u0632 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u062F\u0631 \u200E%1 \u0645\u0634\u062E\u0635 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + MissingCS: "\u200E%1 \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u06CC\u0627\u06CC\u062F", + CantUseHash2: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u0627\u0632 # \u062F\u0631 \u0627\u0644\u06AF\u0648 \u0628\u0631\u0627\u06CC %1", + SequentialParam: "\u067E\u0627\u0631\u0627\u0645\u062A\u0631\u0647\u0627 \u0628\u0631\u0627\u06CC %1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u0639\u062F\u062F\u06CC \u0628\u0627\u0634\u062F", + MissingReplacementString: "\u0631\u0634\u062A\u0647\u0654 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u06CC\u0641 \u200E%1", + MismatchUseDef: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u200E%1 \u0628\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0622\u0646 \u062A\u0637\u0628\u06CC\u0642 \u0646\u062F\u0627\u0631\u062F", + RunawayArgument: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0641\u0631\u0627\u0631 \u0628\u0631\u0627\u06CC \u200E%1\u061F", + NoClosingDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647\u0654 \u0628\u0633\u062A\u0646 \u0628\u0631\u0627\u06CC \u200E%1 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fa/fa.js b/src/py/kaleido/vendor/mathjax/localization/fa/fa.js new file mode 100644 index 00000000..025a4157 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fa/fa.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/fa/fa.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fa",null,{ + menuTitle: "\u0641\u0627\u0631\u0633\u06CC", + fontDirection: "rtl", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u06CC\u06A9 \u06A9\u0644\u0648\u0686\u06A9 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u06A9\u0627\u0631\u0628\u0631\u06CC \u06CC\u0627\u0641\u062A \u06A9\u0647 \u0634\u0627\u0645\u0644 \u06A9\u062F \u0627\u062C\u0631\u0627\u06CC\u06CC \u0627\u0633\u062A. \u0622\u06CC\u0627 \u0645\u06CC\u200C\u062E\u0648\u0627\u0647\u06CC\u062F \u0622\u0646 \u0631\u0627 \u0627\u062C\u0631\u0627 \u06A9\u0646\u06CC\u062F\u061F\n\n(\u0628\u0647\u062A\u0631 \u0627\u0633\u062A \u0628\u0631 \u0644\u063A\u0648 \u0628\u0641\u0634\u0627\u0631\u06CC\u062F \u0645\u06AF\u0631 \u0627\u06CC\u0646\u06A9\u0647 \u062E\u0648\u062F\u062A\u0627\u0646 \u06A9\u0644\u0648\u0686\u06A9 \u0631\u0627 \u062A\u0646\u0638\u06CC\u0645\u200C\u06A9\u0631\u062F\u0647\u200C\u0627\u06CC\u062F.)", + MathProcessingError: "\u062E\u0637\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC", + MathError: "\u062D\u0637\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC", + LoadFile: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC %1", + Loading: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC", + LoadFailed: "\u062E\u0637\u0627 \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u067E\u0631\u0648\u0646\u062F\u0647: %1", + ProcessMath: "\u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Processing: "\u067E\u0631\u062F\u0627\u0632\u0634", + TypesetMath: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Typesetting: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC", + MathJaxNotSupported: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathJax \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fa/fa.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/fi/FontWarnings.js new file mode 100644 index 00000000..b61ac4cc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fi/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/fi/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/fi/HTML-CSS.js new file mode 100644 index 00000000..c77b2ebb --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fi/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/fi/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/fi/HelpDialog.js new file mode 100644 index 00000000..03d0d520 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fi/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/fi/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/MathML.js b/src/py/kaleido/vendor/mathjax/localization/fi/MathML.js new file mode 100644 index 00000000..cdfee6dc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fi/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/fi/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/fi/MathMenu.js new file mode 100644 index 00000000..a0e70ea0 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fi/MathMenu.js @@ -0,0 +1,82 @@ +/************************************************************* + * + * MathJax/localization/fi/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + MathMLcode: "MathML-koodi", + OriginalMathML: "Alkuper\u00E4inen MathML", + TeXCommands: "TeX-komennot", + AsciiMathInput: "AsciiMathML-sy\u00F6te", + Original: "Alkuper\u00E4inen muoto", + ErrorMessage: "Virheviesti", + Annotation: "Huomautus", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "N\u00E4yt\u00E4 TeX-vihjeet MathML:ss\u00E4", + Settings: "Matematiikan asetukset", + ZoomTrigger: "Loitonnustapa", + Hover: "Kursorin vienti ylle", + Click: "Napsautus", + DoubleClick: "Kaksoisnapsautus", + NoZoom: "Ei loitonnustapaa", + TriggerRequires: "Tapa vaatii:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Loitonnuskerroin", + MPHandles: "Anna MathPlayerin k\u00E4sitell\u00E4", + MenuEvents: "Valikkotapahtumat", + MouseEvents: "Hiiritapahtumat", + MenuAndMouse: "Hiiri- ja valikkotapahtumat", + FontPrefs: "Kirjasinasetukset", + ForHTMLCSS: "HTML-CSS:lle:", + Auto: "Automaattinen", + TeXLocal: "TeX (paikallinen)", + TeXWeb: "TeX (verkko)", + TeXImage: "TeX (kuva)", + STIXLocal: "STIX (paikallinen)", + ContextMenu: "Ponnahdusvalikko", + Browser: "Selain", + Scale: "Skaalaa kaikki matematiikka...", + Discoverable: "Korosta kun kursori tuodaan ylle", + Locale: "Kieli", + LoadLocale: "Lataa osoitteesta...", + About: "Tietoja MathJaxista", + Help: "MathJaxin ohje", + localTeXfonts: "k\u00E4ytt\u00E4en paikallisia TeX-kirjasimia", + webTeXfonts: "k\u00E4ytt\u00E4en verkon TeX-kirjasimia", + imagefonts: "K\u00E4ytt\u00E4en kuvakirjasimia", + localSTIXfonts: "k\u00E4ytt\u00E4en paikallisia STIX-kirjasimia", + webSVGfonts: "k\u00E4ytt\u00E4en verkon SVG-kirjasimia", + genericfonts: "k\u00E4ytt\u00E4en geneerisi\u00E4 unicode-kirjasimia", + wofforotffonts: "woff- tai otf-kirjasimia", + eotffonts: "eot-kirjasimia", + svgfonts: "svg-kirjasimia", + Close: "Sulje" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/TeX.js b/src/py/kaleido/vendor/mathjax/localization/fi/TeX.js new file mode 100644 index 00000000..2fcddbfb --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fi/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/fi/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fi/fi.js b/src/py/kaleido/vendor/mathjax/localization/fi/fi.js new file mode 100644 index 00000000..43a8c129 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fi/fi.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/fi/fi.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fi",null,{ + menuTitle: "suomi", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax on l\u00F6yt\u00E4nyt ev\u00E4steen, joka sis\u00E4lt\u00E4\u00E4 asetuksia ja ohjelmakoodia. Haluatko ajaa sen?\n\n(Peru, ellet ole luonut ev\u00E4stett\u00E4 itse.)", + MathProcessingError: "Matematiikan k\u00E4sittely ep\u00E4onnistui", + MathError: "Matematiikkavirhe", + LoadFile: "Ladataan tiedostoa %1", + Loading: "Ladataan", + LoadFailed: "Tiedoston %1 lataaminen ep\u00E4onnistui", + ProcessMath: "K\u00E4sitell\u00E4\u00E4n matematiikkaa: %1%%", + Processing: "K\u00E4sitell\u00E4\u00E4n", + TypesetMath: "Ladotaan matematiikkaa: %1%%", + Typesetting: "Ladotaan", + MathJaxNotSupported: "Selaimesi ei tue MathJaxia" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fi/fi.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/fr/FontWarnings.js new file mode 100644 index 00000000..7c097073 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fr/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/fr/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax utilise les polices web pour afficher les expressions math\u00E9matiques sur cette page. Celles-ci mettent du temps \u00E0 \u00EAtre t\u00E9l\u00E9charg\u00E9es et la page serait affich\u00E9e plus rapidement si vous installiez les polices math\u00E9matiques directement dans le dossier des polices de votre syst\u00E8me.", + imageFonts: "MathJax utilise des images de caract\u00E8res plut\u00F4t que les polices web ou locales. Ceci rend le rendu plus lent que la normale et les expressions math\u00E9matiques peuvent ne pas s'imprimer \u00E0 la r\u00E9solution maximale de votre imprimante", + noFonts: "MathJax est incapable de localiser une police \u00E0 utiliser pour afficher ses math\u00E9matiques, et les polices image ne sont pas disponibles, donc il doit se rabattre sur les caract\u00E8res unicode en esp\u00E9rant que votre navigateur pourra les afficher. Certains caract\u00E8res peuvent ne pas s\u2019afficher correctement, voire m\u00EAme pas du tout.", + webFonts: "La plupart des navigateurs modernes permettent de t\u00E9l\u00E9charger des polices depuis le web. Mettre \u00E0 jour votre navigateur (ou changer de navigateur) pourrait am\u00E9liorer la qualit\u00E9 des math\u00E9matiques sur cette page.", + fonts: "MathJax peut utiliser soit les [polices STIX](%1) soit les [polices TeX MathJax](%2). T\u00E9l\u00E9chargez et installez une de ces polices pour am\u00E9liorer votre exp\u00E9rience avec MathJax.", + STIXPage: "Cette page est con\u00E7ue pour utiliser les [polices STIX](%1). T\u00E9l\u00E9chargez et installez ces polices pour am\u00E9liorer votre exp\u00E9rience avec MathJax.", + TeXPage: "Cette page est con\u00E7ue pour utiliser les [polices TeX MathJax](%1). T\u00E9l\u00E9chargez et installez ces polices pour am\u00E9liorer votre exp\u00E9rience avec MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/fr/HTML-CSS.js new file mode 100644 index 00000000..db2fb60e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fr/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/fr/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "T\u00E9l\u00E9chargement de la police web %1", + CantLoadWebFont: "Impossible de t\u00E9l\u00E9charger la police web %1", + FirefoxCantLoadWebFont: "Firefox ne peut pas charger les polices web depuis un h\u00F4te distant", + CantFindFontUsing: "Impossible de trouver une police valide en utilisant %1", + WebFontsNotAvailable: "Polices web non disponibles. Les polices image seront utilis\u00E9es \u00E0 la place" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/fr/HelpDialog.js new file mode 100644 index 00000000..82f65070 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fr/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/fr/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Aide MathJax", + MathJax: "*MathJax* est une biblioth\u00E8que JavaScript qui permet aux auteurs de pages d\u2019inclure des math\u00E9matiques dans leurs pages web. En tant que lecteur, vous n\u2019avez rien besoin de faire pour que cela fonctionne.", + Browsers: "*Navigateurs*: MathJax fonctionne avec tous les navigateurs modernes y compris Internet Explorer 6, Firefox 3, Chrome 0.2, Safari 2, Opera 9.6 et leurs versions sup\u00E9rieures ainsi que la plupart des navigateurs pour mobiles et tablettes.", + Menu: "*Menu math*: MathJax ajoute un menu contextuel aux \u00E9quations. Cliquez-droit ou Ctrl-cliquez sur n\u2019importe quelle formule math\u00E9matique pour acc\u00E9der au menu.", + ShowMath: "*Afficher les maths comme* vous permet d\u2019afficher le balisage source de la formule pour copier-coller (comme MathML ou dans son format d\u2019origine).", + Settings: "*Param\u00E8tres* vous donne le contr\u00F4le sur les fonctionnalit\u00E9s de MathJax, comme la taille des math\u00E9matiques, et le m\u00E9canisme utilis\u00E9 pour afficher les \u00E9quations.", + Language: "*Langue* vous laisse s\u00E9lectionner la langue utilis\u00E9e par MathJax pour ses menus et ses messages d\u2019avertissement.", + Zoom: "*Zoom des maths*: Si vous avez des difficult\u00E9s \u00E0 lire une \u00E9quation, MathJax peut l\u2019agrandir pour vous aider \u00E0 mieux la voir.", + Accessibilty: "*Accessibilit\u00E9*: MathJax travaillera automatiquement avec les lecteurs d\u2019\u00E9cran pour rendre les math\u00E9matiques accessibles aux malvoyants.", + Fonts: "*Polices*: MathJax utilisera certaines polices math\u00E9matiques si elles sont install\u00E9es sur votre ordinateur\u202F; sinon, il utilisera les polices trouv\u00E9es sur le web. Bien que ce ne soit pas obligatoire, des polices install\u00E9es localement acc\u00E9l\u00E9reront la composition. Nous vous sugg\u00E9rons d\u2019installer les [polices STIX](%1).", + CloseDialog: "Fermer la bo\u00EEte de dialogue d\u2019aide" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/MathML.js b/src/py/kaleido/vendor/mathjax/localization/fr/MathML.js new file mode 100644 index 00000000..04090bd6 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fr/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/fr/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u00C9lement mglyph incorrect: %1", + BadMglyphFont: "Police non valide : %1", + MathPlayer: "MathJax n\u2019a pas pu configurer MathPlayer.\n\nSi MathPlayer n\u2019est pas install\u00E9, vous devez d\u2019abord le faire.\nSinon, il se peut que vos param\u00E8tres de s\u00E9curit\u00E9 emp\u00EAchent l\u2019ex\u00E9cution des contr\u00F4les ActiveX. Utilisez l\u2019entr\u00E9e Options Internet sous le menu Outils et s\u00E9lectionnez l\u2019onglet S\u00E9curit\u00E9, puis cliquez le bouton \u00AB Personnaliser le niveau \u00BB. V\u00E9rifiez que les param\u00E8tres pour 'Ex\u00E9cuter les contr\u00F4les ActiveX', et 'Comportement de fichiers binaires et des scripts' sont activ\u00E9s.\n\nPour le moment, vous verrez des messages d\u2019erreur au lieu de textes math\u00E9matiques.", + CantCreateXMLParser: "MathJax ne peut pas cr\u00E9er un analyseur XML pour MathML. V\u00E9rifiez que l\u2019option de s\u00E9curit\u00E9 'Contr\u00F4les ActiveX reconnus s\u00FBrs pour l\u2019\u00E9criture de scripts' est activ\u00E9e (utilisez l\u2019entr\u00E9e Options Internet dans le menu Outils, et s\u00E9lectionnez l\u2019onglet S\u00E9curit\u00E9, puis appuyez sur le bouton Personnaliser le niveau, pour le v\u00E9rifier).", + UnknownNodeType: "Type de n\u0153ud inconnu : %1", + UnexpectedTextNode: "N\u0153ud de texte inattendu : %1", + ErrorParsingMathML: "Erreur lors de l\u2019analyse de MathML", + ParsingError: "Erreur d\u2019analyse de MathML : %1", + MathMLSingleElement: "MathML doit \u00EAtre form\u00E9 d\u2019un unique \u00E9l\u00E9ment", + MathMLRootElement: "MathML doit \u00EAtre form\u00E9 d\u2019un \u00E9l\u00E9ment \u003Cmath\u003E, et pas %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/fr/MathMenu.js new file mode 100644 index 00000000..adc0eea0 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fr/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/fr/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Afficher sous forme", + MathMLcode: "Code MathML", + OriginalMathML: "MathML d\u2019origine", + TeXCommands: "Commandes TeX", + AsciiMathInput: "Entr\u00E9e AsciiMathML", + Original: "Format d\u2019origine", + ErrorMessage: "Message d\u2019erreur", + Annotation: "Annotation", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML de contenu", + OpenMath: "OpenMath", + texHints: "Afficher les aides TeX en MathML", + Settings: "Param\u00E9trages des maths", + ZoomTrigger: "D\u00E9clencheur de zoom", + Hover: "Survol", + Click: "Clic", + DoubleClick: "Double-clic", + NoZoom: "Pas de zoom", + TriggerRequires: "Le d\u00E9clencheur n\u00E9cessite :", + Option: "Option", + Alt: "Alt", + Command: "Commande", + Control: "Contr\u00F4le", + Shift: "Maj", + ZoomFactor: "Facteur de grossissement d'\u00E9chelle", + Renderer: "Outil de rendu math\u00E9matique", + MPHandles: "Laisser MathPlayer g\u00E9rer :", + MenuEvents: "\u00C9v\u00E9nements de menu", + MouseEvents: "\u00C9v\u00E9nements de souris", + MenuAndMouse: "\u00C9v\u00E9nements de souris et de menu", + FontPrefs: "Pr\u00E9f\u00E9rences de police", + ForHTMLCSS: "Pour HTML-CSS :", + Auto: "Auto", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (image)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Menu contextuel", + Browser: "Navigateur", + Scale: "Mettre tous les maths \u00E0 l\u2019\u00E9chelle\u2026", + Discoverable: "Surligner au survol", + Locale: "Langue", + LoadLocale: "Charger depuis l\u2019URL\u2026", + About: "\u00C0 propos de MathJax", + Help: "Aide de MathJax", + localTeXfonts: "utiliser les polices TeX locales", + webTeXfonts: "utiliser les polices TeX du web", + imagefonts: "utiliser les polices Image", + localSTIXfonts: "utiliser les polices STIX locales", + webSVGfonts: "utiliser les polices SVG du web", + genericfonts: "utiliser les polices Unicode g\u00E9n\u00E9riques", + wofforotffonts: "polices WOFF ou OTF", + eotffonts: "polices EOT", + svgfonts: "polices SVG", + WebkitNativeMMLWarning: "Votre navigateur ne semble pas prendre en charge MathML en natif, donc basculer sur MathML en sortie pourrait rendre les math\u00E9matiques illisibles sur cette page.", + MSIENativeMMLWarning: "Internet Explorer n\u00E9cessite le module MathPlayer pour traiter les sorties MathML.", + OperaNativeMMLWarning: "La prise en charge de MathML par Opera est limit\u00E9e, donc passer sur du MathML en sortie pourrait rendre certaines expressions peu lisibles.", + SafariNativeMMLWarning: "Le MathML natif de votre navigateur n\u2019impl\u00E9mente pas toutes les fonctionnalit\u00E9s utilis\u00E9s par MathJax, donc certaines expressions pourraient ne pas \u00EAtre affich\u00E9es correctement.", + FirefoxNativeMMLWarning: "Le MathML natif de votre navigateur n\u2019impl\u00E9mente pas toutes les fonctionnalit\u00E9s de MathJax, donc certaines expressions pourraient \u00EAtre mal affich\u00E9es.", + MSIESVGWarning: "SVG n\u2019est pas pris en charge par Internet Explorer avant la version 9 (ni dans l\u2019\u00E9mulation de IE8 ou inf\u00E9rieur, par cons\u00E9quent). Basculer sur SVG en sortie pourrait faire que les math\u00E9matiques s\u2019affichent mal.", + LoadURL: "Charger les donn\u00E9es de traduction depuis cette URL :", + BadURL: "L\u2019URL devrait \u00EAtre un fichier JavaScript qui d\u00E9finit les donn\u00E9es de traduction de MathJax. Les noms de fichier JavaScript devraient se terminer par '.js'", + BadData: "\u00C9chec du chargement des donn\u00E9es de traduction depuis %1", + SwitchAnyway: "Basculer tout de m\u00EAme le rendu\u202F?\n\n(Cliquez OK pour basculer, ANNULER pour continuer avec le rendu actuel)", + ScaleMath: "Mettre \u00E0 l\u2019\u00E9chelle toutes les math\u00E9matiques (par rapport au texte environnant) de", + NonZeroScale: "L\u2019\u00E9chelle ne devrait pas \u00EAtre z\u00E9ro", + PercentScale: "L\u2019\u00E9chelle devrait \u00EAtre un pourcentage (par exemple, 120%%)", + IE8warning: "Cela d\u00E9sactivera le menu MathJax et les fonctionnalit\u00E9s de zoom, mais \u00E0 la place, vous pouvez Alt-cliquer sur une expression pour obtenir le menu MathJax.", + IE9warning: "Le menu contextuel MathJax sera d\u00E9sactiv\u00E9, mais \u00E0 la place, vous pouvez Alt-cliquer sur une expression pour obtenir le menu MathJax.", + NoOriginalForm: "Aucun format d\u2019origine disponible", + Close: "Fermer", + EqSource: "Source de l\u2019\u00E9quation MathJax", + CloseAboutDialog: "Fermer la bo\u00EEte de dialogue \u00C0 propos de MathJax", + FastPreview: "Aper\u00E7u rapide", + AssistiveMML: "MathML auxiliaire", + InTabOrder: "Inclure dans l\u2019ordre des onglets" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/TeX.js b/src/py/kaleido/vendor/mathjax/localization/fr/TeX.js new file mode 100644 index 00000000..cb700996 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fr/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/fr/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Accolade ouvrante superflue ou accolade fermante manquante", + ExtraCloseMissingOpen: "Accolade fermante superflue ou accolade ouvrante manquante", + MissingLeftExtraRight: "Commande \\left manquante ou commande \\right superflue", + MissingScript: "Argument en exposant ou en indice manquant", + ExtraLeftMissingRight: "Commande \\left superflue ou commande \\right manquante", + Misplaced: "Mauvaise position pour la commande %1", + MissingOpenForSub: "Accolade ouvrante manquante pour le script en indice", + MissingOpenForSup: "Accolade ouvrante manquante pour le script en exposant", + AmbiguousUseOf: "Usage ambigu de la commande %1", + EnvBadEnd: "\\begin{%1} s'est termin\u00E9 par un \\end{%2}", + EnvMissingEnd: "\\end{%1} manquant", + MissingBoxFor: "Boite manquante pour la commande %1", + MissingCloseBrace: "Accolade fermante manquante", + UndefinedControlSequence: "S\u00E9quence de contr\u00F4le %1 non d\u00E9finie", + DoubleExponent: "Double exposant : utilisez des accolades pour clarifier", + DoubleSubscripts: "Double indice : utilisez des accolades pour clarifier", + DoubleExponentPrime: "Un prime entra\u00EEne un double exposant : utilisez des accolades pour clarifier", + CantUseHash1: "Vous ne pouvez pas utilisez le caract\u00E8re #, indiquant un param\u00E8tre de macro, dans le mode math\u00E9matique", + MisplacedMiddle: "La commande %1 doit \u00EAtre plac\u00E9e \u00E0 l\u2019int\u00E9rieur d\u2019une section \\left ... \\right", + MisplacedLimits: "La commande %1 n'est autoris\u00E9e que sur les op\u00E9rateurs", + MisplacedMoveRoot: "La commande %1 n'est autoris\u00E9e qu'\u00E0 l'int\u00E9rieur d'une racine", + MultipleCommand: "Usage multiple de la commande %1", + IntegerArg: "L\u2019argument de la commande %1 doit \u00EAtre un entier", + NotMathMLToken: "L'\u00E9l\u00E9ment %1 n'est pas un \u00E9l\u00E9ment MathML \u00E9l\u00E9mentaire", + InvalidMathMLAttr: "Attribut MathML non valide: %1", + UnknownAttrForElement: "Attribut %1 inconnu pour l'\u00E9l\u00E9ment %2", + MaxMacroSub1: "Le nombre maximal de substitutions de macro autoris\u00E9 par MathJax a \u00E9t\u00E9 d\u00E9pass\u00E9. Y a-t-il un appel de macro r\u00E9cursif?", + MaxMacroSub2: "Le nombre maximal de substitutions de macros autoris\u00E9 par MathJax a \u00E9t\u00E9 d\u00E9pass\u00E9. Y a-t-il un environnement LaTeX r\u00E9cursif\u202F?", + MissingArgFor: "Argument manquant pour la commande %1", + ExtraAlignTab: "Caract\u00E8re d'alignement '\u0026' inattendu pour le texte de la commande \\cases", + BracketMustBeDimension: "L'argument entre crochets de la commande %1 doit \u00EAtre une dimension", + InvalidEnv: "Nom d'environnement '%1' non valide", + UnknownEnv: "Environnement '%1' inconnu", + ExtraCloseLooking: "Accolade fermante superflue lors de la recherche de %1", + MissingCloseBracket: "Impossible de trouver ']' pour l'argument de la commande %1", + MissingOrUnrecognizedDelim: "D\u00E9limiteur manquant ou non reconnu pour la commande %1", + MissingDimOrUnits: "Dimension ou unit\u00E9s manquantes pour la commande %1", + TokenNotFoundForCommand: "Impossible de trouver %1 pour la commande %2", + MathNotTerminated: "Expression math\u00E9matique non termin\u00E9e \u00E0 l'int\u00E9rieur de la boite de texte", + IllegalMacroParam: "Param\u00E8tre de r\u00E9f\u00E9rence de macro non autoris\u00E9", + MaxBufferSize: "Taille maximale du tampon interne de MathJax d\u00E9pass\u00E9e; y a-t-il un appel de macro r\u00E9cursif ?", + CommandNotAllowedInEnv: "La commande %1 n'est pas autoris\u00E9e \u00E0 l'int\u00E9rieur de l'environnement %2", + MultipleLabel: "Multiple d\u00E9finition de l'\u00E9tiquette '%1'", + CommandAtTheBeginingOfLine: "La commande %1 doit \u00EAtre plac\u00E9e en d\u00E9but de ligne", + IllegalAlign: "Alignement non autoris\u00E9 pour la commande %1", + BadMathStyleFor: "Style math\u00E9matique non valide pour la commande %1", + PositiveIntegerArg: "L'argument de la commande %1 doit \u00EAtre un entier positif", + ErroneousNestingEq: "Embrication incorrecte des structures d'\u00E9quations", + MultlineRowsOneCol: "Les rang\u00E9es au sein de l\u2019environnement %1 doivent avoir exactement une colonne", + MultipleBBoxProperty: "La propri\u00E9t\u00E9 %1 est sp\u00E9cifi\u00E9e deux fois dans la commande %2", + InvalidBBoxProperty: "La valeur '%1' ne semble pas \u00EAtre une couleur, une dimension de marge int\u00E9rieure ou un style.", + ExtraEndMissingBegin: "Commande %1 non attendue ou commande \\begingroup manquante", + GlobalNotFollowedBy: "Commande %1 non suivie d\u2019une commande \\let, \\def ou \\newcommand", + UndefinedColorModel: "Le mod\u00E8le de couleur '%1' n'est pas d\u00E9fini", + ModelArg1: "Les valeurs de couleurs pour le mod\u00E8le %1 n\u00E9cessitent 3 nombres", + InvalidDecimalNumber: "Nombre d\u00E9cimal non valide", + ModelArg2: "Les valeurs de couleurs pour le mod\u00E8le %1 doivent \u00EAtre comprises entre %2 et %3", + InvalidNumber: "Nombre non valide", + NewextarrowArg1: "Le premier argument de la commande %1 doit \u00EAtre le nom d'une s\u00E9quence de contr\u00F4le", + NewextarrowArg2: "Le second argument de la commande %1 doit \u00EAtre deux entiers s\u00E9par\u00E9s par une virgule", + NewextarrowArg3: "Le troisi\u00E8me argument de la commande %1 doit \u00EAtre la valeur d\u2019un caract\u00E8re unicode", + NoClosingChar: "Impossible de trouver le d\u00E9limiteur '%1' fermant", + IllegalControlSequenceName: "Nom de contr\u00F4le de s\u00E9quence non autoris\u00E9 pour la commande %1", + IllegalParamNumber: "Nombre de param\u00E8tres incorrect pour la commande %1", + MissingCS: "%1 doit \u00EAtre suivi d'une s\u00E9quence de contr\u00F4le", + CantUseHash2: "Usage du caract\u00E8re # non autoris\u00E9 dans le mod\u00E8le pour la s\u00E9quence de contr\u00F4le %1", + SequentialParam: "Les param\u00E8tres de la s\u00E9quence de contr\u00F4le %1 doivent \u00EAtre \u00E9num\u00E9r\u00E9s de fa\u00E7on s\u00E9quentielle", + MissingReplacementString: "Texte de remplacement manquant pour la d\u00E9finition %1", + MismatchUseDef: "L\u2019utilisation de la commande %1 ne correspond pas \u00E0 sa d\u00E9finition", + RunawayArgument: "Argument non termin\u00E9 pour la commande %1?", + NoClosingDelim: "Impossible de trouver le d\u00E9limiteur fermant pour la commande %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/fr/fr.js b/src/py/kaleido/vendor/mathjax/localization/fr/fr.js new file mode 100644 index 00000000..1a37790e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/fr/fr.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/fr/fr.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("fr",null,{ + menuTitle: "fran\u00E7ais", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax a trouv\u00E9 un t\u00E9moin (cookie) de configuration utilisateur qui inclut du code ex\u00E9cutable. Souhaitez vous l\u2019ex\u00E9cuter ?\n\n(Choisissez Annuler sauf si vous avez cr\u00E9\u00E9 ce t\u00E9moin vous-m\u00EAme.)", + MathProcessingError: "Erreur de traitement de la formule math\u00E9matique", + MathError: "Erreur dans la formule math\u00E9matique", + LoadFile: "Chargement de %1", + Loading: "Chargement", + LoadFailed: "\u00C9chec du chargement de %1", + ProcessMath: "Traitement des formules : %1 %%", + Processing: "Traitement en cours", + TypesetMath: "Composition des formules: %1%%", + Typesetting: "Composition", + MathJaxNotSupported: "Votre navigateur ne prend pas en charge MathJax", + ErrorTips: "Conseils de d\u00E9bogage : utiliser %%1, inspecter %%2 dans la console du navigateur" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (0 <= n && n < 2) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/fr/fr.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/gl/FontWarnings.js new file mode 100644 index 00000000..e63c69c1 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/gl/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/gl/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/gl/HTML-CSS.js new file mode 100644 index 00000000..b07b8fa5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/gl/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/gl/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Cargando o tipo de letra web %1", + CantLoadWebFont: "Non se pode cargar o tipo de letra web %1", + FirefoxCantLoadWebFont: "Firefox non pode cargar os tipos de letra web desde un servidor remoto", + CantFindFontUsing: "Non se pode atopar un tipo de letra v\u00E1lido utilizando %1", + WebFontsNotAvailable: "Os tipos de letra web non est\u00E1n dispo\u00F1ibles; use os tipos de letra de imaxe no seu lugar" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/gl/HelpDialog.js new file mode 100644 index 00000000..393882db --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/gl/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/gl/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/gl/MathML.js new file mode 100644 index 00000000..2662a08d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/gl/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/gl/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/gl/MathMenu.js new file mode 100644 index 00000000..98940f3d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/gl/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/gl/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/gl/TeX.js new file mode 100644 index 00000000..0c7e4bae --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/gl/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/gl/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/gl/gl.js b/src/py/kaleido/vendor/mathjax/localization/gl/gl.js new file mode 100644 index 00000000..426e726e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/gl/gl.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/gl/gl.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("gl",null,{ + menuTitle: "galego", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax atopou unha cookie de configuraci\u00F3n de usuario que incl\u00FAe c\u00F3digo executable. Quere executar ese c\u00F3digo?\n\n(Deber\u00EDa premer en \"Cancelar\", a menos que vostede crease a cookie.)", + MathProcessingError: "Erro de procesamento da f\u00F3rmula matem\u00E1tica", + MathError: "Erro na f\u00F3rmula matem\u00E1tica", + LoadFile: "Cargando \"%1\"", + Loading: "Cargando", + LoadFailed: "Erro ao cargar o ficheiro: %1", + ProcessMath: "Procesando as f\u00F3rmulas: %1%%", + Processing: "Procesando", + TypesetMath: "Compo\u00F1endo as f\u00F3rmulas: %1%%", + Typesetting: "Compo\u00F1endo", + MathJaxNotSupported: "O seu navegador non soporta MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/gl/gl.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/he/FontWarnings.js new file mode 100644 index 00000000..965cff9c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/he/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/he/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA \u05DB\u05D3\u05D9 \u05DC\u05D4\u05E6\u05D9\u05D2 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4 \u05D1\u05D3\u05DA \u05D4\u05D6\u05D4. \u05D6\u05D4 \u05D3\u05D5\u05E8\u05E9 \u05D6\u05DE\u05DF \u05DC\u05D4\u05D5\u05E8\u05D3\u05D4, \u05D5\u05D4\u05D3\u05E3 \u05D9\u05D5\u05E6\u05D2 \u05DE\u05D4\u05E8 \u05D9\u05D5\u05EA\u05E8 \u05D0\u05DD \u05D9\u05D5\u05EA\u05E7\u05E0\u05D5 \u05D2\u05D5\u05E4\u05E0\u05D9 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4 \u05D1\u05DE\u05E2\u05E8\u05DB\u05EA \u05E9\u05DC\u05DA.", + imageFonts: "MathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4 \u05D1\u05DE\u05E7\u05D5\u05DD \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA. \u05D6\u05D4 \u05E2\u05D5\u05D1\u05D3 \u05DC\u05D0\u05D8 \u05DE\u05D4\u05E8\u05D2\u05D9\u05DC, \u05D5\u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DC\u05D0 \u05D9\u05D5\u05D3\u05E4\u05E1\u05D5 \u05D1\u05D2\u05D5\u05D3\u05DC \u05D4\u05E8\u05E6\u05D5\u05D9 \u05D1\u05DE\u05D3\u05E4\u05E1\u05EA \u05E9\u05DC\u05DA.", + noFonts: "MathJax \u05D0\u05D9\u05E0\u05D5 \u05DE\u05E6\u05DC\u05D9\u05D7 \u05DC\u05DE\u05E6\u05D5\u05D0 \u05D2\u05D5\u05E4\u05DF \u05DC\u05D4\u05E6\u05D2\u05EA \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA, \u05D5\u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4 \u05D0\u05D9\u05E0\u05DD \u05D6\u05DE\u05D9\u05E0\u05D9\u05DD, \u05D0\u05D6 \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05E0\u05E1\u05D9\u05DD \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05EA\u05D5\u05D5\u05D9 \u05D9\u05D5\u05E0\u05D9\u05E7\u05D5\u05D3 \u05DB\u05DC\u05DC\u05D9\u05D9\u05DD \u05D1\u05EA\u05E7\u05D5\u05D5\u05D4 \u05E9\u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D9\u05E6\u05DC\u05D9\u05D7 \u05DC\u05D4\u05E6\u05D9\u05D2 \u05D0\u05D5\u05EA\u05DD \u05E0\u05DB\u05D5\u05DF. \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D7\u05DC\u05E7 \u05DE\u05D4\u05EA\u05D5\u05D5\u05D9\u05DD \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05DB\u05E8\u05D0\u05D5\u05D9 \u05D0\u05D5 \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05D1\u05DB\u05DC\u05DC.", + webFonts: "\u05E8\u05D5\u05D1 \u05D4\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD \u05D4\u05DE\u05D5\u05D3\u05E8\u05E0\u05D9\u05D9\u05DD \u05DE\u05D0\u05E4\u05E9\u05E8\u05D9\u05DD \u05D4\u05D5\u05E8\u05D3\u05EA \u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05DE\u05D4\u05E8\u05E9\u05EA. \u05E2\u05D3\u05DB\u05D5\u05DF \u05DC\u05D2\u05E8\u05E1\u05D4 \u05D7\u05D3\u05E9\u05D4 \u05D9\u05D5\u05EA\u05E8 \u05E9\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D0\u05D5 \u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1\u05D3\u05E4\u05D3\u05E4\u05DF \u05D0\u05D7\u05E8 \u05D9\u05DB\u05D5\u05DC\u05D9\u05DD \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D0\u05D9\u05DB\u05D5\u05EA \u05D4\u05E6\u05D2\u05EA \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D1\u05D3\u05E3 \u05D4\u05D6\u05D4.", + fonts: "MathJax \u05D9\u05DB\u05D5\u05DC \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 STIX](%1) \u05D0\u05D5 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05E9\u05DC MathJax](%2). \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05DE\u05DC\u05D9\u05E6\u05D9\u05DD \u05DC\u05D4\u05D5\u05E8\u05D9\u05D3 \u05D0\u05D7\u05D3 \u05DE\u05D4\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05D4\u05D0\u05DC\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D7\u05D5\u05D5\u05D9\u05D9\u05EA \u05D4\u05BEMathJax \u05E9\u05DC\u05DA.", + STIXPage: "\u05D4\u05D3\u05E3 \u05D4\u05D6\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DD \u05DC\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 STIX](%1). \u05DE\u05D5\u05DE\u05DC\u05E5 \u05DC\u05D4\u05D5\u05E8\u05D9\u05D3 \u05D5\u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05EA \u05D4\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05D4\u05D0\u05DC\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D7\u05D5\u05D5\u05D9\u05D9\u05EA \u05D4\u05BEMathJax \u05E9\u05DC\u05DA.", + TeXPage: "\u05D4\u05D3\u05E3 \u05D4\u05D6\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DD \u05DC\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1[\u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05E9\u05DC MathJax](%1). \u05DE\u05D5\u05DE\u05DC\u05E5 \u05DC\u05D4\u05D5\u05E8\u05D9\u05D3 \u05D5\u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05EA \u05D4\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05D4\u05D0\u05DC\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E9\u05E4\u05E8 \u05D0\u05EA \u05D7\u05D5\u05D5\u05D9\u05D9\u05EA \u05D4\u05BEMathJax \u05E9\u05DC\u05DA." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/he/HTML-CSS.js new file mode 100644 index 00000000..09576aa7 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/he/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/he/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u05D8\u05E2\u05D9\u05E0\u05EA \u05D2\u05D5\u05E4\u05DF \u05D4\u05E8\u05E9\u05EA %1", + CantLoadWebFont: "\u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D8\u05E2\u05D5\u05DF \u05D0\u05EA \u05D2\u05D5\u05E4\u05DF \u05D4\u05E8\u05E9\u05EA %1", + FirefoxCantLoadWebFont: "\u05E4\u05D9\u05D9\u05E8\u05E4\u05D5\u05E7\u05E1 \u05D0\u05D9\u05E0\u05D5 \u05D9\u05DB\u05D5\u05DC \u05DC\u05D8\u05E2\u05D5\u05DF \u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA \u05DE\u05E9\u05E8\u05EA \u05DE\u05E8\u05D5\u05D7\u05E7", + CantFindFontUsing: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 \u05D2\u05D5\u05E4\u05DF \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05DE\u05E6\u05E2\u05D5\u05EA %1", + WebFontsNotAvailable: "\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA \u05D0\u05D9\u05E0\u05DD \u05D6\u05DE\u05D9\u05E0\u05D9\u05DD \u2013 \u05D1\u05DE\u05E7\u05D5\u05DE\u05DD \u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/he/HelpDialog.js new file mode 100644 index 00000000..59c6c224 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/he/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/he/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u05E2\u05D6\u05E8\u05D4 \u05E9\u05DC MathJax", + MathJax: "*MathJax* \u05D4\u05D9\u05D0 \u05E1\u05E4\u05E8\u05D9\u05D9\u05EA \u05D2'\u05D0\u05D5\u05D4 \u05E1\u05E7\u05E8\u05D9\u05E4\u05D8 \u05E9\u05DE\u05D0\u05E4\u05E9\u05E8\u05EA \u05DC\u05DB\u05D5\u05EA\u05D1\u05D9 \u05D0\u05EA\u05E8\u05D9\u05DD \u05DC\u05DB\u05DC\u05D5\u05DC \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DE\u05EA\u05DE\u05D8\u05D9\u05D5\u05EA \u05D1\u05D3\u05E4\u05D9\u05DD. \u05D4\u05E7\u05D5\u05E8\u05D0\u05D9\u05DD \u05D0\u05D9\u05E0\u05DD \u05E6\u05E8\u05D9\u05DB\u05D9\u05DD \u05DC\u05E2\u05E9\u05D5\u05EA \u05D3\u05D1\u05E8 \u05DB\u05D3\u05D9 \u05E9\u05D6\u05D4 \u05D9\u05E7\u05E8\u05D4.", + Browsers: "*\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD*: MathJax \u05E2\u05D5\u05D1\u05D3 \u05E2\u05DD \u05DB\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD \u05D4\u05DE\u05D5\u05D3\u05E8\u05E0\u05D9\u05D9\u05DD, \u05DB\u05D5\u05DC\u05DC \u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D0\u05E7\u05E1\u05E4\u05DC\u05D5\u05E8\u05E8 \u05DE\u05D2\u05E8\u05E1\u05D4 6 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05E4\u05D9\u05D9\u05E8\u05E4\u05D5\u05E7\u05E1 \u05DE\u05D2\u05E8\u05E1\u05D4 3 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05DB\u05E8\u05D5\u05DD \u05DE\u05D2\u05E8\u05E1\u05D4 0.2 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05E1\u05E4\u05D0\u05E8\u05D9 \u05DE\u05D2\u05E8\u05E1\u05D4 2 \u05D5\u05DE\u05E2\u05DC\u05D4, \u05D0\u05D5\u05E4\u05E8\u05D4 \u05DE\u05D2\u05E8\u05E1\u05D4 9.6 \u05D5\u05DE\u05E2\u05DC\u05D4 \u05D5\u05E8\u05D5\u05D1 \u05D4\u05D3\u05E4\u05D3\u05E4\u05E0\u05D9\u05DD \u05DC\u05DE\u05DB\u05E9\u05D9\u05E8\u05D9\u05DD \u05E0\u05D9\u05D9\u05D3\u05D9\u05DD.", + Menu: "*\u05EA\u05E4\u05E8\u05D9\u05D8 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4*: MathJax \u05DE\u05D5\u05E1\u05D9\u05E3 \u05EA\u05E4\u05E8\u05D9\u05D8 \u05D4\u05E7\u05E9\u05E8 \u05DC\u05DE\u05E9\u05D5\u05D5\u05D0\u05D5\u05EA. \u05D9\u05E9 \u05DC\u05E2\u05E9\u05D5\u05EA \u05DC\u05D7\u05D9\u05E6\u05D4 \u05D9\u05DE\u05E0\u05D9\u05EA \u05D0\u05D5 \u05DC\u05D7\u05D9\u05E6\u05D4 \u05E2\u05DD Ctrl \u05D1\u05DB\u05DC \u05E0\u05D5\u05E1\u05D7\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05D9\u05DB\u05E0\u05E1 \u05DC\u05EA\u05E4\u05E8\u05D9\u05D8.", + ShowMath: "*\u05DC\u05D4\u05E6\u05D9\u05D2 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D1\u05EA\u05D5\u05E8* \u05DE\u05D0\u05E4\u05E9\u05E8 \u05DC\u05DA \u05DC\u05E8\u05D0\u05D5\u05EA \u05D0\u05EA \u05E7\u05D5\u05D3 \u05D4\u05DE\u05E7\u05D5\u05E8 \u05E9\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D4 \u05DC\u05D4\u05E2\u05EA\u05E7\u05D4 \u05D5\u05D4\u05D3\u05D1\u05E7\u05D4 (\u05D1\u05EA\u05D5\u05E8 MathML \u05D0\u05D5 \u05D1\u05E6\u05D5\u05E8\u05D4 \u05D4\u05DE\u05E7\u05D5\u05E8\u05D9\u05EA).", + Settings: "*\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA* \u05E0\u05D5\u05EA\u05E0\u05D5\u05EA \u05DC\u05DA \u05E9\u05DC\u05D9\u05D8\u05D4 \u05E2\u05DC \u05D9\u05DB\u05D5\u05DC\u05D5\u05EA \u05E9\u05DC MathJax, \u05DB\u05D2\u05D5\u05DF \u05D4\u05D2\u05D5\u05D3\u05DC \u05E9\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D5\u05D4\u05E9\u05D9\u05D8\u05D4 \u05DC\u05D4\u05E6\u05D2\u05EA \u05D4\u05DE\u05E9\u05D5\u05D5\u05D0\u05D5\u05EA.", + Language: "*\u05E9\u05E4\u05D4* \u2013 \u05DB\u05D0\u05DF \u05D0\u05E4\u05E9\u05E8 \u05DC\u05D1\u05D7\u05D5\u05E8 \u05D0\u05EA \u05D4\u05E9\u05E4\u05D4 \u05E9\u05BEMathJax \u05DE\u05E6\u05D9\u05D2\u05D4 \u05D1\u05EA\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD \u05D5\u05D1\u05D4\u05D5\u05D3\u05E2\u05D5\u05EA \u05D4\u05D0\u05D6\u05D4\u05E8\u05D4", + Zoom: "*\u05E7\u05D9\u05E8\u05D5\u05D1 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4*: \u05D0\u05DD \u05E7\u05E9\u05D4 \u05DC\u05DA \u05DC\u05E7\u05E8\u05D5\u05D0 \u05DE\u05E9\u05D5\u05D5\u05D0\u05D4, MathJax \u05D9\u05DB\u05D5\u05DC \u05DC\u05D4\u05D2\u05D3\u05D9\u05DC \u05D0\u05D5\u05EA\u05D4 \u05DB\u05D3\u05D9 \u05DC\u05E2\u05D6\u05D5\u05E8 \u05DC\u05DA \u05DC\u05E8\u05D0\u05D5\u05EA \u05D0\u05D5\u05EA\u05D4 \u05D8\u05D5\u05D1 \u05D9\u05D5\u05EA\u05E8.", + Accessibilty: "*\u05E0\u05D2\u05D9\u05E9\u05D5\u05EA*: MathJax \u05E2\u05D5\u05D1\u05D3 \u05D0\u05D5\u05D8\u05D5\u05DE\u05D8\u05D9\u05EA \u05E2\u05DD \u05E7\u05D5\u05E8\u05D0\u05D9 \u05DE\u05E1\u05DA \u05DB\u05D3\u05D9 \u05DC\u05D5\u05D5\u05D3\u05D0 \u05E9\u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05E0\u05D2\u05D9\u05E9\u05D5\u05EA \u05DC\u05DB\u05D1\u05D3\u05D9 \u05E8\u05D0\u05D9\u05D9\u05D4.", + Fonts: "*\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD*: MathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05DE\u05EA\u05DE\u05D8\u05D9\u05D9\u05DD \u05DE\u05E1\u05D5\u05D9\u05DE\u05D9\u05DD \u05D0\u05DD \u05D4\u05DD \u05DE\u05D5\u05EA\u05E7\u05E0\u05D9\u05DD \u05D1\u05DE\u05D7\u05E9\u05D1 \u05E9\u05DC\u05DA; \u05D0\u05D7\u05E8\u05EA, \u05D4\u05D5\u05D0 \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D2\u05D5\u05E4\u05E0\u05D9 \u05E8\u05E9\u05EA. \u05D0\u05E3 \u05E9\u05D6\u05D4 \u05D0\u05D9\u05E0\u05D5 \u05E0\u05D7\u05D5\u05E5, \u05D2\u05D5\u05E4\u05E0\u05D9\u05DD \u05DE\u05D5\u05EA\u05E7\u05E0\u05D9\u05DD \u05DE\u05E7\u05D5\u05DE\u05D9\u05EA \u05D9\u05DB\u05D5\u05DC \u05DC\u05D6\u05E8\u05D6 \u05D0\u05EA \u05D4\u05E1\u05D3\u05B7\u05E8. \u05D0\u05E0\u05D7\u05E0\u05D5 \u05DE\u05DE\u05DC\u05D9\u05E6\u05D9\u05DD \u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05EA [\u05D2\u05D5\u05E4\u05E0\u05D9 STIX](%1).", + CloseDialog: "\u05E1\u05D2\u05D9\u05E8\u05EA \u05D7\u05DC\u05D5\u05DF \u05D3\u05D5\u05BE\u05E9\u05D9\u05D7 \u05E2\u05D6\u05E8\u05D4" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/MathML.js b/src/py/kaleido/vendor/mathjax/localization/he/MathML.js new file mode 100644 index 00000000..f8cb3faf --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/he/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/he/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u05E8\u05DB\u05D9\u05D1 mglyph \u05D2\u05E8\u05D5\u05E2: %1", + BadMglyphFont: "\u05D2\u05D5\u05E4\u05DF \u05D2\u05E8\u05D5\u05E2: %1", + MathPlayer: "MathJax \u05DC\u05D0 \u05D4\u05E6\u05DC\u05D9\u05D7 \u05DC\u05D4\u05D2\u05D3\u05D9\u05E8 \u05D0\u05EA MathPlayer.\n\n\u05D0\u05DD MathPlayer th\u05E0\u05D5 \u05DE\u05D5\u05EA\u05E7\u05DF, \u05D9\u05E9 \u05DC\u05D4\u05EA\u05E7\u05D9\u05DF \u05D0\u05D5\u05EA\u05D5 \u05EA\u05D7\u05D9\u05DC\u05D4.\n\u05D0\u05D7\u05E8\u05EA, \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05D4\u05D0\u05D1\u05D8\u05D7\u05D4 \u05E9\u05DC\u05DA \u05DC\u05D0 \u05D9\u05D0\u05E4\u05E9\u05E8\u05D5 \u05DC\u05E8\u05DB\u05D9\u05D1\u05D9 ActiveX\n\u05DC\u05E8\u05D5\u05E5. \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D7\u05DC\u05D5\u05DF \u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05EA\u05D7\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 \u05DB\u05DC\u05D9\u05DD, \u05DC\u05D1\u05D7\u05D5\u05E8 \u05D1\u05DC\u05E9\u05D5\u05E0\u05D9\u05EA \"\u05D0\u05D1\u05D8\u05D7\u05D4\", \u05D5\u05DC\u05DC\u05D7\u05D5\u05E5 \u05E2\u05DC \"\u05E8\u05DE\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DE\u05EA \u05D0\u05D9\u05E9\u05D9\u05EA\". \u05E9\u05DD \u05D9\u05E9 \u05DC\u05D1\u05D3\u05D5\u05E7 \u05E9\u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA\n\"\u05D4\u05E8\u05E6\u05E5 \u05D1\u05E7\u05E8\u05D9 ActiveX\" \u05D5\"\u05D4\u05EA\u05E0\u05D4\u05D2\u05D5\u05D9\u05D5\u05EA \u05D1\u05D9\u05E0\u05D0\u05E8\u05D9\u05D5\u05EA \u05D5\u05E1\u05E7\u05E8\u05D9\u05E4\u05D8\u05D9\u05DD\" \u05DE\u05D5\u05E4\u05E2\u05DC\u05D5\u05EA.\n\n\u05D1\u05DE\u05E6\u05D1 \u05D4\u05E0\u05D5\u05DB\u05D7\u05D9 \u05D9\u05D5\u05E4\u05D9\u05E2\u05D5 \u05D4\u05D5\u05D3\u05E2\u05D5\u05EA \u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05DE\u05E7\u05D5\u05DD \n\u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4 \u05DE\u05E2\u05D5\u05E6\u05D1\u05EA.", + CantCreateXMLParser: "MathJax \u05D0\u05D9\u05E0\u05D5 \u05D9\u05DB\u05D5\u05DC \u05DC\u05D9\u05E6\u05D5\u05E8 \u05DE\u05E4\u05E2\u05E0\u05D7 XML \u05E2\u05D1\u05D5\u05E8 MathML. \u05E0\u05D0 \u05DC\u05D1\u05D3\u05D5\u05E7\n\u05E9\u05D4\u05D2\u05D3\u05E8\u05EA \u05D4\u05D0\u05D1\u05D8\u05D7\u05D4 '\u05D1\u05E7\u05E8\u05D9 ActiveX \u05E9\u05DE\u05E1\u05D5\u05DE\u05E0\u05D9\u05DD \u05D1\u05EA\u05D5\u05E8 \u05D1\u05D8\u05D5\u05D7\u05D9\u05DD' \u05DE\u05D5\u05E4\u05E2\u05DC\u05EA\n(\u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D1\u05EA\u05E4\u05E8\u05D9\u05D8 \u05DB\u05DC\u05D9\u05DD, \u05DC\u05E4\u05EA\u05D5\u05D7 \u05D0\u05EA \u05DC\u05E9\u05D5\u05E0\u05D9\u05EA \"\u05D0\u05D1\u05D8\u05D7\u05D4\",\n\u05D5\u05D0\u05D6 \u05DC\u05DC\u05D7\u05D5\u05E5 \u05E2\u05DC \"\u05E8\u05DE\u05D4 \u05DE\u05D5\u05EA\u05D0\u05DE\u05EA \u05D0\u05D9\u05E9\u05D9\u05EA\" \u05DB\u05D3\u05D9 \u05DC\u05D1\u05D3\u05D5\u05E7 \u05D0\u05EA \u05D6\u05D4).\n\n\u05DE\u05E9\u05D5\u05D5\u05D0\u05D5\u05EA MathML \u05DC\u05D0 \u05D9\u05E2\u05D5\u05D1\u05D3\u05D5 \u05E2\u05DC\u05BE\u05D9\u05D3\u05D9 MathJax.", + UnknownNodeType: "\u05E1\u05D5\u05D2 \u05E6\u05D5\u05DE\u05EA \u05D1\u05DC\u05EA\u05D9\u05BE\u05D9\u05D5\u05D3\u05E2: %1", + UnexpectedTextNode: "\u05E1\u05D5\u05D2 \u05E6\u05D5\u05DE\u05EA \u05D1\u05DC\u05EA\u05D9\u05BE\u05E6\u05E4\u05D5\u05D9: %1", + ErrorParsingMathML: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E4\u05E2\u05E0\u05D5\u05D7 MathML", + ParsingError: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E4\u05E2\u05E0\u05D5\u05D7 MathML\u200F: %1", + MathMLSingleElement: "MathML \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DB\u05EA\u05D5\u05D1 \u05D1\u05D0\u05DC\u05DE\u05E0\u05D8 \u05D0\u05D7\u05D3", + MathMLRootElement: "MathML \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05DB\u05EA\u05D1 \u05D1\u05D0\u05DC\u05DE\u05E0\u05D8 \u003Cmath\u003E, \u05DC\u05D0 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/he/MathMenu.js new file mode 100644 index 00000000..015ca929 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/he/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/he/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u05DC\u05D4\u05E6\u05D9\u05D2 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05D1\u05EA\u05D5\u05E8", + MathMLcode: "\u05E7\u05D5\u05D3 MathML", + OriginalMathML: "MathML \u05DE\u05E7\u05D5\u05E8\u05D9", + TeXCommands: "\u05E4\u05E7\u05D5\u05D3\u05D5\u05EA TeX", + AsciiMathInput: "\u05E7\u05DC\u05D8 AsciiMathML", + Original: "\u05D4\u05E6\u05D5\u05E8\u05D4 \u05D4\u05DE\u05E7\u05D5\u05E8\u05D9\u05EA", + ErrorMessage: "\u05D4\u05D5\u05D3\u05E2\u05EA \u05E9\u05D2\u05D9\u05D0\u05D4", + Annotation: "\u05E4\u05D9\u05E8\u05D5\u05E9", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "\u05DC\u05D4\u05E6\u05D9\u05D2 \u05E8\u05DE\u05D6\u05D9\u05DD \u05E9\u05DC TeX \u05D1\u05BEMathML", + Settings: "\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4", + ZoomTrigger: "\u05DE\u05D4 \u05D2\u05D5\u05E8\u05DD \u05DC\u05E7\u05D9\u05E8\u05D5\u05D1", + Hover: "\u05DE\u05E2\u05D1\u05E8 \u05E2\u05DB\u05D1\u05E8", + Click: "\u05DC\u05D7\u05D9\u05E6\u05D4", + DoubleClick: "\u05DC\u05D7\u05D9\u05E6\u05D4 \u05DB\u05E4\u05D5\u05DC\u05D4", + NoZoom: "\u05DC\u05DC\u05D0 \u05E7\u05D9\u05E8\u05D5\u05D1", + TriggerRequires: "\u05D4\u05E4\u05E2\u05DC\u05EA \u05D4\u05E7\u05D9\u05E8\u05D5\u05D1 \u05D3\u05D5\u05E8\u05E9\u05EA:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "\u05E8\u05DE\u05EA \u05E7\u05D9\u05E8\u05D5\u05D1", + Renderer: "\u05DE\u05E6\u05D9\u05D2 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA", + MPHandles: "\u05DC\u05D0\u05E4\u05E9\u05E8 \u05DC\u05BEMathPlayer \u05DC\u05D8\u05E4\u05DC \u05D1\u05BE:", + MenuEvents: "\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05EA\u05E4\u05E8\u05D9\u05D8", + MouseEvents: "\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05E2\u05DB\u05D1\u05E8", + MenuAndMouse: "\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05E2\u05DB\u05D1\u05E8 \u05D5\u05D0\u05D9\u05E8\u05D5\u05E2\u05D9 \u05EA\u05E4\u05E8\u05D9\u05D8", + FontPrefs: "\u05D4\u05E2\u05D3\u05E4\u05D5\u05EA \u05D2\u05D5\u05E4\u05E0\u05D9\u05DD", + ForHTMLCSS: "\u05E2\u05D1\u05D5\u05E8 HTML-CSS:", + Auto: "\u05D0\u05D5\u05D8\u05D5\u05DE\u05D8\u05D9", + TeXLocal: "TeX (\u05DE\u05E7\u05D5\u05DE\u05D9)", + TeXWeb: "TeX (\u05D1\u05E8\u05E9\u05EA)", + TeXImage: "TeX (\u05EA\u05DE\u05D5\u05E0\u05D4)", + STIXLocal: "STIX (\u05DE\u05E7\u05D5\u05DE\u05D9)", + STIXWeb: "STIX (\u05D1\u05E8\u05E9\u05EA)", + AsanaMathWeb: "Asana Math (\u05D1\u05E8\u05E9\u05EA)", + GyrePagellaWeb: "Gyre Pagella (\u05D1\u05E8\u05E9\u05EA)", + GyreTermesWeb: "Gyre Termes (\u05D1\u05E8\u05E9\u05EA)", + LatinModernWeb: "Latin Modern (\u05D1\u05E8\u05E9\u05EA)", + NeoEulerWeb: "Neo Euler (\u05D1\u05E8\u05E9\u05EA)", + ContextMenu: "\u05EA\u05E4\u05E8\u05D9\u05D8 \u05D4\u05B6\u05E7\u05E9\u05E8", + Browser: "\u05D3\u05E4\u05D3\u05E4\u05DF", + Scale: "\u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05D0\u05EA \u05D4\u05D2\u05D5\u05D3\u05DC \u05E9\u05DC \u05DB\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA...", + Discoverable: "\u05DC\u05D4\u05D0\u05D9\u05E8 \u05D1\u05DE\u05E2\u05D1\u05E8 \u05E2\u05DB\u05D1\u05E8", + Locale: "\u05E9\u05E4\u05D4", + LoadLocale: "\u05DC\u05D8\u05E2\u05D5\u05DF \u05DE\u05DB\u05EA\u05D5\u05D1\u05EA...", + About: "\u05D0\u05D5\u05D3\u05D5\u05EA MathJax", + Help: "\u05E2\u05D6\u05E8\u05D4 \u05E9\u05DC MathJax", + localTeXfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05DE\u05E7\u05D5\u05DE\u05D9\u05D9\u05DD", + webTeXfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 TeX \u05DE\u05D4\u05E8\u05E9\u05EA", + imagefonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 \u05EA\u05DE\u05D5\u05E0\u05D4", + localSTIXfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 STIX \u05DE\u05E7\u05D5\u05DE\u05D9\u05D9\u05DD", + webSVGfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 SVG \u05DE\u05D4\u05E8\u05E9\u05EA", + genericfonts: "\u05DE\u05E9\u05DE\u05E9\u05D9\u05DD \u05D2\u05D5\u05E4\u05E0\u05D9 \u05D9\u05D5\u05E0\u05D9\u05E7\u05D5\u05D3 \u05DB\u05DC\u05DC\u05D9\u05D9\u05DD", + wofforotffonts: "\u05D2\u05D5\u05E4\u05E0\u05D9 woff \u05D0\u05D5 otf", + eotffonts: "\u05D2\u05D5\u05E4\u05E0\u05D9 eot", + svgfonts: "\u05D2\u05D5\u05E4\u05E0\u05D9 svg", + WebkitNativeMMLWarning: "\u05D1\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D0\u05D9\u05DF \u05EA\u05DE\u05D9\u05DB\u05D4 \u05DE\u05D5\u05D1\u05E0\u05D9\u05EA \u05D1\u05BEMathML, \u05D0\u05D6 \u05DE\u05E2\u05D1\u05E8 \u05DC\u05E4\u05DC\u05D8 MathML \u05E2\u05DC\u05D5\u05DC \u05DC\u05D4\u05E4\u05D5\u05DA \u05D0\u05EA \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DC\u05D1\u05DC\u05EA\u05D9\u05BE\u05E7\u05E8\u05D9\u05D0\u05D5\u05EA", + MSIENativeMMLWarning: "\u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D0\u05E7\u05E1\u05E4\u05DC\u05D5\u05E8\u05E8 \u05D3\u05D5\u05E8\u05E9 \u05EA\u05D5\u05E1\u05E3 MathPlayer \u05DB\u05D3\u05D9 \u05DC\u05E2\u05D1\u05D3 \u05E4\u05DC\u05D8 MathML.", + OperaNativeMMLWarning: "\u05D4\u05EA\u05DE\u05D9\u05DB\u05D4 \u05E9\u05DC \u05D0\u05D5\u05E4\u05E8\u05D4 \u05D1\u05BEMathML \u05DE\u05D5\u05D2\u05D1\u05DC\u05EA, \u05D0\u05D6 \u05DE\u05E2\u05D1\u05E8 \u05DC\u05BEMathML \u05E2\u05DC\u05D5\u05DC \u05DC\u05D2\u05E8\u05D5\u05DD \u05DC\u05D7\u05DC\u05E7 \u05DE\u05D4\u05D1\u05D9\u05D8\u05D5\u05D9\u05D9\u05DD \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05D5\u05E6\u05D2\u05D9\u05DD \u05D1\u05D0\u05D5\u05E4\u05DF \u05D2\u05E8\u05D5\u05E2.", + SafariNativeMMLWarning: "\u05D4\u05EA\u05DE\u05D9\u05DB\u05D4 \u05D4\u05DE\u05D5\u05D1\u05E0\u05D9\u05EA \u05E9\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D1\u05BEMathML \u05D0\u05D9\u05E0\u05D4 \u05DE\u05DE\u05DE\u05E9\u05EA \u05D0\u05EA \u05DB\u05DC \u05D4\u05D9\u05DB\u05D5\u05DC\u05D5\u05EA \u05E9\u05BEMathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D4\u05DF, \u05D0\u05D6 \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D1\u05D9\u05D8\u05D5\u05D9\u05D9\u05DD \u05D0\u05D7\u05D3\u05D9\u05DD \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05DB\u05E8\u05D0\u05D5\u05D9.", + FirefoxNativeMMLWarning: "\u05D4\u05EA\u05DE\u05D9\u05DB\u05D4 \u05D4\u05DE\u05D5\u05D1\u05E0\u05D9\u05EA \u05E9\u05DC \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D1\u05BEMathML \u05D0\u05D9\u05E0\u05D4 \u05DE\u05DE\u05DE\u05E9\u05EA \u05D0\u05EA \u05DB\u05DC \u05D4\u05D9\u05DB\u05D5\u05DC\u05D5\u05EA \u05E9\u05BEMathJax \u05DE\u05E9\u05EA\u05DE\u05E9 \u05D1\u05D4\u05DF, \u05D0\u05D6 \u05D9\u05D9\u05EA\u05DB\u05DF \u05E9\u05D1\u05D9\u05D8\u05D5\u05D9\u05D9\u05DD \u05D0\u05D7\u05D3\u05D9\u05DD \u05DC\u05D0 \u05D9\u05D5\u05E6\u05D2\u05D5 \u05DB\u05E8\u05D0\u05D5\u05D9.", + MSIESVGWarning: "\u05EA\u05DE\u05D9\u05DB\u05D4 \u05D1\u05BESVG \u05D0\u05D9\u05E0\u05D4 \u05DE\u05DE\u05D5\u05DE\u05E9\u05EA \u05D1\u05D0\u05D9\u05E0\u05D8\u05E8\u05E0\u05D8 \u05D0\u05E7\u05E1\u05E4\u05DC\u05D5\u05E8\u05E8 \u05DC\u05E4\u05E0\u05D9 \u05D2\u05E8\u05E1\u05D4 9 \u05D0\u05D5 \u05DB\u05D0\u05E9\u05E8 \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E4\u05D5\u05E2\u05DC \u05D1\u05DE\u05E6\u05D1 \u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05DC\u05D2\u05E8\u05E1\u05D4 8 \u05D5\u05DE\u05D8\u05D4. \u05DE\u05E2\u05D1\u05E8 \u05DC\u05E4\u05DC\u05D8 \u05D1\u05BESVG \u05D9\u05D2\u05E8\u05D5\u05DD \u05DC\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA \u05DE\u05EA\u05DE\u05D8\u05D9\u05D5\u05EA \u05DC\u05D0 \u05D4\u05D9\u05D5\u05EA \u05DE\u05D5\u05E6\u05D2\u05D5\u05EA \u05DB\u05E8\u05D0\u05D5\u05D9.", + LoadURL: "\u05D8\u05E2\u05D9\u05E0\u05EA \u05E0\u05EA\u05D5\u05E0\u05D9 \u05EA\u05E8\u05D2\u05D5\u05DD \u05DE\u05D4\u05DB\u05EA\u05D5\u05D1\u05EA \u05D4\u05D1\u05D0\u05D4:", + BadURL: "\u05D4\u05DB\u05EA\u05D5\u05D1\u05EA \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05DB\u05E4\u05E0\u05D5\u05EA \u05DC\u05E7\u05D5\u05D1\u05E5 \u05D2'\u05D0\u05D5\u05D5\u05D4 \u05E1\u05E7\u05E8\u05D9\u05E4\u05D8 \u05E9\u05DE\u05D2\u05D3\u05D9\u05E8 \u05E0\u05EA\u05D5\u05E0\u05D9 \u05EA\u05E8\u05D2\u05D5\u05DD \u05E9\u05DC MathJax. \u05E7\u05D5\u05D1\u05E5 \u05D4\u05D2'\u05D0\u05D5\u05D5\u05E1 \u05E1\u05E7\u05E8\u05D9\u05E4\u05D8 \u05D0\u05DE\u05D5\u05E8 \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1\u05BEjs.", + BadData: "\u05E0\u05DB\u05E9\u05DC\u05D4 \u05D8\u05E2\u05D9\u05E0\u05EA \u05E0\u05EA\u05D5\u05E0\u05D9 \u05EA\u05E8\u05D2\u05D5\u05DD \u05DE\u05BE%1", + SwitchAnyway: "\u05DC\u05E9\u05E0\u05D5\u05EA \u05D0\u05EA \u05D4\u05DE\u05E6\u05D9\u05D2 \u05D1\u05DB\u05DC \u05D6\u05D0\u05EA?\n\n(\u05D9\u05E9 \u05DC\u05DC\u05D7\u05D5\u05E5 \u05D0\u05D9\u05E9\u05D5\u05E8 \u05DC\u05DE\u05E2\u05D1\u05E8 \u05D0\u05D5 \u05D1\u05D9\u05D8\u05D5\u05DC \u05DC\u05D4\u05DE\u05E9\u05DA \u05E2\u05DD \u05D4\u05E6\u05D9\u05D2 \u05D4\u05E0\u05D5\u05DB\u05D7\u05D9)", + ScaleMath: "\u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05D0\u05EA \u05D4\u05D2\u05D5\u05D3\u05DC \u05E9\u05DC \u05DB\u05DC \u05D4\u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA (\u05D9\u05D7\u05E1\u05D9\u05EA \u05DC\u05D8\u05E7\u05E1\u05D8 \u05D4\u05E1\u05DE\u05D5\u05DA) \u05D1\u05BE:", + NonZeroScale: "\u05D4\u05D2\u05D5\u05D3\u05DC \u05DC\u05D0 \u05D9\u05DB\u05D5\u05DC \u05DC\u05D4\u05D9\u05D5 \u05D0\u05E4\u05E1", + PercentScale: "\u05D4\u05D2\u05D5\u05D3\u05DC \u05D0\u05DE\u05D5\u05E8 \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05D0\u05D7\u05D5\u05D6\u05D9\u05DD (\u05DC\u05DE\u05E9\u05DC 120%%)", + IE8warning: "\u05D6\u05D4 \u05D9\u05DB\u05D1\u05D4 \u05D0\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 MathJax \u05D5\u05D0\u05EA \u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05E7\u05D9\u05E8\u05D5\u05D1, \u05D0\u05D1\u05DC \u05D0\u05E4\u05E9\u05E8 \u05DC\u05E2\u05E9\u05D5\u05EA \u05DC\u05D7\u05D9\u05E6\u05D4 \u05E2\u05DD Alt \u05E2\u05DC \u05D1\u05D9\u05D8\u05D5\u05D9 \u05DB\u05D3\u05D9 \u05DC\u05E7\u05D1\u05DC \u05D8\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 M\uFFFDathJax \u05D1\u05DE\u05E7\u05D5\u05DD \u05D6\u05D4.\n\n\u05D4\u05D0\u05DD \u05D1\u05D0\u05DE\u05EA \u05DC\u05E9\u05E0\u05D5\u05EA \u05D0\u05EA \u05D4\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05E9\u05DC MathJax?", + IE9warning: "\u05EA\u05E4\u05E8\u05D9\u05D8 \u05D4\u05D4\u05E7\u05E9\u05E8 \u05E9\u05DC MathJax \u05D9\u05DB\u05D5\u05D1\u05D4, \u05D0\u05D1\u05DC \u05D0\u05E4\u05E9\u05E8 \u05DC\u05E2\u05E9\u05D5\u05EA \u05DC\u05D7\u05D9\u05E6\u05D4 \u05E2\u05DD Alt \u05E2\u05DC \u05D1\u05D9\u05D8\u05D5\u05D7 \u05DB\u05D3\u05D9 \u05DC\u05E7\u05D1\u05DC \u05D0\u05EA \u05EA\u05E4\u05E8\u05D9\u05D8 MathJax.", + NoOriginalForm: "\u05D4\u05E6\u05D5\u05E8\u05D4 \u05D4\u05DE\u05E7\u05D5\u05E8\u05D9\u05EA \u05D0\u05D9\u05E0\u05D4 \u05D6\u05DE\u05D9\u05E0\u05D4", + Close: "\u05E1\u05D2\u05D9\u05E8\u05D4", + EqSource: "\u05DE\u05E7\u05D5\u05E8 \u05D4\u05DE\u05E9\u05D5\u05D5\u05D0\u05D4 \u05E9\u05DC MathJax", + CloseAboutDialog: "\u05E1\u05D2\u05D9\u05E8\u05EA \u05D7\u05DC\u05D5\u05DF \u05D3\u05D5\u05BE\u05E9\u05D9\u05D7 \u05D0\u05D5\u05D3\u05D5\u05EA MathJax", + FastPreview: "\u05EA\u05E6\u05D5\u05D2\u05D4 \u05DE\u05E7\u05D3\u05D9\u05DE\u05D4 \u05DE\u05D4\u05D9\u05E8\u05D4", + AssistiveMML: "MathML \u05E0\u05D2\u05D9\u05E9", + InTabOrder: "\u05DC\u05DB\u05DC\u05D5\u05DC \u05D1\u05E1\u05D3\u05E8 \u05D4\u05D8\u05D0\u05D1\u05D9\u05DD" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/TeX.js b/src/py/kaleido/vendor/mathjax/localization/he/TeX.js new file mode 100644 index 00000000..98fbc6e6 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/he/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/he/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05D7\u05E1\u05E8", + ExtraCloseMissingOpen: "\u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05D7\u05E1\u05E8", + MissingLeftExtraRight: "\u05D7\u05D5\u05E7 \u200E\\left \u05D7\u05E1\u05E8 \u05D0\u05D5 \u05D7\u05D5\u05E7 \u200E\\right \u05DE\u05D9\u05D5\u05EA\u05E8", + MissingScript: "\u05D7\u05E1\u05E8 \u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DB\u05EA\u05D1 \u05E2\u05D9\u05DC\u05D9 \u05D0\u05D5 \u05DB\u05EA\u05D1 \u05EA\u05D7\u05EA\u05D9", + ExtraLeftMissingRight: "\u200E\\left \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u05D7\u05D5\u05E7 \u200E\\right \u05D7\u05E1\u05E8", + Misplaced: "%1 \u05D1\u05DE\u05E7\u05D5\u05DD \u05E9\u05D2\u05D5\u05D9", + MissingOpenForSub: "\u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05D7\u05E1\u05E8 \u05DC\u05DB\u05EA\u05D1 \u05EA\u05D7\u05EA\u05D9", + MissingOpenForSup: "\u05E1\u05D5\u05D2\u05E8 \u05E4\u05EA\u05D9\u05D7\u05D4 \u05D7\u05E1\u05E8 \u05DC\u05DB\u05EA\u05D1 \u05E2\u05D9\u05DC\u05D9", + AmbiguousUseOf: "\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D3\u05D5\u05BE\u05DE\u05E9\u05DE\u05E2\u05D9 \u05D1\u05BE\u200E%1", + EnvBadEnd: "\u200E\\begin{%1}\u200E \u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1\u05BE\u200E\\end{%2}\u200E", + EnvMissingEnd: "\u200E\\end{%1}\u200E \u05D7\u05E1\u05E8", + MissingBoxFor: "\u05D7\u05E1\u05E8\u05D4 \u05EA\u05D9\u05D1\u05D4 \u05E2\u05D1\u05D5\u05E8 %1", + MissingCloseBrace: "\u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05D7\u05E1\u05E8", + UndefinedControlSequence: "\u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05DE\u05D5\u05D2\u05D3\u05E8 %1", + DoubleExponent: "\u05DE\u05E2\u05E8\u05D9\u05DA \u05DB\u05E4\u05D5\u05DC: \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05DC\u05D4\u05D1\u05D4\u05E8\u05D4", + DoubleSubscripts: "\u05DB\u05EA\u05D1 \u05EA\u05D7\u05EA\u05D9 \u05DB\u05E4\u05D5\u05DC: \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05DC\u05D4\u05D1\u05D4\u05E8\u05D4", + DoubleExponentPrime: "\u05EA\u05D2 \u05D2\u05D5\u05E8\u05DD \u05DC\u05DE\u05E2\u05E8\u05D9\u05DA \u05DB\u05E4\u05D5\u05DC; \u05D9\u05E9 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05DC\u05D4\u05D1\u05D4\u05E8\u05D4", + CantUseHash1: "\u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\"\u05EA\u05D5 \u05DE\u05E7\u05E8\u05D5 \u05E4\u05E8\u05DE\u05D8\u05E8 #\" \u05D1\u05DE\u05E6\u05D1 \u05DE\u05EA\u05DE\u05D8\u05D9\u05E7\u05D4", + MisplacedMiddle: "\u05E2\u05DC \u200E%1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05D9\u05DF \u200E\\left \u05DC\u05BE\u200E\\right", + MisplacedLimits: "\u05DE\u05D5\u05EA\u05E8 \u05DC\u05D4\u05E9\u05EA\u05DE\u05E9 \u05D1\u05BE\u200E%1 \u05E8\u05E7 \u05D1\u05D0\u05D5\u05E4\u05E8\u05D8\u05D5\u05E8\u05D9\u05DD", + MisplacedMoveRoot: "\u05E2\u05DC \u200E%1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05EA\u05D5\u05DA \u05E9\u05D5\u05E8\u05E9", + MultipleCommand: "\u05DE\u05E1\u05E4\u05E8 \u05DE\u05E8\u05D5\u05D1\u05D4 \u05E9\u05DC \u200E%1", + IntegerArg: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05E1\u05E4\u05E8 \u05E9\u05DC\u05DD", + NotMathMLToken: "%1 \u05D0\u05D9\u05E0\u05D5 \u05D0\u05DC\u05DE\u05E0\u05D8 token \u05EA\u05E7\u05D9\u05DF", + InvalidMathMLAttr: "\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF MathML \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF: %1", + UnknownAttrForElement: "\u05D4\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF %1 \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05BC\u05DB\u05E8 \u05D1\u05EA\u05D5\u05E8 \u05DE\u05D0\u05E4\u05D9\u05D9\u05DF \u05E9\u05DC %2", + MaxMacroSub1: "\u05DE\u05E1\u05E4\u05E8 \u05E8\u05D1 \u05DE\u05D3\u05D9 \u05E9\u05DC \u05D4\u05D7\u05DC\u05E4\u05D5\u05EA \u05D4\u05DE\u05E7\u05E8\u05D5 \u05D1\u05BEMathJax; \u05D4\u05D0\u05DD \u05D9\u05E9 \u05E7\u05E8\u05D9\u05D0\u05D4 \u05E8\u05E7\u05D5\u05E8\u05E1\u05D9\u05D1\u05D9\u05EA \u05DC\u05DE\u05E7\u05E8\u05D5?", + MaxMacroSub2: "\u05DE\u05E1\u05E4\u05E8 \u05E8\u05D1 \u05DE\u05D3\u05D9 \u05E9\u05DC \u05D4\u05D4\u05D7\u05DC\u05E4\u05D5\u05EA \u05D1\u05BEMathJax; \u05D4\u05D0\u05DD \u05D9\u05E9 \u05E1\u05D1\u05D9\u05D1\u05EA LaTeX \u05E8\u05E7\u05D5\u05E8\u05E1\u05D9\u05D1\u05D9\u05EA?", + MissingArgFor: "\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D7\u05E1\u05E8 \u05E2\u05D1\u05D5\u05E8 \u05C2%1", + ExtraAlignTab: "\u05D8\u05D0\u05D1 \u05D9\u05D9\u05E9\u05D5\u05E8 \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D1\u05D8\u05E7\u05E1\u05D8 \u05D1\u05BE\u200E\\cases", + BracketMustBeDimension: "\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D1\u05E1\u05D5\u05D2\u05E8\u05D9\u05D9\u05DD \u05D1\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DE\u05D3", + InvalidEnv: "\u05E9\u05DD \u05E1\u05D1\u05D9\u05D1\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF '%1'", + UnknownEnv: "\u05E1\u05D1\u05D9\u05D1\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05D9\u05D3\u05D5\u05E2\u05D4 '%1'", + ExtraCloseLooking: "\u05E0\u05DE\u05E6\u05D0 \u05E1\u05D5\u05D2\u05E8 \u05E1\u05D9\u05D5\u05DD \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D1\u05E2\u05EA \u05D7\u05D9\u05E4\u05D5\u05E9 \u05D0\u05D7\u05E8 %1", + MissingCloseBracket: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 '\u202A]\u202C' \u05DE\u05E1\u05D9\u05D9\u05DD \u05E2\u05D1\u05D5\u05E8 \u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DC\u05BE\u200E%1", + MissingOrUnrecognizedDelim: "\u05EA\u05D5\u05D7\u05DD \u05D7\u05E1\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05DE\u05D5\u05BC\u05DB\u05E8 \u05E2\u05D1\u05D5\u05E8 \u200E%1", + MissingDimOrUnits: "\u05D7\u05E1\u05E8 \u05DE\u05DE\u05D3 \u05D0\u05D5 \u05D9\u05D7\u05D9\u05D3\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 \u200E%1", + TokenNotFoundForCommand: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 %1 \u05E2\u05D1\u05D5\u05E8 %2", + MathNotTerminated: "\u05E0\u05D5\u05E1\u05D7\u05D4 \u05DE\u05EA\u05DE\u05D8\u05D9\u05EA \u05DC\u05D0 \u05D2\u05DE\u05D5\u05E8\u05D4 \u05D1\u05EA\u05D9\u05D1\u05EA \u05D4\u05D8\u05E7\u05E1\u05D8", + IllegalMacroParam: "\u05D4\u05E4\u05E0\u05D9\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05E0\u05D4 \u05DC\u05E4\u05E8\u05DE\u05D8\u05E8 \u05E9\u05DC \u05DE\u05E7\u05E8\u05D5", + MaxBufferSize: "\u05DE\u05D0\u05D2\u05E8 MathJax \u05E4\u05E0\u05D9\u05DE\u05D9 \u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9; \u05D4\u05D0\u05DD \u05D9\u05E9 \u05DB\u05D0\u05DF \u05E7\u05E8\u05D9\u05D0\u05EA \u05DE\u05E7\u05E8\u05D5 \u05E8\u05E7\u05D5\u05E8\u05E1\u05D9\u05D1\u05D9\u05EA?", + CommandNotAllowedInEnv: "\u200E%1 \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05E8\u05E9\u05D4 \u05D1\u05E1\u05D1\u05D9\u05D1\u05D4 %2", + MultipleLabel: "\u05D4\u05EA\u05D5\u05D5\u05D9\u05EA '%1' \u05DE\u05D5\u05D2\u05D3\u05E8\u05EA \u05DE\u05E1\u05E4\u05E8 \u05E4\u05E2\u05DE\u05D9\u05DD", + CommandAtTheBeginingOfLine: "\u05D4\u05DE\u05E7\u05E8\u05D5 %1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05DB\u05EA\u05D1 \u05D1\u05EA\u05D7\u05D9\u05DC\u05EA \u05D4\u05E9\u05D5\u05E8\u05D4", + IllegalAlign: "\u05D9\u05D9\u05E9\u05D5\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05D4\u05D5\u05D2\u05D3\u05E8 \u05D1\u05BE\u200E%1", + BadMathStyleFor: "\u05E1\u05D2\u05E0\u05D5\u05DF \u05E0\u05D5\u05E1\u05D7\u05D4 \u05D2\u05E8\u05D5\u05E2 \u05E2\u05D1\u05D5\u05E8 \u200E%1", + PositiveIntegerArg: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05E9\u05DC\u05DD \u05D7\u05D9\u05D5\u05D1\u05D9", + ErroneousNestingEq: "\u05E7\u05D9\u05E0\u05D5\u05DF \u05E9\u05D2\u05D5\u05D9 \u05E9\u05DC \u05DE\u05D1\u05E0\u05D9 \u05DE\u05E9\u05D5\u05D5\u05D0\u05D4", + MultlineRowsOneCol: "\u05DC\u05E9\u05D5\u05E8\u05D5\u05EA \u05D1\u05EA\u05D5\u05DA \u05D4\u05E1\u05D1\u05D9\u05D1\u05D4 %1 \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA \u05E8\u05E7 \u05E2\u05DE\u05D5\u05D3\u05D4 \u05D0\u05D7\u05EA", + MultipleBBoxProperty: "\u05D4\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF %1 \u05D4\u05D5\u05D2\u05D3\u05E8 \u05E4\u05E2\u05DE\u05D9\u05D9\u05DD \u05D1\u05BE\u200E%2", + InvalidBBoxProperty: "\u05D4\u05DE\u05D0\u05E4\u05D9\u05D9\u05DF '%1' \u05D0\u05D9\u05E0\u05D5 \u05E0\u05E8\u05D0\u05D4 \u05DB\u05DE\u05D5 \u05E6\u05D1\u05E2, \u05DE\u05DE\u05D3 \u05D3\u05D9\u05E4\u05D5\u05DF \u05D0\u05D5 \u05E1\u05D2\u05E0\u05D5\u05DF", + ExtraEndMissingBegin: "\u05E0\u05DE\u05E6\u05D0 \u200E%1 \u05DE\u05D9\u05D5\u05EA\u05E8 \u05D0\u05D5 \u200E\\begingroup \u05D7\u05E1\u05E8", + GlobalNotFollowedBy: "\u200E%1 \u05E9\u05D0\u05D9\u05DF \u05D0\u05D7\u05E8\u05D9\u05D5 \u200E\\let\u200F, \u200E\\def \u05D0\u05D5 \u200E\\newcommand", + UndefinedColorModel: "\u05D3\u05D2\u05DD \u05D4\u05E6\u05D1\u05E2 '%1' \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05D2\u05D3\u05E8", + ModelArg1: "\u05E2\u05E8\u05DB\u05D9 \u05E6\u05D1\u05E2 \u05E2\u05D1\u05D5\u05E8 \u05D4\u05D3\u05D2\u05DD %1 \u05D3\u05D5\u05E8\u05E9\u05D9\u05DD 3 \u05DE\u05E1\u05E4\u05E8\u05D9\u05DD", + InvalidDecimalNumber: "\u05DE\u05E1\u05E4\u05E8 \u05E2\u05E9\u05E8\u05D5\u05E0\u05D9 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF", + ModelArg2: "\u05E2\u05E8\u05DB\u05D9 \u05E6\u05D1\u05E2 \u05E2\u05D1\u05D5\u05E8 \u05D3\u05D2\u05DD %1 \u05E6\u05E8\u05D9\u05DB\u05D9\u05DD \u05DC\u05D4\u05D9\u05D5\u05EA \u05D1\u05D9\u05DF %2 \u05DC\u05D1\u05D9\u05DF %3", + InvalidNumber: "\u05DE\u05E1\u05E4\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF", + NewextarrowArg1: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D4\u05E8\u05D0\u05E9\u05D5\u05DF \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05E9\u05DD \u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4", + NewextarrowArg2: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D4\u05E9\u05E0\u05D9 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05E9\u05E0\u05D9 \u05DE\u05E1\u05E4\u05E8\u05D9\u05DD \u05E9\u05DC\u05DE\u05D9\u05DD \u05DE\u05D5\u05E4\u05E8\u05D3\u05D9\u05DD \u05D1\u05E4\u05E1\u05D9\u05E7", + NewextarrowArg3: "\u05D4\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D4\u05E9\u05DC\u05D9\u05E9\u05D9 \u05DC\u05BE\u200E%1 \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05E1\u05E4\u05E8 \u05EA\u05D5 \u05D9\u05D5\u05E0\u05D9\u05E7\u05D5\u05D3", + NoClosingChar: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 %1 \u05DE\u05E1\u05D9\u05D9\u05DD", + IllegalControlSequenceName: "\u05E9\u05DD \u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05E2\u05D1\u05D5\u05E8 \u200E%1", + IllegalParamNumber: "\u05DE\u05E1\u05E4\u05E8 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05E9\u05DC \u05E4\u05E8\u05DE\u05D8\u05E8\u05D9\u05DD \u05D4\u05D5\u05D2\u05D3\u05E8 \u05D1\u05BE\u200E%1", + MissingCS: "\u05D0\u05D7\u05E8\u05D9 \u200E%1 \u05D9\u05E9 \u05DC\u05DB\u05EA\u05D5\u05D1 \u05E8\u05E6\u05E3 \u05D1\u05E7\u05E8\u05D4", + CantUseHash2: "\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1\u05DC\u05EA\u05D9\u05BE\u05EA\u05E7\u05D9\u05DF \u05D1\u05BE# \u05D1\u05EA\u05D1\u05E0\u05D9\u05EA \u05E2\u05D1\u05D5\u05E8 %1", + SequentialParam: "\u05D4\u05E4\u05E8\u05DE\u05D8\u05E8\u05D9\u05DD \u05E2\u05D1\u05D5\u05E8 %1 \u05E6\u05E8\u05D9\u05DB\u05D9\u05DD \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DE\u05D5\u05E1\u05E4\u05E8\u05D9\u05DD \u05D1\u05E8\u05E6\u05E3", + MissingReplacementString: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D4\u05D7\u05DC\u05E4\u05D4 \u05D7\u05E1\u05E8\u05D4 \u05E2\u05D1\u05D5\u05E8 \u05D4\u05D4\u05D2\u05D3\u05E8\u05D4 \u05E9\u05DC \u200E%1", + MismatchUseDef: "\u05D4\u05E9\u05D9\u05DE\u05D5\u05E9 \u05D1\u05BE\u200E%1 \u05D0\u05D9\u05E0\u05D5 \u05EA\u05D5\u05D0\u05DD \u05DC\u05D4\u05D2\u05D3\u05E8\u05D4 \u05E9\u05DC\u05D5", + RunawayArgument: "\u05D0\u05E8\u05D2\u05D5\u05DE\u05E0\u05D8 \u05D1\u05E8\u05D7 \u05DE\u05BE\u200E%1?", + NoClosingDelim: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0 \u05EA\u05D5\u05D7\u05DD \u05DE\u05E1\u05D9\u05D9\u05DD \u05E2\u05D1\u05D5\u05E8 \u200E%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/he/he.js b/src/py/kaleido/vendor/mathjax/localization/he/he.js new file mode 100644 index 00000000..8878647e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/he/he.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/localization/he/he.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("he",null,{ + menuTitle: "\u05E2\u05D1\u05E8\u05D9\u05EA", + fontDirection: "rtl", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u05DE\u05E6\u05D0 \u05E2\u05D5\u05D2\u05D9\u05D9\u05EA \u05D4\u05D2\u05D3\u05E8\u05D5\u05EA \u05DE\u05E9\u05EA\u05DE\u05E9 \u05E9\u05DB\u05D5\u05DC\u05DC\u05EA \u05E7\u05D5\u05D3 \u05DC\u05D4\u05E8\u05E6\u05D4. \u05D4\u05D0\u05DD \u05DC\u05D4\u05E8\u05D9\u05E5 \u05D0\u05D5\u05EA\u05D5?\n\n(\u05D9\u05E9 \u05DC\u05DC\u05D7\u05D5\u05E5 \"\u05D1\u05D9\u05D8\u05D5\u05DC\" \u05D0\u05DC\u05D0 \u05D0\u05DD \u05D4\u05D2\u05D3\u05E8\u05EA \u05D0\u05EA \u05D4\u05E2\u05D5\u05D2\u05D9\u05D9\u05D4 \u05D1\u05E2\u05E6\u05DE\u05DA.)", + MathProcessingError: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E2\u05D9\u05D1\u05D5\u05D3 \u05E0\u05D5\u05E1\u05D7\u05D4", + MathError: "\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D1\u05E0\u05D5\u05E1\u05D7\u05D4", + LoadFile: "\u05D8\u05E2\u05D9\u05E0\u05EA %1", + Loading: "\u05D8\u05E2\u05D9\u05E0\u05D4", + LoadFailed: "\u05D4\u05E7\u05D5\u05D1\u05E5 \u05DC\u05D0 \u05E0\u05D8\u05E2\u05DF: %1", + ProcessMath: "\u05E2\u05D9\u05D1\u05D5\u05D3 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA: %1%%", + Processing: "\u05E2\u05D9\u05D1\u05D5\u05D3", + TypesetMath: "\u05E1\u05D3\u05B7\u05E8 \u05E0\u05D5\u05E1\u05D7\u05D0\u05D5\u05EA: %1%%", + Typesetting: "\u05E1\u05D3\u05B7\u05E8", + MathJaxNotSupported: "\u05D4\u05D3\u05E4\u05D3\u05E4\u05DF \u05E9\u05DC\u05DA \u05D0\u05D9\u05E0\u05D5 \u05EA\u05D5\u05DE\u05DA \u05D1\u05BEMathJax", + ErrorTips: "\u05E2\u05E6\u05D5\u05EA \u05DC\u05EA\u05D9\u05E7\u05D5\u05DF \u05E9\u05D2\u05D9\u05D0\u05D5\u05EA: \u05D4\u05E9\u05EA\u05DE\u05E9\u05D5 \u05D1\u05BE%%1, \u05D1\u05D3\u05E7\u05D5 \u05D0\u05EA %%2 \u05D1\u05DE\u05E1\u05D5\u05E3 \u05D4\u05D3\u05E4\u05D3\u05E4\u05DF" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + if (n === 2) {return 2} // two + if (n !== 0 && n % 10 !== 0) {return 3} // many + return 4; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/he/he.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ia/FontWarnings.js new file mode 100644 index 00000000..9f80c16e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ia/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ia/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax utilisa typos de litteras discargate del web pro presentar le formulas mathematic in iste pagina. Istes require tempore pro esser discargate; le pagina apparerea plus rapidemente si vos installa le typos de characteres mathematic directemente in le dossier de typos de litteras de vostre computator.", + imageFonts: "MathJax presenta le characteres mathematic per medio de imagines e non usa typos de litteras web o local. Isto rende le presentation plus lente e vostre impressor pote imprimer le formulas a un resolution basse.", + noFonts: "MathJax non ha potite localisar un typo de litteras pro presentar su formulas mathematic, e le characteres in imagines non es disponibile, dunque illo debe usar le characteres Unicode generic in le sperantia que vostre navigator sape monstrar los correctemente. Alcun characteres pote apparer de modo erronee o esser absente.", + webFonts: "Le major parte del navigatores moderne permitte le discargamento de typos de litteras per le web. Si vos actualisa le version de vostre navigator (o cambia de navigator) le qualitate graphic del formulas mathematic in iste pagina poterea meliorar se.", + fonts: "MathJax pote usar le [typos de litteras STIX](%1) o le [typos de litteras TeX de MathJax](%2). Discarga e installa un de istes pro meliorar vostre expreientia de MathJax.", + STIXPage: "Iste pagina ha essite concipite pro usar le [typos de litteras STIX](%1). Discarga e installa istes pro meliorar vostre experientia con MathJax.", + TeXPage: "Iste pagina ha essite concipite pro usar le [typos de litteras TeX de MathJax](%1). Discarga e installa istes pro meliorar vostre experientia con MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ia/HTML-CSS.js new file mode 100644 index 00000000..ef42bbec --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ia/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ia/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ia/HelpDialog.js new file mode 100644 index 00000000..f287ac02 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ia/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ia/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Adjuta de MathJax", + MathJax: "*MathJax* es un bibliotheca in JavaScript que permitte al autores includer formulas mathematic in lor paginas web. Nulle action del lector es necessari pro facer isto functionar.", + Browsers: "*Navigatores*: MathJax functiona con tote le navigatores web moderne como IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e le major parte del navigatores in apparatos mobile.", + Menu: "*Menu mathematic*: MathJax adde un menu contextual al equationes. Pro acceder a iste menu, clicca sur un formula premente le button dextre del mus o le clave CTRL.", + ShowMath: "*Monstrar formula como* permitte revelar le codice-fonte del formula pro copiar e collar (in formato MathML or in su formato original).", + Settings: "*Configuration* te da le controlo sur le functionalitate de MathJax, como le dimension del formulas, e le mechanismo usate pro presentar equationes.", + Language: "*Lingua* permitte seliger le lingua usate per MathJax pro su menus e messages de aviso.", + Zoom: "*Math Zoom*: Si vos ha difficultate a leger un equation, MathJax pote aggrandir lo pro facilitar le lectura.", + Accessibilty: "*Accessibilitate*: MathJax functiona automaticamente con lectores de schermo pro render le formulas accessibile al personas qui vide mal.", + Fonts: "*Typos de litteras*: MathJax usa certe typos de litteras mathematic si illos es installate in vostre computator; si non, illo usa typos de litteras obtenite per le web. Ben que non obligatori, le typos de litteras installate localmente rendera le composition plus rapide. Nos suggere installar le [typos de litteras STIX](%1)." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ia/MathML.js new file mode 100644 index 00000000..3c6a5e5a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ia/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ia/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ia/MathMenu.js new file mode 100644 index 00000000..8a9764d4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ia/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ia/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ia/TeX.js new file mode 100644 index 00000000..072f4b43 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ia/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ia/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ia/ia.js b/src/py/kaleido/vendor/mathjax/localization/ia/ia.js new file mode 100644 index 00000000..36763c96 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ia/ia.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/ia/ia.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ia",null,{ + menuTitle: "interlingua", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax ha trovate un cookie con un configuration de usator que include codice executabile. Executar iste codice?\n\n(Preme Cancellar si vos mesme non ha installate iste cookie.)", + MathProcessingError: "Error de tractamento de formula mathematic", + MathError: "Error in formula", + LoadFile: "Carga %1", + Loading: "Cargamento", + LoadFailed: "Cargamento del file fallite: %1", + ProcessMath: "Tracta formulas: %1%%", + Processing: "Tractamento", + TypesetMath: "Compone formulas: %1%%", + Typesetting: "Composition", + MathJaxNotSupported: "Vostre navigator non supporta MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ia/ia.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/it/FontWarnings.js new file mode 100644 index 00000000..0c406620 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/it/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/it/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax sta usando dei web font per visualizzare le formule di questa pagina. Tali font richiedono tempo per essere scaricati, perci\u00F2 la pagina sarebbe resa pi\u00F9 velocemente se tu installassi dei font matematici direttamente nella cartella dei font di sistema.", + imageFonts: "MathJax sta usando dei font immagine invece di quelli locali o dei web font. Questo rallenta la resa oltremodo e le formule potrebbero non essere stampate alla massima risoluzione dalla tua stampante.", + noFonts: "MathJax non \u00E8 in grado di trovare un font adatto a visualizzare le formule e i font immagini non sono disponibili; perci\u00F2 utilizzer\u00E1 dei generici caratteri unicode sperando che il tuo browser sia in grado di visualizzarli. Alcuni caratteri potrebbero non essere mostrati correttamente o mancare del tutto.", + webFonts: "I browser attuali permettono di scaricare i font dal web. Aggiornando il tuo browser a una versione pi\u00F9 recente (o cambiando del tutto browser) la qualit\u00E1 delle formule di questa pagina potrebbe migliorare.", + fonts: "MathJax pu\u00F2 usare sia gli [STIX font](%1) che i [MathJax TeX font](%2). Scarica e installa uno di questi font per avere una resa migliore da MathJax.", + STIXPage: "Questa pagina richiede l'uso degli [STIX font](%1). Scarica e installa i suddetti font per avere una resa migliore da MathJax.", + TeXPage: "Questa pagina richiede l'uso dei [MathJax TeX font](%1). Scarica e installa i suddetti font per avere una resa migliore da MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/it/HTML-CSS.js new file mode 100644 index 00000000..178d4a9c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/it/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/it/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Caricamento web-font %1", + CantLoadWebFont: "Impossibile caricare il web font %1", + FirefoxCantLoadWebFont: "Firefox non pu\u00F2 scaricare i web font dal server remoto", + CantFindFontUsing: "Impossibile trovare un font valido tra %1", + WebFontsNotAvailable: "Web font non disponibili -- font immagini in uso" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/it/HelpDialog.js new file mode 100644 index 00000000..b0c1c9dc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/it/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/it/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Aiuto su MathJax", + MathJax: "*MathJax* \u00E8 una libreria JavaScript che permette agli autori di includere formule matematiche nelle loro pagine web. Come lettore, non devi far nulla perch\u00E9 questo accada.", + Browsers: "*Browser*: MathJax funziona con tutti i moderni browser inclusi IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e gran parte di quelli per cellulare.", + Menu: "*Menu Formule*: MathJax aggiunge un menu contestuale alle equazioni. Fai click col tasto destro del mouse oppure CTRL-click su una qualsiasi formula per accedere a tale menu.", + ShowMath: "*Mostra formula come* ti permette di visualizzare il codice sorgente per il copia e incolla (in formato MathML o in quello originale).", + Settings: "*Impostazioni* permette di controllare le caratteristiche di MathJax, come la grandezza delle formule e il meccanismo usato per mostrare le equazioni.", + Language: "*Lingua* ti permette di selezionare la lingua usata da MathJax nei propri menu e nei messaggi d'avviso.", + Zoom: "*Zoom formula*: se hai difficolt\u00E1 nella lettura di un'equazione, MathJax pu\u00F2 ingrandirla per permetterti di vederla meglio.", + Accessibilty: "*Accessibilit\u00E1*: MathJax funzioner\u00E1 automaticamente con gli screen reader per rendere le formule accessibili a chi ha problemi di vista.", + Fonts: "*Font*: MathJax user\u00E1 certi tipi di font se presenti sul tuo computer; altrimenti usera i web font. Sebbene non sia richiesto, font installati sul proprio computer velocizzeranno l'esecuzione di MathJax. Ti suggeriamo di installare se puoi gli [STIX font](%1).", + CloseDialog: "Chiudi finestra di aiuto" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/MathML.js b/src/py/kaleido/vendor/mathjax/localization/it/MathML.js new file mode 100644 index 00000000..cc18aff9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/it/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/it/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph errato: %1", + BadMglyphFont: "Font errato: %1", + MathPlayer: "MathJax non \u00E8 stato in grado di avviare MathPlayer.\n\nSe MathPlayer non \u00E8 installato, devi prima installarlo.\nPu\u00F2 darsi anche che le tue impostazioni di sicurezza stiano impedendo\nl'esecuzione dei controlli ActiveX. Controlla la voce Opzioni Internet\ndel menu Strumenti e seleziona il pannello Protezione, quindi premi\nil pulsante 'Livello personalizzato...'. Verifica che siano abilitati\n'Esegui controlli ActiveX e plug-in' e 'Comportamento file binari e script'\n\nOra come ora vedrai dei messaggi d'errore al posto delle formule.", + CantCreateXMLParser: "MathJax non \u00E8 in grado di creare un parser XML per MathML. Verifica che\nl'impostazione 'Esegui script controlli ActiveX contrassegnati come sicuri'\nsia abilitata (usa la voce Opzioni Internet nel menu Strumenti,\ne seleziona il pannello Sicurezza, quindi premi il pulsante\n'Livello personalizzato...' per far questo).\n\nLe equazioni in MathML non potranno essere elaborate da MathJax.", + UnknownNodeType: "Tipo di nodo sconosciuto: %1", + UnexpectedTextNode: "Nodo di testo non previsto: %1", + ErrorParsingMathML: "Errore nell'analisi di MathML", + ParsingError: "Errore nell'analisi di MathML: %1", + MathMLSingleElement: "MathML deve essere formato da un singolo elemento", + MathMLRootElement: "MathML deve essere formato da un elemento \u003Cmath\u003E, non %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/it/MathMenu.js new file mode 100644 index 00000000..3d27878a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/it/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/it/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Mostra formula come", + MathMLcode: "Codice MathML", + OriginalMathML: "MathML originale", + TeXCommands: "Comandi TeX", + AsciiMathInput: "Input AsciiMathML", + Original: "Modulo originale", + ErrorMessage: "Messaggio d'errore", + Annotation: "Annotation", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "Aggiungi suggerimenti Tex a MathML", + Settings: "Impostazioni formule", + ZoomTrigger: "Attivazione zoom", + Hover: "Sopra", + Click: "Click", + DoubleClick: "Doppio-Click", + NoZoom: "Niente zoom", + TriggerRequires: "L'attivazione richiede:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Fattore di zoom", + Renderer: "Processore per le formule", + MPHandles: "Affida a MathPlayer", + MenuEvents: "Eventi menu", + MouseEvents: "Eventi mouse", + MenuAndMouse: "Eventi mouse e menu", + FontPrefs: "Preferenze font", + ForHTMLCSS: "Per HTML-CSS:", + Auto: "Auto", + TeXLocal: "TeX (locale)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (immagini)", + STIXLocal: "STIX (locale)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Menu contestuale", + Browser: "Browser", + Scale: "Scala tutte le formule...", + Discoverable: "Evidenzia al passaggio", + Locale: "Lingua", + LoadLocale: "Scarica dall'URL ...", + About: "Informazioni su MathJax", + Help: "Aiuto di MathJax", + localTeXfonts: "usare font TeX locale", + webTeXfonts: "usare font Tex dal web", + imagefonts: "usare font immagine", + localSTIXfonts: "usare font STIX locale", + webSVGfonts: "usare font SVG dal web", + genericfonts: "usare generici font unicode", + wofforotffonts: "font woff oppure otf", + eotffonts: "font eot", + svgfonts: "font svg", + WebkitNativeMMLWarning: "Il tuo browser non sembra supportare MathML nativamente, perci\u00F2 il passaggio ora all'output MathML potrebbe rendere illegibili le formule della pagina.", + MSIENativeMMLWarning: "Internet Explorer richiede il plugin MathPlayer per processare output MathML.", + OperaNativeMMLWarning: "Il supporto di Opera a MathML \u00E8 limitato, perci\u00F2 passando ora all'output MathML potrebbe succedere che alcune espressioni siano rese in modo scadente.", + SafariNativeMMLWarning: "L'implementazione di MathML del tuo browser non comprende tutte le caratteristiche usate da MathJax, perci\u00F2 alcune espressioni potrebbero non essere visualizzate perfettamente.", + FirefoxNativeMMLWarning: "L'implementazione di MathML del tuo browser non comprende tutte le caratteristiche usate da MathJax, perci\u00F2 alcune espressioni potrebbero non essere visualizzate perfettamente.", + MSIESVGWarning: "SVG non \u00E8 implementato nelle versioni precedenti IE9 oppure quando si sta emulando IE8 o precedenti. Passando all'output SVG le formule non saranno visualizzate correttamente.", + LoadURL: "Scaricamento traduzione da questo indirizzo:", + BadURL: "L'indirizzo dovrebbe puntare a un file Javascript con una traduzione di MathJax. I nomi di file Javascript dovrebbero avere estensione '.js'", + BadData: "Impossibile scaricare la traduzione da %1", + SwitchAnyway: "Passare comunque a questo interprete?\n\n(Premi OK per cambiare, ANNULLA per continuare con la modalit\u00E1 corrente", + ScaleMath: "Scala tutte le formule (comparate al testo circostante) del", + NonZeroScale: "Il fattore di scala non deve essere zero", + PercentScale: "Il fattore di scala deve essere in percentuale (es. 120%%)", + IE8warning: "Questo disabiliter\u00E1 il menu di MathJax e la possibilit\u00E1 di zoom, puoi per\u00F2 accedere lo stesso al menu con Alt-Click su una formula.\n\nCambiare davvero le impostazioni di MathPlayer?", + IE9warning: "Il menu contestuale di MathJax verr\u00E1 disabilitato, ma puoi sempre premere Alt-Click sopra una formula per accedervi comunque.", + NoOriginalForm: "Modulo originale non disponibile", + Close: "Chiudi", + EqSource: "Codice sorgente formula MathJax", + CloseAboutDialog: "Chiudi finestra di informazioni su MathJax", + FastPreview: "Anteprima veloce", + AssistiveMML: "MathML ausiliario", + InTabOrder: "Includi nell'ordine di tabulazione" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/TeX.js b/src/py/kaleido/vendor/mathjax/localization/it/TeX.js new file mode 100644 index 00000000..7b7eba7e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/it/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/it/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Graffa d'apertura in pi\u00F9 o di chiusura mancante", + ExtraCloseMissingOpen: "Graffa di chiusura in pi\u00F9 o d'apertura mancante", + MissingLeftExtraRight: "Comando \\left mancante oppure \\right extra", + MissingScript: "Argomento per l'esponente o per l'indice mancante", + ExtraLeftMissingRight: "Comando \\left extra oppure \\right mancante", + Misplaced: "%1 mal posizionato", + MissingOpenForSub: "Graffa d'apertura per l'indice mancante", + MissingOpenForSup: "Graffa d'apertura per l'esponente mancante", + AmbiguousUseOf: "Uso ambiguo di %1", + EnvBadEnd: "\\begin{%1} terminato con \\end{%2}", + EnvMissingEnd: "\\end{%1} mancante", + MissingBoxFor: "Box per %1 mancante", + MissingCloseBrace: "Graffa di chiusura mancante", + UndefinedControlSequence: "Sequenza di controllo %1 indefinita", + DoubleExponent: "Esponente doppio: usa le parentesi per distinguerli", + DoubleSubscripts: "Doppio indice: usa le parentesi per distinguerli", + DoubleExponentPrime: "Simbolo di primo visto come secondo esponente: usa le parentesi per chiarire", + CantUseHash1: "Non puoi usare il carattere # come parametro delle macro in modalit\u00E1 matematica", + MisplacedMiddle: "%1 deve trovarsi tra \\left e \\right", + MisplacedLimits: "%1 \u00E8 consentito solo con operatori", + MisplacedMoveRoot: "%1 pu\u00F2 appare solo sotto radice", + MultipleCommand: "%1 multipli", + IntegerArg: "L'argomento di %1 deve essere un intero", + NotMathMLToken: "%1 non \u00E8 un token", + InvalidMathMLAttr: "Attributo MathML non valido: %1", + UnknownAttrForElement: "%1 non \u00E8 un attributo riconosciuto per %2", + MaxMacroSub1: "Numero massimo per le sostituzioni di macro superato da MathJax; forse una chiamata di macro ricorsiva?", + MaxMacroSub2: "Numero massimo per le sostituzioni superato da MathJax; forse un'ambiente LaTeX ricorsivo?", + MissingArgFor: "Argomento di %1 mancante", + ExtraAlignTab: "Tabulazione d'allineamento extra nel testo di \\cases", + BracketMustBeDimension: "L'argomento tra parentesi per %1 deve essere una dimensione", + InvalidEnv: "Nome d'ambiente non valido '%1'", + UnknownEnv: "Ambiente sconosciuto '%1'", + ExtraCloseLooking: "Graffa di chiusura extra durante la ricerca di %1", + MissingCloseBracket: "Parentesi ] per l'argomento di %1 non trovata", + MissingOrUnrecognizedDelim: "Delimitatore per %1 mancante o non riconosciuto", + MissingDimOrUnits: "Dimensione o sue unit\u00E1 mancanti per %1", + TokenNotFoundForCommand: "Impossibile trovare %1 per %2", + MathNotTerminated: "Formula non terminata in box di testo", + IllegalMacroParam: "Riferimento a un parametro di macro illegale", + MaxBufferSize: "Dimensione del buffer interno di MathJax superato; chiamata di macro ricorsiva?", + CommandNotAllowedInEnv: "%1 non \u00E8 consentito nell'ambiente %2", + MultipleLabel: "Etichetta '%1' definita pi\u00F9 volte", + CommandAtTheBeginingOfLine: "%1 deve trovarsi all'inizio della riga", + IllegalAlign: "Allineamento specificato in %1 illegale", + BadMathStyleFor: "Stile math inadatto a %1", + PositiveIntegerArg: "L'argomento di %1 deve essere un intero positivo", + ErroneousNestingEq: "Annidamento di strutture di equazioni errato", + MultlineRowsOneCol: "Le righe nell'ambiente %1 devono avere esattamente una colonna", + MultipleBBoxProperty: "%1 specificato due volte in %2", + InvalidBBoxProperty: "'%1' non sembra un colore, una spaziatura o uno stile", + ExtraEndMissingBegin: "%1 extra oppure \\begingroup mancante", + GlobalNotFollowedBy: "%1 non seguito da \\let, \\def o \\newcommand", + UndefinedColorModel: "Modello colore '%1' non definito", + ModelArg1: "I valori di colore per il modello %1 richiedono tre numeri", + InvalidDecimalNumber: "Numero decimale non valido", + ModelArg2: "I valori di colore per il modello %1 devono essere compresi tra %2 e %3", + InvalidNumber: "Numero non valido", + NewextarrowArg1: "Il primo argomento di %1 deve essere il nome di una sequenza di controllo", + NewextarrowArg2: "Il secondo argomento di %1 devono essere due numeri separati da una virgola", + NewextarrowArg3: "Il terzo argomento di %1 deve essere un codice di un carattere unicode", + NoClosingChar: "Impossibile trovare la parentesi di chiusura %1", + IllegalControlSequenceName: "Nome sequenza di controllo illegale per %1", + IllegalParamNumber: "Numero di parametri specificato in %1 illegale", + MissingCS: "%1 deve essere seguito da una sequenza di controllo", + CantUseHash2: "Uso di # non consentito nel modello di %1", + SequentialParam: "I parametri per %1 devono essere numerati consecutivamente", + MissingReplacementString: "Stringa di sostituzione per la definizione di %1 mancante", + MismatchUseDef: "L'uso di %1 non combacia con la sua definizione", + RunawayArgument: "Perso un argomento per %1?", + NoClosingDelim: "Impossibile trovare delimitatore di chiusura per %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/it/it.js b/src/py/kaleido/vendor/mathjax/localization/it/it.js new file mode 100644 index 00000000..988b9939 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/it/it.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/it/it.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("it",null,{ + menuTitle: "italiano", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax ha trovato un cookie di configurazione utente che include del codice eseguibile. Vuoi eseguirlo?\n\n(Premi Annulla a meno che non l'abbia effettivamente impostato tu.)", + MathProcessingError: "Errore elaborazione della formula", + MathError: "Errore nella formula", + LoadFile: "Caricamento %1", + Loading: "Caricamento", + LoadFailed: "Caricamento del file fallito: %1", + ProcessMath: "Elaborazione formula: %1%%", + Processing: "Elaborazione in corso", + TypesetMath: "Composizione della formula: %1%%", + Typesetting: "Composizione", + MathJaxNotSupported: "Il tuo browser non supporta MathJax", + ErrorTips: "Suggerimenti per il debug: utilizza %%1, ispeziona %%2 nella console del browser" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/it/it.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ja/FontWarnings.js new file mode 100644 index 00000000..1c1d612a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ja/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ja/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u306F\u3053\u306E\u30DA\u30FC\u30B8\u3067\u3001\u6570\u5F0F\u3092\u8868\u793A\u3059\u308B\u305F\u3081\u306B\u30A6\u30A7\u30D6 \u30D9\u30FC\u30B9\u306E\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002\u30D5\u30A9\u30F3\u30C8\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u306B\u6642\u9593\u304C\u304B\u304B\u308B\u305F\u3081\u3001\u3042\u306A\u305F\u306E\u30B7\u30B9\u30C6\u30E0\u306E\u30D5\u30A9\u30F3\u30C8 \u30D5\u30A9\u30EB\u30C0\u30FC\u306B\u6570\u5F0F\u30D5\u30A9\u30F3\u30C8\u3092\u76F4\u63A5\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u3053\u3068\u3067\u30DA\u30FC\u30B8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u304C\u3088\u308A\u901F\u304F\u306A\u308A\u307E\u3059\u3002", + imageFonts: "MathJax \u306F\u30ED\u30FC\u30AB\u30EB \u30D5\u30A9\u30F3\u30C8\u3084 Web \u30D5\u30A9\u30F3\u30C8\u3067\u306F\u306A\u304F\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002\u63CF\u753B\u304C\u901A\u5E38\u3088\u308A\u9045\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u3001\u30D7\u30EA\u30F3\u30BF\u30FC\u3067\u306E\u9AD8\u89E3\u50CF\u5EA6\u306E\u5370\u5237\u306B\u5411\u304B\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + noFonts: "MathJax \u304C\u6570\u5F0F\u306E\u8868\u793A\u306B\u4F7F\u7528\u3059\u308B\u30D5\u30A9\u30F3\u30C8\u3092\u898B\u3064\u3051\u3089\u308C\u305A\u3001\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3082\u5229\u7528\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u4EE3\u308F\u308A\u306B\u6C4E\u7528\u306E Unicode \u6587\u5B57\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u304C\u8868\u793A\u3067\u304D\u308B\u3082\u306E\u3068\u671F\u5F85\u3057\u3066\u3044\u307E\u3059\u304C\u3001\u4E00\u90E8\u306E\u6587\u5B57\u304C\u9069\u5207\u306B\u8868\u793A\u3055\u308C\u306A\u3044\u3001\u307E\u305F\u306F\u5168\u304F\u8868\u793A\u3055\u308C\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + webFonts: "\u591A\u304F\u306E\u30A6\u30A7\u30D6 \u30D6\u30E9\u30A6\u30B6\u30FC\u306F\u30A6\u30A7\u30D6\u304B\u3089\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3067\u304D\u307E\u3059\u3002\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u3092\u3088\u308A\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u66F4\u65B0\u3059\u308B (\u307E\u305F\u306F\u5225\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306B\u5909\u66F4\u3059\u308B) \u3053\u3068\u3067\u3001\u3053\u306E\u30DA\u30FC\u30B8\u306E\u6570\u5F0F\u306E\u54C1\u8CEA\u304C\u5411\u4E0A\u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002", + fonts: "MathJax \u3067\u306F [STIX \u30D5\u30A9\u30F3\u30C8](%1)\u3084 [MathJax Tex \u30D5\u30A9\u30F3\u30C8](%2)\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002MathJax \u4F53\u9A13\u3092\u6539\u5584\u3059\u308B\u305F\u3081\u306B\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304A\u3088\u3073\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002", + STIXPage: "\u3053\u306E\u30DA\u30FC\u30B8\u306F [STIX \u30D5\u30A9\u30F3\u30C8](%1)\u3092\u4F7F\u7528\u3059\u308B\u3088\u3046\u306B\u8A2D\u8A08\u3055\u308C\u3066\u3044\u307E\u3059\u3002MathJax \u4F53\u9A13\u3092\u6539\u5584\u3059\u308B\u305F\u3081\u306B\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304A\u3088\u3073\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002", + TeXPage: "\u3053\u306E\u30DA\u30FC\u30B8\u306F [MathJax TeX \u30D5\u30A9\u30F3\u30C8](%1)\u3092\u4F7F\u7528\u3059\u308B\u3088\u3046\u306B\u8A2D\u8A08\u3055\u308C\u3066\u3044\u307E\u3059\u3002MathJax \u4F53\u9A13\u3092\u6539\u5584\u3059\u308B\u305F\u3081\u306B\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304A\u3088\u3073\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ja/HTML-CSS.js new file mode 100644 index 00000000..2c0acf23 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ja/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ja/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Web \u30D5\u30A9\u30F3\u30C8 %1 \u3092\u8AAD\u307F\u8FBC\u307F\u4E2D", + CantLoadWebFont: "Web \u30D5\u30A9\u30F3\u30C8 %1 \u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093", + FirefoxCantLoadWebFont: "Firefox \u306F\u3001\u30EA\u30E2\u30FC\u30C8 \u30DB\u30B9\u30C8\u306E Web \u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093", + CantFindFontUsing: "%1 \u3067\u6709\u52B9\u306A\u30D5\u30A9\u30F3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093", + WebFontsNotAvailable: "Web \u30D5\u30A9\u30F3\u30C8\u3092\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u4EE3\u308F\u308A\u306B\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u307E\u3059" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ja/HelpDialog.js new file mode 100644 index 00000000..e1d8871d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ja/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ja/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax \u30D8\u30EB\u30D7", + MathJax: "*MathJax* \u306F\u30A6\u30A7\u30D6 \u30DA\u30FC\u30B8\u306E\u88FD\u4F5C\u8005\u304C\u30DA\u30FC\u30B8\u306B\u6570\u5F0F\u3092\u57CB\u3081\u8FBC\u3081\u308B\u3088\u3046\u306B\u3059\u308B JavaScript \u30E9\u30A4\u30D6\u30E9\u30EA\u3067\u3059\u3002\u95B2\u89A7\u8005\u5074\u3067\u306F\u6570\u5F0F\u3092\u95B2\u89A7\u3059\u308B\u306E\u306B\u4F55\u3082\u5FC5\u8981\u3068\u3057\u307E\u305B\u3093\u3002", + Browsers: "*\u30D6\u30E9\u30A6\u30B6\u30FC*: MathJax \u306F\u3001IE6 \u4EE5\u964D\u3001Chrome 0.2 \u4EE5\u964D\u3001Safari 2 \u4EE5\u964D\u3001Opera 9.6 \u4EE5\u964D\u3001\u307B\u3068\u3093\u3069\u306E\u30E2\u30D0\u30A4\u30EB \u30D6\u30E9\u30A6\u30B6\u30FC\u3092\u542B\u3080\u3001\u30E2\u30C0\u30F3 \u30D6\u30E9\u30A6\u30B6\u30FC\u3067\u52D5\u4F5C\u3057\u307E\u3059\u3002", + Menu: "*\u6570\u5F0F\u30E1\u30CB\u30E5\u30FC*: MathJax \u306F\u6570\u5F0F\u306B\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \u30E1\u30CB\u30E5\u30FC\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\u4EFB\u610F\u306E\u6570\u5F0F\u3092\u53F3\u30AF\u30EA\u30C3\u30AF\u307E\u305F\u306F Ctrl+\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u30E1\u30CB\u30E5\u30FC\u304C\u958B\u304D\u307E\u3059\u3002", + ShowMath: "*\u6570\u5F0F\u3092\u8868\u793A*\u3067\u306F\u3001\u6570\u5F0F\u306E\u30BD\u30FC\u30B9 \u30DE\u30FC\u30AF\u30A2\u30C3\u30D7\u3092\u8868\u793A\u3057\u3066\u30B3\u30D4\u30FC \u0026 \u30DA\u30FC\u30B9\u30C8\u3067\u304D\u307E\u3059 (MathML \u3084\u5143\u306E\u5F62\u5F0F\u3067)\u3002", + Settings: "*\u8A2D\u5B9A*\u3067\u306F\u3001MathJax \u306E\u6A5F\u80FD\u3092\u5236\u5FA1\u3067\u304D\u307E\u3059\u3002\u6570\u5F0F\u306E\u30B5\u30A4\u30BA\u3001\u6570\u5F0F\u306E\u8868\u793A\u306B\u4F7F\u7528\u3059\u308B\u30E1\u30AB\u30CB\u30BA\u30E0\u306A\u3069\u3002", + Language: "*\u8A00\u8A9E*\u3067\u306F\u3001MathJax \u304C\u30E1\u30CB\u30E5\u30FC\u3084\u8B66\u544A\u30E1\u30C3\u30BB\u30FC\u30B8\u306B\u4F7F\u7528\u3059\u308B\u8A00\u8A9E\u3092\u9078\u629E\u3067\u304D\u307E\u3059\u3002", + Zoom: "*\u6570\u5F0F\u306E\u30BA\u30FC\u30E0*: \u6570\u5F0F\u3092\u8AAD\u307F\u53D6\u308B\u306E\u304C\u56F0\u96E3\u306A\u5834\u5408\u306F\u3001MathJax \u304C\u62E1\u5927\u3057\u3066\u8AAD\u307F\u3084\u3059\u304F\u3067\u304D\u307E\u3059\u3002", + Accessibilty: "*\u30A2\u30AF\u30BB\u30B7\u30D3\u30EA\u30C6\u30A3*: MathJax \u306F\u81EA\u52D5\u7684\u306B\u30C6\u30AD\u30B9\u30C8 \u30EA\u30FC\u30C0\u30FC\u3067\u6570\u5F0F\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u308B\u3088\u3046\u306B\u3057\u307E\u3059 (\u8996\u899A\u969C\u5BB3\u8005\u5411\u3051)\u3002", + Fonts: "*\u30D5\u30A9\u30F3\u30C8*: MathJax \u306F\u3001\u7279\u5B9A\u306E\u6570\u5F0F\u30D5\u30A9\u30F3\u30C8\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u305D\u308C\u3092\u4F7F\u7528\u3057\u3001\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u306F Web \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u5FC5\u9808\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u30D5\u30A9\u30F3\u30C8\u3092\u30ED\u30FC\u30AB\u30EB\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u3053\u3068\u3067\u7D44\u7248\u304C\u9AD8\u901F\u5316\u3055\u308C\u307E\u3059\u3002[STIX \u30D5\u30A9\u30F3\u30C8](%1)\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u3053\u3068\u3092\u304A\u52E7\u3081\u3057\u307E\u3059\u3002" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ja/MathML.js new file mode 100644 index 00000000..28b4aeb5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ja/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ja/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u8AA4\u3063\u305F mglyph: %1", + BadMglyphFont: "\u8AA4\u3063\u305F\u30D5\u30A9\u30F3\u30C8: %1", + MathPlayer: "MathJax \u306F MathPlayer \u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n\nMathPlayer \u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u3044\u306A\u3044\u5834\u5408\u306F\u3001\n\u307E\u305A\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u8A2D\u5B9A\u3067 ActiveX\n\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u306E\u5B9F\u884C\u3092\u62D2\u5426\u3057\u3066\u3044\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\n[\u30C4\u30FC\u30EB] \u30E1\u30CB\u30E5\u30FC\u306E [\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8 \u30AA\u30D7\u30B7\u30E7\u30F3] \u3067\u3001\n[\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3] \u30BF\u30D6\u306E [\u30EC\u30D9\u30EB\u306E\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA] \u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n[Active \u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u306E\u5B9F\u884C] \u3068 [\u30D0\u30A4\u30CA\u30EA \u30D3\u30D8\u30A4\u30D3\u30A2\u30FC\u3068\u30B9\u30AF\u30EA\u30D7\u30C8\n\u30D3\u30D8\u30A4\u30D3\u30A2\u30FC] \u304C\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\n\u73FE\u6642\u70B9\u3067\u306F\u3001\u6570\u5F0F\u304C\u7D44\u7248\u3055\u308C\u305A\u3001\u30A8\u30E9\u30FC \u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002", + CantCreateXMLParser: "MathJax \u306F MathML \u7528\u306E XML \u30D1\u30FC\u30B5\u30FC\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n\u300C\u30B9\u30AF\u30EA\u30D7\u30C8\u3092\u5B9F\u884C\u3057\u3066\u3082\u5B89\u5168\u3060\u3068\u30DE\u30FC\u30AF\u3055\u308C\u3066\u3044\u308B ActiveX\n\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u306E\u30B9\u30AF\u30EA\u30D7\u30C8\u306E\u5B9F\u884C\u300D\u3092\u6709\u52B9\u306B\u3057\u3066\u3044\u308B\u304B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\n([\u30C4\u30FC\u30EB] \u30E1\u30CB\u30E5\u30FC\u306E [\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8 \u30AA\u30D7\u30B7\u30E7\u30F3] \u3092\u9078\u629E\u3057\u3001\n[\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3] \u30BF\u30D6\u306E [\u30EC\u30D9\u30EB\u306E\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA] \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059)\u3002\n\nMathML \u306E\u6570\u5F0F\u3092 MathML \u304C\u51E6\u7406\u3067\u304D\u306A\u304F\u306A\u308A\u307E\u3059\u3002", + UnknownNodeType: "\u4E0D\u660E\u306A\u7A2E\u985E\u306E\u30CE\u30FC\u30C9: %1", + UnexpectedTextNode: "\u4E88\u671F\u3057\u306A\u3044\u30C6\u30AD\u30B9\u30C8 \u30CE\u30FC\u30C9: %1", + ErrorParsingMathML: "MathML \u306E\u69CB\u6587\u89E3\u6790\u30A8\u30E9\u30FC", + ParsingError: "MathML \u306E\u69CB\u6587\u89E3\u6790\u30A8\u30E9\u30FC: %1", + MathMLSingleElement: "MathML \u306F\u5358\u4E00\u306E\u8981\u7D20\u3067\u69CB\u6210\u3057\u3066\u304F\u3060\u3055\u3044", + MathMLRootElement: "MathML \u306F %1 \u3067\u306F\u306A\u304F \u003Cmath\u003E \u8981\u7D20\u3067\u69CB\u6210\u3057\u3066\u304F\u3060\u3055\u3044" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ja/MathMenu.js new file mode 100644 index 00000000..b8fb679c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ja/MathMenu.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/localization/ja/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u6570\u5F0F\u3092\u6B21\u306E\u5F62\u5F0F\u3067\u8868\u793A", + MathMLcode: "MathML \u30B3\u30FC\u30C9", + OriginalMathML: "\u5143\u306E MathML", + TeXCommands: "TeX \u30B3\u30DE\u30F3\u30C9", + AsciiMathInput: "AsciiMathML \u5165\u529B", + Original: "\u5143\u306E\u5F62\u5F0F", + ErrorMessage: "\u30A8\u30E9\u30FC \u30E1\u30C3\u30BB\u30FC\u30B8", + Annotation: "\u6CE8\u91C8", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "MathML \u3067 TeX \u306E\u30D2\u30F3\u30C8\u3092\u8868\u793A", + Settings: "\u6570\u5F0F\u306E\u8A2D\u5B9A", + ZoomTrigger: "\u30BA\u30FC\u30E0\u306E\u958B\u59CB\u64CD\u4F5C", + Hover: "\u30DB\u30D0\u30FC", + Click: "\u30AF\u30EA\u30C3\u30AF", + DoubleClick: "\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF", + NoZoom: "\u30BA\u30FC\u30E0\u306A\u3057", + TriggerRequires: "\u5FC5\u8981\u306A\u30AD\u30FC:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "\u30BA\u30FC\u30E0\u306E\u500D\u7387", + Renderer: "\u6570\u5F0F\u30EC\u30F3\u30C0\u30E9\u30FC", + MPHandles: "\u6570\u5F0F\u30D7\u30EC\u30FC\u30E4\u30FC\u306B\u51E6\u7406\u3055\u305B\u308B\u30A4\u30D9\u30F3\u30C8:", + MenuEvents: "\u30E1\u30CB\u30E5\u30FC \u30A4\u30D9\u30F3\u30C8", + MouseEvents: "\u30DE\u30A6\u30B9 \u30A4\u30D9\u30F3\u30C8", + MenuAndMouse: "\u30DE\u30A6\u30B9\u3068\u30E1\u30CB\u30E5\u30FC\u306E\u30A4\u30D9\u30F3\u30C8", + FontPrefs: "\u30D5\u30A9\u30F3\u30C8\u306E\u8A2D\u5B9A", + ForHTMLCSS: "HTML-CSS:", + Auto: "\u81EA\u52D5", + TeXLocal: "TeX (\u30ED\u30FC\u30AB\u30EB)", + TeXWeb: "TeX (Web)", + TeXImage: "TeX (\u753B\u50CF)", + STIXLocal: "STIX (\u30ED\u30FC\u30AB\u30EB)", + STIXWeb: "STIX (Web)", + AsanaMathWeb: "Asana Math (Web)", + GyrePagellaWeb: "Gyre Pagella (Web)", + GyreTermesWeb: "Gyre Termes (Web)", + LatinModernWeb: "Latin Modern (Web)", + NeoEulerWeb: "Neo Euler (Web)", + ContextMenu: "\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \u30E1\u30CB\u30E5\u30FC", + Browser: "\u30D6\u30E9\u30A6\u30B6\u30FC", + Scale: "\u3059\u3079\u3066\u306E\u6570\u5F0F\u306E\u500D\u7387\u3092\u5909\u66F4...", + Discoverable: "\u30DB\u30D0\u30FC\u6642\u306B\u5F37\u8ABF", + Locale: "\u8A00\u8A9E", + LoadLocale: "URL \u304B\u3089\u8AAD\u307F\u8FBC\u3080...", + About: "MathJax \u306B\u3064\u3044\u3066", + Help: "MathJax \u30D8\u30EB\u30D7", + localTeXfonts: "\u30ED\u30FC\u30AB\u30EB TeX \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + webTeXfonts: "Web TeX \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + imagefonts: "\u753B\u50CF\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + localSTIXfonts: "\u30ED\u30FC\u30AB\u30EB STIX \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + webSVGfonts: "Web SVG \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + genericfonts: "\u6C4E\u7528 Unicode \u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528", + wofforotffonts: "WOFF \u30D5\u30A9\u30F3\u30C8\u307E\u305F\u306F OTF \u30D5\u30A9\u30F3\u30C8", + eotffonts: "EOT \u30D5\u30A9\u30F3\u30C8", + svgfonts: "SVG \u30D5\u30A9\u30F3\u30C8", + WebkitNativeMMLWarning: "\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306F MathML \u306B\u30CD\u30A4\u30C6\u30A3\u30D6\u5BFE\u5FDC\u3057\u3066\u3044\u306A\u3044\u3068\u601D\u308F\u308C\u308B\u305F\u3081\u3001MathML \u51FA\u529B\u306B\u5207\u308A\u66FF\u3048\u308B\u3068\u30DA\u30FC\u30B8\u5185\u306E\u6570\u5F0F\u304C\u5224\u8AAD\u4E0D\u80FD\u306B\u306A\u308B\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + MSIENativeMMLWarning: "Internet Explorer \u3067\u306F\u3001MathML \u51FA\u529B\u3092\u51E6\u7406\u3059\u308B\u305F\u3081\u306B MathPlayer \u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u5FC5\u8981\u3067\u3059\u3002", + OperaNativeMMLWarning: "Opera \u306F MathML \u306B\u5B8C\u5168\u306B\u306F\u5BFE\u5FDC\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001MathML \u51FA\u529B\u306B\u5207\u308A\u66FF\u3048\u308B\u3068\u6570\u5F0F\u306E\u63CF\u753B\u304C\u4E0D\u5B8C\u5168\u306B\u306A\u308B\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + SafariNativeMMLWarning: "\u3042\u306A\u305F\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306E\u30CD\u30A4\u30C6\u30A3\u30D6 MathML \u306F\u3001MathJax \u304C\u4F7F\u7528\u3059\u308B\u6A5F\u80FD\u3092\u3059\u3079\u3066\u306F\u5B9F\u88C5\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u6570\u5F0F\u306E\u4E00\u90E8\u304C\u9069\u5207\u306B\u63CF\u753B\u3055\u308C\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + FirefoxNativeMMLWarning: "\u3042\u306A\u305F\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306E\u30CD\u30A4\u30C6\u30A3\u30D6 MathML \u306F\u3001MathJax \u304C\u4F7F\u7528\u3059\u308B\u6A5F\u80FD\u3092\u3059\u3079\u3066\u306F\u5B9F\u88C5\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u6570\u5F0F\u306E\u4E00\u90E8\u304C\u9069\u5207\u306B\u63CF\u753B\u3055\u308C\u306A\u3044\u304A\u305D\u308C\u304C\u3042\u308A\u307E\u3059\u3002", + MSIESVGWarning: "IE9 \u3088\u308A\u524D\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306E\u5834\u5408\u3001\u307E\u305F\u306F IE8 \u4EE5\u524D\u3092\u30A8\u30DF\u30E5\u30EC\u30FC\u30C8\u3057\u3066\u3044\u308B\u5834\u5408\u3001Internet Explorer \u306B\u306F SVG \u304C\u5B9F\u88C5\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002SVG \u306B\u5207\u308A\u66FF\u3048\u308B\u3068\u3001\u6570\u5F0F\u304C\u9069\u5207\u306B\u8868\u793A\u3055\u308C\u306A\u304F\u306A\u308A\u307E\u3059\u3002", + LoadURL: "\u7FFB\u8A33\u30C7\u30FC\u30BF\u3092\u8AAD\u307F\u8FBC\u3080 URL:", + BadURL: "MathJax \u7FFB\u8A33\u30C7\u30FC\u30BF\u3092\u5B9A\u7FA9\u3059\u308B JavaScript \u30D5\u30A1\u30A4\u30EB\u306E URL \u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u3001JavaScript \u306E\u30D5\u30A1\u30A4\u30EB\u540D\u306E\u672B\u5C3E\u306F\u300C.js\u300D\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002", + BadData: "%1 \u304B\u3089\u7FFB\u8A33\u30C7\u30FC\u30BF\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F", + SwitchAnyway: "\u30EC\u30F3\u30C0\u30E9\u30FC\u3092\u672C\u5F53\u306B\u5207\u308A\u66FF\u3048\u307E\u3059\u304B?\n\n(\u5207\u308A\u66FF\u3048\u308B\u306B\u306F OK \u3092\u3001\u73FE\u5728\u306E\u30EC\u30F3\u30C0\u30E9\u30FC\u306E\u307E\u307E\u306B\u3059\u308B\u306B\u306F\u30AD\u30E3\u30F3\u30BB\u30EB\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044)", + ScaleMath: "\u3059\u3079\u3066\u306E\u6570\u5F0F\u306E\u500D\u7387 (\u5468\u56F2\u306E\u30C6\u30AD\u30B9\u30C8\u3068\u306E\u6BD4)", + NonZeroScale: "\u500D\u7387\u306B 0 \u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093", + PercentScale: "\u500D\u7387\u306F\u767E\u5206\u7387\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093 (\u4F8B: 120%%)", + IE8warning: "MathJax \u306E\u30E1\u30CB\u30E5\u30FC\u3068\u30BA\u30FC\u30E0\u6A5F\u80FD\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u304C\u3001\u4EE3\u308F\u308A\u306B\u6570\u5F0F\u3092 Alt+\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068 MathJax \u306E\u30E1\u30CB\u30E5\u30FC\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\n\nMathPlayer \u306E\u8A2D\u5B9A\u3092\u672C\u5F53\u306B\u5909\u66F4\u3057\u307E\u3059\u304B?", + IE9warning: "MathJax \u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8 \u30E1\u30CB\u30E5\u30FC\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u304C\u3001\u4EE3\u308F\u308A\u306B\u6570\u5F0F\u3092 Alt+\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068 MathJax \u306E\u30E1\u30CB\u30E5\u30FC\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002", + NoOriginalForm: "\u5143\u306E\u5F62\u5F0F\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093", + Close: "\u9589\u3058\u308B", + EqSource: "MathJax \u6570\u5F0F\u306E\u30BD\u30FC\u30B9" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ja/TeX.js new file mode 100644 index 00000000..48be6a96 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ja/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/ja/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u4F59\u5206\u3001\u307E\u305F\u306F\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + ExtraCloseMissingOpen: "\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u4F59\u5206\u3001\u307E\u305F\u306F\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + MissingLeftExtraRight: "\\left \u304C\u4E0D\u8DB3\u3001\u307E\u305F\u306F \\right \u304C\u4F59\u5206\u3067\u3059", + MissingScript: "\u4E0A\u4ED8\u304D\u307E\u305F\u306F\u4E0B\u4ED8\u304D\u306E\u5F15\u6570\u304C\u3042\u308A\u307E\u305B\u3093", + ExtraLeftMissingRight: "\\left \u304C\u4F59\u5206\u3001\u307E\u305F\u306F \\right \u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + Misplaced: "%1 \u306E\u4F4D\u7F6E\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093", + MissingOpenForSub: "\u4E0B\u4ED8\u304D\u306E\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u3042\u308A\u307E\u305B\u3093", + MissingOpenForSup: "\u4E0A\u4ED8\u304D\u306E\u958B\u304D\u4E2D\u62EC\u5F27\u304C\u3042\u308A\u307E\u305B\u3093", + AmbiguousUseOf: "%1 \u306E\u8A18\u8FF0\u304C\u66D6\u6627\u3067\u3059", + EnvBadEnd: "\\begin{%1} \u304C \\end{%2} \u3067\u7D42\u4E86\u3057\u3066\u3044\u307E\u3059", + EnvMissingEnd: "\\end{%1} \u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + MissingBoxFor: "%1 \u306E\u30DC\u30C3\u30AF\u30B9\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + MissingCloseBrace: "\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + UndefinedControlSequence: "\u672A\u5B9A\u7FA9\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9 %1", + DoubleExponent: "\u4E8C\u91CD\u306E\u4E0A\u4ED8\u304D: \u4E2D\u62EC\u5F27\u3092\u4F7F\u7528\u3057\u3066\u660E\u78BA\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + DoubleSubscripts: "\u4E8C\u91CD\u306E\u4E0B\u4ED8\u304D: \u4E2D\u62EC\u5F27\u3092\u4F7F\u7528\u3057\u3066\u660E\u78BA\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + DoubleExponentPrime: "\u30D7\u30E9\u30A4\u30E0\u8A18\u53F7\u306B\u3088\u308B\u4E8C\u91CD\u306E\u4E0A\u4ED8\u304D: \u4E2D\u62EC\u5F27\u3092\u4F7F\u7528\u3057\u3066\u660E\u78BA\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + CantUseHash1: "\u6570\u5F0F\u30E2\u30FC\u30C9\u3067\u306F\u300C\u30DE\u30AF\u30ED \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u6587\u5B57 #\u300D\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093", + MisplacedMiddle: "%1 \u306F \\left \u3068 \\right \u306E\u9593\u306B\u914D\u7F6E\u3057\u3066\u304F\u3060\u3055\u3044", + MisplacedLimits: "%1 \u306F\u6F14\u7B97\u5B50\u306E\u307F\u306B\u4F7F\u7528\u3067\u304D\u307E\u3059", + MisplacedMoveRoot: "%1 \u306F\u30EB\u30FC\u30C8\u5185\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059", + MultipleCommand: "%1 \u304C\u8907\u6570\u3042\u308A\u307E\u3059", + IntegerArg: "%1 \u306E\u5F15\u6570\u306F\u6574\u6570\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + NotMathMLToken: "%1 \u306F\u30C8\u30FC\u30AF\u30F3\u8981\u7D20\u3067\u306F\u3042\u308A\u307E\u305B\u3093", + InvalidMathMLAttr: "\u7121\u52B9\u306A MathML \u5C5E\u6027: %1", + UnknownAttrForElement: "%1 \u3092 %2 \u306E\u5C5E\u6027\u3068\u3057\u3066\u8A8D\u8B58\u3067\u304D\u307E\u305B\u3093", + MaxMacroSub1: "MathJax \u306E\u30DE\u30AF\u30ED\u5C55\u958B\u56DE\u6570\u306E\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u3002\u30DE\u30AF\u30ED\u3092\u518D\u5E30\u547C\u3073\u51FA\u3057\u3057\u3066\u3057\u307E\u3063\u3066\u3044\u307E\u305B\u3093\u304B?", + MaxMacroSub2: "MathJax \u306E\u5C55\u958B\u56DE\u6570\u306E\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u3002LaTeX \u74B0\u5883\u3092\u518D\u5E30\u547C\u3073\u51FA\u3057\u3057\u3066\u3057\u307E\u3063\u3066\u3044\u307E\u305B\u3093\u304B?", + MissingArgFor: "%1 \u306E\u5F15\u6570\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + ExtraAlignTab: "\\case \u306E\u30C6\u30AD\u30B9\u30C8\u5185\u3067\u3001\u914D\u7F6E\u7528\u30BF\u30D6\u304C\u4F59\u5206\u3067\u3059", + BracketMustBeDimension: "%1 \u306E\u4E2D\u62EC\u5F27\u5F15\u6570\u306F\u5BF8\u6CD5\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + InvalidEnv: "\u74B0\u5883\u540D\u300C%1\u300D\u306F\u7121\u52B9\u3067\u3059", + UnknownEnv: "\u74B0\u5883\u300C%1\u300D\u306F\u4E0D\u660E\u3067\u3059", + ExtraCloseLooking: "%1 \u3092\u63A2\u7D22\u3059\u308B\u969B\u306B\u4F59\u5206\u306A\u9589\u3058\u4E2D\u62EC\u5F27\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F", + MissingCloseBracket: "%1 \u306E\u5F15\u6570\u306E\u9589\u3058\u62EC\u5F27\u300C]\u300D\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F", + MissingOrUnrecognizedDelim: "%1 \u306E\u533A\u5207\u308A\u304C\u4E0D\u8DB3\u307E\u305F\u306F\u672A\u5206\u985E\u3067\u3059", + MissingDimOrUnits: "%1 \u3067\u3001\u5BF8\u6CD5\u307E\u305F\u306F\u305D\u306E\u5358\u4F4D\u304C\u3042\u308A\u307E\u305B\u3093", + TokenNotFoundForCommand: "%2 \u306B\u5BFE\u5FDC\u3059\u308B %1 \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F", + MathNotTerminated: "\u6570\u5F0F\u304C\u30C6\u30AD\u30B9\u30C8 \u30DC\u30C3\u30AF\u30B9\u5185\u3067\u7D42\u4E86\u3057\u3066\u3044\u307E\u305B\u3093", + IllegalMacroParam: "\u30DE\u30AF\u30ED \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u53C2\u7167\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", + MaxBufferSize: "MathJax \u306E\u5185\u90E8\u30D0\u30C3\u30D5\u30A1\u30FC \u30B5\u30A4\u30BA\u306E\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u3002\u30DE\u30AF\u30ED\u3092\u518D\u5E30\u547C\u3073\u51FA\u3057\u3057\u3066\u3057\u307E\u3063\u3066\u3044\u307E\u305B\u3093\u304B?", + CommandNotAllowedInEnv: "%1 \u306F %2 \u74B0\u5883\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093", + MultipleLabel: "\u30E9\u30D9\u30EB\u300C%1\u300D\u304C\u8907\u6570\u56DE\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059", + CommandAtTheBeginingOfLine: "%1 \u306F\u884C\u982D\u306B\u914D\u7F6E\u3057\u3066\u304F\u3060\u3055\u3044", + IllegalAlign: "%1 \u306B\u6307\u5B9A\u3057\u305F\u5F15\u6570\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", + BadMathStyleFor: "%1 \u306E\u6570\u5F0F\u306E\u30B9\u30BF\u30A4\u30EB\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", + PositiveIntegerArg: "%1 \u306E\u5F15\u6570\u306F\u6B63\u306E\u6574\u6570\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + ErroneousNestingEq: "\u6570\u5F0F\u306E\u5165\u308C\u5B50\u69CB\u9020\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", + MultlineRowsOneCol: "%1 \u74B0\u5883\u5185\u306E\u5404\u884C\u306F 1 \u5217\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + MultipleBBoxProperty: "%1 \u304C %2 \u5185\u3067 2 \u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059", + InvalidBBoxProperty: "\u300C%1\u300D\u306F\u3001\u8272\u3001\u30D1\u30C7\u30A3\u30F3\u30B0\u3001\u30B9\u30BF\u30A4\u30EB\u306E\u3044\u305A\u308C\u3067\u3082\u306A\u3044\u3088\u3046\u3067\u3059", + ExtraEndMissingBegin: "%1 \u304C\u4F59\u5206\u3001\u307E\u305F\u306F \\begingroup \u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059", + GlobalNotFollowedBy: "%1 \u306E\u5F8C\u306B \\let\u3001\\def\u3001\\newcommand \u306E\u3044\u305A\u308C\u3082\u3042\u308A\u307E\u305B\u3093", + UndefinedColorModel: "\u8272\u30E2\u30C7\u30EB\u300C%1\u300D\u306F\u672A\u5B9A\u7FA9\u3067\u3059", + ModelArg1: "\u8272\u30E2\u30C7\u30EB %1 \u306B\u306F\u5024\u304C 3 \u3064\u5FC5\u8981\u3067\u3059", + InvalidDecimalNumber: "\u7121\u52B9\u306A 10 \u9032\u6570\u3067\u3059", + ModelArg2: "\u8272\u30E2\u30C7\u30EB %1 \u306E\u5024\u306F %2 \u3068 %3 \u306E\u9593\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + InvalidNumber: "\u7121\u52B9\u306A\u6570\u5024\u3067\u3059", + NewextarrowArg1: "%1 \u306E\u7B2C 1 \u5F15\u6570\u306F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9\u540D\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + NewextarrowArg2: "%1 \u306E\u7B2C 2 \u5F15\u6570\u306F\u3001\u30AB\u30F3\u30DE\u3067\u533A\u5207\u3063\u305F 2 \u3064\u306E\u6574\u6570\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + NewextarrowArg3: "%1 \u306E\u7B2C 3 \u5F15\u6570\u306F Unicode \u306E\u6587\u5B57\u756A\u53F7\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + NoClosingChar: "\u9589\u3058\u62EC\u5F27 %1 \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093", + IllegalControlSequenceName: "%1 \u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u8AA4\u3063\u305F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9\u540D\u3067\u3059", + IllegalParamNumber: "%1 \u306B\u6307\u5B9A\u3057\u305F\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306E\u500B\u6570\u304C\u8AA4\u3063\u3066\u3044\u307E\u3059", + MissingCS: "%1 \u306E\u5F8C\u306F\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB \u30B7\u30FC\u30B1\u30F3\u30B9\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + CantUseHash2: "%1 \u306E\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u5185\u3067 # \u306E\u4F7F\u7528\u6CD5\u306B\u8AA4\u308A\u304C\u3042\u308A\u307E\u3059", + SequentialParam: "%1 \u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306F\u9023\u756A\u306B\u3057\u3066\u304F\u3060\u3055\u3044", + MissingReplacementString: "%1 \u306E\u5B9A\u7FA9\u3067\u7F6E\u63DB\u6587\u5B57\u5217\u304C\u3042\u308A\u307E\u305B\u3093", + MismatchUseDef: "%1 \u306E\u5B9A\u7FA9\u3068\u4E00\u81F4\u3057\u3066\u3044\u306A\u3044\u4F7F\u7528\u6CD5\u3067\u3059", + RunawayArgument: "%1 \u306E\u5F15\u6570\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u308B\u3088\u3046\u3067\u3059", + NoClosingDelim: "%1 \u306E\u7D42\u4E86\u533A\u5207\u308A\u6587\u5B57\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ja/ja.js b/src/py/kaleido/vendor/mathjax/localization/ja/ja.js new file mode 100644 index 00000000..c154a413 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ja/ja.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/ja/ja.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ja",null,{ + menuTitle: "\u65E5\u672C\u8A9E", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u306F\u3001\u30E6\u30FC\u30B6\u30FC\u8A2D\u5B9A\u306E Cookie \u3067\u5B9F\u884C\u3059\u3079\u304D\u30B3\u30FC\u30C9\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\u3002\u5B9F\u884C\u3057\u307E\u3059\u304B?\n\n(Cookie \u3092\u81EA\u5206\u3067\u8A2D\u5B9A\u3057\u3066\u3044\u306A\u3044\u5834\u5408\u306F\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002)", + MathProcessingError: "\u6570\u5F0F\u51E6\u7406\u30A8\u30E9\u30FC", + MathError: "\u6570\u5F0F\u30A8\u30E9\u30FC", + LoadFile: "%1 \u3092\u8AAD\u307F\u8FBC\u307F\u4E2D", + Loading: "\u8AAD\u307F\u8FBC\u307F\u4E2D", + LoadFailed: "\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F: %1", + ProcessMath: "\u6570\u5F0F\u3092\u51E6\u7406\u4E2D: %1%%", + Processing: "\u51E6\u7406\u4E2D", + TypesetMath: "\u6570\u5F0F\u3092\u7D44\u7248\u4E2D: %1%%", + Typesetting: "\u7D44\u7248\u4E2D", + MathJaxNotSupported: "\u3054\u4F7F\u7528\u4E2D\u306E\u30D6\u30E9\u30A6\u30B6\u30FC\u306F MathJax \u306B\u5BFE\u5FDC\u3057\u3066\u3044\u307E\u305B\u3093" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ja/ja.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/kn/FontWarnings.js new file mode 100644 index 00000000..07047a78 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/kn/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/kn/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9D\u0C95\u0CCD\u0CB7\u0CCD \u0C88 \u0CAA\u0CC1\u0C9F\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CB8\u0CB2\u0CC1 \u0CB5\u0CC6\u0CAC\u0CCD \u0C86\u0CA7\u0CBE\u0CB0\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CAC\u0CB3\u0CB8\u0CBF \u0C87\u0CA6\u0CC6. \u0C88 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CB8\u0CAE\u0CAF \u0CA4\u0CC6\u0C97\u0CC6\u0CA6\u0CC1\u0C95\u0CCA\u0CB3\u0CCD\u0CB3\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1, \u0C86\u0CA6\u0CCD\u0CA6\u0CB0\u0CBF\u0C82\u0CA6 \u0CA8\u0CC0\u0CB5\u0CC1 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0C97\u0CA3\u0C95\u0CA6 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CAB\u0CCB\u0CB2\u0CCD\u0CA1\u0CB0\u0CCD\u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0CA8\u0CC7\u0CB0\u0CB5\u0CBE\u0C97\u0CBF \u0C97\u0CA3\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CB5\u0CC7\u0CB3\u0CC6 \u0CAA\u0CC1\u0C9F \u0CB5\u0CC7\u0C97\u0CB5\u0CBE\u0C97\u0CBF \u0CA8\u0CBF\u0CB0\u0CC2\u0CAA\u0CBF\u0CB8\u0CB2\u0CC1 \u0C8E\u0C82\u0CA6\u0CC1.", + noFonts: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA6\u0CB0 \u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CB8\u0CB2\u0CC1 \u0CAC\u0CB3\u0CB8\u0CB2\u0CC1 \u0C92\u0C82\u0CA6\u0CC1 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CAA\u0CA4\u0CCD\u0CA4\u0CC6 \u0CAE\u0CBE\u0CA1\u0CB2\u0CC1 \u0CB8\u0CBE\u0CA7\u0CCD\u0CAF\u0CB5\u0CBE\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2, \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0CB2\u0CAD\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2, \u0C86\u0CA6\u0CCD\u0CA6\u0CB0\u0CBF\u0C82\u0CA6 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C85\u0CB5\u0CC1\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CB8\u0CB2\u0CC1 \u0CB8\u0CBE\u0CA7\u0CCD\u0CAF\u0CB5\u0CBE\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6 \u0C8E\u0C82\u0CA6\u0CC1 \u0CAD\u0CB0\u0CB5\u0CB8\u0CC6\u0CAF\u0CB2\u0CCD\u0CB2\u0CBF \u0CB8\u0CBE\u0CB0\u0CCD\u0CB5\u0CA4\u0CCD\u0CB0\u0CBF\u0C95 \u0CAF\u0CC1\u0CA8\u0CBF\u0C95\u0CCB\u0CA1\u0CCD \u0CAA\u0CBE\u0CA4\u0CCD\u0CB0\u0C97\u0CB3\u0CC1 \u0CB9\u0CBF\u0C82\u0CA6\u0CC6 \u0CAC\u0CC0\u0CB3\u0CC1\u0CB5 \u0C87\u0CA6\u0CC6. \u0C95\u0CC6\u0CB2\u0CB5\u0CC1 \u0CAA\u0CBE\u0CA4\u0CCD\u0CB0\u0C97\u0CB3\u0CC1 \u0CB8\u0CB0\u0CBF\u0CAF\u0CBE\u0C97\u0CBF, \u0C85\u0CA5\u0CB5\u0CBE \u0CAC\u0CB9\u0CC1\u0CB6\u0C83 \u0C8E\u0CB2\u0CCD\u0CB2\u0CBE \u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0CA4\u0CCB\u0CB0\u0CBF\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CB5\u0CC6 \u0C87\u0CB0\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + webFonts: "\u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0CB5\u0CC6\u0CAC\u0CCD \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CC1 \u0C85\u0CA4\u0CCD\u0CAF\u0C82\u0CA4 \u0C86\u0CA7\u0CC1\u0CA8\u0CBF\u0C95 \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD\u0C97\u0CB3\u0CC1 \u0C85\u0CB5\u0C95\u0CBE\u0CB6. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD (\u0C85\u0CA5\u0CB5\u0CBE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0CAC\u0CA6\u0CB2\u0CBE\u0CB5\u0CA3\u0CC6) \u0C87\u0CA4\u0CCD\u0CA4\u0CC0\u0C9A\u0CBF\u0CA8 \u0C86\u0CB5\u0CC3\u0CA4\u0CCD\u0CA4\u0CBF\u0C97\u0CC6 \u0C85\u0CAA\u0CCD\u0CA1\u0CC7\u0C9F\u0CCD \u0C88 \u0CAA\u0CC1\u0C9F\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C97\u0CA3\u0CBF\u0CA4 \u0C97\u0CC1\u0CA3\u0CAE\u0C9F\u0CCD\u0C9F\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CC1\u0CA7\u0CBE\u0CB0\u0CBF\u0CB8\u0CB2\u0CC1 \u0CB8\u0CBE\u0CA7\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2.", + fonts: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C92\u0C82\u0CA6\u0CCB [\u0CB7\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1](%1) \u0C85\u0CA5\u0CB5 [\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1](%2) \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAE\u0CBE\u0CA4 \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA8\u0CC1\u0CAD\u0CB5 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB5\u0CB3\u0CCD\u0CB2\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C87\u0CA6\u0CB0\u0CB2\u0CCD\u0CB2\u0CBF \u0CAF\u0CBE\u0CB5\u0CA6\u0CBE\u0CA6\u0CB0\u0CC1 \u0C92\u0C82\u0CA6\u0CA8\u0CCD\u0CA8 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA6\u0CBF\u0C95\u0CCA\u0CB2\u0CCD\u0CB2\u0CBF.", + STIXPage: "\u0C88 \u0CAA\u0CC1\u0C9F [\u0CB8\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CCD\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 ](%1) \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CB5\u0CBF\u0CA8\u0CCD\u0CAF\u0CBE\u0CB8 \u0C86\u0C97\u0CBF\u0CA6\u0CC6. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA8\u0CC1\u0CAD\u0CB5 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CC1\u0CA7\u0CBE\u0CB0\u0CBF\u0CB8\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C88 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF.", + TeXPage: "\u0C88 \u0CAA\u0CC1\u0C9F [\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CCD\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 ](%1) \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CB5\u0CBF\u0CA8\u0CCD\u0CAF\u0CBE\u0CB8 \u0C86\u0C97\u0CBF\u0CA6\u0CC6. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA8\u0CC1\u0CAD\u0CB5 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CC1\u0CA7\u0CBE\u0CB0\u0CBF\u0CB8\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C88 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF.", + imageFonts: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9D\u0C95\u0CCD\u0CB7\u0CCD \u0CA4\u0CA8\u0CCD\u0CA8 \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u200C\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CCD\u0CA5\u0CB3\u0CC0\u0CAF \u0C85\u0CA5\u0CB5\u0CBE \u0CB5\u0CC6\u0CAC\u0CCD-\u0C86\u0CA7\u0CBE\u0CB0\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u200C\u0C9F\u0CCD\u200C\u0C97\u0CB3 \u0CAC\u0CA6\u0CB2\u0CBF\u0C97\u0CC6 \u0CAC\u0CB3\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6. \u0C88 \u0CB8\u0CBE\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0C95\u0CCD\u0C95\u0CBF\u0C82\u0CA4 \u0CA8\u0CBF\u0CA7\u0CBE\u0CA8\u0CB5\u0CBE\u0C97\u0CBF \u0CAA\u0CCD\u0CB0\u0CA6\u0CB0\u0CCD\u0CB6\u0CBF\u0CA4\u0CB5\u0CBE\u0C97\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1, \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CC2\u0CB0\u0CCD\u0CA3 \u0CB0\u0CC6\u0CB8\u0CB2\u0CCD\u0CAF\u0CC2\u0CB7\u0CA8\u0CCD\u200C\u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAA\u0CCD\u0CB0\u0CBF\u0C82\u0C9F\u0CB0\u0CCD \u0CAE\u0CC2\u0CB2\u0C95 \u0CAE\u0CC1\u0CA6\u0CCD\u0CB0\u0CBF\u0CA4\u0CB5\u0CBE\u0C97\u0CA6\u0CBF\u0CB0\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/kn/HTML-CSS.js new file mode 100644 index 00000000..cddd7353 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/kn/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/kn/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD %1 \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + CantLoadWebFont: " \u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD %1 \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA1\u0CCC\u0CA8\u0CCD\u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA6\u0CC1 \u0C87\u0CB2\u0CCD\u0CB2", + FirefoxCantLoadWebFont: "\u0CAB\u0CC8\u0CB0\u0CCD\u0CAB\u0CBE\u0C95\u0CCD\u0CB8\u0CCD \u0C87\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CA6\u0CC2\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0CB9\u0CCB\u0CB8\u0CCD\u0C9F\u0CCD \u0C87\u0C82\u0CA6 \u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2.", + CantFindFontUsing: "%1 \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CB8\u0CB0\u0CBF\u0CAF\u0CBE\u0CA6 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0CB8\u0CBF\u0C97\u0CC1\u0CA4 \u0C87\u0CB2\u0CCD\u0CB2", + WebFontsNotAvailable: "\u0CB5\u0CC6\u0CAC\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1 \u0CB8\u0CBF\u0C97\u0CC1\u0CA4 \u0C87\u0CB2\u0CCD\u0CB2, \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CBF." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/kn/HelpDialog.js new file mode 100644 index 00000000..5a3ba41d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/kn/HelpDialog.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/kn/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CB8\u0CB9\u0CAF\u0CA4\u0CC6", + MathJax: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CAA\u0CC1\u0C9F \u0CB2\u0CC7\u0C96\u0C95\u0CB0\u0CC1 \u0CA4\u0CAE\u0CCD\u0CAE \u0CB5\u0CC6\u0CAC\u0CCD \u0CAA\u0CC1\u0C9F\u0C97\u0CB3 \u0C92\u0CB3\u0C97\u0CC6 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CC7\u0CB0\u0CBF\u0CB8\u0CB2\u0CC1 \u0C85\u0CA8\u0CC1\u0CAE\u0CA4\u0CBF\u0CB8\u0CC1\u0CB5 \u0C92\u0C82\u0CA6\u0CC1 \u0C9C\u0CBE\u0CB5\u0CBE\u0CB8\u0CCD\u0C95\u0CCD\u0CB0\u0CBF\u0CAA\u0CCD\u0C9F\u0CCD \u0C97\u0CCD\u0CB0\u0C82\u0CA5\u0CBE\u0CB2\u0CAF. \u0C92\u0C82\u0CA6\u0CC1 \u0CB0\u0CC0\u0CA1\u0CB0\u0CCD, \u0CA8\u0CC0\u0CB5\u0CC1 \u0C89\u0C82\u0C9F\u0CBE\u0C97\u0CC1\u0CB5 \u0CAE\u0CBE\u0CA1\u0CB2\u0CC1 \u0C8F\u0CA8\u0CC1 \u0C85\u0C97\u0CA4\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2.", + Browsers: "*\u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD\u0C97\u0CB3\u0CC1*: \u0CAE\u0CA0 Jax \u0C87\u0C82\u0C9F\u0CB0\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD \u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u0CAA\u0CCD\u0CB2\u0CCB\u0CB0\u0CB0\u0CCD 6 +, \u0CAB\u0CC8\u0CB0\u0CCD\u0CAB\u0CBE\u0C95\u0CCD\u0CB8\u0CCD 3 + \u0C95\u0CCD\u0CB0\u0CCB\u0CAE\u0CCD 0.2 +, \u0CB8\u0CAB\u0CBE\u0CB0\u0CBF 2 + \u0C92\u0CAA\u0CC6\u0CB0\u0CBE 9.6 + \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0C85\u0CA4\u0CCD\u0CAF\u0C82\u0CA4 \u0CAE\u0CCA\u0CAC\u0CC8\u0CB2\u0CCD \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0CB8\u0CC7\u0CB0\u0CBF\u0CA6\u0C82\u0CA4\u0CC6 \u0C8E\u0CB2\u0CCD\u0CB2 \u0C86\u0CA7\u0CC1\u0CA8\u0CBF\u0C95 \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD\u0C97\u0CB3\u0CC1 \u0C95\u0CC6\u0CB2\u0CB8 \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6.", + Zoom: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0CC2\u0CAE\u0CCD: \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0C95\u0CCD\u0CB7 \u0C92\u0C82\u0CA6\u0CC1 \u0C8E\u0C95\u0CBC\u0CC1\u0C85\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA8\u0CCB\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CA8\u0CBF\u0CAE\u0C97\u0CC6 \u0C89\u0CAA\u0CCD\u0CAA\u0CA6\u0CCD\u0CA6\u0CB0 \u0C86\u0C97\u0CC1\u0CA4 \u0C87\u0CA6\u0CCD\u0CA6\u0CBE\u0CB0\u0CC6, \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CA6\u0CCD\u0CA6\u0CA8\u0CC1 \u0CA8\u0CBF\u0CAE\u0C97\u0CC6 \u0CB8\u0CB0\u0CBF \u0CA8\u0CCB\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CB8\u0CB9\u0CAF\u0CA4\u0CC6 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C85\u0CA6\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CA6\u0CC6.", + Fonts: "* \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 *: \u0C85\u0CB5\u0CB0\u0CC1 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0C95\u0C82\u0CAA\u0CCD\u0CAF\u0CC2\u0C9F\u0CB0\u0CCD\u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CB5\u0CC7\u0CB3\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C95\u0CC6\u0CB2\u0CB5\u0CC1 \u0C97\u0CA3\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CB3\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6; \u0C87\u0CB2\u0CCD\u0CB2\u0CA6\u0CBF\u0CA6\u0CCD\u0CA6\u0CB0\u0CC6, \u0C87\u0CA6\u0CC1 \u0CB5\u0CC6\u0CAC\u0CCD \u0C86\u0CA7\u0CBE\u0CB0\u0CBF\u0CA4 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CB3\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6. \u0C85\u0C97\u0CA4\u0CCD\u0CAF\u0CB5\u0CBF\u0CB2\u0CCD\u0CB2 \u0C86\u0CA6\u0CB0\u0CC2, \u0CB8\u0CCD\u0CA5\u0CB3\u0CC0\u0CAF\u0CB5\u0CBE\u0C97\u0CBF \u0C87\u0CA8\u0CCD\u0CB8\u0CCD\u0C9F\u0CBE\u0CB2\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1 \u0C9F\u0CC8\u0CAA\u0CCD\u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD \u0CB5\u0CC7\u0C97\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1. \u0CA8\u0CBE\u0CB5\u0CC1 [\u0CB8\u0CCD\u0C9F\u0CBF\u0C95\u0CCD\u0CB8\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD\u0C97\u0CB3\u0CC1](%1) \u0C85\u0CA8\u0CC1\u0CB8\u0CCD\u0CA5\u0CBE\u0CAA\u0CBF\u0CB8\u0CC1\u0CB5\u0CBE\u0C97 \u0CB8\u0CC2\u0C9A\u0CBF\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/MathML.js b/src/py/kaleido/vendor/mathjax/localization/kn/MathML.js new file mode 100644 index 00000000..3552c811 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/kn/MathML.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/localization/kn/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u0C95\u0CC6\u0C9F\u0CCD\u0C9F mglyph: %1", + BadMglyphFont: "\u0C95\u0CC6\u0C9F\u0CCD\u0C9F \u0CA4\u0CC8\u0CB2\u0CA6\u0CBE\u0CA8\u0CBF: %1", + UnknownNodeType: "\u0C97\u0CCA\u0CA4\u0CCD\u0CA4\u0CC1 \u0C87\u0CB0\u0CB2\u0CC7 \u0C87\u0CA6\u0CCD\u0CA6 \u0CA8\u0CCB\u0CA1\u0CCD \u0C9F\u0CC8\u0CAA\u0CCD: %1", + UnexpectedTextNode: "\u0C8E\u0CA6\u0CB0\u0CC1 \u0CA8\u0CCB\u0CA6\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2\u0CA6\u0CCD\u0CA6 \u0CA8\u0CCB\u0CA1\u0CCD \u0C9F\u0CC8\u0CAA\u0CCD : %1", + ErrorParsingMathML: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAA\u0CBE\u0CB0\u0CCD\u0CB8\u0CC6 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0CBE\u0C97 \u0CA4\u0CCD\u0CB0\u0CC1\u0C9F\u0CBF", + ParsingError: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAA\u0CBE\u0CB0\u0CCD\u0CB8\u0CC6 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0CBE\u0C97 \u0CA4\u0CCD\u0CB0\u0CC1\u0C9F\u0CBF: %1", + MathMLSingleElement: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0C8E\u0CB2\u0CBF\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C87\u0C82\u0CA6 \u0CAE\u0CBE\u0CA1 \u0CAC\u0CC6\u0C95\u0CC1.", + MathMLRootElement: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u003Cmath\u003E \u0C9F\u0CCD\u0CAF\u0CBE\u0C97\u0CCD \u0C87\u0C82\u0CA6 \u0CB6\u0CC1\u0CB0\u0CC1 \u0C86\u0C97\u0CAC\u0CC7\u0C95\u0CC1, %1 \u0C87\u0C82\u0CA6 \u0C85\u0CB2\u0CCD\u0CB2" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/kn/MathMenu.js new file mode 100644 index 00000000..b70ae987 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/kn/MathMenu.js @@ -0,0 +1,105 @@ +/************************************************************* + * + * MathJax/localization/kn/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB9\u0CC7\u0C97\u0CC6 \u0CA4\u0CCB\u0CB0\u0CBF\u0CB8\u0CB2\u0CBF?", + MathMLcode: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CB8\u0CE6\u0C95\u0CC7\u0CA4", + OriginalMathML: "\u0CAE\u0CC2\u0CB2 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD", + TeXCommands: "\u0C9F\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0C85\u0CAA\u0CCD\u0CAA\u0CA3\u0CC6\u0C97\u0CB3\u0CC1", + AsciiMathInput: "\u0C86\u0CB8\u0CCD\u0C9A\u0CC0 \u0CAE\u0CBE\u0CA4 \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD", + Original: "\u0CAE\u0CC2\u0CB2 \u0CB0\u0CC2\u0CAA", + ErrorMessage: "\u0CA4\u0CCD\u0CB0\u0CC1\u0C9F\u0CBF \u0CAA\u0CA4\u0CCD\u0CB0", + Annotation: "\u0C9F\u0CBF\u0CAA\u0CCD\u0CAA\u0CA3\u0CBF", + TeX: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD", + StarMath: "\u0CB8\u0CCD\u0C9F\u0CBE\u0CB0\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD", + Maple: "\u0CAE\u0CC7\u0CAA\u0CB2\u0CCD", + ContentMathML: "\u0CB5\u0CBF\u0CB7\u0CAF \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD", + OpenMath: "\u0C93\u0CAA\u0CA8\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD", + texHints: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CB8\u0CC2\u0C9A\u0CCD\u0CAF\u0CB5\u0CBE\u0C97\u0CBF\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC2 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CA4\u0CCB\u0CB0\u0CBF\u0CB8\u0CBF", + Settings: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD\u0C97\u0CB3\u0CC1", + ZoomTrigger: "\u0C9C\u0CC2\u0CAE\u0CCD \u0C9F\u0CCD\u0CB0\u0CBF\u0C97\u0CB0\u0CCD", + Hover: "\u0CB9\u0CCA\u0CB5\u0CC6\u0CB0\u0CCD", + Click: "\u0C95\u0CCD\u0CB2\u0CBF\u0C95\u0CCD", + DoubleClick: "\u0C8E\u0CB0\u0CA1\u0CC1 \u0C95\u0CCD\u0CB2\u0CBF\u0C95\u0CCD", + NoZoom: "\u0C9C\u0CCB\u0CAE \u0C87\u0CB2\u0CCD\u0CB2", + TriggerRequires: "\u0C9F\u0CCD\u0CB0\u0CBF\u0C97\u0CB0\u0CCD \u0C87\u0C97\u0CC6 \u0CAC\u0CC6\u0C95\u0C97\u0CC1\u0CA4\u0CA6\u0CC6:", + Option: "\u0C86\u0CAF\u0CCD\u0C95\u0CC6", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "\u0C9C\u0CCB\u0CAE \u0C85\u0CAA\u0CB5\u0CB0\u0CCD\u0CA4\u0CA8", + Renderer: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0CA4\u0CBF\u0CAF\u0CBE\u0C97\u0CBF \u0C95\u0CCA\u0CA1\u0CC1\u0CB5\u0CB5", + MPHandles: "\u0CAE\u0CA4\u0CCD \u0CAA\u0CCD\u0CB2\u0CC7\u0CAF\u0CB0\u0CCD \u0C8E\u0C82\u0CA4 \u0CA8\u0CBF\u0CB0\u0CCD\u0CB5\u0CB9\u0CBF\u0CB8\u0CB2\u0CC1 \u0CAE\u0CBE\u0CA1 \u0CAC\u0CC7\u0C95\u0CC1?", + MenuEvents: "\u0CAE\u0CC6\u0CA8\u0CC1 \u0C98\u0C9F\u0CA8\u0CC6\u0C97\u0CB3\u0CC1", + MouseEvents: "\u0CAE\u0CCC\u0CB8\u0CCD \u0C98\u0C9F\u0CA8\u0CC6\u0C97\u0CB3\u0CC1", + MenuAndMouse: "\u0CAE\u0CCC\u0CB8\u0CCD \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0CAE\u0CC6\u0CA8\u0CC1 \u0C98\u0C9F\u0CA8\u0CC6\u0C97\u0CB3\u0CC1", + FontPrefs: "\u0CA4\u0CC8\u0CB2\u0CA6\u0CBE\u0CA8\u0CBF \u0C86\u0CAF\u0CBF\u0C95\u0CC6\u0C97\u0CB3\u0CC1", + ForHTMLCSS: "\u0C8E\u0C9A\u0CCD \u0CA4\u0CC0 \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD / \u0CB8\u0CC0 \u0C8E\u0CB8\u0CCD\u0CB8\u0CCD \u0C8E\u0CB8\u0CCD\u0CB8\u0CCD \u0C87\u0C97\u0CC6", + Auto: "\u0CB8\u0CCD\u0CB5\u0CAF\u0C82\u0C9A\u0CB2\u0CBF", + TeXLocal: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD (\u0CB2\u0CCB\u0C95\u0CB2\u0CCD)", + TeXWeb: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", + TeXImage: "\u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD (\u0C87\u0CAE\u0CC7\u0C9C\u0CCD)", + STIXLocal: "\u0CB7\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD (\u0CB2\u0CCB\u0C95\u0CB2\u0CCD)", + STIXWeb: "\u0CB7\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", + AsanaMathWeb: "\u0C86\u0CB8\u0CA8 \u0CAE\u0CBE\u0CA4 (\u0CB5\u0CC6\u0CAC\u0CCD)", + GyrePagellaWeb: "\u0C97\u0CCD\u0CAF\u0CCD\u0CB0\u0CC6 \u0CAA\u0C97\u0CC6\u0CB2\u0CCD\u0CB2 (\u0CB5\u0CC6\u0CAC\u0CCD)", + GyreTermesWeb: "\u0C97\u0CCD\u0CAF\u0CCD\u0CB0\u0CC6 \u0C9F\u0CB0\u0CCD\u0CAE\u0CCD\u0CB8\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", + LatinModernWeb: "\u0CB9\u0CCA\u0CB8 \u0CB2\u0CCD\u0CAF\u0CBE\u0C9F\u0CBF\u0CA8\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", + NeoEulerWeb: "\u0CA8\u0CBF\u0CAF\u0CCB \u0C92\u0C87\u0CB2\u0CC6\u0CB0\u0CCD (\u0CB5\u0CC6\u0CAC\u0CCD)", + ContextMenu: "\u0CB8\u0C82\u0CA6\u0CB0\u0CCD\u0CAD\u0CCB\u0C9A\u0CBF\u0CA4 \u0CAE\u0CC6\u0CA8\u0CC1", + Browser: "\u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD", + Scale: "\u0C8E\u0CB2\u0CCD\u0CB2 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0C88 \u0C85\u0CAA\u0CB5\u0CB0\u0CCD\u0CA4\u0CA8 \u0CA6\u0CBF\u0C82\u0CA6 \u0CAA\u0CCD\u0CB0\u0CAE\u0CBE\u0CA3\u0CA6 \u0CAE\u0CBE\u0CA1\u0CBF :", + Discoverable: "\u0CB9\u0CCA\u0CB5\u0CC6\u0CB0\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF\u0CA6\u0CBE\u0C97 \u0CB9\u0CC8\u0CB2\u0CC8\u0C9F\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF", + Locale: "\u0CAD\u0CBE\u0CB7\u0CC6", + LoadLocale: "\u0CAF\u0CC2 \u0C86\u0CB0\u0CCD \u0C8E\u0CB2\u0CCD\u0CB2 \u0C87\u0C82\u0CA6 \u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF", + About: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CAC\u0C97\u0CCD\u0C97\u0CC6", + Help: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0CB8\u0CB9\u0CAF\u0CA4\u0CC6", + localTeXfonts: "\u0CB2\u0CCB\u0C95\u0CB2\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + webTeXfonts: "\u0CB5\u0CC6\u0CAC\u0CCD \u0CA4\u0CC6\u0C95\u0CCD\u0CB7\u0CCD\u0C9F\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + imagefonts: "\u0C87\u0CAE\u0CC7\u0C9C\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + localSTIXfonts: "\u0CB2\u0CCB\u0C95\u0CB2\u0CCD \u0CB8\u0CCD\u0CA4\u0CBF\u0C95\u0CCD\u0CB7\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + webSVGfonts: "\u0CB5\u0CC6\u0CAC\u0CCD \u0C8E\u0CB8 \u0CB5\u0CC7 \u0C9C\u0CC0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA6\u0CCA\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + genericfonts: "\u0C9C\u0CBE\u0CA4\u0CBF\u0CB5\u0CBF\u0CB6\u0CBF\u0CB8\u0CCD\u0CA4\u0CB5\u0CBE\u0CA6 \u0CAF\u0CC1\u0CA8\u0CBF\u0C95\u0CCB\u0CA1\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + wofforotffonts: "\u0CB5\u0CCA\u0CAB\u0CCD\u0CAB\u0CCD \u0C85\u0CA5\u0CB5 \u0C92\u0CA4\u0CCD\u0CAB\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1", + eotffonts: "\u0C8E\u0C92\u0CA4\u0CCD \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1", + svgfonts: "\u0C8E\u0CB8 \u0CB5\u0CC7 \u0C9C\u0CC0 \u0CAB\u0CBE\u0C82\u0C9F\u0CCD \u0C97\u0CB3\u0CC1", + WebkitNativeMMLWarning: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C85\u0CA6\u0CB0 \u0C85\u0CB7\u0CCD\u0C9F\u0C95\u0CCD\u0C95\u0CC7 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA5\u0CCA\u0CB0\u0CBF\u0CB8\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2. \u0C85\u0CA1\u0CCD\u0CA1\u0C95\u0CCD\u0C95\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C94\u0C9F\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD \u0C87\u0C97\u0CC6 \u0CB8\u0CCD\u0CB5\u0CBF\u0C9A\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF\u0CA6\u0CB0\u0CC6, \u0C88 \u0CAA\u0CC1\u0C9F\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CA6\u0CCD\u0CA6 \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0C93\u0CA6\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CA6\u0CC6 \u0C87\u0CB0\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + MSIENativeMMLWarning: "\u0C87\u0C82\u0C9F\u0CB0\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD \u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u0CAA\u0CCD\u0CB2\u0CCB\u0CB0\u0CB0\u0CCD \u0C87\u0C97\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C94\u0C9F\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0CAA\u0CCD\u0CB2\u0CC7\u0CAF\u0CB0\u0CCD \u0CAA\u0CCD\u0CB2\u0C97\u0CCD-\u0C87\u0CA8\u0CCD \u0CAC\u0CC6\u0C95\u0CC1.", + OperaNativeMMLWarning: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C87\u0C97\u0CC6 \u0C92\u0CAA\u0CC6\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0CAC\u0CC6\u0C82\u0CAC\u0CB2 \u0C89\u0C82\u0C9F\u0CC1, \u0C85\u0CA6\u0C95\u0CCD\u0C95\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C94\u0C9F\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD \u0C87\u0C97\u0CC6 \u0CB8\u0CCD\u0CB5\u0CBF\u0C9A\u0CCD \u0CAE\u0CBE\u0CA6\u0CC1\u0CA6\u0CB0\u0CBF\u0C82\u0CA6 \u0C95\u0CC6\u0CB2\u0CCD\u0CB2\u0CB5 \u0CB5\u0CBF\u0CB7\u0CAF \u0C97\u0CB3\u0CC1 \u0C95\u0CC6\u0C9F\u0CCD\u0C9F \u0CB0\u0CC0\u0CA4\u0CBF\u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CB0\u0CC6\u0CA8\u0CCD\u0CA6\u0CC6\u0CB0\u0CCD \u0C86\u0C97 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + SafariNativeMMLWarning: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C87\u0CA8 \u0C85\u0CA6\u0CB0\u0CA6\u0CCD\u0CA6\u0CC7 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0C82\u0CA4 \u0C8E\u0CB2\u0CCD\u0CB2 \u0CAB\u0CC0\u0C9A\u0CB0\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CAC\u0CBF\u0CA6\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2. \u0C85\u0CA1\u0CCD\u0CA1\u0C95\u0CCD\u0C95\u0CC6, \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CB0\u0CBF \u0C86\u0C97\u0CBF \u0C95\u0CBE\u0CA3\u0CA6\u0CC6 \u0C87\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + FirefoxNativeMMLWarning: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD \u0C87\u0CA8 \u0C85\u0CA6\u0CB0\u0CA6\u0CCD\u0CA6\u0CC7 \u0CAE\u0CBE\u0CA4\u0CCD \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0C82\u0CA4 \u0C8E\u0CB2\u0CCD\u0CB2 \u0CAB\u0CC0\u0C9A\u0CB0\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CAC\u0CBF\u0CA6\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2. \u0C85\u0CA1\u0CCD\u0CA1\u0C95\u0CCD\u0C95\u0CC6, \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CB0\u0CBF \u0C86\u0C97\u0CBF \u0C95\u0CBE\u0CA3\u0CA6\u0CC6 \u0C87\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + MSIESVGWarning: "\u0C8E\u0CB8\u0CCD \u0CB5\u0CBF \u0C9C\u0CBF \u0C9A\u0CBF\u0CA4\u0CCD\u0CB0 \u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC2 \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD (\u0C87\u0C82\u0C9F\u0CB0\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD \u0C8E\u0C95\u0CCD\u0CB8\u0CCD\u0CAA\u0CCD\u0CB2\u0CCB\u0CB0\u0CB0\u0CCD) \u0CAC\u0CB0\u0CBF \u0C90\u0C88\u0CEF \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CAE\u0CBE\u0CA4\u0CCD\u0CB0 \u0CB8\u0CAA\u0CCB\u0CB0\u0CCD\u0C9F\u0CCD \u0C86\u0C97\u0CC1\u0CA4\u0CA6\u0CC6. \u0C90\u0C88\u0CEF \u0C95\u0CBF\u0C82\u0CA4 \u0C95\u0CAE\u0CCD\u0CAE\u0CBF \u0CB5\u0CB0\u0CCD\u0CB7\u0CA8\u0CCD \u0C97\u0CB3\u0CA8\u0CCD\u0CA8 \u0CB8\u0CBF\u0CAE\u0CC1\u0CB3\u0CC6\u0C9F\u0CCD \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5\u0CBE\u0C97 \u0CB8\u0CB9 \u0CB9\u0CBE\u0C97\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CA6\u0CC6. \u0C85\u0CA6\u0C95\u0CCD\u0C95\u0CC6 \u0C8E\u0CB8 \u0CB5\u0CBF \u0C9C\u0CC0 \u0C87\u0C97\u0CC6 \u0CAC\u0CA6\u0CB2\u0CBF\u0CB8\u0CBF\u0CA6\u0CB0\u0CC6 \u0C95\u0CC6\u0CB2\u0CB5 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB8\u0CB0\u0CBF \u0C86\u0C97\u0CBF \u0C95\u0CBE\u0CA3\u0CA6\u0CC6 \u0C87\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + LoadURL: "\u0C88 \u0CAF\u0CC1 \u0C86\u0CB0\u0CCD \u0C8E\u0CB2\u0CCD \u0C87\u0C82\u0CA6 \u0CA1\u0CBE\u0C9F\u0CBE \u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CC1\u0CA4 \u0C89\u0C82\u0C9F\u0CC1", + BadURL: "\u0C88 \u0CAF\u0CC1\u0C86\u0CB0\u0CCD\u0C8E\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0C9C\u0CBE\u0CB5\u0CBE\u0CB8\u0CCD\u0C95\u0CCD\u0CB0\u0CBF\u0CAA\u0CCD\u0C9F\u0CCD \u0CAB\u0CC8\u0CB2\u0CCD \u0C87\u0C97\u0CC6 \u0CB9\u0CCB\u0C97\u0CAC\u0CC7\u0C95\u0CC1 \u0CAF\u0CBE\u0CB5\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C87\u0CA8 \u0C9F\u0CCD\u0CB0\u0CBE\u0CA8\u0CCD\u0CB8\u0CCD\u0CB2\u0CC7\u0CB7\u0CA8\u0CCD \u0CA1\u0CC7\u0C9F\u0CBE\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB9\u0CBF\u0CA1\u0CC1\u0C95\u0CCA\u0CB3\u0CCD\u0CB3\u0CC1\u0CA4\u0CA6\u0CC6. \u0C85\u0C82\u0CA4 \u0CAB\u0CC8\u0CB2\u0CCD \u0C87\u0CA8 \u0CB9\u0CC6\u0CB8\u0CB0\u0CC1 \u0C92\u0C82\u0CA6\u0CC1 \".js\" \u0C8E\u0C95\u0CCD\u0CB8\u0C9F\u0CC6\u0CA8\u0CCD\u0CB6\u0CA8\u0CCD \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CAE\u0CC1\u0C97\u0CBF\u0CA4\u0CA6\u0CC6,", + BadData: "%1 \u0C87\u0C82\u0CA6 \u0C85\u0CA8\u0CC1\u0CB5\u0CBE\u0CA7 \u0CA1\u0CBE\u0C9F\u0CBE \u0CB2\u0CCB\u0CA1\u0CCD \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", + SwitchAnyway: "\u0C86\u0CA6\u0CB0\u0CC1\u0CB8\u0CB9 \u0CB0\u0CC6\u0CA8\u0CCD\u0CA6\u0CC6\u0CB0\u0CC6\u0CB0\u0CCD \u0CAC\u0CA6\u0CB2\u0CBE\u0CAF\u0CBF\u0CB8 \u0CAC\u0CC6\u0C95?", + ScaleMath: "\u0CAF\u0CB2\u0CCD\u0CB2 \u0C97\u0CA3\u0CBF\u0CA4 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CBE\u0C95\u0CBF \u0CAA\u0CA5\u0CCD\u0CAF\u0C95\u0CCD\u0C95\u0CC6 \u0CB9\u0CCB\u0CB2\u0CBF\u0C95\u0CC6\u0CAF\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CB7\u0CCD\u0C9F\u0CC1 \u0C85\u0CAA\u0CB5\u0CB0\u0CCD\u0CA4\u0CA8\u0CA6\u0CBF\u0C82\u0CA6 \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1 \u0C85\u0CA5\u0CB5\u0CBE \u0CB8\u0CC7\u0CA8\u0CCD\u0CA8\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA6\u0CBF.", + NonZeroScale: "\u0CB8\u0CCD\u0C95\u0CC7\u0CB2\u0CCD \u0CB8\u0CCA\u0CA8\u0CCD\u0CA8\u0CC6 \u0C87\u0CB0 \u0CAC\u0CBE\u0CB0\u0CA6\u0CC1", + PercentScale: "\u0CB8\u0CCD\u0C95\u0CC7\u0CB2\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CB0\u0CCD\u0CB8\u0C82\u0C9F\u0CC7\u0C9C\u0CCD \u0C87\u0CB0\u0CAC\u0CC7\u0C95\u0CC1 (\u0C89\u0CA6\u0CBE\u0CB9\u0CB0\u0CA3: \u0CE7\u0CE8\u0CE6%%)", + NoOriginalForm: "\u0CAE\u0CC2\u0CB2 \u0CB0\u0CC2\u0CAA \u0CB2\u0CAD\u0CCD\u0CAF\u0CB5\u0CBF\u0CB0\u0CB5 \u0C87\u0CB2\u0CCD\u0CB2", + Close: "\u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CBF", + EqSource: "\u0CAE\u0CBE\u0CA4\u0CCD \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C8E\u0C95\u0CBC\u0CC1\u0C85\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0CB8\u0CCA\u0CB0\u0CCD\u0CB8\u0CCD" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/TeX.js b/src/py/kaleido/vendor/mathjax/localization/kn/TeX.js new file mode 100644 index 00000000..06a2b2eb --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/kn/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/kn/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD \u0C85\u0CA5\u0CB5 \u0C95\u0CA1\u0CBF\u0CAE\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", + ExtraCloseMissingOpen: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD \u0C85\u0CA5\u0CB5 \u0C95\u0CA1\u0CBF\u0CAE\u0CC6 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", + MissingLeftExtraRight: "\u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\left \u0C85\u0CA5\u0CB5 \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \\right", + MissingScript: "\u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0 \u0C85\u0CA5\u0CB5 \u0CA8\u0CBF\u0CAE\u0CCD\u0CA8\u0CBE\u0C95\u0CCD\u0CB7\u0CB0", + ExtraLeftMissingRight: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \\left \u0C85\u0CA5\u0CB5 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\right", + Misplaced: "\u0CA4\u0CAA\u0CCD\u0CAA \u0CB8\u0CCD\u0CA5\u0CB3\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0C9F\u0CCD\u0C9F\u0CBF\u0CA6\u0CCD\u0CA6\u0CC1 %1", + MissingOpenForSub: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CA8\u0CBE\u0C95\u0CCD\u0CB7\u0CB0\u0C95\u0CCD\u0C95\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97", + MissingOpenForSup: "\u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0\u0C95\u0CCD\u0C95\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CAE\u0CC1\u0C82\u0CAD\u0CBE\u0C97", + AmbiguousUseOf: "%1 \u0C87\u0CA8 \u0C85\u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0C89\u0CAA\u0CAF\u0CCB\u0C97", + EnvBadEnd: "\\begin{%1} \u0C87\u0CA8 \u0C85\u0C82\u0CA4 \\end{%2} \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CAE\u0CBE\u0CA6\u0CBF\u0CB9\u0CCB\u0C97\u0CBF\u0CA6\u0CC6", + EnvMissingEnd: "\u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\end{%1}", + MissingBoxFor: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CB8\u0C82\u0CA6\u0CC2\u0C95", + MissingCloseBrace: "\u0C95\u0CA1\u0CBF\u0CAE\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", + UndefinedControlSequence: "\u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F\u0CC0\u0C95\u0CB0\u0CBF\u0CB8\u0CA6 \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C85\u0CA8\u0CC1\u0C95\u0CCD\u0CB0\u0CAE %1", + DoubleExponent: "\u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CCD\u0CA5\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0; \u0CAC\u0CCD\u0CB0\u0CB8\u0CC6\u0CB8\u0CCD \u0C87\u0CA8 \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0CAE\u0CBE\u0CA1\u0CC1", + DoubleSubscripts: "\u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CCD\u0CA5\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0CA8\u0CBF\u0CAE\u0CCD\u0CA8\u0CBE\u0C95\u0CCD\u0CB7\u0CB0; \u0CAC\u0CCD\u0CB0\u0CB8\u0CC6\u0CB8\u0CCD \u0C87\u0CA8 \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0CAE\u0CBE\u0CA1\u0CC1", + DoubleExponentPrime: "\u0CAA\u0CCD\u0CB0\u0CC8\u0CAE\u0CCD \u0C87\u0C82\u0CA6 \u0C86\u0C97\u0CBF \u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CCD\u0CA4\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0C89\u0C9A\u0CCD\u0C9A\u0CBE\u0C95\u0CCD\u0CB7\u0CB0 \u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB9\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CB8\u0CBF\u0CA4\u0CC1\u0CA6\u0CC6. \u0CAC\u0CCD\u0CB0\u0CB8\u0CC6\u0CB8\u0CCD \u0C92\u0C9F\u0CCD\u0C9F\u0CBF\u0C97\u0CC6 \u0CB8\u0CCD\u0CAA\u0CB7\u0CCD\u0C9F \u0CAE\u0CBE\u0CA6\u0CBF.", + CantUseHash1: "'macro \u0CAA\u0CCD\u0CAF\u0CBE\u0CB0\u0CBE\u0CAE\u0CC0\u0C9F\u0CB0\u0CCD \u0C95\u0CCD\u0CAF\u0CBE\u0CB0\u0CC6\u0C95\u0CCD\u0C9F\u0CB0\u0CCD \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAE\u0CBE\u0CA4\u0CCD \u0CAE\u0CCB\u0CA1\u0CCD \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0CAE\u0CBE\u0CA1\u0CB2\u0CBF\u0C95\u0CCD\u0C95\u0CC6 \u0C86\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2.", + MisplacedMiddle: "%1 \\left \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \\right \u0C87\u0CA8 \u0CAE\u0CA7\u0CCD\u0CAF\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", + MisplacedLimits: "%1 \u0CAC\u0CB0\u0CBF \u0C86\u0CAA\u0CB0\u0CC7\u0C9F\u0CB0\u0CCD\u0CB8\u0CCD \u0C87\u0C97\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD\u0CB0 \u0CB9\u0CBE\u0C95\u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + MisplacedMoveRoot: "%1 \u0CAC\u0CB0\u0CBF root \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CAE\u0CBE\u0CA4\u0CCD\u0CB0 \u0CAC\u0CB0 \u0CAC\u0CB9\u0CC1\u0CA6\u0CC1.", + MultipleCommand: " \u0C85\u0CA8\u0CC7\u0C95 %1.", + IntegerArg: "%1 \u0C87\u0C97\u0CC6 \u0CAC\u0C82\u0CA1 \u0C86\u0CB0\u0CCD\u0C97\u0CCD\u0CAF\u0CC1\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CB0\u0CCD\u0CA8\u0CBE\u0CA8\u0CCD\u0C95\u0CB5\u0CC7 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + NotMathMLToken: "%1 \u0C9F\u0CCB\u0C95\u0CA8\u0CCD \u0C8E\u0CB2\u0CBF\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C85\u0CB2\u0CCD\u0CB2.", + InvalidMathMLAttr: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CAE\u0CBE\u0CA4 \u0C8E\u0C82 \u0C8E\u0CB2\u0CCD \u0C97\u0CC1\u0CA3 : %1", + UnknownAttrForElement: "%1 %2 \u0C87\u0C97\u0CC6 \u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CA4\u0CC6 \u0C97\u0CC1\u0CA3 \u0C85\u0CB2\u0CCD\u0CB2", + MaxMacroSub1: "\u0CAE\u0CA5\u0CCD\u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C97\u0CB0\u0CBF\u0CB7\u0CCD\u0CA0 \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CAF \u0CAE\u0CC0\u0CB0\u0CBF\u0CA6\u0CC6 \u0CAE\u0CCD\u0CAF\u0CBE\u0C97\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD; \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CA8\u0CB0\u0CBE\u0CB5\u0CB0\u0CCD\u0CA4\u0CBF\u0CA4 \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0C95\u0CB0\u0CC6 \u0C87\u0CB2\u0CCD\u0CB2?", + MaxMacroSub2: "\u0C97\u0CB0\u0CBF\u0CB7\u0CCD\u0CA0 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CAF \u0CAE\u0CC0\u0CB0\u0CBF\u0CA6\u0CC6 \u0CAE\u0CCD\u0CAF\u0CBE\u0C97\u0CCD\u0CA8\u0CC6\u0C9F\u0CCD; \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CA8\u0CB0\u0CBE\u0CB5\u0CB0\u0CCD\u0CA4\u0CBF\u0CA4 \u0CB2\u0CCD\u0CAF\u0CBE\u0C9F\u0CC6\u0C95\u0CCD\u0CB8\u0CCD \u0CAA\u0CB0\u0CBF\u0CB8\u0CB0\u0C95\u0CCD\u0C95\u0CC6 \u0C87\u0CB2\u0CCD\u0CB2?", + MissingArgFor: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6", + ExtraAlignTab: "\\cases \u0CAA\u0CA0\u0CCD\u0CAF\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0C85\u0CB2\u0CC8\u0CA8\u0CCD\u0CAE\u0CC6\u0C82\u0C9F\u0CCD \u0C9F\u0CCD\u0CAF\u0CBE\u0CAC\u0CCD.", + BracketMustBeDimension: "%1 \u0C87\u0C97\u0CC6 \u0C87\u0CA6\u0CCD\u0CA6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0C85\u0CB3\u0CA4\u0CC6\u0CB5\u0CC6 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + InvalidEnv: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3 \u0CB9\u0CC6\u0CB8\u0CB0\u0CC1: %1", + UnknownEnv: "\u0C85\u0C9C\u0CCD\u0C9E\u0CBE\u0CA4 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3 '%1'", + ExtraCloseLooking: "%1 \u0CB9\u0CC1\u0CA1\u0CC1\u0C95\u0CC1\u0CB5\u0CBE\u0C97 \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CBF\u0CA6 \u0CAC\u0CCD\u0CB0\u0CC7\u0CB8\u0CCD", + MissingCloseBracket: "%1 \u0C87\u0C97\u0CC6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6\u0C97\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CC6\u0CA6\u0CC6 ']' \u0CB8\u0CBF\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", + MissingOrUnrecognizedDelim: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0C85\u0CA5\u0CB5 \u0C85\u0CB0\u0CCD\u0CA5 \u0C86\u0C97\u0CA6 \u0C87\u0CA6\u0CCD\u0CA6 \u0CAC\u0CCD\u0CB0\u0C9A\u0CCD\u0C95\u0CC6\u0CA4\u0CCD.", + MissingDimOrUnits: "%1 \u0C87\u0C97\u0CC6 \u0CB8\u0CBF\u0C97\u0CA6\u0CC7 \u0C87\u0CA6\u0CCD\u0CA6 \u0C85\u0CB2\u0CBF\u0CA4\u0CC6 \u0C85\u0CA5\u0CB5 \u0C85\u0CA6\u0CB0 \u0C98\u0C9F\u0C95\u0C97\u0CB3\u0CC1.", + TokenNotFoundForCommand: "%1 \u0C87\u0C97\u0CC6 %2 \u0CB8\u0CBF\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2.", + MathNotTerminated: "\u0C97\u0CA3\u0CBF\u0CA4\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAA\u0CA5\u0CCD\u0CAF \u0CB8\u0C82\u0CA6\u0CC2\u0C95 \u0CB5\u0CB3\u0C97\u0CC6 \u0CAE\u0CC1\u0C97\u0CBF\u0CB8\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", + IllegalMacroParam: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0CAA\u0CCD\u0CAF\u0CBE\u0CB0\u0CBE\u0CAE\u0CC0\u0C9F\u0CB0\u0CCD \u0C87\u0C97\u0CC6 \u0C89\u0CB2\u0CCD\u0CB2\u0CC7\u0C96", + MaxBufferSize: "\u0CAE\u0CBE\u0CA4 \u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C86\u0C82\u0CA4\u0CB0\u0CBF\u0C95 \u0CAC\u0CAB\u0CB0\u0CCD \u0C97\u0CBE\u0CA4\u0CCD\u0CB0\u0CA6 \u0CAE\u0CC0\u0CB0\u0CBF\u0CA6\u0CC6; \u0C92\u0C82\u0CA6\u0CC1 \u0CAA\u0CC1\u0CA8\u0CB0\u0CBE\u0CB5\u0CB0\u0CCD\u0CA4\u0CBF\u0CA4 \u0CAE\u0CCD\u0CAF\u0CBE\u0C95\u0CCD\u0CB0\u0CCB \u0C95\u0CB0\u0CC6 \u0C87\u0CB2\u0CCD\u0CB2?", + CommandNotAllowedInEnv: "%2 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF %1 \u0C85\u0CB5\u0C95\u0CBE\u0CB6 \u0C85\u0CB2\u0CCD\u0CB2", + MultipleLabel: "%1 \u0C85\u0CA8\u0CC7\u0C95 \u0CB8\u0CB2 \u0CB5\u0CCD\u0CAF\u0CBE\u0C96\u0CCD\u0CAF\u0CBE\u0CA8\u0CBF\u0CB8\u0CB2\u0CC1 \u0C86\u0C97\u0CBF\u0C95\u0CCA\u0C82\u0CA1\u0CC1 \u0C89\u0C82\u0C9F\u0CC1", + CommandAtTheBeginingOfLine: "%1 \u0CAA\u0C82\u0C95\u0CCD\u0CA4\u0CBF\u0CA6 \u0CAE\u0CCA\u0CA6\u0CB2\u0CC1 \u0CAC\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", + IllegalAlign: "%1 \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CB8\u0CBE\u0CB2\u0CC1\u0C97\u0CC2\u0CA1\u0CBF\u0C95\u0CC6 \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCB\u0C97\u0CBF\u0CA6\u0CC6", + BadMathStyleFor: "%1 \u0C87\u0C97\u0CC6 \u0C95\u0CC6\u0C9F\u0CCD\u0C9F \u0C97\u0CA3\u0CBF\u0CA4\u0CA6\u0CCD\u0CA6\u0CC1 \u0CB6\u0CC8\u0CB2\u0CBF \u0C89\u0C82\u0C9F\u0CC1", + PositiveIntegerArg: "%1 \u0C87\u0C97\u0CC6 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0CA7\u0CA8\u0CBE\u0CA4\u0CCD\u0CAE\u0C95 \u0CAA\u0CC2\u0CB0\u0CCD\u0CA3\u0CBE\u0C82\u0C95 \u0C87\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", + ErroneousNestingEq: "\u0C8E\u0C95\u0CBC\u0CC1\u0C85\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0CB0\u0C9A\u0CA8\u0CC6\u0C97\u0CB3 \u0CA4\u0CC3\u0CA4\u0CBF\u0CB5\u0CBE\u0CA6 \u0CA8\u0CC6\u0CB8\u0CCD\u0CA4\u0CBF\u0C82\u0C97\u0CCD", + MultlineRowsOneCol: "%1 \u0CAA\u0CB0\u0CCD\u0CAF\u0CBE\u0CB5\u0CB0\u0CA3\u0CA6 \u0CB5\u0CB3\u0C97\u0CC6 \u0C87\u0CA6\u0CCD\u0CA6 \u0CB8\u0CBE\u0CB2\u0CC1\u0C97\u0CB3\u0CBF\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC7 \u0CB8\u0CCD\u0CA4\u0C82\u0CAD \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + MultipleBBoxProperty: "%2 \u0C87\u0CA8 \u0CB5\u0CB3\u0C97\u0CC6 %1 \u0C8E\u0CB0\u0CA1\u0CC1 \u0CB8\u0CB2 \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCA\u0C97\u0CBF\u0CA6\u0CC6.", + InvalidBBoxProperty: "'%1' \u0C92\u0C82\u0CA6\u0CC1 \u0CAC\u0CA3\u0CCD\u0CA3, \u0C89\u0CAC\u0CCD\u0CAC\u0CBF\u0CB8\u0CB5 \u0C85\u0CB2\u0CBF\u0CA4\u0CC6, \u0C85\u0CA5\u0CB5\u0CBE \u0CB6\u0CC8\u0CB2\u0CBF \u0CB9\u0CBE\u0C97\u0CC6 \u0C95\u0CBE\u0CA8\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2.", + ExtraEndMissingBegin: "\u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 %1 \u0C85\u0CA5\u0CB5 \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \\begingroup", + GlobalNotFollowedBy: "%1 \u0C87\u0CA8 \u0CAE\u0CC1\u0C82\u0CA6\u0CC6 \\let, \\def, \\def, \u0C85\u0CA5\u0CB5 \\newcommand \u0CAC\u0CB0\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2.", + UndefinedColorModel: "\u0CAC\u0CA3\u0CCD\u0CA3\u0CA6 \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF '%1' \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCB\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2.", + ModelArg1: "%1 \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF\u0C97\u0CC6 \u0CAC\u0CA3\u0CCD\u0CA3\u0CA6 \u0CE9 (3) \u0C85\u0C82\u0C95\u0C97\u0CB3\u0CC1 \u0CAC\u0CC6\u0C95\u0C97\u0CC1\u0CA4\u0CA6\u0CC6.", + InvalidDecimalNumber: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CA6\u0CB6\u0CAE\u0CB3\u0CA8\u0CCD\u0CB6", + ModelArg2: "%1 \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF\u0C97\u0CC6 \u0CAC\u0CA3\u0CCD\u0CA3\u0CA6 \u0C85\u0CA8\u0CCD\u0C96\u0C97\u0CB3\u0CC1 %2 \u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 %3 \u0C87\u0CA8 \u0CAE\u0CA7\u0CCD\u0CAF \u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + InvalidNumber: "\u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0C85\u0C82\u0C95.", + NewextarrowArg1: "%1 \u0C87\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CA8\u0CC7 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C85\u0CA8\u0CC1\u0C95\u0CCD\u0CB0\u0CAE \u0C87\u0CB0 \u0CAC\u0CC6\u0C95\u0CC1.", + NewextarrowArg2: "%1 \u0C87\u0C97\u0CC6 \u0C8E\u0CB0\u0CA1\u0CA8\u0CC7 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0C95\u0CC6\u0CAE\u0CCD\u0CAE \u0CA6\u0CBF\u0C82\u0CA6 \u0CAC\u0CC7\u0CB0\u0CC6 \u0C86\u0CA6 \u0C8E\u0CB0\u0CA1\u0CC1 \u0CAA\u0CC2\u0CB0\u0CCD\u0CA3\u0CBE\u0C82\u0C95 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + NewextarrowArg3: "%1 \u0C87\u0C97\u0CC6 \u0CAE\u0CC2\u0CB0\u0CA8\u0CC7 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CAF\u0CC1\u0CA8\u0CBF\u0C95\u0CCB\u0CA1\u0CCD \u0CB8\u0CE6\u0C95\u0CC7\u0CA4 \u0C87\u0CB0\u0CAC\u0CC6\u0C95\u0CC1.", + NoClosingChar: "\u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CC1\u0CB5 %1 \u0CB8\u0CBF\u0C97\u0CC1\u0CA4 \u0C87\u0CB2\u0CCD\u0CB2.", + IllegalControlSequenceName: "%1 \u0C87\u0C97\u0CC6 \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C85\u0CA8\u0CC1\u0C95\u0CCD\u0CB0\u0CAE", + IllegalParamNumber: "%1 \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CA8\u0CBF\u0CAF\u0CA4\u0CBE\u0C82\u0C95\u0C97\u0CB3 \u0C92\u0C82\u0CA6\u0CC1 \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CBE \u0CB9\u0CC7\u0CB3\u0CBF \u0CB9\u0CCB\u0C97\u0CBF\u0CA6\u0CCD\u0CA6\u0CC6", + MissingCS: "%1 \u0C86\u0CA6\u0CAE\u0CC7\u0CB2\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CA8\u0CBF\u0CAF\u0C82\u0CA4\u0CCD\u0CB0\u0CA3 \u0C95\u0CCD\u0CB0\u0CAE \u0CAC\u0CB0\u0CAC\u0CC7\u0C95\u0CC1", + CantUseHash2: "%1 \u0C87\u0C97\u0CC6 \u0C9F\u0CC6\u0C82\u0CAA\u0CCD\u0CB2\u0CC6\u0C9F\u0CCD \u0C85\u0CB2\u0CCD\u0CB2\u0CBF # \u0C87\u0CA8 \u0C85\u0C95\u0CCD\u0CB0\u0CAE \u0C89\u0CAA\u0CAF\u0CCB\u0C97", + SequentialParam: " %1 \u0C87\u0C97\u0CC6 \u0CA8\u0CBF\u0CAF\u0CA4\u0CBE\u0C82\u0C95 \u0C92\u0C82\u0CA6\u0CC1 \u0C95\u0CCD\u0CB0\u0CAE \u0CAA\u0CCD\u0CB0\u0C95\u0CBE\u0CB0 \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CBE \u0CA4\u0CC6\u0C95\u0CCA\u0CB3\u0CC1\u0CAC\u0CC7\u0C95\u0CC1", + MissingReplacementString: "%1 \u0C87\u0CA8 \u0CB5\u0CCD\u0CAF\u0CBE\u0C96\u0CCD\u0CAF\u0CBE\u0CA6\u0CB2\u0CCD\u0CB2\u0CBF \u0C95\u0CBE\u0CA3\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CA6 \u0CAC\u0CA6\u0CB2\u0CBF \u0CB9\u0C97\u0CCD\u0C97", + MismatchUseDef: "%1 \u0C87\u0CA8 \u0C89\u0CAA\u0CAF\u0CCB\u0C97 \u0C85\u0CA6\u0CB0 \u0CB5\u0CCD\u0CAF\u0CBE\u0C96\u0CCD\u0CAF\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CB0\u0CBF\u0C9C\u0CC7\u0CA1\u0CBF \u0C86\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2", + RunawayArgument: "%1 \u0C87\u0C97\u0CC6 \u0C93\u0CA6\u0CC1 \u0CB9\u0CCB\u0C97\u0CC1\u0CB5 \u0C9A\u0CB0\u0CCD\u0C9A\u0CC6 ?", + NoClosingDelim: "%1 \u0C87\u0C97\u0CC6 \u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CB5 \u0CAC\u0CCD\u0CB0\u0CBE\u0C95\u0CC6\u0C9F\u0CCD \u0CB8\u0CBF\u0C97\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/kn/kn.js b/src/py/kaleido/vendor/mathjax/localization/kn/kn.js new file mode 100644 index 00000000..56f93514 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/kn/kn.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/kn/kn.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("kn",null,{ + menuTitle: "\u0C95\u0CA8\u0CCD\u0CA8\u0CA1", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "\u0CAE\u0CA5\u0CCD\u0C9C\u0C95\u0CCD\u0CB7\u0CCD \u0C87\u0C97\u0CC6 \u0C92\u0C82\u0CA6\u0CC1 \u0CB8\u0CA6\u0CB8\u0CCD\u0CAF \u0C9A\u0CCA\u0CA8\u0CCD\u0CAB\u0CBC\u0CBF\u0C97\u0CC1\u0CB0\u0CA4\u0CBF\u0C92\u0CA8\u0CCD \u0C95\u0CC1\u0C95\u0CC0 \u0CB8\u0CBF\u0C95\u0CCD\u0C95\u0CBF\u0CA6\u0CC6. \u0C85\u0CA6\u0CCD\u0CA6\u0CA8\u0CCD\u0CA8 \u0CB0\u0CA8\u0CCD \u0CAE\u0CBE\u0CA1\u0CAC\u0CC7\u0C95? \n\n(\u0CA8\u0CC0\u0CB5\u0CC7 \u0C85\u0CA6\u0CA8\u0CCD\u0CA8 \u0CB8\u0CC6\u0C9F\u0CCD \u0C85\u0CAA\u0CCD \u0CAE\u0CBE\u0CA1\u0CBF\u0CA6\u0CC1 \u0C85\u0CB2\u0CCD\u0CB2 \u0C86\u0CA6\u0CB0\u0CC6 \"Cancel\" \u0C85\u0CA5\u0CB5\u0CBE \"\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1\" \u0CB5\u0CA4\u0CCD\u0CA4\u0CBF.)", + MathProcessingError: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF\u0CC6\u0CAF\u0CB2\u0CCD\u0CB2\u0CBF \u0CA6\u0CCB\u0CB7", + MathError: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CA6\u0CCB\u0CB7", + LoadFile: "%1 \u0CB2\u0CCB\u0CA1\u0CCD \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6", + Loading: "\u0CB2\u0CCB\u0CA1\u0CCD \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6", + LoadFailed: "%1 \u0CAB\u0CC8\u0CB2\u0CCD \u0CB2\u0CCB\u0CA1\u0CCD \u0C86\u0C97\u0CB2\u0CBF\u0CB2\u0CCD\u0CB2", + ProcessMath: "\u0C97\u0CA3\u0CBF\u0CA4 \u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6: %1%%", + Processing: "\u0CAA\u0CCD\u0CB0\u0C95\u0CCD\u0CB0\u0CBF\u0CAF\u0CC6 \u0C86\u0C97\u0CC1\u0CA4\u0CCD\u0CA4\u0CBF\u0CA6\u0CC6", + TypesetMath: "\u0C97\u0CA3\u0CBF\u0CA4 \u0C9F\u0CC8\u0CAA\u0CCD\u200D\u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD: %1%%", + Typesetting: "\u0C9F\u0CC8\u0CAA\u0CCD\u200D\u0CB8\u0CC6\u0C9F\u0CCD\u0C9F\u0CBF\u0C82\u0C97\u0CCD", + MathJaxNotSupported: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0CAC\u0CCD\u0CB0\u0CCC\u0CB8\u0CB0\u0CCD MathJax\u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CC6\u0C82\u0CAC\u0CB2\u0CBF\u0CB8\u0CC1\u0CB5\u0CC1\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/kn/kn.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ko/FontWarnings.js new file mode 100644 index 00000000..179c0496 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ko/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ko/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax\uB294 \uBB38\uC11C\uC758 \uC218\uC2DD\uC744 \uD45C\uD604\uD558\uAE30 \uC704\uD574 \uC6F9 \uAE30\uBC18 \uD3F0\uD2B8\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB294\uB370 \uC2DC\uAC04\uC774 \uAC78\uB9AC\uC9C0\uB9CC, \uC2DC\uC2A4\uD15C \uD3F0\uD2B8 \uD3F4\uB354\uC5D0 \uC218\uC2DD \uD3F0\uD2B8\uAC00 \uC124\uCE58\uB418\uC5B4 \uC788\uB2E4\uBA74 \uBB38\uC11C\uAC00 \uB354 \uBE68\uB9AC \uD45C\uC2DC\uB420 \uAC83\uC785\uB2C8\uB2E4.", + imageFonts: "MathJax\uB294 \uB85C\uCEEC \uB610\uB294 \uC6F9 \uAE30\uBC18 \uAE00\uAF34\uC774 \uC544\uB2CC, \uADF8\uB9BC \uAE00\uAF34\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uD3C9\uC18C\uBCF4\uB2E4 \uB290\uB9AC\uAC8C \uD45C\uD604\uB420 \uC218 \uC788\uC73C\uBA70 \uC218\uD559 \uAE30\uD638\uAC00 \uD504\uB9B0\uD130\uC758 \uCD5C\uB300 \uD574\uC0C1\uB3C4\uB85C \uC778\uC1C4\uB418\uC9C0 \uBABB\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + webFonts: "\uD604\uB300\uC758 \uB300\uBD80\uBD84\uC758 \uBE0C\uB77C\uC6B0\uC800\uB4E4\uC740 \uC6F9\uC744 \uD1B5\uD574 \uD3F0\uD2B8\uB97C \uB2E4\uC6B4\uB85C\uB4DC\uD558\uB294 \uAC83\uC774 \uAC00\uB2A5\uD569\uB2C8\uB2E4. \uCD5C\uC2E0 \uBC84\uC804\uC758 \uBE0C\uB77C\uC6B0\uC800\uB85C \uC5C5\uB370\uC774\uD2B8(\uB610\uB294 \uBE0C\uB77C\uC6B0\uC800 \uBCC0\uACBD)\uD558\uBA74 \uC774 \uBB38\uC11C\uC758 \uC218\uC2DD\uC758 \uD488\uC9C8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + noFonts: "MathJax\uB294 \uC218\uC2DD\uC744 \uD45C\uC2DC\uD558\uB294 \uB370 \uC0AC\uC6A9\uB418\uB294 \uAE00\uAF34\uC744 \uC704\uCE58\uC2DC\uD0AC \uC218 \uC5C6\uACE0 \uADF8\uB9BC \uAE00\uAF34\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uAE30 \uB54C\uBB38\uC5D0 \uBE0C\uB77C\uC6B0\uC800\uAC00 \uD45C\uC2DC\uD560 \uC218 \uC788\uC744 \uAC83\uC774\uB77C \uAE30\uB300\uD558\uBA74\uC11C \uC77C\uBC18 \uC720\uB2C8\uCF54\uB4DC \uBB38\uC790\uB85C \uB300\uC2E0 \uBCF4\uC5EC\uC8FC\uACE0 \uC788\uC2B5\uB2C8\uB2E4. \uC77C\uBD80 \uBB38\uC790\uAC00 \uC62C\uBC14\uB974\uAC8C \uBCF4\uC774\uC9C0 \uC54A\uC744 \uC218 \uC788\uC73C\uBA70 \uC544\uC608 \uBCF4\uC774\uC9C0 \uC54A\uC744 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4.", + fonts: "MathJax\uB294 [STIX \uAE00\uAF34](%1)\uC774\uB098 [MathJax TeX \uAE00\uAF34](%2) \uC911 \uD558\uB098\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC774 \uAE00\uAF34\uB4E4 \uAC00\uC6B4\uB370 \uD558\uB098\uB97C \uB2E4\uC6B4\uB85C\uB4DC\uD558\uACE0 \uC124\uCE58\uD558\uBA74 \uB2F9\uC2E0\uC758 MathJax \uACBD\uD5D8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + STIXPage: "\uC774 \uBB38\uC11C\uB294 [STIX \uAE00\uAF34](%1)\uC744 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uACC4\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uD574\uB2F9 \uAE00\uAF34\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uC5EC \uC124\uCE58\uD558\uBA74 \uB2F9\uC2E0\uC758 MathJax \uACBD\uD5D8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + TeXPage: "\uC774 \uBB38\uC11C\uB294 [MathJax TeX \uAE00\uAF34](%1)\uC744 \uC0AC\uC6A9\uD558\uB3C4\uB85D \uC124\uACC4\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uD574\uB2F9 \uAE00\uAF34\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uC5EC \uC124\uCE58\uD558\uBA74 \uB2F9\uC2E0\uC758 MathJax \uACBD\uD5D8\uC744 \uAC1C\uC120\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ko/HTML-CSS.js new file mode 100644 index 00000000..eb53c85e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ko/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ko/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "%1 \uC6F9\uD3F0\uD2B8\uB97C \uBD88\uB7EC\uC624\uACE0 \uC788\uC2B5\uB2C8\uB2E4...", + CantLoadWebFont: "%1 \uC6F9\uD3F0\uD2B8\uB97C \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", + FirefoxCantLoadWebFont: "\uD30C\uC774\uC5B4\uD3ED\uC2A4\uB294 \uC6D0\uACA9 \uD638\uC2A4\uD2B8\uB85C\uBD80\uD130 \uC6F9 \uD3F0\uD2B8\uB97C \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", + CantFindFontUsing: "%1\uB97C \uC0AC\uC6A9\uD55C \uC720\uD6A8\uD55C \uD3F0\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", + WebFontsNotAvailable: "\uC6F9 \uD3F0\uD2B8 \uC0AC\uC6A9\uC774 \uBD88\uAC00\uD569\uB2C8\uB2E4. \uC774\uBBF8\uC9C0 \uD3F0\uD2B8\uB97C \uB300\uC2E0 \uC0AC\uC6A9\uD569\uB2C8\uB2E4." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ko/HelpDialog.js new file mode 100644 index 00000000..c2c0adf7 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ko/HelpDialog.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ko/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax \uB3C4\uC6C0\uB9D0", + Browsers: "*\uBE0C\uB77C\uC6B0\uC800*: MathJax\uB294 IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+\uB97C \uD3EC\uD568\uD558\uB294 \uBAA8\uB4E0 \uCD5C\uC2E0 \uBE0C\uB77C\uC6B0\uC800\uC640 \uB300\uBD80\uBD84\uC758 \uBAA8\uBC14\uC77C \uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C \uC791\uB3D9\uD569\uB2C8\uB2E4.", + Menu: "*\uC218\uC2DD \uBA54\uB274*: MathJax\uB294 \uBC29\uC815\uC2DD\uC5D0 \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274\uB97C \uB367\uBD99\uC785\uB2C8\uB2E4. \uBA54\uB274\uC5D0 \uC811\uADFC\uD558\uB824\uBA74 \uC544\uBB34 \uC218\uC2DD\uC744 \uC67C\uCABD \uD074\uB9AD\uD558\uAC70\uB098 \uC624\uB978\uCABD \uD074\uB9AD\uD558\uC138\uC694.", + Zoom: "*\uC218\uC2DD \uD655\uB300*: \uBC29\uC815\uC2DD\uC744 \uC77D\uB294 \uB370 \uC5B4\uB824\uC6C0\uC774 \uC788\uB2E4\uBA74, MathJax\uC5D0\uC11C \uBC29\uC815\uC2DD\uC744 \uB354 \uC798 \uBCFC \uC218 \uC788\uB3C4\uB85D \uC2DD\uC744 \uD06C\uAC8C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + MathJax: "*MathJax*\uB294 \uBB38\uC11C \uC791\uC131\uC790\uAC00 \uC6F9 \uD398\uC774\uC9C0\uC5D0 \uC218\uD559\uC744 \uD3EC\uD568\uD560 \uC218 \uC788\uB3C4\uB85D \uD574\uC8FC\uB294 JavaScript \uB77C\uC774\uBE0C\uB7EC\uB9AC\uC785\uB2C8\uB2E4. \uBB38\uC11C\uB97C \uC77D\uAE30 \uC704\uD574 \uB3C5\uC790\uAC00 \uB530\uB85C \uD574\uC57C \uD558\uB294 \uAC83\uC740 \uC5C6\uC2B5\uB2C8\uB2E4.", + Language: "*Language* \uBA54\uB274\uC5D0\uC11C MathJax\uAC00 \uBA54\uB274\uC640 \uACBD\uACE0 \uBA54\uC2DC\uC9C0\uB85C\uC368 \uC0AC\uC6A9\uD558\uB294 \uC5B8\uC5B4\uB97C \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + CloseDialog: "\uB3C4\uC6C0\uB9D0 \uB300\uD654 \uC0C1\uC790 \uB2EB\uAE30" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ko/MathML.js new file mode 100644 index 00000000..fc7fb389 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ko/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/ko/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ko/MathMenu.js new file mode 100644 index 00000000..1a265875 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ko/MathMenu.js @@ -0,0 +1,106 @@ +/************************************************************* + * + * MathJax/localization/ko/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\uC218\uC2DD \uBCF4\uAE30", + MathMLcode: "MathML \uCF54\uB4DC", + OriginalMathML: "\uC6D0\uB798 MathML", + TeXCommands: "TeX \uBA85\uB839", + AsciiMathInput: "AsciiMathML \uC785\uB825", + Original: "\uC6D0\uB798 \uC591\uC2DD", + ErrorMessage: "\uC624\uB958 \uBA54\uC2DC\uC9C0", + Annotation: "\uC8FC\uC11D", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "MathML\uC5D0 TeX \uD78C\uD2B8 \uBCF4\uC774\uAE30", + Settings: "\uC218\uC2DD \uC124\uC815", + ZoomTrigger: "\uD2B8\uB9AC\uAC70 \uD655\uB300", + Hover: "\uAC00\uB9AC\uD0A4\uAE30", + Click: "\uD074\uB9AD", + DoubleClick: "\uB354\uBE14 \uD074\uB9AD", + NoZoom: "\uD655\uB300 \uC5C6\uC74C", + TriggerRequires: "\uD544\uC694\uD55C \uD2B8\uB9AC\uAC70:", + Option: "\uC120\uD0DD \uC0AC\uD56D", + Alt: "Alt", + Command: "\uCEE4\uB9E8\uB4DC", + Control: "\uCEE8\uD2B8\uB864", + Shift: "\uC2DC\uD504\uD2B8", + ZoomFactor: "\uD655\uB300 \uBC30\uC728", + Renderer: "\uC218\uC2DD \uB80C\uB354\uB7EC", + MPHandles: "MathPlayer\uC5D0 \uCC98\uB9AC\uD560 \uC774\uBCA4\uD2B8:", + MenuEvents: "\uBA54\uB274 \uC774\uBCA4\uD2B8", + MouseEvents: "\uB9C8\uC6B0\uC2A4 \uC774\uBCA4\uD2B8", + MenuAndMouse: "\uB9C8\uC6B0\uC2A4\uC640 \uBA54\uB274 \uC774\uBCA4\uD2B8", + FontPrefs: "\uAE00\uAF34 \uD658\uACBD \uC124\uC815", + ForHTMLCSS: "HTML-CSS:", + Auto: "\uC790\uB3D9", + TeXLocal: "TeX (\uB85C\uCEEC)", + TeXWeb: "TeX (\uC6F9)", + TeXImage: "TeX (\uADF8\uB9BC)", + STIXLocal: "STIX (\uB85C\uCEEC)", + ContextMenu: "\uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274", + Browser: "\uD0D0\uC0C9\uAE30", + Scale: "\uBAA8\uB4E0 \uC218\uC2DD \uBC30\uC728 ...", + Discoverable: "\uAC00\uB9AC\uD0A4\uBA74 \uAC15\uC870", + Locale: "\uC5B8\uC5B4", + LoadLocale: "URL\uC5D0\uC11C \uC5F4\uAE30 ...", + About: "MathJax \uC815\uBCF4", + Help: "MathJax \uB3C4\uC6C0\uB9D0", + localTeXfonts: "\uB85C\uCEEC TeX \uAE00\uAF34 \uC0AC\uC6A9", + webTeXfonts: "\uC6F9 TeX \uAE00\uAF34 \uC0AC\uC6A9", + imagefonts: "\uADF8\uB9BC \uAE00\uAF34 \uC0AC\uC6A9", + localSTIXfonts: "\uB85C\uCEEC STIX \uAE00\uAF34 \uC0AC\uC6A9", + webSVGfonts: "\uC6F9 SVG \uAE00\uAF34 \uC0AC\uC6A9", + genericfonts: "\uC77C\uBC18 \uC720\uB2C8\uCF54\uB4DC \uAE00\uAF34 \uC0AC\uC6A9", + wofforotffonts: "woff \uB610\uB294 otf \uAE00\uAF34", + eotffonts: "eot \uAE00\uAF34", + svgfonts: "svg \uAE00\uAF34", + WebkitNativeMMLWarning: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uAC00 \uAE30\uBCF8\uC801\uC73C\uB85C MathML\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAC83 \uAC19\uAE30 \uB54C\uBB38\uC5D0 MathML \uCD9C\uB825\uC73C\uB85C \uC804\uD658\uD558\uBA74 \uBB38\uC11C\uC5D0 \uC788\uB294 \uC218\uC2DD\uC744 \uC77D\uC744 \uC218 \uC5C6\uAC8C \uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + MSIENativeMMLWarning: "Internet Explorer\uB294 MathML \uCD9C\uB825\uC744 \uCC98\uB9AC\uD558\uAE30 \uC704\uD574 MathPlayer \uD50C\uB7EC\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.", + OperaNativeMMLWarning: "\uC624\uD398\uB77C\uC758 MathML \uC9C0\uC6D0\uC740 \uC81C\uD55C\uC801\uC774\uBBC0\uB85C MathML \uCD9C\uB825\uC73C\uB85C \uC804\uD658\uD558\uBA74 \uC77C\uBD80 \uD45C\uD604\uC774 \uBD88\uC644\uC804\uD558\uAC8C \uB80C\uB354\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + SafariNativeMMLWarning: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uC758 \uAE30\uBCF8 MathML\uC740 MathJax\uC5D0\uC11C \uC0AC\uC6A9\uD558\uB294 \uBAA8\uB4E0 \uAE30\uB2A5\uC744 \uAD6C\uD604\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uC77C\uBD80 \uD45C\uD604\uC774 \uC81C\uB300\uB85C \uB80C\uB354\uB418\uC9C0 \uC54A\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + FirefoxNativeMMLWarning: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uC758 \uAE30\uBCF8 MathML\uC740 MathJax\uC5D0\uC11C \uC0AC\uC6A9\uD558\uB294 \uBAA8\uB4E0 \uAE30\uB2A5\uC744 \uAD6C\uD604\uD558\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \uC77C\uBD80 \uD45C\uD604\uC774 \uC81C\uB300\uB85C \uB80C\uB354\uB418\uC9C0 \uC54A\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + LoadURL: "\uC774 URL\uC5D0\uC11C \uBC88\uC5ED \uB370\uC774\uD130 \uC5F4\uAE30:", + BadData: "%1\uC5D0\uC11C \uBC88\uC5ED \uB370\uC774\uD130\uB97C \uC5F4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", + NonZeroScale: "\uBC30\uC728\uC740 0\uC774 \uC544\uB2C8\uC5B4\uC57C \uD569\uB2C8\uB2E4", + PercentScale: "\uBC30\uC728\uC740 \uBC31\uBD84\uC728\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4 (\uC608, 120%%)", + IE9warning: "MathJax \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274\uAC00 \uBE44\uD65C\uC131\uD654\uB418\uC9C0\uB9CC, \uB300\uC2E0 MathJax \uBA54\uB274\uB97C \uC5BB\uC73C\uB824\uBA74 Alt-\uD074\uB9AD\uC744 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + NoOriginalForm: "\uC6D0\uB798 \uC591\uC2DD\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", + Close: "\uB2EB\uAE30", + EqSource: "MathJax \uC218\uC2DD \uC790\uB8CC", + MSIESVGWarning: "SVG\uB294 Internet Explorer 9 \uC774\uD558\uB098 IE8 \uC774\uD558\uB97C \uC5D0\uBBAC\uB808\uC774\uD2B8\uB97C \uD560 \uB54C \uAD6C\uD604\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. SVG \uCD9C\uB825\uC73C\uB85C \uC804\uD658\uD558\uB294 \uAC83\uC740 \uC218\uC2DD\uC774 \uC798 \uD45C\uC2DC\uB418\uC9C0 \uC54A\uAC8C \uB9CC\uB4E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", + STIXWeb: "STIX (\uC6F9)", + AsanaMathWeb: "Asana Math (\uC6F9)", + GyrePagellaWeb: "Gyre Pagella (\uC6F9)", + GyreTermesWeb: "Gyre Termes (\uC6F9)", + LatinModernWeb: "Latin Modern (\uC6F9)", + NeoEulerWeb: "Neo Euler (\uC6F9)", + SwitchAnyway: "\uC5B4\uCA0C\uB4E0 \uB80C\uB354\uB7EC\uB97C \uC804\uD658\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?\n\n(\uC804\uD658\uD558\uB824\uBA74 \uD655\uC778\uC744, \uD604\uC7AC \uB80C\uB354\uB7EC\uB85C \uACC4\uC18D\uD558\uB824\uBA74 \uCDE8\uC18C\uB97C \uB204\uB974\uC138\uC694)", + CloseAboutDialog: "MathJax \uC815\uBCF4 \uB300\uD654 \uC0C1\uC790 \uB2EB\uAE30", + FastPreview: "\uACE0\uC18D \uBBF8\uB9AC \uBCF4\uAE30" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ko/TeX.js new file mode 100644 index 00000000..5585f7d8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ko/TeX.js @@ -0,0 +1,66 @@ +/************************************************************* + * + * MathJax/localization/ko/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\uB2EB\uD788\uC9C0 \uC54A\uC740 \uC5EC\uB294 \uAD04\uD638\uAC00 \uC788\uC2B5\uB2C8\uB2E4.", + ExtraCloseMissingOpen: "\uB2EB\uB294 \uAD04\uD638\uAC00 \uCD94\uAC00\uB85C \uB0A8\uC544\uC788\uC2B5\uB2C8\uB2E4.", + MissingLeftExtraRight: "\\left\uAC00 \uC5C6\uAC70\uB098 \\right\uAC00 \uCD94\uAC00\uB85C \uC788\uC2B5\uB2C8\uB2E4", + ExtraLeftMissingRight: "\\left\uAC00 \uCD94\uAC00\uB85C \uC788\uAC70\uB098 \\right\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", + Misplaced: "%1\uC758 \uC704\uCE58\uAC00 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + MissingOpenForSub: "\uC544\uB798 \uCCA8\uC790\uC758 \uC5EC\uB294 \uAD04\uD638\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", + MissingOpenForSup: "\uC704 \uCCA8\uC790\uC758 \uC5EC\uB294 \uAD04\uD638\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", + EnvBadEnd: "\\begin{%1}\uC774 \\end{%2}(\uC73C)\uB85C \uB05D\uB0A9\uB2C8\uB2E4", + EnvMissingEnd: "\\end{%1}\uC774 \uBE60\uC84C\uC2B5\uB2C8\uB2E4", + MissingBoxFor: "%1 \uBC15\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", + MissingCloseBrace: "\uB2EB\uB294 \uAD04\uD638\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", + DoubleExponent: "\uC774\uC911 \uC9C0\uC218: \uBA85\uD655\uC131\uC744 \uC704\uD574 \uAD04\uD638\uB97C \uC0AC\uC6A9\uD558\uC138\uC694", + DoubleSubscripts: "\uC774\uC911 \uC544\uB798 \uCCA8\uC790: \uBA85\uD655\uC131\uC744 \uC704\uD574 \uAD04\uD638\uB97C \uC0AC\uC6A9\uD558\uC138\uC694", + MisplacedMiddle: "%1\uC740 \\left\uC640 \\right \uC0AC\uC774\uC5D0 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4", + MisplacedLimits: "%1\uC740 \uC5F0\uC0B0\uC790\uB9CC \uD5C8\uC6A9\uB429\uB2C8\uB2E4.", + MisplacedMoveRoot: "%1\uC740 \uB8E8\uD2B8 \uC548\uC5D0\uC11C\uB9CC \uB098\uD0C0\uB0A9\uB2C8\uB2E4.", + MultipleCommand: "%1\uC774 \uC911\uBCF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + IntegerArg: "%1\uC5D0 \uB300\uD55C \uC778\uC790\uB294 \uC815\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4.", + MissingArgFor: "%1 \uC778\uC790\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", + InvalidEnv: "\uC62C\uBC14\uB974\uC9C0 \uC54A\uC740 \uD658\uACBD \uC774\uB984 '%1'", + UnknownEnv: "\uC54C \uC218 \uC5C6\uB294 \uD658\uACBD '%1'", + ExtraCloseLooking: "%1\uC744 \uCC3E\uB294 \uB3C4\uC911\uC5D0 \uC5EC\uBD84\uC758 \uB2EB\uB294 \uC911\uAD04\uD638\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", + MissingCloseBracket: "%1\uC758 \uC778\uC790\uC5D0 \uB300\uD574 \uB2EB\uB294 ']' \uAE30\uD638\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", + CommandNotAllowedInEnv: "%1\uC740 %2 \uD658\uACBD\uC5D0\uC11C \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4", + MultipleLabel: "'%1' label\uC774 \uC911\uBCF5\uC73C\uB85C \uC815\uC758\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", + CommandAtTheBeginingOfLine: "%1\uC740 \uC904\uC758 \uCC98\uC74C\uC5D0 \uC640\uC57C \uD569\uB2C8\uB2E4.", + IllegalAlign: "%1\uC5D0 \uC9C0\uC815\uB41C \uC778\uC218\uB294 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + UndefinedColorModel: "'%1' \uC0C9\uC0C1 \uBAA8\uB378\uC774 \uC815\uC758\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.", + ModelArg1: "%1 \uBAA8\uB378\uC5D0 \uB300\uD55C \uC0C9\uC0C1 \uAC12\uC740 3\uAC1C\uC758 \uC218\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.", + InvalidDecimalNumber: "\uC62C\uBC14\uB974\uC9C0 \uC54A\uC740 \uC2ED\uC9C4\uC218", + InvalidNumber: "\uC798\uBABB\uB41C \uC22B\uC790\uC785\uB2C8\uB2E4", + NoClosingChar: "\uB2EB\uB294 \uAD04\uD638 %1\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4", + IllegalControlSequenceName: "%1\uC5D0 \uB300\uD55C \uC81C\uC5B4 \uC2DC\uD000\uC2A4 \uC774\uB984\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + IllegalParamNumber: "%1\uC5D0 \uC9C0\uC815\uB41C \uBCC0\uC218 \uC218\uAC00 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + CantUseHash2: "%1\uC5D0 \uB300\uD55C \uD15C\uD50C\uB9BF\uC5D0 #\uC758 \uC0AC\uC6A9\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4", + UndefinedControlSequence: "\uC815\uC758\uB418\uC9C0 \uC54A\uC740 \uCEE8\uD2B8\uB864 \uC2DC\uD000\uC2A4 %1", + MathNotTerminated: "\uD14D\uC2A4\uD2B8 \uC0C1\uC790\uC5D0\uC11C \uC218\uC2DD\uC774 \uC644\uC131\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4", + MissingCS: "%1 \uC55E\uC5D0 \uCEE8\uD2B8\uB864 \uC2DC\uD000\uC2A4\uAC00 \uC640\uC57C \uD569\uB2C8\uB2E4", + MismatchUseDef: "%1\uC758 \uC0AC\uC6A9\uC774 \uADF8\uAC83\uC758 \uC815\uC758\uC640 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ko/ko.js b/src/py/kaleido/vendor/mathjax/localization/ko/ko.js new file mode 100644 index 00000000..f3456ea4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ko/ko.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/ko/ko.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ko",null,{ + menuTitle: "\uD55C\uAD6D\uC5B4", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax\uAC00 \uC2E4\uD589\uD560 \uCF54\uB4DC\uB97C \uD3EC\uD568\uD558\uB294 \uC0AC\uC6A9\uC790-\uC124\uC815 \uCFE0\uD0A4\uB97C \uCC3E\uC558\uC2B5\uB2C8\uB2E4. \uC2E4\uD589\uD558\uACA0\uC2B5\uB2C8\uAE4C?\n\n(\uCFE0\uD0A4\uB97C \uC2A4\uC2A4\uB85C \uC124\uC815\uD558\uC9C0 \uC54A\uC73C\uBA74 \uCDE8\uC18C\uB97C \uB20C\uB7EC\uC57C \uD569\uB2C8\uB2E4.)", + MathProcessingError: "\uC218\uC2DD \uCC98\uB9AC \uC624\uB958", + MathError: "\uC218\uC2DD \uC624\uB958", + LoadFile: "%1\uC744(\uB97C) \uBD88\uB7EC\uC624\uB294 \uC911", + Loading: "\uBD88\uB7EC\uC624\uB294 \uC911", + LoadFailed: "\uD30C\uC77C\uC744 \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: %1", + ProcessMath: "\uC218\uC2DD \uCC98\uB9AC \uC911: %1%%", + Processing: "\uCC98\uB9AC \uC911", + TypesetMath: "\uC218\uC2DD \uC870\uD310 \uC911: %1%%", + Typesetting: "\uC870\uD310 \uC911", + MathJaxNotSupported: "\uC0AC\uC6A9\uD558\uB294 \uBE0C\uB77C\uC6B0\uC800\uB294 MathJax\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ko/ko.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/lb/FontWarnings.js new file mode 100644 index 00000000..6109607b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lb/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/lb/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/lb/HTML-CSS.js new file mode 100644 index 00000000..d88d5dff --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lb/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/lb/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/lb/HelpDialog.js new file mode 100644 index 00000000..ce86b83c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lb/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/lb/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/MathML.js b/src/py/kaleido/vendor/mathjax/localization/lb/MathML.js new file mode 100644 index 00000000..b47efc1c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lb/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/lb/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/lb/MathMenu.js new file mode 100644 index 00000000..0b39dc23 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lb/MathMenu.js @@ -0,0 +1,55 @@ +/************************************************************* + * + * MathJax/localization/lb/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + MathMLcode: "MathML Code", + OriginalMathML: "Original MathML", + Original: "Original Formulaire", + ErrorMessage: "Feelermessage", + Annotation: "Notiz", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + OpenMath: "OpenMath", + Settings: "Math Astellungen", + Hover: "Driwwerfueren", + Click: "Klicken", + DoubleClick: "Duebel-Klick", + NoZoom: "Kee Zoom", + Option: "Optioun", + Alt: "Alt", + Control: "Ctrl", + Auto: "Automatesch", + TeXImage: "TeX (Bild)", + STIXLocal: "STIX (lokal)", + ContextMenu: "kontextuelle Men\u00FC", + Browser: "Browser", + Locale: "Sprooch", + LoadLocale: "Luede vun der URL ...", + About: "Iwwer MathJax", + Help: "MathJax H\u00EBllef", + LoadURL: "Iwwersetzungsdonn\u00E9e\u00EB vun d\u00EBser URL lueden:", + Close: "Zoumaachen" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/TeX.js b/src/py/kaleido/vendor/mathjax/localization/lb/TeX.js new file mode 100644 index 00000000..3414b561 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lb/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/lb/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lb/lb.js b/src/py/kaleido/vendor/mathjax/localization/lb/lb.js new file mode 100644 index 00000000..77aca3ac --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lb/lb.js @@ -0,0 +1,53 @@ +/************************************************************* + * + * MathJax/localization/lb/lb.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lb",null,{ + menuTitle: "L\u00EBtzebuergesch", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathError: "Math Feeler", + LoadFile: "%1 lueden", + Loading: "Lueden", + LoadFailed: "De Fichier konnt net geluede ginn: %1", + Processing: "Verschaffen", + MathJaxNotSupported: "\u00C4re browser \u00EBnnerst\u00EBtzt MathJax net" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lb/lb.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/lki/FontWarnings.js new file mode 100644 index 00000000..85395668 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lki/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/lki/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0632\u0645\u0627\u0646\u06CC \u062C\u0647\u062A \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0628\u06AF\u06CC\u0631\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0631\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u0633\u062A\u0642\u06CC\u0645 \u062F\u0631 \u067E\u0648\u0634\u0647\u0654 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0633\u06CC\u0633\u062A\u0645\u200C\u0639\u0627\u0645\u0644 \u062E\u0648\u062F \u0642\u0631\u0627\u0631 \u062F\u0647\u06CC\u062F \u0646\u0645\u0627\u06CC\u0634 \u0635\u0641\u062D\u0627\u062A \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u0646\u062F \u0634\u062F.", + imageFonts: "MathJax \u0628\u0647 \u062C\u0627\u06CC \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u062D\u0644\u06CC \u06CC\u0627 \u0648\u0628\u06CC \u0627\u0632 \u062A\u0635\u0627\u0648\u06CC\u0631 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0627\u0632 \u062D\u0627\u0644\u062A \u0639\u0627\u062F\u06CC \u06A9\u0646\u062F\u062A\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u062F\u0631 \u062C\u0632\u0626\u06CC\u0627\u062A \u06A9\u0627\u0645\u0644 \u0686\u0627\u067E\u06AF\u0631 \u0634\u0645\u0627 \u0686\u0627\u067E \u0646\u0634\u0648\u0646\u062F.", + noFonts: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A \u0642\u0644\u0645\u06CC \u06A9\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F \u0631\u0627 \u0628\u06CC\u0627\u0628\u062F \u0648 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0647 \u0627\u06CC\u0646 \u0627\u0645\u06CC\u062F \u06A9\u0647 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u062A\u0648\u0627\u0646\u062F \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627\u06CC \u0631\u06CC\u0627\u0636\u06CC \u0639\u0645\u0648\u0645\u06CC \u0631\u0627 \u0686\u0627\u067E \u06A9\u0646\u062F \u0628\u0647 \u0622\u0646\u200C\u0647\u0627 \u0628\u0627\u0632\u0645\u06CC\u200C\u06AF\u0631\u062F\u062F. \u0628\u0639\u0636\u06CC \u0627\u0632 \u0646\u0648\u06CC\u0633\u0647\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u06CC\u0627 \u0627\u0635\u0644\u0627\u064B \u0628\u0647 \u06A9\u0644 \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + webFonts: "\u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC \u062F\u0647\u0646\u062F \u06A9\u0647 \u0642\u0644\u0645\u200C\u0647\u0627 \u0627\u0632 \u0637\u0631\u06CC\u0642 \u0648\u0628 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0634\u0648\u0646\u062F. \u0628\u0647\u200C\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06CC\u200C\u06A9\u0631\u062F\u0646 \u0628\u0647 \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u062E\u0631\u06CC\u0646 \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0645\u0631\u0648\u0631\u06AF\u0631\u062A\u0627\u0646 (\u06CC\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631) \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u06A9\u06CC\u0641\u06CC\u062A \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", + fonts: "MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u06CC\u0627 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%2) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u0622\u0646\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u062F\u0647\u062F.", + STIXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC\u200C\u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0628\u0647\u0628\u0648\u062F \u06CC\u0627\u0628\u062F.", + TeXPage: "\u0627\u06CC\u0646 \u0635\u0641\u062D\u0647 \u0637\u0631\u0627\u062D\u06CC \u0634\u062F\u0647\u200C\u0627\u0633\u062A \u06A9\u0647 \u06A9\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 MathJax](%1) \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u062F. \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0648 \u0646\u0635\u0628 \u0627\u06CC\u0646 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u062C\u0631\u06CC\u0647\u0654 MathJax \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647\u0628\u0648\u062F \u0645\u06CC\u200C\u0628\u062E\u0634\u062F." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/lki/HTML-CSS.js new file mode 100644 index 00000000..cf8b31be --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lki/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/lki/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0642\u0644\u0645 \u0648\u0628\u06CC %1", + CantLoadWebFont: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u0642\u0644\u0645 \u0648\u0628\u06CC %1 \u0631\u0627 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0631\u062F", + FirefoxCantLoadWebFont: "\u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0631\u0627 \u0627\u0632 \u06CC\u06A9 \u0645\u06CC\u0632\u0627\u0646 \u0627\u0632 \u0631\u0627\u0647 \u062F\u0648\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F", + CantFindFontUsing: "\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646 \u06CC\u06A9 \u0642\u0644\u0645 \u0645\u0639\u062A\u0628\u0631 \u0628\u0627\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 %1 \u06CC\u0627\u0641\u062A", + WebFontsNotAvailable: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC \u0646\u0627\u0645\u0648\u062C\u0648\u062F\u0646\u062F -- \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC \u0628\u0647 \u062C\u0627\u06CC \u0622\u0646" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/lki/HelpDialog.js new file mode 100644 index 00000000..34b2d63a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lki/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/lki/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", + MathJax: "*MathJax* \u06CC\u06A9 \u06A9\u062A\u0627\u0628\u062E\u0627\u0646\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0646\u0648\u06CC\u0633\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u0635\u0641\u062D\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u062F\u0631\u0648\u0646 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC \u0642\u0631\u0627\u0631 \u062F\u0647\u0646\u062F. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062E\u0648\u0627\u0646\u0646\u062F\u0647\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u0646\u062F\u0627\u0631\u06CC\u062F \u06A9\u0627\u0631\u06CC \u0627\u0646\u062C\u0627\u0645 \u062F\u0647\u06CC\u062F \u06A9\u0647 \u0627\u06CC\u0646 \u0627\u062A\u0641\u0627\u0642 \u0628\u06CC\u0641\u062A\u062F.", + Browsers: "*\u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627*: MathJax \u0628\u0627 \u0647\u0645\u0647\u0654 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0631\u0648\u0632 \u0634\u0627\u0645\u0644 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u06F3 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u06A9\u0631\u0648\u0645 \u06F0.\u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0633\u0627\u0641\u0627\u0631\u0633\u06CC \u06F2 \u0628\u0647 \u0628\u0627\u0644\u0627\u060C \u0627\u067E\u0631\u0627\u06CC \u06F9.\u06F6 \u0628\u0647 \u0628\u0627\u0644\u0627 \u0648 \u0627\u06A9\u062B\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u062A\u0644\u0641\u0646 \u0647\u0645\u0631\u0627\u0647 \u06A9\u0627\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F.", + Menu: "*\u0645\u0646\u0648\u06CC \u0631\u06CC\u0627\u0636\u06CC*: MathJax \u06CC\u06A9 \u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC \u0628\u0647 \u0645\u0639\u0627\u062F\u0644\u0627\u062A \u0645\u06CC\u200C\u0627\u0641\u0632\u0627\u06CC\u062F. \u0628\u0627 \u06A9\u0644\u06CC\u06A9 \u0631\u0627\u0633\u062A \u06CC\u0627 \u06A9\u0644\u06CC\u06A9 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u0647\u0627\u0631 (CTRL) \u062F\u0631 \u0647\u0631 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0627\u06CC \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0647 \u0627\u06CC\u0646 \u0645\u0646\u0648 \u062F\u0633\u062A \u0628\u06CC\u0627\u0628\u06CC\u062F.", + ShowMath: "*\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC \u0628\u0647 \u0639\u0646\u0648\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u06A9\u0647 \u0634\u0645\u0627 \u0645\u0646\u0628\u0639 \u0646\u0634\u0627\u0646\u0647\u200C\u06AF\u0630\u0627\u0631\u06CC \u0641\u0631\u0645\u0648\u0644 \u0631\u0627 \u0628\u0631\u0627\u06CC \u0631\u0648\u0646\u0648\u0634\u062A \u0648 \u0686\u0633\u067E\u0627\u0646\u062F\u0646 \u0628\u0628\u06CC\u0646\u06CC\u062F (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 MathML \u06CC\u0627 \u062F\u0631 \u0642\u0627\u0644\u0628 \u0627\u0635\u0644\u06CC \u0622\u0646).", + Settings: "*\u062A\u0646\u0638\u06CC\u0645\u0627\u062A* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0628\u0647 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC MathJax \u0627\u0632 \u062C\u0645\u0644\u0647\u0654 \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u0648 \u0645\u06A9\u0627\u0646\u06CC\u0632\u0645 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627 \u06A9\u0646\u062A\u0631\u0644 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F.", + Language: "*\u0632\u0628\u0627\u0646* \u0627\u062C\u0627\u0632\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F \u0634\u0645\u0627 \u0632\u0628\u0627\u0646 \u0627\u0633\u062A\u0641\u0627\u062F\u0647\u200C\u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0628\u0631\u0627\u06CC \u0645\u0646\u0648\u0647\u0627 \u0648 \u067E\u06CC\u063A\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627 \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F.", + Zoom: "*\u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u06CC\u0627\u0636\u06CC*: \u0627\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0627 \u062E\u0648\u0627\u0646\u062F\u0646 \u06CC\u06A9 \u0645\u0639\u0627\u062F\u0644\u0647 \u0645\u0634\u06A9\u0644\u06CC \u062F\u0627\u0631\u06CC\u062F\u060C MathJax \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 \u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0628\u0647 \u062F\u06CC\u062F\u0646 \u0634\u0645\u0627 \u06A9\u0645\u06A9 \u06A9\u0646\u062F.", + Accessibilty: "*\u062F\u0633\u062A\u06CC\u0627\u0628\u06CC\u200C\u067E\u0630\u06CC\u0631\u06CC*: MathJax \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u062E\u0648\u062F\u06A9\u0627\u0631 \u0628\u0627 \u0635\u0641\u062D\u0647\u200C\u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0631\u0627 \u0628\u0631\u0627\u06CC \u0642\u0627\u0628\u0644 \u062F\u0633\u062A\u0631\u0633 \u0628\u0631\u0627\u06CC \u06A9\u0633\u0627\u0646\u06CC \u06A9\u0647 \u0645\u0634\u06A9\u0644 \u0628\u06CC\u0646\u0627\u06CC\u06CC \u062F\u0627\u0631\u0646\u062F \u0639\u0645\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F.", + Fonts: "*\u0642\u0644\u0645\u200C\u0647\u0627*: MathJax \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0645\u0634\u062E\u0635\u06CC \u0627\u06AF\u0631 \u0628\u0631 \u0631\u0648\u06CC \u0631\u0627\u06CC\u0627\u0646\u0647\u0654 \u0634\u0645\u0627 \u0646\u0635\u0628 \u0628\u0627\u0634\u0646\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u06A9\u0646\u062F\u061B \u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0628\u0631 \u067E\u0627\u06CC\u0647\u0654 \u0648\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0627\u06AF\u0631\u0686\u0647 \u0646\u06CC\u0627\u0632\u06CC \u0646\u06CC\u0633\u062A\u060C \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0646\u0635\u0628\u200C\u0634\u062F\u0647 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0646\u0645\u0627\u06CC\u0634 \u0631\u0627 \u0633\u0631\u06CC\u0639\u062A\u0631 \u062E\u0648\u0627\u0647\u062F \u06A9\u0631\u062F. \u0645\u0627 \u0646\u0635\u0628 [\u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX](%1) \u0631\u0627 \u067E\u06CC\u0634\u0646\u0647\u0627\u062F \u0645\u06CC\u200C\u06A9\u0646\u06CC\u0645." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/MathML.js b/src/py/kaleido/vendor/mathjax/localization/lki/MathML.js new file mode 100644 index 00000000..09236ea9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lki/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/lki/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", + BadMglyphFont: "\u0642\u0644\u0645 \u0646\u0627\u0645\u0646\u0627\u0633\u0628: %1", + MathPlayer: "MathJax \u0646\u062A\u0648\u0627\u0646\u0633\u062A MathPlayer \u0631\u0627 \u0631\u0627\u0647\u200C\u0627\u0646\u062F\u0627\u0632\u06CC \u06A9\u0646\u062F.\n\n\u0627\u06AF\u0631 MathPlayer \u0646\u0635\u0628 \u0646\u06CC\u0633\u062A\u060C \u0634\u0645\u0627 \u0646\u06CC\u0627\u0632 \u062F\u0627\u0631\u06CC\u062F \u06A9\u0647 \u0627\u0628\u062A\u062F\u0627 \u0622\u0646 \u0631\u0627 \u0646\u0635\u0628 \u06A9\u0646\u06CC\u062F.\n\u062F\u0631 \u063A\u06CC\u0631 \u0627\u06CC\u0646 \u0635\u0648\u0631\u062A\u060C \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u0634\u0645\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0627\u0632 \u0627\u062C\u0631\u0627\u06CC\n\u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633 \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u06A9\u0646\u062F. \u0627\u0632 \u06AF\u0632\u06CC\u0646\u0647\u200C\u0647\u0627\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0645\u0648\u062C\u0648\u062F \u0632\u06CC\u0631\n\u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u0628\u0631\u06AF\u0647\u0654 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F\u060C \u0633\u067E\u0633 \u062F\u06A9\u0645\u0647\u0654\n\u0645\u0631\u062C\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u0631\u0627 \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F. \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u062C\u0631\u0627\u06CC\n\u00AB\u0627\u062C\u0631\u0627\u06CC \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\u00BB \u0648 \u00AB\u0631\u0641\u062A\u0627\u0631\u0647\u0627\u06CC \u062F\u0648\u062F\u0648\u06CC\u06CC \u0648 \u0627\u0633\u06A9\u0631\u06CC\u067E\u062A\u00BB \u0641\u0639\u0627\u0644\n\u0647\u0633\u062A\u0646\u062F.\n\n\u062F\u0631 \u062D\u0627\u0644 \u062D\u0627\u0636\u0631 \u0634\u0645\u0627 \u0628\u0647 \u062C\u0627\u06CC \u062D\u0631\u0648\u0641 \u0631\u06CC\u0627\u0636\u06CC \u067E\u06CC\u0627\u0645\u200C\u0647\u0627\u06CC \u062E\u0637\u0627\u06CC \u062E\u0648\u0627\u0647\u06CC\u062F \u062F\u06CC\u062F.", + CantCreateXMLParser: "MathJax \u0646\u062A\u0648\u0627\u0633\u062A \u06CC\u06A9 \u062A\u062C\u0632\u06CC\u0647\u200C\u06AF\u0631 \u0627\u06A9\u0633\u200C\u0627\u0645\u200C\u0627\u0644 \u0628\u0631\u0627\u06CC MathML \u0627\u06CC\u062C\u0627\u062F \u06A9\u0646\u062F.\n\u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0627\u0645\u0646\u06CC\u062A\u06CC \u00AB\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u06A9\u0646\u062A\u0631\u0644\u200C\u0647\u0627\u06CC \u0627\u06A9\u062A\u06CC\u0648\u0627\u06A9\u0633\n\u0639\u0644\u0627\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC\u200C\u0634\u062F\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u0645\u0646 \u0628\u0631\u0627\u06CC \u06A9\u062F\u0632\u0646\u06CC\u00BB \u0641\u0639\u0627\u0644 \u0627\u0633\u062A (\u0627\u0632\n\u06AF\u0632\u06CC\u0646\u0647\u0654 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u06AF\u0632\u06CC\u0646\u0647 \u062F\u0631 \u0645\u0646\u0648\u06CC \u0627\u0628\u0632\u0627\u0631\u0647\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F \u0648 \u067E\u0646\u0644 \u0627\u0645\u0646\u06CC\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628\n\u06A9\u0646\u06CC\u062F \u0648 \u062F\u06A9\u0645\u0647\u0654 \u0645\u0631\u062D\u0644\u0647\u0654 \u0633\u0641\u0627\u0631\u0634\u06CC \u062A\u0627 \u0627\u06CC\u0646 \u0631\u0627 \u0628\u0631\u0631\u0633\u06CC \u06A9\u0646\u06CC\u062F).\n\n\u0645\u0639\u0627\u062F\u0644\u0647\u200C\u0647\u0627\u06CC MathML \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u0646\u062F \u062A\u0648\u0633\u0637 MathJax \u067E\u0631\u062F\u0627\u0632\u0634 \u06AF\u0631\u062F\u0646\u062F.", + UnknownNodeType: "\u0646\u0648\u0639 \u06AF\u0631\u0647\u0654 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647: %1", + UnexpectedTextNode: "\u06AF\u0631\u0647\u0654 \u0645\u062A\u0646\u06CC \u063A\u06CC\u0631\u0645\u0646\u062A\u0638\u0631\u0647:\u200C %1", + ErrorParsingMathML: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML", + ParsingError: "\u062E\u0637\u0627\u06CC \u062A\u062C\u0632\u06CC\u0647\u0654 MathML\u200F: %1", + MathMLSingleElement: "MathML \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0648\u0627\u062D\u062F \u0628\u06CC\u0627\u06CC\u062F", + MathMLRootElement: "MathML \u0628\u0627\u06CC\u062F \u062A\u0648\u0633\u0637 \u0639\u0646\u0635\u0631 \u003Cmath\u003E \u062A\u0634\u06A9\u06CC\u0644 \u0634\u062F\u0647 \u0628\u0627\u0634\u062F \u0646\u0647 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/lki/MathMenu.js new file mode 100644 index 00000000..e29852b5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lki/MathMenu.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/localization/lki/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u0646\u0645\u0627\u06CC\u0634 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u0639\u0646\u0648\u0627\u0646", + MathMLcode: "\u06A9\u062F MathML", + OriginalMathML: "MathML \u0627\u0635\u0644\u06CC", + TeXCommands: "\u062F\u0633\u062A\u0648\u0631\u0627\u062A \u062A\u06A9", + AsciiMathInput: "\u0648\u0631\u0648\u062F\u06CC AsciiMathML", + Original: "\u062D\u0627\u0644\u062A \u0627\u0635\u0644\u06CC", + ErrorMessage: "\u067E\u06CC\u063A\u0648\u0645 \u062E\u0637\u0627", + Annotation: "\u06CC\u0627\u062F\u062F\u0627\u0634\u062A/\u0648\u06CC\u0631\u0646\u06C6\u06CC\u0633\u0629", + TeX: "\u062A\u06A9", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML \u0646\u06C6\u0645 \u062C\u0650\u06A9(\u0645\u062D\u062A\u0648\u0627)", + OpenMath: "OpenMath", + texHints: "\u0646\u0645\u0627\u06CC\u0634 \u0646\u06A9\u062A\u0647\u200C\u0647\u0627\u06CC \u062A\u06A9 \u062F\u0631 MathML", + Settings: "\u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A", + ZoomTrigger: "\u0645\u0627\u0634\u0647\u0654 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + Hover: "\u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC \u0622\u0646", + Click: "\u06A9\u0650\u0644\u06CC\u06A9 \u06A9\u0629", + DoubleClick: "\u062F\u0648 \u06AF\u0650\u0644/\u0628\u0627\u0631 \u06A9\u0644\u06CC\u06A9", + NoZoom: "\u0628\u062F\u0648\u0646 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + TriggerRequires: "\u062A\u063A\u06CC\u06CC\u0631 \u062D\u0627\u0644\u062A \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A \u0628\u0647:", + Option: "\u06AF\u0632\u06CC\u0646\u0647", + Alt: "\u062F\u06AF\u0631\u0633\u0627\u0632", + Command: "\u062F\u0633\u062A\u0648\u0631", + Control: "\u06A9\u0646\u062A\u0631\u0644", + Shift: "\u062A\u0628\u062F\u06CC\u0644", + ZoomFactor: "\u0636\u0631\u06CC\u0628 \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC", + Renderer: "\u0627\u0631\u0627\u0626\u0647\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC", + MPHandles: "\u0627\u062C\u0627\u0632\u0647\u200C\u0628\u062F\u0647 MathPlayer \u0645\u062F\u06CC\u0631\u06CC\u062A \u06A9\u0646\u062F:", + MenuEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0646\u0648", + MouseEvents: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647", + MenuAndMouse: "\u0631\u0648\u06CC\u062F\u0627\u062F\u0647\u0627\u06CC \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0648 \u0645\u0646\u0648", + FontPrefs: "\u062A\u0645\u0627\u0631\u0632\u0648\u0648\u06D5\u0644(\u062A\u0631\u062C\u06CC\u062D\u0627\u062A)\u0641\u0648\u0648\u0646\u062A", + ForHTMLCSS: "\u0628\u0631\u0627\u06CC \u0627\u0686\u200C\u062A\u06CC\u200C\u0627\u0645\u200C\u0627\u0644-\u0633\u06CC\u200C\u0627\u0633\u200C\u0627\u0633:", + Auto: "\u062E\u0648\u062F\u06A9\u0627\u0631", + TeXLocal: "\u062A\u06A9 (\u0645\u062D\u0644\u06CC)", + TeXWeb: "\u062A\u06A9 (\u0648\u0628)", + TeXImage: "\u062A\u06A9 (\u0646\u06AF\u0627\u0631\u0647)", + STIXLocal: "STIX (\u0645\u062D\u0644\u06CC)", + STIXWeb: "STIX (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + AsanaMathWeb: "\u0631\u06CC\u0627\u0636\u06CC \u0622\u0633\u0627\u0646\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + GyrePagellaWeb: "\u06AF\u0631\u06CC \u067E\u0627\u06AF\u0644\u0627 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + GyreTermesWeb: "\u06AF\u06CC\u0631 \u062A\u0631\u0645\u0632 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + LatinModernWeb: "\u0644\u0627\u062A\u06CC\u0646 \u0645\u062F\u0631\u0646 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + NeoEulerWeb: "\u0646\u0626\u0648 \u0627\u0648\u06CC\u0644\u0631 (\u0648\u0628\u200C\u0633\u0627\u06CC\u062A)", + ContextMenu: "\u0645\u0646\u0648 \u0645\u062A\u0646\u06CC", + Browser: "\u0645\u0650\u0646\u0650\u06CC -\u06AF\u06C0\u0634\u062A\u0646", + Scale: "\u0645\u0642\u06CC\u0627\u0633\u200C\u062F\u0647\u06CC \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A ...", + Discoverable: "\u0628\u0631\u062C\u0633\u062A\u0647\u200C\u0634\u062F\u0646 \u0628\u0627 \u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0646 \u0645\u0648\u0634\u0648\u0627\u0631\u0647 \u0628\u0631 \u0631\u0648\u06CC\u0634", + Locale: "\u0632\u0648\u0648\u0646", + LoadLocale: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC ...", + About: "\u062F\u0631\u0628\u0627\u0631\u0647\u0654 MathJax", + Help: "\u0631\u0627\u0647\u0646\u0645\u0627\u06CC MathJax", + localTeXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u06A9 \u0645\u062D\u0644\u06CC", + webTeXfonts: "\u0628\u0627 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645 \u0648\u0628\u06CC \u062A\u06A9", + imagefonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u062A\u0635\u0648\u06CC\u0631\u06CC", + localSTIXfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC STIX \u0645\u062D\u0644\u06CC", + webSVGfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0648\u0628\u06CC SVG", + genericfonts: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0642\u0644\u0645\u200C\u0647\u0627\u06CC \u0639\u0645\u0648\u0645\u06CC \u06CC\u0648\u0646\u06CC\u06A9\u062F", + wofforotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC woff \u06CC\u0627 otf", + eotffonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC eot", + svgfonts: "\u0642\u0644\u0645\u200C\u0647\u0627\u06CC svg", + WebkitNativeMMLWarning: "\u0628\u0647 \u0646\u0638\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathML \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F\u060C \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0631\u0641\u062A\u0646 \u0628\u0647 \u062D\u0627\u0644\u062A \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u06A9\u0647 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0635\u0641\u062D\u0647 \u063A\u06CC\u0631\u0642\u0627\u0628\u0644 \u062E\u0648\u0627\u0646\u062F\u0646 \u0634\u0648\u0646\u062F.", + MSIENativeMMLWarning: "\u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0628\u0647 \u0627\u0641\u0632\u0627\u06CC\u0647\u0654 MathPlayer \u0628\u0631\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u062E\u0631\u0648\u062C\u06CC MathML \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u0627\u0633\u062A.", + OperaNativeMMLWarning: "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0627\u067E\u0631\u0627 \u0627\u0632 MathML \u0645\u062D\u062F\u0648\u062F \u0627\u0633\u062A \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC MathML \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0646\u0645\u0627\u06CC\u0634 \u0636\u0639\u06CC\u0641 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0634\u0648\u062F.", + SafariNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647 \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u0627\u062A \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0646\u062F.", + FirefoxNativeMMLWarning: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0628\u0647\u200C\u0635\u0648\u0631\u062A \u0645\u062D\u0644\u06CC \u0647\u0645\u0647\u0654 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647\u0654 MathML \u062A\u0648\u0633\u0637 MathJax \u0631\u0627 \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F \u0628\u0646\u0627\u0628\u0631\u0627\u06CC\u0646 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0639\u0628\u0627\u0631\u062A\u200C\u0647\u0627 \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0647 \u062E\u0648\u0628\u06CC \u062F\u06CC\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + MSIESVGWarning: "SVG \u062F\u0631 \u0627\u06CC\u0646\u062A\u0631\u0646\u062A \u0627\u06A9\u0633\u067E\u0644\u0648\u0631\u0631 \u0642\u0628\u0644 \u0627\u0632 \u0646\u0633\u062E\u0647\u0654 \u06F9 \u0622\u0646 \u06CC\u0627 \u0648\u0642\u062A\u06CC \u06A9\u0647 \u0634\u0628\u06CC\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0633\u062E\u0647\u200C\u0647\u0627\u06CC \u0642\u0628\u0644\u06CC \u0631\u0627 \u0645\u06CC\u200C\u06A9\u0646\u062F \u067E\u06CC\u0627\u062F\u0647\u200C\u0633\u0627\u0632\u06CC \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A. \u0627\u0646\u062A\u062E\u0627\u0628 \u062E\u0631\u0648\u062C\u06CC SVG \u0645\u0645\u06A9\u0646 \u0627\u0633\u062A \u0628\u0627\u0639\u062B \u0634\u0648\u062F \u06A9\u0647 \u0628\u0639\u0636\u06CC \u0627\u0632 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A \u0628\u0647 \u062F\u0631\u0633\u062A\u06CC \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0646\u0634\u0648\u0646\u062F.", + LoadURL: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647 \u0627\u0632 \u0627\u06CC\u0646 \u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC:", + BadURL: "\u0646\u0634\u0627\u0646\u06CC \u0627\u06CC\u0646\u062A\u0631\u0646\u062A\u06CC \u0628\u0631\u0627\u06CC \u067E\u0631\u0648\u0646\u062F\u0647\u0654 \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u067E\u062A\u06CC \u0627\u0633\u062A \u06A9\u0647 \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC MathJax \u0631\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0645\u06CC\u200C\u06A9\u0646\u062F. \u067E\u0631\u0648\u0646\u062F\u0647\u200C\u0647\u0627\u06CC \u062C\u0627\u0648\u0627\u0627\u0633\u06A9\u0631\u06CC\u067E\u062A \u0628\u0627 \u067E\u0633\u0648\u0646\u062F '.js' \u062A\u0645\u0627\u0645 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F.", + BadData: "\u0634\u06A9\u0633\u062A \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062A\u0631\u062C\u0645\u0647\u200C\u0627\u06CC \u0627\u0632 %1", + SwitchAnyway: "(\u0628\u0631 \u00AB\u0628\u0627\u0634\u062F\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u0648\u062F \u0648 \u0628\u0631 \u00AB\u0644\u063A\u0648\u00BB \u0641\u0634\u0627\u0631 \u062F\u0647\u06CC\u062F \u062A\u0627 \u0646\u0645\u0627\u06CC\u0634\u200C\u062F\u0647\u0646\u062F\u0647\u0654 \u0641\u0639\u0644\u06CC \u0627\u062F\u0627\u0645\u0647 \u06CC\u0627\u0628\u062F)", + ScaleMath: "\u0645\u0642\u06CC\u0627\u0633 \u0647\u0645\u0647\u0654 \u0631\u06CC\u0627\u0636\u06CC\u0627\u062A (\u062F\u0631 \u0645\u0642\u0627\u06CC\u0633\u0647 \u0628\u0627 \u0645\u062A\u0646 \u0627\u0637\u0631\u0627\u0641) \u062A\u0648\u0633\u0637", + NonZeroScale: "\u0645\u0642\u06CC\u0627\u0633 \u0646\u0628\u0627\u06CC\u062F \u0635\u0641\u0631 \u0628\u0627\u0634\u062F", + PercentScale: "\u0645\u0642\u06CC\u0627\u0633 \u0628\u0627\u06CC\u062F \u062F\u0631\u0635\u062F\u06CC \u0628\u0627\u0634\u062F (\u0628\u0631\u0627\u06CC \u0646\u0645\u0648\u0646\u0647 \u06F1\u06F2\u06F0\u066A)", + IE8warning: "\u0627\u06CC\u0646 \u0645\u0646\u0648\u06CC MathJax \u0648 \u0642\u0627\u0628\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u06A9\u0648\u0686\u06A9/\u0628\u0632\u0631\u06AF\u200C\u0646\u0645\u0627\u06CC\u06CC \u0631\u0627 \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0622\u0648\u0631\u06CC\u062F.\n\n\u0648\u0627\u0642\u0639\u0627\u064B \u0645\u06CC\u200C\u062E\u0648\u0627\u0647\u06CC\u062F \u062A\u0646\u0638\u06CC\u0645\u0627\u062A MathPlayer \u0631\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u062F\u0647\u06CC\u062F\u061F", + IE9warning: "\u0645\u0646\u0648\u06CC \u0645\u062A\u0646\u06CC MathJax \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u062E\u0648\u0627\u0647\u062F \u0634\u062F \u0648\u0644\u06CC \u0634\u0645\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u0628\u0627 Alt-Click \u0628\u0631 \u0631\u0648\u06CC \u0639\u0628\u0627\u0631\u062A \u0645\u0646\u0648\u06CC MathJax \u0631\u0627 \u0628\u062F\u0633\u062A \u0628\u06CC\u0627\u0648\u0631\u06CC\u062F.", + NoOriginalForm: "\u062D\u0627\u0644\u062A \u0627\u0648\u0644\u0628\u0647 \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A", + Close: "\u0626\u0622\u0646\u06CC\u0627\u0626\u0646-\u0628\u0633\u062A\u0650\u0646", + EqSource: "\u0645\u0646\u0628\u0639 \u0645\u0639\u0627\u062F\u0644\u0647\u0654 MathJax" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/TeX.js b/src/py/kaleido/vendor/mathjax/localization/lki/TeX.js new file mode 100644 index 00000000..06e2b4d5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lki/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/lki/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647", + ExtraCloseMissingOpen: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u0647 \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632", + MissingLeftExtraRight: "\u0641\u0642\u062F\u0627\u0646 \u200E\\left \u06CC\u0627 \u200E\\right \u0627\u0636\u0627\u0641\u06CC", + MissingScript: "\u0641\u0642\u062F\u0627\u0646 \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0627\u0644\u0627\u0645\u062A\u0646 \u06CC\u0627 \u0632\u06CC\u0631\u0645\u062A\u0646", + ExtraLeftMissingRight: "\u200E\\left \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \u0641\u0642\u062F\u0627\u0646 \u200E\\right", + Misplaced: "%1 \u0646\u0627\u0628\u062C\u0627", + MissingOpenForSub: "\u0641\u0642\u062F\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u0628\u0631\u0627\u06CC \u0632\u06CC\u0631\u0645\u062A\u0646", + MissingOpenForSup: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0627\u0632 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u0628\u0627\u0644\u0627\u0645\u062A\u0646", + AmbiguousUseOf: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0645\u0628\u0647\u0645 \u0627\u0632 \u200E%1", + EnvBadEnd: "\u200E\\begin{%1}\u200E \u067E\u0627\u06CC\u0627\u0646\u200C\u06CC\u0627\u0641\u062A\u0647 \u0628\u0627 \u200E\\end{%2}\u200E", + EnvMissingEnd: "\u200E\\end{%1}\u200E \u06AF\u0645\u200C\u0634\u062F\u0647", + MissingBoxFor: "\u062C\u0639\u0628\u0647\u0654 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + MissingCloseBrace: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0645\u0641\u0642\u0648\u062F", + UndefinedControlSequence: "\u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644 \u062A\u0639\u0631\u06CC\u0641\u200C\u0646\u0634\u062F\u0647\u0654 %1", + DoubleExponent: "\u062A\u0648\u0627\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleSubscripts: "\u0632\u06CC\u0631\u0645\u062A\u0646 \u062F\u0648\u0645: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + DoubleExponentPrime: "\u062A\u0648\u0627\u0646 \u062F\u0648 \u0645\u0648\u062C\u0628 \u062A\u0648\u0627\u0646 \u0645\u0636\u0627\u0639\u0641 \u0634\u062F: \u0627\u0632 \u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0631\u0627\u06CC \u0631\u0648\u0634\u0646\u200C\u0633\u0627\u0632\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + CantUseHash1: "\u0634\u0645\u0627 \u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u00AB\u0645\u0627\u06A9\u0631\u0648 \u0646\u0648\u06CC\u0633\u0647\u0654 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 #\u00BB \u062F\u0631 \u062D\u0627\u0644\u062A \u0631\u06CC\u0627\u0636\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u06A9\u0646\u06CC\u062F", + MisplacedMiddle: "\u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0631\u0648\u0646 \u200E\\left \u0648 \u200E\\right \u0646\u0648\u0634\u062A\u0647\u200C\u0634\u0648\u062F", + MisplacedLimits: "\u200E%1 \u0641\u0642\u0637 \u062F\u0631 \u0639\u0645\u0644\u06AF\u0631\u0647\u0627 \u0645\u062C\u0627\u0632 \u0627\u0633\u062A", + MisplacedMoveRoot: "\u200E%1 \u062A\u0646\u0647\u0627 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062F\u0631\u0648\u0646 \u06CC\u06A9 \u0631\u06CC\u0634\u0647 \u0638\u0627\u0647\u0631 \u0634\u0648\u062F", + MultipleCommand: "\u200E%1 \u0686\u0646\u062F\u06AF\u0627\u0646\u0647", + IntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u0628\u0627\u0634\u062F", + NotMathMLToken: "%1 \u06CC\u06A9 \u0639\u0646\u0635\u0631 \u0646\u0634\u0627\u0646 \u0646\u06CC\u0633\u062A", + InvalidMathMLAttr: "\u0648\u06CC\u0698\u06AF\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 MathML: %1", + UnknownAttrForElement: "%1 \u06CC\u06A9 \u0648\u06CC\u0698\u06AF\u06CC \u0634\u0646\u0627\u062E\u062A\u0647\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %2 \u0646\u06CC\u0633\u062A", + MaxMacroSub1: "\u0627\u0632 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u0634\u0645\u0627\u0631 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u0647\u0627\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + MaxMacroSub2: "\u0627\u0632 \u0634\u0645\u0627\u0631 \u0628\u06CC\u0634\u06CC\u0646\u0647\u0654 \u062A\u0639\u062F\u0627\u062F \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646\u06CC MathJax \u0639\u0628\u0648\u0631 \u0634\u062F\u0647\u200C\u0627\u0633\u062A\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0645\u062D\u06CC\u0637 \u0644\u06CC\u062A\u06A9 \u0628\u0627\u0632\u0634\u062A\u06AF\u06CC \u0645\u0648\u062C\u0648\u062F \u0627\u0633\u062A\u061F", + MissingArgFor: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC %1", + ExtraAlignTab: "\u0628\u0631\u06AF\u0647\u0654 \u0686\u06CC\u0646\u0634 \u0627\u0636\u0627\u0641\u06CC \u062F\u0631 \u0645\u062A\u0646 \u200E\\cases", + BracketMustBeDimension: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0622\u06A9\u0648\u0644\u0627\u062F \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0628\u0639\u062F \u0628\u0627\u0634\u062F", + InvalidEnv: " \u0646\u0627\u0645 \u0645\u062D\u06CC\u0637 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u00AB%1\u00BB", + UnknownEnv: "\u0645\u062D\u06CC\u0637 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u00AB%1\u00BB", + ExtraCloseLooking: "\u0622\u06A9\u0648\u0644\u0627\u062F \u0628\u0633\u062A\u0647\u0654 \u0627\u0636\u0627\u0641\u06CC \u0647\u0646\u06AF\u0627\u0645 \u062C\u0633\u062A\u062C\u0648\u06CC %1", + MissingCloseBracket: "\u00AB]\u00BB \u0628\u0633\u062A\u0647 \u0628\u0631\u0627\u06CC \u0646\u0634\u0627\u0646\u0648\u0646\u062F \u200E%1 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MissingOrUnrecognizedDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647 \u06AF\u0645\u200C\u0634\u062F\u0647 \u06CC\u0627 \u0646\u0627\u0634\u0646\u0627\u062E\u062A\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + MissingDimOrUnits: "\u0627\u0628\u0639\u0627\u062F \u06CC\u0627 \u0648\u0627\u062D\u062F \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u200E%1", + TokenNotFoundForCommand: "%1 \u0628\u0631\u0627\u06CC %2 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + MathNotTerminated: "\u0631\u06CC\u0627\u0636\u06CC \u062F\u0631 \u062C\u0639\u0628\u0647\u0654 \u0645\u062A\u0646 \u067E\u0627\u06CC\u0627\u0646 \u0646\u06CC\u0627\u0641\u062A\u0647\u200C\u0627\u0633\u062A", + IllegalMacroParam: "\u0627\u0631\u062C\u0627\u0639 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u0645\u0627\u06A9\u0631\u0648\u06CC \u0646\u0627\u0645\u062C\u0627\u0632", + MaxBufferSize: "\u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0645\u06CC\u0627\u0646\u06AF\u06CC\u0631 \u062F\u0627\u062E\u0644\u06CC MathJax \u06AF\u0630\u0634\u062A\u0647 \u0634\u062F\u0647\u061B \u0622\u06CC\u0627 \u06CC\u06A9 \u0641\u0631\u0627\u062E\u0648\u0627\u0646\u06CC \u0645\u0627\u06A9\u0631\u0648\u06CC \u0628\u0627\u0632\u06AF\u0634\u062A\u06CC \u0648\u062C\u0648\u062F \u062F\u0627\u0631\u062F\u061F", + CommandNotAllowedInEnv: "\u200E%1 \u062F\u0631 \u0645\u062D\u06CC\u0637 \u200E%2 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A", + MultipleLabel: "\u0628\u0631\u0686\u0633\u067E \u00AB%1\u00BB \u0686\u0646\u062F\u0628\u0627\u0631 \u062A\u0639\u0631\u06CC\u0641\u200C\u0634\u062F\u0647", + CommandAtTheBeginingOfLine: "%1 \u0628\u0627\u06CC\u062F \u062F\u0631 \u0634\u0631\u0648\u0639 \u062E\u0637 \u0628\u06CC\u0627\u06CC\u062F", + IllegalAlign: "\u0686\u06CC\u0646\u0634 \u0645\u0634\u062E\u0635\u200C\u0634\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u062F\u0631 \u200E%1", + BadMathStyleFor: "\u0633\u0628\u06A9 \u0628\u062F \u0631\u06CC\u0627\u0636\u06CC \u0628\u0631\u0627\u06CC \u200E%1", + PositiveIntegerArg: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0628\u0647 \u200E%1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u0639\u062F\u062F \u0645\u062B\u0628\u062A \u0628\u0627\u0634\u062F", + ErroneousNestingEq: "\u0633\u0627\u062E\u062A\u0627\u0631\u0647\u0627\u06CC \u0627\u0634\u062A\u0628\u0627\u0647 \u062A\u0648\u062F\u0631\u062A\u0648\u06CC \u0645\u0639\u0627\u062F\u0644\u0647", + MultlineRowsOneCol: "\u0633\u0637\u0631 \u062F\u0631\u0648\u0646 \u0645\u062D\u06CC\u0637 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u062F\u0642\u06CC\u0642\u0627\u064B \u06CC\u06A9 \u0633\u062A\u0648\u0646 \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F", + MultipleBBoxProperty: "%1 \u062F\u0648\u0628\u0627\u0631 \u062F\u0631 \u200E%2 \u062A\u0639\u0631\u06CC\u0641 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + InvalidBBoxProperty: "'%1' \u0628\u0647 \u0646\u0638\u0631 \u06CC\u06A9 \u0631\u0646\u06AF\u060C \u0627\u0646\u062F\u0627\u0632\u0647\u0654 \u0628\u0627\u0644\u0634\u062A\u06A9 \u06CC\u0627 \u0633\u0628\u06A9 \u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06CC\u200C\u0631\u0633\u062F", + ExtraEndMissingBegin: "\u200E%1 \u0627\u0636\u0627\u0641\u06CC \u06CC\u0627 \\begingroup \u06AF\u0645\u200C\u0634\u062F\u0647", + GlobalNotFollowedBy: "\u200E%1 \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u200E\\let\u060C \u200E\\def \u06CC\u0627 \u200E\\newcommand \u0646\u06CC\u0627\u0645\u062F\u0647\u200C\u0627\u0633\u062A", + UndefinedColorModel: "\u0645\u062F\u0644 \u0631\u0646\u06AF\u06CC '%1' \u062A\u0639\u0631\u06CC\u0641 \u0646\u0634\u062F\u0647\u200C\u0627\u0633\u062A", + ModelArg1: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0646\u06CC\u0627\u0632\u0645\u0646\u062F \u06F3 \u0639\u062F\u062F \u0627\u0633\u062A", + InvalidDecimalNumber: "\u0639\u062F\u062F \u0627\u0639\u0634\u0627\u0631\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + ModelArg2: "\u0645\u0642\u0627\u062F\u06CC\u0631 \u0631\u0646\u06AF\u06CC \u0628\u0631\u0627\u06CC \u0645\u062F\u0644 %1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u0628\u06CC\u0646 %2 \u0648 %3 \u0628\u0627\u0634\u062F", + InvalidNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631", + NewextarrowArg1: "\u0646\u0634\u0627\u0648\u0646\u062F \u0627\u0648\u0644 \u0628\u0647 \u200E%1 \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9 \u0646\u0627\u0645 \u06A9\u0646\u062A\u0631\u0644\u06CC \u062F\u0646\u0628\u0627\u0644\u0647 \u0628\u0627\u0634\u062F", + NewextarrowArg2: "\u0646\u0634\u0646\u0627\u0648\u0646\u062F \u062F\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u062F\u0648 \u0639\u062F\u062F \u0635\u062D\u06CC\u062D \u062C\u062F\u0627 \u0634\u062F\u0647 \u0628\u0627 \u06CC\u06A9 \u06A9\u0627\u0645\u0627 \u0628\u0627\u0634\u062F", + NewextarrowArg3: "\u0646\u0634\u0627\u0646\u0648\u0646\u062F \u0633\u0648\u0645 \u200E%1 \u0628\u0627\u06CC\u062F \u0639\u062F\u062F \u06CC\u06A9 \u0646\u0648\u06CC\u0633\u0647\u0654 \u06CC\u0648\u0646\u06CC\u06A9\u062F \u0628\u0627\u0634\u062F", + NoClosingChar: "%1 \u0628\u0633\u062A\u0647 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F", + IllegalControlSequenceName: "\u0646\u0627\u0645 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u0631\u0627\u06CC \u200E%1 \u0646\u0627\u0645\u062C\u0627\u0632", + IllegalParamNumber: "\u0639\u062F\u062F \u0646\u0627\u0645\u062C\u0627\u0632 \u067E\u0627\u0631\u0627\u0645\u062A\u0631 \u062F\u0631 \u200E%1 \u0645\u0634\u062E\u0635 \u0634\u062F\u0647\u200C\u0627\u0633\u062A", + MissingCS: "\u200E%1 \u0628\u0627\u06CC\u062F \u0628\u0647 \u062F\u0646\u0628\u0627\u0644 \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u06A9\u0646\u062A\u0631\u0644\u06CC \u0628\u06CC\u0627\u06CC\u062F", + CantUseHash2: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647\u0654 \u0646\u0627\u0645\u062C\u0627\u0632 \u0627\u0632 # \u062F\u0631 \u0627\u0644\u06AF\u0648 \u0628\u0631\u0627\u06CC %1", + SequentialParam: "\u067E\u0627\u0631\u0627\u0645\u062A\u0631\u0647\u0627 \u0628\u0631\u0627\u06CC %1 \u0628\u0627\u06CC\u062F \u06CC\u06A9 \u062F\u0646\u0628\u0627\u0644\u0647\u0654 \u0639\u062F\u062F\u06CC \u0628\u0627\u0634\u062F", + MissingReplacementString: "\u0631\u0634\u062A\u0647\u0654 \u062C\u0627\u06CC\u06AF\u0632\u06CC\u0646 \u06AF\u0645\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u06CC\u0641 \u200E%1", + MismatchUseDef: "\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u200E%1 \u0628\u0627 \u062A\u0639\u0631\u06CC\u0641 \u0622\u0646 \u062A\u0637\u0628\u06CC\u0642 \u0646\u062F\u0627\u0631\u062F", + RunawayArgument: "\u0622\u0631\u06AF\u0648\u0645\u0627\u0646 \u0641\u0631\u0627\u0631 \u0628\u0631\u0627\u06CC \u200E%1\u061F", + NoClosingDelim: "\u062C\u062F\u0627\u06A9\u0646\u0646\u062F\u0647\u0654 \u0628\u0633\u062A\u0646 \u0628\u0631\u0627\u06CC \u200E%1 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lki/lki.js b/src/py/kaleido/vendor/mathjax/localization/lki/lki.js new file mode 100644 index 00000000..b586ddab --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lki/lki.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/lki/lki.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lki",null,{ + menuTitle: "\u0644\u06D5\u06A9\u06CC", + fontDirection: "rtl", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u062E\u0637\u0627\u06CC \u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC", + MathError: "\u062E\u0637\u0627 \u0631\u06CC\u0627\u0636\u06CC", + LoadFile: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC %1", + Loading: "\u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC", + LoadFailed: "\u062E\u0637\u0627 \u062F\u0631 \u0628\u0627\u0631\u06AF\u06CC\u0631\u06CC \u067E\u0631\u0648\u0646\u062F\u0647: %1", + ProcessMath: "\u067E\u0631\u062F\u0627\u0632\u0634 \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Processing: "\u067E\u0631\u062F\u0627\u0632\u0634", + TypesetMath: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC \u0631\u06CC\u0627\u0636\u06CC: %1\u066A", + Typesetting: "\u062D\u0631\u0648\u0641\u200C\u0686\u06CC\u0646\u06CC", + MathJaxNotSupported: "\u0645\u0631\u0648\u0631\u06AF\u0631 \u0634\u0645\u0627 \u0627\u0632 MathJax \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC\u200C\u06A9\u0646\u062F" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lki/lki.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/lt/FontWarnings.js new file mode 100644 index 00000000..8f9e6649 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lt/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/lt/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "\u0160iame tinklalapyje matematikos tekst\u0105 \u201EMathJax\u201C rodo tinkle saugomais \u0161riftais, kuriems \u012Fkelti reikia laiko. Teksto rinkim\u0105 galima greitinti, matematikos \u0161riftus \u012Fdiegus naudotojo kompiuteryje.", + imageFonts: "\u201EMathJax\u201C taiko paveikslinius, o ne vietinius arba tinkle saugomus \u0161riftus. Matematikos tekstas vaizduojamas l\u0117\u010Diau, o spausdinant netenkama rai\u0161kos.", + noFonts: "Neradusi matematikos tekstui skirt\u0173 \u0161rift\u0173, \u201EMathJax\u201C taiko bendruosius unikodo ra\u0161menis. Kai kurie ra\u0161menys gali b\u016Bti darkomi arba visai nerodomi.", + webFonts: "Dauguma dabartini\u0173 nar\u0161ykli\u0173 leid\u017Eia gauti \u0161riftus i\u0161 tinklo. Tik\u0117tina, kad atnaujinus nar\u0161ykl\u0117s laid\u0105 arba esam\u0105 nar\u0161ykl\u0119 pakeitus kita, tinklalapyje ger\u0117t\u0173 matematikos teksto vaizdavimas.", + fonts: "\u201EMathJax\u201C gali taikyti [STIX fonts](%1) arba [MathJax TeX fonts](%2). \u012Ediegus vien\u0105 i\u0161 min\u0117t\u0173 alternatyv\u0173, ger\u0117s \u201EMathJax\u201C veikimas.", + STIXPage: "Tinklalapyje numatyti [STIX fonts](%1). \u012Ediegus min\u0117tus \u0161riftus, ger\u0117s \u201EMathJax\u201C veikimas.", + TeXPage: "Tinklalapyje numatyti [MathJax TeX fonts](%1). \u012Ediegus min\u0117tus \u0161riftus, ger\u0117s \u201EMathJax\u201C veikimas." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/lt/HTML-CSS.js new file mode 100644 index 00000000..9f7cbb57 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lt/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/lt/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u012Ekeliamas tinklo \u0161riftas %1", + CantLoadWebFont: "Tinklo \u0161rifto %1 \u012Fkelti nepavyko", + FirefoxCantLoadWebFont: "\u201EFirefox\u201C nepavyksta \u012Fkelti tinklo \u0161rift\u0173 i\u0161 nutolusios prieglobos", + CantFindFontUsing: "Nepavyksta rasti tinkamo \u0161rifto naudojant %1", + WebFontsNotAvailable: "Naudojami paveiksliniai \u0161riftai, nes n\u0117ra tinklo \u0161rift\u0173." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/lt/HelpDialog.js new file mode 100644 index 00000000..05ef0794 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lt/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/lt/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax Pagalba", + MathJax: "*\u201EMathJax\u201C* \u2013 tai \u201EJavaScript\u201C biblioteka, leid\u017Eianti autoriams tinklalapiuose ra\u0161yti matematikos tekst\u0105. Skaitytojams papildom\u0173 veiksm\u0173 atlikti nereikia.", + Browsers: "*Nar\u0161ykl\u0117s*: \u201EMathJax\u201C veikia visose dabartin\u0117se nar\u0161ykl\u0117je, \u012Fskaitant \u201EIE\u201C 6+, \u201EFirefox\u201C 3+, \u201EChrome\u201C 0.2+, \u201ESafari\u201C 2+, \u201EOpera\u201C 9.6+ ir daugum\u0105 mobili\u0173j\u0173 nar\u0161ykli\u0173.", + Menu: "*Matematikos meniu*: \u201EMathJax\u201C \u012Fdiegtas kontekstinis lyg\u010Di\u0173 meniu. Meniu atver\u010Diamas spustel\u0117jus de\u0161iniuoju pel\u0117s klavi\u0161u arba nuspaudus Vald ir spustel\u0117jus matematikos \u017Eenkl\u0105.", + ShowMath: "*Rodiniu* per\u017Ei\u016Brima ir kopijuojama formul\u0117s \u0161altinio \u017Eym\u0117jimo sintaks\u0117 (\u201EMathML\u201C arba pradiniu formatu).", + Settings: "*Nuostatomis* valdomos \u201EMathJax\u201C ypatyb\u0117s, pavyzd\u017Eiui, matematikos \u017Eenkl\u0173 dydis arba lyg\u010Di\u0173 vaizdavimo mechanizmas.", + Language: "*Kalba* nustatoma \u201EMathJax\u201C meniu ir \u012Fsp\u0117jam\u0173j\u0173 prane\u0161im\u0173 kalba.", + Zoom: "*Masteliu* didinamas lygties rodinys.", + Accessibilty: "*Pritaikymas ne\u012Fgaliesiems*: \u201EMathJax\u201C prisitaiko prie ekrano skaitykli\u0173, kad matematikos tekstas b\u016Bt\u0173 \u012Fskaitomas silpnaregiams.", + Fonts: "*\u0160riftai*: \u201EMathJax\u201C telkiasi naudotojo kompiuteryje \u012Fdiegtus \u0161riftus, jei \u0161ie yra tinkami; kitu atveju \u2013 tinkle saugomus \u0161riftus. Naudotojo kompiuteryje \u012Fdiegti \u0161riftai, nors ir neb\u016Btini, greitina \u017Eenkl\u0173 rinkim\u0105. Patariama \u012Fdiegti [\u201ESTIX\u201C \u0161riftus](%1).", + CloseDialog: "Nutraukti \u017Einyno dialog\u0105" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/MathML.js b/src/py/kaleido/vendor/mathjax/localization/lt/MathML.js new file mode 100644 index 00000000..f226c26b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lt/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/lt/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Netinkamas matematikos glifas: %1", + BadMglyphFont: "Netinkamas \u0161riftas: %1", + MathPlayer: "\u201EMathJax\u201C nepavyko nustatyti \u201EMathPlayer\u201C.\n\nJei \u201EMathPlayer\u201C dar ne\u012Fdiegtas, b\u016Btina tai padaryti. Kitaip saugumo nuostatos neleis veikti \u201EActiveX\u201C valdikliams. Adresu Priemoni\u0173 meniu \u003E Interneto nuostatos \u003E Saugumo kortel\u0117 paspaud\u0119 \u201ENaudotojo lyg\u012F\u201C, patikrinkite, ar \u012Fjungtos nuostatos \u201EPaleisti ActiveX valdikius\u201C bei \u201EDvejetain\u0117s ir scenarij\u0173 veiklos\u201C.\n\nPrie\u0161ingu atveju vietoj matematikos \u017Eenkl\u0173 bus rodomi klaid\u0173 prane\u0161imai.", + CantCreateXMLParser: "\u201EMathJax\u201C nepavyksta sukurti \u201EMathML\u201C XML analizatoriaus. Patikrinkite, ar \u012Fjungta saugumo nuostata \u201EScenarij\u0173 ActiveX valdikliai pa\u017Eym\u0117ti kaip saug\u016Bs scenarijams vykdyti\u201C (Priemoni\u0173 meniu \u003E Interneto nuostatos \u003E Naudotojo lygis).\n\n\u201EMathJax\u201C neapdoros \u201EMathML\u201C lyg\u010Di\u0173.", + UnknownNodeType: "Ne\u017Einoma mazgo atmaina: %1", + UnexpectedTextNode: "Netik\u0117tas teksto mazgas: %1", + ErrorParsingMathML: "Klaida nagrin\u0117jant \u201EMathML\u201C", + ParsingError: "Klaida nagrin\u0117jant \u201EMathML\u201C: %1", + MathMLSingleElement: "\u201EMathML\u201C formuotinas vienu d\u0117meniu", + MathMLRootElement: "\u201EMathML\u201C formuotinas \u003Cmath\u003E d\u0117meniu, o ne %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/lt/MathMenu.js new file mode 100644 index 00000000..854c8e8d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lt/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/lt/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Rodyti", + MathMLcode: "\u201EMathML\u201C tekst\u0105", + OriginalMathML: "Pradinis \u201EMathML\u201C", + TeXCommands: "\u201ETeX\u201C komandas", + AsciiMathInput: "\u201EAsciiMathML\u201C \u012Fvestis", + Original: "Pradin\u0117 forma", + ErrorMessage: "Klaidos prane\u0161imas", + Annotation: "santrauk\u0105", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "\u201ETeX\u201C u\u017Euominas \u201EMathML\u201C kalba", + Settings: "Nustatyti", + ZoomTrigger: "mastelio jungikl\u012F", + Hover: "u\u017Evedus", + Click: "spustel\u0117jus", + DoubleClick: "dukart spustel\u0117jus", + NoZoom: "Nekeisti", + TriggerRequires: "Kei\u010Diant spaud\u017Eiama:", + Option: "Nuostata", + Alt: "Alt", + Command: "Komanda", + Control: "Vald", + Shift: "Lyg 2", + ZoomFactor: "mastelio daugikl\u012F", + Renderer: "teikikl\u012F", + MPHandles: "Leisti \u201EMathPlayer\u201C vykdyti:", + MenuEvents: "Meniu \u012Fvykiai", + MouseEvents: "Pel\u0117s \u012Fvykiai", + MenuAndMouse: "Pel\u0117s ir meniu \u012Fvykiai", + FontPrefs: "\u0160rift\u0173 nuostatos", + ForHTMLCSS: "Skirta HTML-CSS:", + Auto: "Savaime", + TeXLocal: "TeX (vietinis)", + TeXWeb: "TeX (tinklas)", + TeXImage: "TeX (paveiksl\u0117lis)", + STIXLocal: "STIX (vietinis)", + STIXWeb: "STIX (tinklas)", + AsanaMathWeb: "Asana Math (tinklas)", + GyrePagellaWeb: "Gyre Pagella (tinklas)", + GyreTermesWeb: "Gyre Termes (tinklas)", + LatinModernWeb: "Latin Modern (tinklas)", + NeoEulerWeb: "Neo Euler (tinklas)", + ContextMenu: "Kontekstinis meniu", + Browser: "Nar\u0161ykl\u0117", + Scale: "bendr\u0105 mastel\u012F\u2026", + Discoverable: "Ry\u0161kinti u\u017Evedus", + Locale: "Kalba", + LoadLocale: "\u012Ekelti i\u0161 URL ...", + About: "Apie \u201EMathJax\u201C", + Help: "\u017Dinynas", + localTeXfonts: "vartojami vietiniai \u201ETeX\u201C \u0161riftai", + webTeXfonts: "Taikomas tinklinis \u201ETeX\u201C \u0161riftas", + imagefonts: "vartojami paveiksliniai \u0161riftai", + localSTIXfonts: "vartojami vietiniai \u201ESTIX\u201C \u0161riftai", + webSVGfonts: "vartojami tinkliniai SVG \u0161riftai", + genericfonts: "vartojami bendrieji unikodo \u0161riftai", + wofforotffonts: "WOFF arba OTF \u0161riftai", + eotffonts: "EOT \u0161riftai", + svgfonts: "SVG \u0161riftai", + WebkitNativeMMLWarning: "Tik\u0117tina, kad j\u016Bs\u0173 nar\u0161ykl\u0117je \u201EMathML\u201C vartojimas nenumatytas, tod\u0117l i\u0161vest\u012F perjungus \u012F \u201EMathML\u201C, tinklalapyje galima i\u0161darkyti matematikos \u017Eenklus.", + MSIENativeMMLWarning: "Norint \u201EMathML\u201C i\u0161vest\u012F apdoroti nar\u0161ykl\u0117je \u201EInternet Explorer\u201C, b\u016Btinas papildinys \u201EMathPlayer\u201C.", + OperaNativeMMLWarning: "Nar\u0161ykl\u0117je \u201EOpera\u201C \u201EMathML\u201C vartojimas yra ribotas, tod\u0117l i\u0161vest\u012F perjungus \u012F \u201EMathML\u201C kai kurie rei\u0161kiniai gali b\u016Bti vaizduojami nekokybi\u0161kai.", + SafariNativeMMLWarning: "J\u016Bs\u0173 nar\u0161ykl\u0117s \u201EMathML\u201C sande ne\u012Fdiegtos visos \u201EMathJax\u201C ypatyb\u0117s, tod\u0117l kai kurie rei\u0161kiniai gali b\u016Bti vaizduojami nekokybi\u0161kai.", + FirefoxNativeMMLWarning: "J\u016Bs\u0173 nar\u0161ykl\u0117s \u201EMathML\u201C sande ne\u012Fdiegtos visos \u201EMathJax\u201C ypatyb\u0117s, tod\u0117l kai kurie rei\u0161kiniai gali b\u016Bti vaizduojami nekokybi\u0161kai.", + MSIESVGWarning: "SVG nar\u0161ykl\u0117je \u201EInternet Explorer\u201C diegiama tik nuo IE9 laidos. IE8 ir ankstesn\u0117se laidose ji galima tik emuliuojant. I\u0161vest\u012F perjungus \u012F SVG, matematikos \u017Eenklai vaizduojami nekokybi\u0161kai.", + LoadURL: "Vertimo duomenis \u012Fkelti i\u0161 \u0161io URL:", + BadURL: "URL adresas turi b\u016Bti skirtas \u201EJavaScript\u201C bylai, apibr\u0117\u017Eian\u010Diai \u201EMathJax\u201C vertimo duomenis. \u201EJavaScript\u201C bylos prievardis turi b\u016Bti \u201E.js\u201C.", + BadData: "Vertimo duomen\u0173 i\u0161 %1 \u012Fkelti nepavyko.", + SwitchAnyway: "Ar vis tiek keisti vaizdavimo b\u016Bd\u0105?\n\n(Vaizdavimo b\u016Bdas kei\u010Diamas, spaud\u017Eiant \u201EVykdyti\u201C; paliekamas tas pats, spaud\u017Eiant \u201ENutraukti\u201C.)", + ScaleMath: "Bendrasis mastelis aplinkinio teksto at\u017Evilgiu:", + NonZeroScale: "Mastelio reik\u0161m\u0117 negali b\u016Bti 0", + PercentScale: "Mastelis \u017Eymimas procentais (pavyzd\u017Eiui, 120%%)", + IE8warning: "Ar tikrai keisti \u201EMathPlayer\u201C nuostatas?", + IE9warning: "I\u0161jungus kontekstin\u012F \u201EMathJax\u201C meniu, \u201EMathJax\u201C meniu atver\u010Diamas nuspaudus Alt ir spustel\u0117jus rei\u0161kin\u012F.", + NoOriginalForm: "Pradin\u0117s formos n\u0117ra", + Close: "U\u017Edaryti", + EqSource: "\u201EMathJax\u201C lygties \u0161altinis", + CloseAboutDialog: "Nutraukti dialog\u0105 apie \u201EMathJax\u201C", + FastPreview: "Spar\u010Dioji per\u017Ei\u016Bra", + AssistiveMML: "Pagalbinis \u201EMathML\u201C", + InTabOrder: "\u012Etraukti \u012F \u0105seli\u0173 eil\u0119" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/TeX.js b/src/py/kaleido/vendor/mathjax/localization/lt/TeX.js new file mode 100644 index 00000000..3c5bb4da --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lt/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/lt/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Per daug atidarom\u0173j\u0173 arba per ma\u017Eai u\u017Edarom\u0173j\u0173 riestini\u0173 skliausteli\u0173", + ExtraCloseMissingOpen: "Per daug u\u017Edarom\u0173j\u0173 arba per ma\u017Eai atidarom\u0173j\u0173 riestini\u0173 skliausteli\u0173", + MissingLeftExtraRight: "Per ma\u017Eai \\left arba per daug \\right", + MissingScript: "N\u0117ra vir\u0161utinio arba apatinio indekso argumento", + ExtraLeftMissingRight: "Per daug \\left arba per ma\u017Eai \\right", + Misplaced: "Ne tinkamoje vietoje %1", + MissingOpenForSub: "N\u0117ra atidaromojo riestinio apatinio indekso skliaustelio", + MissingOpenForSup: "N\u0117ra atidaromojo riestinio vir\u0161utinio indekso skliaustelio", + AmbiguousUseOf: "Nevienareik\u0161m\u0117 %1 vartosena", + EnvBadEnd: "\\begin{%1} baig\u0117si \\end{%2}", + EnvMissingEnd: "N\u0117ra \\end{%1}", + MissingBoxFor: "N\u0117ra %1 langelio", + MissingCloseBrace: "N\u0117ra u\u017Edaromojo riestinio skliaustelio", + UndefinedControlSequence: "Neapibr\u0117\u017Eta valdymo seka %1", + DoubleExponent: "Kartojamas laipsnio rodiklis: tikslinti riestiniais skliausteliais", + DoubleSubscripts: "Kartojamas apatinis indeksas: tikslinti riestiniais skliausteliais", + DoubleExponentPrime: "Pirminis skai\u010Dius kartoja laipsnio rodikl\u012F: tikslinti riestiniais skliausteliais", + CantUseHash1: "Makrokomandos parametro ra\u0161mens \u201E#\u201C matematikos veiksenoje vartoti negalima", + MisplacedMiddle: "%1 privalo b\u016Bti \\left ir \\right viduje", + MisplacedLimits: "%1 taikomas tik operatoriams", + MisplacedMoveRoot: "%1 rodomas tik \u0161aknyje", + MultipleCommand: "Kartojamas %1", + IntegerArg: "%1 argumentas privalo b\u016Bti sveikasis skai\u010Dius", + NotMathMLToken: "%1 n\u0117ra leksema", + InvalidMathMLAttr: "Netinkamas \u201EMathML\u201C po\u017Eymis: %1", + UnknownAttrForElement: "%1 n\u0117ra atpa\u017E\u012Fstamas %2 po\u017Eymis", + MaxMacroSub1: "Vir\u0161ytas did\u017Eiausias leid\u017Eiamas \u201EMathJax\u201C makrokomand\u0173 pakait\u0173 skai\u010Dius; galb\u016Bt vykdomas rekursinis makrokomandos kreipinys?", + MaxMacroSub2: "Vir\u0161ytas did\u017Eiausias leid\u017Eiamas \u201EMathJax\u201C pakait\u0173 skai\u010Dius; galb\u016Bt vykdoma rekursin\u0117 \u201ELaTeX\u201C aplinka?", + MissingArgFor: "N\u0117ra %1 argumento", + ExtraAlignTab: "Per daug lygiavimo tabuliatori\u0173 \\cases tekste", + BracketMustBeDimension: "%1 argumentas riestiniuose skliausteliuose privalo b\u016Bti matmuo", + InvalidEnv: "Netinkamas aplinkos pavadinimas \u201E%1\u201C", + UnknownEnv: "Ne\u017Einoma aplinka '%1'", + ExtraCloseLooking: "Per daug riestini\u0173 skliausteli\u0173 ie\u0161kant %1", + MissingCloseBracket: "%1 argumente nepavyko rasti u\u017Edaromojo \u201E]\u201C", + MissingOrUnrecognizedDelim: "%1 neturi skirtuko arba \u0161is n\u0117ra atpa\u017E\u012Fstamas", + MissingDimOrUnits: "%1 neturi matmens arba \u0161iojo vienet\u0173", + TokenNotFoundForCommand: "%2 skirto %1 rasti nepavyko", + MathNotTerminated: "Teksto langelyje matematikos neaptikta", + IllegalMacroParam: "Netinkama makrokomandos parametro nuoroda", + MaxBufferSize: "Vir\u0161ytas vidinio \u201EMathJax\u201C buferio dydis; galb\u016Bt vykdomas rekursinis makrokomandos kreipinys?", + CommandNotAllowedInEnv: "%1 aplinkoje %2 neleid\u017Eiamas", + MultipleLabel: "Apibr\u0117\u017Etas \u017Eymenos \u201E%1\u201C kartojimas", + CommandAtTheBeginingOfLine: "%1 privalo b\u016Bti eilut\u0117s prad\u017Eioje", + IllegalAlign: "%1 nurodyta netinkama lygiuot\u0117", + BadMathStyleFor: "Netinkamas %1 matematikos stilius", + PositiveIntegerArg: "%1 argumentas privalo b\u016Bti teigiamas sveikasis skai\u010Dius", + ErroneousNestingEq: "Klaidingas lyg\u010Di\u0173 sandar\u0173 \u012Fd\u0117jimas", + MultlineRowsOneCol: "Eilut\u0117s %1 aplinkoje privalo apimti tiksliai vien\u0105 stulpel\u012F", + MultipleBBoxProperty: "%1 kartojamas %2", + InvalidBBoxProperty: "\u201E%1\u201C neatrodo kaip spalva, u\u017Epildymo matmuo arba stilius", + ExtraEndMissingBegin: "Per daug %1 arba per ma\u017Eai \\begingroup", + GlobalNotFollowedBy: "Po %1 neina \\let, \\def arba \\newcommand", + UndefinedColorModel: "Neapibr\u0117\u017Etas spalvos modelis \u201E%1\u201C", + ModelArg1: "Modelio \u201E%1\u201C spalv\u0173 reik\u0161m\u0117s ra\u0161omos trimis skaitmenimis", + InvalidDecimalNumber: "Netinkamas de\u0161imtainis skai\u010Dius", + ModelArg2: "Modelio \u201E%1\u201C spalv\u0173 reik\u0161m\u0117s privalo b\u016Bti tarp %2 ir %3", + InvalidNumber: "Neleistinas skai\u010Dius", + NewextarrowArg1: "Pirmasis %1 argumentas privalo b\u016Bti valdymo sekos pavadinimas", + NewextarrowArg2: "Antrasis %1 argumentas privalo b\u016Bti du kableliu skiriami sveikieji skai\u010Diai", + NewextarrowArg3: "Tre\u010Diasis %1 argumentas privalo b\u016Bti unikodo ra\u0161mens skai\u010Dius", + NoClosingChar: "Nepavyksta rasti u\u017Edaromojo %1", + IllegalControlSequenceName: "Netinkamas %1 valdymo sekos pavadinimas", + IllegalParamNumber: "%1 nurodytas netinkamas parametr\u0173 skai\u010Dius", + MissingCS: "Po %1 privalo eiti valdymo seka", + CantUseHash2: "Netinkama \u201E#\u201C vartosena %1 ruo\u0161inyje", + SequentialParam: "%1 parametrai numeruotini nuosekliai", + MissingReplacementString: "N\u0117ra %1 apibr\u0117\u017Eimo pakaitos eilut\u0117s", + MismatchUseDef: "%1 vartosena nesutampa su %1 apibr\u0117\u017Eimu", + RunawayArgument: "Nevaldomas %1 argumentas?", + NoClosingDelim: "Nepavyksta rasti u\u017Edaromojo %1 skirtuko" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/lt/lt.js b/src/py/kaleido/vendor/mathjax/localization/lt/lt.js new file mode 100644 index 00000000..af7519f1 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/lt/lt.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/localization/lt/lt.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("lt",null,{ + menuTitle: "lietuvi\u0173", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Matematikos apdorojimo klaida", + MathError: "Matematikos klaida", + LoadFile: "\u012Ekeliama %1", + Loading: "\u012Ekeliama", + LoadFailed: "Nepavyko \u012Fkelti bylos: %1", + ProcessMath: "Apdorojama matematika: %1%%", + Processing: "Apdorojama", + TypesetMath: "Renkami matematikos \u017Eenklai: %1%%", + Typesetting: "\u017Denkl\u0173 rinkimas", + MathJaxNotSupported: "J\u016Bs\u0173 nar\u0161ykl\u0117 \u201EMathJax\u201C nenumato" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && n % 100 !== 11) { + return 1; + } else if (n % 10 >=2 && n % 10 <= 9 && (n % 100 < 10 || n % 100 >= 20)) { + return 2; + } else { + return 3; + } + }, + number: function (n) { + return n; // needs check + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/lt/lt.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/mk/FontWarnings.js new file mode 100644 index 00000000..ec3a2478 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/mk/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/mk/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0437\u0430 \u0438\u0441\u043F\u0438\u0441 \u043D\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430. \u041D\u0430 \u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u0438\u043C \u0442\u0440\u0435\u0431\u0430 \u0432\u0440\u0435\u043C\u0435 \u0434\u0430 \u0441\u0435 \u0432\u0447\u0438\u0442\u0430\u0430\u0442, \u043F\u0430 \u0442\u0430\u043A\u0430, \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0442\u0430 \u0431\u0438 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0430\u043B\u0430 \u043F\u043E\u0431\u0440\u0433\u0443 \u0434\u043E\u043A\u043E\u043B\u043A\u0443 \u0433\u0438 \u043F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u043D\u0435\u043F\u043E\u0441\u0440\u0435\u0434\u043D\u043E \u0432\u043E \u0441\u0438\u0441\u0442\u0435\u043C\u0441\u043A\u0430\u0442\u0430 \u043F\u0430\u043F\u043A\u0430 \u0437\u0430 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043D\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u0441\u043C\u0435\u0442\u0430\u0447.", + imageFonts: "MathJax \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043D\u0435\u0433\u043E\u0432\u0438\u0442\u0435 \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043D\u0430\u043C\u0435\u0441\u0442\u043E \u043D\u0438\u0432\u043D\u0438\u0442\u0435 \u043C\u0435\u0441\u043D\u0438 \u0438\u043B\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 \u043F\u0430\u043D\u0434\u0430\u043D\u0438. \u041E\u0432\u0438\u0435 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430\u0430\u0442 \u043F\u043E\u0431\u0430\u0432\u043D\u043E \u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u043D\u0435 \u0441\u0435 \u043F\u043E\u0433\u043E\u0434\u043D\u0438 \u0437\u0430 \u043F\u0435\u0447\u0430\u0442\u0435\u045A\u0435 \u043F\u0440\u0438 \u043F\u043E\u043B\u043D\u0430 \u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0430 \u043C\u043E\u045C \u043D\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0435\u0447\u0430\u0442\u0430\u0440.", + noFonts: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u043E \u043D\u0430\u0458\u0434\u0435 \u0444\u043E\u043D\u0442\u043E\u0442 \u0437\u0430 \u043F\u0440\u0438\u043A\u0430\u0437 \u043D\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438, \u0430 \u043D\u0435 \u043C\u0443 \u0441\u0435 \u0434\u043E\u0441\u0442\u0430\u043F\u043D\u0438 \u043D\u0438 \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438, \u0448\u0442\u043E \u0437\u043D\u0430\u0447\u0438 \u0434\u0435\u043A\u0430 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043F\u043E\u0442\u043F\u0440\u0435 \u043D\u0430 \u043E\u043F\u0448\u0442\u043E\u043D\u0430\u043C\u0435\u043D\u0441\u043A\u0438\u0442\u0435 \u0443\u043D\u0438\u043A\u043E\u0434\u043D\u0438 \u0437\u043D\u0430\u0446\u0438, \u0441\u043E \u043D\u0430\u0434\u0435\u0436 \u0434\u0435\u043A\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u045C\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u0438 \u043F\u0440\u0438\u043A\u0430\u0436\u0435. \u041D\u0435\u043A\u043E\u0438 \u0437\u043D\u0430\u0446\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u043D\u0435 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0430\u0442 \u043A\u0430\u043A\u043E \u0448\u0442\u043E \u0442\u0440\u0435\u0431\u0430 \u0438\u043B\u0438 \u043F\u0430\u043A \u0432\u043E\u043E\u043F\u0448\u0442\u043E \u043D\u0435\u043C\u0430 \u0434\u0430 \u0441\u0435 \u043F\u043E\u0458\u0430\u0432\u0430\u0442.", + webFonts: "\u041D\u0430\u0458\u0432\u0435\u045C\u0435\u0442\u043E \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438 \u043E\u0432\u043E\u0437\u043E\u043C\u043E\u0436\u0443\u0432\u0430\u0430\u0442 \u043F\u0440\u0435\u0437\u0435\u043C\u0430\u045A\u0435 \u043D\u0430 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043E\u0434 \u0441\u0435\u043C\u0440\u0435\u0436\u0458\u0435\u0442\u043E. \u041A\u0432\u0430\u043B\u0438\u0442\u0435\u0442\u043E\u0442 \u043D\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043F\u043E\u0434\u043E\u0431\u0440\u0438 \u0430\u043A\u043E \u043F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u043F\u043E\u043D\u043E\u0432\u0430 \u0432\u0435\u0440\u0437\u0438\u0458\u0430 \u043D\u0430 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043E\u0442 (\u0438\u043B\u0438 \u043F\u0430\u043A \u0433\u043E \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u0435 \u0441\u043E \u0434\u0440\u0443\u0433).", + fonts: "MathJax \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 STIX](%1) \u0438\u043B\u0438 [\u043E\u043D\u0438\u0435 \u043D\u0430 MathJax TeX](%2). \u041F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u0433\u0438 \u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0433\u0438 \u0437\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 MathJax \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438\u0442\u0435.", + STIXPage: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430 \u0435 \u043F\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043D\u0430 \u0434\u0430 \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 STIX](%1). \u041F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u0433\u0438 \u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0433\u0438 \u0437\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 MathJax \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438\u0442\u0435.", + TeXPage: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0432\u0430 \u0435 \u043F\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043D\u0430 \u0434\u0430 \u0433\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 MathJax TeX](%1). \u041F\u0440\u0435\u0437\u0435\u043C\u0435\u0442\u0435 \u0433\u0438 \u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0433\u0438 \u0437\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 MathJax \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438\u0442\u0435." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/mk/HTML-CSS.js new file mode 100644 index 00000000..567c04ed --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/mk/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/mk/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0413\u043E \u0432\u0447\u0438\u0442\u0443\u0432\u0430\u043C \u043C\u0440\u0435\u0436\u043D\u0438\u043E\u0442 \u0444\u043E\u043D\u0442 %1", + CantLoadWebFont: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u0433\u043E \u0432\u0447\u0438\u0442\u0430\u043C \u043C\u0440\u0435\u0436\u043D\u0438\u043E\u0442 \u0444\u043E\u043D\u0442 %1", + FirefoxCantLoadWebFont: "Firefox \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0432\u0447\u0438\u0442\u0430 \u043C\u0440\u0435\u0436\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u043E\u0434 \u0434\u0430\u043B\u0435\u0447\u0438\u043D\u0441\u043A\u0438 \u0434\u043E\u043C\u0430\u045C\u0438\u043D", + CantFindFontUsing: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u043D\u0430\u0458\u0434\u0430\u043C \u043F\u0440\u0438\u043A\u043B\u0430\u0434\u0435\u043D \u0444\u043E\u043D\u0442 \u0448\u0442\u043E \u043A\u043E\u0440\u0438\u0441\u0442\u0438 %1", + WebFontsNotAvailable: "\u041C\u0440\u0435\u0436\u043D\u0438\u0442\u0435 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0441\u0435 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u043F\u043D\u0438. \u040C\u0435 \u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043C \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/mk/HelpDialog.js new file mode 100644 index 00000000..ea8c960a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/mk/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/mk/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u041F\u043E\u043C\u043E\u0448 \u0441\u043E MathJax", + MathJax: "*MathJax* \u0435 JavaScript-\u0431\u0438\u0431\u043B\u0438\u043E\u0442\u043A\u0430 \u0448\u0442\u043E \u0438\u043C \u043E\u0432\u043E\u0437\u043C\u043E\u0436\u0443\u0432\u0430 \u043D\u0430 \u0430\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u0434\u0430 \u0441\u0442\u0430\u0432\u0430\u0430\u0442 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043D\u0430 \u043D\u0438\u0432\u043D\u0438\u0442\u0435 \u0441\u0435\u043C\u0440\u0435\u0436\u043D\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438. \u041A\u0430\u043A\u043E \u0447\u0438\u0442\u0430\u0442\u0435\u043B \u043D\u0435 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u043F\u0440\u0430\u0432\u0438\u0442\u0435 \u043D\u0438\u0448\u0442\u043E, \u0431\u0438\u0434\u0435\u0458\u045C\u0438 \u0442\u0438\u0435 \u0441\u0430\u043C\u0438\u0442\u0435 \u045C\u0435 \u0441\u0435 \u043F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430\u0430\u0442.", + Browsers: "*\u041F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438*: MathJax \u0440\u0430\u0431\u043E\u0442\u0438 \u043D\u0430 \u0441\u0438\u0442\u0435 \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438 \u043A\u0430\u043A\u043E IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ \u0438 \u043D\u0430\u0458\u0432\u0435\u045C\u0435\u0442\u043E \u043C\u043E\u0431\u0438\u043B\u043D\u0438 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0438.", + Menu: "*\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u043E \u043C\u0435\u043D\u0438*: MathJax \u0441\u0442\u0430\u0432\u0430 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E \u043C\u0435\u043D\u0438 \u0432\u043E \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435. \u0414\u043E \u043D\u0435\u0433\u043E \u0441\u0435 \u0434\u043E\u0430\u0453\u0430 \u0441\u043E \u0434\u0435\u0441\u0435\u043D \u0441\u0442\u0438\u0441\u043E\u043A \u0441\u043E \u0433\u043B\u0443\u0448\u0435\u0446\u043E\u0442 (\u0438\u043B\u0438 Ctrl-\u0441\u0442\u0438\u0441\u043E\u043A) \u043D\u0430 \u0431\u0438\u043B\u043E \u043A\u043E\u0458\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430.", + ShowMath: "*\u041F\u041F\u0440\u0438\u043A\u0430\u0436\u0438 \u0458\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430\u0442\u0430 \u043A\u0430\u043A\u043E* \u0432\u0438 \u043E\u0432\u043E\u0437\u043C\u043E\u0436\u0443\u0432\u0430 \u0434\u0430 \u0433\u043E \u043F\u043E\u0433\u043B\u0435\u0434\u0430\u0442\u0435 \u0438\u0437\u0432\u043E\u0440\u043D\u0438\u043E\u0442 \u043A\u043E\u0434 \u043D\u0430 \u0444\u043E\u0440\u043C\u0443\u043B\u0430\u0442\u0430 \u0438 \u0434\u0430 \u0433\u043E \u043F\u0440\u0435\u043A\u043E\u043F\u0438\u0440\u0430\u0442\u0435 (\u043A\u0430\u043A\u043E MathML \u0438\u043B\u0438 \u0432\u043E \u0438\u0437\u0432\u043E\u0440\u0435\u043D \u0444\u043E\u0440\u043C\u0430\u0442).", + Settings: "*\u041F\u043E\u0441\u0442\u0430\u0432\u043A\u0438* \u0432\u0438 \u0434\u0430\u0432\u0430\u0430\u0442 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0430 \u0432\u0440\u0437 \u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u043D\u0430 MathJax \u043A\u0430\u043A\u043E \u0433\u043E\u043B\u0435\u043C\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u043E\u0442 \u0438\u0441\u043F\u0438\u0441 \u0438 \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C\u043E\u0442 \u0437\u0430 \u043F\u0440\u0438\u043A\u0430\u0437 (\u0438\u0441\u043F\u0438\u0441) \u043D\u0430 \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435.", + Language: "*\u0408\u0430\u0437\u0438\u043A* \u0432\u0438 \u0434\u0430\u0432\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0458\u0430\u0437\u0438\u043A \u043D\u0430 \u043C\u0435\u043D\u0438\u0442\u043E \u0438 \u043F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0434\u0443\u0432\u0430\u0447\u043A\u0438\u0442\u0435 \u043F\u043E\u0440\u0430\u043A\u0438 \u043D\u0430 MathJax.", + Zoom: "*\u0417\u0433\u043E\u043B\u0435\u043C\u0443\u0432\u0430\u045A\u0435 \u043D\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442*: \u0410\u043A\u043E \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u0432\u0438 \u0435 \u0441\u0438\u0442\u0435\u043D \u0437\u0430 \u0447\u0438\u0442\u0430\u045A\u0435, MathJax \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u043E \u0437\u0433\u043E\u043B\u0435\u043C\u0438 \u0437\u0430 \u0434\u0430 \u0432\u0438 \u0431\u0438\u0434\u0435 \u043F\u043E\u0447\u0438\u0442\u043B\u0438\u0432.", + Accessibilty: "*\u041F\u043E\u0442\u0435\u0448\u043A\u043E\u0442\u0438\u0438 \u0441\u043E \u0432\u0438\u0434\u043E\u0442*: MathJax \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0441\u043A\u0438 \u0440\u0430\u0431\u043E\u0442\u0438 \u0441\u043E \u0435\u043A\u0440\u0430\u043D\u0441\u043A\u0438\u0442\u0435 \u0447\u0438\u0442\u0430\u0447\u0438 \u0437\u0430 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438\u0442\u0435 \u0434\u0430 \u0431\u0438\u0434\u0430\u0442 \u0458\u0430\u0441\u043D\u0438 \u0437\u0430 \u043B\u0438\u0446\u0430\u0442\u0430 \u0441\u043E \u0445\u0435\u043D\u0434\u0438\u043A\u0435\u043F\u0438\u0440\u0430\u043D \u0432\u0438\u0434.", + Fonts: "*\u0424\u043E\u043D\u0442\u043E\u0432\u0438*: MathJax \u045C\u0435 \u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u0438\u0437\u0432\u0435\u0441\u043D\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438, \u0434\u043E\u043A\u043E\u043B\u043A\u0443 \u0441\u0435 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D\u0438 \u043D\u0430 \u0432\u0430\u0448\u0438\u043E\u0442 \u0441\u043C\u0435\u0442\u0430\u0447. \u0412\u043E \u0441\u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E \u045C\u0435 \u0441\u0435 \u043A\u043E\u0440\u0438\u0441\u0442\u0430\u0442 \u043C\u0440\u0435\u0436\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0437\u0430 \u0442\u0430\u0430 \u043D\u0430\u043C\u0435\u043D\u0430. \u0418\u0430\u043A\u043E \u043D\u0435 \u0441\u0435 \u0437\u0430\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u0438, \u043C\u0435\u0441\u043D\u043E \u0432\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0435\u043D\u0438\u0442\u0435 \u0444\u043E\u043D\u0442\u043E\u0432\u0438 \u0433\u043E \u0437\u0430\u0431\u0440\u0437\u0443\u0432\u0430\u0430\u0442 \u0438\u0441\u043F\u0438\u0441\u043E\u0442. \u0412\u0438 \u043F\u0440\u0435\u0434\u043B\u0430\u0433\u0430\u043C\u0435 \u0434\u0430 \u0433\u0438 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435 [\u0444\u043E\u043D\u0442\u043E\u0432\u0438\u0442\u0435 \u043D\u0430 STIX](%1).", + CloseDialog: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438 \u0433\u043E \u043F\u043E\u043C\u043E\u0448\u043D\u0438\u043E\u0442 \u0434\u0438\u0458\u0430\u043B\u043E\u0433" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/MathML.js b/src/py/kaleido/vendor/mathjax/localization/mk/MathML.js new file mode 100644 index 00000000..937ab4f0 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/mk/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/mk/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u0413\u0440\u0435\u0448\u0435\u043D mglyph: %1", + BadMglyphFont: "\u0413\u0440\u0435\u0448\u0435\u043D \u0444\u043E\u043D\u0442: %1", + MathPlayer: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0438 MathPlayer.\n\n\u0414\u043E\u043A\u043E\u043B\u043A\u0443 \u043D\u0435 \u0432\u0438 \u0435 \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D MathPlayer, \u045C\u0435 \u0442\u0440\u0435\u0431\u0430 \u043F\u0440\u0432\u043E \u0434\u0430 \u0433\u043E \u0432\u043E\u0441\u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u0435.\n\u0412\u043E \u0441\u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E, \u043E\u0432\u0430 \u0437\u043D\u0430\u0447\u0438 \u0434\u0435\u043A\u0430 \u0432\u0430\u0448\u0438\u0442\u0435 \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u043E\u0441\u043D\u0438 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438 \u0458\u0430 \u0441\u043F\u0440\u0435\u0447\u0443\u0432\u0430\u0430\u0442 \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u0430 \u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438\u0442\u0435 \u0432\u043E ActiveX. \u041F\u043E\u0458\u0434\u0435\u0442\u0435 \u0432\u043E \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u043E\u0441\u043D\u0438\u0442\u0435 \u043D\u0430\u0433\u043E\u0434\u0443\u0432\u0430\u045A\u0430 \u043D\u0430 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043E\u0442 \u0438 \u0441\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u043D\u0430 \u043F\u0440\u0438\u043B\u0430\u0433\u043E\u0434\u043B\u0438\u0432\u043E (Custom Level). \u0422\u0430\u043C\u0443 \u043F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u043B\u0438 \u0432\u0438 \u0441\u0435 \u0432\u043A\u043B\u0443\u0447\u0435\u043D\u0438 \u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u0437\u0430 \u0440\u0430\u0431\u043E\u0442\u0430 \u0441\u043E ActiveX-\u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438 \u0438 \u0411\u0438\u043D\u0430\u0440\u043D\u0438 \u0438 \u0441\u043A\u0440\u0438\u043F\u0442\u043D\u0438 \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0458\u0430.\n\n\u0417\u0430\u0441\u0435\u0433\u0430 \u045C\u0435 \u0433\u043B\u0435\u0434\u0430\u0442\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u0443\u0432\u0430\u045A\u0430 \u0437\u0430 \u0433\u0440\u0435\u0448\u043A\u0438 \u043D\u0430\u043C\u0435\u0441\u0442\u043E \u0438\u0441\u043F\u0438\u0448\u0430\u043D\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438.", + CantCreateXMLParser: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u043E\u0437\u0434\u0430\u0434\u0435 XML-\u043F\u0430\u0440\u0441\u0435\u0440 \u0437\u0430 MathML. \u041F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u043B\u0438 \u0435 \u0432\u043A\u043B\u0443\u0447\u0435\u043D\u0430 \u0441\u0438\u0433\u0443\u0440\u043D\u043E\u0441\u043D\u0430\u0442\u0430 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0430 ActiveX-\u043A\u043E\u043D\u0442\u0440\u043E\u043B\u0438 \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u0438 \u0437\u0430 \u0441\u043A\u0440\u0438\u043F\u0442\u0438\u0440\u0430\u045A\u0435 (\u0432\u043E \u043F\u0440\u0438\u043B\u0430\u0433\u043E\u0434\u043B\u0438\u0432\u0438\u043E\u0442 \u0434\u0435\u043B (Custom Level) \u043D\u0430 \u0431\u0435\u0437\u0431\u0435\u0434\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438 \u0432\u043E \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043E\u0442).\n\nMathJax \u043D\u0435\u043C\u0430 \u0434\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0433\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0438 \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435 \u043D\u0430 MathML.", + UnknownNodeType: "\u041D\u0435\u043F\u043E\u0437\u043D\u0430\u0442 \u0442\u0438\u043F \u043D\u0430 \u0458\u0430\u0437\u043E\u043B: %1", + UnexpectedTextNode: "\u041D\u0435\u043E\u0447\u0435\u043A\u0443\u0432\u0430\u043D \u0458\u0430\u0437\u043E\u043B \u0432\u043E \u0442\u0435\u043A\u0441\u0442\u043E\u0442: %1", + ErrorParsingMathML: "\u0413\u0440\u0435\u0448\u043A\u0430 \u043F\u0440\u0438 \u0440\u0430\u0441\u0447\u043B\u0435\u043D\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 MathML", + ParsingError: "\u0413\u0440\u0435\u0448\u043A\u0430 \u043F\u0440\u0438 \u0440\u0430\u0441\u0447\u043B\u0435\u043D\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 MathML: %1", + MathMLSingleElement: "MathML \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u043E\u0434 \u0435\u0434\u0435\u043D \u0435\u043B\u0435\u043C\u0435\u043D\u0442", + MathMLRootElement: "MathML \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043E\u0431\u0440\u0430\u0437\u0443\u0432\u0430 \u0441\u043E \u0435\u043B\u0435\u043C\u0435\u043D\u0442 \u003Cmath\u003E, \u0430 \u043D\u0435 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/mk/MathMenu.js new file mode 100644 index 00000000..62ec776f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/mk/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/mk/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u041F\u0440\u0438\u043A\u0430\u0436\u0438 \u0458\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430\u0442\u0430 \u043A\u0430\u043A\u043E", + MathMLcode: "MathML-\u043A\u043E\u0434", + OriginalMathML: "\u0418\u0437\u0432\u043E\u0440\u0435\u043D MathML", + TeXCommands: "TeX-\u043D\u0430\u0440\u0435\u0434\u0431\u0438", + AsciiMathInput: "AsciiMathML-\u0432\u043D\u043E\u0441", + Original: "\u0418\u0437\u0432\u043E\u0440\u0435\u043D \u043E\u0431\u043B\u0438\u043A", + ErrorMessage: "\u0418\u0437\u0432\u0435\u0441\u0442\u0443\u0432\u0430\u045A\u0435 \u0437\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", + Annotation: "\u041F\u0440\u0438\u0431\u0435\u043B\u0435\u0448\u043A\u0438", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "\u0421\u043E\u0434\u0440\u0436\u0438\u043D\u0441\u043A\u0438 MathML", + OpenMath: "OpenMath", + texHints: "\u041F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430\u0458 \u043F\u043E\u043C\u043E\u0448\u043D\u0438 \u043F\u0440\u0435\u0434\u043B\u043E\u0437\u0438 \u043E\u0434 TeX \u0432\u043E MathML", + Settings: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438", + ZoomTrigger: "\u0417\u0433\u043E\u043B\u0435\u043C\u0443\u0432\u0430\u045A\u0435", + Hover: "\u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u0432\u0440\u0437 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430\u0442\u0430", + Click: "\u0421\u0442\u0438\u0441\u043E\u043A", + DoubleClick: "\u0414\u0432\u043E\u0435\u043D \u0441\u0442\u0438\u0441\u043E\u043A", + NoZoom: "\u0411\u0435\u0437 \u0437\u0433\u043E\u043B\u0435\u043C\u0443\u0432\u0430\u045A\u0435", + TriggerRequires: "\u0417\u0430 \u0434\u0430 \u0433\u043E \u0437\u0433\u043E\u043B\u0435\u043C\u0438\u0442\u0435 \u0438\u0441\u043F\u0438\u0441\u043E\u0442:", + Option: "\u041C\u043E\u0436\u043D\u043E\u0441\u0442", + Alt: "Alt", + Command: "\u2318", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "\u0427\u0438\u043D\u0438\u0442\u0435\u043B \u2014 \u041F\u0440\u0438\u0431\u043B\u0438\u0436\u0443\u0432\u0430\u045A\u0435", + Renderer: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0438\u0441\u043F\u0438\u0448\u0443\u0432\u0430\u0447", + MPHandles: "\u041D\u0435\u043A\u0430 MathPlayer \u0440\u0430\u0431\u043E\u0442\u0438 \u0441\u043E:", + MenuEvents: "\u041F\u043E\u0441\u0442\u0430\u043F\u043A\u0438 \u0441\u043E \u043C\u0435\u043D\u0438\u0442\u043E", + MouseEvents: "\u041F\u043E\u0441\u0442\u0430\u043F\u043A\u0438 \u0441\u043E \u0433\u043B\u0443\u0448\u0435\u0446\u043E\u0442", + MenuAndMouse: "\u041F\u043E\u0441\u0442\u0430\u043F\u043A\u0438 \u0441\u043E \u043C\u0435\u043D\u0438\u0442\u043E \u0438 \u0433\u043B\u0443\u0448\u0435\u0446\u043E\u0442", + FontPrefs: "\u041D\u0430\u0433\u043E\u0434\u0443\u0432\u0430\u045A\u0430 \u043D\u0430 \u0444\u043E\u043D\u0442\u043E\u0442", + ForHTMLCSS: "\u0417\u0430 HTML-CSS:", + Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0441\u043A\u0438", + TeXLocal: "TeX (\u043C\u0435\u0441\u043D\u043E)", + TeXWeb: "TeX (\u043C\u0440\u0435\u0436\u043D\u043E)", + TeXImage: "TeX (\u0441\u043B\u0438\u043A\u0430)", + STIXLocal: "STIX (\u043C\u0435\u0441\u043D\u043E)", + STIXWeb: "STIX (\u043C\u0440\u0435\u0436\u043D\u043E)", + AsanaMathWeb: "Asana Math (\u043C\u0440\u0435\u0436\u043D\u043E)", + GyrePagellaWeb: "Gyre Pagella (\u043C\u0440\u0435\u0436\u043D\u043E)", + GyreTermesWeb: "Gyre Termes (\u043C\u0440\u0435\u0436\u043D\u043E)", + LatinModernWeb: "Latin Modern (\u043C\u0440\u0435\u0436\u043D\u043E)", + NeoEulerWeb: "Neo Euler (\u043C\u0440\u0435\u0436\u043D\u043E)", + ContextMenu: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E \u043C\u0435\u043D\u0438", + Browser: "\u041F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447", + Scale: "\u041F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430 \u0458\u0430 \u0441\u0435\u0442\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 \u0432\u043E \u0440\u0430\u0437\u043C\u0435\u0440...", + Discoverable: "\u0418\u0441\u0442\u0430\u043A\u043D\u0443\u0432\u0430\u0458 (\u043F\u043E\u0442\u0446\u0440\u0442\u0443\u0432\u0430\u0458) \u043F\u0440\u0438 \u043E\u0434\u0435\u045A\u0435 \u0441\u043E \u0441\u0442\u0440\u0435\u043B\u043A\u0430\u0442\u0430 \u0432\u0440\u0437 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430\u0442\u0430", + Locale: "\u0408\u0430\u0437\u0438\u043A", + LoadLocale: "\u0412\u0447\u0438\u0442\u0430\u0458 \u043E\u0434 URL ...", + About: "\u0417\u0430 MathJax", + Help: "\u041F\u043E\u043C\u043E\u0448 \u0441\u043E MathJax", + localTeXfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 TeX-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + webTeXfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 TeX-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + imagefonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u0441\u043B\u0438\u043A\u043E\u0432\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438", + localSTIXfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0435\u0441\u043D\u0438 STIX-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + webSVGfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043C\u0440\u0435\u0436\u043D\u0438 SVG-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + genericfonts: "\u043A\u043E\u0440\u0438\u0441\u0442\u0438 \u043E\u043F\u0448\u0442\u043E\u043D\u0430\u043C\u0435\u043D\u0441\u043A\u0438 \u0443\u043D\u0438\u043A\u043E\u0434\u043D\u0438 \u0444\u043E\u043D\u0442\u043E\u0432\u0438", + wofforotffonts: "WOFF- \u0438\u043B\u0438 OTF-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + eotffonts: "EOT-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + svgfonts: "SVG-\u0444\u043E\u043D\u0442\u043E\u0432\u0438", + WebkitNativeMMLWarning: "\u0412\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043D\u0435\u043C\u0430 \u0432\u0433\u0440\u0430\u0434\u0435\u043D\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML, \u043F\u0430 \u0437\u0430\u0442\u043E\u0430 \u0430\u043A\u043E \u0441\u0435 \u043F\u0440\u0435\u0444\u0440\u043B\u0438\u0442\u0435 \u043D\u0430 \u043D\u0435\u0433\u043E, \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043C\u043E\u0436\u0430\u0442 \u0434\u0430 \u0441\u0442\u0430\u043D\u0430\u0442 \u043D\u0435\u0447\u0438\u0442\u043B\u0438\u0432\u0438.", + MSIENativeMMLWarning: "Internet Explorer \u0433\u043E \u0431\u0430\u0440\u0430 \u0434\u043E\u0434\u0430\u0442\u043E\u043A\u043E\u0442 MathPlayer \u0437\u0430 \u0434\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0440\u0430\u0431\u043E\u0442\u0438 \u0441\u043E MathML.", + OperaNativeMMLWarning: "Opera \u0438\u043C\u0430 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML, \u0448\u0442\u043E \u0437\u043D\u0430\u0447\u0438 \u0434\u0435\u043A\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u043D\u0435\u043A\u043E\u0438 \u0438\u0437\u0440\u0435\u0437\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043B\u043E\u0448.", + SafariNativeMMLWarning: "\u0412\u0433\u0440\u0430\u0434\u0435\u043D\u0430\u0442\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML \u0432\u043E \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043D\u0435 \u0433\u0438 \u0438\u043C\u0430 \u0441\u0438\u0442\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438 \u043D\u0430 MathJax, \u043F\u0430 \u0437\u0430\u0442\u043E\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u043D\u0435\u043A\u043E\u0438 \u0438\u0437\u0440\u0435\u0437\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043B\u043E\u0448.", + FirefoxNativeMMLWarning: "\u0412\u0433\u0440\u0430\u0434\u0435\u043D\u0430\u0442\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 MathML \u0432\u043E \u0432\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043D\u0435 \u0433\u0438 \u0438\u043C\u0430 \u0441\u0438\u0442\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438 \u043D\u0430 MathJax, \u043F\u0430 \u0437\u0430\u0442\u043E\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442 \u043D\u0430 \u043D\u0435\u043A\u043E\u0438 \u0438\u0437\u0440\u0435\u0437\u0438 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043B\u043E\u0448.", + MSIESVGWarning: "Internet Explorer \u043D\u0435\u043C\u0430 \u043F\u043E\u0434\u0434\u0440\u0448\u043A\u0430 \u0437\u0430 SVG \u0432\u043E \u0432\u0435\u0440\u0437\u0438\u0438\u0442\u0435 \u043F\u0440\u0435\u0434 IE9 \u0438\u043B\u0438 \u043A\u043E\u0433\u0430 \u0435\u043C\u0443\u043B\u0438\u0440\u0430 IE8 \u0438\u043B\u0438 \u043F\u043E\u0441\u0442\u0430\u0440\u0438 \u0432\u0435\u0440\u0437\u0438\u0438. \u0417\u0430\u0442\u043E\u0430, \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438\u0442\u0435 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0438 \u043D\u0435\u043C\u0430 \u0434\u0430 \u0441\u0435 \u0438\u0441\u043F\u0438\u0448\u0443\u0432\u0430\u0430\u0442 \u043F\u0440\u0430\u0432\u0438\u043B\u043D\u043E.", + LoadURL: "\u0412\u0447\u0438\u0442\u0430\u0458 \u0433\u0438 \u043F\u0440\u0435\u0432\u043E\u0434\u043D\u0438\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u043E\u0434 \u0441\u043B\u0435\u0434\u043D\u0430\u0432\u0430 URL:", + BadURL: "URL-\u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0430 \u0441\u043E JavaScript-\u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u0448\u0442\u043E \u0433\u0438 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0443\u0432\u0430\u0430\u0442 \u043F\u0440\u0435\u0432\u043E\u0434\u043D\u0438\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u0437\u0430 MathJax. JavaScript-\u043F\u043E\u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0438\u0442\u0435 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430\u0430\u0442 \u0441\u043E \u043D\u0430\u0441\u0442\u0430\u0432\u043A\u0430\u0442\u0430 \u201E.js\u201C", + BadData: "\u041D\u0435 \u0443\u0441\u043F\u0435\u0430\u0432 \u0434\u0430 \u0433\u0438 \u0432\u0447\u0438\u0442\u0430\u043C \u043F\u0440\u0435\u0432\u043E\u0434\u043D\u0438\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u043E\u0446\u0438 \u043E\u0434 %1", + SwitchAnyway: "\u0421\u0435\u043F\u0430\u043A \u0434\u0430 \u0433\u043E \u0441\u043C\u0435\u043D\u0430\u043C \u0438\u0441\u043F\u0438\u0448\u0443\u0432\u0430\u0447\u043E\u0442?\n\n(\u041E\u041A \u0437\u0430 \u0434\u0430 \u0441\u0435 \u0441\u043C\u0435\u043D\u0438 \u0438\u043B\u0438 \u041E\u0422\u041A\u0410\u0416\u0418 \u0437\u0430 \u0434\u0430 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u0435 \u0441\u043E \u043F\u043E\u0441\u0442\u043E\u0435\u0447\u043A\u0438\u043E\u0442)", + ScaleMath: "\u0420\u0430\u0437\u043C\u0435\u0440 \u043D\u0430 \u0441\u0435\u0442\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 (\u0432\u043E \u043E\u0434\u043D\u043E\u0441 \u043D\u0430 \u043E\u043A\u043E\u043B\u043D\u0438\u043E\u0442 \u0442\u0435\u043A\u0441\u0442, \u043A\u0430\u043A\u043E \u043F\u043E\u0441\u0442\u043E\u0442\u043E\u043A):", + NonZeroScale: "\u0420\u0430\u0437\u043C\u0435\u0440\u043E\u0442 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043D\u0443\u043B\u0430", + PercentScale: "\u0420\u0430\u0437\u043C\u0435\u0440\u043E\u0442 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0435 \u0438\u0437\u0440\u0430\u0437\u0435\u043D \u0432\u043E \u043F\u043E\u0441\u0442\u043E\u0442\u043E\u043A (\u043D\u0430 \u043F\u0440. 120%%)", + IE8warning: "\u0421\u043E \u043E\u0432\u0430 \u045C\u0435 \u0433\u0438 \u0438\u0441\u043A\u043B\u0443\u0447\u0438\u0442\u0435 \u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438\u0442\u0435 \u043E\u0434 \u043C\u0435\u043D\u0438\u0442\u043E \u0438 \u043C\u0435\u043D\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 \u0433\u043E\u043B\u0435\u043C\u0438\u043D\u0430\u0442\u0430 \u0432\u043E MathJax, \u043D\u043E \u043C\u0435\u043D\u0438\u0442\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u043E \u0434\u043E\u0431\u0438\u0435\u0442\u0435 \u0441\u043E Alt-\u0441\u0442\u0438\u0441\u043E\u043A \u043D\u0430 \u043D\u0435\u043A\u043E\u0458 \u0438\u0437\u0440\u0430\u0437.\n\n\u041D\u0430\u0432\u0438\u0441\u0442\u0438\u043D\u0430 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043C\u0435\u0430\u043C \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438\u0442\u0435 \u043D\u0430 MathPlayer?", + IE9warning: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0442\u043E \u043C\u0435\u043D\u0438 \u043D\u0430 MathJax \u045C\u0435 \u0431\u0438\u0434\u0435 \u0438\u0441\u043A\u043B\u0443\u0447\u0435\u043D\u043E, \u043D\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u0438\u0442\u0435 Alt-\u0441\u0442\u0438\u0441\u043E\u043A \u043D\u0430 \u0438\u0437\u0440\u0430\u0437\u043E\u0442 \u0437\u0430 \u0434\u0430 \u0433\u043E \u0434\u043E\u0431\u0438\u0435\u0442\u0435 \u043C\u0435\u043D\u0438\u0442\u043E.", + NoOriginalForm: "\u041D\u0435\u043C\u0430 \u0438\u0437\u0432\u043E\u0440\u0435\u043D \u043E\u0431\u043B\u0438\u043A \u043D\u0430 \u0440\u0430\u0441\u043F\u043E\u043B\u0430\u0433\u0430\u045A\u0435", + Close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438", + EqSource: "\u0418\u0437\u0432\u043E\u0440 \u043D\u0430 \u0440\u0430\u0432\u0435\u043D\u043A\u0438\u0442\u0435 \u043D\u0430 MathJax", + CloseAboutDialog: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438 \u0433\u043E \u0434\u0438\u0458\u0430\u043B\u043E\u0433\u043E\u0442 \u0437\u0430 MathJax", + FastPreview: "\u0411\u0440\u0437 \u043F\u0440\u0435\u0433\u043B\u0435\u0434", + AssistiveMML: "\u041F\u043E\u043C\u043E\u0448\u0435\u043D MathML", + InTabOrder: "\u0412\u043A\u043B\u0443\u0447\u0438 \u0432\u043E \u0440\u0435\u0434\u043E\u0441\u043B\u0435\u0434\u043E\u0442 \u043D\u0430 \u0458\u0430\u0437\u0438\u0447\u0438\u045A\u0430" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/TeX.js b/src/py/kaleido/vendor/mathjax/localization/mk/TeX.js new file mode 100644 index 00000000..7bb3e5c0 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/mk/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/mk/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0418\u043C\u0430\u0442\u0435 \u043D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0438\u043B\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430", + ExtraCloseMissingOpen: "\u0418\u043C\u0430\u0442\u0435 \u043D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0438\u043B\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430", + MissingLeftExtraRight: "\u041D\u0435\u043C\u0430\u0442\u0435 \u201E\\left\u201C \u0438\u043B\u0438 \u0438\u043C\u0430\u0442\u0435 \u0432\u0438\u0448\u043E\u043A \u201E\\right\u201C", + MissingScript: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 \u0433\u043E\u0440\u0435\u043D \u0438\u043B\u0438 \u0434\u043E\u043B\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441", + ExtraLeftMissingRight: "\u041D\u0435\u043C\u0430\u0442\u0435 \u201E\\right\u201C \u0438\u043B\u0438 \u0438\u043C\u0430\u0442\u0435 \u0432\u0438\u0448\u043E\u043A \u201E\\left\u201C", + Misplaced: "\u041F\u043E\u0433\u0440\u0435\u0448\u043D\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0435\u043D %1", + MissingOpenForSub: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0437\u0430 \u0434\u043E\u043B\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441", + MissingOpenForSup: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043F\u043E\u0447\u0435\u0442\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0437\u0430 \u0433\u043E\u0440\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441", + AmbiguousUseOf: "\u041D\u0435\u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 %1", + EnvBadEnd: "\\begin{%1} \u0437\u0430\u0431\u0440\u0448\u0438 \u0441\u043E \\end{%2}", + EnvMissingEnd: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \\end{%1}", + MissingBoxFor: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u043A\u0443\u0442\u0438\u0458\u043A\u0430 \u0437\u0430 %1", + MissingCloseBrace: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430", + UndefinedControlSequence: "\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043D\u0438\u0437\u0430 %1", + DoubleExponent: "\u0414\u0432\u043E\u0435\u043D \u0433\u043E\u0440\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441: \u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0435 \u0441\u043E \u0437\u0430\u0433\u0440\u0430\u0434\u0438", + DoubleSubscripts: "\u0414\u0432\u043E\u0435\u043D \u0434\u043E\u043B\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441: \u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0435 \u0441\u043E \u0437\u0430\u0433\u0440\u0430\u0434\u0438", + DoubleExponentPrime: "\u041F\u0440\u0438\u043C\u043E\u0442 \u043F\u0440\u0430\u0432\u0438 \u0434\u0432\u043E\u0435\u043D \u0433\u043E\u0440\u0435\u043D \u0438\u043D\u0434\u0435\u043B\u043A\u0441: \u043F\u043E\u0458\u0430\u0441\u043D\u0435\u0442\u0435 \u0441\u043E \u0437\u0430\u0433\u0440\u0430\u0434\u0438", + CantUseHash1: "\u041D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u043E \u043A\u043E\u0440\u0438\u0441\u0442\u0438\u0442\u0435 \u043C\u0430\u043A\u0440\u043E\u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0430\u0440\u0441\u043A\u0438\u043E\u0442 \u0437\u043D\u0430\u043A \u201E#\u201C \u0432\u043E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0440\u0435\u0436\u0438\u043C", + MisplacedMiddle: "%1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u201E\\left\u201C \u0438\u043B\u0438 \u201E\\right\u201C", + MisplacedLimits: "%1 \u0441\u0435 \u0434\u043E\u043F\u0443\u0448\u0442\u0430 \u0441\u0430\u043C\u043E \u0437\u0430 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0438", + MisplacedMoveRoot: "%1 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0458\u0430\u0432\u0443\u0432\u0430 \u0441\u0430\u043C\u043E \u0432\u043E \u043A\u043E\u0440\u0435\u043D", + MultipleCommand: "%1 \u0441\u0435 \u0458\u0430\u0432\u0443\u0432\u0430 \u043F\u043E\u0432\u0435\u045C\u0435\u043F\u0430\u0442\u0438", + IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0446\u0435\u043B \u0431\u0440\u043E\u0458", + NotMathMLToken: "%1 \u043D\u0435 \u0435 \u0448\u0438\u0444\u0440\u0435\u043D \u0435\u043B\u0435\u043C\u0435\u043D\u0442", + InvalidMathMLAttr: "\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0438 MathML-\u0430\u0442\u0440\u0438\u0431\u0443\u0442: %1", + UnknownAttrForElement: "%1 \u043D\u0435 \u0435 \u043F\u0440\u0438\u0437\u043D\u0430\u0435\u043D \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0437\u0430 %2", + MaxMacroSub1: "\u041D\u0430\u0434\u043C\u0438\u043D\u0430\u0442 \u0435 \u043D\u0430\u0458\u0433\u043E\u043B\u0435\u043C\u0438\u043E\u0442 \u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D \u0431\u0440\u043E\u0458 \u043D\u0430 \u043C\u0430\u043A\u0440\u043E\u0437\u0430\u043C\u0435\u043D\u0438 \u0432\u043E MathJax. \u0414\u0430 \u043D\u0435 \u0438\u043C\u0430 \u0440\u0435\u043A\u0443\u0440\u0437\u0438\u0432\u043D\u043E \u043F\u043E\u0432\u0438\u043A\u0443\u0432\u0430\u045A\u0435 \u043D\u0430 \u043C\u0430\u043A\u0440\u043E\u0437\u0430\u043C\u0435\u043D\u0430\u0442\u0430?", + MaxMacroSub2: "\u041D\u0430\u0434\u043C\u0438\u043D\u0430\u0442 \u0435 \u043D\u0430\u0458\u0433\u043E\u043B\u0435\u043C\u0438\u043E\u0442 \u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D \u0431\u0440\u043E\u0458 \u043D\u0430 \u043C\u0430\u043A\u0440\u043E\u0437\u0430\u043C\u0435\u043D\u0438 \u0432\u043E MathJax. \u0414\u0430 \u043D\u0435 \u0438\u043C\u0430 \u0440\u0430\u043A\u0443\u0440\u0437\u0438\u0432\u043D\u0430 LaTeX-\u043E\u043A\u043E\u043B\u0438\u043D\u0430?", + MissingArgFor: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1", + ExtraAlignTab: "\u041D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u0435\u043D \u0437\u043D\u0430\u043A \u0437\u0430 \u043F\u043E\u0440\u0430\u043C\u043D\u0443\u0432\u0430\u045A\u0435 \u0432\u043E \u0442\u0435\u043A\u0441\u0442\u043E\u0442 \u043D\u0430 \u201E\\cases\u201C", + BracketMustBeDimension: "\u0417\u0430\u0433\u0440\u0430\u0434\u0435\u043D\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0438\u043C\u0435\u043D\u0437\u0438\u0458\u0430", + InvalidEnv: "\u041F\u043E\u0433\u0440\u0435\u0448\u043D\u043E \u0438\u043C\u0435 \u043D\u0430 \u043E\u043A\u043E\u043B\u0438\u043D\u0430\u0442\u0430 \u201E%1\u201C", + UnknownEnv: "\u041D\u0435\u043F\u043E\u0437\u043D\u0430\u0442\u0430 \u043E\u043A\u043E\u043B\u0438\u043D\u0430 \u201E%1\u201C", + ExtraCloseLooking: "\u041D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u0430 \u0437\u0430\u0432\u0440\u0448\u043D\u0430 \u0437\u0430\u0433\u0440\u0430\u0434\u0430 \u0432\u043E \u043F\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 %1", + MissingCloseBracket: "\u041D\u0435 \u043C\u043E\u0436\u0435\u0432 \u0434\u0430 \u043D\u0430\u0458\u0434\u0430\u043C \u0437\u0430\u0432\u0440\u0448\u043D\u043E ']' \u0437\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0442 \u0432\u043E %1", + MissingOrUnrecognizedDelim: "\u041E\u0442\u0441\u0443\u0442\u0435\u043D \u0438\u043B\u0438 \u043D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043E\u0434\u0434\u0435\u043B\u0443\u0432\u0430\u0447 \u0437\u0430 %1", + MissingDimOrUnits: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0434\u0438\u043C\u0435\u043D\u0437\u0438\u0458\u0430 \u0438\u043B\u0438 \u043D\u0435\u0458\u0437\u0438\u043D\u0438 \u0435\u0434\u0438\u043D\u0438\u0446\u0438 \u0437\u0430 %1", + TokenNotFoundForCommand: "\u041D\u0435 \u043C\u043E\u0436\u0435\u0432 \u0434\u0430 \u0433\u043E \u043D\u0430\u0458\u0434\u0430\u043C %1 \u0437\u0430 %2", + MathNotTerminated: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430\u0442\u0430 \u0441\u043E\u0434\u0440\u0436\u0438\u043D\u0430 \u043D\u0435 \u0435 \u0437\u0430\u0432\u0440\u0448\u0435\u043D\u0430 \u0432\u043E \u043F\u043E\u043B\u0435\u0442\u043E \u0437\u0430 \u0442\u0435\u043A\u0441\u0442", + IllegalMacroParam: "\u041D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u0435\u043D \u043C\u0430\u043A\u0440\u043E\u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0430\u0440", + MaxBufferSize: "\u041D\u0430\u0434\u043C\u0438\u043D\u0430\u0442\u0430 \u0435 \u0433\u043E\u043B\u0435\u043C\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 \u0432\u043D\u0430\u0442\u0440\u0435\u0448\u043D\u0438\u043E\u0442 \u043C\u0435\u0453\u0443\u0441\u043A\u043B\u0430\u0434 \u043D\u0430 MathJax. \u0414\u0430 \u043D\u0435 \u0438\u043C\u0430 \u0440\u0435\u043A\u0443\u0440\u0437\u0438\u0432\u043D\u043E \u043C\u0430\u043A\u0440\u043E\u043F\u043E\u0432\u0438\u043A\u0443\u0432\u0430\u045A\u0435?", + CommandNotAllowedInEnv: "%1 \u043D\u0435 \u0441\u0435 \u0434\u043E\u043F\u0443\u0448\u0442\u0430 \u0432\u043E \u043E\u043A\u043E\u043B\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 %2", + MultipleLabel: "\u041D\u0430\u0442\u043F\u0438\u0441\u043E\u0442 \u201E%1\u201C \u0435 \u0437\u0430\u0434\u0430\u0434\u0435\u043D \u043F\u043E\u0432\u0435\u045C\u0435\u043F\u0430\u0442\u0438", + CommandAtTheBeginingOfLine: "%1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0434\u043E\u0458\u0434\u0435 \u043D\u0430 \u043F\u043E\u0447\u0435\u0442\u043E\u043A\u043E\u0442 \u043E\u0434 \u0440\u0435\u0434\u043E\u0442", + IllegalAlign: "\u0423\u043A\u0430\u0436\u0430\u043D\u043E \u0435 \u043D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u0435\u043D\u043E \u043F\u043E\u0440\u0430\u043C\u043D\u0443\u0432\u0430\u045A\u0435 \u0432\u043E %1", + BadMathStyleFor: "\u041D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u0435\u043D \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0438 \u0441\u0442\u0438\u043B \u0437\u0430 %1", + PositiveIntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u043F\u043E\u0437\u0438\u0442\u0438\u0432\u0435\u043D \u0446\u0435\u043B \u0431\u0440\u043E\u0458", + ErroneousNestingEq: "\u041F\u043E\u0433\u0440\u0435\u0448\u043D\u043E \u0432\u043C\u0435\u0442\u043D\u0430\u0442\u0438 \u0440\u0430\u0432\u0435\u043D\u0441\u043A\u0438 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438", + MultlineRowsOneCol: "\u0420\u0435\u0434\u043E\u0432\u0438\u0442\u0435 \u0432\u043E \u0441\u043E\u0441\u0442\u0430\u0432 \u043D\u0430 \u043E\u043A\u043E\u043B\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0438\u043C\u0430\u0430\u0442 \u0442\u043E\u0447\u043D\u043E \u043F\u043E \u0435\u0434\u043D\u0430 \u043A\u043E\u043B\u043E\u043D\u0430", + MultipleBBoxProperty: "%1 \u0435 \u0443\u043A\u0430\u0436\u0430\u043D\u043E \u0434\u0432\u0430\u043F\u0430\u0442\u0438 \u0432\u043E %2", + InvalidBBoxProperty: "\u201E%1\u201C \u043D\u0435 \u0435 \u0431\u043E\u0458\u0430, \u0434\u0438\u043C\u0435\u043D\u0437\u0438\u0458\u0430 \u0437\u0430 \u0441\u043B\u043E\u0436\u0443\u0432\u0430\u045A\u0435 \u0438\u043B\u0438 \u0441\u0442\u0438\u043B", + ExtraEndMissingBegin: "\u041D\u0435\u043F\u043E\u0442\u0440\u0435\u0431\u043D\u043E %1 \u0438\u043B\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \\begingroup", + GlobalNotFollowedBy: "%1 \u043D\u0435 \u0435 \u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D\u043E \u043E\u0434 \u201E\\let\u201C, \u201E\\def\u201C \u0438\u043B\u0438 \u201E\\newcommand\u201C", + UndefinedColorModel: "\u0411\u043E\u0458\u043D\u0438\u043E\u0442 \u043C\u043E\u0434\u0435\u043B \u201E%1\u201C \u043D\u0435 \u0435 \u0437\u0430\u0434\u0430\u0434\u0435\u043D", + ModelArg1: "\u0411\u043E\u0458\u043D\u0438\u0442\u0435 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0438 \u0437\u0430 \u043C\u043E\u0434\u0435\u043B\u043E\u0442 %1 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0438\u043C\u0430\u0430\u0442 \u043F\u043E \u0442\u0440\u0438 \u0431\u0440\u043E\u0458\u043A\u0438", + InvalidDecimalNumber: "\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0438 \u0434\u0435\u0446\u0438\u043C\u0430\u043B\u0435\u043D \u0431\u0440\u043E\u0458", + ModelArg2: "\u0411\u043E\u0458\u043D\u0438\u0442\u0435 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0438 \u0437\u0430 \u043C\u043E\u0434\u0435\u043B\u043E\u0442 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0430\u0442 \u043F\u043E\u043C\u0435\u0453\u0443 %2 \u0438 %3", + InvalidNumber: "\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0438 \u0431\u0440\u043E\u0458", + NewextarrowArg1: "\u041F\u0440\u0432\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0438\u043C\u0435\u043D\u0443\u0432\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043D\u0438\u0437\u0430", + NewextarrowArg2: "\u0412\u0442\u043E\u0440\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u0441\u043E\u0441\u0442\u043E\u0438 \u043E\u0434 \u0434\u0432\u0430 \u0446\u0435\u043B\u0438 \u0431\u0440\u043E\u0458\u0430 \u043E\u0434\u0434\u0435\u043B\u0435\u043D\u0438 \u0441\u043E \u0437\u0430\u043F\u0438\u0440\u043A\u0430", + NewextarrowArg3: "\u0422\u0440\u0435\u0442\u0438\u043E\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0443\u043D\u0438\u043A\u043E\u0434\u0435\u043D \u0431\u0440\u043E\u0435\u043D \u0437\u043D\u0430\u043A", + NoClosingChar: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u043D\u0430\u0458\u0434\u0430\u043C \u0437\u0430\u0432\u0440\u0448\u043D\u043E %1", + IllegalControlSequenceName: "\u041D\u0435\u0438\u0441\u043F\u0440\u0430\u0432\u043D\u043E \u0438\u043C\u0435 \u043D\u0430 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430\u0442\u0430 \u043D\u0438\u0437\u0430 \u0437\u0430 %1", + IllegalParamNumber: "\u041D\u0430 %1 \u043C\u0443 \u0435 \u0443\u043A\u0430\u0436\u0430\u043D \u043D\u0435\u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D \u0431\u0440\u043E\u0458 \u043D\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438", + MissingCS: "%1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0435 \u043F\u0440\u043E\u0441\u043B\u0435\u0434\u0435\u043D \u043E\u0434 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043D\u0430 \u043D\u0438\u0437\u0430", + CantUseHash2: "\u041D\u0435\u0434\u043E\u043F\u0443\u0448\u0442\u0435\u043D\u0430 \u0443\u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u043D\u0430 \u201E#\u201C \u0432\u043E \u0448\u0430\u0431\u043B\u043E\u043D\u043E\u0442 \u0437\u0430 %1", + SequentialParam: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438\u0442\u0435 \u0437\u0430 %1 \u043C\u043E\u0440\u0430 \u0434\u0430 \u0441\u0435 \u043D\u0443\u043C\u0435\u0440\u0438\u0440\u0430\u043D\u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u043D\u043E", + MissingReplacementString: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0441\u0443\u0432\u0430 \u0437\u0430\u043C\u0435\u043D\u0430 \u0437\u0430 \u043D\u0438\u0437\u0430\u0442\u0430 \u0432\u043E \u0437\u0430\u0434\u0430\u0434\u0435\u043D\u043E\u0442\u043E \u043D\u0430 %1", + MismatchUseDef: "\u0423\u043F\u043E\u0442\u0440\u0435\u0431\u0430\u0442\u0430 \u043D\u0430 %1 \u043D\u0435 \u043E\u0434\u0433\u043E\u0432\u0430\u0440\u0430 \u043D\u0430 \u0437\u0430\u0434\u0430\u0434\u0435\u043D\u043E\u0442\u043E", + RunawayArgument: "\u041D\u0435\u0441\u043A\u043B\u0430\u0434\u0435\u043D \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0437\u0430 %1?", + NoClosingDelim: "\u041D\u0435 \u043C\u043E\u0436\u0430\u043C \u0434\u0430 \u0433\u043E \u043D\u0430\u0458\u0434\u0430\u043C \u0437\u0430\u0432\u0440\u0448\u043D\u0438\u043E\u0442 \u043E\u0434\u0434\u0435\u043B\u0443\u0432\u0430\u0447 \u0437\u0430 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/mk/mk.js b/src/py/kaleido/vendor/mathjax/localization/mk/mk.js new file mode 100644 index 00000000..91eea748 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/mk/mk.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/mk/mk.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("mk",null,{ + menuTitle: "\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u043F\u0440\u043E\u043D\u0430\u0458\u0434\u0435 \u043A\u043E\u043B\u0430\u0447\u0435 \u0441\u043E \u043A\u043E\u0440\u0438\u0441\u043D\u0438\u0447\u043A\u0438 \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438 \u043A\u043E\u0435 \u0441\u043E\u0434\u0440\u0436\u0438 \u043A\u043E\u0434 \u0448\u0442\u043E \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0441\u0435 \u043F\u0443\u0448\u0442\u0438. \u0421\u0430\u043A\u0430\u0442\u0435 \u0434\u0430 \u0433\u043E \u043F\u0443\u0448\u0442\u0438\u0442\u0435?\n\n(\u0421\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u043D\u0430 \u201E\u041E\u0442\u043A\u0430\u0436\u0438\u201C \u0434\u043E\u043A\u043E\u043B\u043A\u0443 \u043D\u0435 \u0441\u0442\u0435 \u0433\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u043B\u0435 \u043A\u043E\u043B\u0430\u0447\u0435\u0442\u043E \u0432\u0438\u0435 \u0441\u0430\u043C\u0438\u0442\u0435.)", + MathProcessingError: "\u0413\u0440\u0435\u0448\u043A\u0430 \u0432\u043E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430\u0442\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430", + MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430 \u0433\u0440\u0435\u0448\u043A\u0430", + LoadFile: "\u0413\u043E \u0432\u0447\u0438\u0442\u0443\u0432\u0430\u043C %1", + Loading: "\u0412\u0447\u0438\u0442\u0443\u0432\u0430\u043C", + LoadFailed: "\u041F\u043E\u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0430\u0442\u0430 \u043D\u0435 \u0441\u0435 \u0432\u0447\u0438\u0442\u0430: %1", + ProcessMath: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043A\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430: %1%%", + Processing: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0443\u0432\u0430\u043C", + TypesetMath: "\u0421\u043B\u043E\u0436\u0443\u0432\u0430\u045A\u0435 \u043D\u0430 \u0438\u0441\u043F\u0438\u0441\u043E\u0442: %1%%", + Typesetting: "\u0421\u043B\u043E\u0436\u0443\u0432\u0430\u043C \u0438\u0441\u043F\u0438\u0441", + MathJaxNotSupported: "\u0412\u0430\u0448\u0438\u043E\u0442 \u043F\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430\u0447 \u043D\u0435 \u0433\u043E \u043F\u043E\u0434\u0434\u0440\u0436\u0443\u0432\u0430 MathJax", + ErrorTips: "\u0421\u043E\u0432\u0435\u0442\u0438 \u0437\u0430 \u0438\u0441\u043F\u0440\u0430\u0432\u0430\u045A\u0435 \u0433\u0440\u0435\u0448\u043A\u0438: \u043A\u043E\u0440\u0438\u0441\u0442\u0435\u0442\u0435 %%1, \u043F\u0440\u0435\u0433\u043B\u0435\u0434\u0430\u0458\u0442\u0435 \u0433\u043E %%2 \u0432\u043E \u043F\u0440\u0435\u043B\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u043A\u0430\u0442\u0430 \u043A\u043E\u043D\u0437\u043E\u043B\u0430" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && n !== 11) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/mk/mk.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/nl/FontWarnings.js new file mode 100644 index 00000000..67415468 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/nl/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/nl/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax gebruikt web-gebaseerde lettertypes om wiskunde weer te geven op deze pagina. Het kost tijd om deze te downloaden, dus de pagina zou sneller weergegeven worden als u de wiskunde lettertypes direct in de lettertype map van uw systeem zou plaatsen.", + imageFonts: "MathJax gebruikt zijn beeldlettertypes en niet zijn lokale of webgebaseerde lettertypes. Dit geeft een tragere weergave dan normaal en de wiskunde wordt wellicht niet op de hoogste resolutie van uw printer afgedrukt.", + noFonts: "MathJax is niet in staat een lettertype te vinden waarmee het zijn wiskunde kan weergeven, en beeld-lettertypes zijn niet beschikbaar, dus valt het nu terug op generieke Unicodetekens in de hoop dat uw browsers in staat is ze weer te geven. Sommige tekens worden wellicht niet goed weergegeven en mogelijkerwijs helemaal niet.", + webFonts: "De meeste moderne browsers kunnen lettertypes via het web downloaden. Updaten naar een recentere versie van uw browser (of een andere browser gaan gebruiken) zou de kwaliteit van de wiskunde op deze pagina kunnen verbeteren.", + fonts: "MathJax kan de [STIX fonts](%1) \u00F3f de [MathJax TeX fonts](%2) gebruiken. Download en installeer een van deze lettertypes om uw MathJax ervaring te verbeteren.", + STIXPage: "Deze pagina is ontworpen om de [STIX fonts](%1) te gebruiken. Download en installeer deze lettertypes om uw MathJax ervaring te verbeteren.", + TeXPage: "Deze pagina is ontworpen om de [MathJax TeX fonts](%1) te gebruiken. Download en installeer deze lettertypes om uw MathJax ervaring te verbeteren." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/nl/HTML-CSS.js new file mode 100644 index 00000000..8c6f8d7a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/nl/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/nl/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Weblettertype %1 aan het laden", + CantLoadWebFont: "Het weblettertype %1 kan niet geladen worden.", + FirefoxCantLoadWebFont: "Firefox kan geen web-lettertypes laden van een externe host", + CantFindFontUsing: "Kan met gebruik van %1 geen geldig lettertype vinden", + WebFontsNotAvailable: "Weblettertypes zijn niet beschikbaar. In plaats daarvan worden afbeeldingslettertypes gebruikt" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/nl/HelpDialog.js new file mode 100644 index 00000000..4951979a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/nl/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/nl/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax-hulp", + MathJax: "*MathJax* is een JavaScript bibliotheek die het mogelijk maakt dat auteurs wiskunde kunnen toevoegen aan hun web-pagina's. Als een lezer hoeft u niks te doen om dat mogelijk te maken.", + Browsers: "*Browsers*: MathJax werkt met alle moderne browsers, inclusief IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ en de meeste mobiele browsers.", + Menu: "*Math menu*:MathJax voegt een context menu toe aan vergelijkingen. Rechtsklik of Ctrl-klik op willekeurige wiskunde om het menu weer te geven.", + ShowMath: "*Wiskunde weergeven als* geeft de formule in bron opmaak weer voor knippen en plakken (als MathML of in de originele opmaak).", + Settings: "Via *Instellingen* kunt u de functionaliteit van MathJax beheersen, zoals de grootte van de wiskunde en het mechanisme dat gebruikt wordt om vergelijkingen weer te geven.", + Language: "Via *Taal* kunt u de taal kiezen die MathJax gebruikt voor de menu's en waarschuwingsboodschappen.", + Zoom: "*Wiskunde zoom*: Als u moeite heeft met het lezen van een vergelijking dan kan MathJax deze vergroten zodat u het beter kunt zien.", + Accessibilty: "*Toegankelijkheid*: MathJax werkt automatisch samen met schermlezers waardoor wiskunde toegankelijk wordt voor slechtzienden.", + Fonts: "*Lettertypes*: MathJax gebruikt bepaalde wiskunde lettertypes als die ge\u00EFnstalleerd zijn op uw computer; anders gebruikt het webgebaseerde lettertypes. Alhoewel het niet noodzakelijk is, versnellen lokaal ge\u00EFnstalleerde lettertypes het zetwerk. We raden aan om de [STIX fonts](%1) te installeren.", + CloseDialog: "Hulpvenster sluiten" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/nl/MathML.js new file mode 100644 index 00000000..5c2bf8b5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/nl/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/nl/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Onjuiste mglyph: %1", + BadMglyphFont: "Verkeerd lettertype: %1", + MathPlayer: "MathJax was niet in staat MathPlayer in te stellen.\n\nAls MathPlay niet ge\u00EFnstalleerd is, doe dat dan eerst.\nAnders kan het zijn dat beveiligingsinstellingen de uitvoering van ActiveX-besturingselementen verhinderen. Gebruik de keuze Internet Opties in het menu Extra en selecteer het tabblad Beveiligingsinstellingen en druk op de knop Aangepaste niveau.\nControleer dat de instellingen voor \"Uitvoeren van ActiveX-besturingselementen\" en \"Gedrag van binaire elementen en scripts\" ingeschakeld zijn.\n\nMomenteel zie u foutmeldingen in plaats van opgemaakte wiskunde.", + CantCreateXMLParser: "MathJax kan geen XML-verwerker cre\u00EBren voor MathML. Controleer of de beveiligingsinstelling \"ActiveX-besturingselementen die zijn gemarkeerd als veilig voor uitvoeren in scripts\" is ingeschakeld. Gebruik de keuze Internet Opties in het menu Extra en selecteer het paneel Beveiliging, druk dan op de knop Aangepast niveau om dit te controleren.\n\nMathML-vergelijkingen kunnen niet verwerkt worden door MathJax.", + UnknownNodeType: "Onbekend knooptype: %1", + UnexpectedTextNode: "Onverwachte tekstknoop: %1", + ErrorParsingMathML: "Fout tijdens verwerken MathML", + ParsingError: "Fout tijdens verwerken MathML: %1", + MathMLSingleElement: "MathML moet bestaan uit \u00E9\u00E9n element", + MathMLRootElement: "MathML moet bestaan uit een \u003Cmath\u003E element, niet %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/nl/MathMenu.js new file mode 100644 index 00000000..0fb21d04 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/nl/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/nl/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Wiskunde weergeven als", + MathMLcode: "MathML-code", + OriginalMathML: "Oorspronkelijke MathML", + TeXCommands: "TeX-commando's", + AsciiMathInput: "AsciiMathML-invoer", + Original: "Oorspronkelijke vorm", + ErrorMessage: "Foutmelding", + Annotation: "Annotatie", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Inhoud MathML", + OpenMath: "OpenMath", + texHints: "TeX-hints weergeven in MathML", + Settings: "Instellingen voor wiskundige formules", + ZoomTrigger: "Inzoomen als", + Hover: "Aanwijseffect", + Click: "Klik", + DoubleClick: "Dubbelklik", + NoZoom: "Niet zoomen", + TriggerRequires: "Trigger vereist:", + Option: "Optie", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Zoomfactor", + Renderer: "Mathverwerking", + MPHandles: "MathPlayer de volgende gebeurtenissen laten afhandelen:", + MenuEvents: "Menugebeurtenissen", + MouseEvents: "Muisgebeurtenissen", + MenuAndMouse: "Muis- en menugebeurtenissen", + FontPrefs: "Lettertypevoorkeuren", + ForHTMLCSS: "Voor HTML-CSS:", + Auto: "Automatisch", + TeXLocal: "TeX (lokaal)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (afbeelding)", + STIXLocal: "STIX (lokaal)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Contextueel menu", + Browser: "Browser", + Scale: "Alle wiskunde schalen als ...", + Discoverable: "Uitlichten bij aanwijzen", + Locale: "Taal", + LoadLocale: "Laden van URL ...", + About: "Over MathJax", + Help: "MathJax-hulp", + localTeXfonts: "met behulp van lokale TeX-lettertypen", + webTeXfonts: "met behulp van weblettertype TeX", + imagefonts: "met behulp van afbeeldingslettertypes", + localSTIXfonts: "met behulp van lokale STIX-lettertypes", + webSVGfonts: "met behulp van SVG-weblettertypen", + genericfonts: "met behulp van standaard Unicodelettertypen", + wofforotffonts: "WOFF- of OTF-lettertypen", + eotffonts: "EOT-lettertypen", + svgfonts: "SVG-lettertypen", + WebkitNativeMMLWarning: "Uw browser lijkt MathML niet te ondersteunen. Door te kiezen voor MathML-uitvoer kunnen de wiskundige formules op de pagina onleesbaar worden.", + MSIENativeMMLWarning: "Internet Explorer vereist de MathPlayer plug-in om MathML-uitvoer te verwerken", + OperaNativeMMLWarning: "De ondersteuning voor MathML in Opera is beperkt, dus als u overschakelt naar weergave via MathML kunnen sommige expressies slecht worden weergegeven.", + SafariNativeMMLWarning: "De in uw browser ingebouwde MathML heeft niet alle mogelijkheden die door MathJax worden gebruikt, dus niet alle expressies kunnen correct worden weergegeven.", + FirefoxNativeMMLWarning: "De in uw browser ingebouwde MathML heeft niet alle mogelijkheden die door MathJax worden gebruikt, dus niet alle expressies kunnen correct worden weergegeven.", + MSIESVGWarning: "SVG is niet ge\u00EFmplementeerd in Internet Explorer versies v\u00F3\u00F3r IE9 en ook niet wanneer het IE8 of lager emuleert. Kiezen voor SVG-uitvoer veroorzaakt onjuiste weergave van de wiskundige formules.", + LoadURL: "Vertalingsdata van deze URL laden:", + BadURL: "De URL moet naar een JavaScriptbestand wijzen waarin vertaalgegevens voor MathJax staan. De naam van het JavaScriptbestand moet eindigen op \".js\".", + BadData: "Vertalingsdata laden van %1 niet gelukt", + SwitchAnyway: "Evengoed de weergever wijzigen?\n\nDruk op OK om te wijzigen, ANNULEREN om door te gaan met de huidige wijze van weergeven.", + ScaleMath: "Alle wiskundige formules schalen (in vergelijking tot de omliggende tekst) met", + NonZeroScale: "De schaal hoort geen nul te zijn", + PercentScale: "De schaal moet een percentage zijn (bijvoorbeeld 120%%)", + IE8warning: "Hierdoor wordt het MathJaxmenu en zoomfuncties uitgeschakeld, maar u kunt via Alt-klik op een expressie het MathJamenu weergeven.\n\nWilt u inderdaad de instellingen van MathPlayer wijzigen?", + IE9warning: "Het context menu van MathJax wordt uitgeschakeld, maar u kunt in plaats daarvan door Alt-klikken op een expressie het MathJax menu weergeven.", + NoOriginalForm: "Geen oorspronkelijke vorm beschikbaar", + Close: "Sluiten", + EqSource: "MathJax Vergelijking Bron", + CloseAboutDialog: "Over Mathjax sluiten", + FastPreview: "Snell voorvertoning", + AssistiveMML: "Assistieve MathML", + InTabOrder: "Opnemen in tabvolgorde" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/nl/TeX.js new file mode 100644 index 00000000..2d7d5640 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/nl/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/nl/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Overtollige openende accolade of ontbrekende afsluitende accolade", + ExtraCloseMissingOpen: "Overtollige afsluitende accolade of ontbrekende openende accolade", + MissingLeftExtraRight: "Ontbrekende \\left of overtollige \\right", + MissingScript: "Ontbrekend superschrift- of subschriftargument", + ExtraLeftMissingRight: "Overtollige \\left of ontbrekende \\right", + Misplaced: "Onjuist geplaatste %1", + MissingOpenForSub: "Ontbrekende openende accolade voor subschrift", + MissingOpenForSup: "Ontbrekende openende accolade voor superschrift", + AmbiguousUseOf: "Dubbelzinnig gebruik van %1", + EnvBadEnd: "\\begin{%1} eindigde met \\end{%2}", + EnvMissingEnd: "Ontbrekende \\end{%1}", + MissingBoxFor: "Ontbrekende box voor %1", + MissingCloseBrace: "Ontbrekende afsluitende accolade", + UndefinedControlSequence: "Ongedefinieerde bewerkingsvolgorde %1", + DoubleExponent: "Dubbele exponent: gebruik accolades om te verduidelijken", + DoubleSubscripts: "Dubbele subschriften: gebruik accolades om te verduidelijken", + DoubleExponentPrime: "Priem veroorzaakt een dubbele exponent: Gebruik accolades om te verduidelijken.", + CantUseHash1: "U kunt 'macroparameterteken #' niet gebruiken in mathmodus", + MisplacedMiddle: "%1 moet zich tussen \\left en \\right bevinden", + MisplacedLimits: "%1 is alleen toegestaan op bewerkingstekens", + MisplacedMoveRoot: "%1 kan alleen voorkomen in een root", + MultipleCommand: "Meerdere %1", + IntegerArg: "Het argument voor %1 moet een geheel getal zijn", + NotMathMLToken: "%1 is geen symboolelement", + InvalidMathMLAttr: "Ongeldige MathML-eigenschap: %1", + UnknownAttrForElement: "%1 is geen bekende eigenschap voor %2", + MaxMacroSub1: "Het MathJax maximale aantal macrovervangingen is overschreden; is er een recursieve macro-aanroep?", + MaxMacroSub2: "Het MathJax maximale aantal macrovervangingen is overschreden; is er een recursieve LaTeX-omgeving?", + MissingArgFor: "Ontbrekend argument voor %1", + ExtraAlignTab: "Overtollige uitlijningtab in \\cases-tekst", + BracketMustBeDimension: "Rechte haak argument voor %1 moet een dimensie zijn", + InvalidEnv: "Ongeldige omgevingsnaam \"%1\"", + UnknownEnv: "Onbekende omgeving \"%1\"", + ExtraCloseLooking: "Overtollige afsluitende accolade terwijl gezocht wordt naar %1", + MissingCloseBracket: "Kon afsluitende ']' niet vinden als argument voor %1", + MissingOrUnrecognizedDelim: "Ontbrekend of onbekend scheidingsteken voor %1", + MissingDimOrUnits: "Ontbrekende dimensie of zijn eenheden voor %1", + TokenNotFoundForCommand: "Kon %1 niet vinden voor %2", + MathNotTerminated: "Math niet afgerond in een tekstblok", + IllegalMacroParam: "Niet toegestane macroparameterverwijzing", + MaxBufferSize: "MathJax interne bufferomvang overschreden; is er een recursieve macro-aanroep?", + CommandNotAllowedInEnv: "%1 niet toegestaan in de omgeving %2", + MultipleLabel: "Label \"%1\" meerdere keren gedefinieerd", + CommandAtTheBeginingOfLine: "%1 moet aan het begin van een regel staan", + IllegalAlign: "Niet toegestane uitlijning gespecificeerd in %1", + BadMathStyleFor: "Foute wiskundige stijl voor %1", + PositiveIntegerArg: "Het argument voor %1 moet een positief geheel getal zijn", + ErroneousNestingEq: "Foutief nesten van vergelijkingsstructuren", + MultlineRowsOneCol: "De regels in de omgeving %1 moeten precies \u00E9\u00E9n kolom bevatten", + MultipleBBoxProperty: "%1 twee keer gespecificeerd in %2", + InvalidBBoxProperty: "\"%1\" lijkt niet op een kleur, een opvuldimensie of een stijl", + ExtraEndMissingBegin: "Overtollige %1 of ontbrekende \\begingroup", + GlobalNotFollowedBy: "%1 niet gevolgd door \\let, \\def of \\newcommand", + UndefinedColorModel: "Kleurmodel \"%1\" niet gedefinieerd", + ModelArg1: "Kleurwaardes voor het %1 model hebben 3 getallen nodig", + InvalidDecimalNumber: "Ongeldig decimaal getal", + ModelArg2: "Kleurwaardes voor het model %1 moeten tussen %2 en %3 liggen", + InvalidNumber: "Ongeldig getal", + NewextarrowArg1: "Eerste argument voor %1 moet een bewerkingsvolgorde naam zijn.", + NewextarrowArg2: "Tweede argument voor %1 moet twee gehele getallen zijn, gescheiden door een komma", + NewextarrowArg3: "Derde argument voor %1 moet een Unicodekarakternummer zijn", + NoClosingChar: "Kan afsluitende %1 niet vinden", + IllegalControlSequenceName: "Niet toegestane bewerkingsvolgordenaam voor %1", + IllegalParamNumber: "Niet toegestane getallen of parameters gespecificeerd in %1", + MissingCS: "%1 moet gevolgd worden door een bewerkingsvolgorde", + CantUseHash2: "Niet toegestaan gebruik van # in een sjabloon voor %1", + SequentialParam: "Parameters voor %1 moeten opeenvolgend genummerd zijn", + MissingReplacementString: "Ontbrekende vervangende tekst voor definitie van %1", + MismatchUseDef: "Gebruik van %1 stemt niet overeen met zijn definitie", + RunawayArgument: "Ontsnapt argument voor %1?", + NoClosingDelim: "Kan afsluitende scheidingsteken voor %1 niet vinden" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/nl/nl.js b/src/py/kaleido/vendor/mathjax/localization/nl/nl.js new file mode 100644 index 00000000..b30be144 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/nl/nl.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/nl/nl.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("nl",null,{ + menuTitle: "Nederlands", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax heeft een gebruikersconfiguratie cookie aangetroffen dat code bevat die uitgevoerd moet worden. Wilt u deze uitvoeren?\n\\n\n(U zou op annuleren moeten drukken tenzij u het cookie zelf ingesteld heeft.)", + MathProcessingError: "Mathverwerkingsfout", + MathError: "Mathfout", + LoadFile: "Bezig met laden van %1", + Loading: "Bezig met laden", + LoadFailed: "Het bestand kon niet geladen worden: %1", + ProcessMath: "Berekening aan het verwerken: %1%%", + Processing: "Bezig met verwerken", + TypesetMath: "Berekening aan het opmaken: %1%%", + Typesetting: "Opmaken", + MathJaxNotSupported: "Uw browser ondersteunt MathJax niet", + ErrorTips: "Debugtips: gebruik %%1, inspecteer %%2 in de console van de browser" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/nl/nl.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/oc/FontWarnings.js new file mode 100644 index 00000000..7188b597 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/oc/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/oc/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/oc/HTML-CSS.js new file mode 100644 index 00000000..36a7b9ec --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/oc/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/oc/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/oc/HelpDialog.js new file mode 100644 index 00000000..700242f5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/oc/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/oc/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/MathML.js b/src/py/kaleido/vendor/mathjax/localization/oc/MathML.js new file mode 100644 index 00000000..076af622 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/oc/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/oc/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/oc/MathMenu.js new file mode 100644 index 00000000..6b0c4f2a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/oc/MathMenu.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/localization/oc/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Afichar jos la forma", + MathMLcode: "C\u00F2di MathML", + OriginalMathML: "MathML d\u2019origina", + TeXCommands: "Comandas TeX", + AsciiMathInput: "entrada AsciiMathML", + Original: "Format d'origina", + ErrorMessage: "Messatge d\u2019error", + Annotation: "Anotacion", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML de contengut", + OpenMath: "OpenMath", + texHints: "Afichar las ajudas TeX en MathML", + Settings: "Parametratges dels maths", + ZoomTrigger: "Desenclavador de zoom", + Hover: "Susv\u00F2l", + Click: "Clic", + DoubleClick: "Clic doble", + NoZoom: "Pas de zoom", + TriggerRequires: "Lo desenclavador necessita :", + Option: "Opcion", + Alt: "Alt", + Command: "Comanda", + Control: "Contrar\u00F2tle", + Shift: "Shift", + ZoomFactor: "Factor de grossiment", + Renderer: "Rendut matematic", + MPHandles: "Daissar MathPlayer gerir :", + MenuEvents: "Eveniments de men\u00FA", + MouseEvents: "Eveniments de mirga", + FontPrefs: "Prefer\u00E9ncias de poli\u00E7a", + ForHTMLCSS: "Per HTML-CSS :", + Auto: "Auto", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imatge)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Men\u00FA contextual", + Browser: "Navigador", + Locale: "Lenga", + LoadLocale: "Cargar dempu\u00E8i l\u2019URL\u2026", + About: "A prepaus de MathJax", + Help: "Ajuda de MathJax", + localTeXfonts: "utilizar las poli\u00E7as TeX localas", + webTeXfonts: "utilizar las poli\u00E7as TeX del web", + imagefonts: "utilizar las poli\u00E7as Imatge", + localSTIXfonts: "utilizar las poli\u00E7as STIX localas", + webSVGfonts: "utilizar las poli\u00E7as SVG del web", + genericfonts: "utilizar las poli\u00E7as unicode genericas", + wofforotffonts: "poli\u00E7as woff o otf", + eotffonts: "poli\u00E7as eot", + svgfonts: "poli\u00E7as svg", + Close: "Tampar", + Scale: "Metre totes los maths a l\u2019escala\u2026", + CloseAboutDialog: "Tampar la b\u00F3stia de dial\u00F2g A prepaus de MathJax" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/TeX.js b/src/py/kaleido/vendor/mathjax/localization/oc/TeX.js new file mode 100644 index 00000000..32a2b8a3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/oc/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/oc/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/oc/oc.js b/src/py/kaleido/vendor/mathjax/localization/oc/oc.js new file mode 100644 index 00000000..3d64aca3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/oc/oc.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/oc/oc.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("oc",null,{ + menuTitle: "occitan", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Error de tractament de la formula matematica", + MathError: "Error dins la formula matematica", + LoadFile: "Telecargament de %1", + Loading: "Cargament", + LoadFailed: "Frac\u00E0s del telecargament de %1", + ProcessMath: "Tractament de las formulas : %1%%", + Processing: "Tractament", + TypesetMath: "Composicion de las formulas : %1%%", + Typesetting: "Composicion", + MathJaxNotSupported: "V\u00F2stre navigador sup\u00F2rta pas MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/oc/oc.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/pl/FontWarnings.js new file mode 100644 index 00000000..bc2af541 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pl/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/pl/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax u\u017Cywa czcionek Web, aby wy\u015Bwietli\u0107 wzory matematyczne na tej stronie. Pobranie czcionek z sieci zajmuje chwil\u0119. Strona ta mog\u0142aby za\u0142adowa\u0107 si\u0119 szybciej, je\u015Bli zainstalowa\u0142by\u015B czcionki lokalnie w swoim systemie.", + imageFonts: "MathJax u\u017Cywa czcionek obrazkowych zamiast lokalnych lub pobranych z sieci. To powoduje wolniejsze wy\u015Bwietlanie strony oraz uniemo\u017Cliwia wydruk w pe\u0142nej rozdzielczo\u015Bci Twojej drukarki.", + noFonts: "MathJax nie mo\u017Ce zlokalizowa\u0107 czcionek potrzebnych do wy\u015Bwietlenia wzor\u00F3w, a czcionki obrazkowe nie s\u0105 dost\u0119pne. U\u017Cywane s\u0105 wi\u0119c znaki Unicode z nadziej\u0105, \u017Ce Twoja przegl\u0105darka wy\u015Bwietli je poprawnie. Niekt\u00F3re znaki mog\u0105 jednak nie wygl\u0105da\u0107 prawid\u0142owo lub mog\u0105 nie by\u0107 w og\u00F3le wy\u015Bwietlane.", + webFonts: "Wi\u0119kszo\u015B\u0107 nowych przegl\u0105darek umo\u017Cliwia pobieranie czcionek z sieci Web. Aktualizacja Twojej przegl\u0105darki (lub wyb\u00F3r innej) mo\u017Ce polepszy\u0107 jako\u015B\u0107 wy\u015Bwietlanych wzor\u00F3w matematycznych na tej stronie.", + fonts: "MathJax mo\u017Ce u\u017Cy\u0107 albo [czcionek STIX](%1), albo [czcionek MathJax Tex](%2). Pobierz i zainstaluj te czcionki, aby ulepszy\u0107 dzia\u0142anie MathJax.", + STIXPage: "Ta strona wymaga [czcionek STIX](%1). Pobierz i zainstaluj te czcionki, aby ulepszy\u0107 dzia\u0142anie MathJax.", + TeXPage: "Ta strona wymaga [czcionek MathJax Tex](%1). Pobierz i zainstaluj te czcionki, aby ulepszy\u0107 dzia\u0142anie MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/pl/HTML-CSS.js new file mode 100644 index 00000000..5aced355 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pl/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/pl/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0141aduj\u0119 czcionk\u0119 %1", + CantLoadWebFont: "Nie mo\u017Cna za\u0142adowa\u0107 czcionki %1", + FirefoxCantLoadWebFont: "Firefox nie mo\u017Ce za\u0142adowa\u0107 czcionek ze zdalnego hosta", + CantFindFontUsing: "Nie mo\u017Cna znale\u017A\u0107 w\u0142a\u015Bciwej czcionki u\u017Cywaj\u0105c %1", + WebFontsNotAvailable: "Czcionki internetowe nie dost\u0119pne - zamiast tego u\u017Cywane s\u0105 czcionki obrazkowe" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/pl/HelpDialog.js new file mode 100644 index 00000000..6f6eec8e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pl/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/pl/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Pomoc MathJax", + MathJax: "*MathJax* to biblioteka Javascript umo\u017Cliwiaj\u0105ca autorom stron Web na zapisywanie wzor\u00F3w matematycznych. Jako u\u017Cytkownik, nie musisz robi\u0107 nic dodatkowo, aby wzory by\u0142y poprawnie wy\u015Bwietlane.", + Browsers: "*Przegl\u0105darki*: MathJax dzia\u0142a z nowymi przegl\u0105darkami, m.in. IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ i wi\u0119kszo\u015Bci\u0105 przegl\u0105darek mobilnych.", + Menu: "*Menu*: MathJax dodaje menu kontekstowe do wzor\u00F3w matematycznych. Kliknij prawym klawiszem myszki (lub lewy klawisz i Ctrl), aby je otworzy\u0107.", + ShowMath: "Opcja *Poka\u017C wzory jako* pozwala zobaczy\u0107 \u017Ar\u00F3d\u0142ow\u0105 posta\u0107 wzor\u00F3w, aby mo\u017Cna by\u0142o je skopiowa\u0107 do schowka.", + Settings: "Opcja *Ustawienia* pozwala kontrolowa\u0107 MathJax, m.in. ustawia\u0107 wielko\u015B\u0107 wzor\u00F3w i zmienia\u0107 mechanizm ich wy\u015Bwietlania.", + Language: "*J\u0119zyk* pozwala wybra\u0107 j\u0119zyk, w jakim wy\u015Bwietlane jest menu oraz komunikaty o b\u0142\u0119dach.", + Zoom: "*Powi\u0119kszanie*: Je\u017Celi masz problem z odczytaniem wzoru, MathJax mo\u017Ce zwi\u0119kszy\u0107 wielko\u015B\u0107 liter, aby \u0142atwiej by\u0142o go odczyta\u0107.", + Accessibilty: "*Dost\u0119pno\u015B\u0107*: MathJax dzia\u0142a automatycznie z czytnikami ekranowymi, aby wzory matematyczne by\u0142y dost\u0119pne dla niedowidz\u0105cych.", + Fonts: "*Czcionki*: MathJax u\u017Cyje czcionek matematycznych zainstalowanych w Twoim systemie. Je\u017Celi ich nie masz, to u\u017Cyje czcionek Web. Nie jest to wymagane, ale lokalnie dost\u0119pne czcionki przyspiesz\u0105 dzia\u0142anie MathJax. Sugerujemy zainstalowanie czcionek [STIX](%1).", + CloseDialog: "Zamknij okno pomocy" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/pl/MathML.js new file mode 100644 index 00000000..81229ce5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pl/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/pl/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "B\u0142\u0105d w elemencie mglyph: %1", + BadMglyphFont: "B\u0142\u0119dna czcionka: %1", + MathPlayer: "MathJax nie m\u00F3g\u0142 uruchomi\u0107 MathPlayer.\n\nJe\u015Bli MathPlayer nie jest zainstalowany, musisz go najpierw zainstalowa\u0107.\nW przeciwnym razie, twoje ustawienia bezpiecze\u0144stwa mog\u0105 blokowa\u0107 dzia\u0142anie\nformant\u00F3w ActiveX. W Opcjach internetowych, w menu Narz\u0119dzia wybierz zak\u0142adk\u0119\nZabezpieczenia i naci\u015Bnij przycisk Poziom niestandardowy. Upewnij si\u0119, \u017Ce ustawienia\ndotycz\u0105ce ActiveX oraz skrypt\u00F3w s\u0105 w\u0142\u0105czone.\n\nDo tego czasu b\u0119d\u0105 wy\u015Bwietlane b\u0142\u0119dy zamiast wzor\u00F3w matematycznych.", + CantCreateXMLParser: "MathJax nie mo\u017Ce utworzy\u0107 parsera XML dla MathML. Upewnij si\u0119, \u017Ce\nopcja 'Wykonywanie skrypt\u00F3w formant\u00F3w ActiveX' jest w\u0142\u0105czona\n(sprawd\u017A to w Opcjach internetowych w menu Narz\u0119dzia,\nw zak\u0142adce Zabezpieczenia kliknij na przycisk Poziom niestandardowy).\n\nDo tego czasu b\u0119d\u0105 wy\u015Bwietlane b\u0142\u0119dy zamiast wzor\u00F3w matematycznych.", + UnknownNodeType: "Nieznany typ elementu: %1", + UnexpectedTextNode: "Nieoczekiwany element tekstowy: %1", + ErrorParsingMathML: "B\u0142\u0105d podczas przetwarzania MathML", + ParsingError: "B\u0142\u0105d podczas przetwarzania MathML: %1", + MathMLSingleElement: "MathML musi by\u0107 zamkni\u0119ty w pojedynczym elemencie", + MathMLRootElement: "MathML musi by\u0107 zamkni\u0119ty w elemencie \u003Cmath\u003E, a nie %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/pl/MathMenu.js new file mode 100644 index 00000000..5ecaaed2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pl/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/pl/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Poka\u017C wzory jako", + MathMLcode: "Kod MathML", + OriginalMathML: "Oryginalny MathML", + TeXCommands: "Polecenia TeX", + AsciiMathInput: "Wej\u015Bcie AsciiMathML", + Original: "Oryginalny formularz", + ErrorMessage: "Komunikat o b\u0142\u0119dzie", + Annotation: "Adnotacja", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Zawarto\u015B\u0107 MathML", + OpenMath: "OpenMath", + texHints: "Poka\u017C wskaz\u00F3wki TeX w MathML", + Settings: "Ustawienia wzor\u00F3w", + ZoomTrigger: "Zwi\u0119kszanie zoomu", + Hover: "poprzez najechanie mysz\u0105", + Click: "poprzez klikni\u0119cie", + DoubleClick: "poprzez dwukrotnie klikni\u0119cie", + NoZoom: "Bez zoomu", + TriggerRequires: "Aktywacja wymaga:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "Wsp\u00F3\u0142czynnik powi\u0119kszenia", + Renderer: "Renderowanie wzor\u00F3w", + MPHandles: "Obs\u0142u\u017C MathPlayer", + MenuEvents: "Zdarzenia menu", + MouseEvents: "Zdarzenia myszy", + MenuAndMouse: "Zdarzenia myszy i menu", + FontPrefs: "Ustawienia czcionek", + ForHTMLCSS: "Dla HTML-CSS:", + Auto: "Automatycznie", + TeXLocal: "TeX (lokalny)", + TeXWeb: "TeX (www)", + TeXImage: "TeX (obraz)", + STIXLocal: "STIX (lokalny)", + ContextMenu: "Menu kontekstowe", + Browser: "Przegl\u0105darka", + Scale: "Skalowanie wszystkich wzor\u00F3w...", + Discoverable: "Podkre\u015Bl po najechaniu kursora", + Locale: "J\u0119zyk", + LoadLocale: "Pobierz z URL...", + About: "O MathJax", + Help: "Pomoc MathJax", + localTeXfonts: "U\u017Cyj lokalnej czcionki TeX", + webTeXfonts: "U\u017Cyj internetowej czcionki TeX", + imagefonts: "U\u017Cyj czcionki obrazkowej", + localSTIXfonts: "U\u017Cyj lokalnej czcionki STIX", + webSVGfonts: "U\u017Cyj internetowej czcionki SVG", + genericfonts: "U\u017Cyj generowanej czcionki unicode", + wofforotffonts: "czcionki WOFF lub OTF", + eotffonts: "czcionki EOT", + svgfonts: "czcionki SVG", + WebkitNativeMMLWarning: "Twoja przegl\u0105darka nie obs\u0142uguje MathML, wi\u0119c zmiana wyj\u015Bcia do MathML mo\u017Ce spowodowa\u0107, \u017Ce strona stanie si\u0119 niemo\u017Cliwa do odczytania.", + MSIENativeMMLWarning: "Program Internet Explorer wymaga wtyczki MathPlayer do procesu wy\u015Bwietlania MathML.", + OperaNativeMMLWarning: "Wsparcie dla MathML w Operze jest ograniczone. W zwi\u0105zku z tym zmiana wyj\u015Bcia na MathML mo\u017Ce spowodowa\u0107, \u017Ce niekt\u00F3re strony b\u0119d\u0105 niemo\u017Cliwe do odczytania.", + SafariNativeMMLWarning: "MathML zaimplementowany w twojej przegl\u0105darce nie obs\u0142uguje wszystkich mo\u017Cliwo\u015Bci MathJax, wi\u0119c cz\u0119\u015B\u0107 wyra\u017Cen mo\u017Ce nie renderowa\u0107 si\u0119 poprawnie.", + FirefoxNativeMMLWarning: "MathML zaimplementowany w twojej przegl\u0105darce nie obs\u0142uguje wszystkich mo\u017Cliwo\u015Bci MathJax, wi\u0119c cz\u0119\u015B\u0107 wyra\u017Ce\u0144 mo\u017Ce nie renderowa\u0107 si\u0119 poprawnie.", + MSIESVGWarning: "SVG nie jest zaimplementowane w Internet Explorerze do wersji 9 lub podczas emulowania IE8 lub poni\u017Cej, wi\u0119c zmiana wyj\u015Bcia do SVG mo\u017Ce spowodowa\u0107, \u017Ce strona stanie si\u0119 niemo\u017Cliwa do odczytania.", + LoadURL: "Za\u0142aduj t\u0142umaczenie z tego URL:", + BadURL: "Adres URL powinien by\u0107 dla pliku JavaScript, kt\u00F3ry definiuje dane t\u0142umaczenie MathJax. Pliki JavaScript powinny ko\u0144czy\u0107 si\u0119 \".js\"", + BadData: "Nie mo\u017Cna za\u0142adowa\u0107 danych t\u0142umacze\u0144 z %1", + SwitchAnyway: "Na pewno zmieni\u0107 renderer ?\n\n(Naci\u015Bnij OK a\u017Ceby zmieni\u0107, lub CANCEL aby kontynuowa\u0107 z aktualnym rendererem)", + ScaleMath: "Skaluj wszystkie wzory matematyczne (por\u00F3wnane do otaczaj\u0105cego tekstu) przez", + NonZeroScale: "Warto\u015B\u0107 nie powinna by\u0107 zerowa", + PercentScale: "Warto\u015B\u0107 powinna by\u0107 w procentach (na przyk\u0142ad 120%%)", + IE8warning: "Ta opcja wy\u0142\u0105czy obs\u0142ug\u0119 menu i powi\u0119kszania w MathJax, ale mo\u017Cesz klikn\u0105\u0107 z Altem na wz\u00F3r, aby otworzy\u0107 menu MathJax.\n\nCzy na pewno chcesz zmieni\u0107 ustawienia MathPlayer?", + IE9warning: "Menu kontekstowe MathJax zostanie wy\u0142\u0105czone, ale mo\u017Cesz klikn\u0105\u0107 z Altem na wz\u00F3r, aby otworzy\u0107 menu.", + NoOriginalForm: "Brak wzor\u00F3w w oryginalnej postaci", + Close: "Zamknij", + EqSource: "\u0179r\u00F3d\u0142o wzoru MathJax", + STIXWeb: "STIX (www)", + AsanaMathWeb: "Asana Math (www)", + GyrePagellaWeb: "Gyre Pagella (www)", + GyreTermesWeb: "Gyre Termes (www)", + LatinModernWeb: "Latin Modern (www)", + NeoEulerWeb: "Neo Euler (www)", + CloseAboutDialog: "Zamknij okno o MathJax", + FastPreview: "Szybki podgl\u0105d strony", + AssistiveMML: "Asystuj\u0105cy MathML", + InTabOrder: "Zawarty w kolejno\u015Bci stron" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/pl/TeX.js new file mode 100644 index 00000000..317427e5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pl/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/pl/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Nadmiarowy nawias otwieraj\u0105cy lub brakuj\u0105cy nawias zamykaj\u0105cy", + ExtraCloseMissingOpen: "Nadmiarowy nawias zamykaj\u0105cy lub brakuj\u0105cy nawias otwieraj\u0105cy", + MissingLeftExtraRight: "Brakuj\u0105cy \\left lub nadmiarowy \\right", + MissingScript: "Brakuj\u0105cy argument dla indeksu dolnego lub g\u00F3rnego", + ExtraLeftMissingRight: "Nadmiarowy \\left lub brakuj\u0105cy \\right", + Misplaced: "\u0179le umiejscowiony %1", + MissingOpenForSub: "Brakuj\u0105cy nawias otwieraj\u0105cy dla indeksu dolnego", + MissingOpenForSup: "Brakuj\u0105cy nawias otwieraj\u0105cy dla indeksu g\u00F3rnego", + AmbiguousUseOf: "Niejednoznaczne u\u017Cycie %1", + EnvBadEnd: "\\begin{%1} zosta\u0142 zako\u0144czony \\end{%2}", + EnvMissingEnd: "Brakuj\u0105ce \\end{%1}", + MissingBoxFor: "Brakuj\u0105ce pude\u0142ko (box) dla %1", + MissingCloseBrace: "Brakuj\u0105cy nawias zamykaj\u0105cy", + UndefinedControlSequence: "Nieznana komenda steruj\u0105ca %1", + DoubleExponent: "Podw\u00F3jna pot\u0119ga: u\u017Cyj nawias\u00F3w, aby unikn\u0105\u0107 niejednoznaczno\u015Bci", + DoubleSubscripts: "Podw\u00F3jny indeks: u\u017Cyj nawias\u00F3w, aby unikn\u0105\u0107 niejednoznaczno\u015Bci", + DoubleExponentPrime: "Znak ' oznacza podw\u00F3jny wyk\u0142adnik: u\u017Cyj nawias\u00F3w, aby unikn\u0105\u0107 niejednoznaczno\u015Bci", + CantUseHash1: "Nie mo\u017Cesz u\u017Cywa\u0107 znaku parametru makra # w trybie matematycznym", + MisplacedMiddle: "%1 musi by\u0107 pomi\u0119dzy \\left i \\right", + MisplacedLimits: "%1 jest dozwolony tylko dla operator\u00F3w", + MisplacedMoveRoot: "%1 mo\u017Ce pojawi\u0107 si\u0119 tylko w ramach korzenia (root)", + MultipleCommand: "Wielokrotny %1", + IntegerArg: "Parametr dla %1 musi by\u0107 liczb\u0105 ca\u0142kowit\u0105", + NotMathMLToken: "%1 nie jest elementem typu token", + InvalidMathMLAttr: "Nieprawid\u0142owy atrybut MathML: %1", + UnknownAttrForElement: "%1 nie jest znanym atrybutem dla %2", + MaxMacroSub1: "Przekroczono maksymaln\u0105 liczb\u0119 wywo\u0142a\u0144 makra; czy wyst\u0119puje rekursywne makro?", + MaxMacroSub2: "Przekroczono maksymaln\u0105 liczb\u0119 zast\u0105pie\u0144 MathJax; czy wyst\u0119puje rekursywne \u015Brodowisko LaTeX?", + MissingArgFor: "Brakuje argumentu dla %1", + ExtraAlignTab: "Nadmiarowy tabulator w \\cases", + BracketMustBeDimension: "Argument w nawiasie dla %1 musi by\u0107 wymiarem", + InvalidEnv: "Nieznana nazwa \u015Brodowiska '%1'", + UnknownEnv: "Nieznane \u015Brodowisko '%1'", + ExtraCloseLooking: "Nadmiarowy nawias zamykaj\u0105cy napotkany w czasie poszukiwania %1", + MissingCloseBracket: "Nie odnaleziono zamykaj\u0105cego nawiasu ']' dla argumentu dla %1", + MissingOrUnrecognizedDelim: "Nieodnaleziony lub nierozpoznany separator dla %1", + MissingDimOrUnits: "Brakuje wymiaru lub jego jednostki dla %1", + TokenNotFoundForCommand: "Nie odnaleziono %1 dla %2", + MathNotTerminated: "Nie odnaleziono zako\u0144czenia w polu tekstowym", + IllegalMacroParam: "Nieprawid\u0142owa referencja do parametru makra", + MaxBufferSize: "Przekroczono rozmiar bufora MathJax, czy istnieje rekursywne wywo\u0142anie makra?", + CommandNotAllowedInEnv: "%1 nie jest dozwolony w \u015Brodowisku %2", + MultipleLabel: "Wielokrotna definicja etykiety '%1'", + CommandAtTheBeginingOfLine: "%1 musi znajdowa\u0107 si\u0119 na pocz\u0105tku linii", + IllegalAlign: "Nieprawid\u0142owy argument dla %1", + BadMathStyleFor: "B\u0142\u0119dny styl dla %1", + PositiveIntegerArg: "Argument dla %1 musi by\u0107 dodatni\u0105 liczb\u0105 ca\u0142kowit\u0105", + ErroneousNestingEq: "B\u0142\u0119dne zagnie\u017Cd\u017Cenie wyra\u017Ce\u0144", + MultlineRowsOneCol: "Wiersze w \u015Brodowisku %1 musz\u0105 mie\u0107 dok\u0142adnie jedn\u0105 kolumn\u0119", + MultipleBBoxProperty: "%1 okre\u015Blony dwa razy w %2", + InvalidBBoxProperty: "'%1' nie jest kolorem, wielko\u015Bci\u0105 odst\u0119pu, ani stylem", + ExtraEndMissingBegin: "Nadmiarowy %1 lub brakuj\u0105cy \\begingroup", + GlobalNotFollowedBy: "Po %1 nie wyst\u0119puje \\let, \\def, ani \\newcommand", + UndefinedColorModel: "Przestrze\u0144 barw '%1' nie jest zdefiniowana", + ModelArg1: "Warto\u015Bci kolor\u00F3w dla przestrzeni %1 wymagaj\u0105 3 liczb", + InvalidDecimalNumber: "Nieprawid\u0142owe liczba dziesi\u0119tna", + ModelArg2: "Warto\u015Bci kolor\u00F3w dla przestrzeni %1 musz\u0105 by\u0107 pomi\u0119dzy %2 i %3", + InvalidNumber: "B\u0142\u0119dna liczba", + NewextarrowArg1: "Pierwszy argument dla %1 musi by\u0107 nazw\u0105 sekwencji kontrolnej", + NewextarrowArg2: "Drugi argumentem dla %1 musz\u0105 by\u0107 dwie liczby ca\u0142kowite oddzielone przecinkiem", + NewextarrowArg3: "Trzeci argument dla %1 musi by\u0107 numerem znaku unicode", + NoClosingChar: "Nie mo\u017Cna odnale\u017A\u0107 zamykaj\u0105cego %1", + IllegalControlSequenceName: "Nieprawid\u0142owa nazwa sekwencji kontrolnej dla %1", + IllegalParamNumber: "Nieprawid\u0142owa liczba parametr\u00F3w dla %1", + MissingCS: "Po %1 musi wyst\u0105pi\u0107 sekwencja kontrolna", + CantUseHash2: "Nieprawid\u0142owe u\u017Cycie # w szablonie dla %1", + SequentialParam: "Parametry dla %1 musz\u0105 by\u0107 ponumerowane rosn\u0105co", + MissingReplacementString: "Brak \u0142a\u0144cucha zamiennego dla definicji %1", + MismatchUseDef: "U\u017Cycie %1 niezgodne z definicj\u0105", + RunawayArgument: "Zgin\u0105\u0142 argument dla %1?", + NoClosingDelim: "Nie mo\u017Cna znale\u017A\u0107\u00A0ko\u0144cz\u0105cego separatora dla %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pl/pl.js b/src/py/kaleido/vendor/mathjax/localization/pl/pl.js new file mode 100644 index 00000000..fc8661d2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pl/pl.js @@ -0,0 +1,64 @@ +/************************************************************* + * + * MathJax/localization/pl/pl.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pl",null,{ + menuTitle: "polski", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax znalaz\u0142 konfiguracj\u0119 zapisan\u0105 w ciasteczku, kt\u00F3ra zawiera kod do uruchomienia. Czy chcesz go uruchomi\u0107?\n\n(Powiniene\u015B nacisn\u0105\u0107 Anuluj, je\u015Bli to nie Ty stworzy\u0142e\u015B t\u0119 konfiguracj\u0119.)", + MathProcessingError: "B\u0142\u0105d podczas przetwarzania wzor\u00F3w matematycznych", + MathError: "B\u0142\u0105d we wzorze matematycznym", + LoadFile: "\u0141aduj\u0119 %1", + Loading: "\u0141aduj\u0119", + LoadFailed: "Nie uda\u0142o si\u0119 za\u0142adowa\u0107 pliku: %1", + ProcessMath: "Przetwarzam wzory matematyczne: %1%%", + Processing: "Przetwarzam", + TypesetMath: "Przetwarzam wzory matematyczne: %1%%", + Typesetting: "Przetwarzam", + MathJaxNotSupported: "Twoja przegl\u0105darka nie obs\u0142uguje MathJax", + ErrorTips: "Porady debugowania: u\u017Cyj %%1, sprawd\u017A %%2 w konsoli przegl\u0105darki." + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n == 1) { + return 1; + } else if (n % 10 >=2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20)) { + return 2; + } else { + return 3; + } + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pl/pl.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/FontWarnings.js new file mode 100644 index 00000000..1d624bf6 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt-br/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/pt-br/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "O MathJax est\u00E1 utilizando fontes baseadas em web para exibir as f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina. O download delas leva algum tempo, ent\u00E3o a p\u00E1gina seria renderizada mais rapidamente se voc\u00EA instalasse as fontes para matem\u00E1tica diretamente na pasta de fontes do seu sistema.", + imageFonts: "O MathJax est\u00E1 utilizando fontes feitas com imagens em vez de fontes locais ou baseadas em web. Isso torna a renderiza\u00E7\u00E3o mais lenta do que o de costume, e as f\u00F3rmulas matem\u00E1ticas poder\u00E3o n\u00E3o ser impressas com a maior resolu\u00E7\u00E3o dispon\u00EDvel em sua impressora.", + noFonts: "O MathJax n\u00E3o foi capaz de localizar uma fonte para utilizar ao renderizar as f\u00F3rmulas matem\u00E1ticas, e n\u00E3o est\u00E3o dispon\u00EDveis fontes feitas com imagens, ent\u00E3o ser\u00E3o utilizados caracteres unicode gen\u00E9ricos com a esperan\u00E7a de que o seu navegador seja capaz de exib\u00ED-los. Alguns caracteres podem n\u00E3o aparecer como deveriam, ou simplesmente desaparecer.", + webFonts: "A maioria dos navegadores modernos permite que as fontes sejam baixadas a partir da web. Atualizar para uma vers\u00E3o mais recente do seu navegador (ou mudar de navegador) poderia melhorar a qualidade das f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina.", + fonts: "O MathJax pode usar tanto [fontes STIX](%1) ou as [fontes MathJax TeX](%2). Baixe e instale uma destas fontes para melhorar sua experi\u00EAncia com o MathJax.", + STIXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes STIX](%1). Baixe e instale estas fontes para melhorar sua experi\u00EAncia com o MathJax.", + TeXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes MathJax TeX](%1). Baixe e instale estas fontes para melhorar sua experi\u00EAncia com o MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/HTML-CSS.js new file mode 100644 index 00000000..c6a8f01c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt-br/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/pt-br/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Carregando fonte baseada em web %1", + CantLoadWebFont: "N\u00E3o foi poss\u00EDvel carregar a fonte baseada em web %1", + FirefoxCantLoadWebFont: "O Firefox N\u00E3o pode carregar fontes baseadas em web a partir de um host remoto", + CantFindFontUsing: "N\u00E3o \u00E9 poss\u00EDvel encontrar uma fonte v\u00E1lida usando %1", + WebFontsNotAvailable: "Fontes baseadas em web n\u00E3o est\u00E3o dispon\u00EDveis -- usando fontes feitas com imagens em vez disso" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/HelpDialog.js new file mode 100644 index 00000000..6fcd7a80 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt-br/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/pt-br/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Ajuda do MathJax", + MathJax: "*MathJax* \u00E9 uma biblioteca em JavaScript que permite aos autores a inclus\u00E3o de conte\u00FAdo matem\u00E1tico em suas p\u00E1ginas web. Como um renderizador, voc\u00EA n\u00E3o precisa fazer nada para que isso ocorra.", + Browsers: "*Navegadores*: O MathJax funciona em todos os navegadores modernos incluindo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e a maioria dos navegadores para dispositivos m\u00F3veis.", + Menu: "*Menu de F\u00F3rmulas*: O MathJax acrescenta um menu de contexto \u00E0s equa\u00E7\u00F5es. Clique com o bot\u00E3o direito ou pressione CTRL ao clicar em qualquer f\u00F3rmula matem\u00E1tica para acessar o menu.", + ShowMath: "*Mostrar F\u00F3rmulas Como* permite que visualize o c\u00F3digo da f\u00F3rmula para copiar e colar (como MathML ou em seu formato original).", + Settings: "*Configura\u00E7\u00F5es* oferecem a voc\u00EA o controle sobre os recursos do MathJax, tais como o tamanho das f\u00F3rmulas, e o mecanismo utilizado para exibir equa\u00E7\u00F5es.", + Language: "*Idioma* permite que escolha o idioma que o MathJax utiliza em seus menus e mensagens de aviso.", + Zoom: "*Zoom nas F\u00F3rmulas*: Se voc\u00EA tem dificuldade para ler uma equa\u00E7\u00E3o, o MathJax pode ampli\u00E1-la para ajud\u00E1-lo a visualiz\u00E1-la melhor.", + Accessibilty: "*Acessibilidade*: O MathJax funcionar\u00E1 automaticamente em leitores de tela para tornar as f\u00F3rmulas matem\u00E1ticas acess\u00EDveis aos que possuem problemas de vis\u00E3o.", + Fonts: "*Fontes*: O MathJax utilizar\u00E1 certas fontes para f\u00F3rmulas matem\u00E1ticas se elas estiverem instaladas no seu computador; caso contr\u00E1rio, ele utilizar\u00E1 fontes baseadas em web. Embora n\u00E3o seja obrigat\u00F3rio, o uso de fontes instaladas localmente acelerar\u00E1 a diagrama\u00E7\u00E3o. Sugerimos que instale [fontes STIX](%1).", + CloseDialog: "Fechar caixa de ajuda" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/MathML.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/MathML.js new file mode 100644 index 00000000..9e36d9de --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt-br/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/pt-br/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Mglyph ruim: %1", + BadMglyphFont: "Fonte ruim: %1", + MathPlayer: "O MathJax n\u00E3o foi capaz de configurar o MathPlayer.\n\nSe o MathPlayer n\u00E3o estiver instalado, precisar\u00E1 instal\u00E1-lo primeiro.\nCaso contr\u00E1rio, suas configura\u00E7\u00F5es de seguran\u00E7a podem estar prevenindo a execu\u00E7\u00E3o\nde controles ActiveX. Use as Op\u00E7\u00F5es de Internet sob\no menu Ferramentas e selecione a aba de Seguran\u00E7a ent\u00E3o pressione o bot\u00E3o N\u00EDvel Personalizado. Confira se as configura\u00E7\u00F5es para 'Execu\u00E7\u00E3o de Controles ActiveX', e 'Comportamento de scripts e c\u00F3digos bin\u00E1rios'\nest\u00E3o ativadas.\n\nAtualmente voc\u00EA ver\u00E1 mensagens de erro em vez da \ndiagrama\u00E7\u00E3o das f\u00F3rmulas matem\u00E1ticas.", + CantCreateXMLParser: "O MathJax n\u00E3o pode criar um interpretador de XML para o MathML. Confira se\na configura\u00E7\u00E3o de seguran\u00E7a 'Controles de Script ActiveX marcados como seguros para scripting'\nest\u00E1 habilitado (use as Op\u00E7\u00F5es de Internet no menu \nFerramentas, e selecione o painel de Seguran\u00E7a, depois pressione o bot\u00E3o N\u00EDvel Personalizado\npara conferir isso).\n\nAs equa\u00E7\u00F5es em MathML n\u00E3o poder\u00E3o ser processadas pelo MathJax.", + UnknownNodeType: "Tipo de n\u00F3 desconhecido: %1", + UnexpectedTextNode: "N\u00F3 de texto inesperado: %1", + ErrorParsingMathML: "Erro ao interpretar MathML", + ParsingError: "Erro ao interpretar MathML: %1", + MathMLSingleElement: "MathML deve ser formado por um \u00FAnico elemento", + MathMLRootElement: "MathML deve ser formado por um elemento \u003Cmath\u003E, n\u00E3o %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/MathMenu.js new file mode 100644 index 00000000..c026fbd9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt-br/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/pt-br/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Mostrar F\u00F3rmulas Como", + MathMLcode: "C\u00F3digo MathML", + OriginalMathML: "MathML original", + TeXCommands: "Comandos TeX", + AsciiMathInput: "Entrada AsciiMathML", + Original: "Formato original", + ErrorMessage: "Mensagem de erro", + Annotation: "Anota\u00E7\u00E3o", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML do conte\u00FAdo", + OpenMath: "OpenMath", + texHints: "Mostrar dicas de TeX em MathML", + Settings: "Configura\u00E7\u00F5es das f\u00F3rmulas", + ZoomTrigger: "Disparador do zoom", + Hover: "Passar o mouse", + Click: "Clique", + DoubleClick: "Clique duplo", + NoZoom: "Sem zoom", + TriggerRequires: "O Disparador Requer:", + Option: "Op\u00E7\u00E3o", + Alt: "Alt", + Command: "Comando", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Fator de zoom", + Renderer: "Renderizador das F\u00F3rmulas", + MPHandles: "Deixe que o MathPlayer resolva:", + MenuEvents: "Eventos de Menu", + MouseEvents: "Eventos de Mouse", + MenuAndMouse: "Eventos de Mouse e de Menu", + FontPrefs: "Prefer\u00EAncias de Fontes", + ForHTMLCSS: "Para HTML-CSS:", + Auto: "Autom\u00E1tico", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imagem)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (Web)", + AsanaMathWeb: "Asana Math (Web)", + GyrePagellaWeb: "Gyre Pagella (Web)", + GyreTermesWeb: "Gyre Termes (Web)", + LatinModernWeb: "Latim Moderno (Web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Menu de Contexto", + Browser: "Navegador", + Scale: "Redimensionar Todas as F\u00F3rmulas ...", + Discoverable: "Destacar ao Passar o Mouse", + Locale: "Idioma", + LoadLocale: "Carregar a partir de URL ...", + About: "Sobre o MathJax", + Help: "Ajuda do MathJax", + localTeXfonts: "usando fontes TeX locais", + webTeXfonts: "usando fontes TeX da web", + imagefonts: "usando fontes feitas com imagens", + localSTIXfonts: "usando fontes STIX locais", + webSVGfonts: "usando fontes SVG da web", + genericfonts: "usando fontes unicode gen\u00E9ricas", + wofforotffonts: "fontes WOFF ou OTF", + eotffonts: "fontes EOT", + svgfonts: "fontes SVG", + WebkitNativeMMLWarning: "Parece que seu navegador n\u00E3o oferece suporte nativo ao MathML, ent\u00E3o a mudan\u00E7a para a sa\u00EDda do MathML pode tornar ileg\u00EDveis as f\u00F3rmulas matem\u00E1ticas da p\u00E1gina.", + MSIENativeMMLWarning: "O Internet Explorer requer o plugin MathPlayer para processar MathML.", + OperaNativeMMLWarning: "O suporte ao MathML no Opera \u00E9 limitado, ent\u00E3o a mudan\u00E7a para MathML pode piorar a renderiza\u00E7\u00E3o de algumas express\u00F5es.", + SafariNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", + FirefoxNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", + MSIESVGWarning: "N\u00E3o h\u00E1 uma implementa\u00E7\u00E3o de SVG nas vers\u00F5es do Internet Explorer anteriores ao IE9 ou quando ele est\u00E1 emulando o IE8 ou as vers\u00F5es anteriores. A mudan\u00E7a para SVG far\u00E1 com que as f\u00F3rmulas n\u00E3o sejam exibidas adequadamente.", + LoadURL: "Carregar os dados de tradu\u00E7\u00E3o a partir desta URL:", + BadURL: "A URL deve ser para um um arquivo de javascript que defina os dados de tradu\u00E7\u00E3o do MathJax. Os nomes dos arquivos de Javascript devem terminar com '.js'", + BadData: "Falha ao carregar os dados de tradu\u00E7\u00E3o de %1", + SwitchAnyway: "Mudar para este renderizador mesmo assim?\n\n(Pressione OK para mudar, CANCELAR para continuar com o renderizador atual)", + ScaleMath: "Redimensionar todas as f\u00F3rmulas matem\u00E1ticas (em rela\u00E7\u00E3o ao texto \u00E0 sua volta) em", + NonZeroScale: "A escala n\u00E3o deve ser zero", + PercentScale: "A escala deve ser uma porcentagem (por exemplo, 120%%)", + IE8warning: "Isto desabilitar\u00E1 o menu MathJax e os recursos de zoom, mas voc\u00EA poder\u00E1 usar Alt-Clique em uma express\u00E3o para obter o menu MathJax em vez disso.\n\nRealmente alterar as configura\u00E7\u00F5es do MathPlayer?", + IE9warning: "O menu de contexto do MathJax ser\u00E1 desabilitado, mas voc\u00EA pode usar Alt-Clique em uma express\u00E3o para obter o menu MathJax em vez disso.", + NoOriginalForm: "Sem formulario original dispon\u00EDvel", + Close: "Fechar", + EqSource: "Fonte da Equa\u00E7\u00E3o do MathJax", + CloseAboutDialog: "Fechar caixa sobre MathJax", + FastPreview: "Pr\u00E9-visualiza\u00E7\u00E3o r\u00E1pida", + AssistiveMML: "MAthML assistiva", + InTabOrder: "Incluir na ordem da guia" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/TeX.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/TeX.js new file mode 100644 index 00000000..2839a8f4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt-br/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/pt-br/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Sobrou uma chave de abertura ou faltou uma de fechamento", + ExtraCloseMissingOpen: "Sobrou uma chave de fechamento ou faltou uma de abertura", + MissingLeftExtraRight: "Faltou um \\left ou sobrou um \\right", + MissingScript: "Faltou o argumento de um sobrescrito ou de um subscrito", + ExtraLeftMissingRight: "Sobrou um \\left ou faltou um \\right", + Misplaced: "%1 fora do lugar", + MissingOpenForSub: "Faltou uma chave de abertura para o subscrito", + MissingOpenForSup: "Faltou uma chave de abertura para o sobrescrito", + AmbiguousUseOf: "Uso amb\u00EDguo de %1", + EnvBadEnd: "\\begin{%1} foi terminado com \\end{%2}", + EnvMissingEnd: "Faltou \\end{%1}", + MissingBoxFor: "Faltou uma caixa para %1", + MissingCloseBrace: "Faltou uma chave de fechamento", + UndefinedControlSequence: "Sequ\u00EAncia de controle indefinida %1", + DoubleExponent: "Expoente duplo: utilize chaves para esclarecer", + DoubleSubscripts: "Subscrito duplo: utilize chaves para esclarecer", + DoubleExponentPrime: "Prime causa expoente duplo: utilize chaves para esclarecer", + CantUseHash1: "Voc\u00EA n\u00E3o pode usar o caractere # que indica um par\u00E2metro de macro no modo matem\u00E1tico", + MisplacedMiddle: "%1 deve estar entre \\left e \\right", + MisplacedLimits: "%1 s\u00F3 \u00E9 permitido nos operadores", + MisplacedMoveRoot: "%1 pode aparecer somente dentro de uma raiz", + MultipleCommand: "Repeti\u00E7\u00E3o de %1", + IntegerArg: "O argumento de %1 deve ser um inteiro", + NotMathMLToken: "%1 n\u00E3o \u00E9 um elemento de token", + InvalidMathMLAttr: "Atributo MathML inv\u00E1lido: %1", + UnknownAttrForElement: "%1 n\u00E3o \u00E9 um atributo reconhecido para %2", + MaxMacroSub1: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es de macros do MathJax; h\u00E1 alguma chamada a uma macro recursiva?", + MaxMacroSub2: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es do MathJax; h\u00E1 algum ambiente de LaTeX recursivo?", + MissingArgFor: "Faltou um argumento para %1", + ExtraAlignTab: "Sobrou um tab de alinhamento no texto de \\cases", + BracketMustBeDimension: "O argumento nos colchetes de %1 deve ser uma dimens\u00E3o", + InvalidEnv: "Nome de ambiente inv\u00E1lido '%1'", + UnknownEnv: "Ambiente desconhecido '%1'", + ExtraCloseLooking: "Sobrou uma chave de fechamento ao procurar por %1", + MissingCloseBracket: "N\u00E3o foi encontrado um ']' de fechamento para o argumento de %1", + MissingOrUnrecognizedDelim: "O delimitador para %1 est\u00E1 ausente ou n\u00E3o foi reconhecido", + MissingDimOrUnits: "Faltou a dimens\u00E3o ou a unidade de %1", + TokenNotFoundForCommand: "N\u00E3o foi encontrado %1 para %2", + MathNotTerminated: "A f\u00F3rmula n\u00E3o foi terminada na caixa de texto", + IllegalMacroParam: "Refer\u00EAncia inv\u00E1lida a um par\u00E2metro de macro", + MaxBufferSize: "O tamanho do buffer interno do MathJax foi excedido; h\u00E1 alguma chamada a uma macro recursiva?", + CommandNotAllowedInEnv: "%1 n\u00E3o \u00E9 permitido no ambiente %2", + MultipleLabel: "O r\u00F3tulo '%1' foi definido mais de uma vez", + CommandAtTheBeginingOfLine: "%1 deve vir no in\u00EDcio da linha", + IllegalAlign: "Foi especificado um alinhamento ilegal em %1", + BadMathStyleFor: "Estilo de f\u00F3rmulas matem\u00E1ticas ruim para %1", + PositiveIntegerArg: "O argumento para %1 deve ser um numero inteiro positivo", + ErroneousNestingEq: "Aninhamento incorreto de estruturas de equa\u00E7\u00F5es", + MultlineRowsOneCol: "As linhas do ambiente %1 devem ter apenas uma coluna", + MultipleBBoxProperty: "%1 foi especificado duas vezes em %2", + InvalidBBoxProperty: "'%1' n\u00E3o parece ser uma cor, uma dimens\u00E3o para padding, nem um estilo", + ExtraEndMissingBegin: "Sobrou um %1 ou faltou um \\begingroup", + GlobalNotFollowedBy: "%1 n\u00E3o foi seguido por um \\let, \\def, ou \\newcommand", + UndefinedColorModel: "O modelo de cores '%1' n\u00E3o foi definido", + ModelArg1: "Os valores de cor para o modelo %1 exigem 3 n\u00FAmeros", + InvalidDecimalNumber: "N\u00FAmero decimal inv\u00E1lido", + ModelArg2: "Os valores de cor para o modelo %1 devem estar entre %2 e %3", + InvalidNumber: "N\u00FAmero inv\u00E1lido", + NewextarrowArg1: "O primeiro argumento de %1 deve ser o nome de uma sequ\u00EAncia de controle", + NewextarrowArg2: "O segundo argumento de %1 deve ser composto de dois inteiros separados por uma v\u00EDrgula", + NewextarrowArg3: "O terceiro argumento de %1 deve ser o n\u00FAmero de um caractere unicode", + NoClosingChar: "N\u00E3o foi poss\u00EDvel encontrar um %1 de fechamento", + IllegalControlSequenceName: "Nome ilegal para uma sequ\u00EAncia de controle de %1", + IllegalParamNumber: "N\u00FAmero ilegal de par\u00E2metros especificado em %1", + MissingCS: "%1 deve ser seguido por uma sequ\u00EAncia de controle", + CantUseHash2: "Uso ilegal de # em um modelo para %1", + SequentialParam: "Os par\u00E2metros para %1 devem ser numerados sequencialmente", + MissingReplacementString: "Faltou a linha de substitui\u00E7\u00E3o para a defini\u00E7\u00E3o de %1", + MismatchUseDef: "O uso de %1 n\u00E3o est\u00E1 de acordo com sua defini\u00E7\u00E3o", + RunawayArgument: "Argumento extra para %1?", + NoClosingDelim: "N\u00E3o foi encontrado um delimitador de fechamento para %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt-br/pt-br.js b/src/py/kaleido/vendor/mathjax/localization/pt-br/pt-br.js new file mode 100644 index 00000000..fd029bf4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt-br/pt-br.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/pt-br/pt-br.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt-br",null,{ + menuTitle: "portugu\u00EAs do Brasil", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "O MathJax encontrou um cookie com configura\u00E7\u00F5es de usu\u00E1rio que inclui c\u00F3digo a ser executado. Deseja execut\u00E1-lo?\n\n(Voc\u00EA deve pressionar Cancelar a n\u00E3o ser que voc\u00EA mesmo tenha criado o cookie.)", + MathProcessingError: "Erro no processamento das f\u00F3rmulas", + MathError: "Erro na f\u00F3rmula matem\u00E1tica", + LoadFile: "Carregando %1", + Loading: "Carregando", + LoadFailed: "O arquivo n\u00E3o pode ser carregado: %1", + ProcessMath: "Processando f\u00F3rmula: %1%%", + Processing: "Processando", + TypesetMath: "Realizando a Diagrama\u00E7\u00E3o das F\u00F3rmulas: %1%%", + Typesetting: "Realizando a Diagrama\u00E7\u00E3o", + MathJaxNotSupported: "Seu navegador n\u00E3o suporta MathJax", + ErrorTips: "Dicas de depura\u00E7\u00E3o: use %%1, para inspecionar %%2 no console do navegador" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt-br/pt-br.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/pt/FontWarnings.js new file mode 100644 index 00000000..8a0c1bc6 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/pt/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "O MathJax est\u00E1 a utilizar fontes baseadas em web para exibir as f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina. A sua descarga leva algum tempo, ent\u00E3o a p\u00E1gina seria renderizada mais rapidamente se instalasse as fontes para matem\u00E1tica diretamente no diret\u00F3rio de fontes do seu sistema.", + imageFonts: "O MathJax est\u00E1 a utilizar fontes feitas com imagens em vez de fontes locais ou baseadas em web. Isso torna a renderiza\u00E7\u00E3o mais lenta do que o de costume, e as f\u00F3rmulas matem\u00E1ticas poder\u00E3o n\u00E3o ser impressas com a maior resolu\u00E7\u00E3o dispon\u00EDvel na sua impressora.", + noFonts: "O MathJax n\u00E3o foi capaz de localizar uma fonte para utilizar ao renderizar as f\u00F3rmulas matem\u00E1ticas, e n\u00E3o est\u00E3o dispon\u00EDveis fontes feitas com imagens, ent\u00E3o ser\u00E3o utilizados caracteres Unicode gen\u00E9ricos com a esperan\u00E7a de que o seu navegador seja capaz de exibi-los. Alguns caracteres podem n\u00E3o aparecer como deveriam, ou simplesmente desaparecer.", + webFonts: "A maioria dos navegadores modernos permite que as fontes sejam descarregadas a partir da web. Atualizar para uma vers\u00E3o mais recente do seu navegador (ou mudar de navegador) poderia melhorar a qualidade das f\u00F3rmulas matem\u00E1ticas desta p\u00E1gina.", + fonts: "O MathJax pode usar tanto [fontes STIX](%1) ou as [fontes MathJax TeX](%2). Descarregue e instale estas fontes para melhorar a sua experi\u00EAncia com o MathJax.", + STIXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes STIX](%1). Descarregue e instale estas fontes para melhorar a sua experi\u00EAncia com o MathJax.", + TeXPage: "Esta p\u00E1gina foi projetada para utilizar [fontes MathJax TeX](%1). Descarregue e instale estas fontes para melhorar a sua experi\u00EAncia com o MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/pt/HTML-CSS.js new file mode 100644 index 00000000..7cf8a6a0 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/pt/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "A carregar fonte baseada em web %1", + CantLoadWebFont: "N\u00E3o foi poss\u00EDvel carregar a fonte baseada em web %1", + FirefoxCantLoadWebFont: "O Firefox n\u00E3o pode carregar fontes baseadas em web a partir de um servidor remoto", + CantFindFontUsing: "N\u00E3o \u00E9 poss\u00EDvel encontrar uma fonte v\u00E1lida usando %1", + WebFontsNotAvailable: "Fontes baseadas em web n\u00E3o est\u00E3o dispon\u00EDveis -- a usar fontes feitas com imagens em vez disso" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/pt/HelpDialog.js new file mode 100644 index 00000000..10fdc48c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/pt/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Ajuda do MathJax", + MathJax: "*MathJax* \u00E9 uma biblioteca em JavaScript que permite aos autores a inclus\u00E3o de conte\u00FAdo matem\u00E1tico em suas p\u00E1ginas web. Como um renderizador, voc\u00EA n\u00E3o precisa fazer qualquer coisa para que isso ocorra.", + Browsers: "*Navegadores*: O MathJax funciona em todos os navegadores modernos incluindo IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e a maioria dos navegadores para dispositivos m\u00F3veis.", + Menu: "*Menu de F\u00F3rmulas*: O MathJax acrescenta um menu de contexto \u00E0s equa\u00E7\u00F5es. Clique com o bot\u00E3o direito ou pressione CTRL ao clicar em qualquer f\u00F3rmula matem\u00E1tica para aceder ao menu.", + ShowMath: "*Mostrar f\u00F3rmulas como* permite que visualize o c\u00F3digo da f\u00F3rmula para copiar e colar (como MathML ou no seu formato original).", + Settings: "*Configura\u00E7\u00F5es* oferecem o controle sobre os recursos do MathJax, tais como o tamanho das f\u00F3rmulas, e o mecanismo utilizado para exibir equa\u00E7\u00F5es.", + Language: "*Idioma* permite que escolha o idioma que o MathJax utiliza nos seus menus e mensagens de aviso.", + Zoom: "*Zoom nas F\u00F3rmulas*: Se voc\u00EA tem dificuldade para ler uma equa\u00E7\u00E3o, o MathJax pode ampli\u00E1-la para ajud\u00E1-lo a visualiz\u00E1-la melhor.", + Accessibilty: "*Acessibilidade*: O MathJax funcionar\u00E1 automaticamente em leitores de ecr\u00E3 para tornar as f\u00F3rmulas matem\u00E1ticas acess\u00EDveis aos que possuem problemas de vis\u00E3o.", + Fonts: "*Fontes*: O MathJax utilizar\u00E1 certas fontes para f\u00F3rmulas matem\u00E1ticas se elas estiverem instaladas no seu computador; caso contr\u00E1rio, ele utilizar\u00E1 fontes baseadas em web. Embora n\u00E3o seja obrigat\u00F3rio, o uso de fontes instaladas localmente acelerar\u00E1 a diagrama\u00E7\u00E3o. Sugerimos que instale [fontes STIX](%1).", + CloseDialog: "Fechar caixa de ajuda" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/MathML.js b/src/py/kaleido/vendor/mathjax/localization/pt/MathML.js new file mode 100644 index 00000000..96b2c71a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/pt/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Mglyph ruim: %1", + BadMglyphFont: "Fonte ruim: %1", + MathPlayer: "O MathJax n\u00E3o foi capaz de configurar o MathPlayer.\n\nSe o MathPlayer n\u00E3o estiver instalado, precisar\u00E1 instal\u00E1-lo primeiro.\nCaso contr\u00E1rio, suas configura\u00E7\u00F5es de seguran\u00E7a podem estar prevenindo a execu\u00E7\u00E3o\nde controles ActiveX. Use as Op\u00E7\u00F5es de Internet sob\no menu Ferramentas e selecione a aba de Seguran\u00E7a ent\u00E3o pressione o bot\u00E3o N\u00EDvel Personalizado. Confira se as configura\u00E7\u00F5es para 'Execu\u00E7\u00E3o de Controles ActiveX', e 'Comportamento de scripts e c\u00F3digos bin\u00E1rios'\nest\u00E3o ativadas.\n\nAtualmente, ver\u00E1 mensagens de erro em vez da \ndiagrama\u00E7\u00E3o das f\u00F3rmulas matem\u00E1ticas.", + CantCreateXMLParser: "O MathJax n\u00E3o pode criar um interpretador de XML para o MathML. Confira se\na configura\u00E7\u00E3o de seguran\u00E7a 'Controles de Script ActiveX marcados como seguros para scripting'\nest\u00E1 habilitado (use as Op\u00E7\u00F5es de Internet no menu \nFerramentas, e selecione o painel de Seguran\u00E7a, depois pressione o bot\u00E3o N\u00EDvel Personalizado\npara conferir isso).\n\nAs equa\u00E7\u00F5es em MathML n\u00E3o poder\u00E3o ser processadas pelo MathJax.", + UnknownNodeType: "Tipo de n\u00F3 desconhecido: %1", + UnexpectedTextNode: "N\u00F3 de texto inesperado: %1", + ErrorParsingMathML: "Erro ao processar MathML", + ParsingError: "Erro ao processar MathML: %1", + MathMLSingleElement: "MathML deve ser formado por um \u00FAnico elemento", + MathMLRootElement: "MathML deve ser formado por um elemento \u003Cmath\u003E, n\u00E3o %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/pt/MathMenu.js new file mode 100644 index 00000000..8b22c7aa --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/pt/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Mostrar f\u00F3rmulas como", + MathMLcode: "C\u00F3digo MathML", + OriginalMathML: "MathML original", + TeXCommands: "Comandos TeX", + AsciiMathInput: "Entrada AsciiMathML", + Original: "Formato original", + ErrorMessage: "Mensagem de erro", + Annotation: "Anota\u00E7\u00E3o", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML do conte\u00FAdo", + OpenMath: "OpenMath", + texHints: "Mostrar dicas de TeX em MathML", + Settings: "Configura\u00E7\u00F5es das f\u00F3rmulas", + ZoomTrigger: "Ativador do zoom", + Hover: "Passar o rato", + Click: "Clique", + DoubleClick: "Duplo clique", + NoZoom: "Sem zoom", + TriggerRequires: "O ativador requer:", + Option: "Op\u00E7\u00E3o", + Alt: "Alt", + Command: "Comando", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Fator de zoom", + Renderer: "Renderizador matem\u00E1tico", + MPHandles: "Deixe que o MathPlayer resolva:", + MenuEvents: "Eventos de menu", + MouseEvents: "Eventos do rato", + MenuAndMouse: "Eventos do rato e de menu", + FontPrefs: "Prefer\u00EAncias de fontes", + ForHTMLCSS: "Para HTML-CSS:", + Auto: "Autom\u00E1tico", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (imagem)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Menu de contexto", + Browser: "Navegador", + Scale: "Redimensionar todas as f\u00F3rmulas ...", + Discoverable: "Destacar ao passar com o rato", + Locale: "L\u00EDngua", + LoadLocale: "Carregar a partir de URL ...", + About: "Sobre o MathJax", + Help: "Ajuda do MathJax", + localTeXfonts: "a usar fontes TeX locais", + webTeXfonts: "a usar fontes TeX da web", + imagefonts: "a usar fontes feitas com imagens", + localSTIXfonts: "a usar fontes STIX", + webSVGfonts: "a usar fontes SVG da web", + genericfonts: "a usar fontes unicode gen\u00E9ricas", + wofforotffonts: "fontes WOFF ou OTF", + eotffonts: "fontes EOT", + svgfonts: "fontes SVG", + WebkitNativeMMLWarning: "N\u00E3o parece haver suporte nativo ao MathML no seu navegador, ent\u00E3o a mudan\u00E7a para MathML pode tornar ileg\u00EDveis as f\u00F3rmulas matem\u00E1ticas da p\u00E1gina.", + MSIENativeMMLWarning: "O Internet Explorer requer o plugin MathPlayer para processar MathML.", + OperaNativeMMLWarning: "O suporte ao MathML no Opera \u00E9 limitado, ent\u00E3o a mudan\u00E7a para MathML pode piorar a renderiza\u00E7\u00E3o de algumas express\u00F5es.", + SafariNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", + FirefoxNativeMMLWarning: "O suporte ao MathML nativo do seu navegador n\u00E3o implementa todos os recursos usados pelo MathJax, ent\u00E3o algumas express\u00F5es podem n\u00E3o ser exibidas adequadamente.", + MSIESVGWarning: "N\u00E3o h\u00E1 uma implementa\u00E7\u00E3o de SVG nas vers\u00F5es do Internet Explorer anteriores ao IE9 ou quando ele est\u00E1 emulando o IE8 ou as vers\u00F5es anteriores. A mudan\u00E7a para SVG far\u00E1 com que as f\u00F3rmulas n\u00E3o sejam exibidas adequadamente.", + LoadURL: "Carregar os dados de tradu\u00E7\u00E3o a partir desta URL:", + BadURL: "A URL deve ser para um um ficheiro de JavaScript que defina os dados de tradu\u00E7\u00E3o do MathJax. Os nomes dos ficheiros de Javascript devem terminar com '.js'", + BadData: "Falha ao carregar os dados de tradu\u00E7\u00E3o de %1", + SwitchAnyway: "Mudar para este renderizador mesmo assim?\n\n(Pressione OK para mudar, CANCELAR para continuar com o renderizador atual)", + ScaleMath: "Redimensionar todas as f\u00F3rmulas matem\u00E1ticas (em rela\u00E7\u00E3o ao texto \u00E0 sua volta) em", + NonZeroScale: "A escala n\u00E3o deve ser zero", + PercentScale: "A escala deve ser uma percentagem (por exemplo, 120%%)", + IE8warning: "Isto desabilitar\u00E1 o menu MathJax e os recursos de zoom, mas voc\u00EA poder\u00E1 usar Alt-Clique em uma express\u00E3o para obter o menu MathJax em vez disso.\n\nDeseja realmente alterar as configura\u00E7\u00F5es do MathPlayer?", + IE9warning: "O menu de contexto do MathJax ser\u00E1 desabilitado, mas pode usar Alt-Clique numa express\u00E3o para obter o menu MathJax em vez disso.", + NoOriginalForm: "Sem uma forma original dispon\u00EDvel", + Close: "Fechar", + EqSource: "C\u00F3digo de equa\u00E7\u00E3o MathJax", + CloseAboutDialog: "Fechar caixa sobre MathJax", + FastPreview: "Pr\u00E9-visualiza\u00E7\u00E3o r\u00E1pida", + AssistiveMML: "MAthML assistiva", + InTabOrder: "Incluir na ordem da guia" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/TeX.js b/src/py/kaleido/vendor/mathjax/localization/pt/TeX.js new file mode 100644 index 00000000..a5943cf5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/pt/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Chaveta de abertura a mais ou chaveta de fecho a menos", + ExtraCloseMissingOpen: "Chaveta de fecho a mais ou chaveta de abertura a menos", + MissingLeftExtraRight: "Falta um \\left ou h\u00E1 um \\right a mais", + MissingScript: "Falta o valor de um sobrescrito ou de um subscrito", + ExtraLeftMissingRight: "Falta um \\right ou h\u00E1 um \\left a mais", + Misplaced: "%1 fora do lugar", + MissingOpenForSub: "Falta a chaveta de abertura para o subscrito", + MissingOpenForSup: "Falta a chaveta de abertura para o sobrescrito", + AmbiguousUseOf: "Uso amb\u00EDguo de %1", + EnvBadEnd: "\\begin{%1} foi terminado com \\end{%2}", + EnvMissingEnd: "\\end{%1} em falta", + MissingBoxFor: "Falta uma caixa para %1", + MissingCloseBrace: "Falta chaveta de fecho", + UndefinedControlSequence: "Sequ\u00EAncia de controlo indefinida %1", + DoubleExponent: "Expoente duplo: use chavetas para clarificar", + DoubleSubscripts: "Subscrito duplo: use chavetas para clarificar", + DoubleExponentPrime: "\u00C9 amb\u00EDguo a que diz respeito a plica (\u2032): use chavetas para clarificar", + CantUseHash1: "N\u00E3o pode usar o car\u00E1cter # que indica um par\u00E2metro de macro no modo matem\u00E1tico", + MisplacedMiddle: "%1 deve estar entre \\left e \\right", + MisplacedLimits: "%1 s\u00F3 \u00E9 permitido em operadores", + MisplacedMoveRoot: "%1 s\u00F3 pode ser usado dentro de uma raiz", + MultipleCommand: "Repeti\u00E7\u00E3o de %1", + IntegerArg: "O argumento de %1 deve ser um inteiro", + NotMathMLToken: "%1 n\u00E3o \u00E9 um elemento de chave", + InvalidMathMLAttr: "Atributo MathML inv\u00E1lido: %1", + UnknownAttrForElement: "%1 n\u00E3o \u00E9 um atributo reconhecido para %2", + MaxMacroSub1: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es de macros do MathJax; h\u00E1 alguma chamada a uma macro recursiva?", + MaxMacroSub2: "Foi excedido o m\u00E1ximo de substitui\u00E7\u00F5es do MathJax; h\u00E1 algum ambiente LaTeX recursivo?", + MissingArgFor: "Falta um argumento para %1", + ExtraAlignTab: "H\u00E1 um tab de alinhamento a mais no texto de \\cases", + BracketMustBeDimension: "O argumento nos par\u00EAnteses retos de %1 deve ser uma dimens\u00E3o", + InvalidEnv: "Nome de ambiente inv\u00E1lido: '%1'", + UnknownEnv: "Ambiente desconhecido: '%1'", + ExtraCloseLooking: "Encontrada uma chaveta de fecho ao procurar por %1", + MissingCloseBracket: "N\u00E3o foi encontrado um ']' de fecho para o argumento de %1", + MissingOrUnrecognizedDelim: "O delimitador para %1 est\u00E1 em falta ou n\u00E3o foi reconhecido", + MissingDimOrUnits: "Falta a dimens\u00E3o ou a unidade de %1", + TokenNotFoundForCommand: "N\u00E3o foi encontrado %1 para %2", + MathNotTerminated: "A f\u00F3rmula n\u00E3o foi terminada na caixa de texto", + IllegalMacroParam: "Refer\u00EAncia inv\u00E1lida a um par\u00E2metro de macro", + MaxBufferSize: "O tamanho do buffer interno do MathJax foi excedido; h\u00E1 alguma chamada a uma macro recursiva?", + CommandNotAllowedInEnv: "%1 n\u00E3o \u00E9 permitido no ambiente %2", + MultipleLabel: "O r\u00F3tulo '%1' foi definido mais que uma vez", + CommandAtTheBeginingOfLine: "%1 deve vir no in\u00EDcio da linha", + IllegalAlign: "Foi especificado um alinhamento ilegal em %1", + BadMathStyleFor: "Estilo de f\u00F3rmula inv\u00E1lido para %1", + PositiveIntegerArg: "O argumento para %1 deve ser um inteiro positivo", + ErroneousNestingEq: "Aninhamento incorreto de estruturas de equa\u00E7\u00F5es", + MultlineRowsOneCol: "As linhas do ambiente %1 devem ter apenas uma coluna", + MultipleBBoxProperty: "%1 foi especificado duas vezes em %2", + InvalidBBoxProperty: "'%1' n\u00E3o parece ser uma cor, uma dimens\u00E3o de espa\u00E7amento, nem um estilo", + ExtraEndMissingBegin: "H\u00E1 um %1 a mais ou um \\begingroup a menos", + GlobalNotFollowedBy: "%1 n\u00E3o foi seguido por um \\let, \\def, ou \\newcommand", + UndefinedColorModel: "O modelo de cores '%1' n\u00E3o foi definido", + ModelArg1: "O modelo %1 requer 3 n\u00FAmeros para valores de cor", + InvalidDecimalNumber: "N\u00FAmero decimal inv\u00E1lido", + ModelArg2: "Os valores de cor para o modelo %1 devem estar entre %2 e %3", + InvalidNumber: "N\u00FAmero inv\u00E1lido", + NewextarrowArg1: "O primeiro argumento de %1 deve ser o nome de uma sequ\u00EAncia de controlo", + NewextarrowArg2: "O segundo argumento de %1 deve ser composto por dois inteiros separados por uma v\u00EDrgula", + NewextarrowArg3: "O terceiro argumento de %1 deve ser o c\u00F3digo Unicode de um caractere", + NoClosingChar: "N\u00E3o foi poss\u00EDvel encontrar um %1 de fecho", + IllegalControlSequenceName: "O nome da sequ\u00EAncia de controlo para %1 \u00E9 inv\u00E1lido", + IllegalParamNumber: "N\u00FAmero inv\u00E1lido de par\u00E2metros especificado em %1", + MissingCS: "%1 deve ser seguido por uma sequ\u00EAncia de controlo", + CantUseHash2: "Uso ilegal de # em modelo para %1", + SequentialParam: "Os par\u00E2metros para %1 devem ser numerados sequencialmente", + MissingReplacementString: "Falta a string de substitui\u00E7\u00E3o para a defini\u00E7\u00E3o de %1", + MismatchUseDef: "O uso de %1 n\u00E3o condiz com sua defini\u00E7\u00E3o", + RunawayArgument: "Argumento em excesso para %1?", + NoClosingDelim: "N\u00E3o foi encontrado um delimitador de fecho para %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/pt/pt.js b/src/py/kaleido/vendor/mathjax/localization/pt/pt.js new file mode 100644 index 00000000..d3cc769d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/pt/pt.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/pt/pt.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("pt",null,{ + menuTitle: "portugu\u00EAs", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Erro no processamento das f\u00F3rmulas", + MathError: "Erro de matem\u00E1tica", + LoadFile: "A carregar %1", + Loading: "A carregar", + LoadFailed: "O ficheiro n\u00E3o pode ser carregado: %1", + ProcessMath: "A processar f\u00F3rmula: %1%%", + Processing: "A processar", + TypesetMath: "A formatar f\u00F3rmulas: %1%%", + Typesetting: "A formatar", + MathJaxNotSupported: "O seu navegador n\u00E3o suporta MathJax", + ErrorTips: "Dicas de depura\u00E7\u00E3o: use %%1, para inspecionar %%2 no console do navegador" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/pt/pt.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/qqq/FontWarnings.js new file mode 100644 index 00000000..342a665d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/qqq/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/qqq/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "This warning is displayed by the FontWarnings extension when web-based fonts are used.", + imageFonts: "This warning is displayed by the FontWarnings extension when image fonts are used.", + noFonts: "This warning is displayed by the FontWarnings extension when no fonts can be used.", + webFonts: "This warning is displayed by the FontWarnings extension when the browser do not support web fonts", + fonts: "{{doc-markdown}}\nThis warning is displayed by the FontWarnings extension when the HTML-CSS availableFonts list contains both STIX and TeX.\n\nParameters:\n* %1 - URL\n* %2 - URL\nSee also:\n* {{msg-mathjax|Fontwarnings-TeXPage}}", + STIXPage: "{{doc-markdown}}\nThis warning is displayed by the FontWarnings extension when the HTML-CSS availableFonts list contains only STIX.\n\nParameters:\n* %1 - URL", + TeXPage: "{{doc-markdown}}\nThis warning is displayed by the FontWarnings extension when the HTML-CSS availableFonts list contains only TeX.\n\nParameters:\n* %1 - URL\nSee also:\n* {{msg-mathjax|Fontwarnings-fonts}}" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/qqq/HTML-CSS.js new file mode 100644 index 00000000..ad08fcbc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/qqq/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/qqq/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "This is displayed in MathJax message box when the HTML-CSS output is loading a Web font.\n\nParameters:\n* %1 - the font name", + CantLoadWebFont: "This is displayed in MathJax message box when the HTML-CSS output fails to load a Web font. The first argument is the font name", + FirefoxCantLoadWebFont: "This is displayed in MathJax message box when the HTML-CSS output fails to load a Web font in Firefox", + CantFindFontUsing: "This is displayed in MathJax message box when the HTML-CSS output fails to load a Web font from a given list.\n\nParameters:\n* %1 - a list of fonts tried, comma-separated", + WebFontsNotAvailable: "This is displayed in MathJax message box when the HTML-CSS fails to load Web fonts" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/qqq/HelpDialog.js new file mode 100644 index 00000000..6131811e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/qqq/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/qqq/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "This is the title displayed at the top of the MathJax Help dialog.", + MathJax: "First paragraph of the MathJax Help dialog.\n\nStars around 'MathJax' is the Markdown syntax to put it in emphasis.", + Browsers: "Second paragraph of the MathJax Help dialog.\n\nStars around 'Browsers' is the Markdown syntax to put it in emphasis.", + Menu: "Third paragraph of the MathJax Help dialog.\n\nStars around 'Math Menu' the Markdown syntax to put it in emphasis.\n\n\"CTRL\" refers to \"Ctrl key\" (\"Control key\").", + ShowMath: "First item of the the 'Math Menu' paragraph.\n\nStars around 'Show math as' is the Markdown syntax to put it in emphasis.\n\n'Show Math as' should be consistent with {{msg-mathjax|Mathmenu-Show}}.", + Settings: "Second item of the the 'Math Menu' paragraph.\n\nStars around 'Settings' is the Markdown syntax to put it in emphasis.\n\n'Settings' should be consistent with {{msg-mathjax|Mathmenu-Settings}}.", + Language: "Third item of the the 'Math Menu' paragraph.\n\nStars around 'Language' is the Markdown syntax to put it in emphasis.\n\n'Language' should be consistent with {{msg-mathjax|Mathmenu-Locale}}.", + Zoom: "Fourth paragraph of the MathJax Help dialog.\n\nStars around 'Math Zoom' is the Markdown syntax to put it in emphasis.\n\n'Math Zoom' should be consistent with {{msg-mathjax|Mathmenu-ZoomTrigger}} and {{msg-mathjax|Mathmenu-ZoomFactor}}.", + Accessibilty: "Fifth paragraph of the MathJax Help dialog.\n\nStars around 'Accessibility' is the Markdown syntax to put it in emphasis.", + Fonts: "{{doc-markdown}}\nSixth paragraph of the MathJax Help dialog.\n\nStars around 'Fonts' is the Markdown syntax to put it in emphasis.\n\n\u003Ccode\u003E[STIX fonts](%1)\u003C/code\u003E is the Markdown syntax for links.\n\nParameters:\n* %1 - a URL the STIX fonts", + CloseDialog: "Text alternative for the closing button of the 'MathJax Help' pop-up." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/MathML.js b/src/py/kaleido/vendor/mathjax/localization/qqq/MathML.js new file mode 100644 index 00000000..714eb430 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/qqq/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/qqq/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "This error is displayed when processing a MathML mglyph element with a bad URL. Parameters:\n* %1 - the value of the src attribute", + BadMglyphFont: "Parameters:\n* %1 - font family", + MathPlayer: "This alert is displayed when the Native MathML output Jax fails to set up MathPlayer. The instructions are IE specific.\n\nThe new line character is used to force new lines in the alert box.", + CantCreateXMLParser: "This alert is displayed when the MathML input Jax fails to create an XML parser. The instructions are IE specific.\n\nThe new line character is used to force new lines in the alert box.", + UnknownNodeType: "Used as error message. Parameters:\n* %1 - node type", + UnexpectedTextNode: "Used as error message. Parameters:\n* %1 - text, enclosed in \"'\"", + ErrorParsingMathML: "This error is displayed when a MathML element fails to be parsed.\n\nIt can only be produced by old versions of Internet Explorer.", + ParsingError: "This error is displayed when an XML parsing error happens.\n\nThe argument is the error returned by the XML parser.", + MathMLSingleElement: "This error is displayed when a MathML input Jax contains more than one \u003Ccode\u003E\u003Cnowiki\u003E\u003Cmath\u003E\u003C/nowiki\u003E\u003C/code\u003E root.\n\nIt can only be produced by very old browsers.", + MathMLRootElement: "{{doc-important|Do not translate the \u003Ccode\u003E\u003Cnowiki\u003E\u003Cmath\u003E\u003C/nowiki\u003E\u003C/code\u003E tag! It is a MathML tag.}} \n\nThis error is displayed when a MathML input Jax contains a root other than \u003Ccode\u003E\u003Cnowiki\u003E\u003Cmath\u003E\u003C/nowiki\u003E\u003C/code\u003E.\n\nParameters:\n* %1 - the root name" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/qqq/MathMenu.js new file mode 100644 index 00000000..7824d256 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/qqq/MathMenu.js @@ -0,0 +1,110 @@ +/************************************************************* + * + * MathJax/localization/qqq/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "'Show math as' menu item. MathJax uses 'Math' as a distinct UI choice. Please translate it literally whenever possible.\n\nFollowed by the following menu subitems:\n* {{msg-mathjax|Mathmenu-MathMLcode}}\n* {{msg-mathjax|Mathmenu-Original}}\n* {{msg-mathjax|Mathmenu-Annotation}}\n* {{msg-mathjax|Mathmenu-texHints}} - checkbox label", + MathMLcode: "This menu item from 'Show math as' shows the MathML code that MathJax has produced internally (sanitized, indented etc.)\n\nThe parent menu item is {{msg-mathjax|Mathmenu-Show}}.", + OriginalMathML: "This menu item from 'Show math as' shows the MathML code as if that was originally in the page source", + TeXCommands: "This menu item from 'Show math as' shows the TeX code if that was originally in the page source", + AsciiMathInput: "This menu item from 'Show math as' shows the asciimath code if that was originally in the page source", + Original: "This menu item from 'Show math as' shows the code that was originally in the page source but has no registered type.\n\nThis can happen when extensions add new input formats but fail to provide an adequate format name.\n\nThe parent menu item is {{msg-mathjax|Mathmenu-Show}}.\n{{Identical|Original form}}", + ErrorMessage: "This menu item from 'Show math as' shows the error message if MathJax fails to process the source.\n{{Identical|Error message}}", + Annotation: "This menu item from 'Show math as' allows to access possible annotations attached to a MathML formula.\n{{Identical|Annotation}}", + TeX: "This is a menu item from the 'Annotation Menu' to show a TeX annotation.", + StarMath: "This is a menu item from the 'Annotation Menu' to show a StarMath annotation (StarOffice, OpenOffice, LibreOffice).\n\nProgramming language used in MathJax.", + Maple: "This is a menu item from the 'Annotation Menu' to show a Maple annotation.", + ContentMathML: "This is a menu item from the 'Annotation Menu' to show a Content MathML annotation.\n\nThe MathML specification defines two versions: 'presentation' MathML (used in MathJax) and 'content' MathML (describes the semantics of the formula).", + OpenMath: "This is a menu item from the 'Annotation Menu' to show the OpenMath annotation, an XML representation similar to Content MathML.", + texHints: "This menu option from 'Show math as' adds comments to the code produced by 'MathMLCode'.\n\nUsed as checkbox label in the menu.", + Settings: "'Math settings' menu item.", + ZoomTrigger: "This menu from 'Math Settings' determines how MathJax's zoom is triggered.\n\nFollowed by the following menu items:\n* {{msg-mathjax|Mathmenu-Hover}}\n* {{msg-mathjax|Mathmenu-Click}}\n* {{msg-mathjax|Mathmenu-DoubleClick}}\n* {{msg-mathjax|Mathmenu-NoZoom}}\n* {{msg-mathjax|Mathmenu-TriggerRequires}} - label for the following checkboxes\n* {{msg-mathjax|Mathmenu-Option}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Alt}} - checkbox label, for Windows\n* {{msg-mathjax|Mathmenu-Command}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Control}} - checkbox label, for non-mac\n* {{msg-mathjax|Mathmenu-Shift}} - checkbox label", + Hover: "This menu option from 'ZoomTrigger' indicates that the zoom is triggered when the mouse pass over a formula.", + Click: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the zoom is triggered when one clicks on a formula.\n{{Identical|Click}}", + DoubleClick: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the zoom is triggered when one double-clicks on a formula.", + NoZoom: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the zoom is never triggered.", + TriggerRequires: "This menu text from {{msg-mathjax|Mathmenu-ZoomTrigger}} describes if the ZoomTrigger requires additional keys.\n\nThe label is followed by the following menu items:\n* {{msg-mathjax|Mathmenu-Option}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Alt}} - checkbox label, for Windows\n* {{msg-mathjax|Mathmenu-Command}} - checkbox label, for Mac\n* {{msg-mathjax|Mathmenu-Control}} - checkbox label, for non-Mac\n* {{msg-mathjax|Mathmenu-Shift}} - checkbox label", + Option: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the OPTION key is needed (Apple-style).\n{{Identical|Options}}", + Alt: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the ALT key is needed (Windows-style)", + Command: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the COMMAND key is needed (Apple-style).\n{{Identical|Command}}", + Control: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the CONTROL key is needed\n\n\"Control key\" is also known as \"Ctrl key\".", + Shift: "This menu option from {{msg-mathjax|Mathmenu-ZoomTrigger}} indicates that the SHIFT key is needed", + ZoomFactor: "Used as menu item which has the following sub menu items: 125%%, 133%%, 150%%, 175%%, 200%%, 250%%, 300%%, 400%%", + Renderer: "Used as menu item which has the following sub menu items:\n* HTML-CSS\n* MathML\n* SVG", + MPHandles: "Used as label in the menu.\n\nFollowed by the following menu items:\n* {{msg-mathjax|Mathmenu-MenuEvents}}\n* {{msg-mathjax|Mathmenu-MouseEvents}}\n* {{msg-mathjax|Mathmenu-MenuAndMouse}}", + MenuEvents: "Option to let MathPlayer handle the contextual menu selections", + MouseEvents: "Option to let MathPlayer handle the mouse clicks", + MenuAndMouse: "Option to let MathPlayer handle Mouse and Menu Events", + FontPrefs: "This menu item from 'Math Settings' allows selection of the font to use (and is mostly for development purposes) e.g. STIX", + ForHTMLCSS: "Used as label in the menu.\n\nFollowed by the following radio box label:\n* {{msg-mathjax|Mathmenu-Auto}}", + Auto: "{{Identical|Automatic}}", + TeXLocal: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", + TeXWeb: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", + TeXImage: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", + STIXLocal: "Used as label for the radio box in the menu.\n{{Related|Mathmenu-fonts}}", + STIXWeb: "{{Related|Mathmenu-fonts}}", + AsanaMathWeb: "{{Related|Mathmenu-fonts}}", + GyrePagellaWeb: "{{Related|Mathmenu-fonts}}", + GyreTermesWeb: "{{Related|Mathmenu-fonts}}", + LatinModernWeb: "{{Related|Mathmenu-fonts}}", + NeoEulerWeb: "{{Related|Mathmenu-fonts}}", + ContextMenu: "Used as menu item.\n\nFollowed by the following sub menu items:\n* MathJax - radio box label\n* {{msg-mathjax|Mathmenu-Browser}} - radio box label", + Browser: "Used as menu item.\n\nThe parent menu item is {{msg-mathjax|Mathmenu-ContextMenu}}.\n{{Identical|Browser}}", + Scale: "This menu item from 'Math Settings' allows users to set a scaling factor for the MathJax output (relative to the surrounding content).", + Discoverable: "This menu option indicates whether the formulas should be highlighted when you pass the mouse over them.\n\nUsed as checkbox label in the menu.", + Locale: "This menu item from 'Math Settings' allows to select a language. The language names are specified by the 'menuTitle' properties.\n\nThis menu item has the following sub menu items:\n* en\n* {{msg-mathjax|Mathmenu-LoadLocale}}\n{{Identical|Language}}", + LoadLocale: "This allows the user to load the translation from a given URL.\n\nUsed as the menu item which has the parent menu item {{msg-mathjax|Mathmenu-Locale}}.", + About: "This opens the 'About MathJax' popup.\n\nUsed as menu item.", + Help: "This opens the 'MathJax Help' popup", + localTeXfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses local MathJax TeX fonts.\n{{Related|Mathmenu-using}}", + webTeXfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses Web versions of MathJax TeX fonts.\n{{Related|Mathmenu-using}}", + imagefonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses Image versions of MathJax TeX fonts.\n{{Related|Mathmenu-using}}", + localSTIXfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses local MathJax STIX fonts.\n{{Related|Mathmenu-using}}", + webSVGfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses SVG MathJax TeX fonts.\n{{Related|Mathmenu-using}}", + genericfonts: "This is from the 'About MathJax' popup and is displayed when MathJax uses local generic fonts.\n{{Related|Mathmenu-using}}", + wofforotffonts: "This is from the 'About MathJax' popup. woff/otf are names of font formats", + eotffonts: "This is from the 'About MathJax' popup. eot is a name of font format", + svgfonts: "This is from the 'About MathJax' popup. svg is a name of font format", + WebkitNativeMMLWarning: "This is the WebKit warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", + MSIENativeMMLWarning: "This is the IE warning displayed when a user changes the rendering output to native MathML via the MathJax menu and does not have MathPlayer installed.", + OperaNativeMMLWarning: "This is the Opera warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", + SafariNativeMMLWarning: "This is the Safari warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", + FirefoxNativeMMLWarning: "This is the Firefox warning displayed when a user changes the rendering output to native MathML via the MathJax menu.", + MSIESVGWarning: "This is the IE warning displayed when a user changes the rendering output to SVG via the MathJax menu and uses an versions of IE.", + LoadURL: "This is the prompt message for the 'LoadLocale' menu entry", + BadURL: "This is the alert message when a bad URL is specified for 'LoadLocale'.", + BadData: "This is the alert message when the translation data specified 'LoadLocale' fails to be loaded. The argument is the URL specified.", + SwitchAnyway: "This is appended at the end of switch warnings.\n\nUsed for JavaScript \u003Ccode\u003Econfirm()\u003C/code\u003E.", + ScaleMath: "This is the prompt message for the 'Scale all math' menu entry.\n\nUsed for JavaScript \u003Ccode\u003Eprompt()\u003C/code\u003E.", + NonZeroScale: "This is the alert message when the scale specified to 'ScaleMath' is zero", + PercentScale: "This is the alert message when the scale specified to 'ScaleMath' is not a percentage", + IE8warning: "This this the confirm message displayed for when the user chooses to let MathPlayer control the contextual menu (IE8)", + IE9warning: "This this the alert message displayed for when the user chooses to let MathPlayer control the contextual menu (IE9)", + NoOriginalForm: "This is the alert box displayed when there are missing source formats for {{Msg-mathjax|Mathmenu-Show}}; see also {{Msg-mathjax|Mathmenu-Original}}.", + Close: "Closing button in the 'Show math as' window.\n{{Identical|Close}}", + EqSource: "This is the title of the 'Show math as' button.\n\nUsed in the \u003Ccode\u003E\u003Cnowiki\u003E\u003Ctitle\u003E\u003C/nowiki\u003E\u003C/code\u003E tag of the new window.", + FastPreview: "A checkbox activating two-passrendering with a faster, rougher preview being rendered by the PreviewHTML output.", + AssistiveMML: "A checkbox that activates an extension providing invisible but accessible MathML source alongside the rendering.", + InTabOrder: "A checkbox to indicate whether MathJax adds a tabindex attribute (with value '0') to its output." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/TeX.js b/src/py/kaleido/vendor/mathjax/localization/qqq/TeX.js new file mode 100644 index 00000000..7556d32a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/qqq/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/qqq/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "This appears in TeX expressions when open and close braces do not match e.g. \u003Ccode\u003E\\( { \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-ExtraCloseMissingOpen}}", + ExtraCloseMissingOpen: "This appears in TeX expressions when open and close braces do not match e.g. \u003Ccode\u003E\\( } \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-ExtraOpenMissingClose}}", + MissingLeftExtraRight: "{{doc-important|Do not translate \u003Ccode\u003E\\left\u003C/code\u003E and \u003Ccode\u003E\\right\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when \u003Ccode\u003Eleft\u003C/code\u003E/\u003Ccode\u003Eright\u003C/code\u003E commands do no match e.g. \u003Ccode\u003E\\( \\right) \\)\u003C/code\u003E", + MissingScript: "This appears in TeX expressions when a superscript or subscript is missing e.g. \u003Ccode\u003Ea^2\u003C/code\u003E or \u003Ccode\u003Ea_2\u003C/code\u003E.", + ExtraLeftMissingRight: "{{doc-important|Do not translate \u003Ccode\u003E\\left\u003C/code\u003E and \u003Ccode\u003E\\right\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when \u003Ccode\u003Eleft\u003C/code\u003E/\u003Ccode\u003Eright\u003C/code\u003E commands do no match e.g. \u003Ccode\u003E\\( \\left( \\)\u003C/code\u003E", + Misplaced: "This appears in TeX expressions when an item is misplaced e.g. \u003Ccode\u003E\\( \u0026 \\)\u003C/code\u003E since the ampersand is supposed to be used in tabular expressions.\n\nParameters:\n* %1 - the misplaced item", + MissingOpenForSub: "This appears in TeX expressions when a subscript is missing an open brace e.g. \u003Ccode\u003E\\( x__ \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-MissingOpenForSup}}", + MissingOpenForSup: "This appears in TeX expressions when a superscript is missing an open brace e.g. \u003Ccode\u003E\\( x^^ \\)\u003C/code\u003E\n\nSee also:\n* {{msg-mathjax|Tex-MissingOpenForSub}}", + AmbiguousUseOf: "This appears in TeX expressions when a command is used in an ambiguous way e.g. \u003Ccode\u003E\\( x \\over y \\over z \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the name of the TeX command", + EnvBadEnd: "{{doc-important|Do not translate \u003Ccode\u003E\\begin\u003C/code\u003E and \u003Ccode\u003E\\end\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when environment names do not match e.g. \u003Ccode\u003E\\( \\begin{aligned} \\end{eqarray} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name used for \u003Ccode\u003E\\begin\u003C/code\u003E\n* %2 - the environment name used for \u003Ccode\u003E\\end\u003C/code\u003E", + EnvMissingEnd: "{{doc-important|Do not translate \u003Ccode\u003E\\end\u003C/code\u003E, it is a TeX command.}}\nThis appears in TeX expressions when an environment is not closed e.g. \u003Ccode\u003E\\( \\begin{aligned} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name e.g. \u003Ccode\u003Ealigned\u003C/code\u003E", + MissingBoxFor: "This appears in TeX expressions when a command is missing a TeX box e.g. \u003Ccode\u003E\\( \\raise 1pt \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name", + MissingCloseBrace: "This appears in TeX expressions when a close brace is missing e.g. \u003Ccode\u003E\\( \\array{ \\)\u003C/code\u003E", + UndefinedControlSequence: "This appears in TeX expressions when an undefined control sequence is used. Parameters:\n* %1 - the name of the TeX command", + DoubleExponent: "This appears in TeX expressions when an ambiguous double exponent is used e.g. \u003Ccode\u003Ex^3^2\u003C/code\u003E should be \u003Ccode\u003Ex^{3^2}\u003C/code\u003E or \u003Ccode\u003E{x^3}^2\u003C/code\u003E.\n\nSee also:\n* {{msg-mathjax|Tex-DoubleSubscripts}}", + DoubleSubscripts: "This appears in TeX expressions when an ambiguous double subscripts is used e.g. \u003Ccode\u003Ex_3_2\u003C/code\u003E should be \u003Ccode\u003Ex_{3_2}\u003C/code\u003E or \u003Ccode\u003E{x_3}_2\u003Ccode\u003E.\n\nSee also:\n* {{msg-mathjax|Tex-DoubleExponent}}", + DoubleExponentPrime: "This appears in TeX expressions when an ambiguous double exponent is caused by a prime e.g. \u003Ccode\u003Ex^a'\u003C/code\u003E should be \u003Ccode\u003E{x^a}'\u003C/code\u003E or \u003Ccode\u003Ex^{a'}\u003C/code\u003E", + CantUseHash1: "This appears in TeX expressions when the macro parameter character '#' is used in math mode e.g. \u003Ccode\u003E\\( # \\)\u003C/code\u003E", + MisplacedMiddle: "{{doc-important|Do not translate \u003Ccode\u003E\\left\u003C/code\u003E and \u003Ccode\u003E\\right\u003C/code\u003E; they are TeX commands.}}\nThis appears in TeX expressions when the \u003Ccode\u003Emiddle\u003C/code\u003E command is used outside \u003Ccode\u003E\\left ... \\right\u003C/code\u003E e.g. \u003Ccode\u003E\\( \\middle| \\)\u003C/code\u003E", + MisplacedLimits: "This appears in TeX expressions when the \u003Ccode\u003Elimits\u003C/code\u003E command is not used on an operator e.g. \u003Ccode\u003E\\( \\limits \\)\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\limits\u003C/code\u003E", + MisplacedMoveRoot: "This appears in TeX expressions when a move root command is used outside a root e.g. \u003Ccode\u003E\\( \\uproot \\)\u003C/code\u003E.\n\nParameters:\n* %1 - either \u003Ccode\u003E\\uproot\u003C/code\u003E or \u003Ccode\u003E\\leftroot\u003C/code\u003E", + MultipleCommand: "This happens when a command or token can only be present once, e.g. \u003Ccode\u003E\\tag{}\u003C/code\u003E. Parameters:\n* %1 - the name of the duplicated command", + IntegerArg: "This happens when an unexpected non-integer argument is passed to a command e.g. \u003Ccode\u003E\\uproot\u003C/code\u003E.\n\nParameters:\n* %1 - the name of the command", + NotMathMLToken: "MathJax has a non-standard \u003Ccode\u003E\\mmlToken\u003C/code\u003E command to insert MathML token elements.\n\nThis error happens when the tag name is unknown e.g. \u003Ccode\u003E\\mmlToken{INVALID}{x}\u003C/code\u003E", + InvalidMathMLAttr: "MathJax has non standard MathML and HTML related commands which can contain attributes.\n\nThis error happens when the parameter is not a valid attribute e.g. \u003Ccode\u003E\\( \\mmlToken{mi}[_INVALID_]{x} \\)\u003C/code\u003E where underscores are forbidden.", + UnknownAttrForElement: "MathJax has non standard MathML and HTML related commands which can contain attributes.\n\nThis error happens when the attribute is invalid for the given element e.g. \u003Ccode\u003E\\( \\mmlToken{mi}[INVALIDATTR=\u003Cnowiki\u003E''\u003C/nowiki\u003E]{x} \\)\u003C/code\u003E\n\nParameters:\n* %1 - attribute\n* %2 - ...", + MaxMacroSub1: "MathJax limits the number of macro substitutions to prevent infinite loops.\n\nFor example, this error may happen with \u003Ccode\u003E\\newcommand{\\a}{\\a} \\a\u003C/code\u003E", + MaxMacroSub2: "MathJax limits the number of nested environments to prevent infinite loops.\n\nFor example, this error may happen with \u003Ccode\u003E\\newenvironment{a}{\\begin{a}}{\\end{a}} \\begin{a}\\end{a}\u003C/code\u003E", + MissingArgFor: "This happens when an argument is missing e.g. \u003Ccode\u003E\\frac{a}\u003C/code\u003E. Parameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\frac\u003C/code\u003E", + ExtraAlignTab: "{{doc-important|Do not translate \u003Ccode\u003E\\cases\u003C/code\u003E; it is a TeX command.}}\nThis happens when \u003Ccode\u003E\\cases\u003C/code\u003E has two many columns e.g. \u003Ccode\u003E\\cases{a \u0026 b \u0026 c}\u003C/code\u003E", + BracketMustBeDimension: "This happens when a bracket argument of an item is not a dimension e.g. \u003Ccode\u003E\\begin{array} x \\\\[INVALID] y \\end{array}\u003C/code\u003E.\n\nParameters:\n* %1 - e.g. \u003Ccode\u003E\\\u003C/code\u003E", + InvalidEnv: "This happens with invalid environment name e.g. \u003Ccode\u003E\\begin{_INVALID_} \\end{_INVALID_}\u003C/code\u003E where underscores are forbidden.\n\nParameters:\n* %1 - the environment name e.g. \u003Ccode\u003E_INVALID_\u003C/code\u003E", + UnknownEnv: "This happens when an unknown environment is used e.g. \u003Ccode\u003E\\begin{UNKNOWN} \\end{UNKNOWN}\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name e.g. \u003Ccode\u003EUNKNOWN\u003C/code\u003E", + ExtraCloseLooking: "This happens in some situations when an extra close brace is found while looking for another character, for example \u003Ccode\u003E\\( \\sqrt['''{{red|\u003Cnowiki\u003E}\u003C/nowiki\u003E}}''']x \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the character searched e.g. \u003Ccode\u003E]\u003C/code\u003E", + MissingCloseBracket: "This error happens when a closing '\u003Ccode\u003E]\u003C/code\u003E' is missing e.g. \u003Ccode\u003E\\( \\sqrt[ \\)\u003C/code\u003E. Parameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\sqrt\u003C/code\u003E", + MissingOrUnrecognizedDelim: "This error happens when a delimiter is missing or unrecognized in a TeX expression e.g. \u003Ccode\u003E\\( \\left \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\left\u003C/code\u003E", + MissingDimOrUnits: "This error happens with some TeX commands that are expecting a unit e.g. \u003Ccode\u003E\\above\u003C/code\u003E. Parameters:\n* %1 - the command name", + TokenNotFoundForCommand: "This happens while processing a TeX command that is expected to contain a token e.g. \u003Ccode\u003E\\( \\root{x} \\)\u003C/code\u003E where '\u003Ccode\u003E\\of\u003C/code\u003E' should be used.\n\nParameters:\n* %1 - the token not found e.g. \u003Ccode\u003E\\of\u003C/code\u003E\n* %2 - the command being processed e.g. \u003Ccode\u003E\\root\u003C/code\u003E", + MathNotTerminated: "This happens when a math is not terminated in a text box e.g. \u003Ccode\u003E\\( \\text{$x} \\)\u003C/code\u003E where the closing dollar is missing.", + IllegalMacroParam: "This error happens when an invalid macro parameter reference is used e.g. \u003Ccode\u003E\\( \\def\\mymacro#1{#2} \\mymacro{x} \\)\u003C/code\u003E where '#2' is invalid since \u003Ccode\u003E\\mymacro\u003C/code\u003E has only one parameter.", + MaxBufferSize: "The buffer size refers to the memory used by the TeX input processor.\n\nThis error may happen with recursive calls e.g. \u003Ccode\u003E\\( \\newcommand{\\a}{\\a\\a} \\a \\)\u003C/code\u003E.\n\nNote that the number of a's is exponential with respect to the number of recursive calls.\n\nHence 'MaxBufferSize' is likely to happen before 'MaxMacroSub1'", + CommandNotAllowedInEnv: "This appears when the \u003Ccode\u003E\\tag\u003C/code\u003E command is used inside an environment that does not allow labelling e.g. \u003Ccode\u003E\\begin{split} x \\tag{x} \\end{split}\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\tag\u003C/code\u003E\n* %2 - the name of the environment", + MultipleLabel: "This happens when TeX labels are duplicated e.g. \u003Ccode\u003E\\( \\label{x} \\) \\( \\label{x} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - TeX label name", + CommandAtTheBeginingOfLine: "This happens when showleft/showright are misplaced. Parameters:\n* %1 - the macro name", + IllegalAlign: "This happens when an invalid alignment is specified in \u003Ccode\u003E\\cfrac\u003C/code\u003E e.g. \u003Ccode\u003E\\cfrac[INVALID]{a}{b}\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\cfrac\u003C/code\u003E", + BadMathStyleFor: "This happens when an invalid style is specified in \u003Ccode\u003E\\genfrac\u003C/code\u003E e.g. \u003Ccode\u003E\\genfrac{\\{}{\\}}{0pt}{INVALID}{a}{b}\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E\\genfrac\u003C/code\u003E", + PositiveIntegerArg: "This happens when an invalid alignment is specified in the \u003Ccode\u003Ealignedat\u003C/code\u003E environment e.g. \u003Ccode\u003E\\begin{alignedat}{INVALID}\\end{alignedat}\u003C/code\u003E.", + ErroneousNestingEq: "This happens when some equation structures are nested in a way forbidden by LaTeX e.g. two nested \u003Ccode\u003Emultline\u003C/code\u003E environment.", + MultlineRowsOneCol: "This happens when a row of the \u003Ccode\u003Emultline\u003C/code\u003E environment has more than one column e.g. \u003Ccode\u003E\\begin{multline} x \u0026 y \\end{multline}\u003C/code\u003E.\n\nParameters:\n* %1 - the environment name \u003Ccode\u003Emultline\u003C/code\u003E", + MultipleBBoxProperty: "This appears with the TeX command \u003Ccode\u003E\\bbox\u003C/code\u003E when a property e.g. the background color is specified twice.\n\nParameters:\n* %1 - the name of the duplicate property\n* %2 - the command name \u003Ccode\u003E\\bbox\u003C/code\u003E", + InvalidBBoxProperty: "This appears with the TeX command \u003Ccode\u003E\\bbox\u003C/code\u003E when a property is not a color, a padding dimension, or a style.\n\n'padding' is a CSS property name for the 'inner margin' of a box. You may verify on MDN how it is translated in your language.\n\nParameters:\n* %1 - the name of the invalid property specified", + ExtraEndMissingBegin: "{{doc-important|Do not translate \u003Ccode\u003E\\begingroup\u003C/code\u003E.}}\nThis appears in TeX expressions when begingroup/endgroup do not match. Parameters:\n* %1 - the command name \u003Ccode\u003E\\endgroup\u003C/code\u003E", + GlobalNotFollowedBy: "{{doc-important|Do not translate \u003Ccode\u003E\\let\u003C/code\u003E, \u003Ccode\u003E\\def\u003C/code\u003E, or \u003Ccode\u003E\\newcommand\u003C/code\u003E; they are TeX expressions.}}\nThis appears in TeX expressions when \u003Ccode\u003E\\global\u003C/code\u003E is not followed by \u003Ccode\u003E\\let\u003C/code\u003E, \u003Ccode\u003E\\def\u003C/code\u003E, or \u003Ccode\u003E\\newcommand\u003C/code\u003E", + UndefinedColorModel: "An invalid color model is used for the \u003Ccode\u003E\\color\u003C/code\u003E command. Parameters:\n* %1 - the color model specified", + ModelArg1: "An invalid color value is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[RGB]{}{} \\)\u003C/code\u003E\n\nParameters:\n* %1 - color model name", + InvalidDecimalNumber: "An invalid decimal number is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[rgb]{,,}{} \\)\u003C/code\u003E.\n\nA valid decimal number is such as: 12, 12., 12.34, .34", + ModelArg2: "An out-of-range number is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[RGB]{256,,}{} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the color model e.g. \u003Ccode\u003ERGB\u003C/code\u003E\n* %2 - the lower bound of the valid interval e.g. 0 for the RGB color model\n* %3 - the upper bound of the valid interval e.g. 255 for the RGB color model", + InvalidNumber: "An invalid number is used for the \u003Ccode\u003E\\color\u003C/code\u003E command e.g. \u003Ccode\u003E\\( \\color[RGB]{,,}{} \\)\u003C/code\u003E.\n\nA valid number is such as: 123", + NewextarrowArg1: "Used when the first argument of \u003Ccode\u003E\\Newextarrow\u003C/code\u003E is invalid. Parameters:\n* %1 - the command name \u003Ccode\u003E\\Newextarrow\u003C/code\u003E", + NewextarrowArg2: "Used when the second argument of \u003Ccode\u003E\\Newextarrow\u003C/code\u003E is invalid. Parameters:\n* %1 - the command name \u003Ccode\u003E\\Newextarrow\u003C/code\u003E", + NewextarrowArg3: "Used when the third argument of \u003Ccode\u003E\\Newextarrow\u003C/code\u003E is invalid. Parameters:\n* %1 - the command name \u003Ccode\u003E\\Newextarrow\u003C/code\u003E", + NoClosingChar: "This is used in TeX mhchem expressions when a closing delimiters is missing e.g. \u003Ccode\u003E\\( \\ce{ -\u003E[ } \\)\u003C/code\u003E.\n\nParameters:\n* %1 - \u003Ccode\u003E)\u003C/code\u003E, \u003Ccode\u003E}\u003C/code\u003E, or \u003Ccode\u003E]\u003C/code\u003E", + IllegalControlSequenceName: "This appears when the \u003Ccode\u003E\\newcommand\u003C/code\u003E TeX command is given an illegal control sequence name.\n\nParameters:\n* %1 - \u003Ccode\u003E\\newcommand\u003C/code\u003E", + IllegalParamNumber: "This appears when the \u003Ccode\u003E\\newcommand\u003C/code\u003E TeX command is given an illegal number of parameters.\n\nParameters:\n* %1 - \u003Ccode\u003E\\newcommand\u003C/code\u003E", + MissingCS: "This appears when a TeX definitions is not followed by a control sequence e.g. \u003Ccode\u003E\\let INVALID\u003C/code\u003E.\n\nParameters:\n* %1 - may be commands like \u003Ccode\u003E\\let\u003C/code\u003E, \u003Ccode\u003E\\def\u003C/code\u003E, \u003Ccode\u003E\\newcommand\u003C/code\u003E, \u003Ccode\u003E\\global\u003C/code\u003E, etc.", + CantUseHash2: "This appears when the character '#' is incorrectly used in TeX definitions, e.g. \u003Ccode\u003E\\def\\mycommand{{red|#}}A\u003C/code\u003E.\n\nParameters:\n* %1 - the command used e.g. \u003Ccode\u003Emycommand\u003C/code\u003E", + SequentialParam: "This appears in TeX definitions when parameters are not numbered sequentially e.g. \u003Ccode\u003E\\def\\mycommand#2#1\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\def\u003C/code\u003E", + MissingReplacementString: "This appears in TeX definitions when you don't specify a replacement string e.g. \u003Ccode\u003E\\def\\mycommand\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\def\u003C/code\u003E", + MismatchUseDef: "This appears in TeX definitions when a TeX command does not match its definition e.g. \u003Ccode\u003E\\( \\def\\mycommand[#1]#2[#3]{#1+#2+#3} \\mycommand{a}{b}[c] \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\mycommand\u003C/code\u003E", + RunawayArgument: "This appears in TeX definitions when a TeX command does not match its definition e.g. \u003Ccode\u003E\\( \\def\\mycommand[#1][#2]#3{#1+#2+#3} \\mycommand[a]{b} \\)\u003C/code\u003E.\n\nParameters:\n* %1 - the command name e.g. \u003Ccode\u003E\\mycommand\u003C/code\u003E", + NoClosingDelim: "This appears in TeX expressions when a \u003Ccode\u003E\\verb\u003C/code\u003E command is not closed e.g. \u003Ccode\u003E\\( \\verb?... \\)\u003C/code\u003E is missing a closing question mark.\n\nParameters:\n* %1 - the command name" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/qqq/qqq.js b/src/py/kaleido/vendor/mathjax/localization/qqq/qqq.js new file mode 100644 index 00000000..21ed79f3 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/qqq/qqq.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/localization/qqq/qqq.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("qqq",null,{ + menuTitle: "Message Documentation", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "This alert message is displayed when the MathJax cookie contains some data with URL or Config properties. These properties may be used to ask MathJax to perform actions during the Configuration phase: either loading a javascript file (URL property) or executing a configuration function (Config property). Note that the character '\\n' is used to specify new lines inside the alert box.", + MathProcessingError: "This message appears when a Javascript error happens during the processing of a mathematical element.", + MathError: "This message appears instead of 'Math Processing Error' when the obsolete Accessible configuration is used.", + LoadFile: "This appears in the MathJax message box when a file is loading. Parameters:\n* %1 - the file name\n{{Identical|Loading}}", + Loading: "This appears in the MathJax message box when a file is loading and the messageStyle configuration option is set to 'simple'.\n\nIt will be followed by growing sequence of dots to show the progress.\n{{Identical|Loading}}", + LoadFailed: "This appears in the MathJax message box when a file fails to load. Parameters:\n* %1 - the file name", + ProcessMath: "This appears in the MathJax message box during the conversion process from an input format (e.g., LaTeX, asciimath) to MathJax's internal format.\n\nParameters:\n* %1 - a percentage", + Processing: "This appears in the MathJax message box during the conversion process from an input format (e.g., LaTeX, asciimath) to MathJax's internal format when the messageStyle configuration option is set to 'simple'.\n\nIt will be followed by growing sequence of dots to show the progress.\n{{Identical|Processing}}", + TypesetMath: "This appears in the MathJax message box during the layout process of converting the internal format to the output format.\n\nParameters:\n* %1 - a percentage", + Typesetting: "This appears in the MathJax message box during the layout process of converting the internal format to the output format when the messageStyle configuration option is set to 'simple'.\n\nIt will be followed by growing sequence of dots to show the progress.", + MathJaxNotSupported: "This appears in the MathJax message box when MathJax determines the browser does not have adequate features.", + ErrorTips: "Debugging tips that appear in 'Show Math As' pop-ups if a rendering error occured." + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) {return 1}, + number: function (n) {return n} +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/qqq/qqq.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/ru/FontWarnings.js new file mode 100644 index 00000000..a9a0b1f8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ru/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/ru/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043D\u0430\u00A0\u044D\u0442\u043E\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435 \u0441\u00A0\u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0441\u0435\u0442\u0435\u0432\u044B\u0445 \u0448\u0440\u0438\u0444\u0442\u043E\u0432. \u0427\u0442\u043E\u0431\u044B\u00A0\u0443\u0441\u043A\u043E\u0440\u0438\u0442\u044C \u043F\u043E\u043A\u0430\u0437, \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0448\u0440\u0438\u0444\u0442\u044B \u043D\u0430\u00A0\u0412\u0430\u0448\u0435\u0439 \u043C\u0430\u0448\u0438\u043D\u0435.", + imageFonts: "MathJax \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0440\u0430\u0441\u0442\u0440\u043E\u0432\u044B\u0435 \u0448\u0440\u0438\u0444\u0442\u044B, \u0430\u00A0\u043D\u0435\u00A0\u0441\u0435\u0442\u0435\u0432\u044B\u0435 \u0438\u043B\u0438\u00A0\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435. \u042D\u0442\u043E \u0437\u0430\u043C\u0435\u0434\u043B\u044F\u0435\u0442 \u043F\u043E\u043A\u0430\u0437 \u0444\u043E\u0440\u043C\u0443\u043B, \u043A\u0440\u043E\u043C\u0435 \u0442\u043E\u0433\u043E, \u043E\u043D\u0438 \u043C\u043E\u0433\u0443\u0442 \u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C\u0441\u044F \u0441\u00A0\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u043C\u0435\u043D\u044C\u0448\u0438\u043C, \u0447\u0435\u043C\u00A0\u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u043F\u0440\u0438\u043D\u0442\u0435\u0440.", + noFonts: "MathJax \u043D\u0435\u00A0\u0441\u0443\u043C\u0435\u043B \u043F\u043E\u0434\u043E\u0431\u0440\u0430\u0442\u044C \u0448\u0440\u0438\u0444\u0442 \u0434\u043B\u044F\u00A0\u0432\u044B\u0432\u043E\u0434\u0430 \u0444\u043E\u0440\u043C\u0443\u043B, \u0430\u00A0\u0440\u0430\u0441\u0442\u0440\u043E\u0432\u044B\u0435 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u043E\u043D \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0441\u0438\u043C\u0432\u043E\u043B\u044B Unicode, \u0432\u00A0\u043D\u0430\u0434\u0435\u0436\u0434\u0435, \u0447\u0442\u043E\u00A0\u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0441\u043C\u043E\u0436\u0435\u0442 \u0438\u0445 \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C. \u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435, \u0438\u043B\u0438 \u0434\u0430\u0436\u0435 \u0432\u0441\u0435, \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043C\u043E\u0433\u0443\u0442 \u043D\u0435\u00A0\u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C\u0441\u044F.", + webFonts: "\u0411\u043E\u043B\u044C\u0448\u0430\u044F \u0447\u0430\u0441\u0442\u044C \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043E\u0432 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u0441\u0435\u0442\u0435\u0432\u044B\u0435 \u0448\u0440\u0438\u0444\u0442\u044B. \u0415\u0441\u043B\u0438\u00A0\u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0438\u043B\u0438\u00A0\u0441\u043C\u0435\u043D\u0438\u0442\u044C \u0431\u0440\u0430\u0443\u0437\u0435\u0440, \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043C\u043E\u0433\u0443\u0442 \u0432\u044B\u0432\u043E\u0434\u0438\u0442\u044C\u0441\u044F \u043B\u0443\u0447\u0448\u0435.", + fonts: "MathJax \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0438\u043B\u0438 [STIX fonts](%1) \u0438\u043B\u0438 [MathJax TeX fonts](%2). \u0421\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u0438\u00A0\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u043E\u0434\u043D\u043E \u0438\u0437\u00A0\u0434\u0432\u0443\u0445, \u0447\u0442\u043E\u0431\u044B\u00A0\u0443\u043B\u0443\u0447\u0448\u0438\u0442\u044C \u0432\u044B\u0432\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B.", + STIXPage: "\u042D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F [STIX-\u0448\u0440\u0438\u0444\u0442\u043E\u0432](%1). \u0421\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0438 \u0448\u0440\u0438\u0444\u0442\u044B, \u0447\u0442\u043E\u0431\u044B \u0443\u043B\u0443\u0447\u0448\u0438\u0442\u044C \u0440\u0430\u0431\u043E\u0442\u0443 \u0441 MathJax.", + TeXPage: "\u042D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F [MathJax TeX-\u0448\u0440\u0438\u0444\u0442\u043E\u0432](%1). \u0421\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0438 \u0448\u0440\u0438\u0444\u0442\u044B, \u0447\u0442\u043E\u0431\u044B \u0443\u043B\u0443\u0447\u0448\u0438\u0442\u044C \u0440\u0430\u0431\u043E\u0442\u0443 \u0441 MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/ru/HTML-CSS.js new file mode 100644 index 00000000..d1604994 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ru/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/ru/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0430 %1", + CantLoadWebFont: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442 %1", + FirefoxCantLoadWebFont: "Firefox \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u044B \u0441 \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u043E\u0433\u043E \u0445\u043E\u0441\u0442\u0430", + CantFindFontUsing: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0448\u0440\u0438\u0444\u0442 \u0441\u0440\u0435\u0434\u0438 %1", + WebFontsNotAvailable: "\u0412\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u044B \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B \u2014 \u0432\u043C\u0435\u0441\u0442\u043E \u043D\u0438\u0445 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C \u0448\u0440\u0438\u0444\u0442\u044B \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/ru/HelpDialog.js new file mode 100644 index 00000000..c3c8459f --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ru/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/ru/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u041F\u043E\u043C\u043E\u0447\u044C \u043F\u043E MathJax", + MathJax: "*MathJax*\u00A0\u2014 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0430 \u043D\u0430\u00A0JavaScript, \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0449\u0430\u044F \u0432\u044B\u0432\u043E\u0434\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043D\u0430\u00A0\u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u0445. \u0418\u0445\u00A0\u0447\u0438\u0442\u0430\u0442\u0435\u043B\u044F\u043C \u0434\u043B\u044F\u00A0\u044D\u0442\u043E\u0433\u043E \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435\u00A0\u043D\u0430\u0434\u043E \u0434\u0435\u043B\u0430\u0442\u044C.", + Browsers: "*\u0411\u0440\u0430\u0443\u0437\u0435\u0440\u044B*: MathJax \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0441\u043E\u00A0\u0432\u0441\u0435\u043C\u0438 \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u043C\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u043C\u0438, \u0432\u043A\u043B\u044E\u0447\u0430\u044F IE6+, Firefox 3+, Chrome 0.2+, Safari 2+. Opera 9.6+ \u0438\u00A0\u0431\u043E\u043B\u044C\u0448\u0438\u043D\u0441\u0442\u0432\u043E \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0445", + Menu: "*\u041C\u0435\u043D\u044E \u0444\u043E\u0440\u043C\u0443\u043B*: MathJax \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442 \u043A\u00A0\u0444\u043E\u0440\u043C\u0443\u043B\u0430\u043C \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E, \u0432\u044B\u0437\u044B\u0432\u0430\u0435\u043C\u043E\u0435 \u043F\u0440\u0430\u0432\u043E\u0439 \u043A\u043D\u043E\u043F\u043A\u043E\u0439 \u043C\u044B\u0448\u0438 \u0438\u043B\u0438\u00A0\u0449\u0435\u043B\u0447\u043A\u043E\u043C \u0441\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 Ctrl.", + ShowMath: "*\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u0443 \u043A\u0430\u043A* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0443\u0432\u0438\u0434\u0435\u0442\u044C \u0438\u00A0\u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u0432\u00A0\u0444\u043E\u0440\u043C\u0430\u0442\u0435 MathML \u0438\u043B\u0438\u00A0\u043F\u0435\u0440\u0432\u043E\u043D\u0430\u0447\u0430\u043B\u044C\u043D\u043E\u043C.", + Settings: "*\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442 \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044C \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438 MathJax, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0440\u0430\u0437\u043C\u0435\u0440 \u0444\u043E\u0440\u043C\u0443\u043B \u0438\u00A0\u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C \u0438\u0445\u00A0\u043F\u043E\u043A\u0430\u0437\u0430.", + Language: "*\u042F\u0437\u044B\u043A* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u044F\u0437\u044B\u043A \u043C\u0435\u043D\u044E \u0438\u00A0\u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 MathJax.", + Zoom: "*\u0423\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0435* \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u0443.", + Accessibilty: "*\u0421\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438*: MathJax \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u044B \u0447\u0442\u0435\u043D\u0438\u044F, \u043E\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u044F \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u0434\u043B\u044F\u00A0\u0441\u043B\u0435\u043F\u044B\u0445 \u0438\u00A0\u0441\u043B\u0430\u0431\u043E\u0432\u0438\u0434\u044F\u0449\u0438\u0445.", + Fonts: "*\u0428\u0440\u0438\u0444\u0442\u044B*: MathJax \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u0435 \u0448\u0440\u0438\u0444\u0442\u044B, \u0435\u0441\u043B\u0438\u00A0\u043E\u043D\u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u044B \u043D\u0430\u00A0\u0412\u0430\u0448\u0435\u043C \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435, \u0432\u00A0\u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044E\u0442\u0441\u044F \u0441\u0435\u0442\u0435\u0432\u044B\u0435. \u041C\u044B \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C [STIX fonts](%1), \u0447\u0442\u043E\u0431\u044B\u00A0\u0443\u0441\u043A\u043E\u0440\u0438\u0442\u044C \u0432\u044B\u0432\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B.", + CloseDialog: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433 \u0441\u043F\u0440\u0430\u0432\u043A\u0438" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/MathML.js b/src/py/kaleido/vendor/mathjax/localization/ru/MathML.js new file mode 100644 index 00000000..c0e184ee --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ru/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/ru/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 mglyph\u02D0 %1", + BadMglyphFont: "\u041F\u043B\u043E\u0445\u043E\u0439 \u0448\u0440\u0438\u0444\u0442: %1", + MathPlayer: "MathJax \u043D\u0435\u00A0\u0441\u043C\u043E\u0433 \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C MathPlayer.\n\n\u0415\u0441\u043B\u0438\u00A0MathPlayer \u043D\u0435\u00A0\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D, \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435. \u0415\u0441\u043B\u0438\u00A0\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D, \u0432\u0435\u0440\u043E\u044F\u0442\u043D\u043E, \u0412\u0430\u0448\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438 \u043D\u0435\u00A0\u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442 \u0437\u0430\u043F\u0443\u0441\u043A ActiveX. \u0412\u00A0\u043C\u0435\u043D\u044E \u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B|\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043E\u0431\u043E\u0437\u0440\u0435\u0432\u0430\u0442\u0435\u043B\u044F \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u043A\u043B\u0430\u0434\u043A\u0443 \u00AB\u0411\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C\u00BB, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443 \u00AB\u0414\u0440\u0443\u0433\u043E\u0439\u2026\u00BB \u0438\u00A0\u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E\u00A0\u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B ActiveX \u0438\u00A0\u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u0434\u0432\u043E\u0438\u0447\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430 \u0438\u00A0\u0441\u0446\u0435\u043D\u0430\u0440\u0438\u0435\u0432 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u044B.\n\n\u0421\u0435\u0439\u0447\u0430\u0441 \u0412\u044B \u0434\u043E\u043B\u0436\u043D\u044B \u0432\u0438\u0434\u0435\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043E\u0431\u00A0\u043E\u0448\u0438\u0431\u043A\u0430\u0445, \u0430\u00A0\u043D\u0435\u00A0\u0444\u043E\u0440\u043C\u0443\u043B\u044B.", + CantCreateXMLParser: "MathJax \u043D\u0435\u00A0\u0441\u043C\u043E\u0433 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0430\u0440\u0441\u0435\u0440 XML \u0434\u043B\u044F\u00A0MathML. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E\u00A0\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B ActiveX, \u043E\u0442\u043C\u0435\u0447\u0435\u043D\u043D\u044B\u0435 \u043A\u0430\u043A\u00A0\u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u044B\u0435 \u0434\u043B\u044F\u00A0\u0441\u043A\u0440\u0438\u043F\u0442\u043E\u0432, \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u044B (\u0412\u00A0\u043C\u0435\u043D\u044E \u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B|\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043E\u0431\u043E\u0437\u0440\u0435\u0432\u0430\u0442\u0435\u043B\u044F \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u043A\u043B\u0430\u0434\u043A\u0443 \u00AB\u0411\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C\u00BB, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443 \u00AB\u0414\u0440\u0443\u0433\u043E\u0439\u2026\u00BB).\n\nMathJax \u043D\u0435\u00A0\u0441\u043C\u043E\u0436\u0435\u0442 \u0432\u044B\u0432\u0435\u0441\u0442\u0438 \u0444\u043E\u0440\u043C\u0443\u043B\u044B MathML.", + UnknownNodeType: "\u041D\u0435\u0438\u0437\u043C\u0435\u0441\u0442\u043D\u044B\u0439 \u0442\u044D\u0433 %1", + UnexpectedTextNode: "\u0422\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u0439 \u0443\u0437\u0435\u043B %1 \u0432\u00A0\u044D\u0442\u043E\u043C \u043C\u0435\u0441\u0442\u0435 \u043D\u0435\u00A0\u043E\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044F", + ErrorParsingMathML: "\u041E\u0448\u0438\u0431\u043A\u0430 \u0440\u0430\u0437\u0431\u043E\u0440\u0430 MathML", + ParsingError: "\u041E\u0448\u0438\u0431\u043A\u0430 \u0440\u0430\u0437\u0431\u043E\u0440\u0430 MathML: %1", + MathMLSingleElement: "MathML \u0434\u043E\u043B\u0436\u0435\u043D \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u0438\u043D \u0442\u044D\u0433 \u003Cmath\u003E", + MathMLRootElement: "\u041A\u043E\u0440\u043D\u0435\u0432\u044B\u043C \u0443\u0437\u043B\u043E\u043C MathML \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u003Cmath\u003E, \u043D\u0435\u00A0%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/ru/MathMenu.js new file mode 100644 index 00000000..a306352a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ru/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/ru/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u0432\u00A0\u0432\u0438\u0434\u0435:", + MathMLcode: "\u041A\u043E\u0434 MathML", + OriginalMathML: "\u041E\u0440\u0438\u0433\u0438\u043D\u0430\u043B\u044C\u043D\u044B\u0439 MathML", + TeXCommands: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B TeX", + AsciiMathInput: "\u0412\u0432\u043E\u0434 AsciiMathML", + Original: "\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u0432\u0438\u0434", + ErrorMessage: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0435", + Annotation: "\u0410\u043D\u043D\u043E\u0442\u0430\u0446\u0438\u044F", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "\u0421\u043C\u044B\u0441\u043B\u043E\u0432\u0430\u044F \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0430", + OpenMath: "OpenMath", + texHints: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0438 \u0438\u0437 TeX \u0432 MathML", + Settings: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 Math", + ZoomTrigger: "\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F", + Hover: "\u041F\u0440\u0438\u00A0\u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044F \u043C\u044B\u0448\u0438", + Click: "\u041F\u0440\u0438 \u0449\u0435\u043B\u0447\u043A\u0435 \u043C\u044B\u0448\u044C\u044E", + DoubleClick: "\u041F\u0440\u0438\u00A0\u0434\u0432\u043E\u0439\u043D\u043E\u043C \u0449\u0435\u043B\u0447\u043A\u0435 \u043C\u044B\u0448\u044C\u044E", + NoZoom: "\u0411\u0435\u0437 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F", + TriggerRequires: "\u041F\u0440\u0438\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 \u043A\u043B\u0430\u0432\u0438\u0448\u0435:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "\u0423\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0435", + Renderer: "\u041E\u0442\u0440\u0438\u0441\u043E\u0432\u0449\u0438\u043A \u0444\u043E\u0440\u043C\u0443\u043B:", + MPHandles: "\u041F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u0449\u0435\u043B\u0447\u043A\u043E\u0432 \u043C\u044B\u0448\u044C\u044E MathPlayer", + MenuEvents: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0433\u043E \u043C\u0435\u043D\u044E", + MouseEvents: "\u0421\u043E\u0431\u044B\u0442\u0438\u044F \u043C\u044B\u0448\u0438", + MenuAndMouse: "\u041A\u043E\u043C\u0430\u043D\u0434\u044B \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0433\u043E \u043C\u0435\u043D\u044E \u0438 \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u043C\u044B\u0448\u0438", + FontPrefs: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0448\u0440\u0438\u0444\u0442\u043E\u0432", + ForHTMLCSS: "\u0414\u043B\u044F HTML-CSS:", + Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438", + TeXLocal: "TeX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435)", + TeXWeb: "TeX (\u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442)", + TeXImage: "TeX (\u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435)", + STIXLocal: "STIX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435)", + STIXWeb: "STIX (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + AsanaMathWeb: "Asana Math (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + GyrePagellaWeb: "Gyre Pagella (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + GyreTermesWeb: "Gyre Termes (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + LatinModernWeb: "Latin Modern (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + NeoEulerWeb: "Neo Euler (\u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442)", + ContextMenu: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E", + Browser: "\u0411\u0440\u0430\u0443\u0437\u0435\u0440", + Scale: "\u0423\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C \u0432\u0441\u0435 \u0444\u043E\u0440\u043C\u0443\u043B\u044B\u2026", + Discoverable: "\u041F\u043E\u0434\u0441\u0432\u0435\u0442\u0438\u0442\u044C \u043F\u043E\u0434\u00A0\u043C\u044B\u0448\u044C\u044E", + Locale: "\u042F\u0437\u044B\u043A", + LoadLocale: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0441 URL-\u0430\u0434\u0440\u0435\u0441\u0430...", + About: "\u041E MathJax", + Help: "\u041F\u043E\u043C\u043E\u0449\u044C \u043F\u043E MathJax", + localTeXfonts: "\u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0445 \u0448\u0440\u0438\u0444\u0442\u043E\u0432 TeX", + webTeXfonts: "\u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u043E\u0432 TeX", + imagefonts: "\u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0448\u0440\u0438\u0444\u0442\u043E\u0432", + localSTIXfonts: "\u0441\u00A0\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u0432 STIX \u043D\u0430\u00A0\u044D\u0442\u043E\u0439 \u043C\u0430\u0448\u0438\u043D\u0435", + webSVGfonts: "\u0441\u00A0\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0441\u0435\u0442\u0435\u0432\u044B\u0445 SVG-\u0448\u0440\u0438\u0444\u0442\u043E\u0432", + genericfonts: "\u0441\u00A0\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C Unicod-\u0448\u0440\u0438\u0444\u0442\u043E\u0432 \u043F\u043E\u00A0\u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043D\u0430\u00A0\u044D\u0442\u043E\u0439 \u043C\u0430\u0448\u0438\u043D\u0435", + wofforotffonts: "\u0428\u0440\u0438\u0444\u0442\u044B WOFF \u0438\u043B\u0438\u00A0OTF", + eotffonts: "EOT-\u0448\u0440\u0438\u0444\u0442\u044B", + svgfonts: "SVG-\u0448\u0440\u0438\u0444\u0442\u044B", + WebkitNativeMMLWarning: "\u041F\u043E\u0445\u043E\u0436\u0435, \u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u0441\u043F\u043E\u0441\u043E\u0431\u0435\u043D \u0441\u0430\u043C \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C MathML, \u043F\u043E\u044D\u0442\u043E\u043C\u0443\u00A0\u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0432\u00A0\u0440\u0435\u0436\u0438\u043C MathML \u043C\u043E\u0436\u0435\u0442 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B\u044B \u043D\u0435\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u043C\u0438", + MSIENativeMMLWarning: "Internet Explorer \u043C\u043E\u0436\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C MathML \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u00A0\u043F\u043E\u043C\u043E\u0449\u044C\u044E \u043F\u043B\u0430\u0433\u0438\u043D\u0430 MathPlayer.", + OperaNativeMMLWarning: "Opera \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u043D\u043E \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 MathML, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0432\u00A0\u0440\u0435\u0436\u0438\u043C\u0435 MathML \u0447\u0430\u0441\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u0432\u043E\u0434\u0438\u0442\u044C\u0441\u044F \u043F\u043B\u043E\u0445\u043E.", + SafariNativeMMLWarning: "\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C MathML \u0412\u0430\u0448\u0435\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043D\u0435\u00A0\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0441\u0435\u0445 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0445 MathJax \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0435\u0439, \u043F\u043E\u044D\u0442\u043E\u043C\u0443\u00A0\u0447\u0430\u0441\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C\u00A0\u0432\u044B\u0432\u0435\u0434\u0435\u043D\u0430 \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E.", + FirefoxNativeMMLWarning: "\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C MathML \u0412\u0430\u0448\u0435\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043D\u0435\u00A0\u0432\u0441\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0435 MathJax \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u0438, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0447\u0430\u0441\u0442\u044C \u0444\u043E\u0440\u043C\u0443\u043B \u043C\u043E\u0436\u0435\u0442 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E.", + MSIESVGWarning: "SVG \u043D\u0435\u00A0\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F Internet Explorer'\u043E\u043C \u0434\u043E\u00A0IE9 \u0438\u00A0\u0432\u00A0\u0440\u0435\u0436\u0438\u043C\u0435 \u044D\u043C\u0443\u043B\u044F\u0446\u0438\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 IE8 \u0438\u043B\u0438\u00A0\u043D\u0438\u0436\u0435. \u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0432\u00A0\u0440\u0435\u0436\u0438\u043C SVG \u043C\u043E\u0436\u0435\u0442 \u0432\u044B\u0437\u0432\u0430\u0442\u044C \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0444\u043E\u0440\u043C\u0443\u043B.", + LoadURL: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043D\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043F\u043E\u00A0\u0430\u0434\u0440\u0435\u0441\u0443:", + BadURL: "URL \u0434\u043E\u043B\u0436\u0435\u043D \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043D\u0430\u00A0\u0444\u0430\u0439\u043B JavaScript, \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u044E\u0449\u0438\u0439 \u043F\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043D\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F. \u0424\u0430\u0439\u043B\u044B JavaScript \u043E\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435\u043C \u00AB.js\u00BB", + BadData: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043D\u043D\u044B\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u043F\u043E\u00A0\u0430\u0434\u0440\u0435\u0441\u0443 %1 \u043D\u0435\u00A0\u0443\u0434\u0430\u043B\u0430\u0441\u044C", + SwitchAnyway: "\u0412\u0441\u0451 \u0440\u0430\u0432\u043D\u043E \u0441\u043C\u0435\u043D\u0438\u0442\u044C \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C \u043E\u0442\u0440\u0438\u0441\u043E\u0432\u043A\u0438 \u0444\u043E\u0440\u043C\u0443\u043B?\n\n(\u041D\u0430\u0436\u043C\u0438\u0442\u0435 OK \u0434\u043B\u044F\u00A0\u0441\u043C\u0435\u043D\u044B, \u041E\u0442\u043C\u0435\u043D\u0430, \u0447\u0442\u043E\u0431\u044B\u00A0\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0435\u0436\u043D\u0438\u0439)", + ScaleMath: "\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043C\u0430\u0441\u0448\u0442\u0430\u0431 \u0432\u0441\u0435\u0445 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u0439 (\u043F\u043E \u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u044E \u0441 \u043E\u043A\u0440\u0443\u0436\u0430\u044E\u0449\u0438\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C) \u043D\u0430", + NonZeroScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0440\u0430\u0432\u0435\u043D \u043D\u0443\u043B\u044E", + PercentScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0432\u044B\u0440\u0430\u0436\u0435\u043D \u0432 \u043F\u0440\u043E\u0446\u0435\u043D\u0442\u0430\u0445 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, 120%%)", + IE8warning: "\u042D\u0442\u043E \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E MathJax \u0438\u00A0\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F, \u043D\u043E\u00A0\u043C\u0435\u043D\u044E \u043F\u043E-\u043F\u0440\u0435\u0436\u043D\u0435\u043C\u0443 \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043F\u043E\u00A0\u0449\u0435\u043B\u0447\u043A\u0443 \u043C\u044B\u0448\u044C\u044E \u0441\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 Alt.\n\n\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 MathPlayer?", + IE9warning: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u043E\u0435 \u043C\u0435\u043D\u044E MathJax \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u043D\u043E\u00A0\u043F\u043E \u0449\u0435\u043B\u0447\u043A\u0443 \u043C\u044B\u0448\u044C\u044E \u0441\u00A0\u043D\u0430\u0436\u0430\u0442\u043E\u0439 Alt \u043E\u043D\u043E \u043F\u043E-\u043F\u0440\u0435\u0436\u043D\u0435\u043C\u0443 \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E.", + NoOriginalForm: "\u041D\u0435\u0442 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430", + Close: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", + EqSource: "\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u044B", + CloseAboutDialog: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433 \"\u041E \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0435\"", + FastPreview: "\u0411\u044B\u0441\u0442\u0440\u044B\u0439 \u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440", + AssistiveMML: "\u0412\u0441\u043F\u043E\u043C\u043E\u0433\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 MathML", + InTabOrder: "\u0412\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0432 \u043F\u043E\u0440\u044F\u0434\u043A\u0435 \u0442\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u0438" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/TeX.js b/src/py/kaleido/vendor/mathjax/localization/ru/TeX.js new file mode 100644 index 00000000..d8e50ccc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ru/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/ru/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u041B\u0438\u0448\u043D\u044F\u044F \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0430\u044F \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430", + ExtraCloseMissingOpen: "\u041B\u0438\u0448\u043D\u044F\u044F \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0430\u044F \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430", + MissingLeftExtraRight: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \\left \u0438\u043B\u0438 \u043B\u0438\u0448\u043D\u0438\u0439 \\right", + MissingScript: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430\u0434\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0439 \u0438\u043B\u0438 \u043F\u043E\u0434\u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442", + ExtraLeftMissingRight: "\u041B\u0438\u0448\u043D\u0438\u0439 \\left \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \\right", + Misplaced: "%1 \u043D\u0435\u00A0\u043D\u0430\u00A0\u043C\u0435\u0441\u0442\u0435", + MissingOpenForSub: "\u041D\u0435\u0442\u00A0\u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0435\u0439 \u0441\u043A\u043E\u0431\u043A\u0438 \u0432\u00A0\u043D\u0438\u0436\u043D\u0435\u043C \u0438\u043D\u0434\u0435\u043A\u0441\u0435", + MissingOpenForSup: "\u041D\u0435\u0442\u00A0\u043E\u0442\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0435\u0439 \u0441\u043A\u043E\u0431\u043A\u0438 \u0432\u00A0\u043D\u0438\u0436\u043D\u0435\u043C \u0438\u043D\u0434\u0435\u043A\u0441\u0435", + AmbiguousUseOf: "\u041D\u0435\u043E\u0434\u043D\u043E\u0437\u043D\u0430\u0447\u043D\u043E\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 %1", + EnvBadEnd: "\\begin{%1} \u0437\u0430\u043A\u0440\u044B\u0442\u043E \u0441\u00A0\u043F\u043E\u043C\u043E\u0449\u044C\u044E \\end{%2}", + EnvMissingEnd: "\u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D \\end{%1}", + MissingBoxFor: "\u0423\u00A0%1 \u043D\u0435\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0433\u043E", + MissingCloseBrace: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430", + UndefinedControlSequence: "\u041D\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u0430\u044F \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0430\u044F \u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C %1", + DoubleExponent: "\u0414\u0432\u043E\u0439\u043D\u0430\u044F \u044D\u043A\u0441\u043F\u043E\u043D\u0435\u043D\u0442\u0430: \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0441\u043A\u043E\u0431\u043A\u0438 \u0434\u043B\u044F \u0443\u0442\u043E\u0447\u043D\u0435\u043D\u0438\u044F", + DoubleSubscripts: "\u0414\u0432\u0430 \u043D\u0438\u0436\u043D\u0438\u0445 \u0438\u043D\u0434\u0435\u043A\u0441\u0430 \u043F\u043E\u0434\u0440\u044F\u0434: \u043F\u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0444\u0438\u0433\u0443\u0440\u043D\u044B\u0435 \u0441\u043A\u043E\u0431\u043A\u0438", + DoubleExponentPrime: "\u0428\u0442\u0440\u0438\u0445 \u043F\u043E\u0441\u043B\u0435\u00A0\u0432\u0435\u0440\u0445\u043D\u0435\u0433\u043E \u0438\u043D\u0434\u0435\u043A\u0441\u0430: \u0443\u0442\u043E\u0447\u043D\u0438\u0442\u0435, \u043A\u00A0\u0447\u0435\u043C\u0443 \u043E\u043D \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0441\u044F, \u0444\u0438\u0433\u0443\u0440\u043D\u044B\u043C\u0438 \u0441\u043A\u043E\u0431\u043A\u0430\u043C\u0438", + CantUseHash1: "\u0412\u00A0\u0440\u0435\u0436\u0438\u043C\u0435 \u00ABmath\u00BB \u043D\u0435\u043B\u044C\u0437\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0438\u043C\u0432\u043E\u043B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 \u043C\u0430\u043A\u0440\u043E\u0441\u0430 #", + MisplacedMiddle: "%1 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u043D\u0443\u0442\u0440\u0438 \\left \u0438\u00A0\\right", + MisplacedLimits: "%1 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u00A0\u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0430\u043C\u0438", + MisplacedMoveRoot: "%1 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u00A0\u043A\u043E\u0440\u043D\u044F\u0445", + MultipleCommand: "\u041D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E %1", + IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0446\u0435\u043B\u044B\u043C \u0447\u0438\u0441\u043B\u043E\u043C", + NotMathMLToken: "%1\u00A0\u2014 \u043D\u0435\u00A0\u0441\u0438\u043C\u0432\u043E\u043B MML", + InvalidMathMLAttr: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 MathML: %1", + UnknownAttrForElement: "%1\u00A0\u2014 \u043D\u0435\u00A0\u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0442\u0435\u0433\u0430 MML %2", + MaxMacroSub1: "\u041F\u0440\u0435\u0432\u044B\u0448\u0435\u043D\u043E \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u043E\u0434\u0441\u0442\u0430\u043D\u043E\u0432\u043E\u043A \u043C\u0430\u043A\u0440\u043E\u0441\u0430: \u043D\u0435\u00A0\u0440\u0435\u043A\u0443\u0440\u0441\u0438\u044F\u00A0\u043B\u0438 \u044D\u0442\u043E?", + MaxMacroSub2: "\u041F\u0440\u0435\u0432\u044B\u0448\u0435\u043D\u043E \u043F\u0440\u0435\u0434\u0435\u043B\u044C\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u043E\u0434\u0441\u0442\u0430\u043D\u043E\u0432\u043E\u043A MathJax. \u041D\u0435\u0442\u00A0\u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0438 \u0432\u00A0\u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0438 LaTeX?", + MissingArgFor: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1", + ExtraAlignTab: "\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u043D\u043E\u0433\u043E \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432 \u0432\u00A0\\cases", + BracketMustBeDimension: "\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C (?) %1 \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C", + InvalidEnv: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u044F \u00AB%1\u00BB", + UnknownEnv: "\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E\u0435 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0435 \u00AB%1\u00BB", + ExtraCloseLooking: "\u041B\u0438\u0448\u043D\u044F\u044F \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0430\u044F \u0441\u043A\u043E\u0431\u043A\u0430, \u043A\u043E\u0433\u0434\u0430 \u043E\u0436\u0438\u0434\u0430\u043B\u0430\u0441\u044C %1", + MissingCloseBracket: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0443\u044E ']' \u0434\u043B\u044F \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0430 \u043A %1", + MissingOrUnrecognizedDelim: "\u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043B\u0438 \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0434\u043B\u044F %1", + MissingDimOrUnits: "\u041D\u0435\u0442\u00A0\u0435\u0434\u0438\u043D\u0438\u0446\u044B \u0438\u0437\u043C\u0435\u0440\u0435\u043D\u0438\u044F \u0432\u00A0%1", + TokenNotFoundForCommand: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 %1 \u0434\u043B\u044F %2", + MathNotTerminated: "\u041D\u0435\u0437\u0430\u043A\u0440\u044B\u0442\u0430\u044F \u0444\u043E\u0440\u043C\u0443\u043B\u0430 \u0432\u00A0\\text{}", + IllegalMacroParam: "\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430\u00A0\u043D\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0439 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043C\u0430\u043A\u0440\u043E\u0441\u0430", + MaxBufferSize: "\u0418\u0441\u0447\u0435\u0440\u043F\u0430\u043D \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u0431\u0443\u0444\u0435\u0440 MathJax: \u043D\u0435\u0442\u00A0\u043B\u0438 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u043E\u0433\u043E \u043C\u0430\u043A\u0440\u043E\u0441\u0430?", + CommandNotAllowedInEnv: "%1 \u043D\u0435\u00A0\u043F\u043E\u0437\u0432\u043E\u043B\u0435\u043D \u0432\u00A0\u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0438 %2", + MultipleLabel: "\u041C\u0435\u0442\u043A\u0430 \u00AB%1\u00BB \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0440\u0430\u0437", + CommandAtTheBeginingOfLine: "%1 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0432\u00A0\u043D\u0430\u0447\u0430\u043B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438", + IllegalAlign: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u0432\u00A0%1", + BadMathStyleFor: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439 \u0441\u0442\u0438\u043B\u044C \u0434\u043B\u044F\u00A0%1", + PositiveIntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0430\u0442\u0443\u0440\u0430\u043B\u044C\u043D\u044B\u043C \u0447\u0438\u0441\u043B\u043E\u043C", + ErroneousNestingEq: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440", + MultlineRowsOneCol: "\u0412 \u0441\u0442\u0440\u043E\u043A\u0430\u0445 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u044F %1 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043F\u043E\u00A0\u043E\u0434\u043D\u043E\u043C\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u0443", + MultipleBBoxProperty: "%1 \u0443\u043A\u0430\u0437\u0430\u043D\u043E \u0434\u0432\u0430\u0436\u0434\u044B \u0432 %2", + InvalidBBoxProperty: "'%1'\u00A0\u2014 \u043D\u0435\u00A0\u0446\u0432\u0435\u0442, \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u043E\u0442\u0441\u0442\u0443\u043F \u0438\u043B\u0438\u00A0\u0441\u0442\u0438\u043B\u044C", + ExtraEndMissingBegin: "\u041B\u0438\u0448\u043D\u0435\u0435 %1 \u0438\u043B\u0438\u00A0\u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E \\begingroup", + GlobalNotFollowedBy: "\u041F\u043E\u0441\u043B\u0435 %1 \u043D\u0435\u0442 \\let, \\def \u0438\u043B\u0438\u00A0\\newcommand", + UndefinedColorModel: "\u0426\u0432\u0435\u0442\u043E\u0432\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C \u00AB%1\u00BB \u043D\u0435\u00A0\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0430", + ModelArg1: "\u0426\u0432\u0435\u0442\u043E\u0432\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C %1 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u0440\u0451\u0445\u00A0\u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432", + InvalidDecimalNumber: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0434\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E", + ModelArg2: "\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432 \u0446\u0432\u0435\u0442\u0430 \u0432\u00A0\u043C\u043E\u0434\u0435\u043B\u0438 %1 \u0434\u043E\u043B\u0436\u043D\u044B \u0431\u044B\u0442\u044C \u043C\u0435\u0436\u0434\u0443 %2 \u0438 %3", + InvalidNumber: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0447\u0438\u0441\u043B\u043E", + NewextarrowArg1: "\u041F\u0435\u0440\u0432\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043D\u0430\u0431\u043E\u0440 \u043A\u043E\u043C\u0430\u043D\u0434", + NewextarrowArg2: "\u0412\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C %1 \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u043F\u0430\u0440\u0430 \u0446\u0435\u043B\u044B\u0445 \u0447\u0438\u0441\u0435\u043B, \u0440\u0430\u0437\u0434\u0435\u043B\u0451\u043D\u043D\u0430\u044F \u0437\u0430\u043F\u044F\u0442\u043E\u0439", + NewextarrowArg3: "\u0422\u0440\u0435\u0442\u044C\u0438\u043C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u043C %1 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043A\u043E\u0434 \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \u042E\u043D\u0438\u043A\u043E\u0434", + NoClosingChar: "\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u044E\u0449\u0438\u0439 \u0441\u0438\u043C\u0432\u043E\u043B %1", + IllegalControlSequenceName: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B %1", + IllegalParamNumber: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 %1", + MissingCS: "\u041F\u043E\u0441\u043B\u0435 %1 \u0434\u043E\u043B\u0436\u043D\u044B \u0438\u0434\u0442\u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B", + CantUseHash2: "\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 # \u0432\u00A0\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0438 %1", + SequentialParam: "\u041D\u043E\u043C\u0435\u0440\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 %1 \u0434\u043E\u043B\u0436\u043D\u044B \u0431\u044B\u0442\u044C\u00A0\u043F\u043E\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u044B", + MissingReplacementString: "\u041D\u0435\u0442\u00A0\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F %1", + MismatchUseDef: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0439 \u0432\u044B\u0437\u043E\u0432 %1", + RunawayArgument: "\u0412\u00A0\u0432\u044B\u0437\u043E\u0432\u0435 %1 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440?", + NoClosingDelim: "%1 \u043D\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/ru/ru.js b/src/py/kaleido/vendor/mathjax/localization/ru/ru.js new file mode 100644 index 00000000..b30c829a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/ru/ru.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/localization/ru/ru.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("ru",null,{ + menuTitle: "\u0440\u0443\u0441\u0441\u043A\u0438\u0439", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u043D\u0430\u0448\u043B\u0430 \u043A\u0443\u043A\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u0439 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043A\u043E\u0434 \u0434\u043B\u044F \u0437\u0430\u043F\u0443\u0441\u043A\u0430. \u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0435\u0433\u043E?\n\n(\u0412\u044B \u0434\u043E\u043B\u0436\u043D\u044B \u043D\u0430\u0436\u0430\u0442\u044C \u041E\u0442\u043C\u0435\u043D\u0430, \u0435\u0441\u043B\u0438 \u0432\u044B \u0441\u0430\u043C\u043E\u0441\u0442\u043E\u044F\u0442\u0435\u043B\u044C\u043D\u043E \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u043B\u0438 \u0444\u0430\u0439\u043B \u043A\u0443\u043A\u0438).", + MathProcessingError: "\u041E\u0448\u0438\u0431\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438", + MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430", + LoadFile: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 %1", + Loading: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430", + LoadFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C: %1", + ProcessMath: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", + Processing: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430", + TypesetMath: "\u0412\u0451\u0440\u0441\u0442\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", + Typesetting: "\u0412\u0451\u0440\u0441\u0442\u043A\u0430", + MathJaxNotSupported: "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 MathJax", + ErrorTips: "\u0421\u043E\u0432\u0435\u0442\u044B \u043F\u043E \u043E\u0442\u043B\u0430\u0434\u043A\u0435: \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 %%1, \u0438\u0437\u0443\u0447\u0438\u0442\u0435 %%2 \u0432 \u043A\u043E\u043D\u0441\u043E\u043B\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && n % 100 !== 11) return 1; // one + if (2 <= n % 10 && n % 10 <= 4 && 12 <= n % 100 && n % 100 <= 14) return 2; // few + if (n % 10 === 0 || (5 <= n % 10 && n % 10 <= 9) || + (11 <= n % 100 && n % 100 <= 14)) return 2; // many + return 3; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/ru/ru.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/scn/FontWarnings.js new file mode 100644 index 00000000..6061f211 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/scn/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/scn/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax sta adupirannu tipi di car\u00E0ttiri scarricati di Internet p'ammmustrari la matim\u00E0tica nta sta p\u00E0ggina. Scarricari sti tipi si pigghia tempu, dunca sta p\u00E0ggina si purr\u00ECa mpagginari cchi\u00F9 viloci si li tipi di car\u00E0ttiri p\u00E2 matim\u00E0tica f\u00F9ssiru istallati direttamenti nt\u00E2 cartella d\u00EE car\u00E0ttiri d\u00FB t\u00F2 sistema.", + imageFonts: "MathJax sta adupirannu mm\u00E0ggini comu tipi di car\u00E0ttiri, mmeci di adupirari tipi di car\u00E0ttiri lucali o scarricati d'Internet. Stu fattu renni la mpagginazzioni cchi\u00F9 lenta d\u00FB s\u00F2litu, e quannu si stampa, la matim\u00E0tica purr\u00ECa nun aviri la risuluzzioni china cunzintuta d\u00E2 stampanti.", + noFonts: "MathJax nun potti attruvari nu tipu di car\u00E0ttiri bonu p'ammustrari la matim\u00E0tica, e mancu sunnu dispun\u00ECbbili mm\u00E0ggini fatti a tipi di car\u00E0ttiri; pi chistu sta ripiegannu a l'adupirari li car\u00E0ttiri Unicode, nt\u00E2 spiranza chi lu t\u00F2 browser \u00E8 capaci d'ammustr\u00E0rili. P\u00F2 \u00E8ssiri ca certi car\u00E0ttiri nun sp\u00F9ntanu boni, o nun sp\u00F9ntanu propia.", + webFonts: "Li cchi\u00F9 d\u00EE browser muderni pirm\u00E8ttinu di scarricari li tipi di car\u00E0ttiri d'Internet. Aggiurnannu lu t\u00F2 browser (o canci\u00E0nnulu) si purr\u00ECa migghiurari la qualit\u00E0 d\u00E2 matim\u00E0tica ca veni ammustrata nta sta p\u00E0ggina.", + fonts: "MathJax po fari usu o d\u00EE [tipi di car\u00E0ttiri STIX](%1) o d\u00EE [tipi di car\u00E0ttiri TeX MathJax](%2). Sc\u00E0rrica e istalla unu di sti tipi pi fari funziunari megghiu MathJax.", + STIXPage: "Sta p\u00E0ggina \u00E8 pruggittata pi fari usu d\u00EE [tipi di car\u00E0ttiri STIX](%1). Sc\u00E0rrica e istalla sti tipi pi fari funziunari megghiu MathJax.", + TeXPage: "Sta p\u00E0ggina \u00E8 pruggittata pi fari usu d\u00EE [tipi di car\u00E0ttiri TeX MathJax](%1). Sc\u00E0rrica e istalla sti tipi pi fari funziunari megghiu MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/scn/HTML-CSS.js new file mode 100644 index 00000000..c261e66c --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/scn/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/scn/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Scarricamentu d\u00FB tipu di car\u00E0ttiri web %1", + CantLoadWebFont: "Nun si potti scarricari lu tipu di car\u00E0ttiri web %1", + FirefoxCantLoadWebFont: "Firefox nun p\u00F2 scarricari tipi di car\u00E0ttiri web di n'host rimotu", + CantFindFontUsing: "Nun si potti attruvari nu tipu di car\u00E0ttiri bonu tra %1", + WebFontsNotAvailable: "Li tipi di car\u00E0ttiri web nun sunnu dispun\u00ECbbili, \u00F4 s\u00F2 postu s'ad\u00F2piranu mm\u00E0ggini fatti a tipu di car\u00E0ttiri" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/scn/HelpDialog.js new file mode 100644 index 00000000..87af24ff --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/scn/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/scn/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Guida di MathJax", + MathJax: "*MathJax* \u00E8 na libbrar\u00ECa JavaScript ca pirmetti a l'autura di m\u00E8ttiri f\u00F2rmuli matim\u00E0tichi nt\u00EA p\u00E0ggini web. Comu litturi, unu nun havi a fari nenti pi f\u00E0rilu funziunari.", + Browsers: "*Browser*: MathJax funziona cu tutti li browser muderni cumprisi IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ e lu cchi\u00F9 d\u00EE browser purt\u00E0tili.", + Menu: "*Men\u00F9 d\u00EE f\u00F2rmuli*: MathJax agghiunci nu men\u00F9 cuntistuali nta tutti li f\u00F2rmuli matim\u00E0tichi. Si grapi cliccannu supra d\u00EE f\u00F2rmuli c\u00FB buttuni drittu o tinennu carcatu ctrl.", + ShowMath: "*Ammustra la f\u00F2rmula comu* pirmetti di taliari lu c\u00F2dici surgenti d\u00E2 f\u00F2rmula p\u00FB cupiari e ncuddari (sutta forma di MathML o nt\u00F4 s\u00F2 furmatu origginali).", + Settings: "*Mpustazzioni* duna cuntrollu supra d\u00EE carattir\u00ECstichi di MathJax, comu p'esempiu la grannizza d\u00EE f\u00F2rmuli e lu miccanismu adupiratu pi visualizz\u00E0rili.", + Language: "*Lingua* pirmetti di sc\u00E8gghiri la lingua adupirata di MathJax p\u00EE s\u00F2 men\u00F9 e p\u00EE s\u00F2 missagg\u00EE d'avvisu.", + Zoom: "*Zoom d\u00EE f\u00F2rmuli*: si veni diff\u00ECcili a l\u00E8ggiri na f\u00F2rmula, MathJax la p\u00F2 fari cchi\u00F9 granni pi f\u00E0rila v\u00ECdiri megghiu.", + Accessibilty: "*Accissibbilit\u00E0*: MathJax funziona autumaticamenti ch\u00EE littura di schermu pi r\u00E8nniri li f\u00F2rmuli matim\u00E0tichi acciss\u00ECbbili a cu havi prubblemi di vista.", + Fonts: "*Tipi di car\u00E0ttiri*: MathJax ad\u00F2pira certi tipi di car\u00E0ttiri matim\u00E0tici quannu l'attrova istallati nt\u00F4 computer; sinn\u00F2, ad\u00F2pira tipi di car\u00E0ttiri scarricati di Internet. Nun servi pi forza aviri li tipi di car\u00E0ttiri istallati lucalmenti, per\u00F2 renni la mpagginazzioni cchi\u00F9 viloci. Nui cunzigghiamu di istallari li [tipi di car\u00E0ttiri STIX](%1)." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/MathML.js b/src/py/kaleido/vendor/mathjax/localization/scn/MathML.js new file mode 100644 index 00000000..e4599e05 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/scn/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/scn/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph sbagghiatu: %1", + BadMglyphFont: "Tipu di car\u00E0ttiri sbagghiatu: %1", + MathPlayer: "MathJax nun arrinisc\u00ECu a armari lu MathPlayer.\n\nSi lu MathPlayer nun \u00E8 istallatu, pi prima cosa s'havi a istallari.\nSinn\u00F2, li t\u00F2 mpustazzioni d\u00E2 sicurizza purr\u00ECanu nun pirm\u00E8ttiri lu funziunamentu\nd\u00EE cuntrolli ActiveX. Grapi la vuci \u00ABOpzioni Internet\u00BB nt\u00F4 men\u00F9 \u00ABStrummenti\u00BB e pigghia la linguetta \u00ABSicurizza\u00BB, e dd\u00E0 carca lu buttuni \u00ABLiveddu pirsunalizzatu...\u00BB. Cuntrolla ch\u00EE mpustazzioni \u00ABEsegui cuntrolli ActiveX e plug-in\u00BB e \u00ABCumpurtamentu file binari e script\u00BB sunnu attivati.\n\nComu a ora vidi missagg\u00EE d'erruri mmeci chi f\u00F2rmuli matim\u00E0tichi mpagginati", + CantCreateXMLParser: "MathJax nun p\u00F2 criari n'analizzaturi sint\u00E0tticu XML p\u00FB MathML. Cuntrolla chi \u00E8 attivata la mpustazzioni di sicurizza \u00ABEsegui script cuntrolli ActiveX contrassignati comu sicuri\u00BB (grapi la vuci \u00ABOpzioni Internet\u00BB nt\u00F4 men\u00F9 \u00ABStrummenti\u00BB, scegghi la linguetta \u00ABSicurizza\u00BB, e carca lu buttuni \u00ABLiveddu pirsunalizzatu...\u00BB p'attruvari sta mpustazzioni).\n\nL'equazzioni MathML nun ponnu \u00E8ssiri labburati di MathJax", + UnknownNodeType: "Tipu di gruppu scanusciutu: %1", + UnexpectedTextNode: "Gruppu di testu nun aspittatu: %1", + ErrorParsingMathML: "Erruri nta l'an\u00E0lisi d\u00FB MathML", + ParsingError: "Erruri nta l'an\u00E0lisi d\u00FB MathML: %1", + MathMLSingleElement: "Lu MathML havi a \u00E8ssiri furmatu di n'elimentu s\u00ECngulu", + MathMLRootElement: "Lu MathML havi a \u00E8ssiri furmatu di n'elimentu \u003Cmath\u003E, no %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/scn/MathMenu.js new file mode 100644 index 00000000..6c97c9a2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/scn/MathMenu.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/localization/scn/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Ammustra la f\u00F2rmula sutta forma di", + MathMLcode: "C\u00F2dici MathML", + OriginalMathML: "MathML origginali", + TeXCommands: "Cumanni TeX", + AsciiMathInput: "Input AsciiMathML", + Original: "Forma origginali", + ErrorMessage: "Missaggiu d'erruri", + Annotation: "Annutazzioni", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML d\u00FB cuntinutu", + OpenMath: "OpenMath", + texHints: "Ammustra suggirimenti TeX nt\u00F4 MathML", + Settings: "Mpustazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi", + ZoomTrigger: "Attivazzioni d\u00FB zoom", + Hover: "Passaggiu d\u00FB mouse", + Click: "Clic", + DoubleClick: "Duppiu clic", + NoZoom: "Zoom nenti", + TriggerRequires: "Pi l'attivazzioni ci voli:", + Option: "Opzioni", + Alt: "Alt", + Command: "Cumannu", + Control: "Ctrl", + Shift: "Mai\u00F9sc.", + ZoomFactor: "Fatturi di zoom", + Renderer: "Giniraturi d\u00E2 matim\u00E0tica", + MPHandles: "Lassa gistiri \u00F4 MathPlayer:", + MenuEvents: "L'eventi d\u00EE men\u00F9", + MouseEvents: "L'eventi d\u00FB mouse", + MenuAndMouse: "L'eventi d\u00FB mouse e d\u00EE men\u00F9", + FontPrefs: "Prifirenzi p\u00EE tipi di car\u00E0ttiri", + ForHTMLCSS: "Pi l'HTML-CSS:", + Auto: "Autum\u00E0ticu", + TeXLocal: "TeX (lucali)", + TeXWeb: "TeX (web)", + TeXImage: "TeX (mm\u00E0ggini)", + STIXLocal: "STIX (lucali)", + STIXWeb: "STIX (web)", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Men\u00F9 cuntistuali", + Browser: "Browser", + Scale: "Arridiminziona tutta la matim\u00E0tica...", + Discoverable: "Arrisaltari \u00F4 passaggiu d\u00FB mouse", + Locale: "Lingua", + LoadLocale: "Sc\u00E0rrica di l\u2019URL...", + About: "A prup\u00F2situ di MathJax", + Help: "Guida di MathJax", + localTeXfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri lucali TeX", + webTeXfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri web TeX", + imagefonts: "sta facennu usu d\u00EE mm\u00E0ggini fatti a tipi di car\u00E0ttiri", + localSTIXfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri lucali STIX", + webSVGfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri web SVG", + genericfonts: "sta facennu usu d\u00EE tipi di car\u00E0ttiri Unicode gin\u00E8rici", + wofforotffonts: "Tipi di car\u00E0ttiri WOFF o OTF", + eotffonts: "Tipi di car\u00E0ttiri EOT", + svgfonts: "Tipi di car\u00E0ttiri SVG", + WebkitNativeMMLWarning: "Lu t\u00F2 browser nun pari ca supporta nativamenti lu MathML, dunca passannu a l'output MathML la matim\u00E0tica chi c'\u00E8 nt\u00E2 p\u00E0ggina purr\u00ECa addivintari nun ligg\u00ECbbili", + MSIENativeMMLWarning: "Internet Explorer havi bisognu d\u00FB plugin MathPlayer pi putiri labburari l'output MathML.", + OperaNativeMMLWarning: "Opera supporta lu MathML di manera limitata, dunca passannu a l'output MathML certi sprissioni matim\u00E0tichi ponnu cump\u00E0riri mali.", + SafariNativeMMLWarning: "Lu supportu d\u00FB t\u00F2 browser p\u00FB MathML nun mplimenta tutti li carattir\u00ECstichi d\u00EE quali MathJax fa usu, dunca certi sprissioni matim\u00E0tichi ponnu cump\u00E0riri mali.", + FirefoxNativeMMLWarning: "Lu supportu d\u00FB t\u00F2 browser p\u00FB MathML nun mplimenta tutti li carattir\u00ECstichi d\u00EE quali MathJax fa usu, dunca certi sprissioni matim\u00E0tichi ponnu cump\u00E0riri mali.", + MSIESVGWarning: "L'SVG nun \u00E8 mplimintatu nta Internet Explorer prima d\u00E2 virsioni 9, o quannu \u00E8mula la virsioni 8 e chiddi nfiriuri. Passannu a l'output SVG la matim\u00E0tica nun \u00E8 visualizzata bona.", + LoadURL: "Carricari li dati di traduzzioni di st'URL:", + BadURL: "L'URL avissi a cunt\u00E8niri nu file JavaScript ca difinisci li dati d\u00E2 traduzzioni di MathJax. \u003ELi noma d\u00EE file JavaScript av\u00ECssiru a finiri cu \u00AB.js\u00BB", + BadData: "Nun arrinisc\u00ECu lu scarricamentu d\u00EE dati d\u00E2 traduzzioni di %1", + SwitchAnyway: "Voi canciari lu giniraturi lu stissu?\n\n(Carca OK pi canciari, ANNULLA p'arristari c\u00FB giniraturi attuali)", + ScaleMath: "Arridiminziunari tutta la matim\u00E0tica (rispettu \u00F4 testu circustanti) di", + NonZeroScale: "Lu fatturi di scala nun havi a \u00E8ssiri zeru", + PercentScale: "Lu fatturi di scala havi a \u00E8ssiri na pircintuali (p'esempiu 120%%)", + IE8warning: "Sta cosa disattiva lu men\u00F9 di MathJax e li s\u00F2 funziunalit\u00E0 di zoom, pir\u00F2 si p\u00F2 sempri gr\u00E0piri lu men\u00F9 di MathJax cliccannu supra \u00EA sprissioni tinennu carcatu Alt.\n\nS\u00EE sicuru di vuliri canciari li mpustazzioni d\u00FB MathPlayer?", + IE9warning: "Veni disattivatu lu men\u00F9 cuntistuali di MathJax, chi pir\u00F2 si p\u00F2 sempri gr\u00E0piri cliccannu supra \u00EA sprissioni tinennu carcatu Alt.", + NoOriginalForm: "Nudda forma origginali \u00E8 dispun\u00ECbbili", + Close: "Chiudi", + EqSource: "Surgenti d\u00E2 f\u00F2rmula MathJax" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/TeX.js b/src/py/kaleido/vendor/mathjax/localization/scn/TeX.js new file mode 100644 index 00000000..bff12c28 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/scn/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/scn/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Par\u00E8ntisi graffa graputa suverchia o par\u00E8ntisi graffa chiusa ammancanti", + ExtraCloseMissingOpen: "Par\u00E8ntisi graffa chiusa suverchia o par\u00E8ntisi graffa graputa ammancanti", + MissingLeftExtraRight: "Cumannu \\left ammancanti o cumannu \\right suverchiu", + MissingScript: "Argumentu ammancanti p\u00FB spunenti o p\u00FB dipunenti", + ExtraLeftMissingRight: "Cumannu \\left suverchiu o cumannu \\right ammancanti", + Misplaced: "%1 fora postu", + MissingOpenForSub: "Par\u00E8ntisi graffa graputa ammancanti p\u00FB dipunenti", + MissingOpenForSup: "Par\u00E8ntisi graffa graputa ammancanti p\u00F4 spunenti", + AmbiguousUseOf: "Cumannu %1 adupiratu di manera amb\u00ECgua", + EnvBadEnd: "Cumannu \\begin{%1} cunchiusu d\u00FB cumannu \\end{%2}", + EnvMissingEnd: "Cumannu \\end{%1} ammancanti", + MissingBoxFor: "Buatta ammancanti p\u00FB cumannu %1", + MissingCloseBrace: "Par\u00E8ntisi graffa chiusa ammancanti", + UndefinedControlSequence: "Siquenza di cuntrollu nun difinuta %1", + DoubleExponent: "Spunenti duppiu: adupirari li par\u00E8ntisi graffi pi chiariri", + DoubleSubscripts: "Dipunenti duppiu: adupirari li par\u00E8ntisi graffi pi chiariri", + DoubleExponentPrime: "Spunenti duppiu p\u00FB s\u00ECmmulu di primu: adupirari li par\u00E8ntisi graffi pi chiariri", + CantUseHash1: "Nun si p\u00F2 adupirari lu car\u00E0ttiri # comu par\u00E0mitru di macro nt\u00E2 mudalit\u00E0 matim\u00E0tica", + MisplacedMiddle: "Lu cumannu %1 s'havi a attruvari dintra d\u00EE cumanni \\left e \\right", + MisplacedLimits: "Lu cumannu %1 \u00E8 cunzintutu sulu nta l'opiratura", + MisplacedMoveRoot: "Lu cumannu %1 p\u00F2 cump\u00E0riri sulu sutta r\u00E0dici", + MultipleCommand: "%1 ripitutu", + IntegerArg: "L'argumentu d\u00FB cumannu %1 havi a \u00E8ssiri nu nteru", + NotMathMLToken: "%1 nun \u00E8 n'elimentu di token", + InvalidMathMLAttr: "Attribbutu MathML nun v\u00E0lidu: %1", + UnknownAttrForElement: "%1 nun \u00E8 n\u2019attribbutu ricanusciutu pi %2", + MaxMacroSub1: "Passatu lu n\u00F9mmiru m\u00E0ssimu di sustituzzioni di macro di MathJax; c'\u00E8 quarchi chiamata a macro ricursiva?", + MaxMacroSub2: "Passatu lu n\u00F9mmiru m\u00E0ssimu di sustituzzioni di MathJax; c'\u00E8 quarchi ambienti LaTeX ricursivu?", + MissingArgFor: "Argumentu d\u00FB cumannu %1 ammancanti", + ExtraAlignTab: "Tabbulazzioni d\u2019alliniamentu suverchia nt\u00F4 testu d\u00FB cumannu \\cases", + BracketMustBeDimension: "L'argumentu tra par\u00E8ntisi pi %1 havi a \u00E8ssiri na diminzioni", + InvalidEnv: "Nomu d'ambienti nun v\u00E0lidu \u00AB%1\u00BB", + UnknownEnv: "Ambienti scanusciutu \u00AB%1\u00BB", + ExtraCloseLooking: "Par\u00E8ntisi graffa chiusa suverchia quannu s'aspittava %1", + MissingCloseBracket: "Nun s'attrova la \u00AB]\u00BB chiusa pi l'argumentu di %1", + MissingOrUnrecognizedDelim: "Dilimitaturi pi %1 ammancanti o scanusciutu", + MissingDimOrUnits: "Diminzioni o s\u00F2 unit\u00E0 ammancanti p\u00FB cumannu %1", + TokenNotFoundForCommand: "Nun s'attrova lu s\u00ECmmulu %1 p\u00FB cumannu %2", + MathNotTerminated: "Matim\u00E0tica nun cunchiusa nt\u00E2 buatta di testu", + IllegalMacroParam: "Rifirimentu \u00F4n par\u00E0mitru di macro nun v\u00E0lidu", + MaxBufferSize: "Passatu lu l\u00ECmiti di grannizza d\u00FB buffer nternu di MathJax; c'\u00E8 quarchi chiamata a macro ricursiva?", + CommandNotAllowedInEnv: "Lu cumannu %1 nun \u00E8 cunzintutu nta l'ambienti %2", + MultipleLabel: "Etichetta \u00AB%1\u00BB difinuta cchi\u00F9 voti", + CommandAtTheBeginingOfLine: "%1 havi a stari \u00F4 principiu d\u00E2 riga", + IllegalAlign: "Alliniamentu nun v\u00E0lidu spicificatu nt\u00F4 cumannu %1", + BadMathStyleFor: "Stili matim\u00E0ticu nun v\u00E0lidu p\u00FB cumannu %1", + PositiveIntegerArg: "L'argumentu di %1 havi a \u00E8ssiri nu nteru pusitivu", + ErroneousNestingEq: "Annidamentu sbagghiatu d\u00EE strutturi d\u00E2 f\u00F2rmula", + MultlineRowsOneCol: "Nta l\u2019ambienti %1 li righi hannu a aviri na culonna e una sula", + MultipleBBoxProperty: "Prupit\u00E0 %1 spicificata dui voti nt\u00F4 cumannu %2", + InvalidBBoxProperty: "\u00AB%1\u00BB nun pari un culuri, na diminzioni di m\u00E0rgini nternu, o nu stili", + ExtraEndMissingBegin: "Cumannu %1 suverchiu o cumannu \\begingroup ammancanti", + GlobalNotFollowedBy: "Cumannu %1 nun siguitu d\u00FB cumannu \\let, \\def, o \\newcommand", + UndefinedColorModel: "Mudellu di culuri \u00AB%1\u00BB nun difinutu", + ModelArg1: "Li valura di culuri p\u00FB mudellu %1 sunnu fatti di 3 n\u00F9mmira", + InvalidDecimalNumber: "N\u00F9mmiru dicimali nun v\u00E0lidu", + ModelArg2: "Li valura di culuri p\u00FB mudellu %1 hannu a \u00E8ssiri tra %2 e %3", + InvalidNumber: "N\u00F9mmiru nun v\u00E0lidu", + NewextarrowArg1: "Lu primu argumentu d\u00FB cumannu %1 havi a \u00E8ssiri lu nomu di na siquenza di cuntrollu", + NewextarrowArg2: "Lu secunnu argumentu d\u00FB cumannu %1 hannu a \u00E8ssiri dui nteri spartuti di na v\u00ECrgula", + NewextarrowArg3: "Lu terzu argumentu d\u00FB cumannu %1 havi a \u00E8ssiri nu n\u00F9mmiru di car\u00E0ttiri Unicode", + NoClosingChar: "Ammanca la %1 di chiusura", + IllegalControlSequenceName: "Nomu di siquenza di cuntrollu nun v\u00E0lidu p\u00FB cumannu %1", + IllegalParamNumber: "N\u00F9mmiru di par\u00E0mitri nun v\u00E0lidu spicificatu nt\u00F4 cumannu %1", + MissingCS: "Lu cumannu %1 havi a \u00E8ssiri siguitu di na siquenza di cuntrollu", + CantUseHash2: "Usu nun cunzintutu d\u00FB car\u00E0ttiri # nt\u00F4 mudellu d\u00FB cumannu %1", + SequentialParam: "Li par\u00E0mitri d\u00FB cumannu %1 hannu a \u00E8ssiri nummirati n siquenza", + MissingReplacementString: "Stringa di rimpiazzu ammancanti nt\u00E2 difinizzioni d\u00FB cumannu %1", + MismatchUseDef: "L'usu d\u00FB cumannu %1 nun currispunni \u00E2 s\u00F2 difinizzioni", + RunawayArgument: "Argumentu d\u00FB cumannu %1 pirdutu?", + NoClosingDelim: "Nun s'attrova lu dilimitaturi di chiusura p\u00FB cumannu %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/scn/scn.js b/src/py/kaleido/vendor/mathjax/localization/scn/scn.js new file mode 100644 index 00000000..63680751 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/scn/scn.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/scn/scn.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("scn",null,{ + menuTitle: "sicilianu", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Erruri nt\u00E2 labburazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi", + MathError: "Erruri nt\u00E2 matim\u00E0tica", + LoadFile: "Carricamentu di %1", + Loading: "Carricamentu", + LoadFailed: "Nun arrinisc\u00ECu lu carricamentu di: %1", + ProcessMath: "Labburazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi: %1%%", + Processing: "Labburazzioni", + TypesetMath: "Mpagginazzioni d\u00EE f\u00F2rmuli matim\u00E0tichi: %1%%", + Typesetting: "Mpagginazzioni", + MathJaxNotSupported: "Lu t\u00F2 browser nun supporta MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/scn/scn.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sco/FontWarnings.js new file mode 100644 index 00000000..38d18916 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sco/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/sco/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax is uisin wab-based fonts tae displey the mathematics oan this page. Thir tak time tae doonlaid, sae the page wid render faster gif ye installed maths fonts directlie in yer system's font fauder.", + imageFonts: "MathJax is uisin its eemage fonts insteid o local or wab-based fonts. This will render slawer than uisual, n the mathematics micht no prent at the ful resolution o yer prenter.", + noFonts: "MathJax is onable tae locate ae font tae uise tae displey its mathematics, n eemage fonts ar no available, sae it is fallin back oan generic Unicode chairacters in hopes that yer brouser will be able tae displey thaim. Some chairacters michtna shaw up properlie, or possiblie no at aw.", + webFonts: "Maist modern brousers permit fonts tae be doonlaided ower the wab. Updatin til ae mair recent version o yer brouser (or chyngin brousers) coud impruiv the qualitie o the mathematics oan this page.", + fonts: "MathJax can uise either the [STIX fonts](%1) or the [MathJax TeX fonts](%2). Doonlaid n install yin o thae fonts tae impruiv yer MathJax experience.", + STIXPage: "This page is designed tae uise the [STIX fonts](%1). Doonlaid n install thae fonts tae impruiv yer MathJax experience.", + TeXPage: "This page is designed tae uise the [MathJax TeX fonts](%1). Doonlaid n install thae fonts tae impruiv yer MathJax experiance." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sco/HTML-CSS.js new file mode 100644 index 00000000..6b13e18e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sco/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/sco/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Laidin wab font %1", + CantLoadWebFont: "Canna laid wab font %1", + FirefoxCantLoadWebFont: "Firefox canna laid wab fonts fae ae remote host", + CantFindFontUsing: "Canna fynd ae valid font uisin %1", + WebFontsNotAvailable: "Wab fonts no available. Uisin eimage fonts instead" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sco/HelpDialog.js new file mode 100644 index 00000000..0780e4ff --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sco/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sco/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax Heelp", + MathJax: "*MathJax* is ae JavaScreept librairie that allous page authers tae incluid mathematics wiin thair wab pages. Aes ae reader, ye dinna need tae dae oniething tae mak that happen.", + Browsers: "*Brousers*: MathJax warks wi aw modern brousers incluidin IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ n maist mobile brousers.", + Menu: "*Maths menu*: MathJax adds ae contextual menu til equations. Richt-clap or Ctrl-clap oan onie mathematics tae access the menu.", + ShowMath: "*Shaw maths aes* Permits ye tae view the formula's soorce maurkup fer copie \u0026 paste (aes MathML or in its oreeginal format).", + Settings: "*Settins* gies ye control ower features o MathJax, lik the size o the mathematics, n the mechanism uised tae displey equations.", + Language: "*Leid* lets ye select the leid uised bi MathJax fer its menus n warnishment messages.", + Zoom: "*Maths zuim*: Gif ye'r haein difficultie readin aen equation, MathJax can mak it mair muckle tae heelp ye see it better.", + Accessibilty: "*Accessibeelitie*: MathJax will aut\u00E6maticlie wark wi screen readers tae mak mathematics accessible til the veesuallie impaired.", + Fonts: "*Fonts*: MathJax will uise certain maths fonts gif thay ar installed oan yer computer; itherwise, it will uise wab-based fonts. Awthough no needit, locallie installed fonts will speed up typesettin. We suggest installin the [STIX fonts](%1)." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sco/MathML.js new file mode 100644 index 00000000..d85e8ea2 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sco/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sco/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Bad mglyph: %1", + BadMglyphFont: "Bad font: %1", + MathPlayer: "MathJax wisna able tae set up MathPlayer.\n\nGif MathPlayer isna installed, than ye need tae install it first.\nItherwise, yer securitie settins micht be preventin ActiveX\ncontrols fae rinnin. Uise the Internet Opties eetem unner\nthe Tuilkist menu n select the Securitie tab, than press the\nCustom Level button. Check that the settins fer\n'Rin ActiveX Controls', n 'Binarie n screept behaviors'\nar enabled.\n\nOan the nou ye'll see mistak messages insteid o typeset mathematics", + CantCreateXMLParser: "MathJax canna creaut aen XML parser fer MathML. Check that\nthe 'Screept ActiveX controls maurkit safe fer screeptin' securitie\nsettin is enabled (uise the Internet Opties eetem in the Tuils menu, n select the Securitie panel, than press the Custom Level button tae check this).\n\nMathML equations will no be able tae be processed bi MathJax", + UnknownNodeType: "Onkent node type: %1", + UnexpectedTextNode: "Onexpected tex node: %1", + ErrorParsingMathML: "Mistak parsin MathML", + ParsingError: "Mistak parsin MathML: %1", + MathMLSingleElement: "MathML maun be formed bi ae single element", + MathMLRootElement: "MathML maun be formed bi ae \u003Cmath\u003E element, no %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sco/MathMenu.js new file mode 100644 index 00000000..e79d9992 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sco/MathMenu.js @@ -0,0 +1,107 @@ +/************************************************************* + * + * MathJax/localization/sco/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Shaw maths aes", + MathMLcode: "MathML code", + OriginalMathML: "Oreeginal MathML", + TeXCommands: "TeX commauns", + AsciiMathInput: "AsciiMathML input", + Original: "Oreeginal form", + ErrorMessage: "Mistak message", + Annotation: "Annotation", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "Content MathML", + OpenMath: "OpenMath", + texHints: "Shaw TeX hints in MathML", + Settings: "Maths settins", + ZoomTrigger: "Zuim trigger", + Hover: "Hover", + Click: "Clap", + DoubleClick: "Dooble-clap", + NoZoom: "Naw zuim", + TriggerRequires: "Trigger needs:", + Option: "Optie", + Alt: "Alt", + Command: "Commaun", + Control: "Control", + Shift: "Shift", + ZoomFactor: "Zuim facter", + Renderer: "Maths renderer", + MPHandles: "Let MathPlayer haunle:", + MenuEvents: "Menu events", + MouseEvents: "Moose events", + MenuAndMouse: "Moose n menu events", + FontPrefs: "Font preferences", + ForHTMLCSS: "Fer HTML-CSS:", + Auto: "Aut\u00E6", + TeXLocal: "TeX (local)", + TeXWeb: "TeX (wab)", + TeXImage: "TeX (eimage)", + STIXLocal: "STIX (local)", + STIXWeb: "STIX (wab)", + AsanaMathWeb: "Asana Math (wab)", + GyrePagellaWeb: "Gyre Pagella (wab)", + GyreTermesWeb: "Gyre Termes (wab)", + LatinModernWeb: "Latin Modern (wab)", + NeoEulerWeb: "Neo Euler (wab)", + ContextMenu: "Contextual menu", + Browser: "Brouser", + Scale: "Scale aw maths ...", + Discoverable: "Heilicht oan hover", + Locale: "Leid", + LoadLocale: "Laid fae URL ...", + About: "Aneat MathJax", + Help: "MathJax heelp", + localTeXfonts: "uisin local TeX fonts", + webTeXfonts: "uisin wab TeX font", + imagefonts: "uisin Eimage fonts", + localSTIXfonts: "uisin local STIX fonts", + webSVGfonts: "uisin wab SVG fonts", + genericfonts: "uisin generic Unicode fonts", + wofforotffonts: "WOFF or OTF fonts", + eotffonts: "EOT fonts", + svgfonts: "SVG fonts", + WebkitNativeMMLWarning: "Yer brouser disna seem tae support MathML nateevelie, sae switchin tae MathML ootput micht cause the mathematics oan the page tae become onreadable", + MSIENativeMMLWarning: "Internet Explorer needs the MathPlayer plug-in fer tae process MathML ootput.", + OperaNativeMMLWarning: "Opera's support fer MathML is leemitit, sae switchin tae MathML ootput micht cause some expressions tae render puirlie.", + SafariNativeMMLWarning: "Yer brouser's native MathML disna implement aw the features uised bi MathJax, sae some expressions michtna render properlie.", + FirefoxNativeMMLWarning: "Yer brouser's native MathML disna implement aw the features uised bi MathJax, sae some expressions michtna render properlie.", + MSIESVGWarning: "SVG isna implemented in Internet Explorer prior til IE9 or whan it's emulating IE8 or ablo. Switchin til SVG ootput will cause the mathematics tae no displey properlie.", + LoadURL: "Laid owersetin data fae this URL:", + BadURL: "The URL shid be fer ae JavaScript file that defines MathJax owersetin data. JavaScript file names shid end wi '.js'", + BadData: "Failed tae laid owersetin data fae %1", + SwitchAnyway: "Switch the renderer oniewas?\n\n(Press OK tae switch, CANCEL tae continue wi the current renderer)", + ScaleMath: "Scale aw mathematics (compared til surroondin tex) bi", + NonZeroScale: "The scale shidna be zero", + PercentScale: "The scale shid be ae percentage (fer example 120%%)", + IE8warning: "This will disable the MathJax menu n zuim features, but ye can Alt-Clap oan aen expression tae obtain the MathJax menu insteid.\n\nReallie want tae chynge the MathPlayer settins?", + IE9warning: "The MathJax contextual menu will be disabled, but ye can Alt-Clap oan aen expression tae obtain the MathJax menu insteid.", + NoOriginalForm: "Naw oreeginal form available", + Close: "Claise", + EqSource: "MathJax Equation Soorce" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sco/TeX.js new file mode 100644 index 00000000..0fdd6ed9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sco/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/sco/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Eixtra apen brace or missin claise bracket", + ExtraCloseMissingOpen: "Eixtra claise brace or missin apen bracket", + MissingLeftExtraRight: "Missin \\left or eixtra \\right", + MissingScript: "Missin superscreept or subscreept argument", + ExtraLeftMissingRight: "Eixtra \\left or missin \\right", + Misplaced: "Misplaced %1", + MissingOpenForSub: "Missin apen bracket fer subscreept", + MissingOpenForSup: "Missin apen bracket fer superscreept", + AmbiguousUseOf: "Ambeeguous uise o %1", + EnvBadEnd: "\\begin{%1} ended wi \\end{%2}", + EnvMissingEnd: "Missin \\end{%1}", + MissingBoxFor: "Missin kist fer %1", + MissingCloseBrace: "Missin claise bracket", + UndefinedControlSequence: "Ondefined control sequence %1", + DoubleExponent: "Dooble exponent: uise brackets tae clarifie", + DoubleSubscripts: "Dooble subscreepts: uise brackets tae clarifie", + DoubleExponentPrime: "Prime causes dooble exponent: Uise brackets tae clarifie", + CantUseHash1: "Ye canna uise 'macro parameter chairacter #' in maths mode", + MisplacedMiddle: "%1 mau be wiin \\left n \\right", + MisplacedLimits: "%1 is yinlie permited oan operaters", + MisplacedMoveRoot: "%1 can yinlie appear wiin ae ruit", + MultipleCommand: "Multiple %1", + IntegerArg: "The aurgument til %1 mau be aen integer", + NotMathMLToken: "%1 isna ae token element", + InvalidMathMLAttr: "Onvalid MathML attreebute: %1", + UnknownAttrForElement: "%1 isna ae recognized attribute fer %2", + MaxMacroSub1: "MathJax mucklest macro substitution coont exceeded; is thaur ae recursive macro caw?", + MaxMacroSub2: "MathJax mucklest substitution coont exceeded; is thaur ae recursive LaTeX environment?", + MissingArgFor: "Missin aurgument fer %1", + ExtraAlignTab: "Eixtra alignment tab in \\cases tex", + BracketMustBeDimension: "Bracket aurgument til %1 maun be ae dimension", + InvalidEnv: "Onvalid environment name '%1'", + UnknownEnv: "Onkent environment '%1'", + ExtraCloseLooking: "Eixtra claise bracket while luikin fer %1", + MissingCloseBracket: "Coudna fynd claisin ']' fer aurgument til %1", + MissingOrUnrecognizedDelim: "Missin or onrecognized delimiter fer %1", + MissingDimOrUnits: "Missin dimension or its units fer %1", + TokenNotFoundForCommand: "Coudna fynd %1 fer %2", + MathNotTerminated: "Maths no terminated in tex kist", + IllegalMacroParam: "Onlegal macro parameter reference", + MaxBufferSize: "MathJax internal buffer size exceeded; is thaur ae recursive macro caw?", + CommandNotAllowedInEnv: "%1 no permited in %2 environment", + MultipleLabel: "Label '%1' multiplie defined", + CommandAtTheBeginingOfLine: "%1 maun come at the beginnin o the line", + IllegalAlign: "Onlegal alignment speceefied in %1", + BadMathStyleFor: "Puir maths style fer %1", + PositiveIntegerArg: "Argument til %1 maun be ae positeeve integer", + ErroneousNestingEq: "Mistaken nestin o equation structures", + MultlineRowsOneCol: "The lines wiin the %1 environment maun hae exactlie yin column", + MultipleBBoxProperty: "%1 speceefied twice in %2", + InvalidBBoxProperty: "'%1' disna luik like ae colour, ae paddin dimension, or ae style", + ExtraEndMissingBegin: "Eixtra %1 or missin \\begingroup", + GlobalNotFollowedBy: "%1 isna follaed bi \\let, \\def, or \\newcommand", + UndefinedColorModel: "Colour model '%1' no defined", + ModelArg1: "Colour values fer the %1 model need 3 nummers", + InvalidDecimalNumber: "Onvalid decimal nummer", + ModelArg2: "Colour values fer the %1 model maun be atween %2 n %3", + InvalidNumber: "Onvalid nummer", + NewextarrowArg1: "Foremait argument til %1 maun be ae control sequence name", + NewextarrowArg2: "Seicont argument til %1 maun be twa integers separated bi ae comma", + NewextarrowArg3: "Third argument til %1 maun be ae Unicode chairacter nummer", + NoClosingChar: "Canna fynd claisin %1", + IllegalControlSequenceName: "Onlegal control sequence name fer %1", + IllegalParamNumber: "Onlegal nummer o parameters speceefied in %1", + MissingCS: "%1 maun be follaeed bi ae control sequence", + CantUseHash2: "Onlegal uiss o # in template fer %1", + SequentialParam: "Parameters fer %1 maun be nummer't sequentiallie", + MissingReplacementString: "Missin replacement string fer defineetion o %1", + MismatchUseDef: "Uiss o %1 disna match its defineetion", + RunawayArgument: "Rinawa argument fer %1?", + NoClosingDelim: "Canna fynd claisin delimiter fer %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sco/sco.js b/src/py/kaleido/vendor/mathjax/localization/sco/sco.js new file mode 100644 index 00000000..d7b2b69b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sco/sco.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/sco/sco.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sco",null,{ + menuTitle: "scots", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Maths processin mistak", + MathError: "Maths mistak", + LoadFile: "Laidin %1", + Loading: "Laidin", + LoadFailed: "File failed tae laid: %1", + ProcessMath: "Processin maths: %1%%", + Processing: "Processin", + TypesetMath: "Typesettin maths: %1%%", + Typesetting: "Typesettin", + MathJaxNotSupported: "Yer brouser disna support MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sco/sco.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sk/FontWarnings.js new file mode 100644 index 00000000..9565bf29 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sk/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/sk/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax pou\u017E\u00EDva k zobrazeniu matematiky na tejto str\u00E1nke webov\u00E9 p\u00EDsma. T\u00FDm trv\u00E1 stiahnutie nejak\u00FA dobu, tak\u017Ee str\u00E1nka by sa vykreslila r\u00FDchlej\u0161ie, ak by ste si tieto matematick\u00E9 p\u00EDsma nain\u0161talovali priamo do syst\u00E9movej zlo\u017Eky p\u00EDsiem.", + imageFonts: "MathJax pou\u017E\u00EDva namiesto miestnych alebo webov\u00FDch p\u00EDsiem obr\u00E1zkov\u00E9 p\u00EDsmo. Preto bude vykres\u013Eovanie pomal\u0161ie ako je obvykl\u00E9 a pri tla\u010Di na Va\u0161ej tla\u010Diarni mo\u017Eno nebude matematika vykreslen\u00E1 v najlep\u0161om rozl\u00ED\u0161en\u00ED.", + noFonts: "MathJax nedok\u00E1\u017Ee n\u00E1js\u0165 p\u00EDsmo, ktor\u00FDm by vykreslil matematiku, a obr\u00E1zkov\u00E9 p\u00EDsma nie s\u00FA k dispoz\u00EDcii, tak\u017Ee sa bude pou\u017E\u00EDva\u0165 be\u017En\u00E9 znaky Unicode v n\u00E1deji, \u017Ee ich v\u00E1\u0161 prehliada\u010D dok\u00E1\u017Ee zobrazi\u0165. Niektor\u00E9 znaky sa mo\u017Eno nezobrazia spr\u00E1vne alebo dokonca v\u00F4bec.", + webFonts: "V\u00E4\u010D\u0161ina modern\u00FDch prehliada\u010Dov umo\u017E\u0148uje stiahnutie p\u00EDsiem cez web. Aktualiz\u00E1cia na nov\u0161iu verziu prehliada\u010Da (alebo zmena prehliada\u010Da) by mohla zlep\u0161i\u0165 zobrazenie matematiky na tejto str\u00E1nke.", + fonts: "MathJax m\u00F4\u017Ee pou\u017E\u00EDva\u0165 bu\u010F [p\u00EDsma STIX](%1) alebo [MathJaxov\u00E9 TeXov\u00E9 p\u00EDsma](%2). Stiahnite a nain\u0161talujte si jedny z nich, aby ste si MathJax u\u017Eili lep\u0161ie.", + STIXPage: "Tato str\u00E1nka je vytvoren\u00E1 na pou\u017Eitie s [p\u00EDsmami STIX](%1). Stiahnite a nain\u0161talujte si tieto p\u00EDsma, aby ste si lep\u0161ie u\u017Eili MathJax.", + TeXPage: "Tato str\u00E1nka je vytvoren\u00E1 na pou\u017Eitie s [MathJaxov\u00FDmi TeXov\u00FDmi p\u00EDsmy](%1). Pre lep\u0161ie vyu\u017E\u00EDvanie MathJaxu si stiahnite a nain\u0161talujte tieto p\u00EDsma." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sk/HTML-CSS.js new file mode 100644 index 00000000..d71bae50 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sk/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/sk/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Na\u010D\u00EDtava sa webov\u00FD font %1", + CantLoadWebFont: "Nepodarilo sa na\u010D\u00EDta\u0165 webov\u00FD font %1", + FirefoxCantLoadWebFont: "Firefox nedok\u00E1\u017Ee na\u010D\u00EDta\u0165 webov\u00E9 fonty zo vzdialen\u00E9ho hostite\u013Ea", + CantFindFontUsing: "Nepodarilo sa n\u00E1js\u0165 platn\u00FD font pomocou %1", + WebFontsNotAvailable: "Webov\u00E9 fonty nie s\u00FA k dispoz\u00EDcii. Namiesto toho s\u00FA pou\u017Eit\u00E9 obr\u00E1zkov\u00E9 fonty." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sk/HelpDialog.js new file mode 100644 index 00000000..380c1943 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sk/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/sk/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Pomoc k MathJaxu", + MathJax: "*MathJax* je JavaScriptov\u00E1 kni\u017Enica, ktor\u00E1 autorom str\u00E1nok umo\u017E\u0148uje zahrn\u00FA\u0165 do str\u00E1nok matematiku. Ako \u010Ditate\u013E sa nemus\u00EDte o ni\u010D stara\u0165.", + Browsers: "*Prehliada\u010De*: MathJax pracuje vo v\u0161etk\u00FDch modern\u00FDch prehliada\u010Doch, vr\u00E1tane IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ a v\u00E4\u010D\u0161ine mobiln\u00FDch prehliada\u010Dov.", + Menu: "*Matematick\u00E9 menu*: MathJax prid\u00E1va k rovniciam kontextov\u00E9 menu. Pre zobrazenie menu kliknite prav\u00FDm tla\u010Didlom my\u0161i alebo s podr\u017Ean\u00EDm kl\u00E1vesy Ctrl na ktor\u00FAko\u013Evek matematiku.", + ShowMath: "*Zobrazi\u0165 matematiku ako* v\u00E1m umo\u017En\u00ED prehliadnu\u0165 si zdrojov\u00FD k\u00F3d vzorca pre skop\u00EDrovanie (ako MathML alebo v p\u00F4vodnom form\u00E1te).", + Settings: "*Nastavenia* v\u00E1m umo\u017E\u0148uj\u00FA prisp\u00F4sobi\u0165 si niektor\u00E9 funkcie MathJaxu, napr. ve\u013Ekos\u0165 matematiky alebo mechanizmy pou\u017E\u00EDvan\u00E9 k zobrazovaniu rovn\u00EDc.", + Language: "*Jazyk* v\u00E1m umo\u017En\u00ED zvoli\u0165 si jazyk pou\u017E\u00EDvan\u00FD MathJaxem pre menu a chybov\u00E9 hl\u00E1senia.", + Zoom: "*Matematick\u00FD zoom*: Ak v\u00E1m \u010D\u00EDtanie rovnice rob\u00ED probl\u00E9my, Mathjax V\u00E1m umo\u017En\u00ED ich zv\u00E4\u010D\u0161i\u0165, aby ste ju lep\u0161ie videli.", + Accessibilty: "*Dostupnos\u0165*: MathJax automaticky funguje s \u010D\u00EDta\u010Dkami obrazovky, aby matematiku spr\u00EDstupnil zrakovo postihnut\u00FDm.", + Fonts: "*P\u00EDsma*: MathJax bude pou\u017E\u00EDva\u0165 ist\u00E9 matematick\u00E9 p\u00EDsma, ak ich m\u00E1te v po\u010D\u00EDta\u010Di nain\u0161talovan\u00E9; v opa\u010Dnom pr\u00EDpade pou\u017Eije p\u00EDsma webov\u00E9. Napriek tomu, \u017Ee to nie je nutn\u00E9, lok\u00E1lne nain\u0161talovan\u00E9 p\u00EDsma ur\u00FDchlia s\u00E1dzanie. Odpor\u00FA\u010Dame nain\u0161talova\u0165 [p\u00EDsma STIX](%1).", + CloseDialog: "Zavri\u0165 okno s n\u00E1povedou" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sk/MathML.js new file mode 100644 index 00000000..491ea185 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sk/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sk/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Chybn\u00FD mglyph: %1", + BadMglyphFont: "Nevhodn\u00E9 p\u00EDsmo: %1", + MathPlayer: "MathJax nedok\u00E1zal spusti\u0165 MathPlayer.\n\nAk nie je MathPlayer nain\u0161talovan\u00FD, budete si ho musie\u0165 najprv nain\u0161talova\u0165.\nInak mo\u017Eno spustenie ovl\u00E1dac\u00EDch prvkov ActiveX br\u00E1ni va\u0161e bezpe\u010Dnostn\u00E9\nnastavenie. Kliknite v ponuke N\u00E1stroje na polo\u017Eku Mo\u017Enosti Internetu,\nvyberte z\u00E1lo\u017Eku Zabezpe\u010Denie a kliknite na tla\u010Didlo Vlastn\u00E1 \u00FArove\u0148.\nSkontrolujte, \u010Di s\u00FA povolen\u00E9 mo\u017Enosti \u201ESp\u00FA\u0161\u0165a\u0165 ovl\u00E1dacie prvky ActiveX\u201C\na \u201EChovanie skriptov a bin\u00E1rnych s\u00FAborov\u201C.\n\nMoment\u00E1lne uvid\u00EDte miesto vys\u00E1dzanej matematiky chybov\u00E9 hl\u00E1senia.", + CantCreateXMLParser: "MathJax nem\u00F4\u017Ee vytvori\u0165 syntaktick\u00FD analyz\u00E1tor XML pre MathML.\nSkontrolujte, \u010Di m\u00E1te povolen\u00E9 nastavenie \u201ESkriptova\u0165 ovl\u00E1dacie\nprvky ActiveX ozna\u010Den\u00E9 ako bezpe\u010Dn\u00E9\u201C (v ponuke N\u00E1stroje\nkliknite na polo\u017Eku Mo\u017Enosti Internetu, vyberte z\u00E1lo\u017Eku\nZabezpe\u010Denie a kliknite na tla\u010Didlo Vlastn\u00E1 \u00FArove\u0148).\n\nMathJax nebude m\u00F4c\u0165 spracov\u00E1va\u0165 rovnice v MathML", + UnknownNodeType: "Nezn\u00E1my typ uzla: %1", + UnexpectedTextNode: "Neo\u010Dak\u00E1van\u00FD textov\u00FD uzol: %1", + ErrorParsingMathML: "Chyba pri anal\u00FDze MathML", + ParsingError: "Chyba pri anal\u00FDze MathML: %1", + MathMLSingleElement: "MathML mus\u00ED by\u0165 tvoren\u00E9 jedin\u00FDm elementom", + MathMLRootElement: "MathML mus\u00ED by\u0165 tvoren\u00E9 elementom \u003Cmath\u003E, nie %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sk/MathMenu.js new file mode 100644 index 00000000..9c37ad69 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sk/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/sk/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Zobrazi\u0165 matematiku ako", + MathMLcode: "MathML k\u00F3d", + OriginalMathML: "P\u00F4vodn\u00FD MathML", + TeXCommands: "Pr\u00EDkazy TeXu", + AsciiMathInput: "Vstup AsciiMathML", + Original: "P\u00F4vodn\u00E1 forma", + ErrorMessage: "Chybov\u00E9 hl\u00E1senie", + Annotation: "Anot\u00E1cia", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Javor", + ContentMathML: "Obsah MathML", + OpenMath: "OpenMath", + texHints: "Zobrazi\u0165 TeX tipy v MathML", + Settings: "Nastavenia matematiky", + ZoomTrigger: "Aktiv\u00E1cia zoomu", + Hover: "Prejdenie my\u0161ou", + Click: "Kliknutie", + DoubleClick: "Dvojit\u00E9 kliknutie", + NoZoom: "Bez zoomu", + TriggerRequires: "Aktiv\u00E1cia vy\u017Eaduje:", + Option: "Mo\u017Enos\u0165", + Alt: "Alt", + Command: "Command", + Control: "Ctrl", + Shift: "Shift", + ZoomFactor: "Miera zoomu", + Renderer: "Vykres\u013Eovanie matematiky", + MPHandles: "Necha\u0165 MathPlayer spracov\u00E1va\u0165:", + MenuEvents: "Udalosti menu", + MouseEvents: "Udalosti my\u0161i", + MenuAndMouse: "Udalosti my\u0161i a menu", + FontPrefs: "Preferencia typu p\u00EDsma", + ForHTMLCSS: "Pre HTML-CSS", + Auto: "Automaticky", + TeXLocal: "TeX (lok\u00E1lny)", + TeXWeb: "TeX (webov\u00FD)", + TeXImage: "TeX (obr\u00E1zkov\u00FD)", + STIXLocal: "STIX (lok\u00E1lny)", + STIXWeb: "STIX (webov\u00FD)", + AsanaMathWeb: "Asana Math (webov\u00FD)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + LatinModernWeb: "Latin Modern (web)", + NeoEulerWeb: "Neo Euler (web)", + ContextMenu: "Kontextov\u00E9 menu", + Browser: "Prehliada\u010D", + Scale: "\u0160k\u00E1lova\u0165 v\u0161etku matematiku", + Discoverable: "Zv\u00FDraznit p\u0159i prejden\u00ED my\u0161ou", + Locale: "Jazyk", + LoadLocale: "Na\u010D\u00EDta\u0165 z URL\u2026", + About: "O MathJaxe", + Help: "N\u00E1poveda k MathJaxu", + localTeXfonts: "pou\u017E\u00EDvaj\u00FA se lok\u00E1lne p\u00EDsma TeXu", + webTeXfonts: "pou\u017E\u00EDvaj\u00FA se webov\u00E9 p\u00EDsma TeXu", + imagefonts: "pou\u017E\u00EDvaj\u00FA sa obr\u00E1zkov\u00E9 p\u00EDsma", + localSTIXfonts: "pou\u017E\u00EDvaj\u00FA se lok\u00E1lne p\u00EDsma STIX", + webSVGfonts: "pou\u017E\u00EDvaj\u00ED se webov\u00E9 SVG p\u00EDsma", + genericfonts: "pou\u017E\u00EDvaj\u00ED se generick\u00E1 p\u00EDsma sady Unicode", + wofforotffonts: "p\u00EDsma WOFF alebo OTF", + eotffonts: "p\u00EDsma EOT", + svgfonts: "p\u00EDsma SVG", + WebkitNativeMMLWarning: "V\u00E1\u0161 prehliada\u010D zjavne nepodporuje MathML, tak\u017Ee prepnutie na MathML v\u00FDstup m\u00F4\u017Ee zp\u00F4sobi\u0165, \u017Ee bude matematika na tejto str\u00E1nke ne\u010Ditate\u013En\u00E1.", + MSIENativeMMLWarning: "Internet Explorer vy\u017Eaduje plugin MathPlayer na spracovanie v\u00FDstupu MathML", + OperaNativeMMLWarning: "Podpora prehliada\u010Da Opera pre MathML je obmedzen\u00E1, \u010Di\u017Ee prechod k v\u00FDstupu MathML m\u00F4\u017Ee sp\u00F4sobi\u0165 chab\u00E9 vykres\u013Eovanie niektor\u00FDch v\u00FDrazov", + SafariNativeMMLWarning: "Vstavan\u00E1 podpora v\u00E1\u0161ho prehliada\u010Da pre MathML neimplementuje v\u0161etky vymo\u017Eenosti pou\u017E\u00EDvan\u00E9 MathJax-om, \u010Do m\u00F4\u017Ee sp\u00F4sobi\u0165 chab\u00E9 vykres\u013Eovanie ist\u00FDch v\u00FDrazov", + FirefoxNativeMMLWarning: "Vstavan\u00E1 podpora MathML v\u00E1\u0161ho prehliada\u010Da neimplementuje v\u0161etky vymo\u017Eenosti pou\u017E\u00EDvan\u00E9 MathJaxom, \u010Do znamen\u00E1, \u017Ee niektor\u00E9 v\u00FDrazy sa nebud\u00FA vykres\u013Eova\u0165 spr\u00E1vne.", + MSIESVGWarning: "SVG nie je implementovan\u00E9 v prehliada\u010Doch Internet Explorer pred verziou IE9 a v emul\u00E1ciach verzi\u00ED IE8 \u010Di ni\u017E\u0161\u00EDch. Prepnutie na v\u00FDstup SVG sp\u00F4sob\u00ED, \u017Ee sa matematika nebude zobrazova\u0165 spr\u00E1vne.", + LoadURL: "Na\u010D\u00EDta\u0165 d\u00E1ta prekladu z tejto adresy URL:", + BadURL: "Adresa URL mus\u00ED by\u0165 adresou s\u00FAboru p\u00EDsan\u00E9ho v JavaScripte, ktor\u00FD definuje d\u00E1ta prekladu pre MathJax. S\u00FAbory JavaScriptu maj\u00FA zvy\u010Dajne predponu '.js'.", + BadData: "Nepodarilo sa na\u010D\u00EDta\u0165 d\u00E1ta prekladu z %1", + SwitchAnyway: "Prajete si aj napriek tomu prepn\u00FA\u0165 vykres\u013Eovanie?\n\n(Stla\u010Dte OK pre prepnutie, ZRU\u0160I\u0164 pre zru\u0161enie s aktu\u00E1lnym vykres\u013Eovan\u00EDm)", + ScaleMath: "Na\u0161k\u00E1lova\u0165 v\u0161etku matematiku (v porovnan\u00ED s okolit\u00FDm textom) o", + NonZeroScale: "\u0160k\u00E1la nesmie by\u0165 nulov\u00E1", + PercentScale: "\u0160k\u00E1la mus\u00ED by\u0165 percentom (napr\u00EDklad 120%%)", + IE8warning: "T\u00FDmto deaktivujete menu MathJaxu a mo\u017Enosti zoomu, no pou\u017Eit\u00EDm kombin\u00E1cie Alt+Click na v\u00FDraz z\u00EDskate menu MathJaxu\n\nNaozaj si prajete zmeni\u0165 nastavenia MathPlayer-u?", + IE9warning: "Kontextov\u00E9 menu MathJaxu bude vypnut\u00E9, no pou\u017Eite kombin\u00E1ciu Alt+Click na v\u00FDraz pre z\u00EDskanie nov\u00E9ho menu", + NoOriginalForm: "P\u00F4vodn\u00E1 forma nie je dostupn\u00E1", + Close: "Zatvori\u0165", + EqSource: "Zdroj rovn\u00EDc pre MathJax", + CloseAboutDialog: "Zatvori\u0165 okno \"O MathJaxe\"", + FastPreview: "Rychl\u00FD n\u00E1h\u013Ead", + AssistiveMML: "Pomocn\u00E9 MathML", + InTabOrder: "Zaradit do postupnosti tabul\u00E1torov" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sk/TeX.js new file mode 100644 index 00000000..ff84ac85 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sk/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/sk/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Prebyto\u010Dn\u00E1 otv\u00E1raj\u00FAca alebo uzavieracia z\u00E1tvorka", + ExtraCloseMissingOpen: "Prebyto\u010Dn\u00E1 uzavieracia alebo otv\u00E1raj\u00FAca z\u00E1tvorka", + MissingLeftExtraRight: "Ch\u00FDbaj\u00FAci \\left alebo prebyto\u010Dn\u00FD \\right", + MissingScript: "Ch\u00FDba argument horn\u00E9ho alebo doln\u00E9ho indexu", + ExtraLeftMissingRight: "Prebyto\u010Dn\u00FD \\left alebo ch\u00FDbaj\u00FAci \\right", + Misplaced: "Chybne umiestnen\u00FD %1", + MissingOpenForSub: "Ch\u00FDbaj\u00FAca otv\u00E1racia zlo\u017Een\u00E1 z\u00E1tvorka pre doln\u00FD index", + MissingOpenForSup: "Ch\u00FDbaj\u00FAca otv\u00E1racia zlo\u017Een\u00E1 z\u00E1tvorka pre horn\u00FD index", + AmbiguousUseOf: "Nejednozna\u010Dn\u00E9 pou\u017Eitie %1", + EnvBadEnd: "\\begin{%1} bolo uzavret\u00E9 \\end{%2}", + EnvMissingEnd: "Ch\u00FDbaj\u00FAci \\end{%1}", + MissingBoxFor: "Ch\u00FDba box pre %1", + MissingCloseBrace: "Ch\u00FDba uzavieracia z\u00E1tvorka", + UndefinedControlSequence: "Nedefinovan\u00E1 riadiaca sekvencia %1", + DoubleExponent: "Dvojit\u00FD exponent: pre jednozna\u010Dnos\u0165 pou\u017Eite zlo\u017Een\u00E9 z\u00E1tvorky", + DoubleSubscripts: "Dvojit\u00FD doln\u00FD index: pre jednozna\u010Dnos\u0165 pou\u017Eite zlo\u017Een\u00E9 z\u00E1tvorky", + DoubleExponentPrime: "Symbol \u010Diarky sp\u00F4sobil dvojit\u00FD exponent: pre jednozna\u010Dnos\u0165 pou\u017Eite zlo\u017Een\u00E9 z\u00E1tvorky", + CantUseHash1: "V matematickom re\u017Eime nem\u00F4\u017Eete pou\u017Ei\u0165 znak \u201E#\u201C pre parametre makier", + MisplacedMiddle: "%1 mus\u00ED by\u0165 medzi \\left a \\right", + MisplacedLimits: "%1 je povolen\u00E9 len pri oper\u00E1toroch", + MisplacedMoveRoot: "%1 sa m\u00F4\u017Ee vyskytn\u00FA\u0165 len v koreni", + MultipleCommand: "Viacn\u00E1sobn\u00FD %1", + IntegerArg: "Argument pre %1 mus\u00ED by\u0165 cel\u00E9 \u010D\u00EDslo", + NotMathMLToken: "%1 nie je primit\u00EDvny element", + InvalidMathMLAttr: "Neplatn\u00FD atrib\u00FAt MathML: %1", + UnknownAttrForElement: "%1 nie je zn\u00E1mym atrib\u00FAtom pre %2", + MaxMacroSub1: "Prekro\u010Den\u00FD maxim\u00E1lny po\u010Det substit\u00FAci\u00ED makra MathJaxu; nejde o rekurz\u00EDvne volanie makra?", + MaxMacroSub2: "Prekro\u010Den\u00FD maxim\u00E1lny po\u010Det substit\u00FAci\u00ED MathJaxu; nejde o rekurz\u00EDvne LaTeXov\u00E9 prostredie?", + MissingArgFor: "Ch\u00FDba argument pre %1", + ExtraAlignTab: "Prebyto\u010Dn\u00FD vyrovn\u00E1vac\u00ED tabul\u00E1tor v texte \\cases", + BracketMustBeDimension: "Z\u00E1tvorkov\u00FD argument pre %1 mus\u00ED by\u0165 rozmer", + InvalidEnv: "Neplatn\u00E1 premenn\u00E1 prostredia \u201E%1\u201C", + UnknownEnv: "Nezn\u00E1me prostredie \u201E%1\u201C", + ExtraCloseLooking: "Prebyto\u010Dn\u00E1 uzavieracia z\u00E1tvorka, zatia\u013E \u010Do bolo o\u010Dak\u00E1van\u00E9 %1", + MissingCloseBracket: "Pri argumente pre %1 nebola n\u00E1jden\u00E1 uzavieracia \u201E]\u201C", + MissingOrUnrecognizedDelim: "Ch\u00FDbaj\u00FAci alebo nerozpoznan\u00FD odde\u013Eova\u010D pre %1", + MissingDimOrUnits: "Ch\u00FDbaj\u00FAci rozmer alebo jeho jednotka pre %1", + TokenNotFoundForCommand: "Nen\u00E1jden\u00E9 %1 pre %2", + MathNotTerminated: "V textovom boxe nie je ukon\u010Den\u00E1 matematika", + IllegalMacroParam: "Neplatn\u00FD odkaz na parameter makra", + MaxBufferSize: "Prekro\u010Den\u00E1 ve\u013Ekos\u0165 internej pam\u00E4te MathJaxu; nejde o rekurz\u00EDvne volanie makra?", + CommandNotAllowedInEnv: "V prostred\u00ED %2 nie je povolen\u00FD %1", + MultipleLabel: "Viacn\u00E1sobn\u00E1 defin\u00EDcia ozna\u010Denia %1", + CommandAtTheBeginingOfLine: "%1 mus\u00ED by\u0165 umiestnen\u00E9 na za\u010Diatku riadku", + IllegalAlign: "Pri %1 uveden\u00E9 neplatn\u00E9 zarovnanie", + BadMathStyleFor: "Chybn\u00FD \u0161t\u00FDl matematiky pri %1", + PositiveIntegerArg: "Argument %1 mus\u00ED by\u0165 kladn\u00E9 cel\u00E9 \u010D\u00EDslo", + ErroneousNestingEq: "Chybn\u00E9 zanorovanie \u0161trukt\u00FAry rovn\u00EDc", + MultlineRowsOneCol: "Riadky v prostred\u00ED %1 musia ma\u0165 pr\u00E1ve jeden st\u013Apec", + MultipleBBoxProperty: "Pri %2 je %1 uveden\u00E9 dvakr\u00E1t", + InvalidBBoxProperty: "\u201E%1\u201C nevyzer\u00E1 ako farba, rozmer paddingu alebo \u0161t\u00FDl", + ExtraEndMissingBegin: "Prebato\u010Dn\u00FD %1 alebo ch\u00FDbaj\u00FAci \\begingroup", + GlobalNotFollowedBy: "Za %1 ch\u00FDba \\let, \\def alebo \\newcommand", + UndefinedColorModel: "Farebn\u00FD model \u201E%1\u201C nie je definovan\u00FD", + ModelArg1: "Farebn\u00E9 hodnoty modelu %1 vy\u017Eaduj\u00FA tri \u010D\u00EDsla", + InvalidDecimalNumber: "Neplatn\u00E9 desatinn\u00E9 \u010D\u00EDslo", + ModelArg2: "Farebn\u00E9 hodnoty modelu %1 musia le\u017Ea\u0165 medzi %2 a %3", + InvalidNumber: "Neplatn\u00E9 \u010D\u00EDslo", + NewextarrowArg1: "Prv\u00FDm argumentom %1 mus\u00ED by\u0165 n\u00E1zov riadiacej sekvencie", + NewextarrowArg2: "Druh\u00FDm argumentom %1 musia by\u0165 dve cel\u00E9 \u010D\u00EDsla oddelen\u00E9 \u010Diarkou", + NewextarrowArg3: "Tret\u00EDm argumentom %1 mus\u00ED by\u0165 \u010D\u00EDslo znaku Unicode", + NoClosingChar: "Nen\u00E1jden\u00FD uzavierac\u00ED %1", + IllegalControlSequenceName: "Neplatn\u00FD n\u00E1zov riadiacej sekvencie pre %1", + IllegalParamNumber: "Pre %1 uveden\u00FD neplatn\u00FD po\u010Det parametrov", + MissingCS: "Za %1 mus\u00ED by\u0165 riadiaca sekvencia", + CantUseHash2: "Chybn\u00E9 pou\u017Eitie # v \u0161abl\u00F3ne pre %1", + SequentialParam: "Parametre pre %1 musia by\u0165 \u010D\u00EDslovan\u00E9 postupne", + MissingReplacementString: "V defin\u00EDcii %1 ch\u00FDba nahradzuj\u00FAci re\u0165azec", + MismatchUseDef: "Pou\u017Eitie %1 nezodpoved\u00E1 jeho defin\u00EDcii", + RunawayArgument: "Zbl\u00FAdil\u00FD argument pre %1?", + NoClosingDelim: "Nepodarilo sa n\u00E1js\u0165 ukon\u010Dovac\u00ED znak pre %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sk/sk.js b/src/py/kaleido/vendor/mathjax/localization/sk/sk.js new file mode 100644 index 00000000..49219045 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sk/sk.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/sk/sk.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sk",null,{ + menuTitle: "sloven\u010Dina", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Chyba spracovania matematiky", + MathError: "Chyba matematiky", + LoadFile: "Na\u010D\u00EDtava sa %1", + Loading: "Na\u010D\u00EDtavam", + LoadFailed: "Nepodarilo sa na\u010D\u00EDta\u0165 s\u00FAbor: %1", + ProcessMath: "Spracuje sa matematika: %1 %%", + Processing: "Sprac\u00FAvam", + TypesetMath: "S\u00E1dzanie matematiky: %1 %%", + Typesetting: "S\u00E1dzanie", + MathJaxNotSupported: "V\u00E1\u0161 prehliada\u010D nepodporuje MathJax", + ErrorTips: "Tipy k ladeniu: pou\u017Eite %%1, prehliadajte %%2 v konzole prehliada\u010Da" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) {return 1} // one + if (n === 2 || n === 3 || n === 4) {return 2} // two--four + return 3; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sk/sk.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sl/FontWarnings.js new file mode 100644 index 00000000..cf81c125 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sl/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/sl/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax za prikaza matematike na tej strani uporablja spletne pisave. Da se te nalo\u017Eijo, vzame nekaj \u010Dasa. Stran bi se hitreje izrisovala, \u010De bi bile matemati\u010Dne pisave name\u0161\u010Dene neposredno v mapi s pisavami va\u0161ega sistema.", + imageFonts: "MathJax ne uporablja lokalnih ali spletnih pisav, temve\u010D svoje slikovne pisave. Izrisovanje bo zato po\u010Dasnej\u0161e, matematika pa se morda ne bo natisnila v popolni lo\u010Dljivosti va\u0161ega tiskalnika.", + noFonts: "MathJax ne more najti pisave za prikaz matematike, slikovne pisave pa niso na razpolago, zato v upanju, da jih bo va\u0161 brskalnik lahko prikazal, uporablja generi\u010Dne unikodne znake. Nekateri znaki morda ne bodo prikazani pravilno ali pa sploh ne bodo prikazani.", + webFonts: "Ve\u010Dina sodobnih brskalnikov omogo\u010Da prenos pisav prek spleta. S posodobitvijo (ali zamenjavo) svojega brskalnika boste morda lahko izbolj\u0161ali kakovost matematike na tej strani.", + fonts: "MathJax lahko uporablja [fonte STIX](%1) ali [fonte MathJax TeX](%2). Za izbolj\u0161anje svoje uporabni\u0161ke izku\u0161nje prenesite in namestite te fonte.", + STIXPage: "Stran je oblikovana za uporabo [pisav STIX](%1). Za izbolj\u0161anje svoje uporabni\u0161ke izku\u0161nje prenesite in namestite te pisave.", + TeXPage: "Stran je oblikovana za uporabo [pisav MathJax Tex](%1). Za izbolj\u0161anje svoje izku\u0161nje z MathJax prenesite in namestite te pisave." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sl/HTML-CSS.js new file mode 100644 index 00000000..b897330a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sl/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/sl/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "Nalagam spletni font %1", + CantLoadWebFont: "Spletne pisave %1 ni mogo\u010De nalo\u017Eiti", + FirefoxCantLoadWebFont: "Firefox ne more nalo\u017Eiti spletnih pisav na oddaljenem gostitelju.", + CantFindFontUsing: "Z uporabo %1 ne morem najti veljavne pisave.", + WebFontsNotAvailable: "Web-Fonts niso na razpolago. Namesto njih uporabljam slikovne pisave." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sl/HelpDialog.js new file mode 100644 index 00000000..87ffa4ff --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sl/HelpDialog.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sl/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Pomo\u010D za MathJax", + MathJax: "*MathJax* je javaskriptna knji\u017Enica, ki ustvarjalcem spletnih strani omogo\u010Da vklju\u010Ditev matematike. Kot bralec ne potrebujete ni\u010Desar, da bi se to zgodilo.", + Browsers: "*Brskalniki*: MathJax deluje v vseh sodobnih brskalnikih, vklju\u010Dno z IE6+, Firefoxom 3+, Chromeom 0.2+, Safarijem 2+, Opero 9.6+, in v ve\u010Dini mobilnih brskalnikov.", + Menu: "*Meni ena\u010Db*: MathJax k ena\u010Dbam doda kontekstni meni. Za dostop do menija matematiko desno kliknite ali jo kliknite ob dr\u017Eanju tipke CTRL.", + ShowMath: "*Prika\u017Ei matematiko kot* vam omogo\u010Da prikaz izvornega ozna\u010Devanja formule za kopiranje in lepljenje (kot MathML ali v izvorni obliki).", + Settings: "*Nastavitve* vam dajo nadzor nad mo\u017Enostmi MathJaxa, kot so velikost matematike in mehanizem za prikaz ena\u010Db.", + Language: "*Jezik* vam omogo\u010Da izbrati jezik, ki naj ga MathJax uporablja za svoje menije in opozorilna sporo\u010Dila.", + Zoom: "*Math Zoom*: \u010De imate te\u017Eave pri branju ena\u010Dbe, jo lahko MathJax pove\u010Da, da jo boste bolje videli.", + Accessibilty: "*Dostopnost*: MathJax samodejno deluje z bralniki zaslona in omogo\u010Da dostop do matematike tudi slepim in slabovidnim.", + Fonts: "*Pisave*: MathJax bo uporabljal nekatere matemati\u010Dne pisave, \u010De so name\u0161\u010Dene na ra\u010Dunalniku, sicer pa pisave s spleta. \u010Ceprav niso nujne, bodo lokalno name\u0161\u010Dene pisave pospe\u0161ile prikaz. Predlagamo namestitev [pisav STIX](%1)." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sl/MathML.js new file mode 100644 index 00000000..057e5d66 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sl/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sl/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "Neveljaven mglyph: %1", + BadMglyphFont: "Neveljavna pisava: %1", + MathPlayer: "MathJax ni mogel nastaviti programa MathPlayer.\n\n\u010Ce MathPlayer ni name\u0161\u010Den, ga morate najprej namestiti. Sicer morda njegov zahon prepre\u010Dujejo va\u0161e varnostne nastavitve. Uporabite element Internetne mo\u017Enosti [Internet Options] pod menijem Orodja [Tools] in izberite zavihek Varnost [Security], nato pritisnite gumb Prilagojena raven [Custom Level]. Preverite, alo so nastavitve za 'Za\u017Eeni krmilne elemente ActiveX' in 'Binarna in skriptna vedenja' omogo\u010Dene.\n\nTrenutno boste namesto matematike videli sporo\u010Dila o napakah.", + CantCreateXMLParser: "MathJax ne more ustvariti raz\u010Dlenjevalnika XML za MathML. Preverite, ali je varnostna nastavitev 'Krmilni elementi Script ActiveX ozna\u010Deni kot varni za skriptiranje' omogo\u010Dena (da to preverite, v meniju Orodja [Tools] uporabite element Internetne mo\u017Enosti [Internet Options], nato izberite plo\u0161\u010Do Varnost [Security], nato pritisnite gumb Prilagojena raven [Custom Level]).", + UnknownNodeType: "Neznana vrsta vozli\u0161\u010Da: %1", + UnexpectedTextNode: "Nepri\u010Dakovano tekstovno vozli\u0161\u010De: %1", + ErrorParsingMathML: "Napaka pri raz\u010Dlenjevanju MathML", + ParsingError: "Napaka pri raz\u010Dlenjevanju MathML: %1", + MathMLSingleElement: "MathML mora biti oblikovan z enim samim elementom", + MathMLRootElement: "MathML mora biti oblikovan z elementom \u003Cmath\u003E, ne s korenom %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sl/MathMenu.js new file mode 100644 index 00000000..4283daf8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sl/MathMenu.js @@ -0,0 +1,108 @@ +/************************************************************* + * + * MathJax/localization/sl/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Prika\u017Ei matematiko kot", + MathMLcode: "Koda MathML", + OriginalMathML: "Izvorni MathML", + TeXCommands: "Ukazi TeX", + AsciiMathInput: "Vnos AsciiMathML", + Original: "Izvirna oblika", + ErrorMessage: "Sporo\u010Dilo o napaki", + Annotation: "Pripis", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML vsebine", + OpenMath: "OpenMath", + texHints: "V MathML prika\u017Ei namige TeX", + Settings: "Nastavitve matematike", + ZoomTrigger: "Pro\u017Eilec zumiranja", + Hover: "Lebdenje", + Click: "Kliknite", + DoubleClick: "Dvokliknite", + NoZoom: "Brez pove\u010Dave", + TriggerRequires: "Pro\u017Eilec potrebuje:", + Option: "Mo\u017Enost", + Alt: "Alt", + Command: "Ukaz", + Control: "Kontrolnik", + Shift: "Preklop", + ZoomFactor: "Faktor zumiranja", + Renderer: "Matemati\u010Dni izrisovalnik", + MPHandles: "MathPlayer naj upravlja z:", + MenuEvents: "Dogodki menija", + MouseEvents: "Dogodki mi\u0161ke", + MenuAndMouse: "Dogodki mi\u0161ke in menija", + FontPrefs: "Nastavitve pisav", + ForHTMLCSS: "Za HTML-CSS:", + Auto: "Samodejno", + TeXLocal: "TeX (lokalno)", + TeXWeb: "TeX (splet)", + TeXImage: "TeX (slika)", + STIXLocal: "STIX (lokalno)", + STIXWeb: "STIX (splet)", + AsanaMathWeb: "Asana Math (splet)", + GyrePagellaWeb: "Gyre Pagella (splet)", + GyreTermesWeb: "Gyre Termes (splet)", + LatinModernWeb: "Latin Modern (splet)", + NeoEulerWeb: "Neo Euler (splet)", + ContextMenu: "Kontekstni meni", + Browser: "Brskalnik", + Scale: "Umeri vso matematiko ...", + Discoverable: "Ob lebdenju ozna\u010Di", + Locale: "Jezik", + LoadLocale: "Nalo\u017Ei iz spletnega naslova ...", + About: "O MathJax", + Help: "Pomo\u010D za MathJax", + localTeXfonts: "z uporabo lokalnih pisav TeX", + webTeXfonts: "z uporabo spletne pisave TeX", + imagefonts: "z uporabo slikovnih pisav", + localSTIXfonts: "z uporabo lokalnih pisav STIX", + webSVGfonts: "z uporabo spletnih pisav SVG", + genericfonts: "z uporabo generi\u010Dnih unikodnih pisav", + wofforotffonts: "pisave woff ali otf", + eotffonts: "pisave eot", + svgfonts: "pisave svg", + WebkitNativeMMLWarning: "Va\u0161 brskalnik ne podpira MathML sam po sebi, zato ob preklopu na MathML matematika morda ne bo berljiva.", + MSIENativeMMLWarning: "Internet Explorer potrebuje za obdelavo izhoda MathML vti\u010Dnik MathPlayer.", + OperaNativeMMLWarning: "Podpora Opere za MathML je omejena, zato se bodo ob preklopu na MathML nekateri izrazi morda slabo izrisali.", + SafariNativeMMLWarning: "MathML va\u0161ega brskalnika ne podpira vseh mo\u017Enosti MathJaxa, zato se nekateri izrazi morda ne bodo pravilno prikazali.", + FirefoxNativeMMLWarning: "MathML va\u0161ega brskalnika ne podpira vseh mo\u017Enosti MathJaxa, zato se nekateri izrazi morda ne bodo pravilno izrisali.", + MSIESVGWarning: "V Internet Explorerju pred IE9 in pri emulaciji IE8 ali manj SVG ni podprt. Ob preklopu na SVG se matematika ne bo prikazala pravilno.", + LoadURL: "Nalo\u017Ei podatke za prevajanje z naslednjega spletnega naslova:", + BadURL: "Spletni naslov mora biti za javaskriptno datoteko, ki opredeljuje podatke MathJax o prevajanju. Imena javaskriptnih datotek se morajo kon\u010Dati z '.js'", + BadData: "Nalaganje podatkov za prevajanje iz %1 ni uspelo", + SwitchAnyway: "Vseeno zamenjam izrisovalnik?", + ScaleMath: "Umeri vso matematiko (v primerjavi z okoli\u0161nim besedilom) z", + NonZeroScale: "Merilo ne sme biti ni\u010D", + PercentScale: "Merilo naj bo odstotek (npr. 120%%)", + IE8warning: "To onemogo\u010Di meni MathJax in mo\u017Enosti zumiranja, vendar pa lahko namesto tega kliknete izraz ob dr\u017Eanju tipke Alt, s \u010Dimer se prika\u017Ee meni MathJax.", + IE9warning: "Kontekstni meni MathJax bo izklopljen, namesto tega pa lahko s klikom izraza ob dr\u017Eanju tipke Alt prikli\u010Dete meni MathJax.", + NoOriginalForm: "Na razpolago ni nobena izvorna oblika", + Close: "Zapri", + EqSource: "Vir ena\u010Dbe MathJax", + FastPreview: "Hitri predogled" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sl/TeX.js new file mode 100644 index 00000000..1ee6a514 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sl/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/sl/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Dodaten uklepaj ali manjkajo\u010D zaklepaj", + ExtraCloseMissingOpen: "Dodaten zaklepaj ali manjkajo\u010D uklepaj", + MissingLeftExtraRight: "Manjka \\left ali dodatni \\right", + MissingScript: "Manjka nadpisani ali podpisani argument", + ExtraLeftMissingRight: "Dodaten \\left ali manjkajo\u010D \\right", + Misplaced: "Narobe postavljen %1", + MissingOpenForSub: "Manjka uklepaj za nadpisano", + MissingOpenForSup: "Manjka uklepaj za nadpisano", + AmbiguousUseOf: "Dvoumna uporaba %1", + EnvBadEnd: "\\begin{%1} se je kon\u010Dal z \\end{%2}", + EnvMissingEnd: "Manjka \\end{%1}", + MissingBoxFor: "Manjka polje za %1", + MissingCloseBrace: "Manjka zaklepaj", + UndefinedControlSequence: "Nedefinirano kontrolno zaporedje %1", + DoubleExponent: "Dvojni eksponent: pojasnite z oklepaji", + DoubleSubscripts: "Dvojno podpisano: za pojasnitev uporabite oklepaje", + DoubleExponentPrime: "Pra\u0161tevilo povzro\u010Da dvojni eksponent: pojasnite z oklepaji", + CantUseHash1: "Znak # je makroparameter in ga v matemati\u010Dnem na\u010Dinu ne morete uporabljati", + MisplacedMiddle: "%1 mora biti znotraj \\left in \\right", + MisplacedLimits: "%1 je dovoljen samo pri operatorjih", + MisplacedMoveRoot: "%1 se lahko pojavi samo v korenu", + MultipleCommand: "Ve\u010Dkratni %1", + IntegerArg: "Argument za %1 mora biti celo \u0161tevilo", + NotMathMLToken: "%1 ni \u017Eetonski element", + InvalidMathMLAttr: "Neveljaven atribut MathML: %1", + UnknownAttrForElement: "%1 ni prepoznani atribut za %2", + MaxMacroSub1: "Prese\u017Eeno najve\u010Dje \u0161tevilo makrosubstitucij MathJax; ali obstaja rekurzivni makroklic?", + MaxMacroSub2: "Prese\u017Eeno najve\u010Dje \u0161tevilo substitucij MathJax; ali obstaja rekurzivno okolje LaTeX?", + MissingArgFor: "Manjka argument za %1", + ExtraAlignTab: "Dodatni zavihek za poravnavo v tekstu \\cases", + BracketMustBeDimension: "Argument v oklepaju za %1 mora biti velikost", + InvalidEnv: "Neveljavno ime okolja '%1'", + UnknownEnv: "Neznano okolje '%1'", + ExtraCloseLooking: "Dodatni zaklepaj pri iskanju %1", + MissingCloseBracket: "Za argument za %1 ni mogo\u010De najti zaklepaja ']'", + MissingOrUnrecognizedDelim: "Manjkajo\u010De ali neprepoznano lo\u010Dilo za %1", + MissingDimOrUnits: "Manjka velikost ali enote pri %1", + TokenNotFoundForCommand: "%1 za %2 ni bilo mogo\u010De najti", + MathNotTerminated: "Matematika v tekstovnem polju ni prekinjena", + IllegalMacroParam: "Nedovoljen makroparameter", + MaxBufferSize: "Prese\u017Eena velikost notranjega medpomnilnika MathJax; ali obstaja rekurzivni makroklic?", + CommandNotAllowedInEnv: "%1 v okolju %2 ni dovoljen", + MultipleLabel: "Ve\u010Dkratno definirana oznaka '%1'", + CommandAtTheBeginingOfLine: "%1 mora priti na za\u010Detek vrstice", + IllegalAlign: "V %1 je dolo\u010Dena nedovoljena poravnava.", + BadMathStyleFor: "Neveljaven matemati\u010Dni slog argumenta %1", + PositiveIntegerArg: "Argument za %1 mora biti pozitivno celo \u0161tevilo", + ErroneousNestingEq: "Napa\u010Dno gnezdenje struktur ena\u010Dbe", + MultlineRowsOneCol: "Vrstice v okolju %1 morajo imeti natan\u010Dno en stolpec", + MultipleBBoxProperty: "%1 je v %2 dolo\u010Den dvakrat", + InvalidBBoxProperty: "'%1' ne izgleda kot barva, velikost odmika ali slog", + ExtraEndMissingBegin: "Dodatni %1 ali manjkajo\u010D \\begingroup", + GlobalNotFollowedBy: "%1 ne sledijo \\let, \\def ali \\newcommand", + UndefinedColorModel: "Nedefiniran barvni model '%1'", + ModelArg1: "Barvne vrednosti modela %1 zahtevajo tri \u0161tevilke", + InvalidDecimalNumber: "Neveljavna decimalna \u0161tevilka", + ModelArg2: "Barvne vrednosti za model %1 morajo biti med %2 in %3", + InvalidNumber: "Neveljavna \u0161tevilka", + NewextarrowArg1: "Prvi argument za %1 mora biti ime kontrolnega zaporedja", + NewextarrowArg2: "Drugi argument za %1 morata biti dve celi \u0161tevili, lo\u010Deni z vejico", + NewextarrowArg3: "Tretji argument za %1 mora biti \u0161tevilka unikodnega znaka", + NoClosingChar: "Ni mogo\u010De najti zapiralnega %1", + IllegalControlSequenceName: "Nedovoljeno ime kontrolnega zaporedja za %1", + IllegalParamNumber: "Neveljavno \u0161tevilo parametrov v %1", + MissingCS: "%1 mora slediti kontrolno zaporedje", + CantUseHash2: "Nedovoljena uporaba znaka # v predlogi za %1", + SequentialParam: "Parametri za %1 morajo biti o\u0161tevil\u010Deni zaporedno", + MissingReplacementString: "Manjka nadomestni niz za definicijo %1", + MismatchUseDef: "Uporaba %1 se ne ujema z njegovo definicijo", + RunawayArgument: "Ube\u017Eni argument za %1?", + NoClosingDelim: "Ni mogo\u010De najti zaklju\u010Dnega lo\u010Dila za %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sl/sl.js b/src/py/kaleido/vendor/mathjax/localization/sl/sl.js new file mode 100644 index 00000000..2dd89f08 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sl/sl.js @@ -0,0 +1,60 @@ +/************************************************************* + * + * MathJax/localization/sl/sl.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sl",null,{ + menuTitle: "sloven\u0161\u010Dina", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax je na\u0161el pi\u0161kotek za uporabni\u0161ko konfiguracijo, ki vklju\u010Duje kodo za zagon. Ali jo \u017Eelite zagnati?\n\n(Pritisnite Prekli\u010Di, razen \u010De ste pi\u0161kotek sami nastavili.)", + MathProcessingError: "Napaka pri obdelavi matematike", + MathError: "Napaka v matemati\u010Dni formuli", + LoadFile: "Nalagam %1", + Loading: "Nalagam", + LoadFailed: "Datoteka se ni nalo\u017Eila: %1", + ProcessMath: "Obdelava matematike: %1%%", + Processing: "Obdelujem", + TypesetMath: "Stavljenje matematike: %1%%", + Typesetting: "Stavljenje", + MathJaxNotSupported: "Va\u0161 brskalnik ne podpira MathJax" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 100 === 1) return 1; // one + if (n % 100 === 2) return 2; // two + if (3 <= n % 100 && n % 100 <= 4) return 3; + return 4; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sl/sl.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/sv/FontWarnings.js new file mode 100644 index 00000000..51869889 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sv/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/sv/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax anv\u00E4nder webb-baserade teckensnitt f\u00F6r att visa matematik p\u00E5 denna sida. Dessa tar tid att ladda ner, sidan skulle g\u00F6ra snabbare om du installerar matematik-typsnitt direkt i systemets teckensnittsmapp.", + imageFonts: "MathJax anv\u00E4nder sina bild-teckensnitt ist\u00E4llet f\u00F6r lokala eller webb-baserade typsnitt. Detta kommer att g\u00F6ra visningen saktare \u00E4n vanligt, matematik kan \u00E4ven komma att inte skrivas ut med din skrivares fulla uppl\u00F6sning.", + noFonts: "MathJax kan inte hitta ett typsnitt f\u00F6r att visa sin matematik, och bild-teckensnitt \u00E4r ej tillg\u00E4ngliga, s\u00E5 den faller tillbaka p\u00E5 generiska Unicode-tecken i hopp om att din webbl\u00E4sare kommer att kunna visa dem. Vissa tecken kan komma att visas inkorrekt, eller kanske inte alls.", + webFonts: "De flesta moderna webbl\u00E4sare till\u00E5ter teckensnitt att h\u00E4mtas via webben. Att uppdatera till en nyare version av din webbl\u00E4sare (eller byta webbl\u00E4sare) kan f\u00F6rb\u00E4ttra kvaliteten p\u00E5 matematik p\u00E5 denna sida.", + fonts: "MathJax kan antingen anv\u00E4nda [STIX-typsnitt](%1) eller [MathJax TeX-typsnitt](%2). Ladda ner och installera en av dessa typsnitt f\u00F6r att f\u00F6rb\u00E4ttra din MathJax-upplevelse.", + STIXPage: "Denna sida \u00E4r designad f\u00F6r att anv\u00E4nda [STIX-typsnitt](%1). Ladda ner och installera dessa typsnitt f\u00F6r att f\u00F6rb\u00E4ttra din MathJax-upplevelse.", + TeXPage: "Denna sida \u00E4r designad f\u00F6r att anv\u00E4nda [MathJax TeX-typsnitt](%1). Ladda ner och installera dessa typsnitt f\u00F6r att f\u00F6rb\u00E4ttra din MathJax-upplevelse." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/sv/HTML-CSS.js new file mode 100644 index 00000000..179ab6ca --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sv/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/sv/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "L\u00E4ser in webbtypsnittet %1", + CantLoadWebFont: "Kan inte l\u00E4sa in webbtypsnittet %1", + FirefoxCantLoadWebFont: "Firefox kan inte l\u00E4sa in webbteckensnitt fr\u00E5n en fj\u00E4rrv\u00E4rd", + CantFindFontUsing: "Kan inte hitta ett giltigt teckensnitt med hj\u00E4lp av %1", + WebFontsNotAvailable: "Webbtypsnitt \u00E4r inte tillg\u00E4ngliga. Anv\u00E4nder bildtypsnitt ist\u00E4llet" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/sv/HelpDialog.js new file mode 100644 index 00000000..7c133f52 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sv/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/sv/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax-hj\u00E4lp", + MathJax: "*MathJax* \u00E4r ett JavaScript-bibliotek som till\u00E5ter f\u00F6rfattare att inkludera matematik p\u00E5 sina webbsidor. Som l\u00E4sare beh\u00F6ver du inte g\u00F6ra n\u00E5got f\u00F6r att f\u00E5 det att h\u00E4nda.", + Browsers: "*Webbl\u00E4sare*: MathJax fungerar med alla moderna webbl\u00E4sare inklusive IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ och de flesta mobila webbl\u00E4sare.", + Menu: "*Matematik-menyn*: MathJax l\u00E4gger till en kontextuell meny till ekvationer. H\u00F6gerklicka eller Ctrl-klicka p\u00E5 n\u00E5gon matematik att komma \u00E5t menyn.", + ShowMath: "*Visa matematik som* g\u00F6r att du kan visa formelns k\u00E4llkod f\u00F6r att klipp \u0026 klistra in (som MathML eller i dess ursprungliga format).", + Settings: "*Inst\u00E4llninga * ger dig kontroll \u00F6ver funktionerna i MathJax, s\u00E5 som storleken p\u00E5 matematiken och den mekanism som anv\u00E4nds f\u00F6r att visa ekvationer.", + Language: "*Spr\u00E5k* l\u00E5ter dig v\u00E4lja spr\u00E5ket som MathJax ska anv\u00E4nda f\u00F6r sina menyer och varningsmeddelanden.", + Zoom: "*Matematik zoom*: Om du har sv\u00E5rt att l\u00E4sa en ekvation, kan MathJax f\u00F6rstora den f\u00F6r att hj\u00E4lpa dig se den b\u00E4ttre.", + Accessibilty: "*Tillg\u00E4nglighet*: MathJax fungerar automatiskt med sk\u00E4rml\u00E4sare f\u00F6r att g\u00F6ra matematik tillg\u00E4nglig f\u00F6r synskadade.", + Fonts: "*Typsnitt*: MathJax kommer att anv\u00E4nda vissa matematiska teckensnitt om de \u00E4r installerade p\u00E5 din dator; annars anv\u00E4nder den webb-baserade teckensnitt. \u00C4ven om det inte kr\u00E4vs, kommer lokalt installerade teckensnitt att p\u00E5skynda typs\u00E4ttningen. Vi f\u00F6resl\u00E5r installation av [STIX-typsnitt](%1).", + CloseDialog: "St\u00E4ng hj\u00E4lpdialogen" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/MathML.js b/src/py/kaleido/vendor/mathjax/localization/sv/MathML.js new file mode 100644 index 00000000..11cbfc5d --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sv/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/sv/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "D\u00E5lig mglyph: %1", + BadMglyphFont: "D\u00E5ligt typsnitt: %1", + MathPlayer: "MathJax kunde inte st\u00E4lla in MathPlayer.\n\nOm MathPlayer inte \u00E4r installerat, m\u00E5ste du installera \nden f\u00F6rst. Annars kan det h\u00E4nda att dina \ns\u00E4kerhetsinst\u00E4llningar f\u00F6rhindrar ActiveX-kontroller \nfr\u00E5n att k\u00F6ras. Anv\u00E4nd internetinst\u00E4llningar i \nverktygsmenyn, v\u00E4lj s\u00E4kerhetspanelen, klicka sedan \nanv\u00E4ndardefinierad niv\u00E5-knappen. Kontrollera att \ninst\u00E4llningarna f\u00F6r 'K\u00F6r ActiveX-kontroller' samt \n'Bin\u00E4r och skript-beteenden' \u00E4r aktiverade.\n\nF\u00F6r n\u00E4rvarande kommer du att se flemeddelande snarare \n\u00E4n typsatt matematik", + CantCreateXMLParser: "MathJax kunde inte skapa en XML-tolk f\u00F6r MathML. Kontrollera att \ns\u00E4kerhetsinst\u00E4llningen 'Script ActiveX X-kontroller som markerats \nsom s\u00E4kra f\u00F6r skript' \u00E4r aktiverad (anv\u00E4nd internetinst\u00E4llningar \ni verktygsmenyn, v\u00E4lj s\u00E4kerhetspanelen, klicka sedan \nanv\u00E4ndardefinierad niv\u00E5-knappen f\u00F6r att kontrollera detta).\n\nMathML-ekvationer kommer inte kunna hanteras av MathJax", + UnknownNodeType: "Ok\u00E4nd nodtyp: %1", + UnexpectedTextNode: "Ov\u00E4ntad textnod: %1", + ErrorParsingMathML: "Fel vid tolkning av MathML", + ParsingError: "Fel vid tolkning av MathML: %1", + MathMLSingleElement: "MathML m\u00E5ste bildas av ett enskilt element", + MathMLRootElement: "MathML m\u00E5ste bildas av ett \u003Cmath\u003E-element, inte %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/sv/MathMenu.js new file mode 100644 index 00000000..6d5564fd --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sv/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/sv/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + MathMLcode: "MathML-kod", + OriginalMathML: "Ursprunglig MathML", + TeXCommands: "TeX-kommandon", + AsciiMathInput: "AsciiMathML-indata", + Original: "Ursprungligt format", + ErrorMessage: "Felmeddelande", + TeX: "TeX", + StarMath: "StarMath", + OpenMath: "OpenMath", + Click: "Klick", + DoubleClick: "Dubbelklick", + NoZoom: "Ingen zoom", + Option: "Alternativ", + Alt: "Alt", + Command: "\u2318 (Cmd)", + Control: "Ctrl", + Shift: "Skift", + MenuEvents: "Menyh\u00E4ndelser", + MouseEvents: "Mush\u00E4ndelser", + MenuAndMouse: "Mus- och menyh\u00E4ndelser", + FontPrefs: "Teckensnittsinst\u00E4llningar", + ForHTMLCSS: "F\u00F6r HTML-CSS:", + Auto: "Auto", + TeXLocal: "TeX (lokal)", + TeXWeb: "TeX (webb)", + TeXImage: "TeX (bild)", + STIXLocal: "STIX (lokal)", + STIXWeb: "STIX (webb)", + AsanaMathWeb: "Asana Math (webb)", + GyrePagellaWeb: "Gyre Pagella (webb)", + GyreTermesWeb: "Gyre Termes (webb)", + LatinModernWeb: "Latin Modern (webb)", + NeoEulerWeb: "Neo Euler (webb)", + Browser: "Webbl\u00E4sare", + Discoverable: "Markera vid hovring", + Locale: "Spr\u00E5k", + LoadLocale: "L\u00E4s in fr\u00E5n URL ...", + About: "Om MathJax", + Help: "MathJax-hj\u00E4lp", + eotffonts: "EOT-teckensnitt", + svgfonts: "SVG-teckensnitt", + MSIENativeMMLWarning: "Internet Explorer kr\u00E4ver insticksmodulen MathPlayer f\u00F6r att kunna bearbeta MathML-utdata.", + NonZeroScale: "Skalan b\u00F6r inte vara noll", + PercentScale: "Skalan b\u00F6r vara en procentsats (t.ex. 120%%)", + Close: "St\u00E4ng", + Show: "Visa matematik som", + Annotation: "Anm\u00E4rkning", + Maple: "Maple", + ContentMathML: "Content MathML", + texHints: "Visa TeX tips i MathML", + Settings: "Matematikinst\u00E4llningar", + ZoomTrigger: "Zoomutl\u00F6sare", + Hover: "Hovra", + TriggerRequires: "Utl\u00F6sare kr\u00E4ver:", + ZoomFactor: "Zoom-faktor", + Renderer: "Matematik-renderare", + MPHandles: "L\u00E5t MathPlayer hantera:", + ContextMenu: "Kontextuell meny", + Scale: "Skala all matematik...", + localTeXfonts: "anv\u00E4nder lokala TeX-typsnitt", + webTeXfonts: "anv\u00E4nder webb-TeX-typsnitt", + imagefonts: "anv\u00E4nder bild-typsnitt", + localSTIXfonts: "anv\u00E4nder lokala STIX-typsnitt", + webSVGfonts: "anv\u00E4nder webb-SVG-typsnitt", + genericfonts: "anv\u00E4nder generiska Unicode-typsnitt", + wofforotffonts: "WOFF- eller OTF-typsnitt", + WebkitNativeMMLWarning: "Din webbl\u00E4sare verkar sakna inbyggt st\u00F6d f\u00F6r MathML, att byta till MathML-utdata kan d\u00E4rf\u00F6r g\u00F6ra att matematiken p\u00E5 sidan blir ol\u00E4sbar", + OperaNativeMMLWarning: "Operas st\u00F6d f\u00F6r MathML \u00E4r begr\u00E4nsad, att byta till MathML-utdata kan d\u00E4rf\u00F6r g\u00F6ra att vissa uttryck \u00E5terges d\u00E5ligt.", + SafariNativeMMLWarning: "Din webbl\u00E4sares inbyggda MathML implementerar inte alla de funktioner som anv\u00E4nds av MathJax, vissa uttryck kan d\u00E4rf\u00F6r \u00E5terges inkorrekt.", + FirefoxNativeMMLWarning: "Din webbl\u00E4sares inbyggda MathML implementerar inte alla de funktioner som anv\u00E4nds av MathJax, vissa uttryck kan d\u00E4rf\u00F6r \u00E5terges inkorrekt.", + MSIESVGWarning: "SVG implementeras inte i Internet Explorer f\u00F6re IE9 eller n\u00E4r den emulerar IE8 eller l\u00E4gre. Ett byte till SVG-utdata kommer att g\u00F6ra att matematiken inte visas korrekt.", + LoadURL: "Ladda \u00F6vers\u00E4ttningsdata fr\u00E5n denna URL:", + BadURL: "URL-adressen b\u00F6r g\u00E5 till en JavaScript-fil som definierar MathJax-\u00F6vers\u00E4ttningsdata. JavaScript-filnamn b\u00F6r avslutas med \".js\"", + BadData: "Misslyckades med att ladda \u00F6vers\u00E4ttningsdata fr\u00E5n %1", + SwitchAnyway: "Byt renderare \u00E4nd\u00E5?\n\n(Tryck p\u00E5 OK f\u00F6r att byta, AVBRYT f\u00F6r att forts\u00E4tta med nuvarande renderare)", + ScaleMath: "Skala alla matematik (j\u00E4mf\u00F6rt med omgivande text) med", + IE8warning: "Detta kommer att inaktivera MathJax-menyn och zoom-funktionen, men du kan Alt-klicka p\u00E5 ett uttryck att f\u00E5 MathJax-menyn ist\u00E4llet.\n\nVill du verkligen \u00E4ndra MathPlayer-inst\u00E4llningarna?", + IE9warning: "MathJax kontextuella meny kommer att vara inaktiverade, men du kan Alt-Klicka p\u00E5 ett uttryck f\u00F6r att f\u00E5 MathJax-menyn ist\u00E4llet.", + NoOriginalForm: "Inget ursprungligt format tillg\u00E4ngligt", + EqSource: "MathJax ekvationsk\u00E4lla", + CloseAboutDialog: "St\u00E4ng dialogen \"Om MathJax\"", + FastPreview: "Snabb f\u00F6rhandsvisning", + AssistiveMML: "Assisterande MathML", + InTabOrder: "Inkludera i flikordning" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/TeX.js b/src/py/kaleido/vendor/mathjax/localization/sv/TeX.js new file mode 100644 index 00000000..7e7419a4 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sv/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/sv/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "Extra v\u00E4nsterklammerparentes eller h\u00F6gerklammerparentes saknas", + ExtraCloseMissingOpen: "Extra h\u00F6gerklammerparentes eller v\u00E4nsterklammerparentes saknas", + MissingLeftExtraRight: "Saknad \\left eller en extra \\right", + ExtraLeftMissingRight: "Extra \\left eller en saknad \\right", + Misplaced: "Felplacerad %1", + MissingOpenForSub: "Saknad v\u00E4nsterklammerparentes f\u00F6r index", + MissingOpenForSup: "Saknad v\u00E4nsterklammerparentes f\u00F6r exponent", + AmbiguousUseOf: "Tvetydig anv\u00E4ndning av %1", + EnvBadEnd: "\\begin{%1} slutade med \\end{%2}", + EnvMissingEnd: "Saknad \\end{%1}", + MissingBoxFor: "Saknad l\u00E5da f\u00F6r %1", + MissingCloseBrace: "Saknad h\u00F6gerklammerparentes", + UndefinedControlSequence: "Odefinierad kontrollsekvens %1", + DoubleExponent: "Dubbel exponent: anv\u00E4nd klammerparenteser f\u00F6r att klarg\u00F6ra", + DoubleSubscripts: "Dubbla index: anv\u00E4nd klammerparenteser f\u00F6r att klarg\u00F6ra", + MisplacedMiddle: "%1 m\u00E5ste vara inom \\left och \\right", + MisplacedLimits: "%1 till\u00E5ts endast p\u00E5 operat\u00F6rer", + MisplacedMoveRoot: "%1 kan endast visas inom en rot", + MultipleCommand: "Flera %1", + IntegerArg: "Argumentet till %1 m\u00E5ste vara ett heltal", + NotMathMLToken: "%1 \u00E4r inte ett token-element", + InvalidMathMLAttr: "Ogiltigt MathML-attribut: %1", + UnknownAttrForElement: "%1 \u00E4r inte ett igenk\u00E4ndt attribut f\u00F6r %2", + MissingArgFor: "Saknat argument f\u00F6r %1", + InvalidEnv: "Ogiltigt milj\u00F6namn '%1'", + UnknownEnv: "Ok\u00E4nd milj\u00F6 '%1'", + ExtraCloseLooking: "Extra h\u00F6gerklammerparentes n\u00E4r %1 s\u00F6ktes", + MissingCloseBracket: "Kunde inte hitta avslutande ']' f\u00F6r argumentet till %1", + TokenNotFoundForCommand: "Kunde inte hitta %1 f\u00F6r %2", + CommandNotAllowedInEnv: "%1 till\u00E5ts inte i %2-milj\u00F6n", + MultipleLabel: "Etiketten '%1' definierades flera g\u00E5nger", + CommandAtTheBeginingOfLine: "%1 m\u00E5ste vara i b\u00F6rjan p\u00E5 raden", + IllegalAlign: "Ogiltig justering anges i %1", + MultipleBBoxProperty: "%1 anges tv\u00E5 g\u00E5nger i %2", + ExtraEndMissingBegin: "Extra %1 eller en saknad \\begingroup", + GlobalNotFollowedBy: "%1 f\u00F6ljs inte av \\let, \\def eller \\newcommand", + UndefinedColorModel: "F\u00E4rgmodellen '%1' \u00E4r inte definierad", + InvalidDecimalNumber: "Ogiltig decimaltal", + InvalidNumber: "Ogiltigt nummer", + NoClosingChar: "Kan inte hitta avslutande %1", + IllegalControlSequenceName: "Ogiltigt kontrollsekvensnamn f\u00F6r %1", + IllegalParamNumber: "Ogiltigt antal parametrar anges i %1", + MissingScript: "Saknat argument f\u00F6r exponent- eller indexl\u00E4ge", + DoubleExponentPrime: "Primtecken orsakar dubbla exponenter: Anv\u00E4nd klammerparenteser f\u00F6r att klarg\u00F6ra", + CantUseHash1: "Du kan inte anv\u00E4nda 'makroparameter-tecknet #' i matematikl\u00E4ge", + MaxMacroSub1: "MathJax maximala antal makro-substitutioner har \u00F6verskridits; finns det ett rekursivt makroanrop?", + MaxMacroSub2: "MathJax maximala antal substitutioner har \u00F6verskridits; finns det en rekursiv LaTeX-milj\u00F6?", + ExtraAlignTab: "Extra \u0026-tecken i \\cases-text", + BracketMustBeDimension: "Argumentet innanf\u00F6r klammerparenteser till %1 m\u00E5ste vara en dimension", + MissingOrUnrecognizedDelim: "Saknad eller \u00E4r ok\u00E4nd avgr\u00E4nsare f\u00F6r %1", + MissingDimOrUnits: "Saknar dimension eller dess enheter f\u00F6r %1", + MathNotTerminated: "Matematiskt uttryckt ej avslutat i textrutan", + IllegalMacroParam: "Ogiltig referens till makroparameter", + MaxBufferSize: "MathJax intern buffertstorlek har \u00F6verskridits; finns d\u00E4r ett rekursivt makroanrop?", + BadMathStyleFor: "D\u00E5lig matematikstil f\u00F6r %1", + PositiveIntegerArg: "Argumentet till %1 m\u00E5ste vara ett positivt heltal", + ErroneousNestingEq: "Felaktigt n\u00E4stling av ekvationsstrukturer", + MultlineRowsOneCol: "Raderna inom %1-milj\u00F6n m\u00E5ste ha exakt en kolumn", + InvalidBBoxProperty: "'%1' verkar inte vara en f\u00E4rg, en utfyllnadsdimension eller en stil", + ModelArg1: "F\u00E4rgv\u00E4rden f\u00F6r f\u00E4rgmodell %1 kr\u00E4ver 3 nummer", + ModelArg2: "F\u00E4rgv\u00E4rden f\u00F6r f\u00E4rgmodell %1 m\u00E5ste vara mellan %2 och %3", + NewextarrowArg1: "F\u00F6rsta argumentet till %1 m\u00E5ste vara namnet p\u00E5 en kontrollsekvens", + NewextarrowArg2: "Andra argumentet till %1 m\u00E5ste vara tv\u00E5 heltal separerade av ett komma", + NewextarrowArg3: "Tredje argumentet till %1 m\u00E5ste vara nummeret p\u00E5 ett Unicode-tecken", + MissingCS: "%1 m\u00E5ste f\u00F6ljas av en kontrollsekvens", + CantUseHash2: "Ogiltig anv\u00E4ndning av # i mallen f\u00F6r %1", + SequentialParam: "Parametrar f\u00F6r %1 m\u00E5ste numreras sekventiellt", + MissingReplacementString: "Saknar ers\u00E4ttningsstr\u00E4ngen f\u00F6r definition av %1", + MismatchUseDef: "Anv\u00E4ndning av %1 matchar inte dess definition", + RunawayArgument: "Skenande argument f\u00F6r %1?", + NoClosingDelim: "Kunde inte hitta avslutande avgr\u00E4nsare f\u00F6r %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/sv/sv.js b/src/py/kaleido/vendor/mathjax/localization/sv/sv.js new file mode 100644 index 00000000..b1deafcc --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/sv/sv.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/localization/sv/sv.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("sv",null,{ + menuTitle: "svenska", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax har hittat en anv\u00E4ndarkonfigurations-cookie som inneh\u00E5ller kod som kan k\u00F6ras. Vill du k\u00F6ra den?\n\n(Du b\u00F6r trycka p\u00E5 Avbryt om du inte sj\u00E4lv har lagt upp denna cookie.)", + MathProcessingError: "Matematikbearbetningsfel", + MathError: "Matematikfel", + LoadFile: "L\u00E4ser in %1", + Loading: "L\u00E4ser in", + LoadFailed: "Filen kunde inte l\u00E4sas in: %1", + ProcessMath: "Bearbetar matematik: %1%%", + Processing: "Bearbetar", + TypesetMath: "Typs\u00E4tter matematik: %1%%", + Typesetting: "Typs\u00E4ttning", + MathJaxNotSupported: "Din webbl\u00E4sare st\u00F6der inte MathJax", + ErrorTips: "Fels\u00F6kningstips: anv\u00E4nd %%1, inspektera %%2 i webbl\u00E4sarkonsolen" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n === 1) return 1; // one + return 2; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/sv/sv.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/th/FontWarnings.js new file mode 100644 index 00000000..b2c4780b --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/th/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/th/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49 \u0E0B\u0E36\u0E48\u0E07\u0E08\u0E30\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E40\u0E27\u0E25\u0E32\u0E1A\u0E49\u0E32\u0E07\u0E43\u0E19\u0E01\u0E32\u0E23\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14 \u0E2B\u0E32\u0E01\u0E17\u0E48\u0E32\u0E19\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E42\u0E2B\u0E25\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E43\u0E2B\u0E49\u0E40\u0E23\u0E47\u0E27 \u0E04\u0E27\u0E23\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19", + imageFonts: "MathJax \u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E0A\u0E19\u0E34\u0E14\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E41\u0E17\u0E19\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A\u0E2B\u0E23\u0E37\u0E2D\u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A \u0E0B\u0E36\u0E48\u0E07\u0E08\u0E30\u0E48\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E20\u0E32\u0E1E (render) \u0E0A\u0E49\u0E32\u0E01\u0E27\u0E48\u0E32\u0E1B\u0E01\u0E15\u0E34 \u0E41\u0E25\u0E30\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E2D\u0E2D\u0E01\u0E17\u0E32\u0E07\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C \u0E08\u0E30\u0E44\u0E21\u0E48\u0E41\u0E2A\u0E14\u0E07\u0E04\u0E27\u0E32\u0E21\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E44\u0E14\u0E49\u0E40\u0E15\u0E47\u0E21\u0E17\u0E35\u0E48\u0E19\u0E31\u0E01", + noFonts: "MathJax \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E23\u0E30\u0E1A\u0E38\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07\u0E02\u0E2D\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C \u0E23\u0E27\u0E21\u0E16\u0E36\u0E07\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E44\u0E14\u0E49 \u0E08\u0E36\u0E07\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E22\u0E39\u0E19\u0E34\u0E42\u0E04\u0E49\u0E14\u0E41\u0E17\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E2B\u0E49\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E41\u0E2A\u0E14\u0E07\u0E2D\u0E2D\u0E01\u0E17\u0E32\u0E07\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E44\u0E14\u0E49 \u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E1A\u0E32\u0E07\u0E15\u0E31\u0E27\u0E2D\u0E32\u0E08\u0E41\u0E2A\u0E14\u0E07\u0E44\u0E21\u0E48\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E1B\u0E23\u0E32\u0E01\u0E0F\u0E40\u0E25\u0E22", + webFonts: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E23\u0E38\u0E48\u0E19\u0E43\u0E2B\u0E21\u0E48\u0E2A\u0E48\u0E27\u0E19\u0E21\u0E32\u0E01\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E1C\u0E48\u0E32\u0E19\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E14\u0E49 \u0E01\u0E32\u0E23\u0E1B\u0E23\u0E31\u0E1A\u0E23\u0E38\u0E48\u0E19\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E43\u0E2B\u0E49\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E38\u0E48\u0E19\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14 (\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C) \u0E2D\u0E32\u0E08\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E04\u0E38\u0E13\u0E20\u0E32\u0E1E\u0E02\u0E2D\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E41\u0E2A\u0E14\u0E07\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E44\u0E14\u0E49", + fonts: "MathJax \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX](%1) \u0E2B\u0E23\u0E37\u0E2D[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 MathJax](%2) \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E25\u0E30\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E41\u0E1A\u0E1A\u0E43\u0E14\u0E41\u0E1A\u0E1A\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax \u0E23\u0E32\u0E1A\u0E23\u0E37\u0E48\u0E19\u0E02\u0E36\u0E49\u0E19", + STIXPage: "\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E16\u0E39\u0E01\u0E2D\u0E2D\u0E01\u0E41\u0E1A\u0E1A\u0E21\u0E32\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX](%1) \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E25\u0E30\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E14\u0E31\u0E07\u0E01\u0E25\u0E48\u0E32\u0E27\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax \u0E23\u0E32\u0E1A\u0E23\u0E37\u0E48\u0E19\u0E02\u0E36\u0E49\u0E19", + TeXPage: "\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E16\u0E39\u0E01\u0E2D\u0E2D\u0E01\u0E41\u0E1A\u0E1A\u0E21\u0E32\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 MathJax TeX](%1) \u0E42\u0E1B\u0E23\u0E14\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E25\u0E30\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E14\u0E31\u0E07\u0E01\u0E25\u0E48\u0E32\u0E27\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax \u0E23\u0E32\u0E1A\u0E23\u0E37\u0E48\u0E19\u0E02\u0E36\u0E49\u0E19" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/th/HTML-CSS.js new file mode 100644 index 00000000..f2a74104 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/th/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/th/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A %1", + CantLoadWebFont: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A %1", + FirefoxCantLoadWebFont: "Firefox \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A\u0E08\u0E32\u0E01\u0E42\u0E2E\u0E2A\u0E15\u0E4C\u0E23\u0E30\u0E22\u0E30\u0E44\u0E01\u0E25\u0E44\u0E14\u0E49", + CantFindFontUsing: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E17\u0E35\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E42\u0E14\u0E22\u0E43\u0E0A\u0E49 %1", + WebFontsNotAvailable: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E40\u0E27\u0E47\u0E1A \u0E08\u0E30\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E\u0E41\u0E17\u0E19" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/th/HelpDialog.js new file mode 100644 index 00000000..42d25e37 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/th/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/th/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "\u0E04\u0E27\u0E32\u0E21\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D\u0E41\u0E25\u0E30\u0E27\u0E34\u0E18\u0E35\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax", + MathJax: "*MathJax* \u0E40\u0E1B\u0E47\u0E19\u0E04\u0E25\u0E31\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E08\u0E32\u0E27\u0E32\u0E2A\u0E04\u0E23\u0E34\u0E1B\u0E15\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E43\u0E2B\u0E49\u0E1C\u0E39\u0E49\u0E17\u0E33\u0E40\u0E27\u0E47\u0E1A\u0E43\u0E2A\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E44\u0E27\u0E49\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E02\u0E2D\u0E07\u0E15\u0E19\u0E44\u0E14\u0E49 \u0E42\u0E14\u0E22\u0E17\u0E48\u0E32\u0E19\u0E43\u0E19\u0E10\u0E32\u0E19\u0E30\u0E1C\u0E39\u0E49\u0E2D\u0E48\u0E32\u0E19\u0E40\u0E27\u0E47\u0E1A\u0E44\u0E21\u0E48\u0E08\u0E33\u0E15\u0E49\u0E2D\u0E07\u0E17\u0E33\u0E2A\u0E34\u0E48\u0E07\u0E2D\u0E37\u0E48\u0E19\u0E43\u0E14\u0E40\u0E25\u0E22", + Browsers: "*\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C*: MathJax \u0E17\u0E33\u0E07\u0E32\u0E19\u0E23\u0E48\u0E27\u0E21\u0E01\u0E31\u0E1A\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E23\u0E38\u0E48\u0E19\u0E43\u0E2B\u0E21\u0E48 \u0E46 \u0E44\u0E14\u0E49 \u0E2D\u0E32\u0E17\u0E34 IE6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ \u0E41\u0E25\u0E30\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E21\u0E37\u0E2D\u0E16\u0E37\u0E2D\u0E2A\u0E48\u0E27\u0E19\u0E43\u0E2B\u0E0D\u0E48", + Menu: "*\u0E40\u0E21\u0E19\u0E39\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C*: MathJax \u0E08\u0E30\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E21\u0E19\u0E39\u0E01\u0E33\u0E01\u0E31\u0E1A\u0E41\u0E15\u0E48\u0E25\u0E30\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E44\u0E27\u0E49 \u0E0B\u0E36\u0E48\u0E07\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E25\u0E34\u0E01\u0E02\u0E27\u0E32\u0E17\u0E35\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E43\u0E14 \u0E46 \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E44\u0E14\u0E49", + ShowMath: "*\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E23\u0E39\u0E1B* \u0E40\u0E1B\u0E47\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E0B\u0E36\u0E48\u0E07\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2D\u0E48\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E15\u0E49\u0E19\u0E09\u0E1A\u0E31\u0E1A\u0E02\u0E2D\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E19\u0E31\u0E49\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E04\u0E31\u0E14\u0E25\u0E2D\u0E01\u0E44\u0E1B\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 (\u0E40\u0E0A\u0E48\u0E19 MathML \u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E40\u0E14\u0E34\u0E21\u0E02\u0E2D\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E19\u0E31\u0E49\u0E19)", + Settings: "*\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32* \u0E17\u0E33\u0E43\u0E2B\u0E49\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E15\u0E48\u0E32\u0E07 \u0E46 \u0E02\u0E2D\u0E07 MathJax \u0E2D\u0E32\u0E17\u0E34 \u0E02\u0E19\u0E32\u0E14\u0E2A\u0E21\u0E01\u0E32\u0E23 \u0E41\u0E25\u0E30\u0E27\u0E34\u0E18\u0E35\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48\u0E43\u0E0A\u0E49\u0E43\u0E19\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23", + Language: "*\u0E20\u0E32\u0E29\u0E32* \u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E20\u0E32\u0E29\u0E32\u0E17\u0E35\u0E48 MathJax \u0E41\u0E2A\u0E14\u0E07\u0E43\u0E19\u0E40\u0E21\u0E19\u0E39\u0E41\u0E25\u0E30\u0E04\u0E33\u0E40\u0E15\u0E37\u0E2D\u0E19\u0E15\u0E48\u0E32\u0E07 \u0E46 \u0E44\u0E14\u0E49", + Zoom: "*\u0E0B\u0E39\u0E21\u0E2A\u0E21\u0E01\u0E32\u0E23*: \u0E16\u0E49\u0E32\u0E17\u0E48\u0E32\u0E19\u0E21\u0E35\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E43\u0E19\u0E01\u0E32\u0E23\u0E2D\u0E48\u0E32\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48\u0E21\u0E35\u0E15\u0E31\u0E27\u0E2B\u0E19\u0E31\u0E07\u0E2A\u0E37\u0E2D\u0E40\u0E25\u0E47\u0E01 MathJax \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E02\u0E22\u0E32\u0E22\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E19\u0E31\u0E49\u0E19\u0E43\u0E2B\u0E49\u0E43\u0E2B\u0E0D\u0E48\u0E21\u0E2D\u0E07\u0E40\u0E2B\u0E47\u0E19\u0E07\u0E48\u0E32\u0E22\u0E02\u0E36\u0E49\u0E19", + Accessibilty: "*\u0E04\u0E27\u0E32\u0E21\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E44\u0E14\u0E49*: MathJax \u0E08\u0E30\u0E17\u0E33\u0E07\u0E32\u0E19\u0E01\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E2D\u0E48\u0E32\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D\u0E42\u0E14\u0E22\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34 \u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E2D\u0E48\u0E32\u0E19\u0E44\u0E14\u0E49\u0E07\u0E48\u0E32\u0E22 \u0E42\u0E14\u0E22\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E1C\u0E39\u0E49\u0E21\u0E35\u0E1B\u0E31\u0E0D\u0E2B\u0E32\u0E17\u0E32\u0E07\u0E2A\u0E32\u0E22\u0E15\u0E32", + Fonts: "*\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23*: MathJax \u0E08\u0E30\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E17\u0E35\u0E48\u0E21\u0E35\u0E1A\u0E19\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E41\u0E25\u0E49\u0E27 \u0E2B\u0E23\u0E37\u0E2D\u0E16\u0E49\u0E32\u0E44\u0E21\u0E48\u0E21\u0E35\u0E08\u0E30\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A \u0E2D\u0E22\u0E48\u0E32\u0E07\u0E44\u0E23\u0E01\u0E47\u0E15\u0E32\u0E21\u0E16\u0E49\u0E32\u0E21\u0E35\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E44\u0E27\u0E49\u0E1A\u0E19\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07 \u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E08\u0E30\u0E23\u0E27\u0E14\u0E40\u0E23\u0E47\u0E27 \u0E40\u0E23\u0E32\u0E02\u0E2D\u0E41\u0E19\u0E30\u0E19\u0E33\u0E43\u0E2B\u0E49\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07[\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX](%1)", + CloseDialog: "\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/MathML.js b/src/py/kaleido/vendor/mathjax/localization/th/MathML.js new file mode 100644 index 00000000..85ae2a74 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/th/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/th/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14: %1", + BadMglyphFont: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14: %1", + MathPlayer: "MathJax \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 MathPlayer \u0E44\u0E14\u0E49\n\n\u0E16\u0E49\u0E32\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07 MathPlayer \u0E02\u0E2D\u0E43\u0E2B\u0E49\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E01\u0E48\u0E2D\u0E19\n\u0E21\u0E34\u0E09\u0E30\u0E19\u0E31\u0E49\u0E19\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E04\u0E27\u0E32\u0E21\u0E1B\u0E25\u0E2D\u0E14\u0E20\u0E31\u0E22\u0E08\u0E30\u0E01\u0E35\u0E14\u0E01\u0E31\u0E19\u0E21\u0E34\u0E43\u0E2B\u0E49\u0E15\u0E31\u0E27\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21 ActiveX\n\u0E17\u0E33\u0E07\u0E32\u0E19\u0E44\u0E14\u0E49 \u0E40\u0E02\u0E49\u0E32\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E40\u0E21\u0E19\u0E39 Tools \u0E41\u0E25\u0E49\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01 Internet Options \u0E08\u0E32\u0E01\u0E19\u0E31\u0E49\u0E19\u0E40\u0E25\u0E37\u0E2D\u0E01\n\u0E41\u0E17\u0E47\u0E1A Security \u0E41\u0E25\u0E49\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01 Custom Level \u0E01\u0E48\u0E2D\u0E19\u0E08\u0E30\u0E17\u0E33\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E16\u0E39\u0E01\u0E17\u0E35\u0E48\n'Run ActiveX Controls' \u0E41\u0E25\u0E30 'Binary and script behaviors'\n\n\u0E13 \u0E02\u0E13\u0E30\u0E19\u0E35\u0E49\u0E17\u0E48\u0E32\u0E19\u0E08\u0E30\u0E40\u0E2B\u0E47\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E40\u0E1B\u0E47\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C", + CantCreateXMLParser: "MathJax \u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E15\u0E31\u0E27\u0E41\u0E1A\u0E48\u0E07\u0E41\u0E25\u0E30\u0E2D\u0E48\u0E32\u0E19 XML \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E43\u0E0A\u0E49\u0E43\u0E19 MathML \u0E42\u0E1B\u0E23\u0E14\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E27\u0E48\u0E32\n\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E04\u0E27\u0E32\u0E21\u0E1B\u0E25\u0E2D\u0E14\u0E20\u0E31\u0E22 'Script ActiveX controls marked safe for scripting'\n\u0E16\u0E39\u0E01\u0E40\u0E1B\u0E34\u0E14\u0E2D\u0E22\u0E39\u0E48 (\u0E40\u0E02\u0E49\u0E32\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E40\u0E21\u0E19\u0E39 Tools \u0E40\u0E25\u0E37\u0E2D\u0E01 Internet Options \u0E08\u0E32\u0E01\u0E19\u0E31\u0E49\u0E19\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E41\u0E17\u0E47\u0E1A Security \n\u0E41\u0E25\u0E49\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01 Custom Level \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E44\u0E1B).\n\n\u0E2A\u0E21\u0E01\u0E32\u0E23 MathML \u0E08\u0E30\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E16\u0E39\u0E01\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E44\u0E14\u0E49\u0E42\u0E14\u0E22 MathJax", + UnknownNodeType: "\u0E0A\u0E19\u0E34\u0E14\u0E42\u0E2B\u0E19\u0E14\u0E44\u0E21\u0E48\u0E17\u0E23\u0E32\u0E1A: %1", + UnexpectedTextNode: "\u0E42\u0E2B\u0E19\u0E14\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: %1", + ErrorParsingMathML: "\u0E01\u0E32\u0E23\u0E41\u0E1A\u0E48\u0E07\u0E15\u0E2D\u0E19\u0E41\u0E25\u0E30\u0E2D\u0E48\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 (parsing) MathML \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + ParsingError: "\u0E01\u0E32\u0E23\u0E41\u0E1A\u0E48\u0E07\u0E15\u0E2D\u0E19\u0E41\u0E25\u0E30\u0E2D\u0E48\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 MathML: %1 \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + MathMLSingleElement: "MathML \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E20\u0E32\u0E22\u0E43\u0E15\u0E49 \u003Cmath\u003E \u0E40\u0E1E\u0E35\u0E22\u0E07\u0E2D\u0E31\u0E19\u0E40\u0E14\u0E35\u0E22\u0E27\u0E08\u0E30\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49", + MathMLRootElement: "MathML \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E20\u0E32\u0E22\u0E43\u0E15\u0E49 \u003Cmath\u003E \u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/th/MathMenu.js new file mode 100644 index 00000000..af739943 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/th/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/th/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E43\u0E19\u0E23\u0E39\u0E1B", + MathMLcode: "\u0E23\u0E2B\u0E31\u0E2A MathML", + OriginalMathML: "MathML \u0E14\u0E31\u0E49\u0E07\u0E40\u0E14\u0E34\u0E21", + TeXCommands: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 TeX", + AsciiMathInput: "\u0E2D\u0E34\u0E19\u0E1E\u0E38\u0E15 AsciiMathML", + Original: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E40\u0E14\u0E34\u0E21", + ErrorMessage: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + Annotation: "\u0E04\u0E33\u0E2D\u0E18\u0E34\u0E1A\u0E32\u0E22\u0E01\u0E33\u0E01\u0E31\u0E1A", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "\u0E40\u0E19\u0E37\u0E49\u0E2D\u0E2B\u0E32 MathML", + OpenMath: "OpenMath", + texHints: "\u0E41\u0E2A\u0E14\u0E07\u0E04\u0E33\u0E41\u0E19\u0E30\u0E19\u0E33 TeX \u0E43\u0E19 MathML", + Settings: "\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C", + ZoomTrigger: "\u0E01\u0E32\u0E23\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22", + Hover: "\u0E25\u0E32\u0E01\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E04\u0E49\u0E32\u0E07", + Click: "\u0E04\u0E25\u0E34\u0E01", + DoubleClick: "\u0E04\u0E25\u0E34\u0E01\u0E2A\u0E2D\u0E07\u0E04\u0E23\u0E31\u0E49\u0E07", + NoZoom: "\u0E02\u0E19\u0E32\u0E14\u0E40\u0E14\u0E34\u0E21", + TriggerRequires: "\u0E01\u0E32\u0E23\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35:", + Option: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22", + Renderer: "\u0E15\u0E31\u0E27\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C", + MPHandles: "\u0E43\u0E2B\u0E49 MathPlayer \u0E08\u0E31\u0E14\u0E01\u0E32\u0E23\u0E2A\u0E34\u0E48\u0E07\u0E15\u0E48\u0E2D\u0E44\u0E1B\u0E19\u0E35\u0E49:", + MenuEvents: "\u0E40\u0E2B\u0E15\u0E38\u0E01\u0E32\u0E23\u0E13\u0E4C\u0E40\u0E21\u0E19\u0E39", + MouseEvents: "\u0E40\u0E2B\u0E15\u0E38\u0E01\u0E32\u0E23\u0E13\u0E4C\u0E40\u0E21\u0E32\u0E2A\u0E4C", + MenuAndMouse: "\u0E40\u0E2B\u0E15\u0E38\u0E01\u0E32\u0E23\u0E13\u0E4C\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E41\u0E25\u0E30\u0E40\u0E21\u0E19\u0E39", + FontPrefs: "\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23", + ForHTMLCSS: "\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A HTML-CSS:", + Auto: "\u0E2D\u0E31\u0E15\u0E42\u0E19\u0E21\u0E31\u0E15\u0E34", + TeXLocal: "TeX (\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A)", + TeXWeb: "TeX (\u0E40\u0E27\u0E47\u0E1A)", + TeXImage: "TeX (\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E)", + STIXLocal: "STIX (\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A)", + STIXWeb: "STIX (\u0E40\u0E27\u0E47\u0E1A)", + AsanaMathWeb: "Asana Math (\u0E40\u0E27\u0E47\u0E1A)", + GyrePagellaWeb: "Gyre Pagella (\u0E40\u0E27\u0E47\u0E1A)", + GyreTermesWeb: "Gyre Termes (\u0E40\u0E27\u0E47\u0E1A)", + LatinModernWeb: "Latin Modern (\u0E40\u0E27\u0E47\u0E1A)", + NeoEulerWeb: "Neo Euler (\u0E40\u0E27\u0E47\u0E1A)", + ContextMenu: "\u0E40\u0E21\u0E19\u0E39\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E04\u0E25\u0E34\u0E01\u0E02\u0E27\u0E32", + Browser: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C", + Scale: "\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14 ...", + Discoverable: "\u0E40\u0E19\u0E49\u0E19\u0E2A\u0E35\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E0A\u0E35\u0E49\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E04\u0E49\u0E32\u0E07\u0E44\u0E27\u0E49", + Locale: "\u0E20\u0E32\u0E29\u0E32", + LoadLocale: "\u0E42\u0E2B\u0E25\u0E14\u0E08\u0E32\u0E01\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 URL ...", + About: "\u0E40\u0E01\u0E35\u0E48\u0E22\u0E27\u0E01\u0E31\u0E1A MathJax", + Help: "\u0E04\u0E27\u0E32\u0E21\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D\u0E41\u0E25\u0E30\u0E27\u0E34\u0E18\u0E35\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 MathJax", + localTeXfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 TeX \u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A", + webTeXfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 TeX \u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A", + imagefonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E23\u0E39\u0E1B\u0E20\u0E32\u0E1E", + localSTIXfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 STIX \u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A", + webSVGfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 SVG \u0E1A\u0E19\u0E40\u0E27\u0E47\u0E1A", + genericfonts: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E22\u0E39\u0E19\u0E34\u0E42\u0E04\u0E49\u0E14\u0E17\u0E31\u0E48\u0E27\u0E44\u0E1B", + wofforotffonts: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 WOFF \u0E2B\u0E23\u0E37\u0E2D OTF", + eotffonts: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 EOT", + svgfonts: "\u0E41\u0E1A\u0E1A\u0E2D\u0E31\u0E01\u0E29\u0E23 SVG", + WebkitNativeMMLWarning: "\u0E14\u0E39\u0E40\u0E2B\u0E21\u0E37\u0E2D\u0E19\u0E27\u0E48\u0E32\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A MathML \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19 \u0E01\u0E32\u0E23\u0E1B\u0E23\u0E31\u0E1A\u0E44\u0E1B\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25 MathML \u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E43\u0E19\u0E2B\u0E19\u0E49\u0E32\u0E19\u0E35\u0E49\u0E2D\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E2D\u0E2D\u0E01", + MSIENativeMMLWarning: "Internet Explorer \u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49\u0E1B\u0E25\u0E31\u0E4A\u0E01\u0E2D\u0E34\u0E19 MathPlayer \u0E43\u0E19\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E01\u0E32\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25 MathML", + OperaNativeMMLWarning: "\u0E01\u0E32\u0E23\u0E2A\u0E19\u0E31\u0E1A\u0E2A\u0E19\u0E38\u0E19 MathML \u0E43\u0E19 Opera's \u0E21\u0E35\u0E08\u0E33\u0E01\u0E31\u0E14 \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E31\u0E1A\u0E44\u0E1B\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25 MathML \u0E2D\u0E32\u0E08\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E1A\u0E32\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E44\u0E21\u0E48\u0E04\u0E21\u0E0A\u0E31\u0E14", + SafariNativeMMLWarning: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E14\u0E49\u0E27\u0E22 MathML \u0E41\u0E15\u0E48\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E17\u0E35\u0E48 MathJax \u0E43\u0E0A\u0E49\u0E44\u0E14\u0E49 \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E1A\u0E32\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E2D\u0E32\u0E08\u0E44\u0E21\u0E48\u0E04\u0E21\u0E0A\u0E31\u0E14", + FirefoxNativeMMLWarning: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E14\u0E49\u0E27\u0E22 MathML \u0E41\u0E15\u0E48\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14\u0E17\u0E35\u0E48 MathJax \u0E43\u0E0A\u0E49\u0E44\u0E14\u0E49 \u0E14\u0E31\u0E07\u0E19\u0E31\u0E49\u0E19\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E1A\u0E32\u0E07\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E2D\u0E32\u0E08\u0E44\u0E21\u0E48\u0E04\u0E21\u0E0A\u0E31\u0E14", + MSIESVGWarning: "SVG \u0E44\u0E21\u0E48\u0E21\u0E35\u0E43\u0E19 Internet Explorer \u0E23\u0E38\u0E48\u0E19\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32 IE9 \u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E42\u0E2B\u0E21\u0E14\u0E04\u0E27\u0E32\u0E21\u0E40\u0E02\u0E49\u0E32\u0E01\u0E31\u0E19\u0E44\u0E14\u0E49\u0E01\u0E31\u0E1A IE8 \u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E38\u0E48\u0E19\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32 \u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E44\u0E1B\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E40\u0E1B\u0E47\u0E19 SVG \u0E08\u0E30\u0E17\u0E33\u0E43\u0E2B\u0E49\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E41\u0E2A\u0E14\u0E07\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19", + LoadURL: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E08\u0E32\u0E01\u0E25\u0E34\u0E07\u0E01\u0E4C\u0E15\u0E48\u0E2D\u0E44\u0E1B\u0E19\u0E35\u0E49:", + BadURL: "\u0E25\u0E34\u0E07\u0E01\u0E4C\u0E04\u0E27\u0E23\u0E08\u0E30\u0E40\u0E1B\u0E47\u0E19\u0E41\u0E1F\u0E49\u0E21\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E08\u0E32\u0E27\u0E32\u0E2A\u0E04\u0E23\u0E34\u0E1B\u0E15\u0E4C\u0E0B\u0E36\u0E48\u0E07\u0E23\u0E30\u0E1A\u0E38\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25 MathJax \u0E17\u0E31\u0E49\u0E07\u0E19\u0E35\u0E49\u0E41\u0E1F\u0E49\u0E21\u0E08\u0E32\u0E27\u0E32\u0E2A\u0E04\u0E23\u0E34\u0E1B\u0E15\u0E4C\u0E04\u0E27\u0E23\u0E08\u0E30\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 '.js'", + BadData: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E01\u0E32\u0E23\u0E41\u0E1B\u0E25\u0E08\u0E32\u0E01 %1", + SwitchAnyway: "\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E15\u0E31\u0E27\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E20\u0E32\u0E1E/\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E40\u0E14\u0E35\u0E4B\u0E22\u0E27\u0E19\u0E35\u0E49\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\n\n(\u0E01\u0E14 \u0E15\u0E01\u0E25\u0E07 \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19 \u0E2B\u0E23\u0E37\u0E2D\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01 \u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E43\u0E0A\u0E49\u0E15\u0E31\u0E27\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25\u0E15\u0E31\u0E27\u0E40\u0E14\u0E34\u0E21)", + ScaleMath: "\u0E1B\u0E23\u0E31\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14 (\u0E40\u0E17\u0E35\u0E22\u0E1A\u0E01\u0E31\u0E1A\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E02\u0E49\u0E32\u0E07\u0E40\u0E04\u0E35\u0E22\u0E07) \u0E42\u0E14\u0E22\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19", + NonZeroScale: "\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19\u0E44\u0E21\u0E48\u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E28\u0E39\u0E19\u0E22\u0E4C", + PercentScale: "\u0E2A\u0E31\u0E14\u0E2A\u0E48\u0E27\u0E19\u0E04\u0E27\u0E23\u0E41\u0E2A\u0E14\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E49\u0E2D\u0E22\u0E25\u0E30 (\u0E40\u0E0A\u0E48\u0E19 120%%)", + IE8warning: "\u0E01\u0E32\u0E23\u0E01\u0E23\u0E30\u0E17\u0E33\u0E19\u0E35\u0E49\u0E08\u0E30\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E40\u0E21\u0E19\u0E39 MathJax \u0E23\u0E27\u0E21\u0E16\u0E36\u0E07\u0E01\u0E32\u0E23\u0E02\u0E22\u0E32\u0E22\u0E2A\u0E21\u0E01\u0E32\u0E23 \u0E41\u0E15\u0E48\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E01\u0E14\u0E1B\u0E38\u0E48\u0E21 Alt \u0E41\u0E25\u0E49\u0E27\u0E04\u0E25\u0E34\u0E01\u0E17\u0E35\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E21\u0E19\u0E39\u0E44\u0E14\u0E49\n\n\u0E17\u0E48\u0E32\u0E19\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E01\u0E32\u0E23\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 MathPlayer \u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?", + IE9warning: "\u0E40\u0E21\u0E19\u0E39\u0E01\u0E33\u0E01\u0E31\u0E1A\u0E2A\u0E21\u0E01\u0E32\u0E23 MathJax \u0E08\u0E30\u0E16\u0E39\u0E01\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19 \u0E41\u0E15\u0E48\u0E17\u0E48\u0E32\u0E19\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E01\u0E14\u0E1B\u0E38\u0E48\u0E21 Alt \u0E41\u0E25\u0E49\u0E27\u0E04\u0E25\u0E34\u0E01\u0E17\u0E35\u0E48\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E21\u0E19\u0E39\u0E41\u0E17\u0E19\u0E44\u0E14\u0E49", + NoOriginalForm: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E14\u0E31\u0E49\u0E07\u0E40\u0E14\u0E34\u0E21", + Close: "\u0E1B\u0E34\u0E14", + EqSource: "\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E15\u0E49\u0E19\u0E09\u0E1A\u0E31\u0E1A MathJax", + CloseAboutDialog: "\u0E1B\u0E34\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E40\u0E01\u0E35\u0E48\u0E22\u0E27\u0E01\u0E31\u0E1A MathJax", + FastPreview: "\u0E41\u0E2A\u0E14\u0E07\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E40\u0E23\u0E48\u0E07\u0E14\u0E48\u0E27\u0E19", + AssistiveMML: "MathML \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E2B\u0E25\u0E37\u0E2D", + InTabOrder: "\u0E23\u0E27\u0E21\u0E44\u0E27\u0E49\u0E43\u0E19\u0E25\u0E33\u0E14\u0E31\u0E1A\u0E41\u0E17\u0E47\u0E1A" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/TeX.js b/src/py/kaleido/vendor/mathjax/localization/th/TeX.js new file mode 100644 index 00000000..28e9c04a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/th/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/th/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0E21\u0E35\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14\u0E40\u0E01\u0E34\u0E19\u0E21\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14", + ExtraCloseMissingOpen: "\u0E21\u0E35\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14\u0E40\u0E01\u0E34\u0E19\u0E21\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14", + MissingLeftExtraRight: "\u0E02\u0E32\u0E14 \\left \u0E2B\u0E23\u0E37\u0E2D\u0E21\u0E35 \\right \u0E40\u0E01\u0E34\u0E19\u0E21\u0E32", + MissingScript: "\u0E15\u0E31\u0E27\u0E22\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E15\u0E31\u0E27\u0E2B\u0E49\u0E2D\u0E22\u0E27\u0E48\u0E32\u0E07\u0E40\u0E1B\u0E25\u0E48\u0E32", + ExtraLeftMissingRight: "\u0E21\u0E35 \\left \u0E40\u0E01\u0E34\u0E19\u0E21\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14 \\right", + Misplaced: "\u0E27\u0E32\u0E07 %1 \u0E1C\u0E34\u0E14\u0E15\u0E33\u0E41\u0E2B\u0E19\u0E48\u0E07", + MissingOpenForSub: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E2B\u0E49\u0E2D\u0E22", + MissingOpenForSup: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E40\u0E1B\u0E34\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E22\u0E01", + AmbiguousUseOf: "\u0E1E\u0E1A\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19", + EnvBadEnd: "\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 \\begin{%1} \u0E41\u0E15\u0E48\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 \\end{%2}", + EnvMissingEnd: "\u0E25\u0E37\u0E21\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 \\end{%1}", + MissingBoxFor: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %1", + MissingCloseBrace: "\u0E02\u0E32\u0E14\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14", + UndefinedControlSequence: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E44\u0E21\u0E48\u0E17\u0E23\u0E32\u0E1A\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E21\u0E32\u0E22\u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E30\u0E1A\u0E38\u0E44\u0E21\u0E48\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19 %1", + DoubleExponent: "\u0E15\u0E31\u0E27\u0E22\u0E01\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19 \u0E42\u0E1B\u0E23\u0E14\u0E43\u0E0A\u0E49\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E49\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19", + DoubleSubscripts: "\u0E15\u0E31\u0E27\u0E2B\u0E49\u0E2D\u0E22\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19 \u0E42\u0E1B\u0E23\u0E14\u0E43\u0E0A\u0E49\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E49\u0E0A\u0E31\u0E14\u0E40\u0E08\u0E19", + DoubleExponentPrime: "\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E44\u0E1E\u0E23\u0E21\u0E4C (Prime) \u0E27\u0E32\u0E07\u0E44\u0E27\u0E49\u0E43\u0E19\u0E25\u0E31\u0E01\u0E29\u0E13\u0E30\u0E15\u0E31\u0E27\u0E22\u0E01\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19 \u0E42\u0E1B\u0E23\u0E14\u0E43\u0E0A\u0E49\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E01\u0E25\u0E38\u0E48\u0E21\u0E43\u0E2B\u0E49\u0E08\u0E31\u0E14\u0E40\u0E08\u0E19", + CantUseHash1: "\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E43\u0E0A\u0E49 '\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E1E\u0E32\u0E23\u0E32\u0E21\u0E34\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E21\u0E32\u0E42\u0E04\u0E23 #' \u0E43\u0E19\u0E42\u0E2B\u0E21\u0E14\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E44\u0E14\u0E49", + MisplacedMiddle: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04 %1 \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07 \\left \u0E41\u0E25\u0E30 \\right", + MisplacedLimits: "\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49 %1 \u0E01\u0E31\u0E1A\u0E15\u0E31\u0E27\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19", + MisplacedMoveRoot: "\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04 %1 \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E2D\u0E22\u0E39\u0E48\u0E44\u0E14\u0E49\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E20\u0E32\u0E22\u0E43\u0E19\u0E23\u0E32\u0E01\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19", + MultipleCommand: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19", + IntegerArg: "\u0E2D\u0E32\u0E23\u0E4C\u0E01\u0E34\u0E27\u0E40\u0E21\u0E19\u0E15\u0E4C\u0E02\u0E2D\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21", + NotMathMLToken: "%1 \u0E44\u0E21\u0E48\u0E16\u0E37\u0E2D\u0E40\u0E1B\u0E47\u0E19 token element", + InvalidMathMLAttr: "\u0E41\u0E2D\u0E15\u0E17\u0E23\u0E34\u0E1A\u0E34\u0E27\u0E15\u0E4C MathML \u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14: %1", + UnknownAttrForElement: "%1 \u0E44\u0E21\u0E48\u0E16\u0E37\u0E2D\u0E40\u0E1B\u0E47\u0E19\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E2D\u0E15\u0E17\u0E23\u0E34\u0E1A\u0E34\u0E27\u0E15\u0E4C\u0E17\u0E35\u0E48\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A %2 \u0E44\u0E14\u0E49", + MaxMacroSub1: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E01\u0E32\u0E23\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E21\u0E32\u0E42\u0E04\u0E23\u0E02\u0E2D\u0E07 MathJax \u0E40\u0E25\u0E22\u0E04\u0E48\u0E32\u0E2A\u0E39\u0E07\u0E2A\u0E38\u0E14 \u0E2D\u0E32\u0E08\u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E01\u0E43\u0E0A\u0E49\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E41\u0E1A\u0E1A\u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E1A?", + MaxMacroSub2: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E01\u0E32\u0E23\u0E41\u0E17\u0E19\u0E04\u0E48\u0E32 MathJax \u0E40\u0E25\u0E22\u0E04\u0E48\u0E32\u0E2A\u0E39\u0E07\u0E2A\u0E38\u0E14 \u0E2D\u0E32\u0E08\u0E08\u0E30\u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E01\u0E43\u0E0A\u0E49\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E41\u0E1A\u0E1A\u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E1A?", + MissingArgFor: "\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E21\u0E35\u0E2D\u0E07\u0E04\u0E4C\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E08\u0E33\u0E40\u0E1B\u0E47\u0E19\u0E44\u0E21\u0E48\u0E04\u0E23\u0E1A\u0E16\u0E49\u0E27\u0E19", + ExtraAlignTab: "\u0E21\u0E35\u0E41\u0E17\u0E47\u0E1A\u0E08\u0E31\u0E14\u0E27\u0E32\u0E07\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21 \\cases", + BracketMustBeDimension: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E43\u0E19\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E02\u0E19\u0E32\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E21\u0E34\u0E15\u0E34", + InvalidEnv: "\u0E0A\u0E37\u0E48\u0E2D\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 '%1'\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", + UnknownEnv: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 (environment) \u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E17\u0E23\u0E32\u0E1A\u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E1B\u0E25\u0E04\u0E27\u0E32\u0E21\u0E2B\u0E21\u0E32\u0E22\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49 '%1'", + ExtraCloseLooking: "\u0E21\u0E35\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14\u0E40\u0E01\u0E34\u0E19\u0E02\u0E13\u0E30\u0E17\u0E35\u0E48\u0E15\u0E23\u0E27\u0E08\u0E2B\u0E32 %1", + MissingCloseBracket: "\u0E44\u0E21\u0E48\u0E1E\u0E1A ']' \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", + MissingOrUnrecognizedDelim: "\u0E15\u0E31\u0E27\u0E04\u0E31\u0E48\u0E19\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A %1 \u0E2B\u0E32\u0E22\u0E44\u0E1B \u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01", + MissingDimOrUnits: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E02\u0E19\u0E32\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E19\u0E48\u0E27\u0E22\u0E17\u0E35\u0E48\u0E43\u0E2B\u0E49\u0E01\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", + TokenNotFoundForCommand: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E04\u0E49\u0E19\u0E2B\u0E32 %1 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %2", + MathNotTerminated: "\u0E2A\u0E21\u0E01\u0E32\u0E23\u0E43\u0E19\u0E01\u0E25\u0E48\u0E2D\u0E07\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E1B\u0E34\u0E14\u0E44\u0E21\u0E48\u0E40\u0E23\u0E35\u0E22\u0E1A\u0E23\u0E49\u0E2D\u0E22", + IllegalMacroParam: "\u0E01\u0E32\u0E23\u0E2D\u0E49\u0E32\u0E07\u0E16\u0E36\u0E07\u0E1E\u0E32\u0E23\u0E32\u0E21\u0E34\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E21\u0E32\u0E42\u0E04\u0E23\u0E1C\u0E34\u0E14\u0E2B\u0E25\u0E31\u0E01\u0E40\u0E01\u0E13\u0E11\u0E4C", + MaxBufferSize: "\u0E1A\u0E31\u0E1F\u0E40\u0E1F\u0E2D\u0E23\u0E4C\u0E20\u0E32\u0E22\u0E43\u0E19\u0E02\u0E2D\u0E07 MathJax \u0E25\u0E49\u0E19\u0E40\u0E01\u0E34\u0E19\u0E02\u0E19\u0E32\u0E14 \u0E21\u0E35\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E01\u0E21\u0E32\u0E42\u0E04\u0E23\u0E41\u0E1A\u0E1A\u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48?", + CommandNotAllowedInEnv: "\u0E44\u0E21\u0E48\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E43\u0E0A\u0E49\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E20\u0E32\u0E22\u0E43\u0E19\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %2", + MultipleLabel: "\u0E1B\u0E49\u0E32\u0E22\u0E23\u0E30\u0E1A\u0E38 '%1' \u0E21\u0E35\u0E0B\u0E49\u0E33\u0E0B\u0E49\u0E2D\u0E19\u0E01\u0E31\u0E19", + CommandAtTheBeginingOfLine: "%1 \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E15\u0E49\u0E19\u0E1A\u0E23\u0E23\u0E17\u0E31\u0E14", + IllegalAlign: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E01\u0E32\u0E23\u0E08\u0E31\u0E14\u0E27\u0E32\u0E07\u0E43\u0E19 %1 \u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", + BadMathStyleFor: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %1 \u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", + PositiveIntegerArg: "\u0E2D\u0E32\u0E23\u0E4C\u0E01\u0E34\u0E27\u0E40\u0E21\u0E19\u0E15\u0E4C\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21\u0E1A\u0E27\u0E01", + ErroneousNestingEq: "\u0E01\u0E32\u0E23\u0E08\u0E31\u0E14\u0E40\u0E23\u0E35\u0E22\u0E07\u0E42\u0E04\u0E23\u0E07\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E0B\u0E49\u0E2D\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E21\u0E35\u0E04\u0E27\u0E32\u0E21\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + MultlineRowsOneCol: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E41\u0E16\u0E27\u0E43\u0E19\u0E01\u0E25\u0E38\u0E48\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35\u0E08\u0E33\u0E19\u0E27\u0E19\u0E04\u0E2D\u0E25\u0E31\u0E21\u0E19\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E25\u0E31\u0E01\u0E40\u0E1E\u0E35\u0E22\u0E07\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19", + MultipleBBoxProperty: "\u0E23\u0E30\u0E1A\u0E38 %1 \u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19\u0E43\u0E19 %2", + InvalidBBoxProperty: "\u0E14\u0E39\u0E40\u0E2B\u0E21\u0E37\u0E2D\u0E19\u0E27\u0E48\u0E32 '%1' \u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48\u0E2A\u0E35 \u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E01\u0E32\u0E23\u0E40\u0E15\u0E34\u0E21 \u0E2B\u0E23\u0E37\u0E2D\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A", + ExtraEndMissingBegin: "\u0E21\u0E35 %1 \u0E40\u0E01\u0E34\u0E19 \u0E2B\u0E23\u0E37\u0E2D\u0E02\u0E32\u0E14 \\begingroup", + GlobalNotFollowedBy: "%1 \u0E44\u0E21\u0E48\u0E15\u0E32\u0E21\u0E14\u0E49\u0E27\u0E22 \\let, \\def, \u0E2B\u0E23\u0E37\u0E2D \\newcommand", + UndefinedColorModel: "\u0E41\u0E1A\u0E1A\u0E08\u0E33\u0E25\u0E2D\u0E07\u0E2A\u0E35 '%1' \u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E44\u0E14\u0E49\u0E19\u0E34\u0E22\u0E32\u0E21", + ModelArg1: "\u0E04\u0E48\u0E32\u0E2A\u0E35\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E1A\u0E1A\u0E08\u0E33\u0E25\u0E2D\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02 3 \u0E15\u0E31\u0E27", + InvalidDecimalNumber: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E17\u0E28\u0E19\u0E34\u0E22\u0E21\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", + ModelArg2: "\u0E04\u0E48\u0E32\u0E2A\u0E35\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E41\u0E1A\u0E1A\u0E08\u0E33\u0E25\u0E2D\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E2D\u0E22\u0E39\u0E48\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07 %2 \u0E41\u0E25\u0E30 %3", + InvalidNumber: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07", + NewextarrowArg1: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E41\u0E23\u0E01\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E0A\u0E37\u0E48\u0E2D\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21", + NewextarrowArg2: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E2A\u0E2D\u0E07\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E40\u0E15\u0E47\u0E21\u0E2A\u0E2D\u0E07\u0E15\u0E31\u0E27\u0E04\u0E31\u0E48\u0E19\u0E14\u0E49\u0E27\u0E22\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E2B\u0E21\u0E32\u0E22\u0E08\u0E38\u0E25\u0E20\u0E32\u0E04", + NewextarrowArg3: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E2A\u0E32\u0E21\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E23\u0E2B\u0E31\u0E2A\u0E2D\u0E31\u0E01\u0E29\u0E23\u0E43\u0E19\u0E23\u0E30\u0E1A\u0E1A\u0E22\u0E39\u0E19\u0E34\u0E42\u0E04\u0E49\u0E14", + NoClosingChar: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E27\u0E07\u0E40\u0E25\u0E47\u0E1A\u0E1B\u0E34\u0E14 %1", + IllegalControlSequenceName: "\u0E0A\u0E37\u0E48\u0E2D\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E1C\u0E34\u0E14\u0E01\u0E0E\u0E40\u0E01\u0E13\u0E11\u0E4C", + IllegalParamNumber: "\u0E08\u0E33\u0E19\u0E27\u0E19\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E23\u0E30\u0E1A\u0E38\u0E43\u0E19 %1 \u0E1C\u0E34\u0E14\u0E01\u0E0E\u0E40\u0E01\u0E13\u0E11\u0E4C (\u0E02\u0E32\u0E14\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E01\u0E34\u0E19)", + MissingCS: "%1 \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E32\u0E21\u0E14\u0E49\u0E27\u0E22\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E04\u0E27\u0E1A\u0E04\u0E38\u0E21", + CantUseHash2: "\u0E1E\u0E1A\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49 # \u0E0B\u0E36\u0E48\u0E07\u0E1C\u0E34\u0E14\u0E2B\u0E25\u0E31\u0E01\u0E40\u0E01\u0E13\u0E11\u0E4C\u0E43\u0E19\u0E41\u0E21\u0E48\u0E41\u0E1A\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", + SequentialParam: "\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E23\u0E35\u0E22\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E25\u0E33\u0E14\u0E31\u0E1A", + MissingReplacementString: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E15\u0E31\u0E27\u0E41\u0E17\u0E19\u0E2A\u0E32\u0E22\u0E2D\u0E31\u0E01\u0E02\u0E23\u0E30\u0E43\u0E19\u0E19\u0E34\u0E22\u0E32\u0E21\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1", + MismatchUseDef: "\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1 \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E19\u0E34\u0E22\u0E32\u0E21\u0E40\u0E14\u0E34\u0E21\u0E02\u0E2D\u0E07\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07", + RunawayArgument: "\u0E21\u0E35\u0E2A\u0E48\u0E27\u0E19\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A\u0E17\u0E35\u0E48\u0E25\u0E30\u0E40\u0E27\u0E49\u0E19\u0E44\u0E27\u0E49\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07 %1?", + NoClosingDelim: "\u0E44\u0E21\u0E48\u0E1E\u0E1A closing delimiter \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/th/th.js b/src/py/kaleido/vendor/mathjax/localization/th/th.js new file mode 100644 index 00000000..60772ff5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/th/th.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/th/th.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("th",null,{ + menuTitle: "\u0E44\u0E17\u0E22", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u0E01\u0E32\u0E23\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + MathError: "\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14", + LoadFile: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14 %1", + Loading: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14", + LoadFailed: "\u0E44\u0E21\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1F\u0E49\u0E21\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25: %1", + ProcessMath: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C: %1%%", + Processing: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1B\u0E23\u0E30\u0E21\u0E27\u0E25\u0E1C\u0E25", + TypesetMath: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E40\u0E23\u0E35\u0E22\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E04\u0E04\u0E13\u0E34\u0E15\u0E28\u0E32\u0E2A\u0E15\u0E23\u0E4C: %1%%", + Typesetting: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E40\u0E23\u0E35\u0E22\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C", + MathJaxNotSupported: "\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C\u0E02\u0E2D\u0E07\u0E17\u0E48\u0E32\u0E19\u0E44\u0E21\u0E48\u0E2A\u0E19\u0E31\u0E1A\u0E2A\u0E19\u0E38\u0E19 MathJax", + ErrorTips: "\u0E02\u0E49\u0E2D\u0E41\u0E19\u0E30\u0E19\u0E33\u0E01\u0E32\u0E23\u0E41\u0E01\u0E49\u0E44\u0E02: \u0E43\u0E0A\u0E49 %%1 \u0E41\u0E25\u0E30\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A %%2 \u0E43\u0E19\u0E04\u0E2D\u0E19\u0E42\u0E0B\u0E25\u0E02\u0E2D\u0E07\u0E40\u0E1A\u0E23\u0E32\u0E27\u0E4C\u0E40\u0E0B\u0E2D\u0E23\u0E4C" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/th/th.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/tr/FontWarnings.js new file mode 100644 index 00000000..2f80b503 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/tr/FontWarnings.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/tr/HTML-CSS.js new file mode 100644 index 00000000..5d9b1afa --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/tr/HTML-CSS.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/tr/HelpDialog.js new file mode 100644 index 00000000..6a1a75fa --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/tr/HelpDialog.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/MathML.js b/src/py/kaleido/vendor/mathjax/localization/tr/MathML.js new file mode 100644 index 00000000..ee214517 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/tr/MathML.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/tr/MathMenu.js new file mode 100644 index 00000000..dd52d116 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/tr/MathMenu.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/TeX.js b/src/py/kaleido/vendor/mathjax/localization/tr/TeX.js new file mode 100644 index 00000000..b1197836 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/tr/TeX.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/localization/tr/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/tr/tr.js b/src/py/kaleido/vendor/mathjax/localization/tr/tr.js new file mode 100644 index 00000000..ff5c4ba1 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/tr/tr.js @@ -0,0 +1,53 @@ +/************************************************************* + * + * MathJax/localization/tr/tr.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("tr",null,{ + menuTitle: "T\u00FCrk\u00E7e", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "Matematik i\u015Fleme hatas\u0131", + MathError: "Matematik hatas\u0131", + LoadFile: "%1 Y\u00FCkleniyor", + Loading: "Y\u00FCkleniyor", + LoadFailed: "Dosya y\u00FCklenemedi: %1", + ProcessMath: "Matematik i\u015Fleme: %%%1", + MathJaxNotSupported: "Taray\u0131c\u0131n\u0131z MathJax'i desteklemiyor" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/tr/tr.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/uk/FontWarnings.js new file mode 100644 index 00000000..19416c55 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/uk/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/uk/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454 \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438 \u0434\u043B\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438 \u043D\u0430 \u0446\u0456\u0439 \u0441\u0442\u043E\u0440\u0456\u043D\u0446\u0456. \u041F\u043E\u0442\u0440\u0456\u0431\u0435\u043D \u0447\u0430\u0441, \u0449\u043E\u0431 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438, \u0431\u043E \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430 \u0431 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u043B\u0430\u0441\u044F \u0448\u0432\u0438\u0434\u0448\u0435, \u044F\u043A\u0431\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0456 \u0431\u0435\u0437\u043F\u043E\u0441\u0435\u0440\u0435\u0434\u043D\u044C\u043E \u0432 \u0442\u0435\u0446\u0456 \u0432\u0430\u0448\u043E\u0433\u043E \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u043E\u0433\u043E \u0448\u0440\u0438\u0444\u0442\u0443.", + imageFonts: "MathJax \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454 \u0432\u043B\u0430\u0441\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C, \u0430 \u043D\u0435 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0456 \u0430\u0431\u043E \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438. \u0426\u0435 \u0431\u0443\u0434\u0435 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u0432\u0456\u043B\u044C\u043D\u0456\u0448\u0435, \u043D\u0456\u0436 \u0437\u0432\u0438\u0447\u0430\u0439\u043D\u043E, \u0456 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0441\u0438\u043C\u0432\u043E\u043B\u0438 \u043D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043D\u0430\u0434\u0440\u0443\u043A\u0443\u0432\u0430\u0442\u0438 \u043D\u0430 \u043F\u0440\u0438\u043D\u0442\u0435\u0440\u0456 \u0437 \u0432\u0438\u0441\u043E\u043A\u043E\u044E \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044E.", + noFonts: "MathJax \u043D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \u0448\u0440\u0438\u0444\u0442, \u0449\u043E \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432, \u0448\u0440\u0438\u0444\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456, \u0442\u043E\u043C\u0443 \u043D\u0430\u043C \u0434\u043E\u0432\u0435\u043B\u043E\u0441\u044F \u043F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438\u0441\u044F \u043D\u0430 \u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0456 \u0441\u0438\u043C\u0432\u043E\u043B\u0438 Unicode \u0443 \u043D\u0430\u0434\u0456\u0457, \u0449\u043E \u0432\u0430\u0448 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447 \u0437\u043C\u043E\u0436\u0435 \u0457\u0445 \u0432\u0456\u0440\u043D\u043E \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u0438. \u0414\u0435\u044F\u043A\u0456 \u0441\u0438\u043C\u0432\u043E\u043B\u0438 \u043D\u0435 \u0431\u0443\u0434\u0443\u0442\u044C \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0456 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u0456 \u043F\u043E\u0432\u043D\u0456\u0441\u0442\u044E \u043D\u0435 \u0432 \u0437\u043C\u043E\u0437\u0456 \u0431\u0443\u0434\u0443\u0442\u044C \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u0438\u0441\u044F.", + webFonts: "\u0411\u0456\u043B\u044C\u0448\u0456\u0441\u0442\u044C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456\u0432 \u0432 \u0434\u0430\u043D\u0438\u0439 \u0447\u0430\u0441 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442\u044C \u0448\u0440\u0438\u0444\u0442\u0438, \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0443\u0432\u0430\u043D\u0456 \u0437 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443. \u041E\u043D\u043E\u0432\u0456\u0442\u044C \u0441\u0432\u0456\u0439 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447 \u0434\u043E \u043E\u0441\u0442\u0430\u043D\u043D\u044C\u043E\u0457 \u0432\u0435\u0440\u0441\u0456\u0457 (\u0430\u0431\u043E \u043F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u0432\u0430\u0448 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447) \u0434\u043B\u044F \u0442\u043E\u0433\u043E, \u0449\u043E\u0431 \u043F\u043E\u043B\u0456\u043F\u0448\u0438\u0442\u0438 \u044F\u043A\u0456\u0441\u0442\u044C \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432, \u044F\u043A\u0456 \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u044C\u0441\u044F \u043D\u0430 \u0446\u0456\u0439 \u0441\u0442\u043E\u0440\u0456\u043D\u0446\u0456.", + fonts: "MathJax \u043C\u043E\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0443\u0434\u044C-\u044F\u043A\u0438\u0439 \u0437 [STIX \u0448\u0440\u0438\u0444\u0442\u0456\u0432](%1) \u0430\u0431\u043E [\u0448\u0440\u0438\u0444\u0442\u0456\u0432 MathJax-TeX](%2). \u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0456 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u043E\u0434\u0438\u043D \u0437 \u0446\u0438\u0445 \u0448\u0440\u0438\u0444\u0442\u0456\u0432, \u0430\u0431\u0438 \u043F\u043E\u043B\u0456\u043F\u0448\u0438\u0442\u0438 MathJax \u0440\u043E\u0431\u043E\u0442\u0443.", + STIXPage: "\u0426\u044F \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430 \u0431\u0443\u043B\u0430 \u0440\u043E\u0437\u0440\u043E\u0431\u043B\u0435\u043D\u0430, \u0449\u043E\u0431 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 [STIX \u0448\u0440\u0438\u0444\u0442\u0438](%1). \u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0442\u0430 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u0457\u0445, \u0430\u0431\u0438 \u043F\u043E\u043B\u0456\u043F\u0448\u0438\u0442\u0438 \u0432\u0430\u0448 \u0434\u043E\u0441\u0432\u0456\u0434 MathJax.", + TeXPage: "\u0426\u044F \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430 \u0431\u0443\u043B\u0430 \u0440\u043E\u0437\u0440\u043E\u0431\u043B\u0435\u043D\u0430, \u0449\u043E\u0431 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 [\u0448\u0440\u0438\u0444\u0442\u0438 MathJax TeX](%1). \u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0442\u0430 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u0457\u0445, \u0430\u0431\u0438 \u0437\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438 \u0432\u0430\u0448 \u0434\u043E\u0441\u0432\u0456\u0434 \u0437 MathJax." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/uk/HTML-CSS.js new file mode 100644 index 00000000..572b8a95 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/uk/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/uk/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F \u0432\u0435\u0431 \u0448\u0440\u0438\u0444\u0442\u0456\u0432 %1", + CantLoadWebFont: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0432\u0435\u0431 \u0448\u0440\u0438\u0444\u0442 %1", + FirefoxCantLoadWebFont: "Firefox \u043D\u0435 \u043C\u043E\u0436\u0435 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0432\u0435\u0431 \u0448\u0440\u0438\u0444\u0442\u0438 \u0437 \u0432\u0456\u0434\u0434\u0430\u043B\u0435\u043D\u043E\u0433\u043E \u0445\u043E\u0441\u0442\u0443", + CantFindFontUsing: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0448\u0440\u0438\u0444\u0442 \u0437\u0430 \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u043E\u044E %1", + WebFontsNotAvailable: "\u0412\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456. \u0421\u043B\u0456\u0434 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0448\u0440\u0438\u0444\u0442\u0438 -\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/uk/HelpDialog.js new file mode 100644 index 00000000..5041c2f9 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/uk/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/uk/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u0430", + MathJax: "*MathJax* - \u0446\u0435 \u0431\u0456\u0431\u043B\u0456\u043E\u0442\u0435\u043A\u0430 \u043D\u0430 JavaScript, \u044F\u043A\u0430 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0430\u0432\u0442\u043E\u0440\u0430\u043C \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0438 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u043D\u0430 \u0432\u0441\u0456\u0445 \u0441\u0432\u043E\u0457\u0445 \u0432\u0435\u0431-\u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0430\u0445. \u042F\u043A \u0447\u0438\u0442\u0430\u0447, \u0432\u0430\u043C \u043D\u0435 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u043D\u0456\u0447\u043E\u0433\u043E \u0440\u043E\u0431\u0438\u0442\u0438, \u0449\u043E\u0431 \u0446\u0435 \u0432\u0456\u0434\u0431\u0443\u043B\u043E\u0441\u044F.", + Browsers: "*\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456*: MathJax \u043F\u0440\u0430\u0446\u044E\u0454 \u0437 \u0443\u0441\u0456\u043C\u0430 \u0441\u0443\u0447\u0430\u0441\u043D\u0438\u043C\u0438 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0430\u043C\u0438, \u0432\u043A\u043B\u044E\u0447\u0430\u044E\u0447\u0438 Internet Explorer 6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+ \u0456 \u0431\u0456\u043B\u044C\u0448\u0456\u0441\u0442\u044C \u043C\u043E\u0431\u0456\u043B\u044C\u043D\u0438\u0445 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456\u0432.", + Menu: "*\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0435 \u043C\u0435\u043D\u044E*: MathJax \u0434\u043E\u0434\u0430\u0454 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u0435 \u043C\u0435\u043D\u044E \u0434\u043E \u0440\u0456\u0432\u043D\u044F\u043D\u044C. \u041A\u043B\u0430\u0446\u0430\u043D\u043D\u044F \u043F\u0440\u0430\u0432\u043E\u044E \u043A\u043D\u043E\u043F\u043A\u043E\u044E \u043C\u0438\u0448\u0456 \u0430\u0431\u043E CTRL+\u043A\u043B\u0430\u0446\u0430\u043D\u043D\u044F \u043B\u0456\u0432\u043E\u044E \u043D\u0430 \u0431\u0443\u0434\u044C-\u044F\u043A\u043E\u043C\u0443 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u043E\u043C\u0443 \u0432\u0438\u0440\u0430\u0437\u0456 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u0454 \u0434\u043E\u0441\u0442\u0443\u043F \u0434\u043E \u0446\u044C\u043E\u0433\u043E \u043C\u0435\u043D\u044E.", + ShowMath: "*\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u044F\u043A* \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0430\u043C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u043E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0438\u0439 \u043A\u043E\u0434 \u0444\u043E\u0440\u043C\u0443\u043B\u0438 \u0434\u043B\u044F \u043A\u043E\u043F\u0456\u044E\u0432\u0430\u043D\u043D\u044F \u0442\u0430 \u0432\u0441\u0442\u0430\u0432\u043A\u0438 (\u044F\u043A MathML \u0430\u0431\u043E \u0443 \u0457\u0457 \u0432\u043B\u0430\u0441\u043D\u043E\u043C\u0443 \u0444\u043E\u0440\u043C\u0430\u0442\u0456).", + Settings: "*\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F* \u0434\u0430\u044E\u0442\u044C \u0432\u0430\u043C \u043F\u043E\u0432\u043D\u0438\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u043D\u0430\u0434 \u0444\u0443\u043D\u043A\u0446\u0456\u044F\u043C\u0438 MathJax \u0442\u0430\u043A\u0438\u043C\u0438 \u044F\u043A \u0440\u043E\u0437\u043C\u0456\u0440 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0438\u0445 \u0432\u0438\u0440\u0430\u0437\u0456\u0432 \u0456 \u043C\u0435\u0445\u0430\u043D\u0456\u0437\u043C, \u044F\u043A\u0438\u0439 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0440\u0456\u0432\u043D\u044F\u043D\u044C.", + Language: "*\u041C\u043E\u0432\u0430* \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0430\u043C \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u043C\u043E\u0432\u0443 \u0434\u043B\u044F \u043C\u0435\u043D\u044E \u0442\u0430 \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u044C MathJax.", + Zoom: "*\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438*: \u044F\u043A\u0449\u043E \u0443 \u0432\u0430\u0441 \u0432\u0438\u043D\u0438\u043A\u043B\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0438 \u043F\u0440\u0438 \u0447\u0438\u0442\u0430\u043D\u043D\u0456 \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F, MathJax \u043C\u043E\u0436\u0435 \u0437\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438 \u0457\u0445, \u0449\u043E\u0431 \u0432\u0438 \u043C\u043E\u0433\u043B\u0438 \u043F\u043E\u0431\u0430\u0447\u0438\u0442\u0438 \u0457\u0445 \u043A\u0440\u0430\u0449\u0435.", + Accessibilty: "*\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0456\u0441\u0442\u044C*: MathJax \u0431\u0443\u0434\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u043F\u0440\u0430\u0446\u044E\u0432\u0430\u0442\u0438 \u0437 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0430\u043C\u0438 \u0447\u0438\u0442\u0430\u043D\u043D\u044F \u0435\u043A\u0440\u0430\u043D\u0443, \u0430\u0431\u0438 \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u044E \u0434\u043B\u044F \u043D\u0435\u0437\u0440\u044F\u0447\u0438\u0445.", + Fonts: "*\u0428\u0440\u0438\u0444\u0442\u0438*: MathJax \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438, \u044F\u043A\u0449\u043E \u0432\u043E\u043D\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0456 \u043D\u0430 \u0432\u0430\u0448\u043E\u043C\u0443 \u043A\u043E\u043C\u043F'\u044E\u0442\u0435\u0440\u0456. \u0412 \u0456\u043D\u0448\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438. \u0425\u043E\u0447\u0430 \u0446\u0435 \u0456 \u043D\u0435 \u0454 \u043E\u0431\u043E\u0432'\u044F\u0437\u043A\u043E\u0432\u0438\u043C, \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 \u043F\u0440\u0438\u0441\u043A\u043E\u0440\u044F\u0442\u044C \u0432\u0435\u0440\u0441\u0442\u043A\u0443. \u041C\u0438 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0454\u043C\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 [STIX-\u0448\u0440\u0438\u0444\u0442\u0438](%1).", + CloseDialog: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433 \u0434\u043E\u0432\u0456\u0434\u043A\u0438" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/MathML.js b/src/py/kaleido/vendor/mathjax/localization/uk/MathML.js new file mode 100644 index 00000000..172a3ae8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/uk/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/uk/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 mglyph: %1", + BadMglyphFont: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0448\u0440\u0438\u0444\u0442:%1", + MathPlayer: "MathJax \u0431\u0443\u0432 \u043D\u0435 \u0443 \u0437\u043C\u043E\u0437\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 MathPlayer.\n\n\u042F\u043A\u0449\u043E MathPlayer \u043D\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E\u200B\u200B, \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u043E \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0439\u043E\u0433\u043E. \u0412 \u0456\u043D\u0448\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443, \u0432\u0430\u0448\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0431\u0435\u0437\u043F\u0435\u043A\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0431\u043B\u043E\u043A\u0443\u0432\u0430\u0442\u0438 \u0443\u043F\u0440\u0430\u0432\u043B\u0456\u043D\u043D\u044F ActiveX \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0443. \u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u043F\u0443\u043D\u043A\u0442 \u0412\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0456 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443 \u0443 \u043C\u0435\u043D\u044E \u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438 \u0456 \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0432\u043A\u043B\u0430\u0434\u043A\u0443 \u0411\u0435\u0437\u043F\u0435\u043A\u0430, \u0430 \u043F\u043E\u0442\u0456\u043C \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u043A\u043D\u043E\u043F\u043A\u0443 \u0412\u043B\u0430\u0441\u043D\u0438\u0439 \u0440\u0456\u0432\u0435\u043D\u044C. \u041F\u0435\u0440\u0435\u043A\u043E\u043D\u0430\u0439\u0442\u0435\u0441\u044F, \u0449\u043E \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0434\u043B\u044F \"\u0417\u0430\u043F\u0443\u0441\u043A \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 ActiveX\" \u0456 \"\u0414\u0432\u0456\u0439\u043A\u043E\u0432\u0456 \u043A\u043E\u0434\u0438 \u0456 \u0441\u0446\u0435\u043D\u0430\u0440\u0456\u0457 \u043F\u043E\u0432\u0435\u0434\u0456\u043D\u043A\u0438\"\n\u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0456.\n\n\u0412 \u0434\u0430\u043D\u0438\u0439 \u0447\u0430\u0441 \u0432\u0438 \u043F\u043E\u0431\u0430\u0447\u0438\u0442\u0435 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F \u043F\u0440\u043E \u043F\u043E\u043C\u0438\u043B\u043A\u0443, \u0430 \u043D\u0435\n\u043D\u0430\u0431\u0440\u0430\u043D\u0443 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443.", + CantCreateXMLParser: "MathJax \u043D\u0435 \u043C\u043E\u0436\u0435 \u0441\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u043D\u0438\u0439 \u0430\u043D\u0430\u043B\u0456\u0437\u0430\u0442\u043E\u0440 XML \u0434\u043B\u044F MathML. \u041F\u0435\u0440\u0435\u043A\u043E\u043D\u0430\u0439\u0442\u0435\u0441\u044F, \u0449\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u201E\u0421\u0446\u0435\u043D\u0430\u0440\u0456\u0457 ActiveX \u043F\u043E\u0437\u043D\u0430\u0447\u0435\u043D\u0456 \u044F\u043A \u0431\u0435\u0437\u043F\u0435\u0447\u043D\u0456 \u0434\u043B\u044F \u0432\u0438\u043A\u043E\u043D\u0430\u043D\u043D\u044F \u0441\u0446\u0435\u043D\u0430\u0440\u0456\u0457\u0432 \u0431\u0435\u0437\u043F\u0435\u043A\u0438\u201C\n \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u0438\u0439 (\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u043F\u0443\u043D\u043A\u0442 \u0412\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0456 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443 \u0432 \u043C\u0435\u043D\u044E \u0406\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438 \u0456 \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0411\u0435\u0437\u043F\u0435\u043A\u0430, \u043F\u043E\u0442\u0456\u043C \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u043A\u043D\u043E\u043F\u043A\u0443 \u0412\u043B\u0430\u0441\u043D\u0438\u0439 \u0440\u0456\u0432\u0435\u043D\u044C, \u0449\u043E\u0431 \u0432\u0456\u0434\u043C\u0456\u0442\u0438\u0442\u0438 \u0446\u0435).\n\nMathML \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F \u043D\u0435 \u0437\u043C\u043E\u0436\u0443\u0442\u044C \u0431\u0443\u0442\u0438 \u043E\u0431\u0440\u043E\u0431\u043B\u0435\u043D\u0456 MathJax.", + UnknownNodeType: "\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0438\u0439 \u0442\u0438\u043F \u0432\u0443\u0437\u043B\u0430: %1", + UnexpectedTextNode: "\u041D\u0435\u043F\u0435\u0440\u0435\u0434\u0431\u0430\u0447\u0435\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u0438\u0439 \u0432\u0443\u0437\u043E\u043B: %1", + ErrorParsingMathML: "\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 MathML", + ParsingError: "\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 MathML: %1", + MathMLSingleElement: "MathML \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0441\u0444\u043E\u0440\u043C\u043E\u0432\u0430\u043D\u0438\u0439 \u043E\u0434\u043D\u0438\u043C \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u043C", + MathMLRootElement: "MathML \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0441\u0444\u043E\u0440\u043C\u043E\u0432\u0430\u043D\u0438\u0439 \u003Cmath\u003E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u043C, \u0430 \u043D\u0435 %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/uk/MathMenu.js new file mode 100644 index 00000000..5d37fe9e --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/uk/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/uk/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u044F\u043A", + MathMLcode: "\u041A\u043E\u0434 MathML", + OriginalMathML: "\u041E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0438\u0439 MathML", + TeXCommands: "\u041A\u043E\u043C\u0430\u043D\u0434\u0438 TeX", + AsciiMathInput: "\u0412\u0432\u0456\u0434 AsciiMathML", + Original: "\u041E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0430 \u0444\u043E\u0440\u043C\u0430", + ErrorMessage: "\u041F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F \u043F\u0440\u043E \u043F\u043E\u043C\u0438\u043B\u043A\u0443", + Annotation: "\u0410\u043D\u043E\u0442\u0430\u0446\u0456\u044F", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "\u0417\u043C\u0456\u0441\u0442 MathML", + OpenMath: "OpenMath", + texHints: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u043F\u043E\u0440\u0430\u0434\u0438 TeX \u0432 MathML", + Settings: "\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438", + ZoomTrigger: "\u041F\u0443\u0441\u043A \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443", + Hover: "\u041F\u0456\u0434\u043D\u0435\u0441\u0435\u043D\u043D\u044F \u043A\u0443\u0440\u0441\u043E\u0440\u0430", + Click: "\u041A\u043B\u0456\u043A", + DoubleClick: "\u041F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u043A\u043B\u0456\u043A", + NoZoom: "\u0411\u0435\u0437 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F", + TriggerRequires: "\u041D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u0456 \u043A\u043B\u044E\u0447\u0456:", + Option: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440", + Alt: "Alt", + Command: "\u041A\u043E\u043C\u0430\u043D\u0434\u0430", + Control: "\u041A\u0435\u0440\u0443\u0432\u0430\u043D\u043D\u044F", + Shift: "Shift", + ZoomFactor: "\u041C\u043D\u043E\u0436\u043D\u0438\u043A \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F", + Renderer: "\u0412\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0446\u0456\u044F \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438", + MPHandles: "MathPlayer \u043E\u043F\u0440\u0430\u0446\u044C\u043E\u0432\u0443\u0454:", + MenuEvents: "\u041F\u043E\u0434\u0456\u0457 \u043C\u0435\u043D\u044E", + MouseEvents: "\u041F\u043E\u0434\u0456\u0457 \u043C\u0438\u0448\u043A\u0438", + MenuAndMouse: "\u041F\u043E\u0434\u0456\u0457 \u043C\u0435\u043D\u044E \u0456 \u043C\u0438\u0448\u043A\u0438", + FontPrefs: "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u0448\u0442\u0440\u0438\u0444\u0442\u0443", + ForHTMLCSS: "\u0414\u043B\u044F HTML-CSS:", + Auto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E", + TeXLocal: "TeX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0438\u0439)", + TeXWeb: "TeX (\u0432\u0435\u0431)", + TeXImage: "TeX (\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F)", + STIXLocal: "STIX (\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0438\u0439)", + STIXWeb: "STIX (\u0432\u0435\u0431)", + AsanaMathWeb: "Asana Math (\u0432\u0435\u0431)", + GyrePagellaWeb: "Gyre Pagella (\u0432\u0435\u0431)", + GyreTermesWeb: "Gyre Termes (\u0432\u0435\u0431)", + LatinModernWeb: "Latin Modern (\u0432\u0435\u0431)", + NeoEulerWeb: "Neo Euler (\u0432\u0435\u0431)", + ContextMenu: "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u0435 \u043C\u0435\u043D\u044E", + Browser: "\u041E\u0433\u043B\u044F\u0434", + Scale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u0443\u0441\u044E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443\u2026", + Discoverable: "\u041F\u0456\u0434\u0441\u0432\u0456\u0442\u043A\u0430 \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u043D\u0456", + Locale: "\u041C\u043E\u0432\u0430", + LoadLocale: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0437 URL...", + About: "\u041F\u0440\u043E MathJax", + Help: "\u0414\u043E\u043F\u043E\u043C\u043E\u0433\u0430 MathJax", + localTeXfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438 TeX", + webTeXfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438 TeX", + imagefonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F \u0448\u0440\u0438\u0444\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C", + localSTIXfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0447\u0438 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u0456 STIX-\u0448\u0440\u0438\u0444\u0442\u0438", + webSVGfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0447\u0438 SVG \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u0438", + genericfonts: "\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0447\u0438 \u0437\u0433\u0435\u043D\u0435\u0440\u043E\u0432\u0430\u043D\u0456 \u044E\u043D\u0456\u043A\u043E\u0434\u043D\u0456 \u0448\u0440\u0438\u0444\u0442\u0438", + wofforotffonts: "\u0448\u0440\u0438\u0444\u0442\u0438 woff \u0430\u0431\u043E otf", + eotffonts: "\u0448\u0440\u0438\u0444\u0442\u0438 eot", + svgfonts: "\u0448\u0440\u0438\u0444\u0442\u0438 svg", + WebkitNativeMMLWarning: "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454 MathML, \u0442\u043E\u043C\u0443 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u043D\u043D\u044F \u0432\u0438\u0432\u043E\u0434\u0443 \u0434\u043E MathML \u043C\u043E\u0436\u0435 \u043F\u0440\u0438\u0437\u0432\u0435\u0441\u0442\u0438, \u0449\u043E \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0443 \u043D\u0430 \u0446\u0456\u0439 \u0441\u0442\u043E\u0440\u0456\u043D\u0446\u0456 \u0441\u0442\u0430\u043D\u0435 \u043D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438.", + MSIENativeMMLWarning: "\u0412\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447 Internet Explorer \u043F\u043E\u0442\u0440\u0435\u0431\u0443\u0454 \u043C\u043E\u0434\u0443\u043B\u044C MathPlayer \u0434\u043B\u044F \u043E\u0431\u0440\u043E\u0431\u043A\u0438 \u0432\u0438\u0432\u043E\u0434\u0443 MathML.", + OperaNativeMMLWarning: "\u041E\u0431\u043C\u0435\u0436\u0435\u043D\u0430 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u043A\u0430 MathML \u0432 Opera, \u0442\u043E\u043C\u0443 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u043D\u043D\u044F \u0432\u0438\u0432\u043E\u0434\u0443 \u043D\u0430 MathML \u043C\u043E\u0436\u0443\u0442\u044C \u0432\u0438\u043A\u043B\u0438\u043A\u0430\u0442\u0438, \u0449\u043E \u0434\u0435\u044F\u043A\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u043F\u043E\u0433\u0430\u043D\u043E \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u0438\u043C\u0443\u0442\u044C\u0441\u044F.", + SafariNativeMMLWarning: "MathML \u0432\u0430\u0448\u043E\u0433\u043E \u0432\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0430 \u043D\u0435 \u0440\u0435\u0430\u043B\u0456\u0437\u0443\u0454 \u0432\u0441\u0456 \u0444\u0443\u043D\u043A\u0446\u0456\u0457, \u044F\u043A\u0456 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F MathJax. \u0422\u0430\u043A\u0438\u043C \u0447\u0438\u043D\u043E\u043C, \u0434\u0435\u044F\u043A\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438\u0441\u044F.", + FirefoxNativeMMLWarning: "MathML \u0432\u0430\u0448\u043E\u0433\u043E \u0432\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0430 \u043D\u0435 \u0440\u0435\u0430\u043B\u0456\u0437\u0443\u0454 \u0432\u0441\u0456 \u0444\u0443\u043D\u043A\u0446\u0456\u0457, \u044F\u043A\u0456 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u044E\u0442\u044C\u0441\u044F MathJax. \u0422\u0430\u043A\u0438\u043C \u0447\u0438\u043D\u043E\u043C, \u0434\u0435\u044F\u043A\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438\u0441\u044F.", + MSIESVGWarning: "SVG \u043D\u0435 \u0440\u0435\u0430\u043B\u0456\u0437\u043E\u0432\u0430\u043D\u043E \u0443 \u0432\u0435\u0431-\u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0430\u0447\u0456 Internet Explorer \u0432\u0435\u0440\u0441\u0456\u0457 9 \u0430\u0431\u043E \u0435\u043C\u0443\u043B\u044E\u0454\u0442\u044C\u0441\u044F \u0432 IE8 \u0430\u0431\u043E \u043D\u0438\u0436\u0447\u0435, \u0442\u043E\u043C\u0443 \u043F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u043D\u043D\u044F \u043D\u0430 \u0432\u0438\u0432\u0456\u0434 SVG \u043C\u043E\u0436\u0435 \u043F\u0440\u0438\u0437\u0432\u0435\u0441\u0442\u0438, \u0449\u043E \u0446\u044E \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0443 \u0441\u0442\u0430\u043D\u0435 \u043D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438.", + LoadURL: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0434\u0430\u043D\u0456 \u043F\u0435\u0440\u0435\u043A\u043B\u0430\u0434\u0443 \u0437 \u0446\u044C\u043E\u0433\u043E URL:", + BadURL: "URL-\u0430\u0434\u0440\u0435\u0441\u0430 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0434\u043B\u044F JavaScript \u0444\u0430\u0439\u043B\u0443, \u044F\u043A\u0438\u0439 \u0432\u0438\u0437\u043D\u0430\u0447\u0430\u0454 MathJax \u0434\u0430\u043D\u0456 \u043F\u0435\u0440\u0435\u043A\u043B\u0430\u0434\u0443. \u0406\u043C'\u044F \u0444\u0430\u0439\u043B\u0443 JavaScript \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 \".js\"", + BadData: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043F\u0435\u0440\u0435\u043A\u043B\u0430\u0434\u0438 \u0437 %1", + SwitchAnyway: "\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0442\u043E\u0440?\n\n(\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0413\u0430\u0440\u0430\u0437\u0434, \u0449\u043E\u0431 \u0437\u043C\u0456\u043D\u0438\u0442\u0438, \u0430\u0431\u043E \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u0432\u0436\u0435\u043D\u043D\u044F \u043F\u043E\u0442\u043E\u0447\u043D\u043E\u0433\u043E \u0432\u0456\u0437\u0443\u0430\u043B\u0456\u0437\u0430\u0442\u043E\u0440\u0430)", + ScaleMath: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 (\u0443 \u043F\u043E\u0440\u0456\u0432\u043D\u044F\u043D\u043D\u0456 \u0437 \u043E\u0442\u043E\u0447\u0443\u044E\u0447\u0438\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C)", + NonZeroScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u043D\u0435 \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u043D\u0443\u043B\u0435\u043C", + PercentScale: "\u041C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0443 \u0432\u0456\u0434\u0441\u043E\u0442\u043A\u0430\u0445 (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, 120%%)", + IE8warning: "\u0426\u0435 \u0432\u0438\u043C\u0438\u043A\u0430\u0454 MathJax \u043C\u0435\u043D\u044E \u0442\u0430 \u0444\u0443\u043D\u043A\u0446\u0456\u0457 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043D\u043D\u044F, \u0430\u043B\u0435 \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0442\u0440\u0438\u043C\u0443\u0432\u0430\u0442\u0438 ALT \u043F\u0456\u0434 \u0447\u0430\u0441 \u043A\u043B\u0456\u043A\u0456\u0432 \u043C\u0438\u0448\u0456 \u043D\u0430 \u0432\u0438\u0440\u0430\u0437\u0456 \u0434\u043B\u044F \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043D\u044F \u043D\u0430\u0442\u043E\u043C\u0456\u0441\u0442\u044C \u043C\u0435\u043D\u044E MathJax.\n\n\u0414\u0456\u0439\u0441\u043D\u043E \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F MathPlayer?", + IE9warning: "MathJax \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442\u043D\u0435 \u043C\u0435\u043D\u044E \u0432\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u0430\u043B\u0435 \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u043D\u0430\u0442\u0438\u0441\u043D\u0443\u0442\u0438 ALT \u043F\u0456\u0434 \u0447\u0430\u0441 \u043A\u043B\u0456\u043A\u0456\u0432 \u043C\u0438\u0448\u0456 \u0434\u043B\u044F \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u044F MathJax \u043C\u0435\u043D\u044E.", + NoOriginalForm: "\u041D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043E\u0440\u0438\u0433\u0456\u043D\u0430\u043B\u044C\u043D\u0430 \u0444\u043E\u0440\u043C\u0430", + Close: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438", + EqSource: "\u0414\u0436\u0435\u0440\u0435\u043B\u043E \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F MathJax", + CloseAboutDialog: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433 \u043F\u0440\u043E MathJax", + FastPreview: "\u0428\u0432\u0438\u0434\u043A\u0438\u0439 \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456\u0439 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434", + AssistiveMML: "\u0414\u043E\u043F\u043E\u043C\u0456\u0436\u043D\u0438\u0439 MathML", + InTabOrder: "\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u0438 \u0432 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0432\u043A\u043B\u0430\u0434\u043E\u043A" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/TeX.js b/src/py/kaleido/vendor/mathjax/localization/uk/TeX.js new file mode 100644 index 00000000..47310bae --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/uk/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/uk/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u0417\u0430\u0439\u0432\u0430 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430 \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u044F \u0437\u0430\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430", + ExtraCloseMissingOpen: "\u0417\u0430\u0439\u0432\u0430 \u0437\u0430\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430 \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0430 \u0444\u0456\u0433\u0443\u0440\u043D\u0430 \u0434\u0443\u0436\u043A\u0430", + MissingLeftExtraRight: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \\left \u0430\u0431\u043E \u0437\u0430\u0439\u0432\u0438\u0439 \\right", + MissingScript: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0438 \u0432\u0435\u0440\u0445\u043D\u044C\u043E\u0433\u043E \u0456 \u043D\u0438\u0436\u043D\u044C\u043E\u0433\u043E \u0456\u043D\u0434\u0435\u043A\u0441\u0456\u0432", + ExtraLeftMissingRight: "\u0417\u0430\u0439\u0432\u0438\u0439 \\left \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \\right", + Misplaced: "\u041D\u0435\u0432\u0456\u0440\u043D\u0438\u0439 %1", + MissingOpenForSub: "\u0411\u0440\u0430\u043A\u0443\u0454 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0457 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u043D\u0438\u0436\u043D\u044C\u043E\u0433\u043E \u0456\u043D\u0434\u0435\u043A\u0441\u0443", + MissingOpenForSup: "\u0411\u0440\u0430\u043A\u0443\u0454 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0457 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u0432\u0435\u0440\u0445\u043D\u044C\u043E\u0433\u043E \u0456\u043D\u0434\u0435\u043A\u0441\u0443", + AmbiguousUseOf: "\u041D\u0435\u043E\u0434\u043D\u043E\u0437\u043D\u0430\u0447\u043D\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F %1", + EnvBadEnd: "\\begin{%1} \u0437\u0430\u043A\u0456\u043D\u0447\u0438\u0432\u0441\u044F \\end{%2}", + EnvMissingEnd: "\u0411\u0440\u0430\u043A\u0443\u0454 \\end{%1}", + MissingBoxFor: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0454 \u043F\u043E\u043B\u0435 \u0434\u043B\u044F %1", + MissingCloseBrace: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u044F \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u0430 \u0434\u0443\u0436\u043A\u0430", + UndefinedControlSequence: "\u041D\u0435\u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u043A\u043E\u043C\u0430\u043D\u0434\u0430 %1", + DoubleExponent: "\u041F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u0441\u0442\u0435\u043F\u0456\u043D\u044C: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u0443\u0442\u043E\u0447\u043D\u0435\u043D\u043D\u044F", + DoubleSubscripts: "\u041F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u043D\u0438\u0436\u043D\u0456\u0439 \u0456\u043D\u0434\u0435\u043A\u0441: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0434\u0443\u0436\u043A\u0438 \u0443\u0442\u043E\u0447\u0435\u043D\u043D\u044F", + DoubleExponentPrime: "\u0417\u043D\u0430\u043A \u0448\u0442\u0440\u0438\u0445\u0430 \u0441\u043F\u0440\u0438\u0447\u0438\u043D\u0438\u0432 \u043F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439 \u0441\u0442\u0435\u043F\u0456\u043D\u044C: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u0439\u0442\u0435 \u0434\u0443\u0436\u043A\u0438 \u0434\u043B\u044F \u0443\u0442\u043E\u0447\u043D\u0435\u043D\u043D\u044F", + CantUseHash1: "\u041D\u0435 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430 \u043C\u0430\u043A\u0440\u043E\u0441\u0443 # \u0443 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u043E\u043C\u0443 \u0440\u0435\u0436\u0438\u043C\u0456", + MisplacedMiddle: "%1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0432 \u043C\u0435\u0436\u0430\u0445 \\left \u0456 \\right", + MisplacedLimits: "%1 \u0434\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E \u0442\u0456\u043B\u044C\u043A\u0438 \u043D\u0430 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0430\u0445", + MisplacedMoveRoot: "%1 \u043C\u043E\u0436\u0435 \u0437'\u044F\u0432\u0438\u0442\u0438\u0441\u044F \u043B\u0438\u0448\u0435 \u043F\u0456\u0434 \u043A\u043E\u0440\u0435\u043D\u0435\u043C", + MultipleCommand: "\u041A\u0456\u043B\u044C\u043A\u0430 %1", + IntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0446\u0456\u043B\u0438\u043C \u0447\u0438\u0441\u043B\u043E\u043C", + NotMathMLToken: "%1 \u043D\u0435 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u043C \u043C\u0430\u0440\u043A\u0435\u0440\u0430", + InvalidMathMLAttr: "\u041D\u0435\u043F\u0440\u0438\u043F\u0443\u0441\u0442\u0438\u043C\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 MathML: %1", + UnknownAttrForElement: "%1 \u043D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0434\u043B\u044F %2", + MaxMacroSub1: "\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0443 \u043A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u0432\u0438\u043A\u043B\u0438\u043A\u0456\u0432 \u043C\u0430\u043A\u0440\u043E\u0441\u0456\u0432; \u0430\u0431\u043E \u0432\u0456\u0434\u0431\u0443\u0432\u0430\u0454\u0442\u044C\u0441\u044F \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u0438\u0439 \u0432\u0438\u043A\u043B\u0438\u043A \u043C\u0430\u043A\u0440\u043E\u0441\u0443?", + MaxMacroSub2: "\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0443 \u043A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u043F\u0456\u0434\u0441\u0442\u0430\u043D\u043E\u0432\u043E\u043A MathJax; \u041C\u043E\u0436\u043B\u0438\u0432\u043E, \u0440\u0435\u043A\u0443\u0440\u0441\u0456\u044F \u0432 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0456 LaTeX?", + MissingArgFor: "\u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1", + ExtraAlignTab: "\u0417\u0430\u0439\u0432\u0438\u0439 \u0442\u0430\u0431\u0443\u043B\u044F\u0442\u043E\u0440 \u0442\u0435\u043A\u0441\u0442\u0443 \u0443 \\cases", + BracketMustBeDimension: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0443 \u0434\u0443\u0436\u043A\u0430\u0445 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440\u043E\u043C", + InvalidEnv: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0456\u043C'\u044F \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0430 '%1'", + UnknownEnv: "\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0435 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0435 '%1'", + ExtraCloseLooking: "\u0417\u0430\u0439\u0432\u0430 \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u0430 \u0434\u0443\u0436\u043A\u0430 \u0432\u0438\u043D\u0438\u043A\u043B\u0430 \u043F\u0456\u0434 \u0447\u0430\u0441 \u043F\u043E\u0448\u0443\u043A\u0443 %1", + MissingCloseBracket: "\u041D\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u0443 ']' \u0434\u043B\u044F \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0443 \u0434\u043E %1", + MissingOrUnrecognizedDelim: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \u0430\u0431\u043E \u043D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0438\u043A \u0434\u043B\u044F %1", + MissingDimOrUnits: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \u0440\u043E\u0437\u043C\u0456\u0440 \u0430\u0431\u043E \u0439\u043E\u0433\u043E \u043E\u0434\u0438\u043D\u0438\u0446\u0456 \u0434\u043B\u044F %1", + TokenNotFoundForCommand: "\u041D\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u043D\u0430\u0439\u0442\u0438 %1 \u0434\u043B\u044F %2", + MathNotTerminated: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0430 \u043D\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0443\u0454\u0442\u044C\u0441\u044F \u0432 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u043E\u043C\u0443 \u043F\u043E\u043B\u0456", + IllegalMacroParam: "\u041D\u0435\u0437\u0430\u043A\u043E\u043D\u043D\u0435 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F \u043D\u0430 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u043C\u0430\u043A\u0440\u043E\u0441\u0443", + MaxBufferSize: "\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u0440\u043E\u0437\u043C\u0456\u0440 \u0432\u043D\u0443\u0442\u0440\u0456\u0448\u043D\u044C\u043E\u0433\u043E \u0431\u0443\u0444\u0435\u0440\u0430 MathJax; \u0442\u0430\u043C \u0454 \u0440\u0435\u043A\u0443\u0440\u0441\u0438\u0432\u043D\u0438\u0439 \u0432\u0438\u043A\u043B\u0438\u043A \u043C\u0430\u043A\u0440\u043E\u0441\u0443?", + CommandNotAllowedInEnv: "%1 \u043D\u0435 \u0434\u043E\u043F\u0443\u0441\u043A\u0430\u0454\u0442\u044C\u0441\u044F \u0432 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0456 %2", + MultipleLabel: "\u041C\u0456\u0442\u043A\u0430 '%1' \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u043A\u0456\u043B\u044C\u043A\u0430 \u0440\u0430\u0437\u0456\u0432", + CommandAtTheBeginingOfLine: "%1 \u043C\u0430\u0454 \u0437\u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0438\u0441\u044F \u043D\u0430 \u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0440\u044F\u0434\u043A\u0430", + IllegalAlign: "\u041D\u0435\u0437\u0430\u043A\u043E\u043D\u043D\u0435 \u0432\u0438\u0440\u0456\u0432\u043D\u044E\u0432\u0430\u043D\u043D\u044F \u0432\u043A\u0430\u0437\u0430\u043D\u0435 \u0443 %1", + BadMathStyleFor: "\u041D\u0435\u0432\u0456\u0440\u043D\u0438\u0439 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u0434\u043B\u044F %1", + PositiveIntegerArg: "\u0410\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043C \u0446\u0456\u043B\u0438\u043C \u0447\u0438\u0441\u043B\u043E\u043C", + ErroneousNestingEq: "\u041F\u043E\u043C\u0438\u043B\u043A\u043E\u0432\u0456 \u0432\u043A\u043B\u0430\u0434\u0435\u043D\u043E\u0441\u0442\u0456 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440 \u0440\u0456\u0432\u043D\u044F\u043D\u043D\u044F", + MultlineRowsOneCol: "\u0420\u044F\u0434\u043A\u0438 \u0443 \u0441\u0435\u0440\u0435\u0434\u043E\u0432\u0438\u0449\u0456 %1 \u043C\u0443\u0441\u044F\u0442\u044C \u043C\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u043E\u0434\u0438\u043D \u0441\u0442\u043E\u0432\u043F\u0435\u0446\u044C", + MultipleBBoxProperty: "%1 \u0432\u043A\u0430\u0437\u0430\u043D\u043E \u0434\u0432\u0456\u0447\u0456 \u0432 %2", + InvalidBBoxProperty: "'%1' \u0437\u043E\u0432\u0441\u0456\u043C \u043D\u0435 \u0441\u0445\u043E\u0436\u0438\u0439 \u043D\u0430 \u043A\u043E\u043B\u0456\u0440, \u0434\u043E\u0434\u0430\u0442\u043A\u043E\u0432\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440 \u0430\u0431\u043E \u0441\u0442\u0438\u043B\u044C", + ExtraEndMissingBegin: "\u0417\u0430\u0439\u0432\u0430 %1 \u0430\u0431\u043E \u0432\u0456\u0434\u0441\u0443\u0442\u043D\u044F \\begingroup", + GlobalNotFollowedBy: "%1 \u043D\u0435 \u0441\u043B\u0456\u0434\u0443\u0454 \u043F\u0456\u0441\u043B\u044F \\let, \\def \u0430\u0431\u043E \\newcommand", + UndefinedColorModel: "\u041A\u043E\u043B\u0456\u0440\u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u044C '%1' \u043D\u0435 \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0430", + ModelArg1: "\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043A\u043E\u043B\u044C\u043E\u0440\u0443 \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0456 %1 \u0432\u0438\u043C\u0430\u0433\u0430\u044E\u0442\u044C 3 \u0446\u0438\u0444\u0440\u0438", + InvalidDecimalNumber: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0434\u0435\u0441\u044F\u0442\u043A\u043E\u0432\u0435 \u0447\u0438\u0441\u043B\u043E", + ModelArg2: "\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043A\u043E\u043B\u044C\u043E\u0440\u0443 \u0434\u043B\u044F \u043C\u043E\u0434\u0435\u043B\u0456 %1 \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043C\u0456\u0436 \u0442\u0435\u0433\u0430\u043C\u0438 %2 \u0456 %3", + InvalidNumber: "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E", + NewextarrowArg1: "\u041F\u0435\u0440\u0448\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u043D\u0430\u0437\u0432\u043E\u044E \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430 \u043A\u0435\u0440\u0456\u0432\u043D\u043E\u0457 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u043E\u0441\u0442\u0456", + NewextarrowArg2: "\u0414\u0440\u0443\u0433\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0434\u0432\u043E\u043C\u0430 \u0446\u0456\u043B\u0438\u043C\u0438 \u0447\u0438\u0441\u043B\u0430\u043C\u0438, \u0440\u043E\u0437\u0434\u0456\u043B\u0435\u043D\u0438\u043C\u0438 \u043A\u043E\u043C\u0430\u043C\u0438", + NewextarrowArg3: "\u0422\u0440\u0435\u0442\u0456\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043B\u043E\u0432\u0438\u043C \u044E\u043D\u0456\u043A\u043E\u0434\u043D\u0438\u043C \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u043C", + NoClosingChar: "\u041D\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u043D\u0430\u0439\u0442\u0438 \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0457 %1", + IllegalControlSequenceName: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0456\u043C'\u044F \u043A\u0435\u0440\u0456\u0432\u043D\u043E\u0457 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u043E\u0441\u0442\u0456 \u0434\u043B\u044F %1", + IllegalParamNumber: "\u041D\u0435\u0432\u0456\u0440\u043D\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0456\u0432, \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0445 \u0443 %1", + MissingCS: "\u041F\u0456\u0441\u043B\u044F %1 \u043C\u0443\u0441\u0438\u0442\u044C \u0441\u043B\u0456\u0434\u0443\u0432\u0430\u0442\u0438 \u043A\u0435\u0440\u0456\u0432\u043D\u0430 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u0456\u0441\u0442\u044C", + CantUseHash2: "\u041D\u0435\u0437\u0430\u043A\u043E\u043D\u043D\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F # \u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0456 \u0434\u043B\u044F %1", + SequentialParam: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438 \u0434\u043B\u044F %1 \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u0431\u0443\u0442\u0438 \u043F\u0440\u043E\u043D\u0443\u043C\u0435\u0440\u043E\u0432\u0430\u043D\u0456 \u043F\u043E\u0441\u043B\u0456\u0434\u043E\u0432\u043D\u043E", + MissingReplacementString: "\u0412\u0456\u0434\u0441\u0443\u0442\u043D\u0456\u0439 \u0440\u044F\u0434\u043E\u043A \u0437\u0430\u043C\u0456\u043D\u0438 \u0434\u043B\u044F \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F %1", + MismatchUseDef: "\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F %1 \u043D\u0435 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0454 \u0439\u043E\u0433\u043E \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044E", + RunawayArgument: "\u0412\u0442\u0440\u0430\u0447\u0435\u043D\u0438\u0439 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 \u0434\u043B\u044F %1?", + NoClosingDelim: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \u0437\u0430\u043A\u0440\u0438\u0432\u0430\u044E\u0447\u043E\u0433\u043E \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0438\u043A\u0430 \u0434\u043B\u044F%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/uk/uk.js b/src/py/kaleido/vendor/mathjax/localization/uk/uk.js new file mode 100644 index 00000000..f8fbec44 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/uk/uk.js @@ -0,0 +1,61 @@ +/************************************************************* + * + * MathJax/localization/uk/uk.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("uk",null,{ + menuTitle: "\u0443\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u0437\u043D\u0430\u0439\u0448\u043B\u0430 \u043A\u0443\u043A\u0438 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u0457 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430, \u0449\u043E \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u043A\u043E\u0434 \u0434\u043B\u044F \u0437\u0430\u043F\u0443\u0441\u043A\u0443. \u0412\u0438 \u0445\u043E\u0447\u0435\u0442\u0435 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0438 \u0439\u043E\u0433\u043E?\n\n\n(\u0412\u0438 \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u043D\u0430\u0442\u0438\u0441\u043D\u0443\u0442\u0438 \"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438\", \u0430\u0431\u0438 \u0441\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043A\u0443\u043A \u0443 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432 \u043D\u0430\u0441\u0442\u0440\u043E\u044E\u0432\u0430\u043D\u043D\u044F cookie \u0441\u0435\u0431\u0435.)", + MathProcessingError: "\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043E\u0431\u0440\u043E\u0431\u043A\u0438 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438", + MathError: "\u041C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u0447\u043D\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430", + LoadFile: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F %1", + Loading: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F", + LoadFailed: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043B: %1", + ProcessMath: "\u041E\u0431\u0440\u043E\u0431\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", + Processing: "\u041E\u0431\u0440\u043E\u0431\u043A\u0430...", + TypesetMath: "\u0412\u0435\u0440\u0441\u0442\u043A\u0430 \u043C\u0430\u0442\u0435\u043C\u0430\u0442\u0438\u043A\u0438: %1%%", + Typesetting: "\u0412\u0435\u0440\u0441\u0442\u043A\u0430", + MathJaxNotSupported: "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454 MathJax", + ErrorTips: "\u041F\u0456\u0434\u043A\u0430\u0437\u043A\u0438 \u0449\u043E\u0434\u043E \u0437\u043D\u0435\u0432\u0430\u0434\u0436\u0435\u043D\u043D\u044F: \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 %%1, \u0434\u043E\u0441\u043B\u0456\u0434\u0456\u0442\u044C %%2 \u0443 \u043A\u043E\u043D\u0441\u043E\u043B\u0456 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + if (n % 10 === 1 && n % 100 != 11) return 1; // one + if (2 <= n % 10 && n % 10 <= 4 && !(12 <= n % 100 && n % 100 <= 14)) return 2; // few + if (n % 10 === 0 || (5 <= n % 10 && n % 10 <= 9) || (11 <= n % 100 && n % 100 <= 14)) return 3; // many + return 4; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/uk/uk.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/vi/FontWarnings.js new file mode 100644 index 00000000..33f56f54 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/vi/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/vi/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax s\u1EED d\u1EE5ng c\u00E1c ph\u00F4ng ch\u1EEF tr\u00EAn Web \u0111\u1EC3 v\u1EBD k\u00FD hi\u1EC7u to\u00E1n h\u1ECDc tr\u00EAn trang n\u00E0y. Tr\u00ECnh duy\u1EC7t ph\u1EA3i t\u1EF1 \u0111\u1ED9ng t\u1EA3i v\u1EC1 c\u00E1c ph\u00F4ng ch\u1EEF n\u00E0y; \u0111\u1EC3 l\u00E0m cho trang hi\u1EC3n th\u1ECB nhanh h\u01A1n, b\u1EA1n c\u00F3 th\u1EC3 c\u00E0i \u0111\u1EB7t c\u00E1c ph\u00F4ng ch\u1EEF to\u00E1n h\u1ECDc tr\u1EF1c ti\u1EBFp v\u00E0o th\u01B0 m\u1EE5c ph\u00F4ng ch\u1EEF c\u1EE7a m\u00E1y.", + imageFonts: "MathJax s\u1EED d\u1EE5ng c\u00E1c ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh c\u1EE7a n\u00F3 thay v\u00EC c\u00E1c ph\u00F4ng ch\u1EEF tr\u00EAn m\u00E1y ho\u1EB7c tr\u00EAn Web. C\u00E1c bi\u1EC3u th\u1EE9c to\u00E1n h\u1ECDc n\u00E0y s\u1EBD hi\u1EC3n th\u1ECB ch\u1EADm h\u01A1n b\u00ECnh th\u01B0\u1EDDng v\u00E0 c\u00F3 th\u1EC3 in ra \u1EDF \u0111\u1ED9 ph\u00E2n gi\u1EA3i th\u1EA5p.", + noFonts: "MathJax kh\u00F4ng t\u00ECm th\u1EA5y ph\u00F4ng ch\u1EEF \u0111\u1EC3 hi\u1EC3n th\u1ECB to\u00E1n h\u1ECDc, v\u00E0 c\u00E1c ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh kh\u00F4ng c\u00F3 s\u1EB5n, n\u00EAn n\u00F3 s\u1EED d\u1EE5ng c\u00E1c k\u00FD t\u1EF1 Unicode b\u00ECnh th\u01B0\u1EDDng n\u1EBFu tr\u01B0\u1EDDng h\u1EE3p tr\u00ECnh duy\u1EC7t c\u00F3 kh\u1EA3 n\u0103ng hi\u1EC3n th\u1ECB ch\u00FAng. M\u1ED9t s\u1ED1 k\u00FD t\u1EF1 s\u1EBD kh\u00F4ng hi\u1EC3n th\u1ECB ho\u1EB7c kh\u00F4ng hi\u1EC3n th\u1ECB ch\u00EDnh x\u00E1c.", + webFonts: "H\u1EA7u h\u1EBFt c\u00E1c tr\u00ECnh duy\u1EC7t hi\u1EC7n \u0111\u1EA1i cho ph\u00E9p t\u1EA3i v\u1EC1 ph\u00F4ng ch\u1EEF t\u1EEB trang m\u1EA1ng. Vi\u1EC7c c\u1EADp nh\u1EADt \u0111\u1EBFn m\u1ED9t phi\u00EAn b\u1EA3n tr\u00ECnh duy\u1EC7t m\u1EDBi h\u01A1n (ho\u1EB7c \u0111\u1ED5i qua tr\u00ECnh duy\u1EC7t kh\u00E1c) c\u00F3 th\u1EC3 c\u1EA3i thi\u1EC7n ch\u1EA5t l\u01B0\u1EE3ng c\u1EE7a to\u00E1n tr\u00EAn trang n\u00E0y.", + fonts: "MathJax c\u00F3 th\u1EC3 s\u1EED d\u1EE5ng [c\u00E1c ph\u00F4ng ch\u1EEF STIX](%1) ho\u1EB7c [c\u00E1c ph\u00F4ng ch\u1EEF TeX MathJax](%2). H\u00E3y t\u1EA3i v\u1EC1 v\u00E0 c\u00E0i \u0111\u1EB7t m\u1ED9t trong nh\u1EEFng ph\u00F4ng ch\u1EEF n\u00E0y \u0111\u1EC3 c\u1EA3i thi\u1EC7n kinh nghi\u1EC7m MathJax c\u1EE7a b\u1EA1n.", + STIXPage: "Trang n\u00E0y \u0111\u01B0\u1EE3c thi\u1EBFt k\u1EBF \u0111\u1EC3 s\u1EED d\u1EE5ng [c\u00E1c ph\u00F4ng ch\u1EEF STIX](%1). H\u00E3y t\u1EA3i v\u1EC1 v\u00E0 c\u00E0i \u0111\u1EB7t nh\u1EEFng ph\u00F4ng ch\u1EEF n\u00E0y \u0111\u1EC3 c\u1EA3i thi\u1EC7n kinh nghi\u1EC7m MathJax c\u1EE7a b\u1EA1n.", + TeXPage: "Trang n\u00E0y \u0111\u01B0\u1EE3c thi\u1EBFt k\u1EBF \u0111\u1EC3 s\u1EED d\u1EE5ng [c\u00E1c ph\u00F4ng ch\u1EEF TeX MathJax](%1). H\u00E3y t\u1EA3i v\u1EC1 v\u00E0 c\u00E0i \u0111\u1EB7t nh\u1EEFng ph\u00F4ng ch\u1EEF n\u00E0y \u0111\u1EC3 c\u1EA3i thi\u1EC7n kinh nghi\u1EC7m MathJax c\u1EE7a b\u1EA1n." + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/vi/HTML-CSS.js new file mode 100644 index 00000000..59c0fca6 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/vi/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/vi/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u0110ang t\u1EA3i ph\u00F4ng ch\u1EEF Web %1", + CantLoadWebFont: "Kh\u00F4ng th\u1EC3 t\u1EA3i ph\u00F4ng ch\u1EEF Web %1", + FirefoxCantLoadWebFont: "Firefox kh\u00F4ng th\u1EC3 t\u1EA3i ph\u00F4ng ch\u1EEF Web t\u1EEB m\u1ED9t m\u00E1y ch\u1EE7 t\u1EEB xa", + CantFindFontUsing: "Kh\u00F4ng t\u00ECm th\u1EA5y ph\u00F4ng ch\u1EEF h\u1EE3p l\u1EC7 d\u00F9ng %1", + WebFontsNotAvailable: "Ph\u00F4ng ch\u1EEF Web kh\u00F4ng c\u00F3 s\u1EB5n; \u0111ang s\u1EED d\u1EE5ng ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh thay th\u1EBF" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/vi/HelpDialog.js new file mode 100644 index 00000000..a09e335a --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/vi/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/vi/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "Tr\u1EE3 gi\u00FAp MathJax", + MathJax: "*MathJax* l\u00E0 m\u1ED9t th\u01B0 vi\u1EC7n JavaScript cho ph\u00E9p c\u00E1c t\u00E1c gi\u1EA3 nh\u00FAng c\u00F4ng th\u1EE9c to\u00E1n h\u1ECDc v\u00E0o trang Web. C\u00E1c \u0111\u1ED9c gi\u1EA3 nh\u01B0 b\u1EA1n kh\u00F4ng c\u1EA7n l\u00E0m th\u00EAm g\u00EC \u0111\u1EC3 hi\u1EC3n th\u1ECB to\u00E1n h\u1ECDc.", + Browsers: "*Tr\u00ECnh duy\u1EC7t*: MathJax t\u01B0\u01A1ng th\u00EDch v\u1EDBi t\u1EA5t c\u1EA3 c\u00E1c tr\u00ECnh duy\u1EC7t \u0111\u1EDDi m\u1EDBi, bao g\u1ED3m IE 6+, Firefox 3+, Chrome 0.2+, Safari 2+, Opera 9.6+, v\u00E0 ph\u1EA7n nhi\u1EC1u tr\u00ECnh duy\u1EC7t di \u0111\u1ED9ng.", + Menu: "*Tr\u00ECnh \u0111\u01A1n To\u00E1n h\u1ECDc*: MathJax th\u00EAm m\u1ED9t tr\u00ECnh \u0111\u01A1n ng\u1EEF c\u1EA3nh v\u00E0o c\u00E1c ph\u01B0\u01A1ng tr\u00ECnh. Nh\u1EA5n chu\u1ED9t ph\u1EA3i ho\u1EB7c nh\u1EA5n gi\u1EEF Ctrl v\u00E0 nh\u1EA5n chu\u1ED9t tr\u00E1i \u0111\u1EC3 m\u1EDF tr\u00ECnh \u0111\u01A1n n\u00E0y.", + ShowMath: "*Xem To\u00E1n D\u01B0\u1EDBi d\u1EA1ng* cho ph\u00E9p xem v\u00E0 ch\u00E9p d\u00E1n m\u00E3 ngu\u1ED3n c\u1EE7a ph\u01B0\u01A1ng tr\u00ECnh (d\u01B0\u1EDBi d\u1EA1ng MathML ho\u1EB7c \u0111\u1ECBnh d\u1EA1ng g\u1ED1c).", + Settings: "*T\u00F9y ch\u1ECDn To\u00E1n* cho ph\u00E9p \u0111i\u1EC1u khi\u1EC3n c\u00E1c t\u00EDnh n\u0103ng c\u1EE7a MathJax, th\u00ED d\u1EE5 nh\u01B0 k\u00EDch th\u01B0\u1EDBc k\u00FD t\u1EF1 to\u00E1n h\u1ECDc, c\u0169ng nh\u01B0 ph\u01B0\u01A1ng ph\u00E1p hi\u1EC3n th\u1ECB c\u00E1c ph\u01B0\u01A1ng tr\u00ECnh.", + Language: "*Ng\u00F4n ng\u1EEF* cho ph\u00E9p l\u1EF1a ch\u1ECDn ng\u00F4n ng\u1EEF cho c\u00E1c tr\u00ECnh \u0111\u01A1n v\u00E0 th\u00F4ng \u0111i\u1EC7p trong MathJax.", + Zoom: "*Ph\u00F3ng to*: N\u1EBFu b\u1EA1n c\u1EA3m th\u1EA5y kh\u00F3 \u0111\u1ECDc m\u1ED9t ph\u01B0\u01A1ng tr\u00ECnh, MathJax c\u00F3 th\u1EC3 ph\u00F3ng to n\u00F3 \u0111\u1EC3 gi\u00FAp b\u1EA1n th\u1EA5y r\u00F5 h\u01A1n.", + Accessibilty: "*Tr\u1EE3 n\u0103ng*: MathJax t\u1EF1 \u0111\u1ED9ng t\u00E1c \u0111\u1ED9ng v\u1EDBi c\u00E1c tr\u00ECnh \u0111\u1ECDc m\u00E0n h\u00ECnh \u0111\u1EC3 gi\u00FAp ng\u01B0\u1EDDi m\u00F9 l\u00F2a truy c\u1EADp to\u00E1n h\u1ECDc.", + Fonts: "*Ph\u00F4ng ch\u1EEF*: MathJax s\u1EED d\u1EE5ng m\u1ED9t s\u1ED1 ph\u00F4ng ch\u1EEF to\u00E1n h\u1ECDc n\u1EBFu \u0111\u01B0\u1EE3c c\u00E0i \u0111\u1EB7t tr\u00EAn m\u00E1y c\u1EE7a b\u1EA1n; n\u1EBFu kh\u00F4ng, n\u00F3 t\u1EA3i c\u00E1c ph\u00F4ng ch\u1EEF Web. B\u1EA1n c\u00F3 th\u1EC3 (nh\u01B0ng kh\u00F4ng c\u1EA7n ph\u1EA3i) c\u00E0i \u0111\u1EB7t c\u00E1c ph\u00F4ng ch\u1EEF v\u00E0o m\u00E1y \u0111\u1EC3 t\u0103ng t\u1ED1c \u0111\u1ED9 s\u1EAFp ch\u1EEF. Ch\u00FAng t\u00F4i khuy\u1EBFn kh\u00EDch c\u00E0i \u0111\u1EB7t c\u00E1c [ph\u00F4ng ch\u1EEF STIX](%1).", + CloseDialog: "\u0110\u00F3ng h\u1ED9p tho\u1EA1i tr\u1EE3 gi\u00FAp" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/MathML.js b/src/py/kaleido/vendor/mathjax/localization/vi/MathML.js new file mode 100644 index 00000000..01c25e05 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/vi/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/vi/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "mglyph h\u1ECFng: %1", + BadMglyphFont: "Ph\u00F4ng ch\u1EEF h\u1ECFng: %1", + MathPlayer: "MathJax kh\u00F4ng th\u1EC3 thi\u1EBFt l\u1EADp MathPlayer.\n\nN\u1EBFu MathPlayer ch\u01B0a \u0111\u01B0\u1EE3c c\u00E0i \u0111\u1EB7t, b\u1EA1n c\u1EA7n ph\u1EA3i c\u00E0i \u0111\u1EB7t n\u00F3 tr\u01B0\u1EDBc ti\u00EAn.\nN\u1EBFu kh\u00F4ng, c\u00E1c t\u00F9y ch\u1ECDn b\u1EA3o m\u1EADt c\u1EE7a b\u1EA1n c\u00F3 th\u1EC3 ng\u0103n tr\u1EDF c\u00E1c \u0111i\u1EC1u khi\u1EC3n ActiveX. H\u00E3y ch\u1ECDn T\u00F9y ch\u1ECDn Internet trong tr\u00ECnh \u0111\u01A1n C\u00F4ng c\u1EE5, qua th\u1EBB B\u1EA3o m\u1EADt, v\u00E0 b\u1EA5m n\u00FAt M\u1EE9c t\u00F9y ch\u1EC9nh. Ki\u1EC3m c\u00E1c h\u1ED9p \u201CCh\u1EA1y \u0111i\u1EC1u khi\u1EC3n ActiveX\u201D v\u00E0 \u201CH\u00E0nh vi nh\u1ECB ph\u00E2n v\u00E0 k\u1ECBch b\u1EA3n\u201D.\n\nHi\u1EC7n t\u1EA1i b\u1EA1n s\u1EBD g\u1EB7p c\u00E1c th\u00F4ng b\u00E1o l\u1ED7i thay v\u00EC to\u00E1n h\u1ECDc \u0111\u01B0\u1EE3c k\u1EBFt xu\u1EA5t.", + CantCreateXMLParser: "MathJax kh\u00F4ng th\u1EC3 t\u1EA1o ra b\u1ED9 ph\u00E2n t\u00EDch XML cho MathML. H\u00E3y ch\u1ECDn T\u00F9y ch\u1ECDn Internet trong tr\u00ECnh \u0111\u01A1n C\u00F4ng c\u1EE5, qua th\u1EBB B\u1EA3o m\u1EADt, v\u00E0 b\u1EA5m n\u00FAt M\u1EE9c t\u00F9y ch\u1EC9nh. Ki\u1EC3m h\u1ED9p \u201CScript c\u00E1c \u0111i\u1EC1u khi\u1EC3n ActiveX \u0111\u01B0\u1EE3c \u0111\u00E1nh d\u1EA5u l\u00E0 an to\u00E0n\u201D.\n\nMathJax s\u1EBD kh\u00F4ng th\u1EC3 x\u1EED l\u00FD c\u00E1c ph\u01B0\u01A1ng tr\u00ECnh MathML.", + UnknownNodeType: "Ki\u1EC3u n\u00FAt kh\u00F4ng r\u00F5: %1", + UnexpectedTextNode: "N\u00FAt v\u0103n b\u1EA3n b\u1EA5t ng\u1EEB: %1", + ErrorParsingMathML: "L\u1ED7i khi ph\u00E2n t\u00EDch MathML", + ParsingError: "L\u1ED7i khi ph\u00E2n t\u00EDch MathML: %1", + MathMLSingleElement: "MathML ph\u1EA3i ch\u1EC9 c\u00F3 m\u1ED9t ph\u1EA7n t\u1EED g\u1ED1c", + MathMLRootElement: "Ph\u1EA7n t\u1EED g\u1ED1c c\u1EE7a MathML ph\u1EA3i l\u00E0 \u003Cmath\u003E, ch\u1EE9 kh\u00F4ng ph\u1EA3i %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/vi/MathMenu.js new file mode 100644 index 00000000..b2c84457 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/vi/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/vi/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "Xem To\u00E1n D\u01B0\u1EDBi d\u1EA1ng", + MathMLcode: "M\u00E3 ngu\u1ED3n MathML", + OriginalMathML: "MathML G\u1ED1c", + TeXCommands: "L\u1EC7nh TeX", + AsciiMathInput: "\u0110\u1EA7u v\u00E0o AsciiMathML", + Original: "H\u00ECnh th\u1EE9c G\u1ED1c", + ErrorMessage: "Th\u00F4ng b\u00E1o L\u1ED7i", + Annotation: "Ch\u00FA th\u00EDch", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML N\u1ED9i dung", + OpenMath: "OpenMath", + texHints: "Xem g\u1EE3i \u00FD TeX trong MathML", + Settings: "T\u00F9y ch\u1ECDn To\u00E1n", + ZoomTrigger: "H\u00E0nh \u0111\u1ED9ng Ph\u00F3ng to", + Hover: "R\u00EA chu\u1ED9t", + Click: "Nh\u1EA5n chu\u1ED9t", + DoubleClick: "Nh\u1EA5n \u0111\u00FAp chu\u1ED9t", + NoZoom: "Kh\u00F4ng ph\u00F3ng to", + TriggerRequires: "Ch\u1EC9 khi B\u1EA5m gi\u1EEF:", + Option: "Option", + Alt: "Alt", + Command: "Command", + Control: "Control", + Shift: "Shift", + ZoomFactor: "T\u1EF7 l\u1EC7 Ph\u00F3ng to", + Renderer: "Ki\u1EC3u K\u1EBFt xu\u1EA5t To\u00E1n", + MPHandles: "Cho ph\u00E9p MathPlayer X\u1EED l\u00FD:", + MenuEvents: "S\u1EF1 ki\u1EC7n Tr\u00ECnh \u0111\u01A1n", + MouseEvents: "S\u1EF1 ki\u1EC7n Chu\u1ED9t", + MenuAndMouse: "S\u1EF1 ki\u1EC7n Chu\u1ED9t v\u00E0 Tr\u00ECnh \u0111\u01A1n", + FontPrefs: "T\u00F9y ch\u1ECDn Ph\u00F4ng ch\u1EEF", + ForHTMLCSS: "Cho HTML+CSS:", + Auto: "T\u1EF1 \u0111\u1ED9ng", + TeXLocal: "TeX (tr\u00EAn m\u00E1y)", + TeXWeb: "TeX (tr\u00EAn Web)", + TeXImage: "TeX (h\u00ECnh \u1EA3nh)", + STIXLocal: "STIX (tr\u00EAn m\u00E1y)", + STIXWeb: "STIX (tr\u00EAn Web)", + AsanaMathWeb: "Asana Math (tr\u00EAn Web)", + GyrePagellaWeb: "Gyre Pagella (tr\u00EAn Web)", + GyreTermesWeb: "Gyre Termes (tr\u00EAn Web)", + LatinModernWeb: "Latinh Modern (tr\u00EAn Web)", + NeoEulerWeb: "Neo Euler (tr\u00EAn Web)", + ContextMenu: "Tr\u00ECnh \u0111\u01A1n Ng\u1EEF c\u1EA3nh", + Browser: "Tr\u00ECnh duy\u1EC7t", + Scale: "Ph\u00F3ng to T\u1EA5t c\u1EA3 To\u00E1n\u2026", + Discoverable: "T\u00F4 s\u00E1ng khi R\u00EA chu\u1ED9t", + Locale: "Ng\u00F4n ng\u1EEF", + LoadLocale: "T\u1EA3i t\u1EEB URL\u2026", + About: "Gi\u1EDBi thi\u1EC7u v\u1EC1 MathJax", + Help: "Tr\u1EE3 gi\u00FAp MathJax", + localTeXfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF TeX tr\u00EAn m\u00E1y", + webTeXfonts: "d\u00F9ng ph\u00F4ng ch\u1EEF TeX tr\u00EAn Web", + imagefonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF h\u00ECnh \u1EA3nh", + localSTIXfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF STIX tr\u00EAn m\u00E1y", + webSVGfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF SVG tr\u00EAn Web", + genericfonts: "d\u00F9ng c\u00E1c ph\u00F4ng ch\u1EEF Unicode chung", + wofforotffonts: "Ph\u00F4ng ch\u1EEF WOFF ho\u1EB7c OTF", + eotffonts: "Ph\u00F4ng ch\u1EEF EOT", + svgfonts: "Ph\u00F4ng ch\u1EEF SVG", + WebkitNativeMMLWarning: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n h\u00ECnh nh\u01B0 kh\u00F4ng h\u1ED7 tr\u1EE3 MathML l\u00E0 m\u1ED9t ng\u00F4n ng\u1EEF g\u1ED1c, n\u00EAn k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t MathML c\u00F3 th\u1EC3 l\u00E0m cho kh\u00F4ng \u0111\u1ECDc \u0111\u01B0\u1EE3c c\u00E1c to\u00E1n tr\u00EAn trang.", + MSIENativeMMLWarning: "Internet Explorer c\u1EA7n ph\u1EA7n b\u1ED5 sung MathPlayer \u0111\u1EC3 x\u1EED l\u00FD \u0111\u1EA7u ra MathML.", + OperaNativeMMLWarning: "Opera kh\u00F4ng h\u1ED7 tr\u1EE3 MathML \u0111\u1EA7y \u0111\u1EE7, n\u00EAn k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t MathML c\u00F3 th\u1EC3 l\u00E0m cho m\u1ED9t s\u1ED1 bi\u1EC3u th\u1EE9c hi\u1EC3n th\u1ECB m\u1ED9t c\u00E1ch kh\u00F4ng ch\u00EDnh x\u00E1c.", + SafariNativeMMLWarning: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n h\u1ED7 tr\u1EE3 MathML g\u1ED1c nh\u01B0ng kh\u00F4ng h\u1ED7 tr\u1EE3 t\u1EA5t c\u1EA3 nh\u1EEFng t\u00EDnh n\u0103ng m\u00E0 MathJax s\u1EED d\u1EE5ng, n\u00EAn m\u1ED9t s\u1ED1 bi\u1EC3u th\u1EE9c c\u00F3 th\u1EC3 hi\u1EC3n th\u1ECB kh\u00F4ng ch\u00EDnh x\u00E1c.", + FirefoxNativeMMLWarning: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n h\u1ED7 tr\u1EE3 MathML g\u1ED1c nh\u01B0ng kh\u00F4ng h\u1ED7 tr\u1EE3 t\u1EA5t c\u1EA3 nh\u1EEFng t\u00EDnh n\u0103ng m\u00E0 MathJax s\u1EED d\u1EE5ng, n\u00EAn m\u1ED9t s\u1ED1 bi\u1EC3u th\u1EE9c c\u00F3 th\u1EC3 hi\u1EC3n th\u1ECB kh\u00F4ng ch\u00EDnh x\u00E1c.", + MSIESVGWarning: "SVG kh\u00F4ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3 trong Internet Explorer tr\u01B0\u1EDBc IE9 ho\u1EB7c khi gi\u1EA3 l\u1EADp IE8 tr\u1EDF xu\u1ED1ng. Vi\u1EC7c k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 hi\u1EC3n th\u1ECB SVG s\u1EBD l\u00E0m cho c\u00E1c to\u00E1n hi\u1EC3n th\u1ECB kh\u00F4ng ch\u00EDnh x\u00E1c.", + LoadURL: "T\u1EA3i d\u1EEF li\u1EC7u bi\u00EAn d\u1ECBch t\u1EEB URL n\u00E0y:", + BadURL: "URL ph\u1EA3i d\u1EABn \u0111\u1EBFn m\u1ED9t t\u1EADp tin JavaScript \u0111\u1ECBnh r\u00F5 d\u1EEF li\u1EC7u bi\u00EAn d\u1ECBch MathJax. C\u00E1c t\u00EAn t\u1EADp tin JavaScript ph\u1EA3i c\u00F3 \u201C.js\u201D \u0111\u1EB1ng sau.", + BadData: "Th\u1EA5t b\u1EA1i khi t\u1EA3i d\u1EEF li\u1EC7u bi\u00EAn d\u1ECBch t\u1EEB %1", + SwitchAnyway: "C\u1EE9 k\u00EDch ho\u1EA1t ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t n\u00E0y?\n\n(B\u1EA5m OK \u0111\u1EC3 k\u00EDch ho\u1EA1t, ho\u1EB7c Cancel \u0111\u1EC3 ti\u1EBFp t\u1EE5c s\u1EED d\u1EE5ng ch\u1EBF \u0111\u1ED9 k\u1EBFt xu\u1EA5t hi\u1EC7n t\u1EA1i.)", + ScaleMath: "Ph\u00F3ng to t\u1EA5t c\u1EA3 to\u00E1n (so v\u1EDBi v\u0103n b\u1EA3n n\u1EB1m chung quanh) b\u1EB1ng t\u1EF7 l\u1EC7:", + NonZeroScale: "T\u1EF7 l\u1EC7 ph\u1EA3i kh\u00F4ng 0", + PercentScale: "T\u1EF7 l\u1EC7 ph\u1EA3i l\u00E0 s\u1ED1 ph\u1EA7n tr\u0103m (th\u00ED d\u1EE5 120%%)", + IE8warning: "Tr\u00ECnh \u0111\u01A1n MathJax v\u00E0 t\u00EDnh n\u0103ng ph\u00F3ng to s\u1EBD kh\u00F4ng c\u00F2n ho\u1EA1t \u0111\u1ED9ng. B\u1EA1n v\u1EABn c\u00F3 th\u1EC3 b\u1EA5m gi\u1EEF Alt v\u00E0 nh\u1EA5n chu\u1ED9t v\u00E0o m\u1ED9t bi\u1EC3u th\u1EE9c \u0111\u1EC3 m\u1EDF tr\u00ECnh \u0111\u01A1n MathJax thay th\u1EBF.\n\nB\u1EA1n c\u00F3 ch\u1EAFc ch\u1EAFn mu\u1ED1n thay \u0111\u1ED5i t\u00F9y ch\u1ECDn MathPlayer?", + IE9warning: "Tr\u00ECnh \u0111\u01A1n ng\u1EEF c\u1EA3nh MathJax s\u1EBD b\u1ECB v\u00F4 hi\u1EC7u, nh\u01B0ng b\u1EA1n c\u00F3 th\u1EC3 b\u1EA5m gi\u1EEF Alt v\u00E0 nh\u1EA5n chu\u1ED9t v\u00E0o m\u1ED9t bi\u1EC3u th\u1EE9c \u0111\u1EC3 m\u1EDF tr\u00ECnh \u0111\u01A1n MathJax thay th\u1EBF.", + NoOriginalForm: "H\u00ECnh th\u1EE9c g\u1ED1c kh\u00F4ng c\u00F3 s\u1EB5n", + Close: "\u0110\u00F3ng", + EqSource: "M\u00E3 ngu\u1ED3n C\u00F4ng th\u1EE9c MathJax", + CloseAboutDialog: "\u0110\u00F3ng h\u1ED9p tho\u1EA1i gi\u1EDBi thi\u1EC7u v\u1EC1 MathJax", + FastPreview: "Xem tr\u01B0\u1EDBc nhanh", + AssistiveMML: "MathML tr\u1EE3 n\u0103ng", + InTabOrder: "Bao g\u1ED3m trong th\u1EE9 t\u1EF1 Tab" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/TeX.js b/src/py/kaleido/vendor/mathjax/localization/vi/TeX.js new file mode 100644 index 00000000..2e389496 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/vi/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/vi/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "D\u1EA5u ngo\u1EB7c m\u1EDF c\u00F2n d\u01B0 ho\u1EB7c d\u1EA5u ngo\u1EB7c \u0111\u00F3ng b\u1ECB thi\u1EBFu", + ExtraCloseMissingOpen: "D\u1EA5u ngo\u1EB7c \u0111\u00F3ng c\u00F2n d\u01B0 ho\u1EB7c d\u1EA5u ngo\u1EB7c m\u1EDF b\u1ECB thi\u1EBFu", + MissingLeftExtraRight: "Thi\u1EBFu \\left ho\u1EB7c d\u01B0 \\right", + MissingScript: "Thi\u1EBFu \u0111\u1ED1i s\u1ED1 ch\u1EC9 s\u1ED1", + ExtraLeftMissingRight: "D\u01B0 \\left ho\u1EB7c thi\u1EBFu \\right", + MissingOpenForSub: "Thi\u1EBFu d\u1EA5u ngo\u1EB7c \u0111\u01A1n m\u1EDF cho ch\u1EC9 s\u1ED1 d\u01B0\u1EDBi", + MissingOpenForSup: "Thi\u1EBFu d\u1EA5u ngo\u1EB7c \u0111\u01A1n m\u1EDF cho ch\u1EC9 s\u1ED1 tr\u00EAn", + AmbiguousUseOf: "%1 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng m\u1ED9t c\u00E1ch kh\u00F4ng r\u00F5 r\u00E0ng", + EnvBadEnd: "\\begin{%1} k\u1EBFt th\u00FAc v\u1EDBi \\end{%2}", + EnvMissingEnd: "Thi\u1EBFu \\end{%1}", + MissingBoxFor: "Thi\u1EBFu h\u1ED9p cho %1", + MissingCloseBrace: "Thi\u1EBFu d\u1EA5u ngo\u1EB7c \u0111\u00F3ng", + MisplacedMiddle: "%1 ph\u1EA3i n\u1EB1m gi\u1EEFa \\left v\u00E0 \\right", + MisplacedLimits: "%1 ch\u1EC9 \u0111\u01B0\u1EE3c cho ph\u00E9p \u0111\u1ED1i v\u1EDBi ph\u00E9p to\u00E1n", + MultipleCommand: "Nhi\u1EC1u %1", + InvalidMathMLAttr: "Thu\u1ED9c t\u00EDnh MathML kh\u00F4ng h\u1EE3p l\u1EC7: %1", + UnknownAttrForElement: "%1 kh\u00F4ng \u0111\u01B0\u1EE3c c\u00F4ng nh\u1EADn l\u00E0 thu\u1ED9c t\u00EDnh cho %2", + MissingArgFor: "Thi\u1EBFu \u0111\u1ED1i s\u1ED1 cho %1", + InvalidEnv: "T\u00EAn m\u00F4i tr\u01B0\u1EDDng \u201C%1\u201D kh\u00F4ng h\u1EE3p l\u1EC7", + UnknownEnv: "M\u00F4i tr\u01B0\u1EDDng kh\u00F4ng r\u00F5 \u201C%1\u201D", + TokenNotFoundForCommand: "Kh\u00F4ng t\u00ECm th\u1EA5y %1 cho %2", + CommandNotAllowedInEnv: "Kh\u00F4ng cho ph\u00E9p %1 trong m\u00F4i tr\u01B0\u1EDDng %2", + MultipleLabel: "Nh\u00E3n \u201C%1\u201D \u0111\u01B0\u1EE3c \u0111\u1ECBnh r\u00F5 nhi\u1EC1u l\u1EA7n", + CommandAtTheBeginingOfLine: "%1 ph\u1EA3i n\u1EB1m v\u00E0o \u0111\u1EA7u d\u00F2ng", + MultipleBBoxProperty: "%1 \u0111\u01B0\u1EE3c \u0111\u1ECBnh r\u00F5 hai l\u1EA7n trong %2", + InvalidDecimalNumber: "S\u1ED1 th\u1EADp ph\u00E2n kh\u00F4ng h\u1EE3p l\u1EC7", + InvalidNumber: "S\u1ED1 kh\u00F4ng h\u1EE3p l\u1EC7", + NoClosingChar: "Kh\u00F4ng t\u00ECm th\u1EA5y %1 \u0111\u00F3ng", + Misplaced: "\u0110\u00E3 \u0111\u1EB7t sai ch\u1ED7 %1", + UndefinedControlSequence: "Tr\u00ECnh t\u1EF1 ki\u1EC3m so\u00E1t kh\u00F4ng x\u00E1c \u0111\u1ECBnh %1", + DoubleExponent: "Ch\u1EC9 s\u1ED1 tr\u00EAn ch\u1EC9 s\u1ED1 tr\u00EAn: d\u00F9ng d\u1EA5u ngo\u1EB7c m\u00F3c \u0111\u1EC3 l\u00E0m r\u00F5", + DoubleSubscripts: "Ch\u1EC9 s\u1ED1 d\u01B0\u1EDBi ch\u1EC9 s\u1ED1 d\u01B0\u1EDBi: d\u00F9ng d\u1EA5u ngo\u1EB7c m\u00F3c \u0111\u1EC3 l\u00E0m r\u00F5", + DoubleExponentPrime: "D\u1EA5u ph\u1EA9y tr\u00EAn g\u00E2y ra ch\u1EC9 s\u1ED1 tr\u00EAn ch\u1EC9 s\u1ED1 tr\u00EAn: d\u00F9ng d\u1EA5u ngo\u1EB7c m\u00F3c \u0111\u1EC3 l\u00E0m r\u00F5", + CantUseHash1: "B\u1EA1n kh\u00F4ng th\u1EC3 s\u1EED d\u1EE5ng \u201Ck\u00FD t\u1EF1 tham bi\u1EBFn macro #\u201D trong ch\u1EBF \u0111\u1ED9 to\u00E1n", + MisplacedMoveRoot: "%1 ch\u1EC9 c\u00F3 th\u1EC3 xu\u1EA5t hi\u1EC7n trong ph\u00E9p c\u0103n", + IntegerArg: "\u0110\u1ED1i s\u1ED1 c\u1EE7a %1 ph\u1EA3i l\u00E0 s\u1ED1 nguy\u00EAn", + NotMathMLToken: "%1 kh\u00F4ng ph\u1EA3i l\u00E0 ph\u1EA7n t\u1EED d\u1EA5u hi\u1EC7u", + MaxMacroSub1: "\u0110\u00E3 v\u01B0\u1EE3t qu\u00E1 s\u1ED1 l\u1EA7n thay th\u1EBF macro t\u1ED1i \u0111a c\u1EE7a MathJax; c\u00F3 ph\u1EA3i g\u1ECDi macro \u0111\u1EC7 quy?", + MaxMacroSub2: "\u0110\u00E3 v\u01B0\u1EE3t qu\u00E1 s\u1ED1 l\u1EA7n thay th\u1EBF t\u1ED1i \u0111a c\u1EE7a MathJax; m\u00F4i tr\u01B0\u1EDDng LaTeX c\u00F3 ph\u1EA3i \u0111\u1EC7 quy?", + ExtraAlignTab: "Th\u1EBB c\u0103n ch\u1EC9nh d\u01B0 trong v\u0103n b\u1EA3n \\cases", + BracketMustBeDimension: "\u0110\u1ED1i s\u1ED1 trong d\u1EA5u ngo\u1EB7c c\u1EE7a %1 ph\u1EA3i l\u00E0 chi\u1EC1u", + ExtraCloseLooking: "D\u1EA5u \u0111\u00F3ng b\u1EA5t ng\u1EDD trong khi t\u00ECm ki\u1EBFm %1", + MissingCloseBracket: "Kh\u00F4ng t\u00ECm th\u1EA5y d\u1EA5u \u201C]\u201D \u0111\u00F3ng cho \u0111\u1ED1i s\u1ED1 c\u1EE7a %1", + MissingOrUnrecognizedDelim: "D\u1EA5u t\u00E1ch b\u1ECB thi\u1EBFu ho\u1EB7c kh\u00F4ng r\u00F5 cho %1", + MissingDimOrUnits: "Thi\u1EBFu chi\u1EC1u ho\u1EB7c \u0111\u01A1n v\u1ECB c\u1EE7a %1", + MathNotTerminated: "To\u00E1n kh\u00F4ng ch\u1EA5m d\u1EE9t trong h\u1ED9p v\u0103n b\u1EA3n", + IllegalMacroParam: "Tham chi\u1EBFu tham bi\u1EBFn macro kh\u00F4ng h\u1EE3p l\u1EC7", + MaxBufferSize: "\u0110\u00E3 v\u01B0\u1EE3t qu\u00E1 k\u00EDch th\u01B0\u1EDBc b\u1ED9 \u0111\u1EC7m n\u1ED9i b\u1ED9 c\u1EE7a MathJax; c\u00F3 ph\u1EA3i g\u1ECDi macro \u0111\u1EC7 quy?", + IllegalAlign: "\u0110\u00E3 x\u00E1c \u0111\u1ECBnh s\u1EF1 c\u0103n ch\u1EC9nh kh\u00F4ng h\u1EE3p l\u1EC7 trong %1", + BadMathStyleFor: "Ki\u1EC3u to\u00E1n h\u1ECFng v\u1EDBi %1", + PositiveIntegerArg: "\u0110\u1ED1i s\u1ED1 c\u1EE7a %1 ph\u1EA3i l\u00E0 s\u1ED1 nguy\u00EAn d\u01B0\u01A1ng", + ErroneousNestingEq: "C\u1EA5u tr\u00FAc \u0111\u1EB3ng th\u1EE9c b\u1ECB x\u1EBFp l\u1ED3ng sai l\u1EA7m", + MultlineRowsOneCol: "C\u00E1c h\u00E0ng trong m\u00F4i tr\u01B0\u1EDDng %1 ph\u1EA3i c\u00F3 \u0111\u00FAng m\u1ED9t c\u1ED9t", + InvalidBBoxProperty: "\u201C%1\u201D kh\u00F4ng tr\u00F4ng gi\u1ED1ng nh\u01B0 m\u00E0u, chi\u1EC1u l\u00F3t, ho\u1EB7c ki\u1EC3u", + ExtraEndMissingBegin: "D\u01B0 %1 ho\u1EB7c thi\u1EBFu \\begingroup", + GlobalNotFollowedBy: "%1 kh\u00F4ng c\u00F3 \\let, \\def, ho\u1EB7c \\newcommand ti\u1EBFp theo", + UndefinedColorModel: "M\u00F4 h\u00ECnh m\u00E0u \u201C%1\u201D kh\u00F4ng \u0111\u1ECBnh ngh\u0129a", + ModelArg1: "Gi\u00E1 tr\u1ECB m\u00E0u cho m\u00F4 h\u00ECnh %1 \u0111\u00F2i h\u1ECFi 3 s\u1ED1", + ModelArg2: "Gi\u00E1 tr\u1ECB m\u00E0u cho m\u00F4 h\u00ECnh %1 ph\u1EA3i \u1EDF gi\u1EEFa %2 v\u00E0 %3", + NewextarrowArg1: "\u0110\u1ED1i s\u1ED1 \u0111\u1EA7u ti\u00EAn c\u1EE7a %1 ph\u1EA3i l\u00E0 t\u00EAn tr\u00ECnh t\u1EF1 \u0111i\u1EC1u khi\u1EC3n", + NewextarrowArg2: "\u0110\u1ED1i s\u1ED1 th\u1EE9 hai c\u1EE7a %1 ph\u1EA3i l\u00E0 hai s\u1ED1 nguy\u00EAn ph\u00E2n t\u00E1ch b\u1EB1ng d\u1EA5u ph\u1EA9y", + NewextarrowArg3: "\u0110\u1ED1i s\u1ED1 th\u1EE9 ba c\u1EE7a %1 ph\u1EA3i l\u00E0 s\u1ED1 k\u00FD t\u1EF1 Unicode", + IllegalControlSequenceName: "T\u00EAn tr\u00ECnh t\u1EF1 \u0111i\u1EC1u khi\u1EC3n kh\u00F4ng h\u1EE3p l\u1EC7 cho %1", + IllegalParamNumber: "\u0110\u00E3 x\u00E1c \u0111\u1ECBnh s\u1ED1 tham bi\u1EBFn kh\u00F4ng h\u1EE3p l\u1EC7 cho %1", + MissingCS: "%1 ph\u1EA3i c\u00F3 tr\u00ECnh t\u1EF1 \u0111i\u1EC1u khi\u1EC3n ti\u1EBFp theo", + CantUseHash2: "\u0110\u00E3 s\u1EED d\u1EE5ng # m\u1ED9t c\u00E1ch kh\u00F4ng h\u1EE3p l\u1EC7 trong khu\u00F4n m\u1EABu c\u1EE7a %1", + SequentialParam: "Tham bi\u1EBFn c\u1EE7a %1 ph\u1EA3i \u0111\u01B0\u1EE3c \u0111\u00E1nh s\u1ED1 li\u00EAn t\u1EE5c", + MissingReplacementString: "Thi\u1EBFu chu\u1ED7i thay th\u1EBF khi \u0111\u1ECBnh ngh\u0129a %1", + MismatchUseDef: "\u0110\u00E3 s\u1EED d\u1EE5ng %1 m\u1ED9t c\u00E1ch kh\u00F4ng ph\u00F9 h\u1EE3p v\u1EDBi \u0111\u1ECBnh ngh\u0129a c\u1EE7a n\u00F3", + RunawayArgument: "\u0110\u1ED1i s\u1ED1 c\u1EE7a %1 kh\u00F4ng ng\u1EEBng?", + NoClosingDelim: "Kh\u00F4ng t\u00ECm th\u1EA5y d\u1EA5u k\u1EBFt th\u00FAc %1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/vi/vi.js b/src/py/kaleido/vendor/mathjax/localization/vi/vi.js new file mode 100644 index 00000000..a73b9e79 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/vi/vi.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/vi/vi.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("vi",null,{ + menuTitle: "Ti\u1EBFng Vi\u1EC7t", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax \u0111\u00E3 t\u00ECm th\u1EA5y m\u1ED9t cookie thi\u1EBFt l\u1EADp c\u1EE7a ng\u01B0\u1EDDi d\u00F9ng c\u00F3 m\u00E3 ngu\u1ED3n \u0111\u1EC3 ch\u1EA1y. B\u1EA1n c\u00F3 mu\u1ED1n ch\u1EA1y n\u00F3?\n\n(Khuy\u00EAn b\u1EA1n b\u1EA5m H\u1EE7y b\u1ECF tr\u1EEB khi b\u1EA1n l\u00E0 ng\u01B0\u1EDDi thi\u1EBFt l\u1EADp cookie.)", + MathProcessingError: "L\u1ED7i x\u1EED l\u00FD to\u00E1n", + MathError: "L\u1ED7i to\u00E1n", + LoadFile: "\u0110ang t\u1EA3i %1", + Loading: "\u0110ang t\u1EA3i", + LoadFailed: "Th\u1EA5t b\u1EA1i khi t\u1EA3i t\u1EADp tin: %1", + ProcessMath: "\u0110ang x\u1EED l\u00FD to\u00E1n: %1%%", + Processing: "\u0110ang x\u1EED l\u00FD", + TypesetMath: "\u0110ang x\u1EBFp ch\u1EEF to\u00E1n: %1%%", + Typesetting: "\u0110ang x\u1EBFp ch\u1EEF", + MathJaxNotSupported: "Tr\u00ECnh duy\u1EC7t c\u1EE7a b\u1EA1n kh\u00F4ng h\u1ED7 tr\u1EE3 MathJax", + ErrorTips: "M\u1EB9o v\u1EB7t g\u1EE1 l\u1ED7i: s\u1EED d\u1EE5ng %%1, ki\u1EC3m tra %%2 trong b\u1EA3ng \u0111i\u1EC1u khi\u1EC3n c\u1EE7a tr\u00ECnh duy\u1EC7t" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return String(n).replace(".", ","); // replace dot by comma + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/vi/vi.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/FontWarnings.js new file mode 100644 index 00000000..dcf692ba --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hans/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax\u4F7F\u7528\u57FA\u4E8EWeb\u7684\u5B57\u4F53\u6765\u663E\u793A\u6B64\u9875\u4E0A\u663E\u793A\u6570\u5B66\u76F8\u5173\u5185\u5BB9\u3002\u8FD9\u5C06\u82B1\u8D39\u8F83\u957F\u65F6\u95F4\u4E0B\u8F7D\uFF0C\u6240\u4EE5\u6211\u4EEC\u5F3A\u70C8\u5EFA\u8BAE\u60A8\u76F4\u63A5\u5728\u60A8\u7684\u64CD\u4F5C\u7CFB\u7EDF\u7684\u5B57\u4F53\u6587\u4EF6\u5939\u4E2D\u5B89\u88C5\u6570\u5B66\u7B26\u53F7\u5B57\u4F53\u4EE5\u4FBF\u7ACB\u523B\u663E\u793A\u3002", + imageFonts: "MathJax\u4F7F\u7528\u56FE\u50CF\u5B57\u4F53\u800C\u4E0D\u662F\u672C\u5730\u6216\u57FA\u4E8EWeb\u7684\u5B57\u4F53\u3002\u8FD9\u5C06\u6BD4\u5E73\u5E38\u663E\u793A\u66F4\u6162\uFF0C\u4E14\u76F8\u5173\u6570\u5B66\u7B26\u53F7\u53EF\u80FD\u65E0\u6CD5\u5168\u606F\u7684\u88AB\u6253\u5370\u673A\u6253\u5370\u3002", + noFonts: "MathJax\u65E0\u6CD5\u5B9A\u4F4D\u60A8\u4F7F\u7528\u4E2D\u7684\u5B57\u4F53\u4EE5\u663E\u793A\u6570\u5B66\u7B26\u53F7\uFF0C\u56FE\u50CF\u5B57\u4F53\u4EA6\u65E0\u6CD5\u4F7F\u7528\uFF0C\u6240\u4EE5\u6211\u4EEC\u4E0D\u5F97\u4E0D\u8C03\u7528Unicode\u5B57\u7B26\u4EE5\u663E\u793A\u4E4B\u3002\u67D0\u4E9B\u5B57\u7B26\u5C06\u65E0\u6CD5\u6B63\u786E\u663E\u793A\uFF0C\u4E43\u81F3\u5F7B\u5E95\u65E0\u6CD5\u663E\u793A\u3002", + webFonts: "\u73B0\u65F6\u5927\u591A\u6570\u6D4F\u89C8\u5668\u5141\u8BB8\u901A\u8FC7\u4E92\u8054\u7F51\u4E0B\u8F7D\u5B57\u4F53\u3002\u66F4\u65B0\u60A8\u7684\u6D4F\u89C8\u5668\u81F3\u6700\u65B0\u7248\u672C\uFF08\u6216\u8005\u5E72\u8106\u66F4\u6362\u6D4F\u89C8\u5668\uFF09\u4EE5\u4FBF\u5728\u6B64\u9875\u9762\u63D0\u9AD8\u6570\u5B66\u7B26\u53F7\u7684\u663E\u793A\u8D28\u91CF\u3002", + fonts: "MathJax\u53EF\u4F7F\u7528[STIX fonts](%1)\u6216\u8005[MathJax TeX fonts](%2)\u3002\u4E0B\u8F7D\u5E76\u5B89\u88C5\u8FD9\u4E9B\u5B57\u4F53\u4EE5\u6539\u5584\u60A8\u7684MathJax\u4F53\u9A8C\u3002", + STIXPage: "\u6B64\u9875\u9762\u88AB\u8BBE\u8BA1\u4E3A\u4F7F\u7528[STIX fonts](%1)\u3002\u4E0B\u8F7D\u5E76\u5B89\u88C5\u5B83\u4EE5\u589E\u52A0\u60A8\u7684MathJax\u4F53\u9A8C\u3002", + TeXPage: "\u6B64\u9875\u9762\u88AB\u8BBE\u8BA1\u4E3A\u4F7F\u7528[MathJax TeX fonts](%1)\u3002\u4E0B\u8F7D\u5E76\u5B89\u88C5\u5B83\u4EE5\u589E\u52A0\u60A8\u7684MathJax\u4F53\u9A8C\u3002" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/HTML-CSS.js new file mode 100644 index 00000000..9f10f5da --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hans/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u52A0\u8F7Dweb\u5B57\u4F53%1", + CantLoadWebFont: "Web\u5B57\u4F53%1\u65E0\u6CD5\u52A0\u8F7D", + FirefoxCantLoadWebFont: "\u60A8\u5728\u4F7F\u7528\u706B\u72D0\u6D4F\u89C8\u5668\uFF0C\u5979\u4E0D\u652F\u6301\u4ECE\u8FDC\u7A0B\u4E3B\u673A\u4E0B\u8F7D\u4EFB\u4F55web\u5B57\u4F53", + CantFindFontUsing: "\u65E0\u6CD5\u627E\u5230\u4F7F\u7528%1\u7684\u6709\u6548\u5B57\u4F53", + WebFontsNotAvailable: "Web\u5B57\u4F53\u4E0D\u77E5\u4E3A\u4F55\u65E0\u6CD5\u4F7F\u7528\uFF1F\uFF01\u2014\u2014\u6211\u4EEC\u5C06\u4E3A\u9601\u4E0B\u8F6C\u6362\u4E3A\u56FE\u7247\u5B57\u4F53" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/HelpDialog.js new file mode 100644 index 00000000..25285410 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hans/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax\u5E2E\u52A9", + MathJax: "*MathJax*\u662F\u4E00\u79CD\u8BA9\u7F51\u9875\u5236\u4F5C\u8005\u5F80\u7F51\u9875\u4E2D\u52A0\u5165\u6570\u5B66\u5F0F\u7684JavaScript\u8FD0\u884C\u5E93\u3002\u4F5C\u4E3A\u8BFB\u8005\uFF0C\u60A8\u4E0D\u9700\u8981\u505A\u4EFB\u4F55\u4F7F\u5176\u51FA\u73B0\u7684\u4E8B\u60C5\u3002", + Browsers: "*\u6D4F\u89C8\u5668*\uFF1AMathJax\u53EF\u4EE5\u5728\u6240\u6709\u8F83\u65B0\u6D4F\u89C8\u5668\u4E0A\u5DE5\u4F5C\uFF0C\u5305\u62ECIE6+\u3001Firefox 3+\u3001Chrome 0.2+\u3001Safari 2+\u3001Opera 9.6+\u548C\u5927\u591A\u6570\u79FB\u52A8\u6D4F\u89C8\u5668\u3002", + Menu: "*\u6570\u5F0F\u83DC\u5355*\uFF1AMathJax\u7ED9\u6570\u5F0F\u6DFB\u52A0\u4E86\u5FEB\u6377\u83DC\u5355\u3002\u53F3\u952E\u6216\u6309Ctrl\u7136\u540E\u70B9\u51FB\u4EFB\u4F55\u6570\u5F0F\u5373\u53EF\u8FDB\u5165\u83DC\u5355\u3002", + ShowMath: "*\u6570\u5F0F\u663E\u793A\u5F62\u5F0F*\u5141\u8BB8\u60A8\u6D4F\u89C8\u516C\u5F0F\u7684\u6E90\u4EE3\u7801\u4EE5\u4FBF\u590D\u5236\u7C98\u8D34\uFF08\u4EE5\u539F\u59CB\u5F62\u5F0F\u6216MathML\uFF09\u3002", + Settings: "*\u6570\u5B66\u8BBE\u7F6E*\u91CC\u60A8\u60A8\u53EF\u4EE5\u8C03\u6574MathJax\u7684\u5404\u79CD\u529F\u80FD\uFF0C\u6BD4\u5982\u8BF4\u6570\u5F0F\u7684\u5927\u5C0F\uFF0C\u548C\u663E\u793A\u7B49\u5F0F\u7684\u673A\u7406\u3002", + Language: "*\u8BED\u8A00*\u7ED9\u60A8\u9009\u62E9MathJax\u7528\u4F5C\u83DC\u5355\u548C\u8B66\u544A\u4FE1\u606F\u7684\u8BED\u8A00\u3002", + Zoom: "*\u6570\u5F0F\u7F29\u653E*\uFF1A\u5982\u679C\u60A8\u6D4F\u89C8\u7B49\u5F0F\u65F6\u9047\u5230\u56F0\u96BE\uFF0CMathJax\u53EF\u4EE5\u5C06\u5176\u653E\u5927\u6765\u4F7F\u60A8\u83B7\u5F97\u66F4\u597D\u7684\u4F53\u9A8C\u3002", + Accessibilty: "*\u8F85\u52A9\u529F\u80FD*\uFF1AMathJax\u4F1A\u81EA\u52A8\u4E0E\u8BBF\u95EE\u8005\u4EA4\u4E92\u4F7F\u89C6\u89C9\u969C\u788D\u8005\u7406\u89E3\u6570\u5F0F\u66F4\u52A0\u5BB9\u6613\u3002", + Fonts: "*\u5B57\u4F53*\uFF1AMathJax\u5C06\u4F1A\u4F7F\u7528\u60A8\u7535\u8111\u4E0A\u5B89\u88C5\u7684\u67D0\u4E9B\u6570\u5F0F\u5B57\u4F53\u6765\u663E\u793A\u6570\u5F0F\uFF1B\u5982\u679C\u6CA1\u6709\u5B89\u88C5\u7684\u8BDD\uFF0C\u5B83\u5C06\u4F7F\u7528\u7F51\u7EDC\u4E0A\u7684\u5B57\u4F53\u3002\u867D\u7136\u5E76\u975E\u5FC5\u8981\uFF0C\u4F46\u662F\u5C06\u8FD9\u4E9B\u5B57\u4F53\u5B89\u88C5\u5230\u672C\u5730\u80FD\u52A0\u901F\u6570\u5F0F\u7684\u663E\u793A\u3002\u6211\u4EEC\u5EFA\u8BAE\u60A8\u5B89\u88C5[STIX fonts](%1)\u3002", + CloseDialog: "\u5173\u95ED\u5E2E\u52A9\u5BF9\u8BDD" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathML.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathML.js new file mode 100644 index 00000000..d463da76 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u9519\u8BEF\u7684\u79FB\u52A8\u5B57\u5F62\uFF1A%1", + BadMglyphFont: "\u9519\u8BEF\u5B57\u4F53\uFF1A%1", + MathPlayer: "MathJax\u65E0\u6CD5\u542F\u7528MathPlayer\u3002\n\n\u5982\u679C\u8FD8\u6CA1\u6709\u5B89\u88C5MathPlayer\uFF0C\u60A8\u5FC5\u987B\u5148\u5B89\u88C5MathPlayer\u3002\u5982\u679C\u60A8\u7684\u5B89\u5168\u8BBE\u7F6E\u6709\u53EF\u80FD\u4F1A\u963B\u6B62ActiveX\u7684\u8FD0\u884C\uFF0C\u8BF7\u5728\u5DE5\u5177\u83DC\u5355\u4E0B\u7684Internet \u9009\u9879\u4E2D\u9009\u62E9\u5B89\u5168\u6807\u7B7E\u7136\u540E\u70B9\u51FB\u81EA\u5B9A\u4E49\u7EA7\u522B\uFF0C\u68C0\u67E5\u201C\u4E8C\u8FDB\u5236\u6587\u4EF6\u548C\u811A\u672C\u884C\u4E3A\u201D\u548C\u201C\u8FD0\u884C ActiveX \u63A7\u4EF6\u201D\u662F\u5426\u5DF2\u542F\u7528\u3002\n\n\u76EE\u524D\u60A8\u770B\u5230\u7684\u53EA\u80FD\u662F\u9519\u8BEF\u4FE1\u606F\u800C\u975E\u6392\u7248\u6570\u5F0F\u3002", + CantCreateXMLParser: "MathJax\u65E0\u6CD5\u4E3AMathML\u521B\u5EFAXML\u89E3\u6790\u5668\u3002\u8BF7\u68C0\u67E5\u5B89\u5168\u8BBE\u7F6E\n\u201C\u5BF9\u6807\u8BB0\u4E3A\u53EF\u5B89\u5168\u6267\u884C\u811A\u672C\u7684 Active \u63A7\u4EF6\u6267\u884C\u811A\u672C\u201D\n\u662F\u5426\u5DF2\u5F00\u542F\uFF08\u5728\u5DE5\u5177\u4E2D\u5F00\u542FInternet \u9009\u9879\u7136\u540E\u9009\u62E9\u5B89\u5168\n\u9762\u677F\uFF0C\u70B9\u81EA\u5B9A\u4E49\u7EA7\u522B\u6309\u94AE\u627E\u5230\u8FD9\u4E2A\u9009\u9879\u5E76\u5F00\u542F\uFF09\u3002\n\nMathJax\u5C06\u65E0\u6CD5\u5904\u7406MathML\u7B49\u5F0F", + UnknownNodeType: "\u672A\u77E5\u7684\u8282\u70B9\u7C7B\u578B\uFF1A%1", + UnexpectedTextNode: "\u610F\u5916\u7684\u6587\u672C\u8282\u70B9\uFF1A%1", + ErrorParsingMathML: "\u89E3\u6790MathML\u65F6\u51FA\u9519", + ParsingError: "\u89E3\u6790MathML\u65F6\u51FA\u9519\uFF1A%1", + MathMLSingleElement: "MathML\u5FC5\u987B\u7528\u5355\u4E2A\u5143\u7D20\u5EFA\u7ACB", + MathMLRootElement: "MathML\u5FC5\u987B\u7528\u003Cmath\u003E\u5143\u7D20\u5EFA\u7ACB\uFF0C\u800C\u4E0D\u662F%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathMenu.js new file mode 100644 index 00000000..98d437f5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hans/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u6570\u5F0F\u663E\u793A\u5F62\u5F0F", + MathMLcode: "MathML\u4EE3\u7801", + OriginalMathML: "\u539F\u59CB\u7684MathML", + TeXCommands: "TeX\u547D\u4EE4", + AsciiMathInput: "AsciiMathML\u8F93\u5165", + Original: "\u539F\u59CB\u683C\u5F0F", + ErrorMessage: "\u9519\u8BEF\u4FE1\u606F", + Annotation: "\u6CE8\u91CA", + TeX: "TeX", + StarMath: "StarMath", + Maple: "\u67AB\u53F6", + ContentMathML: "MathML\u5185\u5BB9", + OpenMath: "OpenMath", + texHints: "\u5728MathML\u4E2D\u663E\u793ATeX\u63D0\u793A", + Settings: "\u6570\u5B66\u8BBE\u7F6E", + ZoomTrigger: "\u7F29\u653E\u89E6\u53D1", + Hover: "\u6307\u9488\u60AC\u505C", + Click: "\u70B9\u51FB", + DoubleClick: "\u53CC\u51FB", + NoZoom: "\u5E76\u65E0\u7F29\u653E", + TriggerRequires: "\u89E6\u53D1\u9700\u8981\uFF1A", + Option: "\u9009\u9879", + Alt: "Alt\u952E", + Command: "Command\u952E", + Control: "Ctrl\u952E", + Shift: "Shift\u952E", + ZoomFactor: "\u53D8\u7126\u500D\u7387", + Renderer: "\u6570\u5B66\u6E32\u67D3", + MPHandles: "\u5141\u8BB8MathPlayer\u5904\u7406\uFF1A", + MenuEvents: "\u83DC\u5355\u4E8B\u4EF6", + MouseEvents: "\u9F20\u6807\u4E8B\u4EF6", + MenuAndMouse: "\u9F20\u6807\u548C\u83DC\u5355\u4E8B\u4EF6", + FontPrefs: "\u5B57\u4F53\u8BBE\u7F6E", + ForHTMLCSS: "\u7528\u4E8EHTML-CSS\uFF1A", + Auto: "\u81EA\u52A8", + TeXLocal: "TeX\uFF08\u672C\u5730\uFF09", + TeXWeb: "TeX\uFF08\u7F51\u9875\uFF09", + TeXImage: "TeX\uFF08\u56FE\u7247\uFF09", + STIXLocal: "STIX\uFF08\u672C\u5730\uFF09", + STIXWeb: "STIX\uFF08web\uFF09", + LatinModernWeb: "\u62C9\u4E01\u6469\u767B\uFF08web\uFF09", + ContextMenu: "\u4E0A\u4E0B\u6587\u83DC\u5355", + Browser: "\u6D4F\u89C8\u5668", + Scale: "\u7F29\u653E\u6240\u6709\u6570\u5B66...", + Discoverable: "\u60AC\u505C\u4EAE\u70B9", + Locale: "\u8BED\u8A00", + LoadLocale: "\u4ECEURL\u8F7D\u5165...", + About: "\u5173\u4E8EMathJax", + Help: "MathJax\u5E2E\u52A9", + localTeXfonts: "\u4F7F\u7528\u672C\u5730TeX\u5B57\u4F53", + webTeXfonts: "\u4F7F\u7528\u7F51\u9875TeX\u5B57\u4F53", + imagefonts: "\u56FE\u50CF\u5B57\u4F53\u4F7F\u7528\u4E2D", + localSTIXfonts: "\u4F7F\u7528\u672C\u5730STIX\u5B57\u4F53", + webSVGfonts: "\u4F7F\u7528\u7F51\u9875SVG\u5B57\u4F53", + genericfonts: "\u4F7F\u7528\u901A\u7528Unicode\u5B57\u4F53", + wofforotffonts: "woff\u6216otf\u5B57\u4F53", + eotffonts: "eot\u5B57\u4F53", + svgfonts: "svg\u5B57\u4F53", + WebkitNativeMMLWarning: "\u60A8\u7684\u6D4F\u89C8\u5668\u636E\u4FE1\u65E0\u6CD5\u652F\u6301MathML\u672C\u8EAB\uFF0C\u56E0\u6B64\u5207\u6362\u5230MathML\u8F93\u51FA\u5C06\u53EF\u80FD\u5BFC\u81F4\u9875\u9762\u4E0A\u7684\u6570\u5B66\u516C\u5F0F\u4E0D\u53EF\u8BFB\u3002", + MSIENativeMMLWarning: "Internet Explorer\u9700\u8981MathPlayer\u63D2\u4EF6\u6765\u5904\u7406MathML\u8F93\u51FA\u3002", + OperaNativeMMLWarning: "Opera\u5BF9MathML\u7684\u652F\u6301\u5341\u5206\u6709\u9650\uFF0C\u56E0\u6B64\u8F6C\u6362\u81F3MathML\u8F93\u51FA\u53EF\u80FD\u4F1A\u5BFC\u81F4\u4E00\u4E9B\u8868\u8FBE\u5F0F\u65E0\u6CD5\u6B63\u5E38\u6E32\u67D3\u3002", + SafariNativeMMLWarning: "\u60A8\u7684\u6D4F\u89C8\u5668\u7684MathML\u4E0D\u652F\u6301\u6240\u6709MathJax\u7684\u529F\u80FD\uFF0C\u6709\u4E9B\u8868\u8FBE\u5F0F\u53EF\u80FD\u65E0\u6CD5\u6B63\u5E38\u5448\u73B0\u3002", + FirefoxNativeMMLWarning: "\u60A8\u7684\u6D4F\u89C8\u5668\u7684MathML\u4E0D\u652F\u6301\u6240\u6709MathJax\u7684\u529F\u80FD\uFF0C\u6709\u4E9B\u8868\u8FBE\u5F0F\u53EF\u80FD\u65E0\u6CD5\u6B63\u5E38\u5448\u73B0\u3002", + LoadURL: "\u4ECE\u6B64URL\u52A0\u8F7D\u7FFB\u8BD1\u6570\u636E\uFF1A", + BadURL: "URL\u5FC5\u987B\u94FE\u81F3\u5B9A\u4E49MathJax\u7FFB\u8BD1\u6570\u636E\u7684JavaScript\u6587\u4EF6\u3002JavaScript\u7684\u6587\u4EF6\u540D\u5E94\u4EE5\u201C.js\u201D\u7ED3\u5C3E", + BadData: "\u4ECE%1\u52A0\u8F7D\u7FFB\u8BD1\u6570\u636E\u5931\u8D25", + SwitchAnyway: "\u4E00\u5B9A\u8981\u66F4\u6539\u6E32\u67D3\u5668\uFF1F\n\n\uFF08\u70B9OK\u66F4\u6539\uFF0C\u70B9\u53D6\u6D88\u5373\u4EE5\u5F53\u524D\u6E32\u67D3\u5668\u7EE7\u7EED\uFF09", + ScaleMath: "\u6570\u5F0F\u7F29\u653E\u767E\u5206\u6BD4\uFF08\u5BF9\u6BD4\u4E8E\u65C1\u8FB9\u7684\u6587\u5B57\uFF09", + NonZeroScale: "\u500D\u7387\u4E0D\u5E94\u4E3A\u96F6", + PercentScale: "\u500D\u7387\u5E94\u8BE5\u662F\u4E00\u4E2A\u767E\u5206\u6BD4 \uFF08\u4F8B\u5982120%%\uFF09", + IE8warning: "\u8FD9\u5C06\u5173\u95EDMathJax\u83DC\u5355\u4E0E\u7F29\u653E\u529F\u80FD\uFF0C\u4F46\u60A8\u53EF\u4EE5\u70B9\u51FBAlt-Click\u6216\u70B9\u51FB\u4E00\u4E2A\u8868\u8FBE\u5F0F\u6765\u8FDB\u5165MathJax\u83DC\u5355\u3002\n\n\u786E\u5B9E\u8981\u66F4\u6539MathPlayer\u8BBE\u7F6E\u5417\uFF1F", + IE9warning: "MathJax\u5FEB\u6377\u83DC\u5355\u5C06\u5173\u95ED\uFF0C\u4F46\u60A8\u53EF\u4EE5\u6309Alt\u5E76\u70B9\u51FB\u8868\u8FBE\u5F0F\u6765\u547C\u51FA\u83DC\u5355\u3002", + NoOriginalForm: "\u6CA1\u6709\u53EF\u7528\u7684\u539F\u59CB\u5F62\u5F0F", + Close: "\u5173\u95ED", + EqSource: "MathJax \u65B9\u7A0B\u6E90", + AsanaMathWeb: "Asana Math (web)", + GyrePagellaWeb: "Gyre Pagella (web)", + GyreTermesWeb: "Gyre Termes (web)", + NeoEulerWeb: "Neo Euler (web)", + MSIESVGWarning: "SVG\u5728 IE9 \u4E4B\u524D\u7684 Internet Explorer \u6216\u4F7F\u7528 IE8 \u53CA\u4EE5\u4E0B\u67B6\u6784\u7684\u6D4F\u89C8\u5668\u4E2D\u4E0D\u6267\u884C\u3002\u8F6C\u6362SVG\u8F93\u51FA\u5C06\u5BFC\u81F4\u6570\u5B66\u516C\u5F0F\u4E0D\u80FD\u6B63\u5E38\u663E\u793A\u3002", + CloseAboutDialog: "\u5173\u95ED\u6709\u5173MathJax\u5BF9\u8BDD", + FastPreview: "\u5FEB\u901F\u9884\u89C8", + AssistiveMML: "\u8F85\u52A9MathML", + InTabOrder: "\u5305\u542B\u5728\u6807\u7B7E\u987A\u5E8F\u4E2D" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/TeX.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/TeX.js new file mode 100644 index 00000000..0b5b3d52 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hans/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u6709\u591A\u4F59\u7684\u5DE6\u62EC\u53F7\u6216\u7F3A\u5C11\u53F3\u62EC\u53F7", + ExtraCloseMissingOpen: "\u6709\u591A\u4F59\u7684\u53F3\u62EC\u53F7\u6216\u7F3A\u5C11\u5DE6\u62EC\u53F7", + MissingLeftExtraRight: "\u4E22\u5931\\left\u6216\u989D\u5916\u51FA\u73B0\\right", + MissingScript: "\u6709\u4E0A\u6807\u6216\u4E0B\u6807\u7F3A\u5C11\u53C2\u6570", + ExtraLeftMissingRight: "\u989D\u5916\u7684\\left\u6216\u8005\u4E22\u5931\\right", + Misplaced: "%1\u88AB\u653E\u7F6E\u4E8E\u9519\u8BEF\u7684\u5730\u65B9", + MissingOpenForSub: "\u7F3A\u5C11\u4E0B\u6807\u7684\u5DE6\u62EC\u53F7", + MissingOpenForSup: "\u7F3A\u5C11\u4E0A\u6807\u7684\u5DE6\u62EC\u53F7", + AmbiguousUseOf: "%1\u7684\u4F7F\u7528\u4E0D\u660E\u786E", + EnvBadEnd: "\\begin{%1}\u7531\\end{%2}\u7ED3\u675F\u4E4B", + EnvMissingEnd: "\\end{%1}\u4E22\u5931", + MissingBoxFor: "\u7F3A\u5C11\u7528\u4E8E%1\u7684\u6846", + MissingCloseBrace: "\u7F3A\u5C11\u53F3\u62EC\u53F7", + UndefinedControlSequence: "\u672A\u5B9A\u4E49\u7684\u63A7\u5236\u6570\u5217%1", + DoubleExponent: "\u4E24\u4E2A\u6307\u6570\uFF1A\u4F7F\u7528\u5927\u62EC\u53F7\u6765\u6F84\u6E05", + DoubleSubscripts: "\u53CC\u4E0B\u6807\uFF1A\u4F7F\u7528\u62EC\u53F7\u6765\u660E\u786E", + CantUseHash1: "\u60A8\u4E0D\u80FD\u5728\u6570\u5B66\u6A21\u5F0F\u4E2D\u4F7F\u7528\u201C\u5B8F\u53C2\u6570\u5B57\u7B26#\u201D", + MisplacedMiddle: "%1\u5FC5\u987B\u5728\\left\u548C\\right\u4E4B\u5185", + MisplacedLimits: "%1\u53EA\u5141\u8BB8\u5728\u8FD0\u7B97\u7B26\u4E0A", + MisplacedMoveRoot: "%1\u53EA\u80FD\u5728\u6839\u4E2D\u51FA\u73B0", + MultipleCommand: "\u591A\u79CD%1", + IntegerArg: "\u53C2\u6570%1\u5FC5\u987B\u662F\u6574\u6570", + NotMathMLToken: "%1\u4E0D\u662F\u6743\u6807\u5143\u7D20", + InvalidMathMLAttr: "\u65E0\u6548MathML\u5C5E\u6027\uFF1A%1", + UnknownAttrForElement: "%1\u4E0D\u662F%2\u7684\u5DF2\u8BC6\u522B\u5C5E\u6027", + MaxMacroSub1: "\u8D85\u51FAMathJax\u6700\u5927\u5B8F\u66FF\u4EE3\u6B21\u6570\uFF1B\u5B58\u5728\u9012\u5F52\u7684\u5B8F\u8C03\u7528\uFF1F", + MissingArgFor: "\u4E0E%1\u76F8\u5173\u7684\u53C2\u6570\u7F3A\u5931", + InvalidEnv: "\u65E0\u6548\u7684\u73AF\u5883\u540D\u79F0\u201C%1\u201D", + UnknownEnv: "\u672A\u77E5\u7684\u73AF\u5883\u53D8\u91CF'%1'", + MissingCloseBracket: "\u65E0\u6CD5\u627E\u5230%1\u7684\u53C2\u6570\u7684\u53F3\u201C]\u201D", + MissingOrUnrecognizedDelim: "\u627E\u4E0D\u5230\u6216\u65E0\u6CD5\u8BC6\u522B%1\u7684\u5206\u9694\u7B26", + MissingDimOrUnits: "\u7F3A\u5C11%1\u7684\u7EF4\u5EA6\u6216\u5176\u5355\u4F4D", + TokenNotFoundForCommand: "\u65E0\u6CD5\u627E\u5230\u7528\u4E8E%2\u7684%1", + MathNotTerminated: "\u6570\u5B66\u5F0F\u5728\u6587\u672C\u6846\u4E2D\u672A\u7ED3\u675F", + IllegalMacroParam: "\u975E\u6CD5\u5B8F\u53C2\u6570\u5F15\u7528", + MaxBufferSize: "MathJax\u5185\u90E8\u7F13\u51B2\u533A\u5927\u5C0F\u8D85\u9650\uFF1B\u5B58\u5728\u9012\u5F52\u7684\u5B8F\u8C03\u7528\uFF1F", + CommandNotAllowedInEnv: "%1\u5728%2\u73AF\u5883\u4E2D\u4E0D\u5141\u8BB8", + IllegalAlign: "\u6307\u5B9A\u7684\u5BF9\u9F50\u65B9\u5F0F%1\u4E0D\u7B26\u7F16\u8F91\u624B\u518C", + BadMathStyleFor: "%1\u7684\u6570\u5F0F\u6837\u5F0F\u65E0\u6548", + PositiveIntegerArg: "\u53C2\u6570%1\u5FC5\u987B\u662F\u6B63\u6574\u6570", + ErroneousNestingEq: "\u9519\u8BEF\u7684\u65B9\u7A0B\u5D4C\u5957\u7ED3\u6784", + MultipleBBoxProperty: "%1\u5728%2\u4E2D\u6307\u5B9A\u4E86\u4E24\u6B21", + ExtraEndMissingBegin: "\u6709\u591A\u4F59\u7684%1\u6216\u7F3A\u5C11\\begingroup", + UndefinedColorModel: "\u8272\u5F69\u6A21\u5757\u201C%1\u201D\u672A\u5B9A\u4E49", + ModelArg1: "%1\u6A21\u5757\u7684\u8272\u5F69\u503C\u9700\u8981\u4E09\u4E2A\u6570\u5B57", + InvalidDecimalNumber: "\u65E0\u6548\u5341\u8FDB\u5236\u6570", + ModelArg2: "%1\u6A21\u5757\u7684\u8272\u5F69\u503C\u5FC5\u987B\u5728%2\u548C%3\u4E4B\u95F4", + InvalidNumber: "\u4E0D\u5141\u8BB8\u7684\u6570\u5B57", + NewextarrowArg1: "%1\u7684\u7B2C\u4E00\u4E2A\u53C2\u6570\u5FC5\u987B\u662F\u4E00\u4E2A\u63A7\u5236\u6570\u5217\u540D\u79F0", + NewextarrowArg2: "%1\u7684\u7B2C\u4E8C\u4E2A\u53C2\u6570\u5FC5\u987B\u662F\u7531\u9017\u53F7\u5206\u5F00\u7684\u4E24\u4E2A\u6574\u6570", + NewextarrowArg3: "%1\u7684\u7B2C\u4E09\u4E2A\u53C2\u6570\u5FC5\u987B\u662FUnicode\u5B57\u7B26\u503C", + NoClosingChar: "\u672A\u80FD\u627E\u5230\u5173\u95ED\u7684%1", + IllegalControlSequenceName: "\u975E\u6CD5\u63A7\u5236\u5E8F\u5217\u540D\u79F0%1", + IllegalParamNumber: "%1\u6307\u5B9A\u7684\u53C2\u6570\u6570\u91CF\u975E\u6CD5", + MissingCS: "%1\u5FC5\u987B\u8DDF\u7740\u4E00\u4E2A\u63A7\u5236\u5E8F\u5217", + CantUseHash2: "%1\u7684\u6A21\u677F\u4E2D\u975E\u6CD5\u4F7F\u7528#", + SequentialParam: "%1\u7684\u53C2\u6570\u5FC5\u987B\u987A\u5E8F\u6807\u53F7", + MissingReplacementString: "%1\u7684\u5B9A\u4E49\u7F3A\u5C11\u66FF\u6362\u5B57\u7B26\u4E32", + MismatchUseDef: "%1\u7684\u4F7F\u7528\u4E0D\u7B26\u5408\u5176\u5B9A\u4E49", + NoClosingDelim: "\u65E0\u6CD5\u627E\u5230\u7528\u4E8E\u7ED3\u675F\u7684\u5206\u9694\u7B26%1", + MaxMacroSub2: "\u5DF2\u8D85\u51FAMathJax\u7684\u6700\u9AD8\u66FF\u4EE3\u6B21\u6570\uFF1B\u96BE\u9053\u5B58\u5728\u5FAA\u73AFLaTeX\u73AF\u5883\uFF1F", + MultipleLabel: "\u5DF2\u5B9A\u4E49\u6807\u7B7E\u201C%1\u201D\u4E58", + DoubleExponentPrime: "\u89D2\u5206\u7B26\u53F7\u5BFC\u81F4\u53CC\u91CD\u6307\u6570\uFF1A\u4F7F\u7528\u5927\u62EC\u53F7\u6F84\u6E05", + ExtraAlignTab: "\\cases \u6587\u672C\u4E2D\u6709\u989D\u5916\u7684\u53C2\u6570\u5236\u8868\u7B26", + BracketMustBeDimension: "%1\u7684\u62EC\u53F7\u53C2\u6570\u5FC5\u987B\u662F\u4E00\u4E2A\u5C3A\u5BF8", + ExtraCloseLooking: "\u5BFB\u627E %1 \u65F6\u53D1\u73B0\u4E00\u4E2A\u989D\u5916\u7684\u53F3\u5927\u62EC\u53F7", + CommandAtTheBeginingOfLine: "%1\u5FC5\u987B\u4F4D\u4E8E\u884C\u7684\u5F00\u5934", + MultlineRowsOneCol: "%1 \u73AF\u5883\u5185\u7684\u884C\u5FC5\u987B\u53EA\u6709\u4E00\u4E2A\u5217", + InvalidBBoxProperty: "\u201C%1\u201D\u597D\u50CF\u4E0D\u662F\u4E00\u4E2A\u989C\u8272\u3001\u586B\u5145\u5C3A\u5BF8\u6216\u6837\u5F0F", + GlobalNotFollowedBy: "%1\u4E0D\u88AB\\let\u3001\\def\u6216\\newcommand\u5141\u8BB8", + RunawayArgument: "%1\u7684\u53C2\u6570\u5931\u63A7\u4E86\u4E48\uFF1F" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hans/zh-hans.js b/src/py/kaleido/vendor/mathjax/localization/zh-hans/zh-hans.js new file mode 100644 index 00000000..b28193d0 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hans/zh-hans.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/localization/zh-hans/zh-hans.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hans",null,{ + menuTitle: "\u4E2D\u6587\uFF08\u7B80\u4F53\uFF09", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + CookieConfig: "MathJax\u5DF2\u627E\u5230\u7528\u6237\u914D\u7F6E\uFF0C\u5176\u4E2D\u5305\u542B\u8981\u8FD0\u884C\u4EE3\u7801\u6240\u4F9D\u8D56\u7684cookie\u3002\u60A8\u60F3\u8FD0\u884C\u5B83\u4E48\uFF1F\n\n\uFF08\u60A8\u5E94\u8BE5\u81EA\u884C\u6309\u53D6\u6D88\u9664\u975E\u60A8\u8BBE\u7F6E\u4E86\u81EA\u5DF1\u7684cookie\u3002\uFF09", + MathProcessingError: "\u6570\u5B66\u5904\u7406\u9519\u8BEF", + MathError: "\u6570\u5B66\u9519\u8BEF", + LoadFile: "%1\u52A0\u8F7D\u4E2D", + Loading: "\u52A0\u8F7D\u4E2D", + LoadFailed: "\u65E0\u6CD5\u52A0\u8F7D\u6587\u4EF6\uFF1A%1", + ProcessMath: "\u6570\u5B66\u5904\u7406\uFF1A%1%%", + Processing: "\u5904\u7406\u4E2D", + TypesetMath: "\u6392\u7248\u6570\u5B66\uFF1A%1%%", + Typesetting: "\u6392\u7248", + MathJaxNotSupported: "\u60A8\u7684\u6D4F\u89C8\u5668\u6682\u4E0D\u652F\u6301MathJax", + ErrorTips: "\u8C03\u8BD5\u63D0\u793A\uFF1A\u4F7F\u7528%%1\uFF0C\u5728\u6D4F\u89C8\u5668\u63A7\u5236\u53F0\u4E2D\u68C0\u67E5%%2" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hans/zh-hans.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/FontWarnings.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/FontWarnings.js new file mode 100644 index 00000000..e1d982c1 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hant/FontWarnings.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/FontWarnings.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","FontWarnings",{ + version: "2.7.5", + isLoaded: true, + strings: { + webFont: "MathJax\u662F\u4F7F\u7528\u57FA\u65BC\u7DB2\u9801\u7684\u5B57\u578B\u4F86\u986F\u793A\u9801\u9762\u4E0A\u7684\u6578\u5B78\u76F8\u95DC\u5167\u5BB9\u3002\u56E0\u6B64\u6703\u82B1\u8CBB\u4E00\u4E9B\u6642\u9593\u4E0B\u8F09\u5B57\u578B\uFF0C\u82E5\u60F3\u8B93\u9801\u9762\u80FD\u8F03\u5FEB\u5448\u73FE\u51FA\u5167\u5BB9\uFF0C\u60A8\u53EF\u4EE5\u5C07\u6240\u4F7F\u7528\u5230\u7684\u6578\u5B78\u5B57\u578B\u4E0B\u8F09\u5B89\u88DD\u5230\u60A8\u96FB\u8166\u672C\u6A5F\u88E1\u7684\u7CFB\u7D71\u5B57\u578B\u8CC7\u6599\u593E\u3002", + imageFonts: "MathJax\u4F7F\u7528\u5716\u50CF\u5B57\u578B\u800C\u975E\u672C\u5730\u7AEF\u6216\u57FA\u65BC\u7DB2\u9801\u7684\u5B57\u578B\u3002\u8207\u4E00\u822C\u60C5\u6CC1\u76F8\u6BD4\u6703\u8F03\u6162\u5448\u73FE\u51FA\u5167\u5BB9\uFF0C\u800C\u6240\u5448\u73FE\u6578\u5B78\u516C\u5F0F\u5728\u60A8\u7684\u5370\u8868\u6A5F\u4E0A\u53EF\u80FD\u6C92\u8FA6\u6CD5\u5B8C\u6574\u8FA8\u8B58\u5730\u5370\u51FA\u3002", + noFonts: "\u56E0MathJax\u7121\u6CD5\u8A2D\u7F6E\u8981\u7528\u65BC\u986F\u793A\u6578\u5B78\u516C\u5F0F\u7684\u5B57\u578B\uFF0C\u800C\u4E14\u5716\u50CF\u5B57\u578B\u7121\u6CD5\u4F7F\u7528\uFF0C\u6240\u4EE5\u6539\u63A1\u901A\u7528\u842C\u570B\u78BC\u5B57\u5143\u4EE5\u5118\u91CF\u80FD\u8B93\u60A8\u7684\u700F\u89BD\u5668\u6B63\u78BA\u986F\u793A\u5167\u5BB9\u3002\u67D0\u4E9B\u3001\u6216\u751A\u81F3\u5168\u90E8\u5B57\u5143\u6709\u53EF\u80FD\u6703\u7121\u6CD5\u6B63\u78BA\u5730\u986F\u793A\u51FA\u3002", + webFonts: "\u73FE\u4ECA\u591A\u6578\u7684\u700F\u89BD\u5668\u5141\u8A31\u7D93\u7531\u7DB2\u969B\u7DB2\u8DEF\u4E0B\u8F09\u5B57\u578B\u3002\u5C07\u60A8\u7684\u700F\u89BD\u5668\u66F4\u65B0\u81F3\u6700\u65B0\u7248\u672C\uFF08\u6216\u662F\u66F4\u63DB\u700F\u89BD\u5668\uFF09\u4F86\u52A0\u5F37\u9801\u9762\u4E0A\u6578\u5B78\u516C\u5F0F\u7684\u986F\u793A\u8CEA\u611F\u3002", + fonts: "MathJax\u53EF\u4F7F\u7528[STIX fonts](%1)\u6216[MathJax TeX fonts](%2)\u3002\u4E0B\u8F09\u4F86\u5B89\u88DD\u9019\u4E9B\u5B57\u578B\u80FD\u6539\u5584\u60A8\u5728MathJax\u7684\u4F7F\u7528\u9AD4\u9A57\u3002", + STIXPage: "\u6B64\u9801\u9762\u662F\u8A2D\u8A08\u4F86\u4F7F\u7528[STIX fonts](%1)\u3002\u4E0B\u8F09\u5B89\u88DD\u6B64\u5B57\u578B\u4EE5\u6539\u5584\u60A8\u5728MathJax\u7684\u4F7F\u7528\u9AD4\u9A57\u3002", + TeXPage: "\u6B64\u9801\u9762\u662F\u8A2D\u8A08\u4F86\u4F7F\u7528[MathJax TeX fonts](%1)\u3002\u4E0B\u8F09\u5B89\u88DD\u6B64\u5B57\u578B\u4EE5\u6539\u5584\u60A8\u5728MathJax\u7684\u4F7F\u7528\u9AD4\u9A57\u3002" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/FontWarnings.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/HTML-CSS.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/HTML-CSS.js new file mode 100644 index 00000000..4d6b1576 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hant/HTML-CSS.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/HTML-CSS.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","HTML-CSS",{ + version: "2.7.5", + isLoaded: true, + strings: { + LoadWebFont: "\u7DB2\u9801\u5B57\u578B%1\u8F09\u5165\u4E2D", + CantLoadWebFont: "\u7121\u6CD5\u8F09\u5165\u7DB2\u9801\u5B57\u578B%1", + FirefoxCantLoadWebFont: "Firefox\u700F\u89BD\u5668\u7121\u6CD5\u5F9E\u9060\u7AEF\u4E3B\u6A5F\u8F09\u5165\u7DB2\u9801\u5B57\u578B", + CantFindFontUsing: "\u7121\u6CD5\u627E\u5230\u4F7F\u7528%1\u7684\u6709\u6548\u5B57\u578B", + WebFontsNotAvailable: "\u7DB2\u9801\u5B57\u578B\u7121\u6CD5\u4F7F\u7528\u3002\u6539\u7528\u5716\u50CF\u5B57\u578B\u53D6\u4EE3" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/HTML-CSS.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/HelpDialog.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/HelpDialog.js new file mode 100644 index 00000000..cf291662 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hant/HelpDialog.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/HelpDialog.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","HelpDialog",{ + version: "2.7.5", + isLoaded: true, + strings: { + Help: "MathJax \u8AAA\u660E", + MathJax: "*MathJax*\u662F\u4E00\u500B\u80FD\u8B93\u7DB2\u9801\u958B\u767C\u8005\u5728\u4ED6\u5011\u7DB2\u9801\u88E1\u986F\u793A\u51FA\u6578\u5B78\u516C\u5F0F\u7684JavaScript\u51FD\u5F0F\u5EAB\u3002\n\u4F5C\u70BA\u7DB2\u9801\u7684\u700F\u89BD\u8005\uFF0C\u60A8\u4E0D\u9700\u8981\u57F7\u884C\u4EFB\u4F55\u52D5\u4F5C\u4FBF\u53EF\u89C0\u770B\u8A72\u6548\u679C\u3002", + Browsers: "*\u700F\u89BD\u5668*\uFF1A MathJax \u5728\u6240\u6709\u8F03\u65B0\u578B\u7684\u700F\u89BD\u5668\u4E0A\u7686\u53EF\u6B63\u5E38\u904B\u4F5C\uFF0C\u5305\u62ECIE6\u4EE5\u4E0A\u3001Firefox 3\u4EE5\u4E0A\u3001Chrome 0.2\u4EE5\u4E0A\u3001Safari 2\u4EE5\u4E0A\u3001\u548COpera 9.6\u4EE5\u4E0A\u7248\u672C\u4EE5\u53CA\u591A\u6578\u884C\u52D5\u88DD\u7F6E\u700F\u89BD\u5668\u3002", + Menu: "*\u6578\u5B78\u9078\u55AE*: MathJax\u5728\u65B9\u7A0B\u5F0F\u88E1\u6DFB\u52A0\u5FEB\u6377\u9078\u55AE\u3002\u5728\u4EFB\u4F55\u6578\u5B78\u516C\u5F0F\u88E1\u6309\u4E0B\u6ED1\u9F20\u53F3\u9375\u6216\u540C\u6642\u6309\u4E0BCtrl\u9375\u8207\u6ED1\u9F20\u5DE6\u9375\u5373\u53EF\u9032\u5165\u9078\u55AE\u3002", + ShowMath: "*\u986F\u793A\u6578\u5B78\u5F62\u5F0F* \u5141\u8A31\u60A8\u67E5\u770B\u516C\u5F0F\u7684\u539F\u59CB\u78BC\u67B6\u69CB\u4EE5\u4FBF\u65BC\u57F7\u884C\u8907\u88FD\u8CBC\u4E0A\u52D5\u4F5C\uFF08\u4EE5MathML\u6216\u539F\u59CB\u683C\u5F0F\uFF09\u3002", + Settings: "*\u6578\u5B78\u8A2D\u5B9A* \u80FD\u8B93\u60A8\u8ABF\u6574MathJax\u88E1\u7684\u529F\u80FD\uFF0C\u50CF\u662F\u6578\u5B78\u7B97\u5F0F\u7684\u5927\u5C0F\uFF0C\u548C\u986F\u793A\u516C\u5F0F\u65B9\u9762\u7684\u6A5F\u5236\u3002", + Language: "*\u8A9E\u8A00* \u8B93\u60A8\u9078\u64C7\u7D66MathJax\u5728\u9078\u55AE\u548C\u8B66\u544A\u8A0A\u606F\u4E0A\u4F7F\u7528\u7684\u8A9E\u8A00\u3002", + Zoom: "*\u6578\u5B78\u516C\u5F0F\u7E2E\u653E*\uFF1A \u5982\u679C\u60A8\u95B1\u8B80\u65B9\u7A0B\u5F0F\u6642\u89BA\u5F97\u770B\u4E0D\u6E05\u695A\uFF0CMathJax\u53EF\u4EE5\u5C07\u6B64\u653E\u5927\u8B93\u60A8\u80FD\u66F4\u65B9\u4FBF\u700F\u89BD\u3002", + Accessibilty: "*\u8F14\u52A9\u529F\u80FD*\uFF1A MathJax\u6703\u81EA\u884C\u8207\u87A2\u5E55\u95B1\u8B80\u5668\u904B\u4F5C\u8B93\u8996\u89BA\u969C\u7919\u8005\u89C0\u770B\u6578\u5B78\u516C\u5F0F\u6642\u80FD\u66F4\u52A0\u5BB9\u6613\u3002", + Fonts: "*\u5B57\u578B*\uFF1A\u82E5\u60A8\u96FB\u8166\u4E0A\u6709\u5B89\u88DD\u67D0\u4E9B\u7528\u65BC\u6578\u5B78\u516C\u5F0F\u7684\u5B57\u578BMathJax\u5C07\u6703\u4F7F\u7528\u6B64\uFF0C\u5426\u5247\u5C07\u6703\u4F7F\u7528\u57FA\u65BC\u7DB2\u9801\u7684\u5B57\u578B\u3002\u96D6\u7136\u4E26\u4E0D\u5F37\u5236\u8981\u6C42\uFF0C\u4F46\u672C\u5730\u7AEF\u4E0A\u82E5\u6709\u5B89\u88DD\u76F8\u95DC\u5B57\u578B\u53EF\u52A0\u5FEB\u9801\u9762\u7684\u6392\u7248\u901F\u5EA6\uFF0C\u800C\u6211\u5011\u5EFA\u8B70\u5B89\u88DD[STIX fonts](%1)\u3002", + CloseDialog: "\u95DC\u9589\u8AAA\u660E\u5C0D\u8A71\u6846" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/HelpDialog.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathML.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathML.js new file mode 100644 index 00000000..a0b463b5 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathML.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/MathML.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","MathML",{ + version: "2.7.5", + isLoaded: true, + strings: { + BadMglyph: "\u4E0D\u6B63\u78BA\u7684mglyph\uFF1A%1", + BadMglyphFont: "\u932F\u8AA4\u5B57\u578B\uFF1A%1", + MathPlayer: "MathJax\u6C92\u6709\u8FA6\u6CD5\u8A2D\u7F6EMathPlayer\u3002\n\n\u5982\u679CMathPlayer\u672A\u88AB\u5B89\u88DD\uFF0C\u60A8\u9700\u8981\u5148\u5B89\u88DD\u6B64\u5957\u4EF6\u3002\n\u5426\u5247\u60A8\u7684\u5B89\u5168\u8A2D\u7F6E\u5167\u5BB9\u53EF\u80FD\u6703\u963B\u7919ActiveX\u63A7\u5236\u65B9\u9762\u7684\u904B\u4F5C\u3002\u82E5\u662FIE\u700F\u89BD\u5668\u9EDE\u9078\u9078\u55AE\u88E1\u7684\u300C\u5DE5\u5177\u300D\u4E2D\u7684\u300C\u7DB2\u969B\u7DB2\u8DEF\u9078\u9805\u300D\u5F8C\u518D\u9078\u64C7\u300C\u5B89\u5168\u6027\u300D\uFF0C\u7136\u5F8C\u6309\u4E0B\u300C\u81EA\u8A02\u5C64\u7D1A\u300D\u6309\u9375\u3002\u6AA2\u67E5\u95DC\u65BC\u300C\u57F7\u884CActiveX\u63A7\u5236\u9805\u300D\u548C\u300C\u4E8C\u9032\u4F4D\u548C\u6307\u4EE4\u78BC\u884C\u70BA\u300D\u7684\u8A2D\u5B9A\u662F\u5426\u958B\u555F\u3002\n\n\u76EE\u524D\u60A8\u6240\u770B\u5230\u7684\u662F\u932F\u8AA4\u8A0A\u606F\u800C\u975E\u6578\u5B78\u516C\u5F0F\u6392\u7248\u554F\u984C", + CantCreateXMLParser: "MathJax\u7121\u6CD5\u5EFA\u7ACB\u4E00\u500B\u7528\u65BCMathML\u7684XML\u89E3\u6790\u3002\n\n\u6AA2\u67E5\u300C\u4EE5Script\u7A0B\u5F0F\u64CD\u63A7\u5B89\u5168\u6A19\u793A\u7684ActiveX \u63A7\u5236\u9805\u300D\u8A2D\u5B9A\u662F\u5426\u958B\u555F\uFF08\u82E5\u662FIE\u700F\u89BD\u5668\u9EDE\u9078\u9078\u55AE\u88E1\u7684\u300C\u5DE5\u5177\u300D\u4E2D\u7684\u300C\u7DB2\u969B\u7DB2\u8DEF\u9078\u9805\u300D\u5F8C\u518D\u9078\u64C7\u300C\u5B89\u5168\u6027\u300D\uFF0C\u7136\u5F8C\u6309\u4E0B\u300C\u81EA\u8A02\u5C64\u7D1A\u300D\u6309\u9375\u4F86\u627E\u5C0B\uFF09\u3002", + UnknownNodeType: "\u4E0D\u660E\u7684\u7BC0\u9EDE\u985E\u578B\uFF1A%1", + UnexpectedTextNode: "\u975E\u9810\u671F\u7684\u6587\u5B57\u7BC0\u9EDE\uFF1A%1", + ErrorParsingMathML: "\u89E3\u6790MathML\u51FA\u932F", + ParsingError: "\u89E3\u6790MathML\u51FA\u932F\uFF1A %1", + MathMLSingleElement: "MathML\u5FC5\u9808\u4EE5\u55AE\u4E00\u5143\u7D20\u69CB\u6210", + MathMLRootElement: "MathML\u5FC5\u9808\u7531\u003Cmath\u003E\u5143\u7D20\u69CB\u6210\uFF0C\u800C\u975E%1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/MathML.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathMenu.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathMenu.js new file mode 100644 index 00000000..28699cf8 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hant/MathMenu.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/MathMenu.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","MathMenu",{ + version: "2.7.5", + isLoaded: true, + strings: { + Show: "\u986F\u793A\u6578\u5B78\u5F62\u5F0F", + MathMLcode: "MathML\u4EE3\u78BC", + OriginalMathML: "\u539F\u59CBMathML", + TeXCommands: "TeX\u547D\u4EE4", + AsciiMathInput: "AsciiMathML\u8F38\u5165", + Original: "\u539F\u59CB\u683C\u5F0F", + ErrorMessage: "\u932F\u8AA4\u8A0A\u606F", + Annotation: "\u8A3B\u91CB", + TeX: "TeX", + StarMath: "StarMath", + Maple: "Maple", + ContentMathML: "MathML\u5167\u5BB9", + OpenMath: "OpenMath", + texHints: "\u5728MathML\u986F\u793ATeX\u63D0\u793A", + Settings: "\u6578\u5B78\u8A2D\u5B9A", + ZoomTrigger: "\u7E2E\u653E\u89F8\u767C", + Hover: "\u6E38\u6A19\u8986\u84CB", + Click: "\u9EDE\u9078", + DoubleClick: "\u96D9\u64CA", + NoZoom: "\u95DC\u9589\u7E2E\u653E", + TriggerRequires: "\u89F8\u767C\u9700\u6C42\uFF1A", + Option: "\u9078\u9805", + Alt: "Alt\u9375", + Command: "Command\u9375", + Control: "Ctrl\u9375", + Shift: "Shift\u9375", + ZoomFactor: "\u7E2E\u653E\u500D\u7387", + Renderer: "\u5448\u73FE\u6578\u5B78\u65B9\u5F0F", + MPHandles: "\u7531MathPlayer\u8655\u7406\uFF1A", + MenuEvents: "\u9078\u55AE\u4E8B\u4EF6", + MouseEvents: "\u6E38\u6A19\u4E8B\u4EF6", + MenuAndMouse: "\u6E38\u6A19\u8207\u9078\u55AE\u4E8B\u4EF6", + FontPrefs: "\u5B57\u578B\u504F\u597D\u8A2D\u5B9A", + ForHTMLCSS: "\u7528\u65BCHTML-CSS\uFF1A", + Auto: "\u81EA\u52D5", + TeXLocal: "Tex\uFF08\u672C\u5730\uFF09", + TeXWeb: "Tex\uFF08\u7DB2\u9801\uFF09", + TeXImage: "Tex\uFF08\u5716\u50CF\uFF09", + STIXLocal: "STIX\uFF08\u672C\u5730\uFF09", + STIXWeb: "STIX\uFF08\u7DB2\u9801\uFF09", + AsanaMathWeb: "Asana Math\uFF08\u7DB2\u9801\uFF09", + GyrePagellaWeb: "Gyre Pagella\uFF08\u7DB2\u9801\uFF09", + GyreTermesWeb: "Gyre Termes\uFF08\u7DB2\u9801\uFF09", + LatinModernWeb: "Latin Modern\uFF08\u7DB2\u9801\uFF09", + NeoEulerWeb: "Neo Euler\uFF08\u7DB2\u9801\uFF09", + ContextMenu: "\u4E0A\u4E0B\u6587\u9078\u55AE", + Browser: "\u700F\u89BD\u5668", + Scale: "\u7E2E\u653E\u6240\u6709\u6578\u5B78\u516C\u5F0F\u2027\u2027\u2027", + Discoverable: "\u5728\u6E38\u6A19\u8986\u84CB\u6642\u5F37\u8ABF\u5167\u5BB9", + Locale: "\u8A9E\u8A00", + LoadLocale: "\u5F9EURL\u8F09\u5165...", + About: "\u95DC\u65BCMathJax", + Help: "MathJax\u8AAA\u660E", + localTeXfonts: "\u4F7F\u7528\u672C\u5730TeX\u5B57\u578B", + webTeXfonts: "\u4F7F\u7528\u7DB2\u9801TeX\u5B57\u578B", + imagefonts: "\u4F7F\u7528\u5716\u50CF\u5B57\u578B", + localSTIXfonts: "\u4F7F\u7528\u672C\u5730STIX\u5B57\u578B", + webSVGfonts: "\u4F7F\u7528\u7DB2\u9801SVG\u5B57\u578B", + genericfonts: "\u4F7F\u7528\u901A\u7528\u842C\u570B\u78BC\u5B57\u578B", + wofforotffonts: "WOFF\u6216OTF\u5B57\u578B", + eotffonts: "EOT\u5B57\u578B", + svgfonts: "SVG\u5B57\u578B", + WebkitNativeMMLWarning: "\u60A8\u7684\u700F\u89BD\u5668\u4E0D\u652F\u63F4MathML natively\uFF0C\u56E0\u6B64\u5207\u63DB\u81F3MathML\u8F38\u51FA\u53EF\u80FD\u6703\u5C0E\u81F4\u9801\u9762\u4E0A\u7684\u6578\u5B78\u516C\u5F0F\u7121\u6CD5\u8B80\u53D6\u3002", + MSIENativeMMLWarning: "IE\u700F\u89BD\u5668\u9700\u8981MathPlayer\u5916\u639B\u624D\u80FD\u8655\u7406MathML\u8F38\u51FA\u5167\u5BB9\u3002", + OperaNativeMMLWarning: "Opera\u700F\u89BD\u5668\u5728\u5C0D\u65BC\u652F\u63F4MathML\u65B9\u9762\u6709\u9650\uFF0C\u6240\u4EE5\u8F49\u63DB\u81F3MathML\u8F38\u51FA\u4E5F\u8A31\u6703\u9020\u6210\u4E00\u4E9B\u8868\u9054\u5F0F\u4E0D\u80FD\u6B63\u78BA\u5448\u73FE\u3002", + SafariNativeMMLWarning: "\u60A8\u7684\u700F\u89BD\u5668\u9644\u52A0\u5143\u4EF6native MathML\u4E0D\u652F\u63F4\u6240\u6709MathJax\u529F\u80FD\uFF0C\u6240\u4EE5\u8868\u9054\u5F0F\u53EF\u80FD\u7121\u6CD5\u6B63\u5E38\u5448\u73FE\u3002", + FirefoxNativeMMLWarning: "\u60A8\u7684\u700F\u89BD\u5668\u9644\u52A0\u5143\u4EF6native MathML\u4E0D\u652F\u63F4\u6240\u6709MathJax\u529F\u80FD\uFF0C\u6240\u4EE5\u8868\u9054\u5F0F\u53EF\u80FD\u7121\u6CD5\u6B63\u5E38\u5448\u73FE\u3002", + MSIESVGWarning: "SVG\u5728IE9\u4E4B\u524D\u7248\u672C\u7684IE\u700F\u89BD\u5668\u3001\u6216\u8B93IE9\u6A21\u64ECIE8\u4EE5\u4E0B\u67B6\u69CB\u904B\u4F5C\u6642\uFF0C\u5728\u8F49\u63DB\u81F3SVG\u8F38\u51FA\u6703\u5C0E\u81F4\u6578\u5B78\u516C\u5F0F\u7121\u6CD5\u6B63\u5E38\u986F\u793A\u3002", + LoadURL: "\u5F9E\u6B64URL\u8F09\u5165\u8F49\u63DB\u8CC7\u6599\uFF1A", + BadURL: "URL\u61C9\u8A72\u662F\u500B\u5B9A\u7FA9MathJax\u8F49\u63DB\u8CC7\u6599\u7684JavaScript\u6A94\u6848\u3002JavaScript\u6A94\u6848\u540D\u7A31\u7D50\u5C3E\u61C9\u70BA\u300C.js\u300D\u3002", + BadData: "\u5F9E%1\u8F09\u5165\u8F49\u63DB\u8CC7\u6599\u51FA\u932F", + SwitchAnyway: "\u4E00\u5B9A\u8981\u5207\u63DB\u5448\u73FE\u65B9\u5F0F\uFF1F\n\n\uFF08\u9EDE\u64CAOK\u9032\u884C\u5207\u63DB\uFF0C\u9EDE\u64CA\u53D6\u6D88\u7E7C\u7E8C\u4EE5\u76EE\u524D\u65B9\u5F0F\u5448\u73FE\uFF09", + ScaleMath: "\u7E2E\u653E\u6240\u6709\u6578\u5B78\u516C\u5F0F\uFF08\u8207\u570D\u7E5E\u7684\u6587\u5B57\u505A\u5C0D\u6BD4\uFF09\u4F9D", + NonZeroScale: "\u6BD4\u4F8B\u4E0D\u61C9\u70BA\u96F6", + PercentScale: "\u6BD4\u4F8B\u61C9\u70BA\u767E\u5206\u6BD4\u683C\u5F0F\uFF08\u4F8B\u5982120%%\uFF09", + IE8warning: "\u9019\u5C07\u6703\u95DC\u9589MathJax\u9078\u55AE\u4EE5\u53CA\u7E2E\u653E\u529F\u80FD\uFF0C\u4F46\u60A8\u53EF\u4EE5\u5728\u67D0\u4E00\u8868\u9054\u5F0F\u4E0A\u540C\u6642\u6309\u4E0BAlt\u9375\u548C\u6ED1\u9F20\u5DE6\u9375\u4F86\u9032\u5165MathJax\u9078\u55AE\u3002\n\n\u78BA\u5B9A\u8981\u66F4\u6539MathPlayer\u8A2D\u5B9A\uFF1F", + IE9warning: "MathJax\u5FEB\u6377\u9078\u55AE\u5C07\u6703\u88AB\u505C\u7528\uFF0C\u4F46\u60A8\u53EF\u4EE5\u5728\u67D0\u500B\u8868\u9054\u5F0F\u4E0A\u540C\u6642\u6309\u4E0BAlt\u9375\u548C\u6ED1\u9F20\u5DE6\u9375\u4F86\u547C\u53EB\u9078\u55AE\u3002", + NoOriginalForm: "\u6C92\u6709\u53EF\u7528\u7684\u539F\u59CB\u683C\u5F0F", + Close: "\u95DC\u9589", + EqSource: "MathJax\u65B9\u7A0B\u5F0F\u4F86\u6E90", + CloseAboutDialog: "\u95DC\u9589\u95DC\u65BCMathJax\u5C0D\u8A71\u6846", + FastPreview: "\u5FEB\u901F\u9810\u89BD", + AssistiveMML: "\u8F14\u52A9MathML", + InTabOrder: "\u5305\u542B\u5728\u6A19\u7C64\u9806\u5E8F\u88E1" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/MathMenu.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/TeX.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/TeX.js new file mode 100644 index 00000000..857d7564 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hant/TeX.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/TeX.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant","TeX",{ + version: "2.7.5", + isLoaded: true, + strings: { + ExtraOpenMissingClose: "\u591A\u9918\u7684\u5DE6\u62EC\u5F27\u6216\u7F3A\u5C11\u53F3\u62EC\u5F27", + ExtraCloseMissingOpen: "\u591A\u51FA\u7684\u53F3\u62EC\u865F\u6216\u907A\u5931\u5DE6\u62EC\u865F", + MissingLeftExtraRight: "\u907A\u5931 \\left \u6216\u591A\u9918 \\right", + MissingScript: "\u7F3A\u5C11\u4E0A\u6A19\u6216\u4E0B\u6A19\u53C3\u6578", + ExtraLeftMissingRight: "\u6709\u591A\u51FA\u4F86\u7684 \\left \u6216\u6C92\u88DC\u4E0A \\right", + Misplaced: "%1\u653E\u932F\u4F4D\u7F6E", + MissingOpenForSub: "\u7F3A\u5C11\u7528\u65BC\u4E0B\u6A19\u7684\u5DE6\u62EC\u865F", + MissingOpenForSup: "\u7F3A\u5C11\u7528\u65BC\u4E0A\u6A19\u7684\u5DE6\u62EC\u865F", + AmbiguousUseOf: "%1\u7684\u4F7F\u7528\u4E0D\u660E\u78BA", + EnvBadEnd: "\\begin{%1}\u4EE5\\end{%2}\u4F86\u7D50\u675F", + EnvMissingEnd: "\u7F3A\u5C11\\end{%1}", + MissingBoxFor: "\u7F3A\u5C11\u7528\u65BC%1\u7684\u6846", + MissingCloseBrace: "\u7F3A\u5C11\u53F3\u62EC\u865F", + UndefinedControlSequence: "\u672A\u5B9A\u7FA9\u7684\u63A7\u5236\u6578\u5217%1", + DoubleExponent: "\u51FA\u73FE\u5169\u500B\u6307\u6578\uFF1A\u4F7F\u7528\u5927\u62EC\u865F{}\u4F86\u5206\u6E05\u695A", + DoubleSubscripts: "\u51FA\u73FE\u5169\u500B\u5E95\u7DDA\uFF1A\u4F7F\u7528\u5927\u62EC\u865F{}\u4F86\u5206\u6E05\u695A", + DoubleExponentPrime: "\u89D2\u5206\u7B26\u865F\u5C0E\u81F4\u7522\u751F\u96D9\u91CD\u6307\u6578\uFF1A\u4F7F\u7528\u5927\u62EC\u865F\u4F86\u5340\u5206", + CantUseHash1: "\u5728\u6578\u5B78\u6A21\u5F0F\u88E1\u60A8\u4E0D\u80FD\u4F7F\u7528\u300C\u5DE8\u96C6\u53C3\u6578\u5B57\u5143 #\u300D", + MisplacedMiddle: "%1\u5FC5\u9808\u5728 \\left \u548C \\right \u4E4B\u9593", + MisplacedLimits: "%1\u50C5\u5141\u8A31\u7528\u5728\u904B\u7B97\u5F0F\u4E0A", + MisplacedMoveRoot: "%1\u50C5\u80FD\u5728\u5E36\u6709root\u5B57\u5143\u4E0B\u5448\u73FE", + MultipleCommand: "\u591A\u500B %1", + IntegerArg: "\u53C3\u6578%1\u5FC5\u9808\u662F\u500B\u6574\u6578", + NotMathMLToken: "%1\u4E0D\u662F\u4E00\u500B\u6A19\u793A\u5143\u7D20", + InvalidMathMLAttr: "\u7121\u6548MathML\u5C6C\u6027\uFF1A %1", + UnknownAttrForElement: "%1\u5728%2\u4E0D\u662F\u53EF\u8FA8\u8B58\u5C6C\u6027", + MaxMacroSub1: "\u8D85\u51FAMathJax\u5DE8\u96C6\u66FF\u4EE3\u6B21\u6578\u4E0A\u9650\uFF1B\u662F\u5426\u5B58\u5728\u905E\u8FF4\u5DE8\u96C6\u547C\u53EB\u5167\u5BB9\uFF1F", + MaxMacroSub2: "\u5DF2\u8D85\u51FAMathJax\u6700\u5927\u4EE3\u63DB\u6B21\u6578\uFF0C\u5728LaTeX\u74B0\u5883\u88E1\u662F\u5426\u5B58\u6709\u905E\u8FF4\u5167\u5BB9?", + MissingArgFor: "\u7F3A\u5C11\u7528\u65BC%1\u53C3\u6578", + ExtraAlignTab: "\u5728\\cases\u6587\u5B57\u5167\u5BB9\u88E1\u6709\u591A\u51FA\u7684\u5C0D\u61C9\u53C3\u6578", + BracketMustBeDimension: "\u7528\u65BC%1\u7684\u62EC\u865F\u53C3\u6578\u5FC5\u9808\u662F\u4E00\u500B\u7DAD\u5EA6", + InvalidEnv: "\u7121\u6548\u74B0\u5883\u540D\u7A31\u300C%1\u300D", + UnknownEnv: "\u4E0D\u660E\u74B0\u5883\u8B8A\u6578\u300C%1\u300D", + ExtraCloseLooking: "\u5728\u627E\u5C0B%1\u6642\u767C\u73FE\u6709\u591A\u51FA\u4F86\u7684\u53F3\u62EC\u865F", + MissingCloseBracket: "%1\u7684\u53C3\u6578\u7121\u6CD5\u627E\u5230\u53F3\u62EC\u865F\u300C]\u300D", + MissingOrUnrecognizedDelim: "\u7F3A\u5C11\u6216\u7121\u6CD5\u8FA8\u8B58\u7528\u65BC%1\u7684\u5206\u9694\u7B26\u865F", + MissingDimOrUnits: "\u7F3A\u5C11\u7528\u65BC%1\u7684\u7DAD\u5EA6\u6216\u55AE\u4F4D", + TokenNotFoundForCommand: "\u7121\u6CD5\u627E\u5230\u7528\u65BC%2\u7684%1", + MathNotTerminated: "\u6578\u5B78\u516C\u5F0F\u5728\u6587\u5B57\u6846\u88E1\u672A\u7D50\u675F", + IllegalMacroParam: "\u975E\u6CD5\u7684\u5DE8\u96C6\u53C3\u6578\u5F15\u7528", + MaxBufferSize: "\u8D85\u51FAMathJax\u5167\u90E8\u7DE9\u885D\u5927\u5C0F\uFF1B\u662F\u5426\u5B58\u5728\u905E\u8FF4\u5DE8\u96C6\u547C\u53EB\u5167\u5BB9\uFF1F", + CommandNotAllowedInEnv: "%1 \u4E0D\u88AB\u5141\u8A31\u5728 %2 \u74B0\u5883\u4E0B", + MultipleLabel: "\u6A19\u7C64\u300C%1\u300D\u88AB\u591A\u91CD\u5B9A\u7FA9", + CommandAtTheBeginingOfLine: "%1\u5FC5\u9808\u4F4D\u5728\u884C\u5217\u7684\u958B\u982D", + IllegalAlign: "\u5728%1\u6709\u4E0D\u6B63\u78BA\u6307\u5B9A\u8FA8\u8B58\u65B9\u5F0F", + BadMathStyleFor: "%1\u7684\u6578\u5B78\u8868\u793A\u5167\u5BB9\u932F\u8AA4", + PositiveIntegerArg: "\u53C3\u6578%1\u5FC5\u9808\u662F\u500B\u6B63\u6574\u6578", + ErroneousNestingEq: "\u932F\u8AA4\u7684\u65B9\u7A0B\u5F0F\u5D4C\u5957\u7D50\u69CB", + MultlineRowsOneCol: "\u5728%1\u74B0\u5883\u88E1\u7684\u884C\u5217\u5FC5\u9808\u53EA\u6709\u4E00\u6B04", + MultipleBBoxProperty: "%1\u5728%2\u88AB\u6307\u5B9A\u5169\u6B21", + InvalidBBoxProperty: "\u300C%1\u300D\u4E0D\u50CF\u662F\u4E00\u500B\u8272\u5F69\u3001\u5167\u908A\u7DAD\u5EA6\u3001\u6216\u6A23\u5F0F", + ExtraEndMissingBegin: "\u6709\u591A\u9918%1\u6216\u7F3A\u5C11\\begingroup", + GlobalNotFollowedBy: "%1\u4E0D\u88AB\\let\u3001\\def\u3001\u6216\\newcommand\u6240\u5141\u8A31", + UndefinedColorModel: "\u8272\u5F69\u6A21\u578B\u300C%1\u300D\u6C92\u6709\u5B9A\u7FA9", + ModelArg1: "\u7528\u65BC%1\u6A21\u578B\u7684\u8272\u5F69\u6578\u503C\u9700\u89813\u500B\u6578\u5B57", + InvalidDecimalNumber: "\u7121\u6548\u5341\u9032\u4F4D\u6578\u5B57", + ModelArg2: "\u7528\u65BC%1\u6A21\u578B\u7684\u8272\u5F69\u6578\u503C\u9700\u8981\u4ECB\u65BC%2\u548C%3\u4E4B\u9593", + InvalidNumber: "\u7121\u6548\u6578\u5B57", + NewextarrowArg1: "%1\u7684\u7B2C\u4E00\u500B\u53C3\u6578\u5FC5\u9808\u662F\u63A7\u5236\u5E8F\u5217\u540D\u7A31", + NewextarrowArg2: "%1\u7684\u7B2C\u4E8C\u500B\u53C3\u6578\u5FC5\u9808\u662F\u7531\u9017\u865F\u5206\u958B\u7684\u5169\u500B\u6574\u6578", + NewextarrowArg3: "%1\u7684\u7B2C\u4E09\u500B\u53C3\u6578\u5FC5\u9808\u662F\u842C\u570B\u78BC\u5B57\u5143\u6578\u5B57", + NoClosingChar: "\u6C92\u6709\u627E\u5230\u5C01\u9589\u7528\u5B57\u5143%1", + IllegalControlSequenceName: "\u4E0D\u9069\u5408\u7528\u5728%1\u7684\u63A7\u5236\u5E8F\u5217\u540D\u7A31", + IllegalParamNumber: "\u6307\u5B9A\u65BC%1\u7684\u4E0D\u9069\u7576\u6578\u5B57\u53C3\u6578", + MissingCS: "%1\u5FC5\u9808\u8DDF\u96A8\u4E00\u500B\u63A7\u5236\u5E8F\u5217", + CantUseHash2: "\u5728\u7528\u65BC%1\u7684\u6A21\u677F\u4E0A\u4E0D\u6B63\u78BA\u4F7F\u7528#\u5B57\u5143", + SequentialParam: "\u7528\u65BC%1\u7684\u53C3\u6578\u5FC5\u9808\u4F9D\u9806\u5E8F\u7DE8\u865F", + MissingReplacementString: "%1\u7684\u5B9A\u7FA9\u7F3A\u5C11\u66FF\u4EE3\u5B57\u4E32", + MismatchUseDef: "%1\u7684\u4F7F\u7528\u4E0D\u7B26\u5408\u5B9A\u7FA9", + RunawayArgument: "\u6709\u7528\u65BC%1\u7684\u53C3\u6578\u4E0D\u898B\u4E86\uFF1F", + NoClosingDelim: "\u5728%1\u7121\u6CD5\u627E\u5230\u7D50\u675F\u7B26\u865F" + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/TeX.js"); diff --git a/src/py/kaleido/vendor/mathjax/localization/zh-hant/zh-hant.js b/src/py/kaleido/vendor/mathjax/localization/zh-hant/zh-hant.js new file mode 100644 index 00000000..b87e6c44 --- /dev/null +++ b/src/py/kaleido/vendor/mathjax/localization/zh-hant/zh-hant.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/localization/zh-hant/zh-hant.js + * + * Copyright (c) 2009-2018 The MathJax Consortium + * + * 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. + * + */ +MathJax.Localization.addTranslation("zh-hant",null,{ + menuTitle: "\u6C49\u8BED", + version: "2.7.5", + isLoaded: true, + domains: { + "_": { + version: "2.7.5", + isLoaded: true, + strings: { + MathProcessingError: "\u6578\u5B78\u8655\u7406\u932F\u8AA4", + MathError: "\u6578\u5B78\u932F\u8AA4", + LoadFile: "\u6B63\u5728\u8F09\u5165%1", + Loading: "\u8F09\u5165\u4E2D\u2026", + LoadFailed: "\u7121\u6CD5\u8F09\u5165\u6A94\u6848\uFF1A%1", + ProcessMath: "\u8655\u7406\u6578\u5B78\uFF1A%1%%", + Processing: "\u8655\u7406\u4E2D", + TypesetMath: "\u6392\u7248\u6578\u5B78\uFF1A%1%%", + Typesetting: "\u6392\u7248", + MathJaxNotSupported: "\u60A8\u7684\u700F\u89BD\u5668\u4E0D\u652F\u63F4MathJax", + ErrorTips: "\u9664\u932F\u63D0\u793A\uFF1A\u4F7F\u7528%%1\uFF0C\u5728\u700F\u89BD\u5668\u63A7\u5236\u53F0\u6AA2\u67E5%%2" + } + }, + "FontWarnings": {}, + "HTML-CSS": {}, + "HelpDialog": {}, + "MathML": {}, + "MathMenu": {}, + "TeX": {} + }, + plural: function (n) { + return 1; // other + }, + number: function (n) { + return n; + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/localization/zh-hant/zh-hant.js"); From 0b6114dcf18c5c3083037d521719c4f20053fed0 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 22 Oct 2024 11:26:14 -0400 Subject: [PATCH 477/510] Set headless=True --- src/py/kaleido/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index f7fb46ea..acad5a81 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -27,7 +27,7 @@ def to_image_block(spec, f=None, topojson=None, mapbox_token=None): return asyncio.run(to_image(spec, f, topojson, mapbox_token)) async def to_image(spec, f=None, topojson=None, mapbox_token=None): - async with Browser(headless=False) as browser: + async with Browser(headless=True) as browser: if not f: f = script_path.absolute() tab = await browser.create_tab(f.as_uri()) From a701db2cf7533c2e30de5c0d3c6d6e90ebb0a21a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 22 Oct 2024 12:15:46 -0400 Subject: [PATCH 478/510] Re-enable pdf printing --- src/py/kaleido/__init__.py | 15 +++++++++++++-- src/py/kaleido/scopes/plotly.py | 8 ++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index acad5a81..b0754ddd 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -10,8 +10,8 @@ script_path = Path(__file__).resolve().parent / "vendor" / "index.html" # pdf and eps temporarily disabled -_all_formats_ = ("png", "jpg", "jpeg", "webp", "svg", "json") # pdf and eps -_text_formats_ = ("svg", "json",) # eps +_all_formats_ = ("png", "jpg", "jpeg", "webp", "svg", "json", "pdf") # eps missing (emf has code but no listed support) +_text_formats_ = ("svg", "json",) # eps is a text format? :-O _scope_flags_ = ("plotlyjs", "mathjax", "topojson", "mapbox_access_token") @@ -84,6 +84,17 @@ async def load_done_cb(response): img = js_response.get("result") except Exception as e: raise RuntimeError(response) from e + await asyncio.sleep(30) + if response_format == "pdf": + pdf_params = dict(printBackground=True, + marginTop=0, + marginBottom=0, + marginLeft=0, + marginRight=0, + preferCSSPageSize=True,) + pdf_response = await tab.send_command("Page.printToPDF", params=pdf_params) + img = pdf_response.get("result").get("data") + # Base64 decode binary types if response_format not in _text_formats_: diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index 1ced49de..0ac4dd47 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -85,6 +85,7 @@ def make_page_string(self): """ + Kaleido-fier \n" page+= \ -f""" - - - +f""" """+\ +""" + """ return page From 504f65ae1642b85d27421351e8af22fc1aea60b1 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 24 Oct 2024 11:51:29 -0400 Subject: [PATCH 479/510] Enable concurrent use of old api w/ active asyncio --- src/py/kaleido/__init__.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index b0754ddd..60579606 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -3,6 +3,7 @@ import asyncio import base64 import json +import warnings from choreographer import Browser @@ -16,15 +17,20 @@ _scope_flags_ = ("plotlyjs", "mathjax", "topojson", "mapbox_access_token") def to_image_block(spec, f=None, topojson=None, mapbox_token=None): - loop = None try: - loop = asyncio.get_running_loop() + _ = asyncio.get_running_loop() + from threading import Thread + image = None + def get_image(): + nonlocal image + image = asyncio.run(to_image(spec, f, topojson, mapbox_token)) + t = Thread(target=get_image) + t.start() + t.join() + return image except RuntimeError: pass - if loop: - raise RuntimeError("Kaleido doesn't support asyncio + the old kaleido API yet.") - else: - return asyncio.run(to_image(spec, f, topojson, mapbox_token)) + return asyncio.run(to_image(spec, f, topojson, mapbox_token)) async def to_image(spec, f=None, topojson=None, mapbox_token=None): async with Browser(headless=True) as browser: @@ -84,7 +90,6 @@ async def load_done_cb(response): img = js_response.get("result") except Exception as e: raise RuntimeError(response) from e - await asyncio.sleep(30) if response_format == "pdf": pdf_params = dict(printBackground=True, marginTop=0, From f9964d2ef06229bba2e975c7b863b482687a12cb Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 24 Oct 2024 11:53:12 -0400 Subject: [PATCH 480/510] Lint: remove unused dep --- src/py/kaleido/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 60579606..23c76842 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -3,7 +3,6 @@ import asyncio import base64 import json -import warnings from choreographer import Browser From 677c2718a548daaadae1c91f96f7376b3cdba0e3 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Thu, 24 Oct 2024 15:18:02 -0400 Subject: [PATCH 481/510] Allow plotly.scope to pass debug --- src/py/kaleido/__init__.py | 10 +++++----- src/py/kaleido/scopes/plotly.py | 9 ++++++--- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 23c76842..9d600fbb 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -15,24 +15,24 @@ _scope_flags_ = ("plotlyjs", "mathjax", "topojson", "mapbox_access_token") -def to_image_block(spec, f=None, topojson=None, mapbox_token=None): +def to_image_block(spec, f=None, topojson=None, mapbox_token=None, debug=False): try: _ = asyncio.get_running_loop() from threading import Thread image = None def get_image(): nonlocal image - image = asyncio.run(to_image(spec, f, topojson, mapbox_token)) + image = asyncio.run(to_image(spec, f, topojson, mapbox_token, debug=debug)) t = Thread(target=get_image) t.start() t.join() return image except RuntimeError: pass - return asyncio.run(to_image(spec, f, topojson, mapbox_token)) + return asyncio.run(to_image(spec, f, topojson, mapbox_token, debug=debug)) -async def to_image(spec, f=None, topojson=None, mapbox_token=None): - async with Browser(headless=True) as browser: +async def to_image(spec, f=None, topojson=None, mapbox_token=None, debug=False): + async with Browser(headless=True, debug=debug, debug_browser=debug) as browser: if not f: f = script_path.absolute() tab = await browser.create_tab(f.as_uri()) diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index 0ac4dd47..98d8257b 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -27,7 +27,8 @@ class PlotlyScope(): _scope_flags = kaleido._scope_flags_ - def __init__(self, plotlyjs=None, mathjax=None, topojson=None, mapbox_access_token=None, **kwargs): + def __init__(self, plotlyjs=None, mathjax=None, topojson=None, mapbox_access_token=None, debug=False, **kwargs): + self.debug=debug # TODO: #2 This is deprecated, this whole FILE is deprecated self._plotlyjs = plotlyjs self._topojson = topojson @@ -159,7 +160,7 @@ def make_spec(self, figure, format=None, width=None, height=None, scale=None): js_args = dict(format=format, width=width, height=height, scale=scale) return dict(js_args, data = figure) - def transform(self, figure, format=None, width=None, height=None, scale=None): + def transform(self, figure, format=None, width=None, height=None, scale=None, debug=None): """ Convert a Plotly figure into a static image @@ -189,12 +190,14 @@ def transform(self, figure, format=None, width=None, height=None, scale=None): If not specified, will default to the `scope.default_scale` property :return: image bytes """ + if not debug: + debug=self.debug spec = self.make_spec(figure, format=format, width=width, height=height, scale=scale) # Write to process and read result within a lock so that can be # sure we're reading the response to our request with _proc_lock: - img = kaleido.to_image_block(spec, Path(self._tempfile.name).absolute(), self._topojson, self._mapbox_access_token) + img = kaleido.to_image_block(spec, Path(self._tempfile.name).absolute(), self._topojson, self._mapbox_access_token, debug=debug) return img From 54685ac155b0273458701abf7e7852874c75a850 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 25 Oct 2024 17:16:14 -0400 Subject: [PATCH 482/510] Upgrade to choreographer 0.99.2 --- src/py/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/py/pyproject.toml b/src/py/pyproject.toml index fd704181..7f16a8a0 100644 --- a/src/py/pyproject.toml +++ b/src/py/pyproject.toml @@ -18,7 +18,7 @@ license = {file = "LICENSE.txt"} readme = "README.md" requires-python = ">=3.9" dynamic = ["version"] -dependencies = ["choreographer"] +dependencies = ["choreographer>=0.99.2"] authors = [ {name = "Andrew Pikul", email = "ajpikul@gmail.com"}, ] From 597f9f89a84a515d21795f933cce06616807b91c Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 28 Oct 2024 15:25:26 -0400 Subject: [PATCH 483/510] Add debug printing everywhere --- src/py/kaleido/__init__.py | 19 +++++++++++++++++++ src/py/kaleido/scopes/plotly.py | 4 ++++ 2 files changed, 23 insertions(+) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 9d600fbb..4754c7b0 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -3,6 +3,7 @@ import asyncio import base64 import json +import sys from choreographer import Browser @@ -18,32 +19,46 @@ def to_image_block(spec, f=None, topojson=None, mapbox_token=None, debug=False): try: _ = asyncio.get_running_loop() + if debug: print("Got running loop, threading", file=sys.stderr) from threading import Thread image = None def get_image(): nonlocal image + if debug: print("Calling to_image in thread", file=sys.stderr) image = asyncio.run(to_image(spec, f, topojson, mapbox_token, debug=debug)) t = Thread(target=get_image) + if debug: print("Calling thread start", file=sys.stderr) t.start() t.join() + if debug: print("Done with thread", file=sys.stderr) return image except RuntimeError: + if debug: print("No loop, no thread", file=sys.stderr) pass return asyncio.run(to_image(spec, f, topojson, mapbox_token, debug=debug)) async def to_image(spec, f=None, topojson=None, mapbox_token=None, debug=False): async with Browser(headless=True, debug=debug, debug_browser=debug) as browser: + async def print_all(r): + print(f"All subscription: {r}", file=sys.stderr) + if debug: browser.subscribe("*", print_all) if not f: f = script_path.absolute() + if debug: print(f"Creating tab w/ file: {f.as_uri()}", file=sys.stderr) tab = await browser.create_tab(f.as_uri()) + if debug: tab.subscribe("*", print_all) + if debug: print("Enabling page") await tab.send_command("Page.enable") + if debug: print("Enabling runtime") await tab.send_command("Runtime.enable") event_done = asyncio.get_running_loop().create_future() async def execution_started_cb(response): event_done.set_result(response) tab.subscribe("Runtime.executionContextCreated", execution_started_cb, repeating=False) + if debug: print("About to reload page", file=sys.stderr) await tab.send_command("Page.reload") + if debug: print("Waiting executionContextCreated", file=sys.stderr) await event_done execution_context_id = event_done.result()["params"]["context"]["id"] # this could just as easily be part of the original script @@ -53,6 +68,7 @@ async def execution_started_cb(response): event_done = asyncio.get_running_loop().create_future() async def load_done_cb(response): event_done.set_result(response) + if debug: print("waiting loadEventFired", file=sys.stderr) tab.subscribe("Page.loadEventFired", load_done_cb, repeating=False) await event_done @@ -84,7 +100,9 @@ async def load_done_cb(response): ) ) try: + if debug: print("Sending command", file=sys.stderr) js_response = json.loads(response.get("result").get("result").get("value")) + if debug: print(f"Received: {js_response}", file=sys.stderr) response_format = js_response.get("format") img = js_response.get("result") except Exception as e: @@ -96,6 +114,7 @@ async def load_done_cb(response): marginLeft=0, marginRight=0, preferCSSPageSize=True,) + if debug: print("Sending command to print pdf") pdf_response = await tab.send_command("Page.printToPDF", params=pdf_params) img = pdf_response.get("result").get("data") diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index 98d8257b..763e0d5f 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -106,6 +106,10 @@ def make_page_string(self): """ """ + if self.debug: + print("Displaying generated HTML".center(50, "*")) + print(page) + print("end".center(50, "*")) return page @property From ca3e5350b4dbdd437a3d0e1f52afbbd56fe1af5e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 28 Oct 2024 15:36:54 -0400 Subject: [PATCH 484/510] Add debug function to get window status during debug --- src/py/kaleido/__init__.py | 14 ++++++++++++-- src/py/kaleido/scopes/plotly.py | 10 ++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 4754c7b0..2b7c2f2b 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -65,14 +65,24 @@ async def execution_started_cb(response): # some changes could be made their to download more easily TODO # read original python, read original javascript - event_done = asyncio.get_running_loop().create_future() + event_done = asyncio.get_running_loop().create_future() # REORDER THIS async def load_done_cb(response): event_done.set_result(response) if debug: print("waiting loadEventFired", file=sys.stderr) tab.subscribe("Page.loadEventFired", load_done_cb, repeating=False) await event_done - kaleido_jsfn = r"function(spec, ...args) { console.log(typeof spec); console.log(spec); return kaleido_scopes.plotly(spec, ...args).then(JSON.stringify); }" + if debug: + debug_jsfn = r"function() { return window.KaleidoReport; }" + params = dict( + functionDeclaration=debug_jsfn, + returnByValue=True, + executionContextId=execution_context_id) + print(await tab.send_command("Runtime.callFunctionOn", params=params)) + + + + kaleido_jsfn = r"function(spec, ...args) { return kaleido_scopes.plotly(spec, ...args).then(JSON.stringify); }" extra_args = [] if topojson: extra_args.append(dict(value=topojson)) diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index 763e0d5f..f6f5c099 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -88,6 +88,16 @@ def make_page_string(self): Kaleido-fier + window.addEventListener('error', function (e) { + if (typeof window.KaleidoReport == 'undefined') { + window.KaleidoReport = new Array() + } + if (navigator.onLine) { + window.KaleidoReport.push(e) + } else { + window.KaleidoReport.push("offline") + } + }); From cae9d5448286e8cede85223423e5ed11fc407d5e Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 28 Oct 2024 15:48:05 -0400 Subject: [PATCH 485/510] Improve js debug + fix typo there --- src/py/kaleido/scopes/plotly.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index f6f5c099..ea135254 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -88,16 +88,19 @@ def make_page_string(self): Kaleido-fier - window.addEventListener('error', function (e) { - if (typeof window.KaleidoReport == 'undefined') { - window.KaleidoReport = new Array() - } - if (navigator.onLine) { - window.KaleidoReport.push(e) - } else { - window.KaleidoReport.push("offline") - } - }); + From cb72d4f1bb8fa5676fdfa8f309d85920741e26dd Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 28 Oct 2024 17:53:27 -0400 Subject: [PATCH 486/510] Bump dependency --- src/py/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/py/pyproject.toml b/src/py/pyproject.toml index 7f16a8a0..d198a1d5 100644 --- a/src/py/pyproject.toml +++ b/src/py/pyproject.toml @@ -18,7 +18,7 @@ license = {file = "LICENSE.txt"} readme = "README.md" requires-python = ">=3.9" dynamic = ["version"] -dependencies = ["choreographer>=0.99.2"] +dependencies = ["choreographer>=0.99.3"] authors = [ {name = "Andrew Pikul", email = "ajpikul@gmail.com"}, ] From 341a0bc2f1f8d2a96bb2090e0cc49ca477550f72 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 28 Oct 2024 18:24:53 -0400 Subject: [PATCH 487/510] Improve js logger --- src/py/kaleido/scopes/plotly.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index ea135254..b275fe82 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -90,16 +90,12 @@ def make_page_string(self): Kaleido-fier \n" + page += f" \n" if self._mathjax: - page += f" \n" + page += f" \n" page+= \ -f""" """+\ +f""" """+\ """ """ From 27bade3c1e81cda8752f14525e2afc91b7388435 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 28 Oct 2024 22:35:58 -0400 Subject: [PATCH 488/510] Add pdf features to async template --- src/py/kaleido/vendor/index.html | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/py/kaleido/vendor/index.html b/src/py/kaleido/vendor/index.html index 3e4850d4..55e53709 100644 --- a/src/py/kaleido/vendor/index.html +++ b/src/py/kaleido/vendor/index.html @@ -1,14 +1,23 @@ + Kaleido-fier + - - - + + + - - + From 7403d53e3c8b3d5cc580f722e8b0cb94526fc408 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 28 Oct 2024 23:41:24 -0400 Subject: [PATCH 489/510] Organize command order --- src/py/kaleido/__init__.py | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 2b7c2f2b..1a9cda8d 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -47,30 +47,37 @@ async def print_all(r): if debug: print(f"Creating tab w/ file: {f.as_uri()}", file=sys.stderr) tab = await browser.create_tab(f.as_uri()) if debug: tab.subscribe("*", print_all) + + if debug: print("About to reload page", file=sys.stderr) + await tab.send_command("Page.reload") + + page_loaded = asyncio.get_running_loop().create_future() + async def load_done_cb(response): + page_loaded.set_result(response) + if debug: print("waiting loadEventFired", file=sys.stderr) + tab.subscribe("Page.loadEventFired", load_done_cb, repeating=False) + if debug: print("Enabling page") await tab.send_command("Page.enable") - if debug: print("Enabling runtime") - await tab.send_command("Runtime.enable") - event_done = asyncio.get_running_loop().create_future() + await page_loaded + + javascript_enabled = asyncio.get_running_loop().create_future() async def execution_started_cb(response): - event_done.set_result(response) + javascript_enabled.set_result(response) tab.subscribe("Runtime.executionContextCreated", execution_started_cb, repeating=False) - if debug: print("About to reload page", file=sys.stderr) - await tab.send_command("Page.reload") + + if debug: print("Enabling runtime") + await tab.send_command("Runtime.enable") + if debug: print("Waiting executionContextCreated", file=sys.stderr) - await event_done - execution_context_id = event_done.result()["params"]["context"]["id"] + + await javascript_enabled + execution_context_id = javascript_enabled.result()["params"]["context"]["id"] # this could just as easily be part of the original script # some changes could be made their to download more easily TODO # read original python, read original javascript - event_done = asyncio.get_running_loop().create_future() # REORDER THIS - async def load_done_cb(response): - event_done.set_result(response) - if debug: print("waiting loadEventFired", file=sys.stderr) - tab.subscribe("Page.loadEventFired", load_done_cb, repeating=False) - await event_done if debug: debug_jsfn = r"function() { return window.KaleidoReport; }" From 6617f6f4d0c39715f26681c0794f714c3fdbcb56 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Tue, 29 Oct 2024 15:18:25 -0400 Subject: [PATCH 490/510] Add timeout option to to_image --- src/py/kaleido/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 1a9cda8d..1f16e90f 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -5,6 +5,8 @@ import json import sys +import async_timeout as atimeout + from choreographer import Browser @@ -37,8 +39,10 @@ def get_image(): pass return asyncio.run(to_image(spec, f, topojson, mapbox_token, debug=debug)) -async def to_image(spec, f=None, topojson=None, mapbox_token=None, debug=False): - async with Browser(headless=True, debug=debug, debug_browser=debug) as browser: +async def to_image(spec, f=None, topojson=None, mapbox_token=None, debug=False, timeout=30): + async with ( + Browser(headless=True, debug=debug, debug_browser=debug) as browser, + atimeout.timeout(timeout)): async def print_all(r): print(f"All subscription: {r}", file=sys.stderr) if debug: browser.subscribe("*", print_all) From cc029d0d899160abd58568c0fb6fe6780a6051d7 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Wed, 30 Oct 2024 14:27:50 -0400 Subject: [PATCH 491/510] Add timeout to deps --- src/py/pyproject.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/py/pyproject.toml b/src/py/pyproject.toml index d198a1d5..b26e0eea 100644 --- a/src/py/pyproject.toml +++ b/src/py/pyproject.toml @@ -18,7 +18,9 @@ license = {file = "LICENSE.txt"} readme = "README.md" requires-python = ">=3.9" dynamic = ["version"] -dependencies = ["choreographer>=0.99.3"] +dependencies = ["choreographer>=0.99.3", + "async_timeout" + ] authors = [ {name = "Andrew Pikul", email = "ajpikul@gmail.com"}, ] From a455768d173be69437af051c83b2738465947b64 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 1 Nov 2024 11:16:31 -0400 Subject: [PATCH 492/510] Change temporary directory path --- src/py/kaleido/scopes/plotly.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index b275fe82..348cf73f 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -52,7 +52,7 @@ def __init__(self, plotlyjs=None, mathjax=None, topojson=None, mapbox_access_tok 'kaleido_scopes.js' ) - self._tempdir = tempfile.TemporaryDirectory() + self._tempdir = tempfile.TemporaryDirectory(dir=Path.home(), prefix=".kaleido-") self._tempfile = open(f"{self._tempdir.name}/index.html", "w") self._tempfile.write(self.make_page_string()) self._tempfile.close() From 4e2696ea91ccc4fe98bdb17eb703d0e1ec309e40 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 1 Nov 2024 12:00:05 -0400 Subject: [PATCH 493/510] Simplify choreographer commands --- src/py/kaleido/__init__.py | 30 +++++++++++++++++------------- src/py/kaleido/scopes/plotly.py | 2 ++ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 1f16e90f..20fd1801 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -39,7 +39,7 @@ def get_image(): pass return asyncio.run(to_image(spec, f, topojson, mapbox_token, debug=debug)) -async def to_image(spec, f=None, topojson=None, mapbox_token=None, debug=False, timeout=30): +async def to_image(spec, f=None, topojson=None, mapbox_token=None, debug=False, timeout=60): async with ( Browser(headless=True, debug=debug, debug_browser=debug) as browser, atimeout.timeout(timeout)): @@ -50,26 +50,30 @@ async def print_all(r): f = script_path.absolute() if debug: print(f"Creating tab w/ file: {f.as_uri()}", file=sys.stderr) tab = await browser.create_tab(f.as_uri()) - if debug: tab.subscribe("*", print_all) - if debug: print("About to reload page", file=sys.stderr) - await tab.send_command("Page.reload") + if debug: tab.subscribe("*", print_all) + if debug: print("Activating page", file=sys.stderr) + await tab.send_command("Page.bringToFront") - page_loaded = asyncio.get_running_loop().create_future() - async def load_done_cb(response): - page_loaded.set_result(response) - if debug: print("waiting loadEventFired", file=sys.stderr) - tab.subscribe("Page.loadEventFired", load_done_cb, repeating=False) + page_loaded = tab.subscribe_once("Page.loadEventFired") if debug: print("Enabling page") await tab.send_command("Page.enable") + while page_loaded.done(): + print("Clearing previous loadEventFired", file=sys.stderr) + page_loaded = tab.subscribe_once("Page.loadEventFired") + + + if debug: print("About to reload page", file=sys.stderr) + await tab.send_command("Page.reload") + await page_loaded - javascript_enabled = asyncio.get_running_loop().create_future() - async def execution_started_cb(response): - javascript_enabled.set_result(response) - tab.subscribe("Runtime.executionContextCreated", execution_started_cb, repeating=False) + javascript_enabled = tab.subscribe_once("Runtime.executionContextCreated") + while javascript_enabled.done(): + print("Clearing previous executionContextCreated", file=sys.stderr) + javascript_enabled = tab.subscribe_once("Runtime.executionContextCreated") if debug: print("Enabling runtime") await tab.send_command("Runtime.enable") diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index 348cf73f..387bf219 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -2,6 +2,7 @@ import os from pathlib import Path import tempfile +import sys from plotly.graph_objects import Figure @@ -53,6 +54,7 @@ def __init__(self, plotlyjs=None, mathjax=None, topojson=None, mapbox_access_tok ) self._tempdir = tempfile.TemporaryDirectory(dir=Path.home(), prefix=".kaleido-") + if self.debug: print(f"Tempdir: {self._tempdir.name}", file=sys.stderr) self._tempfile = open(f"{self._tempdir.name}/index.html", "w") self._tempfile.write(self.make_page_string()) self._tempfile.close() From d40b98425a3740450e8b9ffb7c3727b91ce86311 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 1 Nov 2024 12:03:02 -0400 Subject: [PATCH 494/510] Add better error handling --- src/py/kaleido/__init__.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 20fd1801..7324a29e 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -40,6 +40,10 @@ def get_image(): return asyncio.run(to_image(spec, f, topojson, mapbox_token, debug=debug)) async def to_image(spec, f=None, topojson=None, mapbox_token=None, debug=False, timeout=60): + def check_error(res): + if 'error' in res: + raise RuntimeError(str(res)) + async with ( Browser(headless=True, debug=debug, debug_browser=debug) as browser, atimeout.timeout(timeout)): @@ -53,20 +57,22 @@ async def print_all(r): if debug: tab.subscribe("*", print_all) if debug: print("Activating page", file=sys.stderr) - await tab.send_command("Page.bringToFront") + res = await tab.send_command("Page.bringToFront") + check_error(res) page_loaded = tab.subscribe_once("Page.loadEventFired") if debug: print("Enabling page") - await tab.send_command("Page.enable") + res = await tab.send_command("Page.enable") + check_error(res) while page_loaded.done(): print("Clearing previous loadEventFired", file=sys.stderr) page_loaded = tab.subscribe_once("Page.loadEventFired") - if debug: print("About to reload page", file=sys.stderr) - await tab.send_command("Page.reload") + res = await tab.send_command("Page.reload") + check_error(res) await page_loaded @@ -76,7 +82,8 @@ async def print_all(r): javascript_enabled = tab.subscribe_once("Runtime.executionContextCreated") if debug: print("Enabling runtime") - await tab.send_command("Runtime.enable") + res = await tab.send_command("Runtime.enable") + check_error(res) if debug: print("Waiting executionContextCreated", file=sys.stderr) @@ -113,8 +120,9 @@ async def print_all(r): awaitPromise=True, executionContextId=execution_context_id, ) + if debug: print("Sending command", file=sys.stderr) response = await tab.send_command("Runtime.callFunctionOn", params=params) - + check_error(response) # Check for export error, later can customize error messages for plotly Python users code = response.get("code", 0) if code != 0: @@ -125,7 +133,7 @@ async def print_all(r): ) ) try: - if debug: print("Sending command", file=sys.stderr) + if debug: print("Loading result", file=sys.stderr) js_response = json.loads(response.get("result").get("result").get("value")) if debug: print(f"Received: {js_response}", file=sys.stderr) response_format = js_response.get("format") @@ -141,6 +149,7 @@ async def print_all(r): preferCSSPageSize=True,) if debug: print("Sending command to print pdf") pdf_response = await tab.send_command("Page.printToPDF", params=pdf_params) + check_error(pdf_response) img = pdf_response.get("result").get("data") From 70d4368119e9f816bf00715f36b48a7789a0d4ce Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 1 Nov 2024 12:24:10 -0400 Subject: [PATCH 495/510] Move all debug to stderr --- src/py/kaleido/__init__.py | 10 +++++----- src/py/kaleido/scopes/plotly.py | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 7324a29e..0f2b842a 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -45,7 +45,7 @@ def check_error(res): raise RuntimeError(str(res)) async with ( - Browser(headless=True, debug=debug, debug_browser=debug) as browser, + Browser(headless=True, debug=debug, debug_browser=sys.stderr) as browser, atimeout.timeout(timeout)): async def print_all(r): print(f"All subscription: {r}", file=sys.stderr) @@ -62,7 +62,7 @@ async def print_all(r): page_loaded = tab.subscribe_once("Page.loadEventFired") - if debug: print("Enabling page") + if debug: print("Enabling page", file=sys.stderr) res = await tab.send_command("Page.enable") check_error(res) @@ -81,7 +81,7 @@ async def print_all(r): print("Clearing previous executionContextCreated", file=sys.stderr) javascript_enabled = tab.subscribe_once("Runtime.executionContextCreated") - if debug: print("Enabling runtime") + if debug: print("Enabling runtime", file=sys.stderr) res = await tab.send_command("Runtime.enable") check_error(res) @@ -100,7 +100,7 @@ async def print_all(r): functionDeclaration=debug_jsfn, returnByValue=True, executionContextId=execution_context_id) - print(await tab.send_command("Runtime.callFunctionOn", params=params)) + print(await tab.send_command("Runtime.callFunctionOn", params=params), file=sys.stderr) @@ -147,7 +147,7 @@ async def print_all(r): marginLeft=0, marginRight=0, preferCSSPageSize=True,) - if debug: print("Sending command to print pdf") + if debug: print("Sending command to print pdf", file=sys.stderr) pdf_response = await tab.send_command("Page.printToPDF", params=pdf_params) check_error(pdf_response) img = pdf_response.get("result").get("data") diff --git a/src/py/kaleido/scopes/plotly.py b/src/py/kaleido/scopes/plotly.py index 387bf219..e315882e 100644 --- a/src/py/kaleido/scopes/plotly.py +++ b/src/py/kaleido/scopes/plotly.py @@ -118,9 +118,9 @@ def make_page_string(self): """ if self.debug: - print("Displaying generated HTML".center(50, "*")) - print(page) - print("end".center(50, "*")) + print("Displaying generated HTML".center(50, "*"), file=sys.stderr) + print(page, file=sys.stderr) + print("end".center(50, "*"), file=sys.stderr) return page @property From e2b31f95fce31cb6daae88efd465b056cf837904 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 1 Nov 2024 12:26:19 -0400 Subject: [PATCH 496/510] Add method of injecting debug to old api --- src/py/kaleido/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/py/kaleido/__init__.py b/src/py/kaleido/__init__.py index 0f2b842a..ba0cdb55 100644 --- a/src/py/kaleido/__init__.py +++ b/src/py/kaleido/__init__.py @@ -4,6 +4,7 @@ import base64 import json import sys +import os import async_timeout as atimeout @@ -39,7 +40,9 @@ def get_image(): pass return asyncio.run(to_image(spec, f, topojson, mapbox_token, debug=debug)) -async def to_image(spec, f=None, topojson=None, mapbox_token=None, debug=False, timeout=60): +async def to_image(spec, f=None, topojson=None, mapbox_token=None, debug=None, timeout=60): + if debug is None: + debug = "KALEIDO-DEBUG" in os.environ def check_error(res): if 'error' in res: raise RuntimeError(str(res)) From b2d29da3aa8170fb49b0deba774eefc103119e3a Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 1 Nov 2024 12:36:23 -0400 Subject: [PATCH 497/510] Add manual test --- src/py/tests/manual.py | 87 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/py/tests/manual.py diff --git a/src/py/tests/manual.py b/src/py/tests/manual.py new file mode 100644 index 00000000..4c876654 --- /dev/null +++ b/src/py/tests/manual.py @@ -0,0 +1,87 @@ +import os +import sys +_all_formats = ("png", "jpg", "jpeg", "webp", "svg", "pdf", "json") +dirname="./test-results/" +os.makedirs(dirname, exist_ok=True) +os.environ["KALEIDO-DEBUG"] = "true" + +total = len(_all_formats) * 5 +x = 0 +def count(): + global x + x = x + 1 + print(f"\r{x}/{total}", end = "\r") + +with open(dirname+"log.log", 'w') as sys.stderr: + print("scope-old".center(50, "&"), file=sys.stderr) + debug=True + import plotly.graph_objects as go + fig = go.Figure(data=[go.Scatter(y=[1, 3, 2])], layout=dict(title="$$\\text{Test} \\pi$$")) # whole thing needs to be mathjax? + figgl = go.Figure(data=[go.Scattergl(y=[1, 3, 2])], layout=dict(title="$$\\text{Test} \\pi$$")) # whole thing needs to be mathjax? + + from kaleido.scopes.plotly import PlotlyScope + scope = PlotlyScope(debug=debug, + # plotlyjs="https://cdn.plot.ly/plotly-latest.min.js", + # plotlyjs="/path/to/local/plotly.js", + ) + for extension in _all_formats: + try: + print(f"Trying non-gl: {extension} w/ transform".center(40, "*"), file=sys.stderr) + with open(dirname+"figure-scope-old."+extension, "wb") as f: + f.write(scope.transform(fig, format=extension)) + count() + print(f"Trying gl: {extension} w/ transform".center(40, "*"), file=sys.stderr) + with open(dirname+"figure-scope-old-gl."+extension, "wb") as f: + f.write(scope.transform(figgl, format=extension)) + count() + + except Exception as e: + print(e, file=sys.stderr) + + import asyncio + print("ASYNC w/ PRETEND BLOCKING".center(50, "&"), file=sys.stderr) + + async def test_with_blocking_in_async(): + for extension in _all_formats: + try: + print(f"Trying: {extension} w/ transform".center(40, "*"), file=sys.stderr) + with open(dirname+"figure-async-block."+extension, "wb") as f: + f.write(scope.transform(fig, format=extension)) + count() + except Exception as e: + print(e, file=sys.stderr) + + asyncio.run(test_with_blocking_in_async()) + print("ASYNC w/ ASYNC NATIVE".center(50, "&"), file=sys.stderr) + + + import kaleido + from kaleido.scopes.plotly import PlotlyScope + async def test_with_async(): + for extension in _all_formats: + try: + print(f"Trying: {extension} w/ transform async".center(40, "*"), file=sys.stderr) + spec = scope.make_spec(fig, format=extension) + with open(dirname+"figure-async-native."+extension, "wb") as f: + f.write(await kaleido.to_image(spec, debug=debug)) + count() + except Exception as e: + print(e, file=sys.stderr) + asyncio.run(test_with_async()) + ## Other + + print("express-write".center(50, "&"), file=sys.stderr) + + import plotly.express as px + fig = px.scatter(px.data.iris(), x="sepal_length", y="sepal_width", color="species") + fig.update_layout(dict(title="$$\\text{Test} \\pi$$")) + for extension in _all_formats: + try: + print(f"Trying: {extension} w/ write_image".center(40, "*"), file=sys.stderr) + fig.write_image(dirname+"figure-express." + extension, engine="kaleido") + count() + except Exception as e: + print(e, file=sys.stderr) + print("Done!") + print(f"Please check {dirname}log.log") + From b2f5c3ad5299def4a5cec05dd99897d12e6b874d Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Fri, 1 Nov 2024 12:42:58 -0400 Subject: [PATCH 498/510] Bump choreo version dep --- src/py/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/py/pyproject.toml b/src/py/pyproject.toml index b26e0eea..025292d2 100644 --- a/src/py/pyproject.toml +++ b/src/py/pyproject.toml @@ -18,7 +18,7 @@ license = {file = "LICENSE.txt"} readme = "README.md" requires-python = ">=3.9" dynamic = ["version"] -dependencies = ["choreographer>=0.99.3", +dependencies = ["choreographer>=0.99.4", "async_timeout" ] authors = [ From ce8b8c5350a58b3b7c809394ed02f37fee839773 Mon Sep 17 00:00:00 2001 From: Andrew Pikul Date: Mon, 4 Nov 2024 13:10:26 -0500 Subject: [PATCH 499/510] Make js error reporter clearer for searching --- src/py/kaleido/vendor/index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/py/kaleido/vendor/index.html b/src/py/kaleido/vendor/index.html index 55e53709..153367fc 100644 --- a/src/py/kaleido/vendor/index.html +++ b/src/py/kaleido/vendor/index.html @@ -4,8 +4,9 @@ Kaleido-fier

        W zi>`p*i{^d0=J~=6bl0~?PLCrW%%20dLeaGA?vUOW0mA|=6vkuzVC^IOr}5knan>`I+$8T*?*o`JOMCr67$7uMfvmkFn<{481N14cI4KZtO3UtT=Z}%|dyLZp( z1RlrXOV<8q=LIv>9y97#W%FF+Y`SIOCv`paE={(^LBlk+#Z7C^Ct>uqhu7-6(;|nl zqP*%g*)6(O`6UeBA@qm&qA{5J*29IB>jPN_`L&lK;(nL+zZyZX>b}pD&8+QgIgu3; zz{#Hl?^bY%(rg(4x1&#_x0TndbGOP<2#u=U*os#jlgna2qaBI&%3sK|I~gE-;bAL$ z5e(@FfC|vwh&~Xj>QYoRl5uqsn#&a|>Nh=65$nsJbv9@@svY%Qyj%3~F$-dBKhMdwp%j6_Y!l58Pzf zN2uqbgwRX$b)TB&<;Fl9SnHT~pYE7DkC0Gt$bu@SY%xaYHFawWQ6YMV_$hWEa9;Kd zMZ!n%`1&ijH6;E9Zl%ZrpHEoWu98W+T}7{{!6LzLR|zRxNukWufZ)rCp2Pg=k=*9_+sYG}dl?z-a4Lo@v-obSE9e2p0N!MIz;i#d_# zbsMt0vTo0VD*3^2EXJ=`VDn&BDWFV9B&$L`2BWF@x5hgOyO`>=;*;wW6>3J`Nt<7&&6=sc<{zzY z2vW!Wb73FfoM|Al3pEmyN%QeA*$YJIYvxw(7Ret|GPBlThgcZ9o?X#+MMx~ubwafISCbibID7t5n;xT1jH#ZsNzbH{; zgZZB9U5^dimtH>o*YNIlVe{w1>dB269Z4?7XOsY2HrVPo-Zd}CT?J_k%9uIub}KbN$2 z6l6Pm;EC;mMXXq!I9gHL7sO-Tt8RC0=Hgl?uA5jd;?v-HCP%Zk5f4f!2bwI>u_0)^ zFl_lgIanC0skt?YjI5NQ4}aifj>P}MVX^$kUgV@j@xhoKq0OT{Qoph)r#+2 zpFCArj1EjUwM9r2Hz2~r&cMf5pm|+iK`?TuYYbP6<5k(`)|*n+;oqoJyr@uiEYTuf z%FuZvLh6SzlsTjuccDYH%Yb%znT|dUeY+m`9+z~#I^INWe=L1g`-)ZpN}H>8-KX3P z$zws9My6i@(Uj%8wPS5X2LhCg_8f9>swn7R#KrpNx9O6Yzln38JCFQ0eRMprXqoCG zVihiMtr4GoVH^* z3FITlda01zS6>;hot5qUJPdpPoqek0VSA=Fkq6ZDGuT@fc~8o7<%QF#pWaq9&d`rw z#V)r;7ND}_8RGZ~mr_OFDo~bQZu!&A;d4y>bPQE#?_ZuC8A&p&=cUf!ylD1s$QRsY z^@B0LKw@Ck(uB2E;0roOg;-GFHHVa0Z5$iZaP;VMu+Eky;|K<&D9)e7+qVCGL8jpV z@;*V*ElkOp=mzDq0I<>!eniMbIK--s;!(41MVtL^MhLaKcd#!8Brt0l4W+J$hJiON z%2l-c0l5%t=!~WlqKNQ>C9SC}hHPuER)ozXCW=n~%_UmjZ?jp5D<&n)Hg`OavgD(* z?Bp<%wM}w=@DY;5G698RyFkZ_jz33>P3TS+t+`XxMHm}7A%<&GcHMsh^vsva6fFxw z%@8sp8yq_hL4x|kADd0o3hu@4ip%*IKpd2CK9ZC3vqKYy+rPUn4pqxWsh_I(v(Hx@ zXK)5sp#g(RzUK5R#H9josmUjj4uF4$Z<3Xl645aWVAadcROoX>NC9I-IW9AUV12H%daq^DPy6*?El$(5iK z@?QkT;RpqVK**a0M7~L8&M$R>lx`PKyPFJ%-E~b-w9@eDIpF@(ydXTh73F)eZthPC zAI^MFXH@-j1tRIDDEp}&sKy^)Hl|Gtj(;VJs-UZ=w5AmkeTm_FsrXi)9PdN$+1l*q z(g~7{5Q(d)RG8nk1F5qSE}9tlG5XEZ<~Xz1ml&F^ zuIMaK|Gq>{W(#?Zp0=;PBD%DDvVvUCMDw!R8T*7ShWo|M-Jh`+?`;h$BS_ZlNtl{i zxhr9EHSrs?u~P#rj|P*v9`GrU4xWAd}wW65_w52Uu0DwGCbJ-iabn& z8lwR&pDcx;mF8RW#BKCF%_GiKM1t7PI%e8XWGLEjiV9NSmSFt@V;aU<32JaaKw>6p zBof&nb>1mQ(@{v;fS;vtZ>;Ghasut4$0JC5OY3`=8Ew3Pqv3I*3au#OaGw7Foq`t~ z6ltIZGRXEcwe+!4I1$AdinI8Hkz*Ni^EZcdv>;Diq%m7XGl54d2#r!Rv-;+B7@5Uu z55W=p2?#T%Ek`dfS12Wj3wL3vp0Q>7uiwmVSBRL4);cZGn{;;P`u$bDZ)JC?D*-3RE_4;-Q#`#ls|MXl+WGuPB+yJSWn%% znY6k$=J`Pq(KTtLJ5<-lqq{5vD{e5e@w2V@15u{!R0&=vx|k*)3P~lSG|>hdoAsj5 zN2$Lxahg9iK#KTphl+Y^WggmoNIyed`hHZ8>yTp}=P83dggKeZJ!O9~aEi!--Jpn# zecY0nZ4BBRQ*bgh>SAC*T;}SSt*gWc z#mEYT=&;#P+H|vQ(K$q`D~>Y{K(iSX3POICJO(KB8X`%x{&3#!nzwADPbm=Oec?wr zMbDQjfN^gG4MB7AZok)#w{XuXIzi=Q|AB01oSwn|qdTMZkdvM^yS@<*+ES4@Rt#p8ygFSz! zNicy82#CGI8X26iEOryjL|Q2v(GFd(4i%J*y5ht%Wim8r!lun6XEy&+IQQJX(K%N8 z%c{$?Fgn5q@y|UqD_js)R845@-wUognre0cQxvM*%`k)GP?f4;A(|u7gdwp;r9i^3 zLia5ApmhS^kyFAqxhx-ln5f$!;fo)rSRNF`xjO4VrC5LtkYC4;kR_4ca@I?*el?_S zWN=(KC{r2|uPuV=s|%gQ2Y@`l^8pS(LU{4Wd`HsSrkkh1a@P)6 zDHTraU(Blm%IJe-e|rwC-Zz?g{}RCxMG0FLMe9U{%wW{6j083ZPZMSOV2`#KU27ok zCGgjTIZzZ;?xGJ=MJ@-J#DjBc6H4@lE=z%<1^xY#o-(GWq5mT2K0S~!YTWG9tfs)! zJz>P!-75QaX}LBxRq&)dcMJt5y^D3wvEWtp1kCi z;dO2>$FP)J?<7_Qzh657cancxb|8KIXN8~`0@5GCH(4kK>WRXjAe*OFBp}?#aaM6O zErJ$2pvZ(xY-0|q&*yNKHlwq^LsRR~GcyCOsvaC6AY)6(9^gd+ivTd8cZwV^^3##_ zErJZ=0!#Nu%IkqWUr6vfKXlVMb=la#yd}(|wE}3Mv5aEjB$$fWO15xIe=>jh46l4oek|!yFr%+Aj1?RLt0uYqQZT$jKwNga9$GwZNxk8EJ>#l`#c2>3SO7H zW-mEJ^ZuwBKBlR@p~EjyDP&vT&$$O5F31a~7!I&_^Q-1u)P`DWS1nBS7aWtwC#;{rr|84T~psLoY$KC@VT-cz;5e{kkI0?R8nocq<#LN8Fri(J)XS+*#q@ zqp-u(Z-3IeSH|eS8&LrxuuFVX=%mx?rrx0%gCFZ%NQqXtuOh-_>CXpmO(v-#VPPwQWb-xaNI!pxE0k)5Q+0{rQgt4geQO+ z&ZL~vD9nD)-*rDj0UQ zm8DT$@luM#q<(k1xCGh}dFH97P1cO|wGJ|YvF-yrFe9?MR56*}N5E}RsiK^t5xJRB)7}ftRz#Q=S04Pw7ePahr!kb74lPS# z=haIDoR^ybdm2NmE)NkwrvKIoFbx6QS+Ol;Vbx}`s^7Fzk`i^%`bp23f(Lfc8^AFd z_oy354>D2RCaoj_Nn>D9_pDkG^P0maT>&Ze=baS6!~?3%=6+Slv-IMg^0N-V7<4UC zVc+ebpNyZZScE()UG+3|^vsgx*R z^4gsR5YmS%45xo559sSxf`j*&acR#H>ppFTt6-u*))>_oL9PZ7ke;ZIrdwA3u}@y! ziqvDkWylJ3jd?f7xd+?xtHlSTbPSKTK3eUl9wev$j%aO=IkfVzVaS zn2jh`xO2-w>C$GFtvJd7`15S~)arXpeKJw<&GCgIRNRP^VT97dA2}X4Lp2c(1Nl^` z`nbE6SQnea`1AO8ZZzxQ=c1b^6|Mb(1vkRI&zxo{k;U|x5#9b2hlxT88) ztCqkuhZ3COTGNm*91IXIM;w%S{l(bT8Mlfuv0b|>hwy#1UgtR7NDSgJi14^NTnO#D2t zQ=ey^s>3FigQ=;9kcm>AY88@@M}SPLKcyZX2lkA_9XMfF;j)dF5MDq|^Fr3+end%n)T<~(1+=Ty&qSC#uZ ztse?9tF-@l&xXgT_czlL`S2$jr%lPbYf~hak`p7CedDb7y2H6&4f`U>va$rz*2FZ^ z#Dy|r9BZSFG0}Pp+e8@~TPnyJy=G=2*z%fW?lN1mI4oIrEBM^o`qC;5?gEt9^Z<<^ zrqR%j#g)RDum*yz=QS(R^Ud}=+_jS`SB!3zTz8UDgVkWlhR=uNpD7IEJ-set^cp9Z z$JCv&+^tUf4A$DHS^wS4#ufW-M!%5}r4SlEnyk13FP#?nMgQ9at2~zzySkg(mV0iP zrj8Ktfh7J1GaBnZ14ORhLqX!(3b~unOBe@91pHstaRk(0rNrvfK)7$34?;aauy@CjC1k1o z0@_pZNe^BbmPi)1B28xcMUf;fIhdFW7LG4Ks7|M080XcD9GLuEu*tT0icO|twub-! zYmOp>PQP%p&NWzTJ11H)3)*i`3Nh0}c`~?ZBr=M%C?z{tUPoUDIGG{z!2|!elavko z?(ziCLq$L~l7mizvn6WE&wIkoj(7P^(4dql-rR&|+zTE*+c$CN?JHZs@~IV@y@XjJ zu%3qwC?utFlq7_s`6+PuyU-$!19|KTi-u3};JwXek+xm9_o!U!y*ukhYLl{Ytr8og ztuXWxjpLzdfnrc*bfwzInqRU&hMyRAyxd2|Sa{U<&;)+0pqlz$Uyk8s(pN3|c<@DR zVdT%46glgN@r}p!5FxJ9GpXEN6$m_h$zJ7{Xq3 zJM~4@S0h+rfmvpn*L3vU9K$+=yxeSWc1}!e+WUz&diJ2yPGFO#Sfx(+TXtEJ0|+xd zk?7!>oLQ6W1lG4jxa>O?ZNvMY{jAMqo&*~^np%koM>=5deu2KKYUZ8-Gz-o zIgV;qBHHavo?&rDk?i?dIlgYQY)Vfa`lH#sUuPWGXkYh7#A?q0f^WQolXVS+y-VqW zDg^kLC?LabF4?8A8`U$&fdsISaf6no?A!jK#hTFzK@x|;f8ln(<`1~0<`~{~3U$x5 z$^S6pU9$_KLx^)@h(w7tyq}86JrE!7x*$X!LZ+v8lFtVjN^Ey-2CE-Ryv#3` zMn3?bs0uxnEO>f~d{k@!TihJ;v(b^>gB`DcPw6X(@aWFLCJjggGna;v5NAkt4fPmN zW+o@wMZfQV?=|UQoU?$2YzMSD-IJ(74Vw)(>TW!tt5f?#(rX@|mc2Jf7RIrPmLEuB z7V$B9K_~eY#rIrkKEZ1G5NKc_np;G`KowFHYV_|p_B{^8DtMh0(X5b6r2=KoJ&HJR z{JHKBJ_34zqieqyb&LzF4ZMniAm_-SbF_ELORG)VEGp9puEX6YjXgZU3jg>?jeMFE zUP>EIs|q*{a$+-X5lo&vM>pL%o;RJ^+b>qUJb9ubwRq!J_5iI1?Uzf(gS!1Nf!$y8Jj;` zkB9qdS&JGZ2(*SH*knL=S{Yve%%wwW^mIX>`>ohG2l1l2uigxyP9Phfz#U1!mw#-& zC&3SY?u=_2UlkfP5vbpo35woXl;Y}KXtw+aQ42QUwiWLP@X_WcST(&dq1NRbA~?UH zM~q6PQ(x{*(-*4JWz9(DVgGCqH)YwtE#00sO}k&`i6u3>hKToE>|R2fJdKfrt~Ffw zQ9zna+#~Q}J3-g8#)KcA3Z@MHWdE-!kzkg2S1|FiX_b@w^g1H7=V0CcQe2@0E6Pd( zh@qDxr5u?&asSq0y(Yt+UBS{l&6yRE&i>}G}dwXxWgTV zM|J3a=6$(BgJea59+9x9yAmS48RIa+HQu;CKud~t&89QnAlClsLu=s>8HZP=Il^?Sl@1GerR-X*;J@P7dKBoyB^D^n!rFnTRLV!4ZD9+$)5Lpys?tIfo%p5ieaKw~y~=gQ=}G ze;?2__&xa()gf~OrG17IUibG`+{Me)qpbHD6<+xEU5%Vqh4t3^VTPjOSY}(qustKz zNgzvmVj;92r{%Sjii$Mj{EyA~wURj(Cf2RB0Tq09+@%GU#O$pd|Aii;6DC#fuqMFA zUW-U*8B%92flt{r!FzUwBC;JPU!UU)Gz2!^`*&hege7{^wFPG==jmJTfse&;&OAC$ z_@S)N!I&Bj3WtaU=mu{<)lG%^bp-3Z zNnA1I)r`p6OQk!x2G%%^zg~oh3SUgA+N2Vy2@8vog$_D5@Mr$^6t^#6+?zJPC;8!P z42a!*xDI!HB-sJF)Af)C_!i4bSqpgGKh7%1OweVJ^@~7w@XiC{M__1bSA!XOU0N1A2$bpro97N=7>Cut94GxEeRKE*5q-f2FOdztq9Bn_x-8sYd z^tAiYNud&FD(xyaeNnAQhKDtljB$sV=lMnuyiTTPn zFN1=V@)zu`)1{nGx|ay(nJ0lmd|N%N3vK*Zsv^|}&m1U=Vyse6G#UBgvXS3d4NTT* zqKv>Tmr};dpfZFfn{yClwIIga7FSM|a7{U+wxlQzz%ukLo-*U9`1_5r7<3JmNe74Z zg@1@?V^D!xR?Gdo;E1KugAI4*Aqx$1!{=kr#JD1<4VJiaC8MwcC$mD1xf$H6K*8fF zp6g?BDbN;rZ=4!xMi((ts}Yr59-oP8epv1TgCOKi3W{v2Si{vIR8CPTkR+3i#c%Tc z2&pZ_bIU)q5XwZQrleM_W0CM6dZ1s`T`MBKz$9Izu~1*{uHZC5+ny<7WBRxW7=}O1 za}khDJlVT!u+NfEL`g5XjN}EqjF3?65ZOUs3-mZb)XZ_4$VjzIK1n0^uwN`^BkGjjxDS;8J5SdEGW-mMc8iUD?*5Tv(5#zv>^dy=e$dWUD1ZciaDzw z!kU7%Xw~0fyIR(*O z^AIcxOFUqO0*?kXg3zT&o<+)%hQfm(MR>YKc(52kbbFUwiDKXf4c%=2#7Uz`mAG;v z=##m^w7(bUrPrEYUQapSW#$%&M;ay1u6L4bp;Kr@vp|v-<^rc(HOxemK`=V0!Y(1y zYiM3PRPj!XAB;4p6Y-f?z+16U00qV*|Da%}^XHBW=q$C7&J4j7N&q-F$Y&tObN>F8B<&mWze>RIkBn5c1OWhC;Q#^1|G!?^|E&UF_V)DM zWNA3toiF8UCRs^@nyW7*4x``w2S?B!QwDDJ$D73sVL=a zZ5rzh$08hHxUDIZ*+d<1YLd~~9jP1^osGfcqY+~j~JF5mq z9VtCvw^Fl;kB67h+&`2hE!}DYd;09_+hXc}yizJ>bFm~H;G z&L%sBlhHVbrBDoHxZ-OddeY5pMD`Np=ZF(3h>ggA`?B}$YIWA0GG$RO%j{zI{(2{0 zer91%-@o;mPr8PnIglxRzus!1qZgX_rpLC;Gy2B1ZQHhO+jGXY zZQHhOp0TyR?EWt{n{4tVmA>ipRi~=^t+%`eZDujP!d)N)&estr9{p_hWg}Tk%8P9; zDRoSk=P2|%NipQE17dB)Kq6>ZZfVkDee5Th^#}+EA3yT3*Y{}o`;}_6U_JJmY5>-( znf8^{JmvNBY8LO;_QRT?kCrhM>!sYoIA_2N=c30alWul z;RM0t_XPPgJg5wNPBhFwC_-$Io-cubXjk)71EZF7V?-KE6iM=r{;hB+cul*oB*Xxy zCs1z#Aym|U?=6#lahnjL1-V{UR@+JwFbgoLP*D39FcjuMg5Z8}0;39yy)S}aBZu%t zJ{us5s8#YWPiYM?Ca?1jU=+?Wj1nV?Y{DTjHBlJZLB!nCgteY4?Q*&9aSAYGJAaXcbfki{JQ$MshDCgAOIQ(%=!Mab>AFU zu^#92u++psDgSfFo307!ZGsrU<<7%ChJow-ntBVOC?yYDkBWjfmb zRn)L|&8Sw_gxGon1R4;F;6g#TbmjUH-1&o`g{E?7 z5T|<;Y#%2%S5Uakg8w;ts0%3q5Qrec$*U2>ia6|*+zz0je#Vu3(+?r-Y4p0Yo6^K@HRw)K;9xqrnasm9@7*CfRNXXv%fY(aNg!-{RdW_e>px#q}1!?q&_Fk(cHvGUu-dU?cRjBg@O z46M#pTlLa`gqp@)+cbBIIUAWAHOPGr+$>nRL3QJQV)_@985y7`Cq3JNGZ}$OFp0xM z486nAq#H@o5FM%t){{2CqdS`S%C zu>OB0#fvR3!1A{WB#ArEq8CnH!Po2nZ+eC-7|tiU0lu!I5IW3+82V8$ly&ntx2Z72 z4TfBJlO<+XGegU`xwyJwGO*25crdN{b%bX;*jRi%xw0Tw6V3tdb7F>R*xZ+9#9ABM zQ||&yzL{#AOv2o(pM(ULSj)+s=lr{8m^YXNOrjP4plM5 zeK2tJmRzi&f7vmvnr`tbu$hL!o@d`(7t=MvXBrw$AvRT08xW&}*cgm;VSGENk-{ra zW5@bn=&c$Sr4fdVJ4Q$01=yKh7{f2q*;*u^Y$DmjN!veX=UdJpuEfE=E97~~|6r!c zGQ6i8Zu)6p)yoUjrcEp-F`SL)6GJ^3vt=C}le?$Ps4X=QNf>D@KUQWIE2UXPG6dx- z-h8supH^}cRq}OFfDX{eP@A%eQmCcfq!Vj}4lHhpM*RFWGK!LT@ z-ot)mKP5IraqG+tUL`q#8Q^8jQEH)jV3|pT0E)T?mA&hC3SNN{`gk6(M!-lLunwWV zJIInyRehElMUbNbBeV+{QBVhT$&?`l4AVffTMm5n%SaGSJ4DUX#G`G=>!CQE5dcAv z$d3ken6mr*3#<=OC#>YVsV$0BeuW5TGQ7dx z&vi1LEiHj(ao3LUP)F17W~V^Kv`!j#U0)HpKlipro+CgpM}FXi-eOB=jF-ed(fCeJ zJdmhMh;Of(^z(UB`bO+1eSGRH`QnlNN}Xl&E14rrt1du@$GvhWKG=;Hs7hJ#uofmb&LKXw~1QR<&GxGhFG!X=C$i~2k- zf`+TBAP0C`iZVLDS51FaKN{LJ<8q<}p)t z^{WW^?!p5q16&VxH~Niy<@vyJ(2(bYf%qte1A!M#SOCrqgDCUAlKJ!k{n8CRR_~_` z`%|PD?oSOEj8I<&UTP9wB_avH1wMOUk$^O2_X96d1ul%2)l_r=-?juHGBNKK5#Yu` z<+uvI52t+5)EJ4LoRG&4Z;Ww10+&E$T`FE<6v)_>k#T`LwLhA2v^X?(kodypJq^FL zvwvTuOJXdGv@XEBX!5Zcp(Lm{{<`uMLPv1s-47IA4_uP+sO5ZD6992joUrvt*^5;Y^iLFx6v%Wmro$^ zXZJW+_EPtE&}Dw~=gye(OD)9cusrtP$Rc@w;!>0q$L<$~*N=kVL>EEz zK{JcEoIKu2ge*p1NY+v4@4e*)5Ezbk=|*^BGLtFfH?G17r2!}fa`j z-+A*;uRg!dbKS#X#f!J6r3pvGUi>`#+%F#&pBGf_04MV^_3Puer#F}Yy&UFhg&c>E zemQTpq=cXbA= z0TetP$)bOpd^V~Y|Bc*}F&z($yj!+}T!)~Xfq_ltJaeF#ur6tVHST}TrSU>1;6Ha# z0KsOS$yoPlL1RiUFL)>5L~&;tBwjkrR_nYg4f3S(+~GYi#PE4Aj^;8Y0OKFTNtOkE z;Xt_9WXFNU8U<^I{7t4)7Y7qujzSX8j|cgbf4Yk)WsNl$MFNgf#a+{AT5T+4k#JVP zy)pz+ZcoCjbTAQk8$1fiq-VrtBI*4^2>G$2yHS-!#biYWb#TMPI9W>O*6ByzeB z%I)FusYWa(esg54Gw$hkm#>)`M;;*ZaIUW71)wrDAVbqIh8`dQiLrYfb$tuBWd{ik zI3hX#rW%xF;cBgb!9j3WcBIOTvo}HagvTJ&GXl8hKC^c@D;rD@Ov9;CDBn=>VLpOl zgy%4)d_g3^YPbH43pWD89#9;%a~t`);jIX5j>ugejdSh4&a^h(PnGbKJ@U4 z@&_882aBm{JjV)F@z7kH4UF}bL-kNN%vl&ZbYQ>5E${SWHV#%stR>1v#+BOdZ0+J@ zt6`xCV8%Ni7AI&dhxz_qrb$W0r3xDBOvao51w+%9lSxW+F|eHNQ!bI2F}-*oTpK0H z@CGQhh6lXBdaI;jzt!`G384p0H&Wwa=NEAO>lp+t?uv|CnSTnW(G;6D732)KR@;9K zr9L#kGMG14Mgk6!7baM88%{_MYuhjRUb%r}p8hK&>~QB|8mDMCH9E``E_TxCs2%M1 z=luNN9dmOo?%{Z)&68pOsWz`W6j!LQ&loz1#5{GdEfFDm`n?rl9;i>qJ&IX=m@jfD z9%<4!bc7OVgCv32J(@*zWmVX0A{O{QY)xP@htdWS9u#1Xbak07EMs&9c?(aUP)zd(J4;f5LV z^dmP^{)ETnAJ~`|yIgx60HPH^%O!C7MizbZAmzckoL#5hs%H$F66jnHw~{(|YVO%iEZW6V z1QL9pEoE8~j{f)$?(KFry(BOyFHrAdNc1W+!#=H7$}-crQ>nI>YJoAG()s+@oo3UB zrrsd6E?FPRmS735JCLn6g|?z7Q`4(5cfxJZ00(MvQS^&+lTV*h6L0fvhlM|SXiSBK z8(OVlCik%$vm}1$LUqLsaEX1NG$mWd+X47tZaljwl}UV&RPD`H6ph4aANln{AZB4( z1aPPps4z?kra&MJ?$q4|r(8~EYS{5~xynmwlUad1&1qi6qBRh%WEBd!0rtRIh+UnZ*|1?f6w+9OCEaLvn?qSzmVT55)j{jdsAAFD zg(}wd`^xDqY&b#!hHP0Y#DjTae^G5FKMRC)@UPtYP&t5!~ zR71FvMTHvgNp3#<1LE))BcJm*UAg}(E9CFY4WO6G;b@IfpHrIef|&P)-fNq(4HI!d z%ZER_Il+_-cb1?C*i<;ZJSA(lKF?cZfdj2rjMOqvEZwm($K+-kSwb0K-|Ds2!(#%4 zH4@2L*^f3%HE#qFwVS<*I=Z^F{fiNl;XRig=ArWb36dpio!jQHMMnBnaSiV%*JvH| z*GMKa+T!9`D_|VpE+p*VUMv@g!B!P>mS{$uju|%(oA?SgJ2_J<9IiNkS%C1X7FjdD z0?76W3#q|C@0sBA1lZLNV80x!I?I4xD>~YKLfsx)M8z;NkJxJI%MVqU$nOeO@mO0d z4=7+Ahd1~xefz<4#?H*=K(dhGxXGjXas?vSv`+c;ew_hqj#lI{1n|fAoTux8Sa&ym z+k2Jbe!TF9AjE~Bs3(t`?HPnUJDXvB;a%YdH5|kz_;X2X3O!`Gpxagp~0pIam;`gWM=R?hZXGOnD@vlUn^(8h+ zzxPMgDx0_$BBxY@SrbIDTIe>@kFe1H4#6Mt)SeQPJiS^i;|r`lWm-&~3cJl)#6WbU1_^etHX z6fJ#;O*Y8g;93%rOlK+XS(96>Z9T-wE#T%9vPU+0Y4Z+oXP6N z=Bl=%cG{+G&q}Ln#m*|#|I325gSh7WRNdYyyd#t+xS<})-5q~kcfq@VG)(Wyfp_;F9-xxx`7Y~s09}{gQSwB^ z)juEmSg#Sn+D(5SnZ3Y5=<4Xa)WZp(S7;HAnqi5MCQh?1uei!YYC1b)m%a+ZDa`lZ z$RcFM`%c?Yiid_d#@iVUuK$Y>r*9_;;{k@_MGZV?LNR$IvM5K`Xz*B7`zR`5WfDmtx5|s-3_63?@Fr6T63z9ZXHrUi}~Kw(`Vql&;-`RAjYwB8ybT(hoNl724H{pqHa%)Qr_yn$SsY+!oa z;06yT>Xx!KgJ23bP;XZ0c`iI@7PLWY)3dhha6#3h!r=`e;>cKut22W~w#YmWhW~AG zN1;bYASz>J5dYYGV~8y4Suvz>Xo-wfz&Te^62S>ap;oKur!DhB%5b3&7v=CQHD)5Y zgg#)BYoE}D5be@6_C*)0IFiEPH*?F>C2H{1G3Y#X^|P=3V!QT~H!P&11xwjI<;7cR z$ozLFc86s0#8vHGP1&HR_}p_g^x?Khh4Pyw2-JN0#wY>?#8e z=Nn6UjOoAA|EOdor}|$YGa@{2Gq%@Ld}p#aA8k^-;x~x?Fn52M-CJ!i6#IC1>hh(_ zH+}kK79qDKiJNe&pd<;*GF(&aqAS65h!Oq5kGo z(4OKRCi%oQF}ygYg#py1Oz2U|QlxY2_!OuTb!ng?FQ!+>X?dm~@4olmrR}b5M~rf< zZ0((sVnx&)$X*+}3r5Ui8ZM??yNHhvb;}No zTMY7^R4BZd=pje@o2|qL8u(=RP67%HQuxsk?RM}Wt+c9Fb!oc1HR33bLSpkYUlkkuqbgSd>+7AeTowQ(nZ7yD@01@&vmKwq^4yAh3a1f0y#`OnJlLzhDg2Ti zhnCG!K;znXnjap);+;672o5gS;1KlqG%tAIlSYlV% zwEVSTT*j6!La34%b2yxYxkq>_+sm%?l!nC-A1L~J8fet54T>ask2zdlJGS;3Y;Lj)1^<`nAc{(3*`BJq6)D-rPA|3u`AUd7~k49|=F z!jP78X-IUk>R{FMktYXPwS_MUoT|6s2^;#WNoCF#F1gbnHTV9V0CBV{Za2iz= zlWosxwh7yr$<51u;oRf~Bgcg8BD21FOp}W;w;tj3Q!q@KR*A{r9V3S%99Sd@sI`uf z2>f@?>cHDS6PQ;DfRHwB zJ-El61R$1Ji5E<4asKc{cSZf7DB_UUn3$(QWt^!;oYI?L_L&AUANJjnc@va$uTz8I$w@vUNXBAQ4ne46|5z&gZeR#i8#bXm57w!z<1aK5=E8{C>>^6X40OyM z&GoEg*FwI$NlChVc0fJ|&tn(o{Glr|W)(4KN5Y>#iYn-7@Fy|wWMP9Iy4eJn zw;SdK)>Ns8)%dfE;b^?4$YvJ&BBnXzRNBZiD3Rn;paJ$$YgEuvfk7ntNLd1E!{wD& zwGo5)QV&-kyv$(kJaPi%GwJ0g)pG+y#=oyM`RAD)=or3lQU-lhHiy#WWZ8Ss4HxYA z!!qFa+Kfo3%zv3VHX3)dt<5U!KRo9TTk6vz+L*Dc40pAIZPKF}D8mlsr;6KJNqDj$ zXc2Y(D-{|Gh=G>oirlWw6;6oo-}C}Pohg)!9No85RjQM<>UB@sKc**v;nw};fu=wh zO*nC+%_H0GyH%eEEVHzRyXy0#<}}1<>#~%vT&g9N*H#`tYbQ z|M6LIaea(wt4>hSB`rF9@5<3MlQ1~YKXKm*%L4w91kA%%1e-2n!@PRl!c$7qce^eQ z3#H5|fa_OS4Q{YyLSJQG#t3v*aO+jnbi4WqdlV&`p>iVCy^>a}`6!&vE4J17tXF*N zzX(*lOIkH~HIa}m3xJ%5zcxd+D!y>m_;3)D;Y#cgxPaoh72Gv4(<*2t&{1GF3ETO@)JredLz=S-YXmE5%3==wEp6?$7|_ zS$6drAV7e?g&OY%<|xKF%)aNeAg6^|u$s@M{d_fYrA;0(#onv1BD~SHx?@7a$%QO~& z79VTg9gY<090ue!zi37Jp|1P_u%U-F_L%#d5^13~j&8rfhu|7M0Y|AfkkO@U z?ySy9DU%;KRY1J`(zSAjMDEbJj%9!_JDdAZWAv-*_V&E(;^kSa*@>wf2x?j~m|?1vOd3 zlqgqDm{;U@G1o~Bq$;EpMQ1mDZb5yaKzh3YmgkEd%2gPZZhtGV{>!VTa?dyJq`tiU zULp_a^##G%V@R&4e~L|^)myC6lcpgrpvs+*Z`?b?4%KD%3e9ip&!U?+RlP<8$R|E! zV!}=X*|L@96EB*&pKauO1p8Ow=}4FQ1%VnN8Tv8{8<=h~UQ5``!{_SZ!#ZLjW^-lQ zp2m%qQ1?C01cXsk+K~Wv^ju!i-26hy+!FT}TgjIFVO@9hd{5LVhu^^l*EGX1=3HBH z7bMy$TVl&NT4-CkHZx*m?LzrxF`Lo`N&mVEQbos+ZS0d&ASM7Mw0Dw^It_KZ2USvw zJ(@bsNk(S}_Qq_}}+C`GpP*_}uE4MPHHnr_3ZzCqsNR zjtTa(Z?|+@pLk_l0&u7)loHAYR|99pE;MdOnHvdhj(VJLVDWROV>FXRV*&5zXN_;` zgpuGHPNEYS>yNUQSg=to6hVh%kDsJS=0h*S7JN+uiLX#17Cb0;{NtnU*gDycZyAhn z*w>EgZAch67#kZ2fwS@e7yh%^EC^BkHWO1rRP-HYn$Sahp`IvXt>7F?2+Ca^>mEb{ zt#dNcmtRxR=8aun%7*4G8)<(rnF6DXF6nA(As(BlH9fw_-w$t#UCnCjEC+bA4jY$P zUk@;wAcws-3I`;517?}$t30t2-cH(Po94ncJdGFG!wn_#3k3;Q5(eTJ1$MHf&_R#y zH+<$xh*lgu*~z;15@}!d3!%OKLGCVW57)uj2s)xKY88odZDh^G4w%7d>}lQ$=UUJ( zd9CXbFGWbBDNAhn$q4-KbwV#mbsL%KeFZ%|<=TC87QArY3FS%5y^VAlp&Mb(JH(In zc`&qz!BZ*n>{faDS${@AW;U6%0s-U2Z7J%G8|hZNje}vp*wx#8G_f7RLhZ_Of%Sus zW!yWzjFyfd@Fakdv+e%KncNhmy_>I0#s3=`40R;M?(6{bK`Y*a&`F?8bzwQx5Au6` ztVrp5k=MG-kY;1&tE}Vwj8;2B*$1Eck2~&ouKed0Rp;$iiS@~ehO-=!10CFhK{2}D zhi`_zocXLs5wHu%-6RTzY*)&M3SL=JK9pQIqX}?cZKAtt^k3^j06suDEPL(l7xS%e zdo;Y&tB+mIc9grp7XV@vPn)Hkc#VyCVs(RY9zSpcsRH0f$W!TSE=-Y%{!i0tC9f z(_@6ILy&%$x`(p`r1w!3E~<*5+<1JP9vP%_5OWwC5yg3ZY3+i$jgq6Xj>l}f6oiq8 zz4LY><0{bUU%djC=TD)Z#&5dZhS@Zkn|L;P6U6BZxN9sX;sjP~jKFLJQ)8Jh9Yha~ z)J=&)sELU-D#w4J{^m_k1j++tLe}l7I0`KofTHR^aY8QBMbeubY{DezhpG(|eAiY% zLBdf_Kon2ymB>*ybo*yu!c@gntC$2MiB9hRV_ShT4X=**HYpo<8f%xH7_c z63+H&#jvqWk8<2f&@X=WTz0*fME&aB7eWG+LV)v0I9QZqrVhnYvpLXhOm4 z4Gg>#Q>K>(h6^?7S_%Y)@{Jc4QVbiGD2hx3kJV=U_|rN)Z~r5Uj>y+jpi2(7Sg_Y6 z>28m!T4c#<#o2+pNDre9e$$bhqbM}7td?YO``m5exV5(oAf^6GK65q*G z$5dedJOXZeF~B1>eDv+)pVeiZaU{}FXQK~5z`HSt# z!jSCIGiR^NoMk+`XC@bIOxi3s-_G?7Xq)0-#o5VUzCO#XcLcO4ArAP|Qm~>~DQmK~ z&McA2Z0zrt?JvB!*CE)4eTs2V-W~zhoRv;}4#Z7oF*3A!W%My*Z}3S`{Zy;hTX? zE_4Ojnu7|}3sDMBH5s6!sLPjfPq(Ed1auwCuu*e8KVQ@-(yfgZZ4Y8Kjiv2qan$3~w?4=8|x5R*hyz z5_Gj@-a;fi?{tKa7b7SrOVB{IYPDQx>^SC|DP?lY_BMEECkjn6iqf_}M;jSWehK|S zY!|9gstrzXv`41UbO}l&BS^o(sPtDcW={qL_*p+Q8t9R37||~OS#q3)xc4cCoc-cZ z=_7lloQbqKK5LkG6k2XcO%|8ji>P0G=R5n? zx4@Vhx@mwB#c5Kzt}G9sXI1<-HHyw7M@qFSeVs_ zj=SCpT}zTjU8N?b^Z~pta_CAXeY<9(KCoTpteZRp8HGGS6J8iRE0q3iEul7Sf?;a1v=*b)a`k>9bE5 zN-_>RpiQc8w>z0BzJ+NeaXqFVEGvHZQ8&M!_%lDD4^)v=r11Tv5>Kq@ z-k5$O){!QBkp9)(Wcka%Zv%`dU9N&ExGbbhVws^erTOs88QBh5 z>H?!RKUjlFjGDNwG)ki{hy(7cFS_k)xneVAf6O>8MGEYhXbNsQ^wSx^gQ-zh6vy6c zR1wQZymXAZn$M*_LG(ghpqaH0(t;&?=30c=hT08}dyeUKfQ2&I_K) zn1)ENSG-R2_LaR})qd>o-<;Nq!=z~1RWiD*qvNQl#my-|xSnFy>iFI0Um98F*@{!o z&_KO05qB2U@0_$qyfb>#cPrA*ooO3I;j9H1nzcedds{_=fd!Zb4?4>QGMbP7CU?q^ z5&k$g`--Pkr%79TNK?UTo9J;Glxi}yL|2Xw(KaBp3opo1_4piDNHDwqH~3d0HNLVS zqY+KBklZbGa%XpnI%z3j_xwp1>bG@(*a$%j`9d`a`~mr1cug>Z9 zEoo8ysOGF>#kBCPMa>8MECZ9Up6E3XqCC_Rf^VM5xnVv?oyoH0>x%gv1cS)DFY7_~ zfYvt`ul~Rs?0jinsHfCnqgS?e@hC;bXn3iO=VCKD^;nKQ>t2qM;ZK?yq5b~+q?a^V zT4Nb2bG&^?iViVh4uYhH)`XAYKNkrgrgr7YtbK}eDrz!53Uw*UuGwVrcb}}Gpptbs z`+Msj(#p;oAGxtC5y&?8$thtZLLB@F|G*q$|Nhl;4Qjo?yi5LK6 zE^}U|hmmGNf~qQr>HzuoF|Udv^*UDeBA{z%C!zT{KOHl(wVtd8l~HNgI>=_ZZ6Dr-fn2Ew16`u6fk781pE36B-!X3UmmEw4{dNsCEM594#LeTz`U zuW91M+j1q2$qcp7%RNiOBLw8BV<~YWgHZS4VMx-o4i%`pV-BC;`uo3pBSnAJ$7>!V77y>Wa{feC$i*qhb$z>0^XdR;kn<*JmBXc()Q*_O90 zp53Z(s;%&WgON~e&WZk6bAo_ly1MBiiCZx>xUlT`N>K1M>TIwWUm~A zj|(wRy>5kkTr9;ebxnZ+gJ?K5;HoQy{QY{v4*PY1=Em#o65n|PDm{*Ov}NXe6N_s$ z>2p$xIcmSSWuVd4UyqCMFbf3V^Qlke0y6&KgbB3wcen4WzF+Ap##|n{Kym(b8IEEY zXj|eNOMEsY8pPrKLjU6~8+YG}_s)Q5jUCjxA7VV@J%;9To@oL0H0vSQfe(k#+Tti7 zk@F>Iq}Jy3;;DXY`hX!pS&0LiCbL`Tw`vQ~%=_6G)I4LG2I`X&(0w_%w@+D6V>`3}T)Ji<= zL6BZ8`d}9*Rn^h!$HUw;nSrUS^-%>3G*>xrg8$eEIZv`(1xgXQ9qtB5>ooE$ds31W z)B*)B8z&_jgV`}O;u?U)lIekH_Fr>P!sf*`Bd_})1twE!W&E|c_4tRp&6_96v?Bp{ zCnjL7+LWpQpTsUR8=8@nSG#WPF9Q}zi|)%`*7nCkgy}9K{6J)P-2n3sKUfyX7h69$ zoWcdjs9O+^Rqm#F;2a@4UW|T;TCYa=hj#W8xaMQWNDUU=R;(*rzteODPD|Vp%d?2v zquq5U8BA|_IqE9Gt}Vljc1L?1q&c>()4fOIvh4F*W8#`VziuvGU_@t#Ozm1Nx<(G{ zg~c`&Dq(XRaRUU~?rOOb^kM5#?1Q=@Gk7n)s;6={WvD^vFWKyK(gZ2Fsr1MBq1;pL z;J0m#g`PJfOs&b0$@W|_mT!e@Y;|Ocw!0tGN#;|KD}Cpw6I8IeA;??STrNTLgoQvf zqHBgzA?;5vO~K)F9;AT%IZux0yp_;!=j9O?oGJ*c`#~2M(pk;`+W6UEU}%DX6l1d# z*Q)Dwp);@f3TDc#GK#|8^8n6nlhD@ceUM7rH+NgRpa1I5vzyVwupe+(&+Tl^o2{dN zRQ!^`jjvO;Te)ox*B671n60>UcdJh$^G+BZ*6%^J7kbk^_7VPOu-ySpf$HLPcZ=da zT41XNj7^w^?O5;82F*~XzOX;jck+aUKw9nTAR+e#?G6x2Bg<}>{ktQ)$-~CSn9kaOtT5e8O(Xoj9dEb4 zdOA8Z2#A>K>d|)Y3sz~lSZI}vn z_s~DD6a)@7a3gdV_7=042Vhklg?;fahw9$<6g*CYXOEoDy05-eFkD6LB(XaCd_V9e zwO_rUvQFPwNCP8?u*SmZo$xtFxHx@m0%yatXblN#O~_O45G-E~#*RIjwK{v-+kT$A z=iNV7_IZ8Q??1IdeA++x$7`ff8W4E6lp3}~*aPROgRgdBcGySn98KR^? zQN&4)O4Q`Aostu81W!uwGy~~tE}d_lKPP2R5M4g$nzpgJ+0$9L!_#8t*ehvfyNgzSv}l;PjP@W$UiS z&TSA7^OdofZZnlY`J3L9=EehrT2<1mq;}XJfdhUAAtV z_8r?(XE{<+IY& z9@Dlg_dd~XY74nEgD3_be-W4n85?R)UXaa@5-9Zk!CoJol111K#SE6Dz0W=lbFS2j z+5Wb3vITGFXJA&&IdOkz-)a&PBO>YvgEMxjgX)$9gFMYaTni#i6OCHEIP0rRF3l*m zqfCvJ&OCnvHzVcbM0z=QGKmSCd74pVXFq;8>TI{P*B!nvoA!F@jpxtPSGUE9PBnza z1-+64)}Vs-P{oFf=B`%LaN~zeSse>p=Zp?Qy@Tkv?9mt{#dskhavPeH%BDhid_M>M z&jfd75bT%>YhmMyB|m2N#J}cCxl1xLT{;6qQ@-X$lfO|n3u_cYN&NZnPLq#M22XH5 zp0i@YL)J!~E2nKx=Z1_t`u%|fD3PC{vci_uD$ZDls4#ZxS!9 zN((lsNmNHcdqLOnDQJd`3p%To{!yagE;3)l*fPZej_!cifTq7>Cw*s0WLvw#hTqdTFQNw;0QW>7eyWi!UsGe8b(rCAJ*k8?>M^u#Q4q4Cw+$IWe|4)BN`y z+1ey#ZX!w%U{*D%WdW{2r#FBWviMZ#>jWzMK82v4L24hnZnKE}>eve6uxshC_?S=l zkQ8?s&5`23th|9I+g-lM-Wt&I60lbcLN_kmjRhoMjB%z2i~aX(J-3S@mow%n1^VQi z$YlEwS>OP>ITF;fgqI4~gHiGs=sz2`8;A8SNJpNAV5EDAYDS9e%V#b4dc1AVdEDv5 zi~p2QXC1$p+P!0QO(Q)j!b@W%q1X;nbx4WoD-oN3==292ln>%T8MoBIc2DLh_KkS5 zR9&~&4^o)Hc{~{?3A2%e7CUX26~~MR>e{2zASrus_KtuOr?GC_#SyH0 zY7o2LfD;w+PS_*#8?R;p+e{m6E0b24m~jxCL)GM)6b)~XLKLHH6`Ia{M_=F$QiI#b z?0(fK0w@R6{%vH)4GMsgE*57!R{H#w^ZaRnNiH5e0m=y&CUew;+#fIO=a7i4srAU~ z`+)=3E639VRyGb*Y{E}WFDy2=>jKq6Xd)FU)_noI=~(@jCmN@X79TZciNC@hL38Y* zAHp+KXTlE9+E3MH3Ez3yg7ZMsI`;5C63jpR?G+%sq6qfUrL4 ze&W^lY4hby&S7VGkm zNXi&J#LnC=+kDZPYrRt-VQ4}74XnAmtuANJ49^fwHj_aka%k4Bn3$SO?@fy@7=v8y zqX#*SBQ`IJ*jX{}6+bo;=S`IoSokA83pTf;)vb#Hl{7Y!9;!912lqq20cd+KKZmnQesE`RTHQ{_X(7@G0$%K#&^7V+Vc5 zu(=(r2$0d4?^MON{L7XXf7t5X42m&k$hA#1fw?(VJq=8xK$-7%7Jq3kEgkC&&*4_! zO*;*6(_2claTJdNZiT$6IQ&DeduJGanEpP{pA~!o^fG>8!(o9~$ldSo0xbwE(Kkv* z+kHTpu5EL5lVxEg*AWqFIB$q;nj6?EW>UOBO9#X0oF?Rts(rT-J_azlID*sax9?0U zN+By(z=A0cPOD34Yfn9q-hFEzS4b3ezSdW=>nW-z@ie}281tZmibu6paXP@a#r6I& zDmr@t6&PX8{X^e@ic5WyDrgw}cCHsu1;`?TW@I~@FOVPP3a%-b_;L!j`4B!zmbvpQ#~*>wJM$QTL^qL0SFK zQiF1e(!*bgmLue%}9SBhL_oTk>3zaW9!u(tQqbzaEAajg$DOCSpY z4-J*q2&HDwDndGPf-YtG$!1>dT)%a@n%bL`e$>$4HBo<$M`HC3X@q{1(aS6r_Mi&A ze#0MhR$2{OSJEmuUZQ@)3=UCmPLx$UHbgt>TPpE}|KwGECBb~53NIr}uIaC&#~wB; zD!M2mWmCn#&dav#aEmEd>>m#0=i6)2!8_Cg(SBrhwUeG?B8pV?KmXStIoOY@5-BmH zfmI3Z5;x*e;1;tB%O^30mH0*g%Ec+C1c9`e7YUkERz?wmYJ3sLKAyt<3b|TwGF#_> zZk)BE|10-)R5p3V)y4MbK_pHwmY?D0B(*K{Laa>lRR_zkU!ZKpg0JbPoocL0EG6#% zGI&1mra$1J=&YdCa2=3s9bS6$Bv`XTSs~->sQT|m?hZDN<*Ng>hGlR(9Lr;=#Sqyj zaS--@QTC2OlDAFwVB0pQr)}G|ZQHgvZQHi(Y1?-9v~6>Hp7+1IaX%6JZrmTPsEX*Q zs{WAY%9H10<`3DqQZtyn58u`Twlh!|*kzG+U$soN(K&j)tbe&TpioFGm#07WmiQnh z{DQnF#KcU%pH{6l%2zK}pl$8_NPUtEfk__+P)c3;$gb+i4A!oRqObBit^_wJ)-+uh z?{POnXp}aHz)jXaGe(YZ0>(Vz^gMeA5MINia)PED-`HCLw0p78@7`;>pXv|DQ#1dZ zqlPdBDxKh1#Lo&3?O6b-KI}9f4~39hK6cY+8f?hR<6-?O8b88Tkc6O`+?}#;u^P5B$VH-go! zVp(cLs{HV1y@gT@^93Wz0p79#jTAch`d`-a;QcQfI{t3tk(TwX$73AXk__1FX0Lg?^cdhm_A1}?= zSP%8>wt0;m}( z?^0H-RW&{u^>Fg80sw!pY13Z*pfBDKLkC|&^-I)g7O?hFOc?M$_)oj*N1SA9-{zV+ z6b*|0iar6H^AJ)pCi6tgtAIdjV%It->MH|sIZ4m%uA^*BvWggL&V zII+?P=4nK`6g~41Rxu;_!^|*{yhD>c5({%6QHSmLk)*mIMuEipW}Ye#ljy#S6%0iY zeYIuhp3Gyua;k|81Kh2Fy|a_uHPSz#D^(-%mU7PpyWwj(7ye0wRQi;284Xy4K*{79 zRCIF`HK`*PAQYv2H639r+UVmN+THx!Yv!EAwFX;BqDh(#*B9b<~xP4r@4_aPH(U@8bJ zscLokaZ2+BLiJC68gEG61;h2ob24d9ni2!8|6GaMUNBz^GqMJ;OrEE}5y5Eo2TEg3 z&Q5;DT|4E$P{wsYW~h%selR?Wn_8s|0e74*E66+b00r&KAGs*=YTEFL9eO0o@2z%y zr_-3Q{r_Hd^}lVs`9H8QwsA6dGB1Tv7ms3NA^H`V!+;r9b{>@;C*U9a9;@Si#dhHCs!jT7+v!c;>HB z4oLiVDw@F52DSHHhQM64sRI`B@-FJ0!P2D!l64`_@}VgK%Wl&8MYD~{ajMF~mC1sZ zPG7H9<1ZGeS(dADWk)#ZLXNq~Y5$;y`EomW*CaB-W%!)F{s-OjSJ9JuoTt~zP@0(3 z`3G3EpxAN3t;>8WkcViO5JmV|E?9x;{nwGEb=>}7f0VRYCjLxOaf@sE-JwC20Iw=8 z@8ahf^(rnIR!(^Al^2HA8=N2-p%{(l<-M28XNp?O8Z%&f;QVl1hmS->l_}6 z6aXX^s!cgMS3ynaPuvm7GxhW!0f!%$sL$~QF(Sh2$!zd*b)Zv%IP(6ESgyz#c^WU1Nb~#LJ=gaC$$0)jniD0GT6*}B!qWo+fou7+TBRxk37)GWtNQ*95^34j9 zTCJf<-s7LEQQ8N&VG;_*oXOfbZ0oRe&`H!8B@ny>ZYE{tfoTRE6Yi^n(MMH~`)QEI zP_S<{*EsTpk8le~Q3k`a-pNcA!GU#VHy;so#4kSWLa~8Ln|GpzP-qkyNDI=W6GQlN z&g(*zO=5&|c1U)r13j^mDZ82koxn}W;Fg%6fD>FRcScaawRF6olfguv2r#Y1CgCCF z(SlA8I|fCTdohq9k@0J>w%7|sezb5~5@U=7j}Tx4i#+TH@TFm|l{k4@H%va!+_l@R zeeOu@n1KinnG%3%c^Ql&kV{s3b_j}~Zl}=;YOP(+z~FUL<{n9V!h{{}5@3WBLyLg0 zIARZ&vQ$gih{n5WX{iwTihgW-4_%rS#%K^D0&zP={zb*PO>nwOLHxff#k6Gnsp zOYB6R#8&H&4vM6$1{T%J1Vc8S?^HTDsV@< z5>|$*S~+$W6rKbd#!Y$Pd9uI;PqaeDHnKZ!;Obc@l38Ai!aQi2`ogn%Q;rEJ%R;RU zV6>eZt{CC)+=R-7j({6$Pn3!|Q$i0(mnQ<$r$sG)c=&WA;6`mwyY{N}IGljclW%5Vq6Ixe+RL+&=r~q zV0wDY<}0E9K$V4i&+payt&aake3z*{55;wxH9iFIBTA7@0P2-} zlA_TBXeG7-g+ZADF>mz=z2tOlS6b&vimxs8KwLSzj$7;LY<5qR&OP7foLL}Oz=^a~ zo?2C3(UwM%mZ6-XyH!0DVIHV{Ska5C&a7%+5e8aR*%q*Nad?_v=>34)Huzfx)FL=} zMGPC4XQi03a%NhAsFq54p*Z_gdCT@i@Z0j{G@x1@g2x;JZ>p%~;XV;dyiVlHBd(EsB`R1p@yau7`c;N7}U_%*Y`PZ#*s3{4{ zt)9eD>NTt^8E2eEGC|=jD+Rwef3(GP(_2eARW)T+^1lGA1GT|XRcbv5S)7ER2~ z!(a&*QJt%o+xpJq5#)y1`Bb6p)}Ij1MX{^zcUUKzW%rZLzh+oDZb;3+7BY26Rz1F* zV64i9Dy&8v$A>!YhtjjeCCwU5@Q{GlRc|)GaM$fu=zj(wJnh3)`uEmOA;^Chg!+Gj zP({;mjSa*5NY$$!+9+j3Z=}lGA(ZjP=4V!_O$p;0ftCJ39kp^izE#OrS56c)=3L8z z9rw|3hi3BI@K>9MTo(YEknI?eVKY%OGUQ26tplhSwxV;4A~=S*iD7L$TfUY_ze)3 zDNMh_jBV-X;PBdze@biuFp8F785x#76bn@W-?jk-Q!S7|c0^&gk?Y3*fsK`g%^j$8g-*l~uzg@8Ah8-?Bj`H_sKq7l4>&2HrJz8P z*cFv+QA1J}To{rWrJbU>Bq!O?<}MyWGU`JqQDM+OPt9+<0C_!3%(6-xE`nP5PD5OH z5W~&_E$rY6B%tW710#z9;pv`RaAJ;@1Lc8fd75%f`H>8nqudOxn+iM7aw53{hoy!@ zw*28?*)k$wQzhyfnyItHsLgjyvYgWr)UaYyw24G#?rMs`_Q`1@T}<@C9$4XOU?L~Q zu-lHb)!R(e4S*Y$#<>_vUE*iP%a7i+T&Y#ypyynt+(npR(aBod|jVvg{WIPNn_IE$T{){BZOjmQXescpQ zV=cM<4VTm`e(#9ls>i7u=b6f2Zrcri$0P&;w2f?f%l?fl`a1o0MiTmo4@^Vgj2wFG zey&XVGW`HX6U)?LI6~))!+n&krZ%^yUQB(0?lTY7*N?1#YhNLjtjA(jmY4+WsZ-%I zClg7^HOwblD^elmF=`)cLG+2pkBKEkJ7ci3p?rbcmTmS*yVp&+X2Z>opSAMq3)~fh zy=JVbF%&b0mb5*cml8$zI ztSCyaPyXhq!TFK;-k^)8ULGiTbu?J3je+LYS>~ezz$3}?=mYpqjPo97fFXWk{00I5 zfaYHmDvpK@e^H(+?YPDV6LR$q1&b~wX(jL)*GxJbyPF)tL?S(ZVoVQh1=ZZpL6evD z{xlY{*jix7t;ZKbB(+7f;z}qw?UAaFh~(A|bk5A#_=9zGG|z z2yb*Dux=3xg=F55bDlN_Q%tG*ZQfYjG}KBscVSv^pO{oW4Ar7YfR}`k4S!Lr(YjZG zP`cO(c}F#klhmHF_+^ZEeH-dAEgiwI?sz*X#M$YPp|$nr){|>T7HN5WmsHLBWbfj0 z0U3_eZZCQAMS#tG6cbpZ7ggd=_K_z7dva1JJ6Z=K=Ll11Qu2tEN^;jc+o{tcU;_1p zjG6j@I+$OFOWPOyLZSLFg`t7MMMXYdMwctQA{VRM&qQZ`v-w6HU2CtL;;azYZK=mp z;>TdHEghYY)$voWyDzKPoGvk%evI6La1Vzxgdg+<#A4#$!xO~ zm~T2hj@4ad#%TmFDp*dfY7Qe!(coy>iHwcDu9cWmyMvI|me)usxK9$kMw3s8HGof* zhUY{E7p{gd&RLCPnkPGmq#Hjt%UT?81uS^%M=s2Le^&^j!nlKo1!`s-&~G-vNtevo zuk$cQ1)FJ1@~4c33bcGvFNI~BX+RswPH7S}{THQVmG%y&rlysrB%f8TOPVoLuf3PT z3xNWZCxU~NIlq<<_^99i1XmCq7lQ6LxCFkz^>0)Fm%q?bmj6zme`U7wYoIp5X8aTu z^PEV0FmukVlL)#9`Dw9gD#2svueYiw>WIXRaeDurmTjL`m!|rS?a%27-~+rK z;Q0*r^VJU#TlM40naht|eHTojxCjBqNqSe;sg_Q02qPCcu2r++VRX9NkS${GjUI!* zC=7ccnxwvH>VmGlDnFh!b60%pOuD_7otIXz-8tnJU4}h^M3>ezaO+ za0CUxIKr@NoFy*do+AuKSS>!P7WJ{TP{cNi@H-BkDD+gJ%oozl5e^nlvD0d%K*D=~d$ za%Em{=ua_t=+~>h9=Askc38c8$RIIy;;j&PNB3uN?=R@jjG3}vehbVR5IKy>OMD{k ztMXd7>*)B|scPc|WnBHKHSSW2VTF2-0tBw5AgG|2<3kCBJEewCZ!ec4#m0Owg}ohheH5b*ZvqkrJ!>r*x&{KO1p2`g03`?s=rux=*?S zx0VfHv*YgTV>_T{jm!U*?7s&6= zk6I4X2IYn~YfzA~-?UmW`4?7(sIIdn9*Ne+Ru#?p?b`W!=P_$o zUha6;y8_TXk@xls`agl%Hq?Z-@Lg{0e@k}%2B>C#fvPm>@Lg_o-Jxo0`GH6R84iz& zQ_&>W79vECE4M`s_zj^kj!lpWh`(&lBWe7cqNZ4SYS;aJnPzd<|HTD6q66TVA2_|Q z*S(`Tz!BcWu03svPPoiWzAVL9KGEYQZ`>y)RA$t{C%Asaw|%OP{%j9?=9g@M(VrBX zKKRC9Ipj5ly2&@esuVD!$4S8BgDQpIEnk+pGs8+{W(qhNVBvD<7^O5&OG<8+hp&Pn zoEkt4O+FJSO9&eoNc$*10`WvnBn9rCConW3oDGfm$2{N$gpuIAg*yr)Uvm2yL_^fI zIE^Tb-(fr?mXnbygu?MKk_6h-!M}ODQ1pjF5#JmheZopZ3Q*WgvMd)9c05QBNPPkd zJ2k_4*Z}{XHhSX9X^>d@_mi6D;@#_bGBnMRGI(KoMiJqp*FlG^`(|8lTQVxR*w0RG z?O|mfEsSZGrUrr!phU(8SJXMjK|ehKJa1rhGY4CtQA$FBkMZNx;ms0_k&80+p0y;V zrK|>L6T?fVntG4(W3`Pj`NOdL3`s6(<2Nxav_b`9%WoA?G7`mJmLD4dVe@-{0EX&g58kYsII!o;9gkhvcyCC0I=qmg0o8fhXGOQ#KF*t8-u=a#H)@#SY5g6!fl(og$*?U2D0XM4^iC z^TUI#+r<5EvJ+^XosU1(!M`b_ki^yB3P&m=rcyoZb_*kZ{leNh%ca`g!y$)oIcI;gL93PWSb1w~eKUxn6Z+nOt5Qxw&)00FuhS#K=FOigRr zEjv%2fS2(iF^Q(RS2a(Aj2nH%`W6T1wtR*Ce?R>J2mk_rS@2FuhAiJ-{~H}G|5A)_ z{|`FGZ8G>!Hs2_#JL@*r`0^XW;!$q|i*E{`3ge1whW6;QA*N^C6LY`S2zwpVyoM;6cb*qQmQ`&JNq>gr&lz);qH{jHvz@<379oG#AGs>19yEw8QXW zaA0o^Kg+8z>^}!^`M?!}v4o9EA?t?PO*@H@lP-FL(d2YukBR~}Dp4?hz!lRa0hhlM zSinqGNPFNf1;P}xXd-ZYShY#HAj_4zAVAL&D&`(gId>^!84%-Gdq*rwYc5+&rHaHh3*?RjD)QYn`C1+a%xV6K^upB3s=O*k_tNxfpzEE2(i?q+?8)R z;<0nmztAiqo;qDx3`_wq47H!05PChWFISigg!+kuFg%HavpQ;5(~`!aLfYW&2t+Cx z;`kLGL?8Xf2OY$(qA^Q^$z@u^&e!SbPYS4F{K_2tP95n0GPRm(bFfbfVA);^29S`l zKSJl+%EI5+Ko6_mB=3%`gGTmrXDCt>dC68hml;SNfH8QNWnF#>>D8idei2!^*VZy6oY|$j`0WvPvKjM^ES8=oA_n6AG z(1A5cn`oNA*g4y3&UJ)-x7lnrZhbiJ9^qqN_87@&Jv)@an(=_}-oxyQ))=!Mm>^b< zjeZt^sdA)kgZL6uF}>-KLbhaaWH?g;4eZY;aZ>_t{lM+?3G~m4+}7%1C*(U!ePI6G zMQ-#rR8=J%ci9lSk5o$?#Ooz{QbGDAM!7omN$@rOCl;(Ogjf2=42fche$i>(ZMRrg z{-XEP2oJh`DDf%l*gScE^wlvfbtAkFT|7kgx$5kLpH@z;nEJTA`Qy>4<^-XrBu~I; z|E7EjY?yrkD$N3=EuuQ|)V{_1-Yz%}J3HprPlO(RsOf#`FA^kUdXFsBs zQaswLKu}>O{_l&t@c=uWu&ElJWR6EJQO!=#NXkS>Ac;~T%XB26Ey8$mAd;uHbtYaSs?cT|E@cdWu)L!pC^`T2_7{yfU?<*UyL#Mdms zK`Wewl_>>OJ1CE5xF7|%LdLRB%(&O`H4L(2fkv$6D_gv9Xm0U#QOz#zys)Rzn$ClI zc!=zkycjiSa!>xz3=Mc;y?1BHX+-e<_FHbV!wA6a645Y;Z}7dL1uSGLUwX;Y;zFy< zL1ycSh9UVOeF+2j<;VyPB#rG`khCHtxyd&bf|bLV1uXH9R@pf_w2r7K)Q)fI)wXzf zwDNqXq-LA1?vy>jz=O&ME_mzw?&kCDo~i=EX9kTNZUD94v)(o{)+3UKT9Mq4Rpa$r zEQxaRKL8(WxVCel!J9Nb9cE^7)gY|tYdz{VI+g9{y6EkKKuwe4t67^`XE&OR!VB^h z2r|JCH#`QfMM^Lb^ogHH`x9<)#%34y1dG!4%x2<$Xwy?86Lh2-3Yf05{oE49LKkt2a z3C>_D-cT~|`jV+k-x>i-`Vexdc8cRqldfr}k+c1i+J;n4l^HdbzP?Ana_o;Z2+JeU zfYg8!_9#$-giu-{g$=dVhiLKG2g0%YREJnjpRGr23G?DI5-YoO4=@^Vr3C}nN|X@V zuWHQ}OM_70^{-~SJx|L#+gnu51_QG;I!dPqHjgaGUGU`2*XSx=LC#;h%HahjmctKW zh9@q&_fmPob!l1N5r2sA*Q}?nGyqlO-)Alu=+eSRSrk1l-t3HIE6X;H&FOH|bXnAn zFR!9KX{_d$S&Z=%I~UzCw_C|fZ+xMQWSS0qeqTWykf$=4VsiPA&%X)|XR%rw=Apyk zWHz|&#SH3NAKF$WGwljkUOAV*(YO`cPwP<1Dr)OzAFZ3UF{tjYivYVxs#gm>c(Rl` zNL1FY#IfNI#Y%%Rfx2+^m1!bi)-j=@wmP)-MLMp;E}ag5Y6`R&X17|()4G;$3sLLm z1$IC(%4Vu@n76=^x6yR!n;BNOv{&h>{ib-lAaj~+^1qloka<{(!#u(^Wl$sLTq#t@ z`qJ0)emQxzKH(+jqL2FI$I$WHL9d*e>PG2F-j-pH9v)1WLYcKxY&*FkReJZ)p?Mn| z^L{)#Rlv)ne;&?#E&$Mjesg>LFCUrVDybOiyMo;Qt{|!Zg*;>OKkAIO>l`0K$khv~ zV=G`H315{;mxR9r1)fA{(+}I^TK}rp!i*@t>`zxxf807pb2yOt>52VK_q)2wh_6)& zIWGW_zDk>cDeoTJ_zWi2OFb5>Z0Eq9q&j(#(TS+WyV%u8oA}EnjcS;MelRDEizUoU z8vW+@W~`wB_57$YRu;=r0ZdZ|K=;mAEEq7)GKiZavGi-G4r%bek2)|QAW$deQ ztT&=xQ7eL(7$b~f!b)Iq8j`Uca>ZauF#7f4%Mt^5K~)SDw?e}VGV1%EYD8(+{x?93 z3S8kbg!~v4*eyx)C!EWhHZ9R)#GGL|?Pr2!hj1S@zBu>Oa?R51QOgYDeB;Af=9zb1 z@C3r@d8q{}O)CQV{8UXsCh-D~DuyL{#>n+V44Qey>ZW-N1&ds)U-y&Y1EV=$dPhPq z%CrEyrF}{0&-@LQ4oA~q3G0{}?(=1=*)JaeB#Or}L)^ZHvO{i8uv^bRcwYB(kcnJi zWr|2BkPCdzTvqbVy9|!hoLj2zQlVAnEKR-Gr_{z5gZpX({PV!@7NKqFxnbUlQWtTJaqf& zOwW|Li%o%_+r2L9a9gzmM9+kR-Vq@%+L}xr(QDKZLojiXkb<}oJoHXBv!)>lR-i4&C!87V;hHd4t$M#{jy4<3ws!4gcIBKG(DRD1^t{m@Ja%zV$&IQ&~lMj;>L z=~?y{V+?}d4k05oIWTd$n%}SAzqXu>e|v^5Xlo&seLd-Q%l2r8`lk}P?ikHh-@MS9 zB84){TlOSnvELxytw=Q+%Q@p@xb>Fo69xD=(O35c_@5*JG(HOj<{MOy-@eAb(L8PK zO#ae@znUlAH>%#lacN?cSAx8lq-Ee@cSHV1^AyGal<0LZZVPgG-R@v98_wch0tP!< z)xNr<)V$q(pOz2Y1*SuCd64gXrF~v(lXg6VFE03F&l>KPre>Tp;gvca-(w8S4Z*HjEZLcGUI!=_}IFiuDq&LeZCLGBNJ{K@OXCy&7 zbF(%>1#=3n#M@3|cX5 z3?p~=q1o#Gk3ifCof=Bi{AwwzKPWBdDYv(6TC&L$9~;$Q&$`SH;rqXF^$Z_SS6E8J#yb?6C7up*)~=w->~sH z&zeGnrpw$j6$Wz352CO1E8{0rfePjUc_ti5jG`OVj~@XyOy{C>?tYg>8_*?xj3QNA z5F&H_(BM32{H(KdBYa6u&j*uILd8wG^L`^B{}MOIdlEM;i(C{KRMW1X7*yy}_(~+{ z&HtHXQcy3j4x^ZvV!vcjP+5C`K{>h3I#;up9>Em`O=%V#aH7Y=6|l{m-n{iQ#~q&o z!?S0ri|%-vw)nDIITeTrD6=Pu(#&hzGo|Fn?J`S;MZ?pjf7NrieSm}XA{zU`J_dXE zHPaclo+-?St;ijC9JN^A6beQQ=pp?{xmdDOx3`xVx-P^%A=7}jA;RnN%81FddNs6P$>&JfN{knt5YuER=`2LfRy~{k`J-F)im?dY= zMM%q%!4|cOrFoI3XNqRDwrpC1-{5AZ#9ra}?pzaedlD0>`6`EK9kh zuPtsvML9f6|6a!iN5(VFr}-}}*jhY4cE%3d^PTQl)kBi;C{Ea;hAlP-EtC-K?`tiS zRU19h*hPtJ71K-<7vmB9+Pa}1nIyEyVe9@5nVXdj?cUNC^oKR~BwJhQ_g1(6#bm%^hBs(&qK<{MrMrpjg zMBK83kPQqWPeFKOc5}*qTlBdF zZ`b-B=sJ+Z>j8-OIGMtdHoN zyCCX1mOR5h(qUabQuYEGp+?H;U^H=xZddb%JV)F<6~EX%tx|vhf5^9K?fq?94;9Ib zJ#Ek_8hi;k%0xL~M?JEj#~Jf`UIx#!Ib~0aB2>BR&Yosy7sf%A;IM zP*+t|dkO+rC^m_{36O^B+wW~6l6meIJG?1{SzX^JrzfYm&%H0NthoD(SWnr@Za3Ns z(+6Z?1{tF_8+YC>IvuLD#8EylrAGBLbrhgIGM|H97t+xpUty~XLvOj?Hlq%r(8l4v z!a~P?uA(d4^^{1>FpICGI}o5YAbWPdj*u_!+l~n%&>OT+IixXU9u?kI$fiXvli_<_ zCDn?>3&|A`As8VCCC;Gd48?;)KF{*N0mr-~W&*X1!yH&>q{ZX4#hVdx4_=XnseQEc zW)36-Z=YI{8o$?V@?^k`H-dJ;b8KPdiSaG?lN%4@iKD`NPgJPx z4vtZ8Ym%D^UI`J%bW)dulN2mmAghL%tXmS~M{&7lns_Yv$8xC=&y8sQDTMmLSUTYz znaK&wpqZHv*N{qG%}Bj%I^HpCD|x%=?&0twxnVSbizn`8FOXAn>IdF}ui`G(`%mA= z9~+he%1ep(uSj=HUE z8?UGK#Ju9rPY)c%#QVE{BECFs;7Xbz=@Ae26SAB17yu`gb(r=|}W(k>C9$C3ORfKK6Wr2(q- zY-U)!*di#N9wQfjVS?w_g}wQ)Sk*gAGxB6-a6s5XtH-6i-1M+5w~A zAbwkklA-!ouvd8~G$QQTYV2by!EW2P*s&JmxDAK+wZ|cYFX4`nc*6GHtyqyy0&GKF zfawD-k5?)OT=8gzQ{u5Q=+K+S-7mCcIPL)5I&%Ai-VuFKk=YJK_}Z)f;4 zaqLBmiI)k(s<4LrH|rJy21R`|ml~;RCRVHg_6T;8Ty^4| z+oGN@8{-NqPPiovBPDzh0ZzY%K`xInMk3^D_{Qy=L-5x#WpcZnG1J4OnARxD-|%iA;vsz#JIq>P-Yr&KfO~diwY*Mwbj#T*sH_g)IE((h z)RU$C5ibk&y_lyr+V*Ae7e9vFohU#;!~nEfY{!CQtLukPt*1(J>2R$FXal_GQKyb0 z)-;{PpQN-F5SkN;IkTP;dqQX7cbtdZ!Z0h7o;TV2t#Pt~yr-0JNOf3^GLr#zS9h$OBQHYerc{^5H(1qCQ5Fs4`A4Ac_=tH2xCLh6cnvGMjkh ze6crE(MwbL0)wYn;%+Ogex%(Zb#SwOizb?a(s9%G;CF{L#JvCB9J4+IMzk287%s@} zxn3pN|KAZ!lBcMe7F z$kQw10#P!U|b}DDQ0u%FzV1tjcNR%Sh;`V zz5i5h3jaKa+bVy9pk1<97m!66=9Gm`!e8r-KCbJfF8YLcQ~fFyNC;Nk6i-8|jp`l_ zp^^F^Tw@DCL-K>o-=?I5?wx6s5G1rvLOfW}LjMz@M$E*dML{C#hX1Sb+s5vUu;+4& z1L*H~*b(UcUCon~_mnf$@QNz3<&oL_sN$^C2{yU4@w*-H>yFFQJ*QiM_s!W^9b!r? zbL2h-r8S50)c2p+(ZjYa9s0ZeDgDln|HkdI{+k_@zpEdyZ?}uGz15FZ4XID&e4mI% zYpJ?d6HS~#xeZ1EI02P$?L|$h=x=*EQ+%nBYz2`2mgnYOyQ#?D*Q0Osk3>8_V#c@a z)rzmE?z!|ntS|d6ul8)>u$XUAU;YjJD#HbkQ9To7`vMkbo)RL^-cGuOQ|)S&m@sNa z0n-Ma<}|E?jLAe#I0OnNtRSH1UXhXTIY`2h{O3IoMsk3U^g|7g61&V?pMMsg7_bT< z@gJ;aF43N46lh>AJ_>l@sWdUf=#BFV|5GNNqsBAFsqunOC}~cs5LBb)Mm~;iDMK zXPmB1p$g|tv7HxClj#cg&gdM~`+I=dQ|NcZnnOaqQ!Ln^nqUgcp9P)gWF|+C#G&XU z&9_z(=&85VvSl1~4OYKu6TWhhlu%Gg;j~g5D@F}e4n|-6u}vt>OXfNq2|sjfTbl@| zmFcuZ&V~=>QN6C1BbGcHv1y9|j4jsQ63D}K6QQ4&D2f0Ai7COZ^sg5~o_a6zlmbsq zV8B@S)PW5|ELrl@hd2mYz0F3sj`~WirK3m_Lh7BXN4*oy=yD_#CHut}dZ=96wzq^EZ<6GNquq(>zrv%r9-7*}L~4=t)ZleLO~;ump-yLy;a`y{CcBMJ zYgS3q-`dH7r18mHERKzGnUl$}URGx7!bW%v)Tz(PLY;NrIfyrIxD5^m+XSna3YyQX zVEs5%Bh#Jg!c!GQ$AIP#7~>`8dwUSP()}l>oUIS`Bfg6t$$x1fyZr@KqPXok9YXNc zCn~V6RZH}Kt8@Yh=^%9Fk|ZKIEYQ7xq+y!BR5=mqD%tHeXM7VVx5{;KjBQAaEYk)2 zm!tDfU%<-LRbNBVx8N-XW^s%2;NKcLQe4v_`mKLTFA5&=D+0o#WWq%~fj{&B_GS-` z19)tDwhb2}nFJ(_-8@Rmlezfv=!2AkN_%2g#MSt84@MAt^5?XmFf<8|j{1Du{1dfS3_l7pZG8#_lsX^Ztc?*Tj15fs?>eEN5kB9U07mz6^15?3&zurdeAs$Y!zVR`i?GsKkEcb36gV13H!J~xdHBC)c&GaelK z*D+aUy9t*3S6`2e9$qpib6w++{%--hM$bb%QjA#BdZ} z@ph+w_E48nk{@3JJRA6!p!@FnI8N<*h+evh_pH zcljN!_{I5ot$r`4?Q^6rSmX>lrGus&#)~A2$dBWK=drH*?tX<8h?ZHo(-NgmZzPu){;YuWvbJc zor!-0B_S>!B)(D~3B*m@DA(g4_S`*!F^UW&TI`Y%Ws$Zeyst^!w;Z0!+lvb7v)-P~ zml%z$%UKjI`|)|>b{;1=!c8;huF5sDnGeOqs0jme*;tEjYz9j_1g}J!~(?*M$VfZ#Q9GL5j z!VAG4lucVru^%cG4b*pqw*ga;S5W;ZX-WAB&;~uSlmfKC$;(ouGH|z(FnG@CVf7mTch}mq4rD6>E z<75R>ny|>w+cg+}0gH=O9xC6;TDxINB8?0VE2xdC)Y`Hl=gURcIGbf=(WazimLzWE z)?n$P*kUQKN6*@}*K9a0%_>@)v2alwrJ3SES5LJVCw-w3RV@miJRVgwyx^etRyN6D z$X-lsIZjv4X#$Hnj?Kv2h(Ri%plD~iQQPS|U@WgVjopr-%#6qUJYrW7Uvj9nwzVJK zi0Qe8p{f}WaNPX%XQfC1-3n{FE@jd3#_28#_w`p~5u?rKtDH47AxW35b) z!nFFm&h+M&IVU(z{RcJZ@&~L*NH)^m+4_adMDfYQDr64xvgt1#Yr$#y+s^iu*a_|k zvv>a%h@)A=o#2ub`}#CxRS?4#ikJgLh;0T;6u|+)89`L!N zrR{&FHsx1TJG1XwAopLkF`E9p1yr=Z+Za*4=KwZFB}ZuLqRfFCWog*3TOdzB+Owwa zg;OKshgL-51yi#=pLDP_k;rYwiSRSu@*JaS;x~W)?P6Sn?*UfKm_A?hF5d1`5-!{5 z80`OeFye8gSJbjkwAtkvZ`O-P2k%XY3b644?OuMWKADC%#zjNIP(s`kXTPi(acSg*xT9+z$hX_-y1 zV;LC?l+B-M8k!REBP`#^#)WC!OF`hH=1HPIf%MHU(0wv30*jrtD?+pGL;? z`h6o&)t{9R(RzGx*FPe`vlk*dQ+NnD5r>B7HfzF1n#*Y+R!M6b?%NZQ!R$sQi~(mlEykx1xDz>&AtQifZmyHRdjg8pt;6uqg`{m zc|e&&kY)DoAxr%*oi{_|o;seV25G>%CQg_3^xMax{w9s3ObGHi?BNv!-i`yvNN4Y2 z5@;BA%rWBH$%)@G-z_={W>^5wVDh+yEwQ}TqPIf#L3kO~n_#*l)7*tq`x!$-1=TSR zNJPi4H_GRlf?rE*lqoVopaRVLN0i7)cq)OO$I4{@DPLaE@F{pZx27jucVH=9VA@Qn ztPspY&6>>?*S${pH$^?@R@Xk;`@^lf<`Hk*y=|e+?dFDV_pmX_)lT5D1wd&6vz@qm zJ_xC(=~&ypUlt6+OY8E6)THKTAAft>ULzMNM&(d+Ek1`4B-o(9Hs%kgEG&~*xP*Wf zQ?oHM*tya;ws01}xyFN4KYUNjkq}G=*jIMpXx5sXgA-n%Ogs1ZB8xfiXQ9@id{Eg6 zPTQnlsTe9IWUfj8%fL>X?mc?$HS5@!d5H^lMeAoVRBb+|^H|Q%jUBfly;Llrr-p82 z>M_;JH*kj3=y@b|V($g+Yf8K86_jfJVyX20k?~_}Z6q();X@k}YmTDGFt2ymut57l zBGJT+gyiQIhMnQBpi5>P_0}|eUkmws&D?g_sR?(~dc)ok6Fqd;3!kHlf_{}OoBoUw z&(S_!1C&?clnUp3uzQ@HLUv8*@(2{vW^l_7D!WvNntAWtJ9b2YvB$mCvC|H6c zLZMJFaaoC=_o|{H*SJZC3Oxf@{J)8u&g5L}G|f>M0=X%_i@P)tq(4|LT>L#L0E*wm z-OnfUzBC8~2b*1sT#cb}p==ApHs;9ZNCt)1wJZkzv>{gQI{K3+>mzrYy0Lmu;AYe)uo5lfKB{tl1{ z^M_kZJF|al@gYeveSfuh{jWq5Tr6`}jt^~;fcWo@t%fvObl~TCbMz|a>E>in$gu_e zGi=2~UP^Quda5#jF1)+k<4wLRQwXv`|^+nB#59l9ia1jO(e<{3sW5)x;1f$4qPt3 zS*LV9>G2G?u7sb-bMxJQb>sfrhb-m$j@)+Wf2U6v{D*Z)|83&>JCUMHBkltE3@m1H zXaqx^Dm|j|GcCQmYedA4WXQp2G-xgTtJ``wK0WK)oLp?@MCI+m#{0qdjkgA_Y&&Q} zvFS}>`;~Wxu#uwibXw)fRrSVU)wFFlyrDkl-Y3z7k1D)ie?5x;{e&2jYr7+Wm({4r zkObp-zbH2RtP9h5STQ-pO4_O0B%aJJ8Y;c-_tG5kv{bUzKGCuJe!dHvrL<{^ZaRi& z-e~p@aT=6a;=rGsMA+H%eOn4DWPOhD;ofof=_Qdkt!vEi7XA0>KeyL^63C;xlSh($ zGk;H{@<&|q@m&@)_(%I< zW`Oky>3%DbKSE=JY>0s~kebc|g9MJ&X~+jfa7&G(Gnr|V_QO<2of!%6-OmA%3fS2r zl8w5#{x8bjsYw&9i`J~Hv{7jrm9}l$wr$(CZ5x%gZB*K})$iVYB0A1@)3N`-x>=KB zJd`=@6p5FL^nU3>AE?Jhyy->eD~*;^yFbt3 z2LDNAlmi@L{5+!J(epJWDm!d7%vIjFPoaC4!YI|2d6S_51tpQ4SQv`*xwFbsGhop9 z7umjNO_{|iZTaIC^xCx(4GV{?C9Q)!UbV@yYwE#uOmm={B2rb8jmL6f0$VfbHHSHO9ic3*bmo@sBnh-hsl^1KFR?}D!Vyy# zsq&(jIje3lw()cSIvFCc1+PWoq1&>8TXNN{in2MOgCdrPb9dUuPHI-?pvj!U$%KxA zaAui{(cOJpwUXxFL#LZZ)?bjNPJtMvN(a?XkPfdJ2PSiAo*7ysV(+5QsEk6W9;`uO>?Uws zQ{fr{hWbCFvb!~dcCAx{qMU2BrS0}tYDn4Il=t-gIae654Uaus0_!i;{VW?AxuNYT zn-@Y8S7h*FwAH=UoDbXmu(bZr?BpoZJRlopdWIRRwm<`=Xs^+{On1b2**@XITURG2 zo1}yPN{s=S?dc|X9V+vUJZ%bKv|=S~R_xgN7BAx=BB|={^}}v!7Ka^hIO*-a7#dyO z{3~g)n((q3`AU!SqGjq(0+VucmRpbgeEXY!Z88(K5j->Suh@GJ8AYU1iaJX2$h3WY zR{bGgSy`H%nSf@r%NZzc|55;M>+?GO_#dUnJ>62J6=0x)hWOtik>fv+C~fl}15fYv zy{g$=!T}Aa;jiAyM0&dX)YweEnuYXk2qHdiUxG2ww#=_ zh)%w*yt<}EU!tSj${jNg#qZj_Xvx1Rm%6mKw!Op9B55X2RI|ovF1%8Q@oB~jcL1R% zbqwXUE9aU28$JFo2E$Z?EHzlJb3AGZM^=qyEko%w1G1pWL1|v-dqtvV3{Of-=V0*K z?Vv%0%~tqWH5U_aq<|2EJE2pqC_##IH^Itn9KusvtsG)TT*1hA+&qWQVaH+x#A4G4 zlT25WY)C@BTDDoZ{CizbS|E8$(-#nocwIUG!ALMOi8FZBWkFSWtt)e6A#~^=P-X+2 z`xwf>^}Ln@^z4Q@bNTsD*U>(E(v?XB4hdN_-iWyn&Y!3c8uMktqNTg7Q& zwB;o-TnjHENy=CtKU5f~&lF^w7Jhv#Y0r@H=ZQ z|MIU&<+K(S#8L!jk7E91>EjM=t);R64QlJHwL|BN7)`gb&Ne)44Xmh>(doWbxSJKb zv{Sa`R!2CMtWG*!G(T&8!D#eVFYxp-S2IsZ?;kNL5gYv2oM6sRBk2f1Tu6EB_0=vq zy8~CNLajf?qq%3`tI9Vx!N>E-0xuRz0=_?aD(3|%DK-P5sdXAdN9%A-~pVp9=<@3#{!4 z!?jSrfuS;P0x5ovLC~Re@M_||v8L^Z5ClfG{&53RN)hiesmerX8+X$YPc*UhBYCCx zFc@cm@w0KF5#hYKv>MZH5G;m71cxeLNld$K4nG5rDJlvmp^&UbkEmzd>V(J`ZN=DZ z;tC@mGt)yLD%&vVKq9a)t-{l5=M8Ti7G@h-jB!37$kI53EKy<4BG4*nk&NFK{mFm% zH%O4p7z*7QIQrvAYW1uHrYu71Ck8B?@R_|IhJ3zljUQRPWC#N@D=37Q)+Jbf#?G?RV*Dtjzx8P!-hbXdvT8BGM5 zW(r~oNwQdM97DUaS^nY6UcUR+u;Bs39K{H*Xn;;x2|-F$cYqS=lU(e5^`j2F;d~-Kpt?$AS%x#m zQ!eBeqnG?Jd7|4V$MK`-ubXO+5VxI(n~T`(@LsB62B!D6n3ost(18oV7vOFS0Sx$Q zWk)~uZVSRdY~A1b-Cr`V%abEUF8QbMpEI@XzM$rHdP)AsV% z`HEcdMYVG=vQ$i;b!=RGrfZS6jqAhl{y+62^B6g4AfSGP|BogB!++-$+lqwj2tLoX zVy^{T6fi^)7d)_xY7M1rWEa-z&9np{qa2JF_kvmN>))Rqb_q-#%FlMlgkGP;?~zN9jjzu?di%$Tm0Ie{dSE1|<* z1USuw-Ld2BSPcz@*^H!lgi3Zc#EdGTX-Hq=P6nZ*ps|8+P-+Y^O?{RQzUs{B=`q7| zAsQG^o?sM|4-I|N{NdA(mEp8A#nz5Z8%`&(KSWFInLYB(&n^iurH!{3qb`x%$?Pi` zCqD;|oFt0~ovPVZqpXZ|F)s(+VBHns zbe;rW(uIp8yHQM#z1n1pryl~siSpfElG{=D+=!H~q!OxG;mLY+9S+u~8HvqayA?sw z@e!2*Cr4JyVp>-p2L%Wr88}b+mf5XBF7R+Msx3yak=WZL_n93VzwVy>Y1gNtwVg=o z_|ljEzDl4};jsp5=CUXW#LQ!<;CT~@@>(s%f{T_?dwf6E3l|!l$dBV^Qg21l0PFZ~ zas8@9QI*#1eP&hpd#($jl6|kiDVXIBTqu#UWsPaqjr=Du9?V{f{OD8_C?!sQ;VpKC z$W~2a|1?|_>zLj7O0;iAq-n<;$>1n~+dBAYwo62VnF3aqGUMHh-r(m%Mdx%;aKhJu zL@FaX=$hy{4*{{}5e>zTPaQa?2g3T94B!Kg^MEns+*JU3>G2<*e*Y&ydoSB5}{4tSG3 zaZCDuHI)TbmbDJzr&S7)qjrmrL11$+P>^zN#?Xa9Xct&Ye;_oX2%@dHW$t%|;FKEZ zcIcQ@VN*>_C1A3NdI8|ddA~FB$-Ul3PH`_5LMjk&b11jtx+tTLJ9qK{Kdt*R`8^*k zIC|9K5;X{8Ew2omhS8|^k{iyg_+Y+Lz@qYP|A(#IWyAV;FtCD>yBqQ%d3kefXz#Mi zE^^5V`lBPoIl*eH2dX|(oS?!5Qczny6IahV>x%~)Jd!nB$T*fjzZGN3>M)# z2lQ3L$s{m{icY5(i35)LpFn~Kp7Mjo6+>4XQS${#c>6! zr+l|r)GXNTHk3y9&sBK4ebj6KyZY{Fu}A6AU(Dycr=IVeUPk5-^G$e1vazg%YgJPY z1F)v;)f(H)+;j;;GPg_XaT5;_P62dn{&=oN-6qTECkFsx;zTs}4;}IYMHcx^PjM|^TxdVAvYxi5*wM9Vqv?d_AX%ZT ziLK=PZqFc5(s%&Y-x8|h*w;iF(Uq*lKOKpa4;qv_4+=tgk|HL2B0(RAp&s0&%;(hI zPO3pOmGZl#^`FJPZc<5KCM;6IGm0O3M&i90Ae=cOi8hX1c-S7E8-3k;aFFR1rly*4 z|6HxG20DpK`S5r@V|?YPr*6Kq+f(Sj*3`Q!q!Z6`Q|%PCRqjNjnx;_`>;zG{gp^~@`geBjF0=%fVAyb_*Yq@N*fRFWsl zYI6_Zj5LpZ;MvwZrWeqX(M~YWBcdGOpbyL!tll^qVVMq~L|p-9v;AylW}T=fBNY!< zyk*!O7~ZpNa7`<-Y$>kUS^{{oPmKlDPJa9;0nzDsoGI$NU5wR)RKuuLi+al zGk;)`wh#R!wYl}`T2JCjCS8hnyHf7I=uL=e;)AM6F z;6iZlS_ohZyWyc-#>X|yu{gux8Dhn@TNIk?giqgJ_S!z5Z{|@D$r_N*57zS z;ZUKDA2Flj!~3-(ZAE*jL95<%6j6|C)8fxeJ%$V0*39^ac6fF8m+H`1MZ(az0r<=h zX~l~usFx;$nx6ZCDU2)LcF!2Bdd^TQmXbBBxKU7|ucM;w(^>dWprFb}4~SH_9>Lnm zg`cB>sw1-8%?BRVT7mg@3Sy~pXn5REYW1M7qWSQtaB!G)=Oda?9qVOH9#Gln>SXsG z>{0Eo?5os8lZ>k$WB`%<_@0nbvR2(;U*x{+BBw%Gbe;qwFl_9$G9xT;oMju3@x0lS z2^l;dhJ@SsxFc2Fsh4SgjbE?kHI}-C;--XkvVjr)ww-1%d7pu#FKsM0df=burY`l7 zk)8xlxZ%xe@W^>26lX5V5Zk|w^k;iEjwS(lj1P0k=OY9RipWSM0}=%Y??c-kL`+5H ztmWETR$F|8x^GjL(4B)n&Zge#fGU5rsSk8*Ew5MNYAxbmKYP2GmojzV>jU9Q_Ccgm z37=jQbKPC3@Hqg@(z;pR)r=!{?lcD#t(AEQ8icH2-G7nTvL2m1-+y}QJhnIkY*zEQ zSqC>VYM=5zc0k`=PyeGAHf=wc2?K1nX8+@c%lzMomwl4m zo$>D1mMO_oeEWR9*l}xC1HAo;Q7Jt4Ig;FZq!EcmYdZYAT>*6HU@I@TxXYduk@|47 z!AeyeC-U%A#hpc(WiKfba%tEo#6!H+Mn8Pz)fxH-9)6yzKyI=ucD=1GvV}vz9e`+& zmq|njt3h(6DCX5tP$Sd9m9rtU6LA&W8Ch&gEvDRN5N>Y}8Wcht{lb>tY0b`r6f)m* zyG;Jg^8#3OKZp^n{bIPkceFU=C2n-9kEoSz!F@`GU&LEgb2LRIB$2(s*c)Q;w~amecjvi3mui6y}~t{izK zPVq*gH>Cuv(8Zv-lKO1YrCP-1Z51I#uvDkqSUm-K8CP9{&IS^RO(q9BC!Mg;z}HfS zE6e<~(_2SGsWa*WUg6{C{s79y0)6IkM=gs^0C17Tz!n;zy_c5l--SFG&=V4Sk27z- zt!-sGTp5qR6rXYR<-J{UCO7lM!2En-;Y3Z`$)k``sS>ae)D6gOtTvSKNi_5f@jC;` z85rI;rLzaRhBlq3J8Xzh$I8ssp#i!kVIk5s3WGyPVGWMsJHd1Hw_)_z zoGp#J#vf5X$x_)_HjdD@>z9vjT&{|+3J3JfqD*G4rW;+fs$LfRFqVWv1ksM8HpF&B zpa_>V4TD%nv$`9b@-(@x7dO84E>u!pj|gKDPm$3!RKLe ze-1a)W5rX9MZb-P9|&Ffo(y4jI}!#XYvQ1<86&#TN>>#`HX5)#_%6Pv&nY~kNLhQl zme`6JMqk@#Tm9|p9fVB+i>1AZ+$Bow>7=h@Fr{g_*o)JoxFX2?t7Zl7?zJNL0*yC3 zjlgOHkIEI>e|x}<1i<7D08nf{0yRn9H5m;$7}G1ey@I)bGg2&H2b4{6Dr!37 zxFHgU+Y2UE&01@%&i34!7TF7%?GJ##ohZ^~|E{rmnWycXG5*ZZlG z8Ai&goswD)U1@H;n!8BU(86FD2k62+JG)T4YkkiHXS#>6sCgCSQjf(#F*g%8DB%4o=wt8rzaRGfcFhsB?0f(Jh$QkM| z7$oQMVm>_OFfioL;LbtlYxp*HE8tFP`VsWCz(( zLEY{@8DEB6x>YQZoJHF3Z%N`dFlJx21WXoN+J1*(l=_^+lxrACU@o)R)+)(OGnl`! zaoY73w{p^tR@lnvR3f$YvD_=g3*5GW7)Kb|AXyP?ZS+uW_N1RN4;?$b)qL0ck8fVt zwXFAtz?Ns|bZZOTuxeFbY$106Vn^KC0vfwXOqoGlM{Ntff`UnMS%Bn!x0BzXc1tWh zi_Cx)NhuWv%4Nq+j#kT*9Lk|awm+$vS&Y7GIDU_qs!{cV%)F~r=t;ABx_dNX9-2dT z_X$uhp>{WGEj-~yXwwb@t*abu;Ysbk2(PuJ+5pg2IO}u>X*9LT1QR|yfCXl2x z{owLDH$o?aeTD(FC~UYi*lAb9l3Ex31MnGLa#k7lgGkyPvBw~hLX}kvAPdEe2V9wG z8ajl^deQu;A8}qf5m!eCX!VO_^Fg?ht zt{tZ7sjl@Zs}$34qZ1Og$=?v{?hTQIij_u;N<%VBl%Vir$6H-JQ&9X(Ogo)y4&i7E z!4M|yoO7E%++~hG%@V_NjUtqV;91H>M>3CRryv?nFlvvX%aSiBmR-9arePh%2x~@8 zKi8}UOAzZQF2#`Kp9T7^wZHHUL0^&Q`p zSD-zx%KJCd#W`U}e&}*ChTGWi!s-yZ`+9SM^L4&Rfs85s?K<;K&>)jbI0>_hVXB%8 zSC&io+(UOb<2r9xY^yI7q<8)_Oh8%miEAgQo2G9VT1t)*Rdy;FPirR+P)%xzB=JKn z>x!qOyQi6V&*dWUKFl@SVJuQF@S)*3`2W2CA3e9hzXL45Oa7z8`Co&l@`eMz;0gHt zE&wZ=BFoMDedg6NUve{fWFqu^0dZBKyO0Wq9QjK(xDAYc!2jX)yA6&8-9) z1J@IN*u{FK)4ioMz!_TiTCGV@Rs8>WKFaR>N)x584r%?g$80 zkw?&h0s(kF@UbG8=-{&0g>i^i@@(|pV$jA6BERnv!o#vjN6FF z=i|% zPj&@?UM6>W1N>t*rSeo7`vhAUaHL|{!O?g^247t2ZO1kOpk~yaj^}V1JqDJmcrEQ1 zqy2GjSMfpl@2G|&v`JrP^wi{pDKO2(aYG(~I=Iku@FPdi)hC*$SFvxxZB*=35@5)c zht9)-mA&?`jh~>pQdRuns=H9!ReQx=(#1}18oepZxTUTg5X(gp@A*f+ZAXie_6RM5 zmpZ7&1PmDOaFx8EUf;O`FW0PrL_u7^YVO0BDG3wYx_oS$6-K~cv7^A4z0__>nZ1;5 zM47#`c3PP~N_xqZJ9U?FmTwe%wT8fpbKPNSUssqrt2FOe=XM8G3w>&Kk_&a+4Q9NS#PwG^Zw#@{kUZ1g!Qz~Jt2cmL>tZ) zj(m;B3!(WJKFq@@+fIFBtV5Aw0}Hc{m?afMChGLZ&n&VU-99K~{KjBKWy(ED!0>0V zn4CXBLuzB1&D1!$PaZ(W%w|tY*A(Q_xQM5{gqcjGH}V@`Zu_Xirn zgm#WSsXN^CX#wBkM_^r+C)~En;h)T{I z)roU_C>2SMH?XZcM4Q0FNAx&_LbP4U8Y_6CqzxhZwGlMJZpQj}PeqQAG+Q^R&G05Y z3W49gg-DCY2W2i=8@2!$v%=&83YHBNq9!T~nhulZr07lQinWHR zN>#QWRFZj0_O+D!=c3JD3#;-Ufg9>tur&HNjcHlgS@6TK9*%ruKB4oW2C!alL+3l_ zzjBygZcj^rx6H9!500M?X23g%a&bppu)<=z=5{xL->VouKb-hxK7ssenXqk(lmSR{~Yyt#WhW&7)=WjVV=%LE~-wUF8gvQ6~$8 zvk2*J4kaqIaF_YZJxE*PpL$M`hFDRw%VLT!Bb5m(c|^%i=r|7_@vB1(?1l`5WS>2% zi{QaB^lAvuq5U0Xvj-J*2*{F@BN@W43JNktKJgTShNKD&!vheBxeDay(^;^z``x7D zYE$vOXd&NzY02-@4nBeqGTV9;E1>3j^;G3q5gDc)3j=dv@EJd>pH@q zmPB~49RfM(2jy*w;bycA4vY%-+WP|_Lp=6sTchA+1!V~L>5`|b+Wy{@72|i^?bIZ6Yy7In}FH~gDDPKwrGnO^WyU_N26407l z!xP$l7T5q9G#Aj5t^^2_Gw*;cT?@7>@Gk%1V79{jIiu48E`xQ3KiTLLIzpwAX&bx! z{->F6yzRLd*nvVOE9Jq`QMb`R``#i=_b2*hH-Y%JDec7$#PM{R>roaYr2#_Q<()S@ z>08ZJUfLRTw|nC8IBb3{&6MN)q}phY8&kg8)bBog$|ii8mmz$>m;XK@19=QSQBI=RQvez z9Gt0jHWWM!5LzalrgxK<*+ncW>2zhwlB$@N7yn0V*ofp-{A!*i0aSW8u?@2&TDh4e+d)Gtgg_d$0VatRAy6XskPw+?c;5R}KSMYa7zC*25PV(m8`mYae-0D{bd<0!>15=}vpWhwvRoi=>r z@9Z?7k0GV8V!u)7JY8@nS*7PQ!9x2ul!JpG0v2TwA%vYlurug&tm9CyT0fHA2mZ${Cikzh!L#4_AN`DZ?~SG-@8OHCvucDc{xK;z6?3U zk0K8+tuu>c2@Q=QBfKly`ZH9)@j=%MjDk%V8^Fu`tWX4HCf1*H^b3bveiZ*b;g+wO zQ@>ZB?5=oF-;NTe+Jfz!Mg-b)13E2$-gk?q0gE0#c6z<}Fo(?DPfc~}mP!QW>ghdj z=aEi5y~p;Q!q4&b=UsSp`T^4sf@WYFTw%#q*m*^+iMP?JcQH9Af-9X2TIe-Ep+eSz zvc|AFek}z_1qD^&ptEeLSuo^Wn0T9IS%7t+TkJj}@|G>*s|cwf%KuHF!^6d`)5i-~ zU2O?A-ziARy$N~Zh4+6H;R2AWaG)pNMWI^&Y@IeJ>uwb*n|}gyL^RDT9p}6}x)fEl zj2ahiEBcJI869>@9o3nB>fWI6K>RM0fm6ZBGSJwV99_5L9F^hP&`ZMc@Ql^TUV3mT zTvfCff_f8xVaWod8UkhA$);MRO4V2l2B(95x*EMK)wzB%i`2nIHY~a7Qnf0+ao>So zPq*R}3T&KIa2j1~mwZyGU9!gB-6*t&RJ%<}qEuY%dQlMM&~Y?3YpgOn(=iyl`7%nf zJWm|NYU*aZZ>#;ci4Zq??4Tb`{A6#MO30Na|9Kwi666R?$?oa4jh^yXXf;lF<{a^$ zHQEJo>>jG*1*-i|^C7E?qG0Rj+ex5P5_OT=I;Fd*idd}}mEW9owrI8d)L#?E>nXy8 zF0kj9S{aCt+s$oelpW4;3TmscE`y2hsHv76kT|psf()LdFolE03^uMqbWvI*Rg1$6 zGL6NX(YuSn&7DEtqG-RDa5?r}D);*|F< z1|aXRs9wAbxll?Xll-y26Oz1BtEP69Do&q#03}pKGKkRoQP-3(*5fMv3vKvHk-7ag zYx8go8VCk3%BjU&wDt2WdG2XE-bH&0Q$Q=m-Kx31rZKVS8q{)}l81fViDZCdl*cC7 zzGTiKIYt00+zII3>hp*tMPECR5Sy9^ylvlyJc3drzegr9V~BxDnU$S**riR1h{W#a z|6$tPCoY+tOGZ35QEWg>OE(FfwbO!St@Eu9TUCWcFXk99f$PAEo^@jVoH51q|AD#Adr?su`JZ)3kik%du==br8Pp_YOhGke2lgDYH=#8 z=)fDe0()YYI6@yIx7Qh&cHigM;evzr`;9$pZo$ZiS+fp}fty><+JHs37A>BNlQZz# z8RJL2*3>_zG1?J%&>E)wgYMc3(z=sqMJ~ctBhch4dV_4;1=bEb5-t&3_VAL}NkBoz zfmNMtQN*P(*)VwRrkn!1B&=@~M)hl5TL2EEmVm~0GjC5{SGa9Y7c=nILz6mU@N!L$ z8?wZMo-**~)mmvF8H&%5rBhF~&kmS?*S)6g{#Zn9CObALLFkdzvHIp5kQF!=GdFYj z7JC0cO7IkFwir@WsWfEw$XFU~Y{eY)zhgHx$GzOLIR=;lR?grHnQxq7T#=oIJ7Wo* zqjoe+`A0PDm_)Zm!mAHViJVMN`|$&;cVl@gEGV1O_GdRT5r&}~$YdiLXWibVtvlC{i24r2{(x#g^g+%?|6)je~4{t}N zECbc@T-njv2Dg=CiA7|3*_qiTmHc_RK>7g6pS#Kx)$HfiQkz6ICT>Ywg zp?elA&w7^@=+T?^M9?218};T}{mJs~viX+f>zr<9{Z1?4+f+KYrkt9oH1!e}@x{)` z=}83)(w!O~Msvswh5~^ysJv#!&nfR=a1?=3bxtbRcV%-`Z&Un-Y{z#iiAPlmx#%9e z(=$=~45g0JpQT`Czg}nmSJV?FfZQww=t_D2V^?bbf4b6t5zUk$T7D_3aLVhy+5hkb zYx1nGnj@E|4#CvLuQ7M*bCiwyURTvCigGXC9ZzPqUPrrruzou_^=AKo=6|Q%8}mJo zL`yl}(-;784%~oMZf5;WU6ji%HoW5Rb;U4b<*j!P!>MCe!X0$mTx}5-dy_kJ`c@ z*jtM1__G{;DU>TwpctaK$h%oidS96so;h46QLl3+BCDsxni#^u>As$9ywWw{ zATM$8aS74z#f>hVaP#PE$SmMY&TrPcQ4<@;Ss_DUpO6^J7&0jUvF5vgafoS3)W)=F zT8HgBqfYME8)}SCiPA!QsIZL|W7!6?I}Qr4K^H`J-Bm;vy{$9&6PvJhM&ti}^TeV> zI>!{UL>;9%A)X{uN#g4rV)yz(xA4#iVpMxS_=bXY8W=jcrm&5@l~%-y#GrDfz$&Kv z?|9N?xi*0d1m`Dow1Hw=A-mZ5SG93?W&~LxxOhOtD(~_?PIUl2om%NkZdNyF%!(eb z_j-Dw5`vAvGEwi&SR z(mc{pGwU~w#a3TxL>`&qkE~lWR9G3akNJBjqL5`|Gsu7<7fXCwOe=v{)$YnQg=acxI+cH@t*yALNeb-m+3xg+C$(l9p)KT$qsC4c2rSr<}MvQ9(YXlZ{iFo{xag){# zGW(@9azqh=qAg@;+5|UD1AY)5=E5CMWM|m?;CX9DPAo7c=91Z!BxdU=5{Sz=iTNot zG>}k1e@B$TZg{4g5lPq&BhZG}0Al1VXQk;wfea~4q}Ni?1ex(4!{Bs8f!j2f@j7x0 z`!CG26IQhgf4aMEz!OegGG;jHF}0kwaN$L-hYOwcvP!)r4CImR#&uKW;Wl#qdhml~ z1^0oxLpom`@iGP8UryJ`Ia`3Hsas=5yoU zV+J$4cKdq+2e!X&FRAc)`0_CIE?c@q8yJfRek~I#YIyxAYWwoFxqEwh`|f(P5zp%O zEPL%6yN%Pr1r!h%JSd&AkLx!F5&XMEBEXOUo0M<+;98ip|AYZb-*wCiV={>s3Sw!XTeMIFy;1zK<^P}n#v z$p@^O3QmWFv8)(iB)%^SwDWMA^hGYfU#%#nx|b|jGU@Jpz7f4tvs!sU0Dqn2{>JAn z6k_7ZjU947kNo30_CRAqTPvv(h~S?&t4B~YW*Oj+(ZLiM$JVUCwemfG@_;8fv= z@PklR=D;0rGKHAE@90N%lDaN5NHDkbfcK}R6C{ggCL|p(_7%6!>%1lT7bYE~NdGkA z!ZcrV;vJ6Llc(%pFQ)th7xOskN-deK_aA+^A$WJp0G>UXq&CDkfsCmmo&`P;;_OtN zhA2Zd%>}Gok;NY4@IaAG*uKAl6Ux#l{D$adnteei@5;;AN^i!DJ`!Fy!gIx$ zE_90+QEf7epL|e%&Y09u-m!o;RKrKr(5aKHj*2vv_xN=xgt{*65sVErouEB z*hwBbD#{5YB6oGk;GL-x>4om6&9wW#|9NysXv0MP*}tFp?BnKfpW|p|A)R)=AWOG^ z`bXoZu%u~mj8?3a-T_<2pr4rr_;W6s=L@Ffz}=>E5fu;ktpZatj}{n75eQtQr_KoX zS`W33;8$y--si^9dQMSU6fW$1{F{XHOIisDWng0mp7}5|@mB;>Aqk^@h8rd=rX{?U zVfAf={C2C8F+Q1G)OA~L4ks32!-Kcy*$B7v$~%Xb?@xA!10CD>2gy0y%`k+3`dAQm zlGA?FNOYArUoOaQh%ikDIZY2b<~txX9wo@U%fY^88bJv207ijqPxE|_xWo*87XGf5 z%N=>H8dJP(oT!oBY857IKQKme=bBwsqe%;<>#Loe=lBWG*+-}YG3k_UVc{Q%21+=*WxsCE-^yQ{rw>IDh^plaL9qsm7Q@@kimrV)&B zPnRy#O9{v?UTGk+ik2~iZNA)mUjR}GxRk|%iv{QH@nv;` zF5Y|BUDo4kR3GCha%Uv5g$+9YOq=W$?sEux1pc|?x7SsLgGf_mkKYuma`YK7Tfy+a zQ%P}$E$;y>Mt0}43oA1`bZL+&UC7g-qN;BW_NbvMG< z52q})Vr7SQn(3v0$Sl5KpJx6G*nstT2_8F=zDY-x%vHrm+g&7W;>3|~q6Na5>HA?Y zM9zKY4nI>gpDUdy2lbFz3ApzW8AfuH2QTZF8kq)Kz*3Gyk=y-I9ih9@OP5$qiVlJy z+Lg-QnQ7@g-TQ-urcioS;Ip5r-wGq&Dh?44=cQNp-?8c? zHC&`M9lj-jzP{= z%L+vbMrjUK)aTi;%2D~OWghP#p-3m1jc#9CGLrXg1}3Ep%zOn7_`G|^`)G>d=stha zMW;p{z!~T-h~A4`=^4*;c7QOPD{N-Usw56|Y3q}8csL>%$Epw+Gn84-E0*EAQnMGF z&gVu<=wVC@imf;QmM{XPbhmV?HBKqXP;u8NVJnzgcse+puT6$aGB~Aw&Z9b?^$avV z#BaS?t1Y5)z`qOHh4YRWiIWr~7n)L5^JdF+;}pcuI?*x*5ac0{#3yj@Z`=0wU2R41 zVr5m`>LRl0=0!Owhg5T~c{4DmVA@L$4&rWv}EMk*^C|S=^WNU_%4m2TU zE4?$W65BZ4t=Kr@lSN!CwL(lL@~OEqQvwV^y)a&*pq}DAp)Qn@6o=|jpKC0aWa#qO6@8e;QbnV@~JSjK4(e09{KgZNz$? z2huby$A836Bn6%`_Eoo`Vsk_j6%&8MViaAdaUVdb%Ji4)Mw|(q*(ha|=<@NchZPt= zl#?Pmt?I?C^%LSozBr(l23IKI{jq>C06nY2X}mLCVP7wg)Ty?C&w%)%%TCSpTJz|$ z-F)1PG@bgCVX_n_s~m~q13R=HvVdX6h8%A}Hx+}==cS`7UJe8d*p;4m=uT-CtB!yl z1&tSwgQiEaGp1BC;&PGf6CuS;OH1p1SnySkSVYTnN*pLNv+!cdVp%3Pul#V?y?ZqS z9jPgWLHb>=Z2P75FMxjzYKgWPVf=i~gjYPF_|wevghNRBgYo(r6oTJWq# zt-)JD*cAWo71fo{m^L}@oS^lEvu?ilWtejp8L0We2`Q1&rq;Qt zVZuLtoa{k~13yN}P!d(a!XsGm3?LqP#v0PvuZ7zu1=j*bd*SuOLvq&IA?wZCo?VtS zg^3_Hld>HNUjyE{#24kj3kdH99(d7G0xDB0mJ!8=Fgd$k48Ys!M5e z9&#R-qsh8bVb3$ZJp^@bpIuyC4~XDD=L>I})aO*=<}w!&TQhZNjJ~B46VutBkb*5x zj3n2(bVps_$1H^zH`a=2L9aZ&7M>bcWUn!Ay6jz_HYy{JH11I@^0wwuObR-dgof{R zc~hjitbQYQa;zL>M(Jb{G@G)8;N&Z}Q+sb&oG?Z)EFRA*g?iZPNg13D?_Z8r}u7A~9&__1mCb~mSN#!Nxn2z<6L1kHjlN5KqiYmPdFwI z8&#l-F!HD?gRgwKdxeDOpbFNdIdP>SuKBBTsTdrwkNZrY0on9xyMss39`#1XHwK|`VilGao(krxglMP0*S8&c@G^^ODL^bapNt<#(`$SfsfxE zH?;R1gp=3v7f8?MoVr;M7pI`Ntae2$qMjFZRd3OzY##nr+6 zhN`}>khRQ8w6$kJm%xiOKXnmN~mDTO!?CLEe84ew-f%=n}x@XOt+k8oOc&J?PHJoVA~LG;G@Qbh(4 z54Z1aH^S?o57G}mv4BiI&7G^;W#G zrGXect1R~}7FJh3)>RA1#^PbmGp#I(qGTzpk-o>L*z2|CSK3Y$ucWu##MgG%>eg>B zr_7RL!6s&U&U{`P0lRy|?73F^Oaewz#6RB*&D>m>^}V;AoJh7cd;x;EQPJGp-Ee01 z&;CK2_rhUF1sO-YnIXcPX(c)|_Tsjv1g~wu9{#P!K+*775)=GP`8tSKnKK)tVSJ*c zRawpzCEr|Uoq5tF`umS$E(_59N5{ z92<>4dllhVg?YT07S`K2D#=0bPe6=u=`iEuR*#wTJ@-YQlkUg&Xm}l?WT|hT+LDUR z>1}1>>z(d%g`3Z+&C+w^TQJ*N21i3*QO}~OQ3z%Q6d-7@woL(EDq2eBqn#t($k-@> zT<|vT`b=smI9;k=*-z_CwH9*v*5x>4J1COdn^xx?#mAm!+F_LbXYae6al({3S|t+# z+okUa>c}mJpGYJN5A8Q#`1O>xm8s(Z7cO#c0w+c(7ggGy1_L`Q{sa}?82r*D+qs9r zW3Z3LFy1)$8&o zx!B1{A-*n)D&VID&+Kmx4XI9H2WC~E!a-`B1NE3a02iXV*9kLGa;oAcH=HnsTUy`Nk z<6TWJ3P)E|@F9W!tXj404FUr}*sweBzTSGSESsHKdcwRn<3JHFB%y_&-G5mBIR)zD zWmP*jVWWb9uR?+dWnPOY6~Pqp08W~0-m+qR=n`=~GI>Uvy`>Q&=Y2IOP;Qeq_}b)2 zIksdgo<$L#H0)26>n3yFhoars_;~-~*mz~C9js4O~wc*P&Rf#3EP=cPFfa=fybCB_?kv^Pr0NZ3=iEsU~;ADsqY!ct4Y zbP9^EC@&GEIzZ_baG}=O()~{N`Id40d1)&oKQfOP6AG2kW)(upWaZHQ#`6)t5 zOdH4HoD#?Bd*=$i3YQ!ahOd7DA;r*mC%{2SwbU!&f5)-gn-*U=#439-ydAY^Co}tR zWQg`IqWBQQ*(MS`5-y1s4zJ#;n^Za<2@QMr&<^7vH%k({wg|i6OFs{GJv%ZAG82g> z_AvYSixMOkx!J8psNemWrIJlu+s+C8{gz6)$*EmFP4sM@=Ck8p(NrTrY;~Xh+{~Q_-VJBfXBg-ow>5i zS9nEjH{n#hfd9c%g0RrMDt}j*clDZtk^)B^9M{78#$!$n!~1sij!N+rBoSpU>-CN2?9ilz}Y+D4CJSvT{?sCA@7k7zsmCxYYhcN(jtjm zxuKj;wkQzWk6qSqC0_aw#>z0VFR1G)X$Aqs_I~oVX0R6CO!cDLcSTRkg>2Q~o5_X079+gPtOdCptkMw&sntJ6yXqztM zon2G5#HS1rZdz*E-O}5F5cEUvS_pwa%i?pJ;Cjttv#modxQW<%%wZCT8SNodHJ`nM zT`Q^0+8Y<+nNl9QejZ=*=Z4o+6_Ry&mE1L2?$WIB0RAtHy(<;|I?Epux`{i>t3k(+vBm76B{W%;whux9oXeMi< zC+dy{-zF^~^;o-ii%lG*Q9G@*iHS`K9&}T+s!a)YdskYnme!=8UkGPOrp$&Rp9JL# zJW5H%6~$LD-j{vYLBh=+>lpVB^mK%97CPp#fz1 znFSxVdwi3p*k)5*g!^+s{Lx09&Yt}i7T78(@i{*vvvVRLq~te-^Z`_+89x)hLN(e# zGIqladKI@)Yg7@C=IqE-gkp|A@Wcr)-vX%~Y(STJM{k>krWvMQ|SmVU>y zO-S^%YY>DEbkl8cJautS`n@rt)6z$OUw*WfU7} zb@e8ZmRBlgAC1`l<_Vufr4)N6!BJ)Sbj#)wc9sarm8igJl;4j_zmhqzew=`}4;dgU za8Of9EsE~bYb_WV2>A@xl-Il;nTLIw@f=n?O&eyF_z*4!t0Zcwh8sq& z=|i5*IG_o#Y6NunX^*|uj8qh=V@jB4fe|RM!tdr{+IODR;SG9YN5pB8jql=((ZyQ) z=%0u$h-M&iQ3KzhgOTOCukOC+FN43ND95I;W!f+&>Xax#LX^sGUj(0sC5lxB= z0g($x6{XB1>C7xoj4K(9W{)EtZJE&4qddU4N{d zo+C*V`;QrsW5o#xsO7pxTKYyy|#iZD${X@j*bgnT$3+xHd%n)$rV6`nK&h$RB;nGSU;QE z{T{_TvNf9Yqz^vigKI9RTk@Y_(l3&MA;i5J zF)mEtfn(;`HN&bTV=<~EV@MD_!8R33SH5)}OJl7Z9t`N$&sq^oE@$Z#3>% z=nO|wr}ZOCS|wr@F@|AAN0$&;E*SZaZg`w95?8Vdzn6&dm5esgYe|LKF}c4$Z0JZU z$$aUm=*f7fpvjP(>mfeKbW2zsBY%>NLbS3((C#68VC>?cPeM04y+Mc`FurTaYl`D3 zAW2#~$0*aX5VV;Ynm^BhJlIfJW^zNf!HxMk40bkYTl&PHjEPHhC^@}DELn^RE~MI} zKIU6Vb!!DUS4*g-q&V6#+oZQ|$X^MW4YaG}HipyCv|hxHUFt?k#_9iRd+Xk>N*mdR zshDhge40*x!|&tx$UN1oQ~XiZ>#5&ky*S%?*N7nUQHl)qwcUNOTd7Fc=;^Y1gqS=XXIi57|7Ex({s?XF#tX> znAw=wn%TK9{4?YK>wo|AIfDP|bGEiN|CeVe{y(3!cW^N>wlVwHcl=NEvL&THy)HoY z!U<5laQ)ZcA!2W9ENW?F;$-O}XXIr4w;P#?oO34QU%3r#KH-4HjG|O|Wj{z`;6a`ZegK{k2jkVp%{ zCUKH&0f8D&ZL>;Rdmv6)l@ToQq)l5l9U)#gy`-LJQl{qE``BibIOq)VeOGyz8#CIj z$Y8dcZ&is`GI|ip$X0=7cyue{2T7)gQtk!9CW42tq1F{#JU}XBH10dX!`g8;n&t7v z>fGye*wbQM;DBIe=4kxc6x>SBl{JkXc#`tpsX$IK&{!eRL*r0217z|g_>;a_`t~=< zZHV^vgRVFXC~I57OutUFbfzmNx>Kz(9XAE}7i#bNjLEj2))k7ty&2(D$248kdo zl#-Ov9s^HRvng@aNs=C*oAU|;^K052y{#n=S`N!Srs*2Dw+xD3B}hSMaWSLE@L@(O zmz_Wa`24?>7&QkV3bOp5`<#}0b7+*Le^>1IjYBs`b`CsvxA6Fb(DzTr_(vMXg4x7BHvmqG8GD99AC5H^_0 zAD0~kd;bAh!P*!b4*+EI0gz?-uOTaHY4_dO$mMUSs><0f{EPH;`Y34#~k( z(Jxi8QLK8<;5agl;k|kllPOyEC;J|gH4qd<{lL`Ce8>CoO7C|0k1oOzp?`bcwM6|3 z!D}TAHO)g!qNfXYw24A0nL3vjOF27@(28%9@1|-hBq@hZpb>ZA_6u?X(S)n zDrF`7c*R*KNqRv;Tc~vPJdk6(K}3>Y#}pQSVZAaXz*b>zD7hx|)dTbNISh0P z9tIxWIyCYTjBm&QfnTYwsy z#5osPuk(p)b5qAJK3E8DQYVcbvyl-x6*h+7zt_WGVc(b?!gMta>ZQ2+yJ3EV8`^5MFVjK% zPubQ2oAB}}(}~4$IdXO=+|OX~dqu?ps-o&#fN1Ly0$?pjCN#Z4SlC`2pK}P;C|&G| z4tM%!0VaUw|INs-C-|k0#x8&RSnk0AbtqMj8oEc8R3N4^kiW|%%b>Q)Td#U6E*uV? zCvL%F!G+RMR|SZ%%nuzLb1oFfMuOs{*Tg@ucKPVT$H}SRN>jAXB9$*Ttg=-i2K)Yy zt%w}gtTpYlj+x{$bf|?|DX#$G%5$sHLdLJyb8|tq&-}<@-rwnnqixYG4bSS?^sFEUh>qF^{O)n&pP4FUg;?7<3D7_V(r_%V*xPU1;Cj5 zzlO1jgOLdU$#V9lvSuzWW={X$x!>vU(u>a1Gh~PF;B5IVodAjgRomt}h-F5)zG+-N zx4)_-^s~#ut)7v^AuC^Uy_wAW^YvyJ+3oZnUW7HozQFxw)J@Oba~fP#c(2uS5`OrE zp+uPVjwAg7O^OR+;>R>nC)=%C^D)Gt4QnME-mq|#wfhBP(G&wfY zVUok{uJBgIJ9Ac?E_S%x-Fcg2g+bNa z7OvBtDP+~AvvdRhdI08^n0!U!Y!?stEpNFA3XQ&^ltXwW!zqAL9}lS{elKeyD!#oe zHVA_d;&aqdQX=T62W_%jO&snysuCehG-!8SyRsDoz;qOcT(%Zk6lSCchycF7M2S&- zV5}gG9r^Y$p!lLvVER(R_d?X?lJOa)>2uE9cHioASaTEzln**3a!+@V{#>ZCY+tBHjysM%WKQ9pdc3Qz3HahM*1VPEfF78_P{I?Um7U z=Ra}$MS*fFD{L(kpa%Y@wf@fQYkI@X8{n)70UlYdPhZ8tzf*v{olJ8S zIKp(KQy`zK9FMZYK9`v=->%P=-v@JyPc4}VECv!Zik82sD-r^Gf&N{@*aNhx>IP8P za{;{aSpI963mZ9Gn#dZtSpF55c$^~hS0vQvtxrT~5WF}}fVE0<2z)a$g_)UW8}0G_ z#`Yi)L|Rgjl6avZ^|QOeCHTM&s5*6fFi8K@uaAy*0lN8-_1G?}xGrD{)#}}O$U~MN zqE!Q$*c>yaRfx8mNcjcMvDg}{2RCWd1aY%U^^TMS)kl@hfhC)PkMgaBhsO#ID^>ml za!AnS9#@#1BU@%dLl{VquoOc1_1Maoy$|T{{EXO+$bDSrf-FoHM>5eXViRi-SUw#g zf|Nf=Ly-vj6TIQpf+mH*d4V*3=Z{+MF|Ro^%i|woB?#X*|4gHact&#%=G0E13#cHm z^QlgT@eZwDw}Fxqp%AWtV_=Dns%OKKyN-`B!pz)(B#0!5yONnAKjGa4foG!SP(tVJ z045HoAsb{PPpIQaD4d{yC#hG(rPi9zx|5XRk6jM16N^jpSqHc-1GCEF(slxCl-RCo zOTSuhaWuXl_yEL8Q{^VnHfh`a4(#16c-HL0^E!;BFL$kM-7Eh2R%bu?f|6aT0ST6QvJpHH;ezDh$$Zrjf@bma=REJ_#;nZ4d^?)R zu-Z+5o2-SD9?@L(5R`4dyteCl@(m3;F-KMSV`+%BH=1)mj1ksZlF$M3ghYv}Cj7j2 zUw`#jytuyoWSu>LEDu|&piLa`bIBS0;)yKlh6O%GvO<4XF}&%6iW?~CK<496d?vw2%dpV4I~Kf zKqFPOMMi1B-?55Cy^^82QT7`Q#3Ck{jTDt4CKGZ#rNe*87{O7KGgBgeZSb9TY=eS4 z+wdpSm+EhL;PbD{G(Q^r(d2P>Yb3O8K6qQ=wosO}nGXMUW}Nn`Nw&U8W8C}Entn5S z5Q5J#(ORL}yx#AKDHojj_57WH{>Oj#9i)m#5_kemtC0Vv)9Rly%Er>#OvTgI*xu&< zyeJqu@Y+kOCi)XPfvNP259|^5H`dHIdLp%G z_JMBI6~JYor63J|5|fl4wH`x4N!xg0m6zQ8xWpJYIJ!+jErBYo45sFK-6|n%nU{;9 z&8Q^jeK5nFw&<2~+f}Uu1AKd(_M#sVaxaG}jcyNrE=mK+-Z6bkSN^b(B3V`-wvZ?W zR}eRcYo^w3x3f%LUlNyU(N?kuMLaD?bkz=6u&CdY6~CVeEYGRx^@|CD^Hm#O!JwNT zJ08crJ_}AkkLUV5E<6IEL*cthvAZDu`5Cd+Yo|@?8If8*w+8SQV|{LvDz#-LP>R+%JuP^`FTebD=cg=K2@|yaUej}F3VuMp ziXJ}`{%U^${}QD*lx^YX|Iy)lN{>N@EYks}DKoz{N}I1tX89=NHPk_}^UbF*`DnvW zrsG=v9ltAT>@WrY6+|v6LiB-_x4^D_wjilm5~EsEm<)-B>1ls=KNI2=Q%0GdWWly& zyqUzq`S->2CL&jC_n4&Q3mHm+DHSLMFS#`V<3NrthRguzK_nvrXS9#Fo37ns0D?^h zSK=%rg)tS?oQmMkou#k5R2lCCynqhX;Y;<3U90ti?oo*(dvzX>oKCCrYNw9Jt>6{u zSu3TXr8LU(_Yu@N&-QPu5cNK0nkaMl$k6$j!Ts*al=be=sk|GklGH0s5~wMUTKB3H zKI!AIo%kVO$FtCVPOK#MS>WjmJ8|KSX$&}Ask^7Kgtva)WW79yh%?)VTRL&?kOw=v za;LG6?>xU*NoTgdKg_;vHwj^B!b2F(Iu^J93AHy+>Y$(KFuD;BX`=}jGd;d$yyxjP zjh}_aM|&7cfk`7f6vUNU*{L8oCO<-ZjFBh5HYQk255!ehR$jVdyhcRm`n|clr+nN- z#C^+%Q+PSD2g_j6#?9a9G@p{Zc-1`yl+IjuOa4VE?@;TVFX<0T}ouW)` zWJ<1?@lNd>YS|I&O7Tte6zs8)oHQJXyE<~NMl8kOJGHzs8`ZVY18#}9(6WRVnc|xv zPF^I?0+uR}AH3p_P~Piy;mZr;X-hs5O+3})Q_;{{onWUUCGkhea6KFd_8!4+`O3!v+2XB^ zE*@<8f9Qf$nBqfd7j%n#RiIeXcb{-Z(@*1b4V&bJ-uJe1Jf$Rq{ObZah7{osNa7X? z6s=BxIl*t?QfcS=R1Q5LO|62xernTdmlGjQ>S8u73dFzQG8jvvKx$RQ&miST=>DWj z?2-F}?sq_g?-)dc<|x~b41yupGWP+EONuCfl*V?`4J_Pg${(Uzp=9htMy+k_A`*-s zi&weDKoad?TIW1Qx;@v;G@wcTs`||ZsRWlo7-D{yW0G0ux4jr;pGzGEoADGnD#W_n zGD`yF8|!n4pXv1uQyZF{W+2+JRL&a+!8snUsU!igzS*1qk4@BVB$lCb6+>CKUs8uV zw^&F)Rm|A(OTMF@iqr$85Qx-Cv*7Z%#1PH66Ks^CcIG+1;BM>CZDs>*!X!VjNFD@{k~>h4gHU@! ztUiFjiT;_IxB{f(TRQQheYLEf?csaL5(e_z;lQ>FJTRI9IAHkMk zO##lSyAy17l@+0!@{Xa*IuKjUDely59u;J%WQ7=(R)~N(E~tktn-lns(4x(Wy)&}p z%s|=m5ETDU#Q^ttW|Z(Y4wWF5^{fFFL;05Fv+odZ&d&P6p|&y+e(3{aX{KTLutAZQ zO?PJ-*#h<0mTQ&2ba{II;J{+F!|7W>kQQcA>u6FqYYw78>|)1QW%iTw{bo~VlsYJg zMtfY3C_b^W|H(d{e#_F*(BE}2ALYzeNw5$#OcIN16D3&KQeDqaSs=vCJ|+YP57I5$ z%6EOSK(A8r%nfs{Dv|Pi*a?y2V*j@$Tfh@1mUjUr6YEf4ASZm4kxk{E4VerhZZwT% z*O`q`;0>c*#%30Z1S(oJ_GX}ad~`4)EE!~%ICpa#hW$hLmlHULFec(yVjA@qa*ruJ z@kj`>UFIk%AV@&+DZv`w6#D_ri~xNz@!sp~iyS3T{-^gwrrYOkIT8t0`S?3gowy zbQ5YzvxM`aoM?ADB6$Cl1{)DG{&Inm{UY1Rr{Qs(0T41xIqnu&d$9vKQ<9`^j~u|UuKmCCVBbq&7rKTqKW;Np{))B80kzK@}Vho_|a%GOP(Fj<#q@*a(2s1 zRY$7$2@(d(#~NfsbwIgnj2OMkmZ~5zkVMfqksGsKN9l(5ToZ^v3}ba=c*$u-ki6eV z8O6*C!dqem(y@&U!H$4N@r}P>e1xB_qQ%u+#UKmztvsCZSzm}KQc%IZMhucnnM_eX zHp2`Ko9D&-N{*tS2%wIyQ3{r}c=CkKNYJAlebYj@k|JXFTw3Jo&sGzb=4ZFfM3q#s zv-*XP>#JmF^^@Lf!Ihg3GT0y{V=)IiSfKB_5poTg2)y2`ue(KSz zWr2Z6mWIa(6am(LkM%t@ny$z>C#IUxd6(a{sw3NeOeamY!iDeDM7h7&7D~rq5hhE_ zt`@|r3W;^C3dD^Tk={r@`^RUJBAZS2$aXNBt@-6=B2%h2A5Yk$+t^f*!S)kXQ#;oa zMDtr43Wa}G7DaP~=o1ASLzAYA+H5sn*Klcx z07ZmR@l+i;%#zrEfnx{q#IPpP9VcKvCC6y;>R4G3`34l&_YX$aQ)U94BBba+rMmsJ z7aNwIi=Zk2!?SAr&1zfEFBMQYtFanx=MGx7*N{!GM zYr$jrB>2+KSd+`H3!d4cglWW?Dji?c>+fp{G{+;QGnG^rF+awSj)K2R0ws24gJ3cT zw>w-WV}Y;Um+zn6HzO~bW-vXV!Svc+6{=M_dJ&7oD0x%MUfb=KM|GM*&FtfKcb8)gXQL!*`F#G!=14teOn?`GVxIR%Iww4PIM>1yagXiWUGLt|1Ju+}Gw-D8^VeAE6i zk#a={2pe_A1OrbupUjy)u|vWus-+q(Y^TFJ9n{q+SVz#42qIq}9&{ku&^e1pJxA!uK0h zZNdx=v=R{?)FM^o`o=cDJ{eoo2DW}Fu2_XzRv{8Gzn_v0Eqb1O9hPD ztV;N(9xYyG8fx}u{2ZlEG*}7E?yn7t?5#DooKp-MS{>zT+xnoA=ONs7mfdcmP4sgW zT1Gjc{naR%3D0)$l(_1?Bn+@gA!((xpJNl9vnh z^r9mJ&@w05&=x?nS*y|6@0?v4RetZt_t#QzA2$Mmtn~qB-!y?f3w~U0SbP4$d3?@B ziQjwEBYc7tIN$@NqUm^JlpN^8%QZgy2RY%2H?qah5WGjgW|*}sE#jJ!_GQM>fRtTi z1vz__hBj&!u-G>9j<#nCHfs&Z&gF|>Ej%nVmy$&(%$`=D9wzWbt`7*8;fNx(KW!c# zXK$^?O9P+Qtd2gtV5)X&B6Ixp)B50r5W*~(-}$}-(@b>D@7;>uXE070R+AZ%1e z3V+~%cRsV>cX&SCIZQ`zyc%=8hRrrZiw*k);(km=@Za<^Sns`tT33bfOkW_Q7UZzn z#LUa$a3r8XWOz{{VA~aPTy&N+)8mx8NB7Gsg-t)nrxjc&jx`(416Q_RjcNvAt}F{x z(Y8yH#ZJ?~x`3`=cXLN}T}lQG%|@dPKfV-&7+C!_Q7bk$Bywp`?fcACZW>Cty1(m=)(W=YYOgSeHzwrSc`0$)E9BL>+a%y zwe+q@YSg@w9m7E2&&BbN>Udbsj{a*SrOTBQX{*L;2wiad491%NTmR0*k;%hIdGZ5) zoz6HG;)T|h8=OnMQ!Cw7f<^T;Mq~ogl_yL0CZ2v5gOK3QnDivY)Vovlr_ZhJO@DlD zZ*Ad*<*}?)MU#5O)Ua754S^PG`MeXnHLn{tYGe(=;CgnyLdm(K-hY3O7l^f2tO1mS z4}g;3{jcBS{~2Anh}%2;8!7R(t=uDx_&*eS16Z>`XfSw_M)difdE$3WVsC( zj{ddHFN^D?)G9=l>4&g45soAN15SxIP(~o;z;e`ykbL#>Uvr^kQ6soZ9jKK`&m_@H z^w^p{1HQgg3$|Pkr)3Y~E$c-uz+9-B(k|vW64~JA*s@a6a@x4A`Be=)juH{t1+v_9 ziC|%Qk?qS$!;svl%7k=6p509}+l!{;tmBBM%6B@Lk;!9YkX}502_wVyP=!7gyW*{< zzve^8-N4@n3^j!pY3cTFA~+1TfUM{5w@fMbAEy@vpN;_qcdGMR-MOamfmi zwU~xRszPv8Z6gvC^8mwUmYsZl=}!-AK(!iS*zbVOcV2mld-umnp z!Pu(mifZ>{+JZw*Ja1*K7OMI83S>gx_-U$sm6v|FM5_ALt~G6}QdG`#-!%NiOBOO6 zyr0mdQA;VS%ZxM!R4_ri%EUcqS0kVivo$Wb!yG#46aRtVOwiuRHW4sXK<)8gtz#RiBX2=%x@Y|Zrv zJJwcRG!;hXR`|uWd($n=X^v*!<4vN32tQ~dK(=N)p$Jy&-d60O$432D$oTRFdjOAL z_j9Tg)=-`HpigrbRH8$3(HY9eF`sVOWaK}?clq-c2$TsO2_~L3Owt~d_{kv3LdIh* zg>r7Cr7A(nBUCFPu>fH`$Hg1K{6}k4qjnJhyOCn70lNr&sEc)) z{g`=CI#TYgiCep1_gVr;U;-!cgrj_hP_uZaxBc$57ty#2!W%K(D8Qa(#4CL86pwL=RFa_nFs%<2l|f_rhMmM+?^cJc@cyhI;6# zGMd&q9ElG;8KQlh=Om!KJzTXL?f<8eS%1@oZ zu6w=wMqiP%?y}^~#g8oJ;LPeEJzE9tURlP~ zWyRw$$|vL58}MI7lS&JXLPtAe&tCvKjQgpK5p@?VJUmq*wY1O%KdvW3vJz^@D-UM@&U)LwALQb6CSJjIxUC=@xRDmowf&1{3RrR7AhwMNqB%M*xNg7eo0)Ib?z z>JK#W!O&y&sM5(yEW6L;34UeT=5>&>9N!9Q&L8R2iUHEjO$xGlB`lZc(TIPH% zXLMpNIA{GZ_f(b;^5f5i-zx>ZlSG?Jy~Dl>*MV{O#NX9}oEN){2)aE?Cls?4{QlPn zvvoInqZ!wj#O#eOTy+4dG0{b{6i86{j}u1L;0_p`@<@xHtbZZl^RFu_7nhjfwn{^c z;YuO`g|IzOL-HBM`+A$*Z?QYCeM(# zya1sRQE2M|{k?C0MoI^2I)Om*lvp_cGJ@2t5z^*H80e8y0&g)R9_HVB^nhX{o!0i(AD@CNJx-hlsJ zHzjB3Z1NX{{IAC2|Aaqu5f`gk0RdDA3|&j1V21dGSu~{gVhDMsOr6?suY2E|534OL z`nvV(%vI)#d6?tw$E=CaBXAmHVk75(o8Zf)@JNnV zU6^Ywjt+sFNvFc!PG*K_F?)A=+x`4>ghX0Kh;mFJ0DD{NTLm%RVc|oN3gZA6IB;)r zne)=ewLA3WlLmj0Q=m|}zC34m@o#h^;_7jY@MsHwfrwyRXcR1%ZmA~D9(WNm1Ne8b z2u0^cD^yoTd040IfU$NXwAnLJDfMSgl(cit#YW~5UbpRz8vGSyw<7HhW88{u%3nd2 zcvq;`Uvp-}iq?uAI*wu)r?`gX^U|3cfrf07;5OxPKH}_6*2C}&DeM;M=^0cuju?P! zF026$pi+Ij5w}Pubc*kdlVCMnk+Aj|08vUK?A`Z8$F$%^ zDy`hUO#Q)B2ksW&a;qe$)nY3^e)*0n8s_H1@J|IvQzsee)U=1F(xMtob(`?IB=<5H z6mas2tjiNSHYMFA&cM?x#>JaY;^}pah2|7# zYek(CR+mFmiXYzf|9~X&h>p*1Rdwo+=oTi<0p8i{b}OHbJcw;6|FFP-e3mJ12{ML! zD(xh`Ci44$g4RF$W&f$(yAzw!6f04q-xAre&UJEey;lsp5yf=*gY`-Y zB!CN}hMrSzFuDMMNd1Q3eI_+Kq*r<{Egi&qP103 z6;FuVadKEo6;RQ`2RanYH3=kL=XiIuu)h6EJlN^)5eCX;6db?t zP=TjT=Mgwy2$L+S6hvNEt0|nz&m2-)2A>KtvyB~v`?r8agKktvU9kZa$}*o>l59(G z1Qu-TTN$kba5$}6f4U@+m7V*wIA8Q;0`D`KlQlp*Sgpu9p-&R9F2vEC-F&g|c+uge zMYEpF{Stv-)djGp)|meQ2v{O-!~#bAM+nhZlOCUeqOy*p4(ZUUAj$)daj4AANIO@u z;ATq=P0g)K>W`(`>oe?W-X{RfH~AkF!5JoCQh`85oc?CQkohJvPpHGqCto zdGoJC_3QD7Q)kP-$-!Y<$K{+`Ldi<#6#8ZC&J)<2{fbZA#JyrzW~k#?DX|z*BcVTB zfO679k8$`xrrU~LR^9Ipw|P4*MD9Oy>h1~wdpmYVM8cjy zJ6P|VL>hw;;=Crddjbr)f?tlHOS&jEV|lqn{Ia?x=1bq)V8<8osGytHN;WWm!>`^- z{Hb^-S;;yy<*l3Qlzh}l0SEW{j|ennkE$(UNFX3ls{eoOjPPGj&d^agWJmMgeWYRS zqHT(!A+F=`b;vT6oHPq7+P;xBK$DPa;!M#h) zKy$jsAc{?aY_XcTr^?Pb&XAquD~)YW25kKsf@DBwAkN7vcta;&pb&`(g7PiLklH4v8<{5@EJJMd;WV8`NcBGsjWX^jELtZXmUwh`9tkNWg!}IIIT$Q_FZ?6Y} zlEZy4UVh*|_eP94F@%Ie^H3g$2K|JGVf|c!1J(tkzi?D6gA~zZVhcP^dZ2|Rq-iBf z&?1%mF*%V|#3sS$ku?)AMM;g&ej@9cP?$^xM?5B>9!))B;HF4I=RGJB5WFOLhStw27tMQ1={$ z2SYCe9Qe2$0+I-4h~J^QRY+NpKti50W?EFdgJSH#g2A!8q#^4SLs^NU=BfDGEBPW# zW8++dT8r`lC1#$f6i>_+minz#-!PM^`r(vAoYe+wAw+AVD&e9o@eg@<=#ZQn!kGsG zG}MC+{KBhty?VDS1f_Iw4zC##&lepoc5?^=Ma?2wF{lE4tM_)$BFl2ae_$hqroVMa zP7&)^7DM8kzX&l#AXaCeYU375JkP)m=}d#%`_f~^N5D)esqH&C7~xf;OK#$Pz!5{V zx@&D+pn>g@c%9d@VQq_qq0C>X3w11Qtf&<;)AJ|^c25vtLhAk@+aAZ{cm~M`WMD1v zrk|gOe%_{Ok>6ras&;(<1$07ah(>p`C5{eqM?+^nnOr8OK*q+z;;$W4fUG&PS)GcT zn_P)dE<@4Rh(?Zem8QZ_9e?KW`WTFF*us*cZZI(yh0f2zg@$S4#e^McA@{Jt+`6*E zxU&sZ^o#G)6xIc8@L^^a->T}M%``{8A~<$A-Uo}&@?n-? zZ#)((y0zQuRxj1$u-}<=!u*7e@i1o*14i6!(5_T;L6?jdz?;^f1Q8N8IC}MIC;{qR z4(OE13hbg5Cy@O@4DZaBCVr+yed(YXv$kCbAHjs1HIoHF3MTW|F)Y!`aB&fnz35F1 z6K3HN;o09O1E_7~z0Hjg7(z`s0_{}Y2eRZbFEmwMHQ<+`An;O+xGKRUc+JzroWvQ9gwpplN zs*7d@oc4m8rC++1{%hBQeYX2MI`gFe1I=*?Fnd{=9>i8%(cnTbW1YB}o_T;CTjfz| zz;Z>35rlR>DU+>vSt5EjLsATP%Kb*(16;98Sm2iO8`TC`tEMWJesN{ZQ$W&o*#Mr# zTSo<6DadB>4==NKsl}d*KQ)zM6L#$jvvTJ@5TdBlPxPPO!^hNkOld;aYSH3dPV7wI z1ok~aofN0X-T1=PF3g8{Y*edj)TxyD9t**yMSj$yMI0%M*I1y%JS$PW<@Ch?ho)xW zsx;PJS&jn5h!|mnBZuhr)EC&}2=b(0J37>41O@vKjF{=A^|^k%@eoT?N(} z9yR>9eagy-IHuXf*AB3-K1m=ML*`R0CQ{x=7)!tw*@E9oW}*P43GUGcM;_}&aSMAJ zS$+m#*={__X_v$n3w>j2Du3;X@Gs=*=LsNezCMj@ENpG;vOgdtbGVsIeMOQum(hOR z3oeRb_d7#{xfA7?XjvhQLtpvP1NT(tflbUJ{Gma3VF zg`K5|k`L$TY2ZQq6ZBb{17CYZ<{ z-zF3L?%t_8Ig;6ZVybcP7XZhw49|$s^hUwH120fPrkCKJ5hd|1gy$`tm}YhsT`Y$x zs}UkAcCxdEflJxV=G0DdR>H@LhX?ok`h=Z;-qLlYqG=|X;u(oEjs_d)Oc}|AL*(|{ zEcv>q`F4jNom}BB;tsSuk-wP6-F=v0QYk$)i~%F2sBMa3X++EdwpCOHZ31?c%3cB z$F!tkFIFOsjtIFOjzxj-1wtur`oak%9DB{%BN7(R%|JB1hC>9T3K&Dr!NC^C8Kn!( zgCz|5b9D!`Sh1gh+pX}RI5t$d>J+uq&`vu67pz!O+9i1ayE_pg%hhSD6+u3ryq!2Qrnk`n{K8EE?ZO0X$Kib$WG}uykC7p72m^rLt=T&F zbn+z_8I7ib_5%aR{&BM1d@yEgoa88#PwAPybZm1<2V$fEP?FxjTxvcu{X$P9J|aR3;Tka&I^u zL@mS;9Ccfa`o_1keVuvzkdPn^5oCLNa!=qjbo2E|>A|2<2M?qtxlr#?-`y7i*O^n& z$?2pt$YpVffsTObbhe}u-_!MeHGIMu-`Y*(VC<7D`=`uPY}`NpA(S4s15>vL0No#O znd1Aenc%+|h5um_>`eb*)&9OvDFOIkq#vgmSq}@QGWnG)mR8M>(&+=@3Dk40$BqB*FNBaWG^mf#@BR*BpoB{gp4IV<(GIw9hb<$^9nV`!WcZn=C}e{u-T@Sx z0ofrnzo8G@v_YBtJBf%z+qPS{7fvf_`?b{32J-+*grX_B!rvQNHPy`*Q;!)Xj#}T= zlf4d;APBN_YZv&_jlAAw664;2?>Y~LTwEiK5ZAuJH zjc`lq561zQs#@#!D*GTw>MtsP?oqI)53mALFw7qSYnYg03hD2YmuPk$08Xt)DXq^5 zyx++YyBOfCu=4E=v-OT#TUQ>q+&T%$UAmPmPI1Q#?NQ_%W#~Hzj3<&Ant9hAw%Rv# zwoM|NBhde0g>(Md3iz89?iP@CMvVT2_g#01#9E0lXZ8^K!vTmOE%X(IALP0%*(Fuu z{8}w7>!pVE17qk%!Y}`RUiU16-d>){RXfq}Cj1vNX&IVp{rx7nzgS^0yqx}iFz%wj z+aH-g61$g+k*&8eGm=rAFo$G%A(o7pfUSV=ZK@N98|#!y?fLpfw>W*#UO#MjTNe(! zKQMkSp-+wvRrI+h8+7E8L2ht!#v1wpYpJ@u1fRAYo7m0--wp$)XzPWIHfJlS$6rzZ zogG%ho-H>6lxuCkA|%6qjpYB0T`fJ8O-?l5+1j>286yrdVnzOqb;wc2&?|_uIG4`s zb8;+0T z@F#I3D`|BUsU_-6Y%F(U0A=`EW8&m10MLIP5P&^hK?PG2am z&=@%xlNbudU;;SWS)l?cG%Z-JeSv@cTxlG0`wS1YB{$djYC`ZVdH*vQGO|8hs}4wf z^7d~n8EoG(w?)?LxUC}u%t|{&*67Z}`pa$kZWGo{5MKmPoKd1P0cg~-#}8=9VDs1X z0;D*!HlPL+v|Op2^lTUktu`x>sZ?h2z!P3r44M9u@U8i3W|Zt*JO7DzB!n!gs8UEq zhmu1}p6{>BIeNRkIsKTYUpwvD(cM&A+dp@6U<`g1#$M$=P}4K`dH`^OW$Qq3f=dqiD_VHz68a7$_t4OhYqi=jaVFzoI!PaO%>G1nNTT{mW{)Dl~e{w4A0^@MyXgRyK^!i}Hb03-xSl>{% z<$?wQVVUb{bS>|58MrVW)fOB2^_2q0Fz*uA`*CnLbitk`pv9Fmc-S0kpHR}dVygFj zh?KO5K%gb^^<}5SvIfjhb7(_#`?3FldhA+0lCUCr%;%>edaWfX1cbNXphY(~2{>4q`a)c#cgvCsnCD$R2Uk05$9<$8Zh@de?FuiA&Ab%6 zFE8$&ZwXHkF_3vFDEoUNHBk@)niGM*G$Tm{wdCQEAW_V5GVK&6ATajn`>~^tjKaj_ zpK6^t6NqPeU}c+UuokiByA%>uz*BqQUtkkP7jA$#hVPpKVJFXv0i0Kzg^3zg| z29KgFYOq+%!j-SOw$$-=mVUK>`+!*$>5p9{@3@lWyi#E$r0MjX&9g`SKE(Knq2j`g|m2xEW{qUYqhpm63ghXrDHEZDMNO zJ72h+!FFU9qi%+!^Q3T>t{klGtZdQ>(bPsVddpOW5^SU1h5n#>I#(Wri$qmpAH%$? zDHRZK*a}m75B{Bc56aynN(SI6YlSf%ixC3w<7B(0tnZDLeH5yh4ER~PxRs$Rnuy+o zT?#DLnfk6$K;@Iz$ns)3cRFh=X)iOv94IZG&|13t^^7etlED<{N8iBZdzIBd&dHEx z(BFdOr3T$99sI7j>|6IO5$+3D3K2RIKM6a1wE;8@M9|F@-xkJ53{UgT%@vW$(@GY) zo5SDTmHP4-l;4(!Wr_Kw+A<2q79qik|2%6%q&!CyZRNiY?R>cu0FjjE5pUysst+Ov zrnoP5V~jK7cJArFRj-;Jyj8Ek!(4G!=rI@nKt!|MP+9w2;05@(ZOQ|9Tgq=v3bGa~ zPq4f}GpRQ(kHC|dc^7GQc45+9pLU;UWS(h@o;)2@^}2kmP01U4STg|dzW+zN!`x%A z`QNY9D4+O$v&j7)*Np#czlPMU9QN4|zq57n##5xPArRuzdZo6&>5GHAIxT}Pucf!P z!S$eL2b;O#u?3p%cUnlWfFw3Z9opI#VIXH`7OIqc#An|(d>$P5CV2&_OSM0x@HBRI zdqy48&z4gES85SZ4Gqb*lYF_`JeekId=#(cCuWGD(X++m{C zn_580qew+T--!>U4T}w&CJA_Hq&KD`S>Z}!4Mk+?DvVdlj-{e`V_x9&*1&>{*g*xD znG3{zCNtz>Cl2^FUpuT`B-r=@DZ@K4s&tf#@>mtsoq-)eXQw; z_ld3vf$i_L$PMK#p05OiIT|jYp4?*9vm6Oc8;z2ufPRexuWdKXo?|C+xa&0piXfy& zU{Eo(K}khd&kh~YRIt+VXlgXR9$oJ1o1>NlA`*_SuBMF{%K;DMk`=GE9_5AToR1WK zI8N!P>3L0<8Pah1?&+NPHk5~`%<<-7TMhJnkYurn=8szx1r?_ZLUm8750>MHh~xFIEbN}fqXlQsa&{d_IVfj-m-4QvJjri*w8ze!3aS36l$Eruh&aRg+s0Q ze0%W0EL`&Eb%UA%keNq7|C8o_MbO}_H!o)oCQ)szTlDQT&<*n%I>oF;%a;z47O8AV zX=Xdq2>c}rD^0MBXxp_v4ycXaOP1i_ykZZBn~^n)^77pK&kZphq7MVisJP+=BehH9 zD9kzl!t>M?W~Uzz%g&}=E&_SnUrPIG;8b+ASis^>L15PcqrhnX=pJ;?L9Vu$sw`v} z#My7|R~AY3=DD^PLfDvUF&$U}Imom!zm2>>57UpWRo=WWPqq{^f-uwI@Ry}&6`i1X zJGdx}wD((Mb?%gpBf!`8OO;$EO z|IGukWOkmU{u9jgv?Emi&%DVew2u18BTK%$OTLMV>v@uiS|r@jYp-nL&AJT5W^{QE z6>^Q#O{4uDM0z=&5N>$IM0G>9>|))z1XC}a!_tfxaRh@K1RTr6m_h>+`;LdOyA0-^ z=eN)a{Sq;)rEjmkh!QC)93n-7Lp+5W+`8cGh8#FBJWPl1;*s4IJxs-;jY1MgbTfWYD+lcgZ~pdTe* zrpgCAUC0-FlR4!c-k;V~kx!4|^G~}vR%T>LvZD8`cik3aEGTkS20b?e25<(7p?FJ5 zvE=ju0o>f^_-zj=eu45IYmUeii4;axpTDE}oh}RY)o6Pctr*=I@xRPH$Jd{LAbdG4 z_n)H9Wkyq#BDM&HF2eDvF5t>VD?{iC+}LpX(?wtmQ=|07UO^sjg_Q=9TUi}jtzA}7nKCH0wrV)>N= zJw#P}l^@lzBf?3XzTjMKysAHZT9Nv%iH6piGo**YZZ7BF)6H=CR}8QgG(`3=BJb!> z3tYiJ>jR7MOS_nobrSI}5kaGe*w`0`=Ll59Z|ma-s|1uibteyQjs3J_!Cmtn{!p{I z$cmcOO1gFKy+|KtSim-^6Ip>5NdW>CKp6H+uLx60Mjls~tz*2*s;W1L<)&3ki^ zB8W9x-i+*y9d85VJ&Chb8C_nWB~SJpBC6(U6t`*>x3q09HD~x_viV3Sro^IQWxq?| zGB*75M6bRcQE6RzOFk%u`?9{64VaEkEqRB?Q74?z_)%cggj6Q~B4u=DEmX9D#wkLV z>_^Y0b@(RkC`8ge&z@#KJP?Hn1{S>}&fE#Ul&TPFxhdj3Np?Vq7pTmWG`NII8jvZL z63Mt=TV;u{Vqx}#a^qFv<;1vj1J3<`!N=w1sWe)C2#4-p@CwrYc!zp{k9s1V?7qF4 zPVI|Q2j^RVM;<_Ie?tHFxe~scK)LgGLqhoL+~)lMo-0L-tbhA@ma@XCD5Vzz3^s>pbOW=BGpTuo zV~wMPTJ%%G#@ZFAyP=*`Z}vrbXis~lx7M~|Ed~%OtNj$D3IgWZg;!;NV(1lGeF-&k zL8SYfrwQN9oMB#r<>e^Z7{O<$fZL~(TYS_Rn)7`Vtq71Xp@Kkuy@A>IyQKY^z%%%W zX4$sM!VnhKDoXia2FkG&V1&o%a$E&S>{a_CalMWjtXfo64@eX0H7leQ5-dTQ>f$)% zm2oGn3BBBf^&5g{YW@;_gBkvk=WgAg$qH(6WwgYWumV6D5{29}n$t@H6S&|M`O8oy>?Hs3@8496>g&Rl2{=Uq?{;kL(qhabW~Ne`9=vb+Psl1BKkhdFnr%ZwG{9d^cGf{p0q} zX;>Q6LQb%X0xO$Uv%pISQ++@#q-jb?)^yj~)PugYd!pF6Ht<-{tbmOJ^Efg9NYjkS zHRPfsKs?cLM#$gZz8U|>pYL4|Z2wb|B)IBHiQb<{&kck$AKrDp9LZwy_v zS_I)UFhubL21I${0kX@3lgl#BwE)&y5ChooLDGF`0&}CWllvE>!Us&^O`;4!9ii(; zWz4)spOxbQre>yl;1?3RbF(K*r{Eg@e&ENNcgOXQ>Yfvx4C9(Kh-TYyy&y~~B$fe} z(W8y)38dD{fGn+^75hyPg-ORZR%xX5PvHOlQON8NXj1&L6|#i>R~V7sDBl0oW!2Ph z*O_R1wTzt9@F4%@tX&g_;YCMF<&35ZV~4~U4* zTn;nz-tk1Ah5^Gb-01O|$)O_rAvzSqcm9FOw&Csj=|oneu=eqOxBc<%R^Pgp0=Y=t zt{$gOSm8Eih6kC6$oMB5k@Ij#VzQBiZ!_RhxN_#aJrD!wwmz4PRV@yk4XsQ{bDkZ< zOk*lE&YaKw$F?p7l;Cse^Emx8nec z`x0_SympG>Q^uCUBZsMP{^~EqtH@&&BxJf)bRF{7)G4QwM;+-KoV?8&xs4Ic~ zE4>I_)AsCO2;+sKW{Mp)!e?QjurLGt1IkVt-|+niYI(pRG!6%{QRjIc*ahgTu+FE^t<)evu(hlc}1Z{U6|)`;E@uM-P5 zJ+Box={nqRKUq5-6-o~LANM5{6@r&LpPJP+*S)f|+bqOt)1YW{7+uMv5Pri1IIxLmkw0Z4=(-aT zAP{hX5CfLAP1lg)83YKQGY37P`Oze6E^?8ekrORq6{_s}5Y=?Acq8TrLg z4+Tt?Mr^?iq_Gq0k@=qQXB7SDqHY1|C5lyq6$bh1ID=d`Lwy93LyR;(DyGOmmxXot zDOJ%QZXdEyz+DJdas8vz+=0qKPY_1x`37T4F^GvE?cvV;G2&8LpFU@aL#Njo2P!Z7 zL04qzs$vcs5l^I0OF=BmdS;k|0^;v+|5E=%(ZNAVW0Q~qRS6q8n?=>7Dj-Sx=QB<` zb$Z$kJ{tu7)+sERY1LM_|CBgi+My`SX5(lj$%C>q3>?BV!YP(aX7gd0fL?}`n*%93%p^}F2bLN+^dux5r55;oJ8gXi6s=+}T0t#cUg!C2$$R^^D$qW} zO_;wiiXEck|J6fI*VQ1r>9)@=I&hfw@^BiUr;{aWE3ON2mLe=Zq z2IOJuZD_4DXe%QSM;KAc0s#lH2*nO6usJC;m#q&wV}cYgH3X4hu0?`G6>SaA!-1gz zQ(H*AK{*{=q6Nd{bgk7yBPjHXU1$Z$S>3x}gW$!}m+kxa$FqN4;l|+teT z2L0#dr6VPFH>oAYs5bMNh?Em5?M)8SXC-bhXcy9N7<4%U3O;!#_I;?jNVXb}&Aeqh z;(Io0%vq&Ys+unHF`Ao72I_28OJ|`of1MP}>d(h`c(PcZv{hcXN^mzx%TsUKhwEP$ zRcjS1xPZS%xH75&DlQ&mDyFFP$y1^Ux-u7FcpTtY*j%Tl%q`GTo=F_N_O04G%DyTw zRIS+Y7T3uwOU2mI<0n_}sU;`gN2WvK3!t z8DA>2Qeh=Z^~InGTQDH4m*RPFr|R#0lf^;*b z!FjD~fv#<|)5%9t(UjhqNP{q)L9PnErS?l0#yWv%VV1YAxt<=<(WqD_X1MxEF8LV} zk+efGY4Bj%sker4BFO_NzS2nia_=Muz^5(3P{1mgu|u4;UT~HTpw>IPlnr85 zksWv9<^O&&Lm-C(3e3^UyTO!c-BIKcpqkUW3`mEhbs%3VHX)iAR3e6I$&^v`trjJU z@iUHM(Tz&@xI$Af96-v9cZ1y#M6z~H#)zSSHEQGv-)UFN=^WI#dy;0@fkvbFTFD$C z!HNc_Y4xTcLN!vaiO2egh%&gu>z$~f5Ag}0Fi4@#YFZ##+=;H8y~NyvNAZ2=+FWi7 z8>So>*jr+|3r|RPJ*bP;Y4DzT4nWW(ZrP-S4h|H)XhAUyf4e|czQiEU_q|M1J~N@L z=Sg48RTl7x!i7Jc*3H>AMH<|?3+LT#C90_=qe0ZMTdcQ9#m@;ZR0lAo zaOTZEZ!)V3isoH)yxtW~nu^-mr|BE-p6U(8%SGvfRalz{BN9ru+=xWG3Q|YWCFy2= z6(`ul8s=r1dt4m|=sqX90EYBwFhNg|u-bgXYJ!amraRHk=fem} z6xfgsnJ4j=dOOh%lt=St`IXtM6w-7z_-O^>ay4qOoZ_xYW6c_LSQ#}a5~Qw9Wk44H zHUSe{t!3yFPO-8A@ImuzOyHJLK-TLLFZ`jV(qb{zD-+W^Z_9?LX_U2FqT;ru+(yjj zB5%|y4NiRMv$K^#s1$T+LT#d<>+O)tc<3S915HgA4a(3S;)H`?d7W#m-4W<>*dXcU zrEr+h8=S7$!{{9*u@z4vPCT!P`}lm71Kta}f&)(FIB7pVy}mmZL;+ACOOq*o z{HlJ1M;yJlZ9(Un)Mj45#H zQh@m}br1M7x>m}3Vy7`)G_{LK$J0E>b-!?sBMNVZ^jOa9h~ox4{!*@NZR#e7Gg^>6 zm&Q=WfojnVtMmcsFx4-;>i20%dg?bB9@m9T#Zu@f@`py>@R~`-Zar>q0p$)+LB?8f zvzeSUvEXP4&DPl<_7nnIB%_3f!eKIIwSjtgd%n8D+o&skUACx;f0lpr*3WNClpPg< zBjw6=EEfe}zF2U_ik&++NEN1W}f8x+0IYq(o#YGH8HGDVo@6PCaYnFTQ}VnWketW%JvbGST) zGpdSCMvHhNmuIIQv#DJt301w*Z!Y?6D?12gHzNyTY;Z;Le@0K0J|1dZ$aK7Rz5MYQ z;Pcx)i(x2DpI{-T(0r&>zh78STYN@uc3a;swlS2Hl%fd0r?%v;x9p6jb1#$dg=^yn~Py%9H=PdCe12d?Kg z>_2B-kMrV))b(Cup~c>bRVLd??K~r!+4gus338T5JoY=n;c7=EdO zbv&O)Qu1WcV)OkS&l%AV4JjaZj80&4`r@WLpn9j&@viNeuK?(?5>xvivslq+(vZ)l zX=S$y_*#M60Z4|j7$-yp;&Jn&HlOc!cSLTB5oqw@wq6PBP2#@?ZS{_eEai_PCXrw{ z9$=}&VR2OIlTd-#;J(2ad7pD?essk7^y~hNUb^H3Tkq!tWVTbsbefW20NM%ri;uuz z!A_8D9yYm5_KC#%u{6-Uo7Wd4AO2SQusnERIv|#9&^1_!&^R+h!X8G#JEdd5PH^-H z@NEN_`8!5AyU(_<`l0OzG#3{a=@`X!46+qE0jSJwbU62~gokeqMa|r z=oO^(8X$m&&QZILlj+?}C%E>LfCsR=duw`cCU;KfZKs*(cCrKhpG}M`_O7|HJzXyJ ztlpKl1@5<{H#1xNRa;M8Y~;h8g5QqH96;LnKML>}FP#by2<$f*v~S{6P$W|=$1V_l zm+FHUdZApo>HdGm{NY;}`OHWhdi3z8x#ADf1Npk2Okw8ZdaHqc7oGO^7)}3XuuX6$ zzwQQrm=hubaCEm!VqhmBi(`X#djFgdq5Ks)V|Gc`Ahv?~VjkN+)SD6Lq_EFAiT?0k zxVvF0rIzJ@L8MBD%GDc=fFa3)pi|j|4hER=o0IKLF?Ml_$_YdXARm3sTw_efkH}Kr z>QmGmoGf!2dx}48Gd>kvp_kI`azAR!vgvUWnijsOPXife{rqh8@nII`m%7WpSHb7EDkrR#uSuB_F(0-7t0oFo;#cc5N`Q5 zll`+EMd$;DRP)5c1gupMAWU6_GEres)|jI4l3ENBpd>~FR^y(_G^N?%jNQeWe?DI3Rua3udwR*v(` zJDF-5^V4N5kky)=U zp7RT~@Vp07o*O`fEWk6$#7w@&rB+V#=eibM8F;U4oq@U2#KK^^PK2^qlrOs**fC%0 zTc*?*H*I*z*Y`?~_h3Z_?uVNdGTEk!!C$I86k)`058MYf5KaFjpb`^O4N)u^twxE- zS3w^g0F=WSbt~FcZWtSg>-yQL=Oo_&^MIp_4IA4TUglE=uU)=n=pMuYaM2H3o^0?} z2Ysj~gD*PaC=136_1BZBA1sK7k<#(o*p@l@T}E7A>`a<| zf;l;wf7hGiEGGvV=h@gd$TvFrwe}PbZX5R?^|nM;)uB&R2#PJP%aIY&Wv&`Y6CM8J_7mggSzW!OdzW#9LnbPZ7%L0>G(2|llYp6sr8R$89sTi_80ZKGjM!*riO zT1KDwu$ZxhmF*(VI}>D#_>ep6hD5_BQnX~X-jzTCH%4@%@RmA)9eg_*7p}cVlx&Lt z=Cbdf>aslpZ07~~vau=V&bt6o59e5)%t6N}6wR6c6qkER+*3Spw}CD1%gpd7IsYHa z37EGcIS(cdtj`sQBGKNhLGjxfbYZaoF0Tb{ygr!c^ja&sgFXqUOS8U?gX_Ju4Hs~7 zh;3%IZLKiv6)=In$7|r=)Y$J*8JccoHKhsHbO8>DNgw!Ct4ZaFITMg6<>jgfJb18U zx{?R7ku3w)>`U_sbiyc8;#u%;A43Pf1R#jN{?VAu|1jujr37s9_Qe4F#|d1^Zoong zScjlqLsbPD_?pqd&|v!RYD&D;$ZE`LjPIH*XC2ThY-TWe6jTvt6oL*8=1kdeXS*W@ zs8u119N&}86NlvY?0*iMDoL16RX*{O#_U`^gJ;TT>%l+qnxNPB&S5k_Yy$r7S<)+7 zmB}jlsF^-_GloiALz|Zf)}OECK{G(r$-LL_yM1rc?Q0+E4CFr*=nM-diC}nRSpU(+ zkjdV_o|twjqRtYO&^yAW9Q1_piJ(v|wN)Frb7vNsnp6aAz_tx^@Zet`BWiC>C9YG| z^oZ}&lLI%vR^di^wuG#c#$MYCuCwj?Y z_8k{Dkwm{Q&9=>ucJPK)w-j8Z<=5`0dnVQ+b2ni2AiMzS z?VLJ%0e@!^Ao$GSkg#OJ#u1WiUB~E0ARA_-{eYB7=e!DV@GvqFoWFu&(q*-LTj&va z{?i{s*$z8`leOO?OZEwxlxOC3FFroPD>nBEPJ!~H3)-F{#@Pjnx)sUZBR>sXJL-{_ zQtUD7;|=^3Xydtfa>*%JqYPl7)krLkSwr~__;9#tpY7j*1*at;r^4dd-%i-SlRz&c z&f~80fv234aO<}Ojx@ik(|zw&vYc`l(JoJzz!r&=>~kb-T@$ue z1ORdgJP4(>r$1z^`_(6}(wNl>lv@Kqp<)E!?AH(QDFoJ9h_4Iq?FZw#GaZ383cWw| zJg0)islt6DK~xFL!luAR|PLj4AX}_2AdtU3}OQO>8FWbwF?bN zC@yDt<5|>#UC@!K>BDXu!fqVH-bU-t$YbzkQP^zpnc$dN@SN%I#0y`LNP63S8DN)Q z8qIq;wb=2DrQkFCC3I?-@2$8Gn*I?w0C)krCz%cww%?C6+=~81HX1_EVv;v_n^K)Y9q$pg8@e7Vo?OdMHEzd;tg)y@(h6`-3RXUFCn`^FTzVbx z^+j&X_>ewlm+DEd1kbzb;oBwWpu{nNU1r~8g1BG(QlSN%!`LGJW@JRL@`7pcY~UDM z+AN5!paQuK^43vQ|03U^=1L;^qAN3k&x8mseYaryUMiF;J zRG%h}r1^i?elfG;(=uTVaim99(HCo@%@XmnePtL7U7(#szEMMPMDTJN`cp0ZiXf0PelE>`+6)IaUF?g z^zeK%m6ez2U7i< z3~XJDcI)F9DRsG_37D4T1BtyA;`{6$-L*xpWs@*4}{my^$ zYuhA-Sn=Q#=3NNM^oc+V*Q;b!Mq`aMtA?XwUSO|K;YC;!HS~0ONXP8!q!c9tWb&lA zvDGNbDiwtbt+jtzH&>vFM|Vz9W@g?D)tgM@>M3)`OF)P#(qFsrxqX{s-?+AiO&kMg> zzrCDuO$6fx7u(@TCUE}%ZM(*TYaouut3YRhJ;J1M z+tW>xEYiuY!4Yg?yNt@pA}Dw?@m04}%1bgok)N&pZcI`x2 zt1x{?Hd}RMOvE1eLbTz@5pV?OMEbETqCXBdkzy3XY49j7n2UpR5!O~7&Dg+HI5vqy zzS&6PXumy%YK(!5n|8=_VT!VhxOS2ek+~-pgfY+(+KwBD&k*knXrj9lz;TL6kxA$X zyo6+V(T#uPl7kXMeGtCpmT3mc$@}1FA!{|l0P)y0X&EBuy@;jOX|)SlWZJ3C08T@i zDP!F_mt<%4twBNdc}?t_1T?@5&A?sn5_j;fYN6u}H7$qjDrI&+x}by^LwS6Sb^OUDFhfl&|+;*2DA+>PuSrI5BXBpmT;E^S>PTX%4Hdk za;f2KB;qPZ(Hwj&1~C>uL}On0ry$mFK*BGPnPi+~k9BQM{)11A3VCAz-`=tTU%2VF zT3Xe!4god){W%Ul08l`#9Pq;Tww5Q`i;{aVCqb{D4x^jgk&^q@x~3Efs41(Jh99yD zCW59BLovRF8QO2b8OVxQ-yzbx++0&*8Y1N+CSB#>We4R%wTnVSrmi+ny~~<5SH`q) zo06_#J)o&wPky1hbSWcVyXrf&B+mokq1#0PJKL*mta)Bnp`wzRDo)Z(a4f$347!&1 z4i^UO{M+pD1na_pJli8#jpL4AljlB+n`b7zpCs5;h0Dd_+F>jb-VR}DGg!mtdRfb? z%ZW&p%r%)LR6jRi^n93%-Mn{_4)Y*qgTWq_TJXqClpIs|3X&4?SO|QpzzML-wl2Od zijc+J(XSU4U2yT?2>GHUo(7Uy0?g@$5KW8R*`UCi)wGKnPC+7(%hrC0w%Re(_!F4f~(ThA?G z5ajnsO=yp-9(R`-3DRl#HO)4Tu&{LcAnP-5GY^4>D=60c1K-wk${m({&!*;H;??tk z+&}o2+13NKt&@^H3Q&Fk9U7V3O>d=lV1>gp#%08nO+^B!s$i{%VY?P`jH7>h%< z+?%VP?+(Vyu^7PlJ_?|C+mA-He_z(h0Z%y9_t)?`&FagWHw+Cc{ypBzWerEDoSKV; zC0f6KXk_yRBElRiPA@;EbjWKi1k^54oI^{Rzz~CJ55Q58_~NsY2^s4VKANrK7d;J6~VIzR(5=Iuc9Yls(2XZk~x@d?DO_i|LT7=O|eCRdLz3lcHuz$04G+*CCo< z>Ulk4k5v&>^u#Sq#&o*IVA*#jA2{rfMUi-OGUwf*(ejLg2Hg_={ezlcE2{^WoF4GJ z4gktnReb3>j7|O{^c*=WS^edz*B8pWFQ;eU%`s)-kq~B+!8I5jYaCXf&7M2^Qfz2t zxYy>bSWy_uE{0I9Ooeh}t0d0D{)-dOAqc2f0-f|Ho>ES#hYFST|I-*ROAuLY5^Hp> z*c-e_5bW$8xW*L9r5FAU@=a?R7aaQiC;T6QZ#3oyck|*A>VSgom z)m{;(Ca?0XO|rS)n*aU+rB|aK8>XNt(^u%Rj91@kFJ;4~G6B=IY)W2qYCTLv)vt?a zxEFxh6jJ}D;ledcw6D3Y@j|1jMsi;g99`z#*wNUID#tgQTMmF|o6=h#&mn$|~?o92w*f+_i0 z1@hB^0j=(`JU|S;PeZ3UT>j#}`t_2LU`%#L^86dvKJ8mua5!nAaJMp}#}Y7U7-iD< znRifBw-3;b`%RpJXv&ifmFb^Zi7~+G{Q~cwEweLlz)v+f`l8YKYx*%zf3^M!IBBU5 zMw#bAXG)^w5W;G?){2YW9KdlN_lIS# z4p3eytxs3DHlJ#E^gWfLGvYs}$gEw&xtENc|!aR9JekD~| z|DFo6#NcdG0+iw(o&_bMMwu`aM2cfqL>@pI`~+X5FkK%x>6DC7s7JVgZ6DGnnNm>L z*-*e^)Amg=1o1yY8qN!fW%TF#>y&~wiEP5N*>YLrjtHjC6~}w14JFq}ZqeK5SGNG| zQc>d=xXGf-g~!_VlAT-%T%%&kU}XnI_M+P5VoZc*q0~H3z~{Z!QzHu$NMZpvz~tem zCVI{#gu0pENe+h+@C;OpXkISm*+8o)L-mf@w+7;=?e6fX+Ml_HnS+ig)?&04(iDntx8n7T8W?j}}oYkJ68{c(W+tp{}KAILs zje6Q02#b;Ipu|VkvkHB^D@z=H^L5r6kkGU@m^x!kxJ^D}fyDi(VPLl%I!_3GLJI653fLL4SqMm z4{f_lvJGWLVc-tW{4Zd$nmT=oLC8U;>0FVa*vTp$3PIQygwSUk?^_QJvN|^j(o9L3 zzWBP1ke`FSDqqb1rZR#bbO06F0+tG4AYuBLTy?|B>OoFZ!?#Q3dSOTyzoVNEnVq93 z<$fOp*)g1t+^e}*UQnP^lBL}=@`)O8Ln9{0!?2C~tP>&CBi~+dr(I{c5S-nTA7TA0 znGB>78LPt`pCO+&Ik5VHx%-8z(_jd+*L{Qq=Lpre=(*J!tflkC5Zzv`w2Q9^#F&@+ z`a6weyHF7qx8enkaVC{*D)cG8_0Gf%H3fgo-3$fp@kc?<*6is~|NUPLR@hsW%FaeI z&JQ`av{I@ugM|=T5*-6H*btOdz8fzR>kP63aT2r*WQv5a>dIlcJedqzp}?XWUybd^ z7X(@KEv*aq$~qD*)I}k`P))U6ywPbzU?&wl6Cj1BE#nPpC4djh0~tpAuto!JGlX$m;ypFyBbO~yb2_2lr0#Q?s*B_5Eliu6jT9bW$ENgh@=XD#k<& zb<X@7k<=#?>**$_LTB}mRoKN2_DQf7G-#N8jO#fadalvVYV(z4 zCK?;evFl{FfbU=4EG-A|BTWn{DhE>(tqIC)0OBR*99K`kUvxk6zN?rvxUD?bhU6ll zTuGE5>3v6(JL1nxWB#(`#*OSw9ERt7!dA1lw+qI)F&J)Z)Kl z*vVP4YJ|zh7;54`Q+TQr-R`P>A~%YVKS(tH^kYGu17TVhfLzh#= z58Q1&TAz#3_&Xp>M}$} z(SYe-EZ>F_O5P>gjXo zPbvVf>`uDf(8Kz0g(7U)jpiO0Pm1^24-Ig0bU z1e;xCZIi~luj3j&adZu*VcxpP`LaJ@i!*5Z@;bRj<1WA~o|23*l{D0cJI{2M zC(8}`W0BjtY&1xcbSzYAoK<%47|IR*Qp`W7$edI}VPBCF&ewhTJm>P;Cy7MaEBqjR zA^JRL8e%QIxk)5oS9nOFSU>}i_t(eU-;5YB0qQ7T$T9ZPpl(^e$Kf!7wkyUNK$@k_ofAc zw&5UYxn}Ai_D~k^X!5_3oQ3xm3itMkG-+5od0B(*BbfPNm`87n8e^{2N+mjwMOFH5~h z0J*+U#K*4a6Q$+i-ovRaisM)Gvw>*s!9%OQWW30Drtepq)SlqqzBF0&6Y%xrhE04I zl{5?-K#DQ-#bQdL(x6SqKgv&zT(rM^pdN3N8U5rS!0Yvbr*s7=J-o{*O1QqvX@9 z$`L1SCAhU0rrkhJK3UX23Yioa32{4aQl>UN#Tg91W|j!llKipw2ofvh)f^l42-@)%s0T~09G^Ymr}Lu-SL+LX zuDI1HC`mOND(`l(od6|wjYe-i2_I-M(eMv0dUp<;D}eKn4{gl$VM*S%1BW6n^7dG` zN)&xbKjkqR1ps%4(u!~K_z4*`w9smIrgC9t6%ZP~P2Q($A|=l80ez}!zWJ?2!^dNs zX+_{;t?8kZ1*LYm>joP~s?8VUc=Ia28LH|KBSl50ZVm16SQ_09KDXxiwY*sMvW4vD zrSAqPy{2_-v2Pa6h18f=?B?~%m{r+#seo@PbaZt$q z`RRGCJhf-LO2N&HfVXNXEi)3XGV-?i#8A?dD64Hk{SS6lS`7vjS`ai1O4*YW8}0k#x>-% zulk=p17)dNs3Ox5i!j!Ex+?laR(G(^OpYuZU<*y0YMbuX2P<)3!UB7yI1I=#%fd;Z zT!cpJh#WNeBPz4?@o(y+kZwKhPoZxMRw(0-D#OU8X{Hn>Nfhc?lvbhdTCIlVh7S4~ zQVEl>c?}0jZ@mtxHmY5qyzjS=2E2G$Rba&3PKb1kure~5>;`w%wrt)7Q!zzpvjBD>17s`V0$C^z%luXK39C4D&JGIe{gkFQRL+mHNOo^8md<#K7+bG1-7o2>-$o86Fw6T#pZ?3q!@Dm(aR~iX z3Kn~VNJ9;Od!(Z}PTEJWKQpnB_~dleJjEu7VI_A+NPletzeICnB9IC%o!>%S|B}>n zyLC!jGnZD%4YuqgS;iMS=iA!6Un?+D z(nIq544;q@$VnDKjpE*18Qh4coM|u|=X>tI-o)IWO+1w}(F&B^Pz4;+`tkU!eLOtd`9Q^EWOiLPUkh0UV_7 ztQD*0X5a0ZvEgN$RN}pfUL(+^8AL`3CqQbpBN)VRYq0E44-*RqY<$VI&8Z>F&lctJ zY5>Jkx*uAm{)@49iqa(Pwl&kXZL89@ZJU+0ZQEICTa~tLJHNDTXLkL)`;0Ss_vkZr z+(cZ&``$&wS}W#!rd!!J-3`Dx>*gL?h2K*y^G;Ya2NvL9fpO5s5|xMC1kT}5{XSs` z&Lpbhe=VlPSm87r5#ZXagZHhhBEaQ?pP$ghhr58u9GV$J!Q`t2t|CBM`z&?B@wd}6 za*${`26u?kkrlQ!>+l;#KzqV3p-IK-r}rFQ9lDbFi=4yYRE_`~grzhtNZJ&8QZfj%}D$`XbFRgGqEUikG+~oa?o&)U~;lNb8>XkS1 z9KpO@keY~r=g4K<_c|NQi^-f=`&{z(qw~+D1*aEfd?@t`Dfojmx^pZ=4Qi5g3!WFm zV5XS8Gp?H;(YC}&eV!>lYDm7?t3)C47vby zX)jn<=S7pWW|`Uf!O!a&$c)Nl2;AkYxAmp}(N+Dd7jLz+)Jkx~1R%8KA<|(#tQ~FC z3Tdy%c&@dZEnM*HHIx`(gyONRFvrD@{z(lh7=qegwOrTQAKv;*q3udIqYKN{V0eq% z!7egcN!{bGtUX#QzLctudrS?PvfuE#65!6j>qCJlb6vY!Fo93if&u(<7uilJu=lHNn*?!e^0k7goQv7LtH~ru{7j@*W zrct;4#SV%Vlvf~lk;#!kt#>}spj4bjL{pQ6M7U?PwIgm`<3txC69QkBl&57Or#n(ws)XK5A|smFHPUeGtUQKAnnRM&R)d_6Z=-+GB8(L`zp1wD@Ih%bI{NTEtyF3;7@hcO2Z}U!UjB znINPoGNfyFi<||TN)DqHKJTV(p_HjDuK5*6KeH16l&1*v?V-Y-oRDw6SVNft;k!G) zVEAs?l*YvYkie<~$$8YVY1A4l@YE6Qw zAm_@b9>9odTwRGVu?m6bbav+wmXjEM=Ac`0y5TsUFV97HgQktDuBEW#F4fS{k;Lpa zmhuo=8ir=WrxHsXSf@rIcyMPtEHMTBYIr-8qu@RG{-x@Kclrh}a^L#8>QdN>O+AFx zp&kht=>DQn^BzB+!^PLY*wyD<1z*z!P(Cy?6j}xMW!TAHAQ8oJIXTpR*2->}RoW@D zZs#?*u9(HRKLuteMHB zs!{=JY#ugh!O>CAP*F0gj+Z`Zx|8Ddo+-?Ee3`K2i&;6Mi*e&Y&O~qYuEyY zUvoe<)y9K2u$tRkJwmD3{JMU4OuPy;zlTwL-tDwPD6O<=1;vF@+I_MnitiL<1*HW} zw*>W1j`n^4$m;glBM-40d(1Tv*&nr5O>qw%;XzgihtDUKE#Z_u00t zr;qv(Ze?~~&!Biju#+Z$xmsM^oN4>Yq}WvT`pJt6d`)sYpEv`X-q$>vUav}ifd&t*{t~bV;A%MYg1JK> z=FS>M$^ivQqu(gD7-=SklXH<(fHJu_;TME^$%1c`~}jthJfX;hj?7v7k@Bu{_eR>{-m zwpOgCq2WS7k9SjHC4_c5#@e(i4~FK#6C~PApEll!G;6b@_J>0< zv!hd(q#~GDF27W9K+-Z+oYd3U;HKV@}Zo4fvvc*WK z$iDIIMJTfb;x!JO7i4jQWj79M%TgqaTI@pqKEOz7@rZ13Z?i`DRmx`60@Jv7@=bSp z=Kw24WXR^oH4k#0*>z!e0}Ma~q9339BxWIT4x(&FZOU{o#(pM{UQg$C+hCX@E%EFr z(o>A7N2_q5)CLMOnhq9Xg=F^aYW(a}W)D0ZZn$rz9I!xpoygcDJ{@kqgw1)C%IRpF z?*gM#uP-Gnf&gC}D_m@5Ds11R?_|NK!o^BZ;7s9%G=Uk)<xF|LUTva>i1jmRHKj)mM?>e)PDl-(s{QiNSL*)K8^*GBn8#B$T@fch?rnW z*rZL2oWnG9S2s3qi`5P3(E{XwOt=42`zRv^_qqLL&L5O5D>81?-p-Y)0Ir%s23X-Y z(OUsuG}@_~lGNHvyAlX^{% zc-JH0!a>nb6b$8#XyZmTx`^hSo|3x7tyG#$B~~l={vvxUuXJZ5(<}6~u2d|LIPnM% zu4vcBb$YgO740=X4F(<+uhKnCj4~{bUm&TKa-(L{n`ACL>`nujc2+Zk+c10rKR-^D`Li8!@|!6_Q8mB)NT9q5jR&b>)1_Y@(DAsxHmQf~rQ{ zJPY@U@{0uk&*6yj3EO%k49U@kQJT88VcLS>+_Bi1a7#|c99>$F4mgF{w4HPky-YC5 zfOe6e5x2K>r?U`xWRe8!Y75Q?hJet1!icXxCOP+NjM-u+456c$q|pi)yw+kY>Il;Ek(0L(y-qE3-wjfnu3pTlpGJI@Mue_b*QrfhDzn$#<2Ta+vecL%G zub&G|jUNqQJvQoqZF&*9jo336TRsun>Zz#btusb0p6X%v^ z4rL9;d4C{P9?h#C7hU2UEG`PX=zQc{uvt1lZ!$F{)VXyaTbR7uQBCg1-!2F=N9^khQk28k0!#OS8O6K;5FqQ9y{>N1i!H)xR8*BhjCCApO& zlFx+JxHcMUI*q9+r{J5NoAg4|&$TwVHmGT9=hT{?-Mrgzazp$ zIpz4w@j5G6+rjFQ!)iGREg}p$Ds3Y2jBeEz2WPB9^Ol!wc-LruBnJ>}srM~LxgTyl zb%KB71ME(50X~5?o7Fo@LiEw^5UzGvjw1@L_6qxNTaBSWSZwv-K&;UmWWPO@7^aPf zk-UkIyIKeg5=M*|)y}Tx_1@!<_vLBvD%CH(2?xWL@*p9OZsdSxe&sw8c&ddMrd|<7 z}kW(p;AAvM>)O`WAtBzoJiM;1BB-rVZ2i?w`w-Q7wXbUS_hBnSZ4L! zj31W*ueAUt#kztz40ecp0$QBAEsHFtq=8y&!6&a8>~H(z@#j=~Nz!J3CI_Ev9FlPj z47i)v*)Mr+qdaX!mVx4$3X0kN39%hh==X)2FDbQ)m}FqUqWNtak#h3O;r>TVl6fg4=a+gSlBSG-~Lr6Wa=M z-+!;!??B*+HeU8am2NcLB94sW0~o9V>~sVxDl8;UU2H(0-1c&iy(&4&(feEoLMVpy zbmlDmzUuq&2fSi3z!Prp&SM5Vpt2=m${CHt)zNQX4&%Ok+BStI7s6ilc=ZQh@WOh4 zw_8{beT~BbR_n%vlj0ldKV$5EwL#X|=&>0rxOXpS1E9EG*cpxvD@ra0-crATTfl|7 z%oz}2+gvZ@gneYC!$ZeU%*Z2w`?jS~oR@aiv`V5P9~00U1K*el)l3G_^!bkn_D3lF zi1t@ic#YitS*f{_tC(-oV(((}_6MdZ{ho-LAXB zAw-@FsR3$iFLp*sDep?sbw{_QWY~y2w}rP@tUOu$@#Mokn<3qQjSI$Uk$@lQCt`^kD_LH;u*!~`_0 zC#-{OSx^W}&V8pY#7Zu>W2BhaB?H$Vbo2z`?-w zA4}gadsi0+SC{`MBk4c4{`Y0%|HoxEMwWIe_O4DQX8$c_DNvpEdiNjlNADlVdmmuw^bVN{&Q8fsElQ7mU%5^x82T|Ba*eMk9?k`NK9RbJiA za@7VXQZET$ki>7qt+d%w|7r{ynunVG@eM%%yuQ2ni)3UzKwna&C1-N{oHDk)sqGRu zqLKxPW(1U4$po1>@fT|vv5!be4cO?lQcdh)Mt1)uj0r95f;Fr#4izg3)H4198ZZa( zaac;Q;&0E1KSU)mb}Rp|KqEDRb~s4w%<5j^$XwmSdJ2Z6N4BdQ89tYuW?CK9`C-7@}O{ID|;L!Gf5DAZQ)F#c$|O7m6p_1PYwHexm^>Orb~C}JmI;@W_c!UxQ8 zq^20TaWr*KFY$ zPjgtoW^nn_Y22m0pblFQ4=t!3-XpHL4K)v=@x1UyIP>*VU{^e3c|vNA)fywJ1Gd}O zXVAYLQtY|K!$-pV6H9Bw%`fL7d19}OUO8lU`Eqzry+aB&M6uf?+xzBeQuki$7JNsj zM}DU_uksUmA-Y_6^M-v#s{^8qkJua8g{6hOVP!Aj%ik^LKs{Pawl;9pcK(X6O)B$f z<=!x_&Ma5p(^%BsT#9$ce!~C1NkD|`rhUWzAfAR;KtQzr(`V(s{J71Uw)O{Y$luon zOq6JlXX=TI;4o-zi=hV|vw+D-5;u0aU>6~ors-(1N)+_b^-2F5II;1hLK}o`H%CmZ z!@<2NhvPrU9|B*A{(SjAKrn3HW{FYnbdM`$E!RHSX!{$fpgo67 zQUf;}%7OQU>%^ou2hqStWQ1EL4WsQp1IxU8)eRkOCyXYUG1ZyD)67Uz_JJwedLzxK zR(Zx)au=+ir6x3Zhs8)9q{R@vF@L0uO#WOd{{>Lh`$7T;zu$gAzMj<83!=t)BcYlz ztC7S{sFe+zIF5jh9SBy98l^B268;_u{bdo9z|{4E&`%LyR!V1HZgy#kfV?S0hmKus z8?y`*tYqKJd6H9sWFb;gKSKARKl53W5?|(ufR+P?T2z`FkNN$DOKtCr` zs}kododnoar9!UL<9$rsXh^ZeQZi zvSI3O)9!mZy?1iy$&fpCaD+aHen?(7c5{rgCp2>L1MQufQPABD0zuG=N(^DoFAUP1 z2p;fvp23w?lw9ymb1U*lr(i|!>+`#;3|j+F_w<+W{hn) zfAQk;P95bpx|}bY7tqbn$3Ms$Ua!!ZrGV^t@&ZDn3ms1%e;WuL9$xl{8jJpwJW2fc zfksZ;0fmom98>~U2YoC4mU+MQy;Afr(^l9x2GNvvGU-9SLNIgU%(C~)YFBLzp-3$i zg+@%OZupb$JU0{o`ozH*wAoqEe;)a^d@^1#z2I64J$MJRmpeN!M-j3ZfXk(yWRAOO znxl~zHA;xyfvm=jOx*=qrI0WVDkbjM5L0b#GOGJm^+>9W_{;Apc!mJ=7qEPgVK60j zA;*TGFPMd4#d7h|a20g{VTss#6F~cKLVGW@#%Zvx^>E65-5%Rxh45wNq+V1u~oQDQE)Nb ziY#Jt9QK1}VgqLpTzQUbnAX?}q`X$jTZLr36@FmuV}13u)g4KjGrYV+J1lY_OdICC zM-98HAk)FZ3ZkSfbhKVE-Df09xE`__jaiVqq*)I`+vb>^Nu;Yypf@3cP~Q&Gz-Xtt zH|<2t%f@yT&7Q0m2C9CLDQ=ZBc0THyZ^kay4rvuW>=#3{v(X&_bkYQ4gU&ppOAS#Y zEj+Imsz-wJ-{LMytD*vd?}+w{{cOLdPbBLvuIRP{G1)iV&YxeXx6iBGU%vIdxoGfU z-*nFV7bmLklDq6tAF+^e4|@u}W!L$_-I;HaG^Se~qyvJqyO(M{e$&K7M2wFL=Fuqu z=;#U=Ho^^TzVM<{Ju)C+{Qv_o5`TLxe28Q-s^l2%h33&LG?)zxIW0Sr&hseJ;|&*T;cmtyauUFELfc%&ZNeVl1klqok9nh>ipy zkN+CB)+;xj#BQOB7YnXGw(3vAq<&^ZGikf7CYHFos-$cutWJ=t)ChWLN6%7Lx(Q{Jg?g{) z{={tSK$G@z2ktYepn9Xw+dmLK-f^xGzoh`V5`gXE99WuWvBug`)%sk`BtBO>RG9 z>az=oq@V@7)jKDEsgx917|Bl?G$vR~ ztcyW?7KCP}$FuVFj4cN@t7X!}0B;z|9RLB~tn7?u_r~E=5&BAeUZucn7($W*?jj<- z+ks_E$`a!Mv-FL1-TNby)oTS*^M%aIcRro*QpTz}w+x!7sD&hM87$s~O1ys(xw~}?-J{D0YD2>|uWxD_5N7&4mZ7J2P2MLWh4fKaH z^~Wx^@P~j5Mr6LKSSK zh}D3@9Ez(s$(%!)Ao{HSn|eA|uP{1oV`)@S=$-QjEIGE=GZq^Tmx@BR{16(THqD#b z!-}nYmnr7Bok)RGn}x&XGSmlG<0w*Wy2XKk3G2r>|8Huurk7xOeGQJ}Or@EY>-Ew% z$E5l`pEsknLq{d5^SGoc^o7-CD8&!{uDYfL&M&jWg21R*)Y4hNfc~o2)9LnghGo63 zi(bdy77jmLxvW7I`PJX9D}IHcVn?;Vd@|X?qeGwY?U5W59|FHveKF;7zP%w4^yx2e zff0-Z5p437T2H-@^pZz{EuuaQ5OZs#V*62hw&Cn@v*rOLKk8Un%=L)xGK-gLRNG@5 z{G30EPlYy2I^R9tBQ~or*+xZ2{#S$LO8e6K(DnMXfKto@Rws~V?(XyVwX9>Ao20rs zP?Qe==P%~edq7Je6&Ou$dNw$ZO@qGfco)6!NLdoNp7qo6im>QXl18hz2}YRA@y=$e zdc?(uOJLN9W-Ki`X7#?^W{0zGb>j%@*XMSNTs=Mh!LR<#6xz-GxDWOlXsN>dOlRx| zZS;9eqV!?24BKrS{Ok8+aLrQ7BuQ}tpQj0xMQH(^R7~+99#>qeU++D4N8~zRs6J~S zi2qd${VRO_Kg|c}|EU_1|HlM%Gn12({co+u9w@A+A1Dxz!oOfZy8qb*|GV)}`xiGP zj^w+lA^S$wPErBIm^8)+v+QO_-U6m69n6bP>m*t$bluP?qGYw_e{-3XRKs~I)0ywF z-hTOq1#{RODL2%iP9?j~{4Y8?Q$rza0*#m$abz>R45eB_TYv;w$`XtlsBKv3Y@%^C1zN+R)Z#6+1?5@7zx7Ovp#P?ZdW#)c6QTy=6M~t^!ZKitj`EZe6f0hwaPaPQ8&cDe7612&k~(gZ z>zQoVdXB83)`+GvLoB74c4P=)jwzIX{@=J@M^>wGXl^COwp;$^j^6{%`K&^=i8&6Z zxLQQJ4E<3V+>$O@=*s0_1&Jvi!Q32)?)Tl!g{y~cm^MmxtH&i2P~0Hyw3L+;j$5p9 zWW1-6S#%8AX1F`kwRXpoSqXuJ(>;|S{}PY$&_edi{w*jz@PkjGif3>N1HaTov$51 z_KV@+XFhD5S_AvQwHOZ<>sBop537_JGrfc9>z`gwV?%dBZB;SRfq~KzG^O;xGDE0H zxZ6Pu=oC(*sB!XU&0|Q+-C{+YRONFi3muQzVHsWmp>*WX_uh5F&JvCvZs_Rvn-pGl zB{Cl5S3irO31?tIMcRFEeJ%9#078kIBIn+8Cw-KK-vXXjl-w|T8c_Qx=53_nW7oAM zZ-1_2-V~~Vdu;h&_dk-1Bq5=Q)Oo+w%F5e{g9gtvT3fK zkNrR)8Xw3oOwfED)_*xpbOZfIYchr)IG*&@Yk~~;D(unaMH`**_ZC!~Fh$N5L z&zWz_yqQO5mD70eh)t%^ZXk8FLPpFB^hy~2xR@b#3yh+OFEgB)Ds&HiRlE#6lu>fb z{TwA+ZhGOnn&crz@!jwl9&^vHKIB8*iXVyBFl74emU?Sp*bQ{6T_ob(YS=Xq8wqfJ zA8>a5_i#`ALAD_Le|#d~Eg+zO`JVs(!;Am@BKWVS=;}X^BKC#TlUEI*uFhCAm6RN} z&Kgz93(lF5PQUTL+oheg?ug_{?5I&oBFcZaMSs3#;Pjyah{$=a8qH_BxoXH0`+)vI ziXOs*eyA__uKpI;pun%~48$8T%^Y}gnL2VuE;ML_6%}#}wpwPxt$!3!>XXfnQeoGd ztA1Jf7yYFCQ-y-6i;~ku=a|FsN8`TI*}L^@;us=RJ&^yfV||aVDQW8e(05(+hW|8* zaT%n19n{ANh)YO>zcP9lj1@vQdZJ9{cY@Q_k(NgNMXiKX-1XG_H*1|rzO6N63Bd2q z^Uy^K5JN80pffGv?W8XJl77h#Z^>$U;Lo|R@;4U zc+(>=&`Ymoxo$Am+0@~CeZc4GjU&^}m(@1)#QybLGqe(anJ2@+mka4 z@ovOiK+F@_oZ1`1<}U)q?GSAp4;hyGI!L|q=t4DEwI~o7!y2nR3C4C@kta0R;0X3E z55l73klp@$CJu@rr~Ef@fN2qP$UX5=#$a8Aeo|=3Ip=pL!{l53PH%fVwD7r0!jZ;T z2qwdOIHdQ-sQCxqX!| zJBN&+XQ{JMHrjv?Pf>>ex(QwadTCJChCD{UZXlvxvVU5=M-XOspPgPVcc&<+ZV+a6 zvOhg$09U!W*93WlmwA7aRa)GgKF@bQcMq}rx_@_${uufTaQYoJLLouIi?u%BjRN7v zB3I0ZnB3Au#mLLD04j_LVh=2N!{$pgqHk%8HP%O|6cT+-l=!1zvjHF-oWz_`ywNg5 zWFMGKJxGx(NaASPooWtsXuqDhPKWxH< z3Uc-8Ueq7+||Q8+cSE{8xZjk$G`Hl*iFimINKjSE9>T1z@UARWk}X~>5VjRnG>4R z^lCIlDec`2y16;OX;mxw(C*0Y8|S_G74;i32GItwj6VDMPw4Ow2?uD5G=cTK9vql~ zo4m7L4JBOznOs;EV}QWLJkv${+o)!WHc_mM6L)E7++~DRfpDWewrBJBw8LdV7SE%P z*Jco!uKw2bEbQnT5;9bDP$@nM-GKiJ@7~GW@e&E+qsHUAyTHGJahQaEbFbKQv;Voh zy}Y{4jn%X0gQVdKMvuL)%O;Q3qVXGNc>dTA?v55GG&WqEXVoPmPZog?Y;+nJQA$E< z!-LhOaaY%)yOUbNs;}8qn7?wcOntLv{Z6O>*#T*lki{(c-MF2X!vwQG&F zFfl>X1U~8$eH^0bAbd(nxMyJL6^OXc4@%eBHLl6&NeI$O^9J^Yg5$s$1g85d7nHW- z%Pa*r8FtTGjFzg*^m3JI7NknRz7WrC2zP5JDFhSDgL8#HzmX)KI@(ZxBmqczrMA4o zUXg9iXU5Q#IxQB+TuVssF8QTqQmZKdeS8Jl*O#BC60-JtRdbrA=gHfdEN9QqU`gj$ z%1?ldnYsRG()~oT52sAA{?fnjle&y$-vnk%Mripl<$>}W@uW}$OZXU`C%zmgXGAE{ zpx;$9d#l*~0WPAltEi@+Dn7c%5PiqBUS}TYhaLms?|ezW+IlzE{oL-*ZD6N+eP>&t zXR9ae2Xc!QlBtr9OxfKs38W>+9yVNjFRm&sRw|YS=Pk(J?eDC~5kQ|{0>`wV^==M9 zgoI_MV-G{yxAI9 z4j7$rlM#Jl==>F#k(FeyGT>5ZjgXAM1z9a`mE*-z)69*xE$*la6V_Cug16yT^7sMf zj+HdFZ=bC+_Ohc;;`m3Zl^gHAbA0zzoS}8g!c|skDYDj;shObzP~9;qWW%FGo&gK! zAdXGJxkH4jp}f)!cj3*zwB?Oj4gMd@owflwpcgEvXokl25CB(RU=WUknLD1_mdHGm zXGlOR5y4WKcovK^!-WbpCAhSe%25V^O4}h(tx-7G@qyYGxSpc|Dc%VKkKI z-?@e8VZ3lD8v?bD_(GUKV7Dl4!X*j%V3sx@&BJ}!uH723R?rsss69?ulJ{d}wR$3R zf*T|epoje=ZnR@hNfgOqIAmB2Sd2M$;_AJ{9PuFtyoiX4_fo&!y4O^EVZRDP1j#qp~_ zHXb)&kqZv?-D3>bwK1WfrkRQ0c_|(1fg>WrtSV@{bgWq3GsLOsn3DE~6#ABjkCe+S z??^I!MP0-#0a9xiB8mxqXl6LN`7zdhB8CXNeigIQgi+amUq1yO!bWG)AJYxIXBPpX zN57bsS~L+xP@IV%{Gr3CvdT7(zH6=)8i`k90}xpgoMR1efw1BMX9Z0xDSiD>dZyAr znPCvxiVSUU6e`}{ z12Ee6qvPDkIhp5zQ6BS8eA6xH#?C;$FSO)jXzWs4F8}q>__f(6&L?Srm1n_*z(3tc zBEEp_u~!asR2;%rt)!`oV|_88sKVe-;rU(0L^U$($QccxZ`-P`|E`V?_@zPK51*E< z9eeKGy3bDaLdtVGhnaNEy}hdkr@()v^VYBlKOy^Plm}t}MD^rFF>6)b!q5_#whjcVdgLMCA+(qErLNdU_q3>Ipdq6R>q-3tM$s>XxY+I3`(J_Z4<-=*ff-+kJeebq!%ksxV>*mg5ORItJqW7DXcV}yJbNAEq zq=rH7_jjj&_ivL*>-s6N-l%lfVJ9;~cY?&~Sb8exJw}m{AKG@7Ab)oTUM7Y7FjXR6!}@sEGl};} zyMdr=?L*w45{GN;BZ$Qi&JJS$=0JHV;`TLd(70kIfx=C6c*hB9rYUP>~A`Q;)t#QS-v4WM8za| zqkKx|YY>p5e_$p-HcicMUJ=7`Tx1n`!9Uo}?A{ce+F_)Gd2=(m2~4dJR*26sr?bQz zaqAXJX^eU{H{3Y>yQZRXbX=ypo@_u0@|YDkZ@E~9sCnE^hi2J@q3PU`@-}@~7TQdb zAPQCq!bk!|XeU1VnLFKLxuAu~Jeg8PkYPBUahYT>zq+De(!vj`f_qkpQ{0`I0agS@ zeHU)HY1vyELUJM03*ZEL&q`TYkE(MkBiy2vJ__XXR6^IFDIDV#gclus)Vcp0!|o89 ztnB_ZgO9pRUH+5BmE}WVBz7Rkri;`uIjVc#tvYr{5Z^!Ma98glJy~O1~*|Duw(^0<9*o&HM$fNM91aC}UyN zB~?@Skwa&JvJstNK8FN~Ehp`g^|&EUbwn^43D@BG**V~M@F^Xazr}pG4tY}qppJ=^ zZynhKg@^?rR7_vvY1pfzIFy-Kz>4JE*G0q2bjuMJc~1RxkwhB6P-`IK3|v|J446)V z%+qmnZH{vGg(cxbp56q)<=paWn$S@((s5-hu_l`+2Y539X>E? zmp~+mBJ|_Ct$mWwFnI;d$MVWg0fyGD|+SNr|tbFnXCiId;Ziz)Th%wzpMmAE#K{0c_ld#(q#&VYkO(z~$o2^%d$w|DzA}v0$ecL|Zk4&mB4q!lTKFo7a~u z*od6T-NXax3#!2+@;Kv+HigkX>igMYSP5h|{)8L3xGSEVlOO4;V(2ZaW6pRUa5ppq zxN#R>++RAh$PHvH=UO<4AK=&5H@8hJeSvEji;rY+aWt6nNtu=7p50)?B4xlsd)h)} zX4ICUvN8}`v*7id>COBP#hFLMo)pT>ghN5J8;SEh{szUru?3b82<_Joc6IS&xai)C zXxwY2jMgL)k5xYK@V*xt+s~oT=hGB-v&l|1FOt+N$N5IYsv> zXo=-S@U`q*?Q&iZ%6>$qClllws0=R{tj8@}1eu2PBsTzc&6kvSR@ryTV1wCg6{ zdTS$O`{NXGcH&8t8KOZX*AL~X2ETk8Ca{pMUo+=aVd=qTvjNnZYQN{S$oos_+EmuH zCq#iZ3W^f-J{iy0!vaTZga&;BHMuw7gA@qxvgANa;&VCbR<6K%w&7FJ4yw4(3iM8< zhOKLfJlUM~E` zhT&6W#{IDCY{j^qze1@f1rEfOO-7G@%qtZpmc&X{^2dTw9Ms8Z6K&zoz4?{uA~wb0 zxb|S0GFwK83IE8SYw<;V+Qku3uofvMvOWhi%?_0`n!v1;m|vtxTjf1OBlf}V$)Cc$lV|q#|d%g>Ixc(E)PS% z^^yF9m|9bST(oLU7?rocZrS7HrM%DBv+j%aBS%CPgXaR%rh(eYH^}nPE+OP9>a%v3 zSk>gO7aTB5EJpDU0DmHZZNX9?ILR6>Vj!az0>KKz_SzxDzmlw$PZ8Yms;WW=?e|&+ zFQ}Y0>@9vq)5nrhzyw`qZXNI59)`)i4EX(5=y6oRN$JNXX!H=CM$x(#ZR!?_S&6Ts z_)tZA9fuAKrC`-2O3V9YE?A!RF`3yaAX={*ZGcY`(~{ZO#Z*bYO{;9Dn^j|~8*&^% z%NIGWn7(RL7&E~P{>kuev-gFFj>wV<={ynR5uO@uRnT$kU48V8*@lL#*PJC2mzc7W z9<3x>D@5|evXghPZ^LhD){F@@SHZETkdHRGf}PIPMwJwX$lS@rd456syiav(4Nm8} zF?_R`rYm%QF;FgD$@nUlr(9Bbe`ff}NcvymDyc59f6t%X803&-hEi+43KY>jdy0RZ zeHYkAAUJJpfv6WGf-V4cDOUA)m5sa_{|X3;NNhh($x^$ieRPcmrX>c#No6kiL0Dyh!#>SwI3+*!j`qWlQivgF}A_vM$}AvC*GM3oSUFTHMA|pS{k@g#lTBX~hZJ^9^d89lgGk z%QX7A_0t0SY_VF=ATO`@#g%PYxCNYD2mc_c=*q!`emMUPzdzvoxuvsbn!XYSCPpy! zZQm=IpW@c9Yb=_M(Bpxwlv9CJ)e$XDK=;TaqKsoEiS7kr>l?8sa|9YKoQeG5qCVM3 z(8sg2arx;SC-8UU>OQ082<_)|6sK?qVq3aA-zwRoP>G)dc|0~w=mQ(fdNU@w1Ds~{ zYR-5B*QyNlQe8;wWIi&t1^II)JWI7oz4((h&xg|9unG*UY)l-oLh|+<`qLWew1`~O z5D;WThDf{BVJ-}=XkG$NBjpn&DopIM3QcB6NYP_4#xYm;Q5=Lw%fJ;nkKhh99Am`e zt-`dYgt;vZo!*>8z%Td;&}h9ml`W4d1AHSk!B##d{-n49O5?`Dy!T^i2|ZviKM4B> zon$#-5Mj*S_c;&yXdk*Yqb$UgeaSWGLZbG71ipu!rV63@=F;-~Aq`824|s?P(@!wg z*3n%61|~0<2o?NB9BdRy`+-Y>iefy5M-XBv2^LYN1?(2TrFPz=2(VBxX{-WSoI0g8 zGj$~gx@CJVsN>oFVi`n}OBdY}J1xlFnf3G&#c@>CQk~<-E9)|5X?-Z`V!fSHiM%DZ z_>i4)7HT=CYSa%h7PCn- zak8fO5?$y=g6%Z=0UCU@y^#oM9b^-fG=@vtvSR*;8yyH8U1(FIr2S5g>0BAGwq34{cf{-Zhlzc4jQ zO~hIuXf0hWZS#T0Gn+e<4Vr8IBNPT&RaRdIku0c73+$Yrli!KNh}euT;ym;DdOYp; zk#k?n+VPUX)?x;C4Iwl)HGQOY2|ddx7MXUQb*L){7c}^zIN-|U`8-lhj(7E&{#!9! z*Uy(Sv4rio(O@Sdembg|tMB)v)Z7%6Epwl>rms@q1Y_?0F4cIc@&UOug%;x-z4*Mb z;sv6`y$8Uw)<NA%d z!smT7f3?Q}G^2C9v;Pv`rwe-u&?no2`}vMQ>2iC4yV&O2<=ylH^Wc1`(P@LDH@^Tb z?iBtb60VXBZA53P|7-1iF|Q}~x0T7V^;(IP?*;hg?X1$En)b@;^QHig)l{KWSH|*% zV66G=?DoiOa1nC#-HCwzDsP-Nefb^Rr*-*WWhh(E$F+BjII4P8a2JNtCd>m2hTSGi zGz^7RmZG*=J>zDGQcY0g8bydYI$an0o=R2UymkrqDZ(Zy#Po0IK}7|Po_u&qv{l5z zioOV-N(8k;L-wE?fOOgJt$p}{f>M|U^YAj~q%$*8VN;zkyCNTS33}sPA0x72-ZZAm z6g`8dK7F;|Zw<`{u+VV(18<|9gUfsj21VP6_qZ9@WSLmg=3D7X$Vv|~Qt3PDX97N# z--%XW_yGYodh8YismN*n@WkqOV)3jLk;8MPbZAs}i@fC!^z@!vd@s)f!Cs8swpauD zacX-4{CY}{T#KNBf z^H4$Lf>UmYc$%x`Xq~^xRM@Ncp;^BIai`W{T@@KKPPG0QMG7wCVimB8t;T3ka3lrA zZWn+m<_VBW%HEV-K0J0=i+%e=oU|P)9tG4@+Uz|nIeex9m)0B8PP^%t2reOcT#lO9 z+>_)cKp!))llYGX!Os)LKXzxIk7>dgfg;bkp%M8QjwV{9#Qg=_4N-zVv9A)7Vae^Q zGO-IDgdK>4zg0G z^3;L><7c$9FY{3=ze$=}EWEdn+O{|bBwsDapWo{es!dcc#EihW z@2ows6rUxnBnhgRM^#-U6JV9U)hO`V>!bB?AcU(Z0i}9dY{C1>7j${9)`hAN}WX5dFkGH!zAJ>pUj>czIWIH9G!X| zd^&xEOOH=)N_bGBlV6*jx8df8F@Q^#mXFOH*Sv{Qg9E1bRY`ID*Gk^GUa(&+A*f!9 zparQAx9__rq;nmbjyd#6&5!PwHZ&U^IHy%%9VwNb*jF|7l;#y zw+-X30oHX(UYqa2yVq|UpwAFN1l{om?rX16^H`$z+1H8X;E2yOjE!$Lm(2V#W?1O5 z2`zn|-r7H6HImH0MGF8R_p6CbUp6BfILluyH1pdfyfahiwCPDr(yb((%7`W;T)iRVI0ifT zW)`eNF3n(&L;b3uSMjKG;T>1wkYn^zIH~gGLBv>5ma>$-f@mOxjh0GLQmAXtP&oyh zb@o9jqd%T6Ylw}PT*8wgyi4N8qhvIBXrB&}FgMW0hwaS+;GDdVgrUj#mOxFVTp{9S zo2cNjM#V}O7$va-wk{2OilRuq0dDJTGVFb=xwDl?qNan|+OW0=xJL8V&@t)w4O(^P z!c~{ZAW_>F*cbgo975wB^5!gX-zJ9HrJ*S5qNnB~bm{aBtjB)r6}d<3ZQRzihXkqcK0yaTP5Rc}B}n_q2iGjhyMD< zKKUmV{oPDW10QlDLu6&sh=N4NVIsx7vlDmXX%YYPQe+>{SDIR~6aBOAL7u;^3g$GJ z8*E|Vq%LPeNWw0&w2+-dvfTMnL;Vwak)CW@3%gXRLR;H_ez@s!5&b8lyFC!P+AQt# zJeS`CKrs-djat+J zSyAP^`R|cxs`>A=RD(KUc4UfOr6oFk_D2CJ{W7A{}#tl=CeKlS=_5>PLp(2va*2-aTIByVcZ%)=utgL{bH zC)-MuCG^Il7tkLVvQvmt&!2Et`?;#y>qav}Kh04}3UVtX&3a0?I5oOMIe}z{ao6xN z!LOiE!Z6qPvG1s;s`o6)D2XdBvyprd;`>}0Z~`N<#}iEpXdW%#GWqxr)f4~*D|r@X z6dJocPUO(cuP@AH5+8xH6keQjfye`O%o`(5b@j*16Qb_D2m)iX6XBBj1=8B6Ls*T@ zf!98*ebl>)6XVsvP-^1|W8_#iweVi<72_PwV+ib$TLg(k9g!rj1<85+ zs>IsA`dW3sX*6@Z&C2f$Q2v3CCK@*(iA_>ge5TC?x|_& ziqysYT&y*yApbaU5$L|=m=o`=o^PJWY=WZRFlzl)ekFeZXLbJYUiIU#Zrm``hG*Xt zlvV7^7usstZe{E6IUPYO@zvDxPou_bN+#U;fxiF(L0uauXSe>+}fM zGp1c~fW|huNFet#B0Hp_-m-)4cABGveA5B4ux|}(-v^4Fy;x7J@@iq$k(Ek=SwR$P zXp>?)DaLmF4R!V?>2@Sht4wFm7GoJoMNp01aJ3+E_9(K1e=TCW|EF1gkz8G#A^ztU z7rL+HpglA;)VT5c$v^7fSKI$Ootd=H)Z*8u*GRGkonyx9W=MLj!9CEyX6tj{VPN&#$ozrJDg3d2& zcX1i%%K`)CM?X)@dsGJ$y->)Zj&% zMJMD#EsW$>bNI(a?4>!Za*@9M7-|bm-%x&S1X{f91@ZlD9TgyXDIz&#doSD8=FU&# z&3wCsb~#qF$BUeyCg+oY(vUa9KB+aBe(IJQBDj_i561kP@k3NWLZ(u8Qej%B(f8`9 zEmR-h;H&#)@tghw8MM~ci$Hu?m9D%qZFvQ&Bl~gJ1|po3r%OhJo`i`)b@&27j3_sV)rD@AQNE~ zvj)sjRg1MWx?)Xo$ul(8E37r>t3d#_K` zLzlz9?sMqe)BzwIP}3lE@dbkr{>N6W1+i!z+H=*uWiKYkM(3EzqrR@O55|NCYF)x; z;6c(MO@!Yxi%+RBWGkPos+;Eu_u=Dr+5o5jY3t!VvAMd=%X^k9DfrmnaH@{uX_m7__csu=`d>lt|C@5CY8(|6dBVw5Y}aMe#p-1gP36S+3a9mhfj zuk=3T;lQMojo5g%$h7_JH)+Sbm_KT_z*qQrDx{EnTA{m_Vx;)Y8q%9xrUvMf53icE zG7op4Rx)%a*_$3R0A(4dh)b4;(!Y-gcH0X*kvJV)2l!v0;NJ|o(o8Id?uXYPSGs;j zR2Stj(R+v|4bLZMCTlo#r8@@L`oAzWs)2ccVCJiAxU3qPnJwwJdg|^u zFftW=FZSmrv$Sp!+F^~!Ifu&W*QISl>pEU0`8&$53!v^a7CsUXK2LJ+IWX?uJ?ScZ zrBi#}6BufmEVhk^9?FZoCx&^(V!6MaSGB8u-fm|u!&TROD<8kkYjxLWkei3I z0~hhevs>}ZXBojS(lKgNYT4_J9T!sbv%M(Yi+Y=e@Y%3xo%KriZECse?w8?UnX_Xe zLYhNapq~i0HyA0E1%|>oxiyubCd(#4ypKAO65RrkAGR+Sud9eHYR}h`g4);3>(w-8 z4ZkbtvycPDaNECvrThBQ6d~7^Kh8?U{5uCYedltcpAzGJ6&z8Bn3(ym+7Ed?*)z@2 zBz`Z*lzNv8oKM0nRaLdyo)`5()Y{tyQyp*@Fu6k&mU7H9?4IKtMX4>q+I)yub`C*S*+MMEcI?pbw?o8*m2n!LF4BE&09a$|nB%X0_t)3MEBVY|_ ziqa$2bVOT(kj=Fy%C2vU3=z|)0-q`}j`qFU0a1|g&Lrh8BP%2)LYquw*wMZRA9ey4 zzJCn;u~U>8@aN?!O{Iy#s&<4pK{{qp#KENKzfrhE&~))p{#}Nes{>y_rI# ziUv{FgG9)jHn_MqDw7ee8xwzGkU}c^VpK9Zrii^q!a;JJ1q?NYaUc*OGjxrKh>n~t zb&3~R>xv>{fDm8dkA^+lZ}`*(m28x2u7kVI$&kP31n9e-*Kk)2dB%4Ao>&r=w08eN zy@lk|mU(AP0F4fmLxU?nWD@p*;4FvABVa*$km zC1wtgFqg)EP&AE;enb4BiXhjAt052`*cSU4bxaUCt*TAtN}(M|3zCjOfeisrQPCfw z)Cuad+#IPOBrXS6p=7K8fc#6Nd6Ne8R|-S2)hGY%E)qq;17~D?rrU6W(b5my;mrTY zE$@WjA9~5VdRuXO`oF>W)b`=p&KV51CkaopY%4wwF1#gfi_{eV9PqlHty;!`_6n(p zlbDRfNv-9xfEC65RlVUl8`jQPtho{*AW?NB*d}4T9aP1m*JCN~yPkyAaES@{GMwZ- zps`~)K-2t(uBOoVg|eGrE&aUBVN`+rsV5vg+n)3^5%Bv`=D?(;SeLb$QBRV(_RA$MVmlZ;x6>(zC*f z`q`?j@6M#jf|16gE_K+S{_2S^>+%`{BG26kn{|G&tFRoBvrjrz0b$DZjthySGL|>rIG$|*s=@2$r$-+uC~>)2nTLj^4H+d!@>})?+G*@yI`(7EE^~t zcoRv6tR*B9FYdq2Sls}LSRYn(xHuZW3*}rIOWKtvCF;r;81Mc3wx4r2pT7ZK^?`c_N9+88EQG{}c@RvR(6sIG=oI4BnJ*$^h!S3TfJ zosb)$jpz2`8||lo4uX@Ch+%J%p8!C;W!9c$8>1)ZnGPDn+m{5hNOH(jo-c$zyNeugmp6ko7%}vqPL3Tb5VgAtulvWy zBE37~;+7#1vyLBccHLH1cmv}&jrO*Cd$3F~!K^BHhrh=%nf5(*5}(w$%1x`q?S7Lfw!|7{nH;!%$5jv5JM8d_Ghp$~Rpsr+lKW#NRI_YvD&_cM|g<8>#$Kyt0qY zRIWA?ECs0xF(6rI^yWoG1rN`AZ}ubTBRMC(zrm@&Lzf{)KcK$K#o&@_-Yih#A6pDX z_r8|Y;*itMVl2Iis<*zWR6>erbKSDwg0)fCg}StIs!OfWz|rdV<0M&BC%0>@!X1lb)DIMC6m?os zOP36BQ${=TFS9SU!ufeI^SLjG-m(aGtb4^4x0a))s z+2jz74(h47qptduq18OzIp*3l<)TQ5qD6_-Qf61Xim)p{zpUkF-1wF!cCIUrN&) zG-}Gcl5@6U;2E1g%@^!%M44KdI)oT;~n1)fXm}dQSD{X-33d zSYW+?5R8;?QQPgog*Dd`Tl=hQ`)PTzzR~29MW`ul!ez4=eTs`J6`mouK@^0PGvhvg zJ+xIzY8c<(&GBkLi3VP{cO8$YO){ysdd%9;?db0N`)r6=Z>00(wdl)?uH2b{4CKQ4 zECsYI1#oJhm}|*}ktU+xE|M_V9Yl^_jX865QLM{tboLw3$S;1_HjH)M|1J4`hOw{!(xGr|7qQ4Wj$@F)R@GDt z^0SpAs)gL7Fpr9rHtMDMpT)C#CZ>@^QAg@!S}uC?Sd;-_MY8fbuBDGf_4%uDLCs?M z3SL1I&@9RCDmoyO_ISfp?Re6k zHl!GAEbqkrk_Za{jc6ML+MOBsk&8yTD$jb5DrUQtwNm?}nSImrNYj(5jsg8| zl|+`Q5Db#$wR6fKu5~^b2r6#$cpw_cGlU#z>Z9rTIxENgE7zlm#r2g(6WQGkPBe2Q z;`sQ8X6%htK@%znHh*(j>WdxPzG+t+Mj(Lh}bKuqhXqEhvVSntmO( zm|rO)=`Uk~mZ`Lv;k?%q^=AT59Z$XkWBQl{Rd@e`_rV5nbD&ou93OEyA#(Prkb)1s zpotbb$kBFC8Sx=wU=WV@5+j8n)y3|pW0mTDM}}DLYej?jS&CI%iaDIOXOWd45aoc$ z!Yrp=u?J&Zd+UZF+)o2PmV+gK)He?`p}74_5OUJR*g0N3T{HWa)o+9{Zlw;O#FyJE zRRpQn!`1G1pIYWii6flMYFk=lw?Pr1bcuk=7Kh^s*@3LY8SOXtdzRf^31%}!ek!sN zQr#5oH5TS{cj(KmE|G2420bEa94zlv!xaR5ELD@O?lwd+A?M=OM~3CC6x@YI4F1)_ zlBaFC2~AWMX8>i0g7C&Plk0)e`GL})6H?L9MpSu>G$=Vh(jh{>jm7~d5a_+q4F!Vw*>ooTQc|7R0w$0&9=m{DsRw4fy0?;M5w8|E1Ua??G>S`lQi8FYV-1N$dSuPMXvV!wcC6xoX)Ug(q-?p4{CJPp$Dg^#+M>&V*WCg3{ zb$^;GqM@qikS(9Jf8YM9TAK27Fg7Z*#u#}pAiwBs;c^H!pz5}Sy7vpiFjIyh=~qX7 z%P?WhIk>}Oj7#w8RZKdOgT}(Y60yEXeLrrFQXxAJV4-Ha@tTm1jVu~XHM{NHG{H6@XPa9_Gbq(|LaF*fCX@lr>4AoC^egtE95hXYI$g04o zq5hP+wMLxMLC z9v(fBWezArD;^~d(hlh(bNv=cX$2F>GvP(SHx2r~{lg(f2;sxh-5%Qg zB*HtawG)DXs7F?Z-rVPpn33Xi;3q397J@awx}TfJ`}c!S&WHocmOZCBJdzqdc~nkdP(fkp8H6iJl4p~SbC5&eq^a}+btH|@K#&78-A{X+vm)n z;m2CA#T+kQyRlvVNZOVJ2m(Jm#Cr&Pe0{w@>>m6jtt|dy5b4zWTFxxk8SKvmBKj#LcPUzVdP^#+ZQ1Mkh+oAt`BWe^vKGDvvTLr0 z>z+Oa5?Ck`g{s=ZwEdfNX>}>PlovHrL~aw?KW>H!6i)qFJnZF}*1r2{&FpXq5;Ia09Wj>DVi!@@4jtQzLR0Jw#}L zmT;9s^{>0SXcAic&Q8Hwk0t zO~17V$}mkGd%cM+`-=}H^Fa0nF)6zjK40N&c%mU@??Hy<( z=2xCCp6`^Q9B#(+RMHijV={Hc59*=Uvp-W5Z2+P|h;Y{>*qyE@By;;uE=}yQagU1m zDA~5#dz{+BvGFm;{w&iraRPnkC>vy^LmQV<)~6TAd`u?6XTy_uIZ+8%1@m=Uc^*3O zJ^p;}Zl|GG;TamwfPMYlNU^iT6OVm0JUJ0i2*-)e8#E2OTiDU!`zUK363U1Zk@IS=o!;Va)N zq%R6W+XIn&0pRKW^86;%+@Oaup}fJ7@MOcwH4gPhtgP_KFv~hq;`q3dG?`5 zsqydI;@dv~uB8za62<96We?`xPd;6Wen&UWrexQxd zke>|&$sw`x9i8HM4)5kfl`@Mf{-_Uo!h3{2%{pIy_^ToCZHG;%RKiqVc#_BLm+J4$ zPsH;3$Hwn?D=MR(*us05JU@BVtHu1qGM%OVZ5$iuD>x54gT?lT;!@_XE1)Y-MBn+- zg&A#DZZ`&GF9l}Hf6KmBYGvu5<0 zJ{dgcRQbdaOyv*DMP0i;y?&w(&^AOgIgZ}(Ik}8;Ys6ox(6U^9qUiD#`DVgf2n)%pQ+f? z&eqBCzs%*7|ECH0{|TUG^6S3@`LE&`|Em}O3GyFd!T%D8_5Xi&{%0gqyKHe zVeuTK7-$X#M)n8>#`Av{Q2tA<@Jn9sqDwcCY}mQPeHs{Fg8OCa7-s+Y?`dX5j}3D8j7a$5{dRS>-SvENwdM8nJWlBIG+xu=aeEOuT=99c z)AD%%AiT*(6!gA5r~!WR>Ggb^zWRP%TwLY)zOVbf9p2Y`Tuz=$`+npqIMW;md^BXo z^msbIUOr6#wte0wGnac_CogIkYJ5LVE9`*pyLTNmKG&z2^O;Zo8n%6&Z+{K-Y-H~pt{$e1hexi6XP z>p)oQ{aTpobAR^rPM$A^i=VF@%i9C&pBI8T-ETHoOVd4X>s+f}&wia>-p=ZNTjZ?S z-QMz=wD|nUT(;Bmy|3t)ZvlSZOkVZ89VTzzMlNr6KOf$2e+`}M<@yEL-Y%gJ(d9-e zF#F?t^{7-)@UvlFa$4Z??v}Ubphl2?D);@4>;1kV_icYQHbznK`R#61QDIu}b#^$H zAlK)ikn5%QWHt8V@D7msalF?tU(srHEn4%j)3R+34=Si>E3EN}Z@Ib!)O0(d^t|yX zp000qzdWA-yFc7@HUT{^o2fk>&M%A0pBIaqz(MhBpV!mO?aq%Bvsas}UB?t0dG|Kgn@Ql_w_&SC!&306 zru6gd?$bNg^J%gox99mK)AucM9tyGOC9svV^eg?o(xdym{{r?cb-Cy7W{=nPIhXG# z?$_W91A8JK^?F{<>^^e=J)f|?drlc21`NKSjBenXkE>_l%}`_0!$bDNarUaK2XL!< zp3vLW{ch^zIQwGu@jOR?+HTwJ5O@6LAv%`eebRBe?Ck66Si<)?%Gj;v-q)+UlUd$_ zS>D)71z#uEm$&2Wj}PpJi&?XruFt8tt)4j(pDRCm*W}&-GP_mhss#n>2^MkqxgT7>xI+ju|8+3uUC!lv$vM7uPsd% z>wAdacgLc!#^wB(1n*l7!#$6cf*%VvPpa#CiWjj0_sZ^{42`j;dy4#PwHJjSPpYws zyM_1HgaX~1gcq@b_ixwk-fvG;id*ZK7lo1z%Q=E54G(YEb-mkYGPgTRIPyadH z-V&^eCCu#~jBF%p@7i>`eR3Iy z_;D7f=;QKyx0mbV^J=}3n_FelR#CiN1v2@4S#0A$ zV7I^YwZ3Ng+K}hVWENAqBZYwQP|#*m!8tqDq`cHwt7d#b@j9@SJgfLujV%7KO+*uc ztoE)W{nAC_`Sn%x0h{7@+0+5m*}kTZ9i>})_TT=BPCj0N_t}%@20~vCzK$%0T)bgQ zL2iCe{i4p}6WeI*h260;hezS;-Kaxa*<6LD=~DN$rKTYVLyOHqj$!3D&#omC{=q@| z>)yf#hm30HEyZg^5NAo@P%y@ode@D6w-e9w{n~E8-nc@sj&|pYg5%q#gWhg}*4v5? z&2=>BK*u8esh0o%jM3BHNPk}IQXMZFz74zI@DzM(((~LnY3(o7NgYRVtsE@;wHuXs zG7x4^a6v$!JyKB8`mjf&}4cJ7#0#l4)=1*n2CS-Z<>xUVuuLnU|s&Ce1 zsTvd?mn^BR?cGP)p~q2Io+=&!9)D-wtXDJU8ff|PzqT(7`q2&9nu;ddMw>D9!`Gca zT>wL2ZVG)6WsZW^co}=ldeiL{sB^%CLHkSG%;L?Cek1K5j4+&10H}EsU5Yead?^X^ z;A=lYQ9%+xpKdw7hTG%ajc-xe9bIfKd`)heFv_(V-dHai;Ma;zOF%UmHUQc~h#vp23ia-fpR zRb5vfxEc&P$9e1~6__s$E^2X(>50}x$&FsV=5?$bZwe(aC-#BGEeR$VzlGzDimYbe z4`Wv-Da0-DxI?kBE}44RgQNv?>+Ko1Md96CwG9o0!y9J z%5Pm7R|x8KkIFfAX^&dJ=VR=hd+;T*+#6-hBnG^_`ICM$IG?&UZB^xeh@w}^{(?;g z{!ZlTQnDw{@!dFcvj-uHeAZ7ch-6xA9JwLzH_GwdlTR6^dn@D<#>LKv7(k@pe8&8Y z=<2p^Bb+&r9Xan42p^ASg?8VLZMxZV(lqPt$pthn?4F@ojl8o1(A0mQ#?^fxi!Bs@ znAMx}8m`A$opF>$+D4fi%Bw-U`jC`y_UX*`MyJMwYM;#2&=Dy<$cM!~U51g{>ZwTf z{n#b~YNK^!*Zmd(^vU+a?xT${oEt7i0|im2fvftIl{0oHA2Y#PL{SpT790)I9P6+- z0t)4M&cUU_(Sfp|^`>DH^?ius%Tw|N_i-b_!3g?xLrZ4*-)m0|8nvlq{+HaWmxjDI zb%NCVgo4m(AvhbSE|>yi98F4r>pTySUyW^H_td3oo^7Gv$kiF18Jdw~K%ZYN7jePJ z`baI-0B-MHbz2v4;n#1~MVwdz6WOaXWJ=`qMjg$w2&zGwOXB98w4lxK9-34fOJkl? zoW9@-9%8yuw*dJ>yifQ^KbzL6581Z^ypNHwANvLc$4hEXu51+as81?wRNw-R30 zh6hm?X!aZ4mm<&>h`~)kpK~orRCVd8D37_cqWKNfGlX5mlR1&NKMnNZ^LG_;%$!E_ zx+-XX*VdQ)+r4XpR1i`3GEtV$I!%DN@ZW*?W|6jgZ*E1ChTo5Oq>dCBm!)oJ9M0>1 zl=_2~!$NO9vF~Oy&`ludyO|UGQGN0Z+wCS)+EML8{r(=s763yMnHZwp?d9SkY~3KD%N>Y)gNRa;f?T#Y`Kq z8kM#K9+IX$SV?Qj{-1+E5_$voARU3Tl$mh$fQcc&>O{3c*WT!$M^%QTE#;}3z*%vj z!=Ch^mLsBz+5(Rb>cg6oo@i;MY&&hWRE?ER$*DcR2A#IlYy?_gnJB6bn zW^qeocZsL-(1s<4hg7Q7aM!X$v^GIasZ!T*b%bz#QK-1hqE(tGB+e0zCmVTBQQ2@` zJA?>aE8-JQwr2|=d~th7Bk3uKAD*_0;V5jh=C&Xl5j$-9YG;B3pKI=AKOb%N)3cQ* z`+|T6+L!VYn*mS>#X~Lj^yg;!jo-Gvc?c&L5vsY+(L+jux;!{W35_o>XE$f}bD!a* zHxO@SMI02lA%08HLDkrCb4MuLNb;enoD_yZTX29=5L_?XXzzej#Zzo9uRa@*?Yc-d z!7mT7w1J-J-xRIefh_Z{?N_P+OJ4;vB55^KK}tCQB^H`Ia@I<;v2S^^g;?tXF-${t z7DvyRul)`u)y4MfH-NP1=Do{n$ZrZ!&OL!Jypv7i0_uGBCI(-eCc)W>7PH1IKwaLt zKkw_IK!KZ_zn0nUb_OSqQ_6C!-sAdMUN2BNoP-V-vCiCSnW=-k;DOBX7SFs3_+%{MZT3RnEDWs!Xb z1jVFQcCAEpLl4TiDoRmW*mUw`+~mSsiN+N#LkR^&ztT!5*%w>5Ri3LjNcRz@2LA*5AmR#A# z-AsRo!Jb-Bkxe>**Zdyo{pd0B{w>P2@cTj{xw|RJZYq`NiWJ?2A+;op=!jH(O%bu! z;Ad+_dpj%xj6oP=f}$uSXiM&gUEWhs!e4-UIY2R@0539LhhM5d{}hmbTnExkO&NwI zcJ~q>(~ou>l-Df9H^F*{;;nlzHi|~_nKEK%M_KbIO=3Z@j9kXP0$l#;yz*WVVOgc+ z-)Fa0kkXd+rSsBH;`1>W{Dn=?&SobMNsPZJU2ihqFnlYe*aN3X2>&|l@p1%ZlAKve z$U*txyWafoPW{u0fdEf2=a2+o{Jx`Y{oypBYenUOZBMw-9uXYdI@6 z;$Pmkm&*yzRanXGmXF> zl+?o0a1+)0gh3Es3-Ho&3tGFJ{)5)dvCTKM$}eV^Gm0Ti-yt zZcmhb&-PT2272by_0A^aXX!^3TVm%oI{mo@lEd>8>{Aw#o7(c*)jMRvSFLAzp)>YH zuOK$(@|AEkxP>q?5yPuQEoGbEPi5${Kd#efTmbvHl03_Ct?9RZDI~znm!rY1~&SR1UsDl5Ho z$(!T|gII1J*e6sU;uF`oeQE{Y$sWkY|@ z@bv{q6V)y&y95zEWqdp&z2JCnv!>3sjbF39We4DH%ZXJ~E2&)b2J0X`#Jq)Gg0TdZ zNv1I0U&m^TapzC=+d$7EBnLG|j#PryMJJFuk>*fJaX!6FqG`$2Q44-ap)&y3#5Oom zG3-#n2KPkr)9Yy8wWyJu-l^uK>d2os;7FXo;LNcGjQFA`2~UCiekL1UF=3#4ZkPH< zU!_PL`tsio&GEW)q#eHz9UMyYlOFEqS@5c!U0+CUSKMEFRtSkVSSF04anB-pY$aGH z;56Y_er9{@lW_o4UrC!njkw8Y{W6@$q-hGPB zKhB`6%#!!XE%O{O-*gq_)){|0*q7;xTr7acCUhzCBssT|ZyQP>J<`^D)RK9@+^~9s zy(0e@%=s9sNBlG-{1_B?i`?8^?UO0;OUIY9 z_Bd4l8P^7L&dny4s-POfo=2JbSuKY%nEaA7Hps@AocK>Ly(ZeG6o)AatxgO^H(wj> z&zJ@V$#ZcXgtH7<`%#i;($ACMa=K7#a&ONit^)FzG}x$BHj?mR-umQ%vT3{cCDVYG(NBSukDuZBCEg6;nVjq6&S9TDv!3<;mrr3}hG8gDf?^5hKQvBVyBT zeOt7v4IJ3R(`y6VWS26#5?AZa9N@6htSRI_Px?O+7ryoVL9opNnAdIeO2DP?uv#hF z8ms4)V7B5ffVH^IT$waBF#Sp@7+R+1VYgw=j}?q;{stH4ZxFO1iFmIk_4<9TP#^1E^i=Lxxb=E#?v;`+~h!-?X*%kL{c=V#j1c51B=Iq`XxJ&B13=1UB4{FUpCPNY(z$Mhu(C8SAjyJ+Ckth_;k zX!)`3yzsH7z<5=kFDuX5L>GE!9^KKmT~#EPL7X*Muaupfpt!NCRjTvcMW3aZMa_g+ zzOQ)%>(8#*W`dD0J^kCzDZZ?1Rm=VN2&{rJ^;xi*(g~4_DU0XQrWG{&5tfL@=8UVA ztU3XB=Oo6a0`BEFjsY+vCAG>k=ZL@B9XMBXshuO5z9GNEA%}%AhusaG%LB~orr7Nw z;4~HqpM0Co(kPR2|6=_%eDt_xFB=_Y^~tYk8-_QF7h{-);Y=+SOM;y;5D~yrI#*n# z!)xkJX=5eZP%?TtoDc+aY=~Iz5;cz)7vXZ)2;r zaRONTjlCJ2FBWNec4D2ic~t`X)Kfd{3g)SCh300Yt!*|V*;rqr&M3~Xk&))3)nTM! zxE~JyZU4}j=)(XF#`|9?)!1NZ7*V(f#jS0SAzBYKB1wIjU$9?b{6+NVkP#$*Bgn_* zuR@G}_$dx5+Xk`uaR&Aw8$~hs0@vdmQX2GVgO-g>i;iYg;*({q;zTh~0E#V9bD7P|FdDt|cSCtAob z=X8u%R@tu7;ib8C=RqT*3+(kBkfH0{+@TufJ|Q2BqagGJ;b zcMAHXPJa7-<>ldzkyR=CgPdCq=1oS$ao}h@O&g7Izy!K|(~}wo4h4&ukTuevq1PmT zOsgi@0mMhzfp+@)ga>^eFpsoPD$meGDBZPUO_2 z=_UMxTOLpkjY>{iHD&>&M>*3Keh}1yeu>z0XCGai-o7FsW8{8w`SJ7($@lywPAiVa z3g_1MXIXtG)ZdE!v}J>d?;pSEFmEtbFLCxjaWt0>47|5hvKlkNrXe>1m3fk36FeQP z(y8a|dQ}+ABs(>@k{onDo_ou(`bW%Q5a0uQM4wG2<)WGy0=`*qN{#$(?ibAR@c7sP zO|tWUX5{$FPZMfO5}-``F5hCJj>Pap@H#IX?S>O;!^CsHBZ`d2fiAPPq%nAA4ZJVX zskZ<&7b3lCVphJ938NDqmIkWdm~lK{VfjoO=!i_m{C)_CO`y>RXY*kMFRLVr-6>VK zied~--->NgvteINhD%y{qEj2GSI0w954Xlp2H(Bpaf+cM?K)%T-)ZB|h`?P{DGbY$ zF%Il@2Ycchf`DV=uS|Qmzs}sS98=uG9#j~uKOOG_B4nQX-}BLIxV1YGkgZ3C9$2~( z%S#;;*%5^v!MiQOVc|QFdb||{g8vw#JEdN(z6WJ2LCXx0kvsCLj~sW6CO-YOrgH?A z4A^X>k~hu`@xEqp#=~d1I(uWgVwi*!2IA`ujDVc8#RLFQ2!j*&V>aq--+I*A;>%!o zm4o4vm6b|G)^M))jMOAzbRQ&m&NYE%`0tZArUz4a}&8 z-Jt}J2pbR>f~8GIT!~H9$-p;L`>MT_s~~7sxS{t&WvRn&D1X`m(ERH#Y)dxrU2x6mHh3L>@MI0|A2>{R+H_7C;p}r z(wnjb`42V3ApO>N6uMKHpR-uR9JD7C@m!S#heGWO4`9f1ePGBk zijHv)x(C`OZ@D7RV5w?RYxM5u({gCD4cIOvtjNz+8+fyny5}5OsOb_Ia(J5h2cb{) zIj#p-jqzw^TkOYU5{Zj1{Q6Zv`#fE8_>C1s(Pzy|Dl%u@A3vuqcsif{DwI+^r zuqn;&wL0;LEC`cI#=KPO!8_cNNS-<2MOHW^IeBW4<<`VRuE>XYvR}r)CU;|W?C_Y} z6~7Qs$Ar*CxxVew!KgMK6Kor_2ur;Q$GcEOb9UtDh~9UA6APF8v1lvsiA1c4987bP zZC`oQeAA@tq?S!N-u0RIN^bE{6{6GCO4yUWC!MD7V50VuHG4tQH2{}sPzl9;@UGa? z00vB-o{sc~QOd}p|IQv>-(z!R{u(RVH2fPjjyG}$_N8#EbWmnyZBzXTcF%dy* zvxSb~!jlKhcyPT~$sn82q#(hAeHzm>lW$w%G_~g#TxrGN5zO65bB-baOU1<0`6r(u z@pYg$rS_i)cxU)XkugUtL?0f8zf>f#8Ohd6qU1sL+LL*c6$18~s7`lx2wVhCYaevr zx6o)W99D6a%zNuW#56DzeS;SS&a5ZbQp%F~n~X!l2bOg(oOwd@O3aF?S zii;??+{+{@6{P)QZD@4AU{2z>`#$*Mo$S8F6;2&_e3KZUZhLUD8^uWX!BA9Ik&gc! z%|A1F6;i@kh~XJ}PNYLc!be$9KvY*Eyd0bVzRyCDi=Vr8?)m<0c&LeNr|ZGQJ6#YI_sf{s$Y1 zyD>ox8f)@p+(+2V#gB2kM?;QpaR5H#xk@sGKJZx(YJ4(6TDOnv#fc1cV3WMd`G7~Y zF^Sj?VxCntDr@AM0k8%6Y39Hj65Kuw1pz~_@pE3@RM2~7*PGU|fldf_xdTzASy@N& zc0OY*NMRg_nHpXl9iTvVS`4UJj zV@yQn_>2#NUrIJK@h zu10eHE>?<*k^J~&z+r7{#qo#EFqYDLeGs97pB2}$3v8>23Q2g;`<#2N?%M;A(Z<;M zSoeaQOcw3)Yy!SnwZ5bw?_e&t__toA`XZxla5;4g(eXBzsk?KHd{$}>MVW2jc9ESo zrS~h}_PvATAk1AF^Pcmidq=Q7*d{AI=DLdvRUrSdkoOXMJ|cLtpOrRX+{hLnQeN}R zA@N_I!ifMCDJb{5{yb&$N*tu~%S4+SaC z^~seAb#s|$4w$a19 zB?R^4I*(&A-+HUlb*mYBZ#Bg>p&s!&X+0u#&HK3JeLD6zL2Tg>C917V+8^tDO8h7R zhS=r{!V7DGq0!^Rn@Fh$f=6M08aY~vjIA6y`=+c}6pS0OSMad&Wv7y|ZkHAJm)z2} z=%nK2BY@N(^iP+P?&_QZ%D%iW?B6{P`8P&Qc6Ox$C@5`-DbgtooSWW;4=^CQL-z;oUlYpSGd=PU(mwDJuDDfJi$afDQb7kMz$Q%cHDQ%4i#Z7 zHP=jOv-N4-YukLywPp7enFU;ixyoA-o5*gQ)#f1jf9#Grv1ob8_QVlgu2*`1!o~p# zIKa~3&PPxVz`_za8E!jYL=aN9EHXFH7vg`XJm4tnFhpfN!_(c?29n5ZqS!YA-PB{? zK1_CJ&YL5{EpqZX<36z2uq16~XJBsT% zPy_@<2Y@n!drN;5&%RsBr3QE_;_eo47g$xiR+$m(Xiun2HToy-&rOLf`{cI&o7=X( zp~&w`_@U*lP1ajKShB#M2w^s~amol^)P_e>glH09=<7@WeV&KAe=}yObeHt{-R3CW zA5vYe3 zyOLUMs-Xz4k6HYC(aI70WA*yzS7ocYQfHfo_d1lc>pYJ2UZ?b4Te<;8O?a>Kh=O_< z-fJpnJLqtyw!A-5n%I%Dj3}s$D5!}Ga;0L5nxi4KCn#v`!yg<0q=-}=Pq9nJ3@E=z zohA&#g)W_t!b>xP*)!nGY<q4FZ^eIhU(J?L!}H?IPT*+5S>d;i9cWfKFzkyRLkV(l_z)H7Y}&oZpC*3zwIt!;0XM-6P-*aH4nF%|BBbOdX=5u z5wCA!W3GL~DfxNkO zZ>+J~%ms+fY=Y}@ZGw<3aFNI&*-2;L#b4gf^ys$5>aDr|Fa+4R$x4GYPkxoXy4k~M zeYz4#z=yHb^8y7I)+Fgl?1Q9Jsmn8wz3*tONrnu%WCiS;{y?<#`HN?lN8DNqb?kX2 z!ip&0a$XplyAOz5x*n9;oGz1jPjfI+#NmDeOv`GzNkyJTam~~r#}wx%h0gY(UR}lJ zSKFA0*B7!<+4>`j-%2^85|$n@?+P(@d=JGij^UP>j=aZTyr6n7Aea?j1H}fmp=K#lTRcEHvs?tyA00aM z^eMHHId?lvLK0nI%t=Q=~q(NVw5=bH#-VMm&L1(56czIZyEk zp}J9SE!K$l`L2|^5QV#WiY46jH92Hhy5t?<)E-+Jp*=(TVkRzjI5uO)hA!Eko6t)k zwh`@#*@K^fKAMQ?#Jtm0VBspfpj?;S`BSx+kM_}%!NmupXu}KeTLKjRZIZF6m|t#m zL(?D)R0A{`r4aBnAvwTsr`A50BPX5(R5B;L8Q0J*8Z`4h;^2`BNMPc5U#_Vz zPg|y11p!V+-lq@@RcwFRU^f`8Bve=x23k}&#(~&ZG01JD?VC*$Hw1QrHeKZOtD%sL zUl4*>RGcg43g$RB##{x;Avts%A{+MU-C7h@G71p82ye*lx;-J6i%~-i-oU;J;R{=IR|o+t1BJlmhiA8%^oFo zZAhMF!EQSh9q!};Vkcf%(N-w$&;+EtlU=SZ5m3_O=FR5PN=O`;aQ=iQgjlV&cbeei$NxfhUlXoQ^GiZ*UTbsu!AazPA)wDOW~H6@&^xitrP4L|BKCgN8@mhhgs}XS`zfi zi?|!~F#+pqT<5YT5iXA$(d5O+f?8q63B{y#L8f<4EJIj$av~Kn75RVa%W%Wa;4;{e z0Du4&x9~CX_Qn0Vu9w`g-LHeZPJBab_ezeGHgkcS<& zfq&_;@q$%xHy)zpfVG;9O9~b!xd>PYa8#RQd1e7@9xnz<^B|=olepShw3ryr&K|J@ zai@giE_rTCM>kqpzs@4%igns9iy{G97*cyA+cj4p1l{YMZ^xVWnp9PKq}^a!(ek^O#$r`0fjRN-JO%=zJ*$P**J? z?kBg`JzH-4&6Rbh=61SYQzhLayCFvRVqjI>E#DyS#`fI9mXk&`?%+)TpAh69KHy{5 z?@^G~70VhoDYOzvpLWHRv~0JAf=m2%Sxz> zOX5d2TN!7c8_Ii@JP6pd&!+75dmFg%_ma}!PB-(925wv8lpx=rE1fKiDCgN5nY;>d z8^UAm<#x}zfL^=6F*NN@iCN=au_*yZ+ zp&<9_jlb+}>iN7|uyV_f=d`Rw<-Su(Zuu*b#l3_YefFX1F5R!0=D&v>3HVfLNm1BO z`D8*flKrgP1sRt&Vbx@uaAxRc(h4u&C)61_W8p+dHiJn?2eN0{6-}!7sJ0_f=Rqk| z@;Kf2^vbHGAPT$+dJ)P=$>P%5sCef|Jt2MP2i*U+z^t!JNS+i7ACyeSYnkkXlG!5r zbd19GIioO1k9!{5dvrR3A?<#md@-vY8QOty?k_ z7StIK+)1Nn_yZenhH8sNU^!b!=^P+E;_PLK#`J*nD8hexvbpqh6kTx$U1x!S5Fqe5 z$*Fm^!X)w4PIQh0oN^ zHagFz#nf=@Jsln5Nlvv%!r$b%VzpVTD~e~DiHoqS8RUAS5hib{0d#`!HaaU{lRVIk z)D3JOg;l^s^zgangP=6zH#{LkH#V5%*$|>S&39pu?(Rtl$V_ZwaCX-N2e!ODqh^a@ zWDrA)E-yu>1;i}8ZC#T+IlDr~8NVY&R22{-ymWc;^7})K@ZHuWm6Y*#9f8d>^t8d? z!IN%F^>L6y(1x&orL5a+b+xUw<{hD-27^@Xp=Mpo(Nm-=GWREa3*NNs08sW2%W_8r zB$n(7Bi&_*p(L9wR6ldJ=%;=uhe?Zhd)XSq`Cx>b;|}hZ{!A`h74i8h1p4zMYFGT z(N8KS-!R3iJfuL&N!}Iz9qVM1lf+gFJfeE!)uw_CDJXKZQrv=OuqL`8*2%iUvza>arVtbHCF=;gcPtXm~}cA)UBcB z=ERdYgU}d6Ajd7$!KF;~QJ4QbPblc+I8T|@Sg5*M4x3xU5{mUP={WNH| zk$XEP*=+fAr_avf8>WGfwyNjRU6)xxW58hW56CF|BUK~rGO+uEHKLoi*ERwN6vL^@gZ zJdL#fQ3lP3L{gzKrDnMft`VU$d9q>=qz0+x!9w9AB?*`kio9GYf&9+&iBTU}Mt#II z-IB*7MfYX^O?ZkPV=-blt<gM7?8Z{ za?s!s3e!|s_ZC6CiPJQLsF);Cy5s&HORhzTIlc7IyxDg$gpCw)|$T~;V!`L zlE*+G2w2uFhk~#Yu)zF5z><{dS5i05McN5iR-EAYESchX69mR`YzSNgEF0E(rc>12 zacp8m+jZ-?J6y#`tp+Tc%!ku;V+TyA3d#y`La2meHEbq5kV$J`O_1Z$PDLB=3jM|+ z#dG`(7aw2EYQOdH3aN<8neN5l7&n1}VOTCUl69bFCTPjepq0u{savKN+nSw2B&zRc zbIQcUlbx-^ZM#n}JgEy=pf-UpY=UfDWq?dq)vN;%6r-NDjH;BDIH{`Sh5p-iPfBWI z6^0R1+lITGdOkfB03G+8N*is^adYsXiKCL-BcpDE#>4^&@$^|3Sa^(OESUy3wZyT+ zG%M_!*hFys8|k_11p8OH$T!xL<&$^2FXA3{UngVq$Lzj+?7p5+(3-m?vy}6J=4~jI zCwJXEc3pa-^Qc42(p>lSN^F}%2zSeJ6lbc|!1nQX@w(ANj)ow(2Qw@Mt5JD&iAe=- z)Gi5P9B<>_w;WkUbFWdmWJJZ*J$JLxKI>slPTMeIC&9ETf3XQz%-$|;g8#MhMubY| zU$gn#h@e|@@%W*fIZ{m`ccAxK-#obp`uNw2*=G+%J|+?b_qbb;T^+MlzFRIJwUcGU z#X7AHgn?lZku?dcHd;|Tr-$XSd=rx{9i4I37|_;uy*@ayy{q8ICZ(brGFKsvmSZWO z9pj9?cwv5!aJQzFCyBY4G^K=;@0c|Pu%MtKNzN&TRK7#0+D-)Q#&TL<))skeSyB9Y%R+l zu!F|@6M3nRVcA5Tku_{-5s6gHbnr*(=6EV96>UToZDd50clYq51;!#)h-;w<#rjo3 zyn`w?d#TpUeu<2q?JSK8mY3|n&8^$TC$wblVdUO>$(%ZdE?mV19o^RiQ=t4R>ybV2?ib0pB+d!oB!hOyS`eXej<_=z*I=DjL{ zt(h-cykkP2eu5>>>YkJUFX>q_>mSl%F8ag|PGoAy{3f-2Gr{N-iEE};^m>Pl$daie z$}rMtBlffrYi{0_n-?vdn^#E)At!(U!7`;h>qU%mn#l~1qYkH9t)%0XHYb(z1hfwT zi8V44K)CCA2WsE+(amp7kUgZnYi=56nnZ3NXC)2iW zwx+uX*kqpjrqZ~lbE#^}4E8NuGo!Ad72)h+cjyzM^-aNs8o#u&c^4)lV< zC2-)O!!@}-iCi{yvjo~3DKd3)Q#VuOR5hpDR7P>GY@;Yl)XI*L7+||*wIm1iP(VuN znLWAF=4>B{^^D3f88eS!-2^LNR$N?{mdEzLkn!vSgenCJlGpKDB83n>CmJ$$sb*rR z)-iW!OJwIzWo;fw(QUxcpaCJMXV+7W)nY;SBAz~7qyDdTjeybaN4nh01DAXIgD&^> zCv&+!e=xQ>C147zv)}blK4qs)CYz!nYJS~5(>ZAjxXaV@9!_n_`c}@OusupD2sy$w z$Msb2a>-QSES5LtQ@CZeWV1>>bW>uX+A`gXW6rfZ%7}H(V?1l~;+rfjZQspx=aw5= zP|oFD9nJ5!lA_M^q)FFmkM88`RkW851t~O2@TSrR6k=M%(OKTuNoDzTr(y6Xd%Z0h zfXQucWzAH}olF7-Re@tRvOT^YWeiL$f%jsHj4~M{IGLNnNr0;fk=Ue#Aq}vmA3A66 z3B7PwSfB$st|VF((Tn>k#I`Vo%(`|GxRDvJBDs^M-FlG9v7~Oo*rp&nAx_7Gndd)S z>SCpgf*Ck#6pDQPSA-&&Ov6Ow5kM4Gh)6gJu48AbI0RFabNHT@;zZnpEJzwGf_}2% z)1j<|T!cK(W~=H^_AxEU7O~mHi}MhY@ZAKi|4y$7)fanCcHNGSp>2W#421xEEH=)ntd0AZwyW$_zCD1HC*ta~bEPazer4qroa8b3g3- z?Pd7e7mV?oz)E&oQD0}n20LOMm-&>vxsgY#{pRaXm9GZ)G9LcH`X)SP(~vZq{29`ECrawEx= zX*}Xvt=52IHhDlA6ICBi4D2D3jQ<1{@WueKE)RU5&Eoznp~-hD$^A5JbMmc<_Hjnz zpRA0W(m$Iq#K<=xHsb7e?Sxg+Df10DQcC}vlw7WJHV?Fx6;Qm;Dgv)$%?75Dt>&ZJ z1~Unbpzi{%DFd!G11>t&#rjauL9K-fJit|jUn_W6Cjk7FZlT;**0|z~9M*=a5D0@? z1(>`hXJAfZU&QQ54h^C5;&!{v$(HTRcJ3r~y#jz;hDjN66vQ>5-ibK90u;cIO*H{U zq77{DNaLp0v8Cjp4f5GOAt5)GhIM@>A!}KXkY#6@p9!MO)lqirs;XIfBQ7yh>MaS* zVbl{ovpGXg2A|b22(lk*t!ATpnMAiqhAe<RLx4OMHA+@0VF$gqbPsuEkc3e@DAEw?WHo&=10yFz)D70-~jiZ7`2*pice+Mj*%Y z0-zCN=SXbpbChYF6L?L6CF6o^O(U?pEcSWq0*7+l#8rTVlxz|aH+Ku{jY=Az-Jp}-}+srBT7ydcxX-n`X<{@vaJ!T-Un)FOD$o$C2s!6qtC;-UDow?$7f|v$2@vE<}3yX zo&uvvaZT(X!2MyHliwyc1z^i9k$ok*GtNwAS~E@|r~q}qOcyzmn#!}bLm&ZJ7SURI zl;H+?ya^v9qA)654m*=BX6vtlnk_glcIncz+tRgNym~U1YmqY*p`;-06mVent3EiC zo>dfAl6L?Yb*1pwvqOo$Wy2?+`&MeqqZzBS~p z`%wBf96o-*zCQF-Q6NsZ4MnGjJOJU1)U>>mHxM3XS@fs$*o?f%wWOKeHru7kUjA9< zHJdI>VJl>m;KST<`;#cny#1V=Ya|X~FTeS;hx(GdCCs}Ez z^Cg4Z$ww}$b2F?q^O`KrG(z?~79E^eb<`aimy!!xvdTd@NfzRkoU_5Q4$ERFNTX!k zvkB6KQzorjR-Tf_)T$G1SRa6HxA`JzM-ybkH+YWfS#H2%C3wPwI7z%aqt~oOF##)u7lM zW4Tq`K8{CWK*Ivmd!$7(H>P13?5I*KNpnrwrOQ=O617EJNfR$QpxdRKJLI_7mwQSv zV7_vIO8h-TcL-~1cBXO7CIrb(;qjScR(>8z;}3uG$tQpHXyo>@7cXut{;?~@9Qylk z(Mxv_edz5EzB?A|PcuaHPdky`5rAv98r&w*m)XJ2Qs=QUk=_;NV2RZa08vb&cO?AWd42JM05f#u1u6_!ebqy>X0TUqrSNb-W|F{L4b`FBUT}#V%|xns$<%X- zDK2z=>63TxIDhis4sQS9=ECq|S>!5Cb}7bqbZ5l@eUu=T{y*S|wrWrI1+s&C&u%ZU zzb0gdOTsu@O*^6rB8X7bH2nd|Bt5NmJGm`zUFASNXjd$NS*)#@g^mqVk8z6eoPi&# zjOt5%ZBl~a9$vbU#&*p$k!7)-D}*mSi2$mUR!MnZmrc7{mwv9=`Rt{m92c&&=L&C2 zu3Jv4!qK!@DO2URipirMzXO%emd!%0)0W40ewNXe3pT6)&s?);G8+r^b8qXV%iyr* zRLPRekA&~Nn;<>+_;3_F}3kcKOb^&hB-t0;;&St{27cP3K_w-3IzdU>K@jEg9=&hmvQXf9fveJr6^4`9sN=sCgr&jBBdOInM3SNCTBW#fJ zmHjlfACQi)#JgUMumn=Js1cB2s-3!|8iJssB-8s^vJ)1(CD1V_gow|pT%G9gYc|QM zv^ulan{02*`BY2XU`dj5Fg@%>j`*-6Agl)5-o*jsl*2^GB=)W9LXiFITqy+!o5QiC zRwu*@XibT_v=6l3+nsV`$Z;fu^)Qz1hTzb1uQ?1sV$ut=l@UGbLA52jg6G&rv&EnA zn7YGot}@@FAuJzO11F(1i!~NzbFCgBC3DifEn`wwk=e~@UUI>rk7z=+A~YYsh$c&E zlR$(bsIWdMIRE9-w^HNqwspHhDOO6V>+0~&s%CM8jVoC$!_kPlE=5e5j%7`?#eBqd znUji1>g?rM9rO}`{F?I``FH4kS8aI6hxcdCQBHNctl1zK`Zy`77*ro?_!eu9tu4w_ ze3qde)ndcSOl7`6ctUR3Lv^_rL)F+T=N$sG`CM-@i3&afg?7thUh z^nJ7&wb5?WLY1xODihv%$`+C}t9;vNXWt$WQcTRf&vubqGir|Y+_&%-vi5!DCJ_dB zb0F6(a&w*Gry| zZ+u&#Iyj75PUp~ZS#iwcc8b3(4m&DXb=Twy-MI6c^Zgjh;<%dw-tjn<*3ZlISAcPm_gIXZsJ(c;IZJ_>2TuMfSm zZBkfWUBgRf5Gmx4TMjo1Z_|0U*KIXc2)A?c{I+=RTTSxDRgTqSCjl|Tx*98lE^7`d zz>Nb7E72o6CP{?l+ShBvQ}z~~SJ_Ez6L$%PX^!zKSE|-B;-{%N;;uTbtx5`6&8d#O z@BuQnWIBB$)AJzn=#V#5;fj*f$J2z*kL-cA6p<#)%mW7Aw97(?E`)rNP32T?ocK^u z$70sHIQ$&m;aunZblfRmQI6qk+56Z?i%Mvo6SI5jR{$F=r|3;Nw&=U_v$sUnjEPvg zfMgrz99vXxV~cS1oKTWTl6s_#-~Nb5>hn*3_%7gn*4~mR#$$yJUU6KC-7a}`Isg3yHu{CyYV;slhXFn zAAkPo<+C5XmA7u(xi|=?-PMTPr*O#GAWn{y@wJiHfYF!W;Hnow@3FKo_)##44t5z3 z^jrt#5#NhK15=kIWL=A}u!W(EGMdjmBcFkhcY8TAc?223Zxxh3*|y!MWQyq|-PbW0 zYR`}rlb@5HSgU1X`T31Jvsnp0%M}IzIIdzJ$oI^29asZ!-TNT86(q9Ax!)-}yJpWF zgCpg!HXk$zaKfG}6LaI7W+LOxlC+|n@2!GwF$*^p(t^pO+YI+me%8itjk2+JKV~Tk z9gw;xj-hY1gelid@>zwg$r3>ENTm}h8Z+8uly2aVG^i4TNEX)MKCUW2KrSLwOn4sx zmJjiVIow7t>O#(&(L1~PZC)}Hyo=Xds$3NKak5IyS&3TqoVWny_|#HFpLRXY?|hHt9YO7~-qqP5u^*5Z zgLAo!2`nIVn_xEReI;3h(9^~+T=W7ns!SLk>1VwElj8Kh+XWPtx z@pribYe^!0GGq>K8uV%qIrWm~)06r!6Dc+*wjA07-i}5^%s7NQsLVZEVfvaQnF#Jl zw1OuL4Fn$ z99;pw^<=M+8rvh;Y*Nhe0a}WAOEIr0=GY#231Hg`J?8t`6vy zLq2v0)d6;1SBHfH=x$f*oN^aV)@_!oDju7x{_@Jm!n_EHqYSGbQk>E--6l*?YT-## zvF^BkoG}x6n?s^6HHnS%KXI9XVNc|IPL4I46Z+~T_`H^Gg$40VLhlY7w-1~^3gZ_q zoRkJH(Vzmet$Eu*DtEz2>^@?vkh+TrkG-E8QtSZvo@E#VKCW%C(?)_(`76gHw!M7u zLRR~|>0Zt99Ig^3%kvbLPml(94pc}efh0*zUM})?{ymXse$Uez^7D5a^4(~LrPPE0 zRSLppbgnj_%8S_GT})n0LFKmS%=olDQGS~v`4r$)J5|8QJD<-*`sog^S5JdK78mdZgx)az`x>TUDiZ)x&=T-|moj?jT!C+N4I)nsY zxok3nm{F9%$KXsadXP2?KNXvwikz2{h^G1}-%u0bUuhSDvlpNI@LdeEk6K2=Fl&tfCPEpA9#F=!&}YiY;8zxm>`QPygIWqM zB)ZQ?{@WfWW&AFzn|_uXRvpYZV@OC>E~7_^@Vn~*&hnn?67DknT*n-NoT7zC;Z}${ zgUH3_S8c+6B21y7$O&TD#N=YQ_9Q`IS##FcD#KJP&LSY2f_2!eIZ*TC)=mz5K(8E& zth4>lk6){hMJ(E4La3P&EKBBizy^BM3FRY7)huaDH&UW+y^krF-4{T zfu=42}owHNV?M?`?j?pX*`zbm1dbG<*-Y8o??m9)CE&GV}ED+E$M6m3vgw@c) z<1DzFraY4Axtng;YSuQwj^YVPM^~~1Pf~~JysgYGB)4^9Hl2pM@^|~@D21N1C1I54 zp^LjmXUFO!DbYB#cQH_^&Lf*tj|h@>2`9TOMP^aED0@(Gp}YsOHb(`AQgNmblgJ7EoV0=QlO|Fw zys{-KzS<0xjTFgXhqB&B!}u33R1S;KMqs8?Jys{5z&<4QCs{qJ6V>hHyUIIYGj@W_ zX+c#PBXF%|vl(S@VbAmNoxboS)SZ)}tu9Xp&_@r-xgXU*I%}8qvfR~n*H@{@vin$4 zc!!P1Dmso^0_@1(PCzM#W>i;ZI%XR^B*Y^<^@(SO~1&kWeII{mft3=QLY z+TQT!k|DL3zZ2tWM{MTvWIMvvQ*m9t+rQ1jsj6m5;&Y-_$PMfn{`ZTGryGdaY^|QN z*ZN#{dO5Sb%MrX^l#iIjI5FBX$u9H{8!Nso$cJpVK|hpY zwsV6Xu#0$7joRob`&L%t02bB(JREoZ3DNxy=I5g}*c`(6--X2!cs!&0sD98?YuGC+ ze)A~l3>}TN*!V5;L`gmc;pKzHp|*h?!(9@PF4E;_YhnSCA9*wf($cKjUy^ZSiC9E9 zXG?CfIWvrS(I`E*@VZorlQn9tp2`=kW!;HSIY&F!n#X0!`Pp=lfR&*s3{J%2PunmR zd%@m|dr;xcZiyww0>~%O+!fUJfjtTc5dSE3sXhNAgIqJ#D;EWh?Bu3?Bg*lcd6;X? zL!h|VOA-U@5(Ff%JI9mZkPr{1=Iy4~h?AWVld}bULQg#N?*Mo{N&ruC3eWRhTWnwc zKzgw7e_T0HO%Zu04ZqmWY(II(ND=r@bGq()F|zwR|hl-Vkow<)4_%CT+Af?c!09PA3pV9f^e z)h19nUh!pM7qfc++_AIP91n&$Opd?IoB}zmiB7#xVTZBb$`%-M`-H08Wwj@57fd?i zRGyH6PrjQD{>Xm9Ua?mY-`DkSt{ZYNXv0-8AXIj~^@ zKk!QUwdx0sXk0dtNc%cD&|c4NN_v&Kr?qAv@tiH&@2K96A;wxz=x&PKr(!>K2eKnKoi?I25@8oDPxCX8L$gPdxoE9=a^c4S@!oYTH5&+=acxWpQ4eg!7gZ zMTTX*(_{0V>&Sm*mk)#UoYqX|tSN)0Nn6V116m|c+{d0TsRQOLTT0$YI|U;?22b@; z_OoQ-L=YI{)j{{RukgagB%zyJ0sE9=ZPv^-i?ny9 z!s>=9OlYP599(tbkrW5%9+2wwB<-~U3i~sr&kcHx$yOto&a=mJPfj!V$Eh&gSD0C3 zmr*^;gHUx|$2&F?yV0j)@sRDb$naMOMY+V%J-v2FCYa!LxEma6+c-P^?PyE7zK zO}6rptG%}a%c-^{+oA8-VUq;sHeATb!{0hVj&wvyo?Ui~rZgd$BPAxeJ9~KMd;`@N z#ps6bpW9P<>49M0x&`q^=oq2NS(@K}E2&0LF0y|+v)~`aarP3r1Yb`%-VFPbQw2n^ z^8)DloNff3xsC-kHs48JeAMPXq6S|`CQr`)-w`9;{}dXIKOi^X0o8uA-J-DM;;^N{ ziVw4Q0Tt@UB$0d(;5s=+L-j^JM|DR8JlhaNWwRM&l}wRzR8X}NY0J;vJ$9Cbgr-GT zY2@E^MV1>+z+|{!+0AsjP3L)PObig2d1WOb(?)_uwqQHJCW}7~Gpof}DzrK}v&+7) z#SmKxrgbuV-|SAS$#B$jnu8q~#FhDbcrdsvfHB)c#&RiiMUlzlM5fH#XIU~y6jFCd zH+MeMVTTo!<|I9=gH#EkJHGyjr}*h-4<6!vOT|p_0B6AEt--%MsQQu}T4KJqmy|Z? zaqWUHR&p=22I)BOhvCI8{xB|F`t4@xL=HnLV;~wQKTio!o&iHz8BH#9LejENgE}F( zS}+DG5Sz$}n3DmsYRxtWtI@xj7G=HOcucCJd5b}>M|`(r4LSA}`rXw>soU7?h+IjF znMip8fd8 z@1D`KhdrueIK+JS!5||ZZ7gI5tVi3qPf-EQ1C6a1`*}>j6Hu7eE^l(r*zxU6Hhvp7 zyN;V(OdW@dagpx|(kfbeK;h`CWe6dV&&>avJ*C_UTcNA{@<~6D&BRtHfb-*`Fc+-Y zIc=vbSR#9nprdR#naCa_m! z=X?+h;wKoBI&?lq3`!UzqHl~GoKx2z4QATboP)N=lL#9|&Roth7wbPW=3?~7_Ic1@ z%-Zr!$d}29dvX@*AigL`d@-70?Lb>?oh9qmS_Z0wS+%M=Ee*4-*~!2x9RZcG(X>6Z zqi@bOfdTtsbG;#lj5gAEEvlt=G}lka=y#y!AHC&quR>ksHDnZ83aejGH#;WMcxoYM zHQcjhPy85&sh0C|Pgc7`6oCd@k1lfR+U+?9odAcBB}FPt@k|bCY4zwfaXNyDhOU{p z(mZBKl$z2M`n=?7{{@Doa{e0rl zy!h$c=kokE)+pRNlI)~PH`yT4|Cw(N(LB7LhbdDawTpcsDrfY^whX15N%=Yk&YF8d zf6UGza!SBVi!`eQR#P&OV%6{tw`5@~NmTWc(Fos!lQ6-n`cj9#;tuYLj!qJHA3lK*rrNwxGP zO%9CEvjy9Ad6nfX5`r=j^)#YT|?x%c?o@m;9N- z#w1F^Zc7hvXy>YVqx<>Dc@@RB@oX2yzB(TJeoM-)Y*nUx3M$cY?787uvz9X5{=4P`^X2rLh3o{qplYZmsn&c{zTI*B< z6Ptw^uue*hG_KQjJ=>r&3sW#=?t`du&qm!oXkNRC?b+JjENFeQ9lD#(!yxV^LhMIb zawr4yEg)vO61R{7qzjc<12vmeMVpa^l>eysvVd*|yJ8wdl2coXb7Tg5p<8w|EnPN? z-D{*FdvV;eAP=a@=RYEo{jO=`qfg%EGrIW<_y$O0J0S-`$|ds|b-)PQ4Kgisf4$~f z9pYs^W7=}^I3<`myhrYogzxD zYfd&Zjqlis=2(bu+ux01ELo!9LBb%vnJvNhoRSz|m2mUqpmlt%9LKO)x8fc_k?YX1 z*l-T}YjA@mfhjZ#sspJCW$q=n*plx6zev7=97?-qe}1Mvx=aJ@lrNYfkuS<1^##!P{lJS;Qf>+Et2tN36go?QClyJuMs4fSN0o4>rp*!-?R(2RZ zdNGd9bbri&a9$z;gMMS ztXPS}f}xYT@SYO|S`OjTubD^OWyNw-twC|EN#4|D@xUQT-V1^0PO*`h{2cz%CFy31 zIT}f*rFWoNpU(cgk2BQ%>eKrcbR- z4?Vuqaa|JI2ep@k7;`dxg{{b8iRapxk-Oz6-69Qe+@y=C0Q{hw9yZ*z?dG}qQ+;o839!r?EE>` zEg{=EFW2eIQ|2K!Kl|I8fEn_?@|)`>Y&pqeA9`xsnk3_24;xW;)JZj0)G|`H?=+|L z6y^e%J=n#q6biU9Zzl!0ecfi@swj)Co56-C)b#6>%Rz2%uy$i7vWit=;N+M$Uj?ZQ zt#Gne+_xONbx*HBl8LWl5&->)?Akq3{P*@#FP36lL5?}5ml4!sY%hl2L7dPIHAf*Z zsm^aEojT8X%pkkCOsT;_Nx9OC;aZ&DcuyPxBkb(#sb;!#mvDjNg5~8Stw7EUUlMM< z3I4=nQ(&E8s*K0t2&$@IO%vK;b45zR6QcE9p=uAUg^ibx$vJWJ{_W6Qo$NTRmXH>4 z1Q{iT0nQcg&~MOKjdfr4oa#)-TJ&Vd`^o(%Ej%a@w<~9h}S#NZ}Zl`o)VT-`D2E zV=*-OU03I+*k9MBlgKK@sAjDAxyp8qB#;!-hD0f%nBJD?G|R{;7AD4&QL$|!4J&B3 z9pe<9DrP);8(==4Z_lqqFtgs3O(p+j5B{Mg3*S5Yn_0Zp z236S&m$i${F&}^qbH)Bj!Mr6SV5m&zVo~-JQ7sBdhf^Mno=URGIoc#!bSfjcKI-jw zc=1)X=iVpU?Y`tBoBPaQ$7f!)=|Z;CQ3fR&FKk<9#$yt{U2?<(aG5!u<+LSn<+S9p zH0ar^Thgajl1hdgSlz>W$tR^RvmALdpLi(mHPAip@A%&PoFkUP^nQ>m$24`dBs*-G zu92PrrYH%9TDDtQvuHU!tfsVd)7GKJmo1s5NHI3GyV<5hTh`?^g299;4Klbz$#~9K za?!8l-zO(2FdY?(7|rTVKw`6%o@bPB4j&Q8FKNF>PZ8>MK$+i{7 z8bWs3m#fY^FiFXHy_#|wZK2MEf{a&H1KKv9?o-bCyWX?s%UkzsyIVS=d+s98y8FQC z91|{f`WhzZkK~EWggEAsT4Y3NFig@*0-ccrHNZ%!qavr=XeAA&a~U!aIY_DH0MK+4 z`ka)XAdD&0FRF`rHSS}>uMSx>N~ow(VyI@uH*PuhLPP+tHw1LaN%G(f^I?7Q0?Gv} z2&*s?xs~R`AufA%5ieO(B=j+V&Hy{GUUCdskG$Xw(K%@IYI4QqcqMDePO9 zY`(0Von=hr0FFN1C1)lMODZ0=~&r#1LI zewS>%iY}*nr&Qu>s+i|eE8CG2?AECFz&(rXQmLGVMFz<#f5#)bTe!G=d-RlwbN@R( zuK@ifj$-dBc?Caz@$e?cnZTCBkLawEgj?$rPE|3w%eiu<*icw~&%Z211CVgrb(0MM zhH`T5UXy)CdDCEHoSIjjfO%PwHwOeJ6CSBZ%shWiuh|mtGyt!53j}4(7`sOGoFBqV z^Y~#8oSq%O9i}|cWwXWva4nuBg;mr*)V`E?XQ~M<76S2!06)Q=UrW3f`iW#YI_RawzXjRg&Z0>jxc$#Py#0d32F(`D84|I&w*kK z|3kdO%mq+fC~Yj0^9j5{05v60>jcn?p@=vUGn{BB#LerD)qp&ABzx29(0eIOf@ig} z>MA(_;X7e;*lUf7#cP;zVSn@^FD(ruc!c~eJlbd;1t=IriytLy2g5#)CAVBhXPJP^30ZtV>#*#im?0^Uh> zZ>2o9#71v1>ZI1mz}0G4s7b&2PKLx%u(;Kzf5%Lh=omCP64EDDn|$s+%GbsUWt-9H z?~SP^l>Wkf{OqE^sV>d>Z3vEp{gg}SkoqbgbM}4q=T2F6e}i-j|EkSsQA7V?_H=KE zr&<@J{MuyCDoGgB23qa!g<`Jy6mQmQ%4f#DQ*n;XJ;!^&?nk6;|fVX@@)V$%&rP`tODQg9xA3oQaL<)2k zk0x13A2_ z(XMoorwG3k=f$qEjJzLPqqj@zau5t~%UED8>Av%%Q7-VgSBWhwQ&`j3Y0$f~8n%t~K&bH6fDzTzwC>$@Y{> z@SWZ&d?)u6+QG3i)t;uuyIyn|Y@6n}<#!y%ltdLmcn@7~8v*B_`XN)WW$g^qu83Un zha2NuVPXmUh9$54i=UF`nvOe&KU|3TITq5lono-0v)U%9htq*kP>49+8!r*}FFouX z6YQNN0fu)dvyn8C7v~C>*+*HL?4N25zn(Sgd){SXYOCcV#a}NcWcMu>I6MH=l%5vh zs=ECyp;&vuma31@!$uN29aj5xL?_{zQ|^+#hQ7dh-a&_Gb@aZad*ko9+9u+^QcczKj(&n)RVYd!Rrh?tLx3sbOpe*X z)iZ;%yROK~yBtUca?$5*5 zqaW{@iL{E@K}P35ikfgk{0#9RtHHRT|LxTbocg{iw(16eb7Tz$Ix1Nsa=mG!5HSh8 z&o%BQYVU5nlCEqehYvWm2fpYBCX|{UB_#T#`=z}N-h@+1E%8UWZJZ^H6EoweRN?;k z)74}L*Y**j?d$2@c76D)K-z{6Qk>0StY64bAO&zFDdDCH&Io+`spJKFoeB z_)53h zt6J02O82at?26$z2>k@*-u4n@J$)YE-3_0936mnXe4m&ewluc7KVCXlh zMofCXuiMu*L_%*5zHcw0n|IrVwLMS!i7QM!Zujjvy)QR`zRwRYII+DiFGyQmFZZ^( zxgRIDy@JKayTA{e(p@g5+FaYq=NnLMkNf*c=a%lLrRV+gBvY^V^W=i7-p9>8SLw>b zL8xBu(|X8#X68a;>Xz5*S7OEEK)V;Z&8xxtN}`YZtrND7t0mXct)8dB|t)s~0QLj9t=hAzU zFHKXkz{+v(`|yg(eI@9UzuV2b+xB(K_RIeCVk`J|<=XqY0nOwzN#u1uT`Tl9u=R2t z3Q8O$^1T6$nsuI^61|^IGU@ufo*!qXem=U^_SBnw3==6Z^|XLq-iDdZOncp~I~O#* z#7%E6nW+z*D|+^z-q(YrQw_b3mxH@=jb4xUPOPo2#lyForPkVB_xs38-Cj1^mCUBl z-uLgB?O1v_K3@WL56l zYV>;FzYJS-yBy95UWLD1K?`Z(odha2Ydw!YoI(q|+$HW7hK`E9Ujb){s$Ac5qYm{} zX9RlZm%XoMOFwt-KHvPp-wwV~_P!h-`8s-BZ9e$uCpx_>MSl63c3vh=sgAj7ea0(& zAMdv9-S5O|-!3RJw{-U-?3!FWJY($1{2x?qUCD<14c(ry`N-CflXg%HX5k`0b3x z{_{uE0nbIx@mx0722l0cpzYQh>C$Iw(Bo0({GxMY!*!bP(gS@fH~5Wu!+RwgB9myT z^RmMeE%s$YsEdy)_F%(RpvO~>Xv6z>_c6xP$H{DKf7G=_%g5{M+gK`J?nm3E_wfap zV9#qw8IO@+I7ImXm?<6sqJPW76jiWF>rS^wlb(dDx0nzL57 zg5$}1kFQXDpS{)kTcLPbRc2S}feYKf6V75|xnmB5)GolEHXhb&}1a^=8e!My-(!hAHjAbt`>|Yw#Zbcmry%8}xvSPOoRixhC*7+S^+A z*9n8GsGTIq0{bq8RE^GBXB(TYaY@*3sY4f1oVjSLnoqYWIZsH$D12?}!e zbyQ(4v_)7r2xE#AXx-{Nk(7I(aCYwJh_D<`mCgyKH=y z-)N||p*5l7STk2NiL~4uA8n|f?QvBU=rB2WTYqSKQ0t_5HdW&jD@XKPb&zhqplL{H zQ4g?=UX0j+s7T@`l7Xo2vJvJ1jghB*VCQVwIc$at- zaAjAV)6d{cS6%$Aw^0G}tG~0y=}OlJikG@Leif`8Hx*`E=dx>;{yArt@a$gIJnJqe z+GufWN!&VTQ^{;uIpYB&;}pu9%(@s_uYjtDyVpe5wuyGp&qiE94pXl*zuwJ}P@IY) z6qFZ7n4jzGUl{f`BwxL9I}a5-^>qen=320j4ABe=h7n24D%OU?@!)flTYpzjb|>{< zRC@v&<^Qz6-mwq`Lld^RrXhG9t#P|L+ddGdi~j9k@DphBeY`D|#|sX`bzaT%mc~6c zU+aF@H&~S`E>w60<4bp5{mzQ>OYUPIU{+`ba-yuJd|mJ9>zPFaG-|{1B8w0Hdd?OI zw0yW+qpflmxtU4b;qN0Y)AAhgW}gDg(t&TAjnZg% z=SL=ZgYjpS1?Nh}cFjMGt^Ob?NLX_kb=V)&4wF%K-fohoRLV=5UTC+lnR5}&4=)dJ zVl^Pe$H>uXUrt@FzG@b1Lbh=_>F<(_0k+MWe&}ji;k6Tv)?Kn{SriI_BtUL0G@%133g09tAVVyx#!9wvK$=!MYD#9(!D6DJ z;-8WG8|La1BDz)V8=g2z%CF8+MYjxdIONH@l$wX;T-vlO$yeW|^J~Dm1ic&s%y`Yt zvzt>dHWG<899~j}vfPPTzR2e#LsL@BiAm}SiSi>M4NyDI+Dae*<#mj59CJ&*)72=8 zJWE;tcL{9a{HYC>q2sCouJsM}`CHC+Gf)f(-mFs&Mjf+*zaK zzZ7h%CT|9kSihE27Jz)5HzmrQ7NyVc<+~;RvtB2fB|$H#w9K03TQkLhxY#OJ-3Xdd zR-JyVpy(kBdJ9_^f=1lc2Wi8;n75|V2kj2me4(EGNsx$97$O_1a&&pa-xg~7Rguw+ zAX1@R_5(@~;&|SVztd$uabxUoOu1#wfy;RG9<8djt!9mNBp4ats?jaq;s~2p&(})o z1v(zXl`T8h*~6keYsYKhRr(azN*mL@RiJtTz)>xtPp5q`<#Tdswqw@#a~w&$C~ zc|GtC8ym+Bf6xq^W5?lQO?a>spN-yt82%v}w!#Tj#q_nLJT48Rq{}UU7 zv)45m6Cy#N-m;!T#mX%+iV@W^b3K&CWipX+_P|q?Z=ua88&3qdH*{1|K07$H^O~Ns zhvEe2tzx#$UDUtEhx-__Kb)=nIGpZb0=;9#L=Zrs{jlG$6C24c9N^eg&B8Z|Sx)*R zAHR}VWkOJm`(D=UymlvM;d6BMc5f-NA;|w~KUpzRuOGg)-FF18 zcNPYd;eXuDPR7~>yKlHya~Y+bTZ(ds`j7K~4k>{|W%P*_)IVRpBbcG7lw4Z}u9ifH zLycru-r&3a(JHs6r(5#cOffFbz@Vc`9Ol9>M}=#hM0g89F;ERKn4A8+r}Qfd%s86> zTdQ@c3e-{sYN`T}oVHA=4R)MQc1%zH=Q4V-gW+q%W~rq8zxFp&f&M$bj;*f(byR`c zsz5IS%htRwb#2a>sm_!BT-~J*wwH=W5l4=Jmn6FuM|NWq!|;vIblBPyQfrwrEO=u` zdWMJM1!OJh(*UQ)mNs!KaAE^F6F^A}e7gOBd}mr1U5S*kAHK+4RynEQ@3pxzbhbc+ z7Qv(Dw1yz*J^6zQiCeJ>fmZL?VSbv%>AOY({wRspJHcXj_!LHoT>8y_E6HGS1mCm= z17?~8jAspu*lMHZTv9g@EwU3u=*)=b62lUI!?*b>(3$ZJg041_D~WL*qLN$Ld@QvLyk6A}kN<;th)*GQV>Y37My1AO6*E zude#Nz-K@rPVjO+68242S4}J_5y1vyh@SZ76z4Rkz2`9hU=DL5`i_zru7sY_Opp?B zQ1^HZ^QNN{T4^{A@-J(k$r#}B@=ZpwuJJuDVF3)Lm;c*UI-4AcBr*${NYs$S6ha+2qkB!oCqGoWam@bylOB1n=k&2VHY z)TplY2YK3_#9D}e+A1?<0Xas)#6w;Akll?12OT@Al9+V+R>WH>hP@#j3T0G8&@YRC z$aZ3FBci70Jlm0qg;jDP06U1elPlq3HEc+Wh4B0@g~p$!rWUeQo;4zAI!oM28KeA4 zr!+aE{8S!#->Q)pjrAJO*pWo-<6&oZfQ(JUkL)tNIb0f#^4RG$lTeplZyjUkRX9l` z0+H@pdM(zs^1|& zr${x?TX9<^$?zfMdBOpk2Ltk>1Ye@t^D&u~W}p$@jcppT+%TT%dl6?1b7aW%^gPN! zT)i^v$$=O(ZoFR#-*9x^s{-<9&q+|ZJ}MLGWAkW}>F+$*Dic{TB><{-)A;>(kL&cu z#jo$0R+z8ylh-9hnVhivX-Md7?ofEovr(LxssnEi)!5>uLKbz2Kbt5C;;Yw@*rjT) zAbAaNocfjSX4c6A*n#Z1=~inEb48w%QThj#S|VliBt<68CSxt^4aeLZ%DH(s%g%5Un`+~*qQ(!u9v+%4>U>Kylk(qJ<2$@$(KpLVAXIt(P_ zn|+(kU;9a#yP28k{;f@>F+;x;xcd4an-**h9p4UY`$lw(h*Rw6!W`Z#cgbX!G7^-LNzG;|!NdVPUoR zZSmqOUX%{U-m-Pz{Y{Cle37?Fas5{ar?I&*zqs9s#h3ztL5@-)Q1SfyMdDrRB-MF) zK!5p+4(oaBjduMZl0kQKnZ~p@Jh=Cr7;(ctE^(iz{)e6#562AVi@$;91=uF0 zsAz*+pqWhq{h57k7~Ja_un3!p1tAkh7)K?{r_5emIYHT<>+CjYKhnEKvQKb@4ahcf z)G#VY7R2yfT==Yw?K8{AE8OG-^axqtEgb)pDB)QdohHKa&v-34TY|q|Zf5g);};!E zKNm^sOlCOae3oZe11V<#_PwYIo9`zWWKrG&7@}Z(Ob)^CxU&O(_T63f%P@Jty#t9U zB9(WQTgsmRMlcvi9;gTB-|-ay!%l?rjQUOSP|d0}U=TPonMykOuT75+ zT{U5f`Vbjm^U8zR;0tlVw!~5B=qJ&pzBIZNjtR!Y253(;H)M>i0|3@s0uJl>Nre}Z zg}KF&7{{dcMuQ?VwreLY`ZRQt?ELuD6c)^>>4S9C20eitQT z&HgDFIYa8mvN87)zGnm-BpSqVSM56;BXG@t0M^_%QKMObJ@*F16h@twRc9;p9!RQ! zU4COH>PD@%4$gf=IW$5Y@b;IjL6UQ?)Z6#)<%0e+n z5t)fo!9UDPoygqv0b;!$ zwMoeUTFOAb)A!5+-*&PL)U6zOQ)nzUnukY+%gG*ft;Cei?RUyW{!>2X*D&c zu^b=9$;3s01JRb;(P8?vY%O9Do0%xX%zv#B4FTEIf9nNbH{a{GM2cRuvc>hsGCl$k zt@_7_gXK;juf=78`lN^&q9ld-_=g+55zv}?f>Du(#VH=D1y}NBb_l0|sO64$Ftlb5 zZ6H)W!E`Knqva(mLop}@4KNpHdJjqHUa~;_IsB6P_R?YMH?Uo-=am={Y2w1Oj*tw? zeUeK)b!4-1O;q7cj#Ra#mkifHV3sPX@)rYX?k>5CAdlRW(1%;xckxigBq2#Eox4&|H zFGTe$(Xj@tS{UjZtQMO>xj;#M+f{>vud?Sb7LHnMI0Xz_c=fDb@AH=BLD;0icrH!u@>ty~zoDl5HGMR@i zuFoWb0O229BEe1>zHKf!rL2xvBeNzo&*%bZnn9hNXJkDpLFh;?{<8zpcS{g1rS}?= zdx{*omdi;?1%z6gp-V}3z#zNcQA>s0kp-4(!ar#o}f%nV&gRf_OPZU5wey6B{%j*%5c2;@Cl zonN=*VNFl|oumOCoHw0Ts$dwelWgJ(F-$W>^?m-TPlHm=f2G7r9dhBsfLJ4EvG!;W z{zIS+p^cB3+*myc7pd&gA#KT~C7{Xp${5@ub8G}9{3Mit7OKTRu0<>CX_yKQ{l-6w zCl$hMkN^4?idg8mHybhHb|q+=a)5=rijk7e!|{5**GAQKE(78FSx5)UHH%QF9sM!` zX!R`sn}8lUQGWpXxHxHqBEuRP#YUt8ocBl){m9@Q!|stn`Xml!52viI}rzk|Bt)T5Tk3C!vr32d7hmv^3%i_+<-ZBFu6@z zS{a0y|E)|IJW>|K#8Zl@*1&IUu^mI3^&9uQBB6IjPV!JZK==B#E^0D7HwSxx+xV>=&xp{UZ6|ubia32!I>L+50=r2 zL?%-Kx^Qi~G)nR}$j)+GY9>XO*4*xP2)WejE~=qw!a9v_vWR2 zVn*W1)-*2@32-xfb$%KQQI}uOis8o7c5~a=U;&Uko9|`~A^NPzSsO>&6t329i9Spj zDLInG<|f1+*T&AYF`|7vbJ$}Yh7?4AZ1#x|13XXVdA=XW4i2pRdBXb%^JFeIch3Wu zPj9BKA-LbPv*5{-tg(nfYoT0Z9Tqfu{hn?mbUdYo7cp(J; z-m)d{npNthh=x>Rx<(<-hpx6*0X~0*tm=ZWnlD_Jzz>-lcZ_q3=`Ag#phM~Q$zji_ zc&2T=e*x{u&1&r-#fX^;Pt#OyIEnAc6boG5Y;%o$A9RkrZ&k2C&|JSBK|tP#a0q}I zsx?k~B@1=<_piK}2)nE(GGLX(o}jI2>qe%GX?#y>^9J*IPfIsFoSth&poe7`gQ9J0 zWo+40)=Zy+@OgGn+?gqDea9HkpUIVl9=Pjhv+nfNY!zzVqnm^lC^Syjigki zL&TK4u$em3WuJvjk{|A;X@kR(X>~b6c#)vr*oeF z@F?AM2d*ly=6qzvXz(@9bWD;Tv;8Il8!H%o3do;u=EZs4g#mkp^@gT2=fO~(#z=z; z7DZ!(3)h2^^IYCbG;xiX+*L zMVkzhB-Mm!J5VJ!7=Mphp@0H-N2<*BCMki032e01>D-+UZRhclQ?90i@KcNXGf+XE zY#ofI|5S&x@2MOf^oH+2s!5B2hCvR+XRX^5^Q_+Wr>kH_@*xS^0=?GOWnnSk_vLSi=z|nQp8Bt+i?)uK~7zc#oF3^a}`84Bt|9 z5&;QmW7eNo>f-`ehO+R}T*?foK!n@kO=^bASm)UfVunH8CO-)owEK8}h zY6_GP_7}Jo*AI6P&xF`V#Bc-b8s2OLMx>c5o73fAWg;I6dx(+sp#!0Br7ViwZvr;B z*^Lw%8L3Y+l@{ys%HUlRUqn2ga~8hpzvLoY4pcM!1o^EBn>osv;1ea8Z_^~$iW6Ac z%h5>{8kWclM*;Pi@|a|~)eZ8+5fQXpeaH9me$cc;#*-ASWPQvkJF1wgoo*O`BPFX* ziwUU-;24%M2=H{7*>CQlkrm$l-5a{Z+5|d&wQR1JbMK|6bKa5EBk7F&>$q%NC0i_R z*m^=tEXx=uXa<@OCyr+|vxJF(D+yZ_1Ftorlb*bb&T?AjM$z-RQRDtz9GwG#ft3zZaXZFtgV5iFtq6|&ONj-X@L$vJ{dOriE0oA5PmJ@Yp? z8u$(96E{k`8TQ^H!ZUf=r>sZ{PPg*{3oN;~YEK6aUR#o0Lv^hu@zJqS{&^*;%sFHz z%w3)XCAAOqe|!9j7*?p*fu5t=`Es8c&PVU2b);*G@$-&$!@bfZ_nJYUVtB6>tNm37 z0Eaz8hs>iG7wu@2no)iW*_W2PNK$t!bW2Z@g&aq*j6Kp;Ltr}|;xi;BoGYR7(*^%3 z@PE(ciYda-a=a$T{R1l#TZsor9Ar_2#hCO?z0!5%ZWZMHE?e82mcc(LSAD7!A$w({ zJqXKXL9I2c5;g!vY=G2&ZSbcO&mKsVn19M1nh(5RdY~$((e$jcysFQK%$vehg2|bs z)KZ_%8q&dnZytfFPwg30blM&e%^Onv zb%tD14UzT9JFOmz&BM6(ek)v(ZUf`#@K5yHKZz5+zCt-1i|sd*A&d+LBuVb9Jr$%q zC6nPNp^kf?`@k(!-Egm3e+Gkn9_xWbUdv^G3mx^}aBS0j^gjH5$fMFx_EdO__NvIcOv+Gk`@R*6O$KAc=%*W;9|SE>p~|8&CD5++ zGj8WvY9I&&RU+zyIFWKTE?NJ++^NPb1=F#NIhOmBE(}A!kVybo*+%I?ZBsG~BZnTln*@uMQ1>sgpVL(L7{dOIO&7iG^{6AKp{;y+lVM@8w#fm^%~5=Gj zJIaCL(!Pm`d=FIFF8kuoU`ZQ;%{69qQ0nLIaU7{eOe$Wu@oM^O_8zktjssNHb;eFd zYbQ&c6(0d{qpfYI@*`rLVdn^JgS6r=T7+PFq!K@%ej4=WA1uwZr{b@%?j0Zc0hkX- z%fZ<^2{n52RAtX>@QI{57=8CpI~e2*d5T8lm#bQBKm4N%35A_bW5V zkw`%x6|2Q=)Ne1IM3hyg)I&cBv_|YO3G0Csp;F&~19LzQHR)|+YO5ay5Nc5<%@KWh z&y{TK48r0!|3w9+;e6>wC7q$e{aU8htAc~dSN5y4|# zXb)5hR66DuRtH&3(b+Y!owXKVxR*l7dq;fLu*qn*$Hy6BYIl9s6PUbjMPiV*NNaP5}PZ!e&Hy?R`=;AoR9=iy~KZ$u{|nFb^B z14U6a$SEv*VsVx&XM=M^;PrO2RVsrb1JG<^`7O!72R|d>%2G`n1ue6@u6Q{df+0mE z^N4)m*8}!VxDIw;WPX~?ncWyNpZ)P{(;upE0#G$$i%W&?x(du>@jz<1Hj0oU=n8LN zLAag7m6pNPvW<_T4dz14*|h@FwG=y9ef&miZtigV=Mr1a^$r_(w1Oc+pH0D>aR`}5 z^XRD!M7+uC?RVTcL=noveroPnoJBU@L1nbLs8lz5$b*tXQ>r0Ei3g*f2H(^?9t8Q6 z+xEMq^0VvF<(KT{nM0>_W+##^iSzPi62=6EXbZ}$eu|<_O-Bs1`_b8G8K@e?Ge{^( z9;EjQWJ$=G9y=++&9j}#?VQX!vIAU`?AkHu%TvyU8z$y)5nNgaHQ3Ys}C2K#^Ybc0e9Yr(+e|KB}BGJI5>cPmN0ifdm=xY!L0iG z$V5k(W0GL!CmKU@+C8~i&D!$h)1^93cGM2gEf-<8u((UULp3BP$WdahT`U)a1k9(^ z8YPuaeCtzN(#-PHV8?*e8-C|8sTk>+cOI@RFtOjw+VPr6)*q%5*>s4Ow(>nJ6zC$w zeel^H=_EBcki%zXK~?JmtaQDG*%+uyb;xO4lU5$8#e4h$TmP`_s#VmrUT& z4r@Jp4e7CCzu1tviu+3;Nm#9&VZ;V(Kz2I@3Z6s-U=kTjHcD?NR1Byt}+fp zKDyU61LAR$uUuoa@!u>TViECN;CL-q@K+Br{e!61UH0q!wOKoVMo(pMlOkmibcAJL zP7`gzzhxK>NZc%A0^lOZ;wXLEC9XlJ9S8|XXA){dN0Biz`L#akd!A@DDt5#?<5=4; zpj_R5cL% zZGj-)tvUGqz%|ZmXi7x-QEUujN_NCv#(p+O&WrWTn)H!;OYJGs_9TD&SlZaS^#0-U zh*y=<;50F1=~ku@0lq^Sv3bIp?7##@fz7me=JXXCLh49TP0PEJn1ZN~J;6*#ZhG=a zCDfMwN;64zT1cGi1B8=*2gOLu?RKWORkN+rWH;2>ni2~5d=8W*Rm#}B;Vu>b8f5y~ zhf#1KPfa(c8$d?RR@$5-Dfq{KEX!2CS2Vz@SUR#nq4VYqun9wBW}$me^G1L}8?r1q z7l|9D>#>9OuD{w)k%^|CZv{jB<;K zT_M;cHd#J;ZwxEyj{PsE4f1>+KlgQ)KX^eaEa+uY3DE5bR#Rc=P~Qcu_zEryX*&ut zzq2x&L7V8jVUWc2Q~SYw*NFh?cB?2S^U_O~zy7XR_+8=ou$sJDB;Zl0EUKK>7@G+# z8$9%xTNYQqjp3|n$UIaqxt8SfBMW(o$>Q{6Up_;9KuoF-C+jDVnKBnKjW|Uut{_!t zb%i~(3{`sLX(yht?7%S@anF?W7RkFgBVb8gu^hTCL>4 zuwx@nN*<mUSwjt<$ej`qMzhkSBz;N<;+P)is$siuUeBIw~RTAeT4<#4OXP& zN+i1yb)iA=;jIf%v&>-xL(qxp343<{VLf0#PXm;*3H-za<`Xp+8cd-Xe1{o4zH0=X zOiSLYy#snV@< z=S;dy*zlWl*Qm%EyoTO9YbW4=Mb&w5C!)*TkpjWBDoJsj50A!q86xJ+o87r}q9MYf z!^crzz8T!KtMj-!s~*>yLvMsZl+Sqoz|v~5Ay@AR3r4oWZT$K+7kR*KS z>06-3-KE5}+kyW{h!lZgkzG>%hZNHQYm8V`PPQ4Zu-Hy#MOy?YDZ5QZ;!r6_J_eGL zOx^6J&qV~9w9)2oI0pqB3{94aURH>#nyPo2yeP~gwt!R8MBHgy;<&+5IOKR|)k<*2 z3RT9deVdodCz5Y1xdYNg4Ve4rim2iE%AnuS3K?`jZK%{h2c<&Cz&c`ooxGHL{UPqF z@EG9Yse2<5GIfU|znA2NIUjb-B)g+zlRBzmOXpr?P86&vTI4&cH3)BkliNS@xAt4T z%X#usk@wrd-}^KkN9()KJTj_N`^P$0RAh;@Ofr$?7{HfAk~1bqf|YPVs1WW%q!I3l zfbagWBKv*}yu=)nfO&~gI(TisSSrNK)gbJYra=i5>>_SmWjwAqjygjBT|XQ8`p^WW zRr1r2)A;d6IE581a%7TzN}Islj#FvUZ638$m<&=~UI2|z-12{a1opS#uIqcxJ+o>JThs-p?{LBHNuhrJ<$qzkQVUntpK9%?Sn!$d`HM z$@lC|cr=VC>IrC>W~%r=_bTl!GX@`r%EDYkL1R>gG||i(d5qSB-ovv)=Ld}{(pt@6 zR0wniw<)cFjPV(h?B{&V@BU;Jpm1Ql8!ZCGF(;OTKa04(gt%d!%NQXmVMlc%h|G*h zozHbP(M*wqCf8h{sK5?d!UP|WL!O4ac2Z6A?oTDEiJ7CH8n?Mn+B4d1&X8F@FS_gd zLlLgC2t6E`Vqfb*I8_3^A_BXYEQ@x9$Rhg>9<@#FJNRtOZXcH!I7jvDVG(DF2T|@B zIJwM5hvmmKI^UE>*a>m(pN>IJKuyNJ6`FjjdymFnH}z zJTWZAo7;Mk@%+BD)YKUoL|Mtkv!-{+{~`n*O(d&VpmvCVk+AlZt)jZm74=|RlbH&p zn*lk7)}$3pg{j2`*t1asetR@^F@u)epNBhz6i-twfETaTF3G3@fXCmcZjc~vCw0S6 zSkJs9qEOXlzleJHS@o@f8UE(V3Uo9^NzA`?5nh8`BV?XghgX(fc97x+MMmfi=4$X) zu3l_DmH$erQ-oG<_9+u4h`t}v7lAFkI(=HYI z_`xM5bt&MHFJz5&(EK~<3nb<5=ONID(@6OtBiO?C+c?2anr^$G#oS@~nCPdppAl3o za&TM2RGKd(67y$J3Y8OU)|WBWDav}&o7Lp(yC?w5 zd9Km;e)JdSLgLP3ZImv6w2b@)M+)ukjbGIH;HNy1`Y|ME2^D+|qZtd0ue&-a4?#?c zo%2#&*uZ>ww7JH3+A4ADhrquD9v032Kw@9KR(cr z1iDj^ez^*K8JiJfqPgjbLY%So$l`mZ-`(&D)<0gU_B8f~5yWzC8}Yw0J`NGK-0G2K zLEM)C_D75z1IVcOS_Wilq3LczvWxx&xqlLPX`B!3Buy~yas?X6e@9I4g2gH;=>iZ= z1WCNb^(EHeY0~H0M16 zFIaL~EhFMA@6?eCXOn2wBl&E;WlMHy-;#ytn7wgu40V@8|H| zz;AyG2!Ba0{T6+YOc->L?)L;Ai!Kla#ynAIhTfy>s`00SgPDwgRWUrycdbMk!g!l} z&BBZ4OKPlR9#dI9U%;Nxv(5ybqemV*0A%%J-6YDhj-ny$9<|t!lm{$_HY8_vVqfEw zggTe3Ug1WFlxGB^DFg;N1$HIY5w}crb?9Pg667MJAHCk{|H%y8t{6sgPGM9=njNO;rdU;4YP!dQePAT zgFF*WMz$z%^M9RFCKuU9*Yoy!|FDf)NZwI5Fa#J4n(VFo2WRKhTv^nu;Ut};V;ddY zwmR9dZQHgxw#^;ewr$(#*yibr@Aj)Y=gg~BvsS%7V2*b@&l9pa&Ztj9wf|QG3)8<> zWKPJ7Q$Vy3bQU#G0dIgS*h>Yws~;t)O{nlVKt1`1idJY05o`L4k?yQ`_ih(A--PAV zO_?J}kPbPkH~lmw*dJ+T`IvCnP_`&Xh!F2WVSH_C5t1(!k%t4jMu8Nx4XVlgO7qmI zNB%pIm4`&6%mb|qJ~IidNI7?{ds#|6>g3m6-O~zR=EGXm(=`pT39*=}JoNTw(oLKw z=tG8@civJRn8~>D^WQzs8|B7wS)-@)CJ%-F+=lpH(oTFc z>N85Q8`!6`QRnsj)qerbFd_zLxxTs?yP)YPWD1s|d}@oS?;hb5_j3{IJx;po+zc++ zsg8UMcG^|P)fnhbKYIyoN&7oRft3;UI-p7}s)`tdVIZ_WHq78fG)vjq%nWLz!Ml1i zR^!QhxL?y!_|UGvi6Ytl9du)Z4(}>j9DMR#qbZ%b<4&CZ47ze%x9Ls88PY46yCRvf zUxZ6|utK!1&*O(Y$fkWNWWzy^49==SRDU#h!e;%8Lb-6ik{h1=`P?j6*`?<^63;0I z+qs-*dAh_0&A3c*>sc6y2t^zikK)iHV-ziY*;PUVK-2mTY#(FS=-m29k8~Kv9BC6p z@LB{`Y}2h;ly~Tc@_Rk~T)Q#>UL(oY;fn7%%})*?wr3i;(ETz&bvXVYsqQ^(GA! z)vL_s98`O{$LoWtuc|Y0jlZ29c}cC|-?YYmnSU1_@E(np#a8{9L0EfGnTGM{NB5c0 z5Y%rHn?b0NbOt7|9mOy-5&V8K6Y}D+$dpv|*Vidk~HUJRCcsrN}mUx*R2pZV^zKV5f^_ zS>iF#pH&rRWx`SOn#=;eFaJ?a^NtaU&nka$Q%b&1>x3yva;v0`N`UwS*}3*NMdW9x zm_0|t+dz<^nFin6tw=q^ctA2PYrhNK&e7}vMZJQVh~4O{m6oEiK%bcU@vIzKjIq(SG+PzKEM|3#u4vRxW>9EkvIB9oAE4@-E6yK6cv0{7$yNvC^u*pJ*$wG?B zf+&_ zH_WOWU&PmHvZ-X5zQe3V7k1};Kr313k$gjUiag1LNxN5VJkFmlhoEF%o;+k}Q*k2- zEc_VBln{-I&e|;mIScQ&bGPnj-x?6+%pM-7QN}Gs79VnaSXAy6S^K-4tZF6bPSQ6T z0#O^pJ5)U&l2in`g|WaU87~<9uhRPksT|bmKbT$o7cpxXirruXRYdKx9`&clvh7mZ z3Y$8BVO?Q4`-ArJDT0^@rKd*M}Ma<>zQti+5xNlBnHR$nP z@cKselHeGfD0aG!EF>e?9&ffWoH36C{L!7anUhhaFu5%9yf&{%-RzJo5IU2QC@OZB z-`t=+wovl!eDVwpa9;^K3c7~fXp8xc+^47Xv*_>>NLAAOw>;@!=M+6UU9u5b^4JaP zyMreQVv`Oi_k$JfOSvnU37|A@1)J&%_bmR#m6cJ@v)a4&*6he zNJV}rRmmJ)seV}?eET$420Kg%{EMypZy%*zp4|oXD~9N!utlBZ4Sok5nJ{hQAjl`% zc#-H9CDz4lCYQM^7-8Usmf||^2UkQp<3fkXOV34>0P@U!uC!#GGWrXJ12dThkp`DV zO%HC&AMi8?O3g?bW~abB$~baKx;Jju@Jal67G=Xfl(1nbI~(^UIl0&!u__9_Z#8Cf zxg(LUn(Q6*vZhed@u_1koO@$a!BpZ6#D{Iq8Mskw0$+qZd1lsrrnt2QLhBy2KfK*Z}t|1dY zocTpt9)ZSA8t9(#XHgmA#|y}JlfgL*3NCt2)2*V6lj>W&ATpj#RHm!b+x)4Hq#%Fz z9be=hY+a6~BG&7l`v5afrSN%Kxn_ElkwRY$p+QB1>oaCy+!o5?N0l)jVtCAhp2|<%1oA@bCA&RSvDiJoGp%!L)$qVgm#dvm}%Zu#-Acj4miF44l*eI`9QaT%%} zs-WF<&?+&jf`DMA7%tzN?AijJJpp@oOGQ-k%9ASc`QUxNKq1YrQ+P@)&ot>YmM81N zmEQbwwp%4p8*^kkri|zEc>caQ)GizVIPjJ@j7SJqauA{oCc+-DrIr-UI{BkrT|rJ%{h7CN#_awDH~goyNxB|rb&9-p(19UMD$^to*+*i z_`Ld~zUlct@4V*dZfJChkWE)=JS6Ot%`yE)@TtXxw-0cmsr#_pP{t`<-*g zk1mRD3Om`aftz8yG?J>Epi4O?tdmkPhg7$izfRUVXPy89;BL~)(;uhNX=?tf2{@lj ztnhl6%qJ{+XK6P(lWQ5!smpJMe;@GN?NCRxYhKA)P4Ao{f&DC>$XBC&5+#3oDu3Rs zB@*?-ih?S1C=1hrdTuq%PpPikJq}(Wt z|0guk>V4>_Ey81R6lbUkWK-HQpv$@;cR-bluR}4vjeFupuoDh+PXff45WMe_OVD44 zUXePf%~37*l6IwA0IM3nCl>nk>4I~;T6J5(2UF4MfPZe#HiCQkN(aQkOVv8Bv0xkO zG=^5wUq`v6qD*IUFYnrU$KujDP^?Q!3JG5wiQ6-@7K{WYKk%X$(NnbrDMOt}4@MOr z$(Fnq48>k1mqWbSmpOwOWTz#N|W9KGcJ@7$Xk!ZLob(EqrGj08=3SNiN#JnINlj=d2bSS}AP@$V; z-H67d>b?)d2)$K3ZM4}oRaFzjb0A$PUy-zih)ErsAU->X-4V|~2_jd2inu)= z7D7WhF<~{{b-);rusW84&8bL(=y_Eix0op;EJ6P{x!0KlVpVy5 zSexijyDZ`wM!k6XFzFZqQBm%%ngR)W{ill#O9^SupYfzJyNYIQ7&0@?iwez1Mr-?1 zd6YCX(BKtr>T`lWk{sS1Z-n`|AT6 z&h%~ogY37}Hq#{-3A*qsy_PE5Wtn1i?+H08+xT`9(-D*2gYC|#-ZJh1^3UyN>Xn`N zM3pKNtWfTZiY71*W^OB#4F;iTcOgp_7^w&Y7aF(h;b`D^rzFg2i_<$CB86efO z9xgUx&KrfB8F{iIrra~KX8&|%&%6S@3TB1@C$g|xtf)_e+VuD{qu|7Bi6`Txyt1Hu z9IY!|p<@|K4+YEac`RXDSgW|Wu{w4@BE+8lynR|%qKG!No=oTx9DOmr1XE_~sqt=r ziR*|csp~{gMF0^Q1*I|tL4i&Og9VYwEAvYySR`o9ya`I)#og%-Z#CNJnpaJDW#lNR z`08>Og1R)7(27KxLh2+0k42dDZ037Hms+ays(Lu7f7lP7Ocenz6wWf(b7dp_msw+7 ziV@FsH-hu`T!G}_f>m|EP~mE(u%p#;P|Oc5z%-ehuEB>dlb#5>jHoaAqc9IwzJu}$ zFDQ!Gui0mw3ecs%MGCS2N>*}jgoQL71ErI2Y4Mfo(=U>bwGEPwl%U{KrijW$yPX`CC1O23c=K{%L9i8|Z(v8%>5W>wP{WQ5t$@Ho{iwf5YP ziui`Kv84;hV+4ZG6D9|jSMPB6$`%z;WSYIa`v53M3%mh{{x zaaCm8XDIk_zGh}JsijaV&OGv)366<0xI?_e8M66ywOWPzq&P9u%kJ$>Vf(kFrY^vU z`Ep_H;pB1-%Qj>>g@c$X#njUL_v}qu1*)HOFqWjqy;zAC*~~JhguW+XV(IgZJ*YOM z7)WKlUaP?GlnLQWq}aU8KT3Pc4#|Y@KCI z*o=IJ5|mryMN*K6pOD`4Ql~J_D10MVbUD)J)39Bn2`kfH>80u)k*%Dg0mUlA$Ie2q zijeg*;WOt*xFADsIk%4ynvnezgzT%9XBabt>}W2%sya~Qbkp5VAu_@I0Na z{@|Rp7xK*tbXkjx)_CXo+g^hLK5w_NJKU)E(b1gk9w-lTI`9?HLSoP5E~D0)qyz;A zifG>xx?};6`bLQh0C}rHX}C-5J&d_2319j%B85?|OIcK1oe#8M7QZCu%C=AKD?h~I z_I7IHxRMOgilP=2msCsF-$UEYrxuW0kmvknDB=AL5533QVB=GR572E<1(-ao9FtQs za+FVEzvv`BBA87y4t3RPRA@aPUDBy7K*mH{LI2W})t$-bViL$$MNTx}>G&`%77e&k zRQS#J{G#UKycY6l>>rv;f~5;t`ytfq!k@(?VWT7@Q}zu|^{ZB{_p}79J_Tx!@o_Gt zsTMqw2hIw%=ang2u<@q!XfIi7IPVK~l!YPh1+lm;sK^@GpSUXCCEv)Qqr{Kz;(=3> zypRZjGY2da?fXKD*m61?#rbZbH=;Q58GgAY|H&8vLizwTN$aJPh{C|d#I%XSklcma*@%oz zK1;Y$BXQbc?-G-~l*FZnB!hYio~@6++TD)AoNtlH86sB*Rj&ohO*Icq7|vG6Z_-BB z9-h%aM%&H?=?})VtdWYYtzBdbZlrXYcqQW(5 z@BwV77M+AnXc1l@sX;iS!+s=vBOfek4-%clOlb1@m4j{4>ei^(hmj>iTw?;$#^FoQ zp}=wzNT@uPIO(4hB`maCh*hQf60*L)E2z9Uq@7dG#@2br`bu5XEV6=y;i}-Cty{!e z6pLc#4cSyaZDBc}4Hq2l^E@@qhP<~s%cYjCk^1qEsFt>H4~rz>PcSC}daFsav0M^&zuFRdrRu+dU~*c!<}duojDZ-~G1m zgu!scL)o++VJ`P5VOEr#;OxX*h--1PrM_mvl`&@i`GSJur1ZGbMZ7lXuZWSEmbq&I zR$EeB8AGxj%t-v$XADnTDu?3|%voO;emEPE$`J|8DrW{Z1Tcr$r`)PTC7IU^-*)7Q zplagwmIF66Bv7~K$Go-A_fi%FD3xy?eU$3J>ddix#?~DKPgF0Iv22`)4$r?YYl#q?WaPm&P#Agx~{*AO7*atc8h;*4m z+EAD5gH(QK;Kk}?olWvssT74rx>0R`GceOgio$+PJbVq`8La-`97E!GofPmZZ|}qI z^p!`WQOblwE3NL()k`)Tt5Z?ppsPDh7o6D=9@uvYi*Xub*>sxR7P{nZUp_Cwf-tS* zC}zG)BMN<{K7(X(DDRGXQ%WHAFBhr*iH7M{;FWKKuuY_44Swb(FeFi<`E~MdzGlWX z_?nf-Et;O$ie4wUyB8kk_Z&ExpR(I4Y^l{Xwcann({vjQtT-N08pl9BSQ2+DZqskk zSON>&$Uvo6)oR~CHij+#XB}g5xvJh)LCFFb;AOMt65th-M~^o6H4jMCq0HNca`FMW5&~G+XI-P9+W&{Y1w5T zYx{o5tFn~K#KaEO1V4t-wUxD&RLbfb(vxdJ2dk@j)ZKs)JI0rt`YC3#O=uM{6IVG^X$@a~OyN|lv(jFZ)78Txihw&O#oWPPb%h3 z*4~NpaY*=UD4YPFm+Y;ESbkrQyf5(~H|L#)yQ@uG>0iS4v}f1Z+3?L00r@}9Ie+J# zEE1iS)X6001PT}O;B5;h{*jDnsW8;U)*#J`z|wlifG3`}Btm>ph=S}ey2uU?Oi;b8 zq(<=!DmWhT#NRX^)9XwMa5?(jnKYh}CoX3IWCUHmdO3lXIy(~_! z^w_|WJuc%%$sdwgyhdZ{Wy#XE0@Q+2Fmv|Lcq{|X3}P0i2j}|XT_lHZvK3W!^*EC zO`jmI)VWWwFVDjc+(hoDcTAmGgH4_$jBQ01^m(#Z=-v{|i+PMt{{+CJ2Dt|#ijYAPL*6zQspFu~Fha^ZlBFQ6)lU0W^D{jm zYYcsx?QynRJ>WxBk-z=26ag64nI&>Cbu>-0wGD=t{soQ;DYtz;2-PRow}p zOmGd9LGyr`iY4gB)E}6ThVr$Scr}=lD)^Q3CS}Kc<)v*vA)8Krxw`6C4qhy%N++0a zDj^9a@yCMU{TBx=YGkGgaWY}M$Wm(si-U_UJPt;wb`^@faZ-lzfs~5Osb+OZy5*P0 zGgYwG$c-jqxQPWq@L8Q5s_zFAxHJ)6e{ARIO0|o#NqkN6kefQjj)9hUsL?Hc%#a%v z#!mi5b$O-DfZjcGy^5ch=x;RdipIe@+vdI;gK7_V`UuZtF4a%S>k?w@1%LhaC_qwN zW-Q3L3BPN4tdGsuvB<#J-}vg0$l3j9f`ZW+!c-9nkq1o7xgB*8KMUl~bn8a(WfRg)W~*kWv%1d&McFBF}-YOZ~4t5?3OCM{)B z3!R-}!u+x8Tv?$zKCf&1(#Hat#SG^2!eR~dJBH-u%P=G;x3~f4H0H-QS_qf){$Pcc zj{M>x>PBG(@aK6iaVa}anfM#qJfY&h<%Im`UKhqc6>3)gfn=cGtmv~1pTRY=cbOve zL022Dretj~gqz*p*USN(Ln>^gj*D9c&)a(-g~5+ml4px&n}pWZM|ZVaB45}5aAU|P zfV7V#8F7w5_xY<5#Lvi|(BUiYCf3xlP|P5H)H$T>TFKc#1Gr{w{E2&ob=Bw1!3#Lrn19?G;)& z=Oj5bb=kJOwIC0!8q|uGr|Wn=Lc?iw7a&miktgE%t3=PD^uQ8(zDp9*a0UzW&v3RY z(a$T^bIqZuGG-*o3YF-J2%XzQFP`ePZItE69*VN=t?-KyaURN4!f@d}@--eCo*On0 z%0RDNDo#0QjjlrzhfHp_KB~)`)k~R%ILayd}tr$1s)rjT&k>PGYd^m=| zE|aDes;fBRh_pO!RYzUyF}OSfE2vd8fT-ZU9%e^F1h5#F zxk8>XmuY$S0;3|nCMVDCUl~+7DT&k@+6Yk5P0K&sznBu7IZzzwOxpq?9Gk5VmNN&y z2&%M;#nvJN=z*UzV0R+#u+k#`deROGVYAyA{u(bvAw$PN!V-ZBI z%tkeCSo6yn_MGR2al3D`D533#*WG;-65z}VP(47Iw|}q&HVw2~zwYi=<^u=Sn2R~z z3;Z?qnIkO`QSm;Mx?rGCi5c$j$GA>2f$gRcTz{P28YzW6{tY)|!6?(wkVbnE(tU6> z!hnJDeIyv4hK?2dWtX^W`)#Tu0EbUDx+=<$ik1S*P&tc8O-@}Li>SK7S#_C6QD+1K zl;8F*_L32w*rmcvjKD0Js>l;DIG2B0ncF1fC=mYd^~M|yV(iGH5uL@GHCg-~9S!{L zSCyIT9WBPcI1odiik_~dH6m`*KoNd(XEcPACJ~`p&O;*+TZC=POz5RTcJiADH5I0R;%6rKo1N+g>=0Z9e=d(H z5{`(z<;Jk}!91lP*+eek2~bfsM70l9d+95wz0Z02vzf?Kg)9V_wbDFS7Tp3-Wtk=V zaeXR#SDU_I657R9CYS%X(#*?6>G>6 zJQ^jI{{~-p{X7k5hZ1{he(XX1ad9ZK{29L2FYYq4^~#Dr1yj_gCor;s12ARz;;6iu z=KJh5%=296-^xm(7b388(Emu`ImAX#mhFTF(Ya@!BoLl?g{sP7_E8zaPt9BnV5%QT zY*w7Fh;i9xYLgjQVbDb3YixR22k1LtBGDhiyxxV3N;);1gTm32OTr2I@i_k3=yjsy zDsEJDW9bC`HL{UIrJtlyvT%U zYqJ;`7_8%78Ez@liGUA4NQbflzTS=d9ye6cZ-Y4I9oe2aE1L|(Z6O!3!t!=grHSUs z1zOKdsA@1rOD)wF^IPCwE*;%?8zwn+0`gggOy2S@mc3{{{6A zaxOOitz3n!#-JlIV<~?{m(LQDe#pv*qLL3NVnO?~G)!0IA>(p2My}8GxMTH5MuJ|S z>^w&QF)6E1h_Pb6&`NcI#lD02d{LdN%kR_BwNK{`2EXip`n%f$838pG5*4PG>505Kg|cg~I)dNrgg=ImOvmVdwm8>wK_G z9ZyCyU@l)fe{`w+OhCmea%MHV>NiK~LW4KM*}0e;zej7A*3dI&l}c>>Hrl#+hKvSP z{Fr2r3DL4F(1KRd2~=ERG)p?}40B+kIn$y&FGc?OD#B#wC`+Zq(@p^E4A_4R#vEp? zQv|9(*VR=Zp||%q1fi3?gv|3J4|db?xSii9=F#akMN@)DKEZZ^y8%3NpzOH_DhoLZ zyz8m#w>dxn%G)6)XPPHc(IYHWl7z2rQM!Xm*azPB42g$gOW7El8lPkEP`I z$CU=Ds_pV*A_qAfbtFG#AFd+?qH-vKKevDb8fcCo)s@DEo0^JzfnpK$x=eL3wYpMX zDydM?2HJ=o&*8KyvJog8W)+1Oqw|V>grYG6jlqR(bT^V_#e`+N8Vv+c(hW^q2d0n# zVm=k@^p}DHe4vh0fbkL`;pXV}nP$Or(!j8pwBZQ8V`^mmm2CyWwJ*OQqx^RH2rDiK zOV^KI3aIW7;Qn@DMuDAf4up_m@%w1RQ}$kjJqawQ;{#$)>0jRDzSU=)?%es^Vhsz- zM*kK#;eJ7dJglV)o?C2<`bZ>)+Top#n3TPxCCiDejNJS^^Ard!KF7p#Rf#u5QBApk zh==zqV`ci?Z@X9O0!nL9PKE|WMxZkfXzoBNPmWA+$aHQokN$tJ&PebuMb-20ey8jJ6 z^`eV>e$cL1d0)(RL>tXUusH*%jA6<`LR6C1v5QKG@2g+-c3GTiOYsmgpZt?p6ay}^98OF3 zlxP-8A&7-qQv!?-WObrlhOH>6cV>?2a#Slpmb#zV41cfnrp^I>uQ4tyhxb9fRq2g0 zfv$QOw!WYkRXp(Ch4_qKUJTAjN$zNtBi`9i9J8j15+(K6ge^9n?KVxiX{UflBz0?1 z1dQC$4>$DLhcgy-c~s+;oNfN`MA*T3NWf8V?JF(|Iz}r+W;T<91~rnTfRd(7<|{N7RDi*tifmL#&5o{!f^H2Y z*7_ja)>PQ?L36u_VyuHEz<-T(+oe-zfEg_4y?ER9a$Pyl>Zs_+=Z)szLpVFiu5W?;WeF0 zm$lb29~3rMA^J%2L zv<)_{4^5H+9v;`@_|AxY1F|y3CEJ9^#)E#_Gp+;-RAUj4Jw}|U800SEGFFx5@{75` zJYCqA3a%%MGse=CS!rwQa zIn0V^fmxh746P-@bwE?sL9Nn7GJy0KYLxv9h@wq8YAbG7-eAoU zS{*?L4G>==gxg@wTHi;`r6=p-V)Ll*c-GWc&l*a03_~77%NO12%(lpnepXR;@Aw{aBrMr-rKv`HJ&?SN%`SWEPoN7UFIAmzqu6AFEk3cmO( z{M{|;oh%d(B1jTW+|+K9en$9aT38wi z51+eMS-j*~;=|_}iqY-uA~%Qs?O|P+*AGo?E1T<-#RCz4R^=>xQiHl)p@5_#_FI2& zr>8-<#tTnVe>%ZknCf7>-!}ZH9^)PozdbI3;>z%8HOwZ<%+!{DLASxG5T0v{9!*VW zlSxBoPg1w+4M-n!!9(yas>Ph4Onyltrv*DzrI}hhLJ=Dt3PMGLY@&jrXs=m9EhBMV zvF|Ke!y8;8gq{TAqx{h%Bq` zBQ?`?#b4n^t7I>iAz9~L;m7CD$M@Z-8-LPLAc`22a=Fpk9kodoLZk8lwwqP`x+|q= z{K9<+FjgZwCUe}pT|Z_Lkx@(`P!%y(xb;GtBJ!Tp-9z+L*fhQTwvh6DPbPe#_(|+g zt%QJ2zxM)B)>*bk&E&oCCb1Su@lqGnUcyGV)KUpdrDx2D%I7;jn|EZL z{Zpog^u=dlJin|`>S!AE6cY6$ zJ|hl1HH)t&D+!eMsk4TS6A*6G*qyyZ0_ds~y;D*jndGzXFT2^D|HBJy_Tef}z7aFO zA78eYR#Y(4@s3saoNRr$g?rL33?YtYa~X&{2MV&~#j-%^Ps8#`yqwlS6QHeR+2 znaAxve&pWB-#i1ZZ%#^hZJ87LXOt=+T0+$GhM9n7{bJ5f$N5b#GiW5FpasNqBVB!9 zbduKP#)W=eY$Rk0+dZU_Sdv31``)7&vcL(Gv+kgJ$rl3Sv(=lSwVWY7!Z7YR7NFkc z;YZ^dtORI*{JOH5llZaTXX=Bu+w-LyLvDAAgP*g^R#~9HzC+bwHZ$I$oG0jD+>i*- zW&9z*Y(;G)j4Kqq@>oFzZY%xN8>U*wYvG8WttkDeCM)LeDFg>9c}8r!hSe@R1iB;D zPv2XFl8Sg_p4bGi_~(_z@}FIaVHWDwl=Fi{p7h&GN77+vI_)<&e~;TfooXsBQxn1e zDBfZMIq}ojdgUZtV;pS$T##zW=EVj20df2L{Ibbvy_7Np)iW+WJ4zC0yKVVuT(oFj zKgzD9A`x zTR$%nLq|qdaF(9kOm&Exc9P-^h#4BkRUf0n346K6aT3M@g7BnUIFeAMn8A(I7k}NP zTaG|=gCD86ljqeJuxH+vD$WaW<)FvnIBo9d5cF2Dc z<}pImY_%^nTWjy(<$&W(E9!M}Ab{!Ik{g^PP$k+vnj%%UMY{X6F z;3fLqLCyojdmg`+eqj83Yw>t_1(XHn7w82c^YgbLr z=k={XZRg`!;3MvzV(Fyf-~We?kqo*%wktK=AG>+_E@F|+!9&vEJyLMA0`vvkv8 zE-o=E?zryy%iq!VZTFq|-L3FZvN$pEDCgJyVe(Dz;`eIc^KQ`P$Mo*|eR*f<(;_ha z-Tu${(eW8M)N}0n?frE%@OWhTeRQ;cye4qPPJ%~k=chxr{n@Cxqw^`NVIv)yTREJ2 zoH=(pJ+JrA#ic+_wjPORz&-{=J;s) z-QMllvXhI4m#vHEqW*MTpvJLs-@((A@qIsF2$7-pT~2RTS6MN!qJHssB-W%|HsMym zl~a|f{WP*<*wyO6q2M;ravqyn(H3=Y>d>M~r|YL~cWcuij`V#4VSjZe>ci6|Pl35p z{&yiVF)}>rE;aG?TPYjyBJh50CD4P=zzs zZqJ_90_*GAK@R5W$Nf)3pSF~4ibB4MsLk)=Ovq9*Gcc8A|7A0VY1xs1Q_ke!p`E97 zt#7Kw z5J_cc2JKRKO)oV~pp!x>QANFAhAeurcy-~zj}a!`R57bk3_+?*(Y!z}?mCwcCmke?WJYed8W2gw>g<6K+dazY~- z8?!IR4!?bn{s(St7wGY*-}P61I!5!p-2Z|Vvd zcg>@OK1*Vp8R|nFoG9C~{JW5qv6dWa#2(~7!P-RubDBT=Ws--4A@E4?n3|)(g$wq> z74_h1{DmGryghIJ7SuVA^6u=5kJ=iNR8z@3&6Z02tNhM#urL)F{k^Oti7l+KuErPrO8} zp_b#23GJ(_i$0P^UN{5=<2b?0Vejj+7hh0`;fW6(?a(bi0h7*&&nR)#Z$U%I6(^F; za@dU^o~QtsoomI%`K~*pPPqAp1+1BVCm@hXY!1$5bHDy16|E%@_+52=AbK8K(B!j- zo{ALZYADRgn&=~1qA+PVC+~}hV1i{~@uKMYb7DI=iiUr}H7`QA&q)zG5Tv2f<A zw(VYfGEG0L*I#=|p4-azIKSoiX9MKD4|x_lT|r5z@<%A^mkpxu(2L!o>}AL?So7BW zr9w;{b3lrMO@FZ2!VPLt+CE_O3H_ZrU{d37=cWo}DC`SvK#mss>8uqR;5(8SyiWNu z)68NYwKd>XpUo@7(CSj3q*{<@hlMMQ4Z^ca9q!U(GbV#1de-!e89RJQKIBK2zFMzm zF6Fkgl$25)NmN4WwZWEfu_iWWFy%6wARe$ZV=S$~uuz>*3h$3;g|ZbJd!vSo;09%_ zt6Z`PMHr$0qG5lqBd+C-LR5Wok=8tNW7>Nx*o!I*yZoP0uYzgg8kSoA>MxWct-k^c zfq8}iIdtVQLi(>r+PGmZ1ZSlZG zLuX#JN=V$ELE)GYJq!2eB;a0#rPUotg2k*pbrsqw@Q#ZK02(rjVNS`q72xeFHgqVc zylCoZ&B8TnGEKjJiDx5Mb__#439Znp&E_vk%-SuzQQvnXY~$|X>VCI>c!F2#gXh4- z$tB?acn9!%P-Ej01Z$at_d?3YTML!I%tIvq%X}J@+iR}%hT@En{TCwPN1f}SQYAm4 zW78q)tjUin_-cPHT>!WM#tF(WK1@n_o3gqNum8Uq>)lj<(Pl)so6EM=bmraoq9?q`b<~WQx}fh+rYc?ahw968G+SI%VN0`eD#N? z>kCAy&0v%{WdM~3HwF?epCU#WD@Hl~F$YxoEwK`6YFZjv5FAvL%*p907gDG}QnVCK z-+*Cg44UBDO(Ys54Ah)aLKdVTWeTMzrBDH0rFmd79ENP%{Q%=Z1UPWiC*;hmnvU7; zACu8t$UFc*m>mJZR8;VUc_W|?EjSj&2*U6OBr!35ZnoCEchf|@*&2p`DAPb0yt-6` zU7VzKS(qV3NcGO56rPw}syjrSa-eeddrmu$KB)IWUjeLqd^ePso73y{!eEp+x3v%_$_p^iR4yjePBea(c zQ$#QR+a>H2+*Sw3kqo^kT>a=rTEQ`MDi+0 zPe06juQ{G9?v9b_NGqrVLO)1r#9%2?`>()2&12`=u_d<= zvxWPxk$$WL_cL@`5eSC8BNaVzXi^`F@p4^ndq0EFN6gIpx^t^Wt;vI+=Yh}{LxUJB zW4{h(<@Uk}m`SV$6g6yuWDt{)dPRpB$wRm^<^+&Zu|WoCh$`@W;{7f4NkQ+64{==1 z!zSH!oq5)|qqA*Mp=D5!E7YKGB_x{`b zLZMQ?OX2byj2En@rN`wUPr-+iN=;`F98#QX`bes^WyRtaAv>ZQMlxTGM;B(r!$}r4 zDpoCUfID!8>-JHA5%a^3m1U5fmKA^wsFPu3rFbR=@gnzn;KkQ4!5;IFG5MuaEaNZP za518+rgZIM0{mg0bH7Fi7^zkiT88%;GTKa0PKl^>BG7ol>$qxt?h}80 zQuGl-Bg_?_>rJu$M*y2j4l6X>peeTgh=l$-a`I&6>kd32;f)B8DPrus5oeqX%CtF) zqY+3YPLS2&nP;^J&l`gw4JXmtmxq{eMVt^T?lyWt&^XWtFy?GDr}D1};Cej4ld8jZ zz|&Df*6xGl*~^O83}yu*60;Uzm^?@b_OgZwDGDu3apSE}u8dDGdf|nh(D$#PXEcJl z=uJvjQGF?f&la_z{5Bl(CobDuplr6!5z$hiI7C`T`2~#04q}Khlf##r)@Xe5&*cz&p;Y=y?KfGe3)=IT`g{ zBOgtQz)wDW4f35iky8eN%>`9c%3V#$PU0IeOvmU@O zj+I4u(EAp(DfJl!In`v9@+_QkjU^lDm~f7Jga&QjcNFi)e>9A6nRPa@-qxoSrh?jL zGy5Q4Ex+Q~B$>3d9uSjoucQj~jbz8T)Y2@8oL(Q+QXayp?qOgd_7KKqWQpNH+l~QV zav@RHE!++tDbxh2Qe|O4gc40{j8B{aZp|X|rvdAqmrGxzjTHQHuoEka)c>HPv%fE0 z)bvC0vdiM2Z|(JTj^df0?fETi5^5Xe<4LcV`JQU*0>`Ob`2! z(u-_*5UAoPFMFavFL!#*UO-fh-^4CDeC(;iGicD_-<=;ZlTuyWZ}wk< z!yogx=7inU&)95Vni}N%nb)W0J@f{Qa9h0R;s*+;S7%i2`ydA=0MFjog~n!4 zHW{^Y(RQ`q`q*1BQWzm?4+IZU-Wf3ok^T}%LjL4F6iWHkYv_7Fr#{dpg<3Bc3KmL) zY0D&rK>eHF-nl1C%b7ZO7Mn4DAc4%n=F$>HX4f4kDJ5mnD0R~9(t=65CJ)23?qDj1 zVmQYf>9DmugbGMsNJ>^LRRnOSZL7ytNO(x91C_rmc}ugia>z%<08W|r18{$egElOz z`;;po`2rbD&k_0TUa!jJi+7|&r&%`L^Y#;V3`EVX+{}+!pDRb5#FjG~%O)0X0Mm$x zZvU!}#6+I1a)EG%sIx`uwsmIYgbjVyX@k)3jnd2?bUj8!RySSAHC}%io#~LQB6P<) z6qQ7f{1u|Of-%>m#=pL|i6ApEvCf1r|6FCmP4;eE??zlSKT^y1w=$DUrD-Cg!qj=X zQ+TeYpPpPZtv5)870ZQs0W0;=U$jC5hepRj>0-9LNk1`cIlE*VNxhQqvmCFwY5ck3QhJ}?P@W=bO zR_GRP4q#=re#;lW*+g&HB_ZOkANVZ3cQ=h1rDo#A)LQ<*p=GpOKr`^X0FHj%Fg2Wk zj&a(^gfWo~Tu;DBW;av9SfjU&igEp?Wt;iXzqCj*BtA8rt>#{4l3+I^jF-|kEGYmt zt_@guy!p0X#zBe3oK@tDA`AgU=-`+itUHSGaYUV_9{@hw#M~_-q+2Y6)NR@6QX}a| z0XT&hUAD;{y(VdD{2Twq)TV{m=oSe>RgJ3HAr{Nb)ic$s#EXfG`U;u2Y%k8pry}Iw zX5y%c(riW+W|@74xQGNlaam$PEa-gd)ZM=-lXj?zYpA(nese-|yIv6{S5Vg0`Io_S zVGkpM(1D@420KT`aSu5wW65JnPsoPN>e~EPFA48m>M1u7q=0kcrJ{(58Nr%Y(=U!8 zSgQfeRX|igDCul_xjnpZ(B~7t8E!~>{s@?AX>4KKb;oypqI7#ap!+D`>@tP0mv-A& zl~it(zagbfJb)|ClNei#jcB@o!$5=_73Y*+i$o5NI)iUMVM*Tu(yNcM7?tkjOO#={ zsgl>GiVzX;Ug}AT@++u@%>dtv#(^X&1=$;GLxC7}+W{tP9rlJrV7OCSjqW^X?BJA~l44qI~8=1(;N zQvOWYgfjKg)Ls9WuIJ_oC4)UuS7IRmQrkXxqiwH14+u3lr0VXe#B61twGe0_qK3y8 zWWH>{GBap47q;eMk<$3W;)=G`>ZCPg3S|t$3k0`vB49YnpO3b(Ak}o z)8GoQpy?nn7NO(2tG*C$;(c#AtVwG=vuI6Vm*FD?~@zM0>KSDG8XNpE)w^5ZluzEdCX5mwO%Tox9L@XPCv?hf zaFo>jY!}o|C}P)UcBf~61U}K9Kf@}Po1hF(k+->d8qzAB|%0e}C?nnRPX#EmCa%LRY9~?kUhW3F1 zq3uT*A41_IBcRc+|KUSmBqTU93^$e0P3-rbgv1bzBzQq^I`)a~2(Q58LAeSJ!5usd zpekgxiPQH&?7?CsP<_^t`E|>@jV~`p1^A~|9$tQkcY=SOo!z+$+3QX(+uRtvMR;%j z0#!X1@0?BX=IakKQP_t$HOX}NdXM|5iZ^{j{Lp1!*v7qy3p+Z0^=SXT2o4~1Ytj7t zTHg#H928J_BlyoX1eX8*g};cAt(Aqdk)x%R$^S!?;Q6l&{J%>R@DO=XcQimidAdMA z!vDR&|68EQwoBR=N-6F>*C2cd0c=tuzXEOs{PW1h#1tZ!MO*A-c2_J_=*sy}M#*$Y zc-W7+uf608PT9+Iwlu;9b;`tnBPQORuUa{7Zv;Mnl%Sx9Z-se_G>+}hqr1O|-v!_L zU!M18!&za|^!}eWS!oRRTf7@JUpF_C-G1*k`{UPtyZ!uL&)UzA5xZO7o`$a(3Fd4^8TE8K{arrq27d`;mKr$rg}vwUf0PD1v3)(= z4WEXMcgr#8Z^;UDwa$svY|C!z1_ZF_eLlV}R%V^P4L*DvBL3~_?()6;uzovzJL1{4 z?4FS58XiD>i0ob%HFzBD2WVKt!r*SmzFMW5lw|YH}ham>MotDPY^Bu(LcYQtW zKJPDZAWkdr`+q#F?iYsoy%%nGzI>fcW}QAR2E5ou177DJ z?jBuVFVAT{FOSIjzfKgj5@|&)y`7%P9AZ~x0FDi6DES6e**&uXhAI0@0 zA~qX{1|+058x(nTkN7e@CvW+y_)0@LbeCQG&u)DdbiWVoRSqp}``?e0E<8O&8N4Pd zpRGIa`+L~tcDxVnKSR8q@_5kSx0fd0Tv6S2s%+(?ByQscP+fnPb$Q79TxWk>g`_>p zdo|`3><0+=?l=(eX9GT;W{2aRRSE#7m9LBh#=G0EH#@z#U;alF3jUv_SzW##gU9cu z5%Vq)VVHKuq$3u(qBdIiPx-5G&w`DHd@?@%0b}F~cE?cXbHs4L- zQ56KUL+8XdJ0W|e<3q(|Ol)Tu*#1$S8L#puwxS9nI#lMNoqeRcU(Pw10P(^&sqQ7L zMU%rHZ`Ex5O>=Tk4KEp=jZM}tPJhVI*OzL**Mqx}@{KG79W?6ZInl7UCz9(b?hzYn z5xImyqRE=^BB{k_O)1ssue91BvfB);+3mFubHhWIMbas&iiX&=A|*088~uNcmZ4{v zXh#pW84U9!?RRicet2#}sUqo(x^HwWMaN4UPgM3q9)1X!*Is%L(*uwH$ZmW-vmV8E z6N$*LP+6riUgr5*%66Hq=v=v}u2T5s75vzkKvn2fs+Of~RNM-^fDY3VFWn|L!yv3!NnzAU107c?JJEc$U$&`zy8c;% zt!U8lfRS>U+>EC3d>uInn_T8E;-*Gp<#O>Xb!jJD83tkD2sR^SeX5r=SYzw@j$#KB zE5DZ7I$tuFX80PCHa1fYN6Nv*j*KbV{LH{ zZyOX_8|@?DsvLI!b=g4=SK-801VwsE-MhW4q<&>{ZXFG=>LnqF+L=M?KtXTQG6|2QF?`@L#Oyi?H{Z%#_+cSrK5TjfWT_!mmrBT{7g58gIQmt2 z4>S!CcOG4_>xyO1O}F#Y0ndZg%;w2;N1&E4X3?MVI`J;c@rP?{DQ%Zk0UTH-O8>etY%y8^5vp~gQ8qtpk__j9o(-BA6lWqu>ln*gj?D73{M%X8x|A2gS;oD2 z&MbXwldhynqkhcb;za3CCV5Czh>_%9Gf-c_+X?|krdNbi-FX1tMxUGaeQ})kK$72S zAj;0@{!8r;<}io$jT1m!YI>mIsYWKbs?e!hCEBk^$neom*}yg4>6%dg`siac!(lo;*Mqf>0qz=C({G2^^qt`N}!PS%E+H{|OI@v-1ND>7&hTqlKX zn?@dqum=q!pqW{sc8a_WtlH zJKhY`W(y1IJDMlc1qH+`kt2H|_J)m%T2jo4Fy9dL;6&xVDFIp8vhlXS>T8`oo1lFu za9^)o9W1Pv9#c9CQpQu?0Q)C#$dqBVGNt#t@~HSim&maJ(i` z5$>l!C{sTa9PLcjd8(T)Ma!3*FU9gVLTB~?et(TA) zzbF5zk|iH#hamt;`NU)lY}?cjwC}KpY<@%fZIx60PWz6EMiP<`$ar=e7a7l>bKoBQ zD{%V7ja9X7=|qACz->-MCM%CZd?m(G>k}KJ6x??DB?nxOofcCZ4@rs8+Gj@cfT9GZ z!+xQ$+7szIP&XH}OzkP%B^PB;gk9VUeyIcbYtDEV9Br3aCYza4ezv<{2ZPCIjaQ4E zH`0_MHe^hD#1`9MCa#fE#%k4MZTN)+`}t+>c3vmP27%IpSB2|99{~~DN?tFAO3g9g zmn`i-b-gxilDbx9EwGb}01s$*saPt?5bAwYO|AVVk^+(# zp)}5@`GT=27LjvK+!DDb+At$QrfBnJy#ptpp^4@SxEL5s0w^R1%n?GPl`{uM#*LZk zkj-_sYm};IuQs(lO*Rp?X|1Q|MKVs#8C=>^c>+|Wc?$ygyUmYM?yzx z@<0dh@t2&0itmy&4WBo>aIB&@Wxr=bjug7Qd zLxk7h1Be!ot{a&K;1gLUN^O!)l%JrD5hnh8_QqHtgk4E6HuF?!f*&Oq>S}`lqAd+ zAhzimFAypcJDz0h(Q*4g5lg)iZ+!at&FGwtP%+Z$xYGLqd-hTF%5?a*OqG zp5ax(a9}G#4@sa~a}cOXjv*}0CPLH_y4Asq(a7dH)MxUYYtP)&iEE~vJiUDM8j|WvaSe!=5C45{6qX)BLVDJfj zwo+R{`x9#yiJH`{s_FB4=hb4n!DhL-@1l9{ohwo#e~~9r89%Qip)R=n3Jgdi*-|VR zj*%qi11qC3MC%x3bYnYtA-0@C>X>iT97n(s3v3GPCIh#JJL8nBW(7hUnmSe^!Ec^S zOEMltbke1k`}A7IKpNW6GzETC*Q&U(u}IVe??j%l*BzIh2i$6?y=4DRD|qx)gc1!d zf;7U>o_m-E+jx9w5O&H@YF@?z!d@DVIw{rnP-$ISc@*{&;PM(QqDsf#3iSLn36!Z) zmJSOCT!C0uDK<7)ZF)q5l*<+rRE1C;Lqs(r>ss$;<2?{{)BEtnAn<8Hcr4ULP!{U-$K`5cttRUOm`B}UgRdM4dx!m>SsgMg}DXq z*~AS^+715&CrO;ZbXqWCjj=dQ`i$pXm(fD(Mw_FX=)53FMuX%t62YAnM-q^$*IAKF z&J3LJn96#fFK#T9JlF^dK^+#=54Tz6G#fx}VHyY6XAlUw$yW}f9fykApvOtdt4XEV zogGe{9X6}0KyKg&qa&xz>gL&pJ#$tzZW2B!a4kz#AF51$zcJLKN%WMIYNhqzrYs}V zw^V(mp4;a!``Sf2KqwH>CtA@iUbhv{93eb(qRGf*43E(oigY5evF0~Fyge)4Jw^Aq z?&JE^adSkKbxw0cNP4(POVmA!?)9t-iCL%0D6zB(*j|%as-U#Eri|?R&mn)Aqnxef(m-1U#yCgEA&k7;KIiADJq9ON>&6C^6NhYQna|49g z!6+4?KZZMSDKV@HpwxsmKWO1h@CalynN~cLjRz%((RIud(NPE|5>%|Td8;M$-ZAFZSt!lQ8obwYTs)&;bs!y};iR6K4E{fo zbDLq%q#7)S;Sti4Z9;xobFgZW()!#P8FWuw61XJt+Ja4SXC!X&pD3G~J;Z`4jZ35) z`ASE<_0U9EF9m~|AeyQ*slLCG`TB@(>A9fzD3nzS&>r>z4;Sn}?w08_jX zw7EED*xkr-Ps7H52&71i-MOazPDd%PI)zO`F)YHwQvlAjL|AsFb9r_ma#*BAzp7Pz z7n3kemgb*E`IZ(XYA@6>QJM>6aB&@KR-3=(7l+9=PamcvGd1vO&MiX`OsiGFB; z@`@g)Q8Y-~uUBepOU&MNfbB{-_@yrCnTK>uT?ZA68;UHI5rvg_pqY}4nCM;TH7iC6 zJ|`5=8`R3l&v39aEXGoKZAM3yxnBpxpE#vrB(|K>a;P$L&(-qMoW2nB=_JKM<8Gr| zH&bYZ<&PnrUmGKu!k=tBx27k{1pqeu{j`YKwoJvl4UV3CQC<$3~h5ElxV5l1nys3XR@S)~{u7BzHlaRbuhCZ^zu$-EyXvO?KWj3H9oRPuKp)Vm4R zvq`IuM2>60aQ~rUmk71AmhzH&vyMkZECg|xTy%PocBT`1{8(UrO%GiOs%~`PI@#E? zNmByor4HaE8`g)k1VSsd1!0DFLT|^R(2$%$rXqog^h#?!Hrp2AS$i>whp*-zHLwNN zq7snyAFR2}O>84RYr;ZLl;*-eOObhFVj<-t zk~qqK@4RN8K{-Hcht?+mQy8_hGD~xjandYt#~+R)Fd+HB(yIPZyeb($VtNlx&9aOg zm*i=$(w1Q_sGdNd0bLQphQE*obwA`nT!n9t7iA}e>BeG?-ZxGQv~q~G1O_Ay(v*OB z63%^17-KnU+!Za>444^oboml3tan61OmSugX$y!%o!VG3ZKbAiyks?b?ZM~bW;L_9J5g%vi~{q!r{?Y zAi>TMp8v{y;C=#ane9b>&M@?Y&f)kmH-f@hucFE0#=`D5zb%_ zRwx_dVQf_QpfJo5KpV~xj=nDXf)2}V7P;SwPH~u{O*RW56-OQG4;JBH81QUQP_8;X z?oqO{FudHUZOJg7WE2iq_2#u_nWW2OrwLaYgFv2X!C&YFfzT6CI+IOHPLjp>=&tUu zXZ}S4noUpLF$vm1jqrzE6O^T0Jc4lGh9b8rvA&&4`M%is9N4(sq&?FH#r9M1t6<_! z$qCr!M!&y{9B%3glUsYtW5ExJ$A6h`ds-8zWg{*W(3Zw|ZJs*Z|KtKljFXrK;u<;i z!g%7!c^2l~UrqKm3f!mV3f)+MQ=opzr`}PXwI2cET#;VXqxcCg`}nA(K@V4hN?+9 zW4pi?L{OhHEv-4P5bP?O^9(3CH&pOdigtp#sVMA$G?_N0`9rQWDc=(Gn&pRgrFL|m zlY`ehM(cRo7yC|B1^cat39XKlmtk%f6ocCq6(&NGBF3w1SY#yK(5S}YI%Ud5IY=+aMF}kn%P#dC+Q7ha zX?at8;1zK_To;v5#;9jANyaKu&r->3i=7OSfrPbWI~3t58HBO#>T@FOj9;5#3w$Gf|uEr>>wR*4d(CF2_dLw>M;us_YX~_G2i%WDA!Hv z$1G?2R%F9Sog+50qJ{AeWv(o$oTm%_9B~U!+r+uXS#mw`M+ipni;|4h$zITCa%=;r zZ%2q#)fk@a3S3A(!W7MBxHQR5G(YTFxluBa5K$EN0#k2V$by$aJ7Q!{jQ4?4O&2 zxJ%>Y{AM@VAH5*SKJ`l%lb#k5;qxmP#mLb$2BXF zONrJ_{&%NE*^H<7m%omC9sv+)l=Sjyh4T>GnwlcGgBJq{TSEao;%ZY<%opt7TvL*; zhj+S}c<0|La6Md^r@B;3!^Z4X>}BwUUT-2BtYPN$kR|Jki9K7XR02rUnNcrExj(fq z@UFk1AnffCmB>v>mW#B*EY~WW)~pjQJ^e_T0*NFn$=t=3EWLL|*aCq$gHf~PZ|!3Z zi#glo4b7V&P&GFDuX9M_lT3#nUi#1DIaA`NA@<94716PBlZ-%oq1mc}8$gKT)1G_j zGiwWm*inG4sWR$S+^g>wG`{4v-iY`D)Ahp9uez!a_*ae}m>7I!+L-HznT3$KoXT9qjz-8!W+D)ku~(B>^Q{|Fr&19trfAIO`31#zoZIA{i|lKXyWwcIDTjr3`ig zM+T84OyM%eKriMLH{6=A%jLBvc-j2gIo~k9Pt}^8z#(0AXF#p{qA%+o@KIlza4 zHOa3zR`)TK;i`*)st%X;PRyF1JN*@sDP?lF2`i`IN+Rm&(H@`D#yrs^1UbSU8}%$7 z_&5)dqfx|VE_-B--RmkJwDxC6>U;$=d7_PxzhZ!~=K|Jbx<3$77_GiRYwu##t`LuF z4WqbEWa@~~QkYnvPyj#EDwOmP|mFdfq{#%uGn%ewSPh_G26fs49S;Lr)C z8Of6h@N{HvZTp}edBr?s9*uj5m8|!Ovry*|jRpxJ%}JlP0y@dL(W1Ch#ZqS&781f4 zb8I|q=HHg-ajes39ni>0aj|o9*o1L%9yoZdMw9laBn@OOl;_wBw(i>v2W46Vvyd@a z9wGiB$jY4U)ttG7m9#Z)#Y(QWQH5yd2Ax0GG6QLQc|ynlN#X_Ru-|i6h!R8ruNcfJ z`NG)K_H42Zmrp61ZPOROb(H-;*geI({VY5(tG-!Ua4-Yf0|L^r;! z{STr0zm0OOgvrD7aBsZI`1}bPpq|>1zGN*W;tC?h0Z70(v2DfIIUFVKnIYTnQq?RdS~?d4 zGMZaZdgl9lz)$Fo^+Da;pps>YCQC@Vg5CoCZPQ1-!-m6_-;1so#t~>2o2T=Web9xa zOF98YKV1_ugkdA-rWOXEuV4=$Z_5{Yw%&6;cB3(18+=>SlaYDt!BNI!wKw(zGFL5?%&b3 z!lk7zr=v$vYn-ajY3T3on424I*lWKNcF6P@#1)h>Tya8Q<+LPV#7;x$)JS%Tq`N|2!u6uD z+H)h;RKaYQNOr6-w7TvKtnXRd_)ygyfyD8lxai0Z_ET_G8TOhOTz4i3cPifsx7t47 zZ)c3%Um?joozVJ9%bvf!>Ts|au=gs~M3k@z3-s_X@^J0g?_;r_6DwMLr+Bv<2@_D({JR(DDT@0tRg3{#c8upG*Mp#iA|6Yll zkVu@#_bafw6>Da*y`{-kbgk0`DU!Ioy`9Gb#b~r?#8ZagH1bmf8qxMC^<9+pdsn&Cm)} z5S%7B71x3_v`F>JZ@#!GMy$i)XMj{EPhG)^XW&uP)J?dNAj|-_2*ghK!Yv{A zLPcmK4ej{5d6G7^h)(~Uq-4^$fA6}RbR8yQAsqk-> zXbnT}xf3Mwpb8JJ`S5f5jnn#eXM#O;h?x^TH+!FvDNta{%7o~n^| zBt#R4fzX$T(7?%4S>F|y5Wr?`BZFF@pjOnjCP)^M{#sjQ0? zbtPOgN6$Sw7|ih_6+m-+1^C}aQjtgxPg&U$VwZDlZPhJos#Nbb z;x8K)+n<7@R1FkFrutCaQ+()q}*TxymN6W5~ zWK4Y;z6Sb zg>I3Hn~(JSJ8R7gEB&d~YzrvUeag2~q^SaSPoWIcdD_p3MAMb@*Te;YI(ZM6{Y%l# zkv`o6;m?5Qw&aScLd>31Nk_0?xDwJdW^d;t=B;$mQJLdEZpy|C*sBltj^Jrs6{KwvXi*(#( zTa)ha;f&=QNPV`kgKmHPUNGFS=A#N(e-D%jAz6dUm z^@)6i&{X@BZol&rELH*Qwhmk%4xVL;lf0&uTl2Oi)h(k*gi4cp z<`z=GX1lzmOrg|2c%;UEn`dL`K^&$pD!agMOVv$w;_tmEm_m)*9HL|A{P*E5Xo zhv}|igWT_ykDG_T;|<3@-x=tglXLt{b+GU1*01@#TYQXK9-nMDtUMOzc=I{JbxW!{_(EyD78pew`%%_yv5PE#BR|1$=tmD_?&c8l;snEL8sm z_?J)le?OESzK$QBHZ%Nv+&n*aeJ@Sp`0D`h^U>7j`#yS9P%zMc=Qr5y@cz6z8YeLL z-fZbSEz^GGolZ62^{nUhzKc3sMg;JBJKyMiy;%N~{e=0w?gvft``ma2Jlu@l zomz}b)4VriBwc(zfVJ}cHvQ{KPL1Ek)NTKB+gp|gKxfH=fogYCX3rs`+8I`e6Z?K9^+_PHiKNZIWrHw@AD?(6e#^qRo;;l^2P0oJb$|0l`i zqaFWh^S!xS@AbBDn}02Bn!x|*^zd%ru(c*^2BA1bq$aFDqZ?yf)AjAw`igRdul`+T zYW6)qLR0xXi(Xe*7h?@GG_JqmTwBX|)!A}fDWI->Gtj>Ob|%Ly>1=!EgyFni`)Mxq z*V|U%mBDj-U!uu|$qb*&mhsrtaIr&fK;oOGF|I~kNX&Hk4AbYMTU-tT;wR&8x0qRg&k?zyXc!z{02S23VFdLuUmz2}D%Bpgnma?+LeyX;v^sbZ)Lpx9X5zXew z=j_+RZC0yPZx9|UO|+WMaqP?VNloS%aKwVOiux!+?X*=z-d-0?o( zf$Q(N`1x|_WVS{0omxyO?y?HK+c+Pc8tCl1avQm#iDFGbs6lSvRRu*eUvpzsWLYSrr z_Nm2OyoWZP4feuz9s#+(va9YH7wMWaw$=Hn2H`IhWO&arxBCn0RLnpBDzmU#k|6Fr zcelS^)R*?fmX2@I^1d@g_5LP@l8WW1w==?9mC>N=vyu|Y#o^xK##iMN%`C8N zTt8CVNhUt{700;xxkO2;ZcBrTXHV%mB#_BFnt2C@8`7w~u9tDQ}ojxmb;YmdNNQR4i!qdkC!A;b+ z+Q&R%RzfLjY>yN%E(h-`#nX*JU#A@h)KdO0a;csb-T4&(vOk*|w@sfSm8Fjq#h0qC zQ~z}MW+N)>Ya)@nS9l?midhwdLNI!n8!~1$TWoGo%ZRLGx$k9_B|N(2h~Gu0Invt| z3^0iXtI;vDF_m%=`n)m%3(P&%^J{*zd>H|3qpGCjp50J=)8R9x4Pg#$oO-UDp`3K) zX@gZikCT!Mc=)%#OBk&n&C)CPbH=2wGI_LQ{+Y46Qyy1hE9D1-;_TT&#lF>~WHv8m z9$=M{_sU8!7gsp3pfI}_I|b|=lN~bFpy4uLc)OSWz%l&d{x(l8bUx)6@se1v`j}IE z9m8MRRqLCC4o5R?_qioLN2~DDa{!ZO}B#k3$?`Ulb9{+l-V%`5=;K`ct zI5E#3!!s?-PV&Ntr$RB5JN7s%yyiQTMqQe;A`3FC#eoJ6ojg@r0GEK+lb_f3WNE<5 zMNErD)H~-0h4w~L5x)c%-KXZi+PplWDdSC^d8T5SP94(mS$UyrYKOenG1#$x+B;+? z^`dI_Xfm#Wm+n!Pz*Ja=GdXON50$nXlRO#|``#RqB&)j|eMqWl% zBoWzE$c!kS0*At4#OMBIARQCx{e(P5x|9cf8uOzimNfLK9 zH*{|opk1|Qnz71_NF3ckJTraNIJS%~GSF%bGy)?yYuV#^lUT9?j7=P;e*!VLR$`B; zz`R=XS@DB~lWwr-O97@l6URU~UFI+ZSSI6YwzQk>mMTI{ao1gASD4_y+<^w;Z}MJc z-7-@J1^3d6cYNs$DX5&PAy_1QF!4NO1NDt1kEu-v2h$xL@s14>fc+;C=PKvy*xa{i zN4CWbXxW;)8e&dl0bPHQ$GiJ5SKul#qv>zQ9mSAO-BR4ean~Z~s2s|ktS)|Q< zahW<+w{#e){VVjm?mHymddWZ~E6D8#a}%m0ymuf@*f5o8dT0|6H9!>k<7N?it9z5; z9;bLN^PJ&OcgBe4IGO^pM~9&W)4?uG=biOE{unoj+#yoO8!?~~?(tokS{7g1 z?^}b#2k~;Iq68<98~2(@GrO-x5hX=`#GK}Y@X9;GYG5N~So?~wa?kj#-N`^4FecgQ zPJjW;*@^PVezMI0aV6L7-$s3QU2qTuTgWGA)7QXgFzTf|+K?e}nx7`>4G=S(y(bSm z7r%@a2KbQ-z|?h>H5+F{S*Twt1A(sRF`}cfLU;VN5?xQK@3@Hog*DIhMEOH?# zFEKqy*dc#7R&q__l~!@}?8*QHova^u@L=&^8qT~0+q7-dhPow#6a6)cS9D942)jVE zNiD6}o)?D`DYWQUzryPhPLTQk@B>eDW-BEu6!GHPY%!uw(Cs67#}G>VDbY+I!@@R| z^J}slMMuGz>;fHuKD!V>*CqlYz?rZ-I=I^K6B=}azTB{%2e28EW78h?dR?s$wkmhF z@}BdT?%pfx?NlEYJG*}zAOXdI{tG$bfcAur`OP5WiD3$h#4q}Coto|l^5J<+AmurVz?k)K`<^5 z!iNGa#b`_3aZfBIb#lxmW@*vRbXnrZz8A`04B4o)l$_F7@qxWir_`wAj0oN##3sT! z*;u7&BdBKjY}x9@C6}HeA-kZJmAE=X@?@OiLQ&sO{mh75xH6c)5Ic49+7jn%ZM+o-d_GSqvM{PbjMsK0)(ats^(iaYm4VxedPaTMY zMKfM_SZJpEtUWB)U<~B!SUwv*u`I@#0mt|yy<(@Hp+XjWdt5B} z;l9vpRDRyo;G@wEgeTO2i8J}IBeKM@5p(nbpBkJ))=+(;{9bT@M_x@6C4O-sqy~JW zR$VeQmAZ-B36bFxFLWJ2g4@C2B$)W2K+xDQXuDrN`f>RD@7M<{yMMX>x5pXcK$Prx zocAe=bdc6M2xv{z#&C=R`=K}$s3JyWAxzrtE}KoXbR=OArprc zm7Z}1z)!l)I#Mn|#7BXv=SVajePQ-%vYQ;|CV2+53_#ghSn&2ae zhV(1hU~P~zSSNj&&Ua788y_;s>JlMfg)D7>0t|z!PemB|1VK)#&l_#q%>EWRkkJoN zLS{LzHWubQu+LUkTW5vVG5f}(-ZBP<=dPIV~tP}i`}L4Ybl&&*-T z1YX&sr|Z)9O&7Q~;cVb0qjeN7sdPWKpFI4l_@6x9&IfPtui-VXZsKW#i6sDbZA zsSgsy42K;gtll}ctx=s3+Q?wa-5jw$RAC-<7ChP{Kd*U>1pcg^oB>5E?Wnca6)r9W zm`i;KJPGl{rnLpK)B$}oN+9l>6TLO+wHKmPPpOpNGh~3mq0kRA2;#^;(r#LzQQ( zRZ}r58`}Pbo5X$JWjUy=(O&YdTG21rp+|mtBX1q3U#Wcnid9q9Af{ZWt`K&sHLK`y zP?h3EA6D8_NI*eA(1NE_WrXXZ6N0xOu;%~Ur`~m&oAh+4omox4spYsSn?_e3PG;E! zakh%u%$`-6@k!4|5=R!4uDSucNi3+A`-*^Lf=vb{(_{{6)Tp_zj1?w?Kf$r}140P`)D!LDm!qNx^-fv@h(J?4Trju}}az*o#++4T4gvmW4g=l3MdcxP# z!`h=b5wrw(3r?FllH5IDz}1XN{^=#$PPS2SE;sUZp$4NFnGEm1vyx!JdL8PGutwG} z4O^kZkPGD5XRBHHm$&Gdf|9_B$uxvBe`~uVDcQ!71GmgbQUsCc7OTxC-7e1Jbih7p zb=pzR+_ko#ip^Q*IF~kx(Mh{K(X!{u)LwqW<>36avSB_$ehf=0lSbLjp`31Vg{y#e z%l;nc;8+oW6Sd6`XpDhk#_8qOk}uhrhC}H7GgHhzfUa@7Zn}hvTvP)b%KC^T;W&vF zOj4TY+oeR_0ZoUIhTJaz8i!92m%dp!?r1^t*3&`iRlf29>b1x}!~G=)jP*;seti^dgfd$1FR9HqT1N4jwy}A$}oeJO{RDTzA;uH z|BC;}S&ZeWq&Ke=U&We)9>3cSWzsBUSdt{66LH3)Xn`k^u*qR0BHJ?IT&X#W zNcWjll$Q5vxHN!-({@R$kG;1X9?%v!+Bynn$r2Q;3FX_@ZL$BFIfuj4xApNDCiD`- zYvm3l>&^98}}t$wp%wXt*%`W#Bmj&?omP%0t+>mHi$l*I6o`d8RHq!9i?3o}*m=#}HWabWyU6 z*yhBJx)g&#{0K>>K z_p&ELh-)xQ>Mb_p7qs53MsAvB{0DPv9s)N`g{o(@#O1?9{NvU|+Cs3rPO0voBy1$U zt1L_pRUQ+z?L#z>^hMXem0|zo6W%Q6k$v89l@q&uLFq(UwPk|>*f&8GYMQ{`ln$hj zc1@J59C}^RtJx^#wgX$?M5vwbG%ON+^(rIlQf)}*sApet&B{X*@P}SNAQWZIx(yXD zZM)-q1p;e?Zj2?X&iHV=-ax&OVaYK?E^IBeih`DD4F&lLr!n-D9(j6Bqd<6?vQW57 ztUGQ7^#vCvOPpIpc|Uk29ief?cnif|rO^y-QX`8)EJYW-LYkks; z8Ke=FhTCR(YvVB8E(+P6>}v2XM9VCk(v-3lwyV z*yN&Y=g_}t>Qw^Cpf(i>_1@IS%MYs=8!~7R4_aJhAKL0;%ew7YB^yG0ESEf|8RO7p zfeJ+jr5*g>v~LQ^0f?#^D+5Sek;~+~(Dp@{;AOTuhzZ}nu*!S~3LyRBY%sbybUEot zq99s9EXRmIC3qLnY|l>OI`dJ;>_QsfZLSC-mDUMW33J8ca>_9CG3tzUj1~z#>U69Ii?Rt&TNc*LuQD# z@S>?P8I1Tt*{$Rc1hEaR9x$TtWiVNt8Er~7gt9<NE6J_|0wHN<2ylCKb)jPoZ{F5FjKnHb#VJgyl$FQ^tW{}_NY8DrJ;@+QfSHy_TOI6n_H zyNQdTs?T_kqg!*;7uSPc6pn%M3%QsUlhdzf*7CVwfAEOiRrEP7B(}6|GCQjh8SM;W zjtQ8Ye9nxp-nzu+;9>%DLpWLra?^!p)pAepO7aNksyrzqZ!q&BQ1X{Du_8gDRrhry z!l5Rd_e~445uoUhgO#R>NyIuH8%&-X>vTOeb>a4+ zT!hsEXilhXGbYJIa7NaBRZbwbBQJso?hY7N3O^8uU1ofPjP z8M4_)!~k1cvr;4|1~Pik^sxk2sZsrfn0}O@fQ(&)abXGJJ0t*`REF9iIdYD-w6j6> zQW*&B5GX**-g@e$b-ELU6bp_u;!RfDLSkM1pv!m}5PH>=%>6^l2%AYOB&R$&sygG>^6Qe( zaD%j5c5-k9`P)kDiy#D)5H#Q=5O|{QFS&?-3GsxPgwlAG6)Mk`_oz=40iySHCJupC zQo4YBC#|1hYbgsVlGAQBbvx;B+(EK(%d&b`DNFHC%&h=KMkQ19d?21#nN!X*3Kxlk zh+JJhg-?E;ud^n|G5k!f)8j-fm_b@L51e2dAfZdE^TeCv&7>*AJ9afJNxEMt@d!+dZnA|Qd z0)Ot62I1P^r*eki5l;tI)W>FP7NQfo{ZyI~fjl!L5>ULtJJL9kvnshybdEo{t}f0w z>=LUHMOh+d;P{W+E|2hbp>)C15wfYNZ1SBj*A<2(l&Om}_{tHZfoCr9%GSIQqL1Oe zp(;ft*iwDDo~UCP!5lYxw}}kwFXm3Sb%LQ*Mo1y+X~bGmCS{-IRMTuxOJdH=Fj!}_ zm$_zqPDjjrdfcVn0e=Az$xBHrsjxJ~pD^j^V@-OD{*SrVgdnnV4%J$B;y~}62!Fy> zN7!(=gizjzHUTta{Sp?%SRY6oIS0U_gg8X-8M9mUu z;8pwI#)X&CM>ChWdQR_6HZl?e3Pa54@M%$#wDo5x6p9kr3yRsgJ_S(bnoES)$lwsF zSjmC`VTHs>v=xrryFh5DUSl%!3xvxb(rPlBaT%q)=Cn+_v|a}hF@LgDrUHD%BnoNS zkAW|WtG@)emJaf0oxO_diVvNM_eh6i=)36~<8eu>+XZrJ5MihGzno{g%2u4?Aox$2 z3Z+BX#glq4A~>w+uyP=2*IdGkW@FP-#F&eSPX#7B^EOf>1kbZnFZqPZA-hZ}WEliF z=Yh_Xk%{5muI0e(63zKnCYl7dred~B!KSbhd09m zxy7?&lHK9d#lJHG6^F9OF1FSrXPVenP4x}YND(BP*hB#0>K<~&mZXq>+f0zIjnwq@ z1WIZmP5SAma`dZqQ-};a2{QG4W+W0U_T#g z;NHm=pR#q`y{-3hKwc{4NWK`sn{fRpQa)(Jy2(#ok}iqd`l)AOBu$V*e#s=mJ5kB0 z$g(`N`dw-1*wtaX0|40(HC4HHXJ+h>#)(An7U&hFM~wo(m%IVl{Ecu(#VZ2wFi8cDq-`1d3yA^h}sK7zs-tVKv^13aI2x#MEH@a ztIMhiXpEMlUbd|xEN+=ny-P7n+@+`%elpH1y>eNIPC9m#HL_cNIhL#q5(Fk*P-WUK z%7RssNR!|MLah|D;>$yn%Q6BMA!Ws0&4dl&H0LcR_W+ zg_aoNA6i=ovzv7DsI-?5xwA;Ij_+xYPK8iJ&2*6-4OKJqZe{1=kRm0W{1?~(AjJV z#nvsPch65X0-ARZXh2^fqNgn_ZTsd$yk>_~3qFWtxa?mr;WDhu7>7 zHmKKwbqpJukB-e}`dul>-}Fk4KzakqLYO`?r!Y%2Bv7mX~mE4mS_z%|q3Vomt3cS+j=e&ADE#>U_5frdJg$ z4ixC5amDQCu4V0^!h$aoJ*jL_(w1Yr?FVfYv7qCw0U20^n2#2%&`pK+g^vwU9OFOT zTu?7uk|m91(19m~3>BY%kw-zx4pHBma%Ul%9%4j=7-bh+r0arF z-A%?a{hfGKTx(Wd2^%26sLEzoE1`RHiw%MKTk#OOQQ{fs7F-2MoZ?- z+R*L1?;EXyrb}IvZEDb(zFp4m?52URed7^PE#EBSVOi_0k^iuM4 zBwKD!7QR-^c=cJRG{*$rK}A`dxVM90EACZr;4|@Eil%cC+1oI|&uL65RfxNtI&z>M zjI8Cx8_r608a~ z^%)0$lFq7WNk7vEO&3WGb!x3Gc57MgMC(b>3VZIGoLlOn1CCOo^zS1 zBbgtdAo1|-U7jB-K3LN5NY;6Vg=G4QifM*Ye5wLFJ5(QuMPLFb6-qF6!xG5=r{TYx z80GbLeHM2@7lJ?#YOULiO5zg<5?$J5NO+>MsE3|WZP*7wt{|EF4Hg@SFi3N8l#LK9 zA&oq88|I#p-eT~eJx>lKij_3cPLEKwI2;1w`<(s_eor)b92^2syc>* zYf{+zG_^${3ZL>4W5`HJxxL@SCTWbt+{#mWCdb&*)k>Q&($Fd_JpOkl&5v};TZfJs`Ul1#SVav{n& zt7Gv%7oFt+&OpaisnXL_$RQ6$E4o2vSj?OkmTa3{63I)dU<#csK!@V)Y-hH5x4fO3 zq}*ZIEzbEk%|I4jo^JYN$fO0zrzbNlM{Wad%rH8Oe2Hp;fx;>nyoA;~U{vPXyYH9% z=1-*~87;hoH1Fkcn^VfayIFNTLla6cR%oddphW+;e9EJ^<(yd_4W&VDY{8bBfOTTB z;pIfM5IM9Sm5TLr!fU9udN6Tqkgu6L;MvLJ^hS_<(c`CQwnaC_(}h)-5vV~g1F9Re zMek~#+`= zxScszS={A^o*3d3AqPmf*EkDW1n`&tV|S+8UXE1L&%EOSg6T>eQ4p@^EG+8QMF${h z<5D&oB4KQ5x2zliO)FQR!RP=JBCPpYEYS0wq(QK_-?)UWMFA62fP=eC(&F@M>9V1c zH0ZQ`wOdzl{?lj5ne0T|UO9E!E}Qx!az!*9kkK$~yL(#DI}*#DPB`g3OjtGFe)3QE zpf z2=~8SA7{L?RMFulH{`Nh*AMnT2`z6z}z+sVe0Ybi6VvnhH}5-c=CJ(Csq=$sLn2_z!XqKmoq;GhrC`$ z*UD`Wf_I^jLJv)QIh<_Zm?|xx^V(^#qe40>LqxJ%LkKoakYz~KILOx~AnCczn!R9H z&Rv%W$6D4udcyFKPiE219L93>pfhY`V# zmRtBl-UFYDG~yU?2el(lG{>k<4n?8s&1RaF`_WMcLxKr82qwQ+7X+br%`Iy+O}UGN zfvEfmvA|VFim$#51E~k@S~q7sr179W!U6tjnmHh$B`KQv`&PN4RnFK;sq zMOs%KL=zjeLr3m-xe~95E}@Qe>&W3uwlT{%HI~xXv}e@J4&ypi&AbLP5zZzLH<@R! z)8W9 zy#c=TO(()}%2c&6zKK3LS#``|39I`ZQUqGvSNdwiioY+F70Ei=9LLsG6_GL8=8rpS zpOU)&x5|A+1}=x9jZAq~!%LKbI`~5eWv@3DZUu3$nrIt|oRHTw7tCy?OMF5>Q*DgD zn!Qr%Y&Hwqb74Q#X`-XRt5pHO#(^yeDtdVt35HuzP-$whn}%*C1Jc*II=h=}>xv7D znhr~@#@#4h7bY?3;6}@C_2*70pP?srg{RKBejjv8x%VT1u;EEllbQbi?QKmI+E{ZB0|a!6@n6Pn{-2QlYhb)o)7l<;4D}y& zlkpCnlvX|Gg;we=c`aXLF;KqD|&L7L}uM;r+?9THYn9{R;PUo2vnr3*vv!}J-8;KJ%y|9&KYspnWViLJ=||OEuFQ7k5KBkRmcN?a zqxE$4Y1yz_^*$fnI>YAreN`T@Gh7*eU`O?4_NrI3X6V;oeA;yvu3j!r+&q0bm9kf| zuRq?r2tRuC?Ak6*?Ay1zJFa6w9^J`-I^SBoxHy%Yo69dYj&0o7l63uY0OI8JUVx+H zCl{yfxia&MV-?&S9Q@h$jS0rQyy}Vjxr>jD`vVEu04%+hSBK^@cm@|q5%hX$AM@xD zUgF)FD#h&Vk&%a)2asJ|{oPr5^b04zn2|4R`SOg>mtCi!4Lieq>y>k>Py6<4JJa)c z>lgI#>qK&(!UwsK>hr+r*BSZP*Fj0X#MxDPui+|xNV|7`Rez;FKcUy<$cS6(_iOBC z_t-h_e$npq9&P>W%Gb!J)mzrkUhY?Jyu3uoL1Bh<&x_T0h9Rig=ycqmRCFrc zFkeVXOe}brk+N`htJ+A}u4k-e2Z2qBVFSC1FQYi<%BLxYXio&? zw2T{Q!PGuvq14gvwm#N`TM}^(=@pAVXOxoq281Pj=V9KO0PG1a5C`6#}BB zHVO@og9Ca}bB_HT(tg3Q>nU%$p|JR6m+Wew?MbfU&?okHM3>tGcPd(?ozJiVV(mAu)EY`e>#HoZSgAfnVG_DP|&r@gZ-U{9Jjt`4Yr> zSn$~TXcX;EX_iatQ4Rs&U0M}KDRnSoRRY6dodp6=gg{C{i<&oZCCqOQ6k#nKIm<@d z7Sz2f_wltyVMxY8$cl4N(G24VT1WCrh$RKxs~BIOKK}UI17V+7%#GirY+>fC>Mo2* zjVxtB*0OaD*pCzm5cP6f`S?BLJJH5M(Z!5W;CF|@Ej_WLaA!=0+!xF^vna0<|SvCs@YVLXk1gaH5t~%a6jo zO=PfH#hpU}?+1pvfl-xE!zl&&;?%%}5#u4{ywdF-X0F%>ESe-WX$gN-IAuDG%Qd`C zMqckS2@*jx0u=a(sg^tq_6fNOVEcl_Wv~ZkgHGTi<0RM2c(C;uM>=5pST&!}%E<|W z+L|RS8w5BL*JwVJ^I(r^N<@i@SYw9vBLz)k>62m3;x?` z%siLs?W4u-9RY`rPoxZwm>B`|(dS0PNwI-mQWBJaPu4+fqO))e^X3vjWYlB8OQ- z*f>O^jRPaGT&rXc%shmcJ`gA1WaYaP8iaIPdlzjYT9W%e8_@2)M4km2~rgEhb(pAkMS|!drEz5u& zWBqL4t&!dUypD4GIDvInT_NYs*>o_B8_CpT)Vf1`A@Z?M;7*7W24f>Omy+BNUPXK3 zGD-zvlzCM2AT^6T_66H|NZZigRC7Jx3>r_uzze8f#TB)P*rXf;vC}stgCdkpV1eC0 zcsV^jY}|Rc{jWsqIc@Hph2pT*S&7)!tb!H`5-J{#PC`*;W6&-^^F_c~sTi>WgiEmW zkR%es?9_yjD$;+F3(vG{4nwKe_aN145JsS+w;8k{m9F1<+}$Y;Te_taFA}j?4I-XG zNW1g4#}%d$Xkr;Bpmei>2uCsg7C{<%aH5V1G*Fpl2}BX##X>+xWQA!Fr0ZZ)SvE*< zEM-V#ZYlvn=w(f%l{*&^3=~QOd!SXZkYZFUL!hTs@lF{oWGU+6NV{wRkH#L(&eu;S~jsTyfD}DHIp~;a8 zTA>3%sJQQ;yn@oWLwBI9Zg1p)Yzw$^mG3!*Xs}{`h}+#^^!hS^4{**yLjtWI3ayjS zJwQrltAYwkLd>bg!C)E=wu1+UWmh{Q1ChmoI0U(%Z5tvcPK?g$K* zd!z88xm#;K%LnNxK_nbvH`u@5ec0C+0XYO-~Q**)$M_s zuTJf84dN5v+o;D}-1<=p;`}W6p<^J&p{*Q$Y{r~^^shE?YwTr9Me>(S7c3hubV8n!5O>0jO(d^oUh@bKqu zAb*j#{i+bPsD>_8+5dU{QLvmUMB|`hP{C29Ef|M)I7CZ1Q|^yr59HB0xFt0EuR7V7 zz*4sX6T&WIMTS^w+#vz4VXA?51jy7?B{3%wvTW0Ag}SlmNjvouCpruF1uVowiAATU z4#<>e$CWa!RNk`79yO{pk*gl0Zz)~thYmTW#K23qvHulIsbHn>sp=$}dxUL>GBLH0 zGm>5nP#J&@4Z*ZDWskz9gGO)B$q1vg@pP(-J$&5knXE;YJk>{2aFPi?CP5&B%Yl&0 z=%Ag_&G3t}SL%Q%TOyDeas;_Y33FtDUSf!|UI_K1q7Au}(u5~T*%D#g z8%-zZLuyRWR_yu{L+>GWBcj+0QkXDT0h$>Ey%J^pVb3Z#t(})t|8ETY>p7g&9=l}k z@)~P0ddsZUez|^^ByLeL0sLC}VSZ25cgxkz9~}QceD1WIfmz8`uJEU<`XdFFW<4q$ z%}3fmFi(5mhzXW%>pmr>kS{bm&o(N2&}$!V6`!omd6s3aZamt-%nl+?!-XXi0dGq{ zU*PB{5NvEL{MXu>6EX+0kXbL<%@@yyEmwi%C3jQ25QZvpYj9AVKO%E z#!L?c7?jphjwoUWntGDtlD6mW+uNsg7!;H03faJVt)(U3k6q_E-r5cQ?|lFGm~ZCO zH>aP|sgsY5_|N{%t-alAbM$EQ=C$nXFFUrHZ@#TBAJz|}?oUhq_S{|#-5p)}_U8J& zJpAttZ;ivhr_V!fz5p}(JRLtH9pmd1{#wl48oV^~*%`a$o%-8dzMhp@dUf{h6>4Yq zN2^v=Z?ZZ2^z@7ma^z+WTldSESjX^K&myS!TYTQ{@R?lC?oR_dHgD&4?Z$C0 zbG`a{bu+-XlWRBoCAM>?r?+>n-mXsFbT{BzcIVtLbEs>){UzE)?_ax3|6!E2c&$Ir zGVKGR|Lw)BzyHgH&HLqM=b)*}r(;8Jrf#gVThsmh>GkT+BWeqt-q+W;ck_DM4KUXY zNMr8*G)QajaP9PoY+jpkH*02{s=kgg|A^i8YuCM9V^>FR-s;)y*S1r4%~ikL@$2^U zZ2ytn#>+Xr>(3K7PGdj4|NN7q$HSICM=wWD=9+3R7oPlB5AitjITHQ0;o#+CIIEvg zer7ISKJ@nuvzUJR^Gf@%eW|%PQWKGtO{=$m=i)a`($NO$JS5J)}AA!Q`dH{&VBM44qbo6wQkLR?c=1+@1?sKH!d)T*UJUI zVko&gJ-nP}<0hZyojwYFjyebcg@Etp=*NaL6YlxtaQ`*b8GIMV9b=JVmk$v8JYE^p@EyWOkVTZNqcGS+9w$GTU(D&LbGl0?oa7u22{ zyx#=H2PlRu(?Sp5kGe0#4YH4suS<8Gz1L-Gqs*n>MUg>{ed#TBDci*~Pqw+m8m%$- zwbxmvk-SOQUe>BRTNc76Zmg+D<{hgOQ8qIgzO6ZzWqU; z$QEL)Nz)FT9{a%ozx_7PJMO&s8t3C3i3^u^T?VqJrcqRoI#`xA5jr?FG9hJGZ0?XJ zJ@%h#r}a|~B*UnuxPeAJ?n`{zi|ika+l=EovIdQb-kKMa80A-tFz@n^v^{~7Hy;kp z)49J(p5}b~w{g=;Z|dd0g3TY#=FU!wvi1MH$$SN2Q7^Bv+{0E_lI#8R-}}`TwctiV zRkny&mf@VwXvb8gE_!? znBf5~BV>}dmIzd3a2jDNT%&XD3oI-m8qg9;E;x&__CYa?xu)fYgM&OkEZMl9j6P8( zom<+9eCzxf_%fl&Jq2Qs7plvW9L+Y z0ddwFH=pR%knAO{6-@QZLD_i-5|toP)j2R$73d{_5G4q7zH;8d5@(CWC^Pvfi@ai8 zEBjSYDCt)s4ZinS6-v6bWE!^5(8lJV^5kl%V1c7-jlhFR0p|jW(t@2bVlG&j@-=5! zUCN}e4Ae#adKo#qa-vkVx-H&j7Jx&}vpvcslXLu)s0!0wTp?OZ z_10|`rqfnSBks!P90>aD`6^$uVVg=_poserr+lpm+y@walg(BJv5`(12i8tE%=r_D zR%SkgQ=WgEUX<`f1@tmwt18&OdbHb!Bb4V_GHNgk514>SRqg1~Ur1(R&8t~MJTx*yq0vt$zT`!D5TbKk+guEUtuswwL)a#abERlDu z6D?z(KqZURN5Y_!G@$OBsg(Sm1Zm%kHDcOy);z1-<9Sn*b>DvxnAOq#+RqZ7q2N@AOn#54w3gQi%MvmL5jyo~i_4%7nW4>eymc%>w@@;dR^8{I(sD}MK`s6% za{bz0@T{o-m3sn5VAEfRA$!-5!3dF zh{Jcy!>&yh2^+!_%f9(677ImJ#JfWT2Ax>QhWPK0yjBNSy-L&?UIads^lB)1+G)xj z%tV<#P+(E55sV|%(y;HP>13&K_k! z1tDGN542;ms+lXKJ4aVgxORxgH8;dnIgAeeMdSV4-^9Mj*74Ej*jhQc>t;en$6}&* zQM$)ymAElpkoyNx6o^9n)#w>+380x$xvDvi3I+VMyoS(=!k@f>$t9*X^rp$bC8S#D ziNIc6O_drAC}X&uWla&D>}*{X`l!OaZBUHcdRrW;wK2o8!B$9Awd;+J;e(ZxAX46W zN2ER#B9N|zGmD?C)&s+8*rr|UkTD(fwL-+)^Cky~k);WYT_+kk3|n)eRGBEwv(Bm- z)^h32n>Hw|+MrTs7kOA(ZO5aAOnY^fdoid|RLUP|EqZXfk*T@L?2K9|)w}-wS?9HE z(bHgPQZT}uLT0tCmaG0~U$I14C%l7XT8c+_?+nPBkZq|Cs;KR%pmi0g9lQ8J7*5A% zRoBg4<`8sCWv{i;ziwYUN$RVdU+VDIZ~=vm0I> zgb%pgi|2d0O2;oc<$pNyYW4xB@UzrCSCjjH8mIUv@@m=tyuT9nmtC;W{QR$8AP5j7 z5UcQ`%z&LE(Ud+A5cxO|kjQ_(nin#3wltP8bg{JiSJYqkZq<>lIo5gBmuK9;Uf-~e z;FRNJdh4fFB%xoER7%RpZf&nyq?{zl*k`IFkI-Vr`n|;6M(d76Ry8`+ zdXD3Sb9~;54~PFu{UrZ<9slu9pCY&4{d(N%d25INA^rZDdAarb`Ra!6_xJ>a_rIN9 zy6^dV_M0TwLaVPr1|Q zKP|BL|Ge1uzhCqBcYmJL|6C}gE7jf4xpn?LZl&8tuK9fJuUhMsFhu+f5r;e`M_j~~}Yw7PxClBd8`}DK?UnBZo>ikE0 z{cqn7_4eOi4*>RCx;_6FHooKPTe|+Y3wL{Z`=9GId;g!Chn2N-egDV${+}In`@V0$ z))ao9*UOyW!W$z$K=}LMGr|7*eka@GE8Ao2_UMA$|9x^Q+nxRe_vhox{oh^a^L^gI z`@as!?|Dq|f1Pga`Mq}g{B_62!}ouBU!vF3KWfw8eX6eafB7e-=>D}c_xgV>wmeS# zKVPP@_r`3$-e>qnXTEP{@agt^ygeVc?Dt0Zc72Cze-5_ljne!-T;6W7_j*2tvhDZY zIe(s3+;987F7W&PUy41wJ10C|`F#bax3lZ%{qHZLr^fU@M^4P^`(9t8$@%~J9`*gR z6RG|X=N|Grx4cpo`gDgSYJ+luG^dRscNo!0VM z*z*7QYUdH&K3AVU-}0aQ`*C=^g}*aw-#3x{e)D4g&uYoO@7g1bp^ed46Z&8|CwZy#M`1`AdF(SN}se{r48cS@n0jv%3G?o-r5Q&zQW% zB0PVO&;67-e($r;8EgQp0n@mtWgGbe!_o%#-4If^bakt!;meDb+pP zd+mC4w@v58>)Mw7?MU3KdpOg+a=_&M*|dF%MZZD!+t{>( z@2;~IW0jttG8JCmK92F1X>H6s>pda0Gp6y;+gl0JW80At3|>*IMm+xw*V;$T?<`+#p<3SW?fsEn&-eW?eM2)hHzVnRW$StQ1w+dwv{pw< z*Di)SdLDYt%YOHp2TQ-zzI`<#<9e|JtbVQM=KE`xYwdA$oyvP!E@I1-?q&AYcms1R zqLuE8>3;xCK(fC|xwS2RW;-oQ{B9m~i&a|ITaEkZvDIR`##Za`x${!D_14{sv~w~-Q)9kh7$L?@oe$F zbzBsac+ zcw^sj&GBmccFcwA{gz{FwKzg;j{A&xX`>t~-#glE9o!dl={?-WXx>YX@tm>E;{Gp; zb?;u+n2QnjT-SLY@&4M&eZ>9MvfW4Hc#r$2F~;|ec+N7``-rnv;&naNu+;VFh=DSW z9`_t4`8MKg#xf2bso&y6aJBaM|Gcj=-m{cD>(5$DK5O=4#{9=|zvURum}C6DAY$V8 zT~RYD;$+^ZVx`?2=YE+Sg<0>j#y#|y8(zP}_r-j#>wS$St8o?YUhZQ>c9dA>h0#;m z%MqvO()WX1)a#8!y2d`3BZgZY#jE(XYn;81OV`34ihH>4NR4=~n1h%*PGoEeXD)V5 z9+oBMx7^vT1<}Rw^f>KohvldX+hKaV`iM8?ar^R<*fWyTbGM8F!)%{a#H^@uyJtjALCHP*Y2cCT?BdK)qB@$AdJ#uM=SRyc3n?;Gs3 z{C?zB9E5@_VbS7{#X;Kkcwan7%oN){c2?}}Uhi!WA<*tU&d?kl;leicX!d)pJVxAl zECk!W)`jsFqS)&)IbxgN#BH75{3EIL%g?^JfBxAopMOw$^N&J(4WVA2*3f1xbXcr2 zVwNGc`Ai{>VnK?l&_axtIN7mF?h44b#dv4T>VELL&aF7EmmS%=-eYg_TZVYx$xe^O zXCcPpKgieP^)K$1U%vYM^{4me*I~!J-0v3mJKKB;@&44%yrqZg4M7|K#73TvSz_^G za%aqJ-9popn7NSsaadvz6#(}-5Wca913kRnO`Nv=UV0654f7aNao#)z~VsBRVXNmP4 zaZfo8ZHT2FY{0r7Lj`_>P+mvHs8~ZR@sc>wG0$m~IoAh!cZ8HoB_9$oo+|eGBfj;y zjPeLg6910_9MWQq4V5Ft+=B6Pj&^3<8-jIATKF2&f`dXcrf$hlH_eW^HBQzHG z#YqkuE2fWcKm6bj-0Wqvar|~=W_k&QvdS!)fbm9KK|=ZU)K6(vDUF7Pg{MO zV}0uLX)b%%mmG?%AECxsut%KC=lH{cDi4$6SVOwh-k#&{kLwz*3&C;?D>}@G%Qa3h z?~hS+zLf_rWoyKd4ZR-|RR_A3kGjV@>Wuw@ZV!`l%tw6jpWgFFpMCPltC#!zDDF4( zWLUw)t+~ezEg_2HK4aeEUrhEm*$Bw4N{vmlGb*bm)_JTQ5~53Wk9+V@{&WJK{~?ser`JzD{`6NrNT8p`JcJZ`ikn|^^mazdDY~7x&M8`SL}to$&e;z6bLi0H2IutKO0l9Iq)%+Y5poYdDT!3>6zGB%>xp%#VU3#&~($%iYiX)0_F?v*Y8R z|M8iBfz+)fq;7o*`v9>Nhbg3PsEQE$w;m@l{vKL=W4!fHBcYm7@r6B(ogE_f=zUXq z%q?}r#5%$=a>N#KM6U7s77`<4J^>7YZ8h zWm92v6jQ~kiTlC6SYi!zoI{qyEVmx#B4)bbP#5;s;&oZEz_GUD213qnLnS}&pv%Iml_U#U$>`R^pH?}jSX11t@u1eD__BMtxJkyrYjyljKg>wjKuYb zN5nb1;e_F&onxqdULW2%hc9lo#m+@Ux5dvn+OqpSUWdqPJbsPO-Fb-O`)lZNMs&DV zU^onXPRwSD8H?TD3X2qT%@&W1$i3beTHbxFp}(JdOj}37UT_&hMuiwbgU3PxJcPB5 z#5rO+Uu$^gp)SgEJhv*XvoaXuao|E`BjB(XH9>0WUgGfb*M@}KS;m+@oYa^zwo1o5 z;sCYfG$-RUFD?Cc#=bt{ZsU8~pRd^c?|wK7pcY~FJY9=R7R%K)A)1aPx}nMND}h=% zR?)5&yz3|9cUDIXZ_aLPlEE&%IkHQ640dYO;JyPhU<`4btmVWasUYG$^tWR*naWnYZn3*DeH(s8 z+*c3jruA2JB=W>GqbQ<$AW~n68`NRp_$VNG7rHJI zwyh&`%J0L&Xsf1y-dzR#Kn|5~7emI>&^uVF|R}KYV?~6!V3<$B-XlS-1R6^|g(&9vUOeQ-Gyw4cXDcrU{YJ*asJ2 zrIGSAHV5*LO^aJo24Z#dqq#?%8_ZCzhu5i9=MrabK0@?9m(!%J>BbiI+89`WVn5q4CpL;i=8c>&nKglouF zyi0sQ9PZ5_(9T+*zD-_VCRiK6c_y-G$d~UH1}I5ktJYdIfw^?jZ*+ ze#hfF*Q4oajWs0oT8>uI47}yMad+nge));IVeR3O#xa;62(j(s@T((m3u_mj4gqjy zirS5Tu>v@*&oS?hkdZC~SfU>{_D6i=f3mb6KYkDugQXo?h>G!puIvT0IKDeRF9wW1 z4qO-v*t%s64G^nX*3(9=?LdLW0np}M4zNeOlCeGaij5WXifTnImMt6vtbo`wjxnz* zGH#1)8e2K0uYsSjd{_!~h<}2CH@0>xTwAwuOx4rInqwc2kZ6yxhbn69x$tLVmBH44 zo8A6Ml7ezAUIT#@>?xr55fUS${l4Ejo1@;brDEmcud%D+Zko!pEg}{1htNZ-vLnt| zsLybjy}01X#9!39p#@Sv;LIQe;xMko5qMpHJl{x=z%Ss4=Yay)QeX^?hwB!bJS^60 z+(ItUpD*qgAOHQ!+Jbe@u)JUF%Mq&^OWT1!V_8x&P66k;E@%r?0I-cb3emZ4A*XOH z_C0J20PR>np(Oy}a*5B5#qEq@_u=8)u}p}aILvN5>i;iQ)7}_yWfZ=}a$}NX++ZPR3>^fpHeZ8cC$$^c-8(w_xu~zd8O2it6 z`Y7T_1F*o&A4ceMIB)BAxb^#@!FEM2#Trg_EA|g6)cgGNr+f`=_VSdXhs!|ExN$?> ztf-sHF^SJ!IY&TKv8V2FM}vR|=H{K_9@@=K)9}(NaU@(tU{DlP-Gpaa*ag*K1!v5l z#lfK?$bq|0kfX3?5H<)XVpk1&cQsxJL>IG1=!yZ67aL&3K_%3Km}#JwTNp8%ka6IQ z%_TMq&_8AzAk)q*#~9MXlYpoMiiy>547;K0v|$Vo62iN{6b^0DxLZO{ySQ>Q1QI6~ zqqO5EVQMZ4uZ9o8MrN14?|+Q^3Gl@s*@%`FP4cw>e6|EWC(%}%M!dhU zC04*UqOT)CH?%gMlwL@DKD)H!eHl{A`wZ2(8cRE{H2V@_1+REH-?;FC!7PW+C7ikF zC@|};T*yDo(vW|*d>u%Xujh@}x0|7pCgQ3+eN>}gaZ4CBF_rnc_{MyFybh# z*x`gVH%vI^SWIEmBAFWNiLTuYS>V`XTvtMBHLW=77+cBNj z3ZOVNxMMeS!}Ff;2UI9wCL$n&5LZEkQf970$U1NN&kydWAOF$q-jz=K4}M485^Z5? z;X=P%BPWNNa!1E-mvKJSlIa9 z?7Fyx=g^zRx7fu9o$yx;n&$6T+z78{uFTbs(C%->ow3S*pm7YIC$9GB&s)N?SLORs z(~`$RyXyReRC4Y^@c67D4goWFuuUf5k`oX|Xg$3`MwFhITUAQN|KlUsH$D9_L<))& zudrhU#S(^MQ?Qj)A*DGMM;MW_k7ra3AC0WdZ~8GddVKbSK6$12H)TeYH5TnDw%XGN zLo4jgNm`aWzEfZBX#bJX_88qG{F-w}=++VSU`TjZO13bf5S}9}+?ay0-v`jZJtlrb zj>fNWDG9y;1I5}9y;|{sl=6TK2xmVGF2uG-h2VJq2=#mY$;Ur>uAlv2*6u!7n6 zVf#$))i@sF7Q4m06ff2W3VnAk3W!BCIG=KdTI=sAsedAQyI?W^NilYr0-=uM7+|1q4jfmFU;sJ9a@d;(=R@)lf$JTSEnr8; z9!Qm8U(%GBt9Pfu--uLIuLq7Oa0f~tHt{-$lJQhTlTg+ikx;@LPCSt=qEDe*>pXBm z!@Xik3ScQS^W`VJ3SJI`CAMM{>sPNe_q-=RZf$=7UyY8V(Bh~~4KCOV02#0sjP>2~ zQ-2hFes%x&)5}M%e);kJ)p0pq-|w$Kzr4hKx~#8#eX8rzEZb9!y}L}TNCI9reTv4p zSb=7zQNwV*<6+8b1W{&F2zFc+cq@)_c#^*ZKPMEe0k2lVOhAl#I3OH_5Rc6Qm+L;{e#PswzvDRa&~3&DR#0whGnjk9UYwvMZ* zVkkGvWLRiO(&d;i=+?*922qob7*8h`_)cRw!Z{4iMH5N!hS027D!z!5U16Peaf(y-OY!a#%DMO1_7 z1H}iPS|wE680A3`+1@}mb%Ax2aD_2Hyheg7p%Ye*DgzIU6TMEujX+tBct6+?fb*RH z_#HR0E(a8e!E9jbAKA@sJqn)3)`e zPK0;~ak&w7zA-2a7Oj3b9`Rx!VEBPhl17-!05Gwa4)BDyz5%?ghPDw*(3`*)AdnIM z=b%mqb`ruDlz}M--4jhDiX8iB6H>em2}ASFSC@lr%&r`Qc^86VIP^_6S~0>Rg0`YyiV7QM zp1XR(g=E2&3`A8zbpT35y~Z`b`5;!w?&qNx`tSaC z(r+>XfJVc4-kMkF#FfP~l5Ow=Il~yT%#n`*t|1Nxt4p#Tc5b;7`DjQGZy@*Wm!EWY zQYAPFX=By)?IG^*mqTVBQYKfZh6x;Jv+9$b9r7WSUg&@l^ZM3a+_7ttxd$C)-GVF0r*O z!3Z$@b=HF;zhWsasoMu|V|cZ|iSaq|K||HaCmnI*Fb!h7L0KAdmINPea1>E>j&nS) z>_)>rsBVtI>Ek`Ha}Yi2GzzuGF~oyg`FmlL7*&hkZ$`t`FpOGk6i$%i;Pq-T-STm=9qU_MzzCg>V|r9+(g7G;coeqq2#bIcY-%Pp;AU1Sw`@3 zfS(b10FETU0;AvoC%5qI&o!)bPWUhcg~9+>z{iOb-I5%`{SdyAgBprJ4?K_2>H>8R z(Lj}I9fZ_ouORIh!@zN2V9{$q*O(HNeXQ=fh}L#Na%KqSZj6!f29)A8v6(PdU~R+a z6GJCZxAS++OH3BcxCa4JWKf(6PCNYm1>0yzaukI8ZFhrUEQEb?h+jgnPuV#LM$#Cy*EvrP`c>A5S*9Y5Xy?#5^n9m@`9yY zVsnP{VEfd1-?$5TLGgvpVH~R~;7e+8uf>>2Jdl9|W61!*_#AS1H_f~TKZeMZ@f4Ij zJ{w-ndZ^O~+{y5XFW=EjVsH^|vD$k|Rya2-Ok71r~1 z;y;`!*~?5Gac?%|yqyviFyazxiO}kB&(-5t?i2r6ui}P!;rSU`ZCSJKA zS0&pWzAy0Vx!K;kXto(CHo7R3N|Tm{pGhp>h@b1?6T z#OeJ&^6j2zgu`yA7NcGAUr{Q62QFdxhf>3QAEql@SK;4l2o}H%1ne$4bVrzA(|6fg z@pt0|`#tv_2smP*n$(~;fF&H_f@!}(ID_jvvAc;TZ5g>F0@>yAVHYfE$1K|o)NrKl zp27gfDue+V6GIkM7eiKtJH9Sk9V-LafA#~-p=N4%&<2?#a2z=qrR&#(bEYGvHri41 zXrjEvJcz&Dfz;#skjjVo2w~t1?g?iNa0I$7COwCc&j161P0zI>dsWR86EyUS`)SLm zvC5*y8zzZC!T9{g!0zMc)-$?GXdU*Pff6(o#F+%ovF$YO9qVmmFy(^wBuYHikp?nm z!oayJ85%2#!Em+u@Y&5!;eD;}IV_W|3RyXK2?BE2ct7WE&rB8!^G0S)H>fJ_q_#tC z7-p}(i#fu%m7suNYr9&{01<%!NC;Rv1n9AT_C*3mSWP!aEGTf0K{zC%LypJ{&I1`V zj{S0;m-n8#U%Z?8pqg=2}fRf-}07;(0BTbzy+ zaNT(B@C=T9^W?gfYfpoV#0{=@328wDAcD^1Pl;W688%yiToEFvJl&0JWrtJI49U)i)jEc z9*A0OwvpJMs$ewWivikvVsgXFPR~zy@m(2 z-_wv^Q+8tppo{BCQW**r^QX{XfUeEY>6de%zx;%wP*0*I(0a1$!na_zEho92RVQA~ z?jvbwJJS|{$zi4QTl{Khb| z@7Pr2)u~R!_~juQr;WQkbXMzfoHO>`v-bRQ*5HW5=6VX-|7q6cDYRiX-$;+4gsTv1 zcB$q>x_l@=60kKUizyzvDU27W-e~1e{$Od-{k5z9aV@-rV~M#b6 zTaDPoaT$j7JVFh(rzS5(nZzWv}f{OlUoUuZJxo^mb{@v;LV8B z@}J}2Kwnvvc;6K(h$#O=0`vF%8FQ$cue7U%uQRM9Zf*@jo(St$5_|6=Jr7)fdaiHBccL$A-+m- zNMwmPmb@P6f*N!(*I>FQ3i!KR&31>BURY~!&?y03B8U%jlogjLsdd-gh+aH|{90-R zNGgumIP%!N_w;`Ja(egEm<>%iMt^F{Q}`&@vM&0qh++Z{JM{5ueiDJ>h@ zRWWEDTZeD~oJ24U+x5nQ1eidH#lbYfvJDf9G*&t87_XUNs^7liD-=!Xn|@GH*-45- z@$q*L;=~}VDo4iwk$BfX!>}7;(XfjHc{KC;R&zXktb9z;pSL7}%#%E{VkvHNfcgnw z2^=`W4U$oLU>}k6hozv@Mt6h-X+$tiI;qW}N_C(~RKy}3ydF&edkuJU9bN+j2WQnRit$@or3$||i=YSImQ4cjFr7E9oq z==W~Wzj@i9uU@>Zw#N>wPgl5z)h*g{i_VNZrVX;lK*m901>$aeJTm9Zwd6I6butFU z1BMx%YkDn4;FE5}9yM;_o-DaX$$(#D>J+A+$yLY6r6fp;(BBY8R+va7QR)LM0>cnN zFFu7?O$KP0WK7R=#V zJ#UEOdS+(aicwwEw&Z+sl$!Y#NHFNrV7l?^P4Fppf6QoDvCwGnR}ZvL{OUR`#I<84 zHi;yah?%*==HZ$yx~4#tFV@_lEna2$gxxKAH*x01Q);vgm$!sv0oNQ9k zYr3&l;P&{k(1uigS*)_eRF~gwY zYu-^Ut%tNG<0o8|ZUv938iA0~&F5dV2?+2EGpXbCrDjl{^~A(KQ$7a{d#n@i(%z(M z2%zElg@Ltu1!~+M;m8}g#>s=Vpy72LJ{mCn=n2zjL>cHg_VX^%ifa*zychFk+%wqx z_}6nwuZLO;ur@aXKnM0pVe>PtXGpn)-@auUKOWM)-3mudPQta4cg8pmPBKBrnYpka zC^!Bk@JV7Gkn*ycM@?3m8~@8sG)ZG?rx-DF&FV+Z4B6ELt8h>65@;J+LqzXj+JR~` zu`t!P7Y-_sgf5k|&Rhzd&0$jRB4FJROTb9PPRZ*7_TuwrrVKGXri+HO1`_I$vc1pu z9{A(sz<=~d!wK&voFCmDQA|zrViZFvJJd$gMmLW*Fo2}=CCo-VS%Sq@QHZVAQtRlV za16Tiif{?@dKmV>lPYIi)Ch=fB}bes*D-U~o*Id5L2w)Mf7IvL`j0Ttk5zPdQB+{q zfb#abNfRQKbl|-g43|~&SEvCqg1-adZ_5dduz8EI)(jy|gXjDm7^0swe{$S~QpR30 zJ%!K!kO=aYiYa6wipp>1Xs%Rf0Nod9n0|&l9-u;?JKSMV;B|Wd*O8tlYOFTc^(8}7 zJcqj|tqqS8*C}?kY`|?X#Ez3Eejpqidt$YKOj5NtF5&XY0$haySLaOd0;zTzQa>}2 zP4I%~GqxB)1KTWv8>@!UwMlM{{aCDDWp)MxVF+!+4T+%;`Z%mTz?E89&FYg^6455aVwRyZ2> zO?0Tp zDn3Y()f!(k^s;wxobEN@?p*?Az3)Ve!ZFx8#NXQmPOp3{4?#Iq_ z&D(C8O5A>>gn`kk5M)~#)!UX}*JcvYu@RhJ9wi=oV>!dU-3%p$<=9Mmi)%AKZkrsW zu#3`X49l|U$#R!{i*L8=NZh7nY^bmT1Ap9iLvK)|p(XLUFI;-?O|3(KWq{yBi(spRACw%AJA_ zj&P7li1n&rd#&{tI`~=gOyB_@^oIX0%dd<7U?PkIg?^%R7|c8A1sE~$%oavNz(|og z%lgF1TkwmxbusY~)x4eT%8>RU{lP4$rNe#09~!4HLrCtrdn!v@1hd4GTP_aMHMtXI zP{3J@s~Uu>%S8Gv)=D zsNpz`6Pj0F6Kj+E)%C0I@X81V?YbvSDc-U4naz*_1Zj!UlK^s&c2u-}LKrLpD5g%x z@~(L7ds;@T$CO~iYHDNXcOJBoy@fz4RRiAoTdv+POJeKhI$%3aX@dkRSIfBR_=AAy zlmP&2(xWVzm<+#aDX_t=!U>$=eBq0?B^@=a=OVjMO45*Gy+2dTXtnYYphOdyI|bl- zMd=GQzrTJl2gVD7WP_M5p%cqq3shbloDgvOed6cglF0eelp%EAGHdC zw|r*ot6~tzl)(mJaWPAvzh6QkzUl9ND?1_c1A4Hptp=jLohzyKUYtHHP*q zy40buFRJ^=-izm&!br)|gtCid<5V)%t$1C`9^%}EBqTF3F5M;}7k3jZa9dWtpL~}% zSWuY|wy1V<}i`pMYU(;4ETq!x&9hc`LQv|W|JtXnrKwi~z~oF&!~)`kSk zest?qO{1r2{!PQvIZD~Y6qJ_OVRv-3jL>jZe`A7mqie<7NkWo~XfPE*I3iUCJ#*-; zkW~)Q%!8P6d2iVCM$ZTda^F} zj0`o6;@fhJC5WZcz~A zX3LBO-7GQ_4AOOd9AudCY@4F$M5u-D{k4C8jj zlAt$HYq0owiJq`bEL{xLjwOxOCJsz`lI+CI2qj3fXf0(A8O>cd9*>t>zlBv_x?xL?fChptAM&AW*_gnOxRaFGVH z8G6Ihk@~q;Lq)5lU>IvwB?5lM1RqIdS=&s1wj{LxW!Z$+Fi93evdh*?*8nW%Ib!Wp>IIk`6FLqliY<&SYc6ADy1T;? z1Q%HHFk5$+F`j|@#TcAJ8p>^E03xvt;EW~9=k~LFE_to(Fc3Z;z}HY$c1gm-{soVvbM|6<}#}5j1Oa3M47=Aoa%q$A!4^#U(T)@@xwAA9fH>&}b)#R{iUtMr$QQ;Nf zeXW))wP>k8HQRqPI*m<%-3|X1@U9(MkMOMRcnG*Hx0keGSO-vN&6CIkP0rn;ZiEQZ zf20;jSmYMj!V634T70PoWf1@%hHd>U5}0~c@GNTl8D6q`jsb-SDoL^QMJFiDeZ-XN z;O1zVTzPeOYr~#&@-tm2`_ zi3ojr$D+Z4AVC7kEH%&j2xSN$wpNQ)W37Q3L_U3wcLNwfMFS?E!hCf&6)9^GX6?{w!6W*o?x=OV9xUR>v2v{>8=xVv(O?DtLA1L%8$`-7MxXl-1 z_5ZgT{=cyrUW%)Y`bR`xqXCNMBNYEx%<)cUKOpUTG9h4pv}%UJz9e#Aii$wYOX|Y(x*8aT^t2e6Yi7_> zD=`C&t)FFUT2>)5^A0Izt$xPXV+1{G^5)x;)&>YycPlR@GL*Sl-!=5SrIlm*A4tSK ztMr*6Nd}8&RiE~Jr1C=USZN@TB}Q(@GKm^j0G@IN3N|5`rEAR$)3rTQpm;qC8Lpxw$@kPYSVy7Ws^in<3zBC1=3|%A(+tw?HOsPt&KQzd|7d784vbS10QCv`V zf84-fk_w417I07209Mv&AC5S5=ny*!h#ST+#}EqrE2EN3HOC7X;nbs=L^UWk51zPp zs|=vS@Y@GWMYHRcOuQ)>9~u+|5P_ ztt`(C7>uqLlCT#&AnTCeak9yv8B6FHCIU88IZ!Ah-670&gN~eCVm8T4R@^0F!g1IU zhMLpJ9N@iVh|RL6?=umw!A;0 zt5#=tjAS}4xgjBToE!AL8~vr|+~^jaD@mo-nGN9NknEG};G zwygGa$+73Py;&A3KV)HpMM7Mr+g7Y;b}^ zRvMaFameNb(DjGH)kwh{UpbX0zk}lSm->e#+q`R~E3rP70}8L^o{Rz!m`VH=ij% z`aR1RT2j>9Ss7o*E+#zFJC~7pS0?Tk(}%5y*!zQ2U8_B?c#x0b!Vz`a*TWo|ja;>& z)*2rDI3-Yutw~j6Fk2v?@8nE8;wGdHlV3E{pVO!b*d3WpyN73{{TPpkNZE-6jTaul zkcM;v0DuC*0{RW`2rw$IYLv9+%wDUOs|fqV>bs^gTRzyLg3|)pG%v%qy*KN7uJ&Le zO;*k#LC~4pFf;|2wQch5Fhi_+w?FO|HI~=P4 zBP+}On1M!QJ`N7NZDPhHJDNcSw<(;pz{};_z3)8+kC$VR`IA#WtCe)O;uK`SBcs8F zxwjLm-Q?<#f<+6QbVm$vE;dpDac@Q{^^w;sL~=%n_cKbI{R9OfXv!w(cahtlg&{IR zXihBGo|4#;Rm@iIc15!h+k5g=)1d~W1Q5?(N7AF3oow)Jdiq_$<@in&%PF0*F4 z7spn!WZO>k!qad9q4TuosG~y>J8`3_D@e_lVO9VvFSc0GE|(pcTg^iv=LnHZM=^S6 zNlmnyV&%%lT1`Pn6(gxAwhiltw2;FP-(hJhtJkTUbl0T>l%6p)^ZnuY*kEC?WGP^2 zmHfRZLz17crVn8VRZ_`Wn`WLq#C)cso)ypdofEjpMu5`0no0cwH$m(AKg80utSnn_ zU)cmdj-^q?E(3D}ca;l(W90L%nPy<5l<4%x3bLjX*sQOZ+D!yBe$M=wjdnldcGfXY zVmoQf)?Zk}XoXa3a%b>Qi-rXe1JDC1&@2fkFcKB!D4F_TP5Aq2?FdS>EZM+tNa8zI z$%OTom>GS0j_0DfYJRcR&0vB-S{dcJVk^2n%jJAcyx6vcB;TzM>*90WvrJa}{=J9! z?_Lh`d;v|Qj;&9PqV$6@1W7gK4(%z^j6rKOW5fw#tQIRor&@a#_Kx9-o>ix)dVz0Y zW-q&RN&XK~e%3Vd+L<<4Q5;D>Mk2=#V`C7pfFsd}miiwA%W?M;ropX6ovO-ada1Gi}4%Av9D> z!MUH0PbFs0+>PujYGuYg#90-Ku+d|$)}XWX>=Y_rZ46ethi9k@A`SR;l)x3_PlgfDG)ny#0AOALG3O z^rbhzFnx9tZk}Z)RBaPCVcBw!w+6!yzm~$-*#5S%RGb~v0$wB|Zrc7$2{AJoEvq^y zS}l{IOc-YK;BQ)gq-8EPrs_(vXv+q^2Fmbzb#cVeMX}jLYa3boZ%Jmf)FVrRZ$@>! zwiFur*ZY1*savcocf&9rExYfMr!`9AiJ;3v&@Fd{B?q?h2)FEcK>fr`#6V|f>dS00 z>+Luj_hfC4uzFeDkOIfBuflky9*{}7btGO=vuQ$W{W-qlA-;>BVgnQ;PLu8K?SVAi z0Hw4D02l5kUrJxn+i^T79J6YsAKb{50xE`xrm(t|mXao_+iumHZV6x%Is^e7Ax%>n zg4vCF+}oMtByik^HA&<2>L{Vyn;FroF2P13JHGACV-}Jv{D~TD1~5(ZJAG>zxL;1 z(V?`G%*vuv=WaQy=Xmdpe^14H*d>5-V*Y)xkb*Ru{ZN zLNL{s+V&rtJywat=-pbQhP1L3xIzXFC~EAXF7G69JyM9%vQj~ZrUiwJ2I2rFc3HhQC11q zL$U=hsU;|GJtHfoZT4G%7gCmtO*o#V-tFt65!BKMBK($C&)Cyb=WG-O=Kn1U!ubH_7liW*?I-VzYNsG`tDvuVlZ{-Lv-`wPQ_!Z?&4C>ia< zd9)jL0!#@sY4uRQ>rP1EYWnZU4B4}fLDuijoLTW7KuUqvO0VQ)k-bL0(}ZE$S%UtS zy%O*)uMGe;UQ;ax5W28tf&x{s*3=(itCNmHmfcGyY=i%_lsouV*Qq@}c5OQ}xP z1sfvCEKnXyNk>`Cp{@BF-3Fqk*zqHi+o?upuMe`IS9A8V=N<)DR3N+g6xIC0En6{W zO-;dMX5NP0P;;f|c8T$%d)f&T(g9CHQm)^7WY+pk`I{`&H>&tHA?x37N)Uyuom4k>N1>uM>}@q=m#G|x*+ z4pwkxN7t90s%KI&jjgQ0d$oBMYr0@)&_@n~I|5SN~9V;?@)g?<_iiDZ=K=0P|wL5x#a!)s0GKzpMUhLPkwQ{{`W6o4<&Wcs@-ya?hDE<* zG}N*w6uq!I#WYi?P`H^)42m8$(cMlTHu-jzZY%x`Jz%m7WDxVRpykiA3YB=cB@cQG zl}0g#O=D=zE}d%_`wGW>mH6O?8wJPrLl)*0@KCn01eu`>H~<Cc3cVTWSxwG9IjpI2-CTs9 z`P`nldEG|OD2!bs5W;Yd-Trp8-Z7-kCPTRxvL4z;Jqwv+rPet4Y#!St)?!Hy>W`}0 zS~;0EyU1s;hxIJ-lakkHZds)yjv7>Q*hp-HJIMgHD9iCd@hE?^{E!j3 z#Vpy7S&Jwc2|NgVEu1>D8oOgg&1|+MDdL21s3kozPh7GC1ilyRM>553dJFt>E9%&v zcS#3nW|dTz4+WpgNWaT$SceR2LJ2Kv_^oCvW$me#^|YaGlUjq4re;Fg4zc5E)2l1? z?=q&vVW8T@o)IqTn^OF6jw~UVr35QI_|{}YG`;%vXgxMF9y|@UoZVGaTtT-WU@Q>a z-CY}ZcY*~11ef6M?h-7xy9Rd}Y1}OYcXtc!G|u$Q+`DGodHnn3obHFSR##V_T~(*{ z{#ZJbYxdryrrJNuV0$zejO@FKlh|1%>c8Y!pdPo*FpnsRaVhJ1+P4Y(Q2)Aea$h2l zT2IIGBWBOG-ZS2N4BnqN&F}&*;y3JQebA6GSmgwDrM^50tC`Dwm`r_xbJ~;n5JM;x zx5vz=zdL_Ihp+D2a#S!-BnZZCBvgX8F&~~Yc%5dnDb15hH%flbKmIHlk|8IYW3G4> zm88k`l3jl&&siXY$3uJ9sWlU?#!hp-(fSuIrK#NM9SG-==QK#G13!t#DlW_Jh22f*V5_h` z%rKsDWenB?Ay1u$Co#*eCXV$*fj`Pd7w6!1QrkbU)67zWy4{SbIvA@Ng0fi z=B*AH<~-IxuuIZ&K3Fs)ihYLfFn zz?S*MzSPU|?h?y0z2VfELUd-{iVlX0pF{7_9j*SX(qg~9bL_5K)9*Omh7Oh z1(I=*z_w1{fB^8bImpLRC+DpGZf=_ew)d?6@O8_g7kJN2vB)mWe_Ax0G(@-vKR%Au z9nUT6k^EGcIjc2<#1NL=X?X`QsRdvB$bd=7uBiyE^!rFoX#Rt5r;kcsd_!^;O0k*sg)ze(W} z@=QfWhmBix47`Qa`{_Cm_N|F>MCJ8YaCwx1u6{!NAdL@=ejcgvliz9B+-whcqwoee z$%lVJb;X#0HP)B_ibdVOtWxVMmE^QLHE}I6XPe7$a#+oFbw3~+2p@rKkBOJx_pPmZ!lEKqpXgTuc8k( z7D6L!v)H>iNDraE69GZCIj$H_t5dUiQdkZV5?&8{eJmFb6Cf*#tQpO?e6lH4Z9dwG z;X5$~+rG3k6~d(m%Hr;z)RXzonjnTwnqITHgVFOGJ!1|KOl~exXe6V+5U}sEd!L+_4gR< zWZ63&tRnP{N@#w4fa*)GO9^Pb3FyX>_$I2Un~=pJRW)WnfWfe&xo<`0n@s;QR(F~? z_iv=uId1qpZ{kBO$McP{y)~u`bJuzJuuML5Ct}o?#-r059Mkw6-8cqUE!pn@P@xV7 zV@V=)5|_>5sogP0H<4|O^c2a3eO4IF%-Les(K!id6Qx*X2Yl9~t(m<8ck>YGi!i={#F~%3z9k*) zmjC0W!7;t@^vh*iKD!_wcoQ}17@u%yvcZS5&sS4-oUD|xG9gg}MLCo$SLM9YmdD)I zF}u>(T|n>j+eotH_YA;N*5liKNiFh$pyarSNxukS1-W$6_aXy)){)-OQ03gbVzMQ& zKKH%FB=Tw)j|<8PuW?>yT226KdF*_6>&Qp=>4INL zq|OFJM(aETkpXTVX)Eh^v*jz4<9&%-H+lCy6%FmW<~+jttwm)-rSm+Cc18oCCgg=Q zvBrx0O!Gk4X>%<@bfT4c1*9b2K}M=N{X?wo;6;@uD^U#1t>aoF4sI= zXG?@=v;mM?-DOc9|<_`m_FX1YI2&SZu4n8K*U8P(c&6zx_ zJve6x%rdDc@aO)>M`56rv9PA4OrSp+?>KwJ;{M10*oxG`Y$1e4OogGh20E|$Z2m}y z;j8hvl6r85L?2hKU~% z;ae}$j?u1)@Vw`N(ly>hI%pyqfB~iiOw&^PTUaVdv;^sz{N*EV5#dXHQ$O1y`JN9Q zGH{&e;}>d?vJJ9+-PBo_ZR{M)#P<(pARwhjO%JA8p$3(1w8n+z$-?w8Ym}yVjmp! znnH>bsW2}dYsmR>YO?jGQ5|U`D2=OH?ruH``zkJYPR#>1NgXkT(lAUUo2Ixun5Xp6 zR@32cK=x`#Qt{*)LH=K|*sTreIUfAZ6)EP+2+kN8@yJHGVc9>LA==rJDY%URtr_Dy zHOtKQz6QTz_Eoz`fIzdF#W#xqg$6cFYgU)feQFMt>Dadds0%y1e4k6ndcY(*>71db zr|H!C0~^_qE8ltrv7^gD!lexGBX)~TfmM+M--OMJM=kO{DG7_47M372+mU5*38HWj z4HAQ9d4AxOJ>-S$mVJ+r%Cy*g)d>=PwM(VTQFpmDk6__K&SP6p824QaSjN|bQ_FS` z7il7b8A@i)PG+~PQbz8Y(}n(9940veOCHeTmDBy2C7*KVWj6G8rARN(WlS{TH%lR% zggO_Mxd##SC`w3hY*wPB%+b1XM_RFS4j?*U#I+P1Gf%tb<)<0vn2~r`&WiU!tv+qv zEX+&JMsswb8bLCHC+1JCsb#7j3oaE;vL9g+nYeF$N{XU7anXerg=H4fW0Uibfmyv( zhmx&r9cZ}(gR2*69ZFBu+$`KJ;Cg+m2nMd84Ux;05H{Q+O{PhArX5EWprlIS7r~8d z1}HUUfD|5Ol;p-uYDcksi@^&eJ7NjXIlq*{a*|Gyo&|#ks5!xBBF_N0ypbW>0u}ex z*s*~c1E38*+2B6CuGMx(Ip_=h>lD|ZuB*pkP3i}9CRIM5v$3VBKs z?htE`Ubpz4!;JDF7fYkp6`NS_zwcA)+cs*ee-2&6h3!cg+f2R=Kd;;1Sv#H{(@?dY zePK^k+H6vO(^dQY!_jzQC*P%36`HzAiWoXUjU8v~EZ2YOZ-zXzNm>}GyNZx3r3~@D ziv5bnXnQRG1jXGG#pMb*+t4!I(6TI>N;6F|UHJ58W38azjcHome%pss(ii(NS@$$p zyicObAsFYX91qhcY1`~YJ_~j{{`O6CQ)k==1{06mF=!f*HSh(fwkFQZtLeitbj{J# zu&}+{%&>6F_)>J?mfWV5DfJFzKNAaZV8$;(sJX)LpW({SysW?!1A1}1J!c*Y`sZf< z{#f$Q_91R$Z-1wYWn1}GU@ne$f|7|8ZPf@xI}w@<{fEhNLRl~SF-uFN&=17f$D_v@ zdmU8Z`$Y+GpYh9Y!>QrraKA2IG=E@!Amb+aB!|uQr>2)XwkT_s+PX27Msk~KUi>Wg z!bx+L%7P&M55mB~&^2Y$sjGe&y462wXI^=dME7TG52EY)B}7X~o8KQd%vG#gLYvm4 zb`(}xb8G6dY)P=uGEoyGybTIYA7Lp~X}$iCBTq>r1eJ{>mWitds!j)=l}l#?HDZl) zns>sW_l9WrP#;1CnX=BKf0`&_=?z=flvivvOI`ilS1Pd9cZ8V|5_P^@{gALTnvBqs zp4`oI@yq3mKGm+-gQK`PWwlD$<%a89!VVRQe9phW--}z+I`fAZ`rXIkIC+@slo`wr zpMADD#Q&~@7+}Q11kF(qc=Qhpx^}PR+wSt|rQs{_dH#Lu%Th>iY>)k`v#~%LL2m9j zo!4yMa#c3DczhOb=U{-!(>d73eLTLsE~9O)grF#_ep^+*(d)&B^wsr7q{a5joE*@l zFAqA*#@0gJK-U|xc&%1%qseC!NOeZ&TQ^QX7i_P$N*q@I^Q6h6TV`2k0gcpm^=|lc zg;Shg5v88G>T6L-Ntsi;j z2T<4~aQ(5Zdc_!bQU-`klx6+dn~2d6Pfxrz6;l%!PgEbjX!>nGp&Q16HT_e!IPQ7h zS3Q1|JH|d~u=*aIQVBeHPy)h)#HDTXk`$i&->CYvtf@ z0eSZ*THK+$6mw)^DiKrOi=j^Lj#8_P3aqAJEx{JlF1`M2JNpfPyIAEe@brZ=t!iAl z=}?m%g|qT7-NLSCM@(^xa*?_nO4%mhIxqHK&Bp3)P8RWa#npJ8B$-Hv*O;&l%SCb>v zWw_Y^s7nhfu~1MHt%q*AnIf0!4;p>{Y{pw{no_SRxFe<-;Ia=%%EWd3flvnBR)?9R zmAv~N&0+kR;ZYmrx)bi`uq=rP(A)-q(|3VTi z53Oiu*OIa^gZt+4B^2mJ%g&$|o*2_}c;JY|#JQp`IrKpoK-3)Q&H%3hNd7})puzHG zZoqx?;vz!cu761RYuPGH%4D1yAh?Hi?Rxk)4!cLJrR2{&O6n^~$aNnlBSl$F&ba=r zzf2TbCP(ddyT}q?0!gRdr70zraQJ~~td`46C^?~THa0G6@ed%~T%Ivky~P4><6=R` z#A)QS!C7k^tzJ0Gkz?#2l9%UChOWU96#dAA-j17-e3w@dP*KP=5mH?~h4*8cNXMl7oPzC0c&Nsov=_3siX(yZR0C0}J%lY%BQRtWJ?Ujo+W4 z@|8LHJ;Q)-+0mWmUjYl8-R%WDwvBi~;wXB-A!&c?YVo_=mnzE&>8|}n!ez3*c#RR4 zH9mbs4D6L~o&0BQURp&uU%Q+`_wo-eqS+b&@2Z?T8ATM#iY(z`+(;CE&SH)_qwh9Q zY!`)UlS>C~%%!vB*x^`Q0;M4M;bDQlq!^$&s(-X>%*6_M&z};)PS{E>be$1Pj^#)6e|qd_-`l-$ZmPJ6nt z!|ohRQ|5^94{N+j50(BxtSU?LA`oY0eEpJ?>C8>#x;}ZD7*jX-Zh4Z10{*u;r34rQ z(%ctf-DaJz*-2adS;_b7ppgp@ftw9pA>nc+wQWIWtd5rj&~DRr%?^FdYnlXYkk#MS z5EpZJ&$GL+YoWFz0Hm#(n;?R+M4Z^LMFZVYn#kgpi%rFcixP9JwXa`w#_o`-y!Rg#a8|{uJd?9H zu*=bwtvP=V;G^|T(-fH|D|stc1>sn-(D_YGbU{Qk-e`9-sl)1rw^Lpb#zJcQZ!&9c zic~uK*{>!-XQXaMmRk>J?vN=;65ec6BYhrna=o6y#%>HvAuZR+5B635lAif5=+k+` za3ECpH7j1r!yx%^+N)UqF7wu!#GPPfc~qQ{!rk$|4hGpviO=%;MB=LK$R<5BQUH`` zbDCx59rl?a>*UrLs(S~SNRMR?*k`;yo27fBxMeU?d~}O6w8mf7$k3pt*DZ_!OdR*W z0V=G;H!kqzRkdS~)`~oep6izbYPp-ol-M`Ob~ZQKS#?uW^&=NKx>b)0rV07IBMHAI_=xW4NCo4c*p zbj2}ZavWDy|1FxzAM`whF~C9BURy6QNwXDnW}eV!aZu4s{1Pt(H}GH_gq>c^`tW8U zcDN(IDOu+7GrU(xa;ckUUD5i>7%FR~VT?hi<(JbMF*tAU+##p?Zf4;mLf6BY2fv zCfZ*%vk#BNfyqrW6Txz?u=3+JpLVvtm`fF9adgeB@-kx*h?Nxlq?xxN6yA7KbqgxL z=J8;sH;DkPE03^QW4Rf`0Z*$2xv=XbbRS%ZP)&h3Z z6RTt5RLmRW%&2A>QuK>P1U(lVRKs4gHgK7s!y#LlWHs`ZE(fX)iWxo~V4=;LDg4EGO_^<2wMpzw9^$u#j_IR_;$$Ju^w+H6 z&2%G+PS{4|-&J@2T_riDT;K-*aVBK4hGaTYJr1a8#2x1)4vz;6%dwDK#t;|jM|^Tu zo-x#8oJTbymj;#VDDC>zYSoZv9vm9D?4;G~F_FfGcXc&h7jJ)KoVrjA(h@H5U)#NP zWt)2*2vntsE>HtnfR?}0*NcV@+a_)X2r){;O1$wP>uAc7#~xS;E5Db^G~K;bOOraF z(;Ri=#X+KZc*NMUSWLe*?(+c8YOluKYA0A|Cn_9VDoajjh~Kc~X_4qQy-FU3%1MSKk!_5zsY?rqKFauB)8B&$!BZ9`Vn&?Bs6Q8;iG*c3n=m z#Yyg^n*22DGQGldB|S4Cm^Gy#HJlnARQrui-AI|IzBsQG%dTazcBz#;r_|BDxR1B2 z=>pszj_u&Ubsu|}Idjj-K9RB?yA?ea^}(?|&g`=35*<6`+uD?ViiWAoo@Hur1bwlWG7xokk?Nx;OSt4=cMtYk;m*Q`dyAq@_srKt%7WnIrL7 z#AfthjomNfe9zOFLa4Ot2~hQujZN>{0h#FICD7n~D*tsM@NHB@)cf`#|Ko6?=k0Ex zXHcx?<#0mG|8An^{oT`XtLtqny~pq2tz#?jBQC!iQXO9<@OEP9GT?oo<>S=I?=jkO z>owkU3sNKh$PrRq{c_XqWoK&B54=zp&v)7V{9N{Nvtcx7`C;^bJ-z?N0+67}B`{#2 zpzJfY;?lhysW;3V7v zOR~(xT@zAx^o7c2IZ6cKUE}&|uvLK#`i5bB>8=xwjU_LUwVl*W0FCuhl(FytE@`)Y zPb^&NWc&3B<3g89&fc{Z7xjvR`T3bjVHej_on^F(M_9vDG+CC&rEkLPEd`B_p&0C` zs^-ulgU3|dw8D?(ef~0Czzahdma@GBgcDDccktr|cf?cOj^$8jtA zW&|82H`%Adl}o+Xu$PNi$Bo6o0Yma}vwq_8h+&Q(tQvZE$_e`PxCqrWrR^?#;ju!TpH#G(I^8 z>D7`ndBt9@pNC@MIKJmCAr87?*0Fx?n%(`dbgN2xxlv!lvT}7*P-~i;B=ctg7Tw|} zN{(&qM53S!ag1>8&y;s_l2S=f*J_coKfc1CI3Bjtf2QL56l=UI z67C!mn{mzF>$UYW0V9g|)Bx#c02Iv?<(06Y&CJ8(rsmVe8~Q|v6{~{C>0gzB`y4@otGFRGZ*-!!b)fDy`ig^UksZqkvm8gT;>;)%HZf7np+ zQp-4$)wvU<`Jqx&DNrE}({{T?wwq}YWh6Df^$q#Ar6IYyD=^$;Xx&2MPMF1|9;j{6 zNKEVXriWSD$c<03JLetp1fVV}@V{gZ$o~qe%t}}7e;@z*#SJ-8Hg>bJG4=v*vhuO= zutCn)9NpcV+}+sJHRaeW939+T*)+_x+5Q`^lytN+`~T#=od$D8V+b~>3c)6Y{=+N& zKWS2B4I)im*0ugsG)9&Wj-Z?-o2>(=&Q>6@hgOa%JE%9#PufK^Wj$!?WCN|!m@ z;$-c#+`vLHYx^#2M98lYzf zs%xVS-s+qe>gZmcG%Lyzj4YSJvo4t?3|EbVpyqH&dbiP1^9a#so<^I|nL@J|B0>=Z zS#H9a$80Wxs;%l{(QcG58>m+yDYfC#FMu|x8uS=0mPK)@0kcEvAA@NZYn#&gozYg_ zC^n{BrWQ?_Ofi;%{R}AjNXi(}e+bS59jIec8Gd=2v{xA877{6;MFgc>1WHB58KHBL z-NP8t@lM#XQuqmKMPW|rOsB!2F4+tg9gil1T2yH+^a|-2H?%6Fxqq0`sP}I^rBbM? z{?>K1|EQt+r8A&@#lttwZTg{o>ml)+JK0^>X+2l*5Sz6?tWsn~KqGOBCFTzPzV%@5 z+fV>HpWLB-JzK`WEtRc2r*%VrX;(b%O{(!WPV8YIO0dLhC7TM#4&YKPI`<{gZ@RVI z$GfK$cDE}NzULKbX?bGz$Q7Lv&P|Zm8Q;L`tpDdEOy_5#E*d0zB!V0_sp4CEd%)^+ z7&>Aw9sR6j?G8Vy77~>Tj$PCbsOc1@ z)Q`Li0S3^RTBZKCm7KMXuCts=DV8fx67u|DdVDXH@JD{gML_jz*eu$ z+Fl8eY9VhqeS5yJF!9LNdKp>pn7-7n^L#mfJ{WlCbN0QY;r%#8j9fpN6wWouY8)#& zynQ-YIgswTIoHwC_nRAUfgm_}`7Moeimunq-Vp84WpR>qlH<95e5!{lP((;9GXwhD zfaCyV+W;6!ZYk!UlSufb3qio%VAaIG`HO&7-5y;dV^2>$^s4N>b-MsEkmqtr8#%~v zQRvVE0l)5EsO6OJ^v$LY9MICd$C1!TuYwjNXeit%EIN>U{=Sm@A^G?yxiiL00nuxs zZ#_62UAtOe-~X|nk|VIF7{QFmiBZrU8mVL~t&E>NoVLv2--7su@*9tCC;b9uax;!@ z>n4fdjV6scGqT4V0^0aRW<1Z<)Ey7hZ~bpPc5i6XgyoH~hLq#{80lKqeJzz4W?HwE z+zNj&)6w-{$ot23a?=icNjEk*Z=B1n=r2xVr(K(AWt}TFwBrN{QgdX`%;xaJ;`GkFw&mtG*y-5ZfI84pX7McbbN)mN-4-_n_P{-xohO zvpps=6Xe-Scm7R3%e&Rhvr-NX)98M{BaOboA-%s8!_LNZCTUl>&EbG zm!iamD`BA`$Td`XP8~+diT$Q-mXK z3Q9yJ(j6r{=MW_)DqN5Ve_deJzxxt%MI=BSLxP2G#qqUif)e2h+4;~_tiMFzD5-nN z*Y@6j3Md%motW1jk@Ebb&7-)d$v`{@+m8$YmaxrU#ktDq9zkn{36*;bFeAf#99Qfm zGbYW`+J?3rfYA=}hW?7R)!3zrV1>8eHGC+%hyWK$H* zu(|3ggd&Ur{N6~-L?@Z)%M4zi>b!oJeV$gQUtSrc&tMlo3Z=J6_U(UX>RXL0(H6|t z{(+qT(mN|j#L>1K2i=JG!gL~1J7HxorHl|HpD=G#Vwxzs^DZx*6Je%@0A<4|7sp5u z%F@(TW%EtY&oI?h?K8Di=Uq`)p2sYeY5===}*1|*4CvKKPvmK%n-11Qc5A|Om zLG=Boo6PSd*FS}zT@!Vofl)UAsdzW|j$&I0Q3c5|aL4`m;YATQ4it@Q)GWqtet8Tg zwq$BxCPAZ!iF4>X{R6oO^oIXka;k&ukV4C67q~0w` zl&u}s=jRkYD%K=iOd-}VL3%zDuXwc4{vv*ULuWOPm<)AXEUXgjysdEu!+IN+g7@!} znY6u`T`QCZZlp5E8;RJe5DTUmI|<38f_Ai8?pT|1`_nPzs6Jy!IWHRACkbqYfm0gX zS$0RPJ0PZ(Xn_ua`W+a*Sa#}7U2=y8V5L5i#0aW~o(=cM{4v@1J8?_{CFmkbt~J<` zh0a|*!FpJtpa~-;Zta@#rzFE7#W%B+5g@C`$!ek#g*1Z7J5*0@fV=miLC#0s&Tmfr zA4mJaikGQJajo8NWV-r4FknB^_R7aD9a5H5hkXJb!|i^B2#SKz@Es$15=2h`fh!$V zj^ie+1}iECS(bXG>zmvvoN4wbvfaI>w-6TUJI0?=ZltPJ<=YP^w4q)&>K-!Fmu7Oc zk(t-VMz}&q+*dKv$y=%-IEVq{w(9f3%%7gXGF8ym7VbL&UN9i){NJlSwZwl8Ln@>0 zq8BXC7Z9Tz;Ug1F@6&$ok}*}L=g1A#69MI(hlcxs^q8RXT#@YW{x1V=JyqvwGDXB`rVwGk zcdR$HY=8&cEUvvFUO~X8Y*a<4i#@m(F`rIJlp{e2ZF*cAR1<)}*EovIAlP!0q#;l? zZ^~-?!`pIm`TmJ9<@W?KU1e`G%p+DOFl(?Ktb7&v7jo*sn-o~3P@nh|92qE-a(-7F zSL)h$0M+z@^)sweyO@;|@e)pfnx$}!rtuKR zGbX8Mn&Cg&{ojOE#p0 zThDmN$5Z)RSn4ZN(iTC>6=437<+&zHlMhl!^oA|=?l-|L8kMM*mkq&2$}WmoOQew$ z(6|XI4)TN9(ulGRCgmrQqrAO^6W4D#WR)KwPYl}V zz!KUWJW1I7^qnmns$2;Sb#B*xyUyfay`tDzF);WxoiiI^c)pPRi!AqK@ybE=iW>-9 z5JgRzU{SrqG%u?>`{Jo#9vW#jP`ZX)(hKwCMnt*aJCWk|OLai9Lpqy@choIb7rrVB zo@a#Mw!+^_43?JyP#MSo|n$ zWsvTW(z=%G1Pgbw>Yy<9`;n;>tJnA?S~WyFyqA)TKvMggL=OpUX<6Hx5(e=E$&ns| z$UD?NNtPn=Wat(l^H)D)V@~}OzU>$0%~p(fop%>{xM_Ei$rH!hYTNIyykNTt_S+mL zHlFZX*UH4lO{x!hhnCsMogeXs-;`G(l$Ax2DU^(?|7kApNSq>7m*{Q$<3;sZa4`V8 z`;!7vbal)|j$su97??do!#i(c5wD<7AiWKhI*>6L_0;~^<0`I<$@`!tVsD0;gylS| zJV>9ahI#63v54GRBEn3dgTuqX&RP09{2Y(>oQVXmx_dWsq$C9U9- z^KLeDSM8DVfGLwWbxz2Gi0!4)6ixYI;g8WsJI@soid7t9IAVKVxwt7=tnuff&!>tV zmSsI%N^g(Zy*THH}(Zvf;fEQ?gQbu>ABSl%y?~I&C7n|FdzjHtH(rgnDgJC?r>?> z)d*$Nl07>KA1`3h*<9z`<5L|bszihCUYpNVDdfZo(%#?plOej$sPjAZ`?`bX($rJ( zO+9&@|D&bcyHh~J=KIreL;&}Z%F+k)|D4Cf=N#$Em_k7b3Mp{A{n!A1_rGLj0{MeoN39FQ3 z4YS*szZ!#sd8tD!)jeIUZGEhH8ht$EZyLToFMaI%A7?Y)yX|96Ybrky?05Ut0$I9zM*p~Zoxi@X z>v=wWsS9v@8sLKwpSj<$Ew@>_Y<*K z`kpjFL=APOf$+I(SyNSjMW z0k@}htbwl(0rW}gXz6vH?dj!KvHLBe#c24YCr0H}wD$daYRmiS=KQvM@8kXW9P&*@ zz*`@CdHW z8shpG=rQPi^v@f6U4gXQ$XLr3qoJOzx3snQJx`+%mXC*no41ya$A@^M z0C4KoZFXHx;LFC+$5lj&SXRrC^6y{wEsw-KN01+TY{}8o^17wRt116by89zJKZp3FtS;~| zB0qoxvdFyF^FE3$1mQN@qrGv7pUQe3?~-4p#99Nlqo+PjeUCcc(_IyfJ}5zVz8`?Y z{hOY*P`f20HIHB5EgO4?xw%PRRP)qQ zGO~4IzR||Y!J4j{rnr^vo4HnU!P9NpmE!N6A`r(pTrz&oz-$U}6F)W|6xa5^H=^BM z*q$E8Yq7?9tR)WVZ9{zbiaO5#H1@qPqnsC!yzSYe*uukelr0~?z2@`qKfXbuw?(o1 zatO)U^>M)cz0}&ssJ3e%W19^7UQKU&jwqfap2&!7fR@a|?!|Q8C+2=uPiT=y%HRG4 zv!^8u6CGm;dx~J7-G|3CTo&ba@v#AKYQpKXV=J=<1G|1$DaPA%eb3u-L=TX?#6#vj zeoxkdd&wLRT-39_egl*ioL!3?lnXnoe_v_q$cR}XU=tYL8tJU=+INh}SbLoi%g;yO ze7z}}68+dt&KE1Q;OE&Zv14;(X6x!12laGnnX=Z>;<=#>D>7auA8ZPZ`JNuJ{wll# z3$WS$dc*YG)MZgPs{&n{?aeN8#a-_M*`C`w#1To?Ya{_R6ArsTIm0AAhk$v*J?Y#d(8no0aa zEMaU1Ir7WhHkrbjLlMqpEC*WQQYvl?*W5{fo~ex9*(DixcJX|1Wv_}E%hb=Y8m?!D zV6B|({2$=mzk0L_uVzrBkhCB7XvS+d>(Y*WK*Hxm?J@@rRFVh&{*YP>qts_AC*{qcAf`_HLA*74qee5d76B~lHiwWdNMnEIW zCe*_;Bi}k(yn1I&yBw~&0fV@vmJKE>BJUyrcGX}!>^a|_X0OGI--Eko0c^ELF{q>? z{B)CB*>9LVzw{$@9A099)pM@RQ@+G@i+b5PxsQupz32a~&3-B`>;bO1ywhwt%N!`{ z_U3A?LOC82X`Lwns&sK!9*1i$^qnB(D#@Xpgv8T9-3&?UGF~$rN8Ei z^(^fb8LhKHZV8R?qHR3^IGV$^ahB`Xi=gxbZ8qmuBZbpK?3Q%!t{CwCL9fd8AKBsO zQ6W zRIfssNdJE`A9m{?0lf*DF41let0$8p280km}Pa_vw{8|2N5)R zr8|`KxVY6hP9)!P>Xrh$0T@L4&>cL-?H@H6%*N~_#3KOFU$Qldy8eY>k~SlJ7x4?! zM1j%A49oOfXE9yfcrkhPNXYr<$MHZOU8ULZPXxZMwlU5)^>Y1qH(rf0>_3^xhV~3* z=8YpBJwa0A=R`uJ(axw7XW$bN=<1<%q0$_5eon%?o*6tQdQ!0jI zjODNJ^7*xTt%jW}J|x@qIenx~vXo0A%g1Lv3J8p$^V zP;i@oS`onZVP27`3q_GF_fY*R$TGIBki4MH?UjDK|q?&#N~r z9K{%5OeZc67S~X>`)BMQ*N<@vb#X>JT6@^>t&L)V<>+Gmw}(HEVEqZuL#Z+GDzjTs z2#E^9)C&VTIh1&{2*!b3rY?f@&_o|A2IhwnB1{YF_wRJx|CL6s`$OV!$;;w=racm#H zHzaPQpWk6Xeybk|@l%dsm!Zp1m4vZj3$Ysh*kHd)h;@FqytNw49vE^NEa)f*tXCXJ`c=qkUAT2kCds?`m9S#^ zeJ0oM{rLKN>f>&|NBrkJ7Ey6`sGApJ4;PvyL&EY7&sV;O=WukwSqQa*YE8m>VvpJu zUei8YQ-C6gGu%pg4G9&6KDh@3NS@=IBZ^`lkQ-M1)(T{7l^uTxp;({K<{)_IrduQu ziRmQ(9)opiH2EJlPv^>m$|dxk%Tfjn0J)z>T|_!BAI3JfENa z6Z1yOxwq*wCMoqWjnNfOSqY6t#S-7T)Y|TUL##}UK9mf`@vu7UdaTLbYd>M17ippd z4`oKFL$bTyoe8*cp~E=He%IOq_piI77KS37$&htb&8|^=J4MdAG0p(<%66g}%vwNL zQ0slh8NZeNNVB~sYP=Io8}`?~-j;y^kn!qG69I8yq$oIj2r*v0{(&7oGl|eL%X_#k zlI>#WfLC~Nnm?9t$jD9K(f&uk$Ok-pprPqvcmiTP9T_LeiPvpE+T|dvWDe@r@z0*j z!cC~QnT4T7_(|r!0)0XWcG+)mjp;U=XP*0B9r)IP%Gt=s5!o~sn5%S}BJYuL>dZzN zuJ$l7#CG;7;4qHyUO8=}_gLbZLgW7Zp4(COr-AxNM3hVakxuQa{9XKZOZ^SEWyHj)lSmDN++Rg5aFD@B$kt} zb_>J5*J`Me8i&`x zeor&k0Oj2k^pP9p^LAE5J}G{SQXrUZyC6xU$xSb0TY>Q46px)ZlhV2qrH%Z3Zi7m< zWard+`7W4I!LN##2(hA&o@ncX$kTQ2HkW6(9uc_uWTym0y@M~u%gcpnnbk5c-sO+`zD43p9_|_G z{;(HIiPLalxVne2k|yc4`&`r{MM`WG6@{7rN= z2V9;hqpW;X=m60Vo(x?QqDXEjj@aH$?Sj)$)=G(4vtBIr-tYH z>zqK_UN9!U3rcSBEf%(hCmx)ww|PtrPZw({HvXcQLwL`+0%TgCl`rC{2A+=a1)+PY z^)=`_TVxjTqaW*IEm%;B0;;$AGd`?Fl@#}mb2&a|>i6P-$Ej5&+xGDKm> zI(MhaBEf+maOAH+VC;j7XH{4VMSE$Ya00?-HM@)F-ak9;*)N2)h=d%GP+KHX!1m>( z(DPv|PJRmqRMJ5{4@sCfTMnM1fj z?=jFc`B-p}wN!I&dAfIJ4kJIlljefX(@6%Hv{xRg5^tAlfeS0$J3%Rr`Xf=jJCTGL z(ypemp9$}?7UlR?LKXKs_Vh}OIEB7azXP;4$R;kRmK(mD-H24CSV<=WboFr2| z0V33Aun+t0Qp5SZScI~SRPL$N``SxstrU11yyaf^eu=w8Ez0E3IHS3f`;3h*RxIM+ zheR-ZrA2D+^avK3^%=Aw?EGw;>R~x^X-!Feg}f`QPohV_&av^R1{h=wsl~)G}3=mBEu5lmNgFnG|I=3vQ6qsh(x_|>r+eq50o8(XG=WgD!s+OOncIB<5Zt{0Cv z)y;MWWn!j{sR;jDRg~lV^_;AoO~#r`Ac**T`JXG)vX+cM@obGbyg^3~Gc*&SyTl~H zL2ON@$k^BOKubNpyT^aWyL=&q&M14_j$#BYLMzlPb@cY&k6%z%vkKho?&}M(6=f(XbSOG7N?Ou1 z60p?Mg+O*mXSnt3s!}L4y=YvN+wvq#+6Q7PHCIIMaMDiD&s_Y;4b%?2+$h?aH{ zN5%(a=(~2-hY@>gWoiIqnlhI}5vgTlz@Nl3zb1cCz>^@Pu%Plb&s^iBAy&;84RCc| zGwi>&rc3a$UKrE5^+z5@{KPq=W?mBbmoo}7PpigKF`SCQyXH#5=dy>kzkI_46B4Cr z`W=Fc}&xpA?-MF>+9@ck%XJ7MvF!CiW*ZaMe^@i;f~jiq^16op!HB^EM$zL5 z#kq*>?D<{}%uo`>L_Svi3yl3Zx2A14!Uk$O33Y_Y1;;4XEVVk3!cYN~^cGPaHcWT( z@&KqrjJc{&77Omt+SCyG3;aF&L(`e$m2wW)g;P=PxFIYTc1PN|WTrU|WmTSrr+4!X zs|n%E^@o~{9cuQOh!Rdk-2M%J7>B3njN;SJyq@TRFfj6We;kiIKK()Z5={@af?5u3 z_QI=>!wTQn4LofjuoSzNn4Kyprw!Z#5d$rZ?zq5{_pPU@_u1W>lS78DeN%jQBPRLPs6dS$vbC4?qhQ)cZ$AFfWB$y? zoSKY2=XeRzES{5H(5qh8^ds&%HV7F1qSb4|BCQ^)#ZSkJb|!Q-*0CAv(;nA`%%sk~5Jn+|c1*ry+c2Hu+vXV? z*000kT=Ng>8AfI<_|EN)f3xy%Vg2}^Kf>AEe)YleqxgO!z#Dtxg&%oYXKcbS4_AZ- z`P3fPDF-Qh#&A$^CJ4;!3NqvvVLlRs?X?ob@FVSVe)Nksyr`k?R{hU;eg`RW&N_>R z%){x3w{1Us2dT>Qqdx|}eDwMM8T->HPKBKj+aa{$ z-8@Na?)Wf9Ni7iqB5bxBGy@GoY>Ze6VVB0$2s0Ci5#W@S{NScMit*KaUK#$a@o(YR zXdd)o5@Qv*Q8f)zI&p27a7?8r@sLzX;nWja!=%DL!Zk-!#okbLAT@zJESrfYQsa)K z4UmWA@bqoA1I1lgFvsV5Hs zTy-OsM@E*j*tLrb(L2sU+!wem)GgVXP0NDs3-bt5aycUDTP*@H6$}Btk71oDg|bo@;UGEFR?R@Z3nD# z8!^#jyGK0NHFQ5%lWT1Gfgu(Pvl1dFZtF-eEaofBLX6~A4m_7DQJsZkBC*AbQL}0& zZ{!|CdmYF_0vneM4TryLu%2}bqsC|-_8X5PbU`}#?Ox0%I0BKwFsvAYB%w2hQ*658dfv1+bn%pc_8Xy82M)I*KI`1U?J%{gpPPkqL#!5P%BP2 zu%I|+xGZ6&-|=2!3Br6vC^W;VYY8d9gkrYi+H{hfQ&X-R(BWKj?vP%nqWvJY5OWeP z3v&i^WnNU#VV=)jl$249mdS9V7wthf$JeBZ3C7j!zE1ts7>m!lPJL-NOuRlYeMehv zq_M*f4(EjQXQ*#LWm`M8-jzHXCUx93;HlV*2f(DU;V|Kkw+GG%uQA6rc0`!jfJee9 zeE<&gHMhMaNNOuch&4Wslv$1qL(uG#3>#kvgQ5F5We{k{!sB?vEeVi@zY z3k?VZ1l?dZZj3lK{5_0| zcwf9GgVIQ!Oiij|6US3xBTTIxCgRGZHpj5ziq}29EIc}*Rg10;fhtVKdhCY5$b%M6 ze_4?ap>4634V{p(L=+kCDx&g2#BC{7kR`;<WFggTm>gS*wAfr8?=VLkH!vBylZMq5etp%&c_h&~Dm19PrrGalk>|gvAd4FvR+pj59X#nwuNkODqHkU^aS~ zEC`)D_Z9bg%Q3za1WyPB?w_c}`CMUG0|MDX40Lje8|G)+#f}l=4rLSKC4mI39^~6p zS%+dn55&P4>a}_UcS8ailxmExE2g1HRSwch`sOeN6Y3o?j+4m&0%*Wt4pnrhidwj( zsEW3UQU%3}2?o4!kdbHA$f<@XL&;t88Qv+iK72|oa$+H2Us`?HYJ1sA4CCcJatGJO zz6BtHsxa7lCn40s+-K|6n3YBX@UAWimxMjHCTuW-Hs__!kqP-7q%SsXJWm*Ap(sv3 z=W28bJQKp4s1?Z7Skv1;7_qhsuFiNJ1=KG{`QhhKgqyn>|R+rM&G|9#BVuvQ->@0dII2N%BM;Bdo^g@QihC-O_8c(B${AE zGklJfbm$h_x#(yZcD}RWCvp|k##A|*yN!`Q12PF|8@q$WVUgmz;x_F9ORl63`=Uq& z2F8{XG@JsN46U2NR zT*fx?8mm%B^#F{7-dHbyj!LMY4Ji%Y8Ta5$HvJ09kobK~tx|?)tC2+*BWp0ggNM*K zL~(^77&F>=koD%hkV_~3aumOyycU2cXtq%@8#O}(t*7b&XVLOnFf&=^G6Y?yYR-HI z&JhL;RxCCEk*%;!k1l*LtWd;oU&E}-atNUbSgMR8MUKI8j#63geZ@m3c+Aw2Ygxpr z5e5wp;YRRIk5a337%D9tG1E*U6TkvOqW!w8u~Uhe+%N?j}5_5Ov{leEluyP&$|vy_>kV|#0;x%kkskKD7o37n4nu|FHG0? z907*V=HX)sVD>XHzK*@d8a4m632q)Cz2~8oFv65aldk>9bX~|6G(es%H2i(#{;4-O z(_+qa*+rr_`38DInkyEzyHcF^Dy~Mx?{I4#@mx1wlip)%Za83QIwU`7w{i^TG8`x@ zGIC33CAKHhAe_{!`PdMH&4ka$G#ysKq03aOT81OHy4@G8leVtrO2QF5izH?qm5`o& zcC#ABCo1uMoV#aycxGH9Vb1GFd8$LWqs$- z`o;5Tjnm_b?H-4!QY5ui!M$W^0YI-Q@!i7XhVjC+0O$S85^uY4O@eAd(hRQ=%F zW~6P=1dh#fU=ojtA4?#KTy)nYUaeJ$O*1lUusX415?1`HgJ>N783+sjo@5-vK9X4o zmDKRN2yBT$YDN@7tslzRFt6C)EzM;XDmEv6S(sI&XWflh$1u@`7@jzEn^>MfVu;O5 zQfT1sSHmK}y(s9=B_J|k1gB)?gF~l2i~Dulgn-xBR4cyR7{(EBV+mDrgxQ)V<*#T# zY*Mm|8`x_=1%}B?Py6Dvy4UvnYl2FFa~asq0JpV@=rU2v`*;YJ28{rat>pG3=WBfv z*~VS5it0yG$JADFRaHR6&4Ikc#WDt9lJWU1!JZEJM^P0e#9%!EZNl*H&1~ciE590B zCVsfw>UmuaDp${y`8P&t`9SKei6);oiNjJWN8?oC)RKz>l+FX9#I9Cn66_ySp?4L( z5bL#^GSIrFy@&>lU-6^^wIH0ERZUFX6#ho6i=QFW?dYNCZXSMC8#s^UJJ0vuJkPgP zPSeQc9_Kn#=j{FEJ^aV;t8VyQ_*b(SBzf>R0~lnxvEAd|@$*AF+|dg7B={C&VuqmM z>BjBhH?xsDfhZ(7`J^FA%u={UFsKRTx=n&N@gBx%>JjP2J#?$^u+xgJ(4xIYK%Ts| z;D95wcu}9I%|Yj&&5K&ySa8eGaJTdhtUjT{aHZ~`HA9qa!Y$Z@!hg}`lTdhu`viFq zCm=6CNLJCe9;P)WRhDY?Tjs7?YALES@ukP|+KKle)IcoY->7ji_=I0N^iPQdFZ!v1 zTec_oWicP#!#}{^a8yfhPxCG=Ei7!%0DTE9DAJ%EgL|v^?U}DoV-q}VtCmKN0JZV2 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%0AW($tRu{t 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 z zuXp9DwYI&AD%g%8zR6U%8>yakrro<&A2)YT4iz^xo6kMnilNWior>HnvaOYxVTYOV z8ZDjPt?GX`S1$gtc5(E0Ja6j?jiyfXb65A2J(sA4dP9?L>ukHmR$K7ywruJ+TRL~T zZ}7NOK3iAjbp9l2IVmxrk>bZlu&{nZeX6q64`2LTW?L-xu0`j{diQ?&FuMEr;MEQt z-J879yW_OnkUxJ-zaJlb!I<>oeCU6#-Mm_?{#?#o?>$bVHw%z-ZZ5+{d24Z3PRmr| zxzOx9V`qGKT_W6t#&6i(e4Z}XpmMuz_v|{ehW=!>bz?xD_U`zNRj*tuJLR85s$SGC z4txEhmGI6?UR{J1_+;tm%F<1KdF9vCEN50uwmvfUb_`u)XXyCI`R3~O;FhDw4+>wO zUdQnC&BY*E--g`LY`kC-->?SCe_DHPZo9VL*?ilnaW`G)KU#Kb4pKH-yUK3ov~Ld% zan3)kaXWMKjhOn{S#yCn{Chx_++5l)XYWl`dwJe*XAb}PGx7pXAG)fh9$z;}9Sn!o9Mqx@lAC`5T0OOtn4K4VVHb2@BP zm1z(9jfO?ctsZ<#Z}vGqoC;ZDLr#{RP_GqOX3JD+iWq2XY8si2a*VDQ*>7Zg3#4Wb zFDnRBf(^L!62~G+N+UD~_fky`16E<37X(4IpTT6`b55*#KpQrrG;Q-VPpqV=df=Fj zf|NFXlP?A!oank&I*~46v;|IfKP{i?ER)(}WLZ&Zz%v@aGVN9Y+YDR;o!FlI76IxK=H}!;F2Vbk$r%#hl(u$jG=6| z&LE(kjam7xwq~WH$bJ8t+XD=cOR9)qn)uhvk5C1LftDsZ1WdM%D7GFWQ~55R!HzJ1 zgW3VXkQz@ukRR3_3X)56tO63#ePT=>rh$&ImGDxbUWN%mSkf#4L&qP$;LA;(lveIL zZpL_cn%4AAnye1gN=yfG0H|#UV2MJGF4btrT}@MG#=x{cK0gl04p@)>H9UrjdU%#V zHX3wMxIx>nQN*h+U2tei4)B4*Ut-1!;U2GsVUHkk{ocb3^u8>lp`+A0qZ7TjP|mj~dPb@aLQs%} z#Q6eFkv!OPH1UoBTt4ma9-`So7zFJGDyPk;2O!jd9=QSv*0mu8@abfPxDy1+B#I(S zpqa%P1htYp03_aWKkfd4swO)R{XQum(!8l49&4i@d)r_P7KP{=wJm9bA3$6^ct~lz z)FEv=MA~pZkrz8%W66Nb@M*zDZ&HSeyEk=<1e29MExiOLmk6U!XB5cQ_pFk9JTaX% z%`cL)HJJOU`!+jLIidK_lSzp+UiL6ai;|*IWKPIVK(j48^eo2rb5se!i3;~p#y}t-NDzn}02Rnpvjq=f zs1jlwv6x_C#7h+1t2uZB!xDQiWeZvwIS_{P$d5qB}7_YWFCBaCWQ~Q=t5AREWOq7%SiwqiQXzb-7X8 zZZ~Op6(du?T9+F~`qtdD{1aY&jz)M(fmx#2z%WSw;Ks_PTWAi6kn9BD0b5`*ebj-B z(qY7+lw$N|an1B*6U~bPCe4X9R&zoG^V+yl{M-bl6cDrKWO6KLJ#hrwO(jFL!Hh|N z53=}Vqud{&{%}&9U|sAf4X%O5!#a;=+^EsvVusKehHx9G_Av*zw$0ij0bwE!5iE~L zy6a)-9Wv&D7NCQYF0>bO@-&WF&s8bxQ8n%ZpwIa$p{#^E4y(76hLspCrSmb#8JI;j zn3T=**?|qh0*mDc!WIlNP!nLfP4^7{z7~!4XVD-&H@G-8#)-W*95kNNrj47pTSLR+2sHbr%@;^ z$zjET55UZ^9wDX*M@}w0rwhQTt8|U}(Wzn!9hps>&z9BvX6;>G-s&2ayg~8!Y*pRt z+(lY!w$}cBrega1_1(Pw`MU7+ra4VL-2K0LKk-gRXf0p>fZuOUtXC2iYH78LK-+O{#th3R>4N(qP8BGU7V>iYdKYgLqCzR9L(ffS|i2wa%Y zTh65GyzPkYsXA}*?McU3_Kv*Y!Qc0&G4Jr3`}iR8$w*idf31880I?p(5lMwgB&TK;@|_`8xYTf!iOK5(+O< z*tyls(~`Tpx34)^6rRqV_mhU^r@iSrThkAnmUBG#9-7G=mu1Vk9*Y8x58+C{8o?R? zR^=~Btwk)=A~P#7FFk)(lrkBdpEqulE5Wmp&#f#|y1z$SnZ(0>I{;?NBWN44O5Q=g zvyKHThBgc5J85bZ^3;r~=EFyNpnA za($*U-JGR}pR8X5M-!d?Jf0l(B+397~r#{7#pTBV!S!L-F4zcw=Fp5LOqS;>n z4dW1|0KvD%3CLm82SXE)s3r_C!U!6Og|LkSlc^&iq1PXoOPtk($wi0}_31!hg2Oob zN7?7t(ug&)d(| znI?idehcbJvDK$dLN*EQ6FGCR;~sO|_84mIel4>6SZO*n&~R*wD3$?W!<~ekp(tXA z+JW8#*^!Hdk%mXC9lF{cnbGd2gn<&%nc%vNX# zLt?lJ)*DI_bV(!J+1mTu%N2C?c_1kvj9A1oO`yjp8xjXFVQ35UFMnKQ;HB*N0(th0 zw&Ui8w+Q)M{$ttPVUHf)@^SGwcyY6>x%lIDpX*xF`Thg;zdN10QbSf+VgLYk1pol9 z|E|;FcW|(E{muBb=x?K28$hkk3cv`S9p)t|5;ET>d4RP}%n2R57}5b?7( zF)Wbko3u37+~;cQJBYHsE|xVKg!Hc0+M!dwZ9jr5*}iYNU$66hzk_${i<9_2$LG1X zU*f*Ay4pQ%&hDq<=lC~XuV3rOlboCDza5Vcy*<5-U+amSv9mqC&xebVoTKRIv%Ws= zpR#ndH+HY@k-b`3zQ2RVcb&FAyh98@fj{XX*P)G-otIgrbh)}(IlUj}7Zt}}nT@7& zvpu*v+@CL325n2@qjWhwh5En8W^CM@Ztg!{>j<{7gSTw^hu@{KzQ40Qqq;f0SUw&f zsr&1Xll#k)Oxs6a$9LQBv8IFTxxMV3_Uu`_*gft)i;?)VxjdgIR&VcL58%9Jz0=ma zN4l?>T)!U=~grco=*4Qhwq*~ zBbmNk-m}bqz3hG5f37|Y_m3ZMX?=Y>>`y+uJbxY@4!$l`Q*Y<4EfO@oHp#;rWOHHh z@p&=vxZd5~j^4%t$whl6Q{h_@MRlzPQ%7U}z1zau@@3@m;M($jy4wl7?k^1G_;6zL zd8-}7$LH#DWzGt>@R(cwx2<(x(oZ-MIo_M&uSZu`+2UTWU9uO)k&U)9y_~-ym7Xu( zm8HA6u)Dm!wT+Rc8cTNvR|ln!sdq2MC2!TYkB9HFr>U}Z-`n7lo!gM^r-iXD{vF;A z7nhsxPm{yPw>%y+L#_Dge(xlhJ>Tbrp_|=@*K7DWUz^q6Rljk}yC1Ic25-Cg{WF}d zA;&+ZnPv93;{*v@9}Bv%zA^fEzvgePSsVWh|AmY(qF4@6qOAuwp*SbYhiq{5A%w>* z!w4a36XIBx83R+NgvH_Zl7B6iUYT}PwQDam)*PY)sSi`yS)w^=;TS&f$UAni0&5Pl zP(tZ1F==23m!nN(=N0Ez?WqK_ThtEa9>Z^3ks52F_4n%Y;gnTljMEmdN;rbnLgW?@ zo}4q?ZYJC_s07bNg+((gr8kR4Tib%=6*Eg{irmHYH3D-|8cLQo;w;t&xWaMd;WI*U zCeaMB94azIR@R(G$I8y7vz@$F#UVv&*6!c>@nvdGMZIG2jX5Urakrro@o+XS;xjF_ zedHu8shfRO)1`LyAWuiw;meB&!%--UrIA;OMwNThbMYp9vII|4&vFPv%ryT2N?^qD z!;*xd(}h>YUvryWxN9uVjakGM>2*n%4hVOH*kR(F(2z&$qdh#r>LgqR6NC=>tRr&p zM7Cp;i%AC%#YN5DNrF0Lh(k{lvsmq66>xzc9t&r*IE z(z#E#rsfaa6a>^7$dDhJOr&uRj@aNFH6GJQFIBoShT-Miv=&LAVlyhk2+7W0DXZ|( z=&3VOwF+->HPqF@lq4_yddM^IyS=3h_ayVTMsye_PLZTF3yu3uLRUc-qKGTOhw)x5 zAqgy0pDes{*CueH4H4wr8N*sah)KLSQsOSEZKu63)A;|>0%b65zZV_m7}KczwIL?dEVccg4pABVYD3ljh>nt$mAMc5qtCWw zGabnaxyL$`Cb3!b@Y87W#*>Zp)sXDy-lCCJ=n-;!2$7or`3^#=PQnVGA|dDV$w*1v zn3*(rySCY;$du$?&B=gsBqGz6upi z?9D7E>tO9m6l0p^C~+&P4wDS|X6*$_kK7>5RRC>Pa~%(!)p3+J9!6N;*W@=E53q$X z;^Cu`%FLfsNZawpMN&JeFluQ5j0CA}Hag;NskJ7x4@O@@m`vFtXqBhBP5Y4!e5OpW zNS3iIhaDiWChzRw z()EWJa^=$*N_9@t&!Ud0y+92Tuyw3m(Qy6-c@3|fW# z$y9SZ{VbM~zs1PX%BBB;P=E^^%LMCqf8S|5h-rzyR0Ml<&)u=$@jH}svf8Tb5tLAqJjH#>BDo{bI z7)d}+u~VpO(up~i6KKf@KNCC&vTNu>5MbN_0D9475c$qRVBeNVg)$C5TimM&keA@g z6JH*@{!z6E+%xtgz1F;AN9+ZLgE zTLq4te@1rvNg;wH=Cl7=o(b>0_-#D|pTr&+X~nGkozuQ2{VJK@{JXA4yxKAYbVzZV zRXNTqn;j$-5DH#dD`iX{eCpoxDVae&V$4;ef`_GvOSjh#ACZby)y>Ad$60$S-8qIl>qW&0~aqYwb&(tq$fQo zcq97JOM1BtQ?aaYf>iDLSVL*Bjb!h*z*$I%5HFu3Cr!O_?rzPbK^|*ZF)}YPYEGej zhQfuaiRN1h9RPwGysw2Kk~%QGVl2*zCRC}C>US3Sk`}Z?>H?N)77$7P$2pzhL?P8( zDy6pExDwh@2=22CQs(=IXd>cPM4KRKfBQ{x=7uJRIu_6SCxqOuV4)%)leMNMWmiel zNK9r?t%HBwk*ZR)N)?pQA$d7ror-~?B@URbv0x;Cze&EIUOHSpzaSt?Ay6(V2Gxdt znoAr7puU5*5GVprUaXCMg`P+uF)-0QKyM*w3adbh%Q02IGDz3M=PX0fl8aj?pA+#d zF1&^-X9?%I6hI~G?o}gphVwhR>AG?jA+gG=uMmwzJY}*Bl8LP9Vu(Vi#E^f8Dl>o0 zxpF95;3-IqqG9f%fS~BfoD^2c?>XQBYjy7y zR*FQ$`qI^RcgIN{vxkeP``x+S1XFlzOF|96 zmV-1W0E>X8ykNTs>gqG5}#QBZT-!NF?`PHiiYzXu36b6R*(8 zagpR=1nxScVEGSRWkAAW9r5@}Ls?hqpD>V6``qWb^a+|t@k`(U6hGi;v0^br???9o zYU9*OT8TM|r^SUi40KE-tx(j?$rvUI#Ex;weamA+>;gkvGBd7Hn6bD;HG6w4=?skd zsET;TgftjXbA$lt2mlE;ia=zlLY9rUvSHv` ztznP^g{;rYoW7)tPdMvcBJ_Wirnx!M+GDr<%Cw}cq3MrA^H3WvU+TvE~Le)*1(|FEEgaIVtm+ z{P!$Y{t_&eW6q-?u`(I{8$Nr(Bw2o1)my>)UZ?()afvr|owI6oHM1sW(XyR=ra_zaHzlApC0EtoZIhq;!Au^TPllEjvr7=}xV3>j$( zmCt8zPpql<{(V6fNd=M#Cg9*mNkb1{G`A#MC)$vBijHA24wF)%&&_j5qJ5ws*+$_m zv=N$*pyw#`4L(=u%&vf4DKlWLKyFZulv~9IHb*H@!7@%g$U0#Om15+F%cPG^TK90gWv0Qcl1-o{o&>2@Y@LPiqF;4*%b@K zTmDvBfsyY?zTe*-MZ`5uMUOMjLJ!r%IK0RwkTi=>y?-K1q30ike#4&kZyPZC`~v5& zjNi4sI6zLN;W!e$kHu~R4T#`GR%rAyC`&LU!g3x(&J)v|Z$=sh!NCH2zMvWhyQ|iC zPAG3_qon&4>N8|Sxgw{t_ZH2=K472x*Nstro2&Zuq_~!iR26_B%^=N^2vzfl8B(oR zj2KHw)Oci!rdK5T3U0CbV}Sx8nV=O0`Y&{j_(6J(NYY~iF!JT!U)IY-Oub5-SG3>; zf{aj91Z&MeQjQfz=e)@eu$WON5)XO@L`6oaJ~YD#wOne3#0uC+A{v4Kvs1%7ub%b# zr@meJ5Q-;prGSe13IS-{Lg--LthfU))X`j1BU+8GS0~gPv!YcUQi21>D*PN??6X!e zAw*}44Th2a(Xwv~jjdT410dF@EtziqWk&p|Tf{@5n1rdqmr2Uw;`o_yF{!J*{)kE$ z@j|Kyfh^<@k?G&#spKHXp2b3+BRRbH|U6<29 z1P9p=@<1MV6dpwoW@-uVI?V1=k-+bfiD2JMynL=rgDRipoPsmjc#oGQ!$a*TmB}Z@sLAQha3iLQWnff8SiO-dnWKvC%d>5l?f*r7vbzSy}$&vw2I~yXtiS?HYc=mzp?4!wh z^v5x&L<A4sS8(|ye&GR$cD&zd_(bPssm5o#moLCv+m zKzz{-5GTilus|~-WHCl8s9BB65pI$`#>7)NYqj}OE^63`x%q_^N^szdDnDC;mG4xG#IUaQQMEga4-!eHcz1j~-+s zf7PUw*zIns3^ktC`-@fBw!Dm zU|K{#=t#3}S^S6^godOwYY9b&5b-ax$Tb4T>kU|WUScvW7zKjn*>ZeZb!QuFXPdU| zn-6~kZ@Wmu;5<#Cw!*%LR`)>|N&1@9LI+8a#DXOR(Vw%?L|A@{ofH?5Ccj($C~FNf z)&-;$BP9J>lNrqeCC??kFP2yvIYPLI;!{t1MWS>juJLd=5r_IZsfD0hc{wEgafpeK z-~`$^mLAg^_XCJX1Na$zN(LfoG77qUOf;i(s{q>#2Qw9Ut#(2c_ZtILUX;qFNL02P z?Rp|InZ=o(wc)_7<2B)MF4D(8W^`xNVxIx0U8oKlNVPsSJ>*pJB5u@%y*uGiOR?z! zCA48^u9U0YN8(89N|+MUqWMOV`l~y8LgJ)F%ZI^A@ECL|#xygmX7@^7xM==j43kiR zs?55qCn$EwU1;o@4)FmbFWU`VHdp=s4vRz}NVvfY%Bk&_d++1-hqL(H9&3Of&NEd9?L+WB0d8E>3M24+TnSRRYpd;fBNp=$ zQ5c;;oVn;z3>g(=L_(H*M+Nb5_vI?KelC1`1|ZT8MPZfbYB3@JOkws{ybSEQU9%6X z)xQ~gFN?1!xr6a!4o;KL+U&kpKUS<_T9#Y%h(C*xiPh4g7tnl5spmY)q8wBY`{sPlZ${@k~4XW z4#Mro(pO3@lR>~4w~wFAmcMbAu8Xi*tfDB0Xb)3du)UHh<^7)Y`D~H9K7z?RN#pm< zOXK%Tl663s?E2oW5}$?DE#bk8LiFn7gNXR zmSV9ox4b>|#4k1>2+g?BwtvlzcJlK5wqdc_pTVMWJe5PVMwQh?azlAezS~qy6wZ^= zxn3ruY`Pf}OYcFd`yj znaV)fD|1o`(bp;WB;CpOZCUdL72st@&2m48ua7(ChE|t;Gq-YE3W5lJS~6S=vdS?Q z$kwVde`amfFh+G}i6;vstfxLoKAS@iMRT{iUOpqqYaKh4W8FzEG&Jc{gbb+~1zdSo zecID0C(b!)7~K?G)Yp^03~l^rKs|LTY==+h1IH8XC@l~UevHG>Hq`H+0+j620-9-0 z^+V)J(Bg}mY559?u7|!?MrD)khRQ0e>`Q?f0(Oy}kp~aGIJB(Cr+JFVdOA`+0C!Ts z0DV*Ps!*1*%E6`SXd~(|aSy+UjX9^t1OW59^Fat43gT)gDpAkFsU}oI`w7|?d<&F@ zzCaD%(K4NpRPB8eq0vOwgYJziB)MOlUbuh14;)qH*0N2PAoB8GD0KB`qenD%0tALb z)Sv0**B7h{Zlqa*J8TfOw{S`p*;@?Awm`oEITOEeKq?h;0$@le9)XNzXH$YCJol*Z zITw1piXb*`B8pGUUuSzgl6;8|8xvQy4>Uvx5{_MQYEYC4%>n0Lsw2PxX9XJrj?|)oDP*(3tlhn>v|yrZo|V8nxEeKNr3mZcaTyQJK;9r1$jK4<}`QpwH1A6!0AhL)3{yf#s00 zV&G)1ju}Ov1+T$Hk1#UMIp#n;OvMC;Sj+kdMdrQ;I@4uy`yJ*{fLR#wQ)%R36Sc44 z^97ViE?=dDj;WfTAd*6@qj@GtHn3jY;2hkcch_B_A zg9<6hNtgSyAUUcsWZXlBG||S8_A!;BOamEpj7S}$2l+6R!c051#$5&MYK?ket1Z|*n=La#0X>L>`IGjt%DOrPqnyU`s z!3gaz3j88Quy}bf1pu3aj2JvB81K)YtBB8wiz1sPtqL#(CE4cK4nmP~D0w*`Rp!k< zl?O9oA}WsqY0_%X>msn!ir@Bjo3Yg#r0FtumxvdzU7SA9i9OZ5H@w+)wT7eVq)wnU zIIky%9MPqr=~jM1HU`AVW?3_#FfA^$zkI+<6j~TW?6$c@KtLI0d^(g&cpVNn3QlCw zt_?)zGXd%S8^z?+Gb!qX^6wDE7hwO7^O6hpJkq?KHTt)u6KL)TQq?J z+p>3;m0r!Fl~TxI<}LM<&)y#~J{g*Q`R2Gd3=#xvm2MO&Yd%Q*86B`{IWfeuudUD9 zbYc%edt-6^+OtIHRF|5Mm3Zlz?8JD1AX%J3s^oE6y;F3(PrwvBT(m3+`wQ-cSb1SV zw@c;(zm3Rx#cp>A>9_-PbqguI@jk>DaiiFz;9{IC3TXXSObrWyY73qWyOOGZJmO-- z-aS}Y)23Y29sx&p>`rcAv+BiRaP|6O0nl(39MDu$M6RHn;>%&?*XzPng0Wa3076T! zvMI9j9#A-*C3ReEvN9eF19RvHwM$zln_?Nl43{$>y`b)q-FXaf>d3gPtcZw1DH=JP z+wFa9nu0QovHqCOxiY(0;(anvK&|7C!Jl@BZQkoSk)1$n$N>sDg zHa5*6Lp(o5Abl4+XkJX85g#EfgHpDvxZ>IFR3sH5#KkZi#~XzmTK7mi*&42^@ef5i zCvqr|)GDP4NkHQ)&r&~U}GIoXwfsW@aWQ%68A_OBWh~V<+1#mI2BJpphBcbfY&yu|m8SYL+0RLqY zaY;`A4iHX@7$ei{aV^QT&rd1XO*LALQ;BG-QY&3V#*H&oFTbKn%g|s#GJ##CP zRUQzc!vLYf3>}f$XxM!XxoPaBy?dp(d#7mbMrV6zd05$Z}nmgQl*!e+isbefa0)`>Nx^f}B|!`sHO;`pPNVHNBQN|#Te?GJ6e8!s*3GqN#y_UMpe zfcnamD|V08vGvc)3@EPMu4s=I@2Tp>3b!%~W-&-nH^YPGI%Fb8H4guv zIaH&#Q3BMEc-uonERK$nW(3WHzdrN!HWLuem#o0yZfrkt#%iZ)Hh0^q~HE3HVkE2Vgwnk)8F7n}pf$;CwucJFn8T<=3} zi|<-U{h*!IAP#*Jm$_)(2kbn}$bQSl;Z|_#WkG_vcK#&U>HE`R{q{7$vgF#jQ@n-i z-|2a_=7N8JwTeo@Ic@`SXmfaB^yVLe>GM|BcDc~QAOr1>#xt+1y`fRf*pJJiQoN0> zP)$?cUJ*(4jMyi1S$PBOC7g`4j-;fjkh+CcI2W)3x_-CvT_(EZ>JYf8a@X6i`WGb_ zuhCz_*tt_BgF%Y8M3%ME2 z#z=1}?K!UE*aRaW5RJW##2c@H7c8M`X-jT=Eu)?@>Ez)12pKca^8kQ^IzF)l*I8kf z>^H<~>5O(ybfWs2rNM7#lm)?5qS&z!+WC50a@XCd9Yc`_|LMffZ`(EUuebhF{H66< zb`m&$Z!7HxZ0(ic50G_aV$@zkfIPAVk=rb3?@_3q34+DiBQ}%{DqNNs!C!>49OlV@ z8c-<&qKAi&^4>1}i;A_XaA?uu_Pc9X1{=(HMRVroVB}Y9qoU&0FD3N?98drBm?N(F zbm~%mofI0YF2SJJkR~0R$>h5%ohFA2OEkvJ&yR^5&FSv6zV3K6e*|$myL#O5>2T`y z&EUUatx_u9cqu7sYns!B zvW2ABLsvDR0$jNYpC!m^s_T7&Y&8u^V?q_a3SBoY@t%)XDyp-|7^XoFZBE> zK+CHDBMy%W28ND}F8WyXb1dI2EH->dkA(b=elddOPyJBv=Mxhm3p-ar$lO6DjaO@} zX8Mo&z}c9~|32ewhtK05!-2eC`+_mMoiD;b2X4ENy({O_Xg4n^tYDp3^v+JDU;u%Z zeotBrzhu$Psei<>8xMMfvk!ych(O1kcH0_A_y(oyGi3y9{~0=u9@uBEB|2oqzj;Vs zvt^w!>*FD#AVbQ`v3xeUU3?F(U!0bP8xmJ*nKfv{k07*A0P$b5AwlB0M9O2Y6r3_Q=Pj)^UwSA`cQxU^#Vnb| zv5}xhWo3BWT>HOUbx~0h{7?$fo+@?FNHh7%nBcyTh4ydhLOi|=CXb(L4@_c;r_PXzH-{(Hf#?I#Yc&4Ib;dfC5 zgKk{6t)w0Mqse+`YMGI&Zd^F~&Auqz>3M!JU07Us{O5qsaP>`6j5os(b%@z}bKT?D zX(xGAa`DMT*z@RejEHShS+dXESnRdr^0I}H2kLwRR4XfmR_FW3v8&0`qe7?5oaWjy zki=Q`(!+9$i*9;GVSBE@d&By&LLG}^>17_BqZsp@1Ybsc16-4^XCMZ*>bW&uX`RW| z3$J>+8!ljQpT2_YSbozw;F_Tc{^5MuO(mw5|Fi2{yYa8LZ1%gMuIt(ResBe@8BHa4 z+_nn11!o0Ic7KL7?zNz*;Z`Q$^YsQ^#mpO5Wk;*_cU|l5^tBYyv@f>bxH7D^5vlYf z^auN&(ti_f+uE{J^M(>kHyhIJQ@x-4w8>?2Ik+%P4dN(sPnfIpE@GCYkZ7XhfHeU1FA3s`M zmTm|b%)G{~h>Y@s1@?=}6^{StGY?Cc)`IB{b7goEcK$JQe=^}&Y)zl}5`MpbKzZg= z@_vUb%;N>WVGHzokdif3+A(&Qc~`r<4nU|KFJcX+OHzE2BddiIpBN?(iVPT|@Mf8y5HDdsv#s&ZngQiA zEGC{J8Qv`*?S^uU!-MG`8dXmlCdscLlo8koqnJmK`Wd!IN&3}b=T&4xqI6Xkw?FUF zOe$#oL;+&ase^nKpC+GWHZF(V7q5f1pge34bb^eZIaD+dmj>Y&jL0}lE>RbrP|)Yj zmdRz%D4LU39Hx+OOcf5CR$xg674HVppA>|)6L#-f@Bfdrx6{M_Ec7n}7iYlwY`%joUB`=go5*(f%!f7FP=GiePU$Oy~hB zgf*InRIF$urBJJsEKsk-vFw)7_f_WR48N@FGjM&s3NU+A>uMU(I$^e{Qi=Wg^mj$; z`xEz{rM1=h^>Em?*L>^o$M%1hlSQNOXzG9E#OI$Um;b-B^-2HpKhhkc00j&LpAt-18BE?H+_mJ! zJhzFlf{MoMGMgQeCX`Kc8LOHl`@P&&H9_qw7T_wYOb^R6&PdS>(^T99R(^-{-Rqew z)b-v2m+tY1FmM^mr1IE1fxMDbqn1F&$8UA~VFxH&dr;`1eBK*YOz9and9&U-J&8Ad zZJD^dB|dng9H_E#LM91m;v;hj6%90cNp$(ec9UrM8sRiAW&(mK>${TK)2fImT?=d? z#}%8iAKTi7e3yJ(2Uc;*l5Omza+$F=_R&qQA(j<=$rR^2Q+5sN&2oXa^ssMIn9CDZ z9j`VN`8E8b<`swM1F;o?P-UonnD|c=*Ja2%VBMIcdY?Zs{xgD`kmC&H8}nHEY#;of zQyd~_j9U^VJcPs(q#4~joG9l}n5$zfbxv z2)z-7drXmEFc)qyw7!rZs1F|F5JL)BT3|aK$XH;A&V?fwNPXcEG_OOvB32#14G}(= zxE2eZ-aW#cyg0DL2r|6jPQ2ZGDpDNibMni@PIqF@>4Qz#P4Xlwg>knGzl2n#={Ieh$j;Ae*Hh%J&iQWXZ{yR)@+18JmZDnl5Kcc30Kmk*c=UgnCH#*R zrS+Z6{*N35{zs4Uwwd$@KC`uK$HmtofSG&=H{m7cBP(PQ`PUs488`9qrxB*gGf9q=P8yuUo6lM&A4@(KLOrCWX=jHr=svUr_-7&|9;P9)sjcxTC)4k^(Wwr`>ys6!t{ek*v9KE|L@zdbrZ zcJUI#X0Wo-E7Wn>DVVONoPF^*MZsTD% zs~538shUFjL5W&8VjWd|m=P}B>!6~qDDTLE#_8MkuY?veSGyYYpw#1a?9x?BoJ?t> zCB>)W-&W!#3dc2fb5qZaCI{|8o0i$q#3O2{0TZNM{42TL`dWCrI+VLc#b23G|HVkV zCs5jw-I2uD!;`{KsnEkktTL1*Zjse#?ba#e(9?u zhqFo-YWRJz3ru@k8RT_YyiS~h>dLTYsC+|V`?|M7tD8$`Cft4Vb#YndcKct>D@J_G ztlXa>3HT`ziT|_n>X(VFiKBtFyo;@ov&)b8*3R}n%0y|yc3lw3=Y&?gOHgy*2t+Hhh__zg2~r z-f0TpfK*B+DMQo^)0o<^T4J&X`6(e`mxqKkB?UYAFz`rv{<35eRY!43%$C2BbVCr0 zcWfa!)YTCr)?}mf^<1dSa6}?}EIB?S_2Qt0Hm6Rz9z5wSP;wRu0VX4l+a0dWNYQ}G zUK(~CJ@(lx8nb75+dA@^-)VOgittrJCCOyF#QRR>ZFM4?H6wQQ?bL$ve z35M)L!7+k+#!V15DS4JVa_ST!7%W37l%Jkv4R?%vMhP@Y{Tx2I>R7|Rm^?T2U1uwn zg!!!%s0wc?A6pbjT;>%|)WCR=?!~~HyFF%)KW!?|0WX#$ZBm~J8*zXuE84*Yq5l=Q zC-fj67_KrjV6`P)1%WC_4c#Ql=Z$1|J3>9On@XiFn9(C}?Z`q>38LKHfMuj8Pv3D$ z#ia#?oWU|Dy0*PW>-T4RMmr;!1sejqiEfG$t7zQf)v%RFW@1NrCF7;pgEvcTm=N9~ z;hfQh|9foqmgir^z8P_stl&OtXU+__ z?m2S}__y?4n%JeVHSj$rgZP-+8s-~73y4_9L1cqKp8)BRYVOtjg3vNb5 zL9u+*(L2B+Lbd1{K7;@_%NKk${hz+*ztt8zdmh{9VBK1!q33t}Ray(a{9`?Myr>lr zaIQ^Lic>>*c%X%<&leIE5rM;dqlX<(y_l{4QUvM8IJl-bKtQC@KtR9#&x+tb^ydF@ zQpnl=)Pl2}pneCCk|YhRj#Dk#ZI>(GR{oD&i1dJ|15d#nFSGMYwh~Er1fgp=mvYqGRV%XjHK?^B6T{)~cQi;Bek#;dc+t`mN#Q)J`+T%E>`|>*Mhs!4tmZ@_${%WgLtwOzd?Q5{4x% zJlT8H|0Ns299S8#Qyn-DORa2tviD}`0(@RyPTkFoO)T9$yMM;$E|z-aNq#L;a(`O- z1b@Wc4q{LD_`XcgP=b;8DX zdz?-ra#lt~?Rh`NO&mB?y;Ty16|%-Z-JjATeH@=&*?aQib@S`(wLVdg`Fi~3vD$S}UI;deLZ#%}MX_v-v!?{4i+?7!`QH~us6 z+va_BB=~B0xLliF@bG)F=W^!&@VLLb`)v!jM>Yz;^U8g5{2TdN7||Ml(H@9W70AkV zf+u=R!_()yS{Q+mi8%00x9G|#kur^vMLDd_~$MerP%$wV6)s?9veZIqL6a(P*A*?7oLz4NpW zJq+McOwOiMS!<@PaHqDp?n~1|Rw)-#NVY^(DW_0K7A3FcRY;b)P~HnyF6K$7Q06P2 zH(D|s^HJ=%7)neC6{A&Rz!QXk7$L+=4u*@`he*Z!nrN)G2)E7h9ynb<5|2@`pPtqk zK0Vn5y^fmLz53dnKpNp19BuELsyyQk6tDVi2VYpKY5!=+uTj_YduXA92>%R8M^ z_e5Ct{)u?0*ed1(wd5x(Z$!!6s*;Ewe#$5ou)#uYrY79t<=&R|;+mtlfsi`ewKXzu z{YZXj%io4le~(3yBC_q6Z=0;xYPmX2Z|jo)%K>jUwd4dgK`VaS<-od-Wi@Ad9Jw=$ z91VmTsn>BBiX_BW_S_@eg~(31vfBy>&Z2-EhO{Qil_ot6l0QT$jkYS-Siakb-aZ-+|F{bc{1(so z7;8r^#03P;#q@JTT+r>>RTdy$P6y$)O`*$Vd&t*P>4n>eVGFjwh6M9MF^8c^woN!N z32$#z%;a8OPj=4u_S;^4Ik$FQVQk0i9Dg)GhGn)?M1ZP0AX9q7=(9eu3wsAGAcS5v z<-}VDta5h}v^7d*BIO~hCX%1@bF?eq2Ko$qM{R3F#%_QS2;vc?_Ypt_*drMb(l&!= zf}pf%=+l82r8_VPjgf*wYC^Ife^{oM6G*;gZptMqb60Jg-H+mM;?LZYJFYXqcrB)^SZy*ulJIx z&sghPMRBP<<~z}+e=4lVl z3!g85L+~a~v`|mnU)djGNcgiaR;&)N$UVXWv}!tib5ZsNa0w#anLvI~Eb|%U&Ra(H zzl#Oxz7^8v5@|3>HXgwk?O#0Vmuv{IK+VTjb|`c*|8azd8~h7dz(9u70YRV6SBJL2 z;&IQVY*6Lo0P}|?QWD2zmSrD0oCSj`x&c?cZ`D2v_4;l<0XI_;xP;nhsVQXr=i<8p zL;>86fE7jG_xXx%L}mB|QbH;ufubAKtdB=>ISB%SM5g4_SF|QkqiZkS1oB$?XTQC# z2519Akvx;~Y;t*PB{!1cCj?ld&YszFSZu=ZZ(!RoRk$x2CQ-S9wR)d;1hRWuBzhWq zBrX6+#5n{IAZM-J4;Uk=G^r0^B++ude%+^O5xkFKbSIH>o#nCeh8xCXY(#g_zr1UY z5P-eO=4!Gpt{o*mKtUWV4XK>t0`IRaoD$ZxST{b&{!RFIL<^mMC*M3R;a%7t#Exq) zj}?oi57s5R#lPc3-{W`5tO0D{T1)V3AWv$RM(rV-6UtlEg)+o8rU&C6bROZN;%OkO zqTlYgDp4XWtW*T{5uV{{2LA3sTe~fuALqv!6-)AQiTSJcDXFt9w`o2FNnZ>*W{2jQlkTS->e)y#Sv=NnJ#7d(51HS$Q ztr@@}_c3gSImCCKI%Eq|aiYkMV@WUV)`^yFG~;5Y0A3i*+&uHzy7z4>fC-W~B;Zjm zrHP?g%JgOZH@SjA-5J2-X2`%K)xs6bRu#Td=E2(YMb=X9_a&2q1%a9!97-U8`_~8H ze{;zq^-(=^FjeavQX9hL%u%}emf(uaHP<6>2xI%R!XhP76%((1%0H`9F98Dsan#(B zFKwq;l!-y$%lE)upG)iEKx#-2enbazGsmM3SK(;&LUBHlzYdp94i3?pjlL5Yogk33Vk>xpwfmXA9jQi-Y z{)tf#vnd@8MQn7wxe30L=xh;OMY^H^*7~V&bl$YWz%iC_8D%-G5xpgWE@7IDgFWv% z@Fa!~q*@)*nyZ=(Grzt-rgyk_T!KJ*jfcS{KbW^X&2Q55d2fLyP^~`U?PR5YmcP}R zVwXvN6iVbyxfC5Gu;jH=QaybW2}gv;#$I*|LU~>&yOm)1P#9-J*V^{G5v1XR#2BzV zL^%(;K)OjcYFxzE>DWsL)b8o7K>aCRN{#a-yJCOzI^_*z1b~b1cf_h44`XQ!96!qg zR>2el{-Sv2Gt1j$g;2?4^v$6aUPO?lIT6P~2VI-P%We~O{jL?&0*#UMewJDlBnXTf zUcQDep=OiiwYOJaI&2I0`^ii0!efuLEu{?GTnHqbZ(~hcPd?s85#+mo8zx0UfdfDVOvB z8fpJv7;QY1hgR9XBrpk{2UpiNT>(o3Kw96M6_hFX##z0zxyD)ba%y{x=ywyPr5sSDbSEs5S&st9e9|t%ngEr>LNgN!d5J$8{>bZm9o4>x;mfkd{NntxkF= zqf=C%D2+!L;lYAsscHt-F0Y=JfX{wq6r;o^rSR1$O;L&7->@b zWC$s!$Z1ZK`b!p^_&~WPq_P}uxvU;5*S@qQQ2x2xeJDqT4=nGnXjf-dnI^u;eL}~0 zEZ|}d;U-$yy!%G2fV{{-UxP`it#}huU$kMS0t3|mAYZ~KT+TM^i-5LoJZDxC%M2n? z4j!NaQYsyn>R>SMi?Su-!dO`+c*UOEI_SG#yk|@MPbi=p<6l2E^wi zAl0XG>YSr^Wp%t{RMomvssKiGjEPn&1RJG9pJ?3&o1)a)OPS`-?1+t477m%1|3g;<1pd1(OJ`lBZYQuv`IlMMMMK0Jbs?NKb}9g-{YDnr@7U2@1L~ zUMNAdEYF&nE~)8EH!_zZAFwV2_X%S(V%PxpoK9D{PsQA7p9ZmsCiK_bM4&uUysIgs zMp|kYz9q};=&{sA;J9N4b2R0vJfZr6TuV!bV8LFeLuOo0UeBlnN8?rvoxg5WswVJ9 z9$O<-qswvFoj~jGw3R@MXxOBw6P>~tw{7V%r%}xi%jbtsm1lSSTjhR+ycUP$g#7Pq z@v(k%ajL$~YjtEp#BZk|8C7&yO--!E6pTIl1w3=`mV(@kCao#m3Af9QTE^{RnY-ob z?xn@{R9psqzr8**^ecdO#GrD9Qg6sCceAsK;nB5dWzvXwvg0)g?UA*EekdtgWzxsb zyNYpnTh*wl%3`PRh;BaoLv6*RrSot1kAZ^WF`;jaHE(Bk3!2o|s*DCO$TDD|0#n7B zG`D(`g&5ys2 zq*T;(Fj8XV#}$p)v@SAi^*w26=@3P|!z6<8cS+`;;xA6I)6@Bp?|dqqxn~mmGmZ%I zvDX09GGdMRlaK}^w`Nu_5uJ{}`#3zSji9BL@`+6V6h9~_4r(kMRlr$JM=a75s~_R0 zeN~V;ljh9tQwMb5BpNt_GmTye%ur!27I>V>je#4~Cx(i>AQQHfv`Tj*m2d3o9H0^E zMlB0AO&H;fX`^EGp!*sjc&KRMpAA3-e2OK4_T>p%SZFJ{5E}|EzK2vSHI!hF!wD*8Ise$FW!ImbA?-5BZSKx-l@wDm<`1Z)W*iR z#f%H9eXWt_L_ta5L{!CaS`&sskFuZCj}zI#?`8H;D7Amapks)#B_oC1#w!1ml~V`X z%kWjWCKk1`AYPg1NmGxi(3tp7l&Ce%MN4f;M_`-$j^Gv^vw?f&74m<1$eLLxl14--6uu`nU#N-8(hhM zc+x%amBV>KBcC>fToKMb4f4o(xVM!EQ>R8>Uqnwol=_0*D(j#az0r3?Rf9*>^ z*`Pv6OxyKM5XFgI2+)V5o**B)Pv>4xZSWpYrD| zVGfluDS1d3ZfHs(JiV9pHsxmjla4tv-B|HqRFwTkXQ_)gSa+HFCdnl&(3p`rF`y_H zTWOT2^^Y_8x~SGq4++hhXqk3J^?6CMu|vkXAwp87;-*xhoLS!8#WOhFf-LMa{Bg(**Ph(eCLoDzSX3xZ*(KU(%y$X76v#^K=)s;2=em;#6G8QaAbN%l6Xb46DaEQ3 z9Ag;Am^`Y4P!2suVt-PY6nnf@=^I~^blz<^R3v2<5pW!=Sh$9|n<-6@&JV-huCJ;&3RGa(2Z3Z_f)mh{Qbr6qQL^ZSNcYlr z-wBkWC4A4@e^enx_OB@3GqrR7teE9QniE)-%n5H%w?q?VvwaePx)rpu=~HiuM+5Xw zCk%~REJ7+t=m;A zJWZxMX7#UzjtarUd~s;)`@~kNn|(2Lrt-w3VSqnbI=>e%yg&-J#yFZQ>3N+PGjWhh zzsNu(7A||_2wHM-;et3YNHnvLb_A_7ejIA$Iu9iWTID#;pd3yFSWIL)8V)%q`3tQO z^-GT0vVl_V$gpm%OE-ZRq#%8J75LxMGE+qgH0rloC3K}ja^!5?&wCss%ky(WwD2N6 z`F{jp(J7azcgk|_o@&spn@RdxC1ALm+;rAeQJSjG@A{7`SvFGvX?;Gg?KQR;@dN9`z!t9 z!Df2xI$I@2m-77%t%ms1v>=n|r%-lF)0hm6!j^h*FsTmk*!~s?MiRV~D~`%9*7hXc zJ;xJ-wtw-A;=z%{<&|U@zV*WZaA{DIJ18(?ZCoD_qRDF%EHT$4Q0k+~J6t+5-~|~y z`kkxFejR4LY8O5D7h2xWo?7uRa%SMS%y->QSRRaLNb(x#rLcb}`L50qz=dRf91kUSL>I96C&I`sPk*c6zx z!jR7_m#nG{@`_zVm?c1;D+m1YrQ_Dcywzikns2oQgn|4G?k+k!M-)z7f!Ht0TE;WW zilGwNfZpdG4Br&vhvKQ=uI17;YB9Y_{tplCae?H*i*-g$t=!_X3601gxmg`w_A!F~ z666vJsz`kYI8ycT92Zf1x>GaS%VJH>iXOl3K1L=BuQzsJI*1m8mJAozNmd*v_vQ7d zW-TxqqA-etw(fuYQ-6w@Fo!#Sxf>#@ki$zPg&Efi!~u)LWKB=#y8A-T-1CvK9`xj8 z6i~ze`gqPI^aN6Wwb6Qhw!pve`&S4`$MaB&9Bq9eo$!yzbiRI3O;rK#@GPeH>PJF{ zd2v99ftjkOQ?>j~OHwP#_=d@?`rQWbbgF0f_H*|2c5diN!QmK350@%C8&*?;x$^$r z^`9u0(iJ-KueR1H&NoQifx5)b)Kuwi;6BEwLz`3fYhY;$kGWl39UlZq#LQ7Z=sT~v zl+BNb5UUoe5;hVog9B9R`pp43>-tzIhJ(U+wO?4r8JVOz9p&vyM}#60qdusQ)+4e2 zR@Gn0i`4YiCU4-Bn6soVF`vaLYJa&SS%VVk-}+LGPkMO6WvKDvSb5Ir%pE-mA-y4q zrQYZj?0J0Xm%f;Zo8?|K@jVaKIiqbUqSLFk7}NdwI)jcya&lD>PyV~68Y2YHQP`u5 z`{u@`Tpg7Bo5kN`tTOAf0%Hg!VwmQuPyb5Hm$K+XL}Pv~*c&`EAkg)R3RT(_DY_l@ zjOO}@4rzMq|JoG#x!VYz0tTJH8&SoEt~I{{(t z_s5992WR_hYW>&$9%uYvt$<3+HGj;+{-1~bXZatTl%;_?JqrWpPr~8PiqX!++1|yO zQAza|qp6*(vlFATi8`Z_g{KJ%{zJb*g!z=!v8JPv;XyV{|PB$VDTRe^Od%h9o|Ut=e6G4Ehc&Af?+oy^z%Skktl`C zyi5y4eW1S3Pd_A7nuZL0t#kFe=OpX=&npwMHwq15rj$L;k5W2%{*U)#0s)A>p^>+6F^Q zTIJK*(!0yc-oK~!hR)%MiI>va*-1H!ElVE{7gvYv_R^9MbiG$k-^Zs~ze;A`_Se}@ z=l9=kz7AVHZJI{$jg{9^Yn?8wUq2|HE^e;d-5sxIpPh{h4{8_J2WwA=8Ri7Xq?*J)hkJsZlH23t4|7E8vQmx^=cO!Jea|7k?R- zYPMo_Vu!i4G?aM}SDI=S^YDIo{(gV?fwtBV(+xO#mg~9h(a5>X zrDGc>d@k)S#8i3-JG#5Ow_o4kJBy9&yeb^X{bb4(sc{OV7knfHQkX@d9KhH0x)@ZA)|6PSGv|e0a4e70X1HVs$yzmy7!|Fya5cc^Kuc7SSoL96Q&U!GYG@2 z`St2s><2K4tG4-!fD0L zdjju`BBVuaVr}z9P=wNG{Y7D`(xZFQZFu7gb(+KVD}r)^(u?2=7EGwrvJ0@>ds<}5 z%7N6ym5wdkX;Amr;=$*M7oubH_EAM#l>Wnh#K})bW=WiGU>fk-t31{{`1e=;rC|kZ z%!Hw2i+aHl16XDgZP#$ZQ{Rfj2oQd;c z*a+S~L_$x@L64SA=oWr-J_KSzGZlKUzOn;I!YNHh(CRWo-9Jxlf^JuKFIL8$phAB6RCfaP! z9U8Mcm#TaR)10TA!>nk=x`{2$k%_CF8(G%7yUfhNuuF{T5V3HFJ1~6srupmrV6))snab$b>#Wao1)x3@z4)AKRDC!;-1Tmymsf(5p?8G#OY-BFs%* zrm}iiHykHx%gqLM_OCT(JF^x&Jj9)?bjqFew4}Txy2E(Xy|_a^e>9uJ-e`w`N^>$2 z1*jWRW^sB{ltr0**M8pW1DHppl6~eNT2VBdQ(i;^sKc~ErdO_j*J)K&4gXbcPIWWh z6VhOO5h0YNz%@%$uIUr#$kYr5Bd*N{B&yihvkl{jM37Yo%|Gg`zx-enMmgF(tij^Go_B>5Ihz zl}94G-G*@gIaE|Oy?|$OVS$-Yh%UG!C@YiW**hhXtjge~UPda!eYX>Ze<#Q0PlHW9%+Cf`Aj?HZ+ z?R#jjWyaD_nN{q(>YxniqeqbzX#-<4Mw!|R<+P@GXME}mfh4Jx=S)A%dRvDK&^ zk{5xoEy#)&+18|ksTuu9!OjdUA!@o1(a!m1NcR$RV2TCC$g6v#r)Z;8ZIDeKpgJ(5 z*Aj%@a5b%eKl}q-RpTM`5;ie0{~|@Q4ImwUCn1Z2{)=%(^q%l%e?1OhLacw<m(`1pO~Z+X<0-iuJUuOulcp~dcooI$(Xmi#I@?-0dQTvSLs`kGpysUTTt_I44`)_2fkr^9OEaDt5KWAz_jsZj2Be zWU3*>`d@%C;8@WRc*MW1;2^W!B|sn~;N+Rb%NRX{U*iM|LgmO2ft3xQNy~pbTHq?c}S>AUU2#wKzBSVcilCX_td=WFh@_A!0XJtLxX1^8MS>pCeN3 z0zw}#kO8RWNl=IAf&>DVgTB9j({`=k%EP6fk{N$l;viWO_=xmBA`M_UJ@d0b{CvrDz`rs>T>!Z`tCwN7nQf*+eo_IcIQ=YfdCBg7YR|whAg+!S!6?8 zhE3xmgI>T_&Bybr`N_~TCEp<&DKZ!R?ama4R1FhKz*L>{v5Xqsp#;4)a+Epbq$5%7 z53O7T69`T9uSPVS`q3&MGF21syPh7L0*qL-+;{&f11Y|mrked&{SIdsQc-%QYSx79 zPh%VUKGQaYq36tpEba2gYaL{}*V<2*RW)31gTB+FX@FXA+<^LNohMd$`$EY>an&yA z-%1P4Uo3Kj^RiZLSUQs>zP} zSz4$t>SIcA^0j`smIRN&`vP*5c46TYaS!as*tY0uq9r^P-BF_fGeD=3OjTfCB`AXx#0gveMA8v66%~;?2&9 zzD0;wQQ_XiL%d4za{&Cs%fJR({2w5_!MOT$8XNZ@4$l`t#$KifoE_kC(U$ts~C0Pz{-zFddeqdyPawehG?i+f_|O%Nzsp zH&Drc8cj56v2<6{(hlZ+pD)n}rW;9J@OK|cND6lJ7!gbHjP2GTuF+obLhTFmjlEMq zX+QQ`lOXM1BCym){rlZCGaB$3B4m}rq!(aWpl)K5UzXIFM^nFh#@apyEMDI39A5|7 zOUXjyTon?6+{q)=;UB&75A`*nQ709sD4gkG=7NB94W~O}=|+jROvrER01@0G(V~oD z_1Re{RSK{z1l~{doJjaVdtAjSaV8k@0c7x{Ad(=tXHZ7uo`SS!*v2TYva{xBwrxy9 z%u|2hoQ>rnkr5V}7-UuEsQ2%efo+zo1OW*}nBLP!Tf*eC?S_!=%G}6Qa@}wetq3ZN zu808=IAth;5EN5z#dQYcPOgI%IFJf+>TP&&ViPKP)Lu0dzld!Xsll1qBh?LR6dmd<6cIDj=dlNsiF@|EfTCZPMxEYlSBe!&ZvcG-d#fQa9Qy3}h@5taNE6<6ArCj=EY7;zS%bcn48 z=>?v~DUKq{R9wG)ToZ*p#Z|<u& z6lK<#MM_r6Mjm1l6+uJggIAEAZK1E_aV9IEi4zMhTRxy=PsUbg4!|l@wyi)?i2x^- z@)QrJc@GS?^Bk_v-B>}IfdW6KYey5D7_}fOVJT-jGb%uq3vZhMG5Unr6 zt4PoUNk&M)Kte<#Ss`h-S>qS8ytP!tQ&F+0^49bgf$T5FSVE@2&MBx2KS!w1^@yB1 zfyF%Bv5G#_;>El8(Fd*=NY^&>^=7%()!SWa8R_j`S}(%zpiW239#G`PIbkS^nUijk z=z;&T%nDz>N2N{q3f%eQ;SWw>W;^LAp&;JDu| zmU7W_qPd^qx!_zXxPVB`|E8)&DW#nLOV_Iwx3d zfQMN-znm~5aD^kVg7t;snG)0Dl3E)$Wke*2!d7PoS{i9g4Gf?tv1!O;dE_(3;2)Xf zCyD+gt1lWpdtm7yI6#N!A`p-B4~;kwsC*nft*HUe3z2n8&K%*_%u8#kNGo9Tjm&zZ zwP8wHer}JgYI#pDMS*#xf&iafLh(z=rY$k^@n6ZpK;Y~WxDzy-rR_1Jbnvo66nVv?cnoLyn6q$k)VdOmC zUr_{KZCzB;-*?`}L?IhtPa$@Pk5Nt6Q=y&cWGe0&@>oP#yy64-Tcv7v6+6lb$_qEw$mr>rir zeQs!K1~-YA+ardGLsG01En81otA^U&%Q7>em+llHHab^eU}}t+)ZiT{5RR@Wo{zDH z?VaJb{QS9$U1_~N*$^12VhD+Or3PRtl^`FdFdzseu+VedD(tz5j0jfCNc*YYs3<9D zP=vWOoKvP3J$joyQD_Xj(6^%~=Lr$aX08x}9@5Rg85Ix01uSAgEGBgStvv_nVi}j7 z%p5K(H^tuOamc*w8S=d&zk;7|cb17#=%-bWR**F5*vQeO13h1jJ{<;9FT8Tb3Hsb+ zVXgEAYzeFTb&cF;V2$0azE}O0DeXW+A&SB`w$>E(UJqX@sz9!_Sy<<&w5c4~8bwia z`2J$(;p%Gk@eT5`-pjrM{q|UvSpY^Al1`a?ELCEXR!uhIRR%nJJP;l3Aic+s( zT95fO?H0coWXBiaS^_kH`rd1^Cq+cd8uAiEe2iT*SSm%9R5s9`o~(}U#s=0%W^P{V zTPiFUQL}>sH^su^)$c(fK#0XV-xbOHia?;K%a&T4`>oJ`6C>6^K=P{=jEPKEU29w_ z--5s+r`+MzH-G2)>t`m~yAg7GlR?K-Y$ltG&86`DKEGf>HQdGRpQoF5CdMuC zH5%>yG{D?B4uhH>H?8$5( zaa2#_(yLkz@aEs7KXdkYS>`WG8v2{=a&L$~OO)C zY)K>;9dXOO)(ko)E3pVEH~78ikLKrQS16?H^UuvGY%AOL#QZ$AXNyl)Hg~U$&D7|u zjK-+)R(ufFy=bsw!2c95;d(@b%fX^IaA6o^tx-&)WJA4_w8v6t&BcmX6ZAc5sG)kn z1X(}`$#hvVrmsF83u7%(>13-Br>o-Iq*X(G%AGcYyOb<#Q4w_%;eJR#c@wMxsd`4L ziGna`s4z^)Mz}0ZcRqD{yT?ni?LTZa;q8%^U*1ybBx9pB5Wh%nDyzJuuBj<>Xt{vh z#ucAgV6_BRWmQ|n5f5y_i?Y#GGNCA)0f05$CA}5pVG=;rTH@Cd?}-k#QN=d2V@>Ht zRfbw=BECHmN{~oburaYf6NKU<2{Is15Ib%@!9d?)%CO$sF3ulR9$Gl5K;b$D|udsZ>@gNH2Vok7YPr^;*uJj*aOU>fz|h z7R0l770ffcjD-26!*>a{V=h<_mi){~!@;1k&hOTsu`$1CQd{nV}@$QuL$K|rN^TAKUHdN-D32JV1Zdkbi zQ&$+#rBpa{+x%7g$Jtw`9$xjq+8XtyO+13L{LiqR#0A~ldv?@`wTMNt`ar3q9sw2V zne>tzv!~fxB3Z!>_!VkVvIQFjwSO&{)!72&gR@ABa+nxgM%AQ{i7cH((Xie$N$dv8 zH<5I>a*FSI{GCMGi=_9Xl}dWiOdwj1sQ>pa)X$b03}=P_hw4j-wKl3B#~Fl~$$8q8 z?grYaYBxQOziABQ8E#MDc}34__$A4hqCqafzyT~fKguE_*NyZ_t5_N6=FVHFNyBc+ zOxz!WJ<XH#uGGT1`k3tBtBuVE!627l)*Z z$KIDm6pZbmdYBZ?SfS(mk2;L1p&+)Jl3bed!K|UVI@F9r8-FIR%`m$A@A*g>Uf7kX zEx-KNn&rE#(HHCdLbtXa(fk7Cj}UkUhW~|=6n{AFdEp8;msb0q43|u+eMbhW_x!!n zc-)A%qp_hm{@1ArQ>^W@*PEs0FUzUZ!<`m{B8%(Q=XA8hogz7{ih6QIHToChqyu=i z3$%$m|2SL82|Ab;(_K3mlX*@43adA&PDOE5M;Z0fk_Tl}nEN$NX#Uy_M$Rd=g(;UL z9t)iS_!Vr6zg-DQL@Mo4or;D>mEZ4ICxrEkeuKGgn5DI?Z*gc<`z)3nASX&tV7aHmS^6ihs zkLc0*NAxK0e}VeHnW$o=IoS;+G@lza?W5wlkRtyk;#mUW->r4?QZoL;$}+Z|iMlE4 z=~uI=3tv7f7QFh_a*YWb)7C@43&iYYzQbHYu$N z%uW^1ae169A$qg2eirTu(P2NW!7$v#(4^qPJW#LLT^nM%@2WZVN*oMBctwpe_y#EK z(Q?r~mC$7Hg!pnXm4tZgzX_LJYv#15Y$R@4$n4G9m{7V3cXWQ!UK~g*LmfC@>+dy;@H-Q_SJa|LGK>2CQYRnLQ4fvv9XvY zH+C-?OJeY2C2thZuAWYgs>>{__l(+@B}Dnj?j8n%F-j510=VK5xbAS1H@H68I%M}a zaN-ILaP-KSa75hLE{7}tIQLbEbGHcmBLg{zqvdzvZ52(G0Wk@`(abVmQ3f$79GjU< zXeOyjqbn1|=wX6|`3h3B(Ui+DjW=7_tsRz6lbVQVtskycEcz)%>z39zl$k6$miQb7 zAU@}quEZ=B0c0;%^gn@Y%Y1nyE*q$?KmwW!5;5s2o<1;F0w0}I)Itmx$~=$B%AgCA zLaCA{oJvM3YR1b26jX=l=6PnOv%gZf@~WuFA{rX4q9m4nz}QAEkvK8G1qw62VtU(x!3e)NW%< zWW#i8Yo|(~cY1Z@WkSovL{$;a^c{tcp}84P)95%2<1*O~-)9&$;Cg=h#KP*F(#{7H~I z^u7~3gQ!b61MjPu=cSR7s-1vya_O(T5p?e9xt3SaUUIWYZ|6$&P)U6oYWWIn#g`!a zUId;jw&ICCVap<%cK{Gh^D>No7&!89%bofFGKUU~xzZMl#XrYhjnm*LjR4)n?*IPy z;>ODHBn7ZrCvDkDO#=%$nX+|SpJtk^aT3);LMS(nrM#*1h`L@}*m!2ox!keSu1G|3 zXn16*X>Y(FG3sQg_-3wHTy6WLYPJ$LxY^IbRCslCpCT|TE!QGEXI#r><*Wr3b=pxL z9FoZznoSDeH|zRc4qY9|ZvM*chyC>FYrc9C99+Az2jKMLjw)$-!P!uax|qU zsEa^SDo&$v1VyqKy4@`y!-WtJR#t|^%GV7|hWkYs#D_K{9|$DhG-dM|;XhmOJ@;ZWl{j7Tn1JzO@+FM zDO%8lv$R6Qj|8BIho%7G3P*zVwr2=oB?7_-S1pZpF<>JaM}qP;|J9OtIomtgr?HtU zGwcP!rj!Rp#nez9daZs{0n7j&#UxB2B?$gkw%RmvbGI{^8xx8Yg>*U)6N(`rU^Ejc z!L?o&!Wn=|NATP5<@{D;MKS*xtO^0xWgq|k2_83#vA|Js7c}9hiJ7i~TtpuZ+j~_? z^1VaDa?UfR|H&m($Osyv5k)!&BpV0f1l55(?SAxEV#gmKc#B3fBsiF4+b}_Tx-2+V z*w_vVLJ~Vv^_A-BW6!=oiuhhAdsnb307D~OT^RHqnYO;a zN?eR|o!HC8#4{Pg5uKR);a=nQ`v0I7nFuB!+K8X?{_>T{bBtu2o7ChnZp9?XE8-rP~abuhF6LYe4 z=&CCv;D*8uW?Rt195#y2HrZy(XtD9$T4a$Is-y+lbVJ_LZAPjeGu(#cPG+Bk{ld?_c}Na%mftJ{;mLW` zv^awo3_{)Qmz-BA_7pb_f1im{y}|nZ()q98qb$zOeY6FGRb8_H0UHtO^&!A}^wl?a zU+K*kDb+Bix0^~)s?XQx)cNJo1flRh8^4590m84+8_%zf{~R&;&mo?&gM~(AULYXn zKp-Ho|BG`+*ucrc=zn^r{Y>+0WotF!kNnBrd82hb4Z-=qE4bL^djLzw<1obu#xW<5 zOta@Af+@<&1Hu9NrO5Sfr@JS)+X0!IAIFOVuSHlt+vlQYe0*HnUsjcqo@j&0kvZ98ci+jf&3+uE^h?cn4$&egd-W2`@5u8TG1eCPVS z&*M*&`}}!wzkQOu^|?1Mxb+hJ(fzhF`6SrYe)oKc{dJ0Y*_}M&1vlz%dA>7lZF;`l z1J8!1_4q#zr`|c`d%Zs%a^>@T{5~FD??^ZdbJ&eDAUclT1h zVwdXAiPHC{X@=HWcfBsZm($5Rq7RR+(VVw4b4EQuFz6&4yVv{i^j=)Q2mC%?%Z{I~ zlWUjP?e+e45Uu=S!t@F&pF-e z?dJ7(RGaVnd3gT@JUL7EfBWb>lGpcnKffFM;zx;M<#SYdP?3 zVXdCe)A_^Me5Lv4Mfg!|)8W>~!Tr6r+}T-a@1jYs_iO3=xO!>nR*zT7^k$dIn!neB zj>^Z^3%(w3+JD^NFS6<%xlil&dOp0h3U<8&*riKZ-CX$#r+B~a-Zyr}%Rdo)p5LE< zhM$P^Uw-v=^yU-!HRt=eKFt<(>R&!x@eA<#xV)b4r00KmSOwpdYJ0dq@3)+#{vDqO zN9v{Kf3xiF&!@L~jgYdAovB~X-GzIGr}KQ7BJK5tiuC+H&(Dsw_&&8Ny>Bj1SH zULOy7`Me)QqIrBj&lidEd(G_it)qJHTzkAfhL7wAHM^b)i+#~Uy6$ErV1N5MeeAU6 zZ!A;QZoa)0wr;$Q{&r^ZkIWQ&+1*J8AGtque(c={`uq5t_4b&aogJB-#eYU0JH1{J z)wjA|<`90~UYb9>8NE8^eSF+c&o8>9;(g}U2po>5+i!v&%+Elu?j&m`{UC`?mlwsk z_*bQehorR16t)((2glQSnn~kH+noEGc3Izf*f-y(`l|McSAbxt>FO@{-R13a6iW9b zr8Q-)JVz-H;JT_TRa$IM_MOTn1#&Hu(YK0^e|#RY@PsOMAzp_=kwRk zRZx}8V(=c`2~_vKo%WYL5#|zZeFD?5Mbd+3q(04NJqXpEWz>n{#k~1SY?m%6CZ~*b zcU^70_}NN)^BN?V9w8#7_1-&KaF=EjOkj>mWXta<>VDwTtv;%D9S>6u)=cl>2zC{xZs|VtiFjJddf_T_4FfYa4aF^)8nZvR*fTHzDQ(;I1w$RpIH%yhaQy^R(i= zP!fu=>dNT+O{~#QyWU>6jaGaMg|=G52tlajSL;p_vI4U8V)-A2TuWt3IL2t)X=Q0G zv@Pw(U!0V02AdrlVcs34ypx&;f4lFh zT=YxN+1ZF-8O%Ub&52TI>RzIYcc_A*Icj9cu|XXJI_Q2Dr5gw$rsEbI%!vQ{cKD%H zY)NB~J#>1ZZ}$8)a2RI6Oc8d`r?VhLHie%wt=)BGvLa^-UER@Z^ll2AGfxQ(s$n)5YJG+i!Kb#NK~N+VAB)Jw@J?+2b!-!rZuldStFvAC{rq;DCWIC-2m z9Q5A~U^%q}SL&i}F!XHW!AvU;u5hAfr40|O`O|9?lH=-j%5;v4l$TsmGD-lBq)8bu zya(N|wXX5fUl=QO#4>PXmh*<-;oZLQxLB0Cu@H!}pG>O7H$ri>cvhAjq@I#fBs?hP z`4f+<&+W&5N1j*5-UJhr&?Sm^;cMx0cZ>OaIGM_&rc7FBZbL{12g{RmE$$}W$f;97 znoX?lJ;J&J#(gD zp_ueNRxzRGl|5)StBTV0y5vZgij$yHyJMd{*Ps1?s|RphGSK!jS{<}f}@Pq&cnk*R*{ zP3zZHe1}RB)X=)71D*d-<1+5F|#k_94fxIrWP>_A3zm0D8{ z6Aq*56*ct4^4Ec2v^>5t9;<)<;ThL%$4|9EBzx+bnKVzeEd2`YAW_YZkM61T^twNT zY}(`_jo`UD>&QY%gY#ZesB!G2LUH;&qw!KtfF;4pTNq2HRXOz?910H^P((5>%QoTL zV3b0q)h=pB0#NXaX<&WJ+Kb|*#LbFAp;=PqhTYUOBo4VF`9Qj0sUSNKoUyIN8a&Y&K^1|fd$MO$num* zw#CYhk(5R~bP9Hz-?DH`QGSfXaF(zhzXB1^T+wUQn3mg3$bi<}zDu37MN6G?){@)g zpgtn>RKy)lRN7E*ba7I3*25ad@Uyj7j7>VC?wl7Hx^>>N)J)% zjkph%YX8RXYW98DzMIhzRuf>e6RZ#iH>{(WWz( zIf$cQWPb_qQq!rTPG%3MAnA5qbCN2!^;-=`UvAY|{@jiCYynwGoYnJJd2>Y4`t}$@ zx!L9nv;Ct47&3ASpM+5ZInv5(AuGygR>vE(?>nq9_fum@!N0G@k!w6sp{ai5QQx?w zcB?g)Z+Azn$%q5Oh*X1W3OYhuviY{(hBh|@KNn8^PRcuvbZACR8!_FgXP;ia6KxQH4kJMGw@0lXacLZRD zz#rjR1tt39^nzg)x_MEV++#B@aPtLSxz{W{xMDOSIKLhP<>RA|T%*_PEs+1Z91uQJ z91~a>c$pE>5A&hAP&XAMaU(sa1KsUjMPG#~T4HnExcwMA)gSgK4pLo;-~rCB1jDY) zd_*w((a=Ho$?4Hwi}WMR!{88{EwRnVCOOc6H4gi%YPB`X>zQ`}-uZySMAiW^m@nwS znqxhQW!u`D^pi|tNLrN==pmA$rw@hz1z~57*pYcHum9%jx})NZXwtFnsjWV9e{0;O zT^xl}khId^-R^vdD2>+K1ti}j4i%N@t1jD*B^4?~;nal$A&1^Tv zRrAs+$YSa3)$!Z zKg5PgXy0|bl9YQx*!0Azzp~eQwe=cZyYz7H;r~27?tAs!mQq<9{(38zg>&BXg_iSU zFZ}F%daL>|`YDAGzDVEo{b?@@p-ioFj_G6Y5Np|^7j+BCWbzESwT>5s1Is7?rxV7# zs#H!r`il@>Ev^9L0Zhn%H*=-#O{E8bg1kpdjJKy{;t2VB`<%;@8v;Pi0XIp zH(QoojX9o{2D(7BshI&T(8g-=acm^uUrCcVR+wg8|EoYa25QHDLWuooR@-ZRBRnQ< zOuNr?lXQvBs61ThD4~@Bs$Uz7@^>PqG zGfPcCTHo~ld5C$CsQ*N{Hn!*QN0X&KE5H8qOqo@wc3(fqSdVu<-ATt5)t{?Z?6U#ADIr@h>V(@>!}WVLLR~iAx@L3ZD`ai_75KvTgzG-2d8eHjf4#D! ztF2ihkVvOJfXl&6xcF;L)EG`*tWvpaXy#CK(XMDoNKBb)_Ky{w=#=O~QFWr45W4$5 zQA|?N&KDe|Way)^)h1i;4~#_JD)P5ypm577f}VuC8`B7rA34W1np*BGt5k*^b11yo zeuCd|f1E*zUP&Jx3)nR_wwHE}@N^LvSOcln-z%_FF7r4R5R!N<#v{kG4nUBQW4k9H zF)pUVq0^&9cEuH&p4vWf7ULRn)se5z zpM+2Kua;*{GEE$DoTXX}lQ(mGyTbEMa?qyU*(x{~VJ@~T!A$vlBrHop6nYp9|3uNE zKIkvS5jHBDFhLCk77mxlHnT#T29?{zu=WRVpq5bAEk{FcS%3&$@h1g_d9#*=?PrT$ z%{I3Y`m+x|JaeF{X+4>{6PgnBMb(xSopqzNNyGatSL}x+AHsTVmD|5y5 zev`$YSJJUewR}N52y#MBAua==6e(Fp=%s3&wvWy;pk06zv-ZwDxf?_DW@R9sg7nmg zvpaHC(rTN{m@g{e*~vTcR3e@dt=1tZTrwmvC|{c{pkUUpDsE=2zKs?J+OM~GHJ}eA zLs3>O<{1{Q;spFWmz23WCjvWIFBAjtF)Ly z(!ZMug7f+U%%;YxI@!}@Q_5U_Q`c%Cm7bIDix0`C{JRr|FS5W(B~fZY6~;G>tc>`N zpI^tEKp!A}$VmiwBNiz5Yf8Cm&N-)2z^5h(SQ4D~7;e%3uU3%c@hk5?m~Mf?9jwaH zy&6LZFEL@a_;?&v5}q-VntA;cB_v^SDdMCeA1n3c*P^WomzjP;I=i1j;+Z}`HO4uH4neaoUh`NYw<~hx{Ky+XKO4nlw;NBZ z;Vz>6kg0Coj&2Mi7`Y~>Pl&uP0@mN3uGA7MZ#+_Q?QTwXN3-h=ks!<^9w`^2rUUX& zaLQ`_U?MkrI1DITjULxmLyz;W!7(xkme!m z7PsM|{UHF9>=A1|fpyzTOnJtf5y%i@y}30sP=FPndSp)WnMr-ti_u;U_j~pe*XkFR z+j{CDbK-{=3hITaxvaZN#_)2{`$A@wZ1L;lVZTli<&~3Q6vIhs;5x7dJua5C?2sLL z1hk<=5yIw8Wk{(cWKw$t!!R2#->uG?v{RO7{bL@#f^*x|z~HJ^E`P2{Oqf&8k^Vkh zE3rUv1YfEgwQRH*M8Vl%EDQ1D5DInSn}Bcc*X1X_fc`hG(ciZ=V;m0V>bzl*tKaaN znQ0xeG*GvHct zd3@6P7Kf;N_DW@xX2r8`Z z^vX{zru`toK&sAGJX;OrSja`M`C(Zh4;|0aI&NEj$;)8rJmPvEXK7{!Aqc;`LP;&g z><9Qg$vE6r8V^;rkU&pWVMZ%O)M@DO9-GClKuJdPd1+;euZI$`3J#mzjGAn5AUfQXK#i~#Aq&8 z?p;u#+lr)G9UgG>p@GbPOhiTYbA)y{MFU@c8NKt$9FP0*b3bsFWr(YXI2^e&!2j2m+LLs_1XFXXK+W)kw`x%lsWpvdQ7DlglC^pcMxt?RYhQ1(@CouiSSM+t z+m0<5V-i+Nb}5BQA{_+?k7T%D*&!LHM+DyQsk+rnmQ_pK0MbEAF$QXfZ)3a7jl)#D zkI(~;^Cq;8YcUiAzCo1uPiVv4M8hEG`B`$+Z$=~ntR4XuDP3RW!!t>L_gxo!xqa=n z%SIXHr~yV3HZ2ml0l2o64#13$dzMvB2}3|D$gq(n`F}*&pIZW_Pl!AEe~6xr{s*tpa=lh4aMehwj(>!aE)&8D z9`PQtu21$}HHxuG3tMR=VVastK$a*xGd`~zuXD-A!rk_;cd-hE==+rWi!PgZ7e%H^ zzL_J0z-L1OsQdX3DBVyN&SVzpKmn0y*Z7AeTMd9q-XAA(j2^RC2(lZ*dZ%A_6u+Y{t(NnKIz4Z0hrOt}7UFKI1u9 zd71YS2mT~XuHGZJ`a4GU3-j4oj$<^*RX=Is1&`)B8sYnp*kcKlR7)j^_o?yQejxe4 zO5Cr0LQQ|_zSahJxChSbqUP`B&bIABiq~!P^5lHWran;;t04Qt_O3(90uRKg^C2E zybYq+Nvfdq2Q_j6(`dBm46_C`_FOanWl)Zpb2a6J=G&9Eax_U`;%zIWVL`~qr)^D* zh()eBXV|p21(@zTw2^wg`pvv8P4en<*!xkXl;S=T6j4D|G$tZt(69Ef#h4^Ex;~VL z)@&AJi^JYdikb&evWj3u^g?6GHXxE^?5% zvRwoi`SFp%a)mgKn>0%G%xYMt*i;e+TXTP5>DPo2^lz6k-}g+-+~YH)qKz__83uCd z^i%TM1eogl?-ocOh$P4|Q0?{I;kj-?70E=XUs6i0nIEIW+jy`g7)_f3Mby$MY%;nQ z2y;UAa*F?ccfv>CRh2P5TeZci0?ie$o1xv80nSg*m@GxSLz|F06HyUDR;@RULYC=R z+~z1R#$yja(k0QKfBjyk#Q#vMdl=X3H$2PQ*%-K``A7b&8E`f`e9t!M*B(iNGkK?O z2c0nDQ7A3YZ2MyEbqGX@$ldz_<9T_@l||sKg|NCa3##~kJJ`t!$f6?YfMtVn<`PFbbSh@;i#$c)Q zQDW;f^1RPfYTF1yVRfL~6OXGlrq}eKLH`cUhtb4S2AK^r7tzd!=6qv9f&F(iJ$y9R z4qfg_S@zEsnHo)%kXAL7JHNO{Z98GYW_Ykp4lcHxnp%ns3)bb9Fcs|qrutZ@<1!Mj zDn!p2^>*e!3zpKhMJij)3cp%HbiL@ZzSFfMqp9jsZB9R@>|rzfr|581w53j!(KF{N zvg1bnpBJCR=!Y$@i7|XJ@FBnW^?z>3#=#V0e&vIh&*cRzGW2wuRqVOl z>qpAVer!Kyx=`L{QQj3r{EN1=Pvw}}Mxb5boc9M50xd#F&+(#rQr*&_8()FN(A7U! z&^klCg5qn)tzBgRuskg6Iil*hkMVvb9hIH0mD-DnFn@@6XIONaLsK~Rt`a}Y-47lN zS0s8UGM~VXtyCxx2;7diwNyr9k?9$@qOL+zsZ699D@2)Tb0npZH2!A>u-HJf&DSC!q z5`cM1EkD_||DoJCT%$i})i^QI4b5Pt+_Aqe@Fy{MM#E23`2gHVf!~i$&dt!{_&Q4B z5`HO0aq-|}(~pT}ag0(8l)w6})eCtyka&fV)(c494ddY(dqiT`%GaR?skq4YB?cD{ znyctw9$mc*N~wl{gi0LgPM46n_UD?PHp)a21$ge{33A0r@ufQP^7tJ92nW6HoN*bP zyb~<{aAno)wc?&^VrJ(9%bq5fvvL;{e~Gt&d8_uJ`&%&~;h67Rc9Z0-T>~eKFw#)B zd%x%G0K_KPvJp6N&$A1@NY~CmPfwu8da@ITLNlsX^L#Iv z+IMfha?Bg4y!cIxUYjp#LiN1uPxVQ>1D2Uxf@m$)o#evFVtpN%ZI_bC%akQSujHYQZG1X(MRG<0TK505`|pDQk{C1J2oCHVmZuV*@>egq5LX0PqQz_gUhz(;Zh&Z*Fo|qm_|9C~G}R zBPpLxe3jUqA*grBv(K^rw>3p(h{=!epLq-g{MCiJ)a5`T-aA*=6Ek-JbN0vgJ7>4l zm0r8i31_xhYP6OE=_3Je`9eBa@ic` z+VFijf4Rm(#GnrqgDL9$t*}R!^Fa@hm(ng}5My2iNMOsz8gW8XdP9H}XSB=#RVmbt zWg4m#-p`+<4!TuDad2B5*ZR6x0-FpzB>LhA=|dzd$8CBcs+LzA?~An#L4$g=c5nw^N5zOK>BV$@;Xk3=p4^fkrlvpvuwrv#Ljb03+<( z@%qu@`5UU-ej+A{UZH)S?60EolHFO800cS~+y+ZX$kx_%b&CFh^i2qA;FIRs(VROc zOq@eZTjuh#T_Dl2#9K#ARx%X}ik2M$v^cNEtMPnBOYH8#b96yS`+F*;e8zk22vHvw z`@gW~4nRD{k^6eY1}*+;ghha1-r5MdIKtuWUCO^C1W7RQJ+$j&JH=6h7Jn*?2kVg- z^3`9p+9pHhV^2W)0gmLg4}{G`3mo$-0Q4+O-+#|sArY8KXrY{fpi5TpWGL2nc$3A6 z700E}RU>))VEsSdROZO|r2lr;eHkisUxv{)^bpqnLg8}Z{R6<2cqJw+e;>N-Yos_*on!P=c|Oc6hBtuY-1TVrXMWwm zq)?r}%SQ~|LPgPXkHC7!dq2$~%tqOxX&s5gLJlkuOHXL85At=nx<4uG%zvNnZuQum ze;Sjb;I6UisK`vR_Ni)`x2hqdQ0+qs-+&}0svc}W;Lk0QL;p#~J7Us8|D~jGR=Na; zH>FtHsWoNlFt?f>?;TGwF9Akwow-xTji_^1yCss`UNm1$C#o=?m z;J-1pTS{~NqOZ8E#UzRrl`-ip~k)99x-JsJAjKgMe`|CAUor%(W zPs0Z$m!w0&`LLVUNZ|$zT7bYEOe}NuQ8?Y>bq(~oS}yI(pXEDaIfxFv&^i`y0*69q z(A*~FLr;D$!9%wSsOim!ag@-ct~4Q)t%O{7AIH%qJFDyXT-db zi#IJMCYR$e2aJ(UxO7nZZ$7==p!vUTU%nPjl*JkU)l$}%@;Xh?SN+=nLxf4Ss&mHR zQjihBz+8q3R?z01^J$>vMxfW1g#FqVEBqx~CB>Tny*G8tm+VjU{~%7go9H{E<3qs9{Oo^}?5kFuM>iQ8~e2Za_~$SZe_B!75E z;(mHU^0haOa_cMAz2(-S%9x~5dgE{Gu}EMu79OKhoys~Tkw8Tzt58EM;*|d|DRL>` z+C3)};0Ox-Cr_x5T#RQE128L{vZBIS(^mP%VT@ZvAB2OGZUU)R$Z8PMI338tyju(- zw^Ce2b_ld7$})cLoXpUb$L!aG+vLS*PpJyj@k+VI@W`lpHVn;hNEXz)P1 zrGJUCN#g*cx8sv?&a<;hH!nzYq*Q`a6VhYtg&j9Wdbgf+-slJiEaRrs*a!`^nrmB_ zD%9|obr&m$m>7AdA#_r$S205F`9HYIEZ9+tX?C4|@F!8h+%SmlY z_8lirzv+OqRG6@UBbUQeDGU7=KJ;HRT2Z$C8_*-%z)TaIt_v7RQ`v;68n9IPzX zu1I_@h~6DcXwnh7l#W>KH#(EFa<53O9t&N7wn`QO>0UX8?6s1SN7|~@w6?jVoS-Hh zQzUAcJsi?3%&o3@=2TQNW$4p6f+&_o>IAT=4%Gv~1u9;UdonaZ_FFeJImQED*dD3> z%TX}GJ6KH%!`Jc^1%mB5`%;McS99ZjLrcqwRqOIvT^hvT=Lq6iX9sdYkhg-NRazbI zc0tKQge%-@Os-P3=Pr@RxzQGoV?XS#sC*CYwk??_qMg)#7NL%ZploXjIsy z%E~{?9~7+LDaD+&{wW@7M}UHci?&w=`=zSqF=-STwvYbIu(nU%5W;>hGBwv*IQY+N z0=?4lq>i8L@;znVDb3BLmqZ4_J;mmxLlmoBmft<-Je25?EXxyRQ=MWyW$3|%g; zkdkPsr5nIJUU$}oAGr{H)0E-FNUt zWT5!iM7+I^MMqttdl~=5QszG#jg8^UfOjlF5hF-mO+wo(h8#RG8xb=BvY^8s)nfz0m~pL^rNZ1k|G&g_+S3CYPx79Rkr6@8NFH7Y5BN!KOjal5*H7U@%%p6^V);&`4=pCp{)@bbz_Vys zIKWfX--A5?c#hYgryMkkVjs!g{$}_Hh8CC@&uw4=h`8NpW?P%)`zqpFHiDn&@T9n= zewU}pyGlLTl{_?}B!lr758}dd#Z>E5XbSBbE+e^ zThb~OPWr{(J79S0^bH2;%x;2e=Vq`ie&_YUgN~cd(&7^L_Vm&RIVjUJOw&s;iCYyO zlA2d8`m*24Ff^G(#zV2z{hnbQ2PnKkxV2NDjapOwLmpU9Sws5o!cJ98X+UL<>nUq~e0zMmRN5 z41BE7SSH3=Ks9y+=A3X3gPHZbLR_D0yGl}Jo-QbZn>35wr-FqNdNwmmJ<~2)?C%l`!xSYWqxM& z1pUKlnurZAjk8AO?crXm=F(={4JDuo=g#dOnx|bJDZw);2QRok3k9Q^$@-rE1pkeVqRuvd%51}}s2rO|OtEwSur0zfY83S@#fSJX*M>UF zvuK-<;2UE=9^PDorb%*JTm05+2o~QvQMo3AXWn~W<~fwF?&qfo3nQhEH4x+^)le7| zB5F3L_3`z;O$NsDb9eV7u0_zd-Aa=Q{)lO6>w31B=2m^iH`R}Dv1|=FVlDpgZg>E9 zME|~#C`X2)lM&wH7HS%jd}ELBzDpF2?$LPF5o@~2F}8T}k~^vRM+T-B${rmaaF>ZY zvwSF71$A<9lr5LXq0qBw0G;3{X|EWRIWx>}Uob}@<{}#&uz#ZCU_ZO9WqF&XQ0vx! zUMX$YevYi6%*6vj8<)S6oYHr(e2REuk|8hxOAeq;O%`8mx4JJW+B)7TMllf=iX_(K;cz3^d9UA~?;FZAO6N29CT zS;=tk%?9pty1B#;D`)Yz$%2Sv3-LHR{pY_Rs%;0(CDbu44xzt>n&}?WSh`K;Zn6;U zqGdlt-mAVOMIgD&J(N}rp1gbx-MoA(|83_GOwKlfzz>?3?p4kI_U+en)^=lLTh`8F z7Xpb@N3ImZ@}4wM1crb5_TbBt)ClLVc(@?eMk1#a>ZVOawJyoyB`y4;uE&b(7&|PT zA1%@ZRrI46-2&|k-YFnl_FG2^emw2yOfQVA*aHX1n2f2$HCk1oHic?Iwf#~PI#pae2@Ldsr^`gqGzg*9;3}qEJjsDUNbJ-PK zQzSd5xI=bK9DJ3kqh1pUF08uKpmrc{_T08JS?LXc@r~%rJS9q%fmO_~U zJ0%di^vo1*Lp8OH7%ZV@psvL3UNwvJJ0JMn&4%CU3rn*MlTDC#y!->zNO2>WlYgzD z58fkWpX+if(T21=77N%7kaman)!eWQV@v zm?Wds&3PCFHSRZG{W zRB{PQpiWp65zx}$!brb`$hZkgIwJ%!j+PeoUJPJq65Od)?h9k+Xb@0UybN88mAC|} z8J-MraTJoWu1{kBat-5@Ko)VT@^&;{J1wQ03oEf*IPk1z$BAldcMQ>=Vz>C(_<>9*VA&EM+s>qPhP`7BfyS2wt#M6vJKn&;w`I| zE6~>Yk9m%fMx-$!{C;qDN2;ImA$2;w+n^|RJ5DqaeI|Zr{#4K%=lzjH$j@l>&PNOe zv$(s1SxrBzv!DHaFHGFSH-7H?tg>-IGH5QuL}oqhNRfIh!ozPQ*+3eGbXc1a^!TtV zzlFoo^Mll;SWmaK9~PU;YLb_ZZCA>>h=<2RVHd2^mkdSi)p2*W^)}KxSlHAQKfi2c z?wYoo^X2GR)DrVu2KVfp{g~gk`U$gYc)1jX#fBkc$oH)%nty0p-CHmL#x$xn4O&Z>JT8dKyb-4h><&f zlYBh1T!Qw@OCEr-bb|MAIyYh|E&M`iJ1=BLl-4Z39~BD}PrTIjQpw5aLVNX?@Ev$& zC9NGNmfQe(9Qn&8w#~8crC#BDKWMEk1?-mryw`iBV-($qoBw$juENBNR@iGQxM|b7isl$8raRbN2T8J9_ zB9Yx6^NWErA(s$RvaOwK#;87}*yXf#lM+)54sP)5Akk*?qceE7&faHf!tMPH(L8ee zI$Vw)IC#cUQ?kx%bQMGb%oe@9etx4~IBofZZR#r~5?K3Ai?1$Cyhk@HHIEU)@Mc-@ zs)9uZ(Zhudes0x0?sjbT$B6(UV{L7=2-o$^WBz&#g1N|u1-Ai=-7c8?#!z9W*vH)^ zK0on$#mro|^yz;6Z#uqqqm#(tMT9rFD8D1x{onMPCO&Uwx84UNhzR6cKld+*?(?to z1l~dBjGxc%?$eum;Fp8s@UQ;lM>yx(!&hN7-{;0P$v$Efco{g$KiU1n_el>P~-HTYde{<38T=V;hh6<|&rGO!~QZi7_3?05tE%}WXCqv2R z-2chF0T$YHHH@?hl?tqtn(BGGUq00D|4#ME@A$gao_z55PLw7{@HWzW)_E}rdfa~7 zed%96tGu}AZ+o5Zzu4L&$YHFtn^w<$SP$O2xE*-C-L?VyHLrf&Jo=@WFLMgoFI{cg zgO<~`+Gad@hvi-Oz>DvQe9o@k-K#ZM0-L>ywT$ZOt(BaYm#33fdpPrx_G#%Epxn$( z4O_eAWp##g&P!|l>&43@^{uzfq34&^DPNtB^O~C0%S$&P@tO9M+q>a`nxJltU5lOX z0Yk0erjG_=Era^yycc+rat*1`KKRX(bL8RdBIzi-%W+_JoiX2K{Gxm7?a8mR`vuhB zUn-yfn0|Qs@o)(04?me*5B_*wojrM(CA8b>y}vyjIDK5QRr~aA-K;xY7VJDgveRYI z-#ZUKpmOha9Cy$D@2O?k2|RDst*hUi-M)U-x-LIHIX2|k*aNa#s=aFIjactaru!I& zjo7#y^JN!wA3oA=w?8@>K4Qf?h#%hDJwG`9;PSsQ^5Y>S%I$2#zFb{B*}3uXaT{B8 zxAS{7e|o<;*_o(b8skLkUbR5t>QEC^w=cQQtySxF*u8kzU$~e&b$WO69X+kt1krC* zZ*-pZR&%J+je)8-h?ZN&F6bG0>Kz5D1Z!Hyt98MPbC0D$gnXV2PzxWsmk%Gz?i}m2 z`93hWADMv~65Af1U*3Wn2Z5=J?Kehwclq~ebJ446q*?h-X`PKvenmSJWF0}GczMvv zXxEjlKUAk4*4rXtddENi6VA5q8~`-iTHtVwb%AeN40F+*DCftFwO!QXzMA+$Ahw89L=4 zgO>S@pR0+(7hY0m`iRxVDFp>M_;W5gI;dBlzE5~;)qTjmMnEV(FT{qb`>2P@swtVSS)NK@ z3oyj>Xn2_JR8KedC9U(^^<=BgfK#BbrCCSBJrlIkNyP?i+AoGAA!XL%xW$LTzoQ2< zmRsl=0Uja-xCE^DG8<{YXx<1@L(hgY@3>JC=$M)O83eIh zn)$k-SKO{W{N!+>&xrm#Dm-l0ph7o4sAlJox7MTJU2uj)vj@|*y@D$cAZ$??P3O#c zS=fGhL=}$G{`$x&*)KTALWUmD)KRj`6Ed?=6g?N%N~vAHUlhr*V`duchqtQ{3gXZk zBuQjgl7{ml8iwW}+mUa}a3+|jXu^D<3~~iVte)q9^$cbj3Msh1MI9qt?{}Sb!xr$% z*kct4{2$WpAxe-aN)vF}wr$(CZQHhO+qP{Rm9|}J+nHUx=sBn7%xt=Mv5H0L#UD5B zce_^kasBnq64A7((V(KMu%y9~av=(E$)H_Za<782(Q8~Sq9H&cD3d9lXd?lUqg4oI z)!y!gO+@3QG;Z9D`?wgzNQIL_eFZ?=P&ztx(S-p0!Y9delS2)w>t4HG^>YJ)7$`0V z@FC(t+S;O%z!bziGWy$yn;)oCrtS=C8JviTNB+3DF#<8ALA=6}s;L_wVh9gceGr>n z=u&=x{rNm_4mq7MSF+3IDi&=Gje|7s6aC{T{%1jg6ML4YvChpd?X#Arx-0Ff7m18& z7LTs&A*xC{ia<7G*G0@`^c0k2*ZXKm%Ws%!Ha?%MllYIk%7!bcyxHQRlud0l9?!<0Q{Q)7Epk&%?U+oj5r{bQFR0GisnK=y13($&S z9tLuO#xg>7851-VQ`xYpheB0i-ZvX315Id+#>mpkp<3cD+cTR&lvv-2ilsL!l2NM~ z5%%5crfO#D#SIUjp-CW@s))46u1tXkYc-ue2mjT)JRdl_mJtP1&9^YNIV-}Z1U_XQ z2@@86P-}SzqEiUd^WYeZRgm1tiFBzjC>~iDY+_OS5HA6bwbv7kH?A zT;_Y^v$B7k`;S^{UobO374|ffdZ`>Mzo`5{^o-?-8K!vKNTcjU!g-Jw_gM#nI`$+B ztc0<4Xe0uWE~>+&4v5r+#kvZ!;Yyte`J?~j#ftRp3|pw!D##VPk-UFi{=Nzt|3hMQOt4=?f1by81a|LVV5!yMt*a*J z1p|=7vqB?*oWwYD$6HfHeDZ@ce?3ziy4V^ zDn=$gbJde`_O)lZ+gh#3SYf3=^b<9!j1q&t=8_TaBEIumayC z$r8FuYH3VXIkAI?piDC=f}R|U=_ima_Yj&&z90*fnjB0bX*8t`Z@$KSGv<%ud@S$Md-7Xc#)~}qJY6jTP!u;4hTr0uAR{; zhf%}wD5o^)20VK~H`G&Wq@PGTf{Mmw7ids8mDpu&N*JK*3$as7V2J6aj{Hp=y@yMu?)8La3yIRuC`ZRnmH1rxFU{hbmGamlV#+X(din$=np%B+RXH zSO^4bR%;E6d$h&YU9qahQ}F1{HDdazf|NwW(1Imvh&WoQ?1U0c=(LHmdKQeKU{zH& z^X3pjqP7aJ78CGtb9((00C$DEfwDG%+e?EplT~t%6x&cQTR@Xp8OXUYSLrFRn_V)E zF6T0-wd58UV2FgWO%M_1l9&edLV-eF6F67-3L!v$RM_gf0HK0?l$S3a@)f{a|k zoWp}h(0hs?uUPWoQL^wxCb^ZLGqos*L@N&9wH5{{B}<7V02&d#>tPQhi0p6_Uts^Ou4U1RU7Co;1r zD8ey7lQ3i|mOUl|whMBsSvEvLzIYO2#rYoUtQTKG&)HCmGlI!jYcynKG~AQU#>wp* zeEB&3@|NE#rMnbt=tY>OWrz7U*YrxP=Ft`JP$UW@6KzCb$L*Lzb~O>ss-=-oOs83L zQ&h0HS(RNIRwp3*F^MCIo@=tuC;l25O!jwR@I5cECxbT()bGsL_`2wN@8BjNo0*l~ zyV~BywK#plf7`(KWhYve&wmxS^YCPweWqN>o!0+1bMC{}ctiRrrC@iFmHAH6p3u3o zrB^65vE_oeQnn1A#FzZCR^GU_(HZxghJbBpjbKpHy9sW)0yJzM{P}3et}kmWvn7;o z!UYk##WN&SMxSd7P(h?Iao09sXE9F0vUm|TIsU@_dx=I5Dk#rtFR6JB2L*UKKw-9|dJ%K1E~xo9?XvTzCeP>7U$3odN5b#SSB zlS>-{ZLd|nRQ;RCIc$meIV{cgBDI>T7olP)d)rcb!g?xSWhyem5zS(@K>uPjY;NhA z314?L5^b-dHhSrr&$eXyVjov#3mxddlv9?mb5<8q`M<+L{O4Q+rn=W9JZF`cv)27@ z3!mPE<)>5lQW5MDzwT1HWq6eBwB@zHaf?Yoju>&~k`;}UR=&aCr@zMSOUJ(;$?+vu zclgRD&$KPDPl}-^G9O&N5U_>K_L@U~P0FACp|<%NPn5|mQ2#a{21@w4p_4BLhf2)D z$3T$DX25P-!zL%CC`pG)=wl6)@<~G`bNTD#iiX0BUjX68mDYWiEh(hCTTu?#HJ?zsIw*H=wq)viAFROY-5pci{E7r~iG~|9nnw=MVn>7e6`wC%N*! z=DPj&xN7`ZYpnav=v4VVNI_{~(>Z^8bl+&eeDPkv4>O1hf<`;0;N$Gn|+B zFQhZ8)Xj{$Wu@h}@3Lh>;2+ZYVR(vzpYQE7v->r7H{c6U*Qu-X!0KI6Z)LNik+$n+ z5}LHy0MpO#sM3@oom_+lnr*P5qSI_mXYyvjl^R&Zu9X4}?fuS&^9&CUe|8Ge1nNeP zAdXd9Ymv57N1a&A!VxYus~Ak`r1F^a<0b*nUJC(Ia6p1mG4O+~)jBXHDxD&Zy|Hwn zJ_f~#T1sVOI;cct*Crc}NQEl$<)o+}tY;;RS36kEoOZ5M4X7#G&ns2S12%~h&+ag& z>=>CgH90E6Seah$|pTnxA=#^AbQc`{WT&u zG-q(#GRy8P1;>9d=b&@!{k;Bb@XyCL#ob&d;ydaJ@westKbRAD0pe>U^aF02Nra$61cAO$LxzTu}p93$uIAFlAy>NTPh@RG&Zqvp zzFqcA+r9bY>yK-vofZEK|HpHCDgV^!GfjPzwSN|Udv(o&_wn_yWg=}=5$9AD|K-h^ z*J-1=9bT1@=TgJbC^i|;EUyn{+V0=(r3N$IbX8>=d-ra!Q6l}dchs%A`iCf1jU1aM zP`}Mgxa?C^-4tuGE^^ zQ+rL?&mY>_?}dgn{J9Ujp5)zy|AMtxT!%bxIee-sD=Uspp04i zoF8VMKf(xWrO;Kof1?k(GyrzII%m>2wbS+@Ve1t2~@ z1ClO24fd~0IPl{3nqQYpcFiT>BW12_9O#4hX+LX@8jdItU4!D#A1Z>S;JL&ZP?s7p z7BFHQ_9YSHcnU%PdFkVU(Eh6M)J?0||&R7Wg-05?qu(L7Za5oJPxmGbV}XKp5;CZzTb~V*#*a9p{pI(6NTS zVv7yIB^1wkA=EDnk)E9lkOn0_biv{Qb)YOI1P%BD8w~){ck^btp6hq6cqK)`P$$}FXi|+cq1saYn+G6W z1thB*x@?U+r~699w#@gLI7r4Q9;Q8CFOjWB{fQMN(9s#Rs~au zDDkggz+Ahe3qudgnOj1`naKl$jEDh@A`xw^xp41cQ?U;$I61^Q7!Y>ifiZtZ-4`zD zzd26Z@M`Ch*NGk4EWu&_55pyQK2?8Hv4$L(%)d=P@NaU56!pA{P9up?LT17yKGD@*@;J#D6KbzUK6~}0(4#iMI>;SAIbWGi$?jYe z>350OP7tXjrYpAIqJ_yLwHw91P>JDXE2hhpjkPkh#UPXKixCq~2RS21bxo0Ed6c8zgw%DOAhLp!`LhW;s+t-LMYmt4mL|vdMWuIslp$OnE z(lIqm#_N`?y6a-zPoNV&oCDD(KdHon)XwgzX6n3NrPJA8Z^vtJUa5SvRr&D0Th=VS z(?8Jv{jEpLu~LJV0RUjo5&%H#f3tM_H(YZjS34eOJhSZfn;NMvv3HBq42Rk2q)N0^ z2ZvmeG?QuzhX$=>JBc$v5>_(ShUTUJ_OmB(#Uy##7BE=1#*mV$y6Nx@clQ>h>s9}U z`S){W;5Yo>;IZBRJN?wZ|JDBEbVc6Y|Lgp^_n!>8^Leu})oy=dyXN2Xdcxn=|N8Vk z#V%j3-~V>An|yie|8eks>8;P>|9H4{{Jw=w&;Q%be%g1_|8b9B|1YDgwGZ3(eP1Jt zBfx#AW4HC|<&Q6L)9>|oeZP##`*Z(VdEQ??PqDB0WBPf$r(doOYxnxRA3fTyT-BhXj?9f8u=m_uepl=NzU1$W^Xq-Hd|kiuho#r=!twWZs*%(0!tC|F9e8#8 ze73Lg_u=aG;Pm-Ex8wVJ+^?V(C z%w!)tKllGW9k#B1o%+Mf`7gKh`Tm&8zJ#Ch!`JJ<&-MHJ*52;+8Ex|S`xWZ`{1|yW zUUawf^ZWZ=`~5r|&TOsG|9mZNX@9!qm7x9pKyP-Q(ueEo^Woz0d_Uif9xs8*({E4V zU*QolSvn1&_!7GddmK&*X=1@p(QTj5=29EDJ9C zf8VlLEsE&Z7cTpsuD!i{eXWu9dM}c_9*>^e>HECzYt>#KKJ)YZ{ds+UFZk>9`rw34m)Np5^w-DX=>A?0>OY6g@o6ufdlTOMA1iVS`S|`HkEifYGneiC?<=sJ z{y*y_)A~gxbN>h-i_ZtA?k9Zt-{7zSjki~idrbQLy`GPw@8gF9(r#9s9-oKL$M_&WmD8FvUKM9W==b?qOme;m;LYbEA-xK-Ww4ywzAD_;b-yOAn`qyo*zgL8~vE`k( z&r?et%SWHhdi|a~zC5QLbMFb|4vJ#3ycfU6hs`NrOl!$~++iqkrg>>-;JvOgj+09Y zN;=ld+?EwRS?cVr6R{^5i_PJTa_qSk%I-+z7kWlD($jP&p<*n_O`>&*BwCDTFx0_pv;2cYJ zq_2+N*lCL&9jq4(t%IzwcNu(-&&PWoZ^`>mMxJR#=R$mLrb& zVmPmsA)fhQSErUCmib~CFP0VyzF435C$h4_KDfNG8J{fMO~DO~ZYE5bVI$JJOjx-$ zD7~GH7G_>B&YHzw(Td2*bBX_)bvY2}|qnoSunCiv7O%=>0xDH0kZ0jM3=ild|^&K&0i+h$R||AY4{d zRwBuUB6cmbVCzgdPr=4E&n&T$*EByUz8ASFOiz7ew!mMBW()qc+N)+!H)%K;X>cpH z%$zBbQxsnLq|=8-89VM~o<*T0$EORQEtXcBO5b^G58mH)yF}nTxp1OGlrsX*f%av4`f@HhAfOGNYEV{0oes1WOpJaLFOBc&4pLzRev|3^#gw6SE7364anPDxI6oW+>lg@4P)ZE0c1+Y0<4(aCkz0+@# zC)U*EK_c6Sgjfri1@3MHMqKQEj;7VD(7CU)-cTY$4Bg3=VYEH#0O;L+IJS42mysdKHn!>x@?w z-+Z+yb14Zozu2azKOg1|!aJ^W`Mo9Rzy8qbRGC__{L*P5cj8*`V&{EQ6{Atc9a{c# zv%U3il^2eM7Z#SL#P#zeD};m!^+r4xQ{56*ViYZ+D`Sb=A|g5kMdzF1wCd|6eQMN5 z3XSVVfdY)(vRkqZ;Bc9#$fc1d7;yzcS!`Bz>M=rq`xBvpt=RMwk%-C2=Q&=HQbHNMvNdaDgAsrcTo}Q zRAJ|pylG^iC8dv;ADUT&;&0MP>d?}=a~f?Rry%!beq^cSlJvL~E2nxifoFmm@Eg^* zNWF^;^#p?`Y_zm$1C9)_U}@y{|JodZr<1Mj@4coz9f_w-3M<&#H@iWwrInm-0%AG3 zTkWbHqF?H*_F@D{!wgS}=wcy#E_y)(Xbcv3g0w}k3#rR!jK_S0!61ck{SwNq0)G&0WbTx`J z6Nrr#3!RwazoV`Be7~K){Jmcr$DT6t!oM4@)Md$}k~NDe^8$X;W>!Pz#jdWtWiS(V zJ!celje#rhvL~e&StzUo_su%H4*=Z%*~>pj z2Jh$gbBcNdSEdnF%QcWeS;1GBvBJa%DKm_AMJZcEN?5}}UK*O;$e~P{ok?D33*#GA zO4H)GcD;35@9uRClW(skhtJ#1uu1=%hO@kasD?5mwUnwG3^3>(X-lNo zY*VP%AxnY~)>Db(vmslU4jVxLOF8=s1Ik_k*`lb88IyzSjfF>n(n6h`8 zwL=fJSF5o_>qJQuW;Q47mH`vE@S-7vGp%|=;Di}JSBgaP3;9 zZ9xeJ&%6o!B`&OwmE2I@y}eOMF+&}0v=Q00+@zNr6Ux+WErQ|&txKoR(+gV5kMJcS zsn-Gs1j$}NS`ehbR0f#>K`&hzX_q4)(O)2oURFe0m-|i2ai8tb(~*Po`;La=k6>U zoAIp_EcM)zaH~yA47_EGBnK7d`*}xkj{Msf=HPp`@54+ptbFUJeoj~S`8_`Go5zpm z6aMt^>HcAV%3b;Wf;Tc|eQ9#DA> zylCNCOWVKhr%!+iX~xhsT4RifE_rk{WLLtph-C;5cD$ik&^S;}w;>gCihranfDYP0wC1blAFstAXgr9M zz*Yjk^nw(@=xvl2=?O(xs`tDuICbsVyX9m%t%cb$04964pK3suEV30?mq zb%``b54wTKL^sh@R7;}ib|no`H0>P+niEGswet6p!8qq1kD@JnJBisk-A1eYiYwx4 z#y8OXDu9&xJhn15YU3Py(1jRSBG;k?(BSqBv74Z~olK>`W12s?F1-y1daW$!+TFD6u^{t_% zJhBv0pAoeg*TB#S7$G3!Dz7?kGQ8H(?Y`If>#ax0)!D#u?V72v)W~p-EhZW}Lj*Zn zA>Z*qCS3(NG2MbM13^fme`*DC24iutnMx8E=2_Dq{$e=@2t;|+Ei{|p8()1=V2X4f zz=o%hWQWjdr^8RcQYy$4A|(b^xM|aE0t#YK7oOk_YJn`4B!QkM&`u`Afxh!3qzWW8 zZa!j-!f({nFc**Ff@^}vkG|+!JOumNDTt3AigW@*2**K(wxfd4SI`aHj7lbah2ZfKT9awU(t1!_KH z7Ij!<6VoVFx%^V->c@RNkW?O@-rWAB1Ofqh-H*=!Spt-GT<1=l&b?PkRmLs18#5Bj z@(phE%Cv~2j2NN*3;qIfsj9teurcp*m*h>HU6NeAz7c#}Y+@VHkknAXtKB5FW0WWq za9rWY--rk=$F8IN5*y)-L3w>x_Vf?-Yi*>%&Ut+oiLDkTW2iNT9-;^R%30mLXt3cO zKPox4CU&kMzfYcJ$#Ys_v1S>8UrF#6jz7FI-sFnRubU@s+cI?Ae$-z z$lVXE?9LC`PcfSx03O5(1Gb4OCbvZ`?F!Tv4OIF{at}hs63x+nQwwq#WJm=WmV;aP zlgy#d`dnqd)D$dW#%6)Je0dE~M7ka14yhc&t4@I= zWD33#a_5ZSh26Z7!M%QMOoxWd6K$%nXho~z0VaHiYu%Uq8_!FZ07^*o7qJ9Zz2dos{q<0Qdc@jfNcwgnq>Q0d`v;G9UO$0 zW*r6`dQA7Rk_d=2TIjCQOu264@~m``$+q1M?@%B~6cPLu6$55+No-sGFbr&R5Y8QB@7 z+_E~T{&g`bLdgsbpfFp^3tN;?THVefqHNlmF4bztg5W@xb(7UA@$WJ-!VQ`0hSM5_ zMh=%eoLE0hnfL-=kyN-fZ_vN7H8vZj@e%V*BE@Xsl-?$0BaD;>0qjKp4KA~Z5E|=> zwHoGEHNj_8wOeC7x2uV&t&QG}GIb(;8N3Ts4EEl?AZ$^D-Z(p1dc+fOB6}`1$a15e z31+MaNlcA{{4Vp}F%qSiB_{M>S*Q=8B9_{hf1y2#X|(RQCNZY3$4Tza2D!I+ZXKS4 z9a9&StA$$z5BtC%7B!TdkyZuAWW?OMX+i9=x@k$cYp23+i!-!B2uMD<+qK4*yJ#dv z+u#|g2bn`gqlRl?nirt;5;c*erO9o`lYqk3KN~e`joUsa#(4&s>poK`*3OTp=4Uei9L)jK+z69QSNp5R2TZAX7Hw2OoXsuy6 zT%qsdUdlF$NfHG+aOSU9V~2?M2XkWnw(wbAl}|Nb0Y%7xc$B zcbxy8(RX;g?W@h{U-9}6nL4TO{c_6xS^1bbcABD1btoyZ?BRd_@ITA=;1E5&GLh;| zp0vbjxvSp^7x_zD9IyNo4|#Qc|1D33aAtl3v~c5gyQqnI^fZYRvh^;kF3&H6FZD7R zlcSqQ#OEZ*C+!NT@d+i0tsIW^@?B^RR5#j_84Uu7v|weD)qh(TMI~|plSA;*mP@J( zQr|#BwHcE)0vaUe3Xv+H+w?)k86=P`*^Y2V*r3uKUKL3@`YMtf!gehw@el zG$SdMA)O)AEP{{$E1ZPpis4;{+@+KD238HB#`#o@HW$QaUxc9He1Sx^;g)}~*nYYp zJfJbRmZZsm_xx6PdwVhY4W2&b;Hg&Zx&5kL)wc?XwRl(I^|$kd>}Z??8wq!VNlh?y zkj_GRWT-b)$pwdjLqZeFEbp|FPzf@sv=6S)=f#Ui5%1IX5>Kl>&i|+yLIemwk_!qy z*O|JC0UKWn1oD7u%>+(d)}4~sQ=r-eWMK2gvz6K^!n|Si%7a%}v%{utK0?rfEcw4`iXnFj6*Pz2qJU^6QVi=n7psczoDrx<3E92+q_>n=UWrtli-k9W)|TqNoFFYsl>Qa(03x21LpMetncSxkNy2>pCs%G!;q!~7A~~%sJ!Jo`Nc>^jOQ@J zB4gC71nazCh@CR98G_bdCyPFU%yeoyLR-9t1cqMqyDP&nQvr=QwUYco874G{(!SyCc!h$V~w%$GN_?Mq|i{#QWm=X%J4Em@Pdt%O( z@_vNQ=`+W+Pzs!~`lopru&gxJ!qmV~6EiE;Gv@K=dFu~OA$W4CzC0Y-KoVUSJ_PUi zi|F3f={_V~5v9WRgd_mVa>ki3+q7Db8Qk7bY4KB5Bqbu1)rc)vH0PIYI#5zH^VW#^ z1x->lHnECXQoL16+bwf;6_j zhs?Meawm`^dvS0SEzUsyh%vJyVINyjy8ZQ_Ln#_;Z7Ly6%j@dZHUXE}zN>R@Y8+G? zuHj0!8^Xuv2-$N&?j8gsv<038nFH8AV}xzWZ#F>7m51I$dL-6>74&sz zY=0PB&GDv1!Wwt>!h4;&XUi1Y>TTdSU{BABQ~}FtuB&$I9B4F)q}w>Qrxr_@M?IDr z5f~$y7D#!uILjofS{kTFP;Sy(^mD`OZ^P=F!{eX74~(yejZt#L?cXUp9h07(@A@qU z_Hw~<_ylMV`#pEx>$84OaG4Qf-OoD3-)lFhYbEgVvH4ttjAjuAB@5=r8^qgkNM2+f z;2BScmM7Jnp=TR2TM}7`xP2J&lVs;-CDqLPV7T?mUf&lXg$UDU`wzv-geyw^D4|uz zC?#H#SU4_kw&+JECnQ0xQkcu(GvHW8YCCw@Ug5aErs2(LZ|*v7uX6}5JkDU6&F84?Si`y?aiZk@=_y-Pt{N~DRM?TE z0pZJWJbCgNB8pIc^(=t(_Arj>zAW&kld^e>AmR{5vT;=-qYGTcId1^D(L^Zygo4!$ z@2lZ8$RbHd z2ie-BQWEATdl`V+nP@9$IlSqtQ-HDU!J_ihY!gMppeLH$qTrg52xmRZ#sq|`5V}Bm_S|B`)&8lzUur z=t#B%i!N8MBdagoa=kWYWa}UY(e;^tWE$1+SX+dard<*W(TSuMHl*5WRNy!~`Xve(Gsmd#ovs~aN4lvdAW@!0e=0oY;c(L7qy}KL z0fG6s5vn?uXxtePN2-cd`yxUDBt#-v`A5ZW5^^g8V@fMENd)_9GQctfAj=^M4O0Kc z#p!}5>FT<&W*58d{+-~!0{;*vmt2uZlWC95L3KD0)C5dXE7>Go=UrgkWFlvZ8jLOX zzkQr_<|yAxeX46KN-$dsc8gmL-Ine+DJ1s{%2KMYff!9i1wkkO`fb?Y(XLuvJz`14 zt=n<9p}paSIqF*ija>AKvz%L=vv%>5apQ$u#lGJNLQY2;XRRDyrX*g_BTxtB%D9CZ zihUC$tD1N%9Pe?Cn8j{9T4yZY{>B_(YTy~KRBuzL6vXz@D`fG$Dwu!&Iyn{6ofe~r zWQDnd`7GgtMLq$$bE&4YAl%_LSbm|HUVc2*ao6zj%vf3*VqiBHY3aja(%%r7*?H%4 z>*wIGLWkdAo?y34xKzcByEN%ULShvg6oV~B2AJR_BSvq^?0&4szsd!1dJ#s){)#2( z*c=KiaU?}vdf&Y+p^x+8JGalo2`V8w-oT{)a6@sZmBURA^*&A5%L%8sr2!K|L#mx8 zp^JNfi#DTbizrBT5m3l?GD@dl^=<_2WL#=Cp#DZmtpJ)%rz=Ryjd&DFMbn62X)8jYE1?Qlvm*TNAqZBP&b=6D?btMbB73a!ib zCT)Q{!PgbQklu}}SN^ECqTM&0V9Kw6l{$!Aja@|r8{C-daH>v)MqwACK+%VN4KPxf zp(`W;yrS?-{nSBV@X3av4*h)b_l%G#V9;(14k#&gET~^hB%oIyGPB`J1g)`I*vkp2 zzt1_-pM&1HOY=k~g?`E*W3sZ@Gs6fVuK7MyW@(QA|_rMl;0pGC07(j0Hmow7!h}AZDQ%F*v#?rq7I$-s3U8V zRab&(MEj_Bjqcp{O<*pXQ+cREdmUdne(Fnqaib%t(y1^iqy4O9<|u3&rB6Xlw(q|j)ht0@IVZZYZ($yohul` z^w^a=)SyYc7&VxEv10a976-1ta2|-MKq!x`pOy!Br^d@0ce`GPdd-vg2HT zDz2{1|7Eb`>Vs(V^jCj>*W!*okNOA!fqkIRpn5ENU6SgIKaE=QsKJ$?OM<6I@H!2y z+(%t&alT$T^!ym&TG8EvG; zS3jiUL9M)%xX&_XT6}&&zr4O4ojxdlwHi?>>L9LQT$bpW-WoYURHCa>wPkgd+S`u? zUXzwd$H!K69ftj6`d&rw>eC`Xg3Z)u6A37;U4d!2ml1;0zU<)Tq!_7O*YOxJaGb2; z{JMWO;em)Ah1Og-)wJ2 zF^M(MLN*W^fTjWF*s{{ob!+;sF@$?QfLv~5F3S+_BAr$AVvb~(NFFX|Xma#xg6aU3 z?vES74|G749T_YgW)??3JZ`)J5Jb_{ZsJgHSqgeD6eZamwY-wTxVw&vrx~`qThS5Z zno-INfzptrj<2old5Qt2Z}YH0Rsy)e)ep#%z7XiwG>~Hvf2ll47^Rc)lZOPuM?qg& z`gBUx@PtG<7>(p5Tmj$)LGf)rVOqFV0El-jwduX~cOj4NE!!M}hsihwWff|)I&vpO z?|9*sLp)Cvf@gVTIyl>VkGS0~aDZyhdGip|q~3{?XR>nQdp6siWg!*Z<5%K%3Gtjr zy);i&FvDNaxW1j5rHE*kEHg|S8AGA5lv$2ME+xG=7L+pE>JG)w*%gQIt}7tKCGd{o z=5h>&c2Fx0Dmf<8gUB`m?0Y#3y`xDMShCr#Fy_5bbeyI1^fC}TQB*7pp8%oIM6@sb zFhOuk1RnH=DeU=YJ6?3`zuVSr4`(`!!{-?1z2X9`!V5*o2f+7=N4_A(q?g&syKM@U z7o>LU-BVQfXSPDAH551une^6DvTd?LEjKZjxrXOz=iIYCnEB@0hGsp$VRn;k^Z0mF z&%b0HXH7B$-BLDJFvobftph^d=g*No+{!GR*aXj<9GU?zrR&iniswvkUbR;86s)3B zhbp`u%*wUMMWRJ2q@&+UDz_W!&0!UzDcN%<(~+VTNM^F%<8(w80GP515Fq&<0?_+}P{96(%@psPN7%;IoM}>T2=S7lQwpOmXjTq$LtV}7YXoW2BrOShO_KrB z88DI$icSuB277|)wCe$s&UUs01(9<&M$Lvghcez8KZUFV8>tDbl!|loI!KY|AU=t! zg29PdsXyxedBxGG>q|4H(FtN(g(gJaSmUa_Fo6nRmGsH5`NA4k{?k^{YqC8VP_tRl z5!mB}iy}6El?6<`aq#(CikR|^sDs=*!R9Vi&ay12m5M?lM7;su=wD8r2|-Orh;GA? z9sdWe`!a$?-K3e^dpv4x;W`RciphI>>b`JZ?TU6--Z+rc75^dv=}+$SJto&m)|5vB zzs^8k0&BJ;w9}=KW7L4Gag$%$)gQZbB-+`YL8)g_{bc2EgswNC(H?A1W*{fGFQ+RC z`Z(NQzaoL9Ly5)EBYUi^bmHe2J!nUvJ!Qwjo*9pi(E*J}#hZM{(H!cL zVIrbn3T8*&5E6_gLj(I-Y+TpVx49TZV0+7~=w>imN`Z0M2oKwbFqc{+bP~ID*1Z3G467p756-eV1N{Rnp(UiH5{?J zF>SB7+SA28z`!HCX5_lcSA%keO-MEZ2USIzrNwKx9S55gS5wc#Ajz3f4}Ub%JE$Qt zUa!nub+JVio#o$755=_5(NxN*Aw0@(J;(?@yF+F<35z#7=Y2#?v*;ZL6x`3G6-|2B znj%RN%e`uX&X8AlXWd>u%DUZNa!M8HUlof$xaXA5FLb@Tg!;kJCmrRXUQ0M@ z%hZo?Cd^>*R1nIX0AbX7P1}L#qh{eY*q=hL4XiB>;irO2>VZW1C$>%SE(g&On4&Fm zRNIB`rl-Jm5530w=DA<)bLJHHj-5^Hx+{C7T)HM#D^INu>7qbBW~8s=CPzo}>-s9p zhn#z0=QQ@o_!^nE-cNW1Q(EeAA(U z7G#IISU(r@9+~_QU2~K9F4EO<1VSZqqwLEkQX%R*qi^qR)iX%0-!ZwhHRxWcanfVn zDJavg38;Ao%3pI$BE%ro^e+E;S1~}0<<3?`6)qM|BI9Hg4xlqCgS}%VBK8 zD&Kuney!%ri%xCi3CS!Y_rr`eD1P{`>8Gi{4$u|Jj=lMmNTPwOi)X9Ut$|`j%vSc9?eUT{kz{Miw6Vx~`a@L;VU&8R84WFN7kZT{$W^=h!(dCP0c!N3n!Imw5$! z{*$vwOZmw&wiA!+&Of_edszADsPuXik{7?u-D7+@tI44JW^iiPi8*#-=Fo$1io(&x zY(-x*Xq5_U#4en*HR&b-=R5ks5^`fXu)WgOy0d`bMvLvk3^NdqWT!4DzdbxTKZn|y(KIe!jZMWyh_1bl}J{(?o9-vhJb{}ijrn#*oeySzm zZ`P~z$sA|3N2leb2+ywIa;rp-2j|_SctLtR$XU65Hj7VB_x#f?2tIH7~pad2HRg_&~1^3+kdn^i z+DBLmXDH4&@UanFW3W~5e6%?xrhhp=_<6|q_HWm=>Vv^&zcI0rS@vDhLFsu9cNzM{$ znU^x4t+@H>t_p}8aoVi!P2Ae))pqQacDZGa?oD*{4$`OP_p!;|%$V=7;cjv`Sul{D z6WL0lZCMM`cx(HH`mXt2_Q@PN3t7n8jm8)!u5p%Knj&e+1VqIQCgARMBTb(E1-r%D z5IRrbyUNtzXWgeR1mWv)Jxj9MO(m{!@%BbLN!@Y_((Y`XiVnbEF+epol2f8ov^5^n ze+`MYR?%nAZUV+(ua&*DULk@3qs z^;70QY=hw1rXM%GxLu@ub!;-{zQj>11hq1rbRewU2N!oB44+Lu-;jJ`b*17MU*vTP z1FOh$qlg5z`N5k4B>HW6>n{dqO-X{EwIVjuozTbCYPoy3n{KM>NB0~ILN?`Db{h27 zVJKTebCJB|kC{Nyfk=cGGSwH=OWFhFB-?fXT*94$5&8ZaCLbj-T9 za`bc>Rz&D~2;@g_=x1378H+fiYfCD$C~m*NzdO=J>iS-up}R@Y7o^dF|%) z{;Ed0+z_KNXinlSz2%%>x>^ax?zQ>+5McH!FDgA^lhJJ)s(+)8*U;5k0QHNj{o}>0S}(^H z2F|OFcCEZN8_-;12Y$ieHD8rTt*&i4b=ktFQjdWjv+f4`{x2r;w`Q)S0@HmFN7l3e z4*C>2j(uat<*3IyE$<%m=u$2n-_Bm`sdS5)c0F6cv|u;u$LJ&jcNulUR_E$`lTr3- z27)@YyQ|!-=O@Rmp3lOazMh_~e9Yu0jf=@owKkWvnxJi#u z;E!!z)Mjp?!{;rS7@!wz7D|OVPXMzHa`CpAM%$0zWPZGh&W|7`4>9h}gA1Lqe1G@w z*&%0?a9&)rViu2$ADANpgjEmBvzX*lZX(+aN$KbQr`Y{m^t!A-w+{v$_OEgIPa8Q&lzmby1w<3bW+lCAU zNLTuEqZy!zqes%k9vTXr&7p|H z&5Kp?YiG*~Y8&CdPs~b_Y9GBuBK4i*XQT2K^fMGV7~Gx)L}~IBsYBKD$81rGA%*9R+ulBgaH*ATsWKqK3x1bG^GlASXoC?d65$%T$`B~ zqs?q2!I!$mLPVxaG@?n)J(k3KviTgEgv1NK$W+mUXmT6;KzQd88R0<2fRtd&S;A%t zrKh$z+@j31f_vmx!H8rhm{oh6NO2Xg;#0xKiRO?A<=59ip>G9;*Jj6o4nmvQYZ%{} zhelQ>4n!zjmS{%{iDl*;wu!$|_DBw37o~S#1+<0mg z<8ETzyEfAFth)59cz3th4UOvpJ=GDU^s0t%2nu;{icKpmf}?JE*dVtC#Z^%}g*LN7 zFZ!i-jrMlgWJ;EhxZ(KHY6b-Q*CbdirO*9X9q#M;byKmxUsUSnapt%*X(39;&J zgDgyGN@R=4|DmDlasQw;TNGMOB$aDGt`BWc1b4X)`1PfCzZ)!VA9XlDP!^=`S>HrhQg5Z_eRG%}=(=RCwv-{#yHy@b-`NrHP%_$ZAXvtWMCmq;` z6am(b=nV6Wy=(U6$YX- zCKO@JvLsa8PA&M+rY+AK%9+g>f0@IzbyY+M*q&iZK!lxiGBc=g3m32gM>sK+V<>K*seFk<#h`^vqp6M&+k2`SG3J#Elq;cw z3a{fU=dPSnP6D8~Lf%Af&Ea3W}2}&#YVu$$N@G@BVqv&Zz_~*=E;{{Qtps~NanzE@? zL7RmN#s8$nv&Rax1u<94#d+tLCqN@=;~le|fr}4!IH?h>QnIuJxER$uqcwRah{da3kYKQ2y<(jtI3lzx7=g$sz2Q zP(#Y?aZ)A$9;t;I{=*7(@zfZ2IISA+<$95b_pOGyfm2QCRZrfIGxTf}A?M+cg@&B%|#f+<^#L5lt?GQ_N9Z zQp2D`gQ~Q^kV17$3aS zmbT%4N_nWt^6PF|MhTucjS#+EUk?^=vf#z8Q2-W zdyMw3E)K3Pj4JAqjOO+L7iUIQGfhSnBY?AtnUj?{qlmq&DdT^Rn7hH6nJvFTCMMq? z6aN45nE!`jVxRp#C?@;lR}#c_r8P1wP)TgKdblM*n`&xo+z!Oo5!1FRsPb<&T@*$( z%U4zy2FJRDGyHgO_MaB_{RAMZQ`HRXBmN~SD`mf933vSNovC9Uf4=Wuln=&d&N0*E zy^(5}f3hD8dN1J*YpUxEN2dk`-y%bvAL>b8rQcAz=zBkcBLaCwh$^VxH^Hiofp1|>jR$BGTIA9joN%SWYxG7zO+ z{63T`fkxo0dKC4>sUz>$NggXL>lQAq?ls7SxW553>`xYO{JeJVBJ8As> zsB-XOj%JLLa%(%4NU30_de?Ur=Vxr|r%6g}B#)%m0#^p5MME_&N!_9Xv{UKMv2Y@& zto<|9#T`y>@!Zp)Ov>`t7n)%PRX`TS;$?!}XL8d?>tcFA+ahzooH`kxgJCp|IA)47 zPiBHC#-1)ip1R(1=E`mlIK=UV=1gtmPxuAEAGWnHhOPgEc0=zYNb0j(XXxzDFw4dt3?q_!yackNjd@IO7wkh zN5l66|4%XbkG8%5q`$=$cB&aTm93(ueN%4vctJTeo>mPSZ1hvCaC#%R6}cRiO^S7C zTd&-%F<#I}{Ml*Y1LnJk95>~)tj1a88cQV(7yzg|Ef*P}E6K$@>#2)j!=gJx?2#Au z9$l%XF6)ClFC2~b{l>)h?495UM00YFa-*$na6BZ^Cm?fc?`Q2c&)3?PTl@#ue_q1w zPv1ZyXb_MD6c7;U|MC+4f6+`dHr^PL-Iur{5BB?Yh3&obFFGUabCAa%HZV@gmdL7h7s`TDEByt?L5U+c=zeUJaG@OKy%Tb!u=& z1HZElNUvO$)OxnrCPP_zuY;hp9{1%+K zP^-!c&0-|fK$36CSUs<_x;ZLxkyAu`A;)j*2GE{+4m}{_-nxd%{`r`@sFB^u=#z`sUm3;Kh{{LvgeG7Co@sfCG;*oq1_aXqWa;;D=Cp z;nFkBt5tsCGk=Do=c2EoTF7*wM8*1JK!~ZSmK8LJ_iRJtpl}Nd>H5qWIxFaWW9sfh zYZa{nc3Tu${fEg&w~*&eT{rFQ0p^M7Dpq+nef^azGd0=%z5in7VMR?=In;FiRrYRJw2&1GR= z6NC{juwQ4y3`Gze2#VlBciXhqm?!kR7SU5o)xx6~Lg9z{(a+a8Xzsrtc*IY0GYyGH zTw`w`(MY@{L%Sa{NRpVq$wl{rgZw^;exGS@3!eH?GNhcq=z1Dhrb(+m+9^%72!E%5 zRyJp}?Z)!h_$(bBkdraev=p)mHs@G82m`x#HJ&VZL$S#1;(;KNfdUuE>xDgWmvg(R z&(+Z+MFnuEmhZ|3aqF& zZ@0OzBa)-D85KG^bQpCu zs6bRaE&@DdIZSA=xRReymz1inaS5(1ffuECFfRC!rkSxJO#Kgr7K!UqUeRPfE=Zh^ zBk)q-x&h9;YG6!uFRw5OKSxS{c*;YI_lGZj&k9h$=%#U2zqscgASbs(e%$p_&bv?= z^^V)6O+*41w^nsNLSyyE;IODJK69oZp)oD6f1C^OdIySfybL2IQRezziKAkEK>P~T zNjn*73p!DUMr+@<3Q9Tvk7xYjSB}USS0~_1!sk4gefpC?95NpZ7RD!Wxcx4fdq8n% z699wD!XyTz4Z!|Lp(EplfEdYcH_n7!8hDBL^^2qcdNdVT$_aw;aOu{wdw$q@XqVVT zSAEDVdLI|o93GDQAJw--2P#bN0>7a+EVc&Qg&_kiTFHo3T0^F(0~M86{u8*n3x`TD zunBYb2rLiE!z_X2N;I4sZzz9E`9~$JD4i4ZD}X!0sk+(;wCtCIff!k<-ZiXs&BIX|-P@>Z}FIOqRAd@3Ak&Y z!Eyx5X*VruW1!2YDHB1W%1Xq2@ONI@S;HwbJ`OV#217f91T>UbxoO9#lUR0|Pp)}Z zz*5)1(+0EAng^L_n{jxi zqd2V4t5*(=I`cu{0Rj0Zx3IG@vTgo#V!8xz@lUfZ;X86{9#S<4XDvk3v72gK>Bm~} zGJrKIcyCxZ3p6?HakHgKQYboFW=T}q1L`s{i?s(XpD`?>ju`8}E)#cj;f;7#6nGja zn~tQ;F4pdFpk%X35>O)gKu$WxY{J|d>7{nG%d*}l>zN;uqusK0CYsG4`Ic>UEa7T` zji*t1Q8$<`4hZt&%t^p8V8R$6r!unIVF_UQ$D4ezYi2>n!XY4O+h{x6OieBWp@_!b zF^tlE7&G$cxRKs8vq`e!rzu`W>Aev@f*T#U0n@ssgb<;LtkXId1*G1{fD#1^eR&v{ z?galrwMS1Ho}n-}r1ak|^cB}MolIG)`a;Cf;{MCw(+gJoa3e<75DF&ih4yw5*L0r! zc2{et;ftMs&3veDmdyL+{w_EH(&V}MSRdq)-G}*?ea!pMF{P%@x2mtbS;BYHq5q4z zMnN_*y!_3~naKtL5&bU*DgTL^bCj!-jJKMayYujkxF5vsiXL;GZO#`$RW<q6##% z3PTJBFA{?Ji6#tQPzn?N)wSB@rhXvel*Jm?Kv<3J_?^yUz5DZMcGdFK@kIEk`1w=? z{w0Vit#nrT_W&_>FM;kGI#$bdSBh-_!9!&o`*%kN1b*r^n4%(~Z8M z@8|h2=aYcv%N60Z@4w53=(^e2?e6F61Ai~yp80adzONGv#?R++&hWmMS9>H+nX?N2 zW8h=?$!hp1?@o{3%lULP;iu0>)m?O5zW>wf3n8MQ&r|qG9isjH(c6yToA&f)b~f+}0~f8z|t+`;eldpWu3^S!<7s>>(*4_;0Fd%*_>;Ty$Q`_AFf%{No>DgTVIcXgTb z#_#U$<@7_(L!V%e=iP^Yr~3_~|I6g)?E3^^pU=an_s)oh!49wB`~3i>A|c+x#;V}! zzb^ayK0jZNhxfj(zx%1L?{EGBd~f=74-ZW{7iN9FkLkckjc^Npp9kGO@4KYc&&euG zoFl<)JpI1+<7tDu9(6A$r@l1;0S_;a_rt$u2aE#V?fgFPp|t{nf4=q!k^H~@ zM$ZBeXW6a2=DxqiSCqi1xB*kq>=!cdn|yTlq`#k?eyd#9=l}T-ZLjZBv+esdN|^U? z`?43$_%(W`u~VrMe)DbYa2LHgb!F4DPw10xZ}9#yj9Wt|@TRmX5Et0}RAq1lcYd&l z^v&rh^t(Hs-g!TFqxXMbyU56IP7(Zkzs20Ncxrq5+&lAsvHV)`@6uZu-LX;fzc*l~ z3IBSbHGkah0WR)rf87T%mh~N<3F3cFy0C5?j`S@~OZvRLPD6eDJ$v~qeuH1%oByEn z_x~s^5j>Y&UX>-}q`p1*I4(|ED10(=awN2@S@hC5w+tl?Z|V|Tltga zw}aFfxzT*Ajl``OuA3&RU^Xq@mu>FbItQ>~unxaD;6UmvKbZ>GUTEzb)rh}04^L!} z)p?1mquiod?kxL#@jKs@wxyg;-plsMqGLH&-}T5<+1js0iGf~Vo))cVBg>ihl)#xs z?nL!iRQoJ1uVCib!PKO=cqR zl0?%v`NI*G!HDBMd#t#i;&sC3?t->p)py3}Y?v)B^(Nh`!gK@?x@%B7;ms{7t^ zk?Y*dX7O46)pz+JWx3UEzJ8_g43Vt~pnhkSqB2_*riuxbrS7wQ99*UnzZI6J|8_1x z$iQZyU&(MX*tQ{V|GHevm-Uvh^&@usa;7%3_OwvkU!JonO+=a(I`PwIe4Suo#fG@Ml0-xfwp$OMAg(B0BA?;<{SrfkT^q zlDw-=d{H>O_~`DM!D3s{w=Cbgd`A!2z~|*O8A=gRk?`|4`ofy(&00#fLu;Y^?93c+ zbzGc>SlX6qUhx&h?9qxt(I$&$Jq1Rf)GK!M&ve8NADY4IwnvOHQLB&2d`X{}J9gO60Qy}QR|H_oV=4}1_&~WOE z^C3LJSHE5P$X+~B1r>;`6&fp*2? z$Cy?oK{QK=#mZ%mYN0Bkie^deSgrE}xRoCC&PY94(Kcz9)Ib(Y+tF)>S+hgOsw=0? zc9n}h^(-kr;P-^Pxl+^VAXtkIY9Q5;rCevO?`4Z+x!XNJoZ^#*M%~lXhXv_O$A=xQ zy@wq5%r`!O;IV&O1AHF_CH>39{uGXm)i`_z=M8eW!L?>S+%x6X4~cAu+MyX(i)FcU z&4p~rIMA`&qQyIAet{S(P|`O%$nc)St#j!6!f;&R3_)N@dtrL7SC{2&s+NcSCgNBiiIXJ7D5Y+_Dm?kVsn**R&b%O*fdU zyeyIpBIb4`a=)Rhk*+&AENdH}8sX(`K&zXJT-UHkR?^H>NPo3J@@@#%G(VQ6uIINj zuWbkcHRRJD2f`k!Eq(Zl?>iepOw}~gqy$Eyt?HTKJ;+=1Mx<&14^h;$4Li;9$?8&y zjX)+WufEe;T0sqZ$`Ttp*XdTfs+)ndy}aHyi&G=I0}9aGEw8dTH5OxIZql-4^UI@P zxthoaS0V2)?Ts*VKt-QuRWvhB)6p=G?5QKatk1>MX7xJ3LUXewXj4r+*+$_?$=i(WylU1Ot1~x=gkr1yY@v~OSC&U(TkE`Vy*{BZ_;|*~n1=PB&|VtiT(No0 zk}b)F@|y`bgrK9DrX%uD>LdXv(^$0}f!;yRnoPrqLLDEww5GSU>TBIVUviS^(X1~I z=)pH-{DvW`nfcG3yWba093MTYMVDBHm~H06#YrbV7N@>5oQq_3x;3yJlC305+FvZ8E|`BmAP&-MngN*P3lBd*?42Bpd%c z2t=9&;>xg4`WiYS1J+b2oHI&XYPhgsyWVPXqaDP96^d53jIs&Z#~7j1)`YFftM>Y~ zs+x)qt?w`24v9`C)z0i)u;Ar0HT1M@(v-r-1UIUMLTYKA@Bcw@dEOnhm?D%qhRYmU>3>OSF zHGnjTy)}fU^3C_6VEOu_Cjo~`rMZHsA4fHHyDbK1`)HTdFygS3u6XgIMvn&Gw02kQ zM~pFhncWyy>hD?Ew#CEQZ;AV6O#Lv5$j13Lwqq6dzm~pqKFN3AW~|BaC-LobPmA8! zJ1tf8t9Y5*K>Fr#As5-lH`2(Z#(!t(gx7YQy59^ z^B6JBbuE{%dSDr*4x;0VemnIb{6CmG(`iR_8L<|{ma^6hLs zc04y1Py9Cr??;PIy77v?s9_>>HpFH+9zPPojCM#fElW@_v-iqb+&!CEb~2f;>*X28 z3#9WWkEQ5L*IBH821jKVTyTuKwsG3lb?xafd30hvrE0koV0BKK!fmm*2P9kL&gxp| z6lx@)EjV`Is&fv!$C}`RInV+%Xqw(`GEIR_8y6 zHU(|_k9`+T)aG@Ii{oW=t(CyX8#ZDbw8RzF=YF1Z7v_ZLL_VdhpAnk1_&EC9|BYs} zXP>gb!Ij^gW}c=mqA>#cq$Ct9$^>WDoWWhn8tAVd6&NL<$_W(dGi2xqw3WWtR4etS zH`sL^qmkm4h-OpMFYhdxTrE*L)WBeYXG7u@dqY+78?IHcAC}d8Z`%JL4=1Yb496Wz5{(JZX_9jK%HvQXkLyZGB=SP#2nTGaAv1cn& zu_OWH=Dd%PrKL!7N*xp=>IQ7HdG-8;=OEbQGvTdVH%AknN=k>p(JSC)FB-}J&VkqG zVR!tX$HJ^}XN_$elu;&8QIym^8;r>!#J;V*gg(o8I2+d&$f=|;kD{{mS0kKHg6_#L zG1--xzb>$i(DqD0hZL+pFg-`Aq3-n>9X`nF9^0LyBQ;cg?o$VXgp7*USWE$DgkE6* z%?n&b;yO}00hC+5c|49ZOFloi?sOS`H9?7vmHIUGKO&rcJ7BCuRFdY^ zb&$(@oVPEDfLWATy@%;&)vkFQe-!Y@Z&k!K#9L6`ML!Qpf$D_4mwe1+W8!kG_ykC) z*u(kogi?=eA{A9eGutSl>UUFS*-&`QbKy3UZ3IcrGv0A6Za_{}~_ zxR-5Y%faPdN|O(gu%)E>`YhT1QG-;E7(7kw63P9v8TPrUFf+QlwSl}2Avs35eeNsmqct)E*5QkK;^`!uZ`NyOPe3cOfK5XS+dc6~^5Epg4s zFcHB86)Aw+1(Z0!^Ocnm)sKsA62q~1*^%v42zY%QHHIA^W*$FIvM|X|tsj|dgci}Z z@-JbQ+Gq@Muv9+nkQ{1BQdeA%_gATzqeQZ$;Ftg@4y%FbW35lv4v<9+m-q*q6xrMU zb97pvNr;+r0;urm<{*jm<5Tu!5JmZ_;DxgaMA6TO@nUi*$iLcgI@1mEQ)85O4^ZFF=Sj-d2NeX47Cj0y={2!_0G2M#IN9nO)OHGK zj$Kt%lRzv>C3|^s9xSfc1d2LmG58N&Et{af?pO zR#w}wN93Z7l&EnGD0?)Tt!!dsP2M)Q8(V~{TO_6)N-T8EyE9VD=^;Uz_;d<{;4LNNFSa<5HvfyWn6M!$fYNiQ}==O{8=I?R$4h92G9N7yYitU5*mfMy9MV3v5>A)ePy~Bu!S}`4D=I6-NQ$~XJ zhDUQ{DTMsFf0)8a7Yv$ZctNGOMjNNibj$$?-)eugSzT8=eb(kRSs}6mgo31wl60%x zdiYJqN+`ovionBS^dYL5fK86FXYzr)5MT3&kUW)3sOsk7b|@z?8fc^?6gDvX;Q|d} z7baFgI5xOr>FW(e&7to^3(z&|O;PrXrdV~mlZ{-Ti`jf=)U;hZY|eTTUJ|Mungv2G zEeP8A{T0jwXn_u$t>q8{-LIL1)?i^Co2XA6zOED)Rbfk-5|9#>3c`E^3DQ`UA$)Yp z|NE%A{C9c=k7(pBH@gdH*g{w+@e^W>9TyAz_<+}LuLHrhOhYJ%v~vc2q3M0%h<5b3!*K0V9tl7*LE3# zbTZL|v~(?c_*NB56CGlhIT{SS3iZnX&y2y%<)zowQPL$!qdwO_1gWvZuHmou2mb3O z(pO~Y?e4!_*q4+BxW|-j9UM9{Luz$4oa8`~D0o_9)6C2bP$NEE%fSc*Bd0tzL=GdS zJ46EXY8zZK=_$jF@nN2x$fS`IQUkAYZL-T3`kA30MEb^(T-qeK=6zrdtGH09^6ILQ&{4u!D z{e|TWp+}zmG+iaBGY(k9P36XonAb*JYL;Q*g}vgx`ju|RTFn?#Jn**L-&B!C`yA$7 zbM&Eb2<lGm-m$xoS> ztrvU@i$l0A@r5l4rzz;Pb@!s=qf0}FF{G%BC)HIDoWjHM(}aT(m4&av!P8sq8>VE| z(VW_2V0-I?N0&L*#};`uXNw`*cFxH?n5*q+0!9$6g#Dw zmMlW!zo+sQ)!S*~Sp4n7J+UcRnSR)MTflyoVe;4g=ftZ~rYe=3BBh6G`T2 zqIA<3YKawc=&u%F8)}2GIY&4n^xGnN9vgEa>OrlP4a+4It(%yPt9iGkbycY0^~%uo z1P1gMXK{o;QOU5*Yys0RBj(LW6Ef-7x_ZIJ3nx)X7EJn(u&94HAm=?r^cZ`K0$?YL zr{j`2Jp!>-=-Cjn#%%hI^}yNRTo8%EwG8!BOh6mRpC`C}ZYoOAO;-e(A_c^Pz=J@B z?4~gHSl5LOBR0aDXmN0sVY>yY9^f?-RbWzKTTaqhEn$WQnD|1(z094Zq^9%5-aH~>#Mx2N+ zqS1Nf8`|KLAed<$ad2+H>E7R;)u)lwlO0}>;ily_ji;JQoU)+WDf0W5647n*ExF`$ zH_eM1f}OG^=cXikLnj)Dg341FIzvYezwj4ccjtjmonPbIA4sC0U%lXezjO-r240Uo z?z~ZIL~;rh4vwkXjyZ~!0Rpcu9M#<6;)9UjfFMnDCPu&r8?2P+{5*L^uj8|Z>UO3OXpIUbO$U@HjQuuNfOLF}}rlMq(uLEI3l=g}WZ2_t zWv5u1R;n-n%&J%MH-@Lm=*E{?8-}nEX zee4MQY0j8IYP}jr2D1C;*J-&o6j}G4O^UHu@W_>SB$I??JB-a>u!5&jrO~N#LE@j9 zIRX?xlC*CqqBVlOAW1OS-n$fGR?)Y?dMQlZ8QE`ib{5$>8Ws{53MBJ09>Q>W?nv@_ zW5=f&10Qy$Z4rHkL_&t7nRF29I)x9062XY8;%=wUrijKpQvO&&y5Og$j52z!c_^-J z$4P@5*)u&5?^>-fVb&S_>k z061>WXKJppWyOBtILmwTH~9i@`}k#;jDdS7i1dQiMNouHtG8?9&tD_=kcq!WajMmL zfG=sl5zIB)jiD7&W=xN(HiFiua&GPvF|(e}l_}CsK5VnH-n@a(QuXFc^YEwuiux2@ zf$TpafH?NUJky;?`WqoOVUd{i^x?$OsF~h6f4wPbS*uGlhfgtk~Pm&XsuF({feHP;u#nKDG ziNloZQ~XYJv@GH{ue_3OFne?6imluMNK#6~~oIOFSfd_33*!GvW(0I6Ou zVZu~MWXBsqjO&J}SK`t@9^~e)saMwvY-P}bZB%v?FBaA0_YSq@ZPkw;~N9KvCxz}ow+uDO>*ySt7 zusPWi^N-v0B62H}%?J<>aBZ4fy6c~_z0SLJ9=~D}6c_q!vap}S1P?ETK?K8V3#jJK zmzf#K18|)B$H9CQC%bU#w>3FBtMJ8r7IZekj>QJpv$?j-rEvu4JJ1a$U^QT={O))_15h1gNK<_0dB zsE_dX*LcV4JCDZ4m9Dfti$>43PssW%1H@lIQAZcZ!^=jf70)<@07@3~o)PTzFC%a= zUamLVq7TW_2xF6R|C3erivY9q!LZ?RYln7qoJ$dC=5;HNA)&8S)@;eCYUfYPI^@~v z@u{0BI##x93S3qllDp!<;|#4)sJm9A$=u?%?2A*xsv@_GCd-sfRIQUPuRtXhY(=0n z6jYN$P`Bb7*tXiWo7;u%PVOG&uZxK6*8~LCDJU%sEc)L zO5!5QSvV5itCchq2P^lakL~rn03mSZnFut|MzxbqQi- z7a*60*)raUG>{`FqnDTY;3OwQ?_h_!sr+JUrtJrB?Sxs9lcRPKT_`oY?9Wm?1(N&% z=6&hSU0bCU;3r=}7i%C)cbiJpqPSq)bp5H1LzUUwA6{w%ZCU)1l(Yf;Mv*>VPwW^E zH+Nf`4airSSsaxTxdj$qpE!9qoFDkRMCAH=B+n8m276A}nFxg78Vg926dD-dGu^ma zZf56iZu*Z`e2-Uu`~keH`8zZ2vxC43Iy(EwGBg^VKZmey9iA9zShn>biX!$|5U8%j zyFrw}m=vm~y2{?^px39N(N&3bT*ff_0wC`)L|2AU*Nk5CeOlNIe%z!fL(Q$DQ7Qf(Ij5F6W+-IuGA6=PzwUJ0`viwh`KPwBqpRyzhqV$`|UF8SlP2Mp-gc1z1ljUpU)i1mw;licU7 zY?%2}W}%@u!7(`p)*e-jH=U2Umw0x&<20~>ggmF#KO>>Z@#<@M{H*k7e!h3J@~9X2 zoN7l9v9Qn7-X_yf43u&{wTVqpi+jYcRjqn_VMm``Klt`4jF-2mEF3eD%Jk%-+MHN7 z)M%IBHMMVGh+_I< z$}`m0&=p_1^>Mk{r#IbD=bBzCtw5EE|GDGHjdykr*l`IS)Euj) zQ{d;#<}D~q$bD|c>>&xAgd8PiF%tFQQNdY2iu(0=-Dj7nD=PXh&}T~ae#lZ7qG9?0 z#dPGz3{wZZmL_(U_qf!D45+c-Lv=~H%Pai%RL`Gv@l;apJ%BSn&Z}>F*`8N~sLGgR zhf_!(`|mHDZJ6l=Py)PZJI#+|L`cY;<=a2LyE4Y`vYrLR+lEI)OMKgUY0}WOecEDF zM9Pot1n~NlUrLMJ zayHQW11-3`jL}%O?)9_e>V`dPPyp1jp z!6|!eA^kZ18MieSu+ohuQ4*gNihb4+aGz0|9Nli`!Cm69)%>XRG+I|A&RR%GXtCMM;ePqopi0n_wJaCfYOe zOP}}nq_u;Yx7EYYBe|}jK#!e9slOt-3Nk5@6Oc6v=?1rNpnD+NsbS9_<$8nC$$r&s z!1~1h!${b9j|R`27UY${u_2o~SjbTog;X|6iD};I7v!yJ zNSZBlj3q%;^uj#n1IDC2-K^tVao?4B^8U{>C-W*46Cs{GQe`hvZouTtMP)0IJMTl4 z;w`U6YXybTc-ck-Bn8%2yG&Es?`VmZ`gFO4p!Dlq^z9)k6|t zLnp7qnB1nwo)AY6x3|lfHitg_0PsahQ_)Iw|N5{3+ZCT$f?QT5vyL6KHs^{(!{>wh8G()kRF|_qR)5^Z`uj|PMv7?Y!Pkc#EZcuj3jz`mf!ioV zz#KShGhZ}2%pT;Te7l0bmDjy(ec@gkZIfo}P3Z^=pQgKxLqt4o$KcCO#FD)?@Z3Qm z&I#@~E9J}*N&8xGjL+A^3A-E4*(o8*G%a^Ljo}_gHY+hqpgHy5I6H^v%%W&P$N6Jc zZ1bylcKefqLSkIv96(y2(Fc}! zsy(lzuIr>`Cq*nL@{&FWo{b%I@Un#KIRsg+-yM5rV&QC*73bWR!+Aol{A+$fdKKhR zX<|B9vVBGcX~5k;1vqH0G%K=!rw>$wul7fs8cz7(%J%Gz2)yP^xjeEm#d{O=j^ZrQ zbklwuRnZRU2l0<=Q#nU0+WSN>d z_Joj7L9i2cbGA{*3@#B=B*O6UDb69Ezo?9Rv2b9PUP4}nLwfXH(%VdNDYfenOG z#hqOgM$kkeltfBpcTpeplP=xw@6xf{wtyUOoREN}p z^hXZsV8ojcwDm@2+#R2=wdLyx5Q~;{ewNe#^@Szp(D01Y@mP{ZL&> z0rLcZV!?%?w~``bV5P}=l0Xa_lYsU}7?D0fD}wy>heq2tJI4)k&cD$qc>fXUah;El z<{_el0%6w=-mWE%>rmuLobX3tkP9VAwM7JX<5(aPtuV8?bWe98zRp8M<{8Y4E!mQH z?pOgrewL^BsZEC|8_wa;(Qlz)QivPg8I*z~97``988Z^MFgqIUZOik&L>aVXe|z$Y zHO`9B#&tm*e99-T=xcX&Er(+@0;jh!~&%p6h9f(Dv_?)eYHVi90Pt5X)hM&G^jp-_3E@dq4AJ(LzY*UiSs zH&aPV5S>L+DBaMAW0pSanWTuRqo?Umah)G?#sd2m?IT#9n)7bJQon9sY1{2DsSBD2 z8H6^}KN*i}$2yUoa;ULG?>S&DBZs*wamo#D1c%s@0$xvG$EYh7OjzlFUulDToWq$~ zHAU3+k;ZV~Rzq}_<1p}WJFTnO08HC6#XufM1meenF5E-INC^#)D}G%s{qnWB3)J=Y4ABUJHiriZVZ#g# z^&UkkA>oa-RjDF03@#%(B#e+XqEX!U;@vU zL$C0(ji)eXO2^qj1salWFzO+&3)--}AnTRyqR^G`t$LOdc%fnjR>~|wkZ*#S_KG(% zIl#C@D&C*VdI@R<+Q#)xKt1Y%=}5uZ(Zb@>`H}%KEfcDq^+=3sJ@Ar|9d%h4r(Omk zyvm7MbhJ%FtkXx#EOg(?@(}?V{vV4hAx}OVa%ZYC-ow`e8pH{7JNj*{&H7 zqQ~ba`TlN_T(9@T>uWzB-j$!E!0oxej*+%l#m_Ro3I48%ohx-q@m2F2f`bX4c>J+U zXC6xFU9I{q$U3&`5Afw7AfmOHGeZYK^7;P$br5y|dJt(_!@iE8qk~VykN7_?3UOfJ z!!N@Zp`^c!DV2VFRPw|;|D_h%dI@IF0LaX&^E#GYsQCbCcZ zp6)(#7V_3(q|BP6cFgD%w0h_gAchra@Q#(T(;*%wAWJ1>DKq}f2igl0Q5wSVHS zatj8oQikI3mUn!iO`c?S&)1FPTEndp)L61wV7G`TbgZc_%wUf1A27=YCZLss$7?L; zer&@`p!3Eg)~y!bu09@ADlul(@Y7kVK~FFP&R_Kgb` zWDSr6WOpgK>D0V{K-heIREf!VP&1x#0?_9zfv{H2-8)@GWis5(2**;6F-NW|RgzaG zZs~Rir`n{aeua2V9x__D6<7hWO(#j5x(G{lRGxD=S-tHkFx096L|L6RvyTN zXu8@+S_M;C9v6~EvqN@`0am>g6}M{Vq|vFO?p%0%5JilE{BaAvDy`%|j*^*m%ier% z6?6{#A9*mXk9IOR+@YHT@K&+hF{Se~oEDkvJv5zCJaWd7VaONmy}wfa04eP*+oOw0v2=XUxu>Y=C8^wr z5NZvHr+D*O#6yjg^ok$9O;aW~t z;}5vg$~BxMi?o?0&4ddc*pGiAZfkT(c*BQTW!LV&6Cg^qzsDD_3}+{;_J2tMQ=2Cd z%se4PGcQ2tQ_&!_G4I2?aZvSKZ{v-qcqdQdmuT(0rTa~!$4z*|qrukJ4XHFB@)=g4 z9oi95*K@aRpafS8-J1~0!zps!Qyz8k4R7CDt*lS zJ1?--B5rq}7COlscs=0>6&PO4$ToIjMpu|&-CzFW+J0HnFr}*)JNP&1>LmG;lG^Ao zKe|;V!H3FkF$a(=Akdy*{Pz#hA8S8QEVj|z!Yr;4;eM#9Aj%wj(vkwwRw9;6`dnow z7G}V~W3tlS;-s&-;q|h3uL>Dfm!6VJx}+f5nP^i%q?VQ}6zi8X2F5iec&Qeb<@HN! zOg}M*AZ%55SIWyl#E$mk*<>nmi>9ii++3FzxKU+HANO9a zYm=GLIptgV9t2GBL|oYwS5yCx4naMbE{4@C_U7+V>T<5KNYhf<%P@L06V(76SiPr2 z1)w^0Es>gRBZzp6E1J2O7NZZYEph+>spBp`DHU3Ywia#tX4L*MaYxxH_OQfO@!unm+pVgE12BHeZk&!?Sf~&@gAIwD zef{BN8%Iu*+`+spD7!Uvvre~amG;Y`H)77STy2{AKsEjPVYoS~JB|0msPz$=!3Ryh zQM^cXTm5KHeL(hFojxqW-5pn}0wN!{2t&yMFxOvQAa9_8Po2W}o>9ou(k`R&*~Ih8 zK_pDa`iIFlAI|9I4X|m??5c@c81V@ zRz>kh)u)z9)pxAq$(VF2+KffLm4%NTpja;~8I$Ce&&6-APHpeNz;RR-RDV6az?xV3 zv#p;vmatY)V=AfWVu}3OTQIT(oERDAQ}->Sd_8?8_@8?*3#?*>cWVS1IY@7eu7QByH_tl5TwQM$^g{Zo&Qh+R^MR{OR#S$ESeLzU2k9E36f(FS*`cB{0pQB=^r-0<==7=eM(Yln5FPk7ybx=sY9FeuG#mLV}^y zYE%y8&@@0sfyI~rIYD20CYk2nPk9y8MsD1XUvi9Zh`>(I%uku*yc(rMb)w{zudyS{ zE*Yi?vpbzC1m6dchKGwL)^1}mWbk8-qfh#KW1`_@d&#)+dZX-(*6Md8fJAcS!A*iu zyy+*Dy^PMP*j_A0Zz=U-n}uXeah9&_nV|V_bU_Q}_0`!FGT0)2PH|9OfW2ChhD`Jn zMHt;AM{Lp#GIrjrs|LlZwn3S!L++5ZsjhNrw)V9n=l%?Hg)&jQ;>U=}(N)4-bp;5; z8dA8cEiCJ1T3^s~oAw*F2C3XLUal2mR6+ZZR^+~LPr_p7iz1%1O2wtB&MqlpECq`7 z5bE5v_`n{_5Nf#>&^o5j*lLqj)u?PGqM|hC6@-h-F@lr*IA5oPb!{Aa0Y$DtHiQ;9 z2j>)1Cl{6;$W?lqxwg1n%0`T)wL~EMO(NU^m#!5)(RofU93u7(2RXHw_@0@t$hR)@ z=hXB{z37*dHHZ_>_VQTf7Ph6^+CvA+XI+NV-_4+hS-*8B>S1BrI5{<&f9=$CD<)JJ_qR8)2TK4 z3mHo8BuehVsd>{x?$0*fYX%4_L2cB#T97CMuGWw1!htNFmJvk-(e=f1%k^7dk2Kjm zbFLsU*z4f)tnb!Zun1(!M7h#qH71PO7TmF}iL@-+Ce=Dksc+yvOJ2c^E?ub~JBunr zRY(&rYsOss4S35ZU5qC%AoGvD`DE(8aqnHHjn49LB`TLWC&~3_Pp&m?K;Kiw_#N56 z>-nfkCOM$vha_gGV=Ez~1%Jft@RGK<9W0s+$WvEb4&Ocn@%rGmxSSz&3z*RiOCr<_ zt-uWnq5RPYEL{?ZQwVNjREgTNBYxzpGp*ec_q937(l78b$X4zqZ29F&yM_9;y&isSY+KxBv zzi2%Lyp9|nfm?5ovijIbn%ZOWd@mPUE@eaQZ6B!i9YsnO#S?=e=;%H5mP7 zQV?&oHXr_S=*%^3Cvf*w^dj^NdnRm5-f)3jk-Ag;$w|E9Xza{T$76!ra%GF;Ae$E; zm`i209UWifW(}UO%(Z-@@!acnV3^^yQPzQlIj~@GP2G5z4V?_1;01;mv@iBk9Quix z1@jnT+3nyY9Gjju$yOMT(jAS>tKwg;4huMs%F4WV@dSY^R^t&$MshIb15I&vVYL?y z5sq2y~gTjYOHM}rZj`T;<*Lp-$PiL>#^mAt0vUc zszb}|Lz<>#AS&CjHLcl@uMLkOTX}PL6^j;ElN71fw_-;-7n^YSv*H`Ne&e9mW?&7w ztFku7#$~gUr`M35L^*5`QP)tp&J0ei8BKyP=wxJSH?7%@=8qKiY+^ZH`A`HL3g05# z%Q)_ZF8EQar*SH^ntqPz?07dNdnG*3%w?)bd;ZZhLxdBMY`MF_DgV<2wk{v!D252T5giUE^z~qExPlvfjbw5wD4tXguer=uPiYc!{YXs5|vEgZY zWvh`~fdGkWV<$Z^J2mM(tho}OnCZxkgM}>bjm6n!M96py0G|Yj?}SzGZ&ii*5WL1N6bK$0dMogWMX4zV6iMmV4ifWy^$68OOP8 zEO_ZBKC%fjUQ`a0?hMRz68JSR;bH-@!2yP-t8*Ab$z#;B{muhwevs{_E)v>I?2~rH zi9u+n9M@$?wpTWz@H`}gba+Wm2d?5ip7H^#Q4+HsUA4|x-SvzOgbxbVkr1?4;|tAb z0e1h7yY}mQ5N7s0ee71wQ3rkO^0bpS79AF2(Dx)MizBA7Z`)4U-Rif+;-w69_?D9J zI8ZRTMzHfs7Nu!bE;vzp*Gug^zas%)*&-mk-|1Ar_9xe>Z_MD#v(RiAhad@=WGcHa z=h=7Kr+Bye4Pr$7&GAdmwCbKO=>=7opkvnoS5Cjx(S*Hp1N}0X&Rji*v5mU6KU7jW9k5deR{zStz+lWs?pb)gg&e49JKL0X3f ziZn_Qy8u4_hC~qWBNE!`v931F3Q{n;#}VuobLk_(|HjH2X)BI==_EWsuyIOug1^9T za+-F+{%n=+Nq&;qnnfvFXST=fxYiqE>?3?M#)6$BR$w1dyoW>9uk)6DB<@%Z;}ngr5cAba=+_WuqpB% zbGD4oBr6uANCU75ZH`Y=YbmKDCS|sy0!<7pI!5|%C{xRJlodd|Z;2F6j2snaPLq{f zb7;I${vs_BxSSH=YS1O(R2VP44@LzC4&>IROE97Dd3ck zIj?UQN%bjd?dXa)++SN}k+(EXK2w@Y+W?n$XbuC2m0sR-*7J}WmL8g;=bDm9)Lu6m z1dX6h=XI>OfNPLrwBM0ol1wtHjn0e{uP9E-tbtH5XdT7&EFL~R8c`BrNeu}ip*$Y* zvUqtJz*zoTx0nsk8t7*Bi9=Uea{&Hz$j)s`H-P_;WpKrsVK!)dIXm%Xu3l;%&}G;V z@uzH}rmXXeT%60%GOl>uaEp^GY7&IjGWMa`4qDZlXYIk}6 zm8USwH3D6GqSV9_R&NuMYTnqGru_1_9dIghQXXULe}CQAg;7-bL3olm$iI7QKDk zE>=U8vZskl8dTd+hEP+m$G?^mvzu;_3knROP1^JQo=$Y^{ZY0yEMA_@J0!?Vt)Q3M z%#^tm^?R2gaM?Na_6a$iv(sXnwMc8QdV*r-@djIT-8)oN$1Ayb6v=ewJ=UaA$-5pI z*9=C_$vv+NY)G9n+yHNWCw(^k+=^=c2(%7QWaPGjoSWps-b*xUwvBo0Dlm-~#G$q4 zYKb=sIZ{IW)b&z5(Xyzu8&(k=It#I% z(wUhNxQSAfl=bxzhYOvQ)**DB1B@P4UO6ilRz}N@{nx8vYoysc9S$3Chz?~YkF-_w zgTx@q&U8z$TTP`o_bo+A)n5}mQ&jcTVCg3dk>#9Hq1w}1yaxriYYb!7+T$12*ulr_MBo(!lyCM( zUWdHWB029Ty_V=-%XME*eBWnkak)LO3)?*J=cCWx65rnMcdLZFKL4Gp@^$pOt?hUJ z683BR`zACmSJ(Ic_SesUw3F2+weQ>I=Um?RtH*`oI$dw4>!h^puiY)mS>4{3w~veI zsB7M@vgO{tHQ&GfGukf!zS*DUAJ*?DDF_Jf|2H+~f5F^aG_Rd-#~nUvdkrP^+|%gB zPhWYSD6_{F{y-jc5xh725bKT~Rq1SGiZq zbTJ`}h@mWFlkO+6>o&Y;!`en|U0pO+{Snvi8}H|(`)j{C zrw>;jGv1$m%xcS8PHtTTWanDDctgW2?rlE$eZ;>++Xxmm2Db-zOM%TQ}3J8RpT!UdO9}tAius z37sFe#s2HL=@+}#qowO#+1Q^`ueA4j9~URZIoWx;S7OXu?@h0#2N&iHRjkjr1U;*B zP*k0zVrti&??BZmyJUC2&6Lg_4V~KUx}OG{OJQAyVJWZnpUX=}u%a1ROGo!_sa{@i zKekV~^Zw>7uOF)Bedbs|ZzhDz=3auG>34g1*$3LOtzYNz1mE^|gfi424@2|i=Cu@Q zWStHV>pi*JeZC8EU-yb|Uw`6u8-CqmyFJ~^O_^ODOlfD&962%b*qyomFo{=p*9=GhV@)?A~0GSP< zomy@?qTHu(tQh*#;bZPepp+uVp%%It`(PJe^5mb9xLk5(|E-uHT8ougCid&l9v{6a zUzmm8a>=H8Hx&&YaZ*{LdZpGLr!q%b7BnwVY3K!P@Ck;L08Pb2996d`BiWWb!tUay zy^f}OzS1LY7UDjnEkkvtnSC$ncDE6=mk`AdL0DcOUEosPlTmP2xwP$!;%q#n#2n$@ ziqv?tqd#6B{kSD;>CsW@Wt)&&aX&C;6nbIZ_6HKhY5AMJU+zEUGG0H}@blhVV*h;#vNmkt?Ghlsju& zII2g$A30@{(a*}VKECW#b@vBH&9^UA)6^^3bQboqZR8!qYJ3;-YzH_HzlC+hBrjr4 zdft9hw4<^?mBq$1v}&`QXHelk(VLNE+hG&Ou}FvSY=GS_bJT(wyhYk$dPmCV zC{tXtl>KxP!s#=%#ybM=mj%Z}s&i3P>mXA~)1p{YI6FdK-N&mi!Z^bIJ>_ZR=$PZq zTmPe7%JWCN&zmGEY08E%nOC^SO<3nB9KoGXV7IzdY3~7ko%&B;W$bR6GC{nF>qs}p zA(im>04a(GJ_G?63*?M2-H^K_EC-Y**G~8>$$5D2NQBRT`yz4=q5|eU?>?9LSvkrl8&;45jJg*lX9$g6oVaUXs5_;l;M&$Ld1^tl8evx)y$Xc%!1q_6=Kg&zIW zlB64G%8z0ju;5zYF@v)c1%I{@qk1k3{ZhIjO{_~7!+`lAY=9jw@$9TXGs`G0at0QD z(un(Vl+1u7?@Z2g76im%39Q-@J4E$|GJx-&k6%d$i8CpvAM!flYb*A|A8j1*AQF>@ zs0S^Z4PN!MRiiy~6QoeEyN=$u#)Q0B=gK68Bn!ViNA=xlR zI4ftO;@|CI1Z6>0j5b2;NZ>d4i&v#PWEMbnq_X56nz5pc1(Dx;9}QX$eTd=7o&kOI zz+L~BK3#Pv&A3tN$BtWVZ`oC`pfZaK?2vQ_v?X+hVG1hwejKjL5d$nY5o+rlmU45Yn~kn*sF zAhi$993+L4ESUV*?mNj|vH=`JmHF}EjRSPKWwCV?=FUu;2?{Fc!SAWyGS-TXrKQPU zNlfk3^TH1v!HC{SCNLw9cgZP5fmBq-!BdhuN4j}w6_eGr0FFR3#(Bu>R4Rxd>V601 z#uOq>j%_d!f>-wK%ZVhekGJEfq}SKgK>{%o9*25ADNm48XJ#?+v$LWngNU2%4n*%J|y#;%cx2qji2M-{`K2W($Pc;c8XWhun(Ko`7I{khu& zn_T3D>RL1_y)=5zYi4i~msk-S6)@V)Xb|72^Zu5xD7;3xK@vsDO(w8rDrHb+6aWtL zOE?tN=|3}S5YI^iIahoL>GOUI)!KY#WlKsQE0iq+DAESzo53I~<0Q1rHiaBwR0y@e zPAL!uC7+EU_!cLJZt8Y($cGV?- zP1RI9z3E{nQS4`Ro`>w8{)hWwktufTu0I8tVyS)cu9pg?{ZKKNmvIWG{Mrnd;fT3S zP5xz`8W8b~QqdDF5^$(agu9V*hGFyR4O4WIp{|Czppg3XB!&KhMb4dnv26s(gmXje zMbaZ`oDyjpv~dCQnDdpU{`RT#mpTAj08$M21*gOOoMtH0s-~_z_XlH{ojN)Gyj=S} z9q)>Qs+_#{n{s4Pluo&wEQdCYqD*Dy7HKrNBs&Z$nG_V6w=9kV2}$G}jODfam^@3M zd6$w+`~<*DI@&Psdd{S4Xb>yjNEBBSLaw=?9-_wogtPPaYR&gi@+BLvPp+@iV>(9P zNx#Wf*q?N@G)&SwDp@(c5mJ!l1!fca5L4T~CmOAaJpkRZI^KH8#a0GQ=lT@uw|n&N z9r7ToM`1y?n6Eksaa=_ySPe!koe%^$2`f5fb8S&R1k7ZBQW!nKoJ)PB*5yJB!Bl+GE$>;y>_(HB5h~ew(5B_909Z0(JuAfm5imi}fRuC+ zWnq;9zb@Zc0=GWaRYnpSXBVu0KD>aS0_W7L-uFy;BoEp8&48LrjJSfbNAdknxL|DK zhRqCFkKo3VQMv^A6I)sAId%jZigpIsisWRo3|+UltR{{`<4rm=Tce0^8in!0iX7P@ zKnr7)DZ%{5zyDY(F)Yi#n2_#xqhmml@I{os0P{kImdHSJp%*YUkekxnSFj!EgQ|o^ z!tysQ{!M~Z4u2PJ_cfwEi=P2pc6Ex#p{0wzCR1E%)rqlKq9;jH=D4i<5)xFZ=w#fU zn~%r$b*$;^>YzZ(uv`ccAdWd!urU-Q;HoC>+F?G7sho zhD@EPg4fT98O!iK`G17o%A(nijJux14w( zlLUPhs7}~1xuLA;Gb;!us#pl-pU5v9nC4r!#~Bms*WxcnQ$l0?PKM7$3fHxSTBrfc zdyEb`UUA}o=L3!2qJA@04P;W_uL9r4D!mimXux31=?<;f z;!2UpV9buI=#8D+XLe%g!n#Hpu8F@aVncWbu7Glk7ikUc5u_oabs@LsgxQA^Zdm+* zkW@aZeAaY8_90Uz3QFo!>+iY?7rDmAwO7@=_&0`_2tuMjoJBB7)P%Kj;s&Vem(e_n zw!Dq`D)TGyd(remSHSUC{tCk=4~?xr3_o^4oO^x<9DIZ1nQ<#ewl63Tw4CLuy8d_> z4gEU1IQ&?VuA5zt?xoLISgpzjf_j~*J z4_wYDH@B7s}gfYl5Hi7SQM)6McbSYg^ zLG2GUlPtcmGkV`QNZe0*=PwZr@cA_0oc;!K;X&a<-0twixw;I&lGkCvNbUNt@2x|w zB$fb9}0JzdPf+r=!+{Ia4=#acCah;6h+2!NfFD3V21t2{N=WGN(q@2oY-z zFDPsuK1|#VEn<3<;B9}8iS5mN=8fl=jYBIbgia*r{;ZO^dZH4j-L>IvrsyyQ&n1Dn z=q2@s<-&_&$v~NTF^Qjy_bG`}fUi;{1@xYhU|Y`PmE#x{k52_hXU69Kdd5)mlbq`s zW2;6J`qU7MGhQiDkpcUxfhMcnpak_}3b!m$LKCN7TnXbh%Bp#%;I@&oG@au)H)S$4 zFEt~wFr&6CUA|(>r!!+sQcg5&lqMRu(`&$V{m9tvCDo`*UCJqe<`Pc;WGG6YdKwcFFZ| z^ZSFD@4I1Q-t)e0_Pfome83NQxBZ{{F-c-H^?1-AAOJ!T5cdCiKjuGNB*q5L2J|NG z&W;8^OQ+!s8>c;XRR7*%HRoIE4CWCwVhF|ietky+JJeRNtkoXnGf90E7BlNQdO^pE zk7t{4w$@QbihwE;itdw=cLg^oOO2SH^52SKRG3-!Oz zTYyf$9WnJdTD&*m93WQXd)kP?J{)(038vsgK$spv->iL1p7-aY_IV`5ifP_5O87U( za_~=I;@KF&m*blD-o2RHO+H+w*+T;(LBF(Z>j8-z-h2OYKEYL)-x;m=fpnqq(8;qH zKN+;*{ioOw1a}B-AR*Dg1OWhQ%fdF_aJ9%k&mU?2JV185S=qih=bl)*V+H|#_wbbw zgdYEo#Oc$FZd`FsquC0Sr`G^QP-)E!vu zsKF0K^Z~(i=CDE&)5YTxuXGQoZG)j41$E}%@sWm%mFRb3bVFH=ftN5(H@C~&>!<*^ z_S=@7jcYcX^G8i`RE@{L(NHv21l;Y=&;Dt5d9jP)1-n|IL1eJE<48#MqfHcyZkXwb{^sT_7=BHWCmjaIJuU2?g8R{hD-LalrL@Bmy2iXn6~Ii;{E9YN9)BFY1*oSGH$q-(nPN7QKk{5|#WqeejTcvWkpURDON5moGO4 z50G{*$0WP0>Xl@9I6%{XGo7IYNwchpQK3WNF;)R}$5hL3ZEKAu7$0pA>*y5dDm_)} zmTBU8Vd3#_I-%is(tluc8gWwKdOZ|HE*R`~B&5ff2_57Ii|so;Nl&o&nwK7q4vT_v z(P!;=B*Uk3q9Nk3SNos@(Zdcp_H!)j;?0&beW3a}zpytx$nYA1Nj!TwK=H8X{{G&Q z5P^hnSGIz>v-0|+V$zX@amc3t$OpbOYs(lGoj0|%uL?X1CV zj%=ga{ri^MkG0Lghc{ZW`pB%FjyZ{9cNJTXf>2zsb;^Bm%9zH{h+{#@m8mLiI`t`R z3?gP}J*99pDv_cAKR7)d3cb|5{_E!<;Y`M&Dusomh0iHw0@A5QJd2iER_KbU(nV^m z$s4*v(FY9AtivE5Rkbe;t!hluvw?}G{0`5oGwqG$XN-xD@Mh*^8=6F6kpVZ=zyj{3 z!fI+e?nw>RqMVW^9hb}`syW@#{vVS16xJK)jI3*hU$p5lIT=|dQ{Xm6##fLVM(%V- zn2Qd)xpzfg%#8EDiV6+}+qNYnMWCvFIo-}(lS@5%AF>C%2xGZ=)EA1_^H^QbjSG8L@H@kLD5TGjCn296Y zbL(_O+jMuTIM$zLo624}0MV`y#_Qa_H|%O?CE}c-CBT%8H;RKTG*K=uGqy|8-Ime` zr8Jn28w6by_3bS9Rxvx8pk_*`-ZNJ!*&N1wH!My$(4;mN2UZs*a-n{IK(YC0 zqHIacA~iE9L*D}9j5%wzW}^nb<2at-i(4j{Ll7Vzx={+=S6s#WNebF=j>7MG;-x;@>k#9+5O4o0Xqs~;`7K} zRy)dIXD`VAsJQ=%>;K{WqWiB`-2V`A{ZG@^|1A>p|6?QxX9H^sqyJ4E=6{`7UinWO zCjHO7#QFah@PB#3RCJuy*^s@T>)LOll2kDwXrXW{O`lKUx}@Z`I&?rG2&t9gIC)>{5*D|HBKp>l|y zsFNJG*sMIG6~wyy(oCpzZq0M8u)NVV+Q=GUX3Dj^*46SZ+vbx<^@R*_IFT6(t%M^R zce_J#-tSfNr5b6IYnza>v)9gS+{|BkGFnAcni;MZT-)o2)H7hS z1Hc+uo%DA(i_e_+`T6;zg101nWk2Y;r=OJjd*1T!1Je)t<7j6{*NaNH+Fo}Nz6HIp z-JvxV+6%UNbK?P3a`_0GX;NJ)^xmWZTGt~py>0l=eS`Fq4OasOv);?!A|<6>0)%nh zQoJL$1kZaij;mb0Dz2?K1)Xm%N_M>yhP_iCp6Z<|>_G!&K|<1JjM`tg_h%raU~zMO z*{qXYPFkuAvofo`r~i11{5oJRka<4Xi_F~ZGpf*71kf}DUbVDJS*_aL8p|nKVIz1X zZsSfEOw2PGt_Hp7r>-8$boO-iAkfa}^I7BTw;VEIYWoamc2Hn6U4RD@0`pXv$7D^c7KY0FGU zqzR6DiHBfj4p$ryx}lxOnrLg`W8oGGfE%V^WOBxF6eB~hdsHKWV?o0y_LqRDBtgJM z-0IjqGo9H#D9<<`MUzdncDKY(~Ua`F#p5Akf~qc(rK&_xm0 z=|(&?z(D&?QA}MTKbGfVVyjr8c)|W2b-~#7QCLLJLsFRHArUrIZHWGk0o@QUlm+13 zCYGUNjo|)`cC>fWoN_pHK=N2fpe`(A{wtG&pp$a6DOr3{5jG4wl?t&UmMH0fJ57j% zAr_p66e9C288oKFB?3rO3HB5Pz;}ih zPI&MS2Jp4a_Z^i#zZ0$4DXi~Ypdypx#Qb_co(S-Esy6jl$O%llQ(~BBeLq4U^zNP3 zzq~(+es+B4eu4kz>(C>lU03D5>rfFA2*^LT%YRkK_}`QB|4ga>H|?C-ziin4!{@oK z?`3#ZH5q^m(tnvmN86yOMX=WF*2cw!uUTqiYa@|T?!xphALcppbpL^)q za=Ny8|Fx*mWuCfzBzu|aHZAJ1!mYau2md+2zsZti)1^tnEWN~K%YKoD*!v!J^3uFk zar~B~S=-exOi)->+y%PIrn<#*!wx@g^I zx$t4NY^#5NNvTo?YNfCZcA@lHsEVt?XN^6-QA zy6n@xPCyp@?G2t@m3C(DU1F*hcINKQ+JzIIN@%)tI_y&7i>0RN=GDD6$it4>GhWO~*3-bo0_fHKghM2sWwi5rNqRMgkb*pP(iihZ<%(kUk!GJc3~(@1%V&9# z_O{FHDIn$Y@%3ye-`Bi4>4+wlm7_!10(cHmEDOM;_COyFGK;Cc%Ata|gIX*_Jw~Qg z8t*TU^%Da}v6*3s1OKT%HKuC)-l;3+0tYI;=LhyjkpvdcQK2fh(LQU&sTouD1XFfl zLTVXa-OPk;-)7@Me@g@V6@3mkEP_7fPJQ1g2r673LS~VqV`JU0=nJFf2b%ekS7+@*Y_ksB9Ov9k%VhJFxoPwg$c&? zPs{*|rw7|)^2KYhR~{p-GAa*7ouBC;8uHTdz_PhVU1UH=H-p2fWn42Z>bY9#AM>DoDf@5}m7&Ppr@u;Ao5NQt7G)R%zd*3$4~qmRH}$5O^f zpeHJiB{r$J!kyv!oxSyO<^7$>uoj`A!Fv;GIvUZoA0MgI)J|0^JE*&lY3|aJV0fI`)6web9{dw??oPqtEqp_+4Z+Z9e^lT ze%nuo;QPyOlspFY(_k+wJ+s~tbo?)!av-(^d0`MLOFFs^H!Z(9^LJAO5swuVCi_=g zcdQ|>i7+Jr8z7Eu5p|>Lpg6n?9X>Ai{jj$m6bnK%7TFtB=tU!!dT*vlW+}j}twJkT zV+VmL7~>SuAhPNN=Fo;>GOm%3O`@t8g|IW?_OY|5EI(8JM(Et(f-sQvuQ?DnmSE~q020)!c*Tq<@YQk}fehdd$e0Wx7{QZOX)62?O{uwd|hbUl&Wz0dM;Eu%7 zW(an0LiR_k1LYtFYugu`B^1NaK`aEd>p;f@wujHtWSjIYa_M;OVtF^SYyA8FP#5f4aA9dfsJZ`fk{q)feHWLs)7II zcf0J;ZP3$n%6{MKDJTF?XE$)Q9r-f8!;#PG$HAN6fMBIvxD|wLT)6(}f#n13XcS(0 z_~j|tT+mG;>0^wNEl8T)P2>({e?SNgv0 zy$fxAo!#wC90PoxKUzw!d)_YZ?G>5!r%<{*pG@h`0apr&x&H5)k+nU%htDnZfSXW2 zjsM#r;7ihXSjhMD^Hg!>>-1r9nMrZm|CwL#V9336yX$5De*WJ7-!m) z%GC3ULgaIEEcE^QY2JSD-1GJHO!P5p|9KTOQ5Z|;cXzPstM_ynEBJjDJJa)i^>BIr zefJq@zn}B{m8&q*9X|1Px4Jzt^mV(Ms|fJ-_Ii4^&mHOM`pB60x^H1JPWAV9f4e&0 z?)tcIu+Ker_Iuy!NZsy!dA|m9H`%vDMrHcnBY~V}x_LkE`V!|0se1T*Uv|a{sodX^ zdOTgSgg!sGKc|9b1if#@Zcla-=Sy?51>YVLV~Kvn3VxCse4ah*B=+!qJ{BqpcJm3u z>PIqpeZ_A3Ob85ybQ?Wi-LG!fwAbZ8=u-tW0k*L(ZtYaf#z2)U-?yFC-ycX!?IZu_}--n@XnyLx@>H1u?T zDn|(6myfJZa9*i=XqtUk(yY_?`7$toa%AjFLCIuaw+karjV+%l&0ZD7dd{6(_WMcB zA1#a4)0at4ctX})CEAY}99!-OokQD~l2^CdzCA~1=Y-$Qu`e;647xtg&ABfh@y&(g zH6-19HGhh{7~0-4e4+vTF_nT%F7lRqQ%*7zU+Z`A!+tV6`fZI`iabN-)xX*XM-J&^ zZ5>74X;R6W{MKs9C+D&4V^E}kLXT4doqk`ZxBI^)K|zkM?$4$d?hK0^>~H#X_g7t6 zXXVG26-~oONz+HaJg+uxnu@A^GNo_F7B0A)74u*6d@=ahIS=;?sW-l4dH}LtN2{}} zawN?lpIRpbmOy~{9Id7?)9KcCzY1NO2n|Bv$R1hAn%ieGLG$6`CC90EKdW29YBqpV zXYEw$(Mu=i9?A4%&&WUpXn5eLT_PMPu>gnvT=tOJs9I`WjYHhD$=2su=iGcK zKP`}jA6U}sNX1(sxz=5@Cvl?mFT*u)5;P`3|DQlTyY*O%*P<&(!75andKMd=+ z!xF6@d(Pf6*+b+UIYanpN%YFfr!%TYUD+Co`TX-azbVUm<`~VGMO0+)eE#HO#Lc0)JXvf1xtNITpQg5! zOu@a%aWnhzBzpO9q+rC)es8`!0g01{EMrq~B#nh%(@-doqc3u1 z|9wx{4-QotBvUjZ{nJG`7_ls+PTdf!bn9LvWfS{6Vtc1$zF~G@7o%H#+ipWLImhA% zr?anQTlKi6yMYa3zppXUG&FMGKK%5c!gNw&(C|?Hpf$vMUAiWA9g<-7K8_nU2qGNA ziDl_(!cN~oXVq-(kDwp&ceEfElb@*`PEAoN;&`eKWwqB8u-Z)@!oiedmBCNc6Rj!% zjFevs7&!0VZh(BMLpXN5b-nPnKZo`SX+xvM=Ib399TpKJzcoE=O=?(-8Pr*#|oIbhi@!Eop8U34>#+j+81& z#+ljh6h26N@^=52aDEUR}Du)dEADSbR2Q3b(t zFvDT&j^@E>coYaMcMnON$gF7sy=(w`&{0?f!~Ueb5w4LG*b-Z(Xz)B)eKRRg}glnzOxkh@=B)8 z%%4VF9|qfzRHy%p1`f!_wsv!mf#6`eMQd)`LZ)su4-5{Bu{N4azft1?b%$L`TWg~+ z)?9mTbGVW8{nz6^9JYWTJwAvVt*Gp^78}!Ehe@X#-L@7H0lB!(0!48B*KsHTR0fC0 z$WSt0BVTLZColM*P>mz@7F5(HzTlUB?|z8E-M^nIpcErOvRlsdba$Ioa{ zz^v^-uVgQk_gBxu#fxdw^6kWq=P9cgP5y0LQ`HFqj-dGv1681i-b>a&KM{e{5Y4T9 z>lH;mw4Qr*0C%w-fVpcZ}woJ~)=6x77kx31HDd)IPD(S?CQMB^;0 z{W)%xu^GBK3?&?W+a=(-Ir`!Abh3P$yAkjS9g^k7sh`74g~vbOu?OK$rFy`yf6s;A0}S{0W?F` zVok>$!yp45A1|aISVx*SKVTe2a?>>0eue-33~sl$P~Lz%%Xfc;;dW>%xZ3Xqs#rdJ+CWZ6Sz*{LTPoR;+9XSi3-2b-Ty8sGZ7OJWlknnNtB0S zlwq6=^$RBF71kM_F(?p?XKokgHp@5}hRB*f@rYQ8%3_==0>kYwA{LVsN;F_qUUxKX zVQ1(|7p}!v2b&?&e#j|xCbtu7)E75lbFDS8+ArUt%B2^bK5`NUF(t{5UqqNxG`1F(+z`?!^x&B%9R$?Ci4@9R zwUl8ZG{2EV{@V^WRIlToZa=+$aHIQ=0PErGuQp$=`ww3azHa}uG5)4Uf-ww}44Xrb zcJBF}SEAmj8DY)%lpk55LB$LcSs0g&9m3`7uFpZTclD}eykyOWxCV)ULU_=+qrB)l z>`TDN?bj{Q9>#KNmnW#_?Zb&jfJg9i>QaWN2Kb3zj3N|a{;QPI&X;UWJ+8As-*R`$ zba(5vYZtC3+;@V!P8@MS^S26G+OQo-5vM)WsG^}Cr|zJrW3>9&xKNJ)VSV3^awT| zvsj_AWiqv4YD!_W#-q5;Z5kJKL*OIt7#YEM=^&S(-5<%Zl}YBt-dJ44p=9CR;m;<8 z9Y;fQhznzKAXv_`y-uz0g}#>Ehc~rR0*kzKrqb46mZ|0kK9JO|_#~mo$R$K*>s(Q& z4VsX`vQk=L)2-c2$!T&u$L0?1+?2K6pk=|eq+d->`7{mY-}9fKvKCb zFs3$DVHl%1CgGo5%XDKQ3SdhsYHFVk=ZvbS%Znxa8;L8L^=workMKQIghddHa(8VK zRii)9&#h-3XnEjmM48c!xowBKm#2#PoQ& zs@!?`@SMNKKUkfR^S3dWWF)H*EagI}5I{kA@OKb`xA2qOdM`I~K{4|4ILI3#RtN2% z6qNy7dsobeFI8%K<76Tn^7iP_PKxnD>F~VN-|S^m>qLy&YIT@>NK&92vNa=A`)Ll* z_ma@MsBdD9iBJ$wd9~8@np274p1NG& zp@&(G`;F|3P9I>eo-Yj1>agB6!!Qk1!_xwO28oDETNJvqlg}>vXNmPQ!@JBPV1

        W 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%0DTE9DAJ%EgL|v^?U}DoV-q}VtCmKN0JZV2 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%0AW($tRu{t zu_VjqkpbC_tch3WEK-DGX9w)kdPG`k`IXsvOGtKv&oGqmLDo+-T07WPh^2$|FqjS| z@KD)5d6A6YAH^HU*|icLN2+#DB+2xf+go^+qco#*GBu*5%EjW5?(m|=y@H)uDIwxR zuYxqXy98LMlT1nDnOU?ID-uRHpF}&qzjqryFB-jCe?6_S316JgIAVYc)A_wqQ%+{u zBFVBVTEZLxOiYSBNF&x_DG|TOxD(^7!Wi{wz?wyJggacbzRgLRnRVRk-1O!#66W4h zgHE5X4|LB&If@KFdncl6JGa-#jR(fqXW6QPp4=@xRa%|Ev>Hw-c2^|~NF{S`my2Zx zhZl_hDCCQp?9JAM>z~yYL|rr0B;a+F0u9h^?jg+Z-Lguhe2nt;TB>Hc)faPD*=41) zqUiDfU|mmD4uB|Ux=vmo6`ZgsgD9~>DdkLlhlV7vOoNkg5dtHJSMBhKQqGsJ@(tPc z>WoXAaoVyBHltue|3o_GYyIFRHQ@p`tFr?2Z#ePh#f1KweJo_I*TPfBX@`_uh6kFk znouy&5AvvgVrWGSXkH8O+ALG&+uz{DW?iqNBC7dpXlxmTA_TFM`d5*yX_A$_2Dph! zg7kxk|8q}jnHkTXw$wi(H07z3e&D`o{+BIXEP!HHs{VAJqQ*jIJD6J@R8ul=0SO<@d~*NTEVH`mUS1lm??_qWf zrNOrwlDJ^bG+G+~59GnAUldpKfCGc*!jGEib|uf+_L!hpx4r=yq)ja`R)fgb{bZ&TWneEGbGu3uug>pGdO`{%m3Zz1sZI)#jJKX%Zj@8|Qje-JZOKFj|; zH09B=&XfQ0uYLPTco7u9D9nTS>A7?8k^izAPw{5$@-+0c{F_39LEeA&cIL&;`RS`& z;KoZwPXJHAbJn0eO0~oHDd%BpQqE))6+3{{&$;31_K~& zlzM4|=k5JG+TZu)txbVn-P4%<>0fXTuIfmE$Rbl75!l*J}ULtquta;Y=)nM1) z>uzN64yPVtv}YIb||Ho|VUw(sM6v-+ZXGvDjs_p}24%B%u?J;M`l$D2L~!RJ{y0lr6gM15UffLm?;Xv}Q< z&->ra>YKW}yV+g8m#d3_-j9eWf*JcOs&~>K97P#WFaXehf900i%Kx+Z&qDL>FK6Ux zX>H_5$4t*b&&Kd?$Kc@R>geXmprS6pVD4b=>cXIErpX{Ar^4{R2V(iZ1yVM%aI-aX z{!c&h5&hGJrCCpzOU(J#Fw8Efm!`+{s1?hpS`=)mp=dJ$LFK3t9OH& zzRv`QYXe?S&!3nJ2YtQ{Z>OJu<>|$jpU3;h?}*vFpQDj!j@=!EKHpCT5quTyRfC5H zKOetyompPLx66^M>FOJKhgyz=`uyJRZ)?w|$Lb4=p<4W2&;R1=o0f#(p={f>ZQHhO z+qP}nw)<<_wr$(C=dU_vUSO*BU9Pe!N$n&HelHp`erGludVLPFHc(srx*9{8}4)Y+d90y zKD<8u&R;eB&F)XV+#f@`6HWB?taS%c_B?AVYxew{Iy-rzHGjQ5J-)wHUvGVXzh7^4 zJjZYOJ@2Q#$sW%qKQBx0{J+-+V`o^e7o~f=zD_@nC-;Y+d-^-w^ErLrQw}dWLtZ{F zrC?vjmtO}P(Fd2==xd$sUonRMe}|{9rx)zzLsRDZdw%{ehnqh>u1}AzBQxoBc6*v_ zO9ZSRZTRz(y1cl%T^<}hpZ7fn!O`LQd_2zdeSa=p-{0gszs@OwO8@mJ{btd$2JFVS~)dW~)LtiyHNbII9vc6N1k zKV5xUn_mqHZ~hO_xdpp_+aZ(kMJsRoAKy(k#nCr|{5;=BJwKIybpLwZ?1%iZf5+%G zy3p6+?f*k=sxHjiUh#>yX5#*3#hqQg{oyrwyZs|d|M%48BlPq?1l5P|{Q+^m9ls6n z=0@@PK8~+@RE7Ps@Ol?(|I3~Fd4BEj=jP^37Q>VJd0rml-`2AZ(%0>Nk@*cUXX52W zk+e+2Fq&_KbI-f-F>cIlP>(*Z*&Qd`)`aza}&O=0G9eC**B^e|#S3_kKP8=ZksA z(>@&R^L{uIZNAs%%r4HJM?Cf2QL!)e^)M^UIB?y--|qS0(dGAjquel&+=fpz1CNUL z`F?RkK1U)(m&fz>dU;WGx9e9cW}ce*x4!|8-_!o72mLjRjQ$Xke)+lKzGjp+2H)4? z<@YmNq2;nHSNs{-@#azDUm(u6sNUP%>3jBTBsDQr39V*ucN*N5-xc9UCj(hjmaknI zZ~VuX>3QGQhfI4BXZQ8{^EEWIr|0wDK)-IHSe?hW6qWPP=l!*KLdM&!}@hcXrVz`=0{2yf84HW9JWuPhEtTy&`-|7vCxdEF zOLO7eZjRF7mM?1s#zu*qX5bT&U|JR9YFTm1S6V}$R9NsG* z9)+&Fc?X%s4QFbQBix0zP?c132(@rO>R*Ww<kMoiWwN8!hHuETqTM$p6Y@T~~Ddh2gD-2s%c3vNDgT zYoS9e8^k(ecIMYkg^3WJh{Ppg-jy}X-qL_^^7 zQ;TZOH(Q}dW5&4Bfcb~wLIc@fR10zxlmDUlKL-{R!pnM4f9Et)YBtk|ZH|=*&KgBx zJ|dBugKOY@_|9(UWFCptrJ zPi!h$Z@BVG(p!aYk}1jAM7{o#+&X`a;bK;A4Aa!NOly|Jf}&c%jRbfp-?AF960PQu z!c~1PK8wn$TC_tF);m=rRcc?2Vsma_!4uguZ#nNT8ld;$mv)T%Z?e4Hc%miN$Tt>! z@DSmR&axL?Y)vx`@wMr#s**cx}r`ny92iYC9s|q^ZEh3hFGI7#u=CI$zWs^jfROf& z?Gg)wM(_xhfJms;Of$Ti3Rmha5O|R><|rK$`T-Q0vFA027zJ~~=lHw=bgOFdGNqdQ z0{`V#*wjN*H?CWDRQJ@PD)Kdc5JhBu-A^{&{%lV`;^%S{cCUtt`N+mFNTai<{R$A@ zA}ba^FA=>8FAGo5ywP0r=S3PINFit#8#(U;n1?o4=S0|VN`6MB#oE^^*@gS|VLr`= z3TaSZ00XlEph7vA;UH1MR+up|5j?VZ62y|ki}aHf(Rc>SJOR2AjB|R+zffEEqhL8e z!E$IiGVm|wn^S8A1(l)}=f>_=4`TpD1E4hoB^Rxv*K{X#R>;&w+pjsESb}5?JBE!e zBswfP2C-a7)tTK7gH#rkgjOCsVSz_y!&NYwaMYJuDaN==L8v7mtbLNy^br)kiV|Ur zCO1l;RfhR1Yx=~#{yNpF9vnV%{nnk?XNrna+EHvOnt5%=e`lCDYgt?V?~JtQPveKi-Gwk0VXTkDU#)W zo7S#11!!%^Cbj}#cy>V=! zocc*;GHp&o)*uPTHZedpVnf8?!B90zU~S^c7o`ioqM*C)W60fjT1Gmr^Y56hv)d{- zdQ^k@U5)`+!H{In(3jYA80fQGwxA$DLvycbG$cezg4<--dYE_|YD>HE7tR92qRvz6TULe$Tj*K<$_RfngTn92@=c*q%t3~>qg0}EaA%{ z53t(0uDjj8&vn1@#ePGUk3rDfbi4?z^UDA1RhmM!)| zA|?WDwTB*nQ9to=NohK41Vi_;lYvc8!QH5+ztvESBIf~Ox(+r^_C z;r*BdWD}c^pjc6;00`?PoomUc+4SrP?LSXMTW9@o&FAO11w&jmLNfT6j;K~@wKx$^ z%YAZ0`+r>)c3r8=p%!_H$iBen#Dg;+MbX;)zEJCjhiQ`QGD!m1C|0^MZ61-C8D_m8SZ^ckTI}_?J2g6SVJsI)_<~rR}q= zp9$CoyRA<@?`V6{$m|SP`;?N3MJ!o?t?Lo44SFnVg0hQ}5DCk^prJqJOc(JZe(0z` zncO0fgNVa=X??M&$c@{tEryL6Flx0P>z4&TlNr234$SX+Gdmb4-0sp3)d&P2p{zDI zoU#Ke4>-N~re{``w(TyX>WpBbu6F}b=<+%}Syj@|wd&z+{|06j#&Tueu8@~r+GJYz zjQ_nf=ImS{tJ$Cij6Ej(XaaSKQ~wJj0!`t{Aw1Yi!?NgdS1y2st|z3mW3Fa=MHPb~ zC+-E5y$lHT%PZ)>0@J5vdv~zU9df`Nk~f3&oBr#g?X_%szn5^)7e-T)0jCI7)wY21 zAa?-`o9yqvAghXv!8P%ev{jfarbzaOn9Z$H=s_akDYPU+x}7_&W$I;HuWE zmu~pgdRS?ybh~WSL^vt}r59i3+(mKSLpUx1xGyhY@AMNLk|+Y~B|!)OUbpz=iP}Dw z-MXPiO{UQAP9C9`r{U{s5F9zE%y~%zt(BJ8KvHVeoQzUc+oHkcYu<9YXB8+4xiR{q zf?A4d#6r+gd|jZsvjL^v8jb42CXvpR)Pg2Apl%qZDGs1%g`q|`-m|f$N8KEhZ{@g=3J%Oxzfe!4fiUr;C@vYt`U?rgd?6g zzv>Xa{x59so5}8AK7z&aPSYksArxzH(qRxb6X^Yp!zU`UBA5$_6jC6mhlF;y$L)s# zg79TK?vryGZek7Yk*grRT*L3#39?5g`Gx6U%a@c_2g;SHJ)NKb)yd;%y*^K_>3?HF z^x$szBlCk&QL>YdU2|CG#`m`srLDrBf55RD-8lV>^jW?a0%P+E@M?8Yv0uP z{yqKtrlL|nPqr`%(Hf-zt!&S*d!PqZn%ui^1}RT9{9GZr5+>$;?)1k+Bxm~CH0R8e zCf-~b*^4z2Iv=*|2mn|{Q{#g4ca)lZdnjdjGxN!J7-hK)Ie3UIc5TQ~vD;o+%A6Z9 zEF7IAz1PG}DdOJYIxc>_A$8K?snG(QLW?-K5HG3M|UnNGl%alXp zpe$mHb{ND55-jjmO8c&{z*$1#>p9M%I=&8a7Z3c9@;~KI3K@lzE?n_Wydhyj%cK&j z!VfzYn?5W#MxHXu28FklkTOq|W>pbsP^}A&9J8e~?Lmao8@g%Hs#v{2aq<2&K=z#Y z?XloS4fHkKQC4uW*_uDsjW5$nL+Bi0E!Qdt^@D;i+yx=$U85g7-VBXn zLLVU>q1LQ|6yWYpwsrW#OTtO00YZuXI<6wFBEAfXD{!5_oj>$z;_oIt8fZlF-%|u<1eu zcU&sbMlQvE4uf6CejJYd7Wt-ciDQjF?t0pq-c4PG@=!OA2Ry*!63^y17YFO<@ zs)-mEl+D^#gkDs?E1VmK7BQ{+-P&wpS;&ykaU^iV`JqG4e103kZB7h805}>rP&gbZ zrJ!ik_!j*TX@!j-F|Bisq?lCGfT*VdP|RSdwVjAx7R23TU58bfwpFiGn<6QZEnMB{ zqo{^?=&PQCY+Pl0qk1aZ4k4dr;L12hL+H8s;h+7;gfCY(9z@qZX2t>$_hT)59N46p zdN%Kmc2EMzK=TL%4cqeGG2J(helX)L;Hkg~CqDmap0H&Cf5DWmy|@Y4YFvohZDj%r zz?IjpmUhAv;Lin0Rx*qrWf;NBBI*GdBMu>`XRKuuai_+uq306rg?1i-5(FX%fM(sU zS+H+HN*J$i5Us$2Xj+j0QZ091f0rAaJxscr_MUtq+#(CQLGscui_!8yja|5J);#-W zt5Ba=YS(4Dz+u7}b)E4C4Q_M=*8-M(_ZykW+-|>s4wlG3<((>z>uvQ0JkH5S(xg!3D~aw^UCJ# zLU5HdLCfT2u#yo2`TRKvL!gQ9lD;fi!puC5A)OqX+zmy^) zCO#ck7+?_rBO1h3_!kD>F@88!9<2@r$ZP!C5no7OD3#`@hh7pW;S+exO0FOMp5`lj zMml|v={t&Wuhr_BHz+I~Esa}Ke;y@5q6uAn%2tfEWGEJ$$hVAmH`TtBF5JLU#FKSu zUo14*sD|SQzK#5<0dN6Nd&oFWKiI}m@r2-}{NiGw`RfaCzsObcn#7k67T?DdAxn&#k<%Q7)z+9ur$X0y<3bYult z4-cbR($xfbV|Oa&ZIdP=a#6#H(Xy}3ye&~eEy5(T7V{D-A~T!U;5l?jM_Jc#t$4Gk zUhJ@rNem^vW|XCYXzWrMN)jM1Us?B+{@>xG3^G}~V%4G$!n)rDFTeuFv3MHi;AbBA3^a@rq&7#O$(@GiKzg-X?@SU8!(+-V-~*gkD=x(f~57{ z*en|{L!Sf3Twm5uIRK1IT9Q3t`jY%-H`nKHBl3=a_d^eiF%p@@c=zVe34;2;1RWX~ zqPuPX9V;it5eu+XfdeSLUD|3+j+43w)JWOuRO2zvKmx>#?R*Qt`E_Psf@ z3Foq%yQn_cB%h;9?s|CPeB?0Bu|*Vx?Uul0Tkzc4pV5E|iS0bP0W0P^k7qJ;CaZdR?6l!45t~+kLf1Meiz8*x zEZR{RCb$4s8EKujxjWMN89C6;amr-RnCzq`y@zVy1mYT-00mQH^WPTBTLkBH9PfI+ z1+2}W-V=T-`UY15YQ_>e=DV;8q4dbtff zI62#5ZXo!K5wyUbVLX-O8lw;8FWN5=`K(s7F$*m?IX2)b&Q@h&eTbXutB7kOEC#_B zE-b`U7|sbx*dOIU^2(d3$cHCe-W%ysfAlEc$4vs*SM&7*EMDX-sy7xG4Q0<510u&) zJ!v@+mV-lQ!P071vPnde8j{^Q`l$KYeB+m5h)>P{0Z@<<1R(*i*f-_5*a0(uyZ9^@ zd8S~>AgTgXduTD5EW#-?vxw5QIsvnh(x(od8Pc+NQUET>z!D}W##DX$?*gz0?^1zl zKbG(60|$^%8Sk*%?TC$gf-HiQi1fbo7zUs#SP%!x*w5x|5%IuGyE+ld$;q{xD!3f? z8->D+Ba-$LGls5J?sydOPo#kuiP(D1op>eopURJJji4)Bbg(+Bb}th+%tV8i-2@@$ z+>0FA_swjOs}H+=K`vzTw~ZYxn`GoR*R}82>dSZy@ZFkSS6)4#LDYLNBHAMO+B?Jr zvPgC=QQ4~i(+-PP*`gkl3*J&U`O>~IsX)RQuVMc}Qxtn-!Y^UtEZ8I)&yJEc@uC3jgC`o9%wtozaQVFP0 zKB_pSRmeXwAvJG0sJrAi32DD@;gE6Ibgm4Q^3~QuP;7eE+5a8@9E_6JM8%!G#8nS0 zx#W)sHz#&0o@D$A9YQHo5iB^y>P|cJco97FlpGoI@pIh%^Lz1@56NM1GBWul=)r@x z=N0ZJ>dhMNaeylK=oSlW!creX{_USiC zTBT$7gsf5DTk!Jyl5{2S=(^tY+HHCHUfRU+Mpu04TUm5nTf8VK6|_+Rf2`28+7o_Wz6fHzsOEyJFQ$Re1gczesDU_CJ~SidRlf0PaD6NTccC)Lkcz zx}K^Mcun}_XS_n2^e3n57VdD7rQ^yk;UyYtL;E;Lp{A%$BJBLGQk@}LC{(Wdi&tkF z)Id9__ziAq)*o1^S44AtAbo0&muN|lwmaJ)`K`s5)vnE7Ov(kTxvwW%M?OlGN%hX` z&tk7=ld0<`w%U-%XpL|)Z>_VF!%2=5$Df}Q9<>e62BmKvP7?L+0HxOhwh%ewT)bl? zjD#2rKmMWNJyP%kH+0&!aV0S!_9fTp=IJ6}NwJfOZLG|}YlzvPNgLLycWWw;v< zK@DwJeRM0D!DR+B;;ayD(XM)~4R>|0{@_EWjO$1Ii=EiBLOqsDnvEWzrmkM&0zz!S z?A_8#6jP$}aZAP!$q1A|NJ|uz%=qJ7F4JQ1AVHNF4y(l%mvojhN6PdaY^!W+PlW^jZ>JOPX${IBE|Ps(p0(*b%A`}jmq z*&wY}a64k2Bc8`wtInZi;ttCw8Ax?4(O%1OsNfVFQ_Y~~>{o~+6b?(372JIjVWG23 zb8`zs<5(f~z+w#e(yGiDP;%cytFT<9dG0ti8o7X62Lr>=M3Y-L7aUpJ2!HZ6w{-YJ zc>^Z9^n3b*Zj~Hv=1tp`eSPwuww^@-(HXLzF^@1`9u$s!iT>b>oSC4KT&3fT4=joZ ziNU)F38E^_6KNdPm0kfVNA+h=%d>Z)@w!;OI}~hqd7~rOL@mB#8~&-MOoD+8-Xd=z zf0Hn0KZ))WDAI$HMw|{9l0ri#y5iuQdw9I}2-5;X$VIt<14ZW}5*wWa#lR>yjT}6L zwOU5IS}-^Hr2WVM{Y)IoRd*&|h+Z$<8R|m^hu>>Ou8oBbCpFTEi8uqDf*4}PRxkzY zqAP8ikjzpEGTO}xEnPr1G$5=Hi!@yI(&QKLW8l`lS z7_QNr*N}NmBigHEd(mc#my;-G$I%&UJ8W}0g5QO>VYm2f{u97 zkF1kYnIabOY=F*Vv79FB9njZr6?hQF3Re#Kb>T&sa0P|&US~`fO8f~dFwD{jF~TTW zVikk1{C^@PiyxbCs@Y@Nyj`+U3rqvQhUBmMQHyJb*TOr|9)cCcj5T`Qr1&fL?b?N| zTdMDBO%KZgc90Y2`(bv;|B@0WTLVlQtk@RYrBkX6HB)bjQWhGp;FVJ2l4s4tj z7!NGa!?0F_V>mR|o9p!{Om!o9?&t(p@{M2QR|A5%biIK#x4w>5K=LNG;H6r>4w zPA5sj%?ruD$5WeG&*adG)tA6&Q#Bf}1}#wr@G}Sk6<*gV3y(~VYI4kbvUG0_#m6cV zXP>>@r6O)f2q(D*<}JCF7V~$qb(~!U@)4$^3@ErIfs%gOlclvsn2t7M4$1Nx1q9K| z%nP~5Zq}}OKz-}s%NYqQCZvfYMe#Ncoaj9`~FwY@uUZC?`vg zR=!WXX2^7C6{0oPTG8P|AX+O3Of~Qr`w_^N2uA3@8?@1y167UsvO#ao`-9<2tg! zg*#vg>KsA4e-7YKWyAu6D)7h!Ci!9x<>^Y=5eDWQcXROk*r28`ajRTycf*$4a$(7& zMr3;0VG@TK4iblBxcs_CbhSv&~-Zj^$3f z@GvTSv$t0Cji|jzsMsto5PA^wZM(lo?tgS-ravHHPsPzF(yQIn zYtbAy%Ao}ks^2SI1kOd72o&KPyW-+;DRV#wrcbu8CL32GFP@W~v+#-Yh;Mw2LNO_1da2sltk<+j;a;lPez zH_VTFbmv3^r_`ge{RLId=VXfR<|yNEvYWMR$nLJt6vn&eV*`X5>l}`Fkd>g8wV}&H0*VMV8A4v>&3yPfH%NT$Yzx&BYK66Q@3nA+bDk(V?ojU z*~o0fTn)XAPSAL%zPv?kj-)6j(E`d$2fxS`4dt91o6uN9l%_syXQBR@ z3!hVp3S?FNN{nv?v@4MVRIi@Sgim^TT?D$?b#dv`qzL~)s$2%ib7IiTNcF3Spm%c! z?jcILzd#|0#=4pu(XL#{nlij2#6BSHd#fX)Ki55QD?LMA{8t@O7NO)m&-o2RA-!T= zmhoVUvyLu*vQQ-3p2OeCWd&G}JBBdUlX4bDGA{g#gUiw-bHz+^)j{!#+R-4PB%Hcf zHx(CjC_Pm;VABqu)xcoL`HF_ZO^fha3l32_!NS$Fe^qf%wG4`GA4wchRIs4$`FsH8 z@2z|GJ>kqRLo*67f9Mzr{j3PpY2h+28cjHhl-jJ^(AsmtOtXF~0GGD5bm+DBE(QM2 zD+&HdzEg8g4*xDOk=f3fq`yQHXnl4_*;EyJ()lVRfLFV@H(KfpH}%zWjv~K%AX%Ot z5!851SueJ)|Mayzzn_t-J^pU+Ot!F5L6#Q^Rp;|YIoOSv_pXBR4iug)>VCi`FHDsJ z^Tf4dc*kD~e%Kpk4BWkWD2^bUeH#(SoFzEt5faa_8JJ?#^op<7@YxZIl!$|EdtXbX zh@aVgrD%sd62L^#xMy;1`XXfl}VP9t0LDCJx zabJg&a-P)6^Z}J$umWe}?BDzdp-cW8a2Rr!gKP)&GMV`7#LGB`D4v2l*fITIwtXkM;F+o0j91nv|eL)Fn@PU@jw#D`$z ztTD*$K|+SFgED?Rv-o_Vta`eaDlN2Ox>b4KUYGLd_W_AGbxbpknKmTp^AU z7XxGg54# zFMznK49jex!;~kBt$Y=x`v8-;YTjJR0P&Kw!Gq_VIA7(qDc3qoi>4NkfBcuC{1;Bv z4eaurUTMtaNv6qO{*Z9!eWLB%al71uVt|`?QWI(^E)3k7d>k>HAhHO9t@x+a30iG_ zX|2dId43&e^o$>y51*o+o^H-0>N&BIIEGh$2^+4nbd@jO#r_fVDaBK;i96(9=V!4T zfD81b0oCDyC6DRVk&2#V@yq@G%{9KE#LtJ|!JvV!z z|1#%#fngN=1kz%m$xHivOehOeQ7Ge(JL+g-@J(uzakWeQ0(Bh<5uqyw>7#MIauB1V z@q(2^F0Q@LRI@}VQ8QQV_Og>{Id>a3$%IH+WoWS!f$-Z8niwQ&W3S&8_UPIt`OsD_ z?PD4rEgpD|K1&S%b&nAsow$^?eO+SR*AwlqD~2Z~AY3v~5$@jKQSy|7US~sEe6(_U zFQo{dLY=>drV`2UNm#Zd6W~_776wR}R2{3wIBOCMVOL6hV1ns7%#{oN+dR$Y=+11` ztP&DcHp#MY&L~}XKZIUGOPcO5_gW;^Yv(?Lfu{5tY}k>E0P;q^zhsG8PA-wkK4fvf z6Nv$^F2T_c>YaMF{d^?j$f8oNk;-0X&^|5!E7vFTLOtQ|bgO;;kZtTQK_a6|{nW^3 z4O!BkFj3LC^_W2-hf&t@}i z<%r5E<^CD1l?*jT<2j-59#eQ_jPfSaO&;DDMHI35POY$Pp_uo`yec_ol$Qk81>hw} zI$Jtgd4>l0h>^9l6w7Z#UNOQ=J5x)FqA+Af+4kKmTu{pO0gR!j|8jmTAzBBgp+1s# z+O8eQ>Ll11ibEZL|)J?4F=2Ts{?bbD*nZt>~Ra-MlWMGsNh8Hq;N`@I1!a#bAG;kWYk?*00r#Ylr ze!=fzrz9{pjyWJ7*_NNj1KVxS_P#zqf=DwJ^$xQh=nAe-&W5~DdJSg~F#7%_4cP?q zoEefUJGQ?p!7Wo*YPca!pe^B)PA}Mu-YubBBxX-#M>~_f=&6XU(_%-aEdE97HnjG6 zMymT-lv;nnIjabBsP8BE;G`JG9V6x#AifW(3yg3?qyjp(I>cmuzb=^b5DDQ9W4ec7 zzo|CJ7hukQZQ7DxWf0~jujB>@%x1&;8)NbEOiSn&`Fy!YOm)4+gqc9B)kYCVz&mj* zf^Iz1F&(-#R zCirU~e!hOD^Z(Q#-P2q6xI7*9^}Z?pd4c_fjr;-qKZ5oD@}XB`a}y5#BW?>Z0040Q z-}ul9s)GN~p>MRdl2F8xe9x!{pM#pUMaO=ao)}hv7ty#OZK71>;Eau}K~XA9=6AGJ zc?qz${P&#YOjy$|MoG5PeG$Ms%+$HpIC-C_Q)o-BOdANJPn*{u^-O2wRhAw*YU&qGo^mTr_ zw|ajc40`<@VjosJNPnx$J{_HLu-}Yx z2~PFVPHmdD?CED?`^;z7x(}*8%IkVRdPd(r4kx>H|7>RI;ZCjk1_-u#JX?I57_;B# z+0wzAc-iUccJ+EUYUlKArn_zq#Ct68PV>M%rg+9jo`$gA>K=wkXZ3u2$~E!ho<{TW z;lro)a&x-9-)?uclzZJ9ynP?b_B#17@pk`SAC~OXGhQDG@n`pJUcH;PzTZ~d!ddzM zHmd0vYtXOGGOn{Q?HpT?HT;q&QOCiC&-s>u0ePUp(^{QW;Yyxwn=pN_qq z|0a&W;mgD2@s6&!oj>2{Pvzn9`86_No5Rp;clB@E!DL*dW9{_ZUU+wG_%es9qWLO+ zPEJQ&S6)HY+Zl)& zXLC0SZ)<~oHS6sh zMlun0Al}#uK@187Rwulzg<^}}LKoi=9C~Ch)M)F$=}^08IAE@cLb5rUSm>xhZ?DnQyUE`hq13pAKKi|bTGA8cS{FYEy_X$ zo>m6(LX#YDJhmWctzrmnIvGPga{jDvfmqWQ5$-1yt}*^4i#=qs;Aky-HmhO9H4DHM zn+)1xE;{4zm{+mjn8AXZQ!;`}4sp`vuJPzfnD>g&4V+AhrUr%oM7Y!X9%m7TT|bCm zE3E`)7|)v1jRM*`_r^hr9sHo|h&(VOpV$?hf4xB94_G$fOtF5E9;slEZ#7p~DoW{+ zK&+v;8wbjpvP%t)5&bZoP?mvUlEpw=lpz@AnyB;j3%%QFPVN(>ss5Y`1rA@^7UO&{ z%f-776uyJO^O9JMe!)QA1$moBw}DD}cFY=rk591Y9?ifp4XQyh$>vZVXH@cU=Tp!9 zgq%2hDcnc4*IDWLm;+%Uj3ux3G}`}M|a5>kP71aC{g+-k~Kd(-q{aq2x9sb^$ZX) zDhDdTV(C~0B*IVibq{2CIKXS7BEAI=4Usv z3X}$XW&eOx;F;M!HyK8Xd(yd<6UK$6!q<>99T?@tD9wa-+|xUxwS2iMpWnc%?8Y8q4K` z-#cSOR10lR9pv{Vag5chWYj8^Aih}CtTLyptv8y9a*PD(tbpmH-VQ6k`+32Y78~?S z`0*iit{g|G{rm-R!hD27?$3$vU~tmlw#mFlNh>kGu6ei|kj+Ef$7FCE_D{9vAJ^MKRG zP9!|{dKREJrw{-XJvXm6&>ys~eX!Os_FwPSZ?q5^Y2dSQgMNBEj7o*LOn%A!0q^@j z^IPgCN`UX&d&g76Dy+T`%!sGeuBDx-5SU_4IiX|#=OWQEsV8_D(nt8oG$azz1#y)E zgzWC`6G$DePgt|B@6Im}&%m)eHFt;I@pTlBlqi9C8EK9DrVZ8wcL<2_e-4Nd!B#GC zCL9}@kOF45N(qA`FJ~*ACLM{SEDn?o_7+GQVwr?A766mTVcz%jA{-L}BbcBo8nI z2Z9OAypkDjD-nkDyZn;yNPri~B@CpH>mr=;2yUclPqqi9oJzt8!sA&wI4=-u;MEY5 zJLdvA&cx}88YHrv?@GijtA-+d5qU)9fKrCZr?Mr044vyro!ejYF%$>`CmsMCb*x`z z3PR#?2q&F@hy;RXSnJmu_&hF4lz#!PnvQhro}`V*8~q57SH*?#C9@6C7aYZOum#J> z1_b{K>s3oX5?BNZ?PuqVj2RRqG&!-t1`&>1%|%%jV^GDFfX`0H9~^dvKwjwtjd}OX zkXRIzKj$^-mzqZ(B>0Xx&==u^F*>h+6DA&u6b|`k6wsIn6@UiDEQY=cgoQkRSRkXI z$|wv-2wu{B8t`Cx!* zgmkC+?;nH#D+E#?9Vl01e!5}AGLdDcxuliE8Nq+9tFz&(m^$JCq}PgLvBQ| zVw7=H&g2n-TU1n-Qd+6k7%(lyi*u3*WC!C8T4+*JV9w}DHmhEPylFtH#iNDk3Im}h z07&p@NW>+Nzx#mD2sk}xc9iJ8uN1BXF^LUm2A52f>>^2f(|$ls;9o$j6CwKv6aQ^aT?ea|9-Zv8*CtTaM2@EOF2_)Li`aN@d=QI4O0vxWy^zEF*kXGE>Ix> zG`^UEQmLi&I^t0@qLoR;5@}5LA2cGYgc)+OB1@I7vu8fZ%I0Nel2vK|%Cy$}1=vpp zHZDRwLXE~=_Y$c&>=XKKx`3IqEF6&5$Qr2uw7j;1D@~us$cnKPVhQEzRqAa29O8>x zYZJj{Uh(n?TZ7hsuO--O(oAxbI#*X7QZ+H!%BcE$+avpNCL@~cmw`DUvCf? z&uW5(5P$G%i&r}Q7J*}3imr7-ww{74c{6;?l8g9uw+kO@&l>kR=jE^T| z79yc&HD-9`Xgj)LH@V)TnSDVowO#e-4)4k@v71fJswrrTF^19Hge|Vhjs3%+qOH!B z*u`4UevDx1$2>-0F-pC-LturiAG%kYtEC zqYG*jDM&ek!*75CGK!WB1~ZB@6EyI4CvcZGgYODyJbnXn@}8G(?(N9qoCE{R3`B4} zJuq;2*9CB|JWAmoV>%NKW80_9@lp?VG4K_*V52*t(H#*Bw>#oGufrfXGT`2sFK)(@ zVHBg$Pwy3`k72imIlH#1AjKSoqJ%)6c1cwa-4C!iy_n&<_tEO;b^p;!`blqzao=laRJR z5{G$ueZ97{y%Bd^{Z~|hnEnkR2BOCyRbpm~ZQ_crNQH@DWb;u$9!_^>D<&ls!8-ad z((3H6>Ge*Rs@1&~$P|#PiAF0G7{fXMafW=Ub8v-<5tf~j;1m;#KJItw;^P}l-js}X z#-q?3^urrAS19fmbKegF^uI<&!a3Em`pQtH9Q{OYWF?5tTn)mIQOBsPr#ZkCgdSUN&au1+lwtOrng#Q`}{ZN)ZIyjG%LqK?FV7Thi+usfSB&bc}ZDQ z+dLFD%gnXv&dAFiqp}c$bTbjqR0>SVT#ACjfp#cn^rk{~xQMWJhkRg&9?u>AVj_1? zNPv96&gM7 ztT0?|mMeN+D5WP&zy4|}4%LVm1Q`S7&t-#?JjgwYlDJJR&6ePVXnTU&+6~h1#^i1h zXC|pSKcE?|_zY84+V@6xGTz;r6f(mIK(yNQJQ$LPpQ!>Go@vdI8L&q_1zAB6M|$OO z?WL2ppE+c87X35Xe)}aM#I-M4)7?mg&!)0%a`{I%Eqqbw6{f*w)S_SW%q~|IXoWgy z+DY60T@XuI)a~V+pZ7Y(cHh9&G`6S!ZWrb{!Z{%txEXl_ASFeSJ8%$+sS-X&e-?RI z5~dodu9HAjlrj!{w=u{#joG8~L`)>`-UwA#t-NLC5~a!Nsi^Xn`&kJzbz}D)N9v~0 z*&A{BUDAx}*oigl8CDyM1J*^-!Dg8hP24ERd>I19)7G&WA9au0IbN~_#*YxypN!nPV%8XHJ(KJpCPITh;T zZr|>mUDdKaR{Z8xG5z2+`8tZpIG?6|0I@-0^ReA7HXb(qL2 zm3Q@px*m4}1TWC&^9E|i<4%y#POO&UEn4c#R{A)-EdkMJb%cF~IUFkgLtTR9&Bxi=RTjUgOT%w`O-mz&SK(BmX-MVdw*m7CFmvCUAE8d8 zN!D&BzT7LTm=NpiNkpaO8xk6rXb(;<9t)8T<+rWWU`79gjrfwjND zAn;J7@C8QHhnu{Mz}uu)oSnbJx@xI_#7XisX9Lg>IwNm9%trj>WaOe4!_*Los=5@Z z$ixQf%GrZKno*8Hn&Pn|ZLoWtJ68lI^lEn-;3k)%)oqq0nH{{n|7?^N<3B8V_zQ80 zsD;vGG9|?Xru){OKb<63QU)Nzo=MuLQmo8;oIw1AdgyE)Bhs#0q#d@~(_oldfN!d+ zcZ8kbnp}jiE_l&3aJ>w0XEoByVUfO~KNf#!_PDJcwziT-Wq`rQtbH!r{!tO?m96~y zut|9o-hYjf(bSY2;x;Q7-Qg<7+vE&@%pjwzs)^6bni;-=)P*j&*Ysk)TL95gVqup> z5dpwmnZ9;GRKlo2+m@^2;G4t1)OBwRZ5Qwr2gXU8HbthXPlqjf(yoJBU$qU-Ak~WB z;d8mO)!=VEE+wdYj`D0cmXyEOAxC)t^|_k(MbNUh7{c%B2+A_D#4xtT5MR1xVdqnx zeIXR{ls1#d*ZjK!bb7~ho~+eFEPAQPf_o$-hi?lX)a~FM7Zv~?Wet!ZS(v&dOi1o4 zSQO9mKb)OYKxSdT#cOJ6vfX6cwr$(C-DKOgoAhS8$>tj-PxhPZbk4c@Zoj*Ix%bU) zum5`f&ssV^ht3_};(w^*dF7?VvlafXvgGhs4;tqhn2XV_>?mbG7&EO%$TQ^X;Q-!? z>ze9;g2B3~oz=7@CM!PTELJ28G~CSZXKZXB^H`Jb9{=SO(|caMW`K#$rwhf&j498j z8|Am`+3oy|_56gg{3zhvdHWc8oUIVt?c>Bc%XobDe?4mWy0Gt9_>A%ya&c+c*SQN3 z5Fqi{_n*e;r{|GVI3yStCkz;v(0^x~ia2_Sxfpv|J6L}Cr)3((jzA9N_k2U=KN+Pt zc2Vfk%3GA=3Z{;A`s>k)#Z*uu#`qZV2Qn^sMr(mPq=(H2>BT=S$OMu+`FbBOr6xZQ zKm8E@e4zBq0D(JqzMrHYHTGTWtsj2Qmpf|az^5$lGtL6dfLou-*(sZ@8Qag&PQs<< zIx5ZgglW_CMVmV%tQuf?d*IV)BgO)x>>*q#QB&w*5L*l!t&8#YvsW6Y0xc#5&a$QFa2ZQYMTkomZ19I zbm#i|&57$J<(<}^-u8O=XT{cMdp1CU`3n@XKY@5)hquXyDco^K5pKy-lCHDn9r)%$ zC*l$r<6k@2P4nxy<*Yn;3Q#3>YIL%p!RYpK{+ev9tq4R0U3_PIbyjyP)9*1leP|1U zTx*5Gpi zW-sYbfCCpc?t(=xH-RZDrk-4(F!1T~x$jVqdQcUNCq2<&t8fs9<3!h`_o2w!%B4S4 ztM*nBW2w!YDagZg=#kqJ8)cZ)WD;Yg#A#Hs)ut9B2Y!e+*s2b+;Kd~JawexNB{AT znWjt6Uuneh()qrP5(7?_POY=16TBgJ2A`>2s$#2V=lqaqW_s}>v{L`HsJs*sQ%zpPS z??gjOPxPF%_WZf(Kec|z@dOJoEM9_F%&Uxv=4#XDCTrl2O;mr+ zz!nuC-)mkR7Up^Zs|+OkJN7=wUhsFhw6E^=O!bx3LC5v&P2JH@8%q5BZ1>Sn^IUdF z@IM*nin&qz?Tc|D&|qK^{~hB*9qmoTtc^`wtli{|U2I+dmvrhojvG?Q0mt>&hvX+e zjjrleyDs^arF3>skOxkX)R)KmMK&RF0P@mqou55BYsf7&Wxiag4TP)!)*U}qqpOV1 zyHn&(l&$iIp{tXUN1V@*qHRJO#}80T8^dkqE$ZWTO|M<|z{O^lYt9e{eUEXYZfujA zw#9?J&WHMgpysjOkjbZ-MNUL^T{@%Gi^%=81+}-+F;C=pO>r$?=+e(NmtNnX1LNmy z8f}%twNU|sb1t90&)EbGtxK|hK^@oMy@O7#8{L%sDy}&O|Kje-6D4l4aT*;gVYWyG+dIX0gle*haz&(~vuT3jnIkFn@7eAfpUSg$*;!tK zg!ks6O~#41HhWQ8M|`Au%DXcHs{+QYV_i*kwaz{y?WlY##nek-+bjklj~s$3D(bCN z#NJM$4apyQhdB)DBb@@}Wwy7qP1Ov5k)jWUHdbl2PkXRbS=UbNDe8Q~xtamKe9s)Z ztG$Eidx0X)kgl!)vZ(rFww{t*H#WC35Ixr9b?avX|gutQt$d zb)JuA{3T8Fn@g*EbS=*8qAqWziMO~m&<*vnN~kxwTr$-8fUxMA^7;0ylc&uNc7n|- zj$!vad5a z_>p>cdZQ_C4%iX)yLR6%rk`H;5yCS~7eb#BCNdaLN)X)IDn#cWy7;TUEn-yr!jzH? z@R*{1qc*8m+{g@7mMS8Q&A~&5<>e)=QgkkA#;5$1YEjP^B;sWr%4Kep0<|rqq=-#C z4jG9yX!DJHP0R|Xkse+*r!_b>dK4GtElbG{nUKgxD7n6+7DC`jM5qYSf}d1qt=~~p zEupxS^6dw^dS>&pypg57JW*-VzX7Uyns1;NfyDWM9E9vA`yhY<-ABR%<&Brydu^*p zOGza#gyZ*yjE8S+>l_P-X_oMhVxih7HnUiq3Tjvxwacwnnw57)* z6{N;TM@_OuF_p17RFxCw9bdsvPuVaQHxoyj{xm$JbfYNt{}ARd(b(XOHG(TtvQ@>r zv))UE|D!YXf-}s1PE4eYGH?dHiQ+*NylAD=DBy{C<5%2j^{=E;!jLAq{j2>QFGwzT zz6n+@$d!7(JLbYXM5&J7v z$}R+I$_FJFFXq}C82k&^^!FHmj7n?ER^PZ_MR{<@gK&R~R{rS--FGp&a|@oY_->z6 z7yd?jY2*2D=g1@2CZYX&HWJ7WcpAUK_)p4YW{y7ce^Ex`i!uWL9c9G6G?a<4+yB!= zKVd@x-Tzoq?_$zHr$673*T0yK+RamV6m5Yjng#;mEV8A_ez30k<1wGPL1yVI`P0er zXuHF8rX$1odg#-e=Ri;lN&D`}7KHCN(8kC1DvDMbV;C&2&E{^jv6^#pt1X_nZIzL$$RChPP9DXI!!Q?(*dUfRSftqD zcA2GZbEIOlQWv=J^wy}w|9N-R$p0_5e23!MOF@Mp2mS`f-W8D9i8P9@6LZ{oeX-FTA^#zTOrrVloZ(E7cH2_=Bq;>wEYUCJ}%#6AOGZAkdi+t3>kEZbLn z>xInlbkmcF;}Axz$Fs&SrM|yzjiBjwiT(4k`gf`MZFNQO3tL@?z0PUCWWgzdIj`nGovHBQ@TNtDx+pCZF%# zhh^)qds$UNAMNCl9RjQYKv_dyhbXe91($DyVhoSDJy`J_IkadwH^@0tYD#@r$_3)f zs-j{|Cy_%ZGLgeAC9{mu6qgCni;N3pmq|+A#8s2GPQec82y#KWwQe+`YGCd)={GBF zTPZ}98?J<`{_(x#z&?!J1&$cCs+&FZuIDGjqKH!hvt13{?*4+-$zA3gjZ>tTtaz~1 zkFo((CB@+KqWs2u_k=vPf6NGslE{RjMWHR`i*8K@{B}WJ@M35|Fs8v|*$~K>^tno8 z1mO{XNZ7!#qp6RGg9s{_ED(HD!IS%=rPY>r$iDdYCs|0nY+kmJ6UOTa2UnY#O`ucS z2I)@*L|p8q2rJu9TiKwyDtg6AEGqTA<78^oMo?Mf;BnB@H+VKQdNe~5%-16*2|ssy z!$1kq_vL~2Paib+>&w%t2|NCK&K}#%>AoGPk35eYO+kbA)z_&$^$)231e1$kLjEfR z7}zxw7?|XL2PRb~W797-$vc|KnY+1}yZk?)fbn0Gp8rlg_W2i~fT+|-#S4_HAPyV< zAUX$zAHgEFiw55f#?$_JVTphCL^S^-vkDSeN@O3(+MUW`O+|mZ4h+ydU?|qMCJdx6 z2$_B2gzgetEA)DmZLqche&6Uu>SP2OanS~strK{dC4`%n(=2jj)eGmDXv?^Xexo8guy*4D0GUVR*$-M4T zRd)6hQK>GLlfQ?4-^=*1mo?(OTCdWU7LOa0bagz(@=T()K~_&$b-DUo^NzZC4~tvv zc?qMN0_(N3KyC^fQmdF>)KA}9jvWaVYsU5)-)4_bo*(gJ`-S(3(DGdf9u;#8nHDAE z-I@2`uT3Yt+gWubD{sz~I`?naB8LPG8ix@5mlLGy^l8AAeoH*)*EJ2y(8o$!4v<#s z=&`nDo_$S3$a{PnoYenHpG;cYP6EtSjMe+QhCk8yv$qV3j+l?x+XxwxyLy%>!I-kR z^hf)0mNDEKo@}{+g*#2p?UGQnMTy?qZFSIKzwt{f{EO?Ej(CxCjv%XnIqEG{8vp9H z2_}9Q+24&cvu79gSQk{!Ot(S|x6A@+@@aH+9A71EL(q~2mY1J}5Vr9Npm6wp_w>B@ zRRZ94oH z;K7;KU9tOPaY=y5?}+p{TcBF&{zasTAfdQ&)si_?3*>-3koia&8Tpbdmi$j(pKQo0 znkrfD(7;9b9a6-aASqUifcb}XyIJbN8oj9&R|y#=w`n8E64_{}6D%DIw>Ihkb<_fN zBGoy9Ys4_Mn~D;O%nz||>5;yne0x=@4g3ny(Oj0v;EKVajl*?p%drr`sL~g<EX2RaIz&_rIa^4`ORXmvQe;6r~K4w4)ZW zp>6KU{VZ!_972udMfsI2(MTJKnTbc`v&&EvjLNLZ>RtkqCt@ki7310wL;^@I0`05v z2}~;!V;xuB|8~kZVgnl!O?xrOG9eC!xF%80$EP5RC-Z3HdXSkRf%J``rP;?u82yDC zyowB=2wB1=tjn@|e6#5{NcGt{==*er#yvb{)?hpF@TbQ)j=k;kL#;Dms@*2A`(qX< z)_3|7;XnCuwE(JC{}Mi_|NVF+?qF)?=xS~zZ0BTU?BH(yf8&+BBTxdl=T#HluW@l= zFW`!Wzp+WBD(!G?gG)ZRu+Ut`f+&SXTAU;LUs3SyHeTM`tVfGV`G6&WBD#f`+k5k_} z=Qro0c#l7Jz-hi|T=ul8?(a)q9{paT0WQIz4AMYDf#V>>Ep~fDd&2yJZ1u?|389UZ zHgj42T!4HdB)$Tan|`bQ@)B8itU}1p&F;Ua5k=-vRX|z9UesxMg}o+;)bhN33qzHk zUV2V`b$0snkcB?RLsO~#^3Ir81k(`q!4|QU>mt@QUiqD?!J^B=um^1>zH4;R#nO6`)p}av!(Ld|apozmJId9jzS_1t-TJA}c1$Atp$ko=x#X5hZ`H|FUH}+z zV~$kbR(LXd+Ov-Z)Dcwo z{wuj4TnhIkPAMrF5<;K^=Io+V+6VgFyXQt^IHwN5F7o-gb3Yzu&F-1p>>m7mfIfOT zAT2HIix=Td36)r^nYZ&(08A+!vrQN%`g4@5uf5)2&=+I*qT3u8EI>~#fVcT1vM@VA zWK<7CE#%G^O_n)13yWaWwSz_zo3@jfI6TR+$m*nNcFkpETncCwz%Jo&h+V(|%&76{ zv8)C#;!<47(TCw9?ApDLEgQ)S-?fjWY%lWMN^`Ggh}bl@iOZL!c%P(3gKP|;5@}@> zY*Z@es+DM5erk31Iq`UP@)bhjjX_eI_6SRa{E=a0Nk1GM|1~_IV!Nx3iw3rUE)nB| zID<+h@6a9x*Cd6nfM~sK_ycZq?NN5HkI1S;4dcPJIS+o=`PTE)N zU267;UP+ymqIQ3j0>)B|Eem`LtTTeS#Q;TGww0xey}edSIKEJQQL)%rGYrj!9<5cP z%MuoI21A^$bz$+m0gXiTI$t5Y2S&52flaeM9;2xrlmZu4qIkcgQ$2dS+|tkX9Z zd0ahmQ-dJ}yHkXHveL=8U(HqJkv4svg-{bJKIWoG>J0O)L~_E@dM?7@Vz|6XF+)X8 zJUpat0Z7lYn=LJ?dY3r^2qEeaEm+u;4(np2HY5oRSM z8-o2OxTq4g-6Fnx?=zJDS{VJm9I~^vHCOevH*vK4KVhV$?+TPa^;@l9yNx;LRocAz zo=mxsEWbUkMpT#OTBf3z3MuVGmMj^Zq_6q7v&f%l*0ER3mpi#+^=rhWwZhk;a(CyW zAP_qGGtH;(+~K3~jqfdV)@R2awB^+6#o4V>-?_!a`H6cO&_@uzJsV*;{qW(@@lzqE z&bGDf!g2a-a_jlU!}H$yv3)(~;b^k8r}t!OGDdU4#uVyFx!P}$ulI+oM%P2D?W1Rc zqC7ChqQ#bBIlz70PCa6zWcv2o(XK)f=CsFZo#q6A^+Ph80pF(2&8g)2{-jU+WxC;# z%~sWW-2laff__U|oQ;4XTaH2tt$SlHaI{I9YSXL2D(T3cGOS!Jc{Vfn!yu@5`*bg=A(${TBLU#!&Z=2teK>OS z;2Td_#OZFcVSBCo;LiGqRSjFDB{o z-I@%c6d=rl&3MN9=XVcsOHYvWChMCD3&8}9ynZ~O`uGVPRbO@Qo{JOe- zHC-Z%hGwI(=V_j+b}XJ^*IThh&Z)tigP~ueg&Bi>JLGl6tYnv0|B(Zr#T!#?5DPax8YXj=`5=X(~!?$j7L4Ivp}*1ux# z*!$Q3bv5!a!|k0we-leNY7Y7%{;Lrs!)BI@HSI@dY76;7SqqDTB19qUKzs=6{$G6r zpE*sFn+7di7C&|F+$CB#(_ma|%`O$XZ?&nDhz zBNHqya&fY_$mEA4#Cs@{b}(38mhOYNN)SxCrN7izM}tVpnx?o6sxt!{WLUXs62UTY z$10$4k?0DQ|5j0MsfSUDW@j5!hA}q_H}cciv*_mL9;TSO^90l%rFa4;o!7;j(~25e zrJlSDhtY```U(0enlLbTh1u&SFcy?Lvbn?JD;s52do|N4;^BM1tfY}PLv%>6;Y3E& zmdl*bpXCSDzX|Q&b|B7RyZr3ucM_OyTX*rlkNGzq_z#g+N0<7_j{|ZOoL$Ri$;N7K z7l(=BaE zXe_894dluZ#&eVql)tsA-WG@&S|6KH4Mo18_DhQvwWj@3Psv*a*@TvssV@B{bIBN+ z_mT`2hk~Sos2WnB9#4g~j18o7>TF~;o|yQHpAG9aWkV8B>6C|2n%c5<>%CO3*pwaU z_xa-X!oD5prRo;OE*@JY1RJeIV$z@Grbm_v_YsXx$?SeI452_Rv{}hpIVUls<3U2# zWD!kLlq?Jl?wAZ?ReY~)Kuj2C7Bnjj9mHGQ{oMoAjB^k7iH$tLbPlf686ORoe$k}L zOY3|UXh17*M#tl{h%80IN}$Hx!4@e}6*Nw_G75Mj=Vi~{lQ)et-o?*Sl?Ec(9a{l6 zzvB-?{Hw4QYJ{JU%QL4Pmq|#$HNJ^U=1vU<0Ts%hi)OpT7N8#-T&h|D8K8Q0IcS+n}8IeLJh5rg> zkxHRc?`xQ%LI+(|J5*&8F%VMWx&ZUsjRJ{p^7ohM*^NyGjSGXX+63%7p*#jJNFPPT zV)EuZKD-r5)|c?Ru@PHoyuK0|{4v$d+P&82I>%4`m{cuz#Hnq7UwMRIv}D%PSZ!xT zEsrT?Ar6~Kp-pQEQFF<)@>b!El!!}m(&n%X<3d}{l^5H4yvjuVbCJro4FZWtQS_3~ zbrf(}ACZFmdv<;`Xi_nhZ(V3HXk;5Tr6$>OG2SYrWPk4hK_V9V)PRkHR!#Tz4de$STfi#$ZAD)xKiJ!k73pd`sq40$L$Bay)Y9 zW6D#5M6+Nm0;$O=yL_s6N;D&n=Z97yK?wOGg;Vvbx`y-sNT_#;$|tpoJEoLL-92+Q|wjh~nt>!cQast;wB4rVMnW+LQwB z$n&*%u~fe@1e8gC<@$5s-K2qy!sxGi#XW(*S>e)1{P8dGD@ZC~2Hf!O?(!o_pL^i4#s9oFgw-qKE8*ur|8Cp!h5srJj^Xc7Jm0M^?EgeGcz=4B{Pzzn zV6!eG!|`b>yxi6x;1iDev)5(Q;qzmU@w0WX&*=^PKegW8wdUHeJ{XwPDHxdOe`kXI zZ~KR$levqro8$i(U>7~MDSBh><*)jECK0_#0u?cv-m~|9Hs9nqM!)}BUbE88&Ex`C zriVq0E(D)T-XDIxvgE&-IE9=0Wu?8}$glQeYGb(zMDBXnS?}o&3Vhf7c#H}AWSrc` zat!?3F?>4#1U3iO2l%}XB{&NDdOROm_W3@%133%qH9xP{a{@m=fW@&{fv)x!(Abqh z_eU%t-}~A*$ykHh7JNkW6S$=mmuw#fv?x^oi79lAc>=dERzhYH8K0I#m@w}9uP zWx{}`%fpzjVj!K5r`wAw_Y&_cMfW7b*_iH^X&{!z2i)rjlE-})(2{|1o1g&r@%Y;2 z82AL76?okz{Cqlrf9}-D;DtiHS_zt49E9sDHOciOT@dNTGkwtbb@5E}aVw)nlC7JPlGBV!9T%KPpi z-U=v=f6vi9@54AhMz~nrDtuEbJQ;acO8ADfZ-004^hlk0@+gk6j z3dcbrmkl!mr~-4W=&%f^3~zqYfo}rOu|hsN;6>odGfeQ_)p(j~cl@aJV5Ju;+z;-UMg_{u z3eE)9U0a{U_*==@HK^^YR!11Tq)3?=tkc-6@8cAoY4+$(z?HmC6ArrdfBQ^>oxVF(=8z^nnfogk{SyN z2kUmIHWRJW(7sltBeG1mfS%m!cR+^%y}_-T$F%pZ^LW=9&Bh{mPeB4c@cG=mBz$fW z^TLrkGG+~OBf(MiY<<7J)sS&^#v#dy8I`^#uQX+a2XbT2=T^GKbK0KYsu`z-gOFQO z7c-}apv^{i;^?g3s-{Uzx1Bi_yrFbdHWvH5vGb?6uc*Iu_nd-$Fu$knV-e17xIdGR z+&)vRO@@PNudrfN#};`x2b%!vjmLIpn2}i?;=mC*WEWt%A`Y7Hf)}_TTyZnmiV%Q{ z2qD89p5txSD+e-fptRtG%(>&UBe3_kBRDT&$MrRIpQ6Pm>H6kr?}UUWx`EZDpgq(( zh{nn~;M0`y?9abemoxUZZQ%f~-zKd7^CR_dP>y`t%|yWUyjM<-33F%N^{5f8(N+3I z+a@Iv5WBWs`B1N@o-ktqI;X;j6LkplnIKUzY}#1WW*=O_upIf%P$n6=i7b9Bm})ef zsaXo;%!xn;2lK$cgk{(?dGi!tmQ{{Wd+3EtUBOE0^zqXRv!V?rFH`U z!`}C3pB)H#a_f`qSXUs-vN7G5+Xsvl6zFf-1x2)emrKnHO~D_N*4mfmFnEVivv50m zvko#?!1UrUb>UF^m(a$`x$g1<#Ki&bY~E&zwqnz5&0c4!3nbViU}bS01=@q#smKT8 zAkoP+%QMNfY)rGD*~bi6RGFfQ=aibU#ff>cUA7@n2+LRJ5CP7LjE0*dO2l$d+jDMM zojcavxqdtG>((mCU4MU{78q)bb=9c+=zkM=?-mV~9}R#@o8W%v4L96Q@V5qE6s{Z}#~4a_Vd}1Sl>Yn!g?l*jwanSW9~zuw%#O8e z_)w_?b5SptF*5xaBqJDbfA9=ATrXiP(5ttPY;A4)P1%*HQRU2Ea9~8zE~;d2N_A$D zU}u?!cd|a}m@NV?czTg#PoBv$?cn0LWl03_^bK|7cbL`jL9Hf}} zHRGr*M#fUtHLmd$k4K&r&L8}Fq)N#(z+1)>U-yQQS2|jP5xXR)SyZB)ja=3vmxlot%%+ld17V++u~_S#j=2H4=rlRA9;&m^f+~w z{!oS0hq6DMhJW;qm}OXw%Sc+Sfi9x`3{L_pBj3$vf@#|Qyqv&X9xJ&VVH35QUF*AqWZRFcLjK@|HmWi0{gs_NHh@gmw zwfk?PVhl1>9gWqji}k`d`zMyci)>fEu2cI#F8|xZkMnH&J(~lg7tlBj4b#O0$Hh1$ z$K=`eHXH7ia06^@9)CMI-f>LPYD4XQstF}=}ip2?fN}Lt(GGqXP9P4d; z(GH%zY}?LXl$Lc3Be4X4@46tb#o>9uI_C0GnOI%Mu%VsDV~}qq!mrDo{G9g+S~6zB z{KO*J0&~k9<3Y=c*?hxXem_r&hH~9Mls7v}7*2FK(ecII%c0_yeM3qu=CvH+92@S* zgg{hIpy~2-jckc_0hDSljRj`wFSS=98g}!|f16a8BNOH9IZ|@SH%5%O>u#(HMV*(k z$nubb*1=UnION-vyygXUe-|;1-RuRF%g^zN%JV4NSa9L=-DAPF4rMLw&c>v>pZb5n zpKG=0Cd;#%#b-utidIK{B8Q)s6qhyaZ0^QcXy#b zJn?pMrgZMR%k`d{^<=W^gW}YaV9@O`u%j8%=+Sv=O^Da#9uf3sG_ZfK7#MCe)dBS; zTL7{SI;AXEx+Is#uU#kHBbnM9vOALKz+k)0197Gf?M>1`QviD$3N8w^VDnU(3K2zNF$7T4xJ=Yb&jfp^xLLozM- zZz#RlMA7*BiB8qAY)&HY?Z^FKZ6tuVNdS}H+=$vfp(z4Y*825V*|6botOiu=48EK# zOZak`%QZ9`5|9YLh#H5mPT2+qRL^*^n$YOU63@JkUOZChoWO0YYh2)vB$Z8;tig~0 zngbz1&-7=YT?BjPY9@~NIBJN~f-FYTEUd~x9hwL6qBNTBHRq$(J+M=zK?PQ$98y+1 zS1JPZZ<=MyWiFkoKr%u) z!M%s4LjNjP2nI0hYw)IFGP7dNX9r^bHN;ZOPcfe^stEu<&K=u|b`j3x{6N1r#qlPl z0*f<;%e*RMw^VX}^@8juC3|t4QbjYEKV&KWNVhiAPlPDzC=b@B5P14xz-Dd{lAEWm zK&1;?(n!I|JV6};D!uCs*hJ|W4Vnv{1H1C!Q9QU-UTcj`@Aa3e;wSQ$GHjx)8{Gc{tQE>t~kZB=&j2Hi6;tKK&*-7npKS*wg=c*7i&oy>W2!tf*zIWuIUJCR_4LHJY+ z_&By4`Ww(3adTjce;iv}E_$pt2`&h~2CqJzF0QToZ7!7sh#dJvWCai65nE3a?DE6) zQ7L7_ZS<{rEd3V1Mf`mv^cxo!*Ef8`-klNjZ#y}I(L4#P`1?DfA^7ePeTra4qEfdN|eM^)u!lpgG3l;I3sKDf@n$>>yXypv?M?@(3@^l{1&06b~)m4 z;^|+h$m1#)EZDEnuPs@@q>kFjXPlYFK_0j?8`XT6x+Cma&OXLDxDXBN>=vCE_=0lE zTI`Y?CdlgCZ=}2!i@Nz`WXHG)Bp%cYOt|~!E(3(v=kmM+WWHMRuNP@uTwQ!!UKSf2 z>DLyA1U84bv>BIczo*LlJrk=^oQBtL`hk{wEr0UUsF^8cDFSVENRnubVP-a=?tq8f zF;fU<>K#*K;a_=Jx)M~g z>r7AQ9l&h2*jM&UC`shuqs#su59*f?fClD9=9XS6s_$5@;ed%$gs|Y?dFX*4B`=4q zW6)-=_v@`<*Og%pzxK!TY0LZL^rT?-+vUjFne+-=eZ1yLJW zMcY=6{$|%XIQK-guLEETvRN~g#W&(W4ua8fg;!Yeq8oiLgth<+{YbCz-nlaymNAO? zz(fIibZ*g2Xax7Iy`3ozN7UeTvMvtbx)xv(7>9IDsalgr#&OkKa4P%?T`=$p(S(h@1NIW<(1#t zY{iDP+ypBckJ6R}n2an;%x_}K>CO1U-Z#oB{|Hw%PMi8dcOQiowfAXThw3zT&7Qsj>;l1cL&=CxD6<}W3Opa(<4HQq$TF^mJ?E5n1+>(ortKs!CoDPA zRf`(jwpXePL*LDBnC&4MUF2BbzHdEYM2gVy`KA@*KB{1^SP=~Z3W;-6xec?uJf><= zdxVxE=L|-(Rj5|-Y3PTMG{V25ST$+na_?0Sg;G7$y;aKx=zODbi8{k}_)fluL;{t8 z+L}(iP5f=xv zpwNg)TyRb;tIJevX)_(>UAhGM}hM+Sa7nh|`?V2>%^m2Hc8s0<2v`m_}7z}tYJ&6?7_AgFBzYe*S`-s+{qaPIKMo^(8wcKw1GejxwQh#D+y$SRtTAmDy_} zCG-;mMESt%6et&o;ax+Vj!X}4Q_73%plQz3$fM%cUEt}}k~#e0NK7a(R^Xmr?;Ro$ znTC%hlnHFJcbh{ca>Qw;l~m~U^celPS+oT5^A-*j`EactI!jWylvSd`3={D76S$f7 zvTB1dRfYeME_O=QHYF|g(iO%!rs%baC2)>t`z>ZY($9A_F#K~W^z0AHcKC1iq{szN zVH3w_I&4^zl8%38AS*I3XMS%9fEs)5ElV+vog=wVVQmy$1WJ$}EB4NwIS2b;1t}OU7(dw)A;%%9 ztJ@vUMYF%>Pn7K~s2n7yg9O~vbyI5VUhVO$CG5Z*hyZ^ia4D$7chpQ0R4yXPqhcwy zZG@L?;D`d(&XJ6TDJ8Vql1fy#=zT;E{VIWD-pntsY$uVN>vdsDdh<{f)-Ym_ljR zUp%qMHN|`KF`A`{&V7}MKOe0F1nEtPwIH1DC>B1O&XybI{?cLSGvhf^e^ZiEtCR6u zJ9^73sdM_Y$Bm*oF1RJUZ)Ywx%1= zRRk&2!=jiE50v)(Jp2;7Vb_0j*akCQqcd|N=A`0jv~e@GYC6AV){aCQ9IUF^p@+C& zoqNc*Su5xFikC2Z5$2E;p4hRldbSHWp=CE!r)IOw*z&d0+S~v)%ikGi^92Ne2M?Zk z`}2nJWQQbo(R4ITk9-UTxqXPJ*l;CNq;4Z3=R0z-rp;W$ zP1s*etfOYE1%Ir9Vp{GxL3d4ieY$C0-=Zi*NFjAp9*Hc&9L1ky{zy%+BAS#)W}2T0 zF^}-GXX1!HBVMn>osXLFA#o4z>vJADME7%W>S;#(mZ6bIg2gkVj{08o*%q28h-`_T zf$BLC@x$3P&~v?U0}nD{t}|Tlh>Nr2f(WTp(&OR^677I5dEJ0BST6I41FI9`PQKD-Z{=WVdoh$aSCq;P04H;0L*oD4#N?goF?^^YSt@)_el<<4d7x++DNaKZY zDr2y)75lAhzPWZ}m5O#7lLU&q)LM*P`I~ME)<9j!67C`N+8=M+H28|0Gy0vtPb5ae zwED2WF~MVxa)*Y_d%Xd{w+W zAQI4N>_I4MZDtnp^FLfF4*wLO3hz71FEHtA?~xk|Gcvw3Y|0^*S(QDAZ%g!#s&nPUNmFilp-I}doE+Xi zZGZ8`wP(-v(p&Y`BIRSu|4zV}&^mqgA!*3$1{bL)y#?1Bk01_DX|Gi6VD!CcdaHC^ z-yL_$eRin@CXFCiQ*#%B^yKYQMxW2;_VD)KIRBZ7;DP&x<_wS?MkO~V!(i5x-j_@a zcB@77u+z5}Y$t-?(FFj6bP@1ow$~S=@!iQA_FNf2pW^>E#z0R`JR!z+1kW_q+HAG< z$YAd8OFKdE=5Rx6X!OGDF&?>~YYry-6GPPb2Y z%%5$WXo9Bf*1Rav#-0ElV-|3p=)-__51-j4wBs}LZos*P03>z54Igq*aFZIrFQ&&_7Tc1ey?H^Fsx|(#Zidx3_?!4E|t~uqEwPq z<6+x{E0&FC=BVwu2tdl~-`s;<0Vq!m6Zx|aZ)nu8hPOYzDWGjL;}PDA<4|uaEf6WQ zh7>A7#oykL7?{tJj!-K)hOHTHo+i`1{-O4MJvwL0ZhoGlUd`t71MQD16w@m*EFYhw zt1E&_(R3;3-4!Xx*aB44ZPU;j8kM(8!t1>faYQ~cYPGyG4*Jq2SX0$gYo@8dDS=YC z6=0}78`+0=qo7CTXJ^%i+mDsNc-jKF|$11%Y$B2?C!Bmz$;sy$6SK7PY7l-ZJcy(uI zi;cMv$&A*XuIBj+Oiu@yZlTFkJuCePiql_|@h~wuw@m|Auvw$$+0O@mkm81Wo&`M3 z4FMX`;Pj*+>dv>WOZ;ia-f7!&_95?Dq9Z-ASP{7iJ-MGGO-g@{=-;^Kl_SI~$W=GAL4AFJAK;)P##5W)+qVm>Zv2&tvqNc-V3WqnT@IIFffv!+2bZM3Qs<{h5LZgwRDZ ztJp)6mowfnqfUvIj5Cn+Eo-SaV}=himkw-G7IyA_7_QV>E^eT&`mHQ%Nt5yIhB2;T zxjnXhj9T@ycWl!szoH)L;sLH7o=|6b}43#W+;bI&z!|MT4 z<;IkuF?X7}mHl#jhE93eKYg0xY$1t3oMh#rsTT{OK5ks2W>Q-SGucGpG zplZPQ#A|?JO!_7N#0Tg?vGB~9P(R0pghL~;LbT5q<0l?(4G+brnkdRo(GQ*WQ&)w~ z&|XS|0~Dz;+mvh+Gsapyjrv%ZuOA&#Bu|n3%DR;PZCokEMQD$vhKfZ^o(pyj2jVMb zbgJ`rRx&{nky6d4tcFio6i`?E>dRlA2M(%-*25GzBUprT<%8i&{>I@^h{;k@^F2)Q z;xyQ#)NhTH_AQvcti^?9c1S9e-3O`<55K8QHE|t4$xxRiDDyOfWH{6*VlCv$Z*I@3 zwCmYUw#hbj#P&EMmKIrAo zXEEVQJ~C*KA572{?^2`$ywLdfq7&e7ad7=$s!T@>wj5J>*8Ew6gS zAl$wh=1_>lQ-h@KGhVrDX+f=fMFk8KrD8T<`@+=P@gHH=*8%y>JAyo#T~mZ$V^!x+ z3MF(RW@Cw*#QblvDn?C`81R))8Wr__6Oe-nBG(JUKf|h2qAcXo^(&}?BEpi&h9eMe z*OR~|!Vib04h_-H6K&{%I7&J zbc2Ob8>klJ@ghZ0WLsVU9b6y6R}e(MVh()k&x%8={C8*HnUox|E+vBq!r!pdrAF`1 z{vXcnsl5^=+7@tZqhs6X*tX4;q+{FWiftP!?AUhFLC3ajr_Xox-M-y_qG~=>W4@#1 zhO;g|*|b}(il=p3s5r;eU)tGYe}cY2H8r~rn(aain$-E=6d`MWLgS;BlA7XGAdMQx z`29n|i1>%(19iBZq>Bb~B2|+d>ZW^@_afDFIN(?;@C#Rvxs{qrmQt`fy`A>!XLu1G zggt864N8Y~2&3@Vwdv!_)kQUqE4>QSgOF(9m1NEA`Av+fYKMN(l% zV|@M+Vt8eVyc16MXXSz#CG4i^jH-XlL{x}@Wf)$w5t05RM~1C&@?awSK_S%TdG^B1 zAF7@nQdzkN`12@<@cY~w=$OM?0XKkGB~{L+LWM0A=K2#93KtHTE2+tR4HRBwPmiR&N|w_;cM7;A&Qh=zKZ>Ea({axQkpxbYJt}E)`0umf~7xVDJ$#Vi!xJ+1v7EN*1fA; zhv%ST#UN-s_joMD(A$Cb+{YxF&MO7AheM0J630*ipJye{)Cl3fcSu)p@~r zex74bXD@3Pr@ZEUcbLq9bl@e^Mnz7l&O(>wosB>qgu(%;kAucOz8?fVU)t3O{Y!CI zi-5hsQ>lkZiZ-ikv~5~J1${rRfOwdKOe};=7JN3EYoVJ|rOdsVy;na3vvs4T&l-a) zLIWhP;zf<}cGq%avRl{WMk~c#wcK&-45VFA3WmX@xTiIO>?;sTOeFO~R1L@>Nrg(B z2H1&k0;~YXoZhlZQ8fKm3*(4H;q1?7_bO07<<3>sOC_A$RhV-RX8m*S+0Py?#$2Fr z8EEWLcClr}yuc{?FMS8us_jwGn28#)#(BH4 zCXuh`J-urY9{UbLTZBfdRkM+nDq#K+H$BNrh3`!f>TP<)b@t%L*)!jgFSVrs&nv!# zlO!Z}&heV(VRP4YhbK|MJQY#QFVc*Sm+fYrM191KXX7(b$?B<2Wve(~JP~%w9SvmT z`?mhn3KsCDV?*(?WBvk@19zZcA?J4Cr_&@=j68SRr;TkDURNnbR_&LNh*_0k$-br? zuV*$+#V93&!yQj|7OwZK4^-iYpzJg9e>neW`!7HA#eJh$&2f*f_upDN5hY^BX!60%xK3R^;nv+OXn$Y*%Po=pD*pR8{@;YnfLGE%->~hN zuq=@0+cfDwc=9azdzDB^rsG;NJ`l{^=~MjF&hoqql+)(&`SAG76Z5to zb^kVA%NfB!3kKq+^IpeR(bb~a7WnF&L>?Vpv^We!7+{6s6qfRah`5ggxPu{wAA8Iv zV9C9F0_C*IYv#+dwS;K@h`=anmC?ETnmZ7Jz&+e6OQW;>#l#jbO*L*5?$7X?t6;N+ znhtf&GWnL72k`|uRft>? zLAH`Ozn)JaundSA5f%MtKh18QenR_ahB!duv0O`(J48x_vl6vsOzr0?>rHCJTMT?# zQ^Jv1^|dD9A{wV-aLz5JarZe$c09ulLNv0*t<=|(jY=gF=dBQTSeS}9Z4QOLVJ!LjlXte-Oci$P!B5| zyLC!pd|p!IrHsf&cLblX?bqYbOnRg0tebn>QaXE$X5)oZ@AoAi4m+$4*^vHb_^DuK z9=ttaQzc^xT%%0Tb_ybcx)}ifc$IpEvt3uGTGQbDe|aRTr6`EVa{hM4@sjw5)q8q1=5L*gTlYhCm2!}Y;r}U zX?P~eSv@;t2U#v-y@&W9f%ZmxJgj|JV{#M)-8H)`tF>K2=J%?CqAWn57Rl}CBZ~}K zbr0V}dB1YyBP(g`n2!N;D#l`w06zLAcZbUoqh!#^;ky{wisKc#TqggNl_bWN&8EF3 z4A$~D7X?K}LHc0<(zU@uh#fB_%m3*oa+2G@-2*rn( zuhRGxtdx|Zc^I99G2NXg%5C5clOQn}t8L9#^J8i*UGo8^-So(H{9z z8UtK0OS&n~(lD~cqhdd43Y7=_==55TWCb*Bx~=Xfs-g=&=~>(B9P%ww-F;kM`}?By zr)cfb+B&{VNMD7NTKRK+C_D?uOcSSA2un2#sBpDI(|JJBRtU(NR=RCE<0vkt+*+1W zZc6-jbQ;Tb5;nw~14}c&>LR>p;%O>&z)974ZxfkXRp~YwIafoHcmG7HVsj6q>@`s& zZ2LGg!9eIeQ%O~!$Y{xu_4fGL;jMU z5Fz9a31yqqp%sAr#CB(!;M!>h+;@_gNWNeVHaDSKRU<&JDscY)efe>?)6t7_qF zCa@%&g4R_$OsH?{|AGy$xuJ{Nt}Cc{<Bc` zHvW@ZsX|DvG?plgCm1#xoUTr~8~`MeW4k`Dw8)OJ>g1-JZIYl{1>UU=dPiL#}9@);l9&uZa|KB1|>tybI!DAm5a$5;_8wR4vMSqoOHumgL~; zmAP!OciPNBZ1BQjz*mm7ymkjYinU_gTbgFdX0#tm~ z=zn2OO08>Cb3&4zuNi1kX9ggE3=uR;K{p$KSaPa44!Vqa3z>DCADv>B{o8@_x18`2?_$sdY)ck@ zE3Y*teTbQ+o)9{-Y{oR5kRg+b0-iV=?Sy$Ucd%!GHmstQG)IP#9#d@HM2n9(*|oSp zwQd74imKn)1Yfn;^lv83xykX`?&)K@fC=gdQcgpepqI{y>8(o99#1InYn3~wu%Ukh z<)^`s2}AS*CpC*RTs#iSW~4^f>MZb+pH>k6osIOyW`kGB0Nh_?Ez9Bw3VL*FgAw;` z3rAlkK+3JRGsh0Cqq^+)BDe#7@L0y$g0kiQ~cG+i!8HLGUncV z|I4kOt`{4Pn$v1zPuZvf%~JDI%>@5DqE%6XP*bt6tYn)$>_$e(7rOaOQ;Z#*lsa(j zI8PTvcNU7dn$$|xna!3Lnj?b@_gqf88+nE#J^z*-Wa52BRk(&NXc~^j;055rJWc4)lnYakr zqXrbmQ~GK(Qk}iI%wth8ImE~AF$a?&GVzaRGEwfS?F;T&nzCrJ9fd-%rjtNJvsK#2 z`LIBLPxwA9YNYP!sBic}Mvw>P!U%egUsXWYr-50z#aECemg2N!p*7O{`&$=yi~fEb zaFi`{XYAF_HxU3Tl%xM;;*p|Og-8qd5GZ;*at8yhKBE_LBglpLz-pR0o^ zolL)S_So+u{)8~L$da7#!8di?E#DsxUUsXf$4$r{Lq;d~{6On?Prw`ci5#nfKSx_# zf{$+7b_XWZI~S5U?9hq321Uw^mVvw^N?`3GItj^Kcgid#YJhUeJN~b{97m8xO+!Zz z(+*l!Cg}RZ`=77pD(cHk14$iVr)zA~U-hg|0`+GL*GPOBp14Soji;#%PuI~mhUi!v zBgwDc8aKl(j1XHVV^5L#fslb!D9^@VDy2SBZ0WC5#<)g8)5+7}!?!6O`*KY?poISj@h1tLHLVA&z*%@Yt_D^YI7pPUhh zYcmnbU~F`eG;=ueZbZyL{8O0c8IN4aQ+xnrWsi<$6zOAi>O;oGS+&mi$qZ5ydO_YK zZcr!?ba%!rYVo43jM*4D~xPdix(p~ZZw_RjqcLHW91-WvTdGeq`!K?-i!Q@Ow zPE9L2$4Sz`&bS$R)}Pf-#6lUp*IW2Cv$;nNcXFKYF%8bgY{NLnfCnqi1u$N0LUML& zcKa&c-KHE50VLWd*f)DS!KpXuef_@rGXvH*7Wp|GR(KQZmmI4XA-sTH_fEcM6L?Lg2uWme-Faaoo!fQ9?uH3@ypJ|h0{ES$5JM{a=SBNcNZld z2BxQGrXB_s&8M_(_H+kO)78eO(-JGUisUiM<8=YV^h-Y(W)6FW8xx}*#QWz9)NF2U zpBYOnp~$q}Z^8&zmb5cS>Y(DizEu7QE~ox!w@P<8#arWM=Tl{i+ln?f&OxpqFKx(? ztUGPd-K(fWuyyfi;cK(hsyw(ZJX~r!4=}R(B)Zha4 zLs`xCwhlZxRIdxuhF_S$hWs~06YW&<^K=GXUHlQu7^OzGs8?EWv}asIcn30h3QZ#H z*`gmBs4=ia1rH!s%w!0iXsI-6>UXELGCM(i-i^B9Z4;W6sZ@RzLwp6Y@2M^H(t99b!v(dr{&@V z8DQ@4RIV6lls8{-Q*bzg^ELy)u+k>H^W>pZVr=$-1J!=28b?DIEkhPOb#I+&s7$rY}xU#X`nvNYpvKvV&@zapV5WBnGbb>I`|S!NfQ= zUMeW@k$BHW<|#KIP(;znWur}K)3uL^OVdITNRG05U)AfVHSavxl(0ZnODsj5|tjzP^1@)@#&*23sWUvIPM0*&vt%vbZ z?Ke{t4dHtT+1xdrp?qUShYXJ$-~7+BkrEb?`GS+>p@gUFp%p(d^<-rbv9JrjfLQMn_rz+-gnE|fZWwmnU+q8YbZ9;_aq^RbqS%dp!w6!VTw{NYB z+(QUYa_v0=I`ksieHn_zl*U;Lv!D$t#+SuL)`ZwC$91P(evWf@nO7^(*fM@$%Yw90R7eA zKn^sW9%ZNr;9u{Okbi65e;-rNo-Z}8C;wpUUO_eL?gkhVRhi->yCb2Hnebx?qnCdv zfni9ll(Y|x?T!uFXwWLpn$q9!I*8r6W8Y(Cc2$#W zR#()iNr~Uj-~Kn&iphIG#YtpPK*;6XTQ~lQlMo0m)8v~nS9^NS*K@H+hFZp4>P9sF zTj@2ACWFK$fmM7;UyEGhKURSH3xa2Uv(Jv777^G&aJF<2@({!R7qXDVWs*vC zTvAtb{lJ%K_D4$?u12AiPjK#Xvki7s{S@WXhu7fHg5?Rf-R|DMU^`MinB>v(C=IiJ zU7`Fk{4}!^bT`zeeCL~y55Sp?ZlO9oo6|Z1^(s`xxfL-&rnL{qy-L!MT3Z#PTn+^8 zs6z(9(9WV>An=fWbf`;_WGt(39cF7gUgu(7KbNS`ldOA1{w)TCFQVQg+rzvoGxXcw zRA$+-wWtbZ;4U&4uIyOumbFP1x6-A>AX~^m@2bqdbhdtY^=c(u3iXTpRJW(HZ1yub_`#HSEgSyQBZJ$8F6# zUqKH5fp@vJ#VPHx$PznA&(h1QrEl*V&hS33gjUz;CMFN!2r ziaY9RN<)3z(5rIF5VvVu$sR_%??cpN58Tl9Z-&(EF}HviPw1;Aiv)|8*fEEqi$k!y z$Dr%6fGvJON9Oz;iF)O(cfKFKFZd8QN}isM7uR_MON{EZx-m`{ZKmQ@~gA zlk<1O+_qG*c&f3wtFKs}m(Shqb2;IPx=$C`o{^>8zhdCiy3h4>2_NwMTNRFn7DG~5 zWHVnna!`hKq;O&#yF57b*Xc`!agZT5kg+M0h0cA+U6Pmc7o<#xbh;3kwRDMKqg03J z+*R_9LC19YSt7{9sLJ=T3$w>i;N2#$)ga%{?i}jv?JQh3+bG|0>iKhjqUmbBwl}e& zVx@Ynr_50KEbxUMZembN^Z<>_27A$PLyL^Y2>MAVuX>2yO4ANITRS)zl7l3)zW6T_ zE8EomA5bWB(q{+(J|wbPgaud2#ffOnk+X42Ig!DOg9lusyejhfj~n4-h>F9 z5_V>!H0U(Azno&odiqa76%QiHht+?y{qu2g~WlM)|b#@zvh`p%y&phZvk-Y zSAL{IgrV&iv{#a?bY>#mQ_5vsyoFh>gZUm(e59rm`uFEPn1RHKSKHBnq3W~K^=sfr zNRGds16GIjwkN?L-7U0Z@9z8%{0QB@!fdDbJg~*xF`VrS0W{&l`gh#4Xtm#rw4a5E zee{BcP*ReNWp4tZ4LFokDe{u|VM!3S&-4hGtkCn9YU_k@P%{rp<*i#BOWy9VPwKD&k^nLOI^GhY%00ZE?aHqc9Ta9 zLlzGnx!4r0EzvQSxUpP46xn3X^CaB86Mn5DkCe(U$Uh&tap_~ByX^m0vdj8=ofPfW z<;B!|8z{eTGD$P|_hrkUG(#K^QZr*IS5s|cR%)B8UJ_2aB(G8D0;$@Z@v6%SsGoW>zi&+ig#JO8J-P`mEFo!ro4J#?X- zV;g;T%_GHiJy3|Lb-K8S~;JoVs<;P zB1g9Paow&NHT<~yu^wkhgQ8wNi>@%Ak4AE0o(zi+7HgCN%W_XMpQm!t(;-_~PB#-E zS1+BUWAa_qO+8#dL`JqOKR`YkF$Clwh?A6#*a+dkS9C6Zk<kKc3rl2eM#|S#Vn648M!;(*8Dl#y9j4Zp7FzsjPkn)GBppz~uUWwk zmdn>HSD~?x+ww(l;`ag=ueiYC-@xBDk{r9Id*?;z6KL0eAuT!E27g!O&!4;+t~uMT zoVK@I&~L8K3tDVE>IUQz@pk1S<63Z$uJxFu}w#0@nu zB3Di{^94^+YvWuZ2rfB&@$W?cY;5*r0w%JmEc+@r_v1<=*nxmjgsmWqa$YtK?T%A57qtCR_&+I zgeB}B8)kM5D4XQXI;W_K`Pqyd9GjLu4>$76H+IL`C(DGYPWbGatS(2e+Cl!8=Av#sJ$;M%qfn~FF==Zujs2R{ z^S@3Sd7y9=MDjZguPvxeoXRXFBeR$jBSKcOWQPV!x_#3An-hczs{%*5(r^=M{rZ(W z)+LDZ&uQxCH}BrZk8}H*+eLSv9z>#uTFIPCwq6Vg)H*#a`sP06fz4Kvj~1E;ZP;ss z&vVs~3|1xA5}NE){cTnyv?3ww4XjK$yln3_PIeAfOGh<(o4(G`mVNcum|1=`w2OL@ zaD|_Rs{4TMdVd(Y}$o*EHy*~ zL9@V+wZkmeM&B+j&Ac0dlbp75p&bRNn}91F$0nNYnYqj@ zlCtyx2%Ze>?qA5sdvtc_#aLTkYPB;o5_D)1zA329$S;vnF9})&(9DxPnMgYE`N5Tp zZL2b@gQ7-HlV%3j4-(`|znRaRerI#-9Kv`;txWt!r#BKTc?tAoyKYE%v7%!GP|IV~GWDGxmu3 z1_bwtVP*CUom3y4RJ&OWIIx(Ci`BgmGEE*U*AQb|azjPv4!4BJRt2oE1g$7_CjB!H zUE7wnj!G;O@`b!#&IJu6f81Z+e`iBj8hLeq#=|W-JVkKT zbP|b_+;IFmLM_?NiD-$#^guN(ZG<4tInC-t+Gxt($kB(Z>URH$ndCOK7#Hf{-`}_+ z{Mdb=(~lz_8l`B6z-X71d^Fz`&mZ(_xUay}69!-X$TXjXxtu(DNfPZN@o;^5O zJ<=Xviy5*W?#Wx3W+z?`!g-gCP1Gu>p+BsQB*?c53Aq!T#`6NYBcQDUT>><{S82Xd zJx|Aey4{~Yrbr5>-ehgls^R5i6!T(-%ln#cct<)kBw-P6B4#b~>>I}Z@{IX<^cMO$ z71-H6zJuKOWXW@ES?Z+(rddEu83|Yq|MpujFJNZzfSS=YI=;X=;KANW36T?YD1zWJ z=$bCHiGJDAbNo6J6#HIHr8f#VOv$`1WuPt1!d}yu>^2CF_Bec?CZ*gn>CX=e5Vft` zCQ^9C4>AL%Q0c*L4}rHamI)GtADqY;zbei+O&GcBv|_LPBOF&jEijx1R<`Am)Y<`~ zyb4y9!3%Shn+F)i^4Jbfh^ag}qLyI+Lq6Fy3d2a087^twm zv+n$PXPIG%Gn+cm9O!i%5U+28#3r!8Pt&Ebb5)X=;z?bvkYL=n7#P&pcTvvU6dqr7 z2zdA%zLv{a+0yf301Vn50n&PrOD%Iy@RWlkorPPkVmm%Z6#L2@-OrmS z#qeqqv&Yi(uH@=dc&q_oi8r)WGqV1e&q38bdTJPJ7s3|R9cx^y+#!jd&ufUFL4xOG z70t><8MCNveEY<$9uN&Rv{r{2H_k&)NL>q>xsc{%=wpz5p-I9eW&1cF!dZHV`Kr(O zT42E@=%@uRs5&5Gf`ifT){s&0N)CIb zf_p>0PT}__`H-Mx5mSeOBMrvTkPOTbD=OtZ*e-K1+M-ijFt2g`RZ&vpVO?l*6k87* zrf_MG&X;Exc!2-NHf@Z)H9a6_GGtPf_gExt>fn-)iP9J{QPzHv8;->Jd~Pod(cA{p zbX6Bmf?~sP`x_q-i#5UFz924YK`NdLZK!<%W26m^VWwcAFtBbJ(@3L~iuw3C~lUXSmyvT_&8 zn+qEA=+YD4u8L-pu5IDb)1oVY9O?*xm52v{8r4x6L6}G`a%%PJE$8fV6nMe$IZ$Qe zwV1_3@*^)Hi~IW~Pu_V8ek=JJc6VzJvjuruk=a1{qlvvk4^FG}$}Fl}<7e5Q#qiS- zP;&y9$10)oMQz5zqY+9~WLP~2Hs(E={T%-E^S@8V^+!?lA~^<0m$3^LyvxDeu?IKo zG#xlp3~h(3NZrAO;j0iJw0;ZXB{vhmGOH2*i*1y^XWXCC6U5*($z{|PIsZM7(#gz_;_L(aWc|n&&5C%_7@INT~ zVf|duqMFtmCDr4q_*WuE$^CsdCL_AcV3v+UJ;$qgq8Le66Q6WRpr92#o<`NK(5go| z`EF_S3}Oj4l`MLX5r9CRe~uOnYR9cFI9cstDfMG{3kZknlkDG<>AxUiMGikBBvHvX zoG&`A<(lm$oKauGhk|kf9lPFMmlaNQ1deaGaI$!59+mT{VvBwwDSsOfAtLyZL0?m1 zNiYwAixO%3dLj|lNHlrj>)*BH&~2ugUc@cNbxqa!I#u!>xu!8Lquz5xble`?hk=cw zL_(FMsz)m&4f)PAYEsm&U5=ZZhbW)8$4;w|4fApOh6*;H^ zxbSAsd04pOk>VSvTK8dDJ|OJl6FT{!!uCuyVQCTM;si-GLP`n6&3QP!*)rAMsZTkf zK>9bBSyJs2M9lCi9+}G;1}P>#?r`tr^Ydta%efZxSs5|0SYb8*1}&Py8j-}}smSE+ z0XlQfkVOxG-B;=28*OKZ&O1`|xf`tihCg90PcVU&#R5qYkS<*zv?_2vI0 zf#b74drsq(lb^N#ylCPR&_uWPKvoI*`jcPH5H-qZN$0IPCzl9IFM=t$U{2iio58tA z#iVTpp=-B|;?R;scB2KNM>ItU&q$a$MO(kP<{eUgCibu)8mZVP2gm$TwTBcn!L;xq zZ^_kRJd56lDoBto?pVm9{35jpt*|FX0zI!?1osmV?KLZh z>Un;fTv|~rm+Y#(kiXy!eT+)i;Sc=NG{(=5Djf22y2hf{r69^c$6jm>ssfc&i49%| zJLb@F@=9R%;6eFkyzj^yT<MDq`XrShAw6lzf7rpj9Uz2-5cC668JNixt5(SF1?DG?~ZY8LuBsoQs3);xt3G%He znmCE8sFt>r+yzmVF`|a7D-^z=MQXh9UH0DGK!{lsPk%LJZL7`7um;v;lm#vt~rB*22Qrag(|zv40<62 zbPPS{?y#cbHi7q@Yx@W}NZwj%oTDgVV%Etv;j+#3=XlE1ws4$pZKd58`jj!VbBuprw0u1>JIW~%1D*(meg|gX z!>lnn&2Vn549Bf^@nMSLhTl-ofHtY7a}9_l*f25q4X8!1lyKwevuKz)v&5!2q)Zg+ z^yspf!5ZT{j)wHlWyMOT)5ojJsfI1c98_MJTi!0ZR)Mka#Zr>4n z)@eHwvLfNPPZ1!tRQgirBQ8c_p;-v|dLb0VPgR64#?{aJ&_-g=k{0uR)qm61kiK8> zJ$mX^j@#u43jh~((teHCWh~27Q0`ki|Am|;^F1>;9uuJght*Mv@hQY{aFLe2*&k-} z{(umz;*h*ASM!3WqT zWb`3_3a?Sy=y{sM@2cDP5~YowIV0Pv_g2hKfUv+eigne|7U>6%MP5uXLYzk1H8n(~ z9)PCApF?-fSy5@Hsp`@ zcpQp_xK*=q;FM6dY;+c@)~@idp?R;~zN*zN)Hs%=WA>CUb^X_A^$Y`t$TQ}PMRER? z8#{80B<8x^idy#LK;z-24as8KxG&N+Aws~89r6%LC<~A$U!R%1Z+eeX6OHp6$;gE- zG0ZzlKPAuJEUeFbI5MqgfQn_g_E7Kd3~2pSQ<8<@|t zT7Kt;Ti`rCJjd!Z_2SC$a_!?aaX=`-x>j3h*n$yNYtMqPFPh-xXl|nF_%PXP4pLDv z=cwU8V!XcLPM|a1Z1AU}ROJeKtjjXqth5*H*Y~?PM;t8*>ymNwW4{7fuj2e!)0$8MO-|T4CdDC7Cj}S`gk(C@&wyO5LOl5Q4f9(L_fT>K_%l zeM^?{vw*IX{KoWd%K7$H zGLIG6TU4AiE5#|6pCH@=Hk*n30)2^~Ih0WTd%myr*#2VyF)uTLmpX%pvLxq~fQ6Fd+rggiYK&wbKaIVr6mGB(R&HwdIo-?~Sb-n7fNF&3NTeV?wFs_I zEuQN6?#ZDhb#P%cU7iHGlyg$TfzFB!97#P0mkb~#9>P-G(wS=hhMvIGdK7^2GO>F% z**mxbaL9E>xNs(0E8MEqL56dao2Rn z?|AhUWx~LU6RLqVd^d}f@hd0>zaSX6h}KCtPty?xX1VaY;cbtpNijMIEKN;|+XaC= z*fSSXLw}!an0t3te(SKW6Fg1N-p2u)Sh~f#$Z+;wtCYHLn8x^^1JX7C<}Hi1p#ZsJ zU7A42-|8s=S=K@8U(APg0liSR8r%J_7#==>7E`rU8C`WGMUoKZy57*19G0<^nXggW za(YWt-miG@Is*&ewo9TJQntbLU4zwDbg0Dl6Of6`+U7o;4>4!M-AR+-hpSOlUrqhu zm=F2q?fZF7^$wt?Nc8j)^_{uG5{=~JE}4GlQ?xilR~1lS zqf5vK!ZhqjRc@&m*%0`b8gb$xl=>~l0{ z8Qe%E$X|olM(Pkxtt>jcCKGR{uUQ?s%2P}Y3)bE<5t3XR{enc7Qj2njLg&EXK=>p} zGf`0JFmtbHLVJ8%%hBkPyA*F>nd11yvy_NrmrrZs4L|SYI_mFa@e#`J5L$SaLTndTMHZ6+2E% zAcT=!O^FUWsB2z;!iN}I_P0%Lp^V}kF|O2KFJ#P4{U?XZkmMG7RttDZb&?rHSGhqt zYr^R}r)W(V#6WGmG(2U|Y3mq8Vn3rLlWu>R>f6rc5S_?hHA6404R7l%1l7FEH?5(l z_-SutH|XvRoDF7Ss(8ufKOUZ;a5hB?!c?-wwT%mI(`}HgAW@Tkl|!4}cAZ5U=e8?Khv*2E2N?St`U!#-e?mkggLN-O@mk>|>v zmmh3+Sr#%Ci?$gjEnMdv*<~sx7iTG`tp-?mBkcqC=!{DIt9$1kB*^;T6y^TOzm9wb z$Ilix4$ijsg>UGlA++R|ve%`U52>t%#;Xp+(L<+1aOeJ~Tk|`(kf`V-aeCU1vZSIh z%$2cy)K_$UtzddN|KTJV??D8~Fs&VC+kNM#d`$m<2ia%}%fP~D5{3!Lb!ge=(Czh* zlzR>o7;+kQ$%p_d&qHpStK#Wd>^U&*yN_^*21V?)UB5u4?bo-xKkrK8e`7pGnpyjx zAv6$?K#^Awq;UIz{Q|V0Qt|^yUo%DO!05XWGR8}wT$Wt#{U|wr-)-h=H>zH;T>}zT z5u8edj;w}28{CyOJnRr^TSarZ^TSYI%|awHpEO1n&(V}He4;Q%SSUzwxq!@ZS_d(F z$H872koz$B*ha7Vqf8O!xeE5i^AF_r!aBtF(Sj@}#|inL&&R-WC1wjiI^>x+|I)Lw zs6i4!I!!L(YH@xhODHBIG=Jq#=*Ww!)%QlOT{dsm9rUY!zry_s@5Pja5 z=hUNhLtTNyneYtOP&GPS6|KXQKm0Jjvs|#IeI@<@V#tnxPc(aM${R=8O?3NUPv(dh zNGWsi*g$@&_j!=>zDdn2*LpZNn5|QJ&*0N)((ZH#Uj+2>GD@k3)7zU>5&{!U1R6;e z9_ws3$YYv)Rewb}Kx;<*hn03$2W)EwZW+37k-W@aR(=N)l?_^>GgMcZ6rLTin{}Zp zQThI?9`H|0DjY-{(5s7P)$$zyl{x1kq?iyqTf|8IMxW>`ApOwj3vDtVJ)gHstra>g zVrcG&8=>A4=gg(V_5s<2u0DXVe<)eR zD~UqtM_Td=aP5k6BG}=YP`cIZ2?a1I6+CTV=eQl_y;TkG%80O52||i-Sf!wzt=g@P z(bbxU*-TC~3l8%UhQFT<+`bleeCfOPumlD|d0t&=7}{_68rpMyU`#+5JUB>U^oWk- z9~a`1AY(#5i{S^D;mL3yY;S4TVcevwuV1Fnivy0Pi(%B#%z_>1QxnVzLUzMzk8xB34=B!ew1U!oVuW7o60Cp@9y30R_>3(2vb&WS{MwY5A{ zEN2nWYiH&U1s%2{#GT6UhXD9M`jCUL#2ovQjZ8EbN~UyqUw%}oh$r@!-U_U__7ec$ zq-8t?vnmJC#_4(h{N3Ex8JE9!ooo&j{35qg$OchFDx)R889Q8Mkf=9+u|j1EMPlB9 zJLUM5B=rZ6o}q9exV$G?+9Mcc;r5_=R$m_uliM#hf27K51vp+?{{&EKpSDg-@naIt z@3Ul*A=_A_5M>aK7WjZn9g|^jG0fA@ujMp{pkj>3Hd=3A(7}OP;34pP;2nP=a!A} zp|cgU__JaAmP@kbQ9jiTouBf=i&kAr2H%X*7kfsf0{54r?kHE=}7P zjIgTg$GK!d8ovCIBu@UO2Lq+lrNKzC3nGJ5&EOSfz2!jG#Bvdf=?lbs)PNuDIhtWJ zEdCx-Bb}Dxj%CSnQ2Y{fW0hVtJo*0WSsGk*n+!9Q2%hbW0nzTxU1fv^=5}$KnM(`m z>)?50L=%VOuM&hqrNUBRO>uZRd5^J+Y7jL<(I70=uw|0_lS?Lv2ucz{^7h%Fwk1xl zQ*0U`v}g~bzg%VF;+U2KwKNMt$eIa(+G}zOy+6fW-;yV<@n+HS#J#<;xe3HlXo4Zi z(`Ju56{{5r`9vsUp%ziwoDcLvc(M#`d2`Q8;mc^JM^D04?FviZ*Vh==$`C4SsP&2< zNLoaIoIH(4nQM?mdxBuk zV!*RYMoX?dXjqykWtVxf)=dt*URy2GvW2XUf-wvHdMgZ9`L4a8}N1hno%L#`?WXL=I8UDkY4dWLOPJe z=-*D?=jG#F(=2mc@7G-yPQCEKW`(dpPr%*tf0lW{_d$-)dfC6g|Bb}E=IxouL4$$y zBZ7fR{@;*zX>&(=b2k@jQ*|p7C-eVb2ehPRsJ`((O|F}J(0?bF1LSjrctsirOr&)( zBNWOhVp-2|r_v6=7R~~1*3x8U&k}(%Zh9~uR-X0Of-l=m7s!1dG=cnw-%(2U&&Ok* zLZ8qDHVbv!_B?q+z?CJC{b0>2ot+TN;J^fj0Mm~ga{zEm(p|sVows27@S^za-(P`F zzRG1(_l|aJ>%i}5sDo}`eP(0MJ{yvqmZE0c(ed+LZD}q}b$NU7pL0-URrsB8-Yob= zT9Ae0R_ao;M8SOT&($sFtKRp453fotw;bU)kd5^MmXjKnn;|nI{q@O6XPJxS!?{Nf zHC1d~$sDki%IVVUSLlbV_wb2fmhncU$$1ph*{`S1yYA_} zmR>C>qUgT0edNCPWsruf=hR`{2il;JrTn)DmNuo`%%Az!s#D$(W?`P=7BC~d=H!w- z|F-++#yTSR>1cK?6BB`osOo1#JGWW^?=bBsWuZ zy^Mi2QI&<^^wfn*{H0cmVlSP~vxg*{}n_V#RJH`7M&J@oAeTH6&oe`3gzg zCj|**d!9p(AeZ=!*MsFTsHZ%Ex)mI;m=>iOg`6y;ClXV>g-TKnlly0tLNRjIc&SuU z)PH7wtY zayfUN^-Ekqplo&N;?n=-%M1!UE`g4p2zhjDq9AMs4sAIJ1?oY=6dM;0+IJZv9>}4! zc#sSBjd!RSn=m7Rm4ZQ^B$vp=o<>jJPG+4sr1Aead#51Lf^BQFY}@uOSM9QG+qP}n zwr$(CZQC|_pWA;w+`r$>ddi6PmJwsFoVmuBUq&1DVIgtK#8@93s$5o*QM!ou-XB5w zHkV!682$+e&ZZalVqF=*AJ)Y-HhDKej1;%nDKen=UN1aA5{UWO);LfO4i8`ajka>PK-# zQAX+GQZOcDGW&h;gs~GYhUXxWPDK*1Tac7u8qzA{Gt#p6gr;1d8*aszC0|kOH&aL)VCmUn&U6!`7e|B&1 zUNSC$?I@gK#Mf-#kj{nE>q4r;;yLaA%;U=d3EZP#I7{V3zG{Z!{_rAove{=WojHbr z!L9O9(kwXBeliH{Y$I;_xkXyC+bF}E>KohWgd?pmYZ>htp|0vJP1S2S4$S9OD z;8f|jkPVCs5}G?hd2?zD1j&>jvjb*2S9;+%e}HIoLDv_zZXh+#rg^7DGgZ16czNy4R80Lpq-Jpk&m^ATj%& z!C#I@02-HQY0W4eau^z3$T=DIM#}rpD1h?VU~_(oy%ATB3SWIcwHfU&;MIv2Kf$Lv zfv4ymv@oGz*^1}bLlR01%a-4#p;toKv(p*d znM!aXu-5;ulgt0GlS2Pxv34*vw&b@l z6125*GB^DHLnnz|Go@ssiq|a6D4STsqX{U?%xRdC#e<88u!Vm;cWbH$_#<_w);uz{ z*V9>TL$=OJe;?V2enp*>UtW7tV&_f2ST}tduM6KlBhPBeKWQ6oTFX8=A{r{)ovu|j zo!3Rss~vrfo*%l_pOy{Y+Bt;=2L2ClvWozZ$t9#V=&GC3=>G#w!j(Q)>|e~#m}}B$ z{||7o9f0c==B(SYv!Xm4-jL%NZgf_2l+Fi|At!@|J4sfFmD~DX_o*!Ey1WtZsnsSe zt1KOPqTg6E;jwR~`us{b@0g|!;qZu4)P61bmdaM|@BG?Lp8W04%Jb^o>y9bhxox8c zHZfSDEqvK+iGG~;c<;o+1AIN0@A|yqjN5!O*O3+E`y40jplXsW! zF|xSRtgO3S3Fthn-TOxq{eZf%#&`sRmJXo3wr%d)ozYfP6S8vlU5@q88ez+d4 zqlh}%@M3r8zNjW0Cq`FdYR#G3$7*UC_7Hg^=FdpIm+G-dEcB!p!)kw#!L;UBIn z1+ZMKXFh{0laQGuDYJEF5X%5L%!NiI9zdghH7`Ng&)uvrxB_-&x$ej(-2=_rvM2rW zVlDERS*hCiMeu!zu^>qZ?vdAw3Bg29FT*A)W~WS_o9k#$CQ5IO$x3q2q-TGCSRqk0 zNhA$O>AtrWqCE~Zf(ls}jw!+zL$eA=rIfl=Cot5bff@rzLF^?$4_}thO~ZEO4b~q3 zHH5rN>NF*0K#2k|hNy@-;HoH=5dL&k9YV8TnGa(TbTL)01LzP>iGJ+eD5hTi z0G9!W0dVh{g%qNpc)mP-9MFh~?PwbFG(=%#yvnc-kNn?&KrO<*WeGzKbHPG5Fp=QI z0ic9mX?(inbHZH6I@oxXS|w>n`Hr=8kJ%!2VCehhs5#r|WKV}u=wmUvNE;elQgg_= zMATxuh&*013c4JV>}vXIP;iv#{fKnQQga@=NL*rogr`1zGCcYSzZ?U}kJrbE`wKWV znMkgLI>9xrrN2Kw52@#67QQ?`w~p+25x z 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

        W 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%0DTE9DAJ%EgL|v^?U}DoV-q}VtCmKN0JZV2 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%0AW($tRu{t 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 z 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

        W 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%0DTE9DAJ%EgL|v^?U}DoV-q}VtCmKN0JZV2 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%0AW($tRu{t zu_VjqkpbC_tch3WEK-DGX9w)kdPG`k`IXsvOGtKv&oGqmLDo+-T07WPh^2$|FqjS| z@KD)5d6A6YAH^HU*|icLN2+#DB+2xf+go^+qco#*GBu*5%EjW5?(m|=y@H)uDIwxR zuYxqXy98LMlT1nDnOU?ID-uRHpF}&qzjqryFB-jCe?6_S316JgIAVYc)A_wqQ%+{u zBFVBVTEZLxOiYSBNF&x_DG|TOxD(^7!Wi{wz?wyJggacbzRgLRnRVRk-1O!#66W4h zgHE5X4|LB&If@KFdncl6JGa-#jR(fqXW6QPp4=@xRa%|Ev>Hw-c2^|~NF{S`my2Zx zhZl_hDCCQp?9JAM>z~yYL|rr0B;a+F0u9h^?jg+Z-Lguhe2nt;TB>Hc)faPD*=41) zqUiDfU|mmD4uB|Ux=vmo6`ZgsgD9~>DdkLlhlV7vOoNkg5dtHJSMBhKQqGsJ@(tPc z>WoXAaoVyBHltue|3o_GYyIFRHQ@p`tFr?2Z#ePh#f1KweJo_I*TPfBX@`_uh6kFk znouy&5AvvgVrWGSXkH8O+ALG&+uz{DW?iqNBC7dpXlxmTA_TFM`d5*yX_A$_2Dph! zg7kxk|8q}jnHkTXw$wi(H07z3e&D`o{+BIXEP!HHs{VAJqQ*jIJD6J@R8ul=0SO<@d~*NTEVH`mUS1lm??_qWf zrNOrwlDJ^bG+G+~59GnAUldpKfCGc*!jGEib|uf+_L!hpx4r=yq)ja`R)fgb{bZ&TWneEGbGu3uug>pGdO`{%m3Zz1sZI)#jJKX%Zj@8|Qje-JZOKFj|; zH09B=&XfQ0uYLPTco7u9D9nTS>A7?8k^izAPw{5$@-+0c{F_39LEeA&cIL&;`RS`& z;KoZwPXJHAbJn0eO0~oHDd%BpQqE))6+3{{&$;31_K~& zlzM4|=k5JG+TZu)txbVn-P4%<>0fXTuIfmE$Rbl75!l*J}ULtquta;Y=)nM1) z>uzN64yPVtv}YIb||Ho|VUw(sM6v-+ZXGvDjs_p}24%B%u?J;M`l$D2L~!RJ{y0lr6gM15UffLm?;Xv}Q< z&->ra>YKW}yV+g8m#d3_-j9eWf*JcOs&~>K97P#WFaXehf900i%Kx+Z&qDL>FK6Ux zX>H_5$4t*b&&Kd?$Kc@R>geXmprS6pVD4b=>cXIErpX{Ar^4{R2V(iZ1yVM%aI-aX z{!c&h5&hGJrCCpzOU(J#Fw8Efm!`+{s1?hpS`=)mp=dJ$LFK3t9OH& zzRv`QYXe?S&!3nJ2YtQ{Z>OJu<>|$jpU3;h?}*vFpQDj!j@=!EKHpCT5quTyRfC5H zKOetyompPLx66^M>FOJKhgyz=`uyJRZ)?w|$Lb4=p<4W2&;R1=o0f#(p={f>ZQHhO z+qP}nw)<<_wr$(C=dU_vUSO*BU9Pe!N$n&HelHp`erGludVLPFHc(srx*9{8}4)Y+d90y zKD<8u&R;eB&F)XV+#f@`6HWB?taS%c_B?AVYxew{Iy-rzHGjQ5J-)wHUvGVXzh7^4 zJjZYOJ@2Q#$sW%qKQBx0{J+-+V`o^e7o~f=zD_@nC-;Y+d-^-w^ErLrQw}dWLtZ{F zrC?vjmtO}P(Fd2==xd$sUonRMe}|{9rx)zzLsRDZdw%{ehnqh>u1}AzBQxoBc6*v_ zO9ZSRZTRz(y1cl%T^<}hpZ7fn!O`LQd_2zdeSa=p-{0gszs@OwO8@mJ{btd$2JFVS~)dW~)LtiyHNbII9vc6N1k zKV5xUn_mqHZ~hO_xdpp_+aZ(kMJsRoAKy(k#nCr|{5;=BJwKIybpLwZ?1%iZf5+%G zy3p6+?f*k=sxHjiUh#>yX5#*3#hqQg{oyrwyZs|d|M%48BlPq?1l5P|{Q+^m9ls6n z=0@@PK8~+@RE7Ps@Ol?(|I3~Fd4BEj=jP^37Q>VJd0rml-`2AZ(%0>Nk@*cUXX52W zk+e+2Fq&_KbI-f-F>cIlP>(*Z*&Qd`)`aza}&O=0G9eC**B^e|#S3_kKP8=ZksA z(>@&R^L{uIZNAs%%r4HJM?Cf2QL!)e^)M^UIB?y--|qS0(dGAjquel&+=fpz1CNUL z`F?RkK1U)(m&fz>dU;WGx9e9cW}ce*x4!|8-_!o72mLjRjQ$Xke)+lKzGjp+2H)4? z<@YmNq2;nHSNs{-@#azDUm(u6sNUP%>3jBTBsDQr39V*ucN*N5-xc9UCj(hjmaknI zZ~VuX>3QGQhfI4BXZQ8{^EEWIr|0wDK)-IHSe?hW6qWPP=l!*KLdM&!}@hcXrVz`=0{2yf84HW9JWuPhEtTy&`-|7vCxdEF zOLO7eZjRF7mM?1s#zu*qX5bT&U|JR9YFTm1S6V}$R9NsG* z9)+&Fc?X%s4QFbQBix0zP?c132(@rO>R*Ww<kMoiWwN8!hHuETqTM$p6Y@T~~Ddh2gD-2s%c3vNDgT zYoS9e8^k(ecIMYkg^3WJh{Ppg-jy}X-qL_^^7 zQ;TZOH(Q}dW5&4Bfcb~wLIc@fR10zxlmDUlKL-{R!pnM4f9Et)YBtk|ZH|=*&KgBx zJ|dBugKOY@_|9(UWFCptrJ zPi!h$Z@BVG(p!aYk}1jAM7{o#+&X`a;bK;A4Aa!NOly|Jf}&c%jRbfp-?AF960PQu z!c~1PK8wn$TC_tF);m=rRcc?2Vsma_!4uguZ#nNT8ld;$mv)T%Z?e4Hc%miN$Tt>! z@DSmR&axL?Y)vx`@wMr#s**cx}r`ny92iYC9s|q^ZEh3hFGI7#u=CI$zWs^jfROf& z?Gg)wM(_xhfJms;Of$Ti3Rmha5O|R><|rK$`T-Q0vFA027zJ~~=lHw=bgOFdGNqdQ z0{`V#*wjN*H?CWDRQJ@PD)Kdc5JhBu-A^{&{%lV`;^%S{cCUtt`N+mFNTai<{R$A@ zA}ba^FA=>8FAGo5ywP0r=S3PINFit#8#(U;n1?o4=S0|VN`6MB#oE^^*@gS|VLr`= z3TaSZ00XlEph7vA;UH1MR+up|5j?VZ62y|ki}aHf(Rc>SJOR2AjB|R+zffEEqhL8e z!E$IiGVm|wn^S8A1(l)}=f>_=4`TpD1E4hoB^Rxv*K{X#R>;&w+pjsESb}5?JBE!e zBswfP2C-a7)tTK7gH#rkgjOCsVSz_y!&NYwaMYJuDaN==L8v7mtbLNy^br)kiV|Ur zCO1l;RfhR1Yx=~#{yNpF9vnV%{nnk?XNrna+EHvOnt5%=e`lCDYgt?V?~JtQPveKi-Gwk0VXTkDU#)W zo7S#11!!%^Cbj}#cy>V=! zocc*;GHp&o)*uPTHZedpVnf8?!B90zU~S^c7o`ioqM*C)W60fjT1Gmr^Y56hv)d{- zdQ^k@U5)`+!H{In(3jYA80fQGwxA$DLvycbG$cezg4<--dYE_|YD>HE7tR92qRvz6TULe$Tj*K<$_RfngTn92@=c*q%t3~>qg0}EaA%{ z53t(0uDjj8&vn1@#ePGUk3rDfbi4?z^UDA1RhmM!)| zA|?WDwTB*nQ9to=NohK41Vi_;lYvc8!QH5+ztvESBIf~Ox(+r^_C z;r*BdWD}c^pjc6;00`?PoomUc+4SrP?LSXMTW9@o&FAO11w&jmLNfT6j;K~@wKx$^ z%YAZ0`+r>)c3r8=p%!_H$iBen#Dg;+MbX;)zEJCjhiQ`QGD!m1C|0^MZ61-C8D_m8SZ^ckTI}_?J2g6SVJsI)_<~rR}q= zp9$CoyRA<@?`V6{$m|SP`;?N3MJ!o?t?Lo44SFnVg0hQ}5DCk^prJqJOc(JZe(0z` zncO0fgNVa=X??M&$c@{tEryL6Flx0P>z4&TlNr234$SX+Gdmb4-0sp3)d&P2p{zDI zoU#Ke4>-N~re{``w(TyX>WpBbu6F}b=<+%}Syj@|wd&z+{|06j#&Tueu8@~r+GJYz zjQ_nf=ImS{tJ$Cij6Ej(XaaSKQ~wJj0!`t{Aw1Yi!?NgdS1y2st|z3mW3Fa=MHPb~ zC+-E5y$lHT%PZ)>0@J5vdv~zU9df`Nk~f3&oBr#g?X_%szn5^)7e-T)0jCI7)wY21 zAa?-`o9yqvAghXv!8P%ev{jfarbzaOn9Z$H=s_akDYPU+x}7_&W$I;HuWE zmu~pgdRS?ybh~WSL^vt}r59i3+(mKSLpUx1xGyhY@AMNLk|+Y~B|!)OUbpz=iP}Dw z-MXPiO{UQAP9C9`r{U{s5F9zE%y~%zt(BJ8KvHVeoQzUc+oHkcYu<9YXB8+4xiR{q zf?A4d#6r+gd|jZsvjL^v8jb42CXvpR)Pg2Apl%qZDGs1%g`q|`-m|f$N8KEhZ{@g=3J%Oxzfe!4fiUr;C@vYt`U?rgd?6g zzv>Xa{x59so5}8AK7z&aPSYksArxzH(qRxb6X^Yp!zU`UBA5$_6jC6mhlF;y$L)s# zg79TK?vryGZek7Yk*grRT*L3#39?5g`Gx6U%a@c_2g;SHJ)NKb)yd;%y*^K_>3?HF z^x$szBlCk&QL>YdU2|CG#`m`srLDrBf55RD-8lV>^jW?a0%P+E@M?8Yv0uP z{yqKtrlL|nPqr`%(Hf-zt!&S*d!PqZn%ui^1}RT9{9GZr5+>$;?)1k+Bxm~CH0R8e zCf-~b*^4z2Iv=*|2mn|{Q{#g4ca)lZdnjdjGxN!J7-hK)Ie3UIc5TQ~vD;o+%A6Z9 zEF7IAz1PG}DdOJYIxc>_A$8K?snG(QLW?-K5HG3M|UnNGl%alXp zpe$mHb{ND55-jjmO8c&{z*$1#>p9M%I=&8a7Z3c9@;~KI3K@lzE?n_Wydhyj%cK&j z!VfzYn?5W#MxHXu28FklkTOq|W>pbsP^}A&9J8e~?Lmao8@g%Hs#v{2aq<2&K=z#Y z?XloS4fHkKQC4uW*_uDsjW5$nL+Bi0E!Qdt^@D;i+yx=$U85g7-VBXn zLLVU>q1LQ|6yWYpwsrW#OTtO00YZuXI<6wFBEAfXD{!5_oj>$z;_oIt8fZlF-%|u<1eu zcU&sbMlQvE4uf6CejJYd7Wt-ciDQjF?t0pq-c4PG@=!OA2Ry*!63^y17YFO<@ zs)-mEl+D^#gkDs?E1VmK7BQ{+-P&wpS;&ykaU^iV`JqG4e103kZB7h805}>rP&gbZ zrJ!ik_!j*TX@!j-F|Bisq?lCGfT*VdP|RSdwVjAx7R23TU58bfwpFiGn<6QZEnMB{ zqo{^?=&PQCY+Pl0qk1aZ4k4dr;L12hL+H8s;h+7;gfCY(9z@qZX2t>$_hT)59N46p zdN%Kmc2EMzK=TL%4cqeGG2J(helX)L;Hkg~CqDmap0H&Cf5DWmy|@Y4YFvohZDj%r zz?IjpmUhAv;Lin0Rx*qrWf;NBBI*GdBMu>`XRKuuai_+uq306rg?1i-5(FX%fM(sU zS+H+HN*J$i5Us$2Xj+j0QZ091f0rAaJxscr_MUtq+#(CQLGscui_!8yja|5J);#-W zt5Ba=YS(4Dz+u7}b)E4C4Q_M=*8-M(_ZykW+-|>s4wlG3<((>z>uvQ0JkH5S(xg!3D~aw^UCJ# zLU5HdLCfT2u#yo2`TRKvL!gQ9lD;fi!puC5A)OqX+zmy^) zCO#ck7+?_rBO1h3_!kD>F@88!9<2@r$ZP!C5no7OD3#`@hh7pW;S+exO0FOMp5`lj zMml|v={t&Wuhr_BHz+I~Esa}Ke;y@5q6uAn%2tfEWGEJ$$hVAmH`TtBF5JLU#FKSu zUo14*sD|SQzK#5<0dN6Nd&oFWKiI}m@r2-}{NiGw`RfaCzsObcn#7k67T?DdAxn&#k<%Q7)z+9ur$X0y<3bYult z4-cbR($xfbV|Oa&ZIdP=a#6#H(Xy}3ye&~eEy5(T7V{D-A~T!U;5l?jM_Jc#t$4Gk zUhJ@rNem^vW|XCYXzWrMN)jM1Us?B+{@>xG3^G}~V%4G$!n)rDFTeuFv3MHi;AbBA3^a@rq&7#O$(@GiKzg-X?@SU8!(+-V-~*gkD=x(f~57{ z*en|{L!Sf3Twm5uIRK1IT9Q3t`jY%-H`nKHBl3=a_d^eiF%p@@c=zVe34;2;1RWX~ zqPuPX9V;it5eu+XfdeSLUD|3+j+43w)JWOuRO2zvKmx>#?R*Qt`E_Psf@ z3Foq%yQn_cB%h;9?s|CPeB?0Bu|*Vx?Uul0Tkzc4pV5E|iS0bP0W0P^k7qJ;CaZdR?6l!45t~+kLf1Meiz8*x zEZR{RCb$4s8EKujxjWMN89C6;amr-RnCzq`y@zVy1mYT-00mQH^WPTBTLkBH9PfI+ z1+2}W-V=T-`UY15YQ_>e=DV;8q4dbtff zI62#5ZXo!K5wyUbVLX-O8lw;8FWN5=`K(s7F$*m?IX2)b&Q@h&eTbXutB7kOEC#_B zE-b`U7|sbx*dOIU^2(d3$cHCe-W%ysfAlEc$4vs*SM&7*EMDX-sy7xG4Q0<510u&) zJ!v@+mV-lQ!P071vPnde8j{^Q`l$KYeB+m5h)>P{0Z@<<1R(*i*f-_5*a0(uyZ9^@ zd8S~>AgTgXduTD5EW#-?vxw5QIsvnh(x(od8Pc+NQUET>z!D}W##DX$?*gz0?^1zl zKbG(60|$^%8Sk*%?TC$gf-HiQi1fbo7zUs#SP%!x*w5x|5%IuGyE+ld$;q{xD!3f? z8->D+Ba-$LGls5J?sydOPo#kuiP(D1op>eopURJJji4)Bbg(+Bb}th+%tV8i-2@@$ z+>0FA_swjOs}H+=K`vzTw~ZYxn`GoR*R}82>dSZy@ZFkSS6)4#LDYLNBHAMO+B?Jr zvPgC=QQ4~i(+-PP*`gkl3*J&U`O>~IsX)RQuVMc}Qxtn-!Y^UtEZ8I)&yJEc@uC3jgC`o9%wtozaQVFP0 zKB_pSRmeXwAvJG0sJrAi32DD@;gE6Ibgm4Q^3~QuP;7eE+5a8@9E_6JM8%!G#8nS0 zx#W)sHz#&0o@D$A9YQHo5iB^y>P|cJco97FlpGoI@pIh%^Lz1@56NM1GBWul=)r@x z=N0ZJ>dhMNaeylK=oSlW!creX{_USiC zTBT$7gsf5DTk!Jyl5{2S=(^tY+HHCHUfRU+Mpu04TUm5nTf8VK6|_+Rf2`28+7o_Wz6fHzsOEyJFQ$Re1gczesDU_CJ~SidRlf0PaD6NTccC)Lkcz zx}K^Mcun}_XS_n2^e3n57VdD7rQ^yk;UyYtL;E;Lp{A%$BJBLGQk@}LC{(Wdi&tkF z)Id9__ziAq)*o1^S44AtAbo0&muN|lwmaJ)`K`s5)vnE7Ov(kTxvwW%M?OlGN%hX` z&tk7=ld0<`w%U-%XpL|)Z>_VF!%2=5$Df}Q9<>e62BmKvP7?L+0HxOhwh%ewT)bl? zjD#2rKmMWNJyP%kH+0&!aV0S!_9fTp=IJ6}NwJfOZLG|}YlzvPNgLLycWWw;v< zK@DwJeRM0D!DR+B;;ayD(XM)~4R>|0{@_EWjO$1Ii=EiBLOqsDnvEWzrmkM&0zz!S z?A_8#6jP$}aZAP!$q1A|NJ|uz%=qJ7F4JQ1AVHNF4y(l%mvojhN6PdaY^!W+PlW^jZ>JOPX${IBE|Ps(p0(*b%A`}jmq z*&wY}a64k2Bc8`wtInZi;ttCw8Ax?4(O%1OsNfVFQ_Y~~>{o~+6b?(372JIjVWG23 zb8`zs<5(f~z+w#e(yGiDP;%cytFT<9dG0ti8o7X62Lr>=M3Y-L7aUpJ2!HZ6w{-YJ zc>^Z9^n3b*Zj~Hv=1tp`eSPwuww^@-(HXLzF^@1`9u$s!iT>b>oSC4KT&3fT4=joZ ziNU)F38E^_6KNdPm0kfVNA+h=%d>Z)@w!;OI}~hqd7~rOL@mB#8~&-MOoD+8-Xd=z zf0Hn0KZ))WDAI$HMw|{9l0ri#y5iuQdw9I}2-5;X$VIt<14ZW}5*wWa#lR>yjT}6L zwOU5IS}-^Hr2WVM{Y)IoRd*&|h+Z$<8R|m^hu>>Ou8oBbCpFTEi8uqDf*4}PRxkzY zqAP8ikjzpEGTO}xEnPr1G$5=Hi!@yI(&QKLW8l`lS z7_QNr*N}NmBigHEd(mc#my;-G$I%&UJ8W}0g5QO>VYm2f{u97 zkF1kYnIabOY=F*Vv79FB9njZr6?hQF3Re#Kb>T&sa0P|&US~`fO8f~dFwD{jF~TTW zVikk1{C^@PiyxbCs@Y@Nyj`+U3rqvQhUBmMQHyJb*TOr|9)cCcj5T`Qr1&fL?b?N| zTdMDBO%KZgc90Y2`(bv;|B@0WTLVlQtk@RYrBkX6HB)bjQWhGp;FVJ2l4s4tj z7!NGa!?0F_V>mR|o9p!{Om!o9?&t(p@{M2QR|A5%biIK#x4w>5K=LNG;H6r>4w zPA5sj%?ruD$5WeG&*adG)tA6&Q#Bf}1}#wr@G}Sk6<*gV3y(~VYI4kbvUG0_#m6cV zXP>>@r6O)f2q(D*<}JCF7V~$qb(~!U@)4$^3@ErIfs%gOlclvsn2t7M4$1Nx1q9K| z%nP~5Zq}}OKz-}s%NYqQCZvfYMe#Ncoaj9`~FwY@uUZC?`vg zR=!WXX2^7C6{0oPTG8P|AX+O3Of~Qr`w_^N2uA3@8?@1y167UsvO#ao`-9<2tg! zg*#vg>KsA4e-7YKWyAu6D)7h!Ci!9x<>^Y=5eDWQcXROk*r28`ajRTycf*$4a$(7& zMr3;0VG@TK4iblBxcs_CbhSv&~-Zj^$3f z@GvTSv$t0Cji|jzsMsto5PA^wZM(lo?tgS-ravHHPsPzF(yQIn zYtbAy%Ao}ks^2SI1kOd72o&KPyW-+;DRV#wrcbu8CL32GFP@W~v+#-Yh;Mw2LNO_1da2sltk<+j;a;lPez zH_VTFbmv3^r_`ge{RLId=VXfR<|yNEvYWMR$nLJt6vn&eV*`X5>l}`Fkd>g8wV}&H0*VMV8A4v>&3yPfH%NT$Yzx&BYK66Q@3nA+bDk(V?ojU z*~o0fTn)XAPSAL%zPv?kj-)6j(E`d$2fxS`4dt91o6uN9l%_syXQBR@ z3!hVp3S?FNN{nv?v@4MVRIi@Sgim^TT?D$?b#dv`qzL~)s$2%ib7IiTNcF3Spm%c! z?jcILzd#|0#=4pu(XL#{nlij2#6BSHd#fX)Ki55QD?LMA{8t@O7NO)m&-o2RA-!T= zmhoVUvyLu*vQQ-3p2OeCWd&G}JBBdUlX4bDGA{g#gUiw-bHz+^)j{!#+R-4PB%Hcf zHx(CjC_Pm;VABqu)xcoL`HF_ZO^fha3l32_!NS$Fe^qf%wG4`GA4wchRIs4$`FsH8 z@2z|GJ>kqRLo*67f9Mzr{j3PpY2h+28cjHhl-jJ^(AsmtOtXF~0GGD5bm+DBE(QM2 zD+&HdzEg8g4*xDOk=f3fq`yQHXnl4_*;EyJ()lVRfLFV@H(KfpH}%zWjv~K%AX%Ot z5!851SueJ)|Mayzzn_t-J^pU+Ot!F5L6#Q^Rp;|YIoOSv_pXBR4iug)>VCi`FHDsJ z^Tf4dc*kD~e%Kpk4BWkWD2^bUeH#(SoFzEt5faa_8JJ?#^op<7@YxZIl!$|EdtXbX zh@aVgrD%sd62L^#xMy;1`XXfl}VP9t0LDCJx zabJg&a-P)6^Z}J$umWe}?BDzdp-cW8a2Rr!gKP)&GMV`7#LGB`D4v2l*fITIwtXkM;F+o0j91nv|eL)Fn@PU@jw#D`$z ztTD*$K|+SFgED?Rv-o_Vta`eaDlN2Ox>b4KUYGLd_W_AGbxbpknKmTp^AU z7XxGg54# zFMznK49jex!;~kBt$Y=x`v8-;YTjJR0P&Kw!Gq_VIA7(qDc3qoi>4NkfBcuC{1;Bv z4eaurUTMtaNv6qO{*Z9!eWLB%al71uVt|`?QWI(^E)3k7d>k>HAhHO9t@x+a30iG_ zX|2dId43&e^o$>y51*o+o^H-0>N&BIIEGh$2^+4nbd@jO#r_fVDaBK;i96(9=V!4T zfD81b0oCDyC6DRVk&2#V@yq@G%{9KE#LtJ|!JvV!z z|1#%#fngN=1kz%m$xHivOehOeQ7Ge(JL+g-@J(uzakWeQ0(Bh<5uqyw>7#MIauB1V z@q(2^F0Q@LRI@}VQ8QQV_Og>{Id>a3$%IH+WoWS!f$-Z8niwQ&W3S&8_UPIt`OsD_ z?PD4rEgpD|K1&S%b&nAsow$^?eO+SR*AwlqD~2Z~AY3v~5$@jKQSy|7US~sEe6(_U zFQo{dLY=>drV`2UNm#Zd6W~_776wR}R2{3wIBOCMVOL6hV1ns7%#{oN+dR$Y=+11` ztP&DcHp#MY&L~}XKZIUGOPcO5_gW;^Yv(?Lfu{5tY}k>E0P;q^zhsG8PA-wkK4fvf z6Nv$^F2T_c>YaMF{d^?j$f8oNk;-0X&^|5!E7vFTLOtQ|bgO;;kZtTQK_a6|{nW^3 z4O!BkFj3LC^_W2-hf&t@}i z<%r5E<^CD1l?*jT<2j-59#eQ_jPfSaO&;DDMHI35POY$Pp_uo`yec_ol$Qk81>hw} zI$Jtgd4>l0h>^9l6w7Z#UNOQ=J5x)FqA+Af+4kKmTu{pO0gR!j|8jmTAzBBgp+1s# z+O8eQ>Ll11ibEZL|)J?4F=2Ts{?bbD*nZt>~Ra-MlWMGsNh8Hq;N`@I1!a#bAG;kWYk?*00r#Ylr ze!=fzrz9{pjyWJ7*_NNj1KVxS_P#zqf=DwJ^$xQh=nAe-&W5~DdJSg~F#7%_4cP?q zoEefUJGQ?p!7Wo*YPca!pe^B)PA}Mu-YubBBxX-#M>~_f=&6XU(_%-aEdE97HnjG6 zMymT-lv;nnIjabBsP8BE;G`JG9V6x#AifW(3yg3?qyjp(I>cmuzb=^b5DDQ9W4ec7 zzo|CJ7hukQZQ7DxWf0~jujB>@%x1&;8)NbEOiSn&`Fy!YOm)4+gqc9B)kYCVz&mj* zf^Iz1F&(-#R zCirU~e!hOD^Z(Q#-P2q6xI7*9^}Z?pd4c_fjr;-qKZ5oD@}XB`a}y5#BW?>Z0040Q z-}ul9s)GN~p>MRdl2F8xe9x!{pM#pUMaO=ao)}hv7ty#OZK71>;Eau}K~XA9=6AGJ zc?qz${P&#YOjy$|MoG5PeG$Ms%+$HpIC-C_Q)o-BOdANJPn*{u^-O2wRhAw*YU&qGo^mTr_ zw|ajc40`<@VjosJNPnx$J{_HLu-}Yx z2~PFVPHmdD?CED?`^;z7x(}*8%IkVRdPd(r4kx>H|7>RI;ZCjk1_-u#JX?I57_;B# z+0wzAc-iUccJ+EUYUlKArn_zq#Ct68PV>M%rg+9jo`$gA>K=wkXZ3u2$~E!ho<{TW z;lro)a&x-9-)?uclzZJ9ynP?b_B#17@pk`SAC~OXGhQDG@n`pJUcH;PzTZ~d!ddzM zHmd0vYtXOGGOn{Q?HpT?HT;q&QOCiC&-s>u0ePUp(^{QW;Yyxwn=pN_qq z|0a&W;mgD2@s6&!oj>2{Pvzn9`86_No5Rp;clB@E!DL*dW9{_ZUU+wG_%es9qWLO+ zPEJQ&S6)HY+Zl)& zXLC0SZ)<~oHS6sh zMlun0Al}#uK@187Rwulzg<^}}LKoi=9C~Ch)M)F$=}^08IAE@cLb5rUSm>xhZ?DnQyUE`hq13pAKKi|bTGA8cS{FYEy_X$ zo>m6(LX#YDJhmWctzrmnIvGPga{jDvfmqWQ5$-1yt}*^4i#=qs;Aky-HmhO9H4DHM zn+)1xE;{4zm{+mjn8AXZQ!;`}4sp`vuJPzfnD>g&4V+AhrUr%oM7Y!X9%m7TT|bCm zE3E`)7|)v1jRM*`_r^hr9sHo|h&(VOpV$?hf4xB94_G$fOtF5E9;slEZ#7p~DoW{+ zK&+v;8wbjpvP%t)5&bZoP?mvUlEpw=lpz@AnyB;j3%%QFPVN(>ss5Y`1rA@^7UO&{ z%f-776uyJO^O9JMe!)QA1$moBw}DD}cFY=rk591Y9?ifp4XQyh$>vZVXH@cU=Tp!9 zgq%2hDcnc4*IDWLm;+%Uj3ux3G}`}M|a5>kP71aC{g+-k~Kd(-q{aq2x9sb^$ZX) zDhDdTV(C~0B*IVibq{2CIKXS7BEAI=4Usv z3X}$XW&eOx;F;M!HyK8Xd(yd<6UK$6!q<>99T?@tD9wa-+|xUxwS2iMpWnc%?8Y8q4K` z-#cSOR10lR9pv{Vag5chWYj8^Aih}CtTLyptv8y9a*PD(tbpmH-VQ6k`+32Y78~?S z`0*iit{g|G{rm-R!hD27?$3$vU~tmlw#mFlNh>kGu6ei|kj+Ef$7FCE_D{9vAJ^MKRG zP9!|{dKREJrw{-XJvXm6&>ys~eX!Os_FwPSZ?q5^Y2dSQgMNBEj7o*LOn%A!0q^@j z^IPgCN`UX&d&g76Dy+T`%!sGeuBDx-5SU_4IiX|#=OWQEsV8_D(nt8oG$azz1#y)E zgzWC`6G$DePgt|B@6Im}&%m)eHFt;I@pTlBlqi9C8EK9DrVZ8wcL<2_e-4Nd!B#GC zCL9}@kOF45N(qA`FJ~*ACLM{SEDn?o_7+GQVwr?A766mTVcz%jA{-L}BbcBo8nI z2Z9OAypkDjD-nkDyZn;yNPri~B@CpH>mr=;2yUclPqqi9oJzt8!sA&wI4=-u;MEY5 zJLdvA&cx}88YHrv?@GijtA-+d5qU)9fKrCZr?Mr044vyro!ejYF%$>`CmsMCb*x`z z3PR#?2q&F@hy;RXSnJmu_&hF4lz#!PnvQhro}`V*8~q57SH*?#C9@6C7aYZOum#J> z1_b{K>s3oX5?BNZ?PuqVj2RRqG&!-t1`&>1%|%%jV^GDFfX`0H9~^dvKwjwtjd}OX zkXRIzKj$^-mzqZ(B>0Xx&==u^F*>h+6DA&u6b|`k6wsIn6@UiDEQY=cgoQkRSRkXI z$|wv-2wu{B8t`Cx!* zgmkC+?;nH#D+E#?9Vl01e!5}AGLdDcxuliE8Nq+9tFz&(m^$JCq}PgLvBQ| zVw7=H&g2n-TU1n-Qd+6k7%(lyi*u3*WC!C8T4+*JV9w}DHmhEPylFtH#iNDk3Im}h z07&p@NW>+Nzx#mD2sk}xc9iJ8uN1BXF^LUm2A52f>>^2f(|$ls;9o$j6CwKv6aQ^aT?ea|9-Zv8*CtTaM2@EOF2_)Li`aN@d=QI4O0vxWy^zEF*kXGE>Ix> zG`^UEQmLi&I^t0@qLoR;5@}5LA2cGYgc)+OB1@I7vu8fZ%I0Nel2vK|%Cy$}1=vpp zHZDRwLXE~=_Y$c&>=XKKx`3IqEF6&5$Qr2uw7j;1D@~us$cnKPVhQEzRqAa29O8>x zYZJj{Uh(n?TZ7hsuO--O(oAxbI#*X7QZ+H!%BcE$+avpNCL@~cmw`DUvCf? z&uW5(5P$G%i&r}Q7J*}3imr7-ww{74c{6;?l8g9uw+kO@&l>kR=jE^T| z79yc&HD-9`Xgj)LH@V)TnSDVowO#e-4)4k@v71fJswrrTF^19Hge|Vhjs3%+qOH!B z*u`4UevDx1$2>-0F-pC-LturiAG%kYtEC zqYG*jDM&ek!*75CGK!WB1~ZB@6EyI4CvcZGgYODyJbnXn@}8G(?(N9qoCE{R3`B4} zJuq;2*9CB|JWAmoV>%NKW80_9@lp?VG4K_*V52*t(H#*Bw>#oGufrfXGT`2sFK)(@ zVHBg$Pwy3`k72imIlH#1AjKSoqJ%)6c1cwa-4C!iy_n&<_tEO;b^p;!`blqzao=laRJR z5{G$ueZ97{y%Bd^{Z~|hnEnkR2BOCyRbpm~ZQ_crNQH@DWb;u$9!_^>D<&ls!8-ad z((3H6>Ge*Rs@1&~$P|#PiAF0G7{fXMafW=Ub8v-<5tf~j;1m;#KJItw;^P}l-js}X z#-q?3^urrAS19fmbKegF^uI<&!a3Em`pQtH9Q{OYWF?5tTn)mIQOBsPr#ZkCgdSUN&au1+lwtOrng#Q`}{ZN)ZIyjG%LqK?FV7Thi+usfSB&bc}ZDQ z+dLFD%gnXv&dAFiqp}c$bTbjqR0>SVT#ACjfp#cn^rk{~xQMWJhkRg&9?u>AVj_1? zNPv96&gM7 ztT0?|mMeN+D5WP&zy4|}4%LVm1Q`S7&t-#?JjgwYlDJJR&6ePVXnTU&+6~h1#^i1h zXC|pSKcE?|_zY84+V@6xGTz;r6f(mIK(yNQJQ$LPpQ!>Go@vdI8L&q_1zAB6M|$OO z?WL2ppE+c87X35Xe)}aM#I-M4)7?mg&!)0%a`{I%Eqqbw6{f*w)S_SW%q~|IXoWgy z+DY60T@XuI)a~V+pZ7Y(cHh9&G`6S!ZWrb{!Z{%txEXl_ASFeSJ8%$+sS-X&e-?RI z5~dodu9HAjlrj!{w=u{#joG8~L`)>`-UwA#t-NLC5~a!Nsi^Xn`&kJzbz}D)N9v~0 z*&A{BUDAx}*oigl8CDyM1J*^-!Dg8hP24ERd>I19)7G&WA9au0IbN~_#*YxypN!nPV%8XHJ(KJpCPITh;T zZr|>mUDdKaR{Z8xG5z2+`8tZpIG?6|0I@-0^ReA7HXb(qL2 zm3Q@px*m4}1TWC&^9E|i<4%y#POO&UEn4c#R{A)-EdkMJb%cF~IUFkgLtTR9&Bxi=RTjUgOT%w`O-mz&SK(BmX-MVdw*m7CFmvCUAE8d8 zN!D&BzT7LTm=NpiNkpaO8xk6rXb(;<9t)8T<+rWWU`79gjrfwjND zAn;J7@C8QHhnu{Mz}uu)oSnbJx@xI_#7XisX9Lg>IwNm9%trj>WaOe4!_*Los=5@Z z$ixQf%GrZKno*8Hn&Pn|ZLoWtJ68lI^lEn-;3k)%)oqq0nH{{n|7?^N<3B8V_zQ80 zsD;vGG9|?Xru){OKb<63QU)Nzo=MuLQmo8;oIw1AdgyE)Bhs#0q#d@~(_oldfN!d+ zcZ8kbnp}jiE_l&3aJ>w0XEoByVUfO~KNf#!_PDJcwziT-Wq`rQtbH!r{!tO?m96~y zut|9o-hYjf(bSY2;x;Q7-Qg<7+vE&@%pjwzs)^6bni;-=)P*j&*Ysk)TL95gVqup> z5dpwmnZ9;GRKlo2+m@^2;G4t1)OBwRZ5Qwr2gXU8HbthXPlqjf(yoJBU$qU-Ak~WB z;d8mO)!=VEE+wdYj`D0cmXyEOAxC)t^|_k(MbNUh7{c%B2+A_D#4xtT5MR1xVdqnx zeIXR{ls1#d*ZjK!bb7~ho~+eFEPAQPf_o$-hi?lX)a~FM7Zv~?Wet!ZS(v&dOi1o4 zSQO9mKb)OYKxSdT#cOJ6vfX6cwr$(C-DKOgoAhS8$>tj-PxhPZbk4c@Zoj*Ix%bU) zum5`f&ssV^ht3_};(w^*dF7?VvlafXvgGhs4;tqhn2XV_>?mbG7&EO%$TQ^X;Q-!? z>ze9;g2B3~oz=7@CM!PTELJ28G~CSZXKZXB^H`Jb9{=SO(|caMW`K#$rwhf&j498j z8|Am`+3oy|_56gg{3zhvdHWc8oUIVt?c>Bc%XobDe?4mWy0Gt9_>A%ya&c+c*SQN3 z5Fqi{_n*e;r{|GVI3yStCkz;v(0^x~ia2_Sxfpv|J6L}Cr)3((jzA9N_k2U=KN+Pt zc2Vfk%3GA=3Z{;A`s>k)#Z*uu#`qZV2Qn^sMr(mPq=(H2>BT=S$OMu+`FbBOr6xZQ zKm8E@e4zBq0D(JqzMrHYHTGTWtsj2Qmpf|az^5$lGtL6dfLou-*(sZ@8Qag&PQs<< zIx5ZgglW_CMVmV%tQuf?d*IV)BgO)x>>*q#QB&w*5L*l!t&8#YvsW6Y0xc#5&a$QFa2ZQYMTkomZ19I zbm#i|&57$J<(<}^-u8O=XT{cMdp1CU`3n@XKY@5)hquXyDco^K5pKy-lCHDn9r)%$ zC*l$r<6k@2P4nxy<*Yn;3Q#3>YIL%p!RYpK{+ev9tq4R0U3_PIbyjyP)9*1leP|1U zTx*5Gpi zW-sYbfCCpc?t(=xH-RZDrk-4(F!1T~x$jVqdQcUNCq2<&t8fs9<3!h`_o2w!%B4S4 ztM*nBW2w!YDagZg=#kqJ8)cZ)WD;Yg#A#Hs)ut9B2Y!e+*s2b+;Kd~JawexNB{AT znWjt6Uuneh()qrP5(7?_POY=16TBgJ2A`>2s$#2V=lqaqW_s}>v{L`HsJs*sQ%zpPS z??gjOPxPF%_WZf(Kec|z@dOJoEM9_F%&Uxv=4#XDCTrl2O;mr+ zz!nuC-)mkR7Up^Zs|+OkJN7=wUhsFhw6E^=O!bx3LC5v&P2JH@8%q5BZ1>Sn^IUdF z@IM*nin&qz?Tc|D&|qK^{~hB*9qmoTtc^`wtli{|U2I+dmvrhojvG?Q0mt>&hvX+e zjjrleyDs^arF3>skOxkX)R)KmMK&RF0P@mqou55BYsf7&Wxiag4TP)!)*U}qqpOV1 zyHn&(l&$iIp{tXUN1V@*qHRJO#}80T8^dkqE$ZWTO|M<|z{O^lYt9e{eUEXYZfujA zw#9?J&WHMgpysjOkjbZ-MNUL^T{@%Gi^%=81+}-+F;C=pO>r$?=+e(NmtNnX1LNmy z8f}%twNU|sb1t90&)EbGtxK|hK^@oMy@O7#8{L%sDy}&O|Kje-6D4l4aT*;gVYWyG+dIX0gle*haz&(~vuT3jnIkFn@7eAfpUSg$*;!tK zg!ks6O~#41HhWQ8M|`Au%DXcHs{+QYV_i*kwaz{y?WlY##nek-+bjklj~s$3D(bCN z#NJM$4apyQhdB)DBb@@}Wwy7qP1Ov5k)jWUHdbl2PkXRbS=UbNDe8Q~xtamKe9s)Z ztG$Eidx0X)kgl!)vZ(rFww{t*H#WC35Ixr9b?avX|gutQt$d zb)JuA{3T8Fn@g*EbS=*8qAqWziMO~m&<*vnN~kxwTr$-8fUxMA^7;0ylc&uNc7n|- zj$!vad5a z_>p>cdZQ_C4%iX)yLR6%rk`H;5yCS~7eb#BCNdaLN)X)IDn#cWy7;TUEn-yr!jzH? z@R*{1qc*8m+{g@7mMS8Q&A~&5<>e)=QgkkA#;5$1YEjP^B;sWr%4Kep0<|rqq=-#C z4jG9yX!DJHP0R|Xkse+*r!_b>dK4GtElbG{nUKgxD7n6+7DC`jM5qYSf}d1qt=~~p zEupxS^6dw^dS>&pypg57JW*-VzX7Uyns1;NfyDWM9E9vA`yhY<-ABR%<&Brydu^*p zOGza#gyZ*yjE8S+>l_P-X_oMhVxih7HnUiq3Tjvxwacwnnw57)* z6{N;TM@_OuF_p17RFxCw9bdsvPuVaQHxoyj{xm$JbfYNt{}ARd(b(XOHG(TtvQ@>r zv))UE|D!YXf-}s1PE4eYGH?dHiQ+*NylAD=DBy{C<5%2j^{=E;!jLAq{j2>QFGwzT zz6n+@$d!7(JLbYXM5&J7v z$}R+I$_FJFFXq}C82k&^^!FHmj7n?ER^PZ_MR{<@gK&R~R{rS--FGp&a|@oY_->z6 z7yd?jY2*2D=g1@2CZYX&HWJ7WcpAUK_)p4YW{y7ce^Ex`i!uWL9c9G6G?a<4+yB!= zKVd@x-Tzoq?_$zHr$673*T0yK+RamV6m5Yjng#;mEV8A_ez30k<1wGPL1yVI`P0er zXuHF8rX$1odg#-e=Ri;lN&D`}7KHCN(8kC1DvDMbV;C&2&E{^jv6^#pt1X_nZIzL$$RChPP9DXI!!Q?(*dUfRSftqD zcA2GZbEIOlQWv=J^wy}w|9N-R$p0_5e23!MOF@Mp2mS`f-W8D9i8P9@6LZ{oeX-FTA^#zTOrrVloZ(E7cH2_=Bq;>wEYUCJ}%#6AOGZAkdi+t3>kEZbLn z>xInlbkmcF;}Axz$Fs&SrM|yzjiBjwiT(4k`gf`MZFNQO3tL@?z0PUCWWgzdIj`nGovHBQ@TNtDx+pCZF%# zhh^)qds$UNAMNCl9RjQYKv_dyhbXe91($DyVhoSDJy`J_IkadwH^@0tYD#@r$_3)f zs-j{|Cy_%ZGLgeAC9{mu6qgCni;N3pmq|+A#8s2GPQec82y#KWwQe+`YGCd)={GBF zTPZ}98?J<`{_(x#z&?!J1&$cCs+&FZuIDGjqKH!hvt13{?*4+-$zA3gjZ>tTtaz~1 zkFo((CB@+KqWs2u_k=vPf6NGslE{RjMWHR`i*8K@{B}WJ@M35|Fs8v|*$~K>^tno8 z1mO{XNZ7!#qp6RGg9s{_ED(HD!IS%=rPY>r$iDdYCs|0nY+kmJ6UOTa2UnY#O`ucS z2I)@*L|p8q2rJu9TiKwyDtg6AEGqTA<78^oMo?Mf;BnB@H+VKQdNe~5%-16*2|ssy z!$1kq_vL~2Paib+>&w%t2|NCK&K}#%>AoGPk35eYO+kbA)z_&$^$)231e1$kLjEfR z7}zxw7?|XL2PRb~W797-$vc|KnY+1}yZk?)fbn0Gp8rlg_W2i~fT+|-#S4_HAPyV< zAUX$zAHgEFiw55f#?$_JVTphCL^S^-vkDSeN@O3(+MUW`O+|mZ4h+ydU?|qMCJdx6 z2$_B2gzgetEA)DmZLqche&6Uu>SP2OanS~strK{dC4`%n(=2jj)eGmDXv?^Xexo8guy*4D0GUVR*$-M4T zRd)6hQK>GLlfQ?4-^=*1mo?(OTCdWU7LOa0bagz(@=T()K~_&$b-DUo^NzZC4~tvv zc?qMN0_(N3KyC^fQmdF>)KA}9jvWaVYsU5)-)4_bo*(gJ`-S(3(DGdf9u;#8nHDAE z-I@2`uT3Yt+gWubD{sz~I`?naB8LPG8ix@5mlLGy^l8AAeoH*)*EJ2y(8o$!4v<#s z=&`nDo_$S3$a{PnoYenHpG;cYP6EtSjMe+QhCk8yv$qV3j+l?x+XxwxyLy%>!I-kR z^hf)0mNDEKo@}{+g*#2p?UGQnMTy?qZFSIKzwt{f{EO?Ej(CxCjv%XnIqEG{8vp9H z2_}9Q+24&cvu79gSQk{!Ot(S|x6A@+@@aH+9A71EL(q~2mY1J}5Vr9Npm6wp_w>B@ zRRZ94oH z;K7;KU9tOPaY=y5?}+p{TcBF&{zasTAfdQ&)si_?3*>-3koia&8Tpbdmi$j(pKQo0 znkrfD(7;9b9a6-aASqUifcb}XyIJbN8oj9&R|y#=w`n8E64_{}6D%DIw>Ihkb<_fN zBGoy9Ys4_Mn~D;O%nz||>5;yne0x=@4g3ny(Oj0v;EKVajl*?p%drr`sL~g<EX2RaIz&_rIa^4`ORXmvQe;6r~K4w4)ZW zp>6KU{VZ!_972udMfsI2(MTJKnTbc`v&&EvjLNLZ>RtkqCt@ki7310wL;^@I0`05v z2}~;!V;xuB|8~kZVgnl!O?xrOG9eC!xF%80$EP5RC-Z3HdXSkRf%J``rP;?u82yDC zyowB=2wB1=tjn@|e6#5{NcGt{==*er#yvb{)?hpF@TbQ)j=k;kL#;Dms@*2A`(qX< z)_3|7;XnCuwE(JC{}Mi_|NVF+?qF)?=xS~zZ0BTU?BH(yf8&+BBTxdl=T#HluW@l= zFW`!Wzp+WBD(!G?gG)ZRu+Ut`f+&SXTAU;LUs3SyHeTM`tVfGV`G6&WBD#f`+k5k_} z=Qro0c#l7Jz-hi|T=ul8?(a)q9{paT0WQIz4AMYDf#V>>Ep~fDd&2yJZ1u?|389UZ zHgj42T!4HdB)$Tan|`bQ@)B8itU}1p&F;Ua5k=-vRX|z9UesxMg}o+;)bhN33qzHk zUV2V`b$0snkcB?RLsO~#^3Ir81k(`q!4|QU>mt@QUiqD?!J^B=um^1>zH4;R#nO6`)p}av!(Ld|apozmJId9jzS_1t-TJA}c1$Atp$ko=x#X5hZ`H|FUH}+z zV~$kbR(LXd+Ov-Z)Dcwo z{wuj4TnhIkPAMrF5<;K^=Io+V+6VgFyXQt^IHwN5F7o-gb3Yzu&F-1p>>m7mfIfOT zAT2HIix=Td36)r^nYZ&(08A+!vrQN%`g4@5uf5)2&=+I*qT3u8EI>~#fVcT1vM@VA zWK<7CE#%G^O_n)13yWaWwSz_zo3@jfI6TR+$m*nNcFkpETncCwz%Jo&h+V(|%&76{ zv8)C#;!<47(TCw9?ApDLEgQ)S-?fjWY%lWMN^`Ggh}bl@iOZL!c%P(3gKP|;5@}@> zY*Z@es+DM5erk31Iq`UP@)bhjjX_eI_6SRa{E=a0Nk1GM|1~_IV!Nx3iw3rUE)nB| zID<+h@6a9x*Cd6nfM~sK_ycZq?NN5HkI1S;4dcPJIS+o=`PTE)N zU267;UP+ymqIQ3j0>)B|Eem`LtTTeS#Q;TGww0xey}edSIKEJQQL)%rGYrj!9<5cP z%MuoI21A^$bz$+m0gXiTI$t5Y2S&52flaeM9;2xrlmZu4qIkcgQ$2dS+|tkX9Z zd0ahmQ-dJ}yHkXHveL=8U(HqJkv4svg-{bJKIWoG>J0O)L~_E@dM?7@Vz|6XF+)X8 zJUpat0Z7lYn=LJ?dY3r^2qEeaEm+u;4(np2HY5oRSM z8-o2OxTq4g-6Fnx?=zJDS{VJm9I~^vHCOevH*vK4KVhV$?+TPa^;@l9yNx;LRocAz zo=mxsEWbUkMpT#OTBf3z3MuVGmMj^Zq_6q7v&f%l*0ER3mpi#+^=rhWwZhk;a(CyW zAP_qGGtH;(+~K3~jqfdV)@R2awB^+6#o4V>-?_!a`H6cO&_@uzJsV*;{qW(@@lzqE z&bGDf!g2a-a_jlU!}H$yv3)(~;b^k8r}t!OGDdU4#uVyFx!P}$ulI+oM%P2D?W1Rc zqC7ChqQ#bBIlz70PCa6zWcv2o(XK)f=CsFZo#q6A^+Ph80pF(2&8g)2{-jU+WxC;# z%~sWW-2laff__U|oQ;4XTaH2tt$SlHaI{I9YSXL2D(T3cGOS!Jc{Vfn!yu@5`*bg=A(${TBLU#!&Z=2teK>OS z;2Td_#OZFcVSBCo;LiGqRSjFDB{o z-I@%c6d=rl&3MN9=XVcsOHYvWChMCD3&8}9ynZ~O`uGVPRbO@Qo{JOe- zHC-Z%hGwI(=V_j+b}XJ^*IThh&Z)tigP~ueg&Bi>JLGl6tYnv0|B(Zr#T!#?5DPax8YXj=`5=X(~!?$j7L4Ivp}*1ux# z*!$Q3bv5!a!|k0we-leNY7Y7%{;Lrs!)BI@HSI@dY76;7SqqDTB19qUKzs=6{$G6r zpE*sFn+7di7C&|F+$CB#(_ma|%`O$XZ?&nDhz zBNHqya&fY_$mEA4#Cs@{b}(38mhOYNN)SxCrN7izM}tVpnx?o6sxt!{WLUXs62UTY z$10$4k?0DQ|5j0MsfSUDW@j5!hA}q_H}cciv*_mL9;TSO^90l%rFa4;o!7;j(~25e zrJlSDhtY```U(0enlLbTh1u&SFcy?Lvbn?JD;s52do|N4;^BM1tfY}PLv%>6;Y3E& zmdl*bpXCSDzX|Q&b|B7RyZr3ucM_OyTX*rlkNGzq_z#g+N0<7_j{|ZOoL$Ri$;N7K z7l(=BaE zXe_894dluZ#&eVql)tsA-WG@&S|6KH4Mo18_DhQvwWj@3Psv*a*@TvssV@B{bIBN+ z_mT`2hk~Sos2WnB9#4g~j18o7>TF~;o|yQHpAG9aWkV8B>6C|2n%c5<>%CO3*pwaU z_xa-X!oD5prRo;OE*@JY1RJeIV$z@Grbm_v_YsXx$?SeI452_Rv{}hpIVUls<3U2# zWD!kLlq?Jl?wAZ?ReY~)Kuj2C7Bnjj9mHGQ{oMoAjB^k7iH$tLbPlf686ORoe$k}L zOY3|UXh17*M#tl{h%80IN}$Hx!4@e}6*Nw_G75Mj=Vi~{lQ)et-o?*Sl?Ec(9a{l6 zzvB-?{Hw4QYJ{JU%QL4Pmq|#$HNJ^U=1vU<0Ts%hi)OpT7N8#-T&h|D8K8Q0IcS+n}8IeLJh5rg> zkxHRc?`xQ%LI+(|J5*&8F%VMWx&ZUsjRJ{p^7ohM*^NyGjSGXX+63%7p*#jJNFPPT zV)EuZKD-r5)|c?Ru@PHoyuK0|{4v$d+P&82I>%4`m{cuz#Hnq7UwMRIv}D%PSZ!xT zEsrT?Ar6~Kp-pQEQFF<)@>b!El!!}m(&n%X<3d}{l^5H4yvjuVbCJro4FZWtQS_3~ zbrf(}ACZFmdv<;`Xi_nhZ(V3HXk;5Tr6$>OG2SYrWPk4hK_V9V)PRkHR!#Tz4de$STfi#$ZAD)xKiJ!k73pd`sq40$L$Bay)Y9 zW6D#5M6+Nm0;$O=yL_s6N;D&n=Z97yK?wOGg;Vvbx`y-sNT_#;$|tpoJEoLL-92+Q|wjh~nt>!cQast;wB4rVMnW+LQwB z$n&*%u~fe@1e8gC<@$5s-K2qy!sxGi#XW(*S>e)1{P8dGD@ZC~2Hf!O?(!o_pL^i4#s9oFgw-qKE8*ur|8Cp!h5srJj^Xc7Jm0M^?EgeGcz=4B{Pzzn zV6!eG!|`b>yxi6x;1iDev)5(Q;qzmU@w0WX&*=^PKegW8wdUHeJ{XwPDHxdOe`kXI zZ~KR$levqro8$i(U>7~MDSBh><*)jECK0_#0u?cv-m~|9Hs9nqM!)}BUbE88&Ex`C zriVq0E(D)T-XDIxvgE&-IE9=0Wu?8}$glQeYGb(zMDBXnS?}o&3Vhf7c#H}AWSrc` zat!?3F?>4#1U3iO2l%}XB{&NDdOROm_W3@%133%qH9xP{a{@m=fW@&{fv)x!(Abqh z_eU%t-}~A*$ykHh7JNkW6S$=mmuw#fv?x^oi79lAc>=dERzhYH8K0I#m@w}9uP zWx{}`%fpzjVj!K5r`wAw_Y&_cMfW7b*_iH^X&{!z2i)rjlE-})(2{|1o1g&r@%Y;2 z82AL76?okz{Cqlrf9}-D;DtiHS_zt49E9sDHOciOT@dNTGkwtbb@5E}aVw)nlC7JPlGBV!9T%KPpi z-U=v=f6vi9@54AhMz~nrDtuEbJQ;acO8ADfZ-004^hlk0@+gk6j z3dcbrmkl!mr~-4W=&%f^3~zqYfo}rOu|hsN;6>odGfeQ_)p(j~cl@aJV5Ju;+z;-UMg_{u z3eE)9U0a{U_*==@HK^^YR!11Tq)3?=tkc-6@8cAoY4+$(z?HmC6ArrdfBQ^>oxVF(=8z^nnfogk{SyN z2kUmIHWRJW(7sltBeG1mfS%m!cR+^%y}_-T$F%pZ^LW=9&Bh{mPeB4c@cG=mBz$fW z^TLrkGG+~OBf(MiY<<7J)sS&^#v#dy8I`^#uQX+a2XbT2=T^GKbK0KYsu`z-gOFQO z7c-}apv^{i;^?g3s-{Uzx1Bi_yrFbdHWvH5vGb?6uc*Iu_nd-$Fu$knV-e17xIdGR z+&)vRO@@PNudrfN#};`x2b%!vjmLIpn2}i?;=mC*WEWt%A`Y7Hf)}_TTyZnmiV%Q{ z2qD89p5txSD+e-fptRtG%(>&UBe3_kBRDT&$MrRIpQ6Pm>H6kr?}UUWx`EZDpgq(( zh{nn~;M0`y?9abemoxUZZQ%f~-zKd7^CR_dP>y`t%|yWUyjM<-33F%N^{5f8(N+3I z+a@Iv5WBWs`B1N@o-ktqI;X;j6LkplnIKUzY}#1WW*=O_upIf%P$n6=i7b9Bm})ef zsaXo;%!xn;2lK$cgk{(?dGi!tmQ{{Wd+3EtUBOE0^zqXRv!V?rFH`U z!`}C3pB)H#a_f`qSXUs-vN7G5+Xsvl6zFf-1x2)emrKnHO~D_N*4mfmFnEVivv50m zvko#?!1UrUb>UF^m(a$`x$g1<#Ki&bY~E&zwqnz5&0c4!3nbViU}bS01=@q#smKT8 zAkoP+%QMNfY)rGD*~bi6RGFfQ=aibU#ff>cUA7@n2+LRJ5CP7LjE0*dO2l$d+jDMM zojcavxqdtG>((mCU4MU{78q)bb=9c+=zkM=?-mV~9}R#@o8W%v4L96Q@V5qE6s{Z}#~4a_Vd}1Sl>Yn!g?l*jwanSW9~zuw%#O8e z_)w_?b5SptF*5xaBqJDbfA9=ATrXiP(5ttPY;A4)P1%*HQRU2Ea9~8zE~;d2N_A$D zU}u?!cd|a}m@NV?czTg#PoBv$?cn0LWl03_^bK|7cbL`jL9Hf}} zHRGr*M#fUtHLmd$k4K&r&L8}Fq)N#(z+1)>U-yQQS2|jP5xXR)SyZB)ja=3vmxlot%%+ld17V++u~_S#j=2H4=rlRA9;&m^f+~w z{!oS0hq6DMhJW;qm}OXw%Sc+Sfi9x`3{L_pBj3$vf@#|Qyqv&X9xJ&VVH35QUF*AqWZRFcLjK@|HmWi0{gs_NHh@gmw zwfk?PVhl1>9gWqji}k`d`zMyci)>fEu2cI#F8|xZkMnH&J(~lg7tlBj4b#O0$Hh1$ z$K=`eHXH7ia06^@9)CMI-f>LPYD4XQstF}=}ip2?fN}Lt(GGqXP9P4d; z(GH%zY}?LXl$Lc3Be4X4@46tb#o>9uI_C0GnOI%Mu%VsDV~}qq!mrDo{G9g+S~6zB z{KO*J0&~k9<3Y=c*?hxXem_r&hH~9Mls7v}7*2FK(ecII%c0_yeM3qu=CvH+92@S* zgg{hIpy~2-jckc_0hDSljRj`wFSS=98g}!|f16a8BNOH9IZ|@SH%5%O>u#(HMV*(k z$nubb*1=UnION-vyygXUe-|;1-RuRF%g^zN%JV4NSa9L=-DAPF4rMLw&c>v>pZb5n zpKG=0Cd;#%#b-utidIK{B8Q)s6qhyaZ0^QcXy#b zJn?pMrgZMR%k`d{^<=W^gW}YaV9@O`u%j8%=+Sv=O^Da#9uf3sG_ZfK7#MCe)dBS; zTL7{SI;AXEx+Is#uU#kHBbnM9vOALKz+k)0197Gf?M>1`QviD$3N8w^VDnU(3K2zNF$7T4xJ=Yb&jfp^xLLozM- zZz#RlMA7*BiB8qAY)&HY?Z^FKZ6tuVNdS}H+=$vfp(z4Y*825V*|6botOiu=48EK# zOZak`%QZ9`5|9YLh#H5mPT2+qRL^*^n$YOU63@JkUOZChoWO0YYh2)vB$Z8;tig~0 zngbz1&-7=YT?BjPY9@~NIBJN~f-FYTEUd~x9hwL6qBNTBHRq$(J+M=zK?PQ$98y+1 zS1JPZZ<=MyWiFkoKr%u) z!M%s4LjNjP2nI0hYw)IFGP7dNX9r^bHN;ZOPcfe^stEu<&K=u|b`j3x{6N1r#qlPl z0*f<;%e*RMw^VX}^@8juC3|t4QbjYEKV&KWNVhiAPlPDzC=b@B5P14xz-Dd{lAEWm zK&1;?(n!I|JV6};D!uCs*hJ|W4Vnv{1H1C!Q9QU-UTcj`@Aa3e;wSQ$GHjx)8{Gc{tQE>t~kZB=&j2Hi6;tKK&*-7npKS*wg=c*7i&oy>W2!tf*zIWuIUJCR_4LHJY+ z_&By4`Ww(3adTjce;iv}E_$pt2`&h~2CqJzF0QToZ7!7sh#dJvWCai65nE3a?DE6) zQ7L7_ZS<{rEd3V1Mf`mv^cxo!*Ef8`-klNjZ#y}I(L4#P`1?DfA^7ePeTra4qEfdN|eM^)u!lpgG3l;I3sKDf@n$>>yXypv?M?@(3@^l{1&06b~)m4 z;^|+h$m1#)EZDEnuPs@@q>kFjXPlYFK_0j?8`XT6x+Cma&OXLDxDXBN>=vCE_=0lE zTI`Y?CdlgCZ=}2!i@Nz`WXHG)Bp%cYOt|~!E(3(v=kmM+WWHMRuNP@uTwQ!!UKSf2 z>DLyA1U84bv>BIczo*LlJrk=^oQBtL`hk{wEr0UUsF^8cDFSVENRnubVP-a=?tq8f zF;fU<>K#*K;a_=Jx)M~g z>r7AQ9l&h2*jM&UC`shuqs#su59*f?fClD9=9XS6s_$5@;ed%$gs|Y?dFX*4B`=4q zW6)-=_v@`<*Og%pzxK!TY0LZL^rT?-+vUjFne+-=eZ1yLJW zMcY=6{$|%XIQK-guLEETvRN~g#W&(W4ua8fg;!Yeq8oiLgth<+{YbCz-nlaymNAO? zz(fIibZ*g2Xax7Iy`3ozN7UeTvMvtbx)xv(7>9IDsalgr#&OkKa4P%?T`=$p(S(h@1NIW<(1#t zY{iDP+ypBckJ6R}n2an;%x_}K>CO1U-Z#oB{|Hw%PMi8dcOQiowfAXThw3zT&7Qsj>;l1cL&=CxD6<}W3Opa(<4HQq$TF^mJ?E5n1+>(ortKs!CoDPA zRf`(jwpXePL*LDBnC&4MUF2BbzHdEYM2gVy`KA@*KB{1^SP=~Z3W;-6xec?uJf><= zdxVxE=L|-(Rj5|-Y3PTMG{V25ST$+na_?0Sg;G7$y;aKx=zODbi8{k}_)fluL;{t8 z+L}(iP5f=xv zpwNg)TyRb;tIJevX)_(>UAhGM}hM+Sa7nh|`?V2>%^m2Hc8s0<2v`m_}7z}tYJ&6?7_AgFBzYe*S`-s+{qaPIKMo^(8wcKw1GejxwQh#D+y$SRtTAmDy_} zCG-;mMESt%6et&o;ax+Vj!X}4Q_73%plQz3$fM%cUEt}}k~#e0NK7a(R^Xmr?;Ro$ znTC%hlnHFJcbh{ca>Qw;l~m~U^celPS+oT5^A-*j`EactI!jWylvSd`3={D76S$f7 zvTB1dRfYeME_O=QHYF|g(iO%!rs%baC2)>t`z>ZY($9A_F#K~W^z0AHcKC1iq{szN zVH3w_I&4^zl8%38AS*I3XMS%9fEs)5ElV+vog=wVVQmy$1WJ$}EB4NwIS2b;1t}OU7(dw)A;%%9 ztJ@vUMYF%>Pn7K~s2n7yg9O~vbyI5VUhVO$CG5Z*hyZ^ia4D$7chpQ0R4yXPqhcwy zZG@L?;D`d(&XJ6TDJ8Vql1fy#=zT;E{VIWD-pntsY$uVN>vdsDdh<{f)-Ym_ljR zUp%qMHN|`KF`A`{&V7}MKOe0F1nEtPwIH1DC>B1O&XybI{?cLSGvhf^e^ZiEtCR6u zJ9^73sdM_Y$Bm*oF1RJUZ)Ywx%1= zRRk&2!=jiE50v)(Jp2;7Vb_0j*akCQqcd|N=A`0jv~e@GYC6AV){aCQ9IUF^p@+C& zoqNc*Su5xFikC2Z5$2E;p4hRldbSHWp=CE!r)IOw*z&d0+S~v)%ikGi^92Ne2M?Zk z`}2nJWQQbo(R4ITk9-UTxqXPJ*l;CNq;4Z3=R0z-rp;W$ zP1s*etfOYE1%Ir9Vp{GxL3d4ieY$C0-=Zi*NFjAp9*Hc&9L1ky{zy%+BAS#)W}2T0 zF^}-GXX1!HBVMn>osXLFA#o4z>vJADME7%W>S;#(mZ6bIg2gkVj{08o*%q28h-`_T zf$BLC@x$3P&~v?U0}nD{t}|Tlh>Nr2f(WTp(&OR^677I5dEJ0BST6I41FI9`PQKD-Z{=WVdoh$aSCq;P04H;0L*oD4#N?goF?^^YSt@)_el<<4d7x++DNaKZY zDr2y)75lAhzPWZ}m5O#7lLU&q)LM*P`I~ME)<9j!67C`N+8=M+H28|0Gy0vtPb5ae zwED2WF~MVxa)*Y_d%Xd{w+W zAQI4N>_I4MZDtnp^FLfF4*wLO3hz71FEHtA?~xk|Gcvw3Y|0^*S(QDAZ%g!#s&nPUNmFilp-I}doE+Xi zZGZ8`wP(-v(p&Y`BIRSu|4zV}&^mqgA!*3$1{bL)y#?1Bk01_DX|Gi6VD!CcdaHC^ z-yL_$eRin@CXFCiQ*#%B^yKYQMxW2;_VD)KIRBZ7;DP&x<_wS?MkO~V!(i5x-j_@a zcB@77u+z5}Y$t-?(FFj6bP@1ow$~S=@!iQA_FNf2pW^>E#z0R`JR!z+1kW_q+HAG< z$YAd8OFKdE=5Rx6X!OGDF&?>~YYry-6GPPb2Y z%%5$WXo9Bf*1Rav#-0ElV-|3p=)-__51-j4wBs}LZos*P03>z54Igq*aFZIrFQ&&_7Tc1ey?H^Fsx|(#Zidx3_?!4E|t~uqEwPq z<6+x{E0&FC=BVwu2tdl~-`s;<0Vq!m6Zx|aZ)nu8hPOYzDWGjL;}PDA<4|uaEf6WQ zh7>A7#oykL7?{tJj!-K)hOHTHo+i`1{-O4MJvwL0ZhoGlUd`t71MQD16w@m*EFYhw zt1E&_(R3;3-4!Xx*aB44ZPU;j8kM(8!t1>faYQ~cYPGyG4*Jq2SX0$gYo@8dDS=YC z6=0}78`+0=qo7CTXJ^%i+mDsNc-jKF|$11%Y$B2?C!Bmz$;sy$6SK7PY7l-ZJcy(uI zi;cMv$&A*XuIBj+Oiu@yZlTFkJuCePiql_|@h~wuw@m|Auvw$$+0O@mkm81Wo&`M3 z4FMX`;Pj*+>dv>WOZ;ia-f7!&_95?Dq9Z-ASP{7iJ-MGGO-g@{=-;^Kl_SI~$W=GAL4AFJAK;)P##5W)+qVm>Zv2&tvqNc-V3WqnT@IIFffv!+2bZM3Qs<{h5LZgwRDZ ztJp)6mowfnqfUvIj5Cn+Eo-SaV}=himkw-G7IyA_7_QV>E^eT&`mHQ%Nt5yIhB2;T zxjnXhj9T@ycWl!szoH)L;sLH7o=|6b}43#W+;bI&z!|MT4 z<;IkuF?X7}mHl#jhE93eKYg0xY$1t3oMh#rsTT{OK5ks2W>Q-SGucGpG zplZPQ#A|?JO!_7N#0Tg?vGB~9P(R0pghL~;LbT5q<0l?(4G+brnkdRo(GQ*WQ&)w~ z&|XS|0~Dz;+mvh+Gsapyjrv%ZuOA&#Bu|n3%DR;PZCokEMQD$vhKfZ^o(pyj2jVMb zbgJ`rRx&{nky6d4tcFio6i`?E>dRlA2M(%-*25GzBUprT<%8i&{>I@^h{;k@^F2)Q z;xyQ#)NhTH_AQvcti^?9c1S9e-3O`<55K8QHE|t4$xxRiDDyOfWH{6*VlCv$Z*I@3 zwCmYUw#hbj#P&EMmKIrAo zXEEVQJ~C*KA572{?^2`$ywLdfq7&e7ad7=$s!T@>wj5J>*8Ew6gS zAl$wh=1_>lQ-h@KGhVrDX+f=fMFk8KrD8T<`@+=P@gHH=*8%y>JAyo#T~mZ$V^!x+ z3MF(RW@Cw*#QblvDn?C`81R))8Wr__6Oe-nBG(JUKf|h2qAcXo^(&}?BEpi&h9eMe z*OR~|!Vib04h_-H6K&{%I7&J zbc2Ob8>klJ@ghZ0WLsVU9b6y6R}e(MVh()k&x%8={C8*HnUox|E+vBq!r!pdrAF`1 z{vXcnsl5^=+7@tZqhs6X*tX4;q+{FWiftP!?AUhFLC3ajr_Xox-M-y_qG~=>W4@#1 zhO;g|*|b}(il=p3s5r;eU)tGYe}cY2H8r~rn(aain$-E=6d`MWLgS;BlA7XGAdMQx z`29n|i1>%(19iBZq>Bb~B2|+d>ZW^@_afDFIN(?;@C#Rvxs{qrmQt`fy`A>!XLu1G zggt864N8Y~2&3@Vwdv!_)kQUqE4>QSgOF(9m1NEA`Av+fYKMN(l% zV|@M+Vt8eVyc16MXXSz#CG4i^jH-XlL{x}@Wf)$w5t05RM~1C&@?awSK_S%TdG^B1 zAF7@nQdzkN`12@<@cY~w=$OM?0XKkGB~{L+LWM0A=K2#93KtHTE2+tR4HRBwPmiR&N|w_;cM7;A&Qh=zKZ>Ea({axQkpxbYJt}E)`0umf~7xVDJ$#Vi!xJ+1v7EN*1fA; zhv%ST#UN-s_joMD(A$Cb+{YxF&MO7AheM0J630*ipJye{)Cl3fcSu)p@~r zex74bXD@3Pr@ZEUcbLq9bl@e^Mnz7l&O(>wosB>qgu(%;kAucOz8?fVU)t3O{Y!CI zi-5hsQ>lkZiZ-ikv~5~J1${rRfOwdKOe};=7JN3EYoVJ|rOdsVy;na3vvs4T&l-a) zLIWhP;zf<}cGq%avRl{WMk~c#wcK&-45VFA3WmX@xTiIO>?;sTOeFO~R1L@>Nrg(B z2H1&k0;~YXoZhlZQ8fKm3*(4H;q1?7_bO07<<3>sOC_A$RhV-RX8m*S+0Py?#$2Fr z8EEWLcClr}yuc{?FMS8us_jwGn28#)#(BH4 zCXuh`J-urY9{UbLTZBfdRkM+nDq#K+H$BNrh3`!f>TP<)b@t%L*)!jgFSVrs&nv!# zlO!Z}&heV(VRP4YhbK|MJQY#QFVc*Sm+fYrM191KXX7(b$?B<2Wve(~JP~%w9SvmT z`?mhn3KsCDV?*(?WBvk@19zZcA?J4Cr_&@=j68SRr;TkDURNnbR_&LNh*_0k$-br? zuV*$+#V93&!yQj|7OwZK4^-iYpzJg9e>neW`!7HA#eJh$&2f*f_upDN5hY^BX!60%xK3R^;nv+OXn$Y*%Po=pD*pR8{@;YnfLGE%->~hN zuq=@0+cfDwc=9azdzDB^rsG;NJ`l{^=~MjF&hoqql+)(&`SAG76Z5to zb^kVA%NfB!3kKq+^IpeR(bb~a7WnF&L>?Vpv^We!7+{6s6qfRah`5ggxPu{wAA8Iv zV9C9F0_C*IYv#+dwS;K@h`=anmC?ETnmZ7Jz&+e6OQW;>#l#jbO*L*5?$7X?t6;N+ znhtf&GWnL72k`|uRft>? zLAH`Ozn)JaundSA5f%MtKh18QenR_ahB!duv0O`(J48x_vl6vsOzr0?>rHCJTMT?# zQ^Jv1^|dD9A{wV-aLz5JarZe$c09ulLNv0*t<=|(jY=gF=dBQTSeS}9Z4QOLVJ!LjlXte-Oci$P!B5| zyLC!pd|p!IrHsf&cLblX?bqYbOnRg0tebn>QaXE$X5)oZ@AoAi4m+$4*^vHb_^DuK z9=ttaQzc^xT%%0Tb_ybcx)}ifc$IpEvt3uGTGQbDe|aRTr6`EVa{hM4@sjw5)q8q1=5L*gTlYhCm2!}Y;r}U zX?P~eSv@;t2U#v-y@&W9f%ZmxJgj|JV{#M)-8H)`tF>K2=J%?CqAWn57Rl}CBZ~}K zbr0V}dB1YyBP(g`n2!N;D#l`w06zLAcZbUoqh!#^;ky{wisKc#TqggNl_bWN&8EF3 z4A$~D7X?K}LHc0<(zU@uh#fB_%m3*oa+2G@-2*rn( zuhRGxtdx|Zc^I99G2NXg%5C5clOQn}t8L9#^J8i*UGo8^-So(H{9z z8UtK0OS&n~(lD~cqhdd43Y7=_==55TWCb*Bx~=Xfs-g=&=~>(B9P%ww-F;kM`}?By zr)cfb+B&{VNMD7NTKRK+C_D?uOcSSA2un2#sBpDI(|JJBRtU(NR=RCE<0vkt+*+1W zZc6-jbQ;Tb5;nw~14}c&>LR>p;%O>&z)974ZxfkXRp~YwIafoHcmG7HVsj6q>@`s& zZ2LGg!9eIeQ%O~!$Y{xu_4fGL;jMU z5Fz9a31yqqp%sAr#CB(!;M!>h+;@_gNWNeVHaDSKRU<&JDscY)efe>?)6t7_qF zCa@%&g4R_$OsH?{|AGy$xuJ{Nt}Cc{<Bc` zHvW@ZsX|DvG?plgCm1#xoUTr~8~`MeW4k`Dw8)OJ>g1-JZIYl{1>UU=dPiL#}9@);l9&uZa|KB1|>tybI!DAm5a$5;_8wR4vMSqoOHumgL~; zmAP!OciPNBZ1BQjz*mm7ymkjYinU_gTbgFdX0#tm~ z=zn2OO08>Cb3&4zuNi1kX9ggE3=uR;K{p$KSaPa44!Vqa3z>DCADv>B{o8@_x18`2?_$sdY)ck@ zE3Y*teTbQ+o)9{-Y{oR5kRg+b0-iV=?Sy$Ucd%!GHmstQG)IP#9#d@HM2n9(*|oSp zwQd74imKn)1Yfn;^lv83xykX`?&)K@fC=gdQcgpepqI{y>8(o99#1InYn3~wu%Ukh z<)^`s2}AS*CpC*RTs#iSW~4^f>MZb+pH>k6osIOyW`kGB0Nh_?Ez9Bw3VL*FgAw;` z3rAlkK+3JRGsh0Cqq^+)BDe#7@L0y$g0kiQ~cG+i!8HLGUncV z|I4kOt`{4Pn$v1zPuZvf%~JDI%>@5DqE%6XP*bt6tYn)$>_$e(7rOaOQ;Z#*lsa(j zI8PTvcNU7dn$$|xna!3Lnj?b@_gqf88+nE#J^z*-Wa52BRk(&NXc~^j;055rJWc4)lnYakr zqXrbmQ~GK(Qk}iI%wth8ImE~AF$a?&GVzaRGEwfS?F;T&nzCrJ9fd-%rjtNJvsK#2 z`LIBLPxwA9YNYP!sBic}Mvw>P!U%egUsXWYr-50z#aECemg2N!p*7O{`&$=yi~fEb zaFi`{XYAF_HxU3Tl%xM;;*p|Og-8qd5GZ;*at8yhKBE_LBglpLz-pR0o^ zolL)S_So+u{)8~L$da7#!8di?E#DsxUUsXf$4$r{Lq;d~{6On?Prw`ci5#nfKSx_# zf{$+7b_XWZI~S5U?9hq321Uw^mVvw^N?`3GItj^Kcgid#YJhUeJN~b{97m8xO+!Zz z(+*l!Cg}RZ`=77pD(cHk14$iVr)zA~U-hg|0`+GL*GPOBp14Soji;#%PuI~mhUi!v zBgwDc8aKl(j1XHVV^5L#fslb!D9^@VDy2SBZ0WC5#<)g8)5+7}!?!6O`*KY?poISj@h1tLHLVA&z*%@Yt_D^YI7pPUhh zYcmnbU~F`eG;=ueZbZyL{8O0c8IN4aQ+xnrWsi<$6zOAi>O;oGS+&mi$qZ5ydO_YK zZcr!?ba%!rYVo43jM*4D~xPdix(p~ZZw_RjqcLHW91-WvTdGeq`!K?-i!Q@Ow zPE9L2$4Sz`&bS$R)}Pf-#6lUp*IW2Cv$;nNcXFKYF%8bgY{NLnfCnqi1u$N0LUML& zcKa&c-KHE50VLWd*f)DS!KpXuef_@rGXvH*7Wp|GR(KQZmmI4XA-sTH_fEcM6L?Lg2uWme-Faaoo!fQ9?uH3@ypJ|h0{ES$5JM{a=SBNcNZld z2BxQGrXB_s&8M_(_H+kO)78eO(-JGUisUiM<8=YV^h-Y(W)6FW8xx}*#QWz9)NF2U zpBYOnp~$q}Z^8&zmb5cS>Y(DizEu7QE~ox!w@P<8#arWM=Tl{i+ln?f&OxpqFKx(? ztUGPd-K(fWuyyfi;cK(hsyw(ZJX~r!4=}R(B)Zha4 zLs`xCwhlZxRIdxuhF_S$hWs~06YW&<^K=GXUHlQu7^OzGs8?EWv}asIcn30h3QZ#H z*`gmBs4=ia1rH!s%w!0iXsI-6>UXELGCM(i-i^B9Z4;W6sZ@RzLwp6Y@2M^H(t99b!v(dr{&@V z8DQ@4RIV6lls8{-Q*bzg^ELy)u+k>H^W>pZVr=$-1J!=28b?DIEkhPOb#I+&s7$rY}xU#X`nvNYpvKvV&@zapV5WBnGbb>I`|S!NfQ= zUMeW@k$BHW<|#KIP(;znWur}K)3uL^OVdITNRG05U)AfVHSavxl(0ZnODsj5|tjzP^1@)@#&*23sWUvIPM0*&vt%vbZ z?Ke{t4dHtT+1xdrp?qUShYXJ$-~7+BkrEb?`GS+>p@gUFp%p(d^<-rbv9JrjfLQMn_rz+-gnE|fZWwmnU+q8YbZ9;_aq^RbqS%dp!w6!VTw{NYB z+(QUYa_v0=I`ksieHn_zl*U;Lv!D$t#+SuL)`ZwC$91P(evWf@nO7^(*fM@$%Yw90R7eA zKn^sW9%ZNr;9u{Okbi65e;-rNo-Z}8C;wpUUO_eL?gkhVRhi->yCb2Hnebx?qnCdv zfni9ll(Y|x?T!uFXwWLpn$q9!I*8r6W8Y(Cc2$#W zR#()iNr~Uj-~Kn&iphIG#YtpPK*;6XTQ~lQlMo0m)8v~nS9^NS*K@H+hFZp4>P9sF zTj@2ACWFK$fmM7;UyEGhKURSH3xa2Uv(Jv777^G&aJF<2@({!R7qXDVWs*vC zTvAtb{lJ%K_D4$?u12AiPjK#Xvki7s{S@WXhu7fHg5?Rf-R|DMU^`MinB>v(C=IiJ zU7`Fk{4}!^bT`zeeCL~y55Sp?ZlO9oo6|Z1^(s`xxfL-&rnL{qy-L!MT3Z#PTn+^8 zs6z(9(9WV>An=fWbf`;_WGt(39cF7gUgu(7KbNS`ldOA1{w)TCFQVQg+rzvoGxXcw zRA$+-wWtbZ;4U&4uIyOumbFP1x6-A>AX~^m@2bqdbhdtY^=c(u3iXTpRJW(HZ1yub_`#HSEgSyQBZJ$8F6# zUqKH5fp@vJ#VPHx$PznA&(h1QrEl*V&hS33gjUz;CMFN!2r ziaY9RN<)3z(5rIF5VvVu$sR_%??cpN58Tl9Z-&(EF}HviPw1;Aiv)|8*fEEqi$k!y z$Dr%6fGvJON9Oz;iF)O(cfKFKFZd8QN}isM7uR_MON{EZx-m`{ZKmQ@~gA zlk<1O+_qG*c&f3wtFKs}m(Shqb2;IPx=$C`o{^>8zhdCiy3h4>2_NwMTNRFn7DG~5 zWHVnna!`hKq;O&#yF57b*Xc`!agZT5kg+M0h0cA+U6Pmc7o<#xbh;3kwRDMKqg03J z+*R_9LC19YSt7{9sLJ=T3$w>i;N2#$)ga%{?i}jv?JQh3+bG|0>iKhjqUmbBwl}e& zVx@Ynr_50KEbxUMZembN^Z<>_27A$PLyL^Y2>MAVuX>2yO4ANITRS)zl7l3)zW6T_ zE8EomA5bWB(q{+(J|wbPgaud2#ffOnk+X42Ig!DOg9lusyejhfj~n4-h>F9 z5_V>!H0U(Azno&odiqa76%QiHht+?y{qu2g~WlM)|b#@zvh`p%y&phZvk-Y zSAL{IgrV&iv{#a?bY>#mQ_5vsyoFh>gZUm(e59rm`uFEPn1RHKSKHBnq3W~K^=sfr zNRGds16GIjwkN?L-7U0Z@9z8%{0QB@!fdDbJg~*xF`VrS0W{&l`gh#4Xtm#rw4a5E zee{BcP*ReNWp4tZ4LFokDe{u|VM!3S&-4hGtkCn9YU_k@P%{rp<*i#BOWy9VPwKD&k^nLOI^GhY%00ZE?aHqc9Ta9 zLlzGnx!4r0EzvQSxUpP46xn3X^CaB86Mn5DkCe(U$Uh&tap_~ByX^m0vdj8=ofPfW z<;B!|8z{eTGD$P|_hrkUG(#K^QZr*IS5s|cR%)B8UJ_2aB(G8D0;$@Z@v6%SsGoW>zi&+ig#JO8J-P`mEFo!ro4J#?X- zV;g;T%_GHiJy3|Lb-K8S~;JoVs<;P zB1g9Paow&NHT<~yu^wkhgQ8wNi>@%Ak4AE0o(zi+7HgCN%W_XMpQm!t(;-_~PB#-E zS1+BUWAa_qO+8#dL`JqOKR`YkF$Clwh?A6#*a+dkS9C6Zk<kKc3rl2eM#|S#Vn648M!;(*8Dl#y9j4Zp7FzsjPkn)GBppz~uUWwk zmdn>HSD~?x+ww(l;`ag=ueiYC-@xBDk{r9Id*?;z6KL0eAuT!E27g!O&!4;+t~uMT zoVK@I&~L8K3tDVE>IUQz@pk1S<63Z$uJxFu}w#0@nu zB3Di{^94^+YvWuZ2rfB&@$W?cY;5*r0w%JmEc+@r_v1<=*nxmjgsmWqa$YtK?T%A57qtCR_&+I zgeB}B8)kM5D4XQXI;W_K`Pqyd9GjLu4>$76H+IL`C(DGYPWbGatS(2e+Cl!8=Av#sJ$;M%qfn~FF==Zujs2R{ z^S@3Sd7y9=MDjZguPvxeoXRXFBeR$jBSKcOWQPV!x_#3An-hczs{%*5(r^=M{rZ(W z)+LDZ&uQxCH}BrZk8}H*+eLSv9z>#uTFIPCwq6Vg)H*#a`sP06fz4Kvj~1E;ZP;ss z&vVs~3|1xA5}NE){cTnyv?3ww4XjK$yln3_PIeAfOGh<(o4(G`mVNcum|1=`w2OL@ zaD|_Rs{4TMdVd(Y}$o*EHy*~ zL9@V+wZkmeM&B+j&Ac0dlbp75p&bRNn}91F$0nNYnYqj@ zlCtyx2%Ze>?qA5sdvtc_#aLTkYPB;o5_D)1zA329$S;vnF9})&(9DxPnMgYE`N5Tp zZL2b@gQ7-HlV%3j4-(`|znRaRerI#-9Kv`;txWt!r#BKTc?tAoyKYE%v7%!GP|IV~GWDGxmu3 z1_bwtVP*CUom3y4RJ&OWIIx(Ci`BgmGEE*U*AQb|azjPv4!4BJRt2oE1g$7_CjB!H zUE7wnj!G;O@`b!#&IJu6f81Z+e`iBj8hLeq#=|W-JVkKT zbP|b_+;IFmLM_?NiD-$#^guN(ZG<4tInC-t+Gxt($kB(Z>URH$ndCOK7#Hf{-`}_+ z{Mdb=(~lz_8l`B6z-X71d^Fz`&mZ(_xUay}69!-X$TXjXxtu(DNfPZN@o;^5O zJ<=Xviy5*W?#Wx3W+z?`!g-gCP1Gu>p+BsQB*?c53Aq!T#`6NYBcQDUT>><{S82Xd zJx|Aey4{~Yrbr5>-ehgls^R5i6!T(-%ln#cct<)kBw-P6B4#b~>>I}Z@{IX<^cMO$ z71-H6zJuKOWXW@ES?Z+(rddEu83|Yq|MpujFJNZzfSS=YI=;X=;KANW36T?YD1zWJ z=$bCHiGJDAbNo6J6#HIHr8f#VOv$`1WuPt1!d}yu>^2CF_Bec?CZ*gn>CX=e5Vft` zCQ^9C4>AL%Q0c*L4}rHamI)GtADqY;zbei+O&GcBv|_LPBOF&jEijx1R<`Am)Y<`~ zyb4y9!3%Shn+F)i^4Jbfh^ag}qLyI+Lq6Fy3d2a087^twm zv+n$PXPIG%Gn+cm9O!i%5U+28#3r!8Pt&Ebb5)X=;z?bvkYL=n7#P&pcTvvU6dqr7 z2zdA%zLv{a+0yf301Vn50n&PrOD%Iy@RWlkorPPkVmm%Z6#L2@-OrmS z#qeqqv&Yi(uH@=dc&q_oi8r)WGqV1e&q38bdTJPJ7s3|R9cx^y+#!jd&ufUFL4xOG z70t><8MCNveEY<$9uN&Rv{r{2H_k&)NL>q>xsc{%=wpz5p-I9eW&1cF!dZHV`Kr(O zT42E@=%@uRs5&5Gf`ifT){s&0N)CIb zf_p>0PT}__`H-Mx5mSeOBMrvTkPOTbD=OtZ*e-K1+M-ijFt2g`RZ&vpVO?l*6k87* zrf_MG&X;Exc!2-NHf@Z)H9a6_GGtPf_gExt>fn-)iP9J{QPzHv8;->Jd~Pod(cA{p zbX6Bmf?~sP`x_q-i#5UFz924YK`NdLZK!<%W26m^VWwcAFtBbJ(@3L~iuw3C~lUXSmyvT_&8 zn+qEA=+YD4u8L-pu5IDb)1oVY9O?*xm52v{8r4x6L6}G`a%%PJE$8fV6nMe$IZ$Qe zwV1_3@*^)Hi~IW~Pu_V8ek=JJc6VzJvjuruk=a1{qlvvk4^FG}$}Fl}<7e5Q#qiS- zP;&y9$10)oMQz5zqY+9~WLP~2Hs(E={T%-E^S@8V^+!?lA~^<0m$3^LyvxDeu?IKo zG#xlp3~h(3NZrAO;j0iJw0;ZXB{vhmGOH2*i*1y^XWXCC6U5*($z{|PIsZM7(#gz_;_L(aWc|n&&5C%_7@INT~ zVf|duqMFtmCDr4q_*WuE$^CsdCL_AcV3v+UJ;$qgq8Le66Q6WRpr92#o<`NK(5go| z`EF_S3}Oj4l`MLX5r9CRe~uOnYR9cFI9cstDfMG{3kZknlkDG<>AxUiMGikBBvHvX zoG&`A<(lm$oKauGhk|kf9lPFMmlaNQ1deaGaI$!59+mT{VvBwwDSsOfAtLyZL0?m1 zNiYwAixO%3dLj|lNHlrj>)*BH&~2ugUc@cNbxqa!I#u!>xu!8Lquz5xble`?hk=cw zL_(FMsz)m&4f)PAYEsm&U5=ZZhbW)8$4;w|4fApOh6*;H^ zxbSAsd04pOk>VSvTK8dDJ|OJl6FT{!!uCuyVQCTM;si-GLP`n6&3QP!*)rAMsZTkf zK>9bBSyJs2M9lCi9+}G;1}P>#?r`tr^Ydta%efZxSs5|0SYb8*1}&Py8j-}}smSE+ z0XlQfkVOxG-B;=28*OKZ&O1`|xf`tihCg90PcVU&#R5qYkS<*zv?_2vI0 zf#b74drsq(lb^N#ylCPR&_uWPKvoI*`jcPH5H-qZN$0IPCzl9IFM=t$U{2iio58tA z#iVTpp=-B|;?R;scB2KNM>ItU&q$a$MO(kP<{eUgCibu)8mZVP2gm$TwTBcn!L;xq zZ^_kRJd56lDoBto?pVm9{35jpt*|FX0zI!?1osmV?KLZh z>Un;fTv|~rm+Y#(kiXy!eT+)i;Sc=NG{(=5Djf22y2hf{r69^c$6jm>ssfc&i49%| zJLb@F@=9R%;6eFkyzj^yT<MDq`XrShAw6lzf7rpj9Uz2-5cC668JNixt5(SF1?DG?~ZY8LuBsoQs3);xt3G%He znmCE8sFt>r+yzmVF`|a7D-^z=MQXh9UH0DGK!{lsPk%LJZL7`7um;v;lm#vt~rB*22Qrag(|zv40<62 zbPPS{?y#cbHi7q@Yx@W}NZwj%oTDgVV%Etv;j+#3=XlE1ws4$pZKd58`jj!VbBuprw0u1>JIW~%1D*(meg|gX z!>lnn&2Vn549Bf^@nMSLhTl-ofHtY7a}9_l*f25q4X8!1lyKwevuKz)v&5!2q)Zg+ z^yspf!5ZT{j)wHlWyMOT)5ojJsfI1c98_MJTi!0ZR)Mka#Zr>4n z)@eHwvLfNPPZ1!tRQgirBQ8c_p;-v|dLb0VPgR64#?{aJ&_-g=k{0uR)qm61kiK8> zJ$mX^j@#u43jh~((teHCWh~27Q0`ki|Am|;^F1>;9uuJght*Mv@hQY{aFLe2*&k-} z{(umz;*h*ASM!3WqT zWb`3_3a?Sy=y{sM@2cDP5~YowIV0Pv_g2hKfUv+eigne|7U>6%MP5uXLYzk1H8n(~ z9)PCApF?-fSy5@Hsp`@ zcpQp_xK*=q;FM6dY;+c@)~@idp?R;~zN*zN)Hs%=WA>CUb^X_A^$Y`t$TQ}PMRER? z8#{80B<8x^idy#LK;z-24as8KxG&N+Aws~89r6%LC<~A$U!R%1Z+eeX6OHp6$;gE- zG0ZzlKPAuJEUeFbI5MqgfQn_g_E7Kd3~2pSQ<8<@|t zT7Kt;Ti`rCJjd!Z_2SC$a_!?aaX=`-x>j3h*n$yNYtMqPFPh-xXl|nF_%PXP4pLDv z=cwU8V!XcLPM|a1Z1AU}ROJeKtjjXqth5*H*Y~?PM;t8*>ymNwW4{7fuj2e!)0$8MO-|T4CdDC7Cj}S`gk(C@&wyO5LOl5Q4f9(L_fT>K_%l zeM^?{vw*IX{KoWd%K7$H zGLIG6TU4AiE5#|6pCH@=Hk*n30)2^~Ih0WTd%myr*#2VyF)uTLmpX%pvLxq~fQ6Fd+rggiYK&wbKaIVr6mGB(R&HwdIo-?~Sb-n7fNF&3NTeV?wFs_I zEuQN6?#ZDhb#P%cU7iHGlyg$TfzFB!97#P0mkb~#9>P-G(wS=hhMvIGdK7^2GO>F% z**mxbaL9E>xNs(0E8MEqL56dao2Rn z?|AhUWx~LU6RLqVd^d}f@hd0>zaSX6h}KCtPty?xX1VaY;cbtpNijMIEKN;|+XaC= z*fSSXLw}!an0t3te(SKW6Fg1N-p2u)Sh~f#$Z+;wtCYHLn8x^^1JX7C<}Hi1p#ZsJ zU7A42-|8s=S=K@8U(APg0liSR8r%J_7#==>7E`rU8C`WGMUoKZy57*19G0<^nXggW za(YWt-miG@Is*&ewo9TJQntbLU4zwDbg0Dl6Of6`+U7o;4>4!M-AR+-hpSOlUrqhu zm=F2q?fZF7^$wt?Nc8j)^_{uG5{=~JE}4GlQ?xilR~1lS zqf5vK!ZhqjRc@&m*%0`b8gb$xl=>~l0{ z8Qe%E$X|olM(Pkxtt>jcCKGR{uUQ?s%2P}Y3)bE<5t3XR{enc7Qj2njLg&EXK=>p} zGf`0JFmtbHLVJ8%%hBkPyA*F>nd11yvy_NrmrrZs4L|SYI_mFa@e#`J5L$SaLTndTMHZ6+2E% zAcT=!O^FUWsB2z;!iN}I_P0%Lp^V}kF|O2KFJ#P4{U?XZkmMG7RttDZb&?rHSGhqt zYr^R}r)W(V#6WGmG(2U|Y3mq8Vn3rLlWu>R>f6rc5S_?hHA6404R7l%1l7FEH?5(l z_-SutH|XvRoDF7Ss(8ufKOUZ;a5hB?!c?-wwT%mI(`}HgAW@Tkl|!4}cAZ5U=e8?Khv*2E2N?St`U!#-e?mkggLN-O@mk>|>v zmmh3+Sr#%Ci?$gjEnMdv*<~sx7iTG`tp-?mBkcqC=!{DIt9$1kB*^;T6y^TOzm9wb z$Ilix4$ijsg>UGlA++R|ve%`U52>t%#;Xp+(L<+1aOeJ~Tk|`(kf`V-aeCU1vZSIh z%$2cy)K_$UtzddN|KTJV??D8~Fs&VC+kNM#d`$m<2ia%}%fP~D5{3!Lb!ge=(Czh* zlzR>o7;+kQ$%p_d&qHpStK#Wd>^U&*yN_^*21V?)UB5u4?bo-xKkrK8e`7pGnpyjx zAv6$?K#^Awq;UIz{Q|V0Qt|^yUo%DO!05XWGR8}wT$Wt#{U|wr-)-h=H>zH;T>}zT z5u8edj;w}28{CyOJnRr^TSarZ^TSYI%|awHpEO1n&(V}He4;Q%SSUzwxq!@ZS_d(F z$H872koz$B*ha7Vqf8O!xeE5i^AF_r!aBtF(Sj@}#|inL&&R-WC1wjiI^>x+|I)Lw zs6i4!I!!L(YH@xhODHBIG=Jq#=*Ww!)%QlOT{dsm9rUY!zry_s@5Pja5 z=hUNhLtTNyneYtOP&GPS6|KXQKm0Jjvs|#IeI@<@V#tnxPc(aM${R=8O?3NUPv(dh zNGWsi*g$@&_j!=>zDdn2*LpZNn5|QJ&*0N)((ZH#Uj+2>GD@k3)7zU>5&{!U1R6;e z9_ws3$YYv)Rewb}Kx;<*hn03$2W)EwZW+37k-W@aR(=N)l?_^>GgMcZ6rLTin{}Zp zQThI?9`H|0DjY-{(5s7P)$$zyl{x1kq?iyqTf|8IMxW>`ApOwj3vDtVJ)gHstra>g zVrcG&8=>A4=gg(V_5s<2u0DXVe<)eR zD~UqtM_Td=aP5k6BG}=YP`cIZ2?a1I6+CTV=eQl_y;TkG%80O52||i-Sf!wzt=g@P z(bbxU*-TC~3l8%UhQFT<+`bleeCfOPumlD|d0t&=7}{_68rpMyU`#+5JUB>U^oWk- z9~a`1AY(#5i{S^D;mL3yY;S4TVcevwuV1Fnivy0Pi(%B#%z_>1QxnVzLUzMzk8xB34=B!ew1U!oVuW7o60Cp@9y30R_>3(2vb&WS{MwY5A{ zEN2nWYiH&U1s%2{#GT6UhXD9M`jCUL#2ovQjZ8EbN~UyqUw%}oh$r@!-U_U__7ec$ zq-8t?vnmJC#_4(h{N3Ex8JE9!ooo&j{35qg$OchFDx)R889Q8Mkf=9+u|j1EMPlB9 zJLUM5B=rZ6o}q9exV$G?+9Mcc;r5_=R$m_uliM#hf27K51vp+?{{&EKpSDg-@naIt z@3Ul*A=_A_5M>aK7WjZn9g|^jG0fA@ujMp{pkj>3Hd=3A(7}OP;34pP;2nP=a!A} zp|cgU__JaAmP@kbQ9jiTouBf=i&kAr2H%X*7kfsf0{54r?kHE=}7P zjIgTg$GK!d8ovCIBu@UO2Lq+lrNKzC3nGJ5&EOSfz2!jG#Bvdf=?lbs)PNuDIhtWJ zEdCx-Bb}Dxj%CSnQ2Y{fW0hVtJo*0WSsGk*n+!9Q2%hbW0nzTxU1fv^=5}$KnM(`m z>)?50L=%VOuM&hqrNUBRO>uZRd5^J+Y7jL<(I70=uw|0_lS?Lv2ucz{^7h%Fwk1xl zQ*0U`v}g~bzg%VF;+U2KwKNMt$eIa(+G}zOy+6fW-;yV<@n+HS#J#<;xe3HlXo4Zi z(`Ju56{{5r`9vsUp%ziwoDcLvc(M#`d2`Q8;mc^JM^D04?FviZ*Vh==$`C4SsP&2< zNLoaIoIH(4nQM?mdxBuk zV!*RYMoX?dXjqykWtVxf)=dt*URy2GvW2XUf-wvHdMgZ9`L4a8}N1hno%L#`?WXL=I8UDkY4dWLOPJe z=-*D?=jG#F(=2mc@7G-yPQCEKW`(dpPr%*tf0lW{_d$-)dfC6g|Bb}E=IxouL4$$y zBZ7fR{@;*zX>&(=b2k@jQ*|p7C-eVb2ehPRsJ`((O|F}J(0?bF1LSjrctsirOr&)( zBNWOhVp-2|r_v6=7R~~1*3x8U&k}(%Zh9~uR-X0Of-l=m7s!1dG=cnw-%(2U&&Ok* zLZ8qDHVbv!_B?q+z?CJC{b0>2ot+TN;J^fj0Mm~ga{zEm(p|sVows27@S^za-(P`F zzRG1(_l|aJ>%i}5sDo}`eP(0MJ{yvqmZE0c(ed+LZD}q}b$NU7pL0-URrsB8-Yob= zT9Ae0R_ao;M8SOT&($sFtKRp453fotw;bU)kd5^MmXjKnn;|nI{q@O6XPJxS!?{Nf zHC1d~$sDki%IVVUSLlbV_wb2fmhncU$$1ph*{`S1yYA_} zmR>C>qUgT0edNCPWsruf=hR`{2il;JrTn)DmNuo`%%Az!s#D$(W?`P=7BC~d=H!w- z|F-++#yTSR>1cK?6BB`osOo1#JGWW^?=bBsWuZ zy^Mi2QI&<^^wfn*{H0cmVlSP~vxg*{}n_V#RJH`7M&J@oAeTH6&oe`3gzg zCj|**d!9p(AeZ=!*MsFTsHZ%Ex)mI;m=>iOg`6y;ClXV>g-TKnlly0tLNRjIc&SuU z)PH7wtY zayfUN^-Ekqplo&N;?n=-%M1!UE`g4p2zhjDq9AMs4sAIJ1?oY=6dM;0+IJZv9>}4! zc#sSBjd!RSn=m7Rm4ZQ^B$vp=o<>jJPG+4sr1Aead#51Lf^BQFY}@uOSM9QG+qP}n zwr$(CZQC|_pWA;w+`r$>ddi6PmJwsFoVmuBUq&1DVIgtK#8@93s$5o*QM!ou-XB5w zHkV!682$+e&ZZalVqF=*AJ)Y-HhDKej1;%nDKen=UN1aA5{UWO);LfO4i8`ajka>PK-# zQAX+GQZOcDGW&h;gs~GYhUXxWPDK*1Tac7u8qzA{Gt#p6gr;1d8*aszC0|kOH&aL)VCmUn&U6!`7e|B&1 zUNSC$?I@gK#Mf-#kj{nE>q4r;;yLaA%;U=d3EZP#I7{V3zG{Z!{_rAove{=WojHbr z!L9O9(kwXBeliH{Y$I;_xkXyC+bF}E>KohWgd?pmYZ>htp|0vJP1S2S4$S9OD z;8f|jkPVCs5}G?hd2?zD1j&>jvjb*2S9;+%e}HIoLDv_zZXh+#rg^7DGgZ16czNy4R80Lpq-Jpk&m^ATj%& z!C#I@02-HQY0W4eau^z3$T=DIM#}rpD1h?VU~_(oy%ATB3SWIcwHfU&;MIv2Kf$Lv zfv4ymv@oGz*^1}bLlR01%a-4#p;toKv(p*d znM!aXu-5;ulgt0GlS2Pxv34*vw&b@l z6125*GB^DHLnnz|Go@ssiq|a6D4STsqX{U?%xRdC#e<88u!Vm;cWbH$_#<_w);uz{ z*V9>TL$=OJe;?V2enp*>UtW7tV&_f2ST}tduM6KlBhPBeKWQ6oTFX8=A{r{)ovu|j zo!3Rss~vrfo*%l_pOy{Y+Bt;=2L2ClvWozZ$t9#V=&GC3=>G#w!j(Q)>|e~#m}}B$ z{||7o9f0c==B(SYv!Xm4-jL%NZgf_2l+Fi|At!@|J4sfFmD~DX_o*!Ey1WtZsnsSe zt1KOPqTg6E;jwR~`us{b@0g|!;qZu4)P61bmdaM|@BG?Lp8W04%Jb^o>y9bhxox8c zHZfSDEqvK+iGG~;c<;o+1AIN0@A|yqjN5!O*O3+E`y40jplXsW! zF|xSRtgO3S3Fthn-TOxq{eZf%#&`sRmJXo3wr%d)ozYfP6S8vlU5@q88ez+d4 zqlh}%@M3r8zNjW0Cq`FdYR#G3$7*UC_7Hg^=FdpIm+G-dEcB!p!)kw#!L;UBIn z1+ZMKXFh{0laQGuDYJEF5X%5L%!NiI9zdghH7`Ng&)uvrxB_-&x$ej(-2=_rvM2rW zVlDERS*hCiMeu!zu^>qZ?vdAw3Bg29FT*A)W~WS_o9k#$CQ5IO$x3q2q-TGCSRqk0 zNhA$O>AtrWqCE~Zf(ls}jw!+zL$eA=rIfl=Cot5bff@rzLF^?$4_}thO~ZEO4b~q3 zHH5rN>NF*0K#2k|hNy@-;HoH=5dL&k9YV8TnGa(TbTL)01LzP>iGJ+eD5hTi z0G9!W0dVh{g%qNpc)mP-9MFh~?PwbFG(=%#yvnc-kNn?&KrO<*WeGzKbHPG5Fp=QI z0ic9mX?(inbHZH6I@oxXS|w>n`Hr=8kJ%!2VCehhs5#r|WKV}u=wmUvNE;elQgg_= zMATxuh&*013c4JV>}vXIP;iv#{fKnQQga@=NL*rogr`1zGCcYSzZ?U}kJrbE`wKWV znMkgLI>9xrrN2Kw52@#67QQ?`w~p+25x z zuXp9DwYI&AD%g%8zR6U%8>yakrro<&A2)YT4iz^xo6kMnilNWior>HnvaOYxVTYOV z8ZDjPt?GX`S1$gtc5(E0Ja6j?jiyfXb65A2J(sA4dP9?L>ukHmR$K7ywruJ+TRL~T zZ}7NOK3iAjbp9l2IVmxrk>bZlu&{nZeX6q64`2LTW?L-xu0`j{diQ?&FuMEr;MEQt z-J879yW_OnkUxJ-zaJlb!I<>oeCU6#-Mm_?{#?#o?>$bVHw%z-ZZ5+{d24Z3PRmr| zxzOx9V`qGKT_W6t#&6i(e4Z}XpmMuz_v|{ehW=!>bz?xD_U`zNRj*tuJLR85s$SGC z4txEhmGI6?UR{J1_+;tm%F<1KdF9vCEN50uwmvfUb_`u)XXyCI`R3~O;FhDw4+>wO zUdQnC&BY*E--g`LY`kC-->?SCe_DHPZo9VL*?ilnaW`G)KU#Kb4pKH-yUK3ov~Ld% zan3)kaXWMKjhOn{S#yCn{Chx_++5l)XYWl`dwJe*XAb}PGx7pXAG)fh9$z;}9Sn!o9Mqx@lAC`5T0OOtn4K4VVHb2@BP zm1z(9jfO?ctsZ<#Z}vGqoC;ZDLr#{RP_GqOX3JD+iWq2XY8si2a*VDQ*>7Zg3#4Wb zFDnRBf(^L!62~G+N+UD~_fky`16E<37X(4IpTT6`b55*#KpQrrG;Q-VPpqV=df=Fj zf|NFXlP?A!oank&I*~46v;|IfKP{i?ER)(}WLZ&Zz%v@aGVN9Y+YDR;o!FlI76IxK=H}!;F2Vbk$r%#hl(u$jG=6| z&LE(kjam7xwq~WH$bJ8t+XD=cOR9)qn)uhvk5C1LftDsZ1WdM%D7GFWQ~55R!HzJ1 zgW3VXkQz@ukRR3_3X)56tO63#ePT=>rh$&ImGDxbUWN%mSkf#4L&qP$;LA;(lveIL zZpL_cn%4AAnye1gN=yfG0H|#UV2MJGF4btrT}@MG#=x{cK0gl04p@)>H9UrjdU%#V zHX3wMxIx>nQN*h+U2tei4)B4*Ut-1!;U2GsVUHkk{ocb3^u8>lp`+A0qZ7TjP|mj~dPb@aLQs%} z#Q6eFkv!OPH1UoBTt4ma9-`So7zFJGDyPk;2O!jd9=QSv*0mu8@abfPxDy1+B#I(S zpqa%P1htYp03_aWKkfd4swO)R{XQum(!8l49&4i@d)r_P7KP{=wJm9bA3$6^ct~lz z)FEv=MA~pZkrz8%W66Nb@M*zDZ&HSeyEk=<1e29MExiOLmk6U!XB5cQ_pFk9JTaX% z%`cL)HJJOU`!+jLIidK_lSzp+UiL6ai;|*IWKPIVK(j48^eo2rb5se!i3;~p#y}t-NDzn}02Rnpvjq=f zs1jlwv6x_C#7h+1t2uZB!xDQiWeZvwIS_{P$d5qB}7_YWFCBaCWQ~Q=t5AREWOq7%SiwqiQXzb-7X8 zZZ~Op6(du?T9+F~`qtdD{1aY&jz)M(fmx#2z%WSw;Ks_PTWAi6kn9BD0b5`*ebj-B z(qY7+lw$N|an1B*6U~bPCe4X9R&zoG^V+yl{M-bl6cDrKWO6KLJ#hrwO(jFL!Hh|N z53=}Vqud{&{%}&9U|sAf4X%O5!#a;=+^EsvVusKehHx9G_Av*zw$0ij0bwE!5iE~L zy6a)-9Wv&D7NCQYF0>bO@-&WF&s8bxQ8n%ZpwIa$p{#^E4y(76hLspCrSmb#8JI;j zn3T=**?|qh0*mDc!WIlNP!nLfP4^7{z7~!4XVD-&H@G-8#)-W*95kNNrj47pTSLR+2sHbr%@;^ z$zjET55UZ^9wDX*M@}w0rwhQTt8|U}(Wzn!9hps>&z9BvX6;>G-s&2ayg~8!Y*pRt z+(lY!w$}cBrega1_1(Pw`MU7+ra4VL-2K0LKk-gRXf0p>fZuOUtXC2iYH78LK-+O{#th3R>4N(qP8BGU7V>iYdKYgLqCzR9L(ffS|i2wa%Y zTh65GyzPkYsXA}*?McU3_Kv*Y!Qc0&G4Jr3`}iR8$w*idf31880I?p(5lMwgB&TK;@|_`8xYTf!iOK5(+O< z*tyls(~`Tpx34)^6rRqV_mhU^r@iSrThkAnmUBG#9-7G=mu1Vk9*Y8x58+C{8o?R? zR^=~Btwk)=A~P#7FFk)(lrkBdpEqulE5Wmp&#f#|y1z$SnZ(0>I{;?NBWN44O5Q=g zvyKHThBgc5J85bZ^3;r~=EFyNpnA za($*U-JGR}pR8X5M-!d?Jf0l(B+397~r#{7#pTBV!S!L-F4zcw=Fp5LOqS;>n z4dW1|0KvD%3CLm82SXE)s3r_C!U!6Og|LkSlc^&iq1PXoOPtk($wi0}_31!hg2Oob zN7?7t(ug&)d(| znI?idehcbJvDK$dLN*EQ6FGCR;~sO|_84mIel4>6SZO*n&~R*wD3$?W!<~ekp(tXA z+JW8#*^!Hdk%mXC9lF{cnbGd2gn<&%nc%vNX# zLt?lJ)*DI_bV(!J+1mTu%N2C?c_1kvj9A1oO`yjp8xjXFVQ35UFMnKQ;HB*N0(th0 zw&Ui8w+Q)M{$ttPVUHf)@^SGwcyY6>x%lIDpX*xF`Thg;zdN10QbSf+VgLYk1pol9 z|E|;FcW|(E{muBb=x?K28$hkk3cv`S9p)t|5;ET>d4RP}%n2R57}5b?7( zF)Wbko3u37+~;cQJBYHsE|xVKg!Hc0+M!dwZ9jr5*}iYNU$66hzk_${i<9_2$LG1X zU*f*Ay4pQ%&hDq<=lC~XuV3rOlboCDza5Vcy*<5-U+amSv9mqC&xebVoTKRIv%Ws= zpR#ndH+HY@k-b`3zQ2RVcb&FAyh98@fj{XX*P)G-otIgrbh)}(IlUj}7Zt}}nT@7& zvpu*v+@CL325n2@qjWhwh5En8W^CM@Ztg!{>j<{7gSTw^hu@{KzQ40Qqq;f0SUw&f zsr&1Xll#k)Oxs6a$9LQBv8IFTxxMV3_Uu`_*gft)i;?)VxjdgIR&VcL58%9Jz0=ma zN4l?>T)!U=~grco=*4Qhwq*~ zBbmNk-m}bqz3hG5f37|Y_m3ZMX?=Y>>`y+uJbxY@4!$l`Q*Y<4EfO@oHp#;rWOHHh z@p&=vxZd5~j^4%t$whl6Q{h_@MRlzPQ%7U}z1zau@@3@m;M($jy4wl7?k^1G_;6zL zd8-}7$LH#DWzGt>@R(cwx2<(x(oZ-MIo_M&uSZu`+2UTWU9uO)k&U)9y_~-ym7Xu( zm8HA6u)Dm!wT+Rc8cTNvR|ln!sdq2MC2!TYkB9HFr>U}Z-`n7lo!gM^r-iXD{vF;A z7nhsxPm{yPw>%y+L#_Dge(xlhJ>Tbrp_|=@*K7DWUz^q6Rljk}yC1Ic25-Cg{WF}d zA;&+ZnPv93;{*v@9}Bv%zA^fEzvgePSsVWh|AmY(qF4@6qOAuwp*SbYhiq{5A%w>* z!w4a36XIBx83R+NgvH_Zl7B6iUYT}PwQDam)*PY)sSi`yS)w^=;TS&f$UAni0&5Pl zP(tZ1F==23m!nN(=N0Ez?WqK_ThtEa9>Z^3ks52F_4n%Y;gnTljMEmdN;rbnLgW?@ zo}4q?ZYJC_s07bNg+((gr8kR4Tib%=6*Eg{irmHYH3D-|8cLQo;w;t&xWaMd;WI*U zCeaMB94azIR@R(G$I8y7vz@$F#UVv&*6!c>@nvdGMZIG2jX5Urakrro@o+XS;xjF_ zedHu8shfRO)1`LyAWuiw;meB&!%--UrIA;OMwNThbMYp9vII|4&vFPv%ryT2N?^qD z!;*xd(}h>YUvryWxN9uVjakGM>2*n%4hVOH*kR(F(2z&$qdh#r>LgqR6NC=>tRr&p zM7Cp;i%AC%#YN5DNrF0Lh(k{lvsmq66>xzc9t&r*IE z(z#E#rsfaa6a>^7$dDhJOr&uRj@aNFH6GJQFIBoShT-Miv=&LAVlyhk2+7W0DXZ|( z=&3VOwF+->HPqF@lq4_yddM^IyS=3h_ayVTMsye_PLZTF3yu3uLRUc-qKGTOhw)x5 zAqgy0pDes{*CueH4H4wr8N*sah)KLSQsOSEZKu63)A;|>0%b65zZV_m7}KczwIL?dEVccg4pABVYD3ljh>nt$mAMc5qtCWw zGabnaxyL$`Cb3!b@Y87W#*>Zp)sXDy-lCCJ=n-;!2$7or`3^#=PQnVGA|dDV$w*1v zn3*(rySCY;$du$?&B=gsBqGz6upi z?9D7E>tO9m6l0p^C~+&P4wDS|X6*$_kK7>5RRC>Pa~%(!)p3+J9!6N;*W@=E53q$X z;^Cu`%FLfsNZawpMN&JeFluQ5j0CA}Hag;NskJ7x4@O@@m`vFtXqBhBP5Y4!e5OpW zNS3iIhaDiWChzRw z()EWJa^=$*N_9@t&!Ud0y+92Tuyw3m(Qy6-c@3|fW# z$y9SZ{VbM~zs1PX%BBB;P=E^^%LMCqf8S|5h-rzyR0Ml<&)u=$@jH}svf8Tb5tLAqJjH#>BDo{bI z7)d}+u~VpO(up~i6KKf@KNCC&vTNu>5MbN_0D9475c$qRVBeNVg)$C5TimM&keA@g z6JH*@{!z6E+%xtgz1F;AN9+ZLgE zTLq4te@1rvNg;wH=Cl7=o(b>0_-#D|pTr&+X~nGkozuQ2{VJK@{JXA4yxKAYbVzZV zRXNTqn;j$-5DH#dD`iX{eCpoxDVae&V$4;ef`_GvOSjh#ACZby)y>Ad$60$S-8qIl>qW&0~aqYwb&(tq$fQo zcq97JOM1BtQ?aaYf>iDLSVL*Bjb!h*z*$I%5HFu3Cr!O_?rzPbK^|*ZF)}YPYEGej zhQfuaiRN1h9RPwGysw2Kk~%QGVl2*zCRC}C>US3Sk`}Z?>H?N)77$7P$2pzhL?P8( zDy6pExDwh@2=22CQs(=IXd>cPM4KRKfBQ{x=7uJRIu_6SCxqOuV4)%)leMNMWmiel zNK9r?t%HBwk*ZR)N)?pQA$d7ror-~?B@URbv0x;Cze&EIUOHSpzaSt?Ay6(V2Gxdt znoAr7puU5*5GVprUaXCMg`P+uF)-0QKyM*w3adbh%Q02IGDz3M=PX0fl8aj?pA+#d zF1&^-X9?%I6hI~G?o}gphVwhR>AG?jA+gG=uMmwzJY}*Bl8LP9Vu(Vi#E^f8Dl>o0 zxpF95;3-IqqG9f%fS~BfoD^2c?>XQBYjy7y zR*FQ$`qI^RcgIN{vxkeP``x+S1XFlzOF|96 zmV-1W0E>X8ykNTs>gqG5}#QBZT-!NF?`PHiiYzXu36b6R*(8 zagpR=1nxScVEGSRWkAAW9r5@}Ls?hqpD>V6``qWb^a+|t@k`(U6hGi;v0^br???9o zYU9*OT8TM|r^SUi40KE-tx(j?$rvUI#Ex;weamA+>;gkvGBd7Hn6bD;HG6w4=?skd zsET;TgftjXbA$lt2mlE;ia=zlLY9rUvSHv` ztznP^g{;rYoW7)tPdMvcBJ_Wirnx!M+GDr<%Cw}cq3MrA^H3WvU+TvE~Le)*1(|FEEgaIVtm+ z{P!$Y{t_&eW6q-?u`(I{8$Nr(Bw2o1)my>)UZ?()afvr|owI6oHM1sW(XyR=ra_zaHzlApC0EtoZIhq;!Au^TPllEjvr7=}xV3>j$( zmCt8zPpql<{(V6fNd=M#Cg9*mNkb1{G`A#MC)$vBijHA24wF)%&&_j5qJ5ws*+$_m zv=N$*pyw#`4L(=u%&vf4DKlWLKyFZulv~9IHb*H@!7@%g$U0#Om15+F%cPG^TK90gWv0Qcl1-o{o&>2@Y@LPiqF;4*%b@K zTmDvBfsyY?zTe*-MZ`5uMUOMjLJ!r%IK0RwkTi=>y?-K1q30ike#4&kZyPZC`~v5& zjNi4sI6zLN;W!e$kHu~R4T#`GR%rAyC`&LU!g3x(&J)v|Z$=sh!NCH2zMvWhyQ|iC zPAG3_qon&4>N8|Sxgw{t_ZH2=K472x*Nstro2&Zuq_~!iR26_B%^=N^2vzfl8B(oR zj2KHw)Oci!rdK5T3U0CbV}Sx8nV=O0`Y&{j_(6J(NYY~iF!JT!U)IY-Oub5-SG3>; zf{aj91Z&MeQjQfz=e)@eu$WON5)XO@L`6oaJ~YD#wOne3#0uC+A{v4Kvs1%7ub%b# zr@meJ5Q-;prGSe13IS-{Lg--LthfU))X`j1BU+8GS0~gPv!YcUQi21>D*PN??6X!e zAw*}44Th2a(Xwv~jjdT410dF@EtziqWk&p|Tf{@5n1rdqmr2Uw;`o_yF{!J*{)kE$ z@j|Kyfh^<@k?G&#spKHXp2b3+BRRbH|U6<29 z1P9p=@<1MV6dpwoW@-uVI?V1=k-+bfiD2JMynL=rgDRipoPsmjc#oGQ!$a*TmB}Z@sLAQha3iLQWnff8SiO-dnWKvC%d>5l?f*r7vbzSy}$&vw2I~yXtiS?HYc=mzp?4!wh z^v5x&L<A4sS8(|ye&GR$cD&zd_(bPssm5o#moLCv+m zKzz{-5GTilus|~-WHCl8s9BB65pI$`#>7)NYqj}OE^63`x%q_^N^szdDnDC;mG4xG#IUaQQMEga4-!eHcz1j~-+s zf7PUw*zIns3^ktC`-@fBw!Dm zU|K{#=t#3}S^S6^godOwYY9b&5b-ax$Tb4T>kU|WUScvW7zKjn*>ZeZb!QuFXPdU| zn-6~kZ@Wmu;5<#Cw!*%LR`)>|N&1@9LI+8a#DXOR(Vw%?L|A@{ofH?5Ccj($C~FNf z)&-;$BP9J>lNrqeCC??kFP2yvIYPLI;!{t1MWS>juJLd=5r_IZsfD0hc{wEgafpeK z-~`$^mLAg^_XCJX1Na$zN(LfoG77qUOf;i(s{q>#2Qw9Ut#(2c_ZtILUX;qFNL02P z?Rp|InZ=o(wc)_7<2B)MF4D(8W^`xNVxIx0U8oKlNVPsSJ>*pJB5u@%y*uGiOR?z! zCA48^u9U0YN8(89N|+MUqWMOV`l~y8LgJ)F%ZI^A@ECL|#xygmX7@^7xM==j43kiR zs?55qCn$EwU1;o@4)FmbFWU`VHdp=s4vRz}NVvfY%Bk&_d++1-hqL(H9&3Of&NEd9?L+WB0d8E>3M24+TnSRRYpd;fBNp=$ zQ5c;;oVn;z3>g(=L_(H*M+Nb5_vI?KelC1`1|ZT8MPZfbYB3@JOkws{ybSEQU9%6X z)xQ~gFN?1!xr6a!4o;KL+U&kpKUS<_T9#Y%h(C*xiPh4g7tnl5spmY)q8wBY`{sPlZ${@k~4XW z4#Mro(pO3@lR>~4w~wFAmcMbAu8Xi*tfDB0Xb)3du)UHh<^7)Y`D~H9K7z?RN#pm< zOXK%Tl663s?E2oW5}$?DE#bk8LiFn7gNXR zmSV9ox4b>|#4k1>2+g?BwtvlzcJlK5wqdc_pTVMWJe5PVMwQh?azlAezS~qy6wZ^= zxn3ruY`Pf}OYcFd`yj znaV)fD|1o`(bp;WB;CpOZCUdL72st@&2m48ua7(ChE|t;Gq-YE3W5lJS~6S=vdS?Q z$kwVde`amfFh+G}i6;vstfxLoKAS@iMRT{iUOpqqYaKh4W8FzEG&Jc{gbb+~1zdSo zecID0C(b!)7~K?G)Yp^03~l^rKs|LTY==+h1IH8XC@l~UevHG>Hq`H+0+j620-9-0 z^+V)J(Bg}mY559?u7|!?MrD)khRQ0e>`Q?f0(Oy}kp~aGIJB(Cr+JFVdOA`+0C!Ts z0DV*Ps!*1*%E6`SXd~(|aSy+UjX9^t1OW59^Fat43gT)gDpAkFsU}oI`w7|?d<&F@ zzCaD%(K4NpRPB8eq0vOwgYJziB)MOlUbuh14;)qH*0N2PAoB8GD0KB`qenD%0tALb z)Sv0**B7h{Zlqa*J8TfOw{S`p*;@?Awm`oEITOEeKq?h;0$@le9)XNzXH$YCJol*Z zITw1piXb*`B8pGUUuSzgl6;8|8xvQy4>Uvx5{_MQYEYC4%>n0Lsw2PxX9XJrj?|)oDP*(3tlhn>v|yrZo|V8nxEeKNr3mZcaTyQJK;9r1$jK4<}`QpwH1A6!0AhL)3{yf#s00 zV&G)1ju}Ov1+T$Hk1#UMIp#n;OvMC;Sj+kdMdrQ;I@4uy`yJ*{fLR#wQ)%R36Sc44 z^97ViE?=dDj;WfTAd*6@qj@GtHn3jY;2hkcch_B_A zg9<6hNtgSyAUUcsWZXlBG||S8_A!;BOamEpj7S}$2l+6R!c051#$5&MYK?ket1Z|*n=La#0X>L>`IGjt%DOrPqnyU`s z!3gaz3j88Quy}bf1pu3aj2JvB81K)YtBB8wiz1sPtqL#(CE4cK4nmP~D0w*`Rp!k< zl?O9oA}WsqY0_%X>msn!ir@Bjo3Yg#r0FtumxvdzU7SA9i9OZ5H@w+)wT7eVq)wnU zIIky%9MPqr=~jM1HU`AVW?3_#FfA^$zkI+<6j~TW?6$c@KtLI0d^(g&cpVNn3QlCw zt_?)zGXd%S8^z?+Gb!qX^6wDE7hwO7^O6hpJkq?KHTt)u6KL)TQq?J z+p>3;m0r!Fl~TxI<}LM<&)y#~J{g*Q`R2Gd3=#xvm2MO&Yd%Q*86B`{IWfeuudUD9 zbYc%edt-6^+OtIHRF|5Mm3Zlz?8JD1AX%J3s^oE6y;F3(PrwvBT(m3+`wQ-cSb1SV zw@c;(zm3Rx#cp>A>9_-PbqguI@jk>DaiiFz;9{IC3TXXSObrWyY73qWyOOGZJmO-- z-aS}Y)23Y29sx&p>`rcAv+BiRaP|6O0nl(39MDu$M6RHn;>%&?*XzPng0Wa3076T! zvMI9j9#A-*C3ReEvN9eF19RvHwM$zln_?Nl43{$>y`b)q-FXaf>d3gPtcZw1DH=JP z+wFa9nu0QovHqCOxiY(0;(anvK&|7C!Jl@BZQkoSk)1$n$N>sDg zHa5*6Lp(o5Abl4+XkJX85g#EfgHpDvxZ>IFR3sH5#KkZi#~XzmTK7mi*&42^@ef5i zCvqr|)GDP4NkHQ)&r&~U}GIoXwfsW@aWQ%68A_OBWh~V<+1#mI2BJpphBcbfY&yu|m8SYL+0RLqY zaY;`A4iHX@7$ei{aV^QT&rd1XO*LALQ;BG-QY&3V#*H&oFTbKn%g|s#GJ##CP zRUQzc!vLYf3>}f$XxM!XxoPaBy?dp(d#7mbMrV6zd05$Z}nmgQl*!e+isbefa0)`>Nx^f}B|!`sHO;`pPNVHNBQN|#Te?GJ6e8!s*3GqN#y_UMpe zfcnamD|V08vGvc)3@EPMu4s=I@2Tp>3b!%~W-&-nH^YPGI%Fb8H4guv zIaH&#Q3BMEc-uonERK$nW(3WHzdrN!HWLuem#o0yZfrkt#%iZ)Hh0^q~HE3HVkE2Vgwnk)8F7n}pf$;CwucJFn8T<=3} zi|<-U{h*!IAP#*Jm$_)(2kbn}$bQSl;Z|_#WkG_vcK#&U>HE`R{q{7$vgF#jQ@n-i z-|2a_=7N8JwTeo@Ic@`SXmfaB^yVLe>GM|BcDc~QAOr1>#xt+1y`fRf*pJJiQoN0> zP)$?cUJ*(4jMyi1S$PBOC7g`4j-;fjkh+CcI2W)3x_-CvT_(EZ>JYf8a@X6i`WGb_ zuhCz_*tt_BgF%Y8M3%ME2 z#z=1}?K!UE*aRaW5RJW##2c@H7c8M`X-jT=Eu)?@>Ez)12pKca^8kQ^IzF)l*I8kf z>^H<~>5O(ybfWs2rNM7#lm)?5qS&z!+WC50a@XCd9Yc`_|LMffZ`(EUuebhF{H66< zb`m&$Z!7HxZ0(ic50G_aV$@zkfIPAVk=rb3?@_3q34+DiBQ}%{DqNNs!C!>49OlV@ z8c-<&qKAi&^4>1}i;A_XaA?uu_Pc9X1{=(HMRVroVB}Y9qoU&0FD3N?98drBm?N(F zbm~%mofI0YF2SJJkR~0R$>h5%ohFA2OEkvJ&yR^5&FSv6zV3K6e*|$myL#O5>2T`y z&EUUatx_u9cqu7sYns!B zvW2ABLsvDR0$jNYpC!m^s_T7&Y&8u^V?q_a3SBoY@t%)XDyp-|7^XoFZBE> zK+CHDBMy%W28ND}F8WyXb1dI2EH->dkA(b=elddOPyJBv=Mxhm3p-ar$lO6DjaO@} zX8Mo&z}c9~|32ewhtK05!-2eC`+_mMoiD;b2X4ENy({O_Xg4n^tYDp3^v+JDU;u%Z zeotBrzhu$Psei<>8xMMfvk!ych(O1kcH0_A_y(oyGi3y9{~0=u9@uBEB|2oqzj;Vs zvt^w!>*FD#AVbQ`v3xeUU3?F(U!0bP8xmJ*nKfv{k07*A0P$b5AwlB0M9O2Y6r3_Q=Pj)^UwSA`cQxU^#Vnb| zv5}xhWo3BWT>HOUbx~0h{7?$fo+@?FNHh7%nBcyTh4ydhLOi|=CXb(L4@_c;r_PXzH-{(Hf#?I#Yc&4Ib;dfC5 zgKk{6t)w0Mqse+`YMGI&Zd^F~&Auqz>3M!JU07Us{O5qsaP>`6j5os(b%@z}bKT?D zX(xGAa`DMT*z@RejEHShS+dXESnRdr^0I}H2kLwRR4XfmR_FW3v8&0`qe7?5oaWjy zki=Q`(!+9$i*9;GVSBE@d&By&LLG}^>17_BqZsp@1Ybsc16-4^XCMZ*>bW&uX`RW| z3$J>+8!ljQpT2_YSbozw;F_Tc{^5MuO(mw5|Fi2{yYa8LZ1%gMuIt(ResBe@8BHa4 z+_nn11!o0Ic7KL7?zNz*;Z`Q$^YsQ^#mpO5Wk;*_cU|l5^tBYyv@f>bxH7D^5vlYf z^auN&(ti_f+uE{J^M(>kHyhIJQ@x-4w8>?2Ik+%P4dN(sPnfIpE@GCYkZ7XhfHeU1FA3s`M zmTm|b%)G{~h>Y@s1@?=}6^{StGY?Cc)`IB{b7goEcK$JQe=^}&Y)zl}5`MpbKzZg= z@_vUb%;N>WVGHzokdif3+A(&Qc~`r<4nU|KFJcX+OHzE2BddiIpBN?(iVPT|@Mf8y5HDdsv#s&ZngQiA zEGC{J8Qv`*?S^uU!-MG`8dXmlCdscLlo8koqnJmK`Wd!IN&3}b=T&4xqI6Xkw?FUF zOe$#oL;+&ase^nKpC+GWHZF(V7q5f1pge34bb^eZIaD+dmj>Y&jL0}lE>RbrP|)Yj zmdRz%D4LU39Hx+OOcf5CR$xg674HVppA>|)6L#-f@Bfdrx6{M_Ec7n}7iYlwY`%joUB`=go5*(f%!f7FP=GiePU$Oy~hB zgf*InRIF$urBJJsEKsk-vFw)7_f_WR48N@FGjM&s3NU+A>uMU(I$^e{Qi=Wg^mj$; z`xEz{rM1=h^>Em?*L>^o$M%1hlSQNOXzG9E#OI$Um;b-B^-2HpKhhkc00j&LpAt-18BE?H+_mJ! zJhzFlf{MoMGMgQeCX`Kc8LOHl`@P&&H9_qw7T_wYOb^R6&PdS>(^T99R(^-{-Rqew z)b-v2m+tY1FmM^mr1IE1fxMDbqn1F&$8UA~VFxH&dr;`1eBK*YOz9and9&U-J&8Ad zZJD^dB|dng9H_E#LM91m;v;hj6%90cNp$(ec9UrM8sRiAW&(mK>${TK)2fImT?=d? z#}%8iAKTi7e3yJ(2Uc;*l5Omza+$F=_R&qQA(j<=$rR^2Q+5sN&2oXa^ssMIn9CDZ z9j`VN`8E8b<`swM1F;o?P-UonnD|c=*Ja2%VBMIcdY?Zs{xgD`kmC&H8}nHEY#;of zQyd~_j9U^VJcPs(q#4~joG9l}n5$zfbxv z2)z-7drXmEFc)qyw7!rZs1F|F5JL)BT3|aK$XH;A&V?fwNPXcEG_OOvB32#14G}(= zxE2eZ-aW#cyg0DL2r|6jPQ2ZGDpDNibMni@PIqF@>4Qz#P4Xlwg>knGzl2n#={Ieh$j;Ae*Hh%J&iQWXZ{yR)@+18JmZDnl5Kcc30Kmk*c=UgnCH#*R zrS+Z6{*N35{zs4Uwwd$@KC`uK$HmtofSG&=H{m7cBP(PQ`PUs488`9qrxB*gGf9q=P8yuUo6lM&A4@(KLOrCWX=jHr=svUr_-7&|9;P9)sjcxTC)4k^(Wwr`>ys6!t{ek*v9KE|L@zdbrZ zcJUI#X0Wo-E7Wn>DVVONoPF^*MZsTD% zs~538shUFjL5W&8VjWd|m=P}B>!6~qDDTLE#_8MkuY?veSGyYYpw#1a?9x?BoJ?t> zCB>)W-&W!#3dc2fb5qZaCI{|8o0i$q#3O2{0TZNM{42TL`dWCrI+VLc#b23G|HVkV zCs5jw-I2uD!;`{KsnEkktTL1*Zjse#?ba#e(9?u zhqFo-YWRJz3ru@k8RT_YyiS~h>dLTYsC+|V`?|M7tD8$`Cft4Vb#YndcKct>D@J_G ztlXa>3HT`ziT|_n>X(VFiKBtFyo;@ov&)b8*3R}n%0y|yc3lw3=Y&?gOHgy*2t+Hhh__zg2~r z-f0TpfK*B+DMQo^)0o<^T4J&X`6(e`mxqKkB?UYAFz`rv{<35eRY!43%$C2BbVCr0 zcWfa!)YTCr)?}mf^<1dSa6}?}EIB?S_2Qt0Hm6Rz9z5wSP;wRu0VX4l+a0dWNYQ}G zUK(~CJ@(lx8nb75+dA@^-)VOgittrJCCOyF#QRR>ZFM4?H6wQQ?bL$ve z35M)L!7+k+#!V15DS4JVa_ST!7%W37l%Jkv4R?%vMhP@Y{Tx2I>R7|Rm^?T2U1uwn zg!!!%s0wc?A6pbjT;>%|)WCR=?!~~HyFF%)KW!?|0WX#$ZBm~J8*zXuE84*Yq5l=Q zC-fj67_KrjV6`P)1%WC_4c#Ql=Z$1|J3>9On@XiFn9(C}?Z`q>38LKHfMuj8Pv3D$ z#ia#?oWU|Dy0*PW>-T4RMmr;!1sejqiEfG$t7zQf)v%RFW@1NrCF7;pgEvcTm=N9~ z;hfQh|9foqmgir^z8P_stl&OtXU+__ z?m2S}__y?4n%JeVHSj$rgZP-+8s-~73y4_9L1cqKp8)BRYVOtjg3vNb5 zL9u+*(L2B+Lbd1{K7;@_%NKk${hz+*ztt8zdmh{9VBK1!q33t}Ray(a{9`?Myr>lr zaIQ^Lic>>*c%X%<&leIE5rM;dqlX<(y_l{4QUvM8IJl-bKtQC@KtR9#&x+tb^ydF@ zQpnl=)Pl2}pneCCk|YhRj#Dk#ZI>(GR{oD&i1dJ|15d#nFSGMYwh~Er1fgp=mvYqGRV%XjHK?^B6T{)~cQi;Bek#;dc+t`mN#Q)J`+T%E>`|>*Mhs!4tmZ@_${%WgLtwOzd?Q5{4x% zJlT8H|0Ns299S8#Qyn-DORa2tviD}`0(@RyPTkFoO)T9$yMM;$E|z-aNq#L;a(`O- z1b@Wc4q{LD_`XcgP=b;8DX zdz?-ra#lt~?Rh`NO&mB?y;Ty16|%-Z-JjATeH@=&*?aQib@S`(wLVdg`Fi~3vD$S}UI;deLZ#%}MX_v-v!?{4i+?7!`QH~us6 z+va_BB=~B0xLliF@bG)F=W^!&@VLLb`)v!jM>Yz;^U8g5{2TdN7||Ml(H@9W70AkV zf+u=R!_()yS{Q+mi8%00x9G|#kur^vMLDd_~$MerP%$wV6)s?9veZIqL6a(P*A*?7oLz4NpW zJq+McOwOiMS!<@PaHqDp?n~1|Rw)-#NVY^(DW_0K7A3FcRY;b)P~HnyF6K$7Q06P2 zH(D|s^HJ=%7)neC6{A&Rz!QXk7$L+=4u*@`he*Z!nrN)G2)E7h9ynb<5|2@`pPtqk zK0Vn5y^fmLz53dnKpNp19BuELsyyQk6tDVi2VYpKY5!=+uTj_YduXA92>%R8M^ z_e5Ct{)u?0*ed1(wd5x(Z$!!6s*;Ewe#$5ou)#uYrY79t<=&R|;+mtlfsi`ewKXzu z{YZXj%io4le~(3yBC_q6Z=0;xYPmX2Z|jo)%K>jUwd4dgK`VaS<-od-Wi@Ad9Jw=$ z91VmTsn>BBiX_BW_S_@eg~(31vfBy>&Z2-EhO{Qil_ot6l0QT$jkYS-Siakb-aZ-+|F{bc{1(so z7;8r^#03P;#q@JTT+r>>RTdy$P6y$)O`*$Vd&t*P>4n>eVGFjwh6M9MF^8c^woN!N z32$#z%;a8OPj=4u_S;^4Ik$FQVQk0i9Dg)GhGn)?M1ZP0AX9q7=(9eu3wsAGAcS5v z<-}VDta5h}v^7d*BIO~hCX%1@bF?eq2Ko$qM{R3F#%_QS2;vc?_Ypt_*drMb(l&!= zf}pf%=+l82r8_VPjgf*wYC^Ife^{oM6G*;gZptMqb60Jg-H+mM;?LZYJFYXqcrB)^SZy*ulJIx z&sghPMRBP<<~z}+e=4lVl z3!g85L+~a~v`|mnU)djGNcgiaR;&)N$UVXWv}!tib5ZsNa0w#anLvI~Eb|%U&Ra(H zzl#Oxz7^8v5@|3>HXgwk?O#0Vmuv{IK+VTjb|`c*|8azd8~h7dz(9u70YRV6SBJL2 z;&IQVY*6Lo0P}|?QWD2zmSrD0oCSj`x&c?cZ`D2v_4;l<0XI_;xP;nhsVQXr=i<8p zL;>86fE7jG_xXx%L}mB|QbH;ufubAKtdB=>ISB%SM5g4_SF|QkqiZkS1oB$?XTQC# z2519Akvx;~Y;t*PB{!1cCj?ld&YszFSZu=ZZ(!RoRk$x2CQ-S9wR)d;1hRWuBzhWq zBrX6+#5n{IAZM-J4;Uk=G^r0^B++ude%+^O5xkFKbSIH>o#nCeh8xCXY(#g_zr1UY z5P-eO=4!Gpt{o*mKtUWV4XK>t0`IRaoD$ZxST{b&{!RFIL<^mMC*M3R;a%7t#Exq) zj}?oi57s5R#lPc3-{W`5tO0D{T1)V3AWv$RM(rV-6UtlEg)+o8rU&C6bROZN;%OkO zqTlYgDp4XWtW*T{5uV{{2LA3sTe~fuALqv!6-)AQiTSJcDXFt9w`o2FNnZ>*W{2jQlkTS->e)y#Sv=NnJ#7d(51HS$Q ztr@@}_c3gSImCCKI%Eq|aiYkMV@WUV)`^yFG~;5Y0A3i*+&uHzy7z4>fC-W~B;Zjm zrHP?g%JgOZH@SjA-5J2-X2`%K)xs6bRu#Td=E2(YMb=X9_a&2q1%a9!97-U8`_~8H ze{;zq^-(=^FjeavQX9hL%u%}emf(uaHP<6>2xI%R!XhP76%((1%0H`9F98Dsan#(B zFKwq;l!-y$%lE)upG)iEKx#-2enbazGsmM3SK(;&LUBHlzYdp94i3?pjlL5Yogk33Vk>xpwfmXA9jQi-Y z{)tf#vnd@8MQn7wxe30L=xh;OMY^H^*7~V&bl$YWz%iC_8D%-G5xpgWE@7IDgFWv% z@Fa!~q*@)*nyZ=(Grzt-rgyk_T!KJ*jfcS{KbW^X&2Q55d2fLyP^~`U?PR5YmcP}R zVwXvN6iVbyxfC5Gu;jH=QaybW2}gv;#$I*|LU~>&yOm)1P#9-J*V^{G5v1XR#2BzV zL^%(;K)OjcYFxzE>DWsL)b8o7K>aCRN{#a-yJCOzI^_*z1b~b1cf_h44`XQ!96!qg zR>2el{-Sv2Gt1j$g;2?4^v$6aUPO?lIT6P~2VI-P%We~O{jL?&0*#UMewJDlBnXTf zUcQDep=OiiwYOJaI&2I0`^ii0!efuLEu{?GTnHqbZ(~hcPd?s85#+mo8zx0UfdfDVOvB z8fpJv7;QY1hgR9XBrpk{2UpiNT>(o3Kw96M6_hFX##z0zxyD)ba%y{x=ywyPr5sSDbSEs5S&st9e9|t%ngEr>LNgN!d5J$8{>bZm9o4>x;mfkd{NntxkF= zqf=C%D2+!L;lYAsscHt-F0Y=JfX{wq6r;o^rSR1$O;L&7->@b zWC$s!$Z1ZK`b!p^_&~WPq_P}uxvU;5*S@qQQ2x2xeJDqT4=nGnXjf-dnI^u;eL}~0 zEZ|}d;U-$yy!%G2fV{{-UxP`it#}huU$kMS0t3|mAYZ~KT+TM^i-5LoJZDxC%M2n? z4j!NaQYsyn>R>SMi?Su-!dO`+c*UOEI_SG#yk|@MPbi=p<6l2E^wi zAl0XG>YSr^Wp%t{RMomvssKiGjEPn&1RJG9pJ?3&o1)a)OPS`-?1+t477m%1|3g;<1pd1(OJ`lBZYQuv`IlMMMMK0Jbs?NKb}9g-{YDnr@7U2@1L~ zUMNAdEYF&nE~)8EH!_zZAFwV2_X%S(V%PxpoK9D{PsQA7p9ZmsCiK_bM4&uUysIgs zMp|kYz9q};=&{sA;J9N4b2R0vJfZr6TuV!bV8LFeLuOo0UeBlnN8?rvoxg5WswVJ9 z9$O<-qswvFoj~jGw3R@MXxOBw6P>~tw{7V%r%}xi%jbtsm1lSSTjhR+ycUP$g#7Pq z@v(k%ajL$~YjtEp#BZk|8C7&yO--!E6pTIl1w3=`mV(@kCao#m3Af9QTE^{RnY-ob z?xn@{R9psqzr8**^ecdO#GrD9Qg6sCceAsK;nB5dWzvXwvg0)g?UA*EekdtgWzxsb zyNYpnTh*wl%3`PRh;BaoLv6*RrSot1kAZ^WF`;jaHE(Bk3!2o|s*DCO$TDD|0#n7B zG`D(`g&5ys2 zq*T;(Fj8XV#}$p)v@SAi^*w26=@3P|!z6<8cS+`;;xA6I)6@Bp?|dqqxn~mmGmZ%I zvDX09GGdMRlaK}^w`Nu_5uJ{}`#3zSji9BL@`+6V6h9~_4r(kMRlr$JM=a75s~_R0 zeN~V;ljh9tQwMb5BpNt_GmTye%ur!27I>V>je#4~Cx(i>AQQHfv`Tj*m2d3o9H0^E zMlB0AO&H;fX`^EGp!*sjc&KRMpAA3-e2OK4_T>p%SZFJ{5E}|EzK2vSHI!hF!wD*8Ise$FW!ImbA?-5BZSKx-l@wDm<`1Z)W*iR z#f%H9eXWt_L_ta5L{!CaS`&sskFuZCj}zI#?`8H;D7Amapks)#B_oC1#w!1ml~V`X z%kWjWCKk1`AYPg1NmGxi(3tp7l&Ce%MN4f;M_`-$j^Gv^vw?f&74m<1$eLLxl14--6uu`nU#N-8(hhM zc+x%amBV>KBcC>fToKMb4f4o(xVM!EQ>R8>Uqnwol=_0*D(j#az0r3?Rf9*>^ z*`Pv6OxyKM5XFgI2+)V5o**B)Pv>4xZSWpYrD| zVGfluDS1d3ZfHs(JiV9pHsxmjla4tv-B|HqRFwTkXQ_)gSa+HFCdnl&(3p`rF`y_H zTWOT2^^Y_8x~SGq4++hhXqk3J^?6CMu|vkXAwp87;-*xhoLS!8#WOhFf-LMa{Bg(**Ph(eCLoDzSX3xZ*(KU(%y$X76v#^K=)s;2=em;#6G8QaAbN%l6Xb46DaEQ3 z9Ag;Am^`Y4P!2suVt-PY6nnf@=^I~^blz<^R3v2<5pW!=Sh$9|n<-6@&JV-huCJ;&3RGa(2Z3Z_f)mh{Qbr6qQL^ZSNcYlr z-wBkWC4A4@e^enx_OB@3GqrR7teE9QniE)-%n5H%w?q?VvwaePx)rpu=~HiuM+5Xw zCk%~REJ7+t=m;A zJWZxMX7#UzjtarUd~s;)`@~kNn|(2Lrt-w3VSqnbI=>e%yg&-J#yFZQ>3N+PGjWhh zzsNu(7A||_2wHM-;et3YNHnvLb_A_7ejIA$Iu9iWTID#;pd3yFSWIL)8V)%q`3tQO z^-GT0vVl_V$gpm%OE-ZRq#%8J75LxMGE+qgH0rloC3K}ja^!5?&wCss%ky(WwD2N6 z`F{jp(J7azcgk|_o@&spn@RdxC1ALm+;rAeQJSjG@A{7`SvFGvX?;Gg?KQR;@dN9`z!t9 z!Df2xI$I@2m-77%t%ms1v>=n|r%-lF)0hm6!j^h*FsTmk*!~s?MiRV~D~`%9*7hXc zJ;xJ-wtw-A;=z%{<&|U@zV*WZaA{DIJ18(?ZCoD_qRDF%EHT$4Q0k+~J6t+5-~|~y z`kkxFejR4LY8O5D7h2xWo?7uRa%SMS%y->QSRRaLNb(x#rLcb}`L50qz=dRf91kUSL>I96C&I`sPk*c6zx z!jR7_m#nG{@`_zVm?c1;D+m1YrQ_Dcywzikns2oQgn|4G?k+k!M-)z7f!Ht0TE;WW zilGwNfZpdG4Br&vhvKQ=uI17;YB9Y_{tplCae?H*i*-g$t=!_X3601gxmg`w_A!F~ z666vJsz`kYI8ycT92Zf1x>GaS%VJH>iXOl3K1L=BuQzsJI*1m8mJAozNmd*v_vQ7d zW-TxqqA-etw(fuYQ-6w@Fo!#Sxf>#@ki$zPg&Efi!~u)LWKB=#y8A-T-1CvK9`xj8 z6i~ze`gqPI^aN6Wwb6Qhw!pve`&S4`$MaB&9Bq9eo$!yzbiRI3O;rK#@GPeH>PJF{ zd2v99ftjkOQ?>j~OHwP#_=d@?`rQWbbgF0f_H*|2c5diN!QmK350@%C8&*?;x$^$r z^`9u0(iJ-KueR1H&NoQifx5)b)Kuwi;6BEwLz`3fYhY;$kGWl39UlZq#LQ7Z=sT~v zl+BNb5UUoe5;hVog9B9R`pp43>-tzIhJ(U+wO?4r8JVOz9p&vyM}#60qdusQ)+4e2 zR@Gn0i`4YiCU4-Bn6soVF`vaLYJa&SS%VVk-}+LGPkMO6WvKDvSb5Ir%pE-mA-y4q zrQYZj?0J0Xm%f;Zo8?|K@jVaKIiqbUqSLFk7}NdwI)jcya&lD>PyV~68Y2YHQP`u5 z`{u@`Tpg7Bo5kN`tTOAf0%Hg!VwmQuPyb5Hm$K+XL}Pv~*c&`EAkg)R3RT(_DY_l@ zjOO}@4rzMq|JoG#x!VYz0tTJH8&SoEt~I{{(t z_s5992WR_hYW>&$9%uYvt$<3+HGj;+{-1~bXZatTl%;_?JqrWpPr~8PiqX!++1|yO zQAza|qp6*(vlFATi8`Z_g{KJ%{zJb*g!z=!v8JPv;XyV{|PB$VDTRe^Od%h9o|Ut=e6G4Ehc&Af?+oy^z%Skktl`C zyi5y4eW1S3Pd_A7nuZL0t#kFe=OpX=&npwMHwq15rj$L;k5W2%{*U)#0s)A>p^>+6F^Q zTIJK*(!0yc-oK~!hR)%MiI>va*-1H!ElVE{7gvYv_R^9MbiG$k-^Zs~ze;A`_Se}@ z=l9=kz7AVHZJI{$jg{9^Yn?8wUq2|HE^e;d-5sxIpPh{h4{8_J2WwA=8Ri7Xq?*J)hkJsZlH23t4|7E8vQmx^=cO!Jea|7k?R- zYPMo_Vu!i4G?aM}SDI=S^YDIo{(gV?fwtBV(+xO#mg~9h(a5>X zrDGc>d@k)S#8i3-JG#5Ow_o4kJBy9&yeb^X{bb4(sc{OV7knfHQkX@d9KhH0x)@ZA)|6PSGv|e0a4e70X1HVs$yzmy7!|Fya5cc^Kuc7SSoL96Q&U!GYG@2 z`St2s><2K4tG4-!fD0L zdjju`BBVuaVr}z9P=wNG{Y7D`(xZFQZFu7gb(+KVD}r)^(u?2=7EGwrvJ0@>ds<}5 z%7N6ym5wdkX;Amr;=$*M7oubH_EAM#l>Wnh#K})bW=WiGU>fk-t31{{`1e=;rC|kZ z%!Hw2i+aHl16XDgZP#$ZQ{Rfj2oQd;c z*a+S~L_$x@L64SA=oWr-J_KSzGZlKUzOn;I!YNHh(CRWo-9Jxlf^JuKFIL8$phAB6RCfaP! z9U8Mcm#TaR)10TA!>nk=x`{2$k%_CF8(G%7yUfhNuuF{T5V3HFJ1~6srupmrV6))snab$b>#Wao1)x3@z4)AKRDC!;-1Tmymsf(5p?8G#OY-BFs%* zrm}iiHykHx%gqLM_OCT(JF^x&Jj9)?bjqFew4}Txy2E(Xy|_a^e>9uJ-e`w`N^>$2 z1*jWRW^sB{ltr0**M8pW1DHppl6~eNT2VBdQ(i;^sKc~ErdO_j*J)K&4gXbcPIWWh z6VhOO5h0YNz%@%$uIUr#$kYr5Bd*N{B&yihvkl{jM37Yo%|Gg`zx-enMmgF(tij^Go_B>5Ihz zl}94G-G*@gIaE|Oy?|$OVS$-Yh%UG!C@YiW**hhXtjge~UPda!eYX>Ze<#Q0PlHW9%+Cf`Aj?HZ+ z?R#jjWyaD_nN{q(>YxniqeqbzX#-<4Mw!|R<+P@GXME}mfh4Jx=S)A%dRvDK&^ zk{5xoEy#)&+18|ksTuu9!OjdUA!@o1(a!m1NcR$RV2TCC$g6v#r)Z;8ZIDeKpgJ(5 z*Aj%@a5b%eKl}q-RpTM`5;ie0{~|@Q4ImwUCn1Z2{)=%(^q%l%e?1OhLacw<m(`1pO~Z+X<0-iuJUuOulcp~dcooI$(Xmi#I@?-0dQTvSLs`kGpysUTTt_I44`)_2fkr^9OEaDt5KWAz_jsZj2Be zWU3*>`d@%C;8@WRc*MW1;2^W!B|sn~;N+Rb%NRX{U*iM|LgmO2ft3xQNy~pbTHq?c}S>AUU2#wKzBSVcilCX_td=WFh@_A!0XJtLxX1^8MS>pCeN3 z0zw}#kO8RWNl=IAf&>DVgTB9j({`=k%EP6fk{N$l;viWO_=xmBA`M_UJ@d0b{CvrDz`rs>T>!Z`tCwN7nQf*+eo_IcIQ=YfdCBg7YR|whAg+!S!6?8 zhE3xmgI>T_&Bybr`N_~TCEp<&DKZ!R?ama4R1FhKz*L>{v5Xqsp#;4)a+Epbq$5%7 z53O7T69`T9uSPVS`q3&MGF21syPh7L0*qL-+;{&f11Y|mrked&{SIdsQc-%QYSx79 zPh%VUKGQaYq36tpEba2gYaL{}*V<2*RW)31gTB+FX@FXA+<^LNohMd$`$EY>an&yA z-%1P4Uo3Kj^RiZLSUQs>zP} zSz4$t>SIcA^0j`smIRN&`vP*5c46TYaS!as*tY0uq9r^P-BF_fGeD=3OjTfCB`AXx#0gveMA8v66%~;?2&9 zzD0;wQQ_XiL%d4za{&Cs%fJR({2w5_!MOT$8XNZ@4$l`t#$KifoE_kC(U$ts~C0Pz{-zFddeqdyPawehG?i+f_|O%Nzsp zH&Drc8cj56v2<6{(hlZ+pD)n}rW;9J@OK|cND6lJ7!gbHjP2GTuF+obLhTFmjlEMq zX+QQ`lOXM1BCym){rlZCGaB$3B4m}rq!(aWpl)K5UzXIFM^nFh#@apyEMDI39A5|7 zOUXjyTon?6+{q)=;UB&75A`*nQ709sD4gkG=7NB94W~O}=|+jROvrER01@0G(V~oD z_1Re{RSK{z1l~{doJjaVdtAjSaV8k@0c7x{Ad(=tXHZ7uo`SS!*v2TYva{xBwrxy9 z%u|2hoQ>rnkr5V}7-UuEsQ2%efo+zo1OW*}nBLP!Tf*eC?S_!=%G}6Qa@}wetq3ZN zu808=IAth;5EN5z#dQYcPOgI%IFJf+>TP&&ViPKP)Lu0dzld!Xsll1qBh?LR6dmd<6cIDj=dlNsiF@|EfTCZPMxEYlSBe!&ZvcG-d#fQa9Qy3}h@5taNE6<6ArCj=EY7;zS%bcn48 z=>?v~DUKq{R9wG)ToZ*p#Z|<u& z6lK<#MM_r6Mjm1l6+uJggIAEAZK1E_aV9IEi4zMhTRxy=PsUbg4!|l@wyi)?i2x^- z@)QrJc@GS?^Bk_v-B>}IfdW6KYey5D7_}fOVJT-jGb%uq3vZhMG5Unr6 zt4PoUNk&M)Kte<#Ss`h-S>qS8ytP!tQ&F+0^49bgf$T5FSVE@2&MBx2KS!w1^@yB1 zfyF%Bv5G#_;>El8(Fd*=NY^&>^=7%()!SWa8R_j`S}(%zpiW239#G`PIbkS^nUijk z=z;&T%nDz>N2N{q3f%eQ;SWw>W;^LAp&;JDu| zmU7W_qPd^qx!_zXxPVB`|E8)&DW#nLOV_Iwx3d zfQMN-znm~5aD^kVg7t;snG)0Dl3E)$Wke*2!d7PoS{i9g4Gf?tv1!O;dE_(3;2)Xf zCyD+gt1lWpdtm7yI6#N!A`p-B4~;kwsC*nft*HUe3z2n8&K%*_%u8#kNGo9Tjm&zZ zwP8wHer}JgYI#pDMS*#xf&iafLh(z=rY$k^@n6ZpK;Y~WxDzy-rR_1Jbnvo66nVv?cnoLyn6q$k)VdOmC zUr_{KZCzB;-*?`}L?IhtPa$@Pk5Nt6Q=y&cWGe0&@>oP#yy64-Tcv7v6+6lb$_qEw$mr>rir zeQs!K1~-YA+ardGLsG01En81otA^U&%Q7>em+llHHab^eU}}t+)ZiT{5RR@Wo{zDH z?VaJb{QS9$U1_~N*$^12VhD+Or3PRtl^`FdFdzseu+VedD(tz5j0jfCNc*YYs3<9D zP=vWOoKvP3J$joyQD_Xj(6^%~=Lr$aX08x}9@5Rg85Ix01uSAgEGBgStvv_nVi}j7 z%p5K(H^tuOamc*w8S=d&zk;7|cb17#=%-bWR**F5*vQeO13h1jJ{<;9FT8Tb3Hsb+ zVXgEAYzeFTb&cF;V2$0azE}O0DeXW+A&SB`w$>E(UJqX@sz9!_Sy<<&w5c4~8bwia z`2J$(;p%Gk@eT5`-pjrM{q|UvSpY^Al1`a?ELCEXR!uhIRR%nJJP;l3Aic+s( zT95fO?H0coWXBiaS^_kH`rd1^Cq+cd8uAiEe2iT*SSm%9R5s9`o~(}U#s=0%W^P{V zTPiFUQL}>sH^su^)$c(fK#0XV-xbOHia?;K%a&T4`>oJ`6C>6^K=P{=jEPKEU29w_ z--5s+r`+MzH-G2)>t`m~yAg7GlR?K-Y$ltG&86`DKEGf>HQdGRpQoF5CdMuC zH5%>yG{D?B4uhH>H?8$5( zaa2#_(yLkz@aEs7KXdkYS>`WG8v2{=a&L$~OO)C zY)K>;9dXOO)(ko)E3pVEH~78ikLKrQS16?H^UuvGY%AOL#QZ$AXNyl)Hg~U$&D7|u zjK-+)R(ufFy=bsw!2c95;d(@b%fX^IaA6o^tx-&)WJA4_w8v6t&BcmX6ZAc5sG)kn z1X(}`$#hvVrmsF83u7%(>13-Br>o-Iq*X(G%AGcYyOb<#Q4w_%;eJR#c@wMxsd`4L ziGna`s4z^)Mz}0ZcRqD{yT?ni?LTZa;q8%^U*1ybBx9pB5Wh%nDyzJuuBj<>Xt{vh z#ucAgV6_BRWmQ|n5f5y_i?Y#GGNCA)0f05$CA}5pVG=;rTH@Cd?}-k#QN=d2V@>Ht zRfbw=BECHmN{~oburaYf6NKU<2{Is15Ib%@!9d?)%CO$sF3ulR9$Gl5K;b$D|udsZ>@gNH2Vok7YPr^;*uJj*aOU>fz|h z7R0l770ffcjD-26!*>a{V=h<_mi){~!@;1k&hOTsu`$1CQd{nV}@$QuL$K|rN^TAKUHdN-D32JV1Zdkbi zQ&$+#rBpa{+x%7g$Jtw`9$xjq+8XtyO+13L{LiqR#0A~ldv?@`wTMNt`ar3q9sw2V zne>tzv!~fxB3Z!>_!VkVvIQFjwSO&{)!72&gR@ABa+nxgM%AQ{i7cH((Xie$N$dv8 zH<5I>a*FSI{GCMGi=_9Xl}dWiOdwj1sQ>pa)X$b03}=P_hw4j-wKl3B#~Fl~$$8q8 z?grYaYBxQOziABQ8E#MDc}34__$A4hqCqafzyT~fKguE_*NyZ_t5_N6=FVHFNyBc+ zOxz!WJ<XH#uGGT1`k3tBtBuVE!627l)*Z z$KIDm6pZbmdYBZ?SfS(mk2;L1p&+)Jl3bed!K|UVI@F9r8-FIR%`m$A@A*g>Uf7kX zEx-KNn&rE#(HHCdLbtXa(fk7Cj}UkUhW~|=6n{AFdEp8;msb0q43|u+eMbhW_x!!n zc-)A%qp_hm{@1ArQ>^W@*PEs0FUzUZ!<`m{B8%(Q=XA8hogz7{ih6QIHToChqyu=i z3$%$m|2SL82|Ab;(_K3mlX*@43adA&PDOE5M;Z0fk_Tl}nEN$NX#Uy_M$Rd=g(;UL z9t)iS_!Vr6zg-DQL@Mo4or;D>mEZ4ICxrEkeuKGgn5DI?Z*gc<`z)3nASX&tV7aHmS^6ihs zkLc0*NAxK0e}VeHnW$o=IoS;+G@lza?W5wlkRtyk;#mUW->r4?QZoL;$}+Z|iMlE4 z=~uI=3tv7f7QFh_a*YWb)7C@43&iYYzQbHYu$N z%uW^1ae169A$qg2eirTu(P2NW!7$v#(4^qPJW#LLT^nM%@2WZVN*oMBctwpe_y#EK z(Q?r~mC$7Hg!pnXm4tZgzX_LJYv#15Y$R@4$n4G9m{7V3cXWQ!UK~g*LmfC@>+dy;@H-Q_SJa|LGK>2CQYRnLQ4fvv9XvY zH+C-?OJeY2C2thZuAWYgs>>{__l(+@B}Dnj?j8n%F-j510=VK5xbAS1H@H68I%M}a zaN-ILaP-KSa75hLE{7}tIQLbEbGHcmBLg{zqvdzvZ52(G0Wk@`(abVmQ3f$79GjU< zXeOyjqbn1|=wX6|`3h3B(Ui+DjW=7_tsRz6lbVQVtskycEcz)%>z39zl$k6$miQb7 zAU@}quEZ=B0c0;%^gn@Y%Y1nyE*q$?KmwW!5;5s2o<1;F0w0}I)Itmx$~=$B%AgCA zLaCA{oJvM3YR1b26jX=l=6PnOv%gZf@~WuFA{rX4q9m4nz}QAEkvK8G1qw62VtU(x!3e)NW%< zWW#i8Yo|(~cY1Z@WkSovL{$;a^c{tcp}84P)95%2<1*O~-)9&$;Cg=h#KP*F(#{7H~I z^u7~3gQ!b61MjPu=cSR7s-1vya_O(T5p?e9xt3SaUUIWYZ|6$&P)U6oYWWIn#g`!a zUId;jw&ICCVap<%cK{Gh^D>No7&!89%bofFGKUU~xzZMl#XrYhjnm*LjR4)n?*IPy z;>ODHBn7ZrCvDkDO#=%$nX+|SpJtk^aT3);LMS(nrM#*1h`L@}*m!2ox!keSu1G|3 zXn16*X>Y(FG3sQg_-3wHTy6WLYPJ$LxY^IbRCslCpCT|TE!QGEXI#r><*Wr3b=pxL z9FoZznoSDeH|zRc4qY9|ZvM*chyC>FYrc9C99+Az2jKMLjw)$-!P!uax|qU zsEa^SDo&$v1VyqKy4@`y!-WtJR#t|^%GV7|hWkYs#D_K{9|$DhG-dM|;XhmOJ@;ZWl{j7Tn1JzO@+FM zDO%8lv$R6Qj|8BIho%7G3P*zVwr2=oB?7_-S1pZpF<>JaM}qP;|J9OtIomtgr?HtU zGwcP!rj!Rp#nez9daZs{0n7j&#UxB2B?$gkw%RmvbGI{^8xx8Yg>*U)6N(`rU^Ejc z!L?o&!Wn=|NATP5<@{D;MKS*xtO^0xWgq|k2_83#vA|Js7c}9hiJ7i~TtpuZ+j~_? z^1VaDa?UfR|H&m($Osyv5k)!&BpV0f1l55(?SAxEV#gmKc#B3fBsiF4+b}_Tx-2+V z*w_vVLJ~Vv^_A-BW6!=oiuhhAdsnb307D~OT^RHqnYO;a zN?eR|o!HC8#4{Pg5uKR);a=nQ`v0I7nFuB!+K8X?{_>T{bBtu2o7ChnZp9?XE8-rP~abuhF6LYe4 z=&CCv;D*8uW?Rt195#y2HrZy(XtD9$T4a$Is-y+lbVJ_LZAPjeGu(#cPG+Bk{ld?_c}Na%mftJ{;mLW` zv^awo3_{)Qmz-BA_7pb_f1im{y}|nZ()q98qb$zOeY6FGRb8_H0UHtO^&!A}^wl?a zU+K*kDb+Bix0^~)s?XQx)cNJo1flRh8^4590m84+8_%zf{~R&;&mo?&gM~(AULYXn zKp-Ho|BG`+*ucrc=zn^r{Y>+0WotF!kNnBrd82hb4Z-=qE4bL^djLzw<1obu#xW<5 zOta@Af+@<&1Hu9NrO5Sfr@JS)+X0!IAIFOVuSHlt+vlQYe0*HnUsjcqo@j&0kvZ98ci+jf&3+uE^h?cn4$&egd-W2`@5u8TG1eCPVS z&*M*&`}}!wzkQOu^|?1Mxb+hJ(fzhF`6SrYe)oKc{dJ0Y*_}M&1vlz%dA>7lZF;`l z1J8!1_4q#zr`|c`d%Zs%a^>@T{5~FD??^ZdbJ&eDAUclT1h zVwdXAiPHC{X@=HWcfBsZm($5Rq7RR+(VVw4b4EQuFz6&4yVv{i^j=)Q2mC%?%Z{I~ zlWUjP?e+e45Uu=S!t@F&pF-e z?dJ7(RGaVnd3gT@JUL7EfBWb>lGpcnKffFM;zx;M<#SYdP?3 zVXdCe)A_^Me5Lv4Mfg!|)8W>~!Tr6r+}T-a@1jYs_iO3=xO!>nR*zT7^k$dIn!neB zj>^Z^3%(w3+JD^NFS6<%xlil&dOp0h3U<8&*riKZ-CX$#r+B~a-Zyr}%Rdo)p5LE< zhM$P^Uw-v=^yU-!HRt=eKFt<(>R&!x@eA<#xV)b4r00KmSOwpdYJ0dq@3)+#{vDqO zN9v{Kf3xiF&!@L~jgYdAovB~X-GzIGr}KQ7BJK5tiuC+H&(Dsw_&&8Ny>Bj1SH zULOy7`Me)QqIrBj&lidEd(G_it)qJHTzkAfhL7wAHM^b)i+#~Uy6$ErV1N5MeeAU6 zZ!A;QZoa)0wr;$Q{&r^ZkIWQ&+1*J8AGtque(c={`uq5t_4b&aogJB-#eYU0JH1{J z)wjA|<`90~UYb9>8NE8^eSF+c&o8>9;(g}U2po>5+i!v&%+Elu?j&m`{UC`?mlwsk z_*bQehorR16t)((2glQSnn~kH+noEGc3Izf*f-y(`l|McSAbxt>FO@{-R13a6iW9b zr8Q-)JVz-H;JT_TRa$IM_MOTn1#&Hu(YK0^e|#RY@PsOMAzp_=kwRk zRZx}8V(=c`2~_vKo%WYL5#|zZeFD?5Mbd+3q(04NJqXpEWz>n{#k~1SY?m%6CZ~*b zcU^70_}NN)^BN?V9w8#7_1-&KaF=EjOkj>mWXta<>VDwTtv;%D9S>6u)=cl>2zC{xZs|VtiFjJddf_T_4FfYa4aF^)8nZvR*fTHzDQ(;I1w$RpIH%yhaQy^R(i= zP!fu=>dNT+O{~#QyWU>6jaGaMg|=G52tlajSL;p_vI4U8V)-A2TuWt3IL2t)X=Q0G zv@Pw(U!0V02AdrlVcs34ypx&;f4lFh zT=YxN+1ZF-8O%Ub&52TI>RzIYcc_A*Icj9cu|XXJI_Q2Dr5gw$rsEbI%!vQ{cKD%H zY)NB~J#>1ZZ}$8)a2RI6Oc8d`r?VhLHie%wt=)BGvLa^-UER@Z^ll2AGfxQ(s$n)5YJG+i!Kb#NK~N+VAB)Jw@J?+2b!-!rZuldStFvAC{rq;DCWIC-2m z9Q5A~U^%q}SL&i}F!XHW!AvU;u5hAfr40|O`O|9?lH=-j%5;v4l$TsmGD-lBq)8bu zya(N|wXX5fUl=QO#4>PXmh*<-;oZLQxLB0Cu@H!}pG>O7H$ri>cvhAjq@I#fBs?hP z`4f+<&+W&5N1j*5-UJhr&?Sm^;cMx0cZ>OaIGM_&rc7FBZbL{12g{RmE$$}W$f;97 znoX?lJ;J&J#(gD zp_ueNRxzRGl|5)StBTV0y5vZgij$yHyJMd{*Ps1?s|RphGSK!jS{<}f}@Pq&cnk*R*{ zP3zZHe1}RB)X=)71D*d-<1+5F|#k_94fxIrWP>_A3zm0D8{ z6Aq*56*ct4^4Ec2v^>5t9;<)<;ThL%$4|9EBzx+bnKVzeEd2`YAW_YZkM61T^twNT zY}(`_jo`UD>&QY%gY#ZesB!G2LUH;&qw!KtfF;4pTNq2HRXOz?910H^P((5>%QoTL zV3b0q)h=pB0#NXaX<&WJ+Kb|*#LbFAp;=PqhTYUOBo4VF`9Qj0sUSNKoUyIN8a&Y&K^1|fd$MO$num* zw#CYhk(5R~bP9Hz-?DH`QGSfXaF(zhzXB1^T+wUQn3mg3$bi<}zDu37MN6G?){@)g zpgtn>RKy)lRN7E*ba7I3*25ad@Uyj7j7>VC?wl7Hx^>>N)J)% zjkph%YX8RXYW98DzMIhzRuf>e6RZ#iH>{(WWz( zIf$cQWPb_qQq!rTPG%3MAnA5qbCN2!^;-=`UvAY|{@jiCYynwGoYnJJd2>Y4`t}$@ zx!L9nv;Ct47&3ASpM+5ZInv5(AuGygR>vE(?>nq9_fum@!N0G@k!w6sp{ai5QQx?w zcB?g)Z+Azn$%q5Oh*X1W3OYhuviY{(hBh|@KNn8^PRcuvbZACR8!_FgXP;ia6KxQH4kJMGw@0lXacLZRD zz#rjR1tt39^nzg)x_MEV++#B@aPtLSxz{W{xMDOSIKLhP<>RA|T%*_PEs+1Z91uQJ z91~a>c$pE>5A&hAP&XAMaU(sa1KsUjMPG#~T4HnExcwMA)gSgK4pLo;-~rCB1jDY) zd_*w((a=Ho$?4Hwi}WMR!{88{EwRnVCOOc6H4gi%YPB`X>zQ`}-uZySMAiW^m@nwS znqxhQW!u`D^pi|tNLrN==pmA$rw@hz1z~57*pYcHum9%jx})NZXwtFnsjWV9e{0;O zT^xl}khId^-R^vdD2>+K1ti}j4i%N@t1jD*B^4?~;nal$A&1^Tv zRrAs+$YSa3)$!Z zKg5PgXy0|bl9YQx*!0Azzp~eQwe=cZyYz7H;r~27?tAs!mQq<9{(38zg>&BXg_iSU zFZ}F%daL>|`YDAGzDVEo{b?@@p-ioFj_G6Y5Np|^7j+BCWbzESwT>5s1Is7?rxV7# zs#H!r`il@>Ev^9L0Zhn%H*=-#O{E8bg1kpdjJKy{;t2VB`<%;@8v;Pi0XIp zH(QoojX9o{2D(7BshI&T(8g-=acm^uUrCcVR+wg8|EoYa25QHDLWuooR@-ZRBRnQ< zOuNr?lXQvBs61ThD4~@Bs$Uz7@^>PqG zGfPcCTHo~ld5C$CsQ*N{Hn!*QN0X&KE5H8qOqo@wc3(fqSdVu<-ATt5)t{?Z?6U#ADIr@h>V(@>!}WVLLR~iAx@L3ZD`ai_75KvTgzG-2d8eHjf4#D! ztF2ihkVvOJfXl&6xcF;L)EG`*tWvpaXy#CK(XMDoNKBb)_Ky{w=#=O~QFWr45W4$5 zQA|?N&KDe|Way)^)h1i;4~#_JD)P5ypm577f}VuC8`B7rA34W1np*BGt5k*^b11yo zeuCd|f1E*zUP&Jx3)nR_wwHE}@N^LvSOcln-z%_FF7r4R5R!N<#v{kG4nUBQW4k9H zF)pUVq0^&9cEuH&p4vWf7ULRn)se5z zpM+2Kua;*{GEE$DoTXX}lQ(mGyTbEMa?qyU*(x{~VJ@~T!A$vlBrHop6nYp9|3uNE zKIkvS5jHBDFhLCk77mxlHnT#T29?{zu=WRVpq5bAEk{FcS%3&$@h1g_d9#*=?PrT$ z%{I3Y`m+x|JaeF{X+4>{6PgnBMb(xSopqzNNyGatSL}x+AHsTVmD|5y5 zev`$YSJJUewR}N52y#MBAua==6e(Fp=%s3&wvWy;pk06zv-ZwDxf?_DW@R9sg7nmg zvpaHC(rTN{m@g{e*~vTcR3e@dt=1tZTrwmvC|{c{pkUUpDsE=2zKs?J+OM~GHJ}eA zLs3>O<{1{Q;spFWmz23WCjvWIFBAjtF)Ly z(!ZMug7f+U%%;YxI@!}@Q_5U_Q`c%Cm7bIDix0`C{JRr|FS5W(B~fZY6~;G>tc>`N zpI^tEKp!A}$VmiwBNiz5Yf8Cm&N-)2z^5h(SQ4D~7;e%3uU3%c@hk5?m~Mf?9jwaH zy&6LZFEL@a_;?&v5}q-VntA;cB_v^SDdMCeA1n3c*P^WomzjP;I=i1j;+Z}`HO4uH4neaoUh`NYw<~hx{Ky+XKO4nlw;NBZ z;Vz>6kg0Coj&2Mi7`Y~>Pl&uP0@mN3uGA7MZ#+_Q?QTwXN3-h=ks!<^9w`^2rUUX& zaLQ`_U?MkrI1DITjULxmLyz;W!7(xkme!m z7PsM|{UHF9>=A1|fpyzTOnJtf5y%i@y}30sP=FPndSp)WnMr-ti_u;U_j~pe*XkFR z+j{CDbK-{=3hITaxvaZN#_)2{`$A@wZ1L;lVZTli<&~3Q6vIhs;5x7dJua5C?2sLL z1hk<=5yIw8Wk{(cWKw$t!!R2#->uG?v{RO7{bL@#f^*x|z~HJ^E`P2{Oqf&8k^Vkh zE3rUv1YfEgwQRH*M8Vl%EDQ1D5DInSn}Bcc*X1X_fc`hG(ciZ=V;m0V>bzl*tKaaN znQ0xeG*GvHct zd3@6P7Kf;N_DW@xX2r8`Z z^vX{zru`toK&sAGJX;OrSja`M`C(Zh4;|0aI&NEj$;)8rJmPvEXK7{!Aqc;`LP;&g z><9Qg$vE6r8V^;rkU&pWVMZ%O)M@DO9-GClKuJdPd1+;euZI$`3J#mzjGAn5AUfQXK#i~#Aq&8 z?p;u#+lr)G9UgG>p@GbPOhiTYbA)y{MFU@c8NKt$9FP0*b3bsFWr(YXI2^e&!2j2m+LLs_1XFXXK+W)kw`x%lsWpvdQ7DlglC^pcMxt?RYhQ1(@CouiSSM+t z+m0<5V-i+Nb}5BQA{_+?k7T%D*&!LHM+DyQsk+rnmQ_pK0MbEAF$QXfZ)3a7jl)#D zkI(~;^Cq;8YcUiAzCo1uPiVv4M8hEG`B`$+Z$=~ntR4XuDP3RW!!t>L_gxo!xqa=n z%SIXHr~yV3HZ2ml0l2o64#13$dzMvB2}3|D$gq(n`F}*&pIZW_Pl!AEe~6xr{s*tpa=lh4aMehwj(>!aE)&8D z9`PQtu21$}HHxuG3tMR=VVastK$a*xGd`~zuXD-A!rk_;cd-hE==+rWi!PgZ7e%H^ zzL_J0z-L1OsQdX3DBVyN&SVzpKmn0y*Z7AeTMd9q-XAA(j2^RC2(lZ*dZ%A_6u+Y{t(NnKIz4Z0hrOt}7UFKI1u9 zd71YS2mT~XuHGZJ`a4GU3-j4oj$<^*RX=Is1&`)B8sYnp*kcKlR7)j^_o?yQejxe4 zO5Cr0LQQ|_zSahJxChSbqUP`B&bIABiq~!P^5lHWran;;t04Qt_O3(90uRKg^C2E zybYq+Nvfdq2Q_j6(`dBm46_C`_FOanWl)Zpb2a6J=G&9Eax_U`;%zIWVL`~qr)^D* zh()eBXV|p21(@zTw2^wg`pvv8P4en<*!xkXl;S=T6j4D|G$tZt(69Ef#h4^Ex;~VL z)@&AJi^JYdikb&evWj3u^g?6GHXxE^?5% zvRwoi`SFp%a)mgKn>0%G%xYMt*i;e+TXTP5>DPo2^lz6k-}g+-+~YH)qKz__83uCd z^i%TM1eogl?-ocOh$P4|Q0?{I;kj-?70E=XUs6i0nIEIW+jy`g7)_f3Mby$MY%;nQ z2y;UAa*F?ccfv>CRh2P5TeZci0?ie$o1xv80nSg*m@GxSLz|F06HyUDR;@RULYC=R z+~z1R#$yja(k0QKfBjyk#Q#vMdl=X3H$2PQ*%-K``A7b&8E`f`e9t!M*B(iNGkK?O z2c0nDQ7A3YZ2MyEbqGX@$ldz_<9T_@l||sKg|NCa3##~kJJ`t!$f6?YfMtVn<`PFbbSh@;i#$c)Q zQDW;f^1RPfYTF1yVRfL~6OXGlrq}eKLH`cUhtb4S2AK^r7tzd!=6qv9f&F(iJ$y9R z4qfg_S@zEsnHo)%kXAL7JHNO{Z98GYW_Ykp4lcHxnp%ns3)bb9Fcs|qrutZ@<1!Mj zDn!p2^>*e!3zpKhMJij)3cp%HbiL@ZzSFfMqp9jsZB9R@>|rzfr|581w53j!(KF{N zvg1bnpBJCR=!Y$@i7|XJ@FBnW^?z>3#=#V0e&vIh&*cRzGW2wuRqVOl z>qpAVer!Kyx=`L{QQj3r{EN1=Pvw}}Mxb5boc9M50xd#F&+(#rQr*&_8()FN(A7U! z&^klCg5qn)tzBgRuskg6Iil*hkMVvb9hIH0mD-DnFn@@6XIONaLsK~Rt`a}Y-47lN zS0s8UGM~VXtyCxx2;7diwNyr9k?9$@qOL+zsZ699D@2)Tb0npZH2!A>u-HJf&DSC!q z5`cM1EkD_||DoJCT%$i})i^QI4b5Pt+_Aqe@Fy{MM#E23`2gHVf!~i$&dt!{_&Q4B z5`HO0aq-|}(~pT}ag0(8l)w6})eCtyka&fV)(c494ddY(dqiT`%GaR?skq4YB?cD{ znyctw9$mc*N~wl{gi0LgPM46n_UD?PHp)a21$ge{33A0r@ufQP^7tJ92nW6HoN*bP zyb~<{aAno)wc?&^VrJ(9%bq5fvvL;{e~Gt&d8_uJ`&%&~;h67Rc9Z0-T>~eKFw#)B zd%x%G0K_KPvJp6N&$A1@NY~CmPfwu8da@ITLNlsX^L#Iv z+IMfha?Bg4y!cIxUYjp#LiN1uPxVQ>1D2Uxf@m$)o#evFVtpN%ZI_bC%akQSujHYQZG1X(MRG<0TK505`|pDQk{C1J2oCHVmZuV*@>egq5LX0PqQz_gUhz(;Zh&Z*Fo|qm_|9C~G}R zBPpLxe3jUqA*grBv(K^rw>3p(h{=!epLq-g{MCiJ)a5`T-aA*=6Ek-JbN0vgJ7>4l zm0r8i31_xhYP6OE=_3Je`9eBa@ic` z+VFijf4Rm(#GnrqgDL9$t*}R!^Fa@hm(ng}5My2iNMOsz8gW8XdP9H}XSB=#RVmbt zWg4m#-p`+<4!TuDad2B5*ZR6x0-FpzB>LhA=|dzd$8CBcs+LzA?~An#L4$g=c5nw^N5zOK>BV$@;Xk3=p4^fkrlvpvuwrv#Ljb03+<( z@%qu@`5UU-ej+A{UZH)S?60EolHFO800cS~+y+ZX$kx_%b&CFh^i2qA;FIRs(VROc zOq@eZTjuh#T_Dl2#9K#ARx%X}ik2M$v^cNEtMPnBOYH8#b96yS`+F*;e8zk22vHvw z`@gW~4nRD{k^6eY1}*+;ghha1-r5MdIKtuWUCO^C1W7RQJ+$j&JH=6h7Jn*?2kVg- z^3`9p+9pHhV^2W)0gmLg4}{G`3mo$-0Q4+O-+#|sArY8KXrY{fpi5TpWGL2nc$3A6 z700E}RU>))VEsSdROZO|r2lr;eHkisUxv{)^bpqnLg8}Z{R6<2cqJw+e;>N-Yos_*on!P=c|Oc6hBtuY-1TVrXMWwm zq)?r}%SQ~|LPgPXkHC7!dq2$~%tqOxX&s5gLJlkuOHXL85At=nx<4uG%zvNnZuQum ze;Sjb;I6UisK`vR_Ni)`x2hqdQ0+qs-+&}0svc}W;Lk0QL;p#~J7Us8|D~jGR=Na; zH>FtHsWoNlFt?f>?;TGwF9Akwow-xTji_^1yCss`UNm1$C#o=?m z;J-1pTS{~NqOZ8E#UzRrl`-ip~k)99x-JsJAjKgMe`|CAUor%(W zPs0Z$m!w0&`LLVUNZ|$zT7bYEOe}NuQ8?Y>bq(~oS}yI(pXEDaIfxFv&^i`y0*69q z(A*~FLr;D$!9%wSsOim!ag@-ct~4Q)t%O{7AIH%qJFDyXT-db zi#IJMCYR$e2aJ(UxO7nZZ$7==p!vUTU%nPjl*JkU)l$}%@;Xh?SN+=nLxf4Ss&mHR zQjihBz+8q3R?z01^J$>vMxfW1g#FqVEBqx~CB>Tny*G8tm+VjU{~%7go9H{E<3qs9{Oo^}?5kFuM>iQ8~e2Za_~$SZe_B!75E z;(mHU^0haOa_cMAz2(-S%9x~5dgE{Gu}EMu79OKhoys~Tkw8Tzt58EM;*|d|DRL>` z+C3)};0Ox-Cr_x5T#RQE128L{vZBIS(^mP%VT@ZvAB2OGZUU)R$Z8PMI338tyju(- zw^Ce2b_ld7$})cLoXpUb$L!aG+vLS*PpJyj@k+VI@W`lpHVn;hNEXz)P1 zrGJUCN#g*cx8sv?&a<;hH!nzYq*Q`a6VhYtg&j9Wdbgf+-slJiEaRrs*a!`^nrmB_ zD%9|obr&m$m>7AdA#_r$S205F`9HYIEZ9+tX?C4|@F!8h+%SmlY z_8lirzv+OqRG6@UBbUQeDGU7=KJ;HRT2Z$C8_*-%z)TaIt_v7RQ`v;68n9IPzX zu1I_@h~6DcXwnh7l#W>KH#(EFa<53O9t&N7wn`QO>0UX8?6s1SN7|~@w6?jVoS-Hh zQzUAcJsi?3%&o3@=2TQNW$4p6f+&_o>IAT=4%Gv~1u9;UdonaZ_FFeJImQED*dD3> z%TX}GJ6KH%!`Jc^1%mB5`%;McS99ZjLrcqwRqOIvT^hvT=Lq6iX9sdYkhg-NRazbI zc0tKQge%-@Os-P3=Pr@RxzQGoV?XS#sC*CYwk??_qMg)#7NL%ZploXjIsy z%E~{?9~7+LDaD+&{wW@7M}UHci?&w=`=zSqF=-STwvYbIu(nU%5W;>hGBwv*IQY+N z0=?4lq>i8L@;znVDb3BLmqZ4_J;mmxLlmoBmft<-Je25?EXxyRQ=MWyW$3|%g; zkdkPsr5nIJUU$}oAGr{H)0E-FNUt zWT5!iM7+I^MMqttdl~=5QszG#jg8^UfOjlF5hF-mO+wo(h8#RG8xb=BvY^8s)nfz0m~pL^rNZ1k|G&g_+S3CYPx79Rkr6@8NFH7Y5BN!KOjal5*H7U@%%p6^V);&`4=pCp{)@bbz_Vys zIKWfX--A5?c#hYgryMkkVjs!g{$}_Hh8CC@&uw4=h`8NpW?P%)`zqpFHiDn&@T9n= zewU}pyGlLTl{_?}B!lr758}dd#Z>E5XbSBbE+e^ zThb~OPWr{(J79S0^bH2;%x;2e=Vq`ie&_YUgN~cd(&7^L_Vm&RIVjUJOw&s;iCYyO zlA2d8`m*24Ff^G(#zV2z{hnbQ2PnKkxV2NDjapOwLmpU9Sws5o!cJ98X+UL<>nUq~e0zMmRN5 z41BE7SSH3=Ks9y+=A3X3gPHZbLR_D0yGl}Jo-QbZn>35wr-FqNdNwmmJ<~2)?C%l`!xSYWqxM& z1pUKlnurZAjk8AO?crXm=F(={4JDuo=g#dOnx|bJDZw);2QRok3k9Q^$@-rE1pkeVqRuvd%51}}s2rO|OtEwSur0zfY83S@#fSJX*M>UF zvuK-<;2UE=9^PDorb%*JTm05+2o~QvQMo3AXWn~W<~fwF?&qfo3nQhEH4x+^)le7| zB5F3L_3`z;O$NsDb9eV7u0_zd-Aa=Q{)lO6>w31B=2m^iH`R}Dv1|=FVlDpgZg>E9 zME|~#C`X2)lM&wH7HS%jd}ELBzDpF2?$LPF5o@~2F}8T}k~^vRM+T-B${rmaaF>ZY zvwSF71$A<9lr5LXq0qBw0G;3{X|EWRIWx>}Uob}@<{}#&uz#ZCU_ZO9WqF&XQ0vx! zUMX$YevYi6%*6vj8<)S6oYHr(e2REuk|8hxOAeq;O%`8mx4JJW+B)7TMllf=iX_(K;cz3^d9UA~?;FZAO6N29CT zS;=tk%?9pty1B#;D`)Yz$%2Sv3-LHR{pY_Rs%;0(CDbu44xzt>n&}?WSh`K;Zn6;U zqGdlt-mAVOMIgD&J(N}rp1gbx-MoA(|83_GOwKlfzz>?3?p4kI_U+en)^=lLTh`8F z7Xpb@N3ImZ@}4wM1crb5_TbBt)ClLVc(@?eMk1#a>ZVOawJyoyB`y4;uE&b(7&|PT zA1%@ZRrI46-2&|k-YFnl_FG2^emw2yOfQVA*aHX1n2f2$HCk1oHic?Iwf#~PI#pae2@Ldsr^`gqGzg*9;3}qEJjsDUNbJ-PK zQzSd5xI=bK9DJ3kqh1pUF08uKpmrc{_T08JS?LXc@r~%rJS9q%fmO_~U zJ0%di^vo1*Lp8OH7%ZV@psvL3UNwvJJ0JMn&4%CU3rn*MlTDC#y!->zNO2>WlYgzD z58fkWpX+if(T21=77N%7kaman)!eWQV@v zm?Wds&3PCFHSRZG{W zRB{PQpiWp65zx}$!brb`$hZkgIwJ%!j+PeoUJPJq65Od)?h9k+Xb@0UybN88mAC|} z8J-MraTJoWu1{kBat-5@Ko)VT@^&;{J1wQ03oEf*IPk1z$BAldcMQ>=Vz>C(_<>9*VA&EM+s>qPhP`7BfyS2wt#M6vJKn&;w`I| zE6~>Yk9m%fMx-$!{C;qDN2;ImA$2;w+n^|RJ5DqaeI|Zr{#4K%=lzjH$j@l>&PNOe zv$(s1SxrBzv!DHaFHGFSH-7H?tg>-IGH5QuL}oqhNRfIh!ozPQ*+3eGbXc1a^!TtV zzlFoo^Mll;SWmaK9~PU;YLb_ZZCA>>h=<2RVHd2^mkdSi)p2*W^)}KxSlHAQKfi2c z?wYoo^X2GR)DrVu2KVfp{g~gk`U$gYc)1jX#fBkc$oH)%nty0p-CHmL#x$xn4O&Z>JT8dKyb-4h><&f zlYBh1T!Qw@OCEr-bb|MAIyYh|E&M`iJ1=BLl-4Z39~BD}PrTIjQpw5aLVNX?@Ev$& zC9NGNmfQe(9Qn&8w#~8crC#BDKWMEk1?-mryw`iBV-($qoBw$juENBNR@iGQxM|b7isl$8raRbN2T8J9_ zB9Yx6^NWErA(s$RvaOwK#;87}*yXf#lM+)54sP)5Akk*?qceE7&faHf!tMPH(L8ee zI$Vw)IC#cUQ?kx%bQMGb%oe@9etx4~IBofZZR#r~5?K3Ai?1$Cyhk@HHIEU)@Mc-@ zs)9uZ(Zhudes0x0?sjbT$B6(UV{L7=2-o$^WBz&#g1N|u1-Ai=-7c8?#!z9W*vH)^ zK0on$#mro|^yz;6Z#uqqqm#(tMT9rFD8D1x{onMPCO&Uwx84UNhzR6cKld+*?(?to z1l~dBjGxc%?$eum;Fp8s@UQ;lM>yx(!&hN7-{;0P$v$Efco{g$KiU1n_el>P~-HTYde{<38T=V;hh6<|&rGO!~QZi7_3?05tE%}WXCqv2R z-2chF0T$YHHH@?hl?tqtn(BGGUq00D|4#ME@A$gao_z55PLw7{@HWzW)_E}rdfa~7 zed%96tGu}AZ+o5Zzu4L&$YHFtn^w<$SP$O2xE*-C-L?VyHLrf&Jo=@WFLMgoFI{cg zgO<~`+Gad@hvi-Oz>DvQe9o@k-K#ZM0-L>ywT$ZOt(BaYm#33fdpPrx_G#%Epxn$( z4O_eAWp##g&P!|l>&43@^{uzfq34&^DPNtB^O~C0%S$&P@tO9M+q>a`nxJltU5lOX z0Yk0erjG_=Era^yycc+rat*1`KKRX(bL8RdBIzi-%W+_JoiX2K{Gxm7?a8mR`vuhB zUn-yfn0|Qs@o)(04?me*5B_*wojrM(CA8b>y}vyjIDK5QRr~aA-K;xY7VJDgveRYI z-#ZUKpmOha9Cy$D@2O?k2|RDst*hUi-M)U-x-LIHIX2|k*aNa#s=aFIjactaru!I& zjo7#y^JN!wA3oA=w?8@>K4Qf?h#%hDJwG`9;PSsQ^5Y>S%I$2#zFb{B*}3uXaT{B8 zxAS{7e|o<;*_o(b8skLkUbR5t>QEC^w=cQQtySxF*u8kzU$~e&b$WO69X+kt1krC* zZ*-pZR&%J+je)8-h?ZN&F6bG0>Kz5D1Z!Hyt98MPbC0D$gnXV2PzxWsmk%Gz?i}m2 z`93hWADMv~65Af1U*3Wn2Z5=J?Kehwclq~ebJ446q*?h-X`PKvenmSJWF0}GczMvv zXxEjlKUAk4*4rXtddENi6VA5q8~`-iTHtVwb%AeN40F+*DCftFwO!QXzMA+$Ahw89L=4 zgO>S@pR0+(7hY0m`iRxVDFp>M_;W5gI;dBlzE5~;)qTjmMnEV(FT{qb`>2P@swtVSS)NK@ z3oyj>Xn2_JR8KedC9U(^^<=BgfK#BbrCCSBJrlIkNyP?i+AoGAA!XL%xW$LTzoQ2< zmRsl=0Uja-xCE^DG8<{YXx<1@L(hgY@3>JC=$M)O83eIh zn)$k-SKO{W{N!+>&xrm#Dm-l0ph7o4sAlJox7MTJU2uj)vj@|*y@D$cAZ$??P3O#c zS=fGhL=}$G{`$x&*)KTALWUmD)KRj`6Ed?=6g?N%N~vAHUlhr*V`duchqtQ{3gXZk zBuQjgl7{ml8iwW}+mUa}a3+|jXu^D<3~~iVte)q9^$cbj3Msh1MI9qt?{}Sb!xr$% z*kct4{2$WpAxe-aN)vF}wr$(CZQHhO+qP{Rm9|}J+nHUx=sBn7%xt=Mv5H0L#UD5B zce_^kasBnq64A7((V(KMu%y9~av=(E$)H_Za<782(Q8~Sq9H&cD3d9lXd?lUqg4oI z)!y!gO+@3QG;Z9D`?wgzNQIL_eFZ?=P&ztx(S-p0!Y9delS2)w>t4HG^>YJ)7$`0V z@FC(t+S;O%z!bziGWy$yn;)oCrtS=C8JviTNB+3DF#<8ALA=6}s;L_wVh9gceGr>n z=u&=x{rNm_4mq7MSF+3IDi&=Gje|7s6aC{T{%1jg6ML4YvChpd?X#Arx-0Ff7m18& z7LTs&A*xC{ia<7G*G0@`^c0k2*ZXKm%Ws%!Ha?%MllYIk%7!bcyxHQRlud0l9?!<0Q{Q)7Epk&%?U+oj5r{bQFR0GisnK=y13($&S z9tLuO#xg>7851-VQ`xYpheB0i-ZvX315Id+#>mpkp<3cD+cTR&lvv-2ilsL!l2NM~ z5%%5crfO#D#SIUjp-CW@s))46u1tXkYc-ue2mjT)JRdl_mJtP1&9^YNIV-}Z1U_XQ z2@@86P-}SzqEiUd^WYeZRgm1tiFBzjC>~iDY+_OS5HA6bwbv7kH?A zT;_Y^v$B7k`;S^{UobO374|ffdZ`>Mzo`5{^o-?-8K!vKNTcjU!g-Jw_gM#nI`$+B ztc0<4Xe0uWE~>+&4v5r+#kvZ!;Yyte`J?~j#ftRp3|pw!D##VPk-UFi{=Nzt|3hMQOt4=?f1by81a|LVV5!yMt*a*J z1p|=7vqB?*oWwYD$6HfHeDZ@ce?3ziy4V^ zDn=$gbJde`_O)lZ+gh#3SYf3=^b<9!j1q&t=8_TaBEIumayC z$r8FuYH3VXIkAI?piDC=f}R|U=_ima_Yj&&z90*fnjB0bX*8t`Z@$KSGv<%ud@S$Md-7Xc#)~}qJY6jTP!u;4hTr0uAR{; zhf%}wD5o^)20VK~H`G&Wq@PGTf{Mmw7ids8mDpu&N*JK*3$as7V2J6aj{Hp=y@yMu?)8La3yIRuC`ZRnmH1rxFU{hbmGamlV#+X(din$=np%B+RXH zSO^4bR%;E6d$h&YU9qahQ}F1{HDdazf|NwW(1Imvh&WoQ?1U0c=(LHmdKQeKU{zH& z^X3pjqP7aJ78CGtb9((00C$DEfwDG%+e?EplT~t%6x&cQTR@Xp8OXUYSLrFRn_V)E zF6T0-wd58UV2FgWO%M_1l9&edLV-eF6F67-3L!v$RM_gf0HK0?l$S3a@)f{a|k zoWp}h(0hs?uUPWoQL^wxCb^ZLGqos*L@N&9wH5{{B}<7V02&d#>tPQhi0p6_Uts^Ou4U1RU7Co;1r zD8ey7lQ3i|mOUl|whMBsSvEvLzIYO2#rYoUtQTKG&)HCmGlI!jYcynKG~AQU#>wp* zeEB&3@|NE#rMnbt=tY>OWrz7U*YrxP=Ft`JP$UW@6KzCb$L*Lzb~O>ss-=-oOs83L zQ&h0HS(RNIRwp3*F^MCIo@=tuC;l25O!jwR@I5cECxbT()bGsL_`2wN@8BjNo0*l~ zyV~BywK#plf7`(KWhYve&wmxS^YCPweWqN>o!0+1bMC{}ctiRrrC@iFmHAH6p3u3o zrB^65vE_oeQnn1A#FzZCR^GU_(HZxghJbBpjbKpHy9sW)0yJzM{P}3et}kmWvn7;o z!UYk##WN&SMxSd7P(h?Iao09sXE9F0vUm|TIsU@_dx=I5Dk#rtFR6JB2L*UKKw-9|dJ%K1E~xo9?XvTzCeP>7U$3odN5b#SSB zlS>-{ZLd|nRQ;RCIc$meIV{cgBDI>T7olP)d)rcb!g?xSWhyem5zS(@K>uPjY;NhA z314?L5^b-dHhSrr&$eXyVjov#3mxddlv9?mb5<8q`M<+L{O4Q+rn=W9JZF`cv)27@ z3!mPE<)>5lQW5MDzwT1HWq6eBwB@zHaf?Yoju>&~k`;}UR=&aCr@zMSOUJ(;$?+vu zclgRD&$KPDPl}-^G9O&N5U_>K_L@U~P0FACp|<%NPn5|mQ2#a{21@w4p_4BLhf2)D z$3T$DX25P-!zL%CC`pG)=wl6)@<~G`bNTD#iiX0BUjX68mDYWiEh(hCTTu?#HJ?zsIw*H=wq)viAFROY-5pci{E7r~iG~|9nnw=MVn>7e6`wC%N*! z=DPj&xN7`ZYpnav=v4VVNI_{~(>Z^8bl+&eeDPkv4>O1hf<`;0;N$Gn|+B zFQhZ8)Xj{$Wu@h}@3Lh>;2+ZYVR(vzpYQE7v->r7H{c6U*Qu-X!0KI6Z)LNik+$n+ z5}LHy0MpO#sM3@oom_+lnr*P5qSI_mXYyvjl^R&Zu9X4}?fuS&^9&CUe|8Ge1nNeP zAdXd9Ymv57N1a&A!VxYus~Ak`r1F^a<0b*nUJC(Ia6p1mG4O+~)jBXHDxD&Zy|Hwn zJ_f~#T1sVOI;cct*Crc}NQEl$<)o+}tY;;RS36kEoOZ5M4X7#G&ns2S12%~h&+ag& z>=>CgH90E6Seah$|pTnxA=#^AbQc`{WT&u zG-q(#GRy8P1;>9d=b&@!{k;Bb@XyCL#ob&d;ydaJ@westKbRAD0pe>U^aF02Nra$61cAO$LxzTu}p93$uIAFlAy>NTPh@RG&Zqvp zzFqcA+r9bY>yK-vofZEK|HpHCDgV^!GfjPzwSN|Udv(o&_wn_yWg=}=5$9AD|K-h^ z*J-1=9bT1@=TgJbC^i|;EUyn{+V0=(r3N$IbX8>=d-ra!Q6l}dchs%A`iCf1jU1aM zP`}Mgxa?C^-4tuGE^^ zQ+rL?&mY>_?}dgn{J9Ujp5)zy|AMtxT!%bxIee-sD=Uspp04i zoF8VMKf(xWrO;Kof1?k(GyrzII%m>2wbS+@Ve1t2~@ z1ClO24fd~0IPl{3nqQYpcFiT>BW12_9O#4hX+LX@8jdItU4!D#A1Z>S;JL&ZP?s7p z7BFHQ_9YSHcnU%PdFkVU(Eh6M)J?0||&R7Wg-05?qu(L7Za5oJPxmGbV}XKp5;CZzTb~V*#*a9p{pI(6NTS zVv7yIB^1wkA=EDnk)E9lkOn0_biv{Qb)YOI1P%BD8w~){ck^btp6hq6cqK)`P$$}FXi|+cq1saYn+G6W z1thB*x@?U+r~699w#@gLI7r4Q9;Q8CFOjWB{fQMN(9s#Rs~au zDDkggz+Ahe3qudgnOj1`naKl$jEDh@A`xw^xp41cQ?U;$I61^Q7!Y>ifiZtZ-4`zD zzd26Z@M`Ch*NGk4EWu&_55pyQK2?8Hv4$L(%)d=P@NaU56!pA{P9up?LT17yKGD@*@;J#D6KbzUK6~}0(4#iMI>;SAIbWGi$?jYe z>350OP7tXjrYpAIqJ_yLwHw91P>JDXE2hhpjkPkh#UPXKixCq~2RS21bxo0Ed6c8zgw%DOAhLp!`LhW;s+t-LMYmt4mL|vdMWuIslp$OnE z(lIqm#_N`?y6a-zPoNV&oCDD(KdHon)XwgzX6n3NrPJA8Z^vtJUa5SvRr&D0Th=VS z(?8Jv{jEpLu~LJV0RUjo5&%H#f3tM_H(YZjS34eOJhSZfn;NMvv3HBq42Rk2q)N0^ z2ZvmeG?QuzhX$=>JBc$v5>_(ShUTUJ_OmB(#Uy##7BE=1#*mV$y6Nx@clQ>h>s9}U z`S){W;5Yo>;IZBRJN?wZ|JDBEbVc6Y|Lgp^_n!>8^Leu})oy=dyXN2Xdcxn=|N8Vk z#V%j3-~V>An|yie|8eks>8;P>|9H4{{Jw=w&;Q%be%g1_|8b9B|1YDgwGZ3(eP1Jt zBfx#AW4HC|<&Q6L)9>|oeZP##`*Z(VdEQ??PqDB0WBPf$r(doOYxnxRA3fTyT-BhXj?9f8u=m_uepl=NzU1$W^Xq-Hd|kiuho#r=!twWZs*%(0!tC|F9e8#8 ze73Lg_u=aG;Pm-Ex8wVJ+^?V(C z%w!)tKllGW9k#B1o%+Mf`7gKh`Tm&8zJ#Ch!`JJ<&-MHJ*52;+8Ex|S`xWZ`{1|yW zUUawf^ZWZ=`~5r|&TOsG|9mZNX@9!qm7x9pKyP-Q(ueEo^Woz0d_Uif9xs8*({E4V zU*QolSvn1&_!7GddmK&*X=1@p(QTj5=29EDJ9C zf8VlLEsE&Z7cTpsuD!i{eXWu9dM}c_9*>^e>HECzYt>#KKJ)YZ{ds+UFZk>9`rw34m)Np5^w-DX=>A?0>OY6g@o6ufdlTOMA1iVS`S|`HkEifYGneiC?<=sJ z{y*y_)A~gxbN>h-i_ZtA?k9Zt-{7zSjki~idrbQLy`GPw@8gF9(r#9s9-oKL$M_&WmD8FvUKM9W==b?qOme;m;LYbEA-xK-Ww4ywzAD_;b-yOAn`qyo*zgL8~vE`k( z&r?et%SWHhdi|a~zC5QLbMFb|4vJ#3ycfU6hs`NrOl!$~++iqkrg>>-;JvOgj+09Y zN;=ld+?EwRS?cVr6R{^5i_PJTa_qSk%I-+z7kWlD($jP&p<*n_O`>&*BwCDTFx0_pv;2cYJ zq_2+N*lCL&9jq4(t%IzwcNu(-&&PWoZ^`>mMxJR#=R$mLrb& zVmPmsA)fhQSErUCmib~CFP0VyzF435C$h4_KDfNG8J{fMO~DO~ZYE5bVI$JJOjx-$ zD7~GH7G_>B&YHzw(Td2*bBX_)bvY2}|qnoSunCiv7O%=>0xDH0kZ0jM3=ild|^&K&0i+h$R||AY4{d zRwBuUB6cmbVCzgdPr=4E&n&T$*EByUz8ASFOiz7ew!mMBW()qc+N)+!H)%K;X>cpH z%$zBbQxsnLq|=8-89VM~o<*T0$EORQEtXcBO5b^G58mH)yF}nTxp1OGlrsX*f%av4`f@HhAfOGNYEV{0oes1WOpJaLFOBc&4pLzRev|3^#gw6SE7364anPDxI6oW+>lg@4P)ZE0c1+Y0<4(aCkz0+@# zC)U*EK_c6Sgjfri1@3MHMqKQEj;7VD(7CU)-cTY$4Bg3=VYEH#0O;L+IJS42mysdKHn!>x@?w z-+Z+yb14Zozu2azKOg1|!aJ^W`Mo9Rzy8qbRGC__{L*P5cj8*`V&{EQ6{Atc9a{c# zv%U3il^2eM7Z#SL#P#zeD};m!^+r4xQ{56*ViYZ+D`Sb=A|g5kMdzF1wCd|6eQMN5 z3XSVVfdY)(vRkqZ;Bc9#$fc1d7;yzcS!`Bz>M=rq`xBvpt=RMwk%-C2=Q&=HQbHNMvNdaDgAsrcTo}Q zRAJ|pylG^iC8dv;ADUT&;&0MP>d?}=a~f?Rry%!beq^cSlJvL~E2nxifoFmm@Eg^* zNWF^;^#p?`Y_zm$1C9)_U}@y{|JodZr<1Mj@4coz9f_w-3M<&#H@iWwrInm-0%AG3 zTkWbHqF?H*_F@D{!wgS}=wcy#E_y)(Xbcv3g0w}k3#rR!jK_S0!61ck{SwNq0)G&0WbTx`J z6Nrr#3!RwazoV`Be7~K){Jmcr$DT6t!oM4@)Md$}k~NDe^8$X;W>!Pz#jdWtWiS(V zJ!celje#rhvL~e&StzUo_su%H4*=Z%*~>pj z2Jh$gbBcNdSEdnF%QcWeS;1GBvBJa%DKm_AMJZcEN?5}}UK*O;$e~P{ok?D33*#GA zO4H)GcD;35@9uRClW(skhtJ#1uu1=%hO@kasD?5mwUnwG3^3>(X-lNo zY*VP%AxnY~)>Db(vmslU4jVxLOF8=s1Ik_k*`lb88IyzSjfF>n(n6h`8 zwL=fJSF5o_>qJQuW;Q47mH`vE@S-7vGp%|=;Di}JSBgaP3;9 zZ9xeJ&%6o!B`&OwmE2I@y}eOMF+&}0v=Q00+@zNr6Ux+WErQ|&txKoR(+gV5kMJcS zsn-Gs1j$}NS`ehbR0f#>K`&hzX_q4)(O)2oURFe0m-|i2ai8tb(~*Po`;La=k6>U zoAIp_EcM)zaH~yA47_EGBnK7d`*}xkj{Msf=HPp`@54+ptbFUJeoj~S`8_`Go5zpm z6aMt^>HcAV%3b;Wf;Tc|eQ9#DA> zylCNCOWVKhr%!+iX~xhsT4RifE_rk{WLLtph-C;5cD$ik&^S;}w;>gCihranfDYP0wC1blAFstAXgr9M zz*Yjk^nw(@=xvl2=?O(xs`tDuICbsVyX9m%t%cb$04964pK3suEV30?mq zb%``b54wTKL^sh@R7;}ib|no`H0>P+niEGswet6p!8qq1kD@JnJBisk-A1eYiYwx4 z#y8OXDu9&xJhn15YU3Py(1jRSBG;k?(BSqBv74Z~olK>`W12s?F1-y1daW$!+TFD6u^{t_% zJhBv0pAoeg*TB#S7$G3!Dz7?kGQ8H(?Y`If>#ax0)!D#u?V72v)W~p-EhZW}Lj*Zn zA>Z*qCS3(NG2MbM13^fme`*DC24iutnMx8E=2_Dq{$e=@2t;|+Ei{|p8()1=V2X4f zz=o%hWQWjdr^8RcQYy$4A|(b^xM|aE0t#YK7oOk_YJn`4B!QkM&`u`Afxh!3qzWW8 zZa!j-!f({nFc**Ff@^}vkG|+!JOumNDTt3AigW@*2**K(wxfd4SI`aHj7lbah2ZfKT9awU(t1!_KH z7Ij!<6VoVFx%^V->c@RNkW?O@-rWAB1Ofqh-H*=!Spt-GT<1=l&b?PkRmLs18#5Bj z@(phE%Cv~2j2NN*3;qIfsj9teurcp*m*h>HU6NeAz7c#}Y+@VHkknAXtKB5FW0WWq za9rWY--rk=$F8IN5*y)-L3w>x_Vf?-Yi*>%&Ut+oiLDkTW2iNT9-;^R%30mLXt3cO zKPox4CU&kMzfYcJ$#Ys_v1S>8UrF#6jz7FI-sFnRubU@s+cI?Ae$-z z$lVXE?9LC`PcfSx03O5(1Gb4OCbvZ`?F!Tv4OIF{at}hs63x+nQwwq#WJm=WmV;aP zlgy#d`dnqd)D$dW#%6)Je0dE~M7ka14yhc&t4@I= zWD33#a_5ZSh26Z7!M%QMOoxWd6K$%nXho~z0VaHiYu%Uq8_!FZ07^*o7qJ9Zz2dos{q<0Qdc@jfNcwgnq>Q0d`v;G9UO$0 zW*r6`dQA7Rk_d=2TIjCQOu264@~m``$+q1M?@%B~6cPLu6$55+No-sGFbr&R5Y8QB@7 z+_E~T{&g`bLdgsbpfFp^3tN;?THVefqHNlmF4bztg5W@xb(7UA@$WJ-!VQ`0hSM5_ zMh=%eoLE0hnfL-=kyN-fZ_vN7H8vZj@e%V*BE@Xsl-?$0BaD;>0qjKp4KA~Z5E|=> zwHoGEHNj_8wOeC7x2uV&t&QG}GIb(;8N3Ts4EEl?AZ$^D-Z(p1dc+fOB6}`1$a15e z31+MaNlcA{{4Vp}F%qSiB_{M>S*Q=8B9_{hf1y2#X|(RQCNZY3$4Tza2D!I+ZXKS4 z9a9&StA$$z5BtC%7B!TdkyZuAWW?OMX+i9=x@k$cYp23+i!-!B2uMD<+qK4*yJ#dv z+u#|g2bn`gqlRl?nirt;5;c*erO9o`lYqk3KN~e`joUsa#(4&s>poK`*3OTp=4Uei9L)jK+z69QSNp5R2TZAX7Hw2OoXsuy6 zT%qsdUdlF$NfHG+aOSU9V~2?M2XkWnw(wbAl}|Nb0Y%7xc$B zcbxy8(RX;g?W@h{U-9}6nL4TO{c_6xS^1bbcABD1btoyZ?BRd_@ITA=;1E5&GLh;| zp0vbjxvSp^7x_zD9IyNo4|#Qc|1D33aAtl3v~c5gyQqnI^fZYRvh^;kF3&H6FZD7R zlcSqQ#OEZ*C+!NT@d+i0tsIW^@?B^RR5#j_84Uu7v|weD)qh(TMI~|plSA;*mP@J( zQr|#BwHcE)0vaUe3Xv+H+w?)k86=P`*^Y2V*r3uKUKL3@`YMtf!gehw@el zG$SdMA)O)AEP{{$E1ZPpis4;{+@+KD238HB#`#o@HW$QaUxc9He1Sx^;g)}~*nYYp zJfJbRmZZsm_xx6PdwVhY4W2&b;Hg&Zx&5kL)wc?XwRl(I^|$kd>}Z??8wq!VNlh?y zkj_GRWT-b)$pwdjLqZeFEbp|FPzf@sv=6S)=f#Ui5%1IX5>Kl>&i|+yLIemwk_!qy z*O|JC0UKWn1oD7u%>+(d)}4~sQ=r-eWMK2gvz6K^!n|Si%7a%}v%{utK0?rfEcw4`iXnFj6*Pz2qJU^6QVi=n7psczoDrx<3E92+q_>n=UWrtli-k9W)|TqNoFFYsl>Qa(03x21LpMetncSxkNy2>pCs%G!;q!~7A~~%sJ!Jo`Nc>^jOQ@J zB4gC71nazCh@CR98G_bdCyPFU%yeoyLR-9t1cqMqyDP&nQvr=QwUYco874G{(!SyCc!h$V~w%$GN_?Mq|i{#QWm=X%J4Em@Pdt%O( z@_vNQ=`+W+Pzs!~`lopru&gxJ!qmV~6EiE;Gv@K=dFu~OA$W4CzC0Y-KoVUSJ_PUi zi|F3f={_V~5v9WRgd_mVa>ki3+q7Db8Qk7bY4KB5Bqbu1)rc)vH0PIYI#5zH^VW#^ z1x->lHnECXQoL16+bwf;6_j zhs?Meawm`^dvS0SEzUsyh%vJyVINyjy8ZQ_Ln#_;Z7Ly6%j@dZHUXE}zN>R@Y8+G? zuHj0!8^Xuv2-$N&?j8gsv<038nFH8AV}xzWZ#F>7m51I$dL-6>74&sz zY=0PB&GDv1!Wwt>!h4;&XUi1Y>TTdSU{BABQ~}FtuB&$I9B4F)q}w>Qrxr_@M?IDr z5f~$y7D#!uILjofS{kTFP;Sy(^mD`OZ^P=F!{eX74~(yejZt#L?cXUp9h07(@A@qU z_Hw~<_ylMV`#pEx>$84OaG4Qf-OoD3-)lFhYbEgVvH4ttjAjuAB@5=r8^qgkNM2+f z;2BScmM7Jnp=TR2TM}7`xP2J&lVs;-CDqLPV7T?mUf&lXg$UDU`wzv-geyw^D4|uz zC?#H#SU4_kw&+JECnQ0xQkcu(GvHW8YCCw@Ug5aErs2(LZ|*v7uX6}5JkDU6&F84?Si`y?aiZk@=_y-Pt{N~DRM?TE z0pZJWJbCgNB8pIc^(=t(_Arj>zAW&kld^e>AmR{5vT;=-qYGTcId1^D(L^Zygo4!$ z@2lZ8$RbHd z2ie-BQWEATdl`V+nP@9$IlSqtQ-HDU!J_ihY!gMppeLH$qTrg52xmRZ#sq|`5V}Bm_S|B`)&8lzUur z=t#B%i!N8MBdagoa=kWYWa}UY(e;^tWE$1+SX+dard<*W(TSuMHl*5WRNy!~`Xve(Gsmd#ovs~aN4lvdAW@!0e=0oY;c(L7qy}KL z0fG6s5vn?uXxtePN2-cd`yxUDBt#-v`A5ZW5^^g8V@fMENd)_9GQctfAj=^M4O0Kc z#p!}5>FT<&W*58d{+-~!0{;*vmt2uZlWC95L3KD0)C5dXE7>Go=UrgkWFlvZ8jLOX zzkQr_<|yAxeX46KN-$dsc8gmL-Ine+DJ1s{%2KMYff!9i1wkkO`fb?Y(XLuvJz`14 zt=n<9p}paSIqF*ija>AKvz%L=vv%>5apQ$u#lGJNLQY2;XRRDyrX*g_BTxtB%D9CZ zihUC$tD1N%9Pe?Cn8j{9T4yZY{>B_(YTy~KRBuzL6vXz@D`fG$Dwu!&Iyn{6ofe~r zWQDnd`7GgtMLq$$bE&4YAl%_LSbm|HUVc2*ao6zj%vf3*VqiBHY3aja(%%r7*?H%4 z>*wIGLWkdAo?y34xKzcByEN%ULShvg6oV~B2AJR_BSvq^?0&4szsd!1dJ#s){)#2( z*c=KiaU?}vdf&Y+p^x+8JGalo2`V8w-oT{)a6@sZmBURA^*&A5%L%8sr2!K|L#mx8 zp^JNfi#DTbizrBT5m3l?GD@dl^=<_2WL#=Cp#DZmtpJ)%rz=Ryjd&DFMbn62X)8jYE1?Qlvm*TNAqZBP&b=6D?btMbB73a!ib zCT)Q{!PgbQklu}}SN^ECqTM&0V9Kw6l{$!Aja@|r8{C-daH>v)MqwACK+%VN4KPxf zp(`W;yrS?-{nSBV@X3av4*h)b_l%G#V9;(14k#&gET~^hB%oIyGPB`J1g)`I*vkp2 zzt1_-pM&1HOY=k~g?`E*W3sZ@Gs6fVuK7MyW@(QA|_rMl;0pGC07(j0Hmow7!h}AZDQ%F*v#?rq7I$-s3U8V zRab&(MEj_Bjqcp{O<*pXQ+cREdmUdne(Fnqaib%t(y1^iqy4O9<|u3&rB6Xlw(q|j)ht0@IVZZYZ($yohul` z^w^a=)SyYc7&VxEv10a976-1ta2|-MKq!x`pOy!Br^d@0ce`GPdd-vg2HT zDz2{1|7Eb`>Vs(V^jCj>*W!*okNOA!fqkIRpn5ENU6SgIKaE=QsKJ$?OM<6I@H!2y z+(%t&alT$T^!ym&TG8EvG; zS3jiUL9M)%xX&_XT6}&&zr4O4ojxdlwHi?>>L9LQT$bpW-WoYURHCa>wPkgd+S`u? zUXzwd$H!K69ftj6`d&rw>eC`Xg3Z)u6A37;U4d!2ml1;0zU<)Tq!_7O*YOxJaGb2; z{JMWO;em)Ah1Og-)wJ2 zF^M(MLN*W^fTjWF*s{{ob!+;sF@$?QfLv~5F3S+_BAr$AVvb~(NFFX|Xma#xg6aU3 z?vES74|G749T_YgW)??3JZ`)J5Jb_{ZsJgHSqgeD6eZamwY-wTxVw&vrx~`qThS5Z zno-INfzptrj<2old5Qt2Z}YH0Rsy)e)ep#%z7XiwG>~Hvf2ll47^Rc)lZOPuM?qg& z`gBUx@PtG<7>(p5Tmj$)LGf)rVOqFV0El-jwduX~cOj4NE!!M}hsihwWff|)I&vpO z?|9*sLp)Cvf@gVTIyl>VkGS0~aDZyhdGip|q~3{?XR>nQdp6siWg!*Z<5%K%3Gtjr zy);i&FvDNaxW1j5rHE*kEHg|S8AGA5lv$2ME+xG=7L+pE>JG)w*%gQIt}7tKCGd{o z=5h>&c2Fx0Dmf<8gUB`m?0Y#3y`xDMShCr#Fy_5bbeyI1^fC}TQB*7pp8%oIM6@sb zFhOuk1RnH=DeU=YJ6?3`zuVSr4`(`!!{-?1z2X9`!V5*o2f+7=N4_A(q?g&syKM@U z7o>LU-BVQfXSPDAH551une^6DvTd?LEjKZjxrXOz=iIYCnEB@0hGsp$VRn;k^Z0mF z&%b0HXH7B$-BLDJFvobftph^d=g*No+{!GR*aXj<9GU?zrR&iniswvkUbR;86s)3B zhbp`u%*wUMMWRJ2q@&+UDz_W!&0!UzDcN%<(~+VTNM^F%<8(w80GP515Fq&<0?_+}P{96(%@psPN7%;IoM}>T2=S7lQwpOmXjTq$LtV}7YXoW2BrOShO_KrB z88DI$icSuB277|)wCe$s&UUs01(9<&M$Lvghcez8KZUFV8>tDbl!|loI!KY|AU=t! zg29PdsXyxedBxGG>q|4H(FtN(g(gJaSmUa_Fo6nRmGsH5`NA4k{?k^{YqC8VP_tRl z5!mB}iy}6El?6<`aq#(CikR|^sDs=*!R9Vi&ay12m5M?lM7;su=wD8r2|-Orh;GA? z9sdWe`!a$?-K3e^dpv4x;W`RciphI>>b`JZ?TU6--Z+rc75^dv=}+$SJto&m)|5vB zzs^8k0&BJ;w9}=KW7L4Gag$%$)gQZbB-+`YL8)g_{bc2EgswNC(H?A1W*{fGFQ+RC z`Z(NQzaoL9Ly5)EBYUi^bmHe2J!nUvJ!Qwjo*9pi(E*J}#hZM{(H!cL zVIrbn3T8*&5E6_gLj(I-Y+TpVx49TZV0+7~=w>imN`Z0M2oKwbFqc{+bP~ID*1Z3G467p756-eV1N{Rnp(UiH5{?J zF>SB7+SA28z`!HCX5_lcSA%keO-MEZ2USIzrNwKx9S55gS5wc#Ajz3f4}Ub%JE$Qt zUa!nub+JVio#o$755=_5(NxN*Aw0@(J;(?@yF+F<35z#7=Y2#?v*;ZL6x`3G6-|2B znj%RN%e`uX&X8AlXWd>u%DUZNa!M8HUlof$xaXA5FLb@Tg!;kJCmrRXUQ0M@ z%hZo?Cd^>*R1nIX0AbX7P1}L#qh{eY*q=hL4XiB>;irO2>VZW1C$>%SE(g&On4&Fm zRNIB`rl-Jm5530w=DA<)bLJHHj-5^Hx+{C7T)HM#D^INu>7qbBW~8s=CPzo}>-s9p zhn#z0=QQ@o_!^nE-cNW1Q(EeAA(U z7G#IISU(r@9+~_QU2~K9F4EO<1VSZqqwLEkQX%R*qi^qR)iX%0-!ZwhHRxWcanfVn zDJavg38;Ao%3pI$BE%ro^e+E;S1~}0<<3?`6)qM|BI9Hg4xlqCgS}%VBK8 zD&Kuney!%ri%xCi3CS!Y_rr`eD1P{`>8Gi{4$u|Jj=lMmNTPwOi)X9Ut$|`j%vSc9?eUT{kz{Miw6Vx~`a@L;VU&8R84WFN7kZT{$W^=h!(dCP0c!N3n!Imw5$! z{*$vwOZmw&wiA!+&Of_edszADsPuXik{7?u-D7+@tI44JW^iiPi8*#-=Fo$1io(&x zY(-x*Xq5_U#4en*HR&b-=R5ks5^`fXu)WgOy0d`bMvLvk3^NdqWT!4DzdbxTKZn|y(KIe!jZMWyh_1bl}J{(?o9-vhJb{}ijrn#*oeySzm zZ`P~z$sA|3N2leb2+ywIa;rp-2j|_SctLtR$XU65Hj7VB_x#f?2tIH7~pad2HRg_&~1^3+kdn^i z+DBLmXDH4&@UanFW3W~5e6%?xrhhp=_<6|q_HWm=>Vv^&zcI0rS@vDhLFsu9cNzM{$ znU^x4t+@H>t_p}8aoVi!P2Ae))pqQacDZGa?oD*{4$`OP_p!;|%$V=7;cjv`Sul{D z6WL0lZCMM`cx(HH`mXt2_Q@PN3t7n8jm8)!u5p%Knj&e+1VqIQCgARMBTb(E1-r%D z5IRrbyUNtzXWgeR1mWv)Jxj9MO(m{!@%BbLN!@Y_((Y`XiVnbEF+epol2f8ov^5^n ze+`MYR?%nAZUV+(ua&*DULk@3qs z^;70QY=hw1rXM%GxLu@ub!;-{zQj>11hq1rbRewU2N!oB44+Lu-;jJ`b*17MU*vTP z1FOh$qlg5z`N5k4B>HW6>n{dqO-X{EwIVjuozTbCYPoy3n{KM>NB0~ILN?`Db{h27 zVJKTebCJB|kC{Nyfk=cGGSwH=OWFhFB-?fXT*94$5&8ZaCLbj-T9 za`bc>Rz&D~2;@g_=x1378H+fiYfCD$C~m*NzdO=J>iS-up}R@Y7o^dF|%) z{;Ed0+z_KNXinlSz2%%>x>^ax?zQ>+5McH!FDgA^lhJJ)s(+)8*U;5k0QHNj{o}>0S}(^H z2F|OFcCEZN8_-;12Y$ieHD8rTt*&i4b=ktFQjdWjv+f4`{x2r;w`Q)S0@HmFN7l3e z4*C>2j(uat<*3IyE$<%m=u$2n-_Bm`sdS5)c0F6cv|u;u$LJ&jcNulUR_E$`lTr3- z27)@YyQ|!-=O@Rmp3lOazMh_~e9Yu0jf=@owKkWvnxJi#u z;E!!z)Mjp?!{;rS7@!wz7D|OVPXMzHa`CpAM%$0zWPZGh&W|7`4>9h}gA1Lqe1G@w z*&%0?a9&)rViu2$ADANpgjEmBvzX*lZX(+aN$KbQr`Y{m^t!A-w+{v$_OEgIPa8Q&lzmby1w<3bW+lCAU zNLTuEqZy!zqes%k9vTXr&7p|H z&5Kp?YiG*~Y8&CdPs~b_Y9GBuBK4i*XQT2K^fMGV7~Gx)L}~IBsYBKD$81rGA%*9R+ulBgaH*ATsWKqK3x1bG^GlASXoC?d65$%T$`B~ zqs?q2!I!$mLPVxaG@?n)J(k3KviTgEgv1NK$W+mUXmT6;KzQd88R0<2fRtd&S;A%t zrKh$z+@j31f_vmx!H8rhm{oh6NO2Xg;#0xKiRO?A<=59ip>G9;*Jj6o4nmvQYZ%{} zhelQ>4n!zjmS{%{iDl*;wu!$|_DBw37o~S#1+<0mg z<8ETzyEfAFth)59cz3th4UOvpJ=GDU^s0t%2nu;{icKpmf}?JE*dVtC#Z^%}g*LN7 zFZ!i-jrMlgWJ;EhxZ(KHY6b-Q*CbdirO*9X9q#M;byKmxUsUSnapt%*X(39;&J zgDgyGN@R=4|DmDlasQw;TNGMOB$aDGt`BWc1b4X)`1PfCzZ)!VA9XlDP!^=`S>HrhQg5Z_eRG%}=(=RCwv-{#yHy@b-`NrHP%_$ZAXvtWMCmq;` z6am(b=nV6Wy=(U6$YX- zCKO@JvLsa8PA&M+rY+AK%9+g>f0@IzbyY+M*q&iZK!lxiGBc=g3m32gM>sK+V<>K*seFk<#h`^vqp6M&+k2`SG3J#Elq;cw z3a{fU=dPSnP6D8~Lf%Af&Ea3W}2}&#YVu$$N@G@BVqv&Zz_~*=E;{{Qtps~NanzE@? zL7RmN#s8$nv&Rax1u<94#d+tLCqN@=;~le|fr}4!IH?h>QnIuJxER$uqcwRah{da3kYKQ2y<(jtI3lzx7=g$sz2Q zP(#Y?aZ)A$9;t;I{=*7(@zfZ2IISA+<$95b_pOGyfm2QCRZrfIGxTf}A?M+cg@&B%|#f+<^#L5lt?GQ_N9Z zQp2D`gQ~Q^kV17$3aS zmbT%4N_nWt^6PF|MhTucjS#+EUk?^=vf#z8Q2-W zdyMw3E)K3Pj4JAqjOO+L7iUIQGfhSnBY?AtnUj?{qlmq&DdT^Rn7hH6nJvFTCMMq? z6aN45nE!`jVxRp#C?@;lR}#c_r8P1wP)TgKdblM*n`&xo+z!Oo5!1FRsPb<&T@*$( z%U4zy2FJRDGyHgO_MaB_{RAMZQ`HRXBmN~SD`mf933vSNovC9Uf4=Wuln=&d&N0*E zy^(5}f3hD8dN1J*YpUxEN2dk`-y%bvAL>b8rQcAz=zBkcBLaCwh$^VxH^Hiofp1|>jR$BGTIA9joN%SWYxG7zO+ z{63T`fkxo0dKC4>sUz>$NggXL>lQAq?ls7SxW553>`xYO{JeJVBJ8As> zsB-XOj%JLLa%(%4NU30_de?Ur=Vxr|r%6g}B#)%m0#^p5MME_&N!_9Xv{UKMv2Y@& zto<|9#T`y>@!Zp)Ov>`t7n)%PRX`TS;$?!}XL8d?>tcFA+ahzooH`kxgJCp|IA)47 zPiBHC#-1)ip1R(1=E`mlIK=UV=1gtmPxuAEAGWnHhOPgEc0=zYNb0j(XXxzDFw4dt3?q_!yackNjd@IO7wkh zN5l66|4%XbkG8%5q`$=$cB&aTm93(ueN%4vctJTeo>mPSZ1hvCaC#%R6}cRiO^S7C zTd&-%F<#I}{Ml*Y1LnJk95>~)tj1a88cQV(7yzg|Ef*P}E6K$@>#2)j!=gJx?2#Au z9$l%XF6)ClFC2~b{l>)h?495UM00YFa-*$na6BZ^Cm?fc?`Q2c&)3?PTl@#ue_q1w zPv1ZyXb_MD6c7;U|MC+4f6+`dHr^PL-Iur{5BB?Yh3&obFFGUabCAa%HZV@gmdL7h7s`TDEByt?L5U+c=zeUJaG@OKy%Tb!u=& z1HZElNUvO$)OxnrCPP_zuY;hp9{1%+K zP^-!c&0-|fK$36CSUs<_x;ZLxkyAu`A;)j*2GE{+4m}{_-nxd%{`r`@sFB^u=#z`sUm3;Kh{{LvgeG7Co@sfCG;*oq1_aXqWa;;D=Cp z;nFkBt5tsCGk=Do=c2EoTF7*wM8*1JK!~ZSmK8LJ_iRJtpl}Nd>H5qWIxFaWW9sfh zYZa{nc3Tu${fEg&w~*&eT{rFQ0p^M7Dpq+nef^azGd0=%z5in7VMR?=In;FiRrYRJw2&1GR= z6NC{juwQ4y3`Gze2#VlBciXhqm?!kR7SU5o)xx6~Lg9z{(a+a8Xzsrtc*IY0GYyGH zTw`w`(MY@{L%Sa{NRpVq$wl{rgZw^;exGS@3!eH?GNhcq=z1Dhrb(+m+9^%72!E%5 zRyJp}?Z)!h_$(bBkdraev=p)mHs@G82m`x#HJ&VZL$S#1;(;KNfdUuE>xDgWmvg(R z&(+Z+MFnuEmhZ|3aqF& zZ@0OzBa)-D85KG^bQpCu zs6bRaE&@DdIZSA=xRReymz1inaS5(1ffuECFfRC!rkSxJO#Kgr7K!UqUeRPfE=Zh^ zBk)q-x&h9;YG6!uFRw5OKSxS{c*;YI_lGZj&k9h$=%#U2zqscgASbs(e%$p_&bv?= z^^V)6O+*41w^nsNLSyyE;IODJK69oZp)oD6f1C^OdIySfybL2IQRezziKAkEK>P~T zNjn*73p!DUMr+@<3Q9Tvk7xYjSB}USS0~_1!sk4gefpC?95NpZ7RD!Wxcx4fdq8n% z699wD!XyTz4Z!|Lp(EplfEdYcH_n7!8hDBL^^2qcdNdVT$_aw;aOu{wdw$q@XqVVT zSAEDVdLI|o93GDQAJw--2P#bN0>7a+EVc&Qg&_kiTFHo3T0^F(0~M86{u8*n3x`TD zunBYb2rLiE!z_X2N;I4sZzz9E`9~$JD4i4ZD}X!0sk+(;wCtCIff!k<-ZiXs&BIX|-P@>Z}FIOqRAd@3Ak&Y z!Eyx5X*VruW1!2YDHB1W%1Xq2@ONI@S;HwbJ`OV#217f91T>UbxoO9#lUR0|Pp)}Z zz*5)1(+0EAng^L_n{jxi zqd2V4t5*(=I`cu{0Rj0Zx3IG@vTgo#V!8xz@lUfZ;X86{9#S<4XDvk3v72gK>Bm~} zGJrKIcyCxZ3p6?HakHgKQYboFW=T}q1L`s{i?s(XpD`?>ju`8}E)#cj;f;7#6nGja zn~tQ;F4pdFpk%X35>O)gKu$WxY{J|d>7{nG%d*}l>zN;uqusK0CYsG4`Ic>UEa7T` zji*t1Q8$<`4hZt&%t^p8V8R$6r!unIVF_UQ$D4ezYi2>n!XY4O+h{x6OieBWp@_!b zF^tlE7&G$cxRKs8vq`e!rzu`W>Aev@f*T#U0n@ssgb<;LtkXId1*G1{fD#1^eR&v{ z?galrwMS1Ho}n-}r1ak|^cB}MolIG)`a;Cf;{MCw(+gJoa3e<75DF&ih4yw5*L0r! zc2{et;ftMs&3veDmdyL+{w_EH(&V}MSRdq)-G}*?ea!pMF{P%@x2mtbS;BYHq5q4z zMnN_*y!_3~naKtL5&bU*DgTL^bCj!-jJKMayYujkxF5vsiXL;GZO#`$RW<q6##% z3PTJBFA{?Ji6#tQPzn?N)wSB@rhXvel*Jm?Kv<3J_?^yUz5DZMcGdFK@kIEk`1w=? z{w0Vit#nrT_W&_>FM;kGI#$bdSBh-_!9!&o`*%kN1b*r^n4%(~Z8M z@8|h2=aYcv%N60Z@4w53=(^e2?e6F61Ai~yp80adzONGv#?R++&hWmMS9>H+nX?N2 zW8h=?$!hp1?@o{3%lULP;iu0>)m?O5zW>wf3n8MQ&r|qG9isjH(c6yToA&f)b~f+}0~f8z|t+`;eldpWu3^S!<7s>>(*4_;0Fd%*_>;Ty$Q`_AFf%{No>DgTVIcXgTb z#_#U$<@7_(L!V%e=iP^Yr~3_~|I6g)?E3^^pU=an_s)oh!49wB`~3i>A|c+x#;V}! zzb^ayK0jZNhxfj(zx%1L?{EGBd~f=74-ZW{7iN9FkLkckjc^Npp9kGO@4KYc&&euG zoFl<)JpI1+<7tDu9(6A$r@l1;0S_;a_rt$u2aE#V?fgFPp|t{nf4=q!k^H~@ zM$ZBeXW6a2=DxqiSCqi1xB*kq>=!cdn|yTlq`#k?eyd#9=l}T-ZLjZBv+esdN|^U? z`?43$_%(W`u~VrMe)DbYa2LHgb!F4DPw10xZ}9#yj9Wt|@TRmX5Et0}RAq1lcYd&l z^v&rh^t(Hs-g!TFqxXMbyU56IP7(Zkzs20Ncxrq5+&lAsvHV)`@6uZu-LX;fzc*l~ z3IBSbHGkah0WR)rf87T%mh~N<3F3cFy0C5?j`S@~OZvRLPD6eDJ$v~qeuH1%oByEn z_x~s^5j>Y&UX>-}q`p1*I4(|ED10(=awN2@S@hC5w+tl?Z|V|Tltga zw}aFfxzT*Ajl``OuA3&RU^Xq@mu>FbItQ>~unxaD;6UmvKbZ>GUTEzb)rh}04^L!} z)p?1mquiod?kxL#@jKs@wxyg;-plsMqGLH&-}T5<+1js0iGf~Vo))cVBg>ihl)#xs z?nL!iRQoJ1uVCib!PKO=cqR zl0?%v`NI*G!HDBMd#t#i;&sC3?t->p)py3}Y?v)B^(Nh`!gK@?x@%B7;ms{7t^ zk?Y*dX7O46)pz+JWx3UEzJ8_g43Vt~pnhkSqB2_*riuxbrS7wQ99*UnzZI6J|8_1x z$iQZyU&(MX*tQ{V|GHevm-Uvh^&@usa;7%3_OwvkU!JonO+=a(I`PwIe4Suo#fG@Ml0-xfwp$OMAg(B0BA?;<{SrfkT^q zlDw-=d{H>O_~`DM!D3s{w=Cbgd`A!2z~|*O8A=gRk?`|4`ofy(&00#fLu;Y^?93c+ zbzGc>SlX6qUhx&h?9qxt(I$&$Jq1Rf)GK!M&ve8NADY4IwnvOHQLB&2d`X{}J9gO60Qy}QR|H_oV=4}1_&~WOE z^C3LJSHE5P$X+~B1r>;`6&fp*2? z$Cy?oK{QK=#mZ%mYN0Bkie^deSgrE}xRoCC&PY94(Kcz9)Ib(Y+tF)>S+hgOsw=0? zc9n}h^(-kr;P-^Pxl+^VAXtkIY9Q5;rCevO?`4Z+x!XNJoZ^#*M%~lXhXv_O$A=xQ zy@wq5%r`!O;IV&O1AHF_CH>39{uGXm)i`_z=M8eW!L?>S+%x6X4~cAu+MyX(i)FcU z&4p~rIMA`&qQyIAet{S(P|`O%$nc)St#j!6!f;&R3_)N@dtrL7SC{2&s+NcSCgNBiiIXJ7D5Y+_Dm?kVsn**R&b%O*fdU zyeyIpBIb4`a=)Rhk*+&AENdH}8sX(`K&zXJT-UHkR?^H>NPo3J@@@#%G(VQ6uIINj zuWbkcHRRJD2f`k!Eq(Zl?>iepOw}~gqy$Eyt?HTKJ;+=1Mx<&14^h;$4Li;9$?8&y zjX)+WufEe;T0sqZ$`Ttp*XdTfs+)ndy}aHyi&G=I0}9aGEw8dTH5OxIZql-4^UI@P zxthoaS0V2)?Ts*VKt-QuRWvhB)6p=G?5QKatk1>MX7xJ3LUXewXj4r+*+$_?$=i(WylU1Ot1~x=gkr1yY@v~OSC&U(TkE`Vy*{BZ_;|*~n1=PB&|VtiT(No0 zk}b)F@|y`bgrK9DrX%uD>LdXv(^$0}f!;yRnoPrqLLDEww5GSU>TBIVUviS^(X1~I z=)pH-{DvW`nfcG3yWba093MTYMVDBHm~H06#YrbV7N@>5oQq_3x;3yJlC305+FvZ8E|`BmAP&-MngN*P3lBd*?42Bpd%c z2t=9&;>xg4`WiYS1J+b2oHI&XYPhgsyWVPXqaDP96^d53jIs&Z#~7j1)`YFftM>Y~ zs+x)qt?w`24v9`C)z0i)u;Ar0HT1M@(v-r-1UIUMLTYKA@Bcw@dEOnhm?D%qhRYmU>3>OSF zHGnjTy)}fU^3C_6VEOu_Cjo~`rMZHsA4fHHyDbK1`)HTdFygS3u6XgIMvn&Gw02kQ zM~pFhncWyy>hD?Ew#CEQZ;AV6O#Lv5$j13Lwqq6dzm~pqKFN3AW~|BaC-LobPmA8! zJ1tf8t9Y5*K>Fr#As5-lH`2(Z#(!t(gx7YQy59^ z^B6JBbuE{%dSDr*4x;0VemnIb{6CmG(`iR_8L<|{ma^6hLs zc04y1Py9Cr??;PIy77v?s9_>>HpFH+9zPPojCM#fElW@_v-iqb+&!CEb~2f;>*X28 z3#9WWkEQ5L*IBH821jKVTyTuKwsG3lb?xafd30hvrE0koV0BKK!fmm*2P9kL&gxp| z6lx@)EjV`Is&fv!$C}`RInV+%Xqw(`GEIR_8y6 zHU(|_k9`+T)aG@Ii{oW=t(CyX8#ZDbw8RzF=YF1Z7v_ZLL_VdhpAnk1_&EC9|BYs} zXP>gb!Ij^gW}c=mqA>#cq$Ct9$^>WDoWWhn8tAVd6&NL<$_W(dGi2xqw3WWtR4etS zH`sL^qmkm4h-OpMFYhdxTrE*L)WBeYXG7u@dqY+78?IHcAC}d8Z`%JL4=1Yb496Wz5{(JZX_9jK%HvQXkLyZGB=SP#2nTGaAv1cn& zu_OWH=Dd%PrKL!7N*xp=>IQ7HdG-8;=OEbQGvTdVH%AknN=k>p(JSC)FB-}J&VkqG zVR!tX$HJ^}XN_$elu;&8QIym^8;r>!#J;V*gg(o8I2+d&$f=|;kD{{mS0kKHg6_#L zG1--xzb>$i(DqD0hZL+pFg-`Aq3-n>9X`nF9^0LyBQ;cg?o$VXgp7*USWE$DgkE6* z%?n&b;yO}00hC+5c|49ZOFloi?sOS`H9?7vmHIUGKO&rcJ7BCuRFdY^ zb&$(@oVPEDfLWATy@%;&)vkFQe-!Y@Z&k!K#9L6`ML!Qpf$D_4mwe1+W8!kG_ykC) z*u(kogi?=eA{A9eGutSl>UUFS*-&`QbKy3UZ3IcrGv0A6Za_{}~_ zxR-5Y%faPdN|O(gu%)E>`YhT1QG-;E7(7kw63P9v8TPrUFf+QlwSl}2Avs35eeNsmqct)E*5QkK;^`!uZ`NyOPe3cOfK5XS+dc6~^5Epg4s zFcHB86)Aw+1(Z0!^Ocnm)sKsA62q~1*^%v42zY%QHHIA^W*$FIvM|X|tsj|dgci}Z z@-JbQ+Gq@Muv9+nkQ{1BQdeA%_gATzqeQZ$;Ftg@4y%FbW35lv4v<9+m-q*q6xrMU zb97pvNr;+r0;urm<{*jm<5Tu!5JmZ_;DxgaMA6TO@nUi*$iLcgI@1mEQ)85O4^ZFF=Sj-d2NeX47Cj0y={2!_0G2M#IN9nO)OHGK zj$Kt%lRzv>C3|^s9xSfc1d2LmG58N&Et{af?pO zR#w}wN93Z7l&EnGD0?)Tt!!dsP2M)Q8(V~{TO_6)N-T8EyE9VD=^;Uz_;d<{;4LNNFSa<5HvfyWn6M!$fYNiQ}==O{8=I?R$4h92G9N7yYitU5*mfMy9MV3v5>A)ePy~Bu!S}`4D=I6-NQ$~XJ zhDUQ{DTMsFf0)8a7Yv$ZctNGOMjNNibj$$?-)eugSzT8=eb(kRSs}6mgo31wl60%x zdiYJqN+`ovionBS^dYL5fK86FXYzr)5MT3&kUW)3sOsk7b|@z?8fc^?6gDvX;Q|d} z7baFgI5xOr>FW(e&7to^3(z&|O;PrXrdV~mlZ{-Ti`jf=)U;hZY|eTTUJ|Mungv2G zEeP8A{T0jwXn_u$t>q8{-LIL1)?i^Co2XA6zOED)Rbfk-5|9#>3c`E^3DQ`UA$)Yp z|NE%A{C9c=k7(pBH@gdH*g{w+@e^W>9TyAz_<+}LuLHrhOhYJ%v~vc2q3M0%h<5b3!*K0V9tl7*LE3# zbTZL|v~(?c_*NB56CGlhIT{SS3iZnX&y2y%<)zowQPL$!qdwO_1gWvZuHmou2mb3O z(pO~Y?e4!_*q4+BxW|-j9UM9{Luz$4oa8`~D0o_9)6C2bP$NEE%fSc*Bd0tzL=GdS zJ46EXY8zZK=_$jF@nN2x$fS`IQUkAYZL-T3`kA30MEb^(T-qeK=6zrdtGH09^6ILQ&{4u!D z{e|TWp+}zmG+iaBGY(k9P36XonAb*JYL;Q*g}vgx`ju|RTFn?#Jn**L-&B!C`yA$7 zbM&Eb2<lGm-m$xoS> ztrvU@i$l0A@r5l4rzz;Pb@!s=qf0}FF{G%BC)HIDoWjHM(}aT(m4&av!P8sq8>VE| z(VW_2V0-I?N0&L*#};`uXNw`*cFxH?n5*q+0!9$6g#Dw zmMlW!zo+sQ)!S*~Sp4n7J+UcRnSR)MTflyoVe;4g=ftZ~rYe=3BBh6G`T2 zqIA<3YKawc=&u%F8)}2GIY&4n^xGnN9vgEa>OrlP4a+4It(%yPt9iGkbycY0^~%uo z1P1gMXK{o;QOU5*Yys0RBj(LW6Ef-7x_ZIJ3nx)X7EJn(u&94HAm=?r^cZ`K0$?YL zr{j`2Jp!>-=-Cjn#%%hI^}yNRTo8%EwG8!BOh6mRpC`C}ZYoOAO;-e(A_c^Pz=J@B z?4~gHSl5LOBR0aDXmN0sVY>yY9^f?-RbWzKTTaqhEn$WQnD|1(z094Zq^9%5-aH~>#Mx2N+ zqS1Nf8`|KLAed<$ad2+H>E7R;)u)lwlO0}>;ily_ji;JQoU)+WDf0W5647n*ExF`$ zH_eM1f}OG^=cXikLnj)Dg341FIzvYezwj4ccjtjmonPbIA4sC0U%lXezjO-r240Uo z?z~ZIL~;rh4vwkXjyZ~!0Rpcu9M#<6;)9UjfFMnDCPu&r8?2P+{5*L^uj8|Z>UO3OXpIUbO$U@HjQuuNfOLF}}rlMq(uLEI3l=g}WZ2_t zWv5u1R;n-n%&J%MH-@Lm=*E{?8-}nEX zee4MQY0j8IYP}jr2D1C;*J-&o6j}G4O^UHu@W_>SB$I??JB-a>u!5&jrO~N#LE@j9 zIRX?xlC*CqqBVlOAW1OS-n$fGR?)Y?dMQlZ8QE`ib{5$>8Ws{53MBJ09>Q>W?nv@_ zW5=f&10Qy$Z4rHkL_&t7nRF29I)x9062XY8;%=wUrijKpQvO&&y5Og$j52z!c_^-J z$4P@5*)u&5?^>-fVb&S_>k z061>WXKJppWyOBtILmwTH~9i@`}k#;jDdS7i1dQiMNouHtG8?9&tD_=kcq!WajMmL zfG=sl5zIB)jiD7&W=xN(HiFiua&GPvF|(e}l_}CsK5VnH-n@a(QuXFc^YEwuiux2@ zf$TpafH?NUJky;?`WqoOVUd{i^x?$OsF~h6f4wPbS*uGlhfgtk~Pm&XsuF({feHP;u#nKDG ziNloZQ~XYJv@GH{ue_3OFne?6imluMNK#6~~oIOFSfd_33*!GvW(0I6Ou zVZu~MWXBsqjO&J}SK`t@9^~e)saMwvY-P}bZB%v?FBaA0_YSq@ZPkw;~N9KvCxz}ow+uDO>*ySt7 zusPWi^N-v0B62H}%?J<>aBZ4fy6c~_z0SLJ9=~D}6c_q!vap}S1P?ETK?K8V3#jJK zmzf#K18|)B$H9CQC%bU#w>3FBtMJ8r7IZekj>QJpv$?j-rEvu4JJ1a$U^QT={O))_15h1gNK<_0dB zsE_dX*LcV4JCDZ4m9Dfti$>43PssW%1H@lIQAZcZ!^=jf70)<@07@3~o)PTzFC%a= zUamLVq7TW_2xF6R|C3erivY9q!LZ?RYln7qoJ$dC=5;HNA)&8S)@;eCYUfYPI^@~v z@u{0BI##x93S3qllDp!<;|#4)sJm9A$=u?%?2A*xsv@_GCd-sfRIQUPuRtXhY(=0n z6jYN$P`Bb7*tXiWo7;u%PVOG&uZxK6*8~LCDJU%sEc)L zO5!5QSvV5itCchq2P^lakL~rn03mSZnFut|MzxbqQi- z7a*60*)raUG>{`FqnDTY;3OwQ?_h_!sr+JUrtJrB?Sxs9lcRPKT_`oY?9Wm?1(N&% z=6&hSU0bCU;3r=}7i%C)cbiJpqPSq)bp5H1LzUUwA6{w%ZCU)1l(Yf;Mv*>VPwW^E zH+Nf`4airSSsaxTxdj$qpE!9qoFDkRMCAH=B+n8m276A}nFxg78Vg926dD-dGu^ma zZf56iZu*Z`e2-Uu`~keH`8zZ2vxC43Iy(EwGBg^VKZmey9iA9zShn>biX!$|5U8%j zyFrw}m=vm~y2{?^px39N(N&3bT*ff_0wC`)L|2AU*Nk5CeOlNIe%z!fL(Q$DQ7Qf(Ij5F6W+-IuGA6=PzwUJ0`viwh`KPwBqpRyzhqV$`|UF8SlP2Mp-gc1z1ljUpU)i1mw;licU7 zY?%2}W}%@u!7(`p)*e-jH=U2Umw0x&<20~>ggmF#KO>>Z@#<@M{H*k7e!h3J@~9X2 zoN7l9v9Qn7-X_yf43u&{wTVqpi+jYcRjqn_VMm``Klt`4jF-2mEF3eD%Jk%-+MHN7 z)M%IBHMMVGh+_I< z$}`m0&=p_1^>Mk{r#IbD=bBzCtw5EE|GDGHjdykr*l`IS)Euj) zQ{d;#<}D~q$bD|c>>&xAgd8PiF%tFQQNdY2iu(0=-Dj7nD=PXh&}T~ae#lZ7qG9?0 z#dPGz3{wZZmL_(U_qf!D45+c-Lv=~H%Pai%RL`Gv@l;apJ%BSn&Z}>F*`8N~sLGgR zhf_!(`|mHDZJ6l=Py)PZJI#+|L`cY;<=a2LyE4Y`vYrLR+lEI)OMKgUY0}WOecEDF zM9Pot1n~NlUrLMJ zayHQW11-3`jL}%O?)9_e>V`dPPyp1jp z!6|!eA^kZ18MieSu+ohuQ4*gNihb4+aGz0|9Nli`!Cm69)%>XRG+I|A&RR%GXtCMM;ePqopi0n_wJaCfYOe zOP}}nq_u;Yx7EYYBe|}jK#!e9slOt-3Nk5@6Oc6v=?1rNpnD+NsbS9_<$8nC$$r&s z!1~1h!${b9j|R`27UY${u_2o~SjbTog;X|6iD};I7v!yJ zNSZBlj3q%;^uj#n1IDC2-K^tVao?4B^8U{>C-W*46Cs{GQe`hvZouTtMP)0IJMTl4 z;w`U6YXybTc-ck-Bn8%2yG&Es?`VmZ`gFO4p!Dlq^z9)k6|t zLnp7qnB1nwo)AY6x3|lfHitg_0PsahQ_)Iw|N5{3+ZCT$f?QT5vyL6KHs^{(!{>wh8G()kRF|_qR)5^Z`uj|PMv7?Y!Pkc#EZcuj3jz`mf!ioV zz#KShGhZ}2%pT;Te7l0bmDjy(ec@gkZIfo}P3Z^=pQgKxLqt4o$KcCO#FD)?@Z3Qm z&I#@~E9J}*N&8xGjL+A^3A-E4*(o8*G%a^Ljo}_gHY+hqpgHy5I6H^v%%W&P$N6Jc zZ1bylcKefqLSkIv96(y2(Fc}! zsy(lzuIr>`Cq*nL@{&FWo{b%I@Un#KIRsg+-yM5rV&QC*73bWR!+Aol{A+$fdKKhR zX<|B9vVBGcX~5k;1vqH0G%K=!rw>$wul7fs8cz7(%J%Gz2)yP^xjeEm#d{O=j^ZrQ zbklwuRnZRU2l0<=Q#nU0+WSN>d z_Joj7L9i2cbGA{*3@#B=B*O6UDb69Ezo?9Rv2b9PUP4}nLwfXH(%VdNDYfenOG z#hqOgM$kkeltfBpcTpeplP=xw@6xf{wtyUOoREN}p z^hXZsV8ojcwDm@2+#R2=wdLyx5Q~;{ewNe#^@Szp(D01Y@mP{ZL&> z0rLcZV!?%?w~``bV5P}=l0Xa_lYsU}7?D0fD}wy>heq2tJI4)k&cD$qc>fXUah;El z<{_el0%6w=-mWE%>rmuLobX3tkP9VAwM7JX<5(aPtuV8?bWe98zRp8M<{8Y4E!mQH z?pOgrewL^BsZEC|8_wa;(Qlz)QivPg8I*z~97``988Z^MFgqIUZOik&L>aVXe|z$Y zHO`9B#&tm*e99-T=xcX&Er(+@0;jh!~&%p6h9f(Dv_?)eYHVi90Pt5X)hM&G^jp-_3E@dq4AJ(LzY*UiSs zH&aPV5S>L+DBaMAW0pSanWTuRqo?Umah)G?#sd2m?IT#9n)7bJQon9sY1{2DsSBD2 z8H6^}KN*i}$2yUoa;ULG?>S&DBZs*wamo#D1c%s@0$xvG$EYh7OjzlFUulDToWq$~ zHAU3+k;ZV~Rzq}_<1p}WJFTnO08HC6#XufM1meenF5E-INC^#)D}G%s{qnWB3)J=Y4ABUJHiriZVZ#g# z^&UkkA>oa-RjDF03@#%(B#e+XqEX!U;@vU zL$C0(ji)eXO2^qj1salWFzO+&3)--}AnTRyqR^G`t$LOdc%fnjR>~|wkZ*#S_KG(% zIl#C@D&C*VdI@R<+Q#)xKt1Y%=}5uZ(Zb@>`H}%KEfcDq^+=3sJ@Ar|9d%h4r(Omk zyvm7MbhJ%FtkXx#EOg(?@(}?V{vV4hAx}OVa%ZYC-ow`e8pH{7JNj*{&H7 zqQ~ba`TlN_T(9@T>uWzB-j$!E!0oxej*+%l#m_Ro3I48%ohx-q@m2F2f`bX4c>J+U zXC6xFU9I{q$U3&`5Afw7AfmOHGeZYK^7;P$br5y|dJt(_!@iE8qk~VykN7_?3UOfJ z!!N@Zp`^c!DV2VFRPw|;|D_h%dI@IF0LaX&^E#GYsQCbCcZ zp6)(#7V_3(q|BP6cFgD%w0h_gAchra@Q#(T(;*%wAWJ1>DKq}f2igl0Q5wSVHS zatj8oQikI3mUn!iO`c?S&)1FPTEndp)L61wV7G`TbgZc_%wUf1A27=YCZLss$7?L; zer&@`p!3Eg)~y!bu09@ADlul(@Y7kVK~FFP&R_Kgb` zWDSr6WOpgK>D0V{K-heIREf!VP&1x#0?_9zfv{H2-8)@GWis5(2**;6F-NW|RgzaG zZs~Rir`n{aeua2V9x__D6<7hWO(#j5x(G{lRGxD=S-tHkFx096L|L6RvyTN zXu8@+S_M;C9v6~EvqN@`0am>g6}M{Vq|vFO?p%0%5JilE{BaAvDy`%|j*^*m%ier% z6?6{#A9*mXk9IOR+@YHT@K&+hF{Se~oEDkvJv5zCJaWd7VaONmy}wfa04eP*+oOw0v2=XUxu>Y=C8^wr z5NZvHr+D*O#6yjg^ok$9O;aW~t z;}5vg$~BxMi?o?0&4ddc*pGiAZfkT(c*BQTW!LV&6Cg^qzsDD_3}+{;_J2tMQ=2Cd z%se4PGcQ2tQ_&!_G4I2?aZvSKZ{v-qcqdQdmuT(0rTa~!$4z*|qrukJ4XHFB@)=g4 z9oi95*K@aRpafS8-J1~0!zps!Qyz8k4R7CDt*lS zJ1?--B5rq}7COlscs=0>6&PO4$ToIjMpu|&-CzFW+J0HnFr}*)JNP&1>LmG;lG^Ao zKe|;V!H3FkF$a(=Akdy*{Pz#hA8S8QEVj|z!Yr;4;eM#9Aj%wj(vkwwRw9;6`dnow z7G}V~W3tlS;-s&-;q|h3uL>Dfm!6VJx}+f5nP^i%q?VQ}6zi8X2F5iec&Qeb<@HN! zOg}M*AZ%55SIWyl#E$mk*<>nmi>9ii++3FzxKU+HANO9a zYm=GLIptgV9t2GBL|oYwS5yCx4naMbE{4@C_U7+V>T<5KNYhf<%P@L06V(76SiPr2 z1)w^0Es>gRBZzp6E1J2O7NZZYEph+>spBp`DHU3Ywia#tX4L*MaYxxH_OQfO@!unm+pVgE12BHeZk&!?Sf~&@gAIwD zef{BN8%Iu*+`+spD7!Uvvre~amG;Y`H)77STy2{AKsEjPVYoS~JB|0msPz$=!3Ryh zQM^cXTm5KHeL(hFojxqW-5pn}0wN!{2t&yMFxOvQAa9_8Po2W}o>9ou(k`R&*~Ih8 zK_pDa`iIFlAI|9I4X|m??5c@c81V@ zRz>kh)u)z9)pxAq$(VF2+KffLm4%NTpja;~8I$Ce&&6-APHpeNz;RR-RDV6az?xV3 zv#p;vmatY)V=AfWVu}3OTQIT(oERDAQ}->Sd_8?8_@8?*3#?*>cWVS1IY@7eu7QByH_tl5TwQM$^g{Zo&Qh+R^MR{OR#S$ESeLzU2k9E36f(FS*`cB{0pQB=^r-0<==7=eM(Yln5FPk7ybx=sY9FeuG#mLV}^y zYE%y8&@@0sfyI~rIYD20CYk2nPk9y8MsD1XUvi9Zh`>(I%uku*yc(rMb)w{zudyS{ zE*Yi?vpbzC1m6dchKGwL)^1}mWbk8-qfh#KW1`_@d&#)+dZX-(*6Md8fJAcS!A*iu zyy+*Dy^PMP*j_A0Zz=U-n}uXeah9&_nV|V_bU_Q}_0`!FGT0)2PH|9OfW2ChhD`Jn zMHt;AM{Lp#GIrjrs|LlZwn3S!L++5ZsjhNrw)V9n=l%?Hg)&jQ;>U=}(N)4-bp;5; z8dA8cEiCJ1T3^s~oAw*F2C3XLUal2mR6+ZZR^+~LPr_p7iz1%1O2wtB&MqlpECq`7 z5bE5v_`n{_5Nf#>&^o5j*lLqj)u?PGqM|hC6@-h-F@lr*IA5oPb!{Aa0Y$DtHiQ;9 z2j>)1Cl{6;$W?lqxwg1n%0`T)wL~EMO(NU^m#!5)(RofU93u7(2RXHw_@0@t$hR)@ z=hXB{z37*dHHZ_>_VQTf7Ph6^+CvA+XI+NV-_4+hS-*8B>S1BrI5{<&f9=$CD<)JJ_qR8)2TK4 z3mHo8BuehVsd>{x?$0*fYX%4_L2cB#T97CMuGWw1!htNFmJvk-(e=f1%k^7dk2Kjm zbFLsU*z4f)tnb!Zun1(!M7h#qH71PO7TmF}iL@-+Ce=Dksc+yvOJ2c^E?ub~JBunr zRY(&rYsOss4S35ZU5qC%AoGvD`DE(8aqnHHjn49LB`TLWC&~3_Pp&m?K;Kiw_#N56 z>-nfkCOM$vha_gGV=Ez~1%Jft@RGK<9W0s+$WvEb4&Ocn@%rGmxSSz&3z*RiOCr<_ zt-uWnq5RPYEL{?ZQwVNjREgTNBYxzpGp*ec_q937(l78b$X4zqZ29F&yM_9;y&isSY+KxBv zzi2%Lyp9|nfm?5ovijIbn%ZOWd@mPUE@eaQZ6B!i9YsnO#S?=e=;%H5mP7 zQV?&oHXr_S=*%^3Cvf*w^dj^NdnRm5-f)3jk-Ag;$w|E9Xza{T$76!ra%GF;Ae$E; zm`i209UWifW(}UO%(Z-@@!acnV3^^yQPzQlIj~@GP2G5z4V?_1;01;mv@iBk9Quix z1@jnT+3nyY9Gjju$yOMT(jAS>tKwg;4huMs%F4WV@dSY^R^t&$MshIb15I&vVYL?y z5sq2y~gTjYOHM}rZj`T;<*Lp-$PiL>#^mAt0vUc zszb}|Lz<>#AS&CjHLcl@uMLkOTX}PL6^j;ElN71fw_-;-7n^YSv*H`Ne&e9mW?&7w ztFku7#$~gUr`M35L^*5`QP)tp&J0ei8BKyP=wxJSH?7%@=8qKiY+^ZH`A`HL3g05# z%Q)_ZF8EQar*SH^ntqPz?07dNdnG*3%w?)bd;ZZhLxdBMY`MF_DgV<2wk{v!D252T5giUE^z~qExPlvfjbw5wD4tXguer=uPiYc!{YXs5|vEgZY zWvh`~fdGkWV<$Z^J2mM(tho}OnCZxkgM}>bjm6n!M96py0G|Yj?}SzGZ&ii*5WL1N6bK$0dMogWMX4zV6iMmV4ifWy^$68OOP8 zEO_ZBKC%fjUQ`a0?hMRz68JSR;bH-@!2yP-t8*Ab$z#;B{muhwevs{_E)v>I?2~rH zi9u+n9M@$?wpTWz@H`}gba+Wm2d?5ip7H^#Q4+HsUA4|x-SvzOgbxbVkr1?4;|tAb z0e1h7yY}mQ5N7s0ee71wQ3rkO^0bpS79AF2(Dx)MizBA7Z`)4U-Rif+;-w69_?D9J zI8ZRTMzHfs7Nu!bE;vzp*Gug^zas%)*&-mk-|1Ar_9xe>Z_MD#v(RiAhad@=WGcHa z=h=7Kr+Bye4Pr$7&GAdmwCbKO=>=7opkvnoS5Cjx(S*Hp1N}0X&Rji*v5mU6KU7jW9k5deR{zStz+lWs?pb)gg&e49JKL0X3f ziZn_Qy8u4_hC~qWBNE!`v931F3Q{n;#}VuobLk_(|HjH2X)BI==_EWsuyIOug1^9T za+-F+{%n=+Nq&;qnnfvFXST=fxYiqE>?3?M#)6$BR$w1dyoW>9uk)6DB<@%Z;}ngr5cAba=+_WuqpB% zbGD4oBr6uANCU75ZH`Y=YbmKDCS|sy0!<7pI!5|%C{xRJlodd|Z;2F6j2snaPLq{f zb7;I${vs_BxSSH=YS1O(R2VP44@LzC4&>IROE97Dd3ck zIj?UQN%bjd?dXa)++SN}k+(EXK2w@Y+W?n$XbuC2m0sR-*7J}WmL8g;=bDm9)Lu6m z1dX6h=XI>OfNPLrwBM0ol1wtHjn0e{uP9E-tbtH5XdT7&EFL~R8c`BrNeu}ip*$Y* zvUqtJz*zoTx0nsk8t7*Bi9=Uea{&Hz$j)s`H-P_;WpKrsVK!)dIXm%Xu3l;%&}G;V z@uzH}rmXXeT%60%GOl>uaEp^GY7&IjGWMa`4qDZlXYIk}6 zm8USwH3D6GqSV9_R&NuMYTnqGru_1_9dIghQXXULe}CQAg;7-bL3olm$iI7QKDk zE>=U8vZskl8dTd+hEP+m$G?^mvzu;_3knROP1^JQo=$Y^{ZY0yEMA_@J0!?Vt)Q3M z%#^tm^?R2gaM?Na_6a$iv(sXnwMc8QdV*r-@djIT-8)oN$1Ayb6v=ewJ=UaA$-5pI z*9=C_$vv+NY)G9n+yHNWCw(^k+=^=c2(%7QWaPGjoSWps-b*xUwvBo0Dlm-~#G$q4 zYKb=sIZ{IW)b&z5(Xyzu8&(k=It#I% z(wUhNxQSAfl=bxzhYOvQ)**DB1B@P4UO6ilRz}N@{nx8vYoysc9S$3Chz?~YkF-_w zgTx@q&U8z$TTP`o_bo+A)n5}mQ&jcTVCg3dk>#9Hq1w}1yaxriYYb!7+T$12*ulr_MBo(!lyCM( zUWdHWB029Ty_V=-%XME*eBWnkak)LO3)?*J=cCWx65rnMcdLZFKL4Gp@^$pOt?hUJ z683BR`zACmSJ(Ic_SesUw3F2+weQ>I=Um?RtH*`oI$dw4>!h^puiY)mS>4{3w~veI zsB7M@vgO{tHQ&GfGukf!zS*DUAJ*?DDF_Jf|2H+~f5F^aG_Rd-#~nUvdkrP^+|%gB zPhWYSD6_{F{y-jc5xh725bKT~Rq1SGiZq zbTJ`}h@mWFlkO+6>o&Y;!`en|U0pO+{Snvi8}H|(`)j{C zrw>;jGv1$m%xcS8PHtTTWanDDctgW2?rlE$eZ;>++Xxmm2Db-zOM%TQ}3J8RpT!UdO9}tAius z37sFe#s2HL=@+}#qowO#+1Q^`ueA4j9~URZIoWx;S7OXu?@h0#2N&iHRjkjr1U;*B zP*k0zVrti&??BZmyJUC2&6Lg_4V~KUx}OG{OJQAyVJWZnpUX=}u%a1ROGo!_sa{@i zKekV~^Zw>7uOF)Bedbs|ZzhDz=3auG>34g1*$3LOtzYNz1mE^|gfi424@2|i=Cu@Q zWStHV>pi*JeZC8EU-yb|Uw`6u8-CqmyFJ~^O_^ODOlfD&962%b*qyomFo{=p*9=GhV@)?A~0GSP< zomy@?qTHu(tQh*#;bZPepp+uVp%%It`(PJe^5mb9xLk5(|E-uHT8ougCid&l9v{6a zUzmm8a>=H8Hx&&YaZ*{LdZpGLr!q%b7BnwVY3K!P@Ck;L08Pb2996d`BiWWb!tUay zy^f}OzS1LY7UDjnEkkvtnSC$ncDE6=mk`AdL0DcOUEosPlTmP2xwP$!;%q#n#2n$@ ziqv?tqd#6B{kSD;>CsW@Wt)&&aX&C;6nbIZ_6HKhY5AMJU+zEUGG0H}@blhVV*h;#vNmkt?Ghlsju& zII2g$A30@{(a*}VKECW#b@vBH&9^UA)6^^3bQboqZR8!qYJ3;-YzH_HzlC+hBrjr4 zdft9hw4<^?mBq$1v}&`QXHelk(VLNE+hG&Ou}FvSY=GS_bJT(wyhYk$dPmCV zC{tXtl>KxP!s#=%#ybM=mj%Z}s&i3P>mXA~)1p{YI6FdK-N&mi!Z^bIJ>_ZR=$PZq zTmPe7%JWCN&zmGEY08E%nOC^SO<3nB9KoGXV7IzdY3~7ko%&B;W$bR6GC{nF>qs}p zA(im>04a(GJ_G?63*?M2-H^K_EC-Y**G~8>$$5D2NQBRT`yz4=q5|eU?>?9LSvkrl8&;45jJg*lX9$g6oVaUXs5_;l;M&$Ld1^tl8evx)y$Xc%!1q_6=Kg&zIW zlB64G%8z0ju;5zYF@v)c1%I{@qk1k3{ZhIjO{_~7!+`lAY=9jw@$9TXGs`G0at0QD z(un(Vl+1u7?@Z2g76im%39Q-@J4E$|GJx-&k6%d$i8CpvAM!flYb*A|A8j1*AQF>@ zs0S^Z4PN!MRiiy~6QoeEyN=$u#)Q0B=gK68Bn!ViNA=xlR zI4ftO;@|CI1Z6>0j5b2;NZ>d4i&v#PWEMbnq_X56nz5pc1(Dx;9}QX$eTd=7o&kOI zz+L~BK3#Pv&A3tN$BtWVZ`oC`pfZaK?2vQ_v?X+hVG1hwejKjL5d$nY5o+rlmU45Yn~kn*sF zAhi$993+L4ESUV*?mNj|vH=`JmHF}EjRSPKWwCV?=FUu;2?{Fc!SAWyGS-TXrKQPU zNlfk3^TH1v!HC{SCNLw9cgZP5fmBq-!BdhuN4j}w6_eGr0FFR3#(Bu>R4Rxd>V601 z#uOq>j%_d!f>-wK%ZVhekGJEfq}SKgK>{%o9*25ADNm48XJ#?+v$LWngNU2%4n*%J|y#;%cx2qji2M-{`K2W($Pc;c8XWhun(Ko`7I{khu& zn_T3D>RL1_y)=5zYi4i~msk-S6)@V)Xb|72^Zu5xD7;3xK@vsDO(w8rDrHb+6aWtL zOE?tN=|3}S5YI^iIahoL>GOUI)!KY#WlKsQE0iq+DAESzo53I~<0Q1rHiaBwR0y@e zPAL!uC7+EU_!cLJZt8Y($cGV?- zP1RI9z3E{nQS4`Ro`>w8{)hWwktufTu0I8tVyS)cu9pg?{ZKKNmvIWG{Mrnd;fT3S zP5xz`8W8b~QqdDF5^$(agu9V*hGFyR4O4WIp{|Czppg3XB!&KhMb4dnv26s(gmXje zMbaZ`oDyjpv~dCQnDdpU{`RT#mpTAj08$M21*gOOoMtH0s-~_z_XlH{ojN)Gyj=S} z9q)>Qs+_#{n{s4Pluo&wEQdCYqD*Dy7HKrNBs&Z$nG_V6w=9kV2}$G}jODfam^@3M zd6$w+`~<*DI@&Psdd{S4Xb>yjNEBBSLaw=?9-_wogtPPaYR&gi@+BLvPp+@iV>(9P zNx#Wf*q?N@G)&SwDp@(c5mJ!l1!fca5L4T~CmOAaJpkRZI^KH8#a0GQ=lT@uw|n&N z9r7ToM`1y?n6Eksaa=_ySPe!koe%^$2`f5fb8S&R1k7ZBQW!nKoJ)PB*5yJB!Bl+GE$>;y>_(HB5h~ew(5B_909Z0(JuAfm5imi}fRuC+ zWnq;9zb@Zc0=GWaRYnpSXBVu0KD>aS0_W7L-uFy;BoEp8&48LrjJSfbNAdknxL|DK zhRqCFkKo3VQMv^A6I)sAId%jZigpIsisWRo3|+UltR{{`<4rm=Tce0^8in!0iX7P@ zKnr7)DZ%{5zyDY(F)Yi#n2_#xqhmml@I{os0P{kImdHSJp%*YUkekxnSFj!EgQ|o^ z!tysQ{!M~Z4u2PJ_cfwEi=P2pc6Ex#p{0wzCR1E%)rqlKq9;jH=D4i<5)xFZ=w#fU zn~%r$b*$;^>YzZ(uv`ccAdWd!urU-Q;HoC>+F?G7sho zhD@EPg4fT98O!iK`G17o%A(nijJux14w( zlLUPhs7}~1xuLA;Gb;!us#pl-pU5v9nC4r!#~Bms*WxcnQ$l0?PKM7$3fHxSTBrfc zdyEb`UUA}o=L3!2qJA@04P;W_uL9r4D!mimXux31=?<;f z;!2UpV9buI=#8D+XLe%g!n#Hpu8F@aVncWbu7Glk7ikUc5u_oabs@LsgxQA^Zdm+* zkW@aZeAaY8_90Uz3QFo!>+iY?7rDmAwO7@=_&0`_2tuMjoJBB7)P%Kj;s&Vem(e_n zw!Dq`D)TGyd(remSHSUC{tCk=4~?xr3_o^4oO^x<9DIZ1nQ<#ewl63Tw4CLuy8d_> z4gEU1IQ&?VuA5zt?xoLISgpzjf_j~*J z4_wYDH@B7s}gfYl5Hi7SQM)6McbSYg^ zLG2GUlPtcmGkV`QNZe0*=PwZr@cA_0oc;!K;X&a<-0twixw;I&lGkCvNbUNt@2x|w zB$fb9}0JzdPf+r=!+{Ia4=#acCah;6h+2!NfFD3V21t2{N=WGN(q@2oY-z zFDPsuK1|#VEn<3<;B9}8iS5mN=8fl=jYBIbgia*r{;ZO^dZH4j-L>IvrsyyQ&n1Dn z=q2@s<-&_&$v~NTF^Qjy_bG`}fUi;{1@xYhU|Y`PmE#x{k52_hXU69Kdd5)mlbq`s zW2;6J`qU7MGhQiDkpcUxfhMcnpak_}3b!m$LKCN7TnXbh%Bp#%;I@&oG@au)H)S$4 zFEt~wFr&6CUA|(>r!!+sQcg5&lqMRu(`&$V{m9tvCDo`*UCJqe<`Pc;WGG6YdKwcFFZ| z^ZSFD@4I1Q-t)e0_Pfome83NQxBZ{{F-c-H^?1-AAOJ!T5cdCiKjuGNB*q5L2J|NG z&W;8^OQ+!s8>c;XRR7*%HRoIE4CWCwVhF|ietky+JJeRNtkoXnGf90E7BlNQdO^pE zk7t{4w$@QbihwE;itdw=cLg^oOO2SH^52SKRG3-!Oz zTYyf$9WnJdTD&*m93WQXd)kP?J{)(038vsgK$spv->iL1p7-aY_IV`5ifP_5O87U( za_~=I;@KF&m*blD-o2RHO+H+w*+T;(LBF(Z>j8-z-h2OYKEYL)-x;m=fpnqq(8;qH zKN+;*{ioOw1a}B-AR*Dg1OWhQ%fdF_aJ9%k&mU?2JV185S=qih=bl)*V+H|#_wbbw zgdYEo#Oc$FZd`FsquC0Sr`G^QP-)E!vu zsKF0K^Z~(i=CDE&)5YTxuXGQoZG)j41$E}%@sWm%mFRb3bVFH=ftN5(H@C~&>!<*^ z_S=@7jcYcX^G8i`RE@{L(NHv21l;Y=&;Dt5d9jP)1-n|IL1eJE<48#MqfHcyZkXwb{^sT_7=BHWCmjaIJuU2?g8R{hD-LalrL@Bmy2iXn6~Ii;{E9YN9)BFY1*oSGH$q-(nPN7QKk{5|#WqeejTcvWkpURDON5moGO4 z50G{*$0WP0>Xl@9I6%{XGo7IYNwchpQK3WNF;)R}$5hL3ZEKAu7$0pA>*y5dDm_)} zmTBU8Vd3#_I-%is(tluc8gWwKdOZ|HE*R`~B&5ff2_57Ii|so;Nl&o&nwK7q4vT_v z(P!;=B*Uk3q9Nk3SNos@(Zdcp_H!)j;?0&beW3a}zpytx$nYA1Nj!TwK=H8X{{G&Q z5P^hnSGIz>v-0|+V$zX@amc3t$OpbOYs(lGoj0|%uL?X1CV zj%=ga{ri^MkG0Lghc{ZW`pB%FjyZ{9cNJTXf>2zsb;^Bm%9zH{h+{#@m8mLiI`t`R z3?gP}J*99pDv_cAKR7)d3cb|5{_E!<;Y`M&Dusomh0iHw0@A5QJd2iER_KbU(nV^m z$s4*v(FY9AtivE5Rkbe;t!hluvw?}G{0`5oGwqG$XN-xD@Mh*^8=6F6kpVZ=zyj{3 z!fI+e?nw>RqMVW^9hb}`syW@#{vVS16xJK)jI3*hU$p5lIT=|dQ{Xm6##fLVM(%V- zn2Qd)xpzfg%#8EDiV6+}+qNYnMWCvFIo-}(lS@5%AF>C%2xGZ=)EA1_^H^QbjSG8L@H@kLD5TGjCn296Y zbL(_O+jMuTIM$zLo624}0MV`y#_Qa_H|%O?CE}c-CBT%8H;RKTG*K=uGqy|8-Ime` zr8Jn28w6by_3bS9Rxvx8pk_*`-ZNJ!*&N1wH!My$(4;mN2UZs*a-n{IK(YC0 zqHIacA~iE9L*D}9j5%wzW}^nb<2at-i(4j{Ll7Vzx={+=S6s#WNebF=j>7MG;-x;@>k#9+5O4o0Xqs~;`7K} zRy)dIXD`VAsJQ=%>;K{WqWiB`-2V`A{ZG@^|1A>p|6?QxX9H^sqyJ4E=6{`7UinWO zCjHO7#QFah@PB#3RCJuy*^s@T>)LOll2kDwXrXW{O`lKUx}@Z`I&?rG2&t9gIC)>{5*D|HBKp>l|y zsFNJG*sMIG6~wyy(oCpzZq0M8u)NVV+Q=GUX3Dj^*46SZ+vbx<^@R*_IFT6(t%M^R zce_J#-tSfNr5b6IYnza>v)9gS+{|BkGFnAcni;MZT-)o2)H7hS z1Hc+uo%DA(i_e_+`T6;zg101nWk2Y;r=OJjd*1T!1Je)t<7j6{*NaNH+Fo}Nz6HIp z-JvxV+6%UNbK?P3a`_0GX;NJ)^xmWZTGt~py>0l=eS`Fq4OasOv);?!A|<6>0)%nh zQoJL$1kZaij;mb0Dz2?K1)Xm%N_M>yhP_iCp6Z<|>_G!&K|<1JjM`tg_h%raU~zMO z*{qXYPFkuAvofo`r~i11{5oJRka<4Xi_F~ZGpf*71kf}DUbVDJS*_aL8p|nKVIz1X zZsSfEOw2PGt_Hp7r>-8$boO-iAkfa}^I7BTw;VEIYWoamc2Hn6U4RD@0`pXv$7D^c7KY0FGU zqzR6DiHBfj4p$ryx}lxOnrLg`W8oGGfE%V^WOBxF6eB~hdsHKWV?o0y_LqRDBtgJM z-0IjqGo9H#D9<<`MUzdncDKY(~Ua`F#p5Akf~qc(rK&_xm0 z=|(&?z(D&?QA}MTKbGfVVyjr8c)|W2b-~#7QCLLJLsFRHArUrIZHWGk0o@QUlm+13 zCYGUNjo|)`cC>fWoN_pHK=N2fpe`(A{wtG&pp$a6DOr3{5jG4wl?t&UmMH0fJ57j% zAr_p66e9C288oKFB?3rO3HB5Pz;}ih zPI&MS2Jp4a_Z^i#zZ0$4DXi~Ypdypx#Qb_co(S-Esy6jl$O%llQ(~BBeLq4U^zNP3 zzq~(+es+B4eu4kz>(C>lU03D5>rfFA2*^LT%YRkK_}`QB|4ga>H|?C-ziin4!{@oK z?`3#ZH5q^m(tnvmN86yOMX=WF*2cw!uUTqiYa@|T?!xphALcppbpL^)q za=Ny8|Fx*mWuCfzBzu|aHZAJ1!mYau2md+2zsZti)1^tnEWN~K%YKoD*!v!J^3uFk zar~B~S=-exOi)->+y%PIrn<#*!wx@g^I zx$t4NY^#5NNvTo?YNfCZcA@lHsEVt?XN^6-QA zy6n@xPCyp@?G2t@m3C(DU1F*hcINKQ+JzIIN@%)tI_y&7i>0RN=GDD6$it4>GhWO~*3-bo0_fHKghM2sWwi5rNqRMgkb*pP(iihZ<%(kUk!GJc3~(@1%V&9# z_O{FHDIn$Y@%3ye-`Bi4>4+wlm7_!10(cHmEDOM;_COyFGK;Cc%Ata|gIX*_Jw~Qg z8t*TU^%Da}v6*3s1OKT%HKuC)-l;3+0tYI;=LhyjkpvdcQK2fh(LQU&sTouD1XFfl zLTVXa-OPk;-)7@Me@g@V6@3mkEP_7fPJQ1g2r673LS~VqV`JU0=nJFf2b%ekS7+@*Y_ksB9Ov9k%VhJFxoPwg$c&? zPs{*|rw7|)^2KYhR~{p-GAa*7ouBC;8uHTdz_PhVU1UH=H-p2fWn42Z>bY9#AM>DoDf@5}m7&Ppr@u;Ao5NQt7G)R%zd*3$4~qmRH}$5O^f zpeHJiB{r$J!kyv!oxSyO<^7$>uoj`A!Fv;GIvUZoA0MgI)J|0^JE*&lY3|aJV0fI`)6web9{dw??oPqtEqp_+4Z+Z9e^lT ze%nuo;QPyOlspFY(_k+wJ+s~tbo?)!av-(^d0`MLOFFs^H!Z(9^LJAO5swuVCi_=g zcdQ|>i7+Jr8z7Eu5p|>Lpg6n?9X>Ai{jj$m6bnK%7TFtB=tU!!dT*vlW+}j}twJkT zV+VmL7~>SuAhPNN=Fo;>GOm%3O`@t8g|IW?_OY|5EI(8JM(Et(f-sQvuQ?DnmSE~q020)!c*Tq<@YQk}fehdd$e0Wx7{QZOX)62?O{uwd|hbUl&Wz0dM;Eu%7 zW(an0LiR_k1LYtFYugu`B^1NaK`aEd>p;f@wujHtWSjIYa_M;OVtF^SYyA8FP#5f4aA9dfsJZ`fk{q)feHWLs)7II zcf0J;ZP3$n%6{MKDJTF?XE$)Q9r-f8!;#PG$HAN6fMBIvxD|wLT)6(}f#n13XcS(0 z_~j|tT+mG;>0^wNEl8T)P2>({e?SNgv0 zy$fxAo!#wC90PoxKUzw!d)_YZ?G>5!r%<{*pG@h`0apr&x&H5)k+nU%htDnZfSXW2 zjsM#r;7ihXSjhMD^Hg!>>-1r9nMrZm|CwL#V9336yX$5De*WJ7-!m) z%GC3ULgaIEEcE^QY2JSD-1GJHO!P5p|9KTOQ5Z|;cXzPstM_ynEBJjDJJa)i^>BIr zefJq@zn}B{m8&q*9X|1Px4Jzt^mV(Ms|fJ-_Ii4^&mHOM`pB60x^H1JPWAV9f4e&0 z?)tcIu+Ker_Iuy!NZsy!dA|m9H`%vDMrHcnBY~V}x_LkE`V!|0se1T*Uv|a{sodX^ zdOTgSgg!sGKc|9b1if#@Zcla-=Sy?51>YVLV~Kvn3VxCse4ah*B=+!qJ{BqpcJm3u z>PIqpeZ_A3Ob85ybQ?Wi-LG!fwAbZ8=u-tW0k*L(ZtYaf#z2)U-?yFC-ycX!?IZu_}--n@XnyLx@>H1u?T zDn|(6myfJZa9*i=XqtUk(yY_?`7$toa%AjFLCIuaw+karjV+%l&0ZD7dd{6(_WMcB zA1#a4)0at4ctX})CEAY}99!-OokQD~l2^CdzCA~1=Y-$Qu`e;647xtg&ABfh@y&(g zH6-19HGhh{7~0-4e4+vTF_nT%F7lRqQ%*7zU+Z`A!+tV6`fZI`iabN-)xX*XM-J&^ zZ5>74X;R6W{MKs9C+D&4V^E}kLXT4doqk`ZxBI^)K|zkM?$4$d?hK0^>~H#X_g7t6 zXXVG26-~oONz+HaJg+uxnu@A^GNo_F7B0A)74u*6d@=ahIS=;?sW-l4dH}LtN2{}} zawN?lpIRpbmOy~{9Id7?)9KcCzY1NO2n|Bv$R1hAn%ieGLG$6`CC90EKdW29YBqpV zXYEw$(Mu=i9?A4%&&WUpXn5eLT_PMPu>gnvT=tOJs9I`WjYHhD$=2su=iGcK zKP`}jA6U}sNX1(sxz=5@Cvl?mFT*u)5;P`3|DQlTyY*O%*P<&(!75andKMd=+ z!xF6@d(Pf6*+b+UIYanpN%YFfr!%TYUD+Co`TX-azbVUm<`~VGMO0+)eE#HO#Lc0)JXvf1xtNITpQg5! zOu@a%aWnhzBzpO9q+rC)es8`!0g01{EMrq~B#nh%(@-doqc3u1 z|9wx{4-QotBvUjZ{nJG`7_ls+PTdf!bn9LvWfS{6Vtc1$zF~G@7o%H#+ipWLImhA% zr?anQTlKi6yMYa3zppXUG&FMGKK%5c!gNw&(C|?Hpf$vMUAiWA9g<-7K8_nU2qGNA ziDl_(!cN~oXVq-(kDwp&ceEfElb@*`PEAoN;&`eKWwqB8u-Z)@!oiedmBCNc6Rj!% zjFevs7&!0VZh(BMLpXN5b-nPnKZo`SX+xvM=Ib399TpKJzcoE=O=?(-8Pr*#|oIbhi@!Eop8U34>#+j+81& z#+ljh6h26N@^=52aDEUR}Du)dEADSbR2Q3b(t zFvDT&j^@E>coYaMcMnON$gF7sy=(w`&{0?f!~Ueb5w4LG*b-Z(Xz)B)eKRRg}glnzOxkh@=B)8 z%%4VF9|qfzRHy%p1`f!_wsv!mf#6`eMQd)`LZ)su4-5{Bu{N4azft1?b%$L`TWg~+ z)?9mTbGVW8{nz6^9JYWTJwAvVt*Gp^78}!Ehe@X#-L@7H0lB!(0!48B*KsHTR0fC0 z$WSt0BVTLZColM*P>mz@7F5(HzTlUB?|z8E-M^nIpcErOvRlsdba$Ioa{ zz^v^-uVgQk_gBxu#fxdw^6kWq=P9cgP5y0LQ`HFqj-dGv1681i-b>a&KM{e{5Y4T9 z>lH;mw4Qr*0C%w-fVpcZ}woJ~)=6x77kx31HDd)IPD(S?CQMB^;0 z{W)%xu^GBK3?&?W+a=(-Ir`!Abh3P$yAkjS9g^k7sh`74g~vbOu?OK$rFy`yf6s;A0}S{0W?F` zVok>$!yp45A1|aISVx*SKVTe2a?>>0eue-33~sl$P~Lz%%Xfc;;dW>%xZ3Xqs#rdJ+CWZ6Sz*{LTPoR;+9XSi3-2b-Ty8sGZ7OJWlknnNtB0S zlwq6=^$RBF71kM_F(?p?XKokgHp@5}hRB*f@rYQ8%3_==0>kYwA{LVsN;F_qUUxKX zVQ1(|7p}!v2b&?&e#j|xCbtu7)E75lbFDS8+ArUt%B2^bK5`NUF(t{5UqqNxG`1F(+z`?!^x&B%9R$?Ci4@9R zwUl8ZG{2EV{@V^WRIlToZa=+$aHIQ=0PErGuQp$=`ww3azHa}uG5)4Uf-ww}44Xrb zcJBF}SEAmj8DY)%lpk55LB$LcSs0g&9m3`7uFpZTclD}eykyOWxCV)ULU_=+qrB)l z>`TDN?bj{Q9>#KNmnW#_?Zb&jfJg9i>QaWN2Kb3zj3N|a{;QPI&X;UWJ+8As-*R`$ zba(5vYZtC3+;@V!P8@MS^S26G+OQo-5vM)WsG^}Cr|zJrW3>9&xKNJ)VSV3^awT| zvsj_AWiqv4YD!_W#-q5;Z5kJKL*OIt7#YEM=^&S(-5<%Zl}YBt-dJ44p=9CR;m;<8 z9Y;fQhznzKAXv_`y-uz0g}#>Ehc~rR0*kzKrqb46mZ|0kK9JO|_#~mo$R$K*>s(Q& z4VsX`vQk=L)2-c2$!T&u$L0?1+?2K6pk=|eq+d->`7{mY-}9fKvKCb zFs3$DVHl%1CgGo5%XDKQ3SdhsYHFVk=ZvbS%Znxa8;L8L^=workMKQIghddHa(8VK zRii)9&#h-3XnEjmM48c!xowBKm#2#PoQ& zs@!?`@SMNKKUkfR^S3dWWF)H*EagI}5I{kA@OKb`xA2qOdM`I~K{4|4ILI3#RtN2% z6qNy7dsobeFI8%K<76Tn^7iP_PKxnD>F~VN-|S^m>qLy&YIT@>NK&92vNa=A`)Ll* z_ma@MsBdD9iBJ$wd9~8@np274p1NG& zp@&(G`;F|3P9I>eo-Yj1>agB6!!Qk1!_xwO28oDETNJvqlg}>vXNmPQ!@JBPV1

        3B@Vj=*Q(dEmd&`bzr>Z|Q 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 z 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�G?Y>JI^an$5K}tHvBz=N8y(mMzQXVS<0DL z7E)*R*Me6k|H!3+U~qZeVo`W}O>`rE3x{QT8}w~wxXevZ>F;_&SZ0vZs<59&LbO)o zA1l*Z%Q-5o5N|SKy7wgd7;o>vx#1C$Xqx=Yh+a2ax!V=tyf%~Fnkka1$ZU!%W*7m2 zZ-`HcR`@J`W0`>8QxN9D8Ut@ZE&Wa~Lc>eUSDy-a;6!$7P2fG_VBRGY{Y}ND|1do~{iCzTpiWtk`!= z2lrEAI!Xvmd=W`wH`UL7IM3iH^abNG)`_=8&S%zr6%MX0f=W1`6-*N2_dSV8bY|;D z!GOLdqNYx7-kz#dBLMsv6MpflL}n~jo16v4P)ua4Gzp{QN#0vYV(%w9jLQup*-|z7 zVu~k_%j_(dk1&EHZ@i^qfOlPKLIUq!+qcoT`7;1KVXP21*&34nJzlGg_O!N=1(pK) z9slNc3#eojH3RD}mKPGOr`1Lpz0ge?adGRS5-P3`^%GjLy~ODRoh^yU_@OEoo0+sb zCV!6Tj2BT*!qu!rn>XI$B$Yl!+4*+HXdUm)=Dx;=xuC+hexf@3KHDAc6slkwt;a8% ztv|pdGL8WV$qcH4q@vA<$gTZQg5lZ0j5M@o#7`HxGQs?p!DW>&B|d*f`sWv05*~?v z9(*LaY2n8F?PD0^b8;UdNijV`!<(CVbH)Kih|RS2V)r%6pVAfn+Ze_bZ;rP4>u>o5 z1wiH@*X>CE&aYz7Zv2zuwAipFgC)D|Y8gJGNs2U)3A@#Onr1>mIBLJN34@GEQye$|dHow^txqAC&r+kB75*dg~=`=9kLi9cw z`*{9l!WbLcze~$cwAw_f#rn4+FzbSkDD2OT7@|eK@~0!ibU|=H8+X}ZzQthGf-;!I zhvNH_!sjgvZER$fl~IAemt9;t&3MMd8T+<(6+4wOs>S%SA8j@SQ(ridG#z;wg6bMX z_-K`Fw|Ihwj_edIRLL0;sA#mqsefF4j}op-y&PDSj`Sdbf1#m#y4GN$Fj< zX)C+Rl|NTNqTjS&+&Wdws$nPy!b_MNs~@2`h|9_(w_X;1yc7N%oVwsQ8H_owKiX^vIIB7$*13Sy+_Eu*gz>|NiHt z@myrEd0stkpKx4vp-0q4CR8C+GZvK1Lci#SMcsR#Z=BT|ZFfgnv4wWC1`3k9u2*hd z#SHsX=eQHo96%AXW~2Bnf_9dF4$TU`r@ig?=6uAEWr&0jPo4|fs=ZEGep6)HP9=*O zv!h=O-RSTfe6?F8zZMXmI1%#x>y9^HnALDzDi@`zAsDFLyGM$nK_wJeO*b1#L$;=@MXwmpxgk zQ-bh(yI%yXdet>Gi=R9q@i?MWbafldSEG~ZoJK9>?3wW(kAR|YmU)$ekJmG|)G+54 zQ}TfIjzrPUeHQz@o%=6JvBj6>DqW+K!mzzb?BOw!?Qd%*;*W2z;l5T5NoS7TILVty zglaua2MSd1lkzzX9r^=Nj|WyOfDK=Nl7hec{Rx`kA4Ii9RhzpCNYTEoIJdv=s7TFH z2Iz@8hp~n-J(R2?DHLKGJDB=WA+B+#-koF5sTdE4W^biPC43W8&Y~C=bK;#=8sW12 zzfobVR-2-5UKg0IBb-jEKB-eV9ewI3GH6sQ2)-{(=D+t#9Fk=s;=9%4)x|S zSq9z2@8f0E@Kfxz$xidAwJX#HV26PWG3SKkua~C1B0Ay8AQF z_1bL?aWD6$EI`ZvD%Sa0YXZQpQE0N_3P!-o+;J27HU$)@4YNq1WTE4L+i%R(O$o5w z<#e@^18_ih$EzO>(v~Yf7%z>L>8bxgrgA%Iw?3K}l!TJ))y_M+rr1)^N6*;1hh$M}Nn`bDuv0*hr=w;z{%b z^l#`??`hO(Lc6AVgZ<*Jz^ivF3Qw2g?hI4Ep}peNO^~EhnPaMMwSOG%ezj|(JCRSj zuK(A@NrS4QO952m#5WWsqAONa8C7Rr%_V0T^tfmHbMODTwT zEQ1ppi1WOqe`jQ2G3>977&f3Pl34r+1EMwK&N)HOq8{WRCl7wS+^j!K$#H+$!%7&< zP#htuns8I}S7V#(TwjH`x;MEyn#RPzas2%7&gS{M2u2^zua9Svcv`mDr0cc! zv&4p|SG(>&CYq@HkATFGF=4U!fu~6*<|>hW)8m_@G%BZ#0niJJ$yjVyYGCVk^Lz9{ z(ClZ79+Vd3Vb6|e5o=o4VfR^kI?9i&O2(*n@0z<^_cR`>l{Q^N941C<7$@u5Z=bPt z(ve1el!+~zOG@SXO8;v3kLOepP?i`9()rwZKYTi+wQ7XV4^QUHwK;DY0zyjo#hfn2 zj@P<8k_YfS`)RBfK;}XN=n+Msy@QV)qY3I~C-4P|^L-E}etfITjfOPqZI6FvZy{oG zcn9dj=qs$P+|KX)y`Fh7St+X^?*^hWI9<*#fd?o#g-T-WD&%PUg50ilic^gHYnjB6 zRj(aPEF1-B3jTX~Aac8t9Fhv1+Q8#|L%WX(Y#{?T-hf{###A^N!ahlN+1{~?r{VA! zE@z+Aiz(?M&#$kuW!@b8yc0r^zOsdiDwW1$;;5X-Ey4HWBbXsvUJjLv;iL=9n7f4M z*uPoz^r0sA+cl5?1S@V}Tbud;QJ`8Uam&&sDl62F8%f?fNWkZe(qE6?z%49>E}*$9 zb{oqiQb*PGUZlD?I|dpig0NgmRx}zbBt&e-cwZ4#I8XlQ?p*2+!FnE^%H^D=lt1hJ zQbEV3t<#ncMauh)gXWUP4m2OKa=&vE)D?L?^E~_3>W*hP82QuL!Rz|Q_&!Et9D5$+ zy-9y9MgR#NJzC7h)w#-jIG#*Nvr1QB5vWv(pJE*YS&6p}VkS67y4DnE{%TqVIZ+t? zYEW)Htg?las7~gyfm~?$cC1p^(wn=A!O2mD>X1|d#W8facQFto#qV#&U!wRAhOGDz zaXJ6yANwLZk@$!})@wK0H8BqC$hxBrDePSnGp-twg5Ydw6=^q62j2PzC(P4%K}s7O zaovRL#g zD*~J)EszIHvPnP*B;~U|o}sob$jNtmpt8QAoU+n+HsE%##-%!uGja3jN~-Iv=cf~; zJ7@iUF_)N`I1}peQV}HW&elzbqgoIv#%vOKkkWvF$1U9H^^7H;&nv*7J9aW}34|lT zwL0w2^j48xDgvd+p(AI;n+^msN-&>`R`8QJLZA%zIIaBu`#rCr|4oID#d*b4C%qmu z?Vg@`w}tW4H0>NUPq%TFrfpa=?wRh2F}JuGk1SWJM*=%M4IsWSl5TW6tiw=V4E{m= zGaQLOrJR@zabRf}&NJnQ6+?-3iJG7P5bk3w6`FJu_9hZ5*D=nW-WT8aee@tGcSgId zzqTd}%qN0?yUGNB61hL#aA{iqZ~wPxI+L0Q8bS8C~E>qD-PLhebBSLl{@ zGnUHqRi(LJECxUCMxn({zY$YahxPSpJAnKB$Nu8tD;mjQKMV-4OLL~LYHkKXM@y=B zv#CE_&Za&hsfo7hVvt=eVHkwEK^BN792Ui*?~`%wxSy|t{~F>!A>#g8I)Xu^(+v-D zES@S>k)l?9k}U_6#CLte!(l~IDfZ7d#=zo;!eP%&DZ)OD*88RYRO(6>#G^}tZqD}9 z*2N+gCIM9aCHwz?5R~tjY=r{zGxO)wzq_Aa3V-pYAwsxuK}FeW`3*>pCTCvPieR14H@dK zkxPtFD=uXdc^$8I&}=1^ZEo*xFg~4^j2vv; zJ!_F-y0$=$a8ErU*DC^^vDxOuQ@eXq2UR;!B4ipGDb*_VI1mIV@a~c(Mc-Oq^qCsC2KR}slLU$tqHv8{@GuAm zi~aRWE&2f~T_F4M-+o_@mu)dy9S-$h`lcIf<^{8gW7B6X=J&gVLJ-SO5k1}Z^n0G} zxQOO6wkiz?yI%n?r0fN3NLp0z%A|OG>(X@NdF}$yguJ?VS=92wT_lz$)M$ZBz z4q=(M#t8MNIe5pyLedH7;L2Yv0dv=rXft4SGnT`Z6r1})d;J#FpEG%iK}pK2U2me6 z@}#)m4w&C3kDAIc1DKHZd1WYTovPj!OCUWoJ^3U3Zk99K&0{-zG+-zc8X$nk0L*9s zIv#fRWSezQMwgy%w3QX9T<)}7jxEz&zP|TVmFzJmfiERF14<3*3KN-Jy=NNrbI15E zK6hkp3=6WIIN6;GD%(quZdLoWwPP>FEMl_SJ!@l$c^z8Q4HtuOP1Tz(*Si%eyk0Ni zv=a}~cpqI9JZo2gXfF0a z6ft0C6|U2>z(9k(A#r#;LdXAI{s7wNP{p6vhdLnc-V--mx4^Y|!Yu|`B#AX{>6Y_R z#t6;e>AqQyEn4Q=SPS^SmM#PLr<6PYARo5VJ~_8?t0xh@84gQZ$#k>(x(~=@7e9)W z(p!ThBfOtW=|RrNGf4(yQVBG!x*uE)|5(yU70YCVcXV_N*q6Q0YQC`mQMI{FWixJW zd&Pj^C-!QIOD=$V1Zkou;l#_jY!c+)Px_1}2WYpwr-~>+?(Aax$eD&)s<$CWKPYy> zVGp?+Ma@$i6wT}eGLzsqt{xYjQ&aoo7H6n(Nh5(X^aK4@Rl|@u-ET;FQYMXk_ESk= z%49uqpnkg1j&)Jz6}M&j%S!g_iB@zHTjReIDY;R&M7-42yP4R5M>&jAIn)S0JSF_s z&cc~y+hKpiTXQN924#+`6G%XwGm8U_Ab@PEMw02ur-AmX%psJ3x23NyOrp7x&tWh0 zMfhdDd{Mi_&Tk@%XSV%$a81veAPIWC*;YU(_}hZ#GqX3$#w{C#dD|H)mfp4So1PE0 z3wAkr8^rB^tq}?)s$^voNsF5u*MKO&ZIRYv_E@RUd8xeUEnHI>ye9O~uve4dM3$?%{MHep=BvCr+I5*fl*}Tk`^lssr|(f+dD*O=PPlWrcjaUW2>$ zi7B(lcC)XtJ*bQ$N@z|$mdJGjP@!2%m%%n8HvM?h6!CMOW4YW6Pp=b88Brpwzs^Cm zC>p8r(T9;PffcDRIt+3Irixr`+hmqLPX@U!m~t9<${Z6H*$*4`&v$Utd~QW*Q&aSC ze-nt{=#xwYZyyd1y7df>IZr<+1~<6vlKnEC&elCbjmy(U`wgErE|bdnR|#`ekqn56lCcVs&t#Hix8h$5o zWAg#blu-Zch9tg#s($W5KJGlOgdN`an3qago4Nn9;O2F`+MqqLv}miYOatl3LWXdF zh4_N_Dzn_+-SsCU!41F?EbyoD_0=|V)ZUA7-O(T##maC)Za!~5ULGk8BJF9tk;+)n zi)e8Zpm7YOf!$VGgjp9ZrQvR;D(mD6u2}P;)6snVKLT976`V1R5e#wL=)zE|$RG3^ zl#z2vEy=BYsX&v|<>MXIq|lhH{|;5Zwb<{0fq@M{3Ry%2mh^!sgjdf{90O8 zFG*42gZ;u!7ZPi}z|HhcfrM3o{NQSXILTrLqQ93LM(yz9okaV0&`F!$A18^5ZL6SCGFQe;s!HNlYX5a_G;rkRK@%@K1T`mS4U`QEG8#(pC{@ zL5T^AbNUX)Q=*-?|n6yf_&2CcACH%(IVN-Sh9FABic>rw?Teliqay!okZH zO5glTZ^~NS3-S#qb(%Q_U1^CUZU>7wsk>JzbjjA%wXyiTA$%*-26j|LBc9Orw2{mU zp-bX$247GvJ55qXp?1$wp6u$eZx~nQerJ_mkWU^zsI&TtTyyuUGhSK8Us>O7=DMeR z!DjpNuf2bUT6M|KAF|P@?#xaDoFgfpOY%Q>(_(&ul+r=|y}pw@5G--jh%+T2a`6#Z z+$&Kg<4{wD=54}*4Yr%1`d@YBE5u1>4-ay61BOp#4E06}7`i=+HP<98J?cOX)E~oj zCxNc_{tA1e@3oQnl2=Vu>OtZA;UGER$#Wf0=ig!vY-jwz#JF`zwYuC5A#?!FB1Hf1 zv5I_I=WZ}D+Wv84LFlH17t2WEshSxn;M1SEcKaCeD>^7}s!|%2ZJmwhr|fVEd(J4@ z)ctQPo`=uMsAUeGCYMSNa6lW&9OUsw?~5YL#v{gQUZU??gh+yz0cucK2f+dTC8Nug zD6(~Mqc1z;TLwc=z~@c^CZVj<&RtVlY?w{PzC1SpnF3&r5a0e`Dv??1`Oj1+ojP zxpO#bOFWxR?k=ALiGvDKA01UU+G&LEE%u-D61IJQ%0}RBe=dMHy0zwi_&+*%b+?)A zyXba#Pp-ju1JT=L9ikJan=cwIoXgXeb6%3@6H=S>GS9DbX!jDA+vB(VItH_cTJ!+W z;`D!7n7F@y9c?OyK4t{Dyf=0sw29xjv`oe6Hs|*>L?<*{Rk6zH`@3g{RQy_|$nx<1bW%2- zCplNK>15NlBkvUd=X_|mggS>xnrH+?hdq4Z1akY5;p0X=(2X(h;~E32N~7U?Pg_^u z-!QWLM;Z=n?Q*;r(ZM~dz?!e-YXl{#W^~?Po1Tp&t$E)0<1TBb za#dl7z!u7RngX-SQOCq<{Y8{ft7yUnap+KQOe>@enwFNWB>iZ`>P-6Ql~iL!b>9=g9s1Zu3q@a-#xP zNm5^32iN5&^CQloP5D$1gQ@Wc1gkI&^o50mjxU)HAdn>Ms(H`mC+;lghOP6j-50v+)+fC1 ztClrQ8I2{iC!DT`M#YMgE$s)?K<@A7m%k;dD8xxY=v9*Zyp$otD_;)tn`>eiiI?285lBaTpZ>0JaY#kCE9`{(x z7OBOf$h+Uff8Ff)X}7(^TI1*);r3s=H{o)giAN-Nm@U%Nr>M;%xX<)$RH*M@*+#qa zGn30s_9s^cO9XK{pP-hjRvsMYU|6nCpWg=I0wE>i85}H5NAi-1lzA+JlX#gGs9n1n z>D+Py8uyOD$5+MYFM(V0$xEiYfSb$+z_LDCZLUVp4J;$f#R9uGzsxijH|#l5lm2=A ziDBf10_kYG%G@)94QIZyUW1&mt*QAiYH*~*?M+|H2NTP9oC)E3&Qr16 z)3vQ|Z_z~Fvx&>2#kHMx0NybaAe=8utTL}F@2?Do3~}=-1pMCJc;Q1G?T_E*e)`Z@ zfC6<9C2{4>v{RWIYJY^Hu)Ar@<7LqV1Jkf;Mzb2V-`bbO8w%(az4X+nmOuxkSJ$O| zZ+}NsrKa<>)L$veJ;nx`aSbt)k?=6Lp}k=y0ps56mz#dd5swczK6u}n?i#xoj32Yt zF>!huU~GrZ@v}^7r86%?rw}AI`>d1PEwu*PV`IuVz*oTDd6IeB|RdNeeaP zB{)}nw+JU>qm@fz#S4;A$As3;z?PEZ5x#N7E-hq;(A=> z$(nzcy8%z1w~St0UE_po+q%5UZeFMkO$;JZDxngOr6dD=3YS^@vwd2D-ZO%!w1;$% zy7X#j@|dmO3Nye=RXc)79AG_f>_zgPSvz_zGgseExiMJ1`KBjqlH|JWS%6%-eQhfv zS?HiWnmxF&9N2`HKG2r;`D~$#F%7%v-xD6l1z-pvQQ5y#+Wy%cjCfm*d~^JcjV+nO zPp8f}n{eKyeY{S0{I)h%Ayfultu`>GlZXcerS|sbrNO!iM^he%VZo=D%IL0&@bNOr zSkhjmkuxGn=0YKx9+}q4r9z{&1KdmiG3OnJxa``Tl(r7#UY>7>NKv^ZiiAOc6- zh$joYsD`>%bg0LZHMr)8XM5PE)SSv6e#%*a$e#-NTR#`Hgw+F4Y>-7`!vv6vP>YoP z+#}JDMD^9hxRA_tVtD^TkSIY&R>uoN_7!1z9nZeK_O`cbGHndk&XM9S!VW&YKhC$b zwNbQ@k%&c;t~N4`^bZK|eN38l^|Qb>SCe1-FuKCvAtd}AN3v4uwC&g-=JDVUfz|~_ zQTEkWj=>O}?*7;LijYSP86AbZ&JW!dJEUnQrf*oh(DR>*AzOS3`l_12m9^FB7``)Z z6+}?LLg=gafAH39;ExWE#%0!Hwyzi_rg@GxU-oWcRQ#V!+`wxkDNU`1n;yZ$GkY-= zMZ4VFx0$BwtEobwKN84KKhZNAK#RdMt~B~MSgvujtrg-mn|heljhNym7c@ z&&h4iRp0GZl2$YBNNVr#>oCK9YFY>7bn*scW^_AjbUT%IQxO1|^cOYeK-#w^xzHdt337gkD_P9M&y(Cf-( zp<$3eu@{L_y;*xEnmo%Y@8D#tNVuGdF*4KlayUf60k~v(A<;%UrV#&ohdg?%N`_IWtf-Un) ziL#9Gc&CrtE2=N3qJf(Xu;Ietycxj;x-Y1<^b4XU=;4;FN^g$ZZBoG?Da+ZHm^@GQ zYjFDtrna9EU|HtV`9UWC^ig&oF9E!1F2@6--WTIQvG)FDrZ1)?;vg>q>21N6_XUbZ zI5?Q38Y^Rjy2DbTnCya?hWnZmoSI`6ldZ$Y?CtXC(|+y4d}~8={+_RH z;*uovi7R1GXYktxCNLy~CD#|K&J>P}n>$(b{*6kT5m{>V?(%PHdeY0&2qw>P79P(G zKik0IV90dApnUExqLE~(q+(ZuJ94+taT$2gEb9|(tn&JpJ3B(4%q9Mx-WlZ!NyvSk zZrJD?EefCvu$hB#Eh;VI;^^stiBOSWnGy7+(Nl4KybAe#^G9U5*{vu4%KI~Jy7<>O zGHukBfokm}a(hsw(~{+goYJ9uv9zFHl1YMBf3zl>nNSeU{Cvt(yvG~eyIbrz`E;%P zj?IYPy)JcEMyi=1F+rjrmVOz%qshrh1nVK+hIYlZIku9REv%|{Z?ZKGD{;HoG_fvz zr|jrZAcditk*(Vvk?H)(JoYnkz)bdEpjigUvzYvs_)G>pl5d)6sh$^7w%*$+^ucY{%K`F7 z!(rNoBas`+JG#jWM1%EuER2q>0;d{k*SW*aGaHmuRMa&)tSCMW3Ati$kg{klF{EKy ze74BGvV&C1SrlT_@-tyF?*sE&4=QaLN{}OV5~WfSUb@o;EL6-)WR_7XcU+oJ0oc6t zb7$qN(!J_eXR5ls?5|`WeZ)(C29GC1WNAKgpB&Mwu=~1UU17<6`HB95dBUKYt^1^> z=N{w&@j7qc^Z>Ds9(9#SwxAN*!|cSzI`W(urtYD06U0)!8oKceifqHoc-!k%oBwds zsIFU`W$1x#a_Xn59GAhh7XoW|C@3`PtjFT@Cg-!P&?@woJwXxIh|s^L{(kI@6nWxk z10|xs_@L-`h0R&@as^W+1aP3|+@1&P`VZ$c7tB@YU9rl%!q%dJ;0I$Cr5g`VtBqt6 zXjgj`cROSyeiQKW>8gD$+)RvY(L%PN$VrVZ+vOjiEBdC$Q&m~g)Q#^$zJJ1F z_{A{t>Mlj844|B6GHPgX7`$PCr!QEE-t$B;DWsB)9Q+EiM(xzW$Y4xCU4G``J5;G^ z<8(v&JKVh4Ic|6$uC`Du4_nS~9bt75IQ8Udyp8togVI4|p#z3dKr zLaisI#n3D$@ai2NY(K$Hk2h(oPmi&YfByI#*@id<=r?e9Tuvxd4glk5AVrl^#vuqm zlwuOIZDXxVeZ3og9?ZKa61g>!JuJKZ_Zd2q=Z-LCFc!m&iVZYwy`Ab=M(frXI+y$= zeSciplFq`Ftkdkf@g^3*tLhA3b2VN{?_=&#-Ra?EI(*#hO=@QTaMu?`=WvBZr;`CD zoVd|_&3&JfZwE9kQ!OSa78}<75>`DE#vo%$YBzx;kKJSYthW^8?7B{B`*c%+!a&c# zA`)>KV!PK5?2P93;D7+3@W8KMzhbR*Vs!NGG|PGu-yeE4A-;90)X#;YQXqeAAZOHn z``*dm8GoYE+t4&V1nIyPnUkJ@ARt|&SR{$XrQDH3#-lyL=-=E854?gqxD@nmnC=X8 z)S#F-WKORq#flys)3^EDA6stqQDRIXMQvnj&+DBJ5oK0lND45b5IW85B;>VZ5-b4rIc z-8zc)PEf-7TC-i3E>u0B%)^IvaO;nFQ@ifGsfDZ_V?`~;WuVfTPcNcj9Yu~sD6QM|5 zv8x4U!BNV36zw6B^o&F4I2*Xe|1Y)lMEVyXr3>s@?TyLucH1}X+v;Cl;`ysb(*I7x`G@Bsn#8qXnGKutWic8w?Z^q%n$-ko zCsq;$8Llm0pu*4pvP}W(M>PJ*J0Cw3&JNeXegQ;+iVpYmPiFkZ(_h$0@@JsP4b!g4 zQQXJt4juFo;^vx$fJiz|A)Cz?ZqoLnC#d;?P0sWH$5VjXHUHF|v&s}!M;fBWr2XZ_uHy`! z_N^Y-5Jxz)6%jcov3)W97k;+eV$(l|6ub;}*`?okD)0=Cmdcm_+ew*wAAnpOjq)1( z9gn8O`%yOk!UiN!oTY!dAj8NGYubI5vb1azePg&%#m}lN`S@{x%k3nsHS2^`4FGew zEkIS@T?MN8XoTUAL?28w(Q!npr_1G!3~IzO9rno67@1`+Qn-k8-}Z{)aTH7hfeL#g zx!abmx3?bsDSIq32T{epilP~UFrNlq7_dSy8MUv!TYeY9+v*I0=&R;i=ZU8!;i1cu6&4YFnmJ8;sW=}(PKGm zb#;W$AFu*{*x50juQU>SHc?M8<-+B;CmAFUkR zc7rC$UFnXOUQSXUFV%@8o*@bimMew^_fQ9QN!{n~5@|ZgAfgY6a#xnIYz{j<$+1N6 z-KPhLmDDRmzpo|p?t&-fW`ESQWgH;HuB%zq{#;nOo3INQD?k4iES3VW6ueNF*#=U^ zTs0-pM$hoDxcJ)9`r2BlnIx?E3=YC?s+n~M*11$faiEtf$urtLN`ojYMegvmuuz?( zuHVo{-b;z^A+w#M3YrctD_&(MrTAJd@iT}tNCwD(&Q99&RgzceElbD=M{}--*R)Q! zr-;i;p!eu`oMd0?r#_G0f1EAry$dL?6O|_#+83M|+#bS2uGjAws#>uusv;wtw?f6h-Z z?zpT?WYKrmxLL)nr8t)U^-%$l$>oJqr08#1gF@Cpvt_;e|F!p4QFUy~0%&k|cMt9X zLh#^DaM$1t!7T(0PJ+7x*Wj+fEx0ch?(Y7Y?0xom@1Ao%-{0i}#-O{WRMo6mUOgoB zIvdSP$W$I{rbBJWoWlzt4kfSB+AXvW(w`xN{2YwC0ugpwIN0?((KVZ|cyteVKI9hL zd&-%|@bb6HCAG4#rt%!~^gj&9zpS;Oe+*X3`rNDgPdpzGQe^w}MZ|ppFy-%dd$f0| zt@$j>HBR-M`^`U&sumJYBbGPiC{i`w;YkBcu=u*-9BCuw>$a7&nWb;WzX^xK+B&p+ zNKxWpr5uK0i>jkuYz<42n6ucRA7uZ$4WocbVkuqDhGs*$Es_(5nX(P@T5YBJV`O1d zHb%ePTPZ#6aubu8vJPgQi17+C2~9dSht~Qzdy!OqBHNWT%}%DbwEs zO{l0W`Yrtru|uZ~bLcRLE{SjC$)1^_Pev}2cr@Dj+Lj!v?zUg=e?Pm~Y75f36jm?4 zl~>U))_qOGW}!s3H`O3@xM!dN74}?baDAi5=KsC{j< z4PS$_wLus8ImXRyK_*?&HGWx2-blSDL1ahePtxIxY8={vz(hV2k`jPPlz(Z*|7gif zhRXhju`B$4#1+clKlMb-EfNptZz%hDxMgAFlFBi~~VRS$a2d)RPF zNPJCXo?K{T>;DZ62?+_5)~q{tpepBTEQf%D?mxNUcuo0ULM$#YMNJeXfn(gh5YBn4 z90+tAVT|8t@|8aXWUXh0lahRjAG;0e(Xa(YLO#4$fKFcZmrlMXmL<9yp9zD&p)b-sH?VcUp^er+uwp{#!XAdx<1*R9xnJy@I(Q#|6x}MrT^S zEn=$eNWvl~Vq46?N14U9pKi!|4bE#HRmX3eA|)aT-^U*-erWbAoI#2oS{>vx69d`5-A7f+Vunk|LrwC`=YZ(@`4ScFSz_)n+JOzjFr z0c0RF!)=Qv0&M%J2@kq(2P&O}ptr#GJj*Kz+NrYcVYdzr`k+RX;=I>#^CyB#8#RSa>UUtNpN*)%bsB}4N86_~W%SCAx<6WcRN0D%mwu@pCli^Hy*7}cT++ep3 zx0y88)ZxG;XLc0E2GD8j5l0e1Teskk;l0*vv>TZr;ocZ9sj&NOY@V421Vboizt@%B ze zn=|~MX6rJKFtq&Unvmn;;}^#(QLfCH%0=(pzr2l?nWC+Ieyq3Za8|@JV|D=g1{4=M zeXjLjNfR2)^cyvr+1Sn;-eMk&s>lq4sn)k%XPE!_7_yn~mN}qWq)ap7onK1@NI!?S z33)DsgtylB)Xp^tKMVdX`y9oBnMW-9QzyZrT+yzIIzF13IryO)+I=TVx* zrZ8pgNS!_0zRWAM_IYv(t6f(DIh3NsJaS{fLkZ05zsM3Dn?Im@$Cr)6gvoY2hIcu8 z-8CLUm#dUx8ao%Vd864jJO`ba7FBbb4FhyVnR5QrFZ_YzJZfs|0a_C1@YmLCNP+Y)9*<_S5Hr+wzS%Otm<)0S}t{`r*fRvVN8$EI$ZYR zIG$T?1@+N(ERt_JiObrkcx`f8iY3uH4hj&4nwcwr>#Ml{I81j(AKkqG;r;>FCm!Nz ze=@)`&u-#}GMyiB?e-Iuvl)+~k5(1ZScI161T2*aeSVdu6)p;m1dDifjMG{hP5WaT z77@{iRkLq=2WMvvOIlM`nlw`7Ig_w(Ml*i0G`$kF5LC#Oq|3L0rXt^`2M@wG7N09B zSXo$Dk`2`;#e6VN&d!WyhAHM2Va`PP42(C?aal|c^O-&iq&Fi|0!0(0@|4TT~er<{yaayTgySj}|=+K^)%#sX7 zS%EezOT1VXpd6HRzH0^UPXNA!&hhip4DZdMfVzy6S;_pT-jQ-wKUH&r8VUO9d>&}1 z8^>zqkEbGVXj_W1ul$Jq((Y8mh1J;FOwW4{Qm?;dq0?i{d^E8vK`T1DY#eVacwPF| zL~>nS&*KCPfq{XcnKF>{j%vMjbIRkV!OsAoP9snY{-d0nT-%yjSY95D|K?Dl^X&u% zwhS9jy%DIzR8vc_xACb(K>(Ti6q8->Av762DeWFKqI*Sl^&Y>uPQYI&aHOU0d{|B+>$mtNH`gQw9$=aEp7{AV?jhTc>t)qi*QdizKY4=Aw`D4y zHUua8?ynjZfxVFbWzx1RhL=l!hojT;0k+mt(T3?$Mn*uHz$aGOe8l{FSlZWPS|UKf z2xXj9HcV(}2oYfw$n5NFO-;>8pGDX!vbmsKA8O9mLfg+FUs9SrL?fXkvbleM2xyVH=H8t;)gunvPiI(mT3EQwibtGf+yXcO zL11~9nrAsc=>X!-rc*xemF%J(rm$6ySudp-<2O_Ci88`{@8k6amCZyw+n;bt4bCkq z*nm9V)UpJolas^4Ll#l8d0p8sjiCOn4!^o>!DH2_JeHydn5H+8(KLcl4aer`u6 zC~(^PNiGI6zXA(1(y0C;thHQ1sAUIlOuP~Hu~4-fC~qm$1DZ*p5YYM1YAk)31OSdJ zD((PS;8!J%%)gl(m%j*9Q|#ms0oB4i7>nEl+-37H&10+Jrq)?1U_Rn3u4Oi+_rt}e zOBfv;0G=Lvp;H*G{6VLExB>Ov*0~kNGs=k%D;2+7?^l(CK(U&sCZ|A_)7R$BR@1ER zf=dd9m2u!uV!&XmpU&5AJ<9@%Mj8R|U$UcM>Fu43X&%z3@ySG$dTm}SRfe9Rl4}BX zQ+ltN5o#}7+Hd!A2KT3#2LDEM(G1Xi$6oZ_O0n?6oe4trYZIrc#t@-8TEQa_+ln%n%X?LSr&V@zZEUF~q6O^~pK zs4DOK&Ly=YmB*e=zvV5BOq|r@0MF)|2=L(pM;rLj=|ig|bJmAL#5WZNyq%uk@0sLR zUjh6{SoN>GxH5!77V6C!euc4K2(dolXf0lRb*ez8M!_eTm{_=f+QV=M8JSF?S$5TxMFv&lA` zxteZpc^k;U#Q$yIjZ|f`c`frvuinUc%D5hg%#!v^NWxcOe*SUrqD>e6Wh~RidJDKm z`>qv?mFw#xZkZY9K0D@SeqJn7b^MNGUQRZ&q{T3T{&b1MMyOtkwbkzbA= zx)d5DP%|V?Gz4|82pbUw_$%(>p^H))&t;<{tvk)C5%&HLE;C#y5?JY(nV;j%md0cnn*h=s3ZDPK!$74jpXOxylMI5bU3~mb52?E@~r`_O%1~mVs0r;ES+wodixT_JLfk(X84^;w4 zjEeYSRXTotaPHvZaL-RYV1)m9ETfwi<@$scr+HCRJ`%}N0lQ_6Ujx^2^^?rSqG9aJ#2+ zUMbkk@y)TD1{>WCS=TDDYrgO-e=+z%v7G2@#JlULl1V;~d^q`3#UEDF#jqy%3_RSG zesD9a-bHpPtDCmJy0~tW>m8sZqlmM8?ynGxClkSXsnY#o7~o%?PQ5y^+W<;w$Z-oOGL z1%|W(DtB(nL;l!l9lJ`H*@0hB>_#ctkkw{#YcpjfVv>DqRq1H^sPC$aMbBtkibpNG z-QIE-?LEAyxK3Jdf#(Bg2OU~j)^I;z<@S1IBq`ND*+XQZZeKc?!&G^nW!e=40x@a7 zO-jhyi&IXb;SKD+;0Gu4Oz1Yry zdoB#94s(cr@RgjJI%2unV8TS*)r=dFI@M>wPCcV;BV9`#5Y_Xib&V_ka4&-R4#0cK z#?77oJ_r#O!BO}*Dlp{cca{YF$ey=SU*+DI&62N0_db5c2w%a>Z-&^|x#RPviGXW6Uj?I8UQDWF1)ws>0(=WruT5@y^Fy!9N5;Ikjz z{cYY-Sbaaz#%sL#awQ}{Yu6QuW=8p|KC_&BUu3Kw(QGe4Z?9M`KUD>GTB3{W+_l)J z0VLzM+$OtZp|>QvY;$NV0lloYz~u&->cVW+?H6iIy4E`Qz# zqY!}Q$4`)o8T>{^rT$W(*}A6=GB_xrMPljIi{(Ckgj{yH)0lwPmdIBz%MevVxU^EC zqun@BLKfRy0;T_#Fv#^s+89j}j8ZNBICh|6l^UWCaHEm^GRC0Gel!AZohKG7senCI54N(4hq}frL)IEerfkzTXBfLoMTexh`2T4q$z$3U|{wHxw}zR)+RC zADOZFo-UTkvD0f{GRfe%)(9L*uUf7<54J{!fQKXq>Hu>41_1JtK#=@(8u@3`y@pP5 zF}Pbdu0OT~Wx|?&yF$1qe^+P_dGdHmeQo)$cd9bmWE?@TZr!dp^>n}~tDf#=Jglgq za;cUoA@Wt^i|}h|@aAUEn5=K-;2IBqXgm=7cx7{R`SWT$aqRq>1J7zyqQ?l2uw9Lfv&gJFh-$voLF#gEW z;D_7uy#_>Vy3c?_9vtxj`tlMBK)~ZXh>f^3RT=^gYhn5WM*` zV_xrpWcd*JWKE&au6gXen-`Y2OMs_t!(XV@a({i?*WDceAV8(+qx6Sy5k}9yIYJRt z7NE<`*_rG?PK;Z*8{&}&{D^MsU!C@^{)_h$V!Q?VVlDD0n5+tqDXte(jJ>xB{pMZ% z6DTV%^=#8-C7bAr^^zkS=KJ{gxVz%_iqzu_&|eg;(vJ9>+(Ll*gfT*XPuPb&um12t zX#c5~{pfup@8kn$a;hCUxkniuG+d>U%r`oK1&g`k72-ScIIxYI%i`YVpo0r)O*49=E9JvJIUt-A*1PFi~-qxi~Pz&0oN1*PNmVFiJ4UdB*sr*~Y z!GTZyJltfT5_^9_81_)lXaDT07t_D8W{4A;6k=H$t1AY~7R za?WQN(VUj=qnRr*iJ(k+6FKSM0FDrO8L+$-7;p}V;OFd3&FiBB86(Wo%bq9FXe5lnV^p~+Ix)s|1f!AOyQJ2uK*bid?N6mH$FlfKRAIcZ`6fm{ms9i z{gGu~;L+4$7EtP8e1rDagfanjzr0m9+7{G>Hl*ufT4}vyg!+-;Y^Ece+bl3 z-*#^%`hRELa9o;~c`2Hyw!5m*sc0VCzhr~{D*{~}Nm; zb;s&XI~k3L^6Szm7ZGBJXB;fMSNvIDYbG_Ou3Dk_ZSgvj-FKAm%0BJUQb$r=M`0cl z#$u&3A5^dX@0F%dz_)l^M?t}%I$a;>g<;dbKL)jOi0M+o{{eBEIwWw-3lZ3J!B=Uq zldO&KdEPngsWVDO%H%aTTnbXH3lGhrXj< zF-iJ_B~Ui2wovR)_CzN)%6iascFSR7?Kha+l6qfqx**^1Oo5~L>_SRPN?0zn0wM7z zmDJUPi;EdtGMgG2bo(jZ9a<}^s5pW6~3O__tW&;?CraE6jkQfghYff zaY>&+K6l{cAS6EBo8>A~q_wp*LrV`U!HGJX-Q8WyRx=dW!-W8SpPblAb2!SbZpTI2 zdP+*lwU&?sG&CTkM!c)dXAeqDMh4N!+Ulk7udc^teA&Cag$3=nxVVn-ag3v*Bj$>t z(o)sg*M5GUe2#0-Rn^rLE~eimE+XiWY;#D{7PRZ(}j(8qj_Qti!E-3=*i3>h`8~zU&$9SGL4&)1tty$oTo}3GXBx zeeXD!L2j@h?m~`}I*4f2X)$462mt{OiI4SGgKMzN`yHZKV= z@l;}<_^qGg4(M@;^>LDdgNH{$uK>v2Zo5D7I*^t771I#Tezs;HS$(Xy6pmxS8q%D~ z=y@4t<>B-_Ir(eT9W3_7_WI8Fn+O6o-W*TKZa|C_@VXQc_aIo~DHlI`g5KENAZOwy z7KKHVFf=58FDg2H+wUU9c%PCvTa3H8mqNI)z11~2gd`{^C^gp%M@pJ;a*ie}D%$$) zH4_tfcOC^LGP1J1USs7ut!#Pu(aF_mKy(F}aY!$P5D(Fc&pE-})o$6B%9^XNfYyKj z#D0#XnXy^4o}L~H3!Bdc1$YYFJXF-w_$v8wANr2^Qvoza<*_rjuyQ>wbXkucBLQ>^ zA_0&CKFvF1A!lYl!W9hQD-c4qCo}j#s?h7lUEcFU8tZrabH!uPLMt1Zl)n&0Ob0cm z|65+(RVi)4Z{N`<-@ZXkz{O<r@uBcNWc`!(hJ6T z2S-;Cv5#o|*Bi3$S83L1Dfp{sl~HL;x);=>_`X59@wh=l!%%T;R%!Daz;p9ts*<+(J~=qM zNlIDVco=A?seKK;^TbiDw~y@We7slE*8Y;R$1tTjo29s7fsFs=g6CM#))qx3EPQ-q zk*Kb&;Ld1fb~d}P5}mt_8z|3ii*vjx3K!#eK)1JNwYs(CzqR%H?K|Gi@d2&c109`3 z;e6S+c6&QJ3DZpksl%H~>&lHt9-xTMG{cFYnG)D1*}q=x+B*dF)xTb}-6#EQN0(w53T%-Nkk!4XSi^OY+PmHIerA2D4vla2xk3tm1oLU1?h5ETchzy_-Yw)xWg2nZF6QV!ysP>j2MbegYz7mUGWm!3XlSxc9fo(`r^Y z?quwACoE=Qu9AD%@86BU(}D4Dwt1f)AV`hc!GYD3eV0dS|gXRIe3r7Aw3HXS$i zSszIRLCb93?!?U;H52j8>6kIJ|Et>&eNQ z^{!=BKjRWatabRru0r3h?BLHW@>vXO>*%0(-5cD;W>jc)Wu(uwZQ>0B#kbYn!ecUj z-Xh@^lapW&d!o0p(wq^1W=O^MPm^otH=f1EaM6Qajphk`2t>!|3JX)icC zIjtTX1Y&fr1BE4o8yXvH_inV0eyD-dZ2^SF`)dp>_V7oIbXb!fi)!#8S;}i)%`7@N zU8+8=%{*NQY>jvkhwFPIM33m4@I^sMBitxHz>0~B8}Fgax^b1GI<|6gaTP0W?`C2H|<-`3u5Y;NTg@2ReU zlSD*gV;!*<*LcW%*I9uI`ho44LQG7|=s43z*GoQ$M;iG6L`(sQMEYx7dr4h?L2haK zUJdq>6j*T@Dsy+44;iH5T*nuD-pDMj07ce=eDre_g}mX8$`y3wN05&wEd}BwpE-V8 zuC$5$>g&t>`9Y$Zhl1`czKVSd1YnO=>vXx@HZbg|Unzb{n%7EhSRZY!^qRFJ=KU7- z#2zq3<)gvlHf?@sc;beyIHo3k_@Xt0ytd%@u;z&!dJZdeszNO-ZVdpfKYZyNYA-bTB8#s(e?A)BNcO zqy8dZukz&hN zdup)h`ZzT^{a)LXre*M6RbM@VWU+oV%Im1FqZ6-l`f@6F4h6Wn-P)g+A0@|J961`y z*IBJ&D!t$ahlbEG3G=m^i%UwTvU0wCqipbU?;I0Sii|)*MG#l26jXuIJ4qc6#oS*ENhAmo zl#=HC0ZTDB83AzGOXrl-?~#H&cZF!-A3g|7kGV-n!SnO;%e8$fgFNm|=w;$Rl{mLg z#N{RsE5LI|2<8^%1Z0u12z`cV$Lpiz5=ePr;m@AfOcauWyF*kTJ%;D2%@w;x-N!Nn zG;1s{JTDGVSncgUntcRk+?#cE50z}D{phhhJy*>2(!|fXLltX(f*SK`<2-7@Sn<7Q z)+u}1Ao1BsZqMDNcDOO*proQw-5D7e>5ehNE5W$rP)n$37-Z!qctf)+`_UB{A(bOi z*+i72s;X*=>M1m%6?||2iKfVUa|e^CDnGtbtY&Zu`|4U-DPVKJ3BFW=aY-`6i812!o+l2aoNt)uOzN+)d&XIo6cKzI`I(? zOKbBGy~X+*Ke^I9PI?uR_;}px(i&{wGJd+rGm;#sBNioUz2i^`*_>Guxmc4+1@rZHYRSy-ub zP<;t+%Hri1lu0!tTOXj$w~Kva zIYipzz%0>)o5!?rNhhh(p`-kw1eYv~SeN^=ijTDiephkwP8l4b68RvlS}Po&|MnD> zm6sP^ZTrPaT-Mg~2wwG;;AIFSAI-shP%gc+`%WjEHr({rYZ)o2jwlj7r4NpfMBH}5 z78dxyk;IXX>$I+GB}Yw(3F$7xI5?YD6oDOC;Bur+MteN}ibTIqh;bh_&kKw1Q3Yz? z)|IS|<_Q1UAJ^@oN5dUnM)r#v1K-u!MHponH5WChip>@IFQ-%(97cT}9J#u<+32KT zop1~m8N6A-O_cqHnM17Yx-cRt^$`)sOg_#8q)7sb@((OPgROOQ%T;Ek z{=V!D>bL}Ka#kKmdFXalqY6)I=Ev5Ll`;HB-x9#z)+mX`q$I_nGu$0!u&hk8MpAu6 zv>Y+4toOm|+tKNZ>#^VCBTqsd(h3WOSA54ET)&yV6R7mrR&Zg$!_%NXSdPqS_3WO2 zY_NH7cWLElP13cNwj^*p1_f>9n_WbbeojfTx`BZ%63pfp@OF^GhlC8!?m4NaHCxL| z)So)+7B5kd*-lUJJB3-}v6VRZy$T;4Dt3J$Rh?lZY)+a0XtkphC+EfSF=z@fx4iD3 zu9&8yXQ$*#I{3QJI8_w$^sf9$Zns={qh{cY$UxliZkrv9vKlgsW&Duk#pS`Z@wHYM zBV(*e=?_K_wWG~}YP(pBMz#5M3T4IX`|G(0QE?dSX9l~lBTfqSXaBQD6i7~GZdd2Zjx)YdF$5}mJ1@}gFW#}!k(V4xvyN*_`NOajWF)`7p z_4V=egw^*sRQo|J7%@kIw;G&!{6(YQfR=SkN~l;JIjs*cf8mP6+QgTudvw;DbYI==z20%d9|H+dXlS1S!K?u^0tu`hVFL| zw6FGU*A_b(Fm>TA;uDYMANY_zbN{?oWBe3ToT<~MvEvZ!7uUiW8i|II8ME!Kg4R&NZs)c zl9MJs<(>UPn1-7f9aX;!i8Gm=p2{k1QDwHI*Mr#b!i1+G9s+-EYEr>k9=dMwxG#Jv zp7=ta8aVdlf&T^$`f=;$^Y!yJud)iN(QmNPT(xsaiW5EKc|(eYE-cRN-Cf}V7gufn z@SrM%PPsTN<^22t1sj`idUqJkO0C@W^yyLmO6E^FEf)tr%5PVP%4BaI9v|5(C#bpT zDoSk6o?g?^mY`V)m1)CtV9x6Los*%S>|05+=p!nDHT-?N+>AEED%hST9Cya4lwovl zm#1c4h;2EmW*U0{Y)KZwxpjt( zV9^uPeoeENdvWagb_)K=j@!ZTroiTyT70}!c8@>LyJ?|~_WhnwoB0;!$!{ ze&w~BBM%eL7Z*S|teFX%EltmNDJdyxLgu^oBnz#4u7^whPf*6H)@{QY`$tDbUAETw zkoS{oOa749I~R~ug<-krIOXj}+VbUUB^_STn*}Lp$C)G-nIrWN^DJhkK3A)@-HV2w zz1AYO*`0nlT*4awS43T+I&mPp*8pA<3RKU00c{yuPVP>;a zn(9sWorUKf6YI2lFdpCIR8wW)G&KcU7NGdtOHeT}VFM*-RCC2P*^f+|w+KP zgA9U4i2OcOD-%n}sQOQgtr)myCEcEgmI)>#@a6yb0p71@|G*eKtvcH=D}-)$L|TmI zcs}r&SOFAmp7|KEr$3$|4=c^0dxLCqaG*8|1&H-0r_$B5&nF~6k>0SA6NgQza7=3IgKnS-#_H;{JPOD6rv~miR|gm8km!2W6b0^* zqVA7RI+mO9oAQmxnZjGA$lhm9%5tgP^2`?5)2}&kb$2?tGyR?j7F`dzk{q$7m%6tX z0MqU1DxWOd`6`@Fg41KJb*x7Mkx_u)qk`V~!1ocWHe&+!x!;-<>Tj%VEPe%+lsAIU zX9mCZ<-LM=*Cy|8h`Y^DWI&nl!C8J=|g3yZnkZPBSm8wRw< zEMz%ksdr*6WYu>0#h_#xX+ESLWkDMbG+9vRv?)`nbu07&EG{O&Q7|BdT+3SO2tiC7+vP0nvPd$1K$Ju+MXc}4sA|Py3w9j$;BI^KR!>M(^RZfesGCw ze9Gs0LYLjrdD;qB#Ms#mO0{b$QmaJD^nh*T<+UhtdV$zdz^dzuZfaF|HTMyHvB_n>(sJ_kFa0-&SQSnA0;oeKHMt#8wyCF+ z?d@uh?xt)xsi{PiUKgKp1E9LPyQk7(CN!>euYUoZV8|8WH^`1+ezR?CZx-K1%p-nTZLM!??K%x;j{vMztWxB8;!QE*+dQFc+Cv_Id+rR>ke$qW7%2;sW@whvfQ zI5cVkZ-Dw3YhtE2`ab7SDyRcK^uiE`X)3~kX{>q=#2IPVfmS`!CX)cQ8w1oH=dTgH z*gHq)2?sjYv$e8f01_Gtn%Mi-@ess|=;;gjKNQ{F4W70B41g`_a5&I>2UH!b6rx9H zy}uBZI}pcrJk>Oz(0W9J`C(wMrk1DuE4TOznj^X(x3Kb+WHhmawl+gcvx}&^7&Pp~ zaRp>~Zf@?~w{jMseuY}+hbW3`KsI2D%FiouSYT}u!fii0^RON&w#oE9qn|0)K|<2Z zswq`<3IDn`t;6ikq)2#oaae+j9;+S`8tTA>l7g(w=T)?wmPXv~!?5k-8H>@#V_K=> zE8?#$U}x|iGAs-c19L&I44yWC4GI#{@$3gonx5Y3`g#E_7XnK7=hRfbV?sow&ycpb z?so%{U_<*5#_|T;$msDu@Ugl4Nm}sSOqj{#65#=w&&x)s4{3zfxBPm4HpB{8Qiuuq zqPwSiNVr|OcNSS;9jW>N*_lXE87=2$Ho}v?h!r~m0@~8M5Met7ZjNX&(GNy~XXj^1 z1{%5fIo~^yT7)oYdV1gy5P}L4X}h|+ewS#l;wS}t`J&CWT@|Q|P|C5K{>e55O}@^x z4zQ!j0G9+<%7O@vEZkHpQbo`LIwuYh>w$sLKK{wNKml7IX{cETqG-NDg#TJ zn^PP+yC+qcVb_k1vLO$Hu9%OAk6%}OfyDl;Bm9)kpW+Em(5LJ;t)`LV_xw~mE?feL zFJ9k8{M~q=D%9)4Zi#1gA&=)NIcCc*nwP5GfNp3PJxPvri^1XMH^jkm zBg+14*@wwk7+6@!cTJgug}8)-3w8x%fX&JZpyV|F`sE{(YJr$WSbd1^w;yJ0L;FVR z6?t@oGLlXqi$c(hhw@!2Yb+$Zz4?KE0e5^XIzlL#4kI3{YEqQFGk~YYy}lSRq)pV;R;Hbu%>Tr zXUcS@bJzT#;EJuKWo11DaD)3ER=}@Iru^wp?@SX7RDC1l8mwgrmA!dH_0GrzL|!eWyP) zQ@F@84+^&Aho%2)hX(b8<59hKrE@)=%TMr$@9Rs9%KV(O_MXeg<C zM(JZ>eO1dGw6(OdVX=pfp8$hZ(Mp9{yqd%HiBf>I-ttn6E4BC`5grd@tqYe`lq2(& zcKaxR3@#}9?UsSD76yct72jv7BOmaTcS99%Y0Xjw=p*TPOA9eH%=4|u>TtxTjZM?s z(i&Biry@Gm0J+3(z8COkXHM))cF>4t&eK`s=CtN-`S?2L=LzcS>iS29M5U#_dX^#I z(f5x91Oz}G92`!^si9t>!Xu&vmqpeRDp6BtOLWQ#8Cbd`28X+0IOP7CawtEr@1Zs0|bXJk=9+dL9tzgRQ zj|5ip2kKWinx~ge5%{=^NB-A@fNod6jnJ}5TkNoDd+sn~&}-6r_#J1h3{4<>%0#QO zs!H|wc*iih)*#K#bNDLGJTaKtVh?bqI;42hzj%~i&Z-$@7H~=y_6&k`SHtq1D_R=C zn`l366*=;C1*>RI6dL#aPL{q;ju)7_Esw?f*Q0D8x7c>9%f8%Ez~_2O!hj0Z1K@R; z7t(&BGuM58{TO587zK?dF`>h2;4&JVJNsPxq<vE z&uBs;^Qpb#@ptPFB*16?L3Tw$_Q6l+Jj0sZ%sqm|4Fd43CH>_S{)47hFilyX0r@}% z0LNf8~HfoLkY!if{*P?D*C3TiMf9>vKa})63=#uPX$F z%yZ1wdhd`m46+|fm4GoC1U`yy|GkzAD>qam-Baj-UkNU5tRc$d<18%=b zjZNuvo|@Wh*Te**N?eC&!<2u& zji@Bd=RZ^`^!o_x=di&Q=|-SDJCy?%A;KK}UP$K8Yldc!>%jRD;yg*2Pw$w_{xi?Z z({xqCw9ETo-T9{8W|Sgps}FT2DGa@jf0G+_*5_n|h}x$D3iFz_Q&Q2r6zw?wSylEU z#lMgTtan(>Fao#|p`a>~ml60${+aQ&Gz?3f?^q1u;?&!bn5KMOQ>2O_OY>t69F=40xYaPXETobyMOkZ<&5}izQv?J$kw)D_J0|g zEwvsP+7{*de}RT501ZBT_mKky@b15WBoO z$~Dn{2Qw5fuouC94vcPco=>5X@cZQRpPL3(U!|u(=wDm`n~l@|sZJJH@vl3$KWKpc zkLMNvkoK7W1Q3vwqfa<6o!y_OEXsd&*bXKG^`E`& zq(K_FRuDQF_3fGc0U{8jqZV=hZ~EuN+Oeyji{X^1@cQ*mDyvFBFX zY3I#I`cLRDfhL2SR63By>D8H%x;6%K%^sNCwkshptj|c+3GMJYIz%I5>HZqd#<+iR zfR|IWfOs?4UTEuoPTZR1dUV|O{nH5@==H7_FrnGFz zx;*vi&DL-OMz`_3h3^qE(7vPkpJR^wTfJj3t3$_K9SrC&y(HBc-8ltE-I4}nb_gwB z2P|(gw^zE`g*?k)j7Pgn@%hOSRSI--m{DKB>W_TY`iCj5=SeE%f=F zr$@Kz2iyfqEICh#@n82AF#EgRg96-*cAZ)tyG-yO6Sdr}$4xYAefcPx;J`;kSX@GG z|2d>lyVN4&Hm|4UAr|urJsm@L?s?)`_v}{Z!r&f{zeW@9u+J8=_c`c2lkYa;(x;KP zEmxpfe8C1X9d{IuZOyoUc*-X>2shxE%oF&#^%Re2)@*PBLM3A>5V{34M>5=tb4+p_ zqK;^E<*xIthmJyZ-Mjy8ml|>#z5JDez4gtk8B)d8FQ&h4+83&+!Evbd)Bm$H@xzw$ z8G&lqfP*)-qv4^uSYPk$G9$Q%+=>%GnSwsqrs$~&cpV)jc`VWL|4>6yVaL2b4^KP3 zBL6)%DzSp3!)LUNbRHC++@}4U?v4^9&hUSD4+J7UO-F}y9RL2`*X+wt+@S=9{J*#U v4-)@J6aRNQ{&kQ2A0++{6950+3MbF8{RYo{jffqufFEgb1+nt?hF|_44%4jl diff --git a/src/kaleido/tests/test_py/baselines/plotly/topojson.svg b/src/kaleido/tests/test_py/baselines/plotly/topojson.svg deleted file mode 100644 index d85527c9..00000000 --- a/src/kaleido/tests/test_py/baselines/plotly/topojson.svg +++ /dev/null @@ -1 +0,0 @@ -404550556065707580lifeExp \ No newline at end of file diff --git a/src/kaleido/tests/test_py/baselines/plotly/topojson.webp b/src/kaleido/tests/test_py/baselines/plotly/topojson.webp deleted file mode 100644 index fb1aed72c1d645d5af6733d2e73eb64e399d845a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21340 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 z%0A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 i(#RL4*6Ww?x`6Y=000000000000000000000001|iK^rP diff --git a/src/kaleido/tests/test_py/baselines/plotly/webgl.eps b/src/kaleido/tests/test_py/baselines/plotly/webgl.eps deleted file mode 100644 index 214483b3..00000000 --- a/src/kaleido/tests/test_py/baselines/plotly/webgl.eps +++ /dev/null @@ -1,2625 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%Produced by poppler pdftops version: 0.80.0 (http://poppler.freedesktop.org) -%%Creator: Chromium -%%LanguageLevel: 2 -%%DocumentSuppliedResources: (atend) -%%BoundingBox: 0 0 526 376 -%%HiResBoundingBox: 0 0 525.12 375.12 -%%DocumentSuppliedResources: (atend) -%%EndComments -%%BeginProlog -%%BeginResource: procset xpdf 3.00 0 -%%Copyright: Copyright 1996-2011 Glyph & Cog, LLC -/xpdf 75 dict def xpdf begin -% PDF special state -/pdfDictSize 15 def -/pdfSetup { - /setpagedevice where { - pop 2 dict begin - /Policies 1 dict dup begin /PageSize 6 def end def - { /Duplex true def } if - currentdict end setpagedevice - } { - pop - } ifelse -} def -/pdfSetupPaper { - % Change paper size, but only if different from previous paper size otherwise - % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size - % so we use the same when checking if the size changes. - /setpagedevice where { - pop currentpagedevice - /PageSize known { - 2 copy - currentpagedevice /PageSize get aload pop - exch 4 1 roll - sub abs 5 gt - 3 1 roll - sub abs 5 gt - or - } { - true - } ifelse - { - 2 array astore - 2 dict begin - /PageSize exch def - /ImagingBBox null def - currentdict end - setpagedevice - } { - pop pop - } ifelse - } { - pop - } ifelse -} def -/pdfStartPage { - pdfDictSize dict begin - /pdfFillCS [] def - /pdfFillXform {} def - /pdfStrokeCS [] def - /pdfStrokeXform {} def - /pdfFill [0] def - /pdfStroke [0] def - /pdfFillOP false def - /pdfStrokeOP false def - /pdfLastFill false def - /pdfLastStroke false def - /pdfTextMat [1 0 0 1 0 0] def - /pdfFontSize 0 def - /pdfCharSpacing 0 def - /pdfTextRender 0 def - /pdfPatternCS false def - /pdfTextRise 0 def - /pdfWordSpacing 0 def - /pdfHorizScaling 1 def - /pdfTextClipPath [] def -} def -/pdfEndPage { end } def -% PDF color state -/cs { /pdfFillXform exch def dup /pdfFillCS exch def - setcolorspace } def -/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def - setcolorspace } def -/sc { pdfLastFill not { pdfFillCS setcolorspace } if - dup /pdfFill exch def aload pop pdfFillXform setcolor - /pdfLastFill true def /pdfLastStroke false def } def -/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if - dup /pdfStroke exch def aload pop pdfStrokeXform setcolor - /pdfLastStroke true def /pdfLastFill false def } def -/op { /pdfFillOP exch def - pdfLastFill { pdfFillOP setoverprint } if } def -/OP { /pdfStrokeOP exch def - pdfLastStroke { pdfStrokeOP setoverprint } if } def -/fCol { - pdfLastFill not { - pdfFillCS setcolorspace - pdfFill aload pop pdfFillXform setcolor - pdfFillOP setoverprint - /pdfLastFill true def /pdfLastStroke false def - } if -} def -/sCol { - pdfLastStroke not { - pdfStrokeCS setcolorspace - pdfStroke aload pop pdfStrokeXform setcolor - pdfStrokeOP setoverprint - /pdfLastStroke true def /pdfLastFill false def - } if -} def -% build a font -/pdfMakeFont { - 4 3 roll findfont - 4 2 roll matrix scale makefont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /Encoding exch def - currentdict - end - definefont pop -} def -/pdfMakeFont16 { - exch findfont - dup length dict begin - { 1 index /FID ne { def } { pop pop } ifelse } forall - /WMode exch def - currentdict - end - definefont pop -} def -% graphics state operators -/q { gsave pdfDictSize dict begin } def -/Q { - end grestore - /pdfLastFill where { - pop - pdfLastFill { - pdfFillOP setoverprint - } { - pdfStrokeOP setoverprint - } ifelse - } if -} def -/cm { concat } def -/d { setdash } def -/i { setflat } def -/j { setlinejoin } def -/J { setlinecap } def -/M { setmiterlimit } def -/w { setlinewidth } def -% path segment operators -/m { moveto } def -/l { lineto } def -/c { curveto } def -/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath } def -/h { closepath } def -% path painting operators -/S { sCol stroke } def -/Sf { fCol stroke } def -/f { fCol fill } def -/f* { fCol eofill } def -% clipping operators -/W { clip newpath } def -/W* { eoclip newpath } def -/Ws { strokepath clip newpath } def -% text state operators -/Tc { /pdfCharSpacing exch def } def -/Tf { dup /pdfFontSize exch def - dup pdfHorizScaling mul exch matrix scale - pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put - exch findfont exch makefont setfont } def -/Tr { /pdfTextRender exch def } def -/Tp { /pdfPatternCS exch def } def -/Ts { /pdfTextRise exch def } def -/Tw { /pdfWordSpacing exch def } def -/Tz { /pdfHorizScaling exch def } def -% text positioning operators -/Td { pdfTextMat transform moveto } def -/Tm { /pdfTextMat exch def } def -% text string operators -/xyshow where { - pop - /xyshow2 { - dup length array - 0 2 2 index length 1 sub { - 2 index 1 index 2 copy get 3 1 roll 1 add get - pdfTextMat dtransform - 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put - } for - exch pop - xyshow - } def -}{ - /xyshow2 { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval show moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval show moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/cshow where { - pop - /xycp { - 0 3 2 roll - { - pop pop currentpoint 3 2 roll - 1 string dup 0 4 3 roll put false charpath moveto - 2 copy get 2 index 2 index 1 add get - pdfTextMat dtransform rmoveto - 2 add - } exch cshow - pop pop - } def -}{ - /xycp { - currentfont /FontType get 0 eq { - 0 2 3 index length 1 sub { - currentpoint 4 index 3 index 2 getinterval false charpath moveto - 2 copy get 2 index 3 2 roll 1 add get - pdfTextMat dtransform rmoveto - } for - } { - 0 1 3 index length 1 sub { - currentpoint 4 index 3 index 1 getinterval false charpath moveto - 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get - pdfTextMat dtransform rmoveto - } for - } ifelse - pop pop - } def -} ifelse -/Tj { - fCol - 0 pdfTextRise pdfTextMat dtransform rmoveto - currentpoint 4 2 roll - pdfTextRender 1 and 0 eq { - 2 copy xyshow2 - } if - pdfTextRender 3 and dup 1 eq exch 2 eq or { - 3 index 3 index moveto - 2 copy - currentfont /FontType get 3 eq { fCol } { sCol } ifelse - xycp currentpoint stroke moveto - } if - pdfTextRender 4 and 0 ne { - 4 2 roll moveto xycp - /pdfTextClipPath [ pdfTextClipPath aload pop - {/moveto cvx} - {/lineto cvx} - {/curveto cvx} - {/closepath cvx} - pathforall ] def - currentpoint newpath moveto - } { - pop pop pop pop - } ifelse - 0 pdfTextRise neg pdfTextMat dtransform rmoveto -} def -/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0 - pdfTextMat dtransform rmoveto } def -/TJmV { 0.001 mul pdfFontSize mul neg 0 exch - pdfTextMat dtransform rmoveto } def -/Tclip { pdfTextClipPath cvx exec clip newpath - /pdfTextClipPath [] def } def -/Tclip* { pdfTextClipPath cvx exec eoclip newpath - /pdfTextClipPath [] def } def -% Level 2/3 image operators -/pdfImBuf 100 string def -/pdfImStr { - 2 copy exch length lt { - 2 copy get exch 1 add exch - } { - () - } ifelse -} def -/skipEOD { - { currentfile pdfImBuf readline - not { pop exit } if - (%-EOD-) eq { exit } if } loop -} def -/pdfIm { image skipEOD } def -/pdfImM { fCol imagemask skipEOD } def -/pr { 2 index 2 index 3 2 roll putinterval 4 add } def -/pdfImClip { - gsave - 0 2 4 index length 1 sub { - dup 4 index exch 2 copy - get 5 index div put - 1 add 3 index exch 2 copy - get 3 index div put - } for - pop pop rectclip -} def -/pdfImClipEnd { grestore } def -% shading operators -/colordelta { - false 0 1 3 index length 1 sub { - dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { - pop true - } if - } for - exch pop exch pop -} def -/funcCol { func n array astore } def -/funcSH { - dup 0 eq { - true - } { - dup 6 eq { - false - } { - 4 index 4 index funcCol dup - 6 index 4 index funcCol dup - 3 1 roll colordelta 3 1 roll - 5 index 5 index funcCol dup - 3 1 roll colordelta 3 1 roll - 6 index 8 index funcCol dup - 3 1 roll colordelta 3 1 roll - colordelta or or or - } ifelse - } ifelse - { - 1 add - 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch - 6 index 6 index 4 index 4 index 4 index funcSH - 2 index 6 index 6 index 4 index 4 index funcSH - 6 index 2 index 4 index 6 index 4 index funcSH - 5 3 roll 3 2 roll funcSH pop pop - } { - pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul - funcCol sc - dup 4 index exch mat transform m - 3 index 3 index mat transform l - 1 index 3 index mat transform l - mat transform l pop pop h f* - } ifelse -} def -/axialCol { - dup 0 lt { - pop t0 - } { - dup 1 gt { - pop t1 - } { - dt mul t0 add - } ifelse - } ifelse - func n array astore -} def -/axialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index axialCol 2 index axialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index axialSH - exch 3 2 roll axialSH - } { - pop 2 copy add 0.5 mul - axialCol sc - exch dup dx mul x0 add exch dy mul y0 add - 3 2 roll dup dx mul x0 add exch dy mul y0 add - dx abs dy abs ge { - 2 copy yMin sub dy mul dx div add yMin m - yMax sub dy mul dx div add yMax l - 2 copy yMax sub dy mul dx div add yMax l - yMin sub dy mul dx div add yMin l - h f* - } { - exch 2 copy xMin sub dx mul dy div add xMin exch m - xMax sub dx mul dy div add xMax exch l - exch 2 copy xMax sub dx mul dy div add xMax exch l - xMin sub dx mul dy div add xMin exch l - h f* - } ifelse - } ifelse -} def -/radialCol { - dup t0 lt { - pop t0 - } { - dup t1 gt { - pop t1 - } if - } ifelse - func n array astore -} def -/radialSH { - dup 0 eq { - true - } { - dup 8 eq { - false - } { - 2 index dt mul t0 add radialCol - 2 index dt mul t0 add radialCol colordelta - } ifelse - } ifelse - { - 1 add 3 1 roll 2 copy add 0.5 mul - dup 4 3 roll exch 4 index radialSH - exch 3 2 roll radialSH - } { - pop 2 copy add 0.5 mul dt mul t0 add - radialCol sc - encl { - exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 0 360 arc h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - 360 0 arcn h f - } { - 2 copy - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arcn - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arcn h - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a1 a2 arc - dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add - a2 a1 arc h f - } ifelse - } ifelse -} def -end -%%EndResource -%%EndProlog -%%BeginSetup -xpdf begin -%%BeginResource: font LiberationMono -/LiberationMono_sfnts [ -<00010000000b0080000300306376742067066d57000000bc000002ae6670676d -7e61b6110000036c000007b4676c79666939d49400000b200000063068656164 -04d4c02000001150000000366868656108c1fdc50000118800000024686d7478 -399c0838000011ac000001606c6f63614aea49960000130c000000b26d617870 -04cf04c0000013c00000002070726570c8f38c8f000013e00000057a76686561 -000208010000195c00000024766d74780800000000001980000000b200> -<05cc05cc007d054500150060054500150000000000000000000000000000043a -001400770000ffec00000000ffecff5f0000ffec0000fe57fe57000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -00000000000008000000000000b400bd00aa00a000c800b40085000000000000 -0088007e00a500c000000000000000000000000000bf00c900ab008c00bc009b -008d003400000000000000000000000000000000000000000000000000b900b4 -007c000000000094005f00000000000000000000000000000000000000000000 -0000000001a8006f007800a400c80083008d00bb005e018a0103006000740081 -00b800c0005004b104c3fe4c00eb01b200c30109007b012b029600c9009600db -05d804d500000000000000000000000000000000009200a8006b009200b7006b -009b0000000002f20092023e006e02a50345008900a00060024c000000c30000 -014e00a4015b005e00800069006f0000005e0068000000000000000000000000 -0026034a0087007b000000750068000000000000000000000582fcb1000bfff4 -00830089008f009600690071005b005200000000000000b202030000008d031f -00bb00ae00b500000000008b000000000000000006a9037002bc0208fd990091 -0091004d004d006400640181009f00a8fe68fe9c009b014501450090fef6ffe9 -007a0545024d000cffee0598fcf3006e004c0062004600e80000000000000000 -00000000000000000000000000000000000000000000000005cc000ffc1efff2 -02fb000e0416000afed300bf0000000000000000035b0010fd22ffecff78fff0 -fe60fe5302fb000f041605a505b205c30079005f06810468001404cb0000ffec -ffd3fe7f008300db00aa00ba00a0000000> -<40475b5a59585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c -3b3a393837363531302f2e2d2c28272625242322211f181411100f0e0d0b0a09 -0807060504030201002c20b0016045b003252011466123452361482d2c204518 -68442d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 -b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d -2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c -20452320b0cd442320b8015a51582320b08d44235920b0ed51582320b04d4423 -5920b0042651582320b00d44235921212d2c20204518684420b001602045b046 -76688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b2d2c00b028 -2370b101283e01b0282370b10228453ab10200080d2d2c2045b00325456164b0 -50515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b0 -0743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c -58b00361592d2c8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c23 -4445b02b23442d2c4b525845441b2121592d2c4b515845441b2121592d2c01b0 -05251023208af500b0016023edec2d2c01b005251023208af500b0016123edec -2d2c01b0062510f500edec2d2cb00243b001525821212121211b462346608a8a -462320468a608a61b8ff8062232010238ab10c0c8a70456020b0005058b00161 -b8ffba8b1bb0468c59b0106068013a592d2c2045b0032546524bb013515b58b0 -022546206861b00325b003253f2321381b2111592d2c2045b00325465058b002 -2546206861b00325b003253f2321381b2111592d2c00b00743b006430b2d2c21 -210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b -59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c -0c6423648bb84000626023212d2c4b53588ab004254964234569b0408b61b080 -62b020616ab00e23442310b00ef61b21238a121120392f592d2c4b535820b003 -2549646920b00526b0062549642361b08062b020616ab00e2344b0042610b00e -f68a10b00e2344b00ef6b00e2344b00eed1b8ab00426111220392320392f2f59 -2d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045b00054 -58b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c -4b5158b02f2370b01423421b2121592d2c4b515820b0032545695358441b2121 -591b2121592d2c45b01443b0006063b0016069442d2cb02f45442d2c45232045 -8a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3330034005944 -442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 -01615923586559b02923442310b029e01b2121212121592d2cb0024354584b53 -234b515a58381b2121591b21212121592d2cb0164358b004254564b020606620 -581b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b0 -042510b005252046b0042523423cb00425b0072508b0072510b006252046b004 -25b0016023423c2058011b0059b0042510b00525b029e0b02920456544b00725 -10b00625b029e0b00525b00825082058021b0359b00525b003254348b00425b0 -072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 -46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002 -2543482121212d2c452320451820b00050205823652359236820b040505821b0 -4059235865598a60442d2c4b53234b515a5820458a60441b2121592d2c4b5458 -20458a60441b2121592d2c4b53234b515a58381b2121592d2cb000214b545838 -1b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b21 -2121592d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b2121 -21592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b0005358 -20b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140 -408a704560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d -2cb012004b014b54422d2cb1020042b123018851b1400188535a58b910000020 -885458b202010243604259b12401885158b920000040885458b2020202436042 -b12401885458b2022002436042004b014b5258b2020802436042591bb9400000 -80885458b202040243604259b94000008063b80100885458b202080243604259 -b94000010063b80200885458b202100243604259b12601885158b94000020063 -b80400885458b202400243604259b94000040063b80800885458b20280024360 -42595959595959b10002435458400a0540084009400c020d021bb10102435458 -b2054008ba010000090100b30c010d011bb18002435258b2054008b80180b109 -401bb2054008ba01800009014059b9400000808855b94000020063b804008855 -5a58b30c000d011bb30c000d0159595942424242422d2c451868234b51582320 -452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e00b0 -02233eb10102060cb00a236542b00b234201b001233f00b002233fb10102060c -b006236542b0072342b00116012d2cb080b0024350b001b00243545b58212310 -b0201ac91b8a10ed592d2cb0592b2d2c8a10e52d00> -<0002007f0000038102ee00030007001e400c060007030003080905010600002f -cd2fcd111201393911331133313033112111032111217f030281fe00020002ee -fd12026dfe14000000> -<000101f0000002db012b00030017400a030000040500019b5b00002f2b111201 -39113331302111331101f0eb012bfed500> -<0003007cffec044f055a000b0017001b0054402e1a190c1212060c0006001c1d -0f18010f181f18020d18400f191f1902150319190309090f7359090703157359 -0319003f2b00183f2b11120039182f5f5e5d1acd5e5d71111201393911331133 -1112393931300110022322021110122132120310022322021110123332122535 -3315044ff9f3f3f4ee00fff9edb78da2a69193a09f94fe58eb02a3feaefe9b01 -630154015d015afea3fea601220103ff00fedbfee3fef9010e9ef9f900> -<000100940000046a0545000e0038401d0d0c06010a010c0302020f1007067359 -0707030a060c01000173590018003f2b110033183f33332f2b11120139111733 -1133113331303335211106042335322437331121159d01b725feeb8694010734 -a601619103fd4e74948263fb4c91000000> -<000100900000043c055a001c003c401d1a00000d0e1c07140e141d1e0d0d1111 -0a73591107011a001a73590018003f2b110033183f2b110033182f1112013939 -1133331133331133313033353e01373e0135342623220607273e013332161514 -06070e010721159031cfb29f8c8a80728d0db814eec2d5ee9897ce9f2102d375 -6ddd8e7fbc576f787d7111aac7c0b073e578a49b4992000000> -<00010080ffec044b055a002a0076404127241212062c1d1e1e07061724240c00 -06002b2c271211121173590f12011703121203211d1d21211a73592107030973 -59400790070240079007f0070307070319003f332f5d712b00183f2b11003318 -2f1112392f5f5e5d2b1112003911120139391133331133113333113311123911 -1239313001140623222427371621323635342e012b013533323e013534262322 -0607273e0133321615140607151e01044bfce2d6ff0017ba24010f889b5b9c61 -6662568f52858377930cb514f7c2d4eb9e8997b70172baccc2bc11fa7e794b67 -379c3968476a777a6f0eadc2bba777b01c0411b200> -<00010080ffec044b0545001d0058402d1918131315141408070d160007001e1f -1419735914141b1b1073591b1b0415151873591506040a735908080419003f33 -2f2b00183f2b11120039182f2b110033182f2b11120139391133331133331133 -33113333313001140e0123222627371633323635342623220607231321152103 -36333216044b76e39bc5f220b639ec8da8a68b497e3fb02f0321fd851d75aecc -fb01bc8bd273aca315d1a8917c9e2e3702d891fe575aeb0000> -<0001004c0000048005450007002640120701010402020809000405045f590503 -0112003f3f2b1100331112013911333311333130011123112135211502c5befe -45043404a9fb5704a99c9c0000> -<00020085ffec0446044e0014001a004f402c1800000d0607191313070d031b1c -1800505918180a101015505910100a035059df06ef060280060106060a16003f -332f5d5d2b00183f2b11120039182f2b11120117391133113311331133313001 -141633323637170e0123220211101233321211150122060721020142a18c679b -1a9e2ceba3ecfef9ebebf2fe25869c0502481c01f7b6ce594d2d7c8401260112 -010b011ffee2fedf1801d2af9901480000> -<0002008f0000046505cc0009000d003c401f0b0c0c0100000405050e0f0b0a53 -590b0008075059080f0004030450590315003f2b110033183f2b00183f2b1112 -013911333311333311333130252115213521112135212735331502e9017cfc2a -01a6fec101f3c8c88e8e8e031e8ed2c0c000000000> -<0005010b0000045c05cc000f0010001100120014000025051525262726271121 -352111161716172717273503430119fe8e71341603fedf01d5011815396710c4 -93058e0414461e86043c8efb212d1613095fed8e7400000000> -<000100befff003f9055400150036401b0509090214140f1617110c5059111608 -000100505905010303010f003f332f11332b110033183f2b1112013939113333 -1133313013353313331121152111141633323715062322263511beaa3a7801b0 -fe50556186a3a9a6a2a203ac8e011afee68efd744f4c22892e8994029f00000000> -<0001000000020000a2f1f7005f0f3cf5021f080000000000c8437aa700000000 -d948fb0afc25fd9905f107d900000008000000000000000000> -<0001000006a9fd9900000559fc25fa7a05f10001000000000000000000000000 -0000005800> -<04cd007f00000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000004cd01f00000000004cd007c04cd009404cd009004cd008000000000 -04cd008000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000004cd004c -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -04cd008500000000000000000000000004cd008f000000000000000004cd010b -0000000000000000000000000000000000000000000000000000000004cd00be00> -<0000002400240024002400240024002400240024002400240024002400240024 -00240024003c003c009a00d2011e0198019801f401f401f401f401f401f401f4 -01f401f401f401f401f401f401f401f401f401f401f401f401f401f401f401f4 -01f401f401f401f401f401f401f401f4021a021a021a021a021a021a021a021a -021a021a021a021a021a021a021a021a021a027202720272027202ac02ac02ac -02d802d802d802d802d802d802d802d80318000000> -<00010000005801220048005b000600020010002f005c000003b903110003000100> -<412601530001014d005501520001014d0055015601540014001f01550154001f -001f014f0033014e0055014c0033014d0055013d003d013c0055013c0001013a -0055013b003d013a005501350134b2801f00412e013400100134000201340002 -012e0055013300480132005500800132000101320002012e00550131003d0130 -0055000f0130000101300002012e0055012f003d012e00550020012e0060012e -00020000012e0020012e00020009012eb2010055b8012db23d0055b8012cb300 -ff1f7041110144000101440001013e00550143003d0142005501420001013e00 -55013f003d013e40675500fd01f550281ff246281ff1462a1ff046351f8fee9f -eeafee036fef8fef02bfef01a0ef011fef5fef6fef0300ec40ec020aeb46ff1f -e7e4261fe6e43d1fe5e41e1f0fe4011de3e2461f0fe20140e246161fe1e0461f -bfe0cfe0dfe00340e0333646e046181fbc0114003e011200550113400c3d0355 -df3ddd55de3ddc5500411201160001011600010115005500af01150001002001 -15005001150002000f011500010111405303ff1fdd01dc5520dc50dc80dcb0dc -040fdc01d015331f5fc36fc37fc303bfc201c150261f70be0120be30bec0be03 -70be80be020fbc1fbc022fbc3fbc6fbcafbcdfbc05b9ad261f20b830b850b870 -b880b805b8ffc0401cb813294610b70120b750b780b7b0b70480b5b0b5020fb3 -3fb3efb303b8010d402baa481f80b090b002b0b0c0b0d0b0032faf3faf02a0ad -b0ad02c0add0ad022fac3fac029fab01c0aad0aa02410d010f0032010e005500 -00010e0010010e0020010e0003000f0110401501509c609c709c039996261f98 -46261f3097409702b8ffc0b396161c46b8ffc04009960e1146a1943c1fa04109 -0145003c001f01470145003c001f014601454028641f951bff1f0f94af94bf94 -0340941d31464094161b4640940c0f460f932f933f937f93ef93050fba010c00 -6f010c402002928d261f9153ff1fdf90013090011f902f90026f907f9002008f -108f208f03b8ffc040208f181c46208e308e024f8d5f8d6f8d03308c010f8c1f -8c2f8c03408c10134610bf010b0020010b0030010b0003ffc0010bb2172046b9 -ffc0010b40501014468b82261f894a3c1f88873d1f87843c1f864aff1f9f8501 -108420843084033083017f82014082090c467350261f6f46351f6e46351f1a01 -185519331855073303550603ff1f6050261f5f50261fb9ffe00107b21f2646b9 -ffe00107401f131c465e5a481f5c46311f5b5a481f5a46311f13321255050103 -5504320355b80108b51b3c1f0f0301b901190118b2351f40b80118b2172846b8 -010a402550261f52501b1fef51ff510240513538464051252846cf5001df4c01 -4c461d1f4b46481f50b8011b4062014a46261f4946351f4846351f4746351faf -4601df46ef4602804601170115551632155511010f5510320f55020100550100 -ff1f1c1b641f1f0f3f0f5f0f7f0f040f0f2f0f4f0f6f0f8f0fdf0fff0f073f0f -7f0fef0f036f00014f0001a016010501b80190b154532b2b4bb807ff524bb009 -505bb00188b02553b00188b040515ab00688b000555a5b58b101018e59858d8d -00421d4bb0325358b0601d594bb0645358b0401d594bb0805358b0101db11600 -425973747374752b2b2b2b2b2b2b017374752b2b2b2b73002b2b74742b2b732b -2b2b2b732b2b2b2b012b2b2b002b2b2b2b2b2b2b2b2b012b2b002b012b737474 -732b2b2b2b2b2b2b73002b737474742b75737474742b2b73732b2b2b732b2b2b -2b2b012b2b732b2b007374732b017373740073747473742b7301730073742b73 -2b737401737475002b730174002b73732b2b7373732b732b2b2b2b012b2b742b -2b5e732b005e732b2b2b012b5e73007373737473012b2b2b002b732b2b2b2b73 -2b2b2b5e73742b2b732b2b732b2b732b2b2b2b2b2b2b2b2b2b18000000> -<0001000000000000000008000000000000000000000100000000000000000000 -0000000100> -<0800000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000> -] def -10 dict begin -/FontName /LiberationMono_00 def -/FontType 42 def -/FontMatrix [1 0 0 1 0 0] def -/FontBBox [-987 -615 1521 2009] def -/PaintType 0 def -/sfnts LiberationMono_sfnts def -/Encoding 256 array -dup 0 /c00 put -dup 1 /c01 put -dup 2 /c02 put -dup 3 /c03 put -dup 4 /c04 put -dup 5 /c05 put -dup 6 /c06 put -dup 7 /c07 put -dup 8 /c08 put -dup 9 /c09 put -dup 10 /c0a put -dup 11 /c0b put -dup 12 /c0c put -dup 13 /c0d put -dup 14 /c0e put -dup 15 /c0f put -dup 16 /c10 put -dup 17 /c11 put -dup 18 /c12 put -dup 19 /c13 put -dup 20 /c14 put -dup 21 /c15 put -dup 22 /c16 put -dup 23 /c17 put -dup 24 /c18 put -dup 25 /c19 put -dup 26 /c1a put -dup 27 /c1b put -dup 28 /c1c put -dup 29 /c1d put -dup 30 /c1e put -dup 31 /c1f put -dup 32 /c20 put -dup 33 /c21 put -dup 34 /c22 put -dup 35 /c23 put -dup 36 /c24 put -dup 37 /c25 put -dup 38 /c26 put -dup 39 /c27 put -dup 40 /c28 put -dup 41 /c29 put -dup 42 /c2a put -dup 43 /c2b put -dup 44 /c2c put -dup 45 /c2d put -dup 46 /c2e put -dup 47 /c2f put -dup 48 /c30 put -dup 49 /c31 put -dup 50 /c32 put -dup 51 /c33 put -dup 52 /c34 put -dup 53 /c35 put -dup 54 /c36 put -dup 55 /c37 put -dup 56 /c38 put -dup 57 /c39 put -dup 58 /c3a put -dup 59 /c3b put -dup 60 /c3c put -dup 61 /c3d put -dup 62 /c3e put -dup 63 /c3f put -dup 64 /c40 put -dup 65 /c41 put -dup 66 /c42 put -dup 67 /c43 put -dup 68 /c44 put -dup 69 /c45 put -dup 70 /c46 put -dup 71 /c47 put -dup 72 /c48 put -dup 73 /c49 put -dup 74 /c4a put -dup 75 /c4b put -dup 76 /c4c put -dup 77 /c4d put -dup 78 /c4e put -dup 79 /c4f put -dup 80 /c50 put -dup 81 /c51 put -dup 82 /c52 put -dup 83 /c53 put -dup 84 /c54 put -dup 85 /c55 put -dup 86 /c56 put -dup 87 /c57 put -readonly def -/CharStrings 257 dict dup begin -/.notdef 0 def -/c00 0 def -/c01 1 def -/c02 2 def -/c03 3 def -/c04 4 def -/c05 5 def -/c06 6 def -/c07 7 def -/c08 8 def -/c09 9 def -/c0a 10 def -/c0b 11 def -/c0c 12 def -/c0d 13 def -/c0e 14 def -/c0f 15 def -/c10 16 def -/c11 17 def -/c12 18 def -/c13 19 def -/c14 20 def -/c15 21 def -/c16 22 def -/c17 23 def -/c18 24 def -/c19 25 def -/c1a 26 def -/c1b 27 def -/c1c 28 def -/c1d 29 def -/c1e 30 def -/c1f 31 def -/c20 32 def -/c21 33 def -/c22 34 def -/c23 35 def -/c24 36 def -/c25 37 def -/c26 38 def -/c27 39 def -/c28 40 def -/c29 41 def -/c2a 42 def -/c2b 43 def -/c2c 44 def -/c2d 45 def -/c2e 46 def -/c2f 47 def -/c30 48 def -/c31 49 def -/c32 50 def -/c33 51 def -/c34 52 def -/c35 53 def -/c36 54 def -/c37 55 def -/c38 56 def -/c39 57 def -/c3a 58 def -/c3b 59 def -/c3c 60 def -/c3d 61 def -/c3e 62 def -/c3f 63 def -/c40 64 def -/c41 65 def -/c42 66 def -/c43 67 def -/c44 68 def -/c45 69 def -/c46 70 def -/c47 71 def -/c48 72 def -/c49 73 def -/c4a 74 def -/c4b 75 def -/c4c 76 def -/c4d 77 def -/c4e 78 def -/c4f 79 def -/c50 80 def -/c51 81 def -/c52 82 def -/c53 83 def -/c54 84 def -/c55 85 def -/c56 86 def -/c57 87 def -end readonly def -FontName currentdict end definefont pop -16 dict begin -/FontName /LiberationMono def -/FontType 0 def -/FontMatrix [1 0 0 1 0 0] def -/FMapType 2 def -/Encoding [ -0 -] def -/FDepVector [ -/LiberationMono_00 findfont -] def -FontName currentdict end definefont pop -%%EndResource -/F5_0 /LiberationMono 0 pdfMakeFont16 -%%EndSetup -pdfStartPage -%%EndPageSetup -gsave -[525.12 0 0 375.12 0 0] concat -/DeviceRGB setcolorspace -<< - /ImageType 1 - /Width 2188 - /Height 1563 - /ImageMatrix [2188 0 0 -1563 0 1563] - /BitsPerComponent 8 - /Decode [0 1 0 1 0 1] - /DataSource currentfile - /ASCII85Decode filter - /LZWDecode filter ->> -image -J3Vsg3$]7K#D>EP:q1$o*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H ->q_R=AlC^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`C/mioWjnAY&^gM+`4=1jRLW!YA -=M/6)*KS9PE`kN%="Tc_Aoh+fk'&t\ctIN)4XQLiVpoI(>.nOW?*DmsG$@,,f58"P -DKfeXi0S^6MAH=;fBr>1IXb_>kP+oS^^pnX!PjdJ%0OEX9GI`IODGpB_@VYP -$,Ve*/ITH-bV]jIOR,+@`"`Y"/@)9.f?D&^M-b]OrH -OmIKN1*g(o[EC"elTX_ZZ,c*_ECQL2A(g_UF= -ESQm4c#_\W:"=CBQYkQ&hA;15H/=mim3UV:)/KA -Qu3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOlVo_9p=ZV:0!S@R;Q;sjr'1jRHBp? -D4B]+c?5]@RI5KqkSaqbU$.ptNMG_V:6h[?RVn[ol5G\ZWToqTXfLb+cF'e?RdRkm -ll-GRZ0[r4c*QdV:=Zc>Rr7&kmMh2J\aGrimCVg+cLnm>S*p6in/MrB_=3sJ%E%]U -:DLk=S8TFgnf3]:amtt*/^*`*cS`u=SF8VeoGnH2dI`t_:"/bU:K>sj*caE0; -T'sA]r#ZHgnbf"4c1ClU:Y#.:T5WQ[rZ@3_q>R"imJHo*ch78:TC;^Xhuj(2:_!Ol -=:G;h6j\E@/d=Sn*moVE0nrNM)FIVD%H55cLJ[C[6eHetiWMQ';%=d<=H*pP6qN54/ga!=SJ1"9 -;2S4G.RdIA(#m/7Mc"@E7G,9iirieL;3!D$=Nq`D6tqWXXu8c%h&GC-EK3oA3_*<> -*TP(`O&>=/8(db^j91$q;@Z#a=UcP87#@%(/k/Cb*@'WuOciU;8kE/;-03"4P>Z9n -8_H6SjTM9A;N=XI=\U@,7&cGLY#\0J>q>#iZ'J;5>"`"8/`jp]QW!6X9A+_HjoiMf -;\!81=cG/u7*1iq/nRf1SMTD]d@+!/C/%j52>"qTQ74G'4Y*Mu>>taF90r@pq -RT!C,:$KVWVc<)U;qcXql30JP<=Ya&>)cDE77jIY/uDV%SQ"g-;6!VkW`<6)0U497;8l(Y-qBbh-93!ENWt#)=5*U[ -lihsE7G$-7>\9M0#h#J*FnGiOg8"_b#qq#AaIC(ZW:th=kc)Pm002j>8i!7B*[qY1?e2?#/h]Z*m]Yg07cuD=,MFREmKLG:E*Xj7EN)A -0'6EnSTF4QdCNCSl;?YfUin-/n@fCJN>]Es/XAcfeN0*YQq&VKS-&\s(/"-e`# -=>6le_cUge=Bm/-nHL'h2t%/`4?JDi7ObLMLDF@S874/t?Geb')Im#h=YY([a&elF -hi(3XEP=`[=Ur&R1I[6pmRG9c0.(5`a-)Dd81U)q-Y6PbQ0OB/^K?sCA\t3oElMP3 -=cRZ:U195PJMtajTV(@UH(+3IABn?(3_[cQ9Cml)bus3GB&($ooB&6^\dq,@=`p:W -G(I=EmmU[orK%?:NPYH18nhQ_.tquY(M'g$fHM^r`?&c,L7`$Plo1847Z*K2rclq.: -A8PVS[Gj[*e[_KKmB'HrM,rIW)`);J?-Tq>2W?)GOIU3_M7\SPn0+:EFDkIP^#8>N -e2dtKmK0N)LmJ)b*"..5?4Fa/:BW!`Yab-aH_`W-r7jC2KQ1IF>n5CjSnlc#?VKB@)'8/#Voa0j>KXVa!PR?^g3[1C -gq?9"omB9]Q![%72NP-:rt"+:E"gD89n6lMTAHm*f#-_qKn8S[eFU)l2#I&U]n::j!Ka;XS#dB9o -n<"#2PmMDt$*]s,n=^1CV$_1@$F$W>n?E?T[0pra$a@;PnA,Me`=-_-%'[tbnBh\! -eI?KN%C"XtnDOj2jUQ7o%^>=1nF7#Coac$;&$Z!CnGs1U"V>Y[&?uZUnIZ?f'bPF' -&[<>gnKAN",nb2H'!X#$nM(\32%ssi'BLV'sV$Z -nR31fAJT9"(9q]lnSo@"FVf%C(U8B)nUVN3Kc"fd(pT&;nW=\DPo4S0)6o_MnY$jU -V&F?Q)R6C_nZa#f[2X+r)mR'qn\H2"`>im>*3ma.n^/@3eK&Y_*O4E@n_kNDjW8F+ -*jP)RnaR\UocJ2L+0kbdnc9jg"X%gl+L2G!ne!$#'d7T8+gN+3nf]24,pI@Y,-idE -nhD@E2'[-%,I0HWnj+NV73lnF,dL,inkg\g<@)Zg-*gf&nmNk#AL;G3-F.J8no6$4 -FXM3T-aJ.Jnpr2EKd^tu.'eg\nrY@VPppaA.C,Knnt@NgV(-Mb.^H0+o!']#[4?:. -/$ci=o"ck4`@Q&O/@*MOo$K$EeLbgp/[F1ao&22VjXtT<0!ajso'n@goe1@]0=(O0 -o)UO$"Yb!(0XD3Bo+<]5'esbI0s_lTo-#kF,r0Nj1:&Pfo.`$W2)B;61UB5#o0G2h -75T'W1p]n5o2.A$8:o:\3$V)i[s3jYqLo*OF`B84`4L<9p -o?f]WeNJ!,4gWs-oAMkhjZ[bM5-sW?oC5%$ofmNn5I:;QoDq36"[I/95dUtcoFXAG -'gZpZ6*qXuoH?OX,sl]&6F8=2oJ&]i2+)IG6aT!DoKbl%77;5h7'oZVoMJ%6hoO13GAO^cU7^R#%oPmAXF[pP!8$m\7oRTOiKh-_on,2m$eP8Q)Rj;tVqCF\F0idoA8.;H7.* -[8g9CCK<%=:K;+-mjcq&p25=?_F'7$`>BR>X[CoMH`E.36>8>msQ/>j>d-4Po?8]U"Y?ht6>]mkja7`dp(A^[B47)L@!1R?Q6TgLGaI00 -f<9F#hgJ:#I@%!]\*n\/Q$bORIZK\AfAh0Z"+$=>HIou^=8_tt+ahlBI2EuU2ckMH -%tIb0J=%j;fCsh5+UnUS,>K45XL\4M0BPCJrcI5jpSGU7u%.>CqV -L6s]LGVt37'878lKh@J]QrAY4K7l4++S^5:fLq&a`JKuXMKinc&%Y85O-J:7V7=L'=WAMl\!#^))ZeA&+da68?l3C6.?r!mMB<1*<@,qiNNc"6lBC^'HrVK!B_4WckCtf$t1b)q>Hre0Gk\s -)#Gi:!Q>F/Kpu(7JtRRUd2F?5C>n';:X)To9s7 -c5l]_UmXZ@R7j'<:FC(F+8W!)\iQeD/u;]\Uqu746+S)1*FUc@iOTMm;Ap[^'&eiU!=BWn7BRPX"<-C)\pL?E -?)QCn[:*eTJIWL3[M'gG%ma;95sQ8q^)5h=*J*13)]>Y;*L45[O')"5"B2V+M6cDB -YlX,(iK,$%e.dJ&#U's"i+N[1Fp-as(Ad:(4(5f!eYaNh&#!qHgJS;c(`386'`jsB -_3c3Ne"'^,U\_C/;Jj!I:V"D4^e0g"M.tET`>lOBFo`<%,'gU)O7i0qm$%u^XB[.g9JG_/\h]g)nE$`6%U&KWY49L -"X*XWr&bb16`qCdaLfp0)f,Ymp_LYE&&E2mr#uh@N#Ua"*T?D)H^Vjc=iL;L6l]X0 -gh\ii@l,()B6N9b1s7s3i1"T -ZchDmd%(,mC/>j8dN1\$(SS8D@3c\;NQs[9dX07Gi@#OO)Ab]D)1fRDg\)]IjcasV -+0'+m$A[.ET\>Yae\,8=rF+8?A_)9Df"GqOrGgFPFk;%\^&<6.rINTaL"Lg1fY*9s -rK5brQ.^SRftEs0rLqq.V:p?sg:aWBrNY*?[G-,?gV(;TrP@8P`S>m`gqCtfrR'Fa -e_PXe)1f.7JJ8lnU^5p!(]>r2?1H@T@D5$R%REi-5t.K`IMuY1)F;"Ufdn.lg#7At -iP$>krZU8b-/sA&ik@#(r\VI -p^j-.)?EAGRMm*<_AiU#*F=Tgrk[qb`U&&qm(Ua2rmC*sea7h=mCqEDro)H-=9&n[ -qB@rf54MD)A+)VWn%SbhrrMUR"n7!Jn@oG%rt4IGS/YnX&]&9%5b&HQJZXK=Y8VoT -T/"UkAe77Jni@$j+c[+b@N#.H)]f7B^())#PT/T(*Bk)V!Rr-WjmbQLp:kJ+R6fJ[pPYNYBMacYHIm6r>d"A_^$PB=54*\;QHs9QgMQ[( -S^\^o"PrPA*$,n,M8eLpk*t!F,FQg>F8?muQVXU2lZN(D>%J)Jh443&4ms2JalW,> -r=eTu$e+M;Hi>*/QKe,@I_D@,a+Mq5d;b`<_16D3"S%Ye0+65'>6E(L5Wfg5&Fs"X -K@+KIO%$-'%)P;4r*0Fo&Tf"S`TV2+QXQQl>snk;>!J>33;?[1,Jdt+%u%Aa?&6FE -J1d%?5k\9J7*1$u(5@[gA=LVJ\of',ETheXa4^+^5'"TJ/PC-F\r]'g/A3c3F!Spb -9^-B01ei%%gG_juK]>'fDhGj&cAtB\4AU%Zq`dmB4Ol\nFJc)m56lkBkZ&,sU]GKO&*:c*>QqA$L.7O3aYI@c`A*l>P_N]S -A;^T4N$K#?%!93!Te%n>QP%T%7i3!"N&=ZNR5A=kV5^82RAUAHDk1O9p3b7("iG=b -DhS@8>k^\9F\nD^f6:NpL#[GbGGXSZcW@H&Hs\hoqgVu?^"\'FGUBH0Ni -OE-L1iNb8(AlsRPQdAYL>/A1T3DB]4#]N.tJ[#PfA@X]+?&N_'r`GVC&WCZB7L?Xp -QNjtp=;jOE5\3H?!*%%ZKq4*)`oXU!>R#j)F<-JIi0m6)6YT5+OepI07lpV(SD#6T2;*#B"#E:4J, -Iie0ck1?)88`j6GB/(`>RmW$1B8Rt6L`):cbT^4XV7]]3#E60N*f8CNW_=8HM'ueU --4m$,&#FiS;AeQtQ>`=k$*n[h1l4J,S)c#3C5etqQ6TO@_$q)I<5ES&=FCoZ>DYb) -K4gU*`AILhIK40J!O(N"T.k3=t3:a9uR6e&C6@;Se/c%$9g+#(niQicrk. -k.#+q6J*=#3-i6sqEILB)3C!s#f0XQ,%OZ2-Scl88GODSA<`9:0J"C[q(3m3e.7a@ -G#(^#-R5GjUQgbZFh$D%3/;PbEl2W)N8U'KL(H4VW46'=B1s5_.*NAY*+_5%R1j.& -mQ\V)@LZbb1$20N)i6[u[LqL^LX>KSK;/0-]B&3_)m_Jfp$hm7:Y:d,lg4G`HPmN,_6OeltY>MNkI`K.a,l60M;VJeTPd -;#2>'BU"UAc/af)RO1G\9c9^jFhc;g4\09"B94A5I#kQ/is4V+E_]M5\X,3#7NCf/ -M[c?fAq9YG]YR8e3fjpK:-L!!m1f^OE/9'_240lY8$fV";flKR&ApmjU=+=FpR!^h -.('tfS7IWlNqqR7pKQ*OI36l:45@0go],Q0TZ'I62cgL/TqWu8]pp= -Y@[=>LL0T0>Od/6SR\%&<-$.7?TR&"]3+8n=ul+n(1RE0'Vcdi>63>3gCXt1jV7B8 -PS_VRblluP0]f_nWeNSP$eb),m4/Pbj+ql>>0Uff0eTQ\dB/E`(+r(i93&k/"$.u6 -?cAFk0Lf/NL%.2Z-SX&dUOfU4lIeaLk*rUnCJJUB5Y?.lU"#Nt;egS>Pk@MHeV&9H -lJ5lR.og1%N]:M&)f.H#PF;iq?t/9lO]6=>6"9-EILV,+5cP8CcUTCNd]*HGLL@;' -g&[^C[Xf;"gY1%Y0Yf__?l0%AajPK8Y:[$DX[g?FeiU<;lM]POFZ/aG>M"4?IIOsn -p'#S5&C(<.,2"<\C^nKsq/9$W1FF_G1F8?E."he(iB$E91`jRJ_ -42ptYJK"&tAn#k)[nK)>N;0rA$fJ^o6j]O7\G12c=?"$@eIBiPn"4?#s3LNX6g1'T -o5D@&dVm/ll!61G^?u?[O9jXP1>A(-YjO'q.(]jRCh().VC4nfhq$hjCCbGAdg3oB -j@Vq*BM%H_HI#[\SS$iUnWD&fV@M&=9;d"-le8uVK;[_YF.RlB9!NS#Q@h\Y<\FMs=$\%>F!-F[r5QKGiU#:EI/2(U?P -lq^XTdn4^QZ5?i2KJ\@GQPF!aEC[.,2%<=E*CInqCsOL$<(E)I?WK_r:Ta>>fA$/Y -2su+mhs3K3j)'hOG56-eEaaP\^sfb1o+@,K],^m4h`'_pDca9%bDO1TfQsF\Ba*.( -LI6^*S%Tm?)P'-"Q5VQa80NXo?a2[3L,iImA)N$%?3\i-4XbERR!=dNDndP0'0GPH -*"sFd'#?[F6!P0_1[dVG(aM356&Z]uJoHK+h?J=]OFYA.;f+dhd2k?!.iV0_C:?FN -NeubYS5K,5;O&>fjTgCjLEK*\_5`6)(`Gb"&ZVk"0k%)?D*>C=KCDutRH"MCRjQ>t -_cZLr9K#7`[6o$q6_$2)WkH5r4%%-(6^0`$kio&rZ,2C`LIalY@NP?l)LD`XH\=M&qC]R- -"X=7@E+m%Uc75e/0q5g?PHlA^Q9.1l)ftrbZ*9#4s$DXLTb;hXX3;9Gn#Y!)WOZHB -F9dNqc3>Ft")q1nCepmBImeg/\@])eI"McZB#m)g'6JoK>_bjtL_oDgaGbuj/;D6I -N!aTj0D$6P!E0SU@C/u;42aq.*$Lq`Pq->t#o&;Rfu5T'Pp"k'_#u0?R3]b'QlP+R -KEtg;>,oAGaI^fEXrFNu3'Iro>bf_aLRa=GBU?hWVb2n+_47JsXK+t(H,uMW9%brA -KW[rBOMB`Q5P$ol+Dj_$74P=9T$n@IaCr7,JLrj,7G*ktn_6IL3hdb;DYOE7jh!:7@^nM3pm;Zd"sdm\I&lme7o3iSO_UMYrNRn -)QL#0H\.n`L+M9d3*QTo\32T338Dp(]\Lf6ljF6fcHP]Om-b8!cHc@X+Jd3,*:jI4 -%>H&Nb;5>:3ru]clEbgo"rjd5RV]#kmS%t):FNIf<1&YkCp<1f"PILA?rD_p7naj: -RPH[jX$Wr`@jTK6(6EF6)g5">LsFfb:tVAdeIGFS&5`^e:CRn5/F?6p'2\OgX$dLN -Edp`&(aDnS8J'(>pgZ&,EZ4Ht%S[WF8sKWIp.LQ35eq4a9&RZ:?R&Fs-*^mI+mQFR --)HbaL4\V6j@KT>JM<<".mm$.9K5lA02i.?dfhI)/Mg(s&lUqN$:Q^K>[Ap[9K9Of -#,lUGE%na?D's%n1fX:b$IYjTFATK8;eVC;U%g,X`M:dWS`E+l^c_j?BW>>!"t_)A -WthBlO"M=b"si.W5\j1=DPP!e`#FWQ`BdFE'iZJY.T5Y"e[VrknbO\76_@h=1SdblCE41*iNuJ0 -6qJ@tacXWUpe!Oj&i(%aoc;T#n5XUQZ$?;lus3l\!kc]MuZ'd0B3q*XHm& -E-IuBF4nI%=hV4>h6pO)\6Fl:=e3*+V753[V&t@=TbW&3e=BKBOBBn=YrgmSW[Kem -JdLPNM1$,<4:jouF?N$+7-&Orgp]PtrjTD:^Ok\m9`0h.>7uP*2kC.TbQW=7n#]&KNT/@AU9gd$%_SP!;58r<_$.$0fD\ -FOSK,gR6E&42XQd=NW+O6c&)iYX9>R>p;V)%ak?(_#Z#a2o>;3h$P9)SQTa#5UJV=nj)(Ul#'l$-KV6;@^2g -ZPrF-hN^[6i>*=dUDd(5XQ(2?d]BTj>9'Ef7)PPRlMY1`2b8BW@u`T[WerR74'><= -j3%'Nnrg%_aN,+Q,Eg;+FIrt]@BiK5V]n;s>7:k)4c4lMY(^4O'qg8s@B-B=$rF`1 -nXbJ8b/!+:RgPE5ji$3=a(1307Q+7X?<:]`s'a2T;!(g?R`?MEZRQAt<*4*4EG!8& ->8f:#9DN2%aD3I#FC7qsjFsFkKE!s?--gIF:(kfA],+$HQ&Gal;M\ahauW8n4[P), -7m:-.5$I,#4QenMB3oa#Am&b_mq5[G/(+/C)V79g:KG;oSueRg[!TTZK(t1:OO^ZWU;f+s.SNF`Q'Uu)8Ofq3lg[-1OD78[k -53d$glu'o0D$KAuY3YN@72kbhUJn]a^ffp6?Yt%*`#?^]%\FCj05l`W+*K4iF%O,u -2*7a>Z!RDAWthukV7@h'\@chM!XA)m"$/([m7o-QG6R5iWGLEuLKEV(042,1Bf4j+?/( -g']8V$B"7$%&L2po`ne[LGI<:/VE-\Fh6FaGCfR* -+o-VTH(RFu#F[k!RaUZ2qobtYNm#0GmaVcu-_.[DM\qGpGGH-!*/hqE%e[68%/?`<;s3IJ<+Z -fC"+Vn7Q+WrsQVks7-fF[OGZK0bl.XajOok77l&CgGLR^50Al:o*WV9.n"Hf;[E^3 -M;%W4[p=lG;hYjnCRUKH_GWgS/3g8T8!Ta7p9bX-QK&)Ti+RdL%T)Js6:$39;)6M! -334Y"Tp]Wj$2;V\e1aE$X`0[*H8aL!m= -l-agJk-<-T\8EgW4Vbtpp0ri2Bmpq]A]R2#(1F`\?&E1'M!g\L\U\OaB$o,bT.u;> -19pIk]QKfX@DI(SVa43lS4(JND@jddX?%(cGf!7E,'bSFLT]>l>GFWh!*tF1:p`ra -j'bPlO/7E)qO8c;N,P"oM99:sLKUj&SgRCrHln.1?V+GP]s2CPe;^kRgXc>>E6.b7 -`H'bc4jeB-='aL&h:H2;cX$:9l$D4<\uB^W(Z"n9ho\o#D&ikDG\\<01Q^]nY.8S1 -<_1k,4-jiBJQ!HJ!K(e3k/#J_4D1qiISpckrjBu5RIGWqVkN['9h5l]D4N&C$?f@G -&JeW?mcg/gMf.dD0t^P_!k#s?*9g18bnXD --8h-K)q0qD/_=!JH\du6)/9t`2683;&nU=7@OBcjk=Zm15">0`C>T_<*%,`4B:OX- -m6_2uR>)YW0KpD4eo5&35*g)KBHXkg!BanR`JLM5(^A+2Qs'a6*8_ic7h$8WIc%[Y -DuT4AnGHMB^[_6Z5LK-%?XMLVDX?Q@q#4WkbOYY)^[]*CBD,/MoZRSd$IP;%d(%R5 -!b>d_iIJfcYpL8q6qWD'egX't_A8%PCp5bE4jP,SM"5EY0P7gSH&K/M8=@AZ&< -d)$`r!=T0P7P_in#RJLC>.L>GXPOLFBe3+dN,\&3`dj0fK4Y,o0mq"GGiBa]JeL1X -qYoBr1eXFU2pOl,A2Wj)VRM0j`:(nP(TA!pP6g<#h -Je0n/_9-L&=l;;p*:a;,T,U-?K/uLs'bTNaMTE&h%s=='7M:YpiWr\H5ftKE<"N'P -^lL!)LukED\3M82tet/ -25\m[S5YT?2JL])VpC6ge,"bpb$0UMUTp%J& -!s!4)0prKj!X'%P`U)V\=$\OZ9@80j`B.A?"\A*(&>Zq2*oIX0f=gk(g -6k-D@;d]b+^2Brg,0SCd7Zc_u6YQB+qAi",Fa+\EcNsta+Q]_E=fQ@+gPsU,29.u> -*FmN=gc6SP(7ejKGoY5i*0HETA8],L2^i5WV3LPE=21/)/7k"_P-WYEDcIp-=@>"+ -e"'ARf"'d%atHdt[M`"R6ue7Wc?liT+-P)m1Yd!:l\BGgKjojJNVY[o0Mp+*!fU_Z -).d(b'>/ROl300kNZ:j9LDId1KKBdfNlOQ&*OZnIO(YS][39q@R[6ugP-:kXAKM\M2qYr_X\W1$cQSV_>&m(f$=`dj?4NVg\nUlfY>\R;[6tE -Rur??Hk+C\.1)J()Yg3dCf,S]eXO5(2R8*P-?uK/Z];#;T53QuFhHjc:YqSuHk]:p -^3A`n'ZW-LZ-OVm:/6 -g2XY7`e4m?OQk[c9H`i7S!G<$i$et@M9.%QkJtfP@]">Xrom2(i>UI'F8gl@\dq0l -h&iG7P^U?Y=&$d7(T2Bhf)K/,oZr,g:NAppn=7Bc(Cj=\%)*ao`dm%hoEUE9$AC`d -JFD=]>XaR%YD'k?%#1Mq6W&"DXOW+n&VBm!$t/%9"@0HPXCi.U<8V_h"_ND#92tQp -+lqn>P4G2Ob^#g;?M\<(o@@!dH2g9DT\Y88,8>'O_-f+4%"K-i!Zc(q*V'Z7NQ:GKBd-hK3e@;L_:$fl/`h8V,K%s*pEX`!fkjX*1M[;*. -ZO%hK.[:$J>lgmU_61HZ;)8Rg+GWH8d;Zm^E5_MRJ0)ot%r-(nnP9lh^D/J)("$A( -%:kGQ@hsj?'sVNX0hA*0Y*ajcUqmi2Ngtg%UuY5_@ClQ@ -B(aP/$ZNNiB7tL<>cpAH"&Ojj_5&'n#'CMsV3.)adF)8sd2c*=*RW_jE9ePWk%rGu -*fi-HLD3.s(`dT-H"ffL93>WJ?E5TJ)9bk9+jO['],o(a;8b^@&e]3/fVS5 -l`,/a0R-Be$gXJ?_+Y^i^j4ne;ZY\u%W6o5c>_2!ND^]AdUN8S*@=["-IQdZn`;,2 -G$U8>-]X:.9$gFtr-=DU:Cg]2BH/23R)^K/TOH\9dMXBig6+$STPP*:D0go0\g?=8 -qTU9pL)Ao`FJA<:3J!3u7j/)qYkXp-pi9,A$POoO[jTVe0#VrdZL9GEpFh2d-W9gq -"N`;Q!oKk_TV9kMnc$s*C3'W1ib+2d`i'f\pdIb!-)J"'B]Q!>:6I"e.KT+#V(C)M -&G8>c#=4IJ#:t+RAjPjtGDj&+c`H*A@N#9g)GK/\o*BeD1H/6Y2"PuOdt9VYL,9PC -30T@o;h6q;\j_fHe1pbIOoQ@J'ZJ%'BFVn$V]9f4d5ae,Osg=ZL9B?qQD)DqC!0cC -la#M]C??fL43lh(njFH2%lWD'J-KCM#Wj$4Q>UcU5El($;uJrq#=+L\/X)/Ze.REI -Va4*4FNOflOV"Y2VUA!LouplRMDCr>BH&6UXOF^GN0'k!2R(H3phA!kp -_@F5!O>%'Y3Z/)16>HQ?9t2/S`)?]jk4#Q$=<:sV]!M.+hPa9n6; -H5GpWG`/ln`Y_a[TV9dC/SL=nk=nQ;s%5-R:r980[1?,7(GE.b;3`1W2%rjpLiCBG -HHVR;<$o750R)Rr<[W/"6&POKhQY072g!4:D/,n"D_Ug+1.ODN%pWPeB+#^2:B&>:QjDFeO/pn0(^5A0:M/Pnm[^jlm"\Uhc=n/F4Pr"mC.)UPiWm=Q@]q&eif -K&OlI"Ar>8V+fGF@*MDO2@j4s(H>E]@?qrbFe<+LX@:T&8rh%7m)HG(*:(X!ib;ds -@>P[![(Pth2e:5P1"Thc;K3#gFO\6'k`[bpAms6Y$O;L,d5j@1g?^U@p7]S:Q7!9Q -$YWRu/N+ngersfCP@<%/Bu6!H(7po_&g2!#X_Ys?XC?Dgn7_%p:s;[:iQFE\<*klb -VZ]uaZg+)o+OP%XQ3VYC`FcsjB(a@dSq.gc"ZGYGb^*p%R$H!497:K?")rjeCtB&7 -(D>9,RrML;E;(90MGDK^F?(S33N^6:$7_e81Mc:Y>0h_2#pX8p(Qt5.R7*$ -p(cP_.;o9&#TUH(JEta8jt[FIV?bYME`!/a6E1?ID=Wa]qc=F[8-PA]+u/B4@aW3-F8U8N[a -/$ek!Wa_"V_W?I:!Q?.D(OCPZ)JLtI`X=:^6'PDH`7DkpL>d%5s8;OuqqU9QhH -G<-[CXNuPo=6977WeL+$KRZYi)`jb3PP`gi@*>3rM*)c_rX!:Nibl>@mp)H8'^ea0\O9/2)8hP3.!iu$gH$V# -1:n[W^d;.#KlF11CV#VLC8qou7nqjN7UWa(XcqHWhR<`feVBieK;b5r?[gB4ZN_5S@Y3*MZQ`5)GIr1Gsc1o_O0 -ast7=>a4V%6]28H-JPd5ij`U,UOfSlfM6-3+Q]gP[*c&b8/-(Of5q&u\9f$s,*fK] -@e8>e[[V3E"J;p1F"b.B[tL2i#8HI.pqo(&1(RX/b[P<)Zl-"e?hD=8]/?f'cp`qs -do+cDZt:0`=_!2HGZJVrL`J&=-=IfTFma-hftk/Vs0pb6l9!b6gZ-"9A%-gJ-_')/ -`.3?88>KDUFb-?^c!C)NmYeXNQ+lZ`]UlW -*5XF8?-H1%bP]L?7hE2-@7RV6>7p!q#fVL.ke(Dn*<$naV -bl\S4J]]KdL5rnM09U_6;KdNM5/n^4[7[5:YNLj15&KY1Z^Ab_YOTb,7Z&EN_'XN -cB:7EDgf4($<*AqG*46LSGdSH1iXY\1PK]nG`6*Q$s[5^*/Ga5Ff#aFm]3QTiS2S] -iLV"J*[3"\[Gk$CiVk;\3CGgKc-;src0?.-aE9iPY\DDbT$6tWr[tt,2U@]+PVN/Y -[R-))+BGKmINtmgP>;4\:L3Md@g`]W#>MW(M3n3Ais_(6hN-o,YMu.?"s/um_Wk"S -9Ncd?)QDq0Md3k@*0AtC4r+*2-dCoan:RN1g?T&Ke)[+M-RiTl?C4c<(fArL,5S@5 -]O<9+iO3@c383ae\iC5dI\OS!"7TY*bJ'J8cqX#%&hT<==ae9>,uj^[P/:jbBGfsO -ld"5_TbcI\%`e:Q7T)ZF'La$anM#j]PsW*c-CuQ?@E0Jb=l8#u_?=Fm3$VV\;mfMX*6IVBFAV[D(G_,X^MR).&rh&Y_hh1q>a8Xui.Dc)Z -I6SaU8'?nIoj9Tt.2ClR`h6lU;@F/S)0RAk/O_&;Yji@>-m]^BeMB'<_/:u3NjhBp -mdPP:?OsX+rc'rh:?Rhoo_sD-Thss;=u@@`8Yo<*eCo%+QVj_]lBPP\?EmY8S#L;X.jnefr4=nK#--b+j;G/_S -b/T+2\@l[h/FNg*_RfJArNp4#B%d:i0@>rJ:,:Xs2;Rb`/%@BnL%p7#?rhf63_ -DYKW+Mmpn52US!iUQ_bAe1dQ[Hj)W17T^l=eN\:KDBBu%qV\+_1gqVE$g`[&D0mKUiCKm -(8d5:D4N&C"F`-sl2#lnE>!HfWNdF='LaKCq%,oSWP3MHMc/3:5K85T9Gj_=G/)(u -lM+M8UXF`D+C(@j3O!S=WOu4\9!Ye>&tRI`[k:=ZoY3(R0iYJ69X?S% -1efc*f/?@0FPf&Q1Qo'3cEj&04ARc_pHCUD,l9i'1_g5N1?Yp0E#kd+SoPD(Z)fO@ -Aiu(cO!UM]>=da.*afF'+dba9KmB2.d0F[@Gom_Gr=[Y'F^Ca_8.he@ScuBrF#!jN -?>0ecl&[)$V>,F,(U;V'_a%$D%3Qo"kd!o"b\<_B(WOj5BH3n#`-7]+;r@etI`P%ch&nW.I:dTkmTQ1pJ$/BJ?LS\O0@SJHq -RqFAo3-)+%WISfU-#oAnPD0sd72H0BY;W*egZ.*b\X -A'UN3QR97)UXWotJ975M);^#f[lgRZDRXe/]5Kd^pV':I`r!Pj4;S7>E4e+?`$lNR -]u9HRG9=m_qu7n`EjtS#DOlGePm3UAYmOcjYT52sC>sP2#T:#VZ'Ci6X_NH[-^nep -Elq0*gNP41e?N8Vb$KGM-IL7e)O60^eQ(2t^649OM0ghXS&jl)) -3mj\VgPY#4m_nsq_JEiCCgT"1XtW=)aVdlj@Z8^32+G+/)e3u..52G[7gS?"A$YQ' -Z/.W6ZEQ9C=S":8TsP9ZVF\]D-kCp_AHT1K0*5OE(egSl$^%Zfa!-<[XMfEH1%uLE -7!sG\Fl5(LJh%\KO:\/9C851Z-q701A'kEb!^QB0+Rh[E0f?0D\99]^Ge4n=KOYJc -=tiFel@$j0RS!lP-g"scRM/)d8"$22B!g0Z'4u)/.-3ALo\Z)N3cIhR'JYG\^De>( -9T3A6Yb'4PFF_dcaCeE9jKc-6%hO)o7r&KF']a38qLKD0@a@QMhB$as;``;Wo)m@B -)D#i<297b=T]uW96L!`mfK_,..)VcTSq`66>7%4X!0!-@PZ#(q!%Co"VA.%<;`\Ve -8_i.!eE3;^C0sa#o/VNboQh0PI49p_BG=r3,T&4'V59il0b$6VaYC$RShTS]&[J"W -pAlUpq$[qs&8qg$?o6Ah`s3e.?*'kVp"^et(2m4t3cTlnKfI?j'*71?K.oKbiZ'aI -Wdue6\DsUFKs;C>J67.5@r-:KZ5,m?du,M`CpNc>Q7&_V6*q1ioVSXH!K: -(4,I\>YcMc3ef>@(1U48N\QhYjNB;0WA76W0P`JrF3"#m2Lq)"NS"oaY3GpL\=ikIh1No3Rp>HZ+&q^'B84 -?Q86X;RPi)fB"J](Ylub&;1gO2Q/5UTDIPB(h7[s:1e*qVW\U?V?4+s:*LCdp,tj&`Am>tp7b -cY4Q$k8hJZ4_.fpTPNn__aCucf9*CkRe'cToff728#o(Wc=<(s0J/$@k/!F>]@pl-7V"cmFI&r6Mmp\[ -+"U2*mVH[pTti;cYirS)L%o?;I%.MRjkUe9F7,UP]6AGe@JY%iD`p1npSR[5ACQ'" -WQ[Eloro?c@;(8r(N`up5RJ]7@HF2bNY6m4M\QJ'*kh'DN6u*`)CFq,%*oD,d'+ES -KMRPgO@=C:\?6?Jm(Ktg70X3ugB'oPNN"HaXg6oD]N$Y(DKX9Af0&6P#GH6'Lm<1N -7HkWOTQHaZ@-SU+ZkXO7#%jN;&ct=E[DS+8PP-tNbgPa(0e;#;Nok>[i",t2C'DF5 -1#D-,Xqee<]j@i^`L_FOZ:[_\@k*6hXb6*W$aCb5_r1GM/F^@q`H]-8j%Y;!n_QaT -pn&jsN75LG2Lni898kanQ#t!%"'CJmkuD+A9j*5fa7l>.^2c?HGfhe"otO1"_2 -pYYOJ6h#ObanJ"Gq/13IH1k+g;7uA1A'"+AQoaK)W]0:.>YD;:hp.[PinlX3pBb5M -XV9G5Li"PbBWrCFL(`&YWXh"W0p5.c"'AHUA)miea9?iY2s^,gbPmMPo0EKkTH"P0 -,SS!^'XX(o5u\VpX:mm?h@HYH\s"_ZitF6'\I9A@Wfj+fWka_uCdE^kN`s8c;D*pV -TUh"1#A^KH!,@,t:^0H4KMZ#:^qm((4fWhX&2C=KTOkWBruj/3_B@W#*&>Dt`'ZXD -_dk[CEl:7S2oCd]_d#4$U7e-1K/LisLE"O8g:AkF\/Ng04tFp5&8_YNr?h.t_m&6a -i,4kXe;%.++LBiEEep"W-A#&bL'd>Qnr0`/\1M0NWfsfETM6TN=pBe'L+Ce(\87k, -\@",@6tiaAA6QsgKZ1T/`T1@Eni"CE?cE]!`S=n!gS_e`bQhZB5C-BhX(e_oM^[pF -KJ6SaZp#kTS>Q3n`\?2,dgNogcitIX+(F2a"$/\<1*ptP2Oadd'5=nSY:peQZ&C'G -d8EDHFftWt7d-ejjF5/NK?-o[a;fo?=G%>Ds#fX$N'e;UWjj23 -JHdoI2XkfGal#*'7DIo=&".Pi#nB"@qQRTp4gTkhgG,Y4\12diPegoT+g+=3AO:cc -5@Q08+JD>BT?7a%apaud1o&2ZG"><&b$rRd*2]_2FV*P--q%&?.C+]>U]t:hVg>is -10GOUC]u=.2[K=3lG9A$U<8#fP!=4\REJTBgnGn?N;*p'cT]L1?Q3H6XiEBq4NC -^cF`F1#FW'o#seM%m%P71L[;rAkS"_./UK`3?QM]=uLXH[\tk_n79`3r\s-2Sb/W" -SCUG#l-;EPc=H(_E9']?kK]9^c!9M1d'4uSi#YIKL7GrO1$c1#B=TEuV;':b:s-8r -7R@O632GjN8hQ4aRQ?:`]^2a\ED0$8^UZo<'Z"EVo\_D3F#WDQc8=h4FT\gI"&MDi -ct*EbOoj!Q#a491d#l2L]$MKi$&6=u[[TFE`'L"(SAPYk^L=XOV$^%tXN\TU0Cj3> -J7jJFFh)Q,4*p*.'53IIn\*ul"S/fR36Jpui.clMj:29a@Ljr6AP:`_\723b!T,qc74F3h<4JJ-e#/c-I8%RiSBKYFdc@A( -PK:P!T^f(r)NE&_0>`'R)e3=+4Btlt5FB[1ZB@`0qen&Q\HXIR]oi)Vu -UgRM)$:LU5'2oHX7%eNh<<=Z3C=]V^2@3;$;qt5qY7*j;W6$9Y1mu5FWk-hIR*hZ5 -lSH%s9dhdS,1qIt4;:jsFjcP.fN![YF77\>LY.]l=Cm>QbfiI7FYI>/XYHq9Hag.k -@94AB5'0=#S$/giMV+&[,gm>rR]le+EgmEIOp38g5-:nad7^t-Wfq=4lO\bbl#`/ -0biX/[_k-U1jmt5&&0.U??DrLjo40B!3C>)?koKprW8,gfc=hU.[-2C1M2DC!l!D>akSKO%E^k%MCcBfaFq#]8oJ*;dKqCi8ql7 -4rWD"*2j&C@F]MZ^)i;3FZ7^Y\*KFddIO7$N1RU))"jJ%i+]!lE3D_Qgb?u#e5us@ -N4m10R^s[Y;eN.N9+h::(3.W^Zu[tN;_.13X8s).$c1i"+@Z8hj-DadZ9.%-44[Fn -A'j)5l#;^1r]j/jOklNAZa\eaAD7*(,f:#LSf2,&fp>UNZqDEE_=WK@V?VqDL1T-[ -l5r#LDhYK@Q?>s@]hQE')8]m=PVK_]<^(&Q3G!qIjec4S<]oKO7HL+GNL\3Z@S8GI -7$65V&2La4o0G8gF(2sQ>T1lKh5%+kI6)Z+^J_,HA91A^(Th_;Wd3#NHjD6%n^QgQ -V+>@/>p"to)*C)qjl@4jAp3?lGatpAB9aiWIX6t=.`jF_/cjOo=k(!&%P*+Y*kE\W -K41sdHeb)?Y5S!J3g$kgifZ>4*kI7[GeoOEGFJ.sN.d5")7bjgTY^fH2njuY`Ym*? -PNc,5XKHk`AI.NYQ\r+!T7ON8l'<>mPW23C0ur2^L;0?D\*U%,2?\H//YjgAc73+E.69BIM>/2U"*\#,PX46pZ?Zg1Z"Qen'E -AF"#+[u*4!QOG2]D%1%91#sbaZe`s<*ces"9N+"Il]&n0iSZ+O>eh:7]0*/tSXpb] -4GBc:(3K)PlA8q$d'.**/HsV4T#0fZFm:m3m3^8VG.2(\8iTr]ThKh -40uMPSA!p-p'dsRAnq'W?3D&P*)h].ZKWV$[c?bU].Su%d=)ES'pE>adHtKLD>ref -[d0,0e8E4EDQ_@IR*0t@uADnfGHFOSM:MJKrYjcSFEH%J/%'OR:i!S?MW>Xu= -Vj^U%K'5r66j?]W+uX`VLtjH`o%.*3Xtnl-k]A.(q[8gf_6grQDVjUA:C?U3%%qM* -E7Ch*VRAG2E5$M-mibK8X1,3.lCmgOef*r.bon0_hp5WGDO1im@'LaSn$@r++(L?p -daMs0_aq"83BE/Ch+k0p(VMh5k#*)(8G^t#7r\JI2btmnV^q>RlgX'gcn>dti:NM+ -b+uJuPl!2+,<`Z6].!G?/WOAA\[[a]^oSlWo(OesWkl!B,S=O7&EYN:(iW>tcIV:E -Op!>9Ea$?=ljt0:i\]VfRpb9+.<2OQ9OB;lVb?Zti:>c!a>Zb)P:F&i:/&JAi\\pn -8KErp9I5j]bi=a!2'G/W(,@gEA!/B5(j/pL4ui`%./e%PdLK\Q4h5b>W>aI1aUErm -i#/BL12g??:0BDb5hL*d0cMW)0tBI^*ig&bCQYt8aDt`')ik:\:O%&tKCkdhph,>F -mq[/j,PYW%NLP>?_]:!1cD#'2OrlLh)\Z/Oi.hXQG$,B#F!16I*-D7N3dG\6@R6VI -Zb(Z#&d"u>H"@ua"Md/d-cQ%/=(qB*icq)gqBr#$2i)c:3VcERRA,'N?qIo#:(0GR -PejEOlA7J(mKX2[^K1.c8#>7O:,mPbmqpFqj"AO-`&iC.,Y9+:RO7MsD+?D9._CJa -&hH?K=YG9/H:msZkJ$j!UA@Bq_e6aElJG/!XAc46VgCS3B62>tXPW:+G!cZ2@jh14 -*r)t,@`2hC.LQZ<-gKRfL-q:mE5A7mNL]Ic/l,aWP<(V`bTt&"3e+nj+2UJ`bl,T< -p7K2"j;@jH4")nke#BH=M'8h*]s&U##7K^#nT65k.'cq4q,%]8OIE69$_@H/^111& -I/h.YJX!GM(/pF!A)]IL"K+Pn1QHTppY5ZF7":!es/5^RYMXi;U]6taMP?cf\:?Zt -bZB)^/:&28hdt%9\Z%CSHDXL2BjF;(Hh$ -R?HKj3h!3QK6"okJNDY+LQgQdq0g"nRQW!a9rFQ12-PuO[p?2iCj'#GVUo[oghq=? -^#]K!8D`i\>WsMONQ:+#H!J'r2kA:YFF%4VVcU"Plq^0C^?9RDhsblW!McAc$B!Ad@BoHkMK/W,B9T7#?MSUM/pVE1'2kg23B. -RFocVd*(M[_i7=?G=/VD71mJ#.Y=jra&1oF)b33TA/hFTCh]E`EPP0_`mFpLNTEHr -/sD#X&n$It0m<[7Tih4sLP/6F-B_sT(cY%5fr.IYVUTG[SE='%Yb#KYl?pP!.ru6> -'/\5sc')u"2pMpRd5]F8XR/*q'?p,4c]d_o5L:)P]0Xe#/Ib(p'MT;$:39b^8(%mX -d!2/DdAh8MKupPTPX\oN@0U6[Ek_muH%7Xa-;lga,SKY$G+OK42LV2&g%e1j%36Bm -f9P`Nl,+nAC47t:eR3cpn"IU^6ALtXC`Of.MJq$f6'NVDbO@t`Q@VU'>6VqGE#K:A -cu_XAJcQWo$7)U*2\bCs12I[p=iD3uQ:^INd+-tJJ)D.R"bFTnp'HB1(etg"iL"L' -LZ0"R#4CJ1Xt>Rl(s6iN@p&.^3j].Xk^=I.TpTd>UsXj5NFaQ+,a&?;HRB"C&T^d8 -,1/;YO9LcG)]4A[`-.`^rZdG:g.mod*+s9VJfSfU#[/.A!Bt&9V-J#% -mTOF2-HE6Sneffa+Qfq2AfO9k`-7d&M_;D[4GV*6Pb%T.db5?(.ZW2jKEB@A.k3R`[0fF`f-`3L*'Z5[p5& -4CW.J-^Bb;;1--(htR\"3S['nM,7b'3hE?I)**A,,6Yp;CU3f+*kY\3jlJZ]eLXk+ -djn\nJYO25e+&GC]3I;s2A0M<,Ia3[/o,#S9glHVJYi$^DJ5Ct56;hF"e>"9FXIOIH -GEUJlZd&`6EU'u@BF'p`hA4>b>_EjCpBFRQ'lCeA%`:!7iA%KgE@*##fUR>`>Yg5S -:+A\7XVKj3:k)md/B-8T(X=j7N"M%;U4YQm'q94aic&=cd*O2\?q=l`5[B`?F:a+5 -^'c,u@g@Qg1gt@T*95$o+kXaWA4)P#U^1Fh_:FU!0XVh8S5G6QYV6VJ]4VM)>QUb9 -oL5i@>H<287e)l#@<=r#A(hEoGZ$\[aS[R.MF=_V5:pHb\X,`c6d*#g0BNDRQr=GT -`OUg[k!ZtNZR09*eRno;R,f:i^h8ZqX;(lJ`K#ZB,Qe)s*l]t9'e@u^Naq<0:<^nP -'=5]V_?Lc9u`\/Oo4BZa_f*tfOGPJZ$M4d+_W_[BOfUHh8oWU)Qt -F5[q1>]^D%_E3q_a$gX_F\^(B8)LEhU_JiP;Hcddks6kfe>AO0f6KodFYPgOFD"Hj -BJ`4-O;DD=8dr,W0;ok`0G7nV$B^qT#9#089Bj'L\n#gFKhn^?^,)W4OF83!o.jgl -nV`V(6e,G=;rGce8gKWQbRh@.E)^2Dn?=6/1U%bV1gLQH>gPuCh]64T=jb?0<9sd> -DtQT9=Bc5ClpZb@['%AMgDn"F-',?"pll^S$_l8Y]_f9F]g^,CiQp!Q-V0EDSO$h2.a##iZ6d1o6h -jMn:_JG`MafT`).^MGKeft0e8ls76:GOG^o]LOTo?9?DWd,j)s(.huRHFILL^tM;R -3c#4("&Kd3B;a]f9FP)@$^PYq24(?E?rMl_df`+2A!T"^fci;+UTk6MF=YrJSEeio -+`eD,)tbN+_gnjO@8E"WDLBj+o^4W8p:A.Aq*3pplV.[_A5 -Al>eQB6:2!K1'^>r4\LGHceS=Zsh(B`%:*mBeI9qk(f9!AJRF=S(7VTDbY\^Hr(?j3AV*UYS8^ku -3ll35-s.u(->U;A\+.Jpg`);pDI(K(1re_7>!I"E\?<'e/i%/MW,Cm9pb?jEf7mbk -qmq\J1W7AN)hpbDO%a+&pMoK9Qr(fTr!?WNK?-oG"8 -(G@eL%$:67`g6]FQ>;=J+la0ij\<=JQZhlTD.37D2s4H7So`B8\p=$9]KGAN5W+G5 -Sg=sg@JEra3Y(H9inG63A1b.#['YSc)]^FeX)%]Ic[$s-d`A/`7"/FmTl?'jF=d\X -kHYIs&V)OXOBkf^lH;Y,b2.`qS3kB)_92L/iI-X$?2hb#Hq0%`?7aOs%iOEo#D_j\ -\RV_gOuJ/(QP]gC&9#7P*Q=Uo\:X^/FKK<*1foP)?;F(cLcRF>)c5i$n5p,Kr\9sd -Bp;qRd/"4Fbf/tBmiA?CpVG$fa*+oC&@>I_gS)Q,Y*I8cmdtE%N#PU7gQ"5<361q$iY()/#06%l=ViPaiu3:"GqnPE-f9>Xd\W]m@B`Xe11 -!RsEu]`H=Ap^'49WWn66fYZ,Vc)=e(dMfsG*[c,\&;(6baDu7?%'\+g0\!?= -9+>jqq2atRkM!5BBR#7#ahY];NV5pSG4Z$F$\:8Sm[+o$65[PQbNrcFXgmn_cONSp -e,iN:$`ISacK39;Va7Up!M')(KV3/LeO'>eN3&6P31LIR)F6QYm0k"+%0KGe&^b!> -0cLl_BbmsiQS@/0nT9"1B,>-*Q>2XWJM7oA\CAHOl9bF07ok6S#8"&D=okotc^+CS -HPal4?Ur,PDH%/7RYUsF^T9QJm%fhuOK@a#!,;5B.Zgh@/03#@iXBALk;+$]XWFMd -(%LZ51%cW&OV]bJ+6NqOOoS>"cB4gOaj8TW,sIM;!9?dHciEnX&IB#s%![Rh`f[5B -&dHr9;V&lO+O*@qaB\XO[`_G9)rZ[PlHYV$de%A?%j@,M;$P.`>bYZRRN^U"U$iS+ -,p6)E-fk@VdX`feM(#5S+4?,t-6Xd8PYTAi_/V=4k]G@VmV=K])6tZQdWCH4B.&aC -.?^-rKMZ20U/l$1[YhN8N\%>,r.g82eYtg,B$d$`E/odj%maG=/a+"%X;q^X/&rS[ -'#QD69/'9N0_5l2,ki`$'euP+0[h"*,Z(&VCrOVgp?_5K-GJARkb!m?$\sQ@0KCm% -,,S"Hc%4^e_5&'r<=j0`ZjAA!lo:2c5Y2<3lCj63CZ=SR,prkbJBVQ'W]"co8Mmc4 -47e@io9D=WQod)A3O>AS1QsjE^l7fX*_/J;7TQI]T!Z`0LJ$"i$@=%N,,n;>1b_!P -F/YkVRY^,hY7-d4N4Q_X#4DsM(sbZ)M+$E!?I.%54,$^"J[V(W`?s&1Q#\Qm;q4$Q -(cYJ26*qe%1aFpLT0dWN6o5uPj-j)F,0@r#ZjcteO5LS:_)PX13IMQT94liA8&#`jZ&D\7MMN- -Pb1Q)WCjP!3:n^noX(/GVb:RY715i\`LB,M(.`6/mY]9qBIqL>@N#hV)oZ)>:fTsV -]U8q9$c1gqN`AfTr8Yf,PR)#YVmASS"[GL-*9sj8UHpkO0i!u!;3M5SQ*7o>429$Y>6?F1Q0*FfAX\h78f/a3u=#31J>#,TKqP#cm'<6A*8cqEBXLt(@i -;T;0q\i*Ss(0bA"X(caFC%e4`2CE5tW$g/eC8,3:_?=r24_,:L^TCfqM*Q1oBGs8[ -Y7:qGnE"EYY_8l@75Ai$MNH\Lg7`=0)/\fDO*"T_37[?[Vm>e10EFo4W5W5h=RVJT -VupN&gMs[(EL.\d2^K'eVfHu4-$Is^7RhII6V/j4cAq,KkG3l6m_lrU`XA5;Zs*tu -1NM[JZE8RsPZ%KU>fFo'5X=n$p1dlDO@]Z'XX@1E6%2@D"qPTK5Ym@7$tXF$TlntW --b!<*pSE1OcZ6LoCDWaWb:6V2Iq,e]CVc\j$old/5]$_3&8YJjf<]ee6N8LKb*7BF5'fk1>- -PR>^Mi2..GLo7])J)R^t6,<9BQ#R"aA7ZF+fMa2CQ&0aVM<[BYGbJQ5Rph#3-PAdJ --Vdsh1P>mo8U,CqQ])ha9bhM^K_LsnCV75/BRn-[=RRj_N#+u]:?8Pq%]$.bDKF?>$.h.Yok.,;-rN:Hjf4P%92U\OMc_N -:$c,c.]n[4J!')dl$;)6N?R7$h8[5]p^9f[Wq>[nQ*cE@4gg:-$"WnD0]soq/emIT_Z&oY$l^-J.g1 -=gCC&1[]T=\3R&!GYnGXpB''(`p9BbYHdDdRKR\&cF/^Kq%?$[!asKj[*/(9'pH\=L?E*`-P0H^?tB5+elfYCie3pWVYMTWh,19ADjDELg!7d -ML.8t"P)iuLI2&Y%&>LaJ<\5R)YMMuEc$gd[arRVJLM&53u(AVn$RLJ[H7FkRpe?> ->=teVAIXU9aQVMN\?22EWG(#)KYa-f5puPF[V#ZQNIIn]W6MKP[d2t4EY?:C1a0t+ -he$i0PO=[Z[7Ms)*/KLO?=!-sYb)BKWsOeVts/ -rK5c]Qo85#fs1/%;[-cLD'oZ3L^j)76#(6ASNDhq4"@_(Euit?TP2GZi3EcI@E$9I -0#VT,;sWk,MM#Q.p1DN3DX=aeOpp:,#HL=1:,T-Rt4Z_nu]Q4bFrYf5r.W^[3NDW`mG_M_ImWHW,D%<@s -9VdjB:l#P`HcTH!%;c$)!dIu/jDk:^?@h\\ -ZP/<$L!3r9-:=Xd($Jtc@>h(ClC)6r3b?GDuDp$[A.n)N6frrEPB]cO#%\gKInlk[cF"S`VnPY!XelK(S^,M9>rn@o0; -1U"/GipRc5?"S&Wm\O9hG_66d-E8J8`Uo_X5W?G4o.+DFs'bVLQge?r"Fju!:L$eb -=tHg-PfC"aRkQ#.f[*?k1*rF,e!]qpDIKhmND`*Z]-<%H"dPf,?`E&!rbMsrRO#TI(+:n5] -%LE;k6/`BB<%]$tLI:&5(mIcE'oPN@&X_'c3?=/Jh9m/TME`DN8`^SQ<3B@UQV6HS -)3iE\24I>'':I>rnG@Ys?LOdbamRGn]9S>q&hS(S25s`3`01I1J6W?)lUo-2Z6DE5 -"Xhj)`<<^oU=[C!q]uHQC+1#1"qt_#ic`"JEEO=Mo6nA\n/*,\%gds-@IY2)<\G=D -]u]`S*0sALQ-3b1)4]8r3M"K/oGS_cO%H1sC%11X#c[G,Q'nkHje -H+i*-+0X;h"o.S5^0Ii8ZN[Z":9`KNQ"rdtS7@W-9Bu)plW&Oko$ -6C2I2EYU,k+S8h@"6"(dQidpcA<6tWW(oAWdAh8Va"cRk*ClO;G93b%mW]endtiKD -l.bEG5I)Pm,=qAnP9i+b'UL1=nqnr`b&N -d:sUei^"\pM^6]/VjW2%?tkbm5sf'#jdDi`R&8QfCRjRHEh=GZ%4b0-pBAHS>]5;A -Ea8?-drer?A_VE7pOok*[?lm=HX?Hcnq>fMebah>/g7TD*`XB1kIN:9o0*s6D0-F% -AZDt;MQh(E?5kR)g:JE(EThf)GQ'qc?^V[&P@XJU'fI/3U3_"Ca#nNaSVNoGTpY!, -fMtoS@<-/n`AsG:P,9@86'jkH!#(EIWiB<;`R&]oQ]!kP@$i/n6tMI6TrLqVVYPOR -SHdcqH/nVXFcp;tB%se3pFX(gDL88H]5IMco=]'U*TkrAS-K/4E,V?0_Jo'=K&Ot3 -+nXj+DJftH)C!im@u$jOH\lHJW*HB)jk/WnRH9R(EmqZk;S[-t='O:!mCD*6RKjG] -=;g9F,[MEiJY.f:]YSp`(OCj!>V%2.3a,>@S$66-`9E@I(']mZ@2lIcc>;EYZ0O@1 -kKb(+ECir/fR3]he$j_^=53Its+fY1IX?hIeUF.2oDMQOBD;ED13u.uHIkne7-GX7 -U)!mQ`^0b))&?;@%R`:gBO_WaWhHrJ#@R6I,OtfMneV76"=&S]P_0rqp;Y6/mMBA4 -F:*S`3(0FR)aXh>#8]iH$X5t8C'\/JnH(bs__28W2!'.8,K) -)G8$U![Xr7sBpq[eAg`h\SQ8;!Td2HLoCEW)u,"BZ4*+P+^N02CI&VV;- -(b5iB%fOa:Af`O-8@&V69KJ'9TI7`%hJ>oKZSmX-qkL6TP*/gkXgK3s#K,A6UWdG4 -6/XJl]/q!!1gLQG7"Z%l;AY@1VF1H(kS:TsLqu&BN%iQ.Ts3#[dOjg`(E4/bba+W[ -(1Rr%-Saa_bF+PPB2%oF)lA;;RZXmdbuiDTa7='hbcMkD7B7Ven9Yo181ci9=N#b. -?ZV/_>Jm.u%*$Z8B/4RP*ne(^)s#VC;tb\eBK/3\W9#'4:ial1E&5@EP8Hi,>=]X_ -!rU4m1c$a?k??pZ@_UASg;Qb,Le6f]Ijnpf)6;!Y)<.A`9;QW!Zg1M2n,VNfWD -d^j8n,f)X8j5PWN#tQ/WLsqmS*>*o0K-8Ob5)4^cTqF]kc%hI#;=p$AZ&K0BWm',>7E=34Kn*6Y"*SN(bQO``Uh3@s.ejZ.&G*=RR>A -qo):8%QMOt'Z"9QN4[,,nfJXA4rlTs0p&WOU*sSWhm[r^`nerZ,E-icX':`c<_1G; -QBj,3+'L7_4Tr-_W:*gtNHP_j*[9Vts[oTYN7,mb09 -E!>A>O>-OBhqYV\nL3uL,lpO$PddYN#/cHR.E87^0die#)Nh9qE+]RU&fRg@O=4aE -90n+4:8l3i6Sq,f;6)[1^(AJ_^EoK2&[8\jlc)#eG&I9;]M2.ohN>J!DdDn2C;-J" ->PBpkmJN42du%@>;M$I9Z4^1O&p]WMr8iSJQCcCDi$i/dEF(@;moor/,6Vmk+JpI) -,d=!jDF)?)g`=A':5>6M!-'i/b1>A'*J:hjF(9@4H.GIEr9p8!rd[?n#nbWuMgetr -O3i2QgZQ7$r];:oS43)mj.gQN$:1)]SlKe9Nb=.VpbA630"i>)3@/e(c.ZN&3>u%G -m,l^0,/qXT^S-T_%'2[o`X91`EWtM]>3[(!%YG\KMM!966p$-*g)P`ME"6m+3QG0/ -m9WiHG)n6;I+FGDA6[?Irf_R)&"E3V?d*gpGW6S9[iBu''YOO0[Mj@>/K3N&i!Z/V -U=R*P#NO;1hgjN;6>r'qKOL3A`]8_i`uH,@CV/E3"(ug^Lcoidn=bI&b>?=M=pmYi -dC^r`38,2O9Q5u0+6>Zsl_^9Rp4!&#A:41hoO_>(h9YQfJ(2aAhsAfN-q+JX#,mF< -\PndsW+!5X/YR4XS5])FnhIM)#XFg-\/=0OiGFn6mY1^XLJ'"LM[u8/L(j`RPQ:*L -MMET^@6WmD"e]PD&8_VRCkj5N^n_nr;uXVG*C8Co5KJVrnB!uulTu:,67O]UbTdO1 -`gGMhLO/_P!,!^imAFZ()QTon@OHoZjL6X\_FWFu6n^n6FLm'rQmbc8-uUEd]*;4L -!Y@g)o-p7cj;q3T^9QRJ5Z!2#6B=Z6L(J/-!ii*VliBWG%&;7C6a"`5'j?]N7OY -0W5Ab.Zt5EG\77"ZNf2\"#s/4=phn#5-VmiV1\(83(G$79nk&WKg94gfN!f*\VF)f -S9Z-C=FWc(D&brG7bhoOqCk=,H*Pjj+1,uW3V5f-F:!g+$\31B99=lO>Fn1j-"FUj -9<9KR:PXQ;PAD/X=Na36J4LOVVU97M6&p`C:8ab.7DNoLJ2RQZAqG;3SdKZYP!P[; -5_6^;L!V+KG[IQ:'9Pk!#5W9D>6_\_Q,k5:),,TQCm[eN^-A"08Y]*5KQ0SJSJSZ" -ak2K2+n-uVHPe:6L:Xsio=gTD\KU#^"Hk/cH1&fDbt79$8uURIYkGLrAIoMBLEp/s -Qt[6WAOrJ&[?1m%_2/Zc>=d[X+t-hHJ3G>/9.Mu'&1j$@l`q5hO@lmo(At1*m(c:$ -FNL3$2p6NMTcm*'`CsOV9PhaCI)o!?a\85I9WZE2]ZHpjbY6g;9^L)!r6S.Hd7kV/ -9e=af4Od)!eP0<"9l/EUI+V/PfhJ!j9s!)D]\H6*h+c\]:$gb3i,/cBFG<>&LDX5" -E,PlK!)$^._2r[Api;-`hp3;5:Fu*54S2EC -ohSid:Mfc$I/$Krq+mOW:TXFh]Zu:2RYMj(:'brrODb@X@Ks&V:,m.q-t3D%70TW' -K7Hl^^e9D!,(s?1TQmNJ;F%."UC/bEL#=>3Qs^!fA]ACpKR7]m87MkN?\Xqe:]PQ4 -#^+J4),ZqC;6:d7]c9no*DtW6;=,H&r4gGj+YgXH%,A`ZaGPKO,uOmn;4Pm/D(&;A -.8l]d;QVHI]e!(+/Q1CW;XD^6SH-sfDM5N+#-AL>QqE)G\N)*(!<\Sg#XnpT5)!Z_ -"k[LCpi)!BF]!hj#Al+mrBO"Q3XA -Y\47)En:2@==o/-4bQp3KihW8;3a]WBPiMI=b^=%K["ZBpf@ZAlNT&C0@I*gG=WB+t#BaaUqR.Yu?DiN2c3IN1I0,Xh5)MD[IZTLQmNW9)&O.>6^0Q"^krf?t9?& -:'O)!*mhDOm67H.Z;oj:hBh+9&$>%QTF -p0X3@hb80id,Gc*F/9FjgEN>hJ0BSR?_e#oX--L0aCVf"NSgSk^m514Gl3C5(Jlo# -'KBkD4>t*(=TPA,*]"37g/p/L/%d*>7+m+rQ.WHOHUJ^Dh@9g"GeW(D(h'!S$!m9< -V>2H%*9"%A8tH8ribg\<^>J&P>;0R1Fq+](LuM+68&/_A_l8Db0&c'&@K%`c\CV$$ -s&nQ+87fVm1j;Q2D'Ei>2VLKP&rW:=j>E/:!r;&Y8@F8K?%k7KLC2j0fQOC8K]:!8 -$!nKZmQb:lX@.n#iS%c%2F1kG3b#N9)-^Y-Sg*"$$^u4'PQWoKnXp)%WigXL-4WHN -L-Obu;$`PO#=SMo.SWMK?(`MmaXgB0n7B5[G:8=//!81"$Mjr&*aGA8#.jR6.P&Z% -;P9IA`*7_!%8!-YenZH3]YYIP0MaK%(V?DMGP -]-77;JKuYk:atCYi)U`HONPeXG0qtL97tu9'IKeQ02I^k>m1J -4_3\Of]Z9VjK\6O7s$)Pe@cN5 -M$W6rBjO4Q,3^\tL*\.TQ'8m0]X2=cSHYfd*Zd,&Q+,M.CPQtAT*.MqFrk@8UhX/# -BOIBGF3eH;NTc*alB\;^]1QUFop4;#04&FLCT=_6Af_l$*8u`&\_k8W\VAg-iDS3] -f\hc*X;%OhCS&-EC,-n?CV(c*l(M0iL,5ZXiX3goSjP">Til$q\E3rf)5McJ^%uJE -aD@A8l@>GlY_m8:6,t1OC8T-h[`LlD!1;V*89M5=;KW?D^C(f5^@!^E97njZ88S'Z -D%>9-HE<7Op9/cZKLf=%^0"$JKr'D!Yf;!Hr)"%GZ"N9!#"W\UdI3IpCU$.a7_p3a -]tA3jlu(SbdQ[+Si/d6OMTNA[minoNp?lX8Ulo,fbKpD$@\'BjD'E@dW"D_ph=1;A-P)a](Y>.h/#;[&VGU^OkS_;2qHEg)O` -F,5QlT0mT&XU*$DSY12MW,]Op-Q9T)*^W-2'ESsLM&![c-/<]OiA\#.J=m46VWOZG -9M0Cs<-;PK>us".DS,R?i3>_bif!:S8d=McX$4!WRL]7MOE3NXTlBa.#U`bu/?(Yp -JDH7AkgGJqHmh?b4MJ^9)KI!i42!"l4,%'UhZS.F'PXTTg_%]Dp-_An5BD$EFX3jV -G?ubC6e"%Uh)m%ZR^ijEWQ^q4r,M$.@6Tn_%`e6\G^"7]3U(C`PbDMH(!/Z<56Op+ -Lh;7#9*QVDCacP,J`f,BhoQJehZi4u"t6,iC\T/0GTW)o5EmA&UPdL@e4!=4b,5f7$NXIVF1Wa6-[Qjg`-doRY-)MBiP"B34GsnN0/!`h>deSR9 -AM]cLB%)%Dk&ibW:M8%[,mK&iT@%?%H:90G9;YX%eG=kgV*&s%C=R'iB!kjG;r8+p -j14CLEP%gD7bb$l]knV9%&+(\Ho+/BKa5T$V#%MGUmOX%1Gp/`Cb6PXI^N)KNnp2q3">d`m_;;)TOSlFe36a -1Eab:)Gpj4dNjr#a\lB3-GC*JPgZ1ZMb:r0n_)o1)b3b/At3DBJ8LAoOf1.%VI6Fg -3Q:Je]nBn;Bf;9nMjPQJ-0V-t(kXh(l`][?qR7a]_6+\8Rf -KdB@>e@dS1do>-`:=I_k.g7>D"\DVAeNHaT;O'sZ"s#ImNc(DA0p6JeAXTJM';e-G -?%c.,69H#l"b[d*A^KjG)C=@DF<6>;Up(rKD5h9LT/@OTl -?>1(-)7j.Ck7Q4S5MOjY2m.%]s-j- -*lsr>$I'Bh*R/<@9UI0br)fD66'XR"RTY6PQbg3>i4*YjCVU3D@=0[@L-:]5cmI8R -ERlLGTQ)">;<2^;VlY8n>rNr*ZLclO5gF3E%nY4Ah*4cdoj(b1QRG"0@G(9V^IQuN -);4Tl(oH9DTc>r#W%\n)8<-3-)rZ!n@0OC7fpRLrEbjLnoR5J?dRS*=qd/0j;Yqqs -IXS;qXV,kH#?bkW*8U7'D%I@+b[q4Cac4-'d>VBLOCcc).$C>;)2s[8.L't_)NV9l -NYX0,#*@jcm.Ci!`MWB;U_SL-ILAH/2$W""*J;^ds17-F#U(H>KZEot6?ZiA"uEnm -K7TbV=+i=pfSC>tkZ^"Mriq1)DAc*dAe'Bh3pH3f:28F@IZ:DlXFPUA'nh6%\rgMY,X3A4e[_E8263:ihVI -cBSX]r/'tC5UtE]+ClaOOO>1<8="6$Uf<>9dQEU^3?Y7-q#"E3=RM4%'+@5Y8I5G` -@"QrBi$2pFL8+5o6P3p=`k6XTj4SOr3Fkl1Pd?\(hF("8)S4fS[i/bD9oL7,gd[et -D[f7JQW3&('6pmD!:`.k(rA*4LqFZN\M"AgJE7"ZW#c2>HOl86HC$,@QP5s4)7alN -B4UD#e%U'&&pkiNPkCWpDKX9IP$"9sMAZcD9seSG&nM0dE!XCrN$S0R`&P1D_PCb' -,J#sl6<'H7k".L[d8B?S(6p#AeNB&D.\Ti,V,aPG?/&.IYu^/M -+0&=`!PUM=$fR%#RKE1[$[?ctQrps/_MDd,)14H6;!12[8j9CHb?-1C?a#ao^aSLG -<2,gZO-*n`%qdFV7Z7gF6\9%!Ra):9*B7ctaaB"ukUqG5LDQ-u:5l(d0@Vu820!Ai -fGdgjC`TRaf"Td@)e=Tde[)^8h&tG+E+S%!Q(0)i#*/4S1C"UKDLi\c6]%9B/BTA7 -@o?,$fLu9 -E2OT&"E)8"c8.rrm]gk?hpgDmJE/$1^mH2H@%7s`aSiN_Qp1io*"@QnFh\rnNc'nm -ME2._fRPR5K,g+X/aGGG^:2s-%$A1a+GCW>3)W1R4CO3=UER85&Le1*e3(_Nfc;9$ -A.AVU/dB#O)9J[`KL:'CUIF_`pW"Z7[HoU)N=?fCKOYJdK5b0a-B)%d` -ZrW16\hM.C42Xsu0_-#7i]>+=$o-48!Qj"[=or["/h6LX`EN\usZe'kiE=_;@7+Z[<(8Ft_5>.622%[0@GGmA<8mF7XGg7:= -3r\)Xo<7+:^>#-+mVUu7?:NT3*cV@?NR7MQ#+E+@$*L`"`+(RJ9PB349M:=5jtl.u -fbOZPE]F`hL18`f]IQGXD@RAXG8CYGgcpU7'ToQ.QPIB-2iA7q3Lo;`iXbFt0I&i; -,6dspH$,W(([%?r`JDk\P%=*D8RobJV\nQdhP]sT*>IM^ji=-m`lCp`/OlhjZoK?W -$i;j2hH\.Z$10p]!MuH0^u+7KOW<-q(EYZX>s_f^YBCu+f_ZgeiglFC>->]q8,Q:U -3uDa0R8/]C#W462DS"c8S -fR.-^c_SI5T3?TG\k^-9oceq#Y/AVh)EOpKo'sOb&uUNXa32Ets(1QqVmRY%(@,"%_(eq"ip_)oe:8crrs.oq6M4UtcjA:e4^W4?dUDX(, -717dAAHfqkfr2T6erZ=G`YJ/#?RpYG.'W+m%G$]I:[.nBNV.eQrVt4Cc0oWP&-e6b -pu3TqQ0-T2:>j5#R]S#6H*(ZkdE#Q,EoipWS^I&dlcC]t.MV1IaF0TWm&T\jf -WuBBgF:g/F&[l7JW6r`.Q0X%>@3cY?[!C$&oAt:RJ@''oL)Qali!Hb2Y^@LFV&P<* -$1[I+7V<[XhHatJ(hC(r!Pnp#E`[4ao;Z^GdM: -j`ZmPd28Qh^#f,G+_MLh(FlPg\1<%71AL?ZrA'Qi1D;Mud`""@3pZA/qF^=&$PoIR -da.EeGmm/LmZTBQR+frXO0^rJ'.l+@C+5?[4mTsP`3^O[3uigZ&?A-X10T.R@STO7 -Xfh138.:N]Y:d%/9+)N-P-['k^Gch,3tnq^6<>t,[l_M#3p[osm0[k&W.;t1]no3= --3AX)N-Z-#;""r-mm3DQi@l)L\G:+))m"6!;tA>bmmE=(6ki!MZpR660gj/!?#?edbD%!&&/O6+ -DM6SJo+%1nPken=>#?5,Un'pGG=TM-8#&7hLo.@)a@]&"!iQbQ`oq>5E/b&#RA=/. -#6]"#kfV13U1\I9m+"W`[nG5c/(@'_'ZNJ'5kW7?U?Q"B:e=*_?D1n+ZXs9gVY"cS --QjS_5*X-\FNmT\qD)%FA-ja4Vp@eqIZA?[&1NVl:HEcAg_VS@(eWX&F-ph+hL+J8 -EehZ,OmPrfG>#>*<#%b5[)H!E8ga3p[V*KF+m0G:fgW`YZmU_J"a\+!T-e\+b0^c+ -Zuo?d03&a69@\JU"f0mOrnpcD?0GVPY,&EISmLr=ZJtS[X455sI*TfBNjLDj/LmLf -J@62H>LgVr:\.PNa'?JU>ROlm8M^^=?V,k1E"C;t7LW_Sgj1N[J]a65Fj<:\dpJ=/ -?c2*:U;48$_HgmNU3'KL9Sdu94r>l??hC-S-uaHI14IUX2DRj;r%:p<%1Y."?VoKB> -)T/XOb%C:JX"rO_CAfB4@Ei$Nn,l<$p40b4!Ge"9C_8I6QG[Nj$"ur0 -P,\5o/&mUOU)A^U(aS0MeRZ$8@YNtdYpXNiQHDG#cYnueDo;dQmUG*HjqFU?L+H,, -Z=^5Ba@5KbGnjm2JW?183ed)h*;!5PLGLRVrg%a1F4Wd$9=\k_7q`](WQVB.jkB"a -Li4&t?n]S/Tfc%M@5J4\U16dh7ijWJ4FJ2SDFNLLbB+JEB+ -kNF(-;e(L@hh=%:'0(G+GZGn7+M)OQD3k_OZ3r-uVXs.D?n=d&P%)RR#C>@#cnMDG -lB"kcH&)_^LfhEN=N63m9oP>8N%*2&3!qc&i#Iffb&9>C,[RT"nJP6d,)uZ7A>G`Y -1Q:SKKK0!:Gg\h^3Cq6fYiL7b#1X:pVZ"`9ab>D9VZ=8`gb,mAL23CGZKffHrK'OY -OI8=t=[ma_c'4I%PUUQKD?Og9V\!Nd?mZ<[L@hi1?ODo0YrPQ8q,CCM[T;# -f\JLOHl;.hDb3^q[[8^Y?:F&DL2GK[C[lHQOQIr6F"$fU=M:&u]pJQ,S/K1[=\YDc -5F^nJnaBA1.",OEQA6'(TdrKk'\NPq=*rWC1>1!G&#Gmd)LO:(QqTDh.)$X6@uBIO -mf_5>L'"](AR;_fqicK6odkIfkY9 -2'Ei;?VQO`F">/')F>sc8#D>QVSitJ-c1cJ?I5aN4K9UZD!_c`g5QQ17P?g(nOfK4 -,p94@)p!W1(H\MaBqp!TWuA:*g-Mc<4/XM+S;Y7B%0dfoVR's_RAQR?kQ:/`W?+I0 -X.pi=qVpjFk"':)c>0/&WM[cLK(H*:XX4HFl>W!^-P36B5]&!U-ShFXdf/ufY(]`U -gEX"n.RP,bZI89KBUF]NK0X8Tqo^bZL(_Wtmde2iJMN3bG'UD=6)sfd3u^(F,c#g" -eAGpHEGrA.aC`S/OOU-,IaDG.YMC>'<-R';]O\6u&2CTs5IOdc\f7A.>;<]eJ%=cB -EfX,@d\gNpE+%!R'WXRkOVFc`f;MH3f7Re;/kALD-IKHW6dP`N\4YXLWJ82.,5od&[09S.\c:jLkgA&M_V0 -Y1P9]*`#^q#\O>p3qMd&Zn;-*C65\[4j[Y\d(M'K*AU2R.XmC'f"Kkq -antj?;1f7Hl>>kZ\3.CPfgC -U-5'Fh;.,BrH6snO5:+4F,DStI=rT"VKpOuPiQ0BnF"HGWL-iWhR-/2^(V-MmSV,k -e[I6/QY`+5,`X>e9k74B$q>]rlH%2N'?Z)W;X0Gn.$a,9iJYB6IT,@">!Lj-jj47k -a$c]`$.7j<;45D8Os](+ -#0@j`r%.WrVZA+maMdGIJH(BV?D -0UCNq;1bnucqS0TL+!_&8&P3J;u;(!CVEiN$`qd/'h(N2?2o)hM5K+ZA<`eg,!;t2 -kS:o''"oS:==&(4(s&C^**"Q^6J\`7@Q0UT-S$pemW#k1YG^FRs!a4*jc\;=^0raa -9]hOA[,,d_SPJ@3g%>8p6(q-=PZfpcO\)BIl'(:Q5+tfMeEW<&[9g+@X]FbQg@]p2 -@Bir$QX(B>jdq_Tb?m@]\TcXg\(RIJ\ba`Qs;Njj\a!+0pp`` -eaiTO\K2+_H]]5XC`693_D49),X!_%90iU;Afj+9alu85%;+*o1u-=\'>;KUHXp\) -mIpR2_;TA#=K7DqOic^*q4-;c5G?0Y<4Y5!)uHlfIm2rja1Rmbr/nZp/XK@dMV^Ou -)J,`!*,pXSKgY*@-5&cZgf'W:JTbjq7Y/]sS>V"RIQGi_ -0+:3%d`UgRnD$5>6noBG&k&u]:D?5P<*'i(Yd3p=7F@?4)Fh!=D]C2[l.m?"X',:J -T?s:oHlm8EG&!QNOa(^PALWupP,9J`q6aX)"r\%ad!CA)KdiHcQtGTOE1P#UfQnRY -UEYoBdraJ,:(c:A3_m#gmlXAro]JA5WVPQBRg1t5?Q05A6t;_I+_YVb-;kUeLL`\q -((]N=<*E37doIJ#jl!"/R#jV&7@,@3#r&;Kg&Q1eTY>$ -[Io#W=>gnL@QG*QojZT4L]u:qd/Y -**p7/Ep)%&.hBMR"H0LEBFNhC&l1Ni%Y_4>(TRrcl2Z5rLZo+NKCacCVA2G-=USY[ -0/r=o,!uWM%:QNeKb3%NWtFia#=>7*mBoIe0a97+^pF=*'O@[C\G)JFE[1aoD@WB& -rPub.LJ_Wu_jIhJ@e="ZEH3`KPI0/$gf>C$Tu`83/3*jS_&JBHM@B!c-O)h-&d&;Y -Ml+jN"fO%a^tL(iQ<#&\E7#9]0N!dK^b*g(b>jVbS&RH:ZQg0LP7hJ%8\$i/=<')[ -dY:Uk13Y&++^@-E+E)uLg'jRqPnre1c@eJ%0>eX"),7bBN02"'#A];S"7976H&/c& -1rYjr-7mAdPZ84@]K@]DI)6-Z0@V`?)o;_\%7sYW65YXtnK"u)Gl7aK]WN&)9\,.Z -&2SuZRMDSSEKU@Y'rGgA7[#TT:V$9cBCu4s"\qlj)@8]:9_tF#h1`Lq>Wh!;g)?&P -?oEd(5t/]GH`"Sn9g#2&6JXs/PI1jq\>,q#Mu$BnANNjQgsYrne[;@J,l+iU\: -8]*:1N&bQ)dbqg#6LKalp<`skg0PZ!FAgRRK_WQkjrPaj.N=N;%j""4QuoX9(YVqk -lLeMc'o&tQ$3s]!2.p9]G-DIMj?m^.Am -M[5$;kJW3JB0/*!/rD%AG"aMIXqG=PJ($/7lN)(C&i'4,@tD/]G7:,o#,1[7eQ1 -WXRmCAV9Le0;9T"5ONg%;'d5PW8t[s9\l^RX3"ESmH)"tV%?nTP1;%pIZhdkSZ5LK2X6,M=pbPULGo -`^$XD$T)J.fpd&)SAX$p3G10kM!ba_)Mh!-0la[fL0L@-o:$Ro+Qt;0I+Z9qZ,bKJ -l(^iTC=1a*2JERVj(N7E?:1/MNW^+U6ccAJ0f748#kkdiMe.spLF%ZO>doH7DiNds -#8-LA4)g124??*!ktQ<(FnWT&%50^-*JptBjS6aTejg3Y(bSM8S]P9TK1G72!SHY) -)].1_O*fqOY9([<)]s$:4-@%WUK#1X,@n=XCLpd:f6#O9TXjYdoq5bn#S0[e2=UMp -7[r=JX4Cu_/]g3N2[/.[-\ZNHh6?Ze&&XnY:E?5[)2'TsZ>g"=P_,sA>>d?4n>\g?? -k^*i8_W&'Q09WugW-(;'eU"KRiS@kC>L'&lWk%/%U:e[s#/:<)Z^lZ+Fgo'o':=+& -NU+9m\OoWWNhWgi*R%?"_3).'oaBSR%Yf%GnS!BE4/NPcqcN/DUMaN"e*_2@](mEs -ja=P(-iI]%H+HN,jJL[LK=RB[>s"[]TYBTEos@"=kFmTOo!0L]F5JCjk;!".p>4pJ -qi!O%a1]%)ZuVWFBJ3-NLP0L]"`UF@cmZnD?$mN:V!\2)$,,NPq]BJ_U)&d8hLQ)fp3L.7#d>)36-O+a5:8%J%'Y$Z15iG_9)urGG)N0 -"q(F-Ja5(Id@3Dt0JU#*HDQB!,/'@j2X-]l$*"c1Vn_3,5P,H%";&B^ofh^S_(ltF -qA-*BW[`7W"^l"%BP\tn=bZomLJ-!rb-hPml9Zqs -_E9`oKK-l4J3b_H_m4p0$EZRo]EP!s_15I=EmbJ^!0>NHXb+)?9&-lA40D79`+2B) -lpib_`?pcSS9\q*1:RM'C'Q^oLtT8:aoR5@$'1eG0n^I!liTZhd6`L?XfD7&b/l-G -800$=`M?_W`*B>O3lTTTU>/s$$,dY,m2UKiSoaQ/En(@,e!DK2O45176^:+2il%'q -`j&`;X#U`bR\OVAL;K`O1-ZcBr?i0+(F],##VH8RHpn`>4j.)pE)` -/8WAFIE1DtRXAF3oRNA%I3&_-0T9+hP[apGG(Qcg`Bld8K@?!>@Q?D]Vhf?$9S"`o -Jk4COOdqFf@,)rnkCotlt -[EO\$`*c1?TunXTS^`0^1o/19TdSg;1CLi[3Thc(E"ncAU,a\n:h,.[D6i1iU#`%# -%$4*bZ&lW'1I1=clDdBAH7=^4P73Y>?oE]mB#nXpWVOi0q\VIY*c9PN4N6h;+a5DF8#0$*l`!7e>V?b>pC -(<^6c%*GOpbKX#;N'u5QH,N/a]FkX+5<1&BK[124d"Rm.c1'4%6Pr.a6O&@+#4e.c -N7SZ[fM5E.c?/6-jJ5P(l&fN=)u6KO\fNRn=KR7fZ=s1VqWl*g^TF#s,=m,(j>Kc- -Hd9"kcZ1_^A4B1:17har4:+eUY^sG2==NO_:*ejS62\W"T?hiVc]&"Q70Lt6k"_0F -cuA9rBr@If&O:c&]S-Te4UBG('oK+.1l;kp -TPKc3W5r4/9<;)4qnb7c,.GX#:)ZLF0g^Xh`(KtD:k]#"2'gUM-&YJ%dUafNI3^*O -a-%UdZqJ+b&^SKGe;[UMXV8X-Rn]Y].i6\F;M%TiFYhKCSPr0NQdKN,j7<_T^.(G[ -[55ZhB`*i.ladX:c6Tm&[#EI9ku*d4e29VC5b1eq7+>VR;e`"djFd]\:'A@?#39;[ -15["`F;G7Da(eU-Ze2(E7\n!neKmW61LD')HbBhOLFZKU!rW=.]"uesP+r#Il0B\k -?`aq@#)i+='R2^Y)$c"E_br9h2,fEE<7Y&]eoWh"?"_`MY1@$TNsp7bSA3'ATU..o -\FS$Hq*`0BFf9+6:K;,&[;+;^-!+#9](hFEaETHjAY0&g."\6nlN9"!cEVs'P)7VY -l?:3_fq/Db5H&eAXF&Q$Ze'&JfQDt^[:n3HM2FHNRJE>IBi2)@lOVA=77,R[7<""[ -EPkW\3cOFfU)7"?PgD"IZ^PN^fRAkgX.3oG6#0/^J8NL9BH$ab(F]560`f%)H]O7> -3@hj%Lg:4`F.@XlfjM#:Ff3rYWOE%f>,A9V[A]GV`AZK'YsW`(q"c!-Ba)=&<:bT> -!CJ8L$1L(+D7?t\27I8Q"Oi@Z!CnM@M+'b(YR3T=4B*0bSV2f*#0`!tfp\jQ -nY+qu1Hi6)I6u_CakW[Og9o)YV7@@]S"biJ7r=>:q/X@#M#u?(fbJM?N&;b)bW`GV -?"MWEA^*+W@'GW8a+[SMj1\#uSBL,+.IFE;kZla0.3!&(.+:@6?u\jpCoX>??%AI$ -Q07"hl)\aFhPI2XM.NEh&Oo'*Va@*e6N]oNOYSG(UG8cL:$\Acm,(d%?XmG&TT^k; -0qe^c.Y>fr\6oNrMRaj>)#2Y3aT8UQl`7WEg+[#:o0+4$Gh!i.M2h8fFpR#hK&3pB -fQIN8ge'V4$E'ZpaI)fYE*B)hYKe?&0='Bh?4.i]$t3+B@:P$:2.B`cF1BS7KAhgG --tB7Q]A"S7&*bC#U']<8-p-J:RB!8S;@t]:R+PEi@=B!OL+&kk$K@=`@X2.F\ZAI] -P:_I8RmPTM'H8Mj8qu@Ma@%mjIO^p!/)sSjj(!`\U^G=4R&K!e20(%`Z/-s@F];mT(a7o946!&;qE9fiZ;Koj"rXnW -aq/#YP@%'USYe@-1a6KuEYm+12X<'L3Xr3jY+C/U7T<>`i7&b3F!,%"h<_ZVBL;s% -CGOoa843gAFk>_]<9@e)Sdn;'FYi/_+('hQ+VCe@P?1AM8eeN..K/,2EW1^id,JqV -S^qN<1]?K(KpJ/X/]oK_]Pf08*2o$B-SdnAQs6*i!ul!2-H/Q341mIEDN>7)>/#.B -:5%h.]k3"QdPcaj\FA=R#rZ!59$,H7,4)JVM2tbQW8sKu%?tOGgZXBS^!;eN.=E)G -D4es!`7T.HOru!>.Oj[#=oeQV+pl%AXK@4c#.ALpn7]SCADh?XjIVQM7\lsmL?_bB -BgEXWD7YKY4st,C]h,O9)KS4)9rMk8l7Ss)I])K6aQjLY*(0:(ORL(cFdRIaiN=,S -PaU(VSqnD[Kse3:]@35H-nUok]aQc&L9g+d_<`=Pl=RoYVSNifI2\hfT?86_c(.NB -\tdrc*jr:J)N?NG`#Zk:Cu_M]o;^+tqaBpl;ZrN%3uD0G=<..^RmN#\>1b[tYm2Fg -T`Q_kOu!ZHK2um:m/Go1",>$ki7&h*&I$kte/"_61,LCl_P..IC$R14=_[T`84MS^ -5,7PcVf($1_c.DNN/Q^>\&*\d8Q[0iE*t.*]1#+b1\S=`-u?9FdBQ07#CD"1Kk]s5 -mI03:OY4Q?oZ1t(%BL:s[U/)Q2G[>`P9]b+m2k -S::?%=U4;N\gHa(2)+td18)$.E\@?`J\K[m[P6jE0f4QRRQT4T!U%.##aS.*C=u.r@X@$51UYd-HMY. -1u&ll* -*'no=>t]'OM6I9^(G"%/;KfA+d%AGmG?e=3T7>.1G.t"3V=F$oH.+N_Zq!++]HKsK -h,tZ_!>`g6;_F2/GCk&UNVMG%G?9gCIuOjRhANo@/,F'bh?0u?*sJZd>S-Y87N&@N -T*NIFq#R%3(RqQLS@mgMW,/#L5t2kP?)e7\pj%uO$D$sRN-M#M[S&@69pYKKSU.36 -n,D;B['4i6^`tTG/^7?9H*=MjZ5i1/.I=/%KF&F;0r$\+qTMM,T=;ekXh;I+/.m3& -O.__NM)&;qR1mFb1:tdK7sLG$f,Ega9a#g@\U8$jGlPe"5K/QF`k"bjbBt@O6urf& -qGZFJe+k^n5i$!)a;0iYI3c&oNKh\LlmA(3Rut1Wlr89kOnZQYStEk*_,LXU1W>sR -GRr:&#N1]ia8QbOI5&8TbenCQRcO0hO6Qp)Cq@7N\"MQ%n>G95&**Z+P^_*9%gq+6 -fA/YY^F&:s10Xi1$?I"54fR3XFK=[7fnAFU%!782$'/k!H3J7U7^(!L -[Q3GQd8%a7/XKCMddhKB?LMOMnhWe3;JB+AAN$)TW)RM33i,lZ=0,G<&@o1KmN(4T%;64URX3gGBI\,mELjgD# -_=i)EVobF'l=p1VJC(lY^W)>gF_-m7HLdY[! -0pDl>#[/.C3Ke?L#3jc_*_4.g4jT&aBg0lX%0]&EPV!>3d1f:i7F@&%fgjGsN?q0E -PcZL<:\;6W&"gmH%W%[@Oc"#sA=7a\$cM:l0p^0?@$_*D3Hcnd"tFHsS#,)FF;i1S -iclNi9f6A3Q7\'n5;kZiA_EAdSJ+p[IALY]L["Yb*(O`.A'W&-RW5YT+LjZHTTqHBG -qE\Y**2OO5E"V3bZO*'F1o#/[@Gqi*bQXqA4r2L\>hE)3/bh@A7XX'-i%>+b@@Kba -Y]HBqEV$>RMa"Pko,Q(6c1@Io4jW4M)r&_]SM*^dWdMQC%\KTFWcRSCM09[H"ig-; -(25dSTgDSQNMJoH[!mD?H$<-Gq&)\&jS>BcS^;Y2J#*p'R#HWFfE^"RT:Y1Z_KT5) -)&QVJ"(=f6M1h"FH:oQUHbIY03a,bmA/TD1O_+6*h3s$(N&S`iNE[XXl+g0qoO'K^ -JP[s'5hI(Zg9[M::dPLT==g;A6WI^DA`0W:i[0Bkh$`MI/Z#f_C5':a(etWTM7>l) -`i/)>mQe[N\1\ -6=Nh";G'jI+XJtEPu=][b)'7Ob3R_#,I+L36#\[d4CoJW*0?,pQMR/F\;PD6u##u4H[+UpIDJi2%]Ur^#hjdW*<6F?*`)o*X%AK5% -Rj!V7L#_Qf+SE@`V/@dr=Q#L,eVLkPaZnti#+X0IJl#Pc5j1'3+RZKV]p\LU&if:p -k"Sb`V>/rF,[5=:H^.0W1SWIW"-#"]]=OL3&2NA#sr#g3$EUh)q_QDQZ]T -UK;3bf,Vs8)35FV3J:ME)X=,/1^]E'U7f%#8WbM27(6Df"8N9j=CMNsr[O>4AK.ot -EK9#CSd30d@OcE&,"f7QCk\"W<_gdlRVubR`L0ho4cDKhq^;ZIjW5$`E3ICB,mDGm -G73J>LLF:A)c5I,&Zg8bgGNj)Q(52imXB=[[GTJDb`[DOf*=+Td'>A9/.:>=`UB?,N7RMbb:!B.uWe= -=L9rC;4-?Di9\M:h5$fSJm",Noom,>NWOaOk3 -?@7\!no]o=!%`l$'bl9CE%jr-W?ClQf6\(/Cd$I`pP/4p92A@P4me]IEfu0bQN,kX -Dk7!8%[]4$e3^8(N^iNP5PEJFmsZ9eYkJ[f=YG0m2`BtFWh(:N3ndheEfu1mi624- -#j&;Y/DJA>Dnu9>$fI%]%1'jh6S(Lj#*#@t37P<2B8]C=,L:Z@60MS`6#U(ddI28o -:mcqGU\psgGO[V9Nlg'Rd;O4(SdlW8,"%DI$pH'58F/ifV05&I5W^W3F0%j:eo<5o -`nklX/'7VCQ?nkSD@:C(5\"QFU>faok@n4Ljg1\`Um)'c:c(r3HbTmJm6V[Fe]-NZ^VMNV#2A*VK_80oK99fX8$r!)Dsi&1LZH2D -iL@Sr*'KcX4?)LHhs/hQ'''IPYViR%%3*+>No+BCE+n?mSOs;/^.ffr;E@Dk7 -JM%e9mZJsOIA_%.$l3032&(V6"+doD%_>$G4CuJkoo2<_Z7RE/D'nA"*qF:uAXb$! -k.%UlQUCln:.Q5Gph-GkMFQf`N#_!hiZ7RH-]jN>d\SFoo+t<+C,lNd]"`Pr@daB6rJ.] -1C-i5qE>"?'WoJ/JXkjOi)P]@IfXrIbj<0jPW6b?("3NiP7KHj4?HJ'1ZW"kks2\/ -2BC,@XQs@5%.'dOp3*J%.44Hh-/-ZLEA]k^CZco6M -;W8Y?%b8pE+J]d$W?OuMl;`X>2Z]FR/^1u1eC/KZ4Hp"7F9j>%O$L&`4nJe;9I>:* -Nq[T3Do<'5DaY53LFIk)n0Se.<"eo3(IPPp.l9IY,Y5F[b*/sI*"(+4nkc-@>,4cR -c\LGA.H)M&MYWHV'Hr>Qk?K"cN)Yt3[Yp#i1]G;a7mrT(8MdtDoT`"CY=R]Tb"nms -O*kmmmTu$on!#LFNKk64JBX7Jn[+u`1rr)uYtV#K@Or_3O;A9/W>OCKW3(r@#:!'J -U^U7Z:s[,M?UrqDCAQ.0:(IQ5SM[O,i.8`6a!i?3r^UG-S'Q%p1g"rrYF -*XP(l%N<(3WElqE@4s!3():8PT4$[NJ8_>S-P!]gP8m)'SdW,CF)rsI4ErPI@Ep0. -(.CJh8S"U+7r&Yqc#[2[rhPE>#)!:i$8dZPkai/a%5>H6iJ8$SYk=$:X!I\kuj8qT+L$%hU+&j^8n/)dZ;$P:0u -$\3="Bp^Vg\-mpufMdVpL9QEL/KGd4&qAjE2hh$p#4bE"iE-N`26)i%0:@Dc;1)g* -Eu4Y)=?VGLI+,S/L\7'fU7>/:+uon=8)`'8$N(fcgLB6nB;Jl8Tm$heQ5%/u*!_+P -;J1cP\R?>3MrOG\@icY8YT*e7)XV8WJ=7*ZKec6YAjLO+1hJT[J>h^ZEKjB+6]@`) -MX0UUPY,SI35pui%#A#:QZj@a(Fju2X42lQ'<'ebrf -PP(E-R7&XI,WNdRXRoCq2/PQM8>t]nIL"f&#ZXXJ!c[^0pMU.1b@t4]AX&TUQoThF -q%K-;PF)E5Zd-.E8K!Aq-lD+F=9i_0Ditq.o[,2gXL3PJ8U@Y7;8KbBrdTr6_%<\TIOH=\ck@0_BMB1 -ZcBCKb@6E4SScWQIA@;plaEpR^l_O_*_[f&H4%Q9>;U\[5-Ca2d#:_?=MMUt\N -M1WPF=#rWZ5fgZHLC]@2EmbCB8#@L"ogkQu7AP6\W$X6lRY9V)cp'+$oMl=&nTDHAi3fg@O]K$Q5LDlX.7c9I]>6+2XLcZ\HO*MQM6O=;8u'Ncn1^T_7@!Q:_3*>h>]Dp,G7V-'lL -iGs1FTuRc]Mo__e*cb2.Rp/7e]8=%nA$Gii.lr_Ris9u$[>+cf>P]=n(-[&,Qnmc0u\0R:_H2lbZJiM -Wt[7(-q"A9]K=UZ=Q;#:1k(eCHH(9!h&e5kh.K?2h.)hYs7 -GJIHHC\u5l,\3-/^a/(F"g])-a4Wh -VOd8:2MKeT-q$R-\7^Gh0tB.d-C7o-gU(dg*@ABj5nf/YcQ$7/-s7B'As9/U\:&S\ -hCn$*Ccn9ck3u09`Anl8(DBg=e]pp..p5)BU@e:bQe]eUfYGR<-A*iD2l+Wq[I#[;Qfe]4m3Nqr"`Y5CBi+O#S --#sK>8M\7`G^Jb7l!E5CT%3=G/+C:_WCP;iZJcq'D;5$ -ID6l-W'f\?rHlDN:7%.&W96dVgLhg*4J7pIMbje3q;#X+4=nE@Q(X.:,s[72!M`BA(FOT#S=dGaBhZ -r;[_pZ>^ouAai_b(@Z#+##ml2oNDGe&T^[5c5DNj_eJt!Bq0s0dWhAU;\qdP2A6Pjk7DB0;M -i0$VJ,9]Bb''95'AK0fL(t0Vjm@er8GNJ]g79B0bJRE^L$EI?42A:dQCr-I-+\6Vf -DRpOV/;t'M;4]2!VBBAJe28+W&1$LKBUG*ZJHB'`A@[OIVl&^'CE47]UP:?;7W4i1 -H00IGBDMgbTfuLM-)'Q!7['Z1REMDT*TsEmF%M*lkYmls#mYA(VH),R^u`Eu>R?(G -KJf!k@2`Dj&)#0FSSBdD\Scbis/,4r`q-l^CVK8ODu9e@G"uY+`r-fG2IJb8-CDu# -@qI($Uj7-`do=?)^Sp[EE^Cq$?qt060*#+Vl\tm7+c[<^Ml?6CYO%2 -a)g'\Cds<&pRVVBiFgu94fBGXH&QV]HG6_'N!/[6,E_*n.0l0TX*c];7U,e`*ZR"8b0,' -bXs3(M(j?"Au[q!BS7.RN:ihK3eH\GYTG^$IZG>[o04)`2CeU@]M_r0mK;0:s#:NW3dDii>CiLE9 -aqHs/m(O;V`gILkHV\qW5%i8gPEYEa:\WO*$n1L#.6M,mGFK/8JB;TP;3SfsEA`I^ -B,"i,7>l`"gKdqSTG2R1*i]B6knPFs;GNBQG][YgR.c"s^g\T5Ai*"+Tbt[rEfH1W -/-_JV'SA(j$)*:i6u]pgK'#8<:kGSbK[Uf;N+[rDC,JDp^`.m(AWA.P1WL'pUMWF5 -YUW"4.huQqQ'Sa<\bfOqBHOsQMFc!Ah2*Y3T*Fr=E%Q)W`f2Ao/4XORG5Eb)F#I.SlV7L(OZ1S6OW09Ur -g0^g'qO`^Z3="f)j`JnSI*XiJA?FCo\!HaF-`YX6mM3W12F+lDLf"K!j//ioMH3@2 -g_$-Qf4;-/>>YBl8!`)_3J3SfNuD)?XsN,@Kc]8\>L@ale`XVI[=-1cT$2sTT,<3, -S;f54-O)]dJp1B^Z31t%_N:'#ODW;QO^^-P-%q9g,<$Xn(RE,`f9 -_hNLE(Ftb:#Kul`bZ2%[K4m#,:luSI;$>&cD`1N:D`I>RDU+s$P:a3S_moE&@JkP8 -EY3<4)%Rr>Fmudc@BLVIKQ)a`E]+WE$Q-\Q-aHtWW2m]u&PuVj#+Bm[`;mjr_WY`p -H?^D5c9D8qVR%g.EL\ia=SS@d4>Ud7c?1]prra -_W=+>A"BukQHpIF94n,QV=`1*+Anqg>AP37S29&JU$u.n-QtF6'-NA%Q3kB1'qtnM -:`C<.NStgtVY/NPf:)Bkk<46tFM=.p)Kuf&_8&.7SPU68;SRWEd>c+1kV0b;qL%ut(^"XqG3!ZYDRB/nq+ -;)]?"#[gB8:4d/2"`/f!CC#K/26!8+jb^3a3bpN#\8gluSX6[+IaEDN[qY5pYFQFT -nJ(\/.i9^`YXHUAj<-_4`;HoQ+)VcVU;q-?NGh?!ss_*WS%B^ -g!qge+"\!Ig7.@S14Afuo&.7ITm@ocZi-3DKFnBGSMu$d]@=->&p.H!u25\-j_;7WE -k_49=9V+Jec1OK4QF%CUU9+pl7;\9#b*8$^,Q3\2rdWPsaBmp+5PctH^o*kkkD,F4 -#0:nml8o3&WhNt8')T6r")EY/Q6f/IY7pt%a]uUq%7'0j^uQ"kdh)f#8HoaXV`8\/ -_X4#K0a.PfR:'JbEU+0ePEPa_/-'7octNWE?3\g>Y3RDol^/_T8-C!Y'ds41rEPQ -NAD.pgW>57pRgK34MpuqA%Ep9i[_e`''WE.TiS*o4U#e:? -)I+W/]PSKj%OE;439k-/G`ILsDj`Z!.OiUF0Ns48=?U,9.,%Qggj'DeBuc`j&i=pT -]>Q$n-``1?3$<(.=D>R59SP'D"o8P1JHV]V4g)k7\._dFPXG`&=E\ -,*?D`a4-2B%$;:kCrmZ\(*jA(@s8)KX0uOSL.PC?lPLl%;?clT#'a""3,gDn&g]@2 -8N`XSjH%FlU(=&nat&o,,WM?(32K4raJa)K:hrXMK>[Ii\($fk)9PK11'5Uk3`BWC -CNh2\._HW7aulIm9XRMqqFN6H96iY8i[UgGmD4A]UaeR$RKlA374?(VLJ/+LKY\lI -8'Dsj98pa34BA't[Y+ti0Gn7NC5>:YP"_NObd)/MaC-8*B.7XO7u8$T7)_k?dS2.0 -96AWW9PI0kZl"AS^>mA$J[:)AWfl[r7N.u!U5K2rCVF8DZ/jG1#p`5UiD(g=9bcVI -MnmG/)J&us48m1h8%@gP -YFoedgSGQ,b!lg*'bZ.:pH*+@?R.s -:.]eE13-@!'bSk',?!n^:fS4Xr@n]_+(j3I"2DlD[0hp -diB*"/Nctf+?Ll55fngBJ`R,AAAR2@4[<\]WE-X)uCQ,Y*BfHfHP5ETM8j0VXVCH"IU(Yd:BQ:=g3O;QJ -?D"$f_\jHA1J<3FKicBBqlKI$#:mrrC]^:c.b*\)=r!ac%C%VSP1q!uWsVcC -Xe"!MCH>D*/+\0A[9(NQW4le&gGIpE"h[ML]j'4aXg=BYFMHG>GR"(E`$f/$^Kg0P35)WQrDP3QC+!#)2-qC3=Ht-nV_*:Pi+XVmq"mkn_-s2ZidN:!SdaV<"X2pAYp,LR9uL%W -YTCG@U`,(s:%QuJmu9+o#VISu(+3Tc8Rl'b/7EoUn`/LR*=c*0+M+<*3^/rn(aM9i -/Igsc\9,M;ZXRds@t$gV8s3YT78Grc&$u#5lWP]?$,.TKM$hhF<9GlNS\l44aYl(g -r$Q%c;(Q2h5CIn46-`"Mrf>rf9(p3?[b*ASCAIULYeNQ@^/n&?1 -?Y!bX9i<#FHfcr,VH%n^Y-Pf(USUF:A/u:^RB*T)4F-$8D*ZBaB'Q[oZHTduq(d&B -/ps/1H4-!ALbp&;[\U)21VLjE6Sn,1TAhiJ()I@-Ds%=SBDI$h2LnIV*]\81_1KE@ -!^EJ2Wo$Qd5ssfqqnUh?J]2MUkc="4^5OK1Hk^#[+YfF\N*FGTjG(a8'Yp4hno(s^ -YU81qaf:1Y<6#39:G8YPL8]2=N=cPaNG.1@C&(22(8+;lS=4`%_\IN_^.O5^BSElg -QZc*'\oh9/TuOO4lDqqi^8rh'Y9m`HO7lS1_#gDn6Eu+-i%U(RcR*f*0PU)0 -Z26bg1^aMiC>QU=aWTja]h'*3W81rcg`8\3EjsV5Z"@^i4Cm-uR_FNj`FcaKHaE(! -aX@3g0dGj7Olj`TJR1*cTXr^An6E[O6HQ7Z[?d5An`HI89rMGcQ(nEm1S_L0iL7[-78S` -Q"eN7!K-B&H'Db7.e;[8@T+=.j+d>LLJJ_+LDQ^nI3gWF@lSsWG9'/I)Y*(LXH*)G -hDU8DG4I%tLCePY+n)h3/J,2QZ$J^9//UAMq4/[tl/*Y%?J0ACD/aDG-bE-]$,\E] -l(Sk33b;BS.RL;Ei\?#lZD%f54Sb_B&%nre5WEmVKOBT=$YaPaL --O&uu"Xn!e5\#QTE/.PALT(q17nIrtU,h+W$En`U2g]j$lPOZs#,#mi0Okf/Lcbj6&qeh@!C/i& -\/g5^?@mu)L*/8Tpgo+t>DBq#Bu"m(+5hXn -fYlj7!-3j#L`rN],3Y8R@$jmT8KM0,-2FceSgV)@mD2V()$[q(Hm&cpCHA3s6ITF)WR5bB;27_N^oH;OT\pB -K@+EG%je:CbHe4nPpXV/@;$7oi@@AJP/\A#?lMTJep4G27):S$;]Nn7bgS]%1sJUE -T]AggH_33PPD&0]cI9Gr4JhO5pi)dZTp0JdY1hH5mKmcrrZ"kaV9R -Ns06l;T<;dZum=c;c/sSnpWjE -\[HUOAoY\30?6q'BUkm?Jo2%Z6(EUq!C6Eab([3]>03)cQYsphXHP&:,,lnsPGRfR -E59NYqRkE]IGoG-=.ST%hThqY3Ss7bo6oNJrW.PpkFqBnRR\7P=./\4%Q'E)@#%3B -Ees9i+c(teru!Z@^l=rWiUlS3p_HGajOlXK=lgN-=dJ1&9i[PB=e9>rWN4$-OIs$3 -q*#jtanBNjkD:m#)hPm_@g/Y/F(uK]Q*kO7QN!j1$A=Oj:)AYf3d9:nl -m+X_NV;F(PdbS9BDW/+n>FW3Q^us+jn3s]1$u?Aa.@;NHVAO&7(Eii&(K*Q`&mgEJ -Ob?%:L9+^'=,5r$bk#)riK\JSs$>$!4SM:mo\DZ,E1No+5[p5Bq)W&@,S>,5&&lJA ->AATCV;B>*\UI8>HK!4qDRX'Qe9PA-RHF>%HXjInWO6C(qVJulm/(,H\aK@Os2"4& -?Q[+3r1?4$o_i-(g%PC%J)U2%?_?TZrnkK\r;U-]q>UE?rW#1u<&mH>lP`-8Esps& -3!D"S)^h_#.$9H#KP8(s_WV_ijfh*cd,#a0Qurntj?8:FrZFTGKb35h7>T>4,Xe#b'&mFrM:"L872Vj8ihTS3 -d9\@mQe4.Q5a`F`<%a$$MLG`U/._1-,!3fEn!]V?&]3m+$R(lo7aU*7A#siDOkUYH -j>)#nr]j!l"X(pndU,D\!(`LS,3!t3Ochn!8Jrg"jJ8'(dTuO+&^3:j'IjfL$uA38 -,fE.8-P(gZM4*mGP_Gc->bUdjN8[el`n8*GK7n"M!RDf3gmFGVra8D;KeVX7`L,*q -A5&DV1?N,lRF=?59c9cak+pOrd:d8(n]W?!nCA!lFCPE($nfA@JJTGr4hIZG3oaC< -NR>U'7nE"g,Lk>41*cij8bG:1jSa36)(ZhU/]$-4%3gI9$$Na3#-d*FK:$UL -\fEG;ANcs@rh*4/Ki%%\7B"`XUfq"uF66e/[T:HQo0S -jk1Z-[FW(E'phL.D5FYK`Eq6PHZa5ni?00-r+(fGg*m4ci=FqdC'DF31-s9B(U]EL -R5C)8>(BWdUBjVQnZk,E;"D$&p@)B-`H^hpAZq.ins!njH>dB^H1"tNO(#+MLPWAW -A!tFJ:nT*=*LN).elGOsC:&TfRi%jg-P2jjSECDlf$0,\.Mr6]4gE(kh\,$"?;2dSY3,JJpo[+nT!GZ#UJ1GesnV -KP$%6BJmb:arEc.DiWf9G]rNbiS6YR(-Pa:Fa"GWgg%@KU,FA-&7-$F,@KWlEIbO. -[R[(m1("VYIRQNE*&&d[%Dg+H7hFi(9_43aSof*5f/r0Nr7lAMJ^F6:9.pb)5%j0s -40V99&VB([#'!$e!YC8+nZ$[=C!&%o^kW_Z(hF"^GW*Q$g)Yfq&rsfj4rMs@mG5Oe -D2p!]poe]*h;(6"*M,6]=LoEGS3Di3V@Wl4^1-jEbZRegYm*aO(1U0>%$A=[7bI$r -,FJm_O#?(Bs$H=KJ'\m*4m7;AV'JY&57^VWTS8"+7]IS-%'Y1)L&\Iqi:F.!JTqbp -BYOm@<+:QT1bo1fZPp^ABhP_lcPL'Xo\VmsI2`LJplBRo?XJ`K&W/LP=u%'!!*Kar -ZpgrB]"h7#?%e=_0RRI-`C#;gNR?G!LQLACSnID>TCbc>+8c)aT`;4q!)>(X:=L?d -]H(GE=Fo6C_5&'e4;_M>&E.FDn0T(3rY<8A!s+u9@A"6N`Y.6Z)hDT=iQ<'I`Z>1@ -+%MF)n-9-D?Np^>qMm3)csm:(nf$YF'C-^k!L?nSCpT'!ZObP&+Nie@=QRk0*Mn3I -!VE*>nHSKWoC)hh:o`\4W=%"XcR4fMOAsQOp`?-7*9#rriPHW)arT__*&,kZJZ>Tk -Sf5Gf*\UF!7Wem=[1+`>(da9Y'K -(XErFJ[/4*eJ!N#ab<,3dAJ"*%`4@C+VGQo;AC@<*hUk$+qc7IOt%^hbp*eraAHdu -dQ1b@OCpuVZ!l?!iIDkT`"W68jR%Qh"XP66Hj\gf(r5]@#Y5q3&0>:b,#UQOLJ]F> -HRK+d-h;mSq^1$"9X[;M#V?uS`\Y49/;'N>s\eBXV -rQJ:[&*.6KFWf,)/Ou-Uo%,J5>:m/.C/OuKYkGHRTQDM*X*&[ -_3FI_0Yg.1#VQN_iM-"=a@3.+`)=rLo(t2^cRuOW1IZ.:1H.,/>r/fO1fHn$L1N#Z -9/QgM0*dSL6*qX5jT2(!&kr]B_+klk-KMEM@d-u$TdCUMVAiH=*_HMiZVrj&rA6=K<: -7RF(?1hT:pFEnP52A@AoJPI)Z._nn"0u7I*6O4S^bT(F=*UpjboL)$QDb:-M7J*?I -K#^K*X%NN-9(]G_Pe0SQCJ30_Gn5Jr``N$W-tZ;"YK!PoDck_,8]iDQ?W#oZoWuCf7@O -S=sn2mhIASO:T0:)K9j=d14M2<5_HW-FFXf2-M>l=]O!]-1t\IGn>PR5i`1k1.iKsSf-&/(pOo$V5P0JJ/9jR#IWATiP,CFT'`8# ->P60:[Kg3*'4BB%:pq$GJopKX"+1e-bJlf/dii;N6cZ?+CR672W'OSs;c&>KF2 -N:U]6)^mVG+!H.R+k%O9U`!R1&n_J7-8(7C5SuEN<)K,\!S9;*`F(V*CKDZf[hX%L -X**$$3d5(W=)3!'.<5*#,)/2p+dO*5ckKoUN/!YZD1+fN/RlFDgKW9PCeA# -FKNK!jS=*GQ%YN).%#XC;LsXkM^OmQM&;S9L$OFPRfI&Bm:#_7_4k?C=rZ#M;R=a% -[5K`*%hV)o(rRt7L)Ha_t0,6!L+rBjj'4HP5Y:(E9ps6grNd1.8)(1T0\WYW!)]:Gq=Z_hc8WO`Q -oJ-JgZm;q#SWJUFjA[pt(r$,\XRF!N^+on'3@/fn77A(SQP!Ae=a(SuH^EE/\02uY\g&%$O.L[ -Tb(M'=r3md*\5psU(+@-`XX$UUDLbSL#JMUTmnd5N+0&ORDG?jntrf+G]ZBVA`sARVF63-)SoWki9=[fZn_Md9XQO7j+ZAiJ?*j)IdLdGnrjf[\u)F -B;[CMWZ%W>H<$u/7B1[;X'2qX3cV3ZP7WlZ7p:CJ`,HUikSV`SK->/>e'U>3:A`Vs -WVW`tp\Ct\l[Sd"Y7gB+3qoi3UT<,Ja3DS\_;;Pmc_r+1I9Gs0"K3*>;YdFKjDpg$=51Pt2CYLqMTgV(k,^)Q+HR$kM>lF$<55iK4P -!G!)Lb7aZ-(lZA(kg1*$afQE^)H?*i3;BmY$$@HV^3fA"*%/U_9u>[='\bXc>W]jA -fkii8a39sdJ`e;(()s_:f;:2l66SL\biPP8l$1KkpjOj.1W2uI`uK-Er--2?PK2I. -aB'P!r.]M*%1nJdRr"f4=W+g0Tm^(@^eK.F:-9C1cl3qH9fO\:bKSbjB:On)7o>.TIaAamo'm;pg"g -]H'r$96o'Y>LjO!dJ[Nk-]u?F.PN$Xan4T.9Ei5=1Q1g;)Ei/LJ^GroIQ1V?er+7q -?'_o>S(Ytjg)ZsBPeY."Wh60SC6mn)#6Jjb[Zuhu>#pX3UC5["O%34"A,0on4\aZB -ZeBia_k#W?:o3#3le`CZep[+#lO;?qc,oL8X`T3(lRd]fNSNOmYpV0.h+0LGn)&ur -iZ9;*SgWNS"leAlj&>L*IPtNqOU8SV^6[eXo6+TE"e'Pn[M8,]\G6\gYN%f/H/<&n -8"&M2C3a-(k8nh(Sic+hi3:d.?(%)u6(o/.)d_(anNb).!L4b3%rK#0k6%jL?@OA/ -l0?TilFsQFT""$W^Fjt`lih.B=%dEeC9)Z=.rcKg;p_glNBSN*c*1/CSfBe?^$K@k -miM%:^A%)NdI5rln5=W"?Ns9p\7@:^c+`5S9.'.ZI#O(YnbkJ4p>^8+:dMhunA`H= -?T)N247gI)oH-HmOiQt+8khqe^*Hm&Z25@k(%r"e;prMo0>dV*O2S]C5[L_g%c-c, -H=\1Jp_)icT833mAb?"_9Pd.YR:F2VG;n7-&m(4_isU()`SDdM"]\Pp?]4_TFnf=X -?iS%A7JH_PbP`!Yq*3:p-]hu.Vk?#m:>LVU:DHg//Nf_bUjSUM[]/P$!<7U8i/h%t -*YA^46K+$YF?TuuM+$?C#ddnm)3%,GOkB;T5p;@]jH.%\A=fk`jPo=aF]4%sH -m$:j5T$_8[>4%X1FhZgS\QnQh=ZI,bH+_t:QeV35!J/'ehX@B&S`'3W\_\kAbG@29 -DOqTF'#J4=6q4B"-mcrno!BbifQfrDM2pJ#[N-sO;pG%6Ic028pm0BK\_V/tS)*f; -S$q6opmbYL+-F[\D4TIbG<_eKl#ccc/n\7jg$Nt[S_j*j_;Xp/r0'e*T?HKlHMsGf -9?R[nF$*Mu=$B,%Pq"*4ULYfs(D$bc9Ke]8..g]%"Sn5Y0kZ?aGFlj5$@\VFo8N"K -d*sua6a61$%)_TL7hS4p1C"K0nPiR*7Bpm8'ZKU,B,X7EZu6pS1":BI4R:LB+@n7% -=ULeF1&AbZOFcc=1(998b)7OmN#[r@fK_P7E&hYJ&#HLF65N?NG&!QQoZl\j1*"n( -9s\oO2,3\,k;lA?guCIl1Xu._/Mk?B5Ys9P#=;7o2%LGBbM.Mn#D-?d"o3dZ3*$g&i>?/KLgi?0 --]2@KLl%#L37F^,8?>,D@2h^:k&/r_\W&9Z5ksbMKJL_9=u3"rbY]6geQZ+GX`N41)D4,088n@Q\Mcl7@,@2\%%3H8U;71 -f1jh##R":Y9b+"&TMQK&nWIf2RHa=J+(r^hft*^::[382J#DUZ51E*hH[b_'p3XOZ -a7=Vm2pV!dT1@M54pTKLFe4>%_KQ^68\d( -&\..^5i>o(6[hh?`] -!b*qX*%@b,^t<-!-#afA3Z5,ZB40/:Wp:n5if;cQk5]nbSc6BjrD@. -'..9aZahGqAC!=j/i=&'[Q*dCI>:HYPNpN.)&Hr%.#WOe>9(kMH*;Q74b:b`gKadBL/M<25^VB -@h$9*+U+Oh#XU4P!m2q&APCeo98I')WQPC:JFlD^*?re^&Pd)IQ)5:&XY9OWHl+LZ1"SML7ZlL(j!i[&pFBekl6FoHbIMUlV7goCQ.E6%e(ZT=9NA8X6 -`usksBSs%FRi&<+FcE[8;T7<..&!`5Q*V6$>UCt1s -H+KoKUMq(0,[67JD.*s:nY?P#IFtSBBC599ZM+:V,WgWtmP6l6[iXX9]9pM&mEN3F -$tp+ohC(iAhgZk7V$#=f?)tnc#sq$f`poU(OE8Z_B#tEbb,]W&Ef[ai^A/rLj*^=$ -)SW];rEm23T'h%*Z7.)8O-p;k7lQmR>?EPqnfB -N93]d#>H6\-qo%5gf'.eEP9K)5:IP1UQk>SbJ^qu/S2T)LN.cKUsdeaR^(=aLA6+4 -a6[9.'F',(TX942N+%OYE],3R1ER.;fY%u#Q#d.Z/XcK$BJRo,ZmLPZ=rTkC]c!S; -5$u^d+^$(\Q%lQRlcdqIBa+T#127*/DXlC5VAW&I,Clg4K8N!)N3f=&EPp1-^KD81 -A$#@.6e8j+?#.,u6o9Y3P<&%XjGbc?7PN^1U;1KBWZEiJJ@a#"E*heFPbj"h%2qCbLsrL^H751SB\s)%/Z -a15![Q/(7Fp)bONViNFqeFle/#6G`J_u9?^?iJ="_`B"a;9tC<:M/eGgW:&qiT0[( -Q1EYDb^#g@k@D>Mo?N1:kI6a4#3bD2"+3<@&Z-AT6pZ=u^"oj,\0hJ?O;DD>Jp4lt -T)=<0oKNJ;q7hWW4t"=r+!9Qk^R5FW#L.9%e`O;;oA8[jj1tb<:(3/c0R8>NY$4FD -#pG!3L5;cG6\Pb"r0:7WcbTB!`a=!5jla?Zou^Y!r-uKVpATFZ*";%gX&]#_+_*P9> -r"PT(]EdA7#AAFUR!/^TRkm_>6,X$qE7F -b)&,Z_cV+:d`4i@7-!*KN$lc>27a8&r^[&t_1\]^^C9=2=,e@`uS^[b"OYI:Qcold -OV&joH#+o1-A6>D#/fg46;o@"FL,L5K32$+?q/Cn""JS*bnSYP%,fDD0$Ya%U>4eS -7-2^%MbQ=rO(m^fg]Ol<"NRR1/QnH%j0,NaD57;k5,@+1jQJphn]rERc;aD/9_?Y1 -p>'Z"2M;LI3iS@,gGbc=PtP4o"pf%#;sGE?,F0VK:Po_170KJEo2&s[ -cufT?PmN?gpe[XI02$.+BOqDCG+Z!X9+Yi'=CjC,`]*4d)jiF8(hL$/Ju]%\d(E$! -Kc%bY):>6TdBsq@eK'Mn$W5jA^8&Bapi\R,KfM,'!_]UgE*\f%Pe*srX)abd>c"S, -*7=Vics8/o"YA*Lmo&7"dfa[eN["J6H%t?e1eHe8];VlT2=V[+2&65)SH=W_RX@]3oL5H -85GqT!gkQ+<(YD9"]1`>;:Qi6GZ"B"=RH.X^F@q`7)hZf6)EhIr+/j -J;1aA0,(KEH^@)Enh/-t_4$H>*0U/s -XU=QhA8O6#,1T -`R0+@>]n-2osS+eQP)i%LCeZ2jSO\.9dMOq3HFUB'tsl`^BK^4#:O01lHn1/LYQah -Qi\lh'PB41s1AVCfK5K*D:;cWgR.kT4nYFO -(#G]Sg>8N0hR2[7c0X<;m]X%T?LWlAj+[Fu:%?p2ii:/th"q]`;ZJZc:Ll%`L"Ps@"L'C=cW^I,bm=X>YCga!l`"QuT -I>m$S'HopXiUJp;"sB+Q+lXgnWKn4W$BS6FDbN]3+;@l\R@%BA^>PREO.D^XFsCH^ -+_'RdYpJ18!\r^61#k$<@TEIA8ruT-"&Ji@TG4#sTp3!Y6j:)9?]ES@Cj+dnG[hLF -c8Ha)!XiKj6+Br]A2ZidhDF-WUSS5r9Jgtr#mI%4Q)LB+L"l$J\5ifn&'0uY[a^HY -?:*^Mlf:N5T.X#Q6OmZkQ#0K24 -,q9i4HY:.dk]V`B-A^lJ&8$ZSkef#ce_-j,4_0(_AE)nhk3sN-26ReEB\f[XS2/#HB -<>LMWeRN?[WRahElEt5=`iSIbrFtB"2UkZ;b>\]^UJW"WjMF#(_sY,26NsE(B1R&) -hPf\AY3&K]l`mI(`k7=4^$FgqUFLfVP!Wd)_Wrg9d2CgFo$s("2kg+`>P'c-)CFdG -JF!=.lh8M^-Hti(KBpP&m/kOIrJij'pEs:@CF".;+D+*3!ZSa0AAM1K*a?g-D9IR; -SF4[>#i9FLh2U"BmIMfDro!2k'5SFQ0H$GAetQt?CJc'cQRUcOF7.ZY&CCDmWIkb]_40 -k[Wl$ml'eGY5n&)&T7mUQqmd&7g57Qoi@@K*e>TXPO%Kle]4]?Z[9Q^-3bE&Bl0en -&mCDs#.j;9QZ,/%Qj3e767Qt&(%H=On9&Bg<7VIN,7J'ueFE^64LIh'(8s,VBo<\5b#oX)&i+.7bK1R?SS5>p8WkNVsS+!4MUYb?5A -AVp_)p2co"O(e6]&p;/Z1YF&'B"6Q9;'efGQV(2!(i/PK:q=FMp4mC>^NB3J06Wt2 -aY.l4LO#L^CXWS6Ua:%,"$-Y'4pElrjMPU(+&_:leo;;qG@u4\#C1Pp&U7rCPL"pW -LP_&cHW(#0o$DW#VE`X&l!C1 -]jEIbfeN.G`cZg;*Mu,n1Kls*TdR;GW7q-@`K?e3HuOf;LWKCd[em`Ee7([X2CFu` -Qlm!/B(Il66cLf$;'A0Gr2>6r8(rd_$IXQU9hd+!F.YX(uDK9mBGs4BQpecKrm -#*trqkPV7LI#moIGP-EGp<3a$gm(?6*P_n-IV._\1O<$[M3_6AIQjET4s+^a)tj49 -KL0*D\7@K<%u;>Rs[^dTT4qKN^67c%esL'o:X_@Q&KAl[?P+ -E-PVO-PgF/GB(/u^1TBqcfeUo*?M+[Xk2o_HW#V/GWk'?(PW<>E+81g(X7&WC9=Y0h?*)oiQ7FWIH$[!2>L'rHg]A=NjlaES[pC$Kq,L\7K?\eLF/CYKWL05FcmmCdGb(?NAPgm9RAEEq*i -eTK]7D;BETFR&mN?BkWX`]f/6)J)-DiJ)60`AsG82:,#5#0]N7L.7Ni!Bt%T`JLHg -R&9\8D4PaIlusM+am=DIQ`CX=A6CNZPIL?7;3g72C@@F!foBX3XEfP7S*([7Fe.]^ -IH2Sb\dWY@T9mslCRjREChXm-&S>baor)(!K]D$,#F9p?^ap-g0b.D+`L3H@hhPp_ -r&2UV6H.8S'%`UigQ(C+UYCOf]C-]])nU#mmes\7S,WZ.n=2-@_l]@,&]M91*Uf_9 -`b_SWRR\eP?CO;B6tP;m$VD*DKsc/1#R":X3>Eld8n;'_?(5K3gg[n2p0Fk=Dg%\d -FktMpc["FC'RtPhpms-uj7sRZ($,1KEJAHRW.LM'&flVKHpWs92$Z40)c2J4RO:3K -fLcPfi:,:$iKFFG38bXKE-8n"m1Mui5E-8X2A?GI)e4P@-IKOf7p,+N,G]OE;=6V< -f(BX8oKb\$dE2qr'J9U"B,"i-@6-Q4hJH93H))U]e/Wd%j*S -%:STkVQ7-OQ)ZSHWDCn.'#OQ``TTQ@@*>2Y`gg9W+at0EaMn`W\7gcLY9<'%Ks?rG -C0IZ@CXgn;[MI+[gFHuTmDZVc2D3fP8I^*7185dBLUaD -O[C_(NG4t>7e#ab6caXYRe(H9""gt5L@QVUa*DSi7_JJmp0QM/cY_e4>>Ie65r$Pc -"!cN-^su[`2AX24I:Q?BV2ZsO]NO]h$!asC"^oh_K.qH\7/0+U@9bCC5n35+l/B`N`9+S):>LXN[)ODHklfTrf0:= -LW:8"*j$(ph>HrBd7/3+)JlirXZ<<&-D&^*O&B^jZ^u:p.rBoIUrZf<.E6,>@4%(= -lTdWS`L^*IU1dsEf$6DtAf[oJMcB%@UTl^8aXN](ASfeUZSm!Sg0773C5o0:P+2 -#1h];7=482l^tNg-IrP3@CeG%0Z*Nj@O"QE3l]?#ldkjhHu+`2XuXPDQQG3-NP4f+ -8]gcu.3[ISPoM.!2,'S7g\T#Hdo`fU`L\Ng_bA459`45B]j'Q&[up;HM9#HO8)o"F -V0(RbCADL<03E?p^sVmDNL8t9@r+)]JXrsLk;]eIbZqAfVBuKIgq*Zo60:R&`d'L@ -mR7qhGg9F$Z,&-#?WgY,t>Lr@ca#6,91Ff%Z2<+KH.Tcj7]H4Tk%t">E6a0M)DO;$A=c -!,tmd6-u("T"8_4(JVse%sUDJfWE.7ic!Nin1`[sQlfm3fMC`!0O"p\q3-8K,cOrl$VE@2ut,4U>+_=etJ -LnuFH)tEEcC%rKa<3ni;&OC^MUt-#a<#P0VV(=,DnoUEXXX`SY.l+K%1:\p@_(6f) --]s#G`\b1um..E]@*ti[-Ur^U-MWJ\i6nYQP/Pku^Fnbd0/E0cEqqAp!AG_\4Fgb6Z"HZ4YTU*0Cq#bdlB4`"#KO71il2:EsWA9 -3Zt9eWM2C(I5FkpNq7raB^7XaN/f]V -3A['`U1H1No*?\%p2aLt$%49(T,Oe7(WpV2l&u]LaF^R@)lgdY'(%^'dlDKrM%eE& -BSemYh**XU,86a]#sKF%%Mn-c2D_RP+bqY%:kOQZ%7CLF+bpGdAtG421Ge1=oAN!6 -GeqgLgMTCK)ofVk""OpF?Cb\8`>_,j_ -7Png>1c#F,K*C6%)e%/9F?M\UU'h>r,YKtHabKo;:`8Mi4FuZa1`8caO[aGcJ5i@; -BDkH0X\1GB7dsVP;\&]S4rNoPQuT"#Y\*V\A/!pX)p7=:1n>gi[)gb%:+,:$FQe/f -m8!5#Mc04& -;fTuVYP;GlXIbM-';b^e@@m3HIUOZHR'+Rt;$q]t%h0]Eh6C`f2(;I^HW*p`UQob! -EG\dbI98@[-P\c?loQu=og_e3(#bZ&Dq6_\LFHYY)J64[J;hkddc+oYH5XGYt'B-Z7`S5OD9E%FQWob$V>tF1tPI$WbmkE -;?F%-MqqZ>$ubhO@4(k[Fr=`X!F=$O+LU:,F\!IZ&fM+'VPtXUEfPb;7N*F59l`*4 -FccHB_dWuI@FeDX2H+1iKk9sdAp,8*:S_=bf),oR,I3>26m9A7<.Z@FY!m -F]PU.AX7#0[Uj0QVeMHiB6L+dG-(-jD#*5A`-"c?P8m86E+%#?``@q0bR-P1mpKtt -C::9WQJ$,PASq/!A_,s\G3n<+ZLB%G$P\uqE"X*HKG`!S/]E&@G!NF#0-a@#^s,Mi -[dI]#*HC47E]57M[jc@,0]+eZn&C/%!Q6#;<'uHkV?)rDDK+s+H#PZs9l[Z`;qO6g&%`)6c%t:WO4Qd-Y$\:8Sp-W<`>%:Qo -D)To>[\%cdnO`JZWu$&.B5r7l]mMV-GRfsTQ'"8o;Pg(oK'mSZ7M?M74*Z=ME@92h -QB^%R]6m&PIlI#-\&!Qn[==PEJ8CR"NfI*(N=>?_)tco;9kb>;aR%"b0gW2UmU.(M -FRAZYJ+s='GWCD^rIal1Q1tN9GYH#"%-WQ3Y&D,umg;WEI#<3V!HQU2ZnjM`R&R3o.Gb[)-:g(_Am+=>6; -mIc:FN_oMeN$SjjGfW]@c&DGI[[<69Lr;`PpCpGH!-EtR??mr<+J=4/e%gO!Y6T7pF%g+"NHiV%3"Z?jS<)I -"ETs@N(3W*R3ZF5H'qSKA1'irRX(m$V*'%6U=t?Y7o*ca%==.ZJf)hR([F%h/,kIC -!(/`<.ZR)gfq(Y.h4O\ -je\gRO*147li.0d&n'',5_5>:KKL:OFf:afJ=;+lCj2sab^]K4XYR;`"m-s(RO4K_ -E*DDQm)Z"Y25&Y7b3=[]OMY)*C)E!F+>0sBqSSQ/ff<6`Yp].FHPeh+*O50HUk0Dc -U1:LKqm-_dV2oJs7>f\s=Q^Vkf*^'/JNt'G]f5UpisqQa4!Zl!?+&c!Z$U#,]48:T -'q[f9ZU.s,L@MascpT`X8joWQN+Dl;rej<-sLi -]-E6GHat[hJ0c.VqZZ'Q"]%>TANrK*,dgIZY/k$-]*C!0nMh;Q+kk/%K8\Jg[[Y"+ -)u77HJ\0\;ANTq-Hjh11_Bf#uM&[/LkFjbdk9t?>TS7LMm;Z-nY@BR@)i@[=j[YP^ -pTY\KUKg7+H98pT9QjYE`A/s[U.`=KiM:,p`QX3^pKK%h6J#DF9Q?rQK01!@23OYP -M?m,g%fO@o=>68-aX%\@*11^#Qc\dP`f7%$goMcrOiokpbC$kD]Y2Md_9>$\b^@OV -]Zn[uaCkFuc$\3h]\Uj1iQaRIc@"m%]^=#Bn]s>/(r6%B2+ -$l;0(9PSG\^jm"_GR@k/(dQjjLW_nJ@MrUa)*tPJ@BLRNc5`P)*IRP0]hR#T;:Rg0 -eU:TN]j91e@FdSQepV8`]ku@!ES!?rf6qqr]m\N2J_3,>fR8V/]oC\COkDm_fmT:A -]q*jTU"VZ+g3osS]rg#eZ.hFLgO6We]tN"0V"Iuk,J:/6]&"Y3!SooRh0kp??.n'4 -iSH`ZbCOUMiOf[E<#L40T;OpiWbMYGE!B_R(BC0B@=esI9@Ddsdil4>6+e2Rc5f4' -*?iuSJ_@d9kMn``j*j#K^-1NU60(3ujF0\]^.m\f;<9uAjaL@o^0Tk"@HKabk'h%, -^2<$3ETQ$)!$/rK*QB=m66b9W)EXAE`(`b-c6!,!*\'KWD)ucDmIbjDjiU/nkmXFEg^?t@fnaA[7 -msb*$^A[O#!Ur;Wn:(c6^CB"jHM$'C,B3Cs&W+0'UpsEl*,d;8a#@2\JC -IH82Li8EqMA%bK4\*rqb5GVo+Sc.^,rSQ[65NDaSMu*R:s%G6>%RqQO\)[.sm!:B* -DRDPP_L,FlMCDRCPk;?sT,+1)$K-#]?5M(lKNdK?\S=.YN`UjuhY)<1T9&f4c=o/* -:$31XeF%TFT24Yb)ANa=7AE`E'Ui#SR8'SXl4dP,(7S=,fkmuoDAMQ'cKTJ`?1/T!eaE6]^L-II)9'InK#;$e(n=V[)3)[HneiDW -'!7>?Ab-e0eo*R>cY)kg*>X]-RNcJ=)N?=q;m"U9o:"K1_eHO5A"PE`lS63B:U(kZ -'h^ZlR:?a>/(#6rBIuHNa(U1c.3cShWnIf7;h_UCGs!.oWI+1?rnI8I*h=o]Vs=#' -rZ<5Kcft,0HQD!^fC/P6s$,uT7f5M*,RX]>n3don.o73%#=7j4,7-\UUalg>l6Bii -686ka$q'9D3[-s(,YG<`d6kp!-0I)"=rJb;!a-FnBdR6njAC;a(BFg2=bajDG)2Mq -@7k-pL%2NXRjV(iHCloKUF@u1Co8dUo#.jd6IMsE02(m>__F:Em)LnUo0h%b0N0OS -2bimsj#KkUUpgpm0bcOC:GDG+ps/L(!s0T8lb%S6#9A -+\;H6";1-\7i2^JSkbYbl$@-9#0G5;8a"n5=&+rr?WgEPV/$WC277L2=*Z\?; -K4.l!'n9[pp-k0V=a"=+5V1CF7]kA/?)_GB2RT`*0M`RpFIm(6Y]Q*6.D.d.VMZR, -"]WiB4dN6RBFg-bR&WgsUlfn=)93'>(7rhQog2l-,QD7]\4.-c@;5-?L10k3,AZ8j -Q7Il&p!,"F@sI,tO(7l(ZE[R_k")9.f`M&5AN=4L'HbTAqc4^bM=+iH,mfHIO/7E) -O;SYHI;jsL?tfuod>T',jkP$;QF[or8/O2j116T* -dAh9<0j8#HrFr0>p3lsqYP3K1VsB@lJ%,%J@@tU7s$-8Z!)0`;J;qD'Vj@2\9q28P -.!>eEk$F_l)`20NiLMd@VABBna#O4oTn5Q%/HJ+a(;R:B$\6#?L.IJK@h`ejZar8S -;"A]2%L9Ssq[MN64&@Wn*^f^QRc3m)LliE*`&N_h@T6!WOYnu.Ln'bSWeO`qc,-u8 -0Gd.8aDmsT)$hC+#``DX(MM<,"u/@uKM]/sil#L?8'j9B"#VD-o^bKeaV#i:H]Nse -4\+0++A\e_OAZi]-:_ttjA_&"Ou>fJpn8qZMs5X#3)GQH&2`7:`_qqH>f&4370TV_ -&jlpb*&kep&Un`]0[X"TW0IR6\1E@spQ\!L"d?Pg7u0BNtd/^jo59R2aU -AlMBc1G&@-nbX>snG!jI^.ZS7'J\IS]4bqu=iMUu$H)ABKd.j8W:?*2a)!Jqj5O69 -jsr0aK_(dq_F2^QnNKSsnt/kSIhQPl5NigaTTg1Lbha&<465`b$@\PeM*k"ejn1]D,+fq -4/[p=KN$>DGikCt*f2Fj#n_D?6O9;%/Hqr`[YbTK:q[4Zh,&s%KK!0"m2goAc]>SO -:_jL"XAtQ4ek41j@O5]i9m2iR?GDaNg*JInJ#U1jo -01L]CjT%u=TtF>5k;5)N\C2GF'j+]8hG7p -7EInk;:[/838b>,`+aq'((EYS\qC.5NKM(@@g3K`Z1^Ri%3`s1#B_B$WRfMQgS!6& -IF5WcId,ZmYgtG?ft3Somo%nCGKUQT*FmGr%'dcZL4E/7_\/pVfu,K("$p82(<9P_ -2e9raL`RhIPEPg]RI8o4^l1bai*6i1YW`B0Mf/dWg`_>iPYSkN9W/CTa?0TE\f1lN -@*0eU2i_jdEe=k]?]-4A,-5oL[&49X/0Bf?P.JXmcPnAsCQ7l64eDH;+(P5"+)nAK --W7m2hs)1DBb9;7JuE=]96pu>3&hJdmbqW%+tZ9Gjge2d,%D%.Qh(k'a#T2:-1&gC -o28Z73NkARr8>#h*c@e)^kId\">%Qh\/=TZFpho6'a25D\@:VC%8p.c$#AeN-rW%f -h&qBXIZ`'701kD60S-UFRF@UK:F5AjRbhK,*$O*<%24URX=1g/kj9On)^Bg+WT.SH -7Q]l.\!VK/_YI4YQ2VSUKCjhGO;u@-S3?")K)icq35dqZbn0/.cI\d(( -@+B![AlO>f.`Q_m*RdeqCQg3XpJP5JgTPfY?$3dROr)rdc[0SYn6e*`5JP)UDN;t5 -[)TG=)1,Uqc*\r1:/+_*U(CK;=PPnj_!i=R\9c^(npP_c)<6GFNUbjj?9%s.jGp9c -nm529Gu:HlRU\_r%.C0MN7m.B86g4I.>NOROqYk9Bf-.DGgA#nOW13mFE?QbqF=1/ -]dot%o!-ZTLK!K-j*flGCE4Rcpf,/(7E3-IEOB"BPZqs/`borU0\G#'_k-mN;fC0t -LN=qMT=T5f-/?,QHRGBM^3BSXS3"@sSZai!%aKAZV)Ze"_Z1S\0m.kV"[S#G -Fu;cU.38T--hnF7h7X&g0AZNRGQ1D%qqnCG?FSNohZng)#mO7:W)AS*^`X5V=F.8u -U>cl8(ITsb)U9%=1KFS$IE4%1jF -*#[gP7Y-ib=t<$p_W'AZWg5DF4[f/oF6e<^;uQa:-3%?@OMC,]5R[ZBbO)IU>& -57@"r.m5;bA2*Nr"kqh%9&Tk#:khf/L:bZb6SC\AaM7oh2nT\f$[KQ.&iY1O5s,lJ ->%PK!ljkT:#G^"g>Ora.8eKcR&a3AL!lI)k,R2V"/>LK-$l07V'Z)A269HMO,UGc] -?p\ZW6B!?='Gi?">9g0n/lPY40JN_2A:bXf"o3D>')7UDh?G_m^sgO4\O=.kH]K-q -N183^N%%)H3],nZ6b?#ZbWS>[59P>'XYX/dY^D5dmt]'!LT>++8Y,26A;@QW/,FRpii)%cNhTR_t^o4jA@^d;FN)p76FO*<)l@l=%.Dg`!XnQ.B'qI -H7i&lL?Tn:C/1N)9U+3P!ZPrEg`M63BEoqtQg?Xd1)dR-=?/147XQE!ChYX-C.>6G -7_EP,ghn&V=Y%Bo%kL$Pj@#!cG9p?WZdBqb)K7:mU:=^:L:QJ#iX.kKDMt<-8%TSX -b^D18IRi]0a8CHY*.f#lDl]*g`%5)J18>gMM?ir9i% -J]K7I8/..>,`tY:nOY9q0(bB"9U87ahRRD%PU&W8YhfV!_oT\N0700,)JuZc@R]"l -]'4^Er+;_2QO>((au\b/9Vj@XVFkUR8pmR0S>m6%K<'kJZqu*"nlZ-[*7m_9aoD[jLqU0Xg6;o -Xf,s# -nX'->_?b3W<9j_qD]1("KtI\h-q&d!CWq1ILMMd&XPM3)VGBV_-cH3b8pX<>"t,*0 -:jiXHR'b1SRm]B-Y;gM)3*QTnplqLl5AM_Pg$]+N4;U@H\U=LG$PuX4U!Sc8-7'L+ -MIBAQ)C>%q;8!uIfkSW\kcaT6KC[bY#\-=8?b*K!JYLu5C2AQVg7`J.R>F7,/KP6& -*7CjVcM]:Nr@?=M7T/V,;[kGfSI6hhR)Jk$#"*mQY\glp`h;]F"k34/**pHQ=9a(2 -'id!#XD$)<-dpO01lX1g$9lr[6<$)T;_!?nTPb!2H+Z4:#]PS*Oto!fjKS/NKYUt" -j0#n[6W?=Ce2:&HD,F:OZd].W7:fFu9ib8-f[99;3ns/3,N4Ba_%`Y/d2FX8.=@ZD -KU<'H:?>O`X]!^g+BC((+m!688f^r0X1?*P#CB^Y>m&)g/etc+ZAaY,0Tr\,DB7h%#&_$dEE"V#kU$N(V?i -E05Za#7u*g25o9c^7.j?>e./qc-71JckHH"lbq]mU#.>?N'@1p$lB0o/P"TUbXu!9:)utN)DI>F*[5r)(Z\8Z3<1\?q-U9BNo;(`;& -?rncrnCr25Zt6u1W:46(oJGOj -EQ$k#5"OL7^*R66A)f0t(*5;B9!RAn2Ih/KeUi>sWE)Fa-+caCb8q"WILKZ;CZ+8a -LNH>K/iD[@b[Yf`-h]mf8R#_37V$iKieerp,,-&/8=kqeXmGt_g+MFZ03IQXQ"E?n -7S"o07qF,NANj'JjZ_d4=%obg+t=MZK#k]aiBW>B5`69,(+uR+NX9MteeR$&<`bKV -@V.,sjX+Lb7UtReB.X$aU!]3f.QTuI$O0MIX?h.Zo2XqcreA$2i,aib/nX6k2!6K4 -0G\549cRePG%Z1Ok)'0aX>`.bk@XTW"t?7l^urk1BXj4D87jh'rk7%lM%WLY) -nBVYc)b0*c^S9BqHMg -)gCg,d@X)Lafb4'56`_P8hZ%g\23p&oM%>q*-)!&*N'nJbN8`B> -f?D`+>[=TbZR5fN3O;_kBP5+bM8W(3Am[gq*$]P!:0Z=GFSW@ehbeMIK5LH0+R;7\/J55YoN3oPb0mEtb]36h!Hg0,oabG8hdL[KcZUsOG"TDh.C(]a -s$L1=h5)8!Rc+k6?^HZFc`;Y%Ae$eg<["XCjtBVU:qh,qE^_'\G<5,8:N^krZ$'Q\ -Ve_.$C).$))K&S=RP"NP>XM((n-M:G@u[JmtQ*)[.uA=$U9l$:R2ZS6O( -,mSlKB7C1s_o$YrH=*P2B9@N^'72C=@8F7W:UVRiQ^MBd/VG^^eKR4o?_\oQqW!@= -,1n*C9^/acHYB>T&&ATk_L*c.r'/,I=U"\JPi-LTWm6RSl;HJiGELVjB"sml%!,ak --i+%9Hrn;p2pm$jU4"]D$5_3?:Y$'6`u(cGoL)%BVb/Q:Tu#/r'VV/qk]#/+G$t<\ -rEn-CDmfQ^@=B$Q=%D9L:Z`h`f9hc(Z:JCI+o7(]R:1'okZ1N+)Ek>T00_+PLqtK7>$]"jeIbS?k*H!6? -e_KeE^)q:6r'htGMFD"%Gf42O)idEudJ3p"73dseAC>`kVH#.494cQIKZ7RZRS@>\ -l,;_*2P*]We+s4PKgVS3B[h>s-C%6$;eabXK\gi4W7>Y5HGsL(>HV%Ceb]N)`FG!/ -lBY(3VU]Ij>A_sgKuW4qQs$>29?$&dHbNj*fDGgX"bX[#E7fP--P^>>@r^/f?:Ma0 -b!07:ju[_[_8`>%_7r8)onVq(,,H[XcN -LW?NXqL#m-BCj+1qJs4)`lZSQ'dd)%4I)e"PXq/baUVUaA\^^`LL`\q09`8!#$ICK -0p6JnB)1/7T.dQC'#`)ub7hil>Zhi]cD4AT`_i7?)TKtM@iNHcgj's]b%,Q8aAO"7 -,081pOX/%H>'g$"nm_TI1?Tn[At15gC2"Z`=`A/8"Sn3"OK`^'>D0oIC(LmZR#jiU -,O&TMQ:?GJBUi^\`ciK%Z1<]C'E%qsU/DF(6I=4F&EM3&9c6FJe9_!\dM/6$9%(lL -,tl]dh)S6ZeGV[0]/"FN;(H;/UhcL`N3[Je7H(U3Pf@C#2[#o*dkud<\S#36@];%j -PD0sdKH@F]r;9OF?'sMJ2Jo.$g/NcuC"h.OYpES^c+.`HdB0lrgfGN*)CgOA+kXBC;,Wu?aBi)uKr.l_A.g'#])KS.Zc&D'qE&5R$61$FB9a5\Rt -DHr_c[ITj&0kbU_cT0;"]\bm!oMg<+dIc6Z;:P8@[cslekNV(+SNVtsSUME[ -@\N*l'OM6p]4bmmK-5+hOkfdT,R$?7H36F"'XNfF -$\?Yem(eE#"Q5u$Jl#JV6'sM6i8HM?bfSrU0uuHjRs[#or<37qqCS3DW"t@4.#CfU -+9dkV('?[>+n=9kPsG;#Yl*FqG_$Fc+]*tl(*l;2N=k/L9o6gZ-:IX*']PogD@h5Y -T8%#D>-g.(K334%6$tSCGc2Lr9M:=4`%Kb'-P(gY(PiZB%KnJt%76.g/2=^lP.9Ej -K@(8^LohfCHr5ug*^gTc%3f=nM32g:84@57,\3^9P1!W/`J-el:"o+r@m"`@iC#E? -piR<]5UVCSL(Ar6]g:uf)Ob;l_AH,#(6.["a77eEa2%@[N^c]9&t:0/'ZG\\&n=V& -+YkBDc%.Z+B2'8?2!1LjP>$Ds%YODe(hi-!WrQVD:f@_V(pog,$q:Ws^+r(Q`C#^j -SP-fn(??1[T#K7bc[#0sVM+i=cCTL2q?5u[%0N9Q*e[@Q_)9m9n/B33Gg4Vk0Lju: -'VdM:$g.pLg^Ck4n^(QqYr4?"B[`2UHsdDGdPlq`o:E<=Qk?n;9PL82VKCCZ24AGY -C#^bBFS;A,)MM#/SIB#'V#Uu(^Y1;Ase7L]_LS1=X_gF3H&X:&HMZduR -\6=PO)DAu8@&oQ=YWFT.-X\6FTCpXU=d>=c/Cg:ip2\J_'fBYV'rA:gSa0@Rd2'cU -^,JF3@1Ap[L.8"s(\DR[_P(g;.2=+Q[%>p1WH(-R7/jQ[(??koO)f,I9Y#@*kWJ.` -FDdr*]$M5C/ofB'LVV&##Rk\Y@;7Z]YfI$jNPO(s6ng+F`N,ba@Z@t9J7[C.](7iC -hg>!T0?sC/aL;**quhk\%KjN!*s=%YZFP_BkoOd@E%<8aJq;:((R'e^!jMSS_C1E] -(,g>BlF^_!@e(SX^0b#J'-o7a/&fPu(?57&GO^\L`lDR-j*Z!0n_u4Q7E`OX6DS8(TtQ_H"'#NL)7Q=o>`FK43Z5Yf -+#p;r6-V-eFl?NUHM:e^?%9)%,fA'"(M%?QP[H?=TlMY-*iEH'-H6VQ%-!(SX&4L? -/4I.8K(R]S5j6Z#36<-bC"_j_40\H[m3gYpGAe+.]Jl/L-2Z/tUhCU'r]#giDCp!C:s)i<;IiHq^>OJ8iga88nSU)$gBP^YS:-K=mQnqi-RC", -ohX6mV")J\pWgZ4,Z3k=^fh;_Bk'8*+AJZ:VjA`X*,D0e%Y;uOkk5(_d-<5GsRQ]sKU?HD&fBch?_FDnec -T)[_:h`.CCa.aR7$dt"5YaJT$7p!M0f?.NqGT"TiYFP@F\hAL*F"c;FR>:6Zr4D`R -(ZkSH@n(/$5kFcsn"Uh?\/[=WfD@h-_4("U#lX&.f+6/E:WWU\ -D#k1\`_[HPN*QJ2*s,7cFAIW_Koi_24rs+O*:HG`ku?F+;F1I`GC[!A+S6DbU(^8% -"-(YK9l+gCp3#jQD=AbSN!0F4DSOP>#>=^pOF%6EJnqSA8SEEVN`c)g4rA53iFW-m -bLR0^=;i^*)$;]7J^b`Pi)pE1#Y*,Fn@H1B^C1L<$rFsS&BbL/dg\bm#_[YI.(5JY -p8i*;"_#"2Nr8%:!jN;)U^TNMf@6a&CD'46P0nCZ`t;YM_bsm*thEt -=`E(b_shqIg0Te[*'j97!Mn6Q1B^1-c\pBX_2O,"W"jlN*)-jUWT9oG-u0D>(/!U& -O_V#'D\ic0(K#Amd=+os/4ZUE]4(3t!K&#Hrk,D>(@)O%V0lY4&.`8c'EO*b!Xu/D -H -Tn)+Lps;Zc.oNu0_YkiM>$2Fm -Fsoa"!@H)3%c@6&R!XSuGOkEUphRd^_!P*?h`Zne1[MO!cU/s"I@U;A-i8 -OQ-Me;B77b)tE((AcgM@C^TV//g7m;0#SeAgBM^)X^^ZRNKZ"/5)N9+1eIKs1J9S= -;Fn,&7:\fr01ZQYb]cZES>n@n_3$LRK!joJf&]aJP>keN8N7!43)bQf'8nipf/3)_ -3Kon"o2n0;OU`X*,b[h\&a"NCKZOE&(FhQm5k%&+"P."n$PK-ndt9Z%cHF\!4\."b -PM2FGdlnH.5(gO0"5J/u>gS>aUp3[D@'._ZM?up4rs\Q&:eOY]eI,4dED49a`<#OIiS^G&.#ajiBeEqUkZm'hc4j]Q -'Hr>Qo#t4X4&ILe:mFN_#hV,_CJYsV%,7UmhKnFFa=Ef -7L3cG;Sd*TmgVOc?S'a1Zh:;'MM#'^hPXB0?:oKL2="T[B3QUN^9Yt^4,7nf_,qTd8/B%;*7HUmalOg,b.6*DE(Q7/Q$Kj5 -OE[CEQ`e>PBJ>NXD+\"7OT,:N2!2(2(D`,3o]X.+WiTitLUXKY\#k)/gN<2LT6K7C -KfOV6mse"!HUA!*="$]."X;omU^Ss9ArgL9heqDGcBWFn#@DR_.=YlTIlJcQQn*d- -WHreF31)XWQp1imqCkP;5loLjOng5&QXI^5NH-lP9^)9"bu(u986@U$Kb9'lDehce2BbMg1fNt;3B6Pk5H!#YffQ2qgTo0bn8U._& -KTh>H^PkqN,"'Xr.[5Fi"@;U59klrmp&`O!B"2R9EV%G6F'FFpmXVgbO'$1Y3;Z&Z -kE$PdKK.+90@h;mgM2dU$pd,r0UajH!lGJT2BeS(!Iu,L=]+;>OG1N3q)WkIq32## -PZ^M?f`dVn;Z,1%/gjuq9aKOJ_^R06L!(%RPQVBq4;f_Y)\#+RocHWL$^FBlPPKrZ -),$@@!LUE\Fa9+;R@]M.==sh"LJ7pN\=D]]2P\Up5u49k!L+Q_66FMCP-3okX>7( -Tgu_d=rMH#)575\U08q=a;:Gb`.tB=d*2li_7&InC1$T7_U2-m_50oOAnlnYCAKTT -3DlX%j/*`(J_DWOK>"/9Dl6+/UE[TH_<#*6dn\G>L+nq2C9XH[JGMq_/C[pgZT"dl -eYbI&3ngL3KOLSNY&'Q/X'3+:\I:G/hIa4E5>6oFADeAIDVO<6U`,-PqEJ*Y>H>Zp -X.&02>3i?/Ofo\o384,1Rf7/mH7J-eZ2eNK_oH>+s5B]aj-kk-Q@B.gdsU7/Eo -L0Lk9/i$WeZU5P8Rldt]>HgGr"srN42HQ^E:3VdfYmNBt&!5s`'2cBRF0Jn#`h.46<^k8sT6%NG8l9uJG]ai^jnlMdVaE'&_84+Xua/[r?t -@iM\bN?>cZ^V!/P\:Tfj$RHYUjg>[b2Wg2bL'!?UZ4(/,),HB9qOtQ8,J6,/>s#a7 -K&OK!r[ln-^g%6[]"g#_PgJ/\Yn927mV=nO<)"'m(f0I\iOK,iB9(aU3P5[9K$hKk -4tM(K`'VA[S4gg7$c)oFE[N(K[?!&2d9IiTGE01-Acip-f;%ZE*NnnG]M^e<:WNUH -aBXHM4H%:tYK7cJab6"nU3q+TVBM-W'ld=e-u+6?OD-C;;[DJilD:T`=rF$RmgMm8 ->aqnnpWWq#c!8h&SiR/!udJYCjI3m=t1.>I9-]he>co&t>`;3/iA>OTRN%bR3-5]l8 -N'XiGeu@+cO4,+Y-iI]/JpZ))DC41\f3N\c*B5D#Os%s)UqC>O$-RQE/NYsC/HN7t -@Ead`h'DrHJXU6*P4-i4Y#.?-gHo3#S\*YZkJ^p+4FuY-&#@u3O_ISoaU,f6LrSP9 -%7T'ug`mEcrTY[Ln)"1@hd,q$Sbq=$"%0cA05[PPL6@7c;J>,4$40_Zh4!GcnJahK -FIiUgh>uWRTA)OcN#jq7!WhD+31/*J%,k^r!YU/q6WDB--A)YGp)Aq6Z"FJD"SN87\!P;(/j -Z08nTk?bW^T"F=A:ZO^V>Q0EET$Am9N[7K%9nn1I[[(;Pq'/]$iWkS6#-=DK0C8m^ -llPnh?@2.k8amf'<*mi=T+3@-e0GT8,k,(QLN-E#!k0RZTB`!cL%"8&1ou0<;Ek!L -RFh&f5Fp\!oNGVgInTG>.If_gb6l(TiPON6mQpStN^n@HiN?JDDZGDCm&DdF>MmjZ4Q[\&d9?]jN$_<2oZ -jF>;Khp*O_Qm.;,?4i'o5nlu%SGE874,M-BQ-bQm*:+4s7GlM*!W_Y>5i'c]1`d58 -KgOa[fQ9;#&W&p8O]\ts0c>s?j,r!dIR,->8E>q:1nIPnPtL/$flXr:0ptTUP?FF4 -EB0RbkEFTkrddA/;!=-I2'.l>R_^F0g3#TQ;5mO[Q!1S%Z!"1tWGjoSI_fHt=R;>X -24i30[9Ds`gNC6hEOf?<"A?/Zmo=Nnh[QJNac>2#-Wk67MPZn37^'gf2:/H&[h0Z^ -K@ENce>-\'(_+I5=k9\(eZAm)QbT4hCdP]'!nat`U=+/\SZH'hB,_+[cs77^_h":9#]%u%@d -=c%foKL-H/WHr?N$h<;"SgV)=Cg)&Us*uCR?3>de\2/\ei:p=hL,Cqc)i.r_P08X? -Gd]8a@lW$uKj(2pH@KHQeZsP_Fd4Ir8](iuA;Fc)I`[n,..g\s6g8H/(BZB[AX)=K -_b$Hpk(f[3po]ONBf]-\UZm)JT;WqpDPO4H\q[,`CHC%UY%tW>h2`ql_>A*l#3"'W -jV5@t0@OB-,%-/$+`n:1b\;4/Qnj5U7i+Y2Hu'fNHVL^5]JMh]E;WcRL?fgl+37O= -:F"#&[V$W(F$/&5c?$Q<_Ob;9iOcI$a&Z)QD5KRA6l2$6EYR[1@h`:0KdiH_(WOj= -BcPA29*]Op(P]Kl*[d$07G]tek'=3JQfiZYPUYgBI^cNIHToorcmDm%rG8+XdI_#j -#BkK6dfTeV+;&2S5!,'WWFcbR7AQq6P9r"">T2`)fc;;J^TWtlKHAnRJHX6_^mGuA -;o=fMcpe\[23R+gr8GH$>_*kbN!XJVV;s-H -ZZ'modH_Z^]_>kK8pjFDOZo](s,iINJ5A3Q5H#k5TbJi-'a_0WG`G)HK#b+l;8`6ad^=cpWF[_u1qK&Q2QoBFV)P%nG+;LB -Gu&/E0qkD?H&kf\0S\dj'&s`&Y/kG'`N#K(Zb@2Q&`VI(9g>Zd&t;mi\C[^F?*"GM -YLXW5^T/AdXVI_@8@jCCdM+,J"pltNiLnA^JWu\_i'Rm_eN5)#I2`goEf@Af8I)XP -X`c!2a7@TejZ:bb9^_!4d<8'B$FJfM-EOA#p.*6F,8EG)oc8[&n;7"V-1o1 ---[L8:B"07b-,G0Z5U%bhVBOUF)LC9BXbGLiE3\#E:,U(\IMN`&^dt]bi%7`@U*@u -@;M33N-5MC]JbXURp[cYef;TI6af&gEc3\_\2U#P,$WNBmrBJ_\%_Y]S)\nb[J.EB -hW9kSlomqtk[.!>M"*AN`dd_+2D:b[Oa"r0KVEC;P? -:s`f'aT]j#jIDTR11!\t#-TE9*2rCF/lg(4B.Y.j<^^!@o+f/"ER>AqWQ%$,"ekiu -V,]]3_DLS5,#hp/Z'%&$A0m?--S=MeXd&G>Ik4b"5\Mp\TX6&$._6QeBY>:Y8X^m\dXd5?aBJ,IX[0;tt]S:Dq1?!3'YYCX5kj;JLFB5Np"Tqil*GA4@ -T!d/].kBqVH*;A\3mn-Ki+f@Y3tG`W%jJAoj4ueq7D-!FmHdB%_6P[_T][4kV\Y>Q -J%&!M\(fYl93D_C\P$8egtSW`mZ#c/GBOnW,Q?%k&_JQ;:uP_*O0O@Kk: -(8FtfZc;U*F'8;C@LQMhBOan/mGK$JF.ElV1X>_R4m1RXTQD3fd/#+[knMF9_L5FC -3Ar`'@Xr#KSbOi0s"PocV:."%E>H!LRINk`'3F*i^R.o!V^rD2<)FKik1`Q9U4-'j\(TAV@5hOn)b2NHnXL;n#Y.D!(.$PsfF-QS`u5hBV0rVHEQKh^WuFFd,&P -^%`ZR#;P=O$=>4L``UUiGI?3[\uJa6l^h;h*Au]$5io6-$[$gr[>FnGh8Femn6u@9 -q#<;9F0'\]pJKPkra/RmLX]Sb7UlqG.%qMXH?]l"`&lp>oJZ%+^]OF!'EPDE!l-Se -5XYajA-SE`n!b3B+XurHOg9Q=,Q_ci^s!3$X*Y'Zdi%1)L'$ZLTdlhD*eXl%*T2!! -_Eo7W#;rRd_1LaaPSpVd)Sr`<_8I>0j&S*qY9PMQLWFEF3,'QZ@Pk;n#+0HdOE#iU -.g'<0K30(EW&4^f?j>:a#*HU(lFdAT=q#pcQQ],,fOh\!8usc]Ooui5F0n`(5K,?tf -fI2EO@AAuH%!(VTRneQS8VS*9#%H!b`"fTR+Wr4(_op4\gf;%h+dPHooHkb'O!2Q8qD+TT!!g&,Kjuh?EaAie;hf6="JB3CO\g[\;LorLKbtGTE)+(a^!Y@g)nXYD:73C_o0q6Rr4Bt"==iYTUa+S]K'R@`oU;sWfa4$bO -e30=PH5GX,LSG\4=E=Vl@#!rIL8*,uP,+k7?Qm3iJIjgF=ik<8VEJ2`0n`AT1QDZajR?4l0cC`W#I-o -&3*HHr'Q440*Z0e"uL=S!#pSJC]jb8K@tC"W)nNM3X'I6K:l8dlu/MH=s9PEY/k%7 -J7Sj3>)')A,sZ[U1#OFdS[,>ebCZ0UPe!cH]$%CF9>nKdig%XP?&1n@RWreLUg]$& -+#[4m"rJBa5[OOo5)$qYb`Fo?Urgi^b"T1c!URgXn4j0Y56ZRP"X%<1!uO#uI7rlX -bM:UG4Oq\cJ^&;gVu52lPhN"9IY`Zn)G0D(Y^2!GAHrlH#&#(]87)Cb5rA55bfn:+ -ABW8?jb9?Ib'5B=Y[W60;hfNjN9a)k>^"Au-I&@TVR5j=&o(2fntq*3cU@H)"Pjt6 -n!&'H1pD9/fOG-d/;2ql!IUhs83R3e&VIl&c@l;ECs)jP5m>me"Fso.#\=-P>_^*] -*X)0k9_D5V@SjH?V%!j[dSJ6O%ab>fcZ+sdq='-SFU+^=#5BKtW+#c1bQG5pd>\3& -I0.g#>#3dUJd=dKpaH?E@_kTM"hZ.HPn:\UI*serd/>5cV'XQ!85aRXdZR,J)2qEA -8#%JJ$i!8OkTn+N)H-eYbchk8nf7im?@k^?G&,g-3VWI^F%Kub=#-oM5?A;).7L<+6;(j&`2>Lg\te^[sUj^-L1 -?e,BgeeMWE-">F_A(F(Zel?;4AS0M9B@_cMes0t#V/"ShCY$I@f%"Wgj_iZBDq>/3 -f+i;W-$%TpF4Wj&f2ZtFATl[JGLqOnf9LX5V0^b$He65af@><$jaPhSJ(OpTf*+B@ -+Z.[KKn'>[fG0+k>tG97FU)#lLH'C2=CMK=E!.jt#$BO4UH;Ulc1!AHY?[5%p) -",5)W"RooT!+6#HD:PbC=d>E.V4-)FS(YcNg!uYHjdt/uT@sIAg(g=8-)0*NUY8/4 -g/Y!'AZ"1(VqQj'g6JYkV5i7WX42!>J-CPYi>gK0Kj)HbfQE!L[7UWK,6Si`#*:!] -5[W1B\'_iBPosA]872P(KA]EMJ -a4uBigm-":V97T$bM:(\gss[)j^m05c]Q2MR(AN;fR8PEBa34:"Ai'Q&0ccU@p=YK -?'MP8E*ad9@Y8K-"L)6fi*j""mp-"T;rur79dF$hpYHqNU1N@koL/lm_jN7N1QaJ)9L!XXiG\77+Ckm[o#MnPprT)jFK&1)5_7fX$PT=,- -qVT/q?@e)ji,=D':Bci'K.'BIUBD!56+X9`KtZmVW*.II>1j`s!EB))]V>X4AVV.* -8/)ltb0Age%\Q9%i;r?)((m.`'&b__S3?h.H/LO`$Ocu9)S<fMA'8;8'=/.i#?\e:/-g>_D) -@bsALaJIrAp#I/]SDHZp<^rIJ0:9P'&9rDSTR@%nG=DjU#Bh!j!&=\eBn?UT##HIr -+C]p>7"uFPL%#`XJ5CeV3/%nXAUl96ct#^%Acn,oL4E#'(iNka%V0UujCVeiNa_&n -a6#9iS6fagbKWqH8Q'Un54K#u#bkXL9$ -#&"j].u3_WLT#Y,0QdWQD$KKXL3REfctA*SHNn_4LPTSu&9\*D."^(nJrhU9paLg^ -'8Mrm_uq7hWC_l]+YPI&BJX[Cd`Z;6SslOKl2mF=k+V&q:?Z\r^kL5B_NZ&P+bD*e -l@:)\(a9#4q!'oJl5$Ii:9Eg?U?_HUXIb,](:'MO^["@rl:H`VJOc$GLld(cJhFTK -W$5aVZRX8)lbSNqf"IHZ^?bQmU&Df$9;i`,,^c5=oVVnt'[[d[$3Jm6PE&1T-JbL&h/2lDYo_V:&k-[BigMd^mQsTb538',k3dEVYBJoCOt?$UlBEX]m_M2, -f'S[pmdBfSt@KR&]8Yp -16+:Lo0D;V=#H!S2Y2,PSC]N;P%+"N3h0hBF2A1N^HLNd47i23YJ3,?&Z>6P6B-I^ -oK_""=%0E]5]h3@XuA[hOeQr99!YoioYrERLJ@%\6Zi'!Z;4)8&W?:r;N#0dog#p- -=&kIa:A&g5hq&chQ9pG;>+R*Bots&fLL'6/?M4&#WM`X;( -RdX%Aq8W,Rf:DA[T)&,RS;3PZ&S67nU94`rqF@<(n"m'DV0[?aR^]#;OW/RaWebl" -qS7i3f<*d4W-\3BSGuc>(>&EgZB9(.qa\&@0=H3t[u/M3H\W./5Iln8[sJXuHM>+" -\%[`D\U3l0qldg*:VlrV(48'YnUJLT=2pOj^jL2!HtUN^T>#WlbBgA9I&G5h#I8a9 -7/YZ8r=>fS+/Sohci$+mr.id_#LiN&f6S7cH4S\WBA/11ebus&r1Dc.O59cmli!`P -rX[oc+Gg!:iiqV'IR*+G+.E1IR=9YIrfDb]5O%b%VZ+&srl=AhGNejHmsaHWribgr --foh#ir97JInu7-?h=4lnc*ekIlI._&,,f0qfql5J#CBfL]*meJ30E#2fns-#D>EP -:q1$o*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al;/Fen6q3 -:1mM9jS"!dTMT<$3[GQ$8#/m,YY%VJSPQ1`C/mRn5MYZP^B4!g3; -B=(iZ72*\gb]Or0n\f\pa:\j/+%T9\ -N?bI/,`sCpP&-[:aq2d+,"aVlXXg7]<3\$uP3O8D9@FZZBg_UF=ESQm4c#_\W:"=CB -QYkQ&hA;15H/=mim3UV:)/KAQu3q"iY[\%M;jo* -/W8X+c8CUAR-m+uj;AFrOlVo_9p=ZV:0!S@R;Q;sjr'1jRHBp?D4B]+c?5]@RI5Kq -kSaqbU$.ptNMG_V:6h[?RVn[ol5G\ZWToqTXfLb+cF'e?RdRkmll-GRZ0[r4c*QdV -:=Zc>Rr7&kmMh2J\aGrimCVg+cLnm>S*p6in/MrB_=3sJ%E%]U:DLk=S8TFgnf3]: -amtt*/^*`*cS`u=SF8VeoGnH2dI`t_:"/bU:K>sL+RkN.0-ch/W6ru^sUTBkYl&-_Sgp/(d^1Y[FU/cn1l -'$"BqmXak&$6i""7:mo!V."`(' -(bjTQ73PfBL@E`U_IPDY?g_;Urqq5$"Ys&QW!1Z95)ajjl59dd,Jt`7m)*tXLOjaJ.9VYGpUr9E' -:F^1bC#)!R[03+#g07C>V(/GZ/tl4#JPN2H9N-'oouC71?n(bH<](Ml.N5g#C<^$a -Pq'%>=sI-aKeogQP-e5(e7C-.CJRsM\LB#m==V",1CRtkUPXfdQ5.cRD]M/uS6cQosu -hq\FEF`+V?KTY9\?)46>/n#[1Z\lV^l_Sffc0)bNo&LF1a#'d;+2(aX$srhqIG_-D -^=V`;,l6\TMD)9"RN(un\/6F!q>THq,[7P%Ju;a*"Vf`n*M"7Z#Mr01KX2*M`7] -Oj[E/8nhQ_V=_cqdopZbC#(qMo`h,>>)uQr>tq&.D\ -XnB]Ef37WLCYaEBp'/@c>7Y1Z?&c,_7`j=f04o%VS[8$EdFqf#C2I7Y[J%VngKST6 -D;Dn7pBKU3>Eh7NE9n_RKrH>d*V^%]PBhcoPuDr(B,p]giX ->RuF*?4FaG7g\-Z08=H&*Q.Z-&`R%kMK)rS`V@Ikj'6M_ES`k!q$/)(>`Y%g?;8Q; -7k*P)YEj4c?-E&!1$2`eRWDePc2#C?k?RJIF5D>kq?K=M>n>6Gjo!/e -o3Q@\H/CdJrSb)i9dJ@3Gl@!$Ap&<"bqd4:0IG_a4rs.N\?]Xc, -?d8EH8*TtZYP*G&h>@5-nbunAqL;l>rVsq6s'P6oJ)C2(n,WMC"TWKJ!3cn4n.>[T -'`i7k!O*RFn0%ie,m&$7!jF6Xn1b#!2$7eX"0aojn3I1270IR$"L(T'n50?C<<[>E -"gD89n6lMTAHm*f#-_qKn8S[eFU)l2#I&U]n::j!Ka;XS#dB9on<"#2PmMDt$*]s, -n=^1CV$_1@$F$W>n?E?T[0pra$a@;PnA,Me`=-_-%'[tbnBh\!eI?KN%C"XtnDOj2 -jUQ7o%^>=1nF7#Coac$;&$Z!CnGs1U"V>Y[&?uZUnIZ?f'bPF'&[<>gnKAN",nb2H -'!X#$nM(\32%ssi'BLV'sV$ZnR31fAJT9"(9q]l -nSo@"FVf%C(U8B)nUVN3Kc"fd(pT&;nW=\DPo4S0)6o_MnY$jUV&F?Q)R6C_nZa#f -[2X+r)mR'qn\H2"`>im>*3ma.n^/@3eK&Y_*O4E@n_kNDjW8F+*jP)RnaR\UocJ2L -+0kbdnc9jg"X%gl+L2G!ne!$#'d7T8+gN+3nf]24,pI@Y,-idEnhD@E2'[-%,I0HW -nj+NV73lnF,dL,inkg\g<@)Zg-*gf&nmNk#AL;G3-F.J8no6$4FXM3T-aJ.Jnpr2E -Kd^tu.'eg\nrY@VPppaA.C,Knnt@NgV(-Mb.^H0+o!']#[4?:./$ci=o"ck4`@Q&O -/@*MOo$K$EeLbgp/[F1ao&22VjXtT<0!ajso'n@goe1@]0=(O0o)UO$"Yb!(0XD3B -o+<]5'esbI0s_lTo-#kF,r0Nj1:&Pfo.`$W2)B;61UB5#o0G2h75T'W1p]n5o2.A$ -8:o:\3$V)i[s3jYqLo*OF`B84`4L<9po?f]WeNJ!,4gWs- -oAMkhjZ[bM5-sW?oC5%$ofmNn5I:;QoDq36"[I/95dUtcoFXAG'gZpZ6*qXuoH?OX -,sl]&6F8=2oJ&]i2+)IG6aT!DoKbl%77;5h7'oZVoMJ%6hoO13GAO^cU -7^R#%oPmAXF[pP!8$m\7oRTOiKh- -grestore -showpage -%%PageTrailer -pdfEndPage -%%Trailer -end -%%DocumentSuppliedResources: -%%+ font LiberationMono -%%EOF diff --git a/src/kaleido/tests/test_py/baselines/plotly/webgl.jpeg b/src/kaleido/tests/test_py/baselines/plotly/webgl.jpeg deleted file mode 100644 index 7f8390e5573c5778338a1e65e643fb9c9bc06e39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17057 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/webgl.pdf b/src/kaleido/tests/test_py/baselines/plotly/webgl.pdf deleted file mode 100644 index 9b2c93e2db7d073e04f103d1db104b797e1b2fa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13903 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 diff --git a/src/kaleido/tests/test_py/baselines/plotly/webgl.png b/src/kaleido/tests/test_py/baselines/plotly/webgl.png deleted file mode 100644 index 05af9d980b9a95daf12c1b8f82465a8c50bdf2d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21425 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 YrQBZoCc$)g6(`eSJ!9Q$?bE^k2bvvx;{X5v diff --git a/src/kaleido/tests/test_py/baselines/plotly/webgl.svg b/src/kaleido/tests/test_py/baselines/plotly/webgl.svg deleted file mode 100644 index f614f2ed..00000000 --- a/src/kaleido/tests/test_py/baselines/plotly/webgl.svg +++ /dev/null @@ -1 +0,0 @@ -00.511.5211.522.53Title \ No newline at end of file diff --git a/src/kaleido/tests/test_py/baselines/plotly/webgl.webp b/src/kaleido/tests/test_py/baselines/plotly/webgl.webp deleted file mode 100644 index 9449cbfa8515b780cf01854ff80f19c2aeeed489..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5020 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 QwB#sfs{O~$>tE}?0Fej7VE_OC diff --git a/src/kaleido/tests/test_py/test_plotly/__init__.py b/src/kaleido/tests/test_py/test_plotly/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/kaleido/tests/test_py/test_plotly/fixtures.py b/src/kaleido/tests/test_py/test_plotly/fixtures.py deleted file mode 100644 index d9e7615a..00000000 --- a/src/kaleido/tests/test_py/test_plotly/fixtures.py +++ /dev/null @@ -1,67 +0,0 @@ -import plotly.graph_objects as go -import plotly.express as px -from pytest import fixture -import pandas as pd - -font = {"family": "Monospace"} - -def simple_figure(): - return go.Figure( - { - "data": [{"y": [1, 3, 2], "type": "scatter"}], - "layout": {"title": {"text": "Title"}, "font": font} - } - ) - - -def gl_figure(): - return go.Figure( - { - "data": [{"y": [1, 3, 2], "type": "scattergl"}], - "layout": {"title": {"text": "Title"}, "font": font} - } - ) - - -def mathjax_figure(): - return go.Figure( - { - "data": [{"y": [1, 3, 2], "type": "scatter"}], - "layout": {"title": {"text": r"$\pi^2$"}, "font": font} - } - ) - - -def topojson_figure(): - df = px.data.gapminder().query("year==2007") - return px.choropleth( - df, locations="iso_alpha", color="lifeExp", - hover_name="country", color_continuous_scale=px.colors.sequential.Plasma - ).update_layout(font=font) - - -def mapbox_figure(): - us_cities = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/us-cities-top-1k.csv") - - import plotly.express as px - - fig = px.scatter_mapbox( - us_cities, lat="lat", lon="lon", hover_name="City", hover_data=["State", "Population"], - color_discrete_sequence=["fuchsia"], zoom=3, height=300 - ) - fig.update_layout(mapbox_style="dark") - fig.update_layout(margin={"r": 0, "t": 0, "l": 0, "b": 0}, font=font) - return fig - - -def all_figures(): - return [ - (simple_figure(), 'simple'), - (gl_figure(), 'webgl'), - (mathjax_figure(), 'mathjax'), - (topojson_figure(), 'topojson'), - # Comment until we get token worked out - (mapbox_figure(), 'mapbox') - ] - -all_formats = ['png', 'jpeg', 'webp', 'svg', 'pdf', 'eps'] diff --git a/src/kaleido/tests/test_py/test_plotly/resources/plotly.min.js b/src/kaleido/tests/test_py/test_plotly/resources/plotly.min.js deleted file mode 100644 index c33be29a..00000000 --- a/src/kaleido/tests/test_py/test_plotly/resources/plotly.min.js +++ /dev/null @@ -1,61 +0,0 @@ -/** -* plotly.js v1.54.3 -* Copyright 2012-2020, Plotly, Inc. -* All rights reserved. -* Licensed under the MIT license -*/ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}((function(){return function t(e,r,n){function a(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,(function(t){return a(e[o][1][t]||t)}),u,u.exports,t,e,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o:not(.watermark)":"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;","X [data-title]:after":"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:white;","X .select-outline-2":"stroke:black;stroke-dasharray:2px 2px;",Y:"font-family:'Open Sans', verdana, arial, sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;","Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var i in a){var o=i.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,a[i])}},{"../src/lib":735}],2:[function(t,e,r){"use strict";e.exports=t("../src/transforms/aggregate")},{"../src/transforms/aggregate":1317}],3:[function(t,e,r){"use strict";e.exports=t("../src/traces/bar")},{"../src/traces/bar":884}],4:[function(t,e,r){"use strict";e.exports=t("../src/traces/barpolar")},{"../src/traces/barpolar":897}],5:[function(t,e,r){"use strict";e.exports=t("../src/traces/box")},{"../src/traces/box":907}],6:[function(t,e,r){"use strict";e.exports=t("../src/components/calendars")},{"../src/components/calendars":600}],7:[function(t,e,r){"use strict";e.exports=t("../src/traces/candlestick")},{"../src/traces/candlestick":916}],8:[function(t,e,r){"use strict";e.exports=t("../src/traces/carpet")},{"../src/traces/carpet":935}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/choropleth")},{"../src/traces/choropleth":949}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/choroplethmapbox")},{"../src/traces/choroplethmapbox":956}],11:[function(t,e,r){"use strict";e.exports=t("../src/traces/cone")},{"../src/traces/cone":962}],12:[function(t,e,r){"use strict";e.exports=t("../src/traces/contour")},{"../src/traces/contour":977}],13:[function(t,e,r){"use strict";e.exports=t("../src/traces/contourcarpet")},{"../src/traces/contourcarpet":988}],14:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":713}],15:[function(t,e,r){"use strict";e.exports=t("../src/traces/densitymapbox")},{"../src/traces/densitymapbox":996}],16:[function(t,e,r){"use strict";e.exports=t("../src/transforms/filter")},{"../src/transforms/filter":1318}],17:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnel")},{"../src/traces/funnel":1006}],18:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnelarea")},{"../src/traces/funnelarea":1015}],19:[function(t,e,r){"use strict";e.exports=t("../src/transforms/groupby")},{"../src/transforms/groupby":1319}],20:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmap")},{"../src/traces/heatmap":1028}],21:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmapgl")},{"../src/traces/heatmapgl":1037}],22:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram")},{"../src/traces/histogram":1049}],23:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2d")},{"../src/traces/histogram2d":1055}],24:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2dcontour")},{"../src/traces/histogram2dcontour":1059}],25:[function(t,e,r){"use strict";e.exports=t("../src/traces/image")},{"../src/traces/image":1066}],26:[function(t,e,r){"use strict";var n=t("./core");n.register([t("./bar"),t("./box"),t("./heatmap"),t("./histogram"),t("./histogram2d"),t("./histogram2dcontour"),t("./contour"),t("./scatterternary"),t("./violin"),t("./funnel"),t("./waterfall"),t("./image"),t("./pie"),t("./sunburst"),t("./treemap"),t("./funnelarea"),t("./scatter3d"),t("./surface"),t("./isosurface"),t("./volume"),t("./mesh3d"),t("./cone"),t("./streamtube"),t("./scattergeo"),t("./choropleth"),t("./scattergl"),t("./splom"),t("./pointcloud"),t("./heatmapgl"),t("./parcoords"),t("./parcats"),t("./scattermapbox"),t("./choroplethmapbox"),t("./densitymapbox"),t("./sankey"),t("./indicator"),t("./table"),t("./carpet"),t("./scattercarpet"),t("./contourcarpet"),t("./ohlc"),t("./candlestick"),t("./scatterpolar"),t("./scatterpolargl"),t("./barpolar")]),n.register([t("./aggregate"),t("./filter"),t("./groupby"),t("./sort")]),n.register([t("./calendars")]),e.exports=n},{"./aggregate":2,"./bar":3,"./barpolar":4,"./box":5,"./calendars":6,"./candlestick":7,"./carpet":8,"./choropleth":9,"./choroplethmapbox":10,"./cone":11,"./contour":12,"./contourcarpet":13,"./core":14,"./densitymapbox":15,"./filter":16,"./funnel":17,"./funnelarea":18,"./groupby":19,"./heatmap":20,"./heatmapgl":21,"./histogram":22,"./histogram2d":23,"./histogram2dcontour":24,"./image":25,"./indicator":27,"./isosurface":28,"./mesh3d":29,"./ohlc":30,"./parcats":31,"./parcoords":32,"./pie":33,"./pointcloud":34,"./sankey":35,"./scatter3d":36,"./scattercarpet":37,"./scattergeo":38,"./scattergl":39,"./scattermapbox":40,"./scatterpolar":41,"./scatterpolargl":42,"./scatterternary":43,"./sort":44,"./splom":45,"./streamtube":46,"./sunburst":47,"./surface":48,"./table":49,"./treemap":50,"./violin":51,"./volume":52,"./waterfall":53}],27:[function(t,e,r){"use strict";e.exports=t("../src/traces/indicator")},{"../src/traces/indicator":1074}],28:[function(t,e,r){"use strict";e.exports=t("../src/traces/isosurface")},{"../src/traces/isosurface":1080}],29:[function(t,e,r){"use strict";e.exports=t("../src/traces/mesh3d")},{"../src/traces/mesh3d":1085}],30:[function(t,e,r){"use strict";e.exports=t("../src/traces/ohlc")},{"../src/traces/ohlc":1090}],31:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcats")},{"../src/traces/parcats":1099}],32:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcoords")},{"../src/traces/parcoords":1109}],33:[function(t,e,r){"use strict";e.exports=t("../src/traces/pie")},{"../src/traces/pie":1120}],34:[function(t,e,r){"use strict";e.exports=t("../src/traces/pointcloud")},{"../src/traces/pointcloud":1129}],35:[function(t,e,r){"use strict";e.exports=t("../src/traces/sankey")},{"../src/traces/sankey":1135}],36:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatter3d")},{"../src/traces/scatter3d":1172}],37:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattercarpet")},{"../src/traces/scattercarpet":1179}],38:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergeo")},{"../src/traces/scattergeo":1187}],39:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergl")},{"../src/traces/scattergl":1200}],40:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattermapbox")},{"../src/traces/scattermapbox":1210}],41:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolar")},{"../src/traces/scatterpolar":1218}],42:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolargl")},{"../src/traces/scatterpolargl":1225}],43:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterternary")},{"../src/traces/scatterternary":1233}],44:[function(t,e,r){"use strict";e.exports=t("../src/transforms/sort")},{"../src/transforms/sort":1321}],45:[function(t,e,r){"use strict";e.exports=t("../src/traces/splom")},{"../src/traces/splom":1242}],46:[function(t,e,r){"use strict";e.exports=t("../src/traces/streamtube")},{"../src/traces/streamtube":1250}],47:[function(t,e,r){"use strict";e.exports=t("../src/traces/sunburst")},{"../src/traces/sunburst":1258}],48:[function(t,e,r){"use strict";e.exports=t("../src/traces/surface")},{"../src/traces/surface":1267}],49:[function(t,e,r){"use strict";e.exports=t("../src/traces/table")},{"../src/traces/table":1275}],50:[function(t,e,r){"use strict";e.exports=t("../src/traces/treemap")},{"../src/traces/treemap":1284}],51:[function(t,e,r){"use strict";e.exports=t("../src/traces/violin")},{"../src/traces/violin":1296}],52:[function(t,e,r){"use strict";e.exports=t("../src/traces/volume")},{"../src/traces/volume":1304}],53:[function(t,e,r){"use strict";e.exports=t("../src/traces/waterfall")},{"../src/traces/waterfall":1312}],54:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||"turntable",u=n(),h=a(),f=i();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=t("turntable-camera-controller"),a=t("orbit-camera-controller"),i=t("matrix-camera-controller");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach((function(t){for(var e=t[0],r=[],n=0;n1||a>1)}function M(t,e,r){return t.sort(E),t.forEach((function(n,a){var i,o,s=0;if(H(n,r)&&A(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function S(t,r,a,i){var o=e.min(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),M(t.links.filter((function(t){return"top"==t.circularLinkType})),r,i),M(t.links.filter((function(t){return"bottom"==t.circularLinkType})),r,i),t.links.forEach((function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+10,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,H(e,i)&&A(e))e.circularPathData.leftSmallArcRadius=10+e.width/2,e.circularPathData.leftLargeArcRadius=10+e.width/2,e.circularPathData.rightSmallArcRadius=10+e.width/2,e.circularPathData.rightLargeArcRadius=10+e.width/2,"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==e.circularLinkType?c.sort(L):c.sort(C);var u=0;c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=10+e.width/2+u,e.circularPathData.leftLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),s=e.target.column,c=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==e.circularLinkType?c.sort(I):c.sort(P),u=0,c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=10+e.width/2+u,e.circularPathData.rightLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(a,e.source.y1,e.target.y1)+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e="";e="top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY;return e}(e);else{var h=n.linkHorizontal().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));e.path=h(e)}}))}function E(t,e){return z(t)==z(e)?"bottom"==t.circularLinkType?L(t,e):C(t,e):z(e)-z(t)}function C(t,e){return t.y0-e.y0}function L(t,e){return e.y0-t.y0}function P(t,e){return t.y1-e.y1}function I(t,e){return e.y1-t.y1}function z(t){return t.target.column-t.source.column}function O(t){return t.target.x0-t.source.x1}function D(t,e){var r=T(t),n=O(e)/Math.tan(r);return"up"==q(t)?t.y1+n:t.y1-n}function R(t,e){var r=T(t),n=O(e)/Math.tan(r);return"up"==q(t)?t.y1-n:t.y1+n}function F(t,e,r,n){t.links.forEach((function(a){if(!a.circular&&a.target.column-a.source.column>1){var i=a.source.column+1,o=a.target.column-1,s=1,l=o-i+1;for(s=1;i<=o;i++,s++)t.nodes.forEach((function(o){if(o.column==i){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),g=h*a.y0+f*a.y0+p*a.y1+d*a.y1,m=g-a.width/2,v=g+a.width/2;m>o.y0&&mo.y0&&vo.y1)&&(c=v-o.y0+10,o=N(o,c,e,r),t.nodes.forEach((function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0o.y1&&N(t,c,e,r)})))}}))}}))}function B(t,e){return t.y0>e.y0&&t.y0e.y0&&t.y1e.y1)}function N(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function j(t,e,r,n){t.nodes.forEach((function(a){n&&a.y+(a.y1-a.y0)>e&&(a.y=a.y-(a.y+(a.y1-a.y0)-e));var i=t.links.filter((function(t){return b(t.source,r)==b(a,r)})),o=i.length;o>1&&i.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!U(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=R(e,t);return t.y1-r}if(e.target.column>t.target.column)return R(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=a.y0;i.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),i.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!U(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function H(t,e){return b(t.source,e)==b(t.target,e)}function G(t,r,n){var a=t.nodes,i=t.links,o=!1,s=!1;if(i.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=e.min(a,(function(t){return t.y0})),c=(n-r)/(e.max(a,(function(t){return t.y1}))-l);a.forEach((function(t){var e=(t.y1-t.y0)*c;t.y0=(t.y0-l)*c,t.y1=t.y0+e})),i.forEach((function(t){t.y0=(t.y0-l)*c,t.y1=(t.y1-l)*c,t.width=t.width*c}))}}t.sankeyCircular=function(){var t,n,a=0,i=0,b=1,T=1,A=24,M=m,E=o,C=v,L=y,P=32,I=2,z=null;function O(){var t={nodes:C.apply(null,arguments),links:L.apply(null,arguments)};D(t),_(t,M,z),R(t),B(t),w(t,M),N(t,P,M),U(t);for(var e=4,r=0;r0?r+25+10:r,bottom:n=n>0?n+25+10:n,left:i=i>0?i+25+10:i,right:a=a>0?a+25+10:a}}(o),h=function(t,r){var n=e.max(t.nodes,(function(t){return t.column})),o=b-a,s=T-i,l=o/(o+r.right+r.left),c=s/(s+r.top+r.bottom);return a=a*l+r.left,b=0==r.right?b:b*l,i=i*c+r.top,T*=c,t.nodes.forEach((function(t){t.x0=a+t.column*((b-a-A)/n),t.x1=t.x0+A})),c}(o,u);l*=h,o.links.forEach((function(t){t.width=t.value*l})),c.forEach((function(t){var e=t.length;t.forEach((function(t,n){t.depth==c.length-1&&1==e||0==t.depth&&1==e?(t.y0=T/2-t.value*l,t.y1=t.y0+t.value*l):t.partOfCycle?0==k(t,r)?(t.y0=T/2+n,t.y1=t.y0+t.value*l):"top"==t.circularLinkType?(t.y0=i+n,t.y1=t.y0+t.value*l):(t.y0=T-t.value*l-n,t.y1=t.y0+t.value*l):0==u.top||0==u.bottom?(t.y0=(T-i)/e*n,t.y1=t.y0+t.value*l):(t.y0=(T-i)/2-e/2+n,t.y1=t.y0+t.value*l)}))}))}(l),y();for(var u=1,m=s;m>0;--m)v(u*=.99,l),y();function v(t,r){var n=c.length;c.forEach((function(a){var i=a.length,o=a[0].depth;a.forEach((function(a){var s;if(a.sourceLinks.length||a.targetLinks.length)if(a.partOfCycle&&k(a,r)>0);else if(0==o&&1==i)s=a.y1-a.y0,a.y0=T/2-s/2,a.y1=T/2+s/2;else if(o==n-1&&1==i)s=a.y1-a.y0,a.y0=T/2-s/2,a.y1=T/2+s/2;else{var l=e.mean(a.sourceLinks,g),c=e.mean(a.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(a))*t;a.y0+=u,a.y1+=u}}))}))}function y(){c.forEach((function(e){var r,n,a,o=i,s=e.length;for(e.sort(h),a=0;a0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-T)>0)for(o=r.y0-=n,r.y1-=n,a=s-2;a>=0;--a)(n=(r=e[a]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function U(t){t.nodes.forEach((function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,a=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=a-t.width/2,a-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return O.nodeId=function(t){return arguments.length?(M="function"==typeof t?t:s(t),O):M},O.nodeAlign=function(t){return arguments.length?(E="function"==typeof t?t:s(t),O):E},O.nodeWidth=function(t){return arguments.length?(A=+t,O):A},O.nodePadding=function(e){return arguments.length?(t=+e,O):t},O.nodes=function(t){return arguments.length?(C="function"==typeof t?t:s(t),O):C},O.links=function(t){return arguments.length?(L="function"==typeof t?t:s(t),O):L},O.size=function(t){return arguments.length?(a=i=0,b=+t[0],T=+t[1],O):[b-a,T-i]},O.extent=function(t){return arguments.length?(a=+t[0][0],b=+t[1][0],i=+t[0][1],T=+t[1][1],O):[[a,i],[b,T]]},O.iterations=function(t){return arguments.length?(P=+t,O):P},O.circularLinkGap=function(t){return arguments.length?(I=+t,O):I},O.nodePaddingRatio=function(t){return arguments.length?(n=+t,O):n},O.sortNodes=function(t){return arguments.length?(z=t,O):z},O.update=function(t){return w(t,M),U(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y1i&&(b=i);var o=e.min(a,(function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)}));a.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*o}))})),t.links.forEach((function(t){t.width=t.value*o}))}(),d();for(var i=1,o=A;o>0;--o)l(i*=.99),d(),s(i),d();function s(t){a.forEach((function(r){r.forEach((function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,f)/e.sum(r.targetLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}}))}))}function l(t){a.slice().reverse().forEach((function(r){r.forEach((function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}}))}))}function d(){a.forEach((function(t){var e,r,a,i=n,o=t.length;for(t.sort(c),a=0;a0&&(e.y0+=r,e.y1+=r),i=e.y1+b;if((r=i-b-y)>0)for(i=e.y0-=r,e.y1-=r,a=o-2;a>=0;--a)(r=(e=t[a]).y1+b-i)>0&&(e.y0-=r,e.y1-=r),i=e.y0}))}}function P(t){t.nodes.forEach((function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return P(t),t},M.nodeId=function(t){return arguments.length?(_="function"==typeof t?t:o(t),M):_},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:o(t),M):w},M.nodeWidth=function(t){return arguments.length?(x=+t,M):x},M.nodePadding=function(t){return arguments.length?(b=+t,M):b},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:o(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:o(t),M):k},M.size=function(e){return arguments.length?(t=n=0,a=+e[0],y=+e[1],M):[a-t,y-n]},M.extent=function(e){return arguments.length?(t=+e[0][0],a=+e[1][0],n=+e[0][1],y=+e[1][1],M):[[t,n],[a,y]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,a)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=i,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-array":154,"d3-collection":155,"d3-shape":163}],57:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta");function a(t){var e=0;if(t&&t.length>0){e+=Math.abs(i(t[0]));for(var r=1;r2){for(s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=h,r.lengthToRadians=f,r.lengthToDegrees=function(t,e){return p(f(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return h(f(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var a=r.areaFactors[e];if(!a)throw new Error("invalid original units");var i=r.areaFactors[n];if(!i)throw new Error("invalid final units");return t/a*i},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!d(t))throw new Error("bbox must only contain numbers")}))},r.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},r.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},r.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},r.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},r.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},r.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},r.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},r.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},{}],61:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/helpers");function a(t,e,r){if(null!==t)for(var n,i,o,s,l,c,u,h,f=0,p=0,d=t.type,g="FeatureCollection"===d,m="Feature"===d,v=g?t.features.length:1,y=0;yc||p>u||d>h)return l=a,c=r,u=p,h=d,void(o=0);var g=n.lineString([l,a],t.properties);if(!1===e(g,r,i,d,o))return!1;o++,l=a}))&&void 0}}}))}function u(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,a){if(null!==t.geometry){var i=t.geometry.type,o=t.geometry.coordinates;switch(i){case"LineString":if(!1===e(t,r,a,0,0))return!1;break;case"Polygon":for(var s=0;sa&&(a=t[o]),t[o] - * @license MIT - */function a(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,a=0,i=Math.min(r,n);a=0;c--)if(u[c]!==h[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!a&&v(a,r,"Missing expected exception"+n);var i="string"==typeof n,s=!t&&a&&!r;if((!t&&o.isError(a)&&i&&_(a,r)||s)&&v(a,r,"Got unwanted exception"+n),t&&a&&r&&!_(a,r)||!t&&a)throw a}f.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return g(m(t.actual),128)+" "+t.operator+" "+g(m(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,a=d(e),i=n.indexOf("\n"+a);if(i>=0){var o=n.indexOf("\n",i+1);n=n.substring(o+1)}this.stack=n}}},o.inherits(f.AssertionError,Error),f.fail=v,f.ok=y,f.equal=function(t,e,r){t!=e&&v(t,e,r,"==",f.equal)},f.notEqual=function(t,e,r){t==e&&v(t,e,r,"!=",f.notEqual)},f.deepEqual=function(t,e,r){x(t,e,!1)||v(t,e,r,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,r){x(t,e,!0)||v(t,e,r,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){x(t,e,!1)&&v(t,e,r,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&v(e,r,n,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,r){t!==e&&v(t,e,r,"===",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&v(t,e,r,"!==",f.notStrictEqual)},f.throws=function(t,e,r){w(!0,t,e,r)},f.doesNotThrow=function(t,e,r){w(!1,t,e,r)},f.ifError=function(t){if(t)throw t},f.strict=n((function t(e,r){e||v(e,!0,r,"==",t)}),f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var T=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"object-assign":459,"util/":74}],72:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],73:[function(t,e,r){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],74:[function(t,e,r){(function(e,n){var a=/%[sdj%]/g;r.format=function(t){if(!v(t)){for(var e=[],r=0;r=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),l=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?"\x1b["+s.colors[r][0]+"m"+t+"\x1b["+s.colors[r][1]+"m":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&T(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var a=e.inspect(n,t);return v(a)||(a=u(t,a,n)),a}var i=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(v(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(m(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(g(e))return t.stylize("null","null")}(t,e);if(i)return i;var o=Object.keys(e),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(e);if(0===o.length){if(T(e)){var l=e.name?": "+e.name:"";return t.stylize("[Function"+l+"]","special")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(w(e))return h(e)}var c,b="",k=!1,A=["{","}"];(p(e)&&(k=!0,A=["[","]"]),T(e))&&(b=" [Function"+(e.name?": "+e.name:"")+"]");return x(e)&&(b=" "+RegExp.prototype.toString.call(e)),_(e)&&(b=" "+Date.prototype.toUTCString.call(e)),w(e)&&(b=" "+h(e)),0!==o.length||k&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),c=k?function(t,e,r,n,a){for(var i=[],o=0,s=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(c,b,A)):A[0]+b+A[1]}function h(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,r,n,a,i){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),E(n,a)||(o="["+a+"]"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),y(o)){if(i&&a.match(/^\d+$/))return s;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function g(t){return null===t}function m(t){return"number"==typeof t}function v(t){return"string"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&"[object RegExp]"===k(t)}function b(t){return"object"==typeof t&&null!==t}function _(t){return b(t)&&"[object Date]"===k(t)}function w(t){return b(t)&&("[object Error]"===k(t)||t instanceof Error)}function T(t){return"function"==typeof t}function k(t){return Object.prototype.toString.call(t)}function A(t){return t<10?"0"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(i)&&(i=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(i)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error("%s %d: %s",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=m,r.isString=v,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=T,r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t},r.isBuffer=t("./support/isBuffer");var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(){var t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":");return[t.getDate(),M[t.getMonth()],e].join(" ")}function E(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){console.log("%s - %s",S(),r.format.apply(r,arguments))},r.inherits=t("inherits"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":73,_process:487,inherits:72}],75:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],76:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=e.length,i=new Array(r+1),o=0;o0?o-4:o;for(r=0;r>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,a=r%3,i=[],o=0,s=r-a;os?s:o+16383));1===a?(e=t[r-1],i.push(n[e>>2]+n[e<<4&63]+"==")):2===a&&(e=(t[r-2]<<8)+t[r-1],i.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return i.join("")};for(var n=[],a=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var a,i,o=[],s=e;s>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},{}],78:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":88}],79:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],80:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":88}],81:[function(t,e,r){"use strict";var n=t("./is-rat"),a=t("./lib/is-bn"),i=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c,u,h=0;if(a(e))c=e.clone();else if("string"==typeof e)c=o(e);else{if(0===e)return[i(0),i(1)];if(e===Math.floor(e))c=i(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),h-=256;c=i(e)}}if(n(r))c.mul(r[1]),u=r[0].clone();else if(a(r))u=r.clone();else if("string"==typeof r)u=o(r);else if(r)if(r===Math.floor(r))u=i(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),h+=256;u=i(r)}else u=i(1);h>0?c=c.ushln(h):h<0&&(u=u.ushln(-h));return s(c,u)}},{"./div":80,"./is-rat":82,"./lib/is-bn":86,"./lib/num-to-bn":87,"./lib/rationalize":88,"./lib/str-to-bn":89}],82:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":86}],83:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":97}],84:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,a=0;if(1===e)a=r[0];else if(2===e)a=r[0]+67108864*r[1];else for(var i=0;i20)return 52;return r+32}},{"bit-twiddle":95,"double-bits":169}],86:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":97}],87:[function(t,e,r){"use strict";var n=t("bn.js"),a=t("double-bits");e.exports=function(t){var e=a.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":97,"double-bits":169}],88:[function(t,e,r){"use strict";var n=t("./num-to-bn"),a=t("./bn-sign");e.exports=function(t,e){var r=a(t),i=a(e);if(0===r)return[n(0),n(1)];if(0===i)return[n(0),n(0)];i<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":83,"./num-to-bn":87}],89:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":97}],90:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":88}],91:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":83}],92:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":88}],93:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),a=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var i=e.abs().divmod(r.abs()),o=i.div,s=n(o),l=i.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=a(s)+4,h=n(l.ushln(u).divRound(r));return c*(s+h*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53;h=n(l.ushln(f).divRound(r));return f<1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{"./lib/bn-to-num":84,"./lib/ctz":85}],94:[function(t,e,r){"use strict";function n(t,e,r,n,a){var i=["function ",t,"(a,l,h,",n.join(","),"){",a?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a[m]"];return a?e.indexOf("c")<0?i.push(";if(x===y){return m}else if(x<=y){"):i.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):i.push(";if(",e,"){i=m;"),r?i.push("l=m+1}else{h=m-1}"):i.push("h=m-1}else{l=m+1}"),i.push("}"),a?i.push("return -1};"):i.push("return i};"),i.join("")}function a(t,e,r,a){return new Function([n("A","x"+t+"y",e,["y"],a),n("P","c(x,y)"+t+"0",e,["y","c"],a),"function dispatchBsearch",r,"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch",r].join(""))()}e.exports={ge:a(">=",!1,"GE"),gt:a(">",!1,"GT"),lt:a("<",!0,"LT"),le:a("<=",!0,"LE"),eq:a("-",!0,"EQ",!0)}},{}],95:[function(t,e,r){"use strict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var a=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,a=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--a;t[e]=n<>>8&255]<<16|a[t>>>16&255]<<8|a[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],96:[function(t,e,r){"use strict";var n=t("clamp");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,h,f,p,d,g,m=null==e.cutoff?.25:e.cutoff,v=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(h=(f=t).getContext("2d"),r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t.canvas,h=t,r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var a=0,i=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return a}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var a=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&a++,16===e?this._parseHex(t,a):this._parseBase(t,e,a),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var a=0;a=0;a-=3)o=t[a]|t[a-1]<<8|t[a-2]<<16,this.words[i]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===r)for(a=0,i=0;a>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)a=s(t,r,r+6),this.words[n]|=a<>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==e&&(a=s(t,e,r+6),this.words[n]|=a<>>26-i&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,a=1;a<=67108863;a*=e)n++;n--,a=a/e|0;for(var i=t.length-r,o=i%n,s=Math.min(i,i-o)+r,c=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var a=0|t.words[0],i=0|e.words[0],o=a*i,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,h=67108863&l,f=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=f;p++){var d=c-p|0;u+=(o=(a=0|t.words[d])*(i=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var a=0,i=0,o=0;o>>24-a&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(a+=2)>=26&&(a-=26,o--)}for(0!==i&&(r=i.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=u[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[f-g.length]+g+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return n("undefined"!=typeof o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,r){var a=this.byteLength(),i=r||Math.max(1,a);n(a<=i,"byte array longer than desired length"),n(i>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(i),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var a=0;a0&&(this.words[a]=~this.words[a]&67108863>>26-r),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,a=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var a=0,i=0;i>>26;for(;0!==a&&i>>26;if(this.length=r.length,0!==a)this.words[this.length]=a,this.length++;else if(r!==this)for(;it.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,a=this.cmp(t);if(0===a)return this.negative=0,this.length=1,this.words[0]=0,this;a>0?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==i&&o>26,this.words[o]=67108863&e;if(0===i&&o>>13,p=0|o[1],d=8191&p,g=p>>>13,m=0|o[2],v=8191&m,y=m>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],C=8191&E,L=E>>>13,P=0|o[7],I=8191&P,z=P>>>13,O=0|o[8],D=8191&O,R=O>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Y=0|s[2],W=8191&Y,Z=Y>>>13,X=0|s[3],J=8191&X,K=X>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,at=0|s[6],it=8191&at,ot=at>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ht=8191&ut,ft=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(c+(n=Math.imul(h,V))|0)+((8191&(a=(a=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;c=((i=Math.imul(f,U))+(a>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(d,V),a=(a=Math.imul(d,U))+Math.imul(g,V)|0,i=Math.imul(g,U);var vt=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(a=(a=a+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((i=i+Math.imul(f,G)|0)+(a>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,V),a=(a=Math.imul(v,U))+Math.imul(y,V)|0,i=Math.imul(y,U),n=n+Math.imul(d,H)|0,a=(a=a+Math.imul(d,G)|0)+Math.imul(g,H)|0,i=i+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(a=(a=a+Math.imul(h,Z)|0)+Math.imul(f,W)|0))<<13)|0;c=((i=i+Math.imul(f,Z)|0)+(a>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),a=(a=Math.imul(b,U))+Math.imul(_,V)|0,i=Math.imul(_,U),n=n+Math.imul(v,H)|0,a=(a=a+Math.imul(v,G)|0)+Math.imul(y,H)|0,i=i+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,a=(a=a+Math.imul(d,Z)|0)+Math.imul(g,W)|0,i=i+Math.imul(g,Z)|0;var xt=(c+(n=n+Math.imul(h,J)|0)|0)+((8191&(a=(a=a+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;c=((i=i+Math.imul(f,K)|0)+(a>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,V),a=(a=Math.imul(T,U))+Math.imul(k,V)|0,i=Math.imul(k,U),n=n+Math.imul(b,H)|0,a=(a=a+Math.imul(b,G)|0)+Math.imul(_,H)|0,i=i+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,a=(a=a+Math.imul(v,Z)|0)+Math.imul(y,W)|0,i=i+Math.imul(y,Z)|0,n=n+Math.imul(d,J)|0,a=(a=a+Math.imul(d,K)|0)+Math.imul(g,J)|0,i=i+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(a=(a=a+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;c=((i=i+Math.imul(f,tt)|0)+(a>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,V),a=(a=Math.imul(M,U))+Math.imul(S,V)|0,i=Math.imul(S,U),n=n+Math.imul(T,H)|0,a=(a=a+Math.imul(T,G)|0)+Math.imul(k,H)|0,i=i+Math.imul(k,G)|0,n=n+Math.imul(b,W)|0,a=(a=a+Math.imul(b,Z)|0)+Math.imul(_,W)|0,i=i+Math.imul(_,Z)|0,n=n+Math.imul(v,J)|0,a=(a=a+Math.imul(v,K)|0)+Math.imul(y,J)|0,i=i+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,a=(a=a+Math.imul(d,tt)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(h,rt)|0)|0)+((8191&(a=(a=a+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;c=((i=i+Math.imul(f,nt)|0)+(a>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,V),a=(a=Math.imul(C,U))+Math.imul(L,V)|0,i=Math.imul(L,U),n=n+Math.imul(M,H)|0,a=(a=a+Math.imul(M,G)|0)+Math.imul(S,H)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,a=(a=a+Math.imul(T,Z)|0)+Math.imul(k,W)|0,i=i+Math.imul(k,Z)|0,n=n+Math.imul(b,J)|0,a=(a=a+Math.imul(b,K)|0)+Math.imul(_,J)|0,i=i+Math.imul(_,K)|0,n=n+Math.imul(v,$)|0,a=(a=a+Math.imul(v,tt)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,a=(a=a+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,i=i+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(h,it)|0)|0)+((8191&(a=(a=a+Math.imul(h,ot)|0)+Math.imul(f,it)|0))<<13)|0;c=((i=i+Math.imul(f,ot)|0)+(a>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,V),a=(a=Math.imul(I,U))+Math.imul(z,V)|0,i=Math.imul(z,U),n=n+Math.imul(C,H)|0,a=(a=a+Math.imul(C,G)|0)+Math.imul(L,H)|0,i=i+Math.imul(L,G)|0,n=n+Math.imul(M,W)|0,a=(a=a+Math.imul(M,Z)|0)+Math.imul(S,W)|0,i=i+Math.imul(S,Z)|0,n=n+Math.imul(T,J)|0,a=(a=a+Math.imul(T,K)|0)+Math.imul(k,J)|0,i=i+Math.imul(k,K)|0,n=n+Math.imul(b,$)|0,a=(a=a+Math.imul(b,tt)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,a=(a=a+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,i=i+Math.imul(y,nt)|0,n=n+Math.imul(d,it)|0,a=(a=a+Math.imul(d,ot)|0)+Math.imul(g,it)|0,i=i+Math.imul(g,ot)|0;var Tt=(c+(n=n+Math.imul(h,lt)|0)|0)+((8191&(a=(a=a+Math.imul(h,ct)|0)+Math.imul(f,lt)|0))<<13)|0;c=((i=i+Math.imul(f,ct)|0)+(a>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,V),a=(a=Math.imul(D,U))+Math.imul(R,V)|0,i=Math.imul(R,U),n=n+Math.imul(I,H)|0,a=(a=a+Math.imul(I,G)|0)+Math.imul(z,H)|0,i=i+Math.imul(z,G)|0,n=n+Math.imul(C,W)|0,a=(a=a+Math.imul(C,Z)|0)+Math.imul(L,W)|0,i=i+Math.imul(L,Z)|0,n=n+Math.imul(M,J)|0,a=(a=a+Math.imul(M,K)|0)+Math.imul(S,J)|0,i=i+Math.imul(S,K)|0,n=n+Math.imul(T,$)|0,a=(a=a+Math.imul(T,tt)|0)+Math.imul(k,$)|0,i=i+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,a=(a=a+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,i=i+Math.imul(_,nt)|0,n=n+Math.imul(v,it)|0,a=(a=a+Math.imul(v,ot)|0)+Math.imul(y,it)|0,i=i+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,a=(a=a+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,i=i+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(h,ht)|0)|0)+((8191&(a=(a=a+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;c=((i=i+Math.imul(f,ft)|0)+(a>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,V),a=(a=Math.imul(B,U))+Math.imul(N,V)|0,i=Math.imul(N,U),n=n+Math.imul(D,H)|0,a=(a=a+Math.imul(D,G)|0)+Math.imul(R,H)|0,i=i+Math.imul(R,G)|0,n=n+Math.imul(I,W)|0,a=(a=a+Math.imul(I,Z)|0)+Math.imul(z,W)|0,i=i+Math.imul(z,Z)|0,n=n+Math.imul(C,J)|0,a=(a=a+Math.imul(C,K)|0)+Math.imul(L,J)|0,i=i+Math.imul(L,K)|0,n=n+Math.imul(M,$)|0,a=(a=a+Math.imul(M,tt)|0)+Math.imul(S,$)|0,i=i+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,a=(a=a+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,i=i+Math.imul(k,nt)|0,n=n+Math.imul(b,it)|0,a=(a=a+Math.imul(b,ot)|0)+Math.imul(_,it)|0,i=i+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,a=(a=a+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,i=i+Math.imul(y,ct)|0,n=n+Math.imul(d,ht)|0,a=(a=a+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,i=i+Math.imul(g,ft)|0;var At=(c+(n=n+Math.imul(h,dt)|0)|0)+((8191&(a=(a=a+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;c=((i=i+Math.imul(f,gt)|0)+(a>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),a=(a=Math.imul(B,G))+Math.imul(N,H)|0,i=Math.imul(N,G),n=n+Math.imul(D,W)|0,a=(a=a+Math.imul(D,Z)|0)+Math.imul(R,W)|0,i=i+Math.imul(R,Z)|0,n=n+Math.imul(I,J)|0,a=(a=a+Math.imul(I,K)|0)+Math.imul(z,J)|0,i=i+Math.imul(z,K)|0,n=n+Math.imul(C,$)|0,a=(a=a+Math.imul(C,tt)|0)+Math.imul(L,$)|0,i=i+Math.imul(L,tt)|0,n=n+Math.imul(M,rt)|0,a=(a=a+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,i=i+Math.imul(S,nt)|0,n=n+Math.imul(T,it)|0,a=(a=a+Math.imul(T,ot)|0)+Math.imul(k,it)|0,i=i+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,a=(a=a+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,i=i+Math.imul(_,ct)|0,n=n+Math.imul(v,ht)|0,a=(a=a+Math.imul(v,ft)|0)+Math.imul(y,ht)|0,i=i+Math.imul(y,ft)|0;var Mt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(a=(a=a+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((i=i+Math.imul(g,gt)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),a=(a=Math.imul(B,Z))+Math.imul(N,W)|0,i=Math.imul(N,Z),n=n+Math.imul(D,J)|0,a=(a=a+Math.imul(D,K)|0)+Math.imul(R,J)|0,i=i+Math.imul(R,K)|0,n=n+Math.imul(I,$)|0,a=(a=a+Math.imul(I,tt)|0)+Math.imul(z,$)|0,i=i+Math.imul(z,tt)|0,n=n+Math.imul(C,rt)|0,a=(a=a+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,i=i+Math.imul(L,nt)|0,n=n+Math.imul(M,it)|0,a=(a=a+Math.imul(M,ot)|0)+Math.imul(S,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,a=(a=a+Math.imul(T,ct)|0)+Math.imul(k,lt)|0,i=i+Math.imul(k,ct)|0,n=n+Math.imul(b,ht)|0,a=(a=a+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,i=i+Math.imul(_,ft)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(a=(a=a+Math.imul(v,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((i=i+Math.imul(y,gt)|0)+(a>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),a=(a=Math.imul(B,K))+Math.imul(N,J)|0,i=Math.imul(N,K),n=n+Math.imul(D,$)|0,a=(a=a+Math.imul(D,tt)|0)+Math.imul(R,$)|0,i=i+Math.imul(R,tt)|0,n=n+Math.imul(I,rt)|0,a=(a=a+Math.imul(I,nt)|0)+Math.imul(z,rt)|0,i=i+Math.imul(z,nt)|0,n=n+Math.imul(C,it)|0,a=(a=a+Math.imul(C,ot)|0)+Math.imul(L,it)|0,i=i+Math.imul(L,ot)|0,n=n+Math.imul(M,lt)|0,a=(a=a+Math.imul(M,ct)|0)+Math.imul(S,lt)|0,i=i+Math.imul(S,ct)|0,n=n+Math.imul(T,ht)|0,a=(a=a+Math.imul(T,ft)|0)+Math.imul(k,ht)|0,i=i+Math.imul(k,ft)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(a=(a=a+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((i=i+Math.imul(_,gt)|0)+(a>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),a=(a=Math.imul(B,tt))+Math.imul(N,$)|0,i=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,a=(a=a+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,i=i+Math.imul(R,nt)|0,n=n+Math.imul(I,it)|0,a=(a=a+Math.imul(I,ot)|0)+Math.imul(z,it)|0,i=i+Math.imul(z,ot)|0,n=n+Math.imul(C,lt)|0,a=(a=a+Math.imul(C,ct)|0)+Math.imul(L,lt)|0,i=i+Math.imul(L,ct)|0,n=n+Math.imul(M,ht)|0,a=(a=a+Math.imul(M,ft)|0)+Math.imul(S,ht)|0,i=i+Math.imul(S,ft)|0;var Ct=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(a=(a=a+Math.imul(T,gt)|0)+Math.imul(k,dt)|0))<<13)|0;c=((i=i+Math.imul(k,gt)|0)+(a>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,rt),a=(a=Math.imul(B,nt))+Math.imul(N,rt)|0,i=Math.imul(N,nt),n=n+Math.imul(D,it)|0,a=(a=a+Math.imul(D,ot)|0)+Math.imul(R,it)|0,i=i+Math.imul(R,ot)|0,n=n+Math.imul(I,lt)|0,a=(a=a+Math.imul(I,ct)|0)+Math.imul(z,lt)|0,i=i+Math.imul(z,ct)|0,n=n+Math.imul(C,ht)|0,a=(a=a+Math.imul(C,ft)|0)+Math.imul(L,ht)|0,i=i+Math.imul(L,ft)|0;var Lt=(c+(n=n+Math.imul(M,dt)|0)|0)+((8191&(a=(a=a+Math.imul(M,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((i=i+Math.imul(S,gt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,it),a=(a=Math.imul(B,ot))+Math.imul(N,it)|0,i=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,a=(a=a+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,i=i+Math.imul(R,ct)|0,n=n+Math.imul(I,ht)|0,a=(a=a+Math.imul(I,ft)|0)+Math.imul(z,ht)|0,i=i+Math.imul(z,ft)|0;var Pt=(c+(n=n+Math.imul(C,dt)|0)|0)+((8191&(a=(a=a+Math.imul(C,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((i=i+Math.imul(L,gt)|0)+(a>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),a=(a=Math.imul(B,ct))+Math.imul(N,lt)|0,i=Math.imul(N,ct),n=n+Math.imul(D,ht)|0,a=(a=a+Math.imul(D,ft)|0)+Math.imul(R,ht)|0,i=i+Math.imul(R,ft)|0;var It=(c+(n=n+Math.imul(I,dt)|0)|0)+((8191&(a=(a=a+Math.imul(I,gt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((i=i+Math.imul(z,gt)|0)+(a>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(B,ht),a=(a=Math.imul(B,ft))+Math.imul(N,ht)|0,i=Math.imul(N,ft);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(a=(a=a+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((i=i+Math.imul(R,gt)|0)+(a>>>13)|0)+(zt>>>26)|0,zt&=67108863;var Ot=(c+(n=Math.imul(B,dt))|0)+((8191&(a=(a=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((i=Math.imul(N,gt))+(a>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,l[0]=mt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=Pt,l[16]=It,l[17]=zt,l[18]=Ot,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,a=0,i=0;i>>26)|0)>>>26,o&=67108863}r.words[i]=s,n=o,o=a}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,a,i){for(var o=0;o>>=1)a++;return 1<>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*e;o>=26,e+=a/67108864|0,e+=i>>>26,this.words[r]=67108863&i}return 0!==e&&(this.words[r]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>a}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n=0);var e,r=t%26,a=(t-r)/26,i=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==a){for(e=this.length-1;e>=0;e--)this.words[e+a]=this.words[e];for(e=0;e=0),a=e?(e-e%26)/26:0;var i=t%26,o=Math.min((t-i)/26,this.length),s=67108863^67108863>>>i<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=a);c--){var h=0|this.words[c];this.words[c]=u<<26-i|h>>>i,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,a=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var a=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[a+r]=67108863&i}for(;a>26,this.words[a+r]=67108863&i;if(0===s)return this.strip();for(n(-1===s),s=0,a=0;a>26,this.words[a]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),a=t,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,l=n.length-a.length;if("mod"!==e){(s=new i(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;h--){var f=67108864*(0|n.words[a.length+h])+(0|n.words[a.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(a,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(a,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(a=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:a,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(a=s.div.neg()),{div:a,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var a,o,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),a=t.andln(1),i=r.cmp(n);return i<0||1===a&&0===i?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,a=this.length-1;a>=0;a--)r=(e*r+(0|this.words[a]))%t;return r},i.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var a=(0|this.words[r])+67108864*e;this.words[r]=a/t|0,e=a%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a=new i(1),o=new i(0),s=new i(0),l=new i(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(u),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s),o.isub(l)):(r.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},i.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(a=0===e.cmpn(1)?o:s).cmpn(0)<0&&a.iadd(t),a},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var a=e.cmp(r);if(a<0){var i=e;e=r,r=i}else if(0===a||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,a=1<>>26,s&=67108863,this.words[o]=s}return 0!==i&&(this.words[o]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var a=0|this.words[0];e=a===t?0:at.length)return 1;if(this.length=0;r--){var n=0|this.words[r],a=0|t.words[r];if(n!==a){na&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new w(t)},i.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function T(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):r.strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},a(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,a=i}a>>>=22,t.words[n-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=a,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new x;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return m[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new i(1)).iushrn(2);return this.pow(t,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,a),f=this.pow(t,a.addn(1).iushrn(1)),p=this.pow(t,a),d=o;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();n(m=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var h=c>>u&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===u)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new T(t)},a(T,w),T.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},T.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},T.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),i=a;return a.cmp(this.m)>=0?i=a.isub(this.m):a.cmpn(0)<0&&(i=a.iadd(this.m)),i._forceRed(this)},T.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},T.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof e||e,this)},{buffer:106}],98:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,a=t.length,i=0;for(e=0;e>>1;if(!(u<=0)){var h,f=a.mallocDouble(2*u*s),p=a.mallocInt32(s);if((s=l(t,u,f,p))>0){if(1===u&&n)i.init(s),h=i.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=a.mallocDouble(2*u*c),g=a.mallocInt32(c);(c=l(e,u,d,g))>0&&(i.init(s+c),h=1===u?i.sweepBipartite(u,r,0,s,f,p,0,c,d,g):o(u,r,n,s,f,p,c,d,g),a.free(d),a.free(g))}a.free(f),a.free(p)}return h}}}function u(t,e){n.push([t,e])}function h(t){return n=[],c(t,t,u,!0),n}function f(t,e){return n=[],c(t,e,u,!1),n}},{"./lib/intersect":101,"./lib/sweep":105,"typedarray-pool":554}],100:[function(t,e,r){"use strict";var n=["d","ax","vv","rs","re","rb","ri","bs","be","bb","bi"];function a(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],a=n.slice();t||a.splice(3,0,"fp");var i=["function "+e+"("+a.join()+"){"];function o(e,a){var o=function(t,e,r){var a="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),i=["function ",a,"(",n.join(),"){","var ","es","=2*","d",";"],o="for(var i=rs,rp=es*rs;ibe-bs){"),t?(o(!0,!1),i.push("}else{"),o(!1,!1)):(i.push("if(fp){"),o(!0,!0),i.push("}else{"),o(!0,!1),i.push("}}else{if(fp){"),o(!1,!0),i.push("}else{"),o(!1,!1),i.push("}")),i.push("}}return "+e);var s=r.join("")+i.join("");return new Function(s)()}r.partial=a(!1),r.full=a(!0)},{}],101:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,u,w,T,k,A){!function(t,e){var r=8*a.log2(e+1)*(t+1)|0,i=a.nextPow2(6*r);v.length0;){var C=6*(S-=1),L=v[C],P=v[C+1],I=v[C+2],z=v[C+3],O=v[C+4],D=v[C+5],R=2*S,F=y[R],B=y[R+1],N=1&D,j=!!(16&D),V=u,U=w,q=k,H=A;if(N&&(V=k,U=A,q=u,H=w),!(2&D&&(I=p(t,L,P,I,V,U,B),P>=I)||4&D&&(P=d(t,L,P,I,V,U,F))>=I)){var G=I-P,Y=O-z;if(j){if(t*G*(G+Y)<1<<22){if(void 0!==(M=l.scanComplete(t,L,e,P,I,V,U,z,O,q,H)))return M;continue}}else{if(t*Math.min(G,Y)<128){if(void 0!==(M=o(t,L,e,N,P,I,V,U,z,O,q,H)))return M;continue}if(t*G*Y<1<<22){if(void 0!==(M=l.scanBipartite(t,L,e,N,P,I,V,U,z,O,q,H)))return M;continue}}var W=h(t,L,P,I,V,U,F,B);if(P=p0)&&!(p1>=hi)",["p0","p1"]),f=u("lo===p0",["p0"]),p=u("lo>>1,h=2*t,f=u,p=o[h*u+e];for(;l=y?(f=v,p=y):m>=b?(f=g,p=m):(f=x,p=b):y>=b?(f=v,p=y):b>=m?(f=g,p=m):(f=x,p=b);for(var _=h*(c-1),w=h*f,T=0;Tr&&a[h+e]>c;--u,h-=o){for(var f=h,p=h+o,d=0;d=0&&n.push("lo=e[k+n]");t.indexOf("hi")>=0&&n.push("hi=e[k+o]");return r.push("for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m".replace("_",n.join()).replace("$",t)),Function.apply(void 0,r)}},{}],104:[function(t,e,r){"use strict";e.exports=function(t,e){e<=128?n(0,e-1,t):function t(e,r,u){var h=(r-e+1)/6|0,f=e+h,p=r-h,d=e+r>>1,g=d-h,m=d+h,v=f,y=g,x=d,b=m,_=p,w=e+1,T=r-1,k=0;l(v,y,u)&&(k=v,v=y,y=k);l(b,_,u)&&(k=b,b=_,_=k);l(v,x,u)&&(k=v,v=x,x=k);l(y,x,u)&&(k=y,y=x,x=k);l(v,b,u)&&(k=v,v=b,b=k);l(x,b,u)&&(k=x,x=b,b=k);l(y,_,u)&&(k=y,y=_,_=k);l(y,x,u)&&(k=y,y=x,x=k);l(b,_,u)&&(k=b,b=_,_=k);for(var A=u[2*y],M=u[2*y+1],S=u[2*b],E=u[2*b+1],C=2*v,L=2*x,P=2*_,I=2*f,z=2*d,O=2*p,D=0;D<2;++D){var R=u[C+D],F=u[L+D],B=u[P+D];u[I+D]=R,u[z+D]=F,u[O+D]=B}i(g,e,u),i(m,r,u);for(var N=w;N<=T;++N)if(c(N,A,M,u))N!==w&&a(N,w,u),++w;else if(!c(N,S,E,u))for(;;){if(c(T,S,E,u)){c(T,A,M,u)?(o(N,w,T,u),++w,--T):(a(N,T,u),--T);break}if(--Tt;){var c=r[l-2],u=r[l-1];if(cr[e+1])}function c(t,e,r,n){var a=n[t*=2];return a>>1;i(f,M);var S=0,E=0;for(w=0;w=1<<28)p(l,c,E--,C=C-(1<<28)|0);else if(C>=0)p(o,s,S--,C);else if(C<=-(1<<28)){C=-C-(1<<28)|0;for(var L=0;L>>1;i(f,E);var C=0,L=0,P=0;for(k=0;k>1==f[2*k+3]>>1&&(z=2,k+=1),I<0){for(var O=-(I>>1)-1,D=0;D>1)-1;0===z?p(o,s,C--,O):1===z?p(l,c,L--,O):2===z&&p(u,h,P--,O)}}},scanBipartite:function(t,e,r,n,a,l,c,u,h,g,m,v){var y=0,x=2*t,b=e,_=e+t,w=1,T=1;n?T=1<<28:w=1<<28;for(var k=a;k>>1;i(f,E);var C=0;for(k=0;k=1<<28?(P=!n,A-=1<<28):(P=!!n,A-=1),P)d(o,s,C++,A);else{var I=v[A],z=x*A,O=m[z+e+1],D=m[z+e+1+t];t:for(var R=0;R>>1;i(f,w);var T=0;for(y=0;y=1<<28)o[T++]=x-(1<<28);else{var A=p[x-=1],M=g*x,S=h[M+e+1],E=h[M+e+1+t];t:for(var C=0;C=0;--C)if(o[C]===x){for(z=C+1;z0&&s.length>i){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function v(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled "error" event. ('+e+")");throw l.context=e,l}if(!(r=o[t]))return!1;var c="function"==typeof r;switch(n=arguments.length){case 1:h(r,c,this);break;case 2:f(r,c,this,arguments[1]);break;case 3:p(r,c,this,arguments[1],arguments[2]);break;case 4:d(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(n-1),i=1;i=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(var r=e,n=r+1,a=t.length;n=0;i--)this.removeListener(t,e[i]);return this},o.prototype.listeners=function(t){return x(this,t,!0)},o.prototype.rawListeners=function(t){return x(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):b.call(t,e)},o.prototype.listenerCount=b,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],108:[function(t,e,r){(function(e){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -"use strict";var n=t("base64-js"),a=t("ieee754");r.Buffer=e,r.SlowBuffer=function(t){+t!=t&&(t=0);return e.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value "'+t+'" is invalid for option "size"');var r=new Uint8Array(t);return r.__proto__=e.prototype,r}function e(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,r,n){if("string"==typeof t)return function(t,r){"string"==typeof r&&""!==r||(r="utf8");if(!e.isEncoding(r))throw new TypeError("Unknown encoding: "+r);var n=0|h(t,r),a=i(n),o=a.write(t,r);o!==n&&(a=a.slice(0,o));return a}(t,r);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,r,n){if(r<0||t.byteLength=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+2147483647..toString(16)+" bytes");return 0|t}function h(t,r){if(e.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,a=arguments.length>2&&!0===arguments[2];if(!a&&0===n)return 0;for(var i=!1;;)switch(r){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return D(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return R(t).length;default:if(i)return a?-1:D(t).length;r=(""+r).toLowerCase(),i=!0}}function f(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return M(this,e,r);case"utf8":case"utf-8":return T(this,e,r);case"ascii":return k(this,e,r);case"latin1":case"binary":return A(this,e,r);case"base64":return w(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,r,n,a,i){if(0===t.length)return-1;if("string"==typeof n?(a=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),N(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof r&&(r=e.from(r,a)),e.isBuffer(r))return 0===r.length?-1:g(t,r,n,a,i);if("number"==typeof r)return r&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,n):Uint8Array.prototype.lastIndexOf.call(t,r,n):g(t,[r],n,a,i);throw new TypeError("val must be string, number or Buffer")}function g(t,e,r,n,a){var i,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(a){var u=-1;for(i=r;is&&(r=s-l),i=r;i>=0;i--){for(var h=!0,f=0;fa&&(n=a):n=a;var i=e.length;n>i/2&&(n=i/2);for(var o=0;o>8,a=r%256,i.push(a),i.push(n);return i}(e,t.length-r),t,r,n)}function w(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],a=e;a239?4:c>223?3:c>191?2:1;if(a+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(i=t[a+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&(l=(15&c)<<12|(63&i)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&i)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),a+=h}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r="",n=0;for(;ne&&(t+=" ... "),""},e.prototype.compare=function(t,r,n,a,i){if(B(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),!e.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===r&&(r=0),void 0===n&&(n=t?t.length:0),void 0===a&&(a=0),void 0===i&&(i=this.length),r<0||n>t.length||a<0||i>this.length)throw new RangeError("out of range index");if(a>=i&&r>=n)return 0;if(a>=i)return-1;if(r>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(a>>>=0),s=(n>>>=0)-(r>>>=0),l=Math.min(o,s),c=this.slice(a,i),u=t.slice(r,n),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var a=this.length-e;if((void 0===r||r>a)&&(r=a),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return m(this,t,e,r);case"utf8":case"utf-8":return v(this,t,e,r);case"ascii":return y(this,t,e,r);case"latin1":case"binary":return x(this,t,e,r);case"base64":return b(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function k(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;an)&&(r=n);for(var a="",i=e;ir)throw new RangeError("Trying to access beyond buffer length")}function C(t,r,n,a,i,o){if(!e.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>i||rt.length)throw new RangeError("Index out of range")}function L(t,e,r,n,a,i){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function P(t,e,r,n,i){return e=+e,r>>>=0,i||L(t,0,r,4),a.write(t,e,r,n,23,4),r+4}function I(t,e,r,n,i){return e=+e,r>>>=0,i||L(t,0,r,8),a.write(t,e,r,n,52,8),r+8}e.prototype.slice=function(t,r){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],a=1,i=0;++i>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t+--e],a=1;e>0&&(a*=256);)n+=this[t+--e]*a;return n},e.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},e.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},e.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},e.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},e.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},e.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],a=1,i=0;++i=(a*=128)&&(n-=Math.pow(2,8*e)),n},e.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=e,a=1,i=this[t+--n];n>0&&(a*=256);)i+=this[t+--n]*a;return i>=(a*=128)&&(i-=Math.pow(2,8*e)),i},e.prototype.readInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},e.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},e.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},e.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),a.read(this,t,!0,23,4)},e.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),a.read(this,t,!1,23,4)},e.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),a.read(this,t,!0,52,8)},e.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),a.read(this,t,!1,52,8)},e.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||C(this,t,e,r,Math.pow(2,8*r)-1,0);var a=1,i=0;for(this[e]=255&t;++i>>=0,r>>>=0,n)||C(this,t,e,r,Math.pow(2,8*r)-1,0);var a=r-1,i=1;for(this[e+a]=255&t;--a>=0&&(i*=256);)this[e+a]=t/i&255;return e+r},e.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,1,255,0),this[e]=255&t,e+1},e.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},e.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);C(this,t,e,r,a-1,-a)}var i=0,o=1,s=0;for(this[e]=255&t;++i>0)-s&255;return e+r},e.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);C(this,t,e,r,a-1,-a)}var i=r-1,o=1,s=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},e.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},e.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeFloatLE=function(t,e,r){return P(this,t,e,!0,r)},e.prototype.writeFloatBE=function(t,e,r){return P(this,t,e,!1,r)},e.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},e.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},e.prototype.copy=function(t,r,n,a){if(!e.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),a||0===a||(a=this.length),r>=t.length&&(r=t.length),r||(r=0),a>0&&a=this.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),t.length-r=0;--o)t[o+r]=this[o+n];else Uint8Array.prototype.set.call(t,this.subarray(n,a),r);return i},e.prototype.fill=function(t,r,n,a){if("string"==typeof t){if("string"==typeof r?(a=r,r=0,n=this.length):"string"==typeof n&&(a=n,n=this.length),void 0!==a&&"string"!=typeof a)throw new TypeError("encoding must be a string");if("string"==typeof a&&!e.isEncoding(a))throw new TypeError("Unknown encoding: "+a);if(1===t.length){var i=t.charCodeAt(0);("utf8"===a&&i<128||"latin1"===a)&&(t=i)}}else"number"==typeof t&&(t&=255);if(r<0||this.length>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=r;o55295&&r<57344){if(!a){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}a=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(e-=3)>-1&&i.push(239,191,189);if(a=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function R(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(z,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,r,n){for(var a=0;a=e.length||a>=t.length);++a)e[a+r]=t[a];return a}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function N(t){return t!=t}}).call(this,t("buffer").Buffer)},{"base64-js":77,buffer:108,ieee754:415}],109:[function(t,e,r){"use strict";var n=t("./lib/monotone"),a=t("./lib/triangulation"),i=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,"delaunay",!0),h=!!c(r,"interior",!0),f=!!c(r,"exterior",!0),p=!!c(r,"infinity",!1);if(!h&&!f||0===t.length)return[];var d=n(t,e);if(u||h!==f||p){for(var g=a(t.length,function(t){return t.map(s).sort(l)}(e)),m=0;m0;){for(var p=r.pop(),d=(s=r.pop(),u=-1,h=-1,l=o[s],1);d=0||(e.flip(s,p),a(t,e,r,u,s,h),a(t,e,r,s,h,u),a(t,e,r,h,p,u),a(t,e,r,p,u,h)))}}},{"binary-search-bounds":94,"robust-in-sphere":505}],111:[function(t,e,r){"use strict";var n,a=t("binary-search-bounds");function i(t,e,r,n,a,i,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=a,this.next=i,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,a=0;a0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-a){c[p]=a;u[p];for(var d=0;d<3;++d){var g=f[3*p+d];g>=0&&0===c[g]&&(h[3*p+d]?l.push(g):(s.push(g),c[g]=a))}}}var m=l;l=s,s=m,l.length=0,a=-a}var v=function(t,e,r){for(var n=0,a=0;a1&&a(r[f[p-2]],r[f[p-1]],i)>0;)t.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=h.upperIds;for(p=d.length;p>1&&a(r[d[p-2]],r[d[p-1]],i)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function u(t,e){var r;return(r=t.a[0]d[0]&&a.push(new o(d,p,2,l),new o(p,d,1,l))}a.sort(s);for(var g=a[0].a[0]-(1+Math.abs(a[0].a[0]))*Math.pow(2,-52),m=[new i([g,1],[g,0],-1,[],[],[],[])],v=[],y=(l=0,a.length);l=0}}(),i.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},i.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},i.opposite=function(t,e){for(var r=this.stars[e],n=1,a=r.length;nr?r:t:te?e:t}},{}],118:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var a=new Array(e.length),i=0;ie[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--i){var x=e[u=(S=n[i])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(a&&(A=x[2]);i>0&&n[i-1][0]===u;){var S,E=(S=n[--i])[1];a?e.push([M,E,A]):e.push([M,E]),M=E}a?e.push([M,_,A]):e.push([M,_])}return f}(t,e,f,m,r));return v(e,y,r),!!y||(f.length>0||m.length>0)}},{"./lib/rat-seg-intersect":119,"big-rat":81,"big-rat/cmp":79,"big-rat/to-float":93,"box-intersect":99,nextafter:456,"rat-vec":491,"robust-segment-intersect":510,"union-find":555}],119:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=s(e,t),h=s(n,r),f=u(i,h);if(0===o(f))return null;var p=s(t,r),d=u(h,p),g=a(d,f),m=c(i,g);return l(t,m)};var n=t("big-rat/mul"),a=t("big-rat/div"),i=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),c=t("rat-vec/muls");function u(t,e){return i(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":80,"big-rat/mul":90,"big-rat/sign":91,"big-rat/sub":92,"rat-vec/add":490,"rat-vec/muls":492,"rat-vec/sub":493}],120:[function(t,e,r){"use strict";var n=t("clamp");function a(t,e){null==e&&(e=!0);var r=t[0],a=t[1],i=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,a*=255,i*=255,o*=255),16777216*(r=255&n(r,0,255))+((a=255&n(a,0,255))<<16)+((i=255&n(i,0,255))<<8)+(o=255&n(o,0,255))}e.exports=a,e.exports.to=a,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,a=(65280&t)>>>8,i=255&t;return!1===e?[r,n,a,i]:[r/255,n/255,a/255,i/255]}},{clamp:117}],121:[function(t,e,r){"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],122:[function(t,e,r){"use strict";var n=t("color-rgba"),a=t("clamp"),i=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(i(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=a(Math.floor(255*t[0]),0,255),r[1]=a(Math.floor(255*t[1]),0,255),r[2]=a(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:a(Math.floor(255*t[3]),0,255)),r)}},{clamp:117,"color-rgba":124,dtype:171}],123:[function(t,e,r){(function(r){"use strict";var n=t("color-name"),a=t("is-plain-obj"),i=t("defined");e.exports=function(t){var e,s,l=[],c=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)c=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=(p=t.slice(1)).length;c=1,u<=4?(l=[parseInt(p[0]+p[0],16),parseInt(p[1]+p[1],16),parseInt(p[2]+p[2],16)],4===u&&(c=parseInt(p[3]+p[3],16)/255)):(l=[parseInt(p[0]+p[1],16),parseInt(p[2]+p[3],16),parseInt(p[4]+p[5],16)],8===u&&(c=parseInt(p[6]+p[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var h=e[1],f="rgb"===h,p=h.replace(/a$/,"");s=p;u="cmyk"===p?4:"gray"===p?1:3;l=e[2].trim().split(/\s*,\s*/).map((function(t,e){if(/%$/.test(t))return e===u?parseFloat(t)/100:"rgb"===p?255*parseFloat(t)/100:parseFloat(t);if("h"===p[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),h===p&&l.push(1),c=f||void 0===l[u]?1:l[u],l=l.slice(0,u)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(a(t)){var d=i(t.r,t.red,t.R,null);null!==d?(s="rgb",l=[d,i(t.g,t.green,t.G),i(t.b,t.blue,t.B)]):(s="hsl",l=[i(t.h,t.hue,t.H),i(t.s,t.saturation,t.S),i(t.l,t.lightness,t.L,t.b,t.brightness)]),c=i(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",c=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":121,defined:166,"is-plain-obj":426}],124:[function(t,e,r){"use strict";var n=t("color-parse"),a=t("color-space/hsl"),i=t("clamp");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=i(r.values[0],0,255),e[1]=i(r.values[1],0,255),e[2]=i(r.values[2],0,255),"h"===r.space[0]&&(e=a.rgb(e)),e.push(i(r.alpha,0,1)),e):[]}},{clamp:117,"color-parse":123,"color-space/hsl":125}],125:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,a,i,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[i=255*l,i,i];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,i=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,a[c]=255*i;return a}},n.hsl=function(t){var e,r,n=t[0]/255,a=t[1]/255,i=t[2]/255,o=Math.min(n,a,i),s=Math.max(n,a,i),l=s-o;return s===o?e=0:n===s?e=(a-i)/l:a===s?e=2+(i-n)/l:i===s&&(e=4+(n-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{"./rgb":126}],126:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],127:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],128:[function(t,e,r){"use strict";var n=t("./colorScale"),a=t("lerp");function i(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}e.exports=function(t){var e,r,l,c,u,h,f,p,d,g;t||(t={});p=(t.nshades||72)-1,f=t.format||"hex",(h=t.colormap)||(h="jet");if("string"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+" not a supported colorscale");u=n[h]}else{if(!Array.isArray(h))throw Error("unsupported colormap option",h);u=h.slice()}if(u.length>p+1)throw new Error(h+" map requires nshades to be at least size "+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var m=u.map((function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),v=[];for(g=0;g0||l(t,e,i)?-1:1:0===s?c>0||l(t,e,r)?1:-1:a(c-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,i)>0?1:-1:f<0?o>0||n(t,e,i)>0?1:-1:n(t,e,i)>0||l(t,e,r)?1:-1};var n=t("robust-orientation"),a=t("signum"),i=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=i(t[0],-e[0]),a=i(t[1],-e[1]),l=i(r[0],-e[0]),c=i(r[1],-e[1]),u=s(o(n,l),o(a,c));return u[u.length-1]>=0}},{"robust-orientation":507,"robust-product":508,"robust-sum":512,signum:513,"two-sum":542}],130:[function(t,e,r){e.exports=function(t,e){var r=t.length,i=t.length-e.length;if(i)return i;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(i=o+t[2]-(s+e[2]))return i;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],h=t[1],f=t[2],p=t[3],d=e[0],g=e[1],m=e[2],v=e[3];return u+h+f+p-(d+g+m+v)||n(u,h,f,p)-n(d,g,m,v,d)||n(u+h,u+f,u+p,h+f,h+p,f+p)-n(d+g,d+m,d+v,g+m,g+v,m+v)||n(u+h+f,u+h+p,u+f+p,h+f+p)-n(d+g+m,d+g+v,d+m+v,g+m+v);default:for(var y=t.slice().sort(a),x=e.slice().sort(a),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},{}],134:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var a=new Array(r),i=e[r-1],o=0;o=e[l]&&(s+=1);i[o]=s}}return t}(n(i,!0),r)}};var n=t("incremental-convex-hull"),a=t("affine-hull")},{"affine-hull":65,"incremental-convex-hull":416}],136:[function(t,e,r){e.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xe7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xe9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xe9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xe3)o.?tom(e|\xe9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},{}],137:[function(t,e,r){e.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]},{}],138:[function(t,e,r){e.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]},{}],139:[function(t,e,r){e.exports=["normal","italic","oblique"]},{}],140:[function(t,e,r){e.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]},{}],141:[function(t,e,r){"use strict";e.exports={parse:t("./parse"),stringify:t("./stringify")}},{"./parse":143,"./stringify":144}],142:[function(t,e,r){"use strict";var n=t("css-font-size-keywords");e.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},{"css-font-size-keywords":137}],143:[function(t,e,r){"use strict";var n=t("unquote"),a=t("css-global-keywords"),i=t("css-system-font-keywords"),o=t("css-font-weight-keywords"),s=t("css-font-style-keywords"),l=t("css-font-stretch-keywords"),c=t("string-split-by"),u=t("./lib/util").isSize;e.exports=f;var h=f.cache={};function f(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(h[t])return h[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==i.indexOf(t))return h[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},f=c(t,/\s+/);e=f.shift();){if(-1!==a.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),h[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===f[0]&&(f.shift(),r.lineHeight=p(f.shift())),!f.length)throw new Error("Missing required font-family.");return r.family=c(f.join(" "),/\s*,\s*/).map(n),h[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{"./lib/util":142,"css-font-stretch-keywords":138,"css-font-style-keywords":139,"css-font-weight-keywords":140,"css-global-keywords":145,"css-system-font-keywords":146,"string-split-by":527,unquote:557}],144:[function(t,e,r){"use strict";var n=t("pick-by-alias"),a=t("./lib/util").isSize,i=g(t("css-global-keywords")),o=g(t("css-system-font-keywords")),s=g(t("css-font-weight-keywords")),l=g(t("css-font-style-keywords")),c=g(t("css-font-stretch-keywords")),u={normal:1,"small-caps":1},h={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},f="1rem",p="serif";function d(t,e){if(t&&!e[t]&&!i[t])throw Error("Unknown keyword `"+t+"`");return t}function g(t){for(var e={},r=0;r=0;--p)i[p]=c*t[p]+u*e[p]+h*r[p]+f*n[p];return i}return c*t+u*e+h*r+f*n},e.exports.derivative=function(t,e,r,n,a,i){var o=6*a*a-6*a,s=3*a*a-4*a+1,l=-6*a*a+6*a,c=3*a*a-2*a;if(t.length){i||(i=new Array(t.length));for(var u=t.length-1;u>=0;--u)i[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return i}return o*t+s*e+l*r[u]+c*n}},{}],148:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");function a(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new a;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i0)throw new Error("cwise: pre() block may not reference array args");if(i0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)e.scalarArgs.push(i),e.shimArgs.push("scalar"+i);else if("index"===o){if(e.indexArgs.push(i),i0)throw new Error("cwise: pre() block may not reference array index");if(i0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(i),ir.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":150}],149:[function(t,e,r){"use strict";var n=t("uniq");function a(t,e,r){var n,a,i=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,h=0;for(n=0;n0&&l.push("var "+c.join(",")),n=i-1;n>=0;--n)u=t[n],l.push(["for(i",n,"=0;i",n,"0&&l.push(["index[",h,"]-=s",h].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join("\n")}function i(t,e,r){for(var n=t.body,a=[],i=[],o=0;o0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,s=new Array(t.arrayArgs.length),l=new Array(t.arrayArgs.length),c=0;c0&&x.push("shape=SS.slice(0)"),t.indexArgs.length>0){var b=new Array(r);for(c=0;c0&&y.push("var "+x.join(",")),c=0;c3&&y.push(i(t.pre,t,l));var k=i(t.body,t,l),A=function(t){for(var e=0,r=t[0].length;e0,c=[],u=0;u0;){"].join("")),c.push(["if(j",u,"<",s,"){"].join("")),c.push(["s",e[u],"=j",u].join("")),c.push(["j",u,"=0"].join("")),c.push(["}else{s",e[u],"=",s].join("")),c.push(["j",u,"-=",s,"}"].join("")),l&&c.push(["index[",e[u],"]=j",u].join(""));for(u=0;u3&&y.push(i(t.post,t,l)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+y.join("\n")+"\n----------");var M=[t.funcName||"unnamed","_cwise_loop_",s[0].join("s"),"m",A,o(l)].join("");return new Function(["function ",M,"(",v.join(","),"){",y.join("\n"),"} return ",M].join(""))()}},{uniq:556}],150:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],a=t.funcName+"_cwise_thunk";e.push(["return function ",a,"(",t.shimArgs.join(","),"){"].join(""));for(var i=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],u=0;u0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+h+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+h+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[u])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),u=0;ue?1:t>=e?0:NaN}function r(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}var n=r(e),a=n.right,i=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,a=t.length,i=0,o=-1,l=0,c=0;if(null==e)for(;++o1)return c/(i-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,a,i=t.length,o=-1;if(null==e){for(;++o=r)for(n=a=r;++or&&(n=r),a=r)for(n=a=r;++or&&(n=r),a=0?(i>=v?10:i>=y?5:i>=x?2:1)*Math.pow(10,a):-Math.pow(10,-a)/(i>=v?10:i>=y?5:i>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),a=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),i=n/a;return i>=v?a*=10:i>=y?a*=5:i>=x&&(a*=2),e=1)return+r(t[n-1],n-1,t);var n,a=(n-1)*e,i=Math.floor(a),o=+r(t[i],i,t);return o+(+r(t[i+1],i+1,t)-o)*(a-i)}}function k(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i=r)for(n=r;++ir&&(n=r)}else for(;++i=r)for(n=r;++ir&&(n=r);return n}function A(t){if(!(a=t.length))return[];for(var e=-1,r=k(t,M),n=new Array(r);++et?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var i,o,s=n.length,l=new Array(s);for(i=0;ih;)f.pop(),--p;var d,g=new Array(p+1);for(i=0;i<=p;++i)(d=g[i]=[]).x0=i>0?f[i-1]:u,d.x1=i=r)for(n=r;++in&&(n=r)}else for(;++i=r)for(n=r;++in&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,a=n,i=-1,o=0;if(null==e)for(;++i=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r},t.min=k,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,a=t[0],i=new Array(n<0?0:n);r0)return[t];if((n=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),i=new Array(a=Math.ceil(e-t+1));++s=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,h,f=-1,p=n.length,d=l[a++],g=r(),m=i();++fl.length)return r;var a,i=c[n-1];return null!=e&&n>=l.length?a=r.entries():(a=[],r.each((function(e,r){a.push({key:r,values:t(e,n)})}))),null!=i?a.sort((function(t,e){return i(t.key,e.key)})):a}(u(t,0,i,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,"__esModule",{value:!0})}))},{}],156:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var a="\\s*([+-]?\\d+)\\s*",i="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3,8})$/,l=new RegExp("^rgb\\("+[a,a,a]+"\\)$"),c=new RegExp("^rgb\\("+[o,o,o]+"\\)$"),u=new RegExp("^rgba\\("+[a,a,a,i]+"\\)$"),h=new RegExp("^rgba\\("+[o,o,o,i]+"\\)$"),f=new RegExp("^hsl\\("+[i,o,o]+"\\)$"),p=new RegExp("^hsla\\("+[i,o,o,i]+"\\)$"),d={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function g(){return this.rgb().formatHex()}function m(){return this.rgb().formatRgb()}function v(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?y(e):3===r?new w(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?x(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?x(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=l.exec(t))?new w(e[1],e[2],e[3],1):(e=c.exec(t))?new w(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=u.exec(t))?x(e[1],e[2],e[3],e[4]):(e=h.exec(t))?x(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=f.exec(t))?M(e[1],e[2]/100,e[3]/100,1):(e=p.exec(t))?M(e[1],e[2]/100,e[3]/100,e[4]):d.hasOwnProperty(t)?y(d[t]):"transparent"===t?new w(NaN,NaN,NaN,0):null}function y(t){return new w(t>>16&255,t>>8&255,255&t,1)}function x(t,e,r,n){return n<=0&&(t=e=r=NaN),new w(t,e,r,n)}function b(t){return t instanceof n||(t=v(t)),t?new w((t=t.rgb()).r,t.g,t.b,t.opacity):new w}function _(t,e,r,n){return 1===arguments.length?b(t):new w(t,e,r,null==n?1:n)}function w(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function T(){return"#"+A(this.r)+A(this.g)+A(this.b)}function k(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function A(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function M(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new C(t,e,r,n)}function S(t){if(t instanceof C)return new C(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new C;if(t instanceof C)return t;var e=(t=t.rgb()).r/255,r=t.g/255,a=t.b/255,i=Math.min(e,r,a),o=Math.max(e,r,a),s=NaN,l=o-i,c=(o+i)/2;return l?(s=e===o?(r-a)/l+6*(r0&&c<1?0:s,new C(s,l,c,t.opacity)}function E(t,e,r,n){return 1===arguments.length?S(t):new C(t,e,r,null==n?1:n)}function C(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function L(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:g,formatHex:g,formatHsl:function(){return S(this).formatHsl()},formatRgb:m,toString:m}),e(w,_,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:T,formatHex:T,formatRgb:k,toString:k})),e(C,E,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new C(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new C(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,a=2*r-n;return new w(L(t>=240?t-240:t+120,a,n),L(t,a,n),L(t<120?t+240:t-120,a,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var P=Math.PI/180,I=180/Math.PI,z=6/29,O=3*z*z;function D(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof H)return G(t);t instanceof w||(t=b(t));var e,r,n=V(t.r),a=V(t.g),i=V(t.b),o=B((.2225045*n+.7168786*a+.0606169*i)/1);return n===a&&a===i?e=r=o:(e=B((.4360747*n+.3850649*a+.1430804*i)/.96422),r=B((.0139322*n+.0971045*a+.7141733*i)/.82521)),new F(116*o-16,500*(e-o),200*(o-r),t.opacity)}function R(t,e,r,n){return 1===arguments.length?D(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function B(t){return t>.008856451679035631?Math.pow(t,1/3):t/O+4/29}function N(t){return t>z?t*t*t:O*(t-4/29)}function j(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function V(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function U(t){if(t instanceof H)return new H(t.h,t.c,t.l,t.opacity);if(t instanceof F||(t=D(t)),0===t.a&&0===t.b)return new H(NaN,0=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:r}}))}function i(t,e){for(var r,n=0,a=t.length;n0)for(var r,n,a=new Array(r),i=0;if+c||np+c||iu.index){var h=f-s.x-s.vx,m=p-s.y-s.vy,v=h*h+m*m;vt.r&&(t.r=t[e].r)}function f(){if(r){var e,a,i=r.length;for(n=new Array(i),e=0;e=c)){(t.data!==r||t.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d1?(null==r?u.remove(t):u.set(t,v(r)),e):u.get(t)},find:function(e,r,n){var a,i,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c1?(f.on(t,r),e):f.on(t)}}},t.forceX=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i=0;)e+=r[n].value;else e=1;t.value=e}function i(t,e){var r,n,a,i,s,u=new c(t),h=+t.value&&(u.value=t.value),f=[u];for(null==e&&(e=o);r=f.pop();)if(h&&(r.value=+r.data.value),(a=e(r.data))&&(s=a.length))for(r.children=new Array(s),i=s-1;i>=0;--i)f.push(n=r.children[i]=new c(a[i])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(t){return t.children}function s(t){t.data=t.data.data}function l(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}c.prototype=i.prototype={constructor:c,count:function(){return this.eachAfter(a)},each:function(t){var e,r,n,a,i=this,o=[i];do{for(e=o.reverse(),o=[];i=e.pop();)if(t(i),r=i.children)for(n=0,a=r.length;n=0;--r)a.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,a=n&&n.length;--a>=0;)r+=n[a].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),a=null;t=r.pop(),e=n.pop();for(;t===e;)a=t,t=r.pop(),e=n.pop();return a}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var a=n.length;t!==r;)n.splice(a,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return i(this).eachBefore(s)}};var u=Array.prototype.slice;function h(t){for(var e,r,n=0,a=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(u.call(t))).length,i=[];n0&&r*r>n*n+a*a}function g(t,e){for(var r=0;r(o*=o)?(n=(c+o-a)/(2*c),i=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-i*l,r.y=t.y-n*l+i*s):(n=(c+a-o)/(2*c),i=Math.sqrt(Math.max(0,a/c-n*n)),r.x=e.x+n*s-i*l,r.y=e.y+n*l+i*s)):(r.x=e.x+r.r,r.y=e.y)}function b(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function _(t){var e=t._,r=t.next._,n=e.r+r.r,a=(e.x*r.r+r.x*e.r)/n,i=(e.y*r.r+r.y*e.r)/n;return a*a+i*i}function w(t){this._=t,this.next=null,this.previous=null}function T(t){if(!(a=t.length))return 0;var e,r,n,a,i,o,s,l,c,u,f;if((e=t[0]).x=0,e.y=0,!(a>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(a>2))return e.r+r.r;x(r,e,n=t[2]),e=new w(e),r=new w(r),n=new w(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;sf&&(f=s),m=u*u*g,(p=Math.max(f/m,m/h))>d){u-=s;break}d=p}v.push(o={value:u,dice:l1?e:1)},r}(G);var Z=function t(e){function r(t,r,n,a,i){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,h=-1,f=o.length,p=t.value;++h1?e:1)},r}(G);t.cluster=function(){var t=e,a=1,i=1,o=!1;function s(e){var s,l=0;e.eachAfter((function(e){var a=e.children;a?(e.x=function(t){return t.reduce(r,0)/t.length}(a),e.y=function(t){return 1+t.reduce(n,0)}(a)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)}));var c=function(t){for(var e;e=t.children;)t=e[0];return t}(e),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),h=c.x-t(c,u)/2,f=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*a,t.y=(e.y-t.y)*i}:function(t){t.x=(t.x-h)/(f-h)*a,t.y=(1-(e.y?t.y/e.y:1))*i})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,a=+t[0],i=+t[1],s):o?null:[a,i]},s.nodeSize=function(t){return arguments.length?(o=!0,a=+t[0],i=+t[1],s):o?[a,i]:null},s},t.hierarchy=i,t.pack=function(){var t=null,e=1,r=1,n=M;function a(a){return a.x=e/2,a.y=r/2,t?a.eachBefore(C(t)).eachAfter(L(n,.5)).eachBefore(P(1)):a.eachBefore(C(E)).eachAfter(L(M,1)).eachAfter(L(n,a.r/Math.min(e,r))).eachBefore(P(Math.min(e,r)/(2*a.r))),a}return a.radius=function(e){return arguments.length?(t=k(e),a):t},a.size=function(t){return arguments.length?(e=+t[0],r=+t[1],a):[e,r]},a.padding=function(t){return arguments.length?(n="function"==typeof t?t:S(+t),a):n},a},t.packEnclose=h,t.packSiblings=function(t){return T(t),t},t.partition=function(){var t=1,e=1,r=0,n=!1;function a(a){var i=a.height+1;return a.x0=a.y0=r,a.x1=t,a.y1=e/i,a.eachBefore(function(t,e){return function(n){n.children&&z(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var a=n.x0,i=n.y0,o=n.x1-r,s=n.y1-r;o0)throw new Error("cycle");return i}return r.id=function(e){return arguments.length?(t=A(e),r):t},r.parentId=function(t){return arguments.length?(e=A(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function a(a){var l=function(t){for(var e,r,n,a,i,o=new q(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(i=n.length),a=i-1;a>=0;--a)s.push(r=e.children[a]=new q(n[a],a)),r.parent=e;return(o.parent=new q(null,0)).children=[o],o}(a);if(l.eachAfter(i),l.parent.m=-l.z,l.eachBefore(o),n)a.eachBefore(s);else{var c=a,u=a,h=a;a.eachBefore((function(t){t.xu.x&&(u=t),t.depth>h.depth&&(h=t)}));var f=c===u?1:t(c,u)/2,p=f-c.x,d=e/(u.x+f+p),g=r/(h.depth||1);a.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*g}))}return a}function i(e){var r=e.children,n=e.parent.children,a=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,a=t.children,i=a.length;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var i=(r[0].z+r[r.length-1].z)/2;a?(e.z=a.z+t(e._,a._),e.m=e.z-i):e.z=i}else a&&(e.z=a.z+t(e._,a._));e.parent.A=function(e,r,n){if(r){for(var a,i=e,o=e,s=r,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=j(s),i=N(i),s&&i;)l=N(l),(o=j(o)).a=e,(a=s.z+h-i.z-c+t(s._,i._))>0&&(V(U(s,e,n),e,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=h-u),i&&!N(l)&&(l.t=i,l.m+=c-f,n=e)}return n}(e,a,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return a.separation=function(e){return arguments.length?(t=e,a):t},a.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],a):n?null:[e,r]},a.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],a):n?[e,r]:null},a},t.treemap=function(){var t=W,e=!1,r=1,n=1,a=[0],i=M,o=M,s=M,l=M,c=M;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(h),a=[0],e&&t.eachBefore(I),t}function h(e){var r=a[e.depth],n=e.x0+r,u=e.y0+r,h=e.x1-r,f=e.y1-r;h=r-1){var u=s[e];return u.x0=a,u.y0=i,u.x1=o,void(u.y1=l)}var h=c[e],f=n/2+h,p=e+1,d=r-1;for(;p>>1;c[g]l-i){var y=(a*v+o*m)/n;t(e,p,m,a,i,y,l),t(p,r,v,y,i,o,l)}else{var x=(i*v+l*m)/n;t(e,p,m,a,i,o,x),t(p,r,v,a,x,o,l)}}(0,l,t.value,e,r,n,a)},t.treemapDice=z,t.treemapResquarify=Z,t.treemapSlice=H,t.treemapSliceDice=function(t,e,r,n,a){(1&t.depth?H:z)(t,e,r,n,a)},t.treemapSquarify=W,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],160:[function(t,e,r){!function(n,a){"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-color")):a((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){"use strict";function r(t,e,r,n,a){var i=t*t,o=i*t;return((1-3*t+3*i-o)*e+(4-6*i+3*o)*r+(1+3*t+3*i-3*o)*n+o*a)/6}function n(t){var e=t.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[a],o=t[a+1],s=a>0?t[a-1]:2*i-o,l=a180||r<-180?r-360*Math.round(r/360):r):i(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):i(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):i(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function a(t,r){var a=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),i=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=a(e),t.g=i(e),t.b=o(e),t.opacity=s(e),t+""}}return a.gamma=t,a}(1);function h(t){return function(r){var n,a,i=r.length,o=new Array(i),s=new Array(i),l=new Array(i);for(n=0;ni&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:y(r,n)})),i=_.lastIndex;return i180?e+=360:e-t>180&&(t+=360),i.push({i:r.push(a(r)+"rotate(",null,n)-2,x:y(t,e)})):e&&r.push(a(r)+"rotate("+e+n)}(i.rotate,o.rotate,s,l),function(t,e,r,i){t!==e?i.push({i:r.push(a(r)+"skewX(",null,n)-2,x:y(t,e)}):e&&r.push(a(r)+"skewX("+e+n)}(i.skewX,o.skewX,s,l),function(t,e,r,n,i,o){if(t!==r||e!==n){var s=i.push(a(i)+"scale(",null,",",null,")");o.push({i:s-4,x:y(t,r)},{i:s-2,x:y(e,n)})}else 1===r&&1===n||i.push(a(i)+"scale("+r+","+n+")")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,s,l),i=o=null,function(t){for(var e,r=-1,n=l.length;++r1e-6)if(Math.abs(h*l-c*u)>1e-6&&i){var p=n-o,d=a-s,g=l*l+c*c,m=p*p+d*d,v=Math.sqrt(g),y=Math.sqrt(f),x=i*Math.tan((e-Math.acos((g+f-m)/(2*v*y)))/2),b=x/y,_=x/v;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(r+b*h)),this._+="A"+i+","+i+",0,0,"+ +(h*p>u*d)+","+(this._x1=t+_*l)+","+(this._y1=r+_*c)}else this._+="L"+(this._x1=t)+","+(this._y1=r);else;},arc:function(t,a,i,o,s,l){t=+t,a=+a,l=!!l;var c=(i=+i)*Math.cos(o),u=i*Math.sin(o),h=t+c,f=a+u,p=1^l,d=l?o-s:s-o;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+h+","+f:(Math.abs(this._x1-h)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+="L"+h+","+f),i&&(d<0&&(d=d%r+r),d>n?this._+="A"+i+","+i+",0,1,"+p+","+(t-c)+","+(a-u)+"A"+i+","+i+",0,1,"+p+","+(this._x1=h)+","+(this._y1=f):d>1e-6&&(this._+="A"+i+","+i+",0,"+ +(d>=e)+","+p+","+(this._x1=t+i*Math.cos(s))+","+(this._y1=a+i*Math.sin(s))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}},t.path=i,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],162:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var a,i,o,s,l,c,u,h,f,p=t._root,d={data:n},g=t._x0,m=t._y0,v=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(i=(g+v)/2))?g=i:v=i,(u=r>=(o=(m+y)/2))?m=o:y=o,a=p,!(p=p[h=u<<1|c]))return a[h]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,a?a[h]=d:t._root=d,t;do{a=a?a[h]=new Array(4):t._root=new Array(4),(c=e>=(i=(g+v)/2))?g=i:v=i,(u=r>=(o=(m+y)/2))?m=o:y=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=i));return a[f]=p,a[h]=d,t}function r(t,e,r,n,a){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=a}function n(t){return t[0]}function a(t){return t[1]}function i(t,e,r){var i=new o(null==e?n:e,null==r?a:r,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function o(t,e,r,n,a,i){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=a,this._y1=i,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=i.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var a=0;a<4;++a)(e=n.source[a])&&(e.length?t.push({source:e,target:n.target[a]=new Array(4)}):n.target[a]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,a,i,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,h=-1/0,f=-1/0;for(n=0;nh&&(h=a),if&&(f=i));if(c>h||u>f)return this;for(this.cover(c,u).cover(h,f),n=0;nt||t>=a||n>e||e>=i;)switch(s=(ep||(o=c.y0)>d||(s=c.x1)=y)<<1|t>=v)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,m.data),b=e-+this._y.call(null,m.data),_=x*x+b*b;if(_=(s=(d+m)/2))?d=s:m=s,(u=o>=(l=(g+v)/2))?g=l:v=l,e=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(a=p.next)&&delete p.next,n?(a?n.next=a:delete n.next,this):e?(a?e[h]=a:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=a,this)},l.removeAll=function(t){for(var e=0,r=t.length;e1?0:t<-1?u:Math.acos(t)}function d(t){return t>=1?h:t<=-1?-h:Math.asin(t)}function g(t){return t.innerRadius}function m(t){return t.outerRadius}function v(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,a,i,o,s){var l=r-t,c=n-e,u=o-a,h=s-i,f=h*l-u*c;if(!(f*f<1e-12))return[t+(f=(u*(e-i)-h*(t-a))/f)*l,e+f*c]}function _(t,e,r,n,a,i,s){var l=t-r,u=e-n,h=(s?i:-i)/c(l*l+u*u),f=h*u,p=-h*l,d=t+f,g=e+p,m=r+f,v=n+p,y=(d+m)/2,x=(g+v)/2,b=m-d,_=v-g,w=b*b+_*_,T=a-i,k=d*v-m*g,A=(_<0?-1:1)*c(o(0,T*T*w-k*k)),M=(k*_-b*A)/w,S=(-k*b-_*A)/w,E=(k*_+b*A)/w,C=(-k*b+_*A)/w,L=M-y,P=S-x,I=E-y,z=C-x;return L*L+P*P>I*I+z*z&&(M=E,S=C),{cx:M,cy:S,x01:-f,y01:-p,x11:M*(a/T-1),y11:S*(a/T-1)}}function w(t){this._context=t}function T(t){return new w(t)}function k(t){return t[0]}function A(t){return t[1]}function M(){var t=k,n=A,a=r(!0),i=null,o=T,s=null;function l(r){var l,c,u,h=r.length,f=!1;for(null==i&&(s=o(u=e.path())),l=0;l<=h;++l)!(l=h;--f)c.point(v[f],y[f]);c.lineEnd(),c.areaEnd()}m&&(v[u]=+t(p,u,r),y[u]=+a(p,u,r),c.point(n?+n(p,u,r):v[u],i?+i(p,u,r):y[u]))}if(d)return c=null,d+""||null}function h(){return M().defined(o).curve(l).context(s)}return u.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),n=null,u):t},u.x0=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),u):t},u.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:r(+t),u):n},u.y=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),i=null,u):a},u.y0=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),u):a},u.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:r(+t),u):i},u.lineX0=u.lineY0=function(){return h().x(t).y(a)},u.lineY1=function(){return h().x(t).y(i)},u.lineX1=function(){return h().x(n).y(a)},u.defined=function(t){return arguments.length?(o="function"==typeof t?t:r(!!t),u):o},u.curve=function(t){return arguments.length?(l=t,null!=s&&(c=l(s)),u):l},u.context=function(t){return arguments.length?(null==t?s=c=null:c=l(s=t),u):s},u}function E(t,e){return et?1:e>=t?0:NaN}function C(t){return t}w.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var L=I(T);function P(t){this._curve=t}function I(t){function e(e){return new P(t(e))}return e._curve=t,e}function z(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(I(t)):e()._curve},t}function O(){return z(M().curve(L))}function D(){var t=S().curve(L),e=t.curve,r=t.lineX0,n=t.lineX1,a=t.lineY0,i=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return z(r())},delete t.lineX0,t.lineEndAngle=function(){return z(n())},delete t.lineX1,t.lineInnerRadius=function(){return z(a())},delete t.lineY0,t.lineOuterRadius=function(){return z(i())},delete t.lineY1,t.curve=function(t){return arguments.length?e(I(t)):e()._curve},t}function R(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}P.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var F=Array.prototype.slice;function B(t){return t.source}function N(t){return t.target}function j(t){var n=B,a=N,i=k,o=A,s=null;function l(){var r,l=F.call(arguments),c=n.apply(this,l),u=a.apply(this,l);if(s||(s=r=e.path()),t(s,+i.apply(this,(l[0]=c,l)),+o.apply(this,l),+i.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+""||null}return l.source=function(t){return arguments.length?(n=t,l):n},l.target=function(t){return arguments.length?(a=t,l):a},l.x=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),l):i},l.y=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),l):o},l.context=function(t){return arguments.length?(s=null==t?null:t,l):s},l}function V(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,a,n,a)}function U(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+a)/2,n,r,n,a)}function q(t,e,r,n,a){var i=R(e,r),o=R(e,r=(r+a)/2),s=R(n,r),l=R(n,a);t.moveTo(i[0],i[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var H={draw:function(t,e){var r=Math.sqrt(e/u);t.moveTo(r,0),t.arc(0,0,r,0,f)}},G={draw:function(t,e){var r=Math.sqrt(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},Y=Math.sqrt(1/3),W=2*Y,Z={draw:function(t,e){var r=Math.sqrt(e/W),n=r*Y;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},X=Math.sin(u/10)/Math.sin(7*u/10),J=Math.sin(f/10)*X,K=-Math.cos(f/10)*X,Q={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=J*r,a=K*r;t.moveTo(0,-r),t.lineTo(n,a);for(var i=1;i<5;++i){var o=f*i/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*a,l*n+s*a)}t.closePath()}},$={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},tt=Math.sqrt(3),et={draw:function(t,e){var r=-Math.sqrt(e/(3*tt));t.moveTo(0,2*r),t.lineTo(-tt*r,-r),t.lineTo(tt*r,-r),t.closePath()}},rt=-.5,nt=Math.sqrt(3)/2,at=1/Math.sqrt(12),it=3*(at/2+1),ot={draw:function(t,e){var r=Math.sqrt(e/it),n=r/2,a=r*at,i=n,o=r*at+r,s=-i,l=o;t.moveTo(n,a),t.lineTo(i,o),t.lineTo(s,l),t.lineTo(rt*n-nt*a,nt*n+rt*a),t.lineTo(rt*i-nt*o,nt*i+rt*o),t.lineTo(rt*s-nt*l,nt*s+rt*l),t.lineTo(rt*n+nt*a,rt*a-nt*n),t.lineTo(rt*i+nt*o,rt*o-nt*i),t.lineTo(rt*s+nt*l,rt*l-nt*s),t.closePath()}},st=[H,G,Z,$,Q,et,ot];function lt(){}function ct(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function ut(t){this._context=t}function ht(t){this._context=t}function ft(t){this._context=t}function pt(t,e){this._basis=new ut(t),this._beta=e}ut.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ct(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},pt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,a=t[0],i=e[0],o=t[r]-a,s=e[r]-i,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(a+n*o),this._beta*e[l]+(1-this._beta)*(i+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var dt=function t(e){function r(t){return 1===e?new ut(t):new pt(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function gt(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function mt(t,e){this._context=t,this._k=(1-e)/6}mt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:gt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var vt=function t(e){function r(t){return new mt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function yt(t,e){this._context=t,this._k=(1-e)/6}yt.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var xt=function t(e){function r(t){return new yt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function bt(t,e){this._context=t,this._k=(1-e)/6}bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var _t=function t(e){function r(t){return new bt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function wt(t,e,r){var n=t._x1,a=t._y1,i=t._x2,o=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,a=(a*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>1e-12){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*c+t._x1*t._l23_2a-e*t._l12_2a)/u,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/u}t._context.bezierCurveTo(n,a,i,o,t._x2,t._y2)}function Tt(t,e){this._context=t,this._alpha=e}Tt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kt=function t(e){function r(t){return e?new Tt(t,e):new mt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function At(t,e){this._context=t,this._alpha=e}At.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Mt=function t(e){function r(t){return e?new At(t,e):new yt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function St(t,e){this._context=t,this._alpha=e}St.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Et=function t(e){function r(t){return e?new St(t,e):new bt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Ct(t){this._context=t}function Lt(t){return t<0?-1:1}function Pt(t,e,r){var n=t._x1-t._x0,a=e-t._x1,i=(t._y1-t._y0)/(n||a<0&&-0),o=(r-t._y1)/(a||n<0&&-0),s=(i*a+o*n)/(n+a);return(Lt(i)+Lt(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(s))||0}function It(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function zt(t,e,r){var n=t._x0,a=t._y0,i=t._x1,o=t._y1,s=(i-n)/3;t._context.bezierCurveTo(n+s,a+s*e,i-s,o-s*r,i,o)}function Ot(t){this._context=t}function Dt(t){this._context=new Rt(t)}function Rt(t){this._context=t}function Ft(t){this._context=t}function Bt(t){var e,r,n=t.length-1,a=new Array(n),i=new Array(n),o=new Array(n);for(a[0]=0,i[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)a[e]=(o[e]-a[e+1])/i[e];for(i[n-1]=(t[n]+a[n-1])/2,e=0;e1)for(var r,n,a,i=1,o=t[e[0]],s=o.length;i=0;)r[e]=e;return r}function Ut(t,e){return t[e]}function qt(t){var e=t.map(Ht);return Vt(t).sort((function(t,r){return e[t]-e[r]}))}function Ht(t){for(var e,r=-1,n=0,a=t.length,i=-1/0;++ri&&(i=e,n=r);return n}function Gt(t){var e=t.map(Yt);return Vt(t).sort((function(t,r){return e[t]-e[r]}))}function Yt(t){for(var e,r=0,n=-1,a=t.length;++n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},t.arc=function(){var t=g,o=m,w=r(0),T=null,k=v,A=y,M=x,S=null;function E(){var r,g,m=+t.apply(this,arguments),v=+o.apply(this,arguments),y=k.apply(this,arguments)-h,x=A.apply(this,arguments)-h,E=n(x-y),C=x>y;if(S||(S=r=e.path()),v1e-12)if(E>f-1e-12)S.moveTo(v*i(y),v*l(y)),S.arc(0,0,v,y,x,!C),m>1e-12&&(S.moveTo(m*i(x),m*l(x)),S.arc(0,0,m,x,y,C));else{var L,P,I=y,z=x,O=y,D=x,R=E,F=E,B=M.apply(this,arguments)/2,N=B>1e-12&&(T?+T.apply(this,arguments):c(m*m+v*v)),j=s(n(v-m)/2,+w.apply(this,arguments)),V=j,U=j;if(N>1e-12){var q=d(N/m*l(B)),H=d(N/v*l(B));(R-=2*q)>1e-12?(O+=q*=C?1:-1,D-=q):(R=0,O=D=(y+x)/2),(F-=2*H)>1e-12?(I+=H*=C?1:-1,z-=H):(F=0,I=z=(y+x)/2)}var G=v*i(I),Y=v*l(I),W=m*i(D),Z=m*l(D);if(j>1e-12){var X,J=v*i(z),K=v*l(z),Q=m*i(O),$=m*l(O);if(E1e-12?U>1e-12?(L=_(Q,$,G,Y,v,U,C),P=_(J,K,W,Z,v,U,C),S.moveTo(L.cx+L.x01,L.cy+L.y01),U1e-12&&R>1e-12?V>1e-12?(L=_(W,Z,J,K,m,-V,C),P=_(G,Y,Q,$,m,-V,C),S.lineTo(L.cx+L.x01,L.cy+L.y01),V0&&(d+=h);for(null!=e?g.sort((function(t,r){return e(m[t],m[r])})):null!=n&&g.sort((function(t,e){return n(r[t],r[e])})),s=0,c=d?(y-p*b)/d:0;s0?h*c:0)+b,m[l]={data:r[l],index:s,value:h,startAngle:v,endAngle:u,padAngle:x};return m}return s.value=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),s):a},s.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),s):i},s.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),s):o},s},t.pointRadial=R,t.radialArea=D,t.radialLine=O,t.stack=function(){var t=r([]),e=Vt,n=jt,a=Ut;function i(r){var i,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(i=0;i0)for(var r,n,a,i,o,s,l=0,c=t[e[0]].length;l0?(n[0]=i,n[1]=i+=a):a<0?(n[1]=o,n[0]=o+=a):(n[0]=0,n[1]=a)},t.stackOffsetExpand=function(t,e){if((n=t.length)>0){for(var r,n,a,i=0,o=t[0].length;i0){for(var r,n=0,a=t[e[0]],i=a.length;n0&&(n=(r=t[e[0]]).length)>0){for(var r,n,a,i=0,o=1;o=0&&r._call.call(null,t),r=r._next;--n}function m(){s=(o=c.now())+l,n=a=0;try{g()}finally{n=0,function(){var t,n,a=e,i=1/0;for(;a;)a._call?(i>a._time&&(i=a._time),t=a,a=a._next):(n=a._next,a._next=null,a=t?t._next=n:e=n);r=t,y(i)}(),s=0}}function v(){var t=c.now(),e=t-o;e>1e3&&(l-=e,o=t)}function y(t){n||(a&&(a=clearTimeout(a)),t-s>24?(t<1/0&&(a=setTimeout(m,t-c.now()-l)),i&&(i=clearInterval(i))):(i||(o=c.now(),i=setInterval(v,1e3)),n=1,u(m)))}p.prototype=d.prototype={constructor:p,restart:function(t,n,a){if("function"!=typeof t)throw new TypeError("callback is not a function");a=(null==a?h():+a)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=a,y()},stop:function(){this._call&&(this._call=null,this._time=1/0,y())}},t.interval=function(t,e,r){var n=new p,a=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?h():+r,n.restart((function i(o){o+=a,n.restart(i,a+=e,r),t(o)}),e,r),n)},t.now=h,t.timeout=function(t,e,r){var n=new p;return e=null==e?0:+e,n.restart((function(r){n.stop(),t(r+e)}),e,r),n},t.timer=d,t.timerFlush=g,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],165:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},a=this.document;function i(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(a)try{n(a.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,h=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+"")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+"")},u.setProperty=function(t,e,r){h.call(this,t,e+"",r)}}function f(t,e){return te?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}t.ascending=f,t.descending=function(t,e){return et?1:e>=t?0:NaN},t.min=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a=n){r=n;break}for(;++an&&(r=n)}else{for(;++a=n){r=n;break}for(;++an&&(r=n)}return r},t.max=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a=n){r=n;break}for(;++ar&&(r=n)}else{for(;++a=n){r=n;break}for(;++ar&&(r=n)}return r},t.extent=function(t,e){var r,n,a,i=-1,o=t.length;if(1===arguments.length){for(;++i=n){r=a=n;break}for(;++in&&(r=n),a=n){r=a=n;break}for(;++in&&(r=n),a1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var m=g(f);function v(t){return t.length}t.bisectLeft=m.left,t.bisect=t.bisectRight=m.right,t.bisector=function(t){return g(1===t.length?function(e,r){return f(t(e),r)}:t)},t.shuffle=function(t,e,r){(i=arguments.length)<3&&(r=t.length,i<2&&(e=0));for(var n,a,i=r-e;i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],a=new Array(r<0?0:r);e=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t){for(var e=1;t*e%1;)e*=10;return e}function b(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function _(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,a=[],i=x(y(r)),o=-1;if(t*=i,e*=i,(r*=i)<0)for(;(n=t+r*++o)>e;)a.push(n/i);else for(;(n=t+r*++o)=a.length)return r?r.call(n,i):e?i.sort(e):i;for(var l,c,u,h,f=-1,p=i.length,d=a[s++],g=new _;++f=a.length)return e;var n=[],o=i[r++];return e.forEach((function(e,a){n.push({key:e,values:t(a,r)})})),o?n.sort((function(t,e){return o(t.key,e.key)})):n}(o(t.map,e,0),0)},n.key=function(t){return a.push(t),n},n.sortKeys=function(t){return i[a.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new C;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(j,"\\$&")};var j=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,V={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function U(t){return V(t,Y),t}var q=function(t,e){return e.querySelector(t)},H=function(t,e){return e.querySelectorAll(t)},G=function(t,e){var r=t.matches||t[I(t,"matchesSelector")];return(G=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(q=function(t,e){return Sizzle(t,e)[0]||null},H=Sizzle,G=Sizzle.matchesSelector),t.selection=function(){return t.select(a.documentElement)};var Y=t.selection.prototype=[];function W(t){return"function"==typeof t?t:function(){return q(t,this)}}function Z(t){return"function"==typeof t?t:function(){return H(t,this)}}Y.select=function(t){var e,r,n,a,i=[];t=W(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(K(r,e[r]));return this}return this.each(K(e,r))},Y.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=tt(t)).length,a=-1;if(e=r.classList){for(;++a=0;)(r=n[a])&&(i&&i!==r.nextSibling&&i.parentNode.insertBefore(r,i),i=r);return this},Y.sort=function(t){t=ct.apply(this,arguments);for(var e=-1,r=this.length;++e=e&&(e=a+1);!(o=s[e])&&++e0&&(e=e.slice(0,o));var l=gt.get(e);function c(){var t=this[i];t&&(this.removeEventListener(e,t,t.$),delete this[i])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[i]=t,t.$=a),t._=r}:c:r?O:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var a in this)if(r=a.match(n)){var i=this[a];this.removeEventListener(r[1],i,i.$),delete this[a]}}}t.selection.enter=ht,t.selection.enter.prototype=ft,ft.append=Y.append,ft.empty=Y.empty,ft.node=Y.node,ft.call=Y.call,ft.size=Y.size,ft.select=function(t){for(var e,r,n,a,i,o=[],s=-1,l=this.length;++s0?1:t<0?-1:0}function zt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Ot(t){return t>1?0:t<-1?Mt:Math.acos(t)}function Dt(t){return t>1?Ct:t<-1?-Ct:Math.asin(t)}function Rt(t){return((t=Math.exp(t))+1/t)/2}function Ft(t){return(t=Math.sin(t/2))*t}var Bt=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map((function(t){return(t-f.x)/f.k})).map(l.invert)),h&&h.domain(u.range().map((function(t){return(t-f.y)/f.k})).map(u.invert))}function E(t){m++||t({type:"zoomstart"})}function C(t){S(),t({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function L(t){--m||(t({type:"zoomend"}),r=null)}function P(){var e=this,r=_.of(e,arguments),n=0,a=t.select(o(e)).on(y,l).on(x,c),i=T(t.mouse(e)),s=bt(e);function l(){n=1,A(t.mouse(e),i),C(r)}function c(){a.on(y,null).on(x,null),s(n),L(r)}vs.call(e),E(r)}function I(){var e,r=this,n=_.of(r,arguments),a={},i=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],h=t.select(r),p=bt(r);function d(){var n=t.touches(r);return e=f.k,n.forEach((function(t){t.identifier in a&&(a[t.identifier]=T(t))})),n}function g(){var e=t.event.target;t.select(e).on(l,m).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,h=n.length;o1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];i=b*b+_*_}}function m(){var o,l,c,u,h=t.touches(r);vs.call(r);for(var f=0,p=h.length;f360?t-=360:t<0&&(t+=360),t<60?n+(a-n)*t/60:t<180?a:t<240?n+(a-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(a=r<=.5?r*(1+e):r+e-r*e),new ne(i(t+120),i(t),i(t-120))}function Yt(e,r,n){return this instanceof Yt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Yt?new Yt(e.h,e.c,e.l):$t(e instanceof Xt?e.l:(e=ue((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Yt(e,r,n)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},t.hcl=Yt;var Wt=Yt.prototype=new Ut;function Zt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Yt?Zt(t.h,t.c,t.l):ue((t=ne(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Yt(this.h,this.c,Math.min(100,this.l+Jt*(arguments.length?t:1)))},Wt.darker=function(t){return new Yt(this.h,this.c,Math.max(0,this.l-Jt*(arguments.length?t:1)))},Wt.rgb=function(){return Zt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Jt=18,Kt=Xt.prototype=new Ut;function Qt(t,e,r){var n=(t+16)/116,a=n+e/500,i=n-r/200;return new ne(re(3.2404542*(a=.95047*te(a))-1.5371385*(n=1*te(n))-.4985314*(i=1.08883*te(i))),re(-.969266*a+1.8760108*n+.041556*i),re(.0556434*a-.2040259*n+1.0572252*i))}function $t(t,e,r){return t>0?new Yt(Math.atan2(r,e)*Pt,Math.sqrt(e*e+r*r),t):new Yt(NaN,NaN,t)}function te(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ee(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function re(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ne(t,e,r){return this instanceof ne?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ne?new ne(t.r,t.g,t.b):le(""+t,ne,Gt):new ne(t,e,r)}function ae(t){return new ne(t>>16,t>>8&255,255&t)}function ie(t){return ae(t)+""}Kt.brighter=function(t){return new Xt(Math.min(100,this.l+Jt*(arguments.length?t:1)),this.a,this.b)},Kt.darker=function(t){return new Xt(Math.max(0,this.l-Jt*(arguments.length?t:1)),this.a,this.b)},Kt.rgb=function(){return Qt(this.l,this.a,this.b)},t.rgb=ne;var oe=ne.prototype=new Ut;function se(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function le(t,e,r){var n,a,i,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(a=n[2].split(","),n[1]){case"hsl":return r(parseFloat(a[0]),parseFloat(a[1])/100,parseFloat(a[2])/100);case"rgb":return e(fe(a[0]),fe(a[1]),fe(a[2]))}return(i=pe.get(t))?e(i.r,i.g,i.b):(null==t||"#"!==t.charAt(0)||isNaN(i=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&i)>>4,o|=o>>4,s=240&i,s|=s>>4,l=15&i,l|=l<<4):7===t.length&&(o=(16711680&i)>>16,s=(65280&i)>>8,l=255&i)),e(o,s,l))}function ce(t,e,r){var n,a,i=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-i,l=(o+i)/2;return s?(a=l<.5?s/(o+i):s/(2-o-i),n=t==o?(e-r)/s+(e0&&l<1?0:n),new qt(n,a,l)}function ue(t,e,r){var n=ee((.4124564*(t=he(t))+.3575761*(e=he(e))+.1804375*(r=he(r)))/.95047),a=ee((.2126729*t+.7151522*e+.072175*r)/1);return Xt(116*a-16,500*(n-a),200*(a-ee((.0193339*t+.119192*e+.9503041*r)/1.08883)))}function he(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function fe(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}oe.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,a=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=a.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return this.XDomainRequest&&!("withCredentials"in c)&&/^(http(s)?:)?\/\//.test(e)&&(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return a=t,o},["get","post"].forEach((function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}})),o.send=function(t,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),c.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),c.setRequestHeader)for(var i in l)c.setRequestHeader(i,l[i]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=a&&o.on("error",a).on("load",(function(t){a(null,t)})),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,"on"),null==i?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(i))}pe.forEach((function(t,e){pe.set(t,ae(e))})),t.functor=de,t.xhr=ge(L),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function a(t,r,n){arguments.length<3&&(n=r,r=null);var a=me(t,e,null==r?i:o(r),n);return a.row=function(t){return arguments.length?a.response(null==(r=t)?i:o(t)):r},a}function i(t){return a.parse(t.responseText)}function o(t){return function(e){return a.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return a.parse=function(t,e){var r;return a.parseRows(t,(function(t,n){if(r)return r(t,n-1);var a=new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+"]"})).join(",")+"}");r=e?function(t,r){return e(a(t),r)}:a}))},a.parseRows=function(t,e){var r,a,i={},o={},s=[],l=t.length,c=0,u=0;function h(){if(c>=l)return o;if(a)return a=!1,i;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(be),be=setTimeout(Te,e)),xe=0):(xe=1,_e(Te))}function ke(){for(var t=Date.now(),e=ve;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Ae(){for(var t,e=ve,r=1/0;e;)e.c?(e.t8?function(t){return t/r}:function(t){return t*r},symbol:t}}));function Ee(e){var r=e.decimal,n=e.thousands,a=e.grouping,i=e.currency,o=a&&n?function(t,e){for(var r=t.length,i=[],o=0,s=a[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),i.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=a[o=(o+1)%a.length];return i.reverse().join(n)}:L;return function(e){var n=Ce.exec(e),a=n[1]||" ",s=n[2]||">",l=n[3]||"-",c=n[4]||"",u=n[5],h=+n[6],f=n[7],p=n[8],d=n[9],g=1,m="",v="",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||"0"===a&&"="===s)&&(u=a="0",s="="),d){case"n":f=!0,d="g";break;case"%":g=100,v="%",d="f";break;case"p":g=100,v="%",d="r";break;case"b":case"o":case"x":case"X":"#"===c&&(m="0"+d.toLowerCase());case"c":x=!1;case"d":y=!0,p=0;break;case"s":g=-1,d="r"}"$"===c&&(m=i[0],v=i[1]),"r"!=d||p||(d="g"),null!=p&&("g"==d?p=Math.max(1,Math.min(21,p)):"e"!=d&&"f"!=d||(p=Math.max(0,Math.min(20,p)))),d=Le.get(d)||Pe;var b=u&&f;return function(e){var n=v;if(y&&e%1)return"";var i=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+v}else e*=g;var _,w,T=(e=d(e,p)).lastIndexOf(".");if(T<0){var k=x?e.lastIndexOf("e"):-1;k<0?(_=e,w=""):(_=e.substring(0,k),w=e.substring(k))}else _=e.substring(0,T),w=r+e.substring(T+1);!u&&f&&(_=o(_,1/0));var A=m.length+_.length+w.length+(b?0:i.length),M=A"===s?M+i+e:"^"===s?M.substring(0,A>>=1)+i+e+M.substring(A):i+(b?e:M+e))+n}}}t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Me(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Se[8+n/3]};var Ce=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Le=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Me(e,r))).toFixed(Math.max(0,Math.min(20,Me(e*(1+1e-15),r))))}});function Pe(t){return t+""}var Ie=t.time={},ze=Date;function Oe(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Oe.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){De.setUTCDate.apply(this._,arguments)},setDay:function(){De.setUTCDay.apply(this._,arguments)},setFullYear:function(){De.setUTCFullYear.apply(this._,arguments)},setHours:function(){De.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){De.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){De.setUTCMinutes.apply(this._,arguments)},setMonth:function(){De.setUTCMonth.apply(this._,arguments)},setSeconds:function(){De.setUTCSeconds.apply(this._,arguments)},setTime:function(){De.setTime.apply(this._,arguments)}};var De=Date.prototype;function Re(t,e,r){function n(e){var r=t(e),n=i(r,1);return e-r1)for(;o=c)return-1;if(37===(a=e.charCodeAt(s++))){if(o=e.charAt(s++),!(i=w[o in Ne?e.charAt(s++):o])||(n=i(t,r,n))<0)return-1}else if(a!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(ze=Oe);return r._=t,e(r)}finally{ze=Date}}return r.parse=function(t){try{ze=Oe;var r=e.parse(t);return r&&r._}finally{ze=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var f=t.map(),p=qe(o),d=He(o),g=qe(s),m=He(s),v=qe(l),y=He(l),x=qe(c),b=He(c);i.forEach((function(t,e){f.set(t.toLowerCase(),e)}));var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+Ie.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return i[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(Ie.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(Ie.mondayOfYear(t),e,2)},x:u(n),X:u(a),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ar,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){v.lastIndex=0;var n=v.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return h(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:Ye,w:Ge,W:We,x:function(t,e,r){return h(t,_.x.toString(),e,r)},X:function(t,e,r){return h(t,_.X.toString(),e,r)},y:Xe,Y:Ze,Z:Je,"%":ir};return u}Ie.year=Re((function(t){return(t=Ie.day(t)).setMonth(0,1),t}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t){return t.getFullYear()})),Ie.years=Ie.year.range,Ie.years.utc=Ie.year.utc.range,Ie.day=Re((function(t){var e=new ze(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t){return t.getDate()-1})),Ie.days=Ie.day.range,Ie.days.utc=Ie.day.utc.range,Ie.dayOfYear=function(t){var e=Ie.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach((function(t,e){e=7-e;var r=Ie[t]=Re((function(t){return(t=Ie.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t}),(function(t,e){t.setDate(t.getDate()+7*Math.floor(e))}),(function(t){var r=Ie.year(t).getDay();return Math.floor((Ie.dayOfYear(t)+(r+e)%7)/7)-(r!==e)}));Ie[t+"s"]=r.range,Ie[t+"s"].utc=r.utc.range,Ie[t+"OfYear"]=function(t){var r=Ie.year(t).getDay();return Math.floor((Ie.dayOfYear(t)+(r+e)%7)/7)}})),Ie.week=Ie.sunday,Ie.weeks=Ie.sunday.range,Ie.weeks.utc=Ie.sunday.utc.range,Ie.weekOfYear=Ie.sundayOfYear;var Ne={"-":"",_:" ",0:"0"},je=/^\s*\d+/,Ve=/^%/;function Ue(t,e,r){var n=t<0?"-":"",a=(n?-t:t)+"",i=a.length;return n+(i68?1900:2e3),r+a[0].length):-1}function Je(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ar(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,a=y(e)%60;return r+Ue(n,"0",2)+Ue(a,"0",2)}function ir(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r=0?1:-1,s=o*i,l=Math.cos(e),c=Math.sin(e),u=a*c,h=n*l+u*Math.cos(s),f=u*o*Math.sin(s);Er.add(Math.atan2(f,h)),r=t,n=l,a=c}Cr.point=function(o,s){Cr.point=i,r=(t=o)*Lt,n=Math.cos(s=(e=s)*Lt/2+Mt/4),a=Math.sin(s)},Cr.lineEnd=function(){i(t,e)}}function Pr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Ir(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function zr(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Or(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Dr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Fr(t){return[Math.atan2(t[1],t[0]),Dt(t[2])]}function Br(t,e){return y(t[0]-e[0])kt?a=90:c<-kt&&(r=-90),h[0]=e,h[1]=n}};function p(t,i){u.push(h=[e=t,n=t]),ia&&(a=i)}function d(t,o){var s=Pr([t*Lt,o*Lt]);if(l){var c=zr(l,s),u=zr([c[1],-c[0],0],c);Rr(u),u=Fr(u);var h=t-i,f=h>0?1:-1,d=u[0]*Pt*f,g=y(h)>180;if(g^(f*ia&&(a=m);else if(g^(f*i<(d=(d+360)%360-180)&&da&&(a=o);g?t_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(tn&&(n=t)):t>i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,i=t}function g(){f.point=d}function m(){h[0]=e,h[1]=n,f.point=p,l=null}function v(t,e){if(l){var r=t-i;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Cr.point(t,e),d(t,e)}function x(){Cr.lineStart()}function b(){v(o,s),Cr.lineEnd(),y(c)>kt&&(e=-(n=180)),h[0]=e,h[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function T(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=h=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,a]]}}(),t.geo.centroid=function(e){vr=yr=xr=br=_r=wr=Tr=kr=Ar=Mr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Mr,a=Sr,i=r*r+n*n+a*a;return i=0;--s)a.point((h=u[s])[0],h[1]);else n(p.x,p.p.x,-1,a);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);a.lineEnd()}}}function Zr(t){if(e=t.length){for(var e,r,n=0,a=t[0];++n=0?1:-1,T=w*_,k=T>Mt,A=d*x;if(Er.add(Math.atan2(A*w*Math.sin(T),g*b+A*Math.cos(T))),i+=k?_+w*St:_,k^f>=r^v>=r){var M=zr(Pr(h),Pr(t));Rr(M);var S=zr(a,M);Rr(S);var E=(k^_>=0?-1:1)*Dt(S[2]);(n>E||n===E&&(M[0]||M[1]))&&(o+=k^_>=0?1:-1)}if(!m++)break;f=v,d=x,g=b,h=t}}return(i<-kt||i0){for(x||(o.polygonStart(),x=!0),o.lineStart();++i1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return u}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:O,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Ct-kt:Ct-t[1])-((e=e.x)[0]<0?e[1]-Ct-kt:Ct-e[1])}var tn=Jr(Yr,(function(t){var e,r=NaN,n=NaN,a=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(i,o){var s=i>0?Mt:-Mt,l=y(i-r);y(l-Mt)0?Ct:-Ct),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(i,n),e=0):a!==s&&l>=Mt&&(y(r-a)kt?Math.atan((Math.sin(e)*(i=Math.cos(n))*Math.sin(r)-Math.sin(n)*(a=Math.cos(e))*Math.sin(t))/(a*i*o)):(e+n)/2}(r,n,i,o),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=i,n=o),a=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*Ct,n.point(-Mt,a),n.point(0,a),n.point(Mt,a),n.point(Mt,0),n.point(Mt,-a),n.point(0,-a),n.point(-Mt,-a),n.point(-Mt,0),n.point(-Mt,a);else if(y(t[0]-e[0])>kt){var i=t[0]0,n=y(e)>kt;return Jr(a,(function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(h,f){var p,d=[h,f],g=a(h,f),m=r?g?0:o(h,f):g?o(h+(h<0?Mt:-Mt),f):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=i(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=kt,d[1]+=kt,g=a(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=i(d,e),t.point(p[0],p[1])):(p=i(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var v;m&s||!(v=i(d,e,!0))||(u=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=m},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}}),Bn(t,6*Lt),r?[0,-t]:[-Mt,t-Mt]);function a(t,r){return Math.cos(t)*Math.cos(r)>e}function i(t,r,n){var a=[1,0,0],i=zr(Pr(t),Pr(r)),o=Ir(i,i),s=i[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,h=zr(a,i),f=Dr(a,c);Or(f,Dr(i,u));var p=h,d=Ir(f,p),g=Ir(p,p),m=d*d-g*(Ir(f,f)-1);if(!(m<0)){var v=Math.sqrt(m),x=Dr(p,(-d-v)/g);if(Or(x,f),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],T=t[1],k=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,M=y(A-Mt)0^x[1]<(y(x[0]-_)Mt^(_<=x[0]&&x[0]<=w)){var S=Dr(p,(-d+v)/g);return Or(S,f),[x,Fr(S)]}}}function o(e,n){var a=r?t:Mt-t,i=0;return e<-a?i|=1:e>a&&(i|=2),n<-a?i|=4:n>a&&(i|=8),i}}function rn(t,e,r,n){return function(a){var i,o=a.a,s=a.b,l=o.x,c=o.y,u=0,h=1,f=s.x-l,p=s.y-c;if(i=t-l,f||!(i>0)){if(i/=f,f<0){if(i0){if(i>h)return;i>u&&(u=i)}if(i=r-l,f||!(i<0)){if(i/=f,f<0){if(i>h)return;i>u&&(u=i)}else if(f>0){if(i0)){if(i/=p,p<0){if(i0){if(i>h)return;i>u&&(u=i)}if(i=n-c,p||!(i<0)){if(i/=p,p<0){if(i>h)return;i>u&&(u=i)}else if(p>0){if(i0&&(a.a={x:l+u*f,y:c+u*p}),h<1&&(a.b={x:l+h*f,y:c+h*p}),a}}}}}}function nn(e,r,n,a){return function(l){var c,u,h,f,p,d,g,m,v,y,x,b=l,_=Qr(),w=rn(e,r,n,a),T={point:M,lineStart:function(){T.point=S,u&&u.push(h=[]);y=!0,v=!1,g=m=NaN},lineEnd:function(){c&&(S(f,p),d&&v&&_.rejoin(),c.push(_.buffer()));T.point=M,v&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],a=0;an&&zt(c,i,t)>0&&++e:i[1]<=n&&zt(c,i,t)<0&&--e,c=i;return 0!==e}([e,a]),n=x&&r,i=c.length;(n||i)&&(l.polygonStart(),n&&(l.lineStart(),k(null,null,1,l),l.lineEnd()),i&&Wr(c,o,r,k,l),l.polygonEnd()),c=u=h=null}};function k(t,o,l,c){var u=0,h=0;if(null==t||(u=i(t,l))!==(h=i(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?a:r)}while((u=(u+l+4)%4)!==h);else c.point(o[0],o[1])}function A(t,i){return e<=t&&t<=n&&r<=i&&i<=a}function M(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-1e9,Math.min(1e9,t)),e=Math.max(-1e9,Math.min(1e9,e)));if(u&&h.push([t,e]),y)f=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&v)l.point(t,e);else{var n={a:{x:g,y:m},b:{x:t,y:e}};w(n)?(v||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,m=e,v=r}return T};function i(t,a){return y(t[0]-e)0?0:3:y(t[0]-n)0?2:1:y(t[1]-r)0?1:0:a>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=i(t,1),n=i(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=Mt/3,n=Ln(t),a=n(e,r);return a.parallels=function(t){return arguments.length?n(e=t[0]*Mt/180,r=t[1]*Mt/180):[e/Mt*180,r/Mt*180]},a}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,a=1+r*(2*n-r),i=Math.sqrt(a)/n;function o(t,e){var r=Math.sqrt(a-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),i-r*Math.cos(t)]}return o.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,Dt((a-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,a,i,o={stream:function(t){return a&&(a.valid=!1),(a=i(t)).valid=!0,a},extent:function(s){return arguments.length?(i=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),a&&(a.valid=!1,a=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,a,i=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var i=t[0],o=t[1];return e=null,r(i,o),e||(n(i,o),e)||a(i,o),e}return c.invert=function(t){var e=i.scale(),r=i.translate(),n=(t[0]-r[0])/e,a=(t[1]-r[1])/e;return(a>=.12&&a<.234&&n>=-.425&&n<-.214?o:a>=.166&&a<.234&&n>=-.214&&n<-.115?s:i).invert(t)},c.stream=function(t){var e=i.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,a){e.point(t,a),r.point(t,a),n.point(t,a)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),s.precision(t),c):i.precision()},c.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),s.scale(t),c.translate(i.translate())):i.scale()},c.translate=function(t){if(!arguments.length)return i.translate();var e=i.scale(),u=+t[0],h=+t[1];return r=i.translate(t).clipExtent([[u-.455*e,h-.238*e],[u+.455*e,h+.238*e]]).stream(l).point,n=o.translate([u-.307*e,h+.201*e]).clipExtent([[u-.425*e+kt,h+.12*e+kt],[u-.214*e-kt,h+.234*e-kt]]).stream(l).point,a=s.translate([u-.205*e,h+.212*e]).clipExtent([[u-.214*e+kt,h+.166*e+kt],[u-.115*e-kt,h+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,hn,fn,pn={point:O,lineStart:O,lineEnd:O,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=O,sn+=y(ln/2)}};function dn(){var t,e,r,n;function a(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(i,o){pn.point=a,t=r=i,e=n=o},pn.lineEnd=function(){a(t,e)}}var gn={point:function(t,e){thn&&(hn=t);efn&&(fn=e)},lineStart:O,lineEnd:O,polygonStart:O,polygonEnd:O};function mn(){var t=vn(4.5),e=[],r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=vn(e),r},result:function(){if(e.length){var t=e.join("");return e=[],t}}};function n(r,n){e.push("M",r,",",n,t)}function a(t,n){e.push("M",t,",",n),r.point=i}function i(t,r){e.push("L",t,",",r)}function o(){r.point=n}function s(){e.push("Z")}return r}function vn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var yn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=Tn},polygonEnd:function(){xn.point=bn,xn.lineStart=_n,xn.lineEnd=wn}};function bn(t,e){xr+=t,br+=e,++_r}function _n(){var t,e;function r(r,n){var a=r-t,i=n-e,o=Math.sqrt(a*a+i*i);wr+=o*(t+r)/2,Tr+=o*(e+n)/2,kr+=o,bn(t=r,e=n)}xn.point=function(n,a){xn.point=r,bn(t=n,e=a)}}function wn(){xn.point=bn}function Tn(){var t,e,r,n;function a(t,e){var a=t-r,i=e-n,o=Math.sqrt(a*a+i*i);wr+=o*(r+t)/2,Tr+=o*(n+e)/2,kr+=o,Ar+=(o=n*t-r*e)*(r+t),Mr+=o*(n+e),Sr+=3*o,bn(r=t,n=e)}xn.point=function(i,o){xn.point=a,bn(t=r=i,e=n=o)},xn.lineEnd=function(){a(t,e)}}function kn(t){var e=4.5,r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:O};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,St)}function a(e,n){t.moveTo(e,n),r.point=i}function i(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function An(t){var e=.5,r=Math.cos(30*Lt),n=16;function a(t){return(n?o:i)(t)}function i(e){return En(e,(function(r,n){r=t(r,n),e.point(r[0],r[1])}))}function o(e){var r,a,i,o,l,c,u,h,f,p,d,g,m={point:v,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),m.lineStart=_},polygonEnd:function(){e.polygonEnd(),m.lineStart=y}};function v(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){h=NaN,m.point=x,e.lineStart()}function x(r,a){var i=Pr([r,a]),o=t(r,a);s(h,f,u,p,d,g,h=o[0],f=o[1],u=r,p=i[0],d=i[1],g=i[2],n,e),e.point(h,f)}function b(){m.point=v,e.lineEnd()}function _(){y(),m.point=w,m.lineEnd=T}function w(t,e){x(r=t,e),a=h,i=f,o=p,l=d,c=g,m.point=x}function T(){s(h,f,u,p,d,g,a,i,r,o,l,c,n,e),m.lineEnd=b,b()}return m}function s(n,a,i,o,l,c,u,h,f,p,d,g,m,v){var x=u-n,b=h-a,_=x*x+b*b;if(_>4*e&&m--){var w=o+p,T=l+d,k=c+g,A=Math.sqrt(w*w+T*T+k*k),M=Math.asin(k/=A),S=y(y(k)-1)e||y((x*P+b*I)/_-.5)>.3||o*p+l*d+c*g0&&16,a):Math.sqrt(e)},a}function Mn(t){var e=An((function(e,r){return t([e*Pt,r*Pt])}));return function(t){return Pn(e(t))}}function Sn(t){this.stream=t}function En(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function Cn(t){return Ln((function(){return t}))()}function Ln(e){var r,n,a,i,o,s,l=An((function(t,e){return[(t=r(t,e))[0]*c+i,o-t[1]*c]})),c=150,u=480,h=250,f=0,p=0,d=0,g=0,m=0,v=tn,y=L,x=null,b=null;function _(t){return[(t=a(t[0]*Lt,t[1]*Lt))[0]*c+i,o-t[1]*c]}function w(t){return(t=a.invert((t[0]-i)/c,(o-t[1])/c))&&[t[0]*Pt,t[1]*Pt]}function T(){a=Gr(n=On(d,g,m),r);var t=r(f,p);return i=u-t[0]*c,o=h+t[1]*c,k()}function k(){return s&&(s.valid=!1,s=null),_}return _.stream=function(t){return s&&(s.valid=!1),(s=Pn(v(n,l(y(t))))).valid=!0,s},_.clipAngle=function(t){return arguments.length?(v=null==t?(x=t,tn):en((x=+t)*Lt),k()):x},_.clipExtent=function(t){return arguments.length?(b=t,y=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):L,k()):b},_.scale=function(t){return arguments.length?(c=+t,T()):c},_.translate=function(t){return arguments.length?(u=+t[0],h=+t[1],T()):[u,h]},_.center=function(t){return arguments.length?(f=t[0]%360*Lt,p=t[1]%360*Lt,T()):[f*Pt,p*Pt]},_.rotate=function(t){return arguments.length?(d=t[0]%360*Lt,g=t[1]%360*Lt,m=t.length>2?t[2]%360*Lt:0,T()):[d*Pt,g*Pt,m*Pt]},t.rebind(_,l,"precision"),function(){return r=e.apply(this,arguments),_.invert=r.invert&&w,T()}}function Pn(t){return En(t,(function(e,r){t.point(e*Lt,r*Lt)}))}function In(t,e){return[t,e]}function zn(t,e){return[t>Mt?t-St:t<-Mt?t+St:t,e]}function On(t,e,r){return t?e||r?Gr(Rn(t),Fn(e,r)):Rn(t):e||r?Fn(e,r):zn}function Dn(t){return function(e,r){return[(e+=t)>Mt?e-St:e<-Mt?e+St:e,r]}}function Rn(t){var e=Dn(t);return e.invert=Dn(-t),e}function Fn(t,e){var r=Math.cos(t),n=Math.sin(t),a=Math.cos(e),i=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*a-u*i,s*r-c*n),Dt(u*a+l*i)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*a-l*i;return[Math.atan2(l*a+c*i,s*r+u*n),Dt(u*r-s*n)]},o}function Bn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(a,i,o,s){var l=o*e;null!=a?(a=Nn(r,a),i=Nn(r,i),(o>0?ai)&&(a+=o*St)):(a=t+o*St,i=t-.5*l);for(var c,u=a;o>0?u>i:u2?t[2]*Lt:0),e.invert=function(e){return(e=t.invert(e[0]*Lt,e[1]*Lt))[0]*=Pt,e[1]*=Pt,e},e},zn.invert=In,t.geo.circle=function(){var t,e,r=[0,0],n=6;function a(){var t="function"==typeof r?r.apply(this,arguments):r,n=On(-t[0]*Lt,-t[1]*Lt,0).invert,a=[];return e(null,null,1,{point:function(t,e){a.push(t=n(t,e)),t[0]*=Pt,t[1]*=Pt}}),{type:"Polygon",coordinates:[a]}}return a.origin=function(t){return arguments.length?(r=t,a):r},a.angle=function(r){return arguments.length?(e=Bn((t=+r)*Lt,n*Lt),a):t},a.precision=function(r){return arguments.length?(e=Bn(t*Lt,(n=+r)*Lt),a):n},a.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Lt,a=t[1]*Lt,i=e[1]*Lt,o=Math.sin(n),s=Math.cos(n),l=Math.sin(a),c=Math.cos(a),u=Math.sin(i),h=Math.cos(i);return Math.atan2(Math.sqrt((r=h*o)*r+(r=c*u-l*h*s)*r),l*u+c*h*s)},t.geo.graticule=function(){var e,r,n,a,i,o,s,l,c,u,h,f,p=10,d=p,g=90,m=360,v=2.5;function x(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(Math.ceil(a/g)*g,n,g).map(h).concat(t.range(Math.ceil(l/m)*m,s,m).map(f)).concat(t.range(Math.ceil(r/p)*p,e,p).filter((function(t){return y(t%g)>kt})).map(c)).concat(t.range(Math.ceil(o/d)*d,i,d).filter((function(t){return y(t%m)>kt})).map(u))}return x.lines=function(){return b().map((function(t){return{type:"LineString",coordinates:t}}))},x.outline=function(){return{type:"Polygon",coordinates:[h(a).concat(f(s).slice(1),h(n).reverse().slice(1),f(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(a=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],a>n&&(t=a,a=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(v)):[[a,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],i=+t[1][1],r>e&&(t=r,r=e,e=t),o>i&&(t=o,o=i,i=t),x.precision(v)):[[r,o],[e,i]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],m=+t[1],x):[g,m]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(v=+t,c=jn(o,i,90),u=Vn(r,e,v),h=jn(l,s,90),f=Vn(a,n,v),x):v},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Un,a=qn;function i(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||a.apply(this,arguments)]}}return i.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||a.apply(this,arguments))},i.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,i):n},i.target=function(t){return arguments.length?(a=t,r="function"==typeof t?null:t,i):a},i.precision=function(){return arguments.length?i:0},i},t.geo.interpolate=function(t,e){return r=t[0]*Lt,n=t[1]*Lt,a=e[0]*Lt,i=e[1]*Lt,o=Math.cos(n),s=Math.sin(n),l=Math.cos(i),c=Math.sin(i),u=o*Math.cos(r),h=o*Math.sin(r),f=l*Math.cos(a),p=l*Math.sin(a),d=2*Math.asin(Math.sqrt(Ft(i-n)+o*l*Ft(a-r))),g=1/Math.sin(d),(m=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*f,a=r*h+e*p,i=r*s+e*c;return[Math.atan2(a,n)*Pt,Math.atan2(i,Math.sqrt(n*n+a*a))*Pt]}:function(){return[r*Pt,n*Pt]}).distance=d,m;var r,n,a,i,o,s,l,c,u,h,f,p,d,g,m},t.geo.length=function(e){return yn=0,t.geo.stream(e,Hn),yn};var Hn={sphere:O,point:O,lineStart:function(){var t,e,r;function n(n,a){var i=Math.sin(a*=Lt),o=Math.cos(a),s=y((n*=Lt)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*i-e*o*l)*s),e*i+r*o*l),t=n,e=i,r=o}Hn.point=function(a,i){t=a*Lt,e=Math.sin(i*=Lt),r=Math.cos(i),Hn.point=n},Hn.lineEnd=function(){Hn.point=Hn.lineEnd=O}},lineEnd:O,polygonStart:O,polygonEnd:O};function Gn(t,e){function r(e,r){var n=Math.cos(e),a=Math.cos(r),i=t(n*a);return[i*a*Math.sin(e),i*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),a=e(n),i=Math.sin(a),o=Math.cos(a);return[Math.atan2(t*i,n*o),Math.asin(n&&r*i/n)]},r}var Yn=Gn((function(t){return Math.sqrt(2/(1+t))}),(function(t){return 2*Math.asin(t/2)}));(t.geo.azimuthalEqualArea=function(){return Cn(Yn)}).raw=Yn;var Wn=Gn((function(t){var e=Math.acos(t);return e&&e/Math.sin(e)}),L);function Zn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(Mt/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),i=r*Math.pow(n(t),a)/a;if(!a)return Kn;function o(t,e){i>0?e<-Ct+kt&&(e=-Ct+kt):e>Ct-kt&&(e=Ct-kt);var r=i/Math.pow(n(e),a);return[r*Math.sin(a*t),i-r*Math.cos(a*t)]}return o.invert=function(t,e){var r=i-e,n=It(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(i/n,1/a))-Ct]},o}function Xn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/n+t;if(y(n)1&&zt(t[r[n-2]],t[r[n-1]],t[a])<=0;)--n;r[n++]=a}return r.slice(0,n)}function ia(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Cn(ta)}).raw=ta,ea.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Ct]},(t.geo.transverseMercator=function(){var t=Qn(ea),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ea,t.geom={},t.geom.hull=function(t){var e=ra,r=na;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,a=de(e),i=de(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[c[n]][2]]);for(n=+h;nkt)s=s.L;else{if(!((a=i-Ta(s,o))>kt)){n>-kt?(e=s.P,r=s):a>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=ya(t);if(fa.insert(e,l),e||r){if(e===r)return Ea(e),r=ya(e.site),fa.insert(l,r),l.edge=r.edge=Pa(e.site,l.site),Sa(e),void Sa(r);if(r){Ea(e),Ea(r);var c=e.site,u=c.x,h=c.y,f=t.x-u,p=t.y-h,d=r.site,g=d.x-u,m=d.y-h,v=2*(f*m-p*g),y=f*f+p*p,x=g*g+m*m,b={x:(m*y-p*x)/v+u,y:(f*x-g*y)/v+h};za(r.edge,c,d,b),l.edge=Pa(c,t,null,b),r.edge=Pa(t,d,null,b),Sa(e),Sa(r)}else l.edge=Pa(e.site,l.site)}}function wa(t,e){var r=t.site,n=r.x,a=r.y,i=a-e;if(!i)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,h=1/i-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+a-i/2)))/h+n:(n+s)/2}function Ta(t,e){var r=t.N;if(r)return wa(r,e);var n=t.site;return n.y===e?n.x:1/0}function ka(t){this.site=t,this.edges=[]}function Aa(t,e){return e.angle-t.angle}function Ma(){Ra(this),this.x=this.y=this.arc=this.site=this.cy=null}function Sa(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,a=t.site,i=r.site;if(n!==i){var o=a.x,s=a.y,l=n.x-o,c=n.y-s,u=i.x-o,h=2*(l*(m=i.y-s)-c*u);if(!(h>=-At)){var f=l*l+c*c,p=u*u+m*m,d=(m*f-c*p)/h,g=(l*p-u*f)/h,m=g+s,v=ma.pop()||new Ma;v.arc=t,v.site=a,v.x=d+o,v.y=m+Math.sqrt(d*d+g*g),v.cy=m,t.circle=v;for(var y=null,x=da._;x;)if(v.y=s)return;if(f>d){if(i){if(i.y>=c)return}else i={x:m,y:l};r={x:m,y:c}}else{if(i){if(i.y1)if(f>d){if(i){if(i.y>=c)return}else i={x:(l-a)/n,y:l};r={x:(c-a)/n,y:c}}else{if(i){if(i.y=s)return}else i={x:o,y:n*o+a};r={x:s,y:n*s+a}}else{if(i){if(i.xkt||y(a-r)>kt)&&(s.splice(o,0,new Oa(Ia(i.site,u,y(n-h)kt?{x:h,y:y(e-h)kt?{x:y(r-d)kt?{x:f,y:y(e-f)kt?{x:y(r-p)=r&&c.x<=a&&c.y>=n&&c.y<=o?[[r,o],[a,o],[a,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(a(t,e)/kt)*kt,i:e}}))}return o.links=function(t){return ja(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return ja(s(t)).cells.forEach((function(r,n){for(var a,i,o,s,l=r.site,c=r.edges.sort(Aa),u=-1,h=c.length,f=c[h-1].edge,p=f.l===l?f.r:f.l;++ui||h>o||f=_)<<1|e>=b,T=w+4;wi&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Xa(r,n)})),i=Qa.lastIndex;return ig&&(g=l.x),l.y>m&&(m=l.y),c.push(l.x),u.push(l.y);else for(h=0;hg&&(g=b),_>m&&(m=_),c.push(b),u.push(_)}var w=g-p,T=m-d;function k(t,e,r,n,a,i,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,a,i,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,a,i,o,s),A(t,e,r,n,a,i,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,a,i,o,s)}function A(t,e,r,n,a,i,o,s){var l=.5*(a+o),c=.5*(i+s),u=r>=l,h=n>=c,f=h<<1|u;t.leaf=!1,u?a=l:o=l,h?i=c:s=c,k(t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,a,i,o,s)}w>T?m=d+w:g=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+v(t,++h),+x(t,h),p,d,g,m)},visit:function(t){Ga(t,M,p,d,g,m)},find:function(t){return Ya(M,t[0],t[1],p,d,g,m)}};if(h=-1,null==e){for(;++h=0&&!(n=t.interpolators[a](e,r)););return n}function ti(t,e){var r,n=[],a=[],i=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1?1:t(e)}}function ii(t){return function(e){return 1-t(1-e)}}function oi(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function si(t){return t*t}function li(t){return t*t*t}function ci(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ui(t){return 1-Math.cos(t*Ct)}function hi(t){return Math.pow(2,10*(t-1))}function fi(t){return 1-Math.sqrt(1-t*t)}function pi(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function di(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function gi(t){var e,r,n,a=[t.a,t.b],i=[t.c,t.d],o=vi(a),s=mi(a,i),l=vi(((e=i)[0]+=(n=-s)*(r=a)[0],e[1]+=n*r[1],e))||0;a[0]*i[1]=0?t.slice(0,e):t,a=e>=0?t.slice(e+1):"in";return n=ri.get(n)||ei,ai((a=ni.get(a)||L)(n.apply(null,r.call(arguments,1))))},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,a=e.c,i=e.l,o=r.h-n,s=r.c-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.c:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Zt(n+o*t,a+s*t,i+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,a=e.s,i=e.l,o=r.h-n,s=r.s-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.s:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Gt(n+o*t,a+s*t,i+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,a=e.a,i=e.b,o=r.l-n,s=r.a-a,l=r.b-i;return function(t){return Qt(n+o*t,a+s*t,i+l*t)+""}},t.interpolateRound=di,t.transform=function(e){var r=a.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new gi(e?e.matrix:yi)})(e)},gi.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var yi={a:1,b:0,c:0,d:1,e:0,f:0};function xi(t){return t.length?t.pop()+",":""}function bi(e,r){var n=[],a=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push("translate(",null,",",null,")");n.push({i:a-4,x:Xa(t[0],e[0])},{i:a-2,x:Xa(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,a),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(xi(r)+"rotate(",null,")")-2,x:Xa(t,e)})):e&&r.push(xi(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,a),function(t,e,r,n){t!==e?n.push({i:r.push(xi(r)+"skewX(",null,")")-2,x:Xa(t,e)}):e&&r.push(xi(r)+"skewX("+e+")")}(e.skew,r.skew,n,a),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push(xi(r)+"scale(",null,",",null,")");n.push({i:a-4,x:Xa(t[0],e[0])},{i:a-2,x:Xa(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(xi(r)+"scale("+e+")")}(e.scale,r.scale,n,a),e=r=null,function(t){for(var e,r=-1,i=a.length;++r0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=we(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t=0;)r.push(a[n])}function Oi(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(i=t.children)&&(a=i.length))for(var a,i,o=-1;++o=0;)o.push(u=c[l]),u.parent=i,u.depth=i.depth+1;r&&(i.value=0),i.children=c}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Oi(a,(function(e){var n,a;t&&(n=e.children)&&n.sort(t),r&&(a=e.parent)&&(a.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(zi(t,(function(t){t.children&&(t.value=0)})),Oi(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var a=e.call(this,t,n);return function t(e,r,n,a){var i=e.children;if(e.x=r,e.y=e.depth*a,e.dx=n,e.dy=a,i&&(o=i.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++cs&&(s=n),o.push(n)}for(r=0;ra&&(n=r,a=e);return n}function Zi(t){return t.reduce(Xi,0)}function Xi(t,e){return t+e[1]}function Ji(t,e){return Ki(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ki(t,e){for(var r=-1,n=+t[0],a=(t[1]-n)/e,i=[];++r<=e;)i[r]=a*r+n;return i}function Qi(e){return[t.min(e),t.max(e)]}function $i(t,e){return t.value-e.value}function to(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function eo(t,e){t._pack_next=e,e._pack_prev=t}function ro(t,e){var r=e.x-t.x,n=e.y-t.y,a=t.r+e.r;return.999*a*a>r*r+n*n}function no(t){if((e=t.children)&&(l=e.length)){var e,r,n,a,i,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(e.forEach(ao),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(oo(r,n,a=e[2]),x(a),to(r,a),r._pack_prev=a,to(a,n),n=r._pack_next,i=3;i0)for(o=-1;++o=h[0]&&l<=h[1]&&((s=c[t.bisect(f,l,1,d)-1]).y+=g,s.push(i[o]));return c}return i.value=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=de(t),i):n},i.bins=function(t){return arguments.length?(a="number"==typeof t?function(e){return Ki(e,t)}:de(t),i):a},i.frequency=function(t){return arguments.length?(e=!!t,i):e},i},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort($i),n=0,a=[1,1];function i(t,i){var o=r.call(this,t,i),s=o[0],l=a[0],c=a[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,Oi(s,(function(t){t.r=+u(t.value)})),Oi(s,no),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Oi(s,(function(t){t.r+=h})),Oi(s,no),Oi(s,(function(t){t.r-=h}))}return function t(e,r,n,a){var i=e.children;if(e.x=r+=a*e.x,e.y=n+=a*e.y,e.r*=a,i)for(var o=-1,s=i.length;++op.x&&(p=t),t.depth>d.depth&&(d=t)}));var g=r(f,p)/2-f.x,m=n[0]/(p.x+r(p,f)/2+g),v=n[1]/(d.depth||1);zi(u,(function(t){t.x=(t.x+g)*m,t.y=t.depth*v}))}return c}function o(t){var e=t.children,n=t.parent.children,a=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,a=t.children,i=a.length;for(;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;a?(t.z=a.z+r(t._,a._),t.m=t.z-i):t.z=i}else a&&(t.z=a.z+r(t._,a._));t.parent.A=function(t,e,n){if(e){for(var a,i=t,o=t,s=e,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=co(s),i=lo(i),s&&i;)l=lo(l),(o=co(o)).a=t,(a=s.z+h-i.z-c+r(s._,i._))>0&&(uo(ho(s,t,n),t,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!co(o)&&(o.t=s,o.m+=h-u),i&&!lo(l)&&(l.t=i,l.m+=c-f,n=t)}return n}(t,a,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t)?l:null,i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null==(n=t)?null:l,i):a?n:null},Ii(i,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=so,n=[1,1],a=!1;function i(i,o){var s,l=e.call(this,i,o),c=l[0],u=0;Oi(c,(function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(n),e.y=function(e){return 1+t.max(e,(function(t){return t.y}))}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)}));var h=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),f=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return Oi(c,a?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t),i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null!=(n=t),i):a?n:null},Ii(i,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,a=[1,1],i=null,o=fo,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,a=-1,i=t.length;++a0;)s.push(r=c[a-1]),s.area+=r.area,"squarify"!==l||(n=p(s,g))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,g,i,!1),g=Math.min(i.dx,i.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,g,i,!0),s.length=s.area=0),e.forEach(h)}}function f(t){var e=t.children;if(e&&e.length){var r,n=o(t),a=e.slice(),i=[];for(u(a,n.dx*n.dy/t.value),i.area=0;r=a.pop();)i.push(r),i.area+=r.area,null!=r.z&&(d(i,r.z?n.dx:n.dy,n,!a.length),i.length=i.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,a=0,i=1/0,o=-1,s=t.length;++oa&&(a=r));return e*=e,(n*=n)?Math.max(e*a*c/n,n/(e*i*c)):1/0}function d(t,e,r,a){var i,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((a||u>r.dy)&&(u=r.dy);++or.dx)&&(u=r.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(a)/a)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?_o:vo,s=a?wi:_i;return i=t(e,r,s,n),o=t(r,e,s,$a),l}function l(t){return i(t)}return l.invert=function(t){return o(t)},l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e},l.range=function(t){return arguments.length?(r=t,s()):r},l.rangeRound=function(t){return l.range(t).interpolate(di)},l.clamp=function(t){return arguments.length?(a=t,s()):a},l.interpolate=function(t){return arguments.length?(n=t,s()):n},l.ticks=function(t){return Ao(e,t)},l.tickFormat=function(t,r){return Mo(e,t,r)},l.nice=function(t){return To(e,t),s()},l.copy=function(){return t(e,r,n,a)},s()}([0,1],[0,1],$a,!1)};var So={s:1,g:1,p:1,r:1,e:1};function Eo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,a,i){function o(t){return(a?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return a?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}return l.invert=function(t){return s(r.invert(t))},l.domain=function(t){return arguments.length?(a=t[0]>=0,r.domain((i=t.map(Number)).map(o)),l):i},l.base=function(t){return arguments.length?(n=+t,r.domain(i.map(o)),l):n},l.nice=function(){var t=yo(i.map(o),a?Math:Lo);return r.domain(t),i=t.map(s),l},l.ticks=function(){var t=go(i),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),h=n%1?2:n;if(isFinite(u-c)){if(a){for(;c0;f--)e.push(s(c)*f);for(c=0;e[c]l;u--);e=e.slice(c,u)}return e},l.tickFormat=function(e,r){if(!arguments.length)return Co;arguments.length<2?r=Co:"function"!=typeof r&&(r=t.format(r));var a=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n0?a[t-1]:r[0],th?0:1;if(c=Et)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,g,m,v,y,x,b,_,w,T,k,A,M=0,S=0,E=[];if((v=(+o.apply(this,arguments)||0)/2)&&(m=n===Fo?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Dt(m/c*Math.sin(v))),s&&(M=Dt(m/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(h-S),_=c*Math.sin(h-S);var C=Math.abs(h-u-2*S)<=Mt?0:1;if(S&&qo(y,x,b,_)===p^C){var L=(u+h)/2;y=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(h-M),T=s*Math.sin(h-M),k=s*Math.cos(u+M),A=s*Math.sin(u+M);var P=Math.abs(u-h+2*M)<=Mt?0:1;if(M&&qo(w,T,k,A)===1-p^P){var I=(u+h)/2;w=s*Math.cos(I),T=s*Math.sin(I),k=A=null}}else w=T=0;if(f>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s0?0:1}function Ho(t,e,r,n,a){var i=t[0]-e[0],o=t[1]-e[1],s=(a?n:-n)/Math.sqrt(i*i+o*o),l=s*o,c=-s*i,u=t[0]+l,h=t[1]+c,f=e[0]+l,p=e[1]+c,d=(u+f)/2,g=(h+p)/2,m=f-u,v=p-h,y=m*m+v*v,x=r-n,b=u*p-f*h,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,T=(-b*m-v*_)/y,k=(b*v+m*_)/y,A=(-b*m+v*_)/y,M=w-d,S=T-g,E=k-d,C=A-g;return M*M+S*S>E*E+C*C&&(w=k,T=A),[[w-l,T-c],[w*r/x,T*r/x]]}function Go(t){var e=ra,r=na,n=Yr,a=Wo,i=a.key,o=.7;function s(i){var s,l=[],c=[],u=-1,h=i.length,f=de(e),p=de(r);function d(){l.push("M",a(t(c),o))}for(;++u1&&a.push("H",n[0]);return a.join("")},"step-before":Xo,"step-after":Jo,basis:$o,"basis-open":function(t){if(t.length<4)return Wo(t);var e,r=[],n=-1,a=t.length,i=[0],o=[0];for(;++n<3;)e=t[n],i.push(e[0]),o.push(e[1]);r.push(ts(ns,i)+","+ts(ns,o)),--n;for(;++n9&&(a=3*e/Math.sqrt(a),o[s]=a*r,o[s+1]=a*n));s=-1;for(;++s<=l;)a=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),i.push([a||0,o[s]*a||0]);return i}(t))}});function Wo(t){return t.length>1?t.join("L"):t+"Z"}function Zo(t){return t.join("L")+"Z"}function Xo(t){for(var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];++e1){s=e[1],i=t[l],l++,n+="C"+(a[0]+o[0])+","+(a[1]+o[1])+","+(i[0]-s[0])+","+(i[1]-s[1])+","+i[0]+","+i[1];for(var c=2;cMt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return i.radius=function(t){return arguments.length?(r=de(t),i):r},i.source=function(e){return arguments.length?(t=de(e),i):t},i.target=function(t){return arguments.length?(e=de(t),i):e},i.startAngle=function(t){return arguments.length?(n=de(t),i):n},i.endAngle=function(t){return arguments.length?(a=de(t),i):a},i},t.svg.diagonal=function(){var t=Un,e=qn,r=cs;function n(n,a){var i=t.call(this,n,a),o=e.call(this,n,a),s=(i.y+o.y)/2,l=[i,{x:i.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=de(e),n):t},n.target=function(t){return arguments.length?(e=de(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=cs,n=e.projection;return e.projection=function(t){return arguments.length?n(us(r=t)):r},e},t.svg.symbol=function(){var t=fs,e=hs;function r(r,n){return(ds.get(t.call(this,r,n))||ps)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=de(e),r):t},r.size=function(t){return arguments.length?(e=de(t),r):e},r};var ds=t.map({circle:ps,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*ms)),r=e*ms;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=ds.keys();var gs=Math.sqrt(3),ms=Math.tan(30*Lt);Y.transition=function(t){for(var e,r,n=bs||++Ts,a=Ms(t),i=[],o=_s||{time:Date.now(),ease:ci,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--f].call(t,o);if(i>=1)return h.event&&h.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}h||(i=a.time,o=we((function(t){var e=h.delay;if(o.t=e+i,e<=t)return f(t-e);o.c=f}),0,i),h=u[n]={tween:new _,time:i,timer:o,delay:a.delay,duration:a.duration,ease:a.ease,index:e},a=null,++u.count)}ws.call=Y.call,ws.empty=Y.empty,ws.node=Y.node,ws.size=Y.size,t.transition=function(e,r){return e&&e.transition?bs?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ws,ws.select=function(t){var e,r,n,a=this.id,i=this.namespace,o=[];t=W(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function m(){var h,m,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&a,T=!/^(e|w)$/.test(_)&&i,k=y.classed("extent"),A=bt(v),M=t.mouse(v),S=t.select(o(v)).on("keydown.brush",L).on("keyup.brush",P);if(t.event.changedTouches?S.on("touchmove.brush",I).on("touchend.brush",O):S.on("mousemove.brush",I).on("mouseup.brush",O),b.interrupt().selectAll("*").interrupt(),k)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);m=[s[1-E]-M[0],l[1-C]-M[1]],M[0]=s[E],M[1]=l[C]}else t.event.altKey&&(h=M.slice());function L(){32==t.event.keyCode&&(k||(h=null,M[0]-=s[1],M[1]-=l[1],k=2),F())}function P(){32==t.event.keyCode&&2==k&&(M[0]+=s[1],M[1]+=l[1],k=0,F())}function I(){var e=t.mouse(v),r=!1;m&&(e[0]+=m[0],e[1]+=m[1]),k||(t.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(e[0]1?{floor:function(e){for(;s(e=t.floor(e));)e=Ns(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Ns(+e+1);return e}}:t))},a.ticks=function(t,e){var r=go(a.domain()),n=null==t?i(r,10):"number"==typeof t?i(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Ns(+r[1]+1),e<1?1:e)},a.tickFormat=function(){return n},a.copy=function(){return Bs(e.copy(),r,n)},wo(a,e)}function Ns(t){return new Date(t)}Os.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Fs:Rs,Fs.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Fs.toString=Rs.toString,Ie.second=Re((function(t){return new ze(1e3*Math.floor(t/1e3))}),(function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))}),(function(t){return t.getSeconds()})),Ie.seconds=Ie.second.range,Ie.seconds.utc=Ie.second.utc.range,Ie.minute=Re((function(t){return new ze(6e4*Math.floor(t/6e4))}),(function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))}),(function(t){return t.getMinutes()})),Ie.minutes=Ie.minute.range,Ie.minutes.utc=Ie.minute.utc.range,Ie.hour=Re((function(t){var e=t.getTimezoneOffset()/60;return new ze(36e5*(Math.floor(t/36e5-e)+e))}),(function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))}),(function(t){return t.getHours()})),Ie.hours=Ie.hour.range,Ie.hours.utc=Ie.hour.utc.range,Ie.month=Re((function(t){return(t=Ie.day(t)).setDate(1),t}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t){return t.getMonth()})),Ie.months=Ie.month.range,Ie.months.utc=Ie.month.utc.range;var js=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Vs=[[Ie.second,1],[Ie.second,5],[Ie.second,15],[Ie.second,30],[Ie.minute,1],[Ie.minute,5],[Ie.minute,15],[Ie.minute,30],[Ie.hour,1],[Ie.hour,3],[Ie.hour,6],[Ie.hour,12],[Ie.day,1],[Ie.day,2],[Ie.week,1],[Ie.month,1],[Ie.month,3],[Ie.year,1]],Us=Os.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Yr]]),qs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Ns)},floor:L,ceil:L};Vs.year=Ie.year,Ie.scale=function(){return Bs(t.scale.linear(),Vs,Us)};var Hs=Vs.map((function(t){return[t[0].utc,t[1]]})),Gs=Ds.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Yr]]);function Ys(t){return JSON.parse(t.responseText)}function Ws(t){var e=a.createRange();return e.selectNode(a.body),e.createContextualFragment(t.responseText)}Hs.year=Ie.year.utc,Ie.scale.utc=function(){return Bs(t.scale.linear(),Hs,Gs)},t.text=ge((function(t){return t.responseText})),t.json=function(t,e){return me(t,"application/json",Ys,e)},t.html=function(t,e){return me(t,"text/html",Ws,e)},t.xml=ge((function(t){return t.responseXML})),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],166:[function(t,e,r){e.exports=function(){for(var t=0;t=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0}));if(1&s)for(u=0;u<_.length;++u){f=(b=_[u])[0];b[0]=b[1],b[1]=f}return _}},{"incremental-convex-hull":416,uniq:556}],168:[function(t,e,r){"use strict";e.exports=i;var n=(i.canvas=document.createElement("canvas")).getContext("2d"),a=o([32,126]);function i(t,e){Array.isArray(t)&&(t=t.join(", "));var r,i={},s=16,l=.05;e&&(2===e.length&&"number"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=a),n.font=s+"px "+t;for(var c=0;cs*l){var p=(f-h)/s;i[u]=1e3*p}}return i}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),a=t[0];a>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),a=1048575&n;return 2146435072&n&&(a+=1<<20),[r,a]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t("buffer").Buffer)},{buffer:108}],170:[function(t,e,r){var n=t("abs-svg-path"),a=t("normalize-svg-path"),i={M:"moveTo",C:"bezierCurveTo"};e.exports=function(t,e){t.beginPath(),a(n(e)).forEach((function(e){var r=e[0],n=e.slice(1);t[i[r]].apply(t,n)})),t.closePath()}},{"abs-svg-path":63,"normalize-svg-path":457}],171:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],172:[function(t,e,r){"use strict";e.exports=function(t,e){switch("undefined"==typeof e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*r){n=l=t[0],s=c=t[1];for(var b=r;bl&&(l=u),p>c&&(c=p);d=0!==(d=Math.max(l-n,c-s))?1/d:0}return o(y,x,r,n,s,d),x}function a(t,e,r,n,a){var i,o;if(a===E(t,e,r,n)>0)for(i=e;i=e;i-=n)o=A(i,t[i],t[i+1],o);return o&&x(o,o.next)&&(M(o),o=o.next),o}function i(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!x(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,a,h,f){if(t){!f&&h&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=d(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,h);for(var p,g,m=t;t.prev!==t.next;)if(p=t.prev,g=t.next,h?l(t,n,a,h):s(t))e.push(p.i/r),e.push(t.i/r),e.push(g.i/r),M(t),t=g.next,m=g.next;else if((t=g)===m){f?1===f?o(t=c(i(t),e,r),e,r,n,a,h,2):2===f&&u(t,e,r,n,a,h):o(i(t),e,r,n,a,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if(m(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&y(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function l(t,e,r,n){var a=t.prev,i=t,o=t.next;if(y(a,i,o)>=0)return!1;for(var s=a.xi.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,u=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,h=d(s,l,e,r,n),f=d(c,u,e,r,n),p=t.prevZ,g=t.nextZ;p&&p.z>=h&&g&&g.z<=f;){if(p!==t.prev&&p!==t.next&&m(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,g!==t.prev&&g!==t.next&&m(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&m(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;g&&g.z<=f;){if(g!==t.prev&&g!==t.next&&m(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function c(t,e,r){var n=t;do{var a=n.prev,o=n.next.next;!x(a,o)&&b(a,n,n.next,o)&&T(a,o)&&T(o,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(o.i/r),M(n),M(n.next),n=t=o),n=n.next}while(n!==t);return i(n)}function u(t,e,r,n,a,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&v(l,c)){var u=k(l,c);return l=i(l,l.next),u=i(u,u.next),o(l,e,r,n,a,s),void o(u,e,r,n,a,s)}c=c.next}l=l.next}while(l!==t)}function h(t,e){return t.x-e.x}function f(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&a!==n.x&&m(ir.x||n.x===r.x&&p(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=k(e,t);i(e,e.next),i(r,r.next)}}function p(t,e){return y(t.prev,t,e.prev)<0&&y(e.next,t,t.next)<0}function d(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function g(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&b(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(T(t,e)&&T(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(y(t.prev,t,e.prev)||y(t,e.prev,e))||x(t,e)&&y(t.prev,t,t.next)>0&&y(e.prev,e,e.next)>0)}function y(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function x(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,r,n){var a=w(y(t,e,r)),i=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return a!==i&&o!==s||(!(0!==a||!_(t,r,e))||(!(0!==i||!_(t,n,e))||(!(0!==o||!_(r,t,n))||!(0!==s||!_(r,e,n)))))}function _(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function w(t){return t>0?1:t<0?-1:0}function T(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function k(t,e){var r=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function A(t,e,r,n){var a=new S(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function M(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function S(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(t,e,r,n){for(var a=0,i=e,o=r-n;i0&&(n+=t[a-1].length,r.holes.push(n))}return r}},{}],174:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if("number"!=typeof e){e=0;for(var a=0;a=e}))}(e);for(var r,a=n(t).components.filter((function(t){return t.length>1})),i=1/0,o=0;o=55296&&y<=56319&&(w+=t[++r]),w=T?f.call(T,k,w,g):w,e?(p.value=w,d(m,g,p)):m[g]=w,++g;v=g}if(void 0===v)for(v=o(t.length),e&&(m=new e(v)),r=0;r0?1:-1}},{}],186:[function(t,e,r){"use strict";var n=t("../math/sign"),a=Math.abs,i=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*i(a(t)):t}},{"../math/sign":183}],187:[function(t,e,r){"use strict";var n=t("./to-integer"),a=Math.max;e.exports=function(t){return a(0,n(t))}},{"./to-integer":186}],188:[function(t,e,r){"use strict";var n=t("./valid-callable"),a=t("./valid-value"),i=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,h=arguments[2],f=arguments[3];return r=Object(a(r)),n(c),u=s(r),f&&u.sort("function"==typeof f?i.call(f,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,(function(t,n){return l.call(r,t)?o.call(c,h,r[t],t,r,n):e}))}}},{"./valid-callable":205,"./valid-value":207}],189:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.assign:t("./shim")},{"./is-implemented":190,"./shim":191}],190:[function(t,e,r){"use strict";e.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},{}],191:[function(t,e,r){"use strict";var n=t("../keys"),a=t("../valid-value"),i=Math.max;e.exports=function(t,e){var r,o,s,l=i(arguments.length,2);for(t=Object(a(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},{}],211:[function(t,e,r){"use strict";var n=Object.prototype.toString,a=n.call("");e.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||n.call(t)===a)||!1}},{}],212:[function(t,e,r){"use strict";var n=Object.create(null),a=Math.random;e.exports=function(){var t;do{t=a().toString(36).slice(2)}while(n[t]);return t}},{}],213:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/set-prototype-of"),i=t("es5-ext/string/#/contains"),o=t("d"),s=t("es6-symbol"),l=t("./"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?i.call(e,"key+value")?"key+value":i.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},a&&a(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},{"./":216,d:153,"es5-ext/object/set-prototype-of":202,"es5-ext/string/#/contains":208,"es6-symbol":221}],214:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/object/valid-callable"),i=t("es5-ext/string/is-string"),o=t("./get"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,h,f,p,d,g,m,v=arguments[2];if(s(t)||n(t)?r="array":i(t)?r="string":t=o(t),a(e),h=function(){f=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,h),f)return;u=t.next()}else for(d=t.length,p=0;p=55296&&m<=56319&&(g+=t[++p]),l.call(e,v,g,h),!f);++p);else c.call(t,(function(t){return l.call(e,v,t,h),f}))}},{"./get":215,"es5-ext/function/is-arguments":180,"es5-ext/object/valid-callable":205,"es5-ext/string/is-string":211}],215:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/string/is-string"),i=t("./array"),o=t("./string"),s=t("./valid-iterable"),l=t("es6-symbol").iterator;e.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new i(t):a(t)?new o(t):new i(t)}},{"./array":213,"./string":218,"./valid-iterable":219,"es5-ext/function/is-arguments":180,"es5-ext/string/is-string":211,"es6-symbol":221}],216:[function(t,e,r){"use strict";var n,a=t("es5-ext/array/#/clear"),i=t("es5-ext/object/assign"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/valid-value"),l=t("d"),c=t("d/auto-bind"),u=t("es6-symbol"),h=Object.defineProperty,f=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");f(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,f(n.prototype,i({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):h(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&a.call(this.__redo__),this.__nextIndex__=0}))}))),h(n.prototype,u.iterator,l((function(){return this})))},{d:153,"d/auto-bind":152,"es5-ext/array/#/clear":176,"es5-ext/object/assign":189,"es5-ext/object/valid-callable":205,"es5-ext/object/valid-value":207,"es6-symbol":221}],217:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/object/is-value"),i=t("es5-ext/string/is-string"),o=t("es6-symbol").iterator,s=Array.isArray;e.exports=function(t){return!!a(t)&&(!!s(t)||(!!i(t)||(!!n(t)||"function"==typeof t[o])))}},{"es5-ext/function/is-arguments":180,"es5-ext/object/is-value":196,"es5-ext/string/is-string":211,"es6-symbol":221}],218:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/set-prototype-of"),i=t("d"),o=t("es6-symbol"),s=t("./"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",i("",t.length))},a&&a(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:i((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,i("c","String Iterator"))},{"./":216,d:153,"es5-ext/object/set-prototype-of":202,"es6-symbol":221}],219:[function(t,e,r){"use strict";var n=t("./is-iterable");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},{"./is-iterable":217}],220:[function(t,e,r){(function(n,a){ -/*! - * @overview es6-promise - a tiny implementation of Promises/A+. - * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) - * @license Licensed under MIT license - * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE - * @version v4.2.8+1e68dce6 - */ -!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,(function(){"use strict";function e(t){return"function"==typeof t}var r=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},i=0,o=void 0,s=void 0,l=function(t,e){g[i]=t,g[i+1]=e,2===(i+=2)&&(s?s(m):_())};var c="undefined"!=typeof window?window:void 0,u=c||{},h=u.MutationObserver||u.WebKitMutationObserver,f="undefined"==typeof self&&"undefined"!=typeof n&&"[object process]"==={}.toString.call(n),p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(m,1)}}var g=new Array(1e3);function m(){for(var t=0;t=r-1){f=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var u=s.length-1,h=(e[r-1],0);h=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--h)n.push(i(l[h-1],c[h-1],arguments[h])),a.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var p=i(c[f-1],u[f-1],arguments[f]);n.push(p),a.push((p-n[o++])*h)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(i(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,h=u>1e-6?1/u:0;this._time.push(t);for(var f=r;f>0;--f){var p=arguments[f];n.push(i(l[f-1],c[f-1],n[o++]+p)),a.push(p*h)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--h)n.push(i(l[h],c[h],n[o]+u*a[o])),a.push(0),o+=1}}},{"binary-search-bounds":239,"cubic-hermite":147}],239:[function(t,e,r){"use strict";function n(t,e,r,n,a,i){var o=["function ",t,"(a,l,h,",n.join(","),"){",i?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",a?".get(m)":"[m]"];return i?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),i?o.push("return -1};"):o.push("return i};"),o.join("")}function a(t,e,r,a){return new Function([n("A","x"+t+"y",e,["y"],!1,a),n("B","x"+t+"y",e,["y"],!0,a),n("P","c(x,y)"+t+"0",e,["y","c"],!1,a),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,a),"function dispatchBsearch",r,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",r].join(""))()}e.exports={ge:a(">=",!1,"GE"),gt:a(">",!1,"GT"),lt:a("<",!0,"LT"),le:a("<=",!0,"LE"),eq:a("-",!0,"EQ",!0)}},{}],240:[function(t,e,r){var n=t("dtype");e.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var a,i,o,s,l=t[0].length,c=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(c+r));var u=e.length-r;if(c!==u)throw new Error("source length "+c+" ("+l+"x"+t.length+") does not match destination length "+u);for(a=0,o=r;ae[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return r}},{"css-font/stringify":144}],242:[function(t,e,r){"use strict";function n(t,e){e||(e={}),("string"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(", "):e.family;if(!r)throw Error("`family` must be defined");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||"",c=(t=[e.style||e.fontStyle||"",l,s].join(" ")+"px "+r,e.origin||"top");if(n.cache[r]&&s<=n.cache[r].em)return a(n.cache[r],c);var u=e.canvas||n.canvas,h=u.getContext("2d"),f={upper:void 0!==e.upper?e.upper:"H",lower:void 0!==e.lower?e.lower:"x",descent:void 0!==e.descent?e.descent:"p",ascent:void 0!==e.ascent?e.ascent:"h",tittle:void 0!==e.tittle?e.tittle:"i",overshoot:void 0!==e.overshoot?e.overshoot:"O"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,h.font=t;var d={top:0};h.clearRect(0,0,p,p),h.textBaseline="top",h.fillStyle="black",h.fillText("H",0,0);var g=i(h.getImageData(0,0,p,p));h.clearRect(0,0,p,p),h.textBaseline="bottom",h.fillText("H",0,p);var m=i(h.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-m+g,h.clearRect(0,0,p,p),h.textBaseline="alphabetic",h.fillText("H",0,p);var v=p-i(h.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=v,h.clearRect(0,0,p,p),h.textBaseline="middle",h.fillText("H",0,.5*p);var y=i(h.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="hanging",h.fillText("H",0,.5*p);var x=i(h.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="ideographic",h.fillText("H",0,p);var b=i(h.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,f.upper&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.upper,0,0),d.upper=i(h.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),f.lower&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.lower,0,0),d.lower=i(h.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),f.tittle&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.tittle,0,0),d.tittle=i(h.getImageData(0,0,p,p))),f.ascent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.ascent,0,0),d.ascent=i(h.getImageData(0,0,p,p))),f.descent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.descent,0,0),d.descent=o(h.getImageData(0,0,p,p))),f.overshoot){h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.overshoot,0,0);var _=o(h.getImageData(0,0,p,p));d.overshoot=_-v}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,a(d,c)}function a(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function i(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement("canvas"),n.cache={}},{}],243:[function(t,e,r){"use strict";e.exports=function(t){return new s(t||g,null)};function n(t,e,r,n,a,i){this._color=t,this.key=e,this.value=r,this.left=n,this.right=a,this._count=i}function a(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function i(t,e){return new n(t,e.key,e.value,e.left,e.right,e._count)}function o(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function s(t,e){this._compare=t,this.root=e}var l=s.prototype;function c(t,e){var r;if(e.left&&(r=c(t,e.left)))return r;return(r=t(e.key,e.value))||(e.right?c(t,e.right):void 0)}function u(t,e,r,n){if(e(t,n.key)<=0){var a;if(n.left)if(a=u(t,e,r,n.left))return a;if(a=r(n.key,n.value))return a}if(n.right)return u(t,e,r,n.right)}function h(t,e,r,n,a){var i,o=r(t,a.key),s=r(e,a.key);if(o<=0){if(a.left&&(i=h(t,e,r,n,a.left)))return i;if(s>0&&(i=n(a.key,a.value)))return i}if(s>0&&a.right)return h(t,e,r,n,a.right)}function f(t,e){this.tree=t,this._stack=e}Object.defineProperty(l,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(l,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(l,"length",{get:function(){return this.root?this.root._count:0}}),l.insert=function(t,e){for(var r=this._compare,a=this.root,l=[],c=[];a;){var u=r(t,a.key);l.push(a),c.push(u),a=u<=0?a.left:a.right}l.push(new n(0,t,e,null,null,1));for(var h=l.length-2;h>=0;--h){a=l[h];c[h]<=0?l[h]=new n(a._color,a.key,a.value,l[h+1],a.right,a._count+1):l[h]=new n(a._color,a.key,a.value,a.left,l[h+1],a._count+1)}for(h=l.length-1;h>1;--h){var f=l[h-1];a=l[h];if(1===f._color||1===a._color)break;var p=l[h-2];if(p.left===f)if(f.left===a){if(!(d=p.right)||0!==d._color){if(p._color=0,p.left=f.right,f._color=1,f.right=p,l[h-2]=f,l[h-1]=a,o(p),o(f),h>=3)(g=l[h-3]).left===p?g.left=f:g.right=f;break}f._color=1,p.right=i(1,d),p._color=0,h-=1}else{if(!(d=p.right)||0!==d._color){if(f.right=a.left,p._color=0,p.left=a.right,a._color=1,a.left=f,a.right=p,l[h-2]=a,l[h-1]=f,o(p),o(f),o(a),h>=3)(g=l[h-3]).left===p?g.left=a:g.right=a;break}f._color=1,p.right=i(1,d),p._color=0,h-=1}else if(f.right===a){if(!(d=p.left)||0!==d._color){if(p._color=0,p.right=f.left,f._color=1,f.left=p,l[h-2]=f,l[h-1]=a,o(p),o(f),h>=3)(g=l[h-3]).right===p?g.right=f:g.left=f;break}f._color=1,p.left=i(1,d),p._color=0,h-=1}else{var d;if(!(d=p.left)||0!==d._color){var g;if(f.left=a.right,p._color=0,p.right=a.left,a._color=1,a.right=f,a.left=p,l[h-2]=a,l[h-1]=f,o(p),o(f),o(a),h>=3)(g=l[h-3]).right===p?g.right=a:g.left=a;break}f._color=1,p.left=i(1,d),p._color=0,h-=1}}return l[0]._color=1,new s(r,l[0])},l.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return c(t,this.root);case 2:return u(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return h(e,r,this._compare,t,this.root)}},Object.defineProperty(l,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(l,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),l.at=function(t){if(t<0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new f(this,[])},l.ge=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<=0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new f(this,n)},l.gt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new f(this,n)},l.lt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new f(this,n)},l.le=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>=0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new f(this,n)},l.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var a=e(t,r.key);if(n.push(r),0===a)return new f(this,n);r=a<=0?r.left:r.right}return new f(this,[])},l.remove=function(t){var e=this.find(t);return e?e.remove():this},l.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var p=f.prototype;function d(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function g(t,e){return te?1:0}Object.defineProperty(p,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(p,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),p.clone=function(){return new f(this.tree,this._stack.slice())},p.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new n(r._color,r.key,r.value,r.left,r.right,r._count);for(var l=t.length-2;l>=0;--l){(r=t[l]).left===t[l+1]?e[l]=new n(r._color,r.key,r.value,e[l+1],r.right,r._count):e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count)}if((r=e[e.length-1]).left&&r.right){var c=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var u=e[c-1];e.push(new n(r._color,u.key,u.value,r.left,r.right,r._count)),e[c-1].key=r.key,e[c-1].value=r.value;for(l=e.length-2;l>=c;--l)r=e[l],e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count);e[c-1].left=e[c]}if(0===(r=e[e.length-1])._color){var h=e[e.length-2];h.left===r?h.left=null:h.right===r&&(h.right=null),e.pop();for(l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((r=t[l-1]).left===e){if((n=r.right).right&&0===n.right._color){if(s=(n=r.right=a(n)).right=a(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(c=t[l-2]).left===r?c.left=n:c.right=n;return void(t[l-1]=n)}if(n.left&&0===n.left._color){if(s=(n=r.right=a(n)).left=a(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).left===r?c.left=s:c.right=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.right=i(0,n));r.right=i(0,n);continue}n=a(n),r.right=n.left,n.left=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).left===r?c.left=n:c.right=n),t[l-1]=n,t[l]=r,l+11)(c=t[l-2]).right===r?c.right=n:c.left=n;return void(t[l-1]=n)}if(n.right&&0===n.right._color){if(s=(n=r.left=a(n)).right=a(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).right===r?c.right=s:c.left=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.left=i(0,n));r.left=i(0,n);continue}var c;n=a(n),r.left=n.right,n.right=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).right===r?c.right=n:c.left=n),t[l-1]=n,t[l]=r,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(p,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(p,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),p.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(p,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),p.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),a=e[e.length-1];r[r.length-1]=new n(a._color,a.key,t,a.left,a.right,a._count);for(var i=e.length-2;i>=0;--i)(a=e[i]).left===e[i+1]?r[i]=new n(a._color,a.key,a.value,r[i+1],a.right,a._count):r[i]=new n(a._color,a.key,a.value,a.left,r[i+1],a._count);return new s(this.tree._compare,r[0])},p.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(p,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],244:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function i(t){if(t<0)return Number("0/0");for(var e=a[0],r=a.length-1;r>0;--r)e+=a[r]/(t+r);var n=t+607/128+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(i(e));e-=1;for(var r=n[0],a=1;a<9;a++)r+=n[a]/(e+a);var o=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,e+.5)*Math.exp(-o)*r},e.exports.log=i},{}],245:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,a=e;try{var i=[t];0===t.indexOf("webgl")&&i.push("experimental-"+t);for(var o=0;o0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],m={model:l,view:l,projection:l,_ortho:!1};h.isOpaque=function(){return!0},h.isTransparent=function(){return!1},h.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];h.draw=function(t){t=t||m;for(var e=this.gl,r=t.model||l,n=t.view||l,a=t.projection||l,i=this.bounds,s=t._ortho||!1,u=o(r,n,a,i,s),h=u.cubeEdges,f=u.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(a[3]*b+a[7]*_+a[11]*w+a[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=h[A],this.lastCubeProps.axis[A]=f[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,h,f);e=this.gl;var S,E=g;for(A=0;A<3;++A)this.backgroundEnable[A]?E[A]=f[A]:E[A]=0;this._background.draw(r,n,a,i,E,this.backgroundColor),this._lines.bind(r,n,a,this);for(A=0;A<3;++A){var C=[0,0,0];f[A]>0?C[A]=i[1][A]:C[A]=i[0][A];for(var L=0;L<2;++L){var P=(A+1+L)%3,I=(A+1+(1^L))%3;this.gridEnable[P]&&this._lines.drawGrid(P,I,this.bounds,C,this.gridColor[P],this.gridWidth[P]*this.pixelRatio)}for(L=0;L<2;++L){P=(A+1+L)%3,I=(A+1+(1^L))%3;this.zeroEnable[I]&&Math.min(i[0][I],i[1][I])<=0&&Math.max(i[0][I],i[1][I])>=0&&this._lines.drawZero(P,I,this.bounds,C,this.zeroLineColor[I],this.zeroLineWidth[I]*this.pixelRatio)}}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=c(v,M[A].primalMinor),O=c(y,M[A].mirrorMinor),D=this.lineTickLength;for(L=0;L<3;++L){var R=k/r[5*L];z[L]*=D[L]*R,O[L]*=D[L]*R}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,O,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,a,this.pixelRatio);var F,B;function N(t){(B=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,a=(t+2)%3,i=e[n],o=e[a],s=r[n],l=r[a];i>0&&l>0||i>0&&l<0||i<0&&l>0||i<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(a)}for(A=0;A<3;++A){var V=M[A].primalMinor,U=M[A].mirrorMinor,q=c(x,M[A].primalOffset);for(L=0;L<3;++L)this.lineTickEnable[A]&&(q[L]+=k*V[L]*Math.max(this.lineTickLength[L],0)/r[5*L]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,F=1,"auto"===(S=[this.tickAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]),B=[0,0,0],j(A,V,U);for(L=0;L<3;++L)q[L]+=k*V[L]*this.tickPad[L]/r[5*L];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,B,S)}if(this.labelEnable[A]){F=0,B=[0,0,0],this.labels[A].length>4&&(N(A),F=1),"auto"===(S=[this.labelAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]);for(L=0;L<3;++L)q[L]+=k*V[L]*this.labelPad[L]/r[5*L];q[A]+=.5*(i[0][A]+i[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],B,S)}}this._text.unbind()},h.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":247,"./lib/cube.js":248,"./lib/lines.js":249,"./lib/text.js":251,"./lib/ticks.js":252}],247:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var g=-1;g<=1;g+=2)h[u]=g,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var m=c;c=u,u=m}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=a(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=i(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,a,i){for(var o=!1,s=0;s<3;++s)o=o||a[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:a,colors:i},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders":250,"gl-buffer":254,"gl-vao":331}],248:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,p){a(s,e,t),a(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=i[x][2];for(var b=0;b<2;++b){u[1]=i[b][1];for(var _=0;_<2;++_)u[0]=i[_][0],f(l[y],u,s),y+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;p&&(c[x][2]*=-1),T<0&&(w<0||c[x][2]E&&(w|=1<E&&(w|=1<c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x){if((N=R^1<c[B][0]&&(B=N)}var j=g;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var V=7^B;V===w||V===D?(V=7^F,j[n.log2(B^V)]=V&B):j[n.log2(F^V)]=V&F;var U=m,q=w;for(A=0;A<3;++A)U[A]=q&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);r.text=function(t){return a(t,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);r.bg=function(t){return a(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":311,glslify:412}],251:[function(t,e,r){(function(r){"use strict";e.exports=function(t,e,r,i,s,l){var u=n(t),h=a(t,[{buffer:u,size:3}]),f=o(t);f.attributes.position.location=0;var p=new c(t,f,u,h);return p.update(e,r,i,s,l),p};var n=t("gl-buffer"),a=t("gl-vao"),i=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,h=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var a=this.shader.uniforms;a.model=t,a.view=e,a.projection=r,a.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,a){var o=[];function s(t,e,r,n,a,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return i(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:a,styletags:s}));for(var h=(n||12)/12,f=u.positions,p=u.cells,d=0,g=p.length;d=0;--v){var y=f[m[v]];o.push(h*y[0],-h*y[1],t)}}for(var c=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),f[d]=(o.length/3|0)-h[d],c[d]=o.length/3|0;for(var g=0;g=0&&(a=r.length-n-1);var i=Math.pow(10,a),o=Math.round(t*e*i),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/i,c=o%i;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),a){for(var h=""+c;h.length=t[0][a];--o)i.push({x:o*e[a],text:n(e[a],o)});r.push(i)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,i,a),r}function u(t,e){for(var r=n.malloc(t.length,e),a=t.length,i=0;i=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=i(s,t.shape);a.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?h:h.subarray(0,t.length),e),n.free(h)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var a=t.createBuffer(),i=new s(t,r,a,0,n);return i.update(e),i}},{ndarray:455,"ndarray-ops":449,"typedarray-pool":554}],255:[function(t,e,r){"use strict";var n=t("gl-vec3");e.exports=function(t,e){var r=t.positions,a=t.vectors,i={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),i;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,g=[],m=1/0,v=!1,y=0;yo&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(m=Math.min(m,_),v=!1):v=!0}v||(p=x,d=b),g.push(b)}var w=[s,c,h],T=[l,u,f];e&&(e[0]=w,e[1]=T),0===o&&(o=1);var k=1/o;isFinite(m)||(m=1),i.vectorScale=m;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*k),i.coneScale=A;y=0;for(var M=0;y=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=u({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var a=e[n],i=0;i<3;++i)r[4*n+i]=a[i];r[4*n+3]=255*a[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,a=t.vectors;if(n&&r&&a){var i=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=a;var f=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,g=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],g=+t.vertexIntensityBounds[1];else for(var m=0;m0){var g=this.triShader;g.bind(),g.uniforms=c,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:a,clipBounds:i,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),a={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?a.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(a.intensity=this.intensity[r[1]],a.velocity=this.vectors[r[1]].slice(0,3),a.divergence=this.vectors[r[1]][3],a.index=e),a},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=d(t,n),l=g(t,n),u=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));u.generateMipmap(),u.minFilter=t.LINEAR_MIPMAP_LINEAR,u.magFilter=t.LINEAR;var h=a(t),p=a(t),m=a(t),v=a(t),y=a(t),x=i(t,[{buffer:h,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:m,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:p,type:t.FLOAT,size:4}]),b=new f(t,u,s,l,h,p,y,m,v,x,r.traceType||"cone");return b.update(e),b}},{colormap:128,"gl-buffer":254,"gl-mat4/invert":276,"gl-mat4/multiply":278,"gl-shader":311,"gl-texture2d":326,"gl-vao":331,ndarray:455}],257:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},{glslify:412}],258:[function(t,e,r){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},{}],259:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":258}],260:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=a(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=i(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders/index"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,a=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var i=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho||!1?2:1)*this.pixelRatio*(a[3]*i+a[7]*s+a[11]*l+a[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var a=-1;a<=1;a+=2){var i=[0,0,0];i[(n+e)%3]=a,r.push(i)}t[e]=r}return t}();function h(t,e,r,n){for(var a=u[n],i=0;i0)(g=u.slice())[s]+=p[1][s],a.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+h(a,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(a)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":261,"gl-buffer":254,"gl-vao":331}],261:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":311,glslify:412}],262:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){a||(a=t.FRAMEBUFFER_UNSUPPORTED,i=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var a=new Array(r),i=0;iu||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var h=1;if("color"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(h>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(h>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+h+" draw buffers")}}var f=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&h>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");f=t.FLOAT}else n.preferFloat&&h>0&&p&&(f=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var m=!1;"stencil"in n&&(m=!!n.stencil);return new d(t,e,r,f,h,g,m,c)};var a,i,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function h(t){switch(t){case a:throw new Error("gl-fbo: Framebuffer unsupported");case i:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function f(t,e,r,a,i,o){if(!a)return null;var s=n(t,e,r,i,a);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,a){var i=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,i),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,a,t.RENDERBUFFER,i),i}function d(t,e,r,n,a,i,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(a);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?d?t.depth=f(r,a,i,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=f(r,a,i,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,a,i,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,a,i,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,a,i,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null);for(v=0;va||r<0||r>a)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var i=c(n),o=0;o>8*p&255;this.pickOffset=r,a.bind();var d=a.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=a.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),h.pick=function(t,e,r){var n=this.pickOffset,a=this.shape[0]*this.shape[1];if(r=n+a)return null;var i=r-n,o=this.xData,s=this.yData;return{object:this,pointId:i,dataCoord:[o[i%this.shape[0]],s[i/this.shape[0]|0]]}},h.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||a(e[0]),o=t.y||a(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,h=this.bounds,p=h[0]=r[0],d=h[1]=o[0],g=1/((h[2]=r[r.length-1])-p),m=1/((h[3]=o[o.length-1])-d),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(f.length>>>1);this.numVertices=x;for(var b=i.mallocUint8(4*x),_=i.mallocFloat32(2*x),w=i.mallocUint8(2*x),T=i.mallocUint32(x),k=0,A=0;A max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return a(t,i,o,null,l)},r.createPickShader=function(t){return a(t,i,s,null,l)}},{"gl-shader":311,glslify:412}],267:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=h(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=a(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=i(e,u);d.wrap=e.REPEAT;var g=new v(e,r,o,s,l,d);return g.update(t),g};var n=t("gl-buffer"),a=t("gl-vao"),i=t("gl-texture2d"),o=new Uint8Array(4),s=new Float32Array(o.buffer);var l=t("binary-search-bounds"),c=t("ndarray"),u=t("./lib/shaders"),h=u.createShader,f=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var a=t[n]-e[n];r+=a*a}return Math.sqrt(r)}function g(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function m(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function v(t,e,r,n,a,i){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=a,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=i,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var y=v.prototype;y.isTransparent=function(){return this.hasAlpha},y.isOpaque=function(){return!this.hasAlpha},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:g(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:g(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var a=[],i=[],o=[],s=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],f=t.position||t.positions;if(f){var p=t.color||t.colors||[0,0,0,1],g=t.lineWidth||1,m=!1;t:for(e=1;e0){for(var w=0;w<24;++w)a.push(a[a.length-12]);u+=2,m=!0}continue t}h[0][r]=Math.min(h[0][r],b[r],_[r]),h[1][r]=Math.max(h[1][r],b[r],_[r])}Array.isArray(p[0])?(v=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],y=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):v=y=p,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&v[3]<1&&(this.hasAlpha=!0),x=Array.isArray(g)?g.length>e-1?g[e-1]:g.length>0?g[g.length-1]:[0,0,0,1]:g;var T=s;if(s+=d(b,_),m){for(r=0;r<2;++r)a.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3]);u+=2,m=!1}a.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(a),i.push(s),o.push(f[f.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=i,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;v+=m[h]}if(Math.abs(v-1)>.001)return null;return[f,s(t,m),m]}},{barycentric:76,"polytope-closest-point/lib/closest_point_2d.js":486}],290:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:u,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:f,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},{glslify:412}],291:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),h=t("colormap"),f=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./lib/shaders"),g=t("./lib/closest-point"),m=d.meshShader,v=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v,y,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=a,this.pickShader=i,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=m,this.edgeUVs=v,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function E(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function C(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function L(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function P(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=f(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,a=e.vertexWeights,i=r.length,o=p.mallocFloat32(6*i),s=0,l=0;l0&&((h=this.triShader).bind(),h.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((h=this.lineShader).bind(),h.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((h=this.pointShader).bind(),h.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((h=this.contourShader).bind(),h.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,a=t.projection||w,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:a,clipBounds:i,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,a=new Array(r.length),i=0;ia[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t],r.uniforms.angle=v[t],i.drawArrays(i.TRIANGLES,a[k],a[A]-a[k]))),y[t]&&T&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],i.drawArrays(i.TRIANGLES,w,T)),u[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=M*p*g[t+2],ka[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t+2],r.uniforms.angle=v[t+2],i.drawArrays(i.TRIANGLES,a[k],a[A]-a[k]))),y[t+2]&&T&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],i.drawArrays(i.TRIANGLES,w,T))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,a=r.gl,i=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-i[u])/(i[2+u]-i[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,a.drawArrays(a.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(f=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,a=t.screenBox,i=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],h=i[o],g=i[o+2]-h,m=a[o],v=a[o+2]-m;p[o]=2*l/u*g/v,f[o]=2*(s-c)/u*g/v}d[1]=2*t.pixelRatio/(a[3]-a[1]),d[0]=d[1]*(a[3]-a[1])/(a[2]-a[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=f,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,a,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],h=[-1/0],f=l[o];for(e=0;e=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],f[d]):o.drawLine(e[0],g,e[2],g,p[d],f[d])}}for(d=0;d=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))c.rotate(i,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*a*e/window.innerHeight*(i-c.lastT())/20;c.pan(i,0,0,h*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=t("right-now"),a=t("3d-view"),i=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":54,"has-passive-events":414,"mouse-change":440,"mouse-event-offset":441,"mouse-wheel":443,"right-now":501}],299:[function(t,e,r){var n=t("glslify"),a=t("gl-shader"),i=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec2"}])}},{"gl-shader":311,glslify:412}],300:[function(t,e,r){"use strict";var n=t("./camera.js"),a=t("gl-axes3d"),i=t("gl-axes3d/properties"),o=t("gl-spikes3d"),s=t("gl-select-static"),l=t("gl-fbo"),c=t("a-big-triangle"),u=t("mouse-change"),h=t("gl-mat4/perspective"),f=t("gl-mat4/ortho"),p=t("./lib/shader"),d=t("is-mobile")({tablet:!0,featureDetect:!0});function g(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function m(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function v(t){return"boolean"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e){if(e=document.createElement("canvas"),t.container)t.container.appendChild(e);else document.body.appendChild(e)}var r=t.gl;r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d}));if(!r)throw new Error("webgl not supported");var y=t.bounds||[[-10,-10,-10],[10,10,10]],x=new g,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=a(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],C=[],L=[],P=[],I=!0,z=!0,O=new Array(16),D=new Array(16),R={view:null,projection:O,model:D,_ortho:!1},F=(z=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),B=t.cameraObject||n(e,T),N={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:B,axes:A,axesPixels:null,spikes:S,bounds:y,objects:E,shape:F,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:v(t.autoResize),autoBounds:v(t.autoBounds),autoScale:!!t.autoScale,autoCenter:v(t.autoCenter),clipToBounds:v(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:R,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,z=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},j=[r.drawingBufferWidth/N.pixelRatio|0,r.drawingBufferHeight/N.pixelRatio|0];function V(){if(!N._stopped&&N.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var a=0|Math.ceil(r*N.pixelRatio),i=0|Math.ceil(n*N.pixelRatio);if(a!==e.width||i!==e.height){e.width=a,e.height=i;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",I=!0}}}N.autoResize&&V();function U(){for(var t=E.length,e=P.length,n=0;n0&&0===L[e-1];)L.pop(),P.pop().dispose()}function q(){if(N.contextLost)return!0;r.isContextLost()&&(N.contextLost=!0,N.mouseListener.enabled=!1,N.selection.object=null,N.oncontextloss&&N.oncontextloss())}window.addEventListener("resize",V),N.update=function(t){N._stopped||(t=t||{},I=!0,z=!0)},N.add=function(t){N._stopped||(t.axes=A,E.push(t),C.push(-1),I=!0,z=!0,U())},N.remove=function(t){if(!N._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),C.pop(),I=!0,z=!0,U())}},N.dispose=function(){if(!N._stopped&&(N._stopped=!0,window.removeEventListener("resize",V),e.removeEventListener("webglcontextlost",q),N.mouseListener.enabled=!1,!N.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var c=0;c 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),r.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),r.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},{glslify:412}],302:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("typedarray-pool"),o=t("./lib/shader");function s(t,e,r,n,a){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=a,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,i=a(r),l=a(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),h=new s(t,i,l,c,u);return h.update(e),t.addObject(h),h};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,a=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=a?s:i.mallocFloat32(s.length),c=o?t.idToIndex:i.mallocInt32(n);if(a||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&i<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,a),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/i,l[4]=2/o,l[6]=-2*a[0]/i-1,l[7]=-2*a[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var h=n.getParameter(n.BLEND),f=n.getParameter(n.DITHER);return h&&!this.blend&&n.disable(n.BLEND),f&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),h&&!this.blend&&n.enable(n.BLEND),f&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,a=this.pointCount;if(r=n+a)return null;var i=r-n,o=this.points;return{object:this,pointId:i,dataCoord:[o[2*i],o[2*i+1]]}}},{"./lib/shader":301,"gl-buffer":254,"gl-shader":311,"typedarray-pool":554}],303:[function(t,e,r){e.exports=function(t,e,r,n){var a,i,o,s,l,c=e[0],u=e[1],h=e[2],f=e[3],p=r[0],d=r[1],g=r[2],m=r[3];(i=c*p+u*d+h*g+f*m)<0&&(i=-i,p=-p,d=-d,g=-g,m=-m);1-i>1e-6?(a=Math.acos(i),o=Math.sin(a),s=Math.sin((1-n)*a)/o,l=Math.sin(n*a)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*h+l*g,t[3]=s*f+l*m,t}},{}],304:[function(t,e,r){"use strict";e.exports=function(t){return t||0===t?t.toString():""}},{}],305:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e,r){var i=a[e];i||(i=a[e]={});if(t in i)return i[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,c,u=n(t,o);if(r&&1!==r){for(l=0;l max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),c=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],h={vertex:i,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:i,fragment:c,attributes:u},g={vertex:o,fragment:c,attributes:u},m={vertex:s,fragment:c,attributes:u};function v(t,e){var r=n(t,e),a=r.attributes;return a.position.location=0,a.color.location=1,a.glyph.location=2,a.id.location=3,r}r.createPerspective=function(t){return v(t,h)},r.createOrtho=function(t){return v(t,f)},r.createProject=function(t){return v(t,p)},r.createPickPerspective=function(t){return v(t,d)},r.createPickOrtho=function(t){return v(t,g)},r.createPickProject=function(t){return v(t,m)}},{"gl-shader":311,glslify:412}],307:[function(t,e,r){"use strict";var n=t("is-string-blank"),a=t("gl-buffer"),i=t("gl-vao"),o=t("typedarray-pool"),s=t("gl-mat4/multiply"),l=t("./lib/shaders"),c=t("./lib/glyphs"),u=t("./lib/get-simple-string"),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(t,e){var r=t[0],n=t[1],a=t[2],i=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*a+e[12]*i,t[1]=e[1]*r+e[5]*n+e[9]*a+e[13]*i,t[2]=e[2]*r+e[6]*n+e[10]*a+e[14]*i,t[3]=e[3]*r+e[7]*n+e[11]*a+e[15]*i,t}function p(t,e,r,n){return f(n,n),f(n,n),f(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function g(t){return!0===t||t>1?1:t}function m(t,e,r,n,a,i,o,s,l,c,u,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=a,this.colorBuffer=i,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),h=a(e),f=a(e),p=a(e),d=a(e),g=i(e,[{buffer:h,size:3,type:e.FLOAT},{buffer:f,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new m(e,r,n,o,h,f,p,d,g,s,c,u);return v.update(t),v};var v=m.prototype;v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},v.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=h.slice(),k=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function C(t,e,r,n){var a,i=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,d=e.axesBounds,g=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=f,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=g,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var m=0;m<3;++m)if(i[m]){l.scale=e.projectScale[m],l.opacity=e.projectOpacity[m];for(var v=T,C=0;C<16;++C)v[C]=0;for(C=0;C<4;++C)v[5*C]=1;v[5*m]=0,a[m]<0?v[12+m]=d[0][m]:v[12+m]=d[1][m],s(v,c,v),l.model=v;var L=(m+1)%3,P=(m+2)%3,I=M(x),z=M(b);I[L]=1,z[P]=1;var O=p(0,0,0,S(_,I)),D=p(0,0,0,S(w,z));if(Math.abs(O[1])>Math.abs(D[1])){var R=O;O=D,D=R,R=I,I=z,z=R;var F=L;L=P,P=F}O[0]<0&&(I[L]=-1),D[1]>0&&(z[P]=-1);var B=0,N=0;for(C=0;C<4;++C)B+=Math.pow(c[4*L+C],2),N+=Math.pow(c[4*P+C],2);I[L]/=Math.sqrt(B),z[P]/=Math.sqrt(N),l.axes[0]=I,l.axes[1]=z,l.fragClipBounds[0]=E(k,g[0],m,-1e8),l.fragClipBounds[1]=E(k,g[1],m,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function P(t,e,r,n,a,i,o){var s=r.gl;if((i===r.projectHasAlpha||o)&&C(e,r,n,a),i===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||h,l.view=n.view||h,l.projection=n.projection||h,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=L,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=a,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*a),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function I(t,e,r,a){var i;i=Array.isArray(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var a=0;a<3;++a)n.position[a]=n.dataCoordinate[a]=r[a];return n},v.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,a=e>>16&255;this.highlightId=[r/255,n/255,a/255,0]}else this.highlightId=[1,1,1,1]},v.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=g(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=g(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var a,i,s=t.position,l=t.font||"normal",c=t.alignment||[0,0];if(2===c.length)a=c[0],i=c[1];else{a=[],i=[];for(n=0;n0){var z=0,O=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(v)&&Array.isArray(v[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;h[T]=Math.max(h[T],w[T]),u[T]=Math.min(u[T],w[T])}k=(N=I(f,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(V=F?n0?1-M[0][0]:Y<0?1+M[1][0]:1,W*=W>0?1-M[0][1]:W<0?1+M[1][1]:1],X=k.cells||[],J=k.positions||[];for(T=0;T0){var v=r*u;o.drawBox(h-v,f-v,p+v,f+v,i),o.drawBox(h-v,d-v,p+v,d+v,i),o.drawBox(h-v,f-v,h+v,d+v,i),o.drawBox(p-v,f-v,p+v,d+v,i)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{"./lib/shaders":308,"gl-buffer":254,"gl-shader":311}],310:[function(t,e,r){"use strict";e.exports=function(t,e){var r=e[0],i=e[1],o=n(t,r,i,{}),s=a.mallocUint8(r*i*4);return new c(t,o,s)};var n=t("gl-fbo"),a=t("typedarray-pool"),i=t("ndarray"),o=t("bit-twiddle").nextPow2,s=t("cwise/lib/wrapper")({args:["array",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},"scalar","scalar","index"],pre:{body:"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},body:{body:"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_fthis.buffer.length){a.free(this.buffer);for(var n=this.buffer=a.mallocUint8(o(r*e*4)),i=0;ir)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[y]=M}var S=new Array(r.length);function E(){f.program=o.program(p,f._vref,f._fref,b,_);for(var t=0;t=0){if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);o(t,e,p[0],a,d,i,h)}else{if(!(f.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+h+": "+f);var d;if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);s(t,e,p,a,d,i,h)}}}return i};var n=t("./GLError");function a(t,e,r,n,a,i){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=a,this._constFunc=i}var i=a.prototype;function o(t,e,r,n,i,o,s){for(var l=["gl","v"],c=[],u=0;u4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+i+"fv(locations["+e+"],false,obj"+t+")"}throw new a("","Unknown uniform data type for "+name+": "+r)}if((i=r.charCodeAt(r.length-1)-48)<2||i>4)throw new a("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+i+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+i+"fv(locations["+e+"],obj"+t+")";default:throw new a("","Unrecognized data type for vector "+name+": "+r)}}}function c(e){for(var n=["return function updateProperty(obj){"],a=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var a in r){var i=r[a],o=e;parseInt(a)+""===a?o+="["+a+"]":o+="."+a,"object"==typeof i?n.push.apply(n,t(o,i)):n.push([o,i])}return n}("",e),i=0;i4)throw new a("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new a("","Unknown uniform data type for "+name+": "+t)}}(r[u].type);var p}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in i||(i[s[0]]=[]),i=i[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},{glslify:412}],322:[function(t,e,r){"use strict";var n=t("gl-vec3"),a=t("gl-vec4"),i=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e,r,i){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(f[T],p[T],p[k],p[k],f[k],f[T]),h.push(y,v,v,v,y,y),d.push(g,m,m,m,g,g);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=y;y=v,v=S;var E=g;g=m,m=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}}(t,r,i,o)})),h=[],f=[],p=[],d=[];for(s=0;se)return r-1}return r},l=function(t,e,r){return tr?r:t},c=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nh-1||y>f-1||x>p-1)return n.create();var b,_,w,T,k,A,M=i[0][d],S=i[0][v],E=i[1][g],C=i[1][y],L=i[2][m],P=(o-M)/(S-M),I=(c-E)/(C-E),z=(u-L)/(i[2][x]-L);switch(isFinite(P)||(P=.5),isFinite(I)||(I=.5),isFinite(z)||(z=.5),r.reversedX&&(d=h-1-d,v=h-1-v),r.reversedY&&(g=f-1-g,y=f-1-y),r.reversedZ&&(m=p-1-m,x=p-1-x),r.filled){case 5:k=m,A=x,w=g*p,T=y*p,b=d*p*f,_=v*p*f;break;case 4:k=m,A=x,b=d*p,_=v*p,w=g*p*h,T=y*p*h;break;case 3:w=g,T=y,k=m*f,A=x*f,b=d*f*p,_=v*f*p;break;case 2:w=g,T=y,b=d*f,_=v*f,k=m*f*h,A=x*f*h;break;case 1:b=d,_=v,k=m*h,A=x*h,w=g*h*p,T=y*h*p;break;default:b=d,_=v,w=g*h,T=y*h,k=m*h*f,A=x*h*f}var O=a[b+w+k],D=a[b+w+A],R=a[b+T+k],F=a[b+T+A],B=a[_+w+k],N=a[_+w+A],j=a[_+T+k],V=a[_+T+A],U=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(U,O,B,P),n.lerp(q,D,N,P),n.lerp(H,R,j,P),n.lerp(G,F,V,P);var Y=n.create(),W=n.create();n.lerp(Y,U,H,I),n.lerp(W,q,G,I);var Z=n.create();return n.lerp(Z,Y,W,z),Z}(e,t,p)},g=t.getDivergence||function(t,e){var r=n.create(),a=1e-4;n.add(r,t,[a,0,0]);var i=d(r);n.subtract(i,i,e),n.scale(i,i,1/a),n.add(r,t,[0,a,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/a),n.add(r,t,[0,0,a]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/a),n.add(r,i,o),n.add(r,r,s),r},m=[],v=e[0][0],y=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/a,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],a={},i={},o={},s=t.length,l=0;lS&&(S=F),D.push(F),m.push({points:P,velocities:I,divergences:D});for(var B=0;B<100*a&&P.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,L),z=d(N),n.squaredDistance(O,N)-A>-1e-4*A){P.push(N),O=N,I.push(z);R=g(N,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F)}L=N}}var V=o(m,t.colormap,S,M);return h?V.tubeScale=h:(0===S&&(S=1),V.tubeScale=.5*u*M/S),V};var u=t("./lib/shaders"),h=t("gl-cone3d").createMesh;e.exports.createTubeMesh=function(t,e){return h(t,e,{shaders:u,traceType:"streamtube"})}},{"./lib/shaders":321,"gl-cone3d":255,"gl-vec3":350,"gl-vec4":386}],323:[function(t,e,r){var n=t("gl-shader"),a=t("glslify"),i=a(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 localCoordinate = vec3(uv.zw, f.x);\n worldCoordinate = objectOffset + localCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n vec4 clipPosition = projection * view * worldPosition;\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=a(["precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color \u2014 in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=a(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);r.createShader=function(t){var e=n(t,i,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,i,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{"gl-shader":311,glslify:412}],324:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=a(e),u=i(e,[{buffer:c,size:4,stride:40,offset:0},{buffer:c,size:3,stride:40,offset:16},{buffer:c,size:3,stride:40,offset:28}]),h=a(e),f=i(e,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=a(e),d=i(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var m=new M(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,h,f,p,d,[0,0,0]),v={levels:[[],[],[]]};for(var w in t)v[w]=t[w];return v.colormap=v.colormap||"jet",m.update(v),m};var n=t("bit-twiddle"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),c=t("ndarray-ops"),u=t("ndarray-pack"),h=t("ndarray"),f=t("surface-nets"),p=t("gl-mat4/multiply"),d=t("gl-mat4/invert"),g=t("binary-search-bounds"),m=t("ndarray-gradient"),v=t("./lib/shaders"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function A(t,e,r,n,a){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=a}!function(){for(var t=0;t<3;++t){var e=k[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();function M(t,e,r,n,a,i,o,l,c,u,f,p,d,g,m){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=m,this.intensityBounds=[],this._shader=n,this._pickShader=a,this._coordinateBuffer=i,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.opacityscale=!1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var S=M.prototype;S.isTransparent=function(){return this.opacity<1||this.opacityscale},S.isOpaque=function(){if(this.opacityscale)return!1;if(this.opacity<1)return!1;if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0)return!0;return!1},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],C={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function L(t,e){var r,n,a,i=e.axes&&e.axes.lastCubeProps.axis||E,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=C.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(i[r]>0)][r],p(l,t.model,l);var c=C.clipBounds[r];for(a=0;a<2;++a)for(n=0;n<3;++n)c[a][n]=t.clipBounds[a][n];c[0][r]=-1e8,c[1][r]=1e8}return C.showSurface=o,C.showContour=s,C}var P={model:w,view:w,projection:w,inverseModel:w.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},I=w.slice(),z=[1,0,0,0,1,0,0,0,1];function O(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var a=0;a<2;++a)for(var i=n.clipBounds[a],o=0;o<3;++o)i[o]=Math.min(Math.max(this.clipBounds[a][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=z,n.vertexColor=this.vertexColor;var s=I;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),a=0;a<3;++a)n.eyePosition[a]=s[12+a]/s[15];var l=s[15];for(a=0;a<3;++a)l+=this.lightPosition[a]*s[4*a+3];for(a=0;a<3;++a){var c=s[12+a];for(o=0;o<3;++o)c+=s[4*o+a]*this.lightPosition[o];n.lightPosition[a]=c/l}var u=L(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),a=0;a<3;++a)this.surfaceProject[a]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[a],this._shader.uniforms.clipBounds=u.clipBounds[a],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),a=0;a<3;++a)for(h.uniforms.permutation=k[a],r.lineWidth(this.contourWidth[a]*this.pixelRatio),o=0;o>4)/16)/255,a=Math.floor(n),i=n-a,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;a+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?i:1-i,f=0;f<2;++f)for(var p=a+u,d=s+f,m=h*(f?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*m;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=i<.5?a:a+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},S.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=R(t.contourWidth,Number)),"showContour"in t&&(this.showContour=R(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=R(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=B(t.contourColor)),"contourProject"in t&&(this.contourProject=R(t.contourProject,(function(t){return R(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=B(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=R(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=R(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var a=(e.shape[0]+2)*(e.shape[1]+2);a>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(a))),this._field[2]=h(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[i[0]+2,i[1]+2]);if(t.coords){var p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==i[b])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var v=g[o];if((Array.isArray(v)||v.length)&&(v=h(v)),v.shape[0]!==i[o])throw new Error("gl-surface: invalid tick length");var y=h(v.data,i);y.stride[o]=v.stride[0],y.stride[1^o]=0,this.padField(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=h(this._field[o].data,[i[0]+2,i[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b0){for(var wt=0;wt<5;++wt)et.pop();H-=1}continue t}et.push(ot[0],ot[1],ct[0],ct[1],ot[2]),H+=1}}it.push(H)}this._contourOffsets[rt]=at,this._contourCounts[rt]=it}var Tt=s.mallocFloat(et.length);for(o=0;ot&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(r/255,e):1;return[t[0],t[1],t[2],255*n]}))]);return c.divseq(r,255),r}(t.colormap,this.opacityscale))},S.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},S.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,a=this.shape,i=s.mallocFloat(12*a[0]*a[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,c=(o+2)%3,u=this._field[o],h=this._field[l],p=this._field[c],d=f(u,r[o]),g=d.cells,m=d.positions;for(this._dynamicOffsets[o]=n,e=0;e halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=a(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=h(t.viewport),T.normalViewport&&(this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,i=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var a=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&a==e.font[r].baseString||(i=!0,e.font[r]=T.fonts[a],e.font[r]))){var c=t.family.join(", "),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:a,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:v(c,{origin:"top",fontSize:T.baseFontSize,fontStyle:u.join(" ")})},T.fonts[a]=e.font[r]}})),(i||o)&&this.font.forEach((function(r,a){var i=n.stringify({size:e.fontSize[a],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[a]=e.shader.atlas[i],!e.fontAtlas[a]){var o=r.metrics;e.shader.atlas[i]=e.fontAtlas[a]={fontString:i,step:2*Math.ceil(e.fontSize[a]*o.bottom*.5),em:e.fontSize[a],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),f=0;f2){for(var w=!t.position[0].length,k=u.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,a=0;return a+=.5*n.bottom,a+="number"==typeof t?t-n.baseline:-n[t],T.normalViewport||(a*=-1),a}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var Y=(t.color.subarray||t.color.slice).bind(t.color),W=0;W4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.normalViewport=!1,T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},e.exports=T},{"bit-twiddle":95,"color-normalize":122,"css-font":141,"detect-kerning":168,"es6-weak-map":229,"flatten-vertex-data":240,"font-atlas":241,"font-measure":242,"gl-util/context":327,"is-plain-obj":426,"object-assign":459,"parse-rect":464,"parse-unit":466,"pick-by-alias":470,regl:499,"to-px":537,"typedarray-pool":554}],326:[function(t,e,r){"use strict";var n=t("ndarray"),a=t("ndarray-ops"),i=t("typedarray-pool");e.exports=function(t){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");o||c(t);if("number"==typeof arguments[1])return v(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return v(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if("object"==typeof arguments[1]){var e=arguments[1],r=u(e)?e:e.raw;if(r)return y(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return x(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}function u(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var h=function(t,e){a.muls(t,e,255)};function f(t,e,r){var n=t.gl,a=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function p(t,e,r,n,a,i){this.gl=t,this.handle=e,this.format=a,this.type=i,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var d=p.prototype;function g(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function m(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function v(t,e,r,n,a){var i=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture shape");if(a===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=m(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,a,null),new p(t,o,e,r,n,a)}function y(t,e,r,n,a,i){var o=m(t);return t.texImage2D(t.TEXTURE_2D,0,a,a,i,e),new p(t,o,r,n,a,i)}function x(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=g(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var u,f,d=0;if(2===o.length)d=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])d=t.ALPHA;else if(2===o[2])d=t.LUMINANCE_ALPHA;else if(3===o[2])d=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");d=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)u=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];f=i.malloc(v,r);var x=n(f,o,y,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?a.assign(x,e):h(x,e),u=f.subarray(0,v)}var b=m(t);return t.texImage2D(t.TEXTURE_2D,0,d,o[0],o[1],0,d,c,u),l||i.free(f),new p(t,b,o[0],o[1],d,c)}Object.defineProperties(d,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),d.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},d.dispose=function(){this.gl.deleteTexture(this.handle)},d.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},d.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,u){var f=u.dtype,p=u.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var d=0,m=0,v=g(p,u.stride.slice());"float32"===f?d=t.FLOAT:"float64"===f?(d=t.FLOAT,v=!1,f="float32"):"uint8"===f?d=t.UNSIGNED_BYTE:(d=t.UNSIGNED_BYTE,v=!1,f="uint8");if(2===p.length)m=t.LUMINANCE,p=[p[0],p[1],1],u=n(u.data,p,[u.stride[0],u.stride[1],1],u.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])m=t.ALPHA;else if(2===p[2])m=t.LUMINANCE_ALPHA;else if(3===p[2])m=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");m=t.RGBA}p[2]}m!==t.LUMINANCE&&m!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(m=s);if(m!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=u.size,x=c.indexOf(o)<0;x&&c.push(o);if(d===l&&v)0===u.offset&&u.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data.subarray(u.offset,u.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data.subarray(u.offset,u.offset+y));else{var b;b=l===t.FLOAT?i.mallocFloat32(y):i.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);d===t.FLOAT&&l===t.UNSIGNED_BYTE?h(_,u):a.assign(_,u),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?i.freeFloat32(b):i.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:455,"ndarray-ops":449,"typedarray-pool":554}],327:[function(t,e,r){(function(r){"use strict";var n=t("pick-by-alias");function a(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function i(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}e.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},i(t)?t={container:t}:t="string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=r.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}i(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),a(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),a(t)}if(!t.gl)try{t.gl=t.canvas.getContext("webgl",t.attrs)}catch(e){try{t.gl=t.canvas.getContext("experimental-webgl",t.attrs)}catch(e){t.gl=t.canvas.getContext("webgl-experimental",t.attrs)}}return t.gl}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"pick-by-alias":470}],328:[function(t,e,r){"use strict";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var a=0;a1?0:Math.acos(s)};var n=t("./fromValues"),a=t("./normalize"),i=t("./dot")},{"./dot":343,"./fromValues":349,"./normalize":360}],334:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],335:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],336:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],337:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],338:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2];return t[0]=a*l-i*s,t[1]=i*o-n*l,t[2]=n*s-a*o,t}},{}],339:[function(t,e,r){e.exports=t("./distance")},{"./distance":340}],340:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.sqrt(r*r+n*n+a*a)}},{}],341:[function(t,e,r){e.exports=t("./divide")},{"./divide":342}],342:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],343:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],344:[function(t,e,r){e.exports=1e-6},{}],345:[function(t,e,r){e.exports=function(t,e){var r=t[0],a=t[1],i=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(a-s)<=n*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(i-l)<=n*Math.max(1,Math.abs(i),Math.abs(l))};var n=t("./epsilon")},{"./epsilon":344}],346:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],347:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],348:[function(t,e,r){e.exports=function(t,e,r,a,i,o){var s,l;e||(e=3);r||(r=0);l=a?Math.min(a*e+r,t.length):t.length;for(s=r;s0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i);return t}},{}],361:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,a=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=n*e,t}},{}],362:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[1],i=r[2],o=e[1]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=a+o*c-s*l,t[2]=i+o*l+s*c,t}},{}],363:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[2],o=e[0]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+s*l+o*c,t[1]=e[1],t[2]=i+s*c-o*l,t}},{}],364:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[1],o=e[0]-a,s=e[1]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+o*c-s*l,t[1]=i+o*l+s*c,t[2]=e[2],t}},{}],365:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],366:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],367:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],368:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],369:[function(t,e,r){e.exports=t("./squaredDistance")},{"./squaredDistance":371}],370:[function(t,e,r){e.exports=t("./squaredLength")},{"./squaredLength":372}],371:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return r*r+n*n+a*a}},{}],372:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],373:[function(t,e,r){e.exports=t("./subtract")},{"./subtract":374}],374:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],375:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t}},{}],376:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,t}},{}],377:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t}},{}],378:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],379:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],380:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],381:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],382:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(r*r+n*n+a*a+i*i)}},{}],383:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],384:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],385:[function(t,e,r){e.exports=function(t,e,r,n){var a=new Float32Array(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=n,a}},{}],386:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),add:t("./add"),subtract:t("./subtract"),multiply:t("./multiply"),divide:t("./divide"),min:t("./min"),max:t("./max"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),squaredDistance:t("./squaredDistance"),length:t("./length"),squaredLength:t("./squaredLength"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformQuat:t("./transformQuat")}},{"./add":378,"./clone":379,"./copy":380,"./create":381,"./distance":382,"./divide":383,"./dot":384,"./fromValues":385,"./inverse":387,"./length":388,"./lerp":389,"./max":390,"./min":391,"./multiply":392,"./negate":393,"./normalize":394,"./random":395,"./scale":396,"./scaleAndAdd":397,"./set":398,"./squaredDistance":399,"./squaredLength":400,"./subtract":401,"./transformMat4":402,"./transformQuat":403}],387:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],388:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return Math.sqrt(e*e+r*r+n*n+a*a)}},{}],389:[function(t,e,r){e.exports=function(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],390:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],391:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],392:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],393:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],394:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*r+n*n+a*a+i*i;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=a*o,t[3]=i*o);return t}},{}],395:[function(t,e,r){var n=t("./normalize"),a=t("./scale");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),a(t,t,e),t}},{"./normalize":394,"./scale":396}],396:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],397:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],398:[function(t,e,r){e.exports=function(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t}},{}],399:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return r*r+n*n+a*a+i*i}},{}],400:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return e*e+r*r+n*n+a*a}},{}],401:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],402:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}},{}],403:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t[3]=e[3],t}},{}],404:[function(t,e,r){var n=t("glsl-tokenizer"),a=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return A(r),v+=r.length,(p=p.slice(r.length)).length}}function I(){return/[^a-fA-F0-9]/.test(e)?(A(p.join("")),f=999,u):(p.push(e),r=e,u+1)}function z(){return"."===e||/[eE]/.test(e)?(p.push(e),f=5,r=e,u+1):"x"===e&&1===p.length&&"0"===p[0]?(f=11,p.push(e),r=e,u+1):/[^\d]/.test(e)?(A(p.join("")),f=999,u):(p.push(e),r=e,u+1)}function O(){return"f"===e&&(p.push(e),r=e,u+=1),/[eE]/.test(e)?(p.push(e),r=e,u+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(A(p.join("")),f=999,u):(p.push(e),r=e,u+1)}function D(){if(/[^\d\w_]/.test(e)){var t=p.join("");return f=k[t]?8:T[t]?7:6,A(p.join("")),f=999,u}return p.push(e),r=e,u+1}};var n=t("./lib/literals"),a=t("./lib/operators"),i=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":407,"./lib/builtins-300es":406,"./lib/literals":409,"./lib/literals-300es":408,"./lib/operators":410}],406:[function(t,e,r){var n=t("./builtins");n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":407}],407:[function(t,e,r){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],408:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":409}],409:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},{}],410:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],411:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),a=[];return a=(a=a.concat(r(t))).concat(r(null))}},{"./index":405}],412:[function(t,e,r){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},r.write=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],416:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var a=t[0].length;if(r<=a)throw new Error("Must input at least d+1 points");var o=t.slice(0,a+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(a+1),u=0;u<=a;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);var h=new i(l,new Array(a+1),!1),f=h.adjacent,p=new Array(a+2);for(u=0;u<=a;++u){for(var d=l.slice(),g=0;g<=a;++g)g===u&&(d[g]=-1);var m=d[0];d[0]=d[1],d[1]=m;var v=new i(d,new Array(a+1),!0);f[u]=v,p[u]=v}p[a+1]=h;for(u=0;u<=a;++u){d=f[u].vertices;var y=f[u].adjacent;for(g=0;g<=a;++g){var x=d[g];if(x<0)y[g]=h;else for(var b=0;b<=a;++b)f[b].vertices.indexOf(x)<0&&(y[g]=f[b])}}var _=new c(a,o,p),w=!!e;for(u=a+1;u0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var a=new Function("test",e.join("")),i=n[t+1];return i||(i=n),a(i)}(t)),this.orient=i}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,a=this.tuple,i=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];a[h]=f<0?e:i[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,i=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)i[u]=a[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=i[u];i[u]=t;var p=this.orient();if(i[u]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var f=[];h.length>0;){var p=(e=h.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var m=0;m<=n;++m)if(m!==g){var v=d[m];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=a[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),h.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),T=d.slice(),k=new i(w,T,!0);u.push(k);var A=_.indexOf(e);if(!(A<0)){_[A]=k,T[g]=v,w[m]=-1,T[m]=e,d[m]=k,k.flip();for(b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===b||(S[E++]=L)}f.push(new o(S,k,b))}}}}}}f.sort(s);for(m=0;m+1=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},{"robust-orientation":507,"simplicial-complex":517}],417:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function a(t,e,r,n,a){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=a,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new v(null);return new v(m(t))};var i=a.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=m(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function c(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function u(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var a=r(t[n]);if(a)return a}}function f(t,e){for(var r=0;r>1],i=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=m([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=m([t]);else{var r=n.ge(this.leftPoints,t,d),a=n.ge(this.rightPoints,t,g);this.leftPoints.splice(r,0,t),this.rightPoints.splice(a,0,t)}},i.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?c(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?c(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,a=this.left;a.right;)r=a,a=a.right;if(r===this)a.right=this.right;else{var i=this.left,s=this.right;r.count-=a.count,r.right=a.left,a.left=i,a.right=s}o(this,a),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(i=n.ge(this.leftPoints,t,d);ithis.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return h(this.rightPoints,t,e)}return f(this.leftPoints,e)},i.queryInterval=function(t,e,r){var n;if(tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return ethis.mid?h(this.rightPoints,t,r):f(this.leftPoints,r)};var y=v.prototype;y.insert=function(t){this.root?this.root.insert(t):this.root=new a(t[0],null,null,[t],[t])},y.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},y.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},y.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(y,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(y,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":418}],418:[function(t,e,r){arguments[4][239][0].apply(r,arguments)},{dup:239}],419:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r - * @license MIT - */ -e.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],423:[function(t,e,r){"use strict";e.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],424:[function(t,e,r){"use strict";e.exports=i,e.exports.isMobile=i,e.exports.default=i;var n=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,a=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function i(t){t||(t={});var e=t.ua;if(e||"undefined"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&"string"==typeof e.headers["user-agent"]&&(e=e.headers["user-agent"]),"string"!=typeof e)return!1;var r=t.tablet?a.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf("Macintosh")&&-1!==e.indexOf("Safari")&&(r=!0),r}},{}],425:[function(t,e,r){"use strict";e.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},{}],426:[function(t,e,r){"use strict";var n=Object.prototype.toString;e.exports=function(t){var e;return"[object Object]"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],427:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],428:[function(t,e,r){"use strict";e.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},{}],429:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],430:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():(t=t||self).mapboxgl=n()}(this,(function(){"use strict";var t,e,r;function n(n,a){if(t)if(e){var i="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),(r=a(o)).workerUrl=window.URL.createObjectURL(new Blob([i],{type:"text/javascript"}))}else e=a;else t=a}return n(0,(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,a,i,o;for(void 0===e&&(e=1e-6),a=t,o=0;o<8;o++){if(i=this.sampleCurveX(a)-t,Math.abs(i)(n=1))return n;for(;ri?r=a:n=a,a=.5*(n-r)+r}return a},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=i;function i(t,e){this.x=t,this.y=e}function o(t,e,n,a){var i=new r(t,e,n,a);return function(t){return i.solve(t)}}i.prototype={clone:function(){return new i(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},i.convert=function(t){return t instanceof i?t:Array.isArray(t)?new i(t[0],t[1]):t};var s=o(.25,.1,.25,1);function l(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,a=((t-e)%n+n)%n+e;return a===e?r:a}function u(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,a=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function d(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function g(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function m(t,e){return-1!==t.indexOf(e,t.length-e.length)}function v(t,e,r){var n={};for(var a in t)n[a]=e.call(r||this,t[a],a,t);return n}function y(t,e,r){var n={};for(var a in t)e.call(r||this,t[a],a,t)&&(n[a]=t[a]);return n}function x(t){return Array.isArray(t)?t.map(x):"object"==typeof t&&t?v(t,x):t}var b={};function _(t){b[t]||("undefined"!=typeof console&&console.warn(t),b[t]=!0)}function w(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function T(t){for(var e=0,r=0,n=t.length,a=n-1,i=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,a){var i=n||a;return e[r]=!i||i.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var M=null;function S(t){if(null==M){var e=t.navigator?t.navigator.userAgent:null;M=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return M}function E(t){try{var e=self[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var C,L,P,I,z=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),O=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,D=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,R={now:z,frame:function(t){var e=O(t);return{cancel:function(){return D(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=self.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return C||(C=self.document.createElement("a")),C.href=t,C.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==L&&(L=self.matchMedia("(prefers-reduced-motion: reduce)")),L.matches)}},F={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},B={supported:!1,testSupport:function(t){!N&&I&&(j?V(t):P=t)}},N=!1,j=!1;function V(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,I),t.isContextLost())return;B.supported=!0}catch(t){}t.deleteTexture(e),N=!0}self.document&&((I=self.document.createElement("img")).onload=function(){P&&V(P),P=null,j=!0},I.onerror=function(){N=!0,P=null},I.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var U="01",q=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function H(t){return 0===t.indexOf("mapbox:")}q.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",U,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},q.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},q.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},q.prototype.normalizeStyleURL=function(t,e){if(!H(t))return t;var r=Z(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeGlyphsURL=function(t,e){if(!H(t))return t;var r=Z(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSourceURL=function(t,e){if(!H(t))return t;var r=Z(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSpriteURL=function(t,e,r,n){var a=Z(t);return H(t)?(a.path="/styles/v1"+a.path+"/sprite"+e+r,this._makeAPIURL(a,this._customAccessToken||n)):(a.path+=""+e+r,X(a))},q.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!H(t))return t;var r=Z(t);r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,(R.devicePixelRatio>=2||512===e?"@2x":"")+(B.supported?".webp":"$1")),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var n=this._customAccessToken||function(t){for(var e=0,r=t;e=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){_("Unable to write to LocalStorage")}},K.prototype.processRequests=function(t){},K.prototype.postEvent=function(t,e,r,n){var a=this;if(F.EVENTS_URL){var i=Z(F.EVENTS_URL);i.params.push("access_token="+(n||F.ACCESS_TOKEN||""));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:"1.10.1",skuId:U,userId:this.anonId},s=e?u(o,e):o,l={url:X(i),headers:{"Content-Type":"text/plain"},body:JSON.stringify([s])};this.pendingRequest=xt(l,(function(t){a.pendingRequest=null,r(t),a.saveEventData(),a.processRequests(n)}))}},K.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var Q,$,tt=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(F.EVENTS_URL&&n||F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return H(t)||Y(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,a=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),d(this.anonId)||(this.anonId=p()),this.postEvent(a,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(K),et=new(function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postTurnstileEvent=function(t,e){F.EVENTS_URL&&F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return H(t)||Y(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=J(F.ACCESS_TOKEN),n=r?r.u:F.ACCESS_TOKEN,a=n!==this.eventData.tokenU;d(this.anonId)||(this.anonId=p(),a=!0);var i=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(i),l=(i-this.eventData.lastSuccess)/864e5;a=a||l>=1||l<-1||o.getDate()!==s.getDate()}else a=!0;if(!a)return this.processRequests();this.postEvent(i,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=i,e.eventData.tokenU=n)}),t)}},e}(K)),rt=et.postTurnstileEvent.bind(et),nt=new tt,at=nt.postMapLoadEvent.bind(nt),it=500,ot=50;function st(){self.caches&&!Q&&(Q=self.caches.open("mapbox-tiles"))}function lt(t){var e=t.indexOf("?");return e<0?t:t.slice(0,e)}var ct,ut=1/0;function ht(){return null==ct&&(ct=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof self.createImageBitmap),ct}var ft={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(ft);var pt,dt,gt=function(t){function e(e,r,n){401===r&&Y(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),mt=k()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===self.location.protocol?self.parent:self).location.href},vt=function(t,e){if(!(/^file:/.test(r=t.url)||/^file:/.test(mt())&&!/^\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return function(t,e){var r,n=new self.AbortController,a=new self.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:mt(),signal:n.signal}),i=!1,o=!1,s=(r=a.url).indexOf("sku=")>0&&Y(r);"json"===t.type&&a.headers.set("Accept","application/json");var l=function(r,n,i){if(!o){if(r&&"SecurityError"!==r.message&&_(r),n&&i)return c(n);var l=Date.now();self.fetch(a).then((function(r){if(r.ok){var n=s?r.clone():null;return c(r,n,l)}return e(new gt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&function(t,e,r){if(st(),Q){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var a=A(e.headers.get("Cache-Control")||"");a["no-store"]||(a["max-age"]&&n.headers.set("Expires",new Date(r+1e3*a["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<42e4||function(t,e){if(void 0===$)try{new Response(new ReadableStream),$=!0}catch(t){$=!1}$?e(t.body):t.blob().then(e)}(e,(function(e){var r=new self.Response(e,n);st(),Q&&Q.then((function(e){return e.put(lt(t.url),r)})).catch((function(t){return _(t.message)}))})))}}(a,n,s),i=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return s?function(t,e){if(st(),!Q)return e(null);var r=lt(t.url);Q.then((function(t){t.match(r).then((function(n){var a=function(t){if(!t)return!1;var e=new Date(t.headers.get("Expires")||0),r=A(t.headers.get("Cache-Control")||"");return e>Date.now()&&!r["no-cache"]}(n);t.delete(r),a&&t.put(r,n.clone()),e(null,n,a)})).catch(e)})).catch(e)}(a,l):l(null,null),{cancel:function(){o=!0,i||n.abort()}}}(t,e);if(k()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e,void 0,!0)}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new gt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},yt=function(t,e){return vt(u(t,{type:"arrayBuffer"}),e)},xt=function(t,e){return vt(u(t,{method:"POST"}),e)};pt=[],dt=0;var bt=function(t,e){if(B.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),dt>=F.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return pt.push(r),r}dt++;var n=!1,a=function(){if(!n)for(n=!0,dt--;pt.length&&dt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},At.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Mt={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},St=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Et(t){var e=t.value;return e?[new St(t.key,e,"constants have been deprecated as of v8")]:[]}function Ct(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,a=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var Yt=[Ot,Dt,Rt,Ft,Bt,Ut,Nt,Ht(jt),qt];function Wt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Wt(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=Yt;r255?255:t}function a(t){return n("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function i(t){return(e="%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e}function o(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,s=t.replace(/ /g,"").toLowerCase();if(s in r)return r[s].slice();if("#"===s[0])return 4===s.length?(e=parseInt(s.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===s.length&&(e=parseInt(s.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=s.indexOf("("),c=s.indexOf(")");if(-1!==l&&c+1===s.length){var u=s.substr(0,l),h=s.substr(l+1,c-(l+1)).split(","),f=1;switch(u){case"rgba":if(4!==h.length)return null;f=i(h.pop());case"rgb":return 3!==h.length?null:[a(h[0]),a(h[1]),a(h[2]),f];case"hsla":if(4!==h.length)return null;f=i(h.pop());case"hsl":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=i(h[1]),g=i(h[2]),m=g<=.5?g*(d+1):g+d-g*d,v=2*g-m;return[n(255*o(v,m,p+1/3)),n(255*o(v,m,p)),n(255*o(v,m,p-1/3)),f];default:return null}}return null}}catch(t){}})).parseCSSColor,Kt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};Kt.parse=function(t){if(t){if(t instanceof Kt)return t;if("string"==typeof t){var e=Jt(t);if(e)return new Kt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},Kt.prototype.toString=function(){var t=this.toArray(),e=t[1],r=t[2],n=t[3];return"rgba("+Math.round(t[0])+","+Math.round(e)+","+Math.round(r)+","+n+")"},Kt.prototype.toArray=function(){var t=this.a;return 0===t?[0,0,0,0]:[255*this.r/t,255*this.g/t,255*this.b/t,t]},Kt.black=new Kt(0,0,0,1),Kt.white=new Kt(1,1,1,1),Kt.transparent=new Kt(0,0,0,0),Kt.red=new Kt(1,0,0,1);var Qt=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};Qt.prototype.compare=function(t,e){return this.collator.compare(t,e)},Qt.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var $t=function(t,e,r,n,a){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=a},te=function(t){this.sections=t};te.fromString=function(t){return new te([new $t(t,null,null,null,null)])},te.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},te.factory=function(t){return t instanceof te?t:te.fromString(t)},te.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},te.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function ne(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof Kt)return!0;if(t instanceof Qt)return!0;if(t instanceof te)return!0;if(t instanceof ee)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in le)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);i=le[s],n++}else i=jt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=Ht(i,o)}else r=le[a];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var ue=function(t){this.type=Ut,this.sections=t};ue.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],a=!1,i=1;i<=t.length-1;++i){var o=t[i];if(a&&"object"==typeof o&&!Array.isArray(o)){a=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Dt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,Ht(Rt))))return null;var c=null;if(o["text-color"]&&!(c=e.parse(o["text-color"],1,Bt)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var h=e.parse(t[i],1,jt);if(!h)return null;var f=h.type.kind;if("string"!==f&&"value"!==f&&"null"!==f&&"resolvedImage"!==f)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");a=!0,n.push({content:h,scale:null,font:null,textColor:null})}}return new ue(n)},ue.prototype.evaluate=function(t){return new te(this.sections.map((function(e){var r=e.content.evaluate(t);return ae(r)===qt?new $t("",r,null,null,null):new $t(ie(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},ue.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},he.prototype.eachChild=function(t){t(this.input)},he.prototype.outputDefined=function(){return!1},he.prototype.serialize=function(){return["image",this.input.serialize()]};var fe={"to-boolean":Ft,"to-color":Bt,"to-number":Dt,"to-string":Rt},pe=function(t,e){this.type=t,this.args=e};pe.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=fe[r],a=[],i=1;i4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":re(e[0],e[1],e[2],e[3])))return new Kt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new se(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function be(t,e){var r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,a=Math.pow(2,e.z);return[Math.round(r*a*8192),Math.round(n*a*8192)]}function _e(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function we(t,e){for(var r,n,a,i,o,s,l,c=!1,u=0,h=e.length;u0&&s<0||o<0&&s>0}function Ae(t,e,r){for(var n=0,a=r;nr[2]){var a=.5*n,i=t[0]-r[0]>a?-n:r[0]-t[0]>a?n:0;0===i&&(i=t[0]-r[2]>a?-n:r[2]-t[0]>a?n:0),t[0]+=i}ye(e,t)}function Pe(t,e,r,n){for(var a=8192*Math.pow(2,n.z),i=[8192*n.x,8192*n.y],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Re(t,e)&&(r=!1)})),r}ze.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(ne(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new se("Input is not a number.");i=o-1}return 0}Be.prototype.parse=function(t,e,r,n,a){return void 0===a&&(a={}),e?this.concat(e,r,n)._parse(t,a):this._parse(t,a)},Be.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new ce(e,[t]):"coerce"===r?new pe(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var a=this.registry[n];if(a){var i=a.parse(t,this);if(!i)return null;if(this.expectedType){var o=this.expectedType,s=i.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else i=r(i,o,e.typeAnnotation||"coerce");else i=r(i,o,e.typeAnnotation||"assert")}if(!(i instanceof oe)&&"resolvedImage"!==i.type.kind&&function t(e){if(e instanceof Fe)return t(e.boundExpression);if(e instanceof me&&"error"===e.name)return!1;if(e instanceof ve)return!1;if(e instanceof ze)return!1;var r=e instanceof pe||e instanceof ce,n=!0;return e.eachChild((function(e){n=r?n&&t(e):n&&e instanceof oe})),!!n&&Oe(e)&&Re(e,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}(i)){var l=new ge;try{i=new oe(i.type,i.evaluate(l))}catch(t){return this.error(t.message),null}}return i}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return this.error(void 0===t?"'undefined' value invalid. Use null instead.":"object"==typeof t?'Bare objects invalid. Use ["literal", {...}] instead.':"Expected an array, but found "+typeof t+" instead.")},Be.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,a=r?this.scope.concat(r):this.scope;return new Be(this.registry,n,e||null,a,this.errors)},Be.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new It(n,t))},Be.prototype.checkSubtype=function(t,e){var r=Wt(t,e);return r&&this.error(r),r};var je=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,a=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,a);if(!u)return null;a=a||u.type,n.push([o,u])}return new je(a,r,n)},je.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;return n>=e[a-1]?r[a-1].evaluate(t):r[Ne(e,n)].evaluate(t)},je.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var Ue=Object.freeze({__proto__:null,number:Ve,color:function(t,e,r){return new Kt(Ve(t.r,e.r,r),Ve(t.g,e.g,r),Ve(t.b,e.b,r),Ve(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Ve(t,e[n],r)}))}}),qe=6/29*3*(6/29),He=Math.PI/180,Ge=180/Math.PI;function Ye(t){return t>.008856451679035631?Math.pow(t,1/3):t/qe+4/29}function We(t){return t>6/29?t*t*t:qe*(t-4/29)}function Ze(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Xe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Je(t){var e=Xe(t.r),r=Xe(t.g),n=Xe(t.b),a=Ye((.4124564*e+.3575761*r+.1804375*n)/.95047),i=Ye((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*i-16,a:500*(a-i),b:200*(i-Ye((.0193339*e+.119192*r+.9503041*n)/1.08883)),alpha:t.a}}function Ke(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*We(e),r=.95047*We(r),n=1.08883*We(n),new Kt(Ze(3.2404542*r-1.5371385*e-.4985314*n),Ze(-.969266*r+1.8760108*e+.041556*n),Ze(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function Qe(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var $e={forward:Je,reverse:Ke,interpolate:function(t,e,r){return{l:Ve(t.l,e.l,r),a:Ve(t.a,e.a,r),b:Ve(t.b,e.b,r),alpha:Ve(t.alpha,e.alpha,r)}}},tr={forward:function(t){var e=Je(t),r=e.l,n=e.a,a=e.b,i=Math.atan2(a,n)*Ge;return{h:i<0?i+360:i,c:Math.sqrt(n*n+a*a),l:r,alpha:t.a}},reverse:function(t){var e=t.h*He,r=t.c;return Ke({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:Qe(t.h,e.h,r),c:Ve(t.c,e.c,r),l:Ve(t.l,e.l,r),alpha:Ve(t.alpha,e.alpha,r)}}},er=Object.freeze({__proto__:null,lab:$e,hcl:tr}),rr=function(t,e,r,n,a){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var i=0,o=a;i1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(a=e.parse(a,2,Dt)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=Bt:e.expectedType&&"value"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u=h)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var g=e.parse(f,d,c);if(!g)return null;c=c||g.type,l.push([h,g])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new rr(c,r,n,a,l):e.error("Type "+Gt(c)+" is not interpolatable.")},rr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;if(n>=e[a-1])return r[a-1].evaluate(t);var i=Ne(e,n),o=rr.interpolationFactor(this.interpolation,n,e[i],e[i+1]),s=r[i].evaluate(t),l=r[i+1].evaluate(t);return"interpolate"===this.operator?Ue[this.type.kind.toLowerCase()](s,l,o):"interpolate-hcl"===this.operator?tr.reverse(tr.interpolate(tr.forward(s),tr.forward(l),o)):$e.reverse($e.interpolate($e.forward(s),$e.forward(l),o))},rr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new se("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new se("Array index must be an integer, but found "+e+" instead.");return r[e]},or.prototype.eachChild=function(t){t(this.index),t(this.input)},or.prototype.outputDefined=function(){return!1},or.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var sr=function(t,e){this.type=Ft,this.needle=t,this.haystack=e};sr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,jt);return r&&n?Zt(r.type,[Ft,Rt,Dt,Ot,jt])?new sr(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+Gt(r.type)+" instead"):null},sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!Xt(e,["boolean","string","number","null"]))throw new se("Expected first argument to be of type boolean, string, number or null, but found "+Gt(ae(e))+" instead.");if(!Xt(r,["string","array"]))throw new se("Expected second argument to be of type array or string, but found "+Gt(ae(r))+" instead.");return r.indexOf(e)>=0},sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},sr.prototype.outputDefined=function(){return!0},sr.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var lr=function(t,e,r){this.type=Dt,this.needle=t,this.haystack=e,this.fromIndex=r};lr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,jt);if(!r||!n)return null;if(!Zt(r.type,[Ft,Rt,Dt,Ot,jt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+Gt(r.type)+" instead");if(4===t.length){var a=e.parse(t[3],3,Dt);return a?new lr(r,n,a):null}return new lr(r,n)},lr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Xt(e,["boolean","string","number","null"]))throw new se("Expected first argument to be of type boolean, string, number or null, but found "+Gt(ae(e))+" instead.");if(!Xt(r,["string","array"]))throw new se("Expected second argument to be of type array or string, but found "+Gt(ae(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},lr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},lr.prototype.outputDefined=function(){return!1},lr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var cr=function(t,e,r,n,a,i){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=a,this.otherwise=i};cr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var a={},i=[],o=2;oNumber.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,ae(f)))return null}else r=ae(f);if(void 0!==a[String(f)])return c.error("Branch labels must be unique.");a[String(f)]=i.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,i.push(p)}var d=e.parse(t[1],1,jt);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new cr(r,n,d,a,i,g):null},cr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ae(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},cr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},cr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},cr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},a=0,i=Object.keys(this.cases).sort();a=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,Dt);if(!r||!n)return null;if(!Zt(r.type,[Ht(jt),Rt,jt]))return e.error("Expected first argument to be of type array or string, but found "+Gt(r.type)+" instead");if(4===t.length){var a=e.parse(t[3],3,Dt);return a?new hr(r.type,r,n,a):null}return new hr(r.type,r,n)},hr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Xt(e,["string","array"]))throw new se("Expected first argument to be of type array or string, but found "+Gt(ae(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},hr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},hr.prototype.outputDefined=function(){return!1},hr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var gr=dr("==",(function(t,e,r){return e===r}),pr),mr=dr("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!pr(0,e,r,n)})),vr=dr("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),xr=dr("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),br=dr(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),_r=function(t,e,r,n,a){this.type=Rt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=a};_r.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Dt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var a=null;if(n.locale&&!(a=e.parse(n.locale,1,Rt)))return null;var i=null;if(n.currency&&!(i=e.parse(n.currency,1,Rt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Dt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Dt))?null:new _r(r,a,i,o,s)},_r.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},_r.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},_r.prototype.outputDefined=function(){return!1},_r.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var wr=function(t){this.type=Dt,this.input=t};wr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+Gt(r.type)+" instead."):new wr(r):null},wr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new se("Expected value to be of type string or array, but found "+Gt(ae(e))+" instead.")},wr.prototype.eachChild=function(t){t(this.input)},wr.prototype.outputDefined=function(){return!1},wr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Tr={"==":gr,"!=":mr,">":yr,"<":vr,">=":br,"<=":xr,array:ce,at:or,boolean:ce,case:ur,coalesce:ar,collator:ve,format:ue,image:he,in:sr,"index-of":lr,interpolate:rr,"interpolate-hcl":rr,"interpolate-lab":rr,length:wr,let:ir,literal:oe,match:cr,number:ce,"number-format":_r,object:ce,slice:hr,step:je,string:ce,"to-boolean":pe,"to-color":pe,"to-number":pe,"to-string":pe,var:Fe,within:ze};function kr(t,e){var r=e[0],n=e[1],a=e[2],i=e[3];r=r.evaluate(t),n=n.evaluate(t),a=a.evaluate(t);var o=i?i.evaluate(t):1,s=re(r,n,a,o);if(s)throw new se(s);return new Kt(r/255*o,n/255*o,a/255*o,o)}function Ar(t,e){return t in e}function Mr(t,e){var r=e[t];return void 0===r?null:r}function Sr(t){return{type:t}}function Er(t){return{result:"success",value:t}}function Cr(t){return{result:"error",value:t}}function Lr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Pr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Ir(t){return!!t.expression&&t.expression.interpolated}function zr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function Or(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Dr(t){return t}function Rr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Fr(t,e,r,n,a){return Rr(typeof r===a?n[r]:void 0,t.default,e.default)}function Br(t,e,r){if("number"!==zr(r))return Rr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var a=Ne(t.stops.map((function(t){return t[0]})),r);return t.stops[a][1]}function Nr(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==zr(r))return Rr(t.default,e.default);var a=t.stops.length;if(1===a)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[a-1][0])return t.stops[a-1][1];var i=Ne(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var a=n-r,i=t-r;return 0===a?0:1===e?i/a:(Math.pow(e,i)-1)/(Math.pow(e,a)-1)}(r,n,t.stops[i][0],t.stops[i+1][0]),s=t.stops[i][1],l=t.stops[i+1][1],c=Ue[e.type]||Dr;if(t.colorSpace&&"rgb"!==t.colorSpace){var u=er[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function jr(t,e,r){return"color"===e.type?r=Kt.parse(r):"formatted"===e.type?r=te.fromString(r.toString()):"resolvedImage"===e.type?r=ee.fromString(r.toString()):zr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),Rr(r,t.default,e.default)}me.register(Tr,{error:[{kind:"error"},[Rt],function(t,e){throw new se(e[0].evaluate(t))}],typeof:[Rt,[jt],function(t,e){return Gt(ae(e[0].evaluate(t)))}],"to-rgba":[Ht(Dt,4),[Bt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Bt,[Dt,Dt,Dt],kr],rgba:[Bt,[Dt,Dt,Dt,Dt],kr],has:{type:Ft,overloads:[[[Rt],function(t,e){return Ar(e[0].evaluate(t),t.properties())}],[[Rt,Nt],function(t,e){var r=e[1];return Ar(e[0].evaluate(t),r.evaluate(t))}]]},get:{type:jt,overloads:[[[Rt],function(t,e){return Mr(e[0].evaluate(t),t.properties())}],[[Rt,Nt],function(t,e){var r=e[1];return Mr(e[0].evaluate(t),r.evaluate(t))}]]},"feature-state":[jt,[Rt],function(t,e){return Mr(e[0].evaluate(t),t.featureState||{})}],properties:[Nt,[],function(t){return t.properties()}],"geometry-type":[Rt,[],function(t){return t.geometryType()}],id:[jt,[],function(t){return t.id()}],zoom:[Dt,[],function(t){return t.globals.zoom}],"heatmap-density":[Dt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Dt,[],function(t){return t.globals.lineProgress||0}],accumulated:[jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Dt,Sr(Dt),function(t,e){for(var r=0,n=0,a=e;n":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>i}],"filter-id->":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>a}],"filter-<=":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a<=i}],"filter-id-<=":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n<=a}],"filter->=":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>=i}],"filter-id->=":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>=a}],"filter-has":[Ft,[jt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Ft,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[Ft,[Ht(Rt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Ft,[Ht(jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Ft,[Rt,Ht(jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Ft,[Rt,Ht(jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var a=r+n>>1;if(e[a]===t)return!0;e[a]>t?n=a-1:r=a+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Ft,overloads:[[[Ft,Ft],function(t,e){var r=e[1];return e[0].evaluate(t)&&r.evaluate(t)}],[Sr(Ft),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in Tr}function qr(t,e){var r=new Be(Tr,[],e?function(t){var e={color:Bt,string:Rt,number:Dt,enum:Rt,boolean:Ft,formatted:Ut,resolvedImage:qt};return"array"===t.type?Ht(e[t.value]||jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Er(new Vr(n,e)):Cr(r.errors)}Vr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,a,i){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=a||null,this._evaluator.formattedSection=i,this.expression.evaluate(this._evaluator)},Vr.prototype.evaluate=function(t,e,r,n,a,i){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=a||null,this._evaluator.formattedSection=i||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new se("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var Hr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!De(e.expression)};Hr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,a,i){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,a,i)},Hr.prototype.evaluate=function(t,e,r,n,a,i){return this._styleExpression.evaluate(t,e,r,n,a,i)};var Gr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!De(e.expression),this.interpolationType=n};function Yr(t,e){if("error"===(t=qr(t,e)).result)return t;var r=t.value.expression,n=Oe(r);if(!n&&!Lr(e))return Cr([new It("","data expressions not supported")]);var a=Re(r,["zoom"]);if(!a&&!Pr(e))return Cr([new It("","zoom expressions not supported")]);var i=function t(e){var r=null;if(e instanceof ir)r=t(e.result);else if(e instanceof ar)for(var n=0,a=e.args;nn.maximum?[new St(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function Kr(t){var e,r,n,a=t.valueSpec,i=Lt(t.value.type),o={},s="categorical"!==i&&void 0===t.value.property,l=!s,c="array"===zr(t.value.stops)&&"array"===zr(t.value.stops[0])&&"object"===zr(t.value.stops[0][0]),u=Zr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new St(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(Xr({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===zr(r)&&0===r.length&&e.push(new St(t.key,r,"array must have at least one stop")),e},default:function(t){return bn({key:t.key,value:t.value,valueSpec:a,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&s&&u.push(new St(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||u.push(new St(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!Ir(t.valueSpec)&&u.push(new St(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!Lr(t.valueSpec)?u.push(new St(t.key,t.value,"property functions not supported")):s&&!Pr(t.valueSpec)&&u.push(new St(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||u.push(new St(t.key,t.value,'"property" property is required')),u;function h(t){var e=[],i=t.value,s=t.key;if("array"!==zr(i))return[new St(s,i,"array expected, "+zr(i)+" found")];if(2!==i.length)return[new St(s,i,"array length 2 expected, length "+i.length+" found")];if(c){if("object"!==zr(i[0]))return[new St(s,i,"object expected, "+zr(i[0])+" found")];if(void 0===i[0].zoom)return[new St(s,i,"object stop key must have zoom")];if(void 0===i[0].value)return[new St(s,i,"object stop key must have value")];if(n&&n>Lt(i[0].zoom))return[new St(s,i[0].zoom,"stop zoom values must appear in ascending order")];Lt(i[0].zoom)!==n&&(n=Lt(i[0].zoom),r=void 0,o={}),e=e.concat(Zr({key:s+"[0]",value:i[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Jr,value:f}}))}else e=e.concat(f({key:s+"[0]",value:i[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},i));return Ur(Pt(i[1]))?e.concat([new St(s+"[1]",i[1],"expressions are not allowed in function stops.")]):e.concat(bn({key:s+"[1]",value:i[1],valueSpec:a,style:t.style,styleSpec:t.styleSpec}))}function f(t,n){var s=zr(t.value),l=Lt(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new St(t.key,c,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new St(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==i){var u="number expected, "+s+" found";return Lr(a)&&void 0===i&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new St(t.key,c,u)]}return"categorical"!==i||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function an(t){if(!t)return!0;var e,r=t[0];return t.length<=1?"any"!==r:"=="===r?on(t[1],t[2],"=="):"!="===r?cn(on(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?on(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(an))):"all"===r?["all"].concat(t.slice(1).map(an)):"none"===r?["all"].concat(t.slice(1).map(an).map(cn)):"in"===r?sn(t[1],t.slice(2)):"!in"===r?cn(sn(t[1],t.slice(2))):"has"===r?ln(t[1]):"!has"===r?cn(ln(t[1])):"within"!==r||t}function on(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function sn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(nn)]]:["filter-in-small",t,["literal",e]]}}function ln(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function cn(t){return["!",t]}function un(t){return tn(Pt(t.value))?Qr(Ct({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function t(e){var r=e.value,n=e.key;if("array"!==zr(r))return[new St(n,r,"array expected, "+zr(r)+" found")];var a,i=e.styleSpec,o=[];if(r.length<1)return[new St(n,r,"filter array must have at least 1 element")];switch(o=o.concat($r({key:n+"[0]",value:r[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),Lt(r[0])){case"<":case"<=":case">":case">=":r.length>=2&&"$type"===Lt(r[1])&&o.push(new St(n,r,'"$type" cannot be use with operator "'+r[0]+'"'));case"==":case"!=":3!==r.length&&o.push(new St(n,r,'filter array for operator "'+r[0]+'" must have 3 elements'));case"in":case"!in":r.length>=2&&"string"!==(a=zr(r[1]))&&o.push(new St(n+"[1]",r[1],"string expected, "+a+" found"));for(var s=2;s=u[p+0]&&n>=u[p+1])?(o[f]=!0,i.push(c[f])):o[f]=!1}}},Pn.prototype._forEachCell=function(t,e,r,n,a,i,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&a.call(this,t,e,r,n,d,i,o,s))return}},Pn.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},Pn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Pn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n=0)){var u=t[c];l[c]=On[s].shallow.indexOf(c)>=0?u:Nn(u,e)}t instanceof Error&&(l.message=t.message)}if(l.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==s&&(l.$name=s),l}throw new Error("can't serialize object of type "+typeof t)}function jn(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Fn(t)||Bn(t)||ArrayBuffer.isView(t)||t instanceof In)return t;if(Array.isArray(t))return t.map(jn);if("object"==typeof t){var e=t.$name||"Object",r=On[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),a=0,i=Object.keys(t);a=0?s:jn(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var Vn=function(){this.first=!0};Vn.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function qn(t){for(var e=0,r=t;e=65097&&t<=65103)||Un["CJK Compatibility Ideographs"](t)||Un["CJK Compatibility"](t)||Un["CJK Radicals Supplement"](t)||Un["CJK Strokes"](t)||!(!Un["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Un["CJK Unified Ideographs Extension A"](t)||Un["CJK Unified Ideographs"](t)||Un["Enclosed CJK Letters and Months"](t)||Un["Hangul Compatibility Jamo"](t)||Un["Hangul Jamo Extended-A"](t)||Un["Hangul Jamo Extended-B"](t)||Un["Hangul Jamo"](t)||Un["Hangul Syllables"](t)||Un.Hiragana(t)||Un["Ideographic Description Characters"](t)||Un.Kanbun(t)||Un["Kangxi Radicals"](t)||Un["Katakana Phonetic Extensions"](t)||Un.Katakana(t)&&12540!==t||!(!Un["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Un["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Un["Unified Canadian Aboriginal Syllabics"](t)||Un["Unified Canadian Aboriginal Syllabics Extended"](t)||Un["Vertical Forms"](t)||Un["Yijing Hexagram Symbols"](t)||Un["Yi Syllables"](t)||Un["Yi Radicals"](t))))}function Gn(t){return!(Hn(t)||function(t){return!!(Un["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Un["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Un["Letterlike Symbols"](t)||Un["Number Forms"](t)||Un["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Un["Control Pictures"](t)&&9251!==t||Un["Optical Character Recognition"](t)||Un["Enclosed Alphanumerics"](t)||Un["Geometric Shapes"](t)||Un["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||Un["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Un["CJK Symbols and Punctuation"](t)||Un.Katakana(t)||Un["Private Use Area"](t)||Un["CJK Compatibility Forms"](t)||Un["Small Form Variants"](t)||Un["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Yn(t){return t>=1424&&t<=2303||Un["Arabic Presentation Forms-A"](t)||Un["Arabic Presentation Forms-B"](t)}function Wn(t,e){return!(!e&&Yn(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Un.Khmer(t))}function Zn(t){for(var e=0,r=t;e-1&&(Jn="error"),Xn&&Xn(t)};function $n(){ta.fire(new Tt("pluginStateChange",{pluginStatus:Jn,pluginURL:Kn}))}var ta=new At,ea=function(){return Jn},ra=function(){if("deferred"!==Jn||!Kn)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Jn="loading",$n(),Kn&&yt({url:Kn},(function(t){t?Qn(t):(Jn="loaded",$n())}))},na={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return"loaded"===Jn||null!=na.applyArabicShaping},isLoading:function(){return"loading"===Jn},setState:function(t){Jn=t.pluginStatus,Kn=t.pluginURL},isParsed:function(){return null!=na.applyArabicShaping&&null!=na.processBidirectionalText&&null!=na.processStyledBidirectionalText},getPluginURL:function(){return Kn}},aa=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Vn,this.transition={})};aa.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var ia=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Or(t))return new Wr(t,e);if(Ur(t)){var r=Yr(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=Kt.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};ia.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},ia.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var oa=function(t){this.property=t,this.value=new ia(t,void 0)};oa.prototype.transitioned=function(t,e){return new la(this.property,this.value,e,u({},t.transition,this.transition),t.now)},oa.prototype.untransitioned=function(){return new la(this.property,this.value,null,{},0)};var sa=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};sa.prototype.getValue=function(t){return x(this._values[t].value.value)},sa.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new oa(this._values[t].property)),this._values[t].value=new ia(this._values[t].property,null===e?void 0:x(e))},sa.prototype.getTransition=function(t){return x(this._values[t].transition)},sa.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new oa(this._values[t].property)),this._values[t].transition=x(e)||void 0},sa.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,a;if(this.value.isDataDriven())return this.prior=null,a;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return a};var ca=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};ca.prototype.possiblyEvaluate=function(t,e,r){for(var n=new fa(this._properties),a=0,i=Object.keys(this._values);an.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(da),ma=function(t){this.specification=t};ma.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var a=t.expression.evaluate(e,null,{},r,n);return this._calculate(a,a,a,e)}return this._calculate(t.expression.evaluate(new aa(Math.floor(e.zoom-1),e)),t.expression.evaluate(new aa(Math.floor(e.zoom),e)),t.expression.evaluate(new aa(Math.floor(e.zoom+1),e)),e)}},ma.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},ma.prototype.interpolate=function(t){return t};var va=function(t){this.specification=t};va.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},va.prototype.interpolate=function(){return!1};var ya=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new ia(r,void 0),a=this.defaultTransitionablePropertyValues[e]=new oa(r);this.defaultTransitioningPropertyValues[e]=a.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};Dn("DataDrivenProperty",da),Dn("DataConstantProperty",pa),Dn("CrossFadedDataDrivenProperty",ga),Dn("CrossFadedProperty",ma),Dn("ColorRampProperty",va);var xa=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=(e=e).metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ua(r.layout)),r.paint)){for(var n in this._transitionablePaint=new sa(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var a in e.layout)this.setLayoutProperty(a,e.layout[a],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new fa(r.paint)}}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){void 0===r&&(r={}),null!=e&&this._validate(En,"layers."+this.id+".layout."+t,t,e,r)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)},e.prototype.getPaintProperty=function(t){return m(t,"-transition")?this._transitionablePaint.getTransition(t.slice(0,-"-transition".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e&&this._validate(Sn,"layers."+this.id+".paint."+t,t,e,r))return!1;if(m(t,"-transition"))return this._transitionablePaint.setTransition(t.slice(0,-"-transition".length),e||void 0),!1;var n=this._transitionablePaint._values[t],a="cross-faded-data-driven"===n.property.specification["property-type"],i=n.value.isDataDriven(),o=n.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var s=this._transitionablePaint._values[t].value;return s.isDataDriven()||i||a||this._handleOverridablePaintPropertyUpdate(t,o,s)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),y(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&Cn(this,t.call(An,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Mt,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof ha&&Lr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(At),ba={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},_a=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},wa=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Ta(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var a=ba[t.type].BYTES_PER_ELEMENT,i=r=ka(r,Math.max(e,a)),o=t.components||1;return n=Math.max(n,a),r+=a*o,{name:t.name,type:t.type,components:o,offset:i}})),size:ka(r,Math.max(n,e)),alignment:e}}function ka(t,e){return Math.ceil(t/e)*e}wa.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},wa.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},wa.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},wa.prototype.clear=function(){this.length=0},wa.prototype.resize=function(t){this.reserve(t),this.length=t},wa.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},wa.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(wa);Aa.prototype.bytesPerElement=4,Dn("StructArrayLayout2i4",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,this.int16[i+3]=a,t},e}(wa);Ma.prototype.bytesPerElement=8,Dn("StructArrayLayout4i8",Ma);var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(wa);Sa.prototype.bytesPerElement=12,Dn("StructArrayLayout2i4i12",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=a,this.uint8[l+6]=i,this.uint8[l+7]=o,t},e}(wa);Ea.prototype.bytesPerElement=8,Dn("StructArrayLayout2i4ub8",Ea);var Ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,a,i,o,s,l,c)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u){var h=9*t,f=18*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=a,this.uint16[h+4]=i,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint8[f+16]=c,this.uint8[f+17]=u,t},e}(wa);Ca.prototype.bytesPerElement=18,Dn("StructArrayLayout8ui2ub18",Ca);var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h){var f=this.length;return this.resize(f+1),this.emplace(f,t,e,r,n,a,i,o,s,l,c,u,h)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=a,this.uint16[p+4]=i,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,t},e}(wa);La.prototype.bytesPerElement=24,Dn("StructArrayLayout4i4ui4i24",La);var Pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,t},e}(wa);Pa.prototype.bytesPerElement=12,Dn("StructArrayLayout3f12",Pa);var Ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint32[1*t+0]=e,t},e}(wa);Ia.prototype.bytesPerElement=4,Dn("StructArrayLayout1ul4",Ia);var za=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,a,i,o,s,l)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c){var u=10*t,h=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=a,this.int16[u+4]=i,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t},e}(wa);za.prototype.bytesPerElement=20,Dn("StructArrayLayout6i1ul2ui20",za);var Oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(wa);Oa.prototype.bytesPerElement=12,Dn("StructArrayLayout2i2i2i12",Oa);var Da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n,a)},e.prototype.emplace=function(t,e,r,n,a,i){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=a,this.int16[s+7]=i,t},e}(wa);Da.prototype.bytesPerElement=16,Dn("StructArrayLayout2f1f2i16",Da);var Ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=12*t,o=3*t;return this.uint8[i+0]=e,this.uint8[i+1]=r,this.float32[o+1]=n,this.float32[o+2]=a,t},e}(wa);Ra.prototype.bytesPerElement=12,Dn("StructArrayLayout2ub2f12",Ra);var Fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.uint16[a+0]=e,this.uint16[a+1]=r,this.uint16[a+2]=n,t},e}(wa);Fa.prototype.bytesPerElement=6,Dn("StructArrayLayout3ui6",Fa);var Ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v){var y=24*t,x=12*t,b=48*t;return this.int16[y+0]=e,this.int16[y+1]=r,this.uint16[y+2]=n,this.uint16[y+3]=a,this.uint32[x+2]=i,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=g,this.uint32[x+10]=m,this.int16[y+22]=v,t},e}(wa);Ba.prototype.bytesPerElement=48,Dn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Ba);var Na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v,y,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v,y,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v,y,x,b,_,w,T,k,A,M,S,E){var C=34*t,L=17*t;return this.int16[C+0]=e,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=a,this.int16[C+4]=i,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=g,this.uint16[C+15]=m,this.uint16[C+16]=v,this.uint16[C+17]=y,this.uint16[C+18]=x,this.uint16[C+19]=b,this.uint16[C+20]=_,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=A,this.float32[L+14]=M,this.float32[L+15]=S,this.float32[L+16]=E,t},e}(wa);Na.prototype.bytesPerElement=68,Dn("StructArrayLayout8i15ui1ul4f68",Na);var ja=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.float32[1*t+0]=e,t},e}(wa);ja.prototype.bytesPerElement=4,Dn("StructArrayLayout1f4",ja);var Va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,t},e}(wa);Va.prototype.bytesPerElement=6,Dn("StructArrayLayout3i6",Va);var Ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=4*t;return this.uint32[2*t+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(wa);Ua.prototype.bytesPerElement=8,Dn("StructArrayLayout1ul2ui8",Ua);var qa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(wa);qa.prototype.bytesPerElement=4,Dn("StructArrayLayout2ui4",qa);var Ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint16[1*t+0]=e,t},e}(wa);Ha.prototype.bytesPerElement=2,Dn("StructArrayLayout1ui2",Ha);var Ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(wa);Ga.prototype.bytesPerElement=8,Dn("StructArrayLayout2f8",Ga);var Ya=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,this.float32[i+3]=a,t},e}(wa);Ya.prototype.bytesPerElement=16,Dn("StructArrayLayout4f16",Ya);var Wa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(_a);Wa.prototype.size=20;var Za=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Wa(this,t)},e}(za);Dn("CollisionBoxArray",Za);var Xa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(_a);Xa.prototype.size=48;var Ja=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Xa(this,t)},e}(Ba);Dn("PlacedSymbolArray",Ja);var Ka=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(_a);Ka.prototype.size=68;var Qa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Ka(this,t)},e}(Na);Dn("SymbolInstanceArray",Qa);var $a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ja);Dn("GlyphOffsetArray",$a);var ti=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(Va);Dn("SymbolLineVertexArray",ti);var ei=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(_a);ei.prototype.size=8;var ri=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new ei(this,t)},e}(Ua);Dn("FeatureIndexArray",ri);var ni=Ta([{name:"a_pos",components:2,type:"Int16"}],4).members,ai=function(t){void 0===t&&(t=[]),this.segments=t};function ii(t,e){return 256*(t=l(Math.floor(t),0,255))+l(Math.floor(e),0,255)}ai.prototype.prepareSegment=function(t,e,r,n){var a=this.segments[this.segments.length-1];return t>ai.MAX_VERTEX_ARRAY_LENGTH&&_("Max vertices per segment is "+ai.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!a||a.vertexLength+t>ai.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==n)&&(a={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(a.sortKey=n),this.segments.push(a)),a},ai.prototype.get=function(){return this.segments},ai.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|a>>>19))+((5*(a>>>16)&65535)<<16)&4294967295))+((58964+(i>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:a^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return a^=t.length,a=2246822507*(65535&(a^=a>>>16))+((2246822507*(a>>>16)&65535)<<16)&4294967295,a=3266489909*(65535&(a^=a>>>13))+((3266489909*(a>>>16)&65535)<<16)&4294967295,(a^=a>>>16)>>>0}})),li=e((function(t){t.exports=function(t,e){for(var r,n=t.length,a=e^n,i=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(i)|(255&t.charCodeAt(++i))<<8|(255&t.charCodeAt(++i))<<16|(255&t.charCodeAt(++i))<<24))+((1540483477*(r>>>16)&65535)<<16),a=1540483477*(65535&a)+((1540483477*(a>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++i;switch(n){case 3:a^=(255&t.charCodeAt(i+2))<<16;case 2:a^=(255&t.charCodeAt(i+1))<<8;case 1:a=1540483477*(65535&(a^=255&t.charCodeAt(i)))+((1540483477*(a>>>16)&65535)<<16)}return a=1540483477*(65535&(a^=a>>>13))+((1540483477*(a>>>16)&65535)<<16),(a^=a>>>15)>>>0}})),ci=si,ui=li;ci.murmur3=si,ci.murmur2=ui;var hi=function(){this.ids=[],this.positions=[],this.indexed=!1};hi.prototype.add=function(t,e,r,n){this.ids.push(pi(t)),this.positions.push(e,r,n)},hi.prototype.getPositions=function(t){for(var e=pi(t),r=0,n=this.ids.length-1;r>1;this.ids[a]>=e?n=a:r=a+1}for(var i=[];this.ids[r]===e;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i},hi.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,a){for(;n>1],o=n-1,s=a+1;;){do{o++}while(e[o]i);if(o>=s)break;di(e,o,s),di(r,3*o,3*s),di(r,3*o+1,3*s+1),di(r,3*o+2,3*s+2)}s-nOi.max||o.yOi.max)&&(_("Geometry exceeds allowed extent, reduce your vector tile buffer size"),o.x=l(o.x,Oi.min,Oi.max),o.y=l(o.y,Oi.min,Oi.max))}return r}function Ri(t,e,r,n,a){t.emplaceBack(2*e+(n+1)/2,2*r+(a+1)/2)}var Fi=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Aa,this.indexArray=new Fa,this.segments=new ai,this.programConfigurations=new Pi(ni,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function Bi(t,e){for(var r=0;r1){if(Ui(t,e))return!0;for(var n=0;n1?r:r.sub(e)._mult(a)._add(e))}function Yi(t,e){for(var r,n,a,i=!1,o=0;oe.y!=(a=r[l]).y>e.y&&e.x<(a.x-n.x)*(e.y-n.y)/(a.y-n.y)+n.x&&(i=!i);return i}function Wi(t,e){for(var r=!1,n=0,a=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-i.x)*(e.y-i.y)/(o.y-i.y)+i.x&&(r=!r)}return r}function Zi(t,e,r){var n=r[0],a=r[2];if(t.xa.x&&e.x>a.x||t.ya.y&&e.y>a.y)return!1;var i=w(t,e,r[0]);return i!==w(t,e,r[1])||i!==w(t,e,r[2])||i!==w(t,e,r[3])}function Xi(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Ji(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Ki(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=8192||u<0||u>=8192)){var h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),f=h.vertexLength;Ri(this.layoutVertexArray,c,u,-1,-1),Ri(this.layoutVertexArray,c,u,1,-1),Ri(this.layoutVertexArray,c,u,1,1),Ri(this.layoutVertexArray,c,u,-1,1),this.indexArray.emplaceBack(f,f+1,f+2),this.indexArray.emplaceBack(f,f+3,f+2),h.vertexLength+=4,h.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},Dn("CircleBucket",Fi,{omit:["layers"]});var Qi=new ya({"circle-sort-key":new da(Mt.layout_circle["circle-sort-key"])}),$i={paint:new ya({"circle-radius":new da(Mt.paint_circle["circle-radius"]),"circle-color":new da(Mt.paint_circle["circle-color"]),"circle-blur":new da(Mt.paint_circle["circle-blur"]),"circle-opacity":new da(Mt.paint_circle["circle-opacity"]),"circle-translate":new pa(Mt.paint_circle["circle-translate"]),"circle-translate-anchor":new pa(Mt.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new pa(Mt.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new pa(Mt.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new da(Mt.paint_circle["circle-stroke-width"]),"circle-stroke-color":new da(Mt.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new da(Mt.paint_circle["circle-stroke-opacity"])}),layout:Qi},to="undefined"!=typeof Float32Array?Float32Array:Array;function eo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ro(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*h+w*g,t[1]=x*a+b*l+_*f+w*m,t[2]=x*i+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,t[4]=(x=r[4])*n+(b=r[5])*s+(_=r[6])*h+(w=r[7])*g,t[5]=x*a+b*l+_*f+w*m,t[6]=x*i+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,t[8]=(x=r[8])*n+(b=r[9])*s+(_=r[10])*h+(w=r[11])*g,t[9]=x*a+b*l+_*f+w*m,t[10]=x*i+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,t[12]=(x=r[12])*n+(b=r[13])*s+(_=r[14])*h+(w=r[15])*g,t[13]=x*a+b*l+_*f+w*m,t[14]=x*i+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var no,ao=ro;function io(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}no=new to(3),to!=Float32Array&&(no[0]=0,no[1]=0,no[2]=0),function(){var t=new to(4);to!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var oo=(function(){var t=new to(2);to!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,$i)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new Fi(t)},e.prototype.queryRadius=function(t){var e=t;return Xi("circle-radius",this,e)+Xi("circle-stroke-width",this,e)+Ji(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,i,o,s){for(var l=Ki(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),i.angle,o),c=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),u="map"===this.paint.get("circle-pitch-alignment"),h=u?l:function(t,e){return t.map((function(t){return so(t,e)}))}(l,s),f=u?c*o:c,p=0,d=n;pt.width||a.height>t.height||r.x>t.width-a.width||r.y>t.height-a.height)throw new RangeError("out of range source coordinates for image copy");if(a.width>e.width||a.height>e.height||n.x>e.width-a.width||n.y>e.height-a.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l80*r){n=i=t[0],a=o=t[1];for(var d=r;di&&(i=s),l>o&&(o=l);c=0!==(c=Math.max(i-n,o-a))?1/c:0}return Mo(f,p,r,n,a,c),p}function ko(t,e,r,n,a){var i,o;if(a===Zo(t,e,r,n)>0)for(i=e;i=e;i-=n)o=Go(i,t[i],t[i+1],o);return o&&No(o,o.next)&&(Yo(o),o=o.next),o}function Ao(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!No(n,n.next)&&0!==Bo(n.prev,n,n.next))n=n.next;else{if(Yo(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function Mo(t,e,r,n,a,i,o){if(t){!o&&i&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=Oo(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,i);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,i?Eo(t,n,a,i):So(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Yo(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?Mo(t=Co(Ao(t),e,r),e,r,n,a,i,2):2===o&&Lo(t,e,r,n,a,i):Mo(Ao(t),e,r,n,a,i,1);break}}}function So(t){var e=t.prev,r=t,n=t.next;if(Bo(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if(Ro(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&Bo(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function Eo(t,e,r,n){var a=t.prev,i=t,o=t.next;if(Bo(a,i,o)>=0)return!1;for(var s=a.x>i.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,l=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,c=Oo(a.x=c&&f&&f.z<=u;){if(h!==t.prev&&h!==t.next&&Ro(a.x,a.y,i.x,i.y,o.x,o.y,h.x,h.y)&&Bo(h.prev,h,h.next)>=0)return!1;if(h=h.prevZ,f!==t.prev&&f!==t.next&&Ro(a.x,a.y,i.x,i.y,o.x,o.y,f.x,f.y)&&Bo(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(;h&&h.z>=c;){if(h!==t.prev&&h!==t.next&&Ro(a.x,a.y,i.x,i.y,o.x,o.y,h.x,h.y)&&Bo(h.prev,h,h.next)>=0)return!1;h=h.prevZ}for(;f&&f.z<=u;){if(f!==t.prev&&f!==t.next&&Ro(a.x,a.y,i.x,i.y,o.x,o.y,f.x,f.y)&&Bo(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function Co(t,e,r){var n=t;do{var a=n.prev,i=n.next.next;!No(a,i)&&jo(a,n,n.next,i)&&qo(a,i)&&qo(i,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(i.i/r),Yo(n),Yo(n.next),n=t=i),n=n.next}while(n!==t);return Ao(n)}function Lo(t,e,r,n,a,i){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Fo(o,s)){var l=Ho(o,s);return o=Ao(o,o.next),l=Ao(l,l.next),Mo(o,e,r,n,a,i),void Mo(l,e,r,n,a,i)}s=s.next}o=o.next}while(o!==t)}function Po(t,e){return t.x-e.x}function Io(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&a!==n.x&&Ro(ir.x||n.x===r.x&&zo(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=Ho(e,t);Ao(e,e.next),Ao(r,r.next)}}function zo(t,e){return Bo(t.prev,t,e.prev)<0&&Bo(e.next,t,t.next)<0}function Oo(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Do(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function Fo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&jo(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(qo(t,e)&&qo(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(Bo(t.prev,t,e.prev)||Bo(t,e.prev,e))||No(t,e)&&Bo(t.prev,t,t.next)>0&&Bo(e.prev,e,e.next)>0)}function Bo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function No(t,e){return t.x===e.x&&t.y===e.y}function jo(t,e,r,n){var a=Uo(Bo(t,e,r)),i=Uo(Bo(t,e,n)),o=Uo(Bo(r,n,t)),s=Uo(Bo(r,n,e));return a!==i&&o!==s||!(0!==a||!Vo(t,r,e))||!(0!==i||!Vo(t,n,e))||!(0!==o||!Vo(r,t,n))||!(0!==s||!Vo(r,e,n))}function Vo(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Uo(t){return t>0?1:t<0?-1:0}function qo(t,e){return Bo(t.prev,t,t.next)<0?Bo(t,e,t.next)>=0&&Bo(t,t.prev,e)>=0:Bo(t,e,t.prev)<0||Bo(t,t.next,e)<0}function Ho(t,e){var r=new Wo(t.i,t.x,t.y),n=new Wo(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function Go(t,e,r,n){var a=new Wo(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function Yo(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Wo(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Zo(t,e,r,n){for(var a=0,i=e,o=r-n;in;){if(a-n>600){var o=a-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(a,Math.floor(r+(o-s)*c/o+u)),i)}var h=e[r],f=n,p=a;for(Jo(e,n,r),i(e[a],h)>0&&Jo(e,n,a);f0;)p--}0===i(e[n],h)?Jo(e,n,p):Jo(e,++p,a),p<=r&&(n=p+1),r<=p&&(a=p-1)}}(t,e,r||0,n||t.length-1,a||Ko)}function Jo(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Ko(t,e){return te?1:0}function Qo(t,e){var r=t.length;if(r<=1)return[t];for(var n,a,i=[],o=0;o1)for(var l=0;l0&&r.holes.push(n+=t[a-1].length)}return r},_o.default=wo;var rs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Aa,this.indexArray=new Fa,this.indexArray2=new qa,this.programConfigurations=new Pi(bo,t.layers,t.zoom),this.segments=new ai,this.segments2=new ai,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};rs.prototype.populate=function(t,e,r){this.hasPattern=ts("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),a=[],i=0,o=t;i>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},ls.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,a=0,i=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)(a+=t.readSVarint())s&&(s=a),(i+=t.readSVarint())c&&(c=i);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},ls.prototype.toGeoJSON=function(t,e,r){var n,a,i=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=ls.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function ds(t,e,r){if(3===t){var n=new hs(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}fs.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new ss(this._pbf,e,this.extent,this._keys,this._values)};var gs={VectorTile:function(t,e){this.layers=t.readFields(ds,{},e)},VectorTileFeature:ss,VectorTileLayer:hs},ms=gs.VectorTileFeature.types,vs=Math.pow(2,13);function ys(t,e,r,n,a,i,o,s){t.emplaceBack(e,r,2*Math.floor(n*vs)+o,a*vs*2,i*vs*2,Math.round(s))}var xs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Sa,this.indexArray=new Fa,this.programConfigurations=new Pi(os,t.layers,t.zoom),this.segments=new ai,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function bs(t,e){return t.x===e.x&&(t.x<0||t.x>8192)||t.y===e.y&&(t.y<0||t.y>8192)}xs.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=ts("fill-extrusion",this.layers,e);for(var n=0,a=t;n8192}))||I.every((function(t){return t.y<0}))||I.every((function(t){return t.y>8192}))))for(var g=0,m=0;m=1){var y=d[m-1];if(!bs(v,y)){h.vertexLength+4>ai.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=v.sub(y)._perp()._unit(),b=y.dist(v);g+b>32768&&(g=0),ys(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,g),ys(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,g),ys(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,g+=b),ys(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,g);var _=h.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),h.vertexLength+=4,h.primitiveLength+=2}}}}if(h.vertexLength+l>ai.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===ms[t.type]){for(var w=[],T=[],k=h.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c0;if(T&&v>c){var A=u.dist(p);if(A>2*h){var M=u.sub(u.sub(p)._mult(h/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,g,0,0,f),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_a&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_100)y=m.mult(-1);else{var C=_*g.add(m).mag()/g.sub(m).mag();y._perp()._mult(C*(k?-1:1))}this.addCurrentVertex(u,y,0,0,f),this.addCurrentVertex(u,y.mult(-1),0,0,f)}else if("bevel"===E||"fakeround"===E){var L=-Math.sqrt(_*_-1),P=k?L:0,I=k?0:L;if(p&&this.addCurrentVertex(u,g,P,I,f),"fakeround"===E)for(var z=Math.round(180*w/Math.PI/20),O=1;O2*h){var j=u.add(d.sub(u)._mult(h/N)._round());this.updateDistance(u,j),this.addCurrentVertex(j,m,0,0,f),u=j}}}}},Cs.prototype.addCurrentVertex=function(t,e,r,n,a,i){void 0===i&&(i=!1);var o=e.y*n-e.x,s=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,i,!1,r,a),this.addHalfVertex(t,o,s,i,!0,-n,a),this.distance>Es/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,a,i))},Cs.prototype.addHalfVertex=function(t,e,r,n,a,i,o){var s=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((t.x<<1)+(n?1:0),(t.y<<1)+(a?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===i?0:i<0?-1:1)|(63&s)<<2,s>>6);var l=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,l),o.primitiveLength++),a?this.e2=l:this.e1=l},Cs.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Es-1):this.distance},Cs.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},Dn("LineBucket",Cs,{omit:["layers","patternFeatures"]});var Ls=new ya({"line-cap":new pa(Mt.layout_line["line-cap"]),"line-join":new da(Mt.layout_line["line-join"]),"line-miter-limit":new pa(Mt.layout_line["line-miter-limit"]),"line-round-limit":new pa(Mt.layout_line["line-round-limit"]),"line-sort-key":new da(Mt.layout_line["line-sort-key"])}),Ps={paint:new ya({"line-opacity":new da(Mt.paint_line["line-opacity"]),"line-color":new da(Mt.paint_line["line-color"]),"line-translate":new pa(Mt.paint_line["line-translate"]),"line-translate-anchor":new pa(Mt.paint_line["line-translate-anchor"]),"line-width":new da(Mt.paint_line["line-width"]),"line-gap-width":new da(Mt.paint_line["line-gap-width"]),"line-offset":new da(Mt.paint_line["line-offset"]),"line-blur":new da(Mt.paint_line["line-blur"]),"line-dasharray":new ma(Mt.paint_line["line-dasharray"]),"line-pattern":new ga(Mt.paint_line["line-pattern"]),"line-gradient":new va(Mt.paint_line["line-gradient"])}),layout:Ls},Is=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new aa(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,a){return r=u({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,a)},e}(da))(Ps.paint.properties["line-width"].specification);Is.useIntegerZoom=!0;var zs=function(t){function e(e){t.call(this,e,Ps)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){"line-gradient"===t&&this._updateGradient()},e.prototype._updateGradient=function(){this.gradient=mo(this._transitionablePaint._values["line-gradient"].value.expression,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=Is.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new Cs(t)},e.prototype.queryRadius=function(t){var e=t,r=Os(Xi("line-width",this,e),Xi("line-gap-width",this,e)),n=Xi("line-offset",this,e);return r/2+Math.abs(n)+Ji(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Ki(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*Os(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),u=this.paint.get("line-offset").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var i=0;i0?e+2*t:t}var Ds=Ta([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Rs=Ta([{name:"a_projected_pos",components:3,type:"Float32"}],4),Fs=(Ta([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Ta([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Bs=(Ta([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]),Ta([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Ns=Ta([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function js(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),na.applyArabicShaping&&(t=na.applyArabicShaping(t)),t}(t.text,e,r)})),t}Ta([{name:"triangle",components:3,type:"Uint16"}]),Ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),Ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Ta([{type:"Float32",name:"offsetX"}]),Ta([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var Vs={"!":"\ufe15","#":"\uff03",$:"\uff04","%":"\uff05","&":"\uff06","(":"\ufe35",")":"\ufe36","*":"\uff0a","+":"\uff0b",",":"\ufe10","-":"\ufe32",".":"\u30fb","/":"\uff0f",":":"\ufe13",";":"\ufe14","<":"\ufe3f","=":"\uff1d",">":"\ufe40","?":"\ufe16","@":"\uff20","[":"\ufe47","\\":"\uff3c","]":"\ufe48","^":"\uff3e",_:"\ufe33","`":"\uff40","{":"\ufe37","|":"\u2015","}":"\ufe38","~":"\uff5e","\xa2":"\uffe0","\xa3":"\uffe1","\xa5":"\uffe5","\xa6":"\uffe4","\xac":"\uffe2","\xaf":"\uffe3","\u2013":"\ufe32","\u2014":"\ufe31","\u2018":"\ufe43","\u2019":"\ufe44","\u201c":"\ufe41","\u201d":"\ufe42","\u2026":"\ufe19","\u2027":"\u30fb","\u20a9":"\uffe6","\u3001":"\ufe11","\u3002":"\ufe12","\u3008":"\ufe3f","\u3009":"\ufe40","\u300a":"\ufe3d","\u300b":"\ufe3e","\u300c":"\ufe41","\u300d":"\ufe42","\u300e":"\ufe43","\u300f":"\ufe44","\u3010":"\ufe3b","\u3011":"\ufe3c","\u3014":"\ufe39","\u3015":"\ufe3a","\u3016":"\ufe17","\u3017":"\ufe18","\uff01":"\ufe15","\uff08":"\ufe35","\uff09":"\ufe36","\uff0c":"\ufe10","\uff0d":"\ufe32","\uff0e":"\u30fb","\uff1a":"\ufe13","\uff1b":"\ufe14","\uff1c":"\ufe3f","\uff1e":"\ufe40","\uff1f":"\ufe16","\uff3b":"\ufe47","\uff3d":"\ufe48","\uff3f":"\ufe33","\uff5b":"\ufe37","\uff5c":"\u2015","\uff5d":"\ufe38","\uff5f":"\ufe35","\uff60":"\ufe36","\uff61":"\ufe12","\uff62":"\ufe41","\uff63":"\ufe42"},Us=function(t,e,r,n,a){var i,o,s=8*a-n-1,l=(1<>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},qs=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},Hs=Gs;function Gs(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Gs.Varint=0,Gs.Fixed64=1,Gs.Bytes=2,Gs.Fixed32=5;var Ys="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Ws(t){return t.type===Gs.Bytes?t.readVarint()+t.pos:t.pos+1}function Zs(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Xs(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var a=r.pos-1;a>=t;a--)r.buf[a+n]=r.buf[a]}function Js(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function sl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function ll(t,e,r){1===t&&r.readMessage(cl,e)}function cl(t,e,r){if(3===t){var n=r.readMessage(ul,{}),a=n.width,i=n.height,o=n.left,s=n.top,l=n.advance;e.push({id:n.id,bitmap:new fo({width:a+6,height:i+6},n.bitmap),metrics:{width:a,height:i,left:o,top:s,advance:l}})}}function ul(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}function hl(t){for(var e=0,r=0,n=0,a=t;n=0;f--){var p=o[f];if(!(h.w>p.w||h.h>p.h)){if(h.x=p.x,h.y=p.y,l=Math.max(l,h.y+h.h),s=Math.max(s,h.x+h.w),h.w===p.w&&h.h===p.h){var d=o.pop();f>3,i=this.pos;this.type=7&n,t(a,e,this),this.pos===i&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=il(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=sl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=il(this.buf,this.pos)+4294967296*il(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=il(this.buf,this.pos)+4294967296*sl(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=Us(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Us(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,a,i=r.buf;if(n=(112&(a=i[r.pos++]))>>4,a<128)return Zs(t,n,e);if(n|=(127&(a=i[r.pos++]))<<3,a<128)return Zs(t,n,e);if(n|=(127&(a=i[r.pos++]))<<10,a<128)return Zs(t,n,e);if(n|=(127&(a=i[r.pos++]))<<17,a<128)return Zs(t,n,e);if(n|=(127&(a=i[r.pos++]))<<24,a<128)return Zs(t,n,e);if(n|=(1&(a=i[r.pos++]))<<31,a<128)return Zs(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Ys?function(t,e,r){return Ys.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",a=e;a239?4:l>223?3:l>191?2:1;if(a+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(i=t[a+1]))&&(c=(31&l)<<6|63&i)<=127&&(c=null):3===u?(o=t[a+2],128==(192&(i=t[a+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&i)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(o=t[a+2],s=t[a+3],128==(192&(i=t[a+1]))&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&i)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),a+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Gs.Bytes)return t.push(this.readVarint(e));var r=Ws(this);for(t=t||[];this.pos127;);else if(e===Gs.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Gs.Fixed32)this.pos+=4;else{if(e!==Gs.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7)}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,a,i=0;i55295&&n<57344){if(!a){n>56319||i+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):a=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,a=n;continue}n=a-55296<<10|n-56320|65536,a=null}else a&&(t[r++]=239,t[r++]=191,t[r++]=189,a=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Xs(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),qs(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),qs(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Xs(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,Gs.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Js,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ks,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,tl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Qs,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,$s,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,el,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,rl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,nl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,al,e)},writeBytesField:function(t,e){this.writeTag(t,Gs.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Gs.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Gs.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Gs.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var fl=function(t,e){var r=e.pixelRatio,n=e.version,a=e.stretchX,i=e.stretchY,o=e.content;this.paddedRect=t,this.pixelRatio=r,this.stretchX=a,this.stretchY=i,this.content=o,this.version=n},pl={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};pl.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},pl.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},pl.tlbr.get=function(){return this.tl.concat(this.br)},pl.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(fl.prototype,pl);var dl=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var a=[];this.addImages(t,r,a),this.addImages(e,n,a);var i=hl(a),o=new po({width:i.w||1,height:i.h||1});for(var s in t){var l=t[s],c=r[s].paddedRect;po.copy(l.data,o,{x:0,y:0},{x:c.x+1,y:c.y+1},l.data)}for(var u in e){var h=e[u],f=n[u].paddedRect,p=f.x+1,d=f.y+1,g=h.data.width,m=h.data.height;po.copy(h.data,o,{x:0,y:0},{x:p,y:d},h.data),po.copy(h.data,o,{x:0,y:m-1},{x:p,y:d-1},{width:g,height:1}),po.copy(h.data,o,{x:0,y:0},{x:p,y:d+m},{width:g,height:1}),po.copy(h.data,o,{x:g-1,y:0},{x:p-1,y:d},{width:1,height:m}),po.copy(h.data,o,{x:0,y:0},{x:p+g,y:d},{width:1,height:m})}this.image=o,this.iconPositions=r,this.patternPositions=n};dl.prototype.addImages=function(t,e,r){for(var n in t){var a=t[n],i={x:0,y:0,w:a.data.width+2,h:a.data.height+2};r.push(i),e[n]=new fl(i,a),a.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},dl.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e)},dl.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl;r.update(e.data,void 0,{x:n[0],y:n[1]})}},Dn("ImagePosition",fl),Dn("ImageAtlas",dl);var gl={horizontal:1,vertical:2,horizontalOnly:3},ml=function(){this.scale=1,this.fontStack="",this.imageName=null};ml.forText=function(t,e){var r=new ml;return r.scale=t||1,r.fontStack=e,r},ml.forImage=function(t){var e=new ml;return e.imageName=t,e};var vl=function(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};function yl(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var m,v=vl.fromFeature(t,a);h===gl.vertical&&v.verticalizePunctuation();var y=na.processBidirectionalText,x=na.processStyledBidirectionalText;if(y&&1===v.sections.length){m=[];for(var b=0,_=y(v.toString(),Al(v,c,i,e,n,p,d));b<_.length;b+=1){var w=_[b],T=new vl;T.text=w,T.sections=v.sections;for(var k=0;k0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[C];if(j&&j.rect)I=j.rect,P=j.metrics;else{var V=e[S.fontStack],U=V&&V[C];if(!U)continue;P=U.metrics}L=24*(_-S.scale)}D?(t.verticalizable=!0,k.push({glyph:C,imageName:z,x:f,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:I}),f+=O*S.scale+c):(k.push({glyph:C,imageName:z,x:f,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:I}),f+=P.advance*S.scale+c)}0!==k.length&&(d=Math.max(f-c,d),Sl(k,0,k.length-1,m,A)),f=0;var q=i*_+A;T.lineOffset=Math.max(A,w),p+=q,g=Math.max(q,g),++v}else p+=i,++v}var H,G=p- -17,Y=Ml(o),W=Y.horizontalAlign,Z=Y.verticalAlign;(function(t,e,r,n,a,i,o,s,l){var c,u=(e-r)*a;c=i!==o?-s*n- -17:(-n*l+.5)*o;for(var h=0,f=t;h=0&&n>=t&&xl[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},vl.prototype.substring=function(t,e){var r=new vl;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},vl.prototype.toString=function(){return this.text},vl.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},vl.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(ml.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var xl={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},bl={};function _l(t,e,r,n,a,i){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*24/i+a:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+a:0}function wl(t,e,r,n){var a=Math.pow(t-e,2);return n?t=0,h=0,f=0;f-r/2;){if(--o<0)return!1;s-=t[o].dist(i),i=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>a)return!1;o++,s+=u.dist(h)}return!0}function Dl(t){for(var e=0,r=0;rc){var d=(c-l)/p,g=Ve(h.x,f.x,d),m=Ve(h.y,f.y,d),v=new Cl(g,m,f.angleTo(h),u);return v._round(),!o||Ol(t,v,s,o,e)?v:void 0}l+=p}}function Nl(t,e,r,n,a,i,o,s,l){var c=Rl(n,i,o),u=Fl(n,a),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&_=0&&w=0&&p+u<=h){var T=new Cl(_,w,x,g);T._round(),a&&!Ol(e,T,o,a,i)||d.push(T)}}f+=y}return l||d.length||s||(d=t(e,f/2,n,a,i,o,s,!0,c)),d}(t,f?e/2*s%e:(u/2+2*i)*o*s%e,e,c,r,h,f,!1,l)}function jl(t,e,r,n,i){for(var o=[],s=0;s=n&&f.x>=n||(h.x>=n?h=new a(n,h.y+(n-h.x)/(f.x-h.x)*(f.y-h.y))._round():f.x>=n&&(f=new a(n,h.y+(n-h.x)/(f.x-h.x)*(f.y-h.y))._round()),h.y>=i&&f.y>=i||(h.y>=i?h=new a(h.x+(i-h.y)/(f.y-h.y)*(f.x-h.x),i)._round():f.y>=i&&(f=new a(h.x+(i-h.y)/(f.y-h.y)*(f.x-h.x),i)._round()),c&&h.equals(c[c.length-1])||o.push(c=[h]),c.push(f)))))}return o}function Vl(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u=t.right-t.left,h=t.bottom-t.top,f=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(t,e){return t+e[1]-e[0]},g=f.reduce(d,0),m=p.reduce(d,0),v=l-g,y=c-m,x=0,b=g,_=0,w=m,T=0,k=v,A=0,M=y;if(o.content&&n){var S=o.content;x=Ul(f,0,S[0]),_=Ul(p,0,S[1]),b=Ul(f,S[0],S[2]),w=Ul(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,c){var f=Hl(n.stretch-x,b,u,t.left),p=Gl(n.fixed-T,k,n.stretch,g),d=Hl(i.stretch-_,w,h,t.top),v=Gl(i.fixed-A,M,i.stretch,m),y=Hl(l.stretch-x,b,u,t.left),S=Gl(l.fixed-T,k,l.stretch,g),E=Hl(c.stretch-_,w,h,t.top),C=Gl(c.fixed-A,M,c.stretch,m),L=new a(f,d),P=new a(y,d),I=new a(y,E),z=new a(f,E),O=new a(p/s,v/s),D=new a(S/s,C/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];L._matMult(N),P._matMult(N),z._matMult(N),I._matMult(N)}var j=n.stretch+n.fixed,V=i.stretch+i.fixed;return{tl:L,tr:P,bl:z,br:I,tex:{x:o.paddedRect.x+1+j,y:o.paddedRect.y+1+V,w:l.stretch+l.fixed-j,h:c.stretch+c.fixed-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:O,pixelOffsetBR:D,minFontScaleX:k/s/u,minFontScaleY:M/s/h,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var C=ql(f,v,g),L=ql(p,y,m),P=0;P0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var g=o.top*s-l,m=o.bottom*s+l,v=o.left*s-l,y=o.right*s+l,x=o.collisionPadding;if(x&&(v-=x[0]*s,g-=x[1]*s,y+=x[2]*s,m+=x[3]*s),u){var b=new a(v,g),_=new a(y,g),w=new a(v,m),T=new a(y,m),k=u*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),v=Math.min(b.x,_.x,w.x,T.x),y=Math.max(b.x,_.x,w.x,T.x),g=Math.min(b.y,_.y,w.y,T.y),m=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,v,g,y,m,r,n,i)}this.boxEndIndex=t.length},Wl=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Zl),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Zl(t,e){return te?1:0}function Xl(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],c=0;co)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var h=Math.min(o-n,s-i),f=h/2,p=new Wl([],Jl);if(0===h)return new a(n,i);for(var d=n;dm.d||!m.d)&&(m=y,r&&console.log("found best %d after %d probes",Math.round(1e4*y.d)/1e4,v)),y.max-m.d<=e||(p.push(new Kl(y.p.x-(f=y.h/2),y.p.y-f,f,t)),p.push(new Kl(y.p.x+f,y.p.y-f,f,t)),p.push(new Kl(y.p.x-f,y.p.y+f,f,t)),p.push(new Kl(y.p.x+f,y.p.y+f,f,t)),v+=4)}return r&&(console.log("num probes: "+v),console.log("best distance: "+m.d)),m.p}function Jl(t,e){return e.max-t.max}function Kl(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,a=0;at.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,Gi(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Wl.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Wl.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Wl.prototype.peek=function(){return this.data[0]},Wl.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var a=t-1>>1,i=e[a];if(r(n,i)>=0)break;e[t]=i,t=a}e[t]=n},Wl.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,a=e[t];t=0)break;e[t]=o,t=i}e[t]=a};var Ql=Number.POSITIVE_INFINITY;function $l(t,e){return e[1]!==Ql?function(t,e,r){var n=0,a=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":a=r-7;break;case"bottom-right":case"bottom-left":case"bottom":a=7-r}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,a]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var a=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=a-7;break;case"bottom-right":case"bottom-left":n=7-a;break;case"bottom":n=7-e;break;case"top":n=e-7}switch(t){case"top-right":case"bottom-right":r=-a;break;case"top-left":case"bottom-left":r=a;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function tc(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function ec(t,e,r,n,i,o,s,l,c,u,h,f,p,d,g){var m=function(t,e,r,n,i,o,s,l){for(var c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[],h=0,f=e.positionedLines;h32640&&_(t.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'):"composite"===v.kind&&((y=[128*d.compositeTextSizes[0].evaluate(s,{},g),128*d.compositeTextSizes[1].evaluate(s,{},g)])[0]>32640||y[1]>32640)&&_(t.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'),t.addSymbols(t.text,m,y,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,g);for(var x=0,b=h;x=0;o--)if(n.dist(i[o])0)&&("constant"!==i.value.kind||i.value.value.length>0),c="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=a.get("symbol-sort-key");if(this.features=[],l||c){for(var h=e.iconDependencies,f=e.glyphDependencies,p=e.availableImages,d=new aa(this.zoom),g=0,m=t;g=0;for(var z=0,O=k.sections;z=0;s--)i[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:a},s>0&&(a+=e[s-1].dist(e[s]));for(var l=0;l0},hc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},hc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},hc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},hc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},hc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,a=r.vertexStartIndex;a1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Dn("SymbolBucket",hc,{omit:["layers","collisionBoxArray","features","compareText"]}),hc.MAX_GLYPHS=65535,hc.addDynamicAttributes=sc;var fc=new ya({"symbol-placement":new pa(Mt.layout_symbol["symbol-placement"]),"symbol-spacing":new pa(Mt.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new pa(Mt.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new da(Mt.layout_symbol["symbol-sort-key"]),"symbol-z-order":new pa(Mt.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new pa(Mt.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new pa(Mt.layout_symbol["icon-ignore-placement"]),"icon-optional":new pa(Mt.layout_symbol["icon-optional"]),"icon-rotation-alignment":new pa(Mt.layout_symbol["icon-rotation-alignment"]),"icon-size":new da(Mt.layout_symbol["icon-size"]),"icon-text-fit":new pa(Mt.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new pa(Mt.layout_symbol["icon-text-fit-padding"]),"icon-image":new da(Mt.layout_symbol["icon-image"]),"icon-rotate":new da(Mt.layout_symbol["icon-rotate"]),"icon-padding":new pa(Mt.layout_symbol["icon-padding"]),"icon-keep-upright":new pa(Mt.layout_symbol["icon-keep-upright"]),"icon-offset":new da(Mt.layout_symbol["icon-offset"]),"icon-anchor":new da(Mt.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new pa(Mt.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new pa(Mt.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new pa(Mt.layout_symbol["text-rotation-alignment"]),"text-field":new da(Mt.layout_symbol["text-field"]),"text-font":new da(Mt.layout_symbol["text-font"]),"text-size":new da(Mt.layout_symbol["text-size"]),"text-max-width":new da(Mt.layout_symbol["text-max-width"]),"text-line-height":new pa(Mt.layout_symbol["text-line-height"]),"text-letter-spacing":new da(Mt.layout_symbol["text-letter-spacing"]),"text-justify":new da(Mt.layout_symbol["text-justify"]),"text-radial-offset":new da(Mt.layout_symbol["text-radial-offset"]),"text-variable-anchor":new pa(Mt.layout_symbol["text-variable-anchor"]),"text-anchor":new da(Mt.layout_symbol["text-anchor"]),"text-max-angle":new pa(Mt.layout_symbol["text-max-angle"]),"text-writing-mode":new pa(Mt.layout_symbol["text-writing-mode"]),"text-rotate":new da(Mt.layout_symbol["text-rotate"]),"text-padding":new pa(Mt.layout_symbol["text-padding"]),"text-keep-upright":new pa(Mt.layout_symbol["text-keep-upright"]),"text-transform":new da(Mt.layout_symbol["text-transform"]),"text-offset":new da(Mt.layout_symbol["text-offset"]),"text-allow-overlap":new pa(Mt.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new pa(Mt.layout_symbol["text-ignore-placement"]),"text-optional":new pa(Mt.layout_symbol["text-optional"])}),pc={paint:new ya({"icon-opacity":new da(Mt.paint_symbol["icon-opacity"]),"icon-color":new da(Mt.paint_symbol["icon-color"]),"icon-halo-color":new da(Mt.paint_symbol["icon-halo-color"]),"icon-halo-width":new da(Mt.paint_symbol["icon-halo-width"]),"icon-halo-blur":new da(Mt.paint_symbol["icon-halo-blur"]),"icon-translate":new pa(Mt.paint_symbol["icon-translate"]),"icon-translate-anchor":new pa(Mt.paint_symbol["icon-translate-anchor"]),"text-opacity":new da(Mt.paint_symbol["text-opacity"]),"text-color":new da(Mt.paint_symbol["text-color"],{runtimeType:Bt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new da(Mt.paint_symbol["text-halo-color"]),"text-halo-width":new da(Mt.paint_symbol["text-halo-width"]),"text-halo-blur":new da(Mt.paint_symbol["text-halo-blur"]),"text-translate":new pa(Mt.paint_symbol["text-translate"]),"text-translate-anchor":new pa(Mt.paint_symbol["text-translate-anchor"])}),layout:fc},dc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Ot,this.defaultValue=t};dc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},dc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},dc.prototype.outputDefined=function(){return!1},dc.prototype.serialize=function(){return null},Dn("FormatSectionOverride",dc,{omit:["defaultValue"]});var gc=function(t){function e(e){t.call(this,e,pc)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var a=[],i=0,o=n;i",targetMapId:n,sourceMapId:i.mapId})}}},Cc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else k()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Cc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Cc.prototype.processTask=function(t,e){var r=this;if(""===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(jn(e.error)):n(null,jn(e.data)))}else{var a=!1,i=S(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){a=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"",sourceMapId:r.mapId,error:e?Nn(e):null,data:Nn(n,i)},i)}:function(t){a=!0},s=null,l=jn(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(new Error("Could not find function "+e.type));!a&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Cc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Pc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Pc.prototype.setNorthEast=function(t){return this._ne=t instanceof Ic?new Ic(t.lng,t.lat):Ic.convert(t),this},Pc.prototype.setSouthWest=function(t){return this._sw=t instanceof Ic?new Ic(t.lng,t.lat):Ic.convert(t),this},Pc.prototype.extend=function(t){var e,r,n=this._sw,a=this._ne;if(t instanceof Ic)e=t,r=t;else{if(!(t instanceof Pc))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Pc.convert(t)):this.extend(Ic.convert(t)):this;if(r=t._ne,!(e=t._sw)||!r)return this}return n||a?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),a.lng=Math.max(r.lng,a.lng),a.lat=Math.max(r.lat,a.lat)):(this._sw=new Ic(e.lng,e.lat),this._ne=new Ic(r.lng,r.lat)),this},Pc.prototype.getCenter=function(){return new Ic((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Pc.prototype.getSouthWest=function(){return this._sw},Pc.prototype.getNorthEast=function(){return this._ne},Pc.prototype.getNorthWest=function(){return new Ic(this.getWest(),this.getNorth())},Pc.prototype.getSouthEast=function(){return new Ic(this.getEast(),this.getSouth())},Pc.prototype.getWest=function(){return this._sw.lng},Pc.prototype.getSouth=function(){return this._sw.lat},Pc.prototype.getEast=function(){return this._ne.lng},Pc.prototype.getNorth=function(){return this._ne.lat},Pc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Pc.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Pc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Pc.prototype.contains=function(t){var e=Ic.convert(t),r=e.lng,n=e.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&a},Pc.convert=function(t){return!t||t instanceof Pc?t:new Pc(t)};var Ic=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Ic.prototype.wrap=function(){return new Ic(c(this.lng,-180,180),this.lat)},Ic.prototype.toArray=function(){return[this.lng,this.lat]},Ic.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Ic.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,a=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return 6371008.8*Math.acos(Math.min(a,1))},Ic.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Pc(new Ic(this.lng-r,this.lat-e),new Ic(this.lng+r,this.lat+e))},Ic.convert=function(t){if(t instanceof Ic)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Ic(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Ic(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var zc=2*Math.PI*6371008.8;function Oc(t){return zc*Math.cos(t*Math.PI/180)}function Dc(t){return(180+t)/360}function Rc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Fc(t,e){return t/Oc(e)}function Bc(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}var Nc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Nc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Ic.convert(t);return new Nc(Dc(r.lng),Rc(r.lat),Fc(e,r.lat))},Nc.prototype.toLngLat=function(){return new Ic(360*this.x-180,Bc(this.y))},Nc.prototype.toAltitude=function(){return this.z*Oc(Bc(this.y))},Nc.prototype.meterInMercatorCoordinateUnits=function(){return 1/zc*(t=Bc(this.y),1/Math.cos(t*Math.PI/180));var t};var jc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=qc(0,t,t,e,r)};jc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},jc.prototype.url=function(t,e){var r,n,a,i,o,s=(n=this.y,a=this.z,i=Lc(256*(r=this.x),256*(n=Math.pow(2,a)-n-1),a),o=Lc(256*(r+1),256*(n+1),a),i[0]+","+i[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,a="",i=t;i>0;i--)a+=(e&(n=1<this.canonical.z?new Uc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Uc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Uc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?qc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):qc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Uc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Uc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Uc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Uc(e,this.wrap,e,r,n),new Uc(e,this.wrap,e,r+1,n),new Uc(e,this.wrap,e,r,n+1),new Uc(e,this.wrap,e,r+1,n+1)]},Uc.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Hc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Hc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Hc.prototype.getPixels=function(){return new po({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Hc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,a=e*this.dim+this.dim,i=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=a-1;break;case 1:a=n+1}switch(r){case-1:i=o-1;break;case 1:o=i+1}for(var s=-e*this.dim,l=-r*this.dim,c=i;c=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},Xc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new gs.VectorTile(new Hs(this.rawTileData)).layers,this.sourceLayerCoder=new Gc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Xc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=8192/t.tileSize/t.scale,l=rn(o.filter),c=t.queryGeometry,u=t.queryPadding*s,h=Kc(c),f=this.grid.query(h.minX-u,h.minY-u,h.maxX+u,h.maxY+u),p=Kc(t.cameraQueryGeometry),d=0,g=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var c=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var u=0,h=c;u=0)return!0;return!1}(i,h)){var f=this.sourceLayerCoder.decode(r),p=this.vtLayers[f].feature(n);if(a.filter(new aa(this.tileID.overscaledZ),p))for(var d=this.getId(p,f),g=0;gn)a=!1;else if(e)if(this.expirationTimeot&&(t.getActor().send("enforceCacheSizeLimit",it),ut=0)},t.clamp=l,t.clearTileCache=function(t){var e=self.caches.delete("mapbox-tiles");t&&e.catch(t).then((function(){return t()}))},t.clipLine=jl,t.clone=function(t){var e=new to(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=x,t.clone$2=function(t){var e=new to(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ns,t.config=F,t.create=function(){var t=new to(16);return to!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new to(9);return to!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new to(4);return to!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=qr,t.createLayout=Ta,t.createStyleLayer=function(t){return"custom"===t.type?new bc(t):new _c[t.type](t)},t.cross=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2];return t[0]=a*l-i*s,t[1]=i*o-n*l,t[2]=n*s-a*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t},t.number=Ve,t.offscreenCanvasSupported=ht,t.ortho=function(t,e,r,n,a,i,o){var s=1/(e-r),l=1/(n-a),c=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*l,t[14]=(o+i)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new Hs(t).readFields(ll,[])},t.pbf=Hs,t.performSymbolLayout=function(t,e,r,n,a,i,o){t.createArrays(),t.tilePixelRatio=8192/(512*t.overscaling),t.compareText={},t.iconsNeedLinear=!1;var s=t.layers[0].layout,l=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var u=t.textSizeData,h=u.maxZoom;c.compositeTextSizes=[l["text-size"].possiblyEvaluate(new aa(u.minZoom),o),l["text-size"].possiblyEvaluate(new aa(h),o)]}if("composite"===t.iconSizeData.kind){var f=t.iconSizeData,p=f.maxZoom;c.compositeIconSizes=[l["icon-size"].possiblyEvaluate(new aa(f.minZoom),o),l["icon-size"].possiblyEvaluate(new aa(p),o)]}c.layoutTextSize=l["text-size"].possiblyEvaluate(new aa(t.zoom+1),o),c.layoutIconSize=l["icon-size"].possiblyEvaluate(new aa(t.zoom+1),o),c.textMaxSize=l["text-size"].possiblyEvaluate(new aa(18));for(var d=24*s.get("text-line-height"),g="map"===s.get("text-rotation-alignment")&&"point"!==s.get("symbol-placement"),m=s.get("text-keep-upright"),v=s.get("text-size"),y=function(){var i=b[x],l=s.get("text-font").evaluate(i,{},o).join(","),u=v.evaluate(i,{},o),h=c.layoutTextSize.evaluate(i,{},o),f=c.layoutIconSize.evaluate(i,{},o),p={horizontal:{},vertical:void 0},y=i.text,w=[0,0];if(y){var T=y.toString(),k=24*s.get("text-letter-spacing").evaluate(i,{},o),A=function(t){for(var e=0,r=t;e=8192||h.y<0||h.y>=8192||function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,m,v,y,x,b,w,T,k,A){var M,S,E,C,L,P=t.addToLineVertexArray(e,r),I=0,z=0,O=0,D=0,R=-1,F=-1,B={},N=ci(""),j=0,V=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(b,{},k).map((function(t){return 24*t})))[0],V=M[1]):(j=24*s.layout.get("text-radial-offset").evaluate(b,{},k),V=Ql),t.allowVerticalPlacement&&n.vertical){var U=s.layout.get("text-rotate").evaluate(b,{},k)+90;C=new Yl(l,e,c,u,h,n.vertical,f,p,d,U),o&&(L=new Yl(l,e,c,u,h,o,m,v,d,U))}if(a){var q=s.layout.get("icon-rotate").evaluate(b,{}),H="none"!==s.layout.get("icon-text-fit"),G=Vl(a,q,T,H),Y=o?Vl(o,q,T,H):void 0;E=new Yl(l,e,c,u,h,a,m,v,!1,q),I=4*G.length;var W=t.iconSizeData,Z=null;"source"===W.kind?(Z=[128*s.layout.get("icon-size").evaluate(b,{})])[0]>32640&&_(t.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'):"composite"===W.kind&&((Z=[128*w.compositeIconSizes[0].evaluate(b,{},k),128*w.compositeIconSizes[1].evaluate(b,{},k)])[0]>32640||Z[1]>32640)&&_(t.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'),t.addSymbols(t.icon,G,Z,x,y,b,!1,e,P.lineStartIndex,P.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,Y&&(z=4*Y.length,t.addSymbols(t.icon,Y,Z,x,y,b,gl.vertical,e,P.lineStartIndex,P.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}for(var X in n.horizontal){var J=n.horizontal[X];if(!S){N=ci(J.text);var K=s.layout.get("text-rotate").evaluate(b,{},k);S=new Yl(l,e,c,u,h,J,f,p,d,K)}var Q=1===J.positionedLines.length;if(O+=ec(t,e,J,i,s,d,b,g,P,n.vertical?gl.horizontal:gl.horizontalOnly,Q?Object.keys(n.horizontal):[X],B,R,w,k),Q)break}n.vertical&&(D+=ec(t,e,n.vertical,i,s,d,b,g,P,gl.vertical,["vertical"],B,F,w,k));var $=S?S.boxStartIndex:t.collisionBoxArray.length,tt=S?S.boxEndIndex:t.collisionBoxArray.length,et=C?C.boxStartIndex:t.collisionBoxArray.length,rt=C?C.boxEndIndex:t.collisionBoxArray.length,nt=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,it=L?L.boxStartIndex:t.collisionBoxArray.length,ot=L?L.boxEndIndex:t.collisionBoxArray.length,st=-1,lt=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};st=lt(S,st),st=lt(C,st),st=lt(E,st);var ct=(st=lt(L,st))>-1?1:0;ct&&(st*=A/24),t.glyphOffsetArray.length>=hc.MAX_GLYPHS&&_("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,$,tt,et,rt,nt,at,it,ot,c,O,D,I,z,ct,0,f,j,V,st)}(t,h,s,r,n,a,f,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,A,l,x,T,M,d,e,i,c,u,o)};if("line"===S)for(var P=0,I=jl(e.geometry,0,0,8192,8192);P1){var j=Bl(N,k,r.vertical||g,n,24,y);j&&L(N,j)}}else if("Polygon"===e.type)for(var V=0,U=Qo(e.geometry,0);V=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(g[E.id]=E.createBucket({index:u.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,m,this.tileID.canonical),u.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var C=t.mapObject(m.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(C).length?i.send("getGlyphs",{uid:this.uid,stacks:C},(function(t,e){h||(h=t,f=e,I.call(l))})):f={};var L=Object.keys(m.iconDependencies);L.length?i.send("getImages",{icons:L,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){h||(h=t,p=e,I.call(l))})):p={};var P=Object.keys(m.patternDependencies);function I(){if(h)return s(h);if(f&&p&&d){var e=new a(f),r=new t.ImageAtlas(p,d);for(var i in g){var l=g[i];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,f,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(m,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(g).filter((function(t){return!t.isEmpty()})),featureIndex:u,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?f:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}P.length?i.send("getImages",{icons:P,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){h||(h=t,d=e,I.call(l))})):d={},I.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,a=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[a]=new i(e);s.abort=this.loadVectorData(e,(function(e,i){if(delete n.loading[a],e||!i)return s.status="done",n.loaded[a]=s,r(e);var l=i.rawData,c={};i.expires&&(c.expires=i.expires),i.cacheControl&&(c.cacheControl=i.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=i.vectorTile,s.parse(i.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))})),n.loaded=n.loaded||{},n.loaded[a]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,a=t.uid,i=this;if(n&&n[a]){var o=n[a];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var a=o.reloadCallback;a&&(delete o.reloadCallback,o.parse(o.vectorTile,i.layerIndex,r.availableImages,i.actor,a)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var c=t.window.ImageBitmap,u=function(){this.loaded={}};function h(t,e){if(0!==t.length){f(t[0],e);for(var r=1;r=0!=!!e&&t.reverse()}u.prototype.loadTile=function(e,r){var n=e.uid,a=e.encoding,i=e.rawImageData,o=c&&i instanceof c?this.getImageData(i):i,s=new t.DEMData(n,o,a);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},u.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var p=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,d=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};d.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function E(t,e){for(var r=t.loadGeometry(),n=t.type,a=0,i=0,o=r.length,s=0;s>1;!function t(e,r,n,a,i,o){for(;i>a;){if(i-a>600){var s=i-a+1,l=n-a+1,c=Math.log(s),u=.5*Math.exp(2*c/3),h=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);t(e,r,n,Math.max(a,Math.floor(n-l*u/s+h)),Math.min(i,Math.floor(n+(s-l)*u/s+h)),o)}var f=r[2*n+o],p=a,d=i;for(L(e,r,a,n),r[2*i+o]>f&&L(e,r,a,i);pf;)d--}r[2*a+o]===f?L(e,r,a,d):L(e,r,++d,i),d<=n&&(a=d+1),n<=d&&(i=d-1)}}(e,r,s,a,i,o%2),t(e,r,n,a,s-1,o+1),t(e,r,n,s+1,i,o+1)}}(o,s,n,0,o.length-1,0)};D.prototype.range=function(t,e,r,n){return function(t,e,r,n,a,i,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var h=c.pop(),f=c.pop(),p=c.pop();if(f-p<=o)for(var d=p;d<=f;d++)l=e[2*d+1],(s=e[2*d])>=r&&s<=a&&l>=n&&l<=i&&u.push(t[d]);else{var g=Math.floor((p+f)/2);l=e[2*g+1],(s=e[2*g])>=r&&s<=a&&l>=n&&l<=i&&u.push(t[g]);var m=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(m)),(0===h?a>=s:i>=l)&&(c.push(g+1),c.push(f),c.push(m))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},D.prototype.within=function(t,e,r){return function(t,e,r,n,a,i){for(var o=[0,t.length-1,0],s=[],l=a*a;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=i)for(var f=h;f<=u;f++)I(e[2*f],e[2*f+1],r,n)<=l&&s.push(t[f]);else{var p=Math.floor((h+u)/2),d=e[2*p],g=e[2*p+1];I(d,g,r,n)<=l&&s.push(t[p]);var m=(c+1)%2;(0===c?r-a<=d:n-a<=g)&&(o.push(h),o.push(p-1),o.push(m)),(0===c?r+a>=d:n+a>=g)&&(o.push(p+1),o.push(u),o.push(m))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var R={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},F=function(t){this.options=H(Object.create(R),t),this.trees=new Array(this.options.maxZoom+1)};function B(t,e,r,n,a){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:a}}function N(t,e){var r=t.geometry.coordinates,n=r[1];return{x:U(r[0]),y:q(n),zoom:1/0,index:e,parentId:-1}}function j(t){return{type:"Feature",id:t.id,properties:V(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function V(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return H(H({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function U(t){return t/360+.5}function q(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function H(t,e){for(var r in e)t[r]=e[r];return t}function G(t){return t.x}function Y(t){return t.y}function W(t,e,r,n,a,i){var o=a-r,s=i-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=a,n=i):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function Z(t,e,r,n){var a={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)X(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(a*c-l*i)/2:Math.sqrt(Math.pow(l-a,2)+Math.pow(c-i,2))),a=l,i=c}var u=e.length-3;e[2]=1,function t(e,r,n,a){for(var i,o=a,s=n-r>>1,l=n-r,c=e[r],u=e[r+1],h=e[n],f=e[n+1],p=r+3;po)i=p,o=d;else if(d===o){var g=Math.abs(p-s);ga&&(i-r>3&&t(e,r,i,a),e[i+2]=o,n-i>3&&t(e,i,n,a))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function $(t,e,r,n){for(var a=0;a1?1:r}function rt(t,e,r,n,a,i,o,s){if(n/=e,i>=(r/=e)&&o=n)return null;for(var l=[],c=0;c=r&&d=n)){var g=[];if("Point"===f||"MultiPoint"===f)nt(h,g,r,n,a);else if("LineString"===f)at(h,g,r,n,a,!1,s.lineMetrics);else if("MultiLineString"===f)ot(h,g,r,n,a,!1);else if("Polygon"===f)ot(h,g,r,n,a,!0);else if("MultiPolygon"===f)for(var m=0;m=r&&o<=n&&(e.push(t[i]),e.push(t[i+1]),e.push(t[i+2]))}}function at(t,e,r,n,a,i,o){for(var s,l,c=it(t),u=0===a?lt:ct,h=t.start,f=0;fr&&(l=u(c,p,d,m,v,r),o&&(c.start=h+s*l)):y>n?x=r&&(l=u(c,p,d,m,v,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,m,v,n),b=!0),!i&&b&&(o&&(c.end=h+s*l),e.push(c),c=it(t)),o&&(h+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===a?p:d)>=r&&y<=n&&st(c,p,d,g),_=c.length-3,i&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&st(c,c[0],c[1],c[2]),c.length&&e.push(c)}function it(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ot(t,e,r,n,a,i){for(var o=0;oo.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}function gt(t,e,r,n){var a=e.geometry,i=e.type,o=[];if("Point"===i||"MultiPoint"===i)for(var s=0;s0&&e.size<(a?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,a=t.length,i=a-2;n0===e)for(n=0,a=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new D(s,G,Y,i,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},F.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),a=180===t[2]?180:((t[2]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,a=180;else if(r>a){var o=this.getClusters([r,n,180,i],e),s=this.getClusters([-180,n,a,i],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,h=l.range(U(r),q(i),U(a),q(n));u1?this._map(s,!0):null,d=(o<<5)+(e+1)+this.points.length,g=0,m=c;g>5},F.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},F.prototype._map=function(t,e){if(t.numPoints)return e?H({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?H({},n):n},vt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},vt.prototype.splitTile=function(t,e,r,n,a,i,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<1&&console.time("creation"),f=this.tiles[h]=dt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=t,a){if(e===l.maxZoom||e===a)continue;var d=1<1&&console.time("clipping");var g,m,v,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;g=m=v=y=null,x=rt(t,u,r-_,r+T,0,f.minX,f.maxX,l),b=rt(t,u,r+w,r+k,0,f.minX,f.maxX,l),t=null,x&&(g=rt(x,u,n-_,n+T,1,f.minY,f.maxY,l),m=rt(x,u,n+w,n+k,1,f.minY,f.maxY,l),x=null),b&&(v=rt(b,u,n-_,n+T,1,f.minY,f.maxY,l),y=rt(b,u,n+w,n+k,1,f.minY,f.maxY,l),b=null),c>1&&console.timeEnd("clipping"),s.push(g||[],e+1,2*r,2*n),s.push(m||[],e+1,2*r,2*n+1),s.push(v||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},vt.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,i=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,c=t,u=e,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[yt(c,u,h)];return l&&l.source?(i>1&&console.log("found parent tile z%d-%d-%d",c,u,h),i>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,t,e,r),i>1&&console.timeEnd("drilling down"),this.tiles[s]?ft(this.tiles[s],a):null):null};var bt=function(e){function r(t,r,n,a){e.call(this,t,r,n,xt),a&&(this.loadGeoJSON=a)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var a=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(i,o){if(i||!o)return r(i);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));!function t(e,r){var n,a=e&&e.type;if("FeatureCollection"===a)for(n=0;n=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var f=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function v(t,e,r,n,a,i,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else if(i.ranges[s])e(null,{stack:r,id:a,glyph:o});else{var l=i.requests[s];l||(l=i.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(i.glyphs[+r]=e[+r]);i.ranges[s]=!0}for(var a=0,o=l;a1&&(s=t[++o]);var c=Math.abs(l-s.left),u=Math.abs(l-s.right),h=Math.min(c,u),f=void 0,p=a/r*(n+1);if(s.isDash){var d=n-Math.abs(p);f=Math.sqrt(h*h+d*d)}else f=n-Math.sqrt(h*h+p*p);this.data[i+l]=Math.max(0,Math.min(255,f+128))}},T.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var a=t[0],i=t[t.length-1];a.isDash===i.isDash&&(a.left=i.left-this.width,i.right=a.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],c=0;c1&&(l=t[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h);this.data[o+c]=Math.max(0,Math.min(255,(l.isDash?f:-f)+128))}},T.prototype.addDash=function(e,r){var n=r?7:0,a=2*n+1;if(this.nextRow+a>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var i=0,o=0;o=n&&e.x=a&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),a=this._data;"string"==typeof a?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(a),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(a),this.actor.send(this.type+".loadData",n,(function(t,a){r._removed||a&&a.abandoned||(r._loaded=!0,a&&a.resourceTiming&&a.resourceTiming[r.id]&&(r._resourceTiming=a.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,a=e.actor?"reloadTile":"loadTile";e.actor=this.actor,e.request=this.actor.send(a,{type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},(function(t,i){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(i,n.map.painter,"reloadTile"===a),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),I=function(e){function r(t,r,n,a){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(a),this.options=r}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(a,i){n._loaded=!0,a?n.fire(new t.ErrorEvent(a)):i&&(n.image=i,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,a=-1/0,i=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var a=this.tiles[n];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),O=function(e){function r(r,n,a,i){e.call(this,r,n,a,i),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var a in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var i=this.tiles[a];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},N.prototype.has=function(t){return t.wrapped().key in this.data},N.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},N.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},N.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},N.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},N.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),a=this.data[r][n];return this.data[r].splice(n,1),a.timeout&&clearTimeout(a.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(a.value),this.order.splice(this.order.indexOf(r),1),this},N.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},N.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,a=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+a)?r+=a:1===Math.abs(r-a)&&(r-=a)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[i]&&(t.neighboringTiles[i].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var a in this._tiles){var i=this._tiles[a];if(!(n[a]||!i.hasData()||i.tileID.overscaledZ<=e||i.tileID.overscaledZ>r)){for(var o=i.tileID;i&&i.tileID.overscaledZ>e+1;){var s=i.tileID.scaledTo(i.tileID.overscaledZ-1);(i=this._tiles[s.key])&&i.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var a=t.scaledTo(n),i=this._getLoadedTile(a);if(i)return i}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=Math.ceil(t.width/this._source.tileSize)+1,r=Math.ceil(t.height/this._source.tileSize)+1,n=Math.floor(e*r*5),a="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,n):n;this._cache.setMaxSize(a)},r.prototype.handleWrapJump=function(t){var e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){var r={};for(var n in this._tiles){var a=this._tiles[n];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+e),r[a.tileID.key]=a}for(var i in this._tiles=r,this._timers)clearTimeout(this._timers[i]),delete this._timers[i];for(var o in this._tiles)this._setTileReloadTimer(o,this._tiles[o])}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var a;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?a=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(a=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(a=a.filter((function(t){return n._source.hasTile(t)})))):a=[];var i=e.coveringZoomLevel(this._source),o=Math.max(i-r.maxOverzooming,this._source.minzoom),s=Math.max(i+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(a,i);if(It(this._source.type)){for(var c={},u={},h=0,f=Object.keys(l);hthis._source.maxzoom){var m=d.children(this._source.maxzoom)[0],v=this.getTile(m);if(v&&v.hasData()){n[m.key]=m;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=g.wasRequested(),b=d.overscaledZ-1;b>=i;--b){var _=d.scaledTo(b);if(a[_.key])break;if(a[_.key]=!0,!(g=this.getTile(_))&&x&&(g=this._addTile(_)),g&&(n[_.key]=_,x=g.wasRequested(),g.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var a=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(a))break;n=a}for(var i=0,o=e;i0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var a=this,i=[],o=this.transform;if(!o)return i;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),c=s.map((function(t){return o.pointCoordinate(t)})),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,g=0,m=c;g=0&&v[1].y+m>=0){var y=l.map((function(t){return s.getTilePoint(t)})),x=c.map((function(t){return s.getTilePoint(t)}));i.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:g})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){this._state.updateState(t=t||"_geojsonTileLayer",e,r)},r.prototype.removeFeatureState=function(t,e,r){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,r)},r.prototype.getFeatureState=function(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function Pt(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function It(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(Ya.workerUrl)}Lt.maxOverzooming=10,Lt.maxUnderzooming=3;var Ot="mapboxgl_preloaded_worker_pool",Dt=function(){this.active={}};Dt.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(a-o)/s:0;return this.points[i].mult(1-l).add(this.points[r].mult(l))};var Jt=function(t,e,r){var n=this.boxCells=[],a=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var i=0;i=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function re(e,r,n,a,i,o,s,l){var c=a?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),h=[256/n.width*2+1,256/n.height*2+1],f=a?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();for(var p=e.lineVertexArray,d=a?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=n.transform.width/n.transform.height,m=!1,v=0;vMath.abs(n.x-r.x)*a?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function ie(e,r,n,a,i,o,s,l,c,u,h,f,p,d){var g,m=r/24,v=e.lineOffsetX*m,y=e.lineOffsetY*m;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=ne(m,l,v,y,n,h,f,e,c,o,p);if(!w)return{notEnoughRoom:!0};var T=$t(w.first.point,s).point,k=$t(w.last.point,s).point;if(a&&!n){var A=ae(e.writingMode,T,k,d);if(A)return A}g=[w.first];for(var M=e.glyphStartIndex+1;M0?L.point:oe(f,C,S,1,i),I=ae(e.writingMode,S,P,d);if(I)return I}var z=se(m*l.getoffsetX(e.glyphStartIndex),v,y,n,h,f,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p);if(!z)return{notEnoughRoom:!0};g=[z]}for(var O=0,D=g;O0?1:-1,g=0;a&&(d*=-1,g=Math.PI),d<0&&(g+=Math.PI);for(var m=d>0?l+s:l+s+1,v=i,y=i,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((m+=d)=c)return null;if(y=v,w.push(v),void 0===(v=f[m])){var T=new t.Point(u.getx(m),u.gety(m)),k=$t(T,h);if(k.signedDistanceFromCamera>0)v=f[m]=k.point;else{var A=m-d;v=oe(0===x?o:new t.Point(u.getx(A),u.gety(A)),T,y,_-x+1,h)}}x+=b,b=y.dist(v)}var M=(_-x)/b,S=v.sub(y),E=S.mult(M)._add(y);E._add(S._unit()._perp()._mult(n*d));var C=g+Math.atan2(v.y-y.y,v.x-y.x);return w.push(E),{point:E,angle:C,path:w}}Jt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Jt.prototype.insert=function(t,e,r,n,a){this._forEachCell(e,r,n,a,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(a)},Jt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Jt.prototype._insertBoxCell=function(t,e,r,n,a,i){this.boxCells[a].push(i)},Jt.prototype._insertCircleCell=function(t,e,r,n,a,i){this.circleCells[a].push(i)},Jt.prototype._query=function(t,e,r,n,a,i){if(r<0||t>this.width||n<0||e>this.height)return!a&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(a)return!0;for(var s=0;s0:o},Jt.prototype._queryCircle=function(t,e,r,n,a){var i=t-r,o=t+r,s=e-r,l=e+r;if(o<0||i>this.width||l<0||s>this.height)return!n&&[];var c=[];return this._forEachCell(i,s,o,l,this._queryCellCircle,c,{hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}},a),n?c.length>0:c},Jt.prototype.query=function(t,e,r,n,a){return this._query(t,e,r,n,!1,a)},Jt.prototype.hitTest=function(t,e,r,n,a){return this._query(t,e,r,n,!0,a)},Jt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Jt.prototype._queryCell=function(t,e,r,n,a,i,o,s){var l=o.seenUids,c=this.boxCells[a];if(null!==c)for(var u=this.bboxes,h=0,f=c;h=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return i.push(!0),!0;i.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var g=this.circleCells[a];if(null!==g)for(var m=this.circles,v=0,y=g;vo*o+s*s},Jt.prototype._circleAndRectCollide=function(t,e,r,n,a,i,o){var s=(i-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-a)/2,u=Math.abs(e-(a+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var le=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ce(t,e){for(var r=0;r=1;P--)L.push(E.path[P]);for(var I=1;I0){for(var R=L[0].clone(),F=L[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[L]:F.xM.x||F.yM.y?[]:t.clipLine([L],A.x,A.y,M.x,M.y)}for(var N=0,j=D;N=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},he.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID].text&&(g=this.prevPlacement.variableOffsets[h.crossTileID].anchor),this.variableOffsets[h.crossTileID]={textOffset:m,width:r,height:n,anchor:t,textBoxScale:a,prevAnchor:g},this.markUsedJustification(f,t,h,p),f.allowVerticalPlacement&&(this.markUsedOrientation(f,p,h),this.placedOrientations[h.crossTileID]=p),{shift:v,placedGlyphBoxes:y}):void 0},_e.prototype.placeLayerBucketPart=function(e,r,n){var a=this,i=e.parameters,o=i.bucket,s=i.layout,l=i.posMatrix,c=i.textLabelPlaneMatrix,u=i.labelToScreenMatrix,h=i.textPixelRatio,f=i.holdingForFade,p=i.collisionBoxArray,d=i.partiallyEvaluatedTextSize,g=i.collisionGroup,m=s.get("text-optional"),v=s.get("icon-optional"),y=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=y&&(x||!o.hasIconData()||v),A=x&&(y||!o.hasTextData()||m);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,i){if(!r[e.crossTileID])if(f)a.placements[e.crossTileID]=new ge(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,C={box:null,offscreen:null},L={box:null,offscreen:null},P=null,I=null,z=0,O=0,D=0;i.textFeatureIndex?z=i.textFeatureIndex:e.useRuntimeCollisionCircles&&(z=e.featureIndex),i.verticalTextFeatureIndex&&(O=i.verticalTextFeatureIndex);var R=i.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&a.prevPlacement){var i=a.prevPlacement.placedOrientations[e.crossTileID];i&&(a.placedOrientations[e.crossTileID]=i,a.markUsedOrientation(o,n=i,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i.verticalTextBox)for(var a=0,s=o.writingModes;a0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var V=function(t,r,n){for(var i=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!x?r:null,f={box:[],offscreen:!1},p=y?2*N.length:N.length,d=0;d=N.length,e,o,n,u);if(m&&(f=m.placedGlyphBoxes)&&f.box&&f.box.length){T=!0,E=m.shift;break}}return f};B((function(){return V(R,i.iconBox,t.WritingMode.horizontal)}),(function(){var r=i.verticalTextBox;return o.allowVerticalPlacement&&!(C&&C.box&&C.box.length)&&e.numVerticalGlyphVertices>0&&r?V(r,i.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),C&&(T=C.box,S=C.offscreen);var U=F(C&&C.box);if(!T&&a.prevPlacement){var q=a.prevPlacement.variableOffsets[e.crossTileID];q&&(a.variableOffsets[e.crossTileID]=q,a.markUsedJustification(o,q.anchor,e,U))}}else{var H=function(t,r){var n=a.collisionIndex.placeCollisionBox(t,y,h,l,g.predicate);return n&&n.box&&n.box.length&&(a.markUsedOrientation(o,r,e),a.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=i.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(C&&C.box&&C.box.length)}}if(T=(p=C)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Y=t.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get("text-padding");P=a.collisionIndex.placeCollisionCircles(y,G,o.lineVertexArray,o.glyphOffsetArray,Y,l,c,u,n,_,g.predicate,e.collisionCircleDiameter,W),T=y||P.circles.length>0&&!P.collisionDetected,S=S&&P.offscreen}if(i.iconFeatureIndex&&(D=i.iconFeatureIndex),i.iconBox){var Z=function(t){var e=w&&E?be(t,E.x,E.y,b,_,a.transform.angle):t;return a.collisionIndex.placeCollisionBox(e,x,h,l,g.predicate)};M=L&&L.box&&L.box.length&&i.verticalIconBox?(I=Z(i.verticalIconBox)).box.length>0:(I=Z(i.iconBox)).box.length>0,S=S&&I.offscreen}var X=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=v||0===e.numIconVertices;if(X||J?J?X||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&a.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,L&&L.box&&O?O:z,g.ID),M&&I&&a.collisionIndex.insertCollisionBox(I.box,s.get("icon-ignore-placement"),o.bucketInstanceId,D,g.ID),P&&(T&&a.collisionIndex.insertCollisionCircles(P.circles,s.get("text-ignore-placement"),o.bucketInstanceId,z,g.ID),n)){var K=o.bucketInstanceId,Q=a.collisionCircleArrays[K];void 0===Q&&(Q=a.collisionCircleArrays[K]=new me);for(var $=0;$=0;--E){var C=S[E];M(o.symbolInstances.get(C),o.collisionArrays[C])}else for(var L=e.symbolInstanceStart;L=0&&(e.text.placedSymbolArray.get(l).crossTileID=i>=0&&l!==i?0:n.crossTileID)}},_e.prototype.markUsedOrientation=function(e,r,n){for(var a=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,i=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0,y=a.placedOrientations[i.crossTileID],x=y===t.WritingMode.vertical,b=y===t.WritingMode.horizontal||y===t.WritingMode.horizontalOnly;if(s>0||l>0){var _=Le(m.text);d(e.text,s,x?Pe:_),d(e.text,l,b?Pe:_);var w=m.text.isHidden();[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=w||x?1:0)})),i.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=w||b?1:0);var T=a.variableOffsets[i.crossTileID];T&&a.markUsedJustification(e,T.anchor,i,y);var k=a.placedOrientations[i.crossTileID];k&&(a.markUsedJustification(e,"left",i,k),a.markUsedOrientation(e,k,i))}if(v){var A=Le(m.icon),M=!(f&&i.verticalPlacedIconSymbolIndex&&x);i.placedIconSymbolIndex>=0&&(d(e.icon,i.numIconVertices,M?A:Pe),e.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=m.icon.isHidden()),i.verticalPlacedIconSymbolIndex>=0&&(d(e.icon,i.numVerticalIconVertices,M?Pe:A),e.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=m.icon.isHidden())}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var S=e.collisionArrays[n];if(S){var E=new t.Point(0,0);if(S.textBox||S.verticalTextBox){var C=!0;if(c){var L=a.variableOffsets[g];L?(E=xe(L.anchor,L.width,L.height,L.textOffset,L.textBoxScale),u&&E._rotate(h?a.transform.angle:-a.transform.angle)):C=!1}S.textBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!C||x,E.x,E.y),S.verticalTextBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!C||b,E.x,E.y)}var P=Boolean(!b&&S.verticalIconBox);S.iconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,P,f?E.x:0,f?E.y:0),S.verticalIconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,!P,f?E.x:0,f?E.y:0)}}},m=0;mt},_e.prototype.setStale=function(){this.stale=!0};var Te=Math.pow(2,25),ke=Math.pow(2,24),Ae=Math.pow(2,17),Me=Math.pow(2,16),Se=Math.pow(2,9),Ee=Math.pow(2,8),Ce=Math.pow(2,1);function Le(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Te+e*ke+r*Ae+e*Me+r*Se+e*Ee+r*Ce+e}var Pe=0,Ie=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Ie.prototype.continuePlacement=function(t,e,r,n,a){for(var i=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Ie(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},ze.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Oe=512/t.EXTENT/2,De=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,a)}else{var c=o[t.scaledTo(Number(i)).key];c&&c.findMatches(e.symbolInstances,t,a)}}for(var u=0;u1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,a=e,u())})),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){c=null,o||(o=t,i=e,u())}));function u(){if(o)n(o);else if(a&&i){var e=t.browser.getImageData(i),r={};for(var s in a){var l=a[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,g=l.stretchX,m=l.stretchY,v=l.content,y=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,y,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:y,pixelRatio:d,sdf:p,stretchX:g,stretchY:m,content:v}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var a in n)r.imageManager.addImage(a,n[a]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var a=r.getSource();("geojson"===a.type||a.vectorLayerIds&&-1===a.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+a.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error("Unimplemented: "+a.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var a=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var i=this.sourceCaches[e]=new Lt(e,r,this.dispatcher);i.style=this,i.setEventedParent(this,(function(){return{isSourceLoaded:a.loaded(),source:i.serialize(),sourceId:e}})),i.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var a=e.id;if(this.getLayer(a))this.fire(new t.ErrorEvent(new Error('Layer with id "'+a+'" already exists on this map')));else{var i;if("custom"===e.type){if(Ne(this,t.validateCustomStyleLayer(e)))return;i=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(a,e.source),e=t.clone$1(e),e=t.extend(e,{source:a})),this._validate(t.validateStyle.layer,"layers."+a,e,{arrayIndex:-1},n))return;i=t.createStyleLayer(e),this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}}),this._serializedLayers[i.id]=i.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,a),this._layerOrderChanged=!0,this._layers[a]=i,this._removedLayers[a]&&i.source&&"custom"!==i.type){var s=this._removedLayers[a];delete this._removedLayers[a],s.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),i.onAdd&&i.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var a=r?this._order.indexOf(r):this._order.length;r&&-1===a?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(a,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var a=this.getLayer(e);a?a.minzoom===r&&a.maxzoom===n||(null!=r&&(a.minzoom=r),null!=n&&(a.maxzoom=n),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var a=this.getLayer(e);if(a){if(!t.deepEqual(a.filter,r))return null==r?(a.filter=void 0,void this._updateLayer(a)):void(this._validate(t.validateStyle.filter,"layers."+a.id+".filter",r,null,n)||(a.filter=t.clone$1(r),this._updateLayer(a)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getLayoutProperty(r),n)||(i.setLayoutProperty(r,n,a),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getPaintProperty(r),n)||(i.setPaintProperty(r,n,a)&&this._updateLayer(i),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,a=e.sourceLayer,i=this.sourceCaches[n];if(void 0!==i){var o=i.getSource().type;"geojson"===o&&a?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||a?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.setFeatureState(a,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,a=this.sourceCaches[n];if(void 0!==a){var i=a.getSource().type,o="vector"===i?e.sourceLayer:void 0;"vector"!==i||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):a.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,a=this.sourceCaches[r];if(void 0!==a){if("vector"!==a.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},a=[],i=this._order.length-1;i>=0;i--){var o=this._order[i];if(r(o)){n[o]=i;for(var s=0,l=t;s=0;p--){var d=this._order[p];if(r(d))for(var g=a.length-1;g>=0;g--){var m=a[g].feature;if(n[m.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),$e=vr("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),tr=vr("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),er=vr("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),rr=vr("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),nr=vr("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),ar=vr("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ir=vr("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),or=vr("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),sr=vr("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),lr=vr("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),cr=vr("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),ur=vr("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),hr=vr("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),fr=vr("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),pr=vr("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),dr=vr("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),gr=vr("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),mr=vr("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function vr(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n={};return{fragmentSource:t=t.replace(r,(function(t,e,r,a,i){return n[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+a+" "+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,a,i){var o="float"===a?"vec2":"vec4",s=i.match(/color/)?"color":o;return n[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+o+" a_"+i+";\nvarying "+r+" "+a+" "+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+s+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+o+" a_"+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+a+" "+i+" = a_"+i+";\n#else\n "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+a+" "+i+" = unpack_mix_"+s+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n"}))}}var yr=Object.freeze({__proto__:null,prelude:Ge,background:Ye,backgroundPattern:We,circle:Ze,clippingMask:Xe,heatmap:Je,heatmapTexture:Ke,collisionBox:Qe,collisionCircle:$e,debug:tr,fill:er,fillOutline:rr,fillOutlinePattern:nr,fillPattern:ar,fillExtrusion:ir,fillExtrusionPattern:or,hillshadePrepare:sr,hillshade:lr,line:cr,lineGradient:ur,linePattern:hr,lineSDF:fr,raster:pr,symbolIcon:dr,symbolSDF:gr,symbolTextAndIcon:mr}),xr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};xr.prototype.bind=function(t,e,r,n,a,i,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}br.prototype.draw=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var m,v=t.gl;if(!this.failedToCreate){for(var y in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(a),t.setCullFace(i),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(t,this.binderUniforms,h,{zoom:f});for(var x=(m={},m[v.LINES]=2,m[v.TRIANGLES]=3,m[v.LINE_STRIP]=1,m)[e],b=0,_=u.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new xr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],c,w.vertexOffset,d,g),v.drawElements(e,w.primitiveLength*x,v.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var wr=function(e,r,n,a){var i=r.style.light,o=i.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===i.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var c=i.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:i.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:a}},Tr=function(e,r,n,a,i,o,s){return t.extend(wr(e,r,n,a),_r(o,r,s),{u_height_factor:-Math.pow(2,i.overscaledZ)/s.tileSize/8})},kr=function(t){return{u_matrix:t}},Ar=function(e,r,n,a){return t.extend(kr(e),_r(n,r,a))},Mr=function(t,e){return{u_matrix:t,u_world:e}},Sr=function(e,r,n,a,i){return t.extend(Ar(e,r,n,a),{u_world:i})},Er=function(e,r,n,a){var i,o,s=e.transform;if("map"===a.paint.get("circle-pitch-alignment")){var l=fe(n,1,s.zoom);i=!0,o=[l,l]}else i=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===a.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,a.paint.get("circle-translate"),a.paint.get("circle-translate-anchor")),u_pitch_with_map:+i,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Cr=function(t,e,r){var n=fe(r,1,e.zoom),a=Math.pow(2,e.zoom-r.tileID.overscaledZ),i=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*a),e.pixelsToGLUnits[1]/(n*a)],u_overscale_factor:i}},Lr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Pr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Ir=function(t){return{u_matrix:t}},zr=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:fe(e,1,r),u_intensity:n}},Or=function(e,r,n){var a=e.transform;return{u_matrix:Nr(e,r,n),u_ratio:1/fe(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Dr=function(e,r,n){return t.extend(Or(e,r,n),{u_image:0})},Rr=function(e,r,n,a){var i=e.transform,o=Br(r,i);return{u_matrix:Nr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/fe(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Fr=function(e,r,n,a,i){var o=e.lineAtlas,s=Br(r,e.transform),l="round"===n.layout.get("line-cap"),c=o.getDash(a.from,l),u=o.getDash(a.to,l),h=c.width*i.fromScale,f=u.width*i.toScale;return t.extend(Or(e,r,n),{u_patternscale_a:[s/h,-c.height/2],u_patternscale_b:[s/f,-u.height/2],u_sdfgamma:o.width/(256*Math.min(h,f)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:u.y,u_mix:i.t})};function Br(t,e){return 1/fe(t,1,e.tileZoom)}function Nr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var jr=function(t,e,r,n,a){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*a.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:a.paint.get("raster-brightness-min"),u_brightness_high:a.paint.get("raster-brightness-max"),u_saturation_factor:(o=a.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(i=a.paint.get("raster-contrast"),i>0?1/(1-i):1+i),u_spin_weights:Vr(a.paint.get("raster-hue-rotate"))};var i,o};function Vr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Ur,qr=function(t,e,r,n,a,i,o,s,l,c){var u=a.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:a.options.fadeDuration?a.symbolFadeChange:1,u_matrix:i,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Hr=function(e,r,n,a,i,o,s,l,c,u,h){var f=i.transform;return t.extend(qr(e,r,n,a,i,o,s,l,c,u),{u_gamma_scale:a?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Gr=function(e,r,n,a,i,o,s,l,c,u){return t.extend(Hr(e,r,n,a,i,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Yr=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Wr=function(e,r,n,a,i,o){return t.extend(function(t,e,r,n){var a=r.imageManager.getPattern(t.from.toString()),i=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,h=u*(n.tileID.canonical.x+n.tileID.wrap*c),f=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.br,u_pattern_tl_b:i.tl,u_pattern_br_b:i.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:a.displaySize,u_pattern_size_b:i.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/fe(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,f>>16],u_pixel_coord_lower:[65535&h,65535&f]}}(a,o,n,i),{u_matrix:e,u_opacity:r})},Zr={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Xr(e,r,n,a,i,o,s){for(var l=e.context,c=l.gl,u=e.useProgram("collisionBox"),h=[],f=0,p=0,d=0;d0){var _=t.create(),w=y;t.mul(_,v.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,v.placementViewportMatrix),h.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=f+=b.length/4}x&&u.draw(l,c.LINES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,Cr(y,e.transform,m),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&h.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*f),k._trim();for(var A=0,M=0,S=h;M=0&&(g[v.associatedIconIndex]={shiftedAnchor:k,angle:A})}else ce(v.numGlyphs,p)}if(h){d.clear();for(var S=e.icon.placedSymbolArray,E=0;E0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=i.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=f&&e.refreshedUponExpiration?1:t.clamp(f?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var ln=new t.Color(1,0,0,1),cn=new t.Color(0,1,0,1),un=new t.Color(0,0,1,1),hn=new t.Color(1,0,1,1),fn=new t.Color(0,1,1,1);function pn(t,e,r,n){gn(t,0,e+r/2,t.transform.width,r,n)}function dn(t,e,r,n){gn(t,e-r/2,0,r,t.transform.height,n)}function gn(e,r,n,a,i,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function mn(e,r,n){var a=e.context,i=a.gl,o=n.posMatrix,s=e.useProgram("debug"),l=At.disabled,c=Mt.disabled,u=e.colorModeForRenderPass();a.activeTexture.set(i.TEXTURE0),e.emptyTexture.bind(i.LINEAR,i.CLAMP_TO_EDGE),s.draw(a,i.LINE_STRIP,l,c,u,Et.disabled,Pr(o,t.Color.red),"$debug",e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,f=Math.floor((h&&h.byteLength||0)/1024),p=r.getTile(n).tileSize,d=512/Math.min(p,512)*(n.overscaledZ/e.transform.zoom)*.5,g=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(g+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,a=t.debugOverlayCanvas.getContext("2d");a.clearRect(0,0,r.width,r.height),a.shadowColor="white",a.shadowBlur=2,a.lineWidth=1.5,a.strokeStyle="white",a.textBaseline="top",a.font="bold 36px Open Sans, sans-serif",a.fillText(e,5,5),a.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,g+" "+f+"kb"),s.draw(a,i.TRIANGLES,l,c,St.alphaBlended,Et.disabled,Pr(o,t.Color.transparent,d),"$debug",e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var vn={symbol:function(e,r,n,a,i){if("translucent"===e.renderPass){var o=Mt.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,a,i,o,s){for(var l=r.transform,c="map"===i,u="map"===o,h=0,f=e;h256&&this.clearStencil(),r.setColorMode(St.disabled),r.setDepthMode(At.disabled);var a=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var i=0,o=e;i256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Mt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},yn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Mt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},yn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),a=n[n.length-1].overscaledZ,i=n[0].overscaledZ-a+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var b=this.style._layers[a[this.currentLayer]],_=i[b.source],w=u[b.source];this._renderTileClippingMasks(b,w),this.renderLayer(this,_,b,w)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},yn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},yn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new br(this.context,yr[t],e,Zr[t],this._showOverdrawInspector)),this.cache[r]},yn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},yn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},yn.prototype.initDebugOverlayCanvas=function(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))},yn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var xn=function(t,e){this.points=t,this.planes=e};xn.fromInvProjectionMatrix=function(e,r,n){var a=Math.pow(2,n),i=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*a)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],i[e[0]],i[e[1]]),n=t.sub([],i[e[2]],i[e[1]]),a=t.normalize([],t.cross([],r,n)),o=-t.dot(a,i[e[1]]);return a.concat(o)}));return new xn(i,o)};var bn=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};bn.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),a=t.clone$2(this.max),i=0;i=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=0;hthis.max[l]-this.min[l])return 0}return 1};var _n=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};_n.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},_n.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),a=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,a)},_n.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},_n.prototype.clone=function(){return new _n(this.top,this.bottom,this.left,this.right)},_n.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var wn=function(e,r,n,a,i){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===i||i,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==a?60:a,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new _n,this._posMatrixCache={},this._alignedPosMatrixCache={}},Tn={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};wn.prototype.clone=function(){var t=new wn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Tn.minZoom.get=function(){return this._minZoom},Tn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Tn.maxZoom.get=function(){return this._maxZoom},Tn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Tn.minPitch.get=function(){return this._minPitch},Tn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Tn.maxPitch.get=function(){return this._maxPitch},Tn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Tn.renderWorldCopies.get=function(){return this._renderWorldCopies},Tn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Tn.worldSize.get=function(){return this.tileSize*this.scale},Tn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Tn.size.get=function(){return new t.Point(this.width,this.height)},Tn.bearing.get=function(){return-this.angle/Math.PI*180},Tn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Tn.pitch.get=function(){return this._pitch/Math.PI*180},Tn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Tn.fov.get=function(){return this._fov/Math.PI*180},Tn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Tn.zoom.get=function(){return this._zoom},Tn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Tn.center.get=function(){return this._center},Tn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Tn.padding.get=function(){return this._edgeInsets.toJSON()},Tn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Tn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},wn.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},wn.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},wn.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},wn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),a=this.pointCoordinate(new t.Point(this.width,0)),i=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,a.x,i.x,o.x)),l=Math.floor(Math.max(n.x,a.x,i.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},wn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var a=t.MercatorCoordinate.fromLngLat(this.center),i=Math.pow(2,r),o=[i*a.x,i*a.y,0],s=xn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(t){return{aabb:new bn([t*i,0,0],[(t+1)*i,i,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],h=[],f=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var g=u.pop(),m=g.x,v=g.y,y=g.fullyVisible;if(!y){var x=g.aabb.intersects(s);if(0===x)continue;y=2===x}var b=g.aabb.distanceX(o),_=g.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_));if(g.zoom===f||w>3+(1<=l)h.push({tileID:new t.OverscaledTileID(g.zoom===f?p:g.zoom,g.wrap,g.zoom,m,v),distanceSq:t.sqrLen([o[0]-.5-m,o[1]-.5-v])});else for(var T=0;T<4;T++){var k=(m<<1)+T%2,A=(v<<1)+(T>>1);u.push({aabb:g.aabb.quadrant(T),zoom:g.zoom+1,x:k,y:A,wrap:g.wrap,fullyVisible:y})}}return h.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},wn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Tn.unmodified.get=function(){return this._unmodified},wn.prototype.zoomScale=function(t){return Math.pow(2,t)},wn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},wn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},wn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Tn.point.get=function(){return this.project(this.center)},wn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),a=this.pointCoordinate(this.centerPoint),i=this.locationCoordinate(e),o=new t.MercatorCoordinate(i.x-(n.x-a.x),i.y-(n.y-a.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},wn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},wn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},wn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},wn.prototype.coordinateLocation=function(t){return t.toLngLat()},wn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var a=r[3],i=n[3],o=r[1]/a,s=n[1]/i,l=r[2]/a,c=n[2]/i,u=l===c?0:(0-l)/(c-l);return new t.MercatorCoordinate(t.number(r[0]/a,n[0]/i,u)/this.worldSize,t.number(o,s,u)/this.worldSize)},wn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},wn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},wn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},wn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},wn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,a=r?this._alignedPosMatrixCache:this._posMatrixCache;if(a[n])return a[n];var i=e.canonical,o=this.worldSize/this.zoomScale(i.z),s=i.x+Math.pow(2,i.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,i.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),a[n]=new Float32Array(l),a[n]},wn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},wn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,a,i=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;i=t.mercatorYfromLat(h[1])*this.worldSize,e=(o=t.mercatorYfromLat(h[0])*this.worldSize)-io&&(a=o-m)}if(this.lngRange){var v=p.x,y=c.x/2;v-yl&&(n=l-y)}void 0===n&&void 0===a||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==a?a:p.y))),this._unmodified=u,this._constraining=!1}},wn.prototype._calcMatrices=function(){if(this.height){var e=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var r=Math.PI/2+this._pitch,n=this._fov*(.5+e.y/this.height),a=Math.sin(n)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-r-n,.01,Math.PI-.01)),i=this.point,o=i.x,s=i.y,l=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,u=new Float64Array(16);t.perspective(u,this._fov,this.width/this.height,c,l),u[8]=2*-e.x/this.width,u[9]=2*e.y/this.height,t.scale(u,u,[1,-1,1]),t.translate(u,u,[0,0,-this.cameraToCenterDistance]),t.rotateX(u,u,this._pitch),t.rotateZ(u,u,this.angle),t.translate(u,u,[-o,-s,0]),this.mercatorMatrix=t.scale([],u,[this.worldSize,this.worldSize,this.worldSize]),t.scale(u,u,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=u,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,f=this.height%2/2,p=Math.cos(this.angle),d=Math.sin(this.angle),g=o-Math.round(o)+p*h+d*f,m=s-Math.round(s)+p*f+d*h,v=new Float64Array(u);if(t.translate(v,v,[g>.5?g-1:g,m>.5?m-1:m,0]),this.alignedProjMatrix=v,u=t.create(),t.scale(u,u,[this.width/2,-this.height/2,1]),t.translate(u,u,[1,-1,0]),this.labelPlaneMatrix=u,u=t.create(),t.scale(u,u,[1,-1,1]),t.translate(u,u,[-1,-1,0]),t.scale(u,u,[2/this.width,2/this.height,1]),this.glCoordMatrix=u,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(u=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=u,this._posMatrixCache={},this._alignedPosMatrixCache={}}},wn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},wn.prototype.getCameraPoint=function(){var e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,e))},wn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,a=r.y,i=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},kn.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,"",e)}catch(t){}};var An={linearity:.3,easing:t.bezier(0,0,.3,1)},Mn=t.extend({deceleration:2500,maxSpeed:1400},An),Sn=t.extend({deceleration:20,maxSpeed:1400},An),En=t.extend({deceleration:1e3,maxSpeed:360},An),Cn=t.extend({deceleration:1e3,maxSpeed:90},An),Ln=function(t){this._map=t,this.clear()};function Pn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},Ln.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,a=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.dblclick=function(t){return this._firePreventable(new zn(t.type,this._map,t))},Rn.prototype.mouseover=function(t){this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.mouseout=function(t){this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.touchstart=function(t){return this._firePreventable(new On(t.type,this._map,t))},Rn.prototype.touchmove=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype.touchend=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype.touchcancel=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Rn.prototype.isEnabled=function(){return!0},Rn.prototype.isActive=function(){return!1},Rn.prototype.enable=function(){},Rn.prototype.disable=function(){};var Fn=function(t){this._map=t};Fn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Fn.prototype.mousemove=function(t){this._map.fire(new zn(t.type,this._map,t))},Fn.prototype.mousedown=function(){this._delayContextMenu=!0},Fn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new zn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Fn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new zn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Fn.prototype.isEnabled=function(){return!0},Fn.prototype.isActive=function(){return!1},Fn.prototype.enable=function(){},Fn.prototype.disable=function(){};var Bn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Nn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,a=e;n30)&&(this.aborted=!0)}}},jn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Vn=function(t){this.singleTap=new jn(t),this.numTaps=t.numTaps,this.reset()};Vn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Vn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Vn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Vn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var a=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(n)<30;if(a&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Un=function(){this._zoomIn=new Vn({numTouches:1,numTaps:2}),this._zoomOut=new Vn({numTouches:2,numTaps:1}),this.reset()};Un.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Un.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Un.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Un.prototype.touchend=function(t,e,r){var n=this,a=this._zoomIn.touchend(t,e,r),i=this._zoomOut.touchend(t,e,r);return a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(a)},{originalEvent:t})}}):i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(i)},{originalEvent:t})}}):void 0},Un.prototype.touchcancel=function(){this.reset()},Un.prototype.enable=function(){this._enabled=!0},Un.prototype.disable=function(){this._enabled=!1,this.reset()},Un.prototype.isEnabled=function(){return this._enabled},Un.prototype.isActive=function(){return this._active};var qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},qn.prototype._correctButton=function(t,e){return!1},qn.prototype._move=function(t,e){return{}},qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r&&(t.preventDefault(),this._moved||!(e.dist(r)0&&(this._active=!0);var a=Nn(n,r),i=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in a){var c=a[l],u=this._touches[l];u&&(i._add(c),o._add(c.sub(u)),s++,a[l]=c)}if(this._touches=a,!(sMath.abs(t.x)}var ea=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ta(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),a=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,a,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+a.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,a=e.mag()>=2;if(n||a){if(!n||!a)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var i=t.y>0==e.y>0;return ta(t)&&ta(e)&&i}},e}(Zn),ra={panStep:100,bearingStep:15,pitchStep:10},na=function(){var t=ra;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep};function aa(t){return t*(2-t)}na.prototype.reset=function(){this._active=!1},na.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,a=0,i=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),i=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),i=1);break;case 38:t.shiftKey?a=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?a=-1:(t.preventDefault(),o=1);break;default:return}return{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:aa,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+a*e._pitchStep,offset:[-i*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},na.prototype.enable=function(){this._enabled=!0},na.prototype.disable=function(){this._enabled=!1,this.reset()},na.prototype.isEnabled=function(){return this._enabled},na.prototype.isActive=function(){return this._active};var ia=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};ia.prototype.setZoomRate=function(t){this._defaultZoomRate=t},ia.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},ia.prototype.isEnabled=function(){return!!this._enabled},ia.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},ia.prototype.isZooming=function(){return!!this._zooming},ia.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},ia.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},ia.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),a=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":a>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(a*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},ia.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},ia.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},ia.prototype.renderFrame=function(){return this._onScrollFrame()},ia.prototype._onScrollFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,a=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==a&&(a=1/a);var i="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(i*a))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,c=this._easing,u=!1;if("wheel"===this._type&&l&&c){var h=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),f=c(h);o=t.number(l,s,f),h<1?this._frameId||(this._frameId=!0):u=!0}else o=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},ia.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,a=(t.browser.now()-n.start)/n.duration,i=n.easing(a+.01)-n.easing(a),o=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},ia.prototype.reset=function(){this._active=!1};var oa=function(t,e){this._clickZoom=t,this._tapZoom=e};oa.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},oa.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},oa.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},oa.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var sa=function(){this.reset()};sa.prototype.reset=function(){this._active=!1},sa.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},sa.prototype.enable=function(){this._enabled=!0},sa.prototype.disable=function(){this._enabled=!1,this.reset()},sa.prototype.isEnabled=function(){return this._enabled},sa.prototype.isActive=function(){return this._active};var la=function(){this._tap=new Vn({numTouches:1,numTaps:1}),this.reset()};la.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},la.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},la.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],a=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:a/128}}}else this._tap.touchmove(t,e,r)},la.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},la.prototype.touchcancel=function(){this.reset()},la.prototype.enable=function(){this._enabled=!0},la.prototype.disable=function(){this._enabled=!1,this.reset()},la.prototype.isEnabled=function(){return this._enabled},la.prototype.isActive=function(){return this._active};var ca=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};ca.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},ca.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},ca.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},ca.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var ua=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};ua.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},ua.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},ua.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},ua.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var ha=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};ha.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},ha.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},ha.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},ha.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},ha.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},ha.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var fa=function(t){return t.zoom||t.drag||t.pitch||t.rotate},pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(t.Event);function da(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var ga=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ln(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var a=this._el;this._listeners=[[a,"touchstart",{passive:!1}],[a,"touchmove",{passive:!1}],[a,"touchend",void 0],[a,"touchcancel",void 0],[a,"mousedown",void 0],[a,"mousemove",void 0],[a,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[a,"mouseover",void 0],[a,"mouseout",void 0],[a,"dblclick",void 0],[a,"click",void 0],[a,"keydown",{capture:!1}],[a,"keyup",void 0],[a,"wheel",{passive:!1}],[a,"contextmenu",void 0],[t.window,"blur",void 0]];for(var i=0,o=this._listeners;ii?Math.min(2,_):Math.max(.5,_),w=Math.pow(m,1-e),T=a.unproject(x.add(b.mult(e*w)).mult(g));a.setLocationAtPoint(a.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,a=this._rotating,i=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),a&&this.fire(new t.Event("rotateend",e)),i&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var a=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(a,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var i=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u="zoom"in e?t.clamp(+e.zoom,i.minZoom,i.maxZoom):o,h="bearing"in e?this._normalizeBearing(e.bearing,s):s,f="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:i.padding,d=i.zoomScale(u-o),g=t.Point.convert(e.offset),m=i.centerPoint.add(g),v=i.pointLocation(m),y=t.LngLat.convert(e.center||v);this._normalizeCenter(y);var x=i.project(v),b=i.project(y).sub(x),_=e.curve,w=Math.max(i.width,i.height),T=w/d,k=b.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,u),i.minZoom,i.maxZoom),M=w/i.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return(Math.exp(t)-Math.exp(-t))/2}function L(t){return(Math.exp(t)+Math.exp(-t))/2}var P=E(0),I=function(t){return L(P)/L(P+_*t)},z=function(t){return w*((L(P)*(C(e=P+_*t)/L(e))-C(P))/S)/k;var e},O=(E(1)-P)/_;if(Math.abs(k)<1e-6||!isFinite(O)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==h,this._pitching=f!==l,this._padding=!i.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var a=e*O,d=1/I(a);i.zoom=1===e?u:o+i.scaleZoom(d),n._rotating&&(i.bearing=t.number(s,h,e)),n._pitching&&(i.pitch=t.number(l,f,e)),n._padding&&(i.interpolatePadding(c,p,e),m=i.centerPoint.add(g));var v=1===e?y:i.unproject(x.add(b.mult(z(a))).mult(d));i.setLocationAtPoint(i.renderWorldCopies?v.wrap():v,m),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop()}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),va=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};va.prototype.getDefaultPosition=function(){return"bottom-right"},va.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},va.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},va.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},va.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var ya=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};ya.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},ya.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},ya.prototype.getDefaultPosition=function(){return"bottom-left"},ya.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},ya.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},ya.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var xa=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};xa.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},xa.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>60)throw new Error("maxPitch must be less than or equal to 60");var a=new wn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,a,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new xa,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},ba,e.locale),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof wa))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1)),this.handlers=new ga(this,e),this._hash=e.hash&&new kn("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new va({customAttribution:e.customAttribution})),this.addControl(new ya,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(a.__proto__=n),(a.prototype=Object.create(n&&n.prototype)).constructor=a;var i={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return a.prototype._getMapId=function(){return this._mapId},a.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r="top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var a=this._controlPositions[r];return-1!==r.indexOf("bottom")?a.insertBefore(n,a.firstChild):a.appendChild(n),this},a.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},a.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],a=r[1];this._resizeCanvas(n,a),this.transform.resize(n,a),this.painter.resize(n,a);var i=!this._moving;return i&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),i&&this.fire(new t.Event("moveend",e)),this},a.prototype.getBounds=function(){return this.transform.getBounds()},a.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},a.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},a.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},a.prototype.getMaxZoom=function(){return this.transform.maxZoom},a.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()60)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},a.prototype.getMaxPitch=function(){return this.transform.maxPitch},a.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},a.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},a.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},a.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},a.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},a.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},a.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},a.prototype._createDelegatedListener=function(t,e,r){var n,a=this;if("mouseenter"===t||"mouseover"===t){var i=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?i||(i=!0,r.call(a,new zn(t,a,n.originalEvent,{features:o}))):i=!1},mouseout:function(){i=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(a,new zn(t,a,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(a,new zn(t,a,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=a.getLayer(e)?a.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(a,t),delete t.features)},n)}},a.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var a=this._createDelegatedListener(t,e,r);for(var i in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(a),a.delegates)this.on(i,a.delegates[i]);return this},a.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var a=this._createDelegatedListener(t,e,r);for(var i in a.delegates)this.once(i,a.delegates[i]);return this},a.prototype.off=function(t,e,r){var a=this;return void 0===r?n.prototype.off.call(this,t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var i=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ca.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ca.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var a=this.mousePitch.mousemoveWindow(t,e);a&&a.pitchDelta&&r.setPitch(r.getPitch()+a.pitchDelta)}},Ca.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ca.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ca.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ca.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ca.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ca.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ca.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ca.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)e.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,a=this._map.getBearing(),i=t.extend({bearing:a},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),i,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),a=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=a+"px",this._circleElement.style.height=a+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Fa)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var a=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}else{var i=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Oa(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Oa({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Ra--,Fa=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Ra>1?(e={maximumAge:6e5,timeout:0},Fa=!0):(e=this.options.positionOptions,Fa=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Na={maxWidth:100,unit:"metric"},ja=function(e){this.options=t.extend({},Na,e),t.bindAll(["_onMove","setUnit"],this)};function Va(t,e,r){var n=r&&r.maxWidth||100,a=t._container.clientHeight/2,i=t.unproject([0,a]),o=t.unproject([n,a]),s=i.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?Ua(e,n,l/5280,t._getUIString("ScaleControl.Miles")):Ua(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Ua(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Ua(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):Ua(e,n,s,t._getUIString("ScaleControl.Meters"))}function Ua(t,e,r,n){var a,i,o,s=(a=r,(i=Math.pow(10,(""+Math.floor(a)).length-1))*(o=(o=a/i)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o)));t.style.width=e*(s/r)+"px",t.innerHTML=s+" "+n}ja.prototype.getDefaultPosition=function(){return"bottom-left"},ja.prototype._onMove=function(){Va(this._map,this._container,this.options)},ja.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},ja.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},ja.prototype.setUnit=function(t){this.options.unit=t,Va(this._map,this._container,this.options)};var qa=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};qa.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},qa.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},qa.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},qa.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},qa.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},qa.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},qa.prototype._isFullscreen=function(){return this._fullscreen},qa.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},qa.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Ha={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},Ga=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Ha),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),a=t.window.document.createElement("body");for(a.innerHTML=e;r=a.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(e){var n=this;if(this._map&&(this._lngLat||this._trackPointer)&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return n._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=La(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var a=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),i=this.options.anchor,o=function e(r){if(r){if("number"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.Point(0,0),top:new t.Point(0,r),"top-left":new t.Point(n,n),"top-right":new t.Point(-n,n),bottom:new t.Point(0,-r),"bottom-left":new t.Point(n,-n),"bottom-right":new t.Point(-n,-n),left:new t.Point(r,0),right:new t.Point(-r,0)}}if(r instanceof t.Point||Array.isArray(r)){var a=t.Point.convert(r);return{center:a,top:a,"top-left":a,"top-right":a,bottom:a,"bottom-left":a,"bottom-right":a,left:a,right:a}}return{center:t.Point.convert(r.center||[0,0]),top:t.Point.convert(r.top||[0,0]),"top-left":t.Point.convert(r["top-left"]||[0,0]),"top-right":t.Point.convert(r["top-right"]||[0,0]),bottom:t.Point.convert(r.bottom||[0,0]),"bottom-left":t.Point.convert(r["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(r["bottom-right"]||[0,0]),left:t.Point.convert(r.left||[0,0]),right:t.Point.convert(r.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!i){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=a.y+o.bottom.ythis._map.transform.height-c?["bottom"]:[],a.xthis._map.transform.width-l/2&&s.push("right"),i=0===s.length?"bottom":s.join("-")}var u=a.add(o[i]).round();r.setTransform(this._container,Pa[i]+" translate("+u.x+"px,"+u.y+"px)"),Ia(this._container,i,"popup")}},n.prototype._onClose=function(){this.remove()},n}(t.Evented),Ya={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Aa,NavigationControl:Ea,GeolocateControl:Ba,AttributionControl:va,ScaleControl:ja,FullscreenControl:qa,Popup:Ga,Marker:Oa,Style:qe,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){Bt().acquire(Ot)},clearPrewarmedResources:function(){var t=Rt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Ot),Rt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Dt.workerCount},set workerCount(t){Dt.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return Ya})),r}))},{}],431:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1<p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{"./normalize":433,"gl-mat4/clone":270,"gl-mat4/create":271,"gl-mat4/determinant":272,"gl-mat4/invert":276,"gl-mat4/transpose":287,"gl-vec3/cross":338,"gl-vec3/dot":343,"gl-vec3/length":353,"gl-vec3/normalize":360}],433:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,a=0;a<16;a++)t[a]=e[a]*n;return!0}},{}],434:[function(t,e,r){var n=t("gl-vec3/lerp"),a=t("mat4-recompose"),i=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,h){if(0===o(e)||0===o(r))return!1;var f=i(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=i(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!f||!p)&&(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),a(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),!0)}},{"gl-mat4/determinant":272,"gl-vec3/lerp":354,"mat4-decompose":432,"mat4-recompose":435,"quat-slerp":488}],435:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},a=(n.create(),n.create());e.exports=function(t,e,r,i,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(a),0!==i[2]&&(a[9]=i[2],n.multiply(t,t,a)),0!==i[1]&&(a[9]=0,a[8]=i[1],n.multiply(t,t,a)),0!==i[0]&&(a[8]=0,a[4]=i[0],n.multiply(t,t,a)),n.scale(t,t,r),t}},{"gl-mat4/create":271,"gl-mat4/fromRotationTranslation":274,"gl-mat4/identity":275,"gl-mat4/multiply":278,"gl-mat4/scale":285,"gl-mat4/translate":286}],436:[function(t,e,r){"use strict";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],437:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("mat4-interpolate"),i=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),c=t("gl-mat4/lookAt"),u=t("gl-mat4/translate"),h=(t("gl-mat4/scale"),t("gl-vec3/normalize")),f=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)f[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=f[c];else a(o,f,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],h(g,g);var m=this.computedInverse;i(m,o);var v=this.computedEye,y=m[15];v[0]=m[12]/y,v[1]=m[13]/y,v[2]=m[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var h=0,f=(a=0,o.length);a0;--p)r[h++]=s[p];return r};var n=t("robust-orientation")[3]},{"robust-orientation":507}],440:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,a=0,i=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==a||u!==i||l(s))&&(r=0|t,a=c||0,i=u||0,e&&e(r,a,i,o))}function u(t){c(0,t)}function h(){(r||a||i||o.shift||o.alt||o.meta||o.control)&&(a=i=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,a,i,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function m(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",h),t.addEventListener("keyup",f),t.addEventListener("keydown",f),t.addEventListener("keypress",f),t!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}m();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?m():function(){if(!s)return;s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",h),t.removeEventListener("keyup",f),t.removeEventListener("keydown",f),t.removeEventListener("keypress",f),t!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f))}()},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return a},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t("mouse-event")},{"mouse-event":442}],441:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var a=t.clientX||0,i=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=a-o.left,r[1]=i-o.top,r}},{}],442:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var w=t.getters||[],T=new Array(b),k=0;k=0?T[k]=!0:T[k]=!1;return function(t,e,r,b,_,w){var T=w.length,k=_.length;if(k<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var A="extractContour"+_.join("_"),M=[],S=[],E=[],C=0;C0&&z.push(l(C,_[L-1])+"*"+s(_[L-1])),S.push(d(C,_[L])+"=("+z.join("-")+")|0")}for(C=0;C=0;--C)O.push(s(_[C]));S.push("Q=("+O.join("*")+")|0","P=mallocUint32(Q)","V=mallocUint32(Q)","X=0"),S.push(g(0)+"=0");for(L=1;L<1<0;_=_-1&d)x.push("V[X+"+v(_)+"]");x.push(y(0));for(_=0;_=0;--e)N(e,0);var r=[];for(e=0;e0){",p(_[e]),"=1;"),t(e-1,r|1<<_[e]);for(var n=0;n=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),i.push("1"),o.push("s["+l+"]-2"));var c=".lo("+i.join()+").hi("+o.join()+")";if(0===i.length&&(c=""),a>0){n.push("if(1");for(l=0;l=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",a,"(src.pick(",s.join(),")",c);for(l=0;l=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",c);n.push(");")}for(l=0;l1){dst.set(",s.join(),",",u,",0.5*(src.get(",f.join(),")-src.get(",p.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>1){diff(",h,",src.pick(",f.join(),")",c,",src.pick(",p.join(),")",c,");}else{zero(",h,");};");break;case"mirror":0===a?n.push("dst.set(",s.join(),",",u,",0);"):n.push("zero(",h,");");break;case"wrap":var d=s.slice(),g=s.slice();e[l]<0?(d[u]="s["+u+"]-2",g[u]="0"):(d[u]="s["+u+"]-1",g[u]="1"),0===a?n.push("if(s[",u,"]>2){dst.set(",s.join(),",",u,",0.5*(src.get(",d.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>2){diff(",h,",src.pick(",d.join(),")",c,",src.pick(",g.join(),")",c,");}else{zero(",h,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}a>0&&n.push("};")}for(var s=0;s<1<>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var c={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in c){var e=c[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var u=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;tthis_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:a,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":148}],450:[function(t,e,r){"use strict";var n=t("ndarray"),a=t("./doConvert.js");e.exports=function(t,e){for(var r=[],i=t,o=1;Array.isArray(i);)r.push(i.length),o*=i.length,i=i[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),a(e,t),e)}},{"./doConvert.js":451,ndarray:455}],451:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":148}],452:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=32;function i(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r0?s.push(["d",d,"=s",d,"-d",h,"*n",h].join("")):s.push(["d",d,"=s",d].join("")),h=d),0!==(p=t.length-1-l)&&(f>0?s.push(["e",p,"=s",p,"-e",f,"*n",f,",f",p,"=",c[p],"-f",f,"*n",f].join("")):s.push(["e",p,"=s",p,",f",p,"=",c[p]].join("")),f=p)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",a,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var m=new Function("insertionSort","quickSort",r.join("\n")),v=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),a=["left","right","data","offset"].concat(o(t.length)),s=i(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var c=[],u=1;u1){r.push("dptr=0;sptr=ptr");for(u=t.length-1;u>=0;--u){0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"b){break __l}"].join(""));for(u=t.length-1;u>=1;--u)r.push("sptr+=e"+u,"dptr+=f"+u,"}");r.push("dptr=cptr;sptr=cptr-s0");for(u=t.length-1;u>=0;--u){0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"=0;--u){0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"scratch)){",f("cptr",h("cptr-s0")),"cptr-=s0","}",f("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e),y=function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),c=i(e),u=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var h=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var f=[],p=1;p=0;--i){0!==(o=t[i])&&n.push(["for(i",o,"=0;i",o,"1)for(i=0;i1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,a,i){if(1===r.length)n.push("ptr0="+d(r[0]));else{for(var o=0;o1)for(o=0;o=1;--o)a&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function x(){t.length>1&&c&&n.push("free(pivot1)","free(pivot2)")}function b(e,r){var a="el"+e,i="el"+r;if(t.length>1){var o="__l"+ ++u;y(o,[a,i],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",a,";",a,"=",i,";",i,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(d(a)),">",g(d(i)),"){tmp0=",a,";",a,"=",i,";",i,"=tmp0}"].join(""))}function _(e,r){t.length>1?v([e,r],!1,m("ptr0",g("ptr1"))):n.push(m(d(e),g(d(r))))}function w(e,r,a){if(t.length>1){var i="__l"+ ++u;y(i,[r],!0,[e,"=",g("ptr0"),"-pivot",a,"[pivot_ptr]\n","if(",e,"!==0){break ",i,"}"].join(""))}else n.push([e,"=",g(d(r)),"-pivot",a].join(""))}function T(e,r){t.length>1?v([e,r],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join("")):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join(""))}function k(e,r,a){t.length>1?(v([e,r,a],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join("")),n.push("++"+r,"--"+a)):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","ptr2=",d(a),"\n","++",r,"\n","--",a,"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join(""))}function A(t,e){T(t,e),n.push("--"+e)}function M(e,r,a){t.length>1?v([e,r],!0,[m("ptr0",g("ptr1")),"\n",m("ptr1",["pivot",a,"[pivot_ptr]"].join(""))].join("")):n.push(m(d(e),g(d(r))),m(d(r),"pivot"+a))}function S(e,r){n.push(["if((",r,"-",e,")<=",a,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function E(e,r,a){t.length>1?(n.push(["__l",++u,":while(true){"].join("")),v([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",u,"}"].join("")),n.push(a,"}")):n.push(["while(",g(d(e)),"===pivot",r,"){",a,"}"].join(""))}return n.push("var "+h.join(",")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?v(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",m("ptr5","x"),"\n",m("ptr6","y"),"\n",m("ptr7","z")].join("")):n.push(["pivot1=",g(d("el2")),"\n","pivot2=",g(d("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(d("el1")),"\n","y=",g(d("el3")),"\n","z=",g(d("el5")),"\n",m(d("index1"),"x"),"\n",m(d("index3"),"y"),"\n",m(d("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),T("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),k("k","less","great"),n.push("break"),n.push("}else{"),A("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),T("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--greatindex5){"),E("less",1,"++less"),E("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),T("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great1&&c?new Function("insertionSort","malloc","free",n.join("\n"))(r,c[0],c[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,v);return m(v,y)}},{"typedarray-pool":554}],453:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),a={};e.exports=function(t){var e=t.order,r=t.dtype,i=[e,r].join(":"),o=a[i];return o||(a[i]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":452}],454:[function(t,e,r){"use strict";var n=t("ndarray-linear-interpolate"),a=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=new Array(_inline_3_arg4_)}",args:[{name:"_inline_3_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg2_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg3_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}",args:[{name:"_inline_4_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_4_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg4_",lvalue:!1,rvalue:!1,count:0}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warpND",blockSize:64}),i=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}",args:[{name:"_inline_7_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_7_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp1D",blockSize:64}),o=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}",args:[{name:"_inline_10_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_10_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp2D",blockSize:64}),s=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}",args:[{name:"_inline_13_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_13_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp3D",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:i(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:a(t,r,n.bind(void 0,e),e.shape.length)}return t}},{"cwise/lib/wrapper":151,"ndarray-linear-interpolate":448}],455:[function(t,e,r){var n=t("iota-array"),a=t("is-buffer"),i="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;tMath.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&i.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):i.push("ORDER})")),i.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),a?i.push("return this.data.set("+u+",v)}"):i.push("return this.data["+u+"]=v}"),i.push("proto.get=function "+r+"_get("+l.join(",")+"){"),a?i.push("return this.data.get("+u+")}"):i.push("return this.data["+u+"]}"),i.push("proto.index=function "+r+"_index(",l.join(),"){return "+u+"}"),i.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map((function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")})).join(",")+","+o.map((function(t){return"this.stride["+t+"]"})).join(",")+",this.offset)}");var p=o.map((function(t){return"a"+t+"=this.shape["+t+"]"})),d=o.map((function(t){return"c"+t+"=this.stride["+t+"]"}));i.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var g=0;g=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");i.push("return new "+r+"(this.data,"+o.map((function(t){return"a"+t})).join(",")+","+o.map((function(t){return"c"+t})).join(",")+",b)}"),i.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map((function(t){return"a"+t+"=this.shape["+t+"]"})).join(",")+","+o.map((function(t){return"b"+t+"=this.stride["+t+"]"})).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return i.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),i.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map((function(t){return"shape["+t+"]"})).join(",")+","+o.map((function(t){return"stride["+t+"]"})).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",i.join("\n"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n){n=0;for(s=0;st==t>0?i===-1>>>0?(r+=1,i=0):i+=1:0===i?(i=-1>>>0,r-=1):i-=1;return n.pack(i,r)}},{"double-bits":169}],457:[function(t,e,r){var n=Math.PI,a=c(120);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function o(t,e,r,n,a,i){return["C",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}function s(t,e,r,i,o,c,u,h,f,p){if(p)T=p[0],k=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(h=(d=l(h,f,-o)).x))/2,m=(e-(f=d.y))/2,v=g*g/(r*r)+m*m/(i*i);v>1&&(r*=v=Math.sqrt(v),i*=v);var y=r*r,x=i*i,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*m*m-x*g*g)/(y*m*m+x*g*g)));b==1/0&&(b=1);var _=b*r*m/i+(t+h)/2,w=b*-i*g/r+(e+f)/2,T=Math.asin(((e-w)/i).toFixed(9)),k=Math.asin(((f-w)/i).toFixed(9));(T=t<_?n-T:T)<0&&(T=2*n+T),(k=h<_?n-k:k)<0&&(k=2*n+k),u&&T>k&&(T-=2*n),!u&&k>T&&(k-=2*n)}if(Math.abs(k-T)>a){var A=k,M=h,S=f;k=T+a*(u&&k>T?1:-1);var E=s(h=_+r*Math.cos(k),f=w+i*Math.sin(k),r,i,o,0,u,M,S,[k,A,_,w])}var C=Math.tan((k-T)/4),L=4/3*r*C,P=4/3*i*C,I=[2*t-(t+L*Math.sin(T)),2*e-(e-P*Math.cos(T)),h+L*Math.sin(k),f-P*Math.cos(k),h,f];if(p)return I;E&&(I=I.concat(E));for(var z=0;z7&&(r.push(v.splice(0,7)),v.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-n,b+=b-a),v=["C",x,b,v[1],v[2],v[3],v[4]];break;case"T":"Q"==e||"T"==e?(h=2*p-h,f=2*d-f):(h=p,f=d),v=o(p,d,h,f,v[1],v[2]);break;case"Q":h=v[1],f=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case"L":v=i(p,d,v[1],v[2]);break;case"H":v=i(p,d,v[1],d);break;case"V":v=i(p,d,p,v[1]);break;case"Z":v=i(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],a=v[v.length-3]):(n=p,a=d),r.push(v)}return r}},{}],458:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;oi){var b=a[c],_=1/Math.sqrt(m*y);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(v[w]*g[T]-v[T]*g[w])}}}for(o=0;oi)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return a},r.faceNormals=function(t,e,r){for(var n=t.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;oi?1/Math.sqrt(p):0;for(c=0;c<3;++c)f[c]*=p;a[o]=f}return a}},{}],459:[function(t,e,r){ -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ -"use strict";var n=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}e.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,l=o(t),c=1;c0){var h=Math.sqrt(u+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-i)/h,t[3]=.5*h}else{var f=Math.max(e,i,c);h=Math.sqrt(2*f-u+1);e>=f?(t[0]=.5*h,t[1]=.5*(a+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):i>=f?(t[0]=.5*(r+a)/h,t[1]=.5*h,t[2]=.5*(l+o)/h,t[3]=.5*(s-n)/h):(t[0]=.5*(n+s)/h,t[1]=.5*(o+l)/h,t[2]=.5*h,t[3]=.5*(r-a)/h)}return t}},{}],461:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var a=new h(r,e,Math.log(n));a.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&a.lookAt(0,t.eye,t.center,t.up);return a};var n=t("filtered-vector"),a=t("gl-mat4/lookAt"),i=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=c(r,n,a,i);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=a/o,t[3]=i/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function h(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;i(r,e);var n=this.computedCenter,a=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);a[0]=n[0]+s*r[2],a[1]=n[1]+s*r[6],a[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*a[h];r[12+l]=-c}},f.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},f.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},f.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},f.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=a[1],o=a[5],s=a[9],c=l(i,o,s);i/=c,o/=c,s/=c;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=l(u-=i*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var g=a[2],m=a[6],v=a[10],y=g*i+m*o+v*s,x=g*u+m*h+v*f,b=l(g-=y*i+x*u,m-=y*o+x*h,v-=y*s+x*f);g/=b,m/=b,v/=b;var _=u*e+i*r,w=h*e+o*r,T=f*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},f.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var a=this.computedMatrix,i=a[0],o=a[4],s=a[8],u=a[1],h=a[5],f=a[9],p=a[2],d=a[6],g=a[10],m=e*i+r*u,v=e*o+r*h,y=e*s+r*f,x=-(d*y-g*v),b=-(g*m-p*y),_=-(p*v-d*m),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=c(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],C=A*w+E*x+M*_-S*b,L=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,I=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=g;var z=Math.sin(n)/l(x,b,_);x*=z,b*=z,_*=z,I=I*(w=Math.cos(e))-(C=C*w+I*x+L*_-P*b)*x-(L=L*w+I*b+P*x-C*_)*b-(P=P*w+I*_+C*b-L*x)*_}var O=c(C,L,P,I);O>1e-6?(C/=O,L/=O,P/=O,I/=O):(C=L=P=0,I=1),this.rotation.set(t,C,L,P,I)},f.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;a(i,e,r,n);var o=this.computedRotation;s(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},f.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},f.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var a=n[15];if(Math.abs(a)>1e-6){var i=n[12]/a,l=n[13]/a,c=n[14]/a;this.recalcMatrix(t);var h=Math.exp(this.computedRadius[0]);this.center.set(t,i-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},f.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},f.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},f.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},f.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},f.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var a=t.distance;a&&a>0&&this.radius.set(e,Math.log(a)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":460,"filtered-vector":238,"gl-mat4/fromQuat":273,"gl-mat4/invert":276,"gl-mat4/lookAt":277}],462:[function(t,e,r){ -/*! - * pad-left - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT license. - */ -"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r="undefined"!=typeof r?r+"":" ",e)+t}},{"repeat-string":500}],463:[function(t,e,r){"use strict";function n(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],a=e.escape||"___",i=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function i(e,i,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),a+s+a}r.forEach((function(t,n){for(var a,o=0;t!=a;)if(a=t,t=t.replace(e,i),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+a+r+"\\"+a+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+a+"([0-9]+)\\"+a);return i?r:function t(e,r,n){for(var a,i=[],s=0;a=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");i.push(e.slice(0,a.index)),i.push(t(r[a[1]],r)),e=e.slice(a.index+a[0].length)}return i.push(e),i}(r[0],r)}function a(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",a=t[0];if(!a)return"";for(var i=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;a!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=a,a=a.replace(i,s)}return a}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function i(t,e){return Array.isArray(t)?a(t,e):n(t,e)}i.parse=n,i.stringify=a,e.exports=i},{}],464:[function(t,e,r){"use strict";var n=t("pick-by-alias");e.exports=function(t){var e;arguments.length>1&&(t=arguments);"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]);t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{"pick-by-alias":470}],465:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(a,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(i);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(e.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==n[o])return a.unshift(r),e.push(a);if(a.length0;--o)i=l[o],r=s[o],s[o]=s[i],s[i]=r,l[o]=l[r],l[r]=i,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,a,i,o=1;for((r=r||new Array(t))[0]=0,i=1;i0;--i)e=e-(n=e/o|0)*o|0,o=o/i|0,a=0|r[i],r[i]=0|r[n],r[n]=0|a;return r}},{"invert-permutation":419,"typedarray-pool":554}],470:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,i,o={};if("string"==typeof e&&(e=a(e)),Array.isArray(e)){var s={};for(i=0;i0){o=i[u][r][0],l=u;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=i[h][r],p=0;p0&&(o=d,s=g,l=h)}return a||o&&c(o,l),s}function h(t,r){var a=i[r][t][0],o=[t];c(a,r);for(var s=a[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(i[0][t].length+i[1][t].length===0)break;var l=o[o.length-1],h=t,f=o[1],p=u(l,h,!0);if(n(e[l],e[h],e[f],e[p])<0)break;o.push(t),s=u(l,h)}return o}function f(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){i[0][o].length;var g=h(o,p);f(0,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t("compare-angle")},{"compare-angle":129}],472:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),a=new Array(e.length),i=new Array(e.length),o=[],s=0;s0;){var c=o.pop();a[c]=!1;var u=r[c];for(s=0;s0}))).length,m=new Array(g),v=new Array(g);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,V=N.length,U=F[B];if(0===U){var q=d[B];j=[q]}for(p=0;p=0))if(F[H]=1^U,R.push(H),0===U)D(q=d[H])||(q.reverse(),j.push(q))}0===U&&r.push(j)}return r};var n=t("edges-to-adjacency-list"),a=t("planar-dual"),i=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),c=t("./lib/trim-leaves");function u(t,e){for(var r=new Array(t),n=0;n>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(h(e.dtype))(m):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=m));for(var v=0;vr||s>1073741824){for(var f=0;fe+n||w>r+n||T=A||i===o)){var s=y[a];void 0===o&&(o=s.length);for(var l=i;l=d&&u<=m&&h>=g&&h<=v&&S.push(c)}var f=x[a],p=f[4*i+0],b=f[4*i+1],M=f[4*i+2],E=f[4*i+3],P=L(f,i+1),I=.5*n,z=a+1;C(e,r,I,z,p,b||M||E||P),C(e,r+I,I,z,b,M||E||P),C(e+I,r,I,z,M,E||P),C(e+I,r+I,I,z,E,P)}}function L(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}return C(0,0,1,0,0,1),S},d;function E(t,e,r,a,i){for(var o=[],s=0;s0&&e[a]===r[0]))return 1;i=t[a-1]}for(var s=1;i;){var l=i.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,i=i.right}else if(c>0)i=i.left;else{if(!(c<0))return 0;s=1,i=i.right}}return s}}(v.slabs,v.coordinates);return 0===i.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(i),y)};var n=t("robust-orientation")[3],a=t("slab-decomposition"),i=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r=-t},pointBetween:function(e,r,n){var a=e[1]-r[1],i=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*i+a*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-a>t&&(i-c)*(a-u)/(o-u)+c-n>t&&(s=!s),i=c,o=u}return s}};return e}},{}],481:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),a=1;a0}))}function u(t,n){var a=t.seg,i=n.seg,o=a.start,s=a.end,c=i.start,u=i.end;r&&r.checkIntersection(a,i);var h=e.linesIntersect(o,s,c,u);if(!1===h){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var f=e.pointsSame(o,c),p=e.pointsSame(s,u);if(f&&p)return n;var d=!f&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(f)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===h.alongA&&(-1===h.alongB?l(t,c):0===h.alongB?l(t,h.pt):1===h.alongB&&l(t,u)),0===h.alongB&&(-1===h.alongA?l(n,o):0===h.alongA?l(n,h.pt):1===h.alongA&&l(n,s));return!1}for(var h=[];!i.isEmpty();){var f=i.getHead();if(r&&r.vert(f.pt[0]),f.isStart){r&&r.segmentNew(f.seg,f.primary);var p=c(f),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function m(){if(d){var t=u(f,d);if(t)return t}return!!g&&u(f,g)}r&&r.tempStatus(f.seg,!!d&&d.seg,!!g&&g.seg);var v,y=m();if(y){var x;if(t)(x=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above);else y.seg.otherFill=f.seg.myFill;r&&r.segmentUpdate(y.seg),f.other.remove(),f.remove()}if(i.getHead()!==f){r&&r.rewind(f.seg);continue}if(t)x=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below,f.seg.myFill.below=g?g.seg.myFill.above:a,f.seg.myFill.above=x?!f.seg.myFill.below:f.seg.myFill.below;else if(null===f.seg.otherFill)v=g?f.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:f.primary?o:a,f.seg.otherFill={above:v,below:v};r&&r.status(f.seg,!!d&&d.seg,!!g&&g.seg),f.other.status=p.insert(n.node({ev:f}))}else{var b=f.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!f.primary){var _=f.seg.myFill;f.seg.myFill=f.seg.otherFill,f.seg.otherFill=_}h.push(f.seg)}i.getHead().remove()}return r&&r.done(),h}return t?{addRegion:function(t){for(var n,a,i,o=t[t.length-1],l=0;l=c?(k=1,y=c+2*f+d):y=f*(k=-f/c)+d):(k=0,p>=0?(A=0,y=d):-p>=h?(A=1,y=h+2*p+d):y=p*(A=-p/h)+d);else if(A<0)A=0,f>=0?(k=0,y=d):-f>=c?(k=1,y=c+2*f+d):y=f*(k=-f/c)+d;else{var M=1/T;y=(k*=M)*(c*k+u*(A*=M)+2*f)+A*(u*k+h*A+2*p)+d}else k<0?(b=h+p)>(x=u+f)?(_=b-x)>=(w=c-2*u+h)?(k=1,A=0,y=c+2*f+d):y=(k=_/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d:(k=0,b<=0?(A=1,y=h+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/h)+d):A<0?(b=c+f)>(x=u+p)?(_=b-x)>=(w=c-2*u+h)?(A=1,k=0,y=h+2*p+d):y=(k=1-(A=_/w))*(c*k+u*A+2*f)+A*(u*k+h*A+2*p)+d:(A=0,b<=0?(k=1,y=c+2*f+d):f>=0?(k=0,y=d):y=f*(k=-f/c)+d):(_=h+p-u-f)<=0?(k=0,A=1,y=h+2*p+d):_>=(w=c-2*u+h)?(k=1,A=0,y=c+2*f+d):y=(k=_/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d;var S=1-k-A;for(l=0;l1)for(var r=1;r0){var c=t[r-1];if(0===n(s,c)&&i(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":114,"compare-cell":130,"compare-oriented-cell":131}],495:[function(t,e,r){"use strict";var n=t("array-bounds"),a=t("color-normalize"),i=t("update-diff"),o=t("pick-by-alias"),s=t("object-assign"),l=t("flatten-vertex-data"),c=t("to-float32"),u=c.float32,h=c.fract32;e.exports=function(t,e){"function"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");var r,c,p,d,g,m,v=t._gl,y={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),c=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),m=t.buffer({usage:"static",type:"float",data:f}),T(e),r=t({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision highp float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:t.prop("range"),lineWidth:t.prop("lineWidth"),capSize:t.prop("capSize"),opacity:t.prop("opacity"),scale:t.prop("scale"),translate:t.prop("translate"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:m,stride:24,offset:0},lineOffset:{buffer:m,stride:24,offset:8},capOffset:{buffer:m,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:!1,instances:t.prop("count"),count:f.length}),s(b,{update:T,draw:_,destroy:k,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?T(t):null===t&&k(),_()}function _(e){if("number"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach((function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)}))}function w(t){"number"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,c){var u=x[c];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),i(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var i=0;i 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=a}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:a,miter:e}},m.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},m.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},m.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>m.precisionThreshold||e.scale[1]*e.viewport.height>m.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=m.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},m.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach((function(t,h){var d=e.passes[h];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow"}),d||(e.passes[h]=d={id:h,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=i({},m.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,ht.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=f(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(palette,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),m&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}b.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},b.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},b.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var f={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(f):e.elements=o.elements(f)}return a({data:v.float(t),usage:"dynamic"}),i({data:v.fract(t),usage:"dynamic"}),s({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var a=r.activation;if(a.forEach((function(t){return t&&t.destroy&&t.destroy()})),a.length=0,e&&"number"!=typeof e[0]){for(var i=[],s=0,l=Math.min(e.length,r.count);s=0)return i;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===a.length?a[0]:a},b.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var a=.25*(t=t.slice()).length%e;a2?(s[0],s[2],n=s[1],a=s[3]):s.length?(n=s[0],a=s[1]):(s.x,n=s.y,s.x+s.width,a=s.y+s.height),l.length>2?(i=l[0],o=l[2],l[1],l[3]):l.length?(i=l[0],o=l[1]):(i=l.x,l.y,o=l.x+l.width,l.y+l.height),[i,n,o,a]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=i(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||Z(t.data))}function c(t,e,r,n,a,i){for(var o=0;o(a=s)&&(a=n.buffer.byteLength,5123===h?a>>=1:5125===h&&(a>>=2)),n.vertCount=a,a=o,0>o&&(a=4,1===(o=n.buffer.dimension)&&(a=0),2===o&&(a=1),3===o&&(a=4)),n.primType=a}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),a.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)c(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,a=-1,o=0,f=0;Array.isArray(t)||Z(t)||l(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=$[t.usage]),"primitive"in t&&(n=nt[t.primitive]),"count"in t&&(a=0|t.count),"type"in t&&(f=u[t.type]),"length"in t?o=0|t.length:(o=a,5123===f||5122===f?o*=2:5125!==f&&5124!==f||(o*=4))),i(h,e,r,n,a,o,f)}else c(),h.primType=4,h.vertCount=0,h.type=5121;return s}var c=r.create(null,34963,!0),h=new a(c._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=h,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(h)},s},createStream:function(t){var e=h.pop();return e||(e=new a(r.create(null,34963,!0,!1)._buffer)),i(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof a?t._elements:null},clear:function(){X(s).forEach(o)}}}function g(t){for(var e=Y.allocType(5123,t.length),r=0;r>>31<<15,a=(i<<1>>>24)-127,i=i>>13&1023;e[r]=-24>a?n:-14>a?n+(i+1024>>-14-a):15>=a,r.height>>=a,p(r,n[a]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(i.getTotalTextureSize=function(){var t=0;return Object.keys(yt).forEach((function(e){t+=yt[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=a.texInfo;P.call(r);var i=C();return"number"==typeof t?M(i,0|t,"number"==typeof e?0|e:0|t):t?(I(r,t),S(i,t)):M(i,1,1),r.genMipmaps&&(i.mipmask=(i.width<<1)-1),a.mipmask=i.mipmask,c(a,i),a.internalformat=i.internalformat,n.width=i.width,n.height=i.height,D(a),E(i,3553),z(r,3553),R(),L(i),o.profile&&(a.stats.size=T(a.internalformat,a.type,i.width,i.height,r.genMipmaps,!1)),n.format=tt[a.internalformat],n.type=et[a.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=at[r.wrapS],n.wrapT=at[r.wrapT],n}var a=new O(3553);return yt[a.id]=a,i.textureCount++,n(e,r),n.subimage=function(t,e,r,i){e|=0,r|=0,i|=0;var o=v();return c(o,a),o.width=0,o.height=0,p(o,t),o.width=o.width||(a.width>>i)-e,o.height=o.height||(a.height>>i)-r,D(a),d(o,3553,e,r,i),R(),k(o),n},n.resize=function(e,r){var i=0|e,s=0|r||i;if(i===a.width&&s===a.height)return n;n.width=a.width=i,n.height=a.height=s,D(a);for(var l=0;a.mipmask>>l;++l){var c=i>>l,u=s>>l;if(!c||!u)break;t.texImage2D(3553,l,a.format,c,u,0,a.format,a.type,null)}return R(),o.profile&&(a.stats.size=T(a.internalformat,a.type,i,s,!1,!1)),n},n._reglType="texture2d",n._texture=a,o.profile&&(n.stats=a.stats),n.destroy=function(){a.decRef()},n},createCube:function(e,r,n,a,s,l){function h(t,e,r,n,a,i){var s,l=f.texInfo;for(P.call(l),s=0;6>s;++s)g[s]=C();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(g[0],t),S(g[1],e),S(g[2],r),S(g[3],n),S(g[4],a),S(g[5],i);else if(I(l,t),u(f,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)c(g[s],f),S(g[s],t[s]);else for(s=0;6>s;++s)S(g[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(g[s],t,t);for(c(f,g[0]),f.mipmask=l.genMipmaps?(g[0].width<<1)-1:g[0].mipmask,f.internalformat=g[0].internalformat,h.width=g[0].width,h.height=g[0].height,D(f),s=0;6>s;++s)E(g[s],34069+s);for(z(l,34067),R(),o.profile&&(f.stats.size=T(f.internalformat,f.type,h.width,h.height,l.genMipmaps,!0)),h.format=tt[f.internalformat],h.type=et[f.type],h.mag=rt[l.magFilter],h.min=nt[l.minFilter],h.wrapS=at[l.wrapS],h.wrapT=at[l.wrapT],s=0;6>s;++s)L(g[s]);return h}var f=new O(34067);yt[f.id]=f,i.cubeCount++;var g=Array(6);return h(e,r,n,a,s,l),h.subimage=function(t,e,r,n,a){r|=0,n|=0,a|=0;var i=v();return c(i,f),i.width=0,i.height=0,p(i,e),i.width=i.width||(f.width>>a)-r,i.height=i.height||(f.height>>a)-n,D(f),d(i,34069+t,r,n,a),R(),k(i),h},h.resize=function(e){if((e|=0)!==f.width){h.width=f.width=e,h.height=f.height=e,D(f);for(var r=0;6>r;++r)for(var n=0;f.mipmask>>n;++n)t.texImage2D(34069+r,n,f.format,e>>n,e>>n,0,f.format,f.type,null);return R(),o.profile&&(f.stats.size=T(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=f,o.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);z(e.texInfo,e.target)}))}}}function A(t,e,r,n,a,i){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,a=t;return"object"==typeof t&&(a=t.data,"target"in t&&(e=0|t.target)),"texture2d"===(t=a._reglType)||"textureCube"===t?r=a:"renderbuffer"===t&&(n=a,e=36161),new o(e,r,n)}function h(t,e,r,i,s){return r?((t=n.create2D({width:t,height:e,format:i,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=a.create({width:t,height:e,format:i}))._renderbuffer.refCount=0,new o(36161,null,t))}function f(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r),t.width=e,t.height=r)}function d(){this.id=T++,k[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function m(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,i.framebufferCount--,delete k[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var a=e.colorAttachments;for(n=0;na;++a){for(c=0;ct;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){X(k).forEach(m)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,X(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),v(e)}))}})}function M(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n,a){function i(){this.id=++c,this.attributes=[];var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,u[this.id]=this,this.buffers=[]}var o=r.maxAttributes,s=Array(o);for(r=0;rt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);X(c).forEach(e),c={},X(u).forEach(e),u={},f.forEach((function(e){t.deleteProgram(e.program)})),f.length=0,h={},r.shaderCount=0},program:function(t,e,n,a){var i=h[e];i||(i=h[e]={});var o=i[t];return o&&!a?o:(e=new s(e,t),r.shaderCount++,l(e,n,a),o||(i[t]=e),f.push(e),e)},restore:function(){c={},u={};for(var t=0;t"+e+"?"+a+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",a,".buffer)){",u,"=",i,".createStream(",34962,",",a,".buffer);","}else{",u,"=",i,".getBuffer(",a,".buffer);","}",h,'="type" in ',a,"?",o.glTypes,"[",a,".type]:",u,".dtype;",l.normalized,"=!!",a,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",i,".destroyStream(",u,");","}"),l}))})),o}function A(t,e,n,a,o){function s(t){var e=c[t];e&&(f[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,g,m,s],");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,m,v,g+"<<(("+v+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,g,m]+");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,h=c.draw,f=n.draw,p=function(){var a=f.elements,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,".","elements"),a&&i("if("+a+")"+u+".bindBuffer(34963,"+a+".buffer.buffer);"),a}(),d=a("primitive"),g=a("offset"),m=function(){var a=f.count,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,".","count"),a}();if("number"==typeof m){if(0===m)return}else r("if(",m,"){"),r.exit("}");K&&(s=a("instances"),l=t.instancing);var v=p+".type",y=f.elements&&R(f.elements);K&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),i(),r("}else if(",s,"<0){"),o(),r("}")):i():o()}function U(t,e,r,n,a){return a=(e=b()).proc("body",a),K&&(e.instancing=a.def(e.shared.extensions,".angle_instanced_arrays")),t(e,a,r,n),e.compile().body}function H(t,e,r,n){L(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),N(t,e,r,n.attributes,(function(){return!0}))),j(t,e,r,n.uniforms,(function(){return!0})),V(t,e,e,r)}function G(t,e,r,n){function a(){return!0}t.batchId="a1",L(t,e),N(t,e,r,n.attributes,a),j(t,e,r,n.uniforms,a),V(t,e,e,r)}function Y(t,e,r,n){function a(t){return t.contextDep&&o||t.propDep}function i(t){return!a(t)}L(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&M(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),C(t,u,r.state,a),r.profile&&a(r.profile)&&P(t,u,r,!1,!0),n?(r.useVAO?r.drawVAO?a(r.drawVAO)?u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):c(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(c(t.shared.vao,".setVAO(null);"),N(t,c,r,n.attributes,i),N(t,u,r,n.attributes,a)),j(t,c,r,n.uniforms,i),j(t,u,r,n.uniforms,a),V(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link((function(e){return U(G,t,r,e,2)})),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function W(t,r){function n(e){var n=r.shader[e];n&&a.set(i.shader,"."+e,n.append(t,a))}var a=t.proc("scope",3);t.batchId="a2";var i=t.shared,o=i.current;M(t,a,r.context),r.framebuffer&&r.framebuffer.append(t,a),O(Object.keys(r.state)).forEach((function(e){var n=r.state[e].append(t,a);m(n)?n.forEach((function(r,n){a.set(t.next[e],"["+n+"]",r)})):a.set(i.next,"."+e,n)})),P(t,a,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&a.set(i.draw,"."+e,""+n.append(t,a))})),Object.keys(r.uniforms).forEach((function(n){a.set(i.uniforms,"["+e.id(n)+"]",r.uniforms[n].append(t,a))})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,a),i=t.scopeAttrib(e);Object.keys(new X).forEach((function(t){a.set(i,"."+t,n[t])}))})),r.scopeVAO&&a.set(i.vao,".targetVAO",r.scopeVAO.append(t,a)),n("vert"),n("frag"),0=--this.refCount&&o(this)},a.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach((function(e){t+=u[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,i=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(i=e.shape)[0],i=0|i[1]):("radius"in e&&(n=i=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(i=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,i="number"==typeof r?0|r:n):e||(n=i=1),n!==c.width||i!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=i,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,i),a.profile&&(c.stats.size=yt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new i(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,i=0|r||n;return n===c.width&&i===c.height||(o.width=c.width=n,o.height=c.height=i,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,i),a.profile&&(c.stats.size=yt[c.format]*c.width*c.height)),o},o._reglType="renderbuffer",o._renderbuffer=c,a.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){X(u).forEach(o)},restore:function(){X(u).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},bt=[];bt[6408]=4,bt[6407]=3;var _t=[];_t[5121]=1,_t[5126]=4,_t[36193]=2;var wt=["x","y","z","w"],Tt="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),kt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},At={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Mt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},St={cw:2304,ccw:2305},Et=new D(!1,!1,!1,(function(){}));return function(t){function e(){if(0===J.length)w&&w.update(),tt=null;else{tt=H.next(e),h();for(var t=J.length-1;0<=t;--t){var r=J[t];r&&r(P,null,0)}m.flush(),w&&w.update()}}function r(){!tt&&0=J.length&&n()}}}}function u(){var t=Z.viewport,e=Z.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=m.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=m.drawingBufferHeight}function h(){P.tick+=1,P.time=g(),u(),Y.procs.poll()}function f(){u(),Y.procs.refresh(),w&&w.update()}function g(){return(G()-T)/1e3}if(!(t=a(t)))return null;var m=t.gl,v=m.getContextAttributes();m.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},a=0;ae;++e)et(V({framebuffer:t.framebuffer.faces[e]},t),l);else et(t,l);else l(0,t)},prop:q.define.bind(null,1),context:q.define.bind(null,2),this:q.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:F.create2D,cube:F.createCube,renderbuffer:B.create,framebuffer:U.create,framebufferCube:U.createCube,vao:O.createVAO,attributes:v,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=K;break;case"restore":r=Q;break;case"destroy":r=$}return r.push(e),{cancel:function(){for(var t=0;t - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ -"use strict";var n,a="";e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("expected a string");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||"undefined"==typeof n)n=t,a="";else if(a.length>=r)return a.substr(0,r);for(;r>a.length&&e>1;)1&e&&(a+=t),e>>=1,t+=t;return a=(a+=t).substr(0,r)}},{}],501:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],502:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,a=e-2;a>=0;--a){var i=r,o=t[a];(l=o-((r=i+o)-i))&&(t[--n]=r,r=l)}var s=0;for(a=n;a>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function u(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",c(l(t)),")};return robustDeterminant",t].join(""))(a,i,n,o)}var h=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;h.length<6;)h.push(u(h.length));for(var t=[],r=["function robustDeterminant(m){switch(m.length){"],n=0;n<6;++n)t.push("det"+n),r.push("case ",n,":return det",n,"(m);");r.push("}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant"),t.push("CACHE","gen",r.join(""));var a=Function.apply(void 0,t);for(e.exports=a.apply(void 0,h.concat([h,u])),n=0;n>1;return["sum(",l(t.slice(0,e)),",",l(t.slice(e)),")"].join("")}function c(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return c(e,t)}function u(t){if(2===t.length)return[["diff(",c(t[0][0],t[1][1]),",",c(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r0&&r.push(","),r.push("[");for(var o=0;o0&&r.push(","),o===a?r.push("+b[",i,"]"):r.push("+A[",i,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var i=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;i.length<6;)i.push(a(i.length));for(var t=[],r=["function dispatchLinearSolve(A,b){switch(A.length){"],n=0;n<6;++n)t.push("s"+n),r.push("case ",n,":return s",n,"(A,b);");r.push("}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve"),t.push("CACHE","g",r.join(""));var o=Function.apply(void 0,t);for(e.exports=o.apply(void 0,i.concat([i,a])),n=0;n<6;++n)e.exports[n]=i[n]}()},{"robust-determinant":503}],507:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum"),i=t("robust-scale"),o=t("robust-subtract");function s(t,e){for(var r=new Array(t.length-1),n=1;n>1;return["sum(",l(t.slice(0,e)),",",l(t.slice(e)),")"].join("")}function c(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r0){if(i<=0)return o;n=a+i}else{if(!(a<0))return o;if(i>=0)return o;n=-(a+i)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var a=t[0]-n[0],i=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],h=e[2]-n[2],p=r[2]-n[2],d=i*c,g=o*l,m=o*s,v=a*c,y=a*l,x=i*s,b=u*(d-g)+h*(m-v)+p*(y-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(m)+Math.abs(v))*Math.abs(h)+(Math.abs(y)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:f(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=u(t.length)),e.apply(void 0,t)}!function(){for(;p.length<=5;)p.push(u(p.length));for(var t=[],r=["slow"],n=0;n<=5;++n)t.push("a"+n),r.push("o"+n);var a=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=5;++n)a.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");a.push("}var s=new Array(arguments.length);for(var i=0;i0&&o>0||i<0&&o<0)return!1;var s=n(r,t,e),l=n(a,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===i&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var a=0;a<2;++a){var i=t[a],o=e[a],s=Math.min(i,o),l=Math.max(i,o),c=r[a],u=n[a],h=Math.min(c,u);if(Math.max(c,u)=n?(a=h,(l+=1)=n?(a=h,(l+=1)0?1:0}},{}],514:[function(t,e,r){"use strict";e.exports=function(t){return a(n(t))};var n=t("boundary-cells"),a=t("reduce-simplicial-complex")},{"boundary-cells":98,"reduce-simplicial-complex":494}],515:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,"undefined"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n>1,v=E[2*m+1];","if(v===b){return m}","if(b0&&l.push(","),l.push("[");for(var n=0;n0&&l.push(","),l.push("B(C,E,c[",a[0],"],c[",a[1],"])")}l.push("]")}l.push(");")}}for(i=t+1;i>1;--i){i>1,s=i(t[o],e);s<=0?(0===s&&(a=o),r=o+1):s>0&&(n=o-1)}return a}function u(t,e){for(var r=new Array(t.length),a=0,o=r.length;a=t.length||0!==i(t[m],s)););}return r}function h(t,e){if(e<0)return[];for(var r=[],a=(1<>>u&1&&c.push(a[u]);e.push(c)}return s(e)},r.skeleton=h,r.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,a=2*(t+1),i=t;if(n0;){var r=y(t);if(r>=0)if(e0){var t=k[0];return m(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((M+=1)-1))}function T(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}var k=[],A=new Array(i);for(h=0;h>1;h>=0;--h)x(h);for(;;){var S=_();if(S<0||c[S]>r)break;T(S)}var E=[];for(h=0;h=0&&r>=0&&e!==r){var n=A[e],a=A[r];n!==a&&L.push([n,a])}})),a.unique(a.normalize(L)),{positions:E,edges:L}};var n=t("robust-orientation"),a=t("simplicial-complex")},{"robust-orientation":507,"simplicial-complex":519}],522:[function(t,e,r){"use strict";e.exports=function(t,e){var r,i,o,s;if(e[0][0]e[1][0]))return a(e,t);r=e[1],i=e[0]}if(t[0][0]t[1][0]))return-a(t,e);o=t[1],s=t[0]}var l=n(r,i,s),c=n(r,i,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,i),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return i[0]-s[0]};var n=t("robust-orientation");function a(t,e){var r,a,i,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return lu?s-u:l-u}r=e[1],a=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function h(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),a=-1;if(r&&(a=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,a=u.value):(a=u.value,s=u.key))}var h=this.horizontal[e];if(h.length>0){var f=n.ge(h,t[1],l);if(f=h.length)return a;p=h[f]}}if(p.start)if(s){var d=i(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(a=p.index)}else a=p.index;else p.y!==t[1]&&(a=p.index)}}}return a}},{"./lib/order-segments":522,"binary-search-bounds":523,"functional-red-black-tree":243,"robust-orientation":507}],525:[function(t,e,r){"use strict";var n=t("robust-dot-product"),a=t("robust-sum");function i(t,e){var r=a(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var a=-e/(n-e);a<0?a=0:a>1&&(a=1);for(var i=1-a,o=t.length,s=new Array(o),l=0;l0||a>0&&u<0){var h=o(s,u,l,a);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),a=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(a,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(a,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{"robust-dot-product":504,"robust-sum":512}],526:[function(t,e,r){!function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function e(t){return a(o(t),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}function a(r,n){var a,i,o,s,l,c,u,h,f,p=1,d=r.length,g="";for(i=0;i=0),s.type){case"b":a=parseInt(a,10).toString(2);break;case"c":a=String.fromCharCode(parseInt(a,10));break;case"d":case"i":a=parseInt(a,10);break;case"j":a=JSON.stringify(a,null,s.width?parseInt(s.width):0);break;case"e":a=s.precision?parseFloat(a).toExponential(s.precision):parseFloat(a).toExponential();break;case"f":a=s.precision?parseFloat(a).toFixed(s.precision):parseFloat(a);break;case"g":a=s.precision?String(Number(a.toPrecision(s.precision))):parseFloat(a);break;case"o":a=(parseInt(a,10)>>>0).toString(8);break;case"s":a=String(a),a=s.precision?a.substring(0,s.precision):a;break;case"t":a=String(!!a),a=s.precision?a.substring(0,s.precision):a;break;case"T":a=Object.prototype.toString.call(a).slice(8,-1).toLowerCase(),a=s.precision?a.substring(0,s.precision):a;break;case"u":a=parseInt(a,10)>>>0;break;case"v":a=a.valueOf(),a=s.precision?a.substring(0,s.precision):a;break;case"x":a=(parseInt(a,10)>>>0).toString(16);break;case"X":a=(parseInt(a,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?g+=a:(!t.number.test(s.type)||h&&!s.sign?f="":(f=h?"+":"-",a=a.toString().replace(t.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+a).length,l=s.width&&u>0?c.repeat(u):"",g+=s.align?f+a+l:"0"===c?f+l+a:l+f+a)}return g}var i=Object.create(null);function o(e){if(i[e])return i[e];for(var r,n=e,a=[],o=0;n;){if(null!==(r=t.text.exec(n)))a.push(r[0]);else if(null!==(r=t.modulo.exec(n)))a.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");a.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return i[e]=a}"undefined"!=typeof r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],527:[function(t,e,r){"use strict";var n=t("parenthesis");e.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","\u201c\u201d","\xab\xbb"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var a=n.parse(t,{flat:!0,brackets:r.ignore}),i=a[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=c[c.length-1];var p=t[e];if(i[e]=0&&s[e].push(o[g])}i[e]=d}else{if(n[e]===r[e]){var m=[],v=[],y=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(a[x]=!1,m.push(x),v.push(s[x]),y+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(m);var b=new Array(y);for(d=0;d c)|0 },"),"generic"===e&&i.push("getters:[0],");for(var s=[],l=[],c=0;c>>7){");for(c=0;c<1<<(1<128&&c%128==0){h.length>0&&f.push("}}");var p="vExtra"+h.length;i.push("case ",c>>>7,":",p,"(m&0x7f,",l.join(),");break;"),f=["function ",p,"(m,",l.join(),"){switch(m){"],h.push(f)}f.push("case ",127&c,":");for(var d=new Array(r),g=new Array(r),m=new Array(r),v=new Array(r),y=0,x=0;xx)&&!(c&1<<_)!=!(c&1<0&&(A="+"+m[b]+"*c");var M=d[b].length/y*.5,S=.5+v[b]/y*.5;k.push("d"+b+"-"+S+"-"+M+"*("+d[b].join("+")+A+")/("+g[b].join("+")+")")}f.push("a.push([",k.join(),"]);","break;")}i.push("}},"),h.length>0&&f.push("}}");var E=[];for(c=0;c<1<1&&(a=1),a<-1&&(a=-1),(t*n-e*r<0?-1:1)*Math.acos(a)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,h=t.ry,f=t.xAxisRotation,p=void 0===f?0:f,d=t.largeArcFlag,g=void 0===d?0:d,m=t.sweepFlag,v=void 0===m?0:m,y=[];if(0===u||0===h)return[];var x=Math.sin(p*a/360),b=Math.cos(p*a/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),h=Math.abs(h);var T=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(h,2);T>1&&(u*=Math.sqrt(T),h*=Math.sqrt(T));var k=function(t,e,r,n,i,o,l,c,u,h,f,p){var d=Math.pow(i,2),g=Math.pow(o,2),m=Math.pow(f,2),v=Math.pow(p,2),y=d*g-d*v-g*m;y<0&&(y=0),y/=d*v+g*m;var x=(y=Math.sqrt(y)*(l===c?-1:1))*i/o*p,b=y*-o/i*f,_=h*x-u*b+(t+r)/2,w=u*x+h*b+(e+n)/2,T=(f-x)/i,k=(p-b)/o,A=(-f-x)/i,M=(-p-b)/o,S=s(1,0,T,k),E=s(T,k,A,M);return 0===c&&E>0&&(E-=a),1===c&&E<0&&(E+=a),[_,w,S,E]}(e,r,l,c,u,h,g,v,x,b,_,w),A=n(k,4),M=A[0],S=A[1],E=A[2],C=A[3],L=Math.abs(C)/(a/4);Math.abs(1-L)<1e-7&&(L=1);var P=Math.max(Math.ceil(L),1);C/=P;for(var I=0;Ie[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{"abs-svg-path":63,assert:71,"is-svg-path":428,"normalize-svg-path":532,"parse-svg-path":465}],532:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,h=null,f=0,p=0,d=0,g=t.length;d4?(o=m[m.length-4],s=m[m.length-3]):(o=f,s=p),r.push(m)}return r};var n=t("svg-arc-to-cubic-bezier");function a(t,e,r,n){return["C",t,e,r,n,r,n]}function i(t,e,r,n,a,i){return["C",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}},{"svg-arc-to-cubic-bezier":530}],533:[function(t,e,r){"use strict";var n,a=t("svg-path-bounds"),i=t("parse-svg-path"),o=t("draw-svg-path"),s=t("is-svg-path"),l=t("bitmap-sdf"),c=document.createElement("canvas"),u=c.getContext("2d");e.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");e||(e={});var r,h;e.shape?(r=e.shape[0],h=e.shape[1]):(r=c.width=e.w||e.width||200,h=c.height=e.h||e.height||200);var f=Math.min(r,h),p=e.stroke||0,d=e.viewbox||e.viewBox||a(t),g=[r/(d[2]-d[0]),h/(d[3]-d[1])],m=Math.min(g[0]||0,g[1]||0)/2;u.fillStyle="black",u.fillRect(0,0,r,h),u.fillStyle="white",p&&("number"!=typeof p&&(p=1),u.strokeStyle=p>0?"white":"black",u.lineWidth=Math.abs(p));if(u.translate(.5*r,.5*h),u.scale(m,m),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var v=new Path2D(t);u.fill(v),p&&u.stroke(v)}else{var y=i(t);o(u,y),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*f})}},{"bitmap-sdf":96,"draw-svg-path":170,"is-svg-path":428,"parse-svg-path":465,"svg-path-bounds":531}],534:[function(t,e,r){(function(r){"use strict";e.exports=function t(e,r,a){a=a||{};var o=i[e];o||(o=i[e]={" ":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),a=0,i=0,o=0;o0&&(h+=.02);var p=new Float32Array(u),d=0,g=-.5*h;for(f=0;f1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=L(t,360),e=L(e,100),r=L(r,100),0===e)n=a=i=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),a=o(l,s,t),i=o(l,s,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(e.h,l,u),h=!0,f="hsl"),e.hasOwnProperty("a")&&(i=e.a));var p,d,g;return i=C(i),{ok:h,format:e.format||f,r:o(255,s(a.r,0)),g:o(255,s(a.g,0)),b:o(255,s(a.b,0)),a:i}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=i(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=u.ok,this._tc_id=a++}function u(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,a,i=s(t,e,r),l=o(t,e,r),c=(i+l)/2;if(i==l)n=a=0;else{var u=i-l;switch(a=c>.5?u/(2-i-l):u/(i+l),i){case t:n=(e-r)/u+(e>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(c(n));return i}function M(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,a=r.s,i=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:a,v:i})),i=(i+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=C(t),this._roundA=i(100*this._a)/100,this},toHsv:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=h(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return f(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,a){var o=[z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16)),z(D(n))];if(a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(100*L(this._r,255))+"%",g:i(100*L(this._g,255))+"%",b:i(100*L(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+i(100*L(this._r,255))+"%, "+i(100*L(this._g,255))+"%, "+i(100*L(this._b,255))+"%)":"rgba("+i(100*L(this._r,255))+"%, "+i(100*L(this._g,255))+"%, "+i(100*L(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var a=c(t);r="#"+p(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},c.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:O(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),a=c(e).toRgb(),i=r/100;return c({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},c.readability=function(e,r){var n=c(e),a=c(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,a,i=c.readability(t,e);switch(a=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7}return a},c.mostReadable=function(t,e,r){var n,a,i,o,s=null,l=0;a=(r=r||{}).includeFallbackColors,i=r.level,o=r.size;for(var u=0;ul&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:i,size:o})||!a?s:(r.includeFallbackColors=!1,c.mostReadable(t,["#fff","#000"],r))};var S=c.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function C(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function L(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function P(t){return o(1,s(0,t))}function I(t){return parseInt(t,16)}function z(t){return 1==t.length?"0"+t:""+t}function O(t){return t<=1&&(t=100*t+"%"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return I(t)/255}var F,B,N,j=(B="[\\s|\\(]+("+(F="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",N="[\\s|\\(]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",{CSS_UNIT:new RegExp(F),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+N),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+N),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function V(t){return!!j.CSS_UNIT.exec(t)}"undefined"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],536:[function(t,e,r){"use strict";e.exports=a,e.exports.float32=e.exports.float=a,e.exports.fract32=e.exports.fract=function(t){if(t.length){for(var e=a(t),r=0,n=e.length;ro&&(o=t[0]),t[1]s&&(s=t[1])}function c(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(c);break;case"Point":l(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(l)}}for(e in t.arcs.forEach((function(t){for(var e,r=-1,l=t.length;++ro&&(o=e[0]),e[1]s&&(s=e[1])})),t.objects)c(t.objects[e]);return[a,i,o,s]}function a(t,e){var r=e.id,n=e.bbox,a=null==e.properties?{}:e.properties,o=i(t,e);return null==r&&null==n?{type:"Feature",properties:a,geometry:o}:null==n?{type:"Feature",id:r,properties:a,geometry:o}:{type:"Feature",id:r,bbox:n,properties:a,geometry:o}}function i(t,e){var n=r(t.transform),a=t.arcs;function i(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],i=0,o=r.length;i1)n=l(t,e,r);else for(a=0,n=new Array(i=t.arcs.length);a1)for(var i,s,c=1,u=l(a[0]);cu&&(s=a[0],a[0]=a[c],a[c]=s,u=i);return a})).filter((function(t){return t.length>0}))}}function u(t,e){for(var r=0,n=t.length;r>>1;t[a]=2))throw new Error("n must be \u22652");var r,a=(l=t.bbox||n(t))[0],i=l[1],o=l[2],s=l[3];e={scale:[o-a?(o-a)/(r-1):1,s-i?(s-i)/(r-1):1],translate:[a,i]}}var l,c,u=h(e),f=t.objects,p={};function d(t){return u(t)}function g(t){var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(g)};break;case"Point":e={type:"Point",coordinates:d(t.coordinates)};break;case"MultiPoint":e={type:"MultiPoint",coordinates:t.coordinates.map(d)};break;default:return t}return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),null!=t.properties&&(e.properties=t.properties),e}for(c in f)p[c]=g(f[c]);return{type:"Topology",bbox:l,transform:e,objects:p,arcs:t.arcs.map((function(t){var e,r=0,n=1,a=t.length,i=new Array(a);for(i[0]=u(t[0],0);++rMath.max(r,n)?a[2]=1:r>Math.max(e,n)?a[0]=1:a[1]=1;for(var i=0,o=0,l=0;l<3;++l)i+=t[l]*t[l],o+=a[l]*t[l];for(l=0;l<3;++l)a[l]-=o/i*t[l];return s(a,a),a}function f(t,e,r,a,i,o,s,l){this.center=n(r),this.up=n(a),this.right=n(i),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,a=0,i=0;i<3;++i)a+=e[i]*r[i],n+=e[i]*e[i];var l=Math.sqrt(n),u=0;for(i=0;i<3;++i)r[i]-=e[i]*a/n,u+=r[i]*r[i],e[i]/=l;var h=Math.sqrt(u);for(i=0;i<3;++i)r[i]/=h;var f=this.computedToward;o(f,e,r),s(f,f);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],m=Math.cos(d),v=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=m*y,w=v*y,T=x,k=-m*x,A=-v*x,M=y,S=this.computedEye,E=this.computedMatrix;for(i=0;i<3;++i){var C=_*r[i]+w*f[i]+T*e[i];E[4*i+1]=k*r[i]+A*f[i]+M*e[i],E[4*i+2]=C,E[4*i+3]=0}var L=E[1],P=E[5],I=E[9],z=E[2],O=E[6],D=E[10],R=P*D-I*O,F=I*z-L*D,B=L*O-P*z,N=c(R,F,B);R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B;for(i=0;i<3;++i)S[i]=b[i]+E[2+4*i]*p;for(i=0;i<3;++i){u=0;for(var j=0;j<3;++j)u+=E[i+4*j]*S[j];E[12+i]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var a=this.computedMatrix;d[0]=a[2],d[1]=a[6],d[2]=a[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)a[4*c]=o[c],a[4*c+1]=s[c],a[4*c+2]=l[c];i(a,a,n,d);for(c=0;c<3;++c)o[c]=a[4*c],s[c]=a[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=(Math.exp(this.computedRadius[0]),a[1]),o=a[5],s=a[9],l=c(i,o,s);i/=l,o/=l,s/=l;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=c(u-=i*p,h-=o*p,f-=s*p),g=(u/=d)*e+i*r,m=(h/=d)*e+o*r,v=(f/=d)*e+s*r;this.center.move(t,g,m,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var i=1;"number"==typeof r&&(i=0|r),(i<0||i>3)&&(i=1);var o=(i+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[i],l=e[i+4],h=e[i+8];if(n){var f=Math.abs(s),p=Math.abs(l),d=Math.abs(h),g=Math.max(f,p,d);f===g?(s=s<0?-1:1,l=h=0):d===g?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var m=c(s,l,h);s/=m,l/=m,h/=m}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*h,T=c(x-=s*w,b-=l*w,_-=h*w),k=l*(_/=T)-h*(b/=T),A=h*(x/=T)-s*_,M=s*b-l*x,S=c(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,s,l,h),this.right.jump(t,x,b,_),2===i){var E=e[1],C=e[5],L=e[9],P=E*x+C*b+L*_,I=E*k+C*A+L*M;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(I,P)}else{var z=e[2],O=e[6],D=e[10],R=z*s+O*l+D*h,F=z*x+O*b+D*_,B=z*k+O*A+D*M;v=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;a(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,Y=U[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*W,G-j*W,Y-V*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var a=(n=n||this.computedUp)[0],i=n[1],o=n[2],s=c(a,i,o);if(!(s<1e-6)){a/=s,i/=s,o/=s;var l=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,g=d[0],m=d[1],v=d[2],y=a*g+i*m+o*v,x=c(g-=y*a,m-=y*i,v-=y*o);if(!(x<.01&&(x=c(g=i*f-o*h,m=o*l-a*f,v=a*h-i*l))<1e-6)){g/=x,m/=x,v/=x,this.up.set(t,a,i,o),this.right.set(t,g,m,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=i*v-o*m,_=o*g-a*v,w=a*m-i*g,T=c(b,_,w),k=a*l+i*h+o*f,A=g*l+m*h+v*f,M=(b/=T)*l+(_/=T)*h+(w/=T)*f,S=Math.asin(u(k)),E=Math.atan2(M,A),C=this.angle._state,L=C[C.length-1],P=C[C.length-2];L%=2*Math.PI;var I=Math.abs(L+2*Math.PI-E),z=Math.abs(L-E),O=Math.abs(L-2*Math.PI-E);I":(e.length>100&&(e=e.slice(0,99)+"\u2026"),e=e.replace(a,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},{"./safe-to-string":545}],547:[function(t,e,r){"use strict";var n=t("../value/is"),a={object:!0,function:!0,undefined:!0};e.exports=function(t){return!!n(t)&&hasOwnProperty.call(a,typeof t)}},{"../value/is":553}],548:[function(t,e,r){"use strict";var n=t("../lib/resolve-exception"),a=t("./is");e.exports=function(t){return a(t)?t:n(t,"%v is not a plain function",arguments[1])}},{"../lib/resolve-exception":544,"./is":549}],549:[function(t,e,r){"use strict";var n=t("../function/is"),a=/^\s*class[\s{/}]/,i=Function.prototype.toString;e.exports=function(t){return!!n(t)&&!a.test(i.call(t))}},{"../function/is":543}],550:[function(t,e,r){"use strict";var n=t("../object/is");e.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},{"../object/is":547}],551:[function(t,e,r){"use strict";var n=t("../value/is"),a=t("../object/is"),i=Object.prototype.toString;e.exports=function(t){if(!n(t))return null;if(a(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===i)return null}try{return""+t}catch(t){return null}}},{"../object/is":547,"../value/is":553}],552:[function(t,e,r){"use strict";var n=t("../lib/resolve-exception"),a=t("./is");e.exports=function(t){return a(t)?t:n(t,"Cannot use %v",arguments[1])}},{"../lib/resolve-exception":544,"./is":553}],553:[function(t,e,r){"use strict";e.exports=function(t){return null!=t}},{}],554:[function(t,e,r){(function(e){"use strict";var n=t("bit-twiddle"),a=t("dup"),i=t("buffer").Buffer;e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:a([32,0]),UINT16:a([32,0]),UINT32:a([32,0]),BIGUINT64:a([32,0]),INT8:a([32,0]),INT16:a([32,0]),INT32:a([32,0]),BIGINT64:a([32,0]),FLOAT:a([32,0]),DOUBLE:a([32,0]),DATA:a([32,0]),UINT8C:a([32,0]),BUFFER:a([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,c=e.__TYPEDARRAY_POOL;c.UINT8C||(c.UINT8C=a([32,0])),c.BIGUINT64||(c.BIGUINT64=a([32,0])),c.BIGINT64||(c.BIGINT64=a([32,0])),c.BUFFER||(c.BUFFER=a([32,0]));var u=c.DATA,h=c.BUFFER;function f(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);u[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=u[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function g(t){return new Uint16Array(p(2*t),0,t)}function m(t){return new Uint32Array(p(4*t),0,t)}function v(t){return new Int8Array(p(t),0,t)}function y(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=h[e];return r.length>0?r.pop():new i(t)}r.free=function(t){if(i.isBuffer(t))h[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){f(t.buffer)},r.freeArrayBuffer=f,r.freeBuffer=function(t){h[n.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return g(t);case"uint32":return m(t);case"int8":return v(t);case"int16":return y(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},r.mallocArrayBuffer=p,r.mallocUint8=d,r.mallocUint16=g,r.mallocUint32=m,r.mallocInt8=v,r.mallocInt16=y,r.mallocInt32=x,r.mallocFloat32=r.mallocFloat=b,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=T,r.mallocBigInt64=k,r.mallocDataView=A,r.mallocBuffer=M,r.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,h[t].length=0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"bit-twiddle":95,buffer:108,dup:172}],555:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(i=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,i+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",f(function(t,e,r,n,i,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(p=0;p-1?parseInt(t[1+a]):0,l=i>-1?parseInt(r[1+i]):0;s!==l&&(n=n.replace(S(),"?px "),m*=Math.pow(.75,l-s),n=n.replace("?px ",S())),g+=.25*x*(l-s)}if(!0===o.superscripts){var c=t.indexOf("+"),u=r.indexOf("+"),h=c>-1?parseInt(t[1+c]):0,f=u>-1?parseInt(r[1+u]):0;h!==f&&(n=n.replace(S(),"?px "),m*=Math.pow(.75,f-h),n=n.replace("?px ",S())),g-=.25*x*(f-h)}if(!0===o.bolds){var p=t.indexOf("b|")>-1,d=r.indexOf("b|")>-1;!p&&d&&(n=v?n.replace("italic ","italic bold "):"bold "+n),p&&!d&&(n=n.replace("bold ",""))}if(!0===o.italics){var v=t.indexOf("i|")>-1,y=r.indexOf("i|")>-1;!v&&y&&(n="italic "+n),v&&!y&&(n=n.replace("italic ",""))}e.font=n}for(f=0;f",i="",o=a.length,s=i.length,l="+"===e[0]||"-"===e[0],c=0,u=-s;c>-1&&-1!==(c=r.indexOf(a,c))&&-1!==(u=r.indexOf(i,c+o))&&!(u<=c);){for(var h=c;h=u)n[h]=null,r=r.substr(0,h)+" "+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(e[0]);-1===f?n[h]+=e:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,d=r.substr(p,u-p).indexOf(a);c=-1!==d?d:u+s}return n}function u(t,e){var r=n(t,128);return e?i(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function h(t,e,r,n){var a=u(t,n),i=function(t,e,r){for(var n=e.textAlign||"start",a=e.textBaseline||"alphabetic",i=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[i]:a}))},has___:{value:y((function(e){var n=v(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:y((function(n,a){var i,o=v(n);return o?o[r]=a:(i=t.indexOf(n))>=0?e[i]=a:(i=t.length,e[i]=a,t[i]=n),this}))},delete___:{value:y((function(n){var a,i,o=v(n);return o?r in o&&delete o[r]:!((a=t.indexOf(n))<0)&&(i=t.length-1,t[a]=void 0,e[a]=e[i],t[a]=t[i],t.length=i,e.length=i,!0)}))}})};d.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof d||x();var e,n=new r,a=void 0,i=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(a||(a=new d),a.set(t,e)),this}:function(t,e){if(i)try{n.set(t,e)}catch(r){a||(a=new d),a.set___(t,e)}else n.set(t,e);return this},Object.create(d.prototype,{get___:{value:y((function(t,e){return a?n.has(t)?n.get(t):a.get___(t,e):n.get(t,e)}))},has___:{value:y((function(t){return n.has(t)||!!a&&a.has___(t)}))},set___:{value:y(e)},delete___:{value:y((function(t){var e=!!n.delete(t);return a&&a.delete___(t)||e}))},permitHostObjects___:{value:y((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");i=!0}))}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=d.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=d)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function m(t){return!("weakmap:"==t.substr(0,"weakmap:".length)&&"___"===t.substr(t.length-3))}function v(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[l];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,l,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function y(t){return t.prototype=null,Object.freeze(t)}function x(){f||"undefined"==typeof console||(f=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],562:[function(t,e,r){var n=t("./hidden-store.js");e.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{"./hidden-store.js":563}],563:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],564:[function(t,e,r){var n=t("./create-store.js");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},{"./create-store.js":562}],565:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":245}],566:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),a=t.month(),i=""+this.toChineseMonth(n,a);return e&&i.length<2&&(i="0"+i),this.isIntercalaryMonth(n,a)&&(i+="i"),i},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"\u95f0"===e[0]&&(r=!0,e=e.substring(1)),"\u6708"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"].indexOf(e);else{var a=e[e.length-1];r="i"===a||"I"===a}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var a=this.intercalaryMonth(t);if(r&&e!==a||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return a?!r&&e<=a?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var a,o=this._validateYear(t,n.local.invalidyear),s=f[o-f[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(a=i.newDate(l,c,u)).add(4-(a.dayOfWeek()||7),"d");var h=this.toJD(t,e,r)-a.toJD();return 1+Math.floor(h/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=h[t-h[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(a.year()),e=a.month(),r=a.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,a){var i,o,s;if("object"==typeof t)o=t,i=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,i=n):(l=!!n,i=a||{}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var c,u=h[o.year-h[0]],p=u>>13;c=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(g>>5&15)-1,(31&g)+s);return i.year=m.getFullYear(),i.month=1+m.getMonth(),i.day=m.getDate(),i}(t,s,r,o);return i.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=i.fromJD(t),r=function(t,e,r,n){var a,i;if("object"==typeof t)a=t,i=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");a={year:t,month:e,day:r},i=n||{}}var o=f[a.year-f[0]],s=a.year<<9|a.month<<5|a.day;i.year=s>=o?a.year:a.year-1,o=f[i.year-f[0]];var l,c=new Date(o>>9&4095,(o>>5&15)-1,31&o),u=new Date(a.year,a.month-1,a.day);l=Math.round((u-c)/864e5);var p,d=h[i.year-h[0]];for(p=0;p<13;p++){var g=d&1<<12-p?30:29;if(l>13;!m||p=2&&n<=6},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((a.year()-1)/100)+1]||""}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year()+(a.year()<0?1:0),e=a.month(),(r=a.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=i},{"../main":580,"object-assign":459}],569:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return(t=a.year())<0&&t++,a.day()+30*(a.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,a=e-30*(n-1)+1;return this.newDate(r,n,a)}}),n.calendars.ethiopian=i},{"../main":580,"object-assign":459}],570:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(a)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(a)%10-3]}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t<=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=i},{"../main":580,"object-assign":459}],571:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),t=t<=0?t+1:t,(r=a.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=i},{"../main":580,"object-assign":459}],572:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),r=a.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),a=Math.floor((e-n)/30.6001),i=a-Math.floor(a<14?1:13),o=r-Math.floor(i>2?4716:4715),s=e-n-Math.floor(30.6001*a);return o<=0&&o--,this.newDate(o,i,s)}}),n.calendars.julian=i},{"../main":580,"object-assign":459}],573:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate).toJD(),i=this._toHaab(a),o=this._toTzolkin(a);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return a.day()+20*a.month()+360*a.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=i},{"../main":580,"object-assign":459}],574:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar;var o=n.instance("gregorian");a(i.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidMonth);(t=a.year())<0&&t++;for(var i=a.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=i},{"../main":580,"object-assign":459}],575:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=i.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],i.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),a=e.dayOfYear(),i=r+56;this._createMissingCalendarData(i);for(var o=9,s=this.NEPALI_CALENDAR_DATA[i][0],l=this.NEPALI_CALENDAR_DATA[i][o]-s+1;a>l;)++o>12&&(o=1,i++),l+=this.NEPALI_CALENDAR_DATA[i][o];var c=this.NEPALI_CALENDAR_DATA[i][o]-(l-a);return this.newDate(i,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t-(t>=0?474:473),s=474+o(i,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(i/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),a=2820;if(1029982!==n){var i=Math.floor(n/366),s=o(n,366);a=Math.floor((2134*i+2816*s+2815)/1028522)+i+1}var l=a+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),h=t-this.toJD(l,u,1)+1;return this.newDate(l,u,h)}}),n.calendars.persian=i,n.calendars.jalali=i},{"../main":580,"object-assign":459}],577:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{"../main":580,"object-assign":459}],578:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{"../main":580,"object-assign":459}],579:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,a=0,i=0;ir)return o[a]-o[a-1];a++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate),i=12*(a.year()-1)+a.month()-15292;return a.day()+o[i-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var a=r+15292,i=Math.floor((a-1)/12),s=i+1,l=a-12*i,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var a=n.baseCalendar.prototype.isValid.apply(this,arguments);return a&&(a=(t=null!=t.year?t.year:t)>=1276&&t<=1500),a},_validate:function(t,e,r,a){var i=n.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw a.replace(/\{0\}/,this.local.name);return i}}),n.calendars.ummalqura=i;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":580,"object-assign":459}],580:[function(t,e,r){var n=t("object-assign");function a(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function i(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(a.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,a){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,a):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",a=0;r>0;){var i=r%10;n=(0===i?"":t[i]+e[a])+n,a++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(i.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),a=t.calendar().fromJD(n);return this._validateLevel--,[a.year(),a.month(),a.day()]}try{var i=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);a=t.day();"y"===r?(t.month()!==this.fromMonthOfYear(i,o)&&(o=this.newDate(i,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(i)),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o)))):"m"===r&&(!function(t){for(;oe-1+t.minMonth;)i++,o-=e,e=t.monthsInYear(i)}(this),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o))));var s=[i,this.fromMonthOfYear(i,o),a];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var a={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],i=r<0?-1:1;e=this._add(t,r*a[0]+i*a[1],a[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),a="m"===r?e:t.month(),i="d"===r?e:t.day();return"y"!==r&&"m"!==r||(i=Math.min(i,this.daysInMonth(n,a))),t.date(n,a,i)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var a=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=a-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),a=new Date(n.year(),n.month()-1,n.day());return a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0),a.setHours(a.getHours()>12?a.getHours()+2:0),a},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new a;c.cdate=i,c.baseCalendar=s,c.calendars.gregorian=l},{"object-assign":459}],581:[function(t,e,r){var n=t("object-assign"),a=t("./main");n(a.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),a.local=a.regionalOptions[""],n(a.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(a.baseCalendar.prototype,{UNIX_EPOCH:a.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:a.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw a.local.invalidFormat||a.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,i,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,h=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n1}),d=function(t,e,r,n){var a=""+e;if(p(t,n))for(;a.length1},x=function(t,r){var n=y(t,r),i=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+i+"}"),s=e.substring(A).match(o);if(!s)throw(a.local.missingNumberAt||a.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){y("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,i){for(var o=y(t,i)?n:r,s=0;s-1){p=1,d=g;for(var E=this.daysInMonth(f,p);d>E;E=this.daysInMonth(f,p))p++,d-=E}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(t,e,r,n,a){r&&"object"!=typeof r&&(a=n,n=r,r=null),"string"!=typeof n&&(a=n,n="");var i=this;return e=e?e.newDate():null,t=null==t?e:"string"==typeof t?function(t){try{return i.parseDate(n,t,a)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||i.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:i.today().add(t,"d"):i.newDate(t)}})},{"./main":580,"object-assign":459}],582:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n }\n }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":148}],583:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":582}],584:[function(t,e,r){"use strict";e.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},{}],585:[function(t,e,r){"use strict";var n=t("./arrow_paths"),a=t("../../plots/font_attributes"),i=t("../../plots/cartesian/constants"),o=t("../../plot_api/plot_template").templatedArray;e.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:a({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",i.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",i.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:a({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../plot_api/plot_template":773,"../../plots/cartesian/constants":789,"../../plots/font_attributes":811,"./arrow_paths":584}],586:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=a.getFromId(t,e.xref),n=a.getFromId(t,e.yref);e._extremes={},r&&s(e,r),n&&s(e,n)}))}function s(t,e){var r,n=e._id,i=n.charAt(0),o=t[i],s=t["a"+i],l=t[i+"ref"],c=t["a"+i+"ref"],u=t["_"+i+"padplus"],h=t["_"+i+"padminus"],f={x:1,y:-1}[i]*t[i+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+f,g=p-f,m=3*t.startarrowsize*t.arrowwidth||0,v=m+f,y=m-f;if(c===l){var x=a.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:g}),b=a.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,v),ppadminus:Math.max(h,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else v=s?v+s:v,y=s?y-s:y,r=a.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,v),ppadminus:Math.max(h,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([i,o],t)}},{"../../lib":735,"../../plots/cartesian/axes":783,"./draw":591}],587:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("../../plot_api/plot_template").arrayEditor;function o(t,e){var r,n,a,i,o,l,c,u=t._fullLayout.annotations,h=[],f=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),h={},f=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var H=!1,G=["x","y"],Y=0;Y1)&&(tt===$?((ct=et.r2fraction(e["a"+Q]))<0||ct>1)&&(H=!0):H=!0),W=et._offset+et.r2p(e[Q]),J=.5}else"x"===Q?(X=e[Q],W=b.l+b.w*X):(X=1-e[Q],W=b.t+b.h*X),J=e.showarrow?.5:X;if(e.showarrow){lt.head=W;var ut=e["a"+Q];K=nt*V(.5,e.xanchor)-at*V(.5,e.yanchor),tt===$?(lt.tail=et._offset+et.r2p(ut),Z=K):(lt.tail=W+ut,Z=K+ut),lt.text=lt.tail+K;var ht=x["x"===Q?"width":"height"];if("paper"===$&&(lt.head=o.constrain(lt.head,1,ht-1)),"pixel"===tt){var ft=-Math.max(lt.tail-3,lt.text),pt=Math.min(lt.tail+3,lt.text)-ht;ft>0?(lt.tail+=ft,lt.text+=ft):pt>0&&(lt.tail-=pt,lt.text-=pt)}lt.tail+=st,lt.head+=st}else Z=K=it*V(J,ot),lt.text=W+K;lt.text+=st,K+=st,Z+=st,e["_"+Q+"padplus"]=it/2+Z,e["_"+Q+"padminus"]=it/2-Z,e["_"+Q+"size"]=it,e["_"+Q+"shift"]=K}if(H)z.remove();else{var dt=0,gt=0;if("left"!==e.align&&(dt=(w-v)*("center"===e.align?.5:1)),"top"!==e.valign&&(gt=(I-y)*("middle"===e.valign?.5:1)),u)n.select("svg").attr({x:R+dt-1,y:R+gt}).call(c.setClipUrl,B?M:null,t);else{var mt=R+gt-d.top,vt=R+dt-d.left;U.call(h.positionText,vt,mt).call(c.setClipUrl,B?M:null,t)}N.select("rect").call(c.setRect,R,R,w,I),F.call(c.setRect,O/2,O/2,D-O,j-O),z.call(c.setTranslate,Math.round(S.x.text-D/2),Math.round(S.y.text-j/2)),L.attr({transform:"rotate("+E+","+S.x.text+","+S.y.text+")"});var yt,xt=function(r,n){C.selectAll(".annotation-arrow-g").remove();var u=S.x.head,h=S.y.head,f=S.x.tail+r,d=S.y.tail+n,v=S.x.text+r,y=S.y.text+n,x=o.rotationXYMatrix(E,v,y),w=o.apply2DTransform(x),M=o.apply2DTransform2(x),P=+F.attr("width"),I=+F.attr("height"),O=v-.5*P,D=O+P,R=y-.5*I,B=R+I,N=[[O,R,O,B],[O,B,D,B],[D,B,D,R],[D,R,O,R]].map(M);if(!N.reduce((function(t,e){return t^!!o.segmentsIntersect(u,h,u+1e6,h+1e6,e[0],e[1],e[2],e[3])}),!1)){N.forEach((function(t){var e=o.segmentsIntersect(f,d,u,h,t[0],t[1],t[2],t[3]);e&&(f=e.x,d=e.y)}));var j=e.arrowwidth,V=e.arrowcolor,U=e.arrowside,q=C.append("g").style({opacity:l.opacity(V)}).classed("annotation-arrow-g",!0),H=q.append("path").attr("d","M"+f+","+d+"L"+u+","+h).style("stroke-width",j+"px").call(l.stroke,l.rgb(V));if(g(H,U,e),_.annotationPosition&&H.node().parentNode&&!i){var G=u,Y=h;if(e.standoff){var W=Math.sqrt(Math.pow(u-f,2)+Math.pow(h-d,2));G+=e.standoff*(f-u)/W,Y+=e.standoff*(d-h)/W}var Z,X,J=q.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(f-G)+","+(d-Y),transform:"translate("+G+","+Y+")"}).style("stroke-width",j+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:J.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);Z=t.x,X=t.y,s&&s.autorange&&T(s._name+".autorange",!0),m&&m.autorange&&T(m._name+".autorange",!0)},moveFn:function(t,r){var n=w(Z,X),a=n[0]+t,i=n[1]+r;z.call(c.setTranslate,a,i),k("x",s?s.p2r(s.r2p(e.x)+t):e.x+t/b.w),k("y",m?m.p2r(m.r2p(e.y)+r):e.y-r/b.h),e.axref===e.xref&&k("ax",s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&k("ay",m.p2r(m.r2p(e.ay)+r)),q.attr("transform","translate("+t+","+r+")"),L.attr({transform:"rotate("+E+","+a+","+i+")"})},doneFn:function(){a.call("_guiRelayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&xt(0,0),P)p.init({element:z.node(),gd:t,prepFn:function(){yt=L.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?k("ax",s.p2r(s.r2p(e.ax)+t)):k("ax",e.ax+t),e.ayref===e.yref?k("ay",m.p2r(m.r2p(e.ay)+r)):k("ay",e.ay+r),xt(t,r);else{if(i)return;var a,o;if(s)a=s.p2r(s.r2p(e.x)+t);else{var l=e._xsize/b.w,c=e.x+(e._xshift-e.xshift)/b.w-l/2;a=p.align(c+t/b.w,l,0,1,e.xanchor)}if(m)o=m.p2r(m.r2p(e.y)+r);else{var u=e._ysize/b.h,h=e.y-(e._yshift+e.yshift)/b.h-u/2;o=p.align(h-r/b.h,u,0,1,e.yanchor)}k("x",a),k("y",o),s&&m||(n=p.getCursor(s?.5:a,m?.5:o,e.xanchor,e.yanchor))}L.attr({transform:"translate("+t+","+r+")"+yt}),f(z,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",q(n))},doneFn:function(){f(z),a.call("_guiRelayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,m=e.indexOf("end")>=0,v=h.backoff*p+r.standoff,y=f.backoff*d+r.startstandoff;if("line"===u.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},s={x:+t.attr("x2"),y:+t.attr("y2")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,v&&y&&v+y>Math.sqrt(x*x+b*b))return void P();if(v){if(v*v>x*x+b*b)return void P();var _=v*Math.cos(l),w=v*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void P();var T=y*Math.cos(l),k=y*Math.sin(l);o.x-=T,o.y-=k,t.attr({x1:o.x,y1:o.y})}}else if("path"===u.nodeName){var A=u.getTotalLength(),M="";if(A1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=a(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{"../../plots/gl3d/project":834,"../annotations/draw":591}],598:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var i=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return i?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}i.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},i.rgb=function(t){return i.tinyRGB(n(t))},i.opacity=function(t){return t?n(t).getAlpha():0},i.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},i.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var a=n(e||l).toRgb(),i=1===a.a?a:{r:255*(1-a.a)+a.r*a.a,g:255*(1-a.a)+a.g*a.a,b:255*(1-a.a)+a.b*a.a},o={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},i.contrast=function(t,e,r){var a=n(t);return 1!==a.getAlpha()&&(a=n(i.combine(t,l))),(a.isDark()?e?a.lighten(e):l:r?a.darken(r):s).toString()},i.stroke=function(t,e){var r=n(e);t.style({stroke:i.tinyRGB(r),"stroke-opacity":r.getAlpha()})},i.fill=function(t,e){var r=n(e);t.style({fill:i.tinyRGB(r),"fill-opacity":r.getAlpha()})},i.clean=function(t){if(t&&"object"==typeof t){var e,r,n,a,o=Object.keys(t);for(e=0;e0?n>=l:n<=l));a++)n>u&&n0?n>=l:n<=l));a++)n>r[0]&&n1){var X=Math.pow(10,Math.floor(Math.log(Z)/Math.LN10));Y*=X*c.roundUp(Z/X,[2,5,10]),(Math.abs(C.start)/C.size+1e-6)%1<2e-6&&(G.tick0=0)}G.dtick=Y}G.domain=[U+N,U+R-N],G.setScale(),t.attr("transform","translate("+Math.round(l.l)+","+Math.round(l.t)+")");var J,K=t.select("."+k.cbtitleunshift).attr("transform","translate(-"+Math.round(l.l)+",-"+Math.round(l.t)+")"),Q=t.select("."+k.cbaxis),$=0;function tt(n,a){var i={propContainer:G,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:o._dfltTitle.colorbar,containerGroup:t.select("."+k.cbtitle)},s="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+s+",."+s+"-math-group").remove(),d.draw(r,n,u(i,a||{}))}return c.syncOrAsync([i.previousPromises,function(){if(-1!==["top","bottom"].indexOf(A)){var t,r=l.l+(e.x+F)*l.w,n=G.title.font.size;t="top"===A?(1-(U+R-N))*l.h+l.t+3+.75*n:(1-(U+N))*l.h+l.t-3-.25*n,tt(G._id+"title",{attributes:{x:r,y:t,"text-anchor":"start"}})}},function(){if(-1!==["top","bottom"].indexOf(A)){var i=t.select("."+k.cbtitle),o=i.select("text"),u=[-e.outlinewidth/2,e.outlinewidth/2],h=i.select(".h"+G._id+"title-math-group").node(),p=15.6;if(o.node()&&(p=parseInt(o.node().style.fontSize,10)*_),h?($=f.bBox(h).height)>p&&(u[1]-=($-p)/2):o.node()&&!o.classed(k.jsPlaceholder)&&($=f.bBox(o.node()).height),$){if($+=5,"top"===A)G.domain[1]-=$/l.h,u[1]*=-1;else{G.domain[0]+=$/l.h;var d=g.lineCount(o);u[1]+=(1-d)*p}i.attr("transform","translate("+u+")"),G.setScale()}}t.selectAll("."+k.cbfills+",."+k.cblines).attr("transform","translate(0,"+Math.round(l.h*(1-G.domain[1]))+")"),Q.attr("transform","translate(0,"+Math.round(-l.t)+")");var v=t.select("."+k.cbfills).selectAll("rect."+k.cbfill).data(P);v.enter().append("rect").classed(k.cbfill,!0).style("stroke","none"),v.exit().remove();var y=M.map(G.c2p).map(Math.round).sort((function(t,e){return t-e}));v.each((function(t,i){var o=[0===i?M[0]:(P[i]+P[i-1])/2,i===P.length-1?M[1]:(P[i]+P[i+1])/2].map(G.c2p).map(Math.round);o[1]=c.constrain(o[1]+(o[1]>o[0])?1:-1,y[0],y[1]);var s=n.select(this).attr({x:j,width:Math.max(z,2),y:n.min(o),height:Math.max(n.max(o)-n.min(o),2)});if(e._fillgradient)f.gradient(s,r,e._id,"vertical",e._fillgradient,"fill");else{var l=E(t).replace("e-","");s.attr("fill",a(l).toHexString())}}));var x=t.select("."+k.cblines).selectAll("path."+k.cbline).data(m.color&&m.width?I:[]);x.enter().append("path").classed(k.cbline,!0),x.exit().remove(),x.each((function(t){n.select(this).attr("d","M"+j+","+(Math.round(G.c2p(t))+m.width/2%1)+"h"+z).call(f.lineGroupStyle,m.width,S(t),m.dash)})),Q.selectAll("g."+G._id+"tick,path").remove();var b=j+z+(e.outlinewidth||0)/2-("outside"===e.ticks?1:0),w=s.calcTicks(G),T=s.makeTransFn(G),C=s.getTickSigns(G)[2];return s.drawTicks(r,G,{vals:"inside"===G.ticks?s.clipEnds(G,w):w,layer:Q,path:s.makeTickPath(G,b,C),transFn:T}),s.drawLabels(r,G,{vals:w,layer:Q,transFn:T,labelFns:s.makeLabelFns(G,b)})},function(){if(-1===["top","bottom"].indexOf(A)){var t=G.title.font.size,e=G._offset+G._length/2,a=l.l+(G.position||0)*l.w+("right"===G.side?10+t*(G.showticklabels?1:.5):-10-t*(G.showticklabels?.5:0));tt("h"+G._id+"title",{avoid:{selection:n.select(r).selectAll("g."+G._id+"tick"),side:A,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:a,y:e,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}},i.previousPromises,function(){var n=z+e.outlinewidth/2+f.bBox(Q.node()).width;if((J=K.select("text")).node()&&!J.classed(k.jsPlaceholder)){var a,o=K.select(".h"+G._id+"title-math-group").node();a=o&&-1!==["top","bottom"].indexOf(A)?f.bBox(o).width:f.bBox(K.node()).right-j-l.l,n=Math.max(n,a)}var s=2*e.xpad+n+e.borderwidth+e.outlinewidth/2,c=q-H;t.select("."+k.cbbg).attr({x:j-e.xpad-(e.borderwidth+e.outlinewidth)/2,y:H-B,width:Math.max(s,2),height:Math.max(c+2*B,2)}).call(p.fill,e.bgcolor).call(p.stroke,e.bordercolor).style("stroke-width",e.borderwidth),t.selectAll("."+k.cboutline).attr({x:j,y:H+e.ypad+("top"===A?$:0),width:Math.max(z,2),height:Math.max(c-2*e.ypad-$,2)}).call(p.stroke,e.outlinecolor).style({fill:"none","stroke-width":e.outlinewidth});var u=({center:.5,right:1}[e.xanchor]||0)*s;t.attr("transform","translate("+(l.l-u)+","+l.t+")");var h={},d=w[e.yanchor],g=T[e.yanchor];"pixels"===e.lenmode?(h.y=e.y,h.t=c*d,h.b=c*g):(h.t=h.b=0,h.yt=e.y+e.len*d,h.yb=e.y-e.len*g);var m=w[e.xanchor],v=T[e.xanchor];if("pixels"===e.thicknessmode)h.x=e.x,h.l=s*m,h.r=s*v;else{var y=s-z;h.l=y*m,h.r=y*v,h.xl=e.x-e.thickness*m,h.xr=e.x+e.thickness*v}i.autoMargin(r,e._id,h)}],r)}(r,e,t);m&&m.then&&(t._promises||[]).push(m),t._context.edits.colorbarPosition&&function(t,e,r){var n,a,i,s=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+" translate("+r+","+o+")"),a=l.align(e._xLeftFrac+r/s.w,e._thickFrac,0,1,e.xanchor),i=l.align(e._yBottomFrac-o/s.h,e._lenFrac,0,1,e.yanchor);var c=l.getCursor(a,i,e.xanchor,e.yanchor);h(t,c)},doneFn:function(){if(h(t),void 0!==a&&void 0!==i){var n={};n[e._propPrefix+"x"]=a,n[e._propPrefix+"y"]=i,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){i.autoMargin(t,e._id)})).remove(),e.order()}}},{"../../constants/alignment":704,"../../lib":735,"../../lib/extend":726,"../../lib/setcursor":755,"../../lib/svg_text_utils":759,"../../plots/cartesian/axes":783,"../../plots/cartesian/axis_defaults":785,"../../plots/cartesian/layout_attributes":797,"../../plots/cartesian/position_defaults":800,"../../plots/plots":846,"../../registry":866,"../color":602,"../colorscale/helpers":613,"../dragelement":621,"../drawing":624,"../titles":697,"./constants":604,d3:165,tinycolor2:535}],607:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{"../../lib":735}],608:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"colorbar",attributes:t("./attributes"),supplyDefaults:t("./defaults"),draw:t("./draw").draw,hasColorbar:t("./has_colorbar")}},{"./attributes":603,"./defaults":605,"./draw":606,"./has_colorbar":607}],609:[function(t,e,r){"use strict";var n=t("../colorbar/attributes"),a=t("../../lib/regex").counter,i=t("./scales.js").scales;Object.keys(i);function o(t){return"`"+t+"`"}e.exports=function(t,e){t=t||"";var r,s=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),c="showScaleDflt"in e?e.showScaleDflt:"z"===s,u="string"==typeof e.colorscaleDflt?i[e.colorscaleDflt]:null,h=e.editTypeOverride||"",f=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):o(f+(r={z:"z",c:"color"}[s]));var p=s+"auto",d=s+"min",g=s+"max",m=s+"mid",v=(o(f+p),o(f+d),o(f+g),{});v[d]=v[g]=void 0;var y={};y[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:h||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:v},x[d]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:y},x[g]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:y},x[m]={valType:"number",dflt:null,editType:"calc",impliedEdits:v},x.colorscale={valType:"colorscale",editType:"calc",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:c,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:a("coloraxis"),dflt:null,editType:"calc"}),x}},{"../../lib/regex":751,"../colorbar/attributes":603,"./scales.js":617}],610:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("./helpers").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?a.nestedProperty(e,c).get():e,h=i(u),f=!1!==h.auto,p=h.min,d=h.max,g=h.mid,m=function(){return a.aggNums(Math.min,null,l)},v=function(){return a.aggNums(Math.max,null,l)};(void 0===p?p=m():f&&(p=u._colorAx&&n(p)?Math.min(p,m()):m()),void 0===d?d=v():f&&(d=u._colorAx&&n(d)?Math.max(d,v()):v()),f&&void 0!==g&&(d-g>g-p?p=g-(d-g):d-g=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync("colorscale",o))}},{"../../lib":735,"./helpers":613,"fast-isnumeric":237}],611:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./helpers").hasColorscale,i=t("./helpers").extractOpts;e.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,a){var o=a.container?n.nestedProperty(t,a.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=i(o),l=s.auto;(l||void 0===s.min)&&r(o,a.min),(l||void 0===s.max)&&r(o,a.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,a++){var i=t[n];r[a]=[1-i[0],i[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u4/3-s?o:s}},{}],619:[function(t,e,r){"use strict";var n=t("../../lib"),a=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,i){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===i?0:"middle"===i?1:"top"===i?2:n.constrain(Math.floor(3*e),0,2),a[e][t]}},{"../../lib":735}],620:[function(t,e,r){"use strict";r.selectMode=function(t){return"lasso"===t||"select"===t},r.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},r.openMode=function(t){return"drawline"===t||"drawopenpath"===t},r.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},r.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},r.selectingOrDrawing=function(t){return r.freeMode(t)||r.rectMode(t)}},{}],621:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),a=t("has-hover"),i=t("has-passive-events"),o=t("../../lib").removeElement,s=t("../../plots/cartesian/constants"),l=e.exports={};l.align=t("./align"),l.getCursor=t("./cursor");var c=t("./unhover");function u(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function h(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,f,p,d,g,m=t.gd,v=1,y=m._context.doubleClickDelay,x=t.element;m._mouseDownTime||(m._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,i?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)y&&(v=Math.max(v-1,1)),m._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(v,p),!g){var r;try{r=new MouseEvent("click",e)}catch(t){var n=h(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}m._dragging=!1,m._dragged=!1}else m._dragged=!1}},l.coverSlip=u},{"../../lib":735,"../../plots/cartesian/constants":789,"./align":618,"./cursor":619,"./unhover":622,"has-hover":413,"has-passive-events":414,"mouse-event-offset":441}],622:[function(t,e,r){"use strict";var n=t("../../lib/events"),a=t("../../lib/throttle"),i=t("../../lib/dom").getGraphDiv,o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=i(t))._fullLayout&&a.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,a=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&a&&t.emit("plotly_unhover",{event:e,points:a}))}},{"../../lib/dom":724,"../../lib/events":725,"../../lib/throttle":760,"../fx/constants":636}],623:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],624:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),c=t("../../lib"),u=t("../../lib/svg_text_utils"),h=t("../../constants/xmlns_namespaces"),f=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,d=t("../../traces/scatter/subtypes"),g=t("../../traces/scatter/make_bubble_size_func"),m=t("../../components/fx/helpers").appendArrayPointValue,v=e.exports={};v.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(s.fill,n)},v.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},v.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},v.setRect=function(t,e,r,n,a){t.call(v.setPosition,e,r).call(v.setSize,n,a)},v.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),o=n.c2p(t.y);return!!(a(i)&&a(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",o):e.attr("transform","translate("+i+","+o+")"),!0)},v.translatePoints=function(t,e,r){t.each((function(t){var a=n.select(this);v.translatePoint(t,a,e,r)}))},v.hideOutsideRangePoint=function(t,e,r,n,a,i){e.attr("display",r.isPtWithinRange(t,a)&&n.isPtWithinRange(t,i)?null:"none")},v.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,a=e.yaxis;t.each((function(e){var i=e[0].trace,s=i.xcalendar,l=i.ycalendar,c=o.traceIs(i,"bar-like")?".bartext":".point,.textpoint";t.selectAll(c).each((function(t){v.hideOutsideRangePoint(t,n.select(this),r,a,s,l)}))}))}},v.crispRound=function(t,e,r){return e&&a(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},v.singleLineStyle=function(t,e,r,n,a){e.style("fill","none");var i=(((t||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,l=a||i.dash||"";s.stroke(e,n||i.color),v.dashLine(e,l,o)},v.lineGroupStyle=function(t,e,r,a){t.style("fill","none").each((function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},o=e||i.width||0,l=a||i.dash||"";n.select(this).call(s.stroke,r||i.color).call(v.dashLine,l,o)}))},v.dashLine=function(t,e,r){r=+r||0,e=v.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},v.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},v.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},v.fillGroupStyle=function(t){t.style("stroke-width",0).each((function(t){var e=n.select(this);t[0].trace&&e.call(s.fill,t[0].trace.fillcolor)}))};var y=t("./symbol_defs");v.symbolNames=[],v.symbolFuncs=[],v.symbolNeedLines={},v.symbolNoDot={},v.symbolNoFill={},v.symbolList=[],Object.keys(y).forEach((function(t){var e=y[t],r=e.n;v.symbolList.push(r,t,r+100,t+"-open"),v.symbolNames[r]=t,v.symbolFuncs[r]=e.f,e.needLine&&(v.symbolNeedLines[r]=!0),e.noDot?v.symbolNoDot[r]=!0:v.symbolList.push(r+200,t+"-dot",r+300,t+"-open-dot"),e.noFill&&(v.symbolNoFill[r]=!0)}));var x=v.symbolNames.length;function b(t,e){var r=t%100;return v.symbolFuncs[r](e)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}v.symbolNumber=function(t){if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=v.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=x||t>=400?0:Math.floor(Math.max(t,0))};var _={x1:1,x2:0,y1:0,y2:0},w={x1:0,x2:0,y1:1,y2:0},T=n.format("~.1f"),k={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:_},horizontalreversed:{node:"linearGradient",attrs:_,reversed:!0},vertical:{node:"linearGradient",attrs:w},verticalreversed:{node:"linearGradient",attrs:w,reversed:!0}};v.gradient=function(t,e,r,a,o,l){for(var u=o.length,h=k[a],f=new Array(u),p=0;p"+v(t);d._gradientUrlQueryParts[y]=1},v.initGradients=function(t){var e=t._fullLayout;c.ensureSingle(e._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove(),e._gradientUrlQueryParts={}},v.pointStyle=function(t,e,r){if(t.size()){var a=v.makePointStyleFns(e);t.each((function(t){v.singlePointStyle(t,n.select(this),e,a,r)}))}},v.singlePointStyle=function(t,e,r,n,a){var i=r.marker,o=i.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?i.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===i.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=v.symbolNumber(t.mx||i.symbol)||0;t.om=u%200>=100,e.attr("d",b(u,l))}var h,f,p,d=!1;if(t.so)p=o.outlierwidth,f=o.outliercolor,h=i.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,f="mlc"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(i.color)&&(h=s.defaultLine,d=!0),h="mc"in t?t.mcc=n.markerScale(t.mc):i.color||"rgba(0,0,0,0)",n.selectedColorFn&&(h=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,h).style({"stroke-width":(p||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:p)+"px");var m=i.gradient,y=t.mgt;if(y?d=!0:y=m&&m.type,Array.isArray(y)&&(y=y[0],k[y]||(y=0)),y&&"none"!==y){var x=t.mgc;x?d=!0:x=m.color;var _=r.uid;d&&(_+="-"+t.i),v.gradient(e,a,_,y,[[0,x],[1,h]],"fill")}else s.fill(e,h);p&&s.stroke(e,f)}},v.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=v.tryColorscale(r,""),e.lineScale=v.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,v.makeSelectedPointStyleFns(t)),e},v.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},i=r.marker||{},s=n.marker||{},l=a.opacity,u=i.opacity,h=s.opacity,f=void 0!==u,d=void 0!==h;(c.isArrayOrTypedArray(l)||f||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?f?u:e:d?h:p*e});var g=a.color,m=i.color,v=s.color;(m||v)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?m||e:v||e});var y=a.size,x=i.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},v.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.textfont||{},i=r.textfont||{},o=n.textfont||{},l=a.color,c=i.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,p))},e},v.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=v.makeSelectedPointStyleFns(e),a=e.marker||{},i=[];r.selectedOpacityFn&&i.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&i.push((function(t,e){s.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&i.push((function(t,e){var n=e.mx||a.symbol||0,i=r.selectedSizeFn(e);t.attr("d",b(v.symbolNumber(n),i)),e.mrc2=i})),i.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}v.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var i=v.makeSelectedTextStyleFns(e);a=i.selectedTextColorFn}var o=e.texttemplate,s=r._fullLayout;t.each((function(t){var i=n.select(this),l=o?c.extractOption(t,e,"txt","texttemplate"):c.extractOption(t,e,"tx","text");if(l||0===l){if(o){var h=e._module.formatLabels?e._module.formatLabels(t,e,s):{},f={};m(f,e,t.i);var p=e._meta||{};l=c.texttemplateString(l,h,s._d3locale,f,t,p)}var d=t.tp||e.textposition,g=S(t,e),y=a?a(t):t.tc||e.textfont.color;i.call(v.font,t.tf||e.textfont.family,g,y).text(l).call(u.convertToTspans,r).call(M,d,g,t.mrc)}else i.remove()}))}},v.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=v.makeSelectedTextStyleFns(e);t.each((function(t){var a=n.select(this),i=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=S(t,e);s.fill(a,i),M(a,o,l,t.mrc2||t.mrc)}))}};function E(t,e,r,a){var i=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(i*i+o*o,.25),u=Math.pow(s*s+l*l,.25),h=(u*u*i-c*c*s)*a,f=(u*u*o-c*c*l)*a,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&h/p),2),n.round(e[1]+(p&&f/p),2)],[n.round(e[0]-(d&&h/d),2),n.round(e[1]-(d&&f/d),2)]]}v.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],a=[];for(r=1;r=1e4&&(v.savedBBoxes={},P=0),r&&(v.savedBBoxes[r]=m),P++,c.extendFlat({},m)},v.setClipUrl=function(t,e,r){t.attr("clip-path",z(e,r))},v.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},v.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||0,r=r||0,i=i.replace(/(\btranslate\(.*?\);?)/,"").trim(),i=(i+=" translate("+e+", "+r+")").trim(),t[a]("transform",i),i},v.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},v.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||1,r=r||1,i=i.replace(/(\bscale\(.*?\);?)/,"").trim(),i=(i+=" scale("+e+", "+r+")").trim(),t[a]("transform",i),i};var O=/\s*sc.*/;v.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":" scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(O,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var D=/translate\([^)]*\)\s*$/;v.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,a=n.select(this),i=a.select("text");if(i.node()){var o=parseFloat(i.attr("x")||0),s=parseFloat(i.attr("y")||0),l=(a.attr("transform")||"").match(D);t=1===e&&1===r?[]:["translate("+o+","+s+")","scale("+e+","+r+")","translate("+-o+","+-s+")"],l&&t.push(l),a.attr("transform",t.join(" "))}}))}},{"../../components/fx/helpers":638,"../../constants/alignment":704,"../../constants/interactions":710,"../../constants/xmlns_namespaces":712,"../../lib":735,"../../lib/svg_text_utils":759,"../../registry":866,"../../traces/scatter/make_bubble_size_func":1157,"../../traces/scatter/subtypes":1164,"../color":602,"../colorscale":614,"./symbol_defs":625,d3:165,"fast-isnumeric":237,tinycolor2:535}],625:[function(t,e,r){"use strict";var n=t("d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,a="l"+e+",-"+e,i="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+a+i+a+i+o+i+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),a=n.round(-t,2),i=n.round(-.309*t,2);return"M"+e+","+i+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+i+"L0,"+a+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M"+a+",-"+r+"V"+r+"L0,"+e+"L-"+a+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+a+"H"+r+"L"+e+",0L"+r+",-"+a+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),a=n.round(.951*e,2),i=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return"M"+r+","+l+"H"+a+"L"+i+","+c+"L"+o+","+u+"L0,"+n.round(.382*e,2)+"L-"+o+","+u+"L-"+i+","+c+"L-"+a+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),a=n.round(.76*t,2);return"M-"+a+",0l-"+r+",-"+e+"h"+a+"l"+r+",-"+e+"l"+r+","+e+"h"+a+"l-"+r+","+e+"l"+r+","+e+"h-"+a+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+a+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+a+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+a+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+a+"-"+e+","+e+a+e+","+e+a+e+",-"+e+a+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+a+"0,"+e+a+e+",0"+a+"0,-"+e+a+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+","+a+"L0,0M"+e+","+a+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+",-"+a+"L0,0M"+e+",-"+a+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M"+a+","+e+"L0,0M"+a+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+a+","+e+"L0,0M-"+a+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:165}],626:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],627:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../registry"),i=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("./compute_error");function l(t,e,r,a){var l=e["error_"+a]||{},c=[];if(l.visible&&-1!==["linear","log"].indexOf(r.type)){for(var u=s(l),h=0;h0;e.each((function(e){var h,f=e[0].trace,p=f.error_x||{},d=f.error_y||{};f.ids&&(h=function(t){return t.id});var g=o.hasMarkers(f)&&f.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var m=n.select(this).selectAll("g.errorbar").data(e,h);if(m.exit().remove(),e.length){p.visible||m.selectAll("path.xerror").remove(),d.visible||m.selectAll("path.yerror").remove(),m.style("opacity",1);var v=m.enter().append("g").classed("errorbar",!0);u&&v.style("opacity",0).transition().duration(s.duration).style("opacity",1),i.setClipUrl(m,r.layerClipId,t),m.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),a(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),a(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,c);if(!g||t.vis){var i,o=e.select("path.yerror");if(d.visible&&a(r.x)&&a(r.yh)&&a(r.ys)){var h=d.width;i="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(i+="m-"+h+",0h"+2*h),!o.size()?o=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):u&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr("d",i)}else o.remove();var f=e.select("path.xerror");if(p.visible&&a(r.y)&&a(r.xh)&&a(r.xs)){var m=(p.copy_ystyle?d:p).width;i="M"+r.xh+","+(r.y-m)+"v"+2*m+"m0,-"+m+"H"+r.xs,r.noXS||(i+="m0,-"+m+"v"+2*m),!f.size()?f=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):u&&(f=f.transition().duration(s.duration).ease(s.easing)),f.attr("d",i)}else f.remove()}}))}}))}},{"../../traces/scatter/subtypes":1164,"../drawing":624,d3:165,"fast-isnumeric":237}],632:[function(t,e,r){"use strict";var n=t("d3"),a=t("../color");e.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},i=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(a.stroke,r.color),i.copy_ystyle&&(i=r),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(a.stroke,i.color)}))}},{"../color":602,d3:165}],633:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("./layout_attributes").hoverlabel,i=t("../../lib/extend").extendFlat;e.exports={hoverlabel:{bgcolor:i({},a.bgcolor,{arrayOk:!0}),bordercolor:i({},a.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:i({},a.align,{arrayOk:!0}),namelength:i({},a.namelength,{arrayOk:!0}),editType:"none"}}},{"../../lib/extend":726,"../../plots/font_attributes":811,"./layout_attributes":643}],634:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry");function i(t,e,r,a){a=a||n.identity,Array.isArray(t)&&(e[0][r]=a(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.indexb[0]._length||tt<0||tt>w[0]._length)return f.unhoverRaw(t,e)}if(e.pointerX=$+b[0]._offset,e.pointerY=tt+w[0]._offset,O="xval"in e?g.flat(l,e.xval):g.p2c(b,$),D="yval"in e?g.flat(l,e.yval):g.p2c(w,tt),!a(O[0])||!a(D[0]))return o.warn("Fx.hover failed",e,t),f.unhoverRaw(t,e)}var rt=1/0;function nt(t,r){for(F=0;FY&&(X.splice(0,Y),rt=X[0].distance),v&&0!==Z&&0===X.length){G.distance=Z,G.index=!1;var f=N._module.hoverPoints(G,q,H,"closest",u._hoverlayer);if(f&&(f=f.filter((function(t){return t.spikeDistance<=Z}))),f&&f.length){var p,d=f.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(d.length){var m=d[0];a(m.x0)&&a(m.y0)&&(p=it(m),(!K.vLinePoint||K.vLinePoint.spikeDistance>p.spikeDistance)&&(K.vLinePoint=p))}var y=f.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(y.length){var x=y[0];a(x.x0)&&a(x.y0)&&(p=it(x),(!K.hLinePoint||K.hLinePoint.spikeDistance>p.spikeDistance)&&(K.hLinePoint=p))}}}}}function at(t,e){for(var r,n=null,a=1/0,i=0;i1||X.length>1)||"closest"===C&&Q&&X.length>1,At=h.combine(u.plot_bgcolor||h.background,u.paper_bgcolor),Mt={hovermode:C,rotateLabels:kt,bgColor:At,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},St=E(X,Mt,t);g.isUnifiedHover(C)||(!function(t,e,r){var n,a,i,o,s,l,c,u=0,h=1,f=t.size(),p=new Array(f),d=0;function g(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,i=r.pos+r.dp+r.size-e.pmax,a>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=a;n=!1}if(!(i<.01)){if(a<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=i;n=!1}if(n){var c=0;for(o=0;oe.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o=0;s--)t[s].dp-=i;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}t.each((function(t){var n=t[e],a="x"===n._id.charAt(0),i=n.range;0===d&&i&&i[0]>i[1]!==a&&(h=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?_:1)/2,pmin:0,pmax:a?r.width:r.height}]})),p.sort((function(t,e){return t[0].posref-e[0].posref||h*(e[0].traceIndex-t[0].traceIndex)}));for(;!n&&u<=f;){for(u++,n=!0,o=0;o.01&&y.pmin===x.pmin&&y.pmax===x.pmax){for(s=v.length-1;s>=0;s--)v[s].dp+=a;for(m.push.apply(m,v),p.splice(o+1,1),c=0,s=m.length-1;s>=0;s--)c+=m[s].dp;for(i=c/m.length,s=m.length-1;s>=0;s--)m[s].dp-=i;n=!1}else o++}p.forEach(g)}for(o=p.length-1;o>=0;o--){var b=p[o];for(s=b.length-1;s>=0;s--){var w=b[s],T=w.datum;T.offset=w.dp,T.del=w.del}}}(St,kt?"xa":"ya",u),L(St,kt));if(e.target&&e.target.tagName){var Et=d.getComponentMethod("annotations","hasClickToShow")(t,bt);c(n.select(e.target),Et?"pointer":"")}if(!e.target||i||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var a=r[n],i=t._hoverdata[n];if(a.curveNumber!==i.curveNumber||String(a.pointNumber)!==String(i.pointNumber)||String(a.pointNumbers)!==String(i.pointNumbers))return!0}return!1}(t,0,xt))return;xt&&t.emit("plotly_unhover",{event:e,points:xt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:b,yaxes:w,xvals:O,yvals:D})}(t,e,r,i)}))},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var a=t.map((function(t){return{color:t.color||h.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,eventData:t.eventData||!1,hovertemplateLabels:t.hovertemplateLabels||!1}})),i=n.select(e.container),o=e.outerContainer?n.select(e.outerContainer):i,s={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||h.background,container:i,outerContainer:o},l=E(a,s,e.gd),c=0,u=0;return l.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function E(t,e,r){var a=r._fullLayout,i=e.hovermode,s=e.rotateLabels,c=e.bgColor,f=e.container,p=e.outerContainer,d=e.commonLabelOpts||{},b=e.fontFamily||m.HOVERFONT,_=e.fontSize||m.HOVERFONTSIZE,w=t[0],T=w.xa,S=w.ya,E="y"===i.charAt(0)?"yLabel":"xLabel",L=w[E],P=(String(L)||"").split(" ")[0],I=p.node().getBoundingClientRect(),z=I.top,O=I.width,D=I.height,R=void 0!==L&&w.distance<=e.hoverdistance&&("x"===i||"y"===i);if(R){var F,B,N=!0;for(F=0;Fa.width-E?(v=a.width-E,s.attr("d","M"+(E-k)+",0L"+E+","+M+k+"v"+M+(2*A+x.height)+"H-"+E+"V"+M+k+"H"+(E-2*k)+"Z")):s.attr("d","M0,0L"+k+","+M+k+"H"+(A+x.width/2)+"v"+M+(2*A+x.height)+"H-"+(A+x.width/2)+"V"+M+k+"H-"+k+"Z")}else{var C,P,I;"right"===S.side?(C="start",P=1,I="",v=T._offset+T._length):(C="end",P=-1,I="-",v=T._offset),y=S._offset+(w.y0+w.y1)/2,c.attr("text-anchor",C),s.attr("d","M0,0L"+I+k+","+k+"V"+(A+x.height/2)+"h"+I+(2*A+x.width)+"V-"+(A+x.height/2)+"H"+I+k+"V-"+k+"Z");var O,D=x.height/2,R=z-x.top-D,F="clip"+a._uid+"commonlabel"+S._id;if(v=0?$-=rt:$+=2*A;var nt=et.height+2*A,at=Q+nt>=D;return nt<=D&&(Q<=z?Q=S._offset+2*A:at&&(Q=D-nt)),tt.attr("transform","translate("+$+","+Q+")"),tt}var it=f.selectAll("g.hovertext").data(t,(function(t){return M(t)}));return it.enter().append("g").classed("hovertext",!0).each((function(){var t=n.select(this);t.append("rect").call(h.fill,h.addOpacity(c,.8)),t.append("text").classed("name",!0),t.append("path").style("stroke-width","1px"),t.append("text").classed("nums",!0).call(u.font,b,_)})),it.exit().remove(),it.each((function(t){var e=n.select(this).attr("transform",""),o=t.bgcolor||t.color,f=h.combine(h.opacity(o)?o:h.defaultLine,c),p=h.combine(h.opacity(t.color)?t.color:h.defaultLine,c),d=t.borderColor||h.contrast(f),g=C(t,R,i,a,L,e),m=g[0],v=g[1],y=e.select("text.nums").call(u.font,t.fontFamily||b,t.fontSize||_,t.fontColor||d).text(m).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),w=e.select("text.name"),T=0,M=0;if(v&&v!==m){w.call(u.font,t.fontFamily||b,t.fontSize||_,p).text(v).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r);var S=w.node().getBoundingClientRect();T=S.width+2*A,M=S.height+2*A}else w.remove(),e.select("rect").remove();e.select("path").style({fill:f,stroke:d});var E,P,I=y.node().getBoundingClientRect(),F=t.xa._offset+(t.x0+t.x1)/2,B=t.ya._offset+(t.y0+t.y1)/2,N=Math.abs(t.x1-t.x0),j=Math.abs(t.y1-t.y0),V=I.width+k+A+T;if(t.ty0=z-I.top,t.bx=I.width+2*A,t.by=Math.max(I.height+2*A,M),t.anchor="start",t.txwidth=I.width,t.tx2width=T,t.offset=0,s)t.pos=F,E=B+j/2+V<=D,P=B-j/2-V>=0,"top"!==t.idealAlign&&E||!P?E?(B+=j/2,t.anchor="start"):t.anchor="middle":(B-=j/2,t.anchor="end");else if(t.pos=B,E=F+N/2+V<=O,P=F-N/2-V>=0,"left"!==t.idealAlign&&E||!P)if(E)F+=N/2,t.anchor="start";else{t.anchor="middle";var U=V/2,q=F+U-O,H=F-U;q>0&&(F-=q),H<0&&(F+=-H)}else F-=N/2,t.anchor="end";y.attr("text-anchor",t.anchor),T&&w.attr("text-anchor",t.anchor),e.attr("transform","translate("+F+","+B+")"+(s?"rotate("+x+")":""))})),it}function C(t,e,r,n,a,i){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=O(t.name,t.nameLength)),void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
        "),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
        "),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[r.charAt(0)+"Label"]===a?l=t[("x"===r.charAt(0)?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
        ":"")+t.text),void 0!==t.extraText&&(l+=(l?"
        ":"")+t.extraText),i&&""===l&&!t.hovertemplate&&(""===s&&i.remove(),l=s);var c=n._d3locale,u=t.hovertemplate||!1,h=t.hovertemplateLabels||t,f=t.eventData[0]||{};return u&&(l=(l=o.hovertemplateString(u,h,c,f,t.trace._meta)).replace(S,(function(e,r){return s=O(r,t.nameLength),""}))),[l,s]}function L(t,e){t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var a=r.select("text.nums"),i=t.anchor,o="end"===i?-1:1,s={start:1,end:-1,middle:0}[i],c=s*(k+A),h=c+s*(t.txwidth+A),f=0,p=t.offset;"middle"===i&&(c-=t.tx2width/2,h+=t.txwidth/2+A),e&&(p*=-T,f=t.offset*w),r.select("path").attr("d","middle"===i?"M-"+(t.bx/2+t.tx2width/2)+","+(p-t.by/2)+"h"+t.bx+"v"+t.by+"h-"+t.bx+"Z":"M0,0L"+(o*k+f)+","+(k+p)+"v"+(t.by/2-k)+"h"+o*t.bx+"v-"+t.by+"H"+(o*k+f)+"V"+(p-k)+"Z");var d=c+f,g=p+t.ty0-t.by/2+A,m=t.textAlign||"auto";"auto"!==m&&("left"===m&&"start"!==i?(a.attr("text-anchor","start"),d="middle"===i?-t.bx/2-t.tx2width/2+A:-t.bx-A):"right"===m&&"end"!==i&&(a.attr("text-anchor","end"),d="middle"===i?t.bx/2-t.tx2width/2-A:t.bx+A)),a.call(l.positionText,d,g),t.tx2width&&(r.select("text.name").call(l.positionText,h+s*A+f,p+t.ty0-t.by/2+A),r.select("rect").call(u.setRect,h+(s-1)*t.tx2width/2+f,p-t.by/2-1,t.tx2width,t.by+2))}))}function P(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],s=t.cd[r]||{};function l(t){return t||a(t)&&0===t}var c=Array.isArray(r)?function(t,e){var a=o.castOption(i,r,t);return l(a)?a:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var a=c(r,n);l(a)&&(t[e]=a)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("nameLength","hnl","hoverlabel.namelength"),u("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:p.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var h=p.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+h+" / -"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+h,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var f=p.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+f+" / -"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+f,"y"===e&&(t.distance+=1)}var d=t.hoverinfo||t.trace.hoverinfo;return d&&"all"!==d&&(-1===(d=Array.isArray(d)?d:d.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===d.indexOf("y")&&(t.yLabel=void 0),-1===d.indexOf("z")&&(t.zLabel=void 0),-1===d.indexOf("text")&&(t.text=void 0),-1===d.indexOf("name")&&(t.name=void 0)),t}function I(t,e,r){var n,a,o=r.container,s=r.fullLayout,l=s._size,c=r.event,f=!!e.hLinePoint,d=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),d||f){var g=h.combine(s.plot_bgcolor,s.paper_bgcolor);if(f){var m,v,y=e.hLinePoint;n=y&&y.xa,"cursor"===(a=y&&y.ya).spikesnap?(m=c.pointerX,v=c.pointerY):(m=n._offset+y.x,v=a._offset+y.y);var x,b,_=i.readability(y.color,g)<1.5?h.contrast(g):y.color,w=a.spikemode,T=a.spikethickness,k=a.spikecolor||_,A=p.getPxPosition(t,a);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=m),-1!==w.indexOf("across")){var M=a._counterDomainMin,S=a._counterDomainMax;"free"===a.anchor&&(M=Math.min(M,a.position),S=Math.max(S,a.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:v,y2:v,"stroke-width":T,stroke:k,"stroke-dasharray":u.dashStyle(a.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:v,y2:v,"stroke-width":T+2,stroke:g}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==a.side?T:-T),cy:v,r:T,fill:k}).classed("spikeline",!0)}if(d){var E,C,L=e.vLinePoint;n=L&&L.xa,a=L&&L.ya,"cursor"===n.spikesnap?(E=c.pointerX,C=c.pointerY):(E=n._offset+L.x,C=a._offset+L.y);var P,I,z=i.readability(L.color,g)<1.5?h.contrast(g):L.color,O=n.spikemode,D=n.spikethickness,R=n.spikecolor||z,F=p.getPxPosition(t,n);if(-1!==O.indexOf("toaxis")||-1!==O.indexOf("across")){if(-1!==O.indexOf("toaxis")&&(P=F,I=C),-1!==O.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,I=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:I,"stroke-width":D,stroke:R,"stroke-dasharray":u.dashStyle(n.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:I,"stroke-width":D+2,stroke:g}).classed("spikeline",!0).classed("crisp",!0)}-1!==O.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function z(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function O(t,e){return l.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}},{"../../lib":735,"../../lib/events":725,"../../lib/override_cursor":746,"../../lib/svg_text_utils":759,"../../plots/cartesian/axes":783,"../../registry":866,"../color":602,"../dragelement":621,"../drawing":624,"../legend/defaults":654,"../legend/draw":655,"./constants":636,"./helpers":638,d3:165,"fast-isnumeric":237,tinycolor2:535}],640:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../color"),i=t("./helpers").isUnifiedHover;e.exports=function(t,e,r,o){function s(t){o.font[t]||(o.font[t]=e.legend?e.legend.font[t]:e.font[t])}o=o||{},e&&i(e.hovermode)&&(o.font||(o.font={}),s("size"),s("family"),s("color"),e.legend?(o.bgcolor||(o.bgcolor=a.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},{"../../lib":735,"../color":602,"./helpers":638}],641:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){function i(r,i){return void 0!==e[r]?e[r]:n.coerce(t,e,a,r,i)}var o,s=i("clickmode");return e._has("cartesian")?s.indexOf("select")>-1?o="closest":(e._isHoriz=function(t,e){for(var r=e._scatterStackOpts||{},n=0;n1){if(!f&&!p&&!d)"independent"===k("pattern")&&(f=!0);m._hasSubplotGrid=f;var x,b,_="top to bottom"===k("roworder"),w=f?.2:.1,T=f?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),m._domains={x:u("x",k,w,x,y),y:u("y",k,T,b,v,_)}}else delete e.grid}function k(t,e){return n.coerce(r,m,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,a,i,o,s,l,u,f=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,m=r.columns,v="independent"===r.pattern,y=r._axisMap={};if(d){var x=f.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n1);if(!1!==g||c.uirevision){var m=i.newContainer(e,"legend");if(_("uirevision",e.uirevision),!1!==g){_("bgcolor",e.paper_bgcolor),_("bordercolor"),_("borderwidth"),a.coerceFont(_,"font",e.font);var v,y,x,b=_("orientation");"h"===b?(v=0,n.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(y=1.1,x="bottom"):(y=-.1,x="top")):(v=1.02,y=1,x="auto"),_("traceorder",f),l.isGrouped(e.legend)&&_("tracegroupgap"),_("itemsizing"),_("itemclick"),_("itemdoubleclick"),_("x",v),_("xanchor"),_("y",y),_("yanchor",x),_("valign"),a.noneOrAll(c,m,["x","y"]),_("title.text")&&(_("title.side","h"===b?"left":"top"),a.coerceFont(_,"title.font",e.font))}}function _(t,e){return a.coerce(c,m,o,t,e)}}},{"../../lib":735,"../../plot_api/plot_template":773,"../../plots/layout_attributes":837,"../../registry":866,"./attributes":652,"./helpers":658}],655:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),c=t("../drawing"),u=t("../color"),h=t("../../lib/svg_text_utils"),f=t("./handle_click"),p=t("./constants"),d=t("../../constants/alignment"),g=d.LINE_SPACING,m=d.FROM_TL,v=d.FROM_BR,y=t("./get_legend_data"),x=t("./style"),b=t("./helpers");function _(t,e,r,n,a){var i=r.data()[0][0].trace,l={event:a,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(i._group&&(l.group=i._group),o.traceIs(i,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l))if(1===n)e._clickTimeout=setTimeout((function(){f(r,t,n)}),t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&f(r,t,n)}}function w(t,e,r){var n,i=t.data()[0][0],s=i.trace,l=o.traceIs(s,"pie-like"),u=s.index,f=r._main&&e._context.edits.legendText&&!l,d=r._maxNameLength;r.entries?n=i.text:(n=l?i.label:s.name,s._meta&&(n=a.templateString(n,s._meta)));var g=a.ensureSingle(t,"text","legendtext");g.attr("text-anchor","start").classed("user-select-none",!0).call(c.font,r.font).text(f?T(n,d):n),h.positionText(g,p.textGap,0),f?g.call(h.makeEditable,{gd:e,text:n}).call(A,t,e,r).on("edit",(function(n){this.text(T(n,d)).call(A,t,e,r);var s=i.trace._fullInput||{},l={};if(o.hasTransform(s,"groupby")){var c=o.getTransformIndices(s,"groupby"),h=c[c.length-1],f=a.keyedContainer(s,"transforms["+h+"].styles","target","value.name");f.set(i.trace._group,n),l=f.constructUpdate()}else l.name=n;return o.call("_guiRestyle",e,l,u)})):A(g,t,e,r)}function T(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function k(t,e){var r,i=e._context.doubleClickDelay,o=1,s=a.ensureSingle(t,"rect","legendtoggle",(function(t){t.style("cursor","pointer").attr("pointer-events","all").call(u.fill,"rgba(0,0,0,0)")}));s.on("mousedown",(function(){(r=(new Date).getTime())-e._legendMouseDownTimei&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}}))}function A(t,e,r,n){n._main||t.attr("data-notex",!0),h.convertToTspans(t,r,(function(){!function(t,e,r){var n=t.data()[0][0];if(r._main&&n&&!n.trace.showlegend)return void t.remove();var a=t.select("g[class*=math-group]"),i=a.node();r||(r=e._fullLayout.legend);var o,s,l=r.borderwidth,u=(n?r:r.title).font.size*g;if(i){var f=c.bBox(i);o=f.height,s=f.width,n?c.setTranslate(a,0,.25*o):c.setTranslate(a,l,.75*o+l)}else{var d=t.select(n?".legendtext":".legendtitletext"),m=h.lineCount(d),v=d.node();o=u*m,s=v?c.bBox(v).width:0;var y=u*((m-1)/2-.3);n?h.positionText(d,p.textGap,-y):h.positionText(d,p.titlePad+l,u+l)}n?(n.lineHeight=u,n.height=Math.max(o,16)+3,n.width=s):(r._titleWidth=s,r._titleHeight=o)}(e,r,n)}))}function M(t){return a.isRightAnchor(t)?"right":a.isCenterAnchor(t)?"center":"left"}function S(t){return a.isBottomAnchor(t)?"bottom":a.isMiddleAnchor(t)?"middle":"top"}e.exports=function(t,e){var r,s=t._fullLayout,h="legend"+s._uid;if(e?(r=e.layer,h+="-hover"):((e=s.legend||{})._main=!0,r=s._infolayer),r){var f;if(t._legendMouseDownTime||(t._legendMouseDownTime=0),e._main){if(!t.calcdata)return;f=s.showlegend&&y(t.calcdata,e)}else{if(!e.entries)return;f=y(e.entries,e)}var d=s.hiddenlabels||[];if(e._main&&(!s.showlegend||!f.length))return r.selectAll(".legend").remove(),s._topdefs.select("#"+h).remove(),i.autoMargin(t,"legend");var g=a.ensureSingle(r,"g","legend",(function(t){e._main&&t.attr("pointer-events","all")})),T=a.ensureSingleById(s._topdefs,"clipPath",h,(function(t){t.append("rect")})),E=a.ensureSingle(g,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));E.call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px");var C=a.ensureSingle(g,"g","scrollbox"),L=e.title;if(e._titleWidth=0,e._titleHeight=0,L.text){var P=a.ensureSingle(C,"text","legendtitletext");P.attr("text-anchor","start").classed("user-select-none",!0).call(c.font,L.font).text(L.text),A(P,C,t,e)}else C.selectAll(".legendtitletext").remove();var I=a.ensureSingle(g,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)})),z=C.selectAll("g.groups").data(f);z.enter().append("g").attr("class","groups"),z.exit().remove();var O=z.selectAll("g.traces").data(a.identity);O.enter().append("g").attr("class","traces"),O.exit().remove(),O.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==d.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(w,t,e)})).call(x,t,e).each((function(){e._main&&n.select(this).call(k,t)})),a.syncOrAsync([i.previousPromises,function(){return function(t,e,r,a){var i=t._fullLayout;a||(a=i.legend);var o=i._size,s=b.isVertical(a),l=b.isGrouped(a),u=a.borderwidth,h=2*u,f=p.textGap,d=p.itemGap,g=2*(u+d),m=S(a),v=a.y<0||0===a.y&&"top"===m,y=a.y>1||1===a.y&&"bottom"===m;a._maxHeight=Math.max(v||y?i.height/2:o.h,30);var x=0;a._width=0,a._height=0;var _=function(t){var e=0,r=0,n=t.title.side;n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight));return[e,r]}(a);if(s)r.each((function(t){var e=t[0].height;c.setTranslate(this,u+_[0],u+_[1]+a._height+e/2+d),a._height+=e,a._width=Math.max(a._width,t[0].width)})),x=f+a._width,a._width+=d+f+h,a._height+=g,l&&(e.each((function(t,e){c.setTranslate(this,0,e*a.tracegroupgap)})),a._height+=(a._lgroupsLength-1)*a.tracegroupgap);else{var w=M(a),T=a.x<0||0===a.x&&"right"===w,k=a.x>1||1===a.x&&"left"===w,A=y||v,E=i.width/2;a._maxWidth=Math.max(T?A&&"left"===w?o.l+o.w:E:k?A&&"right"===w?o.r+o.w:E:o.w,2*f);var C=0,L=0;r.each((function(t){var e=t[0].width+f;C=Math.max(C,e),L+=e})),x=null;var P=0;if(l){var I=0,z=0,O=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=r[0].height;c.setTranslate(this,_[0],_[1]+u+d+n/2+e),e+=n,t=Math.max(t,f+r[0].width)})),I=Math.max(I,e);var r=t+d;r+u+z>a._maxWidth&&(P=Math.max(P,z),z=0,O+=I+a.tracegroupgap,I=e),c.setTranslate(this,z,O),z+=r})),a._width=Math.max(P,z)+u,a._height=O+I+g}else{var D=r.size(),R=L+h+(D-1)*da._maxWidth&&(P=Math.max(P,j),B=0,N+=F,a._height+=F,F=0),c.setTranslate(this,_[0]+u+B,_[1]+u+N+e/2+d),j=B+r+d,B+=n,F=Math.max(F,e)})),R?(a._width=B+h,a._height=F+g):(a._width=Math.max(P,j)+h,a._height+=F+g)}}a._width=Math.ceil(Math.max(a._width+_[0],a._titleWidth+2*(u+p.titlePad))),a._height=Math.ceil(Math.max(a._height+_[1],a._titleHeight+2*(u+p.itemGap))),a._effHeight=Math.min(a._height,a._maxHeight);var V=t._context.edits,U=V.legendText||V.legendPosition;r.each((function(t){var e=n.select(this).select(".legendtoggle"),r=t[0].height,a=U?f:x||f+t[0].width;s||(a+=d/2),c.setRect(e,0,-r/2,a,r)}))}(t,z,O,e)},function(){if(!e._main||!function(t){var e=t._fullLayout.legend,r=M(e),n=S(e);return i.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*m[r],r:e._width*v[r],b:e._effHeight*v[n],t:e._effHeight*m[n]})}(t)){var u,f,d,y,x=s._size,b=e.borderwidth,w=x.l+x.w*e.x-m[M(e)]*e._width,k=x.t+x.h*(1-e.y)-m[S(e)]*e._effHeight;if(e._main&&s.margin.autoexpand){var A=w,L=k;w=a.constrain(w,0,s.width-e._width),k=a.constrain(k,0,s.height-e._effHeight),w!==A&&a.log("Constrain legend.x to make legend fit inside graph"),k!==L&&a.log("Constrain legend.y to make legend fit inside graph")}if(e._main&&c.setTranslate(g,w,k),I.on(".drag",null),g.on("wheel",null),!e._main||e._height<=e._maxHeight||t._context.staticPlot){var P=e._effHeight;e._main||(P=e._height),E.attr({width:e._width-b,height:P-b,x:b/2,y:b/2}),c.setTranslate(C,0,0),T.select("rect").attr({width:e._width-2*b,height:P-2*b,x:b,y:b}),c.setClipUrl(C,h,t),c.setRect(I,0,0,0,0),delete e._scrollY}else{var z,O,D,R=Math.max(p.scrollBarMinHeight,e._effHeight*e._effHeight/e._height),F=e._effHeight-R-2*p.scrollBarMargin,B=e._height-e._effHeight,N=F/B,j=Math.min(e._scrollY||0,B);E.attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-b,x:b/2,y:b/2}),T.select("rect").attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-2*b,x:b,y:b+j}),c.setClipUrl(C,h,t),q(j,R,N),g.on("wheel",(function(){q(j=a.constrain(e._scrollY+n.event.deltaY/F*B,0,B),R,N),0!==j&&j!==B&&n.event.preventDefault()}));var V=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;z="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,D=j})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(O="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,q(j=function(t,e,r){var n=(r-e)/N+t;return a.constrain(n,0,B)}(D,z,O),R,N))}));I.call(V);var U=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(z=t.changedTouches[0].clientY,D=j)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(O=t.changedTouches[0].clientY,q(j=function(t,e,r){var n=(e-r)/N+t;return a.constrain(n,0,B)}(D,z,O),R,N))}));C.call(U)}if(t._context.edits.legendPosition)g.classed("cursor-move",!0),l.init({element:g.node(),gd:t,prepFn:function(){var t=c.getTranslate(g);d=t.x,y=t.y},moveFn:function(t,r){var n=d+t,a=y+r;c.setTranslate(g,n,a),u=l.align(n,0,x.l,x.l+x.w,e.xanchor),f=l.align(a,0,x.t+x.h,x.t,e.yanchor)},doneFn:function(){void 0!==u&&void 0!==f&&o.call("_guiRelayout",t,{"legend.x":u,"legend.y":f})},clickFn:function(e,n){var a=r.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom}));a.size()>0&&_(t,g,a,e,n)}})}function q(r,n,a){e._scrollY=t._fullLayout.legend._scrollY=r,c.setTranslate(C,0,-r),c.setRect(I,e._width,p.scrollBarMargin+r*a,p.scrollBarWidth,n),T.select("rect").attr("y",b+r)}}],t)}}},{"../../constants/alignment":704,"../../lib":735,"../../lib/events":725,"../../lib/svg_text_utils":759,"../../plots/plots":846,"../../registry":866,"../color":602,"../dragelement":621,"../drawing":624,"./constants":653,"./get_legend_data":656,"./handle_click":657,"./helpers":658,"./style":660,d3:165}],656:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./helpers");e.exports=function(t,e){var r,i,o={},s=[],l=!1,c={},u=0,h=0,f=e._main;function p(t,r){if(""!==t&&a.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;r0))return 0;a=e.width}return d?n:Math.min(a,r)};function m(t,e,r){var i=t[0].trace,o=i.marker||{},l=o.line||{},c=r?i.visible&&i.type===r:a.traceIs(i,"bar"),u=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(c?[t]:[]);u.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),u.exit().remove(),u.each((function(t){var e=n.select(this),r=t[0],a=g(r.mlw,o.line,5,2);e.style("stroke-width",a+"px").call(s.fill,r.mc||o.color),a&&s.stroke(e,r.mlc||l.color)}))}function v(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:a.traceIs(s,r),c=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(l?[t]:[]);if(c.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),c.exit().remove(),c.size()){var f=(s.marker||{}).line,p=g(h(f.width,o.pts),f,5,2),d=i.minExtend(s,{marker:{line:{width:p}}});d.marker.line.color=f.color;var m=i.minExtend(o,{trace:d});u(c,m,d)}}t.each((function(t){var e=n.select(this),a=i.ensureSingle(e,"g","layers");a.style("opacity",t[0].trace.opacity);var o=r.valign,s=t[0].lineHeight,l=t[0].height;if("middle"!==o&&s&&l){var c={top:1,bottom:-1}[o]*(.5*(s-l+3));a.attr("transform","translate(0,"+c+")")}else a.attr("transform",null);a.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),a.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var u=a.selectAll("g.legendsymbols").data([t]);u.enter().append("g").classed("legendsymbols",!0),u.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,a=t[0].trace,c=[];if(a.visible)switch(a.type){case"histogram2d":case"heatmap":c=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":c=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":c=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":c=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":c=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":c=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var u=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(c);u.enter().append("path").classed("legend3dandfriends",!0).attr("transform","translate(20,0)").style("stroke-miterlimit",1),u.exit().remove(),u.each((function(t,c){var u,h=n.select(this),p=l(a),d=p.colorscale,g=p.reversescale;if(d){if(!r){var m=d.length;u=0===c?d[g?m-1:0][1]:1===c?d[g?0:m-1][1]:d[Math.floor((m-1)/2)][1]}}else{var v=a.vertexcolor||a.facecolor||a.color;u=i.isArrayOrTypedArray(v)?v[c]||v[0]:v}h.attr("d",t[0]),u?h.call(s.fill,u):h.call((function(t){if(t.size()){var n="legendfill-"+a.uid;o.gradient(t,e,n,f(g,"radial"===r),d,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var a=t[0].trace[t[0].dir].marker;return t[0].mc=a.color,t[0].mlw=a.line.width,t[0].mlc=a.line.color,m(t,this,"waterfall")}var i=[];e.visible&&r&&(i=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(i);o.enter().append("path").classed("legendwaterfall",!0).attr("transform","translate(20,0)").style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),a=e[t[0]].marker,i=g(void 0,a.line,5,2);r.attr("d",t[1]).style("stroke-width",i+"px").call(s.fill,a.color),i&&r.call(s.stroke,a.line.color)}))})).each((function(t){m(t,this,"funnel")})).each((function(t){m(t,this)})).each((function(t){var r=t[0].trace,l=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&a.traceIs(r,"box-violin")?[t]:[]);l.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),l.exit().remove(),l.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==s.opacity(r.fillcolor)||0!==s.opacity((r.line||{}).color)){var a=g(void 0,r.line,5,2);t.style("stroke-width",a+"px").call(s.fill,r.fillcolor),a&&s.stroke(t,r.line.color)}else{var c=i.minExtend(r,{marker:{size:d?12:i.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});l.call(o.pointStyle,c,e)}}))})).each((function(t){v(t,this,"funnelarea")})).each((function(t){v(t,this,"pie")})).each((function(t){var r,a,s=t[0],u=s.trace,h=u.visible&&u.fill&&"none"!==u.fill,p=c.hasLines(u),d=u.contours,m=!1,v=!1,y=l(u),x=y.colorscale,b=y.reversescale;if(d){var _=d.coloring;"lines"===_?m=!0:p="none"===_||"heatmap"===_||d.showlines,"constraint"===d.type?h="="!==d._operation:"fill"!==_&&"heatmap"!==_||(v=!0)}var w=c.hasMarkers(u)||c.hasText(u),T=h||v,k=p||m,A=w||!T?"M5,0":k?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(h||v?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h30v6h-30z").call(h?o.fillGroupStyle:function(t){if(t.size()){var r="legendfill-"+u.uid;o.gradient(t,e,r,f(b),x,"fill")}}),p||m){var E=g(void 0,u.line,10,5);a=i.minExtend(u,{line:{width:E}}),r=[i.minExtend(s,{trace:a})]}var C=M.select(".legendlines").selectAll("path").data(p||m?[r]:[]);C.enter().append("path").classed("js-line",!0),C.exit().remove(),C.attr("d",A+(m?"l30,0.0001":"h30")).call(p?o.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+u.uid;o.lineGroupStyle(t),o.gradient(t,e,r,f(b),x,"stroke")}})})).each((function(t){var r,a,s=t[0],l=s.trace,u=c.hasMarkers(l),h=c.hasText(l),f=c.hasLines(l);function p(t,e,r,n){var a=i.nestedProperty(l,t).get(),o=i.isArrayOrTypedArray(a)&&e?e(a):a;if(d&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function g(t){return s._distinct&&s.index&&t[s.index]?t[s.index]:t[0]}if(u||h||f){var m={},v={};if(u){m.mc=p("marker.color",g),m.mx=p("marker.symbol",g),m.mo=p("marker.opacity",i.mean,[.2,1]),m.mlc=p("marker.line.color",g),m.mlw=p("marker.line.width",i.mean,[0,5],2),v.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var y=p("marker.size",i.mean,[2,16],12);m.ms=y,v.marker.size=y}f&&(v.line={width:p("line.width",g,[0,10],5)}),h&&(m.tx="Aa",m.tp=p("textposition",g),m.ts=10,m.tc=p("textfont.color",g),m.tf=p("textfont.family",g)),r=[i.minExtend(s,m)],(a=i.minExtend(l,v)).selectedpoints=null,a.texttemplate=null}var x=n.select(this).select("g.legendpoints"),b=x.selectAll("path.scatterpts").data(u?r:[]);b.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform","translate(20,0)"),b.exit().remove(),b.call(o.pointStyle,a,e),u&&(r[0].mrc=3);var _=x.selectAll("g.pointtext").data(h?r:[]);_.enter().append("g").classed("pointtext",!0).append("text").attr("transform","translate(20,0)"),_.exit().remove(),_.selectAll("text").call(o.textPointStyle,a,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],o=g(void 0,i.line,5,2);a.style("stroke-width",o+"px").call(s.fill,i.fillcolor),o&&s.stroke(a,i.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],l=g(void 0,i.line,5,2);a.style("fill","none").call(o.dashLine,i.line.dash,l),l&&s.stroke(a,i.line.color)}))}))}},{"../../lib":735,"../../registry":866,"../../traces/pie/helpers":1119,"../../traces/pie/style_one":1125,"../../traces/scatter/subtypes":1164,"../color":602,"../colorscale/helpers":613,"../drawing":624,d3:165}],661:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../plots/plots"),i=t("../../plots/cartesian/axis_ids"),o=t("../../fonts/ploticon"),s=t("../shapes/draw").eraseActiveShape,l=t("../../lib"),c=l._,u=e.exports={};function h(t,e){var r,a,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},h=i.list(t,null,!0),f=c._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,g=(1+d)/2,m=(1-d)/2;for(a=0;a1?(E=["toggleHover"],C=["resetViews"]):d?(S=["zoomInGeo","zoomOutGeo"],E=["hoverClosestGeo"],C=["resetGeo"]):p?(E=["hoverClosest3d"],C=["resetCameraDefault3d","resetCameraLastSave3d"]):x?(S=["zoomInMapbox","zoomOutMapbox"],E=["toggleHover"],C=["resetViewMapbox"]):v?E=["hoverClosestGl2d"]:g?E=["hoverClosestPie"]:_?(E=["hoverClosestCartesian","hoverCompareCartesian"],C=["resetViewSankey"]):E=["toggleHover"];f&&(E=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);(function(t){for(var e=0;e0)){var g=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),a=0,i=0;i=n.max)e=R[r+1];else if(t=n.pmax)e=R[r+1];else if(t0?f+c:c;return{ppad:c,ppadplus:u?d:g,ppadminus:u?g:d}}return{ppad:c}}function u(t,e,r,n,a){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,h,f=1/0,p=-1/0,d=n.match(i.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=h)));return p>=f?[f,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;oy?(k=h,E="y0",A=y,C="y1"):(k=y,E="y1",A=h,C="y0");W(n),J(s,r),function(t,e,r){var n=e.xref,a=e.yref,o=i.getFromId(r,n),s=i.getFromId(r,a),l="";"paper"===n||o.autorange||(l+=n);"paper"===a||s.autorange||(l+=a);u.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),Y.moveFn="move"===z?Z:X,Y.altKey=n.altKey},doneFn:function(){if(v(t))return;p(e),K(s),b(e,t,r),n.call("_guiRelayout",t,l.getUpdateObj())},clickFn:function(){if(v(t))return;K(s)}};function W(r){if(v(t))z=null;else if(R)z="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=Y.element.getBoundingClientRect(),a=n.right-n.left,i=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!F&&a>10&&i>10&&!r.shiftKey?f.getCursor(o/a,1-s/i):"move";p(e,l),z=l.split("-")[0]}}function Z(n,a){if("path"===r.type){var i=function(t){return t},o=i,l=i;O?B("xanchor",r.xanchor=q(x+n)):(o=function(t){return q(V(t)+n)},N&&"date"===N.type&&(o=g.encodeDate(o))),D?B("yanchor",r.yanchor=H(T+a)):(l=function(t){return H(U(t)+a)},j&&"date"===j.type&&(l=g.encodeDate(l))),B("path",r.path=w(I,o,l))}else O?B("xanchor",r.xanchor=q(x+n)):(B("x0",r.x0=q(c+n)),B("x1",r.x1=q(m+n))),D?B("yanchor",r.yanchor=H(T+a)):(B("y0",r.y0=H(h+a)),B("y1",r.y1=H(y+a)));e.attr("d",_(t,r)),J(s,r)}function X(n,a){if(F){var i=function(t){return t},o=i,l=i;O?B("xanchor",r.xanchor=q(x+n)):(o=function(t){return q(V(t)+n)},N&&"date"===N.type&&(o=g.encodeDate(o))),D?B("yanchor",r.yanchor=H(T+a)):(l=function(t){return H(U(t)+a)},j&&"date"===j.type&&(l=g.encodeDate(l))),B("path",r.path=w(I,o,l))}else if(R){if("resize-over-start-point"===z){var u=c+n,f=D?h-a:h+a;B("x0",r.x0=O?u:q(u)),B("y0",r.y0=D?f:H(f))}else if("resize-over-end-point"===z){var p=m+n,d=D?y-a:y+a;B("x1",r.x1=O?p:q(p)),B("y1",r.y1=D?d:H(d))}}else{var v=function(t){return-1!==z.indexOf(t)},b=v("n"),G=v("s"),Y=v("w"),W=v("e"),Z=b?k+a:k,X=G?A+a:A,K=Y?M+n:M,Q=W?S+n:S;D&&(b&&(Z=k-a),G&&(X=A-a)),(!D&&X-Z>10||D&&Z-X>10)&&(B(E,r[E]=D?Z:H(Z)),B(C,r[C]=D?X:H(X))),Q-K>10&&(B(L,r[L]=O?K:q(K)),B(P,r[P]=O?Q:q(Q)))}e.attr("d",_(t,r)),J(s,r)}function J(t,e){(O||D)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=V(O?e.xanchor:a.midRange(r?[e.x0,e.x1]:g.extractPathCoords(e.path,d.paramIsX))),o=U(D?e.yanchor:a.midRange(r?[e.y0,e.y1]:g.extractPathCoords(e.path,d.paramIsY)));if(i=g.roundPositionForSharpStrokeRendering(i,1),o=g.roundPositionForSharpStrokeRendering(o,1),O&&D){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(O){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function K(t){t.selectAll(".visual-cue").remove()}f.init(Y),G.node().onmousemove=W}(t,O,l,e,r,z):!0===l.editable&&O.style("pointer-events",P||c.opacity(S)*M<=.5?"stroke":"all");O.node().addEventListener("click",(function(){return function(t,e){if(!y(t))return;var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void T(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=T,m(t)}}(t,O)}))}}function b(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"");u.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function _(t,e){var r,n,o,s,l,c,u,h,f=e.type,p=i.getFromId(t,e.xref),m=i.getFromId(t,e.yref),v=t._fullLayout._size;if(p?(r=g.shapePositionToRange(p),n=function(t){return p._offset+p.r2p(r(t,!0))}):n=function(t){return v.l+v.w*t},m?(o=g.shapePositionToRange(m),s=function(t){return m._offset+m.r2p(o(t,!0))}):s=function(t){return v.t+v.h*(1-t)},"path"===f)return p&&"date"===p.type&&(n=g.decodeDate(n)),m&&"date"===m.type&&(s=g.decodeDate(s)),function(t,e,r){var n=t.path,i=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(d.segmentRE,(function(t){var n=0,c=t.charAt(0),u=d.paramIsX[c],h=d.paramIsY[c],f=d.numParams[c],p=t.substr(1).replace(d.paramRE,(function(t){return u[n]?t="pixel"===i?e(s)+Number(t):e(t):h[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>f&&(t="X"),t}));return n>f&&(p=p.replace(/[\s,]*X.*/,""),a.log("Ignoring extra params in segment "+t)),c+p}))}(e,n,s);if("pixel"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var x=s(e.yanchor);u=x-e.y0,h=x-e.y1}else u=s(e.y0),h=s(e.y1);if("line"===f)return"M"+l+","+u+"L"+c+","+h;if("rect"===f)return"M"+l+","+u+"H"+c+"V"+h+"H"+l+"Z";var b=(l+c)/2,_=(u+h)/2,w=Math.abs(b-l),T=Math.abs(_-u),k="A"+w+","+T,A=b+w+","+_;return"M"+A+k+" 0 1,1 "+(b+","+(_-T))+k+" 0 0,1 "+A+"Z"}function w(t,e,r){return t.replace(d.segmentRE,(function(t){var n=0,a=t.charAt(0),i=d.paramIsX[a],o=d.paramIsY[a],s=d.numParams[a];return a+t.substr(1).replace(d.paramRE,(function(t){return n>=s||(i[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function T(t){y(t)&&(t._fullLayout._activeShapeIndex>=0&&(l(t),delete t._fullLayout._activeShapeIndex,m(t)))}e.exports={draw:m,drawOne:x,eraseActiveShape:function(t){if(!y(t))return;l(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e=0&&h(v),r.attr("d",g(e)),A&&!f)&&(k=function(t,e){for(var r=0;r1&&(2!==t.length||"Z"!==t[1][0])&&(0===T&&(t[0][0]="M"),e[w]=t,y(),x())}}()}}function I(t,r){!function(t,r){if(e.length)for(var n=0;n0&&l0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform","translate("+(o-.5*u.gripWidth)+","+e._dims.currentValueTotalHeight+")")}}function S(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function E(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,a=s.ensureSingle(t,"rect",u.railTouchRectClass,(function(n){n.call(k,e,t,r).style("pointer-events","all")}));a.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr("opacity",0),o.setTranslate(a,0,n.currentValueTotalHeight)}function L(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,a=s.ensureSingle(t,"rect",u.railRectClass);a.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(a,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[u.name],n=[],a=0;a0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),a.autoMargin(t,g(e))}if(i.enter().append("g").classed(u.containerClassName,!0).style("cursor","ew-resize"),i.exit().each((function(){n.select(this).selectAll("g."+u.groupClassName).each(s)})).remove(),0!==r.length){var l=i.selectAll("g."+u.groupClassName).data(r,m);l.enter().append("g").classed(u.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c0||h<0){var m={left:[-p,0],right:[p,0],top:[0,-p],bottom:[0,p]}[x.side];e.attr("transform","translate("+m+")")}}}return O.call(D),I&&(S?O.on(".opacity",null):(k=0,A=!0,O.text(v).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),O.call(u.makeEditable,{gd:t}).on("edit",(function(e){void 0!==y?o.call("_guiRestyle",t,m,e,y):o.call("_guiRelayout",t,m,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(D)})).on("input",(function(t){this.text(t||" ").call(u.positionText,b.x,b.y)}))),O.classed("js-placeholder",A),w}}},{"../../constants/alignment":704,"../../constants/interactions":710,"../../lib":735,"../../lib/svg_text_utils":759,"../../plots/plots":846,"../../registry":866,"../color":602,"../drawing":624,d3:165,"fast-isnumeric":237}],698:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:c,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:i(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:a.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":726,"../../plot_api/edit_types":766,"../../plot_api/plot_template":773,"../../plots/font_attributes":811,"../../plots/pad_attributes":845,"../color/attributes":601}],699:[function(t,e,r){"use strict";e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],700:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("./constants").name,s=i.buttons;function l(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}o("visible",a(t,e,{name:"buttons",handleItemDefaults:c}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function c(t,e){function r(r,a){return n.coerce(t,e,s,r,a)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":735,"../../plots/array_container_defaults":779,"./attributes":698,"./constants":699}],701:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../plot_api/plot_template").arrayEditor,u=t("../../constants/alignment").LINE_SPACING,h=t("./constants"),f=t("./scrollbox");function p(t){return t._index}function d(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function g(t,e,r,n,a,i,o,s){e.active=o,c(t.layout,h.name,e).applyUpdate("active",o),"buttons"===e.type?v(t,n,null,null,e):"dropdown"===e.type&&(a.attr(h.menuIndexAttrName,"-1"),m(t,n,a,i,e),s||v(t,n,a,i,e))}function m(t,e,r,n,a){var i=s.ensureSingle(e,"g",h.headerClassName,(function(t){t.style("pointer-events","all")})),l=a._dims,c=a.active,u=a.buttons[c]||h.blankHeaderOpts,f={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};i.call(y,a,u,t).call(M,a,f,p),s.ensureSingle(e,"text",h.headerArrowClassName,(function(t){t.classed("user-select-none",!0).attr("text-anchor","end").call(o.font,a.font).text(h.arrowSymbol[a.direction])})).attr({x:l.headerWidth-h.arrowOffsetX+a.pad.l,y:l.headerHeight/2+h.textOffsetY+a.pad.t}),i.on("click",(function(){r.call(S,String(d(r,a)?-1:a._index)),v(t,e,r,n,a)})),i.on("mouseover",(function(){i.call(w)})),i.on("mouseout",(function(){i.call(T,a)})),o.setTranslate(e,l.lx,l.ly)}function v(t,e,r,i,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,c="dropdown"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll("g."+c).data(s.filterVisible(l)),f=u.enter().append("g").classed(c,!0),p=u.exit();"dropdown"===o.type?(f.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,m=0,v=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?m=v.headerHeight+h.gapButtonHeader:d=v.headerWidth+h.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(m=-h.gapButtonHeader+h.gapButton-v.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-v.openWidth);var b={x:v.lx+d+o.pad.l,y:v.ly+m+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each((function(s,l){var c=n.select(this);c.call(y,o,s,t).call(M,o,b),c.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(g(t,o,0,e,r,i,-1),a.executeAPICommand(t,s.method,s.args2)):(g(t,o,0,e,r,i,l),a.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),c.on("mouseover",(function(){c.call(w)})),c.on("mouseout",(function(){c.call(T,o),u.call(_,o)}))})),u.call(_,o),x?(k.w=Math.max(v.openWidth,v.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(v.openHeight,v.headerHeight)),k.direction=o.direction,i&&(u.size()?function(t,e,r,n,a,i){var o,s,l,c=a.direction,u="up"===c||"down"===c,f=a._dims,p=a.active;if(u)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(h.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+h.headerGroupClassName).each(i)})).remove(),0!==r.length){var l=o.selectAll("g."+h.headerGroupClassName).data(r,p);l.enter().append("g").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,"g",h.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),u=0;uw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=m+v;E+M>c&&(E=c-M);var C=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);C.exit().on(".drag",null).remove(),C.enter().append("rect").classed("scrollbar-horizontal",!0).call(a.fill,s.barColor),k?(this.hbar=C.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=v>T,P=s.barWidth+2*s.barPad,I=s.barLength+2*s.barPad,z=d+g,O=m;z+P>l&&(z=l-P);var D=this.container.selectAll("rect.scrollbar-vertical").data(L?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(a.fill,s.barColor),L?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:z,y:O,width:P,height:I}),this._vbarYMin=O+I/2,this._vbarTranslateMax=T-I):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=L?h+P+.5:h+.5,N=f-.5,j=k?p+M+.5:p+.5,V=o._topdefs.selectAll("#"+R).data(k||L?[0]:[]);if(V.exit().remove(),V.enter().append("clipPath").attr("id",R).append("rect"),k||L?(this._clipRect=V.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(i.setClipUrl,R,this.gd),this.bg.attr({x:d,y:m,width:g,height:v})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),k||L){var U=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(U);var q=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),L&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,a=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,a)-r)/(a-r)*(this.position.w-this._box.w)}if(this.vbar){var i=e+this._vbarYMin,s=i+this._vbarTranslateMax;e=(o.constrain(n.event.y,i,s)-i)/(s-i)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(i.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var a=t/r;this.hbar.call(i.setTranslate,t+a*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(i.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":735,"../color":602,"../drawing":624,d3:165}],704:[function(t,e,r){"use strict";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],705:[function(t,e,r){"use strict";e.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25b2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25bc"}}},{}],706:[function(t,e,r){"use strict";e.exports={FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format",DATE_FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md#format"}},{}],707:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],708:[function(t,e,r){"use strict";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],709:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],710:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],711:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],712:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],713:[function(t,e,r){"use strict";r.version=t("./version").version,t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config")();for(var n=t("./registry"),a=r.register=n.register,i=t("./plot_api"),o=Object.keys(i),s=0;splotly-logomark"}}},{}],716:[function(t,e,r){"use strict";r.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},{}],717:[function(t,e,r){"use strict";var n=t("./mod"),a=n.mod,i=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return i(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0](n=a(n,s))&&(n+=s);var i=a(t,s),o=i+s;return i>=r&&i<=n||o>=r&&o<=n}function h(t,e,r,n,a,i,c){a=a||0,i=i||0;var u,h,f,p,d,g=l([r,n]);function m(t,e){return[t*Math.cos(e)+a,i-t*Math.sin(e)]}g?(u=0,h=o,f=s):r=a&&t<=i);var a,i},pathArc:function(t,e,r,n,a){return h(null,t,e,r,n,a,0)},pathSector:function(t,e,r,n,a){return h(null,t,e,r,n,a,1)},pathAnnulus:function(t,e,r,n,a,i){return h(t,e,r,n,a,i,1)}}},{"./mod":742}],718:[function(t,e,r){"use strict";var n=Array.isArray,a="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i="undefined"==typeof DataView?function(){}:DataView;function o(t){return a.isView(t)&&!(t instanceof i)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,a=0;aa.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,a){t%1||!n(t)||void 0!==a.min&&ta.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var a="number"==typeof t;!0!==n.strict&&a?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){a(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return a(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(u(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var a=n.regex||c(r);"string"==typeof t&&a.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var a=t.split("+"),i=0;i=n&&t<=a?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=_(e),v=t.charAt(0);!c||"G"!==v&&"g"!==v||(t=t.substr(1),e="");var w=c&&"chinese"===e.substr(0,7),T=t.match(w?x:y);if(!T)return u;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),C=Number(T[11]||0);if(c){if(2===k.length)return u;var L;k=Number(k);try{var P=m.getComponentMethod("calendars","getCal")(e);if(w){var I="i"===A.charAt(A.length-1);A=parseInt(A,10),L=P.newDate(k,P.toMonthIndex(k,A,I),M)}else L=P.newDate(k,Number(A),M)}catch(t){return u}return L?(L.toJD()-g)*h+S*f+E*p+C*d:u}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(k),z.getUTCMonth()!==A||z.getUTCDate()!==M?u:z.getTime()+C*d},n=r.MIN_MS=r.dateTime2ms("-9999"),a=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var T=90*h,k=3*f,A=5*p;function M(t,e,r,n,a){if((e||r||n||a)&&(t+=" "+w(e,2)+":"+w(r,2),(n||a)&&(t+=":"+w(n,2),a))){for(var i=4;a%10==0;)i-=1,a/=10;t+="."+w(a,i)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=a))return u;e||(e=0);var i,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/h)+g,E=Math.floor(l(t,h));try{i=m.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){i=v("G%Y-%m-%d")(new Date(w))}if("-"===i.charAt(0))for(;i.length<11;)i="-0"+i.substr(1);else for(;i.length<10;)i="0"+i;o=e=n+h&&t<=a-h))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(i.time.format("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===u)return e;if(r.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var S=/%\d?f/g;function E(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var a=new Date(Math.floor(e+.05));if(_(n))try{t=m.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(a)}var C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,a,i){if(a=_(a)&&a,!e)if("y"===r)e=i.year;else if("m"===r)e=i.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,h),n=w(Math.floor(r/f),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var a=(100+Math.min(l(t/d,60),C[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}(t,r)+"\n"+E(i.dayMonthYear,t,n,a);e=i.dayMonth+"\n"+i.year}return E(e,t,n,a)};var L=3*h;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,h);if(t=Math.round(t-n),r)try{var a=Math.round(t/h)+g,i=m.getComponentMethod("calendars","getCal")(r),o=i.fromJD(a);return e%12?i.add(o,e,"m"):i.add(o,e/12,"y"),(o.toJD()-g)*h+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+L);return c.setUTCMonth(c.getUTCMonth()+e)+n-L},r.findExactDates=function(t,e){for(var r,n,a=0,i=0,s=0,l=0,c=_(e)&&m.getComponentMethod("calendars","getCal")(e),u=0;u0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===c(t))e=t;else for(e=new Array(t.length),a=0;ae?r[n++]=[t[a][0]+360,t[a][1]]:a===e?(r[n++]=t[a],r[n++]=[t[a][0],-90]):r[n++]=t[a];var i=f.tester(r);i.pts.pop(),l.push(i)}:function(t){l.push(f.tester(t))},i.type){case"MultiPolygon":for(r=0;ra&&(a=c,e=l)}else e=r;return o.default(e).geometry.coordinates}(u),n.fIn=t,n.fOut=u,s.push(u)}else c.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete a[r]}switch(r.type){case"FeatureCollection":var f=r.features;for(n=0;n100?(clearInterval(i),n("Unexpected error while fetching from "+t)):void a++}),50)}))}for(var o=0;o0&&(r.push(a),a=[])}return a.length>0&&r.push(a),r},r.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||g<0||g>1?null:{x:t+l*g,y:e+h*g}}function l(t,e,r,n,a){var i=n*t+a*e;if(i<0)return n*n+a*a;if(i>r){var o=n-t,s=a-e;return o*o+s*s}var l=n*e-a*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,a,i,o,c){if(s(t,e,r,n,a,i,o,c))return 0;var u=r-t,h=n-e,f=o-a,p=c-i,d=u*u+h*h,g=f*f+p*p,m=Math.min(l(u,h,d,a-t,i-e),l(u,h,d,o-t,c-e),l(f,p,g,t-a,e-i),l(f,p,g,r-a,n-i));return Math.sqrt(m)},r.getTextLocation=function(t,e,r,s){if(t===a&&s===i||(n={},a=t,i=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=t.getPointAtLength(o(r,e)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return n[r]=f,f},r.clearLocationCache=function(){a=null},r.getVisibleSegment=function(t,e,r){var n,a,i=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),h=u;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(a=r);var c=r.xo?r.x-o:0,h=r.yl?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-a.x)<.1&&Math.abs(n.y-a.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var a,i,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h0?p=a:f=a,h++}return i}},{"./mod":742}],732:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("color-normalize"),o=t("../components/colorscale"),s=t("../components/color/attributes").defaultLine,l=t("./array").isArrayOrTypedArray,c=i(s);function u(t,e){var r=t;return r[3]*=e,r}function h(t){if(n(t))return c;var e=i(t);return e.length?e:c}function f(t){return n(t)?t:1}e.exports={formatColor:function(t,e,r){var n,a,s,p,d,g=t.color,m=l(g),v=l(e),y=o.extractOpts(t),x=[];if(n=void 0!==y.colorscale?o.makeColorScaleFuncFromTrace(t):h,a=m?function(t,e){return void 0===t[e]?c:i(n(t[e]))}:h,s=v?function(t,e){return void 0===t[e]?1:f(t[e])}:f,m||v)for(var b=0;bo?s:a(t)?Number(t):s:s},l.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(a(t)&&t>=0&&t%1==0)},l.noop=t("./noop"),l.identity=t("./identity"),l.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},l.simpleMap=function(t,e,r,n,a){for(var i=t.length,o=new Array(i),s=0;s=Math.pow(2,r)?a>10?(l.warn("randstr failed uniqueness"),c):t(e,r,n,(a||0)+1):c},l.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,a,i,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(a-=s*Math.floor(a/s)),a<0?a=-1-a:a>=o&&(a=s-1-a),i+=t[a]*c[n];u[r]=i}return u},l.syncOrAsync=function(t,e,r){var n;function a(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(a).then(void 0,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,a=!1,i=!0;for(n=0;n0?e:0}))},l.fillArray=function(t,e,r,n){if(n=n||l.identity,l.isArrayOrTypedArray(t))for(var a=0;a1?a+o[1]:"";if(i&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+i+"$2");return s+l},l.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var C=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(l.TEMPLATE_STRING_REGEX,(function(t,n){var a;return C.test(n)?a=e[n]:(r[n]=r[n]||l.nestedProperty(e,n).get,a=r[n]()),l.isValidTextValue(a)?a:""}))};var L={max:10,count:0,name:"hovertemplate"};l.hovertemplateString=function(){return z.apply(L,arguments)};var P={max:10,count:0,name:"texttemplate"};l.texttemplateString=function(){return z.apply(P,arguments)};var I=/^[:|\|]/;function z(t,e,r){var a=this,i=arguments;e||(e={});var o={};return t.replace(l.TEMPLATE_STRING_REGEX,(function(t,s,c){var u,h,f,p;for(f=3;f=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(a=10*a+s-48),!l||!c){if(n!==a)return n-a;if(o!==s)return o-s}}return a-n};var O=2e9;l.seedPseudoRandom=function(){O=2e9},l.pseudoRandom=function(){var t=O;return O=(69069*O+1)%4294967296,Math.abs(O-t)<429496729?l.pseudoRandom():O/4294967296},l.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},a=l.extractOption(t,e,"htx","hovertext");if(l.isValidTextValue(a))return n(a);var i=l.extractOption(t,e,"tx","text");return l.isValidTextValue(i)?n(i):void 0},l.isValidTextValue=function(t){return t||0===t},l.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(c=1):c=0,"translate("+(a-c*(r+o))+","+(i-c*(n+s))+")"+(c<1?"scale("+c+")":"")+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},l.ensureUniformFontSize=function(t,e){var r=l.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r}},{"../constants/numerical":711,"./anchor_utils":716,"./angles":717,"./array":718,"./clean_number":719,"./clear_responsive":721,"./coerce":722,"./dates":723,"./dom":724,"./extend":726,"./filter_unique":727,"./filter_visible":728,"./geometry2d":731,"./identity":734,"./is_plain_object":736,"./keyed_container":737,"./localize":738,"./loggers":739,"./make_trace_groups":740,"./matrix":741,"./mod":742,"./nested_property":743,"./noop":744,"./notifier":745,"./push_unique":749,"./regex":751,"./relative_attr":752,"./relink_private":753,"./search":754,"./stats":757,"./throttle":760,"./to_log_range":761,d3:165,"fast-isnumeric":237}],736:[function(t,e,r){"use strict";e.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],737:[function(t,e,r){"use strict";var n=t("./nested_property"),a=/^\w*$/;e.exports=function(t,e,r,i){var o,s,l;r=r||"name",i=i||"value";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var u={};if(s)for(o=0;o2)return c[e]=2|c[e],f.set(t,null);if(h){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},i.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},i.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},{"../plot_api/plot_config":771,"./notifier":745}],740:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e,r){var a=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));a.exit().remove(),a.enter().append("g").attr("class",r),a.order();var i=t.classed("rangeplot")?"nodeRangePlot3":"node3";return a.each((function(t){t[0][i]=n.select(this)})),a}},{d3:165}],741:[function(t,e,r){"use strict";r.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},{}],743:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./array").isArrayOrTypedArray;function i(t,e){return function(){var r,n,o,s,l,c=t;for(s=0;s/g),l=0;li||c===a||cs)&&(!e||!l(t))}:function(t,e){var l=t[0],c=t[1];if(l===a||li||c===a||cs)return!1;var u,h,f,p,d,g=r.length,m=r[0][0],v=r[0][1],y=0;for(u=1;uMath.max(h,m)||c>Math.max(f,v)))if(cu||Math.abs(n(o,f))>a)return!0;return!1},i.filter=function(t,e){var r=[t[0]],n=0,a=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(a+1);for(var c=l+1;c1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{"../constants/numerical":711,"./matrix":741}],748:[function(t,e,r){(function(r){"use strict";var n=t("./show_no_webgl_msg"),a=t("regl");e.exports=function(t,e){var i=t._fullLayout,o=!0;return i._glcanvas.each((function(n){if(!n.regl&&(!n.pick||i._has("parcoords"))){try{n.regl=a({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]})}catch(t){o=!1}n.regl||(o=!1),o&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),o||n({container:i._glcontainer.node()}),o}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./show_no_webgl_msg":756,regl:499}],749:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;na.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function u(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var i,o,h=0,f=e.length,p=0,d=f>1?(e[f-1]-e[0])/(f-1):1;for(o=d>=0?r?s:l:r?u:c,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);h90&&a.log("Long binary search..."),h-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e,n=t.slice();for(n.sort(r.sorterAsc),e=n.length-1;e>-1&&n[e]===o;e--);for(var a,i=n[e]-n[0]||1,s=i/(e||1)/1e4,l=[],c=0;c<=e;c++){var u=n[c],h=u-a;void 0===a?(l.push(u),a=u):h>s&&(i=Math.min(i,h),l.push(u),a=u)}return{vals:l,minDiff:i}},r.roundUp=function(t,e,r){for(var n,a=0,i=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;a0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||i;for(var r,n=1/0,a=0;ai.length)&&(o=i.length),n(e)||(e=!1),a(i[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./array":718,"fast-isnumeric":237}],758:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":122}],759:[function(t,e,r){"use strict";var n=t("d3"),a=t("../lib"),i=t("../constants/xmlns_namespaces"),o=t("../constants/alignment").LINE_SPACING;function s(t,e){return t.node().getBoundingClientRect()[e]}var l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,A){var M=t.text(),E=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&M.match(l),C=n.select(t.node().parentNode);if(!C.empty()){var L=t.attr("class")?t.attr("class").split(" ")[0]:"text";return L+="-math",C.selectAll("svg."+L).remove(),C.selectAll("g."+L+"-group").remove(),t.style("display",null).attr({"data-unformatted":M,"data-math":"N"}),E?(e&&e._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),i={fontSize:r};!function(t,e,r){var i,o,s,l;MathJax.Hub.Queue((function(){return o=a.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})}),(function(){if("SVG"!==(i=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),(function(){var r="math-output-"+a.randstr({},64);return l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text(t.replace(c,"\\lt ").replace(u,"\\gt ")),MathJax.Hub.Typeset(l.node())}),(function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(l.select(".MathJax_SVG").empty()||!l.select("svg").node())a.log("There was an error in the tex syntax.",t),r();else{var o=l.select("svg").node().getBoundingClientRect();r(l.select(".MathJax_SVG"),e,o)}if(l.remove(),"SVG"!==i)return MathJax.Hub.setRenderer(i)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)}))}(E[2],i,(function(n,a,i){C.selectAll("svg."+L).remove(),C.selectAll("g."+L+"-group").remove();var o=n&&n.select("svg");if(!o||!o.node())return P(),void e();var l=C.append("g").classed(L+"-group",!0).attr({"pointer-events":"none","data-unformatted":M,"data-math":"Y"});l.node().appendChild(o.node()),a&&a.node()&&o.node().insertBefore(a.node().cloneNode(!0),o.node().firstChild),o.attr({class:L,height:i.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var c=t.node().style.fill||"black",u=o.select("g");u.attr({fill:c,stroke:c});var h=s(u,"width"),f=s(u,"height"),p=+t.attr("x")-h*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],d=-(r||s(t,"height"))/4;"y"===L[0]?(l.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+") translate("+[-h/2,d-f/2]+")"}),o.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===L[0]?o.attr({x:t.attr("x"),y:d-f/2}):"a"===L[0]&&0!==L.indexOf("atitle")?o.attr({x:0,y:d}):o.attr({x:p,y:+t.attr("y")+d-f/2}),A&&A.call(t,l),e(l)}))}))):P(),t}function P(){C.empty()||(L=t.attr("class")+"-math",C.select("svg."+L).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(g," ");var r,s=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(i.svg,"tspan");n.select(e).attr({class:"line",dy:c*o+"em"}),t.appendChild(e),r=e;var a=l;if(l=[{node:e}],a.length>1)for(var s=1;s doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else a.log("Ignoring unexpected end tag .",e)}y.test(e)?u():(r=t,l=[{node:t}]);for(var C=e.split(m),L=0;L|>|>)/g;var h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},f={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},d=["http:","https:","mailto:","",void 0,":"],g=r.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,v=/<(\/?)([^ >]*)(\s+(.*))?>/i,y=//i;r.BR_TAG_ALL=//gi;var x=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,b=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,_=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,w=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function T(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&S(n)}var k=/(^|;)\s*color:/;r.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],a="...".length,i=t.split(m),o=[],s="",l=0,c=0;ca?o.push(u.substr(0,d-a)+"..."):o.push(u.substr(0,d));break}s=""}}return o.join("")};var A={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},M=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function S(t){return t.replace(M,(function(t,e){return("#"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):A[e])||t}))}function E(t,e,r){var n,a,i,o=r.horizontalAlign,s=r.verticalAlign||"top",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===s?function(){return l.bottom-n.height}:"middle"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},i="right"===o?function(){return l.right-n.width}:"center"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:a()-c.top+"px",left:i()-c.left+"px","z-index":1e3}),this}}r.convertEntities=S,r.sanitizeHTML=function(t){t=t.replace(g," ");for(var e=document.createElement("p"),r=e,a=[],i=t.split(m),o=0;oi.ts+e?l():i.timer=setTimeout((function(){l(),i.timer=null}),e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},r.clear=function(t){if(t)a(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],761:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{"fast-isnumeric":237}],762:[function(t,e,r){"use strict";var n=e.exports={},a=t("../plots/geo/constants").locationmodeToLayer,i=t("topojson-client").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=a[t.locationmode],n=e.objects[r];return i(e,n).features}},{"../plots/geo/constants":813,"topojson-client":538}],763:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],764:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],765:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,a=n.layoutArrayContainers,i=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var i=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,h=(s.subplotsRegistry.ternary||{}).attrRegex,f=(s.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e3?(P.x=1.02,P.xanchor="left"):P.x<-2&&(P.x=-.02,P.xanchor="right"),P.y>3?(P.y=1.02,P.yanchor="bottom"):P.y<-2&&(P.y=-.02,P.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),c.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n1&&i.warn("Full array edits are incompatible with other edits",h);var y=r[""][""];if(c(y))e.set(null);else{if(!Array.isArray(y))return i.warn("Unrecognized full array edit value",h,y),!0;e.set(y)}return!g&&(f(m,v),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),C=E||[],L=u(v,h).get(),P=[],I=-1,z=C.length;for(x=0;xC.length-(A?0:1))i.warn("index out of range",h,_);else if(void 0!==k)T.length>1&&i.warn("Insertion & removal are incompatible with edits to the same index.",h,_),c(k)?P.push(_):A?("add"===k&&(k={}),C.splice(_,0,k),L&&L.splice(_,0,{})):i.warn("Unrecognized full object edit value",h,_,k),-1===I&&(I=_);else for(b=0;b=0;x--)C.splice(P[x],1),L&&L.splice(P[x],1);if(C.length?E||e.set(C):e.set(null),g)return!1;if(f(m,v),d!==a){var O;if(-1===I)O=S;else{for(z=Math.max(C.length,z),O=[],x=0;x=I);x++)O.push(_);for(x=I;x=t.data.length||a<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(a,n+1)>-1||a>=0&&e.indexOf(-t.data.length+a)>-1||a<0&&e.indexOf(t.data.length+a)>-1)throw new Error("each index in "+r+" must be unique.")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),z(t,e,"currentIndices"),"undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&z(t,r,"newIndices"),"undefined"!=typeof r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function D(t,e,r,n,i){!function(t,e,r,n){var a=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if("undefined"==typeof r)throw new Error("indices must be an integer or array of integers");for(var i in z(t,r,"indices"),e){if(!Array.isArray(e[i])||e[i].length!==r.length)throw new Error("attribute "+i+" must be an array of length equal to indices array length");if(a&&(!(i in n)||!Array.isArray(n[i])||n[i].length!==e[i].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var i,l,c,u,h,f=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=I(r,t.data.length-1),e)for(var g=0;g-1?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){if(t=o.getGraphDiv(t),T.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var a=X(t,n),i=a.flags;i.calc&&(t.calcdata=void 0);var s=[f.previousPromises];i.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,i,a)||f.supplyDefaults(t),i.legend&&s.push(k.doLegend),i.layoutstyle&&s.push(k.layoutStyles),i.axrange&&G(s,a.rangesAltered),i.ticks&&s.push(k.doTicksRelayout),i.modebar&&s.push(k.doModeBar),i.camera&&s.push(k.doCamera),i.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(f.rehover,f.redrag),c.add(t,q,[t,a.undoit],q,[t,a.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",a.eventData),t}))}function H(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var a in e)if("axrange"!==a&&e[a])return!1;for(var i in r.rangesAltered){var o=d.id2name(i),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,l.range=s.range.slice(),l.cleanRange(),l._matchGroup)for(var c in l._matchGroup)if(c!==i){var u=n[d.id2name(c)];u.autorange=l.autorange,u.range=l.range.slice(),u._input.range=l.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[],n=!0;for(var a in e){var i=d.getFromId(t,a);if(r.push(a),i._matchGroup)for(var o in i._matchGroup)e[o]||r.push(o);i.automargin&&(n=!1)}return d.draw(t,r,{skipTitle:n})}:function(t){return d.draw(t,"redraw")};t.push(b,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var Y=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,W=/^[xyz]axis[0-9]*\.autorange$/,Z=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function X(t,e){var r,n,a,i=t.layout,l=t._fullLayout,c=l._guiEditing,f=N(l._preGUI,c),p=Object.keys(e),g=d.list(t),m=o.extendDeepAll({},e),v={};for(U(e),p=Object.keys(e),n=0;n0&&"string"!=typeof z.parts[D];)D--;var R=z.parts[D],F=z.parts[D-1]+"."+R,j=z.parts.slice(0,D).join("."),V=s(t.layout,j).get(),q=s(l,j).get(),H=z.get();if(void 0!==O){k[I]=O,S[I]="reverse"===R?O:B(H);var G=h.getLayoutValObject(l,z.parts);if(G&&G.impliedEdits&&null!==O)for(var X in G.impliedEdits)E(o.relativeAttr(I,X),G.impliedEdits[X]);if(-1!==["width","height"].indexOf(I))if(O){E("autosize",null);var K="height"===I?"width":"height";E(K,l[K])}else l[I]=t._initialAutoSize[I];else if("autosize"===I)E("width",O?null:l.width),E("height",O?null:l.height);else if(F.match(Y))P(F),s(l,j+"._inputRange").set(null);else if(F.match(W)){P(F),s(l,j+"._inputRange").set(null);var Q=s(l,j).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else F.match(Z)&&s(l,j+"._inputDomain").set(null);if("type"===R){var $=V,tt="linear"===q.type&&"log"===O,et="log"===q.type&&"linear"===O;if(tt||et){if($&&$.range)if(q.autorange)tt&&($.range=$.range[1]>$.range[0]?[1,2]:[2,1]);else{var rt=$.range[0],nt=$.range[1];tt?(rt<=0&&nt<=0&&E(j+".autorange",!0),rt<=0?rt=nt/1e6:nt<=0&&(nt=rt/1e6),E(j+".range[0]",Math.log(rt)/Math.LN10),E(j+".range[1]",Math.log(nt)/Math.LN10)):(E(j+".range[0]",Math.pow(10,rt)),E(j+".range[1]",Math.pow(10,nt)))}else E(j+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete l[z.parts[0]]._subplot.viewInitial["radialaxis.range"],u.getComponentMethod("annotations","convertCoords")(t,q,O,E),u.getComponentMethod("images","convertCoords")(t,q,O,E)}else E(j+".autorange",!0),E(j+".range",null);s(l,j+"._inputRange").set(null)}else if(R.match(M)){var at=s(l,I).get(),it=(O||{}).type;it&&"-"!==it||(it="linear"),u.getComponentMethod("annotations","convertCoords")(t,at,it,E),u.getComponentMethod("images","convertCoords")(t,at,it,E)}var ot=w.containerArrayMatch(I);if(ot){r=ot.array,n=ot.index;var st=ot.property,lt=G||{editType:"calc"};""!==n&&""===st&&(w.isAddVal(O)?S[I]=null:w.isRemoveVal(O)?S[I]=(s(i,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(_,lt),v[r]||(v[r]={});var ct=v[r][n];ct||(ct=v[r][n]={}),ct[st]=O,delete e[I]}else"reverse"===R?(V.range?V.range.reverse():(E(j+".autorange",!0),V.range=[1,0]),q.autorange?_.calc=!0:_.plot=!0):(l._has("scatter-like")&&l._has("regl")&&"dragmode"===I&&("lasso"===O||"select"===O)&&"lasso"!==H&&"select"!==H||l._has("gl2d")?_.plot=!0:G?A.update(_,G):_.calc=!0,z.set(O))}}for(r in v){w.applyContainerArrayChanges(t,f(i,r),v[r],_,f)||(_.plot=!0)}var ut=l._axisConstraintGroups||[];for(C in L)for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=a.length?a[0]:a[t]:a}function l(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(i,u){function h(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&h()};e()}var d,g,m=0;function v(t){return Array.isArray(a)?m>=a.length?t.transitionOpts=a[m]:t.transitionOpts=a[0]:t.transitionOpts=a,m++,t}var y=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:"object",data:v(o.extendFlat({},e))});else if(x||-1!==["string","number"].indexOf(typeof e))for(d=0;d0&&kk)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var a=0;a=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,m=(u[g]||d[g]||{}).name,v=e[n].name,y=u[m]||d[m];m&&v&&"number"==typeof v&&y&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(u[m]||d[m]).name+'" with a frame whose name of type "number" also equates to "'+m+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[g]={name:g},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(a=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;u[a.name="frame "+t._transitionData._counter++];);if(u[a.name]){for(i=0;i=0;r--)n=e[r],i.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:a[n]});var l=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,i];return c&&c.add(t,l,h,u,p),f.modifyFrames(t,i)},r.addTraces=function t(e,n,a){e=o.getGraphDiv(e);var i,s,l=[],u=r.deleteTraces,h=t,f=[e,l],p=[e,n];for(function(t,e,r){var n,a;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=i.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=i[a][o]}else t=i[a]}else t=i}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in d(r,o),n.subplotsRegistry){if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var a=0;a=l.length)return!1;a=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else if("area"===t.type)a=u[o];else{var h=t._module;if(h||(h=(n.modules[t.type||i.type.dflt]||{})._module),!h)return!1;if(!(a=(r=h.attributes)&&r[o])){var f=h.basePlotModule;f&&f.attributes&&(a=f.attributes[o])}a||(a=i[o])}return b(a,e,s)},r.getLayoutValObject=function(t,e){return b(function(t,e){var r,a,i,s,l=t._basePlotModules;if(l){var c;for(r=0;r=a&&(r._input||{})._templateitemname;o&&(i=a);var s,l=e+"["+i+"]";function c(){s={},o&&(s[l]={},s[l].templateitemname=o)}function u(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+"."+t]=e}function h(){var t=s;return c(),t}return c(),{modifyBase:function(t,e){s[t]=e},modifyItem:u,getUpdateObj:h,applyUpdate:function(e,r){e&&u(e,r);var a=h();for(var i in a)n.nestedProperty(t,i).set(a[i])}}}},{"../lib":735,"../plots/attributes":780}],774:[function(t,e,r){"use strict";var n=t("d3"),a=t("../registry"),i=t("../plots/plots"),o=t("../lib"),s=t("../lib/clear_gl_canvases"),l=t("../components/color"),c=t("../components/drawing"),u=t("../components/titles"),h=t("../components/modebar"),f=t("../plots/cartesian/axes"),p=t("../constants/alignment"),d=t("../plots/cartesian/constraints"),g=d.enforce,m=d.clean,v=t("../plots/cartesian/autorange").doAutoRange;function y(t,e,r){for(var n=0;n=t[1]||a[1]<=t[0])&&(i[0]e[0]))return!0}return!1}function x(t){var e,a,s,u,d,g,m=t._fullLayout,v=m._size,x=v.p,_=f.list(t,"",!0);if(m._paperdiv.style({width:t._context.responsive&&m.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":m.width+"px",height:t._context.responsive&&m.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":m.height+"px"}).selectAll(".main-svg").call(c.setSize,m.width,m.height),t._context.setBackground(t,m.paper_bgcolor),r.drawMainTitle(t),h.manage(t),!m._has("cartesian"))return i.previousPromises(t);function T(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-x-n:e._offset+e._length+x+n:v.t+v.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+x+n:e._offset-x-n:v.l+v.w*(t.position||0)+n%1}for(e=0;e<_.length;e++){var k=(u=_[e])._anchorAxis;u._linepositions={},u._lw=c.crispRound(t,u.linewidth,1),u._mainLinePosition=T(u,k,u.side),u._mainMirrorPosition=u.mirror&&k?T(u,k,p.OPPOSITE_SIDE[u.side]):null}var A=[],M=[],S=[],E=1===l.opacity(m.paper_bgcolor)&&1===l.opacity(m.plot_bgcolor)&&m.paper_bgcolor===m.plot_bgcolor;for(a in m._plots)if((s=m._plots[a]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var C=s.xaxis.domain,L=s.yaxis.domain,P=s.plotgroup;if(y(C,L,S)){var I=P.node(),z=s.bg=o.ensureSingle(P,"rect","bg");I.insertBefore(z.node(),I.childNodes[0]),M.push(a)}else P.select("rect.bg").remove(),S.push([C,L]),E||(A.push(a),M.push(a))}var O,D,R,F,B,N,j,V,U,q,H,G,Y,W=m._bgLayer.selectAll(".bg").data(A);for(W.enter().append("rect").classed("bg",!0),W.exit().remove(),W.each((function(t){m._plots[t].bg=n.select(this)})),e=0;eT?u.push({code:"unused",traceType:y,templateCount:w,dataCount:T}):T>w&&u.push({code:"reused",traceType:y,templateCount:w,dataCount:T})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var i=e[n],o=g(e,n,r);a(i)?(Array.isArray(e)&&!1===i._template&&i.templateitemname&&u.push({code:"missing",path:o,templateitemname:i.templateitemname}),t(i,o)):Array.isArray(i)&&m(i)&&t(i,o)}}({data:p,layout:f},""),u.length)return u.map(v)}},{"../lib":735,"../plots/attributes":780,"../plots/plots":846,"./plot_config":771,"./plot_schema":772,"./plot_template":773}],776:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./plot_api"),i=t("../plots/plots"),o=t("../lib"),s=t("../snapshot/helpers"),l=t("../snapshot/tosvg"),c=t("../snapshot/svgtoimg"),u=t("../version").version,h={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};e.exports=function(t,e){var r,f,p,d;function g(t){return!(t in e)||o.validate(e[t],h[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],f=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),f=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!g("width")&&null!==e.width||!g("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!g("format"))throw new Error("Image format is not jpeg, png, svg or webp.");var m={};function v(t,r){return o.coerce(e,m,h,t,r)}var y=v("format"),x=v("width"),b=v("height"),_=v("scale"),w=v("setBackground"),T=v("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},f);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function C(){return new Promise((function(t,e){var r=l(k,y,_),n=k._fullLayout.width,h=k._fullLayout.height;function f(){a.purge(k),document.body.removeChild(k)}if("full-json"===y){var p=i.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=u,p=JSON.stringify(p),f(),t(T?p:s.encodeJSON(p))}if(f(),"svg"===y)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),c({format:y,width:n,height:h,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){a.plot(k,r,A,M).then(S).then(E).then(C).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},{"../lib":735,"../plots/plots":846,"../snapshot/helpers":870,"../snapshot/svgtoimg":872,"../snapshot/tosvg":874,"../version":1322,"./plot_api":770,"fast-isnumeric":237}],777:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/plots"),i=t("./plot_schema"),o=t("./plot_config").dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,a,i,o){o=o||[];for(var h=Object.keys(t),f=0;fx.length&&a.push(d("unused",i,v.concat(x.length)));var A,M,S,E,C,L=x.length,P=Array.isArray(k);if(P&&(L=Math.min(L,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&a.push(d("unused",i,v.concat(M,x[M].length)));var I=x[M].length;for(A=0;A<(P?Math.min(I,k[M].length):I);A++)S=P?k[M][A]:k,E=y[M][A],C=x[M][A],n.validate(E,S)?C!==E&&C!==+E&&a.push(d("dynamic",i,v.concat(M,A),E,C)):a.push(d("value",i,v.concat(M,A),E))}else a.push(d("array",i,v.concat(M),y[M]));else for(M=0;M1&&p.push(d("object","layout"))),a.supplyDefaults(g);for(var m=g._fullData,v=r.length,y=0;y0&&((b=A-o(m)-o(v))>M?_/b>E&&(y=m,x=v,E=_/b):_/A>E&&(y={val:m.val,pad:0},x={val:v.val,pad:0},E=_/A));if(f===p){var C=f-1,L=f+1;if(T)if(0===f)i=[0,1];else{var P=(f>0?h:u).reduce((function(t,e){return Math.max(t,o(e))}),0),I=f/(1-Math.min(.5,P/A));i=f>0?[0,I]:[I,0]}else i=k?[Math.max(0,C),Math.max(1,L)]:[C,L]}else T?(y.val>=0&&(y={val:0,pad:0}),x.val<=0&&(x={val:0,pad:0})):k&&(y.val-E*o(y)<0&&(y={val:0,pad:0}),x.val<=0&&(x={val:1,pad:0})),E=(x.val-y.val-S(m.val,v.val))/(A-o(y)-o(x)),i=[y.val-E*o(y),x.val+E*o(x)];return d&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function l(t){var e=t._length/20;return"domain"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function c(t,e){var r,n,a,i=e._id,o=t._fullData,s=t._fullLayout,l=[],c=[];function f(t,e){for(r=0;r=r&&(c.extrapad||!o)){s=!1;break}a(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=i&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function p(t){return n(t)&&Math.abs(t)=e}e.exports={getAutoRange:s,makePadFn:l,doAutoRange:function(t,e){if(e.setScale(),e.autorange){e.range=s(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var r=e._input,n={};n[e._attr+".range"]=e.range,n[e._attr+".autorange"]=e.autorange,o.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,n),r.range=e.range.slice(),r.autorange=e.autorange}var i=e._anchorAxis;if(i&&i.rangeslider){var l=i.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=s(t,e)),i._input.rangeslider[e._name]=a.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var a,o,s,l,c,f,d,g,m,v=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,T=!1,k=r.vpadLinearized||!1;function A(t){if(Array.isArray(t))return T=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),C=A(r.vpadminus||r.vpad);if(!T){if(g=1/0,m=-1/0,w)for(a=0;a0&&(g=o),o>m&&o-i&&(g=o),o>m&&o=I;a--)P(a);return{min:v,max:y,opts:r}},concatExtremes:c}},{"../../constants/numerical":711,"../../lib":735,"../../registry":866,"fast-isnumeric":237}],783:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../components/titles"),u=t("../../components/color"),h=t("../../components/drawing"),f=t("./layout_attributes"),p=t("./clean_ticks"),d=t("../../constants/numerical"),g=d.ONEAVGYEAR,m=d.ONEAVGMONTH,v=d.ONEDAY,y=d.ONEHOUR,x=d.ONEMIN,b=d.ONESEC,_=d.MINUS_SIGN,w=d.BADNUM,T=t("../../constants/alignment"),k=T.MID_SHIFT,A=T.CAP_SHIFT,M=T.LINE_SPACING,S=T.OPPOSITE_SIDE,E=e.exports={};E.setConvert=t("./set_convert");var C=t("./axis_autotype"),L=t("./axis_ids");E.id2name=L.id2name,E.name2id=L.name2id,E.cleanId=L.cleanId,E.list=L.list,E.listIds=L.listIds,E.getFromId=L.getFromId,E.getFromTrace=L.getFromTrace;var P=t("./autorange");E.getAutoRange=P.getAutoRange,E.findExtremes=P.findExtremes;function I(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}E.coerceRef=function(t,e,r,n,a,i){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return a||(a=l[0]||i),i||(i=a),u[c]={valType:"enumerated",values:l.concat(i?[i]:[]),dflt:a},s.coerce(t,e,u,c)},E.coercePosition=function(t,e,r,n,a,i){var o,l;if("paper"===n||"pixel"===n)o=s.ensureNumber,l=r(a,i);else{var c=E.getFromId(e,n);l=r(a,i=c.fraction2r(i)),o=c.cleanPos}t[a]=o(l)},E.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:E.getFromId(e,r).cleanPos)(t)},E.redrawComponents=function(t,e){e=e||E.listIds(t);var r=t._fullLayout;function n(n,a,i,s){for(var l=o.getComponentMethod(n,a),c={},u=0;u2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},E.saveRangeInitial=function(t,e){for(var r=E.list(t,"",!0),n=!1,a=0;a.3*f||u(n)||u(i))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));i.exactYears>.8&&o%12==0?t=E.tickIncrement(t,"M6","reverse")+1.5*v:i.exactMonths>.8?t=E.tickIncrement(t,"M1","reverse")+15.5*v:t-=v/2;var l=E.tickIncrement(t,r);if(l<=n)return l}return t}(x,t,y,c,i)),m=x,0;m<=u;)m=E.tickIncrement(m,y,!1,i);return{start:e.c2r(x,0,i),end:e.c2r(m,0,i),size:y,_dataSpan:u-c}},E.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?1.2*(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),"array"===t.tickmode&&(a*=100),t._roughDTick=(Math.abs(r[1]-r[0])-(t._lBreaks||0))/a,E.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),"date"===t.type&&t.dtick<.1&&(t.dtick=.1),H(t)},E.calcTicks=function(t,e){E.prepTicks(t,e);var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("array"===t.tickmode)return function(t){var e=t.tickvals,r=t.ticktext,n=new Array(e.length),a=I(s.simpleMap(t.range,t.r2l)),i=Math.min(a[0],a[1]),o=Math.max(a[0],a[1]),l=0;Array.isArray(r)||(r=[]);var c="category"===t.type?t.d2l_noadd:t.d2l;"log"===t.type&&"L"!==String(t.dtick).charAt(0)&&(t.dtick="L"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(var u=0;ui&&h=o:n<=o)&&!(c.length>r||n===e);n=E.tickIncrement(n,t.dtick,l,t.calendar)){e=n;var a=!1;u&&n!==(0|n)&&(a=!0),c.push({minor:a,value:n})}}(),t.rangebreaks){var h=c.length;if(h){var f=0;"auto"===t.tickmode&&(f=("y"===t._id.charAt(0)?2:6)*(t.tickfont?t.tickfont.size:12));for(var p,d=[],g=l?1:-1,m=l?h-1:0,v=l?0:h-1;g*v<=g*m;v+=g){var y=c[v];if(t.maskBreaks(y.value)!==w||(y.value=lt(y.value,t),!t._rl||t._rl[0]!==y.value&&t._rl[1]!==y.value)){var x=t.c2p(y.value);x===p?d[d.length-1].valuef)&&(p=x,d.push(y))}}c=d.reverse()}}st(t)&&360===Math.abs(r[1]-r[0])&&c.pop(),t._tmax=(c[c.length-1]||{}).value,t._prevDateHead="",t._inCalcTicks=!0;for(var b=new Array(c.length),_=0;_10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=v&&i<=10||e>=15*v)t._tickround="d";else if(e>=x&&i<=16||e>=y)t._tickround="M";else if(e>=b&&i<=19||e>=x)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(i,o)-20,t._tickround<0&&(t._tickround=4)}}else if(a(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);a(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(c)>3&&(W(t.exponentformat)&&!Z(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function G(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}E.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar);var i=2*e;i>g?(e/=g,r=n(10),t.dtick="M"+12*q(e,r,R)):i>m?(e/=m,t.dtick="M"+q(e,1,F)):i>v?(t.dtick=q(e,v,t._hasDayOfWeekBreaks?[1,2,7,14]:N),t.tick0=s.dateTick0(t.calendar,!0)):i>y?t.dtick=q(e,y,F):i>x?t.dtick=q(e,x,B):i>b?t.dtick=q(e,b,B):(r=n(10),t.dtick=q(e,r,R))}else if("log"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick="L"+q(e,r,R)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):st(t)?(t.tick0=0,r=1,t.dtick=q(e,r,U)):(t.tick0=0,r=n(10),t.dtick=q(e,r,R));if(0===t.dtick&&(t.dtick=1),!a(t.dtick)&&"string"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(c)}},E.tickIncrement=function(t,e,r,i){var o=r?-1:1;if(a(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,i);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?V:j,h=t+.01*o,f=s.roundUp(s.mod(h,1),u,r);return Math.floor(h)+Math.log(n.round(Math.pow(10,f),1))/Math.LN10}throw"unrecognized dtick "+String(e)},E.tickFirst=function(t,e){var r=t.r2l||Number,i=s.simpleMap(t.range,r,void 0,void 0,e),o=i[1]"+l,t._prevDateHead=l));e.text=c}(t,o,r,c):"log"===u?function(t,e,r,n,i){var o=t.dtick,l=e.x,c=t.tickformat,u="string"==typeof o&&o.charAt(0);"never"===i&&(i="");n&&"L"!==u&&(o="L3",u="L");if(c||"L"===u)e.text=X(Math.pow(10,l),t,i,n);else if(a(o)||"D"===u&&s.mod(l+.01,1)<.1){var h=Math.round(l),f=Math.abs(h),p=t.exponentformat;"power"===p||W(p)&&Z(h)?(e.text=0===h?1:1===h?"10":"10"+(h>1?"":_)+f+"",e.fontSize*=1.25):("e"===p||"E"===p)&&f>2?e.text="1"+p+(h>0?"+":_)+f:(e.text=X(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,g):"category"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):"multicategory"===u?function(t,e,r){var n=Math.round(e.x),a=t._categories[n]||[],i=void 0===a[1]?"":String(a[1]),o=void 0===a[0]?"":String(a[0]);r?e.text=o+" - "+i:(e.text=i,e.text2=o)}(t,o,r):st(t)?function(t,e,r,n,a){if("radians"!==t.thetaunit||r)e.text=X(e.x,t,a,n);else{var i=e.x/180;if(0===i)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,a=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/a),Math.round(r/a)]}(i);if(o[1]>=100)e.text=X(s.deg2rad(e.x),t,a,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["",o[0],"","\u2044","",o[1],"","\u03c0"].join(""),l&&(e.text=_+e.text)}}}}(t,o,r,c,g):function(t,e,r,n,a){"never"===a?a="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(a="hide");e.text=X(e.x,t,a,n)}(t,o,0,c,g),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),"boundaries"===t.tickson||t.showdividers){var m=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[m(o.x-.5),m(o.x+t.dtick-.5)]}return o},E.hoverLabelText=function(t,e,r){if(r!==w&&r!==e)return E.hoverLabelText(t,e)+" - "+E.hoverLabelText(t,r);var n="log"===t.type&&e<=0,a=E.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":_+a:a};var Y=["f","p","n","\u03bc","m","","k","M","G","T"];function W(t){return"SI"===t||"B"===t}function Z(t){return t>14||t<-15}function X(t,e,r,n){var i=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=E.getTickFormat(e),h=e.separatethousands;if(n){var f={exponentformat:l,dtick:"none"===e.showexponent?e.dtick:a(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};H(f),o=(Number(f._tickround)||0)+4,c=f._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,_);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))"+p+"":"B"===l&&9===c?t+="B":W(l)&&(t+=Y[c/3+5]));return i?_+t:t}function J(t,e){for(var r=[],n={},a=0;a1&&r=a.min&&t=0,i=u(t,e[1])<=0;return(r||a)&&(n||i)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(a)))){r=n;break}break;case"log":for(e=0;e0?r.bottom-u:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1];if("x"===d){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?u-r.top:0,h),p.reverse()),r.width>0){var m=r.right-(e._offset+e._length);m>0&&(n.xr=1,n.r=m);var v=e._offset-r.left;v>0&&(n.xl=0,n.l=v)}}else if("l"===l?n[l]=e._depth=Math.max(r.height>0?u-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-u:0,h),p.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var x=e._offset-r.top;x>0&&(n.yt=1,n.t=x)}n[g]="free"===e.anchor?e.position:e._anchorAxis.domain[p[0]],e.title.text!==f._dfltTitle[d]&&(n[l]+=Q(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((a={x:0,y:0,r:0,l:0,t:0,b:0})[c]=e.linewidth,e.mirror&&!0!==e.mirror&&(a[c]+=h),!0===e.mirror||"ticks"===e.mirror?a[g]=e._anchorAxis.domain[p[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(a[g]=[e._counterDomainMin,e._counterDomainMax][p[1]]))}Z&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),i.autoMargin(t,et(e),n),i.autoMargin(t,rt(e),a),i.autoMargin(t,nt(e),s)})),r.skipTitle||Z&&"bottom"===e.side||Y.push((function(){return function(t,e){var r,n=t._fullLayout,a=e._id,i=a.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty("standoff"))r=e._depth+e.title.standoff+Q(e);else{if("multicategory"===e.type)r=e._depth;else{r=10+1.5*o+(e.linewidth?e.linewidth-1:0)}r+="x"===i?"top"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):"right"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0)}var s,l,u,f,p=E.getPxPosition(t,e);"x"===i?(l=e._offset+e._length/2,u="top"===e.side?p-r:p+r):(u=e._offset+e._length/2,l="right"===e.side?p+r:p-r,s={rotate:"-90",offset:0});if("multicategory"!==e.type){var d=e._selections[e._id+"tick"];if(f={selection:d,side:e.side},d&&d.node()&&d.node().parentNode){var g=h.getTranslate(d.node().parentNode);f.offsetLeft=g.x,f.offsetTop=g.y}e.title.hasOwnProperty("standoff")&&(f.pad=0)}return c.draw(t,a+"title",{propContainer:e,propName:e._name+".title.text",placeholder:n._dfltTitle[i],avoid:f,transform:s,attributes:{x:l,y:u,"text-anchor":"middle"}})}(t,e)})),s.syncOrAsync(Y)}}function X(t){var r=p+(t||"tick");return w[r]||(w[r]=function(t,e){var r,n,a,i;t._selections[e].size()?(r=1/0,n=-1/0,a=1/0,i=-1/0,t._selections[e].each((function(){var t=tt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),a=Math.min(a,e.left),i=Math.max(i,e.right)}))):(r=0,n=0,a=0,i=0);return{top:r,bottom:n,left:a,right:i,height:n-r,width:i-a}}(e,r)),w[r]}},E.getTickSigns=function(t){var e=t._id.charAt(0),r={x:"top",y:"right"}[e],n=t.side===r?1:-1,a=[-1,1,n,-n];return"inside"!==t.ticks==("x"===e)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},E.makeTransFn=function(t){var e=t._id.charAt(0),r=t._offset;return"x"===e?function(e){return"translate("+(r+t.l2p(e.x))+",0)"}:function(e){return"translate(0,"+(r+t.l2p(e.x))+")"}},E.makeTickPath=function(t,e,r,n){n=void 0!==n?n:t.ticklen;var a=t._id.charAt(0),i=(t.linewidth||1)/2;return"x"===a?"M0,"+(e+i*r)+"v"+n*r:"M"+(e+i*r)+",0h"+n*r},E.makeLabelFns=function(t,e,r){var n=t._id.charAt(0),i="boundaries"!==t.tickson&&"outside"===t.ticks,o=0,l=0;if(i&&(o+=t.ticklen),r&&"outside"===t.ticks){var c=s.deg2rad(r);o=t.ticklen*Math.cos(c)+1,l=t.ticklen*Math.sin(c)}t.showticklabels&&(i||t.showline)&&(o+=.2*t.tickfont.size);var u,h,f,p,d={labelStandoff:o+=(t.linewidth||1)/2,labelShift:l};return"x"===n?(p="bottom"===t.side?1:-1,u=l*p,h=e+o*p,f="bottom"===t.side?1:-.2,d.xFn=function(t){return t.dx+u},d.yFn=function(t){return t.dy+h+t.fontSize*f},d.anchorFn=function(t,e){return a(e)&&0!==e&&180!==e?e*p<0?"end":"start":"middle"},d.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side?-n:0}):"y"===n&&(p="right"===t.side?1:-1,u=o,h=-l*p,f=90===Math.abs(t.tickangle)?.5:0,d.xFn=function(t){return t.dx+e+(u+t.fontSize*f)*p},d.yFn=function(t){return t.dy+h+t.fontSize*k},d.anchorFn=function(e,r){return a(r)&&90===Math.abs(r)?"middle":"right"===t.side?"start":"end"},d.heightFn=function(e,r,n){return(r*="left"===t.side?1:-1)<-30?-n:r<30?-.5*n:0}),d},E.drawTicks=function(t,e,r){r=r||{};var n=e._id+"tick",a=r.layer.selectAll("path."+n).data(e.ticks?r.vals:[],K);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==r.crisp).call(u.stroke,e.tickcolor).style("stroke-width",h.crispRound(t,e.tickwidth,1)+"px").attr("d",r.path),a.attr("transform",r.transFn)},E.drawGrid=function(t,e,r){r=r||{};var n=e._id+"grid",a=r.vals,i=r.counterAxis;if(!1===e.showgrid)a=[];else if(i&&E.shouldShowZeroLine(t,e,i))for(var o="array"===e.tickmode,s=0;s1)for(n=1;n2*o}(t,e)?"date":function(t){for(var e=Math.max(1,(t.length-1)/1e3),r=0,n=0,o={},s=0;s2*r}(t)?"category":function(t){if(!t)return!1;for(var e=0;e=2){var l,c,u="";if(2===o.length)for(l=0;l<2;l++)if(c=y(o[l])){u=d;break}var h=a("pattern",u);if(h===d)for(l=0;l<2;l++)(c=y(o[l]))&&(e.bounds[l]=o[l]=c-1);if(h)for(l=0;l<2;l++)switch(c=o[l],h){case d:if(!n(c))return void(e.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(e.enabled=!1);e.bounds[l]=o[l]=c;break;case g:if(!n(c))return void(e.enabled=!1);if((c=+c)<0||c>24)return void(e.enabled=!1);e.bounds[l]=o[l]=c}if(!1===r.autorange){var f=r.range;if(f[0]f[1])return void(e.enabled=!1)}else if(o[0]>f[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.getAxisGroup=function(t,e){for(var r=t._axisMatchGroups,n=0;n0;o&&(a="array");var s,l=r("categoryorder",a);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,a,i=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nl*x)||T)for(r=0;rz&&RP&&(P=R);p/=(P-L)/(2*I),L=c.l2r(L),P=c.l2r(P),c.range=c._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function F(t,e,r,n,a){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform","translate("+r+", "+n+")").attr("d",a+"Z")}function B(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("transform","translate("+e+", "+r+")").attr("d","M0,0Z")}function N(t,e,r,n,a,i){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),j(t,e,a,i)}function j(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function V(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function U(t){L&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),L=!1)}function q(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,C)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function H(t,e,r,n){for(var a,i,o,l,c=!1,u={},h={},f=0;f=0)a._fullLayout._deactivateShape(a);else{var i=a._fullLayout.clickmode;if(V(a),2!==t||dt||Vt(),pt)i.indexOf("select")>-1&&A(r,a,X,J,e.id,Et),i.indexOf("event")>-1&&h.click(a,r,e.id);else if(1===t&&dt){var s=g?j:P,c="s"===g||"w"===L?0:1,u=s._name+".range["+c+"]",f=function(t,e){var r,a=t.range[e],i=Math.abs(a-t.range[1-e]);return"date"===t.type?a:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,n.format("."+r+"g")(Math.pow(10,a))):(r=Math.floor(Math.log(Math.abs(a))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,n.format("."+String(r)+"g")(a))}(s,c),p="left",d="middle";if(s.fixedrange)return;g?(d="n"===g?"top":"bottom","right"===s.side&&(p="right")):"e"===L&&(p="right"),a._context.showAxisRangeEntryBoxes&&n.select(vt).call(l.makeEditable,{gd:a,immediate:!0,background:a._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:p,verticalAlign:d}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&o.call("_guiRelayout",a,u,e)}))}}}function Pt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min($,e+yt)),a=Math.max(0,Math.min(tt,r+xt)),i=Math.abs(n-yt),o=Math.abs(a-xt);function s(){kt="",bt.r=bt.l,bt.t=bt.b,Mt.attr("d","M0,0Z")}if(bt.l=Math.min(yt,n),bt.r=Math.max(yt,n),bt.t=Math.min(xt,a),bt.b=Math.max(xt,a),et.isSubplotConstrained)i>C||o>C?(kt="xy",i/$>o/tt?(o=i*tt/$,xt>a?bt.t=xt-o:bt.b=xt+o):(i=o*$/tt,yt>n?bt.l=yt-i:bt.r=yt+i),Mt.attr("d",q(bt))):s();else if(rt.isSubplotConstrained)if(i>C||o>C){kt="xy";var l=Math.min(bt.l/$,(tt-bt.b)/tt),c=Math.max(bt.r/$,(tt-bt.t)/tt);bt.l=l*$,bt.r=c*$,bt.b=(1-l)*tt,bt.t=(1-c)*tt,Mt.attr("d",q(bt))}else s();else!at||og[1]-1/4096&&(e.domain=s),a.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":735,"fast-isnumeric":237}],801:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var a=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=a[0]+(a[1]-a[0])*r;t.range=t._input.range=[t.l2r(i+(a[0]-i)*e),t.l2r(i+(a[1]-i)*e)]}},{"../../constants/alignment":704}],802:[function(t,e,r){"use strict";var n=t("polybooljs"),a=t("../../registry"),i=t("../../components/drawing").dashStyle,o=t("../../components/color"),s=t("../../components/fx"),l=t("../../components/fx/helpers").makeEventData,c=t("../../components/dragelement/helpers"),u=c.freeMode,h=c.rectMode,f=c.drawMode,p=c.openMode,d=c.selectMode,g=t("../../components/shapes/draw_newshape/display_outlines"),m=t("../../components/shapes/draw_newshape/helpers").handleEllipse,v=t("../../components/shapes/draw_newshape/newshapes"),y=t("../../lib"),x=t("../../lib/polygon"),b=t("../../lib/throttle"),_=t("./axis_ids").getFromId,w=t("../../lib/clear_gl_canvases"),T=t("../../plot_api/subroutines").redrawReglTraces,k=t("./constants"),A=k.MINSELECT,M=x.filter,S=x.tester,E=t("./handle_outline").clearSelect,C=t("./helpers"),L=C.p2r,P=C.axValue,I=C.getTransform;function z(t,e,r,n,a,i,o){var s,l,c,u,h,f,d,m,v,y=e._hoverdata,x=e._fullLayout.clickmode.indexOf("event")>-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){F(t,e,i);var _=function(t,e){var r,n,a=t[0],i=-1,o=[];for(n=0;n0?function(t,e){var r,n,a,i=[];for(a=0;a0&&i.push(r);if(1===i.length&&i[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(a=0;a1)return!1;if((a+=r.selectedpoints.length)>1)return!1}return 1===a}(s)&&(f=j(_))){for(o&&o.remove(),v=0;v=0&&n._fullLayout._deactivateShape(n),f(e)){var i=n._fullLayout._zoomlayer.selectAll(".select-outline-"+r.id);if(i&&n._fullLayout._drawing){var o=v(i,t);o&&a.call("_guiRelayout",n,{shapes:o}),n._fullLayout._drawing=!1}}r.selection={},r.selection.selectionDefs=t.selectionDefs=[],r.selection.mergedPolygons=t.mergedPolygons=[]}function N(t,e,r,n){var a,i,o,s=[],l=e.map((function(t){return t._id})),c=r.map((function(t){return t._id}));for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(a)>-1}function V(t,e,r){var n,i,o,s;for(n=0;n=0)W._fullLayout._deactivateShape(W);else if(!j){var r=Z.clickmode;b.done(ft).then((function(){if(b.clear(ft),2===t){for(lt.remove(),w=0;w-1&&z(e,W,a.xaxes,a.yaxes,a.subplot,a,lt),"event"===r&&W.emit("plotly_selected",void 0);s.click(W,e)})).catch(y.error)}},a.doneFn=function(){ht.remove(),b.done(ft).then((function(){b.clear(ft),a.gd.emit("plotly_selected",E),_&&a.selectionDefs&&(_.subtract=st,a.selectionDefs.push(_),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,x)),a.doneFnCompleted&&a.doneFnCompleted(pt)})).catch(y.error),j&&B(a)}},clearSelect:E,clearSelectionsCache:B,selectOnClick:z}},{"../../components/color":602,"../../components/dragelement/helpers":620,"../../components/drawing":624,"../../components/fx":642,"../../components/fx/helpers":638,"../../components/shapes/draw_newshape/display_outlines":687,"../../components/shapes/draw_newshape/helpers":688,"../../components/shapes/draw_newshape/newshapes":689,"../../lib":735,"../../lib/clear_gl_canvases":720,"../../lib/polygon":747,"../../lib/throttle":760,"../../plot_api/subroutines":774,"../../registry":866,"./axis_ids":786,"./constants":789,"./handle_outline":793,"./helpers":794,polybooljs:478}],803:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=i.cleanNumber,s=i.ms2DateTime,l=i.dateTime2ms,c=i.ensureNumber,u=i.isArrayOrTypedArray,h=t("../../constants/numerical"),f=h.FP_SAFE,p=h.BADNUM,d=h.LOG_CLIP,g=h.ONEDAY,m=h.ONEHOUR,v=h.ONEMIN,y=h.ONESEC,x=t("./axis_ids"),b=t("./constants"),_=b.HOUR_PATTERN,w=b.WEEKDAY_PATTERN;function T(t){return Math.pow(10,t)}function k(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||"x",h=r.charAt(0);function A(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],a=t.range[1];return.5*(n+a-2*d*Math.abs(n-a))}return p}function M(e,r,n,o){var s=l(e,n||t.calendar);if(s===p){if(!a(e))return p;if(e=+e,(o||{}).msUTC)return e;var c=Math.floor(10*i.mod(e+.05,1)),u=Math.round(e-c/10);s=l(new Date(u))+c/10}return s}function S(e,r,n){return s(e,r,n||t.calendar)}function E(e){return t._categories[Math.round(e)]}function C(e){if(k(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return p}function L(e){if(t._categoriesMap)return t._categoriesMap[e]}function P(t){var e=L(t);return void 0!==e?e:a(t)?+t:void 0}function I(t,e,r){return n.round(r+e*t,2)}function z(t,e,r){return(t-r)/e}var O=function(e){return a(e)?I(e,t._m,t._b):p},D=function(e){return z(e,t._m,t._b)};if(t.rangebreaks){var R="y"===h;O=function(e){if(!a(e))return p;var r=t._rangebreaks.length;if(!r)return I(e,t._m,t._b);var n=R;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,o=i*e,s=0,l=0;lu)){s=o<(c+u)/2?l:l+1;break}s=l+1}var h=t._B[s]||0;return isFinite(h)?I(e,t._m2,h):0},D=function(e){var r=t._rangebreaks.length;if(!r)return z(e,t._m,t._b);for(var n=0,a=0;at._rangebreaks[a].pmax&&(n=a+1);return z(e,t._m2,t._B[n])}}t.c2l="log"===t.type?A:c,t.l2c="log"===t.type?T:c,t.l2p=O,t.p2l=D,t.c2p="log"===t.type?function(t,e){return O(A(t,e))}:O,t.p2c="log"===t.type?function(t){return T(D(t))}:D,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=D,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return A(o(t),e)},t.r2d=t.r2c=function(t){return T(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=A,t.l2d=T,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return T(D(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=D,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=i.identity,t.d2c=t.r2c=t.d2l=t.r2l=M,t.c2d=t.c2r=t.l2d=t.l2r=S,t.d2p=t.r2p=function(e,r,n){return t.l2p(M(e,0,n))},t.p2d=t.p2r=function(t,e,r){return S(D(t),e,r)},t.cleanPos=function(e){return i.cleanDate(e,p,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=C,t.r2d=t.c2d=t.l2d=E,t.d2r=t.d2l_noadd=P,t.r2c=function(e){var r=P(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=P,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return E(D(t))},t.r2p=t.d2p,t.p2r=D,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=E,t.d2r=t.d2l_noadd=P,t.r2c=function(e){var r=P(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=L,t.l2r=t.c2r=c,t.r2l=P,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return E(D(t))},t.r2p=t.d2p,t.p2r=D,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:c(t)},t.setupMultiCategory=function(n){var a,o,s=t._traceIndices,l=e._axisMatchGroups;if(l&&l.length&&0===t._categories.length)for(a=0;af&&(s[n]=f),s[0]===s[1]){var c=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=c,s[1]+=c}}else i.nestedProperty(t,e).set(o)},t.setScale=function(r){var n=e._size;if(t.overlaying){var a=x.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var i=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(i);var s,l,c=t.r2l(t[i][0],o),u=t.r2l(t[i][1],o),f="y"===h;if((f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks)&&(t._rangebreaks=t.locateBreaks(Math.min(c,u),Math.max(c,u)),t._rangebreaks.length)){for(s=0;su&&(p=!p),p&&t._rangebreaks.reverse();var d=p?-1:1;for(t._m2=d*t._length/(Math.abs(u-c)-t._lBreaks),t._B.push(-t._m2*(f?u:c)),s=0;sa&&(a+=7,sa&&(a+=24,s=n&&s=n&&e=s.min&&(ts.max&&(s.max=n),a=!1)}a&&c.push({min:t,max:n})}};for(n=0;nr.duration?(!function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function m(e,r){var n=e.plotinfo,a=n.xaxis,l=n.yaxis,c=a._length,u=l._length,h=!!e.xr1,f=!!e.yr1,p=[];if(h){var d=i.simpleMap(e.xr0,a.r2l),g=i.simpleMap(e.xr1,a.r2l),m=d[1]-d[0],v=g[1]-g[0];p[0]=(d[0]*(1-r)+r*g[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*v/m),a.range[0]=a.l2r(d[0]*(1-r)+r*g[0]),a.range[1]=a.l2r(d[1]*(1-r)+r*g[1])}else p[0]=0,p[2]=c;if(f){var y=i.simpleMap(e.yr0,l.r2l),x=i.simpleMap(e.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*u,p[3]=u*(1-r+r*_/b),l.range[0]=a.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,a,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[a._id,l._id]);var w=h?c/p[2]:1,T=f?u/p[3]:1,k=h?p[0]:0,A=f?p[1]:0,M=h?p[0]/p[2]*c:0,S=f?p[1]/p[3]*u:0,E=a._offset-M,C=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,C).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},{"../../components/drawing":624,"../../lib":735,"../../registry":866,"./axes":783,d3:165}],808:[function(t,e,r){"use strict";var n=t("../../registry").traceIs,a=t("./axis_autotype");function i(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=i(t),a=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return a&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}e.exports=function(t,e,r,s){"-"===r("type",(s.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var c=function(t,e,r){for(var n=0;n0&&(a["_"+r+"axes"]||{})[e])return a;if((a[r+"axis"]||r)===e){if(o(a,r))return a;if((a[r]||[]).length||a[r+"0"])return a}}}(e,s,l);if(!c)return;if("histogram"===c.type&&l==={v:"y",h:"x"}[c.orientation||"v"])return void(t.type="linear");var u=l+"calendar",h=c[u],f={noMultiCategory:!n(c,"cartesian")||n(c,"noMultiCategory")};"box"===c.type&&c._hasPreCompStats&&l==={h:"x",v:"y"}[c.orientation||"v"]&&(f.noMultiCategory=!0);if(o(c,l)){var p=i(c),d=[];for(r=0;r0?".":"")+i;a.isPlainObject(o)?l(o,e,s,n+1):e(s,i,o)}}))}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){i(t,c,s.cache),s.check=function(){if(l){var e=i(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;h0&&a<0&&(a+=360);var s=(a-n)/4;return{type:"Polygon",coordinates:[[[n,i],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[a,o],[a,i],[a-s,i],[a-2*s,i],[a-3*s,i],[n,i]]]}}e.exports=function(t){return new _(t)},w.plot=function(t,e,r){var n=this,a=e[this.id],i=[],o=!1;for(var s in v.layerNameToAdjective)if("frame"!==s&&a["show"+s]){o=!0;break}for(var l=0;l0&&i._module.calcGeoJSON(a,e)}if(!this.updateProjection(t,e)){this.viewInitial&&this.scope===r.scope||this.saveViewInitial(r),this.scope=r.scope,this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),c.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var o=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=o.selectAll(".point"),this.dataPoints.text=o.selectAll("text"),this.dataPaths.line=o.selectAll(".js-line");var s=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=s.selectAll("path"),this.render()}},w.updateProjection=function(t,e){var r=this.graphDiv,o=e[this.id],s=e._size,l=o.domain,c=o.projection,u=o.lonaxis,f=o.lataxis,p=u._ax,d=f._ax,g=this.projection=function(t){for(var e=t.projection.type,r=n.geo[v.projNames[e]](),a=t._isClipped?v.lonaxisSpan[e]/2:null,i=["center","rotate","parallels","clipExtent"],o=function(t){return t?r:[]},s=0;sa*Math.PI/180}return!1},r.getPath=function(){return n.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],a=t[1][1]-t[0][1],i=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),i&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),a/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(a-s*(o[1][1]+o[0][1]))/2;return i&&r.clipExtent(i),r.scale(150*s).translate([l,c])},r.precision(v.precision),a&&r.clipAngle(a-v.clipPad);return r}(o),m=[[s.l+s.w*l.x[0],s.t+s.h*(1-l.y[1])],[s.l+s.w*l.x[1],s.t+s.h*(1-l.y[0])]],y=o.center||{},x=c.rotation||{},b=u.range||[],_=f.range||[];if(o.fitbounds){p._length=m[1][0]-m[0][0],d._length=m[1][1]-m[0][1],p.range=h(r,p),d.range=h(r,d);var w=(p.range[0]+p.range[1])/2,k=(d.range[0]+d.range[1])/2;if(o._isScoped)y={lon:w,lat:k};else if(o._isClipped){y={lon:w,lat:k},x={lon:w,lat:k,roll:x.roll};var A=c.type,M=v.lonaxisSpan[A]/2||180,S=v.lataxisSpan[A]/2||180;b=[w-M,w+M],_=[k-S,k+S]}else y={lon:w,lat:k},x={lon:w,lat:x.lat,roll:x.roll}}g.center([y.lon-x.lon,y.lat-x.lat]).rotate([-x.lon,-x.lat,x.roll]).parallels(c.parallels);var E=T(b,_);g.fitExtent(m,E);var C=this.bounds=g.getBounds(E),L=this.fitScale=g.scale(),P=g.translate();if(!isFinite(C[0][0])||!isFinite(C[0][1])||!isFinite(C[1][0])||!isFinite(C[1][1])||isNaN(P[0])||isNaN(P[0])){for(var I=["fitbounds","projection.rotation","center","lonaxis.range","lataxis.range"],z="Invalid geo settings, relayout'ing to default view.",O={},D=0;D-1&&g(n.event,i,[r.xaxis],[r.yaxis],r.id,h),c.indexOf("event")>-1&&l.click(i,n.event))}))}function v(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},w.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,a="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",a),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(s.setClipUrl,a,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},u.setConvert(t.mockAxis,r)},w.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,a=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":a.lon,"projection.rotation.lat":a.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":a.lon},i.extendFlat(this.viewInitial,e)},w.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?"translate("+r[0]+","+r[1]+")":null}function a(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",a).attr("transform",n)}},{"../../components/color":602,"../../components/dragelement":621,"../../components/drawing":624,"../../components/fx":642,"../../lib":735,"../../lib/geo_location_utils":729,"../../lib/topojson_utils":762,"../../registry":866,"../cartesian/autorange":782,"../cartesian/axes":783,"../cartesian/select":802,"../plots":846,"./constants":813,"./projections":818,"./zoom":819,d3:165,"topojson-client":538}],815:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getSubplotCalcData,a=t("../../lib").counterRegex,i=t("./geo"),o="geo",s=a(o),l={};l.geo={valType:"subplotid",dflt:o,editType:"calc"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo,s=0;s0&&L<0&&(L+=360);var P,I,z,O=(C+L)/2;if(!p){var D=d?h.projRotate:[O,0,0];P=r("projection.rotation.lon",D[0]),r("projection.rotation.lat",D[1]),r("projection.rotation.roll",D[2]),r("showcoastlines",!d&&y)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!y&&void 0)&&r("oceancolor")}(p?(I=-96.6,z=38.7):(I=d?O:P,z=(E[0]+E[1])/2),r("center.lon",I),r("center.lat",z),g)&&r("projection.parallels",h.projParallels||[0,60]);r("projection.scale"),r("showland",!!y&&void 0)&&r("landcolor"),r("showlakes",!!y&&void 0)&&r("lakecolor"),r("showrivers",!!y&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==u&&y)&&(r("countrycolor"),r("countrywidth")),("usa"===u||"north america"===u&&50===c)&&(r("showsubunits",y),r("subunitcolor"),r("subunitwidth")),d||r("showframe",y)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):m?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}e.exports=function(t,e,r){a(t,e,r,{type:"geo",attributes:s,handleDefaults:c,fullData:r,partition:"y"})}},{"../../lib":735,"../get_data":820,"../subplot_defaults":860,"./constants":813,"./layout_attributes":816}],818:[function(t,e,r){"use strict";e.exports=function(t){function e(t,e){return{type:"Feature",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if("GeometryCollection"===e.type)return{type:"GeometryCollection",geometries:object.geometries.map((function(t){return r(t,n)}))};if(!c.hasOwnProperty(e.type))return null;var a=c[e.type];return t.geo.stream(e,n(a)),a.result()}t.geo.project=function(t,e){var a=e.stream;if(!a)throw new Error("not yet supported");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,a)};var n={Feature:e,FeatureCollection:function(t,r){return{type:"FeatureCollection",features:t.features.map((function(t){return e(t,r)}))}}},a=[],i=[],o={point:function(t,e){a.push([t,e])},result:function(){var t=a.length?a.length<2?{type:"Point",coordinates:a[0]}:{type:"MultiPoint",coordinates:a}:null;return a=[],t}},s={lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){a.length&&(i.push(a),a=[])},result:function(){var t=i.length?i.length<2?{type:"LineString",coordinates:i[0]}:{type:"MultiLineString",coordinates:i}:null;return i=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){var t=a.length;if(t){do{a.push(a[0].slice())}while(++t<4);i.push(a),a=[]}},polygonEnd:u,result:function(){if(!i.length)return null;var t=[],e=[];return i.forEach((function(r){!function(t){if((e=t.length)<4)return!1;var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];for(;++rn^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(a=!a)}return a}(t[0],r))return t.push(e),!0}))||t.push([e])})),i=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var h=1e-6,f=Math.PI,p=f/2,d=(Math.sqrt(f),f/180),g=180/f;function m(t){return t>1?p:t<-1?-p:Math.asin(t)}function v(t){return t>1?0:t<-1?f:Math.acos(t)}var y=t.geo.projection,x=t.geo.projectionMutator;function b(t,e){var r=(2+p)*Math.sin(e);e/=2;for(var n=0,a=1/0;n<10&&Math.abs(a)>h;n++){var i=Math.cos(e);e-=a=(e+Math.sin(e)*(i+2)-r)/(2*i*(1+i))}return[2/Math.sqrt(f*(4+f))*t*(1+Math.cos(e)),2*Math.sqrt(f/(4+f))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-f,0],[0,p],[f,0]]],[[[-f,0],[0,-p],[f,0]]]];function a(t,r){for(var a=r<0?-1:1,i=n[+(r<0)],o=0,s=i.length-1;oi[o][2][0];++o);var l=e(t-i[o][1][0],r);return l[0]+=e(i[o][1][0],a*r>a*i[o][0][1]?i[o][0][1]:r)[0],l}function i(){r=n.map((function(t){return t.map((function(t){var r,n=e(t[0][0],t[0][1])[0],a=e(t[2][0],t[2][1])[0],i=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return i>o&&(r=i,i=o,o=r),[[n,i],[a,o]]}))}))}e.invert&&(a.invert=function(t,i){for(var o=r[+(i<0)],s=n[+(i<0)],l=0,u=o.length;l=0;--a){var p;o=180*(p=n[1][a])[0][0]/f,s=180*p[0][1]/f,c=180*p[1][1]/f,u=180*p[2][0]/f,h=180*p[2][1]/f;r.push(l([[u-e,h-e],[u-e,c+e],[o+e,c+e],[o+e,s-e]],30))}return{type:"Polygon",coordinates:[t.merge(r)]}}(),i)},a},o.lobes=function(t){return arguments.length?(n=t.map((function(t){return t.map((function(t){return[[t[0][0]*f/180,t[0][1]*f/180],[t[1][0]*f/180,t[1][1]*f/180],[t[2][0]*f/180,t[2][1]*f/180]]}))})),i(),o):n.map((function(t){return t.map((function(t){return[[180*t[0][0]/f,180*t[0][1]/f],[180*t[1][0]/f,180*t[1][1]/f],[180*t[2][0]/f,180*t[2][1]/f]]}))}))},o},b.invert=function(t,e){var r=.5*e*Math.sqrt((4+f)/f),n=m(r),a=Math.cos(n);return[t/(2/Math.sqrt(f*(4+f))*(1+a)),m((n+r*(a+2))/(2+p))]},(t.geo.eckert4=function(){return y(b)}).raw=b;var _=t.geo.azimuthalEqualArea.raw;function w(t,e){if(arguments.length<2&&(e=t),1===e)return _;if(e===1/0)return T;function r(r,n){var a=_(r/e,n);return a[0]*=t,a}return r.invert=function(r,n){var a=_.invert(r/t,n);return a[0]*=e,a},r}function T(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function k(t,e){return[3*t/(2*f)*Math.sqrt(f*f/3-e*e),e]}function A(t,e){return[t,1.25*Math.log(Math.tan(f/4+.4*e))]}function M(t){return function(e){var r,n=t*Math.sin(e),a=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>h&&--a>0);return e/2}}T.invert=function(t,e){var r=2*m(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=x(w),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=w,k.invert=function(t,e){return[2/3*f*t/Math.sqrt(f*f/3-e*e),e]},(t.geo.kavrayskiy7=function(){return y(k)}).raw=k,A.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*f]},(t.geo.miller=function(){return y(A)}).raw=A,M(f);var S=function(t,e,r){var n=M(r);function a(r,a){return[t*r*Math.cos(a=n(a)),e*Math.sin(a)]}return a.invert=function(n,a){var i=m(a/e);return[n/(t*Math.cos(i)),m((2*i+Math.sin(2*i))/r)]},a}(Math.SQRT2/p,Math.SQRT2,f);function E(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}(t.geo.mollweide=function(){return y(S)}).raw=S,E.invert=function(t,e){var r,n=e,a=25;do{var i=n*n,o=i*i;n-=r=(n*(1.007226+i*(.015085+o*(.028874*i-.044475-.005916*o)))-e)/(1.007226+i*(.045255+o*(.259866*i-.311325-.005916*11*o)))}while(Math.abs(r)>h&&--a>0);return[t/(.8707+(i=n*n)*(i*(i*i*i*(.003971-.001529*i)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return y(E)}).raw=E;var C=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function L(t,e){var r,n=Math.min(18,36*Math.abs(e)/f),a=Math.floor(n),i=n-a,o=(r=C[a])[0],s=r[1],l=(r=C[++a])[0],c=r[1],u=(r=C[Math.min(19,++a)])[0],h=r[1];return[t*(l+i*(u-o)/2+i*i*(u-2*l+o)/2),(e>0?p:-p)*(c+i*(h-s)/2+i*i*(h-2*c+s)/2)]}function P(t,e){return[t*Math.cos(e),e]}function I(t,e){var r,n=Math.cos(e),a=(r=v(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*a,Math.sin(e)*a]}function z(t,e){var r=I(t,e);return[(r[0]+t/p)/2,(r[1]+e)/2]}C.forEach((function(t){t[1]*=1.0144})),L.invert=function(t,e){var r=e/p,n=90*r,a=Math.min(18,Math.abs(n/5)),i=Math.max(0,Math.floor(a));do{var o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],c=l-o,u=l-2*s+o,h=2*(Math.abs(r)-s)/c,f=u/c,m=h*(1-f*h*(1-2*f*h));if(m>=0||1===i){n=(e>=0?5:-5)*(m+a);var v,y=50;do{m=(a=Math.min(18,Math.abs(n)/5))-(i=Math.floor(a)),o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],n-=(v=(e>=0?p:-p)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*g}while(Math.abs(v)>1e-12&&--y>0);break}}while(--i>=0);var x=C[i][0],b=C[i+1][0],_=C[Math.min(19,i+2)][0];return[t/(b+m*(_-x)/2+m*m*(_-2*b+x)/2),n*d]},(t.geo.robinson=function(){return y(L)}).raw=L,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return y(P)}).raw=P,I.invert=function(t,e){if(!(t*t+4*e*e>f*f+h)){var r=t,n=e,a=25;do{var i,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),p=Math.sin(2*n),d=c*c,g=u*u,m=s*s,y=1-g*l*l,x=y?v(u*l)*Math.sqrt(i=1/y):i=0,b=2*x*u*s-t,_=x*c-e,w=i*(g*m+x*u*l*d),T=i*(.5*o*p-2*x*c*s),k=.25*i*(p*s-x*c*g*o),A=i*(d*l+x*m*u),M=T*k-A*w;if(!M)break;var S=(_*T-b*A)/M,E=(b*k-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]}},(t.geo.aitoff=function(){return y(I)}).raw=I,z.invert=function(t,e){var r=t,n=e,a=25;do{var i,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,f=Math.sin(r),d=Math.cos(r/2),g=Math.sin(r/2),m=g*g,y=1-u*d*d,x=y?v(o*d)*Math.sqrt(i=1/y):i=0,b=.5*(2*x*o*g+r/p)-t,_=.5*(x*s+n)-e,w=.5*i*(u*m+x*o*d*c)+.5/p,T=i*(f*l/4-x*s*g),k=.125*i*(l*g-x*s*u*f),A=.5*i*(c*d+x*m*o)+.5,M=T*k-A*w,S=(_*T-b*A)/M,E=(b*k-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]},(t.geo.winkel3=function(){return y(z)}).raw=z}},{}],819:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../registry"),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},c={cursor:"auto"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function h(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],h={},f={};function p(t,e){h[n+"."+t]=a.nestedProperty(l,t).get(),i.call("_storeDirectGUIEdit",s,c._preGUI,h);var r=a.nestedProperty(u,t);r.get()!==e&&(r.set(e),a.nestedProperty(l,t).set(e),f[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",f)}function f(t,e){var r=u(0,e);function a(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render();var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(c),h(t,e,a)})),r}function p(t,e){var r,a,i,o,s,f,p,d,g,m=u(0,e);function v(t){return e.invert(t)}function y(r){var n=e.rotate(),a=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",a[0]),r("center.lat",a[1])}return m.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),a=e.rotate(),i=e.translate(),o=a,s=v(r)})).on("zoom",(function(){if(f=n.mouse(this),function(t){var r=v(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return m.scale(e.scale()),void m.translate(e.translate());e.scale(n.event.scale),e.translate([i[0],n.event.translate[1]]),s?v(f)&&(d=v(f),p=[o[0]+(d[0]-s[0]),a[1],a[2]],e.rotate(p),o=p):s=v(r=f),g=!0,t.render();var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":c[0],"geo.center.lat":c[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(c),g&&h(t,e,y)})),m}function d(t,e){var r,a={r:e.rotate(),k:e.scale()},i=u(0,e),o=function(t){var e=0,r=arguments.length,a=[];for(;++ed?(i=(h>0?90:-90)-p,a=0):(i=Math.asin(h/d)*s-p,a=Math.sqrt(d*d-h*h));var g=180-i-2*p,m=(Math.atan2(f,u)-Math.atan2(c,a))*s,v=(Math.atan2(f,u)-Math.atan2(c,-a))*s;return b(r[0],r[1],i,m)<=b(r[0],r[1],g,v)?[i,m,r[2]]:[g,v,r[2]]}function b(t,e,r,n){var a=_(r-t),i=_(n-e);return Math.sqrt(a*a+i*i)}function _(t){return(t%360+540)%360-180}function w(t,e,r){var n=r*o,a=t.slice(),i=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return a[i]=t[i]*l-t[s]*c,a[s]=t[s]*l+t[i]*c,a}function T(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}function k(t,e){for(var r=0,n=0,a=t.length;nMath.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(i)*_*(s>=0?1:-1),c.boxEnd[1]l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(i>=0?1:-1),c.boxEnd[0]l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(i=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],i||s?(i&&(m(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(m(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case"pan":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=a),Math.abs(c.dragStart[0]-n).999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}e.exports=function(t,e,r){var a=e._basePlotModules.length>1;o(t,e,r,{type:"gl3d",attributes:l,handleDefaults:u,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!a)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":602,"../../../lib":735,"../../../registry":866,"../../get_data":820,"../../subplot_defaults":860,"./axis_defaults":828,"./layout_attributes":831}],831:[function(t,e,r){"use strict";var n=t("./axis_attributes"),a=t("../../domain").attributes,i=t("../../../lib/extend").extendFlat,o=t("../../../lib").counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:i(s(0,0,1),{}),center:i(s(0,0,0),{}),eye:i(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:a({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},{"../../../lib":735,"../../../lib/extend":726,"../../domain":810,"./axis_attributes":827}],832:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),a=["xaxis","yaxis","zaxis"];function i(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}i.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[a[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new i;return e.merge(t),e}},{"../../../lib/str2rgbarray":758}],833:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[i[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var h=u.tickmode;if("auto"===u.tickmode){u.tickmode="linear";var f=u.nticks||a.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/f)}for(var p=n.calcTicks(u,{msUTC:!0}),d=0;d/g," "));l[c]=p,u.tickmode=h}}e.ticks=l;for(c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],a=new Array(n.length),i=0;ir.deltaY?1.1:1/1.1,i=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*i.x,y:n*i.y,z:n*i.z})}a(t)}}),!!c&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},w.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,a=e.container.getBoundingClientRect(),i=a.width,o=a.height;n.setAttributeNS(null,"viewBox","0 0 "+i+" "+o),n.setAttributeNS(null,"width",i),n.setAttributeNS(null,"height",o),x(e),e.glplot.axes.update(e.axesOptions);for(var s,l=Object.keys(e.traces),c=null,u=e.glplot.selection,d=0;d")):"isosurface"===t.type||"volume"===t.type?(w.valueLabel=f.tickText(e._mockAxis,e._mockAxis.d2l(u.traceCoordinate[3]),"hover").text,M.push("value: "+w.valueLabel),u.textLabel&&M.push(u.textLabel),y=M.join("
        ")):y=u.textLabel;var S={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:b._input,fullData:b,curveNumber:b.index,pointNumber:_};p.appendArrayPointValue(S,b,_),t._module.eventData&&(S=b._module.eventData(S,u,b,{},_));var E={points:[S]};e.fullSceneLayout.hovermode&&p.loneHover({trace:b,x:(.5+.5*v[0]/v[3])*i,y:(.5-.5*v[1]/v[3])*o,xLabel:w.xLabel,yLabel:w.yLabel,zLabel:w.zLabel,text:y,name:c.name,color:p.castHoverOption(b,_,"bgcolor")||c.color,borderColor:p.castHoverOption(b,_,"bordercolor"),fontFamily:p.castHoverOption(b,_,"font.family"),fontSize:p.castHoverOption(b,_,"font.size"),fontColor:p.castHoverOption(b,_,"font.color"),nameLength:p.castHoverOption(b,_,"namelength"),textAlign:p.castHoverOption(b,_,"align"),hovertemplate:h.castOption(b,_,"hovertemplate"),hovertemplateLabels:h.extendFlat({},S,w),eventData:[S]},{container:n,gd:r}),u.buttons&&u.distance<5?r.emit("plotly_click",E):r.emit("plotly_hover",E),s=E}else p.loneUnhover(n),r.emit("plotly_unhover",s);e.drawAnnotations(e)},w.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):h.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var T=["xaxis","yaxis","zaxis"];function k(t,e,r){for(var n=t.fullSceneLayout,a=0;a<3;a++){var i=T[a],o=i.charAt(0),s=n[i],l=e[o],c=e[o+"calendar"],u=e["_"+o+"length"];if(h.isArrayOrTypedArray(l))for(var f,p=0;p<(u||l.length);p++)if(h.isArrayOrTypedArray(l[p]))for(var d=0;dm[1][i])m[0][i]=-1,m[1][i]=1;else{var C=m[1][i]-m[0][i];m[0][i]-=C/32,m[1][i]+=C/32}if("reversed"===s.autorange){var L=m[0][i];m[0][i]=m[1][i],m[1][i]=L}}else{var P=s.range;m[0][i]=s.r2l(P[0]),m[1][i]=s.r2l(P[1])}m[0][i]===m[1][i]&&(m[0][i]-=1,m[1][i]+=1),v[i]=m[1][i]-m[0][i],this.glplot.setBounds(i,{min:m[0][i]*f[i],max:m[1][i]*f[i]})}var I=c.aspectmode;if("cube"===I)g=[1,1,1];else if("manual"===I){var z=c.aspectratio;g=[z.x,z.y,z.z]}else{if("auto"!==I&&"data"!==I)throw new Error("scene.js aspectRatio was not one of the enumerated types");var O=[1,1,1];for(i=0;i<3;++i){var D=y[l=(s=c[T[i]]).type];O[i]=Math.pow(D.acc,1/D.count)/f[i]}g="data"===I||Math.max.apply(null,O)/Math.min.apply(null,O)<=4?O:[1,1,1]}c.aspectratio.x=u.aspectratio.x=g[0],c.aspectratio.y=u.aspectratio.y=g[1],c.aspectratio.z=u.aspectratio.z=g[2],this.glplot.setAspectratio(c.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),this.viewInitial.aspectmode||(this.viewInitial.aspectmode=c.aspectmode);var R=c.domain||null,F=e._size||null;if(R&&F){var B=this.container.style;B.position="absolute",B.left=F.l+R.x[0]*F.w+"px",B.top=F.t+(1-R.y[1])*F.h+"px",B.width=F.w*(R.x[1]-R.x[0])+"px",B.height=F.h*(R.y[1]-R.y[0])+"px"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){var t;return this.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},w.setViewport=function(t){var e,r=t.camera;this.camera.lookAt.apply(this,[[(e=r).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),this.glplot.setAspectratio(t.aspectratio),"orthographic"===r.projection.type!==this.camera._ortho&&(this.glplot.redraw(),this.glplot.clearRGBA(),this.glplot.dispose(),this.initializeGLPlot())},w.isCameraChanged=function(t){var e=this.getCamera(),r=h.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var a=["up","center","eye"],i=["x","y","z"];return e[a[r]]&&t[a[r]][i[n]]===e[a[r]][i[n]]}var a=!1;if(void 0===r)a=!0;else{for(var i=0;i<3;i++)for(var o=0;o<3;o++)if(!n(e,r,i,o)){a=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(a=!0)}return a},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=h.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,a,i,o,s=this.fullLayout,l=this.isCameraChanged(t),c=this.isAspectChanged(t),f=l||c;if(f){var p={};if(l&&(e=this.getCamera(),n=(r=h.nestedProperty(t,this.id+".camera")).get(),p[this.id+".camera"]=n),c&&(a=this.glplot.getAspectratio(),o=(i=h.nestedProperty(t,this.id+".aspectratio")).get(),p[this.id+".aspectratio"]=o),u.call("_storeDirectGUIEdit",t,s._preGUI,p),l)r.set(e),h.nestedProperty(s,this.id+".camera").set(e);if(c)i.set(a),h.nestedProperty(s,this.id+".aspectratio").set(a),this.glplot.redraw()}return f},w.updateFx=function(t,e){var r=this.camera;if(r)if("orbit"===t)r.mode="orbit",r.keyBindingMode="rotate";else if("turntable"===t){r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate";var n=this.graphDiv,a=n._fullLayout,i=this.fullSceneLayout.camera,o=i.up.x,s=i.up.y,l=i.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var c=this.id+".camera.up",f={x:0,y:0,z:1},p={};p[c]=f;var d=n.layout;u.call("_storeDirectGUIEdit",d,a._preGUI,p),i.up=f,h.nestedProperty(d,c).set(f)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,a=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*a*4);e.readPixels(0,0,r,a,e.RGBA,e.UNSIGNED_BYTE,i),function(t,e,r){for(var n=0,a=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[i+l]=Math.min(s*t[i+l],255)}}(i,r,a);var o=document.createElement("canvas");o.width=r,o.height=a;var s,l=o.getContext("2d"),c=l.createImageData(r,a);switch(c.data.set(i),l.putImageData(c,0,0),t){case"jpeg":s=o.toDataURL("image/jpeg");break;case"webp":s=o.toDataURL("image/webp");break;default:s=o.toDataURL("image/png")}return this.staticMode&&this.container.removeChild(n),s},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[T[t]];f.setConvert(e,this.fullLayout),e.setScale=h.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},f.setConvert(this._mockAxis,t)},e.exports=_},{"../../components/fx":642,"../../lib":735,"../../lib/show_no_webgl_msg":756,"../../lib/str2rgbarray":758,"../../plots/cartesian/axes":783,"../../registry":866,"./layout/convert":829,"./layout/spikes":832,"./layout/tick_marks":833,"./project":834,"gl-plot3d":300,"has-passive-events":414,"is-mobile":424,"webgl-context":565}],836:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){n=n||t.length;for(var a=new Array(n),i=0;i\xa9 OpenStreetMap
        ',tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}]},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}]},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:'\xa9 CARTO',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}]},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:'\xa9 CARTO',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}]},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:'Map tiles by Stamen Design, under CC BY 3.0 | Data by OpenStreetMap, under ODbL.',tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}]},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:'Map tiles by Stamen Design, under CC BY 3.0 | Data by OpenStreetMap, under ODbL.',tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}]},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:'Map tiles by Stamen Design, under CC BY 3.0 | Data by OpenStreetMap, under CC BY SA.',tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}]}},a=Object.keys(n);e.exports={requiredVersion:"1.10.1",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:n,styleValuesNonMapbox:a,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@1.10.1."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",a.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},{}],839:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t.split(" "),a=r[0],i=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(a){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(i){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},{"../../lib":735}],840:[function(t,e,r){"use strict";var n=t("mapbox-gl"),a=t("../../lib"),i=t("../../plots/get_data").getSubplotCalcData,o=t("../../constants/xmlns_namespaces"),s=t("d3"),l=t("../../components/drawing"),c=t("../../lib/svg_text_utils"),u=t("./mapbox"),h=r.constants=t("./constants");function f(t){return"string"==typeof t&&(-1!==h.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://"))}r.name="mapbox",r.attr="subplot",r.idRoot="mapbox",r.idRegex=r.attrRegex=a.counterRegex("mapbox"),r.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox;if(n.version!==h.requiredVersion)throw new Error(h.wrongVersionErrorMsg);var s=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],i=[],o=!1,s=!1,l=0;l1&&a.warn(h.multipleTokensErrorMsg),n[0]):(i.length&&a.log(["Listed mapbox access token(s)",i.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,o);n.accessToken=s;for(var l=0;lx/2){var b=g.split("|").join("
        ");v.text(b).attr("data-unformatted",b).call(c.convertToTspans,t),y=l.bBox(v.node())}v.attr("transform","translate(-3, "+(8-y.height)+")"),m.insert("rect",".static-attribution").attr({x:-y.width-6,y:-y.height-3,width:y.width+6,height:y.height+3,fill:"rgba(255, 255, 255, 0.75)"});var _=1;y.width+6>x&&(_=x/(y.width+6));var w=[n.l+n.w*u.x[1],n.t+n.h*(1-u.y[0])];m.attr("transform","translate("+w[0]+","+w[1]+") scale("+_+")")}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n0){for(var r=0;r0}function u(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var a=t.symbol,o=i(a.textposition,a.iconsize);n.extendFlat(e,{"icon-image":a.icon+"-15","icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":a.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":a.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates})},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",i.tileSize=256):"image"===r&&(e="url",i.coordinates=t.coordinates);i[e]=n,t.sourceattribution&&(i.attribution=a(t.sourceattribution));return i}(t);e.addSource(this.idSource,r)}},l.updateLayer=function(t){var e,r=this.subplot,n=u(t),a=this.subplot.belowLookup["layout-"+this.index];if("traces"===a)for(var i=r.getMapLayers(),s=0;s1)for(r=0;r-1&&v(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),a.indexOf("event")>-1&&c.click(n,e.originalEvent)}}},_.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var i,o=t.dragmode;i=h(o)?function(t,r){(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(c)};var s=e.dragOptions;e.dragOptions=a.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:i},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),p(o)||f(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){d(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},_.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},_.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=e._paper.attr("width")-7),r.attr(i);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),u=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){y.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),a=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+a})}}(t,o),s.text(o.text()&&u.text()?" - ":"")}},y.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),a=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return a.append("input").attr({type:"text",name:"data"}).node().value=y.graphJson(t,!1,"keepdata"),a.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var _=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],w=["year","month","dayMonth","dayMonthYear"];function T(t,e){var r=t._context.locale,n=!1,a={};function o(t){for(var r=!0,i=0;i1&&z.length>1){for(i.getComponentMethod("grid","sizeDefaults")(c,s),o=0;o15&&z.length>15&&0===s.shapes.length&&0===s.images.length,s._hasCartesian=s._has("cartesian"),s._hasGeo=s._has("geo"),s._hasGL3D=s._has("gl3d"),s._hasGL2D=s._has("gl2d"),s._hasTernary=s._has("ternary"),s._hasPie=s._has("pie"),y.linkSubplots(h,s,u,a),y.cleanPlot(h,s,u,a);var B=!(!a._has||!a._has("gl2d")),N=!(!s._has||!s._has("gl2d")),j=!(!a._has||!a._has("cartesian"))||B,V=!(!s._has||!s._has("cartesian"))||N;j&&!V?a._bgLayer.remove():V&&!j&&(s._shouldCreateBgLayer=!0),a._zoomlayer&&!t._dragging&&f({_fullLayout:a}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var a=0;a0){var h=1-2*s;n=Math.round(h*n),i=Math.round(h*i)}}var f=y.layoutAttributes.width.min,p=y.layoutAttributes.height.min;n1,g=!e.height&&Math.abs(r.height-i)>1;(g||d)&&(d&&(r.width=n),g&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),y.sanitizeMargins(r)},y.supplyLayoutModuleDefaults=function(t,e,r,n){var a,o,s,c=i.componentsRegistry,u=e._basePlotModules,h=i.subplotsRegistry.cartesian;for(a in c)(s=c[a]).includeBasePlot&&s.includeBasePlot(t,e);for(var f in u.length||u.push(h),e._has("cartesian")&&(i.getComponentMethod("grid","contentDefaults")(t,e),h.finalizeSubplots(t,e)),e._subplots)e._subplots[f].sort(l.subplotSort);for(o=0;o.5*n.width&&(l.log("Margin push",e,"is too big in x, dropping"),r.l=r.r=0),r.b+r.t>.5*n.height&&(l.log("Margin push",e,"is too big in y, dropping"),r.b=r.t=0);var c=void 0!==r.xl?r.xl:r.x,u=void 0!==r.xr?r.xr:r.x,h=void 0!==r.yt?r.yt:r.y,f=void 0!==r.yb?r.yb:r.y;a[e]={l:{val:c,size:r.l+o},r:{val:u,size:r.r+o},b:{val:f,size:r.b+o},t:{val:h,size:r.t+o}},i[e]=1}else delete a[e],delete i[e];if(!n._replotting)return y.doAutoMargin(t)}},y.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),E(e);var r=e._size,n=e.margin,o=l.extendFlat({},r),s=n.l,c=n.r,u=n.t,h=n.b,f=e.width,p=e.height,d=e._pushmargin,g=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var m in d)g[m]||delete d[m];for(var v in d.base={l:{val:0,size:s},r:{val:1,size:c},t:{val:1,size:u},b:{val:0,size:h}},d){var x=d[v].l||{},b=d[v].b||{},_=x.val,w=x.size,T=b.val,k=b.size;for(var A in d){if(a(w)&&d[A].r){var M=d[A].r.val,S=d[A].r.size;if(M>_){var C=(w*M+(S-f)*_)/(M-_),L=(S*(1-_)+(w-f)*(1-M))/(M-_);C>=0&&L>=0&&f-(C+L)>0&&C+L>s+c&&(s=C,c=L)}}if(a(k)&&d[A].t){var P=d[A].t.val,I=d[A].t.size;if(P>T){var z=(k*P+(I-p)*T)/(P-T),O=(I*(1-T)+(k-p)*(1-P))/(P-T);z>=0&&O>=0&&p-(O+z)>0&&z+O>h+u&&(h=z,u=O)}}}}}if(r.l=Math.round(s),r.r=Math.round(c),r.t=Math.round(u),r.b=Math.round(h),r.p=Math.round(n.pad),r.w=Math.round(f)-r.l-r.r,r.h=Math.round(p)-r.t-r.b,!e._replotting&&y.didMarginChange(o,r)){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var D=3*(1+Object.keys(g).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return i.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var o=0,s=0;function l(){return o++,function(){s++,n||s!==o||function(e){if(!t._transitionData)return;(function(t){if(t)for(;t.length;)t.shift()})(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return i.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)}(a)}}r.runFn(l),setTimeout(l())}))}],o=l.syncOrAsync(a,t);return o&&o.then||(o=Promise.resolve()),o.then((function(){return t}))}y.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},y.graphJson=function(t,e,r,n,a,i){(a&&e&&!t._fullData||a&&!e&&!t._fullLayout)&&y.supplyDefaults(t);var o=a?t._fullData:t.data,s=a?t._fullLayout:t.layout,c=(t._transitionData||{})._frames;function u(t,e){if("function"==typeof t)return e?"_function_":null;if(l.isPlainObject(t)){var n,a={};return Object.keys(t).sort().forEach((function(i){if(-1===["_","["].indexOf(i.charAt(0)))if("function"!=typeof t[i]){if("keepdata"===r){if("src"===i.substr(i.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[i+"src"])&&n.indexOf(":")>0&&!l.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[i+"src"])&&n.indexOf(":")>0)return;a[i]=u(t[i],e)}else e&&(a[i]="_function")})),a}return Array.isArray(t)?t.map((function(t){return u(t,e)})):l.isTypedArray(t)?l.simpleMap(t,l.identity):l.isJSDate(t)?l.ms2DateTimeLocal(+t):t}var h={data:(o||[]).map((function(t){var r=u(t);return e&&delete r.fit,r}))};return e||(h.layout=u(s)),t.framework&&t.framework.isPolar&&(h=t.framework.getConfig()),c&&(h.frames=u(c)),i&&(h.config=u(t._context,!0)),"object"===n?h:JSON.stringify(h)},y.modifyFrames=function(t,e){var r,n,a,i=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(i=n.calc(t,r))}Array.isArray(i)&&i[0]||(i=[{x:u,y:u}]),i[0].t||(i[0].t={}),i[0].trace=r,d[e]=i}}for(I(c,f,p),a=0;a1e-10?t:0}function f(t,e,r){e=e||0,r=r||0;for(var n=t.length,a=new Array(n),i=0;i0?r:1/0})),a=n.mod(r+1,e.length);return[e[r],e[a]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var a=-e*r,i=e*e+1,o=2*(e*a-r),s=a*a+r*r-t*t,l=Math.sqrt(o*o-4*i*s),c=(-o+l)/(2*i),u=(-o-l)/(2*i);return[[c,e*c+a+n],[u,e*u+a+n]]},clampTiny:h,pathPolygon:function(t,e,r,n,a,i){return"M"+f(u(t,e,r,n),a,i).join("L")},pathPolygonAnnulus:function(t,e,r,n,a,i,o){var s,l;t=0?f.angularAxis.domain:n.extent(T),E=Math.abs(T[1]-T[0]);A&&!k&&(E=0);var C=S.slice();M&&k&&(C[1]+=E);var L=f.angularAxis.ticksCount||4;L>8&&(L=L/(L/8)+L%8),f.angularAxis.ticksStep&&(L=(C[1]-C[0])/L);var P=f.angularAxis.ticksStep||(C[1]-C[0])/(L*(f.minorTicks+1));w&&(P=Math.max(Math.round(P),1)),C[2]||(C[2]=P);var I=n.range.apply(this,C);if(I=I.map((function(t,e){return parseFloat(t.toPrecision(12))})),s=n.scale.linear().domain(C.slice(0,2)).range("clockwise"===f.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=M?E:0,"undefined"==typeof(t=n.select(this).select("svg.chart-root"))||t.empty()){var z=(new DOMParser).parseFromString("' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '","application/xml"),O=this.appendChild(this.ownerDocument.importNode(z.documentElement,!0));t=n.select(O)}t.select(".guides-group").style({"pointer-events":"none"}),t.select(".angular.axis-group").style({"pointer-events":"none"}),t.select(".radial.axis-group").style({"pointer-events":"none"});var D,R=t.select(".chart-group"),F={fill:"none",stroke:f.tickColor},B={"font-size":f.font.size,"font-family":f.font.family,fill:f.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map((function(t,e){return" "+t+" 0 "+f.font.outlineColor})).join(",")};if(f.showLegend){D=t.select(".legend-group").attr({transform:"translate("+[x,f.margin.top]+")"}).style({display:"block"});var N=p.map((function(t,e){var r=o.util.cloneJson(t);return r.symbol="DotPlot"===t.geometry?t.dotType||"circle":"LinePlot"!=t.geometry?"square":"line",r.visibleInLegend="undefined"==typeof t.visibleInLegend||t.visibleInLegend,r.color="LinePlot"===t.geometry?t.strokeColor:t.color,r}));o.Legend().config({data:p.map((function(t,e){return t.name||"Element"+e})),legendConfig:a({},o.Legend.defaultConfig().legendConfig,{container:D,elements:N,reverseOrder:f.legend.reverseOrder})})();var j=D.node().getBBox();x=Math.min(f.width-j.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2,x=Math.max(10,x),_=[f.margin.left+x,f.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),D.attr("transform","translate("+[_[0]+x,_[1]-x]+")")}else D=t.select(".legend-group").style({display:"none"});t.attr({width:f.width,height:f.height}).style({opacity:f.opacity}),R.attr("transform","translate("+_+")").style({cursor:"crosshair"});var V=[(f.width-(f.margin.left+f.margin.right+2*x+(j?j.width:0)))/2,(f.height-(f.margin.top+f.margin.bottom+2*x))/2];if(V[0]=Math.max(0,V[0]),V[1]=Math.max(0,V[1]),t.select(".outer-group").attr("transform","translate("+V+")"),f.title&&f.title.text){var U=t.select("g.title-group text").style(B).text(f.title.text),q=U.node().getBBox();U.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(".radial.axis-group");if(f.radialAxis.gridLinesVisible){var G=H.selectAll("circle.grid-circle").data(r.ticks(5));G.enter().append("circle").attr({class:"grid-circle"}).style(F),G.attr("r",r),G.exit().remove()}H.select("circle.outside-circle").attr({r:x}).style(F);var Y=t.select("circle.background-circle").attr({r:x}).style({fill:f.backgroundColor,stroke:f.stroke});function W(t,e){return s(t)%360+f.orientation}if(f.radialAxis.visible){var Z=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(Z).attr({transform:"rotate("+f.radialAxis.orientation+")"}),H.selectAll(".domain").style(F),H.selectAll("g>text").text((function(t,e){return this.textContent+f.radialAxis.ticksSuffix})).style(B).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===f.radialAxis.tickOrientation?"rotate("+-f.radialAxis.orientation+") translate("+[0,B["font-size"]]+")":"translate("+[0,B["font-size"]]+")"}}),H.selectAll("g>line").style({stroke:"black"})}var X=t.select(".angular.axis-group").selectAll("g.angular-tick").data(I),J=X.enter().append("g").classed("angular-tick",!0);X.attr({transform:function(t,e){return"rotate("+W(t)+")"}}).style({display:f.angularAxis.visible?"block":"none"}),X.exit().remove(),J.append("line").classed("grid-line",!0).classed("major",(function(t,e){return e%(f.minorTicks+1)==0})).classed("minor",(function(t,e){return!(e%(f.minorTicks+1)==0)})).style(F),J.selectAll(".minor").style({stroke:f.minorTickColor}),X.select("line.grid-line").attr({x1:f.tickLength?x-f.tickLength:0,x2:x}).style({display:f.angularAxis.gridLinesVisible?"block":"none"}),J.append("text").classed("axis-text",!0).style(B);var K=X.select("text.axis-text").attr({x:x+f.labelOffset,dy:i+"em",transform:function(t,e){var r=W(t),n=x+f.labelOffset,a=f.angularAxis.tickOrientation;return"horizontal"==a?"rotate("+-r+" "+n+" 0)":"radial"==a?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:f.angularAxis.labelsVisible?"block":"none"}).text((function(t,e){return e%(f.minorTicks+1)!=0?"":w?w[t]+f.angularAxis.ticksSuffix:t+f.angularAxis.ticksSuffix})).style(B);f.angularAxis.rewriteTicks&&K.text((function(t,e){return e%(f.minorTicks+1)!=0?"":f.angularAxis.rewriteTicks(this.textContent,e)}));var Q=n.max(R.selectAll(".angular-tick text")[0].map((function(t,e){return t.getCTM().e+t.getBBox().width})));D.attr({transform:"translate("+[x+Q,f.margin.top]+")"});var $=t.select("g.geometry-group").selectAll("g").size()>0,tt=t.select("g.geometry-group").selectAll("g.geometry").data(p);if(tt.enter().append("g").attr({class:function(t,e){return"geometry geometry"+e}}),tt.exit().remove(),p[0]||$){var et=[];p.forEach((function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter((function(t,r){return r==e})),n.geometry=t.geometry,n.orientation=f.orientation,n.direction=f.direction,n.index=e,et.push({data:t,geometryConfig:n})}));var rt=n.nest().key((function(t,e){return"undefined"!=typeof t.data.groupId||"unstacked"})).entries(et),nt=[];rt.forEach((function(t,e){"unstacked"===t.key?nt=nt.concat(t.values.map((function(t,e){return[t]}))):nt.push(t.values)})),nt.forEach((function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map((function(t,e){return a(o[r].defaultConfig(),t)}));o[r]().config(n)()}))}var at,it,ot=t.select(".guides-group"),st=t.select(".tooltips-group"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,hasTick:!0})();if(!k){var ht=ot.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});R.on("mousemove.angular-guide",(function(t,e){var r=o.util.getMousePos(Y).angle;ht.attr({x2:-x,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-f.orientation)%360;at=s.invert(n);var a=o.util.convertToCartesian(x+12,r+180);lt.text(o.util.round(at)).move([a[0]+_[0],a[1]+_[1]])})).on("mouseout.angular-guide",(function(t,e){ot.select("line").style({opacity:0})}))}var ft=ot.select("circle").style({stroke:"grey",fill:"none"});R.on("mousemove.radial-guide",(function(t,e){var n=o.util.getMousePos(Y).radius;ft.attr({r:n}).style({opacity:.5}),it=r.invert(o.util.getMousePos(Y).radius);var a=o.util.convertToCartesian(n,f.radialAxis.orientation);ct.text(o.util.round(it)).move([a[0]+_[0],a[1]+_[1]])})).on("mouseout.radial-guide",(function(t,e){ft.style({opacity:0}),ut.hide(),lt.hide(),ct.hide()})),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",(function(e,r){var a=n.select(this),i=this.style.fill,s="black",l=this.style.opacity||1;if(a.attr({"data-opacity":l}),i&&"none"!==i){a.attr({"data-fill":i}),s=n.hsl(i).darker().toString(),a.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};k&&(c.t=w[e[0]]);var u="t: "+c.t+", r: "+c.r,h=this.getBoundingClientRect(),f=t.node().getBoundingClientRect(),p=[h.left+h.width/2-V[0]-f.left,h.top+h.height/2-V[1]-f.top];ut.config({color:s}).text(u),ut.move(p)}else i=this.style.stroke||"black",a.attr({"data-stroke":i}),s=n.hsl(i).darker().toString(),a.style({stroke:s,opacity:1})})).on("mousemove.tooltip",(function(t,e){if(0!=n.event.which)return!1;n.select(this).attr("data-fill")&&ut.show()})).on("mouseout.tooltip",(function(t,e){ut.hide();var r=n.select(this),a=r.attr("data-fill");a?r.style({fill:a,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})}))}))}(c),this},f.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach((function(t,e){l.data[e]||(l.data[e]={}),a(l.data[e],o.Axis.defaultConfig().data[0]),a(l.data[e],t)})),a(l.layout,o.Axis.defaultConfig().layout),a(l.layout,e.layout),this},f.getLiveConfig=function(){return u},f.getinputConfig=function(){return c},f.radialScale=function(t){return r},f.angularScale=function(t){return s},f.svg=function(){return t},n.rebind(f,h,"on"),f},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:"Line1",geometry:"LinePlot",color:null,strokeDash:"solid",strokeColor:null,strokeSize:"1",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:"gray",outlineColor:"white",family:"Tahoma, sans-serif"},direction:"clockwise",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:"",visible:!0,gridLinesVisible:!0,tickOrientation:"horizontal",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:"",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:"horizontal",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:"silver",minorTickColor:"#eee",backgroundColor:"none",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT="dataExtent",o.AREA="AreaChart",o.LINE="LinePlot",o.DOT="DotPlot",o.BAR="BarChart",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map((function(e,r){var n=e*Math.PI/180;return[e,t(n)]}))},o.util.dataFromEquation=function(t,e,r){var a=e||6,i=[],o=[];n.range(0,360+a,a).forEach((function(e,r){var n=e*Math.PI/180,a=t(n);i.push(e),o.push(a)}));var s={t:i,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if("undefined"==typeof t)return null;var r=[].concat(t);return n.range(e).map((function(t,e){return r[e]||r[0]}))},o.util.fillArrays=function(t,e,r){return e.forEach((function(e,n){t[e]=o.util.ensureArray(t[e],r)})),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){"string"==typeof e&&(e=e.split("."));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map((function(t,e){return n.sum(t)}))},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter((function(t,e,r){return r.indexOf(t)==e}))},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],a=e[1],i={};return i.x=r,i.y=a,i.pos=e,i.angle=180*(Math.atan2(a,r)+Math.PI)/Math.PI,i.radius=Math.sqrt(r*r+a*a),i},o.util.duplicatesCount=function(t){for(var e,r={},n={},a=0,i=t.length;a0)){var l=n.select(this.parentNode).selectAll("path.line").data([0]);l.enter().insert("path"),l.attr({class:"line",d:u(s),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return d.fill(r,a,i)},"fill-opacity":0,stroke:function(t,e){return d.stroke(r,a,i)},"stroke-width":function(t,e){return d["stroke-width"](r,a,i)},"stroke-dasharray":function(t,e){return d["stroke-dasharray"](r,a,i)},opacity:function(t,e){return d.opacity(r,a,i)},display:function(t,e){return d.display(r,a,i)}})}};var h=e.angularScale.range(),f=Math.abs(h[1]-h[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle((function(t){return-f/2})).endAngle((function(t){return f/2})).innerRadius((function(t){return e.radialScale(l+(t[2]||0))})).outerRadius((function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])}));c.arc=function(t,r,a){n.select(this).attr({class:"mark arc",d:p,transform:function(t,r){return"rotate("+(e.orientation+s(t[0])+90)+")"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},"stroke-width":function(e,r,n){return t[n].data.strokeSize+"px"},"stroke-dasharray":function(e,n,a){return r[t[a].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return"undefined"==typeof t[n].data.visible||t[n].data.visible?"block":"none"}},g=n.select(this).selectAll("g.layer").data(o);g.enter().append("g").attr({class:"layer"});var m=g.selectAll("path.mark").data((function(t,e){return t}));m.enter().append("path").attr({class:"mark"}),m.style(d).each(c[e.geometryType]),m.exit().remove(),g.exit().remove()}))}return i.config=function(e){return arguments.length?(e.forEach((function(e,r){t[r]||(t[r]={}),a(t[r],o.PolyChart.defaultConfig()),a(t[r],e)})),this):t},i.getColorScale=function(){},n.rebind(i,e,"on"),i},o.PolyChart.defaultConfig=function(){return{data:{name:"geom1",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:"circle",dotSize:64,dotVisible:!1,barWidth:20,color:"#ffa500",strokeSize:1,strokeColor:"silver",strokeDash:"solid",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:"LinePlot",geometryType:"arc",direction:"clockwise",orientation:0,container:"body",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:"bar"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:"arc"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:"dot",dotType:"circle"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:"line"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch("hover");function r(){var e=t.legendConfig,i=t.data.map((function(t,r){return[].concat(t).map((function(t,n){var i=a({},e.elements[r]);return i.name=t,i.color=[].concat(e.elements[r].color)[n],i}))})),o=n.merge(i);o=o.filter((function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||"undefined"==typeof e.elements[r].visibleInLegend)})),e.reverseOrder&&(o=o.reverse());var s=e.container;("string"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map((function(t,e){return t.color})),c=e.fontSize,u=null==e.isContinuous?"number"==typeof o[0]:e.isContinuous,h=u?e.height:c*o.length,f=s.classed("legend-group",!0).selectAll("svg").data([0]),p=f.enter().append("svg").attr({width:300,height:h+c,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"});p.append("g").classed("legend-axis",!0),p.append("g").classed("legend-marks",!0);var d=n.range(o.length),g=n.scale[u?"linear":"ordinal"]().domain(d).range(l),m=n.scale[u?"linear":"ordinal"]().domain(d)[u?"range":"rangePoints"]([0,h]);if(u){var v=f.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);v.enter().append("stop"),v.attr({offset:function(t,e){return e/(l.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),f.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var y=f.select(".legend-marks").selectAll("path.legend-mark").data(o);y.enter().append("path").classed("legend-mark",!0),y.attr({transform:function(t,e){return"translate("+[c/2,m(e)+c/2]+")"},d:function(t,e){var r,a,i,o=t.symbol;return i=3*(a=c),"line"===(r=o)?"M"+[[-a/2,-a/12],[a/2,-a/12],[a/2,a/12],[-a/2,a/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(i)():n.svg.symbol().type("square").size(i)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(m).orient("right"),b=f.select("g.legend-axis").attr({transform:"translate("+[u?e.colorBandWidth:c,c/2]+")"}).call(x);return b.selectAll(".domain").style({fill:"none",stroke:"none"}),b.selectAll("line").style({fill:"none",stroke:u?e.textColor:"none"}),b.selectAll("text").style({fill:e.textColor,"font-size":e.fontSize}).text((function(t,e){return o[e].name})),r}return r.config=function(e){return arguments.length?(a(t,e),this):t},n.rebind(r,e,"on"),r},o.Legend.defaultConfig=function(t,e){return{data:["a","b","c"],legendConfig:{elements:[{symbol:"line",color:"red"},{symbol:"square",color:"yellow"},{symbol:"diamond",color:"limegreen"}],height:150,colorBandWidth:30,fontSize:12,container:"body",isContinuous:null,textColor:"grey",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,i={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},s="tooltip-"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=i.container.selectAll("g."+s).data([0])).enter().append("g").classed(s,!0).style({"pointer-events":"none",display:"none"});return r=n.append("path").style({fill:"white","fill-opacity":.9}).attr({d:"M0 0"}),e=n.append("text").attr({dx:i.padding+l,dy:.3*+i.fontSize}),c};return c.text=function(a){var o=n.hsl(i.color).l,s=o>=.5?"#aaa":"white",u=o>=.5?"black":"white",h=a||"";e.style({fill:u,"font-size":i.fontSize+"px"}).text(h);var f=i.padding,p=e.node().getBBox(),d={fill:i.color,stroke:s,"stroke-width":"2px"},g=p.width+2*f+l,m=p.height+2*f;return r.attr({d:"M"+[[l,-m/2],[l,-m/4],[i.hasTick?0:l,0],[l,m/4],[l,m/2],[g,m/2],[g,-m/2]].join("L")+"Z"}).style(d),t.attr({transform:"translate("+[l,-m/2+2*f]+")"}),t.style({display:"block"}),c},c.move=function(e){if(t)return t.attr({transform:"translate("+[e[0],e[1]]+")"}).style({display:"block"}),c},c.hide=function(){if(t)return t.style({display:"none"}),c},c.show=function(){if(t)return t.style({display:"block"}),c},c.config=function(t){return a(i,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map((function(t,r){var n=a({},t);return[[n,["marker","color"],["color"]],[n,["marker","opacity"],["opacity"]],[n,["marker","line","color"],["strokeColor"]],[n,["marker","line","dash"],["strokeDash"]],[n,["marker","line","width"],["strokeSize"]],[n,["marker","symbol"],["dotType"]],[n,["marker","size"],["dotSize"]],[n,["marker","barWidth"],["barWidth"]],[n,["line","interpolation"],["lineInterpolation"]],[n,["showlegend"],["visibleInLegend"]]].forEach((function(t,r){o.util.translator.apply(null,t.concat(e))})),e||delete n.marker,e&&delete n.groupId,e?("LinePlot"===n.geometry?(n.type="scatter",!0===n.dotVisible?(delete n.dotVisible,n.mode="lines+markers"):n.mode="lines"):"DotPlot"===n.geometry?(n.type="scatter",n.mode="markers"):"AreaChart"===n.geometry?n.type="area":"BarChart"===n.geometry&&(n.type="bar"),delete n.geometry):("scatter"===n.type?"lines"===n.mode?n.geometry="LinePlot":"markers"===n.mode?n.geometry="DotPlot":"lines+markers"===n.mode&&(n.geometry="LinePlot",n.dotVisible=!0):"area"===n.type?n.geometry="AreaChart":"bar"===n.type&&(n.geometry="BarChart"),delete n.mode,delete n.type),n})),!e&&t.layout&&"stack"===t.layout.barmode)){var i=o.util.duplicates(r.data.map((function(t,e){return t.geometry})));r.data.forEach((function(t,e){var n=i.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)}))}if(t.layout){var s=a({},t.layout);if([[s,["plot_bgcolor"],["backgroundColor"]],[s,["showlegend"],["showLegend"]],[s,["radialaxis"],["radialAxis"]],[s,["angularaxis"],["angularAxis"]],[s.angularaxis,["showline"],["gridLinesVisible"]],[s.angularaxis,["showticklabels"],["labelsVisible"]],[s.angularaxis,["nticks"],["ticksCount"]],[s.angularaxis,["tickorientation"],["tickOrientation"]],[s.angularaxis,["ticksuffix"],["ticksSuffix"]],[s.angularaxis,["range"],["domain"]],[s.angularaxis,["endpadding"],["endPadding"]],[s.radialaxis,["showline"],["gridLinesVisible"]],[s.radialaxis,["tickorientation"],["tickOrientation"]],[s.radialaxis,["ticksuffix"],["ticksSuffix"]],[s.radialaxis,["range"],["domain"]],[s.angularAxis,["showline"],["gridLinesVisible"]],[s.angularAxis,["showticklabels"],["labelsVisible"]],[s.angularAxis,["nticks"],["ticksCount"]],[s.angularAxis,["tickorientation"],["tickOrientation"]],[s.angularAxis,["ticksuffix"],["ticksSuffix"]],[s.angularAxis,["range"],["domain"]],[s.angularAxis,["endpadding"],["endPadding"]],[s.radialAxis,["showline"],["gridLinesVisible"]],[s.radialAxis,["tickorientation"],["tickOrientation"]],[s.radialAxis,["ticksuffix"],["ticksSuffix"]],[s.radialAxis,["range"],["domain"]],[s.font,["outlinecolor"],["outlineColor"]],[s.legend,["traceorder"],["reverseOrder"]],[s,["labeloffset"],["labelOffset"]],[s,["defaultcolorrange"],["defaultColorRange"]]].forEach((function(t,r){o.util.translator.apply(null,t.concat(e))})),e?("undefined"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&"undefined"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&"undefined"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&"boolean"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder="normal"!=s.legend.reverseOrder),s.legend&&"boolean"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?"reversed":"normal",delete s.legend.reverseOrder),s.margin&&"undefined"!=typeof s.margin.t){var l=["t","r","b","l","pad"],c=["top","right","bottom","left","pad"],u={};n.entries(s.margin).forEach((function(t,e){u[c[l.indexOf(t.key)]]=t.value})),s.margin=u}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{"../../../constants/alignment":704,"../../../lib":735,d3:165}],856:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../../lib"),i=t("../../../components/color"),o=t("./micropolar"),s=t("./undo_manager"),l=a.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,a,i,u,h=new s;function f(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?l(e,r):r,a||(a=o.Axis()),i=o.adapter.plotly().convert(e),a.config(i).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return f.isPolar=!0,f.svg=function(){return a.svg()},f.getConfig=function(){return e},f.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},f.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},f.setUndoPoint=function(){var t,n,a=this,i=o.util.cloneJson(e);t=i,n=r,h.add({undo:function(){n&&a(n)},redo:function(){a(t)}}),r=o.util.cloneJson(i)},f.undo=function(){h.undo()},f.redo=function(){h.redo()},f},c.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),a=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:i.background,_container:e,_paperdiv:r,_paper:a};t._fullLayout=l(o,t.layout)}},{"../../../components/color":602,"../../../lib":735,"./micropolar":855,"./undo_manager":857,d3:165}],857:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function a(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n||(e.splice(r+1,e.length-r),e.push(t),r=e.length-1),this},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(a(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(a(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r=90||s>90&&l>=450?1:u<=0&&f<=0?0:Math.max(u,f);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&h>=0?0:Math.min(c,h);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&f>=0?0:Math.min(u,f);n=l>=360?1:c<=0&&h<=0?0:Math.max(c,h);return[e,r,n,a]}(f),x=y[2]-y[0],b=y[3]-y[1],_=h/u,w=Math.abs(b/x);_>w?(p=u,v=(h-(d=u*w))/n.h/2,g=[o[0],o[1]],m=[c[0]+v,c[1]-v]):(d=h,v=(u-(p=h/w))/n.w/2,g=[o[0]+v,o[1]-v],m=[c[0],c[1]]),this.xLength2=p,this.yLength2=d,this.xDomain2=g,this.yDomain2=m;var T=this.xOffset2=n.l+n.w*g[0],k=this.yOffset2=n.t+n.h*(1-m[1]),A=this.radius=p/x,M=this.innerRadius=e.hole*A,S=this.cx=T-A*y[0],L=this.cy=k+A*y[3],P=this.cxx=S-T,I=this.cyy=L-k;this.radialAxis=this.mockAxis(t,e,a,{_id:"x",side:{counterclockwise:"top",clockwise:"bottom"}[a.side],domain:[M/n.w,A/n.w]}),this.angularAxis=this.mockAxis(t,e,i,{side:"right",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:"x",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:"y",domain:m});var z=this.pathSubplot();this.clipPaths.forTraces.select("path").attr("d",z).attr("transform",R(P,I)),r.frontplot.attr("transform",R(T,k)).call(l.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr("d",z).attr("transform",R(S,L)).call(s.fill,e.bgcolor)},I.mockAxis=function(t,e,r,n){var a=o.extendFlat({},r,n);return f(a,e,t),a},I.mockCartesianAxis=function(t,e,r){var n=this,a=r._id,i=o.extendFlat({type:"linear"},r);h(i,t);var s={x:[0,2],y:[1,3]};return i.setRange=function(){var t=n.sectorBBox,r=s[a],o=n.radialAxis._rl,l=(o[1]-o[0])/(1-e.hole);i.range=[t[r[0]]*l,t[r[1]]*l]},i.isPtWithinRange="x"===a?function(t){return n.isPtInside(t)}:function(){return!0},i.setRange(),i.setScale(),i},I.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,a=e.radialaxis;n.setScale(),p(r,n);var i=n.range;a.range=i.slice(),a._input.range=i.slice(),n._rl=[n.r2l(i[0],null,"gregorian"),n.r2l(i[1],null,"gregorian")]},I.updateRadialAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.radialaxis,p=E(e.sector[0],360),d=r.radialAxis,g=l90&&p<=270&&(d.tickangle=180);var m=function(t){return"translate("+(d.l2p(t.x)+l)+",0)"},v=z(f);if(r.radialTickLayout!==v&&(a["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=v),g){d.setScale();var y=u.calcTicks(d),x=u.clipEnds(d,y),b=u.getTickSigns(d)[2];u.drawTicks(n,d,{vals:y,layer:a["radial-axis"],path:u.makeTickPath(d,0,b),transFn:m,crisp:!1}),u.drawGrid(n,d,{vals:x,layer:a["radial-grid"],path:function(t){return r.pathArc(d.r2p(t.x)+l)},transFn:o.noop,crisp:!1}),u.drawLabels(n,d,{vals:y,layer:a["radial-axis"],transFn:m,labelFns:u.makeLabelFns(d,0)})}var _=r.radialAxisAngle=r.vangles?L(O(C(f.angle),r.vangles)):f.angle,w=R(c,h),T=w+F(-_);D(a["radial-axis"],g&&(f.showticklabels||f.ticks),{transform:T}),D(a["radial-grid"],g&&f.showgrid,{transform:w}),D(a["radial-line"].select("line"),g&&f.showline,{x1:l,y1:0,x2:i,y2:0,transform:T}).attr("stroke-width",f.linewidth).call(s.stroke,f.linecolor)},I.updateRadialAxisTitle=function(t,e,r){var n=this.gd,a=this.radius,i=this.cx,o=this.cy,s=e.radialaxis,c=this.id+"title",u=void 0!==r?r:this.radialAxisAngle,h=C(u),f=Math.cos(h),p=Math.sin(h),d=0;if(s.title){var g=l.bBox(this.layers["radial-axis"].node()).height,m=s.title.font.size;d="counterclockwise"===s.side?-g-.4*m:g+.8*m}this.layers["radial-axis-title"]=v.draw(n,c,{propContainer:s,propName:this.id+".radialaxis.title",placeholder:S(n,"Click to enter radial axis title"),attributes:{x:i+a/2*f+d*p,y:o-a/2*p+d*f,"text-anchor":"middle"},transform:{rotate:-u}})},I.updateAngularAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.angularaxis,p=r.angularAxis;r.fillViewInitialKey("angularaxis.rotation",f.rotation),p.setGeometry(),p.setScale();var d=function(t){return p.t2g(t.x)};"linear"===p.type&&"radians"===p.thetaunit&&(p.tick0=L(p.tick0),p.dtick=L(p.dtick));var g=function(t){return R(c+i*Math.cos(t),h-i*Math.sin(t))},m=u.makeLabelFns(p,0).labelStandoff,v={xFn:function(t){var e=d(t);return Math.cos(e)*m},yFn:function(t){var e=d(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(m+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*k)},anchorFn:function(t){var e=d(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=d(t);return-.5*(1+Math.sin(n))*r}},y=z(f);r.angularTickLayout!==y&&(a["angular-axis"].selectAll("."+p._id+"tick").remove(),r.angularTickLayout=y);var x,b=u.calcTicks(p);if("linear"===e.gridshape?(x=b.map(d),o.angleDelta(x[0],x[1])<0&&(x=x.slice().reverse())):x=null,r.vangles=x,"category"===p.type&&(b=b.filter((function(t){return o.isAngleInsideSector(d(t),r.sectorInRad)}))),p.visible){var _="inside"===p.ticks?-1:1,w=(p.linewidth||1)/2;u.drawTicks(n,p,{vals:b,layer:a["angular-axis"],path:"M"+_*w+",0h"+_*p.ticklen,transFn:function(t){var e=d(t);return g(e)+F(-L(e))},crisp:!1}),u.drawGrid(n,p,{vals:b,layer:a["angular-grid"],path:function(t){var e=d(t),r=Math.cos(e),n=Math.sin(e);return"M"+[c+l*r,h-l*n]+"L"+[c+i*r,h-i*n]},transFn:o.noop,crisp:!1}),u.drawLabels(n,p,{vals:b,layer:a["angular-axis"],repositionOnUpdate:!0,transFn:function(t){return g(d(t))},labelFns:v})}D(a["angular-line"].select("path"),f.showline,{d:r.pathSubplot(),transform:R(c,h)}).attr("stroke-width",f.linewidth).call(s.stroke,f.linecolor)},I.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1),this.updateMainDrag(t))},I.updateMainDrag=function(t){var e=this,r=e.gd,o=e.layers,s=t._zoomlayer,l=A.MINZOOM,c=A.OFFEDGE,u=e.radius,h=e.innerRadius,f=e.cx,p=e.cy,v=e.cxx,_=e.cyy,w=e.sectorInRad,T=e.vangles,k=e.radialAxis,S=M.clampTiny,E=M.findXYatLength,C=M.findEnclosingVertexAngles,L=A.cornerHalfWidth,P=A.cornerLen/2,I=d.makeDragger(o,"path","maindrag","crosshair");n.select(I).attr("d",e.pathSubplot()).attr("transform",R(f,p));var z,O,D,F,B,N,j,V,U,q={element:I,gd:r,subplot:e.id,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis},xaxes:[e.xaxis],yaxes:[e.yaxis]};function H(t,e){return Math.sqrt(t*t+e*e)}function G(t,e){return H(t-v,e-_)}function Y(t,e){return Math.atan2(_-e,t-v)}function W(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function Z(t,r){if(0===t)return e.pathSector(2*L);var n=P/t,a=r-n,i=r+n,o=Math.max(0,Math.min(t,u)),s=o-L,l=o+L;return"M"+W(s,a)+"A"+[s,s]+" 0,0,0 "+W(s,i)+"L"+W(l,i)+"A"+[l,l]+" 0,0,1 "+W(l,a)+"Z"}function X(t,r,n){if(0===t)return e.pathSector(2*L);var a,i,o=W(t,r),s=W(t,n),l=S((o[0]+s[0])/2),c=S((o[1]+s[1])/2);if(l&&c){var u=c/l,h=-1/u,f=E(L,u,l,c);a=E(P,h,f[0][0],f[0][1]),i=E(P,h,f[1][0],f[1][1])}else{var p,d;c?(p=P,d=L):(p=L,d=P),a=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return"M"+a.join("L")+"L"+i.reverse().join("L")+"Z"}function J(t,e){return e=Math.max(Math.min(e,u),h),tl?(t-1&&1===t&&x(n,r,[e.xaxis],[e.yaxis],e.id,q),a.indexOf("event")>-1&&m.click(r,n,e.id)}q.prepFn=function(t,n,i){var o=r._fullLayout.dragmode,l=I.getBoundingClientRect();if(z=n-l.left,O=i-l.top,T){var c=M.findPolygonOffset(u,w[0],w[1],T);z+=v+c[0],O+=_+c[1]}switch(o){case"zoom":q.moveFn=T?tt:Q,q.clickFn=nt,q.doneFn=et,function(){D=null,F=null,B=e.pathSubplot(),N=!1;var t=r._fullLayout[e.id];j=a(t.bgcolor).getLuminance(),(V=d.makeZoombox(s,j,f,p,B)).attr("fill-rule","evenodd"),U=d.makeCorners(s,f,p),b(r)}();break;case"select":case"lasso":y(t,n,i,q,o)}},I.onmousemove=function(t){m.hover(r,t,e.id),r._fullLayout._lasthover=I,r._fullLayout._hoversubplot=e.id},I.onmouseout=function(t){r._dragging||g.unhover(r,t)},g.init(q)},I.updateRadialDrag=function(t,e,r){var a=this,s=a.gd,l=a.layers,c=a.radius,u=a.innerRadius,h=a.cx,f=a.cy,p=a.radialAxis,m=A.radialDragBoxSize,v=m/2;if(p.visible){var y,x,_,k=C(a.radialAxisAngle),M=p._rl,S=M[0],E=M[1],P=M[r],I=.75*(M[1]-M[0])/(1-e.hole)/c;r?(y=h+(c+v)*Math.cos(k),x=f-(c+v)*Math.sin(k),_="radialdrag"):(y=h+(u-v)*Math.cos(k),x=f-(u-v)*Math.sin(k),_="radialdrag-inner");var z,B,N,j=d.makeRectDragger(l,_,"crosshair",-v,-v,m,m),V={element:j,gd:s};D(n.select(j),p.visible&&u0==(r?N>S:Nn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*i},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var a=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?i(t):t}(a(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,a){var i,o,s=e[a],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&"linear"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(i=new Array(l),o=0;o0){for(var n=[],a=0;a=u&&(p.min=0,g.min=0,m.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function d(t,e,r,n){var a=h[e._name];function o(r,n){return i.coerce(t,e,a,r,n)}o("uirevision",n.uirevision),e.type="linear";var f=o("color"),p=f!==a.color.dflt?f:r.font.color,d=e._name.charAt(0).toUpperCase(),g="Component "+d,m=o("title.text",g);e._hovertitle=m===g?m:d,i.coerceFont(o,"title.font",{family:r.font.family,size:Math.round(1.2*r.font.size),color:p}),o("min"),c(t,e,o,"linear"),s(t,e,o,"linear",{}),l(t,e,o,{outerTicks:!0}),o("showticklabels")&&(i.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:p}),o("tickangle"),o("tickformat")),u(t,e,o,{dfltColor:f,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:a}),o("hoverformat"),o("layer")}e.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:p,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{"../../components/color":602,"../../lib":735,"../../plot_api/plot_template":773,"../cartesian/line_grid_defaults":799,"../cartesian/tick_label_defaults":804,"../cartesian/tick_mark_defaults":805,"../cartesian/tick_value_defaults":806,"../subplot_defaults":860,"./layout_attributes":863}],865:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),s=o._,l=t("../../components/color"),c=t("../../components/drawing"),u=t("../cartesian/set_convert"),h=t("../../lib/extend").extendFlat,f=t("../plots"),p=t("../cartesian/axes"),d=t("../../components/dragelement"),g=t("../../components/fx"),m=t("../../components/dragelement/helpers"),v=m.freeMode,y=m.rectMode,x=t("../../components/titles"),b=t("../cartesian/select").prepSelect,_=t("../cartesian/select").selectOnClick,w=t("../cartesian/select").clearSelect,T=t("../cartesian/select").clearSelectionsCache,k=t("../cartesian/constants");function A(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=A;var M=A.prototype;M.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},M.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var a=0;aS*x?a=(i=x)*S:i=(a=y)/S,o=m*a/y,s=v*i/x,r=e.l+e.w*d-a/2,n=e.t+e.h*(1-g)-i/2,f.x0=r,f.y0=n,f.w=a,f.h=i,f.sum=b,f.xaxis={type:"linear",range:[_+2*T-b,b-_-2*w],domain:[d-o/2,d+o/2],_id:"x"},u(f.xaxis,f.graphDiv._fullLayout),f.xaxis.setScale(),f.xaxis.isPtWithinRange=function(t){return t.a>=f.aaxis.range[0]&&t.a<=f.aaxis.range[1]&&t.b>=f.baxis.range[1]&&t.b<=f.baxis.range[0]&&t.c>=f.caxis.range[1]&&t.c<=f.caxis.range[0]},f.yaxis={type:"linear",range:[_,b-w-T],domain:[g-s/2,g+s/2],_id:"y"},u(f.yaxis,f.graphDiv._fullLayout),f.yaxis.setScale(),f.yaxis.isPtWithinRange=function(){return!0};var k=f.yaxis.domain[0],A=f.aaxis=h({},t.aaxis,{range:[_,b-w-T],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[k,k+s*S],anchor:"free",position:0,_id:"y",_length:a});u(A,f.graphDiv._fullLayout),A.setScale();var M=f.baxis=h({},t.baxis,{range:[b-_-T,w],side:"bottom",domain:f.xaxis.domain,anchor:"free",position:0,_id:"x",_length:a});u(M,f.graphDiv._fullLayout),M.setScale();var E=f.caxis=h({},t.caxis,{range:[b-_-w,T],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[k,k+s*S],anchor:"free",position:0,_id:"y",_length:a});u(E,f.graphDiv._fullLayout),E.setScale();var C="M"+r+","+(n+i)+"h"+a+"l-"+a/2+",-"+i+"Z";f.clipDef.select("path").attr("d",C),f.layers.plotbg.select("path").attr("d",C);var L="M0,"+i+"h"+a+"l-"+a/2+",-"+i+"Z";f.clipDefRelative.select("path").attr("d",L);var P="translate("+r+","+n+")";f.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),f.clipDefRelative.select("path").attr("transform",null);var I="translate("+(r-M._offset)+","+(n+i)+")";f.layers.baxis.attr("transform",I),f.layers.bgrid.attr("transform",I);var z="translate("+(r+a/2)+","+n+")rotate(30)translate(0,"+-A._offset+")";f.layers.aaxis.attr("transform",z),f.layers.agrid.attr("transform",z);var O="translate("+(r+a/2)+","+n+")rotate(-30)translate(0,"+-E._offset+")";f.layers.caxis.attr("transform",O),f.layers.cgrid.attr("transform",O),f.drawAxes(!0),f.layers.aline.select("path").attr("d",A.showline?"M"+r+","+(n+i)+"l"+a/2+",-"+i:"M0,0").call(l.stroke,A.linecolor||"#000").style("stroke-width",(A.linewidth||0)+"px"),f.layers.bline.select("path").attr("d",M.showline?"M"+r+","+(n+i)+"h"+a:"M0,0").call(l.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),f.layers.cline.select("path").attr("d",E.showline?"M"+(r+a/2)+","+n+"l"+a/2+","+i:"M0,0").call(l.stroke,E.linecolor||"#000").style("stroke-width",(E.linewidth||0)+"px"),f.graphDiv._context.staticPlot||f.initInteractions(),c.setClipUrl(f.layers.frontplot,f._hasClipOnAxisFalse?null:f.clipId,f.graphDiv)},M.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+"title",n=this.layers,a=this.aaxis,i=this.baxis,o=this.caxis;if(this.drawAx(a),this.drawAx(i),this.drawAx(o),t){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+("outside"===o.ticks?.87*o.ticklen:0)),c=(i.showticklabels?i.tickfont.size:0)+("outside"===i.ticks?i.ticklen:0)+3;n["a-title"]=x.draw(e,"a"+r,{propContainer:a,propName:this.id+".aaxis.title",placeholder:s(e,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-a.title.font.size/3-l,"text-anchor":"middle"}}),n["b-title"]=x.draw(e,"b"+r,{propContainer:i,propName:this.id+".baxis.title",placeholder:s(e,"Click to enter Component B title"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*i.title.font.size+c,"text-anchor":"middle"}}),n["c-title"]=x.draw(e,"c"+r,{propContainer:o,propName:this.id+".caxis.title",placeholder:s(e,"Click to enter Component C title"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,"text-anchor":"middle"}})}},M.drawAx=function(t){var e,r=this.graphDiv,n=t._name,a=n.charAt(0),i=t._id,s=this.layers[n],l=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[l]!==c&&(s.selectAll("."+i+"tick").remove(),this[l]=c),t.setScale();var u=p.calcTicks(t),h=p.clipEnds(t,u),f=p.makeTransFn(t),d=p.getTickSigns(t)[2],g=o.deg2rad(30),m=d*(t.linewidth||1)/2,v=d*t.ticklen,y=this.w,x=this.h,b="b"===a?"M0,"+m+"l"+Math.sin(g)*v+","+Math.cos(g)*v:"M"+m+",0l"+Math.cos(g)*v+","+-Math.sin(g)*v,_={a:"M0,0l"+x+",-"+y/2,b:"M0,0l-"+y/2+",-"+x,c:"M0,0l-"+x+","+y/2}[a];p.drawTicks(r,t,{vals:"inside"===t.ticks?h:u,layer:s,path:b,transFn:f,crisp:!1}),p.drawGrid(r,t,{vals:h,layer:this.layers[a+"grid"],path:_,transFn:f,crisp:!1}),p.drawLabels(r,t,{vals:u,layer:s,transFn:f,labelFns:p.makeLabelFns(t,0,30)})};var E=k.MINZOOM/2+.87,C="m-0.87,.5h"+E+"v3h-"+(E+5.2)+"l"+(E/2+2.6)+",-"+(.87*E+4.5)+"l2.6,1.5l-"+E/2+","+.87*E+"Z",L="m0.87,.5h-"+E+"v3h"+(E+5.2)+"l-"+(E/2+2.6)+",-"+(.87*E+4.5)+"l-2.6,1.5l"+E/2+","+.87*E+"Z",P="m0,1l"+E/2+","+.87*E+"l2.6,-1.5l-"+(E/2+2.6)+",-"+(.87*E+4.5)+"l-"+(E/2+2.6)+","+(.87*E+4.5)+"l2.6,1.5l"+E/2+",-"+.87*E+"Z",I=!0;function z(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}M.clearSelect=function(){T(this.dragOptions),w(this.dragOptions.gd)},M.initInteractions=function(){var t,e,r,n,u,h,f,p,m,x,w=this,T=w.layers.plotbg.select("path").node(),A=w.graphDiv,M=A._fullLayout._zoomlayer;function E(t){var e={};return e[w.id+".aaxis.min"]=t.a,e[w.id+".baxis.min"]=t.b,e[w.id+".caxis.min"]=t.c,e}function O(t,e){var r=A._fullLayout.clickmode;z(A),2===t&&(A.emit("plotly_doubleclick",null),i.call("_guiRelayout",A,E({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&_(e,A,[w.xaxis],[w.yaxis],w.id,w.dragOptions),r.indexOf("event")>-1&&g.click(A,e,w.id)}function D(t,e){return 1-e/w.h}function R(t,e){return 1-(t+(w.h-e)/Math.sqrt(3))/w.w}function F(t,e){return(t-(w.h-e)/Math.sqrt(3))/w.w}function B(a,i){var o=t+a,s=e+i,l=Math.max(0,Math.min(1,D(0,e),D(0,s))),c=Math.max(0,Math.min(1,R(t,e),R(o,s))),d=Math.max(0,Math.min(1,F(t,e),F(o,s))),g=(l/2+d)*w.w,v=(1-l/2-c)*w.w,y=(g+v)/2,b=v-g,_=(1-l)*w.h,T=_-b/S;b.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),x.transition().style("opacity",1).duration(200),p=!0),A.emit("plotly_relayouting",E(u))}function N(){z(A),u!==r&&(i.call("_guiRelayout",A,E(u)),I&&A.data&&A._context.showTips&&(o.notifier(s(A,"Double-click to zoom back out"),"long"),I=!1))}function j(t,e){var n=t/w.xaxis._m,a=e/w.yaxis._m,i=[(u={a:r.a-a,b:r.b+(n+a)/2,c:r.c-(n-a)/2}).a,u.b,u.c].sort(),o=i.indexOf(u.a),s=i.indexOf(u.b),l=i.indexOf(u.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),u={a:i[o],b:i[s],c:i[l]},e=(r.a-u.a)*w.yaxis._m,t=(r.c-u.c-r.b+u.b)*w.xaxis._m);var h="translate("+(w.x0+t)+","+(w.y0+e)+")";w.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var f="translate("+-t+","+-e+")";w.clipDefRelative.select("path").attr("transform",f),w.aaxis.range=[u.a,w.sum-u.b-u.c],w.baxis.range=[w.sum-u.a-u.c,u.b],w.caxis.range=[w.sum-u.a-u.b,u.c],w.drawAxes(!1),w._hasClipOnAxisFalse&&w.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,w),A.emit("plotly_relayouting",E(u))}function V(){i.call("_guiRelayout",A,E(u))}this.dragOptions={element:T,gd:A,plotinfo:{id:w.id,domain:A._fullLayout[w.id].domain,xaxis:w.xaxis,yaxis:w.yaxis},subplot:w.id,prepFn:function(i,o,s){w.dragOptions.xaxes=[w.xaxis],w.dragOptions.yaxes=[w.yaxis];var c=w.dragOptions.dragmode=A._fullLayout.dragmode;v(c)?w.dragOptions.minDrag=1:w.dragOptions.minDrag=void 0,"zoom"===c?(w.dragOptions.moveFn=B,w.dragOptions.clickFn=O,w.dragOptions.doneFn=N,function(i,o,s){var c=T.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,n=w.aaxis.range[1]-r.a,h=a(w.graphDiv._fullLayout[w.id].bgcolor).getLuminance(),f="M0,"+w.h+"L"+w.w/2+", 0L"+w.w+","+w.h+"Z",p=!1,m=M.append("path").attr("class","zoombox").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:h>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",f),x=M.append("path").attr("class","zoombox-corners").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),w.clearSelect(A)}(0,o,s)):"pan"===c?(w.dragOptions.moveFn=j,w.dragOptions.clickFn=O,w.dragOptions.doneFn=V,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,w.clearSelect(A)):(y(c)||v(c))&&b(i,o,s,w.dragOptions,c)}},T.onmousemove=function(t){g.hover(A,t,w.id),A._fullLayout._lasthover=T,A._fullLayout._hoversubplot=w.id},T.onmouseout=function(t){A._dragging||d.unhover(A,t)},d.init(this.dragOptions)}},{"../../components/color":602,"../../components/dragelement":621,"../../components/dragelement/helpers":620,"../../components/drawing":624,"../../components/fx":642,"../../components/titles":697,"../../lib":735,"../../lib/extend":726,"../../registry":866,"../cartesian/axes":783,"../cartesian/constants":789,"../cartesian/select":802,"../cartesian/set_convert":803,"../plots":846,d3:165,tinycolor2:535}],866:[function(t,e,r){"use strict";var n=t("./lib/loggers"),a=t("./lib/noop"),i=t("./lib/push_unique"),o=t("./lib/is_plain_object"),s=t("./lib/dom").addStyleRule,l=t("./lib/extend"),c=t("./plots/attributes"),u=t("./plots/layout_attributes"),h=l.extendFlat,f=l.extendDeepAll;function p(t){var e=t.name,a=t.categories,i=t.meta;if(r.modules[e])n.log("Type "+e+" already registered");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log("Plot type "+e+" already registered.");for(var a in v(t),r.subplotsRegistry[e]=t,r.componentsRegistry)b(a,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(h[p[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(T),T=(T=T.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),a.isIE()&&(T=(T=(T=T.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),T}},{"../components/color":602,"../components/drawing":624,"../constants/xmlns_namespaces":712,"../lib":735,d3:165}],875:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;rh+c||!n(u))}for(var p=0;pi))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt},r.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},r.getValue=function(t,e){var r;return Array.isArray(t)?e0?a+=i:e<0&&(a-=i)}return n.inbox(r-e,a-e,b+(a-e)/(a-r)-1)}"h"===m.orientation?(i=r,s=e,u="y",h="x",f=S,p=M):(i=e,s=r,u="x",h="y",p=S,f=M);var E=t[u+"a"],C=t[h+"a"];d=Math.abs(E.r2c(E.range[1])-E.r2c(E.range[0]));var L=n.getDistanceFunction(a,f,p,(function(t){return(f(t)+p(t))/2}));if(n.getClosest(g,L,t),!1!==t.index&&g[t.index].p!==c){y||(T=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},k=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var P=g[t.index],I=m.base?P.b+P.s:P.s;t[h+"0"]=t[h+"1"]=C.c2p(P[h],!0),t[h+"LabelVal"]=I;var z=v.extents[v.extents.round(P.p)];return t[u+"0"]=E.c2p(y?T(P):z[0],!0),t[u+"1"]=E.c2p(y?k(P):z[1],!0),t[u+"LabelVal"]=P.p,t.labelLabel=l(E,t[u+"LabelVal"]),t.valueLabel=l(C,t[h+"LabelVal"]),t.spikeDistance=(S(P)+function(t){return A(_(t),w(t))}(P))/2-b,t[u+"Spike"]=E.c2p(P.p,!0),o(P,m,t),t.hovertemplate=m.hovertemplate,t}}function h(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,a=s(t,e);return i.opacity(r)?r:i.opacity(n)&&a?n:void 0}e.exports={hoverPoints:function(t,e,r,n){var i=u(t,e,r,n);if(i){var o=i.cd,s=o[0].trace,l=o[i.index];return i.color=h(s,l),a.getComponentMethod("errorbars","hoverInfo")(l,s,i),[i]}},hoverOnBars:u,getTraceColor:h}},{"../../components/color":602,"../../components/fx":642,"../../constants/numerical":711,"../../lib":735,"../../plots/cartesian/axes":783,"../../registry":866,"./helpers":882}],884:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc").crossTraceCalc,colorbar:t("../scatter/marker_colorbar"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"bar",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},{"../../plots/cartesian":796,"../scatter/marker_colorbar":1158,"./arrays_to_calcdata":875,"./attributes":876,"./calc":877,"./cross_trace_calc":879,"./defaults":880,"./event_data":881,"./hover":883,"./layout_attributes":885,"./layout_defaults":886,"./plot":887,"./select":888,"./style":890}],885:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],886:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../plots/cartesian/axes"),i=t("../../lib"),o=t("./layout_attributes");e.exports=function(t,e,r){function s(r,n){return i.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,h={},f=s("barmode"),p=0;p0}function S(t){return"auto"===t?0:t}function E(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),a=Math.abs(Math.cos(r));return{x:t.width*a+t.height*n,y:t.width*n+t.height*a}}function C(t,e,r,n,a,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,c=i.anchor||"end",u="end"===c,h="start"===c,f=((i.leftToRight||0)+1)/2,p=1-f,d=a.width,g=a.height,m=Math.abs(e-t),v=Math.abs(n-r),y=m>2*_&&v>2*_?_:0;m-=2*y,v-=2*y;var x=S(l);"auto"!==l||d<=m&&g<=v||!(d>m||g>v)||(d>v||g>m)&&d.01?H:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?H(t):t>e?Math.ceil(t):Math.floor(t)};B=G(B,N,D),N=G(N,B,D),j=G(j,V,!D),V=G(V,j,!D)}var Y=A(i.ensureSingle(I,"path"),P,m,v);if(Y.style("vector-effect","non-scaling-stroke").attr("d",isNaN((N-B)*(V-j))?"M0,0Z":"M"+B+","+j+"V"+V+"H"+N+"V"+j+"Z").call(l.setClipUrl,e.layerClipId,t),!P.uniformtext.mode&&R){var W=l.makePointStyleFns(h);l.singlePointStyle(c,Y,h,W,t)}!function(t,e,r,n,a,s,c,h,p,m,v){var w,T=e.xaxis,M=e.yaxis,L=t._fullLayout;function P(e,r,n){return i.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+w,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var I=n[0].trace,z="h"===I.orientation,O=function(t,e,r,n,a){var o,s=e[0].trace;o=s.texttemplate?function(t,e,r,n,a){var o=e[0].trace,s=i.castOption(o,r,"texttemplate");if(!s)return"";var l,c,h,f,p="waterfall"===o.type,d="funnel"===o.type;"h"===o.orientation?(l="y",c=a,h="x",f=n):(l="x",c=n,h="y",f=a);function g(t){return u(f,+t,!0).text}var m=e[r],v={};v.label=m.p,v.labelLabel=v[l+"Label"]=(y=m.p,u(c,y,!0).text);var y;var x=i.castOption(o,m.i,"text");(0===x||x)&&(v.text=x);v.value=m.s,v.valueLabel=v[h+"Label"]=g(m.s);var _={};b(_,o,m.i),p&&(v.delta=+m.rawS||m.s,v.deltaLabel=g(v.delta),v.final=m.v,v.finalLabel=g(v.final),v.initial=v.final-v.delta,v.initialLabel=g(v.initial));d&&(v.value=m.s,v.valueLabel=g(v.value),v.percentInitial=m.begR,v.percentInitialLabel=i.formatPercent(m.begR),v.percentPrevious=m.difR,v.percentPreviousLabel=i.formatPercent(m.difR),v.percentTotal=m.sumR,v.percenTotalLabel=i.formatPercent(m.sumR));var w=i.castOption(o,m.i,"customdata");w&&(v.customdata=w);return i.texttemplateString(s,v,t._d3locale,_,v,o._meta||{})}(t,e,r,n,a):s.textinfo?function(t,e,r,n){var a=t[0].trace,o="h"===a.orientation,s="waterfall"===a.type,l="funnel"===a.type;function c(t){return u(o?r:n,+t,!0).text}var h,f=a.textinfo,p=t[e],d=f.split("+"),g=[],m=function(t){return-1!==d.indexOf(t)};m("label")&&g.push((v=t[e].p,u(o?n:r,v,!0).text));var v;m("text")&&(0===(h=i.castOption(a,p.i,"text"))||h)&&g.push(h);if(s){var y=+p.rawS||p.s,x=p.v,b=x-y;m("initial")&&g.push(c(b)),m("delta")&&g.push(c(y)),m("final")&&g.push(c(x))}if(l){m("value")&&g.push(c(p.s));var _=0;m("percent initial")&&_++,m("percent previous")&&_++,m("percent total")&&_++;var w=_>1;m("percent initial")&&(h=i.formatPercent(p.begR),w&&(h+=" of initial"),g.push(h)),m("percent previous")&&(h=i.formatPercent(p.difR),w&&(h+=" of previous"),g.push(h)),m("percent total")&&(h=i.formatPercent(p.sumR),w&&(h+=" of total"),g.push(h))}return g.join("
        ")}(e,r,n,a):g.getValue(s.text,r);return g.coerceString(y,o)}(L,n,a,T,M);w=function(t,e){var r=g.getValue(t.textposition,e);return g.coerceEnumerated(x,r)}(I,a);var D="stack"===m.mode||"relative"===m.mode,R=n[a],F=!D||R._outmost;if(!O||"none"===w||(R.isBlank||s===c||h===p)&&("auto"===w||"inside"===w))return void r.select("text").remove();var B=L.font,N=d.getBarColor(n[a],I),j=d.getInsideTextFont(I,a,B,N),V=d.getOutsideTextFont(I,a,B),U=r.datum();z?"log"===T.type&&U.s0<=0&&(s=T.range[0]=G*(X/Y):X>=Y*(Z/G);G>0&&Y>0&&(J||K||Q)?w="inside":(w="outside",q.remove(),q=null)}else w="inside";if(!q){W=i.ensureUniformFontSize(t,"outside"===w?V:j);var $=(q=P(r,O,W)).attr("transform");if(q.attr("transform",""),H=l.bBox(q.node()),G=H.width,Y=H.height,q.attr("transform",$),G<=0||Y<=0)return void q.remove()}var tt,et,rt=I.textangle;"outside"===w?(et="both"===I.constraintext||"outside"===I.constraintext,tt=function(t,e,r,n,a,i){var o,s=!!i.isHorizontal,l=!!i.constrained,c=i.angle||0,u=a.width,h=a.height,f=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:f>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/h):Math.min(1,f/u));var g=S(c),m=E(a,g),v=(s?m.x:m.y)/2,y=(a.left+a.right)/2,x=(a.top+a.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,A=0,M=s?k(e,t):k(r,n);s?(b=e-M*o,T=M*v):(w=n+M*o,A=-M*v);return{textX:y,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:A,scale:d,rotate:g}}(s,c,h,p,H,{isHorizontal:z,constrained:et,angle:rt})):(et="both"===I.constraintext||"inside"===I.constraintext,tt=C(s,c,h,p,H,{isHorizontal:z,constrained:et,angle:rt,anchor:I.insidetextanchor}));tt.fontSize=W.size,f(I.type,tt,L),R.transform=tt,A(q,L,m,v).attr("transform",i.getTextTransform(tt))}(t,e,I,r,p,B,N,j,V,m,v),e.layerClipId&&l.hideOutsideRangePoint(c,I.select("text"),w,L,h.xcalendar,h.ycalendar)}));var j=!1===h.cliponaxis;l.setClipUrl(c,j?null:e.layerClipId,t)}));c.getComponentMethod("errorbars","plot")(t,I,e,m)},toMoveInsideBar:C}},{"../../components/color":602,"../../components/drawing":624,"../../components/fx/helpers":638,"../../lib":735,"../../lib/svg_text_utils":759,"../../plots/cartesian/axes":783,"../../registry":866,"./attributes":876,"./constants":878,"./helpers":882,"./style":890,"./uniform_text":892,d3:165,"fast-isnumeric":237}],888:[function(t,e,r){"use strict";function n(t,e,r,n,a){var i=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return a?[(i+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(i+o)/2,l]}e.exports=function(t,e){var r,a=t.cd,i=t.xaxis,o=t.yaxis,s=a[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===e)for(r=0;r1||0===a.bargap&&0===a.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:g,styleOnSelect:function(t,e,r){var a=e[0].trace;a.selectedpoints?function(t,e,r){i.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var a,s=n.select(this);if(t.selected){a=o.ensureUniformFontSize(r,m(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(a.color=l),i.font(s,a)}else i.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,a,t):(d(r,a,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:y,getOutsideTextFont:x,getBarColor:_,resizeText:l}},{"../../components/color":602,"../../components/drawing":624,"../../lib":735,"../../registry":866,"./attributes":876,"./helpers":882,"./uniform_text":892,d3:165}],891:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s){r("marker.color",o),a(t,"marker")&&i(t,e,s,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),a(t,"marker.line")&&i(t,e,s,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),r("selected.marker.color"),r("unselected.marker.color")}},{"../../components/color":602,"../../components/colorscale/defaults":612,"../../components/colorscale/helpers":613}],892:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib");function i(t){return"_"+t+"Text_minsize"}e.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=i(t),a=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=of.range[1]&&(x+=Math.PI);if(n.getClosest(c,(function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?m+Math.min(1,Math.abs(t.thetag1-t.thetag0)/v)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=a.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,h,t),t.hovertemplate=u.hovertemplate,t.color=i(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},{"../../components/fx":642,"../../lib":735,"../../plots/polar/helpers":848,"../bar/hover":883,"../scatterpolar/hover":1217}],897:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"barpolar",basePlotModule:t("../../plots/polar"),categories:["polar","bar","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("../scatterpolar/format_labels"),style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../bar/select"),meta:{}}},{"../../plots/polar":849,"../bar/select":888,"../bar/style":890,"../scatter/marker_colorbar":1158,"../scatterpolar/format_labels":1216,"./attributes":893,"./calc":894,"./defaults":895,"./hover":896,"./layout_attributes":898,"./layout_defaults":899,"./plot":900}],898:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},{}],899:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i,o={};function s(r,o){return n.coerce(t[i]||{},e[i],a,r,o)}for(var l=0;l0?(c=o,u=l):(c=l,u=o);var h=[s.findEnclosingVertexAngles(c,t.vangles)[0],(c+u)/2,s.findEnclosingVertexAngles(u,t.vangles)[1]];return s.pathPolygonAnnulus(n,a,c,u,h,e,r)};return function(t,n,a,o){return i.pathAnnulus(t,n,a,o,e,r)}}(e),p=e.layers.frontplot.select("g.barlayer");i.makeTraceGroups(p,r,"trace bars").each((function(){var r=n.select(this),s=i.ensureSingle(r,"g","points").selectAll("g.point").data(i.identity);s.enter().append("g").style("vector-effect","non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(a(o)&&a(s)&&a(p)&&a(d)&&o!==s&&p!==d){var g=u.c2g(t.s1),m=(p+d)/2;t.ct=[l.c2p(g*Math.cos(m)),c.c2p(g*Math.sin(m))],e=f(o,s,p,d)}else e="M0,0Z";i.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},{"../../components/drawing":624,"../../lib":735,"../../plots/polar/helpers":848,d3:165,"fast-isnumeric":237}],901:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../bar/attributes"),i=t("../../components/color/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../lib/extend").extendFlat,l=n.marker,c=l.line;e.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:s({},l.symbol,{arrayOk:!1,editType:"plot"}),opacity:s({},l.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:s({},l.size,{arrayOk:!1,editType:"calc"}),color:s({},l.color,{arrayOk:!1,editType:"style"}),line:{color:s({},c.color,{arrayOk:!1,dflt:i.defaultLine,editType:"style"}),width:s({},c.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),hovertemplate:o({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":601,"../../lib/extend":726,"../../plots/template_attributes":861,"../bar/attributes":876,"../scatter/attributes":1140}],902:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../plots/cartesian/axes"),i=t("../../lib"),o=t("../../constants/numerical").BADNUM,s=i._;e.exports=function(t,e){var r,l,v,y,x,b,_=t._fullLayout,w=a.getFromId(t,e.xaxis||"x"),T=a.getFromId(t,e.yaxis||"y"),k=[],A="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(v=w,y="x",x=T,b="y"):(v=T,y="y",x=w,b="x");var M,S,E,C,L,P,I=function(t,e,r,a){var o,s=e+"0"in t,l="d"+e in t;if(e in t||s&&l)return r.makeCalcdata(t,e);o=s?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||i.isDateTime(t.name)&&"date"===r.type)?t.name:a;for(var c="multicategory"===r.type?r.r2c_just_indices(o):r.d2c(o,0,t[e+"calendar"]),u=t._length,h=new Array(u),f=0;fM.uf};if(e._hasPreCompStats){var F=e[y],B=function(t){return v.d2c((e[t]||[])[r])},N=1/0,j=-1/0;for(r=0;r=M.q1&&M.q3>=M.med){var U=B("lowerfence");M.lf=U!==o&&U<=M.q1?U:f(M,E,C);var q=B("upperfence");M.uf=q!==o&&q>=M.q3?q:p(M,E,C);var H=B("mean");M.mean=H!==o?H:C?i.mean(E,C):(M.q1+M.q3)/2;var G=B("sd");M.sd=H!==o&&G>=0?G:C?i.stdev(E,C,M.mean):M.q3-M.q1,M.lo=d(M),M.uo=g(M);var Y=B("notchspan");Y=Y!==o&&Y>0?Y:m(M,C),M.ln=M.med-Y,M.un=M.med+Y;var W=M.lf,Z=M.uf;e.boxpoints&&E.length&&(W=Math.min(W,E[0]),Z=Math.max(Z,E[C-1])),e.notched&&(W=Math.min(W,M.ln),Z=Math.max(Z,M.un)),M.min=W,M.max=Z}else{var X;i.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+M.q1,"median = "+M.med,"q3 = "+M.q3].join("\n")),X=M.med!==o?M.med:M.q1!==o?M.q3!==o?(M.q1+M.q3)/2:M.q1:M.q3!==o?M.q3:0,M.med=X,M.q1=M.q3=X,M.lf=M.uf=X,M.mean=M.sd=X,M.ln=M.un=X,M.min=M.max=X}N=Math.min(N,M.min),j=Math.max(j,M.max),M.pts2=S.filter(R),k.push(M)}}e._extremes[v._id]=a.findExtremes(v,[N,j],{padded:!0})}else{var J=v.makeCalcdata(e,y),K=function(t,e){for(var r=t.length,n=new Array(r+1),a=0;a=0&&tt0){var ot,st;if((M={}).pos=M[b]=O[r],S=M.pts=$[r].sort(u),C=(E=M[y]=S.map(h)).length,M.min=E[0],M.max=E[C-1],M.mean=i.mean(E,C),M.sd=i.stdev(E,C,M.mean),M.med=i.interp(E,.5),C%2&&(at||it))at?(ot=E.slice(0,C/2),st=E.slice(C/2+1)):it&&(ot=E.slice(0,C/2+1),st=E.slice(C/2)),M.q1=i.interp(ot,.5),M.q3=i.interp(st,.5);else M.q1=i.interp(E,.25),M.q3=i.interp(E,.75);M.lf=f(M,E,C),M.uf=p(M,E,C),M.lo=d(M),M.uo=g(M);var lt=m(M,C);M.ln=M.med-lt,M.un=M.med+lt,et=Math.min(et,M.ln),rt=Math.max(rt,M.un),M.pts2=S.filter(R),k.push(M)}e._extremes[v._id]=a.findExtremes(v,e.notched?J.concat([et,rt]):J,{padded:!0})}return function(t,e){if(i.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(k[0].t={num:_[A],dPos:D,posLetter:b,valLetter:y,labels:{med:s(t,"median:"),min:s(t,"min:"),q1:s(t,"q1:"),q3:s(t,"q3:"),max:s(t,"max:"),mean:"sd"===e.boxmean?s(t,"mean \xb1 \u03c3:"):s(t,"mean:"),lf:s(t,"lower fence:"),uf:s(t,"upper fence:")}},_[A]++,k):[{t:{empty:!0}}]};var l={text:"tx",hovertext:"htx"};function c(t,e,r){for(var n in l)i.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?i.isArrayOrTypedArray(e[n][r[0]])&&(t[l[n]]=e[n][r[0]][r[1]]):t[l[n]]=e[n][r])}function u(t,e){return t.v-e.v}function h(t){return t.v}function f(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(i.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function p(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(i.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function d(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function m(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},{"../../constants/numerical":711,"../../lib":735,"../../plots/cartesian/axes":783,"fast-isnumeric":237}],903:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=t("../../plots/cartesian/axis_ids").getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,c,u=e.calcdata,h=e._fullLayout,f=o._id,p=f.charAt(0),d=[],g=0;for(s=0;s1,b=1-h[t+"gap"],_=1-h[t+"groupgap"];for(s=0;s0){var H=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;H+G>=0&&((W=U*(H+G))>M?(q=!0,j=Y,B=W):W>R&&(j=Y,B=M)),W<=M&&(B=M);var Z=0;H-G<=0&&((Z=-U*(H-G))>S?(q=!0,V=Y,N=Z):Z>F&&(V=Y,N=S)),Z<=S&&(N=S)}else B=M,N=S;var X=new Array(c.length);for(l=0;l0?(m="v",v=x>0?Math.min(_,b):Math.min(b)):x>0?(m="h",v=Math.min(_)):v=0;if(v){e._length=v;var A=r("orientation",m);e._hasPreCompStats?"v"===A&&0===x?(r("x0",0),r("dx",1)):"h"===A&&0===y&&(r("y0",0),r("dy",1)):"v"===A&&0===x?r("x0"):"h"===A&&0===y&&r("y0"),a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],i)}else e.visible=!1}function u(t,e,r,a){var i=a.prefix,o=n.coerce2(t,e,l,"marker.outliercolor"),s=r("marker.line.outliercolor"),c="outliers";e._hasPreCompStats?c="all":(o||s)&&(c="suspectedoutliers");var u=r(i+"points",c);u?(r("jitter","all"===u?.3:0),r("pointpos","all"===u?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===u&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var h=r("hoveron");"all"!==h&&-1===h.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,a){function o(r,a){return n.coerce(t,e,l,r,a)}if(c(t,e,o,a),!1!==e.visible){var s=e._hasPreCompStats;s&&(o("lowerfence"),o("upperfence")),o("line.color",(t.marker||{}).color||r),o("line.width"),o("fillcolor",i.addOpacity(e.line.color,.5));var h=!1;if(s){var f=o("mean"),p=o("sd");f&&f.length&&(h=!0,p&&p.length&&(h="sd"))}o("boxmean",h),o("whiskerwidth"),o("width"),o("quartilemethod");var d=!1;if(s){var g=o("notchspan");g&&g.length&&(d=!0)}else n.validate(t.notchwidth,l.notchwidth)&&(d=!0);o("notched",d)&&o("notchwidth"),u(t,e,o,{prefix:"box"})}},crossTraceDefaults:function(t,e){var r,a;function i(t){return n.coerce(a._input,a,l,t)}for(var s=0;st.lo&&(x.so=!0)}return i}));f.enter().append("path").classed("point",!0),f.exit().remove(),f.call(i.translatePoints,o,s)}function l(t,e,r,i){var o,s,l=e.pos,c=e.val,u=i.bPos,h=i.bPosPxOffset||0,f=r.boxmean||(r.meanline||{}).visible;Array.isArray(i.bdPos)?(o=i.bdPos[0],s=i.bdPos[1]):(o=i.bdPos,s=i.bdPos);var p=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?a.identity:[]);p.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),p.exit().remove(),p.each((function(t){var e=l.c2l(t.pos+u,!0),a=l.l2p(e)+h,i=l.l2p(e-o)+h,p=l.l2p(e+s)+h,d=c.c2p(t.mean,!0),g=c.c2p(t.mean-t.sd,!0),m=c.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+d+","+i+"V"+p+("sd"===f?"m0,0L"+g+","+a+"L"+d+","+i+"L"+m+","+a+"Z":"")):n.select(this).attr("d","M"+i+","+d+"H"+p+("sd"===f?"m0,0L"+a+","+g+"L"+i+","+d+"L"+a+","+m+"Z":""))}))}e.exports={plot:function(t,e,r,i){var c=e.xaxis,u=e.yaxis;a.makeTraceGroups(i,r,"trace boxes").each((function(t){var e,r,a=n.select(this),i=t[0],h=i.t,f=i.trace;(h.wdPos=h.bdPos*f.whiskerwidth,!0!==f.visible||h.empty)?a.remove():("h"===f.orientation?(e=u,r=c):(e=c,r=u),o(a,{pos:e,val:r},f,h),s(a,{x:c,y:u},f,h),l(a,{pos:e,val:r},f,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},{"../../components/drawing":624,"../../lib":735,d3:165}],911:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,a=t.cd,i=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var a=1/0,i=-1/0,o=e.length,s=0;s0?Math.floor:Math.ceil,I=C>0?Math.ceil:Math.floor,z=C>0?Math.min:Math.max,O=C>0?Math.max:Math.min,D=P(S+L),R=I(E-L),F=[[h=M(S)]];for(i=D;i*C=0;a--)i[u-a]=t[h][a],o[u-a]=e[h][a];for(s.push({x:i,y:o,bicubic:l}),a=h,i=[],o=[];a>=0;a--)i[h-a]=t[a][0],o[h-a]=e[a][0];return s.push({x:i,y:o,bicubic:c}),s}},{}],925:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib/extend").extendFlat;e.exports=function(t,e,r){var i,o,s,l,c,u,h,f,p,d,g,m,v,y,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,C=M.length,L=t._a.length,P=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var I=b.smoothing?3:1;function z(n){var a,i,o,s,l,c,u,h,p,d,g,m,v=[],y=[],x={};if("b"===e)for(i=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,x.length=P,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,i)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},a=0;a0&&(p=t.dxydi([],a-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],a-1,o,1,s),v.push(h[0]-d[0]/3),y.push(h[1]-d[1]/3)),v.push(h[0]),y.push(h[1]),l=h;else for(a=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,a))),u=a-c,x.length=L,x.crossLength=P,x.xy=function(e){return t.evalxy([],a,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},i=0;i0&&(g=t.dxydj([],c,i-1,u,0),v.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),m=t.dxydj([],c,i-1,u,1),v.push(h[0]-m[0]/3),y.push(h[1]-m[1]/3)),v.push(h[0]),y.push(h[1]),l=h;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=f,x.x=v,x.y=y,x.smoothing=A.smoothing,x}function O(n){var a,i,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),h.xy=function(e){return t.evalxy([],e,n)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},a=0;ax.length-1||_.push(a(O(o),{color:b.gridcolor,width:b.gridwidth}));for(f=u;fx.length-1||g<0||g>x.length-1))for(m=x[s],v=x[g],i=0;ix[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&T.push(a(O(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(a(O(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],h=c[1],f=u;f<=h;f++)p=b.tick0+b.dtick*f,_.push(a(z(p),{color:b.gridcolor,width:b.gridwidth}));for(f=u-1;fx[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&T.push(a(z(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(a(z(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{"../../lib/extend":726,"../../plots/cartesian/axes":783}],926:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib/extend").extendFlat;e.exports=function(t,e){var r,i,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],a=0;a90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],940:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("./map_1d_array"),o=t("./makepath"),s=t("./orient_text"),l=t("../../lib/svg_text_utils"),c=t("../../lib"),u=t("../../constants/alignment");function h(t,e,r,a,s,l){var c="const-"+s+"-lines",u=r.selectAll("."+c).data(l);u.enter().append("path").classed(c,!0).style("vector-effect","non-scaling-stroke"),u.each((function(r){var a=r,s=a.x,l=a.y,c=i([],s,t.c2p),u=i([],l,e.c2p),h="M"+o(c,u,a.smoothing);n.select(this).attr("d",h).style("stroke-width",a.width).style("stroke",a.color).style("fill","none")})),u.exit().remove()}function f(t,e,r,i,o,c,u,h){var f=c.selectAll("text."+h).data(u);f.enter().append("text").classed(h,!0);var p=0,d={};return f.each((function(o,c){var u;if("auto"===o.axis.tickangle)u=s(i,e,r,o.xy,o.dxy);else{var h=(o.axis.tickangle+180)*Math.PI/180;u=s(i,e,r,o.xy,[Math.cos(h),Math.sin(h)])}c||(d={angle:u.angle,flip:u.flip});var f=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({"text-anchor":f>0?"start":"end","data-notex":1}).call(a.font,o.font).text(o.text).call(l.convertToTspans,t),m=a.bBox(this);g.attr("transform","translate("+u.p[0]+","+u.p[1]+") rotate("+u.angle+")translate("+o.axis.labelpadding*f+","+.3*m.height+")"),p=Math.max(p,m.width+o.axis.labelpadding)})),f.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,a){var l=e.xaxis,u=e.yaxis,p=t._fullLayout._clips;c.makeTraceGroups(a,r,"trace").each((function(e){var r=n.select(this),a=e[0],d=a.trace,m=d.aaxis,v=d.baxis,y=c.ensureSingle(r,"g","minorlayer"),x=c.ensureSingle(r,"g","majorlayer"),b=c.ensureSingle(r,"g","boundarylayer"),_=c.ensureSingle(r,"g","labellayer");r.style("opacity",d.opacity),h(l,u,x,m,"a",m._gridlines),h(l,u,x,v,"b",v._gridlines),h(l,u,y,m,"a",m._minorgridlines),h(l,u,y,v,"b",v._minorgridlines),h(l,u,b,m,"a-boundary",m._boundarylines),h(l,u,b,v,"b-boundary",v._boundarylines);var w=f(t,l,u,d,a,_,m._labels,"a-label"),T=f(t,l,u,d,a,_,v._labels,"b-label");!function(t,e,r,n,a,i,o,l){var u,h,f,p,d=c.aggNums(Math.min,null,r.a),m=c.aggNums(Math.max,null,r.a),v=c.aggNums(Math.min,null,r.b),y=c.aggNums(Math.max,null,r.b);u=.5*(d+m),h=v,f=r.ab2xy(u,h,!0),p=r.dxyda_rough(u,h),void 0===o.angle&&c.extendFlat(o,s(r,a,i,f,r.dxydb_rough(u,h)));g(t,e,r,n,f,p,r.aaxis,a,i,o,"a-title"),u=d,h=.5*(v+y),f=r.ab2xy(u,h,!0),p=r.dxydb_rough(u,h),void 0===l.angle&&c.extendFlat(l,s(r,a,i,f,r.dxyda_rough(u,h)));g(t,e,r,n,f,p,r.baxis,a,i,l,"b-title")}(t,_,d,a,l,u,w,T),function(t,e,r,n,a){var s,l,u,h,f=r.select("#"+t._clipPathId);f.size()||(f=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(f,"path","carpetboundary"),d=e.clipsegments,g=[];for(h=0;h90&&m<270,y=n.select(this);y.text(u.title.text).call(l.convertToTspans,t),v&&(x=(-l.lineCount(y)+d)*p*i-x),y.attr("transform","translate("+e.p[0]+","+e.p[1]+") rotate("+e.angle+") translate(0,"+x+")").classed("user-select-none",!0).attr("text-anchor","middle").call(a.font,u.title.font)})),y.exit().remove()}},{"../../components/drawing":624,"../../constants/alignment":704,"../../lib":735,"../../lib/svg_text_utils":759,"./makepath":937,"./map_1d_array":938,"./orient_text":939,d3:165}],941:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib/search").findBin,i=t("./compute_control_points"),o=t("./create_spline_evaluator"),s=t("./create_i_derivative_evaluator"),l=t("./create_j_derivative_evaluator");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,h=t.aaxis,f=t.baxis,p=e[0],d=e[c-1],g=r[0],m=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,m+=b,t.isVisible=function(t,e){return t>p&&tg&&ed||em},t.setScale=function(){var e=t._x,r=t._y,n=i(t._xctrl,t._yctrl,e,r,h.smoothing,f.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,h.smoothing,f.smoothing),t.dxydi=s([t._xctrl,t._yctrl],h.smoothing,f.smoothing),t.dxydj=l([t._xctrl,t._yctrl],h.smoothing,f.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(a(t,e),c-2)),n=e[r],i=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(i-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(a(t,r),u-2)),n=r[e],i=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(i-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,a,i){if(!i&&(ne[c-1]|ar[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(a),l=t.evalxy([],o,s);if(i){var h,f,p,d,g=0,m=0,v=[];ne[c-1]?(h=c-2,f=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):f=o-(h=Math.max(0,Math.min(c-2,Math.floor(o)))),ar[u-1]?(p=u-2,d=1,m=(a-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(v,h,p,f,d),l[0]+=v[0]*g,l[1]+=v[1]*g),m&&(t.dxydj(v,h,p,f,d),l[0]+=v[0]*m,l[1]+=v[1]*m)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,a){var i=t.dxydi(null,e,r,n,a),o=t.dadi(e,n);return[i[0]/o,i[1]/o]},t.dxydb=function(e,r,n,a){var i=t.dxydj(null,e,r,n,a),o=t.dbdj(r,a);return[i[0]/o,i[1]/o]},t.dxyda_rough=function(e,r,n){var a=v*(n||.1),i=t.ab2xy(e+a,r,!0),o=t.ab2xy(e-a,r,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dxydb_rough=function(e,r,n){var a=y*(n||.1),i=t.ab2xy(e,r+a,!0),o=t.ab2xy(e,r-a,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{"../../lib/search":754,"./compute_control_points":929,"./constants":930,"./create_i_derivative_evaluator":931,"./create_j_derivative_evaluator":932,"./create_spline_evaluator":933}],942:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r){var a,i,o,s=[],l=[],c=t[0].length,u=t.length;function h(e,r){var n,a=0,i=0;return e>0&&void 0!==(n=t[r][e-1])&&(i++,a+=n),e0&&void 0!==(n=t[r-1][e])&&(i++,a+=n),r0&&i0&&a1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},{"../../lib":735}],943:[function(t,e,r){"use strict";var n=t("../../lib").isArray1D;e.exports=function(t,e,r){var a=r("x"),i=a&&a.length,o=r("y"),s=o&&o.length;if(!i&&!s)return!1;if(e._cheater=!a,i&&!n(a)||s&&!n(o))e._length=null;else{var l=i?a.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{"../../lib":735}],944:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../scattergeo/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../plots/attributes"),s=t("../../components/color/attributes").defaultLine,l=t("../../lib/extend").extendFlat,c=a.marker.line;e.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:a.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},a.geojson,{}),featureidkey:a.featureidkey,text:l({},a.text,{}),hovertext:l({},a.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:a.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:a.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},i("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/color/attributes":601,"../../components/colorscale/attributes":609,"../../lib/extend":726,"../../plots/attributes":780,"../../plots/template_attributes":861,"../scattergeo/attributes":1181}],945:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../constants/numerical").BADNUM,i=t("../../components/colorscale/calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection");function l(t){return t&&"string"==typeof t}e.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var h=0;h")}(t,h,o,f.mockAxis),[t]}},{"../../lib":735,"../../plots/cartesian/axes":783,"./attributes":944}],949:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("./calc"),calcGeoJSON:t("./plot").calcGeoJSON,plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"choropleth",basePlotModule:t("../../plots/geo"),categories:["geo","noOpacity","showLegend"],meta:{}}},{"../../plots/geo":815,"../heatmap/colorbar":1023,"./attributes":944,"./calc":945,"./defaults":946,"./event_data":947,"./hover":948,"./plot":950,"./select":951,"./style":952}],950:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../lib/geo_location_utils"),o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../plots/cartesian/autorange").findExtremes,l=t("./style").style;e.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],a=n._subplot,l=r.locationmode,c=r._length,u="geojson-id"===l?i.extractTraceFeature(t):o(r,a.topojson),h=[],f=[],p=0;p=0;n--){var a=r[n].id;if("string"==typeof a&&0===a.indexOf("water"))for(var i=n+1;i=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,a=new o(t,r.uid),i=a.sourceId,s=n(e),l=a.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(i,{type:"geojson",data:s.geojson}),a._addLayers(s,l),e[0].trace._glTrace=a,a}},{"../../plots/mapbox/constants":838,"./convert":954}],958:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]}),showlegend:s({},o.showlegend,{dflt:!1})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach((function(t){l[t]=i[t]})),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":609,"../../lib/extend":726,"../../plots/attributes":780,"../../plots/template_attributes":861,"../mesh3d/attributes":1081}],959:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){for(var r=e.u,a=e.v,i=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,a.length,i.length),s=-1/0,l=1/0,c=0;co.level||o.starts.length&&i===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r":p>c&&(n.prefixBoundary=!0);break;case"<":(pc||n.starts.length&&f===u)&&(n.prefixBoundary=!0);break;case"][":h=Math.min(p[0],p[1]),f=Math.max(p[0],p[1]),hc&&(n.prefixBoundary=!0)}}}},{}],966:[function(t,e,r){"use strict";var n=t("../../components/colorscale"),a=t("./make_color_map"),i=t("./end_plus");e.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=a(e,{isColorbar:!0});if("heatmap"===c){var h=n.extractOpts(e);r._fillgradient=h.reversescale?n.flipScale(h.colorscale):h.colorscale,r._zrange=[h.min,h.max]}else"fill"===c&&(r._fillcolor=u);r._line={color:"lines"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:i(o),size:l}}}},{"../../components/colorscale":614,"./end_plus":974,"./make_color_map":979}],967:[function(t,e,r){"use strict";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],968:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./label_defaults"),i=t("../../components/color"),o=i.addOpacity,s=i.opacity,l=t("../../constants/filter_ops"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,i,l,h){var f,p,d,g=e.contours,m=r("contours.operation");(g._operation=c[m],function(t,e){var r;-1===u.indexOf(e.operation)?(t("contours.value",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===m?f=g.showlines=!0:(f=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),f)&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash"));r("line.smoothing"),a(r,i,p,h)}},{"../../components/color":602,"../../constants/filter_ops":707,"./label_defaults":978,"fast-isnumeric":237}],969:[function(t,e,r){"use strict";var n=t("../../constants/filter_ops"),a=t("fast-isnumeric");function i(t,e){var r,i=Array.isArray(e);function o(t){return a(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(i?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=i?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=i?e.map(o):[o(e)]),r}function o(t){return function(e){e=i(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=i(t,e),end:1/0,size:1/0}}}e.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},{"../../constants/filter_ops":707,"fast-isnumeric":237}],970:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=n("contours.start"),i=n("contours.end"),o=!1===a||!1===i,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},{}],971:[function(t,e,r){"use strict";var n=t("../../lib");function a(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}e.exports=function(t,e){var r,i,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),i=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},{"../../lib":735,"./constraint_mapping":969,"./end_plus":974}],974:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],975:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constants");function i(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==a.BOTTOMSTART.indexOf(t)?i=1:-1!==a.LEFTSTART.indexOf(t)?n=1:-1!==a.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(h,r,e),p=[s(t,e,[-f[0],-f[1]])],d=t.z.length,g=t.z[0].length,m=e.slice(),v=f.slice();for(c=0;c<1e4;c++){if(h>20?(h=a.CHOOSESADDLE[h][(f[0]||f[1])<0?0:1],t.crossings[u]=a.SADDLEREMAINDER[h]):delete t.crossings[u],!(f=a.NEWDELTA[h])){n.log("Found bad marching index:",h,e,t.level);break}p.push(s(t,e,f)),e[0]+=f[0],e[1]+=f[1],u=e.join(","),i(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=f[0]&&(e[0]<0||e[0]>g-2)||f[1]&&(e[1]<0||e[1]>d-2);if(e[0]===m[0]&&e[1]===m[1]&&f[0]===v[0]&&f[1]===v[1]||r&&y)break;h=t.crossings[u]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,A,M,S,E,C,L,P,I,z,O=i(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c=B;c--)if((x=F[c])=B&&x+F[b]M&&S--,t.edgepaths[S]=C.concat(p,E));break}U||(t.edgepaths[M]=p.concat(E))}for(M=0;Mt?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,i,o,s,l,c,u,h,f=t[0].z,p=f.length,d=f[0].length,g=2===p||2===d;for(r=0;r=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):a.log("endpt to newendpt is not vert. or horz.",r,n,y)}if(r=n,s>=0)break;h+="L"+n}if(s===t.edgepaths.length){a.log("unclosed perimeter path");break}f=s,(d=-1===p.indexOf(f))&&(f=p[0],h+="Z")}for(f=0;fn.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=v.EDGECOST*(1/(f-1)+1/(p-1));d+=v.ANGLECOST*c*c;for(var g=s-u,m=l-h,y=s+u,x=l+h,b=0;b2*v.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=v.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var a=e.fontSize,i=e.width+a/3,o=Math.max(0,e.height-a/3),s=t.x,l=t.y,c=t.theta,u=Math.sin(c),h=Math.cos(c),f=function(t,e){return[s+t*h-e*u,l+t*u+e*h]},p=[f(-i/2,-o/2),f(-i/2,o/2),f(i/2,o/2),f(i/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:c,level:e.level,width:i,height:o}),n.push(p)},r.drawLabels=function(t,e,r,i,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,a=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:a,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+a+")"}).call(s.convertToTspans,r)})),o){for(var c="",u=0;ur.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),a.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var c,u=r.start,h=r.end,f=t._input.contours;if(u>h&&(r.start=f.start=h,h=r.end=f.end=u,u=r.start),!(r.size>0))c=u===h?1:i(u,h,t.ncontours).dtick,f.size=r.size=c}}},{"../../lib":735,"../../plots/cartesian/axes":783}],983:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../heatmap/style"),o=t("./make_color_map");e.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,i=r.contours,s=r.line,l=i.size||1,c=i.start,u="constraint"===i.type,h=!u&&"lines"===i.coloring,f=!u&&"fill"===i.coloring,p=h||f?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(a.lineGroupStyle,s.width,h?p(t.level):s.color,s.dash)}));var d=i.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){a.font(n.select(this),{family:d.family,size:d.size,color:d.color||(h?p(t.level):s.color)})})),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(f){var g;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)})),void 0===g&&(g=c),e.selectAll("g.contourbg path").style("fill",p(g-.5*l))}})),i(t)}},{"../../components/drawing":624,"../heatmap/style":1032,"./make_color_map":979,d3:165}],984:[function(t,e,r){"use strict";var n=t("../../components/colorscale/defaults"),a=t("./label_defaults");e.exports=function(t,e,r,i,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,i,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),a(r,i,c,o)}},{"../../components/colorscale/defaults":612,"./label_defaults":978}],985:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),a=t("../contour/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=a.contours;e.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:a.fillcolor,autocontour:a.autocontour,ncontours:a.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:a.line.color,width:a.line.width,dash:a.line.dash,smoothing:a.line.smoothing,editType:"plot"},transforms:void 0},i("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":609,"../../lib/extend":726,"../contour/attributes":963,"../heatmap/attributes":1020}],986:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),a=t("../../lib"),i=t("../heatmap/convert_column_xyz"),o=t("../heatmap/clean_2d_array"),s=t("../heatmap/interp2d"),l=t("../heatmap/find_empties"),c=t("../heatmap/make_bound_array"),u=t("./defaults"),h=t("../carpet/lookup_carpetid"),f=t("../contour/set_contours");e.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var g=function(t,e){var r,u,h,f,p,d,g,m=e._carpetTrace,v=m.aaxis,y=m.baxis;v._minDtick=0,y._minDtick=0,a.isArray1D(e.z)&&i(e,v,y,"a","b",["z"]);r=e._a=e._a||e.a,f=e._b=e._b||e.b,r=r?v.makeCalcdata(e,"_a"):[],f=f?y.makeCalcdata(e,"_b"):[],u=e.a0||0,h=e.da||1,p=e.b0||0,d=e.db||1,g=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(g),s(g,e._emptypoints);var x=a.maxRowLength(g),b="scaled"===e.xtype?"":r,_=c(e,b,u,h,x,v),w="scaled"===e.ytype?"":f,T=c(e,w,p,d,g.length,y),k={a:_,b:T,z:g};"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:g,containerStr:"",cLetter:"z"});return[k]}(t,e);return f(e,e._z),g}}},{"../../components/colorscale/calc":610,"../../lib":735,"../carpet/lookup_carpetid":936,"../contour/set_contours":982,"../heatmap/clean_2d_array":1022,"../heatmap/convert_column_xyz":1024,"../heatmap/find_empties":1026,"../heatmap/interp2d":1029,"../heatmap/make_bound_array":1030,"./defaults":987}],987:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../heatmap/xyz_defaults"),i=t("./attributes"),o=t("../contour/constraint_defaults"),s=t("../contour/contours_defaults"),l=t("../contour/style_defaults");e.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,i,r,a)}if(u("carpet"),t.a&&t.b){if(!a(t,e,u,c,"a","b"))return void(e.visible=!1);u("text"),"constraint"===u("contours.type")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,(function(r){return n.coerce2(t,e,i,r)})),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{"../../lib":735,"../contour/constraint_defaults":968,"../contour/contours_defaults":970,"../contour/style_defaults":984,"../heatmap/xyz_defaults":1034,"./attributes":985}],988:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../contour/colorbar"),calc:t("./calc"),plot:t("./plot"),style:t("../contour/style"),moduleType:"trace",name:"contourcarpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":796,"../contour/colorbar":966,"../contour/style":983,"./attributes":985,"./calc":986,"./defaults":987,"./plot":989}],989:[function(t,e,r){"use strict";var n=t("d3"),a=t("../carpet/map_1d_array"),i=t("../carpet/makepath"),o=t("../../components/drawing"),s=t("../../lib"),l=t("../contour/make_crossings"),c=t("../contour/find_all_paths"),u=t("../contour/plot"),h=t("../contour/constants"),f=t("../contour/convert_to_constraints"),p=t("../contour/empty_pathinfo"),d=t("../contour/close_boundaries"),g=t("../carpet/lookup_carpetid"),m=t("../carpet/axis_aligned_line");function v(t,e,r){var n=t.getPointAtLength(e),a=t.getPointAtLength(r),i=a.x-n.x,o=a.y-n.y,s=Math.sqrt(i*i+o*o);return[i/s,o/s]}function y(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=g(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,C=k.contours,L=p(C,e,T),P="constraint"===C.type,I=C._operation,z=P?"="===I?"lines":"fill":C.coloring,O=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(L);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(L,D,R);var F,B,N,j,V=L;"constraint"===C.type&&(V=f(L,I)),function(t,e){var r,n,a,i,o,s,l,c,u;for(r=0;r=0;j--)F=M.clipsegments[j],B=a([],F.x,_.c2p),N=a([],F.y,w.c2p),B.reverse(),N.reverse(),U.push(i(B,N,F.bicubic));var q="M"+U.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,h,f,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(f=0;f=0&&(f=C,d=g):Math.abs(h[1]-f[1])=0&&(f=C,d=g):s.log("endpt to newendpt is not vert. or horz.",h,f,C)}if(d>=0)break;y+=S(h,f),h=f}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}u=d,(b=-1===x.indexOf(u))&&(u=x[0],y+=S(h,f)+"Z",h=null)}for(u=0;um&&(n.max=m);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*h.LABELMIN)))for(var a=Math.min(Math.ceil(n.len/I),h.LABELMAX),i=0;i0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:v},properties:y})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,i.opacity(w)<1?w:i.addOpacity(w,0)];for(u=1;u<_.length;u++)T.push(_[u][0],_[u][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return a.extendFlat(c.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":g?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),c.geojson={type:"FeatureCollection",features:h},c.heatmap.layout.visibility="visible",c}},{"../../components/color":602,"../../components/colorscale":614,"../../constants/numerical":711,"../../lib":735,"../../lib/geojson_utils":730,"fast-isnumeric":237}],993:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("lon")||[],c=s("lat")||[],u=Math.min(l.length,c.length);u?(e._length=u,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),a(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":612,"../../lib":735,"./attributes":990}],994:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},{}],995:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../scattermapbox/hover");e.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=a.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=function(t,e,r){if(t.hovertemplate)return;var a=(e.hi||t.hoverinfo).split("+"),i=-1!==a.indexOf("all"),o=-1!==a.indexOf("lon"),s=-1!==a.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}i||o&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):o?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==a.indexOf("text"))&&n.fillText(e,t,c);return c.join("
        ")}(c,u,l[0].t.labels),[s]}}},{"../../lib":735,"../../plots/cartesian/axes":783,"../scattermapbox/hover":1209}],996:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),formatLabels:t("../scattermapbox/format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,a=new i(t,r.uid),o=a.sourceId,s=n(e),l=a.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}},{"../../plots/mapbox/constants":838,"./convert":992}],998:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r"),s.color=function(t,e){var r=t.marker,a=e.mc||r.color,i=e.mlc||r.line.color,o=e.mlw||r.line.width;if(n(a))return a;if(n(i)&&o)return i}(c,h),[s]}}},{"../../components/color":602,"../../lib":735,"../bar/hover":883}],1006:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"funnel",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":796,"../bar/select":888,"./attributes":999,"./calc":1e3,"./cross_trace_calc":1002,"./defaults":1003,"./event_data":1004,"./hover":1005,"./layout_attributes":1007,"./layout_defaults":1008,"./plot":1009,"./style":1010}],1007:[function(t,e,r){"use strict";e.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],1008:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(i.fill,t.mc||e.color).call(i.stroke,t.mlc||e.line.color).call(a.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(i.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;a.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},{"../../components/color":602,"../../components/drawing":624,"../../constants/interactions":710,"../bar/style":890,"../bar/uniform_text":892,d3:165}],1011:[function(t,e,r){"use strict";var n=t("../pie/attributes"),a=t("../../plots/attributes"),i=t("../../plots/domain").attributes,o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("../../lib/extend").extendFlat;e.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},a.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:i({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},{"../../lib/extend":726,"../../plots/attributes":780,"../../plots/domain":810,"../../plots/template_attributes":861,"../pie/attributes":1114}],1012:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="funnelarea",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":846}],1013:[function(t,e,r){"use strict";var n=t("../pie/calc");e.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},{"../pie/calc":1116}],1014:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText,s=t("../pie/defaults").handleLabelsAndValues;e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,a,r,i)}var u=c("labels"),h=c("values"),f=s(u,h),p=f.len;if(e._hasLabels=f.hasLabels,e._hasValues=f.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),p){e._length=p,c("marker.line.width")&&c("marker.line.color",l.paper_bgcolor),c("marker.colors"),c("scalegroup");var d,g=c("text"),m=c("texttemplate");if(m||(d=c("textinfo",Array.isArray(g)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),m||d&&"none"!==d){var v=c("textposition");o(t,e,l,c,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}i(e,l,c),c("title.text")&&(c("title.position"),n.coerceFont(c,"title.font",l.font)),c("aspectratio"),c("baseratio")}else e.visible=!1}},{"../../lib":735,"../../plots/domain":810,"../bar/defaults":880,"../pie/defaults":1117,"./attributes":1011}],1015:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"funnelarea",basePlotModule:t("./base_plot"),categories:["pie-like","funnelarea","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style"),styleOne:t("../pie/style_one"),meta:{}}},{"../pie/style_one":1125,"./attributes":1011,"./base_plot":1012,"./calc":1013,"./defaults":1014,"./layout_attributes":1016,"./layout_defaults":1017,"./plot":1018,"./style":1019}],1016:[function(t,e,r){"use strict";var n=t("../pie/layout_attributes").hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{"../pie/layout_attributes":1121}],1017:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},{"../../lib":735,"./layout_attributes":1016}],1018:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../lib"),o=t("../../lib/svg_text_utils"),s=t("../bar/plot").toMoveInsideBar,l=t("../bar/uniform_text"),c=l.recordMinTextSize,u=l.clearMinTextSize,h=t("../pie/helpers"),f=t("../pie/plot"),p=f.attachFxHandlers,d=f.determineInsideTextFont,g=f.layoutAreas,m=f.prerenderTitles,v=f.positionTitleOutside,y=f.formatSliceLabel;function x(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}e.exports=function(t,e){var r=t._fullLayout;u("funnelarea",r),m(e,t),g(e,r._size),i.makeTraceGroups(r._funnelarealayer,e,"trace").each((function(e){var l=n.select(this),u=e[0],f=u.trace;!function(t){if(!t.length)return;var e=t[0],r=e.trace,n=r.aspectratio,a=r.baseratio;a>.999&&(a=.999);var i,o=Math.pow(a,2),s=e.vTotal,l=s,c=s*o/(1-o)/s;function u(){var t,e={x:t=Math.sqrt(c),y:-t};return[e.x,e.y]}var h,f,p=[];for(p.push(u()),h=t.length-1;h>-1;h--)if(!(f=t[h]).hidden){var d=f.v/l;c+=d,p.push(u())}var g=1/0,m=-1/0;for(h=0;h-1;h--)if(!(f=t[h]).hidden){var A=p[k+=1][0],M=p[k][1];f.TL=[-A,M],f.TR=[A,M],f.BL=w,f.BR=T,f.pxmid=(S=f.TR,E=f.BR,[.5*(S[0]+E[0]),.5*(S[1]+E[1])]),w=f.TL,T=f.TR}var S,E}(e),l.each((function(){var l=n.select(this).selectAll("g.slice").data(e);l.enter().append("g").classed("slice",!0),l.exit().remove(),l.each((function(l,g){if(l.hidden)n.select(this).selectAll("path,g").remove();else{l.pointNumber=l.i,l.curveNumber=f.index;var m=u.cx,v=u.cy,b=n.select(this),_=b.selectAll("path.surface").data([l]);_.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),b.call(p,t,e);var w="M"+(m+l.TR[0])+","+(v+l.TR[1])+x(l.TR,l.BR)+x(l.BR,l.BL)+x(l.BL,l.TL)+"Z";_.attr("d",w),y(t,l,u);var T=h.castOption(f.textposition,l.pts),k=b.selectAll("g.slicetext").data(l.text&&"none"!==T?[0]:[]);k.enter().append("g").classed("slicetext",!0),k.exit().remove(),k.each((function(){var u=i.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=i.ensureUniformFontSize(t,d(f,l,r.font));u.text(l.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(a.font,h).call(o.convertToTspans,t);var p,y,x,b=a.bBox(u.node()),_=Math.min(l.BL[1],l.BR[1])+v,w=Math.max(l.TL[1],l.TR[1])+v;y=Math.max(l.TL[0],l.BL[0])+m,x=Math.min(l.TR[0],l.BR[0])+m,(p=s(y,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=h.size,c(f.type,p,r),e[g].transform=p,u.attr("transform",i.getTextTransform(p))}))}}));var g=n.select(this).selectAll("g.titletext").data(f.title.text?[0]:[]);g.enter().append("g").classed("titletext",!0),g.exit().remove(),g.each((function(){var e=i.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),s=f.title.text;f._meta&&(s=i.templateString(s,f._meta)),e.text(s).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(a.font,f.title.font).call(o.convertToTspans,t);var l=v(u,r._size);e.attr("transform","translate("+l.x+","+l.y+")"+(l.scale<1?"scale("+l.scale+")":"")+"translate("+l.tx+","+l.ty+")")}))}))}))}},{"../../components/drawing":624,"../../lib":735,"../../lib/svg_text_utils":759,"../bar/plot":887,"../bar/uniform_text":892,"../pie/helpers":1119,"../pie/plot":1123,d3:165}],1019:[function(t,e,r){"use strict";var n=t("d3"),a=t("../pie/style_one"),i=t("../bar/uniform_text").resizeText;e.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");i(t,e,"funnelarea"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each((function(t){n.select(this).call(a,t,e)}))}))}},{"../bar/uniform_text":892,"../pie/style_one":1125,d3:165}],1020:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../components/colorscale/attributes"),s=(t("../../constants/docs").FORMAT_LINK,t("../../lib/extend").extendFlat);e.exports=s({z:{valType:"data_array",editType:"calc"},x:s({},n.x,{impliedEdits:{xtype:"array"}}),x0:s({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:s({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:s({},n.y,{impliedEdits:{ytype:"array"}}),y0:s({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:s({},n.dy,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},zhoverformat:{valType:"string",dflt:"",editType:"none"},hovertemplate:i(),showlegend:s({},a.showlegend,{dflt:!1})},{transforms:void 0},o("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":609,"../../constants/docs":706,"../../lib/extend":726,"../../plots/attributes":780,"../../plots/template_attributes":861,"../scatter/attributes":1140}],1021:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../histogram2d/calc"),s=t("../../components/colorscale/calc"),l=t("./convert_column_xyz"),c=t("./clean_2d_array"),u=t("./interp2d"),h=t("./find_empties"),f=t("./make_bound_array"),p=t("../../constants/numerical").BADNUM;function d(t){for(var e=[],r=t.length,n=0;nI){L("x scale is not linear");break}}if(v.length&&"fast"===E){var z=(v[v.length-1]-v[0])/(v.length-1),O=Math.abs(z/100);for(_=0;_O){L("y scale is not linear");break}}}var D=a.maxRowLength(b),R="scaled"===e.xtype?"":r,F=f(e,R,g,m,D,T),B="scaled"===e.ytype?"":v,N=f(e,B,y,x,b.length,k);S||(e._extremes[T._id]=i.findExtremes(T,F),e._extremes[k._id]=i.findExtremes(k,N));var j={x:F,y:N,z:b,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(R&&R.length===F.length-1&&(j.xCenter=R),B&&B.length===N.length-1&&(j.yCenter=B),M&&(j.xRanges=w.xRanges,j.yRanges=w.yRanges,j.pts=w.pts),A||s(t,e,{vals:b,cLetter:"z"}),A&&e.contours&&"heatmap"===e.contours.coloring){var V={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};j.xfill=f(V,R,g,m,D,T),j.yfill=f(V,B,y,x,b.length,k)}return[j]}},{"../../components/colorscale/calc":610,"../../constants/numerical":711,"../../lib":735,"../../plots/cartesian/axes":783,"../../registry":866,"../histogram2d/calc":1052,"./clean_2d_array":1022,"./convert_column_xyz":1024,"./find_empties":1026,"./interp2d":1029,"./make_bound_array":1030}],1022:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r,o){var s,l,c,u,h,f;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,h=0;h=0;o--)(s=((h[[(r=(i=f[o])[0])-1,a=i[1]]]||g)[2]+(h[[r+1,a]]||g)[2]+(h[[r,a-1]]||g)[2]+(h[[r,a+1]]||g)[2])/20)&&(l[i]=[r,a,s],f.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(i in l)h[i]=l[i],u.push(l[i])}return u.sort((function(t,e){return e[2]-t[2]}))}},{"../../lib":735}],1027:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../../components/colorscale").extractOpts;e.exports=function(t,e,r,s,l,c){var u,h,f,p,d=t.cd[0],g=d.trace,m=t.xa,v=t.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,T=d.zmask,k=g.zhoverformat,A=y,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void a.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=b[0].length||p<0||p>b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(c){var S;for(A=[2*y[0]-y[1]],S=1;Sg&&(v=Math.max(v,Math.abs(t[i][o]-d)/(m-g))))}return v}e.exports=function(t,e){var r,a=1;for(o(t,e),r=0;r.01;r++)a=o(t,e,i(a));return a>.01&&n.log("interp2d didn't converge quickly",a),t}},{"../../lib":735}],1030:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i,o,s){var l,c,u,h=[],f=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(a(e)&&e.length>1&&!p&&"category"!==s.type){var g=e.length;if(!(g<=o))return f?e.slice(0,o):e.slice(0,o+1);if(f||d)h=e.slice(0,o);else if(1===o)h=[e[0]-.5,e[0]+.5];else{for(h=[1.5*e[0]-.5*e[1]],u=1;u0;)f=p.c2p(T[y]),y--;for(f0;)v=d.c2p(k[y]),y--;if(v0&&(i=!0);for(var l=0;li){var o=i-r[t];return r[t]=i,o}}return 0},max:function(t,e,r,a){var i=a[e];if(n(i)){if(i=Number(i),!n(r[t]))return r[t]=i,i;if(r[t]c?t>o?t>1.1*a?a:t>1.1*i?i:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,i,s){if(n&&t>o){var l=d(e,i,s),c=d(r,i,s),u=t===a?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,a,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}e.exports=function(t,e,r,n,i){var s,l,c=-1.1*e,f=-.1*e,p=t-f,d=r[0],g=r[1],m=Math.min(h(d+f,d+p,n,i),h(g+f,g+p,n,i)),v=Math.min(h(d+c,d+f,n,i),h(g+c,g+f,n,i));if(m>v&&vo){var y=s===a?1:6,x=s===a?"M12":"M1";return function(e,r){var o=n.c2d(e,a,i),s=o.indexOf("-",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,i);if(cr.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),O.start=r.l2r(j),F||a.nestedProperty(e,v+".start").set(O.start)}var V=b.end,U=r.r2l(z.end),q=void 0!==U;if((b.endFound||q)&&U!==r.r2l(V)){var H=q?U:a.aggNums(Math.max,null,d);O.end=r.l2r(H),q||a.nestedProperty(e,v+".start").set(O.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[v]=a.extendFlat({},e[v]||{}),delete e._input[G],delete e[G]),[O,d]}e.exports={calc:function(t,e){var r,i,p,d,g=[],m=[],v=o.getFromId(t,"h"===e.orientation?e.yaxis:e.xaxis),y="h"===e.orientation?"y":"x",x={x:"y",y:"x"}[y],b=e[y+"calendar"],_=e.cumulative,w=f(t,e,v,y),T=w[0],k=w[1],A="string"==typeof T.size,M=[],S=A?M:T,E=[],C=[],L=[],P=0,I=e.histnorm,z=e.histfunc,O=-1!==I.indexOf("density");_.enabled&&O&&(I=I.replace(/ ?density$/,""),O=!1);var D,R="max"===z||"min"===z?null:0,F=l.count,B=c[I],N=!1,j=function(t){return v.r2c(t,0,b)};for(a.isArrayOrTypedArray(e[x])&&"count"!==z&&(D=e[x],N="avg"===z,F=l[z]),r=j(T.start),p=j(T.end)+(r-o.tickIncrement(r,T.size,!1,b))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(m,_.direction,_.currentbin);var J=Math.min(g.length,m.length),K=[],Q=0,$=J-1;for(r=0;r=Q;r--)if(m[r]){$=r;break}for(r=Q;r<=$;r++)if(n(g[r])&&n(m[r])){var tt={p:g[r],s:m[r],b:0};_.enabled||(tt.pts=L[r],G?tt.ph0=tt.ph1=L[r].length?k[L[r][0]]:g[r]:(e._computePh=!0,tt.ph0=q(M[r]),tt.ph1=q(M[r+1],!0))),K.push(tt)}return 1===K.length&&(K[0].width1=o.tickIncrement(K[0].p,T.size,!1,b)-K[0].p),s(K,e),a.isArrayOrTypedArray(e.selectedpoints)&&a.tagSelected(K,e,Z),K},calcAllAutoBins:f}},{"../../lib":735,"../../plots/cartesian/axes":783,"../../registry":866,"../bar/arrays_to_calcdata":875,"./average":1039,"./bin_functions":1041,"./bin_label_vals":1042,"./norm_functions":1050,"fast-isnumeric":237}],1044:[function(t,e,r){"use strict";e.exports={eventDataKeys:["binNumber"]}},{}],1045:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),i=t("../../registry").traceIs,o=t("../bar/defaults").handleGroupingDefaults,s=n.nestedProperty,l=a.getAxisGroup,c=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],u=["x","y"];e.exports=function(t,e){var r,h,f,p,d,g,m,v=e._histogramBinOpts={},y=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return"v"===t.orientation?"x":"y"}function T(t,r,i){var o=t.uid+"__"+i;r||(r=o);var s=function(t,r){return a.getFromTrace({_fullLayout:e},t,r).type}(t,i),l=t[i+"calendar"]||"",c=v[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(i)):(r=o,s!==c.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+c.axType,"axis."].join(" ")),l!==c.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",c.calendar?"on a "+c.calendar+" calendar":"w/o a set calendar"].join(" ")))),u&&(v[r]={traces:[t],dirs:[i],axType:s,calendar:t[i+"calendar"]||""}),t["_"+i+"bingroup"]=r}for(d=0;dS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],C=[],L=[],P="string"==typeof w.size,I="string"==typeof A.size,z=[],O=[],D=P?z:w,R=I?O:A,F=0,B=[],N=[],j=e.histnorm,V=e.histfunc,U=-1!==j.indexOf("density"),q="max"===V||"min"===V?null:0,H=i.count,G=o[j],Y=!1,W=[],Z=[],X="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";X&&"count"!==V&&(Y="avg"===V,H=i[V]);var J=w.size,K=x(w.start),Q=x(w.end)+(K-a.tickIncrement(K,J,!1,v))/1e6;for(r=K;r=0&&p=0&&d0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var u=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(o.z[h][u]){var f,p=o.hi||s.hoverinfo;if(p){var d=p.split("+");-1!==d.indexOf("all")&&(d=["color"]),-1!==d.indexOf("color")&&(f=!0)}var g,m=s.colormodel,v=m.length,y=s._scaler(o.z[h][u]),x=i.colormodel[m].suffix,b=[];(s.hovertemplate||f)&&(b.push("["+[y[0]+x[0],y[1]+x[1],y[2]+x[2]].join(", ")),4===v&&b.push(", "+y[3]+x[3]),b.push("]"),b=b.join(""),t.extraText=m.toUpperCase()+": "+b),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][u]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][u]);var _=c.c2p(o.y0+(h+.5)*s.dy),w=o.x0+(u+.5)*s.dx,T=o.y0+(h+.5)*s.dy,k="["+o.z[h][u].slice(0,s.colormodel.length).join(", ")+"]";return[a.extendFlat(t,{index:[h,u],x0:l.c2p(o.x0+u*s.dx),x1:l.c2p(o.x0+(u+1)*s.dx),y0:_,y1:_,color:y,xVal:w,xLabelVal:w,yVal:T,yLabelVal:T,zLabelVal:k,text:g,hovertemplateLabels:{zLabel:k,colorLabel:b,"color[0]Label":y[0]+x[0],"color[1]Label":y[1]+x[1],"color[2]Label":y[2]+x[2],"color[3]Label":y[3]+x[3]}})]}}}},{"../../components/fx":642,"../../lib":735,"./constants":1062}],1066:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover"),eventData:t("./event_data"),moduleType:"trace",name:"image",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},{"../../plots/cartesian":796,"./attributes":1060,"./calc":1061,"./defaults":1063,"./event_data":1064,"./hover":1065,"./plot":1067,"./style":1068}],1067:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../constants/xmlns_namespaces"),o=t("./constants");e.exports=function(t,e,r,s){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(s,r,"im").each((function(t){var e,r,s,u,h,f,p=n.select(this),d=t[0],g=d.trace,m=d.z,v=d.x0,y=d.y0,x=d.w,b=d.h,_=g.dx,w=g.dy;for(f=0;void 0===e&&f0;)r=l.c2p(v+f*_),f--;for(f=0;void 0===u&&f0;)h=c.c2p(y+f*w),f--;r0}function x(t){t.each((function(t){d.stroke(n.select(this),t.line.color)})).each((function(t){d.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function b(t,e,r){var n=t._fullLayout,i=a.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),o={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return a.coerce(i,o,p,t,e)}return h(i,o,l,s,n),f(i,o,l,s),o}function _(t,e){return"translate("+t+","+e+")"}function w(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function T(t,e,r,a){var i=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(i);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(c.convertToTspans,a).call(s.font,e),s.bBox(o.node())}function k(t,e,r,n,i,o){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=a.aggNums(o,null,[t[s].value,n],2);return t[s].value=l,l}e.exports=function(t,e,r,h){var f,p=t._fullLayout;y(r)&&h&&(f=h()),a.makeTraceGroups(p._indicatorlayer,e,"trace").each((function(e){var h,A,M,S,E,C=e[0].trace,L=n.select(this),P=C._hasGauge,I=C._isAngular,z=C._isBullet,O=C.domain,D={w:p._size.w*(O.x[1]-O.x[0]),h:p._size.h*(O.y[1]-O.y[0]),l:p._size.l+p._size.w*O.x[0],r:p._size.r+p._size.w*(1-O.x[1]),t:p._size.t+p._size.h*(1-O.y[1]),b:p._size.b+p._size.h*O.y[0]},R=D.l+D.w/2,F=D.t+D.h/2,B=Math.min(D.w/2,D.h),N=l.innerRadius*B,j=C.align||"center";if(A=F,P){if(I&&(h=R,A=F+B/2,M=function(t){return function(t,e){var r=Math.sqrt(t.width/2*(t.width/2)+t.height*t.height);return[e/r,t,e]}(t,.9*N)}),z){var V=l.bulletPadding,U=1-l.bulletNumberDomainSize+V;h=D.l+(U+(1-U)*m[j])*D.w,M=function(t){return w(t,(l.bulletNumberDomainSize-V)*D.w,D.h)}}}else h=D.l+m[j]*D.w,M=function(t){return w(t,D.w,D.h)};!function(t,e,r,i){var o,l,h,f=r[0].trace,p=i.numbersX,x=i.numbersY,w=f.align||"center",A=g[w],M=i.transitionOpts,S=i.onComplete,E=a.ensureSingle(e,"g","numbers"),C=[];f._hasNumber&&C.push("number");f._hasDelta&&(C.push("delta"),"left"===f.delta.position&&C.reverse());var L=E.selectAll("text").data(C);function P(e,r,n,a){if(!e.match("s")||n>=0==a>=0||r(n).slice(-1).match(v)||r(a).slice(-1).match(v))return r;var i=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=b(t,{tickformat:i});return function(t){return Math.abs(t)<1?u.tickText(o,t).text:r(t)}}L.enter().append("text"),L.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),L.exit().remove();var I,z=f.mode+f.align;f._hasDelta&&(I=function(){var e=b(t,{tickformat:f.delta.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=function(t){return f.delta.relative?t.relativeDelta:t.delta},o=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?f.delta.increasing.symbol:f.delta.decreasing.symbol)+e(t)},h=function(t){return t.delta>=0?f.delta.increasing.color:f.delta.decreasing.color};void 0===f._deltaLastValue&&(f._deltaLastValue=i(r[0]));var p=E.select("text.delta");function g(){p.text(o(i(r[0]),a)).call(d.fill,h(r[0])).call(c.convertToTspans,t)}return p.call(s.font,f.delta.font).call(d.fill,h({delta:f._deltaLastValue})),y(M)?p.transition().duration(M.duration).ease(M.easing).tween("text",(function(){var t=n.select(this),e=i(r[0]),s=f._deltaLastValue,l=P(f.delta.valueformat,a,s,e),c=n.interpolateNumber(s,e);return f._deltaLastValue=e,function(e){t.text(o(c(e),l)),t.call(d.fill,h({delta:c(e)}))}})).each("end",(function(){g(),S&&S()})).each("interrupt",(function(){g(),S&&S()})):g(),l=T(o(i(r[0]),a),f.delta.font,A,t),p}(),z+=f.delta.position+f.delta.font.size+f.delta.font.family+f.delta.valueformat,z+=f.delta.increasing.symbol+f.delta.decreasing.symbol,h=l);f._hasNumber&&(!function(){var e=b(t,{tickformat:f.number.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=f.number.suffix,l=f.number.prefix,h=E.select("text.number");function p(){var e="number"==typeof r[0].y?l+a(r[0].y)+i:"-";h.text(e).call(s.font,f.number.font).call(c.convertToTspans,t)}y(M)?h.transition().duration(M.duration).ease(M.easing).each("end",(function(){p(),S&&S()})).each("interrupt",(function(){p(),S&&S()})).attrTween("text",(function(){var t=n.select(this),e=n.interpolateNumber(r[0].lastY,r[0].y);f._lastValue=r[0].y;var o=P(f.number.valueformat,a,r[0].lastY,r[0].y);return function(r){t.text(l+o(e(r))+i)}})):p(),o=T(l+a(r[0].y)+i,f.number.font,A,t)}(),z+=f.number.font.size+f.number.font.family+f.number.valueformat+f.number.suffix+f.number.prefix,h=o);if(f._hasDelta&&f._hasNumber){var O,D,R=[(o.left+o.right)/2,(o.top+o.bottom)/2],F=[(l.left+l.right)/2,(l.top+l.bottom)/2],B=.75*f.delta.font.size;"left"===f.delta.position&&(O=k(f,"deltaPos",0,-1*(o.width*m[f.align]+l.width*(1-m[f.align])+B),z,Math.min),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:l.left+O,right:o.right,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),"right"===f.delta.position&&(O=k(f,"deltaPos",0,o.width*(1-m[f.align])+l.width*m[f.align]+B,z,Math.max),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:o.left,right:l.right+O,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),"bottom"===f.delta.position&&(O=null,D=l.height,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height,bottom:o.bottom+l.height}),"top"===f.delta.position&&(O=null,D=o.top,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height-l.height,bottom:o.bottom}),I.attr({dx:O,dy:D})}(f._hasNumber||f._hasDelta)&&E.attr("transform",(function(){var t=i.numbersScaler(h);z+=t[2];var e,r=k(f,"numbersScale",1,t[0],z,Math.min);f._scaleNumbers||(r=1),e=f._isAngular?x-r*h.bottom:x-r*(h.top+h.bottom)/2,f._numbersTop=r*h.top+e;var n=h[w];"center"===w&&(n=(h.left+h.right)/2);var a=p-r*n;return _(a=k(f,"numbersTranslate",0,a,z,Math.max),e)+" scale("+r+")"}))}(t,L,e,{numbersX:h,numbersY:A,numbersScaler:M,transitionOpts:r,onComplete:f}),P&&(S={range:C.gauge.axis.range,color:C.gauge.bgcolor,line:{color:C.gauge.bordercolor,width:0},thickness:1},E={range:C.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:C.gauge.bordercolor,width:C.gauge.borderwidth},thickness:1});var q=L.selectAll("g.angular").data(I?e:[]);q.exit().remove();var H=L.selectAll("g.angularaxis").data(I?e:[]);H.exit().remove(),I&&function(t,e,r,a){var s,l,c,h,f=r[0].trace,p=a.size,d=a.radius,g=a.innerRadius,m=a.gaugeBg,v=a.gaugeOutline,w=[p.l+p.w/2,p.t+p.h/2+d/2],T=a.gauge,k=a.layer,A=a.transitionOpts,M=a.onComplete,S=Math.PI/2;function E(t){var e=f.gauge.axis.range[0],r=(t-e)/(f.gauge.axis.range[1]-e)*Math.PI-S;return r<-S?-S:r>S?S:r}function C(t){return n.svg.arc().innerRadius((g+d)/2-t/2*(d-g)).outerRadius((g+d)/2+t/2*(d-g)).startAngle(-S)}function L(t){t.attr("d",(function(t){return C(t.thickness).startAngle(E(t.range[0])).endAngle(E(t.range[1]))()}))}T.enter().append("g").classed("angular",!0),T.attr("transform",_(w[0],w[1])),k.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),k.selectAll("g.xangularaxistick,path,text").remove(),(s=b(t,f.gauge.axis)).type="linear",s.range=f.gauge.axis.range,s._id="xangularaxis",s.setScale();var P=function(t){return(s.range[0]-t.x)/(s.range[1]-s.range[0])*Math.PI+Math.PI},I={},z=u.makeLabelFns(s,0).labelStandoff;I.xFn=function(t){var e=P(t);return Math.cos(e)*z},I.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*o)},I.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},I.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var O=function(t){return _(w[0]+d*Math.cos(t),w[1]-d*Math.sin(t))};c=function(t){return O(P(t))};if(l=u.calcTicks(s),h=u.getTickSigns(s)[2],s.visible){h="inside"===s.ticks?-1:1;var D=(s.linewidth||1)/2;u.drawTicks(t,s,{vals:l,layer:k,path:"M"+h*D+",0h"+h*s.ticklen,transFn:function(t){var e=P(t);return O(e)+"rotate("+-i(e)+")"}}),u.drawLabels(t,s,{vals:l,layer:k,transFn:c,labelFns:I})}var R=[m].concat(f.gauge.steps),F=T.selectAll("g.bg-arc").data(R);F.enter().append("g").classed("bg-arc",!0).append("path"),F.select("path").call(L).call(x),F.exit().remove();var B=C(f.gauge.bar.thickness),N=T.selectAll("g.value-arc").data([f.gauge.bar]);N.enter().append("g").classed("value-arc",!0).append("path");var j=N.select("path");y(A)?(j.transition().duration(A.duration).ease(A.easing).each("end",(function(){M&&M()})).each("interrupt",(function(){M&&M()})).attrTween("d",(V=B,U=E(r[0].lastY),q=E(r[0].y),function(){var t=n.interpolate(U,q);return function(e){return V.endAngle(t(e))()}})),f._lastValue=r[0].y):j.attr("d","number"==typeof r[0].y?B.endAngle(E(r[0].y)):"M0,0Z");var V,U,q;j.call(x),N.exit().remove(),R=[];var H=f.gauge.threshold.value;H&&R.push({range:[H,H],color:f.gauge.threshold.color,line:{color:f.gauge.threshold.line.color,width:f.gauge.threshold.line.width},thickness:f.gauge.threshold.thickness});var G=T.selectAll("g.threshold-arc").data(R);G.enter().append("g").classed("threshold-arc",!0).append("path"),G.select("path").call(L).call(x),G.exit().remove();var Y=T.selectAll("g.gauge-outline").data([v]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(L).call(x),Y.exit().remove()}(t,0,e,{radius:B,innerRadius:N,gauge:q,layer:H,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var G=L.selectAll("g.bullet").data(z?e:[]);G.exit().remove();var Y=L.selectAll("g.bulletaxis").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,n){var a,i,o,s,c,h=r[0].trace,f=n.gauge,p=n.layer,g=n.gaugeBg,m=n.gaugeOutline,v=n.size,_=h.domain,w=n.transitionOpts,T=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform","translate("+v.l+", "+v.t+")"),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var k=v.h,A=h.gauge.bar.thickness*k,M=_.x[0],S=_.x[0]+(_.x[1]-_.x[0])*(h._hasNumber||h._hasDelta?1-l.bulletNumberDomainSize:1);(a=b(t,h.gauge.axis))._id="xbulletaxis",a.domain=[M,S],a.setScale(),i=u.calcTicks(a),o=u.makeTransFn(a),s=u.getTickSigns(a)[2],c=v.t+v.h,a.visible&&(u.drawTicks(t,a,{vals:"inside"===a.ticks?u.clipEnds(a,i):i,layer:p,path:u.makeTickPath(a,c,s),transFn:o}),u.drawLabels(t,a,{vals:i,layer:p,transFn:o,labelFns:u.makeLabelFns(a,c)}));function E(t){t.attr("width",(function(t){return Math.max(0,a.c2p(t.range[1])-a.c2p(t.range[0]))})).attr("x",(function(t){return a.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*k})).attr("height",(function(t){return t.thickness*k}))}var C=[g].concat(h.gauge.steps),L=f.selectAll("g.bg-bullet").data(C);L.enter().append("g").classed("bg-bullet",!0).append("rect"),L.select("rect").call(E).call(x),L.exit().remove();var P=f.selectAll("g.value-bullet").data([h.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",A).attr("y",(k-A)/2).call(x),y(w)?P.select("rect").transition().duration(w.duration).ease(w.easing).each("end",(function(){T&&T()})).each("interrupt",(function(){T&&T()})).attr("width",Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y))):0);P.exit().remove();var I=r.filter((function(){return h.gauge.threshold.value})),z=f.selectAll("g.threshold-bullet").data(I);z.enter().append("g").classed("threshold-bullet",!0).append("line"),z.select("line").attr("x1",a.c2p(h.gauge.threshold.value)).attr("x2",a.c2p(h.gauge.threshold.value)).attr("y1",(1-h.gauge.threshold.thickness)/2*k).attr("y2",(1-(1-h.gauge.threshold.thickness)/2)*k).call(d.stroke,h.gauge.threshold.line.color).style("stroke-width",h.gauge.threshold.line.width),z.exit().remove();var O=f.selectAll("g.gauge-outline").data([m]);O.enter().append("g").classed("gauge-outline",!0).append("rect"),O.select("rect").call(E).call(x),O.exit().remove()}(t,0,e,{gauge:G,layer:Y,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var W=L.selectAll("text.title").data(e);W.exit().remove(),W.enter().append("text").classed("title",!0),W.attr("text-anchor",(function(){return z?g.right:g[C.title.align]})).text(C.title.text).call(s.font,C.title.font).call(c.convertToTspans,t),W.attr("transform",(function(){var t,e=D.l+D.w*m[C.title.align],r=l.titlePadding,n=s.bBox(W.node());if(P){if(I)if(C.gauge.axis.visible)t=s.bBox(H.node()).top-r-n.bottom;else t=D.t+D.h/2-B/2-n.bottom-r;z&&(t=A-(n.top+n.bottom)/2,e=D.l-l.bulletPadding*D.w)}else t=C._numbersTop-r-n.bottom;return _(e,t)}))}))}},{"../../components/color":602,"../../components/drawing":624,"../../constants/alignment":704,"../../lib":735,"../../lib/svg_text_utils":759,"../../plots/cartesian/axes":783,"../../plots/cartesian/axis_defaults":785,"../../plots/cartesian/layout_attributes":797,"../../plots/cartesian/position_defaults":800,"./constants":1072,d3:165}],1076:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;var c=e.exports=l(s({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),showlegend:s({},o.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:i.opacity,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},{"../../components/colorscale/attributes":609,"../../lib/extend":726,"../../plot_api/edit_types":766,"../../plots/attributes":780,"../../plots/template_attributes":861,"../mesh3d/attributes":1081}],1077:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),a=t("../streamtube/calc").processGrid,i=t("../streamtube/calc").filter;e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=i(e.x,e._len),e._y=i(e.y,e._len),e._z=i(e.z,e._len),e._value=i(e.value,e._len);var r=a(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),a=Math.max(e[r],e[r-1]);if(a>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){L();var a,i,o,l=[r],c=[n];if(s>=1)l=[r],c=[n];else if(s>0){var u=function(t,e){var r=t[0],n=t[1],a=t[2],i=function(t,e,r){for(var n=[],a=0;a-1?n[p]:C(d,g,v);f[p]=x>-1?x:I(d,g,v,R(e,y))}a=f[0],i=f[1],o=f[2],t._meshI.push(a),t._meshJ.push(i),t._meshK.push(o),++m}}function B(t,e,r,n){var a=t[3];an&&(a=n);for(var i=(t[3]-a)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-i)*t[s]+i*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function V(e){for(var r=[],n=0;n<4;n++){var a=e[n];r.push([t._x[a],t._y[a],t._z[a],t._value[a]])}return r}function U(t,e,r,n,a,i){i||(i=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,a),N(e[1][3],n,a),N(e[2][3],n,a)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):i<3&&U(t,e,r,S,E,++i)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(i){if(s[i[0]]&&s[i[1]]&&!s[i[2]]){var u=e[i[0]],h=e[i[1]],f=e[i[2]],p=B(f,u,n,a),d=B(f,h,n,a);o=l(t,[d,p,u],[-1,-1,r[i[0]]])||o,o=l(t,[u,h,d],[r[i[0]],r[i[1]],-1])||o,c=!0}})),c||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(i){if(s[i[0]]&&!s[i[1]]&&!s[i[2]]){var u=e[i[0]],h=e[i[1]],f=e[i[2]],p=B(h,u,n,a),d=B(f,u,n,a);o=l(t,[d,p,u],[-1,-1,r[i[0]]])||o,c=!0}})),o}function q(t,e,r,n){var a=!1,i=V(e),o=[N(i[0][3],r,n),N(i[1][3],r,n),N(i[2][3],r,n),N(i[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return a;if(o[0]&&o[1]&&o[2]&&o[3])return g&&(a=function(t,e,r){var n=function(n,a,i){F(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,i,e)||a),a;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var c=i[l[0]],u=i[l[1]],h=i[l[2]],f=i[l[3]];if(g)a=F(t,[c,u,h],[e[l[0]],e[l[1]],e[l[2]]])||a;else{var p=B(f,c,r,n),d=B(f,u,r,n),m=B(f,h,r,n);a=F(null,[p,d,m],[-1,-1,-1])||a}s=!0}})),s?a:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=i[l[0]],u=i[l[1]],h=i[l[2]],f=i[l[3]],p=B(h,c,r,n),d=B(h,u,r,n),m=B(f,u,r,n),v=B(f,c,r,n);g?(a=F(t,[c,v,p],[e[l[0]],-1,-1])||a,a=F(t,[u,d,m],[e[l[1]],-1,-1])||a):a=function(t,e,r){var n=function(n,a,i){F(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(2,3,0)}(null,[p,d,m,v],[-1,-1,-1,-1])||a,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=i[l[0]],u=i[l[1]],h=i[l[2]],f=i[l[3]],p=B(u,c,r,n),d=B(h,c,r,n),m=B(f,c,r,n);g?(a=F(t,[c,p,d],[e[l[0]],-1,-1])||a,a=F(t,[c,d,m],[e[l[0]],-1,-1])||a,a=F(t,[c,m,p],[e[l[0]],-1,-1])||a):a=F(null,[p,d,m],[-1,-1,-1])||a,s=!0}})),a)}function H(t,e,r,n,a,i,o,s,l,c,u){var h=!1;return d&&(D(t,"A")&&(h=q(null,[e,r,n,i],c,u)||h),D(t,"B")&&(h=q(null,[r,n,a,l],c,u)||h),D(t,"C")&&(h=q(null,[r,i,o,l],c,u)||h),D(t,"D")&&(h=q(null,[n,i,s,l],c,u)||h),D(t,"E")&&(h=q(null,[r,n,i,l],c,u)||h)),g&&(h=q(t,[r,n,i,l],c,u)||h),h}function G(t,e,r,n,a,i,o,s){return[!0===s[0]||U(t,V([e,r,n]),[e,r,n],i,o),!0===s[1]||U(t,V([n,a,e]),[n,a,e],i,o)]}function Y(t,e,r,n,a,i,o,s,l){return s?G(t,e,r,a,n,i,o,l):G(t,r,a,n,e,i,o,l)}function W(t,e,r,n,a,i,o){var s,l,c,u,h=!1,f=function(){h=U(t,[s,l,c],[-1,-1,-1],a,i)||h,h=U(t,[c,u,s],[-1,-1,-1],a,i)||h},p=o[0],d=o[1],g=o[2];return p&&(s=z(V([k(e,r-0,n-0)])[0],V([k(e-1,r-0,n-0)])[0],p),l=z(V([k(e,r-0,n-1)])[0],V([k(e-1,r-0,n-1)])[0],p),c=z(V([k(e,r-1,n-1)])[0],V([k(e-1,r-1,n-1)])[0],p),u=z(V([k(e,r-1,n-0)])[0],V([k(e-1,r-1,n-0)])[0],p),f()),d&&(s=z(V([k(e-0,r,n-0)])[0],V([k(e-0,r-1,n-0)])[0],d),l=z(V([k(e-0,r,n-1)])[0],V([k(e-0,r-1,n-1)])[0],d),c=z(V([k(e-1,r,n-1)])[0],V([k(e-1,r-1,n-1)])[0],d),u=z(V([k(e-1,r,n-0)])[0],V([k(e-1,r-1,n-0)])[0],d),f()),g&&(s=z(V([k(e-0,r-0,n)])[0],V([k(e-0,r-0,n-1)])[0],g),l=z(V([k(e-0,r-1,n)])[0],V([k(e-0,r-1,n-1)])[0],g),c=z(V([k(e-1,r-1,n)])[0],V([k(e-1,r-1,n-1)])[0],g),u=z(V([k(e-1,r-0,n)])[0],V([k(e-1,r-0,n-1)])[0],g),f()),h}function Z(t,e,r,n,a,i,o,s,l,c,u,h){var f=t;return h?(d&&"even"===t&&(f=null),H(f,e,r,n,a,i,o,s,l,c,u)):(d&&"odd"===t&&(f=null),H(f,l,s,o,i,a,n,r,e,c,u))}function X(t,e,r,n,a){for(var i=[],o=0,s=0;sMath.abs(d-M)?[A,d]:[d,M];$(e,T[0],T[1])}}var C=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(e){for(var r=[],n=0;n0&&(u.push(p.id),"x"===e?h.push([p.distRatio,0,0]):"y"===e?h.push([0,p.distRatio,0]):h.push([0,0,p.distRatio]))}else c=nt(1,"x"===e?b-1:"y"===e?_-1:w-1);u.length>0&&(r[a]="x"===e?tt(null,u,i,o,h,r[a]):"y"===e?et(null,u,i,o,h,r[a]):rt(null,u,i,o,h,r[a]),a++),c.length>0&&(r[a]="x"===e?X(null,c,i,o,r[a]):"y"===e?J(null,c,i,o,r[a]):K(null,c,i,o,r[a]),a++)}var d=t.caps[e];d.show&&d.fill&&(O(d.fill),r[a]="x"===e?X(null,[0,b-1],i,o,r[a]):"y"===e?J(null,[0,_-1],i,o,r[a]):K(null,[0,w-1],i,o,r[a]),a++)}})),0===m&&P(),t._meshX=n,t._meshY=a,t._meshZ=i,t._meshIntensity=o,t._Xs=v,t._Ys=y,t._Zs=x}(),t}e.exports={findNearestOnAxis:l,generateIsoMeshes:f,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new c(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}}},{"../../components/colorscale":614,"../../lib/gl_format_color":732,"../../lib/str2rgbarray":758,"../../plots/gl3d/zip3":836,"gl-mesh3d":291}],1079:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("../../components/colorscale/defaults");function s(t,e,r,n,i){var s=i("isomin"),l=i("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=i("x"),u=i("y"),h=i("z"),f=i("value");c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length?(a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),["x","y","z"].forEach((function(t){var e="caps."+t;i(e+".show")&&i(e+".fill");var r="slices."+t;i(r+".show")&&(i(r+".fill"),i(r+".locations"))})),i("spaceframe.show")&&i("spaceframe.fill"),i("surface.show")&&(i("surface.count"),i("surface.fill"),i("surface.pattern")),i("contour.show")&&(i("contour.color"),i("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){i(t)})),o(t,e,n,i,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,a){s(t,e,r,a,(function(r,a){return n.coerce(t,e,i,r,a)}))},supplyIsoDefaults:s}},{"../../components/colorscale/defaults":612,"../../lib":735,"../../registry":866,"./attributes":1076}],1080:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert").createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":825,"./attributes":1076,"./calc":1077,"./convert":1078,"./defaults":1079}],1081:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:i.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:s({},i.contours.x.show,{}),color:i.contours.x.color,width:i.contours.x.width,editType:"calc"},lightposition:{x:s({},i.lightposition.x,{dflt:1e5}),y:s({},i.lightposition.y,{dflt:1e5}),z:s({},i.lightposition.z,{dflt:0}),editType:"calc"},lighting:s({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},i.lighting),hoverinfo:s({},o.hoverinfo,{editType:"calc"}),showlegend:s({},o.showlegend,{dflt:!1})})},{"../../components/colorscale/attributes":609,"../../lib/extend":726,"../../plots/attributes":780,"../../plots/template_attributes":861,"../surface/attributes":1263}],1082:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":610}],1083:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("delaunay-triangulate"),i=t("alpha-shape"),o=t("convex-hull"),s=t("../../lib/gl_format_color").parseColorScale,l=t("../../lib/str2rgbarray"),c=t("../../components/colorscale").extractOpts,u=t("../../plots/gl3d/zip3");function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var f=h.prototype;function p(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}f.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,h=t.x.length,f=u(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!m(t.i,h)||!m(t.j,h)||!m(t.k,h))return;n=u(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(f):t.alphahull>0?i(t.alphahull,f):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],i=e.length,o=0;om):g=T>b,m=T;var k=l(b,_,w,T);k.pos=x,k.yc=(b+T)/2,k.i=y,k.dir=g?"increasing":"decreasing",k.x=k.pos,k.y=[w,_],p&&(k.tx=e.text[y]),d&&(k.htx=e.hovertext[y]),v.push(k)}else v.push({pos:x,empty:!0})}return e._extremes[s._id]=i.findExtremes(s,n.concat(h,u),{padded:!0}),v.length&&(v[0].t={labels:{open:a(t,"open:")+" ",high:a(t,"high:")+" ",low:a(t,"low:")+" ",close:a(t,"close:")+" "}}),v}e.exports={calc:function(t,e){var r=i.getFromId(t,e.xaxis),a=i.getFromId(t,e.yaxis),o=function(t,e,r){var a=r._minDiff;if(!a){var i,o=t._fullData,s=[];for(a=1/0,i=0;i"+c.labels[x]+n.hoverLabelText(s,b):((y=a.extendFlat({},f)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=c.labels[x]+n.hoverLabelText(s,b),y.name="",h.push(y),m[b]=y)}return h}function f(t,e,r,a){var i=t.cd,o=t.ya,l=i[0].trace,h=i[0].t,f=u(t,e,r,a);if(!f)return[];var p=i[f.index],d=f.index=p.i,g=p.dir;function m(t){return h.labels[t]+n.hoverLabelText(o,l[t][d])}var v=p.hi||l.hoverinfo,y=v.split("+"),x="all"===v,b=x||-1!==y.indexOf("y"),_=x||-1!==y.indexOf("text"),w=b?[m("open"),m("high"),m("low"),m("close")+" "+c[g]]:[];return _&&s(p,l,w),f.extraText=w.join("
        "),f.y0=f.y1=o.c2p(p.yc,!0),[f]}e.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?h(t,e,r,n):f(t,e,r,n)},hoverSplit:h,hoverOnPoints:f}},{"../../components/color":602,"../../components/fx":642,"../../constants/delta.js":705,"../../lib":735,"../../plots/cartesian/axes":783}],1090:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"ohlc",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend"],meta:{},attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc").calc,plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select")}},{"../../plots/cartesian":796,"./attributes":1086,"./calc":1087,"./defaults":1088,"./hover":1089,"./plot":1092,"./select":1093,"./style":1094}],1091:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports=function(t,e,r,i){var o=r("x"),s=r("open"),l=r("high"),c=r("low"),u=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],i),s&&l&&c&&u){var h=Math.min(s.length,l.length,c.length,u.length);return o&&(h=Math.min(h,a.minRowLength(o))),e._length=h,h}}},{"../../lib":735,"../../registry":866}],1092:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib");e.exports=function(t,e,r,i){var o=e.xaxis,s=e.yaxis;a.makeTraceGroups(i,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],i=r.t;if(!0!==r.trace.visible||i.empty)e.remove();else{var l=i.tickLen,c=e.selectAll("path").data(a.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-l,!0),n=o.c2p(t.pos+l,!0);return"M"+r+","+s.c2p(t.o,!0)+"H"+e+"M"+e+","+s.c2p(t.h,!0)+"V"+s.c2p(t.l,!0)+"M"+n+","+s.c2p(t.c,!0)+"H"+e}))}}))}},{"../../lib":735,d3:165}],1093:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(t.map((function(t){return t.displayindex}))))for(e=0;e0;c&&(o="array");var u=r("categoryorder",o);"array"===u?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),c||"array"!==u||(e.categoryorder="trace")}}e.exports=function(t,e,r,h){function f(r,a){return n.coerce(t,e,l,r,a)}var p=s(t,e,{name:"dimensions",handleItemDefaults:u}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(a(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,h,f);o(e,h,f),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,"values",d),f("hoveron"),f("hovertemplate"),f("arrangement"),f("bundlecolors"),f("sortpaths"),f("counts");var g={family:h.font.family,size:Math.round(h.font.size),color:h.font.color};n.coerceFont(f,"labelfont",g);var m={family:h.font.family,size:Math.round(h.font.size/1.2),color:h.font.color};n.coerceFont(f,"tickfont",m)}},{"../../components/colorscale/defaults":612,"../../components/colorscale/helpers":613,"../../lib":735,"../../plots/array_container_defaults":779,"../../plots/domain":810,"../parcoords/merge_length":1111,"./attributes":1095}],1099:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1095,"./base_plot":1096,"./calc":1097,"./defaults":1098,"./plot":1101}],1100:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plot_api/plot_api"),i=t("../../components/fx"),o=t("../../lib"),s=t("../../components/drawing"),l=t("tinycolor2"),c=t("../../lib/svg_text_utils");function u(t,e,r,a){var i=t.map(D.bind(0,e,r)),l=a.selectAll("g.parcatslayer").data([null]);l.enter().append("g").attr("class","parcatslayer").style("pointer-events","all");var u=l.selectAll("g.trace.parcats").data(i,h),m=u.enter().append("g").attr("class","trace parcats");u.attr("transform",(function(t){return"translate("+t.x+", "+t.y+")"})),m.append("g").attr("class","paths");var v=u.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),h);v.attr("fill",(function(t){return t.model.color}));var b=v.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);x(b),v.attr("d",(function(t){return t.svgD})),b.empty()||v.sort(p),v.exit().remove(),v.on("mouseover",d).on("mouseout",g).on("click",y),m.append("g").attr("class","dimensions");var T=u.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),h);T.enter().append("g").attr("class","dimension"),T.attr("transform",(function(t){return"translate("+t.x+", 0)"})),T.exit().remove();var k=T.selectAll("g.category").data((function(t){return t.categories}),h),A=k.enter().append("g").attr("class","category");k.attr("transform",(function(t){return"translate(0, "+t.y+")"})),A.append("rect").attr("class","catrect").attr("pointer-events","none"),k.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),_(A);var M=k.selectAll("rect.bandrect").data((function(t){return t.bands}),h);M.each((function(){o.raiseToTop(this)})),M.attr("fill",(function(t){return t.color}));var I=M.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);M.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),w(I),M.exit().remove(),A.append("text").attr("class","catlabel").attr("pointer-events","none");var z=e._fullLayout.paper_bgcolor;k.select("text.catlabel").attr("text-anchor",(function(t){return f(t)?"start":"end"})).attr("alignment-baseline","middle").style("text-shadow",z+" -1px 1px 2px, "+z+" 1px 1px 2px, "+z+" 1px -1px 2px, "+z+" -1px -1px 2px").style("fill","rgb(0, 0, 0)").attr("x",(function(t){return f(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){s.font(n.select(this),t.parcatsViewModel.categorylabelfont),c.convertToTspans(n.select(this),e)})),A.append("text").attr("class","dimlabel"),k.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){s.font(n.select(this),t.parcatsViewModel.labelfont)})),k.selectAll("rect.bandrect").on("mouseover",S).on("mouseout",E),k.exit().remove(),T.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",C).on("drag",L).on("dragend",P)),u.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),u.exit().remove()}function h(t){return t.key}function f(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function p(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),C=n.mouse(h)[0];i.loneHover({trace:f,x:_-d.left+g.left,y:w-d.top+g.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:C<_?"right":"left",hovertemplate:(f.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:f._input,fullData:f,count:k,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:h})}}}function g(t){if(!t.parcatsViewModel.dragDimension&&(x(n.select(this)),i.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(p),-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var e=m(t),r=v(t);t.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:e,event:n.event,constraints:r})}}function m(t){for(var e=[],r=I(t.parcatsViewModel),n=0;n1&&c.displayInd===l.dimensions.length-1?(r=o.left,a="left"):(r=o.left+o.width,a="right");var f=s.model.count,p=s.model.categoryLabel,d=f/s.parcatsViewModel.model.count,g={countLabel:f,categoryLabel:p,probabilityLabel:d.toFixed(3)},m=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&m.push(["Count:",g.countLabel].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")&&m.push(["P("+g.categoryLabel+"):",g.probabilityLabel].join(" "));var v=m.join("
        ");return{trace:u,x:r-t.left,y:h-t.top,text:v,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:u.hovertemplate,hovertemplateLabels:g,eventData:[{data:u._input,fullData:u,count:f,category:p,probability:d}]}}function S(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,a=r._fullLayout,s=a._paperdiv.node().getBoundingClientRect(),c=t.parcatsViewModel.hoveron;if("color"===c?(!function(t){var e=n.select(t).datum(),r=T(e);b(r),r.each((function(){o.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){o.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(this),A(this,"plotly_hover",n.event)):(!function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=T(t);b(e),e.each((function(){o.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(this),k(this,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none"))"category"===c?e=M(s,this):"color"===c?e=function(t,e){var r,a,i=e.getBoundingClientRect(),o=n.select(e).datum(),s=o.categoryViewModel,c=s.parcatsViewModel,u=c.model.dimensions[s.model.dimensionInd],h=c.trace,f=i.y+i.height/2;c.dimensions.length>1&&u.displayInd===c.dimensions.length-1?(r=i.left,a="left"):(r=i.left+i.width,a="right");var p=s.model.categoryLabel,d=o.parcatsViewModel.model.count,g=0;o.categoryViewModel.bands.forEach((function(t){t.color===o.color&&(g+=t.count)}));var m=s.model.count,v=0;c.pathSelection.each((function(t){t.model.color===o.color&&(v+=t.model.count)}));var y=g/d,x=g/v,b=g/m,_={countLabel:d,categoryLabel:p,probabilityLabel:y.toFixed(3)},w=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&w.push(["Count:",_.countLabel].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(w.push("P(color \u2229 "+p+"): "+_.probabilityLabel),w.push("P("+p+" | color): "+x.toFixed(3)),w.push("P(color | "+p+"): "+b.toFixed(3)));var T=w.join("
        "),k=l.mostReadable(o.color,["black","white"]);return{trace:h,x:r-t.left,y:f-t.top,text:T,color:o.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:k,fontSize:10,idealAlign:a,hovertemplate:h.hovertemplate,hovertemplateLabels:_,eventData:[{data:h._input,fullData:h,category:p,count:d,probability:y,categorycount:m,colorcount:v,bandcolorcount:g}]}}(s,this):"dimension"===c&&(e=function(t,e){var r=[];return n.select(e.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){r.push(M(t,this))})),r}(s,this)),e&&i.loneHover(e,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r})}}function E(t){var e=t.parcatsViewModel;if(!e.dragDimension&&(x(e.pathSelection),_(e.dimensionSelection.selectAll("g.category")),w(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),i.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(p),-1===e.hoverinfoItems.indexOf("skip"))){"color"===t.parcatsViewModel.hoveron?A(this,"plotly_unhover",n.event):k(this,"plotly_unhover",n.event)}}function C(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],a=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=a&&a<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,o.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.yh.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){i.model.dragX=n.event.x;var f=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[a];void 0!==f&&i.model.dragXp.x&&(i.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=i.model.displayInd}B(t.parcatsViewModel),F(t.parcatsViewModel),O(t.parcatsViewModel),z(t.parcatsViewModel)}}function P(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=I(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var a=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+a+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var c=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),u=c.map((function(t){return t.categoryValue})),h=c.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[u],e["dimensions["+t.model.containerInd+"].ticktext"]=[h],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?A(t.potentialClickBand,"plotly_click",n.event.sourceEvent):k(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd)t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null;t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,B(t.parcatsViewModel),F(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){O(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function I(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)u+="C"+c[s]+","+(e[s+1]+a)+" "+l[s]+","+(e[s]+a)+" "+(t[s]+r[s])+","+(e[s]+a),u+="l-"+r[s]+",0 ";return u+="Z"}function F(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),a=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),i=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(t){var e=t.categoryInds.map((function(t,e){return a[e][t]}));return o.map((function(t){return e[t]}))}c.sort((function(e,r){var n=h(e),a=h(r);return"backward"===t.sortpaths&&(n.reverse(),a.reverse()),n.push(e.valueInds[0]),a.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),a.unshift(r.rawColor)),na?1:0}));for(var f=new Array(c.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),g=0;g0?d*(v.count/p):0;for(var y,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*a;var i,o,s,l,c,u=[],h=t.model.maxCats,f=e.categories.length,p=e.count,d=t.height-8*(h-1),g=8*(h-f)/2,m=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(m.sort((function(t,e){return t.displayInd-e.displayInd})),c=0;c0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:i,y:null!==o.dragY?o.dragY:g,bands:[],parcatsViewModel:t},g=g+i+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}e.exports=function(t,e,r,n){u(r,t,n,e)}},{"../../components/drawing":624,"../../components/fx":642,"../../lib":735,"../../lib/svg_text_utils":759,"../../plot_api/plot_api":770,d3:165,tinycolor2:535}],1101:[function(t,e,r){"use strict";var n=t("./parcats");e.exports=function(t,e,r,a){var i=t._fullLayout,o=i._paper,s=i._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,a)}},{"./parcats":1100}],1102:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/cartesian/layout_attributes"),i=t("../../plots/font_attributes"),o=t("../../plots/domain").attributes,s=t("../../lib/extend").extendFlat,l=t("../../plot_api/plot_template").templatedArray;e.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:i({editType:"plot"}),tickfont:i({editType:"plot"}),rangefont:i({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},a.tickvals,{editType:"plot"}),ticktext:s({},a.ticktext,{editType:"plot"}),tickformat:s({},a.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"}))}},{"../../components/colorscale/attributes":609,"../../lib/extend":726,"../../plot_api/plot_template":773,"../../plots/cartesian/layout_attributes":797,"../../plots/domain":810,"../../plots/font_attributes":811}],1103:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("../../lib/gup").keyFun,o=t("../../lib/gup").repeat,s=t("../../lib").sorterAsc,l=n.bar.snapRatio;function c(t,e){return t*(1-l)+e*l}var u=n.bar.snapClose;function h(t,e){return t*(1-u)+e*u}function f(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var a=t?-1:1,i=0,o=e.length-1;if(a<0){var s=i;i=o,o=s}for(var l=e[i],u=l,f=i;a*fe){f=r;break}}if(i=u,isNaN(i)&&(i=isNaN(h)||isNaN(f)?isNaN(h)?f:h:e-c[h][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);g&&(o.interval=l[i],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var v=t.unitTickvals,y=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&y<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function _(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.brush.svgBrush;i.wasDragged=!0,i._dragging=!0,i.grabbingBar?i.newExtent=[r-i.grabPoint,r+i.barLength-i.grabPoint].map(e.unitToPaddedPx.invert):i.newExtent=[i.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,i.extent=i.stayingIntervals.concat([i.newExtent]),i.brushCallback(e),x(t.parentNode)}function w(t,e){var r=b(e,e.height-a.mouse(t)[1]-2*n.verticalPadding),i="crosshair";r.clickableOrdinalRange?i="pointer":r.region&&(i=r.region+"-resize"),a.select(document.body).style("cursor",i)}function T(t){t.on("mousemove",(function(t){a.event.preventDefault(),t.parent.inBrushDrag||w(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||v()})).call(a.behavior.drag().on("dragstart",(function(t){!function(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.unitToPaddedPx.invert(r),o=e.brush,s=b(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),c.startExtent=s.region?l["s"===s.region?1:0]:i,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)})).on("drag",(function(t){_(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,i=r.svgBrush;i._dragging||(w(t,e),_(t,e),e.brush.svgBrush.wasDragged=!1),i._dragging=!1,a.event.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,e.parent.inBrushDrag=!1,v(),!i.wasDragged)return i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&e.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,0===i.extent.length&&A(r)):A(r),i.brushCallback(e),x(t.parentNode),void i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]i.newExtent[0];i.extent=i.stayingIntervals.concat(c?[i.newExtent]:[]),i.extent.length||A(r),i.brushCallback(e),c?x(t.parentNode,s):(s(),x(t.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function k(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function M(t){for(var e,r=t.slice(),n=[],a=r.shift();a;){for(e=a.slice();(a=r.shift())&&a[0]<=e[1];)e[1]=Math.max(e[1],a[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}e.exports={makeBrush:function(t,e,r,n,a,i){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(k)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=M(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=a,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e).slice();e.filter.set(r),o()}),brushEndCallback:i}}},ensureAxisBrush:function(t){var e=t.selectAll("."+n.cn.axisBrush).data(o,i);e.enter().append("g").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(".background").data(o);e.enter().append("rect").classed("background",!0).call(p).call(d).style("pointer-events","auto").attr("transform","translate(0 "+n.verticalPadding+")"),e.call(T).attr("height",(function(t){return t.height-n.verticalPadding}));var r=t.selectAll(".highlight-shadow").data(o);r.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",n.bar.strokeColor).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),r.attr("y1",(function(t){return t.height})).call(y);var a=t.selectAll(".highlight").data(o);a.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),a.attr("y1",(function(t){return t.height})).call(y)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?M(t.sort(k)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[f(0,r,t[0],[]),f(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},{"../../lib":735,"../../lib/gup":733,"./constants":1106,d3:165}],1104:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/get_data").getModuleCalcData,i=t("./plot"),o=t("../../constants/xmlns_namespaces");r.name="parcoords",r.plot=function(t){var e=a(t.calcdata,"parcoords")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var a=n._has&&n._has("parcoords"),i=e._has&&e._has("parcoords");a&&!i&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},{"../../constants/xmlns_namespaces":712,"../../plots/get_data":820,"./plot":1113,d3:165}],1105:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale"),i=t("../../lib/gup").wrap;e.exports=function(t,e){var r,o;return a.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=a.extractOpts(e.line).colorscale,a.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rh&&(n.log("parcoords traces support up to "+h+" dimensions at the moment"),d.splice(h));var g=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),m=function(t,e,r,o,s){var l=s("line.color",r);if(a(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(g)&&g.length||(e.visible=!1),f(e,g,"values",m);var v={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(u,"labelfont",v),n.coerceFont(u,"tickfont",v),n.coerceFont(u,"rangefont",v),u("labelangle"),u("labelside")}},{"../../components/colorscale/defaults":612,"../../components/colorscale/helpers":613,"../../lib":735,"../../plots/array_container_defaults":779,"../../plots/cartesian/axes":783,"../../plots/domain":810,"./attributes":1102,"./axisbrush":1103,"./constants":1106,"./merge_length":1111}],1108:[function(t,e,r){"use strict";var n=t("../../lib").isTypedArray;r.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},r.isOrdinal=function(t){return!!t.tickvals},r.isVisible=function(t){return t.visible||!("visible"in t)}},{"../../lib":735}],1109:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:t("./base_plot"),categories:["gl","regl","noOpacity","noHover"],meta:{}}},{"./attributes":1102,"./base_plot":1104,"./calc":1105,"./defaults":1107,"./plot":1113}],1110:[function(t,e,r){"use strict";var n=t("glslify"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n p17_20, p21_24, p25_28, p29_32,\n p33_36, p37_40, p41_44, p45_48,\n p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform sampler2D mask, palette;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\n\nbool isPick = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n return (\n fOutside(p[0], lo[0], hi[0]) ||\n fOutside(p[1], lo[1], hi[1]) ||\n fOutside(p[2], lo[2], hi[2]) ||\n fOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n return (\n vOutside(p[0], lo[0], hi[0]) ||\n vOutside(p[1], lo[1], hi[1]) ||\n vOutside(p[2], lo[2], hi[2]) ||\n vOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n return mOutside(A, loA, hiA) ||\n mOutside(B, loB, hiB) ||\n mOutside(C, loC, hiC) ||\n mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n mat4 pnts[4];\n pnts[0] = A;\n pnts[1] = B;\n pnts[2] = C;\n pnts[3] = D;\n\n for(int i = 0; i < 4; ++i) {\n for(int j = 0; j < 4; ++j) {\n for(int k = 0; k < 4; ++k) {\n if(0 == iMod(\n int(255.0 * texture2D(mask,\n vec2(\n (float(i * 2 + j / 2) + 0.5) / 8.0,\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n ))[3]\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n 2\n )) return true;\n }\n }\n }\n return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n float x = 0.5 * sign(v) + 0.5;\n float y = axisY(x, A, B, C, D);\n float z = 1.0 - abs(v);\n\n z += isContext ? 0.0 : 2.0 * float(\n outsideBoundingBox(A, B, C, D) ||\n outsideRasterMask(A, B, C, D)\n );\n\n return vec4(\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n z,\n 1.0\n );\n}\n\nvoid main() {\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n float v = colors[3];\n\n gl_Position = position(isContext, v, A, B, C, D);\n\n fragColor =\n isContext ? vec4(contextColor) :\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n"]),i=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n"]),o=t("./constants").maxDimensionCount,s=t("../../lib"),l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function h(t,e,r,n,a){var i=t._gl;i.enable(i.SCISSOR_TEST),i.scissor(e,r,n,a),t.clear({color:[0,0,0,0],depth:1})}function f(t,e,r,n,a,i){var o=i.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,a-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],h(t,i.scissorX,i.scissorY,i.scissorWidth,i.viewBoxSize[1])),r.clearOnly||(i.count=2*c,i.offset=2*l*n,e(i),l*n+c>>8*e)%256/255}function g(t,e,r){for(var n=new Array(8*e),a=0,i=0;iu&&(u=t[a].dim1.canvasX,o=a);0===s&&h(T,0,0,r.canvasWidth,r.canvasHeight);var p=function(t){var e,r,n,a=[[],[]];for(n=0;n<64;n++){var i=!t&&na._length&&(S=S.slice(0,a._length));var E,C=a.tickvals;function L(t,e){return{val:t,text:E[e]}}function P(t,e){return t.val-e.val}if(Array.isArray(C)&&C.length){E=a.ticktext,Array.isArray(E)&&E.length?E.length>C.length?E=E.slice(0,C.length):C.length>E.length&&(C=C.slice(0,E.length)):E=C.map(n.format(a.tickformat));for(var I=1;I=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:h};h!==O&&(u?a.hover(f):a.unhover&&a.unhover(f),O=h)}})),z.style("opacity",(function(t){return t.pick?0:1})),u.style("background","rgba(255, 255, 255, 0)");var D=u.selectAll("."+g.cn.parcoords).data(k,h);D.exit().remove(),D.enter().append("g").classed(g.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),D.attr("transform",(function(t){return"translate("+t.model.translateX+","+t.model.translateY+")"}));var R=D.selectAll("."+g.cn.parcoordsControlView).data(f,h);R.enter().append("g").classed(g.cn.parcoordsControlView,!0),R.attr("transform",(function(t){return"translate("+t.model.pad.l+","+t.model.pad.t+")"}));var F=R.selectAll("."+g.cn.yAxis).data((function(t){return t.dimensions}),h);F.enter().append("g").classed(g.cn.yAxis,!0),R.each((function(t){L(F,t)})),z.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=v(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),F.attr("transform",(function(t){return"translate("+t.xScale(t.xIndex)+", 0)"})),F.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;T.linePickActive(!1),t.x=Math.max(-g.overdrag,Math.min(t.model.width+g.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,F.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),L(F,e),F.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return"translate("+t.xScale(t.xIndex)+", 0)"})),n.select(this).attr("transform","translate("+t.x+", 0)"),F.each((function(r,n,a){a===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!A(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,L(F,e),n.select(this).attr("transform",(function(t){return"translate("+t.x+", 0)"})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!A(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),T.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),F.exit().remove();var B=F.selectAll("."+g.cn.axisOverlays).data(f,h);B.enter().append("g").classed(g.cn.axisOverlays,!0),B.selectAll("."+g.cn.axis).remove();var N=B.selectAll("."+g.cn.axis).data(f,h);N.enter().append("g").classed(g.cn.axis,!0),N.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,a=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?a:null).tickFormat((function(e){return d.isOrdinal(t)?e:P(t.model.dimensions[t.visibleIndex],e)})).scale(r)),l.font(N.selectAll("text"),t.model.tickFont)})),N.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),N.selectAll("text").style("text-shadow","1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff").style("cursor","default").style("user-select","none");var j=B.selectAll("."+g.cn.axisHeading).data(f,h);j.enter().append("g").classed(g.cn.axisHeading,!0);var V=j.selectAll("."+g.cn.axisTitle).data(f,h);V.enter().append("text").classed(g.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("user-select","none").style("pointer-events","auto"),V.text((function(t){return t.label})).each((function(e){var r=n.select(this);l.font(r,e.model.labelFont),s.convertToTspans(r,t)})).attr("transform",(function(t){var e=C(t.model.labelAngle,t.model.labelSide),r=g.axisTitleOffset;return(e.dir>0?"":"translate(0,"+(2*r+t.model.height)+")")+"rotate("+e.degrees+")translate("+-r*e.dx+","+-r*e.dy+")"})).attr("text-anchor",(function(t){var e=C(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var U=B.selectAll("."+g.cn.axisExtent).data(f,h);U.enter().append("g").classed(g.cn.axisExtent,!0);var q=U.selectAll("."+g.cn.axisExtentTop).data(f,h);q.enter().append("g").classed(g.cn.axisExtentTop,!0),q.attr("transform","translate(0,"+-g.axisExtentOffset+")");var H=q.selectAll("."+g.cn.axisExtentTopText).data(f,h);H.enter().append("text").classed(g.cn.axisExtentTopText,!0).call(E),H.text((function(t){return I(t,!0)})).each((function(t){l.font(n.select(this),t.model.rangeFont)}));var G=U.selectAll("."+g.cn.axisExtentBottom).data(f,h);G.enter().append("g").classed(g.cn.axisExtentBottom,!0),G.attr("transform",(function(t){return"translate(0,"+(t.model.height+g.axisExtentOffset)+")"}));var Y=G.selectAll("."+g.cn.axisExtentBottomText).data(f,h);Y.enter().append("text").classed(g.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(E),Y.text((function(t){return I(t,!1)})).each((function(t){l.font(n.select(this),t.model.rangeFont)})),m.ensureAxisBrush(B)}},{"../../components/colorscale":614,"../../components/drawing":624,"../../lib":735,"../../lib/gup":733,"../../lib/svg_text_utils":759,"../../plots/cartesian/axes":783,"./axisbrush":1103,"./constants":1106,"./helpers":1108,"./lines":1110,"color-rgba":124,d3:165}],1113:[function(t,e,r){"use strict";var n=t("./parcoords"),a=t("../../lib/prepare_regl"),i=t("./helpers").isVisible;function o(t,e,r){var n=e.indexOf(r),a=t.indexOf(n);return-1===a&&(a+=e.length),a}e.exports=function(t,e){var r=t._fullLayout;if(a(t)){var s={},l={},c={},u={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var a=u[r]=n._fullInput.index;s[r]=t.data[a].dimensions,l[r]=t.data[a].dimensions.slice()}));n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,a){var i=l[e][n],o=a.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",h=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===h[s]){var f=i.constraintrange;h[s]=f||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),i.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete i.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[u[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return o(t,e,r)-o(t,e,n)}}(r,l[e].filter(i));s[e].sort(n),l[e].filter((function(t){return!i(t)})).sort((function(t){return l[e].indexOf(t)})).forEach((function(t){s[e].splice(s[e].indexOf(t),1),s[e].splice(l[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[s[e]]},[u[e]]])}})}}},{"../../lib/prepare_regl":748,"./helpers":1108,"./parcoords":1112}],1114:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),a=t("../../plots/domain").attributes,i=t("../../plots/font_attributes"),o=t("../../components/color/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/template_attributes").texttemplateAttrs,c=t("../../lib/extend").extendFlat,u=i({editType:"plot",arrayOk:!0,colorEditType:"plot"});e.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:c({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},u,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},u,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:a({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"number",min:-360,max:360,dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:c({},u,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},{"../../components/color/attributes":601,"../../lib/extend":726,"../../plots/attributes":780,"../../plots/domain":810,"../../plots/font_attributes":811,"../../plots/template_attributes":861}],1115:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="pie",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":846}],1116:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("../../components/color"),o={};function s(t){return function(e,r){return!!e&&(!!(e=a(e)).isValid()&&(e=i.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e))}}function l(t,e){var r,n=JSON.stringify(t),i=e[n];if(!i){for(i=t.slice(),r=0;r0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:i,len:o}}e.exports={handleLabelsAndValues:l,supplyDefaults:function(t,e,r,n){function c(r,n){return a.coerce(t,e,i,r,n)}var u=l(c("labels"),c("values")),h=u.len;if(e._hasLabels=u.hasLabels,e._hasValues=u.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),h){e._length=h,c("marker.line.width")&&c("marker.line.color"),c("marker.colors"),c("scalegroup");var f,p=c("text"),d=c("texttemplate");if(d||(f=c("textinfo",Array.isArray(p)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),d||f&&"none"!==f){var g=c("textposition");s(t,e,n,c,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&c("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&c("insidetextorientation")}o(e,n,c);var m=c("hole");if(c("title.text")){var v=c("title.position",m?"middle center":"top center");m||"middle center"!==v||(e.title.position="top center"),a.coerceFont(c,"title.font",n.font)}c("sort"),c("direction"),c("rotation"),c("pull")}else e.visible=!1}}},{"../../lib":735,"../../plots/domain":810,"../bar/defaults":880,"./attributes":1114,"fast-isnumeric":237}],1118:[function(t,e,r){"use strict";var n=t("../../components/fx/helpers").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},{"../../components/fx/helpers":638}],1119:[function(t,e,r){"use strict";var n=t("../../lib");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)+"%"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r"),name:u.hovertemplate||-1!==h.indexOf("name")?u.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:d.castOption(b.bgcolor,t.pts)||t.color,borderColor:d.castOption(b.bordercolor,t.pts),fontFamily:d.castOption(_.family,t.pts),fontSize:d.castOption(_.size,t.pts),fontColor:d.castOption(_.color,t.pts),nameLength:d.castOption(b.namelength,t.pts),textAlign:d.castOption(b.align,t.pts),hovertemplate:d.castOption(u.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[g(t,u)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e}),o._hasHoverLabel=!0}o._hasHoverEvent=!0,e.emit("plotly_hover",{points:[g(t,u)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,a=e._fullData[o.index],s=n.select(this).datum();o._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[g(s,a)],event:n.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(i.loneUnhover(r._hoverlayer.node()),o._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,a=e._fullData[o.index];e._dragging||!1===r.hovermode||(e._hoverdata=[g(t,a)],i.click(e,n.event))}))}function y(t,e,r){var n=d.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=d.castOption(t._input.textfont.color,e.pts));var a=d.castOption(t.insidetextfont.family,e.pts)||d.castOption(t.textfont.family,e.pts)||r.family,i=d.castOption(t.insidetextfont.size,e.pts)||d.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:a,size:i}}function x(t,e){for(var r,n,a=0;ae&&e>n||r=-4;m-=2)v(Math.PI*m,"tan");for(m=4;m>=-4;m-=2)v(Math.PI*(m+1),"tan")}if(h||p){for(m=4;m>=-4;m-=2)v(Math.PI*(m+1.5),"rad");for(m=4;m>=-4;m-=2)v(Math.PI*(m+.5),"rad")}}if(s||d||h){var y=Math.sqrt(t.width*t.width+t.height*t.height);if((i={scale:a*n*2/y,rCenter:1-a,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,i.scale>=1)return i;g.push(i)}(d||p)&&((i=_(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,g.push(i)),(d||f)&&((i=w(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,g.push(i));for(var x=0,b=0,T=0;T=1)break}return g[x]}function _(t,e,r,n,a){e=Math.max(0,e-2*p);var i=t.width/t.height,o=A(i,n,e,r);return{scale:2*o/t.height,rCenter:T(i,o/e),rotate:k(a)}}function w(t,e,r,n,a){e=Math.max(0,e-2*p);var i=t.height/t.width,o=A(i,n,e,r);return{scale:2*o/t.width,rCenter:T(i,o/e),rotate:k(a+Math.PI/2)}}function T(t,e){return Math.cos(e)-t*e}function k(t){return(180/Math.PI*t+720)%180-90}function A(t,e,r,n){var a=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(a*a+.5)+a),n/(Math.sqrt(t*t+n/2)+t))}function M(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function S(t,e){var r=e.pxmid[0],n=e.pxmid[1],a=t.width/2,i=t.height/2;return r<0&&(a*=-1),n<0&&(i*=-1),{scale:1,rCenter:1,rotate:0,x:a+Math.abs(i)*(a>0?1:-1)/2,y:i/(1+r*r/(n*n)),outside:!0}}function E(t,e){var r,n,a,i=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=i.title.font.size,a=L(i),-1!==i.title.position.indexOf("top")?(o.y-=(1+a)*t.r,s.ty-=t.titleBox.height):-1!==i.title.position.indexOf("bottom")&&(o.y+=(1+a)*t.r);var l,c,u=(l=t.r,c=t.trace.aspectratio,l/(void 0===c?1:c)),h=e.w*(i.domain.x[1]-i.domain.x[0])/2;return-1!==i.title.position.indexOf("left")?(h+=u,o.x-=(1+a)*u,s.tx+=t.titleBox.width/2):-1!==i.title.position.indexOf("center")?h*=2:-1!==i.title.position.indexOf("right")&&(h+=u,o.x+=(1+a)*u,s.tx-=t.titleBox.width/2),r=h/t.titleBox.width,n=C(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function C(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function L(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function P(t,e){for(var r=[],n=0;n1?(c=r.r,u=c/a.aspectratio):(u=r.r,c=u*a.aspectratio),c*=(1+a.baseratio)/2,l=c*u}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(i){var x=l.castOption(a,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:d.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:d.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(a,t.i,"customdata")}}(e),_=d.getFirstFilled(a.text,e.pts);(m(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,a._meta||{})}else e.text=""}}function O(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),a=Math.sin(r),i=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=i*n-o*a,t.textY=i*a+o*n,t.noCenter=!0}e.exports={plot:function(t,e){var r=t._fullLayout,i=r._size;f("pie",r),x(e,t),P(e,i);var u=l.makeTraceGroups(r._pielayer,e,"trace").each((function(e){var u=n.select(this),f=e[0],p=f.trace;!function(t){var e,r,n,a=t[0],i=a.r,o=a.trace,s=o.rotation*Math.PI/180,l=2*Math.PI/a.vTotal,c="px0",u="px1";if("counterclockwise"===o.direction){for(e=0;ea.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/a.vTotal,.5),r.ring=1-o.hole,r.rInscribed=M(r,a))}(e),u.attr("stroke-linejoin","round"),u.each((function(){var g=n.select(this).selectAll("g.slice").data(e);g.enter().append("g").classed("slice",!0),g.exit().remove();var m=[[[],[]],[[],[]]],x=!1;g.each((function(a,i){if(a.hidden)n.select(this).selectAll("path,g").remove();else{a.pointNumber=a.i,a.curveNumber=p.index,m[a.pxmid[1]<0?0:1][a.pxmid[0]<0?0:1].push(a);var o=f.cx,u=f.cy,g=n.select(this),_=g.selectAll("path.surface").data([a]);if(_.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),g.call(v,t,e),p.pull){var w=+d.castOption(p.pull,a.pts)||0;w>0&&(o+=w*a.pxmid[0],u+=w*a.pxmid[1])}a.cxFinal=o,a.cyFinal=u;var T=p.hole;if(a.v===f.vTotal){var k="M"+(o+a.px0[0])+","+(u+a.px0[1])+L(a.px0,a.pxmid,!0,1)+L(a.pxmid,a.px0,!0,1)+"Z";T?_.attr("d","M"+(o+T*a.px0[0])+","+(u+T*a.px0[1])+L(a.px0,a.pxmid,!1,T)+L(a.pxmid,a.px0,!1,T)+"Z"+k):_.attr("d",k)}else{var A=L(a.px0,a.px1,!0,1);if(T){var M=1-T;_.attr("d","M"+(o+T*a.px1[0])+","+(u+T*a.px1[1])+L(a.px1,a.px0,!1,T)+"l"+M*a.px0[0]+","+M*a.px0[1]+A+"Z")}else _.attr("d","M"+o+","+u+"l"+a.px0[0]+","+a.px0[1]+A+"Z")}z(t,a,f);var E=d.castOption(p.textposition,a.pts),C=g.selectAll("g.slicetext").data(a.text&&"none"!==E?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each((function(){var g=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),m=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){var n=d.castOption(t.outsidetextfont.color,e.pts)||d.castOption(t.textfont.color,e.pts)||r.color,a=d.castOption(t.outsidetextfont.family,e.pts)||d.castOption(t.textfont.family,e.pts)||r.family,i=d.castOption(t.outsidetextfont.size,e.pts)||d.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:a,size:i}}(p,a,r.font):y(p,a,r.font));g.text(a.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,m).call(c.convertToTspans,t);var v,_=s.bBox(g.node());if("outside"===E)v=S(_,a);else if(v=b(_,a,f),"auto"===E&&v.scale<1){var w=l.ensureUniformFontSize(t,p.outsidetextfont);g.call(s.font,w),v=S(_=s.bBox(g.node()),a)}var T=v.textPosAngle,k=void 0===T?a.pxmid:I(f.r,T);if(v.targetX=o+k[0]*v.rCenter+(v.x||0),v.targetY=u+k[1]*v.rCenter+(v.y||0),O(v,_),v.outside){var A=v.targetY;a.yLabelMin=A-_.height/2,a.yLabelMid=A,a.yLabelMax=A+_.height/2,a.labelExtraX=0,a.labelExtraY=0,x=!0}v.fontSize=m.size,h(p.type,v,r),e[i].transform=v,g.attr("transform",l.getTextTransform(v))}))}function L(t,e,r,n){var i=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*f.r+","+n*f.r+" 0 "+a.largeArc+(r?" 1 ":" 0 ")+i+","+o}}));var _=n.select(this).selectAll("g.titletext").data(p.title.text?[0]:[]);if(_.enter().append("g").classed("titletext",!0),_.exit().remove(),_.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),a=p.title.text;p._meta&&(a=l.templateString(a,p._meta)),r.text(a).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,p.title.font).call(c.convertToTspans,t),e="middle center"===p.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(f):E(f,i),r.attr("transform","translate("+e.x+","+e.y+")"+(e.scale<1?"scale("+e.scale+")":"")+"translate("+e.tx+","+e.ty+")")})),x&&function(t,e){var r,n,a,i,o,s,l,c,u,h,f,p,g;function m(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var a,c,u,f,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),g=n?t.yLabelMin:t.yLabelMax,m=n?t.yLabelMax:t.yLabelMin,v=t.cyFinal+o(t.px0[1],t.px1[1]),y=p-g;if(y*l>0&&(t.labelExtraY=y),Array.isArray(e.pull))for(c=0;c=(d.castOption(e.pull,u.pts)||0)||((t.pxmid[1]-u.pxmid[1])*l>0?(y=u.cyFinal+o(u.px0[1],u.px1[1])-g-t.labelExtraY)*l>0&&(t.labelExtraY+=y):(m+t.labelExtraY-v)*l>0&&(a=3*s*Math.abs(c-h.indexOf(t)),(f=u.cxFinal+i(u.px0[0],u.px1[0])+a-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=f)))}for(n=0;n<2;n++)for(a=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(i=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(a),u=t[1-n][r],h=u.concat(c),p=[],f=0;fMath.abs(h)?s+="l"+h*t.pxmid[0]/t.pxmid[1]+","+h+"H"+(i+t.labelExtraX+c):s+="l"+t.labelExtraX+","+u+"v"+(h-u)+"h"+c}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+c;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(g,p),x&&p.automargin){var w=s.bBox(u.node()),T=p.domain,k=i.w*(T.x[1]-T.x[0]),A=i.h*(T.y[1]-T.y[0]),M=(.5*k-f.r)/i.w,C=(.5*A-f.r)/i.h;a.autoMargin(t,"pie."+p.uid+".automargin",{xl:T.x[0]-M,xr:T.x[1]+M,yb:T.y[0]-C,yt:T.y[1]+C,l:Math.max(f.cx-f.r-w.left,0),r:Math.max(w.right-(f.cx+f.r),0),b:Math.max(w.bottom-(f.cy+f.r),0),t:Math.max(f.cy-f.r-w.top,0),pad:5})}}))}));setTimeout((function(){u.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:z,transformInsideText:b,determineInsideTextFont:y,positionTitleOutside:E,prerenderTitles:x,layoutAreas:P,attachFxHandlers:v,computeTransform:O}},{"../../components/color":602,"../../components/drawing":624,"../../components/fx":642,"../../lib":735,"../../lib/svg_text_utils":759,"../../plots/plots":846,"../bar/constants":878,"../bar/uniform_text":892,"./event_data":1118,"./helpers":1119,d3:165}],1124:[function(t,e,r){"use strict";var n=t("d3"),a=t("./style_one"),i=t("../bar/uniform_text").resizeText;e.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");i(t,e,"pie"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each((function(t){n.select(this).call(a,t,e)}))}))}},{"../bar/uniform_text":892,"./style_one":1125,d3:165}],1125:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("./helpers").castOption;e.exports=function(t,e,r){var i=r.marker.line,o=a(i.color,e.pts)||n.defaultLine,s=a(i.width,e.pts)||0;t.style("stroke-width",s).call(n.fill,e.color).call(n.stroke,o)}},{"../../components/color":602,"./helpers":1119}],1126:[function(t,e,r){"use strict";var n=t("../scatter/attributes");e.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},{"../scatter/attributes":1140}],1127:[function(t,e,r){"use strict";var n=t("gl-pointcloud2d"),a=t("../../lib/str2rgbarray"),i=t("../../plots/cartesian/autorange").findExtremes,o=t("../scatter/get_trace_color");function s(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,h=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(h){if(n=h,e=h.length>>>1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var g=a(t.marker.color),m=a(t.marker.border.color),v=t.opacity*t.marker.opacity;g[3]*=v,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,m[3]*=v,this.pointcloudOptions.borderColor=m;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=i(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=i(w,[d[1],d[3]],{ppad:T})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{"../../lib/str2rgbarray":758,"../../plots/cartesian/autorange":782,"../scatter/get_trace_color":1150,"gl-pointcloud2d":302}],1128:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes");e.exports=function(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i("x"),i("y"),i("xbounds"),i("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),i("text"),i("marker.color",r),i("marker.opacity"),i("marker.blend"),i("marker.sizemin"),i("marker.sizemax"),i("marker.border.color",r),i("marker.border.arearatio"),e._length=null}},{"../../lib":735,"./attributes":1126}],1129:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../scatter3d/calc"),plot:t("./convert"),moduleType:"trace",name:"pointcloud",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","showLegend"],meta:{}}},{"../../plots/gl2d":823,"../scatter3d/calc":1168,"./attributes":1126,"./convert":1127,"./defaults":1128}],1130:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../../plots/attributes"),i=t("../../components/color/attributes"),o=t("../../components/fx/attributes"),s=t("../../plots/domain").attributes,l=t("../../plots/template_attributes").hovertemplateAttrs,c=t("../../components/colorscale/attributes"),u=t("../../plot_api/plot_template").templatedArray,h=t("../../lib/extend").extendFlat,f=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK;(e.exports=f({hoverinfo:h({},a.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s"},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:i.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]})},link:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:i.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:u("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(c().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},{"../../components/color/attributes":601,"../../components/colorscale/attributes":609,"../../components/fx/attributes":633,"../../constants/docs":706,"../../lib/extend":726,"../../plot_api/edit_types":766,"../../plot_api/plot_template":773,"../../plots/attributes":780,"../../plots/domain":810,"../../plots/font_attributes":811,"../../plots/template_attributes":861}],1131:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,a=t("../../plots/get_data").getModuleCalcData,i=t("./plot"),o=t("../../components/fx/layout_attributes"),s=t("../../lib/setcursor"),l=t("../../components/dragelement"),c=t("../../plots/cartesian/select").prepSelect,u=t("../../lib"),h=t("../../registry");function f(t,e){var r=t._fullData[e],n=t._fullLayout,a=n.dragmode,i="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if("pan"!==a&&"zoom"!==a){s(o,i);var f={_id:"x",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:f,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[f],yaxes:[p],doneFnCompleted:function(r){var n,a=t._fullData[e],i=a.node.groups.slice(),o=[];function s(t){for(var e=a._sankey.graph.nodes,r=0;ry&&(y=i.source[e]),i.target[e]>y&&(y=i.target[e]);var x,b=y+1;t.node._count=b;var _=t.node.groups,w={};for(e=0;e<_.length;e++){var T=_[e];for(x=0;x0&&s(E,b)&&s(C,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(C)||w[E]!==w[C])){w.hasOwnProperty(C)&&(C=w[C]),w.hasOwnProperty(E)&&(E=w[E]),C=+C,f[E=+E]=f[C]=!0;var L="";i.label&&i.label[e]&&(L=i.label[e]);var P=null;L&&p.hasOwnProperty(L)&&(P=p[L]),c.push({pointNumber:e,label:L,color:u?i.color[e]:i.color,customdata:h?i.customdata[e]:i.customdata,concentrationscale:P,source:E,target:C,value:+S}),M.source.push(E),M.target.push(C)}}var I=b+_.length,z=o(r.color),O=o(r.customdata),D=[];for(e=0;eb-1,childrenNodes:[],pointNumber:e,label:R,color:z?r.color[e]:r.color,customdata:O?r.customdata[e]:r.customdata})}var F=!1;return function(t,e,r){for(var i=a.init2dArray(t,0),o=0;o1}))}(I,M.source,M.target)&&(F=!0),{circular:F,links:c,nodes:D,groups:_,groupLookup:w}}e.exports=function(t,e){var r=c(e);return i({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},{"../../components/colorscale":614,"../../lib":735,"../../lib/gup":733,"strongly-connected-components":528}],1133:[function(t,e,r){"use strict";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeCapture:"node-capture",nodeCentered:"node-entered",nodeLabelGuide:"node-label-guide",nodeLabel:"node-label",nodeLabelTextPath:"node-label-text-path"}}},{}],1134:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../components/color"),o=t("tinycolor2"),s=t("../../plots/domain").defaults,l=t("../../components/fx/hoverlabel_defaults"),c=t("../../plot_api/plot_template"),u=t("../../plots/array_container_defaults");function h(t,e){function r(r,i){return n.coerce(t,e,a.link.colorscales,r,i)}r("label"),r("cmin"),r("cmax"),r("colorscale")}e.exports=function(t,e,r,f){function p(r,i){return n.coerce(t,e,a,r,i)}var d=n.extendDeep(f.hoverlabel,t.hoverlabel),g=t.node,m=c.newContainer(e,"node");function v(t,e){return n.coerce(g,m,a.node,t,e)}v("label"),v("groups"),v("x"),v("y"),v("pad"),v("thickness"),v("line.color"),v("line.width"),v("hoverinfo",t.hoverinfo),l(g,m,v,d),v("hovertemplate");var y=f.colorway;v("color",m.label.map((function(t,e){return i.addOpacity(function(t){return y[t%y.length]}(e),.8)}))),v("customdata");var x=t.link||{},b=c.newContainer(e,"link");function _(t,e){return n.coerce(x,b,a.link,t,e)}_("label"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(f.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";_("color",n.repeat(T,b.value.length)),_("customdata"),u(x,b,{name:"colorscales",handleItemDefaults:h}),s(e,f,p),p("orientation"),p("valueformat"),p("valuesuffix"),m.x.length&&m.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},f.font)),e._length=null}},{"../../components/color":602,"../../components/fx/hoverlabel_defaults":640,"../../lib":735,"../../plot_api/plot_template":773,"../../plots/array_container_defaults":779,"../../plots/domain":810,"./attributes":1130,tinycolor2:535}],1135:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"sankey",basePlotModule:t("./base_plot"),selectPoints:t("./select.js"),categories:["noOpacity"],meta:{}}},{"./attributes":1130,"./base_plot":1131,"./calc":1132,"./defaults":1134,"./plot":1136,"./select.js":1138}],1136:[function(t,e,r){"use strict";var n=t("d3"),a=t("./render"),i=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib"),l=t("./constants").cn,c=s._;function u(t){return""!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function f(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function p(t){n.select(t).select("text.name").style("fill","black")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function m(t,e,r){e&&r&&h(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function v(t,e,r){e&&r&&h(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var a=n.datum().link.label;n.style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),a&&h(e,t).selectAll("."+l.sankeyLink).filter((function(t){return t.link.label===a})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),r&&h(e,t).selectAll("."+l.sankeyNode).filter(g(t)).call(m)}function x(t,e,r,n){var a=n.datum().link.label;n.style("fill-opacity",(function(t){return t.tinyColorAlpha})),a&&h(e,t).selectAll("."+l.sankeyLink).filter((function(t){return t.link.label===a})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),r&&h(e,t).selectAll(l.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){for(var r=t._fullLayout,s=r._paper,h=r._size,d=0;d"),color:b(s,"bgcolor")||o.addOpacity(d.color,1),borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),nameLength:b(s,"namelength"),textAlign:b(s,"align"),idealAlign:n.event.x"),color:b(o,"bgcolor")||a.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),nameLength:b(o,"namelength"),textAlign:b(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:v,eventData:[a.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});f(y,.85),p(y)}}},unhover:function(e,a,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,a,o),"skip"!==a.node.trace.node.hoverinfo&&(a.node.fullData=a.node.trace,t.emit("plotly_unhover",{event:n.event,points:[a.node]})),i.loneUnhover(r._hoverlayer.node()))},select:function(e,r,a){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(v,r,a),i.click(t,{target:!0})}}})}},{"../../components/color":602,"../../components/fx":642,"../../lib":735,"./constants":1133,"./render":1137,d3:165}],1137:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("tinycolor2"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("@plotly/d3-sankey"),c=t("@plotly/d3-sankey-circular"),u=t("d3-force"),h=t("../../lib"),f=t("../../lib/gup"),p=f.keyFun,d=f.repeat,g=f.unwrap,m=t("d3-interpolate").interpolateNumber,v=t("../../registry");function y(t,e,r){var a,o=g(e),s=o.trace,u=s.domain,f="h"===s.orientation,p=s.node.pad,d=s.node.thickness,m=t.width*(u.x[1]-u.x[0]),v=t.height*(u.y[1]-u.y[0]),y=o._nodes,x=o._links,b=o.circular;(a=b?c.sankeyCircular().circularLinkGap(0):l.sankey()).iterations(n.sankeyIterations).size(f?[m,v]:[v,m]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodes(y).links(x);var _,w,T,k=a();for(var A in a.nodePadding()=a||(r=a-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),a=e.y1+p}))}(function(t){var e,r,n=t.map((function(t,e){return{x0:t.x0,index:e}})).sort((function(t,e){return t.x0-e.x0})),a=[],i=-1,o=-1/0;for(_=0;_o+d&&(i+=1,e=s.x0),o=s.x0,a[i]||(a[i]=[]),a[i].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return a}(y=k.nodes));a.update(k)}return{circular:b,key:r,trace:s,guid:h.randstr(),horizontal:f,width:m,height:v,nodePad:s.node.pad,nodeLineColor:s.node.line.color,nodeLineWidth:s.node.line.width,linkLineColor:s.link.line.color,linkLineWidth:s.link.line.width,valueFormat:s.valueformat,valueSuffix:s.valuesuffix,textFont:s.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:f?v:m,dragPerpendicular:f?m:v,arrangement:s.arrangement,sankey:a,graph:k,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function x(t,e,r){var n=i(e.color),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:b,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function b(){return function(t){if(t.link.circular)return e=t.link,r=e.width/2,n=e.circularPathData,"top"===e.circularLinkType?"M "+n.targetX+" "+(n.targetY+r)+" L"+n.rightInnerExtent+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+n.rightInnerExtent+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+n.rightInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+n.rightInnerExtent+" "+(n.targetY-r)+"L"+n.targetX+" "+(n.targetY-r)+"Z":"M "+n.targetX+" "+(n.targetY-r)+" L"+n.rightInnerExtent+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+n.rightInnerExtent+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+n.rightInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+n.rightInnerExtent+" "+(n.targetY+r)+"L"+n.targetX+" "+(n.targetY+r)+"Z";var e,r,n,a=t.link.source.x1,i=t.link.target.x0,o=m(a,i),s=o(.5),l=o(.5),c=t.link.y0-t.link.width/2,u=t.link.y0+t.link.width/2,h=t.link.y1-t.link.width/2,f=t.link.y1+t.link.width/2;return"M"+a+","+c+"C"+s+","+c+" "+l+","+h+" "+i+","+h+"L"+i+","+f+"C"+l+","+f+" "+s+","+u+" "+a+","+u+"Z"}}function _(t,e){var r=i(e.color),a=n.nodePadAcross,s=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var l=e.dx,c=Math.max(.5,e.dy),u="node_"+e.pointNumber;return e.group&&(u=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:u,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(l),visibleHeight:c,zoneX:-a,zoneY:-s,zoneWidth:l+2*a,zoneHeight:c+2*s,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:o.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,u].join("_"),interactionState:t.interactionState,figure:t}}function w(t){t.attr("transform",(function(t){return"translate("+t.node.x0.toFixed(3)+", "+t.node.y0.toFixed(3)+")"}))}function T(t){t.call(w)}function k(t,e){t.call(T),e.attr("d",b())}function A(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function M(t){return t.link.width>1||t.linkLineWidth>0}function S(t){return"translate("+t.translateX+","+t.translateY+")"+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function E(t){return"translate("+(t.horizontal?0:t.labelY)+" "+(t.horizontal?t.labelY:0)+")"}function C(t){return a.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function L(t){return t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)"}function P(t){return t.horizontal?"scale(1 1)":"scale(-1 1)"}function I(t){return t.darkBackground&&!t.horizontal?"rgb(255,255,255)":"rgb(0,0,0)"}function z(t){return t.horizontal&&t.left?"100%":"0%"}function O(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function D(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,a){!function(t){for(var e=0;e0&&a.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,o,a),function(t,e,r,a,i){window.requestAnimationFrame((function o(){var s;for(s=0;s0)window.requestAnimationFrame(o);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),k(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;e5?t.node.label:""})).attr("text-anchor",(function(t){return t.horizontal&&t.left?"end":"start"})),q.transition().ease(n.ease).duration(n.duration).attr("startOffset",z).style("fill",I)}},{"../../components/color":602,"../../components/drawing":624,"../../lib":735,"../../lib/gup":733,"../../registry":866,"./constants":1133,"@plotly/d3-sankey":56,"@plotly/d3-sankey-circular":55,d3:165,"d3-force":158,"d3-interpolate":160,tinycolor2:535}],1138:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=[],n=t.cd[0].trace,a=n._sankey.graph.nodes,i=0;is&&A[m].gap;)m--;for(y=A[m].s,d=A.length-1;d>m;d--)A[d].s=y;for(;sM[u]&&u=0;a--){var i=t[a];if("scatter"===i.type&&i.xaxis===r.xaxis&&i.yaxis===r.yaxis){i.opacity=void 0;break}}}}}},{}],1147:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),c=t("./stack_defaults"),u=t("./marker_defaults"),h=t("./line_defaults"),f=t("./line_shape_defaults"),p=t("./text_defaults"),d=t("./fillcolor_defaults");e.exports=function(t,e,r,g){function m(r,a){return n.coerce(t,e,i,r,a)}var v=l(t,e,g,m);if(v||(e.visible=!1),e.visible){var y=c(t,e,g,m),x=!y&&vG!=(F=I[L][1])>=G&&(O=I[L-1][0],D=I[L][0],F-R&&(z=O+(D-O)*(G-R)/(F-R),V=Math.min(V,z),U=Math.max(U,z)));V=Math.max(V,0),U=Math.min(U,f._length);var Y=s.defaultLine;return s.opacity(h.fillcolor)?Y=h.fillcolor:s.opacity((h.line||{}).color)&&(Y=h.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:U,y0:G,y1:G,color:Y,hovertemplate:!1}),delete t.index,h.text&&!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{"../../components/color":602,"../../components/fx":642,"../../lib":735,"../../registry":866,"./get_trace_color":1150}],1152:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./cross_trace_calc"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot"),colorbar:t("./marker_colorbar"),formatLabels:t("./format_labels"),style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("./select"),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},{"../../plots/cartesian":796,"./arrays_to_calcdata":1139,"./attributes":1140,"./calc":1141,"./cross_trace_calc":1145,"./cross_trace_defaults":1146,"./defaults":1147,"./format_labels":1149,"./hover":1151,"./marker_colorbar":1158,"./plot":1160,"./select":1161,"./style":1163,"./subtypes":1164}],1153:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s("line.color",r),a(t,"line"))?i(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(c)&&c||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":612,"../../components/colorscale/helpers":613,"../../lib":735}],1154:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),a=n.BADNUM,i=n.LOG_CLIP,o=i+.5,s=i-.5,l=t("../../lib"),c=l.segmentsIntersect,u=l.constrain,h=t("./constants");e.exports=function(t,e){var r,n,i,f,p,d,g,m,v,y,x,b,_,w,T,k,A,M,S=e.xaxis,E=e.yaxis,C="log"===S.type,L="log"===E.type,P=S._length,I=E._length,z=e.connectGaps,O=e.baseTolerance,D=e.shape,R="linear"===D,F=e.fill&&"none"!==e.fill,B=[],N=h.minTolerance,j=t.length,V=new Array(j),U=0;function q(r){var n=t[r];if(!n)return!1;var i=e.linearized?S.l2p(n.x):S.c2p(n.x),l=e.linearized?E.l2p(n.y):E.c2p(n.y);if(i===a){if(C&&(i=S.c2p(n.x,!0)),i===a)return!1;L&&l===a&&(i*=Math.abs(S._m*I*(S._m>0?o:s)/(E._m*P*(E._m>0?o:s)))),i*=1e3}if(l===a){if(L&&(l=E.c2p(n.y,!0)),l===a)return!1;l*=1e3}return[i,l]}function H(t,e,r,n){var a=r-t,i=n-e,o=.5-t,s=.5-e,l=a*a+i*i,c=a*o+i*s;if(c>0&&crt||t[1]at)return[u(t[0],et,rt),u(t[1],nt,at)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===at)||void 0)}function lt(t,e,r){return function(n,a){var i=ot(n),o=ot(a),s=[];if(i&&o&&st(i,o))return s;i&&s.push(i),o&&s.push(o);var c=2*l.constrain((n[t]+a[t])/2,e,r)-((i||n)[t]+(o||a)[t]);c&&((i&&o?c>0==i[t]>o[t]?i:o:i||o)[t]+=c);return s}}function ct(t){var e=t[0],r=t[1],n=e===V[U-1][0],a=r===V[U-1][1];if(!n||!a)if(U>1){var i=e===V[U-2][0],o=r===V[U-2][1];n&&(e===et||e===rt)&&i?o?U--:V[U-1]=t:a&&(r===nt||r===at)&&o?i?U--:V[U-1]=t:V[U++]=t}else V[U++]=t}function ut(t){V[U-1][0]!==t[0]&&V[U-1][1]!==t[1]&&ct([X,J]),ct(t),K=null,X=J=0}function ht(t){if(A=t[0]/P,M=t[1]/I,W=t[0]rt?rt:0,Z=t[1]at?at:0,W||Z){if(U)if(K){var e=$(K,t);e.length>1&&(ut(e[0]),V[U++]=e[1])}else Q=$(V[U-1],t)[0],V[U++]=Q;else V[U++]=[W||t[0],Z||t[1]];var r=V[U-1];W&&Z&&(r[0]!==W||r[1]!==Z)?(K&&(X!==W&&J!==Z?ct(X&&J?(n=K,i=(a=t)[0]-n[0],o=(a[1]-n[1])/i,(n[1]*a[0]-a[1]*n[0])/i>0?[o>0?et:rt,at]:[o>0?rt:et,nt]):[X||W,J||Z]):X&&J&&ct([X,J])),ct([W,Z])):X-W&&J-Z&&ct([W||X,Z||J]),K=t,X=W,J=Z}else K&&ut($(K,t)[0]),V[U++]=t;var n,a,i,o}for("linear"===D||"spline"===D?$=function(t,e){for(var r=[],n=0,a=0;a<4;a++){var i=it[a],o=c(t[0],t[1],e[0],e[1],i[0],i[1],i[2],i[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&Y(o,t)G(d,ft))break;i=d,(_=v[0]*m[0]+v[1]*m[1])>x?(x=_,f=d,g=!1):_=t.length||!d)break;ht(d),n=d}}else ht(f)}K&&ct([X||K[0],J||K[1]]),B.push(V.slice(0,U))}return B}},{"../../constants/numerical":711,"../../lib":735,"./constants":1144}],1155:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],1156:[function(t,e,r){"use strict";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var a,i,o,s,l,c={},u=!1,h=-1,f=0,p=-1;for(i=0;i=0?l=p:(l=p=f,f++),l0?Math.max(e,a):0}}},{"fast-isnumeric":237}],1158:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],1159:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),h=(t.line||{}).color;(c=c||{},h&&(r=h),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),l("marker.color",r),a(t,"marker")&&i(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",h&&!Array.isArray(h)&&e.marker.color!==h?h:u?n.background:n.defaultLine),a(t,"marker.line")&&i(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":602,"../../components/colorscale/defaults":612,"../../components/colorscale/helpers":613,"./subtypes":1164}],1160:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=i.ensureSingle,s=i.identity,l=t("../../components/drawing"),c=t("./subtypes"),u=t("./line_points"),h=t("./link_traces"),f=t("../../lib/polygon").tester;function p(t,e,r,h,p,d,g){var m;!function(t,e,r,a,o){var s=r.xaxis,l=r.yaxis,u=n.extent(i.simpleMap(s.range,s.r2c)),h=n.extent(i.simpleMap(l.range,l.r2c)),f=a[0].trace;if(!c.hasMarkers(f))return;var p=f.marker.maxdisplayed;if(0===p)return;var d=a.filter((function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]})),g=Math.ceil(d.length/p),m=0;o.forEach((function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function y(t){return v?t.transition():t}var x=r.xaxis,b=r.yaxis,_=h[0].trace,w=_.line,T=n.select(d),k=o(T,"g","errorbars"),A=o(T,"g","lines"),M=o(T,"g","points"),S=o(T,"g","text");if(a.getComponentMethod("errorbars","plot")(t,k,r,g),!0===_.visible){var E,C;y(T).style("opacity",_.opacity);var L=_.fill.charAt(_.fill.length-1);"x"!==L&&"y"!==L&&(L=""),h[0][r.isRangePlot?"nodeRangePlot3":"node3"]=T;var P,I,z="",O=[],D=_._prevtrace;D&&(z=D._prevRevpath||"",C=D._nextFill,O=D._polygons);var R,F,B,N,j,V,U,q="",H="",G=[],Y=i.noop;if(E=_._ownFill,c.hasLines(_)||"none"!==_.fill){for(C&&C.datum(h),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split("").reverse().join(""))):R=F="spline"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},B=function(t){return F(t.reverse())},G=u(h,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),U=_._polygons=new Array(G.length),m=0;m1){var r=n.select(this);if(r.datum(h),t)y(r.style("opacity",0).attr("d",P).call(l.lineGroupStyle)).style("opacity",1);else{var a=y(r);a.attr("d",P),l.singleLineStyle(h,a)}}}}}var W=A.selectAll(".js-line").data(G);y(W.exit()).style("opacity",0).remove(),W.each(Y(!1)),W.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(Y(!0)),l.setClipUrl(W,r.layerClipId,t),G.length?(E?(E.datum(h),N&&V&&(L?("y"===L?N[1]=V[1]=b.c2p(0,!0):"x"===L&&(N[0]=V[0]=x.c2p(0,!0)),y(E).attr("d","M"+V+"L"+N+"L"+q.substr(1)).call(l.singleFillStyle)):y(E).attr("d",q+"Z").call(l.singleFillStyle))):C&&("tonext"===_.fill.substr(0,6)&&q&&z?("tonext"===_.fill?y(C).attr("d",q+"Z"+z+"Z").call(l.singleFillStyle):y(C).attr("d",q+"L"+z.substr(1)+"Z").call(l.singleFillStyle),_._polygons=_._polygons.concat(O)):(X(C),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=U):(E?X(E):C&&X(C),_._polygons=_._prevRevpath=_._prevPolygons=null),M.datum(h),S.datum(h),function(e,a,i){var o,u=i[0].trace,h=c.hasMarkers(u),f=c.hasText(u),p=tt(u),d=et,g=et;if(h||f){var m=s,_=u.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?m=w?K:J:_&&!w&&(m=Q),h&&(d=m),f&&(g=m)}var T,k=(o=e.selectAll("path.point").data(d,p)).enter().append("path").classed("point",!0);v&&k.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style("opacity",0).transition().style("opacity",1),o.order(),h&&(T=l.makePointStyleFns(u)),o.each((function(e){var a=n.select(this),i=y(a);l.translatePoint(e,i,x,b)?(l.singlePointStyle(e,i,u,T,t),r.layerClipId&&l.hideOutsideRangePoint(e,i,x,b,u.xcalendar,u.ycalendar),u.customdata&&a.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):i.remove()})),v?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=a.selectAll("g").data(g,p)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each((function(t){var e=n.select(this),a=y(e.select("text"));l.translatePoint(t,a,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()})),o.selectAll("text").call(l.textPointStyle,u,t).each((function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll("tspan.line").each((function(){y(n.select(this)).attr({x:e,y:r})}))})),o.exit().remove()}(M,S,h);var Z=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(M,Z,t),l.setClipUrl(S,Z,t)}function X(t){y(t).attr("d","M0,0Z")}function J(t){return t.filter((function(t){return!t.gap&&t.vis}))}function K(t){return t.filter((function(t){return t.vis}))}function Q(t){return t.filter((function(t){return!t.gap}))}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,a,i,c){var u,f,d=!i,g=!!i&&i.duration>0,m=h(t,e,r);((u=a.selectAll("g.trace").data(m,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),u.order(),function(t,e,r){e.each((function(e){var a=o(n.select(this),"g","fills");l.setClipUrl(a,r.layerClipId,t);var i=e[0].trace,c=[];i._ownfill&&c.push("_ownFill"),i._nexttrace&&c.push("_nextFill");var u=a.selectAll("g").data(c,s);u.enter().append("g"),u.exit().each((function(t){i[t]=null})).remove(),u.order().each((function(t){i[t]=o(n.select(this),"path","js-fill")}))}))}(t,u,e),g)?(c&&(f=c()),n.transition().duration(i.duration).ease(i.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){a.selectAll("g.trace").each((function(r,n){p(t,n,e,r,m,this,i)}))}))):u.each((function(r,n){p(t,n,e,r,m,this,i)}));d&&u.exit().remove(),a.selectAll("path:not([d])").remove()}},{"../../components/drawing":624,"../../lib":735,"../../lib/polygon":747,"../../registry":866,"./line_points":1154,"./link_traces":1156,"./subtypes":1164,d3:165}],1161:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,a,i,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],h=s[0].trace;if(!n.hasMarkers(h)&&!n.hasText(h))return[];if(!1===e)for(r=0;r0){var f=a.c2l(u);a._lowerLogErrorBound||(a._lowerLogErrorBound=f),a._lowerErrorBound=Math.min(a._lowerLogErrorBound,f)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[a(t.x,t.error_x,e[0],r.xaxis),a(t.y,t.error_y,e[1],r.yaxis),a(t.z,t.error_z,e[2],r.zaxis)],i=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,a){var i=null;if(l.isArrayOrTypedArray(t)){i=[];for(var o=0;o=0){var g=function(t,e,r){var n,a=(r+1)%3,i=(r+2)%3,o=[],l=[];for(n=0;n=0&&h("surfacecolor",f||p);for(var d=["x","y","z"],g=0;g<3;++g){var m="projection."+d[g];h(m+".show")&&(h(m+".opacity"),h(m+".scale"))}var v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,f||p||r,{axis:"z"}),v(t,e,f||p||r,{axis:"y",inherit:"z"}),v(t,e,f||p||r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":735,"../../registry":866,"../scatter/line_defaults":1153,"../scatter/marker_defaults":1159,"../scatter/subtypes":1164,"../scatter/text_defaults":1165,"./attributes":1167}],1172:[function(t,e,r){"use strict";e.exports={plot:t("./convert"),attributes:t("./attributes"),markerSymbols:t("../../constants/gl3d_markers"),supplyDefaults:t("./defaults"),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:t("./calc"),moduleType:"trace",name:"scatter3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},{"../../constants/gl3d_markers":709,"../../plots/gl3d":825,"./attributes":1167,"./calc":1168,"./convert":1170,"./defaults":1171}],1173:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../components/colorscale/attributes"),l=t("../../lib/extend").extendFlat,c=n.marker,u=n.line,h=c.line;e.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:l({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:h.width,editType:"calc"},s("marker.line")),gradient:c.gradient,editType:"calc"},s("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:i()}},{"../../components/colorscale/attributes":609,"../../lib/extend":726,"../../plots/attributes":780,"../../plots/template_attributes":861,"../scatter/attributes":1140}],1174:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../scatter/colorscale_calc"),i=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=t("../carpet/lookup_carpetid");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,h,f=e._length,p=new Array(f),d=!1;for(c=0;c")}return o}function y(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,m.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},{"../../lib":735,"../scatter/hover":1151}],1179:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scattercarpet",basePlotModule:t("../../plots/cartesian"),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},{"../../plots/cartesian":796,"../scatter/marker_colorbar":1158,"../scatter/select":1161,"../scatter/style":1163,"./attributes":1173,"./calc":1174,"./defaults":1175,"./event_data":1176,"./format_labels":1177,"./hover":1178,"./plot":1180}],1180:[function(t,e,r){"use strict";var n=t("../scatter/plot"),a=t("../../plots/cartesian/axes"),i=t("../../components/drawing");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,h={xaxis:a.getFromId(t,u.xaxis||"x"),yaxis:a.getFromId(t,u.yaxis||"y"),plot:e.plot};for(n(t,h,r,o),s=0;s")}(c,g,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":642,"../../constants/numerical":711,"../../lib":735,"../scatter/get_trace_color":1150,"./attributes":1181}],1187:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),calcGeoJSON:t("./plot").calcGeoJSON,plot:t("./plot").plot,style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"scattergeo",basePlotModule:t("../../plots/geo"),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/geo":815,"../scatter/marker_colorbar":1158,"../scatter/style":1163,"./attributes":1181,"./calc":1182,"./defaults":1183,"./event_data":1184,"./format_labels":1185,"./hover":1186,"./plot":1188,"./select":1189,"./style":1190}],1188:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../lib/topojson_utils").getTopojsonFeatures,o=t("../../lib/geojson_utils"),s=t("../../lib/geo_location_utils"),l=t("../../plots/cartesian/autorange").findExtremes,c=t("../../constants/numerical").BADNUM,u=t("../scatter/calc").calcMarkerSize,h=t("../scatter/subtypes"),f=t("./style");e.exports={calcGeoJSON:function(t,e){var r,n,a=t[0].trace,o=e[a.geo],h=o._subplot,f=a._length;if(Array.isArray(a.locations)){var p=a.locationmode,d="geojson-id"===p?s.extractTraceFeature(t):i(a,h.topojson);for(r=0;r=g,T=2*_,k={},A=e._x=y.makeCalcdata(e,"x"),M=e._y=x.makeCalcdata(e,"y"),S=new Array(T);for(r=0;r<_;r++)o=A[r],s=M[r],S[2*r]=o===d?NaN:o,S[2*r+1]=s===d?NaN:s;if("log"===y.type)for(r=0;r1&&a.extendFlat(s.line,f.linePositions(t,r,n));if(s.errorX||s.errorY){var l=f.errorBarPositions(t,r,n,i,o);s.errorX&&a.extendFlat(s.errorX,l.x),s.errorY&&a.extendFlat(s.errorY,l.y)}s.text&&(a.extendFlat(s.text,{positions:n},f.textPosition(t,r,s.text,s.marker)),a.extendFlat(s.textSel,{positions:n},f.textPosition(t,r,s.text,s.markerSel)),a.extendFlat(s.textUnsel,{positions:n},f.textPosition(t,r,s.text,s.markerUnsel)));return s}(t,0,e,S,A,M),P=p(t,b);return u(v,e),w?L.marker&&(C=2*(L.marker.sizeAvg||Math.max(L.marker.size,3))):C=l(e,_),c(t,e,y,x,A,M,C),L.errorX&&m(e,y,L.errorX),L.errorY&&m(e,x,L.errorY),L.fill&&!P.fill2d&&(P.fill2d=!0),L.marker&&!P.scatter2d&&(P.scatter2d=!0),L.line&&!P.line2d&&(P.line2d=!0),!L.errorX&&!L.errorY||P.error2d||(P.error2d=!0),L.text&&!P.glText&&(P.glText=!0),L.marker&&(L.marker.snap=_),P.lineOptions.push(L.line),P.errorXOptions.push(L.errorX),P.errorYOptions.push(L.errorY),P.fillOptions.push(L.fill),P.markerOptions.push(L.marker),P.markerSelectedOptions.push(L.markerSel),P.markerUnselectedOptions.push(L.markerUnsel),P.textOptions.push(L.text),P.textSelectedOptions.push(L.textSel),P.textUnselectedOptions.push(L.textUnsel),P.selectBatch.push([]),P.unselectBatch.push([]),k._scene=P,k.index=P.count,k.x=A,k.y=M,k.positions=S,P.count++,[{x:!1,y:!1,t:k,trace:e}]}},{"../../constants/numerical":711,"../../lib":735,"../../plots/cartesian/autorange":782,"../../plots/cartesian/axis_ids":786,"../scatter/calc":1141,"../scatter/colorscale_calc":1143,"./constants":1193,"./convert":1194,"./scene_update":1202,"point-cluster":474}],1193:[function(t,e,r){"use strict";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],1194:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("svg-path-sdf"),i=t("color-normalize"),o=t("../../registry"),s=t("../../lib"),l=t("../../components/drawing"),c=t("../../plots/cartesian/axis_ids"),u=t("../../lib/gl_format_color").formatColor,h=t("../scatter/subtypes"),f=t("../scatter/make_bubble_size_func"),p=t("./helpers"),d=t("./constants"),g=t("../../constants/interactions").DESELECTDIM,m={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=t("../../components/fx/helpers").appendArrayPointValue;function y(t,e){var r,a=t._fullLayout,i=e._length,o=e.textfont,l=e.textposition,c=Array.isArray(l)?l:[l],u=o.color,h=o.size,f=o.family,p={},d=e.texttemplate;if(d){p.text=[];var g=a._d3locale,m=Array.isArray(d),y=m?Math.min(d.length,i):i,x=m?function(t){return d[t]}:function(){return d};for(r=0;rd.TOO_MANY_POINTS||h.hasMarkers(e)?"rect":"round";if(c&&e.connectgaps){var f=n[0],p=n[1];for(a=0;a1?l[a]:l[0]:l,d=Array.isArray(c)?c.length>1?c[a]:c[0]:c,g=m[p],v=m[d],y=u?u/.8+1:0,x=-v*y-.5*v;o.offset[a]=[g*y/f,x/f]}}return o}}},{"../../components/drawing":624,"../../components/fx/helpers":638,"../../constants/interactions":710,"../../lib":735,"../../lib/gl_format_color":732,"../../plots/cartesian/axis_ids":786,"../../registry":866,"../scatter/make_bubble_size_func":1157,"../scatter/subtypes":1164,"./constants":1193,"./helpers":1198,"color-normalize":122,"fast-isnumeric":237,"svg-path-sdf":533}],1195:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./helpers"),o=t("./attributes"),s=t("../scatter/constants"),l=t("../scatter/subtypes"),c=t("../scatter/xy_defaults"),u=t("../scatter/marker_defaults"),h=t("../scatter/line_defaults"),f=t("../scatter/fillcolor_defaults"),p=t("../scatter/text_defaults");e.exports=function(t,e,r,d){function g(r,a){return n.coerce(t,e,o,r,a)}var m=!!t.marker&&i.isOpenSymbol(t.marker.symbol),v=l.isBubble(t),y=c(t,e,d,g);if(y){var x=y100},r.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},{"./constants":1193}],1199:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../scatter/get_trace_color");function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,h=t.index,f={pointNumber:h,x:e[h],y:r[h]};f.tx=Array.isArray(o.text)?o.text[h]:o.text,f.htx=Array.isArray(o.hovertext)?o.hovertext[h]:o.hovertext,f.data=Array.isArray(o.customdata)?o.customdata[h]:o.customdata,f.tp=Array.isArray(o.textposition)?o.textposition[h]:o.textposition;var p=o.textfont;p&&(f.ts=a.isArrayOrTypedArray(p.size)?p.size[h]:p.size,f.tc=Array.isArray(p.color)?p.color[h]:p.color,f.tf=Array.isArray(p.family)?p.family[h]:p.family);var d=o.marker;d&&(f.ms=a.isArrayOrTypedArray(d.size)?d.size[h]:d.size,f.mo=a.isArrayOrTypedArray(d.opacity)?d.opacity[h]:d.opacity,f.mx=a.isArrayOrTypedArray(d.symbol)?d.symbol[h]:d.symbol,f.mc=a.isArrayOrTypedArray(d.color)?d.color[h]:d.color);var g=d&&d.line;g&&(f.mlc=Array.isArray(g.color)?g.color[h]:g.color,f.mlw=a.isArrayOrTypedArray(g.width)?g.width[h]:g.width);var m=d&&d.gradient;m&&"none"!==m.type&&(f.mgt=Array.isArray(m.type)?m.type[h]:m.type,f.mgc=Array.isArray(m.color)?m.color[h]:m.color);var v=s.c2p(f.x,!0),y=l.c2p(f.y,!0),x=f.mrc||1,b=o.hoverlabel;b&&(f.hbg=Array.isArray(b.bgcolor)?b.bgcolor[h]:b.bgcolor,f.hbc=Array.isArray(b.bordercolor)?b.bordercolor[h]:b.bordercolor,f.hts=a.isArrayOrTypedArray(b.font.size)?b.font.size[h]:b.font.size,f.htc=Array.isArray(b.font.color)?b.font.color[h]:b.font.color,f.htf=Array.isArray(b.font.family)?b.font.family[h]:b.font.family,f.hnl=a.isArrayOrTypedArray(b.namelength)?b.namelength[h]:b.namelength);var _=o.hoverinfo;_&&(f.hi=Array.isArray(_)?_[h]:_);var w=o.hovertemplate;w&&(f.ht=Array.isArray(w)?w[h]:w);var T={};T[t.index]=f;var k=a.extendFlat({},t,{color:i(o,f),x0:v-x,x1:v+x,xLabelVal:f.x,y0:y-x,y1:y+x,yLabelVal:f.y,cd:T,distance:c,spikeDistance:u,hovertemplate:f.ht});return f.htx?k.text=f.htx:f.tx?k.text=f.tx:o.text&&(k.text=o.text),a.fillText(f,o,k),n.getComponentMethod("errorbars","hoverInfo")(f,o,k),k}e.exports={hoverPoints:function(t,e,r,n){var a,i,s,l,c,u,h,f,p,d=t.cd,g=d[0].t,m=d[0].trace,v=t.xa,y=t.ya,x=g.x,b=g.y,_=v.c2p(e),w=y.c2p(r),T=t.distance;if(g.tree){var k=v.p2c(_-T),A=v.p2c(_+T),M=y.p2c(w-T),S=y.p2c(w+T);a="x"===n?g.tree.range(Math.min(k,A),Math.min(y._rl[0],y._rl[1]),Math.max(k,A),Math.max(y._rl[0],y._rl[1])):g.tree.range(Math.min(k,A),Math.min(M,S),Math.max(k,A),Math.max(M,S))}else a=g.ids;var E=T;if("x"===n)for(c=0;c-1;c--)s=x[a[c]],l=b[a[c]],u=v.c2p(s)-_,h=y.c2p(l)-w,(f=Math.sqrt(u*u+h*h))v.glText.length){var w=b-v.glText.length;for(d=0;dr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),v.line2d.update(v.lineOptions)),v.error2d){var k=(v.errorXOptions||[]).concat(v.errorYOptions||[]);v.error2d.update(k)}v.scatter2d&&v.scatter2d.update(v.markerOptions),v.fillOrder=s.repeat(null,b),v.fill2d&&(v.fillOptions=v.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var a,i,o=n[0],s=o.trace,l=o.t,c=v.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(v.fillOrder[e]=u);var h,f,p=[],d=c&&c.positions||l.positions;if("tozeroy"===s.fill){for(h=0;hh&&isNaN(d[f+1]);)f-=2;0!==d[h+1]&&(p=[d[h],0]),p=p.concat(d.slice(h,f+2)),0!==d[f+1]&&(p=p.concat([d[f],0]))}else if("tozerox"===s.fill){for(h=0;hh&&isNaN(d[f]);)f-=2;0!==d[h]&&(p=[0,d[h+1]]),p=p.concat(d.slice(h,f+2)),0!==d[f]&&(p=p.concat([0,d[f+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],a=0,i=0;i-1;for(d=0;d=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=a.modHalf(e[0],360),i=e[1],o=f.project([n,i]),l=o.x-u.c2p([d,i]),c=o.y-h.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)}),t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[a.modHalf(m[0],360)+p,m[1]],y=u.c2p(v),x=h.c2p(v),b=g.mrc||1;t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b;var _={};_[c.subplot]={_subplot:f};var w=c._module.formatLabels(g,c,_);return t.lonLabel=w.lonLabel,t.latLabel=w.latLabel,t.color=i(c,g),t.extraText=function(t,e,r){if(t.hovertemplate)return;var n=(e.hi||t.hoverinfo).split("+"),a=-1!==n.indexOf("all"),i=-1!==n.indexOf("lon"),s=-1!==n.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}a||i&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):i?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(a||-1!==n.indexOf("text"))&&o(e,t,c);return c.join("
        ")}(c,g,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":642,"../../constants/numerical":711,"../../lib":735,"../scatter/get_trace_color":1150}],1210:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("../scattergeo/calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/mapbox":840,"../scatter/marker_colorbar":1158,"../scattergeo/calc":1182,"./attributes":1204,"./defaults":1206,"./event_data":1207,"./format_labels":1208,"./hover":1209,"./plot":1211,"./select":1212}],1211:[function(t,e,r){"use strict";var n=t("./convert"),a=t("../../plots/mapbox/constants").traceLayerPrefix,i=["fill","line","circle","symbol"];function o(t,e){this.type="scattermapbox",this.subplot=t,this.uid=e,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol"},this.below=null}var s=o.prototype;s.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:"geojson",data:e.geojson})},s.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},s.addLayer=function(t,e,r){this.subplot.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint},r)},s.update=function(t){var e,r,a,o=this.subplot,s=o.map,l=n(o.gd,t),c=o.belowLookup["trace-"+this.uid];if(c!==this.below){for(e=i.length-1;e>=0;e--)r=i[e],s.removeLayer(this.layerIds[r]);for(e=0;e=0;e--){var r=i[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=e[0].trace,a=new o(t,r.uid),s=n(t.gd,e),l=a.below=t.belowLookup["trace-"+r.uid],c=0;c")}}e.exports={hoverPoints:function(t,e,r,i){var o=n(t,e,r,i);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,a(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:a}},{"../scatter/hover":1151}],1218:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:t("../../plots/polar"),categories:["polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scatter/select"),meta:{}}},{"../../plots/polar":849,"../scatter/marker_colorbar":1158,"../scatter/select":1161,"../scatter/style":1163,"./attributes":1213,"./calc":1214,"./defaults":1215,"./format_labels":1216,"./hover":1217,"./plot":1219}],1219:[function(t,e,r){"use strict";var n=t("../scatter/plot"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){for(var i=e.layers.frontplot.select("g.scatterlayer"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c=c&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(t,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(t,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(t,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!f.fill2d&&(f.fill2d=!0),y.marker&&!f.scatter2d&&(f.scatter2d=!0),y.line&&!f.line2d&&(f.line2d=!0),y.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(y.line),f.fillOptions.push(y.fill),f.markerOptions.push(y.marker),f.markerSelectedOptions.push(y.markerSel),f.markerUnselectedOptions.push(y.markerUnsel),f.textOptions.push(y.text),f.textSelectedOptions.push(y.textSel),f.textUnselectedOptions.push(y.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=m,d.theta=v,d.positions=_,d._scene=f,d.index=f.count,f.count++}})),i(t,e,r)}}},{"../../lib":735,"../scattergl/constants":1193,"../scattergl/convert":1194,"../scattergl/plot":1201,"../scattergl/scene_update":1202,"fast-isnumeric":237,"point-cluster":474}],1227:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=i.marker,h=i.line,f=u.line;e.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:c({},i.mode,{dflt:"markers"}),text:c({},i.text,{}),texttemplate:a({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:c({},i.hovertext,{}),line:{color:h.color,width:h.width,dash:l,shape:c({},h.shape,{values:["linear","spline"]}),smoothing:h.smoothing,editType:"calc"},connectgaps:i.connectgaps,cliponaxis:i.cliponaxis,fill:c({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:i.fillcolor,marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,editType:"calc"},s("marker.line")),gradient:u.gradient,editType:"calc"},s("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:c({},o.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:i.hoveron,hovertemplate:n()}},{"../../components/colorscale/attributes":609,"../../components/drawing/attributes":623,"../../lib/extend":726,"../../plots/attributes":780,"../../plots/template_attributes":861,"../scatter/attributes":1140}],1228:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../scatter/colorscale_calc"),i=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=["a","b","c"],c={a:["b","c"],b:["a","c"],c:["a","b"]};e.exports=function(t,e){var r,u,h,f,p,d,g=t._fullLayout[e.subplot].sum,m=e.sum||g,v={a:e.a,b:e.b,c:e.c};for(r=0;r"),o.hovertemplate=f.hovertemplate,i}function x(t,e){v.push(t._hovertitle+": "+e)}}},{"../scatter/hover":1151}],1233:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scatterternary",basePlotModule:t("../../plots/ternary"),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/ternary":862,"../scatter/marker_colorbar":1158,"../scatter/select":1161,"../scatter/style":1163,"./attributes":1227,"./calc":1228,"./defaults":1229,"./event_data":1230,"./format_labels":1231,"./hover":1232,"./plot":1234}],1234:[function(t,e,r){"use strict";var n=t("../scatter/plot");e.exports=function(t,e,r){var a=e.plotContainer;a.select(".scatterlayer").selectAll("*").remove();var i={xaxis:e.xaxis,yaxis:e.yaxis,plot:a,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select("g.scatterlayer");n(t,i,r,o)}},{"../scatter/plot":1160}],1235:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../scattergl/attributes"),s=t("../../plots/cartesian/constants").idRegex,l=t("../../plot_api/plot_template").templatedArray,c=t("../../lib/extend").extendFlat,u=n.marker,h=u.line,f=c(a("marker.line",{editTypeOverride:"calc"}),{width:c({},h.width,{editType:"calc"}),editType:"calc"}),p=c(a("marker"),{symbol:u.symbol,size:c({},u.size,{editType:"markerSize"}),sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:f,editType:"calc"});function d(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:s[t],editType:"plot"}}}p.color.editType=p.cmin.editType=p.cmax.editType="style",e.exports={dimensions:l("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:c({},o.text,{}),hovertext:c({},o.hovertext,{}),hovertemplate:i(),marker:p,xaxes:d("x"),yaxes:d("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:o.selected.marker,editType:"calc"},unselected:{marker:o.unselected.marker,editType:"calc"},opacity:o.opacity}},{"../../components/colorscale/attributes":609,"../../lib/extend":726,"../../plot_api/plot_template":773,"../../plots/cartesian/constants":789,"../../plots/template_attributes":861,"../scatter/attributes":1140,"../scattergl/attributes":1191}],1236:[function(t,e,r){"use strict";var n=t("regl-line2d"),a=t("../../registry"),i=t("../../lib/prepare_regl"),o=t("../../plots/get_data").getModuleCalcData,s=t("../../plots/cartesian"),l=t("../../plots/cartesian/axis_ids").getFromId,c=t("../../plots/cartesian/axes").shouldShowZeroLine;function u(t,e,r){for(var n=r.matrixOptions.data.length,a=e._visibleDims,i=r.viewOpts.ranges=new Array(n),o=0;of?2*(b.sizeAvg||Math.max(b.size,3)):i(e,x),p=0;pi&&l||a-1,M=!0;if(o(x)||!!p.selectedpoints||A){var S=p._length;if(p.selectedpoints){g.selectBatch=p.selectedpoints;var E=p.selectedpoints,C={};for(l=0;l1&&(u=g[y-1],f=m[y-1],d=v[y-1]),e=0;eu?"-":"+")+"x")).replace("y",(h>f?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var C=function(){y=0,M=[],S=[],E=[]};(!y||y2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,a=t.dataScale,u=e._len,h={};function d(t,e){var n=r[e],o=a[c[e]];return i.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(h.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),u),!u)return{positions:[],cells:[]};var g=d(e._Xs,"xaxis"),m=d(e._Ys,"yaxis"),v=d(e._Zs,"zaxis");if(h.meshgrid=[g,m,v],h.gridFill=e._gridFill,e._slen)h.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var y=m[0],x=f(g),b=f(v),_=new Array(x.length*b.length),w=0,T=0;T=0};v?(r=Math.min(m.length,x.length),l=function(t){return A(m[t])&&M(t)},h=function(t){return String(m[t])}):(r=Math.min(y.length,x.length),l=function(t){return A(y[t])&&M(t)},h=function(t){return String(y[t])}),_&&(r=Math.min(r,b.length));for(var S=0;S1){for(var P=i.randstr(),I=0;I"),name:k||z("name")?l.name:void 0,color:T("hoverlabel.bgcolor")||y.color,borderColor:T("hoverlabel.bordercolor"),fontFamily:T("hoverlabel.font.family"),fontSize:T("hoverlabel.font.size"),fontColor:T("hoverlabel.font.color"),nameLength:T("hoverlabel.namelength"),textAlign:T("hoverlabel.align"),hovertemplate:k,hovertemplateLabels:L,eventData:[h(a,l,f.eventDataKeys)]};m&&(R.x0=S-a.rInscribed*a.rpx1,R.x1=S+a.rInscribed*a.rpx1,R.idealAlign=a.pxmid[0]<0?"left":"right"),v&&(R.x=S,R.idealAlign=S<0?"left":"right"),o.loneHover(R,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}),d._hasHoverLabel=!0}if(v){var F=t.select("path.surface");f.styleOne(F,a,l,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:[h(a,l,f.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var a=r._fullLayout,i=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[h(s,i,f.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(a._hoverlayer.node()),d._hasHoverLabel=!1),v){var l=t.select("path.surface");f.styleOne(l,s,i,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,i=r._fullData[d.index],s=m&&(c.isHierarchyRoot(t)||c.isLeaf(t)),u=c.getPtId(t),p=c.isEntry(t)?c.findEntryWithChild(g,u):c.findEntryWithLevel(g,u),v=c.getPtId(p),y={points:[h(t,i,f.eventDataKeys)],event:n.event};s||(y.nextLevel=v);var x=l.triggerHandler(r,"plotly_"+d.type+"click",y);if(!1!==x&&e.hovermode&&(r._hoverdata=[h(t,i,f.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){a.call("_storeDirectGUIEdit",i,e._tracePreGUI[i.uid],{level:i.level});var b={data:[{level:v}],traces:[d.index]},_={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),a.call("animate",r,b,_)}}))}},{"../../components/fx":642,"../../components/fx/helpers":638,"../../lib":735,"../../lib/events":725,"../../registry":866,"../pie/helpers":1119,"./helpers":1257,d3:165}],1257:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../lib/setcursor"),o=t("../pie/helpers");function s(t){return t.data.data.pid}r.findEntryWithLevel=function(t,e){var n;return e&&t.eachAfter((function(t){if(r.getPtId(t)===e)return n=t.copy()})),n||t},r.findEntryWithChild=function(t,e){var n;return t.eachAfter((function(t){for(var a=t.children||[],i=0;i0)},r.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},r.isHeader=function(t,e){return!(r.isLeaf(t)||t.depth===e._maxDepth-1)},r.getParent=function(t,e){return r.findEntryWithLevel(t,s(e))},r.listPath=function(t,e){var n=t.parent;if(!n)return[];var a=e?[n.data[e]]:[n];return r.listPath(n,e).concat(a)},r.getPath=function(t){return r.listPath(t,"label").join("/")+"/"},r.formatValue=o.formatPieValue,r.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},{"../../components/color":602,"../../lib":735,"../../lib/setcursor":755,"../pie/helpers":1119}],1258:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"sunburst",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1158,"./attributes":1251,"./base_plot":1252,"./calc":1253,"./defaults":1255,"./layout_attributes":1259,"./layout_defaults":1260,"./plot":1261,"./style":1262}],1259:[function(t,e,r){"use strict";e.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1260:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},{"../../lib":735,"./layout_attributes":1259}],1261:[function(t,e,r){"use strict";var n=t("d3"),a=t("d3-hierarchy"),i=t("../../components/drawing"),o=t("../../lib"),s=t("../../lib/svg_text_utils"),l=t("../bar/uniform_text"),c=l.recordMinTextSize,u=l.clearMinTextSize,h=t("../pie/plot"),f=h.computeTransform,p=h.transformInsideText,d=t("./style").styleOne,g=t("../bar/style").resizeText,m=t("./fx"),v=t("./constants"),y=t("./helpers");function x(t,e,l,u){var h=t._fullLayout,g=!h.uniformtext.mode&&y.hasTransition(u),x=n.select(l).selectAll("g.slice"),_=e[0],w=_.trace,T=_.hierarchy,k=y.findEntryWithLevel(T,w.level),A=y.getMaxDepth(w),M=h._size,S=w.domain,E=M.w*(S.x[1]-S.x[0]),C=M.h*(S.y[1]-S.y[0]),L=.5*Math.min(E,C),P=_.cx=M.l+M.w*(S.x[1]+S.x[0])/2,I=_.cy=M.t+M.h*(1-S.y[0])-C/2;if(!k)return x.remove();var z=null,O={};g&&x.each((function(t){O[y.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!z&&y.isEntry(t)&&(z=t)}));var D=function(t){return a.partition().size([2*Math.PI,t.height+1])(t)}(k).descendants(),R=k.height+1,F=0,B=A;_.hasMultipleRoots&&y.isHierarchyRoot(k)&&(D=D.slice(1),R-=1,F=1,B+=1),D=D.filter((function(t){return t.y1<=B}));var N=Math.min(R,A),j=function(t){return(t-F)/N*L},V=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},U=function(t){return o.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,P,I)},q=function(t){return P+b(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},H=function(t){return I+b(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(x=x.data(D,y.getPtId)).enter().append("g").classed("slice",!0),g?x.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=y.getPtId(t),a=O[r],i=O[y.getPtId(k)];if(i){var o=t.x1>i.x1?2*Math.PI:0;e=t.rpx1G?2*Math.PI:0;e={x0:i,x1:i}}else e={rpx0:L,rpx1:L},o.extendFlat(e,Z(t));else e={rpx0:0,rpx1:0};else e={x0:0,x1:0};return n.interpolate(e,a)}(t);return function(t){return U(e(t))}})):u.attr("d",U),l.call(m,k,t,e,{eventDataKeys:v.eventDataKeys,transitionTime:v.CLICK_TRANSITION_TIME,transitionEasing:v.CLICK_TRANSITION_EASING}).call(y.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),u.call(d,a,w);var x=o.ensureSingle(l,"g","slicetext"),b=o.ensureSingle(x,"text","",(function(t){t.attr("data-notex",1)})),T=o.ensureUniformFontSize(t,y.determineTextFont(w,a,h.font));b.text(r.formatSliceLabel(a,k,w,e,h)).classed("slicetext",!0).attr("text-anchor","middle").call(i.font,T).call(s.convertToTspans,t);var A=i.bBox(b.node());a.transform=p(A,a,_),a.transform.targetX=q(a),a.transform.targetY=H(a);var M=function(t,e){var r=t.transform;return f(r,e),r.fontSize=T.size,c(w.type,r,h),o.getTextTransform(r)};g?b.transition().attrTween("transform",(function(t){var e=function(t){var e,r=O[y.getPtId(t)],a=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:a.textPosAngle,scale:0,rotate:a.rotate,rCenter:a.rCenter,x:a.x,y:a.y}},z)if(t.parent)if(G){var i=t.x1>G?2*Math.PI:0;e.x0=e.x1=i}else o.extendFlat(e,Z(t));else e.x0=e.x1=0;else e.x0=e.x1=0;var s=n.interpolate(e.transform.textPosAngle,t.transform.textPosAngle),l=n.interpolate(e.rpx1,t.rpx1),u=n.interpolate(e.x0,t.x0),f=n.interpolate(e.x1,t.x1),p=n.interpolate(e.transform.scale,a.scale),d=n.interpolate(e.transform.rotate,a.rotate),g=0===a.rCenter?3:0===e.transform.rCenter?1/3:1,m=n.interpolate(e.transform.rCenter,a.rCenter);return function(t){var e=l(t),r=u(t),n=f(t),i=function(t){return m(Math.pow(t,g))}(t),o={pxmid:V(e,(r+n)/2),rpx1:e,transform:{textPosAngle:s(t),rCenter:i,x:a.x,y:a.y}};return c(w.type,a,h),{transform:{targetX:q(o),targetY:H(o),scale:p(t),rotate:d(t),rCenter:i}}}}(t);return function(t){return M(e(t),A)}})):b.attr("transform",M(a,A))}))}function b(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}r.plot=function(t,e,r,a){var i,o,s=t._fullLayout,l=s._sunburstlayer,c=!r,h=!s.uniformtext.mode&&y.hasTransition(r);(u("sunburst",s),(i=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),i.order(),h)?(a&&(o=a()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){x(t,e,this,r)}))}))):(i.each((function(e){x(t,e,this,r)})),s.uniformtext.mode&&g(t,s._sunburstlayer.selectAll(".trace"),"sunburst"));c&&i.exit().remove()},r.formatSliceLabel=function(t,e,r,n,a){var i=r.texttemplate,s=r.textinfo;if(!(i||s&&"none"!==s))return"";var l=a.separators,c=n[0],u=t.data.data,h=c.hierarchy,f=y.isHierarchyRoot(t),p=y.getParent(h,t),d=y.getValue(t);if(!i){var g,m=s.split("+"),v=function(t){return-1!==m.indexOf(t)},x=[];if(v("label")&&u.label&&x.push(u.label),u.hasOwnProperty("v")&&v("value")&&x.push(y.formatValue(u.v,l)),!f){v("current path")&&x.push(y.getPath(t.data));var b=0;v("percent parent")&&b++,v("percent entry")&&b++,v("percent root")&&b++;var _=b>1;if(b){var w,T=function(t){g=y.formatPercent(w,l),_&&(g+=" of "+t),x.push(g)};v("percent parent")&&!f&&(w=d/y.getValue(p),T("parent")),v("percent entry")&&(w=d/y.getValue(e),T("entry")),v("percent root")&&(w=d/y.getValue(h),T("root"))}}return v("text")&&(g=o.castOption(r,u.i,"text"),o.isValidTextValue(g)&&x.push(g)),x.join("
        ")}var k=o.castOption(r,u.i,"texttemplate");if(!k)return"";var A={};u.label&&(A.label=u.label),u.hasOwnProperty("v")&&(A.value=u.v,A.valueLabel=y.formatValue(u.v,l)),A.currentPath=y.getPath(t.data),f||(A.percentParent=d/y.getValue(p),A.percentParentLabel=y.formatPercent(A.percentParent,l),A.parent=y.getPtLabel(p)),A.percentEntry=d/y.getValue(e),A.percentEntryLabel=y.formatPercent(A.percentEntry,l),A.entry=y.getPtLabel(e),A.percentRoot=d/y.getValue(h),A.percentRootLabel=y.formatPercent(A.percentRoot,l),A.root=y.getPtLabel(h),u.hasOwnProperty("color")&&(A.color=u.color);var M=o.castOption(r,u.i,"text");return(o.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=o.castOption(r,u.i,"customdata"),o.texttemplateString(k,A,a._d3locale,A,r._meta||{})}},{"../../components/drawing":624,"../../lib":735,"../../lib/svg_text_utils":759,"../bar/style":890,"../bar/uniform_text":892,"../pie/plot":1123,"./constants":1254,"./fx":1256,"./helpers":1257,"./style":1262,d3:165,"d3-hierarchy":159}],1262:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../lib"),o=t("../bar/uniform_text").resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=i.castOption(r,s,"marker.line.color")||a.defaultLine,c=i.castOption(r,s,"marker.line.width")||0;t.style("stroke-width",c).call(a.fill,n.color).call(a.stroke,l).style("opacity",o?r.leaf.opacity:null)}e.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},{"../../components/color":602,"../../lib":735,"../bar/uniform_text":892,d3:165}],1263:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var u=e.exports=l(s({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:i(),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},a("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:s({},a.zauto,{}),zmin:s({},a.zmin,{}),zmax:s({},a.zmax,{})},hoverinfo:s({},o.hoverinfo),showlegend:s({},o.showlegend,{dflt:!1})}),"calc","nested");u.x.editType=u.y.editType=u.z.editType="calc+clearAxisTypes",u.transforms=void 0},{"../../components/color":602,"../../components/colorscale/attributes":609,"../../lib/extend":726,"../../plot_api/edit_types":766,"../../plots/attributes":780,"../../plots/template_attributes":861}],1264:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":610}],1265:[function(t,e,r){"use strict";var n=t("gl-surface3d"),a=t("ndarray"),i=t("ndarray-homography"),o=t("ndarray-fill"),s=t("../../lib").isArrayOrTypedArray,l=t("../../lib/gl_format_color").parseColorScale,c=t("../../lib/str2rgbarray"),u=t("../../components/colorscale").extractOpts,h=t("../heatmap/interp2d"),f=t("../heatmap/find_empties");function p(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var d=p.prototype;d.getXat=function(t,e,r,n){var a=s(this.data.x)?s(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?a:n.d2l(a,0,r)},d.getYat=function(t,e,r,n){var a=s(this.data.y)?s(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?a:n.d2l(a,0,r)},d.getZat=function(t,e,r,n){var a=this.data.z[e][t];return null===a&&this.data.connectgaps&&this.data._interpolatedZ&&(a=this.data._interpolatedZ[e][t]),void 0===r?a:n.d2l(a,0,r)},d.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),a=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,a],t.traceCoordinate=[this.getXat(n,a),this.getYat(n,a),this.getZat(n,a)],t.dataCoordinate=[this.getXat(n,a,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,a,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,a,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var i=0;i<3;i++){var o=t.dataCoordinate[i];null!=o&&(t.dataCoordinate[i]*=this.scene.dataScale[i])}var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&s[a]&&void 0!==s[a][n]?t.textLabel=s[a][n]:t.textLabel=s||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var g=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function m(t,e){if(t0){r=g[n];break}return r}function x(t,e){if(!(t<1||e<1)){for(var r=v(t),n=v(e),a=1,i=0;iw;)r--,r/=y(r),++r<_&&(r=w);var n=Math.round(r/t);return n>1?n:1},d.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],o=t[0].shape[1],s=0|Math.floor(t[0].shape[0]*e+1),l=0|Math.floor(t[0].shape[1]*r+1),c=1+n+1,u=1+o+1,h=a(new Float32Array(c*u),[c,u]),f=0;f0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(a[t]=!0,e=this.contourStart[t];ei&&(this.minValues[e]=i),this.maxValues[e]",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},{}],1272:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib/extend").extendFlat,i=t("fast-isnumeric");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r=e||c===t.length-1)&&(n[a]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},a+=i,s=c+1,i=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var g=d.concat(p(r).map((function(){return c((d[0]||[""]).length)}))),m=e.domain,v=Math.floor(t._fullLayout._size.w*(m.x[1]-m.x[0])),y=Math.floor(t._fullLayout._size.h*(m.y[1]-m.y[0])),x=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],_=x.reduce(s,0),w=f(b,y-_+n.uplift),T=h(f(x,_),[]),k=h(w,T),A={},M=e._fullInput.columnorder.concat(p(r.map((function(t,e){return e})))),S=g.map((function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return i(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(t){return t/E*v}));var C=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.uid+t._context.staticPlot,translateX:m.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-m.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:C,height:y,columnOrder:M,groupHeight:y,rowBlocks:k,headerRowBlocks:T,scrollY:0,cells:a({},e.cells,{values:r}),headerCells:a({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+"__"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}}))};return L.columns.forEach((function(t){t.calcdata=L,t.x=u(t)})),L}},{"../../lib/extend":726,"./constants":1271,"fast-isnumeric":237}],1273:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},{"../../lib/extend":726}],1274:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}i(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,a=r.slice(0,n),i=a.slice().sort((function(t,e){return t-e})),o=a.map((function(t){return i.indexOf(t)})),s=o.length;s/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var c,u="string"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var h,f,p=u?"":_(t.calcdata.cells.prefix,e,r)||"",d=u?"":_(t.calcdata.cells.suffix,e,r)||"",g=u?null:_(t.calcdata.cells.format,e,r)||null,m=p+(g?a.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(h=b(m)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===h?b(m):h),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(" "===n.wrapSplitCharacter?m.replace(/a&&n.push(i),a+=l}return n}(a,l,s);1===c.length&&(c[0]===a.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each((function(t,e){t.page=c[e],t.scrollY=l})),e.attr("transform",(function(t){return"translate(0 "+(z(t.rowBlocks,t.page)-t.scrollY)+")"})),t&&(E(t,r,e,c,n.prevPages,n,0),E(t,r,e,c,n.prevPages,n,1),v(r,t))}}function S(t,e,r,i){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===i?s.scrollY+c*a.event.dy:i;var h=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(T);return M(t,h,l),s.scrollY===u}}function E(t,e,r,n,a,i,o){n[o]!==a[o]&&(clearTimeout(i.currentRepaint[o]),i.currentRepaint[o]=setTimeout((function(){var i=r.filter((function(t,e){return e===o&&n[e]!==a[e]}));y(t,e,i,r),a[o]=n[o]})))}function C(t,e,r,i){return function(){var o=a.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,a,i=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(a=(r=s.shift()).width+i)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=a;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),x(o.select("."+n.cn.cellText),r,t,i),a.select(e.parentNode.parentNode).call(I)}}function L(t,e,r,i,o){return function(){if(!o.settledY){var s=a.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,f=Math.max(h,u);f-l.rows[c].rowHeight&&(l.rows[c].rowHeight=f,t.selectAll("."+n.cn.columnCell).call(I),M(null,t.filter(T),0),v(r,i,!0)),s.attr("transform",(function(){var t=this.parentNode.getBoundingClientRect(),e=a.select(this.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),i=e.top-t.top+(r?r.matrix.f:n.cellPad);return"translate("+P(o,a.select(this.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width)+" "+i+")"})),o.settledY=!0}}}function P(t,e){switch(t.align){case"left":return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function I(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+O(e,1/0)}),0);return"translate(0 "+(O(R(t),t.key)+e)+")"})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=R(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function z(t,e){for(var r=0,n=e-1;n>=0;n--)r+=D(t[n]);return r}function O(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:a({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},domain:o({name:"treemap",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":609,"../../lib/extend":726,"../../plots/domain":810,"../../plots/template_attributes":861,"../pie/attributes":1114,"../sunburst/attributes":1251,"./constants":1280}],1278:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="treemap",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":846}],1279:[function(t,e,r){"use strict";var n=t("../sunburst/calc");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc("treemap",t)}},{"../sunburst/calc":1253}],1280:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},{}],1281:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../components/color"),o=t("../../plots/domain").defaults,s=t("../bar/defaults").handleText,l=t("../bar/constants").TEXTPAD,c=t("../../components/colorscale"),u=c.hasColorscale,h=c.handleDefaults;e.exports=function(t,e,r,c){function f(r,i){return n.coerce(t,e,a,r,i)}var p=f("labels"),d=f("parents");if(p&&p.length&&d&&d.length){var g=f("values");g&&g.length?f("branchvalues"):f("count"),f("level"),f("maxdepth"),"squarify"===f("tiling.packing")&&f("tiling.squarifyratio"),f("tiling.flip"),f("tiling.pad");var m=f("text");f("texttemplate"),e.texttemplate||f("textinfo",Array.isArray(m)?"text+label":"label"),f("hovertext"),f("hovertemplate");var v=f("pathbar.visible");s(t,e,c,f,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),f("textposition");var y=-1!==e.textposition.indexOf("bottom");f("marker.line.width")&&f("marker.line.color",c.paper_bgcolor);var x=f("marker.colors"),b=e._hasColorscale=u(t,"marker","colors")||(t.marker||{}).coloraxis;b?h(t,e,c,f,{prefix:"marker.",cLetter:"c"}):f("marker.depthfade",!(x||[]).length);var _=2*e.textfont.size;f("marker.pad.t",y?_/4:_),f("marker.pad.l",_/4),f("marker.pad.r",_/4),f("marker.pad.b",y?_:_/4),b&&h(t,e,c,f,{prefix:"marker.",cLetter:"c"}),e._hovered={marker:{line:{width:2,color:i.contrast(c.paper_bgcolor)}}},v&&(f("pathbar.thickness",e.pathbar.textfont.size+2*l),f("pathbar.side"),f("pathbar.edgeshape")),o(e,c,f),e._length=null}else e.visible=!1}},{"../../components/color":602,"../../components/colorscale":614,"../../lib":735,"../../plots/domain":810,"../bar/constants":878,"../bar/defaults":880,"./attributes":1277}],1282:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),h=t("../sunburst/fx");e.exports=function(t,e,r,f,p){var d=p.barDifY,g=p.width,m=p.height,v=p.viewX,y=p.viewY,x=p.pathSlice,b=p.toMoveInsideSlice,_=p.strTransform,w=p.hasTransition,T=p.handleSlicesExit,k=p.makeUpdateSliceInterpolator,A=p.makeUpdateTextInterpolator,M={},S=t._fullLayout,E=e[0],C=E.trace,L=E.hierarchy,P=g/C._entryDepth,I=u.listPath(r.data,"id"),z=s(L.copy(),[g,m],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=I.indexOf(t.data.id);return-1!==e&&(t.x0=P*e,t.x1=P*(e+1),t.y0=d,t.y1=d+m,t.onPathbar=!0,!0)}))).reverse(),(f=f.data(z,u.getPtId)).enter().append("g").classed("pathbar",!0),T(f,!0,M,[g,m],x),f.order();var O=f;w&&(O=O.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),O.each((function(s){s._hoverX=v(s.x1-Math.min(g,m)/2),s._hoverY=y(s.y1-m/2);var f=n.select(this),p=a.ensureSingle(f,"path","surface",(function(t){t.style("pointer-events","all")}));w?p.transition().attrTween("d",(function(t){var e=k(t,!0,M,[g,m]);return function(t){return x(e(t))}})):p.attr("d",x),f.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),p.call(l,s,C,{hovered:!1}),s._text=(u.getPtLabel(s)||"").split("
        ").join(" ")||"";var d=a.ensureSingle(f,"g","slicetext"),T=a.ensureSingle(d,"text","",(function(t){t.attr("data-notex",1)})),E=a.ensureUniformFontSize(t,u.determineTextFont(C,s,S.font,{onPathbar:!0}));T.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(i.font,E).call(o.convertToTspans,t),s.textBB=i.bBox(T.node()),s.transform=b(s,{fontSize:E.size,onPathbar:!0}),s.transform.fontSize=E.size,w?T.transition().attrTween("transform",(function(t){var e=A(t,!0,M,[g,m]);return function(t){return _(e(t))}})):T.attr("transform",_(s))}))}},{"../../components/drawing":624,"../../lib":735,"../../lib/svg_text_utils":759,"../sunburst/fx":1256,"../sunburst/helpers":1257,"./constants":1280,"./partition":1287,"./style":1289,d3:165}],1283:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),h=t("../sunburst/fx"),f=t("../sunburst/plot").formatSliceLabel;e.exports=function(t,e,r,p,d){var g=d.width,m=d.height,v=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,T=d.handleSlicesExit,k=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=t._fullLayout,E=e[0].trace,C=-1!==E.textposition.indexOf("left"),L=-1!==E.textposition.indexOf("right"),P=-1!==E.textposition.indexOf("bottom"),I=!P&&!E.marker.pad.t||P&&!E.marker.pad.b,z=s(r,[g,m],{packing:E.tiling.packing,squarifyratio:E.tiling.squarifyratio,flipX:E.tiling.flip.indexOf("x")>-1,flipY:E.tiling.flip.indexOf("y")>-1,pad:{inner:E.tiling.pad,top:E.marker.pad.t,left:E.marker.pad.l,right:E.marker.pad.r,bottom:E.marker.pad.b}}).descendants(),O=1/0,D=-1/0;z.forEach((function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(O=Math.min(O,e),D=Math.max(D,e))})),p=p.data(z,u.getPtId),E._maxVisibleLayers=isFinite(D)?D-O+1:0,p.enter().append("g").classed("slice",!0),T(p,!1,{},[g,m],x),p.order();var R=null;if(w&&M){var F=u.getPtId(M);p.each((function(t){null===R&&u.getPtId(t)===F&&(R={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var B=function(){return R||{x0:0,x1:g,y0:0,y1:m}},N=p;return w&&(N=N.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),N.each((function(s){var p=u.isHeader(s,E);s._hoverX=v(s.x1-E.marker.pad.r),s._hoverY=y(P?s.y1-E.marker.pad.b/2:s.y0+E.marker.pad.t/2);var d=n.select(this),T=a.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events","all")}));w?T.transition().attrTween("d",(function(t){var e=k(t,!1,B(),[g,m]);return function(t){return x(e(t))}})):T.attr("d",x),d.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),T.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=p?I?"":u.getPtLabel(s)||"":f(s,r,E,e,S)||"";var M=a.ensureSingle(d,"g","slicetext"),z=a.ensureSingle(M,"text","",(function(t){t.attr("data-notex",1)})),O=a.ensureUniformFontSize(t,u.determineTextFont(E,s,S.font));z.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",L?"end":C||p?"start":"middle").call(i.font,O).call(o.convertToTspans,t),s.textBB=i.bBox(z.node()),s.transform=b(s,{fontSize:O.size,isHeader:p}),s.transform.fontSize=O.size,w?z.transition().attrTween("transform",(function(t){var e=A(t,!1,B(),[g,m]);return function(t){return _(e(t))}})):z.attr("transform",_(s))})),R}},{"../../components/drawing":624,"../../lib":735,"../../lib/svg_text_utils":759,"../sunburst/fx":1256,"../sunburst/helpers":1257,"../sunburst/plot":1261,"./constants":1280,"./partition":1287,"./style":1289,d3:165}],1284:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"treemap",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1158,"./attributes":1277,"./base_plot":1278,"./calc":1279,"./defaults":1281,"./layout_attributes":1285,"./layout_defaults":1286,"./plot":1288,"./style":1289}],1285:[function(t,e,r){"use strict";e.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1286:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("treemapcolorway",e.colorway),r("extendtreemapcolors")}},{"../../lib":735,"./layout_attributes":1285}],1287:[function(t,e,r){"use strict";var n=t("d3-hierarchy");e.exports=function(t,e,r){var a,i=r.flipX,o=r.flipY,s="dice-slice"===r.packing,l=r.pad[o?"bottom":"top"],c=r.pad[i?"right":"left"],u=r.pad[i?"left":"right"],h=r.pad[o?"top":"bottom"];s&&(a=c,c=l,l=a,a=u,u=h,h=a);var f=n.treemap().tile(function(t,e){switch(t){case"squarify":return n.treemapSquarify.ratio(e);case"binary":return n.treemapBinary;case"dice":return n.treemapDice;case"slice":return n.treemapSlice;default:return n.treemapSliceDice}}(r.packing,r.squarifyratio)).paddingInner(r.pad.inner).paddingLeft(c).paddingRight(u).paddingTop(l).paddingBottom(h).size(s?[e[1],e[0]]:e)(t);return(s||i||o)&&function t(e,r,n){var a;n.swapXY&&(a=e.x0,e.x0=e.y0,e.y0=a,a=e.x1,e.x1=e.y1,e.y1=a);n.flipX&&(a=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-a);n.flipY&&(a=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-a);var i=e.children;if(i)for(var o=0;o-1?E+P:-(L+P):0,z={x0:C,x1:C,y0:I,y1:I+L},O=function(t,e,r){var n=m.tiling.pad,a=function(t){return t-n<=e.x0},i=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return{x0:a(t.x0-n)?0:i(t.x0-n)?r[0]:t.x0,x1:a(t.x1+n)?0:i(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},D=null,R={},F={},B=null,N=function(t,e){return e?R[g(t)]:F[g(t)]},j=function(t,e,r,n){if(e)return R[g(v)]||z;var a=F[m.level]||r;return function(t){return t.data.depth-y.data.depth=(n-=v.r-o)){var y=(r+n)/2;r=y,n=y}var x;f?a<(x=i-v.b)&&x"===Q?(l.x-=i,c.x-=i,u.x-=i,h.x-=i):"/"===Q?(u.x-=i,h.x-=i,o.x-=i/2,s.x-=i/2):"\\"===Q?(l.x-=i,c.x-=i,o.x-=i/2,s.x-=i/2):"<"===Q&&(o.x-=i,s.x-=i),K(l),K(h),K(o),K(c),K(u),K(s),"M"+X(l.x,l.y)+"L"+X(c.x,c.y)+"L"+X(s.x,s.y)+"L"+X(u.x,u.y)+"L"+X(h.x,h.y)+"L"+X(o.x,o.y)+"Z"},toMoveInsideSlice:$,makeUpdateSliceInterpolator:et,makeUpdateTextInterpolator:rt,handleSlicesExit:nt,hasTransition:T,strTransform:at}):b.remove()}e.exports=function(t,e,r,i){var o,s,l=t._fullLayout,c=l._treemaplayer,f=!r;(u("treemap",l),(o=c.selectAll("g.trace.treemap").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("treemap",!0),o.order(),!l.uniformtext.mode&&a.hasTransition(r))?(i&&(s=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){s&&s()})).each("interrupt",(function(){s&&s()})).each((function(){c.selectAll("g.trace").each((function(e){m(t,e,this,r)}))}))):(o.each((function(e){m(t,e,this,r)})),l.uniformtext.mode&&h(t,l._treemaplayer.selectAll(".trace"),"treemap"));f&&o.exit().remove()}},{"../../lib":735,"../bar/constants":878,"../bar/plot":887,"../bar/style":890,"../bar/uniform_text":892,"../sunburst/helpers":1257,"./constants":1280,"./draw_ancestors":1282,"./draw_descendants":1283,d3:165}],1289:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../lib"),o=t("../sunburst/helpers"),s=t("../bar/uniform_text").resizeText;function l(t,e,r,n){var s,l,c=(n||{}).hovered,u=e.data.data,h=u.i,f=u.color,p=o.isHierarchyRoot(e),d=1;if(c)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&"rgba(0,0,0,0)"===f)d=0,s="rgba(0,0,0,0)",l=0;else if(s=i.castOption(r,h,"marker.line.color")||a.defaultLine,l=i.castOption(r,h,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var g=r.marker.depthfade;if(g){var m,v=a.combine(a.addOpacity(r._backgroundColor,.75),f);if(!0===g){var y=o.getMaxDepth(r);m=isFinite(y)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var x=0;x0){var y,x,b,_,w,T=t.xa,k=t.ya;"h"===f.orientation?(w=e,y="y",b=k,x="x",_=T):(w=r,y="x",b=T,x="y",_=k);var A=h[t.index];if(w>=A.span[0]&&w<=A.span[1]){var M=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,f,w),C=o.getPositionOnKdePath(A,f,S),L=b._offset,P=b._length;M[y+"0"]=C[0],M[y+"1"]=C[1],M[x+"0"]=M[x+"1"]=S,M[x+"Label"]=x+": "+a.hoverLabelText(_,w)+", "+h[0].t.labels.kde+" "+E.toFixed(3),M.spikeDistance=v[0].spikeDistance;var I=y+"Spike";M[I]=v[0][I],v[0].spikeDistance=void 0,v[0][I]=void 0,M.hovertemplate=!1,m.push(M),(u={stroke:t.color})[y+"1"]=n.constrain(L+C[0],L,L+P),u[y+"2"]=n.constrain(L+C[1],L,L+P),u[x+"1"]=u[x+"2"]=_._offset+S}}d&&(m=m.concat(v))}-1!==p.indexOf("points")&&(c=i.hoverOnPoints(t,e,r));var z=l.selectAll(".violinline-"+f.uid).data(u?[0]:[]);return z.enter().append("line").classed("violinline-"+f.uid,!0).attr("stroke-width",1.5),z.exit().remove(),z.attr(u),"closest"===s?c?[c]:m:c?(m.push(c),m):m}},{"../../lib":735,"../../plots/cartesian/axes":783,"../box/hover":906,"./helpers":1294}],1296:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../box/defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../box/select"),moduleType:"trace",name:"violin",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":796,"../box/defaults":904,"../box/select":911,"../scatter/style":1163,"./attributes":1290,"./calc":1291,"./cross_trace_calc":1292,"./defaults":1293,"./hover":1295,"./layout_attributes":1297,"./layout_defaults":1298,"./plot":1299,"./style":1300}],1297:[function(t,e,r){"use strict";var n=t("../box/layout_attributes"),a=t("../../lib").extendFlat;e.exports={violinmode:a({},n.boxmode,{}),violingap:a({},n.boxgap,{}),violingroupgap:a({},n.boxgroupgap,{})}},{"../../lib":735,"../box/layout_attributes":908}],1298:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes"),i=t("../box/layout_defaults");e.exports=function(t,e,r){i._supply(t,e,r,(function(r,i){return n.coerce(t,e,a,r,i)}),"violin")}},{"../../lib":735,"../box/layout_defaults":909,"./layout_attributes":1297}],1299:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../box/plot"),s=t("../scatter/line_points"),l=t("./helpers");e.exports=function(t,e,r,c){var u=t._fullLayout,h=e.xaxis,f=e.yaxis;function p(t){var e=s(t,{xaxis:h,yaxis:f,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return i.smoothopen(e[0],1)}a.makeTraceGroups(c,r,"trace violins").each((function(t){var r=n.select(this),i=t[0],s=i.t,c=i.trace;if(!0!==c.visible||s.empty)r.remove();else{var d=s.bPos,g=s.bdPos,m=e[s.valLetter+"axis"],v=e[s.posLetter+"axis"],y="both"===c.side,x=y||"positive"===c.side,b=y||"negative"===c.side,_=r.selectAll("path.violin").data(a.identity);_.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),_.exit().remove(),_.each((function(t){var e,r,a,i,o,l,h,f,_=n.select(this),w=t.density,T=w.length,k=v.c2l(t.pos+d,!0),A=v.l2p(k);if(c.width)e=s.maxKDE/g;else{var M=u._violinScaleGroupStats[c.scalegroup];e="count"===c.scalemode?M.maxKDE/g*(M.maxCount/t.pts.length):M.maxKDE/g}if(x){for(h=new Array(T),o=0;o")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,i=r.line.color,o=r.line.width;if(a(n))return n;if(a(i)&&o)return i}(h,d),[c]}function w(t){return n(p,t)}}},{"../../components/color":602,"../../constants/delta.js":705,"../../plots/cartesian/axes":783,"../bar/hover":883}],1312:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"waterfall",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":796,"../bar/select":888,"./attributes":1305,"./calc":1306,"./cross_trace_calc":1308,"./defaults":1309,"./event_data":1310,"./hover":1311,"./layout_attributes":1313,"./layout_defaults":1314,"./plot":1315,"./style":1316}],1313:[function(t,e,r){"use strict";e.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],1314:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s0&&(m+=f?"M"+h[0]+","+d[1]+"V"+d[0]:"M"+h[1]+","+d[0]+"H"+h[0]),"between"!==p&&(r.isSum||s path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(i.fill,e.color).call(i.stroke,e.line.color).call(a.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;a.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},{"../../components/color":602,"../../components/drawing":624,"../../constants/interactions":710,"../bar/style":890,"../bar/uniform_text":892,d3:165}],1317:[function(t,e,r){"use strict";var n=t("../plots/cartesian/axes"),a=t("../lib"),i=t("../plot_api/plot_schema"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/numerical").BADNUM;r.moduleType="transform",r.name="aggregate";var l=r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},c=l.aggregations;function u(t,e,r,i){if(i.enabled){for(var o=i.target,l=a.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return h;case"first":return f;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=u,o=c)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return f(t)>s};case">=":return function(t){return f(t)>=s};case"[]":return function(t){var e=f(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=f(t);return e>s[0]&&e=s[0]&&es[0]&&e<=s[1]};case"][":return function(t){var e=f(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=f(t);return es[1]};case"](":return function(t){var e=f(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=f(t);return e=s[1]};case"{}":return function(t){return-1!==s.indexOf(f(t))};case"}{":return function(t){return-1===s.indexOf(f(t))}}}(r,i.getDataToCoordFunc(t,e,s,a),f),x={},b={},_=0;d?(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},v=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(m);for(var w=o(e.transforms,r),T=0;T1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(i=0;i= (3, 3): - from unittest.mock import Mock -else: - from mock import Mock - -os.environ['LIBGL_ALWAYS_SOFTWARE'] = '1' -os.environ['GALLIUM_DRIVER'] = 'softpipe' - - -# Constants -mapbox_access_token = os.environ.get("MAPBOX_TOKEN") -local_plotlyjs_path = tests_root / "test_plotly" / "resources" / "plotly.min.js" -local_plotlyjs_url = local_plotlyjs_path.as_uri() - -mathjax = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" - -# Initialize a global scope, this way we test multiple uses -scope = PlotlyScope( - mathjax=mathjax, mapbox_access_token=mapbox_access_token -) - - -def load_baseline(name, format): - baseline_path = baseline_root / 'plotly' / (name + '.' + format) - with baseline_path.open('rb') as f: - expected = f.read() - return expected - - -def write_baseline(data, name, format): - baseline_path = baseline_root / 'plotly' / (name + '.' + format) - with baseline_path.open('wb') as f: - f.write(data) - - -def write_failed(data, name, format): - failed_dir = baseline_root / 'plotly' / "failed" - failed_dir.mkdir(parents=True, exist_ok=True) - failed_path = failed_dir / (name + '.' + format) - with failed_path.open('wb') as f: - f.write(data) - - -@pytest.mark.parametrize('fig,name', all_figures()) -@pytest.mark.parametrize('format', all_formats) -def test_simple_figure(fig, name, format): - result = scope.transform(fig, format=format, width=700, height=500, scale=1) - - # Uncomment to create new baselines - write_baseline(result, name, format) - - expected = load_baseline(name, format) - - try: - if format == "svg": - # SVG not yet reproducible - assert result.startswith(b'=1mo is preferable. --# (2) for security purposes, timebombs would ideally be as close to --# the actual time of the build as possible. It must be in the past. --# (3) HSTS certificate pinning is valid for 70 days. To make CI builds enforce --# HTST pinning, <=1mo is preferable. --# --# On Windows, the timestamp is also written in the PE/COFF file header of --# executables of dlls. That timestamp and the executable's file size are --# the only two pieces of information that identify a given executable on --# the symbol server, so rarely changing timestamps can cause conflicts there --# as well. We only upload symbols for official builds to the symbol server. -- - from __future__ import print_function -- --import argparse --import calendar -+import time - import datetime --import doctest --import os - import sys - -- --THIS_DIR = os.path.abspath(os.path.dirname(__file__)) -- -- --def GetFirstSundayOfMonth(year, month): -- """Returns the first sunday of the given month of the given year. -- -- >>> GetFirstSundayOfMonth(2016, 2) -- 7 -- >>> GetFirstSundayOfMonth(2016, 3) -- 6 -- >>> GetFirstSundayOfMonth(2000, 1) -- 2 -- """ -- weeks = calendar.Calendar().monthdays2calendar(year, month) -- # Return the first day in the first week that is a Sunday. -- return [date_day[0] for date_day in weeks[0] if date_day[1] == 6][0] -- -- --def GetUnofficialBuildDate(build_date): -- """Gets the approximate build date given the specific build type. -- -- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 6, 1, 2, 3)) -- datetime.datetime(2016, 1, 3, 5, 0) -- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 7, 5)) -- datetime.datetime(2016, 2, 7, 5, 0) -- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 8, 5)) -- datetime.datetime(2016, 2, 7, 5, 0) -- """ -- -- if build_date.hour < 5: -- # The time is locked at 5:00 am in UTC to cause the build cache -- # invalidation to not happen exactly at midnight. Use the same calculation -- # as the day before. -- # See //base/build_time.cc. -- build_date = build_date - datetime.timedelta(days=1) -- build_date = datetime.datetime(build_date.year, build_date.month, -- build_date.day, 5, 0, 0) -- -- day = build_date.day -- month = build_date.month -- year = build_date.year -- first_sunday = GetFirstSundayOfMonth(year, month) -- # If our build is after the first Sunday, we've already refreshed our build -- # cache on a quiet day, so just use that day. -- # Otherwise, take the first Sunday of the previous month. -- if day >= first_sunday: -- day = first_sunday -- else: -- month -= 1 -- if month == 0: -- month = 12 -- year -= 1 -- day = GetFirstSundayOfMonth(year, month) -- return datetime.datetime( -- year, month, day, build_date.hour, build_date.minute, build_date.second) -- -- - def main(): -- if doctest.testmod()[0]: -- return 1 -- argument_parser = argparse.ArgumentParser() -- argument_parser.add_argument( -- 'build_type', help='The type of build', choices=('official', 'default')) -- args = argument_parser.parse_args() -- -- # The mtime of the revision in build/util/LASTCHANGE is stored in a file -- # next to it. Read it, to get a deterministic time close to "now". -- # That date is then modified as described at the top of the file so that -- # it changes less frequently than with every commit. -- # This intentionally always uses build/util/LASTCHANGE's commit time even if -- # use_dummy_lastchange is set. -- lastchange_file = os.path.join(THIS_DIR, 'util', 'LASTCHANGE.committime') -- last_commit_timestamp = int(open(lastchange_file).read()) -- build_date = datetime.datetime.utcfromtimestamp(last_commit_timestamp) -- -- # For official builds we want full fidelity time stamps because official -- # builds are typically added to symbol servers and Windows symbol servers -- # use the link timestamp as the prime differentiator, but for unofficial -- # builds we do lots of quantization to avoid churn. -- offset = 0 -- if args.build_type == 'official': -- if os.name == 'nt': -- version_path = os.path.join(THIS_DIR, os.pardir, 'chrome', 'VERSION') -- with open(version_path) as f: -- patch_line = f.readlines()[3].strip() -- # Use the patch number as an offset to the build date so that multiple -- # versions with different patch numbers built from the same source code -- # will get different build_date values. This is critical for Windows -- # symbol servers, to avoid collisions. -- assert patch_line.startswith('PATCH=') -- offset = int(patch_line[6:]) -- else: -- build_date = GetUnofficialBuildDate(build_date) -- print(offset + int(calendar.timegm(build_date.utctimetuple()))) -- return 0 -- -+ # All this to get a POSIX timestamp integer -+ print(int(time.mktime(datetime.datetime.now().timetuple()))) -+ return 0 - - if __name__ == '__main__': - sys.exit(main()) diff --git a/src/vendor-patches/chromium/108.0.5359.125/README.md b/src/vendor-patches/chromium/108.0.5359.125/README.md deleted file mode 100644 index 8f2abe39..00000000 --- a/src/vendor-patches/chromium/108.0.5359.125/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# build/compute_build_timestamp.py - -Google has a complex way to embed a timestamp into all of their source files and libraries. It has to do with cache optimization and symbol lookup for proprietary servers they have. It didn't work in 2024 and their most recent build (which we can't use yet) doesn't even have this file. But I just replace the file with a simple timestamp since that's suitable for Kaleido's purposes. diff --git a/src/vendor-patches/chromium/126.0.6478.126/126.0.6478.126.patch b/src/vendor-patches/chromium/126.0.6478.126/126.0.6478.126.patch deleted file mode 100644 index 5314b13b..00000000 --- a/src/vendor-patches/chromium/126.0.6478.126/126.0.6478.126.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/tools/licenses/licenses.py b/tools/licenses/licenses.py -index f3a8ba3756..d34995ee5e 100755 ---- a/tools/licenses/licenses.py -+++ b/tools/licenses/licenses.py -@@ -15,6 +15,8 @@ Commands: - """ - from __future__ import print_function - -+import sys -+sys.stdout.reconfigure(encoding='utf-8') - import argparse - import codecs - import csv diff --git a/src/vendor-patches/chromium/126.0.6478.126/README.md b/src/vendor-patches/chromium/126.0.6478.126/README.md deleted file mode 100644 index e69de29b..00000000 diff --git a/src/vendor-patches/chromium/88.0.4324.150/88.0.4324.150.patch b/src/vendor-patches/chromium/88.0.4324.150/88.0.4324.150.patch deleted file mode 100644 index 7a26bcaa..00000000 --- a/src/vendor-patches/chromium/88.0.4324.150/88.0.4324.150.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff --git a/build/compute_build_timestamp.py b/build/compute_build_timestamp.py -index ceb507b26c..fa36266de3 100755 ---- a/build/compute_build_timestamp.py -+++ b/build/compute_build_timestamp.py -@@ -1,126 +1,13 @@ - #!/usr/bin/env python --# Copyright 2018 The Chromium Authors. All rights reserved. --# Use of this source code is governed by a BSD-style license that can be --# found in the LICENSE file. --"""Returns a timestamp that approximates the build date. -- --build_type impacts the timestamp generated, both relative to the date of the --last recent commit: --- default: the build date is set to the most recent first Sunday of a month at -- 5:00am. The reason is that it is a time where invalidating the build cache -- shouldn't have major repercussions (due to lower load). --- official: the build date is set to the time of the most recent commit. --Either way, it is guaranteed to be in the past and always in UTC. --""" -- --# The requirements for the timestamp: --# (1) for the purposes of continuous integration, longer duration --# between cache invalidation is better, but >=1mo is preferable. --# (2) for security purposes, timebombs would ideally be as close to --# the actual time of the build as possible. It must be in the past. --# (3) HSTS certificate pinning is valid for 70 days. To make CI builds enforce --# HTST pinning, <=1mo is preferable. --# --# On Windows, the timestamp is also written in the PE/COFF file header of --# executables of dlls. That timestamp and the executable's file size are --# the only two pieces of information that identify a given executable on --# the symbol server, so rarely changing timestamps can cause conflicts there --# as well. We only upload symbols for official builds to the symbol server. -- - from __future__ import print_function -- --import argparse --import calendar -+import time - import datetime --import doctest --import os - import sys - -- --THIS_DIR = os.path.abspath(os.path.dirname(__file__)) -- -- --def GetFirstSundayOfMonth(year, month): -- """Returns the first sunday of the given month of the given year. -- -- >>> GetFirstSundayOfMonth(2016, 2) -- 7 -- >>> GetFirstSundayOfMonth(2016, 3) -- 6 -- >>> GetFirstSundayOfMonth(2000, 1) -- 2 -- """ -- weeks = calendar.Calendar().monthdays2calendar(year, month) -- # Return the first day in the first week that is a Sunday. -- return [date_day[0] for date_day in weeks[0] if date_day[1] == 6][0] -- -- --def GetUnofficialBuildDate(build_date): -- """Gets the approximate build date given the specific build type. -- -- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 6, 1, 2, 3)) -- datetime.datetime(2016, 1, 3, 5, 0) -- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 7, 5)) -- datetime.datetime(2016, 2, 7, 5, 0) -- >>> GetUnofficialBuildDate(datetime.datetime(2016, 2, 8, 5)) -- datetime.datetime(2016, 2, 7, 5, 0) -- """ -- -- if build_date.hour < 5: -- # The time is locked at 5:00 am in UTC to cause the build cache -- # invalidation to not happen exactly at midnight. Use the same calculation -- # as the day before. -- # See //base/build_time.cc. -- build_date = build_date - datetime.timedelta(days=1) -- build_date = datetime.datetime(build_date.year, build_date.month, -- build_date.day, 5, 0, 0) -- -- day = build_date.day -- month = build_date.month -- year = build_date.year -- first_sunday = GetFirstSundayOfMonth(year, month) -- # If our build is after the first Sunday, we've already refreshed our build -- # cache on a quiet day, so just use that day. -- # Otherwise, take the first Sunday of the previous month. -- if day >= first_sunday: -- day = first_sunday -- else: -- month -= 1 -- if month == 0: -- month = 12 -- year -= 1 -- day = GetFirstSundayOfMonth(year, month) -- return datetime.datetime( -- year, month, day, build_date.hour, build_date.minute, build_date.second) -- -- - def main(): -- if doctest.testmod()[0]: -- return 1 -- argument_parser = argparse.ArgumentParser() -- argument_parser.add_argument( -- 'build_type', help='The type of build', choices=('official', 'default')) -- args = argument_parser.parse_args() -- -- # The mtime of the revision in build/util/LASTCHANGE is stored in a file -- # next to it. Read it, to get a deterministic time close to "now". -- # That date is then modified as described at the top of the file so that -- # it changes less frequently than with every commit. -- # This intentionally always uses build/util/LASTCHANGE's commit time even if -- # use_dummy_lastchange is set. -- lastchange_file = os.path.join(THIS_DIR, 'util', 'LASTCHANGE.committime') -- last_commit_timestamp = int(open(lastchange_file).read()) -- build_date = datetime.datetime.utcfromtimestamp(last_commit_timestamp) -- -- # For official builds we want full fidelity time stamps because official -- # builds are typically added to symbol servers and Windows symbol servers -- # use the link timestamp as the prime differentiator, but for unofficial -- # builds we do lots of quantization to avoid churn. -- if args.build_type != 'official': -- build_date = GetUnofficialBuildDate(build_date) -- print(int(calendar.timegm(build_date.utctimetuple()))) -- return 0 -- -+ # All this to get a POSIX timestamp integer -+ print(int(time.mktime(datetime.datetime.now().timetuple()))) -+ return 0 - - if __name__ == '__main__': - sys.exit(main()) -diff --git a/build/toolchain/win/setup_toolchain.py b/build/toolchain/win/setup_toolchain.py -index 47309866ca..3fb765ffb5 100644 ---- a/build/toolchain/win/setup_toolchain.py -+++ b/build/toolchain/win/setup_toolchain.py -@@ -277,6 +277,7 @@ def main(): - return s if re.match(r'^[a-zA-Z0-9._/\\:-]*$', s) else '"' + s + '"' - include_I = ' '.join([q('/I' + i) for i in include]) - include_imsvc = ' '.join([q('-imsvc' + i) for i in include]) -+ lib = ["C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/atlmfc/lib/spectre/" + cpu] + lib - libpath_flags = ' '.join([q('-libpath:' + i) for i in lib]) - - if (environment_block_name != ''): diff --git a/src/vendor-patches/chromium/88.0.4324.150/README.md b/src/vendor-patches/chromium/88.0.4324.150/README.md deleted file mode 100644 index ef1346b2..00000000 --- a/src/vendor-patches/chromium/88.0.4324.150/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# build/compute_build_timestamp.py - -Google has a complex way to embed a timestamp into all of their source files and libraries. It has to do with cache optimization and symbol lookup for proprietary servers they have. It didn't work in 2024 and their most recent build (which we can't use yet) doesn't even have this file. But I just replace the file with a simple timestamp since that's suitable for Kaleido's purposes. - - -# build/toolchain/win/setup_toolchain.py - -This version was released before the Spectre vulnerability was patched. The spectre-mitigation libraries are in a folder that the build system doesn't include in the `-libpath` set for the linkers. I've added that folder to the build flags manually. Google's linker-command generation system is insanely complicated. My patch is in the correct area but it hardcodes the directory (Google somehow determines it through 10000 lines of obtuse python) which corresponds to the version of the Windows SDK you had to install. Not the best but not bad. If this is copied to other versions, and you still get can't find `atls.lib`, use this patch but change the x.y.z version number on the `lib = [path] + lib` line. diff --git a/toolchain/BUILD_AND_RELEASE.md b/toolchain/BUILD_AND_RELEASE.md deleted file mode 100644 index f43934e4..00000000 --- a/toolchain/BUILD_AND_RELEASE.md +++ /dev/null @@ -1,79 +0,0 @@ -# Integrating your charting library with kaleido: - -## Scope (Plugin) architecture -While motivated by the needs of plotly.py, we made the decision early on to design Kaleido to make it fairly straightforward to add support for additional libraries. Plugins in Kaleido are called "scopes". For more information, see https://github.com/plotly/Kaleido/wiki/Scope-(Plugin)-Architecture. - -## Language wrapper architecture -While Python is the initial target language for Kaleido, it has been designed to make it fairly straightforward to add support for additional languages. For more information, see https://github.com/plotly/Kaleido/wiki/Language-wrapper-architecture. - -# Building and Releasing - -Kaleido depends on building chromium: an ~18GB download, ~25GB after the half-day compile. - -**Good strategies:** - -1. the latest known good build (see below) OR -2. the most updated stable version of chromium - -Third party dependencies are always in flux and no build is guarenteed to succeed at any point without work. - -However, today (4/20/2024) Kaleido uses an [API that Chromium deleted after version 108](https://source.chromium.org/chromium/chromium/src/+/69dde6480cf45b1ee6cee9d2a091546bba1022cf). Furthermore, it appears that the API degraded to be unusable before it was removed. - -## How to build - -Tip! Set environmental variable cpus! It defaults at 4. - -``` -# Powershell -$env:cpus = 8 -# Bash -export cpus = 8 -``` - -After reading this, refer to: - -* [win README.md](repos/win_scripts/README.md) -* [mac README.md](repos/mac_scripts/README.md) -* [linux README.md](repos/linux_scripts/README.md) - -Bottom line, the operating systems and chromium change over time, and no formerly successful build is guarenteed. You can try running the scripts, but you may end up reading these notes in detail, especially "Preparing a Build". :-). - -Here is a summary (since 2024) of successes: - -| Date | Chromium Tag | depot_tools | linux | mac | win | K. CC | Kaleido | Notes | -| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | ----- | --- | -- |------- | ------ | ----------------------------- | -| 4/20/2024 | [108.0.5359.125](https://chromium.googlesource.com/chromium/src/+/refs/tags/108.0.5359.125) [(docs)](https://chromium.googlesource.com/chromium/src/+/refs/tags/108.0.5359.125/docs/) | f9f61a9d7 | ❓ | ❓ | ❓ | cc-1.5 | | Runtime errors likely due to old API degredation | -| 4/21/2024 | [88.0.4324.150](https://chromium.googlesource.com/chromium/src/+/refs/tags/88.0.4324.150) [(docs)](https://chromium.googlesource.com/chromium/src/+/refs/tags/88.0.4324.150/docs/) | f9f61a9d7 | ❓ | ❓ | ✅* | cc | 19d0ee00 | | - - -_* builds but locally, no circle ci integration_ - -### Preparing a Build - -OS-specific README's tell you to specify a chromium version (and depot tools version). - -#### Picking a specific chromium version -From old README.md/Google: -> Find a stable chromium version tag from https://chromereleases.googleblog.com/search/label/Desktop%20Update. Look up date of associated tag in GitHub at https://github.com/chromium/chromium/ -E.g. Stable chrome version tag on 05/19/2020: 83.0.4103.61, set `CHROMIUM_TAG="83.0.4103.61"` -> -> Search through depot_tools commitlog (https://chromium.googlesource.com/chromium/tools/depot_tools/+log) for commit hash of commit from the same day. -E.g. depot_tools commit hash from 05/19/2020: e67e41a, set `DEPOT_TOOLS_COMMIT=e67e41a` -#### Picking a cc version - -The c++ for Kaleido has to be updated sometimes based on the chromium version. The platform README.md will tell you what variables to change for that. The [repos/kaleido/REAMDE-CC.md](repos/kaleido/README-CC.md) contains some information about the difference between the versions, so you can cross reference errors and that, maybe. Otherwise you need serious git-fu + code note research to get a handle on Google's unstable API. - -#### Patching - -In `repos/patches` there are folders by chromium tags and patches for that version of chromium. You might want to look at the README.md for the closest version you're trying to install, and if you see the indicated errors, copy the relevant patch into a folder named after whatever chromium tag you're trying to run. - -#### Copying Run-Time Dependencies - -Hopefully your executable doesn't need any `.dll` or `.so` that weren't compiled in as `.lib` or `.a` respectively. Linux and git bash can use `ldd` to resolve dependencies of an `elf` or `exe`, mac has the less powerful `otool -L`. That should let you know if you need to bring any deps with you into the wheel, but theoretically it could be fooled by a dynamic load... (and it currently is). This is because headless chromium is dependent on `swiftshader` since for whatever reason it doesn't support GPU rendering. - -## Releasing - -Based on how you prepaired the build, you may need to make certain modifications to circle-ci. - -## CMakeLists.txt -The CMakeLists.txt file in `repos/` is only there to help IDE's like `CLion`/`KDevelop` figure out how to index the chromium source tree. It can't be used to actually build chromium. Using this approach, it's possible to get full completion and code navigation from `repos/kaleido/cc/kaleido.cc` in CLion. diff --git a/toolchain/README.md b/toolchain/README.md deleted file mode 100644 index 7cc8c838..00000000 --- a/toolchain/README.md +++ /dev/null @@ -1,64 +0,0 @@ -# Building Locally - -Whats your OS? - -### Windows - -Isolation seems difficult, probably need to install visual studio + windows SDK to your system. Specific versions depend on which version of Chromium you want to install. - -TODO: Add specific instructions for version. - -### Linux - -Chromium expects to be built in Ubuntu (maybe anything with `apt`?). Recommended to use LXC or docker. - -#### Building in Docker - -You can use the same docker image we use in circle-ci, which is their convenience image `cimg/python:X.X` on [dockerhub](https://hub.docker.com/r/cimg/python). - -Use our convenience script to pull and boot it: - -```bash -./toolchain/src/xx-kdocker.sh -## see --help for more advanced usage. -``` - -### Mac - -TODO - -# Developing the Toolchain - -Bash is dangerous and hard to test, but portable across platforms and flexible, so keep modules as small as possible. - -- shellcheck.net -- https://github.com/kward/shunit2 - -The files in `toolchain/version_configuration/` are combinations of chromium/depot_tool versions that are known to work. - -# Build Scripts - -They are all numbered by supposed order and have a verbose --help. These must be cross platform! - -- src/00-set_version.sh -- src/01-fetch_tools.sh - -There are utility scripts, only guarenteed to work on linux: - -- src/xx-make_bin.sh (described below) -- src/xx-all.sh (will run all stages) -- src/xx-template (just a template for writing new stages) -- src/xx-kdocker.sh (see [above](#linux)) - -These may or may not work on your OS of choice, they will all work on linux. - -As well as well commented `toolchain/src/include/` folder. - -## Adding Scripts to Path - -If you want to be able to run build scripts as commands, like -```bash -set_version -c "108.123.01.2" -d "HEAD" -fetch_tools --verbose --delete-git -``` -then you should run `source ./toolschain/src/xx-make_bin.sh`. diff --git a/toolchain/build_pep440_version.py b/toolchain/build_pep440_version.py deleted file mode 100644 index 6997940c..00000000 --- a/toolchain/build_pep440_version.py +++ /dev/null @@ -1,28 +0,0 @@ -import subprocess -import os -import sys - -def eprint(*args, **kwargs): - print(*args, file=sys.stderr, **kwargs), - -def git_pep440_version(path): - def git_command(args): - prefix = ['git', '-C', path] - return str(subprocess.check_output(prefix + args).decode().strip()) - version_full = git_command(['describe', '--tags', '--dirty=.dirty']) - version_tag = git_command(['describe', '--tags', '--abbrev=0']) - - # Strip leaving v (e.g. "v0.0.1" -> "0.0.1") - if version_tag[0] == "v": - version_tag = version_tag[1:] - version_tail = version_full[len(version_tag) + 1:] - else: - version_tail = version_full[len(version_tag):] - - return version_tag + version_tail.replace('-', '.dev', 1).replace('-', '+', 1) - - -if __name__ == "__main__": - repo_path = os.path.dirname(os.path.realpath(__file__)) - version = git_pep440_version(repo_path) - print(version) diff --git a/toolchain/extract_config/126.0.6478.126/README.md b/toolchain/extract_config/126.0.6478.126/README.md deleted file mode 100644 index 0b0048cf..00000000 --- a/toolchain/extract_config/126.0.6478.126/README.md +++ /dev/null @@ -1,9 +0,0 @@ -This directory contains the configurations of which binaries get archived on -Chromium builders, and controls how and where they're stored. This applies -mostly to the `*-archive-*` builders on this -[console](https://ci.chromium.org/p/chromium/g/chromium/console). - -Each JSON file here corresponds to the archive configuration for a single -builder. See the -[properties.proto](https://source.chromium.org/chromium/chromium/tools/build/+/main:recipes/recipe_modules/archive/properties.proto;drc=cca630e6c409dcdcc18567b94fcdc782b337e0ab;l=270) -definition of the archive recipe module for the schema of these files. diff --git a/toolchain/extract_config/126.0.6478.126/linux-archive-rel.json-original b/toolchain/extract_config/126.0.6478.126/linux-archive-rel.json-original deleted file mode 100644 index c8c8af09..00000000 --- a/toolchain/extract_config/126.0.6478.126/linux-archive-rel.json-original +++ /dev/null @@ -1,146 +0,0 @@ -{ - "archive_datas": [ - { - "files": [ - "chrome", - "chrome-wrapper", - "chrome_100_percent.pak", - "chrome_200_percent.pak", - "chrome_crashpad_handler", - "chrome_sandbox", - "icudtl.dat", - "libEGL.so", - "libGLESv2.so", - "libvk_swiftshader.so", - "libvulkan.so.1", - "MEIPreload/manifest.json", - "MEIPreload/preloaded_data.pb", - "product_logo_48.png", - "resources.pak", - "v8_context_snapshot.bin", - "vk_swiftshader_icd.json", - "xdg-mime", - "xdg-settings" - ], - "dirs": ["locales", "resources"], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chrome-linux"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Linux_x64/{%position%}/chrome-linux.zip", - "archive_type": "ARCHIVE_TYPE_ZIP", - "latest_upload": { - "gcs_path": "Linux_x64/LAST_CHANGE", - "gcs_file_content": "{%position%}" - }, - "revisions_file": { - "gcs_path": "Linux_x64/{%position%}/REVISIONS" - } - }, - { - "files": [ - "chromedriver", - "LICENSE.chromedriver" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chromedriver_linux64"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Linux_x64/{%position%}/chromedriver_linux64.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "content_shell", - "content_shell.pak", - "dump_syms", - "icudtl.dat", - "minidump_stackwalk", - "v8_context_snapshot.bin" - ], - "dirs": ["resources"], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "content-shell"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Linux_x64/{%position%}/content-shell.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "dirs": ["gen/third_party/devtools-frontend/src/front_end"], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "devtools-frontend"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Linux_x64/{%position%}/devtools-frontend.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "headless_lib_data.pak", - "headless_lib_strings.pak", - "headless_shell" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "headless-shell"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Linux_x64/{%position%}/headless-shell.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "gen/mojo/public/js/bindings.js", - "gen/third_party/blink/public/mojom/contacts/contacts_manager.mojom.m.js", - "gen/third_party/blink/public/mojom/content_index/content_index.mojom.m.js", - "gen/components/payments/mojom/payment_request_data.mojom.m.js", - "gen/third_party/blink/public/mojom/sms/webotp_service.mojom.m.js", - "gen/third_party/blink/public/mojom/idle/idle_manager.mojom.m.js", - "gen/media/capture/mojom/image_capture.mojom.m.js", - "gen/skia/public/mojom/image_info.mojom.m.js", - "gen/skia/public/mojom/bitmap.mojom.m.js", - "gen/gpu/ipc/common/sync_token.mojom.m.js", - "gen/ui/display/mojom/display.mojom.m.js", - "gen/ui/gfx/geometry/mojom/geometry.mojom.m.js", - "gen/device/gamepad/public/mojom/gamepad.mojom.m.js", - "gen/device/vr/public/mojom/vr_service.mojom.m.js", - "gen/device/vr/public/mojom/xr_session.mojom.m.js", - "gen/url/mojom/url.mojom.m.js", - "gen/third_party/blink/public/mojom/usb/web_usb_service.mojom.m.js", - "gen/device/bluetooth/public/mojom/uuid.mojom.m.js", - "gen/url/mojom/origin.mojom.m.js", - "gen/device/bluetooth/public/mojom/test/fake_bluetooth.mojom.m.js", - "gen/content/web_test/common/fake_bluetooth_chooser.mojom.m.js", - "gen/services/device/public/mojom/nfc.mojom.m.js", - "gen/services/device/public/mojom/serial.mojom.m.js", - "gen/third_party/blink/public/mojom/serial/serial.mojom.m.js", - "gen/services/device/public/mojom/battery_monitor.mojom.m.js", - "gen/services/device/public/mojom/battery_status.mojom.m.js", - "gen/services/device/public/mojom/pressure_manager.mojom.m.js", - "gen/services/device/public/mojom/pressure_update.mojom.m.js" - ], - "file_globs": [ - "gen/gpu/ipc/common/mailbox*.mojom.m.js", - "gen/mojo/public/mojom/base/*.mojom.m.js", - "gen/services/device/public/mojom/usb_*.mojom.m.js", - "gen/services/shape_detection/public/mojom/*.mojom.m.js", - "gen/ui/gfx/mojom/*.mojom.m.js" - ], - "dirs":["gen/layout_test_data/mojo/public/js"], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "mojojs"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Linux_x64/{%position%}/mojojs.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "updater.zip" - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Linux_x64/{%position%}", - "archive_type": "ARCHIVE_TYPE_FILES" - } - ] -} diff --git a/toolchain/extract_config/126.0.6478.126/mac-archive-rel.json-original b/toolchain/extract_config/126.0.6478.126/mac-archive-rel.json-original deleted file mode 100644 index a537a65a..00000000 --- a/toolchain/extract_config/126.0.6478.126/mac-archive-rel.json-original +++ /dev/null @@ -1,73 +0,0 @@ -{ - "archive_datas": [ - { - "dirs": ["Chromium.app"], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chrome-mac"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Mac/{%position%}/chrome-mac.zip", - "archive_type": "ARCHIVE_TYPE_ZIP", - "latest_upload": { - "gcs_path": "Mac/LAST_CHANGE", - "gcs_file_content": "{%position%}" - }, - "revisions_file": { - "gcs_path": "Mac/{%position%}/REVISIONS" - } - }, - { - "files": [ - "chromedriver", - "LICENSE.chromedriver" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chromedriver_mac64"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Mac/{%position%}/chromedriver_mac64.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "content_shell.pak", - "icudtl.dat" - ], - "dirs": [ - "Content Shell.app", - "resources" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "content-shell"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Mac/{%position%}/content-shell.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "dirs": ["gen/third_party/devtools-frontend/src/front_end"], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "devtools-frontend"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Mac/{%position%}/devtools-frontend.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "remoting-me2me-host-mac.zip" - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Mac/{%position%}", - "archive_type": "ARCHIVE_TYPE_FILES" - }, - { - "files": [ - "updater.zip" - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Mac/{%position%}", - "archive_type": "ARCHIVE_TYPE_FILES" - } - ] -} diff --git a/toolchain/extract_config/126.0.6478.126/win-archive-rel.json-original b/toolchain/extract_config/126.0.6478.126/win-archive-rel.json-original deleted file mode 100644 index a2f1239e..00000000 --- a/toolchain/extract_config/126.0.6478.126/win-archive-rel.json-original +++ /dev/null @@ -1,179 +0,0 @@ -{ - "archive_datas": [ - { - "files": [ - "chrome.exe", - "chrome.dll", - "chrome_100_percent.pak", - "chrome_200_percent.pak", - "chrome_elf.dll", - "chrome_proxy.exe", - "chrome_pwa_launcher.exe", - "chrome_wer.dll", - "D3DCompiler_47.dll", - "dxcompiler.dll", - "dxil.dll", - "elevation_service.exe", - "eventlog_provider.dll", - "First Run", - "icudtl.dat", - "interactive_ui_tests.exe", - "libEGL.dll", - "libGLESv2.dll", - "MEIPreload\\manifest.json", - "MEIPreload\\preloaded_data.pb", - "mojo_core.dll", - "notification_helper.exe", - "resources.pak", - "v8_context_snapshot.bin", - "vk_swiftshader.dll", - "vk_swiftshader_icd.json", - "vulkan-1.dll" - ], - "file_globs": [ - "locales\\*.pak", - "*.manifest" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chrome-win"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win_x64/{%position%}/chrome-win.zip", - "archive_type": "ARCHIVE_TYPE_ZIP", - "latest_upload": { - "gcs_path": "Win_x64/LAST_CHANGE", - "gcs_file_content": "{%position%}" - }, - "revisions_file": { - "gcs_path": "Win_x64/{%position%}/REVISIONS" - } - }, - { - "files": [ - "chrome.dll.pdb", - "chrome.exe.pdb", - "chrome_elf.dll.pdb", - "chrome_proxy.exe.pdb", - "chrome_pwa_launcher.exe.pdb", - "chrome_wer.dll.pdb", - "elevation_service.exe.pdb", - "eventlog_provider.dll.pdb", - "gaia1_0.dll.pdb", - "gcapi_dll.dll.pdb", - "gcp_setup.exe.pdb", - "libEGL.dll.pdb", - "libGLESv2.dll.pdb", - "mini_installer.exe.pdb", - "mojo_core.dll.pdb", - "notification_helper.exe.pdb", - "setup.exe.pdb", - "vk_swiftshader.dll.pdb", - "vulkan-1.dll.pdb" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chrome-win32-syms"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win_x64/{%position%}/chrome-win32-syms.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "chromedriver.exe.pdb" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chromedriver_win32-syms"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win_x64/{%position%}/chromedriver_win32-syms.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "chromedriver.exe", - "LICENSE.chromedriver" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "chromedriver_win32"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win_x64/{%position%}/chromedriver_win32.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "content_shell.exe", - "content_shell.pak", - "icudtl.dat", - "v8_context_snapshot.bin" - ], - "dirs": ["resources"], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "content-shell"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win_x64/{%position%}/content-shell.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "dirs": ["gen\\third_party\\devtools-frontend\\src\\front_end"], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "devtools-frontend"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win_x64/{%position%}/devtools-frontend.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "gcapi.h", - "gcapi_dll.dll", - "gcapi_dll.dll.lib" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "gcapi"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win_x64/{%position%}/gcapi.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "actions.xml", - "histograms.xml", - "ukm.xml" - ], - "rename_dirs": [ - {"from_dir": ".", "to_dir": "metrics-metadata"} - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win_x64/{%position%}/metrics-metadata.zip", - "archive_type": "ARCHIVE_TYPE_ZIP" - }, - { - "files": [ - "mini_installer.exe" - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win_x64/{%position%}", - "archive_type": "ARCHIVE_TYPE_FILES" - }, - { - "files": [ - "updater.zip" - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win_x64/{%position%}", - "archive_type": "ARCHIVE_TYPE_FILES" - }, - { - "files": [ - "updater.exe.pdb", - "UpdaterSetup.exe.pdb" - ], - "gcs_bucket": "chromium-browser-snapshots", - "gcs_path": "Win_x64/{%position%}/updater-syms.zip", - "archive_type":"ARCHIVE_TYPE_ZIP" - } - ] -} diff --git a/toolchain/extract_config/README.md b/toolchain/extract_config/README.md deleted file mode 100644 index e74c8aca..00000000 --- a/toolchain/extract_config/README.md +++ /dev/null @@ -1,8 +0,0 @@ -This directory is used by `10-extract.sh` and it's subscript, `10-extract_subscript.py`. - - -Chromium documents the files necessary for building installers in `src/infra/archive_config/*.json`. - -We make copies of them and add -original - -If this project were to survive, a diffing mechanism on more than just these files (like BUILD.gn and arg.gn) would make transitions nicer. diff --git a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn b/toolchain/gn_fragments/126.0.6478.126/BUILD.gn deleted file mode 100644 index d7db58a9..00000000 --- a/toolchain/gn_fragments/126.0.6478.126/BUILD.gn +++ /dev/null @@ -1,97 +0,0 @@ -### FOR KALEIDO ### - -# probably shouldn't be in app/ -# but kaleido should not be in headless/ -# if we're organized to OCD levels -# but this is intuitive, so its fine -static_library("dispatch") { - sources = [ - "app/dispatch/dispatch.cc", - "app/dispatch/dispatch.h", - ] - defines = [] - deps = [ - "//components/devtools/simple_devtools_protocol_client", - "//base", - ] - -} - -executable("kaleido") { - sources = [ - "app/kaleido.cc", - "app/kaleido_main.cc", - "app/kaleido.h", - "app/scopes/Factory.h", - "app/scopes/Plotly.h", - "app/scopes/Base.h" - ] - deps = [ - ":dispatch", - ] - defines = [] - if (!is_component_build) { - sources += [ - "lib/utility/headless_content_utility_client.cc", - "lib/utility/headless_content_utility_client.h", - ] - } - deps += [ - "//build:branding_buildflags", - "//components/embedder_support", - "//components/policy/content", - "//components/security_state/content", - "//content", - "//content/public/app", - "//content/public/browser", - "//content/public/child:child", - "//content/public/common", - "//content/public/utility", - "//printing/buildflags", - ] - public_deps = [ - ":headless_non_renderer", - "//base", - "//third_party/inspector_protocol:crdtp", - ] - if (!is_component_build) { - public_deps += [ ":headless_non_renderer" ] - } - if (!is_fuchsia) { - deps += [ "//components/crash/content/browser" ] - } - if (enable_printing) { - deps += [ - "//components/printing/browser", - "//components/printing/browser/headless:headless", - "//components/printing/renderer", - "//components/services/print_compositor", - "//components/services/print_compositor/public/mojom", - ] - } - if (is_win) { - defines = [ "HEADLESS_USE_CRASHPAD" ] - deps += [ - "//components/crash/core/app:run_as_crashpad_handler", - "//content:sandbox_helper_win", - "//sandbox", - "//build/win:default_exe_manifest", - "//content/public/app", - ] - configs += [ "//build/config/win:delayloads" ] - } - if (is_mac) { - deps += [ "//components/os_crypt/sync" , - "//sandbox/mac:seatbelt" ] - } - if (is_win || (is_posix && !is_mac)) { - deps += [ "//components/crash/core/app" ] - } - configs -= [ "//build/config/compiler:thinlto_optimize_default" ] - configs += [ - ":headless_defines_config", - "//build/config/compiler:wexit_time_destructors", - "//build/config/compiler:thinlto_optimize_max", - ] - assert(headless_use_embedded_resources) -} diff --git a/toolchain/gn_fragments/126.0.6478.126/args.gn b/toolchain/gn_fragments/126.0.6478.126/args.gn deleted file mode 100644 index 745c94b1..00000000 --- a/toolchain/gn_fragments/126.0.6478.126/args.gn +++ /dev/null @@ -1,45 +0,0 @@ -#import("//build/args/headless.gn") - -use_ozone=false - -headless_use_embedded_resources = true - -headless_enable_commands = false -headless_use_prefs = false -headless_use_policy = false - -# not used, unfortunately use_bundled_fontconfig = true - -icu_use_data_file = true # nice to be false on linux, breaks windows build because of installer - -v8_use_external_startup_data = false - -enable_nacl = false -enable_print_preview = false -enable_remoting = false -use_alsa = false -use_bluez = false -use_cups = false -use_dbus = false -use_gio = false -use_kerberos = false -use_libpci = false -use_pulseaudio = false -use_udev = false -rtc_use_pipewire = false -v8_enable_lazy_source_positions = false -use_glib = false -use_gtk = false -use_pangocairo = false - - - -# Debug / symbols-- do I need these? -symbol_level=0 -blink_symbol_level=0 -is_debug=false - -# The following will be generated by the buildscript -# is_component_build=false -# is_official_build=false -# target_cpu = "x64" diff --git a/toolchain/gn_fragments/README.md b/toolchain/gn_fragments/README.md deleted file mode 100644 index 30d2c667..00000000 --- a/toolchain/gn_fragments/README.md +++ /dev/null @@ -1,8 +0,0 @@ -1. We have to define a kaleido executable. To do that, we hijack chromium's headless app. That executable is defined at the bottom of `src/headless/BUILD.gn`. We copy and adapt that definition to kaleido (what you see in this `BUILD.gn`) and append it to the bottom of the former. -2. Arguments are specified in an args.gn in our desired output directory, which is passed as an argument to the `ninja` command in the ??-build_kaleido.sh script. - -As well as these files and their includes, reading `src/headless/BUILD.gn` and `src/headless/headless.gni` will help to understand possible arguments in `args.gn`. - -If its not already, its very likely these will have to be adapted per chromium version. - -`enable_printing` and `proprietary_codecs` are particularly interesting, and deserve investigation. diff --git a/toolchain/src/00-set_version.sh b/toolchain/src/00-set_version.sh deleted file mode 100755 index e5cca85f..00000000 --- a/toolchain/src/00-set_version.sh +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -usage=( - "set_version will check to see if the chromium/depot_tools version are set- if not," - "set_version helps specify the versions. Choose from a list of known combinations" - "or specify refs exactly for both. Known combinations are in version_configurations." - "A file will be created in the root of the git directory, .set_version, with the environmental variables." - "You can also just set flags or environmental variables, and .set_version file will be rewritten." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "set_version [-h|--h]" - "" - "Just get the latest known configuration:" - "set_version [-l|--latest]" - "" - "Specify a known chromium/depot_tools combo (see version_configurations/):" - "set_version [-c|--chromium] KNOWN_REF" - "" - "Specify the refs directly:" - "set_version [-c|--chromium] REF [-d|--depot] REF" - "" - "Force ask:" - "set_version [-a|--ask]" - "" - "" -) - -FLAGS=("-l" "--latest" "-a" "--ask") -ARGFLAGS=("-c" "--chromium" "-d" "--depot") - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -ASK="$(flags_resolve false "-a" "--ask")" - -LATEST="$(flags_resolve false "-l" "--latest")" - -CHROMIUM_VERSION_TAG="$(flags_resolve ${CHROMIUM_VERSION_TAG-""} -c --chromium)" -DEPOT_TOOLS_COMMIT="$(flags_resolve ${DEPOT_TOOLS_COMMIT-""} -d --depot)" - -$NO_VERBOSE || echo "Running 00-set_version.sh" - -if $LATEST; then - $NO_VERBOSE || echo "Getting latest:" - . "$MAIN_DIR/toolchain/version_configurations/$(ls -v "$MAIN_DIR/toolchain/version_configurations" | tail -1)" - $NO_VERBOSE || echo "Sourced known configuration:" - $NO_VERBOSE || echo "Chromium ref: ${CHROMIUM_VERSION_TAG}, depot_tools ref: ${DEPOT_TOOLS_COMMIT}" -elif $ASK; then - $NO_VERBOSE || echo "--ask forced" -elif [ -n "${CHROMIUM_VERSION_TAG:-}" ]; then - $NO_VERBOSE || echo "Found chromium ref: ${CHROMIUM_VERSION_TAG}." - if [ -n "${DEPOT_TOOLS_COMMIT:-}" ]; then - $NO_VERBOSE || echo "Found depo_tools ref: ${DEPO_TOOLS_COMMIT}." - else - $NO_VERBOSE || echo "No depo_tools ref found, looking for file w/ that chromium tag." - if test -f "$MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}"; then - . "$MAIN_DIR/toolchain/version_configurations/${CHROMIUM_VERSION_TAG}" - $NO_VERBOSE || echo "Sourced known configuration:" - $NO_VERBOSE || echo "Chromium ref: ${CHROMIUM_VERSION_TAG}, depot_tools ref: ${DEPOT_TOOLS_COMMIT}" - else - util_error "Could not find a know configuration for ${CHROMIUM_VERSION_TAG}, see --help" - fi - fi -elif test -f "$MAIN_DIR/.set_version"; then - $NO_VERBOSE || echo "Found a .set_version file." - . "$MAIN_DIR/.set_version" - $NO_VERBOSE || echo "Sourced known configuration:" - $NO_VERBOSE || echo "Chromium ref: ${CHROMIUM_VERSION_TAG}, depot_tools ref: ${DEPOT_TOOLS_COMMIT}" -else - ASK=true - $NO_VERBOSE || echo "Don't know what you want, will ask." -fi - -if $ASK; then - PS3="c) Custom"$'\n'"Select a preset version combination (1, 2, etc), or 'c' to specify your own: " - options=($(ls -v "$MAIN_DIR/toolchain/version_configurations")) # they say not to ever parse ls, oop - select opt in "${options[@]}" - do - if [[ "$REPLY" == "c" ]] || [[ "$REPLY" == "C" ]]; then - read -p "Chromium version tag (or ref): " CHROMIUM_VERSION_TAG - read -p "Depot tools commit (or ref): " DEPOT_TOOLS_COMMIT - elif [[ "$opt" != "" ]]; then - . "$MAIN_DIR/toolchain/version_configurations/$opt" - $NO_VERBOSE || echo "Sourced known configuration:" - $NO_VERBOSE || echo "Chromium ref: ${CHROMIUM_VERSION_TAG}, depot_tools ref: ${DEPOT_TOOLS_COMMIT}." - else - util_error "$REPLY not understood" - fi - break - done -fi - -echo "CHROMIUM_VERSION_TAG=${CHROMIUM_VERSION_TAG}" > "$MAIN_DIR/.set_version" -echo "DEPOT_TOOLS_COMMIT=${DEPOT_TOOLS_COMMIT}" >> "$MAIN_DIR/.set_version" -$NO_VERBOSE || echo "Wrote .set_version." -util_export_version diff --git a/toolchain/src/01-fetch_tools.sh b/toolchain/src/01-fetch_tools.sh deleted file mode 100755 index bde26bb6..00000000 --- a/toolchain/src/01-fetch_tools.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -usage=( - "fetch_tools has no real interface, it simply fetches depot_tools with git at the specified version." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "fetch_tools [-h|--h]" - "" - "Delete .git to save space:" - "fetch_tools [-d|--delete-git]" - "" - "" -) - - -FLAGS=("-d" "--delete-git") -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -DELETE_GIT="$(flags_resolve false "-d" "--delete-git")" # will resolve true if existing, false if no - -$NO_VERBOSE || echo "Running 01-fetch_tools.sh" - -util_get_version -util_export_version - -# Get depot_tools -$NO_VERBOSE || echo "Downloading depot_tools:" -git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "$MAIN_DIR/vendor/depot_tools/" - -$NO_VERBOSE || echo "Resetting depot_tools:" -git -C "$MAIN_DIR/vendor/depot_tools/" reset --hard ${DEPOT_TOOLS_COMMIT} -$NO_VERBOSE || echo "Cleaning depot_tools:" -git -C "$MAIN_DIR/vendor/depot_tools/" clean -ffd - -if $DELETE_GIT; then - $NO_VERBOSE || echo "Deleting depot_tools/.git" - rm -rf "$MAIN_DIR/vendor/depot_tools/.git" # oof dangerous -fi diff --git a/toolchain/src/02-init_tools.sh b/toolchain/src/02-init_tools.sh deleted file mode 100755 index dfae7c13..00000000 --- a/toolchain/src/02-init_tools.sh +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! -usage=( - "init_tools will run some some commands that google recommends or requires before other build steps." - "It can be version and platform dependent." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "init_tools [-h|--h]" - "" - "Dry run: just show me the scripts that would be run, don't run them." - "init_tools [-d|--dry-run]" - "" - "" - "Try: if it can find a matching version to the one select, use the latest" - "init_tools [-t|--try]" -) -## PROCESS FLAGS - -FLAGS=("-d" "--dry-run" "-t" "--try") -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -SHOW="$(flags_resolve false "-d" "--dry-run")" -TRY="$(flags_resolve false "-t" "--try")" - -$NO_VERBOSE || echo "Running 02-init_tools.sh" - -util_get_version -util_export_version - -# This may change with depot tools vesion, and it still needs to be worked out per platform -if [[ "$PLATFORM" == "WINDOWS" ]]; then - if [[ "$CHROMIUM_VERSION_TAG" == "88.0.4324.150" ]]; then - util_error "no worky" - cmd.exe /c cipd_bin_setup.bat - cmd.exe /c 'bootstrap\win_tools.bat' - elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]] || $TRY; then - pushd "$MAIN_DIR/vendor/depot_tools/" - COMMAND=" -set DEPOT_TOOLS_UPDATE=0\n -set DEPOT_TOOLS_WIN_TOOLCHAIN=0\n -set PATH=$MAIN_DIR\\\vendor\\\depot_tools\\\;$MAIN_DIR\\\vendor\\\depot_tools\\\bootstrap;%PATH%\n -set CPUS=$CPUS\n -where python3\n -cipd_bin_setup.bat\n -bootstrap\\\win_tools.bat\n -exit" - echo -e "$COMMAND" | cmd - popd - else - util_error "No elif branch in 02-init_tools.sh for this version $CHROMIUM_VERSION_TAG, as of today, you still have to add the branch manually. You can add an elif statement right where you find this error, so search for it. (or see help)" - fi -elif [[ "$PLATFORM" == "LINUX" ]]; then - mkdir -p "$MAIN_DIR/toolchain/tmp" - # I don't love curling this out of something we'll download later but its how they do it and we haven't cloned the repo yet - # https://issues.chromium.org/issues/40243622 - - if [[ "$CHROMIUM_VERSION_TAG" == "88.0.4324.150" ]]; then - util_error "Script exiting as 88.0.4324.150's build script doesn't seem to function, look at 02-init_tools.sh if important" - #### THIS IS WHAT IT WAS: - - curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.sh?format=TEXT \ - | base64 -d > $MAIN_DIR/toolchain/tmp/install-build-deps.sh - if $SHOW; then - echo -e "\n\nSee file in $MAIN_DIR/toolchain/tmp/install-build-deps.sh" - exit 0 - fi - chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" - "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt - elif [[ "$CHROMIUM_VERSION_TAG" == "126.0.6478.126" ]] || $TRY; then - curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.sh?format=TEXT \ - | base64 -d > $MAIN_DIR/toolchain/tmp/install-build-deps.sh - curl -s https://chromium.googlesource.com/chromium/src/+/$CHROMIUM_VERSION_TAG/build/install-build-deps.py?format=TEXT \ - | base64 -d > $MAIN_DIR/toolchain/tmp/install-build-deps.py - if $SHOW; then - echo -e "\n\nSee file in $MAIN_DIR/toolchain/tmp/install-build-deps.sh" - echo -e "\n\nSee file in $MAIN_DIR/toolchain/tmp/install-build-deps.py" - exit 0 - fi - chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" - chmod +x "$MAIN_DIR/toolchain/tmp/install-build-deps.py" - DEBIAN_FRONTEND=noninteractive "$MAIN_DIR/toolchain/tmp/install-build-deps.sh" --no-syms --no-arm --no-chromeos-fonts --no-nacl --no-prompt - - else - util_error "No elif branch in 02-init_tools.sh for this version $CHROMIUM_VERSION_TAG, as of today, you still have to add the branch manually. You can add an elif statement right where you find this error, so search for it." - fi - # runhooks? i don't think we need to TODO but mentioned - $NO_VERBOSE || echo "Downloaded and installed build-deps." -elif [[ "$PLATFORM" == "OSX" ]]; then - $NO_VERBOSE || echo "MAC INIT IS EXPERIMENTAL" - pushd "$MAIN_DIR/vendor/depot_tools" - set +u - source "./cipd_bin_setup.sh" - cipd_bin_setup - - # Don't bootstrap Python 3 on windows, since it is already done by - # bootstrap/win_tools.bat. - source "./bootstrap_python3" - bootstrap_python3 - - set -u - popd -fi diff --git a/toolchain/src/03-ksync.sh b/toolchain/src/03-ksync.sh deleted file mode 100755 index a2e98a60..00000000 --- a/toolchain/src/03-ksync.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! -usage=( - "ksync will set some env vars and run gclient sync." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "ksync [-h|--h]" - "" - "Set number of cpus:" - "ksync [-c|--cpus] CPUS" - "" - "" -) - -FLAGS=() -ARGFLAGS=("-c" "--cpus") - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -CPUS="$(flags_resolve ${CPUS:-1} "-c" "--cpus")" - -$NO_VERBOSE || echo "Running 03-ksync.sh" -$NO_VERBOSE || echo "with $CPUS cpus" - -util_get_version -util_export_version - -export DEPOT_TOOLS_UPDATE=0 # otherwise it advances to the tip of branch main -## but sometimes it skips other necessary things! Thats why we had init_tools -V_FLAG="" - -$NO_VERBOSE || echo "Resetting to $CHROMIUM_VERSION_TAG" - -if [[ "$PLATFORM" == "WINDOWS" ]]; then - COMMAND=" -set DEPOT_TOOLS_UPDATE=0\n -set DEPOT_TOOLS_WIN_TOOLCHAIN=0\n -set PATH=$MAIN_DIR\\\vendor\\\depot_tools;$MAIN_DIR\\\vendor\\\depot_tools\\\bootstrap;%PATH%\n -set CPUS=$CPUS\n -where python3\n -gclient sync -D --force --verbose --verbose --reset --no-history --jobs=$CPUS --revision=$CHROMIUM_VERSION_TAG\n -\nexit" - pushd "$MAIN_DIR/vendor" - echo -e "$COMMAND" | cmd.exe - popd -else - if ! $NO_VERBOSE; then - ( cd "$MAIN_DIR/vendor/"; gclient sync -D --force --verbose --reset --no-history --jobs=$CPUS --revision="$CHROMIUM_VERSION_TAG" ) - else - ( cd "$MAIN_DIR/vendor/"; gclient sync -D --force --reset --no-history --jobs=$CPUS --revision="$CHROMIUM_VERSION_TAG" ) - fi -fi diff --git a/toolchain/src/04-patch_chromium.sh b/toolchain/src/04-patch_chromium.sh deleted file mode 100755 index b43fe588..00000000 --- a/toolchain/src/04-patch_chromium.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -usage=( - "patch_chromium will run patches stored in the patches/ folder." - "patch needs for a particular version may change over time." - "directory for the particular version of the software." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Try: Will use the latest version's patch dir if it can't find its own" - "patch_chromium [-t|--try]" - "" - "" -) -## PROCESS FLAGS - -FLAGS=("-t" "--try") -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -TRY="$(flags_resolve false "-t" "--try")" - -util_get_version -util_export_version - -$NO_VERBOSE || echo "Running 04-patch_chromium" - -PATCH_DIR="$MAIN_DIR/src/vendor-patches/chromium/$CHROMIUM_VERSION_TAG" -if [ ! -d "$PATCH_DIR" ] && $TRY; then - PATCH_DIR="$MAIN_DIR/src/vendor-patches/chromium/$(ls $MAIN_DIR/src/vendor-patches/chromium -vt | head -1)" - $NO_VERBOSE || echo "--try: New patch dir: $PATCH_DIR" -elif [ -d "$PATCH_DIR" ]; then - : # optimistic path -else - util_error "No chromium patch dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" -fi - -if [ -d "$PATCH_DIR" ] && [ -e "$PATCH_DIR/"*.patch ]; then - $NO_VERBOSE || echo "trying to patch" - git -C $MAIN_DIR/vendor/src/ apply $PATCH_DIR/*.patch -fi diff --git a/toolchain/src/05-gen_preamble.sh b/toolchain/src/05-gen_preamble.sh deleted file mode 100755 index ba995079..00000000 --- a/toolchain/src/05-gen_preamble.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -usage=( - "gen_preamble will generate a license file, etc." - "It copies some stuff into the src/kaleido directory, not sure why." - "It shouldn't provoke the build system to rebuild anything, we just use copy." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" -) - -FLAGS=() -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -$NO_VERBOSE || echo "Running 05-gen_preamble.sh" - -util_get_version -util_export_version - -# old versions may not work with python3, so do || python -python3 "$MAIN_DIR/vendor/src/tools/licenses/licenses.py" credits > "$MAIN_DIR/CREDITS.html" || python "$MAIN_DIR/vendor/src/tools/licenses/licenses.py" credits > "$MAIN_DIR/CREDITS.html" - -cp "$MAIN_DIR/README.md" "$MAIN_DIR/src/kaleido/" -cp "$MAIN_DIR/LICENSE.txt" "$MAIN_DIR/src/kaleido/" -cp "$MAIN_DIR/CREDITS.html" "$MAIN_DIR/src/kaleido/" - diff --git a/toolchain/src/06-build_ninja.sh b/toolchain/src/06-build_ninja.sh deleted file mode 100755 index 49426eac..00000000 --- a/toolchain/src/06-build_ninja.sh +++ /dev/null @@ -1,150 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -usage=( - "build_ninja will run modify and run gn, the last build step before actual chromium build." - "It appends information about our app to the gn configuration in src/headless." - "This is currently not version or platform dependent, but it is reasonable it will have to be one day." - "It is important to understand that we cannabilize the headless/app example in order to absorb its boilerplate." - "This script will modify the headless directory's build configurations (see gn_fragments in toolchain)," - "mainly for renaming and reducing unecessary dependencies, and sync_cpp will replace the example app with kaleido." - "" - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - - "This will prompt a dev build, or a component build. Compiling goes from 30 seconds to 5" - "seconds for your typical small kaleido change. Not packagable." - "build_ninja [-d|--dev]" - "" - "Show: show will just let you know if you last did a development build or not" - "build_ninja [-s|--show]" - "" - "List: list is a shortcut for gn args --list, which must be run after running build_ninja once and will show" - "will show you all possible arguments." - "build_ninja [-l|--list]" - "" - "Try: Will use the latest version's patch dir if it can't find its own" - "build_ninja [-t|--try]" - "" -) - -# todo args --list -# todo show -FLAGS=("-d" "--dev" "-s" "--show" "-l" "--list" "-t" "--try") -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -FINAL=true -DEV="$(flags_resolve false "-d" "--dev")" -if $DEV; then - FINAL=false -fi - -$FINAL && DEV=false || DEV=true - -SHOW="$(flags_resolve false "-s" "--show")" -LIST="$(flags_resolve false "-l" "--list")" - - - -$NO_VERBOSE || echo "Running 06-build_ninja.sh" - -$NO_VERBOSE || echo "Release build: $FINAL" -$NO_VERBOSE || echo "Dev build: $DEV" - -TRY="$(flags_resolve false "-t" "--try")" - -util_get_version -util_export_version - -GN_FRAG_DIR="${MAIN_DIR}/toolchain/gn_fragments/$CHROMIUM_VERSION_TAG" -if [ ! -d "$GN_FRAG_DIR" ] && $TRY; then - GN_FRAG_DIR="${MAIN_DIR}/toolchain/gn_fragments/$(ls "${MAIN_DIR}/src/vendor-patches/chromium" -vt | head -1)" - $NO_VERBOSE || echo "--try: $GN_FRAG_DIR" -elif [ -d "$GN_FRAG_DIR" ]; then - : # optimistic path -else - util_error "No gn_fragment dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" -fi - -BUILD_SUFFIX="${GN_FRAG_DIR}/BUILD.gn" -TARGET="${MAIN_DIR}/vendor/src/headless/BUILD.gn" -OUTDIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" -ARGS_FILE="${OUTDIR}/args.gn" -TEMPLATE_FILE="${GN_FRAG_DIR}/args.gn" - -if $SHOW; then - if [[ -f "${ARGS_FILE}" ]]; then - cat "${ARGS_FILE}" - else - echo "Script never run, nothing to show" - fi - exit 0 -fi - -if $LIST; then - if [[ -f "${ARGS_FILE}" ]]; then - ( cd "$MAIN_DIR/vendor/src" && gn args --list "$OUTDIR" ) - else - echo "You haven't run the main script yet, that needs to happen once before this will work" - fi - exit 0 -fi - -LINE_NO=$(grep "$TARGET" -ne "$(head -n 1 "$BUILD_SUFFIX")" | cut -f1 -d:) -$NO_VERBOSE || echo "LINE MARKER: $(head -n 1 "$BUILD_SUFFIX")" -$NO_VERBOSE || echo "LINE NUMBER: $LINE_NO" -if [[ -n "$LINE_NO" ]]; then - $NO_VERBOSE || echo "Recreating original based on file" - head -n $(($LINE_NO - 1)) "$TARGET" > "${TARGET}.TEMP" - mv "${TARGET}.TEMP" "$TARGET" -fi -$NO_VERBOSE || echo "Appending build information to headless/BUILD.gn" -cat "$BUILD_SUFFIX" >> "$TARGET" - -$NO_VERBOSE || echo "Create build directory and placing build arguments inside of it, and running gn gen" - - -mkdir -p "${OUTDIR}" - -SUFFIX=" -is_component_build=$DEV -is_official_build=false -target_cpu=\"${TARGET_ARCH}\"" - -if [[ "$PLATFORM" == "OSX" ]]; then - SUFFIX=" -is_component_build=$DEV -is_official_build=false -target_cpu=\"${TARGET_ARCH}\" -use_cups=true" -fi - -if [[ ! -f "${ARGS_FILE}" ]] || [[ $(diff "$ARGS_FILE" <(cat "$TEMPLATE_FILE" <(echo "$SUFFIX"))) ]]; then - cp "${TEMPLATE_FILE}" "${ARGS_FILE}" - echo "$SUFFIX" >> "${ARGS_FILE}" -fi - -$NO_VERBOSE || echo "Args file:" -$NO_VERBOSE || cat "${ARGS_FILE}" - -pushd "$MAIN_DIR/vendor/src" -if [[ "$PLATFORM" == "WINDOWS" ]]; then - COMMAND=" -set DEPOT_TOOLS_UPDATE=0\n -set DEPOT_TOOLS_WIN_TOOLCHAIN=0\n -set PATH=$MAIN_DIR\\\vendor\\\depot_tools;$MAIN_DIR\\\vendor\\\depot_tools\\\bootstrap;%PATH%\n -set CPUS=$CPUS\n -echo %PATH%\n -where python3\n -gn gen ${OUTDIR}\nexit\n" - echo -e $COMMAND | cmd.exe -else - gn gen "$OUTDIR" -fi -popd diff --git a/toolchain/src/07-write_kversion.sh b/toolchain/src/07-write_kversion.sh deleted file mode 100755 index 16e69afe..00000000 --- a/toolchain/src/07-write_kversion.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -usage=( - "write_kversion creates at text file that lists the kaleido version" - "It is not listed as a dependency so it should not provoke a rebuild." - "However, it is a runtime dependency and kaleido will crash without it." - "" - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" -) - -FLAGS=() -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -$NO_VERBOSE || echo "Running 07-write_kversion" - -util_get_version -util_export_version - -version="$(python3 "${MAIN_DIR}/toolchain/build_pep440_version.py")" -$NO_VERBOSE || echo "Version: $version" -echo -n "$version" > "${MAIN_DIR}/src/kaleido/version" diff --git a/toolchain/src/08-sync_cpp.sh b/toolchain/src/08-sync_cpp.sh deleted file mode 100755 index e42af978..00000000 --- a/toolchain/src/08-sync_cpp.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -usage=( - "sync_cpp will copy kaleido c++ source in chromium source for build" - "it uses rsync to preserver modification times and no unnecessary update things" - "" - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Try: Will use the latest version's patch dir if it can't find its own" - "sync_cpp [-t|--try]" - "" -) - -FLAGS=("-t" "--try") -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -$NO_VERBOSE || echo "Running 08-sync_cpp.sh" - -util_get_version -util_export_version - -CC_DIR="${MAIN_DIR}/src/kaleido/cc/$CHROMIUM_VERSION_TAG" - -$NO_VERBOSE || echo "CC_DIR: $CC_DIR" -$NO_VERBOSE || echo "CP_DIR: $MAIN_DIR/src/kaleido/cc" - -if [ ! -d "$CC_DIR" ] && $TRY; then - CC_DIR="${MAIN_DIR}/src/kaleido/cc/$(ls "${MAIN_DIR}/src/kaleido/cc/" -vt | head -1)" -elif [ -d "$CC_DIR" ]; then - : # optimistic path -else - util_error "No cc dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" -fi - -if [[ "$PLATFORM" == "WINDOWS" ]]; then - rm -rf "${MAIN_DIR}/vendor/src/headless/app/"* - cp -r "${CC_DIR}/"* "${MAIN_DIR}/vendor/src/headless/app" - exit 0 -fi - -# Really annoying - -rsync -av --delete "${CC_DIR}/" "${MAIN_DIR}/vendor/src/headless/app" diff --git a/toolchain/src/09-build_kaleido.sh b/toolchain/src/09-build_kaleido.sh deleted file mode 100755 index 8ea8402a..00000000 --- a/toolchain/src/09-build_kaleido.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -usage=( - "build_kaleido does the c++ build." - "" - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Set number of cpus:" - "build_kaleido [-c|--cpus] CPUS" -) - -FLAGS=() -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -ARGFLAGS=("-c" "--cpus") - -$NO_VERBOSE || echo "Running 09-build_kaleido.sh" - -CPUS="$(flags_resolve ${CPUS:-1} "-c" "--cpus")" - -util_get_version -util_export_version - -OUTDIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" - -pushd "$MAIN_DIR/vendor/src" -if [[ "$PLATFORM" == "WINDOWS" ]]; then - COMMAND=" -set DEPOT_TOOLS_UPDATE=0\n -set DEPOT_TOOLS_WIN_TOOLCHAIN=0\n -set PATH=$MAIN_DIR\\\vendor\\\depot_tools;$MAIN_DIR\\\vendor\\\depot_tools\\\bootstrap;%PATH%\n -set CPUS=$CPUS\n -echo %PATH%\n -where python3\n -ninja -C $OUTDIR -j $CPUS kaleido\n -exit\n" - echo -e $COMMAND | cmd.exe -else - ninja -C $OUTDIR -j $CPUS kaleido -fi -popd diff --git a/toolchain/src/10-extract.sh b/toolchain/src/10-extract.sh deleted file mode 100755 index 4a85b74e..00000000 --- a/toolchain/src/10-extract.sh +++ /dev/null @@ -1,222 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -# Detect if component build is true, and if so, exit TODO - -# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! -usage=( - "extract will attempt to pull all runtime dependencies, including the executable," - "out of chromium's build directory into a build/ folder. It compares a chromium zip builder" - "to a list of what was built what we have and then pulls out what agrees to our build folder." - "It also pulls out some other stuff." - "" - "If you run 10 will clean everything in build put there by later scripts." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "extract [-h|--h]" - "" - "Try: Will use the latest version's patch dir if it can't find its own" - "extract [-t|--try]" - "" - "extract [-s|--assess] will dump its analysis of the situation" - "" -) - -FLAGS=("-t" "--try" "-s" "--assess") -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -util_get_version -util_export_version - -$NO_VERBOSE || echo "Running 10-extract.sh" - -TRY="$(flags_resolve false "-t" "--try")" -ASSESS="$(flags_resolve false "-s" "--assess")" - -# build dir is now in include/globals -mkdir -p "$BUILD_DIR" -globals_clean_build_dir - -$NO_VERBOSE || echo "We are extracting to $BUILD_DIR" - -# mainly reexported, but making sure the python script has it -export MAIN_DIR -export CHROMIUM_VERSION_TAG -export PLATFORM -export TARGET_ARCH -export BUILD_DIR -export SRC_DIR="${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}" -IMPORT='extract = __import__("10-extract_subscript")' - -$NO_VERBOSE || echo "MAIN_DIR: $MAIN_DIR" -$NO_VERBOSE || echo "CHROMIUM_V_TAG: $CHROMIUM_VERSION_TAG" -$NO_VERBOSE || echo "PLAT: $PLATFORM" -$NO_VERBOSE || echo "T_ARCH: $TARGET_ARCH" -$NO_VERBOSE || echo "BUILD_DIR: $BUILD_DIR" -$NO_VERBOSE || echo "SRC_DIR: $SRC_DIR" -$NO_VERBOSE || echo "IMPORT LINE: $IMPORT" - -CONFIG_DIR="${MAIN_DIR}/toolchain/extract_config/${CHROMIUM_VERSION_TAG}/" -if [ ! -d "${CONFIG_DIR}" ] && $TRY; then - CONFIG_DIR="${MAIN_DIR}/toolchain/extract_config/$(ls "${MAIN_DIR}/toolchain/extract_config" -vt | head -1)" -elif [ -d "${CONFIG_DIR}" ]; then - : # optimistic path -else - util_error "No config dir for $CHROMIUM_VERSION_TAG, look at --try or make your own" -fi -$NO_VERBOSE || echo "Set CONFIG_DIR: $CONFIG_DIR" - -if [[ "${PLATFORM}" == "WINDOWS" ]]; then - CONFIG="$(readlink -f "${CONFIG_DIR}/win-archive-rel.json-original")" -elif [[ "${PLATFORM}" == "LINUX" ]]; then - CONFIG="$(readlink -f "${CONFIG_DIR}/linux-archive-rel.json-original")" -elif [[ "${PLATFORM}" == "OSX" ]]; then - CONFIG="$(readlink -f "${CONFIG_DIR}/mac-archive-rel.json-original")" -fi -export CONFIG - -if [ ! -f "${CONFIG}" ]; then - util_error "COULDN'T FIND ${CONFIG}" -fi -$NO_VERBOSE || echo "Found config: $CONFIG" - -$NO_VERBOSE || which python3 -if [[ -z "${PYTHON-""}" ]] && which python3 &> /dev/null; then - PYTHON="python3" -else - util_error "Couldn't find python3, set in path or set var PYTHON" -fi - -export PYTHONPATH="${MAIN_DIR}/toolchain/src/:${PYTHONPATH-""}" - -if $ASSESS; then - pushd "${MAIN_DIR}/toolchain/src/" - echo "$($PYTHON -c "$IMPORT; extract.match_json_to_directory('${CONFIG}','$SRC_DIR', missing=True, annotate=True, relative=False)")" - popd - exit 0 -fi -#echo -e "$($PYTHON -c "$IMPORT; extract.hello_world()")" - -# may not need to have platform/version branches here if we use different ${CONFIG} each time -if [[ "$PLATFORM" == "LINUX" ]]; then - $NO_VERBOSE || echo "IN LINUX" - if [[ "${CHROMIUM_VERSION_TAG}" == "126.0.6478.126" ]] || $TRY; then - strip -s "${SRC_DIR}/kaleido" - cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" - chmod +x "${BUILD_DIR}/kaleido" - FILES=$(echo -e "$($PYTHON -c "$IMPORT; \ -extract.match_json_to_directory('\ -${CONFIG}', \ -'$SRC_DIR', \ -missing=False, annotate=False, relative=True)")") - $NO_VERBOSE || echo "Found files: $FILES" - OLDIFS=$IFS - IFS=$'\t' - for f in $FILES; do - $NO_VERBOSE || echo "Processing file: $f" - $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" - $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" - MKDIR_PATH="${BUILD_DIR%/}/${f#/}" - $NO_VERBOSE || echo "First mkdir path: ${MKDIR_PATH}" - if [ ! -d "${MKDIR_PATH}" ]; then - MKDIR_PATH="$(dirname "${MKDIR_PATH}")" - fi - MKDIR_PATH+="/" - $NO_VERBOSE || echo "For creating its directory: ${MKDIR_PATH}" - SRC_PATH="${SRC_DIR}${f}" - $NO_VERBOSE || echo "To copy: ${SRC_PATH}" - mkdir -p "$MKDIR_PATH" - cp -r "${SRC_PATH}" "${MKDIR_PATH}" - $NO_VERBOSE || echo - done - IFS=$OLDIFS - fi - # all linux, copy whole non-kernel lib - $NO_VERBOSE || echo "Running linux only copies" - for f in $(sed -nr 's/^.*=> (.*) \(.*/\1/p' <(ldd "${SRC_DIR}/kaleido")); do - mkdir -p "${BUILD_DIR}/lib/" - cp "${f}" "${BUILD_DIR}/lib/" - done - # manual - cp /usr/lib/x86_64-linux-gnu/nss/* "${BUILD_DIR}/lib/" - for f in libdl libpthread librt libm libgcc_s libc; do - rm "${BUILD_DIR}/lib/${f}"* || echo "No ${f} to remove, moving on..." - done - # done -fi - -if [[ "$PLATFORM" == "OSX" ]]; then - $NO_VERBOSE || echo "IN OSX" - cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" - chmod +x "${BUILD_DIR}/kaleido" - FILES=$(echo -e "$($PYTHON -c "$IMPORT; \ -extract.match_json_to_directory('\ -${CONFIG}', \ -'$SRC_DIR', \ -missing=False, annotate=False, relative=True)")") - $NO_VERBOSE || echo "Found files: $FILES" - OLDIFS=$IFS - IFS=$'\t' - for f in $FILES; do - $NO_VERBOSE || echo "Processing file: $f" - $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" - $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" - MKDIR_PATH="${BUILD_DIR%/}/${f#/}" - $NO_VERBOSE || echo "First mkdir path: ${MKDIR_PATH}" - if [ ! -d "${MKDIR_PATH}" ]; then - MKDIR_PATH="$(dirname "${MKDIR_PATH}")" - fi - MKDIR_PATH+="/" - $NO_VERBOSE || echo "For creating its directory: ${MKDIR_PATH}" - SRC_PATH="${SRC_DIR}${f}" - $NO_VERBOSE || echo "To copy: ${SRC_PATH}" - mkdir -p "$MKDIR_PATH" - cp -r "${SRC_PATH}" "${MKDIR_PATH}" - $NO_VERBOSE || echo - done - IFS=$OLDIFS - cp "${MAIN_DIR}/vendor/src/out/Kaleido_${PLATFORM}_${TARGET_ARCH}/lib"*.dylib "${BUILD_DIR}/" -fi - -if [[ "$PLATFORM" == "WINDOWS" ]]; then - $NO_VERBOSE || echo "In windows" - pushd "${MAIN_DIR}/toolchain/src/" - cp "${SRC_DIR}/kaleido" "${BUILD_DIR}/kaleido" - chmod +x "${BUILD_DIR}/kaleido" - FILES=$(echo "$($PYTHON -c "$IMPORT; \ -extract.match_json_to_directory('\ -${CONFIG}', \ -'$SRC_DIR', \ -missing=False, annotate=False, relative=True)")") - $NO_VERBOSE || echo "Found files: $FILES" - OLDIFS=$IFS - IFS=$'\t' - for f in $FILES; do - $NO_VERBOSE || echo "Processing file: $f" - $NO_VERBOSE || echo "SRC_DIR: ${SRC_DIR}" - $NO_VERBOSE || echo "BUILD_DIR: ${BUILD_DIR}" - MKDIR_PATH="${BUILD_DIR%/}/${f#/}" - $NO_VERBOSE || echo "First mkdir path: ${MKDIR_PATH}" - if [ ! -d "${MKDIR_PATH}" ]; then - MKDIR_PATH="$(dirname "${MKDIR_PATH}")" - fi - MKDIR_PATH+="/" - $NO_VERBOSE || echo "For creating its directory: ${MKDIR_PATH}" - SRC_PATH="${SRC_DIR}${f}" - $NO_VERBOSE || echo "To copy: ${SRC_PATH}" - mkdir -p "$MKDIR_PATH" - cp -r "${SRC_PATH}" "${MKDIR_PATH}" - $NO_VERBOSE || echo - done - IFS=$OLDIFS - popd -fi -$NO_VERBOSE || echo "Done with platform specific, removing devtools js ui" -rm -rf "${BUILD_DIR}/gen/third_party/devtools-frontend/" # huge and i doubt we need it diff --git a/toolchain/src/10-extract_subscript.py b/toolchain/src/10-extract_subscript.py deleted file mode 100644 index f56be730..00000000 --- a/toolchain/src/10-extract_subscript.py +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env python3 -import os -import json -import glob -import itertools - -MAIN_DIR = os.environ['MAIN_DIR'] -CHROMIUM_VERSION_TAG = os.environ['CHROMIUM_VERSION_TAG'] -PLATFORM = os.environ['PLATFORM'] -TARGET_ARCH = os.environ['TARGET_ARCH'] -BUILD_DIR = os.environ['BUILD_DIR'] -SRC_DIR = os.environ['SRC_DIR'] - -def hello_world(): - print("Hello world!") - print(f"MAIN_DIR: {MAIN_DIR}") - print(f"CHROMIUM_VERSION_TAG: {CHROMIUM_VERSION_TAG}") - print(f"PLATFORM: {PLATFORM}") - print(f"TARGET_ARCH: {TARGET_ARCH}") - print(f"BUILD_DIR: {BUILD_DIR}") - print(f"SRC_DIR: {SRC_DIR}") - -def find_archive_name(archive): - title = None - if 'rename_dirs' in archive: - for pair in archive['rename_dirs']: - if pair['from_dir'] == '.': - title = pair['to_dir'] - break - if not title: - if 'gcs_path' in archive: - title = archive['gcs_path'] - return title - -def get_files_and_dirs_full_path(archive, src_dir): - files = archive['files'] if 'files' in archive else [] - files = [ src_dir + "/" + f for f in files ] - file_globs = archive['file_globs'] if 'file_globs' in archive else [] - file_globs = [ src_dir + "/" + file_glob for file_glob in file_globs ] - for file_glob in file_globs: - files.extend(glob.glob(file_glob)) - dirs = archive['dirs'] if 'dirs' in archive else [] # ruff - dirs = [ src_dir + "/" + d for d in dirs ] - return files, dirs - -def match_json_to_directory(config_file, src_dir, relative=True, exists=True, missing=False, annotate=False): - data = None - with open(config_file) as f: - data = json.load(f) - if not data: - raise ValueError(f"Couldn't find the file {config_file} to load") - for archive in data['archive_datas']: - title = find_archive_name(archive) - if not title: title = "unamed" - if annotate: print(" " + title) - files, dirs = get_files_and_dirs_full_path(archive, src_dir) - for f in itertools.chain(files, dirs): - if (os.path.exists(f) and exists): - if relative: - f = f.removeprefix(src_dir) - if annotate: - print(f"exists: {str(f)}") - else: - print(f, end="\t") - if (not os.path.exists(f) and missing): - if relative: - f = f.removeprefix(src_dir) - if annotate: - print(f"missing: {str(f)}") - else: - print(f, end="\t") - -# 1) load a json and begin processing it -# 2) list what files you can and can't find diff --git a/toolchain/src/11-extract_etc.sh b/toolchain/src/11-extract_etc.sh deleted file mode 100755 index cfb154e4..00000000 --- a/toolchain/src/11-extract_etc.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! -usage=( - "extract_etc is a collection miscellaneous copying into the build directory." - "Javascript happens in the next script, but this does about everything else." - "It should be a simple copy/paste script." - "" - "Display this help:" - "extract [-h|--h]" - "" - "" -) - -FLAGS=() -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -util_get_version -util_export_version - -$NO_VERBOSE || echo "Running 11-extract.sh" -mkdir -p "$BUILD_DIR" -$NO_VERBOSE || echo "We do not clean build dir, run 10-extract.sh for that" - -# just making sure to litter these files everywhere at every step -cp "${MAIN_DIR}/src/kaleido/version" "${MAIN_DIR}/src/kaleido/LICENSE.txt" "${MAIN_DIR}/src/kaleido/CREDITS.html" "${BUILD_DIR}" || echo "Missing some meta files, ignoring issue." - - -mkdir -p "${BUILD_DIR}/etc" -if $NO_VERBOSE; then - unzip -qq "${MAIN_DIR}/vendor/mathjax/"*.zip -d "${BUILD_DIR}/etc/" -else - unzip "${MAIN_DIR}/vendor/mathjax/"*.zip -d "${BUILD_DIR}/etc/" -fi -mv "${BUILD_DIR}/etc/Mathjax-"* "${BUILD_DIR}/etc/mathjax/" - - - -# linux copies a bunch of other stuff -- truly not sure how necessary this is -if [[ "$PLATFORM" == "LINUX" ]]; then - $NO_VERBOSE || echo "Running linux specific font copies" - mkdir -p ${BUILD_DIR}/etc/ - cp -r /etc/fonts/ ${BUILD_DIR}/etc/fonts - mkdir -p ${BUILD_DIR}/xdg - cp -r /usr/share/fonts/ ${BUILD_DIR}/xdg/ -fi diff --git a/toolchain/src/12-build_js.sh b/toolchain/src/12-build_js.sh deleted file mode 100755 index 74117c8e..00000000 --- a/toolchain/src/12-build_js.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - - -# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! -usage=( - "build_js will run npm build commands in the js src repo and copy the build artifacts" - "into our build directory." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "extract [-h|--h]" - "" - "" -) - -FLAGS=() -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -util_get_version -util_export_version - -$NO_VERBOSE || echo "Running 12-build_js.sh" - -export SRC_DIR="${MAIN_DIR}/src/kaleido/js/" - -pushd "${SRC_DIR}" -mkdir -p build/ -rm -rf node_modules/ -if $NO_VERBOSE; then - npm install --silent - npm run --silent clean - npm run --silent build -else - npm install - npm run clean - npm run build -fi -popd - -mkdir -p "${BUILD_DIR}/js/" -cp -r "${SRC_DIR}/build/"*.js "${BUILD_DIR}/js/" diff --git a/toolchain/src/13-roll_wheel.sh b/toolchain/src/13-roll_wheel.sh deleted file mode 100755 index 49fdbe74..00000000 --- a/toolchain/src/13-roll_wheel.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - - -# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! -usage=( - "roll_wheel runs setup.py and creates the python wheel. You made it!" - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "extract [-h|--h]" - "" - "" -) - -FLAGS=() -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -util_get_version -util_export_version - -$NO_VERBOSE || echo "Running 12-roll_wheel.sh" -echo -echo -echo "This part is never silent." -echo -echo -python3 -m pip install setuptools -export KALEIDO_ARCH="$TARGET_ARCH" -pushd "${MAIN_DIR}/src/kaleido/py" -python3 setup.py package -popd - -# command, after package -mkdir -p "${MAIN_DIR}/build/" -cp "${MAIN_DIR}/src/kaleido/py/dist/"* "${MAIN_DIR}/build/" - -# linux called bundle_hash_artifacts diff --git a/toolchain/src/include/globals b/toolchain/src/include/globals deleted file mode 100644 index 7f955a26..00000000 --- a/toolchain/src/include/globals +++ /dev/null @@ -1,31 +0,0 @@ -export TARGET_ARCH=${TARGET_ARCH:-x64} -# could add verification here for x64. arm64, and arm (linux only... arm w/o 64 is beyond unlikely) - -export CPUS=${CPUS:-1} - -# Add depot_tools to our path, -if [[ "$PLATFORM" == "WINDOWS" ]]; then - export PATH="$MAIN_DIR/vendor/depot_tools/bootstrap:$MAIN_DIR/vendor/depot_tools/:$PATH" - $NO_VERBOSE || echo "Modified path to add future depot_tools/bootstrap/ directory" -elif [[ "$PLATFORM" == "LINUX" ]]; then - export PATH="$MAIN_DIR/vendor/depot_tools:$PATH" - $NO_VERBOSE || echo "Modified path to add future depot_tools/ directory" -elif [[ "$PLATFORM" == "OSX" ]]; then - export PATH="$MAIN_DIR/vendor/depot_tools:$PATH" - $NO_VERBOSE || echo "Modified path to add future depot_tools/ directory" -fi - -export DEPOT_TOOLS_UPDATE=0 # don't automatically checkout main when sync'ing depot_tools -export DEPOT_TOOLS_WIN_TOOLCHAIN=0 # we install our windows sdk's manually (automatic is for googlers only) - -export BUILD_DIR="${MAIN_DIR}/src/kaleido/py/kaleido/executable/" -# don't call it build it conflicts with python's machinery - -globals_clean_build_dir() -{ - if [[ ! -d "$BUILD_DIR" ]]; then - mkdir -p "$BUILD_DIR" - else - rm -rf "${MAIN_DIR}/src/kaleido/py/kaleido/executable/"* || echo "Nothing to remove?" - fi -} diff --git a/toolchain/src/include/utilities.sh b/toolchain/src/include/utilities.sh deleted file mode 100644 index 1839ccbd..00000000 --- a/toolchain/src/include/utilities.sh +++ /dev/null @@ -1,140 +0,0 @@ -#!/bin/bash - -if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then - echo "To include utilities.sh, don't execute it- source it" - exit 1 -fi - -### -### SETTING BASH MODES ### -### - -# It's good to put this at the tope of the script anyway - -set -e # exit whole script on any error -set -u # don't allow undefined env var expansion - -### -### DEFINING UTILITY FUNCTIONS ### -### - -# util_error will take a string as an argument and print it to error, and quit -util_error() -{ - echo -e "Error: $@" >&2 - exit 1 -} - -# util_get_version will load the version in .set_version or try to find it in env vars -util_get_version() -{ - if test -f "$MAIN_DIR/.set_version"; then - . "$MAIN_DIR/.set_version" - elif [[ -z "${DEPOT_TOOLS_COMMIT:-}" ]] || [[ -z "${CHROMIUM_VERSION_TAG:-}" ]]; then - util_error "Couldn't find or set env vars for versions, please run set_version." - fi -} - -# util_export_version will simple export the version variables for use in subshells -util_export_version() -{ - export CHROMIUM_VERSION_TAG - export DEPOT_TOOLS_COMMIT -} - -### -### FLAGS -### - -if [[ -z "${usage-}" ]]; then - util_error "The script author must create a \`usage\` string-array prior to calling utilities.sh or flags.sh" -fi - -if [[ ! "$(declare -p FLAGS)" =~ "declare -a" ]] || [[ ! "$(declare -p ARGFLAGS)" =~ "declare -a" ]]; then - util_error "The script author must at least declare a FLAGS and ARGFLAGS array. FLAGS=(); ARGFLAGS=();" -fi - -declare -A ARGS -NO_VERBOSE=true -while (( $# )); do - case $1 in - -h|--help) printf "%s\n" "${usage[@]}"; exit 0 ;; - -v|--verbose) NO_VERBOSE=false ;; - *) - if [[ "${1}" == -* ]]; then - if [[ " ${FLAGS[*]} " =~ " ${1} " ]]; then - ARGS["${1}"]=true - elif [[ " ${ARGFLAGS[*]} " =~ " ${1} " ]]; then - KEY="${1}"; shift - ARGS["$KEY"]="${1}" - elif [[ "${1}" == "--" ]]; then - shift - ARGS[":"]="${@}" - break 1 - else - util_error "Unknown flag: \"${1}\". See --help." - fi - elif [[ " ${FLAGS[*]} " =~ " : " ]]; then - ARGS[":"]="${@}" - break 1 - else - util_error "Unknown argument: ${1}. See --help" || true - fi - ;; - esac - shift -done - -# flags_resolve checks several keys and returns the first one that has a value -flags_resolve() -{ - DEFAULT="$1" - shift - while (( $# )); do - [[ -v ARGS["$1"] ]] && echo "${ARGS[$1]}" && return || true - shift - done - echo "$DEFAULT" -} - -$NO_VERBOSE || printf "Flags:\n%s\n" "${!array[@]}" "${array[@]}" | pr -2t - -### -### DETERMING PLATFORM AND OS ### -### - -# The following code tries to determine what operating system we're running -PLATFORM="" -case "$OSTYPE" in - solaris*) PLATFORM="SOLARIS" ;; - darwin*) PLATFORM="OSX" ;; - linux*) PLATFORM="LINUX" ;; - bsd*) PLATFORM="BSD" ;; - msys*) PLATFORM="WINDOWS" ;; - cygwin*) PLATFORM="WRONG_WINDOWS" ;; # our scripts should always return msys - *) PLATFORM="$OSTYPE" ;; -esac - -$NO_VERBOSE || echo "Found platform: $PLATFORM from OSTYPE $OSTYPE" - -if ! [[ "$PLATFORM" =~ ^(OSX|LINUX|WINDOWS)$ ]]; then - util_error "$PLATFORM is not a supported platform for building." -fi -$NO_VERBOSE || echo "Found platform: $PLATFORM" - -### -### FIND THE GIT DIRECTORY ### -### - -export MAIN_DIR="${MAIN_DIR-$(git rev-parse --show-toplevel)}" -$NO_VERBOSE || echo "Found main dir: ${MAIN_DIR}" -$NO_VERBOSE || git -C "${MAIN_DIR}" log -1 --oneline - -if [[ "$MAIN_DIR" == "" ]] || [[ "$MAIN_DIR" == "/" ]]; then - util_error "git rev-parse returned an empty directory, are we in a git directory?" -fi - -mkdir -p "$MAIN_DIR/vendor" - - -. "$MAIN_DIR"/toolchain/src/include/globals diff --git a/toolchain/src/xx-all.sh b/toolchain/src/xx-all.sh deleted file mode 100755 index 264730f1..00000000 --- a/toolchain/src/xx-all.sh +++ /dev/null @@ -1,194 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! -usage=( - "all is a shortcut to running the scripts. If the first argument is a number, -0:, -1:, -2:, it will run that stage." - "Anything besides that or after that will be passed to the command or every command run." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "all [-h|--h]" - "" - "Example: You can specify a specific stage and its flags. The following are equivalent:" - "all -0 -- --latest" - "set_version --latest" - "" - "Or, you can skip the number and everything will be passed to every command." - "So, it really only works with --verbose." - "" - "-0 set_version - just sets some env vars for versions" - "-1 fetch_tools - clones depot_tools" - "-2 init_tools - runs whatever depot_tools downloads it wants" - "-3 ksync - downloads chromium" - "-4 patch_chromium - patches chromium w/ our patches" - "-5 gen_preamble - copies readme, licenses, etc" - "-6 build_ninja - prepares gn and runs gn gen to build ninja" - "-7 write_kversion - writes a version text file for kaleido" - "-8 sync_cpp - will sync kaleido c++ do chromium src" - "-9 build_kaleido - builds kaleido's c++" - "-10 extract - attempts to extract our build from chromium src folder" - "-11 extract_etc - moves extraneous, extra, and vendor deps into the build folder" - "-12 build_js - uses npm to build js and move to build folder" - "-13 roll_wheel - build python wheel" -) - -FLAGS=(":" "-0" "-1" "-2" "-3" "-4" "-5" "-6" "-7" "-8" "-9" "-10" "-11" "-12" "-13") -ARGFLAGS=("") - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -ZERO=$(flags_resolve false "-0") -ONE=$(flags_resolve false "-1") -TWO=$(flags_resolve false "-2") -THREE=$(flags_resolve false "-3") -FOUR=$(flags_resolve false "-4") -FIVE=$(flags_resolve false "-5") -SIX=$(flags_resolve false "-6") -SEVEN=$(flags_resolve false "-7") -EIGHT=$(flags_resolve false "-8") -NINE=$(flags_resolve false "-9") -TEN=$(flags_resolve false "-10") -ELEVEN=$(flags_resolve false "-11") -TWELVE=$(flags_resolve false "-12") -THIRTEEN=$(flags_resolve false "-13") - -ALL=true -if $ZERO || $ONE || $TWO || $THREE || $FOUR || $FIVE || $SIX || $SEVEN || $EIGHT || $NINE || $TEN || $ELEVEN || $TWELVE || $THIRTEEN; then - $NO_VERBOSE || echo "Turning off ALL" - ALL=false -fi - -$NO_VERBOSE || echo "Running xx-all.sh" -$NO_VERBOSE || echo "Running all? $ALL" - -# check for something in path before running -if $ZERO || $ALL; then - $NO_VERBOSE || echo "Running 0" - if $(which set_version &>/dev/null); then - set_version $(flags_resolve "" ":") - else - $SCRIPT_DIR/00-set_version.sh $(flags_resolve "" ":") - fi -fi - -if $ONE || $ALL; then - $NO_VERBOSE || echo "Running 1" - if $(which fetch_tools &>/dev/null); then - fetch_tools $(flags_resolve "" ":") - else - $SCRIPT_DIR/01-fetch_tools.sh $(flags_resolve "" ":") - fi -fi - -if $TWO || $ALL; then - $NO_VERBOSE || echo "Running 2" - if $(which init_tools &> /dev/null); then - init_tools $(flags_resolve "" ":") - else - $SCRIPT_DIR/02-init_tools.sh $(flags_resolve "" ":") - fi -fi - -if $THREE || $ALL; then - $NO_VERBOSE || echo "Running 3" - if $(which ksync &> /dev/null); then - ksync $(flags_resolve "" ":") - else - $SCRIPT_DIR/03-ksync.sh $(flags_resolve "" ":") - fi -fi - -if $FOUR || $ALL; then - $NO_VERBOSE || echo "Running 4" - if $(which patch_chromium &> /dev/null); then - patch_chromium $(flags_resolve "" ":") - else - $SCRIPT_DIR/04-patch_chromium.sh $(flags_resolve "" ":") - fi -fi - -if $FIVE || $ALL; then - $NO_VERBOSE || echo "Running 5" - if $(which gen_preamble &> /dev/null); then - gen_preamble $(flags_resolve "" ":") - else - $SCRIPT_DIR/05-gen_preamble.sh $(flags_resolve "" ":") - fi -fi - -if $SIX || $ALL; then - $NO_VERBOSE || echo "Running 6" - if $(which build_ninja &> /dev/null); then - build_ninja $(flags_resolve "" ":") - else - $SCRIPT_DIR/06-build_ninja.sh $(flags_resolve "" ":") - fi -fi - -if $SEVEN || $ALL; then - $NO_VERBOSE || echo "Running 7" - if $(which write_kversion &> /dev/null); then - write_kversion $(flags_resolve "" ":") - else - $SCRIPT_DIR/07-write_kversion.sh $(flags_resolve "" ":") - fi -fi - -if $EIGHT || $ALL; then - $NO_VERBOSE || echo "Running 8" - if $(which sync_cpp &> /dev/null); then - sync_cpp $(flags_resolve "" ":") - else - $SCRIPT_DIR/08-sync_cpp.sh $(flags_resolve "" ":") - fi -fi - -if $NINE || $ALL; then - $NO_VERBOSE || echo "Running 9" - if $(which build_kaleido &> /dev/null); then - build_kaleido $(flags_resolve "" ":") - else - $SCRIPT_DIR/09-build_kaleido.sh $(flags_resolve "" ":") - fi -fi - -if $TEN || $ALL; then - $NO_VERBOSE || echo "Running 10" - if $(which extract &> /dev/null); then - extract $(flags_resolve "" ":") - else - $SCRIPT_DIR/10-extract.sh $(flags_resolve "" ":") - fi -fi - -if $ELEVEN || $ALL; then - $NO_VERBOSE || echo "Running 11" - if $(which extract_etc &> /dev/null); then - extract_etc $(flags_resolve "" ":") - else - $SCRIPT_DIR/11-extract_etc.sh $(flags_resolve "" ":") - fi -fi - -if $TWELVE || $ALL; then - $NO_VERBOSE || echo "Running 12" - if $(which build_js &> /dev/null); then - build_js $(flags_resolve "" ":") - else - $SCRIPT_DIR/12-build_js.sh $(flags_resolve "" ":") - fi -fi - -if $THIRTEEN || $ALL; then - $NO_VERBOSE || echo "Running 13" - if $(which roll_wheel &> /dev/null); then - roll_wheel $(flags_resolve "" ":") - else - $SCRIPT_DIR/13-roll_wheel.sh $(flags_resolve "" ":") - fi -fi diff --git a/toolchain/src/xx-kdocker.sh b/toolchain/src/xx-kdocker.sh deleted file mode 100755 index 3726e5bf..00000000 --- a/toolchain/src/xx-kdocker.sh +++ /dev/null @@ -1,168 +0,0 @@ -#!/usr/bin/env bash -# This is a script to help get us into a workable dev-environment inside a docker container -# ⚠️⚠️⚠️ HERE BE DRAGONS ⚠️⚠️⚠️ -# \****__ ____ -# | *****\_ --/ *\-__ -# /_ (_ ./ ,/----' -# \__ (_./ / -# \__ \___----^__ -# _/ _ \ -# | _/ __/ )\"\ _____ *\ -# |\__/ / ^ ^ \____ ) -# \___--" \_____ ) -# -# ASCII Credit: IronWing - -set -e -set -u - -# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! - -IMAGE="${IMAGE-cimg/python:3.12.3}" -usage=( - "kdocker is convenience script to start dockers for building on linux." - "" - "You need to be in the docker group to run kdocker. kdocker 1) pulls an image 2) adds" - "the user who ran kdocker, 3) mounts the project directory to /usr/share/kaleido." - "See bottom for tips on detaching and reattaching to the docker." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "kdocker [-h|--h]" - "" - "kdocker [-u USER] [-i|--image IMAGE] [-d|--detach] COMMAND" - "" - "-u|--user USER If you are running kdocker as sudo, you can use this to specify which" - " user you normally are." - "" - "-i|--image IMAGE IMAGE will be used instead of the default, $IMAGE." - " If this is not the same as circle-ci, please submit a pull request" - " updating this script" - "" - "-d|--detach This will run the container and immediately detach." - " The container will also exit immediately after finishing." - "" - "-c|--copy This will reclone your git project to ~/kaleido and also patch over" - " all uncommited, staged and unstaged, tracked changes. Untracked changes" - " will not be cloned over. " - " Hint: Use \`git add -N PATH\` to track files without staging them for commit." - " Hint: Don't work out of the clone ~/kaleido directory." - " Hint: Its easier to push outside of docker." - " Hint: Use \`krefresh\` to re-clone/patch ~/kaleido after changes." - " Hint: If you use -c (or \`krefresh\`), kaleido build commands (set_version, etc)" - " will always be run from ~/kaleido, not /usr/share/kaleido. So all changes" - " need to be \`krefresh\`ed." - "Docker tips:" - " Ending the first session will always end the docker. \`ctl+d\` will exit bash and session." - " \`ctl+p ctl+q\` (instead of \`ctl+d\`) will leave bash running. You can reattach to (only)" - " the first session with: \`docker attach CONTAINER_NAME\`. Containers can be listed with" - " \`docker container ls\`. You can get a new secondary session with:" - " \`docker exec --user \$USER -it CONTAINER_NAME bash\`." -) - -FLAGS=(":" "-c" "--copy" "-d" "--detach") -ARGFLAGS=("-i" "--image" "-u" "--user") - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -$(flags_resolve "false" "-d" "--detach") && DETACH=d || DETACH="" -$NO_VERBOSE || echo "Detach flag: '$DETACH'" - -COPY="$(flags_resolve "false" "-c" "--copy")" -$NO_VERBOSE || echo "Copy: $COPY" - -IMAGE=$(flags_resolve "${IMAGE}" -i --image) -$NO_VERBOSE || echo "Image: $IMAGE" - -LOCAL_USER=$(flags_resolve "${USER}" -u --user) - -$NO_VERBOSE || echo "Running xx-kdocker.sh" - -LOCAL_UID="$(id -u "$LOCAL_USER")" -$NO_VERBOSE || echo "User: $LOCAL_USER w/ ID $LOCAL_UID" - -# Set up mounting some of our directories into docker -VOLUME="$MAIN_DIR:/usr/share/kaleido" - -APT_CACHE="$MAIN_DIR/toolchain/tmp/apt_cache/" -mkdir -p "$APT_CACHE" -APT_VOLUME="$APT_CACHE:/var/lib/apt/lists/" - - -# COMMAND is what we run to set up the user and do some basics -COMMAND="sudo apt-get update; sudo apt-get install pip npm nodejs rsync; sudo useradd --uid=$LOCAL_UID --shell /bin/bash --create-home $LOCAL_USER; echo '$LOCAL_USER ALL=NOPASSWD: ALL' | sudo tee -a /etc/sudoers.d/50-circleci &> /dev/null; " - -# USER_COMMAND is what we run once we are logged in as the intended user, -# including the actual user's desired command -# \$PATH means we don't want to expand path now, but in docker, it makes it to USER_COMMAND as $PATH, literally -USER_COMMAND="export PATH=/home/$LOCAL_USER/kaleido/bin:\$PATH; " - -# ":" is the bash noop, it is also the key for extra user arguments -# so this prints ":" if it can't find an argument of key ":" -USER_COMMAND+="$(flags_resolve ":" ":"); " # if the user passed \$VAR, it will make it to USER_COMMAND as $VAR, literally - -# Let's grab the users git config so they can use it in docker. -# We could mount, but we copy -# They won't have ssh though, so only commit, no push -gitconfig="$(cat /home/$LOCAL_USER/.gitconfig)" - -# Some short cuts to make this less or maybe more readable -sudo="sudo sudo -u $LOCAL_USER" # will throw background errors in docker, is fine -silence="1> /dev/null" -if ! $NO_VERBOSE; then - silence="" -fi -bash_login="/home/$LOCAL_USER/.bash_login" -temp_script="/home/$LOCAL_USER/.temp_script.sh" - -# Understanding bash expansion rules: -# KEY="value" -# -# echo "$KEY" -# value -# -# echo '$KEY' -# $KEY -# -# echo "'$KEY'" -# 'value' -# -# So while $USER_COMMAND is expanded to the bash command, -# When it is echos, it will be between '', so it will echo literaly to the file -# Which will later be executed, and then will be expanded -COMMAND+="\ - echo '$USER_COMMAND' | $sudo tee -a $temp_script $silence; \ - echo 'touch $temp_script' | $sudo tee -a $bash_login $silence; \ - echo '. $temp_script' | $sudo tee -a $bash_login $silence; \ - echo 'rm -f $temp_script &> /dev/null' | $sudo tee -a $bash_login $silence; \ - echo '$gitconfig' | $sudo tee -a /home/$LOCAL_USER/.gitconfig $silence; " - -COMMAND+="sudo ln -s /usr/share/kaleido/toolchain/src/xx-krefresh.sh /usr/bin/krefresh $silence; " -COMMAND+="sudo chmod o+rx /usr/bin/krefresh; " - -if $COPY; then - $NO_VERBOSE || echo "Copy set" - COMMAND+="echo 'export MAIN_DIR=\"/home/$LOCAL_USER/kaleido\"' | $sudo tee -a $bash_login $silence; " - if $NO_VERBOSE; then - COMMAND+="$sudo krefresh -q -a --force &> /dev/null; " - else - COMMAND+="$sudo krefresh -q -a --force; " - fi -fi -COMMAND+="\ - $sudo cp $bash_login ${HOME}/.bash_login.log; \ - $sudo cp $temp_script ${HOME}/.temp_script.sh.log; " - -COMMAND+="sleep 1; sudo -E su - $LOCAL_USER; " - -$NO_VERBOSE || echo -e "User Command Set:\n$USER_COMMAND" -$NO_VERBOSE || echo -e "Command Set:\n$COMMAND" - -$NO_VERBOSE || echo "Pulling $IMAGE" -docker pull "$IMAGE" || echo "Error, but maybe it's a local image" - -$NO_VERBOSE || set -x # to print out the line w/o rewriting it -docker container run -e "TERM=$TERM" --rm -it$DETACH -v "$APT_VOLUME" -v "$VOLUME" "$IMAGE" bash -c "$COMMAND" diff --git a/toolchain/src/xx-krefresh.sh b/toolchain/src/xx-krefresh.sh deleted file mode 100755 index 8c9d38cc..00000000 --- a/toolchain/src/xx-krefresh.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -if test -d /usr/share/kaleido; then - : -else - echo "Only run from within docker from kdocker 1>&2" - exit 1 -fi -( - cd /usr/share/kaleido - usage=( - "krefresh is a utility to incremently modify the kaleido repository without necessarily prompting a full rebuild." - "It is only to be used within kdocker, and is better to be used with '-c|--copy'" - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "krefresh [-h|--h]" - "" - "Skip confirmation" - "krefresh [-f|--force]" - "" - "Completely erase ~/kaleido and replace" - "krefresh [-a|--all]" - "" - ) - - FLAGS=("-q" "-f" "--force" "-a" "--all") - ARGFLAGS=() - - . "/usr/share/kaleido/toolchain/src/include/utilities.sh" - - FORCE="$(flags_resolve false "-f" "--force")" - ALL="$(flags_resolve false "-a" "--all")" - QUIET="$(flags_resolve false "-q")" - - $NO_VERBOSE || echo "Running xx-krefresh.sh" - - REPLY='Y' - if ! $FORCE; then - read -p "Are you sure? (Y/n)" -n 1 -r - echo - else - $NO_VERBOSE || echo "Skipped confirmation" - fi - - if [[ ! "$REPLY" =~ ^[Yy]$ ]] && [[ "$REPLY" != "" ]]; then - $NO_VERBOSE || echo "Cancelled" - exit 0 - fi - if $QUIET; then - exec &>/dev/null - fi - - if $ALL; then - $NO_VERBOSE || echo "Erasing ${HOME}" - rm -rf ${HOME}/kaleido - fi - - if test -d ${HOME}/kaleido/.git; then - $NO_VERBOSE || echo "Cleaning.." - git -C ${HOME}/kaleido/ clean -fdd - $NO_VERBOSE || echo "Restoring..." - git -C ${HOME}/kaleido/ restore . - $NO_VERBOSE || echo "Pulling" - git -C ${HOME}/kaleido/ pull - - else - $NO_VERBOSE || echo "cloning..." - git clone /usr/share/kaleido ${HOME}/kaleido - fi - $NO_VERBOSE || echo "calculating diff..." - git -C /usr/share/kaleido diff -p HEAD > ${HOME}/.git_patch_1 - $NO_VERBOSE || echo "patching..." - git -C ${HOME}/kaleido apply ${HOME}/.git_patch_1 --allow-empty - if ! $QUIET && [[ "${MAIN_DIR}" == "/usr/share/kaleido" ]]; then - echo " !!!! Set the main github repo to the copy clone!!!!!" - echo " All temporary files should be copied there, keep your main clone clean." - echo "" - echo " export MAIN_DIR=\"${HOME}/kaleido\"" - echo " !!!!" - fi - bash -c "NO_VERBOSE=$NO_VERBOSE cd ${HOME}/kaleido && ./toolchain/src/xx-make_bin.sh -n" - if ! $QUIET; then - echo "The following files were not copied over as they are untracked (git add -N...):" - git -C /usr/share/kaleido ls-files --others --exclude-standard - echo "/end list" - fi -) diff --git a/toolchain/src/xx-make_bin.sh b/toolchain/src/xx-make_bin.sh deleted file mode 100755 index 5a6627b8..00000000 --- a/toolchain/src/xx-make_bin.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! -usage=( - "xx-make_bin.sh will create shortcuts to the utilties and tell you how to set your path." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "xx-make_bin [-h|--h]" - "" - "You can skip the path recommendation:" - "xx_template [-n|--no-path]" -) -# Lets get main directory - -FLAGS=("-n" "--no-path") -ARGFLAGS=() - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -NO_PATH="$(flags_resolve false "-n" "--no-path")" - -$NO_VERBOSE || echo "Running xx-make_bin.sh" - -BIN_DIR="$(realpath $MAIN_DIR/bin)" - -# really awful way to make sure this is bash lol -bash -c '( - MAIN_DIR="$(git rev-parse --show-toplevel)" - if [[ "${MAIN_DIR}" == "" ]] || [[ "${MAIN_DIR}" == "/" ]]; then - echo "We need to be in the git directory." >&2 - exit 1 - fi - BIN_DIR="$(realpath $MAIN_DIR/bin)" - mkdir -p "${BIN_DIR}" - - make_link() - { - name="${1//[0-9x]*-/}" - name=${name%.sh} - echo "linking $MAIN_DIR/toolchain/src/$1 $BIN_DIR/$name" - ln -fs "../toolchain/src/$1" "$BIN_DIR/$name" - } - shopt -s extglob - for script in $MAIN_DIR/toolchain/src/[0-9]*-*.sh; do - make_link "$(basename -- $script)" - done - make_link "xx-kdocker.sh" - make_link "xx-all.sh" -)' - -if $NO_PATH; then exit 0; fi - -echo "You should run:" -echo "export PATH=\"${BIN_DIR}:\$PATH\"" diff --git a/toolchain/src/xx-template.sh b/toolchain/src/xx-template.sh deleted file mode 100644 index 56a4f8a2..00000000 --- a/toolchain/src/xx-template.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -set -e -set -u - -# Please do your flags first so that utilities uses $NO_VERBOSE, otherwise failure! -usage=( - "xx_template is a template: more description." - "" - "Usage (DO NOT USE --long-flags=something, just --long-flag something):" - "You can always try -v or --verbose" - "" - "Display this help:" - "xx_template [-h|--h]" - "" - "Something else you can do" - "xx_template [-l|--long]" -) - -FLAGS=("-l" "--long" "-f" "--full") # add ":" to accept variable arguments after flags -ARGFLAGS=("-t" "--target") # arg flags will take the following word as an argument - -SCRIPT_DIR="$( cd -- "$( dirname -- $(readlink -f -- "${BASH_SOURCE[0]}") )" &> /dev/null && pwd )" -. "$SCRIPT_DIR/include/utilities.sh" - -LONG="$(flags_resolve false "-l" "--long")" # will resolve true if existing, false if no -FULL="$(flags_resolve false "-f" "--full")" -TARGET="$(flags_resolve ${TARGET-""} -t --target)" # set double-layer default - -$NO_VERBOSE || echo "Running xx-template.sh" - - -util_get_version -util_export_version diff --git a/toolchain/version_configurations/108.0.5359.125 b/toolchain/version_configurations/108.0.5359.125 deleted file mode 100644 index e6a47e08..00000000 --- a/toolchain/version_configurations/108.0.5359.125 +++ /dev/null @@ -1,5 +0,0 @@ -CHROMIUM_VERSION_TAG="108.0.5359.125" -DEPOT_TOOLS_COMMIT="f9f61a9d" - -# used to be required for old versions -GCLIENT_PY3=0 diff --git a/toolchain/version_configurations/126.0.6478.126 b/toolchain/version_configurations/126.0.6478.126 deleted file mode 100644 index 803ba8b3..00000000 --- a/toolchain/version_configurations/126.0.6478.126 +++ /dev/null @@ -1,2 +0,0 @@ -CHROMIUM_VERSION_TAG="126.0.6478.126" -DEPOT_TOOLS_COMMIT="01e29c8" diff --git a/toolchain/version_configurations/88.0.4324.150 b/toolchain/version_configurations/88.0.4324.150 deleted file mode 100644 index 0ef89590..00000000 --- a/toolchain/version_configurations/88.0.4324.150 +++ /dev/null @@ -1,5 +0,0 @@ -CHROMIUM_VERSION_TAG="88.0.4324.150" -DEPOT_TOOLS_COMMIT="f9f61a9d" - -# Was required for older versions -GCLIENT_PY3=0 diff --git a/vendor/.gclient b/vendor/.gclient deleted file mode 100644 index 39a2e0f0..00000000 --- a/vendor/.gclient +++ /dev/null @@ -1,9 +0,0 @@ -solutions = [ - { - "name": "src", - "url": "https://chromium.googlesource.com/chromium/src.git", - "managed": False, - "custom_deps": {}, - "custom_vars": {}, - }, -] diff --git a/vendor/mathjax/Mathjax-2.7.5.zip b/vendor/mathjax/Mathjax-2.7.5.zip deleted file mode 100644 index 96576d23d384d25ccf1e351ed34ad28f9b38e794..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1931789 zcma&NQ?w}EmaVyLYcJcjZQHi@vTfVm%eHOXwr#Wae=@68JDIoLQ}GZH4>9BEn|+Ml zM})i-FbE33KSznVrsBVD{`&;?_bOxHWNvBTM#D(UM$1Ac|F36(03ZNZgdU_D8}~zO z-~j-1sQ~~`|JSq95<()fN+MgDT8SIYs6H<>{45J+*Dy3(7W1sriTgTimN-|_mO5;S zW5B`zNR|ou01i#(H8*X$q7of0CALp)NK%AwaMMRzI~=>vcWr!;x+z>F+ZT$?vR!V+ zW4`1Ujc0=^4=cg1nU|s#@cS1lH9hVQb2jMjY&E)9FCT4%zmJD)^jJERJ)eMnZR_oP zHKIi>CA)bxv}Y?o< z_iCQEsr6vme-Y$V*h?u#$_!MmNC@@n^vDM!24~BZamgZzEZ#Po3)wbu zsT0WJX(EN*g8h}i#T93`n(sS2uw}3(9DB0^~ZWR zz16Sjm5!@pvJ1|4jugHfQy~S_-OCN|9Ik1o`dkBLJu8W<))}fJr zy$I+cbdyLx7luzh=(Fa@rSXxgwMYTOYt#B0G|#TQ{SxjIr`5=soX^rq^R;es46YFl z5=dc=!%H#5FW(mPrw&cA)?HkifhRZB-bq?KQ`blkLvb3<5jq~g%&&$Fe0mOA_PzJ? zN*?aSrh<}Y$nNyP$d~zf0h0W3Pij8R4uXiL$nUzJ!4RnS?6Xc&12B$Td}~w&`JQi} z2xtxkxHgG5$#^i>&qg22jlCaB3krAHSd{}tU29ZOK#Oi42rd`bWMg2u79kg>KkL_i zVq~{k?E?|9lF@VO7?j%hIe6`UAd)!(8&?d#=0PXy=UEqVvw*x85e{cffpVoCe3VZZ z?l9$M#Aa|??arA)sy`sRl^-TRy2Vl;shS~5poLcs1SlFSs}~UB_LMuTyMg*qQlL1& zh1BXKa}r9ew5>CEN7nl%N-VJKQsN`sVBK5i6MaV4jd*7brfQSo$ft5wBMOE2FHX^l zN=vvn@GUaNO|X2>gTlnBb{N?e0O95o64Y?Qiuk!wGRZvWq_V`79m1p!OyA{$5e@_; z)(tw$Su*X?A_aI9);q`{yQ6gRIOA2;MkpU&$u~l&2tb9M-enoT-)uGjT-bqpitfp3zpEg?Wdkwe^D5(iZmc)NRI`F9Q8j?qw914D6L`mo4H?Xe5vfFTQ zmftrTNx7X_9Eu5cDrYPj(f2=A65#HUSFaqIi-M1BNPa-(&5*jFkf%C$Y#=@hk>|&b z)|wF^_E|Oqc}m5foO`)s^oxCR;&K`9no-Ev@DGkWn=91;o3KLdLy{K|5`z~#cq<}t zK5anUE$lWI0eU*NiS}m};Q`OBINqrhs{MZf5{_cYst;0Qd1vx{?dN}}F4nQT4{}2_-9kJy%qiu@mz8fUG z*>K3ft4kZbAB!;?=P-cgI*m;av>^$&{_%IE)lWYMm!>!82;q{9vOn>pK z4y?`gk{`Se5L^_?Y!}S|7vX0C==s#+M==6-ksbt;OX8s-PJ<*9LavSNudctrvSyP3 zmnEYja&cc87qzTqs}vV>xDegE#P`fjR8?|WMw=ybVwMbDPbK>f?g(OCbsAR_ z_T$qhj$c}+KLFk1-`sn*gg$2)%cMMMSuLOvtjdfuiT;l5iUTg}Pm7VocuY}=(+cN9 z9(^1BB1Ekmt*WxWCc%J-RmebmL-qxmk(wLr!g}%(`@NVF37}3*{)fE}k&+kOP8nI< z{zU7FxI}uIBghEUw{cKe07j|Kf*5QZB}3s4Mc$k^$FY>IzKS*uy~vy=fodUiP*nh( z(5=Wt0P`g>RY-vC@xJU)Vjjout#Kj2W+N0J>_z_#>DyC`6fs(Xb%@Mp00$JYQS;p& zQq@C?jY*PENMb5QDq%2*yd}yZ-D(+N9>kRwKOI}$!S3?}IZnaC-wJxlu^+H@6(K}~ z=0}TcE}^d{hq(#o1NLNhJjrvlC!`yR;B4WNMtH$rT=34+Aqb7|?E~z4*K;NtM1wVW2I~)Nq?OHiNM7Yt7mbQ@mCU9h za*6GyGsEw4MMrzV^N3LN3|FKl-J$<9QGsHOnkPA}${s0s^bng+ArP%T%E&8$;Urci z29qirq?|lC0gyOl+kr_Pv#Rtey$z$4sHXT|m?+WiU}e=QdM8l`@v9mK(Vge`Uw3Z<7HI7T8| z(5Fw0)Du)d{rs-m86#p$L{ff1dry!iUwwzej{g(>PJwN!oP1th2ixe3!~m$?`U8E< zJSHF-?jrQ;}KBzb-l8K?)!iSTl)AKKO@74MWTU zQ{y7&D97N|qS5tuJZ#9=Riv1=Kqh{^xY+dWR+uV5?!=HXo_mus^Oyuw)~13~g}vS; ziv&4&m^~xP#IVF+5mFlao`!|%o7B&9X%J{j+v_wpg3}?xBPd!j`if3sl2&}*>%eZ3 zu)#o;b=bqfDLIYz+KqeEpuAevFUEFBakQvX~tctcFLhY^@IqJ>Rak2NHd zQF?=>$yHrcoP|x0!>(M>3o*zdu5HkE@G=0rP=9C@>33d9K`-AcOkRvMPdQ_t8_>2n zLPhiZeb>DG&E5^rH;6nsM3|8Jq??lo1P6HW=2|oY=C)obgE!;~di_wFhA}hylj1X= z+50!q>7h{?9-IIcGwuB1SWB7e7ptYOXAtO?zg%r$qEy~(CR$C20#+^KZ446JsSaW$ zT-IXFq?r&aXwRFaT`@>)(Kq)mwRMGypw#B3SBOvKONTHC1eGo9R{x@DEUiiq;6o8h z-FcKsakz)Jn}qUTrBraRF8}QLy48X9e6%;doo{w@ zytLQXXcZqvPnw&XM=SSiH-m;x4X+;#&Y(_W53sjHvSK=%;iTGS^$Zr{_!)`geoElx z4r9uT2y04VphnwtH#>U2^q-a{j?TBX9G+G#{#2{I1izlWUth)M9_@!7eH?wwpa|Zi zyi{DU^zhc+GTQud-K~Yc`Q^I*Jg{{&^`22dvxCO!)&TJSQd?H61>T;%S8az$yUSta zQ4ycB;BOU1>lL(5M_|KBcVtoE*c*P^3RvAlWb9hJSSMpD|MF7F96d#+DVM1c)73M% z=SWXM>rrzg%I4(WJvdI~_w59H*2lP85fYM}OXRe^R!XvIEC2xeHkzxnAqxCKxnzQ9 z+YvcN&L-=_i*@r$8pW=7=M)x^Q_&{!Auv*QnC1;CQND#2@r~-tTo_k>knuCrRpLu$d-xgaAaMvZ7~(I|Bk7PXJbHeiu3gmDo`&XH~nZ%ua=%RN<^+;;)jBX1kn&x%X9tF7! zCt2zhvm@xXDpfzSALqQhOVPg2BRAO7scUYl((llkltO>>%qGZo=mv{VlnA#8svsQW zZm%VvlRmGzuVk0R3tV%0A7;eX3}ocuJtlFzm>``*HLu=CtEq0I8&QRh@lQSH5rN? z%zwAjJR}n6(7fFv^3)>sKxi z&-SWPQQ`mu1xm;k@C|H9f+BQ$o~UV9EZjBjSL+ahAQe>Ec{0g<)YjHczlOi__NNvL zyxq}(I$ti6aptGPNAlYjmA_l?k;RnH z$~kKFCl?wX|NU!jk{9K`uBlz&EE%<(05*eNn;rPb+%6iOdq9(+>+O-QCpQDZjdOd% zb0XMtg*`_?2+m>xXItHozHnkt5AOCv?GE}3)&qB|{#!Ek1HY_3#{!dAZeeAZ#`kAHnYJ{@{WC!1-iDK42JKA%5Rjr)O=pQCe2ig&^(-q5sRVCaW9#x?5AP z2PD~IES3JTq&3v{xnn&i)0ZyJn_fCH1mI(dPEl*Vpa8g#GsHUG$&fG zM&%<7b?kJ-js$`K9IXI9!Q&GoKw)e`cg_FkED#bP%2<#Zq&SA{Q;UadZzih5J-C~1 z4@96I28fG0AVGT-p^>|Z^^J#ukAqGyjhfx!a`+NcrQLC>)V}1yXHlO>gDK=Z0|swJ zrjcIyTV`ATj7UV zq$X5aWFwG5RbxCsc`>eL)^i|bDECHqlct5NsV6lRbYP`18F6mPG4GM_njC^3w))_ckI=wV>uxIICaqf~(&S0Yt*11(2a z1MO2J4PV@Gkygs@*PY2s)+iM3eb`f~3GH*k$CjNDr5|jHiK&Pr4NK^ZGK1ulU5fsw z-Uf5x_5`nn%I_uLr=-Vrj}XXm=*JM9Q@*{6nj=ONQp&UG5oN$burQmb)f9X#LqXcY zUu}#>ZAa}N#&3EC`3>&2jzp}Pqy#%-5#KWVl(-Otlw73pvt|}c{J_VUFmDD^?_@bE zGsI^gzSR*BHC`fPL7wav%4X1IW8_rXh>f{MhfG+=VCYsmLmRovv0zQ(nqPpMDKN9T zWPHeR!ttU=jX3Gt(;PKb%TWFuYVv(glD2|BcGBHt{>pr93hpI)#J*n{rwh(8U7(mP zAfW6JGZQg9!b>ET)AxNPFjNC2b_x#^SwbKpaT3nEI@odnnI1bklB0yk*}bR2a!mmc zQW@$kerHe{5M=7uhQ7PJ61RV_MAZZ9NY!}MYTz2^(E~V4UP>F59KAWN>;;V`tWDDZ z&pq-@u!1}Pisllmdk>Nq{|?r2b1vjQi$qZ?>45K67%*QAq##@8>k;Z5#E|kzj}3=v zeV}U4fmqN~his&GDvw1}kK9EkOs1`>o%AH6MW;K3rK@go_S+3B#CzpwBO2?|#p@UL z=?vKTsTNm3rk18`&d=B>I3WqEX%f1}$c@hrcPlEmk4H~CY&j{zqm2*VCeCXs$LnW5 zJov_QdO`b?OmK8gESf0d*vhShFFyfJ9-z+L=(thWi7o#8Anp;i09(}zB?3%_Pn)|V zxSqb#?BV+AyQh_PL76!Vi+8R;3>@s#Z2pWlo(a(>UM24K*watwQ1$|z4p_S*0lm|@s8^`_a z$Iqv)BltAc751#$wJo>?V~s4jKw60d>!YCG*L`pgkdhv`J-RYC7Q|HnOY2(VIGi)? zbgC8(g(7mKcv)fz`|jvyciONDGXy;Q_$;ECj#CRdyGph#$xRHqC_*-zr6;N&G6ES9 zDHnn#8HH3B+lk&}Vox+%36+i7@<fC!KZ;|fFqPcu_RX9{*-13Fpb>^b) zkEP$TOg>Iu0^V+ zi||I&3Ucwa<)vcC?R@f)D+zpOkCX+O$tL8%biZ$TUHdsSK3H-+^ylGSNS4*?g$jxV z9?ooHQ5u$}Va1kOcX2_lV+3k%KrpQrRxvETGyvtoaDs2OaJ;;nt2ULvC6jSGfH)UK zzcyAUuDq^|Sz`3u%w+t9&uOiW?6@pf{6WE&PDMK^WW~y&|Vs7Aul~000C+{GTeaqKJU7j0o*-V{a85+XGevuag>ed^#F^ zjvE03d^HpaI7mBw2Yx*Z3z|E@cqqQg*B#fCB-9g+-w1E~5+!>TK5FOZ z5#6=ZW7zdYh!w`z7FHH`pV%D2MJeix@r^`$byoQ^c_#1WvF~lLrjm>4>>A#LE?xH0 z;CQDBJ-0iVisxtcfeqR1(Nzrf{L^IFQLaf~+2+rCEICxM-3Pm>09yIr!l&XmVhdc? z=ByU-7W(I1&4=)d9>2O+a1`5fjLGaKXydPA)|<2)W;#m-uXa11x+tv15>*k+sBPoE z^|K_7!*2S84|D>RqqBr;A$g)v9+=;1Q!t+3o!T9Oaf5T^?FW^lxoKfRd?rY9%O6lU zj>07$q!ZyJJmPLJG)~!0mW-L)qCotz|71U5h69WEiZ{SfU#!aJUcA7nrV8^Q7h)r< z3YKxC4NA_sc25zVh9&<#(9Gnbm0|o&Q%$-upAkIlbL!U)N8v_vio{bt>!L}H4KZU3 z&ywW;=r7AM#fj$0TQg&lRp(OU*bpv2kLe+j=td@5gAWwmgG6OOfOM5 z*!3^s4XADPXhiE$D9`g;fS=M@UM^fXmmB=vNPUFX%kTY~STF)aBiV9P!F?WBJ~h%b zq4Pn}5orQzw+`D;nr#K$^->DTY-L%e)ND-sQ1D!!?;B9Z`3u}9{h%A859KD#KCgflFpn(@qHqH>9I}s4O$J5JF#?j z8mB{*ghE&}$j0Xw=WhRTm4_cE>|NT4N-G(YUy(y2dr26qa>Y@w)7oYOaFlw9+^4h zOUZbh3r65dx^==MobJUu29D09(uwHj>6G%au^hVsef?k-2xZ?wqaI-qgCN97`!f5c zQJu1hS?fL>7UXcw1d64|lxEbX(+i1?$N0x9W#ZR^&!Ei(u&8!klT$>V1sv5}cD#&s zzp~hX8Q85AL*XyOpT~nVo%rV?ucqlBK>>umfFnNR4V8s7=kiemC)|`hPJ2};#9^SQ zvh1L7Y8ridI@;}D6mWAU!xN7FQkem3W^GOYU89bDyL7}F^;dDP&C^PY;{}w*5jBjd zJB*~`60jEXl$t$Kf|%3%Q)6Kde<=neu5c6 zHDEUQ>^?iYBO<|S=8$%#shZA1#+bBVAK6sc{C>QUKp}5#FBE+JDhC6y9=i+r6<$~PW zm(dN$j%L@>&Voxn)9+L=!EXB~9PJxxZEJU{z7Kp>AXD(WnyXuE_P5Z<5dl8XQj+hb zpU0mbXFO?u>}p2}O5F|gvUK{K>0X^#vfDm>#-YHFMuiINicNU!DM|UvX#ylni~1PY zNrXo|-TVDCmIJB%iC*MnM7d;CPjt=hR_Ou^Y{+Y+70FLI#%_>j=!ST*EP+p-5D8G z7mDj^ys(7tZ%+VRWX0_Q(EC^YX9Tc^Z6+Lkk?N_jL2iOxI3tkk5r!;b9#@=FO82V_ zcF-XRzufXfRcrIRMAP*Pm1Sb6le5GaF0cI}>PD(l$tG7al+==R=S){46dPS4vK$i< z2=|aHc5ewGF{P0c@T~tmI=NHeo*n;PI+NJK4P8W5Pdz7?k-rs#qa1VL#NfPHg7|n* z7r6kFRra#&dD2<}m0pB|Vain7-k*?$Ql{*MGHo2dT_pFW#ReuS|UxA{96N zr)8FT{gK2(=MdH=&*KgJgiv27{gXlJ@`5(MS+g ztF)T^3i4=Gh8tdf^qu|_^6qg;|*IY4a4obq(-t8lF4tL3|~e@^e6ZGR5_%x32wP)<>t#~BY#b| z04B=L(7*6}Clz6YmHn*yl5{!-Un)*uKVYyc9sGHziZ8EaazoGF;fcZJ@GwK&!`YF% z&S@bK3N^axs`+{yky{XbVf%M@d_Qhn0e}DiTK~dB^B>_6wY70lGjOo6urYJ|7ez9* z|Ds4Oik$-$a7A%xnMYwn!9s@`Ly@Z71APG9Hpunt8tGE>?FOe?Ta4#%78Qu*;rJ?Z zWWe|79}xn*MZNlF!u=8~QV-KJ4^H5v_)(SU5TFU3jDFDvd(}=Rqq*-2w)X)2%hK1A z)BQURu_tCJI#Kkzs&Z(a6@_9#2xFtw189G?x4A7=)vkc0Vir_CSYjP=z=8Y=OJM_;Y($* z@uZ}PZ1I1DC=L1WJbwL_U*a8K`r$XM)TCyPAa>C20@H8Ysf(ybG4GttBN1kv$$H@e zW|0mYu0rgUHkgV7-soJtSe;VSUFoitZLARV4eR?36-2*#0|8ZiINn|DaU)7bS}Sh?2Onj5LjqlG4A6 zQC1dIpjDaWMONtnWg}b)j0K7cPo+T=S$~I;)W{#P#Jdl< zIP1C+gD7T6t#TLdl>o&gFs4%DkbfXjEc`sBr2XXo{i>ekW`xcPP(sD=E0tzMK&2KL zJZ@ajBu-+qHv|e~vqW7JAF^yc85A;|aM8HsN&qK%C1KN**zz~%0jO(I=SCKhz^X1= zO;yv;;y(}xQ>`g+zC;o&zDC-y#_qp`nY_rf)bkthAKXOzg^1UWTtk&|nYtN)g&dY} zWt61?bFGO~iqW;NG`cEyIE9SJh^30^W4J|^7~U67|0D>6EQ}xu=M`zt;If(8)xe>v zQ)ZV|y()kl@`Qm}jb2Ms%>ap(Xxlp&zdiKE!08C6-pUK%T54;uSFp?;rJ=x^VIK<- z%NfN)Qrbd@LXPY~@(`lULzu>$oLu2%lzC^lcChk@!d$F5I{nR)`Nq7E@AUqVX4>#9 zoLZ_euGqXq2t4_K(_0?r#T{VFgB#2eYI^YF)Z1=TDR@#a9HxOnU1#s&V^}6VlY$#w z_C^Pn{L*(IPOhU44h*Um_`xMmapKs= z#M$8!mv{^NEWN14Z|tRxJSzbV%1DkyN-^M=J_8b_?+YqiFCn8h&9rx9^cH}*)WM<9 zn1fua)iGf5tK8;MVq*g#5}<3QO6<4*>6`L|!f^ylhmGs}oZ%bsYfq#umxQ|nF3RoS z)A9IQxtS}=ZI);tG7GQuiI-MNAV-Lnfg;R3F^LyaDLl+uQbt{&6G#s+C51R`w5HEDbDstA zeSe#x9`?v0x(99+#kKm47*NZ-aDvi)PfURx+*tn%|Fn18FSdRzl~LNpNrpfEOf26V zwp+@<*?kMAPS4yP$Di4SLGYjCZJyhtusAV8FWt`vdVl1w_ILhWi(to{Mv?yNkS-Vi z0MUQcA`{zx@KL_8U7$z!+V0s$u~3X`FRWq)%zn;u$|S#7w}6BJfoL0JVPSWMdV<{k(qLdRv=o_`#sL<@1v=RkK~yAyys-`RSupV-ytWxvf|W7%ty5 z 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/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�|NOoGM(9{H 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�ga`&1nngLE^akL4c_2|c zycn^8NHHuhvPzL{M9%) zSiU2AST3p<7c>ZzYKVI3nc4A&%GUW6b-cYf^cSNa{|}+L);R?(pH@3oi~p&s;A1~S z@!$b*24aXxF@piOFQ-0{S`DAFOfQh40kk$_h!AIfCM(^89=A;|0&U?q#(dA5a%a#Y zB1C29&mS)}EuD|LD-@lJX)B)GBYJEhsefWs zv{)djOsj*57I5SA%UlkS4L5RliR~~`3KTm^7j4QPJ*X_NMXi~&1(4j8XQ*3kM5vas zWh`=fjPxAewP$nAz$juidu;*RA@LcWlQYZJ)>ZIw5%OO&YxD4d<^p%X&7W$H^E`}a zq$-kUBS0z_rRkkuU){e!qc!Nkwd;I1MPU$`k;Rd_t?^rq;?>i3bu1b;YyvYgf)K;kJ~8xZjFQ5~vd-As`zOGL#hu&S*>}Il^r*{s0Po z*7a2+JY)hd|L{-a?lg{>SYBkWwt5v-Gq7C^6|8rXI;VX#XbRL$LTRr9V?8E`3xU<`w-AfTx-2KM zT#!XcCXpu|@#R7dhNX2cXL z%0>xRDBTp?NPdxuhv~yVN;b0%ESW!Z?5n{!$?fIEaZjcsw81o`L2<^KoaA*YZRCnP zw0sFiRd*<8E-aeoA#nGab!oMLa=97c2%0T|p^RZ6gu zm6@<&x42`Co%dc*PD^#ntd_Op zyZp<5W(3W~NY!Qb9mO8mg1a;{9wA8BD2c_?Az?10Cv}w!n)`H%>j}J$0x0vWEhXW6 zvzQ1QUzRAuHVCWoD>;}8rD1Ijryc^t^)L7m_g^cBxl~DOVY>iBrci|MhKQxw-F&bj z*oYaTD#*ph#i6~E4%T82(Gbug`ErMr8~%8{IG~EDHyx;#2L+(^l-51hECd~;8z=OH zAZIcYtUTJQ9Ev3)e;(NFyTI0d;PlOLRN1SD39lQ?->SKdOrGN)VZQsm-4PYxAdl1% zuKKskp%d@a7|yJlv03f&C}x({~wLD@AaxYiS)uLj;L^C~?GWd$kH?4Y8zZJtHFerD=jTZ>sW_cWB4=E&Q`e@%Xg&Zv_
        =SMG@S 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 g(r4{8b|9~IcwNXRFD@qU4TvQq8t_8B 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 z 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­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�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 Mbiw7dbaEBRJj<`n&{b0=000?YQP+ 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�s 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

        hg@;H3< -W0[\i=@*,["rr56E=:`E0*LCrV1IXX"`%?X/XW]W,,A1pEEOm4FptAfJKI8BD2f_R -13S_Q)^FX==0"oFFU@[(&VjJL=6>77_-h,Gd5ePTN94P3Bk"S="B<85-ZrVq0=pn&;am_,7eQoQdYYl6(n/r6nKF!fg.1 -!=*+**Q,YnNs:J%L7eklK+%tn+]&>23/%I/&2AcE_d\W<`%C)jdFrq?GAdZB,o9rC -JoJFF!=3l\5^5PM^c3NkW#?;#>f,Aa/7A[[NrriN6/KK\*J6m1%09uV"b;aG/7:RG -&Bl=$Y[A)1Qn&LeL_GLCiX!GPIfofE5*ccP#[di#%,d@*KgsEX:+=3g!5og[X2T:f -L#L#'\=`rN?4Oj9-OXAX%u8Ol"iT&j!htcXJK\<9`ONIf)(8a#_-B88YbDd8(>+Dj -bSP)1e&GO,laER?(I:;k%Rioa!HC0E7U&V0"uOAg(u6@AK/\nfbfmIn,1L[Ai;gcG -@Xuj^6:F6o&g^@;i\8LiJOi`H+LEAGY[S)^N\ASE7nBIjoF9-P$:.Vj8ngFOUpB7= -6Dt>1"*;M^cPEM0a+XT@e+A*%-EO&b=cZG/[oCd?0tUP;\Jsb<6=ITE9jublM<2C4MGH2ZQ+u[tC"*Au;HUZX[,Z -j2:s/&VpOD*V^'dO>I,k;AFd>.L+Y7k;Lp>!hRkm"ATW?cC0-3S6QYGa]hQO-K4G: -He\Bn46c\cWV-8"g%rI%m![3fpOa1.2Z<,-r[2`<-mfAD.M:V^JtW/Ti;O36r!Xk7lJR9pKI[7;M[$?N5jn,2A'EcJ -\-;;LL8]%ok\^P/#aA/EispNWOH]oDJ6M'I"bt`=8;r@Y3``4NP`V440UW4nD!30, -$;"@ei,/_VC5`.;#_5YU@+#/8ckKk7'LB;1_7DDKk`Cb_1kR@(JardanfGs?btQcO -@k'6mhXWB0ndO"e5S>#%H3,77'At\\_#+=cq?rs&$\3O.+F)]g0aQ]kE1R5E -CC03Jj@Q(H$*+;@b$pHMeB3S2KRW"%g6>FC$';=uV6::3(h!UWD`X)9PRL/ZP=/:h-VM)A04liaSet\>HO$.0bQ^5YMUf"pN_e^#q#QqmK%&8(A -+G^7f@QWpY-kZh:1+=Kl.'j7'ZU;`%904YE[4@E`/Fpn7.C?KR7AEs!nl4@#m?6L'>AF38eu!A7Qqu -YdH8I47b?XZc'huIKeYU_Vj8b5V*TmU&dQO0gW%i6,4K@$69/qO)s_01\1+Ci#2S2 -)<"NrJPm"$5RupS#dZS!?trYNN!DV&"lOt=^fCbm$Rro3nZq&YD?7:Z2#EVg^)Q:^?*9Ca?!8];a+(1Q>4 -#48r>[*hMK<'U#[+)tUT"?<_%a\8t@T1t"T'_IpFjWpllgn8WAj7YU3:@/=S>D0`K -Ldhf4l4.\M?SrU$jRrt3Z@8sJlCaLMeMRC\%dSo,%PRMc[7"._el\T0#p>Ek!.%%F -#ZJN>>HURujg.t/7cP(CPYk%Vk]^&RAlbaH(^6]?cD#e2Y3!XDi?6DTc>*B%5(p)9 -$%u>KBjV2.3sl7b>KNHa_M1-c#RG).$Pc64KnKe-j9^ns>el\/m]KYl8E&uA=l>N/ -+uDB(V[B7]L]t*lV6I614-$$.L,+rV<6 -)AohO&E>OU6*LA5YS^$&6K*7`iJ;(hPT%k1*2!][U$)J"kk*mZ2?E:g?ihB]GTB(` -!^UG=JG<[uN6N*b5G3%C"E?s+.>uh/F:4Uh3'YbQkq9Mtjm?!.%)oaMjl9Q0G7'U/)l\]4#GS -+5#MI_I0(#&D1_XNO4=uGiauGpn0V15uG`DZ/(HY$'.KeT5D>X.GHB%LEe9#OjW\@ -&bPLuq'29dV`>-G\D<>/E?%5YeJ.\-9l/NmB-Y>TPEI.]&hP=G+%cjcP;5Bnc#BH2 -@%h='#<2D`^g7:sV?MLE%"M(]@137s$5EOl'^EmZiKOA:Or9o2)1e@[TpunV,Sn3Y -!s(D:^t&X]dVRj9n6'Oj=iEoKb!3CoQ-j053Rs,Bf:7-=-DGoM!09.5U'4qrCk1:R -+>si5Acb8/(V!E]+<2467:tLl'-JtB+T;K$r5U7'dai]+PXHj0Rq$(t<*FDf2dEjt#YO.kTG'LFW53Zg1X -*NO_`iJ%rj(,s%04LiE]Wir6#Ca[)NUVLY2T\or\g_<"+'NRmGdfLM?huH($C,eM4 -GXGs/;?-adARXfp!OrsH*#IoB'O_hp5jSV=l3n'E$3407^k`00KehAMV#(1fidsWf -O!@cM,F\Y//U!h9`,VgT=hi3t!*>rCu$2 -?:n\^$$)nWhUgD-4G3K^3"[B^>W[d[fN=Z=D8AbQbWqEr#=K8,8;U[r>2@OR$"WT8 -2*MKHR-('r'LO_L(^(H6>W1@,-=B9!$4RK7C^ip^F5pJ5[F]F*XF7)3F%b'e$Z/r -]s1/?[:2E`5`,`H2H0q"$keiVq?C#Eun9-S5^0Eejbe9u>d2Ug9$ -g"2PGf=caerIrkZM:atLfR8b44d"EGO4h42rSTpD+@?G>4R"O$%tRC.2YXjLlr&@r -F?icL+@^_pE2PX6=(ha6i%K`R#UI7n:as=OfNt-Dl@>>h -pr&S%*.\>cJCWa]!0^>HN!Ji_5<-UIqm,.NoEfmGiP:!"f/EG`XTO#N4#;!1F5^-jW41kN/f^5Zf9\5uU%+ -l6O@VIbY;_peEon:SchS4/h=fcR^Eo-=iJ8TU&aY6g[l'I])c$jkpF;1mA;j?T]bN -jZ6Ru=7inlL#mtiQ+gUJi;eCXUr#*YO]JI'B\3Z'8K0Ve.T[fS;3Mk,PL:c^_FZl8@kEH;G#)P^B:oP.49cfQo -KYa#e$l.$I/1oqAH* -j`%rhDqH$5,&'ol9IuP]r\#"GT@sMP0sL^f4sUNW`?AYXc6kB>"@o84GoVqVU_7+c -MGQ?t6ANp#;%_$n-8CcS77&u@MDuH4Z'[]c%irUIEHrOQ#N)M]JlDYAht5]7FI -_6@a0#*2s])C6QEU`P<=j/X#id/8M,89"cioYdH%L_g=`J6"%VJLJN1K-[.L#8jA+ -"F2'H$1*'?#LWGL+34-VJ'>5]b^G!Hgph^&J.^pVJS'0k$^7?)7Q*RWMrl3PE[6>0 -`j$Lp)hnC'\.f<YuC"IfTT)IjQ@M/6,mV)^:>P6:kL5E%lf_'K@d%@\SFe.n^`WX'fU -]VB8cS:Rl0ICj2teq8R,,,)=/*Mj.ld:t.%W,S%KM-=+#W]&tRHX&*9Coj\Z@P/YX -fE+s`X/TC^K14DS&VVGAAe0)n\:tk@3k!$FQS>G@@]a$qd_g#J.Ab.93buU>KSDdC -?5J=3E*="ca*M'='u+c#UKEM845k*qm#j//P3 -l=79&2!X)!W%&&kiX$M-+c]KeA\/LbYb<4t(MYGfE`*n3(Rrtmje69e(@32ndCa&$ -E)m\X),;4qL`uhd-4+/6[Ol7S8EIl%=l18YNItWC/.1ARL*:L:IlYec=^YDKKn3iB -'a7eq@d"&#.#'-miqHs*G%4q#gMoR2J_bNZf6c6\@pmkFl/NS;.erjBJ#!:?B)U24 -5u1;?qAfiSlX?+"ZKPPa:?g2\H!"@Z+P*hNN7!9BY+#lk(aYo62$\A(i:I8_'$'C#GL)AMC,@#AA -6.D9c,,\,W\9`Z;l8ucumi"G>BaV'm.`Z5Xka6Hcme-SUn*K53]W:V#_F:eV234I;'"PRTaj -BG7@ABVgae/-V-A8qM1+ULAs;1Q^QjBUEQD[.]i?OH!(>N<5b\J.Mac3!Uf.L^/Kq -1Bq80<((:r%i&&!Zf%\pJs/Y0Dcdl<:fUU=qkF=;P-S*nSFiD8#&Abe-!'`H'Z0H! -%.u_?L1&LMK-5"@6&[dYYeD030No$^6n8QE'GL[@G6pRf0n_7!'S5XU#2p%G")>MG -682RN+^d/3OO+sbaED<,lobTS80('G)/A-)Qj&#'&ct,`DGPu8"$g6&_AG<>5tE/Q -&FL$\YcIt:Y],,t_Q#4f,ZQcUk1n.NFDbL]!(5[[JH;o*JFKu\!3f-&E./tJ\5Egq -S2(:`Z4rGZ4`nK6OZ`\@o9URiW%M=*L.?&!RCIJOiSN$eL8Gr)c(GLU,V;oeRLk&^ -5pN0C]/D2_b*kRY$.M8ZL2)'M_fbkep87cmb'Fq1YZSVj)/[(]TF*tRmW?Wdb_.+1 -'>egq$d@BaLV.VV6bO7Lm_g`f@$nL@dQ`#BH*iZtI^P!JGqUIWQS415PVRjU/U:1$ -j\ldpMfqsKR7Oh'N4kQ6&a3J1%?7RHQ]lH=@Ek3^mOqQA98go9,^Ib"k?RM!=%R0T -)-\V'grGnk$/d<]5:,N4EK`4H"Cb$97^1>6,0CC'c1tj"l$Y"Rc3\TSYF@YVQ+*'$ -#,>NOXM]ZZl):s)Ub)@Ei$3>7%fr%Y#QVpf"E7cH6$r5-_,r5id&\!KBNNhP>U]a$ -TG%?>8dM*"+i$KI(q!]!dp#aO*egtD:6F&U)8g6,rN!GO^>RdnMcH@V%#bd#5m?3E -,Qc>OPNKKq:`e^l$@`;f3mR._7D]S>; -E/>;B>Y:@S'e`]+_g"Bf"#D>`>5@A%C)G#OWMj'<6U'\f8#a>U_+]NU:S7p^1$\beVC?sC:4K$R\=ea'`@Z( -$g36hEK*,\LK^]!.X5P4JP7NNY_'t4drK,q&`/5FXnCDC<=Jo7./s#O6J5#&ASm:: -2IKo]&WYS-%<*F;J0P+D,,f3m0SgMa_7`($],_d71+;Ff#U6Brfs/mb.&reiK*"7- -oa[,5*>,ltWNdHUdkOZ5.e2U$q]Hp,ie%is*2E4[3&&1)0>X.s6)5?M$gjMk26jEY -"!PUTnuY,*H,1^?JNENS&s5A7*'XQ+Jh/7cBqte"D4MLZ0hK(u5cC;([tr^mQ_>"C -+;]VA4r-C;3m]bea:O!66@eVFJI"*d80`u)'K4$_@0KFci&d,-Q0^L_#=:t^407c)8U@9V@i$8?u(P1fh#Wt5E -.)@,h1oK>=UoHStH9WYUkTg`b+!B_^_=OI"Y;W+F,_ATWE]kcIE@1^+5)GXn9L8$$sU]R!)dHUl;/8)/Sae::'UJ>Sce*?Z+-E#YbA*!=hj -aD?Vqb(kR_c@LP5JQal213nEhE@;q?W\T#KL^p?0%B1h)Vn/Z(iT[@P(kR,R*LJt2 -GX0B0R7WK(af:7=@@Df3,T7O4JXh`JWe3kuVD4`/8h>[pa>ZChm@8QmKBPPBI"f;V -fs)LeT!0*(I#`aZV5-GU.Y=WLU8oa.Nl#T6_#P:@!o08"Zp7:rSKs)D:mDoc,9Afo -!uN]o&30hh3.qPuO75,^3(ANk7Kef-"GfeSi(\nj.tord!g$RhBI3mj9EHV8KGYd6 -&3#0]2hKs+!oP@*La<*G,_ENQK"*Z?-o?S!We9r4KG9f,0LCFDf)u@CKA\pf:cpEU -cE2UB!^cRZ60SEFW<+1a!Z3Eh==SsU+Tp(m!C0]k&-dn&&Pe`K]0inWK^;IHm1Veu -#N,T;i-g+eI>hlo:.cdK&OYaeH^`" -4u'i>"<@S9N=gfse>oN(!gEA0nECkuYlSsU*9"_c!j)N\ie%Z80uCa00LJ\k6-:T@ -8o#@oM]aa$+YkON&c9O(6%Q`&+@Egl&E>u;lUt-VaKlORda^!-W6#;gI?AS-Nj5cc -r@QJcc4M1W#f)['G`/q-7+-cM;k6!JM`&0W/2Y7.4=rEhn=N1Vap>mH1UT1Ypl%%V -8!bGl3)(pPj%Ho::'%nH1V5e6)pOC;0%9m_$nL47pk#nR1m[X<2*Flh-Mnn,_Ga!RN6egBLM2'c#^j2;RkA7:#P5>`UR`'.Qka.#cHU8[A"Ag'/;KU+ -!*En;YRH2d5(_mA%Ib=!'?=1&OZ*;\QYSEVSO?C6;-=oM$7mcMc$ZO2n:`b1< -*L9eRJS6=\W$MLi('81sJpVc*$c%?j(BR,P!K\K,#TB:2)j0';T06?iMp4m^k<=1* -5P+=FRf"3-asV:tK?PBgK,BojmMe$tRc#]$HQ+BHa[,3[84%>9j80]er#Zc/(hFNb -j7!qR,I.FGPNngSXL(4&Z^WcK*9#87iOKQ+[bQ*WSe*cad@NYN0qKlu(\A=]q9Vc# -d'%3Y&[HXcqM.:bu-XTmH6>;0@U_6#(KY@Gi;fR;1/H -\5Ij];:rZVKHLeY&hS`]#6OrT3^=j>E$17H*>*p<=fCa#K>=,31.272'>-p@pi(aC -E!I>n@:4*6F.S-?(5@WU!+9;j-jkYP)[!;iJTBG"((HaXkQ1H!&!._3+=7,N-%^ph -Jp8`'fI?o+mgtR+!FR/+a;pS"AKt)27VY+rr+I>O5asMpfu.ZdKPZutA$Uc*JLlmQ -!_Z&]JRb93A#t7A^,fcD4(HQ"A)9F[ej*a55i_i0A1g2Z5!e7)6Uu)+-`i5q*U]GB -9k9VfjK0O-0ua9gj+:T40Mio5=h'MqZ/5V5JL3j:r/aJ_36;e^.PME*mS3gg*h%Ha -S:/L-\p#mYW2cdLK)dS,4PkXFoq$PiW^mU>(a.[EW.]Cak%prJqKEh9a..MBgao>X -.iW'h0O6+J680*Gg8:m!AV=rA/N>n"ADONmL7!7C[.6SN4hD"n,-A,b%^#/uJ1Q>' -1';bgK6T`dn3$p<QtHS"or07\7>eo)?tFtJUh;8n.gZ@=FiG6 -"TT2>!(?ob70BJ)K;^VXa>AO*."d%4"&M)+BK\q6%]pnQl($N^qUDVY2hP3i"&[5C -^/%#di;o;j!Xo?dJ1Lfl,D52^!E`G/&-u$m!8'"\fGs;2G-#GmXV4'l#Ijg?\9S'6 -Gm?#-LG3-;#[ml2)?fOo!^JsPpaq-n5_F#@KH@_][,-Bpkrsre)A"1=h<\jEs38B[ -R]3;*SsdqHSqBQfjmXcA4=6BL,Df=NJjR`ac0IX+s5hu6)QO?\2$TRq0L;'QS2%k^ -"elL+jT5"b*Y:2'[1p\gEs'Z/D1ne#b8r6>+"MR]Ru+@)/YE-KXYOjHj'?5![6W3s -8%/+%DJ=)gbrnu2WBKD(m\ksY>qq_7*&Cp^DKEo*6fQO=*'H/IQ[*cC52gELiU9h> -s@]Mq))_L1RgMV0T5BE85rThDDQubKh-)k<`GV^M)0&=&B@c,q3_=`<kEN>)NO=PlQ.g).N"-?%RfLLY#?A@L4=F7@4E*e'F?A,fsKWmR+81oHY/[o+1 -EEKa^=VcSX(]iP$JZu@]mfYLckqb=7)g:e>=ajN/KPiG6MB<%RTm.E@;]B_2M-j$Z\:T:ip0rh, -"'?1g8aQ"DBuM&3^1m'a$uX!Ji6g&1.H,)ZgitD]_X, -afsOP'V"3Y.?H0NC[Jl-3l.Zb!`?-?Q/S8oP#60H_9<[cS/P`!PT;Ki)_&#Hfs=]k -G?Q281'-EeXIRC:ruFha928n7$+qsCPeWb,1(Yk)HOuV-T$99f;"-(&nT\@8Qei%^ -X!8=06#B?[,\P%6B%.cuMsc1g=KRls)5!@5pNfQhqh"R/B%C<@EIi/OOg6JIjdD0FiaY9n:#R"aC@XFaXGn -,ndFknjm'jO9pVk;ZO%"G"=]G#Wl/G6NUj-Je8djeXr=(AqD!WQ;>,FW<.`L:]S"% -'S'$a(^gK`5m8,f"Ro(ba@h2B%0V2EJI"Dk!#5S1+p!cKJ]O,9#a>AS[t4T!:+-t] -&0h4++p'aJ!_+8=olg6.DdqL6-4W"F$u#`9C)=6m<1o;.e88=r6"=dkirj>^7Rd<; -k^K*lI])FZYO$_Qm=)P4Ia@H]hsZ%*n:)PKVW,"I27s'B)(s(G5YGY.pq9AD,R -8^5]?l?Fdhi#-bOJ*M?9!.6aH%Yd>:W#0VA+V9K=_oRCD,^>1gil>0;Xu'^M7q8g! -=n4t>OsK,/GsQIM66VH1dd^#N#TY/7:/c9$jYo7l:JgZY&b9g[1f7cgC-i8lL8H)- -e.ZsmT2QR87PJ6#@^QHCen^QIn7j(.17=*Bqa*?o6')n"`@HKXj?Xn"#Zl:c%#]JH -?S:C_d,]7K(^e5kU#>9\9u\!Sa4!WM2KMTqO3=ClOcn3;[2]5pqii_pF9S3FYcFnS -'6Lbd:.G"E][.!B(BOcWJ6JU9%oLEBZ7-3#6D.-\"2,i1b;'pYI'[82k]B$2:T-AJVQh($6)F,\KLY+fK&m$"?_q0T6)6i&?YUd.0;\`$l&[&5#4S1s*Wj3&Q[_:uXGE".F*d -WZtK50ao94RO/>l\8E5g_'hjc#Qj9j4=(+)r'(aVR1hW\`!S1ZbC`@A)%S-h#XOPi -W;8E_@c4[HMD#+N-&D[gNlDBgE7$\-AA'Zb;a]424[qeJL6N25%0StZLqbuIpgkD'nKfGeh*"n=]R\PAD*8sSS6]bSY9e% -JYi$d#1pY/Hsp,>F+@YCSgB9PR(b#.@b(GgKeO[i4rpjf()RutT9>%]*L^:+,"Y7a!#sE#'M(R!VPD9Vt'N^ -+,AJKI@gKBHk-bm4@`3N*CHJ$Ne-*ga+OC6%giRc-mCn5]D3P1=E"7[^aqa"fA[#f*gPJ4GD*iNj!Tl_q[lT -A[).Z6g0c@)IKE0L. -K1M.-@ROCN&S`u7GeP$q0OtV((,Q5KHPsUMB+3-&1Bi"<(#h1aU/4r26J+"#5qj10 -TR%&ugL#gB&/PDp=pg+FR0BaX,cL46'geob$jl;O#6H.dJga"mMTG>0UCS^Q5UZk3 -/MMk"9Lh`4]aV_h?l-ds$tZ(`"b<^X!p+BHQ)r/19"Z6ui-d+B+AnTH\1XU3e.q-) -Hrg[*=O%5>3%"`[<\h[)9QfP.;4pOG`.7"T1t[,kQrBH54;>tANXF)D/t%^0 -!pW_m.:Iss@&\OPn;nDcD"FOBWeaQ1<""hm0ifkS)oF$5dm<1R#D$t3"im2U`7Pn? -6Gs0`A4M",>*N#-; -%ft\%E6A4u"!D49>`4VC!>$FX+KA11[fYdY$&OCen^KDjP-HUt%KrRSjPCiA==tb* -]XOL'?CT2cY=7cjf=(H\bN4*>SajF\hYUZLl[J-!+5X-J$:7#^pjmW@%7g\ -n3.;t=??^pr$@#8V@^Vs:CH,d0o#2K*Q'jd%Uoi0LiFad`7TtCJZq*=/dNLEi7UMi -d[VUl[h0_&t#B=Ki\$/HCb,0 -??(BE"d%(Pl7,7?KK*ZWiikA!_5&*+OQ$W-Lj&q5gciMMqgrK8H%9ns2SciW(kA,c -$Li-fK^_kQU,4``_"af0G\mo+KJ/&kWYE=K@gh7S3/4Zq++q(O&RlSG$%XWS"Xp/\ -U*N&2ON82),q0)X&/KpQZ4DQ&D$f1.7tbk'/qIEA*2#iCT6'RPhnHjW>Wq(d%NI^R -kPu^.nc(iTj8d5^irMN'Bn6kn0L4:,'EH3N#Oms"K,l0HJ]p-1<9>L;V_ATh4.K*. -:gejq/_@+\!sdS;frN$fI]nsRl_8m%EF--8H_6JRQ+K-`%<8(i -(4YtF1AGQ8/Yt;J?J<+Xb$[FOW\Y`[cI4G[BW`A0?)DK6,0uhYT6;Q/=J"8sJ)UCa -fDL+On,C#8rV:C2qo3SoL%''#?BWY5!&+ES&/P@D)Z_W7!K\H*cm&UQ2Yj7AMuk-6 -05Uc03s&3jFoZ[mlOXP66k1@_"(<5d^a']3\,cW=Idgf2c5K#GA08k[*+00p@%KiC3K8QH*To9oj&/sNU!.iQ=i!(4c(*4%# -$Xqg2?jIc]c2`FA#9h)+E*aGj'H1rE)I^J__8?XhhEleeK$Gi1OCo)cDElDnJmlk' -_9<^'+r!Zm-c -%o+f#+93K,XoVt6('$**!>G[1'Fiu$%D]%Ki2R%?BEt`po'-4@BefjGnd&^mlQDY; -,^^"1U(#t_$6ZJX!-ee-E!65Z#=(tAJ4O>26jI+c"oskq@"JbOed>g:&V/RE@'U5L -cjN_k$40f>i/.^]>QtN*"R6&d^g:3a*!aPu0-qA@%":5DJ.!fZ.a!,C$,i7;>4W@b -SLHN%.>F:Rek>7.$=_p`@$I*&I%0PGT4sIVC&jXeTV,crTZhl*i38]$TIO\%#cA1Q -J53T%W!(PMQ>+oE8id8rnd:6k$a1lcN7Og6hNLOZT3t].^lp@-BF>-NVVo!9K'K7M -Pk+6eeI%$8TPOkK?jE@S"JF0U^bQP&cl.EI)KCN:NZr^V`=?="!WdHWJ2.aFl3&6n -$ZMK:i-c9b`ihXF"s@Y7D&dofnn"`-?D["Ha%C=5(l486"7*NAbJ:XR`45.."$ec` -63t]+7PMVW\kbLjj^,O_U^*n*?Uq?0MgPZNJ@J70]PL3Z';[aK:HGh[3n(Ds'=U$o -]/rs)4-REA;o:_]_*$2e4S-`Z'A#BGgH@@M4d4hfbRlcbScasGaJhkt9^#4or(cUc -c@ka:Bi<;EM@C"qRfmC2As+WF!Zp8**oYBFiQ`AB1)g7K"Q>"J5^F+f!"+8UlJT5] -"4ddoW!U7u$,F)L+P$nXe.3\;%fm:Qi=HYg+;7%A'`h>KTaDI,&.5*B%Y.4_@.XQZ -oF[`o&V3+M@6>=`>Sb/O"+d6g^_Rs,q>a8,%qGUu)rSC_)'O$%UgmTZ#s[@chQCjpl>:c?+0.*"+%I%cil= -%+%q'pIcXSc!ZegJ=bp1l3^;R/(/GF!&`P>Pih?n, -]1q!a0$mS$eb[C'Bi=aNaBf@8Vf+W1JPAQX>B_L.bn-0+/$?6js -Eu-]T2a_\R7s*?OFVd\n->L,I8p'1aFZ3BF=&`8ZF9V_a$%Q+aB;>p^KFZs7!l7JI -OPL,fCjsb-Ic7ju"5s4gCENri9QgD]G)&>c,pibfck)j4&9A$gThGN] -8rb'0(P!VEMU31_*Z-&H!TA?b+_VU@-5CaG'VRlu!BL;@3##aO'OcCpTs+P`YT;X/ -*T?2^@H\dU!Zs@Z&%.@@;$@Mn%1rU_&Q'AK0cYMkZZ^:.E$h#a.)7Q5B`2$rKai%,Dt'Ed;.&ti2:JNa:34qdp<'*/jR -_%mQSJe+O$#Ct/-^h=%iC'A!YR&Q,kAZTkto!G.^T[\4`7nSu_`WadKR<`9gdU8o7 -A+er=OIAq=sb@h7;>Ylap_/JNu[)2/7tLoM.rE8nt0`[ -@G,t2,5.\S6nacB/F?-\b$8ZIXp=YhRk7M)22Zp%E/kEY6k3X#!hi:+ -^_.Qidttp$0lA@qJXumNSeci#(4de75pQni8.Asc"e^d.L93;JCf]"N04euW`]5n2 -nG!O@9SM_LG[cH7A@ph-2Tq8sU1PQV5QlbeQA^#J3,:KbnMmg<0d(Z:5\aXpoPXMS -MK8DtC"K;>W?j?Lae20-)OEJ5F9?UEWY=Qq;rt$JUT1o'WnOe[)RlaC];o,KX.$f) ->/RG1_5uA2XRi>RZlfKZ@TJoA6Xj"&M7#k8=$NNS6r[kle==mmBI!SF0oXu3TMIls -4N]_i?XRV%l!+L^b_sUuZ387n]&Zgb$U;"J5g4u%lrufpR.)YEcA[4F^j;G7?&P573d]E'S$u3g-\Bq>)6ql"<6CC50jq*aQ,IA2j -3uH4ZiD(.2+r130!hk,_!%o/j]E3Ys*C(G^61+`HmN94H&):*8p)Hi@"bY-4U#6%KNF1Q>-Xalj:J=Si+[T%ij`^eE9B@Rfs'gi9\)eNdT(+j:A,u?nsg$L$=mDMRP,(/_#P1#7MK8P/Pa*SfsHK&o;$G8pkDqG -F+nXg_p`jCE=[>2AkR;15LUqiKsn;\QFCu1CNq%S/bp+VFm. -&eVo;&YUHP5p?nk2A'?p"5s"c!(7:Za:."R"JEsIrc=[(j:ad6'1%9Q!J2;!&0,-2 -!27sbTEH=M"e[t[6$jN)G9Jd7GE"lQckT]Qi:-kV"m -![0ZA+<2.?L&jSp)*f/Z6(S-dSf3,5)M*PDTnF.G6kr!7"Q:[;^etZh7LJ\P#3-0s -1!,YkTU]Jmo#J0bke.WD)5ukp-mQcu:GA2^BEaQ1.&hs"#>40A7Qd\u[u+@QfjIj[ -q`!bT,:PJaLqJYbo14]i;ipgup==b2EiD@U#+B\mb$q;HBTZh",N=M_9f^riq -'H"_rE`k*5:c4LJjb(ZonlmXb7\E*s9\`bP(s!qSOj&>f2Be!78)XLAE"Q?kZV6KBLZjYa6.D>cr]@S_ECR]j>WD -MtQN`R#NGb9m.== -`4F=RF?16IL3?cqQt/#lghsS_Ym1,"-5+0!E+*Q^?Zm:O1q_S/M`Dh"&'*_hm(@P1 -bN?-P4OE!#1E6,%OfoRNdGC;SF/)NQTO',DE(%PrY]MuK%0j^s^[ldP2in^Q!PgB7 -%g,*O//JFTOAm/)61C*Z$:6GJ-OW9q`&A(AYgbfG6h(jX&k!*=@+@pN0M^1^:fJX8Li?Y"HL#NfD.a"M;XuOTL -kkmXW1@ZG?'!i0/1)(BV9/IA^;%#8io5Zf2"gaGb&d)P"3"H,LpeO(G.B5g%,)J_m -(et.'%Q;]["Vs:!UW"97;BiLr3'SPTP=uInd7$eBPjm:$$$?n6*!Jl;nOiu#795k6 -Q#Q+m9Z7.a`Oc!I#N5I@n@SDI.1Lq.7;(lMoeo\i&P*VB2Bp*YE --#=2Pd2-[t,A@&FP[g0dtIjJSgP$N\F*2;`.Yod -9/e8Yl3JH;Z5k9.qG`B[D+gGg\W%EFMn,H=_t8'=k)+"UC$t%K_K8*t<_mjh"6-K?k:dE8GW/,X+ -oFlu,-5jS>>8(AV:Gbo!-,hj?'k1,bL!a'8`9:JC@cUmR&V;Z*(s*P#iJ\!!a;T\o -Fq0(Z3!Wj0*.u3;%b*%I1M#hl!u!k'_4^pg;?eYm32n&H'SQ`d(nR9BHM4(lL65,p\_?P7h1r8SL13AF,eLdY:Rj3@tK]i@cFkoZVrO.VPY(U6G/f=?b^J*l54, -#9bW6"H`rpKG_E(_YC?r1$SaoW:p9:gjFVanihR0qO,f!B?Yqp4b*h3*e4NB%$2;] -7!KX__-@\.=QoHgiJs4%^3'P)?k1%E/I:<7'SSf`$,YV1"MomN!^P$J5ql[R!3@OM -n6QVkZ-/H\i$F!%Orf/cGnhH0<"0BY1^;kF)e5B>Nd6C;LTpUT"6b2a!W(2I8H3A" -N,fVpDBcmKM[_q51s[;C&4(P+SM]J3cD[s9i]KXcLQ'PDkoW\Mh)_Hg.)l?uk"&kW -Dk*Kq(`b;<%mg.oWo3TM"2K9mC>^kJJCGVBcu)L-d4@@)ZEpG1I1b`r8?N[K\Q!>- -B`]tA#_C>8LG;+"`;n!]6Qg5rZ*l`E+RPuu,cn@MRKCK:N2>XK,tIOh+:&S%3E5i.#(dA.rp_O"9=ptjB1*WS$jZ'/.B1Q/bFG)7*!eg@55uGW^7LJ?aj+n%n -:$)TqH.#uVZY)g,EWqJVJcb8XEel_#ra#P!0WOf -j_"lSo"2i-LSl@t$^-Md2.T71h[?cFajdFUJCGN-OD5AYE((>RGX@?s*&28.88#!k -BZs?=4229*5L=If*/lp3a3[M.^H8E`c],uk09g7)%[P21(% -+[E';&Tb[.NhAQsa%2R0a0?1")4EXTV![+l+JgL1\+1=$Kr/' -ZePuk!'pl?La@a/W"fBd>b:@W1[?aJX^.TNf*QstM=#O22=P>4%BLph!.:"s%`c6? -WjDobRB&ZKjk:%].;_5Hhnm0DgB%%c-/fIZ[d\Y!%adk%AL`..^e%HjeP6Gt\P+os -8DXguA?(>7l;ShfCgk[dn$,g+pHj1&KJ_1Et!OH^5`"?D71BHDg4-P.II%LA1B#=OZD"6+,pJe:U,!RS.i -@7Xf9+P8M?^f26TF;U"b_un$kl2Y=nV;#3mN,aVsBXE_IO3dqm8)OCiKBrU0DZS^] -a#i_5lurFagbQZAb7u-f;i"g8+Tii-$pb.2KH'_:6Aj^^46!n^]b>-o`3m?eLBTL2=u&lbqTbJM22[MHa1 -c17T.%<,dj@28TD`p!pSV/i,'I=bcE`<@=p-LR!XrHMG) -;Ba)#mW><;8UqhAq849+cmsE>,;ULY6RF=R"X?o!5[_6t@*,'\cQOJ5,")RL>+NHb -)F0Z/+qW%m*!a:%\ffXnZSW48oG!7`s$.eTN'\*uprsog7mV5*,2+fI&gosZ)aW10 -+DAohe0'_B+T\kRO&5NWCOaK+J]K!%iae/:rZmJp8JjE$?OF -/&C9t`$,a<:s>_E&rd#E6o7EP/4d]A848t>7&3JoZqSE>*MkI5V*L(f>9u\U9uS#Q -#SO$]Yb?XS28beQJB1<9cj0fr@fU1P#+,PuQu@L7DheT#LBLr&r*KZ,"GWrsL-T&F -J6iB2$\[.mJIjgfcm5AoN<+j#$tN7(d(:O<+XsoI-.jTD&1N0,."\aEJqt-CK+e;1 ->QLc?LrqRUaGb^!(kNS[!DkM(+;'8D:B9TRKeNph-s$DI"]u*8:cs:/49E;4K!]Ft8id".Ce5mM_U>&ATZi8Z!0"!/aXh8D -8:`-:+poG>Mh!D\5V5E42$;JB"408jCnLn&Th4H2"0`AiW&Of+2hNLn"!B&oJ16'e -)Zg[5%p8EREUH5:Qq;\.aYE_q3tm7n&VJ2WKii)?BPN;>":#ch!#Tsn6)0l"KEc*\ -!746@paAV#V_"M&0,jYiR#);,(]e:dJ]JRW\0->n+9HKq!ba[ri&h/S#mClPJ3[_$ -hu\YlRYP:"!!%Hs3-TliGD=HHL@+Rm@QK*n1n3YT\" -O5j#66Vc'.9i>7BdUafSFXY[T.FNo";O&`[`@KBe.oPI[dd8X7od?$gf7<&r2E2?` -i"cuf(lV;;J]Nk-n/n7++k*32!^JHg_7bKKCBU"je+;"u;<,ogNXqf1JYbXOlg`J% -=>rm#]drW\^d+.R7T855<3\%Xo5PJ;NYJg@[n'?G"7h+DoRfHp!]*`*6.;)b;unE* -YcUhEU\]Z-<)o]L\-%9ma^2J**]Q5e(*H.+n3K!+=bA`l!k9Ki_c)-rAQE;?*jOWE -Z;e4]rY(sm2IIlB:e:^:8;7rp"rMXd5^GH#IQQPP\^^emiLmaSE!N%O!=3HEa;ouU -;M%_CKn((qG[1=M>m;\]L+$U5E+K5m#DR23J:M?gcjg9,E.L8nLI`ecX -BO?Fk$\Xm,!:VoKYRpr8*e?!d$+hjBOkDl(Z4g`r)bK)lEpl`WrjInD*19M'TL59S -7Mb*f">r`7=?j4/5Z@/<*Q:K*W&@Si0Tr@ae$Whun2(n'7tn`_Kt5I_=iZB1q+hA- -Y,Tj=BG;Ij&(WOU"40QJ=kk'S34Vu/"$Z5HuK.:/f'hmN+6`VRa0]Ri*YJhSg.5V7VM&VGm)JG;?^ -E"3"a:&r((KWkl)*XlLBr&'.!>j" -!=-#oQeA+oi+L#J8LG'!Wn8?nS15(/d -"Fsd.BO-BI!J`@Q!"a?&ooM8@C'SDQLM1[X-ujtI#)3CSJA=^.&.sNp,Crr@JbU#^ -mTGK)X(j`V2.%*!IgjGL9#&QLMGeg/r#,GcDjYS -q!,ShlS'-9JG;m:Y-/nTl8Gu0JaT$g;BQnBlOL5d`;/]n],r"!.NBUg!7.B%!RU?1 -A-9,b(J@o.4gZ4;"BH1HojhQr.P*o.5NC*V-Ant7%G,XV$W -OjXtH'9B@0;^3cQj"&Mn/=th8>%cJI+tLd2*Q!@5ZS,Q*ZS%'fU]q -%07mmNP?E_cLS^M-%\r>*2##eeSYC9@>Cc`#H`$fEMI>iSVPPp#LIUE.!::.+GT)p -JrI)K$Z(NaY!\a=rYOAS_u-.J0pP$\(lnk>RT.kEGPLWh -ThmbmpdYK1$O%N%Ks5,8k[=I1@#IQWj]G7\(_6``2hMql!GEYc -Ecbf'Fnhk_+7`Ff,.?BYVY[3fHFK)aa/]!^X2,Y:$(`(GYjGa-Xa;=r#SK700H[3; -,UnO+KNJ]e:f[RhB!"`M!L^UjW)%0V2@JJ^@:!%05"+="*2-V(K$:"[7V1Yt/7 -ds)oUp`>!R*J+h=!WYE7pc\l&#R/"if]Gu/!I@H>0rZD2#J^cS'(_D?3.=l.]:[jVTa5;87nbV;LHWWUbpd,/b#R1!HJ1,SrQiVu2AXV.( -(ZD*CL]rNf#DB0A!m#m'L#`9m^iVFO%*!oSPV*m`LI>R'Oau5Y.jgZPVDIF`po"NL -)M"-CquHb\8gNtqA?K2fQo@:tf`I]++ukh+71qSeME;Xb@SlnI%ZM$q;/%k5>)f'Kh%XK:%_H"82QlIq/%0$#IL0.=?YQ00g2ug&uT(_5q0TE>DCdPV!Vr -VRK^3ea.G5.OCHrDQ[*CA"1`-D.^6-mlS,Ra)j>uDm+LOB#:>t(Q3t+EA2W$*t3mV -?(Tqh\0CDL`Bor"a33W`%!J5R>V=RqpO#G?><`5Wo_XV+hnQ:_IN#>M$Z(PY+`LE` -KWn!7"bV?h3po@44DtK4*Ut(kY*+2X?"T#_X?0F/]U1OAj6t4c^9?bg0OgI\)7?EaIm73/cN=IiUFKH`G&!Y0L9p/K?%o88:#j5'BeLP_P<<>lo3n8on ->X_Zq4_,a;Mtglum&P(=^Ta3+Q6amQ75[@NqQ#)A\hda:_-8V>_!l!K.+r" -&baaJK`ZlJg[].b@(,%4c\IeamsNRLI&'FRc[E` -AJr:oS7r+[VT;AGS"T#WE.Xtoe-DO7Qk4P8J-#J,j-iSR6Ui\2l\X -Tcf^F"JPU&'8BN^!8CiumTmOLn(9[HuqHTg4<_>Jq50+bQGiL;GX%,)[Yd -Yt>I8Y0TUu[RfgLE>8cV4HNLP%8DsA8K(%gK9n,?ErmF?2%:d%,"N=M^I;t$it0'] -YCW?NeV1hY>3H.:03f98HLOp>3e8tWKna'M8j&.Z_&I6Q"8MjU%O6eO3f5,3TH>^( -PRd6OS\RuI:ph/&9m`2Z)<;8O^O:>51RNd)3A*R9Z2JP"E4._6;qU8^T:bK4rr91l -rVp6no)IV.!.W>u[#hTGq[9*=/'oR$Q)"=c$BagAB?C6@=:"ubl"W,qYhVF;G6)QnT.oJ=Z7#J7(0?.*D%"XL-"i1>k -"Rs,3_XMjS!TZlSOX_o4OKfWF4CF-+(,JG4#TI8U"H?9A"%Ghp!TNTIJPf)b^u1([ -!/NQ;TMQC*?n;ULoG@\?aX?*OTo@EW:_ZG1EYbHS/W\%P9%c]bjXd[%d`PZb3Gg?Z -`3bk/hHet%#L)*#fD0b -"ed,d9W@>NUF\u$8("t8il542A.YTEm['NTcpA+B0a=FM)hlD^+2IZ#'L5bsMsqc@ -LB?m@gUL;-Ng"e%UiTWKi"!AJje+dPesu_ ->'hq0kXH)5KKY4n-nGSL$6)@&!tK>5!/I%7@qJ;_Zr-W@L1l_P6:<=*OJt=Je@37fWc6!k\gHqN)eoG[1Wo?loI>H!RJI -GCQIM\J>0l:(SB:VGM:JgsC%)bK7OCAb= -9F$@U*WpclNU`G>#&("D]BO:30I#=i7Z_'j&M9W>\T2GhDiO-k8n-GI?(T;4ifV_+_4i7On'PbaOr'hAA"IsEe[91=[+@31qK/A -g1LNqi"Q7j]pHPie&Ei@m45u'RFdg8;5+Uek1)d?S3VB0=j=[7Q'N$>&6E_K/4dEnna63UIUYl?;J`[-VR.(31^j:PTl99_`qRl]dBC8Xr4MV6o)IO\%$P4@1 -7*$2Y!e_?s&Q0305d:[U^g.(_E\P>;&HnjcD?5m03ris\fkhgP1kEXI7i8-*,+LOl -d+Amq+@$.hPT'\^9FG0t`d+7DZF8?4+^8'7D6:GuikSHp!G]@R/_Tk^D%I?:E)1:Y -6*Z+TWR&H.=plL$088RK)H5::&kX]M$*cCc6f;5XJT3]'-TW/O+LW&[e^>gA`839@ -X`_pseajQhG`NfR`P@\G*fshF_O+54WFDpZ;2K^+1;eh?f:QE$k'_0I_k*n=r/YdfrO"5f -B)g$L=J5j]LTQMVg7cKQ5>HZganoEUnU6dd6;9^A%A8Y<#`q"i.TiD]?pJ"\0r]L( -nDsYfP]d$mfGu(A*?iE&_8[FE&0$1dASCSi%HOJgq@$b*$n9a5O2ChA.[e3RI7!:K -8QPU?0)VqQep+$o/l60]KK#T_m2!?nfd!$i?=/-B<1%cB_bd"Vp\"pf3! -&M]Og,?G`?jof)Q'Hf"B+cl`@O;hR?)e%M%J_]%4@'QSf+(,'jEC^sde.I5("^mk, -0eb0JXFH=VW5,bNTKj#r3WfCB(Vh(.TtCBa]c4tQ*'aoP6#H`ICm"f5%:D^9+KP`3 -W!EB0#LSqO81t.@[^_uVR,Z,`1+Nrq;"nuqpS6r*,5s!*JKb)AZpZ]e%00!/nW+l4bVmg*"mJoEkLB(KreJ^ -Zs/4[eqF63KG%P7FBq;if;7D37He'oKEVC.*^CD\61t;0p>L%/+9Gk);tp>9r#_R7 -1"6(c/fR']Da<;[*P_du_0Q-5GS,HW&V/.0JBSLRM@O%p%)DiSJH?El2@T[D'gS?* -+`IXZE#HG^)8XAq@E9Nu!ZuLUBd(=nTu%Kd+qu0:"/eruJ7o,%8-Qe,"H9ho'=N23 -86bLUD+N!LR!+P).aEFHAm1c6F$sWq_rjmN:&!1cc:*Y-"N;^Wh"jWY$(.L8:k#U8Vi$2gCShMK.3_!D^ZP)WJI -a]6H%pFf!e;Rp,&^>;a5"Wdp)e]`#YX(18=%6'MCYPT1eS*!,I- -!Ud58Xtd2sfg^rJJZo.UXr'DB(a2EOTgXo+nJraC=k18qBBK@AGe`H.=dBe3FiRsW -).L$/@eMZgaA*mgE%Y%e2jM'dQ85VIX^p[fL-cOY+Dup7>!Nj.L/;oh&?BA#CM*95 -B.,IDK'HNlFuR:0"s@ItU'_-&3XYpa$K0tJ5i@e+(EE!r&Pq6ni'IpXN>USm#"*kk -Z/9&7FJj%a<5]HM&&gD((@3$)F,bL]tSI[c)<0!H]BU!Znc90sgZjp@pCd -r*U]']Kr=o6),QrC_GY]'#f6#6U2C`2.J -)<&pBU!Z=V!usW#+!:P*+d)kWO_R/n^>P2ep/!Z5MZNmq&Kj+H!EoPU=HML(!+Eo; --8tlib9'#t'*'d#p8AJCcjQ0jE\B9o_RM,^p -c2`FA5a2g*iP5H0^)#-*[%S>+@,)+I;@:f5H:`$("*g3KI!Q)tCkW'D9Em&CMLdHi -A5]M=9H#sTZq)sbm1RH[Bgb!)>>M)@0pjgQGW@Lg2hTaEKD7lg3(\c?9n[aeKXam5 -GZBI-;TRq62D]),i+r]:CsJ]_LG&i+k3S'/)Es-s$HL*2k=Ej1 -$rWbLbq/-b/CJdYrm\%FM@AoRfSrY!@ge7\E6#W9DP9"k-TCEB#r@8pPDqR9Pgb>- -3Mh$f-%@rb6s,/%=Tt'O`LPJ3e4=Yi40_]9Ga&Z%=4`\;c5hE>*J%r+_.X@P1(U%X"Q63ei/eA_ -n-pN.&KqJn!?r!S+;5m+hI)?X+`[c1E#KiW)@ulh+liVhjJtT7?n3%3V?.a1&0.BS -"!M1ci)C6FZ3Hu-$%Qc*i+rZ�u/,kOV:UKglWM)W`=">V=Ci6Z`UlN!S'P#oW.: -V.^-W63nC2,tl2[Y'm\"QN##?f4%8R`lg.'rY\/(JKR -)Rh8dT^kaGqYILceVgI6]ie7\=_K7dg<0#*R"i#Eo%N`O%oKHB]j#HeD\>IUn3*qC -rN<(%#/et>5gJ400P*P7)h8D;J^sgPf6%\=(1HJJ^^;'].Mi(-(;UC]TaD.";@7a] -[4,Bif#P!FV"rbFYo=.\HY'XtA%)'N"fS_X@d+(V(Ui(4[i9n,WJ2opM^'[4\K[!1 -iY*?3U'ADt"b;aDTM>l&humHDBk<(3&O$YS_?@Zh%#N`KE^j+)t=' -3M7BX#TYCh)aThl@?qUj=q6'N%T81BdGb<0[1*-.'7_bMBbVAG:V\/]+@3tq&e:'I -eKJ>$+i&U3dNubL6M:MF$YS+F&$Vn23X5tq$Gbp05joW#bF%b^t8f'6\II(#!"4EPpZ![ -!+Sdlb\ece"\5E=A&Q7%UOluWJZKnS"G"?W'1tX2e3.Bo4_P")9EiX>p=/AN%a5)s -^]a5`">dB)9YigIFNi6Nl3^heLM[8Rdm+UQr9;$Uc7J:R -3V(J`H4@S#24aeg>)A3_-j.qMddr@F1Qp3uDiPr&e+i.V-&%Bh9ohR-ePiZ4`MGXj -?TZ(Fel0JJ`Pjri8kPqTBL$.$/r0no'FB='(8,U^Ttge>^`C3C*Pq"A[d[Z%Tp45# -krt4piR@j9e.ob?'qjOg@,_I-A1T]"rA5i`LX$kVA1%cIs2+O1Q"'FOpU'OZ;& -6$NN`GbUnQ!.i-1huk(t0OX2`0sk1-@FP?NY!>g#mi'f5d\o= -RGED%kVLn_JENK>$(_@ISjX((2(ApJb$4;::Z0B;i5(0k[-dpiHN9E*?,d53M@75R -:urT,@5`I`8edsil43LpB']^Bfi%"C'1YT5Kieh?3Xl)#l:uEn+-I"^cH'(2"FC`L#7QmRQM -)E6\q2eUe>gL&@cr#c(rOO=:8J\bb+GZ5S!$&6=Ud27O3*u0W$U6$P&e7^e#N^j1k -e:;`f*_Bo&WD&UD*fZ.(',\C-1GtRpVNZ;Tjs:ubbN$KC#hiK*U!)R3ai,lV9Vk[& -'`+%hI8tkpW\j"kB":j@%.!U*]oKp>YLdQ44%6=&D7&'bK.@\&IiOePY60?p)I4>Y -gb%+t('^$iQHLOt\IB%$=MeH$(d*gC-'cVano^Y9`+j3&S!="S4+IatFo`VE5SMQA -!.M\u&,h7+A$ap+?Q^0.`!5aR!F6,<@jrZA8="r5N4*Acc-17>SGAi359Q/Ma"l<( -4/:WqGPYV6%thj_np1.^T/Wgulh>aT*m^-=IUWVJl%1fYi+,@]))$i;XPIVUIOh;7ML8&on-B,bha?Kdekt]VE -+Ank]!!gtjg.ZQ%b1N.&mLVNt=2+O(m!M/AO&o*a5M/H%?"N^?L -%moJV/Vh/mGf^16J8Z-]Tbu?K"/Iqb$'jY_&o5_?,AUjn1E!n/S)n<1S%O!*[B(\2XR@+qM(,f -.4B;*#(^_u(53X!9q)9R^djpu5o<%^BA)KERg"@N6V2\X'uHq,'nEP.&Ka`6+6,KfS)[kl6LI(qbfF55qCd<%N!6.9q( -5>0LKI90Y&p&/N3f607I(RM_#s'7T&A;j%%dO9nI7]*j7'bL"!_si]u5n$,5^j$<> -^c:VB0P([/Qq,*b)&,HV;g\V--cL%G#9fSLLu<4hThpa^!^m>&_A"AR;-XYJ+>=_o -S.L^#iWP$mqZ(-nA4Ld/*Yr:4O-/Qh8%APcLHkq^!h9N'@*/^A-oV=FfI;KhU`4qg -D%Qgd6\lYBiIj(=0\%0$%!.Jk!'XFKrW!&r9b5)4 -!(YE)!TUh/K!DU8_DoFJ6"j7)!4X9VTNr%YIV/ikT/2*:@LPQN$j]]9+U#1,H\'Tq -V%?T5Jct*B1R(330aA#<<7qh6pcf#1m0J>Cj9tEA0#1lB!s=X*%O(gq#gjP8"RJ2a -!e=(anE^f:;bdJbJ0]lL+V[=T:D*&'8;TV\,fDBk&?psO#!&RYK03'BiZLUEH8m'8 -\98A2j>5,$\/%EH=:0UQ.>=dA'Z7_P&u&D5$CWLeK?/7nD0-j4@[PZ-q%R=0Cb2AD)d1mMJ^?&1&_1qHf)B3OXZMQ_1a^)(:X?;+@g -0=DA4g%-ItX*Gqm/?m'W("6_G"fek/[$i90mKc1a[K7Z&HN4ZE5/70q25BkK&*WkW -mJOH&6gS^kEOmNJ\=F#cS1`O]=*/>29gVA2F^'_&ttORdsc(iHt$YmNG!o"ea?dKLpG*6D2d+hsb.cL`0&c3#*;Z(-$FB*WEd> -`s.VU/e'?0@C1]Q#6Vo#&#U706,bp4ND+;*N=!kM/Y3rK&X)SGX!E`;_!Je\T.p_a;fk`?kJ$Y,n<7d%12!P -"9pR3!FoAW!)_9d8#QG0K=h5FiQqT135GX5!(qg9-lRXbBF99c.0O$^&MQe>#6;OY -"L(u@6LZ?1J^b8:0gl2!#g`T>6Q4#\Q]+DdUB70K2M+3H[R(NX7LJ<(?S]u$a_VqY -/!Q-[(/\gap.?r&kSSr&HjddK;$CAj1'1k%*J"cD&7B`JM#]L[K]j6dJiF5Gd.@T2 -^h!YbOZS7t/.r`N43;Cs"lJ-%[SM%?#7R[NmIo`N=l:N@!.h;(cnksBgP0MeJXQX` -g))^RCX@6:i5H\lo@H&mN4KSkaaDsTZj=E#(j++#8i$S*C+G$ -k574L*F)20GPE;lF6)_Z\"s<.MBD&TR-p0;oEVl3)T%P^7pt/V!SD>:BY]l#08M:b -*tbuuN==V>S.W)a_`4P6.%gW#\d=CCrV(5[h-7#6Fhk[HVe9`1P;k4K^JWm9GU.L& -kF7)(LC/XK=UQD6.#3pA&ohSM(LoiKN=j;;LFDotUZ4kc&!?D]LsDEWaD -"rj:a#moP(#D2_+"i/&'KTMQ=ib\T)_;ZPl%[7l=OF7G/n4A65,Uu'PW#.cN@#_r1 -2[?Pe*n&>;Xrm_"fQmO"H3Yi0LF?qh\8-g),6eEKJlkd#^aFcM/V9?AK&A.E\1E6a -0-AW;K4:[0g%[Sk,s`ujJOo\>g6mQ.3hGK@D;1U*t[uCkN_#K>9DJE&OWH34b27WCT:I -F<.9X0*7W6Jnfu@3Thehn=X9uWTZs-9K>BE32+J,"0/$sbOPcJm3tZ)_l,N)fI2P2 -X8uM,.c?f#MQ7(>YoquCX10&VElb]<:U3)T.la`?& -(E?/-jAEk.9+'+g73M[_KNS[.=@I!1$$hdd$sbdX1&24,E0"^h]A -?sS;=>m_%?0"OU7%LcUYh,(XDNQ(T0h^rZV](kJK2Je0>]:a^l, -'*A5(JCm$K9T9r5AM#G?3i+E`GF",@.hJ8ekKGRXdrk(<(G -a5A#(W@,h=D%#j+N(G+PgdjqmqFiRd!I,_[a=dQZ/d"WWK/blB(c[03&-LQEJJ^>e -0JCVkG(M+aJUefdUl:D>\Ick1cNkPufH>c"(BPkr]o7D9HO^(,*OFOc/qUfgZVusa -))sSkJN9/BS!nmAHQe#_U?cuR0qguaR*dT';51-O,-Dl@(E'Fj+bPSK$\p`^W.=br -RUXAsq5(+>XAM4rU)4HNboo&p+h=)/d^toF`@Fj2/lLLY;UmI!m4cue0iKYZ;`uka -9f#^J1fI[=36QXL.@U?PR$'-O45)0r,H!o@W$u:B;uJs[qkld%2aP?`0\@,/,B/3, -aJTCU_-@24.sAL\o];\Eh+Rs59Oo13eO:3C2*hae,id>U-K2Bb&W+AG#Yg` -Yj&ZKI31RcY;[D>_+60.bIaZ^_\+gN]]4,T<(MS=.\PLQDNAOECOG -FU!X)#)GnPTLsg_%t`.FJT)EW5U-=i0Kfg[K:k0?anZ$(0deA.Jl"B.n/6lB7KD(0 -KjY/i=D*.TB)C<.`#@76?F$o(a@ZN'Ub[2!Lb-_0J,G^._4q>K9CJXn2aZ7KA)8*W:W-'J2SMo -O96+GJoag5F0G]q'iqBa3UA95KGga5+0!_a_$h7",W#R1+K$)"MDGaQfI7t1SQg+` -_p(aTgaG7qDSjaYK.o'5-nBnR.Y8ok;Gih_AK;[SVSl=Q8_CtJ1Ti;p^X"1Dd/9BW -=H4p0<.ViN7N>4)UmT,,c`ZV5$4r;[gJUFncUB>,8nHS4P\8!ag>)h;7DOrm:#SOs -g0O>Y.s,3*9V1(-QAQ^G)&of?h:u<&`*M3``FB%QLcYdM#_fVKV7^XkX5hkF9s,u+ -L@XF/lTq\%j'QZSa'e8U,-p(=gu!8>?b4fB"N(f/*s0rC"/A5:8.Gbnie38j"UGJ> -!)*C698%kD"?6mE1J<@&.036nPRPG`Adr+U%UZ;uYI'E'@h+TZP@4(]@5\VNnSnT; -dtpagMsQs+-5>F-o#\\?O0hBulkHiQoeej=@A:``6P*RHfX3US?_E?381O^3.Kc%M -"-?'(cq">5#_epf!'k>BeTSZ81^CO5J/EEpE,Ppl#6kUoKOfl?]UI&$gOc"):#I^$ -YVUo^c\&G5K;^X.+>bhj/PE;p:q[-2/p",K'j&3L($ -%tjsjWB^tA4'r*j%tj@11r]Ir`dj -RDt9g=;?Ba[aF1Y;?M\PSK\u3,If5k.ai9e8`]t'RXke_3+eE>bD=VZSl:*0dr(gm -rh4'"U1t14l5l^8:8DW2UZu`nC3HI6Rs_\,HRNH6T=Ss66l\S+UVV;eeQ:L6b_nP-pbbV_<;-@u)%U5W=6*2[$>m -"K5aZ?t"h@!=+=?7bV%$kQ$D%I=NGgLWBRQaDq8gE_O8L".0XPQm7/a,D&`3!`17r -0IPW'!s7W&4!eGc(a$59OTAFO6IB"l#V1g5=8KEIsd#XCZa*l>uV_]U?O\bcF9 -D]2"WR?/2Q5Ssn%Tn4C:nc&ujb+2N):-+%U-Cq=AE$lN;VK'Beknk-QL_hc6&Lk\Q -g5E>MMn>t:'O54h_Ea?DnuXClaf=SF7Qd4J&<\Q4]3^e<@7N9rGb7bkOtA%C!R9,# ->Yn^4+7k=Qh0C'GT^?ggK<4uPo6@WK[%m8#6M+rf?2tpN*+!`Xiq)[@`Xb1g?TYA> -dbgZe@/\jPA<^EG4,']gLSHUsl_Y3BL,`oJ88;Kl/d?o+L*'=tXu!Jq1$8aect?e] -%q,$'ON&%J&9\[kmrA)/@AgEc3$A+1/K4[c1E!_5<;MM&#DDO#&W,dD:Ee^`$?Jo$qJ3rGW.S6_# -!b`=#>@msTHMJ=)KRBd&5Rmo\-NfBY!cSm+AFG*Ynb7-i$#u8^n/[)D+Cm/LJY40& -!$VIu(P4%[JT)iI,e4_.JUqbad+&CU9T4/l,d7Q*YY/)Lj$A:T5E`fY!4YgYi!9MK -.u)*'^5M4MaYsFZWs-RoF%ajd1i.o(LKW,$HU*f -[<9q!O'YZDfOkH1HI.6>k'I,uC<3XmJs\@q+>_pU3J3([@%W_^s.0'1oSY+9%bn_/ -j&3J[`D`EG!EP<`6+U!V'-X"*)8VpG$[X)b,.FI)RV%bVodRD*Q-qCb3$QH_+;LJE -&g;iO\,4JOfB(G`W;c4`If?8F&+=uan:)POIkUGD-hVsRp&@h]IsN=*Ne]nmLH?K0QBc36OOU`N@<,n0K;+hL"6Xddl -4?+I`#m?u"I/JUe.T]7T_B";8@h.1,!Q]@PeI]/WXhg]1m!_2B'agdAYuI+n,2Yml -nR_ng<4:NJpfp3H:Q$*M#)!tLfT]Ab'hdYoqB1TL>D^r!:fEYG!II!q0:1l'qYpO[ -opY8c^La\(Cc:$2^=RA:h/@L!pW*C+mK'qi?rn:,'$X:,PXghWi3Xa\RRUnA_$KOa -.%sE^o>.Z"CbV$r#%@%dg+P?)"=H%I=YRf!0jYtMNq7bsf=M#q@;#k2KBP!Q$3;!: --ADS8Q6$?A8<>)(!e?jmMW1kQ0+4]qR%/q&85L$)5tZSBZ,*.A+/;/1Z7H@c&B$8u -6U9Qh%HEC^2C&AYatgjYlmO6;/"gVqL4PKt(PT\==ImR->bZTD"H!T%PeU_&Z2>r5<5Ge^ -*E>#B<#o2OaE)<)6,glbb*&E9;:\d-T5!,JIGK/([EW,pe9*0X<`KpJlZq>'p#U\] -=:PXf@+ZM2K&Cd+),OblNZX#8$uQYHi`Jr1MW%[o1QGWrKh!Tt)&>ek;0Q>0PiK;\ -#E[HdmU:!FX4?LdqPXBWr2.g%LQ>B:HX&]]fI)(FdlX -i-E(M32Z5WnD#Z/]l?/!'uod6ISq/?!P""&Lgl0@-]I"4b!uPeBkRd5AefUs -)ut4)qUK/XkPJS0\`eCshnSUW*uu;e<;+jFo\C3^q,$(#-c>`Y+,3'Mg@s.*u!< -CrhpbhJ`eV*s:*pp(OIqBn4\Z5leV*_XMXM6-N,UEBZ.n@*0PK"FIQ(phE=_rW!&q -rBt)m&u$Pf*Q(DO%3]Zn7C\]e,$[-[+Q=&#=A40\m7`0E?4Yt=8dat,2hEa;+i*;q -'>RjJML[0*Knp?W!pBmtO\u>d8='E&5VRWk";T=A:/i[)LT&_BUXWJ0;X.7VWAQl: -<=59rC8Fk/eOloC>-h5oeQo5@I]_0>]i_<=A$"4HZrTfL=mK@-Xd-W0[7Uurpd#3P*$g:nC`J-O+V\E_"cYHI3X:fB -+(,(s2?WYkYa-$@QsU/hC`Ydr@.fAoKE@/GO91/%Y6!Xm:4Z8%.0/k5'qh't$Qrh. -K\/$n64=cg+P%">:illWbWg\Ur$"DaL_W0KHn=10!U1ssLF\=!lKTd$V -/CBn0HpWp@&W?(/$)qGaPZ0$-Zkf_KZ<^.&g3ZU0HBr,WJKlgj9_p$WkFh:L(=4M( -ZM%>DROiSrX`_G(QKmL9$XHWsPnr&4RWpkYqdP^`7IQQ/MQVKjG9] -;d?6"$R#1sl2DXBGon3jebf"DX/$[fL!Zh7@e`o<=,crN-0*cFQ@A'q<'R5SYe0a3 -"ecVZJtSnUJN-pDc>fb:aO2#[*57C'l3IMH>S(9C3V5uIE!'+f$![HleOZT<.Yk@h -k,`"t%g43_TMQDN^qTp0piq -JA;<'^6f07#XED7+E%347c-VdI>?0L7DS-O2Vd^'oS/NtYXAg`tpLiXn8'\?Nbmu -$-9[eaOCgah@tJi'Ob>/6$<;1F;Q,?(b`N<_0Q.`HAZ-KG6(VE!AkBr3"\uO%Atld -l2_9lMH2!]IBP>(/TODa`Wa3l"Y)."$bunm/>Plj.dCj`J4Kf.7KcAW\r'W)MHmBc -Q7>KdUqfe]C4K2sIS$Pm.SC&O;,7siD\g`A(9r'"&U>0iHPd?E(f>\uOb4LULD\F& -)%i2PnXCCnSJdQ^)H!7JK$q4sTVKXp.Z-'WX0=LQU8uGLZ-OET35.X=+q_,c!(@ODb8rCD]L$ouX/ILF -i#uiOUeC!MMZFqTitF[N*:aI[!m;Ub!\-j:*\4Gtbt+O9^'+MJrW+,Y?lBkJ\,bKr -*CjKs+n4TP0dc7^-PCS\aG@`D9HPfH*Mt4!,-eW>()-GE\ -!.;mG3to(cM?>dHrk31G3DW")WM8=r'0-`cKW1L$F0p;C]/d#C44BRc1Y>hQCGfLm -"^mi0J49uC4r'_;'kj6Y+n,I4mjB:,!27gX?lU"Sh@lRY"5rm>TYLiK=pU>Z6rVf: -VqP.3<8k0=7$L\?PXe0=Cka'o%\Q,uJO0FS6UIK$)Sd%*_9`15d"gTK-kFNZ:/i<2 -a<$uW*j4?>E#KP=^(R(q&tm[C8[&Ga>tYl5"Rcm+j?37A)+uen9N8o'M2l%E9\+K`'kY-bo^(DU9=f&/uc\!oZHT5Y)>4,RC=Q#LuNOeDsOBq+?1a -&qDeOE826Y>T82))e%B8_;#$Ah(>>]r(*@FJ^th!$68Kp(u[`8:94j8G77lI_1DM%q4JtRZt#g5IuSNoH4@.k+/BI!kK=^H7MRZu]9Y(\jT -BErK`5Lq;d#WlDW0F*A\$^/@=oI:\UOrO%\*<6Ee(!@q4e/^d]*DXHjFgUJNSGU-O -S`(]XTYh>kSNC]J!ESgMRe[DH>Y4G2mJ+mr$_JDRT:X(AVlL -qf!>NE)upRb!6'OCs@L)"G!'STJdR_+Xp(9+I59)ad(9f02*r_B'k\!J-1C -^ap.LmK;D4$_TrsJ;=?dL<\>E8Z^`%C3;4!-[Q"@"ltoG98"uESk\3f/iUXAjIXl' -*_CE12V*US'4t,u">"C[HfUhk_KU;k=*hh2;C*oCD0"$*\4L`Gc-4jkQc`%sX"^?7 -2PcGp'DQS]E:[YJP4RgCLYZH`JPI%<96BDZA\j#KeN1K_:"V=U"beu`mbDl`AB2#d -Qs56?ChSO'L/XDt;t=S^ff6cfiJs%Spdm\AXP]5jLfd]+fN`=]U/=A'#8fX/DA>>P -.7H4TP*>WpV;"3Jn9OFG?AY^k`o7?I_@6_)&W'O(!NpO<^&[-+FQ(,/J]%QI`#Jae -*!*\Q!PB9M)ArQFC1.#C_#!eu_?qDb$2#g(\>9CO9^&kTME)',R!k(KI-71/"2P0X -..`E!^Ke(pF(8C1608/5k?Qul>9UKk?mlatl3'B:=]li3R2Ttm\P'nA9Gq-%R2qU( ->(e\hgi$%bpiLH,.TTL6QMH8a0.bn8RUgY0qI!lAoiMM#=pX9M$L`-LaP%:M0G>#G -'TPKq'jqeWfG!b63*3Rh5J\V9%_%"5&lN&CD^d8O([KPNpQ$J2hk"\pWHt7?R -KNNMjfl93p@/5*3-RM9MHAknNML`Kt$t,N^+QSSl;iLgj_e=^[6hH17D-WuL)lVg3 -i8fe]HC/jSOr?K]NeGf5ihT0n"O$4$2OSpXK[HH"BrW[&,7A7PWGRPfY#`>k%N2+A`@%cicVX&AU7:W:gr,QiUW]*WQ<`pO.,92n/[:-Rb?>8;-@CN#\Oa!?n*P -?lBhiAc`!D'jr@'=S*;*ar:u@GFNt;iSFQCh[Uf[&n!I-+OgO%cjIQ`$@md58-VY0 -cipoL"kU$`o28HI-SSW1dC9:nM]':]cir%)2%qOm\/88updlD5Zm)i'QiXsL!_HW# -^:Xb.GMBpbfX[@K_Ai6`45[s23X*/BI9\Eep`D;ifO#)D8o:\u:gmh%gShbmBQuM) -<4[Q8I(a)+2A=-N4F;bRlJ.b_h#)Mugk])M@hDt01jEefja_YG'O4T$`Vb_HF*C'Hn_(@3Q4I6C33r$kWe5i/%0@Mpi-rka7^! ->)C]j\^VW`=`F`Yi=m-+fj(r'*`@R!BTG\>gHn3T!hj:tJFup57Eli?`5#tl).R/% -WN!RPf,]"dQ0lc66r?`;Q]90Gb8l>.LJlbJ9f[ZNBA'5>.L7]lRW&0:TK3X82$5"0 -!^U-0!$2sLeRmd5!F_WWS+[ -97&_TGKonjR\6YaJ>Ngl:(Dh)"C_Q;NelnU-rPj@dZ2F8S//ma(:)!3 -B1Nr/2>Eqr-t1l-0EMgRW!U7=$%RI.^jEfE.DhSe21."SJ(so$hnkR1rEn&WJ*6d& -mJXNj@"7/6+8c%(!&>CMi(ura#\aD[_I6q6Ca*(o1Ii)2c;NK4nBD4?4Ak -#@k$coQWK]Ne[^^"EH43R7q4TWN=B^3Lik,o@_XiGsA!!BTri]%Za&S;X%$2I#)Z$ -O\(RJuGWF?k\ld -,#^eO6ukJHc\IVhi8,\;)2-!ri1RGR'pFHjdNJ0b`s7fb1-nt;0lkt8+[ -A"4gd9qGdU0,9k;2$AP'&e5L":af<]?t#@EJ7iD7IqfmV*ur=@ -l1=rt=Gc*H!QFjQ%?Z7p:b7Hs=I((`_>%a_2js)Z\0hP9@Mjh#J6j&[_1(^`m^p4& -(PT\=>SdQP?s"(r!C0*e"G$P>&;,Ms3Xl1!fJ!_d4NB>'K-8MucZC0,6dg()2au5< -]h_GNKACK@fPi!MTtpn`5Y_uG?.U,/KAcerhZNrJ>Rc=9k>gScSl]"UGs6/5kB]=I -Vs!ojQ`]P!rn"LEHQMpjn,'j)a74Pl&'sfp+#h[BI=HIkpjKo#-C#U(l: -KV7`=6a3`q@_#)@G,1/PRPom/3Z,7qAIW(D2hl;6)agQD%cOAG!5jV%!9&Y]^o4+H -5X8TaJ.OTYYQ5flp*h40fDu4b[K7Z&5_8G(LVej<"ecbSK)g)=N?Q&r#9#FhGhF"g -g0ou\m5,B?E`E/,G9nP3`YRY:)5HeAO6sm5RUBl1j>(USV.!oU#oOkDb9dFIUlZ;q -=@`gANK>o-9M)OCDp/e60QF*VQ/Z,>jAL#^V]&9#kfk7g\2T]8b#-='3,m$h-n7Y^ -`Ij!X0-j+BPnL6.8]]p2AJArJ&pT,Ppson6i&M!,g`;"YEY/=k64(H3-A@OX((RiQ -BAit0KCee06'2OUo+"r!\^YTZZ>:flkq,R5h)cpapR]jrG0bd*'`h-/&qFXeNDL6F -&a9/n"83PKjr"Oso`uY@ -N-YI9knMc`p](ESCB0Ks/AR(I&g1jXScIab!D$)mU^`JFl0;PWU/s5c<_o+3)^UHc -`MQ>i`l]"W>7;`5,R%!d&qH&QJiHX3iC#;MJ@KcSrJn/!=;6HSO:)+Hjeh/`[]abA -)$5UE$0!cO#f2`-#$"^(aU!(j1#+d>0]a+d5[K7S4WQpi-#kN$`b:]1@Q9`G0a8ac_W]f6lZFhFeS_iYK&*Y?5d'M,](^sF?#-eU6?"C\ -U!sX/;)STrfXh1Dm]DIWiW.#YW/$2NKT(F"1"BB;"JLj^"X&[165fci2\Oo6/%j`/ -(bTdcYS;\^<<`IcN!,1FiIU0L#99Z]JhOsl!U!hsSWUUQfVQCcf5M&OK=uKsn_QAE -,ip#S+ib-i*5Pm&O)a;Ha*@n3A1W:nnhrqY)&"<,I$^":Al$P%7jd=[Tp7C!>">9!QK()SEJ]K>Gn9c?"OPJ7&8E9cGP))s#nO"tTG0_&X4_JkMV8lE_ -!CK_eMufFM`bQ8.6f7s*N;!cjW9b:M6s5;\5T[&;9:E[**J4OYJr-SJe.Wp#b_G#R -j-VVW[G7`_MIUT3FYp53HK+6Q(/SOpOp9)0)bVbmXYl6Yf&gF5gk+4#0M]@8)V8>X -UQ&O?%OnNuI#i'fD(;u#aXbsa=>Og)X3cU7fi6s8RZ1B%p"$_.RpU."I7L8ugrbj# -`]"m!D`R1Cp]l?a(BcFX$Na:8#kVDN'#jBm't2cR)m(kjoGp&:EdltP-ZsDm,pT/W -@1ij2';CesMc"qGC'aKc`:<2V&i*"Pr(!#l:0(M2q(%LTC6EVoC!/NG(#1kR)X?nE -Y=i@c,SF4Gf1S\*Y(2jeci4uff*kUFdqRLqd3_#@/n=Q^>"3W_)N-^d-M#?W1F(MFC'LfH8WK/f=n`O -Z"K!g"%GOKJB1B93"gj!aTA4=Jg5n/6j8jd\f7?T5+;ft3sgI8`.:/d!@SS3&.sI2 -hD![pTHk'j1D-r2_)A@O3S=PH'?.dqbr4K"#Tt!=M\;On&hq665j??Fr"1^=/@+U` -_?:st'H]Xe+MoZQ_DEOT6m]]4-Gi_06=_I\PUODE-pk9i_RgA`q\k"S%tOEg!>lH# -GSG^J*!(!t"#(@?-rL&L;7bb>W(McWF8a"G4N!sVTrG/L0ER"XCk+ceLBmte$IsoF -I=M6=+Kt[=uMBFF*oN[%Fj`*of.*#9HZQ90$( -\X,5nBf0s<7;QDP>>N2m9TB0b`RB(GHs\6][]i*D-C>dJ(mLB>*09-+N:F?d4E\WM -G/bJU7hM#cS5`"#BuZB`Uu3[&:aeB77iG38LQDOlPEJl][d -"7QhRl]fH.HcWO`US*pJauh\I7EE-!a0^rM!2Ht1>bmfV-1DnN0[.6UU<+C9`X&q0 -(oXKt5:R@bJXgfsJ1h&P$j=_)#,lft&:'ENKu:_JLO.Mq!-![["GW"6J@JAW=eRtl -dQTFa^gM@=+!qFZj"Sd9:r_-e3-Ufkf:@nPgHOCC;.6rLF3*h+;sZ\m*.V6cZh2O%C%Q-WJHDYcEa\Pe)4:(SSPt=;Cp>'sOJ@9uPf2]\n[QP6fF7g9@4b:!DZmeDs>s(!ZiqJoDD*BKLb>3s>Tl"T+Aea9778r5;5+ -&ccHmBOle;$j=@&JKQcN\.jOnqLU7%9gadk.doWJ^]A9KY`&o/:_WpZfH&ujTA'm\ -llI4\&floE7\lQsdU'WnfL73QJ`8dE>R+"P'EL`=Z"siae.+2R!^b-B_Sm)'XV"D6 -&^`HKd7"[F<>3bc'[^J.d<-;RD&L`T)GuX__XoLPJdheN&q]=C!3f4Qn,imdNlW]+ -:Ad1O<@$"$)(NFL)VB3OE-M?oGW@&q9UZtqZpoS-=9Gl%QZs^mTH&N5)oT[0dmQr0 -8n*s::QWIqX:i@Kr)u2(P,:@je&9S]d?hh/RnI3h]9PP.b+(r,^W#8NNY+?OF[8u) -QAn#9`]R26KglX5^eJ(^e=?<`d(7^WCD49;2KW9T9hj-66'aepd"+*a9i=u&6.Kr] -b[;cN0Fiadq1[is;NQ&^,)91X(D5AW#Ge&K;,@Jl",?SP!2*C]K?sYl=4M.cOID6O -fT\qo5h:@!eobf>]>;\'d>G#'M(t77HWX=eQaOJoQ76=OJ/XGADiS3\!B;e;(^l$/ -E<%t<;G)`X&ZrD1'ErG:%gpT`FOcH4J]mn0!W@[Ei#ann*W_)L%T",GX'N@\[QY(" -Q8FoN#`f>(4:,-6a.SCBi^tNAE4bJFbJ9:iQ%gh0GuU!&f-m1)]Q>MO9=n;8J8etb -9LB'8/5fUg#FGLHRlCWsq1XMTNu1&>kTna.j#UIa3Jrs@[AMZO$/$>t=YQ-hTdVQC -\XU)ES35P$3#'Xpim'+8c:,$67Bceso:XX@SD"=;1g53<9+> -KZFOS^g)D?>VlFq#Cli1K90+(LT!kM#!2a:YRCZA1kR2+JOh6*7)RT.MQgg.)oVW) -D$nY%$ps.gcl(#'n`EX[j"[[cYlcX!S/U-j^)Q(q_2Muo:#1XU4OAf>M+O3P\/AQd -j3QNj5hH[R*?*dG)r>]V?A7OuNT]/`lJAB'hOX#i[I%;>mG@O(hZ4BT0o_cU;0rb -p^`#LI0,'n,7kZd.uI'2\5Za.,l!_be&:5$M;]IM<-<*.KOe54E8f(`42bI)e?!*H-G3&j -28j@jI;@cZ?k=Q-@AIdMSh6pA;iku'R7BE2.ILHkor -7"W=.KiRu&R^oN3/FeFM$&*muJETE(+;4hs_;cS(e(n^E.X9OI6t7Q6jDfKI4LIVF -*=6$.75Jjk<\hb8"\Va[^1+_g@UF]0?.b7`8^2K]Q$QN>Hsb9U=4%`6hu\[1=4To' -!>mgDJ/a(/(kLTj!H98"?mq(\/Iu5E"+^%HGS1*t2$#BfK-1j1(bGbkZ@RNQ!XK]q -qH(ZrW68aob4STQPguc*\VW2*<61'<$Xkp9DOJV:UcZU7@6!2i5o%%NQbkEX1l-eJ -=t4%81jju^X%%k8!XD@bL2s,k!"B'aWIn,t!Zjn2d5871]K1$2g7D&Qee0RsEbC[L -/(Pf(h6,)"#TLmu5]G$p.ohIh#XEb.*#%h3*O&`Vk.l7Q>)lLB8E>>l#JT45Je/WJ -#VU`G0*CDK"5KgXn7$o]@RO=@ggM69H]FQI?U(6Y"@BErQm@5r,D#V+JaL`nK58f, -^0M0EhDG\fak/ko'&P"aYj2di;\$%d)8btuh1iJ31#>aVrQj:-gEbMmd#KDsc=k1? -#YOQiHjW[5'1&]>0n%O,Fmn2Lb3Z"Kh[[kH[`n+#c0Y/KD$J;Q%aXMXdd84H0`*NN -aNp&9NL_Tu=F&P"1njSq)8=(2h0F8_&nF%dq2^u2V^i'=l -f)Ae'a&$(VU#uWkrd#u$kSn]mQbM+[=%iJ1u)! -GRE't&d+LA%T"ANJ0G'1'`tm&!@Te3TKPGEV$-8r"R&GXi(=,K&-PflJLEV_#T!RC -,_<0Fc#[?s<_pi8/ns;'" -=GdT;j -FBB];E$2X1,=cBc[R01AO;H6_^d,9eY`7%+h:"^^)StGPZ&BTlck/"+am7'p_V*&e -3uG5\(S"kFc8iWiT[,fH)B7)A!Eon!!QOGQ0/4CTh0J$d?IAWsdsE^rq`hIb2mrNQ -[X2)aqhMZXQa_=9$67s8SB)n)TH]%#"p>cNJ1+f\#QVI(gJWLWhp97=6&%B7reI]X -#IPr#/3.SBGCU6KL(FRo#YKWg8cs#EK4$8XlN6:2EGmc2i3rG[@CP7c**rXDB*Rp$ -K`pALCjieAAf5V7"YsDn/k5j16 -AT7-mV8\[Y?ftKdkQo(C-.L@m$cbnVAFQ4YDuT@(DrUdtN`7iP2Lb&m#MYE>%uDA> -i\1--fCU?Jc2ni5$cjU@@4]VK18Vl;<^8C"liF^=i&?#("S-j=SrXEr`S:Q>3l$c` -fKjV:%\a=TP.;uE80A;\_blN>BJUN#k;.tEp38>19a5*AaPMP=)NG"HC/EWH6lJmV -PR1c"&E?dpeRr;>e:8El_O+LTNF=Nj63G.D -3"-I3O="(t+CUFD!QIEM$($?j/m"4oq(=a_6b'9;$K;nC+U=^VGT<]A+DBE7bPQZ, -LI'.#]J]6%nJJHH>4rrFNO$^=#&GiHSL4GsP9kr]<1>4+dYskKamuO0.nYu;[4KLa -`4[bGnpl0*LSHh$1D0]@*a8[lWL*jWB*\obT&9qD3hGNM!dmdBjS(bX^_,pH!Ch?" -$^9V$6oPJ38?*p=U+g[+LCt=Qgf!Oi0ZPO!WpJS!Oh19*YUu+r;q#j=n9b`Q_slGW$cVWUB,/GW*.K9TEh&1@an"651!T:emkrF4SGu%)oUQ4]dIdAj -;:Y>FDc>9\SVLM'p77gmflnI?F5-Fpms3gbILgkcGTIrdiq:+&1(V62%4Um;eIUZ`@?"-Y+$upZ -)^@(oNUaS876CV -)FBu#itPgPL;b/8GrmBJN#[MUg/:K$k8`I9V1m=F2Tj]M&/@lTN"M(O86G=1V8T6s -o'/`Ek\D<:[#LDn%U@4LGqnGS/?n9*t[#-d=oR'rIr5$'Rb#K@""4e=\](0iDT,ME-b8Xh3D2k2$2MR;%)FGbTN0.u]7C\okU3K!+ -;$\+,=DS?F\IsN+KTRP63&!&*)cNeBND]PI7OjQj6!-_fe^E.U$UW[$l[*R;i%G9- -lkce)MRJf8g:5=DiS5B"Zn;nB\i3CJ?!EqDmKM7QJ1;I#8 -9:.%V,=ubRPA(4$YSVq2=:KiN/-g`:'8:E+#D;fM!lCI:!?m1SJ=+_(!).>AJ1*G` --kdSqL^B(b[KM?;aT<\4>6+b@."HiA&"m`&"cuCm_4*#L33NkP_\0-?Lb.%@X_HT, -E>9AG0EiST&V;]##QY$=CTV$=!UrD]JJPHm)V).$TJs'EqdjU%Q*e!,RbMsu,A=[e -\ibb)Zedmmg"T#3D*>#.[`6kP4'uiAh7:#ghVm5DMfg. -TC_a8]M8JR)g)e2gEj=,Q_;eEK:)`d41os=;N&'-F$h,\KSf2#T=4J-=:NPqclrPDb6h[3q+PaO!aYJ0gn%I(O<98=)0P>!&_ -l90p#p0OZN6=O\.BAbfVJ@Ha+5ZAGM+=7Lh-oZo@+Z709GQ]2F3mE39#_RqP"C\eo -!cYh>_Jq:8_!Do*&scNk?oeJliCF)d+;I6T-4BpN&r)>"*'Q&sp`YRQ"Ze'!_<n+USaq8e7UL"/.=_TI:S,U]EcU4$gN]J_C*TgBuon*?Yb2+ijZBa;WtN -)W?JR!JhL6//BB]"/.7U5Y;M/S->RQM[k>kV4'5p8@B`;>tek+aD19!?=cg'\Ab+H -^fFW9%U*ia&T'p>9ZUBfU:G&q=s_u:OV6/tVUTTC'/;K[nLYFE)UqUk]8LkEOXUu! -4V:Ok''6>$X*S?\p/g^+#[jG3@%d@h]FH&P%H.El_#b6W1_N)4!s(/aJO1(o.MVtF -!s(AU+WM%94:hML"CTpkJ5?VLb5VVl0P5A,:c+#C%L/n]7V$E#meEQ>^E"t:0W8ls -b?H"Wb3Y!d9/0hbMg@5!^^5P++(3,2TX)a+S6Op-#[iBdMhhO+@^emGWBd$]^muQT -]FFEW$dpHHKkcL-@1])<"e]*)?s5!e=pBM9"[It,TXkWk7Lm6W"@4.F?q(ksM?KW1 -)LtEuJY!!qSf'd_)*r]S+at+*4qn##"+^L^TJR(-W!#A_#_5eY7<[."]dbc!8[7Qj -;'K4f*8V=NTAq/ -m4U6b066M7ZLom!q(M=C0Ja"h'+HX:%kt=%0ln'aZP,(b));jFF04kU^bQ$X/-K?k -!^L?'?lTH&ecA%g'VGjKTtULm^>cIuJ.sp.+?P!7T.I:H4@JqCtc+ -4pZBcjdN)GT0Y905BF_+/7@ehEpSic4&ceQ<#%H90*:3k4VTmBo>HD\)aEqt6rZB= -OTRk54$Y8Y*MdMkE$Rltb=,BA75S^I$:6-BTEcTK02K/.WW#n=PUI(3$=Hg?,g6\4 -n,ra[(SLmBc;kQ#1_Kf^"9A'&J4^5XScrMj#f'ULJ9V7UFSli*7^QetcSIi4&s&df -0M529Phf$_hb:E<NA[3YR'd!eGG4+;>bI4iRD?<\cC^#(]YNli>;Z*((1+= -$Im!bX)T/473$F!3(f>nUIdl8;G/7f#J>nuR8 -2=4`CnQun?"Z?$][Hh+=\Im4;\$b1"ZFO;Ldp4Oq&@#V9,)#\uKh-`gr?/nIJCaN] -ljuEG&.@8&i49'l[i6U7)fNPfFPrr`fS7I[*XRAcQ;(r_3;$ba32qEd0-riCjLESH -+Tm!4+IW_$q@,^<%3WJ/Codu:Q<9$/[oN.E",[A\cjK->%/-V1(9@pFYfFPFlRS@6 -2@*J5dVU+="i+Z:i-5P.@L0c^#!fa2J7oL&?sL&,E'dd,a2d4?nm>G"tQDOG:[C/=9NZ`0+uoP;%[&%Zt:FW -C""GOZR'_b,BYq>F]VF_G?o@#@*>AB>DLFSjDaEZh -*V^EjWC&cXP<.pQNA\OK2u/'X0g]R&4`6!2Ze\?b+=bjik*+Lf;suoVn<0".B%REB -1^c^]-%b?cL(n-O_LmClXagnq[^[gSpi1fY!pg\.K0X(%Nus-Z!BR`%7W\l1FA7;< -Bo2IHKK,rf@bjJ'F%+#bK9&Z[fW0q_XS.lt-R,$M6Ln4MIRm'^#ANT45dq[*/._eF -&)eo=5pd:R//1BLY\WYB6#$HeBG@*j'T'1.TK3XL@?'3NTYQB\<_7dc_3-U@!&W-s -UBbEK^QUXpPBeEb-oS!L,(n@tK>_F\_Z`-qDaConlW"0dfj.H"QNPBt7RUoD+I!(< -O:4BT$m>0F@.FpQ3"cY\'Z#.u+aP#V)B"WG)?Hc;6)GQn'H2Om!F_K9$iCg!$pe;\ -8mq2t^eP8fp]M`3'-K1H!Ghh2C`/lc)55%MiQ!ke3B$us!(#N`!"'_T$5n*R&o8m& -;i2opCKfiPLCUqIC8rq?AFFcRL8?\J!+<95,R*:WMMQ4a'!5HN0bHjW=t>uikZD,J -JmF+7"t"NC5ZhX5k[*Y>bFts!0dd4Opf(:$_YYc(5`LdJ.!oc$6Y!-5_@,kjG*_e3FJ5pdJaLR -c*8DQZ$PO?TT?AS7jCZt&>motp;dKSBEs'N#9]$7J9hT2mKas%&n$M.@7U[_8/)&a -'EL0!iA_H8M@r20#@Q=%'M%HM[/lLD:?pAkI_09,$GFQRa]?.__a1XRZ]j&mtHelBI -iOt`B^&-sFkF-3P2?Mer"2H5ci'[V(6j[6<$%X,u5opqP&/o!J!5\4J?j8^eYC!ap -_L*ZH\&6)G`o1+;WcjLX,D%_U.upT[l%Q.lKuP*t`nFV]WbRaE.dqH9a_qYAcF\_E -E0==%Kc![@Ge$6[V8j9aM7Th/:IKjq#KF,6JOjS$Y?d'hREWu*oNZ!fI,W5*Mp.7` -`r,Xi4SqO:PK=f2M\rifR_d?V&^WZTE](336`m\6I@/ -DqI4(P&>eP#_&Y>$`f@`!a(60$=9N[s-=B4#X,.a$Bmp7QnX&>5QI/Ti04Tl\jJ.b6]&b_844oS!L!eL8di;S%V@Yq -C,eAV2%Hp(f.>%Oq&p>RMMdNmUQaELJ6&^i#'-eX*d3;B8?#mp32gg0FlT:5rtZaT\D'Y!Rsq#kIc,ai0>',2F/ke%a\6!( -j.o/eF,OOQW'&&OGcf"dZKRFmKp4k(Qp%^,Cj4#`M%:\+74BU=+:3b -!(tiIS-0e.f7o\F9u>N%IVI_6"K\(*QQ"@]:]2ka"C&NP`fIj+iP%P:^;&q3J*m5B -nc$;prr;Zk^\AoPT[79S"G+Bt&9q.m)$u&7iR&Kq:*14-7A>ohe7L]XO%/1"f`[=( --'670P)2#m&f;&#jg*gC9I^VZKL]Ftg(5*SAqJ^>?q]2D"an&b0?j -:7kOc\J -mb3Y"f_l8[15>j0+F -lq\86Z,CQ$7a^:;a@.f3SKCCAr.?+[;DaR_8THq^k/Xa^M'tu:PcH4Tm?@,##GL(# -i]>HAYq&G1'[&7*o,Q489iFF!))5'7BfOCZKZY\H@W;)R%qS9]<#HfmODTOQg"ZV! -a3Xm9;('cb!$?<&pI65I$1bTt7OT6c'&^k_2$B[>YS;u33*IM\Tp16geT5S32HB?! -E887FgpeCod$7a9B],8+C!gt_cfN*N)1CHCeNh,#,1fu*sobsQnF)%i78SO,H+'m&0UcI63F"pi"6F8 -n4kSBJRFcfKq]E1(^FKb@N.!'O^8?Za&iUiSq%F:HiPP1q>_V<,.t=cGnKmm!65[B -$P[))8hpVpLi+/d+g"UTg5fGV)!A_s@Mic%K5DrZ@#uW?4$].?D$!G?is-6BAE3sKXg+^:RWb>N#eHR@\:sh\ -=r)gC:fJ.u!HT"o\9@Xt,B;^FPU-Vt0SO@YXBak[L,p*'([.:]29fc>,u\pXlrJ8V -:7W/GC"Rie8E9udW-?uUEHSADk;*WUhf[cXZM;0mZs;TqNFu`@o@t0aXp#^T?m+4` -J=\-H@aMJ9$f^s%msBZcU*[O)?s"/u)Mjb4rF5NT0n&(8i[K>##^sSo+^YWoE.%.^ -rO=clf"m.q"q;`sKV5I_!jGu=6$+l:&BYp/3,8um:cX9gjr?a%E=62_/[rNQ$m?09 -Dud_T_E_AhSHD0%mj],?f/sBYkT9p-I"E";E(ZhO/-A.R%KX@:&70-9LlDS426]m_ -!=0j(A?I:JfV&g"N),=.<[pO_V\WaK>)Nu101FO0(F'W$N,aS-7X3/r@k;DT&[F8` -f\me0P\uMD`]D."m2fcUH]IXi4\+`3+64,eOHKZ,P2]k9JAEuBJ63,/!%&4ABKd!C -/40jH&i9j/#9O'3!Y;#e;N!=WP`h&*()]suAPB"e;REU4OmW3>\sHnOXD!-XU+O0: -[hGE>:5CSd+G2p)%,j#Y"Mfa"Je1%Ql_YHApO[We<7*qN`8eL?H@=,Mpc.G)pmeZZ -23$#c3cfH"V"pttk=j6n;mpireW,$;8b>3e9^'$Tf$=fDj#;cG#>b0o3=`%`TSDTH -)l.*7B?IJM1VSRil.gKGE_N#.N>=TD@7F+>ejblnO&66LYc+!\Ual)#UoI3Z.9.Ca -['kb7`7U&6[D$T -(BhOV$Nd86"X/+I!as4jJKSV6@%]'(i)UKm#VQGl3J]C9dN!fLE##$>D8('LI=H$R&n/5*tQm -!IKF3J?cola(>n:;q;96;YpV:n.W"SCpF'>S:akF$_*.UD>2*pK]&:46F^&'fB=Rb -@#>Os_fLJr]u#Af3"->3#'*![#6d'LJc]_3B$B-@_FH`rRM2C+ea"!ff6GQ0UK*dC -eGN*h(Q5QGfUm$/NB9^0oN02;q7iWdI2 -JKk#&%;,PGjnuHZl9:7jH&V>R<"TD.Y)J8(N;No:ql:k:$?UUAad^=$U3.C4P5>JU -lt0joo&H?M-^hM/S[@G&G'DV#7qG^ASqctrF5.qfF/M7mN(TGgirga[iI -W>pF*EX-giLO,qTZ[b##Y-(<8Kbt1$&2A_i0UGA]/uteN_X/6Qr0Q5c>MVF6,RF`XQ&#&").4 -+^,@"Hc#C0W*&i-+l"faTt\.BX23+oHT%N&'T?E;S9Q8Dj<"I+4G)W(7,ou=kVRp&;_ogL -YL1@M+NAtr,I;,!6K3-f&QGf/k^jIBVD'9"NT+".kmn.U?a&V1K(`sNmgj)R']F#P([a"2=&>]iPQ -FN8cP7tc(VN-\!aHUjen",(o7 -J.QLa34+TJKYTBraNTR`e;QrNVb!J1)+_4AiC5e@NX)4iJ66H<3!ogLIKT@$!AH9m -\0ljS(kKV:],S+>;N&)Z!KHU+]IUIm6?&5XW]BSN3m5$)bVVq&1qHWCViVgo\q:Nf -bH/X[1$ZTR!=#J0HP\62%@!F+I'BPR]dEg0%th9k1U]qkS%chH8o2$K'XOa>XLmi1 -]A1(mKX/d[^E&H,_d[Yb9B=9d^+J5C#H:f.=.&VFT79LQY57'."D!Bn*79iTe?N7p!<_NSt^SM8"`\TP'5a?5(<^k#IU=h+r;2ZXaRKeNjf0Q2J$DhhEq -R+MCoU]SWqY -n/g48_Kiis,Z^L^o)W)Ic]]*;AD5tJM8g1j2n>].9&h`['1W&<2W3$;oX/a<=2-i"G$QsC:1-7[4/8Q:_9>a%FoQN -8+_5[SQSsp=Ok)g@ -O9PcR8q8lo#1*ATe;m/fDbi,g8Hj*)X`=[;X&g.H=%pii!3V(_!s]*?!,u@3:f4(i -5u1<2^ORG%@@YW5#r0Z:W?L3C).$Dj[*"59^)6.+]#p)-)7e1RO2KrX`5.#3_H8YF -fZbJid/Q.3WOcoGar5Y0ikLgJUHPBPb3YeD80#1Pj&k-);=i[B(0%]nCsPiEBd/9sI[L^dnIX7tp.4"mBZN883i=!f&k_]_d98aEW4PGch$gL0t1> -=@rS?8ZcYW\hjakPae)GUdC^te&h%\(cgES2DFC>S!s?'$2K1:14r7`K/*/JX!TBf -.i]7@:k>a"9)#OVhSA_I1ZLR$Epj&)c'H6P*sL?()?q8)l@OC/SD=u"bs7]ppf&!@ ->HqTWR-ComEKH+=_h@(-9#"7(*3>gk%Qgqa+r!IsrsXG<^s#9cfJE\Z"#D2:0Sgo+ -YUSCur.BAc1?^16;-P#=,K4rETg?U=nZ[RXiNJsMK.KnVcn7aX-U]7CZf!UEU$t>, -nH+Es)kHMM;`Gq+o3o0cPC7mZ3$/0G*Z.-gK&@=EeOP8%&;.JZJFGl.O:;>K7Y',\ -KK'Hp0L(*_56I8b"-lE0**r]F_ZEhd4`uoeneqN3F[mBX!9au(>\bNN?%F5,[JaOo -SRZ0+A7Mc)A%k*9[Q\3H53(KaA.Ck8*^A^<6"D[0<@ACYYRl@n$3=fZJ;>0I!!WN2 -:B3@ML?JXBmB5O;DogaVAI,Zp4`]X!F(G'G#A=-nBgIL,5R'bV!3f:PYRlGc_ZE@L -[/l+A'W9Ri,oqDm5$P9'Yn2teO9)t^%LM0og4[Vb'O0%hAr%A:mJ.@k]AHY*?_j8c -Najg5qT?.C9s'I]/?PiCQRjrXg^\/U(2[2,?WnJ>QUJ77hJcYAFm$J^fEI_t-=>qJ -IqQRc>#iH\ZHHl]I-:K]kQ(-VUmp)B'3`osEIYS*3V/ -=?T!n4P-jXKPS)W"cJL(QK*L!_a(lrAHq6$IdYe)OM^a4$[U11P4TY -YJ;R6(aC'5$FQt05 -L&K'rkZiXg>_T*_"g%(p/g^^].YICa\KE>fBHFk,11OO-JDUN?.Nj9g#6?Va26%e= -n.>ZmE?YM,]u6Mp -?']+P#3h/=F.U_3L3KUlGb(FP96&YP2`c&!6'YeDkMJf%RWRa,1ipY3oG:5DG>4Wl -8SDgng:aTAh6,K/LhOef><\)%B28,<83NH7Be8-6G=lu?>:]@(6Q1E80]Mbt>E84N -O;/pTl_3so*Kt^m!GEYl&1_ZA9,-T!J7rDIVuVUQWt[72a[g%JK!3sC8'N_GA\P5( -]F*J.)sZP;ZL-?2"@Y"c%@U6C_"PWt'//];/`D'c`5]@-f&.YK(S!9=S_OXY'e]X% -fsD;Kdq6Q<+nW,'!sS/MAI -6qe28%oCn;1`Jb&a=P\9RUB/0GV0Usm0p1l>&LVCm_p(=h=M>bSQ+0EK$Y3`^dJ1d -6`&.6LG/db26dB_FoWY.#B0_LE-?aSG5Jdm-)bX15]#n>?uJ;04[;Df5SA]0Kn:BK -,T/R&FYRf97JL!`$EEc% -Y^T]#V20I4^VG2XF'!="k`kLinWekG^5$?X>G]qcZ22^C)%2,9XO(`F*XP`I=6nGlKtcYd\m0-^4145@Hb80PZ&4b_ -Dh>hol4Js)qY>uAai8Ra?:P`o`alBc9XW1eRuM&8q:u7)7?5RUF#f4LRo?68CLaS7 -Zm9ZSg2)N@GdV9FY1;ubS,Ht)IDXo]ptT%\e7:?T$qA.>JE4Kn0;cVnVPkf@oDq)s -!#NQB!;q=s+9#V3S'gQn5/7]<=:s'9"L]0JeiI1oQS]"BiQ,II\IKkjj1qlj(j^tG9JS0?74bZR -)$e!&GU*He0W#SB,LA\<'O\18Aq=Q&Ykjhs6*tN\#4.jta_';kCmcDSN`H48;'$1/ -_l,sa$\::G+pGgt37K1HN7JjN+b\VfU1*P;*f,CbL+3O>R)_CNF83pDMR44X,)Cha -RO/E,=P$$%1jH_f$c8:,.1$&8NeRd)G[)$g+\5EF"^tCj(7VX,+all -4,bDoj=Lj/E25E%@X-H_M^*K/1!elNjt;P.k_p[@_1k7("o$ALP#Shc=&FZS&ge^^ -e4?!!$c@[=3+g&+,=DjF.#92VJmFNkMaGs30FZtqbt!aM(oq5()+[dDC/jRpI8p"H -7o!%[gtin6](f^;:)Ck+2=/e2DA\,&?s"]`/th\FNm\e7BE:SRq>_V@A(/0\LNj#I -Ro3[P#8j9K/5^:0\+; -co9O.JD`I!"2PdfbQSkA3"pLALcc(J+O>JoGPtU"e+gUPNTBmV?]X@F??_h#qHf5^ -k^)*XYNl!+hmMnL56&1_Hf#@Unbh8\dIR6#5LoK+T7>JfrSNt#q>T9TnbR`B^\@[+ -O8])D(]+3j"9a6O('HmI'`jt<$%]<5#=01M"Q4XR"Me7UK:j\(_IsPg_:/[E@9*F5 -@,V)QM7uH,nea"XF'W$r?OM2G"U/VLu-!i?Oh+E>P,u/_s+N=\d99PrI -MTh$DnsW]T$&(%p+al$P\:^IMPZj#,oU'\&P0+Z#1ZkL^3)W(Z8N@qOAq]!0PC0#B -"(Z6LiO1ZKBT3VG]eu]mm@4j$G#%cY%"YZ)3M>"V!e@L#!8*>LTJU,<:^f>hE!%-$ -I!eEGpca3.qAZ(ID@?fX.)=p97;oXnp!h+^l\db0c4UBIS5=hbZ -/YuF\Q5Xj15pmN]PD*V9:@es'PgQd&j\VpLl=*8GW&d[>!#L:GN!k4c?3K5+41?[6 -,L3N_87IBT!C9U55bP&nJp[r_i?SV\Kbk8nX:b`1[L,@EC^EB!(^%?S8t.dp>04`D -Vc<)U;qcY/ao""#T[M&JfMW)#A1UgDMAq1:NNiLl,hW`VSIL2!"fdLqK%3iB(Wt-* -9VFCt!\+Wk-qXe3,t3NlgM5;!B4aG5fJG:h(p0Q*B*!FQ"LLe#etUZ)MOeNa4,$FB -@8E5*[)!\*,u;]e:gKaDXPFL@022nnW+FVF'cAPgLl*LW1HOM/]'>a;,,tfsWDE\9 ->ReQK4:6Y`,R6%6'>ukf#sp%0KM`X4Jfp'biAa2\&?m9E^g7NPHm]*eM@W$(;H55A -Bj8QPX"Q^dZmO-?WIU!D6D.;dJVZ;F'`K*=BP11NEnCP'[a;.dA5BWj1^<8HY![WC -:n\VcXUK?4JTE3Ob))?k2Q;ehQ:(nbq.O";b+!t/0F%Vt'Et0-#K,Y2'@?qi7"N#- ->MM/lUXT:);:5J88DF4JE\`Q($jT0K;[#HVNe:_KBbrUpR"]db7Jil!6$@o[]S^3e'n>%6^Y4-DT)E -Mc=Fs;lTFjXjrlTEs3 -\,l`e97`3V.DVmZftuNU!5Xj;#)YtjnK;_F@@Aa_OL#T#?qa)L&g78EK$%Nk7Y.f] -/bXGK!5jS$lr`Mdj-F'oYs`^Dn-h7p\.KLn":p:gQ4!ageg<1b8F[`@Km8@f1aQ^O -O>YoB:i/*E9=2IY/FCORT-V&rnl5ce1191`+/M)e\k>B07'?P%W*G[ZEdi/T%P5X) -ZRd)<%Vs?b0qRU"+.\dj/^:0E9q>Q7SogR";eH[LS"QHaT<=]E%;6_b#n?) -_r?MI,c&H.PY(lkfKc,upGk'81Sl9LAP7L&r" -(Bb3`&pl<1$fIO.QpAi3!F+)@^;C=(R-e^r""Sr;Y]XB8)k^$T&$@W;@p]>44f[cS@cG6s._P].g -!)F/V;[[32&Wn"6$S8dKoM')Y#B,8)@5J&e1)ReD(r@@Rs\1(n!#"TY\j")_sIk.8e+F%84>-Y*=p8Jjm!&g1RVAZ0f<9QuI7 -GXm56Z(BO/U=O=^)A/qe;6(WJY8^?@)j.HGZ*t\"_]09/)tD)k;9^)CcQ,m2H@SHe -!([_W1\/pIW*J)'-_8(jM -HP6E8pOMN?^cW1'oFgH!'`hbF@:8#eC_r`c(M'lfMT-8on44\O"G"o/J4pADS-sl, -"@1lZTILY<4<"n5Dc-`]XcU_cPTM"J+"43.b/P&:WWbYe(@S45cqa`H53^@Z.[$[? -UEl=LYq"%e.t\i%&3)/b3$H9!QOBcB%kB+_'^3n?PjVH2BjBeR,:u?sR0*Zto$K*' -fe"hlkKl>Z00\Ohoe/)p0T]2n;[5#j"?9&G7'&*)K%V^H'els?0f(.F$JZ+V7LgRu -"!K@VJSH&&(`<@_!9(@,!"'_Ie,Z2m+d*\d@FCf7b07]1(6-HK?oS```!##6c+p%Z -J6E4K+YpBYV@OXj$;M`3?T=6$3HLZFMI?$jC-g013Q!3tU9(tY)H0BpZuAk.K9l1< -I]4u4$G]QWJ5Q_dfElVJ#XiR#XIV=L,l7ee:.&noO1;BDV@8[_%cHR\@-"_'g;X-D -YVZF"+QE>qf_s.SCX;'@:[&K[gfh_#=tD#;J5\YnC'kXJ%$/oGYR"&PMT&u4%,d^g -`,8aU%Ve70A<:9GF.YIW?mek-Q%NuWa_mF42+KoL?:$9W'Op-=NuA -?3Yq'"X%mli(+*gU]b)$%Y.:aJLUgh.M]a$'u=tq@<<@%;Ad69"_!]5+D)E5:^;PJ -&qGWJJER4Zi'1B[3X#(Y -:+u$6Kio6X89^3D>ERNAZ.W@S_ct[3>SY@c8Atl"@P!"bec&7H+PTao4Qq@152%B>p+ZBP]HU'4qr -n=Z0qi5@[m1`@_0'c%LWW,lDrCb72N.Ec)SB&d*[r%BkKn!*0EPRL$7U4uXj1 -`RlBOe>1DQ64YAepH*[;NI!MF3JqMAZ_n!$VP[DYGrMf0(G8s%-#_5\46%ABA"X&c -5RAQ:#ip(5cX7#7h,pZFGclleB#d*.Da*I[_gn]a5js4:qYVi_5_.BMbX0;QHEmo( -Z?7e*b:sC3,-JqsA-G_CPZJGAA?m>>Yi)g#YLPlkeAUH^$6Y:(U;g0:*j]E<7G"/X -<.a,oalXRKHue)LsX_J[PY([N!"=)o8HU!N6kY8f8dq"T`cZTM,ukhumHE -#s^f`+G9m5Jd4PA#;H4k\1gkG3tI'V=*-F*cjU;m'!^p+$J?;ZQkTrtLB(9PYKT$7 -QqRdba>[3T]aY?PL9Nt?0F5lZ:DTs*U(.D00P"0_;h_>RZ76T^-5DOD)r]3FJ^PTI -!ZlK.Bd*LX_)MMT2YQ(?#Cp2*+CHCYP4J-fcV6c1!'aXa+pI+*G1EnF!ë!@BI -S!gaTfsR=f]::mrS6=%*REqCKe"#+ASJg%MdDc8r1'<%j"!BlM^dnbs-4+)r!J)(* -J-m0fj8]5A*l%asc'=X,'4M^s*l%gu_3tCUQkY;hAAIgH+@lqTapP*R#U#/,O(J^V -.O\t[!pJ_i,[=`+Z=I2u -%WLcLLn92](AWgm=4&IoeFdm9cF<.7`UA9e[]a)?:i'MMHd>STlt1e)%6+YZX&fbr -!jI@O_aGDAV*&fF77Dp'?MGn"GlD'#;D@$^#U"^*g^f%6G7TX8:GP<3oupG%"OJ-fUa#pA:2 -i8PCM.5SaZ(;Z49Tp-Lh()rt"!C>?Y^_@g*iW14^*^CD\6/2Klg`8X"*C7UEiPHAg --l0W9!s'/G+?BoFU^A5t"X&C$B#?sC1^.>,#?4;sCg^qd3rOeT#p><9))9G@$dQPM -]R[#e7>e;$4(j)6<^;8InIl+d$^7>ocXqn>1e(RiQF+VA#XZQ13*'4j=9[W/EFE5V -6!t[?$63L,!+FO;fm09'qUpE\!oZ+Ui4j_>iL*IrR?;mF\Y#<:3)m;Q"<^)8-Xm1g -YQL[]pIF.UY6`dg&7u*;:Yt[.L1Lj!Pn+=5S+\sX8l\3 -)up0_!R^rkdN0M4*]aWLeeb8J;.9FdVrQ/J6%T-rJ.]RV&V.Fr!4Sdd+p]-$35Cd; -MCoFaa;.8M)b?J=_;YH'in74SbJ!,l+h46Z9FkMr%n>Ca0k^q5;W2#KjDS\-@#tYe ->R5)+#Q(V=moGeo[AlE'.jQZ%gefWZA`m0)#)f!\rV\bc3AhN,P<7;n8L -Xg[!K4-/Y*OJF^eYB5&n3r-$eUZT:c7XD-#6CY2c^[$orYhjn:2\YL@U$Z1*m:-g@ -ep@&J]FEUpEFAtP_#b1@3Y6i$"CU1j@(G42O`VDem!dSQ2nQO\YIA_HmCsV0h[2\< -CFS#=R)":Wi.%N;M@"f:#sb'd!1XC(AdTZ\#,%n%!,&,n?jT"p#`kYOh?c2[Q7G%] -2Lp@hS"/O]*P98C67Y)<=:Ja-!X\_NVllT6]=LB\LmNjIPqduaLs92ca!5K.0>"]Clg)7`7OQ! -J\t5^\Jl#%JcIuc&)`OO/-pP_*=bR!@AqOb15J>m0fZO@0bfU9j)LIIIQ\j7aQ*t* -'UDT.LQ(>8\7jH#%N8$;@q]iBE]Aa_7rYHkl?bN1bJo^-OORes*"5D:?-",Y+Y[Q>duM++Q:T7CA/Di7%NR7rK,,#H:rO[u7?.-Cq+?!Wj[Y[Zu;4.;>c -91DGsOiPAej@!N2(5jtXiK1uc58TAUJg6_[.&^s6)_Or9b'8G,M>@2oXZ]si<:@m!,5#2japHR!2"U@=iZjdO4 -;%tl$7T"8M'hD3/N?:_i[&#EIdknHi9N-'+4&Ak?Qs:#Qii"+Q%q'AM9EA\? -[Z.:*Rqd6X9<`"i%Yq<*]-bk/m5m5VZu(/5gUM*iQJ@q&l$.3Jmg["@LT%hVj1"LT -(B_Nn*&e,?n@V7-`GrOd+3&=/,&2mKI(&RIl`"5;c>l&A-`1\WG\Y5s[d!ecgiQi2J(jZ\Vha2TSem=GGl/D!(l%#m>TjFIkctm0 -nA)[m"N)A-&ra][:b7I>=IF)`)/>HVGs41=omOPTb*d/K\prQ)$('KAIK.@^rI;T* -s*p+2pOdLHI"CKO"i1q;K`K9hK?,2H$tMa3^citGJ05H`8.c.?&.!qKIKVt/3W_"t -(]cU'$"0t`")q^Ai"Rgmc.!XEp:,/cZhB-l2>[rkE)07`4GSV&s$.EX&BMs*"u.7p -K*0s=?]jFTTb&B#0WGihTr/=8j?*Zth%rEa?jmWL.Krqq(1T%)$___t"p9Mq:=*GX -;4&WL1567a:b;k5H9?f>2@Iia9Em3u--)7-$I5X7-h0kRKddlY_j$2j_3?^D0V]U\fu^hRQ2R*M*6,,A>!Pd3KY#k/:S^c2T##U)`HPS.,p=pQ[H -*)oOZd&J$RBl,/o[!&=q>,tM8m<,P>(:)Usqe'_^V73nak1\S%EGmGZ]snjWiEPW) -E,I8F7KA5Q!\e3iJY5C4Tb&c++LE.SG]aWA0M%):&h=/O"rRN)!KKPk7-gTLY.(.u -/DJa^er%p[TQ!ASi(t4ji(na$M;_6B<"Z#^<"6X%2Mn(\-:TZu(o+#2%\_k^a,LS' -(Uj\nJ]rV`&.TODHjbf/#UY75',?,o#E.Q&"%GPr!M^_=N)=m'`Rpj$CTKf+O@gDm -\1%ckMHD^jGr%2H:M?oET/@CZO)bFpaNZu*j@6"f,H8'u6n$iSr1NLj5$,!E__#GY -[cuL%G&j_IC,qXLQZG&ibo(.Nk'Y^K>q;/3Y%'HoI)sp=hJUSZl-s=hpk[XAIEr%1 -f4UWVTJSQ[.*gf-'G?+bZp'2k)Fm>44WgH8YnARBa<(ODTFl`o6jY!C,D;^n&gn@t -T$O)ABe:j9204G",n9\a\*W!pI]_%ehd(#gH*.K1bQd#G(5,M_$A+@Q"JM>S!Po,0<`4qcb,$YD"\2LeoTQ4pqFE%!rC#fM`/Kh)(b^^c"0HM8k"LXE43D+3Kpt)I -BL1^s+`eI%[nOS2#^"AZh8aa.&p_1"][rJQi7soAoMpD_hB@$c1iX$,ME2 -"p!Eb"(Cj4:cpiF:dc>>MVX03h,Y@2#sJ9Lu1G7X1`L'S"g"(d-Y@Y0fk&HK)G!l]^V -'p33%XGJ$]i><28%[%).5sPr3URKLf)C86#k%!et*(J-^63 -i-0sd!!g&C#P9l@@:?j>2mA]]Q@O8c)[lk*%>96cR4'Kb:ai^/+Ks2A3#MD.)F4C[ -+ou@#"1SmEYZ1[j<=k7-#8dMt(jH#tGS""cQ5hat=Tt)cI/jP$#<2d?0P5iCAd+8& -"cupgLg((6"bqPLJ08s#d!LPP!/Ie)!!mm>OE<09@g+7g"X/q[&2XD11T)JY*D?r4 -@'W0OB>c'/`&"Kh4*Inqh]2NEM%jVmS7tIRC'bdr1+[5\.j;3'F./>8Z=J))=I(:3 -)2]<4V?.j.\ZR3jHb/6fa4%H:j#o0o)7']q)o/;6XeCWQ^4aUEp2$U;^R6:g0s8N_gN=dOtk*[TfT$$j8* -,aCr3S&r%-a_[Ni`1BQJ[i^I>2lh83CkG=T[YjnQ-NG."-lj1=XUE3?+$2_i$:%9;C7A!EqR]CSO)W -oqF^F,(cqKr8P963.iH=Nkd"O\j) -.4SECSFXhLNZ"pbM9C4eN.O`R)i<=U4$\N,Pk,c>3#oTP!O?B7g1\P=SNG8*!Uq+\ -kT>As*s)]eJcHsFW$)4%)hKaj!QZR=GT<\r*!0LnJZpDO3#ViP+T[rQJ`msPiUeMY -%=s[k$K*$-GTRug-A*ubK-3>Y!'LHfMo3%pKYS"L\4M4t8Pu-DTP-'3L_YMfrk'X# -8uuT^7%agKHOA:HKa8'?!,mBIDaT0]OBaf$=98_0E<%D,"\8q'82pVM2hAISJ[=F7 -lR2f/JL]m>Jl(t=3.d^]j,V&-C+-Iqr&ga/:Gg[TTKbt1$&7kiLA?]`l#H;C'd!H#=!/J`' -7AtP5&:7'#Fp@F<#4f6XGZOm,_ -KZFRT^c&iHs#(E4bSeDqS"P=Q635FJ!Pg==(bPpc%>4FPJ=o_mn-4U9D1FT_`Me0C -3FCF/"t4jl#CpoH.!/@kD[*;MaiQ6+-Ff3>l.g6oA.#2VJLdoq;+('g`.T%?5/PYIH"PW -j5'ooaI6kbYb=XYRbg>u?87gR*0K*clJBMD/52768m+_[khcR3[%-du^tCeDkF;+d -?WHUQ?1D9=pYTM/apImQTV/]l^L)!>8o%7T3rcCV/j-eNTP-)%paiV^OO7GX2?ik_ -c3E38ECO\_"&*3l:dtV-$&*>/YqU0J0QGgW#Xlc9Qah=[(itGi":!pf"gCLIfLJR? -.Y1DF[.#7]6X3pNI^9U?[trcc^)i9?3R?WNa)&k*FnhJD_5%,[9Zr)5SBa,Gc\%ZE -e>qq">::fE*RgZ4!k9b55i;`81]p(3K&`?85U$O25It7qO(8.5nF\(Yi1%[DWH@-O -r8Z'n1!X%dWBJI"m-.PApeIig3_6N,LtTL_?t-Y#c,)Tlo;a+[E+",>*0o@+gksG\ -.(?k`)XNfH>knm]R6Jn?hOpU3g%mcD]=Ycu@J_en(SGS:1(/qHPG+\VZ_E$3;:YGW"TK"s#64g\!)rrc<)YJ0J]5)ECdL>5XpP(p -NK$Z.$9dW2^*C7i3hR2gA#_^`jrsRL5&_Wr!$D`F-G"QtWefr8l)l?K6]DI'$5uR" -6:*16(fONT![njE;e$V/0h*HdKaS9C#\O-FAqn)(L:D4'0QC9HDqa,d#-\78WtiTE -=G5lGK^`'AH?SBCY#=tCXm6:hRlp-^Xn4U=-gYg-Gf%,_/)TX -lqYIbhW3!8pdKD'Z0\4?a: -CP1+:X#h8PX&9!bQLpe;F\29rBWm"q'nTL\KCi,sODKG!cbTEV3ZL -M34qMUnO@7dbUJJ8,1e"0S3+6(U*L+io<-t*+;@0Q-,"n5guOBmOt%#!P&JH.kLc7slR -H"O4T]KeQ0#Wi1Y$\\.Q"fPl1BOV15"U:*8#2!gD5]5#SDhd`a#57]o]N9i5G_Poc -JB1A;#W=@"+G"JRX=%b%GnW=SdQKLdkZ+DF_.F6\GlSD$7?DWAaDV5A$3`CK!=1W8 -a;9E>mQ"AbU[>h1d.B>J)M)Lq>eblLrt9bid4%oa8&-";qE*0sWDMhl:[1* -TMrhB\e7-ckc`-DH%H;J!FR1>5VTtR4ONXiB-:*+c?O3aA[[L/"mB-?OBMef$O$5l -!9cb%=:p0^J/1R"E_s-)3uAGsK/&TC)[qKi@M(SI<[AN=7H774jA]SB(Q*o5OX-/R -*tO,/Ttn`_1`-XUAeQVPZo'b39;aRkFO#:hT?Sc`);Q'N8"NUle>bqiSP?%].TH88 -7]BIiW(c!j%36rm)&N(0R>ON_An -LA3!Ad?)?ck48?.iph9'>OE76j?etoTN!2"_%K&&!&#u-(3QuXH -a'n$1*_4!MHli>#n9][U]8h4Y!$T^*!=$B##+3D\(2'.F0uSBg8#qI_\1rR6H%791 -D?Z?di%.%tTa6GrKYd.u('``b@e<5&43mDO&nBK/4onbd(.sag>:[kbMF@;on":Pn]@pDhON8#'C);L"(5S8Q4-h9hSL:'e!uVLI':- -*s\LtI9HkuLi=;fo0@"d4E_&n@3ZO>M.>1]9oW^e(1!JCg(n7rBA.NgWGC5=c)Y^9 -(0*Y%L:,ZM*7o=pEEM"_'[]r]hkV*gR[RHes2ikH;9m+l.V/eWTkD!V5ii" -^9t"WRa%`f@Y)%5>j+K1MX?.ehS#i!JX`qa#=4/b-j=(!h@YaCBJr[rn"Q!RdW>_oA'n&(uB0bC`%nYTMd3O -@*'[.JL6mufu>WN`WDZB5T4/%"^)BHOQ.0O0aHZ^HdCEr"P$T/GbrYih#YfZMr5Tl -Om@?7#+mYmM#<\'1:'=TbNL%RIQGn0G[(k[pg$,[%@!oeHB!.hRoa5Hmr -"8(f;@SR0N%7qrNe@Ll:Q;Hjl6o-/p -c.+kWqIl9#XqK7;&`&R^Q7cgKNocENU&%\(=gF?)sfG -/V&cgJj?1:JtR_tU't.T+^g,G0\l`hE-[nIN]kG8!$?9Ig<7U_APnQa!$g97JA1%QU.Mq+R&r\Q(#R3!*"(N`g!HEoKJ<7J]!'"3kJ/U#Ya:9"1 -j9LU2?nt4H#92^M!=qgVAW@&g!$fitJ?aPIJ>e>5+FG^C^e,6UpaZTbbSWLn"F>$A -%\sV^#QlI@fYQ>p_a+24>GV[S',0.pag2U,Z5l7BC$SLVd7"Uk!L-gpJIj!c4H#<[cpYu9/0a/RFd)B@6cq[t+NE'@\hV8^;^rss -K*FTbZMO<3$LOQG=.pg&hFk.JLO,;WWL -3WhUMQ/o[5?@uj8f1'CI*LubT7Nlau46]crT3Fd%dO[1CC#')nZn@/]>)FIYboZRf -4sl4!-VqE]:TO-EZ-f[6T7^4AMrNdGB_p%]CCPWl[J%Gh)\6eq4cX9o<./d=_BI09T; -0`kb"'1$#!Ee+LL&?V_4p]eju>8S9MBhf-b?p"gIS1P%t0I=`;#o^;0qi6aD3_#JD -)Ii=DMnpqKKW3E0FK4R2L+ts5_t[d65]$4k]_kHsm:/"Rr!! -3WNpY:_YJApYqH;e1-?D&0\bqU__pf?0Di-06BICe_YlE:.MbK5kMkq'*Z+%D$g+C -Y)!uX7oB_UjU#-VufGdd2fu?l>]14I0ZV;'Autg -#@Kk.TYL]G^6p+*RDne[UU&Id@Ktc!"TYnB5Vs)sOo_8<*?Y\0.=<0iXHuR6ZEL2H -5RJJsPa3g,(',$MJI](1^'=XGFQsK%`5&.PA4h_?li:.=UY>-oE:*.$4qM<0OFIJ; -^Be?+9(66octNe?JI+^%lU07cmh/a?^pW*J$"-jA+Kbl5Wr1et%fep+_%Lu'aq/>^ -%m]=]5j!;V`,:*qhl^X!8r-9#Ni>XD-plbm5W/^P3Wm/["<^#6!'_"r<$d-BW[aC> -0bCN#'X(@I&WmkAYos_L,n\NR&htmLE@hhY0b\O['Q^45X#E\ -3!Wio"9>S7TL',s3!01<(gn=#/hA"LHl`Y:S3d#NbOHDpAGX.3YsGr<5TCV,:'.+_ -&YM)q@,qGUiX5`a$HYgF:oJFcC:DB*TcdZ:KAs@/dKiOFm%C-]!29i$X:#$F$UDQ= -J?063%LPK3'*+I7!AXq31)"&?'4Ej)@5nlB-_R9V@#3C0ZNh+R_O)V<7U/s0ZA3O1LOH`>4e"-1_WSAdrh!A5!b\> -@@S$^//2e\%TF8N/kf?c`-M^R1Mgas<$Omh`bVkn8YSCr#)=]W.LCX/8>lb@VoT-= -Ndb^s:aa*d#S/ECX%IEa0#3h\@$\sZBZD6+a+U`ojSj`b(2)jo8cXm+i5&,1XpVtG -#iLXIb\6D3jU(Ko_9VD$A>kLYXpaGI$V1Y"J?0)CU'`N?H&-e9n=rYa-^=9*`jq77```0O%O9/JApZ*N[WtJ2'Y)$Ppo1]CbAfp.$fdM -0Pmi849`OOZBPU0A-\d%"b<0QJ5-MIj:@;?%/p/:9$=O8DTa8"+C)Y8XOb([T&V4+=hAUrO!b#=G5WB>U -g]V$<5p2p',b51'?p01^A>@gQBM2+'Cpr[L)n&7Jp.],l:^-Q*Ai=L:mc$tK6GuJc -#"rL*!/^rqL>Mus$G]UJJ@l$qJH=/s$G`SD5c"h'PR'N\#S7Y9:u\Fj;%A]O/`8^+ -i'[]U7QuM#"MdV4&H<7@2f#ZaD6ZTJd7\?Mj_d!@DAMVWG40=WnS`UDDmo7UpA&YC -rGX\%E,b7V!(UiJ=9UrjT"o4R+@H[t;?DDE*#6sD?j7WI[p@KN6kP)20K21[:)Ulc -![2FpTJ.%E^(;bn%*DDBTSXUVMEP!.;N?i&6eDS+ed9D[l2\1"GCU-HKFTqs%RB$% -GE*.UiH[].K0ZRL!8\#ih@%,J$c&28@$h1L:DJCF$Gc?;5kYlL-kkQc!Ps(M!O3k. -4?/D-)8Hq(_+Xnr9Fq1^&-0iU5fsC@:^L$,-8p'ZKU:"#D$$s7m.T.9Ec$Xh6g^s!3Ddn".<"p<1M-$N"9(eY:5#]e3" -^t]Blh@8DuK3+CaVq6\`Fbb3^%Cgcopjl-^^kVKEmIL6KP63`76]"8%4/\a38Dc.6 -.)psgoQ:s?Gd3.n2U:nJng2U\eLNQ,5DaH&1khCJN?sFF4\&V^NL8L'ZWd"iGE-M: -2KP.B\FGNFQ>,!ufI]fYm-\,uMG6P^0Nd(f38Y2:Qsu8L>uRGZ)'P+;-':2:OuY%U -Gq<.j\m6%eg)2YY@(ld%]VbcW^%X&t'ri:92E&*J2L/Ia_>Qc1hQ[)D!s(Fn+@6SL -N!nR*"e^p?)1dtGhO5R'g0fPHK;K)8MAlO.)].)2YOEPt#TZk)(*Fq>!;$Boo%IK* -7OHPsW90'cb^,6XQoRB$<-ioZF%@j]-X`,+GWH/ajR4pkU?GRc8!o;BEX95:$.RQI -DZ=p2Rdat,euX*p,r84I_FWn;CjGa;^n0bT#>gAU:+/PD2JH_XN:*IrKg_sk)?^G2 -gOS4b$E.8<1@n>>Io,lYL]kng=jN!2QK9I3<_U_qZ\O\)OAs0Lf$u[8Kkf4!VE9%' -32.3YATEdS2N?%#biXmbBTY0fDI!ujBMtL_ntB*qE*NR&jFFfF!4S9pn.Q8B(SDle -J]'u[?`eTZXgql*os[;=dW,"_@9KBH>1aqEJHL'8)B]_4+`s)@oF[b3"Q7%%je+_? -'F$gm"^m].+@$G$i"SJ6,,)@DiO#.!iNHs9(uQ5J_()gB`WVsOF[2`.TNVV6:*IQ= -_C)n%qd$Wl>IJle[[Uj:]5b:VFgbk6Z"]cTWSD_XaYg"'c/;CJV=ra1`l18Q2.%niVr\A;d0:9FF).IK:3N9a:dG; -"/,o/!(IF5\H0L;"^mge^i!Ip:f79u:'CbDLmA>phkYe@$mfMK*8p:+TZ<"::6LTgHD)d(GY/m2 -T2a^E!22#Qdd7<"$sEd>0!leC5[;C/l_L2qo%FIB1_&Brd\,(;p_86@B>r[ee%Ia+ -NepA9X%NGZc=>O`i)tmro8Q4-d[I)2bV4lid.A0Ro/hpj\BWV#+k:hh3"mq8)Q,An -lT@W4`uo0Mb]3tS?jHb."b<6S5Yqjhe;tg."G#29?q(VKkQG;U%RF^RNTR"3B`TZWI,4$FSN -P)npMUOsdL(`KkU(>L9#!2Vtf46(cQi\W'.e1F$%2+*Tkb(G>4<)#dqU?UiL6EtXDF(2Y,Yl^n&8=jeP`7acg+NH0R:N2R"8/U#%lTb5.)Utq`; -GO[NF#fkd.'!dO7CJ0NU"u(e@KYYW]gfMS[8N7*3VkJ_#>Klpu#=)]mjYVG6a9W:! -9\K.&B:quA!hb4?;*MVP\p25U@Kt;7obbB(:I1qE5[ZWtp2qF:^(bm0ebN,aqPAV; -GiX/4a],ZDeg?6O'4+ar627*jf'bcu!-Lbekk"/i0r9\HJ;89@('B+%GHaOS,WZqe -bW%nej$?3Y!EC#]6?5L"&M();l.?)]5JRg)KM!I&Ma_+f8,MKOqJu[BbofqW'Y?j> -dDcbYJ7p\U%0gkKN5B-`RSDpc&h(8E@M9RhiUcVJ16tpneSFZ#rL=:.ZpAO5W%"[r -"Z9H@[X08)bX6?Xf88gKO-*.BO^NCH8q`7f9S]3Oe@>Ku$tID0(WGT6>a -!JA9uE>VAM*satG%Z)CX3E/sV0+&)a@53kt,W6T0#/_9o````cal,"*paSKE"i]I$ -aFlSl%gKop^rU1H]AE!8g`?[h6,aOX`ZkM/Zs#!nM*up1mam6/lYsH6?H6ulhNVIoE,$-E!-IJ5d3We"[LFF -'*c9lF<_&XE-s/B6I;M]%7;i10b6Wjr&YHXE>2%W`:5*M'1<=l3Y/`o+@HhI_%:oD -"@BWX&ImgZ/km2@Bo[Ih8!3KF+(sd;I\4CVr/7=JI%lSB8,SO!StH\\G(=4>ao`W\ -i"0b$7Z!50Q6;;t9`kO7":l%G:e3DM5u=3pL*=a'(XHN/=;D']i+a0bJ`(bnLpTFE -.1/EJ^b?3"36t)'!lZZYMF*jh.T9fa3\UqO!7W]^6_Mde%&2+k.LBRWL)pV0QsqKR -+ZRn7K7i\Z$'YWR(1Wo.&_ed;Ege4(*i:n@A!91Z1cL,`Gd8*C+rFE*:SD0&(Bps< ->aU7(pgiI@6%oL\LLJPM+:$m#Q6ci(e`&Fq2l5b4MIH"%*ek/)p_V7X-,,fPe/el6 -@+[5EEa,5["<-/`k`(E+,(Q==io=.j2%5*S`[?V[E,lp'(=6QFGCYgPS`H6 -OH#0VK95.RhP1R%8rEbRH[CVG#(rU_)$$0Qki,@#+_c3=EG^E':f8"^@:dQ%C?^JW -)=(JgZ`e.jrk#CNHPR#/i0d,QO_$i"F*%XkIbU"P3$lce-4F)k`c$4Tqn2Cpib>Z: -)tsHPE4e[I`A%0*)mJl0-Lo)&)`VVtD-9>0Q1F]+#e4YcLhrE7iF&*5KS*t[%M>N3 -/l.`4WDH]KAV"M$(1i"E=-\<8<_if#kl),(_[''lM'7,(+U0+jFr?&p7LMNPglJN$ -DVRGm`;;a]\*nZN#J9L&rtilLI/b;:^KeU`$+^$17d'Kl>aNk0I7sUDaF@O*p]!J1 -!;.GP"+KY-r\^V[rLd'nEpKA$Fk:t?K$G\IX2ZoNo'mEZR_ndWFn0aC!$(5/pCX[Gu/ -&H[IlM;_&273JW4U8V)n6!3G@n<*l?6pZC_"r^F%:'G&[QG_?s>sY\L#*B&/"/+?R -_dK>CU6onM@DY/-&G.%E"FMM,Lm/1$pAcGnEWAtV1^_Uugt>>7#-8^N3-EI,@1t//:2tkGff(g"eD$1KiG[!6`46@K -0ErmOEK^B7ftjuY#:qla!ruCb;tqh&TWf4a[.q+C)WCrP3KsVj7,;M8I%Z\_K*'T2 -679Y(A?;)G65J;P>nlClV_p^k[K*h_9&WQ=DKpc+(C5f]S -9rY``.>-cMZ`7`BRFsG8'5MXVQg$pl)C<siQ#_=BX"X(NU"+]YB6^tCt"1^#p -TE%/GhuFjU0dg&')'Eqi<_D$2IO&@o5!TDLO/(WO!-,Y*^i7/6!h;T.d0NO#!'UT! -%>Fr<5+aP-o:q8(BWUf%3`5>L=!W(=pRL@RFO\.:m%>9^fLmES21@gmN$qk -O:<)o/-KpN&]0>a$6ap8L&g'8_f1b?[NGb^n^[\q?9uX?)(^_3-ntjt-PCut)[9]G -%)S.0#MFVBdab`b!K,rQ`52a3[G&70hRa5CpKoARW4l?erAdhf(fKj6oN43'-B'O> -Yi[(P=J/L9+a>n\d)m4.,9LGINKUSj;Td[-H^nLdF)=b:\jJCA$TkbkKXPB]=3gEo -S(3;sh=(qi9+%8m7B)g5CB.bG"5mE!l7cm>gVN0/KTi]k^GbOaY!pNfmLJ=J4tp8M -VZq/OH-0)f0\ZWGS"3.]+1_Gak^fS'&V+ghMp!P"#,pM]_h`O;1#A#4R-js,\9%^J -d4IhTV#oY<4+\UA'S0Xh#nJ:'"!DlpWW*t'O<]\VIOWimcW]WTDi\q*h#)L6@rm^X -\TQYj`qrg?m@W%/-M4s7h+'c$mB"q;0S!_1i)9Cg/Go-&\f -L(17"@LNa&4$dl!Ze>WToGrPfe-j+^F9FnR=+N)43rgDi9%a"_Bu0e2LY2/gK:i8U -NasM&\=Pdu+c:NDiT'`gj'&n#6A%58DOre,hBEZm4IGciO75TLEp -N"Z:+i2.Wa)lf[5R].d2C8jS=$pjSKWiVUTYbkW\57@$IU6r?ONY^q^)MmF)9Fd(E -ImEK;5njnYRX1:a4t*cL_#+e[l)?rmqgh!GW;BZtEGiV'P,Rr5N]7]gJ.t:S&]#/! -.1:WV@q->_E2`+<66m%-C_sou&OI`V'DdBGdpt_Mn\Cq)S?p'U,CG_)6Q:B-3@^Dn -M>!iU\&/iSR2W1p@?IRbL,YVV-XjTVC^1nf[jm>".[lP>CQc8t"G0_k!_>KU!'Q$L -$&)eC3M:@UTQrbk:5AU]!'k@SJ_C5\%YQ8gKZIU&E+1Q+G=7%rXE]e_#a'rlPDMhq -^!ZGAqiq2t(kJu#Jab%<==/Xp'8#Ms"&M&[#W`(o%g2[_";j+L(cR'1'EZo5JS6<\ -(`*5\2nqB!Xtn5&32AJgBF6]!+9@C!!LhK#Se-Q>QX+YJD`m& -:gFEYBHt$+LPPs9M^H0$5W%dKar#q,+XY/>FatTWL;3qH].!q(9nRIH!X`@,3#3qS -'USEG)Fu+TThL(831$V("&YVu0I*Sk4t;J!2gJ#I]6/`V?&_.C1S>lm5TBhj."Q=c -K$Y*]a?BUF4bZE4Kg9C'3,5M24U7bH&tj[R#_!#W!f*^u!'k`5!!e8Z>6+_."CN+# -?nm6M0nOor!e;?'J/+N:LiI,oTF%2o9.PD"emCM'$MhV\uDK4'7g]rZ<)fVKf^?1!CdZS3+a -*3q@IbXc`(0QDgIV6*!X"5j`CfJ.q:0`k/f!_!;iHu%.&#>tFC3m9A\WO:/:#WR1D -dM`S@gV(4A-rK<3;N_bVPpRR;"rfT.+GBnZe#H:L0N,S,T(0sk>D=W&Z@ShN;[kJ1 -AN*O&2q)V';k5pI**Ild'`sIR!@T`,(_;9*;h2)ML/8*Z89'/>EJl&+mn6#aQ=U)qML<2(R.!Ye0Gqq2&p^Hak*[Y] -6;]rpNJcAROBD@?YLG&I*:R)n'WA=!fbK@rSX$/]MchGE^r.Lr,Rjc`McdZXfkli' -ZB1NOR8,>?g)7SqX(<9NA!ork^bdc*EODHtP<<\5W!#&Ygc&E2YX`6i^U_K1H7M81f@R/e(?" -01[8fW!`X5IfVeCNS*`Np%nb,&cj5,!B:aD0G*.:%=mBm8N`8G-3Hh7"5kd7?sX"E -D?SmH#%3/j@#bS%SdSql$t-4Hi4]X44I-!^QPTN.JmHlY0fK48;,k.V"r$ig*1dCk -HN4=u1,3612B,7>;+sN&\c?XK5]4:qLb3(\;&:BI3dg/!TDa -K)7c*GVYMq>ULG1[@!9]ShE%GErn2]Jr=iZ+?3\IQL;7k\+EQLtHP3!!J.R*`:^%)#D1J!jL-Q6'5Z7]&;Zmp[";iipIS,2' --\:AWJPbCL\.sRPKE8,`jVBKs,hSG6>8Kq;9s>qg`8/\sT$@(\AY##[.I'YoIj_jA -2o1m,FQcJal;"UWRVMdK*!W/t(oP"c'AW+6N:I(Ho1qZK)HjP:;LW5l/`t>pVg4UW -Bl+Y0J[T,>;Y;OK70oEj#ItNO.hr-;gTS2rh4_i.h9L=-c?#Mh$(2O3d'1:7nhC56 -.tf4Y8pd!3$_)p%HN4g!Z/I2sP:"6O8VYT$J8etO;C[>*%tk&1K!jEJmX"*jGck$j -_elL>/&St_OO)H)dWHu&>IV6DH(\2Yea7iah13:C]sup\C#4o^`A3hr1Xb>LC$q5N --D"s)UhW)iC,[&Bb;k4.Q!s^p;L>Z89 -OBW`%7oS%r=$Ru2E$@`$)[jK`];_#;F9AO>)]sZ^B@c&bI=PCnX/M/9;c1U_PJT]K -/mDZ&km"bpE6$Ka+RR1\fO]gciI7_7K;_Q8D[C9YeD_n,RhO]rD]4=JDY>JRo)X2A -DaJG]rq5_,pM\(Hc7PJBRWEDUp[?,qDq^2;'J&O1Sf7cCVD>&Q<@$1BXXa0Y5a#`V -]s-`h1=p.C!NL8^^CM2SJ#E.7;G7BD`sa%m]:5gtJ[1ne[=(#q';85IJS670^c$kM -%"tb""iAAR923?_kQZP@#(FOD0G9!\4b3Sr"\QT8^]Xk\kh_iKnc4Wm87d&)dh70mFglE$+[O<83%n4`j27R`==!U\>-8JiFPJ/?<5WIf]Xn[[8Y5N[_E`1)\.eicldtr#\3M%k/ZR2oIBNg^'lM -Q@X/1JP[/7BFt;R4Fkd@"XjZ\+C]k'@KtHeL>593TR-YUHNs6N#6%'r5ZiS>=G3n" -"L(%@BK^tJ/cu)#Jl!en`#/S8('.0+JRB;q\/2#[;uq[(j[!tL<8,U/2._0k:$u.Z -$%FifDrnKq:/5(i?=$BCkMi#rK4O8m\Y*OWk,E??$))hY@YA?'F67T8[pEbM80IYi -F\eu$.&fF5m>kBD\u3)V:+*<'M>B,2R*\n9'P-r:$HG!9TCnfHbI#m!/ -LYHX,\`k-:BdT&ANg>+mQW!gMHtYNLC2)#k?R)Huf -TZgsrQ-,qdq/jV\1RLl`;d%&qFZ,gdB=#/A#(].6d:cKo,p&=CVG\km\pZK15oE;[ -UIqKS?of_DM?\V\R0F]uWre0eTIHi4!52_>#K-$2r-j/jR2:rh&N)1'!1cZdFgoCr34?Z2k"p%eT95L8*`rkK'b"T^aRKF[4^0O,1o -Vr=+a)RI[:E7?YG"+VE#NN5b4#/R$4&3R1=)$M?]"+&?ON[.a6[k9L3(rWG)L_be6 -3(brg+R'G:Ju)&##+5]U$?Mq4XH+X$LiJ^b)+8^-7uDjoUbr:-5r8u`7UR!D*2"b' -GCW2/nc0ae<02tY+;*U>Jd(*G%M8cX:b.BR=Hr3.cSS1gWim@.`s2X$D*bP&Li10u -Zlj1Mcjqn7X3\&9-Q1@>]dZY'adAY7M5V!B8HVA;@L3eSE#*(,?l@OCJ1&J4!$?!U -qcYUBj^NZ_kL&Pp*iFeqGb#r`dV/]9Oa7*GV'$CK%`!&M,Q`Q_1^r*2eZWfCf"a0Q -K3%BR%GQ(IZ#X&M/^\Xq=#JZQh7$\GGhs7-hg4-\[HW%q=3^Pg?e=-6Ic)%a"bPYl -4pcmMfM3<k1A-&U]L^*em!f[_d:j4NccNau8k8!)f"5#%:&\R&.!AQ`nZ -Qf_FoBpe%nSo("\);V_0"!GZLTS1-08eqS]=E#"0iZM8FM?-hL4Tkl/<\$mC!4 -L#BBJ6I8a;iD_B3:pLs*^gmo5W&KIP,Sa^[56p-B_uf]i#$a,@4eTU_]$P'qO%^R; -+Lr;VJ9hg$?rD!I>VCiYg)C,JAdk@s*$J-tl%*4rFpFh/6'k7Q?%=R6nJj2MOQdCq -9ML?eGU`kNV@u:(9F.=',!r&*%jKe56_M^Y6s,31!H9c4j]!(d_]EKN&\WigQ4ZV" -;N)=C]ekI_g4P&s` -&JS'W$,ZP5&gJ(pN'XlQ`n9PVK;gW'G355aWjHRtV'6Ch;?[4hCBT3f5Uc:O,@k&> -QdYS89?Dl@jrD4)P8rX%"%7"'@MLfKq%1baV(lSXaI9,(6;;/#*@@<--'Kb4)FIC4 -A')27o5LGK\IUWrm-U85^339Y(5,EY)NQ;XB[8.#4D3aCT$M&aVIW0]3gV/7f1m9Hc[b -KF:&GUcX0ldWdpR&*_.Z80@7[U,E>4q3W2gcn1h-rU(bu;'$lNP3"q8=u -"9nk4!lE#W!O5<@_&.b3i2eR6Y[e5V;@kc0gs8?_.LqG`Z3Q2.#f`NNMN%1Q2MSIG -=qagok:+>*dBq]LCH?1(h4TpPU9@c>^iLo5O9RuV(PDrQ'11V*$UKR^"p2RXK5`%E -QP;>N@+6)m]tb$WAul.I<"m,>/I:;<(PDAiCo[Hi]9e!"h;b1U/:rR1Lij2&4%O)4 -mH$.uJk)4Wenu^DoWp;bpdjGL%t_kO$K9&<#8%p[`,N!`6HEpBOfUZq&FueFfs%o$ -,ha1[o`.A/]FM3d!J_5n^u>2%LZ"C)6:DCm(k=gX:b!n_i"$WV.45RT&iKt##93i% -"-+PG!J`!@*(+fN%E_4!X*DYuJ7)*O!0R]k5XGXj!$).AEh>!#8TH%j8_"qIZ8H?"@(k@EO"s@"bJq,N^ -5mS;193#sfVJi4$X[OODiY9Bf_:VY&H1dlMtRC(3>)FXEm5g5ApF ->uR`q->Ys-#5ff0+\@?S[;9[XIT_JL3 -iEA-NBsc'P[qmXM>H:HN.hb?F)rg2i$`[)N6`;%9JQ*3b5\LHiRth1K$,m'->Sf`b ->]O8'0lNGNk!D_1F.f5RJtQ!K=u[u8^pk/ti*@6\A7olNGD1!T=q6*[3=0)T,mDXZ -(B\n(%DiA`L_2$B`1Wb,idao/0hU*ljAH:,E$U)22\4lc*=!/6'#T6=$_6iH -LB-lY_oRE663p$]@2:-hTTaT:E)M6Q81B(fVStl`;?9Wa-,A0"&AXMsLHo)a_f.dK -Tu8Dc!9P1eS.Z9m:b':p0b9r45(g(g&BK)eHXSi$CjOP1ZWpiR)j -n1TS#WZaE:M\3fg:PiN,2gLM4k/._#$bh!>q@KYA4X[)u_,;b9`tT(YQo9o[]GO+V -@c?\(og2.-2c#lRhS&!(OU>ts"%649jJj1Xesc?f%'`k"Ck'Ub0B^ZbK4bag2nc]7 -r"Hm?Nrpr##FH[J@Yma[S%bt_',nT@I@36 -[*>RN%q&?I@*AeiapJ,Z$/fn^@m9V0 -au7?12PW86n4kpA&;3GLS1>fa.j4nTE<(!$(XK0LYUTl,m'D!"^(5@P.)s#d(V%ASrPS!ZjYQ!("mL5R&/n -=9/G)&&9.q^n:`oTEi7^#JaLEi*'AN37\ODeh\=%',r]*+#7m^16X@Hdk`bc2_u+- -1K-@l'0eTbp,J2RZHA.673%+<--JdN7/TE.?Mr6;N" -dQo-QXB%njPpXBSP2SDhctd(C/Kq>8J/T853!+Xh%=gDI@!2Z_'QFT?#VG*E:Hf/g -mb]/+4AGV.^eEZo:itVri^[I6NY(/E'T@ji5%e?mi*&0l<;8^P#2k(:5_'1AC^L0V -#XH*55aDjEi!LUb%cFK"i9C[Ml3uU@%,e>qJ?T@GF:5Fl%7%oB5k5C-ne+3\&j]V' -_-!MlTE-4-CB:gL+ir=[bh4/^9B"#3!#caV@KRc]&jSu#+Tr#.!Y:rq%tO-Xi:--Z -i9jA*K21cgcL67/]1W^u3n$"5&p'gAl*$>Y0+m&bjk:N]n/`_s<#0eBd ->QS>;%KJs-i-#;L:/HWd;c:A4'n9=^r;YeI!&]f;C!BR62d)DtSM,=eYC-/mq]>9\ -]hg:b&Vc@!7/JYTpU-o$Fe)c67PXC*>B!GEFdlVnf3MD2>rCMFOch2oBMh>Z$c+rD -+h4Gif\.[o%3b^OP1pFT1`adK(-q=/;AfhHjV`SZ$M#AP+?g>Dg)/`f(u`+-iOmE8 -rbGrr9u2(i@2TYB`iSNs#Sl<(e`144iEg"6X@')$!.PQ1M@!Zm#p>T=JtgqIno(TAef -,D:uM=L,2h2JZY%el-EQcXEhe%,aYb_F>0VJf+Tfr#rQMiOMFW@[8i_/Kpu-+D=pT:KERn32j-$f8D&*[8P3FZa"@[>i2CO7Z;+NAGL7S_0qubmR -/AYC5ltRL`huH(%3'ut4M+/G.!Z)J!'%%U-lE1L>XAMXa#f'[NJ?$eCfTtIt"2OmK -!&tS5,SH0O,,$Z/_#nq4eKP!p$(tB,@"JQtIh30sQWD^Y(W1V%B"?97)IO6t6.,aa -d(tdg,8L2P#0^m=g)_@:*[-IB_2K%8()(*4!T;fA?mH(eDuu\O"/%COdnbNn08"L*K:"lUfL(:n*7f@,BBFXF5`c&_O:NH`%j=mR -@8a5dN#VIH#WLaZPD1]%_H1;m3;k4B'>Y1X6;$qDSXD4`1Vc!*P7?`o.CRN6W#!'C:D9GQhJUi*]H&!+6':(6)P!oZXZ!PBHr"s,IN#V79='PN*V-70$RU;pqA#>]'VV5[[qJ2uIGGeVkV`K=*RXqBjG""8P -]pard)A+)QLT-_rWS3!))Om`fT;km,2nH2`R^*-dQ`>l)X'2d/HG5pG];g2#(9dcC -l,RO+;lsGMXf9I8&Sl0_;'6dbWk-opP7.:=@Y0b]"O\20.%`WqG'6)kjYOrD!$aWYI%+_mi4D?M*M\_E>TCUPU1 -"=p.=E?O:C!:BtTl49OQ%sN!i@)or9Xt+7$`]N(uCpLPN_]5@+I.u%hJ^]%I4h#_l -3C^k(J-['E=ofdM&AT+o^sW8adKtFN$%Q=`i*e>??.&^\#!adFI4>CC0Ej^4!rtpr -!&=[:%KjrfKNLNnI8SO#:Xu"7e\,&7h.,"VB@Zrrem3.DST!+cF4Z,j25S;sX_8&L --jkMD!Wa2Vi#!=.DSn-SQ$[Qt2de8WD`@sO[p8jcABGu)c&s7"(SDT]JGoW.rWkbW -#WZu232_Y9k2*VP$r-JSF4,.Q:>eB6"`=J$ZeLGs>Mj+>ho:UgrU'ha"Q3ah#"Ys( -J?@d)mY2CoNkh@J%g!$0IL)Uh#_9u-TTTk;8dU&>(SGFXJZ8g'W$)2r\+%[Z`6b7[ -j;]9V*$LsUiLUiN7rVjj'B'?.+Uehre5WPnr/"/`f:5EWnaI_7]\W4J/mG?ag -*o0VbS-XT0+%X4?\^#iRBqBLrmu?,mZgX3%U$:c,9V2-]'r+m3auGMfT1dgl;>g5M -lcq1ETKM3)$3)(C$jRQD3*P7Q^DS,dC^f6$%&#W_@5]#H(`FR?!5ZgV!TD_fYT\bM -3.^cD5RJMT=ouNB%KK65i-B?nF>TY2#0YdgEEHKPPafer85KiJ%bd+WVmp,r1C%gJ&D4LZ2C6S;r>4choklr -g\Y@M^;9k.*"Ch&8/rBW"<0W2YfL>r+U3ci`mI>Q1i4(_6t%fP<&ufGM8pb/q$`d/ -,a#ngd&?C2ggbQ`nD8S7XjHajjF$db&)0CXDQ -Wjr;Llb"G6_@%?lk((Li#9"eWjWJ -:N`dP>?<]$G?`\,eU:b*p(`3h=;EcLA(\4YQXs=.9^7RkMq^"W1=ic]b$-%\*Zp0r -n:2Wcb^+PJg%Jt/)U133BkX;>dm!4^b+6^shR7RoF'eUko43U7Lh\4>Jj?m\Mh@*Z -3"o]91gts4);5+^ZFT1HJ-X;`-;%Cfrd"Q7U!*S.`jcXsQJdU96j'5=Z4mZ)i*_t- --m2t;?^JcNIHMKVF.R#ip3!$@\dj3Mh5DOk^FfdgCNP;W-D.!s3YnWlC6M\)*=>)/ -U,<(+5l)$&KIArL&]!'<8qTO/e$\RI@0@)P,Bu[:$_]ho-j=(%qB1OA?"+fY+i'$Q -#_Ik5-]9-=XtBkZd(U0OgT\6+M;fpg+bsK`@982WQCY!i]ba&aC>Cg=e+C,q+>/gb -d3N4QVE)?mS+=t[MOuZ"UY^3Cp,Cg"?ift7nPbqWb-?jeb9.Eo#a1I#Wd@podJE-c!P!;&P -p-/NWr*p>CI/jlO4[9kV*T.WU%<+'[`K31t69$V(i8PXWLg:?2F%S..I6S#1##'a/ktsf:8!7ad."rP-'.*uURIs%K<>E(U -acJQMi5Vlt]"(5m`>>Edi#,COYY]^,LNC -@&qn20QmE.Qlc'/N%':]h@IC\G6jbW[(*@rgK[/7^tiLWI*%qS\sQ[m@d=2UnVP3# -V<\ne*,U[S%PkC,M]S)+K8qV!3ldWb,%J9:Nq%ifa>i?,jIDj,nnqFJGfM7Dm'D3P -*[8EZ:G1a8=tQ>P']1Jd#T+/j521C"bY -Rb>"s9hsQ>bBfL*A8Hd/ZN^gp%4QP`/T$=QKq-LN_d)OkGHgbC`7J2a8aNR?ZZ]s, -fm?5%D(VHf[D&-]]3f:.Hn0u\TtoEpIr9%]\#m+LgW>o5C@7XtZSuLXe!aWcCG"YZ -pSR?!peNeb>VDGP[UHt`GAV9R+i(T'*T29OKQ(_cLb@j!e@@dPi69$510'sW.-q_E -i&Hfr*9J?",':kPE:4E)n,PhkEWBOh2F'O['S':_[kQU*P=:Yt!6?.d-!)pn.sVHf -&2"0[8fC'kUCVm&4bu?c+N+O,&.+:U##Iu1_RM$%_(ZUWTRmQ&s#VXeaeh)q-eWdk -B!Ru*[!'10gMC>5ZJaT`R;/eYHa;Q7i<19V%eR83o&O))\N8C#$"#5RC@GOW`%9c] -e\\8/"t6,lo[NMnJWMuBF1=c-:8n&$pb.8 -"9u*FRW",OT&[e:T6]l'o#)jLd(QV<1:mGQ](mEijX2DQ%0>rP#EB?>"Me+P_K[R; -Th#oP!3-BXTA9i_;t#/XVA"Ml:'I=.+Th.`%mbokAjFe".j(5<6-&Bu@/q*ri.;?Q -qt6b#p-3TXR?Qd'nY\U@hnE=U^f1NRA-\<+/Y$cKJD`j"i!9M@b_E*Y#;CLT!.1i\ -&@ir4-QmAY&9*@`!er[8!'jQfW!.jY5Cd];K0T\E82gNn2hTH^K?upbBL7?e#D9fG -!/N=\5RIQ`)h=k,!E]_\?k37Y&#+G#U5URrKIap8/4-]p_W3;coIWE50#J)N_\=lD -,W!=X1rD.-6UWfLF>h$i2FE]f_ji^(UcZK$4JCa0!8%^1i"#h'%tO]h!=@tB0NGr& -H%60G_%W!MCe);]8=ea#P#u>s5\>[?$A:qp!>$HN8/Qpl^&j*=!e;kSdDr4W1.>)N -JnenSl;W=&==$3HV:&J6W#:WbMNra]W,d_@Ea#;-=Ja_VJPo^'=RUiXA:kk5K4JT6 -=>>E_BS*$oWIQ@lfHhKh-A0Yb"3=AkE)Hmb&dE;n!4ZqPE!;#4Oi2?5*S>K7LiinM -(ksG8!e=)M-nL$"3s$fl"#q/#3%b4[/V;%VK"rl;-n9h1'*7RjdR/-#aYL$B_;;P9baEK)1abC1;fL-n0\uLNiiTG^P#II(]8"(r7IX!]1.lG5rJ(3EU;+ -J-C[P9n;.r"$dV(4L,":26ufF2+X.B/C[BnehAB$ZV9)Y,=G7rf1iX%9uAb]UI.c1 -5ttP\c33'"9\V4q1PpeBc%P%MPi^0>j%\P3:/p5uCu`dP1Cb,]:(6L7;X@,RlqNB) -:9XpN=!rX"jk^o:iuq!mo1, -cPl?%>ouogMc!b$1Nb.n]6ho$*DemM;,o#$[4Y:(/Q%3M[&kiU"X";dOg-uU/F>$p -Ru&p?*&pTH0&pKN2$pe.l^$'Z$,mG(X(503=g]bh[OY01,B5P_6aqb8<*ORUi#Bsg -HoDuS0AD/`>D9S`9%B -gH,::OQQR.g8\[LK6h:<8.K*9kLR;ldBPRe`?R- -"LjphYW\'jJl!5781B*d.6rtH!uokp!#'t[XTF>Y!Y_e$Zh[7JN7\9C -f[Z!ag]s0ZN/eI>4116&q/AFU]t;b,QO?-HV2j5_O4f]8!RMYa^bFDk6ic.4P`Sq# -5R%EPE<%\43#pB\/0]-$iq=s!,:n6%K@9!@TaSJ2BQ"0a&Vc!fQ[BuGQtYhL:CTAW*b6l*X-4U!GGC7p^dT'9RsWHKYRtK\4Zh38q`!/ -"Gf>DfKb(V&-J"L!?a)uQkP(-+G!W;!J6@]qN"24O;_Yk.4ttL,a1efPlc?!9"Ko% -GT"V^RAp=^,g;cMe=K7q+_2/MJ_XJa0rHPA6PEA'b*&nWg5N#=PJ"%gP` -N6;sD6I5dY)$4J-JQO[[n.C<::&rX9"n2eOk\gG`F%k54J.R%NR!tg_I0[7^LUl/o -TEPOi$\d50JA=t`i":Uo/-0]?\.I#FOJ+A7CZf[JYJ,9pGgHb'HKT0iMb\N#??^%t -Woqh*BE4rCp4?r8NbCKdBJ+\^Sq#rpMsIR8\I"Ab1^,eD>4Ul5BPH%aB=it9:6i<4kQ0(GdRHQ"QHW:86Id-;<$b&a -?Is%J5](:H1!\J>Ri-(Oe@.>fD:Ln]VM=I"P3hnSD@TZ`ro.f"II8_Hl,MWJmaYs9 -kO*6Om?ZVr`p%?8,ONe62NI1lI7-!rD`91Nmfnp>cASpXlL"<1DVhR8B'aCVjlpsE -kf3E-%f.):@=j:P!dHj/-p32#%##7$J:,:c88Lt5G?c%GV]n>1O9#TMe:rKTJ='Dk -H*`-[KKg"s=M@oSbM*nZ*PY]!!]UsI/*[1=b.bA5!]LcW_qP3sRTRR5nYZn;[T[[] -?lE`mgB,]]gK,0)\!Gd]=^/OAF27=d,k8&a'31KP_lEW' -haC$@!![W -pHA-DI+jZ,K*W+m"hFf_:&r((L&_I5!A9-MH@Q9IS]Wh\mA%2lGQ8"o#8dIH(i+X= -CPH3uL1"D>0OY-p",46jJ2gj>(]ssZAH4,i"rC3lO9>`S;?06c>e!7/0K+Mj$%ch0 -J?U"88/?aV%"SlQG%Kq3FmF4#B(h!op6TOfO)+HeCj*:(p?-;dpMG*ZDYFZ[pC[_' -PUHP,&V.Y0!B:Jg5W&Ol2$Iq%"b#q"[Ia.5H_Y'+,Kb'4fOb+KA]2YX7,T9IR*#J6 -9nKR&aWdMTE&;fA.c_-aA3"eH.%Z#OP5'u9"!/$6Of;gfPZGJ%gK7R!3g5C\-E5KObUKlqUbq*Y:Km.>C^s&K_PoXn3[36 -6A&)GK1I=[CmdiV1uhJr%&B!FEg8([36>:3a_j0RFI4N64TTr!ah"5,paf##,hZ;E -X$/>?4Jf(?8:bfAabm>Ob$"gTRK7"hM,,BKl][cKU<4%O?!=cIt:]S!_=/[5mEE)j:K]C -&@_S!aFF_Sj*27N#W77O7aQrr-4LK:6Xim5UcJl"KgfHjQlKQE)j!Kt&_Q0!/L6J# -Us_7#C0`3ObN2QWA4C,`R`T14Lr@S]4H`L8F.&EVE&SetLEk4)nsN7Me&PF]`>i_& -X37Nn\SYrl=GbW6eS*3TCKZVKXHj5WZI8r]=`'I\?)h*6ZX"cABsm(jI(H"A]V<`aQ%g45OTrLUt;OPgS.WRAQl\#BZE2#.:&AChNSb -NQ4&*_JD#S$m*l7'YeGW[G9mlJ%Nm`EkDl7@u#KA5q'X1=RMZSe^WlL=<9\b3LK0q -OmI3t`I+EilC-#%C6UaCdDku'J'73]qu([[:Zq3ErBL`8_"'/j)L2CsM?4q(5u:10 -o"kf_)PFr#1bAr!YfnGf-;^^cTtrGB@%P:#`'Y0UD0*Z1]J1%U'K=6H,nVWp>@tr8 -:qUEH19f8Mo0Mp%Kcic^S(l4pu<%nj!)#-jY7,`_'(^DGtEZ]f4 -pjR_ul21N'dinR8!!g@&!?PlM#^$r6H$Dg]A8&al$c8!)-jX7#Jf9@eQtR@l<':m_ -;,hBM8'uF<*D'-CSLmI_'W!W)L-_2E(l"a*@\a28=C`?eu4>1TOHG2=$`j`b$tNU(lA'mOaV"G8uo$kh\V)If096*>@U -Es_VkJ-Z&kLLI]A-&CQJJc9Wh`sGuWQ(uDe4:7cYW$I(K3-Z8F=12+VAXC,:Q0%gZ -@@?7\Y%(m:lH?'u>tR(k)JC"sBq+=4/qp(aRRW:4l'bqLV.podUSmB\Xc+=Ni]pTj -$@u$MNt18B.TBfQ_;53`kGSH.T3q]oM;m9Ejbh;]@ISOB-^!*_SYo!]FI]!9b]*Vq -&]atmV`4g#SNme;`>n%H#&p&>)7EoQ`W7OmP/C*=22P_6QlH1Da@ZjD^rS>AF^8W] -f(L,6A_2*rO)*GBh9U)spAOH&hfkXkL#D`t#E@^;r\'Dqq-J!'kP:^)S`opAT<7@) -*j;p9qd/a%n,%SF^%$Il+3jBT+",V1rI7Vrp\j!1g\LgjVrddT+2@LGJ"P'`rnm>K -J.N1i^fUa@THG+p5^3]gn4!T_+=Ia:Tj5^3$J`rU/E!%,U!!Wi$"9nu76j/&L(]s25CB>nQ#_>;d"iuW@"#sp&;(O:e -d$GE^oMJlor#m[hL_.E?;N!hq/dDZp(ukTs$DCEE"E9B"e3Gbm+J9C"^fCf,3&:eo -XlKp)BdF0YRnYd)*QotN^g6L$KHNTS8'*c;HcX`e2($#'UTcdb$<4p -q,oe7_!2Xok&sMRfVS5:X&>sE:YMX2Vpu)b:.;BQcUk48kIdiIMOdFDpbu5=i#3@g -Z5/!n=:i8q6Als5/4N/=)$aiKnHY=*m!!7-"F$qPd#=3ak8a+@dM@1 -ZSm9UfR"'A/N'5u[\D,PRS.BI'o92>cIZ4bBkqRFO1+bJgtKAaD/E:=YdXhk>Ur6@ -$9@H&G:;%(HW*l.Xgkm,@d$aj:^risfEQlm)2"$$%"[n:"p#,X!t^D(6%DH3@)+%@ -M:<,gJ4'Zn^`d"QIE,ci -32Q]&q&Q6b;\%c7^UW_6A6^BseWC4jpn_eno;#7+U>Dc&`9s=0?pbP"=%-fO/S2h] -D9HoB3%"j"Aj!k'o.do%GpbL\]\SaW:2nIgb;\L@hjj;08Aa$uki[>[T(,R)c^45h -ABb@QZpoSn=s$2sSJe3pG*11`:Io1n,K;ln73%rGV0;rJ/*drp^"daU]Vg"AcU5E3IigFfE7L^J5OTPJ10Q]j+(usJ[RC# -=O@g*=AW(n"Lc)IW"!?].*UQ%4h'DJUo@,!,07gi#le_+k"6'gMhfc9f,mo1rf^>+Ckn; -Op$cR^N]u+jBMYHneS-@Ma=($(GMm[*_X]P-Sa];c^8cKA^,M@2s3h2>P$3P%Y9-i -gAq-sK$]Ms_&.#'+C%_P0GH@a?j%L,]QoR2!'[ocre)7[MS]MG_RfkYKB]/60kUtV -"h4gS![IsUTZRC)0Lu7r,SblL=TSE<$1C\8^3?1GhY[%un/`+Tpg43`]I/L)?73a; -Nud6XIuX"?:W[lh,N\j$R.B*Hc?[/ep0CK7"!D[rJUfukJARVcgmKGhgoYRD6$DC]T"_la.@fU!JJ$(""^ml')D%arh-l5@g9fIW3du*)m.)\^2 -$`K@#8G!@p[/?Su$/h<[ck-:T&dlF=$D@(t!;7*L:)"k1!l9g7!#upYec=[[p?=R? --K#tr![!!a!+GG_+mtU]m0)D>"GR\UVVFp4e/KMC)Zbh(@57p.1(Ab+%=is5+Fr4H -W!2*kre[)3i-P5KV@"cP$gFf'M<(.6Ssu^nS02.6C!$Vdc3:2qSR@EVl/3%cjIUn) -T#pJo8f47Pj_RQ-bFZ=# -=9bFc"e_(h!)*g[#QqmI&n!O/5rJfG1_`2+'Hp'M_+X^c[n,4m,ZUCW7%uQdSd6q -9fCJE-I]"!/$1rbEks8HaKpk'/F>dQ9j'%W5q/p;/IPu/1>*Zd:^\k`<'gip-@jk`6K`>Y2R@B]o5ut?GrH((^u?\( -/4g.8:c`If2m[]e1QZ4aEWuM]$fFbf_$U:<#SfTQ'da&#Tu$fg^u>lLi^D/Z.bG^! -:'.+_%F1-sTS*KaJN9e(3HLHL1Qt">rt8dY5/O=sKAOb&3h2(Q5*P(l'ELI@"[KEs -5kG?C-#*Y'&dI9)#,%%]TSs8/:('>F"CU+)+W_Dl,SksP` -m^c*qeO?:W7E!G>0LTBDec6lE).3dh@8m7N -QUs$%8bAQG1n.*ZTh:QG9!kiqoX.<@\P"ck96@j@1r2k-^30`h"(4"h+?0Ir1'>>! -!^O1-5Sb#!ZiGZa*In23O(KGfg6M;C:[`F&#Z)LK$lhQd!PsBA@6b@]3Y0$;"CS_E -?r@5%!=gH.3q3UbJ@^QXP>e."q\;@*!7Oni8Q:s?%+S1G:^j(KMZ.=SNSmb=^e+a5 -km9VBM=8Lm^qcDH3hB-_^-IKYP)^sKIKmT8%"MLi@1i]O&f%&r'qpWh+c[O-&fa_6 -:c#m/csW-4pKN_elY'*h7arKX@NEu)*+<:XTjePJ8e8_'#(W!F!+uRK7[Utu#q;O9 -8Z8*"Ya\4o.]L(N$,mM'[gTFSSVc/2E6=cNm0t6FTB[:'l4d)!$D@)A@d4I6l5$(s -k_a!)R5@<.6qDdKah]rIr;^ZDYAX"1`g9Rl6t]'Dt,fWNa>b_ -B0h&]<'YC15Z.so4:`Sm#D#PM_+YUe-l*tP![2fh_."*d//1Au"$n7E5XGu>Xp\f= -#Ia/?f(F/@L<8G;B0qj$QXn#Z=?SE\5PJ6'2cQ^>aH.SO2pSE0pWHo6Z6,74?Nd_6V@L(hU"os_l^g7A@a9Bo>"b>/5J5QhA -eca'["G"o/^e,$.a(s.s:S:_q!/YQh@rTD!#*WbIf;F.#X+5F(J>TEQU(5*DX>Ofg -AloXqQm>j0\d$/@$=N!!5iNCV1_J\[![2.p!"p4BqbSoY7HDT1J.NZ`8/'V?$nn%S -Ndq?7D)PKDJiF9qjl(-1`nit#5>a$<6`Xj7Bk\@eLH(EO(mTkYPDPZmgdPgU1LLQ_ -;@7sB"[*rp)Q"4?28P1fRr#jo>GE -)rLo>oPb[V:]V_;%R;'F@!DaGHVCfcOOVC6q%]#P)3GdWOa/%2\KR,]-'Ge`P5-Pj -)(h%43Kn_NI=Rsl@%n5u)A-D8!5XO3+9ic.b]$\L*bOeuoLhTZqj+,87/0K:0!ds> -mJnEul@GT/@@oZU9Fnp&&"poFTYq/0:^LNI"b:E^)5NbqP?7gbqI%7"Ps>fS\I
        7-Rt&nuNVKm"5QLo&e6gNd\K)H7o?'eHAp -H^DSH)qDQIf=RO+h&CmT0eh@6 -&$gQ>]pen=^mG:UPRKfN$lH,WTg/[q5-,oj*^BiL61BT>1`oK0+.OFhBNtO'kT1iL -*[./C;/d.5YQY$/J-Bf.45IXk7cp`S,I@"k7D3p367O3V2.NPp4A!9b9?*K=`dD`; -'4;(TZa1d3?\$VC@<_hSH'fbHfqGk,U!+P^clR]=*dGt_g-La$fq_lQ@A`B3^]Y[o -a8fYi(a';*5m.5)":.7B#^J;P3BPJg5L"T3c+N#[SE8#nkKZ3ScM[(U4R:=@n^!`t -H,+_-TR7/U+q0l1&PlXGJTLnNFrC>d)CI!RB-\HW=rbB,!$Tc25QVs*C)pa>k9<^k\[s&3Tj%+,1a@$Cs_Jm@:rru'FZ\_gG%^'1:h!La$tRE5nq*:BcjT.V03 -c5kl^+96U!6l+-W"4ufL\q'2l3g3!CZ(T0L'8ja5K/frI1E2BFA.cotIRbQE8`\Ke!\/BD`sXeVil%ue7^f]%ECi0bpJ`:*)hUb!R3Zj;kjfA -_eL=>K3b-OkOoheMSWf/=`"pIX14\r!pM-K9.?$W=1O#%MYQOn+5L:YX!l/b3'*LU?4<"Gi -ct"4)6852Y$USgF.h"dae2n)VnDlkG6norW'1>\c9,,>5=B#Z^@GiUVM;Xbo2Z_rY -*!R#:E"H*;i%][k!2`>`!ZG[\#&G5$)748]B&UT-*%,+qFroQBmbG8\RneGiVr.Q( -1[!Gq"IeG>,Zt_pfc#U*X9cTgKn'np'm;A9983(stg[5_2)UI!^O -7u-(0J05+tj_h.(e.>k!fQBGY(0&+p=;M2#:i%6X!W\N!M*leS3"j$;/7!i2fq&A8 -k6MQ:SmW/mH8A'A"F(r[);B8)#I"8V9IJo0gYV\2D))sDEK!HkA;Il4Ml;/n+,-EX -@M_i3rBjqk+jbZ[#JqN4?Rl/""r1,p(g08QZqUZ=eG.iu=b]o6GU!Kg."tA#_&7(Rf9T#I3"2kJb'+@2M>Tn5Q5ATt@s**Idk)+oS*c<(0Fo86ZdYP$?#MT5d -"9X*@]u1Y[Y#V"?N,Xjk!C0a1"5oCRJriG/_)O"N@)O"9n9,7,kW&miA$ZC$@&k!\ -4q69q2BngD)&:"C#b_Y_KFl]P6YL0CiRBl>D-Wep[bqX_RkSG#=oZCLE=u_K"X8u^ -*/#G@&->BR#iVEh#&t1Z"?<=]Jt-0JnU1%bT]lH/Uih2ReiA7/jr?bpAcTZ7n-*Kd -"(F5MJfs+i_*D-u_#TB`pgXgY<.]sI&jmI:A6"nq&1Z%l[PdW1m$du3P*-SHaa#Hb -A3??iM4"$9]So_nt:O2=kB"?1hBZ(sH5U%(6?jmXAKER/E=onkH -])]_;@/s/Z0gI/,(uQ*=%0-Yj&s2&n5Ql@*U&:7DZ;l[W/:t@+m"`6i0 -!d.^DR*A,GD;q`25\.*6!iZ>\!Kf6.%p6YM-j;n)&Hr1&#=H"l!oe<+JIue/L4$*D -%jZ9eU!,Ls.-->>TQku1j%7;@^p/WsOAblY1&F1o&H8/OEl!aU#<+Eg@-D@U%[3N2TlM^up -XKS"3[U[JuQSE)gadMa$C!Da^&jg'+;P\I[c+1#7B70*KI;nTl_t]Q1ig`AoEBZ%pGfLc` ->^).sr]/%ZpEAUfO-=T0%6jlD('Yp5$3\/g"9UW*!Q!6:#LNk\6njK!JhDV1e8upg -kR&!?q&k[d"ukZbMV]!>Or?4AR0M"D)`?DT#s^6k_m'[Z+J:6;^gIY?qP."t^7SA9 -O&.>^JufSd[p9%l_^YG\W!qKJZ.j6>4%iQ?Wm+ApdOAjo/^mOu;mN>?[^)p38-Ilg -0S2R*@0=T0"+i(!!J*-Z5bP1o^dMC@EK1,j42r2I!a-hOlb%%ZW3J\q#)j]@#/j>: -"T_.=!hbD]!GFQr/2.mHQ9T*N9..+>U?Sb>fVn1EAaq7EXkY*hEA'tkDZj##>g*:n -mdjYrAT-^U0Ncf"XHJ(b4]-Y(W6Q(\fl2rumXJ.cQ;:nj%!a)U%LKWOG+h"gD+*+3Y6L8\1Cj -bFH0USYL*Z$i<04"$iW"_/'dTiL2G>&"LQN^g[`S!#L4U4FmJp'1c77QuejlG8H'^ -.213jRs'R]^]qRW#/FAlLfoB:%g2k[!E^[7A/E(%]eXgOZA]<`X#\&80f-^!+A4>E -b:g\:/ONbo_e_'FF>cL63CA`d#kL!F@lT%`0Yt+U6gQhNoK'ne-8Y3\Z@TM0)46!@ -6EltF`,%[FLl)6f(4mY[!D"^C91T0K&-LQU!8'eq(^gKa;LkuL#Z+>#kR7UP7"FJh -")nkT?n$Y/.&)57!U(@$g75.t5t#g#Tpk@5dRSkmX.+CF2=p)k")&j)DFMVd[]?VV -&/YH+*0S;V'K.o4&GVt$p2'4M,!oOaogfT/a -,CseXU3(3>HT!bqDDlGm!>m_K9,4N>EX.[,#F!Vr.sa.]Kh+ml%@Dn -Aqtm:LOa]$!.(_EOc;`+N?HWLnl:FFf*2d\!5M9\BG#l,=+U.5X]s_q+[@UkW]W*' -M1ae>AA##^5s$X79F)Fs6I@BK@u2,RR/=1k'=,fk(`CQ7'F5c]BH@4O'nSt,`3:or -3%r;p1P:JqK6T\S+A3,.=$Z5Ja]Zj:$UW#)[(65S7AA -@'r6g"[H=>cJc_L_u^7`$-(/%5^A.#clF!\:9TQY_YO/$K`f*dg\'24Yn5b(BLb;+[[`s -jYYF<3E&@,_j!Jcgb+I`7*s_!,cs++qcX9$>63A$!H95>?m`gj.uX`fK4#;o>]YO& -FG!+@JLE>Vp_3en."PJJJf#;U#T\JPV\E?Q;iO%@W4fDHX@"\>MOdfUXY-oYc\S?/ -7EfIs^`NT%*Zmor!]UsI-m/P0+'$!Q<\78W355M\o)ft,"67N,@)IZ%;#mgsK_/6= -TLT+j%tjpAJKQkhW%0+[@oYQU#c)%2dqPSe3/)S`KmRqI@*T"n1/[u'=0*Xp!apd3 -!=(;aJ2ghfL]rHn2?7t[JnPIBBGQ-.(J1HX8\Kl#c%fD\Lfg4'fWC!4[>J)"NEFGc -=N->'h2g4Q#``R,fc]O0f]UpQ%,"XH=\'M4W#UH2#6WD/"k[qt#^$B.!!eK,9,`o8 --(kM6`l -W&?&^2W_7gI7-Th2PZp7f3hYaJ-?.&GLs(Q9sl,ckZj&h4B8m0X[!e"9CpmIY0MI" ->2?)\&/_Pf`NOUnclL/3D9+Db!`&md^qCE_[._oD!U"#'*L/i3]h\\86%J_r,sYn`[$R#+u,(TLo428V3lU -!hJN+,o2@]qS;LX_Z`!VL$0]?/KB1@df%Etc1g-+!+6iF?nMI*p$".]0K&h2?p4g' -D?pVU42A`^;pgi%^"?_Q#G!qr@-hEo/7i6"&7HTb@.k&g4>pN14JZ+`U'RV=<>M2he1:"eg!mSD.8F3ENlI#3Z'l -n5=d-;V2gEJhRL_3#[=G)Z_&hJLuuE4cj2KO^qcdA7e8@DFe;e8S!!:A<':CSkEV> -9G'CIJ\XFY.3JfhGCTsCLS+VPUp4F&fpAAfLVtB2E+&kl%g3pq@4i]GOuUZ6U@?M2pHSWQ?8;H8(,=01 -$WFuQhE;01>qe.Lh[7P4T=s2@k(:nu&8*nOMe+c8V*[Eo+.;Mb@d#^`R%\,>r@(K(QPT -?p&uG4AiUP9fPEA0Fiaa5Ci5f"2GJ#^;.tf0B(h:7c#skW1lslbN`7P@CRG3R^V>9 -5CiMn"RlePo\G5hB81AA\tF'D0QISPDrQjl"qV#o&68e(N7LTX[hDZPi$P)TO^"t0\10&-R]?NMiq -m'*/NFO#KG7fueYKR,;*lG$pgG_Y,Z#2k,fr(mP+)h[EQ!O]l:l2]tlK>=^c^[?%' -%mWD??S;V$+6IV"%X.I#Ks'l6>g:uEIXFrYeE=aaePXK9&k5\D.`O\+:Y)#nU!-bN -7c1o8oS)#aAq?1[Vd9[s,[EUJmo/XWg??-Mkg*CS^*)=g)>)d[+(SOX'lBNZ?kX]0 -BgC2;'qs>1jp-3t#"^]UDWh.^qfM7CF6?X]#ANP;mSdQ(kOtV8B5I;QC3LJ!G9:R7 -DLuVX%/2DuG:.Sj1@c]0VGP`J$AP`l/`0Q4/l@_,MG+!bXUY%3:8D=NlV%BCQHXoQ -*s%`M!l,QQ\2f*_39&:QKZ]Vb0FELj*sI`4"c-92QrmEt=+n'm"LpXH#X3k`'E]1% -!FsjbGTq^aTCf"6H*:.gIs:X&%W5\Q,=E]/,@FVi^F].rmSKotYJrOmUQjj1[ -p+s"4&k'h?_b -LoiJ:M"Rla$n5011;$A?O"Y?\W -i'r6)7g&MjKE*l%Unr[)*.Xt.!D!TL:_A5n&ch,(JG149Ij"`O+o[8]rg2o!^[$?p -lMf]-Icp*IkmRU6$N\U>J7q4Q:]cAQ@M9H/E"LUFY[d`IA0'l$m8lDfAR'fLVLhVr -!C/1A!XLo=>(fq:J0Uce!.VlEYfLoU+VTXGhS9r6//ZQ,"dA+h$.Qg=09X;-Of631 -1`6^uP3HZ,B.fUrVNZ;4k%d&K9ZFCfps+LQT$_/fC&$V(2B@g5,KajgF],5=C=PAY -1il8.;?i@(=Ot#e)qQVul4"5K7%7@lJ0grW$YG]\dXP ->C?F92PglI_jl-3F??U+-hb_iArW8'B(O^3#'35*dHF&!)Wba7:9@YM3c$\n9s`:8 -FIRVp,\^\b%L87"nG%;jVec"\9ue?@al[V(gq<$$;bl3>\\/Kn?a\5Ip3WA0pP6B@ -n9I$9)XWEH3;*/g@p<$(`^1K'&0^ZB!$&b$J0-/k!.CK4!W%9G#P'-t_'jC$I%DGm -icP6V8VdSDO9)NU,6k -X6GjQ(eUP;XQupuc!Lj5/0_Se3AhPsQd:h5LSFL;@bYjQCc[j#M)n4e] -jZq0JgXrh]''uV@"l\sV'FP#!6oYeZfcF<>`lJd/StH\]I@d@@"FFM+79*Aga+8OA -QXiWJ6jhmDW[%bB0RagnTr;Leg:!i[NoQN'AhaG+#pp)o7Mm%P)W3o_Er`*n/pfhg -g%YOhO;[qaT:),>!1ubp#'QH.;5dfQ"lVWQPJb1$3sm-5T9*R8hPlP_3kA]:%RCZc -=b9))joHNB1&\CoOBO*?6!I+;[@d=>l2[Ee!SNeZV>qZE'*--*3!<`1g^ajhQn17Y -!.aPr!Wu8t#n!Bq-m+0DY[S:K!D#B_"9@(0%KeuB3"5E:f149]>rP@(oj(?re90SS -?e4okT4QaM4hk^dG2:Jih=oaWJ_p/bs+TJ-Sj/"kptf)7jn[bOU#pZ-J#DN,T"hDo -qS(jlmX&:/_=.;.pW;q&^E:_mr?#CmpAJ?Bg%YJQO6QFghk0B6ru^.krr4YMr]H9] -"bFaB!Q"D9J8p*%!"eX;,Lh,A!VG*=TaYR17"#T-!^9'r%N'd7%Z!rA$UQ9qKZ(j0 -[3U\@_14NOJ@Ha*i)UL1n88o4>YYm)PW8^tj;jm)G)pSD4k\=RB$b4=Y]a83L:@O. -_RKo0kWg:Y!%//j6kojoL'rSA-:s+P],jl.T#spD.n*F=7[VP%N2ep77>Re+6HH]g -WId;]+S7*OP$M+7-8*^4_8iMLZ_Sb!.0.l%R*rFP'B1r@&\/rLR3[iNnRRVj?9-+/ -oSfRCJk'j!8Y0&TDW;iuN9SQgY(ii(iDD^0ns$6s;S7q4PbFDkZrLg)=9D5F"b\gXjO3_?kG-fr!P(C@iO!:\pF -,D)Ua&ogQV\/QdKE`0a+2?t^:+G?t.&q]$n$\Ap$LbW!8KilY%K/de"J\a'/FNlr=pb(&#UL)]kgA-'_@d%`t\S"(pnRSZrrZb?9`2 -BIll5V_td0=j'JRkZaMX8 -=\t7i!]Y!!Tr^cc_&b-mOKf[r/7sp($9DBiA7lW_!0%O*1^,iS'Z'DQ#JeOi_]Ve[ -Tfa?J5]ig'FInP:^A?`VmWqN_93fGYF5Ld;I]si\^t9Ao-X7C<.+*0uM!V>'_[.^S -`L2Yg!s`6S2206mFp?(@2$.16-igcL)SdV5`3^RJ=k"1'corK\0r+l*Lpd@/e3efG -$l2-2=2OMCA)mK@OE)[5aOq(KjBReQ8Wt(7ff("Cm##M03$o'NF:8Jf`&'t,#97k` -!'rNtGE=%1LdTs@!(#8:7f_=&^CDI5%u$]BQT8B$os([#96*)"V!FP0ZC7/ -(8>1G$"3B2K>:[p+_3,*5ctlQi*$M===sag.MP2L(C2/!%"f*b#(\`V"$hRc!QYAC -htF.%)Rig`rFN%;VQn^`cWb1UEN\uK^"6Hb?>KLnY]_A/f\6pHls5aZp/]Gk4$R=o -%@ltiW"oTRe-H:fC''*firGj6TFTO_MjmZ_Ah'm-$g."FKEt$NTb8$HRS-(@i&Co` -fH,YFFqB4D5RYAt/dO-n+GE?#'a#3^%?M,ZB%oHj>W[^!&`u$f38PN<0P$(g^:_C/ -D$4:O-3CuJ$c3H;"p!pA9>$P4nhG_IEKmTIGgoaRA?o?9-90aTFBNC>!L)\eNSg,@ -+,fh*OEiK';4_cDf&>+/EQlFmDaR'VNl&SR(ZMZP"2YIG!C9Kd7NgUh -j+3aqI)sT9ZSS#eKO99"IOCi)IKSQu0S48Y(?4e-mf&ijHCmpsP-Hc8(>_KTUj5-e -?a]PJgX^_DEUNe?^%Yk.m&+$/A'qD>U#,t5HiKB"5$t8Sh(I[,:>3/$lJ%GN>kVD_ -dd).r/[rV ---G\[h"p>QOcWI"YH$c!jQB=^">E1HY\+,9;$E$("E8>c:fdKJHNk%$"0cDD0@'?M -;Z2]!r6N5LYa.>3Rf/;Kr.V^>OJYLmSGZ3dplM@.CN0`Cd0npmW^R;7[gK@b -2.J!BE7YMndDm32V&YA8*=CgHMe*nZ:E@U0*2%=H -T]-+4i"\L.'hi)UCsHZ&aC62M^8F)Sd%*TmQnbH58ao(.!BN!Ie!VQtTp.)?:Tlj_,MTL&p7d'n@bK -@4D@f-kG6&&"qVZ^t&mDNlC`&[ONe6WE:-JQNm>H.cGlXFB*5M(6I1i^ -j%^pf\;\eml,,'D7?9FXSNh^'S,HO5irFS;@:4("e^s2J9+2eb=-Nt7eFtuW8@B-*^(e8 --$4Q0'^&1idn\EW:A!jJ'_Y_6KgID]*_rP-<mU',__aoE&Uaj;ITp3;#/H$&i*$NWnde#="/.=`+=7mJ -\,cW?M$@R\Pb=K5*$4#@*oZ5]@HJE"+;gdj",:+1;j]p2h92O;GYkY'Fg0=6f(i!/.OSKE+rtpI)?NgEg -j+O9A!FNWf?'YLsb$LsR$;M?3?^3'J(%#EF%q3E\@Fb6aq:TR]k8'F7`XB,5G`71X!m$"`C5 -BGN[?$=dXj=(=.H@5[F\'!$UjNXN+D,U`ZV8*)-8K -J/0&S:]j![%j4g^!0d^RO_H]WDAE=^2Id9*^K]:X?T&^470dIZ'kGkj>pTCSFou(t -*Es9.V3TA3pC.OrZX,NJ?;ZUealk5k+`Pfm#ggJ/&DI)*+U"Q8bbTIL_Zct9'V5_dTCL>$8C)J1In)rX_ -5Z@mE63R?_"@,]bJ4'O563JE!"2I#$k=I@k7l3"bM&;;1=H/0)PDQf9M:eS\(oN5c -X,:#]MO:T*=L3pQZ&?kE!rt(Y35^]"`!)ef"jJY-JJJ<<']VJg)(mW5_8'H;c=U\1 --_^*C1UJ-qWl5)j(kFXK!Ak8$7Lc#B"i,UdC%slBJ77B;%=gtY:CIeHOqZer!WdEn -R5P)>Or,;](_i2K_&sN*pE;nZ%dP$U2Lg5tijr\X&Ho=BP^g)\1\G"!fk*m-"$I8a5E)Y\T_akj+u9 -5kIJ:eO97U;,.i;o^jntoD1qQ+[I!)m[4l^))GE'Rk?>j6Qg?Z!PT?WiB;X/HVYY)+)L&)_H`&oSVj-;>HA4L[Op6p: -#B!'=?s3jZV?K5Z$Xcd=+N+E@_5`s+Wk,C/TXY@P;@<$H$<4eI3^p"$=fg>6Rku8b -orXe/-niO*#=)l+!.4tnGR-QB#QU(m^lSmG=:*oi"[K8lTWbR"XpX)d$JP=_i/e,^ --jCfA#@M'mH0ci'IAf4\ZJ.16)`=r@2m_7#Zl;$4>=;ee;<9%ZMrT -?Bssjg"J4*-a\4f[#S:s"PWbag9g/apupSL\$#q-NWt#m%3SUZ!>Ye='GY".'k*1) -_2uu/boas\D,R)H'jqZi]ER6)#iKG'^k)d+J-So+"PL8NPtb5gH$&d:]l85p"T?&r -Qb?%/$F`#*Hf;`/nkn0A%@+C2,DgF7+'`dG;:cP&Fl.7UF)Z:-?/,g.0`>oj'l^f< -:_kq+_-A^6G*Q>Q-$%Su>oWmc ->Q9C8!H;GZ#!fa5?p#*2YQ81;]'N[>"o0P)aoLDC(4[qOJGo]0r!=Kb#ojht>Rq7U -%8lX37M+*Sen&cr'4f6m$l;8=WFKsrgV;?!EtGR<]Ydr,_7d7e%TcM,d;nq#j0u7D -(]3;"YZ%/+I(#O5]oehI@j3ZE?k39U!eG/pcQkdROs-!55U78n+\Di&8.>Q"%/5if -GEmM/PBk)ekEin;KAFn`]XCXBd8/MD0rNCSCXphG)a.-Nn]Q7qZ$U](f4aDr4]U-- -5R?:Y#b\I,TWS_H;@NX='u<]K!DXL4*Z3k5!J.$bJ/B25WW?P/gB"/hi#AD@*#W1. -!^UuCJ2S'Kq?14$%DY^JT`,'Zr"8ul&`GVM@5JUi3YHu^"5t(.TL'3D1^u^G"lQ,W -4`q]qAd1M)iW)^W!)Ngt/)l")"X$\GTM,L(6&3noLq'pPpq,Tn9B;[?jF1%ghGrYY -=68:CjrR[f?=2iDA*0A#ei:e7=Mt?X1'HNm"+Z7;^cW$]VA.r:'Z#k3JWLkE$llCd -?ifP*%*fn:"s+r=!.iar6(/Ph,Sf8`"$n/)<4T'T9][2>T:X895`Q2XfF2@^Pi1QW -JJJ?=(%.[\m\lun!(%1Re-(6t7?U"uSHuqFRcpkU;j9,Z6\fGJ(1B -K'e]2R$?ILR;84YOR(=V[f7pFkt+BH9Xng(768bnV6I@og5pToP]T9\Zq']Z9a,Xp -ofg`qg!rsFB+3ZnT0poHIs(EkMC6_TN1FE5eMKs`jf&6;"i,p#i)U/kL^[V`%cJB0 -JJmeT+qgP(&r-)ms1T+s+p1+SP^sY^?pG6/h@*>OR"0>a.afX#NLkWUmj4>"g/p3> -GuA)O4WY*RA"h!)E&S_qTgNL4efPJC6m?UF=Oo,AM+&YO\BI]4*K%r!;2GFI9,ipa -,>q*4\lgGJb%],li[EA#^]\UUq&]#kt81f]l-G^k( -rZ=>"K1Qdp=[eCmj>';Wb#oQ$7A*$3"&P*+;AGE$,8%WT;0UOHopWR;X'r-_lh4Og -VVc$sgMX/Jpc.2W"!575:hWN`8J`@6#X^?R1gis,M[H>43Lo^c4JK`lZtOS"gdNDS -aFhQin7<:O$3K44'OjEON5rhuV_30RWQlltch$e$WsR44!^CW;rrOR01]%$c.Pq3r -5mgjX8ifd2XeN_NB4=!lO6'@&lO( -MK5BpMUK#:[uqB\VBKV,Ee0!So7e@mno0%"8ceR^-+G?9#_J_#e?n/W;E/XUTkItT -'<)Wj8J4I+FE4(c0shfX+m;I7hmfUG&MV5po!l31;2j4lM#iEk3!@-E1(BENi$)JG -?r&oo!D7[T/q[g,=)ABH^E*[eSKMIj[cYQe:S#d1r$)Dt-,XH][T3c\iqer+K1f+0H6?uY=F2W% -\*g/6=18AaZ<]B=R#G;-E)h:5a:kM1:bS?)Kmf-L6\p^?X -DV(c9ZYUemq1N-Vp">&bqoO6$+3%!59$Hn6cY*:b)]W -O:m.A3!V_4)$<-=(df]]%,nQNLChlS6[3eb@H9Y.d0:Z13.VYc'Ldij*[O3fR1`tF -98V%c-q-+f'k3D.MNM3s7@:V$,4o)tnTHTU35lbF$tkN]U,,9+fc&mmC5rn736(aT -*FkmhNcF2C8#Yr!j7Ib]&b84Xq$/$Q,_qK0-:5ea&L/Q#NJcY%%"Xfm,p\j""(6Wq -Je26"!C/gV+J:7k5WU%lJ.`UW>Qg$pa8q&84WY)DILdP(4GQ`:*@$(:%In6;7Au+H -Jg`;S@([/(=A/uc\0-EC@TJKDcSlM'+jCn'>Cj%c0;.5EK)g'+6$PU"^pkQkTNVsp -BIjI2Soi8.QjU]0j9Yi0(5-(Q$]gB&#H!a7UbHNlJXAD$+PLYVODYJa'HKuGE32sJ -'gk9UJ"d7TLo7Ii6R]&H8*/Pk+[_:\aF+bse7?&:)DOUVWHb/e9b,TD02$"j02IgG -XrO/KSZ/nb+V]B>e%);NBfUL:'Y9JDl<'\B[6LRRSrK@_(C!Dl%teQhUt%MS<@UF; -/B&3AOAq<-8/OCgol@2TC8).HV*V-SVQ3b/Z!+2FCou7+fTi0`^/rDmUfGLe_:bt# --dXpZ!9S2&!097ZE%DYl1"UPjDG+tOC[UDjV4>T0)f&YZRc`F;_0K80 -+1=)Uptn/FC?F/1$K.^0LCcoobfG\W?r0g]J/C$H*3R*;Ns+C'U]SPl^B*?l:lqn#dbH=G$BY*(btN3=em0?JSh=m0kJjot^0meYDD)Z*!:Q[$2p`A^QXGqksQo2PiW/dT;K -&I2`>"beAL!J<(E!-,Y6!#Y3GgP&D/+fYT5W1j@QKK"KJg_E+W3RV* -V6u\mVp5%O.LuL8qu_Ff*XTXW2ZhqX(PM:,'uP9/&)hn+LN+pi`9<=d.m-UeEF(Y& -9%Z*-:>^@70X<#jaI!nH-(+*a=QT@"PTN-jI1K-U4\(;0*[9qVMm30d"7SY^!=+K[ -Sh>Z,1**E+&Lo&k]M;>u7AYBAVtE6D;TXMQlBRbYUXWbC3d4rr>u_jh8lS^"\PMGR -Yc7=r!S[E3DC33L&r/bd"U1:b!(5%73@?8c\T%EG"71@7&aVU[&FbrP>YbBo3Z,\8 -@p4co?omG`E*`nhGL"p&l$\>ig`+PPrbKkmN;V<*lcHcJT&hTQ&I,[)p[hk`PCrpR -%tY?O#U(dj/#sfCI -KM[=2Jd=dL_%YW-E0Le584j)[,UA"ViXLK!6jDhq*/!Ap_s736>biei,K#VG6%Bf' -L_G>)'EI>-!:iZ+Hj$6e"i*M15Z@s'KEo;W#=,'j^oRjXZjaag%D]Ud^sil[j:B'@ -&A]V'5r91i4;,Iu'u-#mHLu -"n6)R?tBPH"U;#D#%1njE++IY#R/jR!6@b7E"R_;_Qr23VuRbg)\TCi0uFWg-hK'h -a<1M.*s+tKJiG31==C8@/jm]5K(p"2oK!'-:kHVF!fT$h3$5'9H'8;bJZu8d>IHV&f;[c+ -N`)aX5b'o.O>tshYlg]=X+q-e,+Z<6LbUOg3/5$@R):FM`[[u<.5jW%A$)K:#b0)P -GT<`6j/S>U7PnnYi3#2qPJ(dM]mOaY0]S$7Z\mb;.NE4k,]#t=FiRCV.@>t!HuVXr -FK2,iJ`mo$g15d8*s$U-!QZ)e3mpN/H:T$-Wk3u)1:0Rt<_,'!7r3r0P.q8pgbDo^ -''Y7UqWkRFjt:uF0$K9f>2_@RNj3\d8CW\l*0\JWlC5uC1n3#K"$9',J1i-=0,0Y` -oNmu>QnFip/&ZMMI"ocVe>qN2-n$"3W$-dY&q_rI"Ai-LTN27i!f&0*LFLA<_42L< -G(:]YSIfZC?j6g;;?3XmK?+UV\oWI62*[h]Vs,>H*/I7H\]P>lM^oJI1DLOT()$E# -!Os/`U2U.;,(f"pK&A]k3')_3&-QZG!5MNf&.""%D?*4F#3Z0ok\Yi@D4,Wb"pbKh -#Z6,n;$8!R";j*!5W=<4('>*u!H9N[TI#14)?L`t!P3Zc`0VGO>Vh")acf<(b=o9! -279d=c33";,Zmf'50`Vqa,K.P[,*W5iNpDg[+*r-K1esD85;kGc78Q`o]aY#GdM;M -1]tiVkS_Qqpl4crR^"/j$*8^uq6`?]c`no394##gLeI&C:#+_F8[Zglc^7+f1XqSj -*8o)j@l?[5'ptR^,.Bns3e7i&KcnH/Qt-EZ",>`X!#ToAoamAREe^5`!4YgW?kJ#n -.4eRFJS65Td+c\kW?u@rJeChV+=)pX-q*PS!Dk4sW"fB,-imQ<-S2(:@(q39\').i -99gjPKdY<1gFM2!O1KkCBIa4e.u',h#*=4_#^j8bI@QQ7'_0=E(jl;`Ho[jGL,]Bl -4Y;>S0``s^;BR>RjA>sCJgP=]/Y$GSWB1S-Xpuk7YFC!MdV,b26r[ZE\Eei1$a@.r -F#\fH]*#&oOUd"O'*D?6J@JG\fE;E*FT&JM7a&/-E_1(.!Y.fQDr$Kn`]pLY//RfVOMY[>`b?NS)41 -=OiGb"cq=OO'*cjfe&?>1-i[E9*!0SJE.Z#+;]T:(9bCn!gpk-:sK1<6icF<"F(B/ -E(^2X8q_^(KRB[#1/`aP/OU%2-dpC5'e%LPK#7IL!]:eB#UtCF&d)f7JET=Q^^L@U -9n:#R"R$6si(j?g:>6mc"LuX.Qjj1[4okXHK.mrL?kn941'''`"5".ecq+5i8;ss] -gF]f9mB_K(9`W7.gNZ@pn3^C32CqZR!Z2`*#TePT0=_Kj\qSIl,_eg0LPcd_Spb&s ->[4bTpr13B\9QQ&>)lEhA@"9N36_'DSZ,Rg8]F`&?-(i$"Dsg[%EG$=h:+1e\MB9# -MFSu@3](F)4l]iHl!C$dPOrLjR5&#"k_hdAVpc+c.).*`8m!n&[B#`udpW/!hgQeWJ=[B:6-m>tPGrA"0I6ae,_Ds3 -Ju$l^6sL/8*Z88S?'D$N[<-+J)-.!15(!s^f%J5C':3!Y0t=obL)"V;+H -#Y4sb8-ACWK4#Aq==f#B.tT4H)%C7e;:j.a[N0G2)nFLgejbr?CZ')$i-RsVc"5sU -Z!\/V]Trq9VG?2A8*!uES-DF(c3p$KnJ9t]c4pHC7TO(H!S5KrcF++IH%TD.ZSkVL?3L,jW+;.TfM84=I:.H./RVY -THZ\[_ZO"5JC$lA^^,Y(BRiomj%V=.2Kf:_P6Aic!sDFnAauf^IjWBg!TJ'M+>(L2 -rW@[;JFGm.i']6n7tBMf%,aAQO:d,!3Wfg5!gXurrZl1.,O"8#B]ujsm'j%\b(?1V -KQO2J95b&cH@QQQ\VPZHJP)H,=_W:A#Jb1V(*&%Q_Mh#M@JprCKV[f)I:#5WLq)Is -i?O/mNSZN^e4nj[\CY(oV`3n!!q6nUkX5F?6\UU."cO]2=E+6[&Mj`dT2oQ"jI'Z5$4h]$'^]E3^`M(o -AV1";&-3%JJD;'r52=gcP\oR=D=66Ip>G?CiU-X(mM=i#-KFMpjR-X@DKb.0IceHE -Q)(OK=b%:h?l!)i4[S/GJnQR\/rKe=+_\8(e%3dsA1u,S-tP'`rX+ -K13;'OBphlC]H_9l+h,c#]7`]P_Qtg'R46j=D%e6$3a6nBK.^I3%tIH%tkE+iCe!A -Z;oGBCs)bXn0;t.X=8kU`WV)Rb$ZOsBI-on+N5YQCc98g^$$r@:sU$:7?F6ZeHkFn -*8PfV%BHBqHu<#t(p3F=ERp1k7i,H(I.)B7l83/!;qFMRC?fF]lA$GO4kN7W^h3m& -E^qd(!3Y1lADYDgEi18U&q;FuUTcG#(_6`\1k@&2 -l2naTpH3MP;>*o:i_Y9e@4@B(3gLm5JX@Y`TGR`t1-BeOJG;VN=!=,m$RJEM2-j,5IC&h@N"m[Ff3"(F"7KE3PK5NpUBGc>- -6e3;Hj]4if0%8a0Jm`dsA;<`e]1".Ads-(/puZ'+Ur -q-TJ1:REuGE"`/Hjm74fG$n+!q+mbck!],S]DV:CP31XlG]0>Q+/@b!o(anQQHWKP -lI/8P%"f:jKHO3DW)EmK#)4U.LF/D!ELCc2B5o5p_d+PhW#4@23@FCpb"hF-GWJ[" -97YA^KuaORaBnpt?NqJuL.+'*NitGs98!9UKD79S+>`JR-nGAqG$i;`De=BYfr.E` -JX6+`GXR)G6jC![&;NO5LJh+TEZ^%>XN>E7sid3CVHjIlHpX'h%>b/:XHoMAhA'^\fL`qf1`K -m8/<>`8Y2"J3Y.dLZ&fC89?s8%>P%:OO._k(5g)k;4-ER4WBI&A.gm:Q:!$_8gMiQ -A?K2fQqM$Hq39HE2jqs'e#C:RI6F6!-r]s_#)PjF;J!mnb6`p? -iUL$?Ag8=Sa5_1X4I0%nQc`nqfpq2C4ds`1F?09@!+%i=MMc#>+e]Mh6`e-t-KlJ[ -q>`^OJ-Y-,!<%BI+5;S"fE1bkJ=\:iMa;P6D?oak7maTaM+i&?#D!;V%n+++mu -q>8*X!$;[.4*>!G=J5i<1E`4+;AGE%!s/+R+<%JG!+uItA4@Kdt6*r$[#=6FO -*J\(QI2dq1lpD"GOsE[E7M8Bp,t9RjC`.tY^h+Mj6'-%+L2l"S*F=Ph%MK)U`g2an]5\Z_t#qI2U>=gq*32I%/iIGYS>Os_,MEi5Z)VL -*CeHkAL0jpF<(fN_R$nm9Z"':&Ah=%V+"51Pc[YWeFbCia%;Li;chLje6u?XQ%a!U -f$eF9.)M\=GTKs!jDu>?:u"-B_A5CPA4)P+CLpZb9r2IUQ@5T@g@gN,B3R:]Z#!Wf -D80c>G+GaT>aEpdAPA3X+a2\MKI%bYPkEiC#.MSEGi!Z3d;N;L27[\C(Z"\7i3kfI -H=;o#4,:m6mHo;N(!U`Vf(dJi*!RRjJes4%=BHi-i@)iE!sIkg"Ic7`!.X+`L0p>1 -R@\8`B*S,@DjOj_G"dN6_"82!!oQm,#JkY1NFNg6RA]<'Ngm#PnGS(_lN-d.+';Lh -FrH,[E*t#O6!1ud"J`M"$l"GP(21@KY&V!iRCV;XSgNA,DA^0/N)Tl?3<0X%_Q[2n -C[pn045-%7iHO2s*[cVKpW_fGo,N2gI:6C"l-47=jf]-cQ_!$VhgC-EL%Nsr6\JT* -B0Fde*EC^/ES[O0a`j*MbMW$lp&f8Y4rr21GT;^\j*=qFPAfd7c%A)F\qO8e6ZMmJ -?jH\pKC=U;m^=3a@HE7Ppq=^`h"[I/48%GnmB-)1InsA+?N3a/HqdLnUgsN$0*e1Y -'SUMg#_Rqp"(FCG$Se^a7^2Oc6e$J`&b($@)8\LkORkb8n3!2Uli;[>?@_Ql+[GOM -$,EVh"-?uR6';3P7YVe588AXdi&1m,Zm5gZ:_lEK,7VLd%1+b."@^,\!<[.W!-,e7 -5Ub_75SS>M0GH@_ck.'O%fq2ALEP(a5N\pEj+M?2:KfeL -)!]Vf;^2eqJ340h.OiA6$lMEC":^L?!=(m^!(5+[J._35J-ieGLRJ[gUP*ocl097JtSjd>$Fli89I!EjEciXXEKq-c<\J31(cfc -6\'_i21e*A,='n?(.QM`_#_IT`t782_i/Vd@EC?](ubP5MC+>i!]!1=(DFX/&;Lgq -$A+LRN:EcP9A/,S-\UlY0uOh/^fCa(^`!;_CqS*BmTg3k!A7=]J5AiA6"i[lTi;qb -:mr=ik]IK3'MaG2=sZV9V&,n+Ar]`G4\"Z6*MaC0O]#@M8]fce00j'^(ZPL'Vj0!- -oZ9s*T\9\S=HN\P6=l&eRKEb-l&c2:hOFLF:>\_.fc6D&YO)4#/EhLU"Dq;8M7S"e,UD'1c.h5\tm:TMsMp/6u!SFVFD4.dVk5J`"rI1sSrP1Al!AR7VMsr%7_!.m(/%-mWY_EIupc1-= -9GrA_it91/q9Q9L_g/F$+@q%H(k[[pC-nS6"@9h$JRM)-!(ba[Xj*?q2I\ZnYf6^= -'N>*!:*IF:Ka_@V0cFR!Lp&ucaZ1P,[:FC1!UEp)M"M40^h+(.^afcNe.N!P,R6_n -[K9pfCk.YRgi9K2`gNoT!$U\i5Ubk9?mKTIi#j\+L`I)dL_PRTL($B[4pF:E*2OVk -U%"5;_73K$?sF;@Z1*2TfU@_,l:m\Dct'`n -5en@@(jm*=:iR-K?qZFA9bU"kl2ZI:#nKYD5ADG\c3'pKNDYE4L(KjW!c0iJ0]3Oo -BLE'_`=Ef!D%-n12[30q0S48ZI"W7e'TDZiN?AunLHl"`"0N6,Z/5flPh:l2:NqaP -8d.X+JrB_\'8?3^'*9"'#VbEfEnm)+nm=,3ik'+f$Cc"?Ie07A(I6XhL*Y\<*j8b.&>^TdX",Pke0K_off"uHJ_lkrEli&hTOPu -5Afe9a0bSIhqe1%Gsf7?HQlG!^mI>=G4ZXd1CVgbiWmSE//[qhqJ"E`6jcs<]=SciMbu%@\lGskD -'H.LT(?gPe8W!s0BF#2/(GOAQLTJV5EdWh?CMe/\YYYR4`8JHA"2PB\J1;:KU);"Z -*)+`(EE6sJ0[6>8+,'S7;=bmk(Ee>q7]C9QYWbj**^BiL8t%`#\Gb^0qr;`Q60-;lct>YZ --fK)05m@YR\rYDT3>k<"S+ -78!e6!+ZGp;@9*I"!K'2?kOADmJmP72^?QcVJe6kqYgSIl*NE_&["+UmN*OM!C<[I -JM%=nP5nEP!]4Go9(KkBD#nUMHI/>$<+AFoSI!4U80u4Ve.f4K#hKH428jakk8=SH -pI8pV#@M'I+G9q!J-c3\#iMQ`@%n%E;@B/I"Mi@n?q_"PdnHF]"Mi:k!)O((X9E"1 -$".!E5`!br":($<2J],k1i,p_JHQ\[:bh&?[#G/AUB.b+5ng^18S1;(pd4%!#tpLS -[1cHG(:hd:;T0YAoef[E@$Y=Kf2S&*n3KtF'iaigHLNd]n?l.?`DI@EU3@9`kB>&Q^97!(ns6.1Y,U_eP&(L\ou+Y!qO7LaB=VDK.Ior0Cj@PP0U -LGJ65i*ZeKN?"UD.R8Xm5[F^)N!InE`.TWDFfr1V"@hRq#E5H\A3W!$%&ZB6(Eah: -&R64Bd2I.]'hm*sJ-m9RW"m,=BTiW-+H?VuM_;ef<`Rm`6,9U0!LPmS6!tH2c#Z,cn"LEp1_J[,"NF -#R32pEAk.CG->l:#BBJYCDR_$G:@QU[;m&oEu-NbG7eh]/Sd9iF#QI-QToN"6$-1* -A@53JG9k13#R8XB7=q- -5c]T;Ptcjej$ANW=^`n,K8?Ij2f9u(6e:-_=?pK`P,WH*bb;?2+Z1\K\OI-)L,>Sr -'P^BbKRNK<,NV]kCaVa*Bh/qVL@'\A"YF5j=BK>_^$>V*d&i%5%SWO0#(W3Q5Y;Id -#Qs#i&\p@Zp9!C)MD4CnOTMkMU4?oelbrWE6#%H'hfbd%TJWtuU' -LtHPF1Km^W!I`K3;`+ojYR>lGZ]GK)8G*t+[3/C*-&@s$OSL/^q#pfOoQfa'7oYD0 -Gp6;^5R,b-HC(Y_\N,nb%(\$.Z.3'@eR'C99p;>'g2'HAcK)qm&ED_BG;k'fBs>WO -GfRW/a>91h!*mV2L>Z"6HaBn)Q^a9+@kRHn#cUu7+M%^V\M2*V%Hn93:?i7\9FPNl -$W0.qL]a$t:PWEc7d%r3($Imp4NLpJFs.J6!%&HF^7,ns)OO0i62pfbA/7P.&.!Xk -;W\:.d$?\_SGEnb#ioBqEnC"RA9`5."q,`&DGJA%@["'j=u\4n'L>%e+[QkC,E/9>'>Y4]i=HJA3Xu.q"@00t5YMJ,Hj)$. -"e]6,_ZQlg>H,DE0Hag.^g741?!Et(#=,!do*PV.bRe/C&7JfF6!Z!c7N^<,Aa#d, -To9#'N"k1u'Yt+Y@0d9,7LUDg"`dJ?2QR)V0s@6YW]H]THC?NKU'72sW]L7cgAA(^ -[BLS`Ykna+q[9YJ$nsaZYI?H*gEEScUU")SZ?m7iRfdE@@C4c.YWEZ.HRH1)%C',1 -YW"4N)EXX(7s1cbT^VrKT[XOG3Y7b<'^gRSN\%0@dNA4:+3BripfTPK]EdA&#IV$d -KaVCp%Um_k=JR7;j=!OnrCP2WOrJ6/2n"^PY?bA*#IVMdo5*<)*O`T=To>8@i)Bk& -;Ph/o"<^#S^cR,"(VeTA^\e8N4:/eC%D[?%^q:8qHkjK1'>aSa_?rGX!r[^Dd?A]1 -K#m1BJ?f=YY1mA;)ZUEfpcLM2o+cV9`?U(]"3fRD!Ztj`!CQfTVP>r'I4Ee%MYD><'LD;1u[0r6RZ9lJX=GnD"lROWYMb)no%"M._D\Ng- -IKADV)#tQm!Ls1!SOF^")jF5=SC"@RQ5CUWJY=n&+YjNm7LgQ,"fg[F2#2mE0mZQ. -b.H[?fdhlkLPN+1d!ZX7[2Q5:]M@c=M,6LN>o1/!,LE<`Y;mPaOLTe1Kuol;e16Ja -KR]4VX4"[Y^-rB'$`I!(,9kZHe5tF\1N3XC=:"uLS*f8MOh&!gAuer((BGod+XR]7 -64SOQ"TYcm'r6R4gV(o[LGtTT\(o'K:c3dO&"l/uBoip]:_SCL!l73"Z@L -%h8pT#g*GO;GG(4]gR*mV2.M3[c[#H-46mmBtM=ZpI'&MLuE4`!&tPJ`WW(*0S<%( -rSQSIrfl?j7WpC)Wdn!MOfQ -!%JW^fE8q?#QRY=iru]3-a@.bl/&-'I\li>6XL=8-U4"nQHnT&2d*HgC;h=g7cDC>Ku^6SUl_F+"%U -"b;rMh7G&nF_AP2/'k@>]8sKXGT.ek!oZ@')5>3t=>7EG;>d3cAA-,8pX/o4e%RJ6 -$L@D52W-`g8n/;#FgkXIer@GXj<)mas"j2El6&>f^Hb/8]HdEg*WFh?s$-&RJ+*EP -oH41-aD(k]J\bb+GZ5S!$&6=Ud27O3*u0W$U60]MAiU]h7cX$l"HGnsONHRHM);)4 -/!il*'%r5XAMooNk&Zrtl>\nX:M:E_Y\Z9=&lHW"Yu&MN0H!dnFMXeCVD>1%lBRgG -C9_!H%;L%eSVk$jY$()ACJCPRD73KHct^\#7l='iGlAsbCrW,@-3G/j*ko>DpGRi/bbj]hilCTFbZEY(F,>U -l4,j]J[_\ZcggS`EYl7S"D[f\fhbI[1)_4YH]L4QjZ -)2DZ4@NZ1i&GB:Z7A8Q=*Tsp4H_4[Hpa&iUiS)?<@?NK9Y'Fp6LYZ*)1 -TrW;?YE1jS"A!PG`:LYr'Cm,.&.>*)85b+n.7fVlUFJn,ZIJWlD^1;r3tfK40haAK -ZSB\Q/C-1J1M"lb.W2&I3BkkiU`2JFl]X8%F55M6:\45]51"BT#sgiJMpNM0PZW&t -dBF#a6GY93%80T@4Yoa[8rS_n5N0f]3k=n=92&=7j\o,YFZe7s\dtjgqZcNtd/c86 -"^+i*Wq)l$f@C"s@9<.CK47sV22nqG2D'Y%fAY(c*!bGIH7O[nW?Me7##H.J*l&BS -I"3Tg8Js*!`0fFs)LTpkBRj+u!1E#m"_#Nej(LJfk65p*^tk=FM1F\%"V3K[Y0] -A/euE?s"]a!@Z5["2l':$kn>N,Zko!EJe?/L08a+QXsPOt=N^cgYcF$?Q9G -6$*AK,[`N!N8Yo'.YT(6KGTFZf/$`S>0b:F=tgc(PT\GOqiZo5Yr1!+\5VpKka\^'ma2aU[*5T^T6^J -@;&UU#(]$O*OB<;bGDu+L -A&s;+8e/_9O9u=o%tZK9$GgsU%,h%>H-j7fPc-8D+Fl&"E<["?kZnE:lq;YDrU1Gf -70VV=]m(,i.ReI!&4(P*%cE"$[1QM"!'&aRi"U6n+9_Yu,PmC38\PY-8-O\aC]o(H5eK)g6E=HYdX`V?K+Af,F5j#1@Dl9.]V8D)(3%?^q?M$(P$%]'#oPS3Cia\[1, -fs>-HNL!",GoJMJ[*"dM/?_>N=:%8A,QiR=%[7TT:o;IkRhKs^:$K2Ik7lmFPCdjN -3R9]u7-gCB[WKgjffUX(nXbriHVZ*\4_N"5T2YH4:\j`MBCu>!'Foal=qO%K<L7GssKJq-Q!JLurdAkLYUjEdSd2*BC\^@'/>F?A\Ol($J- -Y%YYkWjQH;;8],V;F0W1ojI*^f$IMp2.C1\k!?S"m!BJd;OOA("W[]\%M""^"lU^[ -!hd%CJKSnFTO^e+O;]kZTE-*l]R<]@"QJl'V2jQq2q -WJr-'`GC^.]=>#-1=oC'[o@40::>>SfNW\qDCp:I[-kak>Pd9(PJ(V;WI!@THZsLI -e]VQYd3I5hE21oodrt:+NN$-IE\:qGD(:*62Wn.bD\_$>QYL-4qhD3&S;*.@C@^/W -A?k*u9tk0u(kWHg_O*C-@4M&Mhh%\R!OsigT]d2EJ=6h^=F()NjAUV,9JZZNbSu'T -D@XGf3sWh,+#Z-#;W6U8a,&jXUR!is?m71UGT%11TFqHJW!\-?,6n4a)dhTmJ+;)M -a,DI%YphRC_.Z8T+_3LO;#giRpjrUb!M>0&$jVG<:Co&G5(W5!Oi(R0"X.+p!oS_A -JV!%#JC=L.gin9%d_f!kp_SS*L_@SW-jr>^&I/=V#/k9O'e%:4['>oT5Y0NHTH%jQ -;5>rI@*!=SjA;;=&-kT_E6k7W"Z;\6ogI -KKD[96o2V\cEYBN`E=*f9JI[O(19[9A:]Xui1I,?m)k\AE"iJgilP`6""[`qFano.rcW,)RT!+"-sD;& -A-"q(!^Hkj5TBmA/-J4C"[Hl,^jH>OKEjc$$:(*h5a2[BX:2nW%7'7i5l;)-$kEV) -C4PLY_)N#m8/*+3$a.)$5J]]=U5pT_)Er*hKQ%A'BOnJS$jU0cJ.R"-F2:0^N^>.D -XE5P>R21Q[CB-n@"aC?-F%CsGon,n1K(pkt81Oad'nU5]![:7=UbO@qW"5;O.pL:L -1;"XTesulSWp8S2))!KG)SFM'O)-eY_6^/7YRaX^&'4_\ktisAB#Al_!RM^8^b117 -/VF*8KCD_<\57nS#R0f,L=gkR!g]0e^PmK-QYN"h;o4:1;uijq]s5\2THop5lTp(o -2M0F!./UU'=2Sh$7<7/#P[-Z+>JJZm7I1gD8QeM"fYsOH/h#XI"CK/R?Ue_:6_OLN -\PXuA7kUK+P&rWOjCUk\B,'Z/Ro*"a=TQP'E^ni*-?A_nN+/'G=Xu%,a!o@P4.2bI -$-0,n3STuFWq`dVKcmDmJV8NVa;M1s)M*DW!Y?-!#VglY0a&='KFh"2W)3a!#6jrY -#2jfX#^X"rHa)67Q\,nU0PGu5BSGXTL#>Z*\4hOR&;-W(!D"Si&WMA"(P0tH[q(!1 -aJR)/J3&2t(%I'TfHgQ3,Uj**"3=5f^eKO\MM;BA"or(^E+&qn#6l;Z!,u>Pn\k[] -UkI_[Kk4qQ8&,X[DX:3^iBE/EJ7L%"^CJKRfn=F+im637tfeom,:G# -F:Tm$2':,Jf01G5s=@#07&SaC5.j@Kc03"Rn@$+?+lP'KLIX!GckDn^Wi1 -5gJ",;0X@<80e6>m'i,j-A!I'CS?[F#*8EL!XL&L#U3.afa;sA2fj/GWY-IQ)3oUg -!X0Em80cQM,1rIJ&CJliJ6fH#TH9nZVSK@k$p=ET?)6AGQn&V2&:\nDh^h0;#@9I=kc -KK'GE0OFg!?AAdg#7,I&(j42Q:7MW4=acW>M82i>$(o.s&FanROE+:da+^ogK[<&9 -kWuUi4$ol!JN,96L_YMd+oup33_8"`)]OhD)6K/s7G?b=1ce"B26V,J.cCPl"fr1: -3^^3Y2_j*KH:9=kkT,f>R9O^O8_6F"1,d[eJY4'8O<&sm&qaRfJA=qbJ-C[PDZDb8 -#BPe3AO.:]OOZU#KMW-]9jf]4b(4QV./WqEmB\HSeP9t*>l(h^V9rE4G24a0`PA`J -'QpTY>$CN1gQg,k4kSSY9r%&i?+T;8KN^Z^Na4Nr/Vs'f%8%YYqVCi)?'KS'KNZ?' -fZ/-d?25YaPb0V1In.!ba0k6R_k#Y\l&'?B0=C:>XL1X\It>cFJnPl#?nd-[0E]Z4 -K?-miW)/4>"boQk!"ab6 -N4)=LqECSmJtOt%-o>!29U=mQYji@ZBlajlH\[sgLRE%7:eLf09$<#E!_=(.3$3]j -*eC\N?R?(>Q0ucl[hBl4!Dk-fkW4CT$\[/%Oj=!mY$Pa=LoB?%[qY -K8<;(E)-[?$&2Q(!#Te_J,k@XO(6T8=d[6b?j)6mC&k2I"m?O%kY)"B9ESB2"'?Xr -:`h^g#e+KIQ*n*L\04X],sHi.K"cJ*^a,`_MBO_ufYQ`0E<^uhIa\iOJo6)?[XeL? -Jl3F03^Wbc'-)mE&g<,M`!l>@==e-Tk(9N\BXfGlI$j!JeU]t!kkGel0GE[\Ob#:c -R4oascmS%[Q9K1f!c7.QI[M6J'A18_A6r.qMFrL4'*AZbKK*",\7:&&A)`;a=`.nU -Q'_thQW**?e&1:!W7m6(gLG%UODt(9AF?!C;Er);9^5P2q_<]l'8#6oKE+o#YYm:M -rs$%5#D9es0EMJ5Dh'N[aY7%SO:;>Mc\!fkf39uZi#56<9EG(IK.mr@.=HjED$5AY -JD`m"8.L;?-3OT2RHQ&M:a`NH)`Afbep&jIpc@A98qk%d"h8D32Ei5XDhdHX#3]Os -BO\T`:U"4hCEP52E#!t7aI=Fn$Z<2.fnSo9iGL,SmJY7CcCAcT<3M-g=MU\_(nq#l -Li0>Mm_+GEcKfB!lu(\KDXR"3k4*?gna?tYDa*c2:@dj[oEf)cJH-74#*=Bc)7sVk -DH'ljdOH_+2Lu]'iX/l -0'3g;/);!=F?`'Vjj_=Nejj#k`O4%Y#jec.kdl:.D$phC6eBhb!H0 -1K8nh?4u`!InKAU<\Gc\?=H9+7Ha-Yl@F6pBoj,S2B;gQ7a?^o[]EZY,BibuiUtV, -95O1l\d0H8U(QWop4$$(j5U1h-il:TK(on/n3$d(4G9@7"JAcqGZIgX>6(U+"jdY] -cr5JQ;hUeTKU>#U-pRl"'E^X,4qZPXJZ\1@Y? -.tbVK"0oIla9Vshe:u3!#N_8NFH8uN_Zn&lKO>8m=>tdB2^o)0Jaq;]96k9V)/$Bu -Sf.pfd4td-'S;uERKU:&0PC\4.7hO+d#s`7]H2h>",@Fu/5@^LD,L,=6>[=+"#SK, -43@/1]12Yc@nP]*:E3kiBj)W_J;@B*ClU&i4S)+dC,6*K55p1B,(XDNV!k;U?b(;, -\eXC%:-q3sbX'/n\ajk+O8aH9cbWAj:ek.roRFILR5O(j`Y@YYj_e/][TJ.Mao_ml -!uK/`&'Y1Mc2unL!miL[J1LcK/V:biK:jIlTM^8R;21/=#*k^(oa(FMR0VXMQZ)sA -L]N:HDh*@VL&_d>!)WcQ;$7.C":-X]J1grU('3!,;+?sd3<o\!)!/;;qV"ICJS[Ji7h#YV9XJ.'&A]YIaaI@LQpik?EC:!dDe:ci!q6liM?\ -#QXXG4Vs$1_Qcq9;CE4c`55rMaCIX]&;kIJb[e"]N^jE[!dOcp58VFMJoP2&<\YF! -`fV-`b%!5p9kI=+fu.o -6Rm\FQ=);3mfC&WJ1$iI!r7GQB^!$T^*JL83^#FECX.T-j$i=7_uK1MBa#9en@)hon_ -ACW(VOEMHG+qS''#si6d-&&'dC*^fn:l6%p@IRYG#/Q3[M$B-m[+=?&'GU^9d*sWZ6;^]F(IZZ8 -I2tl+[%/@4;H0bQ9@HkJ3D@o/h*"Ta'cfM:e5\@t;q4lB=]ADO?!gX`'qJo>eht-T ->ZTD"H!T%PeU_&Z2>r5RZ#3cHmD2ML -JET$)KE2'@&VNG:(4uds>gkT;=,lF?[4N]`GU.k(VA+n45YqB=d1#khuJ3X8'1#s -*igI@Era68\-*b*W"`tb!*Pt,!JXa5#8i/6-<@p8&3`>g!AMeHKn=8[eR%KbCsM@J -@lpg"X[^F;m+W9EUbnP;36l=9rmQ2;q\J(mDS`3tZL9k5frhU][f=,0gCEn^h`IFP -c8/nP-HcWVF"GRSqYq/6n@Z4b\o.B>Hl30A\4/NF0EKW8B,L1*\Y$E=?.O/ODJFKf -?noZ7JOY9r>*34O'JV^EOFA7*!SheF?C]T_jR+Sr*#`fob9.b0@DAP^H$>kk\U.Z/ -\a1ZthndM&?LPAlI(qnfo_dTJd4am6o,uNVLEbPsB -dg&W)ab.Je!eJi0J^?"T5^2G^TDRS`cjBchQiREK+f'&=@Kr6UVYso@*.q(R'LI%E -$(fUo1.FRo]f-*$&bIW./'o.H_HI>2J1OGV.4c.RR*_([+%RK#:"sEO[JtRK'!?a`: -5_(8:n2_A+>7"[m,suo'%A=m]"F,k7>[TOJ`aI".i+PDI3=8M9@"Q?H`=>fh>Qk.E -8V*Q\14WcS*2"!dZ\E)Xh.nTb9[24N!!YOj&-j1L!,@IC)DVl&[hRb";kGcq*e=TB -$Xfb]U_%SVkb14kL.0-L""**FZ(kDnNb!(W^X!!TU9:J,0@ -=Z`r07j7V\]ai(M;eJu!46&[KH4]e1B^p6j627-b*1 -!?Yh(!KU[M!Jccc!olsTK#(V7!W\#c5m0%K!,lb+E&NLAH6Eq82F)iW7L5\%.bp-- -El3=M$t5)L"`'nHJl##a@/>t;1)L?C&Y>Hm-Lb)EeTetHjfW#PaM^W+'VWT%MW?<& -7LP"dDl&0s2>f4aMtM>4;&]lD*$YT$57iBK#U.,OLtls*(%./h$^a-a=HKBoJsC<] -.C^1WGrleB7NJU2V[sOiM@fl.64*^o-_:mb,66Y[(=OCFJ7668LIh":,L0P\,3\X,4<]GVL:J"b]TWL]E-%Ad:e-Y#n&QI+cfH&GX1\j)[a`$ -dHEq$iZE=O#-Gc)57ge3TG?8KRqf,`nA -IuX"?4ik/=,NRXHP]BN!ajud["CR<'akc(&hrEbQjMVsh&7uD/`s)`1q>&MQ?LO7HJmNS9)O9&I5"OKp]CC@YjT,_Ki(=p4n.k9+FC^i[)ZKYS^b\A3j/n@/_%)?sSY#!s"I?qpjjhutg_ -,bSK?@R^Ul<$I4Z,Y*HCa6JIGFp-`F%tHJI@?OmsT99`T%a#,HPMJ7&UIh?76?'Heq@!Mf`>U)X.A)r]QP6/9L8D\ja0)k[f_ -JSG7[BG#b]&RaH!+P[>)>RL%p#V)?#D`IqCEZQQNC^3T8PW2UDHBDo -T1RP-8[PBf'WF](X%O/192r#dPd=#i[nG5g9GGN?oZKp-btNg:ho,$eaE]FH@7RU; -k0L1S7'6`Q^]r,>#fZiQ_%8dR63?+2'gO5`,PW$K<#86^(L_[liHc=`*#Jm1)MCR# -&S3s^8_*"m*"PpdR#"&\$/&qDeO@*Abhap.oWCT9]*[96Lj7fX95n#o@RCpNWo -f'uN1qc.%n8"BDaf:)7(<^=c=#FZ:25otV3X:3) -"CUR35UI6TBV.TIFVQJTalmkE#knAF!.iEa+b$+MkoE%'"X(CuJ<'FTS?,`\=B4fk -kR>Us&KgQFRY)ad.Q74e^J6[#!O[f:eeL\r;.9r"?r/1r:aiDFTP[\S=OnL&Q6Tn7 -7:8Y3s(EVV&+"i5XFbU,Ejcidej!`jhLi]iKF+g_81A'"Ddi?[rNISWc_N9l04tIH -]n0@E89Yb]HVNNZ%WG)JCT%R)k/(p_^6Y[2i1.BOOpJ9gM*QH.J9(nY^5CoB"k;Cu -Lqk1,9T-q8^]9<"ZJZ%>Q3h`k$$OoCagg3L2MXfg%UbG+!0M#>gqY%k_TFcmON?;* -d1%9F##O,m_EJ;BRS!sK%VML?+C7[5:'Y2)"!IFVi#!:!E>Aag>dA=Fm[tUQJfR.; -!We5m+@ZtD[KbZt"TX:gJ9paU:K_O>>>J=&7lkdZC7>>=9#,+sX-!1!r$:GLe'^61n!5g_;A1^in:Kg;@= -i0^ZTPR5-s#lpJ)TQUd<9E\ct)k\)g\!`&l8fp;$+$o/lJa+:!$m$Rn!hl\2i(OpF -/dDD0%j5m'+M%bB\d0EZ#QSNA+s\IJVbR:;R]q3YTTLaf\dt1g0e<%3TZ(Ybh#lX^ -qIlB(QqdsgljgQ-%@IGT@&]3R'ld&V]s@YF/.2W>Op\5o%.ZLidc_0ko901(%3X(, -68NBGI&s.,'@upb$P3\]$F%u9YFqu-0N&0uh_\eC-*eA4Vh%6q+:G0p7Nfh_i(+FY59Vct56)**!P9i?AmW1_LN8Tog"^VG8`MIWdYDFuSKZ2sVg, -auKS'(!7@(!2qC!Zj>deU-tTC^pX]HZ4ETn%tPW$JJ]&n0GBe1'@UP-!Cd.,65#qH -&n)+L_$1C"64S;I$ilk&@%%=N?3aW%h774j'KUIQo\1Lm"X'q93lDBZ>RFZ5$)F:$ -PWP;XjTcQ]P@.B\qW]4BmB2$P"M4:/qYNg*Mb*K$9cF=2q[6+[&$VN8YhKhrRhr?a -'s\btZ9'/6>:["K0=#p\ZJ.7C"W1KP3aCT."FEVP"l6? -_+G1;8.Eu+mhK"_[9m!^^L`nN=0E'E[UHgkF1`_qn]rF^(4TG5_P2e-RV/A;[?`T= -%WD$6]V9P^A?q:bdoG$&UQn<@D29EAu_O"`r&;DAM/HQjO;A[_] -'L;R!@/:6R?4.<3+NPX-Q().DWE:QT#3QtWO6IP'BPo_;#1)_4:_[m$%CGN]]e93& -4F>*ZiF6:FUO7ePG(;$*]>s[YaZOu^!a[[K7:_p_s"ET#eV*E-=(>L=a]u:rHt=GJ -ReiPbaaD.Q8'^YU./Hst+8?,TW3m=`IO1^6.UsU;43q[. -\j3@6J>I34,+F;BCeQO@f*ihDKalXQ$2k*oPq!F^UGL1A'O -RUiZ/FVgVei#ior1^*n:%%r%XQZ*8Zb9^(I1V!@>l+,Qc%#[7--%s@Y5s,5-3nC"5 -l,u6"h3$O6=O0\.FQ957?m$8&QKSR)R=oq/LRN/SSG^OKI,dd>+RfL6m[2sO&U-P` -RQJ@K=Z7M?W51k1e7H&'H+QCSadtH8SiDFhOto,a19@GS[T(0d5cNrZjEN;1ISJkZ -?=%s;+NV2A.#<>X%0tQlNP-hn@--S)-.Gab#QT7/+EekmEX/8M"i.baJ2e3nZiNJ# -M#H3(^]KkTPTJ`e*oYHH@F9ruX;ITm(njD%5t2AM7LqbY"JDCmQS8X%<,3U]-WnrV -=PJhngQ!EO%c6mh55UFLfWSRSqKL)H63iS)!K^Fj0R41k"FG,dr(\d#PBe4[3@0iV -!Y1mro0D1XdP96PY+#]DI($5CfhjO\jct*q"^,4VX>cGi%&-"W"b;ta^qh$6l(Gj) -Vr9TMTI:PIH52dH'jrL+>C\Y?p'cIF$t-(=5c+h&>R6\0j/?$SD57I\=pXr!]&;?R -i(+?nqui\j&AUsNho65D$3\0P&:d@aJF3QuljVfQ%)AkHTVr0)?jT)Q#%3)hBg]Ud -!')#/a()%jl3'$bNJ=3*T["T6Lr@;Q.'-;u)2q&En^u>l*&E\tA!-RDQ;J]falQFR -0_es:2@0h,TYb8r%:V32/U(#'eG]G4TATtQ(6:q\;WuUXoCN%]W'=SG2g\pFfO4lL -T=E#;c!RQ-0#@[+0*XDdkHmOJu:p(K>_^J,4'&^k_A-%ENp&H1Mde^[, -b*nuP=,NI9^/jMfFK!cGg$A^1`OI*rO$O'@*JP`YCkr:hRRM#=knOeJ>B]\IE*Kd\ -^N!MPRMZrK(I]!,:oPp3FWo@pIrek=Z6+03@An.!hgr36I9h'"#B*nt?/L#Qf?t3M -LPR($L`h9$EIK()VCmZNf%&rD?f0LV`2#+6!>%INO@a[\t;4iTPQB#?YR5 -Iiq9'+/`i3k.HA%fG64[,UcEs:MK#Fdt:r954?+%40J=j3B+Xn^i0,4otKq.-P+&` -4?""nE6/R^Z#Vh$`I2$Z7g!gPSC\S&EP2$)ch"gSlc5]T750>Z]iS.`+PQeeN-%.! -$,?&e(N7uKIE-It+ntO8f6$qoH/a$s2fn$S^.4KPh^DqIk\LN+LUMJ7Z98!g!J"Jm -"g?Of(Ag0iCTE=ZOJ4K.,Bq]srM+#_pjPGhfD5puYg*(QT?r;kHU307H_A(?5UX-l -5u9!6+JA_+?t'^UE*%VlJdDVM]GH1`>RQ*b.YU]V&HX*j##HQZ&?os_!Z493+[@FZ -Yd>0u-tEaIX>^=8BG2Pq%L6N()Ek<2T0ZE]"Yg'$".4lXi\U?<_5\eK5e@ATKH:DY -S/m59@LRhW-O6@K%#=q=!lc0@=:4%B(369XRIL%l!'k?-5ZfH;GXi54Zn4WFa;a0G -m1#au4[O+B[GmnSH[rZr4g82b<%),WiI"B$EAf]T5hI,C#^Hr"!'SN32iMS89L_q4 ->0#U_=bWPVn7]8&t]Q,M3$X@H7FoONdf91eWBs -//UYI?jM:I+bS->%frU]D35AL2%Y-J.Pu1,!V3&lWgFhWE-J;n]J;ZYUt"+V:Md.H --Io?<=$s)sILkWl28FHUlS65Wa5-m7,P2>[$W_mg<&<,cAQQdJH`mJ"3X7q(qs'8C -IrFn-d/]IFJl#\[@;IYud)-!="UBZG3lO@Gq&!Y&N>e=870;;Ck@'m>1$EAT4+FOR`YZ\75ZXKI6i*QkFsX839-0=TK[T -2ukYj[\\gk%r=%aE1Rdc"^#pJ1"J$DE53%i@c2pdD@B'M_4"FG7Oc,sN5At0"Q=G` -![-PK!8r_KTNG'L!%'58-l!GJ?jm?]&dJP!CBS(H04h6[mN_t&"Q4eAJe[L@PK&=( -)BVBqA4hMsEYD2O75sHVkG<9tQdU1m951L_VY'SQe/EC*C&LQ#FXF$9g8@j6]htgf -7Z7?^^/-oBsRo`s#7k^lAdh-rL475Ws]! -oI0d=US\,MSdfjN2hrdc*4pT=N^+"4`t/Iq3$"EIdHU^%UHTbM)4P)<0X6>a&JnmF -&;Qp'$pi6!,YLtkXdt;!h5^im$djRm@Q`Q$(C,!hSV7Woou0I3CZ6"sL(\(U6^Q^i -@?lu52?#f/aN#0AS>KSk0YRl\k^rus"B0k[9JA_V^`.eHDIbV`?*N[`kQN*@A23'D -LPXdf"*d`FYt>sdBPjDZQE7N/_oV*Xn@dm=O2OL+lWZ`SQGbG6OLJ"F>2*>"/;po2 -;BN0c>8q*9a+V'AOk[D'G4*'$]m#fRks;A5S8M)*9:jjaq*W^$IH/:kQZ0J01>SKA -OF]HsFlb`\F2"Xj_t^tAk;G=DGO9\6:-q>2HtT>L*dcB,Flh2D#HtiE/&HOl;`8.g -i(nm'!^8Lb%miu[O$R#,^OY,:CRAb>Tn4UZa=8")3+%],fJGf#&f0o^8`T,C#!_ki -T-4gF"OMZDIPA,(6Pnq]0MjDmTX!t&6O\O*=f!!-iZS%pP*81QHO6\W;] -"i+l':hkb6!f&9LY[f/u!.T`CQNY)4KX``;3%tDB;[eI)198j:;8]p-)Ej443t'^f -d:e*SBnOc=!.\B7S"R#8SVii\g4^eOsp'E[&E_unQ.'ACAILo"kZPcQbW\/^'U -Keg#&VMRf*0gn!j^R*l2V[9^`WZ=(:PrO>TQe7"J8^iJgO1>"n`!euN)bZ1O^NP09MLe3,jdp]bN1E02r*WraB_lGi0&g>b")"RBi;HbOa[(Vmh -4ERkl6I,]%3D&g!Kck)[883hb!s]2ZLP)5=U61=\CaA5Q0aeT5Zmj4g'":ul##J6W -fLGqo7S:H]Z"Q5-Qop'BWsqU2LO]C1J9l_WHABQA#L(9s0Y8'mI8.5!#)EEeJ5-*[ -9oM=mJm]=F<%ig<(bRAU/g4#Akk,"U'S;]1JJ^9J..7;k$j=pY!16ftY[@nWA?p/^ -_DkbR=:'[X8.E*!K<.7gjIQDa(P2dpag'qKb!H,CmiX)H*mFSu#SnTY'S.A>!>l;s -n..D">YoKGd"M\NN_kdA<%G#e6%7B.J(?&u77A4iA'!4YB%@u83u#H\DI.uLN;tLJVo>-uT;$%#,++ak%l@OU%P8cgm4jB7f+[Uco'nTOI -!>mbKQjj1[c@qeHL5<*7"j)\]QA0`$N1_o1QmRD%(BOsoc@(3_oJ382I_C9X&sMkQ?S#iWS%#_u4pfe^7Jnh2%$RPm,IT0Gg1N(]ih@JV#(6B\o,h -8Id%Y.M9$@S@V-P22H(V?FB)Y9=WZM:?1mjGi0Pgs5Xf\] -5SCN!npd7$>UX]"W)<3+qVdg7++[N9!iQ_5TJcf>22#WN"CPJbBO$<@!XC%'?#l*c -QumiqFG=0+L0.N-GZP#e$\W1N!<=s.0GOX7G)-iVY4M>h^@la -QD9NjT/;[^)?)$7o7Ia2+*t1_CkkQ5[3"nI'BG%OMBkAIkrt>X,K(IPJ2+eu.H7YT -^MkZ3[Co.8a"2fOab%\e_#6j*A'5&7!b`>N>8RGU1B^f`!0C@gZmCJHEm0)E(,@\] -k]HkRF\71$;Qs_)W)/,V&;.@NJm=iIdXW[(oad9BT,<72,&nFi>p1Od?Q^>XR>)Xo -P/XY[QU$=na`:_S[o6Lhf8RL)/k6r$+3qY[:?YCV0F!7cYQi8&LKrY6'ZsgFW0uKJ -9]f`@7+d9>B`LtCj+(:WBMhJ8;QpF,Ak^Q13,l/C%_;.>UCp<,iF>K1CsN)^KEr(k -!&=R'0nP:@!UYZS__)ZP,m)F-K$;+7Lt`&b2?eP4L+$`(1Rs3PE.BoeBAdP*88CgG -fEKGWKcindfLO.>3!,H^!f[%_kscd@=LI?*^B=T`!^JC0[Bi3a(_-Q^U;`*2j^%QE -;n!Hsi5@e*!\GP'J1*2R0'"EBBM_3Q8.#MqXbB0CKbWMLcrP[a]l -k3?8RDSGK$S'RG?D7tSuB -mX9LH-Mq`Do'c+W]kMo_rIZ/greWBq60)0?M6#:]-\Bh1T]!.\/V+9IW/gh:l5U9^i!_Dn/3k5TG@u(MpW\!_=)Y3;#kj9S(XOBTSQDOgHJDWpbZ, -"<)[sGA+k%Yl&@L)N;LS/\g+EIb&",=TpJ9Y7N&.SgK --\4N1@5=ODKQmR8#QmE(K;=N9O>g:W1iSg:Wg4t^RO3!P,9V(5-se"uAg&)RLFYXK -i\2-W6FSIs%AH1CXE3Oo!^&!@Va%Tfn?7_$]CfXu$-@?E+Zu.6Sh_AA]QNaBJk.JE -5V1tE3p9%C#*dgHXJIW(ShPRi$[ehN?ic%EXbI*N!8'_lYuL"E,%jLfV0?dH\llt] -Jst,=Sd"D1Ts5cXXS0>LH]!5VgipbIVhJ% -YXiS\5]!`F?r'JC?(%)\+EiO,Z:\0J#OYrec[T_$?iYFYh69(npc_Rq0>#3^!m(!9 -GS,RI7tB5^8e>/[+Dlmi!JcJW!"aI''W!Q,X_f+?LDXb+888>G#)3se!6@`a+;4hn -@.f@Ffj9Seo3IG3&*WKrU`&SW!q]#X]):NCDFG2 -G-bPY==_rA-'$5ZZrq6(EM1B`3Z&>4,4YIO>"1-%$YLUp`=NY":#fE??2!"Xk[!WS_:kHl-ioCr=bI"5QW:_VC5"*UbtCD446loZ,F -L>t"ee7ZGONG4n7jYGB,[TBu/^)o:lcfT=0h&`IiNQJ5DHE4dD]^PBrh -nb9Yds&TkrC\Um(^-T!UFugV(8"[Q2i,Tfm!P?MN\5-nn"1sQiFrH,ZQu3rsj#B^g -&jY+o?@i@FTEQ5=&.EP"5S<),T-r7kIC.&d8C5><=o&+?Yqbs"!%5V,"!#9^1f]P: -B]'t'!Ruf(^$gLV-A -6!W$,gYl*oZ=K:P;N<&O?!.p0P@N9HD4,%fNt]E&dP)@?9%)9r[6,kRHAE;i!C0Dh -"sOV3+GtcI#FEGT'PEpY0uA3d8"&]E*ml/+!$@=J=F-P=&`@PWk37g0(r^_JKn<4b+,8a6NG[A`98N2bDtn<$dZ^VQ(l'??69:E?O^pP()"'86d1RXf -q#CNXG^pss3e/@;)*fldM%DKh!lMEoODSVra4gjWoH@9^\@/DVA:pLN6j:C4 -."\[p?:*R]"JLc5!\i7I5nJ-]iQ*s02^Sh587Me=KIh_*XqSWR9aK[a,(or&%tVMN -9M.TZ"4hYHO6QX/#Q[IJ:i@-p!chJ$+u18hb86o3rF]O7.n7U]cIO0%:9\n&63ul_ -UU#Ga`@.KV4/.UpQ;>kuRRF#QY!C"]cHXR35sNc>Y?>)>q^24-FXCTmDF^ZSKDH%UG"'GQoVp -af$cB$DA'Y1kidQfXNGEdGXbOn6QVlW%&-_XrnQ)&1p/'ZlA..;G&B3BEi\h)8^+D -_][)9!DlPtJ@$I`ODRK&l=GDM"o0\oq)T&Q>Y,1rX[RKoH.L2`=it3Q8!lDD!Q\IK -!G"?F!:rnfaLM?RjD4gYY!%:CFYus("&f!O9<3au1^KrE,:#g>#J5$u_pADp61+_C -\G?1-kgL'q5kZ`'pI$7IFMSR!!X@T.VFEsc;R*ks5T'$oko4"M -D2M.>.3YX+MC6oO"'A>*D5t1n$Vu*\*TUu]D[4u!Be/!rrM$t$%_S($,F&("CTFgK5cPU_H8l,@2peN -n?s4P(iKf@gbjkkjr_NDLD"&)9o/='-,g_)'k5rsMt(C5`Rr3L?u+U(5l`&2!0\H* -Q86ma!&;)C=!?+*PosOt49bfN-Ni:oq*N.O$K73_#!gNA6SN0VJY(YOE;0\@e(t^h -`!He@O97s6J/ae,iYgpa"%S9k*91bm$;`9&"*c(#^uuY?-#@L[!bSm@f0UU;W1\5^ -B$huboB=Z?GgB->dTR#&("9s;W`fBsM$bfQ`!1d7Sr(eofioT'En.gcmoXYiTp!N;84B2'cX2T<&?%$JK!p3=>/3N6DK%Q-ftT`QI"^_+6&U?89#fNI-=cCr -LJO40eJY\OC7Qu)c1U3:-T)SDAM>"/L58[B@7LL&qE:(Ar6l8l!98$,JFS@C -5ffc6!0BR'TPPZ:\5!OMbVI)UBgCm$@11:(jb;C]k5n1F#n'p]F_6G-6''Z@=U;38 -!,hVL81b,+BG:W#iWt0eLbJmH$jiV("[tR&(5!E-B0iip#Bmp?("h%I:]_]?C)C@r -"+_3pJ5ckBjp1s1a_Ru4*53T)I"K$W=_Mb4P -%4[V$8BhV-]Su(&84h0faP@9#[0"\q#13/MYl#ulp'(o7O6-Y.8?@o'S<1i(OW^5% -TUZ68^'_YN$DA:=5o(:[)AiLj!5g?D$Ln'g3>n"9@]pTM>lFQj$l^#9r1=V"cBm -.c)c:;?YcI,bdNaUd+7ZM_[DD7OmR2!@#Ctd.1/qCSlK0Opf\0LLE.DiAU`eKX#0^ -"AqT1Xb&tboDg',DIMfu+l\"Qg:8BN!27QF:e94F9X-+$14d6O@CEH"\LRm<*$['V -D1*e[H8E`t)LrM?JT_(qFq`db'>XSL_#+Su9FK9V#XD]%&%ouf?j[7P%m`kjTh6/P -)AnX=c'#pckH&sp(=#QD'qjgp+Q`oZ?3a-$#=Rj1Om#Xb?7=rd"X8I"bJ"*E49OM( -"$ee%ZV*+t5.p3q"EQjc;b."+n@s$S2J_s!N+Y'8AN)/U2cF]TF+$!RJN&dH2tMea -1Pn*_NB&eQ3HLC`aT62MoNd.5.t[b-*V;MKa'-P -X?6QS#3AU/i,T(\?jF"$#UkuEZ6BT?U8K-T"Mht!i:IY41,5FK(!@j?UL"tCJjrO6 -)^#\2+cZSSNY:8*'#;j\?uQ<;_DjA/dZ.qq%P:'==B'006ki,J1,M,\%8EML6csh0eBrocgTW,#Uora[_[e?U:t/P/ik4)Xej%F: -7?]AeU8gcEb"a5Aj>>[feGVMZlK%@E#,oPr/f@H])WLDh:c0+fBKjfi9]I``j4,SQ --"0P>jAqL8:_b!LPecBk"QcEPjlFBZ[2W&p:K8\83(*u6Ah)c")cZsdkYA5CJs$D) -E>X5-mV\=s#"/aZ5`TG9"P&7$l7ug_Q4!(!mcjN;#-a%]b3\7Mm4Qrq`^K45i+e,j -S)Dh$Y8X&?nt1Gt>\'(4!*#^?!!S2TB?AlsVNPY2XD+Q'C*ofaeXZ2"[Oo:""[H5r -?rR@rO9In.K-7?$T`DQq<#T-Y)JW:lmo'2%l5]j1*RV8*0qd[)_+"LB6SJOq7cDN5WDR+8>!i=8&3r>h,4#Ta-FT*i<64Y4 -2$j\!FUY2/8Eckli6=SS/G*A/6%Q9518,Cm=F^G./:jZ7+RXh>R1!/'S%_K\BKBaS1g%LtC0&YPXQ5]R7*8dg2,!oYmQi"-ghp27n?//IauWp"@( -A0$1)*J'pc2bjDTC(h^H'-QiL+S#m_D@7%sQtBnG^uAnM_?n/2#IkCQ^q:-e],-8K8'J=XI8gTWNgd1@_$iEfkST -M%^nIQQ<'1*TE>d_MK=Wa9]Rb#_:>+T[4:$2A(!GZpC$f6.(+6=)NX1(#]Q'JI83' -e-]S]$8?g*PjjV*I#J3e!ek%C"tDb.-B8qehk_i#(S)jp'lc[.#,#E0E#&[5lj*T[ -"^mW,^cW.$@*Gpb*FgcEJ-$dTH%!",ID\gb.ki"^#TZu9*,O+CoT'Yo_'oL\+%\`- -k1Ud^@N!'-)7$L>.eS3Uq2,bPfV\]gTot"Y?33Dt&`>LR+@H[[M@/NU#roNY=`P+i -2A)X9!Ps@,aZ(;K"s%Im-f[t)Ue\Gi<#3mV%mYbf3:=@nZ&RbgBL74PZV\;"3Aoe> -2=nPp5W:d2Bf8n*SU&`!;m2b`[@S&@Slttj>R5%]$)"@'+K6G*\d[Lh%((Tr_%[!& -&ehQe(4[YGF:,Q/'*OPnDbGbiiR/]R$63h,)8UCr!Hblg8e;(;$\2+_6l&h+AccCQ&KjIR+M\1(_$m7*5U3"a(2st; -4.K,)BNta$CQB\V,Lt>]M/UqBbY'fpa9o?G[OrY/F)M)i/+`7rY -1(tf."9A9,2e330>R6ggg3\Udj_9acWX&0Fr.)$P@2U12I438;*n6^^WC&4WbJl$I -G2VC-)eoU=Y"E4!IZWFL>-$NYmGBt,N;2)+j6AmY!T2r&jb*)Ji-PsThEPNK7^>tH -]rAU;U1fYpO>j3OpT=nuZ\H9:$36M$i-%[7^]^=E'Heq@'"=-/($.$"@N'4hj>[pJ --5N9l"G%BuJ8,L#PR*qH$UCd$+O\Fm%/Hm2qI@ZUWIgLBQ42mmq)Bqnk9LQ:TnA3I -5B3]VnZJG87!.'Q)jjFcGZ&)[&dp/5)1\?qM<^]c]Bp`uL1&SQ^sJM-b3>oNLMA>p -Z/^W!N;I>Dmp_RNJ7+qFO^4RUB=u#Cpk=NkNJRZO'qclgLUJ(&S`Kr>MF/JCTaT+1 -dL'A^Mi&[e'[_)T*KT[lrZr88`FBL)e64jMNlL(^5SMPh"`lQ;/TqsgKW,;. -;;nm%loo_R#n:In6#<2E-]s,$6.itn1`;7Ne;?C9R7jGUWYF0?kdHccV-2`RF/TB0 -GlXF3TEFIBAWU'Pmskf)Fq@q$_roGR\:-OW%Yk,uYg?rYVpqper"])8J\p@0,11). -9I:C-_u]AkGWh85jYGMZ^iqf0cY)kg*>WiRV%3eeJY:Y31)^T+"$7NH[p?$DLGp+L -\8uAtg$cg_mLKDR`Stn4I%E8IOiup/H5t4s5GuooFo'pcYA^]$m<$"K![YC3#8fpT(2"Ro6*ufFa&!+bS3T*OD#l!*U]m2V=;YU@ -`Yie&(F9nL;3AZI)E`Zt^r-nF,%+S##,.Dr)Q;-_rBO2$&8)nXnVmW>:m>5m)c-*N -Bh6XYV&;p&[&l&Udkp/F:K'QM+reqg`CEg\eNHA?dWGFL:f&u:CKW@A&8W9j+i&%; -#9h04?&*RqG?iX?ARAKjoJBAk"bKk)&rd#B4@2c=&V:7T#5AaJ+m3T.H65BYol)!C -Qiq]hL?K1dQf*FD:kId0#S3#,:f9--+des2=*;K$)q@t@@t?'#%96gAQ1bb0@9@+T -?WY(gKiHIp$t?273#lL5eT:[tMduFO6&al@*E@St\6^8+<:g)\OQH:]A!(AKL2!&f -\]-FWdIk:pT',ef+-1".`bhJ`3^.JYBf]jgVcDG&A/^2&#\"\ViJ;4g#!oJ9KMTH(g`tl5JU_#"l-=_*C'%g!(0E^HNCP' -"o&-5>jt0j!:A&rcsZ_OTJ$L7lkkA:U^Ftjc4&\4%u9Z`#D=Lb"+i3uJY=>5JC',` -i+P=[0Jjc%5UHp@F;oqLV@irl<=3/20*T/&).&D7$t3Bk"^mW/Jl#!pNhPorB65(5 -!*9GG<=qHW@-$+I+`<"oB.0*edoX=+kne&jG` -#E0cI"5nM*_9/d:9.VA:@)4,+\<$f%4B'>[JKBPB%2i%TBoTn>2TDs-)Te4Tc&mO> -"^$lh@R*!V+R0e03+!!MX=",.?k469_4PfA_p?I)5FQON"p!:(JtS_f6Th+T,e-fE -ELo>/#kff:k^EL4pcj9/r[btcD[oSP3G02Z(19O5Ld4'FJtOS#5i`c7Ef(=B^c&&a -iF2mid\LU*OJdt.T$r4(:`4+;D,h4A[\ZsA!UWMc!;mqgg7M;pr5XAhq1(3NgH]N( -!3;=kID9knr820>H)fpF<3UZ^X&K<627,+C0ZXq0BMSkmj=l0^^aMIPTH#'kE7*D? -=tBt%Ya,d8O,s?*7rSPNUPo9b+d)q^8=TeaE&WC\g_>>O;@E!h224rW*33aXGJP7D -KOjofSZ"d[iB/Ikd'sko$_rMR:$Ou?kAEZ3]8@b0hb6jkk8`O,6r3$cU&\$i?*HR$ -[l,Ug/"d]]OBQr26L.f_O"nK?9F5,Y/VTk))T,Bd%H4fU#6YbbN -*&'l*"WWgH_%qU%!f!N&'Z&iA#B7B`_XL9&JERgPMS.?%$@c%@nR/Q@Lp5GKs/)%; -UTBclN>3I7a3M.2ZpcUmR\[]p^t^.9d"iIR5ZnQSN&M!W5TZTfIp+$/L.VI/)hT88 -"Yh/?9<`c*fbo2kKcn+Qn=g7VG\R@)Ud>*E"sST-M%Tef7u:%h,t3n*(.1Uq%2%S" -LPYg-"7D)._>4-:mN*UA7"3N]e35][nJgC'DiE\_0*#t('nAtY$.(:Oja`:%+EU"_ -d0']m#-AIKS4JLP0IFa5(_ac2$jka;-Y&O2SUs1,#`XT\7J.cC\l36Mq[',iJ--hp -S-"^j[$=*YAhBb@?^X`BI`/$nRk -'@S/i22BOB*qMiR<39dkk,/.Ugor8L5b,j`rZT4)O(?:otNq">4 -#_3d2IY9.(aLX?GRi>$OC9IfTpc&&@+bP_A8nC$Qo\-lkl?@2CCXdo!J_TX)jEW9$mB?gKrD!tid2&-5oq'J -!d+XfiFW3a3*h*_8Ss>$,Pfk/:?hI:oEunlXD^u#eB8e1rj>VRInAmj7qbi^ -PRhX6?sh.dfm90OM?33"#FhY;"^k:E':=#JK/PpGiPr>TOSAT]Y_XUA`As90Tap"6 -3rFN,'*3VU#XH`Z/'lSgPq?&2f`AsrY\M#/,@b::Q'LCPJbtlt;/U89ZbQCD&P80$ -/,C2>Q5scA]qbeH"9h&)]*^@q^JkLWl=MNh,S^Fe5[4a`bRPI7hnS\!,82CQGT?gH -*!+_s^#SrS.:GAdp5rS)_!DNGA/[b%W?rL4S'bU_li]V=+$ltM_6SV38Y@fka$@!S -R;sl$l-,[M^7\XYSKZFP3RF*UkYQ1#X/tr16493,fNP -C$2(>-_cDW6\mcjS1l-00HDn=""EUj0K1Wb/KPML+3H1>+o&7or"0hFTBZB,dKH3[ -1nZ<#TLoB\C'U9=(Q;0.!I29b6@8gl,CseXJp8%4BIKP%Q%G4h!e:r9E$TuW,Q\ep -!XPG#0IDAG-3C+o!i"r]a=dVY0!1Kp/V#GTK%>Mj+T`80JdUB:U%'d<3%]q=,%)Z3 -+JSt*qSXQM`%j#&FD`E$9X?u0!FR,RckHPs21Zl-"7Qj(n4S;Q9*KPHKlCK$E++Ii -#DMCgKt(7cOBA>U8g]WOJN,4_E#&L_+Y\4LMAil)H!74<5n1?cL*.a6% -POYB59Ys9#_]*F15LGg^M23KD*j/bh/R#$O=bT$*$HuJObfm1S!jF@Vs!o5+X"q%4 -:a[c&[k!'@/#'X+_f2[A^UAcC9oR_!R")Ji9U>0cJ4OR3=:PL:4Fq0.K#f&9a>&:. -0`tf=K4<41MXQ/EcN5?m[@Sk/K(u!h^uoRI:55nq1uYT=n2qWV7L]rNc`rtUqK2ORYQm7/q,,ccP9&W/mRB8css093.*+GD;'Z?BL9/6;g -9\^#?CF'"OPe>FL!eO5NO@k&M8kU"R"b@tR`/"Sl'JD3'0#! -L`$6O(4jgUJNt@[=:t[3-NOc*!f.D>J16$L.>/6?":/1]BNi%+FK@`Tb>V%mdn9q] -!!g;c!!mlU8-+K:AcPY>"aC<,GY*Fq8V?LBKBe-lTG3t!%7MZmaAc*Y+=mTs'deP= -eZ^],YV2o90EW9:ZG8U,BF4oNDZDb8;2o,mgII%?!/JXB.%#70(jNd!FqVD^L@UJM -\7LB#`<8.1KI\eZZZ_2[GINBATknJ)*`ooX#`%,3&J%Y9nmTjL2+GX!l]q3FuG=Q[[;8o0EVP6 -Ck,&m"t0]\+BYDN`rtn!KQ+F'q^TML.C+1B):RN[Zdfced2"=J^'2>;iMO;n5F#6e -(o"**`MP$qK,)>I4je\`-,i$,_3Fj7)PiUKeYod8/McNkJ=otJ:gutrCkgKhP)*bk -Qss)=)B&#_WNFtmod(?X^Hg9&Ppp,YL#NjGiu!^^'TL+9ZQ(KHe8abM1MT?HqfmeaaH7^qgb`Z>*ZroTM"@5c@)L -JrB+"\.o(D.fjT=!iQrfTIBo7-j!Ki!_=L9^``aKKr.B]J`S,mD;RYFg:a'I@#aa8 -OW#1O*12*o^ch5Gh?mZXjr%m,*,0o-d[NDn%Mb3SS@g2,kSSn"+p&q;6BTZg3RgC# -f#(H\'Bn0HKE8SdEr8kf&*X1d]UP$g]d'asWi6!miCa::16G+mi%Q"+kDA -6s\[lc6BJ9q5u+`!JNQ8BrV2))$1Wo!Z3M@:b@!YR?:&4@6Y197T=SCN3$;RK:BK=+"/qT?BMsAb;Gjqt -!6@fdO:;>K3e7Psf,K;ea<6%Y+5=\SK.^U9N1u$cOg\\:<3o:U#YVEK1SlcnK=DHpYoNod -;M'KUJ_h((?4U^[%;8J9BB4>m(mG67Xp7q8f5#%4TP^p3:BMAZ1I=cd[JQP0hn/h`$1P1E=")p!tFQLec(U.oPh=Si1=<`?sh^tcflq6)da?=?Un,q<$ -*jfL]"S/"W5cudV/k#B8@cng/kQ;I^!q]cM:aCWa@%Z[kc_)TFTJ$CF!R>#kK@L!T -\cV.+"]/b8!BU.s1B+KP`?NkK/P?7#c%om2p"DtUBM=+o!&11+`W\bgL8;?bX%]mH -Np<([JJ^/k3,/G$C'R93#=s+?(pJo>Z`)atbArTL[:]`cG(:uaLCaTD&8;,P -Bd9ia"F(=XGW5]qB7VH_Jj:'Q6O!r9)[]$fkY+b89?dM4(]iulJk-XY3&CXa1Bdad -K_T?i91qoeNRhFClB%'"ND3UA6$!$%-r`stW#P5oRU*(.Jc[b13&gpU2j7oPL9Ldb -Y]kU7GDE*sLTImBf'I._M2,I>LLbgeMsc4t9Z]m];jB>KB22BcRU7*[f\dC$Yhb8* -ak5()!>D^^g%h1eN.Cl#=nc'&%pARd>'7SaFjF7ahctQd^OdDGd&HEJ6:XhLq,&mf -l!?B+(mFl&[D:S>Wnk1u(0Dl83"lBB5dcleKWkmgXfGX5/qflf!8p>PfJ8"31'1Pn -JkVE6JQ*@gf"YR^)@8s5'DN;&IpO!uQ4rs2:76:7L&*VFZ(9X72l8%#b5*c,qF@L" -c0cQYX$Ds=RAIcHQ_XDGXkXB>k=m"L.k(PG"b],NKK)L&cq!5g]S)odKTH]ILe%OH -7t`9'";j%J=>g5b)$6HTJ[ckT#TP=`qRu?ga^r;7pTAmZrkZF`i5*-8f<5%Ta*b1@ -i<#NX(#:V"$N+;2@7eZ_eeV\;(a;.7iK,`7J1R9-)iSYSiS7u)\1DL"+9L=i*;1Qt -3R#B9,bB#+I:PIYEWVi^?Xpt(Jk@@63%H&74th.7cY+RU11Pn"QCXKBT8MWZYSVkh -*W](Y!Z2RP&1`bQ[S5Cp[@q'Zst= -kr*'VRMnm)K7r='4"=#sjC0h8GWZlQ`_\B`<[9F;N%(Lr=Lnl<(0)j73lE)9:SnO) -_\&R6?ooP?Ld]X!/@m5^)aoFefS&g=&=lR*,Dj'&D7,\O6IJ-W@Q#Hh8>WRWB(Tq0 -LCoF5R_>L(BfSG]=)\W(p]/#M5R5cj!qpkhSh<8YOcTu^.me!hJ8H?H&Y"X:Z?6jm -]&$;n]=mqDJ]$C8G['^?'Q>uMNsB1"nFV#f*0*MKDGM@-65P^j!j[*!:0oc69_WUb -n3D<2*=Y>&8U+!9.11qX@;uj!0cTYmNmn".^X*r$!^KR5&HfjG1`6G4YZr1S_@W4Z -$GoWH.1%Okf\F0(i41s^JS&?%".Q3%#^2iU!W7Ft#Q.jE7Ic=N)91'drb_`@iC"'< -,VP#hDSTrN#7bgJkrL!JV(=XCe#86dNl7UWafrG"-;:`c -br!ZY>gE^)_2=\<,%55F)'`S-U`PBAg/'G_1\sWsM;i3=*YEc!M0P;!.;ek`A\X+J-l!pJOb"($62OF3bt6.Tu(sRLLKTP*p:TII+.9>Ou8>%f!ium2=:[(]_+p`c=-5e7`Z`kInJln6`$]1P2 -EfP?'m<"Cj=P,KjC$;LhLR-KS),@3sW"apd63J$Z+om-Ci(4L(0jqll&1n86aHRs, -1>m22])ejb+c&I@TI:2bkdiX26W!<7h'9>M2UEYV"`&p8J73kZkV-&8c0?]hjG&]) -D*6Oh*Ps)[!WBMHjp7V^M.UfZp)Ag]E/#dR"%Ys=P$lZ]?@h4s^&skF:^V<9TFpKr -+8*b4!M/BZ%WIkE=eo#KV*OkfO.($ZmK`jO?l^cVUtIUl:&&IEI -%)Sb-]R8H;4$9,UaMS'U=FGOpT<+O&+:N7\!%H99!2hQQ -"Id=i)IjOjO_(MT9=X%5"X9V*(5X40?68YVo[>an8>oLH#!mKA*/;;LmN;pHR)DAr -"@69&Q,Z?CA/i'mdEi.V?HF<.[#fA<>XA:%+RBqtP_otQ#VQGGLb=OG0I@!l -PZ%\FI=M@lr!2OsLL\-/K/M[:PQaC%RGZt/.bo$ -K130hNSJlAdIogf\HM#i,KrEl5SlQp;@,WC,m9Ap7S(W>$Pq5qI$8U4Yk,i+k)SE@g(<<[>jcm&A11NX^iqMSiN^eYKS' -NTJb"7;6U-XL6WNf@nteo.)!:E44Q`\5n3KS;g=Q&eAdMkp,_TQC -&HViEXVI6P+T%.<0BL'c[grEPA$Y%%DXqZ#M%sQ`7uCK[k9/W -i9VS*aFGpNTV>,^TOQ'35ZJ3Y+HQd-`(nEV=pXo:^&pAP$)GWh`!j;2">"Z3bYW4\ -iK,f.5dn[!K%<.SCl5Eh:P^`u-3VH?TEK(U8OF>+b/']$0OVg5_N7[95m]"Qd$Vij -lL%IlF=ma4W_\KSK-LAhUe,$a%`)g>#f*)X"Y`C[K4#u7JhRrG_,q,b@'p35e5CoB -8gT%5Q4P1C5_]8>(]j[e#SKrJ8>7`OFQ""aTWE`sbsSGN2Pj20F=@EQYT#H-B-]lm -0P5jF_Lfj1$GfgqCQ`iX6VqJ++hM,n9Ni,3HZdA&fmRKp;r9AF1-+['\&A -.0KnkCs![)TYqcS&<*oJ2i85PTsl@;Ua?/YP`X8IGWqfd3eAL:-,@TfG@JX*JAI[8 -!$LK]"4EN#>#u--+S#M"aNG&jXo_)&_#_FRfSJSK(N@e$^h5AO*>>;m>RC[L0-D=C -Y_dCY5YKn*X:'9h^2%QR?5'-jRg!gkAC@MB:X;/QL?\CLZ_=kO9nl2Y$!8lK6d!=uHX -"@jld"@G:WK+W8_5o@ici)FWU&.UfmYQQ#bkQ)3sOlO,_ruF?EFUO9b/me%'%,gJ. -L;9B"41K966,dRpZ6hqpM,7R<""ja"bE*SiEt1LW4L,^U]?0@/?E7dePh#?=fC-af -5uiMJV@XQOUC@MW<#fV*iku^9a\X/4pjX;d)]:^d@]Zi$1C>$tP5YVm!.YAp!nQ;2 -`?m>Hk'k4L3b=*q6/ZQ5R&8XJ0&CBhs`mRiQrN/&/ud-![258+Wa"Dg+`T5 -0VF=0A.3b#&7uA*B#X`T+IWUERLB1P$ioJr+QsC;?4d37"; --tn(goH)op*oYHH6-pH61)N;<"X,o;?t^'Ya9CMC$/ebh^ifjrF9_eF3oF7%6GPjd -k$HCSZ9rgOO`!*mLhS5i$@sI;JXcaLRNA+%*hi''!UuqGP(uo$),ZWILYS]adgDtR -(SN$fLu]"1YQY$.U;YER!3-SQ4qI`q!eF;fa)_?V[N5DO*YB<=cW;!.c;I(T3?RAZ\-B_dadUsotCF9a= --W5:=14L[7J8Y*K"AE+YX!A/e3D"%RU!t^fh#*hS;sF\Ef,,dcdha2_Pg<0!b:*;Oo7u -E&f2>X\L_=UqCY!aY*#)0E``(K9ENmY-Q5kZOC=uUNET4Y"D=1\!&I!1I!\E6SJ%$ -1_WG0X(lTI/o["R[r@<`;bK"^?T(:\\&8nD!/Rh/Y8[Kj"$n7N#eMX-(ktm-7>L0) -aM]%5&f[NN!o[Aq!(md;\-;r?$34ZE^k`3QK^;?!0n_8>ZY)0P9ftdrio?J3`2Kf> -'g-QR4d4J\dcRi1[)/T*XNnjJPMUS8?m5e_A]@h]^k=#,VUe(/$fqHfA\naD#1I$4 -e0NrV/>C3PEXiVG%#nrgCqak$T\1bL`b_:r%!]rp6=@dP$Y@*[:jBoJ.L9t,b0QBr -L()W5Skj+N,/OTh?s!Uu=?h=@0S!-F5Y)8*g&o.C&HFd&!DEU39GkQ1(sa`NiID%s -J/1C<(-sn_5r]AT7LoKt"JD[u+A<"?C'=TN"s?kL!i-",d7k':e)E"0+s0$7K2,5I -A@*U/^sPE,APZ"Jr+,r[5gElteAqX2:T\XF$sj5�,XU9`gp>NC"ii;Bk`L7]@(* -/D_fgO*.dMX!UhQ_re?58nR:]?!QYu5.MTmq%2'+NcHeVU -1-.h7j0QX)e([sqnQ80lKOE^@5i*2_//1Y1*'aoP:5l#&>"0n%7>PVI6+@VZ//3*. -\PB);/nV'riWc9!E:q?uAA(15moUf^gQ6)_-L_78=pN!#0VFB0X-C.[NWm4UU;a>B -,`2i%p'238?$1ZWDV76LgtAL]3J3bKCrFRBg0C^W$'56tTU5m*Qk$nq%`(=1Tfs9C -*#FOE)D2Z\_;lYF"Uf5d3<'EEXt!GhquC`.ae -)1f^,_8I@E&flPe!.jB<1#j-oW#s!!=96hd!&,2i%KukC%)?rn^si\8ILH[9>bJ;. -i3(*cJg,r*gC2pB#7CCJWBuZC%Y`5)i1p]&U;6C@.=bl%jmXCpOs8h7#N1%W^o#85 -;dqZ/$K.#bk6flo6GuA(#p><9'M-9[h@:`N:@2IT1]Ll:nfU8j4"o!#TR=m@%`L*` -$S?B)ebO-hP"lXUH%:PO^jnrUaq9.`&RecCJQFDJ()l>F*ES)BJ^S><:)4s!(',le -5q':jOPA-:X$jZo9F>56#%kkg^I@L',W=qFIL%3S2WTU1e`C*EM-uF$\EeV[7%Q>F -a99;sF,@9uPX/`;MkWp[-rgF_NiW!Gk, -.d13jf3!2)5fk^D;D0FY;^^6u-s9c>R9u5)A!P_YQ5O>$fkZolBpVt@Q[*Y=R=CRV -K9s-(Ql1aJ=c/M13LN-!"@,;q^eBkj1^3\FRZ&;K%Eo7cU(C]p&0XpQJPNfXT.B][ -).D5!@G;d\MF6>b4[A`kJASRss"Sf^09[26g$>7CqPkF6P`&/ni,*f.^.X2'r.C>Yb_s"9a#V#%+"F`T\*SNSb\WgZY_g:NsL`BIo?3qM_(>,/.Z-"/Li?Ue1? -md^[n=pl#Mb5fjWV;PoT%SNl6E1h[$N3ljJkfNk:>>1e[%(+Vq -5h;8O#o4F&+C%Pn!XW[g:SLKWm;3erX9O#@#=)N!+GL&-L'aML$%U/$5faJo2@nb) -!eE0D7sGld-5aS+!eI]u!%])jXbOZ\!l:%Fac%FeTMPmtD9ElX-[ecc.D5fCVcA-o=IP*I;=1sj.K -qIYI/E:1<>:jKEUAn[EERS.0""33?O-8f4lCE^D4J-[0O?WA]_+)&aQJ^K!Wg^T?W -#-hlCo1h;@0KJPY=+m9Ig;1`*;lqF8?3&+NTZI@g*MrjT)Dg]dp`fUn`aIC8-fBshi.M8AKF=GF -$\7XIi9h381(iJ;!eEr[?lg+mPQ??#*l4iViMmgS&/sN%!PtKJ?mln$L'*!]'qeM@ -TeH]p/eEPl&:lM?!A5*pXjRMBq\ocj%p9e]i'%[enLFV! -"CU-s5Y;IsOU\rcU7+ui>WM#h6qG_1!oZ`k+:K5Z"3+TpX@*Ppk=+m'jh#Tl%E7?QQ!RE4UJ,T0@K&0O(H -!6dttCBjrbgVc&2os,9OdZ$f9I_7"V.U?U/k#+Lj(a'k:.'aM4=:Y)d$te]._>l51 -'ZFVs5a9KA&0DHle.NTZKgZ/BnME!43eK^'O=*m;be>GWP!u0di4sFp(lcPQ+e[1p -/ssj0;d#pQB/uGVV\?W5p45?":Zum=,p&%/(^n="EB'=J*tO)n6)pbbX&lE(CR'eM -DSKJ]=R9'm%A([TZW_43]61.4D7J?g='MNXkBX[GY8=hDpAoZX?gr:[-6E\R_W()& -bZ6YGO3(n;R2iA*/Xagpo(h(lHT@_GBQT[P2NLY1e8"Y[h+k^fYh*]7Rl]bH2B*,2 -6a\'3O+8\<;T7.S0-67sj)TF8^3;*$c04`N0c)AG;/RB)l2$#9f\-;=# -!'gEgcX40?n+h=&mbf%pPRM+PJuVd"1,GU*=BHiZmZ\4H-3:1_"pT$O*(s0%IgG[1DHo3b+ZUF7;cP*\W5"]dpQ8+'Q#q-5qAhY-4Rp\OhFT@1gnc5:0 -kQ$((^]FC,;\ZnlI\2,kpiq=%M7NhZVFVb='qhg66%gKpYSISo"MH9\FgUgH:USGc -2'ruMGoR'_k]e)h;MBC,=*@SdAm%$/EhU5hDL9[:t^.&f5/E)4(iLjK9rWjk'!SEBoMLeU&0n^b`":UA<-mV]Y+An;>!=%N*"<==Y&pGB> -8`Fmo-Xk@)SHeQtD],3fRU(Lkd7Of]U_lim$ph,7+p`PbKq!lB#6u9(iG`$;KY]'0 -E!;ACC*.IW+M5c*]X?r]AHN]S/7#p_4t:Xu\?%1g=YRE>$\Jsj1NfHW?dAuTNQ)]< -+^YcrWI]2d*TFSrK9?MW=,&)1Qh!jY"tE_XE:Dh)PS`)*ONJ4FAFM3I)ZWI4G(=46 -kQ%30fDp?60;m%fdkp/KINhAha//TOTAi?Klur"fsra?@,Mh'E/4k<(f1A:4>?n&_B+7& -GnM618.%%#."u%@'nY'C$W1pHKugG",.peT5tE=gGaT-di'[g#KH7rq9+9e?+GZ'n -%KoUt"i>(]!V(1g5`")8!!ms=8'ZM3i;*EUk^3@Bn2J-Rh\>!b;hkof*!05*#sgg$ -K^buU6EH%Oli\T/Q86HdA%#W-W]ip`@c5*!l3Q?:-j9f[k?*7'#__NUaiFE3]N[t_-' -j3FIh0GV8,!0!3T4EpF/L]o,M''_98#LW*jK*_SfA(k>r!5ofZ+C5T\BIjHu=;;!9 -\dAMk@g'W(K8+]m=[=HKN^7n@!g'Jt!E`)&i4't`i*['=e-nW6/NG0.M@L6CIs7jR -+4r>HS7"B,#QVLZ"lN,l"6^g;E5YA+0J"WkJ.i[Wj9U[2Z7KE-l=OE&,@'^4OUoZmJLfIt,B -\/^+IE"de)9akF&0aH&t*sDWf'E\aRN%r0R#70Vs"0?g!EU'E@ZBr&iQQ8e*H#PLl -TcPF8"q8=E"[t]g&>>m4L4GX!!`@-ii;=Dod"i']&9J$ucJ+6"Lj@%Nq>_c*&`^F# -qZiJi*b28Q%^EAB#07mO?qLTR+CdB$0E?(,(n`]o -`UT',"u*mp_[82Xe+b@[!$;`fA/'`:KFYkBulfc(`"4e*'k-T&`@Iq$P4R7#,hhHRM/7j^# --n5?Z*"]ra5G0h@\/"9P8%^/oVtFcA2YRa:]LRSfUur>U!'F@Kp"lH3S./NA+&8=l -56Elk9+l8=8VoH;nh+(`\Si/Cr5Y.F5%2\r@Ll$-TdB<;G2rB/2Wu.4TlVK7CC.WO -It5W-L=id^#@$X=!!%C11&$]PVEC=Mk]hV$i]9=QkSaFPB8M-o-,U.4:H]YjoH&kD -;T1d'm2DVKhH/Gn[qkFQ\R_LHPKt#U0&uHi]WCk$7%'\t__q'0\-bRf6JuYM!Pc_\ -?RY/jbq=)];:5V[GSpAMQk#h:3X-s4'BDO_:/gQCG^LW4faIacJJHHk[T'lUo9?*d -Z&qq,bdA>#Sme=TKa1s6J_^bA#_>ejKg_rc.5C8 -"Wdc5"HHof"GW;?"N$6^Ka!)F]7ia#qQ+,_C@sb(h%$ -Z%XV*LDU*u&f$2-'F2bR52c7A\P3>#HO"LlJ='F@O:d,$*J'%n.[%ET6_V'T*3&eO -\a-l>e0`%C-bLPdG,u1Q[thI -J\g"?n_fhV-5hUa+;5,:b7'^k*e@uFJtNeZO>VS#2$<=Y"6`/Ra@(]c$3[;%!2rTp -?kJ'"5Cn>LK9..,O>DJ*1BPoKK#f>FE$:-b=XEBlF)X&tVr\ -Oig$ULaABY,Y2=1!LT^7H0?YsLmJ1#.'Xg=16BTBGof#9)%qfDqq!uNh)O)9Jgu$p -TI!1rSIqRN.EQP#J=8eb)_+59-^$k!F6"M?D\k6nQLbGP9I>sl]oeI"_EhVJj,?@k -NKKn]6iomd3ZUPW+9BP1JQO4NU=t:Y$\[8+_Y@aJn,nF87Yao#L<0:I86g[q>Qfil -"FDEs5TkVs+/,qW!KdQ)6\D+1B?N\?Wjj@-a:O!B*?#H\G!M/HO"p5LDX`U -:hbUH$j>RpPN5'K,fPeL*CVe`66t-n9;J_XVCnj.`M/`PBmKl?hh.0OK:LngoE@4r -3[=\BJN>k8QmMkg-%bnEK)>V$9A0HslbHB4!Z=#&K*_lqWY31(0Zn`6,,g(&++^(, -!gjl-O?\;@5D<2SKii#>-tnA1$jQKN!*FG45u4WQ9?cJt_4quH+Fc-HAcQ4MZ77e` -n3Ten-F.mW9M2;d!0RCE$j4j[J<3qFY]inWX0VeS;!cR6HnY]E%"uL%!tZ@OL`$6g -(T0V_RSYF9+:eSi%0`DGJ1,GnO8t&oW/%oY*uKDn&:26-GD:nW#(k0Sn2C@j2?J49 -Jfkh\&gkJKWfi9>$@>c2SM%@)0/fX\dfhJSrA)h:1K,SUdoA6RAMd>.2:Ht3dtKg2 -PrdBR44C#g;me`H'5KMBO>boFe.]Zjl[ga.08$bGKLW%c'D(G_g( -\/?Cq?n!"`*.&*cFC,AW*^OI(ts=/.%.-W)Or5q!Sgir^0*mZ%\,QC:BfF]CQ]63,N]"C -AdK^`[9V9[,qL5_Ak$?__SWB'3!j)dPE\=i3$*X$*R]`k!tZ,u!'L>_4OH,^9CQ1S -m(.r@FHghh/g7(`*5`Ne.b#bY6\3g&B7+(JVsb -:"kV%kVc0136i@$K=727O>TeC/LQhQ!Qc/ZO;9"L)$.BT:5%k,V!Cdmm*=,K)!(,d -G$U9TnM](_8Kp6I^`\3L+9IWH!g#Enpc4#++9\WGJ`'[c5SODfDZHGK8,O/hKl44D -\'4(/_5U,Tk[8pc?ka_TK5E!Ccn%!/:XG7DkPg!`2K&]B*)Q'V3l-oD(';81OJ2hJ$&.=0u -l2r&KNgI.uE/-T9]auuHD(_@r9rX,HS=A$HF -&[epeAX\6-asVk'\ChoQC^^r(%4X-")<%8OgXs=[E(Ib]*g_-usffo"1ThenYXD([MVL$B2&!UL*E5WB<2[hpQ4c0bVG7!`1*B?m=e/ -+9C[CQ6JkNYoa"n)$.o0!VVP*&1mo:/H_@N".2OXW($q-#_a+#J7r2BJ-:UWC4JQa -#'^9*G\$kOAL2"pK^]>%n;IJe21ZT%7MmTUp_GBT$n?(U(5u9V0GQl$XGUYkJSktQ -P!M_dnRN/L*(EGb15RI0Mk!#6M0WdV&WqL:_aq9#So:]f=cl8llh/C!aW]FgdqtlH -:?'AfbC2&NTA8J.0Fb -8/)[A![u!dQkXDV$i_cHla$ -f)ZW'J1dHYLX3re3H0-q*5SRM=sP(u21e^1FK-?"Rnod..)UUlfR,@o&B2R$LlC2m -$7d+s=$ulcs0Gl[p7#Wrh.hGR5S'>'Ts#>B".1M[dR;##0\!=,)CX*G1TCn>6NP"' -?9TVB8At%$1nlKJj@I2YGkVh/(l\`P/3(^[0GfY$K!AFR:adEHLW*`%<8).H*4JFD -iT#<)2k/$=1:Is_`ug@4__H\cDDW:FaX"1fGeRnY(je]SiCCOJn-s(5ST(o:W#%_+ -3(eD#S#5fcF^i$L]Q?(PON6E+M&`6H$,]%+.Z_NPVFq[J_.%#/L2"p7*9VPLGFlSV -m!f!?o%LT@E9c!OuSWYN#X#%?Z@S,$Pq8 -@@2"ak6*8\T3q]lIK0W67"0Xkm,EGc;j#c8*JV?BCRALLKMhlJ)"J6!%%s.2;@dmq -p1]9oW^e(1!JCg(n7rBA.NgWGC5=c)Y^9(?MrAg_Tk-Dd8V< -bAl=h:!n+=pMJH)?'g!$Gi"d@m2i;)>[P&aP_ -&Q/rN.d5_6"em5$cRQHQUnqc2-B,g@3bW0&id+4`V.2Qh3NHm5cER"W8nPQ5ll+Hl -JHl4cC`Wh4gLM@\@G#ZB#M)X_%2]s7#Cf'BXH]9^V;#6Dj)\SeMb^Thbu58Cj$ -HqtX#n_B0EampFL--Gg!^GX2MLaMr6oGeAH^2El+1X:+@:JKC)g?tN`C42.O9XKcr -A2sc[JRf'&-^%>p6u^A8%P7F_lTLcR1!EPt`@/qD%)%FmfD;&(WRZ,3Br%\\ -LAOMaZj1rJ0tKHRMF*r?@kJ+$61b>(neZP$fQIa"`UXI6>R#8D87-`:f+'_-n/StYkT8l -QJ>'80J/IPsj39a"36YOGO9Qan&/'pf/eGt2D$tp%1BjGq(W+7# -L>a%7)B`]",QpR@-\*A1:okGn7#@$\"=OBD@LJQ>82]=qncFGG$DCQUP>BCA8&1(# -!iTN9!J1R\@$hSD>XSi,\/c,GB#?oMEsA<>7mu:"'Z,r0$Sq,Za/D*4AcmcM^og30 -fDtVskU6gj1_'f-H3=E8eH$moEr](]4hq?tGS=q^TpB#W8'q#2"5sKFG'5>;=/ -nZ+TLrr(`tKIICrpWlpq4f;ibT2Xm$2=h4b_Jh%4JXd@-@WEQDi#!,AQs5P8'K$)N -$5t-3#)n+^7>2%,%fh8E"TVR:J`&3e7OEW2ct)%Mm3rL&-8rQqcW9+t*0P-.YGaQEX$k/g0(B`qs'0K?tJH -6>-[^Tl^B*aM7h.r*06LE%F8!YnLME9a>&i*C>i;$6\OKPRq",JT*+C[G&2m1W]Xu -9J;SVVA>Vf=!d0tV7'3te67Y5!0;hM5-ksp?tJ!NO-"CaSF!e ->lZ%9lE(^0i*' -Cs3s,5]mQfco'tp,PAd -jdc*f2IX6SL#:SM#9^r(ZnRFHJgD?Gilh]:,lTlJ:'3'BXLb>RYV6&r^CfC?7q7(_ -Y/.Vh"@9t,!AR_T8FdH]beI^"q8!og=9BRg-tXcV,Si[2=K<.dp/S6]Bs*X/"MgB; -J^?LaQn&6r>R,j7D?n"f0*gH@-\cT#*Q%T$%H8@'M/ciH`V?>JinS1,EP=TU\Ha/9 -4F`K6?:i97*uG)fE"2pj>nSEq`L-CDH1P)gBada9aJ#OF#(\6.KVm*4p[Dl+r"+^? -?K(-:I(G3F*'#B -^UGi]j1K#co/k@a]l-'s?)B^g6+deah7>)V8K=3%hJd@+:5BS:+Wc9CQ&T/c25j'8 -$p^=:q;6Sm>*kWO?>JN!8&!Yp)ej]ObK]rlSaemrm!_aXZG1#RrZBb2+=- -?pq/7+RC7>0THa^0MMFC0IR)(h>;@pB0&;".%i#K^eJa\E.]1(N5[%`(sE+\p_3^l1M]N.:mM -D9>6IiW,\3(P"O_JIi$Z&.:af$UCWs+K,U>O9r,;#fbR'BEAA%!!IgV#c_D?.6Io% -OpNh-$':JS5_OLrM?Shd[OEhZBNC8r>`_IsdK#/X&:0XmIXDS1L1g]45\+hD@L'tB -#nYmCd!5KXIZm$'jsD#/C%S19Sh$Jl&n!U16!sb&?l=J1)37Z9,UskRRNF+ReUcuc -60cF_`YrXh(I0)Z/8>b`GRJFDS]8nAC#WsKlDBWM'X+8Gc^PX3=tnqKOJ#JYWX'$+ -oML/VR@uekiAq&!3YMKK'&b)<@3?)R5S%dV$k/rd%_SU@%VeKR0dqJ$&5^ -l>HW[G6ju)JJ%fBdJY/^jI!18X[CbJbMM6'L"d0fJj3._c;?l'8"Q5"A!(mRU -`WRF(%feX$!?;1b)A5:j&g8.q+W(dk2A#r["5rYW+A*%%+pd+G"p:G#i+*#l>-7?= -+iDP4,NLuqTJZ3P[udL8Z@E+:Lp_k1qh+1DneWCR!@i,;"c-3edY'I`!@Xq*..X>\ -WF36aE&?mTqoN7so$Jr8#:LfpJ.3/,:;@'Op'.G=D;]HI`mVNcg' -hJL9lq1hX!J=7%B3Y6jc!WdC;J\pX`'&99NN+(-7U!amQ%NDO]'nGWR+R88d..bST -ac@!a -:N';nE@;`(=q\WX"TYkMZJZkH!19fpXK(K7W+#lp6j+hJ"0PJ]c;RUU,uO=a;Dft& -FY-NL0iN3J;meJ]eN$S$78u-9<#&,,F\buE;,qa=]k6l;b$O>aR:=;Dhmlfa3?;uhZ8ch1f6g?1?NN#q\1pEE4+)! -FoP_?!FU'S@($/B64!'.lM@q,'MgAiQ4IF8UA++?p]d8\-Ys6"7L`=q'VW;B_8+h\ -'2E;"`F7C!@FuP&g.J&u(Z?PGad$>$AF)2`@TI8ViXGVF_S!(;?FD(k(2[^X&M?D4 -?Uk+mkOSL.JoZaUJ+<7]$&k'Ed$@2<0$hQ8E.4(,rg$C-s,n'Ya9<(6Uie?F:&?%gPcY5_KK[;@7s&"JF'S/Vk0.[cuk5*hWR0 -&5Hftp+AZ&ADu2QJX@1S]Fgs\%FO,h&NV?Q6uVbjn0[NA(7/\NeS&%4ItL;7JeA?H -!XXC]"X'lT+AN=[\EACjTRb5pJ4pAZZiqSV$"-jA/?'LE_KN2N@3``/W`#\X<0>W' -0TRelp293@I+T*5$pcoV!B;;)XW5q"gbr+O%\aYf//4)N%RRN.2qWIom]0hlBu"&b -^g2^4FY0@b[k"mbO1C"n'8GOGLNmlr\<$m0C^%Uf#Cot_5_K;KJdHs,$"0n>!3?So -8dlib"K3pUW&+Xm]o(aMJA@=\%[c47pj"E#Ri_ak -Lfiqm3:D[ujbL.`OLX%]Ef#kPO-+[,.sGWfeshd]M341qP*!/7R.`[eeme/4?3\S* -dg1>ZcFnj@]rTU9+F,YR`;+eS0!>LH;IAUA5""1.MniS&f6E6i3*mc>"9(8 -b(,-Ki.)-L"B!;-U5Dl%KOibi8t>rjpp=^[uAhNQN:H=.b%+!oZ7411!V(O9L/pgBohK_/'/rCR3?`:O8pXUc+_< -ElE0i)^.$?!Ag:O3IS>PXVDERFVV8F6j*KV";PQM!&mn>IJle -[[Uj:]5b:VFgg%M[l\rGH[WCcJ[f:9;5P*3W)n^8PU\53G/nG@5^tfg]liS!R3'h6VmH]B7?lMpG^B -!gZUbm.KsW?u::WPC1[]^,uk=S.Cg2'u;92@5"P`p(tRUl$XNf_&P$&<\7dn2-i[2 -a2$%)JBl!)4rW>j)WB$CJ^>H'!Zk=UE.g.^+ijYWaQSL!>\_)Q(^b2"/*hLN]u!TcFu4Kqc>W&=%Z20,%Hq"9Bb -?E=7N!^*d3r2ru;4p8q9$HNL9k[/OI;M=tobi#u5J@6+6,SL3Y!9's]G6J-E84-h@ -!(#BTJ/f;SfE38I#%1%-5[V&%CN7&rr3j;q%VIS]#df#NB/R,SA-IUFSk -ENN=YoLEcZ5&o[JFlaZik<=7UIXUEDJ`qQ4ke;c7[XN.Q_d5gfmH;Q-EMa!9-8nNG -0R6[_W(G'EoZ@Ym&t63t#DL.6hUNrZ(kS#d;l -WYhJM*;OOq8\im':7NCi8GVd85p(UW`X3h^$35;Ri-1mDjeVi<(%/H-(8F:LRq -%P5VW5aqXCCkh.*V%!=!9a.AQ$ULQPVAV7g6Vl8U<'IM+%D\+$i2NW(F:DX'%7%]8 -^qL/KC^Qi2"5ose5Um@3KE4AlS.o>1?G`YWkPudjfg3h$!"KqKRK5^C0-Poi$XekB -65EB?"6]7MS@h?-Oba)/puGgA)@V?tGg'Q/1Q9ALZ2!+71gC][O^Z1#ll`lS!a:U\ -/!]N&Hb[?,q8DQ>4.f8RJ2^rm,.9cBO*PS*QVbt=t8YOSro\,j*Y>;:NCUKW0QH*^DgMHT\?,l>U -^"i)NS.52tM8S@m\K"pO+-k+5F8:5*G>"XYlZIOp:=ij^g$X(]hB)-H_;t-3I3*l> -S(['"qYf:nLX/L1%L3,$OZ8k).i!b6oDnp,+`e23L&lW0_81(i)T"f0A0D1E0Vg'" -#D%DI,6bq,TG<=$0M4*o"8Ob^'."JH:rP.o<(mB>\IK+2_l,m^NBn]81W2Wt9JHq] -@($aW,-Y#r6c*f$(5RP*?ld,-\8%&H6(Fn\b(6pr/;B>C].H\7Uoaqs@?d`G6F.r2 -1ei$jgGI1EUs1@6EieLa9p:7uONV(RE#XR@cuL.'1^s7G#3!(//^-MNY<#ALE+^cM -+ftS\;Udi]8l?>I4$6I5eNHaY'bsA><:q81;cQgd='&D0KiqPYojk"oo]OR]1kd!Z`YM"F2'(&aXoG#LW)B -T-p97H(D_ggpNX60H+DcJ>$"6K7nL+&e2^&==2ls?.DNU_L -+^V:DKmQ"2(2(Mr4>7H,OZ[L]VW$G6*XAnNHRiagahK49!mI1++:7%8!Cd)0$'E+2 -3%tZT!1Y)5U#()0EnnH/bO\ub2kam\,Q4*G!JD"$jr'bgZY,g-Ze&jCm]!!o3NlGb -G5FILs6FV'B*;de-tF3MiJ;6JL>o.2.??apo!]:OLa6(=!.f#pJ`ZER#8ec^*+'MT -H$EDBAU,7)OeZ;T2+\A3M$sVq"OnCq+g?h@#\&Tp-]?Y[LcC&1>S&%m4H+9G'1R5g)C%(QNJ`^X-,d0V<2=Sq;9;4YPkq$R -dh7^X8fPZeHOE.3Jq^9tM5Wi=TL$LV;b:P.0YjUoJrl/u6:bg@Oeb1V!;g\eoDfES -T+fBVSfb*)EK?fHp<#@G#XH*Y(\S.Fj&pYUTm.6)_!VJ\W/Un21f=?_7SS)LWP"24&oS0_f*KTK(< -_*fp]_,r1@:tcij?tTnaQnD8*V+a$_5K/EOL>h>cq=TE -/0TTfL)U-FCD).o8diua0*V[i(]tU_q" -U_BD#:'j`N,p+h#&+d"^!`7+(+ojcq+QOID&88>35]Hp8]L`./+=[AaVL!jPAH9Q1 -5fT2B!CKh&!0ON!7^15?@mX^bO`1Fl\<-l&4WFZXRM$hF5R15%j+hS?*CZV5(5m9[ -%r_S5jO!cT1\rLY`QUMI!;7>h,\r6u0I@DD>*a0-;_o3)c9YPZ5DS;2!MD=Tc]R\1 -Qd5IM9CI:I`V[DOpAEhFq1(-l!Pk'5"(3YlJT+?h_,rW#@/LgoE-;l2(f(NJ>VUpd -ee^0p^^YkA49r'/,/fk8&qW5B$8GIe]Wnp:.gRhm6/:B(+[$@&&@hR(:iHPG],kJK -HY3G2F9FnR49>NL+$fUK&AWNW#gbIS"GON#\Mua(!;%5H(i;f0A0Z]aMOijd$;-1Q -OstMeRI`ItALa*u@bfq#o-4I`H-)/1f]S]%nqBn[iBo#Z;.`+aZBbn:2+IMgRWMH> -ck8Duip@nZFH1OmH<3[PI4;$/,.:CLk>*V9/Yf["QI@m];JLE,"Tg_M$eHL_$",M7 -#S=DP6^.Z_;;)$UB_;?Mf&mNn$9?,i#TJC9#)mOo"be(O"6'SB!as.c!E`8+@)*o. -*O2.net^\uG>iA<71(3^KodGN759e:\ogL-g^Gu61/1$Ue5i="XDt/Dp6sH5Mb8/p -M$!/._nYs_!4Y@.XNAq2G%Aj%&VpVK[t;%"@b=%5 -+:R8"#mt+`!=(1WPk("'Eq466J,o9]TH%^):`:oRW"Tepa:8FtTF!r32X#l?U@IZ2 -a#JhVif)?=K*!aMSOXP$ge31jIK@9H7f%5>5HJt@^=$/f:OXQs)S@21R9sW2"X.84 -!^PM&_mk'riU%7/nGj[3n:.!;pK%Q$+#q,t1^Ch3*^PcBqnf9^$A#Vf#XC^!`/kuP -,(L+/nQ#gI:o+6QOACFY4a7+L8e6K+'*\Go$\B6m#B.hE&^B"qG@.]5^=1at#ooXL -(d3VHr#gXmJ.TF/1ks4H*38hiSIum=/3[p><@PrpSKGF"4YZq2W9ZY&4h>u8-XSJ#()XP+hfseZAT(SLVNlp_LR@0#DMKW"8Z&pGec,9 -fs-VbJRBaT^_DC,^]P]>JIjgK3'[UCPlu%9"Cg3jK.2Iu7"FJh42U%\W%`c^0>Ua9 -TYbT1$/l0<8:m3iJIjjF\."%q'SR*!J='@E+Bp5)Ad4.HL>u_J:]^kuHnL?d$.sWU -!.9PUR>-e,#*<,@G[1GK$\V>-JG^33P):]GN2YHjW;%tHP+I9(.KZ7p`)n`Ca>*i7 -0uR`ZW@0GLa=r5t9IWdp.C_4QZCQTqT"Gu7&sArg.@R7s=/ng0.Tr2iC8\#?0.N-b -&^W?9YUBRW+p#b/!O*1;YU9GW-A*]W"!BaWcom$f$j6i'J?VBD?j[$=7"CpuKHLVT -+@#q25D.#c"3P!^-OBg3]7ZbU!JZ(^61R2po1 -\HGG5"?@+ub@H;EBa%)uKlC%YW)!E/:;Q0-"%X&W3%4l)-mAX5-HI2Nn`-A-35X.n0^"[V%7,cI6qp0OkM!88*K[LQ-j@nA,R:2Gl<ZSB=C\Et8qSC2:otd8V&rOI+49Hu;B6oWX0RR)N&sQKa)`+LQllENhbntI -dZl4YGTQt](a3T%Sie@?M@I7\+Gc7!KMW0^:f[S##6l#CJ>cA!+:eSp,D,\4$B7GQZ=oD -P1`JO_EK4N*[-4fTm@X.*FUlUMUkH$(o./I+rsHh(;(2KJC$dj?j29eGlS37M6cBn -=FZ59;hq:O#H>QFN&l[>5611:_($,B9A.@C+&ZUd0r%`J!%%c7'nVA\!k!HCkU(m1 --.9ZQ!Jh_hndUE:KE7/iJLE9;Ra[!fD#ch;LEHZDRCeeVH3^AL#HHtm]'QSiOOY<; -V'HNU^j1G9H&"Wd#<5Z_GZ4c1%>-]tW1"Pk!f\\*6:(6R=cfZ.6'15 -eY<4S2;1`!7.QouoMMV#bsa<&76t$E:_q#Z+IK1,!_TC[MQ*Q<1]o]o6ng%ji]Vih -'7iss!B:mHW"]9**BMT+[1H36ifSH -JP[;:a;+fl*$&#B`q"&n_Ce`Lr#:e]Ei?TFshp -qZ,Qs!5K"nc0AW:XPV1&?JMYhmHn6QmU#k^?OcR5"nQ(AoA;.l?X<>3D=l_6p0WOJ -%peMYXm4cQ&)YGA!AG.WOTLr.UYNiBMPKA:,&k4d+lGfl!Ys-/EMYZlO>6eDGhB -?9bR3PO]^PmN,g48eVX7:g1C$`nJ2hD?guO)g:h@_]i"[LD,hep1f0WA> -!oQ?EpcsNe$O&4oJ8f"Q^]aqSm]P2e!#Tqc8-4Q;E<%D,"onl3peH@L:**e*K+J[u -#UY+)-3:n!!Oc9F%X.#`>o3l$!Mn,o"\7'hi'&CFMNL*:7/LO(,s1No"bc'aLiLN* -I2=s/V!:b.k]hUpGf_pfcHp-gOAlgR6N_!7"(FfQP02sBG@\^TBc8fA2C_F)*2HO4 -'EeA9>!Ke8'qnbr@T,L#F9U6J;Z^>B!`LBIh@kTYmtQg"LBr-T&9u_,-DFsI;)!1@ -ODZ8XAkVVhd/Z*VSf6UAp;`%!ALkYa.4#$BYJ3NY6>j(7ar`@'H4"h8(SFd&W,DoC -!XE%5^qETV@DId-^+PsmLQGYhBN]t\%"k2kJKPj43$&,T/HVRr`!r4c!hP!g-N\J4 -ClZT:JsM#eU'$.pCu3EhDU1_$0uR0G`nAm2oDV_Nn68.MRrBO)>T\r -0I,tp.IG9W.[W#l\sr*..Fq(`RMh_8fGain)M.r)JbUMlE$U#h(P4%X!JT.X+<$>4 -(`NhT02\LSRtiuCf7AD?\&ea#0fU8",RAdDjr+I,*^Ytp1?3X+!\2?c`@hVq*sbt% -"@*G"5ZiQ(=JdD#k*`ju%YTVc;F&k7LW,5XXkpsWBcd=]K_Pq.o2c!:$L&^0R\[-k -p%r('lJIp??]Ph,T+c2d'Cd^iEF0H#D\V_k(3,*GEK;#XT,Vd:*"EJinG)m2jI:]' -RK4;N!C<^C%UQ6.SH;h.!oOaoeF6W1'SDciRchnK4WL7/jP+#'#P8o -L=cV5eq60ME.Boe=GUdJGQih@U'8:="SRd/cmXHQ-\8NllFb9$>=9^;"EXbL^gAVV -(IM[=8RePkbo8j21.K&V.2+hn'.6#/WC11_-8YNhF=r[ImnS!)6aq4n*]*rk.RfWj -:\>5uFRh9p`$Wo/LB8tYQd`J)O?WaG5(ja`";!hKpco1j4@mA&K-S26%dIS(p%.WK -F^mrc6&:ns6C>K:p0VQW=M\Oq9?l-Wciu&pY@\M?N*V).CATN6dol/e]3,ap=XOC7 -I#\FgJq[,T"*\ZZem;HB?VbGT4:rTd0kZ.6:k6&PL):/M'fh$GmY?l)LR/+Gg?2cZ -CtOhY!,,fg(fs#=7.4pBGHYe,mr,Tg3>1BK>\QBt1)L&W)86(mecJ!E2CGTO+jYT@ -mt;Y`5ZIfW<8K]FL?Wf8RXhQ^XbYPQ!$HIj#Qk;>l@thC"b;hj.O]Yd;MsL@#G>?&?sNm0$\S3uJI!G$L`HPQ0ERUpK5`^N -DT9UESq:>rJmR2`4\10+jB:t'`6^LCBK?':3rXpqI\,DK4@3m2VsQ_am8;?'Ts-RJ -n2_s5)^=qmfq%N(RNp0(Ip.qcQJKL0Uk;jLN+cO'C -1RLl@,>"]hANHDXAqQ5%gjUmtOi=+o@'Gkk'pFMaU5;-9:SSLl_ZAuZ@Q#0#`fg/a -mV"MJPD+\-30_R8&0Fj0FRoJR^i4jp0#/^:kQ6&o^^moi"n;!^]H&+r92$&J=Tk$> -&DBD5+uttn"eljDK43&$XBGJhK0>pVB_:"17[I&ONf(c$nBbu0(^u.BRr,*71`G1g -2gaBcs+S2HE-T#Z2^aa2j7@P$mUnb\dHYg7h*/STZ.nYiHThAkK>$77Gl6DO8!h]f -om;+Ys'Nh&o([V3hd=FQp%SFaIujL*!5G`X!+inUCLLJ_>*/@O*=uop_EEcJO=E#9]@E"*Bd?P07;Hbq8V/"_M]r,]#f%%$BgXbc.DHp6@a)Kf* -Fba!&(KK.#=EKPEGhgoAbBi#H[HW%FEHGA%.m^P$*Jd"-'Gh$a0O,eOU,ZC%Lq#-n -(Pj78?69D\LiOGh<-@A2;>C,RHt6=/o9/0[20i-V_<"oCA_0q)PNH!pB9[#]Y&LYn -Q*>+LB@\\\<8JM,Bqjg[5')22+u!1E.=u7:%hJoc,$ZgWJc5WkqTcRPCRY79Yj8nB -^jhul!W7Cs#O2!`+,>p\GnseMA3#<1QBSuFgXMdC7@X;T^$*\]JhdJH&I8l.AKWI" -QlpC#Dh.!?mK"C#H1J]lHWJh/F'R;SGo^99eo?5<)]Dh>5lgI!"i:K>f^N'7BA%I! -^MS#D2KdhWLKSS>*s]XGINO?^%O^3?[T51hBRS3=*X2YlS/$m5&54bgJH5=>K#J=f -"rV&e#'TVdYQB.n5QUFrJB'+5"W@R&+C1/'aXB'epiqSY#>=t5K-DH*?mE13Y^[<@\)@M$,O=!'VLDBG2,5 -BESd1g-6S;B-5LRc9jNI1OrTQ'EDB6[p\855sS[ITd>2efJpq0@sq^g"\$3N\d]jN -2[1b1(^"`#$j"NPMocus"5p6fJtQl^JYYO3i;P1@TVdKs3V3hqB+8'4AWG#m417Vt -%AVrs:.*fE!3q%u^o3.uJ9WOI^i1(l0N&=q\2FQLc5D6g>`uoo."r4q&ct<`GcIV" -KCGcejIg)p;Ofg@OS(*@`2sJH]Iunq1)*%p[=\T]'H5D'$]2)A-)@&f&VO$hVB!Q" -1>iiJE)/5T3>Nh"<0i.2,/]!\:n#4DC^-<7)eS#0S&#/F&_Vb*#cu;UlJs/m0T$T3 -J5clL6n/?oTdBhc:^H"o,:nEl$Kb/3T:hohcj?.0O\$IY<$#K\M1A2aEAAk/fbLMX -TbQ,S5R-01(ol.@`RSC$MK(qt,iW;5TA`?J6/W<0ECpCg.+0h[L]`Y\g&VFlq0dt` -H4GH43YU0%(Vi:BR/nGhK,@/`Tc>0Vi-uAJ,Y^jb[+Bmd8r*qm[6pm0$rrb$1$O>^fh77=?Hn_Ua:`!:)8ueIfn[)8HGM--%O(%&tio0fo[I&!9f.I^kb$2 -@)NdG:f@Z#Zm.g#SPrSb;@2=O%u7Db"[tI\(rL:pNOM7rA':;]^^PDs!"LsmKCT\K -?qpp18fC"2107;0lob/YP@4p,JQHaX?55C')<8qDGF`k,F`+3eb,9nO^*U&GKNAt2 -bZ2g1piL>lsoASec@ -XN"b1WbVHh&OHFV8<8\G=_7u"4=-h3L^SeHArT(h4ZmN,b6[ -L3u-#TKlfjYUCuSa;GWlj:DQHZ3gZP(>]rOL@_!VcM>*YG@8lT/uTtpJ_I/*\$GCB -bP=T4QpN6Q3&6(na -Wd5O;k%)N&PVIAEJ:m@.=BYU=U\H(lh'JdL8I7NtTKM>-&=u-`$/hB_W@SEbZjT.# -$E;\Xi/D*doHHm1TLkXuBm^*G;J66(J0J.YXCf9TK31*49T%W"CP%/J5-E$5RCiX"+]5@TJ."=1_cWm!^U31 -^`F;cJhCNn(\&[cTkmP#eeJ3D!s(4i^cW1&dL<0_#gRb2J?6^u'E`n!dNNqH!Oa!k -#TX3MoHq(hK^'VQn/[,G*$J5IJDp]^h?P06r%#(e/C)FVpBZmY)6Wa@j\TT$DWiC( -H%h@(CXcDk0,ZL,)pWoHV3GQ,G^55?)=c#jdF(qZN/BrF^oTkANpPYr@L#R<+m9.O -&YU:$p/iV[BAd\Mk(O[MpDm-;1W%3;J9$Pp!bq(s$u[0t/hR]$%^`&<&Paqi,]XA; -_L!h;.]Bc\;@=aIod"?3a2NpIJ9MuF?s3%kAqF?`@W'*R9^kSpAPs=N-/2%*]k,PpOia-0>,616![+!#B#"!+Fb# -mm/Kob\[W+D9#!.k_1LL%5! -1t,)PX_9#[UBpugYsLMY'/\N^T%hT"fZANr0=70(+=*[K#mqNCO>Af^@be:.f8m?D -n2)F?UGbq0-M"0nV0$AUI,;Y`GfPhRBu)jnL>K^r#9\I$J7o3rO9OR$arlp"^mYTQ -2W4;1"5"!K3.Ma9VE*Y0A[%fjNNi4t0>N5i1:bL*o`ke[]1BF[9s%Lkl=P]d^j -/e_u#'U5^m!%J\e;X34a!TA.2Tq36s$65s$0/V!+B$/SrOoZ_h'4<(!@+k]JfF=Kg -Os$D,cYE1<./o&W$8^qQ*`?4BJ(%aUU>l"#u2VY[94,#>Eh -L`TU\,+JX`pRmHOPs\@QR8@V=,AHkFLbS%LW;tkVPb?o7!68,*XpVtH<$7P7@$Csn -m#u-D:XB.NJBq=_^^K)7$D==)Q$*H_4RWGmQjJe?C%g.kJ-c49#iM1O7NFPYJpG_% -g5W3:dRbbtg'3KIai]G0i:S9mrXf/Q5jkQ_EC(5>g^jo1%H+Ss+L3dGKc\K9/WF9c -i)ZLD%Ksn.QXqlX$-9@/8d$8)"<]j:&E@4rl!eVt@^[q!Q8<"$2.IC\A(E_P(-,o+ -5@eq)A'I[S2/.6Q/'&sZE@H%8Qif5k?9do^P -%6.)cc5pD/!^UK0i'\(&M\td(%T$h(=(B2'Sa\@o7ZTS&KDQ!21O7/ -.]99QO[9V=+r?Q6*,CQTZ#,%]b(g2PF+jH/,dn;8Uacd?4uA5AEu*e:Pk9037rL2i^TPSNg\Eo,Vq@51Fl:0 ->U;1i2[s,P\9]B6KHao0QjJ=&\@FVE^GT-21@m+Do._ueBo&,P]4H`3'<=1cZBh/; -;l>:X`Euu5ecm7[$=HmA/nPIk]EI0(K`J[ei3paXHj/GR5'#B\!d7r6r@$8SahXJO -J=9#eCrq3l"e^ss7OSN,0F'RGHC-:Lq!FA-B0'Uh4,>4dAqP'07@%S.J62k$1ec&Y -g'K`@$4Kl@\(9Ph^F$3b$C"?nlAQ#`LgpVfiD\u3l`fO2W^aeX'&YSZ[bMXLM?0E, -liF++ABUMe`LV!r)oj;s+g`0g&/uM8*+l@.FO>Ybp@Kpt)8He$_+"J,6k98O%cHUV -@-A).TFOrnpD!If2#poaD,>$<:]R@"5c%LH`X[;V;?5AG&#>N1(mbc9,u&4"LQi($ -C'hIT$Q<=[3b"SoY$o,%qk.S\_EOZ>:*pN(O9oM-RY"%;iDH%q%$_Nm.Brf%\#Gg* -$oJk33hd%JA=ap@qIb1WBn2h%.5Bt9=.lr!^r<0NCKD#2GmA^ofS<]dd(gtdJ4u,8 -=\K,3krgP6PQ77;b"Q5q&n7TBSFugdC]9Z8"U]DoYa,SQ`@s0B8d(eX"1BLlLQ`"F'cq:k-3#dAZ)iZoM -LH."=pkI*T"^uE^+@H_V4`Jo4]6=dugRl/^?sA?3Es<3O+lSfth^3.r8t=0hn)>Ad[J5"Q7#a+Pm6/g:BQ! -$t)g=+LhRtZjL2CP<`DpAh4-T=Lu:aKDZP*)qB%Mrua8r]mO:G=gW^^+dgjT;2!?nZdTFMpDZYG&/'>Q46V\0PZ(_$tH?nN'Bgi:MBDp*hgK*?"7(Db0Z -o6PTP-2CPn(%;S=:(E1;&j]h*@9aTbFRm7mET)Kb+=7j?ILj4Z&!%>1TMc,WRU>ab -Q^enD1739PnL=#0IqUR`r3t&Wb9l0"'u244X,\4T\;n'h/8/[5J^sg0f!kaj'S%_K -BZpok-dl)\K+]RDYq-mQ$66qh*TYtI8Fh-OQ!M3FKn,q]Oi]<1>^"AM3;@5G\8sCd -:'Q`7k_G]*G\o2IOYV'n"p7hk@p5Cs:'J=uka*+@*Q*sZ`d(h-A]Q(j,&da#UY8%1 -g4E<2FhlQA<0uF.r!nPX3c:HS1#IhD74EcaII2Lm.-SWO!n/*J'-\]mh2Z2tNkDrH -Gjn^@I,HMa#b[Wk^o.L2W!^=\$G`eKTWSYF@LE1Q"e`X??r.;,#@/`W&)dn2i;<]8 -qnk\Q$iis/fo6]]HZdS.+rh?W*eW"7L"3%^QftTHbcJrpL<]>=PQ73;m$Y%sjF><( -\^#RM"k>ZAR!9+$;3$k(ANV:0'F+MfiZ<=LC7&MCd_G"CU;d8R&gS5to^$"cSRg"e -8FghXibJ1QC?X]i>s4gP"HP,q).4!n@6O`94:XV3%NsZ;i7\L1fF:*i%9g[Y+L@p5 -r!E4##\JUZC%pF];d,iSrP5b>)PWJ##R`nh+A^KgH:q04:*kU/@UO]XWFl-d9/61#ds6r4;;Mb@e`G=_T3.>NbP@U(%"FcU@)_^;_@.NeUMo'"!8%*DM@6hr$'E5Q -c$(o]\-:5)=W5K\O)Y/L=s-(erR7hF4fmK=MebXiem5RM+@lWc8$Uu77%sZ*JI4gI -JU"\/#DBr;:tT;$:+-d36m;WPBJgTb`Zn@5jF0$2O%?&Z3Ad%!,aCs_Eg^IP>qqYh -jqC=Neo9rF2Cm-]9fTMXhD=qqs48#9*tP_sT9T1u7`l;_#I?E%&-:#l]BsV!F(;"^tiG?&/mWTVHhX,U"efs,#\?pc$+;D\(1cR?&]E>=n!#L:S -!;h3F+-5=^q>LADk&YgLS+5tKHp'_j.2W=#X8_BYa><_akILkDs_jCg=eDKgH0 -k5TkGhXL:[:)=_/a5qpKoCgtMckE)S3KO(7!'q/pq#S%qF;kKNY`'Y16Em7= -$,\I(2%2ikoK*UMYMa6q#3!(.*!ZMSEZBi8fQ8+Q!Q8.\`Bgk+)T73&%j""j3->o? -iP9gb#=9Q#)Mqpj?7?7J8?sb"6E$UnM;hoF,m^2`L)u'MfPKB]P8$59`%r[b1JKYV -f/-3`G[qZsiHTYp"en8^'T.NF82QDNq#F'?,dBH?';Z6k:mAbp8l>`0)*SHB`6^85 -OT=n]2hZfsX;-VE0O>q.iJ;e"#!oWP<)'c"eQ(-WARALuYoH=L`j&NZ>)(EM)-5@s -Kmd(U&H$hlfJ%9C'ad=469:;1_(Jgk7ebsr(p_Es`<_q4Y*ap5UH6,M+`-$T> -2=P>u#%FN1.?:)-k"5_DR8=6Tjk(\])5(-%EggUE&o/F/8[;u[AoW8)QfW`E=&:0M -Q9'o>8?*ediV7X7#=5k1ra<5W-)FsectQe);63J1C/MrqVWjQ#Q`b*]=P=AsKkMl8 -*M=;(n=Qmo0(\J62W"'^Nq)[\!2h!5"W@Qc+C#M/i>+)"iqBjbE4dP/Y42u=RMCZi -#Wt?f^klgTRqFtlF<7(]laLanLH<]u+CUJK&OLG;-=6eh@hN7`<$iIe+bsSEL'TgM -(O"WU?5LPr\;/uKrXbd_#i77[*J\($Qe7$U_@RLW?&2nnpH`Ir('S$kC[MI7pOjoO -Ih8UMI(qVdnHr`lfA[,=Dr)]EU*tI4#MPA^)>_0Wl9 -`JCl&6ID9[nO`sR+I`GlBLIEf%N>EkC0lHJ*QtP[lD#^ps2R3(oNEr#(us;F)FPr#kH&)G6ZMr'Df,IGn@t;/j,B@)X>p -@(:kgU(TcJe%27fiW[0-dnG@t=UP78q9mmBs7/(=q9qHZa7DjhJ9K#2`Z9>"1d03$X=0SLWK'ESOm#PI@DWj'&A -!n`nC!aobnOfLF]Pgpi;IW_6/[l."V\H3u5qB'5:YpK%J_8uETh^g3_0X^Mi#]X"" -)+Tl,(&ja#u$K/iQ##J28"/$hJD1FKu5Y;lFfI.+N -5SXF[M(p#SVo&41%-3qGRU^S4"ecV]Jrm.,_bc?qJi5*:&Z>bcU=U>OFOUcX&3#S. -grp2:Cl@3o0::se%:GDX,s\-$c)<@(3A3O+XSCCdg:12["V[rD"-[foHWYNX_?OC? -)$J;''-fN*%H%XRQK[KQ+:NK*5Qj4TYQ>lu"&9@mg]5B6kl@KPEfD5A"U.P[&0Z]? -"otA)Jpm+%3ZD@idSmqOl46aB3FWoo_Bo7r)F5KZ'7a=^ZOr]cQGDM\ -UPs?r6.e97)"/LaCN,=8gGJQ4i;hnlC(+-cZ\(;]#ndLd9Fu-Gp$NB:D+,*q-E;pm -,]MW<#CCDGFW#g6XBgI_!KP&^G+3%+^hpp4%pS`b7B;UbTO^Z)E97kc:B]T[/!47j -Q4!abHNXB6Fc*Gs!lfcL!5jJ7J0EskB2n(3i%SZtE=NUIBLcb)ERuQHPk0Y%WL>i#/Kj_!s#VIJOjqs5`A8A -5WU=tW"p/D*!_FBTE>CKf)\6DDZFdj\d&N#!98oQ%R6KF7^r^B_Z0q"i?/?CE*rgb -I5qD[nLlmE+T3CSom3gn]qs(8#]^>#37,^,6kCCN8fUZc+=&L,QjEq`>,'2@Ki9N* -BK6))3$cm%JlD3F;H"0B"ffol(e>[0Zh2"@2%tR#[UYu=@Q1.L76bJE!U(>Ng!bO\ -0*+$bKBNhuj&Uk,l\;]_N),5(b(9mI*YYOT -Z1S0]X1GM[Qs^sVCb_nML`Vt`!V(kq+lEE"%3G\iJuX^-#T1KHSg]7[*La2U(_rWo -S050FTJERK?n+RW6:$G%7@],ch=7H,,>:kFLjM?*!OX=+Pb)T8^.@B@[a`ai]$E";s,%]h_0Xs@bb -*,D\[CdtdJ`oM!VoPI)$DT<0(`tWR7,]h!GFN64\7mqL?FEY]XG"7d@a-[_HSO4+=_(`SP"qgl6uJWLn(8/Qq<.fk/MK,>C,&35;, -3gm3Il(C^fc=M%g4RBJM8k]Qkb47+9?^/9@V81a]4D\*"f!oO])k! -,bE6X]q^gc'grLuW`lm*N<>PM^Z]ll&9ktKc];%YaB3S>&-iCPquk,QK!`NNtfQl\Fh3d -H%6HOaZ*Q+J6[a%%tjD!3h4!h^6ZP=>X) -qh,5PP]W#l,Dq5c"GXF&!(^o1BEeZS=+HZ>KSU'?J3'sO^k1br!FR0.4:e!(?qKAf -J^G;W>*.8X**7i<+ahj5!$EqGT)trL9FsYnfL:M0#_fm,#98EMo`iK.oc$K0Y5$)A -"W5XV;MT@W#7sl8J5h/W%>0HV!?iW;#U4i`,")i)T^nF"Hodj$)5/$)`W1hr3YA2J -,(_,C+Qt("F34OjLETJ/#U@*`8_Fj6>,>%;dYq88F!2!=+:2_;pr<8X5%8F9WC;K.%B8 -,G;NP#dH)f?gX.enD7;irf,.uOWbW83>aI_>IX,8&^_2V-m!qq*J,+EJd<]SBI/9r -'E^$T!>%MLkRN:(;ZOm;"b6r6JWYZ5>6'agU>-SBGtOhTSg69M%=fg%NHjC\/0%S5 -[?*&.E'uqc=U%t4##jci"`BB,(Q?#`L0t2i=gUr.<1P"/&3cfLWN^=pDbF#/aY1fO/KlBOVIM -9`oC>bgThKC"a^[LB1!^2EJ=b?mjKT0@]Y@"->::bI[heO.W-N*K2`-ZA=So/KTuJ3/ED-A4?OJj;t^p`]k99S)t4"HXW, -O@0,B6\B%gK4A):L`Ct"*.bU7&Khl=*D5E[<)gh2<96m'78Qu!;BZL4J^TY!On-q6 -0\$5n..W"jcl\P/>9:S6>VI"#[W`I3eUb4[Pit+.-ocm!%g6QC!6@uj\-`DLAcR'f -#06t&aDuejEef_WYPN#>ciAjODF)'f=s1s(!-Er$#6kA[RH3C07-*K*f]JdYC]_8o -E;l6,O;9Eo,C?)h4-'H!3Z-^p"KF&.+9r)qCBhpoLELVf0QMq&!s^MuJ2hK-BP(,G ->X-Y+"9"31)U]+_FdG#n"-feA8]D^P>LVYcM,(of(*2p`MP40]o7[OU8">V3SRn_$e/(;1iD+J_IAgLGg0*eEf'EnDN9n0%iM+!(D& -Er[,Mn/-`dF[`MMgCP*N@M-Oc+^I."EhlZs,uPjh\<0@`KC4IFAhff5p;p*XmrcZ3G+"VJYgmoC,\ -3`G)BrON>3JcI/F3%k;'/d*j=KIBn%W)eYW"pV;K!)RMg+E'GoE&HdF^Kd^hh3,URas$=5#8j^:hS%G=?bq>8=2!"NLq*4,!oMn>CJrO&qML -mq[X7AVAc0"4po^e@R^CX[O(Y6q(M$lc$b_Z@a3XdSmXX5VLXGoUZ2F.35a">qB\^ -'iNaO]WEhdn2Ghc=$ppW!amM[n03JR1BHDi"1T8%\4QdP8d0_["b:"^3.N]LiaquY -9YFScQ>#5,37&s-ObBN-pnW9t(6/T/&W#(S1`VM\"4?&rRS5%EbJiM#[*LBS9Osp7 -bg_>*-5+F38`=i?AtVf@jbb3.NADMO@tOeqYZG -eiO%u`FZDZm8e"6VV>mq>](?=_!k_n22P%!TZUi)%q;nsN>C_$]'0;X?/S5"ciiug -J6st6"7>pbI_UCDkP,)XS^6K*:[K3/qXFSK)ShZ=llN`5"k.*m$.P\!-s\H+rTm4kRC!K0suOL1)fob4q>r`BJLHLA-3FW -fQ:U9R$+/-UDt2lDZSUq?n7Z%!O8_Q*-sk_O9TtN5Uk3&!9XZ["e!=8/5V@X#im<9 -JlmgF#XR*N*4i0FC6+,5njFFP8I0J[LIiV6(IcFsOYh4ZP>TXQ_glF3O#7:D;F\IK0W3n,OOA)ub&P?l@O:J>YE=r>37pHr'n* -q#h3>"#*%t$"5NP(PO#W?krqINC9e$2+"A].RABX(KKaf>,VU^D/'heWbl*CeJ2(e -<`R[rTGK'bOBeW^[4Ql9fTg;uN`C4JS/'W+23P(E2G1)K.X![V?s2HEC)D\V\6p6\ -+b4MR"i9DW('l*D<$I,A=FQ26!K^Sp=R)0XD:XSeE#$pTk[@h#(bPJ`.;IERXK&Sm -JVcp"Sh5i0p)mNP"MlKI%g0Vg1_!tu-:a6\)*V&aAXQ:tQ0$\Z@@?6QY%=)7RD*g6 -kF'>3MlqJB4qQoS\QE)6_48qiC!F=F80dC5]MHQ!p&g%4H+hF -`$PY^;p3qo$H0@jrI7QspO4-ljnJb(O6QPCn_A5J`=Yd]s3X@s7mq_EK-5%Eh^De7 -!H:)O0]je!\=sla/8-E`/8'`W"!,9m":_&`"%F]6!lBcI#=+F[!]fEp#GMqtBO(LE -KD:0T]]5UAp]puK]E/0!5S(7&57K?BK'E'Q&$bQi#bK`e%b7a.k12CJFVP/j6g"-_Al!`4:IiUBppK2sjjaPIoP -(ikYP$9KZ?llBIFFj[JF0gKEjH\-?%!YFc:5r`3XW+6khaoY_uH!;c"'kr8]:^PH5 -1+(rcR"Z`3(IKT]%"Y^Y#3q-cC.1GtJSM%bJ<1AkTI0m#R&:"^ND+&Da]5AR%MNff -=35,q%=tT="lQm,Jq-K#iC"ak&AARiph^/mZpFfP#Ut;FVAS5b@u]Ch2hpf8)oI%2 -%IpS*7_#T'K"AOL5eI@hn4s2'4#d$8C`]s4qQHnjARJ/PJf@gY-\+C!Bh_MWn=@"gm`Q-',Ik$dI9VlDY.&GcY7 -i4/n5iTQ-&EiOB&?(I]h54 -W"gma\l@4>>QqSE<9h/,YP!XR?u0Or'k>WbQImikgB1Sph.*QEVR@t.=L]*B[^WZs -0joOQ'Ws\p%)L"2#6=Z7"5nt@_AGuM7-kKh+LVQ-aAiA::aZc3m.Na9g'IkBe&c^Ai\A'OhI39K#ZSo_Vng>#4U!l3/0JM2@"bUa@SR[0OA5Ke-O".$K+ehT[Et9ck@NU'*4Br4:;'*iJf%*fbLi1:Ed6k2TH -&s&P$J.ro?e/iRt:X@C^.R4iER2IlHqNZ8 -5s,5M3Y[)s'S09diD^R8/f"Im!l8+VJ1;:qq@uLu&dh5@i4oKR]F#c^$0Ph'`Pg`8 -ZDM*.?u93R"K2UrGcTc.$m<=o!5fX]`>G8g(oih/nU_/LRO$m-#;(>TAOn:^r[R%Q -<@+AA8p;)o_@=<1%D]sk+N=chO:'pa#6;[QJ6!23/-DRs(#UJTiJI[;MAoq?)e%.q -6.-br(`adL!Q!8*THG5JPQF.9*W]R[J1M=`l3"ie$K+Yd^i0J=cs35e70Hl&$Uh@[ -8e"Z](X[LR+H?eL8Ju9.,@J"h@($E:GpG%Vf-"6t7:]V6Y$s*kiM4O#7F_EhI#\2s -S)Fbm!$;;1*Zk^FLp!cgk_>CSnkeb]*0B5"@;bSn2O35&"5s6F@+G].;@;dU#`ol. -Y1R9S -oFNCb%=mFI?q:_s_@/ut$Xj5A_$);sDB465*KlX_60jFcEMQ,,?gJ4'lT]`i3t -a,feL:M,*nC<-NU7=]G;"E)FOR.P=u/Q0qJ%+Zp3Xumt%b=DbcM5&0LIRbs#s(oG1 -,"2nrM`?ojb>Xju.lp0S`(Dhe8e[gVY@Te:KfP?e#bYc8J@5WSZjo>r%O!)"_'0\' --5Stj!9)$U/JC\Z,'?J7%l3?m@$Y*VKO5@" -\0YiU,+Cns@T\>n6K4fpjd9(cG="Pt6cETgV@M8+Y$*E"6hD`p1f6[U3C9S="m(p$ -U8hEaU]tCj#N/PdTTfT++p:02%)=t6_!D.gl4BU>&>9j@_%[L^/.phj!l62r!&,#D -'E^W6&>1uoP7WkP^'J+e"n+>Qc3./^4\W4^bQOT^0aMY-@1373#SA1=&HMr3!:g6mn.$R1%IkJJ;WJ1$-j\ac -"os7q@VIgNK3Yan>gn`qCp=49XRt%c9pOTp'%22EY?ZTsJ+Jm1Yndea:^s*P"(aTs"a<0'kj0@hn*;#B%STCCCS4$oQW9p17_YZN1hi!:t(r,L?[g?3bFs -#d:%r5mY.)HNS?M1_7m&j%pdF3#bg"'@Q,XG%50N[/T;FIu-.K_F%Up]/P>X9;&3e -5c+s_9FQJ)"!K35.I.;+&C@6`)LrG=JTLqoEYC\l'/N#dDVthebA1UJP9d,>bdP\# -#5"5kE46r?$mda'\i,*).\S[9XTD>mSr`-n53WQE+\Pj2l4:pA$MPcbp:.nO=V1XG -^u07MQ%N1HaopYD%7!`!+Q*DGh@?2V%Y3OB!8n65d -Xa4RlX-'il$Gm5piXGmj%040LJA;Y&A.E$)"@4j]!$iB^ZiM>W*0];$^^;*ul2ZD# -*hWmmi!^[#joFB&*8hAJp_k);Q2s:;'4<@)@+YTIed%jQ7:9^45^3M&DR8>",ATm] -5hh''D$\5_o3.;.KM?oqg/+&'@0rWaVlPfLqIaM[1P'L95 -C_@jK&d.J;p(ST>HMh85DR8P&8:P1]e3O=4F9EX&ld-H0N"Z3V"@23g+Ji;D'^Z;$ -F]ea&pK*G1c&])Z$D?9/o(EX;7esl`!MPXU&Kl,k^m6;TqP^'TK!OO&e34<2#q73%qt[cQ:`^N7ms:K0Fa+@ -$M;[:J$3WFkPY%0[l_g=39[n59Yk!PWB4bq2:H#(`)m7I[RSr`S,'aeE,C=t<^m-_ -7NuG6KNJM1D?sXI#%4585[Y!D!X-=?'7jO2+:oM17M=.j@6"3so#=+5HI6RD\gPXhKgX.m0Z"o9mJ)Dp+3Ysr1_7[cWaYhaL+,jB-VcNB;7b_g -qW1UYkH6l1Y57Oh3pWtqnZSDSYIah=qZX1X$*ZK!Y^6ha-A5o!63H.8!rtjq+>6X*lS=*'j7nZZa;10*l7,u&"$7G5?OT$m)37E[OT> -4?_-IH98mR]>-$W2e/puL\T+C0KiE-C/A@,dQt'Tg\@8N#K!\KAsX6F'5P3B/REe5 -_tJZ!KR,coF9`4:#Rhsi!'Uq0F)R0+<;=e!+oX)MI/qP# -C7,s6:+'=H$UE.IniR@_apPq:f&`Q,"hf@A?[g/+=I8Rd.`)[GcjkT_$@ptB@"Jhr -$3d+1(8*Q$Tu[6Jj,F3=+?HZ]O4J\Yo\$H+(n*5L(<7 -ODdg@I\9+2C.;OC#/k:8CpqQoT_;1Ym.JeVJ9ArO:^?qO#69iQL'Ktu#U"=r+EkJec6TKM#O>P!$Wlj`J+8FunI1KaKK9A]PQq2O$=IZW5iMs? -i"U]$'Oe-F@BCronVhi,r*N8BUJ-I,MB?4-LW'A=#=\?8@F)hF*0.HCTHY/ZQ4Tk1 -$o(unluh4LbN('O=0-4_+S@Q"@Su*p_*mU"g_s"\DAi0G'/nJOBMJj-SA*m;j.qI- -"\)Pn8d(eX"+WE7]+qRMg&6EVYohs'^Z5:mjo3$Zrr;0]5OJJXnc++:+9@SNC'=`k -_-mn"<#QV\L;Mos(kbX+'o>AROa,Af3>dfHj71e*N^Y7UalJQ9&9'BF%u(2g0Yid? -'.4iPa0dlQ::UJ0R)!;i8-mXZ!?1TR[4/BaCq"qsk9(MZfE=(__%itD1m:'.%js(D -aOh^pR0:MRR&H`H(D'&g0pTcAEk5QEf:/o1nU/#WE#8Eeq[%hji:$glOORes)iR7] -Z%1ul5p_Eq,k5"oO=_[g7HE.4kH+Deu -7iM>>cOGWfna8MjT.>hUk@+3,hN'mte`q;RI@do`Z.n_kHl^NLJ&cTglNVu]YhMu5 -fa\6K,"U4FI1i/Q5uj,!%cDI0VbuXY*f'LjJ&&9N%0St9<#YtVk-u%>'-PCN/d2=' -GSi=^Li13lNsj&A6noq0'1?h&9,'g4Ho)iRi<\dQ!_&7,!M--U"F6U>$1NEE#P8l= -aA>9LHl_,_gi@qC+c6JkKP385$Gf94(.C!sY:W1@jKgJ^Ca76V3$GrV1H"Q0LG2GC -r7`l!mSr3,c>HnO26fH_@N,QGG]qF=j2aJIQ>rVQ)kS5ZnpQ#ngj^H_dNfi'+.rZ2 -IK0W3c2sNtBIHmk+Vp/q[(5uYS>GEj?BUu' --oqJUS1ZCLJT-Ca&j#lCBLUp[dQ?5A6gAtg(0/!+8aG_e[%j=HAn,:Bb;!L^b2V8.]mt]`fP]+!:UT@=b9n*Xr^uaA=DoiGb;3L4V3L*snZL -QnW_oT6oI5"&Qtq%"9RT`XX5;OtMZEkAhmSiUD6f#26"R'SRLa=/Z;V??bhK%!ZPb -La$mu0a-MC/e!o_?l3Kt1*8s[rdTYi+Bs$rl2[EQW"NhQ:a.IoW#?;"eTM*m<#!^V -hgpi7#;__j"(7&uJjn&tWg$b#JnfiHifFNT0oc?*384H9Bc@QFlp$RCoNK<)DiBK? -/&77MI6q(3MSYkc`d8UF:Y#7d-hKPkZ4^>Mg)@b7kS4+p;FLh`f`Q;3%cWYM?j95$s##p`f#@eoo]))"NW@U[KA^DR6>/([ -@;m"dT[4%`3,f$e]K?7WmN4_[Hk,)13sQW8i0#'J.;V<6O(@0,Qgl'(Vt&s&E&4/$NMY,`c)>(Y`N^^O:&DCdb'7h@!;T: -gc>EhkT!tQEK6\#3erLo*[qqS!!2`%<-$elA*eOB&aVVF)"E*N<)S9E9"Mp-;D!G? -AYSCn"Qtpl0gO+)+n0pg_<>V:JY5U9OX;_HJ@ldc-ts0A$9BNgnlp0YCQG>F2UikT -&O:;'Q;H'GJP]=<+SL'-ppEX&K6[XFlkP,Vq[ar%G>\f%7XnC8U=),T=.=j&Q^gmt.:b3'4W)!i[ -5Vn2R)BZo%$PMI+":EOi!X5O/!K_b^IF3/0:[=:?'7":#>:Z7SL9 -'GVg6$]2\<#6\FQ"C\]MK_e,T9DnISju)Y4W]Hd&0sh-3TZ)P;ndZ18:H/R,:Rb:/ -DWN1l2s7l)QP7H1PHES"P_SX&425[:"liqRdPihce)rMQONfXN-(;eh@ -L`ld00ua6L'a5L"`!M>&!XFAY;$C"\#%IKHN+io6?YfNX-N!pT)YeoE";i=BVnTVhF_^bc#[f/5-C*Ahf#odQ1nQ0hT^B83TN,#90D= -$4?n;UMHkZbJ"skiaHG,Ro<\1e#D`/aT_Z#6\$.(RTkq -NmJ%nB))(R.Nj,U[#dArLtJtc/MHiqFE'9-]-_C4+.'@RY9ZO,_`oC'\IaWB95BcDs+CGaI -kUHskj:R/e*X@@;SHE>?;&H`29@T:$oe#]bGLEhNbKQU".F(_VH4b,uU] -^,s4Fb2.]=^l53S!=1c@BF0B#DZE%@-3/.lqLtQ0OV\@X#MB=+8%m?""%d&* -,UYs;j:6aU*j??0,Wl)%&-2J8_rqO0fF=mU]>P[T6n5i;4@2G(6UXU;6sN5M<(KDn -8AomI7''!K]Lg&c9179'7,1R+lqg+2;+1=Z`=,X54B"[@W;u,jJFJs-+;=gk'S7_? -!\cE\Lbo5o#)#65!+8BOL^"!D8H;ja"R$#Bi)ft]=9]lOL)=Y*883hb!s\io#AK?V -J8YEAD['kYL18Z2W'g^^'8#KQXl-afX?".;J>.AS/sGLYN-DFPGt3eWO(e.t.j-J' -4%Dtn6@:d`nE_dS\is6hJj:3*3qe3q>(EPTLEH\S+Ei8`G-B'e\OmRJOFJGn!!L1? -0HjB!0b4\/J&r[ZQ^j->=:t^7Q\L"o#'b&C@!2MeFsbTZ8Apu1!?28Yd(Li6K]igI -iJ<,]Z)#U,at/&r(u`M;e388Va0QdX,brM4nj@(gJ?VoUp]H9I'?Hq8]6oMJ0QmF= -Fp5qmKtp$*kX)^S/@u`FW9gKU1q1Vc_6\+=Z\(7oUJ]3sK+Rf720_hQOCk,,Q\Ok2 -LL_G?WGSSJ7M7I!L6r,KQqRM$9<\s[8HJ=Y[(T+gnjjlAb$d'@@.f^Ulq<#[9Z^Fh -a:s6CfS!@6J9YE*ciaQqKEjlhbY5r33CYhuc&.m//QbsSEn[fai02Um9f1m(eC()L -f,+SP(#*XZ;fGBdmC+U!)RpV'Z[;fLk;WM#"!m=rJ1)V114jRu!t!ePpb]R$0=R;t -Jjf>SL`W#+)'6!r3m\V1WPP$ELU_oQ\=(=+?pk)N6j3Q>de&I>W?;to=pAY>!2rh^J3efY -&q`3"!b*L9@Pe,-kd,hINK`C$N-)d32m5oPO+?/`.T&ACi@]5M(Wn7ZWN==_>qP!o -7l=Sm4^_:c%t[%^!^#7*1&qKOPQjKDL?lGV5]"]$AH5hD"h4gA\L<,E0``s^N-ka: -J/ZiY)B9>C&TB)uAJ0PZ0E]Z6"3=7<^eY.O#DO35LA5]f5]?r6":#3OJ2hM&O9PoN -@=X/BKqJeWTOWM(&V*\pTf^n^Td*.%Ind.rTj(`U^]]D.Bna&`JFGlQ?msKgOg64N -T*fcD-pu0C@fU1Oe+k.MLj@8)Emu46"8ECZn0W]l:K9hDc80Kl-k_(R%R]S_77:&- -4el1TU=rnK>%OO6D5^WdWEOGE>)fQ9SZ>r=XBOG\g?l"Gor_KsZ!.W/M-pgE!"8l: -=+RjgJ\WUhYVH3715!@I"3qDk>m*D$I_'7Y$a3B`O -mFYS+'M&eG0/t-VQluQV'8(O(JCmSN+:&/oCOfN&LKFT_>m[CnDhk?4))qg)84Wa5 -7tS5bK!67j\Q$j+fA2_EN%n;&BIk$?4Tt?-KqTCh:og[kO -&XZ[oXmlJn'8#o%hX1>Li4[9(em1/_2&+Hr"mrrN14^i/9DD2SaCea3E1o=1flXGk -'odkX%YPKe[&>5c3$)I%s5=^r8-rNoWF&<.pp7+9U=dKBTIR=,=G534b91%V,IQ
        fE_Z:$dcs\4ErFm8atTf.q'bg8.AQo -=<#P!gGgb3=lehYfG+E`'T>j*^)=K`3%8Bo0'&BVA?"Pj*_:mE+Le\)!dH'oE%ch4 -0,kHY!s>G[BIlpZ+e1kL:Sdk`_5C)VWR'U]*)YaL-o1uS9EK0,"^i:'=C?\.@"u`1 -#0;%>3-aAfPpXG8#'t?E+dW;P1P&2E!Ji1%'bXA$(HNBp3_24O!&Od;1ZYJk"&;IX -FV?_7.Q)I2[igJUW(2`?jF=^k(tm(.];E+=i"f -.g1A5KQq#-G[spPN+Q+%'QJ)jH#-t%=p)8H"1*Uh@B@MpO^2jf8(Nl<*g>h@P\F;O -^;;C7AsDP>f.P(3%ORXW("s6(SI:IKe]sZB3>(NA*TQF1%T"0sO;rj;(P4=j!E^cQ -L_9f;WeD:+fZo?c0hhm6*/8gie2Ui0E,!/pEj`u5#I"46['#Q(D7oJbPgFITjuA$M -%>96h!@TdV^_IeB(IN`dQdnp_).-AmUpiWJl&M?O4^@>KR;#^ACgNLC_Cr]F4)C'@ -UBJpg'2OVopQ'VU%uN-:H0La\*W_?C56)f7kTe4k,6Dm3!gQN42SF\2(cKOrbdbV' -clJOEe,mMn@c0eUSA9kifETjY_?;#.o3)??/-Th1KNs`D>@dlOc@Roml5;52\/]@9 -+p*i@\)7pP'q5CPpB:-2H+tX4V$S^in'bb_^g'sapA[0tp)0(]U>:1o91",]VX]>t -$j>+)K^'JSW'l:-%tidu!?a8VTIU'T(P3%1a"MDjCk;\r-pVIrNGib0kC'[.5MXGs -!uc:b&.\mS4G7te"MPc*GYVXfgk9GWKEEM&N66!-P0"IdH&nk+jQ-ngk+[t3j=a#m -p-_d=q&7m.Jq't87.k+;'*>);!]dV,:aio+jauDFSeUbu##PHq,8V)$58' -:Fi'bESjP]:kJ0gr@7Mbs!Nsk%^`\5j)M3c7!?agc-jYPWDO1ZHdg*q_q&r*C9K^s4!0CE;a:SNi -*]@JFABr6!7YmE)\*)4 -GVgHJ!ud/RUI]JlCCQ-DI/!N\;Z6>md+#95- -k0mJOZ;iiP:M5me`;5*OTi#KfH6">l8u,A)E>W*]Aj%N"aedrfE:tJ=.`/3_i$#Q/ -!'fh9CFu..Bsq1scB'9IV@%%@!Xm!J4b1][1>9O@Z\T+MG6&_fO:14&DLI$WDa4u` -g&lN,JISXMW:V5qPXU9-5eN%>(lp,Q85SYr3ZmZXg@8al[W`Y[Ocu%FQ54LHJl!3rMh6!&OA'+@M%)h>6o^.A0ZkpM,-[4GLuJ\H+,=9TEZ0ZuR#2Z8K+L^1 -&&@u<9`kO?C'^-&J/2f!?PmX!dbt2)<2GPLEHqE)5(-$>66+U4q!S7 -kWV0<5sV^pL+/L#R)u%lT.%h0S=q<%6)])H#@\f^+UPtmQnO-PkhZo2j=i\_Q%5Q/ -B`U\f>'[?MERFq0-Qit@*FL>IGlVK@&:C)-$1<+i8#bVOSn?UfD3od8GYWlZi=le7 -"7SQ>%Nu\I0a-MBTG<=Bn6R0YP*E"HeJ2@crIEe8*W^k#==t2KVCUG5?tXs04WXXh'[-p -pDr.6hY025H/Nnu,)KD,6&9L+$3NOi1_=(5#$(fe@fC.Grjp6tJ1$k+ELO[7W`T=6 -I#'rm@:5<<=.`H]p%VmDKD>4kTAfWq?%mRL#2tYY*/4IL0a5r1#DuC* -iYYAJ9JqLMg(cuBE0Gn-8._G96&OSI.n3&<)$>Bk%JLQ"hSF)dW7Y7(&S<)7pj*6s -Xan"+C#I&d0G/]EY1LEh&57SBp4FUW";Ho -l-E5E,qa@:alueQARqc@DK$O?f^oW)!%nN84;EOr\pa`8,n,@'&dEmA#fC2g%09uR -Km5Qhh#%F<_jAa,!o&BWX!05MbT#m$c-d6"^n8CJm_7Y8Ph2K -_&+AMJ?Td*o^rVKgbMZe_*5`Cr<]/QJ-<*B'Z,r0$Xm^#"ou@R_\Dm<1Ya\1n! -5UQ^+S/"da=q#t<0Vb;V(X`k#8AZ)f$T+A5dZFAE6h#m[6 -$p,YM4Y3Al!"Ycf!sV;a!s2jeJj@Ts_-gCPTZe_c!-SmiE(pYG5W[GWiE#/m[Hk+EnCZS?%l@mUaJM#Cp^*`E3Onb"'Q5[GWmumlJpf-#&u;Eo"TCco%\'"6E[T=4X:p` -As*@EF'/Tem^:RIWOraOD47eN^,L\go:A[$4Z1pe3bK,7H#Euk+bW9hb7J?=69nf[ -!Gj`I+Q+oaN1_.G7,T!t@C-]&^o@bDQq@Ou+Y88fB;2(6fAG%\ -'J%4a%Q8i7"^sYcJ\`0Y!,0HlG0%XiJabdP&Fm]6W+(;)Lp;V/"pt!%ODk+c$.je" -?AmKa29*DRq,].`gq/kmraj,-mlJ8r;*7bTpAK'WaNO\u>d3lVb0'JfkW?%fjO -Yjl$Ei-87'i+59nF,/*i#-^]<;a?$L?t`,TiB/T_32-K6KBJ('#6=pO,RpGP'STg^ -&&&kApV3?Y6I,$-To:XZ;hsB3O3R0DP3cE%$oSC,3$Q=T',?(i!F_Q@+9W_pDV%A] -=m^*'_'\-\#q#dM7;n\tjWX9l-B&tmgXd1-IJOpN\B,1/^]&FgfucOUUQUa2U) -k;scIlD+di'<;>@C,cD/c@-sLd#@f-TR$p<%L"!c(]Ys$&U#lZ;ROdn,7A31.pd1Q -;VZim7Ub9lTI(G)ncXL41s*HSTQ21g=GB-Rc)\B%9\?t?@4&n>-8K9_64YFV@4$#9 --k^GGP(>"OMBO4Cb3\8MXKH]Id`iDs-rOV&J8PU%U'I?-#@NDn@"o!g?jYc$"e`42 -5ZS9n`W\WG%%pQ.JA_UV_@%Ji$Qu/Ii1LB!A-iYi#XEbAc1NJo'YK@,\^GdI/Aj/n -(=::[-peFum)Lhi'dn&?1(tZVP92QCLs2&%1D:ufZN2b]`6a.@#[hTW5b\HjTF9[] -$c)N?T_<[tqQ5PmU3T6>C!$E-[Hid`((4[kMPBmp.q?2?D$G]mRXNENo1-&&8.;J2T%&TN3 -cSEs.0Cim4:m4'o__=u]bu0NJ.7X9"q^9i6c/W@aEgG%-hQp+G2+(D,%e=a9il^Ip --d<.ia\YV!V@$'.9L-6U!9DSe2?Nt:'OWI+5up^2Acb8/'Yl76Te$9h.M0BV&;1#n --j"eSOph=a$c*Y^@29XZ+;Y9s)SsR9c-G[2%fp3W>+ru)JQ5'T#)oOM#p<=Ul&Z8V -2@]aU!l73D!Mm0e$6R?Xa$K+n61.Obj;G`O)504r@6>"W;@UFA"i-uA!+6)JF9YQm -%MB2>"aH>EJd4Q0"b;mN!'1\X=r:.$a%^Irnhddcj%)JWHf:t?5U7*s3"OO>$$>hC -M!cTX-Ben,;and&5Z.b.:]s$Q"COIt+@0"-=]Jin"9:Vli&Us0b3BJ7EuM$0Ja.q@[-kl_.i^^UQ+ -%F;ZsJ4'lTi(V^^%+I'?l'Fum$"nFar<]hSd[VHnTK"WlB9pGN#YtO&L'k^o_WWgs -_'!c,HK+#f[3lGenik!cef2C7)pU2UTdU!d-YAZ^=3H?(G/nQfX`2k0>]<@A&5^[Y -irtb\RV=9\TQpl]U^2gC5p25)[jF`A$Z[!u+nb9lN5]T$"`sDKF31FSp23&:JTB?r -5tR@J!+#oTQ$!m]FSBg0.CF7Kh-ZHEEV2Z(;@+J'5-J`('9\Z_TV)^u-PE)uH5E"Y -TZ)5=rh/ck$UD=N;6C=i!tq9[HiVcG9%43`L8;*8Uc6`*8]c5C!1^&]#YIi".T-a! -jp`HqhE]^%^k*!1q?>gR'];(fiM6LJUDT]Wif:sU0G:dKZlVN]!+F:pTF)WhA-*o` -&E#MZbo@+!U]o".#,%"qMBnl\^(,B`HpH6ipf7ZnL^9)>"V_RTG\7UIU^`[/TjYU8 -i2-eTHI*s_#"d/F(kmd29!8:Icn+P+J:38aXWLD"SD[;8TN\W;;fO!k+Y,Dn@%%YB -;@pZl!hk"sjTZdmF]!3k>kJsN`rD!^arLHh*><<*_!2'?9HmoOOO"TR/R?KC^6Vd#,$JR -?sj=,fEEDI&:d.[@3>Zg+;02c&n*HrJM%R#3YF^Y"@3"s^eP?3\cnb:$6Wdb!/LiP -LAeIA0f"fO1YnHSqiP#8d$YK.fqCR^V$Q!sFh+e?e,>J/q2iX#d$_e>H,l+/Tq%Me -1ZMN]J9D3+FpL@##69tqJ7o9th?@%iKsXsQl75B)P@c_ -Tpu.7RM_\;(l0@M1pRZ84:hZY$io?R,_?]GQiUW_*8h/DiSX]Ei?Rd3E.nAKn/Fd3 -AS*(O#@M#!kj)jL^^Ag!%Nuqs@3.qTC)_[5)jIsnlX\T*oDg'-,N5R%JZ'9U1_dMB -%`#LV^pFDU?jT)A=1GAV8+6^W'_-u?&3r>h2Gb3M-lsXA*k9Gq(t'tog&Q]V)Q1AT -!I>E0/e`Rse0'g^8[:ZjCpITS9(bEYAQH)E!jL3H<4,7#)s!PT9E[HFjV=n$Q*7rL -qnHA8^RP>>g]P?^#Jf*u_&Nj!4:f85)o8$d_0dKDga0fAE!_%C$)&aJ@4E4H"riQ> -[O)@o(u%fjHLi4bV$ -r0aN=#X![Y]QT98"=KLa#%2U>r8\KK&SUQ'J(!p6UfU]>C=*Oq$'[VKA%GbrI;!=[T+Kl.Hh$QUW.dF0EX+`:: -%BA1m=/?Hkl3qm9h];=FTZqbl;gsV4%KNur=F7\If68'Co9*nfKHOq(;31 -,FW,B2GF61b3B6M-XUAp4%mDR5^Ou2L'GGF#lnWE^r-D,_@YWn&CXf!i$&urM?4HW -!Pt'=?m$:p:H3n@"5sq(5Yqq5]EQ*^$".KS9>6EINKYbrqLc?T^T[O&_ft.OofoMS -h`:Ua;>_NTnsY.8*,%GZA,:hYrE6Q*6aQa+lh`p74JT"#s7cKLoDcZ-3?8T;:dNb# -F?L\+#NP@E%":Mf%g\u)d3Q^d0dd(f`i(Vlrr>:E;Fqjo;(%W#V2^"(@9saOTgX]8 -Gc]\+(mbP]@Tb*s8LTQ*"`]Z,ZnO%s`W`+#^pmScQAT0=SFi+:*"b_/OpL]#4<6]R -E%<6)EsE^hX]AXXWY@Q<>iDIQ<%\[e[FjiM6,iV>35=CU,D[NsK?WKMRG>cGGW[#37s>R<`Y"@PNHN9Y`E!tR3p$0435W=ll'[T_]<+gag -fa8cdXFb4(!$/lM!'VJi#LWAJ+/qk8!MlX_!.R6=lkFku#MYVOO+@<'*X3e:Jf2'0 -bV9PoYiJ"WL`q"n1BaI%(_.-hGU?K05[fmtJ>Xq.In#Qr$C/WX6kjJ=B$j]i'nc!R -57A]S^aFj6Ebc`TkZK/bPb@-Tc0ntl/KGOmri'';i -i/)2kJ7ha?!?NoAmi/*C_H:jZV_O,7R)La/;NRR9#Vq(N(l/t6Es001dM.rg8l@G& -C)I4a\7-A3+c@0SL=F"O1K&>&:K(7Ij>%R,6&8rNA -=8!)S@9BraO($^"23h]TG'09f=dG>FC"bJAYA7?#Xg`+NQIWTd>PAlGEa1OTa)bNF -7FuV:[oM7-?2'WEHC*MiqRCE -%A@an4p7Y6'Fp6N+?DfL@0#jY"Clu!'+$7mgfkWrBoZge#+uZER_VLspR6i/i>3A#^`m"t^pp6Ri,hJDi(+em3)"Zq-1&FV -YleB5%Y9^)]db.7s5J)/0)t)?aH,&OO]C -%C'G%7BjfK6I]?Ld=a!h35u[X0N="9Ot26:`>`:=C^q&q01R^c*DK'eH6C3j!l.nF -e[R.6Wnp!md"iBa#BQ?=V>:"nQ=kK#j_s!^'GETpB[ed)Ho80O1.L/>&9E=$&]A -mf`7$>ln#2$qP>$$)'%""TY,-_MD"q!D7nGM?mYNkUQfN-9oFnFR\-jU2'0pW#+B> -CVj1;$"<08LTsqc79J7E")0rZ@H*hS;L;2U^jZfU!^7+0oc@KHH)Esf4B_N&*^eQ[ -O(NG`#K89kj1#,MiO/dlfZ=/h,[,aBC*N`JM[X!l0a"11B3p.ILXfq\eY$aiWk6T2 -G:bfb1`u6-Ho;+B8f*3Ap[;Shof -5QLVXW&g<,1"H@1=Q9D!N*cSdHmO=,Q4RX*nmE7JSW; -@^NegU@`LaZnos63Dg4K%S'9' -724ZZ;a4M`33^p]B#Lq<%MU$3^rVcSi*9%d+I8O1*m,!%N!/JArY^Y2b.6Y*LLUSe"Q/`LJS*o -=J0YmO;K`A8/)d?+:a3Hg'GT(/n?Nf>0.Y=Ct$Na4b#XJ#!"1Hn%?G&i5^o.s!J4J!Pn/hbjE"7HG -1^:bM-0bnsW3T0peU",pl@!@q5V"S3/uL.L#9re7P%3.fe_gX:6OGL!Tccjg)AYm*01(`"K"VTkQ@o,d(7HbVB* -Kt318X2!&O8do -@o,#o:k5cHK^]A&kY7kg8c[40KK'Kq0KfFZ4Tee#K2=(L?n-aF(]k*C_)(sS48_B2 -"sBXt%=3Aoaqd9B)8Sub_-,b@+qlQ.'WXUN6*qOr]H>!)+MoBH68TjudL$E8_i)qd -6'NIVA"XRB5U5Q?Sr56Lcm>ST/d$2JK1%Aepai=>-%[NhJfl5S6:/Rd+@B*b/k@5h -3\Z/kE<@aEK5`K]_LVcQ14gu;Rm7hl>G3EX'dM^&,RCr4!%Yuc/;%Um`,[A[b"%%[ --@t)%X:Qud?k=D?qu7q:5+K9Kns=@\7Pt*"U@#8J-^RYVuVUGG5r1u -#=&eD)95i&6e"*tb!Vt< --\?:b/#kh48/*IU,f2h$+n2t"3O+.8$4JtQJ`nA1n0EX2(B\nT!;K0JJ7sI8BSSPK -LHEF4=H]XkHmpIg#>8T_,8?0"E!H(>L@\-KpiS;1<CCd -Y"IcVb'^Kf*43(-X,P][LbQ)l:t@CXa\+IjJuBH:Qp$!;4Tu*"K`GBYQs>AR#6nRS -!(_#55Q_6VFT%PMBFk;S8q?+t"R$;JkY&1*7f`CC?-o_5]3!./:K"rL[Qlo,Ua2h@% -c",JQK0%>;fh\.7c]cjGq,i3$DBaVb)bMPO=mr#^,_:Ik"(2cE=@[o"7g3iQ9389+or"U:&rJ9YH)p^@;p4b4/-bnqs_8/HkC+9@9?*oIq;M6qhY -)?I>a%+#cKSK%[W(5k^"L`dQDEY?^*qG4dK;Dd%LBZi!6445si9ruplS?pClbCl\kimK]o9SRNB>+>f]A1Hh2p:^O]_jM -fenrG7?UeRPM'6+fk$N'FdUj!RG!:_=d>H/_17,6$3F$p!*Dbr\,h>pS[DT"8HW$3 -\H(!TH4u*WLA1iTrI%\u2a"_tTl\c!6h$04V=o&!O1;mKUTJ$'TK1'ag>$g -*0(jWZsY#-n/$Z7:J+jH>.(upD7lP-i'.JeWotO\80P8%+c>b4!MHuSGTVM;(T=Cf -\^6"1qqE'TX1nc*SaF*p_?O45X^'u2f+$']c-W-dpa\BK:W:O`7F4t;N"m@O0O;VK -3#;WE."P2C!pC;Lj-0X=L4`kj%QH1o0JNXu'S>O!!GEsc?m^Ib)M0@[!MCM8a\?&8 -d9Tc;hP(NHBY^RF+$kF.U)iRVSabLA&YbL1/[QQBodjGbn6[40hduQ>?20p)09)JJ -bBilO*OB(b.&'RC`#'2_J@pI\!N)M<`uI02126l@\D&iX,$I9`AdkU4BS(aL,XJPHH/3\&sSJ-q)a\Ss>LH:EK]4gRarfSC8' --kW?C4p&Yk!q&F."?Zc)2M.qb6W-4k%"ZfspC6s3$SCb%BHKQW*eCDINHcZKn084[ -0n]N>"8GWA^eRJb?HLQ3>!'ZZ@\!b&FM*;5L>Zfs888Z#B81('L1'WXKU.AfG(:EQ -WPjgP3su6jUrid0K;&I".7W*<1DM6/?EpG-""4Nr0,k5]P2J%q3&$$4%"u]9!*ErH -TQJ;SGH#p!0]jbBL]E4Om>%q:LQHM+3,tSC>Qf0QN\E9k\.o(D,(Y#06+OC#Tqh_Q -(kLiO -W&&uI1B[iSerfmn89OtMFsV*OLO]C1L0Oq]>_%?0^j&W>W':@a'E\(B:J_l/YSq7Q -(Z9m1!E+,0+;CUE]fHE7!Ib[;`9_=S^hRHmAnCWs"fqr^n3MTo5rgVF -!GE_Zi"u_;:Y_Q1)sqX0cHfeC9`Vt&3$;`R\7t'3Ne]H]E3tZ9G\71f$&)JM!8p6I -F^@8DM-OWVQ!mdh4=SpM'"U%5ftS?V[i!fE)0(ELn[BG,`u8sL)tDf*n`M"apE9"p -+n>j^EYfqj7jF>`+TS/Y"5jCdkZ`Qs>J(M`LH#9h5^NJ2HSpFX&5`UJ5o>A*B`L\< -"nQsAJ.70chua]1md'<-?-_eh/G#VgZH#$[TZu?h.Hj#;;?hi+j:QtRLB:R.!E^fQ -p_3en10tFIA&&]Z;%eL1dK9J%!B;Z_O;3A%no+s0RsD=O1L*M9S:Ws"=V1kR@!3f@9 -W'CFB'E[+B4gc*\[s]F4K6R*B1@k8u0]/J`\od-oTIDO=%=;Cs2lbf)'"!OB@O?im95QllP"Fu"O!m3C17;U*M -Z-%S(eN?=7hS)g"Q_0rIu`Y1<58UEQ#_@Q#89#=S)b2&I<%Z9bRYp]:E^ -p\VZH5F:!^pNqEsmbf=ta9.rEfFVmQP)>:'q]rQo%AF_"dgaKVLN&'oEM-F[@u$Ka1`2Q(,.R#JkY2,R'nrWYC>$ -+?VrU@#8K8JB&P[!M,"=!d[FY6f<%dLI%(-)'r*-<=qLT&i>8o3/eW/Y1p+[L6k>E -=^@;mI\VV`;]HMTJLF&!K>?t3%0K\fqgMo)%KV.?'aUjAn@=kH&cU.k1S$qS`^mQ -Fe7e7re6tXRLY7Lkh8doVbI\j".RYIrDlM@ZgXm90YZ`i\^\7uBU_Y>W4q&+D&2$eP73+!YP[Laa:P.Zt2@G^:#Wt?\_'mAN"en85)[AZZEQ<*ILVq5] -?SBOmr-qMeomIoaA^0fqJ(sdr'-`qcLMgjtqm`emW-.!.!@KP:a1t4Kr?$+eJP$d; -P7VP(=#8cc0F@M?=60J@`"Rc".La/72[FQa@>_=A0ubMMAt8\8#4\]N5LeKrj!8W'dEXMf=QLQuUj%ksjuu:j -b&A?j_Dm(u*0fJ<$=`XUI"_FC(ulYE=,8ITkB*VSpp:WD^e>&C/kcCH.Lq#UnHEMf -H'lrZ]]=;e"[Jm'!lCrH_A'6];Tp@Y=^hr"OjPl+`"[fR:'r<>]`eD5@MHUh(4ksH -R6_m+";$(p%S>2*&r&mYYYG[\#U^#^*"n'I"@4mJ._?8 -5S3T/i"1*k^aq8F&1\G\g`Qi@\e%3l8I#8A)M8$)@q\9.0ue;N)e1`3AoL#'JK@O= -Y_PZmBibL.F;E(#:^I.F,GUF7+OXCS/OD<.#S@4(K3;2(jm9)tna0OO",:e]iQI$" -qIbHOVZ*AGQ@C%@*s80^&j`0]$D=aTc&fX]!<@HZi+,K=0I/3(!"TnK1^4B,:c:eA -$6#[!"cVE!"%FuO!^b+,!HC.E!9f.JTR]32YWs6sa<;'/fKBKo4" -Nl1pB"p.Uj"d'6:-<^EXq)$A0qh/*!@Bj&->MXYsI/I -JK\D^5To;Yj70`,F6u$7\FfhHe8'SsXtDti\J&@Y9a>W(*Q"a)$?8l])s^%S60M#H -@5'S@0\9]=8>6i7DRBj,H3=E1l59jABoVTl2pj&9*Mb[Y -bsjc?;`F"*c7AWKn=he_q/i5NPS]4XRMm[9aE`h4l91Hj66r*/Hk4?r5H"F!N?Aun -7G&.f6Bm%YO=D^a5ReSIaE0A'pMB5s)q77=!"YkF3!MNZ'qe6$LgW7e6MMo9d*`b` -Zc!PD:f%SYPVWRps/O%P(E3Ys;-S\3VmK"d6:3F3%)Fb*`5lTr!LtNi@%7hF^d\RE -k+]pqPFUOeiIoVuD]*%>\bA#EgfAUDS:05)9YTfIE1#WLII4^?Hmd`gm,C@&r)I6A -DU22EF;9-NMo!)f$!P8##9ZDSD-_2nQ2!VrORO1i+DXIJIDpm_N!k4b#g;pM>*@.4 -FNGA/YDDsMC6=R'a(Y)F6dU2\!V&4X.t,(JGm"PpZmnH.P0`k[eJ&BEaOCel0n?E7 -!d[*;_$?uQT6*j!u)]3sqFDln0=Ze,':@-cX(Z?AFVfXjXbm6.)LG2Cp,qd4@1 -h93&-+CLMZ=5<7gK2:3eDIIKU+ee -!;Y"eX9&m:GQ\3&N<6"f6DrHGMfT#96sB?C^8O>mP3\0S[o -YT*ZdD\CuA9+0Z#05iQ%*#G7/NXP,3H.^pQj)f,7ho`4IP -!ADUpkXIO&;#U_mKhq(:&/PD0/ECBd;#k@i"C?c"@"s2N3$U0_i,gF3OH=/i!q7]@ -:fR\'=GA6,.KFc"LpW(m/Hmh8"`SSfd!#J"Wf8V3#U?!laPdB.NIn\XBmf0<:'BKL&)^4o@ZmD,=upCU$j.]=W>l0d9F(XZ"2NoA -+\!=l*Z6-4!?o%G@G]XsE6uMjD[,i*iUe$R(`G\2"$oHfTMQ,kZ3>ca#bY-&TOJ(% -C6_@aTojGj+BG@+P+"sb%'^/)WaQG=9^2&o%?S`$;%>X+nA@U1UX7C)_[d+WIfZc3 -3/V_]8p7,,V?`6lh@80fi-GU#G)/D0o`29$%t4XhhUTFL\7%3m+^>jl*#MI8(QYeF -Ws0/dk2G7$"X'fOCENpk=pZR\#ndXQ+IWIaQ6a89$6i4Oi)g;k)@:Es[(q7u?t(oB -/E!73>u6k5B[29Ii[N$)Zm1)*9;*LOXWU>c&4(24U"B?rfb;PG'FSk%!!45GO;r#V -)8U+j6#$uZH4-BB$YZLA88JR)=pS[Z$\9;i@"Mg0+i(+.3M?G&X -#QR6u!."c]N!,qc"Q3kr#p9DN7UC'0%17j45j()!kr7P23%6na/m1MX9 -r'1]H)"R#-/gNqq!l%O,)m:tJ-M5e>LutE#6"-?"!%J]A!!D0Yf3lhd@sj"b2"^j= -4JKb&5r&NC0H%Y?):EIGe']?0p=Van-DB!-?m$:P)?`>E$NOcGi.M>#KEr]FV-nV4 -aL;AXC+<2&7ke^JP^&*X/OjhsMdiSTE+_Y][n$(Q80XlM$?I0eG=g;T#%2^K<-(WQ -S>^P63Je7F9/@h$/mQY;#:iIR&&BDE#ROB^+YGqaPfA5.2-Eq%>uam5=#FhrJ:\./+q#Ok!MKE,i!pL\^]7fYnq8Rb`%+&h'".hh];8+1[*J=J>uFLi -#nRCKYR_`SYQ[:pG9GlWi&D>>L)-Jo!$ISt_TV_m#UE]0C9ON/N!-YYG3Mmb3P[\mgT\;mILc7SP2Y_J/,-Yq&T.e[Z` -5[l2YBk,R"$!(4:2FImFOpZC$DK6l)i0NE]M?i'I#I\Jd(;"Oo^Mo6:$8A@6a7tSC -_[B;LOi\Tf?s(Me/J3M8a[pmj%$2n\?7>0&2[P;)EI'@@cZJG4EtJ(,8U?_r:Nb%3 -FHL[i,9(Zi-j[U^#b_(t@/:Y3*F8^S)kka]@FVbPlU/.C5/FB%iN9 -LAs/s)^k,1_P\?[AP,LThh]lGa&47YY:78B-/beLTZRd;mj_`b5%-DQ!B(Pj1_Ji& -&4BV0elIOW&VK:&ZZ8iNG++7S@(Hg_*FQ*&TaJ:1F"@@HGqsK4M;9c"c5N>g)RT2S -_&`\e*(L"AETh+K@!Drb?Sc(n#iM3VJ=1:pedCg^f3ld+@9h?6\,bKs6[30s60nRp -m3\OZ+i2)55TU_6r")Ms$#4-[!uAu`5)4ZC$5hh4=QqP*mLbiU&=E(uGkdTh67Du" -3;E\*Gm+d];P=ba9uEDo_ebSs>*oVM7[WBJ3:mc@Ae:W_P9?9WBaP)"JmIu0"q81a -aCC3khTY#+J#Qb;E57Vd1cgi-#41P7(!)Cne57_e$%Q%_9+2B-K"]\7e(D)m`$-7# -Z5RR$Wki3XA\9QZ_@3)2%$_S@!I60>KH"j35;%*uc_k(m].P77!b#Fa_%*`CU]j#X -#_6(a<92A8\@L[:4FirJ5l_Zc+r4=k)q)'IfYI*0f(4IB*C'lN6,3K:^`d-d).4:! -5u%L?9FjB^%fht$J"tda -Th2h'#BZpb)Ef&*4umA4Zg0e7p4tc^6#cB.F;,?V7a`H'DrIIGd6F"<5T:gW -)^.0BiAT70\lHOd"orNFY)JC"`%`\bbdt_IHH-K[5[NRD=1Zp`Rb:d=gT>eXXubOE -HJbm:jf[>%Y57gp3r,rtrNCPIYIah>HN[r2Acfb]$Qp]&+TGS17KFZ%(r-Iq_9r^"DRTS`p2L(1:@&qDeO@;l8kDF%^) -/"tEuQ)I9>lu,XB(]YNloB/m:),7nl!@SejO2joH8\+\K,_n!H%,hPZ-BRI(#`5Bm -)c=0aC^*WKjXU$VTa?;XV@p^#"!K?3$E:].qVjnF%D&Z.+Ifn\;Z=;=]A*"i0R[U' -*GA7kVn;]8]D.%RSB\$,Pi#C@mCAG-q6r#K$BZ^NRJUQH%iE[D+g[ -"i@HT@!7;*M8"R2$uRY&JK,:f2A/)^&n*(H[ -*(.f4_f86OCft=hUG[&OHP!La%D'V88KolOXY:R*l$#0p1QOQ/UN5.e"jk*0GlPr' -]ZiBLFKp-HOP#d??-V*@b+.Sc4TJd@3c3-k?"MgN3i)U'+cct')F3,XepImBS_T\OSbe6!#iucHJaBh!Mb^A4Y -GIfM=&h(6Y12$&Ie97"sT@W:U*#a+=@tZm2aGp>)L[HKNkQ)0Ms-BKElG3fV&9I_#>+d%>Gl3d'Wm%nq%XM+r5bq -&I\e^kI(Wd,RNb+E<+lkr,',u07mUj'Hf"B$hPZ0R9LN94aNYN%?qoY?l4D4(m9gi -%0)<$)I@*=_>p)74ukR[kf'5)]jWT,r^[L49p8tPQ/a_]bRuj.'N$*PKdf%i@&+,p -^'h`h$36Y(oRuICL$.]NU*._i^s.o@(_OKEjM9O1=Z_iFSg_->aJ^n:&DdR>-]S2* -$=Kbd^mgNqL6alD19]`iJ8LQWHYN,`Fi/T]J;se`MWc2WR8SMc!SM_RdNA.ei5&q* -@:3&#-/!h1DQcdC!8+FT%MM)]'.V]LZfZMH";Dpohph''%=',tNa.BWSZ!+GK>1)? -e-KI)"JEd35mY(Wkk!bV]M29@_2&-.L_rJ3R6a@FTgeFcp&mYO$fG%nTS*N"JrN;n -g[2]LD`RpnU^3?O%PPIf&[rO%*Nr$TR? -h[+mC355Sm)d'qU^(ieA"<0Wl!l7+n+NF'p^B7$*0e"+R^eOj%9HXC60U`.JJ\aaK -85OmT)\*)T+e[=S-PD;*imF-pDD<,j7q<5-'RE=oP/u_4R7+2R/X8u*P51?^BeZ#M -k4;`omWC[_cf^N!o`g7?UJRp(>"p''9r:kRFW,BpTi8!lCDBIl?FO(?=6nEUm>f"n -YutoZHW?NfBsua_f,KFhhfZJ-#D#b:a<#A#!`[Bo.j;J*D`iO\-h%08MoOd3cd2dg -,lMt3hDu\Xujaeo4-\2=)\W(h#k,h -^p\!:/>G4]N^PUA#G&d3^[?Ve)$XNZ@N("&Li!8!ck'g=^WqK5#XWKp.gX#]UbN6E -0]Y/'6W!s`ej4k[EZ>;BfQ@o60k15kM`##kZ#0pW$3Ar%49)Lt\^CB5ceQ3J4$"6K4JrL&e+mj>Tqd#jn!k,G$XcihjG-sftmi]*a.+ZO(6=Y*fJ?Z:^s9>M^ -`+H1B*#(\@:Nk!e(P:"9$GfOf"U`0hKnqu6i=L`sJlWNl85LXA:j7VE=r0.`I\d(e -Y\$/3)T,T>Um5m^#_Ymb,i9`k4E+k4F1i5TLW<]*CKFuWPT7a#VHA?j;HZiY8-WA=5*a_lkOuRQ3P4Y -3t5Y87>nDD2T8eXVF85P)Zq4%%Y9^(&ceRr&>1jHN$&N_LDU(4A%2LKiU?gP`BALa -ciB+mJcg`5NWW`I0*6+('EM$+Os'i2db7cAD?7;@+ZA$[_3tGF@/0d)jF)OZp18)O -Tca!(Ho)ML3lTh<&0Q3_)DI"djE0$OL8o"k\Z%DOiVEg5N$CGP5SJ"]:C9``BE[gp -$JcOL#u?L)XQa7+DaGd:-oU&4bRfHVCl>f*,iK_eFGZ]V-;oBY9`q&'M^j'b#8hLl -<9.KsPUZdNl/)ZGN#\RRDBLdOmFDCDl4Cg//I<634G".7;%JK.)rMQONmItlDKu&/ -GlW#I+;?Yd^_%@A>RZHsj\0U69Et9M"("YoQ>oY/bF*&'+uK4Se.R:.C39bm]Y0b5 -;^5a3Z%ocBm+`HoD9eQa4#%0&S=$&]_?e6uWGMY(=A"@nb`b2&*;?"G/rJ&9k'[TaN58M1h(Ii1,=(1G%KMGHKlC!+ -EGjgk8h!Lbn9Epo*t+0N%N%/?CUn[;'3BO);M01:MNNZ+#$?Bu3P3*W_iUlhj+mdI --AKo5#l;,6:ro%\.QkKXo1?i!ljIeg"pD_b"_ -IdVc>]*,;+i5,78M86J77/E\eic:NMDN#nHIh3b":n88OE'B&mp_Db/.Z0?d."Z\k -&ArI(%AI6'M0MuH6aV.H?C!pW_c.&;ZS?>8h2%QUc>7QC.W,-:gM#CMDrXFlcRljL -`u$]A62Ihp4k_+d0ba+F\"i -=;Cs1DZR`\O;nJ7p`D*R(9msY[>@JPq:5TDBS17:"(4Fqn3M^-%g2Sj!;J^0^^pUX -1'&dX08p8uPSjr2)3L=rO`NaW#o468_NW'KLm!u-En_GE$Bn@;1g=h65]!?q?R7$$AD#[J7rBs!WB1ER0T6oLZ/?V -l]VPbB`M7KT5[p\cpL&cn:BU02QVO'N.T3B+136oZP9Js+l>TPW_/Ik^=fr^qAR!4 -Z6FY0Tu!-70t5==-VGj'bAnMj8Rn,B'=7R%38lqD;79+:^WU`69/F>Pfnhl&[7b$d -9Dl9C!#EaC(SbNDb^>Tho1P?_=#AB$*W4"$oZ^'\I`eo][6$*#9/B8bD)HSD^hGQU -n3\SVm=f)?L+$s?5]4&PPm>g2N,t5uiV`ue@S+K=K>8%N\1W=t/fb3D\/`c<,iqcp -jtKbh2XhYE!T-):k0@+[Jm]=F=X":$>dc&"TBW&)X/W)`Rjj_&Kc:4%nu.98anKul=W*X\72#W!Q)9En;t##q;2 -OEW"Y@Nt%,^4ohmM>k;LF<60/!S@" --Us#n\TiSFph51SBLe3l3q7[C+q#l`%"VXHJheU(:e&l;d*cYD8!lfYTK`Ni.K\-N -,R>Z[h'/N5'`hJI,Df-gkTPP+1/ac&KKqnX3)PA@;*7Z@!pD6<]V/cenoU:;@/ -gWmJ/d(L8W]dPjtP$Tnt:97eNb&/^CX)AY0p)bH.>*5BBG\XA#!A@.),_hDp_M(G)]>?0 -e7"&1FTRt.P=suTbZhn?9CIl<#.aLX")JL$0Fn:<"pJZI"^k^!8Zb -9r2#A&cig]JGlDtR`YoC4@?f_6aTP*]M2S[Y$0)R>2?C9mBBe8Z!/fagHDiH7C-2m -[Td%H>?/1;D7J>FVuZl,!=0D?\.sRf$N[1[J;>o_n-&saD1EI?LU[!/JX*!,,jF -5RmoXUrN=@'O#9=\0S2d/u5.2JC$gjHY*IjF2bi@#(=o(Jd3)GAHkFP*^Ek]WA%'I -4+dePK)j7"Fcd,%cH<*IPB;K7l"48t6(R!G!\bVr-mo%W-A&`BJuC7%81`YXq;7HM --?(0+neod?P0`N-V78Gb(cGZ]6\P4BK_q7X]ClHUEr[V0#EStAPE__7R3$AO`i+/8 -b2e:j9n:#R-3uE2"H\^>O50Eu@5S##X"_]F1":@8iC4HFo0Z2-^8$]-+O1pW=ua\f -1')Zg@Iq<8c!>m4+ou!oi]\>)_A]c=ig;GmbIJN+$&Tn.;BX71@Q#`Gc5e%Q*_^A) -),Zf2U'tJU/)n.>98SL6NYAdaagBOU[+S&-2Afq13b+]C6*;QB0c7;d*a&+sPri'/ -D=+Wb3(:ne6BH'BBQH&pGVU;g%m4Qp-3sj=qhEcLT3ZQ&)Iij=B4Ft(AG/hW'8mE& -4ii$PQ**sEq0ps&itl*'dF`,f&-I[t#R?@=+<4UkE(aKrpF1NIAQE1Z_+hF-qbOL7 -'pAYXd2:p;?tDu333`SI.8;6YNY#tUO?!HZ7&W"`QYV -!'WI%.'Id\O6PSgFQ6.^3b0rq#.sj>TE.KEk[hFGkOm>`Rj"FqB7NfkTRpbuV'*+D -QIIG"U3IHJ=='^J3<[?["Sbaqne2/)7Kcg^KIB.i,q/r9P#=h"]eL6c$aLtV."P8* -PP??dLahSW49KgteQ>f8bN+=I1$RsDR5Q6m+;:812U\AH4TZ?sofuIgfSrlu;C*to -/NQnRP7<(0&UDHW?l@NG^>^c3;W9[K%8fJCeX5d2CHf*gg-_/Vh<9C%&d(rq>eip]a@V'FV'g4[2HX#<0MankFG&Gu"%Xto -5V(a/oe>LQ%GGY1*c$j@DJf8dA.IQQ'bcY]e$!ol*D+ePC#JD;5HmU>88D-sXc2]( -NT6=;DQ2Pq[1NK4D&0KaGha2T*]Id$1Nu_E5)d"cO01!$ukA=E:4?W -rt05E&obcb!?`3Z\/9e\$A%\(J:KN]5Qld+EW?YkkQ.P9(it3UF1SkqL$/bqm!",: -SV%WT'cU5OiUoa"^1(,6^tFK:=k]k+e_VJ0/f\=I+k/7T4\68" -qa!('6^XchCR$NFf6(QB,?"4kek8N`#)IJ1E,#k7Csi_Rl&'XsC_cCi\eKn((2N=e -!J.M0+dP&%Mb\ALB6\'M?QSOWrb2scE;8UNbpsACH>>+tmXtJ["oi!LRj03#X9Gh$ -!6@dAkVlTSO82#3q>!15AEX^&<`msgq?NW(^sR`^2h;f)"MbG!]'Y4,U5"U+#=N/n -G;)(V`\JN;alm,_G[Scu6M5C22QJBRlBPrn'?GtMjse:nfuF-H(DN43Hb1"`B9?aK -5\'4o%>&0nG@Rpt980!$+,Foe-um#R`[(-u#A-CN)>N=?0nD;=!Pr.?5maN=G1[Wu -_%9k%J6XigR/JZ36@d'PU=TXCG5r1u:$?$h8.Gbhr.8^fZcu+mo/D5^.6`/\K?-l< -#Z1a2:kXVa"7SL,m8jD1j9+`.K@f+Y^%E36Ui9p -e4":0%$RX7=YjNYr -+G7`L?uZs/&0?ei;^k7::a:lhUZ$UH",5<72:rpu[pcVrD0A!hVW2O(hJW)BXp4WQ -^Ys0WS:2P-N=:r/#4a0-inn7T_IQ#:#:#Sim<)NP.Hs%:Td>VcW`mL#j)TOSFFWSScr-':(dM.6U -aO2W%,"YZpQR'\9I%;\-ZCIU<8lDaq/'Cht\Lbq0gq>Dc'-+bBbYp@?1X/ilfecFP ->i.Hb':e/Fc83,t4AOALq*!'QeH%k\1]7JDd$-Zu7*sF`&LIWg^do:DiJ;deLVm4: -2AH3`:iZP+.K0;hoaODg<0]U@<7IiCr-b*n.F)YA`TS@LOoX/X0ndFWC6-#EOD5Z/ -/-p24#/TM2*Jjf9N%"p>J?flHij_r;MP3kD.,!T>>U%i%gVIj\pD_0l+h'69`%^/@ -f64D87F3E9JnZ26Oeue-Afj8=oiAkn79>"I-A13\Q;mP(l#lb?l]Os@#d:$ -6^^1IPK#j+A",_LZuuG)Alm@;SK7l1*.Tcb=9:pAq@F0h^eu[rRP8+jE4s!mh!j.W -ESbnFmt%A^%XL[!Xr]V;iaSJiIHL?sIt$"Qb51O`"^tc:O9TU3\ECHI!qI-OhRHT$ -I"*("N[)XJY+VfY;kIJ&I\LctH>^N3lT)[dU76NVe.rj@Cj"T+f2ordNY0_1#b\]-K&D4k -SZ"RR+Q+60i-'3nn3%$'r#ZPjEcYY/+GeD\,XN?5&`R"/3NmNDSJ.`?Sl8UFO^9<( -_AWnMJ2]=cn0J.OO&Z!(4P=J:Y-`5\S+NTNG(sTKjP"E%;6W -AjAbp!u<-rKohH=,-aXopDu$p3jD^OaVbO5NSm$TTkMJ,+Qt)$d#f)O86I$3VE;R1 -miHubH7uPq5C`b5Q%Sl6+@eOU*8&td"!CBjEB\^OMgl"K8?f8icQqWuLj)Qa\.ZT# -=ls*W+FrsdQO"$H-D\VLZP^SD_m&l$ZcR\cL&N&gN!k4[>m17J3W^Gf+oph^'-L[V -$D8dsAGEJHTL`6A&Ss$!LpRni:f[p2.Odci)%tDo3NV/5Y?+os3$AbL/T@T-""SL1 -i&G)d6/NTZj.rHTYu+-i74V2jmW2lK@n0B_"bcqu"tGkj -LZ%mT"Ce5AlM+MgiI!:_OLoDIku"njHHXn?a(J##>c[s8a+UFW8 -B]g!UhHS&`(-1Pa$j/URL@FhiQiSTNKSK7;_gis@i_0df+`%9MW7V+q?u^^*`]J\n -mQk@C,EGY(4]$+gacKI.a&:k'>:`mltJ+!MK&`L!X!B6>1c^U3("'dFp6D -V6qA?<19(Ml=E\heNZRa;QWsa`EB6ADQ[!n]k[W&'a'P.%Dg[O#9actKJ9V;K!9"n -TqjbFT]?BrLi3E)\28e6d'WqXYR#KV&J3LDYBF?*fq?cJOO0L*!apogJgb11_306X -ci>.=WfM$95X38e#o]Oo$ORo%)j\!5@I\:US_]N>-3-=8_#-7q&F2H48DO:KFE@L[ -cof)To3^pK=.hqpP)$"$!2HK2J8r:Y^gP;"^e@eN_'!:+Y[3jY'Gg%_>DkKg+)61o -WD4IraMQ:R$N_"RLd>>O"aIfa@f0benW5Rm=OA%[-u*i&K?sgI$Q8K]@P`"H*Q91l -%nel1EkY2$Q0XA6<'VR[5ZAGN1h@I'6sG[J$opgk"&?m8L0(m<_hc#X-.$;ImYMbGL.IXtm^)f517Yn8uI%[FK*C,9O4IAG*^/VSW -Jp7Vbi$YP_U8o)W>;E9f5k:T[WqofR;%%O;u\?u^\4r\+WZ9GN6mSdN>U -%u-95)2"#rWr_]PLSPKE`)!6&5H",PcSd-`2r=H0+`NqG$%,iT:5pdE+*Z)Z2!5ZU>D7JOM"@4:G)h8D;KkM9r -49FJ&&&:@>TY(Ec\;TaK0I_b]0Y3(8XI2YK/ErBAcO/c1B*?T0J#Jm,B>"biCj:a0 -!$cIJ`OH2VTZ1d^%Nn.Ki:&LS3"I^?]0JOjC!mJVfE?`S$m8:R%\O(m?3h+LTu2aB -5`H,mcuNPO!s(6=JVkKK"s+=%'Md0:$!O-5ru1a -HBEL[@*oq0#ojP9&tqr6<$3Eg+@$Cs_j:3GdJC>g[ndb`j,>j%(9%pDig^l5^*!$>HJINu8"Xc'A -%)C'qX-.daLpeV,$Gb:'@+QbL!u^&M'=+JJP,]+7Y:9#Z%dK,bdYJ=4EXU&9$ITOo -EIT;XnKH=(,#Q0#_#Yb]"X?o*,LSh*dROnLk456_nY.jg:#lLS[$&4O!AQ';J<\bq -RL(2SlNP$-WIY\$eI0aO1/@cWK:FscV$3Ts%'Q=So-#p-`a*N.S7%6Ba!;.'0VH^U -A:^6j+:]A?:*,@_*M`^#Y^!_H@%iQ<%r'H,kK!Wd6PJ2S!i_?@Zi -_Ze1ld'a-Q.HL.F=-Lc8JX4'D6G=r!r=1Kr`Q+'uJ[9OHY ->W'9$<7`mH+U'Oqn7UUcYiejUcX$^pH=H/eTMhf3^oj^X$"A\sQ1t[&L@hD5o5)&B -TM>XJ9Ec1?JR[L3@$JCl"$UEru6YKG#SMErh>'aOVEj!ZpT<)upBe&:PGS'E`n!lTh:aG8kAM -*G>ZgD#eA#UNBPpLsf]8DOYWn&U"*4pg"$3dLdP%j:EU+WqBu:E9I('HodVWm27I -U(^rl'1"c2GdJ/E^(S6n&E+.T31p[Q`X*j'JSejGV5=UjRLN_p&-4:2Th#l+7MH2^ -N%t%0\HaTm3YV%=OOMrJNJhCd>_8]-7adW7=A`VI4r'hQrc:m\VN-, -0lk'I3atqi_j\PILR=jP=/LZ_!BL;`3:6<_\T@sC?RKoM>"echBTfN^X -=rX0(+$BTf!rtRhi%P<7?37oM$\0E/TeZX71)dq4)V$Yc@IO6tnP\X:UquO=i"-gp -h@cJ:&tnOI6dc=+-9-_1QikP;!u)%-&.@Fa"@2;cJ3"9fX:o=I'op!Dl0]=>j;&n@ -!hi[p@5&8.4:nC^%R@`3!4r'HK:20-8(u!S'j[o-YZjAbVuYBOJC>(Fp]LTj&-+m) -g?5WMk`8"#%q+<)!([O\oF<#t2'A3MW#^?UB9R>Ns-5O2_L5`"iI; -*+06r@HIQ98jSIINFW]ON1,bM\$?$1VL[gE5acqC!LVHaXLcJ2:U*XDTa+'J'9r0s -'XhQ2a;,mD(*NX[N!]pmPQa=8#=)Ar6LK4L*\S`3^0BX3K(puI(VT#Q^IT8o]Bf_, -Vd,*p^AJ0=kGc3.EZu$I01*Dhi*`G:q7f#Y_HZ3?HgAP=%D[at0;:L[gL0;Hdp7.Q -`(6r14'fEFR9jDc?E1)U!/nh3Uon+,>0Dr8TXeTXR"89oATe[hkS,@/OiSB0$/h\b -P/SJ/?jI"f@fe3/2E?:ik'8HG#h$\II#P4Qi3hQ\oCc6sVoF9Xn0GYP1lCHI$]ea> -S-ZPtM1XW&>Wp?R&0\,+lN_$?J@&tigTJ@*"/--4)u);!X$7; -3!01>D>R'CPke+35-68"YX'i)d:_iZ>`1<+JNiCLV065uh -H"k(p*KE79f1:]sMsn1A',F_6`e`.#]Ybj$RUQn\KT-U)?:Nk!KI2SN#/-0(P-T.+`O&WS_=*']R]kk@)(ISSU,LfJ1&k:Nus4/ -WX=9UNtTbcJJfrqqR]Yl#i&Z5@%2s.:9V/^K%MIsVrTJin&PKk)0.nOGTW40C[2jE -])`TUGYedkGC]$U@Zg-i.ep3j!3fRd+W+)?Iq.INQ`NF<>G3%]pdk9_>> -VuHc756[$ee*is6>&6iC\UZ@3ai+4Qh5>JL,(nB3%`F\g%UJJuDl?rcq?]T4$m>0F -1=:(b2\U;I'gYRr5u&*O*Y[Kb!PpB"+=7XBaoaoM#p;P@!,Md)!&bPs`BiG7HnlTL -6=Fi3A3M"GL;`'`8NJN][PkYt_3*f!=^;Q1AAFZ,peWDi)))PpcB=fU'=(!>'M_-aHKXHjeW -Nm2:F>3tt;#+"90C'a5h9. -pTOhfaTaM!TlfPC6ujpebG:8/+DZK*MF[h[Gd8"k&qfF3c``T55#;pc"%#h+2$HBEZqV'";7'mV7CDMZMAHP-YZ*(\ -i@)i>K4Koj?QG9&nc5:0fDp>l^]FBgT:c5^;kJ,&n8a&W.;o\.5iE>2"N)(R'ac,r ->TcoYFX(DL2Dk^>=g.2c*/5WHPgbP!5dJ`H73F'WRXdu-1#+Q:`A>`EH,Sr1r -HWh9H(r0^?in0h)IUDkF6[[ioYZ6#R3*%:@@tB@a(ZJRTomP_"7LOc[3Q?8qj>lp' -(1p^(0kK#V/X<)F3^jtb#/RNY*!ZMYUT*N^VOSR>)EtX,CRSSCY\UiaFu+P8Q2@bA%>$!V(aW8iGh6kk=U7g'q(,%hZ@nY4>O\Vn>F --6e8?+D03o_*/`tCc$%ONoIm"Fr^fSG>9jb,>V>pot6*[fQ*]5Z5Rdg85\./!D?T6 -FFheoi!LZYTu`5-2XE1+hGB@\#m(B_+EuPja3T(GVm!<$)Zs%_Ku++k'ab$C:+m-N -q"W-uA_8,2(lg\dA!qjUQ=U)o<5N,^?u^j&!elGr"6*9C!hf*$JUh/9!5p8fn6uo7 -Ze9pA4paBN.0O%['8"JVehll3#6DG4KAbFu",BDW60#[u&;9p%a"[cAF;JW1W#PmN -C_$Ps3_:J36@mMiMae'7L^B;iJ2,o'7_li/_Lr;S!:C+[W(dGH/f2?kV\NWnA\j5qlh?_,qu'0SBhjLbK&_8i4Q0.3#(_aFfM;*/!K8%qP9I#7Wj48U3lR -V)3+TZ=*Pe5]kp1"&`j[E;MdV^1r5(Ws7M#)TND2$t1EC#BE-K[.L6u_>l1n_)N0_ -d'sD!fSBW]*=3+Ig7)OYj[SORGQ8oFX[aen!<["JJ>&S3L*>Ci,+T7$:bj="(`j5S -oFM8Cnd%UuFTb"Y49f3!Dh:r0#U$c%_dIU=jW#+I%!dOd:f%_?&4-d+HnU9%p`BVJ -(D#L"56o!t*lD)p%7*UK46J.,)oue-<2<8eYkq'uLd\*Mq2Vb+3"MSt:jEb^5)FT1 -/8=U>Vub>?"[Jq!_BZjLC]ktC:u3.DE1!PTAuQ#Cl5aRM;KSSqp&dcJ^-Q;7#S&++ -2sQ87_WY54JX3\Ig=R.1BMEJh&1P)m[-L("64SSi6\p%h-Nltr&ItTjeX";CRs8!D -Ts-E\>8S`(E2XK1S4-RB&fW?dEic[7`c*2eDT(Y6Bcj)1r(9EOF.ao -Lf"Wt`(118+&E*JN"EBr3ehD"@I6G/#O_X93DbUf6:GI'@<=<\\g/*IQreN@5.:]! -fG=W7XU_`G]a/U:G=5H*]&AZEYf;@8ANZs*(S::lMq<8Y;b`NrIM'`LEIAuMA:oWB -8`&4tHR!7)#QVLZ"L(u@<4Gp9k)i@B@,;1,E+oEjTJ1qY_A3-E=UBU\-A153%tT6O -"ot/(!cUI2!>$1P7Ei:$ZJg^7IP8[-_\Zf&BoMSj1<16`*92EhO)a;Ha*@n3A1W:n -nhrqY)&"<,I$^":Al$P%7jd=[Tp7?G63Db:.O^&8#914g2(I-_A]Lfe*Q*s?N\ORf",J03!8n_OpFm&!C%p/h`;JpQ?**_- -[FZ>1!3GR+XYoT($\4m%6a6nI^mM8B7Vm$o@DSAP\mldH#^Hl`%Q;3B'\\dO*O1\dJ2$*69!*,OOo0A,TV)AGI00\XU^FtrPR*H^@iI[I0u]8426PWbamPkNn=ZS0ID!;"d`&^og:-;\n(ck -c$)rDh3k0sAKE.E0AosZoKIse]cWufkVgoDVlsj`_Yi<+sYDO47X0?m.!\uL^FRLW&6FGc?/cDoipHpms\[@AA]14^@ -(mJ36CfQLJkrdumX2YUBht_YMj%976?u]U,W]@9Yj!\@H!Y?K+$fD)$Z\%2]W2Mm3 -Lc?B3\,p,p!Y?EH3`/%EgH_c:,a3`\!##G'3e7Ps\^4+V=9XFUbD3ElLHkqH5[T&/ -?NdSEKW$p4:cX-c(4t0_!I,bQ]H+ep*kfK6)WET7n/BFT]/cnoHXIrW^HtU`&pB)JYaSP -:]]8_ThI\%Udr@d%#qb:*p=`N+=.-:&-L!V!0C>N!-Q0EX[R;S'd.mZ8-0#eCk+ce -N6l*haU*YliWR=2KYTeQ!'Z\30gfu3JbU7:MFaTq+$E!`JUrjuckSZN'7rIoJi\sF -:e-1X7g*#;^/-s3^bp_caf74="bHFj(ml)@@Ch(8ab3J]b6-jYe?2EE -kf/Dp]Qb'W&_]f!*P`4/*KfK93n>4cOWe7qSWUMd*0u:p^<0p;K6lK>,JYrh8]9sd -bXB?9MGY[O'W#I_Sb+3Q&f&Va_nq(>]faMiM3EK)cA5j:!6>Sn"OTpO.nqfLbsNpS -9[h6cf$.aWc!8oGFP0BAg!-nXc,A=1eD&7'gs+p;c1Kr=m,?4mi_C&j!N6A,YV1N_ -08)RpKLeu@85]Vi",3[`!%;=]J-(IUBn.=?L8Y.XY\F.\C'IcAL0.ja1&_/<=ThP- -"B[C/ipd$t*s&kb---c$J__-P'[Q.FR8![N5TBeq)hMH2Jl"-%-nhKC5mt=)JpM">BJ>+L -%"tn]#$\,f>&4V*L5]5_#J^"%X&W4U-U*$AC`X -!*EkoK:,^YRCT8,!+9=L3)IK-5=R/R'6c@]=p-P`%HoI^L?"<_6P'nd2?AR)2#a+JX82)(`^=/)PiCo#To`Zl5N<`)3p'rZ&_#25p78% -8$/#k'nTS!#YTQR_pPb0'[/C"U/e%((1YpaK@lWpSsmSm -lfPo@32kauXKAnqg\\_[1Hu2\59n040Gcr>N`co15@>PIF8.t] -40-:'a-+n("H/X/]=Yq]RqO(K3TNG1"Me7HS6Q=bO<)-5S(\Tk,`pl7YW]rZ:4U,T -"lKW>g2I8D=h1(k#B4AWBP<*u$\bNOJG;_=L_BlE.O(.q>t(8h9uE$6+X(#d+USh* -N5qBG58qHeUnIc7'qe6".1K0H&uZfQBG#l&=+odMed-/D5]4PCI/jP$#N,Rej+am? -;q*LI&X[`rW!%jW3g6L4QHd']9@KHn#3^/Z -.!4#X=I"m0LZ)Cmbm=Uljp%h2"pe60QrSg]#*SIG-[7qTW&oVc'*BX4JP[fQ+DfDKE?GJK:k5WQqYPBD?P'["2HW3813C[KGfR^*V-Q=jIh/'DM3+V -"9:Gl'WH^!#9tLA8(+W^jF9]'JLqJTaYC\(7"hL`+NS;rWg]rf]S_b\MlQEDSYAhD -&0RQP,Z3bQS6.+-\0K**6KC/:!k:4lO@OtK=6-`UWcRCGXIG`MEJ,B/K[rtR##WN> -4A)T=8i_P@c7/mE,m0Uj0).ioJ2=q9\NYtRb1XC!oWSIWYtH8!^5\#j_3%j2:h1O8 -/T<,/3$uBSRfXuak(8]sMW_]=3%^Lg8US:*J2aT-R2lm+?lf>]('*MDr/\->b\=#L -/BK&8h2Q#ck:*5U8W+GuPNT2tR660(-kCk/]*MB`kQK>Z2M'.+K$HQ4kU(sr2MC:+ -L$3]6BSM9*NechaMWgpqkamas[Z+t?NTfkgJNsVE807i1*s/)AJtOrNJ2IGu#(u\C -!*DjI&-W4S;h.D<"^hH:BN5$t<_]o4s(+=bf]YeJg@\M-79C -GngS>-lD0Kp"LppOfL?HL=C0WpLS+X&TR21pH^0G.?G6jR7HFa3 ->"(tJ!:W7*L_ZRb(]iruiWMk"cm&R)+qiNWi/fbuhV)!1B3,b7i<;&(29Jk=9s@/@ -kD''#)++j0-imEt,M4jb84*mnle -WagVWJ2keKKXUaHR58WH2$^&[LTP\tS#HNm%KoW2"&r-KYS[g?(P.Sj8h-:j8]UBL -,4[Z;K#fI6;thdmr5Uomg``bh&WdgNTbt&?&&JnKJ_;&'-U2cCb^#\Er5)R+bj=[h -jBB)F3Q^l#/946>K$hX"KRQK![=QI80@\6L[WpRrSNV[uR_.8C#=4h"U0#Op(VQV. -%Aa.s7Y@9e.Fp3UP^-H^#?scc0@Z*;bO.Rcn0jLj>7&Q@dE],R/!trkZ_OXp,\\N@(5aiGW+(<'MK/k>8-X]Q,0Oi#*Cst(\ -DS9N0*FX^O",A:>J7*,G\-`DD6NHmJiP6o7-U)_poekCqB0n=!"NS`C[I_7,dU<+L -OT=3if-:el>W(CJ=Oe$l)n6LO"65:Bpg*rN?3\L:^!'kE*n-?dL -&MRlViP6odb$]eHEqUlAG9ujua$91n9g,D9q+$Nl=(4QhW8I%l,:3Ths-`[S7,TO- -7)Jj5#'`)d32du_!kNXZfMGKOJd(1Y&X[`ZTR2ro=GM\5LQ@5qi+.@OA5fWHKZ.QR -a>>qk0`pk:>YldZ+\DeXN['F66Co=S1Vph'Mcc%K!K--qGZ"\^;1tT6KUdlCk,dWm&_0K.5%#0Bo'G:WSKL+Qn -BOiG/$\q,Z&NG/=,o2A,j&)3)@QbZka(,fC'UCp?J]\1,BgCTo2B<8t"0%7#EAni[ -L=<\$%S\41ctF+Rr>()VOhh5Gd:faZ-khE: -Zra@fHW@N-DmeA;f.2R#m<-'I03%6MoT@K)*E@L --'l\bo3%UG@m-=-kB%V*(7.CddV:VmSS#'2Wn;*13rPArBt)d`G2'.=msVn-D`Cu# -*s[YCj)TCW^.#3M)\*'>U%$-R?5FE@!ecaK7)jK+-DB8sS`fJBImVN#/q8BV -r&G9TYfoNDT0NGLA:^UL1^t*#:eihSiE3**"p-Jt)@"&@C+f`7i91c5A,nkZ&A[fC -7Y?A&"qQe?=A1Q/@;)AYL*?nN)$c;8=Hq![Quf:KL.E.li>>m<;8fB[l2[ERJ-:*8 -?qI4q!ej2G%hI\39JD>?\9o*JTpT:+L0BsQX+n4,PHBbSki&`3)\0ilNOpUjZ],np -]rm5ZLnZ)2!T8,ATOF:X('S,C(2\!ZSb!0u=,W.9*[d`GqH%kp(Fbip;nRfid$uG>]3)\PN<>fs -5CEXSeZ]KID]C;!i[68o-__^M[gF>:ou.=A2uFKM!(mP`-*2_a:fII*G]07cl4K2D -jr]sS#GC]=_,e\t6d-DY:i&;2d-CqS'HmepN$#o5Es^CT1'Q%,\-,('$fJO:L/;DC -^4?.6*M?^FTeIfR!/0:Hg09-3:*Mi'LCp,62BY<5=c38*/-g+s*Qd)`1R/sOp -C_V2TJ.a`XfGG8fF;+o"Nu?q.BSd>(2+H6I)p&sIJ>D*DP=Qu2!SK(0ml5nh+pO@o -!@X#Ec9](ZA.?Y=b`@ml1ooj\%"YW;#(\0<"G!uh!n_Gp6+fo]+cHMX.h*O%g]3CT -p&G?O)/$k'NA5$5`0j#M -j-%HI:0q1O-'BljbdiopB#N;j;d+'5P(tm9ZZDX%l9.j5[l:3QkFGO$6PCg/9kKWB -SMMlgbQ*a0!tZgg!UL>PW59m8p^\2$O95tM]$A?tU`SQp!Y2(K.tF:p&`@Iq8YFoS -JP]/J+N,5HZ?!0\gq=h&iE]5^lT3+?%s#rt(Xg>X8r7dN$__Ml#Z1jN"`URYU1?q( -JE@i(PMcb2]t0HD=\M/)8T^Yt)@-\?,&2X_&Af,:#!g2h63nqAi0n#*0Rs]8qqqdb ->Xm:A?!5*:L_1?F/jD+a;sMj;"R[*c2Gl.S`425=6.ujZJ>>m?e@u3<^;<-s=UMu^ -KQ$/GqZJUQ'`t%?%&&nD=^$=qT29bCE,7^(d/"gdi/J>#0Mi)G4tNg$S@)+p+&+GL -&V;]>$NXWm52.t:KO),#p?fj(X'QBh9F&'MTG6/soEndS88TN?6e*=_+@HK\I;Yu9 -5H!ON!Veh`_3V*WX1T]r"<.jpN%p&87MFUn5]36pijX/6@_n=hZ1^Z/L>+4S_iu%F -:j11j_#&WK*MaANK%(/O4+Z4"[)Mp)33`^Q-Sj&;5&Nb15j=Q^`8N.$`Vr]S=?%j>Ig -K9>^O8BBI3-=jc[P-Tg:auM[8AR)4"nt'",fkW-M]Y0YP&0h8WO;e4.DA#4-8d`@) -.ttba(Ja1($fFE,"J@(S_6=XYi/e=u:d>3##TEjGEuC9<%A?E4s$0*h$m8q-)?dhf -'&r6^MkR-O`i/>+6bY**V5l&cfZO;j/5?5>1`HHTC(0$j15915)$;9845c2\Lk%T2 -`8DLH@[%6-;,d]f:p0qP]Mno?:*kGCPn8Ir6&/i;*CG&t%GIm>"u&jjG-GEaJ=nV$ -D-=2tTS*F,$qZ#T-7Do4_A2)&#Rf%S!lg&X!2GgLl.0ahLL:3)K+%tn0erq9aFaT3 -#YP2\.OnUM])gpT@0#8>b_Aa9)@JZ?N:7T=L2[P=Zij`o!%'5I@%Z@D">Bmr^(5dF -4EshN@B<:%(+?X8i`k0+C#h?B#;?<$_d5!SPT1k!W)a'F;\NT"Mp_%"]TRgg0_/W> -#XbP_!oeQ_%mU7\&K2Q0b?(d=Ok[U[BYkD_A4rsGiu%pN7KoJ!Ui^=rY9\o]#9^f% -"E7NVK=E!5_OLpiEMNX?OP^&UI!,KUfKMP3q&_j-I1NOb50)R_++r&EO&=[67r[Vl -K:Hb._6PhHBZebTlqmd,6m2Q_K+,PW19Y)Y&URV@"p!cj[9OVF_6?T,6&4;a+R&+X -li+1j:9)i[amo?^P74.:!*_.^#f;*]F4bZS4i[9SSBs$Qn_MLo>9FYE/$]OKBIpn7 -k5=#PR/8_UQemgr;JTedra4"2r&U/@6VJ<4/V3s+qN;0.Zj4H_RV.([LOa-BgArKL -V?0k]n/Nar%X3cRmEd9_9JCeUZFu%'HcNpL:PoPFH5:A"^n53 -Vt:@0q"RY]J4Kql$KQa\V*JF?-mjP=We0Om"V5_sm0 -#YQ@[$)Y9AVcNQ81;B_^%FD*]O*$/uJ;?lp!jK].W^73264SQ]![2=D_R3%b&2uJj'EI@L"$/"lOpmTVMa!TT\6?%%p9&JC"FlbRF%#*`&*_^o@Q'W!P^m#r0F* -!."hSFp9-j)fc4F`,I"/V\,o!)T$*j#nA>&]-*7\mA\eE$/U?nE$peqNW=Y7i-ua) -TbsHA'k$[lTdgg#-5HW.!TA>@^`F<>Af'EB![2CF5s>l'3Y;AQ"CU71:LFHK2Bj?0 -V2,n*^fm1BZ3RS/#cC3%lU2>9A/6=t'OaBD8o,&o8ds%c$QuO&VVDLYY]7_)L4Kjd -X*,*?H4p`^)Q_n&XX_o!MVP7*L:EmQF23V?C3UC! -oFi_L%]]HEWs#[7N>i+A#Ujp(LgCHBL;*`L_)"%\/+=%(bqX"&&A^=>@5fZ%@l0l; -[>,s'+HQleNj_SoIAf'5$b\2$C(2^10IqgdbLd+T=">bt&>90)bG5XKi,qZF.;&J] -bHe`q]"@:F%njpTVec[_dNF'N"_R*nC -%MPlr2?8bk-rW3*K0M*(,#e1Xl:>"WD&`OrjT'N2!+#oX`X!l*#XEiR!-E008=1): -=2j>@EYfXn&1/gj-H]eJW:a! -X\1LO96@F3PdO/k_+XF>9@V'W1s8R7btU%B9m!fG^bQ#M;?Hnu#(S6/TQUCPGR)#6 -#N118TS*RN.iD=O"X#E$5X#8OZ3((f3UIA/2&aid'L.+'#66@]!6bLPbS#FI&qP!& -@;m,m$6!@.!$U.[YisRG7+@2ieH")/m@FmI4qPO_"$nCNc$C/`,Sm)4!MPAgXu,-h -VI3i(!J-aXTH=tI@MTE.(X?J.U!/\_oR]!>GWe&e\S/&j\JZ -!B(Tg>jQ4pi5$*0Tb7mO5S&D'"CU(kJ@]5UQD;`+UO\F0b@1VtXpr09%A_bmc7Bk+ -gC@h1<5I?.5SP,7Aerfg=WlZl1dbmHq[B9>Xp>U9OYE(DMc4+]:$n'p<&6]ERnH]ZF$W$X!Vo8i&n@^43 -qT';#DmK7R-Mt#tq*r/L5d`%Zc>)grElS1W._;-@>-(6aH"PlSk<]O-$:a^V`F!-Pu"fJa1B'+I'_J??8rs)SIL;`lX -\dGKf2;jMpn::c4@XmSCJ7o;pkS.s^GB6AWC?Y*l#VQIA/p9b,#r&CdB5@nDG8@/^8dqWZr)%H'\be6Nc]RKn@N -YW.]"\6G'*&Wl!B6J'1D#nE"m,t&UaOP('\!.psGTP6[,%_tIBJJ&'9&/2i3';]%c -TI^d#63=th?pQ%KO]b-d5R?:Q#e7kZ3@JE8$jNGJ-J4Uh31ZD[4N#$Y6eN3?q21_` -.jEta,?Z@]1^")k:QQF?@c5ZF+@6S>!!D0ZNZ#p^P$Y"Q7-(^f1ZGoEc-/ -DOHq<;MK4)Y\rtG2uo"h1I)FjfFiaM(4g-6Ti`%\1p9j3&)dEtbPHsOrXZZ$\FY4W)Lr7EY;i3V3:i:Bo9OIHRlTfE%#_b19>D/j`4UW>3pOEa -k,ek,2@)"'VPdk"i:!QdrraJ3Vl0G$]"WQMH`2JlW;;UWiB"A>07u;jq_Rc5\W*oj -g6*RmSTGY3AloAHD@0-l$ALADUOCsY$nhELP0R5K9#+*ZAa.l%qQ3Df% -$NO'3^siL;duNAa&qDeOFpg.P!0a*3&\p::YgkA:j.ZX_ -h+8ik"9:1[+@6/Q7DOF@^cVN[A,Ijb+2T9(_;``Ei%,*5a9!L,&g/#(+_h#YC)T>C -)HB:,[T19.D,h$7e?)Kr2.-utMA5,J)$.#D+gG:gaH^GKMh13p60sM\joAiQ>p84$ -J^bXS&0&mN)D=>n+dhmZHl9(4)h8J=J^+7hcc@9m%GZ7NaqPp_!Zt8!Bc(p1"@'tn ->T,n=!^U>+JL1m-64VDmm_F\e1iNhq:(*3@%.VsYR5JI,bR0h[#r]P[8]Y!j,)E6^ -A"\bg!)srjc'rjZPehRW7k=14\(p5#\e#a -0\."oHpXV]lRoa!I;C"NEZCcR!eF=75i%UQ#s]M%SI/$p7SHoL:^I-/".)DQjKK]nW##_gJ+skZK*2>A_mBO*u6+DbrHC+M*&`MQ(eeKBLJY#K-s^&.0gU -FRYWI#8IGF#6q+8JJ\lJM:VuoI"I/*Cq)pButSG9!_ZLc\$ -97$j;;2%Pm-bbZ)kgtP/iYMS=(?+fa+nKDJ9kco3!5ZP.!C;N+%J)dlo3sP$i_^VQ -3eCaboMH5JOVNbnk&>G5JodPEkB2\s'8lfX_l%b\-$Z5AQ'XplN*p`4i*Zes&dVlO -#X=#/7;Y=KGt48*#AQEL5*>[@2>SCSHC5WOoJ)L@Zfp;CqgYBfGr1h[n.RFq(>p;N -_5mY\XHfKjh$q;HBGdpp/((/#jpea_\;DT1aVuuko3h/qt(AS]Nfj0kA -A^l!qdYg,S;WlR+'jcl0V-IOH$O(hc#(e@jb/5Ba`Z.#_OGH#%Q]Zfk:+$a5"Tk9@'T,:;RuPOS_I57V3uq)+;NU/cZ5I$R6L3ShftK?frWo-Z -/JO(3,11&0dHK(p1lF$f[Ohk^5di>(_XkK&P!k-N'cE#i[hL -/.3!Xdf#5&TbQDsYm?=(3UVfuklh)a<"t055`dd\__DKb&;1>i5S#*Tn2Lm;H]B]a -cD("K0L>3N1(95C'aBgSf^^bU@h>4ZM8B>>(b\PG=S<&R>fugQmu\7r^@08;rf&TK -ZN3=O6k9F5"Gn6l602Sp:(C5+C*X"*,m^EW9:D29;)DbJ7aZ=#,=k^SI4Ile_2rOO -L8s0^-3]!'X;$PDkY<`=JM>)#KVLN4'FNhj=sJe1G\i@oPXQ0WUe3CiTrP&;*ZS9_ -&q$HQ(.EF>,XN>Q+U[0nW\oH^;%='I`BYnO)$"B2C&pelU]hY`J.uZ5^j16#!sH^3 -&<<#pXsJdR9!TKr@>%quKL#l&IfidA1(==f((#QM\4.!_@+]')L>dB#,D]fRIOg7a -fVU<]@lWU*O(3G64-3uu(/'bMq'Jt&AN=@(QXsF=OJQ>;q$q4;YsB3E5uT4b_> -H(emI*eU2#qDOP3l$>geV.mMqT;cPYVPC0VHFC/]CO3_,X_ZYQ^ThT:-Gd$)HToW[ -D0o=]%W@k&3Pocd`u3#%*2d`[G94O+mFur8YH-FST"hD^*hX,1DZJqiNWtliJ0n?\ -^r[ug"9[#t&ra_Q7Q6A/#jsq[j7rH^%tiM"4GT9g*.\rG%7$.7"s?SV!rs\ViHu;m -d(B\ei*$:-?n)5NU_A;e9F1^+,6S(rXU)4c#/JG$'bG*i_2()W^q:ip&6KU`&17l1 -:^r79N;1H'!?U:^!0:7TD'WQ*<(M,u>WtE6e@!\/5k*jC4+!&iJMOh]2\2F?6,I -+=$sM!5kBU%IpY)#/J%V6NBXXd2j,*5[F\G`.sUKf,:C6BT2J7]?0YV%7,M##Jd8Z -KRcT*_PeRaYNS0-5XHn(BH\7g0FnT.RKhlP(`@r#&W>%?$cQMD#D-bU"/,E)6',1Q -TVrbR+AuPIC!)Y?`bLten6QC!2@7iS_hM"W*Q,HJ%)Gtc"?Fg>k>;9c@,?*&TRIN* -:e;"XeKZ@/aI,D#$4ITh,nYZ>H4/X^0-IodK/+W;Ja+]j_-2TuH6=3kOBjj0E$H0L -@7D'P)`DeIN@9B52TUt>+op]p'nR-S_DkC"!C75"KFerY75G@G:7DA)EAhLseWY#s -T%!72Y=PocUkD@7<(2a8C'?ebPqJt6dPSZbO=Ne#:_aPgFq]pE?D<"&#)4VD4sqId -XHVpi"sCc";DN;Y'YGt#]&>k$,Rk.Qa*8a -"0)5.#!4E_P<9+KGOXp\]O;A@N=0jc70i7qrH\7$IYsG89-SUo#_HI`uJF&1j -$CP^H"gb3@L,F`/6l\X7',?.q!Y1@T!/H[2!$gENJ-#N?*lL>ci!=[j+:()aW!XGp -A.4-Vj[BgPndpkb*jE^kT@h/res#E/+?"bd59"2YNA -#%cp0@2*K+fO#*G6B-7]]"^/!&;(OIR6$.$#JUC6G@=[?LGF-! -\W[HaCu#te]m_WRr>:2Zd8pD5G7MIA6\o.Z-%r4^'V^[e$6__a:md[a=u@bmr?7t) -^6:?>^IoGA>G)*M%1C93+]F&U&OKan%>g>`S08SoZdhoALpF]hJ;,#E5a]u4F`us$ -l4ku#KfoFK]nIJX@YC>j7,f?a#U'6l;Aa=Q#s=J>cj\s) -3EC([S>Afscu-0V$sO$R`%sUHl3N$;pCIBC%Z"O3#6\Fr"(FAYJ`-_P\^j7Y+J^N@ -TNDg6YsVQlh-DHkbtuKPlj"DMMH$)DPIXs^NF:tYK@8#j,J;OaG81+OjS.GF=f\1`) -RIcEMcM>4cC>rE#ukStjn`^L-;TLU6\\f@]tMC$n-n\bD]ahg;PX -msYe^pg3S,!H:pJ!2)Ubi(,C(i#EiXJ-QhlKE2Q2N8]Q`fXTu6HiO3<4TGc[*FK"n -$]l&TKK'VViD^9j;$$nh#dXP`b]SBEf"Q"pe@^OBD`ID$<`C"]/8#TN6c& -$&qag"ah&ni!KWjCkXiGJ?VlRp^<$o$j>;M"Ms^5X.Y,J5CiMn+:pL7)B&[-'nUFP -12%X.O;f?A&IQmi!^IP'0IhWM.Ki!I"?9\;J6`Cn!Jb'./ee4.)up6>_S5@(LKFV5 -=D*/'B8*8l"dhs`i(J^\&HgHQ!r5WD:pPZ\ZN7t16qaf'>7?LT-DuKd.@e\7L1uAVQ9ML6PM''MsNT#6m_'J>c\+3"?*O8-'8lK7FXq,m/ZH!T5C-WkYmGBdbHj`W4\M\ni_9D75=?V[@F&6X5Vd -+UBJ;1AZqY.-^jXQ@a?5&-4;6)##TQB2RljM/HX/;_R_<$=T`@LX#dI4ig?giHk1>3 -/MK#`6IdYqL95j#9T5g)U,A7(1r8*G#+u*RRH'&:"sOH_T!SD$?il*kDu`FJ"rIUM -&4V367KUK*9U)F!PhJg$fs"kC]#Yf47&1C8T2#*=&BruYEF5oJMM^u](&KhDN8BAr -f?.(IcA^K&PhSs'lV=J]Y\9X_P'8UKD969AcD9u*]]flg2hB="JS64"cmAjf&;-1a -K[=/D#\sE:C53o6#9r)]RN70okQe>l/$ -]8P=V%m]@kTHl(e1c@$TOXW/K^t&W+s+ADZ"*"!4>p^)(]//Y4&&:Ver@/5c;\+CG -"%%eW)V$\aP1'2T&NJ9oJMnn9$B^/_%Y,3k=PNr`pB7l`27.c_g3>;e?AmN`Jsd42 -fLup651BC?PI"qY5T[u=0<&>-%Ho]0fLH+$e:e&U2R#.s^`g/n%Q>deA+%h -0rl2tK,_GTF1_co"t0]\+B8E'<.jBC"6_.`paC],&HQPY!;I3-n.#HqiS$BQ^*TUZ -7A\^4VHSDG>)fE5SZ#_gWEQF*>.q%A[B<]XY1h^8>7If@*O"3LZ!0)k)JBZ^^^u'! -$\;\)J?U!pp]uKQ]S,ck!#TRebVh_UmY@_@#I&CP#^6Lj!='`KJ4NcEi!4nm,QP%o -K@gE]fNNej>6fBR#C4r,g[U(,A&ciAjOdTn`YgtEmbmEaU)2SS235eI-N -89mHkG6^qGLJW%RiT1:fj+eN3#8Q0P#QohciWfI%J3\$U-uK7I":!LoUW@/9!+u:6 -B//m_"],P[84rs08fuDCTNEj-P:"42Dcjjf!V:pEnd^7+on1Z_Km7S;0Q>A`nHYo: -*jdl/6gf^0":"p1J>cWS:_A@O2??W3!lu,Y\e]lC6_P6If%p^6e3oSCNPoe6haf'p ->FNorg]Nb7"G5H`D0H0''&b6=J?W%,J.RBa3e:BoK(p17paC]T-isqtJcH_q^`&F\ ->[X+?'V&O/b`^*.aT6W(!DjX8?ljo-14k$3KBP#ll$*<'21g'1K+K6.pa6/'2M0:6 -K;^R.W%nFq1'1i.!aqo,V&[O#]gmrWa-bQ#Wbi$CHjiDk-Mj25R4a'n1oA(\-j"WF -:aI[HbL0"1%q$`A/;U5I]h"fiW)S\RHAJMgMLmmIbES+/P/0^7?OPkEP74nMdVO`T -)D^&T!fG;T@`K&T//$S_3%BFjI2oUpSW61KY -9!#(nqR"E!R&b*fXFbHpNbW)j-`i!-/=a'iCpbe7k"BO"YiN=R+;cXZF%`m"WLSoY -8r<]:`CSj#",S3(GkXa4a:Ap-aO5o=<5pLlgb!?`@LcX=&iG:Y'*A](KRN1kSB]`/ -#i0kdSS3:aE$.Jd-SEJ/!8p8X -+C#.:!XCjdcgB7&Jfpcr$_H:&0tba8Qqm^l:DHtg(2+j-Z4Ug/Om-W4ZDA';,nMG) -51+V20Q+@8hP8J-G=Vd[%BUK47`&s#^sU+A%XqM.O?!ft9N5MIK9g7"_Tf"LL2=TJ -&E"e]r/=2"4Tp"*D$`#,==u+V>`I)WCt15"!7HR\A]S&;X5Fa*?kVk05,ZjqKWAY%YLcnh".t7Zb4p0b&NIWMhW$3YW?#S(S -E!qb\mc0N9jX0:FmV_3Nmc^c1AaZ3oKcnU$T?gX'ni(iY6Y -!=(#n>Wot0(iTHlE!D[2#,#IV0OogP",4feJ65AF:^;VT+b640"3:]Lcs$K0>DJRG -LRm$^VMKDnCNc,bgYp!Be*T?FBq-d"h3'&!+*)QCmct(]Emt0rC>T7eD9t:\"uofe -OBNj$:GO%YK2<0_8dL%.)1r$\K.0f_\.^gR'8$nk"#rjPfLU_S#R/tt#:FZ@#^YCM -gY^Y4^?BP:5]Ht[$3edKJH/8o\.aLn0EG9/!`0\b6$nE4VuaW!C+:q%I['Z*QYB5) -lmn?p&0:js*J+cu!D#4'cn0iG*.gmWa7pSS -eE>E'SSTWmW%,Op;JA]fl2iC8K%>4KoSc]I4f@AQ/9?]SpTZUH^F1XXAEGofWbs0W -4=:jc.=EkI5TpD@U8Up-JiLW!M)i\P`_/pL8:mii*cS&I8BA%N8B-'Kk"FdV(eGF6 -LsWc4/K?/Y[^U*ZAMTJH4H(_XI:m;\JqZfQ8rR>U^5LiPnE.T%Q),2I*\\-L5 -4.T/[1\p,6I6jT(kgV(N(6_7JNCH8j^ne&X&0;L9FP>(cZXs9lN^,C_fE?@[!,i+8 -$0^p\4ItChF0#Z5DLrgd@"T>))-A1Q#r@+!hFn]Jl$.MT-CKe1@kh*@L-HuEb%,P' -4LSlWS'0u9=mY6$CDe(N`nF:ojD['.%J>%,*,75bg$N9PrPjV8T\aR1]=mqDJ]$C8 -G[,,6+-jsFkp%,GL6kRlN,1t2^.2h@gZE[k[,IDq=@Y!#b@^hn^93r:!uWb2$ebLZ -J,K;\:UfNWqtn.`TIIr`!bH??&<>b#<[W^>E/5Nh!R&"A1TdlnN!>BM9H(f#>>cFG -!SDK6LPW5c*XAr0I2&ElgKkdVmd)/8`Y"^e)+LW@1tKTRi-uf'E_/,\mMLqMp4c`#D6;Wg8f^:g2_YCbs$8WNW15AdiV)6FlP>iMqU+"&A -O72n2ua6^t:N(@c[S;$)2*a6B&93&O_nK=X-CqoQZot`?FkY)?j*R$6TcL -fc*\LPkb2RN>3?;.gZ8BO#)PK=E'"Q,NW<*el0Bo0+QLac7RX7I1L+ -an!*B/7ts$lEE/LK2A]b$Gnc+,6m+bB*goOjP(6$4a1/__TeU/)[M".KI[3MT[FI3 -jIe>$(dN(oG^s%Oq8iA<9B^Ht-UCW5Ps\@j22:%nE#&N6BLE73@)t/6Hlj0Bnbh8t -dIM]m5M,Q+T7>\lrP+u`qL2eTnb`>n\,#t%YO2?T(]aWoquqUI)?N0K'`qcR#_C>T -#Jet8"Q5LZJhUL<6&7)s@,r8ZctX+XfL#o&'IAEoSe8i,9a[R^.tu?Y(dc;T$fRU1 -L61726^VX!iP[j6;"c#!pk96Q,XI6k%O4B/OV6R3iWES5%"[n7#!ieY!l3SB!>)OX -J8fiJJ1O;"0G5f_c*=%`Mp5%S^/+#;,GO,7m?O,7R&A[HQ0;:7CR5i!>d/85Mh*&.Vq -&f-(d$OT`n"pF._!oeT)JRLqq5d7$u?sP;aEBks"ke7*"oP8u>XBW_m^)nHtI*-.K -jenl<*P`51%:C#1L%l;t_MAX.&HE*Spg425GU.nQNY'$o5mMqi*?gb]Mp:5qU;k?7 -)bMmQ>)aLmoQ8ouctEnTLc5Qh^`=qSWm.15M81^Ia3"#b9a9ES0AF(.B<1srK2S`c/Q]Nd&J?:/\TOt5:83L8[),dMiF<&qp>R9:. -,1(p&g0:*F)`OT:]C -lG-"8TkH;k&D_lSAd(uHY5k`b'nYe&?`O2QfWQu)F=dS)-8tfMg#,qdYiVLp\8KWg -qgVn?\Kk]nooFf1c5T-2/[AeRRkm/;96s%B;>M(1dktPjX9*au4S;f1$cdY8u3,L@r5XTT0h>3*ZqYLcC4+2Bp+" -'bnOg#E/\T!lf34!@(ul!+Eh*`phLZ6Vq?E_3Q]=OLZ&JE);@`9Hlic/.Nh>(BonT -$pk_8db0+Cjm=q&FQ,^#-TM[1oKql'C)f)9:K.p`-UsPRS'r:j=)/g87N-q>*>$)l$&Z!`!eug3!$gK%a[>ha!$LG@ -!(:&Xd0pkC0OY;M+Q"KtP:;s(kSVP#T -B#N7IboIC,H4RKb6/]BhK5($igcnU;0r"d36L^HHg:Bb`!/jfWK -)F:04N*s(K75.%BU)4T#;!85gQu3/FZo!Ijcl3'HCCak34g'n_].d6_?G9]lfum\6 -_^PfV/7:[rGii,B0bl_t3,2C?D)Z&W:8:5:B)C"bO%Xm2qEn.qS5C2Xcc(@*@$loketa5mJm ->2A9KTpC7L-Z)S:N](LM`7]l@Ksaj -#9^$j@1iZn&/Uu\(P0F'iPI-SfU%6OSnBb[a"AIMZiL35(>pAPTd0_++qB,i%UcFh -:`)7rAjZZl1oFNfKKRc/<$NuFiW=-,J5utAbQOT[&-+m)iCjpp -%T)I$OREZuo+'.?%hSIGd/+@cq%-C&&9.d`OUi#N'+hDb&J5lm;&^+FbQD62"!BQ+ -J1q,!A-/E9#QQ7Y+J]'(V@A%s%=nccTaH_:.M;^s&cii1!'feP6pJ3PR1BUTE(8iTH@%-)@8[#;3$g]l6",, -)i6?iWAPX:4Hg(<+-E*4@Iu_amO]UE/A^6s6.R$k$lmVF*!qE?`tfWQ^]sMY=6RrXNBK%BKoI$Ms@g%'lpm_/*.O@*l2p -riCf#8\eTJ9IR7pNjOO1[-LUgCK@jD?FD3!\rJ*`WhR@gH3GYf"tl:E#%"@G^pqQ7 -AgDQA`1EtZU]p+q.[+VYY[fc[]/N3Ff?ee$d]5>/MS.9V]c^4dCYDU#i!ZUH$g[!b -/*m[TV(H6#;QcAo;m,9,EqlfI[;Ll;ll*_,+pAB%ZfIQ%,b>0\M`bS3"S:;0e(6b` -:H]h"8aJubTO>_);T3HU%P/M)jWXu20W^42A>$rHEt65:!"4]#$#Stj$l[3'MBS]8 -+sJ?XU+RZHL;QrI"Y2RAV<7@@5t!t86d+&u9V.KTFMBd,_aTg*i8QRSAD0I_<^[1!e:;L4[,,t$8N5/>9N9,/eE]mEktb#o -6_ddC@o,4nk>([B:h(E>5d1ClXq+o(%nASmTm-UsG6C4>+OQGn!otA$JeHus'#<]6 -5i`<':('=E"e^WEK4dm<&p.J?>V>hF](!@PZJL78UA_=)EQJ"'/k@ -(?)&@=-\\?N5#2/j?hAI#YN&i+V#(B$l)d>&Tt--m[-%)Rl$2_C>qZ>i*%uA"ppKd -9;(YEjj[RI3l`cC\c>j6%n%(riY,`W'1"0M5p?pB+S7q)B+'=UL0b@u!pW5,AL/6- -,cVAe>ZXPGa#3u/YBgfa[M-(1?@a`m!@h%,3Y3Go'YrE:TjS6O?5N[2(ZD.qTqWNW -FrXr#"p).LTL]oN>QZ-Q'-KOR!=T26$4^I<%RA_Vi7\]ln.1R*nqGq,1e0ppnFLO6 -k[=O%O$mC6hINf`,ig]eC9^),&F:Pg:;JUsi@Y]g')1>Vkc]m=X&eKD*YH4/@W.N@ -[OtM;-5&Tj?T'-GFt=9J]G+d`('.eV5r'*3UFhP,2$P0nAQYp3N&SnN,q>Y,90Q\d -krq"g\$S:d2^LkY.^P'_/hFIfO:9T:4^5js?)uREZUJRE;f`W/"Qf/AlTHjri,9'D --D5HHi.!+!apWbP;iKiViT^D/lIs)DPS+c7n[':o$66mT!F_Q9!$E'9+p1+R%,a_d -^jH=DGXg4[,6M+m%J\hD:Jb+,,@IGR+J]L_64SQ#"!K<#TkkXhe/k7a*jmP]_:el4 -g)$Cj(Vq!jJK,(`+q.k@!aq/pi%>3G*J%'2&bm;rGTD@&++dT>Js[^5fI):G.t\Zt -K313f3'W%_6%dfWKU>8_fL:K298,?#Lrc(g^bCX20EaXG!l/+Ji$\m3^&fFm%H&9; -!7h2/edUd?$c!qofP`.1/d:/gHiQVMn*d]X;M#1E!;o(=Yp -$$t`3\r$oCT-Upq`uOaY&]BN*ltmXrrV/ZFO0kMV`$H[6Km$ -aRgt(<%nN.::GEuZ`BcM!_%+<)_2;?EYF>J;pBD&-'JEF$"-jA+Nai&`Xguk&"t0L -@3?75`CIaQ8RYR3?n`6[('B+%%ff-1i5>f7_?ka7^Lfsl6nPNF,CGs3ZAjT"UtX]& -1.3tMqZU%qUKs*,C-p0HP*/n0W]'qT:UJkX[(@Wi]-k#@@O#B_2>#idPlV,9+gr>6 -[H"Qg5dU[pZ4G[Q'L42`+asININ*eI)jMq6nZXQQep(VT'0n5b!:Bt4l3kC$$\40> -TSZ@%EX(]37rB*D5_6T9R9?27`:jkQ>C3e_iASV6hQ'7K=[ffhimr79SRrmFAC%r- -C(GuuDuh_)q/QifUpp(:D?a#O>p&mHZ:!=QGtB.(T?!TO#DG!41-`@EX,+9&d!6L:1>.8c>+U&-\r* -;C.uLDbq(B^gICTJd((]#bYE.@$ChfO9r^)$%SHJJg%8P^^1!s"i;_C#>VE024\[P -8e:CIb+rI?8@EgJTW9s'SXTJ8V5qd^!1.54U5Rk.GQm#K#[gmC+N=Q"`DOIX"F09r -_;#$!g)Ig;)kic&@@@lQ///*B"@1il%G'!-q0U`/#6e'oRj$C6A9U;=.Y.('e9Ddo -PN%.u"+Ddb_;##6g_^#"(]bf]JL-+[d0j?N"s>N&=B4W'=mB*jlCOd9^8L8QZg/[A -lMeE]?G5Zr^[,:Em%2&[hT,!^bO$A&l\M&5J1q)8?3B+Z!oQfXTI^;_L]W*a$,@ko -n?rXROog0!mm)`ti+rP30Eh0<"$f$P!($%':'I:C"i/ZE+]naG=m,nAP_h17rdD?P -jW*bJGerAkJ`QuYgDjQ`NW2;)T0r;o?hRi35/H.WJ`*.dX;?C6(P,<`+\WOl3YMN2 -"?c)TT^iL6<"'Cn,s,*Q>P7,7J2UDI#*eu@?`pqmgEcH5qE&tebVc#6dQ22nXG[Dm -lR'Fp?GEOn18[7Fb0gZOFS.nr+@)#t"Id#>cUB+GQtl7k+ol41R852__7\Q@178Q) -\8cc)>qe[jEDn]!fP<@7:'V%BPcRk7Obff1gmi(-((C7Z*9`+)iGaiA(lSY5Z%0o)0q/Sd'Zl`P>;;P)WWQGp!l.[<(p&I:\U)Xg -.haM#!X."b._,ojK"78WQ7o8fn!+6^k%$-\i5PIB/dCooW!t*+_3R/+NQG]$GoW\g -/XacDo,5d'G:kbm%E?:g^u%qeSEVQVbl5@?Z-[;FHS),PD7SBgpD_B.>,ta@bCq_1 -;"@@V-BhmN,5HW)@5+)nV(3,XIQsol,pP_cJ=C@,(/$J/3Rc?!oc/CBUL--t8gP*m -U4GS$kUW&q.MWk2R/[BtbH`2ql:\?'^d5Q%X$=g+W26K8fQrYeUMMRV%PNI#-G/7? -4;u,MaGdY'LZCAHK6oVU@R]*5td*% -1dRj\*f,Cf7hESbRn+J_E\L=k^IalkhTN&!^>DU>oYiLCU(CQP$:.de0a,Aog(FjI -\3`7g+Sc"%"9[TG&Iq0)82L^j:qA([6AUR@#dRi[S4HR!+#;8#,pu5]Pa*am;Y8Kk -:/a":2c!>W<2e=P%9$)neEo=uS;,R2?IDiZUKLc$22ZHX1pRc_)70"tB[YHHF`Cjp -oj^N3faTH9:t-8'5A43.NLsog[\^0AgGH$ueYa->Me%RmgKeW!f%%rc>k_0C)_p?N -;CW0-#j+^27%%cqQDV/'CEFZ*npc/prW@`0==+Q2@5o_8FT@1gGR'RGJ2Bb*@3EuK -K`\3-(C2rX50c\n=ETc3R4s#ZX9&5d&&]Y+6OAMs`HdPNG>;qDB)1"ocrHdr8=g'N -?uooB3TcCCD"3nV0^X`578[ -/;jSIUbJS@=J:l_5r_OOBOZ/Z\0+-edPMC8=O]2O_V>PEXq'e\n;2b.J;K3s\C*6( -k_QgT$6i$(,]dEfjs7'\@'D/=m\%QZNPg;_1_E/)`)7E2l$d3#k#&-#RYL<>D]HSJ -b]a/EEU3uQViVgASKM(^Dh/,gW!=5Q0Kje%<(OHggo>B$erIj0C9UrBn?Gq*Y?&d0"=Gn2>?%ABj]&?s5QK'SI) -k?'.D-Tm)U+CYf@+H?[,jEgurEXkoV2`NM@:kLQh%4!2X61EsmN_iGT/T_bkOCl^f -_']J,fd\8B(p@+@l"PrBV\:l\&POXU,iIpQ,k-OaJh'u]%;?[m<.)gho-A"(Po(Jd -Z"$R);YL2cJbK;aD)_?`C-nGF?D!.%CKe1uV``Y:^8:^=eK -*Wo5F%)I`O"p\u'+6-OTJ\i'gJI*2RL9qQRW'puC&XF][<`J-W.u:"CYn[DOB+S0& -Odft-.=r'!#!9j2#93h:"Uu&7"be(>"@9sK!q:Tc -6'AlO7^3+aBWu4&$KHod*Gbm%<"q]ia^1]0=ofdW2#p1r*hWX^bF*9$Vf;YVTEKFr -TF'PO&?lf8EhuUV%f5[dX"ndBk8roFN0YG.Uc$8[5Fird[a<_G>;l6 -5H!$9T%#fP;(<;LW>-JN<,.h!C2HVCeOHK;3hKDePuaoM?EI4r\Q13Q>H@F?YZmJqa<(P8?kS'Q/kbC6/-=uC$\HOr$EM5nY/#Dn -coU>qCUbJh!/*%W&B$#J8>[D8"Efcu!'Z1j!$>_G!"\>IBkMjkS[PEF0L>70#KZH9 -A&reC6.S,J+RU;$#^TXioKPS@rNnrgi7be=EG\^q\aq.%/o^ht_rQ#l6/FUe -39;(Z-u9!q6bWRWNDUWjt%L& -FGlAm$AW\3)IGSnI2)4f.k+``1cV.3K&I2XU^dJa1mm8(TMl2+KSc62_ACBb%h!6u -m"=m2Q-S.b0?<^`XrqQ;_K1/:#HAIP@(6m)fM`,C8]QNt%,:qN66QBA%0d)Er(lR. -3(73j(NuBENB._B7B#el5j++=0hs1hj+>50:dL+*i0_*-U@4_Y-MPof80!6nD@aR/4U&Y5,m)GT -'7jOb9hh](K]&4*!a&"tTc>8/!/M2;WS[qGrK@?&]VDs]N8tr!dP'8>A;$A*BCRD"S7Xi(AQ386`1!;2U')'[9ra&_Q@/'W@) -30bC#0&rhlG%SS9("Mg67P-A,qdUF9mBUBmIK"MOaBe:r+3@-U`&;pi;775HLCZ<4DZI*VY -#U'I""E9MEJ`q7k5g3&`i)DLei$'+mQjjO6hungcH@Ts\LVO(K^jU_mI>?/NLWFfB -+F>\jGmA9iLN%>8:ilpZ#R;2]!4ZbI^^u489n?\HKCBb2n1]ED0S1,WJeRK:@$_8" -'oB/aR?4m%Z]1HR.L^:/RfF93W#65A+9CM0305@BnL4Lu/%24W$\RGsE_;l)DRC&j -!`DXda7>29\Kb.L>Lg1+F -$&+;I"]Af`)o%%K14^nG_,))%E#O:`r?#.Q%cG>M_Bq2*r.:U^K$bJTWN)T'30<*c -JdEn:g/!98-4,npN*+@+`'QEQ!eG#/K/aKr0MhbZ:^5?O42TJPL]N9]EW@e5L9Lf8 -YZ$(N;j6-"]L)`RF$Vi8S0GgbQ,Bf49?mt@-_i,K"%Yf[kX.F^*-YWmYW5D"[tJrh%(W#l%:$\;KiX&OqsP_uMhMb'Y%aOH0ijGZY%NQD$X -aTRaJ'U$QHPK>)78Ml[RA$BSu?3E"Si6&paLVNlp`+k'`FT=T= -c\L;U92qrbA?*gp[EEs+V6m@[_V']HDZDb7L+igd0M;Dm8qSrsJaaKp&/^8HB?)QD -\Ob*p`,`aHa1WG:VL`-?8=UkqZnLr=]bGZaMYaZL1QU8n_uo>B"&Tu9aFb>8+CY,S -aVGm.OFjMD!qQmE][VQGdXo%W$A]P...*)J^Q;h?0k2"SJFs:(1GRQ#&P+3&F?#dF -dt;WJ[3KRK=KAd4Q&E7$'&+c?b:!\lTSaS\ME<>M!2^\I"p&t92^n\cfu,S[.CC9V -K4$S\7,/A`7mZCBJTL0@U-q0)35OY1ZJmJET]&YQrA2;e:\mDt*6pU7U(&nG:m#[] -CXGh0#>i#7MHhd@M>.r3`j)>g[(,?BfI&ufEfMihQRc3tgkHSW#qbFK4oN?G8c_#0%Ak#0,t -$_\u@\ePL\1E1!Y:0_'Xj)GBf/@R)H+;kNl*8*%LfKT*S2iDsjXTm.rcI9@;M+Ij_ -F,dj?)GnC8<#%[J,s9[2aim;q9NW2n:`>U7UUj#d0B!]hM4p@XbDnt5!VdZtP"3$e -%tUAqJcHYhn/m4;*eEeuJ`%T#W#`D0G=bXQ=WA34[R]\?e+[# -VMSNgn/DgHYgs7iekpO?XX&Kp('6`S]GtmDi!Y4r@t7rs#Clg[K':BEiMV"Z#O:N. -YQ0H_DLa]a"]u(b:d"gZ49D/j!g"[Y?mC6\(]i/uN4[(Q\m2QjIPR`DldHr;@/Ii_uMO$E2:Z)BfM$V[r`j -ffbS;p_94-'3TSWJN]D21Zhg'Q3h]%=bmaESXr8@QG$egToc@,E#&If)1behQc5SOPr'7qn]!@T)ln.C6@*.\A8JZ'5_BGCQ4236r>M6%[_ -a;CV6)*U%[MS'at>O2^&7[>KA3eQ^a-&@Ml,E'(C\"2E9&\=*831?hV#[fDcr@a!% -MLuc.OK$6^nC\!]B5L=+G0(rK'5>KGY/dV_*!Uq-28<\U$*[&AcAEE<:QQrnP4(jAWgD['kYL1jD6\57g6&VGIN]"R#^O[_\GS[:Ik -e--62GU*@s'8$'CK]igIfOBAE@U`_h#LEI+eg"Wr>?;Ho#Ija=\8_K[E1mk"Xq19k=N(jUP)J(/j6@ -;ro'"jYg+M7TJPn,A[S24%c -@o>2*[m$l1^,VKI;6Nf!#E#JYTod(+M'Z%bY##clkJ:u]K:P$O6s_LRl]XcEGiB2f -ps*%=Ylt\pM8l0GEm -K+EcZ1$Nfr;j"]F%AVC\KBnqs&lh+snWQoNjR.c`DO'6L/pM#_7Ac2O'h&IFF$jUD -b8HBd!N71DJ/JE5/V/-tK&@FHfIh_g/ctMWK'4\8E%1ok)1kgnJcHkn_38@3FDqF< -DuE?Q`Y]$,?1+TSmZ.M?@<5HjIhg/2%2=!T?OG:'Aq?8]fE?V%-tn/,"<"5>Tg,SJ@u:qP!-]D -&:>OWL9s7&rp&9=6$G>??BGT9`')bbP0Z2\U_f'DX23!+9?l(j*piH[lBKf+r*K8:$$c!s\O2!*Eb8?jR!E -5_.KPK!5l>W#7`ugC+[sU,J0r![1jr_KG#t:)1eMi"^h!b(9mI!?`bB-kHJ/4TOD& -KK'Bn3(*bf6j-$hKMQ@d5X9k85Qf@A"40"-a>a7R&-CK/>f[ciC-s=mRXq^2h5I@c -DdMX-MpNlRUgVU$+`A85>m=C8##K.:88V!"FU'T&#:a)9!,_d%D=O!& ->3Jt>QjeY03e6ud!k8kpYT*[?)nrJRYee3hU!&n(bPGm(!pntM-oV4+2Zp95"0aff -&39oT)2R2`"*cVQ(c-d=&VBL&!>r4q3$j.^('41L!KMc`hmn!tZN)GTFA[agl>=n,aV.5'lOQZ1-*_ -4$Y/oO=nKG&d#^6Lj!W4nYL/:JB=A"2?#_N*q!41uB -(_D55&S6u(jd5(XBB9&9jo0blreKb;Qg4R2li*gKI^e\CkO&9Cm=,B/rt"Su(\4T) -)M"b*8eVX.0PZ*-'UtG&'tFOnc=-OJ596+(!aT"YS0b8 -3PjK=-Ad=^^D".&"B7"mJui3&7M-2TXThJ?@ad?RHToc0Z.#;j6]AZ;lUOYHB`87! -OE;KsX4m'CX%^,U.C)jH.(ZBUE,`P7@D'3)ain"j1!9)=XY\1b7*RQjOQ66S^]@+/ -'hNttPU))0`:PV,Dm6VGcO9eo'SR\q:_SNS+Ak/@iZ0!f;@g";/^fbh]*F51+G_2\ -ToBHo[#cLrX!u7LlO4'9SKKT"!i*a[_\-'l^Ic89XNSWOZ`QMh!_ZKE;Ug5n<'`h; -Bd-M.&6R<"PC#dI1m1CQ-JFN2]h&PTJ=n/g%k)u@#>0%t!RXULclWSg9dhU>PL-H_ -eO#NZ+fO@r%MK#-"F2FjP?n,E?l/55J#mjq]4jEZjI:JR=DeG#i-:8&M..75E$Q6*T8P#T8hkjk-_;VR`<%Clh^%b\uF5U^:c60<2$R6 -Rh"8ZmC3jF*+*_K&kmR"rScG%W3:p+kD&A#LZ(e!(W0a".R;, -(hFFiTiOG]`!EX_$K9oO-3c!KYIEng.[\*,:JcB/#So#-_6DY-iRE&l^NI'\N2i.H -::?H(V0BW1F5m!.ZS1FH1(uMU3mcr)k;*Oq3U&>$im6`k5$G?Fl3p#KV*NG0CsP.[ -P]Z2:rl[+]8u@"o,M,_UqeEZRH$:#Ppq/W -T^=%lcu-O'3bh.+]G2h`$48%6W!^VV5D>33M[dI1$]7b18^NiOOW[=)$`.8`OJ%Fs -@b_7TGlB8`?3u1%7g+A[0*3i=*WZOj'933'!9&Gf5WI_SA"\$r1#>TZYk.o_d!5UG -j"X&KirGj5CB0Kui5S<^!lBUN!YFE(_.Z/D-YV:i'I,V7YZqPD^.sANZkNS/9aY=! -m>%@+*e\3%&Y`)D#sgHWK[?Cpie0l(d3KjMi.DMiCcVb365Tc;-ja;>(^"g&%:bJY -#!gZX\koC6Js_Q#JhU\bd>C"N+RC.e7!sLco*I0C22JL1 --H90"*Fc+(NNtH+a]VgsAaGtUZIWd7=h?h0D$?H:/b`7&qHk9S\aN -7RtR')^Z.:/3O31$6"N?$&^Mb#/lUF"C]A#K#"0]6).3[T]!b@SAGbeTn3J_Gbp%5 -Oq!;^(li:\W+T1kS_`;uW8QVqQoA^G,5YV%m1B_YO"JZfE7(U_+B]:;Ur+tF! -!+H/JFp9(1!?dO9?pG5GWXXJL%:L(UJJK#o+r6ld!5ZCO$t^fa666+0*WaIbU!+FJ&fRH5 -!hi*jT\ui#IWRht"orJ!a,oJWCj73nG]6&$aVH^))GrarW@j&7TYa,h1D42_5A+X;#Sd&Rr#!f$g5bnlT4:WM["$n1K!$W3[\cC^$#_F7R/7-8g -jqsa2(nhWGi=lU6?4!9\#XF3:@'C*&PWh@j2SdC05d6J\TF%9S$)!RiJ9F/I.(1:qo@=A@#s_T!&H)Gq$nobd<_WEW"8H;d9IsSY"TYb=!&tP+D?:tt -)5%faTsat&[N-Ir*A?m^6/EWt"tA)ScUs_573`VA]g&)03#"J.*9GH2uoN3+7.m_3Q$*"rfkR!("mN -^]GP#5/rK,X^UM3CaoDckf)aPa22$$&,W9U/&l:88BYW8um\ksS"FiFK[]cB@0D/LP[#0n_MV -L%5CI6B6br8N9+At_JSn_nGkQ=WeXo@PdqDljZ?S6MKKPXDV -J3='4>K#f*Vl#5?pd`9[=M51)+/5!hjEH!%JccGQOR`(Z6\XiEu`G -?ka_A'HnY&i?Adt8.QiW"YoiWi.qV'A4p<@.?B]B&"ElC'WERLC(J$.7R9EFb%'!1 -Bsn=^p'riL!X?OMBVfJJ[[h.kZtpkR"^m],+A*(D#Qpb+&n!I-5s>A/4;EW.('#Zr -iElRCiYB:%!hi-tJ2.ag#QqmI%LRFg5Z.siL'>AFCEfW(kmZriOp=IReLa]eN<&d? -ZZ:5_!q80BYWe/%_'`;5CNh:MjN@].qZTq`E_o=M5`u;DNXGhb$HfX`_(Gg5/=3&\ -*2!][OH:K6m)3tkGH?Q+!SS;S,ShNh"6-DCWElKjs -).4F%@3u*8-4=3h$UC9h@%IbaYRA8'%=m6`AZRsYO9e+3$35;X!3ugEZ4,Z!%,h[# -!=fh%?52@U"egekTLKfmWWOEE)k\;mTqVSHUAb1N(B>9g!Cd,V6kQ(I&Ral,.N/HJ -^^7eY$'8cC_Uo-E>R3U="Mi(j+?C(m8clh#-t-q2@?;E.&fUk]!_-.Qr()9,#!C8s_^_d[KmLS7(!W^`R5ahl7 -/-Zb4RBn?1dj:GCTpg8!R^o8`fr:G9[@91eRi/o/H,#iZ_45eiS@QP-q8o0Fc(-lJ -SU'#(1G^fPqjoMU.kBQi!J(oZTb4%#6l1@`(P/LbJZ'P2"<8TA!$U4>+mD'e -TH2LM*9#NM.T?BKk/K3i`hF>pe'Y*TJZ*Y=W*5)pkVO=\"s+U8as!\t!&>5Gecc'% -k];$QPr/"oT]S2fHXc57FjW; -PW[t73Y&qj6UjVK@nEGEes)h*%<+"sCeeOE$"NIq.5MjkH<908.)g"+"Q)lsr7Vk+ -g12HqPgJ/!f1eSrg#LdLjB0hqiXX_1e@UqS_i!)`1cOI)4,G^]^o0^&NbYa7Ga/Vs -8'D0A(g'.K$tZN)e;8__%$$>Y;HGtj'eN>o*Dfhp^&%$b7#!_>7p_rV709=#k[l7) -E_YWX<$d]7,=4GIIa3X`Ht__H'ge%Xquqb01?:\pj%)4aBOjME3ea38,Vir2n.)S71EA#N0%rT[EtYc4V6X&cleM6#%6E -*Z.27!J-g]J.rrR]E(=2)rM>JiP5I;^`+C3)^2!XTr!CXQ5'BN']A`h!;6aB"!]!S3n[u?S*C%_;N[_mXc`Y5lgl9fHc+3- -%RI+8!TeN6m"6Z+W;ZW>1+Nc!CXD#4-.ljnd%?:%\>.uZ&K'LD?m$7`P<"52am07NZd"U0eDm4p[J -/K,++Z%p=ghLOJMn:$%25Joen!)s3=h?3i6'At>R_2JDgN.M)7#G^r=j@ -c&CSH"e_&*@'spgg^ue2&HP?&_*f(o@OD2*s1t"Aq!F@*7M5\Z&`E'[+RBKo:(,e2 -#i/e6rRF;AS98<;>RoBJ!u'KD"E*.EP(-::TM,c5\.(^c"B8_C@+YQ(edS3"%%t05 -5eIG3-459d!aq5ti$o!4@KPJ!1Or&fq:hHIp&@8Pru_.]!MIeO"U'Cm@1[Z_)Arj9 -_VrlZKMEU(M++/$Ggp=c(lq/Hn_"&*74"&;jH>?VVHGF98u<6SN4rj\RSDpcRC)7! -4.f;^'?V$gLI%Y3kgZ%Q/s/i(;ed$CPrbmAWmp=aR`00J?).Z,+e&Xm_dg#TAp/MI -Y17Br9nYf`(q;1O*7LpWO$.#\?T:k7%Ej;`J&":ZYrO^P7'/)q.3 -cr,"2#$s+$N;!Sa_X[[hSKJ_AJ-=eG!8?/I"0_jnHiP6!TEFHR!.I-t&(gRWs23jd -38C)q09=B>F1Ih?QUe%%lZE"%?H6ulhG -)\5J,@K@$V67N0`ON8/q6`<[=N^5AW1kamS^_@19YZ**/@;(fGL#M69(l%"ZA/^2r -OCfC8@?a7p`/ulT'Ld"(>89TSA7$3D0r/4s7WH(V*(P"uHQ:)rjD5aQEYrC.#7mJL -*/DB"H6*<"e;tV?18K=Ja:bkd/5(#r].HJ1OCB%1iG_s8Kjde](57=H4s.mu9]@T1 -ijd;r%Pto04UACP?U%7NABknn!C0BoKcrkf(/]*[Hn!J'9d<4;[%O'?$1m)2*D'3! ->sj;[=B65;E;4/p<9"us3`U;na%HaRBPnandi_p_K^fmk+p_WpVC;j=kdW5RQ6=dh -$oUOL-:4^[0.U-C7\iI51C.J'6m7q0 -,@bp/Zo@%*7RK3Di]^!^__OArMreB3\M*(?G%2Z9\;52OB#23$S746)]pWIMp4K#O -H2`_q7bF9^B[!ji<#&7E+A\s$F=f^6"]Pq"29^VhQ_mIkrGSqDqNf7(C"3^'(sH*Q -CI$6n-HEF[H^:k<@^f=[1MPQtjhGW]0&O:bh"Q6;Heio% -kC;H84stmqAYGu*&6D/:KKfS!iGJpea%-JX*WQf/H[l@5_XX8Ts1W/t7Y*6%'*@r( -0*n7jL`ZfZi+s7OTp?oL#<75(*J\leTH(`/G+2Y"5"M`ZLpP#hnQm0SJT*LN5kl3" -+EOMoXP$=[2JeNoi^3p38e43)5m6-\+%G]J&>@Hd$3@FYKj`>4pYQ++GPtK)?bj7&d$Dd$UL9a`c1-fa+cYrkjE[*@."#)\`jKA!!gF: -:Bb/`,6H5J%fq2AFDi?n"!G5__Vh!eicK*hEP2'B,N"P0(k$o8p,RXGjr-K1Ba`9/ -04S+G%"OQsK7IEqi^dd5t7'I=;U?DdhTtUOs -o^=filkCnWCd&@VuY)1_GZ1FoqTCNF::IN4pDSn -'qq9k$ir=-"TX2aJfm)Y5k+pYAU(?mWpO,.`I"c\p:XPmq-WJ'JZtFA_cSu2@;JAj -YuWd$f_ZOs/9R)\Q;5V+.ktUOc'Pb;G0X7f2e[%#U9k\rdooW^>Dlp$/`aLn>5ME* -al"6C!.Y`6J5?Wh\1e0G<$2>e-5=?G&.HCR#R7NW"9UVl![3@NJKV<55aY:P5YrW[ -:ks,/cuB*F`'XOP$m^@*P7uk&:PteX.`EM:'S:Q5$/mK<`5&SX!l/At;3j4m&EY#6 -"F(Gb!'QB3*5IcT4^`XFJhT(h_2!=)Sn#u,^_$)RJ4Nt%:dcGCLbT4pJ//=Xi!KR2 -J-:H$7KNT+-,A`1'L62*M?#CZ`7PtA6<"D]:cKZ;%"\t^KK9?T\6I:Vf.0])NTpXJ$MjB- -_)*Lc@'c^sOAW"BngLU$TU?Rc*(]a^3!=bn[_ei^$*'OD"31#4'-c^oW>Q1GE/G5/ -+Al%Z:bJi/JZs;5_q9Nc8nb([_r/](@V\[m!tCrdh29?N6#DbH0U<7NpcjQ!bnDkN -6VK8B]k3,/SMP]@LEI;Dgj?L]A=]0VRSm[3N[7NjFT]>rcn'*.7F3A?&Xo2="3[,8 -IB#3;W1.:^CQ19)23&'_30Tun9N,T)<7]WFIiIB0;/&!b(<)ZE!94'cHZ:)dRT!D; -Ego45EaCQEG^G;-bGi@U*Slmhf&Nd0+_u_D?PD_n3TusIUN=/1d<\;UB@+"+aKU7( -_>$t55tFEF_%JFeGeb@#%!W:Z!^-e0!$ir7A:HSu]oKkb[UV>SZ_rh@/hOFfft& -8bengj!,sG%,l"SH%.[_df5@6HdWmcnDtua^4P`84<4.1O7)uHU6b^@:Bo+Pf"d>h -pV.7(rLXiWpoW$@Q'^^iDm1C?&4@K`TUcpM3+<*-"GX^8J/EI6CBZs_n>"oc"dfT" -Qoop*4/l\W!V$U"\YG`u)kWW-K,US?#R^e9Du_k9Us\ZB,*!1!FoWAfT])[/4=98_0E.Boe"gA::W^)43,lqC!+aQY@_n1MV'nUcT"!B]T;YNU=64iGXm.,/OXj(Uj:"^Hq1ht8$m_8b^RUf -In0uu80!-#/:g>KJk/"X85+b/7#+<]PVu[.%@K:peKU<8QM#d\i5lhff"S`E/o*U34\:u,;!,uJ'GQnA"_Zk'l -!,,sK8-Xf>@"<3(Srd.[?jVNh8V#/ZK5_G*BI*[m,X6*Wbo2*`E6H&R<:Z[kc<)pqKO!CA]'gJ-(9!\5rJl4"T0 -XI=^aRWF_pC(2s"3.adi!YU/QgLrRgbaRK7Wk)Wafo:S=ld"H`R:mG%kt\__(`9hi -Q==LDX#Ul/?'@?-PZrf$Z^a.g2Q/ts:#g%d.r6PG-.#'a!`]BM@V3mGm?i:P-.rnL -8TQjW2&.Q0Z]T'gCLs?lhmjD>d2^OSb\+cM*)T*"9mmdOEX&$g0Y(j6)H2/`WH5Tm -(Dg#>3<0mnPBh_#IhO+NdKL__n;-M.6I.:7\pfle+o8hebs'llZQ4sT[iU<[o+Q^79\9S`n!^3*=O(!VG.aH.KZ_F'!40NI&7 -DS0ObV914=%>*4QHWZ88fL8cK9HQ,@Lt6pLJiFNt-p3%\4?I4VL86\+`&GSmZe8$[ -%]f\dBNK_O=+cSHK7G"oJLE#](97F;!&q_l9!2rc6#]NFI'2'bF=ZCI& -.!#UF":!LVJ>c?JGS,RE$DK@m_9s9c3HmL\_:[#7fQ3TM)ISdj%'u$G>?YR):b`gn -1]oIMQ`r.j92'rY/)+/UQJnAstBa#3/9nJ6!JbTn0n2Z$W3<_AJ"ZU4H -3,&U'!XB!UJ-^D(8DOO#[g/\2LNm6XE+)2n6bB!<5%Ecb&Je=O(P2W6JRBdcLaiJI -'S=+Q!C/6e#V(C%.=u-r,:F\8+9Xt'C)3L0B`X#( -JLD35!"OPe\q&jc#UG77/;W4HM;U8pi'mlXD?aKt"lPCG@$V(+SdSr/$t,qA@(m*. -c447]%q,qW8CH0^_V!fi[0dZN@9A*>A;fDq(L`=>iLUlpR^uq;%"R1S!8&ZLO=1M; -70Xk9L*1@6&8h_T!/Fk;goZiNAX28(-VHn(#Om'?&:4U`#6n"$!74Mo^_2:(;1Q_b -#&jd$BRG=9I'A.ZO#AH:G^G3Z!XEO"#90cL#XnaW7"V'HJsD.%lD^+[^EMmC]CIXU -hEP@F#0i&b)KKQ#M2^ME87[!Y)rMA10G9mY`1+k+'G4QpTk>^/>icD+JVh&Y\Ys(" -66++\2L\/nN%Ph3$l[6c\Y6.R/KVI=N0VSK\Tqi:CM5VT?oERnR9>KWM_q<'VAtEaLX`D\ap,KKt;YEfu0f.m+BOlsXk0@D`:308Pq,i#W13N=l -]bO#F6g'JP&cF@qY&dL4HY:?FkK\NhhLB1hJ7n;#kPg$G/qRb#J`oj]BNBe"??p'J -&lYLU=4-u7`$"8uH0B^:B[2VY:O`hkhrF?l)2(C7Z[;im_6Q(OHe]cU4 -SC8*2fBUKVR!q@[@2h>Hc(GepB^$C2!Yi:US"R/i'\l,4V2UT)?T1n3f?ktGo"Qbsmk/Y\/b9K+Eu-NO+#@sk1ik$% -F$DPR:GrKE'M.+?a+,63THB,=2#p`LKpVsrQtZOCBoOfl@q2l_[O?"-6hF/A.,]IQ -#^ci\"U;27J='LCW"&s'>C`)F#0[)'roXd!hlr2fm=9@o:?uE"6tmc'K9-ZY`L2@/ -&VGPm"&LfT0J`eB'8$B1Jr2=8(EhU1cFQmM*M,Q8"cVh5@.G<26Kt@-0h%A1<`#u6 -(r."&oUQqM=d06/_WurF]8ZHl:_B[a\LcaMeo190;>,l\jka;^iMIOPY!VGecXALa -'dIq4(X^f@pY@.Cl*]XsBn:ni'aeZ>m2]eL/i42Sc2LR&08FdjLh)2OR'2Bkrd0u1 -N"]9+B+J_N=gdEE.J?F)B4P[Amupec($t[[3TJK=#F@RaOa3"!H'af/1"K:+M?2S_ -Qh8?"K]lN -BHr(I,3f@*9fXU>4]\!4@A!P-+2*U6\d^k^VUlG'C8G4d1YOrqnrVsU]QIh5lZF;[ -f7[&rY[niWWEf?$qWDr1C^:7;i!]+"GcSqbjL3GIDjB]kkhE -^P:.UQI;G@e5dl!9jc76"4h4E.](98-+k?Ck@AlLT7+bQ)2XdsPNqJ:X]l%$rR^%W -cHCJ\]R:fTID=fjhrbU&\GWiUT>._r\gg0/,?4.q"_\3rBPRT=CBksa#:5T+?UPDo -fn[$##2fUgi(sEX:P13,SdG2nV4LiZ*WnA7K.'TIW)3g&Hk,%_J02!slhCJZIt/X1 -fR,_''8Jmq!%3DX%-)+)>07tnK\Re1%Rq[_TZgsrQ-,qdq/jV\1RLl`6Wlt8Cc3:D -7g$T`#(&KQ%OY4a[-26_S5'90>(k%n2QBCr6P4RQ=tLKs`F>N@>]XBtO9bui5uQ3= -/sf68o(dsS?ngD1=*#DCaa(Ib9:,4`"Ik#ciC60HLtGBY/;Qq(_!15M(Jc^#lfR[W -]_VUlT7@1-+t4,P4b,1u?k(cJ!k=SJ7H-:'N\CtOj^Mq'`*G):NMb`3"JemCcUT6( -0aRgt5HfWrkAUa_o)QG\+:$2Q[1_nA1i2Yc3?B)/'?*AuYf(33(lX2oMSI1B;u0J- -eR-)Cnb`97IkUS-V^Fd9HlO\V1497Zl-n3$L&ln3XfGl>]!!XLn5Tla:qSds_m%oZ -&B#-q:D/=(&4-hYJD`0l"&WlA(If",AK&QC]P/?TdEHkVa3iCf*lp)6Kd+U$4GP3' -dSu>TajP"!-;%0`V^T]N]WEa-ZJ;];92b,m0?d>daY:rF*6g=b'3rjAbu8`;2pP?\ -kr;GeSF8Mb'AW7EcSPLp5Yol=#slqf'bNd[1d)RCd?K%q8C>qP+\C,3XYDR5!6?rj -e$S4":t(ZB.8nC+E%Df]^n?W=JjS]7"q`0.%UC)_$.aNT#MK`C+cblsmoU>GKjr[m -4c*]OekMQDg"'/sB%]l:oPf?D$'GL\-'0HUR:'HfN?!)gpKq1H?%UCpLVNt=*hX,1 -F9&4)V?IlM!$5L5@$+u&!_%rR$'ka.-ruS*Yt.WB"Q:O6Oope83/V-@U`-r!ZCVp[ -GglTi5T&oTO5sF:8W]s0;iDcQM?8U1,rmklOleYVAX_bL^1OFMn9A7U_?"mk#I*0C -AsI&5G)WKc0S!H+Kt:lJ(["s3UBp&L5[]jAH;kuYX!)Z$YNd#>iM0mbe(^m;OG9O= -_AV3bX/g2H\nQO-aeEK3 -G9+bG>F'-Fo=Y'APpsi-C8-I]2c-;!MK_51p"aOpcuqR$7]1FO:Mq'E4l0Q!GMT0J -g%\kQLZ%s!5E4b!^0cu".)EW"TEf3)?06E=8$2.T*oF0hqd0$-n,-<*F;Tc7:g,-& -@7[[b"@JSKKGpL\X(^2Sl.,nVArmdAQQS\$$",S96Z=:[Tc=jO<]U[]_k\]>X;ur_ -Hk2WDdO9no*#rFDoa4Pi#*,ehK4e*HatZG?0V#!SVbDZa+?Coa,bgr69MV8i,=(2T -(I8-QT0hIVEKD^kF`-mA""-YI -iKPL<^sXW%(WR_oN/WnI/kAObML^Q5H@c;),*k%mJB>`lOn)+@8bke&R5>tFnTl?> -8/WNr,b^L/N`Sjk?qfAo3%5H.4[eo]/BOh["ecP&#;SOmL-Q.b")J)LZ.o?"F7u$F -8n\b,Y!,?h"!+.i!tGp-\-/`J&qPQHL$9q2J[dE=UmN*U+A.hTJC1r\-A:%k -X$Lfinl\T\3sZ/Ae<_I!a!!-6B#-?q"I=EI!\d&VD&o@XQCcQ/RnIM`7BEmtO:VI) -5R0RD*WnZD%B<'CVJY%a\!I$N>T8$/mKLP=?k3;m0F7bN(^33Q#_he8!eh3H -!(2l`/udU*(WL5?J]$%idI-#?s-0uc4aE[?fibb25W -=E"aH*=0`s3`-tH2WS*&QY?2%.V1`MPd9F=.[bK4jce]aEs?4"8'IB5Cr;^rlXnD0 -T.mX-]9XG^C/;e0L:%ElY^sY*K?DZloY% -80rf-Q5;eO>q]'P3e/@<_72#"&HV;"#IrjqUR/)InT#h(i/%hLTIdagKZ:ii>Qj#% -9n@:@2Lmd@WQOXTp'&MsJ2#uMUE!?d0jGm;k_5N-H@l<:4f1NW.:mEj-,Fb175Bcg -653\,'uVd55sckaP\CBMfYn#<>rN&J5M--XA/DqPB(j'MgjlW)MHK1PIKLbc>_(4B3PZKp*T.&@m`$=9^,0U*)8R3n5o9o9fgROFIO4K*[Qi#ge>4n;@SaQO-KX#r%tXOJ*!- -UC**\$IGUW"EO_X9EVLe"9:otn2^_B^]ik^JUhLh+E/]H,X#WK"s?r5J4rAS7K^Fi -"6' -TElO2[K,9p*5Dh"_;kS^jUnaA+j<&M_@U!AW#jk"*oYfQJ_D)o%NL&$!Cr8T&[s@*jP_e -%Zo)_(ssoK+;*ua&e?-`!dEgt.*&&1#H6\R'-WMf,178OnW<;rg'Bs:"^mi/ap8Y' -0G=JS!J-WVMukg>Pna?9*+0*n@=eNrJ21Oq&)]V^ahS;BKE^:af8)U<%I>I@.e=+P -5j7@mBm(i&#p=a&5^mii -3[HF>.;gW$b:;NXo.0501=EbkkVXk^1lO#nPAo*.cYIcN8]FO!F>%Vm:&LEa']+UMlfLJ0*jWu7d09Qb\Ce!(7:E7M>fK!Ps)S_1l/;Or=<= -)?H?/JXdTc()^PD!F_-,?lg(l3!*MH&7@7)@,M/qh@#ua$_WdjTTfc#"tbA:%FmWO -F[?G0e;(hk"^lol!'h"P49D3=WkjQ3+:]>A+Mf5i7*IM%+j(TD*Z"hY"/,]$+BSpS -k\"M3BlG2-CEGYF6t^V+UEh1!k0X4f?pc&9"Fs)IYe7E&D$I5J$F$j@e\bW,a'85[ ->ZK$RQ-W`9dp86d?.IP4p"Ndfk?_0S?8_1XQ1822nj^tu"/JZp:uhcK*X3a3LQo(N -!2)<4A.$,]@D`!OJ?B7e_C\+Z$(umG&Cs1uXotuo"6>t@X)^X:1'=2H!^N[s^_RRA -[K'aE*e453MY%toeN\%&'\7,6(2IPL.NlRk!$UR/J^tfk$65!I*hWQUYtJ^B=s)-i -+OO3i+nT(!l5edg*T>9DU!=Q!'H/->!WdN[^a^%l!X%B]$\2%]?uA4eQQYpL-h>F% -Zb:6T\gE.g#ln-7cJApcD@N9*"1MOT[6V]Eq_'1Z3qeA7j*"=En=*/(I*%4>9V%[-n$T.dpI6A;frmh -G1#Tq^hf`b#=)Z%&_%+^ljI4eDt_$^TrJ,F@:qK9 -RUP%Q+l"'1"rr2e![cPR508ck\Wq14,R -+h`-oO<6^h+!L6@d9rF-Z5PtB)F7SR!>CWhbBgG1$=J_p^kWtL-9Z!CKk(K>:.C7X -%nRM)oHYmi6m?I=5_4ZICIZX>#0r/mK:@J>#te5W6LRSjh@3W1$=K_<:G+.Ob%Lck -"orXm6=sel]a,%tLVpO_fl[6>)t((^9\&/uZ$4!G/]-N4c+$NQ*k&C*Vn -!Fu=>7AVsG5b8$BTFtWJ&qR1c@BLXO!$2ZH*nG%;p32V1B=;#Z4/*;)N)[Y+6lo#n -BhT1SRt;epe6JDL+$4_uD[7=^@ML44%Nocr6;`])/T&n(acW4,HD8hW2#.h$%H/?1 -@3%Nt1)++I'L>h&@9+%l0G@Ll&0T=&T[.i?X)?jSeGHY5]'a7X.'b5:>P5fp-,M!$@n&$-KEE'AM@^D>(B>Wpm^O90mN)oC --&aq)!W68tV!fHb%"LqYB@$qbJd&r=S?F2`]EZcNY25#\j@>g"D%_KJ1'^>sa[pQ5 -:24t?$%'0W#9]*4J<,=ja:M`G&4&8X5rKJY.M^os!Wdrl^`45cJ-'/.(-jPh+[Q:) -64`!L&)b))+M-41i]u/^D0X=G^i,6/0&fEoLA0*Anpu8XJ3[S/d)]*6R":*Hn\DeZ -U7E'3I"t60OQ:JldKW3uc4)]LUPM#[e(cGrj9AULh -U`Q5T!("gIi!LC=Foc#n&\p.6TYL]G^'ES(fUu]qSF2VCZ3c%`$!-[/+@$G6aqRJK -)8&DVQ#%MaQlLVb*1:O[6$NFhGS2,U&g5O(JBS8Gi!4\XD*i3bdHf:VRtl78gp#k&)X"aT`,J:Vtm"X%_o.U+1#D`:'oR_"bO3jhaq%JOpSoN$/m!- -JKc!t#T?"_!$U*.iTR9(*!aBX:lZ -QFh:>iBeHAL1DHQ!1k\g(I[B&aFruG%4%4t20.b#\6oEk%"N+6F:_]V6HV]@D&e$9 -T?^mjOdo$T/d_tt+^%'l/L(f1j5JY+E]4jFD>)_Ef5Yfa%/5,%`qt%riGa%3%L2*5 -alIL0*,Zi?DpbELlh+,jhS%V.olkf/=%g6cn9Fj(5'IfuipurZSkj:.h=:8frVp5k -gZeIg:-3T\fQnSDMQh'(57fXCSH_BAGSgZP+C$&rJRF]kKjokD'T3%n:+qP[j>J[/ -@e;?*$4G4@Qo0kE?lLIi47a:XnWXV'`\F9,V2+#SH8YnY;(`9?`V:K])*hVnC4R_2 -_?1c*&.EOuJ2,&aJB&hI".R*X6'"N#;nqLghb@TifB%KL?D=$krld,$^O$ -BpC0NL`)"_\8+0\Y,]0%.tPjO -*E^f@_"5+QV"&+JMZp!3=d2$cCb9P!VZGGMm0KbIp0F_>#*s%[3el3[Nif@h.]E![ -'92+">;r\IHXA_K_*Yq\6inE+60N`K@'g?nY.D*^(OP,MefBK-ai*RV=UOc2CZ7>) -+K*%AVEG)8@@f[diV>Aio!`]jZ5m>:>.K>sM^C^BL,J0s+V)$#QB*8(et.hmkBI&P)F,aG>(Iun-jYuGLcRL%Th(T9#6BWs+GJeO;BlS. -34_D.j9\QgPbmjj?C67_L1Gk46QBW8A][mY'dU:C99,\Ol7)r]Q;IKSG2oc95Lq[Y -4LlodC`.;FO#e*]iG_s9"bC#U'i"e*rZ?t[E0&WWSWJQZFdNo,*HcrmFscsX[sg#U -,?WGQ%)+Ee-]-GW>LE]R(I?8V_YSDb_<9W4a*7l]BHA!D.sOkr5kR/%dJoQuYhp-;// -"X.CbLQIZC6V*U_,33j'OqKZDaS@,.A>GQTEb7s9WA,a\oUV3ZE`#F(7jqpoVj,W, -;TcOI.j\/sQ4go79'L%@AZW5(dcOe-\Sj-4e@q94raAJHCY)nF\UfM4$ob3G7dL\!Ur>[ -,.q$&>kV1-n2G(5,Mk$:;gO"G*dA!W`!?JCoeo -^g'Wkn1H)kaINup>Y\R5(`gEuG!j)o'*Rf^$\B3V"sDpcgWSi"YI3sQGJG1%5ZAH# -J8>e4F@)c(/1LXmW%eA9[L9\E089`C(cDM"MI7ta7)0ZQk%Hr5+A -l$a)@]3:,]dhX^P<8l1h:dFP;+B,'I_14fZ5ccMl&54&H=,kR%EZ=9[Yg*WpNjFpbh# -:krb)3K-sRb;H*A%VHFk(F0GbgD*jA+a'pQ>+H"ge^(:MFke:u`XX>B^A$5MBfg9Q -(ZA_*V0)`I*+H]?&d)Q6_b"T+,H5dYCg1\RY-DQYWV(:X/rYW&XR^JSR3o,eer>r[ -V#Y;!KiYqSd?4Ui>Rpo*+q(+B$O?2e!sJD7!"n%"r^3KPV-j_q4uP&:kB)JK*Vo\0ZZm-3RET"CPd@+Ctd3 -!/E7PJ,jel8qj7&D*cAdWLP"qe/lI0+2RfCLHknG5\^9iC'G4RL(J,#5\gTq!XD>a -_A"(Xj(fQ*S#bIA!6@id8.pP?.fia%O[(,l\DfBi1lkKr.Zlp$C9'MQ2)QN;0@2S- --oA+59nmTjL1kCR5\q'pEX.2^LR8)IR!J`DH3^AL#HU7IS3_pTFoWY.#=&?G5]VB' -EiDlI!*EhPTMgFCc*6+[XH4fl<&fp/g,$n"`EPDkRo2[RN>XM$/Rm6;]21)$<(2-1 -7>ho"e2]u$?cEdcOfI=?ZJdDKijBJ.R"5DBR5?(+2iP7:"[]U$&-iCFD1FlgL@>;" -k\^AcDF<+;0;@ -FG%q2JC$i?W!rm&9Rt2X"Rlg&kX>L07#^=i!pJ&?aj5O:DDL=9+^iS*4AqG]:T?HN4V(#J^=p^jQ1gI7`XM8^Meh -O9(,uE.C2m#(Qo4G[Gu_?Nd;<"J@W'?o7uk*.dtF).SSj=_gHJHH?/b+,Hn^0`Va[ -!&WcE34h/1\??SqI[m(61h*JOK1F*)HV;Srb7Na>6])kQ2DnWJ[+r&'*&in2^<>$F -9B1jGR6.bY2mrk.Xm9*rd+L5E)&'Os8GpJ$n=@QQs#'%aR>YI@.?X_I(P/e8!@T.D -W"&m%1k:rM"Pjk6_U+T]!JaaKWkaI@@`fNHi34-8a\>ca+[Q*Nt -,%Iu#&/ZDoefI((TBIr?PQ?Cr2:)roSffkB82NRP"+ro;:`TW?827_q0"JJ@+8?tP -eGK>n-il?W!E(8U=`g4O*J*u6Jp8\r&2/YI33>e=>g8#2$7eVK1Iq[pc/H'0n[h=!rtUi:b=X<,WH>S -3"Q[T83R%c4bItk")osq#V^k'&H\=F!@T1Di"O/X)hJnV!amJ[(biR`0nRq=JsAO5 -JUeh](d5L,,"0bFOjX87s+)ET-5]8[7Sl]9%:gSeC@=DbtljN -:fR*aeKn)C2,R@B;UnK?eQ#Z#AQRDf=OhOnVk=Se#SWeK(P6d8K;Dn-eR+!K@"^+? -V]30FfI\GN[O/+dK-B8Q=?"$o5h;#_et=d!Z2)*>'0[NN->3o7\0D!H,D6%%":/7_ -5[9&R!X?/UJ.QdW\,ZcH.`)VO=-\*`V0gga+:/m4L=cS4fNs)I?A/@cK`G>-E*J'1 -"GUT1!%;iBBE*=\ChC!YJfr)=,lSq51YM&[9>Zbp`&(OTRc -qi'IG5 -64E';OTPL`P5YNM.Y1DG!k#_F==)WMb)oU#27WiA"fKS@`*,RE/PK?e`4Of!W")4% -c?7*2Q-3Elbff'W7R4)qdp?''[D -V:Yt:^P(eZ"Q2KEq[KdnQ\$_jaS!a529fGh4pfc&!^JCXICY!7&Hesp!=1fjQp-.* -+'[qYh&mgk]+NgMjK4&?S]O,7@7#uBGD#2G*$A48=9\t-]8)IK#E0b(I%uIQEr[n7 -PmD2[5R`?+3e9g_!Y?@R#lbZ+A.I>F?P<8Qi9SPLXHW&YMV30rF#RLC@LBOMR:BU( -[$4h8&E%F<(l:8[_!@>#rtF[sR<4Wd5ssG1&`K#9%s[@HqaHie7SFf%_rtm^_m0`"p**d8(]$,eaA"h -(BO"H!H9&BTbb6d$lBO%jeJ8r_n#p9#ePUD:fRZq5VqO#!!>,f\_o/nbF4$?C4\J% -QWba;D%0>$-AgOi(.m(WfY+nn!PKm4]nIMaaTYPPconAW+rD#F76mDRf,q4IK(aAu -n1j&(?0@E]"%Y1D0JJ,M2$2ofJmAHZem8AJ1e=V7!C/%70GFR:*W\MHJZ'96TGE)U -nqsXuBVbXi/n9LNR(4WI:7V5])r/pq8dX75JTHoLe)CB;7ob7Gl"64FF]iF-QKa-l -l'@e&Ngo:1S8#F%l/nQ$p75q&T'?fXl5$,Z-DTiE7"H0f!@7RDJUgW(/>k`r"Q$/o -3(VT`3bMUOJi&Vl#TYN0A:arI!\r=jF-F0F,j/mn!_LohL_,++%tOLfUUVCrYTO$m -#_RY(!,,15!!J#VD#bu$#FGLHSVq;QMX4>jlqYPLNS+M4"GT`JJ=')aQjj.b7=_U2 -"V:tD&7&djB7NNc`5$CZ^;fMSQ\L;"#)H0HW'(.]4G*nPK)d1u80ibSp:1:3SoQ0k -X,nE8i12&:DC4>6C!iYjV!_+,mIASu2+/WHhj-a.2,[C*n@B(BK7W&.'2QOa^q -*Y<<#aP<[)EG"e3D\1^d$Jb,g3"WW(,3U`/I&b,6'nTQVVi7[Y*[5X0o3+KRO5V6GB&6mL2 -!_=*UE<`Ze=lQV<&UR0W@;n(0nf2l(D'QJR?M8QSn"lQn#)%B\8ioaEp)t8Cb]f0L2usjT -`<\\]L^f#f:&r((h:PJGmqi3b"9ap>KL]d:!&F[q'nU?Up1WLsXedb8Wh,s]ipiL@ -J/No/SH09>J`mPoi&H8.3/&k+L<']+aDufMEefGQLQ/W,(]]?DH[lr[LR8-uQtHCq -B*;TK"CNO+cm:jm&ckfBJPJbsT47JTnf3`11]5(?clS(^G(K6(!Y-@E=V*-/0`p8H -K%MRS81F[S'`qJ\2ddSU?lL1r4;]]RAY:@#99oXihk-htqOa^sCQuMECUkr3S\b(F -1Sa17(X2s6(ClH,0=0!]>68]"0mXr^h4RpT$uW0W4fLL[0=.;e=uhM+Sc3cp==[Us -.KXiE!g"]Mp`HB3)1m)]!D"Si8/-Y@+otL`!Upi1=;?Ck(sqI]JP"@J_uS@_5(]!M -!_]6PnEmolO.nkDGsJdJ"5h\PGuj@/l8RF38)!p^g\oaYIHTDan(ms:i;Nu?rVtmV -(ZTrlj8N-@rb(:V!#))Y+)>G'"!Bi-YYKY_7=N^r(]Y9Loiltn76gP\5mS0Rn.hKG -R8NEHShZ!R?i=Mq]/fbCW -6R#A%S44qDMah0\\AWDF*KWeP;<]?[rq$3((Eg]=pb7+@#`,>HnTaOA4/;r""ctlX -eH@`Ni!6o`N?b4:T:cGT8/0KOKbXj^q=r)V0p74.Oas66//=%r[K1?S>@k,K/OI'W -W)[98$ACD(S]^2=[Fn!#q^q;AI_T"Q!h:C-nR0+8//B3OaA[&sg+S':OMkN`)2tm> -XNk`IS^;"+6Xd4KF/L'o7p<15hb0?_kdEQ9%b#!sghldiD -0bM?$/41)hO[MnX`Jsb$f*7qd>8[Y8UhJ0\Yk1p9`NeK*+32eAFW!GQP"GgER(a5lU$,i<"p)Zq -1fP+L75\%e%7sLJd3rNC#6BWsjbI:N?6@`b!/)/E!Z55dLZ*K(*JP`YDAbqs882)V -ogMMbe<3@7f>tdu<\/q+\LJ#NAr%.7*Zu'QHN5Fo\p_5i9@#sILWBOET"ks)?%QY7 -r">'b&8WJE/SeVCg!rfbIp#MeUE##U-4J*g&\r;97ZBBHeV?HSH6*=Mpj=2o(mTOj -?T;7_%U)s57=a;6/k;+9R6,IC27!j7e;%K%Hlh:W^+5.O\ZTM'9Hi.d@7Cl1;k`:k -/leWZn@ZEcAf-VTLIW7@Of>e7E.BVFipc^RO(>IM9,7Mq@7ZeUkR_WJgHZ*jDGoO9oCbDnU+Ol^+;QH7]upQE53"n -"GfB8QpD=;CBEY'dKQ1#7EU+nB93JpJL=TZ#8kB=.ROLBfT$RI5od@G"O" -1*LUA(k)LXjV\:?d"hLS^W;E[#f9,o&g-%$Ic1`p"9s0d!OM8""e#Vs_Xq/cJUB5M ->gBR+9)T2i4:!WXr.J*ki68,S1;La<_)EEGb8;d]O15u-pg!`JRm1Atp`Y;5Ka1uo -!J[9R*s9<+%Y;4e##$Q`RQsa[6*MgCJCkW*Y[4TNBJ9V*X;70i]aL8+)[J,++[N>_ -`BiKl#*FkOQNHg>h@sZ\-*.`2:e1hAp`9NfF:J>E2?pt<)?Wk!4iaMs+63!EO0T6\ -84`t.A4238;Ar"qR2[@2FHM_!:.NE/,pf@_Q]kYDVU04k@"QrZnS5Y/_:'o0)k<.jeL"6Zcq:ll9J:jF[H?ojR -lkaa2%NOkAUJ5Z1n;hiTj>kJ9qeL!^)6_!Zg=.!KPRi!(WFP -!!D?3e5DE+aXp&^eKftmEV]ZjkkkFF_uh'r%Qqd>#T\P:"c^>d"U,0D"2U3FAWFSoB*eVJD#'^ImifFKS -0^]0uY[I[.J0ol`Q4?3L2eC4XRPVH/cWGh?E,4]dRe&6tN(IM43!mm)BJT+!_@(Itk4;RMhE(.R9+ZBOSO+]hH$j[uk++q@=&/HS9`)f"^ -i_sZK&UYBaGc_m\p--j.*[\g^Tn0"nUPs341WNV>1u/;eX$NsN"sDjcK;En=!J;%G -R0a`\jOnW0c9,(X'pc2U_O7/?4(&'D(kYYZ$A*W`%C%JRsAf1,SB$(YQ\e -B5KYrCBI@MDH3\m3>J8Xo@9= -bBaQ>BI3ktPS=0A:)!^O:Cc#a)LYNUX4Ag61@(R)#GC? -%"36Fn3):Ep)RNXFcEU>2TBD>)5=&9$D?_i"/nNg_$2h"6KITBG9l"6fb"=JBFVfY -2[@/9*<]33%>'+8"lX8S!cZN\K=Hd@Jg=(lJN&&^&=71l0FeA]q?OprBEUVg.=sg\ -&&C/L"W;7nK+cfDiH.kE:(<"`CH2T+U,`Fakd3ckGR=gp&20?\iL=+D%;jFm22j*1 -"#rehi=h-$E(%L];V;eu4:4dKFbi>U?u'V+mX_4A\elXio&2hb/g[:Pr%1eVGs_tK -L$618376Opf?,kqSA%)#:'^k++IsVBFar)ms6oa`&,cJ^#lnoR!)O7-YS.$+'`kNV -!Upm,0HC3k+TcU7!jFB\O>R+/2Zk`o"7SGV0KTDV5m39<"L(`+kk##\#\!e#"lRW0 -.HD%K5mF###2mH*.rkbhGbG+$TrBZ<8EQRAHipU4#RL'rY`&[gHn=2\#Gu%b+IW]] -U^SC2$@qIT@&srK8-tt\(]\k!!O`0J[N.V$*C8N`iSGWK(`oC;!5\"C!!jVHe,Wq, -*+/sj@B]aJYSk4f)8VC8+cmX.$l_Ld!(#>`OVGGXR1XEW+tB0+U%A?qWWBs**T/7b -iNr[FZl#Gm(nk%6_,q766kCKD"Mh)C%o8_5sPN< -5SjDC(BLT<+fnJW^p('`dVB=hiJmq)NY5_L&jX)4!4iNq>RI.$#G@dti0XhdWX>Dt -$\5_p@)raa`XJN^*,op,5f*pP^^K)7$c'C_Z+p`TZjS"^$G`_MTVMo;UBTSAJ>>.U -!lQX!r.6Vo@UPE,5`uKTXpXF_$^&pI+Nt7eb9CrN*0Je\1$f8sg^21=#\_'[AbQ$% ->]Jk+"tPKs98mH,cK.g_-1BboK9G9\Wk.N%]5+uC;&lQHclSh_*hhEj@GX0Kf&?_c -;.8BeU#I&"$lhsh(n_icJQ;i'<"]0h&`DpW5j6EWaooN$$c#RHTZ@8O`XUiq%A<7p -+RTa?64Urt%Enq`^pjOj[b4D?-4]2l/_%`B1e%Ua`J4q2L-mUl@`g99eroPX1CGpI -Ldae-"@2egl_7Pk -@669HBe4)MZMJ!^>&_F$qTD&rMaZYLCgU_e?U0VU@#PI9=pj3="TZs\^dns/!X'YF -&R[X30.7E@&3?Kh"2P+e_!2=N:(.,ghka]c/;A)LmmXRf7DhH+D7F)1?tX(dAu;** -#(EprACbhf7MLDBo'kJq>2CT -+iXQ!`YlQ5)8Tb`+^bqU,SGXo!oWDPi&D(ZE!/FD"Q3#XdKG9>>u!5@a+/I?5^3T# -A-jB]#!f7!?s!k("9a8W'-K+F!E9,o<#37p(86<\iI`T\MAO&L(SP^J6#7:!W"Qlu -&qL#b@/^U#4q0@V$D;tS+G0J]7eihRA'_,EL8$J;7/;G_KeKhVdS)F:(,f]`M.CZm -`]Z"G(5.;kKJ2Dqa;":l-7oU)/@G=AP5Ja$#&n*l[HHK@-s/%k$"F5bKZGA\_U/+D -lnjFh5jOTBAQL#&$A(Vs=2u"1UAQUNE!44%"A/^tcr1(uM.h'l"]gOq(6ntk[RD,#Co4&?ojJ9)POBh#mgiT8dGP,$j:0h*rrAP(DIDQ^^^_@#\cBRX)B]G,+aa;VHkh/O -'nJgTiC4YL'Gs-O!.hs6F,P9_+*b%1++OP;JaNQTmN,ag*b!1o+j(We9Gg&X"ee$h -J7K1@`!-4[#n;=f-f,2\QjR6j%3Y'P@13f8(_)$5%mZKm+Nt">bRlKD^EI_n7F;sI -`u++EJ)U<1@=/)aHk8Oq&0Qo7+GpJUD@&S6$,EbR^rQqWj:4H7&&A#PJJ3ZE(PB4U -&KqVqi=$9K#S:DI&4$@.i;O8&p((R'%[^W5^tK7&a:)e='njLZmnmQs/KmBA*FQYn -+S$$D!Y>A5KL$"YY]#@a)2"V!KD8U\@+#K,d2SaWIpe4LdS;AP"_QhL2:'T&1k0-O -lsL3p-B"r4?rRIi2S7RpGet(U"iaC_mJnEu;'j^63:ff%k:"0l!27[Ui"d4&bSK/$ -!oZ6S5W06En.=&h%nlm5PI_J/.MT]m!hi4]i@Y^\.kQ;=/-*3?\B.hJ7Q*$smd*ol -\Q(=?nW]E`=d'?8fZ09Q?'_R$#=U],^m#"QO:%X[$=LdT^qhSSAcuMn7"E$4c'^=D -<9.1qmSdC:0N2 -CNhIXnY347=n;DGZMZSW*C&W&5UQp:kDj,o$4 -IY;*!"qFg>B;rH1X6g']J8\!"IUeB%X2_$X%$&.(M(>7?'-K%CiKsXsQlVh*Vn`EV -A(Dm"cI)FP*oZ0C_3P+QQ`&e5&&:@>TZdP3b;-l%cW\+q'^%uNlqI4Y?ki5gW$_C/ -(^2d9"lMoTTP=T0BEt1k#Csr!i5cMG64oo-"G(;*5Wfo-Zi^?9*IoCUJ^+<_c5U.@ -)e#B@iLgr/0GYf?!s&f5P&1A3-9e,d[hB?jHb4"e_e' -+B/d.$j8j%'`]p%iKOA:P&.tG*'auR6-K>Fbe?Bc!5Zjm!Q5pB&/udK!MP/]THk8' --j&?S%U_I15bnP`TjP*#1LrY77LEg%H"&-C_Y,'ZK.>uXMo&,PZS#P%2Bmh#k(5Jf -@&,Sdj'P!+@3kOd\(jRZl[crY6Y.6E_A3X4Mg<`QY:u"Kl9i#dk]R -]nJ`N'E$c$>ifrji!Gq?BBW_,@b#;q:^#S'/F&4!Z0!4E2aF:!JG[&?>8J?OS*q@nKM -'O_I_JIDrp]F7&U#692]J4^6$3WfCB5/F-FJ`Hf^j<#KK+!LI\@J^Zrp`IH\W[/,s -J-6sFp8+JR!2\#j;ia`*J%Gs@9a9b3"@'G"G`KPi/.pC\-q6e%m]`>+Uet^ -GS;-G'0^pZhLlMm.FS;E&j[u[TdUQQLXQ8=l1g,I!9`WTZ0J300X%k,,fq4&X:BJ) -&`F]AhMMqpQkI4mkQ*RT?IeFlcdI@`k2>iKJB`tlnd(2[pEIi[jG/[(:eTq:]0(O% -7+jEtF##O>#eM(&@'-QI0EW6TYaqhbXOoYoe,Y'M(a5st5TUb.CKgN^'_?P_=Y:D^ -F92J`)7o(:@?mNpG0Id)&th*^a1jDQWnGZ^2-[KX3GXl?^14p+UP8?ZqC2/'!L>%& -ZN#dW/5%]%O%G:bj5?"&J;oo2V@5J=/c-(iTc+#X3q7M9%q+3Ek-,6Ge-[bl#`O\0 -[,Lgb,pbo_RR9u%MbX/&1&XD3/KGJ9Z8_`8:iK:Nl\/es9>MK5Q -IfLSAqi/H;'RkQSYAam*j8sTg!04IK8RQ]QSHiX*c#U.M`ae=;*-Or#23_[,@pH7j -Cc*2m7g$F9pIIEqBXC.#d/7oJ+q@.SJ\`>Q0JfI,Lp`%M@)rVYgOQ`e\-VMIJDMo? -/#C'pA:ka,!4mXgFXr=V`1^TbH7p<"14C;MO"'2\H+]_p-=Cb^*G>\(U#q;\VYTM4 -,CaT@1$S^$&-LG^^ebFE""B2EE#])NW-BCMn&%1)5k$$KoS5__E$>J&&=aLBK8;uV -'`b4.DZJqjlP1U`=oQ%*VU,lk(EeQR97nLomLYDqaAOP+!Q6E15cg1qp4gflD[!mL -j#S*q:[EnWV'1Y&(PT\==;?NU85Ks&TccZ5"9@pN%Z%q,MDg.*@4E$*KhtHBQ_=/# -BS,AtQ4+XBn2=Vh5k/;S"6>!P%ZE]X3Z8,dpd,VsJL%f?Kp'rg(5=TGLC6^ReN3:- -iGa`1K`_nc&J(]D1/F:QH&?aK0l1$@J-WqBEZ,2qE!Vcj?oCH3iAeCe#"_gO@G%9< -WFZ9"NL+81Pk?tL=uN3;CFQQcQl&a&KWGsn!C0Bk9L-ZU%:$A*c#d68HkP>sP -U1jBEPG;hq7[L#e\qZWPC&4ErNs%MZHDk!;"J7&d6?erN -c#+gG"XoI1O((*B.gVlU\0Qi\Y]j[]&?lnd\:/s[PYqiS%O"4o@LM.J*s7UN'`h-0 -%mYe1M=<2HL"I%T@n[/f1"HHM=:?82hujRAoDlqYqZ%l-I"2h"?AH&`!+XN(JTN$)on2<5FJ0>g5";;1U+pl2D@T7m)'SA**&V[CPu2,Xa+`5_;I!P5tD^o!72$>3-tc/kX'jJ#U@.;NY?qN9oI@> -0+g2"HuDnu9j+^r-F%S4+:*4S@ELJ.8D"gR;$8rB[R8[ --g`>08gQo?&NW.2?BZ7q:Is^R.jgKc)BZOuB5*/ZVK@9P;Hcm*eqcNoi:J=I^m#T_ -=DJ%JW'CCAr[!*9PS@M-;$t)c.`J=u(4sm>$SbZc"]1op_LtL3Td1_1pjESOO>DSu -;AB\g8-bg'n'W-59*uRM5sX6$K=^K&J\i%r8n]2s&8i;M#_\kLOAh*')DKHMhg!J_5k!b/r0JaiRQ_*D01J?U>Pi*HpEm;]LUb0sNu;/%U^VmU)FT7im"#_S5- -!s3"=JH9jM!(bT[^^PE'.tCnHMq]=`TE:.)WWGYg_?&["8qE*O8&H`8"p!N0g<6`q -krJYsd_,f&UY]YFPd1Sqcm+6p?kpRE/I^VY&dVoB#),%Z!Ws_+NNph2a$B7s6dU/[ -+ma3hMQ\%1C]f[%J-1N#U]R9P6ik+6)F5KZVr8ugiHnd`DTVuCLUd+$,=H7l\bN>* -m_3,20o#4!.8rb`"kR^@BeKrD`H\&tS@bkVpKu -%N%O"$Aq[`#Ds.D]&N"Q5(JJfm)ZJEp1hNE^tCd(B36^#D2G/ -%Dm?W!!Bkj&:u#mi'B%`idm;O8C7hk37*]GJhrHVE>'-V+FfR5l]X=okiIGAB'#*[ -.tipj%S]bPk(&M^3*mMj_$;mD-E9B9+P"hL0P-:g@ClZ8Oq>K$:C#i@.Kc?B)?MU+ -&HQi=$@q=i"aG5+i`n0oE;gLQphC%"W%A)_Zk@p\8dN4s,6raB*X,A:'glXhNM4Q- -a"[&e6ca_,+o@D!f7G3#amTb5!'XDQ-iaA6mlhfujD9)@*rn-F%\QudL>YfGK+p$K -;*#JGk]@.qO"1SFCiRS-%=Q]crS8\O<^bPq8 -a;*Xo=,C=<-&b*2$=M40K.pI;Jq-T&iR0N8^e=mCNWa)bK>92D&29m#.tX]LJtbR5 -LbFAT0-mJZKY.Zr(f:GJ8jM#r"=QUI6_]XJ2%Y'>JtOSS#W4V-5G0,f,.YetbE`GA -69np.K'XF:?o!@r3!&/PBM#m3.X!8'eqGR9(K?%@0*Va+`>LhVVU",@/,!#TrC,WIoL`s\%HLWFak -&:'%E!XEC]!%;sp0EVP:2$Xg\#:fjCBQup1^crY;LH-3+cshN=@KhE=KW#=_TK*Sr -%g$8l2Jc-n<$mZ@nW6^IV3oL66r1co\>dDI.83N+Gjqc0;(1L/!P490Zs&WG<&2Bm -WRA;.5Ser*/qGu6K9-ZIMIcp*W!-XZ#"WM0:hrIE'8H!p!'kFVcif*IB83F1"t3FN -TMu%r%KoTeJJ^ARj\4["H -#R/$]L>H5bE"/lc`Qm_u3-\=#fJg2d9]N@_CG=^MK8F2:l9A]dV/hGe5 -".JD+U1a_gEe#QY/dT"ZETk&#I0Raq#0@be^e=aL9?6N`!l4.'\/:1CN_')AQC*ml -fGcU@r=V+8Jqt4pJ2REf22!q#KJ6;SaAN3b#R2,cJ3\+0GQNYH)@)p`!"'I7BRBdc -HnY8A/a.CL:iHW%Gm1th"h6r#kX3J]/'.@WbMuC&kSk%Wd#ClObUE4^MHLI+.EWpN -9Ou0m=Tjf8Gn=^n8$p==.\6\+?NPa5JM8g30Fn:9Ws,/9J1tua5_bDGEW@e6#&"0p -@]>'S7Y',\9^"4-fH!Y#Q*T&g&6cZAP7l)CPnqIkQI@XQdkr*N&qPQGJTr/c+<1Fo -&cr=`JI!J%?k7ik."L5(!dG1VE$bSK-%\YuJk.#8#U"].&V7/%!@p!n!A+=L9,?K' -2GDP=4!DQ[:"],O082s*n)[TGNWR536 -.qDJuB@,H2:X'DEdhJ,.Bes-0!;I**qeUfH%=m@G\5S%-I2>b=L!bSld?PVI]c0hn -)U[@\;<8fqm3#:)+]7nV;@Ohu*@"HV,Z7nmdVU:.FXC"3Eu-M>d\tCkX;V2C/He3h -)^%\)m4\\Q0iJ'IK[hj]XY_8i8%A[pK69+=YV(N=3=S9V!EBku0Fn0TSN)-3;Re"$ -pb,ST'*=qd!YJ*,M+ReY9S%UZJiuUC5W0Pm8Q.<;,fh^i]f?.&``+o6e5.n%=>C$# -22'%^KK*Ot\1RuqEIiX[LN!3(89>(R"U>l`!-iGei!tM"C]R@K#(RZtJ6;pr=TkBGKV1DYi&cPk-\DCF -!WXN86lI>L4p;sq)^%ZRD4CZ0-%\tAO23/Ap`orl3!4Rc"K57&4:;;*Fu_pV%7+q6 -5U-=a,1O+Wf0sca's'D18/mX=P%mmj#U0=p-\?A+"!Bj^#XD<7U4Zi2K3`Hu&M4#g -,pca*W5/,N5TE+@pn]Ob;#L5>XU<[9)M-6PJ\WW6==1%-5E$F^#1s%_fQ2QcF,-+_ -LRhdQF?*UNbZruILhM,8%;?)!B83Z0"is)^kX7TD&.+;%ZPC5\HBsY\,K233W:XBO -KtjkBeumi`h-/9$N51DQqq`1bhB3gL]tL85^882CQA?rs&3#.O2^V?k"b6m_I(9HH -b$;@!#Clg[I+JR9`5MdUnY5eK[S.gGbN#4PH>YYYEE&q_5I -d(UX_4s2RnPU2j99IT\[0HAj'^!%0h?1&6`:-6[IaN'+e&#^MmXn^r"'gf\Y!lu&W -]Q/XH/qeQ*L"Lt^/^'9)!j0ga"oAHp3&IKHgge.m71>uR>4AdD3jD7+(?cQcBe5_# -8HCh)JKns?J]'Rr_9k84P8cG#:011h2&)\uPd=+q(/>X$0EF-dK]!8lgK''A6q_"/ -gsHn\?s6DAI"0KC9Sg$')@qGp_@mjE7EG[PR(GrD5;*?>j4Xar;.;)+mk>lb= -IWoFbG3>HAB;TreY'alrI:p!;B?kthhLB2KJ7p!RR4Tk\Ckc+\0atNqa(XgYkft]M^T_f]/'05$i*#K49=egPor&:B8[!XI)#!&MXq.IXnQ -B#m5a!/Pt,+tB8/YoL-T/JOC8=^'SZ$^JOj(#^_I$g>6/DA"h5P+ -\6FP->D8^u"e\]ocqsq%15(HK"*d'581t'9.KX950o@SFSY;$:Q%KO?WSp`\6$ --P2Z0Q=<+2(c-e(1H>Z0KZuA7'rE)gV\]H1e:\pZn3Yfjaoe.>K);>tZj!$\mi.lK(e\uU#!`BI6Ec',Ob2F!?//e!p"/)\ -fu5c`a#_pES@d!B(FQW9u1nT785QUlhSEpoKL"di>@TN:UlSoPcHJp'Ihs&X>M/9;`" -!rs#:pdTel7Kq-EKudqX:hUTO@cG1PXsBE0-uh"];Qu6>E=MbfLKJ_\Gn@/1h@gH] -R*r6r#7n"dA+[TD?[;@3J<)TObaA4e#4ctqQ&sWA7NI^`r1,3;?hF%_MoSV:ph7P^ ->m-?V/s]6,)MtWVQ]18YN;c[@Sl-[-16f$pgPIOo=`ApMM]aAB'TQpd8M4ncHTGFu"C/a*/BGQ3r -pTS61l-R4JAX/V9WIKLe7Z86H)Z=TmA<"P?$B -:dP7t&;+X[!5Lc$GR/tI:]O#(IZ(^bG;d!ea92ah -HiRUi!)(?4+F\+`*/F<9!0DO4&0HZ=AqOc/Kr@@p!nAK88=L",_IOpH66QhI_]aiS -ZZ8!cO.-PqPm2@t@&TG_P#:H& -8i[e]7\`P2e;70LPqSt4#)'iei0-YP;94t/,j&u)QV1o<4bUda5hT*pFA8XP@ZQP' -_U3&.hf9KnLVqR1Ge/=;;,OTo4BVZ+_A2RXX?`Np:W=E[aioI8'95,@o#3AP8;'8O -`!.+LGg'\R)i]U)_KHLSRFW\Wa"rk!S4t>ip;:=;e7^WUm`&I^VNbj@)oIFD*^:ce -[i4`p,>Io&7FE&r3o*!?=0pNGGC,n[hhSo)n9Flf?Up=1h&m*G`K<_sjh91t?[4oc[*3h921";fU#DiT7*DNkffT7?b'2%1V -dj36m:JL2p+,n#aaA%9Id@pd_#9X@o*T.glI/jN%5n+nY!V1F7B5til*(EaAA12@D]PJof`IdYn,RrAQF3`9J7iSp"Ib%s+C11=_)+4V6_L(eM8@8BgBK7SEEZ[K -S`s>7\"2o6h\Y,;Ic"6"q1%B%1O?Le'#MTC, -bL$Ji>S9>a56ep]*lt7X3H$UL\(uZ*$#U(uZIpI!(HHg,_`Koc@W(G`U8?5KDFX+QO5j -O>7kD8;Rd"A7UU\dOIdYfcqa&PW/cV+-fLF:9,/hk+HZA9)e35bN?&)gnH"b:%i6&7u55o;8+OM2aNG^'l% -/51u+&h_3!"rlU8!Y4bc!/IT&>4`hM^Z61t(;TolUZ_djU%/9*aS#Z[fR*\8n34WA -q]DI6IaH':LK^0IFed.eO"n?[`q[[d@jkH8l=(dPE,#d^W$ToV2@rFs3$JJrMARNk -.Ehf4,K\#g8hc)N6?m+A_@/_d+[&fD"]Z.7>WL?'SQ>%:W=8m>YScfCVT]k7i#DiIP\'q9,:>FIp-De3"^n@ZJuY%SlN!<[`ir.f,;9hJ -mBphdi>ih(E1IAND(u/R3ZKDn"Kj!^\B3MM\ZjKg"#u8B@PCja0j6?J=NVWa&9LaE -5Bbr_g:Oh7mp6sD8=$49!5k%!JRM(e!AJ#8QQG/CpC*3Z_G1=0fdL)eiI:6\n\<]H -s.)X?%?j\0:"U=C.eAam:"B3X!6LH0iEuf-E:Uk%GeMus2*@PA2,/.MrZDX@X9$lO\J"-)j7!/I6B!$gMKA;lO. -!&3=I^cYs1^b-u:lQZfd`$,9@Ko5AK>g(dG0'3SVgDSjZ3i7o@5_Fe"6*fi:X1($# -*8nGMK -SC:W!?tkjISQhk4#EA8f\)J:2p0jKC%Gb'#mA7%1Rqju!n;sO&@tS-#B$V@ilF)Z' -Rrb0>gtM@+B4^,4[dmF,Tc&]A;$mP]-0Z,=+9mdUe,]eSi^7UjEI_K;VZou%!^adE -#aSL.>:;McYY?Nf>49`^A32#pJ&>=5kCO%,hCkZZNS -gn\*S+_\E=VWr`Cl]#nE3R1^rTEP2j%mdER#!gL%ke.U$a\J*HqI`Ca]e?:+*hh*[ -IoYc>>H2gp[FTZe=R4d]YP$bgf_ZIrloguHG)ji$HY7-]h5e&/hW*AfQZ__ehD)jn -3X>`l+dYH_dXoN0D1T6@#Jh@t"Rd'[j]H^>?9VEt.cj^J=-[`&ILCb(?4OhjMO&g@ -13t$2kkuZj%!,Z3c5E?&-CiTt?D;7iRC7!Fm,+rM0">K_!%p6QKrDU(g4W%q$PM -.+K<4e:R6%j>oIi#l2?T^iP#lbVm8XgDSq6)8Un8JV"WQ//>u:%q-4^i4ocZOTE7J -Df5oZi[,kD/gDPu,HP2V8O`ubM@'^!WX>Q%MQEi<<0\TP"Ro.q0NRiRZ49.h%fl#. -:hHeZr%Lc%%LJH'lJenfkS*7B$W)F2i*Z[aM?I2i -:2>GQJPI*i -TNDM36jo[C"G#38^u>j>64T[\@mKGb+RBT7cQR0A$6W@Uj4XaX%QS+Wg]2$>L2J8r -,$c=]<'[r&5Y;Ick!"=i*Xo%ZJD(-6fF+?K$ZZFXKmF#;G^%R.-kZ6aT[3h7c?(3l -)P@c_VQq2XidVG>(aM/m_9`p)-l#U`#JaXNP"=A*q^=54El=,"-!40lN,V%6E!H5Y -D[]Xd$S1f*-rT&3%Bd[pZGmA+)C>O3^geW`f[9bM$=HmA0fBL';@[:l,!bEq@-o+F -g&urY@UR8g^o8]?mbNRpF$PWs@0?\k!*I'((r.%,a%gb3.RQ^0)si.n+<24A8-5JS -&0O(Gi4K3N\Km?RD6>(#DC-s5NoKWg2\Ua%78dRpWnq.i(18C'@A$HB!ZXMk!$UX> -`ieDHfNJHG)kfk*Th@,Ueq'#9k7Zl9F+WFiI-;&nk`1VccKst?gHCbWmh=YCe)NWU -k<@AV583?I1[dP,q`g;E5BHule-/)O#=-cH5njVk<"D9:'1%j(M$\Fq5X#;N5QjoD -P@."g:BGi-?oe:$#Qm&SBu79o0WG-XX8q&^+LEkRSd:0B#9se^i7&3Df0nl?X@\ok -MS'AiH4701$fKn7cW9_+moBimN2EE -UM;h3J-$gO2!*'#6Z,dA5RJJsTE-4/(goTG@=/DJHkueh(BIJK_,M!(rXe#/$inBO -L@Ypp-E&ULW/r^3mktDH&.$XQ$8d&;n3X-`4K>)?&Tr+([<iSji5[\V<#;&&4tVcn5:d+.[# -'_.;tMi>WJDW6[*)A]22,=VrH?3i;A$4#H:JBSJn'-a+5JC`-O5jL+sg1=[1$K+eh -dKU#$\d0kCCK>q'2HarnEm4]df78MX^k$%t$j4)O/J1).ROqpn'(I;j=+_hcF -%rl#YG/5+ZTU=-T38ptQo(KqHX&dogY$MX#opXi7/,R5bbDMs3sfQVbRH:Zt_=?$'h -?o/Kt*)N?';.8=nf:X.$p`"_p)g3JDi@G'S.L`B4Js`m"Qt_Ig76J@\kTE)Q;psnE -+[NWaN7cTFf[l*"fo9+gNYpZ6=P]")j,UY4NnEra)#''cqi=kXO-os/=T[ogGaBOH -V]_=/@3(Jk>utG""^ob3+MA.*PEOI,0FEOJ\Mc31kSkn#kX@N -_[Q8'a%>or/c]&XWAK685QbCN"+WoF?qLVg?j8lH#Cq=6?t^!X9E[XT)rMhXn'3#* -#>S<_eTC'uPjY8&o1sK*:\=faoa+I;)FL^r)P@QYTl^=/EYVtU'k(>T+^,W^(`!-I -'Z!NUJHc[;3XdU+PVl&W0IWkr/eI<-"'&V5^nk(3B`rQu=";0YZtKnp)550B%=01k -E)0!^aJd4@S+WIt.a;"n_?u2,"Ub=p)FiqO1Qa=f>S*d;UC&^*atZoD>ufN*Zr3-] -TEq3H#aOCrMb:B"\AU2QLTP5CU3):TVf&nc1_L -'slXVZiFe%e%prH0so[][2Sa0f)>l4g^,*,#kD@66!=>@>D0i"FlCLBjeNrJ!Zm@t -[kS:-+V4aL%;m;h-\`LgQVh?J#a#5@:5l\'+Q!c6:F-K)BGTK!OBSenl%)jdP*!T]n^l>%Qc -5ComQ?lU"cL([NaJo048CQ\s2^]_Hd-33VZ5r9EW=bJ[qFePl;+fsV`VoV1r4V9R(E0!Zd&$)o6opD-U`^?qq)->Rjl7&tsgV_1(9Yq[t2%*sS%BMI>B$ -%Kh7j$_U6&GdGCpZ-)U%Mtk2KDN8eS5]pHE9BDfFYB^C>SRO?k3bh&l_Mge;j6%P4k-,Q'@c'b/m6U -Xd1e"6@_=fJ4>/?J@;+s%%qtVTeH]p0H"85).C_m6-L@b1*+3t!?pf5;1'Ic8SMe: -C?D]oU%\ECoDq8M+$^;X621G2q;-uG6aE4'+g:uUYS[?c(ZAg,@:Bup\/#*Q&YWSH -Si/8f\)YSHn;s&;cmfS6L8_=4%jFOfR1bp'/2@5dP@6MT#nK_"2/99ZYa[#?"m@iHorln231IJ`nZ's=b:F-u#U4f' -ig%api1^`Gb?!XK2B_&gSid=R&h`*eH@k"#LTE-IcJ5K*5`u;$Nn/bB!oZ0W!$2sS;WR]!hUY$2j@DOKmN*.6*?RT=`(T%a -Tre8J5qJ4Fdo%.;5J?!`"TYn!5A!\6AiN3CpB-`m>SZd9C%nPKVg3W=qc9a(ibIj+m]1PlrrBKq#ETbJ1%,)#4H2Vfuh+)W=U%: -T*,D*^kD,t&KK*5'<1=`GsDV\aT1$TVk[HOj%#.,8SQ;ppXB+Xegcnl)+\Yj4N?$B?UnZ'YZY4sE0&R\Zn,[o#^^mp[ -\,692gh\k)%/P=QcX1\FlZTl\^@uifgpZkO,>Nd@S2oKu#:"^]>JIQh$ciKk8Q==f -2'PDDKkMl8)B_nOFF]-4iW5VZ_=R`"83u*QJB&h5"Ic03-RjZXhqZ7)A)Y'oA[S -:+hSU_))Q6"jeAt)8K[LC&pet[KIO]n.9K,5Y87s!G8=$#+:1\-fK$?s&^0Me#r` -\jrqXl+QfCfDjlJ*OCfA`RIE0GK:q(V>ut2H -4:d)'(71DC,0$3=C*_B-6L(>#XtFK6m^=caUAhp.NW]j38aN5Oc7nW0-J'p_nkE#sp)k_2^@tOt?E#=oFTY=SF"DM7@Hm@Og.f?F88/VUhLXI#t -3dCc$'`X:+qJ@GZOr[2u.!Qp8U=9,Q@H]i\\-UU&e)LsUA1e"P(_NE[6O6LV+TrSY -&V=e;$3[fDf?_F&)EO@bsppdiuQl\ZAFV>:I@\egk=O9D5:)$1(Wq;:sNE5GRH -#sfF>6khiqU!PhWn??p69!\i/,WN`I.hb<-:Ccn_1kpP-'geQmB.c4s!lrr]+NR?7 -+jmn.OY.r5Y]4F:/0tFoH47s&4FJrkhue%^K+Nb;&NWp'5Xj6Ea@TbJ8q0[9tl -0T#sa,a=1[OoknZk5_9Jk".CZ,p$lg81=#]O.ZJ:LOogP!#TYt+epJ4#iJ#:`>bSo -0dUCQQ^.-M=A(T?4Fe"6)^$8>MuXnP`=Ne!!U(("Kgr%Or5XlI-9t83dWEeqc'eXk -REZu&*p-GCR?Lro9prOM->?LCZ\70V;pRI!M<12TG&UK+gJ`Qf6*096()#9Rqh9$%dH!6MQlAaeRLP:9l'VQ/('Ll(#_Rr$"!V3+ -Md`'IkQp2i?jM&2EUJhBSN9%=_FP/VQ3.=p(DXe\%1+48*.jh4$?c>,)a^2-![oZ, -@6>;.d,52IF`J0rZtn-jJF&EJQ85EV`D_>8"3'bf"+hru"]1Ek6:,_-l]`4Gpm -YWdOCP7cSD=c2`l`[b-_+TgSP'#A6Q$XfVZ#:ll"5j4";?t;t=O=D]uYS%_[N*1]t -Ah*kkWtZ[i:Pdpo,6Q:>%j@GY#%4M?6D-^N#`fg74Bn4.H.c4*a]^3+E6>M..F&?s -3G/3PS9(QOcIqAAkIg>W1Y.!$)?3!8m0TG-/q_O)-U_X]-INmX:[8SK1oUboND -de[$=BtZ@?_'>%UY%e.DQc^%1#,ftTO<9(V=9l6Q*7bQ6Tn0XU#XLY`4i#ni[8@8Z -2=sZUc0.(N=;2VG0P]8Q#W`4HR0q]1DM]Mn(%"/!de9mh9D]P\_pK>&KI5U/:%0^C -i/Z_8&2%pQ?,JXQ9]DRS?#f:%)EC&@jaeYD"tjR@"VA$__ao7kJcnsZnE)CDO@L3V -PRS+"j8^XPY=A:Qgi5D9B)&hLioBl.%kn>Q`s<7s,;]mhd=)OYpp^_ViU7-`Hmg1p -G7"2e/Oc==i1FNI$P1$<59Wf0hm<*Q&^9;>5c,75\98A/(eaM*kL4^4:Y./e)1q(\ -$RipiJ"[5`V>Hh8DL6m<];.W65$B/B2VL/6mqIB]AdTFF,X"ER0m>dj-m;-Emi(aN -`(5igocD1=@O+@NJHsiFjC&G@Ca/YY=lWb2<]X%D`W]3/'Or+W&rl*5GdKig1J?s: -&]j]:=RL.'ah>8'Qdo\h[Lb`D5K=p^e-BD5#)&qf!Wq_WNZ%XDIIsn3knM-uJ,hbE -.-ZtQr*=]L83.;9pAb?a-bO!'kBMe*@VRS1mj^L!nDO -3n09aej%([MmA0LJDlMlg:rjN^pFV:]F_m^&]";W]hfpSE$@H4;mImJL4L6Iq$3JC -a>h;sL[3q)_XN>LZ`?'1!"aB@d"7%K+U=qH#H2tL&:4sk#-Ta%*L]]ulNX2iG_S$C -'AuReE"R_Ng:i.=2m=u6/!t,Q5\rX2FpFB7LRB*k -aE7J*FTrB^L'UJ:le/1L0!$`N6OZ?""@S0Sp497#N_ndH-lnKW*\Fn`/aN3cgbD4H -6q#\o/jT"fDLrDbi"INg-@[nmrLqWT+SVVRl#^Q_h!Jb>k!0C=s -coZgJ(P1Ka.#SXoUeWLW&rmS;0gO\P<(0;VGt4X[MPO^B1hB/o*WfFZ!_=jC81Od- -&q`/-Lo"COLr(dJ1r'8)B$JS6`hL`(eh+G%*Z]na`C3KHVV\ARE:,Nacr8dUmoKUSB9i^8bARqr1;%6Tun(Dapb&f -,c"$hUrm5Eb&jIPKVk(l:Ospo!L$MEHb"bBVLt@H+At(K;A#TGbqV6XJf5.W-o]=J -_$!@b]JEK="3#j?-VL4YReSPEH,To.]q@d'99c_,ZW.'k_91aXKV2)a6XVg!EAo+` -*#ZV_)g4/[`j^a:S/-;1i"4/uZcq]6r:5*XO"`RRqJ67N(&I#+=!'"6g -!!@rU@t5t;L55ncLi@k]E/05LLPuC#XPgh/+,@'%#I&<#BQT!]$O56rJO!k&-m]'G -?%ZNjKg7eT5X#8E4p$6XJq+UpQkm>MRXoOLT6^4(RJMOBqi2:K,AQCn?mUD,2]L/U -"FIcaOoY[7X\9Q\9;!X68e2m4R"B9-S7!q#gO4[0.%p03'):;aTGPt<%0Clf"N:bW -i['58FJ.V(+Ta0GUomM2]*/'044$$@X1gur,Cr/f+B9*]q>hNp5J/+!,$Gc*"Si+$ -.EiV\)rNRU82PtbZ%Rp("G-CP0JW_Q0q"s_4D5JVO;B!8(Q-Tq%qJ95i:]S`EK0#X -8M)Tp(`n6Y*L!-D!tZ+J$iiO+mY3_-LFcO4Ca+Y.)j"HU%)VQDculA`E$r"/#%.W> -?t=e$ACFpr!,uD,!+CT@H:IC,"[ECu5Ze#J=;"#'#H.WXW6?gAN#l6_,df\M&I5LC -YD2h=L:CrJ:hdadmY5RIL#>aa&>B:)JV,X+JP[erkT@o(?./e^6t>u+HqY%)r=5W% -)kka0+MM%.(ome4_RpAJCkln==&TZX7Cit -\qBZnf+;oMbT_hDi#ZUcOh',8ND6q5:KZZCSVV"\888^H%'fRd!?a:_819Xp.p+Bh -ZQf?N=<)mJ)nh%o!:W8\86*HE@/tgd##GPZ87dQiLAV@YkB -!#'tZ-imEt.8?.226=,FE^+O$5gnI?\E:TjX,B0;i/[ZS; -ZeM,hd[e"8NO`7F[t0OL>K+3YXhWUVofWJe$Y@%VdIg`Z^t`M5>U@FAKtX*Q^0EhC -gpOlNKudM)^g-!?gl9BZjhk+cE%Xg\Y&mOCnr,uY1Ik0jJWV=5\."%ud=ccT6R7gue3ul8*@%d0UVQ(s`VA(SA`#P5fMN.\R1:jJ3 -K?-"Q-oZcD'E^$AJRC']O;NS",6>"m+2Zm;Fk'iaJI8.M8&^l@TGR^W3JERLDm&/!l)<$l"b)RELVAnLF*9$$"@J1`#rZ:&' -+lX7]iXR3m-7!%Y,iWD^icZUbCoUaX'@?e<@^C!+,@2K]%0KohdKh[^4tr_(1h*[I -)[i"&1N$!nYg?K#T/k.=E$IDm0S;M+d'ubFZbp8N,m,8Fj7Y]iQ9^*m6%nqu\S;l& -:cHU,^Q+M![nCk68Z9+E/KoejS>j]%aY8=V.K[+B",K&Ba@Cp):P9Q\KP2k=BKcGn -4p/;"K=F/HE'OOs"p@Ik!*Dr!n,nC6E.AVY=RCu0Y^HK_I0Yi9LQHY/@!.51$\o"& -JS8eQ80S7/=TWhN";i9b')[?Gn,ZMY!G(as1RucYT$LC0!S+K^9/M5DrjL5sKFgW9 -K3gHD5.X!@A-b0tDDL5>H\9C%"2I)B(cGjg"ZD4-Y'X1M<<.V?/q[JTBQ-H(F-l(% -BBWm/2h;eJ9R+-R))8)Yu90&[@"TNJ'Uo+@%lTOg'JG'HdZE -"9Gi^)BZBlIfm7]K$6hK:_eOY_#\C%MUL[JC^jS^Y0u5H;YCa]R+G`]+d!<`!E^[I -3%tIa(^3/3Kgdm+G\dUU!f',565A5[Lj&hAG?Fo\/K=co^^Pn+P6?L[BkS!NGRk^k -%g4+!"?l<]LeC]l`G!*EhuE)gZG=9S3] -"Lq#'cq*HS68#2rg5%C///2K2(^cQ(m<5E9!:gVWC2KX%-Dh(6Ge2IKea7cn^Y[l! -0&CH"iM6\6lA4.)Qlm_*G(T3EJIjjF?k**KWSl'Vp#lSk;ZO%"f!msS0J20Gqf(P28%>S>_[_8bQ%JndKFe[t -!(6ht^OZY\"F(K2GX_]67>+2BKLL-ZJB+Y:B,c4nBIFo.-9a]uXH?(u27-gt+1M?SD!M3-8dlJT!%0 -O;HZ<3c[4:O#Z<.5TA/.#o.U7&Ks5fkY;,n:#>1+;lSI&TcPZ1#DX]/LF@o]:cO"; -3*nm-mRSo181`ZPKEOBjKW%cKW)?b?@?A9*J='@E#Yr?8Ob(a<,t`*pm$B8,t.AfG&qa.fia%!f.VDGU7oc,_@]fJfl0: -\0'XV9Aki.q%o6?-^4@-PkesVH$>PLJ!TncRJE2`dqX&Jd8@"J\rQ?Xb@FbKY5!O -E(0X;DDp[Pq>aKA5Z.DX[Mo]F[k:.oHZ`#B8=Wr-!H(N=SkHQ,9S)CX!iRUn#WdX; -8Hbt^KLeUc81oNc+p!KD!LO7GQllC-+9GpWJm^>6Lb]+c"U*IkJ08Op-O*l99`PHJ -Aenif0QI/LEX&`X#-_D7(g[>A'*LiV!C/-sk&4l5R(:,*3TH`-=o:'Ka0f:hl2u$' -JecV@Y95SV"Lk/S0M$KY9cL<3+Y^.t+HM#+$4T&m4 -6A4Oqrf3$&rfED62hCfe!`B4)3&:Xp/3.B>j=#O*?qEbT9e;Q%VGdeSl>\fh8to/g -KAl1jBJ^UL"Tir(DDi4:Kd+oXY[T:&NH.#Ls>&_0mooL.?[,qJiL8t7a#BLKj929 -88LWu:oY)4JUS)9[m83iO9O_=!55!i#LiGJrnDif^9#<_Tf]8)j(+MI\H-f4r%2a0N,?pjlgF"FFL9TqTh1sM4Ph)3IKCuID";lnuU -$"75*)OWj!P'hcbb@Z/EJ-#H(\.hXKhmYFXDau`VobQOa<2Cs7TBFi,I@U?]ct`Y/ -Z%N@L7&Vq7%)F@7*/5WLmlFJ?[:*4UTosn0#*lSu)oWuYL)5Xi5[G[l_2+O0#%Ess -)2^b/N$O,:5`-?`@L-9^ae@O7'.\q,Bis.+rP_oEQ$p=PbXhS>R9bB7g_\fJ=B6/C -=/G&@Kf?#('nsaZ:_s=-3`[*K_2\p@@0(UYIc#@:;g`$\(%H\t\6)sgi$!g[J#%X- -,DY8]%J#WifB?@ei+cj.PD/c1'omuVAaU7d#o7D0MVm> -=="-DU_eY[Ae%+_4U0jB*J=ua&OKSe$/m-XK[?S36F^;.TnG"P0YSDl=D86'S2l>N -l5W1$I1Kci4GZi5+iG4S&`PW=Lp8QX7*(W,@Y@O7;*$0q(onA1Zrr;!DC`]Y[25Ru -?]7j:1.DPo(um_iN=ie3!5Z+J._?65VVRF5W!HhO:AAU_;acI?,NB%N6mRIP.XmZTH-:>X+IUQ2$K#!K6?:#tD@)*bsJ:23cZ85#1 ->Zq.?AhsEhbT)-IEXtD:4U8b&*su\0WDK'im]>W=qf:s>m17JcN_:a*e[?1,!^6< -#EV7n"'?iY+`J,![$23>n1P$6o.DO]Z:CJ/\SOuY*95hdRBnMYbupr&ArPQ7d!cT6 -(5XQ)Sdb:$:$-j_iQ&P2d,5ae>06' -DK+'.A>cHcC(B+)6+W`i*8su#ppB1%eN.VK44Fm9Ri:Qt;k3t^j_V_(3sXA2Z2i;V -k/j(+\^uclI^*J`b;Ip+@-o7p;?g\4=^rtc%%3N"@SjmC9.sXg]p(2dN5:n)/7m$! -DDbm#YX*n/f,G'0:G?&"fX!eU4'[uVI<%q=(bKCta`oW_lG9q.b$bFFCp3gH_RMQY -CE%PLT6'dY>4^Wum<`!!lsuO=6a4D/Zql\N%QE/&G&J9#KK!]"T#ZWg*]DqZh2pj[ -!Oi*_)uYb8_Rck+?T2A^g_YU)>RePH.gZ5m'8<++#t$pIkrg.EJl'Nu_O*^p_$I'F -5-2P%0&bU_e!bn0^WuRL1tNaTYAi;uL(_Ta9?DUclWu6FF_>^\rPQ1;lTdtrZeJ.O -kDA2d?&cIoJP<*.L'^X`3'Ds_u1ZhOI^i;;DenpWgJpqK4+"4._o -b,.FS!\d+Mp/!7Cn*Cn+`KCYJ?o/([r01"X%8Zd!:[ecXZ3rq)$7Xs@!0RX9C^2:P -JH.S1i'7DOBBUn4&/bHT)(bq"DFi,c.(t2q!.j>S^^_C$XoX*V -'7_hO@)<&>^]k7(Ad2^N:oXd.rX.T<&KnOp@#PB,MVsA'&gh.q8XKbIZjB@/$=LIZ -C"AaReHLe?%;B>^OZX(Kr3@Hi!n&F"WT#s8]*jpk#C$ON1*`UI;qE,9;D#a$nZi5GhLblA=h -*%J?"M*qc7I]br?$.(^=MP>Hp$Jm*D@k0_h_uB*P^srfLmSr9m@+Z)W -1_N)p!Wd6Y?kaMF_>qEh*T.,Bk58%fpq=R_DSbfB+n.,CjrL*#*MVa:Tpc!jRMVV> -(SOS*ThH(!1_J[8"9@j!!n-U(ZpfM4#f'ULN$rtR.X;9t+-H849O>`Do\mYd5_K9Y -j9BF2(./LG/i(Sgo$0ESbq)cY/7^mrDZMLB73c2pl>3UZJ>gOS\.$\&+FqPUJ@72j -U^:F4#sa.IbsYR;r@\52m3$:nVn1)f2(ql_1_W;5o1(Vn8Moa.1-gj25WfT$GQInh -*<6Ee&nE$RFrq:K%F]GY/HTh+l2W!m35Nf=U!+9;,ShO#o'GF"A'+uUE5OJ+3\sBP -TPR:eF9^ZD#Jb?bZa;ihB[mco2&!kg7*sKDF?dW)muH$bX#1*42\Xh*j.P"[M!Y@)\F.l?*Wc:Cb61,e@!bUnTfX,*k-Z\'[`G\AA]_"KN!s(A#?k=8l -)BUK^DUWWD@JD_]m*NT**8h/DiE?;6=OJ>OjpdYHD7JnkDbfF%i/N$dTO\46@L'\L -#Cr$B5`c=<siF'dR2?0n[+FN3W\l?t!ta -"OCcU#TWRlderRW?1m;c2s9uZr]lMFTTZ1PCLg:I#ZK^eKF.m[ -('O-1@mEMR.E$dV-"?=VWdm^tlLH1Bp]mIKBIVCCi/q]R0,l$jB_IK&e)Hn^k@9$0 -C,Ta35Z\&-)@4=8C6iQ>TK%L92.H9R"?(ASJij8,WX(:hAY -i(OBk-jS]6!MK]7^^:q-Gn%4];Zh%^J-'Y^"5d0i(lW= -J-Z.(OT:^_i.=4JmNb%r5AeX20$8L75=/D&#]L[g$>Pk,Ss5Qur]lGX^k2rdG+@\) -VC#jmV>B@$e9f[)'"9N=G;,GAdhlK2%m][r+UepU$4oK)&0UhIELmXpUN7.M,Zf1\ -^g-%Is)uPZ#ZaM5+JX(pR$pAj#iLIQ^j(&-[c!/O@4hED+CQ=(P3kb^1W1)%F`W&5 -:0XL;nAc_/5a4$3RK\50JDcbqZQKQ#V?hr\4NA!\%5%iXX\cg+7Gu)qTK3Wm?34P? -)aFrR/++H%li9C`2MUSZ73@5[,&YTJ*eDlBJ^tf+%&0Qq();uFi%bqoOq4^a%$c/n -+G2\5/6ca"GmlIg2-2n#IosgQ\G(qAq2b=LO%.eEu*H2l=;[uK"FMCMcJcW]<7^F's/@#MJkE&gIO)q=H,!6*c\6DJ1-4J"\ -3E_RZo87&W9@QCR`RJ;KCq>;7&@P#<=4;RRlsOK2"OX4pVD;fGlE8,Xm?cB0=aL'K -dsNLT@?G.)k,1M>[O'PA("ZNTE&UPs#uWd@VD/8YFBW%K%dfT8#PP;,2N"%TCRO]u -6<;7eJjNdq6>C*+8BpeZVA`eA:o6lBG<"@`(69*nCLi`"*IroXoC5UgVI&BYR`"ei -EU*"7SgMs]in*tc'WQ9PgAi"-guINGQ<*sVO7AIKVF"8i>hR)e'l("Oel31cA:SPi4^hd49S4Ubi=)u),%`i%#-tZ*= -6"YA0c.dG75%fZQY8'6/f_nd0f^49+<>f)']%N@MDC%cbG;O_rYTK-5=06:b>G.&] -J;epWYVX)G&n!O/+`[W-E9"dLE?WM"6-lDOdueb%*5Tg<;I1=ekSo)W!?nZai#!JX^utnDkG-tD#dUpEi*BVGf3Q!rJbC6rHYKp8D.6^f[_$OgHZcg0F1;$l -\/Tk+4,LIoNOW2T\@[s7qj"_(RCW3\p_GAqQG[3hk6?bOmmYr9c&#qrAG1h=CQKqI -&:t%!\=(=g?&9!pR;J8WZ3Bs#S!DElO(eYe]O'9.SuKC)WOh+pc-:O -*!)c7@A4PW$kqdY&AUC>XG\gW/W"d8O*J./H!/X>;cSEo-Ml%[]ihMo84.f"N-OU< -4^ZQ!CeFY;cs:SA?#[dBDiWnN1SSdUqVBf;H.`(>ffb9^7D".]b]7*\21YfETHY/F -]E&&G*?YV.+mK%nld<@0gcR\r12n>Tll#j<)ARu@9&ef,sHtg^#3.>0cC>,?$q?j$>NfQOW4Y)^SgJ!C9;iM -l(DFpdfZG-i\5cs.FUK3Sq)*d@71\Z,$ZH,$[gluZCn8\(P_D<=$[PkA"%e@&[!Fm -h0^ZY#q8FN^o1C4F:'3M$)nMMTTOJr]\V*fQ%jHp^8Pe(6JR:kZW'BQ^0u0@,6q%m -Pb(0Uq;fuD$t4m("U4=*k-@;t$\fRRA!%./gf*5'pfhB6%!27CN4jl#mGS1!7&bn1T+DP9GVfIZ*@(+5\E&Mo# -k$].noGhs!"OQ#Wk\'0l6"3HOcuB9p]]Ud6J3S0Fjl#'ar+floeSa)g53q,+NSm$_ -HDC@^(Mn:8prmkW5i$56"R63A64/6@$:*SR5i**G3"_@5('1E9+f]J0Ec7.ZcR[!T -K_cQ0?33E!&n!I-7ktR,[L13Z_Up2YIWF8tllZ?q+H/?&%Yd>:W'i*K$\q)Y&BL)" --P;5)imF-pDD<,j7q<5-'RE=oP/u_4R7+2R/X8u*P51?^BeZ#Mk4;`omWC[_cf^N! -o`g7?UJRp(>"p''9r:kRFW,BpTi8!lCDBIl?FO(?=6nEUm>f"nYutoZHW?NfBsua_ -f,KFhhfZJ8Y*XH2BJpf]LP/bA2@ND2'T0-sbYYJXKbTA_GS(L34s(5h"-abe>WNnJ -LVuM6(nXBY(2:#TXDj\+.+W1@Qn^E'8YH`P"W]_S#G;+_q#ETci!9;&kOSItrnj?O -n+$>S5Hj>*!ZcuF-Jf[Q/@+@+H,XDu5P!kE73=Y"fgb+MZ -i0YgIEVOZ(7"Jm:),P<0AIXAk^hk/e1DDts8F]Yf5t1k7%=oYO7K[1(=p^IKBGP3N^_tr.5PG9XJ"L*Lp2^530qni?"kXr''d0JP9*6HE -#S.JVBLk#gThq[/L#L[%(s69KAf=5V:(q/HG$TG6@IW+r):`tD'o(`C[O$oB0]"CB -@^uJM)c[V29+KJ%7Oa:)R,03NA_DeaO6(Y`PEtA+mR*E*H.I>2kLo!IAS&F_MkFb[ -(6,-S)HN?)A2oiO%o_!^)cT1.G*f=H3p*':le:dAZ"uKK_6[s)50Lo+[32-+(SAj,m@i-9\M -MrAp;-]dA74rcG4A%Bkn)>[[82sU*ca(:_6d03B:a>4r]&-eA\>SdXN#aI!!^L4JD -$j-4<1&bXKl6-EW%$_Mqs"m:oUsN4t!Fd&S$#h/DTX#>#":Iu`F=k5il4fl&q*h0s --`CQhaO2h2#iQaJ"]2-4!uPJU6!pPH -iZr#mO<9;0?9k)'nf]P19h+#_ldU^LI0%F2j1ieVWUiGZn2LUpfJ.tc_^e0[&Ji8ED%8f<3>Wh8EMrM* -;7?lr#C$=kj*Urgl7=`F\.BFm:^i17iWt0gr!HjX(5-m13M4u_R-+kiJabp9JDo38 -2&*]&EqN;09h;6`2PsIMQW.^B;Q:I,X&W?.<@ZO#X*&$Wh&>1$L= -< -GE6,34fI\-ERsj>O7WQ:7@4]'@H7t)E/k;m.LQKsi"lK+>`r&J.T4?flQLN>_.4;8 -"uf6cWO3eI*TA38#h&"4jT#Y(=b[)7]I.%\8/Qs?o*P0*-A1f8&"gX'NM-gT"]4J) -"/(ppJp.;&/.`]g<7_HioHBu[DZ>iN1:l\O$_j]7NRBZgT_$1piG:e&<5%'c8:aO9 -'Z0VGlf`a'L#'&&j$KZp1<,O:OG+6F'CIQ!'HgLS$ih8#`kVj!%L@=6pDQ5G!;[Ya -S\>LE8d.X+RKEV%7ffk5+Frs4?QlX(!hcP(_0A,:M%s,RghPR"7HMO-B/S]hCtPE- -24r@p(e=:bS).ak@kTF.B,p`?1_W6$=pHtLI1;om)R!m))6'W)8>DduMU<=q95.Zd -V)6bids>Y%1Z39^6+_1D@6bQ\nCFs7kSFnb49Z/`li9P`+Wl47IUn@^XtB@X>V8r^ -3G1$.^_$)X!"a42cji!8YcJ?8KKB;j>S(JLBQa/uCMDV/_]?m*`E9&!+ -LgK%k/bNNX=H_hS9u:SXDHRc=fdJOB<.0VBWJa4qGT/d`$b(T>.+U)86DF5UJE+,+*r2.C@] -N^b3RU+H1rZ_Vn^g#%(_S4'3)n14fq4;*>*_?WF.Jc`dl=+KgI2ZQD(*rlk"&"j(Q -27Bn7K@KT9J_i@O+Q4)d5["GD3$H/s-OW4&'a2m:$\AJ_QM7?1Ea/9j41JCL0a8YP -'WM]dgrGg2@V)6YS;Elt91`6e*oP -;dfp":,UGA,id;Xa8h">$*FPNJ2hDK(g/.u2$#*^!k8qrW$27]+X\uk-90e3!m$>C -\LW%H6*)%VU`@4`*C9$562Vb?$m.eM+@7%m67aBK,UGc>-,N>&6@:.IN$cE3-pj^Y -6ED_)]IcISN<)9PJOhHpLbOLt"bas-J08D-fDu37G(9jA[F@/niGg:`GD4r\"lMe^ -MqN^/-NR@-\N5@_2$6dO\e$J*j6dpPbAK"M33qCFqk>Q!V>UhnK0[cFIsNS -5GS>"$"SXV=bGoL"5m+.W)F]"@R0^*LQDNAPW5!C,mVk^#5DVWE+-aW;[!F7K``e- -a@Up/8V@?["9:A,J1^jig4krRiQ=W[RR<=.O5(,5_MuR6A,p"IKQmrZE%:r[.Q2f"J`%>q -dca6/O32:"1r2\I,O7P"(E#Nq0*)VV^`#hpLe?tBb07(^gp!$snIdQU'R[&V)(D`t -ZV,(QbC$Zi>d_asZB\+ebCmE!I(IJm]1^)W98dc4'Z!F9_95fpbWNa99Z'P'`(XFV -9PhV/`dP$l7lJnZH6 -U4Yun"$eXE/E@nBV?6pf!pUo&;nATPq&c*o3m%bo%+HGaYDmeX%3[#l.VjW`f=RR= -K1+FsMn5ZGf:ZoW+sR&k@O@=d^8%A70$0SC>JYm-4hk\URo9ZV:`BFS)?K=ARue6a -+>Nrt0ncJ8"K5f1aC>Gt$O7eqJ=(D58-juAF9$Q-#3Z8Gk\5QLBndH/"rKu5\4VBM -&VEUrT/[jBGT<2m90MJRNIgWEC,aS+$^kZ;AfL%E06@&]EG,IfGTp!WQ:>/)+99QA>dMZ,QY/P1FO8p -L`D!P(P2?+JT)fbBGLYO-\5YPJp8#^CJum2()"t0Jj:P"THO>\+9CC;!RMdrjagM3JZ:C9J@H3n8-slG -ecU.gJ5AiK-sQu7!J][)fXYt:RT"rN."rd/!:W4*0G9!d-373p6k"Z8*.lTe(W8#Y -`(D,i>gJ%i3E`D9K8lAR[@.2Z4G1.+KIB$;+@oZI7K_jD",J]7LarO/.fotr!XKft -U%&kMl4H]lb&J@n,=b1tr?Kjr-iH.]j#0HqZ;i&Pe:8luTFh9rE.uPA#+u*RTQgGJ -GZ_b2]c_HJ+E`F["GY!.!,,ks,]*_c#DMtsL"QN]GZ"OG;1u^nKYk;c&IBAb+M4N*[DGVjso1PB-G"CZ'LBOq0OAHt;,8VtYklWrA<]3_H38]Z@o,LTeH -C'?j0KfD5H!'LDjdt2C#7u_9>jksG7)G5i,^9h-D61C-_;\XBO&^C3([JM?mrW0_1 -hu3IVj7Qe#3oCJG?oA)E)KmKJ*+2MH5@t)VmK[-;$=Hm@@$V/XSc9fZ$t)70?j6L: -Jq;jW&)]_n@#bV%p'fnd%H1%d@9+4QeeBMJ(6TP(\+qfoHrnhWDG8aYc)mCdjrl]D -2D:I\P03`fH9%-kWQd!U4.Veb0K[_h3)-L/c,gDhgto:j*6nW^c5bih4QNB@jqKr@ -&UWaal16-GqLWdb"'IKBS#_.X*WgtqV>)<6l2s)kjWNb39Za92rK`Uop-^mg3RSiJ -,J1O-"bQof\6pqa!Bl$7/thDQV?uoAp`lWn+tqVI3p=I[BbONdbppnI<`\X5=c:cQ'q49FUF+2LT<3Xb$fmU[^<;k*\m4k`_@7^SH9?W<)L5TPE+ -*6Kr]Q>eJX5VZRNoP" -!MQK"`Vu#<+lAt'VhU!TeQGnF4GD1,#LEIa&l%5>a^25l,m\h&BQ");T*:#WKnODu -(_6`_0%OD]/k@2"i=ciKdVC8pJNgF+8D&oXg+!/t.OB]4NIkr:JEs)CCTb5`X=1*!5K+rL^O6F,(Q%*!q6HspdtNg8qp.D -L/t3VZWN!eDFo(\J8emOLf&fo%tj'rJNt_g6Zm784VU"FNBBS]J1F#o+TpXhmJ'4i -#re'&iWP'.KQoq=GX_f)7>*odKKq^'(d8$M-\EfoJ_2<#i"c@G*!'^lT-Y\cXF%Fh -Yj'FEiD:I@9XD_0pYTTW?Wh!,GS1*\7[B]K!16fQa_d@2]-QOd_kK_X5]_H(F,).G -#:OSB0QHBC^';Yn!)RD6L^=6>XTT?3Ju)2km8)4)L[T\bR@Vj7V6%%I$fPoX>9=B_ -*t[s<%p\uunRe6[CHc$gLloSG?*d,mLE1B$*V#14ETuhUBI/<+%g2P4"c-po88AG[ -N/*c#LRVY@W./Xn?h1"_*1&(Li,AZME*OMn"S`@Xpcj<(5D&YDK(C\tmiV)\Vr)G5 -hhq=jrA53k5.$?A-kAFE#)6,Z5'+J%F7D_od6@0(g=*f(5Mb%EcU!fq65:;)n\77$ -%nUjj89CgcoO/iNf02F^9q&"$'.6AHInoYU'G:7K`SW_kmnOPb;tW(NFT4gQO'$Oo -'_QrTFdGPiThk>q+EYq:&cj(6][F=#7$0_O:PgT1n1V^q!<\uYp3qEbcn_=V!u3"? -O_+<_=sLXk.0In7B@KE1\0OeqdV'X.?Z%Is[P(Afq;VnE"!lu<.8)<[6'/nuJW#G< -RJOO-+qqI=+j6u#WUM'/(*QOQ*s"d?q*0t9I\7>H;dOGTd4PJe#.Q1]9mR)6 -GtX9;Ds%B>k85FV-nf3m0kX3/OVK>.PNQS($kdc"O_HQt)@3sH.Tr,rqu#EJ4X_AZ -!g/0qY3qt:cZJdd/J7+!ncXZ077%%Q5([/oa'_&]#X!du$j>3i!-hiT4hq8-js[HG -L(FTE%f:rf9RsoP>`$o3$W;%Qg.3+?b0`_(4o(=`G]R;i\#1*JWb\W"H<ZNPJ%tl1chd\!r.!o.#QSBl)M(0sE*,LL'aBCZ@Bd7`7NiG# -`F;\XUg>nrN^b8@\GUM9,EYQ.13k.>9duB#jjL,][UUtY9kKT7SE=ZLS3[6d&AX)s -(DI=qUP$?Ao!nk*?N:>KkQ(I.!$@9["8VorJ(Eqnb4UM*A$=R%55",f;&U&=CQqT[_&W=McE;8C`6R@f9A9,2M`Y/V4(lSXX -d9s%R-km1^K>NqMc`90D;&])H`B]kfWDa.(;HZnp7&a*T1s.qlO$F=S#1:i*Zn!^A -"=19%t.)HXV"5lF-';30$@"H<(c2sO!ciU3sa63MP -XRS?n'J0o#Y^]*HBrV<)K_R/q%7),`-\Z#CL_g=_^g\6K&7cM!aO2W%,"YZpQLlqK -[%SkhP+)`u#1$t%q+EBB[/!>__[e4gZQ-q>aYJ7jb-D[;aX#,pI,-d,YS>O#:/ci/ -4ASngq)m!0h#+t3/3LZC#=6FP6\dGgo0?1%r?4GRoT^XmdaYBR8lJ^&2b_\bZN.fq -6BG.pOoWlNAcZLPjoCuc\,^lJ?ig!:+f,_\JLOn:/F9bc.f0nG]IG>gu=."2S -hA:&!6f+N]c5g9$mHP^!GTHI/i)a4aHJfTG",>d%Aeg-Zf<+4ki:t"gK]74l.?+"KQO.*TCXGqPYa0+[dNPlnq!Fsh%LmpB%[#>r1[Pa*BHWiNA -4.`<,$bNp3,RG".BG:U.4$j[g_/g9,bL]R^-],_f\iaii.*+/`,(1"B^J*BC(PU*& -?Hr`UT0]4X!j>2,NSQS&/W2qjo:'R/i)eQb]q7=2G%"cX'SR\i9G;Un:<12)blCi# -pOP6F-2CbI^b^8iLqYDIijbL+$)/2kr.U+@[MA.W^Ub/-?-lO0KjO5)bltc'2^UaG -=DlRmD(p6Qm'b4riA:Rf4j2#cS0A,lU`0DDCC\]23sSjt*5f""%ACQh"d$)'66J^= -%UmXHV[!#!PF2U""ht+[ne%Q?dgG&['F#CRf0^BYJhW91['N<]%1ARqL2Itsdl-.> -$)7Y.&/bTTKG-[[9RoE<('`EU*$Snr%=tB)6@c]]SRZ5dc^E#ZkW0+rgfmu4E6',D -'[;tYpP\?@1S1F1)U&IA#!jXQ"G"8o_XM[N6-r=,OYSUUGec\AS9Y)Xj?8#!p+8Ym -FoXh\2#p1r(TSfW!F\#1!<@=U/3Fu6Q/bU@SmZ`RjbL[ULbFI -:a"s=K7NLu"2MDJ,2tp"A3bs.\QN#!nmE3n>)uf3TjB/SWgd1cPbP$VhFZ5e(/nB -8bG70h"dS+rdR`^q`s?K"JA^0KMZt06)\?$TsQG-;&UTGk^=2?<*G/VH8S0*jVXcB -DNE3!5tL5T-)h^p'H"M#f,Z,Of&>!d1QcWA'p"0FQc:JP4?d+uSl# ->/N%*%&(HqLB.Z"KG^0f,&CEe6"Vc:d(C/<-sR-FGV')40,:47&rI8N#/mHs!hpr) -JY;o]!;LUE+HSC5E)IE;+>!k>P#e0lgm-=XoKLUWbK;>8BJ!Jl9n<9\KA`I2_LZt@ -!XK;B&QT&==O[@=:j0pRkQ$C+;BJm_@+:EI<`*Pe!98<-!>/ofJDc8e_5o,S_j;r0n'&8E0g?)ERBpL55+/;@AP:XF -P2*(_fuH3f1Zaq=`coa3s#t(CqNc2WA'inC7C8$PTlYs:d4-_cY1?.r>&0jH#')Xg -esb4IJZB4IS2U[Y7,5\=8e&$j1qb$7&V;E"4_oEd`'B\+CL(fdXk"h7OPpk*7_N]u -FhG2ioa"e1K5d\J_lm,SinS=1E\:)/g6XqaSE'NgVK$XFOJSk_"=ag4O=Io9Q`EFt -63li0HSgB=db>`bGOG_e]LRqL>N:#9's'#J&BG]ti*^:R\1G._SCtau2IJVFpUPK- -i-8\(I4l'?!uKaAT7c]`O4c3Zk;-7HNn-j?#Tl1%Q,"SoB[iK43]aHe&0SW7)\0YfUO+OhupJ?g94 -pjNp-=Ab"7+>63o#o^^o!KQtr5!TDLWH&,e9Td@p`Q/T,,#A^T0]!)QE)`#%+;TW< -GROW)EqJ2,3D*\#.Mk4IQ'bX[b5cK$5nIuM+Ac#I!"Lt(&F-c8dUH[rIk]8$`:8KB -i/YXf!QOo^`$38/$QM2QK:j@t@9a?I?uuW>cl<-QG*W%FTiedSncU*)#f'UL -Ogc;"\uVUuE98^:6g/?`b"NEl1"%@@NBG\7Ib6"BfT&"69o]F;Op=^IEIc&K -_!Z4J,]PE10eK7+kVA&=>Qr*p$53'`bs9b&]]JR[$B>73Jpq`< --d=OS2!8O9Fso]?i/E?7KS=$LkcItNk\(-;PX02Sl&*SE5ZEJWOYgqEgW61E^pM_\ -CtFYn1Z5-d5^q/pluR$BF&(+*jHT=.aR/)u+VD#siqj]\EWuM]%AfXcJNOi9'H09U -!9(fj0NoP1g-fIDq!T>f+kB++W"o@[(#]o1JJ8QD8.BR_#XDW#&e.=S-HO.A2"Yqr -Dd5L`(:@!P#39Y2!AjlZ1)W=o),+Q[F@sLAlF@:g7Dc?ta`8FF"s+uB*AfAe+a*nf -FqfHV'S,ZSi:%%\0F;,L"!Bf/cl5^+),:n#:,Lj'<9m;DmnRur:=Sr4'_bDQqbS"& -:fRHkFTYI*%oCdi:ph*:'cBkK)c@"9-icXB?mH)1#Q]J`(4Zf/TooD,PT-7u)o:Y: -"^Y4ZQV(5R*^t5nJ-$dQ.Mj6("5s#GTSC(/I.fg?F9M+NMo\,#R#A:p2i#NZ+B/NB -!!V:S"i.,?^o.k'-5#4"!?mOF!!XGEhuFqYOQ9@iiUJ!5`Yngm)H0@!i._Jd)4$[K([[i*fuC@L']!#"F7MV83H\G1"_Y2`-(T -oEnCpTES_n&&:F@Z2>>FQUsKM!N,pYkB;60gnfT,q]snH%NW6*qJZ -)AnEP'HlZD+Qs+s>&SR%B3$#>0%L6/(s8Yh,-/ssX'&N!05#Hc^@@J$QCDShSMk#O -5300kAJn#3TkbF9CK?X7QEtA&R2ga%"lOMm@"8Yn9FO3L!oZ4N6*jR5Tl(WED<+c/ -+j^4?d7Jmu!^U3\JG):R?#00:CWl6!j5@_mOU2LQ:=5&?ZPt1%[:!C_= -0JEK<.,^j_!5dVg\;AINC7s`AF8%^IAM^ZU%=m5j::Q"#GVgei3fVC685.Y&p^C)Ye'>K`Xa]Q.W!S6D -F@4W7`r^Zk+"n:54+m2[o=fo7_M+pq4GZ%QDN]LPQO%(_=>u3sa)hIhOF!RiKoKp1 -k.a,nR+03IM!\@OY%WV#XYjbA4VjX^8*F<"#B@r%*%iO(!,`%W?3c#U"5riQ'Kp>B -ec9.0)'Bh8!D3F08.]/k&4"JQ+HQbWNJf_6PTq>dL!j;'[qJG=O!GLA!5\lS^(C?) -&G/j8iJmqiNk*!;*hWQUWHOZZ;\XE;77i:UTEZF;S/];:>X9h@!@eIb-jsEJ!rt\d -2'%t8>F$!GQ<@R\H"3/.DjK'tQFV4+)0qQOH^G\#Qs"j)R=gm;LR?bYR2K2)^ci"= --jS\E!W^"H^_RI>-ij>u'd*o"6%/fBIMtHS)I^hi+j?&4M,dU9Qg&N-TGeZN0G8oW -"Mi$pEF]9jrE#,$(q,eoQt:g)lC$\!0]Zh -CnR'tJfju=J;N+^`jQ!ckAl%tr;IFH?%R$L*4;)/gc -)AE1e!aroDH'aos^R8BDgYKd&S]BOA`SDQXh*'*??/+2+hq`_@h;.2L*Tu;8le`%# -"$eOB?rR3CN'>6rnf/%>h[+q+2* -&1hc7*^CLV,Sm)(!TAO\_.!IS@MN9#'gWfB!?)E_Y#p?SY+L.M'`CPO;o7663+RNWGq@LG)&>:QU+Xe.&/X.2ql(QrQJ.NZN -Oc>a`'V?c`gCNecV=kiHd%=psGlV&q,LP8HZB95&5@-'+1\]dRpH(LN+E+g!Xmggo -p)eq_J!Kh`ZdjSnQ=04NiC4Z7*#OuFWM/:[5J,s!k,JI+)1WPAG4ZON)?XCc&cg/g -@"8"PS5MG8Zj&[T(DK#^htb%X:('M2j5a'(!')$Z#*;],]Nd0.N!L[A!Ce2:l17KufC&-t&,Rj0I]5bbYjqObgp6kjk#q[#0P]N1ctJP_9EXj#^rW -6#e1c$=u!*QULU=[EhtksJ?ET4\oo9ZnL*YJ0@(g6KibHc^/:ZdB7I -JrfJW'shfI>jsNupeKm)Jhq3n[>Cpg/O$7DMA\KOnq*PdY/@:M3%H0g(au)!^7p>L -csj6a65YG#2Sub%2'YI:W>Z&)Y_sJjJtd/#0;@C!\VSYKGc4$s]$R0"cEroJacP;M --V?.1VPaWle?0ld.Y)]>L@U"q0?c29`@su,1s7^8+fJohL]MaJ-&$qAYS7G_BJr;H -5]MI)!%5V^!$Ch:"[LFV2%)fKL\^'4Sn@I%DOCK=N`?.78Gj!ZJs]Lcb`qbG:X(a# -7o<6n%8Tk]b`&RX2bIb#._70j;,^IP[;.Tn@@2]aL]VNr-Au:tZo`pcYp^%o7Ipb5'#Cp3L((5e'pf7iY@5r-@LLN5t-\p]kQ7[u'psq6]@i4nu -O5mbT8!.>m%Sr7!))bEZAU/H!QtaanbuZ[k5YG ->[6q9I/kYB\-*b*!$5L3@'N*aKB)I0'T4-HO'559O)C`e!M*k-_fbaA2hY[T+:SqE -J0\58!)]D6!(Vf+DtET=lib7.M4cs1(sGX(L -`\;$>@f0ht&UH:7R)n_@4DKlg^,\Zmko=2;\id"**=t4(X3QZ8Nm\+la=-?sj>;RQ -&e[W(Go%Z8A<0[1<#S=R.MdS#=;&D[8rXr-1nX:.*oI0JXdF)"V)-Ma&scM>GuV<4 -Yl8\Gp/m=D%QDAj&/Tq7$jiU##QrFZ"T`Qa!s!TkVDO:#&jd$0;O2e5\PNN06>$C1 -b8DWhb*s&ND+pA+m/`YU9;((<'S'_F!GWb^#(VJk&gg%C;&2$d[(qk*`(EBFC(2u] -I8@)qN.V+;$fPq.RZdeIaiQUlW#VKVOBca"MQ`HP9WF6WYZ?Y?;_.#RcB^jd=oi&u -1E`M+*@[Y@Jf%5hTen8@o1g&oq1D-;`gIR'mMb>srsRtN.@@>sEf@Po"QiMp(6jqO -W:CZ-5k_#WJ;t5bTMI`0<=";Y!#O%G0Fd\c2V#BT)X#O0#N5M%)oI%i$RKFI$.]8$'&mF9X>!?TJM=),lCUh4]_"Z^ -bU=dDr!Eu9Rk1D+(=Em,JkTV^6,pEr+V:r4d&8ZHi0^3iUd\IhF_j-QJ:j9$4GXJ5 -\gLo+]`k(^Dc)dS$<;i>"7j'(;35-/8&gbrdMrfG+dK!;%*dN&f6(u-e<4GO&>mEg -%?;,:]E]Jb?/TFB("0\*1cV:R) -G"p*g_^OUDV3Q(u=3>f$.qPfeQLa`TbSbIVAc0T9F!bPDfr$Uf][<3)5) -!09]]/6q$te..&W3^L8/^j*R-5Zgj^JGSUQPhqPmM;?2"Nu'F+b3B8*#n(BcoHcZk40i^lloK352b3\4F/>m$]g%;Dp?F1UUa8#8X,S(,"[ -lnSWM`"VgZ3sI!`[J$3Fk>bL+.C2?T -8*QF!]\fXYhP8A<1>8(-,j(X2W/(Tira9Aa(++.2*?T=(DaS(30P113T3>D6BH\(_ -`0?f+_@&\f*@!!MI&E5J,ZUeBYUd(kYbIUC8#ZNX/G#$E"(6A9!YGl.B:L5LOI>I[ -8N3\YZnq_CEUa*48dQe3*7OJ.:oYY3.PU@i6>?P*ks -F:""A/.6\FX4iUH.'bA6&s+6\_#UgWf^02"U^IMs%cItMGnCE@(5P#J!UAT-QntYg -_Q5F/dJffr)(l.Z/?LCa"l`&Vrc6X4j6S!m_E[gFW^;&Up*4aE>YL#!)3%tG:&qa"=JKQiQGS393 -9X!A/!lu(-_oi*p,6;a-3*V-OLo$*[nq#fo%YAH,F3Zb%>n_3;'9FaG81Oga(R*61 -'D'!c6[8p*=pFJ-!+9>kA!quNf.YWW4]H*VlOP=X&.31b$?HhHS_7tN)$%SZU!14&mTH\oB,6PF]"2IldGZ9DG"bnFD+2Uj0]2'4&:V654PSqi= -(^(&t;[)YeJ?Vj-?nFe[$7%-)23KaRa=)\f&-KgLKaH4^phYIGCo$uR'M*WP!.>(s -`.hq0#&%3@Lg#I6%KolfJN,<6]=4Re>D!1p!r,%]n3FBP:^,b_"l$YDZ$(nBFU+=U -LVd09:jW0RHU],s!'kK-?j?mD>QC^,KU<8QQo+mu1mQuA7YB48<7Hr>8e*j>9A(gT -_I8#V;?SZ`KIC/WG[<>@9a@J@7M5NPr4*!87PT6*0X*$Xp_SMJeje``bugbMMm0Gp -CX08^3u$jP<3/,sm*::O-L@hZr:/'knt^?0!NWC)_EPdk5Yj6-:B^GgPkWM"ps1G\ -!Qk#.+8Xu;9PKRZqNcDfC;-(7$DZnobNpXmJN?Hl -6:-`o(sB#-K`Q_LNg%ncb.k,hpHckH^o3``:m8%I0.pG=%(QJTnB@m\n>\;gVa>D6 -6ima4=$pXE^UPRB!5GGY3E0tpOh`0$ps$WP&#e_gX -fEaOeM]*)U=-f"YB_2 -%;[FE/1D.7'7hjo$TJn6'ktNJC4UIA5uMb4R.6;0`rYN!&^m1:8<".'87=>2JBRuNdJVY=tBH2U@(4lfAJP[fuL_58l -(Be,A]Q)I*'a]RJ;BcZCJCmAEkRW%8,B*W^L+ -![&81&12s1--`qd"o&<+qZ9SjJ$q%UL9Lf8XM]bE:4TiKKTI9h;-Ws^j]"DbY -U[bSs&6VOBU=H1e>hV1$,9]T+K5ojF0L`O6<mD>U@;CXXdF[$=3j#lpK_J;=M`L^8To8-"H:L3O"/G]81HE//*/#AAO9 -#^rus)p1MMb#09>:gShU$O$EfKB0$6`2b-tmQ,\uU@9W5:asCt5?fR.#!#2.lsa,^ -CmRtE7r-$J)+oT_KnFUi!Jh[?/5lTrUk>e,#'^:UEG2hphM:e$(FoWn\8qX(Es9>b -Ku)>moP[o](18n79lfma8ID'i+9U7,K@!d%LfoKm!XC]/J.QqZTR4ZiCOeZcKbt/N -*O(08.=k#=7e:PS-*:Tf"5[f($<6;A^)9d:k[AWRhK89r^&lUgWo7h:@JXN\7.j>c -Yi3#5@GW-d:*nmh-Fs6c7821_n2(:u+U7uLLB[QZL#:6H/k:b9#9X)',\.*U=9+^i -bG[i3-k_.L*s$W-'4qDWAgL6\&W1^p,OA62]UWJt;C%=lBKNGhb:TMsJX;s4uFnGk*("4hE) -ApFL.dW,\SQk -.eX=gWP.o\T8o$L!YC.hJuR@80Tgo(!m()<>sshU-kD.+ -M6%SrLoIRhGn:7f`!p,::n\7k9klO\C-WL7Qkb1.*s#Ib!`0V`5VdmE1*4M,"jR*+ -BPGX4Cq"6dhAtU/pd'H"5p9Vl!c8D\:nsogVNkhGfg[2rnh^oV*!(]_=agRGBKh.& -#DM!*@du^g\7[OsBE`3mKO\d"==+&N-#9)5+T89CUhe\h=:/'0j6B+DTj:)02?=pX -"@s"*5tZi()?t&Nin@?J/:1U3FoVMe"]tm2?o%e6HC)=l>jgBPrnQo'hl_ -KU>pCOBJC;BV&r$lj/*;MZQ?nG(lRrKqLU13'@m(+U17EA5E6i$a/\-j1A"KG[pDTN`1iGDAo]`Y>fce%rN(dtS)(";iD8?mF]p -o^%=Vnpst?hDKp/4+q!E!0C=f!!`].B7O)s#3Z0olZS$h",@;nLEf\$TEPOmAcQ4N -"^hXj=@*#O6:V#.E_n""^%>Z5-gZ=2NhkpuN9fH!Q#l[eoERdT[N?`[*HV6N]ga1* -]Yog];IrVO_dDC(*T!'k@@^f]>2 -EB#olJt<^!_m6eYE$cY?c=.DN.u$$nVVb#<4(s5Wn/T=^8qEqG!O=J`n/B8=Ne0EI -!i*:-oXkSD'9.(U7F3Q:E#&Le#0itAP4D1dh3JC=iH+)XJ\W@YJ0)XS30-$7JilQ5 -cl^TkFEU/L,Kb!j)&0qhYB0oK=O`9e7g"jeK&&uIR0%!qm6O:L65nSa -/#%mcfa'kTB50(cdfH?6+n+3"CU#;$'O@!Z2`*#TePa*Re,fd5#AF;(D7m -%1=Cu!QZ)f=;QPB?A$F/"hh@1WGBX"DRBb#4+N@RE&!fa$7eui`*p#DCF0Dq6U@*^ -.2If[7PUk"au:B%a5g,9$slXCPK"nHR:N$t/!nFk'02<.@lKiO-I\AZegNEq%7^M? -Yi:BtU!W"el.n7?:S(Lb2%#T7MCp'<74!"oN7a@(,hN+Z"0`!rIfLSARpE#m!.Wbk -2[bo%iG?/1T3qoYS-8"h!?+VX1AMOk725km;#"E`)%?eU)(^eD/X=Ok1Kf+^B/uU1 -BQLaJ#*VKPe7nSZD.]\MX4M02)a/Z%A[^<0pKO3Nj*ePsms#g9(Dh_Eic7$6SnB^I -b33nm4T:[KWRpD.HJPaEDnXurG9a?(TWfsR6@b.=#n#U@Y"jQOl,3iI7rT5f*hXtI -IXh[gm(()t>[4j0&Stpe*l&*K@f`GU/.@\o3(br`_+:RMKq]E!)$XiUW?nI@U3mj# -nku>&#m"^u0a-M:p(.a&n1IJ'TP94)J7i+o),1]HfY*ni^]Jm)J._!OK&u5*((d3b -JgUjk.$>k^oD"M6M*b%+-&Fs*%n-e6AIh9;FH$VR:gutW/r/HF+;BtC-n&OUa'n$0 -*_49QI*D7Ui-kY2j\1'AZ+P*F"/IW8('u.WA;aN3e>F`t&nQ]&fN'S\A(Ys!NF`;[ -aC6*FiE2O("N))K&.^%22FeI3Ysr"#"j),t(T%``@2Rp:Na)W3_+k?%n_#BVKB)1< -&r_EG,Tha!k]@Ys!O=:h@$Y+.A750b&V]1GC0r?e$5/PZL?^OMTZT5h225UcFubWD -fa^*+j;B.c-fkW24d=),<_\qA\W0+HAf719-R\0dPT9uPc?L>gps*TIk1QnsU1jBU -Oeq;GDNh!_RYI?(?pUH)(l#lb?l`F'&O[!@-MS'hePf.SZg?FAbI-^VA6?LHVtYi^NJc8tnAL+c$/DJ#rr\ --On$d]!@0bkNX*4)?un&AfM"@[Jh-OMSQq>Mke?[4;#B^)G($!M(/rIUpr0Q&-2M) -1k^K@U_O4<86R7qJaAFCl<^Y+K\(OaZ`WgBnff@f!D'>qp1!6h+^-('NY[GbO$1j( -=Fb2_Vq'F/(OlIHoH8r6!2BM1oDo@3$o("L%0+2#5_227"p8n%&&J$)#k1M25u;e: -!SB4QJF"9YW$W+.S088ZNWFk7aU,iN.8mu+%0Jjl$,JSP"^nDK!q9G`apXpJ_!V[8 -n=C;G+Cbggi&c^5b6d.s:M6?^eIg_I$m38:L7l+*'ZbM/_DGC&:])]]fTN&ia@6H? -N\U`^Z4t0;;Lfp81e-,N(rGno$R&n/.6s'B_,)SA:qRO`OBW-cQo'@ZrCDUOOqV@m -LJ\Bg$+XH"&L/K[$'Cl0"fX$iAAi;n$m\LXI0P7i.ZY^J'Md:h$c+hsN&#c2`jmc?@sfL/ -EY]\uVsP.15tmqJ[#.9@?jgKBl3/uH4ib,0'7t0tT&H,q;,GS-iAb?V!IQQHWMC=s -i*6ZZ">R\p1`N7OgC9:h/-K)s;[DkIMK)$#8,?s..D/B@ZNM>%i-GoF?oeMmkUM2R -W#pR%I2(UA;iECM0ZKIe)Inj2%RJqOa*@.TA'$]k9!g^93!C;>C]k3PR,+*RV@[-[ -5e^'j$Gq<]"lT_+3f"dARH,0:Kd+.D#HZ/25V[DS`#8`>?k(#X+V(6n#`D,@4GV8` -+%ibd(<5-7L_0b4`#r+mYo5ucJJ':tL*p/.ASH^LW3jL%O&tMJCY2SVLK3l9"+lX! -SGdrH:)k=-!-XW9!%J=AoFH_nAd!gLkQ$7/\[OXOgKR$a/VE*a&!0L5bk#S)E94G#4Q"hc<*oj6D+Hgb81^":F%?T[Y'DoM@`=5No5S,%R&p&Vq< -%fg!2"bCV^#JjL]#%3r?K(*pq_AH&RiER[_YbD:eW&2dC'IJN1\68plBMed"6or,. -lQ1R)H4Q)E5$OSE\dbXG%o<6\6=E._(BaNj -'E\mn$mHf(#^+cOa#F2AprTo!,4o4H0GkYD6l?:"[M"2=<=/2;.)jQ3'k\(YPJLR< -bo*33!lfJVPDC]B5c>C75Y2CdF;G82V?I0pOWR0$(umHug`)`*)+$"e#cB&4e`siW -G.UL`]faN1b?2i9k9,EX]EuI7f+//R8dWiu-H-n['gPSq#r9B*_oQ3giI!&*TUlaH -BLI"3:$L_e5Gr@Qa4X/*LbknV`L*tDa]gE/D-a-Kp.j9e3@1"K4h1/Cf%A^2LN4%T -=N"@s4_O-eDXK[D\@74ShE/JtDdDV@fQp'mee.9R&53nZ!#?78M6^g_%?3>:>iAp0 -0/k.S0>MhIa+=:7K&DMFGi[^6O]81Y&*<"t$OXpP6:b6fCQBg/b[k!Amu -f`a+Z3_"G[U!'D>@,r1-Mg>m8BIjI`e.DpO3g[hL%i:.k@17Z)1'UP`)+'i#$?6CX -6l9A9Tn"SDTVCd>(<,=HF&2rd?4^AjJI&H4.u(8t)K$[EYp%IO!\i$$_W/hB4Bn4s -2AHm4e51W*g&=5"!r$hO-V$UhC(R%a3&;;RX -j5]Tk,>dMKpt3L[+Y:m4!BLJgnplK>-tqhAL1!u8!)/6Q3!aFdU`d1,i78?&elo^h!so7eHMC#K3Y@%KopSr)ft#i>ZDp45JZJ]91* -Y\aU,/:l+qP\K'HJ5Dr=fVaeap`S"Pn0X-p.\e[L!pC&Pi67Z%N16Ku%Ig6KqLr==#iLf@^krC_J-\Ec#!gHIi&h\3XoX*V*af*lAR\[*.'ec" -73pMciSX]%i*@Lb9>NY!cALMp^0a-gC8.$k8q)BsGd":Jls_r(5\>L2BXJuD" -+fju*rl9_"PC9Q&hXPI+JK>IM`Lru4sB+'Zsl9FaIM`SE2HKQ"qc$U,"iPd -aF5=^on&"'MY>k8JDUrj.L2gTi+*%p0FZl1%)GO;Th$/2$64$W757VUc5Ib^!$:*N -!5X7!5St)@WWF:pfkoUN)+#3R5EW$tW!?\TL+7]RX -Z3_ZE#9bi3+]8mqEZH=/+X*!p+n@!)1+=F4_h0_^`%"*h,RT&G$@sf2JM%la -//obZ!TDBH5S+u0.,f/D+70a_J-[0H]E$p'DP<@0J1qX05R64TVuU;*7p7,(c6pJp -.;)>Wk=g!?ppPd9[]d'ABiq;6G,PCcVp`#P#U61HJLco&/1Q3$'!MY7E!TjE#/H`: -5\(6FrWM0W('$$(!Q"j<_B2#EZ=!_UN>j3Tc>I'H!l9[)J6W[oW!K&n$,D^u!1'>Z -RL.;H$4)$;@&#KtrX';p15M*f,npbQL(#4X"^s#$TI:\Ol2X-8:!lWfP%8HG-r#_r -)'KatJJ/Vi0NXC'2fY*AVP%\%^'lT:%fep+_"n06p(0jK&E#S\lOj]6KFA?B$#V3u --TGk:Uj?o4\"InkZ`7seLq!me4,:1XXbu.[I5chHg[j(RXZf>9QRX2?5&0MI/\sS+ -nJDr24[talk#Q+!><_ZO5]c`=7StU3MC$6[Io^rR%:5S'$* -'5V\*@Aj2MW#Hij)^2cn!P73HS/>[2lCf*u@2KL?'\>U_a6q:Zm7-GA;)`R'=n74N -TSNcEKF4UU%)q`J_!DW*4:m&l"!Jq*iBZVc2A0CQ&g7kiJIkI^o1]4j"TY\L+I:(k -K&[Q9)<`n+Ag6s4C5K,$$5KN@M413#PRGSYK:m=WaS,03&pLmJ#?<;o3H@g7C[i-LNhI"\HLs)7c6ig==lG_SfF@OW5nAW -4p$>EYonqgCM^"R5WWOl2"fRK%5Kd?S+@&YMf0JVF5WL)kdO<'U^g -V,&F2.+(?K!$UeB7;*7q,<%36<&d=#F81'(4%'(9$U@Mr!4i=6[b!dY$t)a;6F7+= -<7Ig*itp9D -('#Zrq*Z"7EWQ8]\D_0(6"h!@-l$/KeamMf>CLa']hPllK17DEJ9AKE3[hdY#/HB* -^lT#`8.EUg&qOc-`,HR'$6'#iX?k87U!k@)ftS7?)kic&@@A"J*Z(M6!oZ6Q%!t#f -o]uh?Y/dYiFZOmBL'mOD/-.',JRB9:+r;QL(c,e96%UY=GQIni\cGbCUj*Fn4qI_F -"G#$&5cAuc<(ZLn:1/+(0*7!=&r4T)T1V5/`@>?D%9rQlMD$*5WRq@B#_00?Sr'6N -Ldo^`WL,/F?>i_ri[U$NhC/cQE1kLNO2Z!uBjacGV[39VcR+M.P`1eWV2X`\I!O!$ -/=MkKRRiV;LY^UA' -.nIQ5adSYi,b2p>KgqC::GA>)<9EEPRA^ORI%>#N\reYD#$k>^=nkiZQjW)sASO3" -Fg)8<&.,B/Thp.@(=WPSfF%)oU5DqVafl2]Z-]&,d-no?Lr*WjI9\72@Q):5l1GC6 -hNLP(f-qW'a_0/;=^u:'NV=#h$&Fm-E[(1u!1-$:aiscuedMP_$impHB]99T\e!_( -&)h%$@:U@N&0.hkbDd3P6+e%b)Alm\!h3d(T`n.U[WB6Y"e_Lu5YMY2,Qo89';.;u -JOBS`6E+Bf[NSB[^ap1r\eK!t&p'Xl+KXoJrWep2I@&`s((0XD:^00e?iXF9^jH=D -HqRl>(>p;NiTL7bksj;,Cq2[.J]Oi7VA?rk(82-=TaRfn1pmn&lYe>*LK"IsBn[F0 -,.u1EfK=nh:/i5C<-SIJ?$Xpj[eg^P2I?M>6*e -O@0pO?nMN]0p'=&OT:1>!/M-C5RuaN"X-b\TK3p`^&d3,+!:\d)cJX -`U4.V3:%>_8Lj!0Li^RDE3F<,/(o/sYh4Y@2rr9)/"$d -iLnL]Us\FL)LYYU=fL!;p"LLAcX4*5D75p^f&q=gher2ch?ORF`Rj:-iutAb@Q5Ef -#@l_Co;"JjN!I#ch_Ns/)e[0c+eF=GW#Q48`)14WVCF!\`9#H=ONqnZ*)Am7_4XD4 -.YU3VL)1+JcuKtXmj!Gg307@f#=5SHL)RF%i0_D$?_dB)n\d6]kms(I`=k>8ThLP\V,UnYC-P6P-Ro*4?I?;]A6t*/bh.ng'>B7M*3Z)m#/- -DXE3&cugb"'5X#j3_)>/BjV7/G -cNJJN7h-[RhC1V)#[AJWJUhk2L6En#7o?XH`A4eWTX#7>"L'XRRQs`GGlU?slib=&j'&qu@h]_>8T\#N=qJSu,m2Ae\XX7Qc>KaN,#'6>0CGL;Aie -8Q#20,2ppj4V/Vt@mN-a';gR"BUiHb`,l!W3S4BRLN!NC*M=S1Frc>Q_Ie@2BlXIq -,k*E^%flt(."t!9UsmLA'Vt,OJ_h"Yb(6L1.KtEl)@hma-lQRMa'mm,Sd1nkH6479 -o8k%AciSW+Vq"1^*d%M?!M/@<)Io!SYs:GT"3ACo$mKXk-;=1LUS0Rh\7-A5!GIED -"X:b;&WMIR1.rH,EI`03LK2cH@n2+2!M2f;#'f/uH/&Fk`n1c;,XSM3PU1"iTHNa?LgV&'!Bn6c]P-OJ4.] -^-Z9QH#e.J_?O<744&'M?['p%5)p0pTcts7-AmDBVo=Rd-d1QY^FriZM8*GQ+UCpV -ER0?P!*T-hr"nRR#F[F-t3T.KJLMe@LqClU3(p[00>M>$.@"Y -#gU"2L(MfP6]>djEO7_qnDP?SHuk=1co4I6gE&^]H]$dIirp8"jkdn`/T@'u4lF(! -@p!`3YCn@9LRMk,PTP?^Z2.%)5n)\58;KQJ1Wf.&-tM\)H!q,eK1BkeT]>Wi0>&G@ -f[:[*BOD:CX="4Vedk,MM?RH;>_/#X3WMG/<^Z^mbZ.uM$t/9!K:m"1OfU7PE5E6\ -A4d&F8f:Da2@KSY08U6",R+Md(aD]Y%5GEq7d/t7_jPM)J]\"K.c;:6,R+[.2?j<2 -D$4n4T-h@,%Y9-iD[@a%_AFs8*N1W;O6Oj,i+*0\LcYcjj6sa=l]GM4Yp]g0Qs9dqDM1)T(C03T4/YosKS-bj&73dfIW*dV -]bbDl+N&ha'G[=kjLm"jZ-J$l!@i_res9#K)d3u"W#Qq/$c2%&"^s7_"jm5R_s"!" -@[Lg/JY5%(#j<;e!-aK3!'Q+9!$7nk!=giU!ChUJ!%#m -(`3C+GRT/m3!MY3)?V*u%"Xm-#-A?0ZkehP>$FjpB@r#(/AFqMTY:CC>[0k^!s)8fie$itl."b$Re -^q_l:J9W[P&54383#`Rl0F*QQj8fLIqZ%l.>1-DSWobe?+,lk8!+FA/5d7Z9!WX^& -0W#K!W(I=\g`TTRVj:5f3cCoo'1"m0iIUbiG'*u_";sftJftF+KHMJT+HHoI6q/@d -/;f,$&/6;JYpKKCn7U`hTC_s!GhM?3B6#1/aDa]ZT_'spcr;5YYSS(M8-TM8_u[ml -*?K<_@k0E5X[f;k*irdpNZh@*"\Sft18\T=/M.g=mQbD]C47&4(P*$"0t_ -Kj[dn-GX1&i.*m,Ere8i6_4ia+KGgl, -B[ResQOTGZbD9"\"iU2I?K2.nN"4+d4#jDF@_-<27W,Is-t?(^6m)R+/9h[<$0g89 -^N\.`eJ+Z["T`7^%6tUb)!LUf"5Ql'CkLe\:Qt>j:obGXPW8^tiu5WW@;2 -$_]s'K_,BYHFHeF]i=MM[Yf+NC=YI:F4g?("^!8d8d0bg.diE'#D[[I*/HV:TfK!:>Y&&HUV#_:DJ"FsqnK.n\^Jp[t5 -iNNAQ`h(6m=Jq/*%Q?i7%i8\g$j=b`K%n/.Zdq55gk!N`!P&/]RoTW97f_12"dfT" -ODFn^CR(st$>X2WciaR"@XrE,Kb+Uq'5@WUEe6jQ4j4!;YmQU;6R4CsbBRK*CO -)]V041UnaIg+<9*hKE9E)6lQ1_*Wg^.!]]Otj;FW5)^M'lTu&E%\bVE+/t[)+#Zr=E,!VjtNl.nc_[9HX -RRnM:'cl!**g-@fn]V#"l6o7kTeIY.=GHrV4G_XWM2B/;=G?l:+bB,+!VdRakT'\; -*.d;g!T5($807mM'=/eqU^M/01*#1f,Jf=H\9A#0,-]6m=9P -.PRl,0d%YFT.1ob(c+ZuG=R%*7rgf6=u2d5-,njs!C>$4E@d.&*CQmX!u-:fa=ID6 -,m$=WWk]U*YSR>E*.^X#!T4V[E"X!Y&e_,TS)>$4kTk`C,Qa>\!h'l+ajpcW>dG%* -V+NA2g)HOWeK@sKK!HI"3&.;W1'B!>"=RK)\6F_J",AuI]S^9tC1i:*ap&`P"TUb# -PQ:j,5QLjLKkLes?u5m7D$Nl=LJW8H(jWhlIZ.Z^!!%C)?uVI:>_InB"FrHG$c2t_ -eA*Kg-q]00Z5]FQ9:qRl!Kr?A^`ii9*Wh-cJNuVX!"+G\HiOG"8dSHG6BqN^Gc,gn -L1@^,_@WYN.nA;@,a'&g!]!5M8u+:NSr)[23Y/5_KZf%u&hs`OBH+gG'7o/DOZCMr -_k05!^e:+8St+U^^_Qs<('0L_"e=L%k`RpgSb% -@g4%WL*0WL3*HJ&"U-#kLm.$dWqg:OMt6N;?>'qbNaZ -c`I%?h#1%8r6P(C9j#=nq%8:(=R -HPo3[4K,9c+FJ\NI#"?qLS/X;:iV2F%g@bS!JislYTYu^+ZPt_L`dj=dke!50*2\- -df:Lh'f$f!1'.V8dnMVfH.fME2H*^"dh=OU>qLjV'XM69;ojSidkrF'3`?JI!gjr/ -Lc9lm2[!4nKMf2^5\,CYA;<\W#>67!.";ss`Wn1!LG<\$LgCGH8-%",!uYU^M.m"k -)$0Le!JiE4(`.i:;#sKj"n3"Un8//ED&H`,R8A;3!.?U?>ZKF)9K7Da^i#U6?j.Y[ -KcAs'&28Yp0<5@"btGiQQ"j$uBi]k.!ht,G=?urV5c1JOKg6!!3*Uoh>?'fl]1``i -,*%B(=TFOcf+:lm#Z$,h%"u;iKQ'H^fLLUV%0VQUKU>.-kX1]p4.E!u!k9NWBI"u; -*7h-m\]^RHR3"A^$G%sDfZ:Lg/#,h@C"B\R=T+@aJK3=-P<&#p3?=8c%@,Td((enm -P'i#s$`,k#O'-=i=_4.,F23?jX)RtLm5sF:&n(5mM)11@e@;0+ -fONEsZe2k.a:5K4!^W@Z!'Gf449YJ.#!&(j0R$P",!W$+b[Y3JFNE3f\i[DD>iDFk -"7J9:.fpP-!Y?a\O=(+f'nXdq!>%AI?j_TiDa2GA2$LW$77[YKBn/`gL$/bqlaPY/ -1ff=O\W@j5GT@PR0fQm:KpW."OCeK#AVVZ8LFp,#Z!@U5FFYc]L?JaEl$ETL6@ePl -(\fAk_+Iai[AoY.fod5HS6dHr/OAYI,VU8P_3a*`Z6UNN)9g4VbrfDWqFdI-'dT$qUEVH6 -6D'0>V4X1dA;S_Tg83&'!&GaK*aCCl"<".a0ZP?l+ha:OH5+A742Jp9APQ3t,[@$j -NfM6jJVhMq;>hPnXe*r%Jg=TQ3$Nr9nH&D(JTr+7kS/U+-%RHj!l,BL\1W=4/csB2 -3,fC[W$q`i."Zm,!`0s?<%ssZ7=lQcfoerR8^a3@h3,upJc%uhGTmF7*J0(sJVYcX -ck6H%=9,:$^3.,SARIXIEX$IdL3)U5]2XJVI"^&B=-8l)3d7%^GubYP1*FRABE*o>?JX*6oFfmnQHd?W6V5X55giA7,(]e=+t+lB#*jk/)haSg!8q?b."(41`)[J/ -#64j]!+Chc5(n!2Tai"`Whl;'f;.2Pa:rO3Ck!)C8"ZY+!Id==9s^9-P_$BYlH(Oq -gt#Tl$/*%mP4@cX\.\*U&cjBnCHf,k5SO5E6NJ#>JWLFoOV[# -#6Vb)J8d[Sp]cBG56,@]"/#mOW&4R*21k#u!q7CaTHaJN$\>S -D$J='%ao28dqolMD(a?*51OLfenoldm>fe8QIp&GgMO+KD5Q-+^>82%hC^YrYiQEM -r=ORl&:gtkJ=m5L^^;X>#lsH,!0@eEn-9$i:OlPD#7(G;#^HCuGmCh[#J20P#f[3* -HA?G@LN%,2E,Ghm'*Vc.!U)_!YUBfs-]*p3JpTmP>=HPFL)q6##Tt;=eM1!?#TNSm -+jhd&V4(N=\;PmG$Y_$YT*[M\&eQGnE,CUCGdi81)1hi:JS6E`$?$%Q%g2d4Km7Nd -0Q.A2fA;Wj9OmjP]qnp%3roUJ2aAkJnY(Nl)?J25!RN3H-m+'Y56:7;Kch*6(hE]G -AJi6Zk^9W^/RT!+a:+5ub"+S`^b10t/jVT&&4Wn]%]XS'1(?7U?LrFGF3l7q@6]Qa --[`!#;0)tFGKR^CWG$?coF;)HBNhgo"u_0i:^.+pAq49$]-(A_!Le[$bQE)%K4lcd -81NL%0p[6OfV>"iYgM+BNV*-P$[F98pIk*:;Y*+O\G_ZacW1V/<-:-%3ftIdM;XL8 -V<\@gohSich4+s@UKS+?"/$5.RqRLEkD&MHQRR!T?!MPd!=,**)RsoRGS*53U!o_-2LIUk -cK?>'`6KD['h%.M#eYd1LI:1`.`<0.";H_=[Ga9#\gS=sAV1>_lt/:$$ch=*=V0@2 -2QB)YLDUcGrr>:PQg=&="bFNu+7Gj)l+dOC0gVm@BMDU7#qT.$'uKki^1[T$mN=,\P3[o!t:i -G=S.Ok]JpdM.!u$/J^VKU:saNF?(>&La3Ui31sY2Qjs=QJp<6GAdK?9O;$d^LAh-k -Vm$5L*8i9kCOmhCFpF@%82s!F!D'.WuT.,e8ZMLdHlE*85?`9Qm';_,4UEhi-69aJ_X9G -8I1J?Ku`a(K.G,Cb_#;Z@3@N>K:q;I1u=X&4-\)%"5i#!L7K&B^,0FWRV\1eaaM1So+O_iR.^s-\qbIStH,L`#i-emJrjATE9E[J/R!XJHkqE"r\fG/7&t* -=Y)N<"*gIe$2TaR-OHM\QmM&bngp#t_]DScN#9en@W/'A'=sJuW.)\Z/A9iJ+Q\N9eC`?bJZu5s,o+l99 -7e+%m)mD&u>66+M/.@]:YX1C0+Y^VVKn;p-)=O'QEf#V -NmJ%n#:K`qK9u_#;:#=K39pQsXDEELZ7l8t^_G^+;[C/u,(jPR%:M@6K[>)T!T6!C -+Q5VOBDE+roDOKm&gP.:MNo-n9h>fM.Q=l$']MM\Lp:,57J\WuE_!i0V^g7P' -0J3W^1_p4uV@(1rQ[2b+/1'EM<2E<.%&Ppghe@JiEL;.`'^Jn@@)!=b-R*^`#' -"!?SdhOPu]H2jBJsB?_;fmGJ,t -#!m>EKu#eR`8KGOj)irbfma/Q,SlosdlGVIY;IQoI/jlO4!<1d!WqLeLf_Y4 -i#kWDT_`@s#m(RXQobKPk't*aN"gh>:cO#>1BLCp0nXFi"9I?]LPdM>_\cP\!Fe(m -l!+e[!'?URpoI2?[k,HOYl[8-AH9Q03']1V2P]8S;j-upa&/':60o-fTUZA+?pp:P -)&>dVWg(n58I!!R0ETV8*PikA'#81S4 -*tRidgBJDoQmJIuQVJ/IPm+:*5@F'i#s<%/afA.4:8eBu, --.DE_#6dqW!u&%q%d5CK`H2h-'>AYk@G3#@`RU7b6^JN+m)i/J9JJ3O7R -6lLZe,7:+M&qg7*$)VYj#!fg9UAT%7;0";'A?nZL)b^Vl\L=gqX!A63:^XBHUpSf; -mH"`KOq=cr[i$D2A@pN1_+gQ7G@o95dT)?H#%bPPR&stjc&sXI._jo7'*;!&=>%/A -"kM\fK(*.U,7#\&5o^L?@&=1uL`?i>r!\AN/d92'TE:j89n?.u,s\,f&Kk1D#;A+W -M;VVF5am0(OFRdk=>nP.+%"k@I%Zt%^P2*RI -oXPi`8SQo$=\'5"'\K1FK*_WCS$OeteA44N#47tr[s&nJh"ukKmTnGWGCK5@]B=J. -^$i^\*s(I,Gq0bV0HO!%J/& -ZP$`+=c<@m?j"6$;ZWRg4+P-7,eus7'u1Yf%"JO;#06fa,Er1g`'(F-j2dY&E1D?L@DJYK#;1+Tb&CH!/0'%1$\fckM=k -']DRa_+#+=/ed^k'*/FBTa2,.6k/14$Ya&U5[4R&)X1mT#2k@Di._S(OpV3+$)#'D -^k*&oL(RiX"bAiO!)O?f63L^^'HfRR!BL=V3"l9M'&b/>5pQu65S%8B"MhsD+HW5\ -O9V@ehG1HdcC#(.Rg_!jPN&g&0E);D+YSeQ%)'N5d@9O7VAdn`4%.6jskfO0eHj:5%$kYQ7 -LmB9AS-JLOMC/K>d)cr`;X6ZRI6`1'5`uJiZ:IV4+p&sP#rLbk9cF\H -)c=WqdE7?.[K^,u"e^YYi)0oTdh7QM'*46sJWQsAo%](JSFQ:p_8r[nBECJ3&:ckS -@)<')^8*.+#I2SpOrk[cXKfRN"Q6^%J1_LD[K,9pfh(&)C"Xa=_[b*aSE[n'+mpC: -":.c#d?3jqD#V(r[c/o8(?jC)("e^qanRWb,c4@]S&!3:o:S\[1?514X -!eFAeTI:Po"Wrmr,U35ldHIiFOKk_b1?!7V+DdL9MI$p_6(+LDHJ8-sfo"VPl:92*'8ml1AO3)&u1bJ62t -p;_7J]Mn\l1Nkiqik?sm"quIoPN>'o;S1D554#/U'9G;^qE(?\"[HH$5Y_RbU]c4B -%%oioJqOYc/-!Ajl:1(XFD&)bgO -@&sK]W!M6:i"Flf(6a>flEHZZGW[i**I'KKD$"6%E6#Jdeu- -_b,Ga[>ds@;jBQuUJ4_#4&cAXU-?Xtj%^0cI;j'5[#`@C'O`@ -#2l3Y^n;/;3Xt$d!eD7(+p^!"=BG%"OEC+HK;4bhTJ5Im\g@[]dLUs$Ga4\J@H"q`!g&'%,fVHTTTk[63Uda(P!JA -@A3c'U)^rS*2[RUULr1Un/jF;;P>uMiA;'14qAdO"JELMJ;E;S[ngd+ZG;N4ebBKe -^'h`h%2N[g5iN7rdq58bB7Qgk`l8;&mr)7oDjL!5[eF^l")o%]DtaWY[se-("-R@uF1*'EDn_;+V`^X,D42L!H,;'(-%J -4:<:d!9PX8_!hat9FNC;Q!efpC',BB'74uG -OdQ`=W/d$m30Mjb2VAn/fc-(L0p>0oh8!d$14g'M`E`LB)F+uT7Vs6m/=6%**Age6 -!AX`X0Fm8M(uVp"GqYL%1-%*8.fd!]!4)]W13.rMQN?Sfc7<.@8XWKrR4X[\)-@fm -&fT+P'EH\eJC=KJ:,s24PL\AQi2quhf8[TYP[TlT6+?pr\9$[G*!*o2LHh=1\9hYW -_nf4^+?g>QljJYZ#U!@WlPt'*^_-W(&bWXPTFr0*%:`P.0\Dh9_/+KB!Xdj^$HHZ` -977t`PTf=Z4FiFr^l/YO=pn`r"JFT`i&21hlk]]B!5eJu.`#9MH6(oH*V1PYWnsm= -\DCs!VuZH*o$/8k"s)?B*cj^kg)2`p'-;\2"X(&Lo2h,dE0.%WDP2?VcdSp!ghl35 -#E(&][(/bS_S4M5XDYR4[($;9d5W=P#3*u9!*BNbZ3:63IR)reQ<-N;@.kg"m?"6R`du8a/s[*XW&`Z4"Em,-aFZ4Z9(-6>/RH= -0=3uN#;hGJ?qq%og]SbS=CDaTi$];UM?/9b-&=T%J^=Cjd>=RG[jns/Tu6ri`?)jW -'gO)\5oKhk(_0qA%R@B)5dCY\A-a\4rthts8O2Tnca%o+]A#,54#oSg\[3M,+g(h(Xr2a()0A[j_%6]W%LXCS$QCGW)_J`"cb*^l -+WtH`+DOArTERTN%cBS^_*.q:4^3q-Jg_t9l/%$u1``:(!9(XI+]tZCnd0hI$!JRM -9$SIbDV80TR;Kr$WIGJq?iiW#%fep+b(kYtR3pU/4]C"s0^@)`q@?_!D1(l3`&< -$:'[V@#P>@?AI=[4,Z;8`ouPM^XQ9c$p`)H^s(tB$.RnLeW,&@#-Y&BGX^rB7J;_b -R\M%r\YF[ql8P#I%^XahNp-VT"COb'G.[q5OkEdL9V=3E?oMm[a4`utEBU@B*NsI2 -Z.e$?gRYh.h6l#Y]A,Qagg/+YS^6)>e(id0h&Y,'h:pd,g"p#lhJYIHjr8=o7KV0i -!er0+?m5Y;,R,A4#!fNrJ@#l<&eKUX!9$*W?jmfZNW=Wj)*eTJ6$`Q?HW!g\!l6W% -J3XU7A-q7++mn9og2rE:'TkRY3r(i\J;se`MP%=Q+cY43n5Y2,2Jo+7C]KJ%i1:83 -IQ^/rC*9,*J<4STL^4!6#QT5Wo4N@..=+eYHIoK^?#SgFKBjC1G,^r20LujB1RLQ@ -W>].1_>`2_J-"VY"-R%"ag3b:\*I.'BgOh*^@"Q/S!(LhmXDL#8-Id&rWb\r#6:b- -+K9SuaP+dG)-_>++l33Mhsqj8nhC[p'$M.(kpkWb$p[Pr(/Fo)=7>#-oR?]0Sl1Z. -,U+T'lAt*J!itt.A+]dq'=g.2TMu8+j9/lLUu<:/?mHL_4,?)GJs_uDi#3I%//3@r -&0T*u^rE'TAbML$KKuIJ^bue"*#Q*.&,M8-dJTLe0Ju=9VX>cPTEH=DTem[EW0O(T -c'tYo"s,JtK0e/EXgU1)S/4F5(Ju@g@K9XHQH"P3PSOc6KL4WofM"IH&;NY_OZ9^? -0boYbM*f'FW(:SiLJ[9/U7mk]ANN/;a7o]80:9s1;d"b"!q^%+=\8\*I./:@Qpg'2 -koaXp)&Itfe51,t[Ks"'^p\X[5HIZDkQ1PE!]jA5'qt[lIjtdt -A=2lY?9F3Rip_MtctGBXNJBl`aV8PZ.gsLs@6p.c*^VE09,@RK_.S5MCpiX%dm3qY -J=^q^6[0*t=+o,EJH=PZ/g+LGHX3N*qmkI![f[fK]R"`4SQ2@@CP3,SFTELY5SMU( -TYDlPr3,m*"NXV?rAk=+eXq7#6E!O!krT3M`=7+N/9PiZ_[$lY7Qdt -,76_5U-F:jnt]H[?l@P@/8XW=R3,f;p3M6:WSRZH`m>?7PT[4r1k^K@F;Tc6^g\5e -a?8U@_I=q9'+BO24@(@5q/cn/-D2&f8nTGlEls.K$um4O6*t -DA\,2&F*H$e;>;UmZ0,(?X6\D4H,:aDugo -.Ehl6V\fn`S"N'YCk5'tH3b=_?oCH3@5tP6"i8Q)(P]c)?l=\"J7!Y1TibM!NmU"EfoLV\LchhT&C?lnk,]H[WbFZM,lhO>oi&-O-V -1(==k#=[#3I5agKFIcK/eb)(FX!C,cS!+7>[JC#VG5e%=,?rRVeO?Nt:(b#S1ZkJ&\ -JQPkT5sQ(e+UA@,0Y.Agk\U@:\30i=oHD"X -LCld670l^>+Tqc`&)kkHLGAuJ_C-uAM#?nT2WWWPZZ85aA:hdnB,;cN)@"!q)?[3O -%RL.K#Jgfb";?4p@j!dNZ%O#?po>E+HTmC#'`\@*M@fn0I?3pj,01m_&HX@JO7FJ^ -KK/oT,\TON;FLO,TR79$l2iZ:$,<(1m1nBOSWjb9;+^"D-tOji4YB`Y+^h`*JB4,t -!$l?VFh]LSZJI+LYQ>U90PiZ.H4Gi#*O9Ugi#/ki<(52$bZD"il5T'#4TEoki)R:87-o; -Hr#FrHisK6.tWk_&4(P*?,r3)c'b\$BOq^DF@(a[)CV/Naa\6EftOqgEd^b5IkVR3 -O\mT"7;4=uUra@gKf&cJJJ`59?uSOB!$j)7W!OBCAm(r#&YPR#!a'RJ6-rAXEB#U:GeG#g-u+dh#!5?5!$?r07$_iQi3q\W!I-\)Tq"aVOX`$bE5/:1:pge&o1nU\PTBMfF"Dlo;oD4+"[P^Y -7l[C(W_.=r1#W2$?uk*7\33&Ar;Zs)n:>Od130Cq'EoW'X$d48&-?eZ$*r8:"pb\U -2uI;>+gX@1i6&uiX9jcX-jG?lI09T>,)/pe$Gq+^]K!Y`2`"nS",J-1kd4-EO;]lj -/R0=*33VR1u;n -;@7@m.>:#%'`/G?$32V)`5!6'i\V,N^to@7Epr"#bbWWK2Aih -_&unk!.["aJ2e^jp_ab)S.'4A/h.$,(DT93Nf"r5."pe%';?lbLoWWVJm^)85i>"J>%YuJ?frA5ZlUhCa1Rl2!.)V -Rrb`]%6]LLC_.)dPf$2]NMgqTVri!P<8ldH_ -\Y2m#;@aIt5NKlV35IP8F8nJo_PF+OJf+Lh1-pL_,_A9.Jm]mVKEf0;-N[f^Jl!`p -80^AL4f#S.Zqr:EDa -QP+KIMbs`#lNbon6N^5_cup/N@XrE,YaA%83"gil,rL"$!VsmT6or0^,t#=,.T21U -U5Z&'_Plu"N!):3,Ws"%4@&GRQV](jBL;d`6E[h5!(^h'e/(NWJ$@U:"qXM7>TAC3 -0EEj\!\u/l/4;oU3MTCn]8/$tE&iTM%"t9[!.\@?pi.suYU^9iX#Y"!P1bk7H:$X( -/1>03:hQn4A$U>e'qefcfE_Z/I>.H)[+o@"(gql=?l=K$Kr>:]ULaSOBFs)i2;;@< -.Y32Q3!)]j`B,rOBM&9G8VUUW#$QASLj28X4YDsSL?J_olRT?P9?/1JJlici8S8.` -%ti5+!3f:S=9XFWf<`ihX&?A7\8XaDO97dm*30gX&AT7L!J/T>!Ri"hYTJH6)$1't -!D"k5pe21UBX\P#/sLHo5ILgU?N&;3:t!Ji.f8HQ8'oh8oG`&hckGW2NK8%.cNXa/T+ELj -P@LmT@#[6>BUl"H'B3%eBV:!^i<,lVK2<255Uuk3.RTE6SC)aI$ei:`gJe>@e.k2I -,s]s36.@b[e3ugU4\!q$7oX%ieqES/H-K;O^L2Yg`EJ2soH`M"e^64)qF`(N,!_M@JqNFlX^[ao."[7' -;D9HK$:#l1]HkTWRI`jI]j&*+>ucl#dd$?g+U=*d<^ujW`/n^JE.'CTZq7BANJ6>%"V$e$?#p]Ta4ig#1 -VD[S"2MaH\6/6N/78H@+/9l%?B_s[XAQ!$P9Ll$=;dbqP7n;?3puQ.;>1qONSpR"q%/N@;3B82rDUou0YA -(2u]mfL7?a>F!R_LQZs6A1oHB[RL%q#@e>MBEa-,28MO1.#YCPq7OfQOr.?c.J"*..!m>)k!ee&_VfV<+En#,#6l++KYj&X?nDCM/2r7Xg/LGSQm_u3 --P;_%":,M?qd>*pA:S&uLN,qAO9(-$?`mja7JbW$ctED]BA)cL!4YaUQ)HWq_N7TG -Us_neiuH5b)j>]6.SD[P&L+K2'B%nXX\#TQ,c2RT94QAm[282`$t]J?=d -LH'PZ&9sMbg'@-3%+/n.os%ae;6V`1_)!o=jaXbGSJjI&)B]hrpatP_Tn@'ZK$Hg# -H9m-3!J/mU%ktd"dV)2`*eFqDJd -r6NR$;:u-^0IGndX+LsEjjU,.-n#*ONc&qM4NQadf/c=aD9=b3,J!Mn2Z?CL,!4%f:b -ea?*4(/:Rk-rK1R!]VF?Zi\eS8#2#5!YR^!&jU2@8a4kK,f43I/R7PSBPPI`dli'i -FE;(<-jDYs#AVknQ$$MQZ`[dIb$qCTj,*t%Ztd:M=1s!u*kK3P+7"kQS1\]2p_3en -3WTdPKb+WG$NGj/L2/hR/%Ye8Y`XT))1t!oga9[MVQB-e]T'%S_sNP:\\6Z@ZKemA -m2!l^,12KXUG]IaK+4IVKOj#FGV,J,gh>'B$W5ne_R3#j"5kcCTc4& -3p.1sK@8QXk4W^?j9*1XYD1,(Md%!3*psY;gc`U2=L9RuLl4Ua/mri&(j6P`2hQYR -_(eqp(Bd0O8^*#D#"lZ8YpkGI&J`Z3N5]uFZV:WH=b)T:[JP.MV1N!EBtrKY)pR.= -W$;=f,#ajc"ES:Z9\kFW#)4nQ#+FX)/>`W-"bq`oL(Q`T\."%p4H4c`:(oO\QMd5@ -3COc/!iQh8Rp6\I%g38P"SnDgk-/k#BIhsMEqklR:gF'O>iWOI/f6Xg>;kcVpnZIE=4H&gaAhS(`V+-iI'D\/u2osAOEbP4Y9qjtN].kRZL>pnHJE]Dk\?Q;A#;B_qY2rDmb.jB+ -=9_!V[Qrmp6KC5%jAn`J2PL7.8qH[Vi$(O?+=;\B-3B8UJqtn.BI\V\-N_@=!ag@V -!$Hjd;Oc9#)dOsiaa8SAU52/T1#6AlL0RU^3Dr[$plkc1==&Pq/n?kKK41e25U`no -*TWET3jrXeVb(^-bqYVDS'ddc(2Mp\R#!j"b.@q4+]q*;]+cN&L#4ZiaBX7G>S?_/ -2NUBc=??T:&VA@O!@T#Pck?ErVq!a:kmiaMVN?,-WVX**qT#`7^TRFbYBoB8q\QL6 --a7qVZ26bkqa\'k=18!%[t)g7JD^n;pUYn]&HN.OB@QkT0_SMdR;&GiohAR"Oe3tH -9VfK$J`f(A@S<1#V.qghJk.7S=,(;i"bL'SJhf^q(7h8HRX=MMohaCgHPO!.^A6^1 -LAe5,B3A\XDloKk/&*5FQppS5.X`,LZ&LG9(`St5(0Bt@rQ7o#Rj$s62XGPTKmsSK -7^G$QCBasO6-)16\1[n6n,=EVrm0P8NgSK")UfJ6C9R%)-g`X5V'C4.!I,^pYTunl -&-\28j'FX$fR(q8Qrbb`G(F+WKt'K`J/O0[iZS/*4WFl"_a0[4)%MD=i_^Pg67ik/ -`FBLie93ViN^tDC)'k5:,*YZ113'Z\F>4aG7K^.<&>gs+QiuO28$'=Lk0cJ3>;LD`Q*KA-1N.POPO=[/IJXiq%"8b*McG..* -r>(SeV:929TEjfL!;h.o+"mU-_."$Z*/$foTZC[N)du8]nbHQj<]Gnpkcj%m6l&V% -!Xj0r/Y(;o2*.i4:c4EH#VHdAFP6^YIkt%TjZXO],EIlpE?g%EfQ9.orPp.DT\+'! -LOkP/-AA0r\.f][2ou+e/\R-*mR(8INJgD\9o=B -&#pF':^HuR5D/"dAdK5Bck(%6i$$Bl!%4O>do)F"8pp[EdHglTa,gLM_WCS#%hN2H -=sPDfUitV>2/Ll0^#D:\,7sq?%V,U;6WSZfD#Gp6fG(AUce!_BK]:qN&WR"H0MNDB@>oJ^8"FtOf@C=% -H@SMba9*DoO;;OG^l`:tK;:9D.q);?=b'_tn73Aj!I.ibKjdeXT.g=<85f>:66E$\0C19/P\\DRi -+.hZSBNQ$`44%%.#.)[>,RFi4W%i8oG86n]@S[s_^7m$8t#shZB"lPmg -K$\6@6+B&_@0@R':js"n(eG%m1b"*^XqX4D<=<5g08<<7)FG?W%,nQRLCikm_q9)B -U#\Fo;$J44#`TDT4@P)=/gWp!'V`NGM_SNi7G,-einRt#d>BVI -36`=N6tD9SSi+NTfb+;#)$;V53QE7##6<[-O%u>`3p1&?,P#\GY3J=jR0jBDe:Ll0 -!_,]U*+N:&dKbWE+Z3YfjFV39$@tl"\Q:?DUu518+Ygh:E/"q@';>_EmDpCF%jI.+ -MimQg5>,-n/`iM5B)sCr"G$+M6boZ&JtQ]U_3R"[38>O)%!@V]!^6k1!?X*cI#jp% -5)jOYA*/A\1)8lkN>\uC,K'Tn&_$gd:s&fk-0#:)B$JsA!gaPR>u*J#+OBo3T1@:B -\-1PL-j978ZjqCDi,2X`^j2:K?jqm3F9Dcgg]7Lo?*=Se3!]BE*CD,XML[0*eYn3P -6(*L))@8[.2(>@9Y*7;f9d5._dQaka\udF]9.?>6 -h,p_/Otql%;%>K\56(]]Rrhq\X1>N"!!)d7^^PE+F)l0O\K3Fj!%@uBTGZ,hHisK6 -9S%aK/V&AZ(SElsMdR_\Km47GbZIREE'bS+>JUP4,TG=g?F:fS\3CV2^b'"Z@7&LNKsL`6]>72:,;'5u1QS888IHXS,+2M66H6\!u<1$\AhI$3]QG#>d`- -&m1g*U12:kYkeUBiB7V8n0k'YF^/gP(/:dA32\V*&4-@^#ZpCRK>Zm^l,ZU'JM9M4 -d>e;u1uo]&e,YP00KuQ"&QgE&A;IHN,!oZh#sd8`+!theYDr#Wi3X\a:c]a95f4Z$ -"FJEDn38Uin\t*WB+KQ^"3,#;"h?S%, -"GLON!2Gd(!$UH&a.6!IR9MuX1$UeL_^ZQKlj/NS4pD/RG6C4a-^UpeTNtcI"[Jjt -[ucHEgg`qcTol2UVOl:B(eBnc5rjV#>SZp^A_'/R=pGLQ*AtjD%=rUR"i-ZUAO&RW -(VCW<2br5`#UoodqGoF\LgC.9SoFde2/QJ[jFSl4Pi2luKj^u[_batS_4+@,QCnnC -,c>O_T4G:t=O."n%0eo;H8E8#]_Al1h])$2l$Ph589)@6@,)WP:j.8=!'(;C&01m= -JdoQs5"CY:*/!0W%hEO/#U.t7#@V.\-@?m'F%52a:;9aQA%-@&FPj-la,e,+#TKF@8[r;W>ZWS[X@ -4)'fI2lZ<'(Y04J1`2,.JHNai-Aeci.u"TF(cj'\!26JPe6CHC"/Gu.Slq!&0."e? -IF^nDAQ`4-CQ/eGf\&;tcCcijY>NsL@M -#g*?TCLTLUE'LO&,NN/;X9L1_^()J<[(u#=TKj$KA.S0K$Qr7Qi/.]2L*4E>-4n?, -&:>`*Hj@Gn#DO3*+BAgh+\Vs28sl<<_+_B"`I_0-*gsk5$_bf)iF52_qR]Ej#g8tc`EY@A -%_^7M&PPk0M1cTt?l!0i![2M!J05Y:HibI;(SE)kJTq6iFr!=q(-t7h5sQ%?3YC]Mc.m5s2VD^;FC97uD-UejZ4#+;Bn45V+O4td -cG*b=P\1gB5gg)n`!k*3$a%&Kdgug](3K-PDb])$VcMXS?>%;S25Yj\^fr\s@5S76 -hGOW\7!:Ntgg@jm"lQ*`5[4^?h?BS/%A6`2JCF_[dL?8*UiW%UC"aC(*#IXK*TL2( -:Qus?i)aX2`F80R^^(mq630A=$t(1dJ7\kuBE^XR"^jRt!(-*pjR,t1mITX-F6u1J -nNV*`5I:#Ie+l6#"[FmN5SOYmF:UXD&OCLR6*q:koGKt0*C;S36?FeG<%s#Dm#I_o -Np-%pB(\(IGjk)(OVCEQnTb16$UnMH(TV!M#pomSMXd?enXt?G00m9-pt['IP2M;L -1ICXtQ>.P3/S;?qP]8Cpqa=Cd,n^LCKhMe&&?&JH&.?PliDp#2<@2@A(L`7'To/h8 -XT'Hj_PlUnT%aq#= -.\Okqi:s(`:)ZA3)GfZn03P -+le),V>NkoedKJB!'n1Ij:2PaiX0XH#o/k'Z,3?"!'[Gqa<^[e@Q_PYC+fiPk,T1+P/.E[k",I$6Z*6aX4,4@h55I52^QR'Sm.KZjksM%F)\. -O!Y0Kn-B-h0Ap+i+BHsT#R+i&#M5M*i5,mY*-7J1%%"=/c!Un'T\H-@$in!Lig^Gk -2VNBDH(^nH/E)!DPQ^.D"_R9^=4&N8,h&,-"X\m++BEEXoep[HB6I=K78mM#YR05i -$,Fsm!72:$<"hM\'1";S_(ZM[2A4?=&qM5/5p6^=(r2gV'gO/^,H;X/VDEf"bD"k1 -ls?/)aoGkm'u1@qi9gW]mKk!_#s`G2TQ11n/d2qB6F8P,\A=*u`J`BjN&]">Gg24- -d>`CsNO[Muf\)8Zjc2=bNYq/DGjg[&nW.qfO/M"+!([60OP]SG@r#E/[Tc/Q'_!DK -76(rm=UgN=**Q!I::,:'1<,McVgjGk$Ne``0.I9MO%1#0P#sqdE"p"$X=dL,%FoAp -_)_YV3D1Mp6U?KI@D+bE`1&U4C\>=Ri%>\d\RAO4PhD#biYYij=d`daB(])eq4OR< -;\).'"X(3O!8c,^4;je/)77b$)8SC.\""[,*'aoP;J-Jj#Rl5Y$rKh-i-n,*UQl_] -Sn`=GJ8E!o$^o.UT!,Y3A7T):"/'YM""E3%foM`U2E5Ih/SBkhU8S4K+q1q?87^&? -3\d5;1SIe:Q!gS5JHes0Af:Xb)B$a=9a$r0#Tq$/q;L]8!OPfUkp07ca0l)F6QKQE -m']ar@-_[)RXq5P<>W315*:Cc,k)&B6GEh,8T5@MJ63+skRai5*b!?#J`/]A^<;4R -UOeP?^lS`8NMn'A0VZ2fG=3+;0GB"`!WdY7'<_-WGVtrN=*dUY+VFE%Ne3m"WN4?*pD#I2>U@-@_YjqYZY'r;fgoZjWnOfk05+0!4mM9[+d -YSq:JZ2heI6QAPQL]u^i^d+7o!+'C_B_%g80>MT6^jlXiIKqn)T<\bQ^f`@'p'$BJ -#Y@56T[XB_&8U45P=Hl(`p87=U]kH-I,J4!'0^,/OY\c($WBD^d0:beA8a&^I7X.f -H]Hgi":Y%hINZK9)rM+umk+;3$hG@nHh"j4n<;;/B:rQ7!)J051P+\7O-e?!i(O:/ -&]%]c_0d9>!)^NK12(9JOLfC8q>Va.&T47l$$$Y/^pjpu5S*rg"!L8RJ0Yt_L&rNQ -(dK,Z;kt62F91?@(18=%7%jb"KR,qrB\'mq@FtQGfG@p*(P*8$JJJXO+q+I3!h-t- -i*VP4o?)HWb..Dmgo8Ho[EC\Cb8e4=I)!k;_9@;Gbe1j;r5m2'c-8B(c$\;qoK37! -63J8@"PbB9c/A)j@COA_7%"iZoLmMPs/8puG>%qfAG"\#Kh'HA#nJ?h8Oh7GP4L=c -16cbqK]T0oP*K'bT:6G>Ro(;YF9V_a89OL%5ir27j:?#Q6%K@X?mga1'H,1u*l%as -bTE1[P51MqQoTo=\Vn?'#Yhmf#5O\>bQ""/6.p&5'\d`q//W"=b?VY]q@"9Xp%(j -T`iJG_qT3`'l#nbi1t6;;+t#%p^11fiM,DD@%/-dKlXlYik=+)hC_VMLMF'K1;QIY -@<5Dq^Slh-_VG/n='gMF>M^#!]%Hl_qhJ]$MfGoTR\+.(+3F8=W5 -Dbm(Vl#h=nIb.f7g$\S2hB)u`^ZG!2]UjUSVqL;.HN!j#LX5)Tq#12aO14KO]8t&<>fG -5!KM8(u'uUiE2Nn"em,c(^G7kFd6U-B"tTe4!KK\LA9tW+pGh!1a6ekE.Y0HJUhlS -m(4=T]l-!pn\9!hrqjKMC+V1_;rVc3'8tnf^.ErFO^8?Z`Y]\(?Y4#X"IfVJ&8a'I -@=/&<;@p:b7I>@%"P1p4!8#A?kiJ0S`rjE?am9#79>^rYLKW`u0tT -*G1K8Frj$'.&Vg@t$,Y=l"i3;HK2@^BJ_Sk'm*m!W<.+`ie&7$%"g4h6 -=:@L29Eftq0rg?+#Qql%"+i("!J*5kKlFF$6I8j9+^uslR%seXO@]JH,1ApCC]o+J8Y$G^c_pqi#RH3C^qiGXCbQkIJ"?OcT@1eG64'rFf.Pqt6HKg;Un6G1bT'38P` -Yg5$kG\*@q5&WQfF@g'&*1*>2PS:>P97b"2#N6LDKNWm>dpPIGA<`Sd#n@A8e81b5 -h.D;$@L_(b3d(NY`eS^+-q5Tp(o'V*N?Q";7el6K_lAS(U!`s39c4rrQi`:Va8q&@ -lPq.LNA-LW_&+ngIHpUK))EaRbfQ>1VL6aZ1dHi\dN5c` -;&-!1W.8[o -!Ph6`_-eetF7^=q;HaOqb;k?70H$[e!0TmLIU"V9_cLI??`VB!:!(m/K\:o-Jt12n -Q;f79#[A!/7&(#ZN#k?%$XtA5UTjHS+0>T@f2c(u#3cGr"2_\k7=Z!cj.l_dOl-4p -JG0$Gh-DPR=`A(t_cTPD@ki\'f3PMQ['qn]Xd".@QJjH#COnk,CU%r`b)!G3$"gIH -:`'=C)\HQ7#`E=L_Zq%U!!DV@WtF,F!'o0R0;W-7k>WHMl]HQN*mPY -7S!q*!mh5]0g,8b5TLF3+fY\3MfNb's2[/+go+:tmr3)'bddg7A),q&M1XK-i:0(q -Gkd[PF4CNDL3^J1P8b_h;J!d=s*#W25&s -$o!9@^^l!@4O,PTe?%2da9"UY#f0a[Ki$&$6R[-]6.eTea;uZ2=<.uJ-p.]q8f>Li -#RNc',\Sr>nq"S;cVJ<&B$Eu=2N^eU,b^;WTQUltE'Oc'Ua`\OgQoc<@1iVs-GhJG -*e=<:<<7auK#!Df1DUMTD?`BhVJ>grCk%2Th;l3HlD,[b0TdK`7=p+D$D(?[#t.<8 -bun'cG`Zq)PAi:2ShLh&eD:N*;JLo9_8p6,XUW]h10JRh%f&pUjb/kf9;4TY&b9E: -]V'q40]gSl3+iVmE%V;50@2^L6fe>=UNCIadUp::l%-%99\J&l6(]\U"E]]VoR/\F -#YXKI0Ihe9$R>dqoBKVGPY]!qF'@ch"sE$F.T!;.`06Q15QlLA_=pQWkPu^9i -7pe48fHccHI[9WN]r'p:VJfrX<:1$tS0`=(^(UGV%C8Y%3N!#1/MlRZ:cKn_!l+/j<6\s5BCaLeC!#ESrkPQHV:AH6+L'j+!b -(b;af*58ch)\_0_P3FU*l9Don5hMYD==Jet."d1eH6`NRs>-lI0' -,UPf%[#*9u,Wi@Ge*3"b+"R^C5(l?mC\`gEI#-d&7$s"4,Ct^47)WV16sNJTFAD>5_O(cKP4'[^eBF>$j>92"B[j[)[h:.\/R=D3Gf -"U:u^#*BDYaXgo2CKgc&1PN40EZ8, -"(47m#Wr36&d*2uK!5skU*9Y9fn$AuX2B=kar6+Q-qOP_0mclWZU)IeTRt*tK:!5Q -P[]8c1':])K+KG^==>.GTcLB]LnWnM;gl/YhZ9e=5GWA1)I3AI7CYo1JZJFX!bS;H -1eWWZ9:M`/g1I3dMuq57])XI\)HDC#AJ;!e-*WM_Ek/6DN!Riu*bdV9,0;+/0S=$s -"(3eg3%6mF`lr*?9\doeiciWA,.]HV-6&+@LbpHG/'Rj/6@s4`kSCbOjan3"37'"^ -qiHF4UQ^9eLofG>KIfVC_^GL(JiFPJ/<71>;1PlJ+/!C76j,V,?-[tM:6C12qNVI3 -I0V/$#:NXR5Z`TR#6Vaf!15'`a9mLF'7dS,4k&03D"^YOh9U3lqVN<#G;)&U6(-QBn0#o -KpW/MP`(2/Nj%rDZR$mE0l./HQ%>oQe"$ooe)\u#4@_E7`mIWbTJHU&1.lj`\$ -#XX(26<$*9e3H5!!'X"_3) -Jp_DZ"]!Wo844AE6m>":`Ag]q0!Ir5eI?Csh/=?/E)u@FJ[$4Cbh"A<'j!hH#eG$_ -j_\'>GZPW*ZNnq -(JT!E=7&abXZWk9UU=Wr(r.oV"!fS121m"b!uho*e;hE+CfZ+.`q)#W"L'[eES.sm -=]7<#8Xd2d(<:Kb*f9%%r?@)>J2-S*W#R%6#UY+)-5Ad#"2GHM\4(r+77/1i(+;t4 -6o5&Q$\\^qK[<=2KO]ZD'a'$+!q7X2[:YZ:RMd646IE[P0Gad:9??IqYb3G<-mh\3 -,+Y43!QrpuTpj#,T.Ko52MI&n9W^0>+r%O/JTr6(r/Smn<0\G`W%'Yke\`$!,E_5/ -a&1[5<=MC!2RjTd#ga=5P'iGX7h`Z_XH86DCq^0,fNjKhV!;O8\1"H*,W!W0!K2V^ -ho422$A!!gSl!!%?MkQ-G%:]O^-]@CWp@D?L3`reG_!LNmS788ACj.S-4,Yol)23$m$Ojl3-pM?tJ3 -e`g#/HIXW*A=5jm6R'CqJ_X?K`Y(-uek[.=U7X/mooTBHi)5&HeiiKbGni79kcWF9f#N#I&Q*#^_?B!/JR)#KC5.\9`Z:HDs3W -"V;#p'g]5%07n>B-ifUqNk?49eAp%a(G[0c*Vp*'[ -3"lNcl'$R&!guJM7^f/qmBEWkg/)/s]$7ic8*g -Zr]l2$*np&nNs;)FW&'^-TN#F7+XK6q^(Ee1rKl;T:`l[alqf2oq==>5c`,oj"^]VZX+ -3P&,#8dOJ*WE$U -!+6JTL[=:Y&sZj,HO#?,#Dd,F(i"_c"b`6kJ=%a8kR<"2%KOQ[NAqC+`rfc-"6&\O -E*icfDZoQZ#&o>&E/t?FT*oV)$uiBYn@oEOmga=3lJ_[I^&nAg@4u="'J%D4jdAXn -7OQRt6faQAlj:NA.G`$dc%6fq!_1uI@SbkPnLW*db\\7_LqQuS;OR0HATd@\N) -rKtN;L!U)/aaXNcP6XiqLT^6-7pgu&#DLMu!5M7%83MaDual75&55:&8Q6P8oK$B\!HOgG.>*k!IB[;[VeO>)qJ/-:VB -!dlU:KTGG3C1L>6,MD7OR;MbdOEut`qOU/TL2nOLEu*_Oq)9(!>Yp9rJe<^q9K3d( -KQkhgmlEL@VJ97-]$%i",u)m3&bDCA`SZek'RRe*0PYmJ-0))B-i=,'&bgiiaT0hs57UlgY5HIc'OAn*L&RmXGK1Ih2+"+7jsuoRAOds$-1+B\[SB -#qNJ$@X%ZH3PGH\*cZs.q+%G`GSu;;i,1Fn%S%bki:)7]*tZL](i]m.6&3Db0aNmQ -L-m/I8;)"D(m?0ja[m*NnI1$XKF]3#J[!X<1)Z&U@k"eED`OCakL6F6p4GT';.u2? -*@?b.(kr;d>*t-,S9SH[sfd+@4-QQc'EXOIJ-_3dr.T -!TLm@Mh+.#Z&D%(8huAL.+#:2749]aR@muUFo[;+j8kiBa9$a]huWj(ag,HJ.*<02 -ciTaBJ.uZ5+G"K'K1(gN&e+mB?6@,qRpe.u'3rjAZ>$gY3)2c$@d8_Wcu^A'M#`Pa -M?8=75`:jI#so$,(q_JZU@fBnd8W75/Q+pK-n8-3E1/,I@Jo=+K]+UZ:XgOI:)$[S -m.j6\ime)^e^Q0Z=Oo@DJVCfr]Fg)&#_ACZ%a -=3^Pg?e=-6Ic)%a"bMJ&iWg&`&*ur@?oWTULu?pO+c4H@/f'bHJbD$^V5Pe_J[ih& -JVm1(\o8UC+fKK"LD(eZ,R'nu'IJY[BT=8edia#Z"p*(j3k!\DM3DE&.W48ml"UbM -`+bElUZgE$WN#1:QEdIRl(a3_^GoC*cbD(h9s!XFPi5B_QZ[`nhA;0VCkalaOd7-B -dMRh8l!63%#D(NO%]7(6kI,6^KsDGI@949[nNg4aO\Xl`&ft,*mPg84@_UHHmHoLt?9kfMF,Z -_$K6sK1)DV#T#uB$uj?eJ$J>:;ORN+J7hHJ"I^XX)I/S9BkCNL7A4AtI=O=k=b,V% -A-8,d3"f/Q?s+mCJYE9(JH415!16Iai*7(LO>I07<"+=s2@)SC,m0g9&V@5^$UL.7 -#2m-7K2?k(623kS@3ctKd#JdV=A]Fa<%WeX^(s'A>mt/;1PX9!*(*hL%H5f"LQMKU -`#*n6U'*i>d2!uq8Y0d74src9RhXk8gmBFcJ353_,"n*b48XO4!5X8(dtdj:m<%^haJ]^dnb4 -)khMYBn&"WA;-%(1FC&ee$`sJ,U@c.-h:Z72:L'1#T=q+i9.6s=;qP;7/Qam"@1g))^q%0V8`CG#6[;@"6&l4Je6oZ5q$7Ni1qiUG%QV_lRaFdiaGV#K%A&M?8N>O%l,D&aX/;) -T2G9%AL2fYgJ\*4q/MP6g0,]2C\5f -BcS%d'V:Fb8l\Bt`?D("Q@.+!>t:lFTr(e,RaXaC9A!5rV\En!\)!f9nq78R`N+/P4EX&VbBZsFN#Qm*"` -rbmTH4$(u%#JtK"9mH9!98HT!"nie^]=6RTE'GS\$G`@E:X&saE%>Yau2LM -fG1&U[i310"sCc"6@_i< -mT%N7pI;erdr&L#I^EN'+b]4e'uEW^KFgaP_]"7F_O+[A@J6S<#S@@JDQV,DbOVi> -!M..t2M3c8Ae!BP3!RsTscl"7d+*+F`EG. -19?7Am+*\X"YQ(X\5hDL>\f=?q3s9%V]P#kA"Rc/2.D0-r9*[pV/^8c;Z_.bQsLh/ -_r1G/K@$h06Eu1Q_E8;6d;B(UYi#N!I`6(A)#"6u"rj;t#7HY@"[n`9!eMsm!\] -5DO5")oUdH)?XA`&Fl;Hg_YQldU'9Mr1U%!?ns^^jHbncJk/3` -\d=9_-qb\]T7V;],fG4m&u&LcjZ@tt:/*i/)CU*5h^[mG[&QfP)@o.O0*jj3'nlY) -$,Z\=%=jBp"s?SV!l-2k_)N0_c*.ak7o/5k7k(kBZIf`QVWBs.]QX;0!mlVY$aS;eiL..=\2d -FYD3B%mT?,ogJGDL7NYZ5u)1^/>o)\dFHC?;a#ORWT\B!U"XRhc+JNdcfY#S";s,(`.9[$(,RYn;!hdOB$[rI+ -YR:qS7&AC/M.-gg+M^7Z]5-I8i0m_:5]."IbU)IWDES#>k3l.2!Dr(m!eb?@@Vc5a -A5;JBaam;P&lqCKY/6A`%-)=#R0b"W_-P3%6@;FAWj>rXt.2#Jc'9:l9 -.\<7@3,10/BS>s\!s%Hm!%th?-k.i&pYm'Ijf>i.$BW>dZZ)bQRNQ8 -.8lVi+?_2>63KPA==l/L0g9(7:n]L0jFUq'o"*m;[2`%+1MK0&8PF(-2Bl_">mXIT -Y(@h62@)W,/tt6M1>lF>;BbAk#GgcrAk+D9#&>ZH#)V+c6F\Pkcj>QS$G`YF5c5UA -C^#Z="i,aF1CZ%$b"ZkB#1'#3OZ+i?3AY77_^7VS!-/=[O9VA<$34P'i*6XTdKMn_ -%_taJT_\eAq)70r%KK65i6DKKbR395$G_Z+@#Xn2BKrhlp[^T:ECN0VVE\"Y3GN=i -mtdr!YkYQ:4&:D#PJ93%Nqphe4#=u>0:)F_`B3\/4S-RmO$c)!P4qo?phtWWmn5e7 -o01;X.9FU*Y9F1]\[0Am;AVO0bP6OI6#*<[+i7PH1cNl5I:kcstb>\f0 -`Cs[19WQg2J-0n=9(WZpAOk/A_UbIS.`HOU[R^EAA0!2WLg;[VI! -:rO@97@7tj9#6VI"m4DV1hee2CJpEF&CC,,cVC3KoZ:pW;RIfM%%U;u?P,dXE"7iG -YH(V[/QH:ib+NY:!Y&(n4]Rb330bUaUIN7V3$ -ZWR^nD8t4IV:](9;Ji;f"gsN>d_m`BSSFIc -C8drfc7Y5%4",X)_!`rnYJAt!4MkZn[G$#+?] -bF65>S-_MO,qJ:8'1GtJ`-1^_K.QO._5 -6mff=<8`Q;+GL4GAdTZp"e`Lf;3a+ms8fP4]Bfl -f=O3_LO1tZI$<]WPPKQlbU;:dCi\E3?f'[nIM:#_kVY6]cKS%Wh:$8s+`u -a*1/Vh$Y@N$fr6\i2[;^e0B3h51':HYt>3j%aWY$(_$?^`n"R/oEWKE^gP$fT]HGP -^'aXN8OX^'!7_>,SdWhdDkN7>XM3$$AK2D&;E.O8(C-$];DpBdVSkaa/s>Hc#&6.) -OEhn1"#qVb88mKkEd8Ggfc-(l*KWWe$5j2\V$7eLIV_@QhbckH'+LtKpd4MR?bZ[3Ef,: -G/mJ$$:%Pt!=T(($5Z4.*+0*nFsJ*%li83r+4:-1TE611KH5W^!27=GTGSE:j8pId -#/Dnsi(sM%9EPHXT:f!_"c&`n:S8h$!rtpr!&=["3!19bC>'bEH6I&"-_acpU,js% -RPCPj1S^BtUY7T$)EX`U5GVIUUmb)TH;gWn2uI6O7dJQ2Tk*d -\SUqgRTb2B%UL8qN-AZZ/i;%7BjZV]$jkG3>-;BZM;"aA_0IZ$Vg2F/\Oih_J2J6l -/&5id9#RH*0rnL#CERRUTRQAdPR,()#,%n(!*Vl88e5>Q"2Q(&5tDeW,Srb&!TAg; -@<<7b-l)hQ!s(e%!'h+RfED9+$:%o)+HcpOO9bhu#K-g16iT8:'LG2A6=]u$(RjTA -"?r;BH,MSJ".?ON9sm&?3VuBb\(j20@C9<.[[Tpu`$db&=*_D^[C^^n>B+rC<^+Gp -\Cu=DL/_`7@l6YT%A60"JP6-=8fR'q7,dDQ+93K="bQW`@>bk._:fj$%ND+-!F_9. -5V*TljK64O1A]7r@jr9m]B&Ld;bc+n[rj$qIO,IA3c5QMd_I=)b:,7 -$Li0^T[6\hZV;`(A5'kejcI=T\]:3"^(EVnF27#mN,iE"M`S,`r-JHB\j5:<@5d%= -q(ACe1V"Kha45(g3BeS.au[29a]uU'qr0TT_W]Z-P?c#JgsaIKKUH6-"CU.$^b-;P -r"q_g!F_E9(^(gD%NJaJcb0'BTu%_`%N;%(!?mUBTG/39*!,"<$Qpc(5Y;+Y9r/b0 -dbQG&)HkNp0@P>*e"&_Ph*]Z)8(8PNe6P_t*Db3k:">e5eZra95WpU&X9?=2=?UTR -XScrSD[uVb/*SW:>'YSPf@Z?@TiEmL"Ra5AqB@5R_LRN/5_rR.!!mW40%/tI4gQbm -+,l%P&((F&>g_3/3NLkf3Z>r<3m$0*f'VCA#!dD>J7JsoZj&e&%Nnj`!>YfH()4P> -'Y=D`i#W`oWW?P,)dj9t?3hI#S,n22(n_icRg'Vd1]p$!&:d(Y@+5>;dL#tX$,CF* -H]9Qt7Zt?*fB/dg",Z,'9@s/;jdoi@hIGZ]BBC7KPXFEl8Lcn&F6B-3kMC"<*dd*7 -J*:3sk+5$&4b5.ur@oX0#f*5>@%s.+qh-,%*31A.fIF,k'>+7UK-%b38#RCnM?0E, -']:GT_$U:<#jagll@$QJ>NZfX8-O!\"\,9%6;,(DXhWWl!ieQIU2>IEK/ -d9fND)[?3^_B?9ia`RfX\[\&.?&[hJhX&\%@Kj0R=7keJi2$^`M[Zgf];rBP0X$5n -p-6'AD?Z51`OG7Ug%Kj42(YX<_`u4[PKJ#pbMR11WWL=i5Ae_aW2@UaYli)iC&+$8 -/"EuF[:f8!S,-VDb^?+AfbsPaX8ANfmir_UJ?f>$YR[+)qiUL$7=t(8I -7UqR:oPQl6O@\G1=U^ln.$I87P.>\7@4dkik#5EYhIej<:8\c9o_*huThjlo)C6Ga -8YXYt'ZsE6ThhXdWg+L):9@[#mt,)@_G=J_YE5+cm;s`F>N3aC6hA%)uG_mW1ObctN%I ->o&o$Vq#O)RXpRP2m=0Z[MqN0gL[qJm`'T*?Ft^'f'p0h4uX:?`8u"7I%Ft8S^HTk -G?[5'i,1Fmp,cc8f5,Zg*dC2miTUJs5U)=]KT\V@QqSfi^7Sc9`0Nn+lc/CK -%C;qq5`V':"@2HU%0f*PC_m=C0SCeY_Q]5!lFO+(Z5SK.`&o!W&HHY$2pf35$:PN5 -;\hfAFB%:V6%FP84AfZa]rK[VKp;dS>T0jFWKB`hKXQ`N0JOWJ0EQd -J>YE3"IeI<)IsW!O_R=;UfbJIMrD!((WEY4eM]IJj>/a?/aG>PcEgdC2U:pD'I!^t -&?6HP@k^S3Ol4n4?@h5&fE%OuhuJ3JTE4n=!!i&n!$CjP2,)J@ofGuKPncM\e25j] -"Id;C-<6-mnH(NMUG/DW$/s6=*)@=!pKc*&oF0"L/APZ;L#IPg(PT\==;D'VX"5-p -JcL6A^-Yr).gj/t[P_9a*PV<*J\/7$fjRugAQ\X`P@E1bVG-P?=#O%2X&XIk+_9]-"f.RDiS<#:,c`d[N0^h=.2!rUZf9YQ_eE- -:6+!h0%<#QLKPZA%m(@JAYs2Z9)Y=IOlV>65m_CLa[h._>U^+0m3u7"`m^n]; -h1h$Rc`>!$Y\1RcS%f3EE4c\kk\;]HZ)_XWQFXqQga=>hEdY>BbV\:g@N(%gG^q+E -Jl&N_MLuI60Fa]meiX'[[p.JW_mi#oN.C-5.0DnuJ-uW+TIq,ci4r.uK-91a_Ke=8 -QGe&TDjfd75)6'!qS&;ul?`H]ZgN/]pUBVg^B_gLI(p3GLcJ:^Q7:J -I_VfLq>W[goU,d]a;KKS!WTqH5lj8B-j:%hbI/,CSD\Ju7*]BJ_)N_E>#D^n-^5[* -0SU-j617!g21WP'8:=S_83MM4oRlbZ%hK+\4"Nr5)hodE>c\]mOPV!FQmi.Hg)E*: -IN]mN[#%_W4@P"GgI/AULE^`FL2FXR"'Cq-c)b!(d:OlI\?Qhoe6S"FIPF:TWXV[U -Ad4Bl+$fJZF[AnY#pGrV#%7iF"=U/M@[L\W!KoME.-jiq"]2/fpcLeQnOfcc":]oM -"bdVi%;p&>""+'WN9ljcE8dY5\N"LQbb'_)J/JK?=qQAM-jtUM&VhMd#"6PO!Q,Ur -!&DmcG*u;=HJP,'-!4m4hRE/tf -b91+VV0W7Jm#BW4BFNji0/IRI'`t%(U'l\dd5i^EcWEW/@-mBf-7B;=K#_A#JYZ8P0s6-G7-nK+UY\slb?PDX*fH&+=]1_-OlChn"DW)gLC>@brM -M5Opl\(\.G.qN"i(#HV`>2Ti.du7gSS\Nb@pKhY^LTo.\)Tb6p$c2=("b@XBJtShP -5t_4^!B__2@%%Tl&3L,HGSUkBMZ57aqm?soeCo7LCMdXd[:X,umBs@2(=M#C -HZs@EjhJ:V#2\,sJT3:W`OQd+j]lShEF97%J8bDgJd;kg9[/D\;Kas(]U_8(bPYH/au2ph1M86CB-4&Ufug@&E2]7Fl$ -`/Sa;%`C1m&S"93];F8i+:J*s_;XM]Y\O[hBNp6frZ8r>rsN9o*JI90raEV2']QI= -J2)'&`Sg&!iu6+#:CU@F#Cd_GR]POhn_\1RD]mU^Lt^5Gh)h<,(kj[;$,aiX"+l&2 -!AT$]!*IlFUW-M2BllLg#kjQo^iFs&at!IZX:Bc63RYDE,c6h>W`DaV@4\7P>?'<&;%Kl254]7o*2@HU%C)o7L7lfmK/@(gd>fl1 -J@u_k86QA9-n<_#NXd1f2q]mZ&]&ET#N369K4&1ZF5FCA)-tEa;HnPZgA/?+K=eNC) -F]hP8H\+Tj6kjg*cAG#pef,N1i1La8F#FHc?p4m5j=G7.=;bhWF/K&W1iU-i'Y&/H -#V.#6e2iK6GI79()>B,'c8i$el49_69!I@.?K:Mc)ro_MaI=G@=`J%'4E[3s7Vqb? -3O^*0eb+c#2B^`cj]^gEX.48\2.(.u6?/r`aE0Uuds>Y&C\B:sK?3e;k,QiR^s4l@qEdMG;mG5gkpHIQl4-t*Y*T+PSDY`.9msFN[ -#JbRJs5A>AL@CcV`H\!lqC[F&neY'd^oiNG1WA)4hH-Xr\:/SdOk=Z]OfL?=!ImEJ -rOkK/S:luo'1-1/ZX1+MKW%'Hn$`6]3!,B@^NntTo"Djo2B]q6Lu5FcI;;pZre([H -I'691]g3V$hVa6;rjD&^\@ -Iimkbp)j$;&@#sPn+V<]nFJ=!&0Yg%!TOOhn/2;s7faGrL#<:Ai,!pGCkjtP#<7'\ -&:66#>El(91gk`e^]9/-/;:;6Ks3^k!'Gi5(BO&1Nks!AUH-$bS@lKPTQA>nZ6V7& -;l*)dV.s).M_Mrj+I'rp!!%BO0ER"`C&ge>"rIRL&6lsq;?]ln!4YgXJO>(r%tjX: -JJ^=u!A]q5-\;mG!Wt>:F#ZI5(rK4l[F8D1!d(>E@4,i"VgDr4;L*k(B.(6%Vord3 -dq\tgC_s't[b6$1@@*C\1q6_X(X[ZLF@V\PEJ!bJT\pu])O7e#OI'I8W;m_MBm>TJ -TUMhQ![nfha'C/AdJ#,>:eLan3TeReFsQ`iiXh -YC#Q%1f>tpbcd6!0=W/SCsTdVe%\`YbnK3`0_EUL+AGN(5B1uO0H#Kk9nSR\)#KU3OJ6i?Y%tj?pJT)aL1H1\kZq#5<:8I-6CTN+1 -/:g&;")&;L?qPsr8d5P+"pfDQ(j@:U%D^\%:JjbMfQr&RHA9cL#1-_-E*n;Y$ABm% -!6@fd=:PI)5(N\sK1HW-3%KPN.[0'>!Upp,jEZ@8gg@Q#ud2G/6Q -@X8KXHPjV]6YgEanRSR!H,LVR"*@QGJ2bl.D1c[CR>aM$H(!'rDM&ZEas\\fq!Q); -I$],=.QNM)>@2qXc2j'-^2o&2P@_6cD8eal;PA'KR<1Ea4r.(28[T34N=s\<02i$. -)JVo;]]_u;Y"J:D!SmsIF#MK@kXUM%Uoau!XZJ><%M/rHR^haFl)@.S$.HK'&E:"1 -gL7SgJ%:MQ(o9OJ'h>U9#8#k&;rNP$gRqN"7oR;+Y7MWmBnmjOX!m('0I8L`m5`Wi -2`Q`X'D2N\-l4On5903>/9NmM8Mdq`:"7^!NGOst.:fp?'*.e=!;jgLI$%GtP"?[* -ekKaW\^/Yb\T:Im(Fka0EAp`4`f;.9Z4YdnP&QEg)Zp&25@o:e'/$A>"eJ@D5:?XW7lmsO%$'5 -4&W?=S/fNrIZdB""6io&53:A#_l`/!'#%TJ-#t/ -i_Bmjc6VERfKXo]5(X%V!WA=]rKu5c`7MVc[>5lp#UKPn'SpM+K##GL.:f7:l;3c)c*LJo`kV[u0'8$Q@JP[hJ=;HK_>>#qP>XcWe -;!?91(/Vq0:t.P(Lc%(pB$h!!Q@k8T02eGp!j1mBTIGJ` -n)"TD4_Q1VEQ6F'bf&b*(u]U;q2:XBFW-K:Tc8']>+HP$7o@nn(ka=(%p-tCb7%)<^JrHYm)'7gobJERLDm:.c,[FYUOf+i8c -G"-"k7c]:qjH`F!N_AH19OtS*jQ91tp.]*&:?;fTf-HT`]gu4"/3W6+`:suH-k`\S -=QPiMJKnOR4ss=_%D;ZcNr&c@&HAs!rR^?-3"+;#ElrudfY(M=Tj*npSgNLN"Yc41 -bB!nsYs%$D,(e>3UkC?&GWC\k05To*.D>\9"mU.#>mD3]a>E.q*q"\u\b%=OUY<[X):i8,D]VfQA)4ljuj -)UT;^Q;'*]4ARlK'jdFH6qB#uF*"=-G;^EB0XOK?UNt9JNGR,gQUUVr0oT!tR$S,K -K'Qr*>Z=+57@BMrm:$X38kWPT+W1';;X'5Zqd8a+b3d7bD:su9/dRa-8S650k:eZD -O:d,$561aJKMW/39G7NL2?=pXCL.EX5,7CT]C+&]OO>p(4rLCe!Ue8'O@h?AQlESq -6^U?#<*g_IDS0lB?t)4D8#r5q2J@#`no'?ke'RR'OfKDKNiqc8VViVLGSPgE=G&:q -!9ce(5RN37ZA$It"mBAj,>SL$*:^KYEQ9*ipE&l1*c`&=nfK"F-R81@,eQ$5f/?Rrf[",% ->i'ae/un/m9jrSM>@)G+o&g]S8+[!744_Qq2l1%g2S_k;Xgi -==-)BQL;U`FQ>;lHEcRm)*1fEX4mQd>bRhuqfC15OQc&)J/`W[(e]?]Z5l*5f3>N? -*AP<7Z'-#In/Z08?YDe:YifKZG)A6XMs/M0BblhF,gtE!1'+=.KU_1a#\Rdq/4)ujPcOSpcImM9GBsU3e2ZdT -3c"BuhF'IneIh.$.CQ>mCeB7U>A_;mI[Bk\`?CA2iFhu'FX])0.N5"HH&ujp(A\Q7 -dQ@0A1e$hA75IEIHJ@JAYE!cbeHN_DWJET>_!''_G0D)Iq!T4cFeN*En --hsT#N8'o/()e-I`I*fE,#TgB)"B$)7#ri,Du2I'bC92HafDs54RZ>>WN9^?\GMd:a\U)0*DOk"9;H0-u0PmZ%m7N66LW1P!cU..d>.\JF@E^q>Qp[8%dmXH&Aru^b1-hI?so`$T;s$ud4=8)ZG -f^`M;%+b2oM`S96_uX+I%%%WWn:1ar_3!#Y#mQ!t_kH#PN(,!*$3]A)@'!Ze(6!tm -!MIYJ*KS7:&igYl6RS$h,gr)kY$ENE94fsTPh'P-REfEnWA)ma2]E2r6]o1ZH9<@4 -La7!q'U207'8`O%@4[^9W)H6_66.>(?Q]mG,O5X5K42(5LP*G!$ue.u%;3R=h:?Rh -SmH=OMk.LtD&hIce4YK"Ji(0_L=,R"Y`rW2Qqnn>\h#gu:5./Sn=$n"&m6eQ.n-[2 -CoRgl;^$h*+?G6;LlNdd6"G^&+H=B"+dLDcHFrZk*'$a>N?,RgkQ>QBj."@7?`m8] -:D8H4O:UQnWd.^J<@:bHUau-\bs&Z6BKi,nZe9g&:b\M'J'`--r*/RG\gQudrMX/S -!hl`ie-c>[J^b>:Xfu=M[]&0?,71=-lmecf_3h5c"TuS%%MOQK,[D>(=fQ]HB6jIV -+7WT?(.HW0=FL5TiT:.^B1NAORt*f5;Z`dDi"6FWcsX>l@B4\m2t"Se-b@`bSLI/D -S?49a&u;ocbAth:lA@l(U-(2an1IKPJ<=GO!QG/-"rW/_'PSJ9;5ZIDL4BtO(r0jE -?31;X;@8ZL&3N39K#i$NaUR7o02`GM,qm\%QuX$uiV6e%LnSdB,6bq95uCT*&6p=_ -JUhj]YnX;aNJ6>)=r%9-:f81+b:9Mi/Iq"TONn8(2>H< ->/=UFn?$&V('rH0N7_ODn;4/9KH-qV -BO-+A.)hTe,>J.%NF!G`QKI-"`F]j[!Gu7XdXdZ9)i4T/N%9T+W6c09_sfiRP+]oF -e.knRBO?>PnWF*E-0QIWZ\?,VWYPZ -)nu!W3(o_KP!AAMQ\4arcO7GUgeSKq,Hb%,patoiDZMOG&rsATI*;_en-gf08+BhK -7F:[s?UrQu:8]#'Xo+b^cIhHT;;(U?Y=mVnS\K:3Yl"_Y^cG5gEPeuT=P=@HA8!kj -'k!_7@tCL;`WI3#\`S6h-aE:D+"+P'F9&4!Z32*N+<4gRo/e9]$NWf"`ed"V?6=AU -YD:s5s0qKfhZ6=n#Ts-QJ4(^c&;Ubqi&h0o&2",OfFnAFA.X==7LDF@/Hh`b'n\2H -%7/W,#N4A\K@#Je69%[G@72Ap:nAE=QrsgUF>8KRc58o>AIW(d2ht5`*^c4+87>-W-(Vo?&PDS./]G_-9NM![9C[UQ5hNTfPd9&[Y[I[nJ45%:'Uhs& -%i=7W"q7c>!_0EI!@),l!.hF6^d-UL'6%Lk+<3((-l*M*kR[u\U'eb`7T$-6cqJ!s -+q?u"4V"a[4nIH!h%LU%-3"20aQ`g'nu/H#fEm7"%$C'JFS/MLI*ab -oe*((Z1O'39]$cK$jR1a-jG?lAd"flh'h?O8()5^PdQBu&Y!b/fAJO**YJB4#fJ9XA8+@[=i5[.nF(`S)W -]i]&EB!WsT*eOH;&j^2$$@o'(XKPa;^fX5@ -W]LrYZIq"]=q&5]X\pXW!D;&O$ZIVui7tgE0O5';E%-J`V(Y/4>R56G!?cSEaW0?2 -0WWT:&J.``TC=70b1tm?^iibq-.N>gLAG0:L)@e(q$=IrX"20!)))6q$ePk=?rEd6 -9,dO/$J6%KE\7`#H.+d_\?^c]/@pEnATb)BI7P,uh#[2?$V&W-!YFWB5hM/5$4pT& -;5s\PT\>oGHioAua8q&=h>m_%W=9CS1^tk@'-LgZ#LGXUlHj&K(9AO/!-;bXKkSUe -D^m%hP'RY$rL%7>.HT?]QdX9:Ffo]"+leD"27D=*n)\+]OSgUiMcDGA*\G=LcO ->FTeRS_LaMG4FE.cZeh[M?X(%);cD!I.+QF#VSl&f/a+pk:;4lfe=f45_"MW!'CM% -pBh&H:`"(tM/`7+e`,@oNUa^fa4r+l-jB`TbOVMD(GJ\nJP7NIK>&'eJ56L"jK8V0 -e6t?A<%]L,i2'tRcbYoA#9hk6LLWM!LO(BjJ-:0/Qaf81!_clio$*"Id%&dLfbQ4ZFe6\]cG'1$#!;02+NqJV>\q?NfTlBi]J -1rL6I-t;qeS*Bl5+qh^o9'BV3YWoa/XR2Ie#N5Pdo'jEi_b]M*?`sC!4+=:!%i;`\ -;/9Et`Xg_+D>unp1PTk]$_Y)m@&Ca!YR)j3]0a+10G:*l6tAa=?,`lJaWCRL8d+W/ -]d;IG5b__A`X?B<%PU/^JAMVs89O6_4i;>cbHP9+k$IA,B<'MlLQH5D.+2OE)F+uT+k-LCdct@O$L4!IJ\hE' -^hSFJ1Eea!_"d6r\:-\hohSEZnBfHSY,'*?-j0B0V[3edkm_>4?,npFnFS;L%WdT; --d:HXd-D-<#]ti2E!J4@7jS^$$P6/U&[)+F:uKR?&J:!*2sL+0O/4DjPJ:0(\)nj0maaW -JJaN'(pT2?nWas=R2I`K)0)2c0qfM*T,Ou2)UYN&n[0;j\Jl-o)f`V3Z,%Dh$K#jI -hlZJ,mK+VQDKa;4f4b&.LCQiY4e.,`[K2W#GT^"6kYl" -"pU2A(6$2/P$6#GH;u)0X_a:0_$p%7ZknM!HNEQ6d74QSW9Q"<+,r`/TF`&p:_bU= -%\Tm,+K2XIO!`9.-SF-@$4cJMh!T.hTs!gX0(bluq]\q^;U3Pn+C5PZcZg!*app\X"MhsIi1Do?dO@3T:R0Gp60`Ym.OF%6E?jed' -^@5)OJ218S,JD8Jshj'f -5]i.Fm:dDEn0j?j6B[0VP6dV@8L[hn63KjV>Lg:f+A#gRemu[uO>Ia35Y_G^fj2#A -?&g16eX9/IkU1?'R3IBN@Z4TEb*F69#Qg4r/nun717'a]#nf!BNbU+ednOtR,S8\S -eF#:g\d4!P9H^)ji5W#&.XD,So"jhF!VY#`LD6p9+0MagVktGQS?B[M2#uD>+ArR. -9hKRM-1\@=o!g`'"QqPUU$hEE;TLJ5lWLQ+#*_^b1T5Pk_?@Zg%\Q3"JI;+P:_Edg -!oZ$O5V<`o3!1<^'&YY\TcaHr*Y@7/&A\2JJGKa`Hk&ES#=,j,+DfX;0iRe(DYEGh -mtRr_J-g:m$:%W!&"EtW'EDf5\F2tM8)k*?^=oWUVf:]Y]:To];K -O`P_.F->`("%j?T'GYAc&lfMnLN>NF_R?Yf=(&&C0N;K]b<+&Y6P&$bF4!JF0g0*N ->813$J>NblL^c;!\dSWKDq>+fc[!!jH*C7VJ@.]$YO%j4+J%pU8LFGrk*ERb8Y!f4P.'2I,*LA4W$'Ws.pB$3Q3E\^jR -WmYPO2@%$X"e^cg!9nO?dgD?[l;EIs.[K>8nf6i0)P@]]VPk=IA&LGi`&;l&IahNd0rP3:W&SmuP!OO4a8hq#uj?$'6#6OEh@u\IjsL'\]sU -=S7o?&da@a7p52Ui@Yo)Xd7j)3KntQ"/%])5"u8H-G-f3X=o-c\2P -NbW!$rr>esIIMao'Lb@:8om?-Q(mc:%tFt:`AADc%g7CsXF(p%;i:*:MX[J`6'MD$ -P:<\Q&IRG)lR,JOF";OKTb=tmnS;e&+R^rVR$cPXmXUpe\d*al#?[GG^lVD9ec]C1 -CnTo"?qLkn`W[L%$\2JeJ9G@ONs5T]$NQP#!1!ljHjB6lP+!P]):GUk0K5h1ZD6-Z -g+dS8QME1tU3*Iqo6kY17%F@dMo!V+!T,:73ZgCeV4m*C%8Ip[DB*Di(f,7\@&8!W -R^Q/#r(kB`f4#)O,/3[o@1@01(NTL6GZjcg\J3?N+O":*dLA"ls&u\.3jl"rg1*T4 -5+ob#/.0."Lh4p]=XC!Mjc0PlA-g1+A!=R9PQ&0a@g8e-[YHi.oCTgWBg]*r/7q@" -RaPBh0n1_JIJ93p1[lns!oi?gIK:8fJJO`+QIL2L;>@Os(.BV]Q6(U7!MPE2+I!&3 -EMOKt[*5G$!,?HX0dQ,[/@m.7lI.(->R)W/?%Tcr1g,QXP@AlM[Q@to5]MRDl7Mdr -\/S;U/?!/LN]F7e53H.?.lA["=LCD_Y$h$o)5EVS1Q,:&87BX@Tup+rVG+feB].4I -)h5Cb6&iZGOgu.>3>oP8iP'[+^:WpLS+XMmpV/fc^\duF48Zg@!Pk3/^q:8pnV`P" -ciZ9Q?@133)))3](^'/n_14=For''$-=?7Z_u)[9-#-Jr93c?V_T4@gi&t=Q8K^,a -#1Lo8)qbe#>!TW//$^psMm+Z$2I/Y<_SX,7L"R`i.hA`o\%0I9`dVc4Rq"_YY)HBq -iMHWaV.@(X]:o3E?jIc`hAKa*!eFGcJ3"9foF3`ZSMDTW][aRu4h0q[ShW<)&[60.UQmq"4Ee,f1_ -TEH=I<=/c$';.#mRBqb.MLIgGHZ>1"1Sa9Hl]84cBYp -9hHOZ/OIC)Ebqe^YI93F9S=udMqg>$-0O,r&_ue!k'q)/L^61QDucYP"t6lkf:aOF -%,RB`\5W\0L^.%1lMbMc0%_Q@hp$oW9i>TI$2*N,C^B+C%cLju6"-3G:JqOjbRg:P'D%hRo=mT_s$cP:8b>5?oRBU.5>h*' -:\DJ&p"rpFmB+88r.#C1OC'6'4=A"Y0>Xda"$eaHEUR(_*!BW,pu3Ck("a]-.['J/ -K,(T,^Q&$GPPUq@!epb`?Qc[Q@o'su?U/q'.:SRZa'Z]J]2f2C.NBrBe&UIZQ7";P -H_m8qQ>N._aor*oI&jRp;9K<2+:bV#XdBN.X$V]^@!*6#&t2B9dQ#Tc15\MpZ$=c1 -3>dfHj71e*N^Y7Ual;>_T\O?@*0(7:q2E1%//lZcE_/ZfFZl:u7tO8sa' -5S%79)?l3f;A=fcBNQ"`!HKY,_GI$"pqD;U<"oJo45^pP!P!Y&#O68]_h^W%L`s_l -A6Tj=YrI@R6t,k6`Wg+X*#4.c0MM_)&$T%/KrCYV`eRD&J0)gQ3`m=FTo`UU_#[e` -#)/,">:9_3j?t*0Dub&#b]1F0#YL/^;^$l/A8iF0J]N7"7'Wt=1^!NUF'OP?^pAda:jCY!<[c$&$tH5(3aSSKi":t/ -?q<-__*GLWch`jQq(,(@#p+N=Q -g4i1sl:M08(W!peH4klS&4@%Ei82Q_]l?`H%Zg2sEa1(Ma^BY;Y"!Gq1o),+661mb:cs`pPqN'R6_@YX# -&,uS-g[foE-Jf1i(;ZN+Oh*?KR%]ni)gXo -OCJfOJ3Ad?.OiB)$Q;M`jtis/c=2n;+G:U#OKoclaGCR^Yk4J@U0:6c&Mul\oSQ#R -3)GJU7O\KhVA/$`#,:HtNbXNW"%_i^$P?nn^t]cZ<_NtG%"\\Vg_k`@H4GMY63mSp -_AH+/,[h6Q74=*:.c>:e,4p#AEct/Kq)KiKoV%M.8/k(jc4_B=I08Hp;ZT`f1Vci5 -+!:Q2SMC!TU2r47o'#2YJ]n-b0YIMHo\G?HiWt0e=p3eq?j%cHeWS'95+nktTo`21 -:T@E`M$4uQF;0?=EY(R99`6+[/s&obhusDeq^"XbIK=9USqkI7cT1AV;A^rKB^#qW -U_`o+m-C3Urd[_2hLh"[s$9Rl.j]JA3)JgifWUb_H"2J:SQ[4)e;%2rLd4PVk]n$g56k'G''F+b-p^9?[/65Bf>tX,`1$gI2 -0\F]^X/0mD>r^5lZYppo%d -$PDM]%HL\JKJ8E!6=?FG6?.R0JL%cm'Mg$4(d,lYg`BrRE31?62T&RCaiE=S>=(#G -"X.0#L7pR2"PCluK.)-J!VASdUpub27UH\iSM3P^^B*?h9S%aK*WZOj$c&8b0)Ssh -D%'o$H1rXgS=F6P;+2np,c-aRSlB]YH+D)L,=>F0&>9Y'#kCD!">GF`dTeb4;3W!8 -XIGtA?DGk.QVhL78ZD9+r!Fquf*7oW#=L'r'n]cl`iB -J.i+EM@2`rd7oE_/CI,g5UOM"g07Mjc&-U+T84&J:l5R..dIu@:>B4V0c+8*M -e_6L!L@5#r]P.;rg=q44,UDrPVsP'"'E`gP*UgT&H1n&'6>b,A&OpuAmbcrr*@Ip< -WBs-,#iZ+##SD:a"k`&>US)i31PPm"`k.*qa8lf#JiSS4#TFu#$&\6G#QrFC"ec`4 -C7]FF3RO\%`6+o(,8^oRG;iLKjGR)_;cLV)=TosV1P/HI*J"K<&:ejgda8g8"BC9j -!Yc-#9]R4H80eW,P-BPRR*+I04!`>na+JL!P/6O%1%i@,oM4pPb63J'7A(]n]il)e --m]:Ia?.ht6j88M[fRc2`X?3a"GMZ5!eR@EJWV[,KE,`iJY4NFTW8j\/PraD^rA(R -l_$>cD"XC%VfZh.*m6-*OCa4#p9LN.=Q1ItS\ID2o"j\R+CG?2HqJsP-o/*o59,F9Y!X#saFV5_KM1 -S.!-6!!(peJElA"!"jc)&Z9:UW?LuM=_b1X6bQAm0]Do3U]*K9&YDGd*NU,55S#SI -#sVB14^nj8X!EQ>*jj!1O\$:H5nf2B+Mpth[#.HW)bP];)1k7*Ta2hcW\kNT76P=J -4d[=BGTMH%M#t1$JuPOK=C;,R?\bQ\#H:7YHSV=Zl2Ug5NgP8"qVO;P07`bAEnL6r$#*4lt7g*tT9QQ8W#Y(3Z&A3;.XF61E -4YWQn'anQ((ch[/3JAR`"W2iG=DiXKDMNH;LO50u:in\]Ta$.h"h7,(cq-@X1kH,XMVM>N1?8m4d[dd!Xkh,?kJ#n -7f_12_pkLdi+.@OA;7#d#->NCW+c6.BSLa8L2^O[pfP(O:]S"$">C>h+>X$P1-)+@ -b4q5PBeZpTZV*]R92*Wi_EA8F;lVlCQW\p@_,gYnQ48K%M-3jc@1X(h)blPc6";9: -$:B^g.KN?pU*r0Y+:@/tO[L<'LPaEY5u4#8#@P^%J(&:''CFZEQ?Kp0VC#Xj:r -a\CD:Zc(0`jR9@[h!`Eb%+(NN_.`V9X;AXY),D^86+[hn -llF=Jn=f-B&*](U*3b9F=Y^j.Uk9^3GUO_C.Nqt3Jp=$l9IHXA9Jg7mM[=OJ?m&25 ->6'ag\G1:_R!QKR30[B&LZ:)oguAUO@g)D$K.P.]Bp26L<>Ao^`&]ZK2%%S*7^OX( -1dX0Y`=Yq);Q;MuUP)AD3$sMo(]pg#0uPMuGT\b5>1"?S;cQ$19gD+FrW91X"-JpB -^dj*G#mHE+J4OIpo%Z\873\C8!,,kr*/_815gI_36P(IW,'&d,YQ9USeL:1B0GmeY -<$s26-TM&oI8s91=]J1!eW!a4]j"L]>1MG6;Th:kArh -!W=L:5Xe&hm^Z#PRDb&=kZn1=>eW0i3flD*9>?O!5?Ajjf-&M`Tc6S-`lZ2?\gsP6 -%,FY96ic.4L#<2ii,+MD8^V"e1DQ"7n`Fb5nE_.pbqO-Xit%`c!7[% ->g:RLh9T@9cs7[bneQko#>t*@N>4t7t&hnm<86GXHLo`mBh,'s(_-N-K -/`,=nhHh5[6s[gZ\IMH\fH"3,!9=]B)JhmapdX)=>[dFNd$kc8N^>QuMHD3WOr"1f -@hrH!dC^tQX!*aj=V[e+XXZ(,\W7/Iptpf$?`j03^%pR1qd7`o!O*UIE"rIg:B9lZ -L2[G'E,,GmCBjP<#5E7i899PW"G]Nj!'k[7W-&>!"U?`#J7*=#fEVW-?3%38"BZ7h -:b;]oa+:1_J[!-^7K-_TrSa=F@AXoNXrLl`q4thfbfUo6nSL$^*FZB#@Ep(V*W+=' -*[>GfUP)QP[O;k>>,,*c+e:ULrU9l-V8A]mP4eI4K25f2`Eo]&@idF8Ln-;O-\5AH -K0uS"db'7A^kRb#LXYLJ>$b^KIol8!L&/T<\2q3g/rqGp!Zj/X/i48M!#5rq(gnobO$j=bk4s2MT80&J; -6fjn-U$3p;41Q)\-fdRVJUe\CjN9P$1X_as#,RcKaQ!as?8E.A#G;)&TQPc%FkB5b -!2*<&O?-EM+3d5*UUj@>qT=b,9r_>L1tkW-7Gm4h=pX^J!`0X65VBCI3<9[NK`DJ` -ph'S/B%2HrA$0GLS*(#l/d>/.KSV425V0P2Qk/1>U#[;Yj1-p"O-RG%kcJk\J0+fB -*b6ZG!E^XBfI:Jn/Lo[4+rr/nE&.S/XTI4\!jg67;TL*2RI6P[;.t6lV=m(I^a*Q[d0NpCSnXXY.SPa]kb'jCX0Z?<M+uGc-_D4);-JT1SglhZmD=67trnZuPhej,POWZ?/ -\1e$K(^&\j!D#n<5S8]8>CbpA"t0la-tE=fA-PR4#"W;*Y[n"M%0d)AJG<:O5S=5[ -8:al6".0sYO=Gh..KV"?N&`Q1(?08XiU>X]Ds%":mf7;*h:':hO]3QE4%ns.9^iht -E,PaGG6VpZ_?)M6+\4+mcmIao8SnqcW^0]A*n-!f)RQ*h6@TX\91bn2:1`;mC>ThI -D\ud]$-]%m!D"\S5YN^?A,p"J;GcJ]5!8B8+U@W$<)?^#(_6``5N>img?0=CIThTU -Fd1f0!n4$SHp.Z*DB_>EKnG_G_oB#j?NmO,25NtM(e+MX7Mj'hK&L6^G0*Q[YL@IgpWa$k0>SN0dg$^Tu]3'_=O1(_tFH_h4f[HM*HFMX)3metL!PC/hY!@W6A'-c8#0W5FFbWj&dZ2#SVgj3Tm:c";"1-L3j(#`.\VW -"WqWfaA%>\%"t(8R:nPD""42T"$:d3/N0(!VOTeXB`ZR*!H95I0IQRE0:/Uu"@s#U -6=]`!8Q^40"HX(GN*?E4,ira;8ag55)k5lPTZ,o,&NF:!_)Pn?md*PA>+/u!cTI_ -3Z3N6[/4*'qerlhGIDjJ\U0CKH[rs7:a:QW.=rrs!pCd/i%kE715!pmK?-O`GXhoK -'86ur!@UkM8.pVA<<44B"R$R'i'[U-6\D,-D;>,9%R72.7?pqVJk*IBalTrgKQLT#\5kPkWRm+Y+@"L%klVnX_q2 -+jsM`A(FQCW&F_o2Bph>QXB9=!6Ah0JO(Dt=@=2F#)5HQYdedE+VTXM@Spg7?8WU\ -7O-:mW5rR4(lh,gnaR`*7OngAr*:"<<@P+rCIEj3WJKS.$a35kYSU$Klj<+-4bNp&"f>5JRg-p4GT!Iq;uJ -YQO:V!dZSPXAlE8.VKH_MW0f%%#?fm?Z7`8i6L==)r*&UU%]g`b9-:F[qhZ!om7Tq -]%?qqs0^PJ8&o*?acK2*7Y]`je)A4TDD8?U%[7E2UpZa8iVJk -J=I@2U**V_LI$H0m^l45U?;caG]N$QX5k90]+E`+%RX(Z5nCn)ZCE&A_YF$?%tr"X -9GV#uAG)@Fp^V54!'.k7S.VI/COmh;RK]+V+<"]I/XT'b#9e_W)?unVDB(:p`%&G) -c5VBJ`$fDG)@&QaE#u#G(g\>A+_Zn4M8GWZ.*[@*W"fYKTN3KK+]tBb"bL-H(5W)( -?6Do1Cct,.F?Hs!d*u&,O+m[[>SMl85Y)Lj@/VbhK:q-X%0KSs5>P5n*CWlU2*FN1 -<7O]G(JAm&/OTkE([ -FfB'.[[jO:gD8VKDVJ4b\Sp8)%EWQof,`1Xh%sAIG25**fm$fSNTk`Ff9PlPh`&7A -Ic$LjpOM/R('0!EfIdbf@9>]0K]/;I*Ji[aSfru#=KXB:j&i^B%YMRi.M7Ac=B.kF -_2TLf"uKpo^UQ:M#F;/OOCO^`))ar!;P>F$%q@T]"q1SVc@r!+@+[FK"F=0M8Q#S, -T;[ItL8V"]oR:YFCK+WN7dJ-Ip:Q1+G_R@I,!_/5M8Eqn-Z-_Ti$e"[IbZ7;_FTh8 -D]@:!^$j_E!PWMWrs-@/S2cYEEBDJ\,R]2([Q"KOGm"rq6nhk5&Ktj"7>6CcqABfr -89Qfs_AK:"Lr*Pe,De`fq87A\058>tICF"HpKc*jf82SnPU6]c%u9+gJldN\G91+8 -k'*D@$.]E0J=\3I@[DHb3NaF4YNrpk_61r8(jWFRqaXa8DF/lCp5#FcM!'P6['?"q -s1c8Fr'/g'rVt4;!'eO-s3"4o#!gr\QR!CY_0A*Q@#-e"E%!/ig&4(OP]Zsle3!^J -miF_&GsV3m#R>#G*M]8/Ne,+LLChB)_[o?>YoX\^3*IdXd&N@U#nGl%4Fh"+!s='_ -%?h>b#V#s%!oSkI_.ZD78Z4"g^m^jH@4DQ1*$>k^TF?CO>m?B.0#ab+%oXT:#_9E. -"Ai>7_Dj+QTeI5bTVMpHJ62su=>>D8_AbcXC_#BV3sL4+)8a`K$R%,^KJ6S/!J!4d -;"dFIq'?QIUlg.uo"qmA(8m,+%)76)LJLD9:JCFl- -5`,Z<+B8G.;DS;\b8l*AFrsk?I3p-21aD2a&#=e5"S``G_8m1C!4iJgi(+#;*#\nP -<@\qTX_*a,Q*o(mE6Ebi39MP/*4N:rMn.4rDfSXq3TDDY"?-cTPVa&i0+3LQ4rWI[ -!fj$05@tnTR'[SINU^$Q"]0@F+k8Nkd#<1bbQL6<<='g:/;>OC*M-5ZH;Y@b!K+Ho -OT?^f5lu9X"jdes,>87M+kQfB%0n]]%!mF9l8q6Jm2UWjEXO!8/491R&"tZlKWp=B -65Vum_#PPZ^j@ERO]Hq\Jr`eZYu^/??%39M'EWe[#XK"F",^rk!OdJ]f\L@W't1VQ -qW1q^V/`ZGcF[/HnQtOpIBQZI^/t18?u.->Ygs<%fNSqslrB%M2Eo,`$QWboV3A49 -9$CFB1M,q'S[45+U]J7p#QX`FX<=#K1,_r:lLXg`!7"A*->_2J@ZglpPtHW9FOF.M -T!D'+i&!,E#/Jr["77WOJm_7YDH4okG;eYiYYT;-+=^7h]%5]+ZN*`=<\H,Jm/uj6 -fjB7s#d:lc??b:OgFHkA!=?)>!/#[&V=D:OcMQL'nUBrWrOsEZq;;J%J3jN:#D"]` -")tO`JWOFP!5p[JTOJfA=>11-N#Dm3X:@Rq8dE0X,(p3[I-PSH^Gqi!@[m=RYsp7_ -fXD])\',EP-8c'1NuPN4BFpdo0?'=Y+(Q@$I'4qg]e/:ih^R;rDUi"(GrUd\FM_># -$ei:2r$:?=ds1G^5Fn]N-fj(%QuaTNb^#[5_mmM)iXe#BJTMS0\r%S`&/Gs(cj:(> ->VQGU$6"P-"HABATX5!L!J<(4JFRq95bP1k5\N^o!(IpS-ql+G('M_VdAHM!9e,*- -(Ba`0;[Pco.&!TXLQN,Q6o]r(U)62ti>9qZ,-+IFh':p?HVQGelYA1n"7\=>mUL^@78+G8$I<8kqCe%)AuC!G+j -AAQ]X7Ek!BBff>Q,:^*<4;NOq=h]+:qVReBIrD3VC=uT7%>>Wh!PoU'J=*GV^bBBL -_:q8#V)BFe,%UbJQm_s-T+6Bn3BKJ'QE3;j3&D$foRad.^DkL>f"W,]SJ>L'Z<1,?/c8;:@f*XTn(1L4ma4;B8%/ -F,jZo_1Yu@7>p.;ChQK`,ucL>H7%h=]t#^0I+o+IWcAYYGX5:PA"Q5Xj8d)VH%7($ -6"h,2!$gRTO$VP$a)q4m8@M.pi4]Q8kYMJ74X[g^rRTXAtFi -fr^Y3. -?T71rs/#>#jhkd>BFk4V64*YO:\9EWfD4L7adQll"CR#t1%dHQ<;4kF@(.u)JO -d[C9qg\`epoDRA+-3(tS"`M-U:I:R\pb--S0/+#*Xl)g5)D6m$!Wqln+E[a).frO# -!g#,3sW!6#LJ)/&;LM[M[3.=#`t)R:m2/omX@[Ih@.3lDaOM9%\/.1CdXf-bcYq5 -KQq+ub-4&_:ob"dW=7.O%1p\l.RkOQ80gH:ASBd'TWeS"Y3>r5mbn9^^b?FqEWQ8\ -(Z6DPd/sr""OW2K"$n,li9].T^aWZ_N+/rF8.?#*.h(FU9<+'[5fA^Kn,raZ&caa# -iD9TL:`'0P(]f'diHuG,+r8KW.2)0c%<98u_@Vn4oLa`+ -hC>P^@^*u:<,(8kA;b:G740-a;')d(Z68LiMHW!VM,&tlAdG=j6WH_;?DDGJ`,N^5`.i[`l[7q -6Ek.dU?q8>3@6Mb*,Nq?BPn(u>R09t$c+:p+Xi\.QQV>%isH,X""`I5n,OX$)U=oi -THY/&-IMnb"JG5li*m)0M?ff10#FJ=:W4YZ$S)l".jYVrb/UN_cLl*VqN%C,0ASCI --Sj-s1D;8p1G:O_4#<'b1NPo>dmZ),7l8[f2%rP=;bo8l;`0bG2:H$;0ApNDc3(9J -"JB"7EtT]n_VU(MAC%ag`d9U:5;n7O3:Gr*+@<.P:f6.X3V/sKi*PNb:hI"A#^ -#XH*,i49Gl5S%cS'*1E$iBKb1=[ca9"+_7*+P]`MTe!(IOf5r[e2%Mh$jPq*:h[ku -U4a%#0EV>.mn%aAK-VH#/k847!Z@, -/eapN!hi/Y@94kn;A(\s%j4+J&YRj@Qj@N_8+F)>&\UP2qaZlo]7Tgi_kdB!Eh1=q -.`_6o;fi2K3juh(;@?A+FW"(W+Ausk\uTMP@$Ch/A&:\=R#W[SU3_\jU1('#Tq!KmJ7OrSB=1t>PI_as9L1,Qi>!$V#-!O@uH%B+p29)0[g-jg$#irRE>K.*BQ9=+nU/5,SpR`?jDZ\$,FI^i5-gKjpr[O -GMr"9/e/>-V%-%6dd8o8(L51[],/Rs#n;_d+Rg%S)UT^Q)8q1uJ_l$b#T[:[*HHVT -TrCXmGSIR@'&YSZTc=/C)A'\F&@BFk'NWN\Af)X3(]fKp_2DNKOr46:)%c]^'\]0E -paBOc"Mh\he3!u`LAq%hg(BQCg_=$n08SZ+"&inLA\T#8fI\3$XPs(dVPL -6k(X:+\Vs29H1bW)q]Wl6T?hebSgHq)p9E98E[glEk+V[$fgBi(1( -\i*=rV]*Wp)eco\RNnNG]ZmpY$Y^%lP/IutVAEoH*(g2O+lWK1j+s(Y*l%n"_Y0,^^NU*Z:_X(su;!fBsJ7Z5LRT)fGQnJ]n,1bpW.N*$fMr!ONa&()aqZ -!hi'o5X5i*eEed*#C%>dRb+8"T!e8^0J7P8n8L$0hX,U*Il"6#K&SeGHjZ>ADZGrk -!+m@.DNs6(AAE9jTPt2p3f_"Y&!Ta&i$K34-&;8L>f/.k+m^&=1)Q]7"lUp>J;anE -\-X:f$DHT]A"#usImJnEuQf6Vp!It40InXPB$H34o\!3Z10*E.'.^f/URt5,8.&'GG%_tIB -WH&_AH':uS1kF3X@FQ4r&/sS6(nitm@5n`^ahZZN[CAQ3`g6QG -4p08MqUr!f=g>i3c,+i[_RqP>>Vj9f0uMd*_u)U7*(RqP9>iqg`10Z,-9MCRRqhhL -+SiihKcmok9`J/6`61*1o7_iM?a!]F`Z0WP*/D?MKZrJ.0/lXRbd;[cfEm>i#],e[ -S.!ENM9+JUb1s>GYgnlsfErbR"CTa0_$Uq8,Sf$i^%d+"ap3`ChB"ob*^S?WJ_/15 -f'jjG/N+[8_=.F*n\5)O"!Js&W9+FAX9P>-Y8k$p*>CmDM?_N23JlDEqWj+)ik(rC -h<,Gt+Kc'eaj\&-e,YKX>@4Uk[Ue#g#!dD:^ir0HbQOT]';-rkN;=G`4ru?j\\[a3 -o&$>F!Zp.R*^SW_6/EU>$ln5H"#K:5+oUI'AHiX.f&jNi,sEHj?/'ng_?@lr"(lC`Lb*Hft` -iJnT02A=5dgBV"4WeGB#[LKAkiR2?ZY.3 -#D-+dT_\cKp_7*e'NfGnTp>_1Pb6)3nmT*0iOTsN&/udW!F_3/?lBhi$.HY -?oK5:L]jtk,haM%.0?M=kTRP:!'dqsc.i-rs57k+4?b\-q>buS^of"T0p&RFX&4H? -=eo57,*%JS]NgP:+k(-^5$o\0a6E2A]cOq4\)H]D_o:W_BWtGb'T#5p;#iooK9-X" -%0KEP%0F?7<"fI%&9J]n_6AS?#stkT0+(&XZni1ZE:c"!6a7%a&O`lL:D(Q#1fY5Y -EHGD%7?NgA)9+D,D];2$XEPXSOjn_#8+I@B,"OI?LEfAG7$f.?Z;dAA8b/+@.S:>\ -V^ooq`4%RjZXhrNc80S(3)4P%lT@q+eF,QH1Z\R# -:c%It%YMRd9`C^DCZP5r/>>ZS;@K:SOOC)H(o*f+FV#3_T]e'fK$?s&^0Me#r`9P5d,dt:b@F\MF2c(\))O^BGqY99EqHjDe\"NP#NHu+lZ08 -klJ(D);5dQVXFaVDRM5-!r1l]$i:L%Z=s?LB=&jKKesX#_0B]3,XHrs,6aea\eC!3 -Qp`p7A4])q'FP4b[[>&_)IaOkBnfoEjk2s-'I5pt6]M0AhDYZAE7u]LUL;S0%>.d9 -cOIQAg+IM+i/EKs0U*(HZWm0.XBa@,#\2%5\:mS4`+UgrB -Q3M@r8J21ZY11mi;p(+p.TlKfU[##bnF.+"Y[8R81cU5qU/T4&=XrNTWg4:+=J!Ar -e,fV8#O@0k/[i_5Jm_7YCLS'H\R-nb1rYjqc=K[pQSN/`c^E6MRR"Z9*+#Cj'E^;u -N7#;]7rSPNct[PUH,g-P2!&0Kn,O!8dK)j'ecA-;@=[m%#_\j_"Mp?=?:YCA_\/%._Qb4aY@3h-j9%\)$:_#UB-C7"R7s;_8Bq1dZ>7oVeSVf -cnu(/]H79,=qQA=-jq3^&-mb?#"5u'!eRXV(L^&A`AjCiU3&PL_"JO0&6K0fX;uuP -KG-]Q=ptGOWAXb;*9sbMWr\*[9CS7pJY4Z>.V[Oef4IEAH(o%JAB+f;%b.ElDkJG1 -VLq]U8;_pY"sDhO!jJ+2!AJ!o1sP]KE8h.UJ85:=W%N[P\.]p+GR"mAat6G;m`A$P -#80)-:cgUK8elEM[EoeF?r@^BQl-N(6j8P^mJobep])PtO[4&RD$TFm+,l*0%tU;R -`c.b4U$rTuT[!m3-r^C:9H\t\K0e(gdg!%n9%hAIFY:(nRHN?@!_^%RJE3<7&pEe8 -gV\:i*TasNT(QE*fm7RRlb1oipg6,?I;bDE^6d^T?^pk?0D54Wp\+Yq49^:T$u5rY -#lk#A33>_[pK$l<7"\L?,;+]!,>q9-a\4XKCsh]8Qo[Ka6iI?*-m"3>'*G,25q&QU -fZ"_/(u9QcLCC%=,POd0j",J81%mCM,_b"dTQMjfo%=:Hlm%1fPS0;s[g2^A(R#8S -O>Tkho42 -e:G"VW^oP!PR.PEn/,EG?4ZAS9S($14+\%1+TV"a&0Q'[#N.Q`K>8K;iJ\BR0VAci -GWuC?pa:`FSeqOj;6!hiW`;Zu(kR4gdM7&YeiLf=.kiZZ%:GArP"^*Tdo=Ne,`J^N -foG$nTE]M/j9/NM'`h-/eff\[L'nb4_T4/5iB.j.irTd`7?Sn]=%@ng(M5M$l/EU% -AT%rF@tI^5AjVTh$s`E^#9X3jK>7MK!TX69ORrN?e!(A/e,`'4/0!VC"V!1kFMq,B -%(6!`!l1fKJXB"6T],p'Q)_BZQ;l[G-]%DqX*1Z(,eM^0WF0VAMYa5PlJ6*QotI]_ -3nI[(*Ik>:m`F+.04XA)VmLW]ceEeJDXF"0\KtpM&O>Wb"9=An!]0HU.ia>]GZN$s -IGKWsi??5AdiEE!bt)Ue/-U'M&HXXT+8^h[5cV[t_q\V;]_>+l*A$n%9;&i/0dL#U -6cOEo5NodpLXO,5,6V#N&opf<#g8#IKJ8*k6/q&"hQu0g+,T=_+3+)_%&j?GYSgcg -Nu#N!>0Wb23IiO?cC\`0rOhGWB3=lGeOeA(S$4C#P*@gaSlF[`7]m5 -6/d)BJ1K5E;&UfNBY'/$g5_"/;$_MH*K$#Jg:EkBa8u`MNGp.pW"fB.Q\*R8!@TIM -YS%#9.01P?/8une0H#Hj+T^4:*NJ='FCBEeZSEI]`_^Ar>1=98_0FoWY.#.Oej\7'o, -@0Ll_"_^C+i'mff&d)ep!FR5U-l<".+9A,W%%*=e(s+CO.DsqI^Per"Epf#.\\,hi -`\_/E6t/VbA&_ba`ai`%FD/[1BuYg@7[.Z-`,!BBCI[B$`p@Q^nMDKf&Y49a#f>df -&_nE(+MtJ']Ncd"@8-b^'7hn]JFmeAX3EA -0Uh>F"+W>R^c+p8C4`h,JlIT'^`Tpm*B\ie_;$)m1is%7V5.V;Sb+-CbTo]/_Er4f -bcE6[N$uR(c+H.i9^iroit"hP\P!@Zb8f!S'\(AaYqbIb6a6#H_b!QBUWOk9N>t4% -$UK@](P2o>!GEb](__N-7`@o&J;@Dc88AFf",>`R!&/C\TQ-J]@Ke^uKeo3O6rekI -.=kSLJ\"6;$)tR7UFa;Q63nSGKVHdlgEg*4\qFM4%"(PBq9P#r:R(_%`;@m1qbQ;N -cg:VVo`3>B!RL]GckQXZ,m2Ll.4!SE!6YLqj/9pI"%)#2'S/e<<-U+HG;7;n6KrY( -U/<3?"JkVlJD>J_!"_Yn'"i`00T=^_K_<`LB"]UU1*mlu>:Ch4L=)P5d?1&X$$/(. -+Jl`\(>'j&X4g"0`iuhjdH)IrALPt!.8kjKd]gRhcklf!.CZoD"'@r_5ZS6iS;)Q? -J-^J'fo[E#33?k@LN!;"CQF5s3@AK^ds-'AQiRG_2Qah*(pMm&nW\gUCnUQ.!.\:, -\skRE3s)o+JuY$_X[pm7<(]\$9OqHobbtgC82RsX[+#(4oDpB3 -a@n*R#U6.Br4[cfY6+JUe[8V64^r9S=f+"<][T3&cHY(+a,9Jl9h8D1`kMP;Iji\7h#BeOcTJ0ggmYJl('kJ1H7+ -XJW3\K9-[tM7opf&He-IK4F&QcnC!4'nUt9JeHI5@=-=AW6duUcs=gl--TWEbM;4' -h!NAAp!DLudG4]Kh%eCE-.C[MeD4OW:h`eRKaA:'+@=_>:uq/k"V"b9);VrLfNSmm -Kb4=c&)CDM'^u^ITG.Dt'G%\geMYG&Q0:Ts)M,RA!S-L)jlp+%k__6Q>?`;<,M[kr -^Of0h1-cu1,=j4gmS^al?JY>4L%hHbPDfp[JP[bqn1g:Q8;6gD"n6[8(j7nfGuJF? -1Q.A#Gh[u2A;aau#"+d_R+mA^9=YUY)$N56h*6\1!!g;O!+9Akp^75t_#j/jgUJL0 -X_-IUpL.L(1g/]S=RRY$*O+dNWNn7PYh:/9'moNAl`q??+#c_=Hojib8PAt -)M"-m`*>f'a^_!0A#LAWN]:P"4Ccj7#sLD]-9);MbWRp)]f&(8!6I[HNuc5,j?>a. -`^"'=e7>FDA>VJ"*^/PD9&qCljqN0R)u6/f0k -qR.e"!t#9ckRW=0]EHEHKlffgJ6@Da=_U]8:8h(od(I=_7bd;_!g3\SjqX5baj5\# -l1NWlrR>QtT^!ksC,VdN5,.=3Vh.ghiXI@?p -Nq7toJ<]P)"cQdmE3BYJm -nRi,KV_W>&,4ii1n3A'T@^Z=*_ZBNU/moiRa<;^/+V*][FD;SI,SK_l++_k_nBX2c -P=Lr^+#8QB!Y8#(4XY7VG=.<"i@$=2^^pUX;#mgt#&"0pA53AA$Id(Aor)h[3,nP8 -AqekC"kZ=qfLH>=0cAB)S! -p;QtpMJc&'n/)%?(4b)'q;iMo+^oW2)-VqpK$C# -#@lM[=TPZqA??:+-\6LP\ZETdJa;.o'AS0ge__QZ%"$K_:EXOfKm;d?q"KK`9\!%^ -*(_Q\KKrXiOB@l0>_WQP%X>@=7L',_#)5P+"gCgq".Os;lmK94"U:.okQch0%gHS* -L;3qH^hj'BD'5Kfi.OXUCGVrg97pmiK4(^2$%G,5eBL4"W#s3k"T'@4(lSQoR9!qM],uU:iqERNZenBmZ;#4WD -KeCh&6's+.mO&)0/HVimr-_uTMMVCg=aZ;dr:V]Y#U5.>(pIt6WrNsO.CC13_d2D- -]g.l35;7'8rSr?4A^4n,rt"0lgL_4/nOFL.mS%0#iT&3rA\MR5n)@m??05`nr`A2l -`^kOG:4B,#A(ghPQRB)$W1XUofQ3a,s!')>Kaf<3/JKp7rGa)QoYVEb6MU-GLUu+t -P"!p0EQ8sZDr0UE(\*Rcjm[d1?r/Sr#]MgF%UfI%ga3sKLI>QI-qmAf%u`oMn@5QC -.27b.+g?brE^(>"aC5dloV,,!Q-:P[fn@pL-^i,S;i0ST&j.3Fa.q&?qMdk8_FER* -Ygd>BV[VhM.\0OO<3+QM'tVq=ZX9k;/(PXcNm2%?=`$'*Pu?6_UY*B8ae>EOe2l=#ZPnjn*iS/r*6) -ea.E??%1[D\_lk#HbM]LPJuYUH2V&fB;aMMpO%E35C_;HpA04;?_?NAr;FD!li@.& -:b2\N^lUqn"Mp1)*DP`6h7O'u^bq -<>NRdHt=*`Oc4&n`mN"M*QIX9FWX,9r.Pjf!6?r?aRV-Oi.I^'64a9_Lf5aVmB^@S -XX]::Vorh.\M).T%(e6nl=alf.=nSL1sFE(UF[sR\7-8sTjUn9"S9f]&He]q4!DZZ -%"BW-&suK4L*;6/7CG$gBh)$bI3hG4P_C\\de'Xr:"*)/1JcJ7N6nHHFX!;2;q0np -<7R7>>uao?D.?YuJ0P?:.$c.c69TiBLdDZ%*s\`hE2H[dSY^#R -Q)1Tsg@hYRD;/+YZZ"Tb"hem1QQ==j>niabFbW2l@N()s@$i\P_[uGO%jV-;5EOgf -$qCDQ@2j`Z@,VefK7lTM5)pd'iHbo7JCG3k(hhbi"9[_WD6IqKje?q -Q3DL[=-PtT6:ukuTaVEmUMr[\$DC"f*X2m8@;"E^L!+SnqAQi7#=9hD+c4$;Qn=!n -d*mj^i<\^0"@JR-&e.2HlmoF%5[#Cf@=WEnm2@>%UBZU%Ql@2`6:Y[Cg+:L[#A@eD --jeoVa>&_q#fjcX)Ac6oIhikr>d"scnpHK?.^n;D=iQ0T-U]M- -K25/oo`D@t.Z&aa?.W21:m9Ri?)YHkoYXIB0%bbHD;U&l[lHJQr@VG"Bp]mMEek55+?P1Ji28K` -10[&C1'VO()M=,\%DgCG+Rl[rT\Mr[CiL@06E)'!D3G1bCSPtu#:79itkAgf!'?qaIKTqY8kT!2;Oj=*:`gIJQ -@%\2DJL4Hc;kN[`9]\8nX`l=dd].Qq^jH[oq;Fciie1.N+[o#g4W\0g+J\R`P#=>8 -8?#$(V)4d/;VG5T''pD?Tb&BYeVtXAc5H%PqT[ZSh;//NiWDsk6 -;?b_^bA8L0i:n,k^k<)I"(DPZ`$L*[=Vpd!8OUXgqUbi.SQ` -&D\;1:2^U+^,P3Ti1)$HE=OG;397+0e4gHK:1_GTpGVN4#u:b6,45Wh]Gp;>@(]7a -.8rKeH.G=(]g4jU4)hhO07[NG:)#&g8!)pU,#rXn2<6':_[!?p\A2-I[&.:S!ib5j -9\:!6.L7I,M?FfLE-4U8dnU?%O?EdJm]'=c4OPAu1K3eoiBqj9o\U!n.I'm331L)' -'lGVB\2P+\R+mnh/:j#E;_gH\>)R.>\Tm,R.oi)2$-6%l4JSa4LA6A,$$7 -m&?8UY#gds7"(,H!^6h8#TH,"#Rdn""pF.<"6&`%=LQB*nV2%[(JR.X>>An'4/VZD -U!t!A7F+AbOcC]t":=-&\^qon-iF4A3mN=()!VPY9A%3cbrAN)-43Jl'Ef>CHYNG; -Gj*_oeeuXQm+n)9ncmLpgIl3s4fu+k]"(n8rF5t6F1:D^aP1Yh%*&u1oUl[EgDa(7 -D110MpNH)`)p``s,kD^am?n!#pEtBhdH(%RNSO9Jrj=BiHL._i5<4r-/';[Hj9-!>bJLgZPZKiQJEK&DO9!m#<`@CSW)i5BprAiN+he -:s7(7n6#nq>UP-=RL!;-#VX+G,0HS(rkujMa/sO]0(/hEZqRQA#0>YQW&AMX)Ze4I -#,#E0BiYG^h@#uO$Yr9H6*^LlYTMd'+7N,2:f@O:>m7H@"bHZqiQ;.oar-/&(8)og -NmJAu/e!8T"lOM(Ki1RGDT+kSTEQN[B--U1J-?)LcX8`^NC;FgW=&-s$S\UhE3Te4 -[0s4T$h2+Cd)c\Mb7&@7%5?0=E6euteIBmY%IiHh0^)$/Le0si:S9fQ+@H>]D?QV3 -QDZ^n/SN^0CC&&mf*D<,8f6AQ6Ink[fI:kOm84?)[b2r:;)!h'0f]=J4VMg"'1;@6f2$6ZJT!3?MM"$'>[' -:=>j??rkSDXX]L;.UZ6Gk7iPg%O@LPU-UKqC/_P7c7s(t4^Q77ATF.T^9q18`ed.Y*27\-I%p#VI_< -F(EK<[0?&24;5[1c[pF4[W17 -6aT3JoL20E!>:$M5j6ttBh -%@8fuQTd6e8MlDuFHK.ZPUpB6T`U[81;=UN#4U'_E1$*d_@d<#W: -JP#L]8^u9^[+S/1gJ)L9#"F]Zi0`_g,j%A'%4boIJA/*-SuU_#iTMbVL4kVL#-(Er -Bat\eJf9>>#-sBNVsH%<@%:P"5RV!-"2P7RJQ<\>&fP2_!?nZdTF`&n_uSc5)IkJG!jD%!2_9.Z%om$2S_,),8W08i1LI!_-6> -*nQ]cO"[pjKlW2m/;(g\j`P_T7M$.H3E;>D)F;RI_9H\;Rq[H"Bokq++dN.[Q5@=X -(SNQ+n)iiNbr@#AB=!E5'R*:fc!2HqIR5M4kS,5B.;(+sW_1k?b4Z918clh")jO&Y -F2J2?pr_RT!(#V.Tun;c9^>]ij`K?/,gq!0i#rc,,_A3&Y7u<3pGuk+?;q%1TKb]7 -2U?JF7$g>5<)%J$7s)4;FSAdWf3*5T>BP-qFuNiQG@,O&ATl[>G5$-'0W5+"St\`, -"fEF:c^n>4B+VP7Al+O\<,t\hqGL:="r)P"C$U)M.sHi$8GH9@&cYs5!VKSj49&Q*Qb%OpHR4'EHEqXL#=206oq1&.\J/A,fU>"]O -KE^YH"b;Of^o73>hWeM>"%r#mRqB=V&I.@ -%00!/_XJ*;9ELn[OMR)#^]kgqj8_L,0S/RF62$L.gJia7,U&HgDT>[!#j/MZ$!7ZC -&38N21$%fej)nb*UgYSSk-)^4bP!V:5qp`=qe*gMO"TFr0K2AWHq&96<"!oJNL -QSJW2K47<&D:53Pd")ggn:q&Rf_I'Ke0kCk5(t2aC0(8gH><:A&c&3`S!b#SjJHDmfTWX;R*Z!2BYU+*GPAGH63>gS=O[-qG.O\sG --uZ9.q;tq$4'&#'1a%nYTh#7$8"/,;Dn6YeCp"fZ"Dj3l8O'8l(bi9XZ;NL_ud'(q[Ki&,*m.)mPJ[D8Md0#]ObP/"(R2>^5^C:Ljtu%:F5)]SkFD@$l)7 -A&8'a=;8hX_CE/jodU^kO9uQrh$T9Z!S6-38_o:rt -IGgqPl8[=aC]rZjQNuV&jb=(HHcNC-.0A3-1]tcDVlD,.YtK(VR,brm:5=V,(Yk6T -q2]>^Tp^1>#0Pp1Y*oX.>RLQD"+^sJiG(%i]t%S#\H1rg/>$&Gi#NpI*]+S;]eG@):,WC'B44*jDhE;>)?/aXbhp:'N.?GlX65qm9)CjrB*H%Y^d!G"`8%7Hg*+00pG6f2H$68dHU*7Ld -_1huaL(drI'2(SH^oD3?aChc=4!=6(!Fu6t@N9n,*0\SeFdC4')Nq2)bDa(Tr6u^: -$65PT)BjHC1&MMH7LgoTK5?_"3`IjXsrlnF&``i59%(%Ii;`_hRpm -qY4--[*J@+i1Qo>h[/k^/p./opCcq%s#K\`,]@(a`@Kd6O(BrTq!jkleUU>cU6/,& -:((E9p#*,tO^&1OQ3R8FAUKX-l;,NiOh$mmdF41X0qn4>+nWnOa;UaS!b#-pT`p-8bp%\2i=qr%ep3Z-DfV/c1V\51 -P;%Z7j.6$?H3_cm="_M[C*3UER*#R8J\bb+GZ5S!$&6=Ud27O3*u0W$U&u!hggW,] -$qCK+6"Mki9XXs2GPD4=/!e@)di!ha?N5KT+3m,-Od$8c/4++T:iR+X',ZLVn^Lm5 -'W/l"'`+(U"uUrA7g">+n9@,KX#7l='iGlAtITInbaQIU>r8*3)V:Ff& -qONYUB=ZdcG.\jQ%tDR[np1.^T/Wgulh>aT*m^1fkOJCsrnj?On+$>S5Hk7i!C+pU -Z4$gXbRXim&7@j1"[P[WJVGYCU8f[MY\+B^BG,gS>B0[*/'#Qa^J,mbb\V)o$9R&22:JlmgPLgfke -Ycis?XVB"o7+XiO1h@In;,i5g8C@'p.nW_3SMNo;<5gdl8:cp^Ne_&!EZkV'!6Pr` -MAZt+Jn8AN#+4QZ$uhhH!VVp.[G"l*JB&OJ#T!V_2F`\"(t^?m,-ZS6L\1O)L=@BP -#TO$lY`on0"@,"8<^ni^Ip?%iHCA*Zq<.gMLHl2g)h:5a>66+U":l%fE)n:iPn!M? -?a?Ci*0.iHkb&\=BF&dQ?kMOK!%5b/F5h?)-uXXuq*#1M_Z3Fb#2tYY)MUPKrFk9a -mSbLOU!g.d/pV3Q)m$)2BRs^)<*"Q]M\Pk3$i0kbTaf]ueYB/rP>>Z7H@bY+d1u.en?5mJDXpYm3TBl6gK/[e$d4 -@i"nln)?8-)=V')$G^W>2R4(E+n23S$3L"80601I-*`A[=Hk*^+i$gu630V^(Bq%7 -;/(..1>/(s+kKi170j],SG$t[1:FAZf3Ye=JWOt#"eni''T5>_695h=WCgrW-FM7a -@Yo*?!uqKs+C,VqaXB6(,H=-_LZ*K(VpML(p)I[//nM),4f;l?rP+-F20DQ4an1>Q -cgdE8M`hETQA>MM?hnGe!7;Q+(_2:b1^eiXg'#4d&HkrF&;"f=p+Q,+aVLg3$@o'( -#gbOU"u$N(UT=NWZ/Pc(M[pm3oDfEPaA*Na\0#[oH2o,P2*b!g(8+'!M-r.d?J'E/ -+J:7fTO86OFA!`fV3Zb#(_>ViX@/ji2O8CY?Ak4o:aOW(`:C3lJVk$C.*N6RaNt-A -fGd=X[2qg0G8t+7EfLaW4%EEC*@''XO)a;G8,3$*A*ei0&e[K$=V2h<jT9J5(_6of' -JS7SW@8oGm!;J!.YbW.e0P.Eg\2s[5llU`XIQ[\)iQ/r3X;7u6C0USM;uiIk%G9f*22 -DO3+j!i]9EF;>#aNK1:)!/Hdi@T6s3P=@1E=PFj+m"VFB$26Zb8f22PR@(;S>l'[@ -m$7_Ha:do8uGTO8*7:\](GR8On]S0n_ -'S:[UF!3#UKGX1em1lD'QAMY%`rZiUo3VhJ?Iq0pTkE-t1Bh0c#WQ3e$%ZBi028Mn -[ZIJ-/cp8)Ftb*q+DU(j1SAhbOV^p=T^O?F$c@[`R=f3aM5?4oa&r'?^XCKRJ[Rmq_))r2Yj;Y5W1a;;Hsm$fJi/'\eqCrB -I/j<@77ZDk+1ZD2O%QQ7J2lL(TKlfiE&&`WQm3),GS@W<=;"ZK6c)nqX$l`X'[%1j -,+)@CQJ<0T+%)RAIMaXYnLeP_^u"8pO?Vjts5m],*\A -a'i7c]FpOo`?.akDN4>'].u/L>bhp>K_Eu>]/t(NmG5UfpD2W@Rtl%'E,&_o)K?#2 -U`q1jQ4rW?iGP=u30jbQT/S\*gjAX5n(n)[p_NkePJiI`:ll&O0NeQ&>W.1!f9ui@ -_#`QpNK1#l4hq?tX1-D.PG,uQ^eiJq5Y,$2@0.-/=ARitaplfBNXJ0(h@b?P8W;"5 -1F_K-H43_(&!-iV8$E%9_`S*]nK\P\./)Tfa.-3*iN-PGrTZi)N;]*-b!CF.Y#W\fEiXf]2)fXCL"7`tgZ3b[ -.L:(29q(UW22pV5Z?j\oK5ReS4X9jcH&dJP)Ad"fm -;hP9'LQcfQ.hA'HM_V7dHg!PLj/:@9[n@Sn>8I=X(Vf;A+#ps:W3I^kjbo'(*Gc%? -Mn>_AY9N6aRqfH!$k5K>*PiEt5enA1bQkq"#!lK!YgXO;M?*ah!,Ch(IUE`5/&i9UK>dg.e6gR&r -Ud7BG6,X0u6p*h)9L?[&6ptQS6u5C^Hq?_J8jnV1`10IgbY1F[9>p&r2="SW!=6Co -dl&IM4.J71Rq373Au3TS&Zebr0Fr^7%u^K%/nl,QH<\?61;GFB7JpK3"CFV,@R_>I -2Z"Gk=JZZ%N<^e0?# -"pSmi]./b0OA#Yi97kS:!QZ)qQl$\S[h>>RM$.r'E)M4b;?kbV#2AbT19?7h/kC=A -#LEI+e$,EGCBV]e"McVj3%ZXA$qA]a[Q42V3L7:fo+WZb&=Z%hR@=5M]qU'CPP?<6 -`2QA!W_08%]iZF:@(Zkok)8iRXY@(4FJq--\/CLn$h+t&<4)a7'qA7,]a7#pRP)b# -c\pJG]VlW>?koNZ'I+j\^p"uq>ekq*_90R&`Q/`%!RO3>k7F;D1Rp.MfHGfj+G)9` -![=gc#5E1g3,s^-!s^\1#;R;(W+#aO@>1'U"cu0'n3mEj'S?Z2JX@EG4(BCu0d'-P -/$Q(3agR^K-^gruOST0qE/$2?'%#1,^7f?QAX^"l^>p"$mMVQ<$>Lq@DF=0Ct-X&.#H($p6>h3au -5KJ=LV!noLB%F3!+5eG?eD#?=6,rKKkeWom>EJ2MTci"[:Uf9U_.TC -Ls[?L0XoC#&t+.^g%D"@m@cVO\Vk^@^1oApqU#=`S"Ij5$[lU(U0Ge9dFqm,6aX&M -\XT%oFXr9Tg76/&;VdjACd8+1$OmgY#dhRng4;hs!G&i3i._:M(BOu!!k:1?(cI$! -&-L9F!;JgFkX4#\P8.at!:W8VL_58l[0#tPJnQ@P]nP$og6o465e5]C1]^'.gF75a -.=`K@GTJ7BKsR1*.r076'r*ss*eB\!Z7mU,kS/X%m=VD!"Z2ZM&Th.UDjCr>KV/a, -OlD"hM]V]`cHrUVgDSgH'T:TdJY4+e8/MCf-imEt(0E(K:bIATCLB0L>e*6%fLXKEsYj=?D-X(]tU'JX@he/c1,/)?Jd+0kJm#KGLgK%cK#8i>B&. -adLPD*i@:/JX@X5L_t_g0S*mk"4.\`^e"P$8;//q"W1/%43^e4jh#R/k!!'kG%+ESd:H/6l*1>mP1"//dmC4JiiZTq.bckM)Mg&[BtfNETR -AWm<`"pRP<=;[K]^]]D-9n:#R>\][=N7F)dVu`hGJP[bIL_0`67j/8'KnUq\\9uAB -GlS\,#4*`B8-T8h<.LW@"6tO@J/&-*P>/JuVMXjO+dcGc*&7[X8j/XUI'62\CaE#o -C&Ki\[\.@M1PcnTUDBCn`5YJ]>j:sWOa`j9Mos#]>O&AiC7_L-KO**n6e_SWC/NB] -CrTZ$@L@]k`Q?N^KKEr(`sAUkJQO7OUT8&V9SJ!'"aTBefOFnp@p%!+##LnG87-ml -?TUM;Y?7P%&uJm0kN6hsJYCi6MXR1\)q/nIPmlFR,`dMfJ:]HjJg"t47*1#d*J&_\ -h)H;/IO)0=j!Iu>j6id9TK_PuZn61@@>(tT9L"KT0YZh9e$\aC4 -!8pWTp_!\u07d4XhN/t6&/f=1VJi$dTC/1Y9-5I>pX,TH@iudH$*&RAj+7ggJY4:j -YS_tb0S+0rK2)CK:_eUQ*lO.3;qpW9k;dLCM?@YLIi'a9r5O*!?Xu8 -g,*p$5'0+[Zu?O.;Wd:V\Sl@toflAt:A8m4<(8;FMl7i$A7d2=F=0glMl=@4B3fXe -??L0nFkQQt80%c9'`t$e>Leo@QjAD9P6Tn#8"c.a'.kB#D#ch^g0LCYYH8SK#emY!TGMm'R<`>UC$)JtI^"+dQ21Is -lCf$IWGHCt(p9ab?I22mfLK']?\[J@L=gTu+EWCK!':aA1?+1HfQVi_G8C6U!4YgW -i"-"I`9*F4l"lrl7;2'\/.0Q:DMdt1!SVA5",Q60:GM@b:VdfoEe42#!Yre.*6bri --\B,J!jmU^W"fB+[r!,Vj-Yp&d"5Cn52AR0_2/gC&`*Q8+9@!7+Qt6W?k*AGj1]1e3h)=DX(on$^%ft<*J]Js1 --mA`.(]qK2!C/O/3'V_F7lrt;!16f@&.=1!S(lj`K0U'%0IhWE.DNUA`taASf3Y1Y -Df&(-Z^Raqa>S]R%>7a9L]\&(_f(+\mSG^*$K#ZO>:^n<#rWYq*<\kV\>6,s(6Sot -!SGb016G-R@mQWJ;^`LmAJ3sl_IY,79;\I]\CbXYS^+-sq=Nlj3?6Dd<*D9@P=q]M -Bg\$(luY90%``]hf^sDN*nIC"b2$gK>cuaMeoCK_HpG'n/N0!Y>h/@L!rT=92_;]G/gb))5PK2d+H(=k@8"J)lFSag" -a&BCtmIkmtrqD2[j7%=V?=-3pe`QROID3I?a5QXarI/*lVr.1CrdI)Xg]%2f&0(iT -^b@kW"@1=-)$Rk'<$;I_0RP/R_N;DX%)UB@0b)%Ilp2+L;#Efp`0!/V'Z@7];&2St -Cge.";06LG!s$Cu)oj\OF:cL/:f8"(+c@t<8CB&NQ,uoZAsfFcI%;\-ZCIU<23M4. -,Kg_TN#;gCK3f;s+[Aj9beXG/%S]fZCDk'@j(8l+5mU4!KY^bk'a;j(]GO9tr4,'c -<#l-/cnmll6r;B-)+Ds&C0T%*2i\5nk.5dArAC`Y=O_*4sD4tQFRZ#3cH\:>A#_\c'$OJ(hD;hCi#M?]HG+:N94huWk'hRB?KI,>armsa.q -l21N'a63MPT7?t;DLgm66jj\R3(bt4+aAGW"p*(gdTcEs7b+nU+C$'#5lgIX!_%[W -".U`@#^)`3&aOr/=68h%T812`HldeMk[sp.E@;6Y@aIq&#@W4Ad5?$@;QLC$aIF6I*eL&lO)bO[j:29tf`s#89Vdlh>i\2l0a?u<+,#_Z&]1b%$A"ET"u7_LK@h:W61b]nYl"b/lcfsW -#S.1Q#R?"rGS%_K%LBqt%GXc]2 -4?s2B*^BjR%R:.W#+u);K+nCr;+:ZFBH2I$TIU.a>S09k0*dGHQn!?D9gRDj#=0mY -KV5g`!n_;m@B;]q5l`2ri0>$B:fRm",V<@g^DT9jA;hWP0P(g&H30U/!MLb\+L#AZ -_2'NAYbD_\BLR`-jnq>gK]2&%`.$d,MZ]o*&AiB:$%]GqL;=i6`+Z=U@_&b&;6U*k -_!1oPW-85-h)C*cjoE;dCOhPM00k'#'OY$?6=A4J6TeHW&(JiMPc[-n@5jh+6@YB& -!>Gr6M2ASZSBue'6E!...&Ij%Qs(b6S8Aup5j57GP-"]kKb^AiI)8bbC1Q=0%OcFa -rfgSW;bS?+-tXaEP(Oebb_]OZAlV*aUK8WFpcE!e#UP)=1edq)OZ&.\bXjsG]c#Z:^j9?Vd5,p]O%m$3i-X*l/' -FS6)@a=.7bO:hT[7:C$W1BTmY%=ukg#=/-!ZiH%",QM66jt4!.G1pG1RrN?5]tLmU -qVGHRKlCoU^pqu*9c0.1>X@:7#U'4W"CRN._GET*@0jU&>EO*se_Rb0HL>)9`HZ;I -i4R[$5m0GV&=__ -e8D3;#U&=J6u1/I-cmTI_#--C0\e%FYfQp@,]/'_[Q?_smCtWOH9K+:4Fe"6^;I0b -0&[]Q`*cOJ+\kEDEu7L -7<$BM,:%8Z+iZN-&EOnI#]gK+"?Ha+"<#(t":HA&!lV$a!eK\lJcNRu_,s1+0H5MA -Eu,KUpc&MPC_qeumKpe8P68Zm;upu80>N+Q)PA?jNPH)a)+`[/"-dd\Y,!tqW!XHK -Q?S2u$3u5,C]o-S?[;'9?;_rKjqb^>%@gIs()@9bAjdD?#uBCe>>"1T$i9S%q(*B+4=+#9^f$ -bcmfK_LPnpiGlU9J>*.SA9OJiopq?,[NLPgZi+F44\LC&YsVl=J@5o'QR'G^Zq('0S`!Q;d4<$,KJ -+(f?)/-9G'C`\*.*eD`>J^PM>$l;/O(Ej%dTa$pXRXg2&_W_1/^p7XHgmTWV&1oLF -k,o2EfE>U5bJ:d7+Ip=6PVaS+2$6g,N-PmeS5ndAJ*.Xu%,hukRhu]3`k\B\@.G!Y -*#INS(ZDY#!O*m_,4[(!,;]_=VfD(>D!nN!j"%F)PuI0 -EWo^bTOataGn^R\L*kss@C6uHec9.0*T.&@lrY;pl2W!m+!:P*->^FK8fu*f`BfRd -JWS!i.b:96$D:?*@#>,\L'GSPT29DPW`GhoDW$RLq*8JQ$$Z`9jp^0=%)E\]0^o+Z -?5d2W)I]WGJZ9X(#TD[+!.h?i^^_-r*W^g5%0.L[!3-,DWX.NR#f(<]mtP"`FspaM -#698`+BApP+p6dH(B>]s!Ls1AS/e1/*395\AaF`Zc5>IX(r8lI_+O'&#RmhP,/B"7 -n4PCSLG'7S0/DuL;YncQ`>@jM,]MC@JAQo2o#bC,!F_<;#%JQEq&p.Jn)6_;Tg^RV -a!2^@)oGe*1BB;N7^=4K--2b2_[q>"^8!/iJ8rZ-Oj']>MDDHk1N?n6^ifu2"T)T" -$q8;K?pY>pTFHFk"JE[@?r.4rTERTQ,g:]A!*BF*9E]l>"/OlXYTGp4Y6!+W3n(Ds -PIEX&[6,,74>X`7;p.:ecTH9t4O_hD'A#CrgHH;(5#^?&F5j2r,-cfOFjYgIYVJa' -2a3H-2rrm!K]Gm]lq[U\Er]BaV#/ONJl72/fl<*MdJ?UYO!#b^_k+Rg+r-5DQ4)Qs)YU#R]1*t.^l/AMN3 -!I3A8,)).E%B+LWC`PqQIdUli%ArV+m4o@6E:P0H!F_XK_6VP+`5V6`*AYJOX^(D4 -IK@94'n@\IBr2K8dKG*J/nZCE.1-<1L'?LgbK#uulo5ZXh@rMl'?mK!l"#NW&;/B; -%Ol3&E[D-1pjid;7?h1QO`W'^^?3$jI\-)b9OP+7sjp -THY/9BFa5;R5&1Aoeog+Os_H>UOsnjD2?i@7`SA8Qh;>5i9JG#/8LqiecF#H;>h(M -kT7M@*mI+b+nmOO+OnrI+4[A1!"^(a=r(dP&dTiO2'iIE4X6t+V+@!HnjG3a;_oeY -,Ckj_TMPuGecW_;&0NBb?ksBk/cfB5'*&d]!AX[a1(Z\h&5n5l!1X*uS-WL\#[hl[ -TQUO4?X;crJ7fK#+D_;`iWT>?'Hf4H!M0=CSf>HV)o:;0@GP,[<+"VAAZ<*VmG\s2 -\eF#eCC5Y";X.&b('U@6!c&`gKS*s2;eYlgB\&IQ1_R--Dc=%l<<>YXBI4@hKiOg[ -)U=ushuXtm;_f[,lKLJI/2@[ARKtV&#F0"(etc,@6F)2fENapN,)8$jAK7GJ2<-,B -@lgS]HYj9A%;sK+OR*QF/BRFB'EL5s!BF9@+p26r&7@U3EO63Ea:(>*"G!'K+@$/S -7K[$i5.=$I=%PU-:NY2eFLP=o(Kkl^>BUfiG#qsmQXb3JB6MmJG8GIHpNq*cHpj1g -!d"*QcrWHI;a;.K4R5bM.oo@E5dg)."m7UT2lgf)Xa%=]HPa/;pU[tH(:h52$)!^n -J?B7;XL_f(/KfIgQaM1lgO9srITP>Z1/&1n6k6'C'Z$ARiYQ2mhc2W<8-.?C@G)fT -O;+?;'TjdTD/'KPOp-As70>^XWdaePTbUu'">9Yk"(<9l^puG?RK\5/OJ$rL1c#q7Ub(_a..M_D\B=4,(^kHA)'OBs@Bb'o -d;-2*86G!rnba1TY^)o=?=sosB).C`MW@n]eW]XKW=,+:QAU,B_AkeH@T$O2/Ibt -J9hKO=9q0V"CRB"+>aEJYQ@(q$TWj,@'g;,,R[Wm$/gC:TRmAu/-^W6"/86fdCsa7 -U45_,#U!^b!:g8Cn.m,r((&2)ahf(KU)quJNeQk(+mOBidMm]H)jp%0--d'PU'3fU -B>A"j+BD71:Ho4'TNVSnRL>e3('J#9"D!)f'Gl_]!$ks`"TZ$'cLM^U(`;5I!5ZL7 -p;)s4"UcL"%)taI(hkUJa7'H$NT0 -XB0tSR_u5=`l -n3[=g?):_'Z!.14RhN'=(U;9=HjcJMTUZBt[L60V$&+6Aq]iBc5I()QZeIpU"LBAp --H^<&)&_EQG$#d;"_JY'?AGg-%eps0mM?dn'.C>EPZJm)&=K2Z1@WX$EZSc-?5Z!D -)+"HC@;Z,IC_^YL`aK`[!7&8CKek``,a19VF#*RLDhgU-"JF.7ajM*W`CIHl&EXO3 -iV*^'bSQ,i&jS>f9JR('ZUpgDZtmL9i,su)CQ+`U^ee>G!)cs;Zt,W96D4,=+-@j=WCMlE@#KY&lkU]j(+*-(=Z<,H'?0MS -PIt>DN!#)%BhVC.(+nk_qK%p=IPB=(,RRnE,:sq/A@>lF"TVF'5X5H>D?G9Z"(3ml -!&=YHTumLW"$f&XTMSCV@sWF)J7*s5+Fk"'64a0L!Wdiq*+cQErasR_+$o;p!Uu$k -WG:B?nsT4RAE3k\E3TOics6b#M\FHJE)$Bo2BYOa482'n7aeaW&uO:ulp;X_aMh=G -`eV8K+:9,B+;WKpMVBqF3G[$s(boM2V8B(+'/V!RAh(B-2?I\?J:n*aJ-jl6$fFhh -a^Pm2.""l!Hp*3+]n@K@3ZU1TDF%qJ^ap(j]E7$*"lM-?)[EQ0YHJtQg>00k*OjeZ -]A+F;gg.\MIDaj2ceR@*gqD=q*S@E#49OM("H,JGAAWChM2Sh#8gdqrd%ia<$BT]d)<:4"JH3Uk -i4t"S"b@gf(kMu'_8XZr"i:,oAjP7PE2XNDO:h,L$(t<*GH`r=QVl3bK0\]6+?0rJ -$#ott9u.8)Mq[`dm./Q@E7WACD=oTl%,-8J&&H.R\^8ir?[q%1!F_hXAqCYTRLTo_ -j9^`%MDr<0NqDEoWCRTXSuN,SpUic>fq@6i!9Dhfm?JXu$c&nK5cP,u=pZdAMjkK5 -#EB,E,R]Xt%:Dd;/)0G!g2CBS%,aefYHl!8C^:?2JqkR1TXAao,T=tA=b4hX4Z+Ap -r7^+LO"L0gN6T75`^j`!9K&CulXg>!n6;G]1&O3il>T_hJdHs.C1'pHq<`u]=N'"P -jsC(9=Y>)ap)X)t(p&<^/EkJ*;C$)lcDN&p"SN#7=9Xp%"[qt\E$e8)&d2u<"2ip% -TKl2$:ML'A8\f&aJ:J1T!$OV3Jd`Ij!WNCX_BDb.A3LeAIK1INO9=b6!.2(M.V@e -BWu/+),t?n.]$IR=fU'=(!>'3A25'^L3>X1OD/.1f<(=mFai:d\D-FQ>G^2QAhaUN -#k6P.H4O==_+c:2(!QN4_kK-7F@"=YFKGTp1\c@o<>:\>,18aK?ou#,Y'OA#T1>m0 -C:+tnG.-Zn)@ZoREOb@W3?@Mm,E8YSD84kd8#*oYpPLufNOD3JLu>'Y.%8)/PULea -XpM.4^m;,f)\@]c5]7G-*PBT#1DF7$)6bH))[47?\j0pbp7+lB';+=as$/7(#67#N -'FP%/n5Ki$5qm*k#=:+t-O7MmPV!5/nC06(6P/lK&&YXT7hJ.o$r7L)&N!E%7<*EL -(e(]g?Pu>?._%-Kj\#+22c!IQ;ruWff!E6B.L?>J00Q` -=Hk(gU7eG3$%c98+c'ReGi,r1NLP#n(JW4u?+4D&Fl#'"j`k*U[Hi3HQdtFCL&oAg -'oBgV9JMV/q#4:qAPoT5R`FUlIc9JSqu@hb"toFU0+%W$J;7Qt"rS^H.T6nokmB6M -UG.oJ#oCkSeZ:>&Fs;XW(n;=tK"t87$m@UGl4$*O8i)EW0Z5XJip`l]$=Ytu,)7=t -DRJc1#ZX'N'J$ -&RYn[jbP0a(-n!lZ'C"+/l!"j#l"rA6PrQPM+mXSQnH&#W&9\;i=JZb,elrKQ/J97 -fD3C2>RD4AkV,`h`!-E#hu\.^(5RuiEL2R!:oMQu`CMIX(nbl+DLi#VkQ)`l`](Hf -]8>MJ*\/hhHe6+P2tC?-Rjd"W;:5ZTpsUe1Z]-89sh_&`R^GJABI`h0k_+(,(s[^#6` -5R@%$U?"K=nFkt[l#]c&]i>d>$;64@.8rL"5lsTeTHa#8;kSdS7PHb=;32k&!.kT1 -GbVO/KI@*ka<69_"@3;M5*$+gKb6'74obTY*hWLZN8P+#`)mT`JKt^.Qm`69Cla1R -6:XTb.2UJ(Hio/nUWKfu-OMRr.4$OBPkT^8M]ao-@,/"ZJ7r)SX,)>M/@.@P\08ZO -L36t@AUqU]3']1V,/`Oaa.a\;!%@&t+lj2iG&S)r+>*pmoGl"V@5T?fY[#P*hA`sm -EfK9B3+h(h*)hg+iA;rp@>kj((Q9Ni8?NdRBdG.& -e>ADW\ku*L<@t'^^6qmaBhW6C1T&[aS5[";:MJ?CVhj7?7TDJT'\Fg4'3_4KQP?81 -NDEI;+\aE)4\t@N4&h**<(/j72t*HIl>$16>\4oH]*? -NYFg1:g:aa,(r4;[3.36K^(n4=?>8HCMej2Q6O4KRi,]%Fc%Y6g(&bn?4S+X6jmCq -/;Z&;,\>WNO,^u5cZo$Za&iHb6P'H\0g+hD^j7YBJZ"0**jNlpAsJOX)RU]*pqbT; -2cg%M^+aL7:'":.`D![)e`u"O0S6U -8''Tg_h$6n-B&f/Xm]AG7MHeOJo,,Y`e:6B'LJ[5(BHL!%Y03m=hu@8^jrj4?m'BX0?f++XE>$gfCf"5mPt)1)>i_8m2n&M+->W3l[nd)$5SASDDH -q7IP)e-c99#_Rf3Q.IY.Q)-34ise?XEHmkea?3Erq7KsEj`85'BG/-h8IU-60aHW# -*sE2k'J+cFi;qu(ZniV<1%OkCiHtaHmX,PM34]1tUeFcK1a[n$/e^f()?Bu76KK7E -`gG?s=%mNj5n"XO39ieO4N&?3nimY9kPtj\bQ+Cl6NGLD&:guPbo6jBll\6l2Df#3 -EdM@hh3_&N#ttJ`C9Ek52RcSi=6;R]=b>+U@);V9JPeuJL'ZQ7j)\Ago,'L' -.-D><9NG\sj)!^o3p65UdH3d_@_H5TP)F[5((?^UE`A^,Lu2s,MN -Rrb`PcM@2tkT'2fF8gsAH7)5Hh'\rh^6-l*=&%s#5H/bmWRO3&*s9o0&e\SOWki@& -d[@Fi]F(1).Z0WmEJLRe1q?Y/]j0oPa*r4aqqX?AB'cO%]D#Xphg=O9Q5RUaKHPnP -_EDuH_&O\EY`'/\#XAY"olk?hZ2OX"3ckjKLj&_UD$e= -kkVh-f!;n`d!@ng\1HHb,nT%*&r'GS'S6TD#QAeh<\)lMEcB&"UE9Vu]I)CHE=q$E -S5]Md:)ZD@BXa'O)TqM3n=t9Q^5bs+3>X%(9f9F1G8(uRTUm.m&=!>A:g*lCAi'Ka -cbamdd'3k43C#!50W8:XJ6ek98V:C`"'?fLBHo\8+.jKhYB[:b*!HBuXTF#8JH.eg -pe_5t"bp.NL@Z>hA(CpZ[k>aL#9X*R(h%r6@BWd"!:W:,0G9!`$8,!X(0h1b82$i: -4<@$dU.aU'Dup8cfa#k(RsBeqR!lh2I6Ea'#=B72i++4!p]RU>!srTS^_``.%09iP -!F.:q$nr$5(.-pq'Z(>A">57@Xub%4\Nl[Ko4UJk'giZs_ZR)0>Hnl]W2p@e%HE,J -TgjVn'nRhcJJ]s@L^jN39E:_Z"t0WZ+oV_!kI#Sl,RA^OBE3g$Ee"^AKkL\pBK6(F -3.\RRJ[@O,(_s&4BE8E)!<<\+9Naf?&4;%GZU8<"pmr(C;?61uJKPP]M,f+:8jbm4 -$_e+TN&.2r6_NYAJd<6FpcAKf3sB:("__k*(iY74!=)_Q!!mliM^pZ`H3YPn#9[c3 -(i"bD"9ia*!,suMcjG?YV\@\m78IOsf3Q8_d'.3XPNUYoL;K!]YjqNIQK=V(B -LfO`D",?#]!$H@gQiMo39*g&^!%;Oa?j;9t,64Ye!=0*b&.\c^&!+O'3fCDhPdno3 -[S+!\Q!Bur*7`;5f$*('0:VH'FO/3RekLPHc*Z#\ -q`'n?*u=o#!^tsuCuN$9\?$%89s!F#`8s_;k"^$[c@XdOPO0s\Q3'I<"pbG<"E4U? -+tjq>#`P)TJ,tFW@g>!d#$TT2kVrS[2nr`F!H950Pip>+@2VTlcVl:-n8_;AGL$)F -21UBIJ5q,m<_%?0#+u,(U_JS/fg"/HR&RPj(jH9>!s^5hJ5C!OM!K^>N5&aD!H9/I_p"#q -O%@>QJIjhp^^L@Y!BOb -5(T0h1uliRf7F8C!Ve$n&17PK%"dt:J;?VthunblG9PK*19l[(fQN#-!J]ND -[E)#AE(g?N$\K93JIiUI2/U>?03'!!.a;pt.T"XqSAirS&U__-Z:=p-5lif'a7ug% -_ljB&'EL`=$?-c3NI?BA)$/qX!>mWrTF-@F?N<&m#+,GrQui<>F@hGl#Z,XD#^$>j -!X6(n41G["p];Qi!D"aDFT_gRK=X#U+b<+OjLAMqB`2(e(Y_>:8L#+sY[+ -eN8PdIPJoWKr>92TL==o6\=51!n(dI;f,?Z[[meH9oEft!Ya=R]%`pu+[E%mBKQ:q -4.SW<\?L++*,ik,A-bG7J1,,bBEj-/,QObgJKPAP/!L&9KhX/BbpCTXQ-ERQc.r!; -h$))0(!k\Vd+p"sh)3^ -Xk:jNe!3VVhX8dgb=5P0RCTdD1G/o0Y+ri3Ltc5i\!%T -?WI;pj9($5L]o:##5]3lD**NLX\]H,6@mdAJ.Vm3+9DNaJTr3M3)"pj")t&n]>hj"u$79/G36*4.5Rl::27H>#n0R -.\I&/_>%6;QthZR,7)"(Y5TK:&g@RJ!=,2G#,k4G^e?Ho/^kI]((sY"jFF]6/-H4h -"9J1L7NdF9"GYG*Lp27N0RVAY4\3-#4"!esf[!'j\?(^C0d.KH+kJJ\iI-;X^):UV<[ -bCL>Y32.#A:4V.tUKh:QK1ZH#'i^8-Um`hqln/=c)$/)9!?`rrfF.l79n6&7L"HK] -fPQ-UD;_^.LBmnc#[;g=>D-AfKP32mGVk"C$%btg!4WcU>+peuCc3Pcbd`lH)^H?c -2M>`QKO@d[TN'nV@gKOs^?V&HcuL -J>c_%W8K[qm+5WQ,8ZXZ/klG7'5R&K<&)=$G<5\N:] -!'Is!=[2CrZ(\aa[J\fFBnU^8KQndCW$R!K%"UAL!6>`,[G"q6^>5BqCZ`Cu(;T8` -^hbpFlor;Q7`F^p`p?I@lt4=TG0'$Iagq=V3n(6%o<=HAqE)sZ*)[7QN-sun]19PX -=0NB.,\'hlS)@>Km;pJoq@g3!3E;r[m>fh9f%80figHG`Jg`!uE$nuG]dqcN!W+jH -G22KIk&,@umXF,m/c]!`%t)A;3lV -C,i$fcgIU+)7Z&rM&XHs"\kD;CP@?/*J>ap-\8(s[^phL`f_K"\LBfq/?F,Of]F -gGgcgI#i0<+ISi%MV_@'@W*6H'`n:L0A*k5P%U2m'nU+Ub+ -L_Tu?1ct$j;$pM10N]B@A=3pkLD/iQJipQJk!>@i>?1iWNnbH+lP^Ts4hsko\5/Z7 -=GA(:O&0Bl6fc'k@G;&k/Ds(F?oQO;$=Nq^(J5,pJl&961:'L`!=C^%E\9fN-KLcB -M1Q1Xd&3V.2:ZFU*-'*C1([Z`F%lK`_dF5\O:n"L%h6#V!T5ebJ2IK1"U,0IJ08Y5 -Duda+E:8mE1ePJX -1]eL$![Yu_$;e_F@2.4urdG(7Em"GskTF)_L]rHf21Tp0!dG$'J/j*<*<@8k!A)$^ -nGY98/JK>*JUeM'5SbL-%Hi6m":u%G&65)uQb`m6%g3QJ3-Aa3DfW?rKWkl"^S&9$Dn66@e8dESsoQ!!e5`/VZXi#(nA/W+c6.BV06Q8t./\W'5b44bF?= -Xe,3'JllsO/q\cKq7pp!0Q6";N8V7+UZ@ac+D--`AqXh'"CNO+cmAcY%Y7._1IquU -dY$npaa83ZqhMWWO15"Q])/D;qk(Ou\%R./^&.QVTO@ -kmJ3OD$$X&&P[*i_E%UQA=Q_P'2,q!EI)!4H<8Hek1P4@/8W -1]go"K.Wg.-]j"b.0TEr."^_$'G:V7%4':$oC8bMBe5-6jIp!)GVC-I#%K(2E\oY5 -%L1s5f^*]CPR`I9Og*P*)ii-PA+=g9ROfbN`XBM?a+Jqng>?qsk\UG7Gl4Eg.%*KC -6^W\jILi%_!Rs.e3/^31&N_g3/Gs8r)QY5_0Xurr*f`]7I27Fp*>XQ%Jl*qX3#rK` -"!O8fF1*"V#JUokB\I\rW --.!--R_U)JEr\]bmJnFAG1YZS*`/Zdu3ZTc4d#83mSJOi:XiMqtTbJ0!#!N -KE2?F%_PQH3qNOU'?h,CJO!lZ#,2Ya+UR(oShks#3;`uA`3:"M'ECuq<.Q>e@K[H8 -:_Hcloe@j!&u54?5E(,Cas@*u=E"V&+^cop0Fk9g\-'AD;BCVhgOAV*Tr.6pjNa1j7qJ,MrjaUB9hWU -*e1$LHCg1ul2'8_Z0hDen$VV2T)Ze!r1=5=nbi!O1_%c]i'J"Y+\1VsL"_UTWTmTK -?i?c"k[mK/fJ,boV>#QXd/i,U#YjK(pcbo?#CuRj"NO@'!lsa.@([A,&8DV>\31(* -"<<(kIM'F68I=?1BdMhr)\TM)KTNu,-1I3=6ATCa@D"UTd-_l@aE8#&"%Y_2\eYDS -N"U_=8IAm".0RGP'#Fo?#RG#a`E7O'iXAqHd:P""\@iZQ"C6s@IPF;oaVj+VBF&"Y -+G\5C=l9gVe+F\hAqRq["!$;;j!tFce"bd%\$t._J"&NM: -fY!6'K]o!.iIbH$1e'QAoQ`N!!mfp!Vnq>m3*I"(ih;2=<.DJ -Ec5A9FbCLRt:hgq1:%G?eE>+un:CH(h08@7F)[".]%jZO28(dD5 -"3bn<&_8s-&EOm>#]Yk9"?9;PgDI^C@k+`o-GW`R%cBH3"X#-+_/L.ni0XoSFcH`' -L`:n@>-T05Yus?Vq+m)5k#Km_Fo_"T"(6otJWNJ2!4XH_.f^iG0Tm3%OBN)95W"7( -*$)s?%1o5o#7$pLGlk2`$K2s3"GM:75u8@$@#,3m0Kih3%E!EJAd0:^*ERdT,m.P> -(4i,`%=lMY%A66MMNAT'7jnK[K@Bo4=oTp@l9<-%@XjDg#W`@O_@rSI:)2^Z(kFAK -#lq1S9<'%,(s7b&'7s=:#pBuuKJ7oa -_=0Mj2<(RpBdJc0raCQ>lkfhgL20/(I9$+=R>I*l%o*0(IOY7gQ[,ioi]0 -Ylk_+5YM?[TG&FOX+6g;M:!4o"R+YVUU4WodTT.5BalYioY-U>)K/>ah(tu$k+L2W -LJhkM9rPHhV:@W!mX7]f(e_82KCHZO:FiLe9YWr_l0MI7/Y$fGlXo:QU2#q#( -"kPfm<8^-PT)g:dK"DP%D-Y&f[\h[2>@n@3ZnVr^F>6-:cYRK)\%/s0khTI8Fr\kX -%tX@K#shpE"TY,-_AGWG:rd$0mF/[k?N8qg#D-n)%D_a'"lU&1L1Z!1"[t,p!@(L$ -dBVZ#8q!'J^^,8t!!YOi8.?FfS48rdUFi=^3T5?9Q9kSG$A*Ud%AGQ2MP)@IL.D^j -".TFQG1o'6\,dZE@ZO-5V]Eg6joC%$D?+[b0L0TnAE#@:"eJd,9.i=3)-e8:E*NuB -O

    $d -VR@P^fU?B(Y^G_/$>Kr+$?$)K$$e>"@h@k -&KjbnjMh0eR[#r"XlKm/p@[9hgNmY0K][r>::E\@Z*^`8%N09<;DVu,>?n6egY8CYSU,i=+$rZBLEh\^87@C/p` -@7`*Vf]N70S9Y)hj?Gm0rL,D=REtr&:^3@3nc0j()rM2FiJmr4N"s,T'qm;`+YFm6op3#V+PEu5Zg`kE$alaV1[_9NZb>l -$BY_-8jLW45g'^s0FPgX$KAc(i[h$]"M=dEG,Z$Oi+ad8Jhu>X8V"ScEAnHP@L>`m -Y3PR8@T]gd>-I)LYU[*n^qR,TW[u"N#YPdfc#>,mnn8#*4_#NeJ>b#]&.;?b'h"]& -b6]#DL^T*OgB/L0/Fq0E9ZL+"4\4uYtp%B^g8MGF_4=sh+0-IM,kmN!C)7,T1CV!\!]/_"KO+CRT? -.RsQ:TL-3K(cnq`+qa\r,JF8;KckuE08;t#:o>P$2F7fb.&*/5,qq$'Xt9XrZ_6Bs -N%PTjmLI&!%m][r11MY/CF2=4-O`*I!8/`^%'&c2?/ebeL))9#.,7IU#jU\""_n9o -:^0>+UiN1dl]/J%k-s8pJd6b]/.h]81/RJ=nH\gnL_B("\lN;D1#iCHNl(:+_(F(s -/a0Vm`J?$pJ6,FQ[fCsVU9]GcSEiMD$K -P9u9k@kh`K1C2kmj!l@lpe0st1G]n*;_h(_<_YoH-AG!LZTq7koejNd27$^Ko,BD1 -lS8!$2MLKm6":I%4'aa;f=QmX#Q;M -3qKI8'=U$.L=r:t;ofYNP3OFQN,A_eb3Z..8H4`@uMr^t`odU5ZoV#0sfUJeV@7[V%W;NX6/RZ -,.(u,.+JDNcHfiJ[4>2KW::--0McF;;YsY*4^,tkkMU:h^dJZ`@KJi)*M!W=H/p&lN1 -$_UH,J:7\fH3\+!;eSHmM<.ZY^K\-1ii34GJ=_%Z_['Z<&caa#iDK`N:)>\PGlG.,/7 -<%9t_!]`aU5(jJ#G)]_Y)N$+?[:Ef=!.G77&4s[M%Ue?-5n4IB$kf6^&qLpR5mS$1 -"qSNG&"rn4_#+`e!"]/5L&hm@5oYQ0-\fG:Ki,cZC;@=B'dFo'=H\gQbTI5d58B)1 -8e]ogM][18+tfn`Xk/aR@(Nj'Y(HgSBZVu[MEP`-OPjHjlGnuH*K[f_os5r'TOMTf(f)#6P(l>g#"+RL+-a<2ou#0-\JLDh8Wt#8 -PW;$mGre_=;3]a3h4eVL\R1G$8!hn=Ql/>[3?si4VEsDD4@4^;pa99@rW_\P<:sah -JjP2A`i+J#3eo-o+A)cgP%OnW.:s*?![!r#bC"T\hq?@"q9gGL.&?JHF4:qTGQiVc -kFUAmT,Hmc=mn]L1J27CT5#bYJDdK"jIA`7S=i'%[ENHhGrU<50CW"ai8Z@i!\V8R]PFWl__CQ/+.NABBf -g3629G_kIE0McgC>%^JHD5TF7/-R(m35/F,A@/G]W:*MY>)fPHV5MB<:%[8B<7HG4 -7B6329U1$?;U3LtMP&E:Wk+t-3nAqI!&JaOoOu(%]%*bulAuD)7S=Z)_Yc1/]JScr -D/-["b-Q"``=jtcH%^jTi.P$_i$bIcCdNs6c\fDM0O!,^H\-Hdp@W>ha0XMaXqu#" -pC=V3UoWg#@toM>@U<`M#SE!^S@I?pkJI^'+MJ$!IZ?Uh=AQjh;Yd[WXJ46Q`;CG45Sl<$5j^MN"@( -7\s8FCEPlOP7XaA@@ndMV"qA@m+Pj2i\DWgW6/t-G2/2l.s -,%:]7OtVf`2+%MHpMY%qP-,U^HJ;)ETU`5/ag9ck%K+!N=Jpt6[Y"YTdA'mKU@rJ> -\'Yu`$U$7"(53\R+CORX/nRS_pQ$\"GR^3!$TNeojcX78_Br"R":$I[GKl`O(8U[0 -Z$,16.h5sRj2V%I+6P'.=;RJ0cEF,NT7)4B+q^HAkIo]D;q(XtU_[%IObhr_-NP%r -@29PC651SOg]9Rn5oYJZB?9dM"6faMSnB(GNbf2/%1kmlrloO9/\pVVU!Tr09k8nF%,9gbaHfpuLbl37X -^2EC$gUAi_=Yf7oJ<[nNSM'#\9/O0FTPptMle3=ClQ34rY6.S=..;K%#;:0(U23m9 -IKjWCf>8*0jsWBA3%p&)"G>``SSRYaQ0u>Pmf)hGhY0?"RK\_IQ2k`JTRmKc=:'N# -"JEis_(S9/PIbJ,*o!,*=tCaK8"gt3TM>lFOp.M=TV-Z: -i*oXk9r3J!KI(8&FHoF^qlJYXpE#Ci<^3YX&Zd(&p_q(R6F3UoA[_VWpO@8M-uOOZ -TCr>?jnd0ahj:@h&#WTr9`MH"1tDJU;u=G8qgZJ;^W-t:b%9;8o&%Res3:Kaec"CY -r4g5M+4pI@jo3$L/8gII:6GQoO8m&s2B%S56YIn!&2Y:7@8P$M2BXi-7%o`&FC$1/ -KuIN*=?KJI'9PdSY\>Y;/K'7-L80mHgib^ubXXGI]Y&(aP/eh&akVI]6&&42FBTqD -B1Sj..5]1I%\Z@i<9^eo>X#DcX&UY>WmuR/;lmnfG$=74c!e!5lk[cE[c)/8>HX;3 -Xj6JXI!;o;HdeQnlV>`d"S&1EDV!AF]J#Q$VW18Z:*QFdfuZ1h3cB$jGYLBWtSg'T.'cn^PX:_'X-DAMTB\OBgmfbIl\7DkL;d -(5j22GrVA2,%.)grMZMg-l*0/>>]R]?)ZEbL-EG._JDFY%nO>GO5.Fn21EcadgQ0; -MlpRlk;i[nOQq`*J=\.&U*G+-#&oZ5(cIA[C_f@`F4/XI;"Qg\6]i'I&]?CL:D6/O -/69$-&e866s1$j*+7j6Mo*05XVoNhS&iVENrVt^7AamtCa -.8$nAY:7XM['_GXEfp8"+33"6I@hVgnp:?aZ.K*uLBnB/Rc$c=?%N755R\=e+@&5P -TfC[TL'"T2*!ckNE/+X;r>-Tt'Qk9`dBnTT8MQpK@N(#qJ9E(>iW-+qMPJN`4HlGK -2I(h;adrYRk9p[XSq%F:GlU@"C3^hM);&YS7[\C!'EG[+5D/"c\eC!dcupB5-mKEE -##pS[8m7I]VY.k"2N8A%>,eRjphKD -n3.?c+V7"`"CWuX'"fAO#SPt0"m:3gpTQN1i])*/Lgla;.u[s4IJ+3-5p/qlKgAgA -(?DXf?]g%N+A*9!JET(S@bI&'RH"#'ee0oM8;!Kp@aOA4%f-b&U(2K'aeV4SH>4G\ -TkhLZ"F?AU*pTr=U+pF.DRZ;Lj6jW=^LGBd,Da2jJfk=-)\WTA@9?BK+kn]0/.1CH -^Ust"!5L>T3uG1G^7gK7JV:3,:@\QB`$?3*$%C;ElJis6TFQT50'!Ba?T'/#Y],;f -#sq1G.gi#Os1N=P\?%1e_J#CrLhlt2Vqi;H6$,6+2Zj&>rUu=.F"Y8!cj2(1F;-ig -;f!6(65YA!5iTlDl4'>o1U;hk>8l7MQo:`Phfk@MH01_WA+Sit=4?kk(jIueggP/O -qJ-&'J#?_IGLufl^Z5?Db[:h[O>?mp/-K8ZH%CQWb[sT8[fc+grkUPp"X"3hK+M&m -0ns!>=^WP$McLEAGXf*71aRh]jS'TlDTKr(<=4:R35[HZ+[d`9&L&Jj6b%@__si*b -%eqb#nAs\.1&VON,Wmn,&0_6:R>M&27u6[;'j<;35VH[V+_QZI%P)r9;$8h5d.nPH -fR#k2a<*KfDKm3n.KrS[-G;\&,bqSj%mfI0"G]%g60TqDOL5K``%62-A;<(k)0/9E -_RUlD[?9d.g;neK,nD`D6@cad8[KupA1WY$15$F:VZoME+ZU[nSl:e];HCrV-7.U* -_94YXdg<9++[d`SPNbi9aeCKpErc#g_r_JA/B;M3,%F<7R53o0`'uNmBh]JE1a]TY -Re'Qr9dAd2VX3-.;hf,63O%%"jQ.n&Z)QnnYLN'nqe&>#!# -RRKe^,q#L1V%=>m6q\s(OXUuX_P85s&)0WA#[n.*Z2d`#R@>f2TSO23-ZL+,9h))* -*"rAlR/?s>#-&4I%)I0I<9gkkWteO7?V!9$Hbia,=cYrX.@oS9BF3O]f9J"i+t2q0\!);,ej]FbXmVq2AX$:IeHDY -CJ?,Z(+,AH$=0 -'kJAYPDM1rb1UDTjBRF41@YXnjR4g7b>FW_2IaljOFu\Sc^8aMD^UjK3G#;RS9'^4 -cIT$Wk/)V=8HonV+R21)*%F9de_SUhCIHt&'PG`pZ%Zk"`.EU[%%_u9U*2qhKp.f= -[.46=0!Hipi2m.^&";`$(@!ET70-"AqguIoU42AI24%V6&p@aKnRtkpVP[7'sE\t;< -MfJCBT3a8qE*Q -0>MP@iM141J5OOm7uCn#2>hiD+mK%tW9=5VTPe`:+>Un3_[[fF3!;uWVLdaO#4"dB -DXOs?d'G/(bFt2Q?H:`%B4_:JGS!io3D^fJ*+JC`J=F"*g_j3>WIT^/JbAWi.mJLc -9DB)#K6@XLXHI-H6'!YL(;24d!+tQ!SMS'5c^^qYo,_JGTMNV)mK=^n0OWjA1WVod-CQn* -MWo_lr=#i/e24/[?h.o)#'7:"ID&5DJqr4iNc!F8p.>]/7q#fnh;(01S$8Id_E/8B -KEG?3nt'?D"uPBa]dW.0hSHN#ak_Otm&4^eJiW&tBJorr*s;"!"<^!`4=HoE7"^^RJs(qsL_cR3 -(]pEVK.&f"+@g&snm%S$UEb!t -[?002foZ`k`5EiZ*`PMF1,p4n(85P06ek"Z9Lp4%m\E0=`3L.%Cd^[M6&j;.QI8^= -$rDr\5a46u1NOn!1CBR\5c(NBYe!iLRcgjt`t3l(*<73G&`&$^c@Rf8!^'gZ!RA[n -?cEdh`[#"^l*A/WAO^3@`cPe3HtLBOBqs`67^98#gsK4lb981GBYd>/Fn$lMGZe<%cl_98]]YlkrR"usN73_#nCs>Zd7]tgrN=,-1'NI]Je]DV-Z+S\m[+MU>6d;:= -Yr`QB]*6Gi;U*D3:%Zt-Ct;>!hp(NG9rurA*9=>Gf$7gf:*e^23pKJ%QVNnf:9/`'X?a.;*uCh4SkrE+&Aq(N'*+p*6_:1*0L+gNLCV? -ORNNH,uPst2C%EQ.0-eB"bM*jJm1p^i9:gK9LZo/3L;27X&Oa;_P? -#=@J7*2k\m5led821gu.Jt^VEX(Jda)2!jrK)rVBna*UjCoT;^[d;I?h*=j!5npPS -&V1fY5bq?g7FW>I'Phq+0dIB1J4i='\)g7A]X?8=[8c(63"j&_a8cId@Xru<"@*QP -5UCu[,rk[V\ICl)F]d.-)\uO&JRBe*cn-"]5)"LnKm^-u,u2tBIo[M<'/4f+pg8\& -%g4"$JS6?%RC*YPX]:oo'S7)C=p1J^L-'akabf]'@=oiL4dZP18a<9I@K788q(T?n -!KoDC;nT_^I*,U`4GfSfgWDX`TEEGf]im4Eg,_,HiO$-$=*"b@);lDU3nNRXUF8;h -CY-7VZTX`DJW[C/)r-6H\\7$52LF?lX5Q5eiuV'p[J&,!Qsc5:c?C8_fXX+W]h)RR?ik+eCofqP/]?S/_DkiTd#Ej;uJP -RrO-`XfSPG\![dBOG#]WKs'#)Ut85@=$-tZN";7!#7g;1+I07deZqe8Va4lsu -W`@rD)E&VDiLRsQjiQ`P&Xrtf/+Tc7"89Q2; -*[BZF,iWD]@Wj'WFrW?\ein%&!_PXIUs_f@eBI9THYi, -c%96jgCqV3/[O2l3ST9LgQjm1^,oiE4laqI>;6Eou5$k="t+*cpN,EG%1ekr+Q9-@P,BPihsrBD-)dI[=c'C?YqhkKNqP9)_R; -!jOm\mKpF[A.+1pfpG%G8tV]N=(ZVk:Fh$#W6 -6YDKQ3?qI(];.\$m\]>OB'*<H!]UsI0i!<)blQ00JX/!`2Q)kk^&`4j$qQ.0nALAs9Y<,OD`7$C -UKWPXnIVEgV"!gucLHid5@sA!DV@ZM\T.`O'nPj*!B;S3J.[EQ8H@C6P"8lhfQ6F< -dKfS&LX9N2BO_1$%0VMu!pD"_?miZ+feMuWZnk>C(tp6]9b!updfB)Yne/g`5TRJQ -5Y;"nA[.kQI)%hVTNj_mF?inVH=N7&4+"Yl(Ef^8()\Y#%DW`%qubOD3+L3[+GlUN -R@]G,b(I/QS?4gS:Fr!f0K)5US!j/dUL,&F.YF"?fPQ@q66s!,fc*YD=M_J9NK(X) -]3+[^S+Vl5&],A/2NIkI/q_j;@Ec/)e;f@P)Kg9BdPi4Wq58?cFE+\6X6`&"_jE7Q -=r[/:lX;[rBf-YG5%8^_/Ls'7<42nY^\+TG26.T8XCL]GWgST(+;D#+c^]-\WWsDa -DEJeU%WVrnRtO$MA\EYC[fHCkFa%)_=aC)&[=J[]23J_RrlXb+aqgrKm^U9W#WIBT -2[$U-KdUf5W'IeU1Q31'6ps=/fG(K^d/lVu",Z;0Qr/'mdd"_:$nGAQWKnXH"p?5-mpch-HhIC!j!V5437Ugqdfug%BO-X9P+\*"mJj6Gc!^:lOZ0MY# -q_W'b6sogbCW8JFqfH=p"tTF\JpXB"HG"(6kIg-<]uL)c.&XhNghb!KCjYonqrbj< -b]?8b^d9-Yr--0YLW4_+Er;_QI':LZ/9XO5c2?2=r.9[h&1(bX-BG)KM56#dXGc5( -k[dh1IHBNrIWbbPAj36rT0udjhQBV#6Stmk]/a*NhAaZYgd>C)2t:%.#^nQ'oYR+ -;0^l.3?O;QA$S)tP!p[]8``iaA>WQ]QV;!)3IKCh2O[A$Yi2*+C,pi2LGT9=g3jDK -:FB)0AE'.QVpfAq3gEa@:)cQ/E)Fl#M$"^L+d?`dK$60Xg+:T1?+(UQ)dG!rbGBsZ -BVRpJ(V>+HgMF@WDE'/3p?dXPi:0kU!8e`VJ`JQ=*2ZI;5_BOi0R,Ko4e74%ZrB(5 -2\W++?a(B[-3hqba_Z"0)?gOh[`M\FoLMO:Hp-Bu3)GRjB5N.9mP_[Z(71N:g[f]; -IV'g)almf=?$K]!UYja@2LV1SF3Tp]mut6IlhG[24'1%QQMPCk?SAnN_!O3Z -oD5gZ%t!sM]+7Qkj?\^*$O+31l[g5aiV7`X2Te@NX"'">3tK5k$p>1j&KFLXUo9)Y -)$V77@hse"G[)$gTk%sSTV9`-*K:ZpfcQ.c#cf,*E[ZYc#YjS()D)IfEj:@>N*[>n -JUFR;KqW6W3<)j\<&Q9Si\)K*!,)Xecb;YHFLr260icq!O[#4_-,D]4L -U+cu7pr>[Z1'kQ\MLq4m+UB8#VA'173*6oLEJRsU7.DQ\9[f6F4\aDtm6HK/DujtuD.&EZ8-c"C0cM'ZmW"sLd4 -(Pfj]=s=<):o5t#_[tf>NWW*K1lReM\.f<[LfPmZJT-8]L+24nNC?b#CIs4G<+Hdh -CE)i97Mu&AQ-sZF=Y`Q^DDb'uflfTH7L4NW!=&AM/K3&g=B2&.GmK':La*a+0bAm* -##^'7.?Fb%#?V7Sg@hDOBqJc6p1=>;@6=o2UOYZiMkN\Q-AE^PH5m0L_Si5SEh7,> -k4,Na/OiYbkDes"m'i(1+WsAi"=?H>c/slo,PM&bB&4'4qE.G-WY/`umY?SK"DD -D?Y@07fb2Q`4)($9V`JTPS/R=E=N#b98RX>.)cal&#&VZ5Tm-paEnq_F%mRYio#s9 -#Yk]"1c1uT%6)6KUD.0(E^imRT)p8p:]Yr-#I*nHkCB!7,%OSI;+j'jPkbk(mU:kN -f0A0nAPcfqAV\Yf0h%'.S3i6`M'3'GKG38RDqHg=i12cX72^i2$mj*lXqmb!C4"p` -429_G*^e1"%jBX*5G7%-@piFG1sDXAd!u_d,o6lo3%q4LcVNJl=,)84)1q'D;;E]p -#rH0FKtt4o'KBENTj0!G=u$]:W'$R#`Li$s'^E"bK"Yr4/jfZP">Ck[qU<]\B+ -)_)A[V3jT,0Ha=KM)oAlI]T49_qI`kC$ddW[&3aB>0C/hm2`I>(9Z?F>?$=DEYl$i -:NpRt:&)HSk5J`"rI1sSrP1Al!FT.= -Jaa]eNfM9e3sV&V,g[fJf9$]!YZMN*n/i0m^^1A/CjLguknlAT/ -q*uoG4KXjR``34`oW8uE0P3t09?A'4,N`6fRBn*A\th0W'I<5fg\gBCqYJ,:H?K\L`^@R]e7VhZ1luXgL1Z,X/pJ>Jj6k%!::H[Zo/)> -+K/!AhP;rtLk^0"]?<;)4R/<]C/[c>@4[#ZKF]:5<(GoPr!)G\SUtr3.$q@.6t`dB -hSPA2/sYA([(;Y=,%"8_M&()q=IIW1CPsj.mmQZW>C(AHmCdfN4sc)Q=k6SNZtoZIs+T.2ukqr(SF0&M4caR6eEUo6$O)t^jZ[mmnCf;eQmg3N!k4[ -:Bb/`14i?D*l.Ps&g2!]#[f\:6f9$s@DEHZn@f4GkY)/2-l`=#Cu45muGj"^*P -Rn=`o8SVIb.0*00]lV"^CroZh(.Q[m)l./;nL3Z#50fQ9,`iW:j*Esa&HNG1%D[3H -M/Y3r`Q/]/"&K/\6/DVIIq%a0.B\`:V?05SWWGMc5ln4n)Sn+C$GaS1";#_fGQ!.P -ec@8-88*CY_%_&TUCr/F4o$gO`!!4[H-l:rK?,9]#[@5f6Y5+u^,'=(#nTe@W6(nsjH;5pu1 -LaibMjpV_,S\Xk0!=f\*L(3FZ9#+d.Ed75.KaJsl%cHdt5me-#N1[>'$u!KbC,RRk -$mDpH+_S:m.bkPT&ei(`.jT]T#IOr;bR@>\-D:n^ElfQS!1>R*)*p,3@2CMqg^f8@ -%8rKOBLle>W[5ls0.a:[9X?BgT$)Y!/e'W\,D*.9__9I80f&MOJrqd^*AP?D1(trg -o-lFN.l%0S1Embo5\i0>4Yq.F1UBCq_bejB:GgqEh*ZtS,0=:'lTH&Ij*.`nH -TnjDU//3i-&4"/:d^TIrIlGi#5r90>F2L;.'Iq>6a:f@E'IM"E01,7^6Sg)D+rE5T -\1"Gt61dT3e4Ds&l6ui75f/Q<#mE`H7n(\e2GEa!9l)?o-UUFVL^`<6FDj[U+"@tU -.I?(b'T"QOK.5;u8@1$?P]K2*0f4!G1fU;-oJnc\NnZr5d8HZ0e=B/&[n0P=7s(_( -FJ:F?o$.qN8WuOHbH=>e6I^+>9@SYhbn/52'2Ioo1p]2;1kdC.[8+TF:/q0a'`h!m -V_`0-9_AigFV<(:%oMpS;53_W[*)?Hd8H5O:K6j[o`%ii$WCNWgd:O0o`.363E-^= -<7NQqPnR.t'iMo%3+UA@du4NA)U8c$Hat- -aP?iQ`HN'l"#T5B,3/ZfmlZ[IEreMfIZK#[g1/l[eg2!VdS+*#bMU"//s3!*0[3kQ[^D$m:!-+J0Xoi0W\YWG"E*!ejfI -;F]"+7Z[FT9Rofk7UtX(!ms@ri&&/%/r7GF9;_DPmu.AS'028^Ei1#^Bc(iFG`tXI --Ur_$aV"^_=a>4sF*"j7#@r.B"F'@E"XN*1o"M45V^lH)%5@FX-d\kPr(usn"tg8g -ZBGPB$OCD[+t+:+OHLdN,mf8,k(kpJ[g`\+X9A+Z9-V/IOLg0C_LGD%8J'$T0]6M= -b,GjuKd]K2L-T8\k#)cUM9)?I/dACL.%k5#.sQ2lC@VhsnL-Zk&P1K4W!a3Q$'f+>R;GA6q&;C2Ei3J.PR915M?'F5C -P]?1)T_t3ke>b3;WbTnOBnQs'+:pgV/[A*@0+.u<&=sGJ+!:RjSgVmc-fHT@ -:_,R8S)Fbf=ns>kgRn&kT7ITI@1=;VWdOUjjWqo>FgM>f^?Lgu+k'"MXS0oSE%)X^ --F>:uF=8=IPG@c\9H#5^_RW^BL>D*gac+r)M)p9JqMD.sNMp$CW3`s]R[=15]Q!JY?_EJaTSsAR64S0r'EO'lTo'dS -&0!pj!+F\n2E2Yk%NE6'!Wd0O0*9\)66_d^O@Zr_i)m]>X,Eu^do2VO6Dm1dhZF`Lr -HV(G8VTrCB.5Y2&HW%'d3NtS7+nR:h]*gEY92eh41)jT.gKV&>7CJXPYe*Q;o-m;+ -`eYR6\N>)I1lY;-^c+I9. -]XuXs_AT/WC:bhWZTB8C<"i?bNI#O00*I.=;RR#AIXI6KVkC^2kM99SD,XRe[FN2_W2up:"@ArQ-OoFe79)C"Qjf%J>NZ=V$4odI$NfVQ183M -.SAI[`]N@gil4J5JMl!cko=?B*-XjuF(Md&$W_AhTcP&d)Aq$YF?Ggu]U,^RPT6>) -*2/An_2]6q//:G`"5se"TM>o'Jd(cWa.f#4!,;d)?3h&u#sbp&!4!,6c4a6Q(>pAP -_1D^HJ/LTh)*t2%6)GOX()c(tcTI.'TkXWpBkX2,&\p::T^2eHl,Z,pAu.3R,dR&\ -8Xh^QKg;;+]M&Z)d&(367jo:/LJC<+D3E%nU[YmX25F-rEWmZ,Zk=]]aLfB`Ukthd -ER0KnAr[->ecfI2&n"rW@;#f&BGr!G)Bml:)TTsrZZKXN)Sdg@_-dF4?kIp<&V0W_ -!;I"rU(*d.$UDC3?-+;$T>\O>KiZnt/),:k>BkO+;hk!bO9Bh?$%!SIH,g3_,\W$+ -@$T))W@'1rO=^H(!J:o);MU3Ulf3BUQerBhN@/8$*Yr8N2[.77i3Kdec2rDqo&-YT -Uakq`=`d2T[h,KHJ>@r+8.gCqAV"M7O:[Y.BIaCf1P0SBJtuS'-q8<\qh&FAK;Z84 -i8]J5KnO)l"\r1o047[ARe>bdKTG^(.$5!mAr3b[MDt+!DG:;WJup*1lmea"b1I0! -Igbcb/I:?rIKf,>mK>dE"D39"OYG[kNWhq"(*;;1kj+-d[s1W -@r6*dQ4PM>Ol8nFC%@-hdY/(&-+J=3fte[h=;-ic'=mb-Y"];f"K_[&HiW5tJKP]b -SbM]nU.Qi%ata8D5YoaAK*oQ"nI:a2`15HMV82Z)T`61X$CQ1Ap'e7 -M;Ym8Wf"Ko14i@,/5baHdJOV49HXT(&V^QZK+#Z8iP=Ah66Qn3Us`\Qe7qApd-=UT -OTum[a2`357#jH<4%[a2PEEfCCR5rO',[FCrQW;(a'*=bRA -6(lG1#T2#[<:QMKQ85Jjl?.ulB";-L#T5>VIZ -!5J";$N`T_*"rE?:d?]CK.qBj#D8,28eQf;+B[M[E8n5L"em-r&WO`=1/!sAJTPT, -7Zl7'*G>-IJ&X45AK"&.Zu[/+B#"so'nDuW5D/"[`Y/b)GZH/H@=WD.amK;*%a$Q& -V^kA;`2bH3o$k9(9CglT]!88?`7N4l@hggpCF[EGc1?&:)GUs9jL$aO_^qT9$<4\p -:\45]0Mk^P#=D=ggE/MNMc1h?[.GXh6deq&.8);;4!LIPW]`6Z1%`.08^qPbePf1" -7-M_BCGd24e5_2i027^#Bf&jJ-"U?5FiA]5=3C1ML/1e',=kn$rKCbpFp4>L.Ue6g -i?T(1?$q"Q(_kN+-8\en(,h9;CRS+.*bNh"Ncr6)/&.5I`E&Wag4KA50Lc;k7O9hRHiTM.jG?2oP)tHE/og0f@UPKJMk>`508m^: -^lO?3E1G;\GmfiM!b[2e+8A,*@/r+d+O24Jd#Sqb`)quf4>Y#k$6?7^[Pj9C!!hH6 -"+si]K5kKJ_N9fi@;J5bJArW4E,0h%Zo9U^?5n^!C0X&eq??&R'Z(hO:TOs>YTnhZ -iXoIOaB0(+co_Oucl3("E<\i&c3U/,`s!tY'qAZ%(-pRf4=E>uTX_d]!n3K.f#c&@5"i`/8(I2hL0B=Ja#nYq2VCE%+YnDhllAHom0Ri*K+Na4;s?;:/g\0n4s79V6i_`O_N[rT+X/17G\&]Sm8&@4 -7M73Ri$SR'86:,c,\5srI-43d,6@Jl3X+TNOFsSE@H3&!1sqa$IQ"!`kI$uU^-"\JK-Qb<@R`m0Le1GQDG?+b>FbDFSc.j -Mu$T"17M4><72X!rfiB;8?KB_@B=d-Jab90_jG?Q.Plc8U<"Q@!-ILX^ijBX=A0$O -oV)E8'8^Fo)9-dA)In/3NcD3``u+CgA))Wrne?)@W'q$o`%6W[*ZZcI#T!UD`!M%r -J-4d2:k<%?0S",Z*+0V'O5L"&ZNam_0N`h@On_+j!;[c;"FLX9(,LX5(DDA,&VdNi -$A+X8"ec[JK7')[E;kI,=r0M=FX4(G6>'9^Tf89I8m9D-$n17H@[:SAR<0L>d+WP0 -W`;lh<*#2[KqUu9dc.]m_R7irG?8MW32Vu[S\ShF=6]&ZVG(0ndMebsBWZ9Vn2@l0 ->/OcbD3;&!g;6dFj%.Z_>I&E9b1`:!KbY>q[/k=OJ$SHsKAn-i(U-pJb[u3V5g[-? -<&Jrae1jT-_%#7?;dW2bIOBtqa%?/5;"V=TZfLgq.lR8oc[i -MTS8D/)C;tQgR\]&kO+(>7>t9D(\,^Gm[oq@,rAt'g%(/(G"3e[9RA6V@%p8Fq%n' -%Z#+2"N>?2!@(aO[Q#qe>B`EXh%ueDa&Y0S#S7gsKFA2"!XM0o?j-RY+9M%\aNZt4 -"p!j;JtT+`JIlc4i+tmk:a.IqfE`F%)7I,-j>d2oj;Pf^C5Upt.mr5;%q-k%"Ft4q -N$!WULG7A_$:,CB_aI^['InA),qWPqc+-O4l*F@_nRM?6%KX@+Z$kCAA44b2DdI-[ -c6W!!CpJN9cmKDAp@Vf(Z[^p.(5'uN%RU5K#bhT%K@*.BJN1Ld+@L10:^T?U^]PY\ -n,SNhe'H(U"!8c7!tRpL4%<$l)+'i8MK&t=6n!,@W)e;].j3N0&tuNkc,)oG&gr&Ybti-TR-upc9eT2C&&k0k52E -4*M!g6+lD@6(feN8b.I(+X,Jf$58&fi_KXp:abg3!Wl:-RT(KB<=2W)-#bB2JlsCo ->8I?GJg+KslgGShb8DAa!! -_srke10g_CFXC!NTuplAA2F>j1]dr<`,LJ_cmQ;S:-kV'QJu>DlCqj5t"[$HrVolKKuVO,I3d_?k'p!i5Q*H\RYRuFDM;Oa-4rH.RHCR]Q#EG:b%@% -T5ptL)Z0qgOt+hVWp#/:q;eRhZ7@];.oO_&_*5a5EL.e)"5JDYo%ua.HDl4D._r!b ->1&!/<6/h3+cH/nH@SBA5,NWu(Uts-GU`cV.0>A(JnQD>N$lPK8KXXt9:]p'R.kjl'-q>GL<\.\HU"CO0e/p:s7BR?""P?IA9"Tb0)G(2Z -T"IS7a=9,>1P&G-Y\a43hrK=-(hCpJt.ifq2'W,?,?2\4`[U,f0Dra%ffdPX -BThl*Ph=@l\@4ItCs;6_b\YUo=Q(.8,_5GJ0fZXo.;gk2*^u/-!?.KQ0Ftu>>t/)R -9s!,>AD>AYgs+X3:$gdL&hf:gm&8kN&BdC$i#RE*'nUZcJM8h^#S.%D>4\9:V?R#bgi'Yegg[J-^MJ(it3UEs:b4L#>=KkX'lO'nUBE!JsU'Lo!3fgU>?S4AstQC1G]8GU3Bo/u[GM'*6K-K")nS -YW;i13J"HZ`:OB@6n%0hW0J7*GRJ-1RWHiO_*+N*AtL]ds=Ee&CTL;40$^fuA' ->D04)"L'rhh0jmb1P3[r!m1/.BmhMNXW2??sNoUPlj9)/kOIi^l>AR$PlOq1Th@IgF!9uJ; -.I*Lp(W7:1R(7AX>Tp/+q8nL5Sm[qq3%;LdB?amX+flt8pn:#p;N.&CQE2PW$<#>hM7=Z!^[CT*2o+4RqbqKYskRf-+C(;4m>:AN$3"CK" -AAArV?o\3VHCJ;?-XT1h5]S=q]h-qC8ebQ\4@Y,Uq3[[R>Mi+N!AUO[IQ\62A";$KE3Hc`1LUMmkXOnm`&1B8@-(ZSe -)4C&I6ZJoP3bd`C$c;>8:)eF1"AStm6%9]!i+tBRu6\-42maUhO2= -C1'MGc44W%c>7+LCZajX>2\ioH6Z0Qc[icKa_#-hNkGh -*UX4Ldg&9dLotc.aP\KoBpPRBjum.?Up3'0q;9Xfr=]&d\.(?P@>E>Y;H5k[D1:)RMmin`"brCAJB1RiL_Bl@/:h1ZJk-[Z4$V-n+ouX+ -"1SnpW)S;?M78CN432DH"VR&$Hhjf+e';3dppk$Bd,Y#9dP;EZ,u -!1J]^JnQA1?o!>Xk^oHmK`E.t!+:@#@"u`0#0i3a3-p)tHCI[r#LIRCBQT!5$jNqE -JJ_gL+<-"W6@r$#K/bK93%G&d.fqCJJhpaISsp!fl-LQ7Md_-'jemZHW9hn^)#GSW -g6SI8n%c12gIU`\U&L&o/dO`$W@^#41+>JbXhZLFgKH%1C57@+OMCoE,'Il8\qL.c -CbNOVF1<%&J1e[#FslM;ao])h`jBMXJg%WN#``IRp_pD>-9$(g_I^ic*QjOe.9sY' -_PeA>\lX^bGXCN=V9l-X&`BMf@+'k*b&o8XUoT-[ej:6k!Leem\_jiI*J+ucETE') -"H9f!.1RAQ6jSJ;dWD1_Au%8V$Y2$-_M7`2[[3@561sJ,Aset/DoAeJo`X6GI/'Y9-gM!c1l3)%?:gIc4$^EMrTb:7lCm<4DRGtG@<%HMGgVe -$F!$t(.Z(TN><@_-5jl%JDn#*Y8+MAM3+Jn:b/[l8gZ'kFKl7"%)9?(^u:HK3b%)o -nt0kIA43CI!mh$%4p0l2KfE!72D2M&!5ZI7K=#YlTLn/WeeqVUX`"j$jFC=\Muk1DVN_>nR*7s'0<^InoJh[uqFgt18kL4!KWn)T -kWsiPF]WgE!aCk>hGOB';`5Cj:gCqQ08K=AXVr?G0QTmP#+UjB>QMQE9\u(_hplQ+ -e^@9mW@"bKELfWW=hHGbAZCN\.jOg*H2[3gIK+VB&)VgPhuM4=i,B8Q;1UPK^ue0) -!Q=a6nZ%267TL@7J8eqPGQA%oGlSD$*>j*'G^KGRGmA!a#AA40.!.OQD4PWY"pbG< -$*AluRKG -)i]V?TuckN4nruGWQpaO2XSM,*6_g'$u#5G?G;P^526 -MbBjE.9,#T.WRP09PT^BeOH&aN=>+dH)U.6/$VV)K6obQCEOVIlP#`SC?87&f<9%.^ou?=u!^`FgB?>E3nrRaL<* -g0I135/nV.,hNt:d!rVq@5MsqQC -_0BAJ^i16GX1L[]N$=(PYc91d,GZ_?_Tqq8r.Y\cReVRiF0$QR6C^U:Mh;;N0FZ8p -`\"g>3+VpiiAaLGKjde_jZmbmnGg7ar-JFaDDZh"8Bq@"hoSbYQAI9U#>Ts]p!;K`L7A7^'S4?rmFrnF2lTn>>rHr=17[Ye:&q[ns.gLWW5T#77W+=Yc -XqQj9_i_M5)(hPtJSr/1JAZ>d2]0Oh$po*`[Om(OfI%!"BX;rs2]1Q^%YIdOE/Z!K -p`s4i&9dAH_EbedNYjarKSoP,Q\O7h!cT'gTj0eU7WG(pXGK87OtYagYdQV*i\;KR -"slQY&=6uW/n17LBqB*jk-ef9)VLOU"IaUEMHbaf\PO.Y"Gh_%O$\Zp0oQ2OV5CkV -'Ohq@O3@30`Z^cXK0Ki2>n4m%`,t$>1=K1*KOG]c%0L"b1U_.ncJQ(tJC`il!um!_ -%.?:'e.%%;3e=j;$$IpL^uS!Nf]DB"[+h!=M.K`])b/1`E6Yb9V-hBL.W,N7Vm -RAYktIMsNsU6WG9?%K2aW/4j:bV9TVqooBRU-G4lgT+cmC>s/V:9=9N0X6=is-ur_ -gqq.:/4%,u28Y$J=V!)nF:?7c3='8:.R9*IkREtuM8-qR,LiGrCjoVo'$!`9/ -"7EHD\fa-!!:,&oZ@#q/Q;dj -RiJh99p/aS@m30ofdK!l4n".\/gZ1TTUQGZg3#):aE\:0BL'o6(*s*NPFKEXHU9Z? -(a#,kVkQRM#lt5QKG265JXI7,6qI-:l8aB680:"!P:tib;h#rq/OV):n\W0M$rlj] -:>mj2`$KO999,kQpbidW0K_?\Z"fqanLf[O?",)3Zk:0X>Dg7"QM(s3fb0TP92Qfc -2B[sDfl0p3i@ZH&gsF66-"JSBV6lP[dFsd>E1q+BNhE?j7;0&g6#\-YdY^^i]5qlN -e\&@lp>B0PKl=+?_76raj'8(9Epc*8\Q:f&\bB23!@?9Qi1UW'4&AhkYle-:kTL#c -J/*W+<"P^E6Ao4q/OnY')hWqK%M@!Sa%umZ6Z`Eid@p]^JA_K+$s8'(?mgK7SIo7G -70aAl*%rF6#@P=eh7P%KYaqZ.QsU50S18:`!L+^oD'[bHYZ9:TQ6YMpZBeBoMTLDl --Dat:RqtBFYf8K=`(J;WEij!t)Hk!HClYX-$=Hq4D9/C5,F5ZGO"n@*ai3&U"%'>- -9=dnW7(C&M9P]sbH)&9Q@**"#V2(#"\#HQ?+LKFX!A&JBY&b#c*_Lu"FrBP<:J\\bsHlo!]IZK1$4HtH-*Fiac -NM2L;`^%!7U>/Cmd4-.;0QILC]I/@dA.V&b1'^H%*qZ^d'.um_GF6`.%0MP%>c5V"R7BKnGYCJG10pV3Q8<_M,rD9GJ/.iFhG14,RBl/bA6EE6\?,Ugo[e, -Q-u#Wh"u]dj&BF^Z+!bccq<8-GTaR5qqsPZknIFVrcb$P(SPTFnO$PP462VJ5sfC( -=90dA+Rkm'DdN./ioZUU_EoZ6X,#%E8(:#KfR:f3KP3PuW\U:rp4&tKfq`Lh`i+4a -BJ;']U?ID%@*/k56@*Od?/V)YTTj/`U.(j*m3do$#W+i_ML_S6@\t]1KQ;e1@YS`W -L?6d;68F=X-pEH94,AOt.#=a6OEp&U,D*3dB"k)0RVF5rl=[PRk+;Rs#5_e%P0]r7 -O/A.58;Z8&s!F>B.,'^N\GPdC%6ub3.0bm/QMDl;6`)DDmc\VnLl+G]"4)0#E72:8 -_NY$YE*tkOL]%e)%1UDtO='%J8>:UP4PC*Tp?ko99tIW^W[p\[%T,-[$&fPum[4R- -6]FXj9rcpl(*c0Jl:N\/JHVHn9WA+9WrU9r-Em\Gj9U`qSI*f:M;4Z%E>JrI(eO.f -.J=;:q@tK5THM[U@$)5#@Rf9R6m^LQD)3&L2@`7r%\Vfhi7a"+n>@[n%LQ7)!:1:0 -c4a('Ud7bQ+SsQa.g>E'&CKVO_$UaHrXZgC'G8It_!`AfH4Mb.%e6d$5h]INi"*t> -&O@$A.YJ;Q)Qt_D$:*6gTa23<"qr.6'+1TJ8otMs((/0J$"/F3K$H^p4puB@JY;6M -k[k:-f^!OD+S%,r5q+.s2]X%P*an.EC@\QCqQK2d3:S9U6Fn],33`i,odq0sYpMER -IOjF_a?nV,@^8R`3!TLQ#@^phm&;G^^Cl^G.C-h4_h:C3/d*PB"Db"?`+KK4ZFY"a -$aSq+dd%FLmk0dn0%0>EP4pWXoe7$TDM_"L]tSI_4^c0 -i;=;i.MUj+!J-CP+;>^pZ2l,Q^B(n`1H$#!,SjfP!oZ6QbKp^67LamJ"X'ZK+Bj%Y -]eP\j2c@URP0#Y(I'lZ%jYM@iU'N++!]FN?2BrFJ6Y%`hSd.r5.\gi2dt'R/M)V/P -a"sOaM^65+C*r&N`=,O)L^M6*gGo=9,m)49o;!\d.:Ye3n,Vm@b5E?9ZkZRRO;p0YUr#`UTH8%SfdjOlq7fk:CW".It4$V*daCP/5t -+AkZP>:>^P9iNGuc,ACh9&.:'9lqm[N<7q/ILi8_(Eah:/asf)l2W!m+!:P*/c=Ol -%cDIBk1(+&iVFUG"M5XZ2Lj95PA$U@l'#+u5EF?8>t -bbS`D@NOWb?OUL%VP8&>&IsR'@n&GPi6Vm) -D@8_X%:Gt@@*f2;cjTnn$fJ/k+K>bK4pgo]$,E,7i0juQ6j_eW#!fI&5_Pn4kRCq, -UL:tZ!7VCp/:nF>l9q@=@W4i4kQRsRC[Yk)mqN%A=t["!D'mj.L>_gH0+\?b/KdHm -kZUN#:*N&YC[7u'BddoX2Kk/#0M'KPO1R*Og'$WnT'6F^YIcIP2\645G=Ab6c)Q!+ -*-a-fGfAZf/LIeP>%2"%8'1'*/J.r4P^BV54K$-u8'W]adQ&]+7W8uh#NU>e;ZXr1 -!X"C2bH?sRXGY23CBr^@n(ALk_F7tWUF#Pbma@[,d3,T^@:66GDsUp[\3nHC#,kgC -&9*A[CgJN0#G>i;jDbGN$A]7M#fr'BOHM.cQmY9+3VLTZ0Ap'u5'Z7fH8;o6MdQ^/ -j_=%@Dm7*`-f6s-Fp2BD%/,I$1BMGjg5q.#B.XF)c)ti<>1s;I/KdCkQ^N-?pCIW4 -Cu@`#1i,0HTTLa@"GkQF7f*SV7$)pi@W^'o[-<%XYd0I[,OW_o&NZ<,p4T3;7d6N; -j9Ra7/hDf4dkWounRDZqfNU(M(J3&G@.tJbI\&"O(eNs/KHh>]OVpao?fF7>VCF0j -F%&WUVu[WeJL-#mM@s>2*8pmiC7GeWpmkghUk&Z<5p-cu*YZ@N'=$.2+T1V@mV1`V -+*_l -#_=7OK*[?^%h^]3iA;2k18WqM,2ibI\1/"soFG&pN56G\!AkJC%u*@]%YqeH`SDpE -QSBBl>L4mOV8J5oDVHQg9pD-oa[C -\tDTWM+3Xu#)u]NH+1JRR/2m,]KDMg'm3,'nEpSL'>AE$/ej: -J5?V]h?6+!&`>PZ_-@%M>;W%8^L1VHQ7/JoW@N`8";'Pe'9, -K4$0t(b4NdVKrGH)D.VnO/I;[.%2Z\l#f4L`BX3_W-YA:)QFt?Ej5]K3G'Ipk-:mh -WN5$fJ1W$-FlIXYP,H8.%_o#UD7[ -HV-b^/365*/L(KLCUut\3.M+l3`?cp)f)Is,u)6?rY4>rg;CDRB27CW"cB,>ljWb[6cMU5Ztab$DqNhN[J$$R_CY0qPC -7YGV6VQ+U;+LT0ZJ=eI+)b'DcW%*ef2+N=9]&k_QAia=pdaKU2$Xfbm+G^:GL'Go4 -"b9:T%@@<9Qj'-\"b:\"!-3?6o'6J'VZ=Y?01uJAT<;Rd7Ib?^8'uK)o1WY_p4RRm -47"@X4@!.>"i`*YcbX2549L*lMKtAgonGiU>n@OAR"kHpDhnO>OH-\sNkHEiH&Qg8 -'TFP5Q>%#Y"9poCJFp,S4Xot+mZ:X*jJ:qb"A'U1X/NVIgdeYF4DJK&r0RgGE.m7] -D?d]QjCUHlfEcfpa\kuFi4DE^7%-i96d;3VV5u[mBaRVPY<9l7-l*5Ad$u,]E=b/> -Y+VRUF91-NOOe-6\cW\0nrP[WQlmS+6[K;e'7<2TiHm:8TjCG*e! -W7hN'5+(3!0"s[&T'Rlb#M5+BQ[tN#f*j9nlCJ^e.4N]uM[PlF%He?_BbN(+7q_fS -&((B!+?G#*Q6Jnr]'"):.8ApG9@IEgP$o8$M'Uf!+Sp-ATi-#je< -%VbVIdMq,T\CbOUa,WXlJ^EJ!Qc]d-j';*#Bp'EIa+LYJ -QVXL-AhmNE2A6V*fjO>O]O'?4[G>]oH_%mcBkPKr1O?^J=!+!ln8%q17@ss=)e:\` -D&0TLe^!^j=`NSgGGaG6oE.8FT6]\YHL$q\mVe/fb&T;/4GT,g'A*-PSfH3I_7bn. -d/cM:,P9X!c(#F0^sF&C#9kj$'a);a;hkc8/UT&S_iXL6&&YXT7hHpt)j&N.m1Y6F -][7ul(e*tZ9,P[,aCH-B&^Xl+"ju[cJiNlXL+,ZfXH"^N,%-caM'>KQ-j\fhVBcH, -32%l2,/CE9bG,3R0$GMU`r?3.:fB1S!F3ha"^tYV(d=Y_H6.lO&;;P=_H<$K8n'VU -*mHKS<.Y:P5[quno9bI\Ln_8:1K#I"-8X)Ed'P@G@V#6Zdt1Pi,`2ZZ7P`Jg,u-'m -,,J@:M)1fM*JFMZ:KdnOXO?[e61h0%f9PFf*kUsX@p&s+0N*LVWlSZgfs.*=)d5.O --L/Pnorf(@[[j%.>#t%"D_"-K?65+-(uA)@jT:0LS)?<>G5u8qqu@hZp],g#pW`5V -?ao.sIGd'X"b:!)e`_K)J-#Fn!!gp:!1p'L'PS'H?69Tl0ZZ]cKN9X*)*hVpEr`*j%>*fAq_mf;FlNbLd@tK)22KQ;AFl`TMQ>VThnl$='Vou\^]X^`%[-4T'&d?>A1/$ -DZXaA?3hU9>(Qq-*=Fi3*mtWfd'I[k>(f0Y6k=[=?Rs%h&8ID9FA%0L"j4:d(\ -([chWhYtS40%;r&">Bre!K]);i%,"]cai_a\.o*QHjkH7a:LTOC^Ip^BQjHR$A's& -#ls`C"9T`A<+2$J3\K@RlC)3]CH:jP4h&$&tl+ -R=KIr% -%H&\T\?c_]GV1,=eRQW">)qWqB*GR$f#?!fVOUIZ;;kMJKqPlNgRE6l1*ssdE2sK_ -\3`B^AN3&CcM-G%d&2sr)4=Zd55&!^Re-_CZhZo84 -+?$$C$fMdFRPRi\c8hd_-PY[5&;Uet5Y;>-a=KT>Ae"kr2?tRFk+<<]F3h?kW)YBBIjAghAaBuLCiHq:PnTS+p:5>$g1ML-X_WN6UI%KFX0H+ -\sOCNE(*<;/^Q"W"Ur8DCCes+<7S5i=$ot_EJK,j-@f#+K/0:(U+Ame\o8hX8:(g] -`ONH;P3E&>I;RrQ6Bo2$EXIs'+6-h)oMi=fBdA_$a]Sg;I/9Bi5)ZA)lFuRP_4kutA;o441M>MJU(]S"V(>t; -BBK+h9CmciFpl/(2&X*U$S%dlpB4s``q0\i\r6S+]?bu4b#D"uPK[@L@_XMgR!T6_(JN,=`GeY1_+DhdC -`&`Dkl5h&VG`ON]4NFB%*i%?fO)2*a7p#m7D$4nf:a.Io(`j5S6kojoL'rS?YQmGC -)..2%KX:B#ckuLCBDi(.:212'B$3OXct7XKWUVaAbj=7]F-L00L7^2h+NC*r+En7FOufIe=)'laT8jejQg2:ll[9sm -:7eRMV.fgq%8^gsk.TIeM"^-d@BVSTYL,CX7*u]$FLLZq6[N0UDEXc*0T%55<5)UE -6U<0q0(7S"_YhbmbX#+kbMBFn+5+H"QpW@$\UfahL'K(@_Wu8]:D>L^&C"[/#[LFc -"[&7'd[F*:.8Y&U=3ir -&%7Q_a++75!qZ_Ud1cfg86?$====6tSe?U18I2!=+p8Hp&-;8[#Gk@"9:jGQF21f[ -5uD\-i>Mq(@'fu%b\cGorSJF,nc31@EI_K;2*b!f'qeB(#J`SGJl"!))<8A-6/$[PD5uF1L.&5][^F -5f(;Y&MU"//HUOL.61h5;.Q9AdZGtGPStBi+o230FWZcnTHb,JW"&hGnWPpH,GEAO -"6T]B!$DmW63@`Q\nNL"nGsP>'HnJDYSD^;JKLNqVYh=K)\j]/!.b/S!BTeDiNOK1 -*M02G%&b-I*&53ShC=%",q.?=10,)/2Nr0I'3Xe!U6iEKpQ]D96Q'/k)$$EL2^2DL -X=6Vj.6^-B,ssC1O.'*1@5C7'Yp5uD'6,#nK6E$8lD/\[Jnj.2E;qcT?)?9__hg7SU*2oJ -b/=o_[f@=t3E[\>.C#oeRm7`JdC]Mu+e';c-N%L2Ui"-"FXLXB*9qd4C3c_WHcG,Z -a#XC.l2rFAJVY_W'KbO[C@]E=cGIq[6K3ee1UK[4EB]5b&_T6t$I()'8VJAAKJ5`G -.\hVW:4d2f!Wl<1W_8VF@[20eOsi/W,3f9W7>+K+"Q3"-fKuXnOGmlpUZ,)OUkUCE -7k.c1"Dd?k3iSii'`fL)aM95Sa?M3O["D>MQ"ht]C/mL'_ZO*/"HnfKU?[B[JY`r/ --*rqhkrco;]e2i][mEY?GcKt$qr:&#Xn]s&^:I>jOb8nWMXoZ-/ZbR]7GTWBY-NbfeK@g_;a@lTL -982j@"mBuW0QJ"!!gftA]@!5T:eH8Z8qR*W!r.iY?m,Pq+9AaM:0e:RFU_)o%T)g- -d/^q?B\&;:e2LTT0MiW]i764_bE5_.c*M5pUHT2c6d`7'Oj+i9JK.P;*ms'kdF];% -=_6"P4c7B,;FMhYGue9Fjp-C,NXdZkeMFXY\?0%(1Y;IqL78HR/p -bmlg+&-1\;a^tg30%3pZdFBDf^_fAmh6j3'%RBk.Er+/K;7=i`0IY,HdPI^Je.GOQ -[DZCs94`[TArPKm;%4&EjVbN:8Bu!f;u9Ek^t@-':=PP)NPfiU@/l?k`j^(e<:rm_ -lZsQ1rK0tAQA+<.h?@u1-UgbpuLrRN(2%qu9N,4:adRH2N -^7:Td0;Ma@lpcPVd4ZJ%!ZJ+kRGf__3B=aI584Kq,`MmpE\'pk\/YRFi;'313Yja% -SH82U.R0p:HF_BU'[e0L=rFoqel>FoeO'1/+<7-NbuBCI/X9%'RL+WgIFLb*gUg!DtY -,es^a\/Eee<.P`E,o/3kT)*ZIag*1SCOu+E-5!pDOgrs-n39k@GZd9[5r,XERo ->K&X$KBQV^*7F?o$H]Hb<;1sB*L&jXJaah6CHI)$*J(F*!N6fb\/0]u$\;\"!5K9L --k$,)&:hq4JB/6C9QM@[o#G^%$d:6%1&_q<(XFRQ6(/8a+q&s5+ZVhI?dot=[.L9= -Ak+?\5uLD*!O*Qt41As+Uj;2enN'c+l*-s\*lZ\pgdif;c_C918rKqalXLJ77j:CN -*iSq#dRW8)4/FOc^7e](7+K>@Q6JX@-">X\.Nq6&5qMRM-$ro2JioUP,rnOTOkm[$ -@:PTaga9s@@#=+_d+4D4<0K.B#VI,-l60PuCfF7Ie!aT0=;<5<)iTqSVSZE9.NG?o -'&U@kc%$SfP%$fkY^qaLcTX;Jap5rWG,K_-!F0XmZ1VKY%O\\P6(UL*2?Dje(nhcV -T]d"sRBf?-2HW^Ig0G.VrZVAPh%_]Pb>:t;:/QYB3Wl$/SNKWG4-Sc7mMrl+5@W[U -b2EI?7:dCtAWf&-2kJ:;[UZ%S#aCIa6(; -A0LS2IRRd,%VkD5CIYYr<^#bD[VK%McWG`Qj0$b%+9JUnK1HW-5X,8L4p6rVKSWQW -W)B(7?9RdmLN!;"D3qlZR6/c0J5BtH&5uBG4Tc6/!sg6)?m]&p9^5s1m.SfkB$n(. -&WGfaNEF?,V+QPArJV$JN.0C[ZXd%iD30E'TB#l_E?.uC/Z:R"l>fK/l*4.*,uQY] -dRs:4EqYt7c'0bW#V"$d-0%nuY?hV$&b7nrMYEDX#/kiZRjC"NnR:j!Jo6n2*6KLE -+rd_/p>-SZhBY[K6MV.s%40OL;;V4g^?9CV3f#,^;W^UX;.ZH;ZC<@k#VA*EDV3FW -4?BNd;5V\s*DDAVpC)Ss2@/e/f]nH56phD#%V8+/FqSX.#n=o.l:2L'LD2YK8^WjY -EE:M-/$r:iFUgc^&T8QWQQ;BOq4sa&JTOI/Os3,t9t:)k3'k4sdR0fk6)7G>POp\j -j:Oifh32'%S@[MrX,`ub6))IEJf4Bs'l/q`[m>*K5a1^7=50f$bH5cF7e+k3fH#R&`Im^D8+a$A -)TWk6cm=;M'8$"C"0Db1QrsEN=GD>0L4e06fQ)KjE`onrf^4a+"2]i7!/Jg`ChqdJ -d=Kt$1P]0_Lj\."%sfEIXL!-hiT5R)s&B`M7KL1gaFDfpe"@=W<*ocR@ip^;cFS:j^" -!>%7pO=PnO(]ia1de6DjfFs=7/\!Tfpjpn`m9\Qs\>CSZ?$&fN$hYHsKdeE&\5C!8 -Z8LH[;j8TPi,-.@0j0&bcJ81Mh$a?j)D9hp=dD'6Y:=bldQFqc9uIVk!^SPm@R%Tc -/Xr3%)sB0$qsR'pc#5QXmOIqIpB3_,WY@+emZ0-m%HIPVC4W=C!Pfe.J0)og-r7?- -M)+N"g=(SV3.l_e"+W-,Lb]%9#m.U^J=n1hfF%`<('(i[Td(#DM[a$@*b,m8*te&c -2Rb'Yr1NHV?h>U111k'0`ZSGs0usoW&f;dS1[CSk;kEFYEFkH;bZ&p]7u>LZ#H2QM -8pT&)+u%DD1M:1lKmcZrP?I13./AquhN&5n+u8`b_E?eNboWlIQ;?T6=W@sW'W$+l -,hg+rX-9?L;#sjET#]EH.[?33@?7AV&,."D^rG@O2T;TT>fk4*KZo"gqVqeYI195Q -cg28)8OgH:JTNFcSb%69nDE/S%nFOsKG9+F(W&Ojd-,!s)M^^(nJJ&s/J="2@ki5X -Fu^Y(aCEXHHn76&&r?ddd9t=517(Z\o,4@LD).Uh"bNurO@C0!#3Z*'r=h[j&lNFC -W]5et7A'kGFZBV'8QVUA.mdFtW)>(0MZtC,I+E:LZq]pGHW@N-DmeA;f.2R#m<-'I -03SUaW]^ -Zo1[DObl7t'?&!H9J[q5ln=.1k^(/NTqm>_#@Z8NjMIZjCf*cbBeE$k`-e@=8r`n7 -'841UD_9&i>FI2T9_0r(alK]C%$"hZj=RcKN8,l$:l)&(^8("%9[=<-84J_p@-Tc_ -K*3On$*i]=`!)/?%$u]")Z`G\oO8FL-UD-<'e@eL@&ZOb3YT1OS)( -ebO^P=1YG`Wq[>;Jg4A$qgBXO?oekY$=5$2@[KV:KB!fO1Q19qmQ$?gGn*!"A/QF^ -OC"UPZ4eq_%DeC5ia>k7%Da1@8HWLS.PXrW5tc,7$Q)hl>Bm[Kg8\SiFi -o=OHqmeOWdHk-*Z#*p6d*S<9#E#S5)"cHUiS;/CpEY^;ZQZD&W1MLG8@gth)JQ38e -<+1h]Z*;V57^=_ALHOPC$/I*E3):W5g\2`':>p=pT0Z.$_,!Ed;J\9r7P/^p>LrE3 -%5sc2EX,Un`1DZBYU<+(?0//0B99S^?IH]pTflLc_Y9YNM%R!1Dr(,krh$d=`>sD3 -m'.73ked4Z2df8mj.RcLZ0;gdcqBZZ/p-APSH?;>:;Km@;J;^@/s#i*p+F"o5R`;$)BihT;,0et@M\@iZ9F-)"sh-ZPjJrlWn -?]21@29+;!)p<-lcgaZJ7oj5OL/E\C^km!g% -)2"Sk%KZ&Q#D!R)KJ9V;6Ek2-JY52Y!;7XffSpR&>Yb_--7d&#'GTPW$]4C+#"5\L -"2Y\%#6;=A_UqZg@5oG4i.MRT,2mmplkm=eS>I*U16KBm/(i@c(p&;C%-FoSL>+7! -/APi'6kh%/Eu5C!an?,L:c8NNdMcqeRLGmQelpSe(hFqIS-=>,fOGKV:FIQ/LAW&>1jI#2gUCJtNbaT]c`8YX/Np&L1V@W"T55>,30TcRXO1%tXdF -]`@:aAF,D>PVROk+EE<\^n@l_&s&"AR7#$1Km!NAaC41'aa]A*h`=:5ZL.?d2C"pO_2Gl`si"b,(6MR!5qf?M^UO -0I?oaBiCP$U]2.[d+TH;Zq316/O]$gr]$R;ZrqA@+*d_`QJ -?8i"5N"Kf!7uKY6$R)U<(=+k7N_$q+_+PN)A5_p,Q -`)$d14sN)P\dmpL3X7A$L!@D`j!%/r$?8fk"^%h^6:]!C+MON`1S`&0G=CosPk\)k -YfD9i'-:VJ1]^-$;'=X2"&NkD>\-U,^73ts'rnNO@aI*mmtA3K)5AEm(0A-riPTDm -[se"uqB&MirC(&W$MZ("@#n98d^AhSGMagM32%'=>/J$@ra7eMp1q2&qJAMHI^^$N?#B-^KYH%lrV$@QK -#;CE.E-s>E+E9m]=6524jh-JtOGX2aLIE%>BHUR\:n1$LEJGIG/Mb\3i7"V)RR_lr -LM[B[W*(gn$uj/mLsUUOdNL-0/*DM1%#tM7k1iI'cAaTiLI+q[b7!JMJ&e5i#DOO7 -%!^"#/S3'NBqDm=9Q6)lH@q#OV(.",&J?=EdnLU!#8fEk#7:_^m0u&cLW"b?cO\r; -3(Z#^kV2m`c4k/LanL? -n:ZLQMMNW0M?nHcaNCI&Ka7*o(F!>q.'AD(W>d/&)UYd[;7RKVYo?Q:*-&q;U2_'L -1.[4MN6#l@OGt/ui>e!?*6fJH1$j6`qHYDm6plY8LCQEHJ)WAC1iP$;i$68$[ -!.ir.Ja+>-!$@:e05s6m_<_.Fll)N0)PL[C+_22c1_L/].o1=A$@mk=DM>%CH/gh[R"]AZN/qEN_$GU`/l+1O!b4F5`e:)\4J2![#;T&;is$G9bd'] -GU?WR,q)]'i4!3H\'':cdt"rbW_n[p\O(KMa+Gb'i7frr%?"mZLgM/oJd\pWjGQR6 -TWGZ'Ne%Sb"t1>AL!^S\0RCcj5(HOW",A*?!89m"EL<6HO`ZHO`Xcn+QYeEkH+7KquP63;,1Cul3^lV&\Z:i*S.N<`6V -"te?>:bQNr`8#!u3(q>^ -,O,[IJE!`%:JTm^_up_V$;U[X'32R3_*1X\;d:P\&YtT%5`[Zk.%+IJL#nhkAC:r_ -_",<:4g%OM,SoicZE[f^?XX:,jS0=>U_7)p@!2H/i:7<"1_#(@%mupU+VNr`$51no -'6UYp2Cpc&%q@LK&iI045t>GGo]_CI'WutPn$674**t&m#ie#W(->a=TG#3>&VMbk -i3%&rTg8ZY1.-BFcJB:9YS,n'&>9J;j%p+=!=B',R-B>2b>^75$l'PRntAel7.B^I -(LnTujgE+g+Xe$?^_O#Bo.EiP"!S5Xa:!j-i<4u/-_OmkM52*`.Gi:(e[WH<7$rM/SV^ -&"#nKS:m/eFEN^dG=[X6r,nqB`F^,j='\fb?t:Su+sMeCB:pi#?WZuCGB[P@QZ[M] -J7B-#9/%"T6cP_i,d-(6&ghZ'!Q8ZFg&Q]X*rl?a');ZNqg1"b)upBe!J1?gJ.s+W -'HmGY_#H;8]/+Y*FLP%o\(Q3(f7#HuETM0WnW8LEM0)5S)tC*O&=4@Alqn#mL/JSK -U\G+O@YR[>5YDMb'FY-J71+kF,ABD9Z^$.1Y2JB$Pf&"X%NLc^'S-hj-YM"PQK"*I -k>$\&INfFIUkG$lRZu5]=XUV3YpY6\[o"@,9dboGZXISmQo(\s2S -ToP8Q)qc6p\,+;BiK8CCP:50+!-'#MJK;#QOr63COl4AZm7g*ALuX=+JmO1/elft^ -]SU-XY_lK';Fh+cJ7`!1\5[fF>7-L_Ko^tZ_\UX^n5FS8$PBC0;2g,eg>P&f38(*p -jG=mS:2lSXHq4JA'A@pq;L[^i;hKaX6]CenM4F$hR3Kb176_HDl'0l_Pc1'#mLq'Q -'pG'KT3"RtanQ.W[KQZ:At[kYT_K+,3"\G3!s(0Z+\ig2+r8"R!PsX3^_.R6i#LmD -*quk5VPu2aQ2uQ'HpL(0+@$G[`!!ln6K"&J6JV>>E.uA40l^tEaEW97jZaYSLXBC[O!W_;OF#dEKT\Y(_?]60ats=OW@WXWAL^Vr70A5X -M[4sNGQn.iWo0rgJ4'l^$5)no'k*-":eD]NbQ*4<*FK'l6/DSbhA`*l)o7a=Tp?JP -%Mo-u!MM+U?mH4iTE>1e#G=$]TO\/_Ad&0&"Q2njWLc(kOp2Vd@MaD:?>r1^-#N;PcBH< -D'NG/KnV#1eU(B0bJh*Tm7Y>?H7< -T:DmQEM\GQ=?&jqR%Stl5ao+KKL[:Oj(#;P!<^Qjq95UQ5!7I.eeAR(+Hdjpq!#fH -J6\:OADu+f4_,$Y6T8G(o/M9(X$rL$ac;Jk1^ohe%cdZ8QHhQWcY2Cl$UDX*MbX]p -Lc8`0lq\hh"/+XK-L>!XC)407cB&V*f/_9(4N65aEWAc#NQegJ%o4/T6[G4M??eAM -puLL4!9QX$>il%AZJ+1#n^MY.aTP#QoV_!\/(Ti&hPt -bRVG8^]:_F!3cd&=:(Fh#U"-l+E,EM[;qpYR%oX^;Po)u3X5hWq5'j9?6RJ%l/Wh` -&?qa;?pJ0$3TWAoja;1#X]5:BAsueY/DaNRrb^f3ETOoQk>2RnYRsG;HG7jED1H[a -@)N_O/ea[))PQ-j@Gmo3m4SM7UXud9W_+5G%NE61!TA28H5I0=:T9g]#@9X]^-h8D -7I;/G-Kn,-Let$C5)%C%KK1WHj]r1P%DQ:X+:3$J)UPsSMHU9l-7;@mA^Y[SRZtp3 -2.3f!lWU]l(HE.j[H)ODaa5/'Ng;*?GT.6d&EM3u&OH5!=Y%RZUJ_I\hNr6oE/cQ3 -Po\YM2]g"7ek&:k';:@)jS8Ok0bIeUEDOkJXA20ubJfq`$!C13Rr;cKI;b/@EWeN* -SS$&mZsP)a)W.V`rJV,g#Z$CM8'rN99SEri#_dCNhV4q6F5t6>Edli+LFN0MYPk*T -rT=Nd-o>*5c2TMTrCEZ'-Q!s.J[jKY3ZO1cE)F^;E<7)=L9T(8l3oe.6(h'UTZgsd -NlNBm)$Gsa-':cpP'L$(=X]V/jmq)Xc=Jl#c/dnegurB5T2+S`g'lDL2PO(4e=%sA -OZ/oZWYG;X2Q8U6:hoY?h,]q9Y#jr?)XWR$A?f9S(40&M>n7jk#7u\j1'\_h>&BUa -eZSXl^0g?])sqZ*0uDm=6P5&$?8*2U7H3ZQ^DJ]E7jIXLV!)M()Wr>T4N8a#NlMO5 -3@p1H&hqo&EE__C-Uf&KB(MHCNhfo3(?/g2S+>`!RXYN0>E$GWn/i&Ta6E3mI(p>1F=;N#*hc5Jo)$/* -'FOt-n/N(J38s(/*JiZnMC8X;E3'c]U@:u3%"U+P49Pbs*Y"7N-nJ74^j1XYJm@@^#geBZ(Pgu% -?lXopPf3bSX=MfX"^t5,bTO62L*;FRTZ9\8Pf5C9dpk6r/.1CHMBW=c,>oWhiV9&n -M;n231f`Rq@QW.N9kl92icT8b#U0X='SQQQ=;?O.AJ3):6!-qsK^@W],`*`D=u+fA -"fkjcFJ,?O=)9IQ'3G8u_+',1Wo[+5i[%$8e90]"*f$HKi;X%V,pb[16ETf4hd^g+ -=,d9KVC=a'lS-5bQpZhM,D]%LD2BH%OgK&AaCM#eHR)?g// -=r%:%"'VibThTtIlX7dj%;WQS]s)="(<`rKq^0^sD'7Ij%KiBn4:l::-qk9X1h]si -m\)Bi1AKV9W<(,2+K&E31sQR^uP\2[rbF"Jamb&c@A1XTVo -#>3\.>gG@MokrqWf5fZE8'N?nQVH+UrKehbp>!\kbd@(?:(N!t#78rTn?r.p>TW&>ua@T@hq@&fk.V"L,ehQ:9,D9H`'nWYi ->+p@mL&f./K*n^gbM=VV?qbB=BL[WsX=XU;Z5Fk7d0n>1.YQ`K'1,Z.@LPXM"F.cs -6Gf@O+c%qop&;_b<%&2Qc8n:Bf,e?o0a_^@AZcc6YJE'MKEd;G=p%3, -[fN5Y@0"].0`Z12(go=3c;B6G!19r&J7qO[O?aj"-t5MO3`O2,a8QQO[*tA=*jBZ7G`ViM=j7bI1`3<:5^6Y;Z5Lo,B)Lg`.=R>#2f%5Um-n' -5Pe5KBhO5W!,]8u!)*^81<;V50UPaaYR3_&JHn%j^JT=W7'%,SYa,@.=?@%%C_BSm7F[/?U>X"`ap9LS3b/tg -4RS19pPD1i=bh93'k*!m#]%Yo'>l0HJQfg'#9@lhOK/b#b*`buf$B+eE#ifG]=24o -ha^Ml#ibKk95S2RaWj],h371a[]%[%A`+(D1a*6)k2-Ct_'_Q[TMbu=f%R*ZA5@J? -.qb,="?\oZMf]P(9@Xct3PPJ_:[AegR&Q -'Vn+;O`_m;Pb&ZM10kOW&538>*t\p1%81\_,8;@I-$pqr8SV1%$d?.XM]P5&D$qLT -B,=[?Y^NUP=NcD604fJBQq<$:bLn?Mk"O0hF%V22=_BF#r7tfEklXfe_(!3abF:;B -D9nX=5A(]<@UPn]1+0Bik];0H%K5lRB!Kgs-g#N2p5@@SZV)7d;km*_R>5CL9POGU -W&25^dZYC4B_F4K*@?q))LG@s1YJaYHbEijs$#WUD6?Fl9HoE-80pEAXnEOHfS0AQ -!l1$=!@VRlJ9XA;?n*U[=:?'7\,hWKq>^cfC9:L%[;D''\-I6\*TGu_MfA_%_tZt1 -JM8:"i.d^%dS;JCE@I"1Y/=@Y#YLm#*>%kWF,Jhai0t.bikhBtA -ctnb$Fb']I64b6>;c3u_,f['n/8htEjHft17W=C#bmKC5;NTA/?sKuY$)*"=V&!6G,Y&iAt>gOF3iZZA2$Me/8C.=qO.V*>!i7#)kk;!!g=9 -!!DG6!!2muHr;^>+;f'UclOhC^_mdV^cVe9:):\H/dKZfe/j]X\,ci0W3m)<;V'd] -Rb/hfJP;h,.l459]*ge&q0IAkaI%cF(\iFhpdfljQ#8RsAJT9KuCR-&]_MF=R -!V-_P,#A>=0S3fE%;6Cp>+%Da6'_5m!LdDk).seCFZPVA!RS]ZRe_MV(pA0/\iTdC -8SaRk/#DK1_@.S&aStEIgaEN57*2i#nir-*;g-K!IR$4]/I6=)7JR(m+Yg(6N\&Q)/E)#YqTu>^ -8M)WNX['q/;Uu8nf9aVlUNeS]kVk/(3[JeYTkaQQE&",&,bZ0[_dLn%.F,:4edPsU -3FL=Wo$TQ\S3#*aas\tjlLU6jbW0.q0,%Kpk[u8YGh#q -\f`ZSr\*jC+R9'4=R70'n0FCTQIm=kCpelDS-'p-(76l"dLj%,2U#'$U?";DH&7+c -JH<(iYrIOf=GsFoJ]PF#%V$V9PCG-?lF6nH'(j\Z"P,=BeqhJh\+J>S\@PD6/hrUG -!OUJbGqCF3I0`I\18t8[d$BX[\.jVW'S(fQCDAUtN!OfiaMQ(U<9c7i0$]F&$6qEc -RYT2DlH\mt:;lZtPjF9+3J\n.#ft=W"QE3.pJ2e'\1-5VUJA0=ePEeD%a!KjP=V4F -qbR".cc`Q#6.UuslHdELcqOX>>l-?td$RDT(f93fXT_N$(Jo0V0-'c6h"XFH?3/M^ -#btd',nA`Y)/sp&&:6p_IB+qA;93te -.^'&<"U:3C"TUN5(cXI!+bBD)JaA02BXOpPf*I1`c00m5K\$;"Pl8j/:(RpE$fR^.LY0+:LXk^hs)IChh7dss&(i[,kZ/BUTsQKjl!![nfa'HkM7]0T\ul7Xea3.diS\iYi# -.Q,\2/gB9jY=k)mRc^';`e.]+3@V.AJE'4-\q[TgF=G(kJqWJ^HN3?k%ck -A,p"J4'1!n7f_12K1HUW5U$5C-D6gi8YKLig8)aYk,E(R -JH>BD/Pd/hAJP<\!=08<&]E:@o"LUK`k<&721eUL1*:8]Q;W^VS*EK`E4mdbJJ]0+ -RHf@A'S0ZL,)(FG'mA5XO"(h952!D/l;Be'dZtFZ)mBsDfFY&SmTBqi5.-bB@Kb^18gKS^WO7<2*=bY$efU\CV'+9IN"hr?b.-tt95CO/.=qr+i&-&A -[?98Z:_k`e_Pf/B,tK)EQlq`o+UCoqYq.4IPR@cVKM3&ijf!NK",J83 -6Dp%k0h$MbhaiesS6F3dcQJ0P2N<_so\$IGi)U.l:'tB@$K.K`@*-=,.D%'>5Y"GG.\`sn_Q>!WX%6&^=\5r8IVP@LaJh(*Ep8IY\UGQt\-D -#kQLnqT1#NcFouL.a=_,2M9"#8SBS*,a\VNR/q](('L*A)V?2O>8;HdeT,!6F,.>! -fMn%5,Ge%!A/O+kg9_FMQqXFsPU-c"Ku7tn0BA],U>I8Q/>HD9Jlu$'pmsfMRP15e -$'_a=3\3ororiE2#SQqtl)CkjM_E#\'XYLf])^%1XMb3A6)hm;g_MoU/HZ;oUei\I -98g^!0pi4qV.??eW[:_h7$N7BYZ_I\#_IlU1GNj.`LPZ1fS3aH*/IX/#W$pA?lV`* -C=:ncJ]-FO/n.,*NtU9+k6Qo'aGM+oKr,-6-tY+AaJT.\d_G#",t^H -MlrpZ+W;Q8^b;k9eth``Yj1KtofP.>SX=ck)]G -pR?@$n+j -BlH"LpB\(-q5Lq1*VVd?G>$>7"bq!j$#ooh5.1\c[fMC/Gju#dGJAQMIsuU]%KSHu -2AQio?4k5$'1\)MiDpXC1:22LU^&j\#;B6[OB2P"&;.A=!U]JIGB%g3+SbttGn5pd -OGug(aCe'rFTTb3XHMS,5iST(ij'ih^cZ)W/k,,oLt^@E'Ul.I1)J-(,XNdYM15&t&(/Aj%h<'UDkM^_0tI)1Sm;3+O-lTi7I7d<,lfi43FH -kiPGM'(Zg%Zt-U=96O$&L/%b]:BBTS+cO$uN4cA.KWllToSWaS*QVg/3_ANlR2:=@!OqNITDg4]]*JDdA2>bD9$!+Z+`\-!21[>\0GVh*!55#_#Q.ma(jZ0g -NECM^,.C5M''E[0d%i->N)@YaABrp063M&tn_]c,2D*],fkbD"o'QZjB -NQ3l\d-,L3*KGo-_;/@?:E33NPM+aj_.0`QCc6VdU4'nAKn=+q(lSXm;17)& -H5DLCfAZE+UerP.N2BMkLr<@F'o@2+#m>ccpNH=6:_XTYgUY(Z0-I44(34.hi<.o21nuN^k\k9K[@[E4B%%(((38IRo$2hMJ_Y -DSVW:gTQRW"7c1b%:$-UXX&P)a240J[aJ%2&ZncErg[&<[sA+6:d:.L[#^k -bVtOJ%(mr;#\L7jNu4$4329m427XphRO/>lqZ"i@$35I -_[/(,'*`t&BHP"jr>Wd3_DNC0&b7k'StH\\FT@1o]E=YF&Ss^bj8bM^6q[UNm=aF$ -YRH.Le?po%EpUUqbYn)T0[-jCbqfH0i&D?D_-gF^Y(;C/3eW&48e2$^pc&b9T[5S+ -bqhcp1XOVl%6fEN^e$M>P+(9!7!+tG9%#Q0.83XhbrJMIeC?i[Xl4m!.g,kY5sS(N -h%)j"'n'@ie[:rV6WE"M:_\U,K4@e4o8$Q`]3u/*5YtIGCLl*6?"mFD!6?s/g,=W9 -2U0IZ+&LGZ'&^=Tc%>9u\%t3!&)()JTkRY1BJjm8@*JHW;1WdAD;ND5*BSq@NRof- -QF.XT?M]4G -l$@MEVJ5lrWM\\`^,)nqqNdt>@CTVZ*B`\8np@(9g\F:K2(ig(I&iKqr$lNOH#Rf$f"GM)X"+hXM!cYsPT0'T9 -Y3HP7(d//`"=/XsQ4uZ1<=,@0.:EY3VmBj8^ -+nlE.n1(c+L?b=?=T:io4!s+8f7jou5TU&RYg8"oXF;pHH -Qug,l?4Ltf158'9('6Hb#fhH;)8fif=OU2(`p)?3P;I%V-s;YO*&>HBe/AE\lB);k -0UttJcO+nWMI<(lVc*@!R4BGE`:=o`p2gl,0NekuSlA/ZOXf/e2CN>4]+g?El=7%f -M\4#c#:Xd4,U'RCVU3'oW;/-jU#61G@1%angG7d9KF.pf+u=1_%;):e"tl^lKVKG# -O$I"[iKuDC!8MW^]0HWm(tkJ35ZE]97s2ea"r)=1%B#`h.+?ricRJB7JZSc"`Hlfo -g",>D=\U]9Yn'Zt:/n-&%A9S;UnRuW$5kfGZV,dNl! -]hD37MMImi9LF@,Q_EJ+%dBc@VPO9]_iSM+WT?.Y&/Sg^#E1/U0LcsE52%o1\$e"[) -+KV;i@#GbOQr5VMK]*&QJ9T/ph0c9M(+p/19oS.*$/mik+4-r!AR&c4deLNmeO\,]8)hNVP@<5jjPT#24?4R)k/I6oL -'8=7R#"5E9!Fn:nU`=H98!j?!6]_A066%k:GS:h.n.5i3c,+LEme-j\ONc,Djp"SCpt:lRhqp@#JgB^b^&%4X&[:K -:;AA9).47RjQE.dAmY[dM`g3i^6nLAcqCE>Eol4IG/6Q-c0B=5)mED/ZA+q!cMp]l -7EWBnlGcW8G:72H5RB4EqNGlio3DHAFb)(<2]mfu#_02QkS6Rp4Om -p1n,MEl]1%.VqeHV)#p'L^LpZ1-kgh"?V>M,UB.>73?-L3BOQ*Mb7esR>>`d`HcW( -BAAGGYAAR-](_siEdIgY7Sn+C5nIT?!)Q2oO:EmtGQeufQiR\0$]a!A$m4MK"-(,^ -"iU1H"Mop/"6\GKS=[LJ.W*c[8S'tUiEVr(HEn[W@gn7-mC(f"Hug?:V\]Hs]a,NN -XpUpG3OYB?-L;Ih%WGd#f')8)p_HC?d.i.bGgUq(Vfa!oo$pWqc@CBtkr>T;Pn-dX -*D`n^rl*L$-XlATN@jeCaLs's0*]A4'Oq-P@0Cho!Q,IfJ8rFf!$LVM!!I[gjFBEZ -#l,G_(iYFq)DXaC&f)[9$]4'u,(mBK%]Hlk"OL6`nOFYlgrn%85==Z5#Gq&]\tB-e -JlaA2;Q!@U%u2e28u3%J -FUW6--ntZ3Yj2kj&hW9+.3q%:c;$I+'bLsN&lC.lOY7>e1D8(m'+/W[5]W;cl7:7D -'TkBid3JuC;@6f40VD)JJDp\sh@BTQ%cI]ak7!Bkm%eYXc;1umZLX?_ObLKpS0,uYXF[d -kdh.L2JDlXLh+D4\BnqF;9-iVc(+"Y%)2+T-E,#gl7OP8k)X;NGH!9?W;of4oU'X>2"VfL'MHr"SG.LsiX`=N-L`65qc -=@k2&#gB:+C=")0b0:MMo%I-M^0&UPb/EQK/1`F$,`cXt]aOKfaJUcSF#"#ubnAT7 -^cDR\YQQ2S1+W!\+B5hrC9.Z_^J*#*dc+'a=En\+>35u>o#Wcp@+jd,gb"\"Af!@H -EnGGTPK#kq,(cPj6G?$s#fBb*6F82C9/gpY2m\o2NR$A/SN9R43]!6`NRZa)VIU3( -#Cp1e5h6&\e.Z4:'1%][To^39"rfkZ!$TqPEd9$#K.%*a%7!Gn$sEq!RKobA6o//P -l/IuN1n]^IUIsn7lE2N[3/20?NAM/1e/pRp68)7G"JjgMP70*:U6B9n6EOA:e34"H -(m?7h0;?m"#bjBNZ34(Ve<9o%df2cL\pCJtf#+]pZOJVh?@"G87TP,AO868\!ZeEoR:mnZpRElrn:O&d]KQmtaC%7`,ac=HX& -8G9ibrFgut.#dn4FW@&nM;r?.08(Y@@#GPS1lm_XWE-CcCIZ7D^Irt/E*NcB;#6#@ -_9KDUcaYm:]2gZ7ci@74UI#:o^^S$9=-(r/_[$T,:mV8Z%4JHJbqq3V=TTg`,sphO -Yp,E%FT5/1%LK^65aXf66ElaD.4ko -6#Tp38hjfWWsOBL\252,Pn+SL>n"g&g8\I?;DJIKpJ1r?&2?sYT6;?u,f#G?GK!jQO=+H7RqI5'lc#MTL1N2pF$ -C$9b!@raM44'0;"gJ2V7TP9d8L;`s787_[eU4#Ci!X.]H(VDeSR+%(@h ->78h7pMS0.FM/;L?A>mtMkMW> -a)guKkP'#3;@E_!b?=?4@Fhjk!-/E3(_?>eE4"]o:%FX+>YV*#f77=aF'Pt>b -_`$eq5eok>KbZ+n]/>;ia:C83f\[+KG>LJt=13.6QkD/SDo#HO#tTV[J2!%S%l -A(Z9ffR%mU)2])p/NBAY(p>lZ63j/k#@QNo+Q*sL,SZrT!+E#MJ-6jCiW(.^4m[<< -=PQFj^.CUe!hi@!!(IFFQ3^l'#WCe!kX_NCJgub[F98s?!ki*aCdGreg8\^M[YoZ= -,7^cI;2n@(+?[fgd`mKMbmdH!AHGuPoE3`Bm=NP8#qgGs@t$F>K(opHkFFr8%>2$3 -Q'kpD\SmbDEL,+$8>&[JlId%j!Y(1R'd+t@$Q9h?C`1't!Ur:AuB]]Y>Z!Z6P-jkZWf/k -V`#r4Rq#orS]\OT@_iR:9t"7^[X1fYgM=8'8go$3Y*PqNRr>a)K5#5Y-4\p/idnVj -laTlCBFqg*e-W;iW=0P`Ztc4r)h>#Jb_e>R]7Qi##qHc*JIL]p0UG/W^Yqu_&6<*KUNF"'06 -i*+T-Xh?h!_OM*?!q\*dq28X)C`n<9.ng9MAD$.2<76b5\4.7F"0P]">Qf*V5tooa$%=g-B\(j9HMD+(]aN:/ -dum%YM/BFUTSU41O9s,7T8Z,II5B+R5]qc -E$ki/Xs12;ec^NPI6`]T;u+rfIYSN2NB<^:$5ElHkE-^eO]3!VLr_&!?O&_OgPA&U -Y&"9."Z&RK9k=3d3D,'l?oD`HGG=J^,'/s$h*n.LK]#N,ULma7_]X_\l"@u]SAjC\ -&m3*e>ctA6/Ls5eF5T0ai#WcpIN.8L]9g'Wk#,RoS5p(!8drN/"9A'+i&22&PS>V^ -(&V_\_0Q.@HfYMY!b#HX5su?91_N(O"5s"b1[W.HW!P^m#o;,1q9d_6KA4+offk.m -Z[O>14UDH[fs&n5)=J9mo20WKpF))q2'no925%?.pc8rjbVe8qFdgN(lilD1N1a!<*#9+kKgDDoQu"Aq&Vrj6nQ;#Z.2Rt5A!)T> -DEf/'8E:e].jIZ_9#4;k%:DP=+Ppuq*"BqHU"-MkE4B*=[`_sZE&G9&BQ -6':2K0mrM?W-U-343/WV -5nN$NK*:.h#8h'_&o4%G+kD-n#Q-([_U--k!$=_@!dbtr&`dU+7X7Z7Pb[/#4cDZ\ -^aFhFBQb3t.?cS&"T^SK*WmP32'5@$r.?1aE\rIq8?tpM,m-Eb2@]h^kW^*kTeK.T -"^tM8`QH"N4:d)8<6$=ZZTi8lU@"S'Y4)@,7%J/bUgaAre'_"A^I;Dh/r -,LJ;pI4*'d!)$K!272Yn:XeD*^Tc[A=;D'K9QCjO5t`]Zf1AUu>6P$M8eM7-#X_LB -[9Zj,c;UQjAQP2jGApcq%DQmfWI"E3#9k"<+GjQ(PU;6==HXp9!\fKU#W2=$SL3[i -a+.FI%EX30@?bFFN+"-O7>#,JA-`r?=;5>:J18Qg!!hR>N^Hq@14Pq3!W7Cs#OX?r -)aH]p:BKVD>VHE!J9W(=!Q)8`?s2$o^9#/Fn@45[fQ+IbMi-f4B?T^dL1e\CE#rA; -g2s`WqHaQ,CHBJDPIOXA;A3)sQpXdSdJ,RIK=.@EcR)A6lPtT:*p4Ms%'*?cZ=.;+ -&mI.dX"3Rr;`.qdF;R`_KMr.@384%,+'*DEG9t=NI((WM;H&RQ=mS3JE5SmW^F@TQ -I5`t2oY!areTJQ$?e0B7QHLe3c'G`#L?b^\(l':8?69KI=I:dq_YEC-NeAfA64r// -*)(tfa.c7QA0BeBNT0G&/dam@THaW7-4h/O.Coeg@,8lTY'lpDg\?3sQehLe5H8,* -hqCED]O0Ai!\#Gh!C-nV;pA0m"st$$&0PStJllN7!Tj[mGUO;YW)X+S$mCh]HIL(& -^+sI19pIu#$"18C$h0rG6EnE:6JO5#TcKYU2ZhsmMhPGF#V:[kYT(K!D@E5#1'OV4 -'EWMT?JuWu)Y4mR6!D6/`Ma`ZTRd2se2n*N;CmQI//;R>6Y^#s,D>h7(rM;FKjfQX -"RpjNJb)Y[@*)f.ZPp$:_$>K!jtFWVZ5b+YHB80]5mJhF)< -k;NeEH&><)]$37K3G.X@Ie0FX0Ia%aB#/tfdq3@$l0)7tW&1+;`cY%5f0

  • W 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%0DTE9DAJ%EgL|v^?U}DoV-q}VtCmKN0JZV2 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%0AW($tRu{t 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 z zuXp9DwYI&AD%g%8zR6U%8>yakrro<&A2)YT4iz^xo6kMnilNWior>HnvaOYxVTYOV z8ZDjPt?GX`S1$gtc5(E0Ja6j?jiyfXb65A2J(sA4dP9?L>ukHmR$K7ywruJ+TRL~T zZ}7NOK3iAjbp9l2IVmxrk>bZlu&{nZeX6q64`2LTW?L-xu0`j{diQ?&FuMEr;MEQt z-J879yW_OnkUxJ-zaJlb!I<>oeCU6#-Mm_?{#?#o?>$bVHw%z-ZZ5+{d24Z3PRmr| zxzOx9V`qGKT_W6t#&6i(e4Z}XpmMuz_v|{ehW=!>bz?xD_U`zNRj*tuJLR85s$SGC z4txEhmGI6?UR{J1_+;tm%F<1KdF9vCEN50uwmvfUb_`u)XXyCI`R3~O;FhDw4+>wO zUdQnC&BY*E--g`LY`kC-->?SCe_DHPZo9VL*?ilnaW`G)KU#Kb4pKH-yUK3ov~Ld% zan3)kaXWMKjhOn{S#yCn{Chx_++5l)XYWl`dwJe*XAb}PGx7pXAG)fh9$z;}9Sn!o9Mqx@lAC`5T0OOtn4K4VVHb2@BP zm1z(9jfO?ctsZ<#Z}vGqoC;ZDLr#{RP_GqOX3JD+iWq2XY8si2a*VDQ*>7Zg3#4Wb zFDnRBf(^L!62~G+N+UD~_fky`16E<37X(4IpTT6`b55*#KpQrrG;Q-VPpqV=df=Fj zf|NFXlP?A!oank&I*~46v;|IfKP{i?ER)(}WLZ&Zz%v@aGVN9Y+YDR;o!FlI76IxK=H}!;F2Vbk$r%#hl(u$jG=6| z&LE(kjam7xwq~WH$bJ8t+XD=cOR9)qn)uhvk5C1LftDsZ1WdM%D7GFWQ~55R!HzJ1 zgW3VXkQz@ukRR3_3X)56tO63#ePT=>rh$&ImGDxbUWN%mSkf#4L&qP$;LA;(lveIL zZpL_cn%4AAnye1gN=yfG0H|#UV2MJGF4btrT}@MG#=x{cK0gl04p@)>H9UrjdU%#V zHX3wMxIx>nQN*h+U2tei4)B4*Ut-1!;U2GsVUHkk{ocb3^u8>lp`+A0qZ7TjP|mj~dPb@aLQs%} z#Q6eFkv!OPH1UoBTt4ma9-`So7zFJGDyPk;2O!jd9=QSv*0mu8@abfPxDy1+B#I(S zpqa%P1htYp03_aWKkfd4swO)R{XQum(!8l49&4i@d)r_P7KP{=wJm9bA3$6^ct~lz z)FEv=MA~pZkrz8%W66Nb@M*zDZ&HSeyEk=<1e29MExiOLmk6U!XB5cQ_pFk9JTaX% z%`cL)HJJOU`!+jLIidK_lSzp+UiL6ai;|*IWKPIVK(j48^eo2rb5se!i3;~p#y}t-NDzn}02Rnpvjq=f zs1jlwv6x_C#7h+1t2uZB!xDQiWeZvwIS_{P$d5qB}7_YWFCBaCWQ~Q=t5AREWOq7%SiwqiQXzb-7X8 zZZ~Op6(du?T9+F~`qtdD{1aY&jz)M(fmx#2z%WSw;Ks_PTWAi6kn9BD0b5`*ebj-B z(qY7+lw$N|an1B*6U~bPCe4X9R&zoG^V+yl{M-bl6cDrKWO6KLJ#hrwO(jFL!Hh|N z53=}Vqud{&{%}&9U|sAf4X%O5!#a;=+^EsvVusKehHx9G_Av*zw$0ij0bwE!5iE~L zy6a)-9Wv&D7NCQYF0>bO@-&WF&s8bxQ8n%ZpwIa$p{#^E4y(76hLspCrSmb#8JI;j zn3T=**?|qh0*mDc!WIlNP!nLfP4^7{z7~!4XVD-&H@G-8#)-W*95kNNrj47pTSLR+2sHbr%@;^ z$zjET55UZ^9wDX*M@}w0rwhQTt8|U}(Wzn!9hps>&z9BvX6;>G-s&2ayg~8!Y*pRt z+(lY!w$}cBrega1_1(Pw`MU7+ra4VL-2K0LKk-gRXf0p>fZuOUtXC2iYH78LK-+O{#th3R>4N(qP8BGU7V>iYdKYgLqCzR9L(ffS|i2wa%Y zTh65GyzPkYsXA}*?McU3_Kv*Y!Qc0&G4Jr3`}iR8$w*idf31880I?p(5lMwgB&TK;@|_`8xYTf!iOK5(+O< z*tyls(~`Tpx34)^6rRqV_mhU^r@iSrThkAnmUBG#9-7G=mu1Vk9*Y8x58+C{8o?R? zR^=~Btwk)=A~P#7FFk)(lrkBdpEqulE5Wmp&#f#|y1z$SnZ(0>I{;?NBWN44O5Q=g zvyKHThBgc5J85bZ^3;r~=EFyNpnA za($*U-JGR}pR8X5M-!d?Jf0l(B+397~r#{7#pTBV!S!L-F4zcw=Fp5LOqS;>n z4dW1|0KvD%3CLm82SXE)s3r_C!U!6Og|LkSlc^&iq1PXoOPtk($wi0}_31!hg2Oob zN7?7t(ug&)d(| znI?idehcbJvDK$dLN*EQ6FGCR;~sO|_84mIel4>6SZO*n&~R*wD3$?W!<~ekp(tXA z+JW8#*^!Hdk%mXC9lF{cnbGd2gn<&%nc%vNX# zLt?lJ)*DI_bV(!J+1mTu%N2C?c_1kvj9A1oO`yjp8xjXFVQ35UFMnKQ;HB*N0(th0 zw&Ui8w+Q)M{$ttPVUHf)@^SGwcyY6>x%lIDpX*xF`Thg;zdN10QbSf+VgLYk1pol9 z|E|;FcW|(E{muBb=x?K28$hkk3cv`S9p)t|5;ET>d4RP}%n2R57}5b?7( zF)Wbko3u37+~;cQJBYHsE|xVKg!Hc0+M!dwZ9jr5*}iYNU$66hzk_${i<9_2$LG1X zU*f*Ay4pQ%&hDq<=lC~XuV3rOlboCDza5Vcy*<5-U+amSv9mqC&xebVoTKRIv%Ws= zpR#ndH+HY@k-b`3zQ2RVcb&FAyh98@fj{XX*P)G-otIgrbh)}(IlUj}7Zt}}nT@7& zvpu*v+@CL325n2@qjWhwh5En8W^CM@Ztg!{>j<{7gSTw^hu@{KzQ40Qqq;f0SUw&f zsr&1Xll#k)Oxs6a$9LQBv8IFTxxMV3_Uu`_*gft)i;?)VxjdgIR&VcL58%9Jz0=ma zN4l?>T)!U=~grco=*4Qhwq*~ zBbmNk-m}bqz3hG5f37|Y_m3ZMX?=Y>>`y+uJbxY@4!$l`Q*Y<4EfO@oHp#;rWOHHh z@p&=vxZd5~j^4%t$whl6Q{h_@MRlzPQ%7U}z1zau@@3@m;M($jy4wl7?k^1G_;6zL zd8-}7$LH#DWzGt>@R(cwx2<(x(oZ-MIo_M&uSZu`+2UTWU9uO)k&U)9y_~-ym7Xu( zm8HA6u)Dm!wT+Rc8cTNvR|ln!sdq2MC2!TYkB9HFr>U}Z-`n7lo!gM^r-iXD{vF;A z7nhsxPm{yPw>%y+L#_Dge(xlhJ>Tbrp_|=@*K7DWUz^q6Rljk}yC1Ic25-Cg{WF}d zA;&+ZnPv93;{*v@9}Bv%zA^fEzvgePSsVWh|AmY(qF4@6qOAuwp*SbYhiq{5A%w>* z!w4a36XIBx83R+NgvH_Zl7B6iUYT}PwQDam)*PY)sSi`yS)w^=;TS&f$UAni0&5Pl zP(tZ1F==23m!nN(=N0Ez?WqK_ThtEa9>Z^3ks52F_4n%Y;gnTljMEmdN;rbnLgW?@ zo}4q?ZYJC_s07bNg+((gr8kR4Tib%=6*Eg{irmHYH3D-|8cLQo;w;t&xWaMd;WI*U zCeaMB94azIR@R(G$I8y7vz@$F#UVv&*6!c>@nvdGMZIG2jX5Urakrro@o+XS;xjF_ zedHu8shfRO)1`LyAWuiw;meB&!%--UrIA;OMwNThbMYp9vII|4&vFPv%ryT2N?^qD z!;*xd(}h>YUvryWxN9uVjakGM>2*n%4hVOH*kR(F(2z&$qdh#r>LgqR6NC=>tRr&p zM7Cp;i%AC%#YN5DNrF0Lh(k{lvsmq66>xzc9t&r*IE z(z#E#rsfaa6a>^7$dDhJOr&uRj@aNFH6GJQFIBoShT-Miv=&LAVlyhk2+7W0DXZ|( z=&3VOwF+->HPqF@lq4_yddM^IyS=3h_ayVTMsye_PLZTF3yu3uLRUc-qKGTOhw)x5 zAqgy0pDes{*CueH4H4wr8N*sah)KLSQsOSEZKu63)A;|>0%b65zZV_m7}KczwIL?dEVccg4pABVYD3ljh>nt$mAMc5qtCWw zGabnaxyL$`Cb3!b@Y87W#*>Zp)sXDy-lCCJ=n-;!2$7or`3^#=PQnVGA|dDV$w*1v zn3*(rySCY;$du$?&B=gsBqGz6upi z?9D7E>tO9m6l0p^C~+&P4wDS|X6*$_kK7>5RRC>Pa~%(!)p3+J9!6N;*W@=E53q$X z;^Cu`%FLfsNZawpMN&JeFluQ5j0CA}Hag;NskJ7x4@O@@m`vFtXqBhBP5Y4!e5OpW zNS3iIhaDiWChzRw z()EWJa^=$*N_9@t&!Ud0y+92Tuyw3m(Qy6-c@3|fW# z$y9SZ{VbM~zs1PX%BBB;P=E^^%LMCqf8S|5h-rzyR0Ml<&)u=$@jH}svf8Tb5tLAqJjH#>BDo{bI z7)d}+u~VpO(up~i6KKf@KNCC&vTNu>5MbN_0D9475c$qRVBeNVg)$C5TimM&keA@g z6JH*@{!z6E+%xtgz1F;AN9+ZLgE zTLq4te@1rvNg;wH=Cl7=o(b>0_-#D|pTr&+X~nGkozuQ2{VJK@{JXA4yxKAYbVzZV zRXNTqn;j$-5DH#dD`iX{eCpoxDVae&V$4;ef`_GvOSjh#ACZby)y>Ad$60$S-8qIl>qW&0~aqYwb&(tq$fQo zcq97JOM1BtQ?aaYf>iDLSVL*Bjb!h*z*$I%5HFu3Cr!O_?rzPbK^|*ZF)}YPYEGej zhQfuaiRN1h9RPwGysw2Kk~%QGVl2*zCRC}C>US3Sk`}Z?>H?N)77$7P$2pzhL?P8( zDy6pExDwh@2=22CQs(=IXd>cPM4KRKfBQ{x=7uJRIu_6SCxqOuV4)%)leMNMWmiel zNK9r?t%HBwk*ZR)N)?pQA$d7ror-~?B@URbv0x;Cze&EIUOHSpzaSt?Ay6(V2Gxdt znoAr7puU5*5GVprUaXCMg`P+uF)-0QKyM*w3adbh%Q02IGDz3M=PX0fl8aj?pA+#d zF1&^-X9?%I6hI~G?o}gphVwhR>AG?jA+gG=uMmwzJY}*Bl8LP9Vu(Vi#E^f8Dl>o0 zxpF95;3-IqqG9f%fS~BfoD^2c?>XQBYjy7y zR*FQ$`qI^RcgIN{vxkeP``x+S1XFlzOF|96 zmV-1W0E>X8ykNTs>gqG5}#QBZT-!NF?`PHiiYzXu36b6R*(8 zagpR=1nxScVEGSRWkAAW9r5@}Ls?hqpD>V6``qWb^a+|t@k`(U6hGi;v0^br???9o zYU9*OT8TM|r^SUi40KE-tx(j?$rvUI#Ex;weamA+>;gkvGBd7Hn6bD;HG6w4=?skd zsET;TgftjXbA$lt2mlE;ia=zlLY9rUvSHv` ztznP^g{;rYoW7)tPdMvcBJ_Wirnx!M+GDr<%Cw}cq3MrA^H3WvU+TvE~Le)*1(|FEEgaIVtm+ z{P!$Y{t_&eW6q-?u`(I{8$Nr(Bw2o1)my>)UZ?()afvr|owI6oHM1sW(XyR=ra_zaHzlApC0EtoZIhq;!Au^TPllEjvr7=}xV3>j$( zmCt8zPpql<{(V6fNd=M#Cg9*mNkb1{G`A#MC)$vBijHA24wF)%&&_j5qJ5ws*+$_m zv=N$*pyw#`4L(=u%&vf4DKlWLKyFZulv~9IHb*H@!7@%g$U0#Om15+F%cPG^TK90gWv0Qcl1-o{o&>2@Y@LPiqF;4*%b@K zTmDvBfsyY?zTe*-MZ`5uMUOMjLJ!r%IK0RwkTi=>y?-K1q30ike#4&kZyPZC`~v5& zjNi4sI6zLN;W!e$kHu~R4T#`GR%rAyC`&LU!g3x(&J)v|Z$=sh!NCH2zMvWhyQ|iC zPAG3_qon&4>N8|Sxgw{t_ZH2=K472x*Nstro2&Zuq_~!iR26_B%^=N^2vzfl8B(oR zj2KHw)Oci!rdK5T3U0CbV}Sx8nV=O0`Y&{j_(6J(NYY~iF!JT!U)IY-Oub5-SG3>; zf{aj91Z&MeQjQfz=e)@eu$WON5)XO@L`6oaJ~YD#wOne3#0uC+A{v4Kvs1%7ub%b# zr@meJ5Q-;prGSe13IS-{Lg--LthfU))X`j1BU+8GS0~gPv!YcUQi21>D*PN??6X!e zAw*}44Th2a(Xwv~jjdT410dF@EtziqWk&p|Tf{@5n1rdqmr2Uw;`o_yF{!J*{)kE$ z@j|Kyfh^<@k?G&#spKHXp2b3+BRRbH|U6<29 z1P9p=@<1MV6dpwoW@-uVI?V1=k-+bfiD2JMynL=rgDRipoPsmjc#oGQ!$a*TmB}Z@sLAQha3iLQWnff8SiO-dnWKvC%d>5l?f*r7vbzSy}$&vw2I~yXtiS?HYc=mzp?4!wh z^v5x&L<A4sS8(|ye&GR$cD&zd_(bPssm5o#moLCv+m zKzz{-5GTilus|~-WHCl8s9BB65pI$`#>7)NYqj}OE^63`x%q_^N^szdDnDC;mG4xG#IUaQQMEga4-!eHcz1j~-+s zf7PUw*zIns3^ktC`-@fBw!Dm zU|K{#=t#3}S^S6^godOwYY9b&5b-ax$Tb4T>kU|WUScvW7zKjn*>ZeZb!QuFXPdU| zn-6~kZ@Wmu;5<#Cw!*%LR`)>|N&1@9LI+8a#DXOR(Vw%?L|A@{ofH?5Ccj($C~FNf z)&-;$BP9J>lNrqeCC??kFP2yvIYPLI;!{t1MWS>juJLd=5r_IZsfD0hc{wEgafpeK z-~`$^mLAg^_XCJX1Na$zN(LfoG77qUOf;i(s{q>#2Qw9Ut#(2c_ZtILUX;qFNL02P z?Rp|InZ=o(wc)_7<2B)MF4D(8W^`xNVxIx0U8oKlNVPsSJ>*pJB5u@%y*uGiOR?z! zCA48^u9U0YN8(89N|+MUqWMOV`l~y8LgJ)F%ZI^A@ECL|#xygmX7@^7xM==j43kiR zs?55qCn$EwU1;o@4)FmbFWU`VHdp=s4vRz}NVvfY%Bk&_d++1-hqL(H9&3Of&NEd9?L+WB0d8E>3M24+TnSRRYpd;fBNp=$ zQ5c;;oVn;z3>g(=L_(H*M+Nb5_vI?KelC1`1|ZT8MPZfbYB3@JOkws{ybSEQU9%6X z)xQ~gFN?1!xr6a!4o;KL+U&kpKUS<_T9#Y%h(C*xiPh4g7tnl5spmY)q8wBY`{sPlZ${@k~4XW z4#Mro(pO3@lR>~4w~wFAmcMbAu8Xi*tfDB0Xb)3du)UHh<^7)Y`D~H9K7z?RN#pm< zOXK%Tl663s?E2oW5}$?DE#bk8LiFn7gNXR zmSV9ox4b>|#4k1>2+g?BwtvlzcJlK5wqdc_pTVMWJe5PVMwQh?azlAezS~qy6wZ^= zxn3ruY`Pf}OYcFd`yj znaV)fD|1o`(bp;WB;CpOZCUdL72st@&2m48ua7(ChE|t;Gq-YE3W5lJS~6S=vdS?Q z$kwVde`amfFh+G}i6;vstfxLoKAS@iMRT{iUOpqqYaKh4W8FzEG&Jc{gbb+~1zdSo zecID0C(b!)7~K?G)Yp^03~l^rKs|LTY==+h1IH8XC@l~UevHG>Hq`H+0+j620-9-0 z^+V)J(Bg}mY559?u7|!?MrD)khRQ0e>`Q?f0(Oy}kp~aGIJB(Cr+JFVdOA`+0C!Ts z0DV*Ps!*1*%E6`SXd~(|aSy+UjX9^t1OW59^Fat43gT)gDpAkFsU}oI`w7|?d<&F@ zzCaD%(K4NpRPB8eq0vOwgYJziB)MOlUbuh14;)qH*0N2PAoB8GD0KB`qenD%0tALb z)Sv0**B7h{Zlqa*J8TfOw{S`p*;@?Awm`oEITOEeKq?h;0$@le9)XNzXH$YCJol*Z zITw1piXb*`B8pGUUuSzgl6;8|8xvQy4>Uvx5{_MQYEYC4%>n0Lsw2PxX9XJrj?|)oDP*(3tlhn>v|yrZo|V8nxEeKNr3mZcaTyQJK;9r1$jK4<}`QpwH1A6!0AhL)3{yf#s00 zV&G)1ju}Ov1+T$Hk1#UMIp#n;OvMC;Sj+kdMdrQ;I@4uy`yJ*{fLR#wQ)%R36Sc44 z^97ViE?=dDj;WfTAd*6@qj@GtHn3jY;2hkcch_B_A zg9<6hNtgSyAUUcsWZXlBG||S8_A!;BOamEpj7S}$2l+6R!c051#$5&MYK?ket1Z|*n=La#0X>L>`IGjt%DOrPqnyU`s z!3gaz3j88Quy}bf1pu3aj2JvB81K)YtBB8wiz1sPtqL#(CE4cK4nmP~D0w*`Rp!k< zl?O9oA}WsqY0_%X>msn!ir@Bjo3Yg#r0FtumxvdzU7SA9i9OZ5H@w+)wT7eVq)wnU zIIky%9MPqr=~jM1HU`AVW?3_#FfA^$zkI+<6j~TW?6$c@KtLI0d^(g&cpVNn3QlCw zt_?)zGXd%S8^z?+Gb!qX^6wDE7hwO7^O6hpJkq?KHTt)u6KL)TQq?J z+p>3;m0r!Fl~TxI<}LM<&)y#~J{g*Q`R2Gd3=#xvm2MO&Yd%Q*86B`{IWfeuudUD9 zbYc%edt-6^+OtIHRF|5Mm3Zlz?8JD1AX%J3s^oE6y;F3(PrwvBT(m3+`wQ-cSb1SV zw@c;(zm3Rx#cp>A>9_-PbqguI@jk>DaiiFz;9{IC3TXXSObrWyY73qWyOOGZJmO-- z-aS}Y)23Y29sx&p>`rcAv+BiRaP|6O0nl(39MDu$M6RHn;>%&?*XzPng0Wa3076T! zvMI9j9#A-*C3ReEvN9eF19RvHwM$zln_?Nl43{$>y`b)q-FXaf>d3gPtcZw1DH=JP z+wFa9nu0QovHqCOxiY(0;(anvK&|7C!Jl@BZQkoSk)1$n$N>sDg zHa5*6Lp(o5Abl4+XkJX85g#EfgHpDvxZ>IFR3sH5#KkZi#~XzmTK7mi*&42^@ef5i zCvqr|)GDP4NkHQ)&r&~U}GIoXwfsW@aWQ%68A_OBWh~V<+1#mI2BJpphBcbfY&yu|m8SYL+0RLqY zaY;`A4iHX@7$ei{aV^QT&rd1XO*LALQ;BG-QY&3V#*H&oFTbKn%g|s#GJ##CP zRUQzc!vLYf3>}f$XxM!XxoPaBy?dp(d#7mbMrV6zd05$Z}nmgQl*!e+isbefa0)`>Nx^f}B|!`sHO;`pPNVHNBQN|#Te?GJ6e8!s*3GqN#y_UMpe zfcnamD|V08vGvc)3@EPMu4s=I@2Tp>3b!%~W-&-nH^YPGI%Fb8H4guv zIaH&#Q3BMEc-uonERK$nW(3WHzdrN!HWLuem#o0yZfrkt#%iZ)Hh0^q~HE3HVkE2Vgwnk)8F7n}pf$;CwucJFn8T<=3} zi|<-U{h*!IAP#*Jm$_)(2kbn}$bQSl;Z|_#WkG_vcK#&U>HE`R{q{7$vgF#jQ@n-i z-|2a_=7N8JwTeo@Ic@`SXmfaB^yVLe>GM|BcDc~QAOr1>#xt+1y`fRf*pJJiQoN0> zP)$?cUJ*(4jMyi1S$PBOC7g`4j-;fjkh+CcI2W)3x_-CvT_(EZ>JYf8a@X6i`WGb_ zuhCz_*tt_BgF%Y8M3%ME2 z#z=1}?K!UE*aRaW5RJW##2c@H7c8M`X-jT=Eu)?@>Ez)12pKca^8kQ^IzF)l*I8kf z>^H<~>5O(ybfWs2rNM7#lm)?5qS&z!+WC50a@XCd9Yc`_|LMffZ`(EUuebhF{H66< zb`m&$Z!7HxZ0(ic50G_aV$@zkfIPAVk=rb3?@_3q34+DiBQ}%{DqNNs!C!>49OlV@ z8c-<&qKAi&^4>1}i;A_XaA?uu_Pc9X1{=(HMRVroVB}Y9qoU&0FD3N?98drBm?N(F zbm~%mofI0YF2SJJkR~0R$>h5%ohFA2OEkvJ&yR^5&FSv6zV3K6e*|$myL#O5>2T`y z&EUUatx_u9cqu7sYns!B zvW2ABLsvDR0$jNYpC!m^s_T7&Y&8u^V?q_a3SBoY@t%)XDyp-|7^XoFZBE> zK+CHDBMy%W28ND}F8WyXb1dI2EH->dkA(b=elddOPyJBv=Mxhm3p-ar$lO6DjaO@} zX8Mo&z}c9~|32ewhtK05!-2eC`+_mMoiD;b2X4ENy({O_Xg4n^tYDp3^v+JDU;u%Z zeotBrzhu$Psei<>8xMMfvk!ych(O1kcH0_A_y(oyGi3y9{~0=u9@uBEB|2oqzj;Vs zvt^w!>*FD#AVbQ`v3xeUU3?F(U!0bP8xmJ*nKfv{k07*A0P$b5AwlB0M9O2Y6r3_Q=Pj)^UwSA`cQxU^#Vnb| zv5}xhWo3BWT>HOUbx~0h{7?$fo+@?FNHh7%nBcyTh4ydhLOi|=CXb(L4@_c;r_PXzH-{(Hf#?I#Yc&4Ib;dfC5 zgKk{6t)w0Mqse+`YMGI&Zd^F~&Auqz>3M!JU07Us{O5qsaP>`6j5os(b%@z}bKT?D zX(xGAa`DMT*z@RejEHShS+dXESnRdr^0I}H2kLwRR4XfmR_FW3v8&0`qe7?5oaWjy zki=Q`(!+9$i*9;GVSBE@d&By&LLG}^>17_BqZsp@1Ybsc16-4^XCMZ*>bW&uX`RW| z3$J>+8!ljQpT2_YSbozw;F_Tc{^5MuO(mw5|Fi2{yYa8LZ1%gMuIt(ResBe@8BHa4 z+_nn11!o0Ic7KL7?zNz*;Z`Q$^YsQ^#mpO5Wk;*_cU|l5^tBYyv@f>bxH7D^5vlYf z^auN&(ti_f+uE{J^M(>kHyhIJQ@x-4w8>?2Ik+%P4dN(sPnfIpE@GCYkZ7XhfHeU1FA3s`M zmTm|b%)G{~h>Y@s1@?=}6^{StGY?Cc)`IB{b7goEcK$JQe=^}&Y)zl}5`MpbKzZg= z@_vUb%;N>WVGHzokdif3+A(&Qc~`r<4nU|KFJcX+OHzE2BddiIpBN?(iVPT|@Mf8y5HDdsv#s&ZngQiA zEGC{J8Qv`*?S^uU!-MG`8dXmlCdscLlo8koqnJmK`Wd!IN&3}b=T&4xqI6Xkw?FUF zOe$#oL;+&ase^nKpC+GWHZF(V7q5f1pge34bb^eZIaD+dmj>Y&jL0}lE>RbrP|)Yj zmdRz%D4LU39Hx+OOcf5CR$xg674HVppA>|)6L#-f@Bfdrx6{M_Ec7n}7iYlwY`%joUB`=go5*(f%!f7FP=GiePU$Oy~hB zgf*InRIF$urBJJsEKsk-vFw)7_f_WR48N@FGjM&s3NU+A>uMU(I$^e{Qi=Wg^mj$; z`xEz{rM1=h^>Em?*L>^o$M%1hlSQNOXzG9E#OI$Um;b-B^-2HpKhhkc00j&LpAt-18BE?H+_mJ! zJhzFlf{MoMGMgQeCX`Kc8LOHl`@P&&H9_qw7T_wYOb^R6&PdS>(^T99R(^-{-Rqew z)b-v2m+tY1FmM^mr1IE1fxMDbqn1F&$8UA~VFxH&dr;`1eBK*YOz9and9&U-J&8Ad zZJD^dB|dng9H_E#LM91m;v;hj6%90cNp$(ec9UrM8sRiAW&(mK>${TK)2fImT?=d? z#}%8iAKTi7e3yJ(2Uc;*l5Omza+$F=_R&qQA(j<=$rR^2Q+5sN&2oXa^ssMIn9CDZ z9j`VN`8E8b<`swM1F;o?P-UonnD|c=*Ja2%VBMIcdY?Zs{xgD`kmC&H8}nHEY#;of zQyd~_j9U^VJcPs(q#4~joG9l}n5$zfbxv z2)z-7drXmEFc)qyw7!rZs1F|F5JL)BT3|aK$XH;A&V?fwNPXcEG_OOvB32#14G}(= zxE2eZ-aW#cyg0DL2r|6jPQ2ZGDpDNibMni@PIqF@>4Qz#P4Xlwg>knGzl2n#={Ieh$j;Ae*Hh%J&iQWXZ{yR)@+18JmZDnl5Kcc30Kmk*c=UgnCH#*R zrS+Z6{*N35{zs4Uwwd$@KC`uK$HmtofSG&=H{m7cBP(PQ`PUs488`9qrxB*gGf9q=P8yuUo6lM&A4@(KLOrCWX=jHr=svUr_-7&|9;P9)sjcxTC)4k^(Wwr`>ys6!t{ek*v9KE|L@zdbrZ zcJUI#X0Wo-E7Wn>DVVONoPF^*MZsTD% zs~538shUFjL5W&8VjWd|m=P}B>!6~qDDTLE#_8MkuY?veSGyYYpw#1a?9x?BoJ?t> zCB>)W-&W!#3dc2fb5qZaCI{|8o0i$q#3O2{0TZNM{42TL`dWCrI+VLc#b23G|HVkV zCs5jw-I2uD!;`{KsnEkktTL1*Zjse#?ba#e(9?u zhqFo-YWRJz3ru@k8RT_YyiS~h>dLTYsC+|V`?|M7tD8$`Cft4Vb#YndcKct>D@J_G ztlXa>3HT`ziT|_n>X(VFiKBtFyo;@ov&)b8*3R}n%0y|yc3lw3=Y&?gOHgy*2t+Hhh__zg2~r z-f0TpfK*B+DMQo^)0o<^T4J&X`6(e`mxqKkB?UYAFz`rv{<35eRY!43%$C2BbVCr0 zcWfa!)YTCr)?}mf^<1dSa6}?}EIB?S_2Qt0Hm6Rz9z5wSP;wRu0VX4l+a0dWNYQ}G zUK(~CJ@(lx8nb75+dA@^-)VOgittrJCCOyF#QRR>ZFM4?H6wQQ?bL$ve z35M)L!7+k+#!V15DS4JVa_ST!7%W37l%Jkv4R?%vMhP@Y{Tx2I>R7|Rm^?T2U1uwn zg!!!%s0wc?A6pbjT;>%|)WCR=?!~~HyFF%)KW!?|0WX#$ZBm~J8*zXuE84*Yq5l=Q zC-fj67_KrjV6`P)1%WC_4c#Ql=Z$1|J3>9On@XiFn9(C}?Z`q>38LKHfMuj8Pv3D$ z#ia#?oWU|Dy0*PW>-T4RMmr;!1sejqiEfG$t7zQf)v%RFW@1NrCF7;pgEvcTm=N9~ z;hfQh|9foqmgir^z8P_stl&OtXU+__ z?m2S}__y?4n%JeVHSj$rgZP-+8s-~73y4_9L1cqKp8)BRYVOtjg3vNb5 zL9u+*(L2B+Lbd1{K7;@_%NKk${hz+*ztt8zdmh{9VBK1!q33t}Ray(a{9`?Myr>lr zaIQ^Lic>>*c%X%<&leIE5rM;dqlX<(y_l{4QUvM8IJl-bKtQC@KtR9#&x+tb^ydF@ zQpnl=)Pl2}pneCCk|YhRj#Dk#ZI>(GR{oD&i1dJ|15d#nFSGMYwh~Er1fgp=mvYqGRV%XjHK?^B6T{)~cQi;Bek#;dc+t`mN#Q)J`+T%E>`|>*Mhs!4tmZ@_${%WgLtwOzd?Q5{4x% zJlT8H|0Ns299S8#Qyn-DORa2tviD}`0(@RyPTkFoO)T9$yMM;$E|z-aNq#L;a(`O- z1b@Wc4q{LD_`XcgP=b;8DX zdz?-ra#lt~?Rh`NO&mB?y;Ty16|%-Z-JjATeH@=&*?aQib@S`(wLVdg`Fi~3vD$S}UI;deLZ#%}MX_v-v!?{4i+?7!`QH~us6 z+va_BB=~B0xLliF@bG)F=W^!&@VLLb`)v!jM>Yz;^U8g5{2TdN7||Ml(H@9W70AkV zf+u=R!_()yS{Q+mi8%00x9G|#kur^vMLDd_~$MerP%$wV6)s?9veZIqL6a(P*A*?7oLz4NpW zJq+McOwOiMS!<@PaHqDp?n~1|Rw)-#NVY^(DW_0K7A3FcRY;b)P~HnyF6K$7Q06P2 zH(D|s^HJ=%7)neC6{A&Rz!QXk7$L+=4u*@`he*Z!nrN)G2)E7h9ynb<5|2@`pPtqk zK0Vn5y^fmLz53dnKpNp19BuELsyyQk6tDVi2VYpKY5!=+uTj_YduXA92>%R8M^ z_e5Ct{)u?0*ed1(wd5x(Z$!!6s*;Ewe#$5ou)#uYrY79t<=&R|;+mtlfsi`ewKXzu z{YZXj%io4le~(3yBC_q6Z=0;xYPmX2Z|jo)%K>jUwd4dgK`VaS<-od-Wi@Ad9Jw=$ z91VmTsn>BBiX_BW_S_@eg~(31vfBy>&Z2-EhO{Qil_ot6l0QT$jkYS-Siakb-aZ-+|F{bc{1(so z7;8r^#03P;#q@JTT+r>>RTdy$P6y$)O`*$Vd&t*P>4n>eVGFjwh6M9MF^8c^woN!N z32$#z%;a8OPj=4u_S;^4Ik$FQVQk0i9Dg)GhGn)?M1ZP0AX9q7=(9eu3wsAGAcS5v z<-}VDta5h}v^7d*BIO~hCX%1@bF?eq2Ko$qM{R3F#%_QS2;vc?_Ypt_*drMb(l&!= zf}pf%=+l82r8_VPjgf*wYC^Ife^{oM6G*;gZptMqb60Jg-H+mM;?LZYJFYXqcrB)^SZy*ulJIx z&sghPMRBP<<~z}+e=4lVl z3!g85L+~a~v`|mnU)djGNcgiaR;&)N$UVXWv}!tib5ZsNa0w#anLvI~Eb|%U&Ra(H zzl#Oxz7^8v5@|3>HXgwk?O#0Vmuv{IK+VTjb|`c*|8azd8~h7dz(9u70YRV6SBJL2 z;&IQVY*6Lo0P}|?QWD2zmSrD0oCSj`x&c?cZ`D2v_4;l<0XI_;xP;nhsVQXr=i<8p zL;>86fE7jG_xXx%L}mB|QbH;ufubAKtdB=>ISB%SM5g4_SF|QkqiZkS1oB$?XTQC# z2519Akvx;~Y;t*PB{!1cCj?ld&YszFSZu=ZZ(!RoRk$x2CQ-S9wR)d;1hRWuBzhWq zBrX6+#5n{IAZM-J4;Uk=G^r0^B++ude%+^O5xkFKbSIH>o#nCeh8xCXY(#g_zr1UY z5P-eO=4!Gpt{o*mKtUWV4XK>t0`IRaoD$ZxST{b&{!RFIL<^mMC*M3R;a%7t#Exq) zj}?oi57s5R#lPc3-{W`5tO0D{T1)V3AWv$RM(rV-6UtlEg)+o8rU&C6bROZN;%OkO zqTlYgDp4XWtW*T{5uV{{2LA3sTe~fuALqv!6-)AQiTSJcDXFt9w`o2FNnZ>*W{2jQlkTS->e)y#Sv=NnJ#7d(51HS$Q ztr@@}_c3gSImCCKI%Eq|aiYkMV@WUV)`^yFG~;5Y0A3i*+&uHzy7z4>fC-W~B;Zjm zrHP?g%JgOZH@SjA-5J2-X2`%K)xs6bRu#Td=E2(YMb=X9_a&2q1%a9!97-U8`_~8H ze{;zq^-(=^FjeavQX9hL%u%}emf(uaHP<6>2xI%R!XhP76%((1%0H`9F98Dsan#(B zFKwq;l!-y$%lE)upG)iEKx#-2enbazGsmM3SK(;&LUBHlzYdp94i3?pjlL5Yogk33Vk>xpwfmXA9jQi-Y z{)tf#vnd@8MQn7wxe30L=xh;OMY^H^*7~V&bl$YWz%iC_8D%-G5xpgWE@7IDgFWv% z@Fa!~q*@)*nyZ=(Grzt-rgyk_T!KJ*jfcS{KbW^X&2Q55d2fLyP^~`U?PR5YmcP}R zVwXvN6iVbyxfC5Gu;jH=QaybW2}gv;#$I*|LU~>&yOm)1P#9-J*V^{G5v1XR#2BzV zL^%(;K)OjcYFxzE>DWsL)b8o7K>aCRN{#a-yJCOzI^_*z1b~b1cf_h44`XQ!96!qg zR>2el{-Sv2Gt1j$g;2?4^v$6aUPO?lIT6P~2VI-P%We~O{jL?&0*#UMewJDlBnXTf zUcQDep=OiiwYOJaI&2I0`^ii0!efuLEu{?GTnHqbZ(~hcPd?s85#+mo8zx0UfdfDVOvB z8fpJv7;QY1hgR9XBrpk{2UpiNT>(o3Kw96M6_hFX##z0zxyD)ba%y{x=ywyPr5sSDbSEs5S&st9e9|t%ngEr>LNgN!d5J$8{>bZm9o4>x;mfkd{NntxkF= zqf=C%D2+!L;lYAsscHt-F0Y=JfX{wq6r;o^rSR1$O;L&7->@b zWC$s!$Z1ZK`b!p^_&~WPq_P}uxvU;5*S@qQQ2x2xeJDqT4=nGnXjf-dnI^u;eL}~0 zEZ|}d;U-$yy!%G2fV{{-UxP`it#}huU$kMS0t3|mAYZ~KT+TM^i-5LoJZDxC%M2n? z4j!NaQYsyn>R>SMi?Su-!dO`+c*UOEI_SG#yk|@MPbi=p<6l2E^wi zAl0XG>YSr^Wp%t{RMomvssKiGjEPn&1RJG9pJ?3&o1)a)OPS`-?1+t477m%1|3g;<1pd1(OJ`lBZYQuv`IlMMMMK0Jbs?NKb}9g-{YDnr@7U2@1L~ zUMNAdEYF&nE~)8EH!_zZAFwV2_X%S(V%PxpoK9D{PsQA7p9ZmsCiK_bM4&uUysIgs zMp|kYz9q};=&{sA;J9N4b2R0vJfZr6TuV!bV8LFeLuOo0UeBlnN8?rvoxg5WswVJ9 z9$O<-qswvFoj~jGw3R@MXxOBw6P>~tw{7V%r%}xi%jbtsm1lSSTjhR+ycUP$g#7Pq z@v(k%ajL$~YjtEp#BZk|8C7&yO--!E6pTIl1w3=`mV(@kCao#m3Af9QTE^{RnY-ob z?xn@{R9psqzr8**^ecdO#GrD9Qg6sCceAsK;nB5dWzvXwvg0)g?UA*EekdtgWzxsb zyNYpnTh*wl%3`PRh;BaoLv6*RrSot1kAZ^WF`;jaHE(Bk3!2o|s*DCO$TDD|0#n7B zG`D(`g&5ys2 zq*T;(Fj8XV#}$p)v@SAi^*w26=@3P|!z6<8cS+`;;xA6I)6@Bp?|dqqxn~mmGmZ%I zvDX09GGdMRlaK}^w`Nu_5uJ{}`#3zSji9BL@`+6V6h9~_4r(kMRlr$JM=a75s~_R0 zeN~V;ljh9tQwMb5BpNt_GmTye%ur!27I>V>je#4~Cx(i>AQQHfv`Tj*m2d3o9H0^E zMlB0AO&H;fX`^EGp!*sjc&KRMpAA3-e2OK4_T>p%SZFJ{5E}|EzK2vSHI!hF!wD*8Ise$FW!ImbA?-5BZSKx-l@wDm<`1Z)W*iR z#f%H9eXWt_L_ta5L{!CaS`&sskFuZCj}zI#?`8H;D7Amapks)#B_oC1#w!1ml~V`X z%kWjWCKk1`AYPg1NmGxi(3tp7l&Ce%MN4f;M_`-$j^Gv^vw?f&74m<1$eLLxl14--6uu`nU#N-8(hhM zc+x%amBV>KBcC>fToKMb4f4o(xVM!EQ>R8>Uqnwol=_0*D(j#az0r3?Rf9*>^ z*`Pv6OxyKM5XFgI2+)V5o**B)Pv>4xZSWpYrD| zVGfluDS1d3ZfHs(JiV9pHsxmjla4tv-B|HqRFwTkXQ_)gSa+HFCdnl&(3p`rF`y_H zTWOT2^^Y_8x~SGq4++hhXqk3J^?6CMu|vkXAwp87;-*xhoLS!8#WOhFf-LMa{Bg(**Ph(eCLoDzSX3xZ*(KU(%y$X76v#^K=)s;2=em;#6G8QaAbN%l6Xb46DaEQ3 z9Ag;Am^`Y4P!2suVt-PY6nnf@=^I~^blz<^R3v2<5pW!=Sh$9|n<-6@&JV-huCJ;&3RGa(2Z3Z_f)mh{Qbr6qQL^ZSNcYlr z-wBkWC4A4@e^enx_OB@3GqrR7teE9QniE)-%n5H%w?q?VvwaePx)rpu=~HiuM+5Xw zCk%~REJ7+t=m;A zJWZxMX7#UzjtarUd~s;)`@~kNn|(2Lrt-w3VSqnbI=>e%yg&-J#yFZQ>3N+PGjWhh zzsNu(7A||_2wHM-;et3YNHnvLb_A_7ejIA$Iu9iWTID#;pd3yFSWIL)8V)%q`3tQO z^-GT0vVl_V$gpm%OE-ZRq#%8J75LxMGE+qgH0rloC3K}ja^!5?&wCss%ky(WwD2N6 z`F{jp(J7azcgk|_o@&spn@RdxC1ALm+;rAeQJSjG@A{7`SvFGvX?;Gg?KQR;@dN9`z!t9 z!Df2xI$I@2m-77%t%ms1v>=n|r%-lF)0hm6!j^h*FsTmk*!~s?MiRV~D~`%9*7hXc zJ;xJ-wtw-A;=z%{<&|U@zV*WZaA{DIJ18(?ZCoD_qRDF%EHT$4Q0k+~J6t+5-~|~y z`kkxFejR4LY8O5D7h2xWo?7uRa%SMS%y->QSRRaLNb(x#rLcb}`L50qz=dRf91kUSL>I96C&I`sPk*c6zx z!jR7_m#nG{@`_zVm?c1;D+m1YrQ_Dcywzikns2oQgn|4G?k+k!M-)z7f!Ht0TE;WW zilGwNfZpdG4Br&vhvKQ=uI17;YB9Y_{tplCae?H*i*-g$t=!_X3601gxmg`w_A!F~ z666vJsz`kYI8ycT92Zf1x>GaS%VJH>iXOl3K1L=BuQzsJI*1m8mJAozNmd*v_vQ7d zW-TxqqA-etw(fuYQ-6w@Fo!#Sxf>#@ki$zPg&Efi!~u)LWKB=#y8A-T-1CvK9`xj8 z6i~ze`gqPI^aN6Wwb6Qhw!pve`&S4`$MaB&9Bq9eo$!yzbiRI3O;rK#@GPeH>PJF{ zd2v99ftjkOQ?>j~OHwP#_=d@?`rQWbbgF0f_H*|2c5diN!QmK350@%C8&*?;x$^$r z^`9u0(iJ-KueR1H&NoQifx5)b)Kuwi;6BEwLz`3fYhY;$kGWl39UlZq#LQ7Z=sT~v zl+BNb5UUoe5;hVog9B9R`pp43>-tzIhJ(U+wO?4r8JVOz9p&vyM}#60qdusQ)+4e2 zR@Gn0i`4YiCU4-Bn6soVF`vaLYJa&SS%VVk-}+LGPkMO6WvKDvSb5Ir%pE-mA-y4q zrQYZj?0J0Xm%f;Zo8?|K@jVaKIiqbUqSLFk7}NdwI)jcya&lD>PyV~68Y2YHQP`u5 z`{u@`Tpg7Bo5kN`tTOAf0%Hg!VwmQuPyb5Hm$K+XL}Pv~*c&`EAkg)R3RT(_DY_l@ zjOO}@4rzMq|JoG#x!VYz0tTJH8&SoEt~I{{(t z_s5992WR_hYW>&$9%uYvt$<3+HGj;+{-1~bXZatTl%;_?JqrWpPr~8PiqX!++1|yO zQAza|qp6*(vlFATi8`Z_g{KJ%{zJb*g!z=!v8JPv;XyV{|PB$VDTRe^Od%h9o|Ut=e6G4Ehc&Af?+oy^z%Skktl`C zyi5y4eW1S3Pd_A7nuZL0t#kFe=OpX=&npwMHwq15rj$L;k5W2%{*U)#0s)A>p^>+6F^Q zTIJK*(!0yc-oK~!hR)%MiI>va*-1H!ElVE{7gvYv_R^9MbiG$k-^Zs~ze;A`_Se}@ z=l9=kz7AVHZJI{$jg{9^Yn?8wUq2|HE^e;d-5sxIpPh{h4{8_J2WwA=8Ri7Xq?*J)hkJsZlH23t4|7E8vQmx^=cO!Jea|7k?R- zYPMo_Vu!i4G?aM}SDI=S^YDIo{(gV?fwtBV(+xO#mg~9h(a5>X zrDGc>d@k)S#8i3-JG#5Ow_o4kJBy9&yeb^X{bb4(sc{OV7knfHQkX@d9KhH0x)@ZA)|6PSGv|e0a4e70X1HVs$yzmy7!|Fya5cc^Kuc7SSoL96Q&U!GYG@2 z`St2s><2K4tG4-!fD0L zdjju`BBVuaVr}z9P=wNG{Y7D`(xZFQZFu7gb(+KVD}r)^(u?2=7EGwrvJ0@>ds<}5 z%7N6ym5wdkX;Amr;=$*M7oubH_EAM#l>Wnh#K})bW=WiGU>fk-t31{{`1e=;rC|kZ z%!Hw2i+aHl16XDgZP#$ZQ{Rfj2oQd;c z*a+S~L_$x@L64SA=oWr-J_KSzGZlKUzOn;I!YNHh(CRWo-9Jxlf^JuKFIL8$phAB6RCfaP! z9U8Mcm#TaR)10TA!>nk=x`{2$k%_CF8(G%7yUfhNuuF{T5V3HFJ1~6srupmrV6))snab$b>#Wao1)x3@z4)AKRDC!;-1Tmymsf(5p?8G#OY-BFs%* zrm}iiHykHx%gqLM_OCT(JF^x&Jj9)?bjqFew4}Txy2E(Xy|_a^e>9uJ-e`w`N^>$2 z1*jWRW^sB{ltr0**M8pW1DHppl6~eNT2VBdQ(i;^sKc~ErdO_j*J)K&4gXbcPIWWh z6VhOO5h0YNz%@%$uIUr#$kYr5Bd*N{B&yihvkl{jM37Yo%|Gg`zx-enMmgF(tij^Go_B>5Ihz zl}94G-G*@gIaE|Oy?|$OVS$-Yh%UG!C@YiW**hhXtjge~UPda!eYX>Ze<#Q0PlHW9%+Cf`Aj?HZ+ z?R#jjWyaD_nN{q(>YxniqeqbzX#-<4Mw!|R<+P@GXME}mfh4Jx=S)A%dRvDK&^ zk{5xoEy#)&+18|ksTuu9!OjdUA!@o1(a!m1NcR$RV2TCC$g6v#r)Z;8ZIDeKpgJ(5 z*Aj%@a5b%eKl}q-RpTM`5;ie0{~|@Q4ImwUCn1Z2{)=%(^q%l%e?1OhLacw<m(`1pO~Z+X<0-iuJUuOulcp~dcooI$(Xmi#I@?-0dQTvSLs`kGpysUTTt_I44`)_2fkr^9OEaDt5KWAz_jsZj2Be zWU3*>`d@%C;8@WRc*MW1;2^W!B|sn~;N+Rb%NRX{U*iM|LgmO2ft3xQNy~pbTHq?c}S>AUU2#wKzBSVcilCX_td=WFh@_A!0XJtLxX1^8MS>pCeN3 z0zw}#kO8RWNl=IAf&>DVgTB9j({`=k%EP6fk{N$l;viWO_=xmBA`M_UJ@d0b{CvrDz`rs>T>!Z`tCwN7nQf*+eo_IcIQ=YfdCBg7YR|whAg+!S!6?8 zhE3xmgI>T_&Bybr`N_~TCEp<&DKZ!R?ama4R1FhKz*L>{v5Xqsp#;4)a+Epbq$5%7 z53O7T69`T9uSPVS`q3&MGF21syPh7L0*qL-+;{&f11Y|mrked&{SIdsQc-%QYSx79 zPh%VUKGQaYq36tpEba2gYaL{}*V<2*RW)31gTB+FX@FXA+<^LNohMd$`$EY>an&yA z-%1P4Uo3Kj^RiZLSUQs>zP} zSz4$t>SIcA^0j`smIRN&`vP*5c46TYaS!as*tY0uq9r^P-BF_fGeD=3OjTfCB`AXx#0gveMA8v66%~;?2&9 zzD0;wQQ_XiL%d4za{&Cs%fJR({2w5_!MOT$8XNZ@4$l`t#$KifoE_kC(U$ts~C0Pz{-zFddeqdyPawehG?i+f_|O%Nzsp zH&Drc8cj56v2<6{(hlZ+pD)n}rW;9J@OK|cND6lJ7!gbHjP2GTuF+obLhTFmjlEMq zX+QQ`lOXM1BCym){rlZCGaB$3B4m}rq!(aWpl)K5UzXIFM^nFh#@apyEMDI39A5|7 zOUXjyTon?6+{q)=;UB&75A`*nQ709sD4gkG=7NB94W~O}=|+jROvrER01@0G(V~oD z_1Re{RSK{z1l~{doJjaVdtAjSaV8k@0c7x{Ad(=tXHZ7uo`SS!*v2TYva{xBwrxy9 z%u|2hoQ>rnkr5V}7-UuEsQ2%efo+zo1OW*}nBLP!Tf*eC?S_!=%G}6Qa@}wetq3ZN zu808=IAth;5EN5z#dQYcPOgI%IFJf+>TP&&ViPKP)Lu0dzld!Xsll1qBh?LR6dmd<6cIDj=dlNsiF@|EfTCZPMxEYlSBe!&ZvcG-d#fQa9Qy3}h@5taNE6<6ArCj=EY7;zS%bcn48 z=>?v~DUKq{R9wG)ToZ*p#Z|<u& z6lK<#MM_r6Mjm1l6+uJggIAEAZK1E_aV9IEi4zMhTRxy=PsUbg4!|l@wyi)?i2x^- z@)QrJc@GS?^Bk_v-B>}IfdW6KYey5D7_}fOVJT-jGb%uq3vZhMG5Unr6 zt4PoUNk&M)Kte<#Ss`h-S>qS8ytP!tQ&F+0^49bgf$T5FSVE@2&MBx2KS!w1^@yB1 zfyF%Bv5G#_;>El8(Fd*=NY^&>^=7%()!SWa8R_j`S}(%zpiW239#G`PIbkS^nUijk z=z;&T%nDz>N2N{q3f%eQ;SWw>W;^LAp&;JDu| zmU7W_qPd^qx!_zXxPVB`|E8)&DW#nLOV_Iwx3d zfQMN-znm~5aD^kVg7t;snG)0Dl3E)$Wke*2!d7PoS{i9g4Gf?tv1!O;dE_(3;2)Xf zCyD+gt1lWpdtm7yI6#N!A`p-B4~;kwsC*nft*HUe3z2n8&K%*_%u8#kNGo9Tjm&zZ zwP8wHer}JgYI#pDMS*#xf&iafLh(z=rY$k^@n6ZpK;Y~WxDzy-rR_1Jbnvo66nVv?cnoLyn6q$k)VdOmC zUr_{KZCzB;-*?`}L?IhtPa$@Pk5Nt6Q=y&cWGe0&@>oP#yy64-Tcv7v6+6lb$_qEw$mr>rir zeQs!K1~-YA+ardGLsG01En81otA^U&%Q7>em+llHHab^eU}}t+)ZiT{5RR@Wo{zDH z?VaJb{QS9$U1_~N*$^12VhD+Or3PRtl^`FdFdzseu+VedD(tz5j0jfCNc*YYs3<9D zP=vWOoKvP3J$joyQD_Xj(6^%~=Lr$aX08x}9@5Rg85Ix01uSAgEGBgStvv_nVi}j7 z%p5K(H^tuOamc*w8S=d&zk;7|cb17#=%-bWR**F5*vQeO13h1jJ{<;9FT8Tb3Hsb+ zVXgEAYzeFTb&cF;V2$0azE}O0DeXW+A&SB`w$>E(UJqX@sz9!_Sy<<&w5c4~8bwia z`2J$(;p%Gk@eT5`-pjrM{q|UvSpY^Al1`a?ELCEXR!uhIRR%nJJP;l3Aic+s( zT95fO?H0coWXBiaS^_kH`rd1^Cq+cd8uAiEe2iT*SSm%9R5s9`o~(}U#s=0%W^P{V zTPiFUQL}>sH^su^)$c(fK#0XV-xbOHia?;K%a&T4`>oJ`6C>6^K=P{=jEPKEU29w_ z--5s+r`+MzH-G2)>t`m~yAg7GlR?K-Y$ltG&86`DKEGf>HQdGRpQoF5CdMuC zH5%>yG{D?B4uhH>H?8$5( zaa2#_(yLkz@aEs7KXdkYS>`WG8v2{=a&L$~OO)C zY)K>;9dXOO)(ko)E3pVEH~78ikLKrQS16?H^UuvGY%AOL#QZ$AXNyl)Hg~U$&D7|u zjK-+)R(ufFy=bsw!2c95;d(@b%fX^IaA6o^tx-&)WJA4_w8v6t&BcmX6ZAc5sG)kn z1X(}`$#hvVrmsF83u7%(>13-Br>o-Iq*X(G%AGcYyOb<#Q4w_%;eJR#c@wMxsd`4L ziGna`s4z^)Mz}0ZcRqD{yT?ni?LTZa;q8%^U*1ybBx9pB5Wh%nDyzJuuBj<>Xt{vh z#ucAgV6_BRWmQ|n5f5y_i?Y#GGNCA)0f05$CA}5pVG=;rTH@Cd?}-k#QN=d2V@>Ht zRfbw=BECHmN{~oburaYf6NKU<2{Is15Ib%@!9d?)%CO$sF3ulR9$Gl5K;b$D|udsZ>@gNH2Vok7YPr^;*uJj*aOU>fz|h z7R0l770ffcjD-26!*>a{V=h<_mi){~!@;1k&hOTsu`$1CQd{nV}@$QuL$K|rN^TAKUHdN-D32JV1Zdkbi zQ&$+#rBpa{+x%7g$Jtw`9$xjq+8XtyO+13L{LiqR#0A~ldv?@`wTMNt`ar3q9sw2V zne>tzv!~fxB3Z!>_!VkVvIQFjwSO&{)!72&gR@ABa+nxgM%AQ{i7cH((Xie$N$dv8 zH<5I>a*FSI{GCMGi=_9Xl}dWiOdwj1sQ>pa)X$b03}=P_hw4j-wKl3B#~Fl~$$8q8 z?grYaYBxQOziABQ8E#MDc}34__$A4hqCqafzyT~fKguE_*NyZ_t5_N6=FVHFNyBc+ zOxz!WJ<XH#uGGT1`k3tBtBuVE!627l)*Z z$KIDm6pZbmdYBZ?SfS(mk2;L1p&+)Jl3bed!K|UVI@F9r8-FIR%`m$A@A*g>Uf7kX zEx-KNn&rE#(HHCdLbtXa(fk7Cj}UkUhW~|=6n{AFdEp8;msb0q43|u+eMbhW_x!!n zc-)A%qp_hm{@1ArQ>^W@*PEs0FUzUZ!<`m{B8%(Q=XA8hogz7{ih6QIHToChqyu=i z3$%$m|2SL82|Ab;(_K3mlX*@43adA&PDOE5M;Z0fk_Tl}nEN$NX#Uy_M$Rd=g(;UL z9t)iS_!Vr6zg-DQL@Mo4or;D>mEZ4ICxrEkeuKGgn5DI?Z*gc<`z)3nASX&tV7aHmS^6ihs zkLc0*NAxK0e}VeHnW$o=IoS;+G@lza?W5wlkRtyk;#mUW->r4?QZoL;$}+Z|iMlE4 z=~uI=3tv7f7QFh_a*YWb)7C@43&iYYzQbHYu$N z%uW^1ae169A$qg2eirTu(P2NW!7$v#(4^qPJW#LLT^nM%@2WZVN*oMBctwpe_y#EK z(Q?r~mC$7Hg!pnXm4tZgzX_LJYv#15Y$R@4$n4G9m{7V3cXWQ!UK~g*LmfC@>+dy;@H-Q_SJa|LGK>2CQYRnLQ4fvv9XvY zH+C-?OJeY2C2thZuAWYgs>>{__l(+@B}Dnj?j8n%F-j510=VK5xbAS1H@H68I%M}a zaN-ILaP-KSa75hLE{7}tIQLbEbGHcmBLg{zqvdzvZ52(G0Wk@`(abVmQ3f$79GjU< zXeOyjqbn1|=wX6|`3h3B(Ui+DjW=7_tsRz6lbVQVtskycEcz)%>z39zl$k6$miQb7 zAU@}quEZ=B0c0;%^gn@Y%Y1nyE*q$?KmwW!5;5s2o<1;F0w0}I)Itmx$~=$B%AgCA zLaCA{oJvM3YR1b26jX=l=6PnOv%gZf@~WuFA{rX4q9m4nz}QAEkvK8G1qw62VtU(x!3e)NW%< zWW#i8Yo|(~cY1Z@WkSovL{$;a^c{tcp}84P)95%2<1*O~-)9&$;Cg=h#KP*F(#{7H~I z^u7~3gQ!b61MjPu=cSR7s-1vya_O(T5p?e9xt3SaUUIWYZ|6$&P)U6oYWWIn#g`!a zUId;jw&ICCVap<%cK{Gh^D>No7&!89%bofFGKUU~xzZMl#XrYhjnm*LjR4)n?*IPy z;>ODHBn7ZrCvDkDO#=%$nX+|SpJtk^aT3);LMS(nrM#*1h`L@}*m!2ox!keSu1G|3 zXn16*X>Y(FG3sQg_-3wHTy6WLYPJ$LxY^IbRCslCpCT|TE!QGEXI#r><*Wr3b=pxL z9FoZznoSDeH|zRc4qY9|ZvM*chyC>FYrc9C99+Az2jKMLjw)$-!P!uax|qU zsEa^SDo&$v1VyqKy4@`y!-WtJR#t|^%GV7|hWkYs#D_K{9|$DhG-dM|;XhmOJ@;ZWl{j7Tn1JzO@+FM zDO%8lv$R6Qj|8BIho%7G3P*zVwr2=oB?7_-S1pZpF<>JaM}qP;|J9OtIomtgr?HtU zGwcP!rj!Rp#nez9daZs{0n7j&#UxB2B?$gkw%RmvbGI{^8xx8Yg>*U)6N(`rU^Ejc z!L?o&!Wn=|NATP5<@{D;MKS*xtO^0xWgq|k2_83#vA|Js7c}9hiJ7i~TtpuZ+j~_? z^1VaDa?UfR|H&m($Osyv5k)!&BpV0f1l55(?SAxEV#gmKc#B3fBsiF4+b}_Tx-2+V z*w_vVLJ~Vv^_A-BW6!=oiuhhAdsnb307D~OT^RHqnYO;a zN?eR|o!HC8#4{Pg5uKR);a=nQ`v0I7nFuB!+K8X?{_>T{bBtu2o7ChnZp9?XE8-rP~abuhF6LYe4 z=&CCv;D*8uW?Rt195#y2HrZy(XtD9$T4a$Is-y+lbVJ_LZAPjeGu(#cPG+Bk{ld?_c}Na%mftJ{;mLW` zv^awo3_{)Qmz-BA_7pb_f1im{y}|nZ()q98qb$zOeY6FGRb8_H0UHtO^&!A}^wl?a zU+K*kDb+Bix0^~)s?XQx)cNJo1flRh8^4590m84+8_%zf{~R&;&mo?&gM~(AULYXn zKp-Ho|BG`+*ucrc=zn^r{Y>+0WotF!kNnBrd82hb4Z-=qE4bL^djLzw<1obu#xW<5 zOta@Af+@<&1Hu9NrO5Sfr@JS)+X0!IAIFOVuSHlt+vlQYe0*HnUsjcqo@j&0kvZ98ci+jf&3+uE^h?cn4$&egd-W2`@5u8TG1eCPVS z&*M*&`}}!wzkQOu^|?1Mxb+hJ(fzhF`6SrYe)oKc{dJ0Y*_}M&1vlz%dA>7lZF;`l z1J8!1_4q#zr`|c`d%Zs%a^>@T{5~FD??^ZdbJ&eDAUclT1h zVwdXAiPHC{X@=HWcfBsZm($5Rq7RR+(VVw4b4EQuFz6&4yVv{i^j=)Q2mC%?%Z{I~ zlWUjP?e+e45Uu=S!t@F&pF-e z?dJ7(RGaVnd3gT@JUL7EfBWb>lGpcnKffFM;zx;M<#SYdP?3 zVXdCe)A_^Me5Lv4Mfg!|)8W>~!Tr6r+}T-a@1jYs_iO3=xO!>nR*zT7^k$dIn!neB zj>^Z^3%(w3+JD^NFS6<%xlil&dOp0h3U<8&*riKZ-CX$#r+B~a-Zyr}%Rdo)p5LE< zhM$P^Uw-v=^yU-!HRt=eKFt<(>R&!x@eA<#xV)b4r00KmSOwpdYJ0dq@3)+#{vDqO zN9v{Kf3xiF&!@L~jgYdAovB~X-GzIGr}KQ7BJK5tiuC+H&(Dsw_&&8Ny>Bj1SH zULOy7`Me)QqIrBj&lidEd(G_it)qJHTzkAfhL7wAHM^b)i+#~Uy6$ErV1N5MeeAU6 zZ!A;QZoa)0wr;$Q{&r^ZkIWQ&+1*J8AGtque(c={`uq5t_4b&aogJB-#eYU0JH1{J z)wjA|<`90~UYb9>8NE8^eSF+c&o8>9;(g}U2po>5+i!v&%+Elu?j&m`{UC`?mlwsk z_*bQehorR16t)((2glQSnn~kH+noEGc3Izf*f-y(`l|McSAbxt>FO@{-R13a6iW9b zr8Q-)JVz-H;JT_TRa$IM_MOTn1#&Hu(YK0^e|#RY@PsOMAzp_=kwRk zRZx}8V(=c`2~_vKo%WYL5#|zZeFD?5Mbd+3q(04NJqXpEWz>n{#k~1SY?m%6CZ~*b zcU^70_}NN)^BN?V9w8#7_1-&KaF=EjOkj>mWXta<>VDwTtv;%D9S>6u)=cl>2zC{xZs|VtiFjJddf_T_4FfYa4aF^)8nZvR*fTHzDQ(;I1w$RpIH%yhaQy^R(i= zP!fu=>dNT+O{~#QyWU>6jaGaMg|=G52tlajSL;p_vI4U8V)-A2TuWt3IL2t)X=Q0G zv@Pw(U!0V02AdrlVcs34ypx&;f4lFh zT=YxN+1ZF-8O%Ub&52TI>RzIYcc_A*Icj9cu|XXJI_Q2Dr5gw$rsEbI%!vQ{cKD%H zY)NB~J#>1ZZ}$8)a2RI6Oc8d`r?VhLHie%wt=)BGvLa^-UER@Z^ll2AGfxQ(s$n)5YJG+i!Kb#NK~N+VAB)Jw@J?+2b!-!rZuldStFvAC{rq;DCWIC-2m z9Q5A~U^%q}SL&i}F!XHW!AvU;u5hAfr40|O`O|9?lH=-j%5;v4l$TsmGD-lBq)8bu zya(N|wXX5fUl=QO#4>PXmh*<-;oZLQxLB0Cu@H!}pG>O7H$ri>cvhAjq@I#fBs?hP z`4f+<&+W&5N1j*5-UJhr&?Sm^;cMx0cZ>OaIGM_&rc7FBZbL{12g{RmE$$}W$f;97 znoX?lJ;J&J#(gD zp_ueNRxzRGl|5)StBTV0y5vZgij$yHyJMd{*Ps1?s|RphGSK!jS{<}f}@Pq&cnk*R*{ zP3zZHe1}RB)X=)71D*d-<1+5F|#k_94fxIrWP>_A3zm0D8{ z6Aq*56*ct4^4Ec2v^>5t9;<)<;ThL%$4|9EBzx+bnKVzeEd2`YAW_YZkM61T^twNT zY}(`_jo`UD>&QY%gY#ZesB!G2LUH;&qw!KtfF;4pTNq2HRXOz?910H^P((5>%QoTL zV3b0q)h=pB0#NXaX<&WJ+Kb|*#LbFAp;=PqhTYUOBo4VF`9Qj0sUSNKoUyIN8a&Y&K^1|fd$MO$num* zw#CYhk(5R~bP9Hz-?DH`QGSfXaF(zhzXB1^T+wUQn3mg3$bi<}zDu37MN6G?){@)g zpgtn>RKy)lRN7E*ba7I3*25ad@Uyj7j7>VC?wl7Hx^>>N)J)% zjkph%YX8RXYW98DzMIhzRuf>e6RZ#iH>{(WWz( zIf$cQWPb_qQq!rTPG%3MAnA5qbCN2!^;-=`UvAY|{@jiCYynwGoYnJJd2>Y4`t}$@ zx!L9nv;Ct47&3ASpM+5ZInv5(AuGygR>vE(?>nq9_fum@!N0G@k!w6sp{ai5QQx?w zcB?g)Z+Azn$%q5Oh*X1W3OYhuviY{(hBh|@KNn8^PRcuvbZACR8!_FgXP;ia6KxQH4kJMGw@0lXacLZRD zz#rjR1tt39^nzg)x_MEV++#B@aPtLSxz{W{xMDOSIKLhP<>RA|T%*_PEs+1Z91uQJ z91~a>c$pE>5A&hAP&XAMaU(sa1KsUjMPG#~T4HnExcwMA)gSgK4pLo;-~rCB1jDY) zd_*w((a=Ho$?4Hwi}WMR!{88{EwRnVCOOc6H4gi%YPB`X>zQ`}-uZySMAiW^m@nwS znqxhQW!u`D^pi|tNLrN==pmA$rw@hz1z~57*pYcHum9%jx})NZXwtFnsjWV9e{0;O zT^xl}khId^-R^vdD2>+K1ti}j4i%N@t1jD*B^4?~;nal$A&1^Tv zRrAs+$YSa3)$!Z zKg5PgXy0|bl9YQx*!0Azzp~eQwe=cZyYz7H;r~27?tAs!mQq<9{(38zg>&BXg_iSU zFZ}F%daL>|`YDAGzDVEo{b?@@p-ioFj_G6Y5Np|^7j+BCWbzESwT>5s1Is7?rxV7# zs#H!r`il@>Ev^9L0Zhn%H*=-#O{E8bg1kpdjJKy{;t2VB`<%;@8v;Pi0XIp zH(QoojX9o{2D(7BshI&T(8g-=acm^uUrCcVR+wg8|EoYa25QHDLWuooR@-ZRBRnQ< zOuNr?lXQvBs61ThD4~@Bs$Uz7@^>PqG zGfPcCTHo~ld5C$CsQ*N{Hn!*QN0X&KE5H8qOqo@wc3(fqSdVu<-ATt5)t{?Z?6U#ADIr@h>V(@>!}WVLLR~iAx@L3ZD`ai_75KvTgzG-2d8eHjf4#D! ztF2ihkVvOJfXl&6xcF;L)EG`*tWvpaXy#CK(XMDoNKBb)_Ky{w=#=O~QFWr45W4$5 zQA|?N&KDe|Way)^)h1i;4~#_JD)P5ypm577f}VuC8`B7rA34W1np*BGt5k*^b11yo zeuCd|f1E*zUP&Jx3)nR_wwHE}@N^LvSOcln-z%_FF7r4R5R!N<#v{kG4nUBQW4k9H zF)pUVq0^&9cEuH&p4vWf7ULRn)se5z zpM+2Kua;*{GEE$DoTXX}lQ(mGyTbEMa?qyU*(x{~VJ@~T!A$vlBrHop6nYp9|3uNE zKIkvS5jHBDFhLCk77mxlHnT#T29?{zu=WRVpq5bAEk{FcS%3&$@h1g_d9#*=?PrT$ z%{I3Y`m+x|JaeF{X+4>{6PgnBMb(xSopqzNNyGatSL}x+AHsTVmD|5y5 zev`$YSJJUewR}N52y#MBAua==6e(Fp=%s3&wvWy;pk06zv-ZwDxf?_DW@R9sg7nmg zvpaHC(rTN{m@g{e*~vTcR3e@dt=1tZTrwmvC|{c{pkUUpDsE=2zKs?J+OM~GHJ}eA zLs3>O<{1{Q;spFWmz23WCjvWIFBAjtF)Ly z(!ZMug7f+U%%;YxI@!}@Q_5U_Q`c%Cm7bIDix0`C{JRr|FS5W(B~fZY6~;G>tc>`N zpI^tEKp!A}$VmiwBNiz5Yf8Cm&N-)2z^5h(SQ4D~7;e%3uU3%c@hk5?m~Mf?9jwaH zy&6LZFEL@a_;?&v5}q-VntA;cB_v^SDdMCeA1n3c*P^WomzjP;I=i1j;+Z}`HO4uH4neaoUh`NYw<~hx{Ky+XKO4nlw;NBZ z;Vz>6kg0Coj&2Mi7`Y~>Pl&uP0@mN3uGA7MZ#+_Q?QTwXN3-h=ks!<^9w`^2rUUX& zaLQ`_U?MkrI1DITjULxmLyz;W!7(xkme!m z7PsM|{UHF9>=A1|fpyzTOnJtf5y%i@y}30sP=FPndSp)WnMr-ti_u;U_j~pe*XkFR z+j{CDbK-{=3hITaxvaZN#_)2{`$A@wZ1L;lVZTli<&~3Q6vIhs;5x7dJua5C?2sLL z1hk<=5yIw8Wk{(cWKw$t!!R2#->uG?v{RO7{bL@#f^*x|z~HJ^E`P2{Oqf&8k^Vkh zE3rUv1YfEgwQRH*M8Vl%EDQ1D5DInSn}Bcc*X1X_fc`hG(ciZ=V;m0V>bzl*tKaaN znQ0xeG*GvHct zd3@6P7Kf;N_DW@xX2r8`Z z^vX{zru`toK&sAGJX;OrSja`M`C(Zh4;|0aI&NEj$;)8rJmPvEXK7{!Aqc;`LP;&g z><9Qg$vE6r8V^;rkU&pWVMZ%O)M@DO9-GClKuJdPd1+;euZI$`3J#mzjGAn5AUfQXK#i~#Aq&8 z?p;u#+lr)G9UgG>p@GbPOhiTYbA)y{MFU@c8NKt$9FP0*b3bsFWr(YXI2^e&!2j2m+LLs_1XFXXK+W)kw`x%lsWpvdQ7DlglC^pcMxt?RYhQ1(@CouiSSM+t z+m0<5V-i+Nb}5BQA{_+?k7T%D*&!LHM+DyQsk+rnmQ_pK0MbEAF$QXfZ)3a7jl)#D zkI(~;^Cq;8YcUiAzCo1uPiVv4M8hEG`B`$+Z$=~ntR4XuDP3RW!!t>L_gxo!xqa=n z%SIXHr~yV3HZ2ml0l2o64#13$dzMvB2}3|D$gq(n`F}*&pIZW_Pl!AEe~6xr{s*tpa=lh4aMehwj(>!aE)&8D z9`PQtu21$}HHxuG3tMR=VVastK$a*xGd`~zuXD-A!rk_;cd-hE==+rWi!PgZ7e%H^ zzL_J0z-L1OsQdX3DBVyN&SVzpKmn0y*Z7AeTMd9q-XAA(j2^RC2(lZ*dZ%A_6u+Y{t(NnKIz4Z0hrOt}7UFKI1u9 zd71YS2mT~XuHGZJ`a4GU3-j4oj$<^*RX=Is1&`)B8sYnp*kcKlR7)j^_o?yQejxe4 zO5Cr0LQQ|_zSahJxChSbqUP`B&bIABiq~!P^5lHWran;;t04Qt_O3(90uRKg^C2E zybYq+Nvfdq2Q_j6(`dBm46_C`_FOanWl)Zpb2a6J=G&9Eax_U`;%zIWVL`~qr)^D* zh()eBXV|p21(@zTw2^wg`pvv8P4en<*!xkXl;S=T6j4D|G$tZt(69Ef#h4^Ex;~VL z)@&AJi^JYdikb&evWj3u^g?6GHXxE^?5% zvRwoi`SFp%a)mgKn>0%G%xYMt*i;e+TXTP5>DPo2^lz6k-}g+-+~YH)qKz__83uCd z^i%TM1eogl?-ocOh$P4|Q0?{I;kj-?70E=XUs6i0nIEIW+jy`g7)_f3Mby$MY%;nQ z2y;UAa*F?ccfv>CRh2P5TeZci0?ie$o1xv80nSg*m@GxSLz|F06HyUDR;@RULYC=R z+~z1R#$yja(k0QKfBjyk#Q#vMdl=X3H$2PQ*%-K``A7b&8E`f`e9t!M*B(iNGkK?O z2c0nDQ7A3YZ2MyEbqGX@$ldz_<9T_@l||sKg|NCa3##~kJJ`t!$f6?YfMtVn<`PFbbSh@;i#$c)Q zQDW;f^1RPfYTF1yVRfL~6OXGlrq}eKLH`cUhtb4S2AK^r7tzd!=6qv9f&F(iJ$y9R z4qfg_S@zEsnHo)%kXAL7JHNO{Z98GYW_Ykp4lcHxnp%ns3)bb9Fcs|qrutZ@<1!Mj zDn!p2^>*e!3zpKhMJij)3cp%HbiL@ZzSFfMqp9jsZB9R@>|rzfr|581w53j!(KF{N zvg1bnpBJCR=!Y$@i7|XJ@FBnW^?z>3#=#V0e&vIh&*cRzGW2wuRqVOl z>qpAVer!Kyx=`L{QQj3r{EN1=Pvw}}Mxb5boc9M50xd#F&+(#rQr*&_8()FN(A7U! z&^klCg5qn)tzBgRuskg6Iil*hkMVvb9hIH0mD-DnFn@@6XIONaLsK~Rt`a}Y-47lN zS0s8UGM~VXtyCxx2;7diwNyr9k?9$@qOL+zsZ699D@2)Tb0npZH2!A>u-HJf&DSC!q z5`cM1EkD_||DoJCT%$i})i^QI4b5Pt+_Aqe@Fy{MM#E23`2gHVf!~i$&dt!{_&Q4B z5`HO0aq-|}(~pT}ag0(8l)w6})eCtyka&fV)(c494ddY(dqiT`%GaR?skq4YB?cD{ znyctw9$mc*N~wl{gi0LgPM46n_UD?PHp)a21$ge{33A0r@ufQP^7tJ92nW6HoN*bP zyb~<{aAno)wc?&^VrJ(9%bq5fvvL;{e~Gt&d8_uJ`&%&~;h67Rc9Z0-T>~eKFw#)B zd%x%G0K_KPvJp6N&$A1@NY~CmPfwu8da@ITLNlsX^L#Iv z+IMfha?Bg4y!cIxUYjp#LiN1uPxVQ>1D2Uxf@m$)o#evFVtpN%ZI_bC%akQSujHYQZG1X(MRG<0TK505`|pDQk{C1J2oCHVmZuV*@>egq5LX0PqQz_gUhz(;Zh&Z*Fo|qm_|9C~G}R zBPpLxe3jUqA*grBv(K^rw>3p(h{=!epLq-g{MCiJ)a5`T-aA*=6Ek-JbN0vgJ7>4l zm0r8i31_xhYP6OE=_3Je`9eBa@ic` z+VFijf4Rm(#GnrqgDL9$t*}R!^Fa@hm(ng}5My2iNMOsz8gW8XdP9H}XSB=#RVmbt zWg4m#-p`+<4!TuDad2B5*ZR6x0-FpzB>LhA=|dzd$8CBcs+LzA?~An#L4$g=c5nw^N5zOK>BV$@;Xk3=p4^fkrlvpvuwrv#Ljb03+<( z@%qu@`5UU-ej+A{UZH)S?60EolHFO800cS~+y+ZX$kx_%b&CFh^i2qA;FIRs(VROc zOq@eZTjuh#T_Dl2#9K#ARx%X}ik2M$v^cNEtMPnBOYH8#b96yS`+F*;e8zk22vHvw z`@gW~4nRD{k^6eY1}*+;ghha1-r5MdIKtuWUCO^C1W7RQJ+$j&JH=6h7Jn*?2kVg- z^3`9p+9pHhV^2W)0gmLg4}{G`3mo$-0Q4+O-+#|sArY8KXrY{fpi5TpWGL2nc$3A6 z700E}RU>))VEsSdROZO|r2lr;eHkisUxv{)^bpqnLg8}Z{R6<2cqJw+e;>N-Yos_*on!P=c|Oc6hBtuY-1TVrXMWwm zq)?r}%SQ~|LPgPXkHC7!dq2$~%tqOxX&s5gLJlkuOHXL85At=nx<4uG%zvNnZuQum ze;Sjb;I6UisK`vR_Ni)`x2hqdQ0+qs-+&}0svc}W;Lk0QL;p#~J7Us8|D~jGR=Na; zH>FtHsWoNlFt?f>?;TGwF9Akwow-xTji_^1yCss`UNm1$C#o=?m z;J-1pTS{~NqOZ8E#UzRrl`-ip~k)99x-JsJAjKgMe`|CAUor%(W zPs0Z$m!w0&`LLVUNZ|$zT7bYEOe}NuQ8?Y>bq(~oS}yI(pXEDaIfxFv&^i`y0*69q z(A*~FLr;D$!9%wSsOim!ag@-ct~4Q)t%O{7AIH%qJFDyXT-db zi#IJMCYR$e2aJ(UxO7nZZ$7==p!vUTU%nPjl*JkU)l$}%@;Xh?SN+=nLxf4Ss&mHR zQjihBz+8q3R?z01^J$>vMxfW1g#FqVEBqx~CB>Tny*G8tm+VjU{~%7go9H{E<3qs9{Oo^}?5kFuM>iQ8~e2Za_~$SZe_B!75E z;(mHU^0haOa_cMAz2(-S%9x~5dgE{Gu}EMu79OKhoys~Tkw8Tzt58EM;*|d|DRL>` z+C3)};0Ox-Cr_x5T#RQE128L{vZBIS(^mP%VT@ZvAB2OGZUU)R$Z8PMI338tyju(- zw^Ce2b_ld7$})cLoXpUb$L!aG+vLS*PpJyj@k+VI@W`lpHVn;hNEXz)P1 zrGJUCN#g*cx8sv?&a<;hH!nzYq*Q`a6VhYtg&j9Wdbgf+-slJiEaRrs*a!`^nrmB_ zD%9|obr&m$m>7AdA#_r$S205F`9HYIEZ9+tX?C4|@F!8h+%SmlY z_8lirzv+OqRG6@UBbUQeDGU7=KJ;HRT2Z$C8_*-%z)TaIt_v7RQ`v;68n9IPzX zu1I_@h~6DcXwnh7l#W>KH#(EFa<53O9t&N7wn`QO>0UX8?6s1SN7|~@w6?jVoS-Hh zQzUAcJsi?3%&o3@=2TQNW$4p6f+&_o>IAT=4%Gv~1u9;UdonaZ_FFeJImQED*dD3> z%TX}GJ6KH%!`Jc^1%mB5`%;McS99ZjLrcqwRqOIvT^hvT=Lq6iX9sdYkhg-NRazbI zc0tKQge%-@Os-P3=Pr@RxzQGoV?XS#sC*CYwk??_qMg)#7NL%ZploXjIsy z%E~{?9~7+LDaD+&{wW@7M}UHci?&w=`=zSqF=-STwvYbIu(nU%5W;>hGBwv*IQY+N z0=?4lq>i8L@;znVDb3BLmqZ4_J;mmxLlmoBmft<-Je25?EXxyRQ=MWyW$3|%g; zkdkPsr5nIJUU$}oAGr{H)0E-FNUt zWT5!iM7+I^MMqttdl~=5QszG#jg8^UfOjlF5hF-mO+wo(h8#RG8xb=BvY^8s)nfz0m~pL^rNZ1k|G&g_+S3CYPx79Rkr6@8NFH7Y5BN!KOjal5*H7U@%%p6^V);&`4=pCp{)@bbz_Vys zIKWfX--A5?c#hYgryMkkVjs!g{$}_Hh8CC@&uw4=h`8NpW?P%)`zqpFHiDn&@T9n= zewU}pyGlLTl{_?}B!lr758}dd#Z>E5XbSBbE+e^ zThb~OPWr{(J79S0^bH2;%x;2e=Vq`ie&_YUgN~cd(&7^L_Vm&RIVjUJOw&s;iCYyO zlA2d8`m*24Ff^G(#zV2z{hnbQ2PnKkxV2NDjapOwLmpU9Sws5o!cJ98X+UL<>nUq~e0zMmRN5 z41BE7SSH3=Ks9y+=A3X3gPHZbLR_D0yGl}Jo-QbZn>35wr-FqNdNwmmJ<~2)?C%l`!xSYWqxM& z1pUKlnurZAjk8AO?crXm=F(={4JDuo=g#dOnx|bJDZw);2QRok3k9Q^$@-rE1pkeVqRuvd%51}}s2rO|OtEwSur0zfY83S@#fSJX*M>UF zvuK-<;2UE=9^PDorb%*JTm05+2o~QvQMo3AXWn~W<~fwF?&qfo3nQhEH4x+^)le7| zB5F3L_3`z;O$NsDb9eV7u0_zd-Aa=Q{)lO6>w31B=2m^iH`R}Dv1|=FVlDpgZg>E9 zME|~#C`X2)lM&wH7HS%jd}ELBzDpF2?$LPF5o@~2F}8T}k~^vRM+T-B${rmaaF>ZY zvwSF71$A<9lr5LXq0qBw0G;3{X|EWRIWx>}Uob}@<{}#&uz#ZCU_ZO9WqF&XQ0vx! zUMX$YevYi6%*6vj8<)S6oYHr(e2REuk|8hxOAeq;O%`8mx4JJW+B)7TMllf=iX_(K;cz3^d9UA~?;FZAO6N29CT zS;=tk%?9pty1B#;D`)Yz$%2Sv3-LHR{pY_Rs%;0(CDbu44xzt>n&}?WSh`K;Zn6;U zqGdlt-mAVOMIgD&J(N}rp1gbx-MoA(|83_GOwKlfzz>?3?p4kI_U+en)^=lLTh`8F z7Xpb@N3ImZ@}4wM1crb5_TbBt)ClLVc(@?eMk1#a>ZVOawJyoyB`y4;uE&b(7&|PT zA1%@ZRrI46-2&|k-YFnl_FG2^emw2yOfQVA*aHX1n2f2$HCk1oHic?Iwf#~PI#pae2@Ldsr^`gqGzg*9;3}qEJjsDUNbJ-PK zQzSd5xI=bK9DJ3kqh1pUF08uKpmrc{_T08JS?LXc@r~%rJS9q%fmO_~U zJ0%di^vo1*Lp8OH7%ZV@psvL3UNwvJJ0JMn&4%CU3rn*MlTDC#y!->zNO2>WlYgzD z58fkWpX+if(T21=77N%7kaman)!eWQV@v zm?Wds&3PCFHSRZG{W zRB{PQpiWp65zx}$!brb`$hZkgIwJ%!j+PeoUJPJq65Od)?h9k+Xb@0UybN88mAC|} z8J-MraTJoWu1{kBat-5@Ko)VT@^&;{J1wQ03oEf*IPk1z$BAldcMQ>=Vz>C(_<>9*VA&EM+s>qPhP`7BfyS2wt#M6vJKn&;w`I| zE6~>Yk9m%fMx-$!{C;qDN2;ImA$2;w+n^|RJ5DqaeI|Zr{#4K%=lzjH$j@l>&PNOe zv$(s1SxrBzv!DHaFHGFSH-7H?tg>-IGH5QuL}oqhNRfIh!ozPQ*+3eGbXc1a^!TtV zzlFoo^Mll;SWmaK9~PU;YLb_ZZCA>>h=<2RVHd2^mkdSi)p2*W^)}KxSlHAQKfi2c z?wYoo^X2GR)DrVu2KVfp{g~gk`U$gYc)1jX#fBkc$oH)%nty0p-CHmL#x$xn4O&Z>JT8dKyb-4h><&f zlYBh1T!Qw@OCEr-bb|MAIyYh|E&M`iJ1=BLl-4Z39~BD}PrTIjQpw5aLVNX?@Ev$& zC9NGNmfQe(9Qn&8w#~8crC#BDKWMEk1?-mryw`iBV-($qoBw$juENBNR@iGQxM|b7isl$8raRbN2T8J9_ zB9Yx6^NWErA(s$RvaOwK#;87}*yXf#lM+)54sP)5Akk*?qceE7&faHf!tMPH(L8ee zI$Vw)IC#cUQ?kx%bQMGb%oe@9etx4~IBofZZR#r~5?K3Ai?1$Cyhk@HHIEU)@Mc-@ zs)9uZ(Zhudes0x0?sjbT$B6(UV{L7=2-o$^WBz&#g1N|u1-Ai=-7c8?#!z9W*vH)^ zK0on$#mro|^yz;6Z#uqqqm#(tMT9rFD8D1x{onMPCO&Uwx84UNhzR6cKld+*?(?to z1l~dBjGxc%?$eum;Fp8s@UQ;lM>yx(!&hN7-{;0P$v$Efco{g$KiU1n_el>P~-HTYde{<38T=V;hh6<|&rGO!~QZi7_3?05tE%}WXCqv2R z-2chF0T$YHHH@?hl?tqtn(BGGUq00D|4#ME@A$gao_z55PLw7{@HWzW)_E}rdfa~7 zed%96tGu}AZ+o5Zzu4L&$YHFtn^w<$SP$O2xE*-C-L?VyHLrf&Jo=@WFLMgoFI{cg zgO<~`+Gad@hvi-Oz>DvQe9o@k-K#ZM0-L>ywT$ZOt(BaYm#33fdpPrx_G#%Epxn$( z4O_eAWp##g&P!|l>&43@^{uzfq34&^DPNtB^O~C0%S$&P@tO9M+q>a`nxJltU5lOX z0Yk0erjG_=Era^yycc+rat*1`KKRX(bL8RdBIzi-%W+_JoiX2K{Gxm7?a8mR`vuhB zUn-yfn0|Qs@o)(04?me*5B_*wojrM(CA8b>y}vyjIDK5QRr~aA-K;xY7VJDgveRYI z-#ZUKpmOha9Cy$D@2O?k2|RDst*hUi-M)U-x-LIHIX2|k*aNa#s=aFIjactaru!I& zjo7#y^JN!wA3oA=w?8@>K4Qf?h#%hDJwG`9;PSsQ^5Y>S%I$2#zFb{B*}3uXaT{B8 zxAS{7e|o<;*_o(b8skLkUbR5t>QEC^w=cQQtySxF*u8kzU$~e&b$WO69X+kt1krC* zZ*-pZR&%J+je)8-h?ZN&F6bG0>Kz5D1Z!Hyt98MPbC0D$gnXV2PzxWsmk%Gz?i}m2 z`93hWADMv~65Af1U*3Wn2Z5=J?Kehwclq~ebJ446q*?h-X`PKvenmSJWF0}GczMvv zXxEjlKUAk4*4rXtddENi6VA5q8~`-iTHtVwb%AeN40F+*DCftFwO!QXzMA+$Ahw89L=4 zgO>S@pR0+(7hY0m`iRxVDFp>M_;W5gI;dBlzE5~;)qTjmMnEV(FT{qb`>2P@swtVSS)NK@ z3oyj>Xn2_JR8KedC9U(^^<=BgfK#BbrCCSBJrlIkNyP?i+AoGAA!XL%xW$LTzoQ2< zmRsl=0Uja-xCE^DG8<{YXx<1@L(hgY@3>JC=$M)O83eIh zn)$k-SKO{W{N!+>&xrm#Dm-l0ph7o4sAlJox7MTJU2uj)vj@|*y@D$cAZ$??P3O#c zS=fGhL=}$G{`$x&*)KTALWUmD)KRj`6Ed?=6g?N%N~vAHUlhr*V`duchqtQ{3gXZk zBuQjgl7{ml8iwW}+mUa}a3+|jXu^D<3~~iVte)q9^$cbj3Msh1MI9qt?{}Sb!xr$% z*kct4{2$WpAxe-aN)vF}wr$(CZQHhO+qP{Rm9|}J+nHUx=sBn7%xt=Mv5H0L#UD5B zce_^kasBnq64A7((V(KMu%y9~av=(E$)H_Za<782(Q8~Sq9H&cD3d9lXd?lUqg4oI z)!y!gO+@3QG;Z9D`?wgzNQIL_eFZ?=P&ztx(S-p0!Y9delS2)w>t4HG^>YJ)7$`0V z@FC(t+S;O%z!bziGWy$yn;)oCrtS=C8JviTNB+3DF#<8ALA=6}s;L_wVh9gceGr>n z=u&=x{rNm_4mq7MSF+3IDi&=Gje|7s6aC{T{%1jg6ML4YvChpd?X#Arx-0Ff7m18& z7LTs&A*xC{ia<7G*G0@`^c0k2*ZXKm%Ws%!Ha?%MllYIk%7!bcyxHQRlud0l9?!<0Q{Q)7Epk&%?U+oj5r{bQFR0GisnK=y13($&S z9tLuO#xg>7851-VQ`xYpheB0i-ZvX315Id+#>mpkp<3cD+cTR&lvv-2ilsL!l2NM~ z5%%5crfO#D#SIUjp-CW@s))46u1tXkYc-ue2mjT)JRdl_mJtP1&9^YNIV-}Z1U_XQ z2@@86P-}SzqEiUd^WYeZRgm1tiFBzjC>~iDY+_OS5HA6bwbv7kH?A zT;_Y^v$B7k`;S^{UobO374|ffdZ`>Mzo`5{^o-?-8K!vKNTcjU!g-Jw_gM#nI`$+B ztc0<4Xe0uWE~>+&4v5r+#kvZ!;Yyte`J?~j#ftRp3|pw!D##VPk-UFi{=Nzt|3hMQOt4=?f1by81a|LVV5!yMt*a*J z1p|=7vqB?*oWwYD$6HfHeDZ@ce?3ziy4V^ zDn=$gbJde`_O)lZ+gh#3SYf3=^b<9!j1q&t=8_TaBEIumayC z$r8FuYH3VXIkAI?piDC=f}R|U=_ima_Yj&&z90*fnjB0bX*8t`Z@$KSGv<%ud@S$Md-7Xc#)~}qJY6jTP!u;4hTr0uAR{; zhf%}wD5o^)20VK~H`G&Wq@PGTf{Mmw7ids8mDpu&N*JK*3$as7V2J6aj{Hp=y@yMu?)8La3yIRuC`ZRnmH1rxFU{hbmGamlV#+X(din$=np%B+RXH zSO^4bR%;E6d$h&YU9qahQ}F1{HDdazf|NwW(1Imvh&WoQ?1U0c=(LHmdKQeKU{zH& z^X3pjqP7aJ78CGtb9((00C$DEfwDG%+e?EplT~t%6x&cQTR@Xp8OXUYSLrFRn_V)E zF6T0-wd58UV2FgWO%M_1l9&edLV-eF6F67-3L!v$RM_gf0HK0?l$S3a@)f{a|k zoWp}h(0hs?uUPWoQL^wxCb^ZLGqos*L@N&9wH5{{B}<7V02&d#>tPQhi0p6_Uts^Ou4U1RU7Co;1r zD8ey7lQ3i|mOUl|whMBsSvEvLzIYO2#rYoUtQTKG&)HCmGlI!jYcynKG~AQU#>wp* zeEB&3@|NE#rMnbt=tY>OWrz7U*YrxP=Ft`JP$UW@6KzCb$L*Lzb~O>ss-=-oOs83L zQ&h0HS(RNIRwp3*F^MCIo@=tuC;l25O!jwR@I5cECxbT()bGsL_`2wN@8BjNo0*l~ zyV~BywK#plf7`(KWhYve&wmxS^YCPweWqN>o!0+1bMC{}ctiRrrC@iFmHAH6p3u3o zrB^65vE_oeQnn1A#FzZCR^GU_(HZxghJbBpjbKpHy9sW)0yJzM{P}3et}kmWvn7;o z!UYk##WN&SMxSd7P(h?Iao09sXE9F0vUm|TIsU@_dx=I5Dk#rtFR6JB2L*UKKw-9|dJ%K1E~xo9?XvTzCeP>7U$3odN5b#SSB zlS>-{ZLd|nRQ;RCIc$meIV{cgBDI>T7olP)d)rcb!g?xSWhyem5zS(@K>uPjY;NhA z314?L5^b-dHhSrr&$eXyVjov#3mxddlv9?mb5<8q`M<+L{O4Q+rn=W9JZF`cv)27@ z3!mPE<)>5lQW5MDzwT1HWq6eBwB@zHaf?Yoju>&~k`;}UR=&aCr@zMSOUJ(;$?+vu zclgRD&$KPDPl}-^G9O&N5U_>K_L@U~P0FACp|<%NPn5|mQ2#a{21@w4p_4BLhf2)D z$3T$DX25P-!zL%CC`pG)=wl6)@<~G`bNTD#iiX0BUjX68mDYWiEh(hCTTu?#HJ?zsIw*H=wq)viAFROY-5pci{E7r~iG~|9nnw=MVn>7e6`wC%N*! z=DPj&xN7`ZYpnav=v4VVNI_{~(>Z^8bl+&eeDPkv4>O1hf<`;0;N$Gn|+B zFQhZ8)Xj{$Wu@h}@3Lh>;2+ZYVR(vzpYQE7v->r7H{c6U*Qu-X!0KI6Z)LNik+$n+ z5}LHy0MpO#sM3@oom_+lnr*P5qSI_mXYyvjl^R&Zu9X4}?fuS&^9&CUe|8Ge1nNeP zAdXd9Ymv57N1a&A!VxYus~Ak`r1F^a<0b*nUJC(Ia6p1mG4O+~)jBXHDxD&Zy|Hwn zJ_f~#T1sVOI;cct*Crc}NQEl$<)o+}tY;;RS36kEoOZ5M4X7#G&ns2S12%~h&+ag& z>=>CgH90E6Seah$|pTnxA=#^AbQc`{WT&u zG-q(#GRy8P1;>9d=b&@!{k;Bb@XyCL#ob&d;ydaJ@westKbRAD0pe>U^aF02Nra$61cAO$LxzTu}p93$uIAFlAy>NTPh@RG&Zqvp zzFqcA+r9bY>yK-vofZEK|HpHCDgV^!GfjPzwSN|Udv(o&_wn_yWg=}=5$9AD|K-h^ z*J-1=9bT1@=TgJbC^i|;EUyn{+V0=(r3N$IbX8>=d-ra!Q6l}dchs%A`iCf1jU1aM zP`}Mgxa?C^-4tuGE^^ zQ+rL?&mY>_?}dgn{J9Ujp5)zy|AMtxT!%bxIee-sD=Uspp04i zoF8VMKf(xWrO;Kof1?k(GyrzII%m>2wbS+@Ve1t2~@ z1ClO24fd~0IPl{3nqQYpcFiT>BW12_9O#4hX+LX@8jdItU4!D#A1Z>S;JL&ZP?s7p z7BFHQ_9YSHcnU%PdFkVU(Eh6M)J?0||&R7Wg-05?qu(L7Za5oJPxmGbV}XKp5;CZzTb~V*#*a9p{pI(6NTS zVv7yIB^1wkA=EDnk)E9lkOn0_biv{Qb)YOI1P%BD8w~){ck^btp6hq6cqK)`P$$}FXi|+cq1saYn+G6W z1thB*x@?U+r~699w#@gLI7r4Q9;Q8CFOjWB{fQMN(9s#Rs~au zDDkggz+Ahe3qudgnOj1`naKl$jEDh@A`xw^xp41cQ?U;$I61^Q7!Y>ifiZtZ-4`zD zzd26Z@M`Ch*NGk4EWu&_55pyQK2?8Hv4$L(%)d=P@NaU56!pA{P9up?LT17yKGD@*@;J#D6KbzUK6~}0(4#iMI>;SAIbWGi$?jYe z>350OP7tXjrYpAIqJ_yLwHw91P>JDXE2hhpjkPkh#UPXKixCq~2RS21bxo0Ed6c8zgw%DOAhLp!`LhW;s+t-LMYmt4mL|vdMWuIslp$OnE z(lIqm#_N`?y6a-zPoNV&oCDD(KdHon)XwgzX6n3NrPJA8Z^vtJUa5SvRr&D0Th=VS z(?8Jv{jEpLu~LJV0RUjo5&%H#f3tM_H(YZjS34eOJhSZfn;NMvv3HBq42Rk2q)N0^ z2ZvmeG?QuzhX$=>JBc$v5>_(ShUTUJ_OmB(#Uy##7BE=1#*mV$y6Nx@clQ>h>s9}U z`S){W;5Yo>;IZBRJN?wZ|JDBEbVc6Y|Lgp^_n!>8^Leu})oy=dyXN2Xdcxn=|N8Vk z#V%j3-~V>An|yie|8eks>8;P>|9H4{{Jw=w&;Q%be%g1_|8b9B|1YDgwGZ3(eP1Jt zBfx#AW4HC|<&Q6L)9>|oeZP##`*Z(VdEQ??PqDB0WBPf$r(doOYxnxRA3fTyT-BhXj?9f8u=m_uepl=NzU1$W^Xq-Hd|kiuho#r=!twWZs*%(0!tC|F9e8#8 ze73Lg_u=aG;Pm-Ex8wVJ+^?V(C z%w!)tKllGW9k#B1o%+Mf`7gKh`Tm&8zJ#Ch!`JJ<&-MHJ*52;+8Ex|S`xWZ`{1|yW zUUawf^ZWZ=`~5r|&TOsG|9mZNX@9!qm7x9pKyP-Q(ueEo^Woz0d_Uif9xs8*({E4V zU*QolSvn1&_!7GddmK&*X=1@p(QTj5=29EDJ9C zf8VlLEsE&Z7cTpsuD!i{eXWu9dM}c_9*>^e>HECzYt>#KKJ)YZ{ds+UFZk>9`rw34m)Np5^w-DX=>A?0>OY6g@o6ufdlTOMA1iVS`S|`HkEifYGneiC?<=sJ z{y*y_)A~gxbN>h-i_ZtA?k9Zt-{7zSjki~idrbQLy`GPw@8gF9(r#9s9-oKL$M_&WmD8FvUKM9W==b?qOme;m;LYbEA-xK-Ww4ywzAD_;b-yOAn`qyo*zgL8~vE`k( z&r?et%SWHhdi|a~zC5QLbMFb|4vJ#3ycfU6hs`NrOl!$~++iqkrg>>-;JvOgj+09Y zN;=ld+?EwRS?cVr6R{^5i_PJTa_qSk%I-+z7kWlD($jP&p<*n_O`>&*BwCDTFx0_pv;2cYJ zq_2+N*lCL&9jq4(t%IzwcNu(-&&PWoZ^`>mMxJR#=R$mLrb& zVmPmsA)fhQSErUCmib~CFP0VyzF435C$h4_KDfNG8J{fMO~DO~ZYE5bVI$JJOjx-$ zD7~GH7G_>B&YHzw(Td2*bBX_)bvY2}|qnoSunCiv7O%=>0xDH0kZ0jM3=ild|^&K&0i+h$R||AY4{d zRwBuUB6cmbVCzgdPr=4E&n&T$*EByUz8ASFOiz7ew!mMBW()qc+N)+!H)%K;X>cpH z%$zBbQxsnLq|=8-89VM~o<*T0$EORQEtXcBO5b^G58mH)yF}nTxp1OGlrsX*f%av4`f@HhAfOGNYEV{0oes1WOpJaLFOBc&4pLzRev|3^#gw6SE7364anPDxI6oW+>lg@4P)ZE0c1+Y0<4(aCkz0+@# zC)U*EK_c6Sgjfri1@3MHMqKQEj;7VD(7CU)-cTY$4Bg3=VYEH#0O;L+IJS42mysdKHn!>x@?w z-+Z+yb14Zozu2azKOg1|!aJ^W`Mo9Rzy8qbRGC__{L*P5cj8*`V&{EQ6{Atc9a{c# zv%U3il^2eM7Z#SL#P#zeD};m!^+r4xQ{56*ViYZ+D`Sb=A|g5kMdzF1wCd|6eQMN5 z3XSVVfdY)(vRkqZ;Bc9#$fc1d7;yzcS!`Bz>M=rq`xBvpt=RMwk%-C2=Q&=HQbHNMvNdaDgAsrcTo}Q zRAJ|pylG^iC8dv;ADUT&;&0MP>d?}=a~f?Rry%!beq^cSlJvL~E2nxifoFmm@Eg^* zNWF^;^#p?`Y_zm$1C9)_U}@y{|JodZr<1Mj@4coz9f_w-3M<&#H@iWwrInm-0%AG3 zTkWbHqF?H*_F@D{!wgS}=wcy#E_y)(Xbcv3g0w}k3#rR!jK_S0!61ck{SwNq0)G&0WbTx`J z6Nrr#3!RwazoV`Be7~K){Jmcr$DT6t!oM4@)Md$}k~NDe^8$X;W>!Pz#jdWtWiS(V zJ!celje#rhvL~e&StzUo_su%H4*=Z%*~>pj z2Jh$gbBcNdSEdnF%QcWeS;1GBvBJa%DKm_AMJZcEN?5}}UK*O;$e~P{ok?D33*#GA zO4H)GcD;35@9uRClW(skhtJ#1uu1=%hO@kasD?5mwUnwG3^3>(X-lNo zY*VP%AxnY~)>Db(vmslU4jVxLOF8=s1Ik_k*`lb88IyzSjfF>n(n6h`8 zwL=fJSF5o_>qJQuW;Q47mH`vE@S-7vGp%|=;Di}JSBgaP3;9 zZ9xeJ&%6o!B`&OwmE2I@y}eOMF+&}0v=Q00+@zNr6Ux+WErQ|&txKoR(+gV5kMJcS zsn-Gs1j$}NS`ehbR0f#>K`&hzX_q4)(O)2oURFe0m-|i2ai8tb(~*Po`;La=k6>U zoAIp_EcM)zaH~yA47_EGBnK7d`*}xkj{Msf=HPp`@54+ptbFUJeoj~S`8_`Go5zpm z6aMt^>HcAV%3b;Wf;Tc|eQ9#DA> zylCNCOWVKhr%!+iX~xhsT4RifE_rk{WLLtph-C;5cD$ik&^S;}w;>gCihranfDYP0wC1blAFstAXgr9M zz*Yjk^nw(@=xvl2=?O(xs`tDuICbsVyX9m%t%cb$04964pK3suEV30?mq zb%``b54wTKL^sh@R7;}ib|no`H0>P+niEGswet6p!8qq1kD@JnJBisk-A1eYiYwx4 z#y8OXDu9&xJhn15YU3Py(1jRSBG;k?(BSqBv74Z~olK>`W12s?F1-y1daW$!+TFD6u^{t_% zJhBv0pAoeg*TB#S7$G3!Dz7?kGQ8H(?Y`If>#ax0)!D#u?V72v)W~p-EhZW}Lj*Zn zA>Z*qCS3(NG2MbM13^fme`*DC24iutnMx8E=2_Dq{$e=@2t;|+Ei{|p8()1=V2X4f zz=o%hWQWjdr^8RcQYy$4A|(b^xM|aE0t#YK7oOk_YJn`4B!QkM&`u`Afxh!3qzWW8 zZa!j-!f({nFc**Ff@^}vkG|+!JOumNDTt3AigW@*2**K(wxfd4SI`aHj7lbah2ZfKT9awU(t1!_KH z7Ij!<6VoVFx%^V->c@RNkW?O@-rWAB1Ofqh-H*=!Spt-GT<1=l&b?PkRmLs18#5Bj z@(phE%Cv~2j2NN*3;qIfsj9teurcp*m*h>HU6NeAz7c#}Y+@VHkknAXtKB5FW0WWq za9rWY--rk=$F8IN5*y)-L3w>x_Vf?-Yi*>%&Ut+oiLDkTW2iNT9-;^R%30mLXt3cO zKPox4CU&kMzfYcJ$#Ys_v1S>8UrF#6jz7FI-sFnRubU@s+cI?Ae$-z z$lVXE?9LC`PcfSx03O5(1Gb4OCbvZ`?F!Tv4OIF{at}hs63x+nQwwq#WJm=WmV;aP zlgy#d`dnqd)D$dW#%6)Je0dE~M7ka14yhc&t4@I= zWD33#a_5ZSh26Z7!M%QMOoxWd6K$%nXho~z0VaHiYu%Uq8_!FZ07^*o7qJ9Zz2dos{q<0Qdc@jfNcwgnq>Q0d`v;G9UO$0 zW*r6`dQA7Rk_d=2TIjCQOu264@~m``$+q1M?@%B~6cPLu6$55+No-sGFbr&R5Y8QB@7 z+_E~T{&g`bLdgsbpfFp^3tN;?THVefqHNlmF4bztg5W@xb(7UA@$WJ-!VQ`0hSM5_ zMh=%eoLE0hnfL-=kyN-fZ_vN7H8vZj@e%V*BE@Xsl-?$0BaD;>0qjKp4KA~Z5E|=> zwHoGEHNj_8wOeC7x2uV&t&QG}GIb(;8N3Ts4EEl?AZ$^D-Z(p1dc+fOB6}`1$a15e z31+MaNlcA{{4Vp}F%qSiB_{M>S*Q=8B9_{hf1y2#X|(RQCNZY3$4Tza2D!I+ZXKS4 z9a9&StA$$z5BtC%7B!TdkyZuAWW?OMX+i9=x@k$cYp23+i!-!B2uMD<+qK4*yJ#dv z+u#|g2bn`gqlRl?nirt;5;c*erO9o`lYqk3KN~e`joUsa#(4&s>poK`*3OTp=4Uei9L)jK+z69QSNp5R2TZAX7Hw2OoXsuy6 zT%qsdUdlF$NfHG+aOSU9V~2?M2XkWnw(wbAl}|Nb0Y%7xc$B zcbxy8(RX;g?W@h{U-9}6nL4TO{c_6xS^1bbcABD1btoyZ?BRd_@ITA=;1E5&GLh;| zp0vbjxvSp^7x_zD9IyNo4|#Qc|1D33aAtl3v~c5gyQqnI^fZYRvh^;kF3&H6FZD7R zlcSqQ#OEZ*C+!NT@d+i0tsIW^@?B^RR5#j_84Uu7v|weD)qh(TMI~|plSA;*mP@J( zQr|#BwHcE)0vaUe3Xv+H+w?)k86=P`*^Y2V*r3uKUKL3@`YMtf!gehw@el zG$SdMA)O)AEP{{$E1ZPpis4;{+@+KD238HB#`#o@HW$QaUxc9He1Sx^;g)}~*nYYp zJfJbRmZZsm_xx6PdwVhY4W2&b;Hg&Zx&5kL)wc?XwRl(I^|$kd>}Z??8wq!VNlh?y zkj_GRWT-b)$pwdjLqZeFEbp|FPzf@sv=6S)=f#Ui5%1IX5>Kl>&i|+yLIemwk_!qy z*O|JC0UKWn1oD7u%>+(d)}4~sQ=r-eWMK2gvz6K^!n|Si%7a%}v%{utK0?rfEcw4`iXnFj6*Pz2qJU^6QVi=n7psczoDrx<3E92+q_>n=UWrtli-k9W)|TqNoFFYsl>Qa(03x21LpMetncSxkNy2>pCs%G!;q!~7A~~%sJ!Jo`Nc>^jOQ@J zB4gC71nazCh@CR98G_bdCyPFU%yeoyLR-9t1cqMqyDP&nQvr=QwUYco874G{(!SyCc!h$V~w%$GN_?Mq|i{#QWm=X%J4Em@Pdt%O( z@_vNQ=`+W+Pzs!~`lopru&gxJ!qmV~6EiE;Gv@K=dFu~OA$W4CzC0Y-KoVUSJ_PUi zi|F3f={_V~5v9WRgd_mVa>ki3+q7Db8Qk7bY4KB5Bqbu1)rc)vH0PIYI#5zH^VW#^ z1x->lHnECXQoL16+bwf;6_j zhs?Meawm`^dvS0SEzUsyh%vJyVINyjy8ZQ_Ln#_;Z7Ly6%j@dZHUXE}zN>R@Y8+G? zuHj0!8^Xuv2-$N&?j8gsv<038nFH8AV}xzWZ#F>7m51I$dL-6>74&sz zY=0PB&GDv1!Wwt>!h4;&XUi1Y>TTdSU{BABQ~}FtuB&$I9B4F)q}w>Qrxr_@M?IDr z5f~$y7D#!uILjofS{kTFP;Sy(^mD`OZ^P=F!{eX74~(yejZt#L?cXUp9h07(@A@qU z_Hw~<_ylMV`#pEx>$84OaG4Qf-OoD3-)lFhYbEgVvH4ttjAjuAB@5=r8^qgkNM2+f z;2BScmM7Jnp=TR2TM}7`xP2J&lVs;-CDqLPV7T?mUf&lXg$UDU`wzv-geyw^D4|uz zC?#H#SU4_kw&+JECnQ0xQkcu(GvHW8YCCw@Ug5aErs2(LZ|*v7uX6}5JkDU6&F84?Si`y?aiZk@=_y-Pt{N~DRM?TE z0pZJWJbCgNB8pIc^(=t(_Arj>zAW&kld^e>AmR{5vT;=-qYGTcId1^D(L^Zygo4!$ z@2lZ8$RbHd z2ie-BQWEATdl`V+nP@9$IlSqtQ-HDU!J_ihY!gMppeLH$qTrg52xmRZ#sq|`5V}Bm_S|B`)&8lzUur z=t#B%i!N8MBdagoa=kWYWa}UY(e;^tWE$1+SX+dard<*W(TSuMHl*5WRNy!~`Xve(Gsmd#ovs~aN4lvdAW@!0e=0oY;c(L7qy}KL z0fG6s5vn?uXxtePN2-cd`yxUDBt#-v`A5ZW5^^g8V@fMENd)_9GQctfAj=^M4O0Kc z#p!}5>FT<&W*58d{+-~!0{;*vmt2uZlWC95L3KD0)C5dXE7>Go=UrgkWFlvZ8jLOX zzkQr_<|yAxeX46KN-$dsc8gmL-Ine+DJ1s{%2KMYff!9i1wkkO`fb?Y(XLuvJz`14 zt=n<9p}paSIqF*ija>AKvz%L=vv%>5apQ$u#lGJNLQY2;XRRDyrX*g_BTxtB%D9CZ zihUC$tD1N%9Pe?Cn8j{9T4yZY{>B_(YTy~KRBuzL6vXz@D`fG$Dwu!&Iyn{6ofe~r zWQDnd`7GgtMLq$$bE&4YAl%_LSbm|HUVc2*ao6zj%vf3*VqiBHY3aja(%%r7*?H%4 z>*wIGLWkdAo?y34xKzcByEN%ULShvg6oV~B2AJR_BSvq^?0&4szsd!1dJ#s){)#2( z*c=KiaU?}vdf&Y+p^x+8JGalo2`V8w-oT{)a6@sZmBURA^*&A5%L%8sr2!K|L#mx8 zp^JNfi#DTbizrBT5m3l?GD@dl^=<_2WL#=Cp#DZmtpJ)%rz=Ryjd&DFMbn62X)8jYE1?Qlvm*TNAqZBP&b=6D?btMbB73a!ib zCT)Q{!PgbQklu}}SN^ECqTM&0V9Kw6l{$!Aja@|r8{C-daH>v)MqwACK+%VN4KPxf zp(`W;yrS?-{nSBV@X3av4*h)b_l%G#V9;(14k#&gET~^hB%oIyGPB`J1g)`I*vkp2 zzt1_-pM&1HOY=k~g?`E*W3sZ@Gs6fVuK7MyW@(QA|_rMl;0pGC07(j0Hmow7!h}AZDQ%F*v#?rq7I$-s3U8V zRab&(MEj_Bjqcp{O<*pXQ+cREdmUdne(Fnqaib%t(y1^iqy4O9<|u3&rB6Xlw(q|j)ht0@IVZZYZ($yohul` z^w^a=)SyYc7&VxEv10a976-1ta2|-MKq!x`pOy!Br^d@0ce`GPdd-vg2HT zDz2{1|7Eb`>Vs(V^jCj>*W!*okNOA!fqkIRpn5ENU6SgIKaE=QsKJ$?OM<6I@H!2y z+(%t&alT$T^!ym&TG8EvG; zS3jiUL9M)%xX&_XT6}&&zr4O4ojxdlwHi?>>L9LQT$bpW-WoYURHCa>wPkgd+S`u? zUXzwd$H!K69ftj6`d&rw>eC`Xg3Z)u6A37;U4d!2ml1;0zU<)Tq!_7O*YOxJaGb2; z{JMWO;em)Ah1Og-)wJ2 zF^M(MLN*W^fTjWF*s{{ob!+;sF@$?QfLv~5F3S+_BAr$AVvb~(NFFX|Xma#xg6aU3 z?vES74|G749T_YgW)??3JZ`)J5Jb_{ZsJgHSqgeD6eZamwY-wTxVw&vrx~`qThS5Z zno-INfzptrj<2old5Qt2Z}YH0Rsy)e)ep#%z7XiwG>~Hvf2ll47^Rc)lZOPuM?qg& z`gBUx@PtG<7>(p5Tmj$)LGf)rVOqFV0El-jwduX~cOj4NE!!M}hsihwWff|)I&vpO z?|9*sLp)Cvf@gVTIyl>VkGS0~aDZyhdGip|q~3{?XR>nQdp6siWg!*Z<5%K%3Gtjr zy);i&FvDNaxW1j5rHE*kEHg|S8AGA5lv$2ME+xG=7L+pE>JG)w*%gQIt}7tKCGd{o z=5h>&c2Fx0Dmf<8gUB`m?0Y#3y`xDMShCr#Fy_5bbeyI1^fC}TQB*7pp8%oIM6@sb zFhOuk1RnH=DeU=YJ6?3`zuVSr4`(`!!{-?1z2X9`!V5*o2f+7=N4_A(q?g&syKM@U z7o>LU-BVQfXSPDAH551une^6DvTd?LEjKZjxrXOz=iIYCnEB@0hGsp$VRn;k^Z0mF z&%b0HXH7B$-BLDJFvobftph^d=g*No+{!GR*aXj<9GU?zrR&iniswvkUbR;86s)3B zhbp`u%*wUMMWRJ2q@&+UDz_W!&0!UzDcN%<(~+VTNM^F%<8(w80GP515Fq&<0?_+}P{96(%@psPN7%;IoM}>T2=S7lQwpOmXjTq$LtV}7YXoW2BrOShO_KrB z88DI$icSuB277|)wCe$s&UUs01(9<&M$Lvghcez8KZUFV8>tDbl!|loI!KY|AU=t! zg29PdsXyxedBxGG>q|4H(FtN(g(gJaSmUa_Fo6nRmGsH5`NA4k{?k^{YqC8VP_tRl z5!mB}iy}6El?6<`aq#(CikR|^sDs=*!R9Vi&ay12m5M?lM7;su=wD8r2|-Orh;GA? z9sdWe`!a$?-K3e^dpv4x;W`RciphI>>b`JZ?TU6--Z+rc75^dv=}+$SJto&m)|5vB zzs^8k0&BJ;w9}=KW7L4Gag$%$)gQZbB-+`YL8)g_{bc2EgswNC(H?A1W*{fGFQ+RC z`Z(NQzaoL9Ly5)EBYUi^bmHe2J!nUvJ!Qwjo*9pi(E*J}#hZM{(H!cL zVIrbn3T8*&5E6_gLj(I-Y+TpVx49TZV0+7~=w>imN`Z0M2oKwbFqc{+bP~ID*1Z3G467p756-eV1N{Rnp(UiH5{?J zF>SB7+SA28z`!HCX5_lcSA%keO-MEZ2USIzrNwKx9S55gS5wc#Ajz3f4}Ub%JE$Qt zUa!nub+JVio#o$755=_5(NxN*Aw0@(J;(?@yF+F<35z#7=Y2#?v*;ZL6x`3G6-|2B znj%RN%e`uX&X8AlXWd>u%DUZNa!M8HUlof$xaXA5FLb@Tg!;kJCmrRXUQ0M@ z%hZo?Cd^>*R1nIX0AbX7P1}L#qh{eY*q=hL4XiB>;irO2>VZW1C$>%SE(g&On4&Fm zRNIB`rl-Jm5530w=DA<)bLJHHj-5^Hx+{C7T)HM#D^INu>7qbBW~8s=CPzo}>-s9p zhn#z0=QQ@o_!^nE-cNW1Q(EeAA(U z7G#IISU(r@9+~_QU2~K9F4EO<1VSZqqwLEkQX%R*qi^qR)iX%0-!ZwhHRxWcanfVn zDJavg38;Ao%3pI$BE%ro^e+E;S1~}0<<3?`6)qM|BI9Hg4xlqCgS}%VBK8 zD&Kuney!%ri%xCi3CS!Y_rr`eD1P{`>8Gi{4$u|Jj=lMmNTPwOi)X9Ut$|`j%vSc9?eUT{kz{Miw6Vx~`a@L;VU&8R84WFN7kZT{$W^=h!(dCP0c!N3n!Imw5$! z{*$vwOZmw&wiA!+&Of_edszADsPuXik{7?u-D7+@tI44JW^iiPi8*#-=Fo$1io(&x zY(-x*Xq5_U#4en*HR&b-=R5ks5^`fXu)WgOy0d`bMvLvk3^NdqWT!4DzdbxTKZn|y(KIe!jZMWyh_1bl}J{(?o9-vhJb{}ijrn#*oeySzm zZ`P~z$sA|3N2leb2+ywIa;rp-2j|_SctLtR$XU65Hj7VB_x#f?2tIH7~pad2HRg_&~1^3+kdn^i z+DBLmXDH4&@UanFW3W~5e6%?xrhhp=_<6|q_HWm=>Vv^&zcI0rS@vDhLFsu9cNzM{$ znU^x4t+@H>t_p}8aoVi!P2Ae))pqQacDZGa?oD*{4$`OP_p!;|%$V=7;cjv`Sul{D z6WL0lZCMM`cx(HH`mXt2_Q@PN3t7n8jm8)!u5p%Knj&e+1VqIQCgARMBTb(E1-r%D z5IRrbyUNtzXWgeR1mWv)Jxj9MO(m{!@%BbLN!@Y_((Y`XiVnbEF+epol2f8ov^5^n ze+`MYR?%nAZUV+(ua&*DULk@3qs z^;70QY=hw1rXM%GxLu@ub!;-{zQj>11hq1rbRewU2N!oB44+Lu-;jJ`b*17MU*vTP z1FOh$qlg5z`N5k4B>HW6>n{dqO-X{EwIVjuozTbCYPoy3n{KM>NB0~ILN?`Db{h27 zVJKTebCJB|kC{Nyfk=cGGSwH=OWFhFB-?fXT*94$5&8ZaCLbj-T9 za`bc>Rz&D~2;@g_=x1378H+fiYfCD$C~m*NzdO=J>iS-up}R@Y7o^dF|%) z{;Ed0+z_KNXinlSz2%%>x>^ax?zQ>+5McH!FDgA^lhJJ)s(+)8*U;5k0QHNj{o}>0S}(^H z2F|OFcCEZN8_-;12Y$ieHD8rTt*&i4b=ktFQjdWjv+f4`{x2r;w`Q)S0@HmFN7l3e z4*C>2j(uat<*3IyE$<%m=u$2n-_Bm`sdS5)c0F6cv|u;u$LJ&jcNulUR_E$`lTr3- z27)@YyQ|!-=O@Rmp3lOazMh_~e9Yu0jf=@owKkWvnxJi#u z;E!!z)Mjp?!{;rS7@!wz7D|OVPXMzHa`CpAM%$0zWPZGh&W|7`4>9h}gA1Lqe1G@w z*&%0?a9&)rViu2$ADANpgjEmBvzX*lZX(+aN$KbQr`Y{m^t!A-w+{v$_OEgIPa8Q&lzmby1w<3bW+lCAU zNLTuEqZy!zqes%k9vTXr&7p|H z&5Kp?YiG*~Y8&CdPs~b_Y9GBuBK4i*XQT2K^fMGV7~Gx)L}~IBsYBKD$81rGA%*9R+ulBgaH*ATsWKqK3x1bG^GlASXoC?d65$%T$`B~ zqs?q2!I!$mLPVxaG@?n)J(k3KviTgEgv1NK$W+mUXmT6;KzQd88R0<2fRtd&S;A%t zrKh$z+@j31f_vmx!H8rhm{oh6NO2Xg;#0xKiRO?A<=59ip>G9;*Jj6o4nmvQYZ%{} zhelQ>4n!zjmS{%{iDl*;wu!$|_DBw37o~S#1+<0mg z<8ETzyEfAFth)59cz3th4UOvpJ=GDU^s0t%2nu;{icKpmf}?JE*dVtC#Z^%}g*LN7 zFZ!i-jrMlgWJ;EhxZ(KHY6b-Q*CbdirO*9X9q#M;byKmxUsUSnapt%*X(39;&J zgDgyGN@R=4|DmDlasQw;TNGMOB$aDGt`BWc1b4X)`1PfCzZ)!VA9XlDP!^=`S>HrhQg5Z_eRG%}=(=RCwv-{#yHy@b-`NrHP%_$ZAXvtWMCmq;` z6am(b=nV6Wy=(U6$YX- zCKO@JvLsa8PA&M+rY+AK%9+g>f0@IzbyY+M*q&iZK!lxiGBc=g3m32gM>sK+V<>K*seFk<#h`^vqp6M&+k2`SG3J#Elq;cw z3a{fU=dPSnP6D8~Lf%Af&Ea3W}2}&#YVu$$N@G@BVqv&Zz_~*=E;{{Qtps~NanzE@? zL7RmN#s8$nv&Rax1u<94#d+tLCqN@=;~le|fr}4!IH?h>QnIuJxER$uqcwRah{da3kYKQ2y<(jtI3lzx7=g$sz2Q zP(#Y?aZ)A$9;t;I{=*7(@zfZ2IISA+<$95b_pOGyfm2QCRZrfIGxTf}A?M+cg@&B%|#f+<^#L5lt?GQ_N9Z zQp2D`gQ~Q^kV17$3aS zmbT%4N_nWt^6PF|MhTucjS#+EUk?^=vf#z8Q2-W zdyMw3E)K3Pj4JAqjOO+L7iUIQGfhSnBY?AtnUj?{qlmq&DdT^Rn7hH6nJvFTCMMq? z6aN45nE!`jVxRp#C?@;lR}#c_r8P1wP)TgKdblM*n`&xo+z!Oo5!1FRsPb<&T@*$( z%U4zy2FJRDGyHgO_MaB_{RAMZQ`HRXBmN~SD`mf933vSNovC9Uf4=Wuln=&d&N0*E zy^(5}f3hD8dN1J*YpUxEN2dk`-y%bvAL>b8rQcAz=zBkcBLaCwh$^VxH^Hiofp1|>jR$BGTIA9joN%SWYxG7zO+ z{63T`fkxo0dKC4>sUz>$NggXL>lQAq?ls7SxW553>`xYO{JeJVBJ8As> zsB-XOj%JLLa%(%4NU30_de?Ur=Vxr|r%6g}B#)%m0#^p5MME_&N!_9Xv{UKMv2Y@& zto<|9#T`y>@!Zp)Ov>`t7n)%PRX`TS;$?!}XL8d?>tcFA+ahzooH`kxgJCp|IA)47 zPiBHC#-1)ip1R(1=E`mlIK=UV=1gtmPxuAEAGWnHhOPgEc0=zYNb0j(XXxzDFw4dt3?q_!yackNjd@IO7wkh zN5l66|4%XbkG8%5q`$=$cB&aTm93(ueN%4vctJTeo>mPSZ1hvCaC#%R6}cRiO^S7C zTd&-%F<#I}{Ml*Y1LnJk95>~)tj1a88cQV(7yzg|Ef*P}E6K$@>#2)j!=gJx?2#Au z9$l%XF6)ClFC2~b{l>)h?495UM00YFa-*$na6BZ^Cm?fc?`Q2c&)3?PTl@#ue_q1w zPv1ZyXb_MD6c7;U|MC+4f6+`dHr^PL-Iur{5BB?Yh3&obFFGUabCAa%HZV@gmdL7h7s`TDEByt?L5U+c=zeUJaG@OKy%Tb!u=& z1HZElNUvO$)OxnrCPP_zuY;hp9{1%+K zP^-!c&0-|fK$36CSUs<_x;ZLxkyAu`A;)j*2GE{+4m}{_-nxd%{`r`@sFB^u=#z`sUm3;Kh{{LvgeG7Co@sfCG;*oq1_aXqWa;;D=Cp z;nFkBt5tsCGk=Do=c2EoTF7*wM8*1JK!~ZSmK8LJ_iRJtpl}Nd>H5qWIxFaWW9sfh zYZa{nc3Tu${fEg&w~*&eT{rFQ0p^M7Dpq+nef^azGd0=%z5in7VMR?=In;FiRrYRJw2&1GR= z6NC{juwQ4y3`Gze2#VlBciXhqm?!kR7SU5o)xx6~Lg9z{(a+a8Xzsrtc*IY0GYyGH zTw`w`(MY@{L%Sa{NRpVq$wl{rgZw^;exGS@3!eH?GNhcq=z1Dhrb(+m+9^%72!E%5 zRyJp}?Z)!h_$(bBkdraev=p)mHs@G82m`x#HJ&VZL$S#1;(;KNfdUuE>xDgWmvg(R z&(+Z+MFnuEmhZ|3aqF& zZ@0OzBa)-D85KG^bQpCu zs6bRaE&@DdIZSA=xRReymz1inaS5(1ffuECFfRC!rkSxJO#Kgr7K!UqUeRPfE=Zh^ zBk)q-x&h9;YG6!uFRw5OKSxS{c*;YI_lGZj&k9h$=%#U2zqscgASbs(e%$p_&bv?= z^^V)6O+*41w^nsNLSyyE;IODJK69oZp)oD6f1C^OdIySfybL2IQRezziKAkEK>P~T zNjn*73p!DUMr+@<3Q9Tvk7xYjSB}USS0~_1!sk4gefpC?95NpZ7RD!Wxcx4fdq8n% z699wD!XyTz4Z!|Lp(EplfEdYcH_n7!8hDBL^^2qcdNdVT$_aw;aOu{wdw$q@XqVVT zSAEDVdLI|o93GDQAJw--2P#bN0>7a+EVc&Qg&_kiTFHo3T0^F(0~M86{u8*n3x`TD zunBYb2rLiE!z_X2N;I4sZzz9E`9~$JD4i4ZD}X!0sk+(;wCtCIff!k<-ZiXs&BIX|-P@>Z}FIOqRAd@3Ak&Y z!Eyx5X*VruW1!2YDHB1W%1Xq2@ONI@S;HwbJ`OV#217f91T>UbxoO9#lUR0|Pp)}Z zz*5)1(+0EAng^L_n{jxi zqd2V4t5*(=I`cu{0Rj0Zx3IG@vTgo#V!8xz@lUfZ;X86{9#S<4XDvk3v72gK>Bm~} zGJrKIcyCxZ3p6?HakHgKQYboFW=T}q1L`s{i?s(XpD`?>ju`8}E)#cj;f;7#6nGja zn~tQ;F4pdFpk%X35>O)gKu$WxY{J|d>7{nG%d*}l>zN;uqusK0CYsG4`Ic>UEa7T` zji*t1Q8$<`4hZt&%t^p8V8R$6r!unIVF_UQ$D4ezYi2>n!XY4O+h{x6OieBWp@_!b zF^tlE7&G$cxRKs8vq`e!rzu`W>Aev@f*T#U0n@ssgb<;LtkXId1*G1{fD#1^eR&v{ z?galrwMS1Ho}n-}r1ak|^cB}MolIG)`a;Cf;{MCw(+gJoa3e<75DF&ih4yw5*L0r! zc2{et;ftMs&3veDmdyL+{w_EH(&V}MSRdq)-G}*?ea!pMF{P%@x2mtbS;BYHq5q4z zMnN_*y!_3~naKtL5&bU*DgTL^bCj!-jJKMayYujkxF5vsiXL;GZO#`$RW<q6##% z3PTJBFA{?Ji6#tQPzn?N)wSB@rhXvel*Jm?Kv<3J_?^yUz5DZMcGdFK@kIEk`1w=? z{w0Vit#nrT_W&_>FM;kGI#$bdSBh-_!9!&o`*%kN1b*r^n4%(~Z8M z@8|h2=aYcv%N60Z@4w53=(^e2?e6F61Ai~yp80adzONGv#?R++&hWmMS9>H+nX?N2 zW8h=?$!hp1?@o{3%lULP;iu0>)m?O5zW>wf3n8MQ&r|qG9isjH(c6yToA&f)b~f+}0~f8z|t+`;eldpWu3^S!<7s>>(*4_;0Fd%*_>;Ty$Q`_AFf%{No>DgTVIcXgTb z#_#U$<@7_(L!V%e=iP^Yr~3_~|I6g)?E3^^pU=an_s)oh!49wB`~3i>A|c+x#;V}! zzb^ayK0jZNhxfj(zx%1L?{EGBd~f=74-ZW{7iN9FkLkckjc^Npp9kGO@4KYc&&euG zoFl<)JpI1+<7tDu9(6A$r@l1;0S_;a_rt$u2aE#V?fgFPp|t{nf4=q!k^H~@ zM$ZBeXW6a2=DxqiSCqi1xB*kq>=!cdn|yTlq`#k?eyd#9=l}T-ZLjZBv+esdN|^U? z`?43$_%(W`u~VrMe)DbYa2LHgb!F4DPw10xZ}9#yj9Wt|@TRmX5Et0}RAq1lcYd&l z^v&rh^t(Hs-g!TFqxXMbyU56IP7(Zkzs20Ncxrq5+&lAsvHV)`@6uZu-LX;fzc*l~ z3IBSbHGkah0WR)rf87T%mh~N<3F3cFy0C5?j`S@~OZvRLPD6eDJ$v~qeuH1%oByEn z_x~s^5j>Y&UX>-}q`p1*I4(|ED10(=awN2@S@hC5w+tl?Z|V|Tltga zw}aFfxzT*Ajl``OuA3&RU^Xq@mu>FbItQ>~unxaD;6UmvKbZ>GUTEzb)rh}04^L!} z)p?1mquiod?kxL#@jKs@wxyg;-plsMqGLH&-}T5<+1js0iGf~Vo))cVBg>ihl)#xs z?nL!iRQoJ1uVCib!PKO=cqR zl0?%v`NI*G!HDBMd#t#i;&sC3?t->p)py3}Y?v)B^(Nh`!gK@?x@%B7;ms{7t^ zk?Y*dX7O46)pz+JWx3UEzJ8_g43Vt~pnhkSqB2_*riuxbrS7wQ99*UnzZI6J|8_1x z$iQZyU&(MX*tQ{V|GHevm-Uvh^&@usa;7%3_OwvkU!JonO+=a(I`PwIe4Suo#fG@Ml0-xfwp$OMAg(B0BA?;<{SrfkT^q zlDw-=d{H>O_~`DM!D3s{w=Cbgd`A!2z~|*O8A=gRk?`|4`ofy(&00#fLu;Y^?93c+ zbzGc>SlX6qUhx&h?9qxt(I$&$Jq1Rf)GK!M&ve8NADY4IwnvOHQLB&2d`X{}J9gO60Qy}QR|H_oV=4}1_&~WOE z^C3LJSHE5P$X+~B1r>;`6&fp*2? z$Cy?oK{QK=#mZ%mYN0Bkie^deSgrE}xRoCC&PY94(Kcz9)Ib(Y+tF)>S+hgOsw=0? zc9n}h^(-kr;P-^Pxl+^VAXtkIY9Q5;rCevO?`4Z+x!XNJoZ^#*M%~lXhXv_O$A=xQ zy@wq5%r`!O;IV&O1AHF_CH>39{uGXm)i`_z=M8eW!L?>S+%x6X4~cAu+MyX(i)FcU z&4p~rIMA`&qQyIAet{S(P|`O%$nc)St#j!6!f;&R3_)N@dtrL7SC{2&s+NcSCgNBiiIXJ7D5Y+_Dm?kVsn**R&b%O*fdU zyeyIpBIb4`a=)Rhk*+&AENdH}8sX(`K&zXJT-UHkR?^H>NPo3J@@@#%G(VQ6uIINj zuWbkcHRRJD2f`k!Eq(Zl?>iepOw}~gqy$Eyt?HTKJ;+=1Mx<&14^h;$4Li;9$?8&y zjX)+WufEe;T0sqZ$`Ttp*XdTfs+)ndy}aHyi&G=I0}9aGEw8dTH5OxIZql-4^UI@P zxthoaS0V2)?Ts*VKt-QuRWvhB)6p=G?5QKatk1>MX7xJ3LUXewXj4r+*+$_?$=i(WylU1Ot1~x=gkr1yY@v~OSC&U(TkE`Vy*{BZ_;|*~n1=PB&|VtiT(No0 zk}b)F@|y`bgrK9DrX%uD>LdXv(^$0}f!;yRnoPrqLLDEww5GSU>TBIVUviS^(X1~I z=)pH-{DvW`nfcG3yWba093MTYMVDBHm~H06#YrbV7N@>5oQq_3x;3yJlC305+FvZ8E|`BmAP&-MngN*P3lBd*?42Bpd%c z2t=9&;>xg4`WiYS1J+b2oHI&XYPhgsyWVPXqaDP96^d53jIs&Z#~7j1)`YFftM>Y~ zs+x)qt?w`24v9`C)z0i)u;Ar0HT1M@(v-r-1UIUMLTYKA@Bcw@dEOnhm?D%qhRYmU>3>OSF zHGnjTy)}fU^3C_6VEOu_Cjo~`rMZHsA4fHHyDbK1`)HTdFygS3u6XgIMvn&Gw02kQ zM~pFhncWyy>hD?Ew#CEQZ;AV6O#Lv5$j13Lwqq6dzm~pqKFN3AW~|BaC-LobPmA8! zJ1tf8t9Y5*K>Fr#As5-lH`2(Z#(!t(gx7YQy59^ z^B6JBbuE{%dSDr*4x;0VemnIb{6CmG(`iR_8L<|{ma^6hLs zc04y1Py9Cr??;PIy77v?s9_>>HpFH+9zPPojCM#fElW@_v-iqb+&!CEb~2f;>*X28 z3#9WWkEQ5L*IBH821jKVTyTuKwsG3lb?xafd30hvrE0koV0BKK!fmm*2P9kL&gxp| z6lx@)EjV`Is&fv!$C}`RInV+%Xqw(`GEIR_8y6 zHU(|_k9`+T)aG@Ii{oW=t(CyX8#ZDbw8RzF=YF1Z7v_ZLL_VdhpAnk1_&EC9|BYs} zXP>gb!Ij^gW}c=mqA>#cq$Ct9$^>WDoWWhn8tAVd6&NL<$_W(dGi2xqw3WWtR4etS zH`sL^qmkm4h-OpMFYhdxTrE*L)WBeYXG7u@dqY+78?IHcAC}d8Z`%JL4=1Yb496Wz5{(JZX_9jK%HvQXkLyZGB=SP#2nTGaAv1cn& zu_OWH=Dd%PrKL!7N*xp=>IQ7HdG-8;=OEbQGvTdVH%AknN=k>p(JSC)FB-}J&VkqG zVR!tX$HJ^}XN_$elu;&8QIym^8;r>!#J;V*gg(o8I2+d&$f=|;kD{{mS0kKHg6_#L zG1--xzb>$i(DqD0hZL+pFg-`Aq3-n>9X`nF9^0LyBQ;cg?o$VXgp7*USWE$DgkE6* z%?n&b;yO}00hC+5c|49ZOFloi?sOS`H9?7vmHIUGKO&rcJ7BCuRFdY^ zb&$(@oVPEDfLWATy@%;&)vkFQe-!Y@Z&k!K#9L6`ML!Qpf$D_4mwe1+W8!kG_ykC) z*u(kogi?=eA{A9eGutSl>UUFS*-&`QbKy3UZ3IcrGv0A6Za_{}~_ zxR-5Y%faPdN|O(gu%)E>`YhT1QG-;E7(7kw63P9v8TPrUFf+QlwSl}2Avs35eeNsmqct)E*5QkK;^`!uZ`NyOPe3cOfK5XS+dc6~^5Epg4s zFcHB86)Aw+1(Z0!^Ocnm)sKsA62q~1*^%v42zY%QHHIA^W*$FIvM|X|tsj|dgci}Z z@-JbQ+Gq@Muv9+nkQ{1BQdeA%_gATzqeQZ$;Ftg@4y%FbW35lv4v<9+m-q*q6xrMU zb97pvNr;+r0;urm<{*jm<5Tu!5JmZ_;DxgaMA6TO@nUi*$iLcgI@1mEQ)85O4^ZFF=Sj-d2NeX47Cj0y={2!_0G2M#IN9nO)OHGK zj$Kt%lRzv>C3|^s9xSfc1d2LmG58N&Et{af?pO zR#w}wN93Z7l&EnGD0?)Tt!!dsP2M)Q8(V~{TO_6)N-T8EyE9VD=^;Uz_;d<{;4LNNFSa<5HvfyWn6M!$fYNiQ}==O{8=I?R$4h92G9N7yYitU5*mfMy9MV3v5>A)ePy~Bu!S}`4D=I6-NQ$~XJ zhDUQ{DTMsFf0)8a7Yv$ZctNGOMjNNibj$$?-)eugSzT8=eb(kRSs}6mgo31wl60%x zdiYJqN+`ovionBS^dYL5fK86FXYzr)5MT3&kUW)3sOsk7b|@z?8fc^?6gDvX;Q|d} z7baFgI5xOr>FW(e&7to^3(z&|O;PrXrdV~mlZ{-Ti`jf=)U;hZY|eTTUJ|Mungv2G zEeP8A{T0jwXn_u$t>q8{-LIL1)?i^Co2XA6zOED)Rbfk-5|9#>3c`E^3DQ`UA$)Yp z|NE%A{C9c=k7(pBH@gdH*g{w+@e^W>9TyAz_<+}LuLHrhOhYJ%v~vc2q3M0%h<5b3!*K0V9tl7*LE3# zbTZL|v~(?c_*NB56CGlhIT{SS3iZnX&y2y%<)zowQPL$!qdwO_1gWvZuHmou2mb3O z(pO~Y?e4!_*q4+BxW|-j9UM9{Luz$4oa8`~D0o_9)6C2bP$NEE%fSc*Bd0tzL=GdS zJ46EXY8zZK=_$jF@nN2x$fS`IQUkAYZL-T3`kA30MEb^(T-qeK=6zrdtGH09^6ILQ&{4u!D z{e|TWp+}zmG+iaBGY(k9P36XonAb*JYL;Q*g}vgx`ju|RTFn?#Jn**L-&B!C`yA$7 zbM&Eb2<lGm-m$xoS> ztrvU@i$l0A@r5l4rzz;Pb@!s=qf0}FF{G%BC)HIDoWjHM(}aT(m4&av!P8sq8>VE| z(VW_2V0-I?N0&L*#};`uXNw`*cFxH?n5*q+0!9$6g#Dw zmMlW!zo+sQ)!S*~Sp4n7J+UcRnSR)MTflyoVe;4g=ftZ~rYe=3BBh6G`T2 zqIA<3YKawc=&u%F8)}2GIY&4n^xGnN9vgEa>OrlP4a+4It(%yPt9iGkbycY0^~%uo z1P1gMXK{o;QOU5*Yys0RBj(LW6Ef-7x_ZIJ3nx)X7EJn(u&94HAm=?r^cZ`K0$?YL zr{j`2Jp!>-=-Cjn#%%hI^}yNRTo8%EwG8!BOh6mRpC`C}ZYoOAO;-e(A_c^Pz=J@B z?4~gHSl5LOBR0aDXmN0sVY>yY9^f?-RbWzKTTaqhEn$WQnD|1(z094Zq^9%5-aH~>#Mx2N+ zqS1Nf8`|KLAed<$ad2+H>E7R;)u)lwlO0}>;ily_ji;JQoU)+WDf0W5647n*ExF`$ zH_eM1f}OG^=cXikLnj)Dg341FIzvYezwj4ccjtjmonPbIA4sC0U%lXezjO-r240Uo z?z~ZIL~;rh4vwkXjyZ~!0Rpcu9M#<6;)9UjfFMnDCPu&r8?2P+{5*L^uj8|Z>UO3OXpIUbO$U@HjQuuNfOLF}}rlMq(uLEI3l=g}WZ2_t zWv5u1R;n-n%&J%MH-@Lm=*E{?8-}nEX zee4MQY0j8IYP}jr2D1C;*J-&o6j}G4O^UHu@W_>SB$I??JB-a>u!5&jrO~N#LE@j9 zIRX?xlC*CqqBVlOAW1OS-n$fGR?)Y?dMQlZ8QE`ib{5$>8Ws{53MBJ09>Q>W?nv@_ zW5=f&10Qy$Z4rHkL_&t7nRF29I)x9062XY8;%=wUrijKpQvO&&y5Og$j52z!c_^-J z$4P@5*)u&5?^>-fVb&S_>k z061>WXKJppWyOBtILmwTH~9i@`}k#;jDdS7i1dQiMNouHtG8?9&tD_=kcq!WajMmL zfG=sl5zIB)jiD7&W=xN(HiFiua&GPvF|(e}l_}CsK5VnH-n@a(QuXFc^YEwuiux2@ zf$TpafH?NUJky;?`WqoOVUd{i^x?$OsF~h6f4wPbS*uGlhfgtk~Pm&XsuF({feHP;u#nKDG ziNloZQ~XYJv@GH{ue_3OFne?6imluMNK#6~~oIOFSfd_33*!GvW(0I6Ou zVZu~MWXBsqjO&J}SK`t@9^~e)saMwvY-P}bZB%v?FBaA0_YSq@ZPkw;~N9KvCxz}ow+uDO>*ySt7 zusPWi^N-v0B62H}%?J<>aBZ4fy6c~_z0SLJ9=~D}6c_q!vap}S1P?ETK?K8V3#jJK zmzf#K18|)B$H9CQC%bU#w>3FBtMJ8r7IZekj>QJpv$?j-rEvu4JJ1a$U^QT={O))_15h1gNK<_0dB zsE_dX*LcV4JCDZ4m9Dfti$>43PssW%1H@lIQAZcZ!^=jf70)<@07@3~o)PTzFC%a= zUamLVq7TW_2xF6R|C3erivY9q!LZ?RYln7qoJ$dC=5;HNA)&8S)@;eCYUfYPI^@~v z@u{0BI##x93S3qllDp!<;|#4)sJm9A$=u?%?2A*xsv@_GCd-sfRIQUPuRtXhY(=0n z6jYN$P`Bb7*tXiWo7;u%PVOG&uZxK6*8~LCDJU%sEc)L zO5!5QSvV5itCchq2P^lakL~rn03mSZnFut|MzxbqQi- z7a*60*)raUG>{`FqnDTY;3OwQ?_h_!sr+JUrtJrB?Sxs9lcRPKT_`oY?9Wm?1(N&% z=6&hSU0bCU;3r=}7i%C)cbiJpqPSq)bp5H1LzUUwA6{w%ZCU)1l(Yf;Mv*>VPwW^E zH+Nf`4airSSsaxTxdj$qpE!9qoFDkRMCAH=B+n8m276A}nFxg78Vg926dD-dGu^ma zZf56iZu*Z`e2-Uu`~keH`8zZ2vxC43Iy(EwGBg^VKZmey9iA9zShn>biX!$|5U8%j zyFrw}m=vm~y2{?^px39N(N&3bT*ff_0wC`)L|2AU*Nk5CeOlNIe%z!fL(Q$DQ7Qf(Ij5F6W+-IuGA6=PzwUJ0`viwh`KPwBqpRyzhqV$`|UF8SlP2Mp-gc1z1ljUpU)i1mw;licU7 zY?%2}W}%@u!7(`p)*e-jH=U2Umw0x&<20~>ggmF#KO>>Z@#<@M{H*k7e!h3J@~9X2 zoN7l9v9Qn7-X_yf43u&{wTVqpi+jYcRjqn_VMm``Klt`4jF-2mEF3eD%Jk%-+MHN7 z)M%IBHMMVGh+_I< z$}`m0&=p_1^>Mk{r#IbD=bBzCtw5EE|GDGHjdykr*l`IS)Euj) zQ{d;#<}D~q$bD|c>>&xAgd8PiF%tFQQNdY2iu(0=-Dj7nD=PXh&}T~ae#lZ7qG9?0 z#dPGz3{wZZmL_(U_qf!D45+c-Lv=~H%Pai%RL`Gv@l;apJ%BSn&Z}>F*`8N~sLGgR zhf_!(`|mHDZJ6l=Py)PZJI#+|L`cY;<=a2LyE4Y`vYrLR+lEI)OMKgUY0}WOecEDF zM9Pot1n~NlUrLMJ zayHQW11-3`jL}%O?)9_e>V`dPPyp1jp z!6|!eA^kZ18MieSu+ohuQ4*gNihb4+aGz0|9Nli`!Cm69)%>XRG+I|A&RR%GXtCMM;ePqopi0n_wJaCfYOe zOP}}nq_u;Yx7EYYBe|}jK#!e9slOt-3Nk5@6Oc6v=?1rNpnD+NsbS9_<$8nC$$r&s z!1~1h!${b9j|R`27UY${u_2o~SjbTog;X|6iD};I7v!yJ zNSZBlj3q%;^uj#n1IDC2-K^tVao?4B^8U{>C-W*46Cs{GQe`hvZouTtMP)0IJMTl4 z;w`U6YXybTc-ck-Bn8%2yG&Es?`VmZ`gFO4p!Dlq^z9)k6|t zLnp7qnB1nwo)AY6x3|lfHitg_0PsahQ_)Iw|N5{3+ZCT$f?QT5vyL6KHs^{(!{>wh8G()kRF|_qR)5^Z`uj|PMv7?Y!Pkc#EZcuj3jz`mf!ioV zz#KShGhZ}2%pT;Te7l0bmDjy(ec@gkZIfo}P3Z^=pQgKxLqt4o$KcCO#FD)?@Z3Qm z&I#@~E9J}*N&8xGjL+A^3A-E4*(o8*G%a^Ljo}_gHY+hqpgHy5I6H^v%%W&P$N6Jc zZ1bylcKefqLSkIv96(y2(Fc}! zsy(lzuIr>`Cq*nL@{&FWo{b%I@Un#KIRsg+-yM5rV&QC*73bWR!+Aol{A+$fdKKhR zX<|B9vVBGcX~5k;1vqH0G%K=!rw>$wul7fs8cz7(%J%Gz2)yP^xjeEm#d{O=j^ZrQ zbklwuRnZRU2l0<=Q#nU0+WSN>d z_Joj7L9i2cbGA{*3@#B=B*O6UDb69Ezo?9Rv2b9PUP4}nLwfXH(%VdNDYfenOG z#hqOgM$kkeltfBpcTpeplP=xw@6xf{wtyUOoREN}p z^hXZsV8ojcwDm@2+#R2=wdLyx5Q~;{ewNe#^@Szp(D01Y@mP{ZL&> z0rLcZV!?%?w~``bV5P}=l0Xa_lYsU}7?D0fD}wy>heq2tJI4)k&cD$qc>fXUah;El z<{_el0%6w=-mWE%>rmuLobX3tkP9VAwM7JX<5(aPtuV8?bWe98zRp8M<{8Y4E!mQH z?pOgrewL^BsZEC|8_wa;(Qlz)QivPg8I*z~97``988Z^MFgqIUZOik&L>aVXe|z$Y zHO`9B#&tm*e99-T=xcX&Er(+@0;jh!~&%p6h9f(Dv_?)eYHVi90Pt5X)hM&G^jp-_3E@dq4AJ(LzY*UiSs zH&aPV5S>L+DBaMAW0pSanWTuRqo?Umah)G?#sd2m?IT#9n)7bJQon9sY1{2DsSBD2 z8H6^}KN*i}$2yUoa;ULG?>S&DBZs*wamo#D1c%s@0$xvG$EYh7OjzlFUulDToWq$~ zHAU3+k;ZV~Rzq}_<1p}WJFTnO08HC6#XufM1meenF5E-INC^#)D}G%s{qnWB3)J=Y4ABUJHiriZVZ#g# z^&UkkA>oa-RjDF03@#%(B#e+XqEX!U;@vU zL$C0(ji)eXO2^qj1salWFzO+&3)--}AnTRyqR^G`t$LOdc%fnjR>~|wkZ*#S_KG(% zIl#C@D&C*VdI@R<+Q#)xKt1Y%=}5uZ(Zb@>`H}%KEfcDq^+=3sJ@Ar|9d%h4r(Omk zyvm7MbhJ%FtkXx#EOg(?@(}?V{vV4hAx}OVa%ZYC-ow`e8pH{7JNj*{&H7 zqQ~ba`TlN_T(9@T>uWzB-j$!E!0oxej*+%l#m_Ro3I48%ohx-q@m2F2f`bX4c>J+U zXC6xFU9I{q$U3&`5Afw7AfmOHGeZYK^7;P$br5y|dJt(_!@iE8qk~VykN7_?3UOfJ z!!N@Zp`^c!DV2VFRPw|;|D_h%dI@IF0LaX&^E#GYsQCbCcZ zp6)(#7V_3(q|BP6cFgD%w0h_gAchra@Q#(T(;*%wAWJ1>DKq}f2igl0Q5wSVHS zatj8oQikI3mUn!iO`c?S&)1FPTEndp)L61wV7G`TbgZc_%wUf1A27=YCZLss$7?L; zer&@`p!3Eg)~y!bu09@ADlul(@Y7kVK~FFP&R_Kgb` zWDSr6WOpgK>D0V{K-heIREf!VP&1x#0?_9zfv{H2-8)@GWis5(2**;6F-NW|RgzaG zZs~Rir`n{aeua2V9x__D6<7hWO(#j5x(G{lRGxD=S-tHkFx096L|L6RvyTN zXu8@+S_M;C9v6~EvqN@`0am>g6}M{Vq|vFO?p%0%5JilE{BaAvDy`%|j*^*m%ier% z6?6{#A9*mXk9IOR+@YHT@K&+hF{Se~oEDkvJv5zCJaWd7VaONmy}wfa04eP*+oOw0v2=XUxu>Y=C8^wr z5NZvHr+D*O#6yjg^ok$9O;aW~t z;}5vg$~BxMi?o?0&4ddc*pGiAZfkT(c*BQTW!LV&6Cg^qzsDD_3}+{;_J2tMQ=2Cd z%se4PGcQ2tQ_&!_G4I2?aZvSKZ{v-qcqdQdmuT(0rTa~!$4z*|qrukJ4XHFB@)=g4 z9oi95*K@aRpafS8-J1~0!zps!Qyz8k4R7CDt*lS zJ1?--B5rq}7COlscs=0>6&PO4$ToIjMpu|&-CzFW+J0HnFr}*)JNP&1>LmG;lG^Ao zKe|;V!H3FkF$a(=Akdy*{Pz#hA8S8QEVj|z!Yr;4;eM#9Aj%wj(vkwwRw9;6`dnow z7G}V~W3tlS;-s&-;q|h3uL>Dfm!6VJx}+f5nP^i%q?VQ}6zi8X2F5iec&Qeb<@HN! zOg}M*AZ%55SIWyl#E$mk*<>nmi>9ii++3FzxKU+HANO9a zYm=GLIptgV9t2GBL|oYwS5yCx4naMbE{4@C_U7+V>T<5KNYhf<%P@L06V(76SiPr2 z1)w^0Es>gRBZzp6E1J2O7NZZYEph+>spBp`DHU3Ywia#tX4L*MaYxxH_OQfO@!unm+pVgE12BHeZk&!?Sf~&@gAIwD zef{BN8%Iu*+`+spD7!Uvvre~amG;Y`H)77STy2{AKsEjPVYoS~JB|0msPz$=!3Ryh zQM^cXTm5KHeL(hFojxqW-5pn}0wN!{2t&yMFxOvQAa9_8Po2W}o>9ou(k`R&*~Ih8 zK_pDa`iIFlAI|9I4X|m??5c@c81V@ zRz>kh)u)z9)pxAq$(VF2+KffLm4%NTpja;~8I$Ce&&6-APHpeNz;RR-RDV6az?xV3 zv#p;vmatY)V=AfWVu}3OTQIT(oERDAQ}->Sd_8?8_@8?*3#?*>cWVS1IY@7eu7QByH_tl5TwQM$^g{Zo&Qh+R^MR{OR#S$ESeLzU2k9E36f(FS*`cB{0pQB=^r-0<==7=eM(Yln5FPk7ybx=sY9FeuG#mLV}^y zYE%y8&@@0sfyI~rIYD20CYk2nPk9y8MsD1XUvi9Zh`>(I%uku*yc(rMb)w{zudyS{ zE*Yi?vpbzC1m6dchKGwL)^1}mWbk8-qfh#KW1`_@d&#)+dZX-(*6Md8fJAcS!A*iu zyy+*Dy^PMP*j_A0Zz=U-n}uXeah9&_nV|V_bU_Q}_0`!FGT0)2PH|9OfW2ChhD`Jn zMHt;AM{Lp#GIrjrs|LlZwn3S!L++5ZsjhNrw)V9n=l%?Hg)&jQ;>U=}(N)4-bp;5; z8dA8cEiCJ1T3^s~oAw*F2C3XLUal2mR6+ZZR^+~LPr_p7iz1%1O2wtB&MqlpECq`7 z5bE5v_`n{_5Nf#>&^o5j*lLqj)u?PGqM|hC6@-h-F@lr*IA5oPb!{Aa0Y$DtHiQ;9 z2j>)1Cl{6;$W?lqxwg1n%0`T)wL~EMO(NU^m#!5)(RofU93u7(2RXHw_@0@t$hR)@ z=hXB{z37*dHHZ_>_VQTf7Ph6^+CvA+XI+NV-_4+hS-*8B>S1BrI5{<&f9=$CD<)JJ_qR8)2TK4 z3mHo8BuehVsd>{x?$0*fYX%4_L2cB#T97CMuGWw1!htNFmJvk-(e=f1%k^7dk2Kjm zbFLsU*z4f)tnb!Zun1(!M7h#qH71PO7TmF}iL@-+Ce=Dksc+yvOJ2c^E?ub~JBunr zRY(&rYsOss4S35ZU5qC%AoGvD`DE(8aqnHHjn49LB`TLWC&~3_Pp&m?K;Kiw_#N56 z>-nfkCOM$vha_gGV=Ez~1%Jft@RGK<9W0s+$WvEb4&Ocn@%rGmxSSz&3z*RiOCr<_ zt-uWnq5RPYEL{?ZQwVNjREgTNBYxzpGp*ec_q937(l78b$X4zqZ29F&yM_9;y&isSY+KxBv zzi2%Lyp9|nfm?5ovijIbn%ZOWd@mPUE@eaQZ6B!i9YsnO#S?=e=;%H5mP7 zQV?&oHXr_S=*%^3Cvf*w^dj^NdnRm5-f)3jk-Ag;$w|E9Xza{T$76!ra%GF;Ae$E; zm`i209UWifW(}UO%(Z-@@!acnV3^^yQPzQlIj~@GP2G5z4V?_1;01;mv@iBk9Quix z1@jnT+3nyY9Gjju$yOMT(jAS>tKwg;4huMs%F4WV@dSY^R^t&$MshIb15I&vVYL?y z5sq2y~gTjYOHM}rZj`T;<*Lp-$PiL>#^mAt0vUc zszb}|Lz<>#AS&CjHLcl@uMLkOTX}PL6^j;ElN71fw_-;-7n^YSv*H`Ne&e9mW?&7w ztFku7#$~gUr`M35L^*5`QP)tp&J0ei8BKyP=wxJSH?7%@=8qKiY+^ZH`A`HL3g05# z%Q)_ZF8EQar*SH^ntqPz?07dNdnG*3%w?)bd;ZZhLxdBMY`MF_DgV<2wk{v!D252T5giUE^z~qExPlvfjbw5wD4tXguer=uPiYc!{YXs5|vEgZY zWvh`~fdGkWV<$Z^J2mM(tho}OnCZxkgM}>bjm6n!M96py0G|Yj?}SzGZ&ii*5WL1N6bK$0dMogWMX4zV6iMmV4ifWy^$68OOP8 zEO_ZBKC%fjUQ`a0?hMRz68JSR;bH-@!2yP-t8*Ab$z#;B{muhwevs{_E)v>I?2~rH zi9u+n9M@$?wpTWz@H`}gba+Wm2d?5ip7H^#Q4+HsUA4|x-SvzOgbxbVkr1?4;|tAb z0e1h7yY}mQ5N7s0ee71wQ3rkO^0bpS79AF2(Dx)MizBA7Z`)4U-Rif+;-w69_?D9J zI8ZRTMzHfs7Nu!bE;vzp*Gug^zas%)*&-mk-|1Ar_9xe>Z_MD#v(RiAhad@=WGcHa z=h=7Kr+Bye4Pr$7&GAdmwCbKO=>=7opkvnoS5Cjx(S*Hp1N}0X&Rji*v5mU6KU7jW9k5deR{zStz+lWs?pb)gg&e49JKL0X3f ziZn_Qy8u4_hC~qWBNE!`v931F3Q{n;#}VuobLk_(|HjH2X)BI==_EWsuyIOug1^9T za+-F+{%n=+Nq&;qnnfvFXST=fxYiqE>?3?M#)6$BR$w1dyoW>9uk)6DB<@%Z;}ngr5cAba=+_WuqpB% zbGD4oBr6uANCU75ZH`Y=YbmKDCS|sy0!<7pI!5|%C{xRJlodd|Z;2F6j2snaPLq{f zb7;I${vs_BxSSH=YS1O(R2VP44@LzC4&>IROE97Dd3ck zIj?UQN%bjd?dXa)++SN}k+(EXK2w@Y+W?n$XbuC2m0sR-*7J}WmL8g;=bDm9)Lu6m z1dX6h=XI>OfNPLrwBM0ol1wtHjn0e{uP9E-tbtH5XdT7&EFL~R8c`BrNeu}ip*$Y* zvUqtJz*zoTx0nsk8t7*Bi9=Uea{&Hz$j)s`H-P_;WpKrsVK!)dIXm%Xu3l;%&}G;V z@uzH}rmXXeT%60%GOl>uaEp^GY7&IjGWMa`4qDZlXYIk}6 zm8USwH3D6GqSV9_R&NuMYTnqGru_1_9dIghQXXULe}CQAg;7-bL3olm$iI7QKDk zE>=U8vZskl8dTd+hEP+m$G?^mvzu;_3knROP1^JQo=$Y^{ZY0yEMA_@J0!?Vt)Q3M z%#^tm^?R2gaM?Na_6a$iv(sXnwMc8QdV*r-@djIT-8)oN$1Ayb6v=ewJ=UaA$-5pI z*9=C_$vv+NY)G9n+yHNWCw(^k+=^=c2(%7QWaPGjoSWps-b*xUwvBo0Dlm-~#G$q4 zYKb=sIZ{IW)b&z5(Xyzu8&(k=It#I% z(wUhNxQSAfl=bxzhYOvQ)**DB1B@P4UO6ilRz}N@{nx8vYoysc9S$3Chz?~YkF-_w zgTx@q&U8z$TTP`o_bo+A)n5}mQ&jcTVCg3dk>#9Hq1w}1yaxriYYb!7+T$12*ulr_MBo(!lyCM( zUWdHWB029Ty_V=-%XME*eBWnkak)LO3)?*J=cCWx65rnMcdLZFKL4Gp@^$pOt?hUJ z683BR`zACmSJ(Ic_SesUw3F2+weQ>I=Um?RtH*`oI$dw4>!h^puiY)mS>4{3w~veI zsB7M@vgO{tHQ&GfGukf!zS*DUAJ*?DDF_Jf|2H+~f5F^aG_Rd-#~nUvdkrP^+|%gB zPhWYSD6_{F{y-jc5xh725bKT~Rq1SGiZq zbTJ`}h@mWFlkO+6>o&Y;!`en|U0pO+{Snvi8}H|(`)j{C zrw>;jGv1$m%xcS8PHtTTWanDDctgW2?rlE$eZ;>++Xxmm2Db-zOM%TQ}3J8RpT!UdO9}tAius z37sFe#s2HL=@+}#qowO#+1Q^`ueA4j9~URZIoWx;S7OXu?@h0#2N&iHRjkjr1U;*B zP*k0zVrti&??BZmyJUC2&6Lg_4V~KUx}OG{OJQAyVJWZnpUX=}u%a1ROGo!_sa{@i zKekV~^Zw>7uOF)Bedbs|ZzhDz=3auG>34g1*$3LOtzYNz1mE^|gfi424@2|i=Cu@Q zWStHV>pi*JeZC8EU-yb|Uw`6u8-CqmyFJ~^O_^ODOlfD&962%b*qyomFo{=p*9=GhV@)?A~0GSP< zomy@?qTHu(tQh*#;bZPepp+uVp%%It`(PJe^5mb9xLk5(|E-uHT8ougCid&l9v{6a zUzmm8a>=H8Hx&&YaZ*{LdZpGLr!q%b7BnwVY3K!P@Ck;L08Pb2996d`BiWWb!tUay zy^f}OzS1LY7UDjnEkkvtnSC$ncDE6=mk`AdL0DcOUEosPlTmP2xwP$!;%q#n#2n$@ ziqv?tqd#6B{kSD;>CsW@Wt)&&aX&C;6nbIZ_6HKhY5AMJU+zEUGG0H}@blhVV*h;#vNmkt?Ghlsju& zII2g$A30@{(a*}VKECW#b@vBH&9^UA)6^^3bQboqZR8!qYJ3;-YzH_HzlC+hBrjr4 zdft9hw4<^?mBq$1v}&`QXHelk(VLNE+hG&Ou}FvSY=GS_bJT(wyhYk$dPmCV zC{tXtl>KxP!s#=%#ybM=mj%Z}s&i3P>mXA~)1p{YI6FdK-N&mi!Z^bIJ>_ZR=$PZq zTmPe7%JWCN&zmGEY08E%nOC^SO<3nB9KoGXV7IzdY3~7ko%&B;W$bR6GC{nF>qs}p zA(im>04a(GJ_G?63*?M2-H^K_EC-Y**G~8>$$5D2NQBRT`yz4=q5|eU?>?9LSvkrl8&;45jJg*lX9$g6oVaUXs5_;l;M&$Ld1^tl8evx)y$Xc%!1q_6=Kg&zIW zlB64G%8z0ju;5zYF@v)c1%I{@qk1k3{ZhIjO{_~7!+`lAY=9jw@$9TXGs`G0at0QD z(un(Vl+1u7?@Z2g76im%39Q-@J4E$|GJx-&k6%d$i8CpvAM!flYb*A|A8j1*AQF>@ zs0S^Z4PN!MRiiy~6QoeEyN=$u#)Q0B=gK68Bn!ViNA=xlR zI4ftO;@|CI1Z6>0j5b2;NZ>d4i&v#PWEMbnq_X56nz5pc1(Dx;9}QX$eTd=7o&kOI zz+L~BK3#Pv&A3tN$BtWVZ`oC`pfZaK?2vQ_v?X+hVG1hwejKjL5d$nY5o+rlmU45Yn~kn*sF zAhi$993+L4ESUV*?mNj|vH=`JmHF}EjRSPKWwCV?=FUu;2?{Fc!SAWyGS-TXrKQPU zNlfk3^TH1v!HC{SCNLw9cgZP5fmBq-!BdhuN4j}w6_eGr0FFR3#(Bu>R4Rxd>V601 z#uOq>j%_d!f>-wK%ZVhekGJEfq}SKgK>{%o9*25ADNm48XJ#?+v$LWngNU2%4n*%J|y#;%cx2qji2M-{`K2W($Pc;c8XWhun(Ko`7I{khu& zn_T3D>RL1_y)=5zYi4i~msk-S6)@V)Xb|72^Zu5xD7;3xK@vsDO(w8rDrHb+6aWtL zOE?tN=|3}S5YI^iIahoL>GOUI)!KY#WlKsQE0iq+DAESzo53I~<0Q1rHiaBwR0y@e zPAL!uC7+EU_!cLJZt8Y($cGV?- zP1RI9z3E{nQS4`Ro`>w8{)hWwktufTu0I8tVyS)cu9pg?{ZKKNmvIWG{Mrnd;fT3S zP5xz`8W8b~QqdDF5^$(agu9V*hGFyR4O4WIp{|Czppg3XB!&KhMb4dnv26s(gmXje zMbaZ`oDyjpv~dCQnDdpU{`RT#mpTAj08$M21*gOOoMtH0s-~_z_XlH{ojN)Gyj=S} z9q)>Qs+_#{n{s4Pluo&wEQdCYqD*Dy7HKrNBs&Z$nG_V6w=9kV2}$G}jODfam^@3M zd6$w+`~<*DI@&Psdd{S4Xb>yjNEBBSLaw=?9-_wogtPPaYR&gi@+BLvPp+@iV>(9P zNx#Wf*q?N@G)&SwDp@(c5mJ!l1!fca5L4T~CmOAaJpkRZI^KH8#a0GQ=lT@uw|n&N z9r7ToM`1y?n6Eksaa=_ySPe!koe%^$2`f5fb8S&R1k7ZBQW!nKoJ)PB*5yJB!Bl+GE$>;y>_(HB5h~ew(5B_909Z0(JuAfm5imi}fRuC+ zWnq;9zb@Zc0=GWaRYnpSXBVu0KD>aS0_W7L-uFy;BoEp8&48LrjJSfbNAdknxL|DK zhRqCFkKo3VQMv^A6I)sAId%jZigpIsisWRo3|+UltR{{`<4rm=Tce0^8in!0iX7P@ zKnr7)DZ%{5zyDY(F)Yi#n2_#xqhmml@I{os0P{kImdHSJp%*YUkekxnSFj!EgQ|o^ z!tysQ{!M~Z4u2PJ_cfwEi=P2pc6Ex#p{0wzCR1E%)rqlKq9;jH=D4i<5)xFZ=w#fU zn~%r$b*$;^>YzZ(uv`ccAdWd!urU-Q;HoC>+F?G7sho zhD@EPg4fT98O!iK`G17o%A(nijJux14w( zlLUPhs7}~1xuLA;Gb;!us#pl-pU5v9nC4r!#~Bms*WxcnQ$l0?PKM7$3fHxSTBrfc zdyEb`UUA}o=L3!2qJA@04P;W_uL9r4D!mimXux31=?<;f z;!2UpV9buI=#8D+XLe%g!n#Hpu8F@aVncWbu7Glk7ikUc5u_oabs@LsgxQA^Zdm+* zkW@aZeAaY8_90Uz3QFo!>+iY?7rDmAwO7@=_&0`_2tuMjoJBB7)P%Kj;s&Vem(e_n zw!Dq`D)TGyd(remSHSUC{tCk=4~?xr3_o^4oO^x<9DIZ1nQ<#ewl63Tw4CLuy8d_> z4gEU1IQ&?VuA5zt?xoLISgpzjf_j~*J z4_wYDH@B7s}gfYl5Hi7SQM)6McbSYg^ zLG2GUlPtcmGkV`QNZe0*=PwZr@cA_0oc;!K;X&a<-0twixw;I&lGkCvNbUNt@2x|w zB$fb9}0JzdPf+r=!+{Ia4=#acCah;6h+2!NfFD3V21t2{N=WGN(q@2oY-z zFDPsuK1|#VEn<3<;B9}8iS5mN=8fl=jYBIbgia*r{;ZO^dZH4j-L>IvrsyyQ&n1Dn z=q2@s<-&_&$v~NTF^Qjy_bG`}fUi;{1@xYhU|Y`PmE#x{k52_hXU69Kdd5)mlbq`s zW2;6J`qU7MGhQiDkpcUxfhMcnpak_}3b!m$LKCN7TnXbh%Bp#%;I@&oG@au)H)S$4 zFEt~wFr&6CUA|(>r!!+sQcg5&lqMRu(`&$V{m9tvCDo`*UCJqe<`Pc;WGG6YdKwcFFZ| z^ZSFD@4I1Q-t)e0_Pfome83NQxBZ{{F-c-H^?1-AAOJ!T5cdCiKjuGNB*q5L2J|NG z&W;8^OQ+!s8>c;XRR7*%HRoIE4CWCwVhF|ietky+JJeRNtkoXnGf90E7BlNQdO^pE zk7t{4w$@QbihwE;itdw=cLg^oOO2SH^52SKRG3-!Oz zTYyf$9WnJdTD&*m93WQXd)kP?J{)(038vsgK$spv->iL1p7-aY_IV`5ifP_5O87U( za_~=I;@KF&m*blD-o2RHO+H+w*+T;(LBF(Z>j8-z-h2OYKEYL)-x;m=fpnqq(8;qH zKN+;*{ioOw1a}B-AR*Dg1OWhQ%fdF_aJ9%k&mU?2JV185S=qih=bl)*V+H|#_wbbw zgdYEo#Oc$FZd`FsquC0Sr`G^QP-)E!vu zsKF0K^Z~(i=CDE&)5YTxuXGQoZG)j41$E}%@sWm%mFRb3bVFH=ftN5(H@C~&>!<*^ z_S=@7jcYcX^G8i`RE@{L(NHv21l;Y=&;Dt5d9jP)1-n|IL1eJE<48#MqfHcyZkXwb{^sT_7=BHWCmjaIJuU2?g8R{hD-LalrL@Bmy2iXn6~Ii;{E9YN9)BFY1*oSGH$q-(nPN7QKk{5|#WqeejTcvWkpURDON5moGO4 z50G{*$0WP0>Xl@9I6%{XGo7IYNwchpQK3WNF;)R}$5hL3ZEKAu7$0pA>*y5dDm_)} zmTBU8Vd3#_I-%is(tluc8gWwKdOZ|HE*R`~B&5ff2_57Ii|so;Nl&o&nwK7q4vT_v z(P!;=B*Uk3q9Nk3SNos@(Zdcp_H!)j;?0&beW3a}zpytx$nYA1Nj!TwK=H8X{{G&Q z5P^hnSGIz>v-0|+V$zX@amc3t$OpbOYs(lGoj0|%uL?X1CV zj%=ga{ri^MkG0Lghc{ZW`pB%FjyZ{9cNJTXf>2zsb;^Bm%9zH{h+{#@m8mLiI`t`R z3?gP}J*99pDv_cAKR7)d3cb|5{_E!<;Y`M&Dusomh0iHw0@A5QJd2iER_KbU(nV^m z$s4*v(FY9AtivE5Rkbe;t!hluvw?}G{0`5oGwqG$XN-xD@Mh*^8=6F6kpVZ=zyj{3 z!fI+e?nw>RqMVW^9hb}`syW@#{vVS16xJK)jI3*hU$p5lIT=|dQ{Xm6##fLVM(%V- zn2Qd)xpzfg%#8EDiV6+}+qNYnMWCvFIo-}(lS@5%AF>C%2xGZ=)EA1_^H^QbjSG8L@H@kLD5TGjCn296Y zbL(_O+jMuTIM$zLo624}0MV`y#_Qa_H|%O?CE}c-CBT%8H;RKTG*K=uGqy|8-Ime` zr8Jn28w6by_3bS9Rxvx8pk_*`-ZNJ!*&N1wH!My$(4;mN2UZs*a-n{IK(YC0 zqHIacA~iE9L*D}9j5%wzW}^nb<2at-i(4j{Ll7Vzx={+=S6s#WNebF=j>7MG;-x;@>k#9+5O4o0Xqs~;`7K} zRy)dIXD`VAsJQ=%>;K{WqWiB`-2V`A{ZG@^|1A>p|6?QxX9H^sqyJ4E=6{`7UinWO zCjHO7#QFah@PB#3RCJuy*^s@T>)LOll2kDwXrXW{O`lKUx}@Z`I&?rG2&t9gIC)>{5*D|HBKp>l|y zsFNJG*sMIG6~wyy(oCpzZq0M8u)NVV+Q=GUX3Dj^*46SZ+vbx<^@R*_IFT6(t%M^R zce_J#-tSfNr5b6IYnza>v)9gS+{|BkGFnAcni;MZT-)o2)H7hS z1Hc+uo%DA(i_e_+`T6;zg101nWk2Y;r=OJjd*1T!1Je)t<7j6{*NaNH+Fo}Nz6HIp z-JvxV+6%UNbK?P3a`_0GX;NJ)^xmWZTGt~py>0l=eS`Fq4OasOv);?!A|<6>0)%nh zQoJL$1kZaij;mb0Dz2?K1)Xm%N_M>yhP_iCp6Z<|>_G!&K|<1JjM`tg_h%raU~zMO z*{qXYPFkuAvofo`r~i11{5oJRka<4Xi_F~ZGpf*71kf}DUbVDJS*_aL8p|nKVIz1X zZsSfEOw2PGt_Hp7r>-8$boO-iAkfa}^I7BTw;VEIYWoamc2Hn6U4RD@0`pXv$7D^c7KY0FGU zqzR6DiHBfj4p$ryx}lxOnrLg`W8oGGfE%V^WOBxF6eB~hdsHKWV?o0y_LqRDBtgJM z-0IjqGo9H#D9<<`MUzdncDKY(~Ua`F#p5Akf~qc(rK&_xm0 z=|(&?z(D&?QA}MTKbGfVVyjr8c)|W2b-~#7QCLLJLsFRHArUrIZHWGk0o@QUlm+13 zCYGUNjo|)`cC>fWoN_pHK=N2fpe`(A{wtG&pp$a6DOr3{5jG4wl?t&UmMH0fJ57j% zAr_p66e9C288oKFB?3rO3HB5Pz;}ih zPI&MS2Jp4a_Z^i#zZ0$4DXi~Ypdypx#Qb_co(S-Esy6jl$O%llQ(~BBeLq4U^zNP3 zzq~(+es+B4eu4kz>(C>lU03D5>rfFA2*^LT%YRkK_}`QB|4ga>H|?C-ziin4!{@oK z?`3#ZH5q^m(tnvmN86yOMX=WF*2cw!uUTqiYa@|T?!xphALcppbpL^)q za=Ny8|Fx*mWuCfzBzu|aHZAJ1!mYau2md+2zsZti)1^tnEWN~K%YKoD*!v!J^3uFk zar~B~S=-exOi)->+y%PIrn<#*!wx@g^I zx$t4NY^#5NNvTo?YNfCZcA@lHsEVt?XN^6-QA zy6n@xPCyp@?G2t@m3C(DU1F*hcINKQ+JzIIN@%)tI_y&7i>0RN=GDD6$it4>GhWO~*3-bo0_fHKghM2sWwi5rNqRMgkb*pP(iihZ<%(kUk!GJc3~(@1%V&9# z_O{FHDIn$Y@%3ye-`Bi4>4+wlm7_!10(cHmEDOM;_COyFGK;Cc%Ata|gIX*_Jw~Qg z8t*TU^%Da}v6*3s1OKT%HKuC)-l;3+0tYI;=LhyjkpvdcQK2fh(LQU&sTouD1XFfl zLTVXa-OPk;-)7@Me@g@V6@3mkEP_7fPJQ1g2r673LS~VqV`JU0=nJFf2b%ekS7+@*Y_ksB9Ov9k%VhJFxoPwg$c&? zPs{*|rw7|)^2KYhR~{p-GAa*7ouBC;8uHTdz_PhVU1UH=H-p2fWn42Z>bY9#AM>DoDf@5}m7&Ppr@u;Ao5NQt7G)R%zd*3$4~qmRH}$5O^f zpeHJiB{r$J!kyv!oxSyO<^7$>uoj`A!Fv;GIvUZoA0MgI)J|0^JE*&lY3|aJV0fI`)6web9{dw??oPqtEqp_+4Z+Z9e^lT ze%nuo;QPyOlspFY(_k+wJ+s~tbo?)!av-(^d0`MLOFFs^H!Z(9^LJAO5swuVCi_=g zcdQ|>i7+Jr8z7Eu5p|>Lpg6n?9X>Ai{jj$m6bnK%7TFtB=tU!!dT*vlW+}j}twJkT zV+VmL7~>SuAhPNN=Fo;>GOm%3O`@t8g|IW?_OY|5EI(8JM(Et(f-sQvuQ?DnmSE~q020)!c*Tq<@YQk}fehdd$e0Wx7{QZOX)62?O{uwd|hbUl&Wz0dM;Eu%7 zW(an0LiR_k1LYtFYugu`B^1NaK`aEd>p;f@wujHtWSjIYa_M;OVtF^SYyA8FP#5f4aA9dfsJZ`fk{q)feHWLs)7II zcf0J;ZP3$n%6{MKDJTF?XE$)Q9r-f8!;#PG$HAN6fMBIvxD|wLT)6(}f#n13XcS(0 z_~j|tT+mG;>0^wNEl8T)P2>({e?SNgv0 zy$fxAo!#wC90PoxKUzw!d)_YZ?G>5!r%<{*pG@h`0apr&x&H5)k+nU%htDnZfSXW2 zjsM#r;7ihXSjhMD^Hg!>>-1r9nMrZm|CwL#V9336yX$5De*WJ7-!m) z%GC3ULgaIEEcE^QY2JSD-1GJHO!P5p|9KTOQ5Z|;cXzPstM_ynEBJjDJJa)i^>BIr zefJq@zn}B{m8&q*9X|1Px4Jzt^mV(Ms|fJ-_Ii4^&mHOM`pB60x^H1JPWAV9f4e&0 z?)tcIu+Ker_Iuy!NZsy!dA|m9H`%vDMrHcnBY~V}x_LkE`V!|0se1T*Uv|a{sodX^ zdOTgSgg!sGKc|9b1if#@Zcla-=Sy?51>YVLV~Kvn3VxCse4ah*B=+!qJ{BqpcJm3u z>PIqpeZ_A3Ob85ybQ?Wi-LG!fwAbZ8=u-tW0k*L(ZtYaf#z2)U-?yFC-ycX!?IZu_}--n@XnyLx@>H1u?T zDn|(6myfJZa9*i=XqtUk(yY_?`7$toa%AjFLCIuaw+karjV+%l&0ZD7dd{6(_WMcB zA1#a4)0at4ctX})CEAY}99!-OokQD~l2^CdzCA~1=Y-$Qu`e;647xtg&ABfh@y&(g zH6-19HGhh{7~0-4e4+vTF_nT%F7lRqQ%*7zU+Z`A!+tV6`fZI`iabN-)xX*XM-J&^ zZ5>74X;R6W{MKs9C+D&4V^E}kLXT4doqk`ZxBI^)K|zkM?$4$d?hK0^>~H#X_g7t6 zXXVG26-~oONz+HaJg+uxnu@A^GNo_F7B0A)74u*6d@=ahIS=;?sW-l4dH}LtN2{}} zawN?lpIRpbmOy~{9Id7?)9KcCzY1NO2n|Bv$R1hAn%ieGLG$6`CC90EKdW29YBqpV zXYEw$(Mu=i9?A4%&&WUpXn5eLT_PMPu>gnvT=tOJs9I`WjYHhD$=2su=iGcK zKP`}jA6U}sNX1(sxz=5@Cvl?mFT*u)5;P`3|DQlTyY*O%*P<&(!75andKMd=+ z!xF6@d(Pf6*+b+UIYanpN%YFfr!%TYUD+Co`TX-azbVUm<`~VGMO0+)eE#HO#Lc0)JXvf1xtNITpQg5! zOu@a%aWnhzBzpO9q+rC)es8`!0g01{EMrq~B#nh%(@-doqc3u1 z|9wx{4-QotBvUjZ{nJG`7_ls+PTdf!bn9LvWfS{6Vtc1$zF~G@7o%H#+ipWLImhA% zr?anQTlKi6yMYa3zppXUG&FMGKK%5c!gNw&(C|?Hpf$vMUAiWA9g<-7K8_nU2qGNA ziDl_(!cN~oXVq-(kDwp&ceEfElb@*`PEAoN;&`eKWwqB8u-Z)@!oiedmBCNc6Rj!% zjFevs7&!0VZh(BMLpXN5b-nPnKZo`SX+xvM=Ib399TpKJzcoE=O=?(-8Pr*#|oIbhi@!Eop8U34>#+j+81& z#+ljh6h26N@^=52aDEUR}Du)dEADSbR2Q3b(t zFvDT&j^@E>coYaMcMnON$gF7sy=(w`&{0?f!~Ueb5w4LG*b-Z(Xz)B)eKRRg}glnzOxkh@=B)8 z%%4VF9|qfzRHy%p1`f!_wsv!mf#6`eMQd)`LZ)su4-5{Bu{N4azft1?b%$L`TWg~+ z)?9mTbGVW8{nz6^9JYWTJwAvVt*Gp^78}!Ehe@X#-L@7H0lB!(0!48B*KsHTR0fC0 z$WSt0BVTLZColM*P>mz@7F5(HzTlUB?|z8E-M^nIpcErOvRlsdba$Ioa{ zz^v^-uVgQk_gBxu#fxdw^6kWq=P9cgP5y0LQ`HFqj-dGv1681i-b>a&KM{e{5Y4T9 z>lH;mw4Qr*0C%w-fVpcZ}woJ~)=6x77kx31HDd)IPD(S?CQMB^;0 z{W)%xu^GBK3?&?W+a=(-Ir`!Abh3P$yAkjS9g^k7sh`74g~vbOu?OK$rFy`yf6s;A0}S{0W?F` zVok>$!yp45A1|aISVx*SKVTe2a?>>0eue-33~sl$P~Lz%%Xfc;;dW>%xZ3Xqs#rdJ+CWZ6Sz*{LTPoR;+9XSi3-2b-Ty8sGZ7OJWlknnNtB0S zlwq6=^$RBF71kM_F(?p?XKokgHp@5}hRB*f@rYQ8%3_==0>kYwA{LVsN;F_qUUxKX zVQ1(|7p}!v2b&?&e#j|xCbtu7)E75lbFDS8+ArUt%B2^bK5`NUF(t{5UqqNxG`1F(+z`?!^x&B%9R$?Ci4@9R zwUl8ZG{2EV{@V^WRIlToZa=+$aHIQ=0PErGuQp$=`ww3azHa}uG5)4Uf-ww}44Xrb zcJBF}SEAmj8DY)%lpk55LB$LcSs0g&9m3`7uFpZTclD}eykyOWxCV)ULU_=+qrB)l z>`TDN?bj{Q9>#KNmnW#_?Zb&jfJg9i>QaWN2Kb3zj3N|a{;QPI&X;UWJ+8As-*R`$ zba(5vYZtC3+;@V!P8@MS^S26G+OQo-5vM)WsG^}Cr|zJrW3>9&xKNJ)VSV3^awT| zvsj_AWiqv4YD!_W#-q5;Z5kJKL*OIt7#YEM=^&S(-5<%Zl}YBt-dJ44p=9CR;m;<8 z9Y;fQhznzKAXv_`y-uz0g}#>Ehc~rR0*kzKrqb46mZ|0kK9JO|_#~mo$R$K*>s(Q& z4VsX`vQk=L)2-c2$!T&u$L0?1+?2K6pk=|eq+d->`7{mY-}9fKvKCb zFs3$DVHl%1CgGo5%XDKQ3SdhsYHFVk=ZvbS%Znxa8;L8L^=workMKQIghddHa(8VK zRii)9&#h-3XnEjmM48c!xowBKm#2#PoQ& zs@!?`@SMNKKUkfR^S3dWWF)H*EagI}5I{kA@OKb`xA2qOdM`I~K{4|4ILI3#RtN2% z6qNy7dsobeFI8%K<76Tn^7iP_PKxnD>F~VN-|S^m>qLy&YIT@>NK&92vNa=A`)Ll* z_ma@MsBdD9iBJ$wd9~8@np274p1NG& zp@&(G`;F|3P9I>eo-Yj1>agB6!!Qk1!_xwO28oDETNJvqlg}>vXNmPQ!@JBPV1

    W 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%0DTE9DAJ%EgL|v^?U}DoV-q}VtCmKN0JZV2 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%0AW($tRu{t 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 z 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